From 8481317689d06e47b82e3e9dac8b8ab873ef5109 Mon Sep 17 00:00:00 2001 From: Jon Galloway Date: Fri, 4 Jan 2019 13:22:34 -0800 Subject: [PATCH 001/211] Initial commit --- .gitignore | 330 +++++++++++++++++++++++++++++++++++++++++++++++++++++ LICENSE | 21 ++++ 2 files changed, 351 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..3e759b75bf --- /dev/null +++ b/.gitignore @@ -0,0 +1,330 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ +**/Properties/launchSettings.json + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000..02a0812baf --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 .NET Foundation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From 7ba62c4cbb9b2355a1a09fec3e86e12fabaeb472 Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin Date: Mon, 14 Jan 2019 22:38:18 -0800 Subject: [PATCH 002/211] ci test build --- .editorconfig | 5 + .gitattributes | 8 + .vsts-dotnet-ci.yml | 0 BuildToolsVersion.txt | 1 + CONTRIBUTING.md | 31 +++ Directory.Build.props | 126 ++++++++++++ Directory.Build.targets | 37 ++++ DotnetCLIVersion.netcoreapp.latest.txt | 1 + DotnetCLIVersion.txt | 1 + Test.sln | 25 +++ build.cmd | 2 + build.proj | 107 ++++++++++ build.sh | 13 ++ build/AfterCommonTargets.targets | 13 ++ build/BranchInfo.props | 8 + build/Dependencies.props | 45 +++++ build/Empty.targets | 29 +++ build/ExternalBenchmarkDataFiles.props | 9 + build/ci/phase-template.yml | 70 +++++++ build/publish.proj | 69 +++++++ build/sign.proj | 52 +++++ build/vsts-ci.yml | 262 +++++++++++++++++++++++++ config.json | 208 ++++++++++++++++++++ dir.traversal.targets | 73 +++++++ init-tools.cmd | 104 ++++++++++ init-tools.msbuild | 13 ++ init-tools.sh | 180 +++++++++++++++++ run.cmd | 28 +++ run.sh | 18 ++ src/Test/Test.sln | 25 +++ src/Test/Test/Program.cs | 12 ++ src/Test/Test/Test.csproj | 8 + 32 files changed, 1583 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .vsts-dotnet-ci.yml create mode 100644 BuildToolsVersion.txt create mode 100644 CONTRIBUTING.md create mode 100644 Directory.Build.props create mode 100644 Directory.Build.targets create mode 100644 DotnetCLIVersion.netcoreapp.latest.txt create mode 100644 DotnetCLIVersion.txt create mode 100644 Test.sln create mode 100644 build.cmd create mode 100644 build.proj create mode 100644 build.sh create mode 100644 build/AfterCommonTargets.targets create mode 100644 build/BranchInfo.props create mode 100644 build/Dependencies.props create mode 100644 build/Empty.targets create mode 100644 build/ExternalBenchmarkDataFiles.props create mode 100644 build/ci/phase-template.yml create mode 100644 build/publish.proj create mode 100644 build/sign.proj create mode 100644 build/vsts-ci.yml create mode 100644 config.json create mode 100644 dir.traversal.targets create mode 100644 init-tools.cmd create mode 100644 init-tools.msbuild create mode 100644 init-tools.sh create mode 100644 run.cmd create mode 100644 run.sh create mode 100644 src/Test/Test.sln create mode 100644 src/Test/Test/Program.cs create mode 100644 src/Test/Test/Test.csproj diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..509e5fce93 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,5 @@ +root = true + +[*.cs] +# Sort using directives with System.* appearing first +dotnet_sort_system_directives_first = true \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..3f6144b9c2 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,8 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +# Force bash scripts to always use lf line endings so that if a repo is accessed +# in Unix via a file share from Windows, the scripts will work. +*.sh text eol=lf diff --git a/.vsts-dotnet-ci.yml b/.vsts-dotnet-ci.yml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/BuildToolsVersion.txt b/BuildToolsVersion.txt new file mode 100644 index 0000000000..6e68c58378 --- /dev/null +++ b/BuildToolsVersion.txt @@ -0,0 +1 @@ +3.0.0-preview1-03129-01 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..321ad3dcf0 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,31 @@ +# Welcome! + +If you are here, it means you are interested in helping us out. A hearty welcome and thank you! There are many ways you can contribute to the ML.NET project: + +* Offer PR's to fix bugs or implement new features. +* Give us feedback and bug reports regarding the software or the documentation. +* Improve our examples, tutorials, and documentation. + +## Getting started: + +Please join the community on Gitter [![Join the chat at https://gitter.im/dotnet/mlnet](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dotnet/mlnet?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge). Also please make sure to take a look at the project [roadmap](ROADMAP.md). + +### Pull requests + +If you are new to GitHub [here](https://help.github.com/categories/collaborating-with-issues-and-pull-requests/) is a detailed help source on getting involved with development on GitHub. + +As a first time contributor, you will be invited to sign the Contributor License Agreement (CLA). Please follow the instructions of the dotnet foundation bot reviewer on your PR to sign the agreement indicating that you have appropriate rights to your contribution. + +Your pull request needs to reference a filed issue. Please fill in the template that is populated for the pull request. Only pull requests addressing small typos can have no issues associated with them. + +An ML.NET team member will be assigned to your pull request once the continuous integration checks have passed successfully. + +All commits in a pull request will be squashed to a single commit with the original creator as author. + +# Contributing + +See [Contributing](docs/project-docs/contributing.md) for information about coding styles, source structure, making pull requests, and more. + +# Developers + +See the [Developer Guide](docs/project-docs/developer-guide.md) for details about developing in this repo. diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000000..b500e4bf3e --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,126 @@ + + + + + + + + Debug + Debug;Release;Debug-Intrinsics;Release-Intrinsics;Debug-netfx;Release-netfx + AnyCPU + x64 + $(TargetArchitecture) + $(Platform).$(Configuration) + + + + + https://api.nuget.org/v3/index.json; + https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json; + https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; + + + + + + $(MSBuildThisFileDirectory) + $(RepoRoot)src/ + $(RepoRoot)pkg/ + + + $(RepoRoot)bin/ + $(BinDir) + $(BinDir)obj/ + $(ObjDir) + + $(RootIntermediateOutputPath)$(PlatformConfig)\ + $(IntermediateOutputRootPath)$(MSBuildProjectName)\ + $(IntermediateOutputPath) + + $(BaseOutputPath)$(PlatformConfig)\$(MSBuildProjectName)\ + + $(ObjDir)/packages/ + + $(BinDir)packages_noship/ + $(BinDir)packages/ + + $(BaseOutputPath)$(NativeTargetArchitecture).$(Configuration)\Native\ + + + $(DotNetRestorePackagesPath) + $(RepoRoot)packages/ + $(PackagesDir) + $(RepoRoot)Tools/ + + + + + + + $(MajorVersion).$(MinorVersion).$(PatchVersion) + $(MajorVersion).$(MinorVersion).$(BuildNumberMajor).$(BuildNumberMinor) + + false + true + + + $(PreReleaseLabel) + $(VersionSuffix)-$(BuildNumberMajor)-$(BuildNumberMinor) + + + + + true + machinelearning + + + + + https://github.com/dotnet/$(GitHubRepositoryName) + true + $(LatestCommit) + + + + + + + latest + true + + + + true + + + + + $(ToolsDir)Open.snk + true + true + + + + $(Configuration.EndsWith('-Intrinsics')) + + + + + + true + $(DefineContants);DEBUG + false + + + true + + + + $(RepoRoot)build\AfterCommonTargets.targets + + diff --git a/Directory.Build.targets b/Directory.Build.targets new file mode 100644 index 0000000000..5e6446add9 --- /dev/null +++ b/Directory.Build.targets @@ -0,0 +1,37 @@ + + + + + + + + + + lib + .dll + .so + .dylib + + + + + $(NativeOutputPath)$(LibPrefix)%(NativeAssemblyReference.Identity)$(LibExtension) + + + + + + + + + + + \ No newline at end of file diff --git a/DotnetCLIVersion.netcoreapp.latest.txt b/DotnetCLIVersion.netcoreapp.latest.txt new file mode 100644 index 0000000000..b029377fb6 --- /dev/null +++ b/DotnetCLIVersion.netcoreapp.latest.txt @@ -0,0 +1 @@ +3.0.100-preview-009812 \ No newline at end of file diff --git a/DotnetCLIVersion.txt b/DotnetCLIVersion.txt new file mode 100644 index 0000000000..6f1c03c6a3 --- /dev/null +++ b/DotnetCLIVersion.txt @@ -0,0 +1 @@ +2.1.401 \ No newline at end of file diff --git a/Test.sln b/Test.sln new file mode 100644 index 0000000000..28ec25437f --- /dev/null +++ b/Test.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.168 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "src\Test\Test\Test.csproj", "{863DAAAA-988D-41A8-A006-6A55F10BE46C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B3ECCDB0-E11A-4EF4-9911-C0D1E9544E0C} + EndGlobalSection +EndGlobal diff --git a/build.cmd b/build.cmd new file mode 100644 index 0000000000..3ebcae496c --- /dev/null +++ b/build.cmd @@ -0,0 +1,2 @@ +@call "%~dp0run.cmd" build %* +@exit /b %ERRORLEVEL% \ No newline at end of file diff --git a/build.proj b/build.proj new file mode 100644 index 0000000000..c7fbdf756e --- /dev/null +++ b/build.proj @@ -0,0 +1,107 @@ + + + + + true + + + + + + + + + + true + + + + + $(RepoRoot) + + + + + + + + + + + + + CreateOrUpdateCurrentVersionFile; + RestoreProjects; + + + $(TraversalBuildDependsOn); + DownloadExternalTestFiles; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://aka.ms/mlnet-resources/benchmarks/%(Identity) + $(MSBuildThisFileDirectory)/test/data/external/%(Identity) + + + + + + + + + + + + + + + + + + + + + + diff --git a/build.sh b/build.sh new file mode 100644 index 0000000000..dc1acca8df --- /dev/null +++ b/build.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -e + +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +"$DIR/run.sh" build "$@" diff --git a/build/AfterCommonTargets.targets b/build/AfterCommonTargets.targets new file mode 100644 index 0000000000..cba4c80b5c --- /dev/null +++ b/build/AfterCommonTargets.targets @@ -0,0 +1,13 @@ + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + \ No newline at end of file diff --git a/build/BranchInfo.props b/build/BranchInfo.props new file mode 100644 index 0000000000..737b2ab02a --- /dev/null +++ b/build/BranchInfo.props @@ -0,0 +1,8 @@ + + + 0 + 10 + 0 + preview + + diff --git a/build/Dependencies.props b/build/Dependencies.props new file mode 100644 index 0000000000..d10339d749 --- /dev/null +++ b/build/Dependencies.props @@ -0,0 +1,45 @@ + + + + + 10.0.3 + 4.4.0 + 1.5.0 + 4.5.1 + 4.3.0 + 4.8.0 + 4.5.0 + + + + + 3.5.1 + 2.2.1.1 + 0.1.5 + 0.0.0.7 + 2.1.3 + 4.5.0 + 4.5.0 + 4.5.0 + 1.10.0 + + + + + 2.9.0 + 4.5.0 + 1.2.0 + + + + + 1.0.0-beta-62824-02 + + + + + 0.11.3 + 0.0.3-test + + + diff --git a/build/Empty.targets b/build/Empty.targets new file mode 100644 index 0000000000..72abf9cd60 --- /dev/null +++ b/build/Empty.targets @@ -0,0 +1,29 @@ + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + ignore.targets + + + + + + + + + + + + \ No newline at end of file diff --git a/build/ExternalBenchmarkDataFiles.props b/build/ExternalBenchmarkDataFiles.props new file mode 100644 index 0000000000..42df4ccd96 --- /dev/null +++ b/build/ExternalBenchmarkDataFiles.props @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/build/ci/phase-template.yml b/build/ci/phase-template.yml new file mode 100644 index 0000000000..53a26d3314 --- /dev/null +++ b/build/ci/phase-template.yml @@ -0,0 +1,70 @@ +parameters: + name: '' + architecture: x64 + buildScript: '' + queue: {} + customMatrixes: '' + +phases: + - phase: ${{ parameters.name }} + variables: + _buildScript: ${{ parameters.buildScript }} + _phaseName: ${{ parameters.name }} + _arch: ${{ parameters.architecture }} + queue: + timeoutInMinutes: 45 + parallel: 99 + matrix: + ${{ if eq(parameters.customMatrixes, '') }}: + Build_Debug: + _configuration: Debug + _config_short: D + Build_Release: + _configuration: Release + _config_short: R + ${{ if ne(parameters.customMatrixes, '') }}: + ${{ insert }}: ${{ parameters.customMatrixes }} + ${{ insert }}: ${{ parameters.queue }} + steps: + - script: $(_buildScript) -$(_configuration) -buildArch=$(_arch) + displayName: Build + - ${{ if eq(parameters.name, 'MacOS') }}: + - script: brew update && brew install libomp mono-libgdiplus gettext && brew link gettext --force + displayName: Install runtime dependencies + - script: $(_buildScript) -$(_configuration) -runtests + displayName: Run Tests + - task: PublishTestResults@2 + displayName: Publish Test Results + condition: succeededOrFailed() + inputs: + testRunner: 'vSTest' + searchFolder: '$(System.DefaultWorkingDirectory)/bin' + testResultsFiles: '**/*.trx' + testRunTitle: Machinelearning_Tests_$(_phaseName)_$(_configuration)_$(Build.BuildNumber) + configuration: $(_configuration) + mergeTestResults: true + - task: CopyFiles@2 + displayName: Stage build logs + condition: not(succeeded()) + inputs: + sourceFolder: $(Build.SourcesDirectory) + contents: '?(msbuild.*|binclash.log|init-tools.log)' + targetFolder: $(Build.ArtifactStagingDirectory) + - task: CopyFiles@2 + displayName: Stage test output + condition: not(succeeded()) + inputs: + sourceFolder: $(Build.SourcesDirectory)/bin + contents: | + **/TestOutput/**/* + **/*.trx + targetFolder: $(Build.ArtifactStagingDirectory) + - task: PublishBuildArtifacts@1 + displayName: Publish build and test logs + condition: not(succeeded()) + inputs: + pathToPublish: $(Build.ArtifactStagingDirectory) + artifactName: ${{ parameters.name }} $(_config_short) + artifactType: container + - script: $(_buildScript) -buildPackages + displayName: Build Packages diff --git a/build/publish.proj b/build/publish.proj new file mode 100644 index 0000000000..065f5294cf --- /dev/null +++ b/build/publish.proj @@ -0,0 +1,69 @@ + + + + + + + Microsoft.SymbolUploader.Build.Task + true + 600 + + + + + + + + + + + + + + Pushing took too long + + + + + + + $(ToolsDir)dotnetcli/dotnet + $(DotnetToolCommand) nuget push --source $(NuGetFeedUrl) --api-key $(NuGetApiKey) --timeout $(NuGetPushTimeoutSeconds) + + + + + + + + + + + + + + + + 180 + true + + + + + + + + + + + diff --git a/build/sign.proj b/build/sign.proj new file mode 100644 index 0000000000..498ed7b433 --- /dev/null +++ b/build/sign.proj @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + $(PackageAssetsPath) + $(PackageOutputPath) + $(IntermediateOutputRootPath) + + + + + + + + + + + + + + + + + + + Microsoft + + + + + + + NuGet + + + + + + + + \ No newline at end of file diff --git a/build/vsts-ci.yml b/build/vsts-ci.yml new file mode 100644 index 0000000000..ab77d0ed4a --- /dev/null +++ b/build/vsts-ci.yml @@ -0,0 +1,262 @@ +################################################################################ +# ML.NET's official, signed build +################################################################################ + +resources: + containers: + - container: LinuxContainer + image: microsoft/dotnet-buildtools-prereqs:centos-7-b46d863-20180719033416 + +phases: +################################################################################ +- phase: Linux +################################################################################ + variables: + BuildConfig: Release + OfficialBuildId: $(BUILD.BUILDNUMBER) + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_MULTILEVEL_LOOKUP: 0 + queue: + name: DotNet-Build + demands: + - agent.os -equals linux + container: LinuxContainer + steps: + # Only build native assets to avoid conflicts. + - script: ./build.sh -buildNative -$(BuildConfig) -skipRIDAgnosticAssets + displayName: Build + + - task: PublishBuildArtifacts@1 + displayName: Publish Linux package assets + inputs: + pathToPublish: $(Build.SourcesDirectory)/bin/obj/packages + artifactName: PackageAssets + artifactType: container + +################################################################################ +- phase: MacOS +################################################################################ + variables: + BuildConfig: Release + OfficialBuildId: $(BUILD.BUILDNUMBER) + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_MULTILEVEL_LOOKUP: 0 + queue: + name: DotNetCore-Build + demands: + - agent.os -equals Darwin + steps: + # Only build native assets to avoid conflicts. + - script: ./build.sh -buildNative -$(BuildConfig) -skipRIDAgnosticAssets + displayName: Build + + - task: PublishBuildArtifacts@1 + displayName: Publish macOS package assets + inputs: + pathToPublish: $(Build.SourcesDirectory)/bin/obj/packages + artifactName: PackageAssets + artifactType: container + +################################################################################ +- phase: Windows_x86 +################################################################################ + variables: + BuildConfig: Release + OfficialBuildId: $(BUILD.BUILDNUMBER) + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_MULTILEVEL_LOOKUP: 0 + _SignType: real + _UseEsrpSigning: true + _TeamName: DotNetCore + queue: + name: DotNetCore-Build + demands: + - agent.os -equals Windows_NT + steps: + + - task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@1 + displayName: Install MicroBuild Signing Plugin + inputs: + signType: '$(_SignType)' + zipSources: false + esrpSigning: '$(_UseEsrpSigning)' + env: + TeamName: $(_TeamName) + continueOnError: false + condition: and(succeeded(), in(variables._SignType, 'real', 'test')) + + # Only build native assets to avoid conflicts. + - script: ./build.cmd -buildNative -$(BuildConfig) -buildArch=x86 -skipRIDAgnosticAssets + displayName: Build + + - task: MSBuild@1 + displayName: Sign Windows_x86 Binaries + inputs: + solution: build/sign.proj + msbuildArguments: /p:SignType=$(_SignType) + msbuildVersion: 15.0 + continueOnError: false + + - task: PublishBuildArtifacts@1 + displayName: Publish Windows_x86 package assets + inputs: + pathToPublish: $(Build.SourcesDirectory)/bin/obj/packages + artifactName: PackageAssets + artifactType: container + + # Terminate all dotnet build processes. + - script: $(Build.SourcesDirectory)/Tools/dotnetcli/dotnet.exe build-server shutdown + displayName: Dotnet Server Shutdown + +################################################################################ +- phase: Windows_x64 +################################################################################ + variables: + BuildConfig: Release + OfficialBuildId: $(BUILD.BUILDNUMBER) + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_MULTILEVEL_LOOKUP: 0 + _SignType: real + _UseEsrpSigning: true + _TeamName: DotNetCore + queue: + name: DotNetCore-Build + demands: + - agent.os -equals Windows_NT + steps: + + - task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@1 + displayName: Install MicroBuild Signing Plugin + inputs: + signType: '$(_SignType)' + zipSources: false + esrpSigning: '$(_UseEsrpSigning)' + env: + TeamName: $(_TeamName) + continueOnError: false + condition: and(succeeded(), in(variables._SignType, 'real', 'test')) + + # Build both native and managed assets. + - script: ./build.cmd -$(BuildConfig) + displayName: Build + + - task: MSBuild@1 + displayName: Sign Windows_x64 Binaries + inputs: + solution: build/sign.proj + msbuildArguments: /p:SignType=$(_SignType) + msbuildVersion: 15.0 + continueOnError: false + + - task: PublishBuildArtifacts@1 + displayName: Publish Windows_x64 package assets + inputs: + pathToPublish: $(Build.SourcesDirectory)/bin/obj/packages + artifactName: PackageAssets + artifactType: container + + # Terminate all dotnet build processes. + - script: $(Build.SourcesDirectory)/Tools/dotnetcli/dotnet.exe build-server shutdown + displayName: Dotnet Server Shutdown + +################################################################################ +- phase: Package +################################################################################ + dependsOn: + - Linux + - MacOS + - Windows_x86 + - Windows_x64 + variables: + BuildConfig: Release + OfficialBuildId: $(BUILD.BUILDNUMBER) + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_MULTILEVEL_LOOKUP: 0 + _SignType: real + _UseEsrpSigning: true + _TeamName: DotNetCore + _NuGetFeedUrl: https://dotnet.myget.org/F/dotnet-core/api/v2/package + _SymwebSymbolServerPath: https://microsoft.artifacts.visualstudio.com/DefaultCollection + _MsdlSymbolServerPath: https://microsoftpublicsymbols.artifacts.visualstudio.com/DefaultCollection + queue: + name: DotNetCore-Build + demands: + - agent.os -equals Windows_NT + steps: + + # Install MicroBuild plugin + - task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@1 + displayName: Install MicroBuild Signing Plugin + inputs: + signType: '$(_SignType)' + zipSources: false + esrpSigning: '$(_UseEsrpSigning)' + env: + TeamName: $(_TeamName) + continueOnError: false + condition: and(succeeded(), in(variables._SignType, 'real', 'test')) + + # Download all agent packages from all previous phases + - task: DownloadBuildArtifacts@0 + displayName: Download package assets + inputs: + artifactName: PackageAssets + downloadPath: $(Build.SourcesDirectory)/bin/obj/packages + + # Workaround https://github.com/Microsoft/vsts-tasks/issues/6739 + - task: CopyFiles@2 + displayName: Copy package assets to correct folder + inputs: + sourceFolder: $(Build.SourcesDirectory)/bin/obj/packages/PackageAssets + targetFolder: $(Build.SourcesDirectory)/bin/obj/packages + + - script: ./build.cmd -buildPackages + displayName: Create Packages + + - task: MSBuild@1 + displayName: Sign Packages + inputs: + solution: build/sign.proj + msbuildArguments: /p:SignType=$(_SignType) /p:SignNugetPackages=true + msbuildVersion: 15.0 + continueOnError: false + + - task: NuGetCommand@2 + displayName: Publish Packages to VSTS Feed + inputs: + command: push + packagesToPush: $(Build.SourcesDirectory)/bin/packages/**/*.nupkg;!$(Build.SourcesDirectory)/bin/packages/**/*.symbols.nupkg + nuGetFeedType: internal + feedPublish: MachineLearning + + - task: MSBuild@1 + displayName: Publish Packages to MyGet Feed + inputs: + solution: build/publish.proj + msbuildArguments: /t:PublishPackages /p:NuGetFeedUrl=$(_NuGetFeedUrl) /p:NuGetApiKey=$(dotnet-myget-org-api-key) + msbuildVersion: 15.0 + + - task: MSBuild@1 + displayName: Publish Symbols to SymWeb Symbol Server + inputs: + solution: build/publish.proj + msbuildArguments: /t:PublishSymbolPackages /p:SymbolServerPath=$(_SymwebSymbolServerPath) /p:SymbolServerPAT=$(SymwebSymbolServerPAT) + msbuildVersion: 15.0 + continueOnError: true + + - task: MSBuild@1 + displayName: Publish Symbols to Msdl Symbol Server + inputs: + solution: build/publish.proj + msbuildArguments: /t:PublishSymbolPackages /p:SymbolServerPath=$(_MsdlSymbolServerPath) /p:SymbolServerPAT=$(MsdlSymbolServerPAT) + msbuildVersion: 15.0 + continueOnError: true + + # Terminate all dotnet build processes. + - script: $(Build.SourcesDirectory)/Tools/dotnetcli/dotnet.exe build-server shutdown + displayName: Dotnet Server Shutdown diff --git a/config.json b/config.json new file mode 100644 index 0000000000..c870004f32 --- /dev/null +++ b/config.json @@ -0,0 +1,208 @@ +{ + "settings": { + "Configuration": { + "description": "Sets the optimization level for the Build Configuration you want to build.", + "valueType": "property", + "values": [ "Debug", "Release", "Debug-Intrinsics", "Release-Intrinsics", "Debug-netfx", "Release-netfx" ], + "defaultValue": "Debug" + }, + "TargetArchitecture": { + "description": "Sets the architecture for the native assets you want to build.", + "valueType": "property", + "values": [ "x64", "x86" ], + "defaultValue": "x64" + }, + "OfficialBuildId": { + "description": "Specifies the SeedDate and the revision of the build to generate the version of the libraries.", + "valueType": "property", + "values": [], + "defaultValue": "" + }, + "BuildNumberMajor": { + "description": "Product build major number.", + "valueType": "property", + "values": [], + "defaultValue": "" + }, + "BuildNumberMinor": { + "description": "Product build minor number.", + "valueType": "property", + "values": [], + "defaultValue": "" + }, + "SkipRIDAgnosticAssets": { + "description": "Prevents RID agnostic assets in redist from being built.", + "valueType": "property", + "values": [], + "defaultValue": "" + }, + "MsBuildLogging": { + "description": "MsBuild logging options.", + "valueType": "passThrough", + "values": [], + "defaultValue": "/flp:v=normal" + }, + "MsBuildWarning": { + "description": "MsBuild warning logging.", + "valueType": "passThrough", + "values": [], + "defaultValue": "/flp2:warningsonly;logfile=msbuild.wrn" + }, + "MsBuildError": { + "description": "MsBuild error logging.", + "valueType": "passThrough", + "values": [], + "defaultValue": "/flp3:errorsonly;logfile=msbuild.err" + }, + "Project": { + "description": "Project where the commands are going to be applied.", + "valueType": "passThrough", + "values": [], + "defaultValue": "" + }, + "BuildNative": { + "description": "MsBuild target that builds the native assets.", + "valueType": "target", + "values": [], + "defaultValue": "" + }, + "BuildPackages": { + "description": "MsBuild target that builds packages.", + "valueType": "target", + "values": [], + "defaultValue": "" + }, + "RunTests": { + "description": "MsBuild target that run the tests. Call this after building.", + "valueType": "target", + "values": [], + "defaultValue": "" + }, + "CleanAllProjects": { + "description": "MsBuild target that deletes the binary output directory.", + "valueType": "target", + "values": [], + "defaultValue": "" + } + }, + "commands": { + "build": { + "alias": { + "debug": { + "description": "Sets optimization level to debug for managed build configuration. (/p:Configuration=Debug)", + "settings": { + "Configuration": "Debug" + } + }, + "release": { + "description": "Sets optimization level to release for managed build configuration. (/p:Configuration=Release)", + "settings": { + "Configuration": "Release" + } + }, + "debug-intrinsics": { + "description": "Sets optimization level to debug for managed build configuration and builds against netcoreapp3.0. (/p:Configuration=Debug-Intrinsics)", + "settings": { + "Configuration": "Debug-Intrinsics" + } + }, + "release-intrinsics": { + "description": "Sets optimization level to release for managed build configuration and builds against netcoreapp3.0. (/p:Configuration=Release-Intrinsics)", + "settings": { + "Configuration": "Release-Intrinsics" + } + }, + "debug-netfx": { + "description": "Sets optimization level to debug for managed build configuration and builds against fullframework. (/p:Configuration=Debug-netfx)", + "settings": { + "Configuration": "Debug-netfx" + } + }, + "release-netfx": { + "description": "Sets optimization level to release for managed build configuration and builds against fullframework. (/p:Configuration=Release-netfx)", + "settings": { + "Configuration": "Release-netfx" + } + }, + "buildArch": { + "description": "Sets the architecture for the native build. (/p:TargetArchitecture=[value])", + "settings": { + "TargetArchitecture": "default" + } + }, + "buildNative": { + "description": "Builds the native assets.", + "settings": { + "BuildNative": "default" + } + }, + "skipRIDAgnosticAssets": { + "description": "Avoid building RID agnostic assets in redist.", + "settings": { + "SkipRIDAgnosticAssets": "default" + } + }, + "buildPackages": { + "description": "Builds the NuGet packages.", + "settings": { + "BuildPackages": "default" + } + }, + "runtests": { + "description": "Runs the tests. Call this after building.", + "settings": { + "RunTests": "default" + } + }, + "verbose": { + "description": "Passes /flp:v=diag to the msbuild command or the value passed by the user.", + "settings": { + "MsBuildLogging": "/flp:v=diag;LogFile=build-managed.log" + } + } + }, + "defaultValues": { + "toolName": "msbuild", + "settings": { + "Project": "build.proj", + "Configuration": "default", + "MsBuildLogging": "default", + "MsBuildWarning": "default", + "MsBuildError": "default" + } + } + } + }, + "tools": { + "msbuild": { + "osSpecific": { + "windows": { + "defaultParameters": "msbuild /nologo /verbosity:minimal /clp:Summary /maxcpucount /l:BinClashLogger,Tools\\Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log", + "path": "Tools/dotnetcli/dotnet" + }, + "unix": { + "defaultParameters": "msbuild /nologo /verbosity:minimal /clp:Summary /maxcpucount /l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log", + "path": "Tools/dotnetcli/dotnet" + } + }, + "valueTypes": { + "property": "/p:{name}={value}", + "target": "/t:{name}", + "internal": "/{name}" + } + }, + "terminal": { + "osSpecific": { + "windows": { + "filesExtension": "cmd" + }, + "unix": { + "filesExtension": "sh" + } + }, + "valueTypes": { + "property": "--{name}={value}" + } + } + } +} diff --git a/dir.traversal.targets b/dir.traversal.targets new file mode 100644 index 0000000000..0cacba82a5 --- /dev/null +++ b/dir.traversal.targets @@ -0,0 +1,73 @@ + + + + + + $(MSBuildProjectDefaultTargets) + + + + + + + + + + + + + + Clean + + + + + + + + + + + + + + BuildAllProjects; + $(TraversalBuildDependsOn); + + + + CleanAllProjects; + $(TraversalCleanDependsOn); + + + + + + + + + + + + + diff --git a/init-tools.cmd b/init-tools.cmd new file mode 100644 index 0000000000..349f7b1461 --- /dev/null +++ b/init-tools.cmd @@ -0,0 +1,104 @@ +@if not defined _echo @echo off +setlocal + +set INIT_TOOLS_LOG=%~dp0init-tools.log +if [%PACKAGES_DIR%]==[] set PACKAGES_DIR=%~dp0packages +if [%TOOLRUNTIME_DIR%]==[] set TOOLRUNTIME_DIR=%~dp0Tools +set DOTNET_PATH=%TOOLRUNTIME_DIR%\dotnetcli\ +if [%DOTNET_CMD%]==[] set DOTNET_CMD=%DOTNET_PATH%dotnet.exe +if [%BUILDTOOLS_SOURCE%]==[] set BUILDTOOLS_SOURCE=https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json +set /P BUILDTOOLS_VERSION=< "%~dp0BuildToolsVersion.txt" +set BUILD_TOOLS_PATH=%PACKAGES_DIR%\Microsoft.DotNet.BuildTools\%BUILDTOOLS_VERSION%\lib +set INIT_TOOLS_RESTORE_PROJECT=%~dp0init-tools.msbuild +set BUILD_TOOLS_SEMAPHORE_DIR=%TOOLRUNTIME_DIR%\%BUILDTOOLS_VERSION% +set BUILD_TOOLS_SEMAPHORE=%BUILD_TOOLS_SEMAPHORE_DIR%\init-tools.completed +set ARCH=x64 + +:: if force option is specified then clean the tool runtime and build tools package directory to force it to get recreated +if [%1]==[force] ( + if exist "%TOOLRUNTIME_DIR%" rmdir /S /Q "%TOOLRUNTIME_DIR%" + if exist "%PACKAGES_DIR%\Microsoft.DotNet.BuildTools" rmdir /S /Q "%PACKAGES_DIR%\Microsoft.DotNet.BuildTools" +) + +:: If semaphore exists do nothing +if exist "%BUILD_TOOLS_SEMAPHORE%" ( + echo Tools are already initialized. + goto :EOF +) + +if exist "%TOOLRUNTIME_DIR%" rmdir /S /Q "%TOOLRUNTIME_DIR%" + +if exist "%DotNetBuildToolsDir%" ( + echo Using tools from '%DotNetBuildToolsDir%'. + mklink /j "%TOOLRUNTIME_DIR%" "%DotNetBuildToolsDir%" + + if not exist "%DOTNET_CMD%" ( + echo ERROR: Ensure that '%DotNetBuildToolsDir%' contains the .NET Core SDK at '%DOTNET_PATH%' + exit /b 1 + ) + + echo Done initializing tools. + if NOT exist "%BUILD_TOOLS_SEMAPHORE_DIR%" mkdir "%BUILD_TOOLS_SEMAPHORE_DIR%" + echo Using tools from '%DotNetBuildToolsDir%'. > "%BUILD_TOOLS_SEMAPHORE%" + exit /b 0 +) + +echo Running %0 > "%INIT_TOOLS_LOG%" + +set /p DOTNET_VERSION=< "%~dp0DotnetCLIVersion.txt" + +:Arg_Loop +if [%1] == [] goto :ArchSet +if /i [%1] == [x86] ( set ARCH=x86) +if /i [%1] == [-Debug-Intrinsics] ( set /p DOTNET_VERSION=< "%~dp0DotnetCLIVersion.netcoreapp.latest.txt") +if /i [%1] == [-Release-Intrinsics] ( set /p DOTNET_VERSION=< "%~dp0DotnetCLIVersion.netcoreapp.latest.txt") +shift +goto :Arg_Loop + +:ArchSet +if exist "%DOTNET_CMD%" goto :afterdotnetrestore + +echo Installing dotnet cli... +if NOT exist "%DOTNET_PATH%" mkdir "%DOTNET_PATH%" +set DOTNET_ZIP_NAME=dotnet-sdk-%DOTNET_VERSION%-win-%ARCH%.zip +set DOTNET_REMOTE_PATH=https://dotnetcli.azureedge.net/dotnet/Sdk/%DOTNET_VERSION%/%DOTNET_ZIP_NAME% +set DOTNET_LOCAL_PATH=%DOTNET_PATH%%DOTNET_ZIP_NAME% +echo Installing '%DOTNET_REMOTE_PATH%' to '%DOTNET_LOCAL_PATH%' >> "%INIT_TOOLS_LOG%" +powershell -NoProfile -ExecutionPolicy unrestricted -Command "$retryCount = 0; $success = $false; $proxyCredentialsRequired = $false; do { try { $wc = New-Object Net.WebClient; if ($proxyCredentialsRequired) { [Net.WebRequest]::DefaultWebProxy.Credentials = [Net.CredentialCache]::DefaultNetworkCredentials; } $wc.DownloadFile('%DOTNET_REMOTE_PATH%', '%DOTNET_LOCAL_PATH%'); $success = $true; } catch { if ($retryCount -ge 6) { throw; } else { $we = $_.Exception.InnerException -as [Net.WebException]; $proxyCredentialsRequired = ($we -ne $null -and ([Net.HttpWebResponse]$we.Response).StatusCode -eq [Net.HttpStatusCode]::ProxyAuthenticationRequired); Start-Sleep -Seconds (5 * $retryCount); $retryCount++; } } } while ($success -eq $false); Add-Type -Assembly 'System.IO.Compression.FileSystem' -ErrorVariable AddTypeErrors; if ($AddTypeErrors.Count -eq 0) { [System.IO.Compression.ZipFile]::ExtractToDirectory('%DOTNET_LOCAL_PATH%', '%DOTNET_PATH%') } else { (New-Object -com shell.application).namespace('%DOTNET_PATH%').CopyHere((new-object -com shell.application).namespace('%DOTNET_LOCAL_PATH%').Items(),16) }" >> "%INIT_TOOLS_LOG%" +if NOT exist "%DOTNET_LOCAL_PATH%" ( + echo ERROR: Could not install dotnet cli correctly. 1>&2 + goto :error +) + +:afterdotnetrestore + +if exist "%BUILD_TOOLS_PATH%" goto :afterbuildtoolsrestore +echo Restoring BuildTools version %BUILDTOOLS_VERSION%... +echo Running: "%DOTNET_CMD%" restore "%INIT_TOOLS_RESTORE_PROJECT%" --no-cache --packages "%PACKAGES_DIR%" --source "%BUILDTOOLS_SOURCE%" /p:BuildToolsPackageVersion=%BUILDTOOLS_VERSION% /p:ToolsDir=%TOOLRUNTIME_DIR% >> "%INIT_TOOLS_LOG%" +call "%DOTNET_CMD%" restore "%INIT_TOOLS_RESTORE_PROJECT%" --no-cache --packages "%PACKAGES_DIR%" --source "%BUILDTOOLS_SOURCE%" /p:BuildToolsPackageVersion=%BUILDTOOLS_VERSION% /p:ToolsDir=%TOOLRUNTIME_DIR% >> "%INIT_TOOLS_LOG%" +if NOT exist "%BUILD_TOOLS_PATH%\init-tools.cmd" ( + echo ERROR: Could not restore build tools correctly. 1>&2 + goto :error +) + +:afterbuildtoolsrestore + +echo Initializing BuildTools... +echo Running: "%BUILD_TOOLS_PATH%\init-tools.cmd" "%~dp0" "%DOTNET_CMD%" "%TOOLRUNTIME_DIR%" "%PACKAGES_DIR%" >> "%INIT_TOOLS_LOG%" +call "%BUILD_TOOLS_PATH%\init-tools.cmd" "%~dp0" "%DOTNET_CMD%" "%TOOLRUNTIME_DIR%" "%PACKAGES_DIR%" >> "%INIT_TOOLS_LOG%" +set INIT_TOOLS_ERRORLEVEL=%ERRORLEVEL% +if not [%INIT_TOOLS_ERRORLEVEL%]==[0] ( + echo ERROR: An error occured when trying to initialize the tools. 1>&2 + goto :error +) + +:: Create semaphore file +echo Done initializing tools. +if NOT exist "%BUILD_TOOLS_SEMAPHORE_DIR%" mkdir "%BUILD_TOOLS_SEMAPHORE_DIR%" +echo Init-Tools.cmd completed for BuildTools Version: %BUILDTOOLS_VERSION% > "%BUILD_TOOLS_SEMAPHORE%" +exit /b 0 + +:error +echo Please check the detailed log that follows. 1>&2 +type "%INIT_TOOLS_LOG%" 1>&2 +exit /b 1 \ No newline at end of file diff --git a/init-tools.msbuild b/init-tools.msbuild new file mode 100644 index 0000000000..7bb7fa0043 --- /dev/null +++ b/init-tools.msbuild @@ -0,0 +1,13 @@ + + + netcoreapp1.0 + false + true + $(MSBuildThisFileDirectory)Tools/$(BuildToolsPackageVersion) + Microsoft.SymbolUploader.Build.Task + + + + + + \ No newline at end of file diff --git a/init-tools.sh b/init-tools.sh new file mode 100644 index 0000000000..da302b44f0 --- /dev/null +++ b/init-tools.sh @@ -0,0 +1,180 @@ +#!/usr/bin/env bash + +__scriptpath=$(cd "$(dirname "$0")"; pwd -P) +__init_tools_log="$__scriptpath/init-tools.log" +__PACKAGES_DIR="$__scriptpath/packages" +__TOOLRUNTIME_DIR="$__scriptpath/Tools" +__DOTNET_PATH="$__TOOLRUNTIME_DIR/dotnetcli" +__DOTNET_CMD="$__DOTNET_PATH/dotnet" +if [ -z "${__BUILDTOOLS_SOURCE:-}" ]; then __BUILDTOOLS_SOURCE=https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json; fi +export __BUILDTOOLS_USE_CSPROJ=true +__BUILD_TOOLS_PACKAGE_VERSION=$(cat "$__scriptpath/BuildToolsVersion.txt" | sed 's/\r$//') # remove CR if mounted repo on Windows drive +__DOTNET_TOOLS_VERSION=$(cat "$__scriptpath/DotnetCLIVersion.txt" | sed 's/\r$//') # remove CR if mounted repo on Windows drive +__BUILD_TOOLS_PATH="$__PACKAGES_DIR/microsoft.dotnet.buildtools/$__BUILD_TOOLS_PACKAGE_VERSION/lib" +__INIT_TOOLS_RESTORE_PROJECT="$__scriptpath/init-tools.msbuild" +__BUILD_TOOLS_SEMAPHORE="$__TOOLRUNTIME_DIR/$__BUILD_TOOLS_PACKAGE_VERSION/init-tools.complete" + +if [ -e "$__BUILD_TOOLS_SEMAPHORE" ]; then + echo "Tools are already initialized" + return #return instead of exit because this script is inlined in other scripts which we don't want to exit +fi + +if [ -e "$__TOOLRUNTIME_DIR" ]; then rm -rf -- "$__TOOLRUNTIME_DIR"; fi + +if [ -d "${DotNetBuildToolsDir:-}" ]; then + echo "Using tools from '$DotNetBuildToolsDir'." + ln -s "$DotNetBuildToolsDir" "$__TOOLRUNTIME_DIR" + + if [ ! -e "$__DOTNET_CMD" ]; then + echo "ERROR: Ensure that $DotNetBuildToolsDir contains the .NET Core SDK at $__DOTNET_PATH" + exit 1 + fi + + echo "Done initializing tools." + mkdir -p "$(dirname "$__BUILD_TOOLS_SEMAPHORE")" && touch "$__BUILD_TOOLS_SEMAPHORE" + return #return instead of exit because this script is inlined in other scripts which we don't want to exit +fi + +echo "Running: $__scriptpath/init-tools.sh" > "$__init_tools_log" + +display_error_message() +{ + echo "Please check the detailed log that follows." 1>&2 + cat "$__init_tools_log" 1>&2 +} + +# Executes a command and retries if it fails. +execute_with_retry() { + local count=0 + local retries=${retries:-5} + local waitFactor=${waitFactor:-6} + until "$@"; do + local exit=$? + count=$(( $count + 1 )) + if [ $count -lt $retries ]; then + local wait=$(( waitFactor ** (( count - 1 )) )) + echo "Retry $count/$retries exited $exit, retrying in $wait seconds..." + sleep $wait + else + say_err "Retry $count/$retries exited $exit, no more retries left." + return $exit + fi + done + + return 0 +} + +if [ ! -e "$__DOTNET_PATH" ]; then + if [ -z "${__DOTNET_PKG:-}" ]; then + if [ "$(uname -m | grep "i[3456]86")" = "i686" ]; then + echo "Warning: build not supported on 32 bit Unix" + fi + + __PKG_ARCH=x64 + + OSName=$(uname -s) + case $OSName in + Darwin) + OS=OSX + __PKG_RID=osx + ulimit -n 2048 + # Format x.y.z as single integer with three digits for each part + VERSION=`sw_vers -productVersion| sed -e 's/\./ /g' | xargs printf "%03d%03d%03d"` + if [ "$VERSION" -lt 010012000 ]; then + echo error: macOS version `sw_vers -productVersion` is too old. 10.12 is needed as minimum. + exit 1 + fi + ;; + + Linux) + __PKG_RID=linux + OS=Linux + + if [ -e /etc/os-release ]; then + source /etc/os-release + if [[ $ID == "alpine" ]]; then + __PKG_RID=linux-musl + fi + elif [ -e /etc/redhat-release ]; then + redhatRelease=$( /dev/null; then + curl --retry 10 -sSL --create-dirs -o $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION} + else + wget -q -O $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION} + fi + else + echo "Copying '$DotNetBootstrapCliTarPath' to '$__DOTNET_PATH/dotnet.tar'" + cp $DotNetBootstrapCliTarPath $__DOTNET_PATH/dotnet.tar + fi + cd "$__DOTNET_PATH" + tar -xf "$__DOTNET_PATH/dotnet.tar" + } + execute_with_retry install_dotnet_cli >> "$__init_tools_log" 2>&1 + + cd "$__scriptpath" +fi + +if [ ! -e "$__BUILD_TOOLS_PATH" ]; then + echo "Restoring BuildTools version $__BUILD_TOOLS_PACKAGE_VERSION..." + echo "Running: $__DOTNET_CMD restore \"$__INIT_TOOLS_RESTORE_PROJECT\" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE /p:BuildToolsPackageVersion=$__BUILD_TOOLS_PACKAGE_VERSION /p:ToolsDir=$__TOOLRUNTIME_DIR" >> "$__init_tools_log" + "$__DOTNET_CMD" restore "$__INIT_TOOLS_RESTORE_PROJECT" --no-cache --packages "$__PACKAGES_DIR" --source "$__BUILDTOOLS_SOURCE" /p:BuildToolsPackageVersion=$__BUILD_TOOLS_PACKAGE_VERSION /p:ToolsDir="$__TOOLRUNTIME_DIR" >> "$__init_tools_log" + if [ ! -e "$__BUILD_TOOLS_PATH/init-tools.sh" ]; then + echo "ERROR: Could not restore build tools correctly." 1>&2 + display_error_message + fi +fi + +echo "Initializing BuildTools..." +echo "Running: $__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR $__PACKAGES_DIR" >> "$__init_tools_log" + +# Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424 +chmod +x "$__BUILD_TOOLS_PATH/init-tools.sh" +"$__BUILD_TOOLS_PATH/init-tools.sh" "$__scriptpath" "$__DOTNET_CMD" "$__TOOLRUNTIME_DIR" "$__PACKAGES_DIR" >> "$__init_tools_log" +if [ "$?" != "0" ]; then + echo "ERROR: An error occurred when trying to initialize the tools." 1>&2 + display_error_message + exit 1 +fi + +echo "Making all .sh files executable under Tools." +# Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424 +ls "$__scriptpath/Tools/"*.sh | xargs chmod +x +ls "$__scriptpath/Tools/scripts/docker/"*.sh | xargs chmod +x + +"$__scriptpath/Tools/crossgen.sh" "$__scriptpath/Tools" $__PKG_RID + +mkdir -p "$(dirname "$__BUILD_TOOLS_SEMAPHORE")" && touch "$__BUILD_TOOLS_SEMAPHORE" + +echo "Done initializing tools." diff --git a/run.cmd b/run.cmd new file mode 100644 index 0000000000..ccbe714db8 --- /dev/null +++ b/run.cmd @@ -0,0 +1,28 @@ +@if not defined _echo @echo off +setlocal + +:: Clear the 'Platform' env variable for this session, as it's a per-project setting within the build, and +:: misleading value (such as 'MCD' in HP PCs) may lead to build breakage (corefx issue: #69). +set Platform= + +:: Disable telemetry, first time experience, and global sdk look for the CLI +set DOTNET_CLI_TELEMETRY_OPTOUT=1 +set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 +set DOTNET_MULTILEVEL_LOOKUP=0 + +:: Restore the Tools directory +call "%~dp0init-tools.cmd" %* +if NOT [%ERRORLEVEL%]==[0] exit /b 1 + +set _toolRuntime=%~dp0Tools +set _dotnet=%_toolRuntime%\dotnetcli\dotnet.exe +set _json=%~dp0config.json + +:: run.exe depends on running in the root directory, notably because the config.json specifies +:: a relative path to the binclash logger + +pushd "%~dp0" +call "%_dotnet%" "%_toolRuntime%\run.exe" "%_json%" %* +popd + +exit /b %ERRORLEVEL% \ No newline at end of file diff --git a/run.sh b/run.sh new file mode 100644 index 0000000000..15e30054e1 --- /dev/null +++ b/run.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +__scriptpath=$(cd "$(dirname "$0")"; pwd -P) + +# Disable telemetry, first time experience, and global sdk look for the CLI +export DOTNET_CLI_TELEMETRY_OPTOUT=1 +export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 +export DOTNET_MULTILEVEL_LOOKUP=0 + +# Source the init-tools.sh script rather than execute in order to preserve ulimit values in child-processes. https://github.com/dotnet/corefx/issues/19152 +. "$__scriptpath/init-tools.sh" + +__toolRuntime=$__scriptpath/Tools +__dotnet=$__toolRuntime/dotnetcli/dotnet + +cd "$__scriptpath" +"$__dotnet" "$__toolRuntime/run.exe" "$__scriptpath/config.json" "$@" +exit $? diff --git a/src/Test/Test.sln b/src/Test/Test.sln new file mode 100644 index 0000000000..f0b9384138 --- /dev/null +++ b/src/Test/Test.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.168 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{863DAAAA-988D-41A8-A006-6A55F10BE46C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B3ECCDB0-E11A-4EF4-9911-C0D1E9544E0C} + EndGlobalSection +EndGlobal diff --git a/src/Test/Test/Program.cs b/src/Test/Test/Program.cs new file mode 100644 index 0000000000..9db49358a6 --- /dev/null +++ b/src/Test/Test/Program.cs @@ -0,0 +1,12 @@ +using System; + +namespace Test +{ + class Program + { + static void Main(string[] args) + { + Console.WriteLine("Hello World!"); + } + } +} diff --git a/src/Test/Test/Test.csproj b/src/Test/Test/Test.csproj new file mode 100644 index 0000000000..b71f7fd8a0 --- /dev/null +++ b/src/Test/Test/Test.csproj @@ -0,0 +1,8 @@ + + + + Exe + netcoreapp2.1 + false + + From bf40476da3c03f0dbfc441210fa6d0176f947c27 Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin Date: Mon, 14 Jan 2019 23:19:32 -0800 Subject: [PATCH 003/211] forgot to save this one file --- .vsts-dotnet-ci.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/.vsts-dotnet-ci.yml b/.vsts-dotnet-ci.yml index e69de29bb2..93d3c0f8de 100644 --- a/.vsts-dotnet-ci.yml +++ b/.vsts-dotnet-ci.yml @@ -0,0 +1,30 @@ +################################################################################ +# ML.NET's PR validation build +################################################################################ + +resources: + containers: + - container: LinuxContainer + image: microsoft/dotnet-buildtools-prereqs:centos-7-b46d863-20180719033416 + +phases: +- template: /build/ci/phase-template.yml + parameters: + name: core30 + buildScript: build.cmd + customMatrixes: + Build_Debug_Intrinsics: + _configuration: Debug-Intrinsics + _config_short: DI + Build_Release_Intrinsics: + _configuration: Release-Intrinsics + _config_short: RI + queue: + name: Hosted VS2017 + +- template: /build/ci/phase-template.yml + parameters: + name: Windows_x64 + buildScript: build.cmd + queue: + name: Hosted VS2017 From 233829bc706001b8006330723c045ab338ec4d70 Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin Date: Mon, 14 Jan 2019 23:33:33 -0800 Subject: [PATCH 004/211] Debug-Intrinsics isn't a valid config, trying windows-x64 --- .vsts-dotnet-ci.yml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.vsts-dotnet-ci.yml b/.vsts-dotnet-ci.yml index 93d3c0f8de..8b88aab895 100644 --- a/.vsts-dotnet-ci.yml +++ b/.vsts-dotnet-ci.yml @@ -8,20 +8,6 @@ resources: image: microsoft/dotnet-buildtools-prereqs:centos-7-b46d863-20180719033416 phases: -- template: /build/ci/phase-template.yml - parameters: - name: core30 - buildScript: build.cmd - customMatrixes: - Build_Debug_Intrinsics: - _configuration: Debug-Intrinsics - _config_short: DI - Build_Release_Intrinsics: - _configuration: Release-Intrinsics - _config_short: RI - queue: - name: Hosted VS2017 - - template: /build/ci/phase-template.yml parameters: name: Windows_x64 From d758d72288f06556b00c38288c80dec87ab696e5 Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin Date: Mon, 14 Jan 2019 23:41:55 -0800 Subject: [PATCH 005/211] disabled tests for now --- build.proj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build.proj b/build.proj index c7fbdf756e..c77a2b2c53 100644 --- a/build.proj +++ b/build.proj @@ -35,7 +35,7 @@ $(TraversalBuildDependsOn); - DownloadExternalTestFiles; + @@ -82,10 +82,10 @@ $(MSBuildThisFileDirectory)/test/data/external/%(Identity) - + - + From 1770ff8ff9a39c9e025c55e84a4b01c2697ec562 Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin Date: Mon, 14 Jan 2019 23:52:45 -0800 Subject: [PATCH 006/211] disable tests attempt 2 --- build/ci/phase-template.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/build/ci/phase-template.yml b/build/ci/phase-template.yml index 53a26d3314..860b52f83e 100644 --- a/build/ci/phase-template.yml +++ b/build/ci/phase-template.yml @@ -31,18 +31,18 @@ phases: - ${{ if eq(parameters.name, 'MacOS') }}: - script: brew update && brew install libomp mono-libgdiplus gettext && brew link gettext --force displayName: Install runtime dependencies - - script: $(_buildScript) -$(_configuration) -runtests - displayName: Run Tests - - task: PublishTestResults@2 - displayName: Publish Test Results - condition: succeededOrFailed() - inputs: - testRunner: 'vSTest' - searchFolder: '$(System.DefaultWorkingDirectory)/bin' - testResultsFiles: '**/*.trx' - testRunTitle: Machinelearning_Tests_$(_phaseName)_$(_configuration)_$(Build.BuildNumber) - configuration: $(_configuration) - mergeTestResults: true + # - script: $(_buildScript) -$(_configuration) -runtests + # displayName: Run Tests + # - task: PublishTestResults@2 + # displayName: Publish Test Results + # condition: succeededOrFailed() + # inputs: + # testRunner: 'vSTest' + # searchFolder: '$(System.DefaultWorkingDirectory)/bin' + # testResultsFiles: '**/*.trx' + # testRunTitle: Machinelearning_Tests_$(_phaseName)_$(_configuration)_$(Build.BuildNumber) + # configuration: $(_configuration) + # mergeTestResults: true - task: CopyFiles@2 displayName: Stage build logs condition: not(succeeded()) From 63b3438bd120ae0f65899bdd08bcd8b3a89865b5 Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin Date: Tue, 15 Jan 2019 01:08:05 -0800 Subject: [PATCH 007/211] initial code push, no history, test project not in the build so is the internal client --- AutoML.sln | 61 ++ Nuget.config | 6 + Test.sln | 25 - build.proj | 2 +- prototypes/EntrypointNodeToJson.cs | 47 + src/AutoML/API/MLContextExtensions.cs | 480 ++++++++++ src/AutoML/API/UserInputValidationUtil.cs | 212 +++++ src/AutoML/Assembly.cs | 4 + src/AutoML/AutoFitter/AutoFitApi.cs | 30 + src/AutoML/AutoFitter/AutoFitter.cs | 157 ++++ src/AutoML/AutoFitter/InferredPipeline.cs | 106 +++ src/AutoML/AutoFitter/OptimizingMetric.cs | 68 ++ src/AutoML/AutoFitter/PipelineRunResult.cs | 47 + src/AutoML/AutoFitter/RecipeInference.cs | 29 + src/AutoML/AutoFitter/SuggestedTrainer.cs | 91 ++ src/AutoML/AutoML.csproj | 20 + src/AutoML/AutoMlUtils.cs | 33 + .../ColumnGroupingInference.cs | 154 ++++ .../ColumnInference/ColumnInferenceApi.cs | 107 +++ src/AutoML/ColumnInference/ColumnPurpose.cs | 15 + .../ColumnInference/ColumnTypeInference.cs | 383 ++++++++ .../ColumnInference/PurposeInference.cs | 301 +++++++ .../ColumnInference/TextFileContents.cs | 111 +++ src/AutoML/ColumnInference/TextFileSample.cs | 303 +++++++ src/AutoML/DebugLogger.cs | 13 + .../PipelineSuggesters/PipelineSuggester.cs | 156 ++++ .../PipelineSuggesterApi.cs | 18 + src/AutoML/RuleSet1.ruleset | 10 + src/AutoML/Sweepers/ISweeper.cs | 296 ++++++ src/AutoML/Sweepers/KdoSweeper.cs | 495 +++++++++++ src/AutoML/Sweepers/Parameters.cs | 476 ++++++++++ src/AutoML/Sweepers/Random.cs | 29 + src/AutoML/Sweepers/SmacSweeper.cs | 451 ++++++++++ src/AutoML/Sweepers/SweeperBase.cs | 74 ++ .../Sweepers/SweeperProbabilityUtils.cs | 249 ++++++ src/AutoML/TaskKind.cs | 9 + .../Terminators/IterationBasedTerminator.cs | 29 + .../BinaryTrainerExtensions.cs | 202 +++++ .../TrainerExtensions/ITrainerExtension.cs | 20 + .../MultiTrainerExtensions.cs | 227 +++++ .../RegressionTrainerExtensions.cs | 167 ++++ .../TrainerExtensions/SweepableParams.cs | 159 ++++ .../TrainerExtensionCatalog.cs | 137 +++ .../TrainerExtensions/TrainerExtensionUtil.cs | 141 +++ .../TransformInference/TransformInference.cs | 841 ++++++++++++++++++ .../TransformInferenceApi.cs | 17 + src/AutoML/Utils/ColumnTypeExtensions.cs | 57 ++ src/AutoML/Utils/Conversions.cs | 255 ++++++ src/AutoML/Utils/DataKindExtensions.cs | 96 ++ src/AutoML/Utils/DataViewUtils.cs | 36 + src/AutoML/Utils/Hashing.cs | 37 + src/AutoML/Utils/ProbabilityFunctions.cs | 34 + src/AutoML/Utils/Stats.cs | 83 ++ src/AutoML/Utils/SweepableParamAttributes.cs | 222 +++++ src/AutoML/Utils/VBufferUtils.cs | 23 + src/InternalClient/GetNextPipeline.cs | 47 + src/InternalClient/InternalClient.csproj | 16 + src/{Test/Test => InternalClient}/Program.cs | 4 +- src/Samples/Benchmarking.cs | 41 + src/Samples/BinaryClassification.cs | 149 ++++ src/Samples/GetFirstPipeline.cs | 20 + src/Samples/MulticlassClassification.cs | 40 + src/Samples/Program.cs | 17 + src/Samples/Samples.csproj | 17 + src/Test/SweeperTests.cs | 104 +++ src/Test/Test.csproj | 21 + src/Test/Test.sln | 25 - src/Test/Test/Test.csproj | 8 - 68 files changed, 8299 insertions(+), 61 deletions(-) create mode 100644 AutoML.sln create mode 100644 Nuget.config delete mode 100644 Test.sln create mode 100644 prototypes/EntrypointNodeToJson.cs create mode 100644 src/AutoML/API/MLContextExtensions.cs create mode 100644 src/AutoML/API/UserInputValidationUtil.cs create mode 100644 src/AutoML/Assembly.cs create mode 100644 src/AutoML/AutoFitter/AutoFitApi.cs create mode 100644 src/AutoML/AutoFitter/AutoFitter.cs create mode 100644 src/AutoML/AutoFitter/InferredPipeline.cs create mode 100644 src/AutoML/AutoFitter/OptimizingMetric.cs create mode 100644 src/AutoML/AutoFitter/PipelineRunResult.cs create mode 100644 src/AutoML/AutoFitter/RecipeInference.cs create mode 100644 src/AutoML/AutoFitter/SuggestedTrainer.cs create mode 100644 src/AutoML/AutoML.csproj create mode 100644 src/AutoML/AutoMlUtils.cs create mode 100644 src/AutoML/ColumnInference/ColumnGroupingInference.cs create mode 100644 src/AutoML/ColumnInference/ColumnInferenceApi.cs create mode 100644 src/AutoML/ColumnInference/ColumnPurpose.cs create mode 100644 src/AutoML/ColumnInference/ColumnTypeInference.cs create mode 100644 src/AutoML/ColumnInference/PurposeInference.cs create mode 100644 src/AutoML/ColumnInference/TextFileContents.cs create mode 100644 src/AutoML/ColumnInference/TextFileSample.cs create mode 100644 src/AutoML/DebugLogger.cs create mode 100644 src/AutoML/PipelineSuggesters/PipelineSuggester.cs create mode 100644 src/AutoML/PipelineSuggesters/PipelineSuggesterApi.cs create mode 100644 src/AutoML/RuleSet1.ruleset create mode 100644 src/AutoML/Sweepers/ISweeper.cs create mode 100644 src/AutoML/Sweepers/KdoSweeper.cs create mode 100644 src/AutoML/Sweepers/Parameters.cs create mode 100644 src/AutoML/Sweepers/Random.cs create mode 100644 src/AutoML/Sweepers/SmacSweeper.cs create mode 100644 src/AutoML/Sweepers/SweeperBase.cs create mode 100644 src/AutoML/Sweepers/SweeperProbabilityUtils.cs create mode 100644 src/AutoML/TaskKind.cs create mode 100644 src/AutoML/Terminators/IterationBasedTerminator.cs create mode 100644 src/AutoML/TrainerExtensions/BinaryTrainerExtensions.cs create mode 100644 src/AutoML/TrainerExtensions/ITrainerExtension.cs create mode 100644 src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs create mode 100644 src/AutoML/TrainerExtensions/RegressionTrainerExtensions.cs create mode 100644 src/AutoML/TrainerExtensions/SweepableParams.cs create mode 100644 src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs create mode 100644 src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs create mode 100644 src/AutoML/TransformInference/TransformInference.cs create mode 100644 src/AutoML/TransformInference/TransformInferenceApi.cs create mode 100644 src/AutoML/Utils/ColumnTypeExtensions.cs create mode 100644 src/AutoML/Utils/Conversions.cs create mode 100644 src/AutoML/Utils/DataKindExtensions.cs create mode 100644 src/AutoML/Utils/DataViewUtils.cs create mode 100644 src/AutoML/Utils/Hashing.cs create mode 100644 src/AutoML/Utils/ProbabilityFunctions.cs create mode 100644 src/AutoML/Utils/Stats.cs create mode 100644 src/AutoML/Utils/SweepableParamAttributes.cs create mode 100644 src/AutoML/Utils/VBufferUtils.cs create mode 100644 src/InternalClient/GetNextPipeline.cs create mode 100644 src/InternalClient/InternalClient.csproj rename src/{Test/Test => InternalClient}/Program.cs (64%) create mode 100644 src/Samples/Benchmarking.cs create mode 100644 src/Samples/BinaryClassification.cs create mode 100644 src/Samples/GetFirstPipeline.cs create mode 100644 src/Samples/MulticlassClassification.cs create mode 100644 src/Samples/Program.cs create mode 100644 src/Samples/Samples.csproj create mode 100644 src/Test/SweeperTests.cs create mode 100644 src/Test/Test.csproj delete mode 100644 src/Test/Test.sln delete mode 100644 src/Test/Test/Test.csproj diff --git a/AutoML.sln b/AutoML.sln new file mode 100644 index 0000000000..5ce03a7c33 --- /dev/null +++ b/AutoML.sln @@ -0,0 +1,61 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28010.2050 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoML", "src\AutoML\AutoML.csproj", "{B3727729-3DF8-47E0-8710-9B41DAF55817}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples", "src\Samples\Samples.csproj", "{64A7294E-A2C7-4499-8F0B-4BB074047C6B}" +EndProject +#Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InternalClient", "src\InternalClient\InternalClient.csproj", "{8D564A01-DCA9-443A-9995-A5A67BE4C2CD}" +#EndProject +#Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "src\Test\Test.csproj", "{6DA91D40-302C-495C-B1DA-20701CDA49C6}" +#EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug-Intrinsics|Any CPU = Debug-Intrinsics|Any CPU + Release|Any CPU = Release|Any CPU + Release-Intrinsics|Any CPU = Release-Intrinsics|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B3727729-3DF8-47E0-8710-9B41DAF55817}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B3727729-3DF8-47E0-8710-9B41DAF55817}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B3727729-3DF8-47E0-8710-9B41DAF55817}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU + {B3727729-3DF8-47E0-8710-9B41DAF55817}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU + {B3727729-3DF8-47E0-8710-9B41DAF55817}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B3727729-3DF8-47E0-8710-9B41DAF55817}.Release|Any CPU.Build.0 = Release|Any CPU + {B3727729-3DF8-47E0-8710-9B41DAF55817}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU + {B3727729-3DF8-47E0-8710-9B41DAF55817}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU + {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU + {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU + {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Release|Any CPU.Build.0 = Release|Any CPU + {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU + {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU + {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU + {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU + {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Release|Any CPU.Build.0 = Release|Any CPU + {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU + {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU + {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU + {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU + {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Release|Any CPU.Build.0 = Release|Any CPU + {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU + {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {8C1BC26C-B87E-47CD-928E-00EFE4353B40} + EndGlobalSection +EndGlobal diff --git a/Nuget.config b/Nuget.config new file mode 100644 index 0000000000..3f0e003403 --- /dev/null +++ b/Nuget.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Test.sln b/Test.sln deleted file mode 100644 index 28ec25437f..0000000000 --- a/Test.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.168 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "src\Test\Test\Test.csproj", "{863DAAAA-988D-41A8-A006-6A55F10BE46C}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {B3ECCDB0-E11A-4EF4-9911-C0D1E9544E0C} - EndGlobalSection -EndGlobal diff --git a/build.proj b/build.proj index c77a2b2c53..e05e61b305 100644 --- a/build.proj +++ b/build.proj @@ -21,7 +21,7 @@ - + diff --git a/prototypes/EntrypointNodeToJson.cs b/prototypes/EntrypointNodeToJson.cs new file mode 100644 index 0000000000..e19fcca9a8 --- /dev/null +++ b/prototypes/EntrypointNodeToJson.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using Microsoft.ML.EntryPoints; +using Microsoft.ML.Samples.Dynamic; +using Microsoft.ML.Trainers; + +namespace Microsoft.ML.Samples +{ + internal static class Program + { + static void Main(string[] args) + { + //FeatureContributionCalculationTransform_RegressionExample.FeatureContributionCalculationTransform_Regression(); + + var mlContext = new MLContext(); + var iHostEnv = mlContext as IHostEnvironment; + + iHostEnv.ComponentCatalog.RegisterAssembly(typeof(SdcaBinaryTrainer).Assembly); + iHostEnv.ComponentCatalog.RegisterAssembly(typeof(LogLossFactory).Assembly); + + var arg = new SdcaBinaryTrainer.Arguments(); + arg.L2Const = 0.02f; + + var entrypointNode = EntryPointNode.Create(mlContext, "Trainers.StochasticDualCoordinateAscentBinaryClassifier", + arg, + iHostEnv.ComponentCatalog, + new RunContext(new ExceptionContext()), + new Dictionary() { { "TrainingData", "TrainData" } }, + new Dictionary()); + + var json = entrypointNode.ToJson(); + Console.WriteLine(json); + + Console.ReadLine(); + } + } + + public class ExceptionContext : IExceptionContext + { + public string ContextDescription => throw new NotImplementedException(); + + public TException Process(TException ex) where TException : Exception + { + throw new NotImplementedException(); + } + } +} diff --git a/src/AutoML/API/MLContextExtensions.cs b/src/AutoML/API/MLContextExtensions.cs new file mode 100644 index 0000000000..ac5d7b9cc1 --- /dev/null +++ b/src/AutoML/API/MLContextExtensions.cs @@ -0,0 +1,480 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Threading; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + public static class RegressionExtensions + { + public static RegressionResult AutoFit(this RegressionContext context, + IDataView trainData, + string label, + IDataView validationData = null, + AutoFitSettings settings = null, + IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, + CancellationToken cancellationToken = default, + IProgress iterationCallback = null) + { + return AutoFit(context, trainData, label, validationData, settings, + purposeOverrides, cancellationToken, iterationCallback, null); + } + + // todo: instead of internal methods, use static debug class w/ singleton logger? + internal static RegressionResult AutoFit(this RegressionContext context, + IDataView trainData, + string label, + IDataView validationData = null, + AutoFitSettings settings = null, + IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, + CancellationToken cancellationToken = default, + IProgress iterationCallback = null, + IDebugLogger debugLogger = null) + { + UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, purposeOverrides); + + // run autofit & get all pipelines run in that process + var (allPipelines, bestPipeline) = AutoFitApi.Fit(trainData, validationData, label, + settings, TaskKind.Regression, OptimizingMetric.RSquared, purposeOverrides, debugLogger); + + var results = new RegressionIterationResult[allPipelines.Length]; + for (var i = 0; i < results.Length; i++) + { + var iterationResult = allPipelines[i]; + var result = new RegressionIterationResult(iterationResult.Model, (RegressionMetrics)iterationResult.EvaluatedMetrics, iterationResult.ScoredValidationData, iterationResult.Pipeline.ToPipeline()); + results[i] = result; + } + var bestResult = new RegressionIterationResult(bestPipeline.Model, (RegressionMetrics)bestPipeline.EvaluatedMetrics, bestPipeline.ScoredValidationData, bestPipeline.Pipeline.ToPipeline()); + return new RegressionResult(bestResult, results); + } + + public static Pipeline GetPipeline(this RegressionContext context, IDataView dataView, string label) + { + return PipelineSuggesterApi.GetPipeline(TaskKind.Regression, dataView, label); + } + } + + public static class BinaryClassificationExtensions + { + public static BinaryClassificationResult AutoFit(this BinaryClassificationContext context, + IDataView trainData, + string label, + IDataView validationData = null, + AutoFitSettings settings = null, + IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, + CancellationToken cancellationToken = default, + IProgress iterationCallback = null) + { + return AutoFit(context, trainData, label, validationData, settings, + purposeOverrides, cancellationToken, iterationCallback, null); + } + + internal static BinaryClassificationResult AutoFit(this BinaryClassificationContext context, + IDataView trainData, + string label, + IDataView validationData = null, + AutoFitSettings settings = null, + IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, + CancellationToken cancellationToken = default, + IProgress iterationCallback = null, + IDebugLogger debugLogger = null) + { + UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, purposeOverrides); + + // run autofit & get all pipelines run in that process + var (allPipelines, bestPipeline) = AutoFitApi.Fit(trainData, validationData, label, + settings, TaskKind.BinaryClassification, OptimizingMetric.Accuracy, + purposeOverrides, debugLogger); + + var results = new BinaryClassificationItertionResult[allPipelines.Length]; + for(var i = 0; i < results.Length; i++) + { + var iterationResult = allPipelines[i]; + var result = new BinaryClassificationItertionResult(iterationResult.Model, (BinaryClassificationMetrics)iterationResult.EvaluatedMetrics, iterationResult.ScoredValidationData, iterationResult.Pipeline.ToPipeline()); + results[i] = result; + } + var bestResult = new BinaryClassificationItertionResult(bestPipeline.Model, (BinaryClassificationMetrics)bestPipeline.EvaluatedMetrics, bestPipeline.ScoredValidationData, bestPipeline.Pipeline.ToPipeline()); + return new BinaryClassificationResult(bestResult, results); + } + + public static Pipeline GetPipeline(this BinaryClassificationContext context, IDataView dataView, string label) + { + return PipelineSuggesterApi.GetPipeline(TaskKind.BinaryClassification, dataView, label); + } + } + + public static class MulticlassExtensions + { + public static MulticlassClassificationResult AutoFit(this MulticlassClassificationContext context, + IDataView trainData, + string label, + IDataView validationData = null, + AutoFitSettings settings = null, + IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, + CancellationToken cancellationToken = default, + IProgress iterationCallback = null) + { + return AutoFit(context, trainData, label, validationData, settings, + purposeOverrides, cancellationToken, iterationCallback, null); + } + + internal static MulticlassClassificationResult AutoFit(this MulticlassClassificationContext context, + IDataView trainData, + string label, + IDataView validationData = null, + AutoFitSettings settings = null, + IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, + CancellationToken cancellationToken = default, + IProgress iterationCallback = null, IDebugLogger debugLogger = null) + { + UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, purposeOverrides); + + // run autofit & get all pipelines run in that process + var (allPipelines, bestPipeline) = AutoFitApi.Fit(trainData, validationData, label, + settings, TaskKind.MulticlassClassification, OptimizingMetric.Accuracy, + purposeOverrides, debugLogger); + + var results = new MulticlassClassificationIterationResult[allPipelines.Length]; + for (var i = 0; i < results.Length; i++) + { + var iterationResult = allPipelines[i]; + var result = new MulticlassClassificationIterationResult(iterationResult.Model, (MultiClassClassifierMetrics)iterationResult.EvaluatedMetrics, iterationResult.ScoredValidationData, iterationResult.Pipeline.ToPipeline()); + results[i] = result; + } + var bestResult = new MulticlassClassificationIterationResult(bestPipeline.Model, (MultiClassClassifierMetrics)bestPipeline.EvaluatedMetrics, bestPipeline.ScoredValidationData, bestPipeline.Pipeline.ToPipeline()); + return new MulticlassClassificationResult(bestResult, results); + } + + public static Pipeline GetPipeline(this MulticlassClassificationContext context, IDataView dataView, string label) + { + return PipelineSuggesterApi.GetPipeline(TaskKind.MulticlassClassification, dataView, label); + } + } + + public static class TransformExtensions + { + public static IEstimator InferTransforms(this TransformsCatalog catalog, IDataView data, string label) + { + UserInputValidationUtil.ValidateInferTransformArgs(data, label); + var mlContext = new MLContext(); + var suggestedTransforms = TransformInferenceApi.InferTransforms(mlContext, data, label); + var estimators = suggestedTransforms.Select(s => s.Estimator); + var pipeline = new EstimatorChain(); + foreach(var estimator in estimators) + { + pipeline = pipeline.Append(estimator); + } + return pipeline; + } + } + + public static class DataExtensions + { + // Delimiter, header, column datatype inference + public static ColumnInferenceResult InferColumns(this DataOperations catalog, string path, string label, + bool hasHeader = false, string separator = null, bool? isQuoted = null, bool? isSparse = null) + { + UserInputValidationUtil.ValidateInferColumnsArgs(path, label); + var mlContext = new MLContext(); + return ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separator, isQuoted, isSparse); + } + + // Auto reader (includes column inference) + public static IDataView AutoRead(this DataOperations catalog, Stream stream) + { + throw new NotImplementedException(); + } + + public static IDataView AutoRead(this DataOperations catalog, string path, string label, + bool hasHeader = false, string separator = null, bool? isQuoted = null, bool? isSparse = null) + { + UserInputValidationUtil.ValidateAutoReadArgs(path, label); + var mlContext = new MLContext(); + var columnInferenceResult = ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separator, isQuoted, isSparse); + var textLoader = columnInferenceResult.BuildTextLoader(); + return textLoader.Read(path); + } + + public static IDataView AutoRead(this DataOperations catalog, IMultiStreamSource source, string label, + bool hasHeader = false, string separator = null, bool? isQuoted = null, bool? isSparse = null) + { + UserInputValidationUtil.ValidateAutoReadArgs(source, label); + var mlContext = new MLContext(); + var columnInferenceResult = ColumnInferenceApi.InferColumns(mlContext, source, label, hasHeader, separator, isQuoted, isSparse); + var textLoader = columnInferenceResult.BuildTextLoader(); + return textLoader.Read(source); + } + + public static TextLoader CreateTextReader(this DataOperations catalog, ColumnInferenceResult columnInferenceResult) + { + UserInputValidationUtil.ValidateCreateTextReaderArgs(columnInferenceResult); + return columnInferenceResult.BuildTextLoader(); + } + + // Task inference + public static MachineLearningTaskType InferTask(this DataOperations catalog, IDataView dataView) + { + throw new NotImplementedException(); + } + + public enum MachineLearningTaskType + { + Regression, + BinaryClassification, + MultiClassClassification + } + } + + public class ColumnInferenceResult + { + public readonly IEnumerable<(TextLoader.Column, ColumnPurpose)> Columns; + public readonly bool IsQuoted; + public readonly bool IsSparse; + public readonly string Separator; + public readonly bool HasHeader; + + public ColumnInferenceResult(IEnumerable<(TextLoader.Column, ColumnPurpose)> columns, + bool isQuoted, bool isSparse, string separator, bool hasHeader) + { + Columns = columns; + IsQuoted = isQuoted; + IsSparse = isSparse; + Separator = separator; + HasHeader = hasHeader; + } + + internal TextLoader BuildTextLoader() + { + var context = new MLContext(); + return new TextLoader(context, new TextLoader.Arguments() { + AllowQuoting = IsQuoted, + AllowSparse = IsSparse, + Column = Columns.Select(c => c.Item1).ToArray(), + Separator = Separator, + HasHeader = HasHeader + }); + } + } + + public class AutoFitSettings + { + public ExperimentStoppingCriteria StoppingCriteria = new ExperimentStoppingCriteria(); + internal IterationStoppingCriteria IterationStoppingCriteria; + internal Concurrency Concurrency; + internal Filters Filters; + internal CrossValidationSettings CrossValidationSettings; + internal OptimizingMetric OptimizingMetric; + internal bool EnableEnsembling; + internal bool EnableModelExplainability; + internal bool EnableAutoTransformation; + + // spec question: Are following automatic or a user setting? + internal bool EnableSubSampling; + internal bool EnableCaching; + internal bool ExternalizeTraining; + internal TraceLevel TraceLevel; // Should this be controlled through code or appconfig? + } + + public class ExperimentStoppingCriteria + { + public int MaxIterations = 100; + public int TimeOutInMinutes = 300; + internal bool StopAfterConverging; + internal double ExperimentExitScore; + } + + internal class Filters + { + internal IEnumerable WhitelistTrainers; + internal IEnumerable BlackListTrainers; + internal IEnumerable WhitelistTransformers; + internal IEnumerable BlacklistTransformers; + internal bool PreferExplainability; + internal bool PreferInferenceSpeed; + internal bool PreferSmallDeploymentSize; + internal bool PreferSmallMemoryFootprint; + } + + public class IterationStoppingCriteria + { + internal int TimeOutInSeconds; + internal bool TerminateOnLowAccuracy; + } + + public class Concurrency + { + internal int MaxConcurrentIterations; + internal int MaxCoresPerIteration; + } + + internal enum Trainers + { + } + + internal enum Transformers + { + } + + internal class CrossValidationSettings + { + internal int NumberOfFolds; + internal int ValidationSizePercentage; + internal IEnumerable StratificationColumnNames; + } + + public class BinaryClassificationResult + { + public readonly BinaryClassificationItertionResult BestPipeline; + public readonly BinaryClassificationItertionResult[] IterationResults; + + public BinaryClassificationResult(BinaryClassificationItertionResult bestPipeline, + BinaryClassificationItertionResult[] iterationResults) + { + BestPipeline = bestPipeline; + IterationResults = iterationResults; + } + } + + public class MulticlassClassificationResult + { + public readonly MulticlassClassificationIterationResult BestPipeline; + public readonly MulticlassClassificationIterationResult[] IterationResults; + + public MulticlassClassificationResult(MulticlassClassificationIterationResult bestPipeline, + MulticlassClassificationIterationResult[] iterationResults) + { + BestPipeline = bestPipeline; + IterationResults = iterationResults; + } + } + + public class RegressionResult + { + public readonly RegressionIterationResult BestPipeline; + public readonly RegressionIterationResult[] IterationResults; + + public RegressionResult(RegressionIterationResult bestPipeline, + RegressionIterationResult[] iterationResults) + { + BestPipeline = bestPipeline; + IterationResults = iterationResults; + } + } + + public class BinaryClassificationItertionResult + { + public readonly BinaryClassificationMetrics Metrics; + public readonly ITransformer Model; + public readonly IDataView ScoredValidationData; + public readonly Pipeline Pipeline; + + public BinaryClassificationItertionResult(ITransformer model, BinaryClassificationMetrics metrics, IDataView scoredValidationData, Pipeline pipeline) + { + Model = model; + ScoredValidationData = scoredValidationData; + Metrics = metrics; + Pipeline = pipeline; + } + } + + public class MulticlassClassificationIterationResult + { + public readonly MultiClassClassifierMetrics Metrics; + public readonly ITransformer Model; + public readonly IDataView ScoredValidationData; + public readonly Pipeline Pipeline; + + public MulticlassClassificationIterationResult(ITransformer model, MultiClassClassifierMetrics metrics, IDataView scoredValidationData, Pipeline pipeline) + { + Model = model; + Metrics = metrics; + ScoredValidationData = scoredValidationData; + Pipeline = pipeline; + } + } + + public class RegressionIterationResult + { + public readonly RegressionMetrics Metrics; + public readonly ITransformer Model; + public readonly IDataView ScoredValidationData; + public readonly Pipeline Pipeline; + + public RegressionIterationResult(ITransformer model, RegressionMetrics metrics, IDataView scoredValidationData, Pipeline pipeline) + { + Model = model; + Metrics = metrics; + ScoredValidationData = scoredValidationData; + Pipeline = pipeline; + } + } + + public enum InferenceType + { + Seperator, + Header, + Label, + Task, + ColumnDataKind, + ColumnPurpose, + Tranform, + Trainer, + Hyperparams, + ColumnSplit + } + + public class InferenceException : Exception + { + public InferenceType InferenceType; + + public InferenceException(InferenceType inferenceType, string message) + : base(message) + { + } + + public InferenceException(InferenceType inferenceType, string message, Exception inner) + : base(message, inner) + { + } + } + + public class Pipeline + { + public readonly PipelineNode[] Elements; + + public Pipeline(PipelineNode[] elements) + { + Elements = elements; + } + } + + public class PipelineNode + { + public readonly string Name; + public readonly PipelineNodeType ElementType; + public readonly string[] InColumns; + public readonly string[] OutColumns; + public readonly IDictionary Properties; + + public PipelineNode(string name, PipelineNodeType elementType, + string[] inColumns, string[] outColumns, + IDictionary properties) + { + Name = name; + ElementType = elementType; + InColumns = inColumns; + OutColumns = outColumns; + Properties = properties; + } + } + + public enum PipelineNodeType + { + Transform, + Trainer + } +} diff --git a/src/AutoML/API/UserInputValidationUtil.cs b/src/AutoML/API/UserInputValidationUtil.cs new file mode 100644 index 0000000000..fa91ee3427 --- /dev/null +++ b/src/AutoML/API/UserInputValidationUtil.cs @@ -0,0 +1,212 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal static class UserInputValidationUtil + { + public static void ValidateAutoFitArgs(IDataView trainData, string label, IDataView validationData, + AutoFitSettings settings, IEnumerable<(string, ColumnPurpose)> purposeOverrides) + { + ValidateTrainData(trainData); + ValidateLabel(trainData, validationData, label); + ValidateValidationData(trainData, validationData); + ValidateSettings(settings); + ValidatePurposeOverrides(trainData, validationData, label, purposeOverrides); + } + + public static void ValidateInferTransformArgs(IDataView data, string label) + { + ValidateTrainData(data); + ValidateLabel(data, null, label); + } + + public static void ValidateInferColumnsArgs(string path, string label) + { + ValidateLabel(label); + ValidatePath(path); + } + + public static void ValidateAutoReadArgs(string path, string label) + { + ValidateLabel(label); + ValidatePath(path); + } + + public static void ValidateAutoReadArgs(IMultiStreamSource source, string label) + { + ValidateLabel(label); + + if(source == null) + { + throw new ArgumentNullException(nameof(source), $"Source parameter cannot be null"); + } + + if(source.Count < 0) + { + throw new ArgumentException(nameof(source), $"Multistream source cannot be empty"); + } + } + + public static void ValidateCreateTextReaderArgs(ColumnInferenceResult columnInferenceResult) + { + if(columnInferenceResult == null) + { + throw new ArgumentNullException(nameof(columnInferenceResult), $"Column inference result cannot be null"); + } + + if(columnInferenceResult.Columns == null || !columnInferenceResult.Columns.Any()) + { + throw new ArgumentException(nameof(columnInferenceResult), $"Column inference result must contain at least one column"); + } + + if(columnInferenceResult.Columns.Any(c => c.Item1 == null)) + { + throw new ArgumentException(nameof(columnInferenceResult), $"Column inference result cannot contain null columns"); + } + } + + private static void ValidateTrainData(IDataView trainData) + { + if(trainData == null) + { + throw new ArgumentNullException(nameof(trainData), "Training data cannot be null"); + } + } + + private static void ValidateLabel(IDataView trainData, IDataView validationData, string label) + { + ValidateLabel(label); + + if(trainData.Schema.GetColumnOrNull(label) == null) + { + throw new ArgumentException(nameof(label), $"Provided label column '{label}' not found in training data."); + } + + if (validationData != null && validationData.Schema.GetColumnOrNull(label) == null) + { + throw new ArgumentException(nameof(label), $"Provided label column '{label}' not found in validation data."); + } + } + + private static void ValidateLabel(string label) + { + if (label == null) + { + throw new ArgumentNullException(nameof(label), "Provided label cannot be null"); + } + } + + private static void ValidatePath(string path) + { + if (path == null) + { + throw new ArgumentNullException(nameof(path), "Provided path cannot be null"); + } + + var fileInfo = new FileInfo(path); + + if (!fileInfo.Exists) + { + throw new ArgumentException(nameof(path), $"File '{path}' does not exist"); + } + + if (fileInfo.Length == 0) + { + throw new ArgumentException(nameof(path), $"File at path '{path}' cannot be empty"); + } + } + + private static void ValidateValidationData(IDataView trainData, IDataView validationData) + { + if(validationData == null) + { + return; + } + + const string schemaMismatchError = "Training data and validation data schemas do not match."; + + if (trainData.Schema.Count != validationData.Schema.Count) + { + throw new ArgumentException(nameof(validationData), $"{schemaMismatchError} Train data has '{trainData.Schema.Count}' columns," + + $"and validation data has '{validationData.Schema.Count}' columns."); + } + + foreach(var trainCol in trainData.Schema) + { + var validCol = validationData.Schema.GetColumnOrNull(trainCol.Name); + if(validCol == null) + { + throw new ArgumentException(nameof(validationData), $"{schemaMismatchError} Column '{trainCol.Name}' exsits in train data, but not in validation data."); + } + + if(trainCol.Type != validCol.Value.Type) + { + throw new ArgumentException(nameof(validationData), $"{schemaMismatchError} Column '{trainCol.Name}' is of type {trainCol.Type} in train data, and type " + + $"{validCol.Value.Type} in validation data."); + } + } + } + + private static void ValidateSettings(AutoFitSettings settings) + { + if(settings?.StoppingCriteria == null) + { + return; + } + + if(settings.StoppingCriteria.MaxIterations <= 0) + { + throw new ArgumentOutOfRangeException(nameof(settings), "Max iterations must be > 0"); + } + } + + private static void ValidatePurposeOverrides(IDataView trainData, IDataView validationData, + string label, IEnumerable<(string, ColumnPurpose)> purposeOverrides) + { + if (purposeOverrides == null) + { + return; + } + + foreach (var purposeOverride in purposeOverrides) + { + var colName = purposeOverride.Item1; + var colPurpose = purposeOverride.Item2; + + if (colName == null) + { + throw new ArgumentException(nameof(purposeOverrides), "Purpose override column name cannot be null."); + } + + if (trainData.Schema.GetColumnOrNull(colName) == null) + { + throw new ArgumentException(nameof(purposeOverride), $"Purpose override column name '{colName}' not found in training data."); + } + + if(validationData != null && validationData.Schema.GetColumnOrNull(colName) == null) + { + throw new ArgumentException(nameof(purposeOverride), $"Purpose override column name '{colName}' not found in validation data."); + } + + // if column w/ purpose = 'Label' found, ensure it matches the passed-in label + if(colPurpose == ColumnPurpose.Label && colName != label) + { + throw new ArgumentException(nameof(purposeOverrides), $"Label column name in provided list of purposes '{colName}' must match " + + $"the label column name '{label}'"); + } + } + + // ensure all column names unique + var groups = purposeOverrides.GroupBy(p => p.Item1); + var duplicateColName = groups.FirstOrDefault(g => g.Count() > 1)?.First().Item1; + if (duplicateColName != null) + { + throw new ArgumentException(nameof(purposeOverrides), $"Duplicate column name '{duplicateColName}' in purpose overrides."); + } + } + } +} \ No newline at end of file diff --git a/src/AutoML/Assembly.cs b/src/AutoML/Assembly.cs new file mode 100644 index 0000000000..ad5e727543 --- /dev/null +++ b/src/AutoML/Assembly.cs @@ -0,0 +1,4 @@ +using System.Runtime.CompilerServices; + +// [assembly: InternalsVisibleTo("InternalClient")] +// [assembly: InternalsVisibleTo("Test")] \ No newline at end of file diff --git a/src/AutoML/AutoFitter/AutoFitApi.cs b/src/AutoML/AutoFitter/AutoFitApi.cs new file mode 100644 index 0000000000..978206a5a7 --- /dev/null +++ b/src/AutoML/AutoFitter/AutoFitApi.cs @@ -0,0 +1,30 @@ +using System.Collections.Generic; +using System.Linq; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal static class AutoFitApi + { + public static (PipelineRunResult[] allPipelines, PipelineRunResult bestPipeline) Fit(IDataView trainData, + IDataView validationData, string label, AutoFitSettings settings, TaskKind task, OptimizingMetric metric, + IEnumerable<(string, ColumnPurpose)> purposeOverrides, IDebugLogger debugLogger) + { + // hack: init new MLContext + var mlContext = new MLContext(); + + var purposeOverridesDict = purposeOverrides?.ToDictionary(p => p.Item1, p => p.Item2); + var optimizingMetricfInfo = new OptimizingMetricInfo(metric); + + // infer pipelines + var autoFitter = new AutoFitter(mlContext, optimizingMetricfInfo, settings ?? new AutoFitSettings(), task, + label, trainData, validationData, purposeOverridesDict, debugLogger); + var allPipelines = autoFitter.Fit(); + + var bestScore = allPipelines.Max(p => p.Score); + var bestPipeline = allPipelines.First(p => p.Score == bestScore); + + return (allPipelines, bestPipeline); + } + } +} diff --git a/src/AutoML/AutoFitter/AutoFitter.cs b/src/AutoML/AutoFitter/AutoFitter.cs new file mode 100644 index 0000000000..437ce5af69 --- /dev/null +++ b/src/AutoML/AutoFitter/AutoFitter.cs @@ -0,0 +1,157 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal class AutoFitter + { + private readonly IDebugLogger _debugLogger; + private readonly IList _history; + private readonly string _label; + private readonly MLContext _mlContext; + private readonly OptimizingMetricInfo _optimizingMetricInfo; + private readonly IDictionary _purposeOverrides; + private readonly AutoFitSettings _settings; + private readonly IDataView _trainData; + private readonly TaskKind _task; + private readonly IDataView _validationData; + + public AutoFitter(MLContext mlContext, OptimizingMetricInfo metricInfo, AutoFitSettings settings, + TaskKind task, string label, IDataView trainData, IDataView validationData, + IDictionary purposeOverrides, IDebugLogger debugLogger) + { + _debugLogger = debugLogger; + _history = new List(); + _label = label; + _mlContext = mlContext; + _optimizingMetricInfo = metricInfo; + _settings = settings ?? new AutoFitSettings(); + _purposeOverrides = purposeOverrides; + _trainData = trainData; + _task = task; + _validationData = validationData; + } + + public PipelineRunResult[] Fit() + { + IteratePipelinesAndFit(); + return _history.ToArray(); + } + + private void IteratePipelinesAndFit() + { + var stopwatch = Stopwatch.StartNew(); + var transforms = TransformInferenceApi.InferTransforms(_mlContext, _trainData, _label, _purposeOverrides); + var availableTrainers = RecipeInference.AllowedTrainers(_mlContext, _task, _settings.StoppingCriteria.MaxIterations); + + do + { + // get next pipeline + var pipeline = PipelineSuggester.GetNextPipeline(_history, transforms, availableTrainers, _optimizingMetricInfo.IsMaximizing); + + // break if no candidates returned, means no valid pipeline available + if (pipeline == null) + { + break; + } + + // evaluate pipeline + ProcessPipeline(pipeline); + + } while (_history.Count < _settings.StoppingCriteria.MaxIterations && + stopwatch.Elapsed.TotalMinutes < _settings.StoppingCriteria.TimeOutInMinutes); + } + + private void ProcessPipeline(InferredPipeline pipeline) + { + // run pipeline + var stopwatch = Stopwatch.StartNew(); + + PipelineRunResult runResult; + try + { + var pipelineModel = pipeline.TrainTransformer(_trainData); + var scoredValidationData = pipelineModel.Transform(_validationData); + var evaluatedMetrics = GetEvaluatedMetrics(scoredValidationData); + var score = GetPipelineScore(evaluatedMetrics); + runResult = new PipelineRunResult(evaluatedMetrics, pipelineModel, pipeline, score, scoredValidationData); + } + catch(Exception ex) + { + WriteDebugLog(DebugStream.Exception, $"{pipeline.Trainer} Crashed {ex}"); + runResult = new PipelineRunResult(pipeline, false); + } + + // save pipeline run + _history.Add(runResult); + + // debug log pipeline result + if(runResult.RunSucceded) + { + var transformsSb = new StringBuilder(); + foreach (var transform in pipeline.Transforms) + { + transformsSb.Append("xf="); + transformsSb.Append(transform); + transformsSb.Append(" "); + } + var commandLineStr = $"{transformsSb.ToString()} tr={pipeline.Trainer}"; + WriteDebugLog(DebugStream.RunResult, $"{_history.Count}\t{runResult.Score}\t{stopwatch.Elapsed}\t{commandLineStr}"); + } + } + + private object GetEvaluatedMetrics(IDataView scoredData) + { + switch(_task) + { + case TaskKind.BinaryClassification: + return _mlContext.BinaryClassification.EvaluateNonCalibrated(scoredData); + case TaskKind.MulticlassClassification: + return _mlContext.MulticlassClassification.Evaluate(scoredData); + case TaskKind.Regression: + return _mlContext.Regression.Evaluate(scoredData); + // should not be possible to reach here + default: + throw new InvalidOperationException($"unsupported machine learning task type {_task}"); + } + } + + private double GetPipelineScore(object evaluatedMetrics) + { + var type = evaluatedMetrics.GetType(); + if(type == typeof(BinaryClassificationMetrics)) + { + return ((BinaryClassificationMetrics)evaluatedMetrics).Accuracy; + } + if (type == typeof(MultiClassClassifierMetrics)) + { + return ((MultiClassClassifierMetrics)evaluatedMetrics).AccuracyMicro; + } + if (type == typeof(RegressionMetrics)) + { + return ((RegressionMetrics)evaluatedMetrics).RSquared; + } + + // should not be possible to reach here + throw new InvalidOperationException($"unsupported machine learning task type {_task}"); + } + + private void WriteDebugLog(DebugStream stream, string message) + { + if(_debugLogger == null) + { + return; + } + + _debugLogger.Log(stream, message); + } + } +} \ No newline at end of file diff --git a/src/AutoML/AutoFitter/InferredPipeline.cs b/src/AutoML/AutoFitter/InferredPipeline.cs new file mode 100644 index 0000000000..2b954ae0c6 --- /dev/null +++ b/src/AutoML/AutoFitter/InferredPipeline.cs @@ -0,0 +1,106 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using System.Linq; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; +using static Microsoft.ML.Auto.TransformInference.ColumnRoutingStructure; + +namespace Microsoft.ML.Auto +{ + /// + /// A runnable pipeline. Contains a learner and set of transforms, + /// along with a RunSummary if it has already been exectued. + /// + internal class InferredPipeline + { + private readonly MLContext _context; + public readonly IList Transforms; + public readonly SuggestedTrainer Trainer; + + public InferredPipeline(IEnumerable transforms, + SuggestedTrainer trainer, + MLContext context = null) + { + Transforms = transforms.Select(t => t.Clone()).ToList(); + Trainer = trainer.Clone(); + _context = context ?? new MLContext(); + AddNormalizationTransforms(); + } + + public override string ToString() => $"{Trainer}+{string.Join("+", Transforms.Select(t => t.ToString()))}"; + + public override bool Equals(object obj) + { + var pipeline = obj as InferredPipeline; + if(pipeline == null) + { + return false; + } + return pipeline.ToString() == this.ToString(); + } + + public override int GetHashCode() + { + return ToString().GetHashCode(); + } + + public Pipeline ToPipeline() + { + var pipelineElements = new List(); + foreach(var transform in Transforms) + { + pipelineElements.Add(transform.ToPipelineNode()); + } + pipelineElements.Add(Trainer.ToPipelineNode()); + return new Pipeline(pipelineElements.ToArray()); + } + + public ITransformer TrainTransformer(IDataView trainData) + { + IEstimator pipeline = new EstimatorChain(); + + // append each transformer to the pipeline + foreach (var transform in Transforms) + { + if(transform.Estimator != null) + { + pipeline = pipeline.Append(transform.Estimator); + } + } + + // get learner + var learner = Trainer.BuildTrainer(_context); + + // append learner to pipeline + pipeline = pipeline.Append(learner); + + return pipeline.Fit(trainData); + } + + private void AddNormalizationTransforms() + { + // get learner + var learner = Trainer.BuildTrainer(_context); + + // only add normalization if learner needs it + if (!learner.Info.NeedNormalization) + { + return; + } + + var estimator = _context.Transforms.Normalize(DefaultColumnNames.Features); + var annotatedColNames = new[] { new AnnotatedName() { Name = DefaultColumnNames.Features, IsNumeric = true } }; + var routingStructure = new TransformInference.ColumnRoutingStructure(annotatedColNames, annotatedColNames); + var properties = new Dictionary() + { + { "mode", "MinMax" } + }; + var transform = new SuggestedTransform(estimator, + routingStructure: routingStructure, properties: properties); + Transforms.Add(transform); + } + } +} \ No newline at end of file diff --git a/src/AutoML/AutoFitter/OptimizingMetric.cs b/src/AutoML/AutoFitter/OptimizingMetric.cs new file mode 100644 index 0000000000..871ccc7723 --- /dev/null +++ b/src/AutoML/AutoFitter/OptimizingMetric.cs @@ -0,0 +1,68 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Linq; + +namespace Microsoft.ML.Auto +{ + public enum OptimizingMetric + { + Auc, + Accuracy, + AccuracyMacro, + L1, + L2, + F1, + AuPrc, + TopKAccuracy, + Rms, + LossFn, + RSquared, + LogLoss, + LogLossReduction, + Ndcg, + Dcg, + PositivePrecision, + PositiveRecall, + NegativePrecision, + NegativeRecall, + DrAtK, + DrAtPFpr, + DrAtNumPos, + NumAnomalies, + ThreshAtK, + ThreshAtP, + ThreshAtNumPos, + Nmi, + AvgMinScore, + Dbi + }; + + internal sealed class OptimizingMetricInfo + { + public string Name { get; } + public bool IsMaximizing { get; } + + private static OptimizingMetric[] _minimizingMetrics = new OptimizingMetric[] + { + OptimizingMetric.L1, + OptimizingMetric.L2, + OptimizingMetric.Rms, + OptimizingMetric.LossFn, + OptimizingMetric.ThreshAtK, + OptimizingMetric.ThreshAtP, + OptimizingMetric.ThreshAtNumPos, + OptimizingMetric.AvgMinScore, + OptimizingMetric.Dbi + }; + + public OptimizingMetricInfo(OptimizingMetric optimizingMetric) + { + Name = optimizingMetric.ToString(); + IsMaximizing = !_minimizingMetrics.Contains(optimizingMetric); + } + + public override string ToString() => Name; + } +} diff --git a/src/AutoML/AutoFitter/PipelineRunResult.cs b/src/AutoML/AutoFitter/PipelineRunResult.cs new file mode 100644 index 0000000000..79fb75f4ff --- /dev/null +++ b/src/AutoML/AutoFitter/PipelineRunResult.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal class PipelineRunResult + { + public readonly object EvaluatedMetrics; + public readonly InferredPipeline Pipeline; + public readonly double Score; + public readonly IDataView ScoredValidationData; + + /// + /// This setting is true if the pipeline run succeeded & ran to completion. + /// Else, it is false if some exception was thrown before the run could complete. + /// + public readonly bool RunSucceded; + + public ITransformer Model { get; set; } + + public PipelineRunResult(object evaluatedMetrics, ITransformer model, InferredPipeline pipeline, double score, IDataView scoredValidationData, + bool runSucceeded = true) + { + EvaluatedMetrics = evaluatedMetrics; + Model = model; + Pipeline = pipeline; + Score = score; + ScoredValidationData = scoredValidationData; + RunSucceded = runSucceeded; + } + + public PipelineRunResult(InferredPipeline pipeline, bool runSucceeded) + { + Pipeline = pipeline; + RunSucceded = runSucceeded; + } + + public IRunResult ToRunResult(bool isMetricMaximizing) + { + return new RunResult(Pipeline.Trainer.HyperParamSet, Score, isMetricMaximizing); + } + } +} diff --git a/src/AutoML/AutoFitter/RecipeInference.cs b/src/AutoML/AutoFitter/RecipeInference.cs new file mode 100644 index 0000000000..a9c2cc619d --- /dev/null +++ b/src/AutoML/AutoFitter/RecipeInference.cs @@ -0,0 +1,29 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; + +namespace Microsoft.ML.Auto +{ + internal static class RecipeInference + { + /// + /// Given a predictor type & target max num of iterations, return a set of all permissible trainers (with their sweeper params, if defined). + /// + /// Array of viable learners. + public static IEnumerable AllowedTrainers(MLContext mlContext, TaskKind task, + int maxIterations) + { + var trainerExtensions = TrainerExtensionCatalog.GetTrainers(task, maxIterations); + + var trainers = new List(); + foreach (var trainerExtension in trainerExtensions) + { + var learner = new SuggestedTrainer(mlContext, trainerExtension); + trainers.Add(learner); + } + return trainers.ToArray(); + } + } +} diff --git a/src/AutoML/AutoFitter/SuggestedTrainer.cs b/src/AutoML/AutoFitter/SuggestedTrainer.cs new file mode 100644 index 0000000000..7f4aadd845 --- /dev/null +++ b/src/AutoML/AutoFitter/SuggestedTrainer.cs @@ -0,0 +1,91 @@ +using System.Collections.Generic; +using System.Linq; +using Microsoft.ML.Training; + +namespace Microsoft.ML.Auto +{ + internal class SuggestedTrainer + { + public IEnumerable SweepParams { get; } + public TrainerName TrainerName { get; } + public ParameterSet HyperParamSet { get; set; } + + private readonly MLContext _mlContext; + private readonly ITrainerExtension _trainerExtension; + + internal SuggestedTrainer(MLContext mlContext, ITrainerExtension trainerExtension, + ParameterSet hyperParamSet = null) + { + _mlContext = mlContext; + _trainerExtension = trainerExtension; + SweepParams = _trainerExtension.GetHyperparamSweepRanges(); + TrainerName = _trainerExtension.GetTrainerName(); + SetHyperparamValues(hyperParamSet); + } + + public void SetHyperparamValues(ParameterSet hyperParamSet) + { + HyperParamSet = hyperParamSet; + PropagateParamSetValues(); + } + + public SuggestedTrainer Clone() + { + return new SuggestedTrainer(_mlContext, _trainerExtension, HyperParamSet?.Clone()); + } + + public ITrainerEstimator, IPredictor> BuildTrainer(MLContext env) + { + IEnumerable sweepParams = null; + if (HyperParamSet != null) + { + sweepParams = SweepParams; + } + return _trainerExtension.CreateInstance(_mlContext, sweepParams); + } + + public override string ToString() + { + var paramsStr = string.Empty; + if (SweepParams != null) + { + paramsStr = string.Join(", ", SweepParams.Where(p => p != null && p.RawValue != null).Select(p => $"{p.Name}:{p.ProcessedValue()}")); + } + return $"{TrainerName}{{{paramsStr}}}"; + } + + public PipelineNode ToPipelineNode() + { + var hyperParams = SweepParams.Where(p => p != null && p.RawValue != null); + var elementProperties = new Dictionary(); + foreach (var hyperParam in hyperParams) + { + elementProperties[hyperParam.Name] = hyperParam.ProcessedValue(); + } + return new PipelineNode(TrainerName.ToString(), PipelineNodeType.Trainer, + new[] { "Features" }, new[] { "Score" }, elementProperties); + } + + /// + /// make sure sweep params and param set are consistent + /// + private void PropagateParamSetValues() + { + if (HyperParamSet == null) + { + return; + } + + var spMap = SweepParams.ToDictionary(sp => sp.Name); + + foreach (var hp in HyperParamSet) + { + if (spMap.ContainsKey(hp.Name)) + { + var sp = spMap[hp.Name]; + sp.SetUsingValueText(hp.ValueText); + } + } + } + } +} diff --git a/src/AutoML/AutoML.csproj b/src/AutoML/AutoML.csproj new file mode 100644 index 0000000000..98c8829e27 --- /dev/null +++ b/src/AutoML/AutoML.csproj @@ -0,0 +1,20 @@ + + + + netstandard2.0 + 7.3 + Microsoft.ML.Auto + + + + x64 + 1701;1702;0649 + + + + + + + + + diff --git a/src/AutoML/AutoMlUtils.cs b/src/AutoML/AutoMlUtils.cs new file mode 100644 index 0000000000..4255132193 --- /dev/null +++ b/src/AutoML/AutoMlUtils.cs @@ -0,0 +1,33 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Linq; +using Microsoft.ML.Data; +using Microsoft.ML.Transforms; + +namespace Microsoft.ML.Auto +{ + internal static class AutoMlUtils + { + public static Random Random = new Random(); + + public static void Assert(bool boolVal, string message = null) + { + if(!boolVal) + { + message = message ?? "Assertion failed"; + throw new InvalidOperationException(message); + } + } + + public static IDataView Take(this IDataView data, int count) + { + // REVIEW: This should take an env as a parameter, not create one. + var env = new MLContext(); + var take = SkipTakeFilter.Create(env, new SkipTakeFilter.TakeArguments { Count = count }, data); + return new CacheDataView(env, data, Enumerable.Range(0, data.Schema.Count).ToArray()); + } + } +} \ No newline at end of file diff --git a/src/AutoML/ColumnInference/ColumnGroupingInference.cs b/src/AutoML/ColumnInference/ColumnGroupingInference.cs new file mode 100644 index 0000000000..7bb17316a4 --- /dev/null +++ b/src/AutoML/ColumnInference/ColumnGroupingInference.cs @@ -0,0 +1,154 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + /// + /// This class incapsulates logic for grouping together the inferred columns of the text file based on their type + /// and purpose, and generating column names. + /// + internal static class ColumnGroupingInference + { + /// + /// This is effectively a merger of and a + /// with support for vector-value columns. + /// + public class GroupingColumn + { + public string SuggestedName; + public DataKind ItemKind; + public ColumnPurpose Purpose; + public string ColumnRangeSelector; + + public GroupingColumn(string name, DataKind kind, ColumnPurpose purpose, string rangeSelector) + { + SuggestedName = name; + ItemKind = kind; + Purpose = purpose; + ColumnRangeSelector = rangeSelector; + } + + public TextLoader.Column GenerateTextLoaderColumn() + { + return TextLoader.Column.Parse(string.Format("{0}:{1}:{2}", SuggestedName, ItemKind, ColumnRangeSelector)); + } + } + + /// + /// Group together the single-valued columns with the same type and purpose and generate column names. + /// + /// The host environment to use. + /// Whether the original file had a header. + /// If yes, the fields are used to generate the column + /// names, otherwise they are ignored. + /// The (detected) column types. + /// The (detected) column purposes. Must be parallel to . + /// The struct containing an array of grouped columns specifications. + public static GroupingColumn[] InferGroupingAndNames(MLContext env, bool hasHeader, ColumnTypeInference.Column[] types, PurposeInference.Column[] purposes) + { + var result = new List(); + var tuples = types.Zip(purposes, Tuple.Create).ToList(); + var grouped = + from t in tuples + group t by + new + { + t.Item1.ItemType, + t.Item2.Purpose, + purposeGroupId = GetPurposeGroupId(t.Item1.ColumnIndex, t.Item2.Purpose) + } + into g + select g; + + foreach (var g in grouped) + { + string name = (hasHeader && g.Count() == 1) + ? g.First().Item1.SuggestedName + : GetName(g.Key.ItemType.RawKind(), g.Key.Purpose, result); + + string range = GetRange(g.Select(t => t.Item1.ColumnIndex).ToArray()); + result.Add(new GroupingColumn(name, g.Key.ItemType.RawKind(), g.Key.Purpose, range)); + } + + return result.ToArray(); + } + + private static int GetPurposeGroupId(int columnIndex, ColumnPurpose purpose) + { + if (purpose == ColumnPurpose.CategoricalFeature || purpose == ColumnPurpose.TextFeature) + return columnIndex; + return 0; + } + + private static string GetName(DataKind itemKind, ColumnPurpose purpose, List previousColumns) + { + string prefix = GetPurposeName(purpose, itemKind); + int i = 0; + string name = prefix; + while (previousColumns.Any(x => x.SuggestedName == name)) + { + i++; + name = string.Format("{0}{1:00}", prefix, i); + } + + return name; + } + + private static string GetPurposeName(ColumnPurpose purpose, DataKind itemKind) + { + switch (purpose) + { + case ColumnPurpose.NumericFeature: + if (itemKind == DataKind.Bool) + { + return "BooleanFeatures"; + } + else + { + return "Features"; + } + case ColumnPurpose.CategoricalFeature: + return "Cat"; + default: + return Enum.GetName(typeof(ColumnPurpose), purpose); + } + } + + /// + /// Generates a range selector from the array of indices. + /// + private static string GetRange(int[] indices) + { + var sb = new StringBuilder(); + var sorted = indices.OrderBy(x => x).ToArray(); + + sb.Append(indices[0]); + var prev = sorted[0]; + var start = sorted[0]; + for (int i = 1; i < sorted.Length; i++) + { + if (sorted[i] > prev + 1) + { + if (prev > start) + sb.AppendFormat("-{0}", prev); + start = sorted[i]; + sb.AppendFormat(",{0}", start); + } + prev = sorted[i]; + } + if (prev > start) + { + sb.AppendFormat("-{0}", prev); + } + + return sb.ToString(); + } + } +} diff --git a/src/AutoML/ColumnInference/ColumnInferenceApi.cs b/src/AutoML/ColumnInference/ColumnInferenceApi.cs new file mode 100644 index 0000000000..5f7a423919 --- /dev/null +++ b/src/AutoML/ColumnInference/ColumnInferenceApi.cs @@ -0,0 +1,107 @@ +using System; +using System.Linq; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal static class ColumnInferenceApi + { + public static ColumnInferenceResult InferColumns(MLContext context, string path, string label, + bool hasHeader, string separator, bool? isQuoted, bool? isSparse) + { + var sample = TextFileSample.CreateFromFullFile(path); + Func createDataView = (textLoader) => + { + return textLoader.Read(path); + }; + return InferColumns(context, sample, createDataView, label, hasHeader, separator, isQuoted, isSparse); + } + + public static ColumnInferenceResult InferColumns(MLContext context, IMultiStreamSource multiStreamSource, + string label, bool hasHeader, string separator, bool? isQuoted, bool? isSparse) + { + // heuristic: use first stream in multi-stream source to infer column types & split + var stream = multiStreamSource.Open(0); + var sample = TextFileSample.CreateFromFullStream(stream); + + Func createDataView = (textLoader) => + { + return textLoader.Read(multiStreamSource); + }; + + return InferColumns(context, sample, createDataView, label, hasHeader, separator, isQuoted, isSparse); + } + + private static TextFileContents.ColumnSplitResult InferSplit(TextFileSample sample, string separator, bool? isQuoted, bool? isSparse) + { + var separatorCandidates = separator == null ? TextFileContents.DefaultSeparators : new string[] { separator }; + var splitInference = TextFileContents.TrySplitColumns(sample, separatorCandidates); + + // respect passed-in overrides + if(isQuoted != null) + { + splitInference.AllowQuote = isQuoted.Value; + } + if(isSparse != null) + { + splitInference.AllowSparse = isSparse.Value; + } + + if (!splitInference.IsSuccess) + { + throw new InferenceException(InferenceType.ColumnSplit, "Unable to split the file provided into multiple, consistent columns."); + } + + return splitInference; + } + + private static ColumnTypeInference.InferenceResult InferColumnTypes(MLContext context, TextFileSample sample, + TextFileContents.ColumnSplitResult splitInference) + { + // infer column types + var typeInferenceResult = ColumnTypeInference.InferTextFileColumnTypes(context, sample, + new ColumnTypeInference.Arguments + { + ColumnCount = splitInference.ColumnCount, + Separator = splitInference.Separator, + AllowSparse = splitInference.AllowSparse, + AllowQuote = splitInference.AllowQuote, + }); + + if (!typeInferenceResult.IsSuccess) + { + throw new InferenceException(InferenceType.ColumnDataKind, "Unable to infer column types of the file provided."); + } + + return typeInferenceResult; + } + + private static ColumnInferenceResult InferColumns(MLContext context, + TextFileSample sample, Func createDataView, string label, + bool hasHeader, string separator, bool? isQuoted, bool? isSparse) + { + var splitInference = InferSplit(sample, separator, isQuoted, isSparse); + var typeInference = InferColumnTypes(context, sample, splitInference); + var typedLoaderArgs = new TextLoader.Arguments + { + Column = ColumnTypeInference.GenerateLoaderColumns(typeInference.Columns), + Separator = splitInference.Separator, + AllowSparse = splitInference.AllowSparse, + AllowQuoting = splitInference.AllowQuote, + HasHeader = hasHeader + }; + var textLoader = context.Data.CreateTextReader(typedLoaderArgs); + var dataView = createDataView(textLoader); + + var purposeInferenceResult = PurposeInference.InferPurposes(context, dataView, label); + + // infer column grouping and generate column names + var groupingResult = ColumnGroupingInference.InferGroupingAndNames(context, hasHeader, + typeInference.Columns, purposeInferenceResult); + + // build result objects & return + var inferredColumns = groupingResult.Select(c => (c.GenerateTextLoaderColumn(), c.Purpose)).ToArray(); + return new ColumnInferenceResult(inferredColumns, splitInference.AllowQuote, splitInference.AllowSparse, splitInference.Separator, hasHeader); + } + } +} diff --git a/src/AutoML/ColumnInference/ColumnPurpose.cs b/src/AutoML/ColumnInference/ColumnPurpose.cs new file mode 100644 index 0000000000..24aee2544c --- /dev/null +++ b/src/AutoML/ColumnInference/ColumnPurpose.cs @@ -0,0 +1,15 @@ +namespace Microsoft.ML.Auto +{ + public enum ColumnPurpose + { + Ignore = 0, + Name = 1, + Label = 2, + NumericFeature = 3, + CategoricalFeature = 4, + TextFeature = 5, + Weight = 6, + Group = 7, + ImagePath = 8 + } +} diff --git a/src/AutoML/ColumnInference/ColumnTypeInference.cs b/src/AutoML/ColumnInference/ColumnTypeInference.cs new file mode 100644 index 0000000000..58a80e6581 --- /dev/null +++ b/src/AutoML/ColumnInference/ColumnTypeInference.cs @@ -0,0 +1,383 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text.RegularExpressions; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + /// + /// This class incapsulates logic for automatic inference of column types for the text file. + /// It also attempts to guess whether there is a header row. + /// + internal static class ColumnTypeInference + { + // Maximum number of columns to invoke type inference. + // REVIEW: revisit this requirement. Either work for arbitrary number of columns, + // or have a 'dumb' inference that would quickly figure everything out. + private const int SmartColumnsLim = 10000; + + internal sealed class Arguments + { + public string Separator; + public bool AllowSparse; + public bool AllowQuote; + public int ColumnCount; + public int MaxRowsToRead; + + public Arguments() + { + MaxRowsToRead = 10000; + } + } + + private class IntermediateColumn + { + private readonly ReadOnlyMemory[] _data; + private readonly int _columnId; + private PrimitiveType _suggestedType; + private bool? _hasHeader; + + public int ColumnId + { + get { return _columnId; } + } + + public PrimitiveType SuggestedType + { + get { return _suggestedType; } + set { _suggestedType = value; } + } + + public bool? HasHeader + { + get { return _hasHeader; } + set { _hasHeader = value; } + } + + public IntermediateColumn(ReadOnlyMemory[] data, int columnId) + { + _data = data; + _columnId = columnId; + } + + public ReadOnlyMemory[] RawData { get { return _data; } } + } + + public readonly struct Column + { + public readonly int ColumnIndex; + public readonly string SuggestedName; + public readonly PrimitiveType ItemType; + + public Column(int columnIndex, string suggestedName, PrimitiveType itemType) + { + ColumnIndex = columnIndex; + SuggestedName = suggestedName; + ItemType = itemType; + } + } + + public readonly struct InferenceResult + { + public readonly Column[] Columns; + public readonly bool HasHeader; + public readonly bool IsSuccess; + public readonly ReadOnlyMemory[][] Data; + + private InferenceResult(bool isSuccess, Column[] columns, bool hasHeader, ReadOnlyMemory[][] data) + { + IsSuccess = isSuccess; + Columns = columns; + HasHeader = hasHeader; + Data = data; + } + + public static InferenceResult Success(Column[] columns, bool hasHeader, ReadOnlyMemory[][] data) + { + return new InferenceResult(true, columns, hasHeader, data); + } + + public static InferenceResult Fail() + { + return new InferenceResult(false, null, false, null); + } + } + + private interface ITypeInferenceExpert + { + void Apply(IntermediateColumn[] columns); + } + + /// + /// Current design is as follows: there's a sequence of 'experts' that each look at all the columns. + /// Every expert may or may not assign the 'answer' (suggested type) to a column. If the expert needs + /// some information about the column (for example, the column values), this information is lazily calculated + /// by the column object, not the expert itself, to allow the reuse of the same information by another + /// expert. + /// + private static class Experts + { + internal sealed class BooleanValues : ITypeInferenceExpert + { + public void Apply(IntermediateColumn[] columns) + { + foreach (var col in columns) + { + if (!col.RawData.Skip(1) + .All(x => + { + bool value; + return Conversions.TryParse(in x, out value); + }) + ) + { + continue; + } + + col.SuggestedType = BoolType.Instance; + bool first; + + col.HasHeader = !Conversions.TryParse(in col.RawData[0], out first); + } + } + } + + internal sealed class AllNumericValues : ITypeInferenceExpert + { + public void Apply(IntermediateColumn[] columns) + { + foreach (var col in columns) + { + // skip columns that already have a suggested type + if(col.SuggestedType != null) + { + continue; + } + + if (!col.RawData.Skip(1) + .All(x => + { + Single value; + return Conversions.TryParse(in x, out value); + }) + ) + { + continue; + } + + col.SuggestedType = NumberType.R4; + + var headerStr = col.RawData[0].ToString(); + col.HasHeader = !double.TryParse(headerStr, out var doubleVal); + } + } + } + + internal sealed class EverythingText : ITypeInferenceExpert + { + public void Apply(IntermediateColumn[] columns) + { + foreach (var col in columns) + { + if (col.SuggestedType != null) + continue; + + col.SuggestedType = TextType.Instance; + col.HasHeader = IsLookLikeHeader(col.RawData[0]); + } + } + + private bool? IsLookLikeHeader(ReadOnlyMemory value) + { + var v = value.ToString(); + if (v.Length > 100) + return false; + var headerCandidates = new[] { "^Label", "^Feature", "^Market", "^m_", "^Weight" }; + foreach (var candidate in headerCandidates) + { + if (Regex.IsMatch(v, candidate, RegexOptions.IgnoreCase)) + return true; + } + + return null; + } + } + } + + private static IEnumerable GetExperts() + { + // Current logic is pretty primitive: if every value (except the first) of a column + // parses as a boolean it's boolean, if it parses as numeric then it's numeric. Otherwise, it is text. + yield return new Experts.BooleanValues(); + yield return new Experts.AllNumericValues(); + yield return new Experts.EverythingText(); + } + + /// + /// Auto-detect column types of the file. + /// + public static InferenceResult InferTextFileColumnTypes(MLContext env, IMultiStreamSource fileSource, Arguments args) + { + return InferTextFileColumnTypesCore(env, fileSource, args); + } + + private static InferenceResult InferTextFileColumnTypesCore(MLContext env, IMultiStreamSource fileSource, Arguments args) + { + if (args.ColumnCount == 0) + { + // too many empty columns for automatic inference + return InferenceResult.Fail(); + } + + if (args.ColumnCount >= SmartColumnsLim) + { + // too many columns for automatic inference + return InferenceResult.Fail(); + } + + // read the file as the specified number of text columns + var textLoaderArgs = new TextLoader.Arguments + { + Column = new[] { TextLoader.Column.Parse(string.Format("C:TX:0-{0}", args.ColumnCount - 1)) }, + Separator = args.Separator, + AllowSparse = args.AllowSparse, + AllowQuoting = args.AllowQuote, + }; + var textLoader = new TextLoader(env, textLoaderArgs); + var idv = textLoader.Read(fileSource); + idv = idv.Take(args.MaxRowsToRead); + + // read all the data into memory. + // list items are rows of the dataset. + var data = new List[]>(); + using (var cursor = idv.GetRowCursor(col => true)) + { + var column = cursor.Schema.GetColumnOrNull("C"); + int columnIndex = column.Value.Index; + var colType = column.Value.Type; + ValueGetter>> vecGetter = null; + ValueGetter> oneGetter = null; + bool isVector = colType.IsVector(); + if (isVector) { vecGetter = cursor.GetGetter>>(columnIndex); } + else + { + oneGetter = cursor.GetGetter>(columnIndex); + } + + VBuffer> line = default; + ReadOnlyMemory tsValue = default; + while (cursor.MoveNext()) + { + if (isVector) + { + vecGetter(ref line); + var values = new ReadOnlyMemory[args.ColumnCount]; + line.CopyTo(values); + data.Add(values); + } + else + { + oneGetter(ref tsValue); + var values = new[] { tsValue }; + data.Add(values); + } + } + } + + if (data.Count < 2) + { + // too few rows for automatic inference + return InferenceResult.Fail(); + } + + var cols = new IntermediateColumn[args.ColumnCount]; + for (int i = 0; i < args.ColumnCount; i++) + { + cols[i] = new IntermediateColumn(data.Select(x => x[i]).ToArray(), i); + } + + foreach (var expert in GetExperts()) + { + expert.Apply(cols); + } + + // Aggregating header signals. + int suspect = 0; + var usedNames = new HashSet(); + for (int i = 0; i < args.ColumnCount; i++) + { + if (cols[i].HasHeader == true) + { + if (usedNames.Add(cols[i].RawData[0].ToString())) + suspect++; + else + { + // duplicate value in the first column is a strong signal that this is not a header + suspect -= args.ColumnCount; + } + } + else if (cols[i].HasHeader == false) + suspect--; + } + + // REVIEW: Why not use this for column names as well? + TextLoader.Arguments fileArgs; + bool hasHeader; + if (TextLoader.FileContainsValidSchema(env, fileSource, out fileArgs)) + hasHeader = fileArgs.HasHeader; + else + hasHeader = suspect > 0; + hasHeader = true; + + // suggest names + var names = new List(); + usedNames.Clear(); + foreach (var col in cols) + { + string name0; + string name; + name0 = name = SuggestName(col, hasHeader); + int i = 0; + while (!usedNames.Add(name)) + name = string.Format("{0}_{1:00}", name0, i++); + names.Add(name); + } + var outCols = + cols.Select((x, i) => new Column(x.ColumnId, names[i], x.SuggestedType)).ToArray(); + + var numerics = outCols.Count(x => x.ItemType.IsNumber()); + + return InferenceResult.Success(outCols, hasHeader, cols.Select(col => col.RawData).ToArray()); + } + + private static string SuggestName(IntermediateColumn column, bool hasHeader) + { + var header = column.RawData[0].ToString(); + return (hasHeader && !string.IsNullOrWhiteSpace(header)) ? Sanitize(header) : string.Format("col{0}", column.ColumnId); + } + + private static string Sanitize(string header) + { + // replace all non-letters and non-digits with '_'. + return string.Join("", header.Select(x => Char.IsLetterOrDigit(x) ? x : '_')); + } + + public static TextLoader.Column[] GenerateLoaderColumns(Column[] columns) + { + var loaderColumns = new List(); + foreach (var col in columns) + { + var loaderColumn = TextLoader.Column.Parse(string.Format("{0}:{1}:{2}", col.SuggestedName, col.ItemType, col.ColumnIndex)); + if (loaderColumn != null && loaderColumn.IsValid()) + loaderColumns.Add(loaderColumn); + } + return loaderColumns.ToArray(); + } + } + +} diff --git a/src/AutoML/ColumnInference/PurposeInference.cs b/src/AutoML/ColumnInference/PurposeInference.cs new file mode 100644 index 0000000000..782ed4f3f3 --- /dev/null +++ b/src/AutoML/ColumnInference/PurposeInference.cs @@ -0,0 +1,301 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text.RegularExpressions; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + /// + /// Automatic inference of column purposes for the data view. + /// This is used in the context of text import wizard, but can be used outside as well. + /// + internal static class PurposeInference + { + public const int MaxRowsToRead = 1000; + + public class Column + { + public readonly int ColumnIndex; + public readonly ColumnPurpose Purpose; + + public Column(int columnIndex, ColumnPurpose purpose) + { + ColumnIndex = columnIndex; + Purpose = purpose; + } + } + + /// + /// The design is the same as for : there's a sequence of 'experts' + /// that each look at all the columns. Every expert may or may not assign the 'answer' (suggested purpose) + /// to a column. If the expert needs some information about the column (for example, the column values), + /// this information is lazily calculated by the column object, not the expert itself, to allow the reuse + /// of the same information by another expert. + /// + private interface IPurposeInferenceExpert + { + void Apply(IntermediateColumn[] columns); + } + + private class IntermediateColumn + { + private readonly IDataView _data; + private readonly int _columnId; + private bool _isPurposeSuggested; + private ColumnPurpose _suggestedPurpose; + private readonly Lazy _type; + private readonly Lazy _columnName; + private object _cachedData; + + public bool IsPurposeSuggested { get { return _isPurposeSuggested; } } + + public ColumnPurpose SuggestedPurpose + { + get { return _suggestedPurpose; } + set + { + _suggestedPurpose = value; + _isPurposeSuggested = true; + } + } + + public ColumnType Type { get { return _type.Value; } } + + public string ColumnName { get { return _columnName.Value; } } + + public IntermediateColumn(IDataView data, int columnId, ColumnPurpose suggestedPurpose = ColumnPurpose.Ignore) + { + _data = data; + _columnId = columnId; + _type = new Lazy(() => _data.Schema[_columnId].Type); + _columnName = new Lazy(() => _data.Schema[_columnId].Name); + _suggestedPurpose = suggestedPurpose; + } + + public Column GetColumn() + { + return new Column(_columnId, _suggestedPurpose); + } + + public T[] GetData() + { + if (_cachedData is T[]) + return _cachedData as T[]; + + var results = new List(); + using (var cursor = _data.GetRowCursor(id => id == _columnId)) + { + var getter = cursor.GetGetter(_columnId); + while (cursor.MoveNext()) + { + T value = default(T); + getter(ref value); + results.Add(value); + } + } + + T[] resultArray; + _cachedData = resultArray = results.ToArray(); + return resultArray; + } + } + + private static class Experts + { + internal sealed class HeaderComprehension : IPurposeInferenceExpert + { + public void Apply(IntermediateColumn[] columns) + { + foreach (var column in columns) + { + if (column.IsPurposeSuggested) + continue; + else if (Regex.IsMatch(column.ColumnName, @"^m_queryid$", RegexOptions.IgnoreCase)) + column.SuggestedPurpose = ColumnPurpose.Group; + else if (Regex.IsMatch(column.ColumnName, @"group", RegexOptions.IgnoreCase)) + column.SuggestedPurpose = ColumnPurpose.Group; + else if (Regex.IsMatch(column.ColumnName, @"^m_\w+id$", RegexOptions.IgnoreCase)) + column.SuggestedPurpose = ColumnPurpose.Name; + else if (Regex.IsMatch(column.ColumnName, @"^id$", RegexOptions.IgnoreCase)) + column.SuggestedPurpose = ColumnPurpose.Name; + else if (Regex.IsMatch(column.ColumnName, @"^m_", RegexOptions.IgnoreCase)) + column.SuggestedPurpose = ColumnPurpose.Ignore; + else + continue; + } + } + } + + internal sealed class TextClassification : IPurposeInferenceExpert + { + public void Apply(IntermediateColumn[] columns) + { + string[] commonImageExtensions = { ".bmp", ".dib", ".rle", ".jpg", ".jpeg", ".jpe", ".jfif", ".gif", ".tif", ".tiff", ".png" }; + foreach (var column in columns) + { + if (column.IsPurposeSuggested || !column.Type.IsText()) + continue; + var data = column.GetData>(); + + long sumLength = 0; + int sumSpaces = 0; + var seen = new HashSet(); + int imagePathCount = 0; + foreach (var span in data) + { + sumLength += span.Length; + seen.Add(span.ToString()); + string spanStr = span.ToString(); + sumSpaces += spanStr.Count(x => x == ' '); + + foreach (var ext in commonImageExtensions) + { + if (spanStr.EndsWith(ext, StringComparison.OrdinalIgnoreCase)) + { + imagePathCount++; + break; + } + } + } + + if (imagePathCount < data.Length - 1) + { + Double avgLength = 1.0 * sumLength / data.Length; + Double cardinalityRatio = 1.0 * seen.Count / data.Length; + Double avgSpaces = 1.0 * sumSpaces / data.Length; + if (cardinalityRatio < 0.7 || seen.Count < 100) + column.SuggestedPurpose = ColumnPurpose.CategoricalFeature; + else if (cardinalityRatio >= 0.85 && (avgLength > 30 || avgSpaces >= 1)) + column.SuggestedPurpose = ColumnPurpose.TextFeature; + else if (cardinalityRatio >= 0.9) + column.SuggestedPurpose = ColumnPurpose.Name; + else + column.SuggestedPurpose = ColumnPurpose.Ignore; + } + else + column.SuggestedPurpose = ColumnPurpose.ImagePath; + } + } + } + + internal sealed class NumericAreFeatures : IPurposeInferenceExpert + { + public void Apply(IntermediateColumn[] columns) + { + foreach (var column in columns) + { + if (column.IsPurposeSuggested) + continue; + if (column.Type.ItemType().IsNumber()) + column.SuggestedPurpose = ColumnPurpose.NumericFeature; + } + } + } + + internal sealed class BooleanProcessing : IPurposeInferenceExpert + { + public void Apply(IntermediateColumn[] columns) + { + foreach (var column in columns) + { + if (column.IsPurposeSuggested) + continue; + if (column.Type.ItemType().IsBool()) + column.SuggestedPurpose = ColumnPurpose.NumericFeature; + } + } + } + + internal sealed class TextArraysAreText : IPurposeInferenceExpert + { + public void Apply(IntermediateColumn[] columns) + { + foreach (var column in columns) + { + if (column.IsPurposeSuggested) + continue; + if (column.Type.IsVector() && column.Type.ItemType().IsText()) + column.SuggestedPurpose = ColumnPurpose.TextFeature; + } + } + } + + internal sealed class IgnoreEverythingElse : IPurposeInferenceExpert + { + public void Apply(IntermediateColumn[] columns) + { + foreach (var column in columns) + { + if (!column.IsPurposeSuggested) + column.SuggestedPurpose = ColumnPurpose.Ignore; + } + } + } + } + + private static IEnumerable GetExperts() + { + // Each of the experts respects the decisions of all the experts above. + + // Use column names to suggest purpose. + yield return new Experts.HeaderComprehension(); + // Single-value text columns may be category, name, text or ignore. + yield return new Experts.TextClassification(); + // Vector-value text columns are always treated as text. + // REVIEW: could be improved. + yield return new Experts.TextArraysAreText(); + // Check column on boolean only values. + yield return new Experts.BooleanProcessing(); + // All numeric columns are features. + yield return new Experts.NumericAreFeatures(); + // Everything else is ignored. + yield return new Experts.IgnoreEverythingElse(); + } + + /// + /// Auto-detect purpose for the data view columns. + /// + public static PurposeInference.Column[] InferPurposes(MLContext context, IDataView data, string label, + IDictionary columnOverrides = null) + { + data = data.Take(MaxRowsToRead); + + var allColumns = new List(); + var columnsToInfer = new List(); + + for (var i = 0; i < data.Schema.Count; i++) + { + var column = data.Schema[i]; + IntermediateColumn intermediateCol; + + if(column.Name == label) + { + intermediateCol = new IntermediateColumn(data, i, ColumnPurpose.Label); + } + else if(columnOverrides != null && columnOverrides.TryGetValue(column.Name, out var columnPurpose)) + { + intermediateCol = new IntermediateColumn(data, i, columnPurpose); + } + else + { + intermediateCol = new IntermediateColumn(data, i); + columnsToInfer.Add(intermediateCol); + } + + allColumns.Add(intermediateCol); + } + + foreach (var expert in GetExperts()) + { + expert.Apply(columnsToInfer.ToArray()); + } + + return allColumns.Select(c => c.GetColumn()).ToArray(); + } + } +} diff --git a/src/AutoML/ColumnInference/TextFileContents.cs b/src/AutoML/ColumnInference/TextFileContents.cs new file mode 100644 index 0000000000..c38f210500 --- /dev/null +++ b/src/AutoML/ColumnInference/TextFileContents.cs @@ -0,0 +1,111 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + /// + /// Utilities for various heuristics against text files. + /// Currently, separator inference and column count detection. + /// + internal static class TextFileContents + { + public class ColumnSplitResult + { + public readonly bool IsSuccess; + public readonly string Separator; + public readonly int ColumnCount; + + public bool AllowQuote { get; set; } + public bool AllowSparse { get; set; } + + public ColumnSplitResult(bool isSuccess, string separator, bool allowQuote, bool allowSparse, int columnCount) + { + IsSuccess = isSuccess; + Separator = separator; + AllowQuote = allowQuote; + AllowSparse = allowSparse; + ColumnCount = columnCount; + } + } + + // If the fraction of lines having the same number of columns exceeds this, we consider the column count to be known. + private const Double UniformColumnCountThreshold = 0.98; + + public static string[] DefaultSeparators = new[] { "tab", ",", ";", " " }; + + /// + /// Attempt to detect text loader arguments. + /// The algorithm selects the first 'acceptable' set: the one that recognizes the same number of columns in at + /// least of the sample's lines, + /// and this number of columns is more than 1. + /// We sweep on separator, allow sparse and allow quote parameter. + /// + public static ColumnSplitResult TrySplitColumns(IMultiStreamSource source, string[] separatorCandidates) + { + var sparse = new[] { true, false }; + var quote = new[] { true, false }; + var foundAny = false; + var result = default(ColumnSplitResult); + foreach (var perm in (from _allowSparse in sparse + from _allowQuote in quote + from _sep in separatorCandidates + select new { _allowSparse, _allowQuote, _sep })) + { + var args = new TextLoader.Arguments + { + Column = new[] { TextLoader.Column.Parse("C:TX:0-**") }, + Separator = perm._sep, + AllowQuoting = perm._allowQuote, + AllowSparse = perm._allowSparse + }; + + if (TryParseFile(args, source, out result)) + { + foundAny = true; + break; + } + } + return foundAny ? result : new ColumnSplitResult(false, null, true, true, 0); + } + + private static bool TryParseFile(TextLoader.Arguments args, IMultiStreamSource source, out ColumnSplitResult result) + { + result = null; + var textLoader = new TextLoader(new MLContext(), args); + var idv = textLoader.Read(source).Take(1000); + var columnCounts = new List(); + var column = idv.Schema["C"]; + var columnIndex = column.Index; + + using (var cursor = idv.GetRowCursor(x => x == columnIndex)) + { + var getter = cursor.GetGetter>>(columnIndex); + + VBuffer> line = default; + while (cursor.MoveNext()) + { + getter(ref line); + columnCounts.Add(line.Length); + } + } + + var mostCommon = columnCounts.GroupBy(x => x).OrderByDescending(x => x.Count()).First(); + if (mostCommon.Count() < UniformColumnCountThreshold * columnCounts.Count) + { + return false; + } + + // disallow single-column case + if (mostCommon.Key <= 1) { return false; } + + result = new ColumnSplitResult(true, args.Separator, args.AllowQuoting, args.AllowSparse, mostCommon.Key); + return true; + } + } +} \ No newline at end of file diff --git a/src/AutoML/ColumnInference/TextFileSample.cs b/src/AutoML/ColumnInference/TextFileSample.cs new file mode 100644 index 0000000000..1757cf5559 --- /dev/null +++ b/src/AutoML/ColumnInference/TextFileSample.cs @@ -0,0 +1,303 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + /// + /// This class holds an in-memory sample of the text file, and serves as an proxy to it. + /// + internal sealed class TextFileSample : IMultiStreamSource + { + // REVIEW: consider including multiple files via IMultiStreamSource. + + // REVIEW: right now, it expects 0x0A being the trailing character of line break. + // Consider a more general implementation. + + private const int BufferSizeMb = 4; + private const int FirstChunkSizeMb = 1; + private const int LinesPerChunk = 20; + private const Double OversamplingRate = 1.1; + + private readonly byte[] _buffer; + private readonly long? _fullFileSize; + private readonly long? _approximateRowCount; + + private TextFileSample(byte[] buffer, long? fullFileSize, long? lineCount) + { + _buffer = buffer; + _fullFileSize = fullFileSize; + _approximateRowCount = lineCount; + } + + public int Count + { + get { return 1; } + } + + // Full file size, if known, otherwise, null. + public long? FullFileSize + { + get { return _fullFileSize; } + } + + public int SampleSize + { + get { return _buffer.Length; } + } + + public string GetPathOrNull(int index) + { + //Contracts.Check(index == 0, "Index must be 0"); + return null; + } + + public Stream Open(int index) + { + //Contracts.Check(index == 0, "Index must be 0"); + return new MemoryStream(_buffer); + } + + public TextReader OpenTextReader(int index) + { + return new StreamReader(Open(index)); + } + + public long? ApproximateRowCount => _approximateRowCount; + + public static TextFileSample CreateFromFullFile(string path) + { + using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + return CreateFromFullStream(fs); + } + } + + /// + /// Create a by reading multiple chunks from the file (or other source) and + /// then stitching them together. The algorithm is as follows: + /// 0. If the source is not seekable, revert to . + /// 1. If the file length is less than 2 * , revert to . + /// 2. Read first MB chunk. Determine average line length in the chunk. + /// 3. Determine how large one chunk should be, and how many chunks there should be, to end up + /// with * MB worth of lines. + /// 4. Determine seek locations and read the chunks. + /// 5. Stitch and return a . + /// + public static TextFileSample CreateFromFullStream(Stream stream) + { + if (!stream.CanSeek) + { + return CreateFromHead(stream); + } + var fileSize = stream.Length; + + if (fileSize <= 2 * BufferSizeMb * (1 << 20)) + { + return CreateFromHead(stream); + } + + var firstChunk = new byte[FirstChunkSizeMb * (1 << 20)]; + int count = stream.Read(firstChunk, 0, firstChunk.Length); + if (!IsEncodingOkForSampling(firstChunk)) + return CreateFromHead(stream); + // REVIEW: CreateFromHead still truncates the file before the last 0x0A byte. For multi-byte encoding, + // this might cause an unfinished string to be present in the buffer. Right now this is considered an acceptable + // price to pay for parse-free processing. + + var lineCount = firstChunk.Count(x => x == '\n'); + if (lineCount == 0) + { + throw new ArgumentException("Counldn't identify line breaks. Provided file is not text?"); + } + + long approximateRowCount = (long)(lineCount * fileSize * 1.0 / firstChunk.Length); + var firstNewline = Array.FindIndex(firstChunk, x => x == '\n'); + + // First line may be header, so we exclude it. The remaining lineCount-1 line breaks are + // splitting the text into lineCount lines, and the last line is actually half-size. + Double averageLineLength = 2.0 * (firstChunk.Length - firstNewline) / (lineCount * 2 - 1); + averageLineLength = Math.Max(averageLineLength, 3); + + int usefulChunkSize = (int)(averageLineLength * LinesPerChunk); + int chunkSize = (int)(usefulChunkSize + averageLineLength); // assuming that 1 line worth will be trimmed out + + int chunkCount = (int)Math.Ceiling((BufferSizeMb * OversamplingRate - FirstChunkSizeMb) * (1 << 20) / usefulChunkSize); + int maxChunkCount = (int)Math.Floor((double)(fileSize - firstChunk.Length) / chunkSize); + chunkCount = Math.Min(chunkCount, maxChunkCount); + + var chunks = new List(); + chunks.Add(firstChunk); + + // determine the start of each remaining chunk + long fileSizeRemaining = fileSize - firstChunk.Length - ((long)chunkSize) * chunkCount; + + var rnd = AutoMlUtils.Random; + var chunkStartIndices = Enumerable.Range(0, chunkCount) + .Select(x => rnd.NextDouble() * fileSizeRemaining) + .OrderBy(x => x) + .Select((spot, i) => (long)(spot + firstChunk.Length + i * chunkSize)) + .ToArray(); + + foreach (var chunkStartIndex in chunkStartIndices) + { + stream.Seek(chunkStartIndex, SeekOrigin.Begin); + byte[] chunk = new byte[chunkSize]; + int readCount = stream.Read(chunk, 0, chunkSize); + Array.Resize(ref chunk, chunkSize); + chunks.Add(chunk); + } + + return new TextFileSample(StitchChunks(false, chunks.ToArray()), fileSize, approximateRowCount); + } + + /// + /// Create a by reading one chunk from the beginning. + /// + private static TextFileSample CreateFromHead(Stream stream) + { + var buf = new byte[BufferSizeMb * (1 << 20)]; + int readCount = stream.Read(buf, 0, buf.Length); + Array.Resize(ref buf, readCount); + long? multiplier = stream.CanSeek ? (int?)(stream.Length / buf.Length) : null; + return new TextFileSample(StitchChunks(readCount == stream.Length, buf), + stream.CanSeek ? (long?)stream.Length : null, + multiplier.HasValue ? buf.Count(x => x == '\n') * multiplier : null); + } + + /// + /// Given an array of chunks of the text file, of which the first chunk is the head, + /// this method trims incomplete lines from the beginning and end of each chunk + /// (except that it doesn't trim the beginning of the first chunk and end of last chunk if we read whole file), + /// then joins the rest together to form a final byte buffer and returns a + /// wrapped around it. + /// + /// did we read whole file + /// chunks of data + /// + private static byte[] StitchChunks(bool wholeFile, params byte[][] chunks) + { + using (var resultStream = new MemoryStream(BufferSizeMb * (1 << 20))) + { + for (int i = 0; i < chunks.Length; i++) + { + int iMin = (i == 0) ? 0 : Array.FindIndex(chunks[i], x => x == '\n') + 1; + int iLim = (wholeFile && i == chunks.Length - 1) + ? chunks[i].Length + : Array.FindLastIndex(chunks[i], x => x == '\n') + 1; + + if (iLim == 0) + { + //entire buffer is one string, skip + continue; + } + + resultStream.Write(chunks[i], iMin, iLim - iMin); + } + + var resultBuffer = resultStream.ToArray(); + if (resultBuffer.Length == 0) + { + throw new ArgumentException("File is not text, or couldn't detect line breaks"); + } + + return resultBuffer; + } + } + + /// + /// Detect whether we can auto-detect EOL characters without parsing. + /// If we do, we can cheaply sample from different file locations and trim the partial strings. + /// The encodings that pass the test are UTF8 and all single-byte encodings. + /// + private static bool IsEncodingOkForSampling(byte[] buffer) + { + // First check if a BOM/signature exists (sourced from https://www.unicode.org/faq/utf_bom.html#bom4) + if (buffer.Length >= 4 && buffer[0] == 0x00 && buffer[1] == 0x00 && buffer[2] == 0xFE && buffer[3] == 0xFF) + { + // UTF-32, big-endian + return false; + } + if (buffer.Length >= 4 && buffer[0] == 0xFF && buffer[1] == 0xFE && buffer[2] == 0x00 && buffer[3] == 0x00) + { + // UTF-32, little-endian + return false; + } + if (buffer.Length >= 2 && buffer[0] == 0xFE && buffer[1] == 0xFF) + { + // UTF-16, big-endian + return false; + } + if (buffer.Length >= 2 && buffer[0] == 0xFF && buffer[1] == 0xFE) + { + // UTF-16, little-endian + return false; + } + if (buffer.Length >= 3 && buffer[0] == 0xEF && buffer[1] == 0xBB && buffer[2] == 0xBF) + { + // UTF-8 + return true; + } + if (buffer.Length >= 3 && buffer[0] == 0x2b && buffer[1] == 0x2f && buffer[2] == 0x76) + { + // UTF-7 + return true; + } + + // No BOM/signature was found, so now we need to 'sniff' the file to see if can manually discover the encoding. + int sniffLim = Math.Min(1000, buffer.Length); + + // Some text files are encoded in UTF8, but have no BOM/signature. Hence the below manually checks for a UTF8 pattern. This code is based off + // the top answer at: https://stackoverflow.com/questions/6555015/check-for-invalid-utf8 . + int i = 0; + bool utf8 = false; + while (i < sniffLim - 4) + { + if (buffer[i] <= 0x7F) + { + i += 1; + continue; + } + if (buffer[i] >= 0xC2 && buffer[i] <= 0xDF && buffer[i + 1] >= 0x80 && buffer[i + 1] < 0xC0) + { + i += 2; + utf8 = true; + continue; + } + if (buffer[i] >= 0xE0 && buffer[i] <= 0xF0 && buffer[i + 1] >= 0x80 && buffer[i + 1] < 0xC0 && + buffer[i + 2] >= 0x80 && buffer[i + 2] < 0xC0) + { + i += 3; + utf8 = true; + continue; + } + if (buffer[i] >= 0xF0 && buffer[i] <= 0xF4 && buffer[i + 1] >= 0x80 && buffer[i + 1] < 0xC0 && + buffer[i + 2] >= 0x80 && buffer[i + 2] < 0xC0 && buffer[i + 3] >= 0x80 && buffer[i + 3] < 0xC0) + { + i += 4; + utf8 = true; + continue; + } + utf8 = false; + break; + } + if (utf8) + return true; + + if (buffer.Take(sniffLim).Any(x => x == 0)) + { + // likely a UTF-16 or UTF-32 wuthout a BOM. + return false; + } + + // If all else failed, the file is likely in a local 1-byte encoding. + return true; + } + } +} diff --git a/src/AutoML/DebugLogger.cs b/src/AutoML/DebugLogger.cs new file mode 100644 index 0000000000..e06d8100e5 --- /dev/null +++ b/src/AutoML/DebugLogger.cs @@ -0,0 +1,13 @@ +namespace Microsoft.ML.Auto +{ + internal interface IDebugLogger + { + void Log(DebugStream stream, string message); + } + + public enum DebugStream + { + Exception, + RunResult + } +} diff --git a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs new file mode 100644 index 0000000000..ac6415ee6b --- /dev/null +++ b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs @@ -0,0 +1,156 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.ML.Auto +{ + internal static class PipelineSuggester + { + private const int TopKTrainers = 3; + + public static InferredPipeline GetNextPipeline(IEnumerable history, + IEnumerable transforms, + IEnumerable availableTrainers, + bool isMaximizingMetric = true) + { + // if we haven't run all pipelines once + if(history.Count() < availableTrainers.Count()) + { + return GetNextFirstStagePipeline(history, availableTrainers, transforms); + } + + // get next trainer + var topTrainers = GetTopTrainers(history, availableTrainers, isMaximizingMetric); + var nextTrainerIndex = (history.Count() - availableTrainers.Count()) % topTrainers.Count(); + var trainer = topTrainers.ElementAt(nextTrainerIndex).Clone(); + + // make sure we have not seen pipeline before. + // repeat until passes or runs out of chances. + var visitedPipelines = new HashSet(history.Select(h => h.Pipeline)); + const int maxNumberAttempts = 10; + var count = 0; + do + { + SampleHyperparameters(trainer, history, isMaximizingMetric); + var pipeline = new InferredPipeline(transforms, trainer); + if(!visitedPipelines.Contains(pipeline)) + { + return pipeline; + } + } while (++count <= maxNumberAttempts); + + return null; + } + + /// + /// Get top trainers from first stage + /// + private static IEnumerable GetTopTrainers(IEnumerable history, + IEnumerable availableTrainers, + bool isMaximizingMetric) + { + // narrow history to first stage runs + history = history.Take(availableTrainers.Count()); + + history = history.GroupBy(r => r.Pipeline.Trainer.TrainerName).Select(g => g.First()); + IEnumerable sortedHistory = history.OrderBy(r => r.Score); + if(isMaximizingMetric) + { + sortedHistory = sortedHistory.Reverse(); + } + var topTrainers = sortedHistory.Take(TopKTrainers).Select(r => r.Pipeline.Trainer); + return topTrainers; + } + + private static InferredPipeline GetNextFirstStagePipeline(IEnumerable history, + IEnumerable availableTrainers, + IEnumerable transforms) + { + var trainer = availableTrainers.ElementAt(history.Count()); + return new InferredPipeline(transforms, trainer); + } + + private static IValueGenerator[] ConvertToValueGenerators(IEnumerable hps) + { + var results = new IValueGenerator[hps.Count()]; + + for (int i = 0; i < hps.Count(); i++) + { + switch (hps.ElementAt(i)) + { + case SweepableDiscreteParam dp: + var dpArgs = new DiscreteParamArguments() + { + Name = dp.Name, + Values = dp.Options.Select(o => o.ToString()).ToArray() + }; + results[i] = new DiscreteValueGenerator(dpArgs); + break; + + case SweepableFloatParam fp: + var fpArgs = new FloatParamArguments() + { + Name = fp.Name, + Min = fp.Min, + Max = fp.Max, + LogBase = fp.IsLogScale, + }; + if (fp.NumSteps.HasValue) + { + fpArgs.NumSteps = fp.NumSteps.Value; + } + if (fp.StepSize.HasValue) + { + fpArgs.StepSize = fp.StepSize.Value; + } + results[i] = new FloatValueGenerator(fpArgs); + break; + + case SweepableLongParam lp: + var lpArgs = new LongParamArguments() + { + Name = lp.Name, + Min = lp.Min, + Max = lp.Max, + LogBase = lp.IsLogScale + }; + if (lp.NumSteps.HasValue) + { + lpArgs.NumSteps = lp.NumSteps.Value; + } + if (lp.StepSize.HasValue) + { + lpArgs.StepSize = lp.StepSize.Value; + } + results[i] = new LongValueGenerator(lpArgs); + break; + } + } + return results; + } + + private static void SampleHyperparameters(SuggestedTrainer trainer, IEnumerable history, bool isMaximizingMetric) + { + var sps = ConvertToValueGenerators(trainer.SweepParams); + var sweeper = new SmacSweeper( + new SmacSweeper.Arguments + { + SweptParameters = sps + }); + + IEnumerable historyToUse = history + .Where(r => r.RunSucceded && r.Pipeline.Trainer.TrainerName == trainer.TrainerName && r.Pipeline.Trainer.HyperParamSet != null); + + // get new set of hyperparameter values + var proposedParamSet = sweeper.ProposeSweeps(1, historyToUse.Select(h => h.ToRunResult(isMaximizingMetric))).First(); + + // associate proposed param set with trainer, so that smart hyperparam + // sweepers (like KDO) can map them back. + trainer.SetHyperparamValues(proposedParamSet); + } + } +} \ No newline at end of file diff --git a/src/AutoML/PipelineSuggesters/PipelineSuggesterApi.cs b/src/AutoML/PipelineSuggesters/PipelineSuggesterApi.cs new file mode 100644 index 0000000000..36722b84ab --- /dev/null +++ b/src/AutoML/PipelineSuggesters/PipelineSuggesterApi.cs @@ -0,0 +1,18 @@ +using System.Linq; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal class PipelineSuggesterApi + { + // local + public static Pipeline GetPipeline(TaskKind task, IDataView data, string label) + { + var mlContext = new MLContext(); + var availableTransforms = TransformInferenceApi.InferTransforms(mlContext, data, label); + var availableTrainers = RecipeInference.AllowedTrainers(mlContext, task, 1); + var pipeline = new InferredPipeline(availableTransforms, availableTrainers.First(), mlContext); + return pipeline.ToPipeline(); + } + } +} diff --git a/src/AutoML/RuleSet1.ruleset b/src/AutoML/RuleSet1.ruleset new file mode 100644 index 0000000000..81992ac3d4 --- /dev/null +++ b/src/AutoML/RuleSet1.ruleset @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/AutoML/Sweepers/ISweeper.cs b/src/AutoML/Sweepers/ISweeper.cs new file mode 100644 index 0000000000..715a5cf3c5 --- /dev/null +++ b/src/AutoML/Sweepers/ISweeper.cs @@ -0,0 +1,296 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using Float = System.Single; + +namespace Microsoft.ML.Auto +{ + /// + /// Signature for the loaders of sweepers. + /// + public delegate void SignatureSweeper(); + + /// + /// Signature for the loaders of sweep result evaluators. + /// + public delegate void SignatureSweepResultEvaluator(); + + /// + /// Signature for SuggestedSweeps parser. + /// + public delegate void SignatureSuggestedSweepsParser(); + + /// + /// The main interface of the sweeper + /// + internal interface ISweeper + { + /// + /// Returns between 0 and maxSweeps configurations to run. + /// It expects a list of previous runs such that it can generate configurations that were not already tried. + /// The list of runs can be null if there were no previous runs. + /// Some smart sweepers can take advantage of the metric(s) that the caller computes for previous runs. + /// + ParameterSet[] ProposeSweeps(int maxSweeps, IEnumerable previousRuns = null); + } + + /// + /// This is the interface that each type of parameter sweep needs to implement + /// + internal interface IValueGenerator + { + /// + /// Given a value in the [0,1] range, return a value for this parameter. + /// + IParameterValue CreateFromNormalized(Double normalizedValue); + + /// + /// Used mainly in grid sweepers, return the i-th distinct value for this parameter + /// + IParameterValue this[int i] { get; } + + /// + /// Used mainly in grid sweepers, return the count of distinct values for this parameter + /// + int Count { get; } + + /// + /// Returns the name of the generated parameter + /// + string Name { get; } + } + + internal interface ISweepResultEvaluator + { + /// + /// Return an IRunResult based on the results given as a TResults object. + /// + IRunResult GetRunResult(ParameterSet parameters, TResults results); + } + + /// + /// Parameter value generated from the sweeping. + /// The parameter values must be immutable. + /// Value is converted to string because the runner will usually want to construct a command line for TL. + /// Implementations of this interface must also override object.GetHashCode() and object.Equals(object) so they are consistent + /// with IEquatable.Equals(IParameterValue). + /// + internal interface IParameterValue : IEquatable + { + string Name { get; } + string ValueText { get; } + } + + /// + /// Type safe version of the IParameterValue interface. + /// + internal interface IParameterValue : IParameterValue + { + TValue Value { get; } + } + + /// + /// A set of parameter values. + /// The parameter set must be immutable. + /// + internal sealed class ParameterSet : IEquatable, IEnumerable + { + private readonly Dictionary _parameterValues; + private readonly int _hash; + + public ParameterSet(IEnumerable parameters) + { + _parameterValues = new Dictionary(); + foreach (var parameter in parameters) + { + _parameterValues.Add(parameter.Name, parameter); + } + + var parameterNames = _parameterValues.Keys.ToList(); + parameterNames.Sort(); + _hash = 0; + foreach (var parameterName in parameterNames) + { + _hash = Hashing.CombineHash(_hash, _parameterValues[parameterName].GetHashCode()); + } + } + + public ParameterSet(Dictionary paramValues, int hash) + { + _parameterValues = paramValues; + _hash = hash; + } + + public IEnumerator GetEnumerator() + { + return _parameterValues.Values.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + public int Count + { + get { return _parameterValues.Count; } + } + + public IParameterValue this[string name] + { + get { return _parameterValues[name]; } + } + + private bool ContainsParamValue(IParameterValue parameterValue) + { + IParameterValue value; + return _parameterValues.TryGetValue(parameterValue.Name, out value) && + parameterValue.Equals(value); + } + + public bool Equals(ParameterSet other) + { + if (other == null || other._hash != _hash || other._parameterValues.Count != _parameterValues.Count) + return false; + return other._parameterValues.Values.All(pv => ContainsParamValue(pv)); + } + + public ParameterSet Clone() => + new ParameterSet(new Dictionary(_parameterValues), _hash); + + public override string ToString() + { + return string.Join(" ", _parameterValues.Select(kvp => string.Format("{0}={1}", kvp.Value.Name, kvp.Value.ValueText)).ToArray()); + } + + public override int GetHashCode() + { + return _hash; + } + } + + /// + /// The result of a run. + /// Contains the parameter set used, useful for the sweeper to not generate the same configuration multiple times. + /// Also contains the result of a run and the metric value that is used by smart sweepers to generate new configurations + /// that try to maximize this metric. + /// + internal interface IRunResult : IComparable + { + ParameterSet ParameterSet { get; } + IComparable MetricValue { get; } + bool IsMetricMaximizing { get; } + } + + internal interface IRunResult : IRunResult + where T : IComparable + { + new T MetricValue { get; } + } + + /// + /// Simple implementation of IRunResult + /// + internal sealed class RunResult : IRunResult + { + private readonly ParameterSet _parameterSet; + private readonly Double? _metricValue; + private readonly bool _isMetricMaximizing; + + /// + /// This switch changes the behavior of the CompareTo function, switching the greater than / less than + /// behavior, depending on if it is set to True. + /// + public bool IsMetricMaximizing { get { return _isMetricMaximizing; } } + + public ParameterSet ParameterSet + { + get { return _parameterSet; } + } + + public RunResult(ParameterSet parameterSet, Double metricValue, bool isMetricMaximizing) + { + _parameterSet = parameterSet; + _metricValue = metricValue; + _isMetricMaximizing = isMetricMaximizing; + } + + public Double MetricValue + { + get + { + return _metricValue.Value; + } + } + + public int CompareTo(IRunResult other) + { + var otherTyped = other as RunResult; + //Contracts.Check(otherTyped != null); + if (_metricValue == otherTyped._metricValue) + return 0; + return _isMetricMaximizing ^ (_metricValue < otherTyped._metricValue) ? 1 : -1; + } + + public bool HasMetricValue + { + get + { + return _metricValue != null; + } + } + + IComparable IRunResult.MetricValue + { + get { return MetricValue; } + } + } + + /// + /// The metric class, used by smart sweeping algorithms. + /// Ideally we would like to move towards the new IDataView/ISchematized, this is + /// just a simple view instead, and it is decoupled from RunResult so we can move + /// in that direction in the future. + /// + internal sealed class RunMetric + { + private readonly Float _primaryMetric; + private readonly Float[] _metricDistribution; + + public RunMetric(Float primaryMetric, IEnumerable metricDistribution = null) + { + _primaryMetric = primaryMetric; + if (metricDistribution != null) + _metricDistribution = metricDistribution.ToArray(); + } + + /// + /// The primary metric to optimize. + /// This metric is usually an aggregate value for the run, for example, AUC, accuracy etc. + /// By default, smart sweeping algorithms will maximize this metric. + /// If you want to minimize, either negate this value or change the option in the arguments of the sweeper constructor. + /// + public Float PrimaryMetric + { + get { return _primaryMetric; } + } + + /// + /// The (optional) distribution of the metric. + /// This distribution can be a secondary measure of how good a run was, e.g per-fold AUC, per-fold accuracy, (sampled) per-instance log loss etc. + /// + public Float[] GetMetricDistribution() + { + if (_metricDistribution == null) + return null; + var result = new Float[_metricDistribution.Length]; + Array.Copy(_metricDistribution, result, _metricDistribution.Length); + return result; + } + } +} diff --git a/src/AutoML/Sweepers/KdoSweeper.cs b/src/AutoML/Sweepers/KdoSweeper.cs new file mode 100644 index 0000000000..710a592799 --- /dev/null +++ b/src/AutoML/Sweepers/KdoSweeper.cs @@ -0,0 +1,495 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.ML.Trainers.FastTree.Internal; +using Float = System.Single; + +namespace Microsoft.ML.Auto +{ + /// + /// Kernel Density Optimization (KDO) is a sequential model-based optimization method originally developed by George D. Montanez (me). + /// The search space consists of a unit hypercube, with one dimension per hyperparameter (it is a spatial method, so scaling the dimensions + /// to the unit hypercube is critical). The idea is that the exploration of the cube to find good values is performed by creating an approximate + /// (and biased) kernel density estimate of the space (where density corresponds to metric performance), concentrating mass in regions of better + /// performance, then drawing samples from the pdf. + /// + /// To trade off exploration versus exploitation, an fitness proportional mutation scheme is used. Uniform random points are selected during + /// initialization and during the runs (parameter controls how often). A Gaussian model is fit to the distribution of performance values, and + /// each evaluated point in the history is given a value between 0 and 1 corresponding to the CDF evaluation of its performance under the + /// Gaussian. Points with low quantile values are mutated more strongly than those with higher values, which allows the method to hone in + /// precisely when approaching really good regions. + /// + /// Categorical parameters are handled by forming a categorical distribution on possible values weighted by observed performance of each value, + /// taken independently. + /// + + internal sealed class KdoSweeper : ISweeper + { + internal sealed class Arguments + { + //[Argument(ArgumentType.Multiple | ArgumentType.Required, HelpText = "Swept parameters", ShortName = "p", SignatureType = typeof(SignatureSweeperParameter))] + public IValueGenerator[] SweptParameters; + + //[Argument(ArgumentType.AtMostOnce, HelpText = "Seed for the random number generator for the first batch sweeper", ShortName = "seed")] + public int RandomSeed; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "If iteration point is outside parameter definitions, should it be projected?", ShortName = "project")] + public bool ProjectInBounds = true; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Number of points to use for random initialization", ShortName = "nip")] + public int NumberInitialPopulation = 20; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Minimum mutation spread", ShortName = "mms")] + public double MinimumMutationSpread = 0.001; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Maximum length of history to retain", ShortName = "hlen")] + public int HistoryLength = 20; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "If true, draws samples from independent Beta distributions, rather than multivariate Gaussian", ShortName = "beta")] + public bool Beta = false; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "If true, uses simpler mutation and concentration model")] + public bool Simple = false; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Proportion of trials, between 0 and 1, that are uniform random draws", ShortName = "prand")] + public double ProportionRandom = 0.05; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Maximum power for rescaling (the larger the number, the stronger the exploitation of good points)", ShortName = "wrp")] + public double WeightRescalingPower = 30; + + // REVIEW: this parameter should be removed as soon as we test the new method (as Prabhat Roy is currently doing 9/18/2017). It is here + // to allow him to continue to run existing tests in progress using the previous behavior, but should be removed once we're sure this new change + // doesn't degrade performance. + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "(Deprecated) Use legacy discrete parameter behavior.", ShortName = "legacy", Hide = true, Visibility = ArgumentAttribute.VisibilityType.CmdLineOnly)] + public bool LegacyDpBehavior = false; + } + + private readonly ISweeper _randomSweeper; + private readonly ISweeper _redundantSweeper; + private readonly Arguments _args; + + private readonly IValueGenerator[] _sweepParameters; + private readonly SweeperProbabilityUtils _spu; + private readonly SortedSet _alreadySeenConfigs; + private readonly List _randomParamSets; + + public KdoSweeper(Arguments args) + { + _args = args; + _sweepParameters = args.SweptParameters.ToArray(); + _randomSweeper = new UniformRandomSweeper(new SweeperBase.ArgumentsBase(), _sweepParameters); + _redundantSweeper = new UniformRandomSweeper(new SweeperBase.ArgumentsBase { Retries = 0 }, _sweepParameters); + _spu = new SweeperProbabilityUtils(); + _alreadySeenConfigs = new SortedSet(new FloatArrayComparer()); + _randomParamSets = new List(); + } + + public ParameterSet[] ProposeSweeps(int maxSweeps, IEnumerable previousRuns = null) + { + int numOfCandidates = maxSweeps; + var prevRuns = previousRuns?.ToArray() ?? new IRunResult[0]; + var numSweeps = Math.Min(numOfCandidates, _args.NumberInitialPopulation - prevRuns.Length); + + // Initialization: Will enter here on first iteration and use the default (random) + // sweeper to generate initial candidates. + if (prevRuns.Length < _args.NumberInitialPopulation) + { + ParameterSet[] rcs; + int attempts = 0; + do + { + rcs = _randomSweeper.ProposeSweeps(numSweeps, prevRuns); + attempts++; + } while (rcs.Length < 1 && attempts < 100); + + // If failed to grab a new parameter set, generate random (and possibly redundant) one. + if (rcs.Length == 0) + rcs = _redundantSweeper.ProposeSweeps(numSweeps, prevRuns); + + foreach (ParameterSet ps in rcs) + _randomParamSets.Add(ps); + + return rcs; + } + + // Only retain viable runs + var viableRuns = prevRuns.Cast().Where(run => run != null && run.HasMetricValue).Cast().ToArray(); + + // Make sure we have a metric + if (viableRuns.Length == 0 && prevRuns.Length > 0) + { + // I'm not sure if this is too much detail, but it might be. + string errorMessage = $"Error: Sweep run results are missing metric values. \n\n" + + $"NOTE: Default metric of 'AUC' only viable for binary classification problems. \n" + + $"Please include an evaluator (ev) component with an appropriate metric specified for your task type.\n\n" + + "Example RSP using alternate metric (i.e., AccuracyMicro):\nrunner=Local{\n\tev=Tlc{m=AccuracyMicro}\n\tpattern={...etc...}\n}"; + throw new InvalidOperationException(errorMessage); + } + + return GenerateCandidateConfigurations(numOfCandidates, viableRuns); + } + + /// + /// REVIEW: Assumes metric is between 0.0 and 1.0. Will not work with metrics that have values outside this range. + /// + private ParameterSet[] GenerateCandidateConfigurations(int numOfCandidates, IRunResult[] previousRuns) + { + AutoMlUtils.Assert(previousRuns != null && previousRuns.Length > 1); + IRunResult[] history = previousRuns; + int totalHistoryLength = history.Length; + + // Reduce length of history if necessary. + if (history.Length > _args.HistoryLength) + history = TruncateHistory(history); + + double[] randomVals = ExtractRandomRunValues(previousRuns); + double rMean = VectorUtils.GetMean(randomVals); + // Add a small amount of variance for unlikely edge cases when all values were identical (i.e., zero variance). + // Should not happen, but adding a small variance ensures it will never cause problems if it does. + double rVar = Math.Pow(VectorUtils.GetStandardDeviation(randomVals), 2) + 1e-10; + double[] weights = HistoryToWeights(history, totalHistoryLength, rMean, rVar); + int[] parentIndicies = SampleCategoricalDist(numOfCandidates, weights); + return GenerateChildConfigurations(history, parentIndicies, weights, previousRuns, rMean, rVar); + } + + private ParameterSet[] GenerateChildConfigurations(IRunResult[] history, int[] parentIndicies, double[] weights, IRunResult[] previousRuns, double rMean, double rVar) + { + AutoMlUtils.Assert(history.Length == weights.Length && parentIndicies.Max() < history.Length); + List children = new List(); + + for (int i = 0; i < parentIndicies.Length; i++) + { + RunResult parent = (RunResult)history[parentIndicies[i]]; + children.Add(SampleChild(parent.ParameterSet, parent.MetricValue, history.Length, previousRuns, rMean, rVar, parent.IsMetricMaximizing)); + } + + return children.ToArray(); + } + + /// + /// Sample child configuration from configuration centered at parent, using fitness proportional mutation. + /// + /// Starting parent configuration (used as mean in multivariate Gaussian). + /// Numeric value indicating how good a configuration parent is. + /// Count of how many items currently in history. + /// Run history. + /// Mean metric value of previous random runs. + /// Metric value empirical variance of previous random runs. + /// Flag for if we are minimizing or maximizing values. + /// A mutated version of parent (i.e., point sampled near parent). + private ParameterSet SampleChild(ParameterSet parent, double fitness, int n, IRunResult[] previousRuns, double rMean, double rVar, bool isMetricMaximizing) + { + Float[] child = SweeperProbabilityUtils.ParameterSetAsFloatArray(_sweepParameters, parent, false); + List numericParamIndices = new List(); + List numericParamValues = new List(); + int loopCount = 0; + + // Interleave uniform random samples, according to proportion defined. + if (_spu.SampleUniform() <= _args.ProportionRandom) + { + ParameterSet ps = _randomSweeper.ProposeSweeps(1)[0]; + _randomParamSets.Add(ps); + return ps; + } + + do + { + for (int i = 0; i < _sweepParameters.Length; i++) + { + // This allows us to query possible values of this parameter. + var sweepParam = _sweepParameters[i]; + + if (sweepParam is DiscreteValueGenerator parameterDiscrete) + { + // Sample categorical parameter. + double[] categoryWeights = _args.LegacyDpBehavior + ? CategoriesToWeightsOld(parameterDiscrete, previousRuns) + : CategoriesToWeights(parameterDiscrete, previousRuns); + child[i] = SampleCategoricalDist(1, categoryWeights)[0]; + } + else + { + var parameterNumeric = sweepParam as INumericValueGenerator; + numericParamIndices.Add(i); + numericParamValues.Add(child[i]); + } + } + + if (numericParamIndices.Count > 0) + { + if (!_args.Beta) + { + // Sample point from multivariate Gaussian, centered on parent values, with mutation proportional to fitness. + double[] mu = numericParamValues.ToArray(); + double correctedVal = isMetricMaximizing + ? 1.0 - SweeperProbabilityUtils.NormalCdf(fitness, rMean, rVar) + : 1.0 - SweeperProbabilityUtils.NormalCdf(2 * rMean - fitness, rMean, rVar); + double bandwidthScale = Math.Max(_args.MinimumMutationSpread, correctedVal); + double[] stddevs = Enumerable.Repeat(_args.Simple ? 0.2 : bandwidthScale, mu.Length).ToArray(); + double[][] bandwidthMatrix = BuildBandwidthMatrix(n, stddevs); + double[] sampledPoint = SampleDiagonalCovMultivariateGaussian(1, mu, bandwidthMatrix)[0]; + for (int j = 0; j < sampledPoint.Length; j++) + child[numericParamIndices[j]] = (Float)Corral(sampledPoint[j]); + } + else + { + // If Beta flag set, sample from independent Beta distributions instead. + double alpha = 1 + 15 * fitness; + foreach (int index in numericParamIndices) + { + const double epsCutoff = 1e-10; + double eps = Math.Min(Math.Max(child[index], epsCutoff), 1 - epsCutoff); + double beta = alpha / eps - alpha; + child[index] = (Float)Stats.SampleFromBeta(alpha, beta); + } + } + } + + // Don't get stuck at local point. + loopCount++; + if (loopCount > 10) + return _randomSweeper.ProposeSweeps(1, null)[0]; + } while (_alreadySeenConfigs.Contains(child)); + + _alreadySeenConfigs.Add(child); + return SweeperProbabilityUtils.FloatArrayAsParameterSet(_sweepParameters, child, false); + } + + private double Corral(double v) + { + if (v > 1) + return 1; + return v < 0 ? 0 : v; + } + + /// + /// Creates a diagonal rule-of-thumb kernel bandwidth matrix. + /// + /// Number of items in history (just acts as a regularization parameter in KDO). + /// Array of per feature standard deviations. + /// A matrix of bandwidth values, for use in kernel density estimation. + private double[][] BuildBandwidthMatrix(int n, double[] stddevs) + { + int d = stddevs.Length; + double[][] bandwidthMatrix = new double[d][]; + double p1 = 1.0 / (d + 4); + double p2 = Math.Pow((4.0 / (d + 2)), p1); + + for (int i = 0; i < d; i++) + { + // Silverman's rule-of-thumb. + bandwidthMatrix[i] = new double[d]; + bandwidthMatrix[i][i] = p2 * stddevs[i] * Math.Pow(n, -p1); + } + + return bandwidthMatrix; + } + + /// + /// Converts a set of history into a set of weights, one for each run in the history. + /// + /// Input set of historical runs. + /// Number of total runs (history may be truncated) + /// Mean metric value of previous random runs. + /// Metric value empirical variance of previous random runs. + /// Array of weights. + private double[] HistoryToWeights(IRunResult[] history, int n, double rMean, double rVar) + { + // Extract weights and normalize. + double[] weights = new double[history.Length]; + + for (int i = 0; i < history.Length; i++) + weights[i] = (double)history[i].MetricValue; + + // Fitness proportional scaling constant. + bool isMinimizing = history.Length > 0 && !history[0].IsMetricMaximizing; + double currentMaxPerf = isMinimizing ? SweeperProbabilityUtils.NormalCdf(2 * rMean - weights.Min(), rMean, rVar) : SweeperProbabilityUtils.NormalCdf(weights.Max(), rMean, rVar); + + // Normalize weights to sum to one. Automatically Takes care of case where all are equal to zero. + weights = isMinimizing ? SweeperProbabilityUtils.InverseNormalize(weights) : SweeperProbabilityUtils.Normalize(weights); + + // Scale weights. (Concentrates mass on good points, depending on how good the best currently is.) + for (int i = 0; i < weights.Length; i++) + weights[i] = _args.Simple ? Math.Pow(weights[i], Math.Min(Math.Sqrt(n), 100)) : Math.Pow(weights[i], _args.WeightRescalingPower * currentMaxPerf); + + weights = SweeperProbabilityUtils.Normalize(weights); + + return weights; + } + + private double[] ExtractRandomRunValues(IEnumerable previousRuns) + { + return (from RunResult r in previousRuns where _randomParamSets.Contains(r.ParameterSet) select r.MetricValue).ToArray(); + } + + /// + /// New version of CategoryToWeights method, which fixes an issue where we could + /// potentially assign a lot of mass to bad categories. + /// + private double[] CategoriesToWeights(DiscreteValueGenerator param, IRunResult[] previousRuns) + { + double[] weights = new double[param.Count]; + Dictionary labelToIndex = new Dictionary(); + int[] counts = new int[param.Count]; + + // Map categorical values to their index. + for (int j = 0; j < param.Count; j++) + labelToIndex[param[j].ValueText] = j; + + // Add mass according to performance + bool isMaximizing = true; + foreach (RunResult r in previousRuns) + { + weights[labelToIndex[r.ParameterSet[param.Name].ValueText]] += r.MetricValue; + counts[labelToIndex[r.ParameterSet[param.Name].ValueText]]++; + isMaximizing = r.IsMetricMaximizing; + } + + // Take average mass for each category + for (int i = 0; i < weights.Length; i++) + weights[i] /= (counts[i] > 0 ? counts[i] : 1); + + // If any learner has not been seen, default its average to + // best value to encourage exploration of untried algorithms. + double bestVal = isMaximizing ? + previousRuns.Cast().Where(r => r.HasMetricValue).Max(r => r.MetricValue) : + previousRuns.Cast().Where(r => r.HasMetricValue).Min(r => r.MetricValue); + for (int i = 0; i < weights.Length; i++) + weights[i] += counts[i] == 0 ? bestVal : 0; + + // Normalize weights to sum to one and return + return isMaximizing ? SweeperProbabilityUtils.Normalize(weights) : SweeperProbabilityUtils.InverseNormalize(weights); + } + + /// + /// REVIEW: This was the original CategoriesToWeights function. Should be deprecated once we can validate the new function works + /// better. It contains a subtle issue, such that categories with poor performance but which are seen a lot will have + /// high weight. New function addresses this issue, while also improving exploration capability of algorithm. + /// + /// + /// + /// + private double[] CategoriesToWeightsOld(DiscreteValueGenerator param, IEnumerable previousRuns) + { + double[] weights = new double[param.Count]; + Dictionary labelToIndex = new Dictionary(); + + // Map categorical values to their index. + for (int j = 0; j < param.Count; j++) + labelToIndex[param[j].ValueText] = j; + + // Add pseudo-observations, to account for unobserved parameter settings. + for (int i = 0; i < weights.Length; i++) + weights[i] = 0.1; + + // Sum up the results for each category value. + bool isMaximizing = true; + foreach (RunResult r in previousRuns) + { + weights[labelToIndex[r.ParameterSet[param.Name].ValueText]] += r.MetricValue; + isMaximizing = r.IsMetricMaximizing; + } + + // Normalize weights to sum to one and return + return isMaximizing ? SweeperProbabilityUtils.Normalize(weights) : SweeperProbabilityUtils.InverseNormalize(weights); + } + + /// + /// Keep only the top K results from the history. + /// + /// set of all history. + /// The best K points contained in the history. + private IRunResult[] TruncateHistory(IRunResult[] history) + { + SortedSet bestK = new SortedSet(); + + foreach (RunResult r in history) + { + RunResult worst = bestK.Min(); + + if (bestK.Count < _args.HistoryLength || r.CompareTo(worst) > 0) + bestK.Add(r); + + if (bestK.Count > _args.HistoryLength) + bestK.Remove(worst); + } + + return bestK.ToArray(); + } + + private int[] SampleCategoricalDist(int numSamples, double[] weights) + { + AutoMlUtils.Assert(weights != null && weights.Any()); + AutoMlUtils.Assert(weights.Sum() > 0); + return _spu.SampleCategoricalDistribution(numSamples, weights); + } + + private double[][] SampleDiagonalCovMultivariateGaussian(int numRVs, double[] mu, double[][] diagonalCovariance) + { + // Perform checks to ensure covariance has correct form (square diagonal with dimension d). + int d = mu.Length; + AutoMlUtils.Assert(d > 0 && diagonalCovariance.Length == d); + for (int i = 0; i < d; i++) + { + AutoMlUtils.Assert(diagonalCovariance[i].Length == d); + for (int j = 0; j < d; j++) + { + AutoMlUtils.Assert((i == j && diagonalCovariance[i][j] >= 0) || diagonalCovariance[i][j] == 0); + } + } + + // Create transform matrix + double[][] a = new double[d][]; + for (int i = 0; i < d; i++) + { + a[i] = new double[d]; + for (int j = 0; j < d; j++) + a[i][j] = i + j == d - 1 ? Math.Sqrt(diagonalCovariance[i][i]) : 0; + } + + // Sample points + double[][] points = new double[numRVs][]; + for (int i = 0; i < points.Length; i++) + { + // Generate vector of independent standard normal RVs. + points[i] = VectorTransformAdd(mu, _spu.NormalRVs(mu.Length, 0, 1), a); + } + + return points; + } + + private double[] VectorTransformAdd(double[] m, double[] z, double[][] a) + { + int d = m.Length; + double[] result = new double[d]; + for (int i = 0; i < d; i++) + { + result[i] = m[i]; + for (int j = 0; j < d; j++) + result[i] += a[i][j] * z[j]; + } + return result; + } + + private sealed class FloatArrayComparer : IComparer + { + public int Compare(Float[] x, Float[] y) + { + if (x.Length != y.Length) + return x.Length > y.Length ? 1 : -1; + + for (int i = 0; i < x.Length; i++) + { + if (x[i] != y[i]) + return 1; + } + + return 0; + } + } + } +} diff --git a/src/AutoML/Sweepers/Parameters.cs b/src/AutoML/Sweepers/Parameters.cs new file mode 100644 index 0000000000..18440af4d9 --- /dev/null +++ b/src/AutoML/Sweepers/Parameters.cs @@ -0,0 +1,476 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using Float = System.Single; + +namespace Microsoft.ML.Auto +{ + public delegate void SignatureSweeperParameter(); + + public abstract class BaseParamArguments + { + //[Argument(ArgumentType.Required, HelpText = "Parameter name", ShortName = "n")] + public string Name; + } + + internal abstract class NumericParamArguments : BaseParamArguments + { + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Number of steps for grid runthrough.", ShortName = "steps")] + public int NumSteps = 100; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Amount of increment between steps (multiplicative if log).", ShortName = "inc")] + public Double? StepSize = null; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Log scale.", ShortName = "log")] + public bool LogBase = false; + } + + internal class FloatParamArguments : NumericParamArguments + { + //[Argument(ArgumentType.Required, HelpText = "Minimum value")] + public Float Min; + + //[Argument(ArgumentType.Required, HelpText = "Maximum value")] + public Float Max; + } + + internal class LongParamArguments : NumericParamArguments + { + //[Argument(ArgumentType.Required, HelpText = "Minimum value")] + public long Min; + + //[Argument(ArgumentType.Required, HelpText = "Maximum value")] + public long Max; + } + + internal class DiscreteParamArguments : BaseParamArguments + { + //[Argument(ArgumentType.Multiple, HelpText = "Values", ShortName = "v")] + public string[] Values = null; + } + + internal sealed class LongParameterValue : IParameterValue + { + private readonly string _name; + private readonly string _valueText; + private readonly long _value; + + public string Name + { + get { return _name; } + } + + public string ValueText + { + get { return _valueText; } + } + + public long Value + { + get { return _value; } + } + + public LongParameterValue(string name, long value) + { + _name = name; + _value = value; + _valueText = _value.ToString("D"); + } + + public bool Equals(IParameterValue other) + { + return Equals((object)other); + } + + public override bool Equals(object obj) + { + var lpv = obj as LongParameterValue; + return lpv != null && Name == lpv.Name && _value == lpv._value; + } + + public override int GetHashCode() + { + return Hashing.CombinedHash(0, typeof(LongParameterValue), _name, _value); + } + } + + internal sealed class FloatParameterValue : IParameterValue + { + private readonly string _name; + private readonly string _valueText; + private readonly Float _value; + + public string Name + { + get { return _name; } + } + + public string ValueText + { + get { return _valueText; } + } + + public Float Value + { + get { return _value; } + } + + public FloatParameterValue(string name, Float value) + { + AutoMlUtils.Assert(!Float.IsNaN(value)); + _name = name; + _value = value; + _valueText = _value.ToString("R"); + } + + public bool Equals(IParameterValue other) + { + return Equals((object)other); + } + + public override bool Equals(object obj) + { + var fpv = obj as FloatParameterValue; + return fpv != null && Name == fpv.Name && _value == fpv._value; + } + + public override int GetHashCode() + { + return Hashing.CombinedHash(0, typeof(FloatParameterValue), _name, _value); + } + } + + internal sealed class StringParameterValue : IParameterValue + { + private readonly string _name; + private readonly string _value; + + public string Name + { + get { return _name; } + } + + public string ValueText + { + get { return _value; } + } + + public string Value + { + get { return _value; } + } + + public StringParameterValue(string name, string value) + { + _name = name; + _value = value; + } + + public bool Equals(IParameterValue other) + { + return Equals((object)other); + } + + public override bool Equals(object obj) + { + var spv = obj as StringParameterValue; + return spv != null && Name == spv.Name && ValueText == spv.ValueText; + } + + public override int GetHashCode() + { + return Hashing.CombinedHash(0, typeof(StringParameterValue), _name, _value); + } + } + + internal interface INumericValueGenerator : IValueGenerator + { + Float NormalizeValue(IParameterValue value); + bool InRange(IParameterValue value); + } + + /// + /// The integer type parameter sweep. + /// + internal class LongValueGenerator : INumericValueGenerator + { + private readonly LongParamArguments _args; + private IParameterValue[] _gridValues; + + public string Name { get { return _args.Name; } } + + public LongValueGenerator(LongParamArguments args) + { + AutoMlUtils.Assert(args.Min < args.Max, "min must be less than max"); + // REVIEW: this condition can be relaxed if we change the math below to deal with it + AutoMlUtils.Assert(!args.LogBase || args.Min > 0, "min must be positive if log scale is used"); + AutoMlUtils.Assert(!args.LogBase || args.StepSize == null || args.StepSize > 1, "StepSize must be greater than 1 if log scale is used"); + AutoMlUtils.Assert(args.LogBase || args.StepSize == null || args.StepSize > 0, "StepSize must be greater than 0 if linear scale is used"); + _args = args; + } + + // REVIEW: Is Float accurate enough? + public IParameterValue CreateFromNormalized(Double normalizedValue) + { + long val; + if (_args.LogBase) + { + // REVIEW: review the math below, it only works for positive Min and Max + var logBase = !_args.StepSize.HasValue + ? Math.Pow(1.0 * _args.Max / _args.Min, 1.0 / (_args.NumSteps - 1)) + : _args.StepSize.Value; + var logMax = Math.Log(_args.Max, logBase); + var logMin = Math.Log(_args.Min, logBase); + val = (long)(_args.Min * Math.Pow(logBase, normalizedValue * (logMax - logMin))); + } + else + val = (long)(_args.Min + normalizedValue * (_args.Max - _args.Min)); + + return new LongParameterValue(_args.Name, val); + } + + private void EnsureParameterValues() + { + if (_gridValues != null) + return; + + var result = new List(); + if ((_args.StepSize == null && _args.NumSteps > (_args.Max - _args.Min)) || + (_args.StepSize != null && _args.StepSize <= 1)) + { + for (long i = _args.Min; i <= _args.Max; i++) + result.Add(new LongParameterValue(_args.Name, i)); + } + else + { + if (_args.LogBase) + { + // REVIEW: review the math below, it only works for positive Min and Max + var logBase = _args.StepSize ?? Math.Pow(1.0 * _args.Max / _args.Min, 1.0 / (_args.NumSteps - 1)); + + long prevValue = long.MinValue; + var maxPlusEpsilon = _args.Max * Math.Sqrt(logBase); + for (Double value = _args.Min; value <= maxPlusEpsilon; value *= logBase) + { + var longValue = (long)value; + if (longValue > prevValue) + result.Add(new LongParameterValue(_args.Name, longValue)); + prevValue = longValue; + } + } + else + { + var stepSize = _args.StepSize ?? (Double)(_args.Max - _args.Min) / (_args.NumSteps - 1); + long prevValue = long.MinValue; + var maxPlusEpsilon = _args.Max + stepSize / 2; + for (Double value = _args.Min; value <= maxPlusEpsilon; value += stepSize) + { + var longValue = (long)value; + if (longValue > prevValue) + result.Add(new LongParameterValue(_args.Name, longValue)); + prevValue = longValue; + } + } + } + _gridValues = result.ToArray(); + } + + public IParameterValue this[int i] + { + get + { + EnsureParameterValues(); + return _gridValues[i]; + } + } + + public int Count + { + get + { + EnsureParameterValues(); + return _gridValues.Length; + } + } + + public Float NormalizeValue(IParameterValue value) + { + var valueTyped = value as LongParameterValue; + AutoMlUtils.Assert(valueTyped != null, "LongValueGenerator could not normalized parameter because it is not of the correct type"); + AutoMlUtils.Assert(_args.Min <= valueTyped.Value && valueTyped.Value <= _args.Max, "Value not in correct range"); + + if (_args.LogBase) + { + Float logBase = (Float)(_args.StepSize ?? Math.Pow(1.0 * _args.Max / _args.Min, 1.0 / (_args.NumSteps - 1))); + return (Float)((Math.Log(valueTyped.Value, logBase) - Math.Log(_args.Min, logBase)) / (Math.Log(_args.Max, logBase) - Math.Log(_args.Min, logBase))); + } + else + return (Float)(valueTyped.Value - _args.Min) / (_args.Max - _args.Min); + } + + public bool InRange(IParameterValue value) + { + var valueTyped = value as LongParameterValue; + return (_args.Min <= valueTyped.Value && valueTyped.Value <= _args.Max); + } + } + + /// + /// The floating point type parameter sweep. + /// + internal class FloatValueGenerator : INumericValueGenerator + { + private readonly FloatParamArguments _args; + private IParameterValue[] _gridValues; + + public string Name { get { return _args.Name; } } + + public FloatValueGenerator(FloatParamArguments args) + { + AutoMlUtils.Assert(args.Min < args.Max, "min must be less than max"); + // REVIEW: this condition can be relaxed if we change the math below to deal with it + AutoMlUtils.Assert(!args.LogBase || args.Min > 0, "min must be positive if log scale is used"); + AutoMlUtils.Assert(!args.LogBase || args.StepSize == null || args.StepSize > 1, "StepSize must be greater than 1 if log scale is used"); + AutoMlUtils.Assert(args.LogBase || args.StepSize == null || args.StepSize > 0, "StepSize must be greater than 0 if linear scale is used"); + _args = args; + } + + // REVIEW: Is Float accurate enough? + public IParameterValue CreateFromNormalized(Double normalizedValue) + { + Float val; + if (_args.LogBase) + { + // REVIEW: review the math below, it only works for positive Min and Max + var logBase = !_args.StepSize.HasValue + ? Math.Pow(1.0 * _args.Max / _args.Min, 1.0 / (_args.NumSteps - 1)) + : _args.StepSize.Value; + var logMax = Math.Log(_args.Max, logBase); + var logMin = Math.Log(_args.Min, logBase); + val = (Float)(_args.Min * Math.Pow(logBase, normalizedValue * (logMax - logMin))); + } + else + val = (Float)(_args.Min + normalizedValue * (_args.Max - _args.Min)); + + return new FloatParameterValue(_args.Name, val); + } + + private void EnsureParameterValues() + { + if (_gridValues != null) + return; + + var result = new List(); + if (_args.LogBase) + { + // REVIEW: review the math below, it only works for positive Min and Max + var logBase = _args.StepSize ?? Math.Pow(1.0 * _args.Max / _args.Min, 1.0 / (_args.NumSteps - 1)); + + Float prevValue = Float.NegativeInfinity; + var maxPlusEpsilon = _args.Max * Math.Sqrt(logBase); + for (Double value = _args.Min; value <= maxPlusEpsilon; value *= logBase) + { + var floatValue = (Float)value; + if (floatValue > prevValue) + result.Add(new FloatParameterValue(_args.Name, floatValue)); + prevValue = floatValue; + } + } + else + { + var stepSize = _args.StepSize ?? (Double)(_args.Max - _args.Min) / (_args.NumSteps - 1); + Float prevValue = Float.NegativeInfinity; + var maxPlusEpsilon = _args.Max + stepSize / 2; + for (Double value = _args.Min; value <= maxPlusEpsilon; value += stepSize) + { + var floatValue = (Float)value; + if (floatValue > prevValue) + result.Add(new FloatParameterValue(_args.Name, floatValue)); + prevValue = floatValue; + } + } + + _gridValues = result.ToArray(); + } + + public IParameterValue this[int i] + { + get + { + EnsureParameterValues(); + return _gridValues[i]; + } + } + + public int Count + { + get + { + EnsureParameterValues(); + return _gridValues.Length; + } + } + + public Float NormalizeValue(IParameterValue value) + { + var valueTyped = value as FloatParameterValue; + AutoMlUtils.Assert(valueTyped != null, "FloatValueGenerator could not normalized parameter because it is not of the correct type"); + AutoMlUtils.Assert(_args.Min <= valueTyped.Value && valueTyped.Value <= _args.Max, "Value not in correct range"); + + if (_args.LogBase) + { + Float logBase = (Float)(_args.StepSize ?? Math.Pow(1.0 * _args.Max / _args.Min, 1.0 / (_args.NumSteps - 1))); + return (Float)((Math.Log(valueTyped.Value, logBase) - Math.Log(_args.Min, logBase)) / (Math.Log(_args.Max, logBase) - Math.Log(_args.Min, logBase))); + } + else + return (valueTyped.Value - _args.Min) / (_args.Max - _args.Min); + } + + public bool InRange(IParameterValue value) + { + var valueTyped = value as FloatParameterValue; + AutoMlUtils.Assert(valueTyped != null, "Parameter should be of type FloatParameterValue"); + return (_args.Min <= valueTyped.Value && valueTyped.Value <= _args.Max); + } + } + + /// + /// The discrete parameter sweep. + /// + internal class DiscreteValueGenerator : IValueGenerator + { + private readonly DiscreteParamArguments _args; + + public string Name { get { return _args.Name; } } + + public DiscreteValueGenerator(DiscreteParamArguments args) + { + _args = args; + } + + // REVIEW: Is Float accurate enough? + public IParameterValue CreateFromNormalized(Double normalizedValue) + { + return new StringParameterValue(_args.Name, _args.Values[(int)(_args.Values.Length * normalizedValue)]); + } + + public IParameterValue this[int i] + { + get + { + return new StringParameterValue(_args.Name, _args.Values[i]); + } + } + + public int Count + { + get + { + return _args.Values.Length; + } + } + } +} diff --git a/src/AutoML/Sweepers/Random.cs b/src/AutoML/Sweepers/Random.cs new file mode 100644 index 0000000000..24e097032e --- /dev/null +++ b/src/AutoML/Sweepers/Random.cs @@ -0,0 +1,29 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Linq; + +namespace Microsoft.ML.Auto +{ + /// + /// Random sweeper, it generates random values for each of the parameters. + /// + internal sealed class UniformRandomSweeper : SweeperBase + { + public UniformRandomSweeper(ArgumentsBase args) + : base(args, "UniformRandom") + { + } + + public UniformRandomSweeper(ArgumentsBase args, IValueGenerator[] sweepParameters) + : base(args, sweepParameters, "UniformRandom") + { + } + + protected override ParameterSet CreateParamSet() + { + return new ParameterSet(SweepParameters.Select(sweepParameter => sweepParameter.CreateFromNormalized(AutoMlUtils.Random.NextDouble()))); + } + } +} diff --git a/src/AutoML/Sweepers/SmacSweeper.cs b/src/AutoML/Sweepers/SmacSweeper.cs new file mode 100644 index 0000000000..8f9ff6f3a3 --- /dev/null +++ b/src/AutoML/Sweepers/SmacSweeper.cs @@ -0,0 +1,451 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Float = System.Single; + +using System; +using System.Collections.Generic; +using System.Linq; + +using Microsoft.ML.Trainers.FastTree; +using Microsoft.ML.Trainers.FastTree.Internal; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + //REVIEW: Figure out better way to do this. could introduce a base class for all smart sweepers, + //encapsulating common functionality. This seems like a good plan to persue. + internal sealed class SmacSweeper : ISweeper + { + public sealed class Arguments + { + //[Argument(ArgumentType.Multiple | ArgumentType.Required, HelpText = "Swept parameters", ShortName = "p", SignatureType = typeof(SignatureSweeperParameter))] + public IValueGenerator[] SweptParameters; + + //[Argument(ArgumentType.AtMostOnce, HelpText = "Seed for the random number generator for the first batch sweeper", ShortName = "seed")] + public int RandomSeed; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "If iteration point is outside parameter definitions, should it be projected?", ShortName = "project")] + public bool ProjectInBounds = true; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Number of regression trees in forest", ShortName = "numtrees")] + public int NumOfTrees = 10; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Minimum number of data points required to be in a node if it is to be split further", ShortName = "nmin")] + public int NMinForSplit = 2; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Number of points to use for random initialization", ShortName = "nip")] + public int NumberInitialPopulation = 20; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Number of search parents to use for local search in maximizing EI acquisition function", ShortName = "lsp")] + public int LocalSearchParentCount = 10; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Number of random configurations when maximizing EI acquisition function", ShortName = "nrcan")] + public int NumRandomEISearchConfigurations = 10000; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Fraction of eligible dimensions to split on (i.e., split ratio)", ShortName = "sr")] + public Float SplitRatio = (Float)0.8; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Epsilon threshold for ending local searches", ShortName = "eps")] + public Float Epsilon = (Float)0.00001; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Number of neighbors to sample for locally searching each numerical parameter", ShortName = "nnnp")] + public int NumNeighborsForNumericalParams = 4; + } + + private readonly ISweeper _randomSweeper; + private readonly Arguments _args; + private readonly MLContext _context = new MLContext(); + + private readonly IValueGenerator[] _sweepParameters; + + public SmacSweeper(Arguments args) + { + _args = args; + _sweepParameters = args.SweptParameters; + _randomSweeper = new UniformRandomSweeper(new SweeperBase.ArgumentsBase(), _sweepParameters); + } + + public ParameterSet[] ProposeSweeps(int maxSweeps, IEnumerable previousRuns = null) + { + int numOfCandidates = maxSweeps; + + // Initialization: Will enter here on first iteration and use the default (random) + // sweeper to generate initial candidates. + int numRuns = previousRuns == null ? 0 : previousRuns.Count(); + if (numRuns < _args.NumberInitialPopulation) + return _randomSweeper.ProposeSweeps(Math.Min(numOfCandidates, _args.NumberInitialPopulation - numRuns), previousRuns); + + // Only retain viable runs + List viableRuns = new List(); + foreach (RunResult run in previousRuns) + { + if (run != null && run.HasMetricValue) + viableRuns.Add(run); + } + + // Fit Random Forest Model on previous run data. + var forestPredictor = FitModel(viableRuns); + + // Using acquisition function and current best, get candidate configuration(s). + return GenerateCandidateConfigurations(numOfCandidates, viableRuns, forestPredictor); + } + + private FastForestRegressionModelParameters FitModel(IEnumerable previousRuns) + { + Single[] targets = new Single[previousRuns.Count()]; + Single[][] features = new Single[previousRuns.Count()][]; + + int i = 0; + foreach (RunResult r in previousRuns) + { + features[i] = SweeperProbabilityUtils.ParameterSetAsFloatArray(_sweepParameters, r.ParameterSet, true); + targets[i] = (Float)r.MetricValue; + i++; + } + + ArrayDataViewBuilder dvBuilder = new ArrayDataViewBuilder(_context); + dvBuilder.AddColumn(DefaultColumnNames.Label, NumberType.Float, targets); + dvBuilder.AddColumn(DefaultColumnNames.Features, NumberType.Float, features); + + IDataView data = dvBuilder.GetDataView(); + AutoMlUtils.Assert(data.GetRowCount() == targets.Length, "This data view will have as many rows as there have been evaluations"); + + // Set relevant random forest arguments. + // Train random forest. + var trainer = new FastForestRegression(_context, DefaultColumnNames.Label, DefaultColumnNames.Features, advancedSettings: s => + { + s.FeatureFraction = _args.SplitRatio; + s.NumTrees = _args.NumOfTrees; + s.MinDocumentsInLeafs = _args.NMinForSplit; + }); + var predictor = trainer.Train(data).Model; + + // Return random forest predictor. + return predictor; + } + + /// + /// Generates a set of candidate configurations to sweep through, based on a combination of random and local + /// search, as outlined in Hutter et al - Sequential Model-Based Optimization for General Algorithm Configuration. + /// Makes use of class private members which determine how many candidates are returned. This number will include + /// random configurations interleaved (per the paper), and thus will be double the specified value. + /// + /// Number of candidate solutions to return. + /// History of previously evaluated points, with their emprical performance values. + /// Trained random forest ensemble. Used in evaluating the candidates. + /// An array of ParamaterSets which are the candidate configurations to sweep. + private ParameterSet[] GenerateCandidateConfigurations(int numOfCandidates, IEnumerable previousRuns, FastForestRegressionModelParameters forest) + { + // Get k best previous runs ParameterSets. + ParameterSet[] bestKParamSets = GetKBestConfigurations(previousRuns, _args.LocalSearchParentCount); + + // Perform local searches using the k best previous run configurations. + ParameterSet[] eiChallengers = GreedyPlusRandomSearch(bestKParamSets, forest, (int)Math.Ceiling(numOfCandidates / 2.0F), previousRuns); + + // Generate another set of random configurations to interleave. + ParameterSet[] randomChallengers = _randomSweeper.ProposeSweeps(numOfCandidates - eiChallengers.Length, previousRuns); + + // Return interleaved challenger candidates with random candidates. Since the number of candidates from either can be less than + // the number asked for, since we only generate unique candidates, and the number from either method may vary considerably. + ParameterSet[] configs = new ParameterSet[eiChallengers.Length + randomChallengers.Length]; + Array.Copy(eiChallengers, 0, configs, 0, eiChallengers.Length); + Array.Copy(randomChallengers, 0, configs, eiChallengers.Length, randomChallengers.Length); + + return configs; + } + + /// + /// Does a mix of greedy local search around best performing parameter sets, while throwing random parameter sets into the mix. + /// + /// Beginning locations for local greedy search. + /// Trained random forest, used later for evaluating parameters. + /// Number of candidate configurations returned by the method (top K). + /// Historical run results. + /// Array of parameter sets, which will then be evaluated. + private ParameterSet[] GreedyPlusRandomSearch(ParameterSet[] parents, FastForestRegressionModelParameters forest, int numOfCandidates, IEnumerable previousRuns) + { + // REVIEW: The IsMetricMaximizing flag affects the comparator, so that + // performing Max() should get the best, regardless of if it is maximizing or + // minimizing. + RunResult bestRun = (RunResult)previousRuns.Max(); + RunResult worstRun = (RunResult)previousRuns.Min(); + double bestVal = bestRun.IsMetricMaximizing ? bestRun.MetricValue : worstRun.MetricValue - bestRun.MetricValue; + + HashSet> configurations = new HashSet>(); + + // Perform local search. + foreach (ParameterSet c in parents) + { + Tuple bestChildKvp = LocalSearch(c, forest, bestVal, _args.Epsilon); + configurations.Add(bestChildKvp); + } + + // Additional set of random configurations to choose from during local search. + ParameterSet[] randomConfigs = _randomSweeper.ProposeSweeps(_args.NumRandomEISearchConfigurations, previousRuns); + double[] randomEIs = EvaluateConfigurationsByEI(forest, bestVal, randomConfigs); + AutoMlUtils.Assert(randomConfigs.Length == randomEIs.Length); + + for (int i = 0; i < randomConfigs.Length; i++) + configurations.Add(new Tuple(randomEIs[i], randomConfigs[i])); + + HashSet retainedConfigs = new HashSet(); + IOrderedEnumerable> bestConfigurations = configurations.OrderByDescending(x => x.Item1); + + foreach (Tuple t in bestConfigurations.Take(numOfCandidates)) + retainedConfigs.Add(t.Item2); + + return retainedConfigs.ToArray(); + } + + /// + /// Performs a local one-mutation neighborhood greedy search. + /// + /// Starting parameter set configuration. + /// Trained forest, for evaluation of points. + /// Best performance seen thus far. + /// Threshold for when to stop the local search. + /// + private Tuple LocalSearch(ParameterSet parent, FastForestRegressionModelParameters forest, double bestVal, double epsilon) + { + try + { + double currentBestEI = EvaluateConfigurationsByEI(forest, bestVal, new ParameterSet[] { parent })[0]; + ParameterSet currentBestConfig = parent; + + for (; ; ) + { + ParameterSet[] neighborhood = GetOneMutationNeighborhood(currentBestConfig); + double[] eis = EvaluateConfigurationsByEI(forest, bestVal, neighborhood); + int bestIndex = eis.ArgMax(); + if (eis[bestIndex] - currentBestEI < _args.Epsilon) + break; + else + { + currentBestConfig = neighborhood[bestIndex]; + currentBestEI = eis[bestIndex]; + } + } + + return new Tuple(currentBestEI, currentBestConfig); + } + catch (Exception e) + { + throw new InvalidOperationException("SMAC sweeper localSearch threw exception", e); + } + } + + /// + /// Computes a single-mutation neighborhood (one param at a time) for a given configuration. For + /// numeric parameters, samples K mutations (i.e., creates K neighbors based on that paramater). + /// + /// Starting configuration. + /// A set of configurations that each differ from parent in exactly one parameter. + private ParameterSet[] GetOneMutationNeighborhood(ParameterSet parent) + { + List neighbors = new List(); + SweeperProbabilityUtils spu = new SweeperProbabilityUtils(); + + for (int i = 0; i < _sweepParameters.Length; i++) + { + // This allows us to query possible values of this parameter. + IValueGenerator sweepParam = _sweepParameters[i]; + + // This holds the actual value for this parameter, chosen in this parameter set. + IParameterValue pset = parent[sweepParam.Name]; + + AutoMlUtils.Assert(pset != null); + + DiscreteValueGenerator parameterDiscrete = sweepParam as DiscreteValueGenerator; + if (parameterDiscrete != null) + { + // Create one neighbor for every discrete parameter. + Float[] neighbor = SweeperProbabilityUtils.ParameterSetAsFloatArray(_sweepParameters, parent, false); + + int hotIndex = -1; + for (int j = 0; j < parameterDiscrete.Count; j++) + { + if (parameterDiscrete[j].Equals(pset)) + { + hotIndex = j; + break; + } + } + + AutoMlUtils.Assert(hotIndex >= 0); + + Random r = new Random(); + int randomIndex = r.Next(0, parameterDiscrete.Count - 1); + randomIndex += randomIndex >= hotIndex ? 1 : 0; + neighbor[i] = randomIndex; + neighbors.Add(SweeperProbabilityUtils.FloatArrayAsParameterSet(_sweepParameters, neighbor, false)); + } + else + { + INumericValueGenerator parameterNumeric = sweepParam as INumericValueGenerator; + AutoMlUtils.Assert(parameterNumeric != null, "SMAC sweeper can only sweep over discrete and numeric parameters"); + + // Create k neighbors (typically 4) for every numerical parameter. + for (int j = 0; j < _args.NumNeighborsForNumericalParams; j++) + { + Float[] neigh = SweeperProbabilityUtils.ParameterSetAsFloatArray(_sweepParameters, parent, false); + double newVal = spu.NormalRVs(1, neigh[i], 0.2)[0]; + while (newVal <= 0.0 || newVal >= 1.0) + newVal = spu.NormalRVs(1, neigh[i], 0.2)[0]; + neigh[i] = (Float)newVal; + ParameterSet neighbor = SweeperProbabilityUtils.FloatArrayAsParameterSet(_sweepParameters, neigh, false); + neighbors.Add(neighbor); + } + } + } + return neighbors.ToArray(); + } + + /// + /// Goes through forest to extract the set of leaf values associated with filtering each configuration. + /// + /// Trained forest predictor, used for filtering configs. + /// Parameter configurations. + /// 2D array where rows correspond to configurations, and columns to the predicted leaf values. + private double[][] GetForestRegressionLeafValues(FastForestRegressionModelParameters forest, ParameterSet[] configs) + { + List datasetLeafValues = new List(); + foreach (ParameterSet config in configs) + { + List leafValues = new List(); + for(var treeId = 0; treeId < _args.NumOfTrees; treeId++) + { + Float[] transformedParams = SweeperProbabilityUtils.ParameterSetAsFloatArray(_sweepParameters, config, true); + VBuffer features = new VBuffer(transformedParams.Length, transformedParams); + List path = null; + var leafId = forest.GetLeaf(treeId, features, ref path); + var leafValue = forest.GetLeafValue(treeId, leafId); + leafValues.Add(leafValue); + } + datasetLeafValues.Add(leafValues.ToArray()); + } + return datasetLeafValues.ToArray(); + } + + /// + /// Computes the empirical means and standard deviations for trees in the forest for each configuration. + /// + /// The sets of leaf values from which the means and standard deviations are computed. + /// A 2D array with one row per set of tree values, and the columns being mean and stddev, respectively. + private double[][] ComputeForestStats(double[][] leafValues) + { + // Computes the empirical mean and empirical std dev from the leaf prediction values. + double[][] meansAndStdDevs = new double[leafValues.Length][]; + for (int i = 0; i < leafValues.Length; i++) + { + double[] row = new double[2]; + row[0] = VectorUtils.GetMean(leafValues[i]); + row[1] = VectorUtils.GetStandardDeviation(leafValues[i]); + meansAndStdDevs[i] = row; + } + return meansAndStdDevs; + } + + private double[] EvaluateConfigurationsByEI(FastForestRegressionModelParameters forest, double bestVal, ParameterSet[] configs) + { + double[][] leafPredictions = GetForestRegressionLeafValues(forest, configs); + double[][] forestStatistics = ComputeForestStats(leafPredictions); + return ComputeEIs(bestVal, forestStatistics); + } + + private ParameterSet[] GetKBestConfigurations(IEnumerable previousRuns, int k = 10) + { + // NOTE: Should we change this to rank according to EI (using forest), instead of observed performance? + + SortedSet bestK = new SortedSet(); + + foreach (RunResult r in previousRuns) + { + RunResult worst = bestK.Min(); + + if (bestK.Count < k || r.CompareTo(worst) > 0) + bestK.Add(r); + + if (bestK.Count > k) + bestK.Remove(worst); + } + + // Extract the ParamaterSets and return. + List outSet = new List(); + foreach (RunResult r in bestK) + outSet.Add(r.ParameterSet); + return outSet.ToArray(); + } + + private double ComputeEI(double bestVal, double[] forestStatistics) + { + double empMean = forestStatistics[0]; + double empStdDev = forestStatistics[1]; + double centered = empMean - bestVal; + double ztrans = centered / empStdDev; + return centered * SweeperProbabilityUtils.StdNormalCdf(ztrans) + empStdDev * SweeperProbabilityUtils.StdNormalPdf(ztrans); + } + + private double[] ComputeEIs(double bestVal, double[][] forestStatistics) + { + double[] eis = new double[forestStatistics.Length]; + for (int i = 0; i < forestStatistics.Length; i++) + eis[i] = ComputeEI(bestVal, forestStatistics[i]); + return eis; + } + + // *********** Utility Functions ******************* + + private ParameterSet UpdateParameterSet(ParameterSet original, IParameterValue newParam) + { + List parameters = new List(); + for (int i = 0; i < _sweepParameters.Length; i++) + { + if (_sweepParameters[i].Name.Equals(newParam.Name)) + parameters.Add(newParam); + else + { + parameters.Add(original[_sweepParameters[i].Name]); + } + } + + return new ParameterSet(parameters); + } + + private Float ParameterAsFloat(ParameterSet parameterSet, int index) + { + AutoMlUtils.Assert(parameterSet.Count == _sweepParameters.Length); + AutoMlUtils.Assert(index >= 0 && index <= _sweepParameters.Length); + + var sweepParam = _sweepParameters[index]; + var pset = parameterSet[sweepParam.Name]; + AutoMlUtils.Assert(pset != null); + + var parameterDiscrete = sweepParam as DiscreteValueGenerator; + if (parameterDiscrete != null) + { + int hotIndex = -1; + for (int j = 0; j < parameterDiscrete.Count; j++) + { + if (parameterDiscrete[j].Equals(pset)) + { + hotIndex = j; + break; + } + } + AutoMlUtils.Assert(hotIndex >= 0); + + return hotIndex; + } + else + { + var parameterNumeric = sweepParam as INumericValueGenerator; + //_host.Check(parameterNumeric != null, "SMAC sweeper can only sweep over discrete and numeric parameters"); + + // Normalizing all numeric parameters to [0,1] range. + return parameterNumeric.NormalizeValue(pset); + } + } + } +} \ No newline at end of file diff --git a/src/AutoML/Sweepers/SweeperBase.cs b/src/AutoML/Sweepers/SweeperBase.cs new file mode 100644 index 0000000000..ba990288d2 --- /dev/null +++ b/src/AutoML/Sweepers/SweeperBase.cs @@ -0,0 +1,74 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.ML.Auto +{ + /// + /// Signature for the GUI loaders of sweepers. + /// + internal delegate void SignatureSweeperFromParameterList(IValueGenerator[] sweepParameters); + + /// + /// Base sweeper that ensures the suggestions are different from each other and from the previous runs. + /// + internal abstract class SweeperBase : ISweeper + { + internal class ArgumentsBase + { + //[Argument(ArgumentType.Multiple, HelpText = "Swept parameters", ShortName = "p", SignatureType = typeof(SignatureSweeperParameter))] + public IValueGenerator[] SweptParameters; + + //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Number of tries to generate distinct parameter sets.", ShortName = "r")] + public int Retries = 10; + } + + private readonly ArgumentsBase _args; + protected readonly IValueGenerator[] SweepParameters; + + protected SweeperBase(ArgumentsBase args, string name) + { + _args = args; + + SweepParameters = args.SweptParameters.ToArray(); + } + + protected SweeperBase(ArgumentsBase args, IValueGenerator[] sweepParameters, string name) + { + _args = args; + SweepParameters = sweepParameters; + } + + public virtual ParameterSet[] ProposeSweeps(int maxSweeps, IEnumerable previousRuns = null) + { + var prevParamSets = previousRuns?.Select(r => r.ParameterSet).ToList() ?? new List(); + var result = new HashSet(); + for (int i = 0; i < maxSweeps; i++) + { + ParameterSet paramSet; + int retries = 0; + do + { + paramSet = CreateParamSet(); + ++retries; + } while (paramSet != null && retries < _args.Retries && + (AlreadyGenerated(paramSet, prevParamSets) || AlreadyGenerated(paramSet, result))); + + AutoMlUtils.Assert(paramSet != null); + result.Add(paramSet); + } + + return result.ToArray(); + } + + protected abstract ParameterSet CreateParamSet(); + + protected static bool AlreadyGenerated(ParameterSet paramSet, IEnumerable previousRuns) + { + return previousRuns.Any(previousRun => previousRun.Equals(paramSet)); + } + } +} diff --git a/src/AutoML/Sweepers/SweeperProbabilityUtils.cs b/src/AutoML/Sweepers/SweeperProbabilityUtils.cs new file mode 100644 index 0000000000..474e0c9499 --- /dev/null +++ b/src/AutoML/Sweepers/SweeperProbabilityUtils.cs @@ -0,0 +1,249 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using Float = System.Single; + +namespace Microsoft.ML.Auto +{ + internal sealed class SweeperProbabilityUtils + { + public SweeperProbabilityUtils() + { + } + + public static double Sum(double[] a) + { + double total = 0; + foreach (double d in a) + total += d; + return total; + } + + public static double NormalCdf(double x, double mean, double variance) + { + double centered = x - mean; + double ztrans = centered / (Math.Sqrt(variance) * Math.Sqrt(2)); + + return 0.5 * (1 + ProbabilityFunctions.Erf(ztrans)); + } + + public static double StdNormalPdf(double x) + { + return 1 / Math.Sqrt(2 * Math.PI) * Math.Exp(-Math.Pow(x, 2) / 2); + } + + public static double StdNormalCdf(double x) + { + return 0.5 * (1 + ProbabilityFunctions.Erf(x * 1 / Math.Sqrt(2))); + } + + /// + /// Samples from a Gaussian Normal with mean mu and std dev sigma. + /// + /// Number of samples + /// mean + /// standard deviation + /// + public double[] NormalRVs(int numRVs, double mu, double sigma) + { + List rvs = new List(); + double u1; + double u2; + + for (int i = 0; i < numRVs; i++) + { + u1 = AutoMlUtils.Random.NextDouble(); + u2 = AutoMlUtils.Random.NextDouble(); + rvs.Add(mu + sigma * Math.Sqrt(-2.0 * Math.Log(u1)) * Math.Sin(2.0 * Math.PI * u2)); + } + + return rvs.ToArray(); + } + + /// + /// This performs (slow) roulette-wheel sampling of a categorical distribution. Should be swapped for other + /// method as soon as one is available. + /// + /// Number of samples to draw. + /// Weights for distribution (should sum to 1). + /// A set of indicies indicating which element was chosen for each sample. + public int[] SampleCategoricalDistribution(int numSamples, double[] weights) + { + // Normalize weights if necessary. + double total = Sum(weights); + if (Math.Abs(1.0 - total) > 0.0001) + weights = Normalize(weights); + + // Build roulette wheel. + double[] rw = new double[weights.Length]; + double cs = 0.0; + for (int i = 0; i < weights.Length; i++) + { + cs += weights[i]; + rw[i] = cs; + } + + // Draw samples. + int[] results = new int[numSamples]; + for (int i = 0; i < results.Length; i++) + { + double u = AutoMlUtils.Random.NextDouble(); + results[i] = BinarySearch(rw, u, 0, rw.Length - 1); + } + + return results; + } + + public double SampleUniform() + { + return AutoMlUtils.Random.NextDouble(); + } + + /// + /// Simple binary search method for finding smallest index in array where value + /// meets or exceeds what you're looking for. + /// + /// Array to search + /// Value to search for + /// Left boundary of search + /// Right boundary of search + /// + private int BinarySearch(double[] a, double u, int low, int high) + { + int diff = high - low; + if (diff < 2) + return a[low] >= u ? low : high; + int mid = low + (diff / 2); + return a[mid] >= u ? BinarySearch(a, u, low, mid) : BinarySearch(a, u, mid, high); + } + + public static double[] Normalize(double[] weights) + { + double total = Sum(weights); + + // If all weights equal zero, set to 1 (to avoid divide by zero). + if (total <= Double.Epsilon) + { + Console.WriteLine($"{total} {Double.Epsilon}"); + for(var i = 0; i < weights.Length; i++) + { + weights[i] = 1; + } + total = weights.Length; + } + + for (int i = 0; i < weights.Length; i++) + weights[i] /= total; + return weights; + } + + public static double[] InverseNormalize(double[] weights) + { + weights = Normalize(weights); + + for (int i = 0; i < weights.Length; i++) + weights[i] = 1 - weights[i]; + + return Normalize(weights); + } + + public static Float[] ParameterSetAsFloatArray(IValueGenerator[] sweepParams, ParameterSet ps, bool expandCategoricals = true) + { + AutoMlUtils.Assert(ps.Count == sweepParams.Length); + + var result = new List(); + + for (int i = 0; i < sweepParams.Length; i++) + { + // This allows us to query possible values of this parameter. + var sweepParam = sweepParams[i]; + + // This holds the actual value for this parameter, chosen in this parameter set. + var pset = ps[sweepParam.Name]; + AutoMlUtils.Assert(pset != null); + + var parameterDiscrete = sweepParam as DiscreteValueGenerator; + if (parameterDiscrete != null) + { + int hotIndex = -1; + for (int j = 0; j < parameterDiscrete.Count; j++) + { + if (parameterDiscrete[j].Equals(pset)) + { + hotIndex = j; + break; + } + } + AutoMlUtils.Assert(hotIndex >= 0); + + if (expandCategoricals) + for (int j = 0; j < parameterDiscrete.Count; j++) + result.Add(j == hotIndex ? 1 : 0); + else + result.Add(hotIndex); + } + else if (sweepParam is LongValueGenerator lvg) + { + // Normalizing all numeric parameters to [0,1] range. + result.Add(lvg.NormalizeValue(new LongParameterValue(pset.Name, long.Parse(pset.ValueText)))); + } + else if (sweepParam is FloatValueGenerator fvg) + { + // Normalizing all numeric parameters to [0,1] range. + result.Add(fvg.NormalizeValue(new FloatParameterValue(pset.Name, float.Parse(pset.ValueText)))); + } + else + { + throw new InvalidOperationException("Smart sweeper can only sweep over discrete and numeric parameters"); + } + } + + return result.ToArray(); + } + + public static ParameterSet FloatArrayAsParameterSet(IValueGenerator[] sweepParams, Float[] array, bool expandedCategoricals = true) + { + AutoMlUtils.Assert(array.Length == sweepParams.Length); + + List parameters = new List(); + int currentArrayIndex = 0; + for (int i = 0; i < sweepParams.Length; i++) + { + var parameterDiscrete = sweepParams[i] as DiscreteValueGenerator; + if (parameterDiscrete != null) + { + if (expandedCategoricals) + { + int hotIndex = -1; + for (int j = 0; j < parameterDiscrete.Count; j++) + { + if (array[i + j] > 0) + { + hotIndex = j; + break; + } + } + AutoMlUtils.Assert(hotIndex >= i); + parameters.Add(new StringParameterValue(sweepParams[i].Name, parameterDiscrete[hotIndex].ValueText)); + currentArrayIndex += parameterDiscrete.Count; + } + else + { + parameters.Add(new StringParameterValue(sweepParams[i].Name, parameterDiscrete[(int)array[currentArrayIndex]].ValueText)); + currentArrayIndex++; + } + } + else + { + parameters.Add(sweepParams[i].CreateFromNormalized(array[currentArrayIndex])); + currentArrayIndex++; + } + } + + return new ParameterSet(parameters); + } + } +} diff --git a/src/AutoML/TaskKind.cs b/src/AutoML/TaskKind.cs new file mode 100644 index 0000000000..6fbdcc7f12 --- /dev/null +++ b/src/AutoML/TaskKind.cs @@ -0,0 +1,9 @@ +namespace Microsoft.ML.Auto +{ + public enum TaskKind + { + BinaryClassification, + MulticlassClassification, + Regression, + } +} diff --git a/src/AutoML/Terminators/IterationBasedTerminator.cs b/src/AutoML/Terminators/IterationBasedTerminator.cs new file mode 100644 index 0000000000..a30a12c53d --- /dev/null +++ b/src/AutoML/Terminators/IterationBasedTerminator.cs @@ -0,0 +1,29 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.ML.Auto +{ + internal sealed class IterationBasedTerminator + { + private readonly int _numTotalIterations; + + public IterationBasedTerminator(int numTotalIterations) + { + _numTotalIterations = numTotalIterations; + } + + public bool ShouldTerminate(int numPreviousIterations) + { + return numPreviousIterations >= _numTotalIterations; + } + + public int RemainingIterations(int numPreviousIterations) + { + return _numTotalIterations - numPreviousIterations; + } + } +} diff --git a/src/AutoML/TrainerExtensions/BinaryTrainerExtensions.cs b/src/AutoML/TrainerExtensions/BinaryTrainerExtensions.cs new file mode 100644 index 0000000000..1389305461 --- /dev/null +++ b/src/AutoML/TrainerExtensions/BinaryTrainerExtensions.cs @@ -0,0 +1,202 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Training; +using Microsoft.ML.Trainers; +using Microsoft.ML.Trainers.FastTree; +using Microsoft.ML.Trainers.Online; +using Microsoft.ML.Trainers.SymSgd; +using System; +using System.Collections.Generic; +using Microsoft.ML.LightGBM; +using Microsoft.ML.Learners; + +namespace Microsoft.ML.Auto +{ + using ITrainerEstimator = ITrainerEstimator, IPredictor>; + + internal class AveragedPerceptronBinaryExtension : ITrainerExtension + { + private const int DefaultNumIterations = 10; + + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildAveragePerceptronParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + Action argsFunc = null; + if (sweepParams == null) + { + argsFunc = (args) => + { + args.NumIterations = DefaultNumIterations; + }; + } + else + { + argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + } + return mlContext.BinaryClassification.Trainers.AveragedPerceptron(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.AveragedPerceptronBinary; + } + } + + internal class FastForestBinaryExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildFastForestParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.BinaryClassification.Trainers.FastForest(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.FastForestBinary; + } + } + + internal class FastTreeBinaryExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildFastTreeParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.BinaryClassification.Trainers.FastTree(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.FastTreeBinary; + } + } + + internal class LightGbmBinaryExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildLightGbmParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + Action argsFunc = TrainerExtensionUtil.CreateLightGbmArgsFunc(sweepParams); + return mlContext.BinaryClassification.Trainers.LightGbm(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.LightGbmBinary; + } + } + + internal class LinearSvmBinaryExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildLinearSvmParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.BinaryClassification.Trainers.LinearSupportVectorMachines(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.LinearSvmBinary; + } + } + + internal class SdcaBinaryExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildSdcaParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.BinaryClassification.Trainers.StochasticDualCoordinateAscent(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.SdcaBinary; + } + } + + internal class LogisticRegressionBinaryExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildLogisticRegressionParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.BinaryClassification.Trainers.LogisticRegression(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.LogisticRegressionBinary; + } + } + + internal class SgdBinaryExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildSgdParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.BinaryClassification.Trainers.StochasticGradientDescent(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.StochasticGradientDescentBinary; + } + } + + internal class SymSgdBinaryExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildSymSgdParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.BinaryClassification.Trainers.SymbolicStochasticGradientDescent(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.SymSgdBinary; + } + } +} \ No newline at end of file diff --git a/src/AutoML/TrainerExtensions/ITrainerExtension.cs b/src/AutoML/TrainerExtensions/ITrainerExtension.cs new file mode 100644 index 0000000000..f7e0d8ab28 --- /dev/null +++ b/src/AutoML/TrainerExtensions/ITrainerExtension.cs @@ -0,0 +1,20 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using Microsoft.ML.Training; + +namespace Microsoft.ML.Auto +{ + using ITrainerEstimator = ITrainerEstimator, IPredictor>; + + internal interface ITrainerExtension + { + IEnumerable GetHyperparamSweepRanges(); + + ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams); + + TrainerName GetTrainerName(); + } +} diff --git a/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs b/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs new file mode 100644 index 0000000000..f1c786723f --- /dev/null +++ b/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs @@ -0,0 +1,227 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using Microsoft.ML.Learners; +using Microsoft.ML.LightGBM; +using Microsoft.ML.Trainers; +using Microsoft.ML.Training; + +namespace Microsoft.ML.Auto +{ + using ITrainerEstimator = ITrainerEstimator, IPredictor>; + using ITrainerEstimatorProducingFloat = ITrainerEstimator>, IPredictorProducing>; + + internal class AveragedPerceptronOvaExtension : ITrainerExtension + { + private static readonly ITrainerExtension _binaryLearnerCatalogItem = new AveragedPerceptronBinaryExtension(); + + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildAveragePerceptronParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams) as ITrainerEstimatorProducingFloat; + return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer); + } + + public TrainerName GetTrainerName() + { + return TrainerName.AveragedPerceptronOva; + } + } + + internal class FastForestOvaExtension : ITrainerExtension + { + private static readonly ITrainerExtension _binaryLearnerCatalogItem = new FastForestBinaryExtension(); + + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildFastForestParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams) as ITrainerEstimatorProducingFloat; + return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer); + } + + public TrainerName GetTrainerName() + { + return TrainerName.FastForestOva; + } + } + + internal class LightGbmMultiExtension : ITrainerExtension + { + private static readonly ITrainerExtension _binaryLearnerCatalogItem = new LightGbmBinaryExtension(); + + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildLightGbmParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + Action argsFunc = TrainerExtensionUtil.CreateLightGbmArgsFunc(sweepParams); + return mlContext.MulticlassClassification.Trainers.LightGbm(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.LightGbmMulti; + } + } + + internal class LinearSvmOvaExtension : ITrainerExtension + { + private static readonly ITrainerExtension _binaryLearnerCatalogItem = new LinearSvmBinaryExtension(); + + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildLinearSvmParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams) as ITrainerEstimatorProducingFloat; + return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer); + } + + public TrainerName GetTrainerName() + { + return TrainerName.LinearSvmOva; + } + } + + internal class SdcaMultiExtension : ITrainerExtension + { + private static readonly ITrainerExtension _binaryLearnerCatalogItem = new SdcaBinaryExtension(); + + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildSdcaParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.MulticlassClassification.Trainers.StochasticDualCoordinateAscent(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.SdcaMulti; + } + } + + + internal class LogisticRegressionOvaExtension : ITrainerExtension + { + private static readonly ITrainerExtension _binaryLearnerCatalogItem = new LogisticRegressionBinaryExtension(); + + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildLogisticRegressionParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams) as ITrainerEstimatorProducingFloat; + return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer); + } + + public TrainerName GetTrainerName() + { + return TrainerName.LogisticRegressionOva; + } + } + + internal class SgdOvaExtension : ITrainerExtension + { + private static readonly ITrainerExtension _binaryLearnerCatalogItem = new SgdBinaryExtension(); + + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildSgdParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams) as ITrainerEstimatorProducingFloat; + return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer); + } + + public TrainerName GetTrainerName() + { + return TrainerName.StochasticGradientDescentOva; + } + } + + internal class SymSgdOvaExtension : ITrainerExtension + { + private static readonly ITrainerExtension _binaryLearnerCatalogItem = new SymSgdBinaryExtension(); + + public IEnumerable GetHyperparamSweepRanges() + { + return _binaryLearnerCatalogItem.GetHyperparamSweepRanges(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams) as ITrainerEstimatorProducingFloat; + return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer); + } + + public TrainerName GetTrainerName() + { + return TrainerName.SymSgdOva; + } + } + + internal class FastTreeOvaExtension : ITrainerExtension + { + private static readonly ITrainerExtension _binaryLearnerCatalogItem = new FastTreeBinaryExtension(); + + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildFastTreeParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams) as ITrainerEstimatorProducingFloat; + return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer); + } + + public TrainerName GetTrainerName() + { + return TrainerName.FastTreeOva; + } + } + + internal class LogisticRegressionMultiExtension : ITrainerExtension + { + private static readonly ITrainerExtension _binaryLearnerCatalogItem = new LogisticRegressionBinaryExtension(); + + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildLogisticRegressionParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.MulticlassClassification.Trainers.LogisticRegression(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.LogisticRegressionMulti; + } + } +} \ No newline at end of file diff --git a/src/AutoML/TrainerExtensions/RegressionTrainerExtensions.cs b/src/AutoML/TrainerExtensions/RegressionTrainerExtensions.cs new file mode 100644 index 0000000000..913d9219d3 --- /dev/null +++ b/src/AutoML/TrainerExtensions/RegressionTrainerExtensions.cs @@ -0,0 +1,167 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using Microsoft.ML.Trainers; +using Microsoft.ML.Trainers.FastTree; +using Microsoft.ML.Trainers.HalLearners; +using Microsoft.ML.Trainers.Online; +using Microsoft.ML.Training; + +namespace Microsoft.ML.Auto +{ + using ITrainerEstimator = ITrainerEstimator, IPredictor>; + + internal class FastForestRegressionExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildFastForestParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.Regression.Trainers.FastForest(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.FastForestRegression; + } + } + + internal class FastTreeRegressionExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildFastTreeParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.Regression.Trainers.FastTree(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.FastTreeRegression; + } + } + + internal class FastTreeTweedieRegressionExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildFastTreeTweedieParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.Regression.Trainers.FastTreeTweedie(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.FastTreeTweedieRegression; + } + } + + internal class LightGbmRegressionExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildLightGbmParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateLightGbmArgsFunc(sweepParams); + return mlContext.Regression.Trainers.LightGbm(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.LightGbmRegression; + } + } + + internal class OnlineGradientDescentRegressionExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildOnlineGradientDescentParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.Regression.Trainers.OnlineGradientDescent(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.OnlineGradientDescentRegression; + } + } + + internal class OrdinaryLeastSquaresRegressionExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildOrdinaryLeastSquaresParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.Regression.Trainers.OrdinaryLeastSquares(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.OrdinaryLeastSquaresRegression; + } + } + + internal class PoissonRegressionExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildPoissonRegressionParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.Regression.Trainers.PoissonRegression(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.PoissonRegression; + } + } + + internal class SdcaRegressionExtension : ITrainerExtension + { + public IEnumerable GetHyperparamSweepRanges() + { + return SweepableParams.BuildSdcaParams(); + } + + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + { + var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + return mlContext.Regression.Trainers.StochasticDualCoordinateAscent(advancedSettings: argsFunc); + } + + public TrainerName GetTrainerName() + { + return TrainerName.SdcaRegression; + } + } +} \ No newline at end of file diff --git a/src/AutoML/TrainerExtensions/SweepableParams.cs b/src/AutoML/TrainerExtensions/SweepableParams.cs new file mode 100644 index 0000000000..c2daeabd7b --- /dev/null +++ b/src/AutoML/TrainerExtensions/SweepableParams.cs @@ -0,0 +1,159 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.ML.Auto +{ + internal static class SweepableParams + { + private static IEnumerable BuildAveragedLinearArgsParams() + { + return new SweepableParam[] + { + new SweepableDiscreteParam("LearningRate", new object[] { 0.01, 0.1, 0.5, 1.0 }), + new SweepableDiscreteParam("DecreaseLearningRate", new object[] { false, true }), + new SweepableFloatParam("L2RegularizerWeight", 0.0f, 0.4f), + }; + } + + private static IEnumerable BuildOnlineLinearArgsParams() + { + return new SweepableParam[] + { + new SweepableLongParam("NumIterations", 1, 100, stepSize: 10, isLogScale: true), + new SweepableFloatParam("InitWtsDiameter", 0.0f, 1.0f, numSteps: 5), + new SweepableDiscreteParam("Shuffle", new object[] { false, true }), + }; + } + + private static IEnumerable BuildTreeArgsParams() + { + return new SweepableParam[] + { + new SweepableLongParam("NumLeaves", 2, 128, isLogScale: true, stepSize: 4), + new SweepableDiscreteParam("MinDocumentsInLeafs", new object[] { 1, 10, 50 }), + new SweepableDiscreteParam("NumTrees", new object[] { 20, 100, 500 }), + new SweepableFloatParam("LearningRates", 0.025f, 0.4f, isLogScale: true), + new SweepableFloatParam("Shrinkage", 0.025f, 4f, isLogScale: true), + }; + } + + private static IEnumerable BuildLbfgsArgsParams() + { + return new SweepableParam[] { + new SweepableFloatParam("L2Weight", 0.0f, 1.0f, numSteps: 4), + new SweepableFloatParam("L1Weight", 0.0f, 1.0f, numSteps: 4), + new SweepableDiscreteParam("OptTol", new object[] { 1e-4f, 1e-7f }), + new SweepableDiscreteParam("MemorySize", new object[] { 5, 20, 50 }), + new SweepableLongParam("MaxIterations", 1, int.MaxValue), + new SweepableFloatParam("InitWtsDiameter", 0.0f, 1.0f, numSteps: 5), + new SweepableDiscreteParam("DenseOptimizer", new object[] { false, true }), + }; + } + + public static IEnumerable BuildAveragePerceptronParams() + { + return BuildAveragedLinearArgsParams().Concat(BuildOnlineLinearArgsParams()); + } + + public static IEnumerable BuildFastForestParams() + { + return BuildTreeArgsParams(); + } + + public static IEnumerable BuildFastTreeParams() + { + return BuildTreeArgsParams(); + } + + public static IEnumerable BuildFastTreeTweedieParams() + { + return BuildTreeArgsParams(); + } + + public static IEnumerable BuildLightGbmParams() + { + return new SweepableParam[] + { + new SweepableDiscreteParam("NumBoostRound", new object[] { 10, 20, 50, 100, 150, 200 }), + new SweepableFloatParam("LearningRate", 0.025f, 0.4f, isLogScale: true), + new SweepableLongParam("NumLeaves", 2, 128, isLogScale: true, stepSize: 4), + new SweepableDiscreteParam("MinDataPerLeaf", new object[] { 1, 10, 20, 50 }), + new SweepableDiscreteParam("UseSoftmax", new object[] { true, false }), + new SweepableDiscreteParam("UseCat", new object[] { true, false }), + new SweepableDiscreteParam("UseMissing", new object[] { true, false }), + new SweepableDiscreteParam("MinDataPerGroup", new object[] { 10, 50, 100, 200 }), + new SweepableDiscreteParam("MaxCatThreshold", new object[] { 8, 16, 32, 64 }), + new SweepableDiscreteParam("CatSmooth", new object[] { 1, 10, 20 }), + new SweepableDiscreteParam("CatL2", new object[] { 0.1, 0.5, 1, 5, 10 }), + + // TreeBooster params + new SweepableDiscreteParam("RegLambda", new object[] { 0f, 0.5f, 1f }), + new SweepableDiscreteParam("RegAlpha", new object[] { 0f, 0.5f, 1f }) + }; + } + + public static IEnumerable BuildLinearSvmParams() + { + return new SweepableParam[] { + new SweepableFloatParam("Lambda", 0.00001f, 0.1f, 10, isLogScale: true), + new SweepableDiscreteParam("PerformProjection", null, isBool: true), + new SweepableDiscreteParam("NoBias", null, isBool: true) + }.Concat(BuildOnlineLinearArgsParams()); + } + + public static IEnumerable BuildLogisticRegressionParams() + { + return BuildLbfgsArgsParams(); + } + + public static IEnumerable BuildOnlineGradientDescentParams() + { + return BuildAveragedLinearArgsParams(); + } + + public static IEnumerable BuildPoissonRegressionParams() + { + return BuildLbfgsArgsParams(); + } + + public static IEnumerable BuildSdcaParams() + { + return new SweepableParam[] { + new SweepableDiscreteParam("L2Const", new object[] { "", 1e-7f, 1e-6f, 1e-5f, 1e-4f, 1e-3f, 1e-2f }), + new SweepableDiscreteParam("L1Threshold", new object[] { "", 0f, 0.25f, 0.5f, 0.75f, 1f }), + new SweepableDiscreteParam("ConvergenceTolerance", new object[] { 0.001f, 0.01f, 0.1f, 0.2f }), + new SweepableDiscreteParam("MaxIterations", new object[] { "", 10, 20, 100 }), + new SweepableDiscreteParam("Shuffle", null, isBool: true), + new SweepableDiscreteParam("BiasLearningRate", new object[] { 0.0f, 0.01f, 0.1f, 1f }) + }; + } + + public static IEnumerable BuildOrdinaryLeastSquaresParams() { + return new SweepableParam[] { + new SweepableDiscreteParam("L2Weight", new object[] { 1e-6f, 0.1f, 1f }) + }; + } + + public static IEnumerable BuildSgdParams() { + return new SweepableParam[] { + new SweepableDiscreteParam("L2Weight", new object[] { 1e-7f, 5e-7f, 1e-6f, 5e-6f, 1e-5f }), + new SweepableDiscreteParam("ConvergenceTolerance", new object[] { 1e-2f, 1e-3f, 1e-4f, 1e-5f }), + new SweepableDiscreteParam("MaxIterations", new object[] { 1, 5, 10, 20 }), + new SweepableDiscreteParam("Shuffle", null, isBool: true), + }; + } + + public static IEnumerable BuildSymSgdParams() { + return new SweepableParam[] { + new SweepableDiscreteParam("NumberOfIterations", new object[] { 1, 5, 10, 20, 30, 40, 50 }), + new SweepableDiscreteParam("LearningRate", new object[] { "", 1e1f, 1e0f, 1e-1f, 1e-2f, 1e-3f }), + new SweepableDiscreteParam("L2Regularization", new object[] { 0.0f, 1e-5f, 1e-5f, 1e-6f, 1e-7f }), + new SweepableDiscreteParam("UpdateFrequency", new object[] { "", 5, 20 }) + }; + } + } +} diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs b/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs new file mode 100644 index 0000000000..d2959ca832 --- /dev/null +++ b/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs @@ -0,0 +1,137 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Text; + +namespace Microsoft.ML.Auto +{ + internal class TrainerExtensionCatalog + { + public static IEnumerable GetTrainers(TaskKind task, int maxIterations) + { + if(task == TaskKind.BinaryClassification) + { + return GetBinaryLearners(maxIterations); + } + else if (task == TaskKind.BinaryClassification) + { + return GetMultiLearners(maxIterations); + } + else if (task == TaskKind.Regression) + { + return GetRegressionLearners(maxIterations); + } + else + { + // should not be possible to reach here + throw new NotSupportedException($"unsupported machine learning task type {task}"); + } + } + + private static IEnumerable GetBinaryLearners(int maxIterations) + { + var learners = new List() + { + new AveragedPerceptronBinaryExtension(), + new SdcaBinaryExtension(), + new LightGbmBinaryExtension(), + new SymSgdBinaryExtension() + }; + + if(maxIterations < 20) + { + return learners; + } + + learners.AddRange(new ITrainerExtension[] { + new LinearSvmBinaryExtension(), + new FastTreeBinaryExtension() + }); + + if(maxIterations < 100) + { + return learners; + } + + learners.AddRange(new ITrainerExtension[] { + new LogisticRegressionBinaryExtension(), + new FastForestBinaryExtension(), + new SgdBinaryExtension() + }); + + return learners; + } + + private static IEnumerable GetMultiLearners(int maxIterations) + { + var learners = new List() + { + new AveragedPerceptronOvaExtension(), + new SdcaMultiExtension(), + new LightGbmMultiExtension(), + new SymSgdOvaExtension() + }; + + if (maxIterations < 20) + { + return learners; + } + + learners.AddRange(new ITrainerExtension[] { + new FastTreeOvaExtension(), + new LinearSvmOvaExtension(), + new LogisticRegressionOvaExtension() + }); + + if (maxIterations < 100) + { + return learners; + } + + learners.AddRange(new ITrainerExtension[] { + new SgdOvaExtension(), + new FastForestOvaExtension(), + new LogisticRegressionMultiExtension(), + }); + + return learners; + } + + private static IEnumerable GetRegressionLearners(int maxIterations) + { + var learners = new List() + { + new SdcaRegressionExtension(), + new LightGbmRegressionExtension(), + new FastTreeRegressionExtension(), + }; + + if(maxIterations < 20) + { + return learners; + } + + learners.AddRange(new ITrainerExtension[] + { + new FastTreeTweedieRegressionExtension(), + new FastForestRegressionExtension(), + }); + + if(maxIterations < 100) + { + return learners; + } + + learners.AddRange(new ITrainerExtension[] { + new PoissonRegressionExtension(), + new OnlineGradientDescentRegressionExtension(), + new OrdinaryLeastSquaresRegressionExtension() + }); + + return learners; + } + } +} diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs new file mode 100644 index 0000000000..a0816a8c68 --- /dev/null +++ b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs @@ -0,0 +1,141 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.LightGBM; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; + +namespace Microsoft.ML.Auto +{ + public enum TrainerName + { + AveragedPerceptronBinary, + AveragedPerceptronOva, + FastForestBinary, + FastForestOva, + FastForestRegression, + FastTreeBinary, + FastTreeOva, + FastTreeRegression, + FastTreeTweedieRegression, + LightGbmBinary, + LightGbmMulti, + LightGbmRegression, + LinearSvmBinary, + LinearSvmOva, + LogisticRegressionBinary, + LogisticRegressionOva, + LogisticRegressionMulti, + OnlineGradientDescentRegression, + OrdinaryLeastSquaresRegression, + PoissonRegression, + SdcaBinary, + SdcaMulti, + SdcaRegression, + StochasticGradientDescentBinary, + StochasticGradientDescentOva, + SymSgdBinary, + SymSgdOva + } + + internal static class TrainerExtensionUtil + { + public static Action CreateArgsFunc(IEnumerable sweepParams) + { + Action argsFunc = null; + if (sweepParams != null) + { + argsFunc = (args) => + { + UpdateFields(args, sweepParams); + }; + } + return argsFunc; + } + + private static string[] _treeBoosterParamNames = new[] { "RegLambda", "RegAlpha" }; + + public static Action CreateLightGbmArgsFunc(IEnumerable sweepParams) + { + Action argsFunc = null; + if (sweepParams != null) + { + argsFunc = (args) => + { + var treeBoosterParams = sweepParams.Where(p => _treeBoosterParamNames.Contains(p.Name)); + var parentArgParams = sweepParams.Except(treeBoosterParams); + UpdateFields(args, parentArgParams); + UpdateFields(args.Booster, treeBoosterParams); + }; + } + return argsFunc; + } + + private static void SetValue(FieldInfo fi, IComparable value, object obj, Type propertyType) + { + if (propertyType == value?.GetType()) + fi.SetValue(obj, value); + else if (propertyType == typeof(double) && value is float) + fi.SetValue(obj, Convert.ToDouble(value)); + else if (propertyType == typeof(int) && value is long) + fi.SetValue(obj, Convert.ToInt32(value)); + else if (propertyType == typeof(long) && value is int) + fi.SetValue(obj, Convert.ToInt64(value)); + } + + /// + /// Updates properties of object instance based on the values in sweepParams + /// + public static void UpdateFields(object obj, IEnumerable sweepParams) + { + foreach (var param in sweepParams) + { + try + { + // Only updates property if param.value isn't null and + // param has a name of property. + if (param.RawValue == null) + { + continue; + } + var fi = obj.GetType().GetField(param.Name); + var propType = Nullable.GetUnderlyingType(fi.FieldType) ?? fi.FieldType; + + if (param is SweepableDiscreteParam dp) + { + var optIndex = (int)dp.RawValue; + //Contracts.Assert(0 <= optIndex && optIndex < dp.Options.Length, $"Options index out of range: {optIndex}"); + var option = dp.Options[optIndex].ToString().ToLower(); + + // Handle string values in sweep params + if (option == "auto" || option == "" || option == "< auto >") + { + //Check if nullable type, in which case 'null' is the auto value. + if (Nullable.GetUnderlyingType(fi.FieldType) != null) + fi.SetValue(obj, null); + else if (fi.FieldType.IsEnum) + { + // Check if there is an enum option named Auto + var enumDict = fi.FieldType.GetEnumValues().Cast() + .ToDictionary(v => Enum.GetName(fi.FieldType, v), v => v); + if (enumDict.ContainsKey("Auto")) + fi.SetValue(obj, enumDict["Auto"]); + } + } + else + SetValue(fi, (IComparable)dp.Options[optIndex], obj, propType); + } + else + SetValue(fi, param.RawValue, obj, propType); + } + catch (Exception) + { + throw new InvalidOperationException("cannot set learner parameter"); + } + } + } + } +} diff --git a/src/AutoML/TransformInference/TransformInference.cs b/src/AutoML/TransformInference/TransformInference.cs new file mode 100644 index 0000000000..86f230b275 --- /dev/null +++ b/src/AutoML/TransformInference/TransformInference.cs @@ -0,0 +1,841 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; +using Microsoft.ML.Transforms; +using Microsoft.ML.Transforms.Categorical; +using Microsoft.ML.Transforms.Conversions; +using Microsoft.ML.Transforms.Text; +using static Microsoft.ML.Auto.TransformInference; + +namespace Microsoft.ML.Auto +{ + internal class SuggestedTransform + { + public readonly IEstimator Estimator; + public readonly IDictionary Properties; + // Stores which columns are consumed by this transform, + // and which are produced, at which level. + public ColumnRoutingStructure RoutingStructure { get; set; } + + public SuggestedTransform(IEstimator estimator, + ColumnRoutingStructure routingStructure = null, IDictionary properties = null) + { + Estimator = estimator; + RoutingStructure = routingStructure; + Properties = properties; + } + + public SuggestedTransform Clone() + { + return new SuggestedTransform(Estimator, RoutingStructure, Properties); + } + + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append(Estimator.GetType().FullName); + sb.Append("{"); + if (RoutingStructure.ColumnsProduced.Count() > 1) + { + for (var i = 0; i < RoutingStructure.ColumnsProduced.Count(); i++) + { + sb.Append($" col={RoutingStructure.ColumnsProduced[i].Name}:{RoutingStructure.ColumnsConsumed[i].Name}"); + } + } + else + { + sb.Append($" col={RoutingStructure.ColumnsProduced.First().Name}:{string.Join(",", RoutingStructure.ColumnsConsumed.Select(c => c.Name))}"); + } + if (Properties != null) + { + foreach (var property in Properties) + { + sb.Append($" {property.Key}={property.Value}"); + } + } + sb.Append("}"); + return sb.ToString(); + } + + public PipelineNode ToPipelineNode() + { + var inputColumns = RoutingStructure.ColumnsConsumed.Select(c => c.Name).ToArray(); + var outputColumns = RoutingStructure.ColumnsProduced.Select(c => c.Name).ToArray(); + + var elementProperties = new Dictionary(); + if (Properties != null) + { + foreach (var property in Properties) + { + elementProperties[property.Key] = property.Value; + } + } + + return new PipelineNode(Estimator.GetType().FullName, PipelineNodeType.Transform, + inputColumns, outputColumns, elementProperties); + } + } + + /// + /// Auto-generate set of transforms for the data view, given the purposes of specified columns. + /// + /// The design is the same as for : there's a sequence of 'experts' + /// that each look at all the columns. Every expert may or may not suggest additional transforms. + /// If the expert needs some information about the column (for example, the column values), + /// this information is lazily calculated by the column object, not the expert itself, to allow the reuse + /// of the same information by another expert. + /// + internal static class TransformInference + { + private const double EstimatedSampleFraction = 1.0; + private const bool ExcludeFeaturesConcatTransforms = false; + + private const int MaxRowsToRead = 1000; + + internal class IntermediateColumn + { + private readonly IDataView _data; + private readonly int _columnId; + private readonly ColumnPurpose _purpose; + private readonly Lazy _type; + private readonly Lazy _columnName; + private readonly Lazy _hasMissing; + + public int ColumnId { get { return _columnId; } } + public ColumnPurpose Purpose { get { return _purpose; } } + public ColumnType Type { get { return _type.Value; } } + public string ColumnName { get { return _columnName.Value; } } + public bool HasMissing { get { return _hasMissing.Value; } } + + public IntermediateColumn(IDataView data, PurposeInference.Column column) + { + _data = data; + _columnId = column.ColumnIndex; + _purpose = column.Purpose; + _type = new Lazy(() => _data.Schema[_columnId].Type); + _columnName = new Lazy(() => _data.Schema[_columnId].Name); + _hasMissing = new Lazy(() => + { + if (Type.ItemType() != NumberType.R4) + return false; + return Type.IsVector() ? HasMissingVector() : HasMissingOne(); + }); + } + + public string GetTempColumnName(string tag = null) => _data.Schema.GetTemporaryColumnName(tag); + + private bool HasMissingOne() + { + using (var cursor = _data.GetRowCursor(x => x == _columnId)) + { + var getter = cursor.GetGetter(_columnId); + var value = default(Single); + while (cursor.MoveNext()) + { + getter(ref value); + if (Single.IsNaN(value)) + return true; + } + return false; + } + } + + private bool HasMissingVector() + { + using (var cursor = _data.GetRowCursor(x => x == _columnId)) + { + var getter = cursor.GetGetter>(_columnId); + var value = default(VBuffer); + while (cursor.MoveNext()) + { + getter(ref value); + if (VBufferUtils.HasNaNs(value)) + return true; + } + return false; + } + } + + public void GetUniqueValueCounts(out int uniqueValueCount, out int singletonCount, out int rowCount) + { + var seen = new HashSet(); + var singletons = new HashSet(); + rowCount = 0; + using (var cursor = _data.GetRowCursor(x => x == _columnId)) + { + var getter = cursor.GetGetter(_columnId); + while (cursor.MoveNext()) + { + var value = default(T); + getter(ref value); + var s = value.ToString(); + if (seen.Add(s)) + singletons.Add(s); + else + singletons.Remove(s); + rowCount++; + } + uniqueValueCount = seen.Count; + singletonCount = singletons.Count; + } + } + } + + internal sealed class ColumnRoutingStructure : IEquatable + { + public struct AnnotatedName + { + public string Name { get; set; } + public bool IsNumeric { get; set; } + + public bool Equals(AnnotatedName an) + { + return an.Name == Name && + an.IsNumeric == IsNumeric; + } + + public override string ToString() => $"{Name}({IsNumeric})"; + } + + public AnnotatedName[] ColumnsConsumed { get; } + public AnnotatedName[] ColumnsProduced { get; } + + public ColumnRoutingStructure(AnnotatedName[] columnsConsumed, AnnotatedName[] columnsProduced) + { + ColumnsConsumed = columnsConsumed; + ColumnsProduced = columnsProduced; + } + + public bool Equals(ColumnRoutingStructure obj) + { + return obj != null && + obj.ColumnsConsumed.All(cc => ColumnsConsumed.Any(cc.Equals)) && + obj.ColumnsProduced.All(cp => ColumnsProduced.Any(cp.Equals)); + } + } + + internal interface ITransformInferenceExpert + { + bool IncludeFeaturesOverride { get; set; } + + IEnumerable Apply(IntermediateColumn[] columns); + } + + public abstract class TransformInferenceExpertBase : ITransformInferenceExpert + { + public bool IncludeFeaturesOverride { get; set; } + + public abstract IEnumerable Apply(IntermediateColumn[] columns); + + protected readonly MLContext Env; + + public TransformInferenceExpertBase() + { + Env = new MLContext(); + } + } + + private static IEnumerable GetExperts() + { + // The expert work independently of each other, the sequence is irrelevant + // (it only determines the sequence of resulting transforms). + + // For text labels, convert to categories. + yield return new Experts.AutoLabel(); + + // For group ID column, rename to GroupId and hash, if text. + // REVIEW: this is only sufficient if we discard the possibility of hash collisions, and don't care + // about the group Id cardinality (we don't for ranking). + yield return new Experts.GroupIdHashRename(); + + // For name column, rename to Name (or, if multiple and text, concat and rename to Name). + yield return new Experts.NameColumnConcatRename(); + + // For boolean columns use convert transform + yield return new Experts.Boolean(); + + // For categorical columns, use Cat transform. + yield return new Experts.Categorical(); + + // For text columns, use TextTransform. + yield return new Experts.Text(); + + // If numeric column has missing values, use Missing transform. + yield return new Experts.NumericMissing(); + + // If there's more than one feature column, concat all into Features. If it isn't called 'Features', rename it. + yield return new Experts.FeaturesColumnConcatRenameNumericOnly(); + + // For text columns, also use TextTransform with Unigram + trichar. + //yield return new Experts.TextUniGramTriGram(); + } + + internal static class Experts + { + internal sealed class AutoLabel : TransformInferenceExpertBase + { + public override IEnumerable Apply(IntermediateColumn[] columns) + { + var lastLabelColId = Array.FindLastIndex(columns, x => x.Purpose == ColumnPurpose.Label); + if (lastLabelColId < 0) + yield break; + + var col = columns[lastLabelColId]; + + var columnName = new StringBuilder(); + columnName.Append(col.ColumnName); + + if (col.Type.IsText()) + { + col.GetUniqueValueCounts>(out var unique, out var _, out var _); + + string dest = DefaultColumnNames.Label; + string source = columnName.ToString(); + var input = new ValueToKeyMappingEstimator(Env, source, dest); + + var routingStructure = new ColumnRoutingStructure( + new[] + { + new ColumnRoutingStructure.AnnotatedName {IsNumeric = false, Name = source} + }, + new[] + { + new ColumnRoutingStructure.AnnotatedName {IsNumeric = true, Name = dest} + } + ); + yield return new SuggestedTransform(input, routingStructure); + } + else if (col.ColumnName != DefaultColumnNames.Label) + { + string dest = DefaultColumnNames.Label; + string source = columnName.ToString(); + var input = new ColumnCopyingEstimator(Env, source, dest); + + var routingStructure = new ColumnRoutingStructure( + new[] + { + new ColumnRoutingStructure.AnnotatedName {IsNumeric = true, Name = source} + }, + new[] + { + new ColumnRoutingStructure.AnnotatedName {IsNumeric = true, Name = dest} + } + ); + + yield return new SuggestedTransform(input, routingStructure); + } + } + } + + internal sealed class GroupIdHashRename : TransformInferenceExpertBase + { + public override IEnumerable Apply(IntermediateColumn[] columns) + { + var firstGroupColId = Array.FindIndex(columns, x => x.Purpose == ColumnPurpose.Group); + if (firstGroupColId < 0) + yield break; + + var col = columns[firstGroupColId]; + + var columnName = new StringBuilder(); + columnName.AppendFormat("{0}", col.ColumnName); + + if (col.Type.IsText()) + { + // REVIEW: we could potentially apply HashJoin to vectors of text. + string dest = DefaultColumnNames.GroupId; + string source = columnName.ToString(); + var input = new OneHotHashEncodingEstimator(Env, new OneHotHashEncodingEstimator.ColumnInfo(dest, source)); + + var routingStructure = new ColumnRoutingStructure( + new[] + { + new ColumnRoutingStructure.AnnotatedName {IsNumeric = false, Name = source} + }, + new[] + { + new ColumnRoutingStructure.AnnotatedName {IsNumeric = true, Name = dest} + } + ); + + string[] outputColNames = new string[] { DefaultColumnNames.GroupId }; + yield return new SuggestedTransform(input, routingStructure); + } + else if (col.ColumnName != DefaultColumnNames.GroupId) + { + string dest = DefaultColumnNames.GroupId; + string source = columnName.ToString(); + var input = new ColumnCopyingEstimator(Env, source, dest); + + var routingStructure = new ColumnRoutingStructure( + new[] + { + new ColumnRoutingStructure.AnnotatedName {IsNumeric = true, Name = source} + }, + new[] + { + new ColumnRoutingStructure.AnnotatedName {IsNumeric = true, Name = dest} + } + ); + + yield return new SuggestedTransform(input, routingStructure); + } + } + } + + internal sealed class Categorical : TransformInferenceExpertBase + { + public override IEnumerable Apply(IntermediateColumn[] columns) + { + bool foundCat = false; + bool foundCatHash = false; + var catColumnsNew = new List(); + var catHashColumnsNew = new List(); + var featureCols = new List(); + + foreach (var column in columns) + { + if (!column.Type.ItemType().IsText() || column.Purpose != ColumnPurpose.CategoricalFeature) + continue; + + var columnName = new StringBuilder(); + columnName.AppendFormat("{0}", column.ColumnName); + + if (IsDictionaryOk(column, EstimatedSampleFraction)) + { + foundCat = true; + catColumnsNew.Add(new OneHotEncodingEstimator.ColumnInfo(columnName.ToString(), columnName.ToString())); + } + else + { + foundCatHash = true; + catHashColumnsNew.Add(new OneHotHashEncodingEstimator.ColumnInfo(columnName.ToString(), columnName.ToString())); + } + } + + if (foundCat) + { + ColumnRoutingStructure.AnnotatedName[] columnsSource = + catColumnsNew.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = c.Output }).ToArray(); + ColumnRoutingStructure.AnnotatedName[] columnsDest = + catColumnsNew.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = true, Name = c.Output }).ToArray(); + var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); + + var input = new OneHotEncodingEstimator(Env, catColumnsNew.ToArray()); + featureCols.AddRange(catColumnsNew.Select(c => c.Output)); + + yield return new SuggestedTransform(input, routingStructure); + } + + if (foundCatHash) + { + ColumnRoutingStructure.AnnotatedName[] columnsSource = + catHashColumnsNew.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = c.HashInfo.Output }).ToArray(); + ColumnRoutingStructure.AnnotatedName[] columnsDest = + catHashColumnsNew.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = true, Name = c.HashInfo.Output }).ToArray(); + var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); + + var input = new OneHotHashEncodingEstimator(Env, catHashColumnsNew.ToArray()); + + yield return new SuggestedTransform(input, routingStructure); + } + + if (!ExcludeFeaturesConcatTransforms && featureCols.Count > 0) + { + yield return InferenceHelpers.GetRemainingFeatures(featureCols, columns, GetType(), IncludeFeaturesOverride); + IncludeFeaturesOverride = true; + } + } + + private bool IsDictionaryOk(IntermediateColumn column, Double dataSampleFraction) + { + if (column.Type.IsVector()) + return false; + int total; + int unique; + int singletons; + // REVIEW: replace with proper Good-Turing estimation. + // REVIEW: This looks correct; cf. equation (8) of Katz S. "Estimation of Probabilities from + // Sparse Data for the Language Model Component of a Speech Recognizer" (1987), taking into account that + // the singleton count was estimated from a fraction of the data (and assuming the estimate is + // roughly the same for the entire sample). + column.GetUniqueValueCounts>(out unique, out singletons, out total); + var expectedUnseenValues = singletons / dataSampleFraction; + return expectedUnseenValues < 1000 && unique < 10000; + } + } + + internal sealed class Boolean : TransformInferenceExpertBase + { + public override IEnumerable Apply(IntermediateColumn[] columns) + { + var columnName = new StringBuilder(); + var newColumns = new List(); + + foreach (var column in columns) + { + if (!column.Type.ItemType().IsBool() || column.Purpose != ColumnPurpose.NumericFeature) + continue; + columnName.AppendFormat("{0}", column.ColumnName); + + newColumns.Add(new TypeConvertingTransformer.ColumnInfo(columnName.ToString(), + columnName.ToString(), DataKind.R4)); + } + + if (columnName.Length > 0) + { + var input = new TypeConvertingEstimator(Env, newColumns.ToArray()); + ColumnRoutingStructure.AnnotatedName[] columnsSource = + newColumns.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = c.Input }).ToArray(); + ColumnRoutingStructure.AnnotatedName[] columnsDest = + newColumns.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = true, Name = c.Output }).ToArray(); + var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); + yield return new SuggestedTransform(input, routingStructure); + + // Concat featurized columns into existing feature column, if transformed at least one column. + if (!ExcludeFeaturesConcatTransforms) + { + yield return InferenceHelpers.GetRemainingFeatures(newColumns.Select(c => c.Output).ToList(), + columns, GetType(), IncludeFeaturesOverride); + IncludeFeaturesOverride = true; + } + } + } + } + + internal static class InferenceHelpers + { + public static SuggestedTransform GetRemainingFeatures(List newCols, IntermediateColumn[] existingColumns, + Type currentType, bool includeFeaturesOverride) + { + // Pick up existing features columns, if they exist + var featuresColumnsCount = existingColumns.Count(col => + (col.Purpose == ColumnPurpose.NumericFeature) && + (col.ColumnName == DefaultColumnNames.Features)); + if (includeFeaturesOverride || featuresColumnsCount > 0) + newCols.Insert(0, DefaultColumnNames.Features); + return InferenceHelpers.ConcatColumnsIntoOne(newCols, DefaultColumnNames.Features, currentType, true); + } + + public static SuggestedTransform ConcatColumnsIntoOne(List columnNames, string concatColumnName, + Type transformType, bool isNumeric) + { + StringBuilder columnName = new StringBuilder(); + + columnNames.ForEach(column => + { + columnName.AppendFormat("{0}", column); + }); + + string columnsToConcat = string.Join(",", columnNames); + + var env = new MLContext(); + var input = new ColumnConcatenatingEstimator(env, concatColumnName, columnNames.ToArray()); + + // Not sure if resulting columns will be numeric or text, since concat can apply to either. + ColumnRoutingStructure.AnnotatedName[] columnsSource = + columnNames.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = isNumeric, Name = c }).ToArray(); + ColumnRoutingStructure.AnnotatedName[] columnsDest = + new[] { new ColumnRoutingStructure.AnnotatedName { IsNumeric = isNumeric, Name = concatColumnName } }; + var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); + + return new SuggestedTransform(input, routingStructure); + } + + public static SuggestedTransform TextTransformUnigramTriChar(MLContext env, string srcColumn, string dstColumn) + { + var input = new TextFeaturizingEstimator(env, srcColumn, dstColumn) + { + //WordFeatureExtractor = new NgramExtractorTransform.NgramExtractorArguments() { NgramLength = 1 }, + //CharFeatureExtractor = new NgramExtractorTransform.NgramExtractorArguments() { NgramLength = 3 } + }; + + return TextTransform(srcColumn, dstColumn, input); + } + + public static SuggestedTransform TextTransformBigramTriChar(MLContext env, string srcColumn, string dstColumn, Type transformType) + { + var input = new TextFeaturizingEstimator(env, srcColumn, dstColumn) + { + //WordFeatureExtractor = new NgramExtractorTransform.NgramExtractorArguments() { NgramLength = 2 }, + //CharFeatureExtractor = new NgramExtractorTransform.NgramExtractorArguments() { NgramLength = 3 } + }; + + return TextTransform(srcColumn, dstColumn, input); + } + + public static SuggestedTransform TextTransform(string srcColumn, string dstColumn, IEstimator estimator) + { + ColumnRoutingStructure.AnnotatedName[] columnsSource = + { new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = srcColumn } }; + ColumnRoutingStructure.AnnotatedName[] columnsDest = + { new ColumnRoutingStructure.AnnotatedName { IsNumeric = true, Name = dstColumn } }; + var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); + return new SuggestedTransform(estimator, routingStructure); + } + } + + internal sealed class Text : TransformInferenceExpertBase + { + public override IEnumerable Apply(IntermediateColumn[] columns) + { + var featureCols = new List(); + + foreach (var column in columns) + { + if (!column.Type.ItemType().IsText() || column.Purpose != ColumnPurpose.TextFeature) + continue; + + var columnDestSuffix = "_tf"; + var columnNameSafe = column.ColumnName; + + string columnDestRenamed = $"{columnNameSafe}{columnDestSuffix}"; + + featureCols.Add(columnDestRenamed); + var input = new TextFeaturizingEstimator(Env, columnNameSafe, columnDestRenamed); + ColumnRoutingStructure.AnnotatedName[] columnsSource = + { new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = columnNameSafe} }; + ColumnRoutingStructure.AnnotatedName[] columnsDest = + { new ColumnRoutingStructure.AnnotatedName { IsNumeric = true, Name = columnDestRenamed} }; + var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); + yield return new SuggestedTransform(input, routingStructure); + } + + // Concat text featurized columns into existing feature column, if transformed at least one column. + if (!ExcludeFeaturesConcatTransforms && featureCols.Count > 0) + { + yield return InferenceHelpers.GetRemainingFeatures(featureCols, columns, GetType(), IncludeFeaturesOverride); + IncludeFeaturesOverride = true; + } + } + } + + internal sealed class TextUniGramTriGram : TransformInferenceExpertBase + { + public override IEnumerable Apply(IntermediateColumn[] columns) + { + List textColumnNames = + columns.Where( + column => column.Type.ItemType().IsText() && column.Purpose == ColumnPurpose.TextFeature) + .Select(column => column.ColumnName).ToList(); + + if ((textColumnNames.Count == 0) || + (columns.Count(col => col.Purpose == ColumnPurpose.Label) != 1)) + yield break; + + //Concat text columns into one. + string concatTextColumnName; + if (textColumnNames.Count > 1) + { + concatTextColumnName = columns[0].GetTempColumnName("TextConcat"); + yield return + InferenceHelpers.ConcatColumnsIntoOne(textColumnNames, concatTextColumnName, GetType(), false); + } + else + { + concatTextColumnName = textColumnNames.First(); + } + + //Get Unigram + Trichar for text transform on the concatenated text column. + string featureTextColumn = columns[0].GetTempColumnName("FeaturesText"); + yield return InferenceHelpers.TextTransformUnigramTriChar(Env, concatTextColumnName, featureTextColumn); + + //Concat text featurized column into feature column. + List featureCols = new List(new[] { featureTextColumn }); + if (columns.Any( + col => + (col.Purpose == ColumnPurpose.NumericFeature) || + (col.Purpose == ColumnPurpose.CategoricalFeature))) + featureCols.Add(DefaultColumnNames.Features); + + if (!ExcludeFeaturesConcatTransforms) + { + yield return InferenceHelpers.ConcatColumnsIntoOne(featureCols, DefaultColumnNames.Features, GetType(), true); + } + } + } + + internal sealed class NumericMissing : TransformInferenceExpertBase + { + public override IEnumerable Apply(IntermediateColumn[] columns) + { + bool found = false; + var columnName = new StringBuilder(); + foreach (var column in columns) + { + if (column.Type.ItemType() != NumberType.R4 || column.Purpose != ColumnPurpose.NumericFeature) + continue; + if (!column.HasMissing) + continue; + + found = true; + + columnName.AppendFormat("{0}", column.ColumnName); + } + if (found) + { + string name = columnName.ToString(); + var input = new MissingValueIndicatorEstimator(Env, name, name); + + ColumnRoutingStructure.AnnotatedName[] columnsSource = + { new ColumnRoutingStructure.AnnotatedName { IsNumeric = true, Name = name} }; + ColumnRoutingStructure.AnnotatedName[] columnsDest = + { new ColumnRoutingStructure.AnnotatedName { IsNumeric = true, Name = name} }; + var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); + yield return new SuggestedTransform(input, routingStructure); + } + } + } + + internal class FeaturesColumnConcatRename : TransformInferenceExpertBase + { + public virtual bool IgnoreColumn(ColumnPurpose purpose) + { + if (purpose != ColumnPurpose.TextFeature + && purpose != ColumnPurpose.CategoricalFeature + && purpose != ColumnPurpose.NumericFeature) + return true; + return false; + } + + public override IEnumerable Apply(IntermediateColumn[] columns) + { + var selectedColumns = columns.Where(c => !IgnoreColumn(c.Purpose)).ToArray(); + var colList = selectedColumns.Select(c => c.ColumnName).ToArray(); + bool allColumnsNumeric = selectedColumns.All(c => c.Purpose == ColumnPurpose.NumericFeature && c.Type.ItemType() != BoolType.Instance); + bool allColumnsNonNumeric = selectedColumns.All(c => c.Purpose != ColumnPurpose.NumericFeature); + + if (colList.Length > 0) + { + // Check if column is named features and already numeric + if (colList.Length == 1 && colList[0] == DefaultColumnNames.Features && allColumnsNumeric) + yield break; + + if (!allColumnsNumeric && !allColumnsNonNumeric) + yield break; + + List columnList = new List(); + + foreach (var column in colList) + { + var columnName = new StringBuilder(); + columnName.AppendFormat("{0}", column); + columnList.Add(columnName.ToString()); + } + + var input = new ColumnConcatenatingEstimator(Env, DefaultColumnNames.Features, columnList.ToArray()); + + ColumnRoutingStructure.AnnotatedName[] columnsSource = + columnList.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = allColumnsNumeric, Name = c }).ToArray(); + ColumnRoutingStructure.AnnotatedName[] columnsDest = + { new ColumnRoutingStructure.AnnotatedName { IsNumeric = allColumnsNumeric, Name = DefaultColumnNames.Features} }; + var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); + yield return new SuggestedTransform(input, routingStructure); + } + } + } + + internal sealed class FeaturesColumnConcatRenameIgnoreText : FeaturesColumnConcatRename, ITransformInferenceExpert + { + public override bool IgnoreColumn(ColumnPurpose purpose) + { + return (purpose != ColumnPurpose.CategoricalFeature && purpose != ColumnPurpose.NumericFeature); + } + } + + internal sealed class FeaturesColumnConcatRenameNumericOnly : FeaturesColumnConcatRename, ITransformInferenceExpert + { + public override bool IgnoreColumn(ColumnPurpose purpose) + { + return (purpose != ColumnPurpose.NumericFeature); + } + } + + internal sealed class NameColumnConcatRename : TransformInferenceExpertBase + { + public override IEnumerable Apply(IntermediateColumn[] columns) + { + int count = 0; + bool isAllText = true; + var colSpec = new StringBuilder(); + var colSpecTextOnly = new List(); + var columnList = new List(); + + foreach (var column in columns) + { + var columnName = new StringBuilder(); + if (column.Purpose != ColumnPurpose.Name) + continue; + count++; + + if (colSpec.Length > 0) + colSpec.Append(","); + colSpec.Append(column.ColumnName); + + columnName.Append(column.ColumnName); + columnList.Add(columnName.ToString()); + + if (column.Type.ItemType().IsText()) + colSpecTextOnly.Add(column.ColumnName); + isAllText = isAllText && column.Type.ItemType().IsText(); + } + + if (count == 1 && colSpec.ToString() != DefaultColumnNames.Name) + { + var columnName = new StringBuilder(); + columnName.AppendFormat("{0}", colSpec); + var input = new ColumnCopyingEstimator(Env, columnName.ToString(), DefaultColumnNames.Name); + ColumnRoutingStructure.AnnotatedName[] columnsSource = + { new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = columnName.ToString()} }; + ColumnRoutingStructure.AnnotatedName[] columnsDest = + { new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = DefaultColumnNames.Name} }; + var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); + yield return new SuggestedTransform(input, routingStructure); + } + else if (count > 1) + { + if (string.IsNullOrWhiteSpace(colSpecTextOnly.ToString())) + yield break; + + // suggested grouping name columns into one vector + var input = new ColumnConcatenatingEstimator(Env, DefaultColumnNames.Name, columnList.ToArray()); + + ColumnRoutingStructure.AnnotatedName[] columnsSource = + columnList.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = c }).ToArray(); + ColumnRoutingStructure.AnnotatedName[] columnsDest = + { new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = DefaultColumnNames.Name} }; + var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); + yield return new SuggestedTransform(input, routingStructure); + } + } + } + } + + /// + /// Automatically infer transforms for the data view + /// + public static SuggestedTransform[] InferTransforms(MLContext env, IDataView data, PurposeInference.Column[] purposes) + { + data = data.Take(MaxRowsToRead); + var cols = purposes.Where(x => !data.Schema[x.ColumnIndex].IsHidden).Select(x => new IntermediateColumn(data, x)).ToArray(); + var list = new List(); + var includeFeaturesOverride = false; + foreach (var expert in GetExperts()) + { + expert.IncludeFeaturesOverride = includeFeaturesOverride; + SuggestedTransform[] suggestions = expert.Apply(cols).ToArray(); + includeFeaturesOverride |= expert.IncludeFeaturesOverride; + + list.AddRange(suggestions); + } + return list.ToArray(); + } + } +} diff --git a/src/AutoML/TransformInference/TransformInferenceApi.cs b/src/AutoML/TransformInference/TransformInferenceApi.cs new file mode 100644 index 0000000000..333297890d --- /dev/null +++ b/src/AutoML/TransformInference/TransformInferenceApi.cs @@ -0,0 +1,17 @@ +using System.Collections.Generic; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal static class TransformInferenceApi + { + public static IEnumerable InferTransforms(MLContext context, IDataView data, string label, + IDictionary purposeOverrides = null) + { + // infer column purposes + var purposes = PurposeInference.InferPurposes(context, data, label, purposeOverrides); + + return TransformInference.InferTransforms(context, data, purposes); + } + } +} diff --git a/src/AutoML/Utils/ColumnTypeExtensions.cs b/src/AutoML/Utils/ColumnTypeExtensions.cs new file mode 100644 index 0000000000..bc8783575d --- /dev/null +++ b/src/AutoML/Utils/ColumnTypeExtensions.cs @@ -0,0 +1,57 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal static class ColumnTypeExtensions + { + public static bool IsNumber(this ColumnType columnType) + { + return columnType is NumberType; + } + + public static bool IsText(this ColumnType columnType) + { + return columnType is TextType; + } + + public static bool IsBool(this ColumnType columnType) + { + return columnType is BoolType; + } + + public static bool IsVector(this ColumnType columnType) + { + return columnType is VectorType; + } + + public static bool IsKnownSizeVector(this ColumnType columnType) + { + var vector = columnType as VectorType; + if(vector == null) + { + return false; + } + return vector.Size > 0; + } + + public static ColumnType ItemType(this ColumnType columnType) + { + var vector = columnType as VectorType; + if (vector == null) + { + return columnType; + } + return vector.ItemType; + } + + public static DataKind RawKind(this ColumnType columnType) + { + columnType.RawType.TryGetDataKind(out var rawKind); + return rawKind; + } + } +} diff --git a/src/AutoML/Utils/Conversions.cs b/src/AutoML/Utils/Conversions.cs new file mode 100644 index 0000000000..77e03e1272 --- /dev/null +++ b/src/AutoML/Utils/Conversions.cs @@ -0,0 +1,255 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Text; + +namespace Microsoft.ML.Auto +{ + using BL = Boolean; + using R4 = Single; + using TX = ReadOnlyMemory; + using U1 = Byte; + using U8 = UInt64; + + internal static class Conversions + { + /// + /// This produces zero for empty. It returns false if the text is not parsable or overflows. + /// + public static bool TryParse(in TX src, out U1 dst) + { + ulong res; + if (!TryParse(in src, out res) || res > U1.MaxValue) + { + dst = 0; + return false; + } + dst = (U1)res; + return true; + } + + /// + /// This produces zero for empty. It returns false if the text is not parsable. + /// On failure, it sets dst to the NA value. + /// + public static bool TryParse(in TX src, out R4 dst) + { + var span = src.Span; + if (float.TryParse(span.ToString(), out dst)) + { + return true; + } + dst = R4.NaN; + return IsStdMissing(ref span); + } + + /// + /// Return true if the span contains a standard text representation of NA + /// other than the standard TX missing representation - callers should + /// have already dealt with that case and the case of empty. + /// The standard representations are any casing of: + /// ? NaN NA N/A + /// + private static bool IsStdMissing(ref ReadOnlySpan span) + { + char ch; + switch (span.Length) + { + default: + return false; + + case 1: + if (span[0] == '?') + return true; + return false; + case 2: + if ((ch = span[0]) != 'N' && ch != 'n') + return false; + if ((ch = span[1]) != 'A' && ch != 'a') + return false; + return true; + case 3: + if ((ch = span[0]) != 'N' && ch != 'n') + return false; + if ((ch = span[1]) == '/') + { + // Check for N/A. + if ((ch = span[2]) != 'A' && ch != 'a') + return false; + } + else + { + // Check for NaN. + if (ch != 'a' && ch != 'A') + return false; + if ((ch = span[2]) != 'N' && ch != 'n') + return false; + } + return true; + } + } + + /// + /// Try parsing a TX to a BL. This returns false for NA (span.IsMissing). + /// Otherwise, it trims the span, then succeeds on all casings of the strings: + /// * false, f, no, n, 0, -1, - => false + /// * true, t, yes, y, 1, +1, + => true + /// Empty string (but not missing string) succeeds and maps to false. + /// + public static bool TryParse(in TX src, out BL dst) + { + var span = src.Span; + + char ch; + switch (src.Length) + { + case 0: + // Empty succeeds and maps to false. + dst = false; + return true; + + case 1: + switch (span[0]) + { + case 'T': + case 't': + case 'Y': + case 'y': + case '1': + case '+': + dst = true; + return true; + case 'F': + case 'f': + case 'N': + case 'n': + case '0': + case '-': + dst = false; + return true; + } + break; + + case 2: + switch (span[0]) + { + case 'N': + case 'n': + if ((ch = span[1]) != 'O' && ch != 'o') + break; + dst = false; + return true; + case '+': + if ((ch = span[1]) != '1') + break; + dst = true; + return true; + case '-': + if ((ch = span[1]) != '1') + break; + dst = false; + return true; + } + break; + + case 3: + switch (span[0]) + { + case 'Y': + case 'y': + if ((ch = span[1]) != 'E' && ch != 'e') + break; + if ((ch = span[2]) != 'S' && ch != 's') + break; + dst = true; + return true; + } + break; + + case 4: + switch (span[0]) + { + case 'T': + case 't': + if ((ch = span[1]) != 'R' && ch != 'r') + break; + if ((ch = span[2]) != 'U' && ch != 'u') + break; + if ((ch = span[3]) != 'E' && ch != 'e') + break; + dst = true; + return true; + } + break; + + case 5: + switch (span[0]) + { + case 'F': + case 'f': + if ((ch = span[1]) != 'A' && ch != 'a') + break; + if ((ch = span[2]) != 'L' && ch != 'l') + break; + if ((ch = span[3]) != 'S' && ch != 's') + break; + if ((ch = span[4]) != 'E' && ch != 'e') + break; + dst = false; + return true; + } + break; + } + + dst = false; + return false; + } + + /// + /// This produces zero for empty. It returns false if the text is not parsable or overflows. + /// + public static bool TryParse(in TX src, out U8 dst) + { + if (src.IsEmpty) + { + dst = 0; + return false; + } + + return TryParseCore(src.Span, out dst); + } + + private static bool TryParseCore(ReadOnlySpan span, out ulong dst) + { + ulong res = 0; + int ich = 0; + while (ich < span.Length) + { + uint d = (uint)span[ich++] - (uint)'0'; + if (d >= 10) + goto LFail; + + // If any of the top three bits of prev are set, we're guaranteed to overflow. + if ((res & 0xE000000000000000UL) != 0) + goto LFail; + + // Given that tmp = 8 * res doesn't overflow, if 10 * res + d overflows, then it overflows to + // 10 * res + d - 2^n = tmp + (2 * res + d - 2^n). Clearly the paren group is negative, + // so the new result (after overflow) will be less than tmp. The converse is also true. + ulong tmp = res << 3; + res = tmp + (res << 1) + d; + if (res < tmp) + goto LFail; + } + dst = res; + return true; + + LFail: + dst = 0; + return false; + } + } +} diff --git a/src/AutoML/Utils/DataKindExtensions.cs b/src/AutoML/Utils/DataKindExtensions.cs new file mode 100644 index 0000000000..f8907b479e --- /dev/null +++ b/src/AutoML/Utils/DataKindExtensions.cs @@ -0,0 +1,96 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal static class DataKindExtensions + { + /// + /// Try to map a System.Type to a corresponding DataKind value. + /// + public static bool TryGetDataKind(this Type type, out DataKind kind) + { + if (type == typeof(sbyte)) + { + kind = DataKind.I1; + } + else if (type == typeof(byte)) + { + kind = DataKind.U1; + } + else if (type == typeof(short)) + { + kind = DataKind.I2; + } + else if (type == typeof(ushort)) + { + kind = DataKind.U2; + } + else if (type == typeof(int)) + { + kind = DataKind.I4; + } + else if (type == typeof(uint)) + { + kind = DataKind.U4; + } + else if (type == typeof(long)) + { + kind = DataKind.I8; + } + else if (type == typeof(ulong)) + { + kind = DataKind.U8; + } + else if (type == typeof(float)) + { + kind = DataKind.R4; + } + else if (type == typeof(double)) + { + kind = DataKind.R8; + } + else + { + if (!(type == typeof(ReadOnlyMemory)) && !(type == typeof(string))) + { + if (type == typeof(bool)) + { + kind = DataKind.BL; + goto IL_01ad; + } + if (type == typeof(TimeSpan)) + { + kind = DataKind.TS; + goto IL_01ad; + } + if (type == typeof(DateTime)) + { + kind = DataKind.DT; + goto IL_01ad; + } + if (type == typeof(DateTimeOffset)) + { + kind = DataKind.DZ; + goto IL_01ad; + } + if (type == typeof(RowId)) + { + kind = DataKind.UG; + goto IL_01ad; + } + kind = (DataKind)0; + return false; + } + kind = DataKind.TX; + } + goto IL_01ad; + IL_01ad: + return true; + } + } +} diff --git a/src/AutoML/Utils/DataViewUtils.cs b/src/AutoML/Utils/DataViewUtils.cs new file mode 100644 index 0000000000..a5d4dc6d5e --- /dev/null +++ b/src/AutoML/Utils/DataViewUtils.cs @@ -0,0 +1,36 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal static class DataViewUtils + { + /// + /// Generate a unique temporary column name for the given schema. + /// Use tag to independently create multiple temporary, unique column + /// names for a single transform. + /// + public static string GetTemporaryColumnName(this Schema schema, string tag = null) + { + if (!string.IsNullOrWhiteSpace(tag) && schema.GetColumnOrNull(tag) == null) + { + return tag; + } + + for (int i = 0; ; i++) + { + string name = string.IsNullOrWhiteSpace(tag) ? + string.Format("temp_{0:000}", i) : + string.Format("temp_{0}_{1:000}", tag, i); + + if (schema.GetColumnOrNull(name) == null) + { + return name; + } + } + } + } +} \ No newline at end of file diff --git a/src/AutoML/Utils/Hashing.cs b/src/AutoML/Utils/Hashing.cs new file mode 100644 index 0000000000..b801d591d1 --- /dev/null +++ b/src/AutoML/Utils/Hashing.cs @@ -0,0 +1,37 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Text; + +namespace Microsoft.ML.Auto +{ + internal static class Hashing + { + public static uint CombineHash(uint u1, uint u2) + { + return ((u1 << 7) | (u1 >> 25)) ^ u2; + } + + public static int CombineHash(int n1, int n2) + { + return (int)CombineHash((uint)n1, (uint)n2); + } + + /// + /// Creates a combined hash of possibly heterogenously typed values. + /// + /// The leading hash, incorporated into the final hash + /// A variable list of objects, where null is a valid value + /// The combined hash incorpoating a starting hash, and the hash codes + /// of all input values + public static int CombinedHash(int startHash, params object[] os) + { + foreach (object o in os) + startHash = CombineHash(startHash, o == null ? 0 : o.GetHashCode()); + return startHash; + } + } +} diff --git a/src/AutoML/Utils/ProbabilityFunctions.cs b/src/AutoML/Utils/ProbabilityFunctions.cs new file mode 100644 index 0000000000..68c927d37c --- /dev/null +++ b/src/AutoML/Utils/ProbabilityFunctions.cs @@ -0,0 +1,34 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Text; + +namespace Microsoft.ML.Auto +{ + internal static class ProbabilityFunctions + { + /// + /// The approximate error function. + /// + /// The input parameter, of infinite range. + /// Evaluation of the function + public static double Erf(double x) + { + if (Double.IsInfinity(x)) + return Double.IsPositiveInfinity(x) ? 1.0 : -1.0; + + const double p = 0.3275911; + const double a1 = 0.254829592; + const double a2 = -0.284496736; + const double a3 = 1.421413741; + const double a4 = -1.453152027; + const double a5 = 1.061405429; + double t = 1.0 / (1.0 + p * Math.Abs(x)); + double ev = 1.0 - ((((((((a5 * t) + a4) * t) + a3) * t) + a2) * t + a1) * t) * Math.Exp(-(x * x)); + return x >= 0 ? ev : -ev; + } + } +} diff --git a/src/AutoML/Utils/Stats.cs b/src/AutoML/Utils/Stats.cs new file mode 100644 index 0000000000..7f231ddf5b --- /dev/null +++ b/src/AutoML/Utils/Stats.cs @@ -0,0 +1,83 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; + +namespace Microsoft.ML.Auto +{ + internal static class Stats + { + /// + /// Generates a beta-distributed random variable + /// + /// first parameter + /// second parameter + /// Sample from distribution + public static double SampleFromBeta(double alpha1, double alpha2) + { + double gamma1 = SampleFromGamma(alpha1); + double gamma2 = SampleFromGamma(alpha2); + return gamma1 / (gamma1 + gamma2); + } + + /// + /// Returns a sample from the gamma distribution with scale parameter 1, shape parameter alpha + /// + /// Shape parameter + /// Sample from gamma distribution + /// Uses Marsaglia and Tsang's fast algorithm + public static double SampleFromGamma(double alpha) + { + //Contracts.CheckParam(alpha > 0, nameof(alpha), "alpha must be positive"); + + if (alpha < 1) + return SampleFromGamma(alpha + 1) * Math.Pow(AutoMlUtils.Random.NextDouble(), 1.0 / alpha); + + double d = alpha - 1.0 / 3; + double c = 1 / Math.Sqrt(9 * d); + double x; + double u; + double v; + while (true) + { + do + { + x = SampleFromGaussian(); + v = Math.Pow(1.0 + c * x, 3); + } while (v <= 0); + u = AutoMlUtils.Random.NextDouble(); + double xSqr = x * x; + if (u < 1.0 - 0.0331 * xSqr * xSqr || + Math.Log(u) < 0.5 * xSqr + d * (1.0 - v + Math.Log(v))) + { + return d * v; + } + } + } + + /// + /// Returns a number sampled from a zero-mean, unit variance Gaussian + /// + /// a sample + /// uses Joseph L. Leva's algorithm from "A fast normal random number generator", 1992 + public static double SampleFromGaussian() + { + double u; + double v; + double q; + do + { + u = AutoMlUtils.Random.NextDouble(); + v = _vScale * (AutoMlUtils.Random.NextDouble() - 0.5); + double x = u - 0.449871; + double y = Math.Abs(v) + 0.386595; + q = x * x + y * (0.19600 * y - 0.25472 * x); + } while (q > 0.27597 && (q > 0.27846 || v * v > -4 * u * u * Math.Log(u))); + + return v / u; + } + + private static double _vScale = 2 * Math.Sqrt(2 / Math.E); + } +} diff --git a/src/AutoML/Utils/SweepableParamAttributes.cs b/src/AutoML/Utils/SweepableParamAttributes.cs new file mode 100644 index 0000000000..85d558791c --- /dev/null +++ b/src/AutoML/Utils/SweepableParamAttributes.cs @@ -0,0 +1,222 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Microsoft.ML.Auto +{ + /// + /// Used to indicate suggested sweep ranges for parameter sweeping. + /// + public abstract class SweepableParam + { + public string Name { get; set; } + private IComparable _rawValue; + public virtual IComparable RawValue + { + get => _rawValue; + set + { + if (!Frozen) + _rawValue = value; + } + } + + // The raw value will store an index for discrete parameters, + // but sometimes we want the text or numeric value itself, + // not the hot index. The processed value does that for discrete + // params. For other params, it just returns the raw value itself. + public virtual IComparable ProcessedValue() => _rawValue; + + // Allows for hyperparameter value freezing, so that sweeps + // will not alter the current value when true. + public bool Frozen { get; set; } + + // Allows the sweepable param to be set directly using the + // available ValueText attribute on IParameterValues (from + // the ParameterSets used in the old hyperparameter sweepers). + public abstract void SetUsingValueText(string valueText); + + public abstract SweepableParam Clone(); + } + + internal sealed class SweepableDiscreteParam : SweepableParam + { + public object[] Options { get; } + + public SweepableDiscreteParam(string name, object[] values, bool isBool = false) : this(values, isBool) + { + Name = name; + } + + public SweepableDiscreteParam(object[] values, bool isBool = false) + { + Options = isBool ? new object[] { false, true } : values; + } + + public override IComparable RawValue + { + get => base.RawValue; + set + { + var val = Convert.ToInt32(value); + if (!Frozen && 0 <= val && val < Options.Length) + base.RawValue = val; + } + } + + public override void SetUsingValueText(string valueText) + { + for (int i = 0; i < Options.Length; i++) + if (valueText == Options[i].ToString()) + RawValue = i; + } + + public int IndexOf(object option) + { + for (int i = 0; i < Options.Length; i++) + if (option == Options[i]) + return i; + return -1; + } + + private static string TranslateOption(object o) + { + switch (o) + { + case float _: + case double _: + return $"{o}f"; + case long _: + case int _: + case byte _: + case short _: + return o.ToString(); + case bool _: + return o.ToString().ToLower(); + case Enum _: + var type = o.GetType(); + var defaultName = $"Enums.{type.Name}.{o.ToString()}"; + var name = type.FullName?.Replace("+", "."); + if (name == null) + return defaultName; + var index1 = name.LastIndexOf(".", StringComparison.Ordinal); + var index2 = name.Substring(0, index1).LastIndexOf(".", StringComparison.Ordinal) + 1; + if (index2 >= 0) + return $"{name.Substring(index2)}.{o.ToString()}"; + return defaultName; + default: + return $"\"{o}\""; + } + } + + public override SweepableParam Clone() => + new SweepableDiscreteParam(Name, Options) { RawValue = RawValue, Frozen = Frozen }; + + public override string ToString() + { + var name = string.IsNullOrEmpty(Name) ? "" : $"\"{Name}\", "; + return $"[{GetType().Name}({name}new object[]{{{string.Join(", ", Options.Select(TranslateOption))}}})]"; + } + + public override IComparable ProcessedValue() => (IComparable)Options[(int)RawValue]; + } + + internal sealed class SweepableFloatParam : SweepableParam + { + public float Min { get; } + public float Max { get; } + public float? StepSize { get; } + public int? NumSteps { get; } + public bool IsLogScale { get; } + + public SweepableFloatParam(string name, float min, float max, float stepSize = -1, int numSteps = -1, + bool isLogScale = false) : this(min, max, stepSize, numSteps, isLogScale) + { + Name = name; + } + + public SweepableFloatParam(float min, float max, float stepSize = -1, int numSteps = -1, bool isLogScale = false) + { + Min = min; + Max = max; + if (!stepSize.Equals(-1)) + StepSize = stepSize; + if (numSteps != -1) + NumSteps = numSteps; + IsLogScale = isLogScale; + } + + public override void SetUsingValueText(string valueText) + { + RawValue = float.Parse(valueText); + } + + public override SweepableParam Clone() => + new SweepableFloatParam(Name, Min, Max, StepSize ?? -1, NumSteps ?? -1, IsLogScale) { RawValue = RawValue, Frozen = Frozen }; + + public override string ToString() + { + var optional = new StringBuilder(); + if (StepSize != null) + optional.Append($", stepSize:{StepSize}"); + if (NumSteps != null) + optional.Append($", numSteps:{NumSteps}"); + if (IsLogScale) + optional.Append($", isLogScale:true"); + var name = string.IsNullOrEmpty(Name) ? "" : $"\"{Name}\", "; + return $"[{GetType().Name}({name}{Min}f, {Max}f{optional})]"; + } + } + + internal sealed class SweepableLongParam : SweepableParam + { + public long Min { get; } + public long Max { get; } + public float? StepSize { get; } + public int? NumSteps { get; } + public bool IsLogScale { get; } + + public SweepableLongParam(string name, long min, long max, float stepSize = -1, int numSteps = -1, + bool isLogScale = false) : this(min, max, stepSize, numSteps, isLogScale) + { + Name = name; + } + + public SweepableLongParam(long min, long max, float stepSize = -1, int numSteps = -1, bool isLogScale = false) + { + Min = min; + Max = max; + if (!stepSize.Equals(-1)) + StepSize = stepSize; + if (numSteps != -1) + NumSteps = numSteps; + IsLogScale = isLogScale; + } + + public override void SetUsingValueText(string valueText) + { + RawValue = long.Parse(valueText); + } + + public override SweepableParam Clone() => + new SweepableLongParam(Name, Min, Max, StepSize ?? -1, NumSteps ?? -1, IsLogScale) { RawValue = RawValue, Frozen = Frozen }; + + public override string ToString() + { + var optional = new StringBuilder(); + if (StepSize != null) + optional.Append($", stepSize:{StepSize}"); + if (NumSteps != null) + optional.Append($", numSteps:{NumSteps}"); + if (IsLogScale) + optional.Append($", isLogScale:true"); + var name = string.IsNullOrEmpty(Name) ? "" : $"\"{Name}\", "; + return $"[{GetType().Name}({name}{Min}, {Max}{optional})]"; + } + } +} diff --git a/src/AutoML/Utils/VBufferUtils.cs b/src/AutoML/Utils/VBufferUtils.cs new file mode 100644 index 0000000000..62132e42cf --- /dev/null +++ b/src/AutoML/Utils/VBufferUtils.cs @@ -0,0 +1,23 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Data; +using System; + +namespace Microsoft.ML.Auto +{ + internal class VBufferUtils + { + public static bool HasNaNs(in VBuffer buffer) + { + var values = buffer.GetValues(); + for (int i = 0; i < values.Length; i++) + { + if (Single.IsNaN(values[i])) + return true; + } + return false; + } + } +} diff --git a/src/InternalClient/GetNextPipeline.cs b/src/InternalClient/GetNextPipeline.cs new file mode 100644 index 0000000000..285e11b48c --- /dev/null +++ b/src/InternalClient/GetNextPipeline.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using Microsoft.ML; +using Microsoft.ML.Auto; + +namespace InternalClient +{ + internal static class GetNextPipeline + { + private const string Label = "Label"; + private const string TrainDataPath = @"C:\data\sample_train2.csv"; + + public static void Run() + { + // load data + var context = new MLContext(); + var columnInference = context.Data.InferColumns(TrainDataPath, Label, true); + var textLoader = context.Data.CreateTextReader(columnInference); + var data = textLoader.Read(TrainDataPath); + + // get trainers & transforms + var transforms = TransformInferenceApi.InferTransforms(context, data, Label); + var availableTrainers = RecipeInference.AllowedTrainers(context, TaskKind.BinaryClassification, 4); + + // get next pipeline loop + var history = new List(); + for(var i = 0; i < 100; i++) + { + // get next pipeline + var pipeline = PipelineSuggester.GetNextPipeline(history, transforms, availableTrainers); + if(pipeline == null) + { + break; + } + Console.WriteLine($"{i}\t{pipeline}"); + + // mock pipeline run + var pipelineScore = AutoMlUtils.Random.NextDouble(); + var result = new PipelineRunResult(null, null, pipeline, pipelineScore, null); + + history.Add(result); + } + + Console.ReadLine(); + } + } +} diff --git a/src/InternalClient/InternalClient.csproj b/src/InternalClient/InternalClient.csproj new file mode 100644 index 0000000000..ed07318bb5 --- /dev/null +++ b/src/InternalClient/InternalClient.csproj @@ -0,0 +1,16 @@ + + + + Exe + netcoreapp2.1 + + + + 1701;1702;0649 + + + + + + + diff --git a/src/Test/Test/Program.cs b/src/InternalClient/Program.cs similarity index 64% rename from src/Test/Test/Program.cs rename to src/InternalClient/Program.cs index 9db49358a6..9dccad4e39 100644 --- a/src/Test/Test/Program.cs +++ b/src/InternalClient/Program.cs @@ -1,12 +1,12 @@ using System; -namespace Test +namespace InternalClient { class Program { static void Main(string[] args) { - Console.WriteLine("Hello World!"); + GetNextPipeline.Run(); } } } diff --git a/src/Samples/Benchmarking.cs b/src/Samples/Benchmarking.cs new file mode 100644 index 0000000000..ad9739eba1 --- /dev/null +++ b/src/Samples/Benchmarking.cs @@ -0,0 +1,41 @@ +using System; +using Microsoft.ML; +using Microsoft.ML.Auto; + +namespace Samples +{ + public static class Benchmarking + { + const string DatasetName = "VirusPrediction"; + const string Label = "WnvPresent"; + const string DatasetPathPrefix = @"D:\SplitDatasets\"; + + static readonly string TrainDataPath = $"{DatasetPathPrefix}{DatasetName}_train.csv"; + static readonly string ValidationDataPath = $"{DatasetPathPrefix}{DatasetName}_valid.csv"; + static readonly string TestDataPath = $"{DatasetPathPrefix}{DatasetName}_test.csv"; + + public static void Run() + { + var context = new MLContext(); + var columnInference = context.Data.InferColumns(TrainDataPath, Label, true); + var textLoader = context.Data.CreateTextReader(columnInference); + var trainData = textLoader.Read(TrainDataPath); + var validationData = textLoader.Read(ValidationDataPath); + var testData = textLoader.Read(TestDataPath); + var best = context.BinaryClassification.AutoFit(trainData, Label, validationData, settings: + new AutoFitSettings() + { + StoppingCriteria = new ExperimentStoppingCriteria() + { + MaxIterations = 200, + TimeOutInMinutes = 1000000000 + } + }); + var scoredTestData = best.BestPipeline.Model.Transform(testData); + var testDataMetrics = context.BinaryClassification.EvaluateNonCalibrated(scoredTestData); + + Console.WriteLine(testDataMetrics.Accuracy); + Console.ReadLine(); + } + } +} diff --git a/src/Samples/BinaryClassification.cs b/src/Samples/BinaryClassification.cs new file mode 100644 index 0000000000..27c7da24d4 --- /dev/null +++ b/src/Samples/BinaryClassification.cs @@ -0,0 +1,149 @@ +using System; +using System.IO; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; + +namespace Samples +{ + public class BinaryClassification + { + public static void Run() + { + const string trainDataPath = @"C:\data\sample_train2.csv"; + const string validationDataPath = @"C:\data\sample_valid2.csv"; + const string testDataPath = @"C:\data\sample_test2.csv"; + + var mlContext = new MLContext(); + + // load data + var textLoader = new TextLoader(mlContext, + new TextLoader.Arguments() + { + Separator = ",", + HasHeader = true, + Column = new[] + { + new TextLoader.Column("Age", DataKind.R4, 0), + new TextLoader.Column("Workclass", DataKind.TX, 1), + new TextLoader.Column("Fnlwgt", DataKind.R4, 2), + new TextLoader.Column("Education", DataKind.TX, 3), + new TextLoader.Column("EducationNum", DataKind.R4, 4), + new TextLoader.Column("MaritalStatus", DataKind.TX, 5), + new TextLoader.Column("Occupation", DataKind.TX, 6), + new TextLoader.Column("Relationship", DataKind.TX, 7), + new TextLoader.Column("Race", DataKind.TX, 8), + new TextLoader.Column("Sex", DataKind.TX, 9), + new TextLoader.Column("CapitalGain", DataKind.R4, 10), + new TextLoader.Column("CapitalLoss", DataKind.R4, 11), + new TextLoader.Column("HoursPerWeek", DataKind.R4, 12), + new TextLoader.Column("NativeCountry", DataKind.TX, 13), + new TextLoader.Column("Label", DataKind.Bool, 14), + } + }); + + var trainData = textLoader.Read(trainDataPath); + var validationData = textLoader.Read(validationDataPath); + var testData = textLoader.Read(testDataPath); + + //////// SDCA + + //// preprocess + //var preprocessorEstimator = mlContext.Transforms.Categorical.OneHotEncoding("Workclass", "Workclass") + // .Append(mlContext.Transforms.Categorical.OneHotEncoding("Education", "Education")) + // .Append(mlContext.Transforms.Categorical.OneHotEncoding("MaritalStatus", "MaritalStatus")) + // .Append(mlContext.Transforms.Categorical.OneHotEncoding("Occupation", "Occupation")) + // .Append(mlContext.Transforms.Categorical.OneHotEncoding("Relationship", "Relationship")) + // .Append(mlContext.Transforms.Categorical.OneHotEncoding("Race", "Race")) + // .Append(mlContext.Transforms.Categorical.OneHotEncoding("Sex", "Sex")) + // .Append(mlContext.Transforms.Categorical.OneHotEncoding("NativeCountry", "NativeCountry")) + // .Append(mlContext.Transforms.Concatenate(DefaultColumnNames.Features, + // "Age", "Workclass", "Fnlwgt", "Education", "EducationNum", "MaritalStatus", "Occupation", "Relationship", + // "Race", "Sex", "CapitalGain", "CapitalLoss", "HoursPerWeek", "NativeCountry")); + + //// train model + //var trainer = mlContext.BinaryClassification.Trainers.StochasticDualCoordinateAscent(); + //var estimatorChain = preprocessorEstimator.Append(trainer); + //var model = estimatorChain.Fit(trainData); + + //////// AutoML + + // run AutoML & train model + var autoMlResult = mlContext.BinaryClassification.AutoFit(trainData, "Label", validationData, + settings : new AutoFitSettings() + { + StoppingCriteria = new ExperimentStoppingCriteria() { MaxIterations = 10 } + }); + // get best AutoML model + var model = autoMlResult.BestPipeline.Model; + + // run AutoML on test data + var transformedOutput = model.Transform(testData); + var results = mlContext.BinaryClassification.Evaluate(transformedOutput); + Console.WriteLine($"Model Accuracy: {results.Accuracy}\r\n"); + + // save model to disk + var modelPath = $"Model.zip"; + using (var fs = new FileStream(modelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) + { + mlContext.Model.Save(model, fs); + } + ITransformer savedModel; + using (var stream = new FileStream(modelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + savedModel = mlContext.Model.Load(stream); + } + + // create a prediction engine from the loaded model + var predFunction = savedModel.CreatePredictionEngine(mlContext); + var prediction = predFunction.Predict(new UciAdultInput() + { + Age = 28, + Workclass = "Local-gov", + Fnlwgt = 336951, + Education = "Assoc-acdm", + EducationNum = 12, + MaritalStatus = "Married-civ-spouse", + Occupation = "Protective-serv", + Relationship = "Husband", + Race = "White", + Sex = "Male", + CapitalGain = 0, + CapitalLoss = 0, + HoursPerWeek = 40, + NativeCountry = "United-States", + }); + + Console.WriteLine($"Predicted label: {prediction.PredictedLabel}"); + Console.WriteLine($"Predicted probability: {prediction.Probability}"); + + Console.ReadLine(); + } + + public class UciAdultInput + { + public float Age; + public string Workclass; + public float Fnlwgt; + public string Education; + public float EducationNum; + public string MaritalStatus; + public string Occupation; + public string Relationship; + public string Race; + public string Sex; + public float CapitalGain; + public float CapitalLoss; + public float HoursPerWeek; + public string NativeCountry; + public bool Label; + } + + public class UciAdultOutput + { + public float Probability; + public bool PredictedLabel; + } + } +} diff --git a/src/Samples/GetFirstPipeline.cs b/src/Samples/GetFirstPipeline.cs new file mode 100644 index 0000000000..8b60c88e26 --- /dev/null +++ b/src/Samples/GetFirstPipeline.cs @@ -0,0 +1,20 @@ +using Microsoft.ML; +using Microsoft.ML.Auto; + +namespace Samples +{ + public static class GetFirstPipeline + { + const string TrainDataPath = @"C:\data\sample_train2.csv"; + const string Label = "Label"; + + public static void Run() + { + var context = new MLContext(); + var columnInference = context.Data.InferColumns(TrainDataPath, Label, true); + var textLoader = context.Data.CreateTextReader(columnInference); + var data = textLoader.Read(TrainDataPath); + var pipeline = context.BinaryClassification.AutoFit(data, Label); + } + } +} diff --git a/src/Samples/MulticlassClassification.cs b/src/Samples/MulticlassClassification.cs new file mode 100644 index 0000000000..2f73a574fb --- /dev/null +++ b/src/Samples/MulticlassClassification.cs @@ -0,0 +1,40 @@ +using System; +using Microsoft.ML; +using Microsoft.ML.Auto; + +namespace Samples +{ + public class MulticlassClassification + { + public static void Run() + { + const string trainDataPath = @"C:\data\train.csv"; + const string validationDataPath = @"C:\data\valid.csv"; + const string testDataPath = @"C:\data\test.csv"; + const string label = "Label"; + + var mlContext = new MLContext(); + + // auto-load data from disk + var trainData = mlContext.Data.AutoRead(trainDataPath, label); + var validationData = mlContext.Data.AutoRead(validationDataPath, label); + var testData = mlContext.Data.AutoRead(testDataPath, label); + + // run AutoML & train model + var autoMlResult = mlContext.MulticlassClassification.AutoFit(trainData, "Label", validationData, + settings: new AutoFitSettings() + { + StoppingCriteria = new ExperimentStoppingCriteria() { MaxIterations = 10 } + }); + // get best AutoML model + var model = autoMlResult.BestPipeline.Model; + + // run AutoML on test data + var transformedOutput = model.Transform(testData); + var results = mlContext.BinaryClassification.Evaluate(transformedOutput); + Console.WriteLine($"Model Accuracy: {results.Accuracy}\r\n"); + + Console.ReadLine(); + } + } +} diff --git a/src/Samples/Program.cs b/src/Samples/Program.cs new file mode 100644 index 0000000000..c43e818c9a --- /dev/null +++ b/src/Samples/Program.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Samples +{ + public class Program + { + public static void Main(string[] args) + { + BinaryClassification.Run(); + //MulticlassClassification.Run(); + + // GetFirstPipeline.Run(); + } + } +} diff --git a/src/Samples/Samples.csproj b/src/Samples/Samples.csproj new file mode 100644 index 0000000000..69ce709abf --- /dev/null +++ b/src/Samples/Samples.csproj @@ -0,0 +1,17 @@ + + + + Exe + netcoreapp2.1 + + + + 1701;1702;0649 + true + + + + + + + diff --git a/src/Test/SweeperTests.cs b/src/Test/SweeperTests.cs new file mode 100644 index 0000000000..4c87872432 --- /dev/null +++ b/src/Test/SweeperTests.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using System.IO; +using Microsoft.ML; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class SweeperTests + { + [TestMethod] + public void Smac2ParamsTest() + { + var sweeper = new SmacSweeper(new SmacSweeper.Arguments() + { + SweptParameters = new INumericValueGenerator[] { + new FloatValueGenerator(new FloatParamArguments() { Name = "foo", Min = 1, Max = 5}), + new LongValueGenerator(new LongParamArguments() { Name = "bar", Min = 1, Max = 1000, LogBase = true }) + }, + }); + + Random rand = new Random(0); + List results = new List(); + + int count = 0; + while (true) + { + ParameterSet[] pars = sweeper.ProposeSweeps(1, results); + if(pars == null) + { + break; + } + foreach (ParameterSet p in pars) + { + float foo = 0; + long bar = 0; + + foo = (p["foo"] as FloatParameterValue).Value; + bar = (p["bar"] as LongParameterValue).Value; + + double metric = ((5 - Math.Abs(4 - foo)) * 200) + (1001 - Math.Abs(33 - bar)) + rand.Next(1, 20); + results.Add(new RunResult(p, metric, true)); + count++; + Console.WriteLine("{0}--{1}--{2}--{3}", count, foo, bar, metric); + } + } + } + + [TestMethod] + public void Smac4ParamsTest() + { + var sweeper = new SmacSweeper(new SmacSweeper.Arguments() + { + SweptParameters = new INumericValueGenerator[] { + new FloatValueGenerator(new FloatParamArguments() { Name = "x1", Min = 1, Max = 1000}), + new FloatValueGenerator(new FloatParamArguments() { Name = "x2", Min = 1, Max = 1000}), + new FloatValueGenerator(new FloatParamArguments() { Name = "x3", Min = 1, Max = 1000}), + new FloatValueGenerator(new FloatParamArguments() { Name = "x4", Min = 1, Max = 1000}), + }, + }); + + Random rand = new Random(0); + List results = new List(); + + RunResult bestResult = null; + for (var i = 0; i < 300; i++) + { + ParameterSet[] pars = sweeper.ProposeSweeps(1, results); + + // if run converged, break + if (pars == null) + { + break; + } + + foreach (ParameterSet p in pars) + { + float x1 = (p["x1"] as FloatParameterValue).Value; + float x2 = (p["x2"] as FloatParameterValue).Value; + float x3 = (p["x3"] as FloatParameterValue).Value; + float x4 = (p["x4"] as FloatParameterValue).Value; + + double metric = -200 * (Math.Abs(100 - x1) + + Math.Abs(300 - x2) + + Math.Abs(500 - x3) + + Math.Abs(700 - x4) ); + + RunResult result = new RunResult(p, metric, true); + if(bestResult == null || bestResult.MetricValue < metric) + { + bestResult = result; + } + results.Add(result); + + Console.WriteLine($"{metric}\t{x1},{x2},{x3},{x4}"); + } + + } + + Console.WriteLine($"Best: {bestResult.MetricValue}"); + } + } +} diff --git a/src/Test/Test.csproj b/src/Test/Test.csproj new file mode 100644 index 0000000000..4e668dd9c5 --- /dev/null +++ b/src/Test/Test.csproj @@ -0,0 +1,21 @@ + + + + netcoreapp2.1 + + false + + Microsoft.ML.Auto.Test + + + + + + + + + + + + + diff --git a/src/Test/Test.sln b/src/Test/Test.sln deleted file mode 100644 index f0b9384138..0000000000 --- a/src/Test/Test.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.168 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{863DAAAA-988D-41A8-A006-6A55F10BE46C}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {863DAAAA-988D-41A8-A006-6A55F10BE46C}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {B3ECCDB0-E11A-4EF4-9911-C0D1E9544E0C} - EndGlobalSection -EndGlobal diff --git a/src/Test/Test/Test.csproj b/src/Test/Test/Test.csproj deleted file mode 100644 index b71f7fd8a0..0000000000 --- a/src/Test/Test/Test.csproj +++ /dev/null @@ -1,8 +0,0 @@ - - - - Exe - netcoreapp2.1 - false - - From 1e451c213c23b89f899286f4a429eba149b50666 Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin Date: Tue, 15 Jan 2019 01:36:08 -0800 Subject: [PATCH 008/211] battling with warn as err --- src/AutoML/AutoML.csproj | 4 ++++ src/Samples/Samples.csproj | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/AutoML/AutoML.csproj b/src/AutoML/AutoML.csproj index 98c8829e27..69aa209d9c 100644 --- a/src/AutoML/AutoML.csproj +++ b/src/AutoML/AutoML.csproj @@ -8,6 +8,10 @@ x64 + 1701;1702;0649; + + + 1701;1702;0649 diff --git a/src/Samples/Samples.csproj b/src/Samples/Samples.csproj index 69ce709abf..8e70fd0c07 100644 --- a/src/Samples/Samples.csproj +++ b/src/Samples/Samples.csproj @@ -10,6 +10,14 @@ true + + 1701;1702;;0649 + + + + 1701;1702;;0649 + + From ae67a1d48ab60858222dd12caa7eaad5c639cb10 Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin Date: Tue, 15 Jan 2019 01:49:38 -0800 Subject: [PATCH 009/211] test build --- src/AutoML/AutoML.csproj | 2 -- src/AutoML/AutoMlUtils.cs | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/AutoML/AutoML.csproj b/src/AutoML/AutoML.csproj index 69aa209d9c..9b273ddd38 100644 --- a/src/AutoML/AutoML.csproj +++ b/src/AutoML/AutoML.csproj @@ -1,5 +1,4 @@ - netstandard2.0 7.3 @@ -20,5 +19,4 @@ - diff --git a/src/AutoML/AutoMlUtils.cs b/src/AutoML/AutoMlUtils.cs index 4255132193..02ac00853f 100644 --- a/src/AutoML/AutoMlUtils.cs +++ b/src/AutoML/AutoMlUtils.cs @@ -24,7 +24,7 @@ public static void Assert(bool boolVal, string message = null) public static IDataView Take(this IDataView data, int count) { - // REVIEW: This should take an env as a parameter, not create one. + // REVIEW: This should take an env as a parameter, not create one var env = new MLContext(); var take = SkipTakeFilter.Create(env, new SkipTakeFilter.TakeArguments { Count = count }, data); return new CacheDataView(env, data, Enumerable.Range(0, data.Schema.Count).ToArray()); From 6448213aae6f8306faaab2303815c5af280c5c1a Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin Date: Tue, 15 Jan 2019 01:53:56 -0800 Subject: [PATCH 010/211] test change --- src/AutoML/AutoMlUtils.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AutoML/AutoMlUtils.cs b/src/AutoML/AutoMlUtils.cs index 02ac00853f..4255132193 100644 --- a/src/AutoML/AutoMlUtils.cs +++ b/src/AutoML/AutoMlUtils.cs @@ -24,7 +24,7 @@ public static void Assert(bool boolVal, string message = null) public static IDataView Take(this IDataView data, int count) { - // REVIEW: This should take an env as a parameter, not create one + // REVIEW: This should take an env as a parameter, not create one. var env = new MLContext(); var take = SkipTakeFilter.Create(env, new SkipTakeFilter.TakeArguments { Count = count }, data); return new CacheDataView(env, data, Enumerable.Range(0, data.Schema.Count).ToArray()); From e402e14f225defc35483ce0b2d3aae8f1a28328a Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Tue, 15 Jan 2019 17:06:45 -0800 Subject: [PATCH 011/211] make params for MLContext data extensions match ML.NET default names and values; update gitignore; nit rev for Benchmarking.cs (#5) --- .gitignore | 4 +- src/AutoML/API/MLContextExtensions.cs | 43 ++++------- .../ColumnInference/ColumnInferenceApi.cs | 75 +++++++------------ .../ColumnInference/TextFileContents.cs | 6 +- src/Samples/Benchmarking.cs | 2 +- 5 files changed, 47 insertions(+), 83 deletions(-) diff --git a/.gitignore b/.gitignore index 3e759b75bf..ea8986da0c 100644 --- a/.gitignore +++ b/.gitignore @@ -299,7 +299,7 @@ __pycache__/ *.pyc # Cake - Uncomment if you are using it -# tools/** +tools/** # !tools/packages.config # Tabs Studio @@ -322,6 +322,8 @@ ASALocalRun/ # MSBuild Binary and Structured Log *.binlog +msbuild.err +msbuild.wrn # NVidia Nsight GPU debugger configuration file *.nvuser diff --git a/src/AutoML/API/MLContextExtensions.cs b/src/AutoML/API/MLContextExtensions.cs index ac5d7b9cc1..6db0edcebe 100644 --- a/src/AutoML/API/MLContextExtensions.cs +++ b/src/AutoML/API/MLContextExtensions.cs @@ -176,39 +176,23 @@ public static class DataExtensions { // Delimiter, header, column datatype inference public static ColumnInferenceResult InferColumns(this DataOperations catalog, string path, string label, - bool hasHeader = false, string separator = null, bool? isQuoted = null, bool? isSparse = null) + bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false) { UserInputValidationUtil.ValidateInferColumnsArgs(path, label); var mlContext = new MLContext(); - return ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separator, isQuoted, isSparse); - } - - // Auto reader (includes column inference) - public static IDataView AutoRead(this DataOperations catalog, Stream stream) - { - throw new NotImplementedException(); + return ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace); } public static IDataView AutoRead(this DataOperations catalog, string path, string label, - bool hasHeader = false, string separator = null, bool? isQuoted = null, bool? isSparse = null) + bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false) { UserInputValidationUtil.ValidateAutoReadArgs(path, label); var mlContext = new MLContext(); - var columnInferenceResult = ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separator, isQuoted, isSparse); + var columnInferenceResult = ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace); var textLoader = columnInferenceResult.BuildTextLoader(); return textLoader.Read(path); } - public static IDataView AutoRead(this DataOperations catalog, IMultiStreamSource source, string label, - bool hasHeader = false, string separator = null, bool? isQuoted = null, bool? isSparse = null) - { - UserInputValidationUtil.ValidateAutoReadArgs(source, label); - var mlContext = new MLContext(); - var columnInferenceResult = ColumnInferenceApi.InferColumns(mlContext, source, label, hasHeader, separator, isQuoted, isSparse); - var textLoader = columnInferenceResult.BuildTextLoader(); - return textLoader.Read(source); - } - public static TextLoader CreateTextReader(this DataOperations catalog, ColumnInferenceResult columnInferenceResult) { UserInputValidationUtil.ValidateCreateTextReaderArgs(columnInferenceResult); @@ -232,30 +216,33 @@ public enum MachineLearningTaskType public class ColumnInferenceResult { public readonly IEnumerable<(TextLoader.Column, ColumnPurpose)> Columns; - public readonly bool IsQuoted; - public readonly bool IsSparse; + public readonly bool AllowQuotedStrings; + public readonly bool SupportSparse; public readonly string Separator; public readonly bool HasHeader; + public readonly bool TrimWhitespace; public ColumnInferenceResult(IEnumerable<(TextLoader.Column, ColumnPurpose)> columns, - bool isQuoted, bool isSparse, string separator, bool hasHeader) + bool allowQuotedStrings, bool supportSparse, string separator, bool hasHeader, bool trimWhitespace) { Columns = columns; - IsQuoted = isQuoted; - IsSparse = isSparse; + AllowQuotedStrings = allowQuotedStrings; + SupportSparse = supportSparse; Separator = separator; HasHeader = hasHeader; + TrimWhitespace = trimWhitespace; } internal TextLoader BuildTextLoader() { var context = new MLContext(); return new TextLoader(context, new TextLoader.Arguments() { - AllowQuoting = IsQuoted, - AllowSparse = IsSparse, + AllowQuoting = AllowQuotedStrings, + AllowSparse = SupportSparse, Column = Columns.Select(c => c.Item1).ToArray(), Separator = Separator, - HasHeader = HasHeader + HasHeader = HasHeader, + TrimWhitespace = TrimWhitespace }); } } diff --git a/src/AutoML/ColumnInference/ColumnInferenceApi.cs b/src/AutoML/ColumnInference/ColumnInferenceApi.cs index 5f7a423919..4d584070ed 100644 --- a/src/AutoML/ColumnInference/ColumnInferenceApi.cs +++ b/src/AutoML/ColumnInference/ColumnInferenceApi.cs @@ -7,44 +7,47 @@ namespace Microsoft.ML.Auto internal static class ColumnInferenceApi { public static ColumnInferenceResult InferColumns(MLContext context, string path, string label, - bool hasHeader, string separator, bool? isQuoted, bool? isSparse) + bool hasHeader, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse, bool trimWhitespace) { var sample = TextFileSample.CreateFromFullFile(path); - Func createDataView = (textLoader) => + var splitInference = InferSplit(sample, separatorChar, allowQuotedStrings, supportSparse); + var typeInference = InferColumnTypes(context, sample, splitInference); + var typedLoaderArgs = new TextLoader.Arguments { - return textLoader.Read(path); + Column = ColumnTypeInference.GenerateLoaderColumns(typeInference.Columns), + Separator = splitInference.Separator, + AllowSparse = splitInference.AllowSparse, + AllowQuoting = splitInference.AllowQuote, + HasHeader = hasHeader, + TrimWhitespace = trimWhitespace }; - return InferColumns(context, sample, createDataView, label, hasHeader, separator, isQuoted, isSparse); - } + var textLoader = context.Data.CreateTextReader(typedLoaderArgs); + var dataView = textLoader.Read(path); - public static ColumnInferenceResult InferColumns(MLContext context, IMultiStreamSource multiStreamSource, - string label, bool hasHeader, string separator, bool? isQuoted, bool? isSparse) - { - // heuristic: use first stream in multi-stream source to infer column types & split - var stream = multiStreamSource.Open(0); - var sample = TextFileSample.CreateFromFullStream(stream); + var purposeInferenceResult = PurposeInference.InferPurposes(context, dataView, label); - Func createDataView = (textLoader) => - { - return textLoader.Read(multiStreamSource); - }; + // infer column grouping and generate column names + var groupingResult = ColumnGroupingInference.InferGroupingAndNames(context, hasHeader, + typeInference.Columns, purposeInferenceResult); - return InferColumns(context, sample, createDataView, label, hasHeader, separator, isQuoted, isSparse); + // build result objects & return + var inferredColumns = groupingResult.Select(c => (c.GenerateTextLoaderColumn(), c.Purpose)).ToArray(); + return new ColumnInferenceResult(inferredColumns, splitInference.AllowQuote, splitInference.AllowSparse, splitInference.Separator, hasHeader, trimWhitespace); } - private static TextFileContents.ColumnSplitResult InferSplit(TextFileSample sample, string separator, bool? isQuoted, bool? isSparse) + private static TextFileContents.ColumnSplitResult InferSplit(TextFileSample sample, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse) { - var separatorCandidates = separator == null ? TextFileContents.DefaultSeparators : new string[] { separator }; + var separatorCandidates = separatorChar == null ? TextFileContents.DefaultSeparators : new char[] { separatorChar.Value }; var splitInference = TextFileContents.TrySplitColumns(sample, separatorCandidates); // respect passed-in overrides - if(isQuoted != null) + if(allowQuotedStrings != null) { - splitInference.AllowQuote = isQuoted.Value; + splitInference.AllowQuote = allowQuotedStrings.Value; } - if(isSparse != null) + if(supportSparse != null) { - splitInference.AllowSparse = isSparse.Value; + splitInference.AllowSparse = supportSparse.Value; } if (!splitInference.IsSuccess) @@ -75,33 +78,5 @@ private static ColumnTypeInference.InferenceResult InferColumnTypes(MLContext co return typeInferenceResult; } - - private static ColumnInferenceResult InferColumns(MLContext context, - TextFileSample sample, Func createDataView, string label, - bool hasHeader, string separator, bool? isQuoted, bool? isSparse) - { - var splitInference = InferSplit(sample, separator, isQuoted, isSparse); - var typeInference = InferColumnTypes(context, sample, splitInference); - var typedLoaderArgs = new TextLoader.Arguments - { - Column = ColumnTypeInference.GenerateLoaderColumns(typeInference.Columns), - Separator = splitInference.Separator, - AllowSparse = splitInference.AllowSparse, - AllowQuoting = splitInference.AllowQuote, - HasHeader = hasHeader - }; - var textLoader = context.Data.CreateTextReader(typedLoaderArgs); - var dataView = createDataView(textLoader); - - var purposeInferenceResult = PurposeInference.InferPurposes(context, dataView, label); - - // infer column grouping and generate column names - var groupingResult = ColumnGroupingInference.InferGroupingAndNames(context, hasHeader, - typeInference.Columns, purposeInferenceResult); - - // build result objects & return - var inferredColumns = groupingResult.Select(c => (c.GenerateTextLoaderColumn(), c.Purpose)).ToArray(); - return new ColumnInferenceResult(inferredColumns, splitInference.AllowQuote, splitInference.AllowSparse, splitInference.Separator, hasHeader); - } } } diff --git a/src/AutoML/ColumnInference/TextFileContents.cs b/src/AutoML/ColumnInference/TextFileContents.cs index c38f210500..17b81a8797 100644 --- a/src/AutoML/ColumnInference/TextFileContents.cs +++ b/src/AutoML/ColumnInference/TextFileContents.cs @@ -37,7 +37,7 @@ public ColumnSplitResult(bool isSuccess, string separator, bool allowQuote, bool // If the fraction of lines having the same number of columns exceeds this, we consider the column count to be known. private const Double UniformColumnCountThreshold = 0.98; - public static string[] DefaultSeparators = new[] { "tab", ",", ";", " " }; + public static char[] DefaultSeparators = new[] { '\t', ',', ';', ' ' }; /// /// Attempt to detect text loader arguments. @@ -46,7 +46,7 @@ public ColumnSplitResult(bool isSuccess, string separator, bool allowQuote, bool /// and this number of columns is more than 1. /// We sweep on separator, allow sparse and allow quote parameter. /// - public static ColumnSplitResult TrySplitColumns(IMultiStreamSource source, string[] separatorCandidates) + public static ColumnSplitResult TrySplitColumns(IMultiStreamSource source, char[] separatorCandidates) { var sparse = new[] { true, false }; var quote = new[] { true, false }; @@ -60,7 +60,7 @@ from _sep in separatorCandidates var args = new TextLoader.Arguments { Column = new[] { TextLoader.Column.Parse("C:TX:0-**") }, - Separator = perm._sep, + Separator = perm._sep.ToString(), AllowQuoting = perm._allowQuote, AllowSparse = perm._allowSparse }; diff --git a/src/Samples/Benchmarking.cs b/src/Samples/Benchmarking.cs index ad9739eba1..ed29f7664f 100644 --- a/src/Samples/Benchmarking.cs +++ b/src/Samples/Benchmarking.cs @@ -27,7 +27,7 @@ public static void Run() { StoppingCriteria = new ExperimentStoppingCriteria() { - MaxIterations = 200, + MaxIterations = 5, TimeOutInMinutes = 1000000000 } }); From d65315f6662779d5a8f4db8b142a2ed03b8773a8 Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Wed, 16 Jan 2019 01:53:16 -0800 Subject: [PATCH 012/211] Create README.md (#2) --- README.md | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000000..364361d995 --- /dev/null +++ b/README.md @@ -0,0 +1,99 @@ +# ML.NET AutoML + +[ML.NET](https://www.microsoft.com/net/learn/apps/machine-learning-and-ai/ml-dotnet) is a cross-platform open-source machine learning framework which makes machine learning accessible to .NET developers. + +ML.NET allows .NET developers to develop their own models and infuse custom machine learning into their applications, using .NET, even without prior expertise in developing or tuning machine learning models. + +Automated machine learning (automated ML) builds high quality machine learning models for you by automating feature engineering, model, and hyperparameter selection. +Bring a dataset that you want to build a model for, automated ML will give you a high quality machine learning model that you can use for predictions. + +If you are new to Data Science, AutoML will help you get jumpstarted by simplifying machine learning model building. +It abstracts you from needing to perform feature engineering, model selection, hyperparameter selection and in one step creates a high quality trained model for you to use. + +If you are an experienced data scientist, AutoML will help increase your productivity by intelligently performing the feature engineering, model, and hyperparameter selection for your training and generates high quality models much more quickly than manually specifying several combinations of the parameters and running training jobs. +AutoML provides visibility and access to all the training jobs and the performance characteristics of the models to help you further tune the pipeline if you desire. + +## Installation + +[![NuGet Status](https://img.shields.io/nuget/v/Microsoft.ML.AutoML.svg?style=flat)](https://www.nuget.org/packages/Microsoft.ML.AutoML/) + +ML.NET runs on Windows, Linux, and macOS using [.NET Core](https://github.com/dotnet/core), or Windows using .NET Framework. 64 bit is supported on all platforms. 32 bit is supported on Windows, except for TensorFlow, LightGBM, and ONNX related functionality. + +First, ensure you have installed [.NET Core 2.1](https://www.microsoft.com/net/learn/get-started) or later. ML.NET also works on the .NET Framework 4.6.1 or later, but 4.7.2 or later is recommended. + +Once you have an app, you can install the ML.NET AutoML NuGet package from the .NET Core CLI using: +``` +dotnet add package Microsoft.ML.AutoML +``` + +or from the NuGet package manager: +``` +Install-Package Microsoft.ML.AutoML +``` + +Or alternatively, you can add the Microsoft.ML.AutoMO package from within Visual Studio's NuGet package manager or via [Paket](https://github.com/fsprojects/Paket). + +Daily NuGet builds of the project are also available in our [MyGet](https://dotnet.myget.org/feed/dotnet-core/package/nuget/Microsoft.ML.AutoML) feed: + +> [https://dotnet.myget.org/F/dotnet-core/api/v3/index.json](https://dotnet.myget.org/F/dotnet-core/api/v3/index.json) + +## Building + +To build ML.NET AutoML from source please visit our [developers guide](docs/project-docs/developer-guide.md). + +| | Debug | Release | +|:---|----------------:|------------------:| +|**Linux**|[![x64-debug](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/machinelearning-automl-ci?branchName=master&jobname=Linux&configuration=Build_Debug)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=312&branch=master)|[![x64-release](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/machinelearning-automl-ci?branchName=master&jobname=Linux&configuration=Build_Release)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=312&branch=master)| +|**macOS**|[![x64-debug](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/machinelearning-automl-ci?branchName=master&jobname=macOS&configuration=Build_Debug)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=312&branch=master)|[![x64-release](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/machinelearning-automl-ci?branchName=master&jobname=macOS&configuration=Build_Release)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=312&branch=master)| +|**Windows x64**|[![x64-debug](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/machinelearning-automl-ci?branchName=master&jobname=Windows_x64&configuration=Build_Debug)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=312&branch=master)|[![x64-release](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/machinelearning-automl-ci?branchName=master&jobname=Windows_x64&configuration=Build_Release)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=312&branch=master)| +|**Windows x86**|[![Build Status](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/machinelearning-automl-ci?branchName=master&jobName=Windows_x86&configuration=Build_Debug)](https://dnceng.visualstudio.com/public/_build/latest?definitionId=312?branchName=master)|[![Build Status](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/machinelearning-automl-ci?branchName=master&jobName=Windows_x86&configuration=Build_Release)](https://dnceng.visualstudio.com/public/_build/latest?definitionId=312?branchName=master)| +|**Core 3.0**|[![Build Status](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/machinelearning-automl-ci?branchName=master&jobName=core30&configuration=Build_Debug_Intrinsics)](https://dnceng.visualstudio.com/public/_build/latest?definitionId=312?branchName=master)|[![Build Status](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/machinelearning-automl-ci?branchName=master&jobName=core30&configuration=Build_Release_Intrinsics)](https://dnceng.visualstudio.com/public/_build/latest?definitionId=312?branchName=master)| + +## Contributing + +We welcome contributions! Please review our [contribution guide](https://github.com/dotnet/machinelearning/blob/master/CONTRIBUTING.md). + +## Community + +Please join our community on Gitter [![Join the chat at https://gitter.im/dotnet/mlnet](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dotnet/mlnet?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +This project has adopted the code of conduct defined by the [Contributor Covenant](https://contributor-covenant.org/) to clarify expected behavior in our community. +For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct). + +## Examples + +Here's an example of code to automatically train a model to predict sentiment from text samples. + +```C# +// Example to come + +``` + +Now from the model we can make inferences (predictions): + +```C# +var predictionEngine = model.CreatePredictionEngine(mlContext); +var prediction = predictionEngine.Predict(new SentimentData +{ + SentimentText = "Today is a great day!" +}); +Console.WriteLine("prediction: " + prediction.Prediction); +``` +A cookbook that shows how to use these APIs for a variety of existing and new scenarios can be found [here](docs/code/MlNetCookBook.md). + + +## Samples + +We have a [repo of samples](https://github.com/dotnet/machinelearning-samples) that you can look at. + +## License + +ML.NET is licensed under the [MIT license](LICENSE). + +## .NET Foundation + +ML.NET is a [.NET Foundation](https://www.dotnetfoundation.org/projects) project. + +There are many .NET related projects on GitHub. + +- [.NET home repo](https://github.com/Microsoft/dotnet) - links to 100s of .NET projects, from Microsoft and the community. From 27f5afd0702c7379ec4f01b2e385ee9a81796286 Mon Sep 17 00:00:00 2001 From: vinodshanbhag <33269336+vinodshanbhag@users.noreply.github.com> Date: Wed, 16 Jan 2019 10:01:52 -0800 Subject: [PATCH 013/211] API folder changes (#6) --- src/AutoML/API/AutoFitSettings.cs | 71 +++++ src/AutoML/API/InferenceException.cs | 34 +++ ...sions.cs => MLContextAutoFitExtensions.cs} | 270 ++---------------- src/AutoML/API/MLContextDataExtensions.cs | 83 ++++++ src/AutoML/API/Pipeline.cs | 40 +++ .../{API => Utils}/UserInputValidationUtil.cs | 0 6 files changed, 250 insertions(+), 248 deletions(-) create mode 100644 src/AutoML/API/AutoFitSettings.cs create mode 100644 src/AutoML/API/InferenceException.cs rename src/AutoML/API/{MLContextExtensions.cs => MLContextAutoFitExtensions.cs} (55%) create mode 100644 src/AutoML/API/MLContextDataExtensions.cs create mode 100644 src/AutoML/API/Pipeline.cs rename src/AutoML/{API => Utils}/UserInputValidationUtil.cs (100%) diff --git a/src/AutoML/API/AutoFitSettings.cs b/src/AutoML/API/AutoFitSettings.cs new file mode 100644 index 0000000000..2e329e02cf --- /dev/null +++ b/src/AutoML/API/AutoFitSettings.cs @@ -0,0 +1,71 @@ +using System.Collections.Generic; +using System.Diagnostics; + +namespace Microsoft.ML.Auto +{ + public class AutoFitSettings + { + public ExperimentStoppingCriteria StoppingCriteria = new ExperimentStoppingCriteria(); + internal IterationStoppingCriteria IterationStoppingCriteria; + internal Concurrency Concurrency; + internal Filters Filters; + internal CrossValidationSettings CrossValidationSettings; + internal OptimizingMetric OptimizingMetric; + internal bool EnableEnsembling; + internal bool EnableModelExplainability; + internal bool EnableAutoTransformation; + + // spec question: Are following automatic or a user setting? + internal bool EnableSubSampling; + internal bool EnableCaching; + internal bool ExternalizeTraining; + internal TraceLevel TraceLevel; // Should this be controlled through code or appconfig? + } + + public class ExperimentStoppingCriteria + { + public int MaxIterations = 100; + public int TimeOutInMinutes = 300; + internal bool StopAfterConverging; + internal double ExperimentExitScore; + } + + internal class Filters + { + internal IEnumerable WhitelistTrainers; + internal IEnumerable BlackListTrainers; + internal IEnumerable WhitelistTransformers; + internal IEnumerable BlacklistTransformers; + internal bool PreferExplainability; + internal bool PreferInferenceSpeed; + internal bool PreferSmallDeploymentSize; + internal bool PreferSmallMemoryFootprint; + } + + public class IterationStoppingCriteria + { + internal int TimeOutInSeconds; + internal bool TerminateOnLowAccuracy; + } + + public class Concurrency + { + internal int MaxConcurrentIterations; + internal int MaxCoresPerIteration; + } + + internal enum Trainers + { + } + + internal enum Transformers + { + } + + internal class CrossValidationSettings + { + internal int NumberOfFolds; + internal int ValidationSizePercentage; + internal IEnumerable StratificationColumnNames; + } +} diff --git a/src/AutoML/API/InferenceException.cs b/src/AutoML/API/InferenceException.cs new file mode 100644 index 0000000000..b09b7c8ac6 --- /dev/null +++ b/src/AutoML/API/InferenceException.cs @@ -0,0 +1,34 @@ +using System; + +namespace Microsoft.ML.Auto +{ + public enum InferenceType + { + Seperator, + Header, + Label, + Task, + ColumnDataKind, + ColumnPurpose, + Tranform, + Trainer, + Hyperparams, + ColumnSplit + } + + public class InferenceException : Exception + { + public InferenceType InferenceType; + + public InferenceException(InferenceType inferenceType, string message) + : base(message) + { + } + + public InferenceException(InferenceType inferenceType, string message, Exception inner) + : base(message, inner) + { + } + } + +} diff --git a/src/AutoML/API/MLContextExtensions.cs b/src/AutoML/API/MLContextAutoFitExtensions.cs similarity index 55% rename from src/AutoML/API/MLContextExtensions.cs rename to src/AutoML/API/MLContextAutoFitExtensions.cs index 6db0edcebe..9fad49ef13 100644 --- a/src/AutoML/API/MLContextExtensions.cs +++ b/src/AutoML/API/MLContextAutoFitExtensions.cs @@ -1,8 +1,5 @@ using System; using System.Collections.Generic; -using System.Diagnostics; -using System.IO; -using System.Linq; using System.Threading; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; @@ -12,12 +9,12 @@ namespace Microsoft.ML.Auto public static class RegressionExtensions { public static RegressionResult AutoFit(this RegressionContext context, - IDataView trainData, - string label, - IDataView validationData = null, + IDataView trainData, + string label, + IDataView validationData = null, AutoFitSettings settings = null, IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, - CancellationToken cancellationToken = default, + CancellationToken cancellationToken = default, IProgress iterationCallback = null) { return AutoFit(context, trainData, label, validationData, settings, @@ -25,13 +22,13 @@ public static RegressionResult AutoFit(this RegressionContext context, } // todo: instead of internal methods, use static debug class w/ singleton logger? - internal static RegressionResult AutoFit(this RegressionContext context, - IDataView trainData, - string label, - IDataView validationData = null, + internal static RegressionResult AutoFit(this RegressionContext context, + IDataView trainData, + string label, + IDataView validationData = null, AutoFitSettings settings = null, IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, - CancellationToken cancellationToken = default, + CancellationToken cancellationToken = default, IProgress iterationCallback = null, IDebugLogger debugLogger = null) { @@ -61,12 +58,12 @@ public static Pipeline GetPipeline(this RegressionContext context, IDataView dat public static class BinaryClassificationExtensions { public static BinaryClassificationResult AutoFit(this BinaryClassificationContext context, - IDataView trainData, - string label, + IDataView trainData, + string label, IDataView validationData = null, AutoFitSettings settings = null, IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, - CancellationToken cancellationToken = default, + CancellationToken cancellationToken = default, IProgress iterationCallback = null) { return AutoFit(context, trainData, label, validationData, settings, @@ -74,13 +71,13 @@ public static BinaryClassificationResult AutoFit(this BinaryClassificationContex } internal static BinaryClassificationResult AutoFit(this BinaryClassificationContext context, - IDataView trainData, - string label, + IDataView trainData, + string label, IDataView validationData = null, AutoFitSettings settings = null, IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, CancellationToken cancellationToken = default, - IProgress iterationCallback = null, + IProgress iterationCallback = null, IDebugLogger debugLogger = null) { UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, purposeOverrides); @@ -91,7 +88,7 @@ internal static BinaryClassificationResult AutoFit(this BinaryClassificationCont purposeOverrides, debugLogger); var results = new BinaryClassificationItertionResult[allPipelines.Length]; - for(var i = 0; i < results.Length; i++) + for (var i = 0; i < results.Length; i++) { var iterationResult = allPipelines[i]; var result = new BinaryClassificationItertionResult(iterationResult.Model, (BinaryClassificationMetrics)iterationResult.EvaluatedMetrics, iterationResult.ScoredValidationData, iterationResult.Pipeline.ToPipeline()); @@ -110,12 +107,12 @@ public static Pipeline GetPipeline(this BinaryClassificationContext context, IDa public static class MulticlassExtensions { public static MulticlassClassificationResult AutoFit(this MulticlassClassificationContext context, - IDataView trainData, - string label, + IDataView trainData, + string label, IDataView validationData = null, AutoFitSettings settings = null, IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, - CancellationToken cancellationToken = default, + CancellationToken cancellationToken = default, IProgress iterationCallback = null) { return AutoFit(context, trainData, label, validationData, settings, @@ -123,8 +120,8 @@ public static MulticlassClassificationResult AutoFit(this MulticlassClassificati } internal static MulticlassClassificationResult AutoFit(this MulticlassClassificationContext context, - IDataView trainData, - string label, + IDataView trainData, + string label, IDataView validationData = null, AutoFitSettings settings = null, IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, @@ -135,7 +132,7 @@ internal static MulticlassClassificationResult AutoFit(this MulticlassClassifica // run autofit & get all pipelines run in that process var (allPipelines, bestPipeline) = AutoFitApi.Fit(trainData, validationData, label, - settings, TaskKind.MulticlassClassification, OptimizingMetric.Accuracy, + settings, TaskKind.MulticlassClassification, OptimizingMetric.Accuracy, purposeOverrides, debugLogger); var results = new MulticlassClassificationIterationResult[allPipelines.Length]; @@ -155,164 +152,6 @@ public static Pipeline GetPipeline(this MulticlassClassificationContext context, } } - public static class TransformExtensions - { - public static IEstimator InferTransforms(this TransformsCatalog catalog, IDataView data, string label) - { - UserInputValidationUtil.ValidateInferTransformArgs(data, label); - var mlContext = new MLContext(); - var suggestedTransforms = TransformInferenceApi.InferTransforms(mlContext, data, label); - var estimators = suggestedTransforms.Select(s => s.Estimator); - var pipeline = new EstimatorChain(); - foreach(var estimator in estimators) - { - pipeline = pipeline.Append(estimator); - } - return pipeline; - } - } - - public static class DataExtensions - { - // Delimiter, header, column datatype inference - public static ColumnInferenceResult InferColumns(this DataOperations catalog, string path, string label, - bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false) - { - UserInputValidationUtil.ValidateInferColumnsArgs(path, label); - var mlContext = new MLContext(); - return ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace); - } - - public static IDataView AutoRead(this DataOperations catalog, string path, string label, - bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false) - { - UserInputValidationUtil.ValidateAutoReadArgs(path, label); - var mlContext = new MLContext(); - var columnInferenceResult = ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace); - var textLoader = columnInferenceResult.BuildTextLoader(); - return textLoader.Read(path); - } - - public static TextLoader CreateTextReader(this DataOperations catalog, ColumnInferenceResult columnInferenceResult) - { - UserInputValidationUtil.ValidateCreateTextReaderArgs(columnInferenceResult); - return columnInferenceResult.BuildTextLoader(); - } - - // Task inference - public static MachineLearningTaskType InferTask(this DataOperations catalog, IDataView dataView) - { - throw new NotImplementedException(); - } - - public enum MachineLearningTaskType - { - Regression, - BinaryClassification, - MultiClassClassification - } - } - - public class ColumnInferenceResult - { - public readonly IEnumerable<(TextLoader.Column, ColumnPurpose)> Columns; - public readonly bool AllowQuotedStrings; - public readonly bool SupportSparse; - public readonly string Separator; - public readonly bool HasHeader; - public readonly bool TrimWhitespace; - - public ColumnInferenceResult(IEnumerable<(TextLoader.Column, ColumnPurpose)> columns, - bool allowQuotedStrings, bool supportSparse, string separator, bool hasHeader, bool trimWhitespace) - { - Columns = columns; - AllowQuotedStrings = allowQuotedStrings; - SupportSparse = supportSparse; - Separator = separator; - HasHeader = hasHeader; - TrimWhitespace = trimWhitespace; - } - - internal TextLoader BuildTextLoader() - { - var context = new MLContext(); - return new TextLoader(context, new TextLoader.Arguments() { - AllowQuoting = AllowQuotedStrings, - AllowSparse = SupportSparse, - Column = Columns.Select(c => c.Item1).ToArray(), - Separator = Separator, - HasHeader = HasHeader, - TrimWhitespace = TrimWhitespace - }); - } - } - - public class AutoFitSettings - { - public ExperimentStoppingCriteria StoppingCriteria = new ExperimentStoppingCriteria(); - internal IterationStoppingCriteria IterationStoppingCriteria; - internal Concurrency Concurrency; - internal Filters Filters; - internal CrossValidationSettings CrossValidationSettings; - internal OptimizingMetric OptimizingMetric; - internal bool EnableEnsembling; - internal bool EnableModelExplainability; - internal bool EnableAutoTransformation; - - // spec question: Are following automatic or a user setting? - internal bool EnableSubSampling; - internal bool EnableCaching; - internal bool ExternalizeTraining; - internal TraceLevel TraceLevel; // Should this be controlled through code or appconfig? - } - - public class ExperimentStoppingCriteria - { - public int MaxIterations = 100; - public int TimeOutInMinutes = 300; - internal bool StopAfterConverging; - internal double ExperimentExitScore; - } - - internal class Filters - { - internal IEnumerable WhitelistTrainers; - internal IEnumerable BlackListTrainers; - internal IEnumerable WhitelistTransformers; - internal IEnumerable BlacklistTransformers; - internal bool PreferExplainability; - internal bool PreferInferenceSpeed; - internal bool PreferSmallDeploymentSize; - internal bool PreferSmallMemoryFootprint; - } - - public class IterationStoppingCriteria - { - internal int TimeOutInSeconds; - internal bool TerminateOnLowAccuracy; - } - - public class Concurrency - { - internal int MaxConcurrentIterations; - internal int MaxCoresPerIteration; - } - - internal enum Trainers - { - } - - internal enum Transformers - { - } - - internal class CrossValidationSettings - { - internal int NumberOfFolds; - internal int ValidationSizePercentage; - internal IEnumerable StratificationColumnNames; - } - public class BinaryClassificationResult { public readonly BinaryClassificationItertionResult BestPipeline; @@ -399,69 +238,4 @@ public RegressionIterationResult(ITransformer model, RegressionMetrics metrics, Pipeline = pipeline; } } - - public enum InferenceType - { - Seperator, - Header, - Label, - Task, - ColumnDataKind, - ColumnPurpose, - Tranform, - Trainer, - Hyperparams, - ColumnSplit - } - - public class InferenceException : Exception - { - public InferenceType InferenceType; - - public InferenceException(InferenceType inferenceType, string message) - : base(message) - { - } - - public InferenceException(InferenceType inferenceType, string message, Exception inner) - : base(message, inner) - { - } - } - - public class Pipeline - { - public readonly PipelineNode[] Elements; - - public Pipeline(PipelineNode[] elements) - { - Elements = elements; - } - } - - public class PipelineNode - { - public readonly string Name; - public readonly PipelineNodeType ElementType; - public readonly string[] InColumns; - public readonly string[] OutColumns; - public readonly IDictionary Properties; - - public PipelineNode(string name, PipelineNodeType elementType, - string[] inColumns, string[] outColumns, - IDictionary properties) - { - Name = name; - ElementType = elementType; - InColumns = inColumns; - OutColumns = outColumns; - Properties = properties; - } - } - - public enum PipelineNodeType - { - Transform, - Trainer - } } diff --git a/src/AutoML/API/MLContextDataExtensions.cs b/src/AutoML/API/MLContextDataExtensions.cs new file mode 100644 index 0000000000..04c9ac3d98 --- /dev/null +++ b/src/AutoML/API/MLContextDataExtensions.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + public static class DataExtensions + { + // Delimiter, header, column datatype inference + public static ColumnInferenceResult InferColumns(this DataOperations catalog, string path, string label, + bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false) + { + UserInputValidationUtil.ValidateInferColumnsArgs(path, label); + var mlContext = new MLContext(); + return ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace); + } + + public static IDataView AutoRead(this DataOperations catalog, string path, string label, + bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false) + { + UserInputValidationUtil.ValidateAutoReadArgs(path, label); + var mlContext = new MLContext(); + var columnInferenceResult = ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace); + var textLoader = columnInferenceResult.BuildTextLoader(); + return textLoader.Read(path); + } + + public static TextLoader CreateTextReader(this DataOperations catalog, ColumnInferenceResult columnInferenceResult) + { + UserInputValidationUtil.ValidateCreateTextReaderArgs(columnInferenceResult); + return columnInferenceResult.BuildTextLoader(); + } + + // Task inference + public static MachineLearningTaskType InferTask(this DataOperations catalog, IDataView dataView) + { + throw new NotImplementedException(); + } + + public enum MachineLearningTaskType + { + Regression, + BinaryClassification, + MultiClassClassification + } + } + + public class ColumnInferenceResult + { + public readonly IEnumerable<(TextLoader.Column, ColumnPurpose)> Columns; + public readonly bool AllowQuotedStrings; + public readonly bool SupportSparse; + public readonly string Separator; + public readonly bool HasHeader; + public readonly bool TrimWhitespace; + + public ColumnInferenceResult(IEnumerable<(TextLoader.Column, ColumnPurpose)> columns, + bool allowQuotedStrings, bool supportSparse, string separator, bool hasHeader, bool trimWhitespace) + { + Columns = columns; + AllowQuotedStrings = allowQuotedStrings; + SupportSparse = supportSparse; + Separator = separator; + HasHeader = hasHeader; + TrimWhitespace = trimWhitespace; + } + + internal TextLoader BuildTextLoader() + { + var context = new MLContext(); + return new TextLoader(context, new TextLoader.Arguments() + { + AllowQuoting = AllowQuotedStrings, + AllowSparse = SupportSparse, + Column = Columns.Select(c => c.Item1).ToArray(), + Separator = Separator, + HasHeader = HasHeader, + TrimWhitespace = TrimWhitespace + }); + } + } +} diff --git a/src/AutoML/API/Pipeline.cs b/src/AutoML/API/Pipeline.cs new file mode 100644 index 0000000000..d20d5305e1 --- /dev/null +++ b/src/AutoML/API/Pipeline.cs @@ -0,0 +1,40 @@ +using System.Collections.Generic; + +namespace Microsoft.ML.Auto +{ + public class Pipeline + { + public readonly PipelineNode[] Elements; + + public Pipeline(PipelineNode[] elements) + { + Elements = elements; + } + } + + public class PipelineNode + { + public readonly string Name; + public readonly PipelineNodeType ElementType; + public readonly string[] InColumns; + public readonly string[] OutColumns; + public readonly IDictionary Properties; + + public PipelineNode(string name, PipelineNodeType elementType, + string[] inColumns, string[] outColumns, + IDictionary properties) + { + Name = name; + ElementType = elementType; + InColumns = inColumns; + OutColumns = outColumns; + Properties = properties; + } + } + + public enum PipelineNodeType + { + Transform, + Trainer + } +} diff --git a/src/AutoML/API/UserInputValidationUtil.cs b/src/AutoML/Utils/UserInputValidationUtil.cs similarity index 100% rename from src/AutoML/API/UserInputValidationUtil.cs rename to src/AutoML/Utils/UserInputValidationUtil.cs From f1e7617e2edfd504ebafcce77023d011bc5b901a Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 16 Jan 2019 11:47:34 -0800 Subject: [PATCH 014/211] comment out fast forest trainer, per discussion on ML.NET open issue #1983, for now, to run E2E w/o exceptions (#7) --- src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs b/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs index d2959ca832..cc5fb6afb9 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs @@ -58,7 +58,7 @@ private static IEnumerable GetBinaryLearners(int maxIteration learners.AddRange(new ITrainerExtension[] { new LogisticRegressionBinaryExtension(), - new FastForestBinaryExtension(), + //new FastForestBinaryExtension(), new SgdBinaryExtension() }); From 3d9eb10632d0729bd0864eed8b45f45314dd51c4 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 16 Jan 2019 12:07:15 -0800 Subject: [PATCH 015/211] Make validation data param mandatory; remove GetFirstPipeline sample (#10) * Make validation data param mandatory; remove GetFirstPipeline sample * remove deprecated todo --- src/AutoML/API/MLContextAutoFitExtensions.cs | 15 +++++++-------- src/AutoML/Utils/UserInputValidationUtil.cs | 6 +++--- src/Samples/GetFirstPipeline.cs | 20 -------------------- 3 files changed, 10 insertions(+), 31 deletions(-) delete mode 100644 src/Samples/GetFirstPipeline.cs diff --git a/src/AutoML/API/MLContextAutoFitExtensions.cs b/src/AutoML/API/MLContextAutoFitExtensions.cs index 9fad49ef13..b5667537b5 100644 --- a/src/AutoML/API/MLContextAutoFitExtensions.cs +++ b/src/AutoML/API/MLContextAutoFitExtensions.cs @@ -11,7 +11,7 @@ public static class RegressionExtensions public static RegressionResult AutoFit(this RegressionContext context, IDataView trainData, string label, - IDataView validationData = null, + IDataView validationData, AutoFitSettings settings = null, IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, CancellationToken cancellationToken = default, @@ -20,12 +20,11 @@ public static RegressionResult AutoFit(this RegressionContext context, return AutoFit(context, trainData, label, validationData, settings, purposeOverrides, cancellationToken, iterationCallback, null); } - - // todo: instead of internal methods, use static debug class w/ singleton logger? + internal static RegressionResult AutoFit(this RegressionContext context, IDataView trainData, string label, - IDataView validationData = null, + IDataView validationData, AutoFitSettings settings = null, IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, CancellationToken cancellationToken = default, @@ -60,7 +59,7 @@ public static class BinaryClassificationExtensions public static BinaryClassificationResult AutoFit(this BinaryClassificationContext context, IDataView trainData, string label, - IDataView validationData = null, + IDataView validationData, AutoFitSettings settings = null, IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, CancellationToken cancellationToken = default, @@ -73,7 +72,7 @@ public static BinaryClassificationResult AutoFit(this BinaryClassificationContex internal static BinaryClassificationResult AutoFit(this BinaryClassificationContext context, IDataView trainData, string label, - IDataView validationData = null, + IDataView validationData, AutoFitSettings settings = null, IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, CancellationToken cancellationToken = default, @@ -109,7 +108,7 @@ public static class MulticlassExtensions public static MulticlassClassificationResult AutoFit(this MulticlassClassificationContext context, IDataView trainData, string label, - IDataView validationData = null, + IDataView validationData, AutoFitSettings settings = null, IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, CancellationToken cancellationToken = default, @@ -122,7 +121,7 @@ public static MulticlassClassificationResult AutoFit(this MulticlassClassificati internal static MulticlassClassificationResult AutoFit(this MulticlassClassificationContext context, IDataView trainData, string label, - IDataView validationData = null, + IDataView validationData, AutoFitSettings settings = null, IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, CancellationToken cancellationToken = default, diff --git a/src/AutoML/Utils/UserInputValidationUtil.cs b/src/AutoML/Utils/UserInputValidationUtil.cs index fa91ee3427..a6d11e5c2e 100644 --- a/src/AutoML/Utils/UserInputValidationUtil.cs +++ b/src/AutoML/Utils/UserInputValidationUtil.cs @@ -86,7 +86,7 @@ private static void ValidateLabel(IDataView trainData, IDataView validationData, throw new ArgumentException(nameof(label), $"Provided label column '{label}' not found in training data."); } - if (validationData != null && validationData.Schema.GetColumnOrNull(label) == null) + if (validationData.Schema.GetColumnOrNull(label) == null) { throw new ArgumentException(nameof(label), $"Provided label column '{label}' not found in validation data."); } @@ -124,7 +124,7 @@ private static void ValidateValidationData(IDataView trainData, IDataView valida { if(validationData == null) { - return; + throw new ArgumentNullException(nameof(validationData), "Validation data cannot be null"); } const string schemaMismatchError = "Training data and validation data schemas do not match."; @@ -187,7 +187,7 @@ private static void ValidatePurposeOverrides(IDataView trainData, IDataView vali throw new ArgumentException(nameof(purposeOverride), $"Purpose override column name '{colName}' not found in training data."); } - if(validationData != null && validationData.Schema.GetColumnOrNull(colName) == null) + if(validationData.Schema.GetColumnOrNull(colName) == null) { throw new ArgumentException(nameof(purposeOverride), $"Purpose override column name '{colName}' not found in validation data."); } diff --git a/src/Samples/GetFirstPipeline.cs b/src/Samples/GetFirstPipeline.cs deleted file mode 100644 index 8b60c88e26..0000000000 --- a/src/Samples/GetFirstPipeline.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Microsoft.ML; -using Microsoft.ML.Auto; - -namespace Samples -{ - public static class GetFirstPipeline - { - const string TrainDataPath = @"C:\data\sample_train2.csv"; - const string Label = "Label"; - - public static void Run() - { - var context = new MLContext(); - var columnInference = context.Data.InferColumns(TrainDataPath, Label, true); - var textLoader = context.Data.CreateTextReader(columnInference); - var data = textLoader.Read(TrainDataPath); - var pipeline = context.BinaryClassification.AutoFit(data, Label); - } - } -} From 030e25a406d448b5c1b97b6f6648d2db8e7c26d2 Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Thu, 17 Jan 2019 12:34:41 -0800 Subject: [PATCH 016/211] Create ISSUE_TEMPLATE.md & PULL_REQUEST_TEMPLATE.md (#12) * Create ISSUE_TEMPLATE.md * Create PULL_REQUEST_TEMPLATE.md --- ISSUE_TEMPLATE.md | 14 ++++++++++++++ PULL_REQUEST_TEMPLATE.md | 8 ++++++++ 2 files changed, 22 insertions(+) create mode 100644 ISSUE_TEMPLATE.md create mode 100644 PULL_REQUEST_TEMPLATE.md diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md new file mode 100644 index 0000000000..4412a83fba --- /dev/null +++ b/ISSUE_TEMPLATE.md @@ -0,0 +1,14 @@ +### System information + +- **OS version/distro**: +- **.NET Version (eg., dotnet --info)**: + +### Issue + +- **What did you do?** +- **What happened?** +- **What did you expect?** + +### Source code / logs + +Please paste or attach the code or logs or traces that would be helpful to diagnose the issue you are reporting. diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000..35c8bd59aa --- /dev/null +++ b/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,8 @@ +We are excited to review your PR. + +So we can do the best job, please check: + +- [ ] There's a descriptive title that will make sense to other developers some time from now. +- [ ] There's associated issues. All PR's should have issue(s) associated - unless a trivial self-evident change such as fixing a typo. You can use the format `Fixes #nnnn` in your description to cause GitHub to automatically close the issue(s) when your PR is merged. +- [ ] Your change description explains what the change does, why you chose your approach, and anything else that reviewers should know. +- [ ] You have included any necessary tests in the same PR. From 4e58b0b2458327d8ccfd30189cb0f481991658ac Mon Sep 17 00:00:00 2001 From: vinodshanbhag <33269336+vinodshanbhag@users.noreply.github.com> Date: Thu, 17 Jan 2019 15:33:59 -0800 Subject: [PATCH 017/211] NestedObject For pipeline (#14) --- src/AutoML/API/Pipeline.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/AutoML/API/Pipeline.cs b/src/AutoML/API/Pipeline.cs index d20d5305e1..7a9b376314 100644 --- a/src/AutoML/API/Pipeline.cs +++ b/src/AutoML/API/Pipeline.cs @@ -37,4 +37,10 @@ public enum PipelineNodeType Transform, Trainer } + + public class CustomProperty + { + public readonly string Name; + public readonly IDictionary Properties; + } } From d47a17d8889b9880c6b0300cb20290d2f57edb41 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 17 Jan 2019 17:37:31 -0800 Subject: [PATCH 018/211] add estimator extensions / catalog; add conversion from external to internal pipeline; transform clean-up; add back in test proj and fix build; refactor trainer ext name mappings (#15) * Make validation data param mandatory; remove GetFirstPipeline sample * remove deprecated todo * add estimator extensions / catalog; add ability to go from external to internal pipeline; a lot of transform clean-up; add back in test proj and get it building; refactor trainer ext name mappings --- AutoML.sln | 44 ++- src/AutoML/API/Pipeline.cs | 16 +- src/AutoML/Assembly.cs | 4 +- src/AutoML/AutoFitter/InferredPipeline.cs | 53 ++- src/AutoML/AutoFitter/SuggestedTrainer.cs | 2 +- .../EstimatorExtensionCatalog.cs | 41 ++ .../EstimatorExtensions.cs | 225 +++++++++++ .../IEstimatorExtension.cs | 13 + src/AutoML/Sweepers/ISweeper.cs | 8 - src/AutoML/Sweepers/SmacSweeper.cs | 53 --- .../BinaryTrainerExtensions.cs | 45 --- .../TrainerExtensions/ITrainerExtension.cs | 2 - .../MultiTrainerExtensions.cs | 50 --- .../RegressionTrainerExtensions.cs | 40 -- .../TrainerExtensionCatalog.cs | 47 +++ .../TransformInference/TransformInference.cs | 355 ++++-------------- src/Samples/Program.cs | 3 +- src/Test/SweeperTests.cs | 2 + 18 files changed, 492 insertions(+), 511 deletions(-) create mode 100644 src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs create mode 100644 src/AutoML/EstimatorExtensions/EstimatorExtensions.cs create mode 100644 src/AutoML/EstimatorExtensions/IEstimatorExtension.cs diff --git a/AutoML.sln b/AutoML.sln index 5ce03a7c33..6c7c1d2950 100644 --- a/AutoML.sln +++ b/AutoML.sln @@ -7,50 +7,54 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoML", "src\AutoML\AutoML EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples", "src\Samples\Samples.csproj", "{64A7294E-A2C7-4499-8F0B-4BB074047C6B}" EndProject -#Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InternalClient", "src\InternalClient\InternalClient.csproj", "{8D564A01-DCA9-443A-9995-A5A67BE4C2CD}" -#EndProject -#Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "src\Test\Test.csproj", "{6DA91D40-302C-495C-B1DA-20701CDA49C6}" -#EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Test", "src\Test\Test.csproj", "{55ACB7E2-053D-43BB-88E8-0E102FBD62F0}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Debug-Intrinsics|Any CPU = Debug-Intrinsics|Any CPU + Debug-netfx|Any CPU = Debug-netfx|Any CPU Release|Any CPU = Release|Any CPU Release-Intrinsics|Any CPU = Release-Intrinsics|Any CPU + Release-netfx|Any CPU = Release-netfx|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {B3727729-3DF8-47E0-8710-9B41DAF55817}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B3727729-3DF8-47E0-8710-9B41DAF55817}.Debug|Any CPU.Build.0 = Debug|Any CPU {B3727729-3DF8-47E0-8710-9B41DAF55817}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU {B3727729-3DF8-47E0-8710-9B41DAF55817}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU + {B3727729-3DF8-47E0-8710-9B41DAF55817}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU + {B3727729-3DF8-47E0-8710-9B41DAF55817}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU {B3727729-3DF8-47E0-8710-9B41DAF55817}.Release|Any CPU.ActiveCfg = Release|Any CPU {B3727729-3DF8-47E0-8710-9B41DAF55817}.Release|Any CPU.Build.0 = Release|Any CPU {B3727729-3DF8-47E0-8710-9B41DAF55817}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU {B3727729-3DF8-47E0-8710-9B41DAF55817}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU + {B3727729-3DF8-47E0-8710-9B41DAF55817}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU + {B3727729-3DF8-47E0-8710-9B41DAF55817}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Debug|Any CPU.Build.0 = Debug|Any CPU {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU + {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU + {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Release|Any CPU.ActiveCfg = Release|Any CPU {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Release|Any CPU.Build.0 = Release|Any CPU {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU - {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU - {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU - {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Release|Any CPU.Build.0 = Release|Any CPU - {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU - {8D564A01-DCA9-443A-9995-A5A67BE4C2CD}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU - {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU - {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU - {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Release|Any CPU.Build.0 = Release|Any CPU - {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU - {6DA91D40-302C-495C-B1DA-20701CDA49C6}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU + {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU + {64A7294E-A2C7-4499-8F0B-4BB074047C6B}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug-Intrinsics|Any CPU + {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Debug-Intrinsics|Any CPU.Build.0 = Debug-Intrinsics|Any CPU + {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU + {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Release|Any CPU.Build.0 = Release|Any CPU + {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Release-Intrinsics|Any CPU.ActiveCfg = Release-Intrinsics|Any CPU + {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Release-Intrinsics|Any CPU.Build.0 = Release-Intrinsics|Any CPU + {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU + {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/AutoML/API/Pipeline.cs b/src/AutoML/API/Pipeline.cs index 7a9b376314..b04522e000 100644 --- a/src/AutoML/API/Pipeline.cs +++ b/src/AutoML/API/Pipeline.cs @@ -22,13 +22,25 @@ public class PipelineNode public PipelineNode(string name, PipelineNodeType elementType, string[] inColumns, string[] outColumns, - IDictionary properties) + IDictionary properties = null) { Name = name; ElementType = elementType; InColumns = inColumns; OutColumns = outColumns; - Properties = properties; + Properties = properties ?? new Dictionary(); + } + + public PipelineNode(string name, PipelineNodeType elementType, + string inColumn, string outColumn, IDictionary properties = null) : + this(name, elementType, new string[] { inColumn }, new string[] { outColumn }, properties) + { + } + + public PipelineNode(string name, PipelineNodeType elementType, + string[] inColumns, string outColumn, IDictionary properties = null) : + this(name, elementType, inColumns, new string[] { outColumn }, properties) + { } } diff --git a/src/AutoML/Assembly.cs b/src/AutoML/Assembly.cs index ad5e727543..1a42efc7fd 100644 --- a/src/AutoML/Assembly.cs +++ b/src/AutoML/Assembly.cs @@ -1,4 +1,4 @@ using System.Runtime.CompilerServices; -// [assembly: InternalsVisibleTo("InternalClient")] -// [assembly: InternalsVisibleTo("Test")] \ No newline at end of file +//[assembly: InternalsVisibleTo("InternalClient")] +[assembly: InternalsVisibleTo("Test, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] \ No newline at end of file diff --git a/src/AutoML/AutoFitter/InferredPipeline.cs b/src/AutoML/AutoFitter/InferredPipeline.cs index 2b954ae0c6..e202fce231 100644 --- a/src/AutoML/AutoFitter/InferredPipeline.cs +++ b/src/AutoML/AutoFitter/InferredPipeline.cs @@ -2,11 +2,11 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; using System.Collections.Generic; using System.Linq; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; -using static Microsoft.ML.Auto.TransformInference.ColumnRoutingStructure; namespace Microsoft.ML.Auto { @@ -22,12 +22,17 @@ internal class InferredPipeline public InferredPipeline(IEnumerable transforms, SuggestedTrainer trainer, - MLContext context = null) + MLContext context = null, + bool autoNormalize = true) { Transforms = transforms.Select(t => t.Clone()).ToList(); Trainer = trainer.Clone(); _context = context ?? new MLContext(); - AddNormalizationTransforms(); + + if(autoNormalize) + { + AddNormalizationTransforms(); + } } public override string ToString() => $"{Trainer}+{string.Join("+", Transforms.Select(t => t.ToString()))}"; @@ -52,12 +57,42 @@ public Pipeline ToPipeline() var pipelineElements = new List(); foreach(var transform in Transforms) { - pipelineElements.Add(transform.ToPipelineNode()); + pipelineElements.Add(transform.PipelineNode); } pipelineElements.Add(Trainer.ToPipelineNode()); return new Pipeline(pipelineElements.ToArray()); } + public static InferredPipeline FromPipeline(Pipeline pipeline) + { + var context = new MLContext(); + + var transforms = new List(); + SuggestedTrainer trainer = null; + + foreach(var pipelineNode in pipeline.Elements) + { + if(pipelineNode.ElementType == PipelineNodeType.Trainer) + { + var trainerName = (TrainerName)Enum.Parse(typeof(TrainerName), pipelineNode.Name); + var trainerExtension = TrainerExtensionCatalog.GetTrainerExtension(trainerName); + var stringParamVals = pipelineNode.Properties.Select(prop => new StringParameterValue(prop.Key, prop.Value.ToString())); + var hyperParamSet = new ParameterSet(stringParamVals); + trainer = new SuggestedTrainer(context, trainerExtension, hyperParamSet); + } + else if (pipelineNode.ElementType == PipelineNodeType.Transform) + { + var estimatorName = (EstimatorName)Enum.Parse(typeof(EstimatorName), pipelineNode.Name); + var estimatorExtension = EstimatorExtensionCatalog.GetExtension(estimatorName); + var estimator = estimatorExtension.CreateInstance(new MLContext(), pipelineNode); + var transform = new SuggestedTransform(pipelineNode, estimator); + transforms.Add(transform); + } + } + + return new InferredPipeline(transforms, trainer, null, false); + } + public ITransformer TrainTransformer(IDataView trainData) { IEstimator pipeline = new EstimatorChain(); @@ -91,15 +126,7 @@ private void AddNormalizationTransforms() return; } - var estimator = _context.Transforms.Normalize(DefaultColumnNames.Features); - var annotatedColNames = new[] { new AnnotatedName() { Name = DefaultColumnNames.Features, IsNumeric = true } }; - var routingStructure = new TransformInference.ColumnRoutingStructure(annotatedColNames, annotatedColNames); - var properties = new Dictionary() - { - { "mode", "MinMax" } - }; - var transform = new SuggestedTransform(estimator, - routingStructure: routingStructure, properties: properties); + var transform = NormalizingExtension.CreateSuggestedTransform(_context, DefaultColumnNames.Features, DefaultColumnNames.Features); Transforms.Add(transform); } } diff --git a/src/AutoML/AutoFitter/SuggestedTrainer.cs b/src/AutoML/AutoFitter/SuggestedTrainer.cs index 7f4aadd845..bdc275de3c 100644 --- a/src/AutoML/AutoFitter/SuggestedTrainer.cs +++ b/src/AutoML/AutoFitter/SuggestedTrainer.cs @@ -19,7 +19,7 @@ internal SuggestedTrainer(MLContext mlContext, ITrainerExtension trainerExtensio _mlContext = mlContext; _trainerExtension = trainerExtension; SweepParams = _trainerExtension.GetHyperparamSweepRanges(); - TrainerName = _trainerExtension.GetTrainerName(); + TrainerName = TrainerExtensionCatalog.GetTrainerName(_trainerExtension); SetHyperparamValues(hyperParamSet); } diff --git a/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs b/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs new file mode 100644 index 0000000000..a11b8cde88 --- /dev/null +++ b/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; + +namespace Microsoft.ML.Auto +{ + public enum EstimatorName + { + ColumnConcatenating, + ColumnCopying, + MissingValueIndicator, + Normalizing, + OneHotEncoding, + OneHotHashEncoding, + TextFeaturizing, + TypeConverting, + ValueToKeyMapping + } + + internal class EstimatorExtensionCatalog + { + private static readonly IDictionary _namesToExtensionTypes = new + Dictionary() + { + { EstimatorName.ColumnConcatenating, typeof(ColumnConcatenatingExtension) }, + { EstimatorName.ColumnCopying, typeof(ColumnCopyingExtension) }, + { EstimatorName.MissingValueIndicator, typeof(MissingValueIndicatorExtension) }, + { EstimatorName.Normalizing, typeof(NormalizingExtension) }, + { EstimatorName.OneHotEncoding, typeof(OneHotEncodingExtension) }, + { EstimatorName.OneHotHashEncoding, typeof(OneHotHashEncodingExtension) }, + { EstimatorName.TextFeaturizing, typeof(TextFeaturizingExtension) }, + { EstimatorName.TypeConverting, typeof(TypeConvertingExtension) }, + { EstimatorName.ValueToKeyMapping, typeof(ValueToKeyMappingExtension) }, + }; + + public static IEstimatorExtension GetExtension(EstimatorName estimatorName) + { + var extType = _namesToExtensionTypes[estimatorName]; + return (IEstimatorExtension)Activator.CreateInstance(extType); + } + } +} diff --git a/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs b/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs new file mode 100644 index 0000000000..0f23c05817 --- /dev/null +++ b/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs @@ -0,0 +1,225 @@ +using System; +using System.Collections.Generic; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; +using Microsoft.ML.Transforms; +using Microsoft.ML.Transforms.Categorical; +using Microsoft.ML.Transforms.Conversions; + +namespace Microsoft.ML.Auto +{ + internal class ColumnConcatenatingExtension : IEstimatorExtension + { + public IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode) + { + return CreateInstance(context, pipelineNode.InColumns, pipelineNode.OutColumns[0]); + } + + public static SuggestedTransform CreateSuggestedTransform(MLContext context, string[] inColumns, string outColumn) + { + var pipelineNode = new PipelineNode(EstimatorName.ColumnConcatenating.ToString(), + PipelineNodeType.Transform, inColumns, outColumn); + var estimator = CreateInstance(context, inColumns, outColumn); + return new SuggestedTransform(pipelineNode, estimator); + } + + private static IEstimator CreateInstance(MLContext context, string[] inColumns, string outColumn) + { + return context.Transforms.Concatenate(outColumn, inColumns); + } + } + + internal class ColumnCopyingExtension : IEstimatorExtension + { + public IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode) + { + return CreateInstance(context, pipelineNode.InColumns[0], pipelineNode.OutColumns[0]); + } + + public static SuggestedTransform CreateSuggestedTransform(MLContext context, string inColumn, string outColumn) + { + var pipelineNode = new PipelineNode(EstimatorName.ColumnCopying.ToString(), + PipelineNodeType.Transform, inColumn, outColumn); + var estimator = CreateInstance(context, inColumn, outColumn); + return new SuggestedTransform(pipelineNode, estimator); + } + + private static IEstimator CreateInstance(MLContext context, string inColumn, string outColumn) + { + return context.Transforms.CopyColumns(inColumn, outColumn); + } + } + + internal class MissingValueIndicatorExtension : IEstimatorExtension + { + public IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode) + { + return CreateInstance(context, pipelineNode.InColumns, pipelineNode.OutColumns); + } + + public static SuggestedTransform CreateSuggestedTransform(MLContext context, string[] inColumns, string[] outColumns) + { + var pipelineNode = new PipelineNode(EstimatorName.MissingValueIndicator.ToString(), + PipelineNodeType.Transform, inColumns, outColumns); + var estimator = CreateInstance(context, inColumns, outColumns); + return new SuggestedTransform(pipelineNode, estimator); + } + + private static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) + { + var pairs = new (string, string)[inColumns.Length]; + for (var i = 0; i < inColumns.Length; i++) + { + var pair = (inColumns[i], outColumns[i]); + pairs[i] = pair; + } + return context.Transforms.IndicateMissingValues(pairs); + } + } + + internal class NormalizingExtension : IEstimatorExtension + { + public IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode) + { + return CreateInstance(context, pipelineNode.InColumns[0], pipelineNode.OutColumns[0]); + } + + public static SuggestedTransform CreateSuggestedTransform(MLContext context, string inColumn, string outColumn) + { + var pipelineNode = new PipelineNode(EstimatorName.Normalizing.ToString(), + PipelineNodeType.Transform, inColumn, outColumn); + var estimator = CreateInstance(context, inColumn, outColumn); + return new SuggestedTransform(pipelineNode, estimator); + } + + private static IEstimator CreateInstance(MLContext context, string inColumn, string outColumn) + { + return context.Transforms.Normalize(inColumn, outColumn); + } + } + + internal class OneHotEncodingExtension : IEstimatorExtension + { + public IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode) + { + return CreateInstance(context, pipelineNode.InColumns, pipelineNode.OutColumns); + } + + public static SuggestedTransform CreateSuggestedTransform(MLContext context, string[] inColumns, string[] outColumns) + { + var pipelineNode = new PipelineNode(EstimatorName.OneHotEncoding.ToString(), + PipelineNodeType.Transform, inColumns, outColumns); + var estimator = CreateInstance(context, inColumns, outColumns); + return new SuggestedTransform(pipelineNode, estimator); + } + + public static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) + { + var cols = new OneHotEncodingEstimator.ColumnInfo[inColumns.Length]; + for (var i = 0; i < cols.Length; i++) + { + cols[i] = new OneHotEncodingEstimator.ColumnInfo(inColumns[i], outColumns[i]); + } + return context.Transforms.Categorical.OneHotEncoding(cols); + } + } + + internal class OneHotHashEncodingExtension : IEstimatorExtension + { + public IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode) + { + return CreateInstance(context, pipelineNode.InColumns, pipelineNode.OutColumns); + } + + public static SuggestedTransform CreateSuggestedTransform(MLContext context, string inColumn, string outColumn) + { + return CreateSuggestedTransform(context, new[] { inColumn }, new[] { outColumn }); + } + + public static SuggestedTransform CreateSuggestedTransform(MLContext context, string[] inColumns, string[] outColumns) + { + var pipelineNode = new PipelineNode(EstimatorName.OneHotHashEncoding.ToString(), + PipelineNodeType.Transform, inColumns, outColumns); + var estimator = CreateInstance(context, inColumns, outColumns); + return new SuggestedTransform(pipelineNode, estimator); + } + + private static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) + { + var cols = new OneHotHashEncodingEstimator.ColumnInfo[inColumns.Length]; + for (var i = 0; i < cols.Length; i++) + { + cols[i] = new OneHotHashEncodingEstimator.ColumnInfo(inColumns[i], outColumns[i]); + } + return context.Transforms.Categorical.OneHotHashEncoding(cols); + } + } + + internal class TextFeaturizingExtension : IEstimatorExtension + { + public IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode) + { + return CreateInstance(context, pipelineNode.InColumns[0], pipelineNode.OutColumns[0]); + } + + public static SuggestedTransform CreateSuggestedTransform(MLContext context, string inColumn, string outColumn) + { + var pipelineNode = new PipelineNode(EstimatorName.TextFeaturizing.ToString(), + PipelineNodeType.Transform, inColumn, outColumn); + var estimator = CreateInstance(context, inColumn, outColumn); + return new SuggestedTransform(pipelineNode, estimator); + } + + private static IEstimator CreateInstance(MLContext context, string inColumn, string outColumn) + { + return context.Transforms.Text.FeaturizeText(inColumn, outColumn); + } + } + + internal class TypeConvertingExtension : IEstimatorExtension + { + public IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode) + { + return CreateInstance(context, pipelineNode.InColumns, pipelineNode.OutColumns); + } + + public static SuggestedTransform CreateSuggestedTransform(MLContext context, string[] inColumns, string[] outColumns) + { + var pipelineNode = new PipelineNode(EstimatorName.TypeConverting.ToString(), + PipelineNodeType.Transform, inColumns, outColumns); + var estimator = CreateInstance(context, inColumns, outColumns); + return new SuggestedTransform(pipelineNode, estimator); + } + + private static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) + { + var cols = new TypeConvertingTransformer.ColumnInfo[inColumns.Length]; + for (var i = 0; i < cols.Length; i++) + { + cols[i] = new TypeConvertingTransformer.ColumnInfo(inColumns[i], outColumns[i], DataKind.R4); + } + return context.Transforms.Conversion.ConvertType(cols); + } + } + + internal class ValueToKeyMappingExtension : IEstimatorExtension + { + public IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode) + { + return CreateInstance(context, pipelineNode.InColumns[0], pipelineNode.OutColumns[0]); + } + + public static SuggestedTransform CreateSuggestedTransform(MLContext context, string inColumn, string outColumn) + { + var pipelineNode = new PipelineNode(EstimatorName.ValueToKeyMapping.ToString(), + PipelineNodeType.Transform, inColumn, outColumn); + var estimator = CreateInstance(context, inColumn, outColumn); + return new SuggestedTransform(pipelineNode, estimator); + } + + private static IEstimator CreateInstance(MLContext context, string inColumn, string outColumn) + { + return context.Transforms.Conversion.MapValueToKey(inColumn, outColumn); + } + } +} diff --git a/src/AutoML/EstimatorExtensions/IEstimatorExtension.cs b/src/AutoML/EstimatorExtensions/IEstimatorExtension.cs new file mode 100644 index 0000000000..1c0582a190 --- /dev/null +++ b/src/AutoML/EstimatorExtensions/IEstimatorExtension.cs @@ -0,0 +1,13 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Core.Data; + +namespace Microsoft.ML.Auto +{ + internal interface IEstimatorExtension + { + IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode); + } +} diff --git a/src/AutoML/Sweepers/ISweeper.cs b/src/AutoML/Sweepers/ISweeper.cs index 715a5cf3c5..8c175279b1 100644 --- a/src/AutoML/Sweepers/ISweeper.cs +++ b/src/AutoML/Sweepers/ISweeper.cs @@ -65,14 +65,6 @@ internal interface IValueGenerator string Name { get; } } - internal interface ISweepResultEvaluator - { - /// - /// Return an IRunResult based on the results given as a TResults object. - /// - IRunResult GetRunResult(ParameterSet parameters, TResults results); - } - /// /// Parameter value generated from the sweeping. /// The parameter values must be immutable. diff --git a/src/AutoML/Sweepers/SmacSweeper.cs b/src/AutoML/Sweepers/SmacSweeper.cs index 8f9ff6f3a3..5f855854de 100644 --- a/src/AutoML/Sweepers/SmacSweeper.cs +++ b/src/AutoML/Sweepers/SmacSweeper.cs @@ -394,58 +394,5 @@ private double[] ComputeEIs(double bestVal, double[][] forestStatistics) eis[i] = ComputeEI(bestVal, forestStatistics[i]); return eis; } - - // *********** Utility Functions ******************* - - private ParameterSet UpdateParameterSet(ParameterSet original, IParameterValue newParam) - { - List parameters = new List(); - for (int i = 0; i < _sweepParameters.Length; i++) - { - if (_sweepParameters[i].Name.Equals(newParam.Name)) - parameters.Add(newParam); - else - { - parameters.Add(original[_sweepParameters[i].Name]); - } - } - - return new ParameterSet(parameters); - } - - private Float ParameterAsFloat(ParameterSet parameterSet, int index) - { - AutoMlUtils.Assert(parameterSet.Count == _sweepParameters.Length); - AutoMlUtils.Assert(index >= 0 && index <= _sweepParameters.Length); - - var sweepParam = _sweepParameters[index]; - var pset = parameterSet[sweepParam.Name]; - AutoMlUtils.Assert(pset != null); - - var parameterDiscrete = sweepParam as DiscreteValueGenerator; - if (parameterDiscrete != null) - { - int hotIndex = -1; - for (int j = 0; j < parameterDiscrete.Count; j++) - { - if (parameterDiscrete[j].Equals(pset)) - { - hotIndex = j; - break; - } - } - AutoMlUtils.Assert(hotIndex >= 0); - - return hotIndex; - } - else - { - var parameterNumeric = sweepParam as INumericValueGenerator; - //_host.Check(parameterNumeric != null, "SMAC sweeper can only sweep over discrete and numeric parameters"); - - // Normalizing all numeric parameters to [0,1] range. - return parameterNumeric.NormalizeValue(pset); - } - } } } \ No newline at end of file diff --git a/src/AutoML/TrainerExtensions/BinaryTrainerExtensions.cs b/src/AutoML/TrainerExtensions/BinaryTrainerExtensions.cs index 1389305461..d6a70ca856 100644 --- a/src/AutoML/TrainerExtensions/BinaryTrainerExtensions.cs +++ b/src/AutoML/TrainerExtensions/BinaryTrainerExtensions.cs @@ -41,11 +41,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.BinaryClassification.Trainers.FastForest(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.FastForestBinary; - } } internal class FastTreeBinaryExtension : ITrainerExtension @@ -79,11 +69,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.BinaryClassification.Trainers.FastTree(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.FastTreeBinary; - } } internal class LightGbmBinaryExtension : ITrainerExtension @@ -98,11 +83,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable argsFunc = TrainerExtensionUtil.CreateLightGbmArgsFunc(sweepParams); return mlContext.BinaryClassification.Trainers.LightGbm(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.LightGbmBinary; - } } internal class LinearSvmBinaryExtension : ITrainerExtension @@ -117,11 +97,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.BinaryClassification.Trainers.LinearSupportVectorMachines(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.LinearSvmBinary; - } } internal class SdcaBinaryExtension : ITrainerExtension @@ -136,11 +111,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.BinaryClassification.Trainers.StochasticDualCoordinateAscent(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.SdcaBinary; - } } internal class LogisticRegressionBinaryExtension : ITrainerExtension @@ -155,11 +125,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.BinaryClassification.Trainers.LogisticRegression(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.LogisticRegressionBinary; - } } internal class SgdBinaryExtension : ITrainerExtension @@ -174,11 +139,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.BinaryClassification.Trainers.StochasticGradientDescent(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.StochasticGradientDescentBinary; - } } internal class SymSgdBinaryExtension : ITrainerExtension @@ -193,10 +153,5 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.BinaryClassification.Trainers.SymbolicStochasticGradientDescent(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.SymSgdBinary; - } } } \ No newline at end of file diff --git a/src/AutoML/TrainerExtensions/ITrainerExtension.cs b/src/AutoML/TrainerExtensions/ITrainerExtension.cs index f7e0d8ab28..1ba00d7f22 100644 --- a/src/AutoML/TrainerExtensions/ITrainerExtension.cs +++ b/src/AutoML/TrainerExtensions/ITrainerExtension.cs @@ -14,7 +14,5 @@ internal interface ITrainerExtension IEnumerable GetHyperparamSweepRanges(); ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams); - - TrainerName GetTrainerName(); } } diff --git a/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs b/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs index f1c786723f..b9a28400ef 100644 --- a/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs +++ b/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs @@ -28,11 +28,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable argsFunc = TrainerExtensionUtil.CreateLightGbmArgsFunc(sweepParams); return mlContext.MulticlassClassification.Trainers.LightGbm(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.LightGbmMulti; - } } internal class LinearSvmOvaExtension : ITrainerExtension @@ -91,11 +76,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.MulticlassClassification.Trainers.StochasticDualCoordinateAscent(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.SdcaMulti; - } } @@ -134,11 +109,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.MulticlassClassification.Trainers.LogisticRegression(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.LogisticRegressionMulti; - } } } \ No newline at end of file diff --git a/src/AutoML/TrainerExtensions/RegressionTrainerExtensions.cs b/src/AutoML/TrainerExtensions/RegressionTrainerExtensions.cs index 913d9219d3..f3dbeea238 100644 --- a/src/AutoML/TrainerExtensions/RegressionTrainerExtensions.cs +++ b/src/AutoML/TrainerExtensions/RegressionTrainerExtensions.cs @@ -25,11 +25,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.Regression.Trainers.FastForest(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.FastForestRegression; - } } internal class FastTreeRegressionExtension : ITrainerExtension @@ -44,11 +39,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.Regression.Trainers.FastTree(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.FastTreeRegression; - } } internal class FastTreeTweedieRegressionExtension : ITrainerExtension @@ -63,11 +53,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.Regression.Trainers.FastTreeTweedie(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.FastTreeTweedieRegression; - } } internal class LightGbmRegressionExtension : ITrainerExtension @@ -82,11 +67,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.Regression.Trainers.OnlineGradientDescent(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.OnlineGradientDescentRegression; - } } internal class OrdinaryLeastSquaresRegressionExtension : ITrainerExtension @@ -120,11 +95,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.Regression.Trainers.OrdinaryLeastSquares(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.OrdinaryLeastSquaresRegression; - } } internal class PoissonRegressionExtension : ITrainerExtension @@ -139,11 +109,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.Regression.Trainers.PoissonRegression(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.PoissonRegression; - } } internal class SdcaRegressionExtension : ITrainerExtension @@ -158,10 +123,5 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams); return mlContext.Regression.Trainers.StochasticDualCoordinateAscent(advancedSettings: argsFunc); } - - public TrainerName GetTrainerName() - { - return TrainerName.SdcaRegression; - } } } \ No newline at end of file diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs b/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs index cc5fb6afb9..e8e2769453 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs @@ -4,12 +4,59 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Text; namespace Microsoft.ML.Auto { internal class TrainerExtensionCatalog { + private static readonly IDictionary _trainerNamesToExtensionTypes = + new Dictionary() + { + { TrainerName.AveragedPerceptronBinary, typeof(AveragedPerceptronBinaryExtension) }, + { TrainerName.AveragedPerceptronOva, typeof(AveragedPerceptronOvaExtension) }, + { TrainerName.FastForestBinary, typeof(FastForestBinaryExtension) }, + { TrainerName.FastForestOva, typeof(FastForestOvaExtension) }, + { TrainerName.FastForestRegression, typeof(FastForestRegressionExtension) }, + { TrainerName.FastTreeBinary, typeof(FastTreeBinaryExtension) }, + { TrainerName.FastTreeOva, typeof(FastTreeOvaExtension) }, + { TrainerName.FastTreeRegression, typeof(FastTreeRegressionExtension) }, + { TrainerName.FastTreeTweedieRegression, typeof(FastTreeTweedieRegressionExtension) }, + { TrainerName.LightGbmBinary, typeof(LightGbmBinaryExtension) }, + { TrainerName.LightGbmMulti, typeof(LightGbmMultiExtension) }, + { TrainerName.LightGbmRegression, typeof(LightGbmRegressionExtension) }, + { TrainerName.LinearSvmBinary, typeof(LinearSvmBinaryExtension) }, + { TrainerName.LinearSvmOva, typeof(LinearSvmOvaExtension) }, + { TrainerName.LogisticRegressionBinary, typeof(LogisticRegressionBinaryExtension) }, + { TrainerName.LogisticRegressionMulti, typeof(LogisticRegressionMultiExtension) }, + { TrainerName.LogisticRegressionOva, typeof(LogisticRegressionOvaExtension) }, + { TrainerName.OnlineGradientDescentRegression, typeof(OnlineGradientDescentRegressionExtension) }, + { TrainerName.OrdinaryLeastSquaresRegression, typeof(OrdinaryLeastSquaresRegressionExtension) }, + { TrainerName.PoissonRegression, typeof(PoissonRegressionExtension) }, + { TrainerName.SdcaBinary, typeof(SdcaBinaryExtension) }, + { TrainerName.SdcaMulti, typeof(SdcaMultiExtension) }, + { TrainerName.SdcaRegression, typeof(SdcaRegressionExtension) }, + { TrainerName.StochasticGradientDescentBinary, typeof(SgdBinaryExtension) }, + { TrainerName.StochasticGradientDescentOva, typeof(SgdOvaExtension) }, + { TrainerName.SymSgdBinary, typeof(SymSgdBinaryExtension) }, + { TrainerName.SymSgdOva, typeof(SymSgdOvaExtension) } + }; + + private static readonly IDictionary _extensionTypesToTrainerNames = + _trainerNamesToExtensionTypes.ToDictionary(kvp => kvp.Value, kvp => kvp.Key); + + public static TrainerName GetTrainerName(ITrainerExtension trainerExtension) + { + return _extensionTypesToTrainerNames[trainerExtension.GetType()]; + } + + public static ITrainerExtension GetTrainerExtension(TrainerName trainerName) + { + var trainerExtensionType = _trainerNamesToExtensionTypes[trainerName]; + return (ITrainerExtension)Activator.CreateInstance(trainerExtensionType); + } + public static IEnumerable GetTrainers(TaskKind task, int maxIterations) { if(task == TaskKind.BinaryClassification) diff --git a/src/AutoML/TransformInference/TransformInference.cs b/src/AutoML/TransformInference/TransformInference.cs index 86f230b275..18c3b96847 100644 --- a/src/AutoML/TransformInference/TransformInference.cs +++ b/src/AutoML/TransformInference/TransformInference.cs @@ -9,53 +9,44 @@ using Microsoft.ML.Core.Data; using Microsoft.ML.Data; using Microsoft.ML.Transforms; -using Microsoft.ML.Transforms.Categorical; -using Microsoft.ML.Transforms.Conversions; -using Microsoft.ML.Transforms.Text; -using static Microsoft.ML.Auto.TransformInference; namespace Microsoft.ML.Auto { internal class SuggestedTransform { public readonly IEstimator Estimator; - public readonly IDictionary Properties; - // Stores which columns are consumed by this transform, - // and which are produced, at which level. - public ColumnRoutingStructure RoutingStructure { get; set; } + public readonly PipelineNode PipelineNode; - public SuggestedTransform(IEstimator estimator, - ColumnRoutingStructure routingStructure = null, IDictionary properties = null) + public SuggestedTransform(PipelineNode pipelineNode, IEstimator estimator) { + PipelineNode = pipelineNode; Estimator = estimator; - RoutingStructure = routingStructure; - Properties = properties; } public SuggestedTransform Clone() { - return new SuggestedTransform(Estimator, RoutingStructure, Properties); + return new SuggestedTransform(PipelineNode, Estimator); } public override string ToString() { var sb = new StringBuilder(); - sb.Append(Estimator.GetType().FullName); + sb.Append(PipelineNode.Name); sb.Append("{"); - if (RoutingStructure.ColumnsProduced.Count() > 1) + if (PipelineNode.OutColumns.Length > 1) { - for (var i = 0; i < RoutingStructure.ColumnsProduced.Count(); i++) + for (var i = 0; i < PipelineNode.OutColumns.Length; i++) { - sb.Append($" col={RoutingStructure.ColumnsProduced[i].Name}:{RoutingStructure.ColumnsConsumed[i].Name}"); + sb.Append($" col={PipelineNode.OutColumns[i]}:{PipelineNode.InColumns[i]}"); } } else { - sb.Append($" col={RoutingStructure.ColumnsProduced.First().Name}:{string.Join(",", RoutingStructure.ColumnsConsumed.Select(c => c.Name))}"); + sb.Append($" col={PipelineNode.OutColumns[0]}:{string.Join(",", PipelineNode.InColumns)}"); } - if (Properties != null) + if (PipelineNode.Properties != null) { - foreach (var property in Properties) + foreach (var property in PipelineNode.Properties) { sb.Append($" {property.Key}={property.Value}"); } @@ -63,24 +54,6 @@ public override string ToString() sb.Append("}"); return sb.ToString(); } - - public PipelineNode ToPipelineNode() - { - var inputColumns = RoutingStructure.ColumnsConsumed.Select(c => c.Name).ToArray(); - var outputColumns = RoutingStructure.ColumnsProduced.Select(c => c.Name).ToArray(); - - var elementProperties = new Dictionary(); - if (Properties != null) - { - foreach (var property in Properties) - { - elementProperties[property.Key] = property.Value; - } - } - - return new PipelineNode(Estimator.GetType().FullName, PipelineNodeType.Transform, - inputColumns, outputColumns, elementProperties); - } } /// @@ -234,11 +207,11 @@ public abstract class TransformInferenceExpertBase : ITransformInferenceExpert public abstract IEnumerable Apply(IntermediateColumn[] columns); - protected readonly MLContext Env; + protected readonly MLContext Context; public TransformInferenceExpertBase() { - Env = new MLContext(); + Context = new MLContext(); } } @@ -289,47 +262,13 @@ public override IEnumerable Apply(IntermediateColumn[] colum var col = columns[lastLabelColId]; - var columnName = new StringBuilder(); - columnName.Append(col.ColumnName); - if (col.Type.IsText()) { - col.GetUniqueValueCounts>(out var unique, out var _, out var _); - - string dest = DefaultColumnNames.Label; - string source = columnName.ToString(); - var input = new ValueToKeyMappingEstimator(Env, source, dest); - - var routingStructure = new ColumnRoutingStructure( - new[] - { - new ColumnRoutingStructure.AnnotatedName {IsNumeric = false, Name = source} - }, - new[] - { - new ColumnRoutingStructure.AnnotatedName {IsNumeric = true, Name = dest} - } - ); - yield return new SuggestedTransform(input, routingStructure); + yield return ValueToKeyMappingExtension.CreateSuggestedTransform(Context, col.ColumnName, DefaultColumnNames.Label); } else if (col.ColumnName != DefaultColumnNames.Label) { - string dest = DefaultColumnNames.Label; - string source = columnName.ToString(); - var input = new ColumnCopyingEstimator(Env, source, dest); - - var routingStructure = new ColumnRoutingStructure( - new[] - { - new ColumnRoutingStructure.AnnotatedName {IsNumeric = true, Name = source} - }, - new[] - { - new ColumnRoutingStructure.AnnotatedName {IsNumeric = true, Name = dest} - } - ); - - yield return new SuggestedTransform(input, routingStructure); + yield return ColumnCopyingExtension.CreateSuggestedTransform(Context, col.ColumnName, DefaultColumnNames.Label); } } } @@ -344,48 +283,14 @@ public override IEnumerable Apply(IntermediateColumn[] colum var col = columns[firstGroupColId]; - var columnName = new StringBuilder(); - columnName.AppendFormat("{0}", col.ColumnName); - if (col.Type.IsText()) { // REVIEW: we could potentially apply HashJoin to vectors of text. - string dest = DefaultColumnNames.GroupId; - string source = columnName.ToString(); - var input = new OneHotHashEncodingEstimator(Env, new OneHotHashEncodingEstimator.ColumnInfo(dest, source)); - - var routingStructure = new ColumnRoutingStructure( - new[] - { - new ColumnRoutingStructure.AnnotatedName {IsNumeric = false, Name = source} - }, - new[] - { - new ColumnRoutingStructure.AnnotatedName {IsNumeric = true, Name = dest} - } - ); - - string[] outputColNames = new string[] { DefaultColumnNames.GroupId }; - yield return new SuggestedTransform(input, routingStructure); + yield return OneHotHashEncodingExtension.CreateSuggestedTransform(Context, col.ColumnName, DefaultColumnNames.GroupId); } else if (col.ColumnName != DefaultColumnNames.GroupId) { - string dest = DefaultColumnNames.GroupId; - string source = columnName.ToString(); - var input = new ColumnCopyingEstimator(Env, source, dest); - - var routingStructure = new ColumnRoutingStructure( - new[] - { - new ColumnRoutingStructure.AnnotatedName {IsNumeric = true, Name = source} - }, - new[] - { - new ColumnRoutingStructure.AnnotatedName {IsNumeric = true, Name = dest} - } - ); - - yield return new SuggestedTransform(input, routingStructure); + yield return ColumnCopyingExtension.CreateSuggestedTransform(Context, col.ColumnName, DefaultColumnNames.GroupId); } } } @@ -396,8 +301,8 @@ public override IEnumerable Apply(IntermediateColumn[] colum { bool foundCat = false; bool foundCatHash = false; - var catColumnsNew = new List(); - var catHashColumnsNew = new List(); + var catColumnsNew = new List(); + var catHashColumnsNew = new List(); var featureCols = new List(); foreach (var column in columns) @@ -405,51 +310,33 @@ public override IEnumerable Apply(IntermediateColumn[] colum if (!column.Type.ItemType().IsText() || column.Purpose != ColumnPurpose.CategoricalFeature) continue; - var columnName = new StringBuilder(); - columnName.AppendFormat("{0}", column.ColumnName); - if (IsDictionaryOk(column, EstimatedSampleFraction)) { foundCat = true; - catColumnsNew.Add(new OneHotEncodingEstimator.ColumnInfo(columnName.ToString(), columnName.ToString())); + catColumnsNew.Add(column.ColumnName); } else { foundCatHash = true; - catHashColumnsNew.Add(new OneHotHashEncodingEstimator.ColumnInfo(columnName.ToString(), columnName.ToString())); + catHashColumnsNew.Add(column.ColumnName); } } if (foundCat) { - ColumnRoutingStructure.AnnotatedName[] columnsSource = - catColumnsNew.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = c.Output }).ToArray(); - ColumnRoutingStructure.AnnotatedName[] columnsDest = - catColumnsNew.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = true, Name = c.Output }).ToArray(); - var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); - - var input = new OneHotEncodingEstimator(Env, catColumnsNew.ToArray()); - featureCols.AddRange(catColumnsNew.Select(c => c.Output)); - - yield return new SuggestedTransform(input, routingStructure); + var catColumnsArr = catColumnsNew.ToArray(); + yield return OneHotEncodingExtension.CreateSuggestedTransform(Context, catColumnsArr, catColumnsArr); } if (foundCatHash) { - ColumnRoutingStructure.AnnotatedName[] columnsSource = - catHashColumnsNew.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = c.HashInfo.Output }).ToArray(); - ColumnRoutingStructure.AnnotatedName[] columnsDest = - catHashColumnsNew.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = true, Name = c.HashInfo.Output }).ToArray(); - var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); - - var input = new OneHotHashEncodingEstimator(Env, catHashColumnsNew.ToArray()); - - yield return new SuggestedTransform(input, routingStructure); + var catHashColumnsNewArr = catHashColumnsNew.ToArray(); + yield return OneHotHashEncodingExtension.CreateSuggestedTransform(Context, catHashColumnsNewArr, catHashColumnsNewArr); } if (!ExcludeFeaturesConcatTransforms && featureCols.Count > 0) { - yield return InferenceHelpers.GetRemainingFeatures(featureCols, columns, GetType(), IncludeFeaturesOverride); + yield return InferenceHelpers.GetRemainingFeatures(featureCols, columns, IncludeFeaturesOverride); IncludeFeaturesOverride = true; } } @@ -476,34 +363,27 @@ internal sealed class Boolean : TransformInferenceExpertBase { public override IEnumerable Apply(IntermediateColumn[] columns) { - var columnName = new StringBuilder(); - var newColumns = new List(); + var newColumns = new List(); foreach (var column in columns) { if (!column.Type.ItemType().IsBool() || column.Purpose != ColumnPurpose.NumericFeature) + { continue; - columnName.AppendFormat("{0}", column.ColumnName); + } - newColumns.Add(new TypeConvertingTransformer.ColumnInfo(columnName.ToString(), - columnName.ToString(), DataKind.R4)); + newColumns.Add(column.ColumnName); } - if (columnName.Length > 0) + if (newColumns.Count() > 0) { - var input = new TypeConvertingEstimator(Env, newColumns.ToArray()); - ColumnRoutingStructure.AnnotatedName[] columnsSource = - newColumns.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = c.Input }).ToArray(); - ColumnRoutingStructure.AnnotatedName[] columnsDest = - newColumns.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = true, Name = c.Output }).ToArray(); - var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); - yield return new SuggestedTransform(input, routingStructure); + var newColumnsArr = newColumns.ToArray(); + yield return TypeConvertingExtension.CreateSuggestedTransform(Context, newColumnsArr, newColumnsArr); // Concat featurized columns into existing feature column, if transformed at least one column. if (!ExcludeFeaturesConcatTransforms) { - yield return InferenceHelpers.GetRemainingFeatures(newColumns.Select(c => c.Output).ToList(), - columns, GetType(), IncludeFeaturesOverride); + yield return InferenceHelpers.GetRemainingFeatures(newColumns, columns, IncludeFeaturesOverride); IncludeFeaturesOverride = true; } } @@ -513,7 +393,7 @@ public override IEnumerable Apply(IntermediateColumn[] colum internal static class InferenceHelpers { public static SuggestedTransform GetRemainingFeatures(List newCols, IntermediateColumn[] existingColumns, - Type currentType, bool includeFeaturesOverride) + bool includeFeaturesOverride) { // Pick up existing features columns, if they exist var featuresColumnsCount = existingColumns.Count(col => @@ -521,64 +401,27 @@ public static SuggestedTransform GetRemainingFeatures(List newCols, Inte (col.ColumnName == DefaultColumnNames.Features)); if (includeFeaturesOverride || featuresColumnsCount > 0) newCols.Insert(0, DefaultColumnNames.Features); - return InferenceHelpers.ConcatColumnsIntoOne(newCols, DefaultColumnNames.Features, currentType, true); - } - - public static SuggestedTransform ConcatColumnsIntoOne(List columnNames, string concatColumnName, - Type transformType, bool isNumeric) - { - StringBuilder columnName = new StringBuilder(); - - columnNames.ForEach(column => - { - columnName.AppendFormat("{0}", column); - }); - - string columnsToConcat = string.Join(",", columnNames); - - var env = new MLContext(); - var input = new ColumnConcatenatingEstimator(env, concatColumnName, columnNames.ToArray()); - - // Not sure if resulting columns will be numeric or text, since concat can apply to either. - ColumnRoutingStructure.AnnotatedName[] columnsSource = - columnNames.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = isNumeric, Name = c }).ToArray(); - ColumnRoutingStructure.AnnotatedName[] columnsDest = - new[] { new ColumnRoutingStructure.AnnotatedName { IsNumeric = isNumeric, Name = concatColumnName } }; - var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); - - return new SuggestedTransform(input, routingStructure); + return ColumnConcatenatingExtension.CreateSuggestedTransform(new MLContext(), newCols.ToArray(), DefaultColumnNames.Features); } - public static SuggestedTransform TextTransformUnigramTriChar(MLContext env, string srcColumn, string dstColumn) + public static SuggestedTransform TextTransformUnigramTriChar(MLContext context, string srcColumn, string dstColumn) { - var input = new TextFeaturizingEstimator(env, srcColumn, dstColumn) - { + //var input = new TextFeaturizingEstimator(context, srcColumn, dstColumn) + //{ //WordFeatureExtractor = new NgramExtractorTransform.NgramExtractorArguments() { NgramLength = 1 }, //CharFeatureExtractor = new NgramExtractorTransform.NgramExtractorArguments() { NgramLength = 3 } - }; - - return TextTransform(srcColumn, dstColumn, input); + //}; + return TextFeaturizingExtension.CreateSuggestedTransform(context, srcColumn, dstColumn); } - public static SuggestedTransform TextTransformBigramTriChar(MLContext env, string srcColumn, string dstColumn, Type transformType) + public static SuggestedTransform TextTransformBigramTriChar(MLContext context, string srcColumn, string dstColumn) { - var input = new TextFeaturizingEstimator(env, srcColumn, dstColumn) - { + //var input = new TextFeaturizingEstimator(env, srcColumn, dstColumn) + //{ //WordFeatureExtractor = new NgramExtractorTransform.NgramExtractorArguments() { NgramLength = 2 }, //CharFeatureExtractor = new NgramExtractorTransform.NgramExtractorArguments() { NgramLength = 3 } - }; - - return TextTransform(srcColumn, dstColumn, input); - } - - public static SuggestedTransform TextTransform(string srcColumn, string dstColumn, IEstimator estimator) - { - ColumnRoutingStructure.AnnotatedName[] columnsSource = - { new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = srcColumn } }; - ColumnRoutingStructure.AnnotatedName[] columnsDest = - { new ColumnRoutingStructure.AnnotatedName { IsNumeric = true, Name = dstColumn } }; - var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); - return new SuggestedTransform(estimator, routingStructure); + //}; + return TextFeaturizingExtension.CreateSuggestedTransform(context, srcColumn, dstColumn); } } @@ -599,19 +442,13 @@ public override IEnumerable Apply(IntermediateColumn[] colum string columnDestRenamed = $"{columnNameSafe}{columnDestSuffix}"; featureCols.Add(columnDestRenamed); - var input = new TextFeaturizingEstimator(Env, columnNameSafe, columnDestRenamed); - ColumnRoutingStructure.AnnotatedName[] columnsSource = - { new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = columnNameSafe} }; - ColumnRoutingStructure.AnnotatedName[] columnsDest = - { new ColumnRoutingStructure.AnnotatedName { IsNumeric = true, Name = columnDestRenamed} }; - var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); - yield return new SuggestedTransform(input, routingStructure); + yield return TextFeaturizingExtension.CreateSuggestedTransform(Context, columnNameSafe, columnDestRenamed); } // Concat text featurized columns into existing feature column, if transformed at least one column. if (!ExcludeFeaturesConcatTransforms && featureCols.Count > 0) { - yield return InferenceHelpers.GetRemainingFeatures(featureCols, columns, GetType(), IncludeFeaturesOverride); + yield return InferenceHelpers.GetRemainingFeatures(featureCols, columns, IncludeFeaturesOverride); IncludeFeaturesOverride = true; } } @@ -621,22 +458,21 @@ internal sealed class TextUniGramTriGram : TransformInferenceExpertBase { public override IEnumerable Apply(IntermediateColumn[] columns) { - List textColumnNames = + var textColumnNames = columns.Where( column => column.Type.ItemType().IsText() && column.Purpose == ColumnPurpose.TextFeature) - .Select(column => column.ColumnName).ToList(); + .Select(column => column.ColumnName).ToArray(); - if ((textColumnNames.Count == 0) || + if ((textColumnNames.Length == 0) || (columns.Count(col => col.Purpose == ColumnPurpose.Label) != 1)) yield break; //Concat text columns into one. string concatTextColumnName; - if (textColumnNames.Count > 1) + if (textColumnNames.Length > 1) { concatTextColumnName = columns[0].GetTempColumnName("TextConcat"); - yield return - InferenceHelpers.ConcatColumnsIntoOne(textColumnNames, concatTextColumnName, GetType(), false); + yield return ColumnConcatenatingExtension.CreateSuggestedTransform(Context, textColumnNames, concatTextColumnName); } else { @@ -645,7 +481,7 @@ public override IEnumerable Apply(IntermediateColumn[] colum //Get Unigram + Trichar for text transform on the concatenated text column. string featureTextColumn = columns[0].GetTempColumnName("FeaturesText"); - yield return InferenceHelpers.TextTransformUnigramTriChar(Env, concatTextColumnName, featureTextColumn); + yield return InferenceHelpers.TextTransformUnigramTriChar(Context, concatTextColumnName, featureTextColumn); //Concat text featurized column into feature column. List featureCols = new List(new[] { featureTextColumn }); @@ -657,7 +493,7 @@ public override IEnumerable Apply(IntermediateColumn[] colum if (!ExcludeFeaturesConcatTransforms) { - yield return InferenceHelpers.ConcatColumnsIntoOne(featureCols, DefaultColumnNames.Features, GetType(), true); + yield return ColumnConcatenatingExtension.CreateSuggestedTransform(Context, featureCols.ToArray(), DefaultColumnNames.Features); } } } @@ -666,30 +502,21 @@ internal sealed class NumericMissing : TransformInferenceExpertBase { public override IEnumerable Apply(IntermediateColumn[] columns) { - bool found = false; - var columnName = new StringBuilder(); + var columnsWithMissing = new List(); foreach (var column in columns) { - if (column.Type.ItemType() != NumberType.R4 || column.Purpose != ColumnPurpose.NumericFeature) - continue; - if (!column.HasMissing) + if (column.Type.ItemType() != NumberType.R4 || column.Purpose != ColumnPurpose.NumericFeature + || !column.HasMissing) + { continue; - - found = true; - - columnName.AppendFormat("{0}", column.ColumnName); + } + + columnsWithMissing.Add(column.ColumnName); } - if (found) + if (columnsWithMissing.Any()) { - string name = columnName.ToString(); - var input = new MissingValueIndicatorEstimator(Env, name, name); - - ColumnRoutingStructure.AnnotatedName[] columnsSource = - { new ColumnRoutingStructure.AnnotatedName { IsNumeric = true, Name = name} }; - ColumnRoutingStructure.AnnotatedName[] columnsDest = - { new ColumnRoutingStructure.AnnotatedName { IsNumeric = true, Name = name} }; - var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); - yield return new SuggestedTransform(input, routingStructure); + var columnsArr = columnsWithMissing.ToArray(); + yield return MissingValueIndicatorExtension.CreateSuggestedTransform(Context, columnsArr, columnsArr); } } } @@ -716,28 +543,17 @@ public override IEnumerable Apply(IntermediateColumn[] colum { // Check if column is named features and already numeric if (colList.Length == 1 && colList[0] == DefaultColumnNames.Features && allColumnsNumeric) + { yield break; - - if (!allColumnsNumeric && !allColumnsNonNumeric) - yield break; + } - List columnList = new List(); - - foreach (var column in colList) + if (!allColumnsNumeric && !allColumnsNonNumeric) { - var columnName = new StringBuilder(); - columnName.AppendFormat("{0}", column); - columnList.Add(columnName.ToString()); + yield break; } - var input = new ColumnConcatenatingEstimator(Env, DefaultColumnNames.Features, columnList.ToArray()); - - ColumnRoutingStructure.AnnotatedName[] columnsSource = - columnList.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = allColumnsNumeric, Name = c }).ToArray(); - ColumnRoutingStructure.AnnotatedName[] columnsDest = - { new ColumnRoutingStructure.AnnotatedName { IsNumeric = allColumnsNumeric, Name = DefaultColumnNames.Features} }; - var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); - yield return new SuggestedTransform(input, routingStructure); + var input = new ColumnConcatenatingEstimator(Context, DefaultColumnNames.Features, colList); + yield return ColumnConcatenatingExtension.CreateSuggestedTransform(Context, colList, DefaultColumnNames.Features); } } } @@ -763,7 +579,6 @@ internal sealed class NameColumnConcatRename : TransformInferenceExpertBase public override IEnumerable Apply(IntermediateColumn[] columns) { int count = 0; - bool isAllText = true; var colSpec = new StringBuilder(); var colSpecTextOnly = new List(); var columnList = new List(); @@ -772,47 +587,39 @@ public override IEnumerable Apply(IntermediateColumn[] colum { var columnName = new StringBuilder(); if (column.Purpose != ColumnPurpose.Name) + { continue; + } count++; if (colSpec.Length > 0) + { colSpec.Append(","); + } colSpec.Append(column.ColumnName); columnName.Append(column.ColumnName); columnList.Add(columnName.ToString()); if (column.Type.ItemType().IsText()) + { colSpecTextOnly.Add(column.ColumnName); - isAllText = isAllText && column.Type.ItemType().IsText(); + } } if (count == 1 && colSpec.ToString() != DefaultColumnNames.Name) { - var columnName = new StringBuilder(); - columnName.AppendFormat("{0}", colSpec); - var input = new ColumnCopyingEstimator(Env, columnName.ToString(), DefaultColumnNames.Name); - ColumnRoutingStructure.AnnotatedName[] columnsSource = - { new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = columnName.ToString()} }; - ColumnRoutingStructure.AnnotatedName[] columnsDest = - { new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = DefaultColumnNames.Name} }; - var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); - yield return new SuggestedTransform(input, routingStructure); + yield return ColumnCopyingExtension.CreateSuggestedTransform(Context, colSpec.ToString(), DefaultColumnNames.Name); } else if (count > 1) { if (string.IsNullOrWhiteSpace(colSpecTextOnly.ToString())) + { yield break; + } // suggested grouping name columns into one vector - var input = new ColumnConcatenatingEstimator(Env, DefaultColumnNames.Name, columnList.ToArray()); - - ColumnRoutingStructure.AnnotatedName[] columnsSource = - columnList.Select(c => new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = c }).ToArray(); - ColumnRoutingStructure.AnnotatedName[] columnsDest = - { new ColumnRoutingStructure.AnnotatedName { IsNumeric = false, Name = DefaultColumnNames.Name} }; - var routingStructure = new ColumnRoutingStructure(columnsSource, columnsDest); - yield return new SuggestedTransform(input, routingStructure); + yield return ColumnConcatenatingExtension.CreateSuggestedTransform(Context, columnList.ToArray(), DefaultColumnNames.Name); } } } diff --git a/src/Samples/Program.cs b/src/Samples/Program.cs index c43e818c9a..7d9fd18881 100644 --- a/src/Samples/Program.cs +++ b/src/Samples/Program.cs @@ -8,10 +8,11 @@ public class Program { public static void Main(string[] args) { - BinaryClassification.Run(); + //BinaryClassification.Run(); //MulticlassClassification.Run(); // GetFirstPipeline.Run(); + Benchmarking.Run(); } } } diff --git a/src/Test/SweeperTests.cs b/src/Test/SweeperTests.cs index 4c87872432..e4534d647f 100644 --- a/src/Test/SweeperTests.cs +++ b/src/Test/SweeperTests.cs @@ -9,6 +9,7 @@ namespace Microsoft.ML.Auto.Test [TestClass] public class SweeperTests { + [Ignore] [TestMethod] public void Smac2ParamsTest() { @@ -47,6 +48,7 @@ public void Smac2ParamsTest() } } + [Ignore] [TestMethod] public void Smac4ParamsTest() { From 181fbe27479fc22979a3dafb183b50bb3e3aa638 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 17 Jan 2019 21:19:30 -0800 Subject: [PATCH 019/211] corrected the typo in readme (#16) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 364361d995..ab8c38ea75 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ or from the NuGet package manager: Install-Package Microsoft.ML.AutoML ``` -Or alternatively, you can add the Microsoft.ML.AutoMO package from within Visual Studio's NuGet package manager or via [Paket](https://github.com/fsprojects/Paket). +Or alternatively, you can add the Microsoft.ML.AutoML package from within Visual Studio's NuGet package manager or via [Paket](https://github.com/fsprojects/Paket). Daily NuGet builds of the project are also available in our [MyGet](https://dotnet.myget.org/feed/dotnet-core/package/nuget/Microsoft.ML.AutoML) feed: From 23862a1b84990d2a3bdb43d5dd1df7ac5586d7a4 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Fri, 18 Jan 2019 14:44:44 -0800 Subject: [PATCH 020/211] make GetNextPipeline API w/ public Pipeline method on PipelineSuggester; write GetNextPipeline API test; fix public Pipeline object serialization; fix header inferencing bug; write test utils for fetching datasets (#18) --- src/AutoML/API/Pipeline.cs | 48 ++++++++++++++++--- src/AutoML/AutoFitter/AutoFitApi.cs | 2 +- src/AutoML/AutoFitter/AutoFitter.cs | 14 +++--- src/AutoML/AutoFitter/InferredPipeline.cs | 10 +++- ...Result.cs => InferredPipelineRunResult.cs} | 13 +++-- .../ColumnInference/ColumnInferenceApi.cs | 5 +- .../ColumnInference/ColumnTypeInference.cs | 14 ++---- .../PipelineSuggesters/PipelineSuggester.cs | 23 ++++++--- src/Test/DatasetUtil.cs | 42 ++++++++++++++++ src/Test/GetNextPipelineTests.cs | 46 ++++++++++++++++++ 10 files changed, 179 insertions(+), 38 deletions(-) rename src/AutoML/AutoFitter/{PipelineRunResult.cs => InferredPipelineRunResult.cs} (68%) create mode 100644 src/Test/DatasetUtil.cs create mode 100644 src/Test/GetNextPipelineTests.cs diff --git a/src/AutoML/API/Pipeline.cs b/src/AutoML/API/Pipeline.cs index b04522e000..eb2d05c2d7 100644 --- a/src/AutoML/API/Pipeline.cs +++ b/src/AutoML/API/Pipeline.cs @@ -1,24 +1,36 @@ using System.Collections.Generic; +using Microsoft.ML.Core.Data; namespace Microsoft.ML.Auto { public class Pipeline { - public readonly PipelineNode[] Elements; + public PipelineNode[] Elements { get; set; } public Pipeline(PipelineNode[] elements) { Elements = elements; } + + // (used by Newtonsoft) + internal Pipeline() + { + } + + public IEstimator ToEstimator() + { + var inferredPipeline = InferredPipeline.FromPipeline(this); + return inferredPipeline.ToEstimator(); + } } public class PipelineNode { - public readonly string Name; - public readonly PipelineNodeType ElementType; - public readonly string[] InColumns; - public readonly string[] OutColumns; - public readonly IDictionary Properties; + public string Name { get; set; } + public PipelineNodeType ElementType { get; set; } + public string[] InColumns { get; set; } + public string[] OutColumns { get; set; } + public IDictionary Properties { get; set; } public PipelineNode(string name, PipelineNodeType elementType, string[] inColumns, string[] outColumns, @@ -42,6 +54,11 @@ public PipelineNode(string name, PipelineNodeType elementType, this(name, elementType, inColumns, new string[] { outColumn }, properties) { } + + // (used by Newtonsoft) + internal PipelineNode() + { + } } public enum PipelineNodeType @@ -55,4 +72,23 @@ public class CustomProperty public readonly string Name; public readonly IDictionary Properties; } + + public class PipelineRunResult + { + public readonly Pipeline Pipeline; + public readonly double Score; + + /// + /// This setting is true if the pipeline run succeeded & ran to completion. + /// Else, it is false if some exception was thrown before the run could complete. + /// + public readonly bool RunSucceded; + + public PipelineRunResult(Pipeline pipeline, double score, bool runSucceeded) + { + Pipeline = pipeline; + Score = score; + RunSucceded = runSucceeded; + } + } } diff --git a/src/AutoML/AutoFitter/AutoFitApi.cs b/src/AutoML/AutoFitter/AutoFitApi.cs index 978206a5a7..b9af39b0c8 100644 --- a/src/AutoML/AutoFitter/AutoFitApi.cs +++ b/src/AutoML/AutoFitter/AutoFitApi.cs @@ -6,7 +6,7 @@ namespace Microsoft.ML.Auto { internal static class AutoFitApi { - public static (PipelineRunResult[] allPipelines, PipelineRunResult bestPipeline) Fit(IDataView trainData, + public static (InferredPipelineRunResult[] allPipelines, InferredPipelineRunResult bestPipeline) Fit(IDataView trainData, IDataView validationData, string label, AutoFitSettings settings, TaskKind task, OptimizingMetric metric, IEnumerable<(string, ColumnPurpose)> purposeOverrides, IDebugLogger debugLogger) { diff --git a/src/AutoML/AutoFitter/AutoFitter.cs b/src/AutoML/AutoFitter/AutoFitter.cs index 437ce5af69..f26f98660c 100644 --- a/src/AutoML/AutoFitter/AutoFitter.cs +++ b/src/AutoML/AutoFitter/AutoFitter.cs @@ -14,7 +14,7 @@ namespace Microsoft.ML.Auto internal class AutoFitter { private readonly IDebugLogger _debugLogger; - private readonly IList _history; + private readonly IList _history; private readonly string _label; private readonly MLContext _mlContext; private readonly OptimizingMetricInfo _optimizingMetricInfo; @@ -29,7 +29,7 @@ public AutoFitter(MLContext mlContext, OptimizingMetricInfo metricInfo, AutoFitS IDictionary purposeOverrides, IDebugLogger debugLogger) { _debugLogger = debugLogger; - _history = new List(); + _history = new List(); _label = label; _mlContext = mlContext; _optimizingMetricInfo = metricInfo; @@ -40,7 +40,7 @@ public AutoFitter(MLContext mlContext, OptimizingMetricInfo metricInfo, AutoFitS _validationData = validationData; } - public PipelineRunResult[] Fit() + public InferredPipelineRunResult[] Fit() { IteratePipelinesAndFit(); return _history.ToArray(); @@ -55,7 +55,7 @@ private void IteratePipelinesAndFit() do { // get next pipeline - var pipeline = PipelineSuggester.GetNextPipeline(_history, transforms, availableTrainers, _optimizingMetricInfo.IsMaximizing); + var pipeline = PipelineSuggester.GetNextInferredPipeline(_history, transforms, availableTrainers, _optimizingMetricInfo.IsMaximizing); // break if no candidates returned, means no valid pipeline available if (pipeline == null) @@ -75,19 +75,19 @@ private void ProcessPipeline(InferredPipeline pipeline) // run pipeline var stopwatch = Stopwatch.StartNew(); - PipelineRunResult runResult; + InferredPipelineRunResult runResult; try { var pipelineModel = pipeline.TrainTransformer(_trainData); var scoredValidationData = pipelineModel.Transform(_validationData); var evaluatedMetrics = GetEvaluatedMetrics(scoredValidationData); var score = GetPipelineScore(evaluatedMetrics); - runResult = new PipelineRunResult(evaluatedMetrics, pipelineModel, pipeline, score, scoredValidationData); + runResult = new InferredPipelineRunResult(evaluatedMetrics, pipelineModel, pipeline, score, scoredValidationData); } catch(Exception ex) { WriteDebugLog(DebugStream.Exception, $"{pipeline.Trainer} Crashed {ex}"); - runResult = new PipelineRunResult(pipeline, false); + runResult = new InferredPipelineRunResult(pipeline, false); } // save pipeline run diff --git a/src/AutoML/AutoFitter/InferredPipeline.cs b/src/AutoML/AutoFitter/InferredPipeline.cs index e202fce231..5a2325fdb1 100644 --- a/src/AutoML/AutoFitter/InferredPipeline.cs +++ b/src/AutoML/AutoFitter/InferredPipeline.cs @@ -93,7 +93,7 @@ public static InferredPipeline FromPipeline(Pipeline pipeline) return new InferredPipeline(transforms, trainer, null, false); } - public ITransformer TrainTransformer(IDataView trainData) + public IEstimator ToEstimator() { IEstimator pipeline = new EstimatorChain(); @@ -112,7 +112,13 @@ public ITransformer TrainTransformer(IDataView trainData) // append learner to pipeline pipeline = pipeline.Append(learner); - return pipeline.Fit(trainData); + return pipeline; + } + + public ITransformer TrainTransformer(IDataView trainData) + { + var estimator = ToEstimator(); + return estimator.Fit(trainData); } private void AddNormalizationTransforms() diff --git a/src/AutoML/AutoFitter/PipelineRunResult.cs b/src/AutoML/AutoFitter/InferredPipelineRunResult.cs similarity index 68% rename from src/AutoML/AutoFitter/PipelineRunResult.cs rename to src/AutoML/AutoFitter/InferredPipelineRunResult.cs index 79fb75f4ff..825c53f219 100644 --- a/src/AutoML/AutoFitter/PipelineRunResult.cs +++ b/src/AutoML/AutoFitter/InferredPipelineRunResult.cs @@ -7,7 +7,7 @@ namespace Microsoft.ML.Auto { - internal class PipelineRunResult + internal class InferredPipelineRunResult { public readonly object EvaluatedMetrics; public readonly InferredPipeline Pipeline; @@ -22,7 +22,7 @@ internal class PipelineRunResult public ITransformer Model { get; set; } - public PipelineRunResult(object evaluatedMetrics, ITransformer model, InferredPipeline pipeline, double score, IDataView scoredValidationData, + public InferredPipelineRunResult(object evaluatedMetrics, ITransformer model, InferredPipeline pipeline, double score, IDataView scoredValidationData, bool runSucceeded = true) { EvaluatedMetrics = evaluatedMetrics; @@ -33,12 +33,19 @@ public PipelineRunResult(object evaluatedMetrics, ITransformer model, InferredPi RunSucceded = runSucceeded; } - public PipelineRunResult(InferredPipeline pipeline, bool runSucceeded) + public InferredPipelineRunResult(InferredPipeline pipeline, bool runSucceeded) { Pipeline = pipeline; RunSucceded = runSucceeded; } + public static InferredPipelineRunResult FromPipelineRunResult(PipelineRunResult pipelineRunResult) + { + return new InferredPipelineRunResult(null, null, + InferredPipeline.FromPipeline(pipelineRunResult.Pipeline), + pipelineRunResult.Score, null, pipelineRunResult.RunSucceded); + } + public IRunResult ToRunResult(bool isMetricMaximizing) { return new RunResult(Pipeline.Trainer.HyperParamSet, Score, isMetricMaximizing); diff --git a/src/AutoML/ColumnInference/ColumnInferenceApi.cs b/src/AutoML/ColumnInference/ColumnInferenceApi.cs index 4d584070ed..07a0c37c52 100644 --- a/src/AutoML/ColumnInference/ColumnInferenceApi.cs +++ b/src/AutoML/ColumnInference/ColumnInferenceApi.cs @@ -11,7 +11,7 @@ public static ColumnInferenceResult InferColumns(MLContext context, string path, { var sample = TextFileSample.CreateFromFullFile(path); var splitInference = InferSplit(sample, separatorChar, allowQuotedStrings, supportSparse); - var typeInference = InferColumnTypes(context, sample, splitInference); + var typeInference = InferColumnTypes(context, sample, splitInference, hasHeader); var typedLoaderArgs = new TextLoader.Arguments { Column = ColumnTypeInference.GenerateLoaderColumns(typeInference.Columns), @@ -59,7 +59,7 @@ private static TextFileContents.ColumnSplitResult InferSplit(TextFileSample samp } private static ColumnTypeInference.InferenceResult InferColumnTypes(MLContext context, TextFileSample sample, - TextFileContents.ColumnSplitResult splitInference) + TextFileContents.ColumnSplitResult splitInference, bool hasHeader) { // infer column types var typeInferenceResult = ColumnTypeInference.InferTextFileColumnTypes(context, sample, @@ -69,6 +69,7 @@ private static ColumnTypeInference.InferenceResult InferColumnTypes(MLContext co Separator = splitInference.Separator, AllowSparse = splitInference.AllowSparse, AllowQuote = splitInference.AllowQuote, + HasHeader = hasHeader }); if (!typeInferenceResult.IsSuccess) diff --git a/src/AutoML/ColumnInference/ColumnTypeInference.cs b/src/AutoML/ColumnInference/ColumnTypeInference.cs index 58a80e6581..65188b3dd7 100644 --- a/src/AutoML/ColumnInference/ColumnTypeInference.cs +++ b/src/AutoML/ColumnInference/ColumnTypeInference.cs @@ -27,6 +27,7 @@ internal sealed class Arguments public bool AllowSparse; public bool AllowQuote; public int ColumnCount; + public bool HasHeader; public int MaxRowsToRead; public Arguments() @@ -325,15 +326,6 @@ private static InferenceResult InferTextFileColumnTypesCore(MLContext env, IMult suspect--; } - // REVIEW: Why not use this for column names as well? - TextLoader.Arguments fileArgs; - bool hasHeader; - if (TextLoader.FileContainsValidSchema(env, fileSource, out fileArgs)) - hasHeader = fileArgs.HasHeader; - else - hasHeader = suspect > 0; - hasHeader = true; - // suggest names var names = new List(); usedNames.Clear(); @@ -341,7 +333,7 @@ private static InferenceResult InferTextFileColumnTypesCore(MLContext env, IMult { string name0; string name; - name0 = name = SuggestName(col, hasHeader); + name0 = name = SuggestName(col, args.HasHeader); int i = 0; while (!usedNames.Add(name)) name = string.Format("{0}_{1:00}", name0, i++); @@ -352,7 +344,7 @@ private static InferenceResult InferTextFileColumnTypesCore(MLContext env, IMult var numerics = outCols.Count(x => x.ItemType.IsNumber()); - return InferenceResult.Success(outCols, hasHeader, cols.Select(col => col.RawData).ToArray()); + return InferenceResult.Success(outCols, args.HasHeader, cols.Select(col => col.RawData).ToArray()); } private static string SuggestName(IntermediateColumn column, bool hasHeader) diff --git a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs index ac6415ee6b..a75c9789a1 100644 --- a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs +++ b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs @@ -12,7 +12,18 @@ internal static class PipelineSuggester { private const int TopKTrainers = 3; - public static InferredPipeline GetNextPipeline(IEnumerable history, + public static Pipeline GetNextPipeline(IEnumerable history, + IEnumerable transforms, + IEnumerable availableTrainers, + bool isMaximizingMetric = true) + { + var inferredHistory = history.Select(r => InferredPipelineRunResult.FromPipelineRunResult(r)); + var nextInferredPipeline = GetNextInferredPipeline(inferredHistory, + transforms, availableTrainers, isMaximizingMetric); + return nextInferredPipeline.ToPipeline(); + } + + public static InferredPipeline GetNextInferredPipeline(IEnumerable history, IEnumerable transforms, IEnumerable availableTrainers, bool isMaximizingMetric = true) @@ -49,7 +60,7 @@ public static InferredPipeline GetNextPipeline(IEnumerable hi /// /// Get top trainers from first stage /// - private static IEnumerable GetTopTrainers(IEnumerable history, + private static IEnumerable GetTopTrainers(IEnumerable history, IEnumerable availableTrainers, bool isMaximizingMetric) { @@ -57,7 +68,7 @@ private static IEnumerable GetTopTrainers(IEnumerable r.Pipeline.Trainer.TrainerName).Select(g => g.First()); - IEnumerable sortedHistory = history.OrderBy(r => r.Score); + IEnumerable sortedHistory = history.OrderBy(r => r.Score); if(isMaximizingMetric) { sortedHistory = sortedHistory.Reverse(); @@ -66,7 +77,7 @@ private static IEnumerable GetTopTrainers(IEnumerable history, + private static InferredPipeline GetNextFirstStagePipeline(IEnumerable history, IEnumerable availableTrainers, IEnumerable transforms) { @@ -133,7 +144,7 @@ private static IValueGenerator[] ConvertToValueGenerators(IEnumerable history, bool isMaximizingMetric) + private static void SampleHyperparameters(SuggestedTrainer trainer, IEnumerable history, bool isMaximizingMetric) { var sps = ConvertToValueGenerators(trainer.SweepParams); var sweeper = new SmacSweeper( @@ -142,7 +153,7 @@ private static void SampleHyperparameters(SuggestedTrainer trainer, IEnumerable< SweptParameters = sps }); - IEnumerable historyToUse = history + IEnumerable historyToUse = history .Where(r => r.RunSucceded && r.Pipeline.Trainer.TrainerName == trainer.TrainerName && r.Pipeline.Trainer.HyperParamSet != null); // get new set of hyperparameter values diff --git a/src/Test/DatasetUtil.cs b/src/Test/DatasetUtil.cs new file mode 100644 index 0000000000..627e53391c --- /dev/null +++ b/src/Test/DatasetUtil.cs @@ -0,0 +1,42 @@ +using System; +using System.IO; +using System.Net; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto.Test +{ + internal static class DatasetUtil + { + public const string UciAdultLabel = DefaultColumnNames.Label; + + private static IDataView _uciAdultDataView; + + public static IDataView GetUciAdultDataView() + { + if(_uciAdultDataView == null) + { + var uciAdultDataFile = DownloadUciAdultDataset(); + _uciAdultDataView = (new MLContext()).Data.AutoRead(uciAdultDataFile, UciAdultLabel, true); + } + return _uciAdultDataView; + } + + // downloads the UCI Adult dataset from the ML.Net repo + private static string DownloadUciAdultDataset() => + DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/f0e639af5ffdc839aae8e65d19b5a9a1f0db634a/test/data/adult.tiny.with-schema.txt", "uciadult.dataset"); + + private static string DownloadIfNotExists(string baseGitPath, string dataFile) + { + // if file doesn't already exist, download it + if(!File.Exists(dataFile)) + { + using (var client = new WebClient()) + { + client.DownloadFile(new Uri($"{baseGitPath}"), dataFile); + } + } + + return dataFile; + } + } +} diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs new file mode 100644 index 0000000000..6579399439 --- /dev/null +++ b/src/Test/GetNextPipelineTests.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.ML.Data; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Newtonsoft.Json; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class GetNextPipelineTests + { + [Ignore] + [TestMethod] + public void GetNextPipeline() + { + var context = new MLContext(); + + var uciAdult = DatasetUtil.GetUciAdultDataView(); + + // get trainers & transforms + var transforms = TransformInferenceApi.InferTransforms(context, uciAdult, DatasetUtil.UciAdultLabel); + var availableTrainers = RecipeInference.AllowedTrainers(context, TaskKind.BinaryClassification, 4); + + // get next pipeline loop + var history = new List(); + for (var i = 0; i < 2; i++) + { + // get next pipeline + var pipeline = PipelineSuggester.GetNextPipeline(history, transforms, availableTrainers); + var serialized = JsonConvert.SerializeObject(pipeline); + var deserialized = JsonConvert.DeserializeObject(serialized); + + // run pipeline + var estimator = deserialized.ToEstimator(); + var scoredData = estimator.Fit(uciAdult).Transform(uciAdult); + var score = context.BinaryClassification.EvaluateNonCalibrated(scoredData).Accuracy; + var result = new PipelineRunResult(deserialized, score, true); + + history.Add(result); + } + + Assert.AreEqual(2, history.Count); + } + } +} From ae423a94c69ff628a55ff29b8c8f9a989e4680df Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Tue, 22 Jan 2019 16:51:20 -0800 Subject: [PATCH 021/211] get next pipeline API rev -- refactor API to consume column dimensions, purpose, type, and name instead of available trainers & transforms (#19) --- src/AutoML/API/MLContextAutoFitExtensions.cs | 15 -- src/AutoML/API/Pipeline.cs | 20 +- src/AutoML/AutoFitter/AutoFitter.cs | 18 +- src/AutoML/AutoFitter/InferredPipeline.cs | 6 +- src/AutoML/AutoMlUtils.cs | 16 ++ .../DatasetDimensions/ColumnDimensions.cs | 14 ++ .../DatasetDimensions/DatasetDimensionsApi.cs | 45 ++++ .../DatasetDimensionsUtil.cs | 62 ++++++ .../PipelineSuggesters/PipelineSuggester.cs | 21 +- .../PipelineSuggesterApi.cs | 18 -- .../TransformInference/TransformInference.cs | 204 +++--------------- .../TransformInferenceApi.cs | 8 +- src/AutoML/Utils/DataViewUtils.cs | 36 ---- src/Test/GetNextPipelineTests.cs | 15 +- 14 files changed, 205 insertions(+), 293 deletions(-) create mode 100644 src/AutoML/DatasetDimensions/ColumnDimensions.cs create mode 100644 src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs create mode 100644 src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs delete mode 100644 src/AutoML/PipelineSuggesters/PipelineSuggesterApi.cs delete mode 100644 src/AutoML/Utils/DataViewUtils.cs diff --git a/src/AutoML/API/MLContextAutoFitExtensions.cs b/src/AutoML/API/MLContextAutoFitExtensions.cs index b5667537b5..d28f72537b 100644 --- a/src/AutoML/API/MLContextAutoFitExtensions.cs +++ b/src/AutoML/API/MLContextAutoFitExtensions.cs @@ -47,11 +47,6 @@ internal static RegressionResult AutoFit(this RegressionContext context, var bestResult = new RegressionIterationResult(bestPipeline.Model, (RegressionMetrics)bestPipeline.EvaluatedMetrics, bestPipeline.ScoredValidationData, bestPipeline.Pipeline.ToPipeline()); return new RegressionResult(bestResult, results); } - - public static Pipeline GetPipeline(this RegressionContext context, IDataView dataView, string label) - { - return PipelineSuggesterApi.GetPipeline(TaskKind.Regression, dataView, label); - } } public static class BinaryClassificationExtensions @@ -96,11 +91,6 @@ internal static BinaryClassificationResult AutoFit(this BinaryClassificationCont var bestResult = new BinaryClassificationItertionResult(bestPipeline.Model, (BinaryClassificationMetrics)bestPipeline.EvaluatedMetrics, bestPipeline.ScoredValidationData, bestPipeline.Pipeline.ToPipeline()); return new BinaryClassificationResult(bestResult, results); } - - public static Pipeline GetPipeline(this BinaryClassificationContext context, IDataView dataView, string label) - { - return PipelineSuggesterApi.GetPipeline(TaskKind.BinaryClassification, dataView, label); - } } public static class MulticlassExtensions @@ -144,11 +134,6 @@ internal static MulticlassClassificationResult AutoFit(this MulticlassClassifica var bestResult = new MulticlassClassificationIterationResult(bestPipeline.Model, (MultiClassClassifierMetrics)bestPipeline.EvaluatedMetrics, bestPipeline.ScoredValidationData, bestPipeline.Pipeline.ToPipeline()); return new MulticlassClassificationResult(bestResult, results); } - - public static Pipeline GetPipeline(this MulticlassClassificationContext context, IDataView dataView, string label) - { - return PipelineSuggesterApi.GetPipeline(TaskKind.MulticlassClassification, dataView, label); - } } public class BinaryClassificationResult diff --git a/src/AutoML/API/Pipeline.cs b/src/AutoML/API/Pipeline.cs index eb2d05c2d7..e4097fa5fd 100644 --- a/src/AutoML/API/Pipeline.cs +++ b/src/AutoML/API/Pipeline.cs @@ -5,11 +5,11 @@ namespace Microsoft.ML.Auto { public class Pipeline { - public PipelineNode[] Elements { get; set; } + public PipelineNode[] Nodes { get; set; } - public Pipeline(PipelineNode[] elements) + public Pipeline(PipelineNode[] nodes) { - Elements = elements; + Nodes = nodes; } // (used by Newtonsoft) @@ -27,31 +27,31 @@ public IEstimator ToEstimator() public class PipelineNode { public string Name { get; set; } - public PipelineNodeType ElementType { get; set; } + public PipelineNodeType NodeType { get; set; } public string[] InColumns { get; set; } public string[] OutColumns { get; set; } public IDictionary Properties { get; set; } - public PipelineNode(string name, PipelineNodeType elementType, + public PipelineNode(string name, PipelineNodeType nodeType, string[] inColumns, string[] outColumns, IDictionary properties = null) { Name = name; - ElementType = elementType; + NodeType = nodeType; InColumns = inColumns; OutColumns = outColumns; Properties = properties ?? new Dictionary(); } - public PipelineNode(string name, PipelineNodeType elementType, + public PipelineNode(string name, PipelineNodeType nodeType, string inColumn, string outColumn, IDictionary properties = null) : - this(name, elementType, new string[] { inColumn }, new string[] { outColumn }, properties) + this(name, nodeType, new string[] { inColumn }, new string[] { outColumn }, properties) { } - public PipelineNode(string name, PipelineNodeType elementType, + public PipelineNode(string name, PipelineNodeType nodeType, string[] inColumns, string outColumn, IDictionary properties = null) : - this(name, elementType, inColumns, new string[] { outColumn }, properties) + this(name, nodeType, inColumns, new string[] { outColumn }, properties) { } diff --git a/src/AutoML/AutoFitter/AutoFitter.cs b/src/AutoML/AutoFitter/AutoFitter.cs index f26f98660c..689e8c3095 100644 --- a/src/AutoML/AutoFitter/AutoFitter.cs +++ b/src/AutoML/AutoFitter/AutoFitter.cs @@ -16,7 +16,7 @@ internal class AutoFitter private readonly IDebugLogger _debugLogger; private readonly IList _history; private readonly string _label; - private readonly MLContext _mlContext; + private readonly MLContext _context; private readonly OptimizingMetricInfo _optimizingMetricInfo; private readonly IDictionary _purposeOverrides; private readonly AutoFitSettings _settings; @@ -24,14 +24,14 @@ internal class AutoFitter private readonly TaskKind _task; private readonly IDataView _validationData; - public AutoFitter(MLContext mlContext, OptimizingMetricInfo metricInfo, AutoFitSettings settings, + public AutoFitter(MLContext context, OptimizingMetricInfo metricInfo, AutoFitSettings settings, TaskKind task, string label, IDataView trainData, IDataView validationData, IDictionary purposeOverrides, IDebugLogger debugLogger) { _debugLogger = debugLogger; _history = new List(); _label = label; - _mlContext = mlContext; + _context = context; _optimizingMetricInfo = metricInfo; _settings = settings ?? new AutoFitSettings(); _purposeOverrides = purposeOverrides; @@ -49,13 +49,13 @@ public InferredPipelineRunResult[] Fit() private void IteratePipelinesAndFit() { var stopwatch = Stopwatch.StartNew(); - var transforms = TransformInferenceApi.InferTransforms(_mlContext, _trainData, _label, _purposeOverrides); - var availableTrainers = RecipeInference.AllowedTrainers(_mlContext, _task, _settings.StoppingCriteria.MaxIterations); + var columns = AutoMlUtils.GetColumnInfoTuples(_context, _trainData, _label, _purposeOverrides); do { // get next pipeline - var pipeline = PipelineSuggester.GetNextInferredPipeline(_history, transforms, availableTrainers, _optimizingMetricInfo.IsMaximizing); + var iterationsRemaining = _settings.StoppingCriteria.MaxIterations - _history.Count; + var pipeline = PipelineSuggester.GetNextInferredPipeline(_history, columns, _task, iterationsRemaining, _optimizingMetricInfo.IsMaximizing); // break if no candidates returned, means no valid pipeline available if (pipeline == null) @@ -113,11 +113,11 @@ private object GetEvaluatedMetrics(IDataView scoredData) switch(_task) { case TaskKind.BinaryClassification: - return _mlContext.BinaryClassification.EvaluateNonCalibrated(scoredData); + return _context.BinaryClassification.EvaluateNonCalibrated(scoredData); case TaskKind.MulticlassClassification: - return _mlContext.MulticlassClassification.Evaluate(scoredData); + return _context.MulticlassClassification.Evaluate(scoredData); case TaskKind.Regression: - return _mlContext.Regression.Evaluate(scoredData); + return _context.Regression.Evaluate(scoredData); // should not be possible to reach here default: throw new InvalidOperationException($"unsupported machine learning task type {_task}"); diff --git a/src/AutoML/AutoFitter/InferredPipeline.cs b/src/AutoML/AutoFitter/InferredPipeline.cs index 5a2325fdb1..621fc79d58 100644 --- a/src/AutoML/AutoFitter/InferredPipeline.cs +++ b/src/AutoML/AutoFitter/InferredPipeline.cs @@ -70,9 +70,9 @@ public static InferredPipeline FromPipeline(Pipeline pipeline) var transforms = new List(); SuggestedTrainer trainer = null; - foreach(var pipelineNode in pipeline.Elements) + foreach(var pipelineNode in pipeline.Nodes) { - if(pipelineNode.ElementType == PipelineNodeType.Trainer) + if(pipelineNode.NodeType == PipelineNodeType.Trainer) { var trainerName = (TrainerName)Enum.Parse(typeof(TrainerName), pipelineNode.Name); var trainerExtension = TrainerExtensionCatalog.GetTrainerExtension(trainerName); @@ -80,7 +80,7 @@ public static InferredPipeline FromPipeline(Pipeline pipeline) var hyperParamSet = new ParameterSet(stringParamVals); trainer = new SuggestedTrainer(context, trainerExtension, hyperParamSet); } - else if (pipelineNode.ElementType == PipelineNodeType.Transform) + else if (pipelineNode.NodeType == PipelineNodeType.Transform) { var estimatorName = (EstimatorName)Enum.Parse(typeof(EstimatorName), pipelineNode.Name); var estimatorExtension = EstimatorExtensionCatalog.GetExtension(estimatorName); diff --git a/src/AutoML/AutoMlUtils.cs b/src/AutoML/AutoMlUtils.cs index 4255132193..6a752c7044 100644 --- a/src/AutoML/AutoMlUtils.cs +++ b/src/AutoML/AutoMlUtils.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using System.Collections.Generic; using System.Linq; using Microsoft.ML.Data; using Microsoft.ML.Transforms; @@ -29,5 +30,20 @@ public static IDataView Take(this IDataView data, int count) var take = SkipTakeFilter.Create(env, new SkipTakeFilter.TakeArguments { Count = count }, data); return new CacheDataView(env, data, Enumerable.Range(0, data.Schema.Count).ToArray()); } + + public static (string, ColumnType, ColumnPurpose, ColumnDimensions)[] GetColumnInfoTuples(MLContext context, + IDataView data, string label, IDictionary purposeOverrides) + { + var purposes = PurposeInference.InferPurposes(context, data, label, purposeOverrides); + var colDimensions = DatasetDimensionsApi.CalcColumnDimensions(data, purposes); + var cols = new (string, ColumnType, ColumnPurpose, ColumnDimensions)[data.Schema.Count]; + for (var i = 0; i < cols.Length; i++) + { + var schemaCol = data.Schema[i]; + var col = (schemaCol.Name, schemaCol.Type, purposes[i].Purpose, colDimensions[i]); + cols[i] = col; + } + return cols; + } } } \ No newline at end of file diff --git a/src/AutoML/DatasetDimensions/ColumnDimensions.cs b/src/AutoML/DatasetDimensions/ColumnDimensions.cs new file mode 100644 index 0000000000..0440a66076 --- /dev/null +++ b/src/AutoML/DatasetDimensions/ColumnDimensions.cs @@ -0,0 +1,14 @@ +namespace Microsoft.ML.Auto +{ + internal class ColumnDimensions + { + public int? Cardinality; + public bool? HasMissing; + + public ColumnDimensions(int? cardinality, bool? hasMissing) + { + Cardinality = cardinality; + HasMissing = hasMissing; + } + } +} diff --git a/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs b/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs new file mode 100644 index 0000000000..a37fb2b01d --- /dev/null +++ b/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs @@ -0,0 +1,45 @@ +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal class DatasetDimensionsApi + { + private const int MaxRowsToRead = 1000; + + public static ColumnDimensions[] CalcColumnDimensions(IDataView data, PurposeInference.Column[] purposes) + { + data = data.Take(MaxRowsToRead); + + var colDimensions = new ColumnDimensions[data.Schema.Count]; + + for (var i = 0; i < data.Schema.Count; i++) + { + var column = data.Schema[i]; + var purpose = purposes[i]; + + // default column dimensions + int? cardinality = null; + bool? hasMissing = null; + + // if categorical text feature, calc cardinality + if(column.Type.ItemType().IsText() && purpose.Purpose == ColumnPurpose.CategoricalFeature) + { + cardinality = DatasetDimensionsUtil.GetTextColumnCardinality(data, i); + } + + // if numeric feature, discover missing values + // todo: upgrade logic to consider R8? + if (column.Type.ItemType() == NumberType.R4) + { + hasMissing = column.Type.IsVector() ? + DatasetDimensionsUtil.HasMissingNumericVector(data, i) : + DatasetDimensionsUtil.HasMissingNumericSingleValue(data, i); + } + + colDimensions[i] = new ColumnDimensions(cardinality, hasMissing); + } + + return colDimensions; + } + } +} diff --git a/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs b/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs new file mode 100644 index 0000000000..8503ce1eca --- /dev/null +++ b/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal static class DatasetDimensionsUtil + { + public static int GetTextColumnCardinality(IDataView data, int colIndex) + { + var seen = new HashSet(); + using (var cursor = data.GetRowCursor(x => x == colIndex)) + { + var getter = cursor.GetGetter>(colIndex); + while (cursor.MoveNext()) + { + var value = default(ReadOnlyMemory); + getter(ref value); + var valueStr = value.ToString(); + seen.Add(valueStr); + } + } + return seen.Count; + } + + public static bool HasMissingNumericSingleValue(IDataView data, int colIndex) + { + using (var cursor = data.GetRowCursor(x => x == colIndex)) + { + var getter = cursor.GetGetter(colIndex); + var value = default(Single); + while (cursor.MoveNext()) + { + getter(ref value); + if (Single.IsNaN(value)) + { + return true; + } + } + return false; + } + } + + public static bool HasMissingNumericVector(IDataView data, int colIndex) + { + using (var cursor = data.GetRowCursor(x => x == colIndex)) + { + var getter = cursor.GetGetter>(colIndex); + var value = default(VBuffer); + while (cursor.MoveNext()) + { + getter(ref value); + if (VBufferUtils.HasNaNs(value)) + { + return true; + } + } + return false; + } + } + } +} diff --git a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs index a75c9789a1..1fcbcb9c30 100644 --- a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs +++ b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.ML.Data; namespace Microsoft.ML.Auto { @@ -13,23 +14,29 @@ internal static class PipelineSuggester private const int TopKTrainers = 3; public static Pipeline GetNextPipeline(IEnumerable history, - IEnumerable transforms, - IEnumerable availableTrainers, + (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns, + TaskKind task, + int iterationsRemaining, bool isMaximizingMetric = true) { var inferredHistory = history.Select(r => InferredPipelineRunResult.FromPipelineRunResult(r)); - var nextInferredPipeline = GetNextInferredPipeline(inferredHistory, - transforms, availableTrainers, isMaximizingMetric); + var nextInferredPipeline = GetNextInferredPipeline(inferredHistory, columns, task, iterationsRemaining, isMaximizingMetric); return nextInferredPipeline.ToPipeline(); } public static InferredPipeline GetNextInferredPipeline(IEnumerable history, - IEnumerable transforms, - IEnumerable availableTrainers, + (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns, + TaskKind task, + int iterationsRemaining, bool isMaximizingMetric = true) { + var context = new MLContext(); + + var availableTrainers = RecipeInference.AllowedTrainers(context, TaskKind.BinaryClassification, history.Count() + iterationsRemaining); + var transforms = TransformInferenceApi.InferTransforms(context, columns); + // if we haven't run all pipelines once - if(history.Count() < availableTrainers.Count()) + if (history.Count() < availableTrainers.Count()) { return GetNextFirstStagePipeline(history, availableTrainers, transforms); } diff --git a/src/AutoML/PipelineSuggesters/PipelineSuggesterApi.cs b/src/AutoML/PipelineSuggesters/PipelineSuggesterApi.cs deleted file mode 100644 index 36722b84ab..0000000000 --- a/src/AutoML/PipelineSuggesters/PipelineSuggesterApi.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Linq; -using Microsoft.ML.Data; - -namespace Microsoft.ML.Auto -{ - internal class PipelineSuggesterApi - { - // local - public static Pipeline GetPipeline(TaskKind task, IDataView data, string label) - { - var mlContext = new MLContext(); - var availableTransforms = TransformInferenceApi.InferTransforms(mlContext, data, label); - var availableTrainers = RecipeInference.AllowedTrainers(mlContext, task, 1); - var pipeline = new InferredPipeline(availableTransforms, availableTrainers.First(), mlContext); - return pipeline.ToPipeline(); - } - } -} diff --git a/src/AutoML/TransformInference/TransformInference.cs b/src/AutoML/TransformInference/TransformInference.cs index 18c3b96847..4e0e270737 100644 --- a/src/AutoML/TransformInference/TransformInference.cs +++ b/src/AutoML/TransformInference/TransformInference.cs @@ -67,97 +67,21 @@ public override string ToString() /// internal static class TransformInference { - private const double EstimatedSampleFraction = 1.0; private const bool ExcludeFeaturesConcatTransforms = false; - private const int MaxRowsToRead = 1000; - internal class IntermediateColumn { - private readonly IDataView _data; - private readonly int _columnId; - private readonly ColumnPurpose _purpose; - private readonly Lazy _type; - private readonly Lazy _columnName; - private readonly Lazy _hasMissing; - - public int ColumnId { get { return _columnId; } } - public ColumnPurpose Purpose { get { return _purpose; } } - public ColumnType Type { get { return _type.Value; } } - public string ColumnName { get { return _columnName.Value; } } - public bool HasMissing { get { return _hasMissing.Value; } } - - public IntermediateColumn(IDataView data, PurposeInference.Column column) - { - _data = data; - _columnId = column.ColumnIndex; - _purpose = column.Purpose; - _type = new Lazy(() => _data.Schema[_columnId].Type); - _columnName = new Lazy(() => _data.Schema[_columnId].Name); - _hasMissing = new Lazy(() => - { - if (Type.ItemType() != NumberType.R4) - return false; - return Type.IsVector() ? HasMissingVector() : HasMissingOne(); - }); - } + public readonly string ColumnName; + public readonly ColumnType Type; + public readonly ColumnPurpose Purpose; + public readonly ColumnDimensions Dimensions; - public string GetTempColumnName(string tag = null) => _data.Schema.GetTemporaryColumnName(tag); - - private bool HasMissingOne() + public IntermediateColumn(string name, ColumnType type, ColumnPurpose purpose, ColumnDimensions dimensions) { - using (var cursor = _data.GetRowCursor(x => x == _columnId)) - { - var getter = cursor.GetGetter(_columnId); - var value = default(Single); - while (cursor.MoveNext()) - { - getter(ref value); - if (Single.IsNaN(value)) - return true; - } - return false; - } - } - - private bool HasMissingVector() - { - using (var cursor = _data.GetRowCursor(x => x == _columnId)) - { - var getter = cursor.GetGetter>(_columnId); - var value = default(VBuffer); - while (cursor.MoveNext()) - { - getter(ref value); - if (VBufferUtils.HasNaNs(value)) - return true; - } - return false; - } - } - - public void GetUniqueValueCounts(out int uniqueValueCount, out int singletonCount, out int rowCount) - { - var seen = new HashSet(); - var singletons = new HashSet(); - rowCount = 0; - using (var cursor = _data.GetRowCursor(x => x == _columnId)) - { - var getter = cursor.GetGetter(_columnId); - while (cursor.MoveNext()) - { - var value = default(T); - getter(ref value); - var s = value.ToString(); - if (seen.Add(s)) - singletons.Add(s); - else - singletons.Remove(s); - rowCount++; - } - uniqueValueCount = seen.Count; - singletonCount = singletons.Count; - } + ColumnName = name; + Type = type; + Purpose = purpose; + Dimensions = dimensions; } } @@ -245,9 +169,6 @@ private static IEnumerable GetExperts() // If there's more than one feature column, concat all into Features. If it isn't called 'Features', rename it. yield return new Experts.FeaturesColumnConcatRenameNumericOnly(); - - // For text columns, also use TextTransform with Unigram + trichar. - //yield return new Experts.TextUniGramTriGram(); } internal static class Experts @@ -308,9 +229,11 @@ public override IEnumerable Apply(IntermediateColumn[] colum foreach (var column in columns) { if (!column.Type.ItemType().IsText() || column.Purpose != ColumnPurpose.CategoricalFeature) + { continue; + } - if (IsDictionaryOk(column, EstimatedSampleFraction)) + if (column.Dimensions.Cardinality < 100) { foundCat = true; catColumnsNew.Add(column.ColumnName); @@ -340,23 +263,6 @@ public override IEnumerable Apply(IntermediateColumn[] colum IncludeFeaturesOverride = true; } } - - private bool IsDictionaryOk(IntermediateColumn column, Double dataSampleFraction) - { - if (column.Type.IsVector()) - return false; - int total; - int unique; - int singletons; - // REVIEW: replace with proper Good-Turing estimation. - // REVIEW: This looks correct; cf. equation (8) of Katz S. "Estimation of Probabilities from - // Sparse Data for the Language Model Component of a Speech Recognizer" (1987), taking into account that - // the singleton count was estimated from a fraction of the data (and assuming the estimate is - // roughly the same for the entire sample). - column.GetUniqueValueCounts>(out unique, out singletons, out total); - var expectedUnseenValues = singletons / dataSampleFraction; - return expectedUnseenValues < 1000 && unique < 10000; - } } internal sealed class Boolean : TransformInferenceExpertBase @@ -403,26 +309,6 @@ public static SuggestedTransform GetRemainingFeatures(List newCols, Inte newCols.Insert(0, DefaultColumnNames.Features); return ColumnConcatenatingExtension.CreateSuggestedTransform(new MLContext(), newCols.ToArray(), DefaultColumnNames.Features); } - - public static SuggestedTransform TextTransformUnigramTriChar(MLContext context, string srcColumn, string dstColumn) - { - //var input = new TextFeaturizingEstimator(context, srcColumn, dstColumn) - //{ - //WordFeatureExtractor = new NgramExtractorTransform.NgramExtractorArguments() { NgramLength = 1 }, - //CharFeatureExtractor = new NgramExtractorTransform.NgramExtractorArguments() { NgramLength = 3 } - //}; - return TextFeaturizingExtension.CreateSuggestedTransform(context, srcColumn, dstColumn); - } - - public static SuggestedTransform TextTransformBigramTriChar(MLContext context, string srcColumn, string dstColumn) - { - //var input = new TextFeaturizingEstimator(env, srcColumn, dstColumn) - //{ - //WordFeatureExtractor = new NgramExtractorTransform.NgramExtractorArguments() { NgramLength = 2 }, - //CharFeatureExtractor = new NgramExtractorTransform.NgramExtractorArguments() { NgramLength = 3 } - //}; - return TextFeaturizingExtension.CreateSuggestedTransform(context, srcColumn, dstColumn); - } } internal sealed class Text : TransformInferenceExpertBase @@ -454,50 +340,6 @@ public override IEnumerable Apply(IntermediateColumn[] colum } } - internal sealed class TextUniGramTriGram : TransformInferenceExpertBase - { - public override IEnumerable Apply(IntermediateColumn[] columns) - { - var textColumnNames = - columns.Where( - column => column.Type.ItemType().IsText() && column.Purpose == ColumnPurpose.TextFeature) - .Select(column => column.ColumnName).ToArray(); - - if ((textColumnNames.Length == 0) || - (columns.Count(col => col.Purpose == ColumnPurpose.Label) != 1)) - yield break; - - //Concat text columns into one. - string concatTextColumnName; - if (textColumnNames.Length > 1) - { - concatTextColumnName = columns[0].GetTempColumnName("TextConcat"); - yield return ColumnConcatenatingExtension.CreateSuggestedTransform(Context, textColumnNames, concatTextColumnName); - } - else - { - concatTextColumnName = textColumnNames.First(); - } - - //Get Unigram + Trichar for text transform on the concatenated text column. - string featureTextColumn = columns[0].GetTempColumnName("FeaturesText"); - yield return InferenceHelpers.TextTransformUnigramTriChar(Context, concatTextColumnName, featureTextColumn); - - //Concat text featurized column into feature column. - List featureCols = new List(new[] { featureTextColumn }); - if (columns.Any( - col => - (col.Purpose == ColumnPurpose.NumericFeature) || - (col.Purpose == ColumnPurpose.CategoricalFeature))) - featureCols.Add(DefaultColumnNames.Features); - - if (!ExcludeFeaturesConcatTransforms) - { - yield return ColumnConcatenatingExtension.CreateSuggestedTransform(Context, featureCols.ToArray(), DefaultColumnNames.Features); - } - } - } - internal sealed class NumericMissing : TransformInferenceExpertBase { public override IEnumerable Apply(IntermediateColumn[] columns) @@ -505,13 +347,11 @@ public override IEnumerable Apply(IntermediateColumn[] colum var columnsWithMissing = new List(); foreach (var column in columns) { - if (column.Type.ItemType() != NumberType.R4 || column.Purpose != ColumnPurpose.NumericFeature - || !column.HasMissing) + if (column.Type.ItemType() == NumberType.R4 && column.Purpose == ColumnPurpose.NumericFeature + && column.Dimensions.HasMissing == true) { - continue; + columnsWithMissing.Add(column.ColumnName); } - - columnsWithMissing.Add(column.ColumnName); } if (columnsWithMissing.Any()) { @@ -628,16 +468,22 @@ public override IEnumerable Apply(IntermediateColumn[] colum /// /// Automatically infer transforms for the data view /// - public static SuggestedTransform[] InferTransforms(MLContext env, IDataView data, PurposeInference.Column[] purposes) + public static SuggestedTransform[] InferTransforms(MLContext env, (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns) { - data = data.Take(MaxRowsToRead); - var cols = purposes.Where(x => !data.Schema[x.ColumnIndex].IsHidden).Select(x => new IntermediateColumn(data, x)).ToArray(); + var intermediateCols = new IntermediateColumn[columns.Length]; + for (var i = 0; i < columns.Length; i++) + { + var column = columns[i]; + var intermediateCol = new IntermediateColumn(column.Item1, column.Item2, column.Item3, column.Item4); + intermediateCols[i] = intermediateCol; + } + var list = new List(); var includeFeaturesOverride = false; foreach (var expert in GetExperts()) { expert.IncludeFeaturesOverride = includeFeaturesOverride; - SuggestedTransform[] suggestions = expert.Apply(cols).ToArray(); + SuggestedTransform[] suggestions = expert.Apply(intermediateCols).ToArray(); includeFeaturesOverride |= expert.IncludeFeaturesOverride; list.AddRange(suggestions); diff --git a/src/AutoML/TransformInference/TransformInferenceApi.cs b/src/AutoML/TransformInference/TransformInferenceApi.cs index 333297890d..37b5af2dba 100644 --- a/src/AutoML/TransformInference/TransformInferenceApi.cs +++ b/src/AutoML/TransformInference/TransformInferenceApi.cs @@ -5,13 +5,9 @@ namespace Microsoft.ML.Auto { internal static class TransformInferenceApi { - public static IEnumerable InferTransforms(MLContext context, IDataView data, string label, - IDictionary purposeOverrides = null) + public static IEnumerable InferTransforms(MLContext context, (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns) { - // infer column purposes - var purposes = PurposeInference.InferPurposes(context, data, label, purposeOverrides); - - return TransformInference.InferTransforms(context, data, purposes); + return TransformInference.InferTransforms(context, columns); } } } diff --git a/src/AutoML/Utils/DataViewUtils.cs b/src/AutoML/Utils/DataViewUtils.cs deleted file mode 100644 index a5d4dc6d5e..0000000000 --- a/src/AutoML/Utils/DataViewUtils.cs +++ /dev/null @@ -1,36 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.ML.Data; - -namespace Microsoft.ML.Auto -{ - internal static class DataViewUtils - { - /// - /// Generate a unique temporary column name for the given schema. - /// Use tag to independently create multiple temporary, unique column - /// names for a single transform. - /// - public static string GetTemporaryColumnName(this Schema schema, string tag = null) - { - if (!string.IsNullOrWhiteSpace(tag) && schema.GetColumnOrNull(tag) == null) - { - return tag; - } - - for (int i = 0; ; i++) - { - string name = string.IsNullOrWhiteSpace(tag) ? - string.Format("temp_{0:000}", i) : - string.Format("temp_{0}_{1:000}", tag, i); - - if (schema.GetColumnOrNull(name) == null) - { - return name; - } - } - } - } -} \ No newline at end of file diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs index 6579399439..f875ac3fa1 100644 --- a/src/Test/GetNextPipelineTests.cs +++ b/src/Test/GetNextPipelineTests.cs @@ -1,7 +1,5 @@ using System; using System.Collections.Generic; -using System.Linq; -using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; using Newtonsoft.Json; @@ -10,25 +8,22 @@ namespace Microsoft.ML.Auto.Test [TestClass] public class GetNextPipelineTests { - [Ignore] [TestMethod] public void GetNextPipeline() { var context = new MLContext(); - var uciAdult = DatasetUtil.GetUciAdultDataView(); - - // get trainers & transforms - var transforms = TransformInferenceApi.InferTransforms(context, uciAdult, DatasetUtil.UciAdultLabel); - var availableTrainers = RecipeInference.AllowedTrainers(context, TaskKind.BinaryClassification, 4); + var columns = AutoMlUtils.GetColumnInfoTuples(context, uciAdult, DatasetUtil.UciAdultLabel, null); // get next pipeline loop var history = new List(); - for (var i = 0; i < 2; i++) + var maxIterations = 2; + for (var i = 0; i < maxIterations; i++) { // get next pipeline - var pipeline = PipelineSuggester.GetNextPipeline(history, transforms, availableTrainers); + var pipeline = PipelineSuggester.GetNextPipeline(history, columns, TaskKind.BinaryClassification, maxIterations - i); var serialized = JsonConvert.SerializeObject(pipeline); + Console.WriteLine(serialized); var deserialized = JsonConvert.DeserializeObject(serialized); // run pipeline From 9f49cf1abfcd7130c48dfd11375421fe79b12dfa Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Tue, 22 Jan 2019 16:59:12 -0800 Subject: [PATCH 022/211] mark get next pipeline test as ignore for now (#20) --- src/Test/GetNextPipelineTests.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs index f875ac3fa1..80e1689048 100644 --- a/src/Test/GetNextPipelineTests.cs +++ b/src/Test/GetNextPipelineTests.cs @@ -8,6 +8,7 @@ namespace Microsoft.ML.Auto.Test [TestClass] public class GetNextPipelineTests { + [Ignore] [TestMethod] public void GetNextPipeline() { From ab6930c9fd581251d713d3fe4c4cf84235967005 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Tue, 22 Jan 2019 18:24:53 -0800 Subject: [PATCH 023/211] fix dataview take util bug, add dataview skip util, add some UTs to increase code coverage (#21) * fix dataview take util bug, add dataview skip util, add some UTs to increase code coverage * add accuracy threshold on AutoFit test * add null check to best pipeline on autofit result --- src/AutoML/AutoMlUtils.cs | 14 +++-- src/Test/AutoFitTests.cs | 32 ++++++++++ src/Test/DatasetUtil.cs | 2 +- src/Test/GetNextPipelineTests.cs | 39 ++++++++---- src/Test/SweeperTests.cs | 103 ++++++++++++++++++++++--------- 5 files changed, 145 insertions(+), 45 deletions(-) create mode 100644 src/Test/AutoFitTests.cs diff --git a/src/AutoML/AutoMlUtils.cs b/src/AutoML/AutoMlUtils.cs index 6a752c7044..037c28aafd 100644 --- a/src/AutoML/AutoMlUtils.cs +++ b/src/AutoML/AutoMlUtils.cs @@ -25,10 +25,16 @@ public static void Assert(bool boolVal, string message = null) public static IDataView Take(this IDataView data, int count) { - // REVIEW: This should take an env as a parameter, not create one. - var env = new MLContext(); - var take = SkipTakeFilter.Create(env, new SkipTakeFilter.TakeArguments { Count = count }, data); - return new CacheDataView(env, data, Enumerable.Range(0, data.Schema.Count).ToArray()); + var context = new MLContext(); + var filter = SkipTakeFilter.Create(context, new SkipTakeFilter.TakeArguments { Count = count }, data); + return new CacheDataView(context, filter, Enumerable.Range(0, data.Schema.Count).ToArray()); + } + + public static IDataView Skip(this IDataView data, int count) + { + var context = new MLContext(); + var filter = SkipTakeFilter.Create(context, new SkipTakeFilter.SkipArguments { Count = count }, data); + return new CacheDataView(context, filter, Enumerable.Range(0, data.Schema.Count).ToArray()); } public static (string, ColumnType, ColumnPurpose, ColumnDimensions)[] GetColumnInfoTuples(MLContext context, diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs new file mode 100644 index 0000000000..b873978aaf --- /dev/null +++ b/src/Test/AutoFitTests.cs @@ -0,0 +1,32 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class AutoFitTests + { + [TestMethod] + public void Hello() + { + var context = new MLContext(); + var dataPath = DatasetUtil.DownloadUciAdultDataset(); + var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.UciAdultLabel, true); + var textLoader = context.Data.CreateTextReader(columnInference); + var trainData = textLoader.Read(dataPath); + var validationData = trainData.Take(100); + trainData = trainData.Skip(100); + var best = context.BinaryClassification.AutoFit(trainData, DatasetUtil.UciAdultLabel, validationData, settings: + new AutoFitSettings() + { + StoppingCriteria = new ExperimentStoppingCriteria() + { + MaxIterations = 2, + TimeOutInMinutes = 1000000000 + } + }, debugLogger: null); + + Assert.IsNotNull(best?.BestPipeline?.Model); + Assert.IsTrue(best.BestPipeline.Metrics.Accuracy > 0.80); + } + } +} diff --git a/src/Test/DatasetUtil.cs b/src/Test/DatasetUtil.cs index 627e53391c..ca3f388e88 100644 --- a/src/Test/DatasetUtil.cs +++ b/src/Test/DatasetUtil.cs @@ -22,7 +22,7 @@ public static IDataView GetUciAdultDataView() } // downloads the UCI Adult dataset from the ML.Net repo - private static string DownloadUciAdultDataset() => + public static string DownloadUciAdultDataset() => DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/f0e639af5ffdc839aae8e65d19b5a9a1f0db634a/test/data/adult.tiny.with-schema.txt", "uciadult.dataset"); private static string DownloadIfNotExists(string baseGitPath, string dataFile) diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs index 80e1689048..60bcfb2bff 100644 --- a/src/Test/GetNextPipelineTests.cs +++ b/src/Test/GetNextPipelineTests.cs @@ -8,7 +8,6 @@ namespace Microsoft.ML.Auto.Test [TestClass] public class GetNextPipelineTests { - [Ignore] [TestMethod] public void GetNextPipeline() { @@ -16,27 +15,43 @@ public void GetNextPipeline() var uciAdult = DatasetUtil.GetUciAdultDataView(); var columns = AutoMlUtils.GetColumnInfoTuples(context, uciAdult, DatasetUtil.UciAdultLabel, null); + // get next pipeline + var pipeline = PipelineSuggester.GetNextPipeline(new List(), columns, TaskKind.BinaryClassification, 5); + + // serialize & deserialize pipeline + var serialized = JsonConvert.SerializeObject(pipeline); + Console.WriteLine(serialized); + var deserialized = JsonConvert.DeserializeObject(serialized); + + // run pipeline + var estimator = deserialized.ToEstimator(); + var scoredData = estimator.Fit(uciAdult).Transform(uciAdult); + var score = context.BinaryClassification.EvaluateNonCalibrated(scoredData).Accuracy; + var result = new PipelineRunResult(deserialized, score, true); + + Assert.IsNotNull(result); + } + + [TestMethod] + public void GetNextPipelineMock() + { + var context = new MLContext(); + var uciAdult = DatasetUtil.GetUciAdultDataView(); + var columns = AutoMlUtils.GetColumnInfoTuples(context, uciAdult, DatasetUtil.UciAdultLabel, null); + // get next pipeline loop var history = new List(); - var maxIterations = 2; + var maxIterations = 10; for (var i = 0; i < maxIterations; i++) { // get next pipeline var pipeline = PipelineSuggester.GetNextPipeline(history, columns, TaskKind.BinaryClassification, maxIterations - i); - var serialized = JsonConvert.SerializeObject(pipeline); - Console.WriteLine(serialized); - var deserialized = JsonConvert.DeserializeObject(serialized); - - // run pipeline - var estimator = deserialized.ToEstimator(); - var scoredData = estimator.Fit(uciAdult).Transform(uciAdult); - var score = context.BinaryClassification.EvaluateNonCalibrated(scoredData).Accuracy; - var result = new PipelineRunResult(deserialized, score, true); + var result = new PipelineRunResult(pipeline, AutoMlUtils.Random.NextDouble(), true); history.Add(result); } - Assert.AreEqual(2, history.Count); + Assert.AreEqual(maxIterations, history.Count); } } } diff --git a/src/Test/SweeperTests.cs b/src/Test/SweeperTests.cs index e4534d647f..377ae99cf5 100644 --- a/src/Test/SweeperTests.cs +++ b/src/Test/SweeperTests.cs @@ -1,7 +1,5 @@ using System; using System.Collections.Generic; -using System.IO; -using Microsoft.ML; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Microsoft.ML.Auto.Test @@ -9,48 +7,59 @@ namespace Microsoft.ML.Auto.Test [TestClass] public class SweeperTests { - [Ignore] [TestMethod] - public void Smac2ParamsTest() + public void Smac3ParamsTest() { + var numInitialPopulation = 10; + var sweeper = new SmacSweeper(new SmacSweeper.Arguments() { SweptParameters = new INumericValueGenerator[] { - new FloatValueGenerator(new FloatParamArguments() { Name = "foo", Min = 1, Max = 5}), - new LongValueGenerator(new LongParamArguments() { Name = "bar", Min = 1, Max = 1000, LogBase = true }) + new FloatValueGenerator(new FloatParamArguments() { Name = "x1", Min = 1, Max = 1000}), + new FloatValueGenerator(new FloatParamArguments() { Name = "x2", Min = 1, Max = 1000}), + new FloatValueGenerator(new FloatParamArguments() { Name = "x3", Min = 1, Max = 1000}), }, + NumberInitialPopulation = numInitialPopulation }); - Random rand = new Random(0); List results = new List(); - int count = 0; - while (true) + RunResult bestResult = null; + for (var i = 0; i < numInitialPopulation + 1; i++) { ParameterSet[] pars = sweeper.ProposeSweeps(1, results); - if(pars == null) - { - break; - } + foreach (ParameterSet p in pars) { - float foo = 0; - long bar = 0; + float x1 = (p["x1"] as FloatParameterValue).Value; + float x2 = (p["x2"] as FloatParameterValue).Value; + float x3 = (p["x3"] as FloatParameterValue).Value; - foo = (p["foo"] as FloatParameterValue).Value; - bar = (p["bar"] as LongParameterValue).Value; + double metric = -200 * (Math.Abs(100 - x1) + + Math.Abs(300 - x2) + Math.Abs(500 - x3)); - double metric = ((5 - Math.Abs(4 - foo)) * 200) + (1001 - Math.Abs(33 - bar)) + rand.Next(1, 20); - results.Add(new RunResult(p, metric, true)); - count++; - Console.WriteLine("{0}--{1}--{2}--{3}", count, foo, bar, metric); + RunResult result = new RunResult(p, metric, true); + if (bestResult == null || bestResult.MetricValue < metric) + { + bestResult = result; + } + results.Add(result); + + Console.WriteLine($"{metric}\t{x1},{x2}"); } + } + + Console.WriteLine($"Best: {bestResult.MetricValue}"); + + Assert.IsNotNull(bestResult); + Assert.IsTrue(bestResult.MetricValue != 0); } + [Ignore] [TestMethod] - public void Smac4ParamsTest() + public void Smac4ParamsConvergenceTest() { var sweeper = new SmacSweeper(new SmacSweeper.Arguments() { @@ -61,15 +70,14 @@ public void Smac4ParamsTest() new FloatValueGenerator(new FloatParamArguments() { Name = "x4", Min = 1, Max = 1000}), }, }); - - Random rand = new Random(0); + List results = new List(); RunResult bestResult = null; for (var i = 0; i < 300; i++) { ParameterSet[] pars = sweeper.ProposeSweeps(1, results); - + // if run converged, break if (pars == null) { @@ -82,14 +90,14 @@ public void Smac4ParamsTest() float x2 = (p["x2"] as FloatParameterValue).Value; float x3 = (p["x3"] as FloatParameterValue).Value; float x4 = (p["x4"] as FloatParameterValue).Value; - + double metric = -200 * (Math.Abs(100 - x1) + Math.Abs(300 - x2) + Math.Abs(500 - x3) + - Math.Abs(700 - x4) ); + Math.Abs(700 - x4)); RunResult result = new RunResult(p, metric, true); - if(bestResult == null || bestResult.MetricValue < metric) + if (bestResult == null || bestResult.MetricValue < metric) { bestResult = result; } @@ -102,5 +110,44 @@ public void Smac4ParamsTest() Console.WriteLine($"Best: {bestResult.MetricValue}"); } + + [Ignore] + [TestMethod] + public void Smac2ParamsConvergenceTest() + { + var sweeper = new SmacSweeper(new SmacSweeper.Arguments() + { + SweptParameters = new INumericValueGenerator[] { + new FloatValueGenerator(new FloatParamArguments() { Name = "foo", Min = 1, Max = 5}), + new LongValueGenerator(new LongParamArguments() { Name = "bar", Min = 1, Max = 1000, LogBase = true }) + }, + }); + + Random rand = new Random(0); + List results = new List(); + + int count = 0; + while (true) + { + ParameterSet[] pars = sweeper.ProposeSweeps(1, results); + if(pars == null) + { + break; + } + foreach (ParameterSet p in pars) + { + float foo = 0; + long bar = 0; + + foo = (p["foo"] as FloatParameterValue).Value; + bar = (p["bar"] as LongParameterValue).Value; + + double metric = ((5 - Math.Abs(4 - foo)) * 200) + (1001 - Math.Abs(33 - bar)) + rand.Next(1, 20); + results.Add(new RunResult(p, metric, true)); + count++; + Console.WriteLine("{0}--{1}--{2}--{3}", count, foo, bar, metric); + } + } + } } } From f7e6376b39d25820aa68ee235e185bd9f03812a5 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 23 Jan 2019 16:39:49 -0800 Subject: [PATCH 024/211] unit test additions (including user input validation testing); dead code removal for code coverage (including KDO & associated utils); misc fixes & revs (#22) --- src/AutoML/ColumnInference/TextFileSample.cs | 6 +- src/AutoML/Sweepers/KdoSweeper.cs | 495 ------------------ .../Sweepers/SweeperProbabilityUtils.cs | 89 ---- src/AutoML/Utils/Conversions.cs | 59 --- src/AutoML/Utils/Stats.cs | 83 --- src/AutoML/Utils/UserInputValidationUtil.cs | 94 ++-- src/Test/AutoFitTests.cs | 2 +- src/Test/SweeperTests.cs | 10 +- src/Test/TextFileSampleTests.cs | 44 ++ src/Test/UserInputValidationTests.cs | 231 ++++++++ 10 files changed, 324 insertions(+), 789 deletions(-) delete mode 100644 src/AutoML/Sweepers/KdoSweeper.cs delete mode 100644 src/AutoML/Utils/Stats.cs create mode 100644 src/Test/TextFileSampleTests.cs create mode 100644 src/Test/UserInputValidationTests.cs diff --git a/src/AutoML/ColumnInference/TextFileSample.cs b/src/AutoML/ColumnInference/TextFileSample.cs index 1757cf5559..28b0aaf60e 100644 --- a/src/AutoML/ColumnInference/TextFileSample.cs +++ b/src/AutoML/ColumnInference/TextFileSample.cs @@ -97,7 +97,7 @@ public static TextFileSample CreateFromFullStream(Stream stream) return CreateFromHead(stream); } var fileSize = stream.Length; - + if (fileSize <= 2 * BufferSizeMb * (1 << 20)) { return CreateFromHead(stream); @@ -288,11 +288,13 @@ private static bool IsEncodingOkForSampling(byte[] buffer) break; } if (utf8) + { return true; + } if (buffer.Take(sniffLim).Any(x => x == 0)) { - // likely a UTF-16 or UTF-32 wuthout a BOM. + // likely a UTF-16 or UTF-32 without a BOM. return false; } diff --git a/src/AutoML/Sweepers/KdoSweeper.cs b/src/AutoML/Sweepers/KdoSweeper.cs deleted file mode 100644 index 710a592799..0000000000 --- a/src/AutoML/Sweepers/KdoSweeper.cs +++ /dev/null @@ -1,495 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.ML.Trainers.FastTree.Internal; -using Float = System.Single; - -namespace Microsoft.ML.Auto -{ - /// - /// Kernel Density Optimization (KDO) is a sequential model-based optimization method originally developed by George D. Montanez (me). - /// The search space consists of a unit hypercube, with one dimension per hyperparameter (it is a spatial method, so scaling the dimensions - /// to the unit hypercube is critical). The idea is that the exploration of the cube to find good values is performed by creating an approximate - /// (and biased) kernel density estimate of the space (where density corresponds to metric performance), concentrating mass in regions of better - /// performance, then drawing samples from the pdf. - /// - /// To trade off exploration versus exploitation, an fitness proportional mutation scheme is used. Uniform random points are selected during - /// initialization and during the runs (parameter controls how often). A Gaussian model is fit to the distribution of performance values, and - /// each evaluated point in the history is given a value between 0 and 1 corresponding to the CDF evaluation of its performance under the - /// Gaussian. Points with low quantile values are mutated more strongly than those with higher values, which allows the method to hone in - /// precisely when approaching really good regions. - /// - /// Categorical parameters are handled by forming a categorical distribution on possible values weighted by observed performance of each value, - /// taken independently. - /// - - internal sealed class KdoSweeper : ISweeper - { - internal sealed class Arguments - { - //[Argument(ArgumentType.Multiple | ArgumentType.Required, HelpText = "Swept parameters", ShortName = "p", SignatureType = typeof(SignatureSweeperParameter))] - public IValueGenerator[] SweptParameters; - - //[Argument(ArgumentType.AtMostOnce, HelpText = "Seed for the random number generator for the first batch sweeper", ShortName = "seed")] - public int RandomSeed; - - //[Argument(ArgumentType.LastOccurenceWins, HelpText = "If iteration point is outside parameter definitions, should it be projected?", ShortName = "project")] - public bool ProjectInBounds = true; - - //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Number of points to use for random initialization", ShortName = "nip")] - public int NumberInitialPopulation = 20; - - //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Minimum mutation spread", ShortName = "mms")] - public double MinimumMutationSpread = 0.001; - - //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Maximum length of history to retain", ShortName = "hlen")] - public int HistoryLength = 20; - - //[Argument(ArgumentType.LastOccurenceWins, HelpText = "If true, draws samples from independent Beta distributions, rather than multivariate Gaussian", ShortName = "beta")] - public bool Beta = false; - - //[Argument(ArgumentType.LastOccurenceWins, HelpText = "If true, uses simpler mutation and concentration model")] - public bool Simple = false; - - //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Proportion of trials, between 0 and 1, that are uniform random draws", ShortName = "prand")] - public double ProportionRandom = 0.05; - - //[Argument(ArgumentType.LastOccurenceWins, HelpText = "Maximum power for rescaling (the larger the number, the stronger the exploitation of good points)", ShortName = "wrp")] - public double WeightRescalingPower = 30; - - // REVIEW: this parameter should be removed as soon as we test the new method (as Prabhat Roy is currently doing 9/18/2017). It is here - // to allow him to continue to run existing tests in progress using the previous behavior, but should be removed once we're sure this new change - // doesn't degrade performance. - //[Argument(ArgumentType.LastOccurenceWins, HelpText = "(Deprecated) Use legacy discrete parameter behavior.", ShortName = "legacy", Hide = true, Visibility = ArgumentAttribute.VisibilityType.CmdLineOnly)] - public bool LegacyDpBehavior = false; - } - - private readonly ISweeper _randomSweeper; - private readonly ISweeper _redundantSweeper; - private readonly Arguments _args; - - private readonly IValueGenerator[] _sweepParameters; - private readonly SweeperProbabilityUtils _spu; - private readonly SortedSet _alreadySeenConfigs; - private readonly List _randomParamSets; - - public KdoSweeper(Arguments args) - { - _args = args; - _sweepParameters = args.SweptParameters.ToArray(); - _randomSweeper = new UniformRandomSweeper(new SweeperBase.ArgumentsBase(), _sweepParameters); - _redundantSweeper = new UniformRandomSweeper(new SweeperBase.ArgumentsBase { Retries = 0 }, _sweepParameters); - _spu = new SweeperProbabilityUtils(); - _alreadySeenConfigs = new SortedSet(new FloatArrayComparer()); - _randomParamSets = new List(); - } - - public ParameterSet[] ProposeSweeps(int maxSweeps, IEnumerable previousRuns = null) - { - int numOfCandidates = maxSweeps; - var prevRuns = previousRuns?.ToArray() ?? new IRunResult[0]; - var numSweeps = Math.Min(numOfCandidates, _args.NumberInitialPopulation - prevRuns.Length); - - // Initialization: Will enter here on first iteration and use the default (random) - // sweeper to generate initial candidates. - if (prevRuns.Length < _args.NumberInitialPopulation) - { - ParameterSet[] rcs; - int attempts = 0; - do - { - rcs = _randomSweeper.ProposeSweeps(numSweeps, prevRuns); - attempts++; - } while (rcs.Length < 1 && attempts < 100); - - // If failed to grab a new parameter set, generate random (and possibly redundant) one. - if (rcs.Length == 0) - rcs = _redundantSweeper.ProposeSweeps(numSweeps, prevRuns); - - foreach (ParameterSet ps in rcs) - _randomParamSets.Add(ps); - - return rcs; - } - - // Only retain viable runs - var viableRuns = prevRuns.Cast().Where(run => run != null && run.HasMetricValue).Cast().ToArray(); - - // Make sure we have a metric - if (viableRuns.Length == 0 && prevRuns.Length > 0) - { - // I'm not sure if this is too much detail, but it might be. - string errorMessage = $"Error: Sweep run results are missing metric values. \n\n" + - $"NOTE: Default metric of 'AUC' only viable for binary classification problems. \n" + - $"Please include an evaluator (ev) component with an appropriate metric specified for your task type.\n\n" + - "Example RSP using alternate metric (i.e., AccuracyMicro):\nrunner=Local{\n\tev=Tlc{m=AccuracyMicro}\n\tpattern={...etc...}\n}"; - throw new InvalidOperationException(errorMessage); - } - - return GenerateCandidateConfigurations(numOfCandidates, viableRuns); - } - - /// - /// REVIEW: Assumes metric is between 0.0 and 1.0. Will not work with metrics that have values outside this range. - /// - private ParameterSet[] GenerateCandidateConfigurations(int numOfCandidates, IRunResult[] previousRuns) - { - AutoMlUtils.Assert(previousRuns != null && previousRuns.Length > 1); - IRunResult[] history = previousRuns; - int totalHistoryLength = history.Length; - - // Reduce length of history if necessary. - if (history.Length > _args.HistoryLength) - history = TruncateHistory(history); - - double[] randomVals = ExtractRandomRunValues(previousRuns); - double rMean = VectorUtils.GetMean(randomVals); - // Add a small amount of variance for unlikely edge cases when all values were identical (i.e., zero variance). - // Should not happen, but adding a small variance ensures it will never cause problems if it does. - double rVar = Math.Pow(VectorUtils.GetStandardDeviation(randomVals), 2) + 1e-10; - double[] weights = HistoryToWeights(history, totalHistoryLength, rMean, rVar); - int[] parentIndicies = SampleCategoricalDist(numOfCandidates, weights); - return GenerateChildConfigurations(history, parentIndicies, weights, previousRuns, rMean, rVar); - } - - private ParameterSet[] GenerateChildConfigurations(IRunResult[] history, int[] parentIndicies, double[] weights, IRunResult[] previousRuns, double rMean, double rVar) - { - AutoMlUtils.Assert(history.Length == weights.Length && parentIndicies.Max() < history.Length); - List children = new List(); - - for (int i = 0; i < parentIndicies.Length; i++) - { - RunResult parent = (RunResult)history[parentIndicies[i]]; - children.Add(SampleChild(parent.ParameterSet, parent.MetricValue, history.Length, previousRuns, rMean, rVar, parent.IsMetricMaximizing)); - } - - return children.ToArray(); - } - - /// - /// Sample child configuration from configuration centered at parent, using fitness proportional mutation. - /// - /// Starting parent configuration (used as mean in multivariate Gaussian). - /// Numeric value indicating how good a configuration parent is. - /// Count of how many items currently in history. - /// Run history. - /// Mean metric value of previous random runs. - /// Metric value empirical variance of previous random runs. - /// Flag for if we are minimizing or maximizing values. - /// A mutated version of parent (i.e., point sampled near parent). - private ParameterSet SampleChild(ParameterSet parent, double fitness, int n, IRunResult[] previousRuns, double rMean, double rVar, bool isMetricMaximizing) - { - Float[] child = SweeperProbabilityUtils.ParameterSetAsFloatArray(_sweepParameters, parent, false); - List numericParamIndices = new List(); - List numericParamValues = new List(); - int loopCount = 0; - - // Interleave uniform random samples, according to proportion defined. - if (_spu.SampleUniform() <= _args.ProportionRandom) - { - ParameterSet ps = _randomSweeper.ProposeSweeps(1)[0]; - _randomParamSets.Add(ps); - return ps; - } - - do - { - for (int i = 0; i < _sweepParameters.Length; i++) - { - // This allows us to query possible values of this parameter. - var sweepParam = _sweepParameters[i]; - - if (sweepParam is DiscreteValueGenerator parameterDiscrete) - { - // Sample categorical parameter. - double[] categoryWeights = _args.LegacyDpBehavior - ? CategoriesToWeightsOld(parameterDiscrete, previousRuns) - : CategoriesToWeights(parameterDiscrete, previousRuns); - child[i] = SampleCategoricalDist(1, categoryWeights)[0]; - } - else - { - var parameterNumeric = sweepParam as INumericValueGenerator; - numericParamIndices.Add(i); - numericParamValues.Add(child[i]); - } - } - - if (numericParamIndices.Count > 0) - { - if (!_args.Beta) - { - // Sample point from multivariate Gaussian, centered on parent values, with mutation proportional to fitness. - double[] mu = numericParamValues.ToArray(); - double correctedVal = isMetricMaximizing - ? 1.0 - SweeperProbabilityUtils.NormalCdf(fitness, rMean, rVar) - : 1.0 - SweeperProbabilityUtils.NormalCdf(2 * rMean - fitness, rMean, rVar); - double bandwidthScale = Math.Max(_args.MinimumMutationSpread, correctedVal); - double[] stddevs = Enumerable.Repeat(_args.Simple ? 0.2 : bandwidthScale, mu.Length).ToArray(); - double[][] bandwidthMatrix = BuildBandwidthMatrix(n, stddevs); - double[] sampledPoint = SampleDiagonalCovMultivariateGaussian(1, mu, bandwidthMatrix)[0]; - for (int j = 0; j < sampledPoint.Length; j++) - child[numericParamIndices[j]] = (Float)Corral(sampledPoint[j]); - } - else - { - // If Beta flag set, sample from independent Beta distributions instead. - double alpha = 1 + 15 * fitness; - foreach (int index in numericParamIndices) - { - const double epsCutoff = 1e-10; - double eps = Math.Min(Math.Max(child[index], epsCutoff), 1 - epsCutoff); - double beta = alpha / eps - alpha; - child[index] = (Float)Stats.SampleFromBeta(alpha, beta); - } - } - } - - // Don't get stuck at local point. - loopCount++; - if (loopCount > 10) - return _randomSweeper.ProposeSweeps(1, null)[0]; - } while (_alreadySeenConfigs.Contains(child)); - - _alreadySeenConfigs.Add(child); - return SweeperProbabilityUtils.FloatArrayAsParameterSet(_sweepParameters, child, false); - } - - private double Corral(double v) - { - if (v > 1) - return 1; - return v < 0 ? 0 : v; - } - - /// - /// Creates a diagonal rule-of-thumb kernel bandwidth matrix. - /// - /// Number of items in history (just acts as a regularization parameter in KDO). - /// Array of per feature standard deviations. - /// A matrix of bandwidth values, for use in kernel density estimation. - private double[][] BuildBandwidthMatrix(int n, double[] stddevs) - { - int d = stddevs.Length; - double[][] bandwidthMatrix = new double[d][]; - double p1 = 1.0 / (d + 4); - double p2 = Math.Pow((4.0 / (d + 2)), p1); - - for (int i = 0; i < d; i++) - { - // Silverman's rule-of-thumb. - bandwidthMatrix[i] = new double[d]; - bandwidthMatrix[i][i] = p2 * stddevs[i] * Math.Pow(n, -p1); - } - - return bandwidthMatrix; - } - - /// - /// Converts a set of history into a set of weights, one for each run in the history. - /// - /// Input set of historical runs. - /// Number of total runs (history may be truncated) - /// Mean metric value of previous random runs. - /// Metric value empirical variance of previous random runs. - /// Array of weights. - private double[] HistoryToWeights(IRunResult[] history, int n, double rMean, double rVar) - { - // Extract weights and normalize. - double[] weights = new double[history.Length]; - - for (int i = 0; i < history.Length; i++) - weights[i] = (double)history[i].MetricValue; - - // Fitness proportional scaling constant. - bool isMinimizing = history.Length > 0 && !history[0].IsMetricMaximizing; - double currentMaxPerf = isMinimizing ? SweeperProbabilityUtils.NormalCdf(2 * rMean - weights.Min(), rMean, rVar) : SweeperProbabilityUtils.NormalCdf(weights.Max(), rMean, rVar); - - // Normalize weights to sum to one. Automatically Takes care of case where all are equal to zero. - weights = isMinimizing ? SweeperProbabilityUtils.InverseNormalize(weights) : SweeperProbabilityUtils.Normalize(weights); - - // Scale weights. (Concentrates mass on good points, depending on how good the best currently is.) - for (int i = 0; i < weights.Length; i++) - weights[i] = _args.Simple ? Math.Pow(weights[i], Math.Min(Math.Sqrt(n), 100)) : Math.Pow(weights[i], _args.WeightRescalingPower * currentMaxPerf); - - weights = SweeperProbabilityUtils.Normalize(weights); - - return weights; - } - - private double[] ExtractRandomRunValues(IEnumerable previousRuns) - { - return (from RunResult r in previousRuns where _randomParamSets.Contains(r.ParameterSet) select r.MetricValue).ToArray(); - } - - /// - /// New version of CategoryToWeights method, which fixes an issue where we could - /// potentially assign a lot of mass to bad categories. - /// - private double[] CategoriesToWeights(DiscreteValueGenerator param, IRunResult[] previousRuns) - { - double[] weights = new double[param.Count]; - Dictionary labelToIndex = new Dictionary(); - int[] counts = new int[param.Count]; - - // Map categorical values to their index. - for (int j = 0; j < param.Count; j++) - labelToIndex[param[j].ValueText] = j; - - // Add mass according to performance - bool isMaximizing = true; - foreach (RunResult r in previousRuns) - { - weights[labelToIndex[r.ParameterSet[param.Name].ValueText]] += r.MetricValue; - counts[labelToIndex[r.ParameterSet[param.Name].ValueText]]++; - isMaximizing = r.IsMetricMaximizing; - } - - // Take average mass for each category - for (int i = 0; i < weights.Length; i++) - weights[i] /= (counts[i] > 0 ? counts[i] : 1); - - // If any learner has not been seen, default its average to - // best value to encourage exploration of untried algorithms. - double bestVal = isMaximizing ? - previousRuns.Cast().Where(r => r.HasMetricValue).Max(r => r.MetricValue) : - previousRuns.Cast().Where(r => r.HasMetricValue).Min(r => r.MetricValue); - for (int i = 0; i < weights.Length; i++) - weights[i] += counts[i] == 0 ? bestVal : 0; - - // Normalize weights to sum to one and return - return isMaximizing ? SweeperProbabilityUtils.Normalize(weights) : SweeperProbabilityUtils.InverseNormalize(weights); - } - - /// - /// REVIEW: This was the original CategoriesToWeights function. Should be deprecated once we can validate the new function works - /// better. It contains a subtle issue, such that categories with poor performance but which are seen a lot will have - /// high weight. New function addresses this issue, while also improving exploration capability of algorithm. - /// - /// - /// - /// - private double[] CategoriesToWeightsOld(DiscreteValueGenerator param, IEnumerable previousRuns) - { - double[] weights = new double[param.Count]; - Dictionary labelToIndex = new Dictionary(); - - // Map categorical values to their index. - for (int j = 0; j < param.Count; j++) - labelToIndex[param[j].ValueText] = j; - - // Add pseudo-observations, to account for unobserved parameter settings. - for (int i = 0; i < weights.Length; i++) - weights[i] = 0.1; - - // Sum up the results for each category value. - bool isMaximizing = true; - foreach (RunResult r in previousRuns) - { - weights[labelToIndex[r.ParameterSet[param.Name].ValueText]] += r.MetricValue; - isMaximizing = r.IsMetricMaximizing; - } - - // Normalize weights to sum to one and return - return isMaximizing ? SweeperProbabilityUtils.Normalize(weights) : SweeperProbabilityUtils.InverseNormalize(weights); - } - - /// - /// Keep only the top K results from the history. - /// - /// set of all history. - /// The best K points contained in the history. - private IRunResult[] TruncateHistory(IRunResult[] history) - { - SortedSet bestK = new SortedSet(); - - foreach (RunResult r in history) - { - RunResult worst = bestK.Min(); - - if (bestK.Count < _args.HistoryLength || r.CompareTo(worst) > 0) - bestK.Add(r); - - if (bestK.Count > _args.HistoryLength) - bestK.Remove(worst); - } - - return bestK.ToArray(); - } - - private int[] SampleCategoricalDist(int numSamples, double[] weights) - { - AutoMlUtils.Assert(weights != null && weights.Any()); - AutoMlUtils.Assert(weights.Sum() > 0); - return _spu.SampleCategoricalDistribution(numSamples, weights); - } - - private double[][] SampleDiagonalCovMultivariateGaussian(int numRVs, double[] mu, double[][] diagonalCovariance) - { - // Perform checks to ensure covariance has correct form (square diagonal with dimension d). - int d = mu.Length; - AutoMlUtils.Assert(d > 0 && diagonalCovariance.Length == d); - for (int i = 0; i < d; i++) - { - AutoMlUtils.Assert(diagonalCovariance[i].Length == d); - for (int j = 0; j < d; j++) - { - AutoMlUtils.Assert((i == j && diagonalCovariance[i][j] >= 0) || diagonalCovariance[i][j] == 0); - } - } - - // Create transform matrix - double[][] a = new double[d][]; - for (int i = 0; i < d; i++) - { - a[i] = new double[d]; - for (int j = 0; j < d; j++) - a[i][j] = i + j == d - 1 ? Math.Sqrt(diagonalCovariance[i][i]) : 0; - } - - // Sample points - double[][] points = new double[numRVs][]; - for (int i = 0; i < points.Length; i++) - { - // Generate vector of independent standard normal RVs. - points[i] = VectorTransformAdd(mu, _spu.NormalRVs(mu.Length, 0, 1), a); - } - - return points; - } - - private double[] VectorTransformAdd(double[] m, double[] z, double[][] a) - { - int d = m.Length; - double[] result = new double[d]; - for (int i = 0; i < d; i++) - { - result[i] = m[i]; - for (int j = 0; j < d; j++) - result[i] += a[i][j] * z[j]; - } - return result; - } - - private sealed class FloatArrayComparer : IComparer - { - public int Compare(Float[] x, Float[] y) - { - if (x.Length != y.Length) - return x.Length > y.Length ? 1 : -1; - - for (int i = 0; i < x.Length; i++) - { - if (x[i] != y[i]) - return 1; - } - - return 0; - } - } - } -} diff --git a/src/AutoML/Sweepers/SweeperProbabilityUtils.cs b/src/AutoML/Sweepers/SweeperProbabilityUtils.cs index 474e0c9499..a45ae8473b 100644 --- a/src/AutoML/Sweepers/SweeperProbabilityUtils.cs +++ b/src/AutoML/Sweepers/SweeperProbabilityUtils.cs @@ -10,26 +10,6 @@ namespace Microsoft.ML.Auto { internal sealed class SweeperProbabilityUtils { - public SweeperProbabilityUtils() - { - } - - public static double Sum(double[] a) - { - double total = 0; - foreach (double d in a) - total += d; - return total; - } - - public static double NormalCdf(double x, double mean, double variance) - { - double centered = x - mean; - double ztrans = centered / (Math.Sqrt(variance) * Math.Sqrt(2)); - - return 0.5 * (1 + ProbabilityFunctions.Erf(ztrans)); - } - public static double StdNormalPdf(double x) { return 1 / Math.Sqrt(2 * Math.PI) * Math.Exp(-Math.Pow(x, 2) / 2); @@ -63,45 +43,6 @@ public double[] NormalRVs(int numRVs, double mu, double sigma) return rvs.ToArray(); } - /// - /// This performs (slow) roulette-wheel sampling of a categorical distribution. Should be swapped for other - /// method as soon as one is available. - /// - /// Number of samples to draw. - /// Weights for distribution (should sum to 1). - /// A set of indicies indicating which element was chosen for each sample. - public int[] SampleCategoricalDistribution(int numSamples, double[] weights) - { - // Normalize weights if necessary. - double total = Sum(weights); - if (Math.Abs(1.0 - total) > 0.0001) - weights = Normalize(weights); - - // Build roulette wheel. - double[] rw = new double[weights.Length]; - double cs = 0.0; - for (int i = 0; i < weights.Length; i++) - { - cs += weights[i]; - rw[i] = cs; - } - - // Draw samples. - int[] results = new int[numSamples]; - for (int i = 0; i < results.Length; i++) - { - double u = AutoMlUtils.Random.NextDouble(); - results[i] = BinarySearch(rw, u, 0, rw.Length - 1); - } - - return results; - } - - public double SampleUniform() - { - return AutoMlUtils.Random.NextDouble(); - } - /// /// Simple binary search method for finding smallest index in array where value /// meets or exceeds what you're looking for. @@ -120,36 +61,6 @@ private int BinarySearch(double[] a, double u, int low, int high) return a[mid] >= u ? BinarySearch(a, u, low, mid) : BinarySearch(a, u, mid, high); } - public static double[] Normalize(double[] weights) - { - double total = Sum(weights); - - // If all weights equal zero, set to 1 (to avoid divide by zero). - if (total <= Double.Epsilon) - { - Console.WriteLine($"{total} {Double.Epsilon}"); - for(var i = 0; i < weights.Length; i++) - { - weights[i] = 1; - } - total = weights.Length; - } - - for (int i = 0; i < weights.Length; i++) - weights[i] /= total; - return weights; - } - - public static double[] InverseNormalize(double[] weights) - { - weights = Normalize(weights); - - for (int i = 0; i < weights.Length; i++) - weights[i] = 1 - weights[i]; - - return Normalize(weights); - } - public static Float[] ParameterSetAsFloatArray(IValueGenerator[] sweepParams, ParameterSet ps, bool expandCategoricals = true) { AutoMlUtils.Assert(ps.Count == sweepParams.Length); diff --git a/src/AutoML/Utils/Conversions.cs b/src/AutoML/Utils/Conversions.cs index 77e03e1272..ad3ace1b43 100644 --- a/src/AutoML/Utils/Conversions.cs +++ b/src/AutoML/Utils/Conversions.cs @@ -16,21 +16,6 @@ namespace Microsoft.ML.Auto internal static class Conversions { - /// - /// This produces zero for empty. It returns false if the text is not parsable or overflows. - /// - public static bool TryParse(in TX src, out U1 dst) - { - ulong res; - if (!TryParse(in src, out res) || res > U1.MaxValue) - { - dst = 0; - return false; - } - dst = (U1)res; - return true; - } - /// /// This produces zero for empty. It returns false if the text is not parsable. /// On failure, it sets dst to the NA value. @@ -207,49 +192,5 @@ public static bool TryParse(in TX src, out BL dst) dst = false; return false; } - - /// - /// This produces zero for empty. It returns false if the text is not parsable or overflows. - /// - public static bool TryParse(in TX src, out U8 dst) - { - if (src.IsEmpty) - { - dst = 0; - return false; - } - - return TryParseCore(src.Span, out dst); - } - - private static bool TryParseCore(ReadOnlySpan span, out ulong dst) - { - ulong res = 0; - int ich = 0; - while (ich < span.Length) - { - uint d = (uint)span[ich++] - (uint)'0'; - if (d >= 10) - goto LFail; - - // If any of the top three bits of prev are set, we're guaranteed to overflow. - if ((res & 0xE000000000000000UL) != 0) - goto LFail; - - // Given that tmp = 8 * res doesn't overflow, if 10 * res + d overflows, then it overflows to - // 10 * res + d - 2^n = tmp + (2 * res + d - 2^n). Clearly the paren group is negative, - // so the new result (after overflow) will be less than tmp. The converse is also true. - ulong tmp = res << 3; - res = tmp + (res << 1) + d; - if (res < tmp) - goto LFail; - } - dst = res; - return true; - - LFail: - dst = 0; - return false; - } } } diff --git a/src/AutoML/Utils/Stats.cs b/src/AutoML/Utils/Stats.cs deleted file mode 100644 index 7f231ddf5b..0000000000 --- a/src/AutoML/Utils/Stats.cs +++ /dev/null @@ -1,83 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; - -namespace Microsoft.ML.Auto -{ - internal static class Stats - { - /// - /// Generates a beta-distributed random variable - /// - /// first parameter - /// second parameter - /// Sample from distribution - public static double SampleFromBeta(double alpha1, double alpha2) - { - double gamma1 = SampleFromGamma(alpha1); - double gamma2 = SampleFromGamma(alpha2); - return gamma1 / (gamma1 + gamma2); - } - - /// - /// Returns a sample from the gamma distribution with scale parameter 1, shape parameter alpha - /// - /// Shape parameter - /// Sample from gamma distribution - /// Uses Marsaglia and Tsang's fast algorithm - public static double SampleFromGamma(double alpha) - { - //Contracts.CheckParam(alpha > 0, nameof(alpha), "alpha must be positive"); - - if (alpha < 1) - return SampleFromGamma(alpha + 1) * Math.Pow(AutoMlUtils.Random.NextDouble(), 1.0 / alpha); - - double d = alpha - 1.0 / 3; - double c = 1 / Math.Sqrt(9 * d); - double x; - double u; - double v; - while (true) - { - do - { - x = SampleFromGaussian(); - v = Math.Pow(1.0 + c * x, 3); - } while (v <= 0); - u = AutoMlUtils.Random.NextDouble(); - double xSqr = x * x; - if (u < 1.0 - 0.0331 * xSqr * xSqr || - Math.Log(u) < 0.5 * xSqr + d * (1.0 - v + Math.Log(v))) - { - return d * v; - } - } - } - - /// - /// Returns a number sampled from a zero-mean, unit variance Gaussian - /// - /// a sample - /// uses Joseph L. Leva's algorithm from "A fast normal random number generator", 1992 - public static double SampleFromGaussian() - { - double u; - double v; - double q; - do - { - u = AutoMlUtils.Random.NextDouble(); - v = _vScale * (AutoMlUtils.Random.NextDouble() - 0.5); - double x = u - 0.449871; - double y = Math.Abs(v) + 0.386595; - q = x * x + y * (0.19600 * y - 0.25472 * x); - } while (q > 0.27597 && (q > 0.27846 || v * v > -4 * u * u * Math.Log(u))); - - return v / u; - } - - private static double _vScale = 2 * Math.Sqrt(2 / Math.E); - } -} diff --git a/src/AutoML/Utils/UserInputValidationUtil.cs b/src/AutoML/Utils/UserInputValidationUtil.cs index a6d11e5c2e..64d0d99d26 100644 --- a/src/AutoML/Utils/UserInputValidationUtil.cs +++ b/src/AutoML/Utils/UserInputValidationUtil.cs @@ -12,18 +12,12 @@ public static void ValidateAutoFitArgs(IDataView trainData, string label, IDataV AutoFitSettings settings, IEnumerable<(string, ColumnPurpose)> purposeOverrides) { ValidateTrainData(trainData); - ValidateLabel(trainData, validationData, label); ValidateValidationData(trainData, validationData); + ValidateLabel(trainData, validationData, label); ValidateSettings(settings); ValidatePurposeOverrides(trainData, validationData, label, purposeOverrides); } - public static void ValidateInferTransformArgs(IDataView data, string label) - { - ValidateTrainData(data); - ValidateLabel(data, null, label); - } - public static void ValidateInferColumnsArgs(string path, string label) { ValidateLabel(label); @@ -36,36 +30,31 @@ public static void ValidateAutoReadArgs(string path, string label) ValidatePath(path); } - public static void ValidateAutoReadArgs(IMultiStreamSource source, string label) + public static void ValidateCreateTextReaderArgs(ColumnInferenceResult columnInferenceResult) { - ValidateLabel(label); - - if(source == null) - { - throw new ArgumentNullException(nameof(source), $"Source parameter cannot be null"); - } - - if(source.Count < 0) + if(columnInferenceResult == null) { - throw new ArgumentException(nameof(source), $"Multistream source cannot be empty"); + throw new ArgumentNullException($"Column inference result cannot be null", nameof(columnInferenceResult)); } - } - public static void ValidateCreateTextReaderArgs(ColumnInferenceResult columnInferenceResult) - { - if(columnInferenceResult == null) + if (string.IsNullOrEmpty(columnInferenceResult.Separator)) { - throw new ArgumentNullException(nameof(columnInferenceResult), $"Column inference result cannot be null"); + throw new ArgumentException($"Column inference result cannot have null or empty separator", nameof(columnInferenceResult)); } - if(columnInferenceResult.Columns == null || !columnInferenceResult.Columns.Any()) + if (columnInferenceResult.Columns == null || !columnInferenceResult.Columns.Any()) { - throw new ArgumentException(nameof(columnInferenceResult), $"Column inference result must contain at least one column"); + throw new ArgumentException($"Column inference result must contain at least one column", nameof(columnInferenceResult)); } if(columnInferenceResult.Columns.Any(c => c.Item1 == null)) { - throw new ArgumentException(nameof(columnInferenceResult), $"Column inference result cannot contain null columns"); + throw new ArgumentException($"Column inference result cannot contain null columns", nameof(columnInferenceResult)); + } + + if (columnInferenceResult.Columns.Any(c => c.Item1.Name == null || c.Item1.Type == null || c.Item1.Source == null)) + { + throw new ArgumentException($"Column inference result cannot contain a column that has a null name, type, or source", nameof(columnInferenceResult)); } } @@ -73,7 +62,7 @@ private static void ValidateTrainData(IDataView trainData) { if(trainData == null) { - throw new ArgumentNullException(nameof(trainData), "Training data cannot be null"); + throw new ArgumentNullException("Training data cannot be null", nameof(trainData)); } } @@ -83,12 +72,7 @@ private static void ValidateLabel(IDataView trainData, IDataView validationData, if(trainData.Schema.GetColumnOrNull(label) == null) { - throw new ArgumentException(nameof(label), $"Provided label column '{label}' not found in training data."); - } - - if (validationData.Schema.GetColumnOrNull(label) == null) - { - throw new ArgumentException(nameof(label), $"Provided label column '{label}' not found in validation data."); + throw new ArgumentException($"Provided label column '{label}' not found in training data.", nameof(label)); } } @@ -96,7 +80,7 @@ private static void ValidateLabel(string label) { if (label == null) { - throw new ArgumentNullException(nameof(label), "Provided label cannot be null"); + throw new ArgumentNullException("Provided label cannot be null", nameof(label)); } } @@ -104,19 +88,19 @@ private static void ValidatePath(string path) { if (path == null) { - throw new ArgumentNullException(nameof(path), "Provided path cannot be null"); + throw new ArgumentNullException("Provided path cannot be null", nameof(path)); } var fileInfo = new FileInfo(path); if (!fileInfo.Exists) { - throw new ArgumentException(nameof(path), $"File '{path}' does not exist"); + throw new ArgumentException($"File '{path}' does not exist", nameof(path)); } if (fileInfo.Length == 0) { - throw new ArgumentException(nameof(path), $"File at path '{path}' cannot be empty"); + throw new ArgumentException($"File at path '{path}' cannot be empty", nameof(path)); } } @@ -124,15 +108,15 @@ private static void ValidateValidationData(IDataView trainData, IDataView valida { if(validationData == null) { - throw new ArgumentNullException(nameof(validationData), "Validation data cannot be null"); + throw new ArgumentNullException("Validation data cannot be null", nameof(validationData)); } const string schemaMismatchError = "Training data and validation data schemas do not match."; if (trainData.Schema.Count != validationData.Schema.Count) { - throw new ArgumentException(nameof(validationData), $"{schemaMismatchError} Train data has '{trainData.Schema.Count}' columns," + - $"and validation data has '{validationData.Schema.Count}' columns."); + throw new ArgumentException($"{schemaMismatchError} Train data has '{trainData.Schema.Count}' columns," + + $"and validation data has '{validationData.Schema.Count}' columns.", nameof(validationData)); } foreach(var trainCol in trainData.Schema) @@ -140,13 +124,13 @@ private static void ValidateValidationData(IDataView trainData, IDataView valida var validCol = validationData.Schema.GetColumnOrNull(trainCol.Name); if(validCol == null) { - throw new ArgumentException(nameof(validationData), $"{schemaMismatchError} Column '{trainCol.Name}' exsits in train data, but not in validation data."); + throw new ArgumentException($"{schemaMismatchError} Column '{trainCol.Name}' exsits in train data, but not in validation data.", nameof(validationData)); } if(trainCol.Type != validCol.Value.Type) { - throw new ArgumentException(nameof(validationData), $"{schemaMismatchError} Column '{trainCol.Name}' is of type {trainCol.Type} in train data, and type " + - $"{validCol.Value.Type} in validation data."); + throw new ArgumentException($"{schemaMismatchError} Column '{trainCol.Name}' is of type {trainCol.Type} in train data, and type " + + $"{validCol.Value.Type} in validation data.", nameof(validationData)); } } } @@ -160,7 +144,7 @@ private static void ValidateSettings(AutoFitSettings settings) if(settings.StoppingCriteria.MaxIterations <= 0) { - throw new ArgumentOutOfRangeException(nameof(settings), "Max iterations must be > 0"); + throw new ArgumentOutOfRangeException("Max iterations must be > 0", nameof(settings)); } } @@ -179,34 +163,34 @@ private static void ValidatePurposeOverrides(IDataView trainData, IDataView vali if (colName == null) { - throw new ArgumentException(nameof(purposeOverrides), "Purpose override column name cannot be null."); + throw new ArgumentException("Purpose override column name cannot be null.", nameof(purposeOverrides)); } if (trainData.Schema.GetColumnOrNull(colName) == null) { - throw new ArgumentException(nameof(purposeOverride), $"Purpose override column name '{colName}' not found in training data."); - } - - if(validationData.Schema.GetColumnOrNull(colName) == null) - { - throw new ArgumentException(nameof(purposeOverride), $"Purpose override column name '{colName}' not found in validation data."); + throw new ArgumentException($"Purpose override column name '{colName}' not found in training data.", nameof(purposeOverride)); } // if column w/ purpose = 'Label' found, ensure it matches the passed-in label if(colPurpose == ColumnPurpose.Label && colName != label) { - throw new ArgumentException(nameof(purposeOverrides), $"Label column name in provided list of purposes '{colName}' must match " + - $"the label column name '{label}'"); + throw new ArgumentException($"Label column name in provided list of purposes '{colName}' must match " + + $"the label column name '{label}'", nameof(purposeOverrides)); } } // ensure all column names unique - var groups = purposeOverrides.GroupBy(p => p.Item1); - var duplicateColName = groups.FirstOrDefault(g => g.Count() > 1)?.First().Item1; + var duplicateColName = FindFirstDuplicate(purposeOverrides.Select(p => p.Item1)); if (duplicateColName != null) { - throw new ArgumentException(nameof(purposeOverrides), $"Duplicate column name '{duplicateColName}' in purpose overrides."); + throw new ArgumentException($"Duplicate column name '{duplicateColName}' in purpose overrides.", nameof(purposeOverrides)); } } + + private static string FindFirstDuplicate(IEnumerable values) + { + var groups = values.GroupBy(v => v); + return groups.FirstOrDefault(g => g.Count() > 1)?.Key; + } } } \ No newline at end of file diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index b873978aaf..fd3e40df75 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -6,7 +6,7 @@ namespace Microsoft.ML.Auto.Test public class AutoFitTests { [TestMethod] - public void Hello() + public void AutoFitTest() { var context = new MLContext(); var dataPath = DatasetUtil.DownloadUciAdultDataset(); diff --git a/src/Test/SweeperTests.cs b/src/Test/SweeperTests.cs index 377ae99cf5..f7af7ad407 100644 --- a/src/Test/SweeperTests.cs +++ b/src/Test/SweeperTests.cs @@ -14,10 +14,10 @@ public void Smac3ParamsTest() var sweeper = new SmacSweeper(new SmacSweeper.Arguments() { - SweptParameters = new INumericValueGenerator[] { + SweptParameters = new IValueGenerator[] { new FloatValueGenerator(new FloatParamArguments() { Name = "x1", Min = 1, Max = 1000}), - new FloatValueGenerator(new FloatParamArguments() { Name = "x2", Min = 1, Max = 1000}), - new FloatValueGenerator(new FloatParamArguments() { Name = "x3", Min = 1, Max = 1000}), + new LongValueGenerator(new LongParamArguments() { Name = "x2", Min = 1, Max = 1000}), + new DiscreteValueGenerator(new DiscreteParamArguments() { Name = "x3", Values = new[] { "200", "400", "600", "800" } }), }, NumberInitialPopulation = numInitialPopulation }); @@ -32,8 +32,8 @@ public void Smac3ParamsTest() foreach (ParameterSet p in pars) { float x1 = (p["x1"] as FloatParameterValue).Value; - float x2 = (p["x2"] as FloatParameterValue).Value; - float x3 = (p["x3"] as FloatParameterValue).Value; + float x2 = (p["x2"] as LongParameterValue).Value; + float x3 = float.Parse(p["x3"].ValueText); double metric = -200 * (Math.Abs(100 - x1) + Math.Abs(300 - x2) + Math.Abs(500 - x3)); diff --git a/src/Test/TextFileSampleTests.cs b/src/Test/TextFileSampleTests.cs new file mode 100644 index 0000000000..527564b7de --- /dev/null +++ b/src/Test/TextFileSampleTests.cs @@ -0,0 +1,44 @@ +using System.IO; +using System.Text; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class TextFileSampleTests + { + [TestMethod] + public void CanParseLargeRandomStream() + { + using (var stream = new MemoryStream()) + { + const int numRows = 100000; + const int rowSize = 100; + + for (var i = 0; i < numRows; i++) + { + var row = new byte[rowSize]; + AutoMlUtils.Random.NextBytes(row); + + // ensure byte array has no 0s, so text file sampler doesn't + // think file is encoded with UTF-16 or UTF-32 without a BOM + for (var k = 0; k < row.Length; k++) + { + if(row[k] == 0) + { + row[k] = 1; + } + } + stream.Write(row); + stream.Write(Encoding.UTF8.GetBytes("\r\n")); + } + + stream.Seek(0, SeekOrigin.Begin); + + var sample = TextFileSample.CreateFromFullStream(stream); + Assert.IsNotNull(sample); + Assert.IsTrue(sample.FullFileSize > 0); + } + } + } +} diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs new file mode 100644 index 0000000000..4957d4f558 --- /dev/null +++ b/src/Test/UserInputValidationTests.cs @@ -0,0 +1,231 @@ +using System; +using System.Collections.Generic; +using System.IO; +using Microsoft.ML.Data; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class UserInputValidationTests + { + [TestMethod] + [ExpectedException(typeof(ArgumentNullException))] + public void ValidateCreateTextReaderArgsNullInput() + { + UserInputValidationUtil.ValidateCreateTextReaderArgs(null); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateCreateTextReaderArgsNoColumns() + { + var input = new ColumnInferenceResult(new List<(TextLoader.Column, ColumnPurpose)>(), + false, false, "\t", false, false); + UserInputValidationUtil.ValidateCreateTextReaderArgs(input); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateCreateTextReaderArgsNullColumn() + { + var input = new ColumnInferenceResult( + new List<(TextLoader.Column, ColumnPurpose)>() { (null, ColumnPurpose.CategoricalFeature) }, + false, false, "\t", false, false); + UserInputValidationUtil.ValidateCreateTextReaderArgs(input); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateCreateTextReaderArgsColumnWithNullSoure() + { + var input = new ColumnInferenceResult( + new List<(TextLoader.Column, ColumnPurpose)>() { (new TextLoader.Column() { Name = "Column", Type = DataKind.R4 } , ColumnPurpose.CategoricalFeature) }, + false, false, "\t", false, false); + UserInputValidationUtil.ValidateCreateTextReaderArgs(input); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateCreateTextReaderArgsNullSeparator() + { + var input = new ColumnInferenceResult( + new List<(TextLoader.Column, ColumnPurpose)>() { (new TextLoader.Column("Column", DataKind.R4, 4), ColumnPurpose.CategoricalFeature) }, + false, false, null, false, false); + UserInputValidationUtil.ValidateCreateTextReaderArgs(input); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentNullException))] + public void ValidateAutoFitNullTrainData() + { + UserInputValidationUtil.ValidateAutoFitArgs(null, DatasetUtil.UciAdultLabel, + DatasetUtil.GetUciAdultDataView(), null, null); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentNullException))] + public void ValidateAutoFitArgsNullValidData() + { + UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), + DatasetUtil.UciAdultLabel, null, null, null); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentNullException))] + public void ValidateAutoFitArgsNullLabel() + { + UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), + null, DatasetUtil.GetUciAdultDataView(), null, null); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateAutoFitArgsLabelNotInTrain() + { + UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), + "Label1", DatasetUtil.GetUciAdultDataView(), null, null); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentOutOfRangeException))] + public void ValidateAutoFitArgsZeroMaxIterations() + { + UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), + DatasetUtil.UciAdultLabel, DatasetUtil.GetUciAdultDataView(), + new AutoFitSettings() { + StoppingCriteria = new ExperimentStoppingCriteria() { + MaxIterations = 0, + } + }, null); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateAutoFitArgsPurposeOverrideNullCol() + { + UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), + DatasetUtil.UciAdultLabel, DatasetUtil.GetUciAdultDataView(), + null, new List<(string, ColumnPurpose)>() + { + (null, ColumnPurpose.TextFeature) + }); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateAutoFitArgsPurposeOverrideColNotExist() + { + UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), + DatasetUtil.UciAdultLabel, DatasetUtil.GetUciAdultDataView(), + null, new List<(string, ColumnPurpose)>() + { + ("IDontExist", ColumnPurpose.TextFeature) + }); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateAutoFitArgsPurposeOverrideLabelMismatch() + { + UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), + DatasetUtil.UciAdultLabel, DatasetUtil.GetUciAdultDataView(), + null, new List<(string, ColumnPurpose)>() + { + ("Workclass", ColumnPurpose.Label) + }); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateAutoFitArgsPurposeOverrideDuplicateCol() + { + UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), + DatasetUtil.UciAdultLabel, DatasetUtil.GetUciAdultDataView(), + null, new List<(string, ColumnPurpose)>() + { + ("Workclass", ColumnPurpose.CategoricalFeature), + ("Workclass", ColumnPurpose.CategoricalFeature) + }); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateAutoFitArgsTrainValidColCountMismatch() + { + var context = new MLContext(); + + var trainDataBuilder = new ArrayDataViewBuilder(context); + trainDataBuilder.AddColumn("0", new string[] { "0" }); + trainDataBuilder.AddColumn("1", new string[] { "1" }); + var trainData = trainDataBuilder.GetDataView(); + + var validDataBuilder = new ArrayDataViewBuilder(context); + validDataBuilder.AddColumn("0", new string[] { "0" }); + var validData = validDataBuilder.GetDataView(); + + UserInputValidationUtil.ValidateAutoFitArgs(trainData, "0", validData, null, null); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateAutoFitArgsTrainValidColNamesMismatch() + { + var context = new MLContext(); + + var trainDataBuilder = new ArrayDataViewBuilder(context); + trainDataBuilder.AddColumn("0", new string[] { "0" }); + trainDataBuilder.AddColumn("1", new string[] { "1" }); + var trainData = trainDataBuilder.GetDataView(); + + var validDataBuilder = new ArrayDataViewBuilder(context); + validDataBuilder.AddColumn("0", new string[] { "0" }); + validDataBuilder.AddColumn("2", new string[] { "2" }); + var validData = validDataBuilder.GetDataView(); + + UserInputValidationUtil.ValidateAutoFitArgs(trainData, "0", validData, null, null); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateAutoFitArgsTrainValidColTypeMismatch() + { + var context = new MLContext(); + + var trainDataBuilder = new ArrayDataViewBuilder(context); + trainDataBuilder.AddColumn("0", new string[] { "0" }); + trainDataBuilder.AddColumn("1", new string[] { "1" }); + var trainData = trainDataBuilder.GetDataView(); + + var validDataBuilder = new ArrayDataViewBuilder(context); + validDataBuilder.AddColumn("0", new string[] { "0" }); + validDataBuilder.AddColumn("1", NumberType.R4, new float[] { 1 }); + var validData = validDataBuilder.GetDataView(); + + UserInputValidationUtil.ValidateAutoFitArgs(trainData, "0", validData, null, null); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentNullException))] + public void ValidateInferColumnsArgsNullPath() + { + UserInputValidationUtil.ValidateInferColumnsArgs(null, "Label"); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateInferColumnsArgsPathNotExist() + { + UserInputValidationUtil.ValidateInferColumnsArgs("idontexist", "Label"); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateInferColumnsArgsEmptyFile() + { + const string emptyFilePath = "empty"; + File.Create(emptyFilePath).Dispose(); + UserInputValidationUtil.ValidateInferColumnsArgs(emptyFilePath, "Label"); + } + } +} From 3d3567c8b47009f25de079feec8672c1533f12b5 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 23 Jan 2019 17:42:58 -0800 Subject: [PATCH 025/211] add trainer extension tests, & misc fixes (#23) --- .../MultiTrainerExtensions.cs | 6 --- .../TrainerExtensionCatalog.cs | 2 +- src/AutoML/Utils/SweepableParamAttributes.cs | 8 ---- src/Test/SweeperTests.cs | 36 +++++++++++---- src/Test/TrainerExtensionsTests.cs | 46 +++++++++++++++++++ src/Test/UserInputValidationTests.cs | 11 +++++ 6 files changed, 84 insertions(+), 25 deletions(-) create mode 100644 src/Test/TrainerExtensionsTests.cs diff --git a/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs b/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs index b9a28400ef..ac5846f81c 100644 --- a/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs +++ b/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs @@ -48,8 +48,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable GetHyperparamSweepRanges() { return SweepableParams.BuildLightGbmParams(); @@ -80,8 +78,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable GetHyperparamSweepRanges() { return SweepableParams.BuildSdcaParams(); @@ -161,8 +157,6 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable GetHyperparamSweepRanges() { return SweepableParams.BuildLogisticRegressionParams(); diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs b/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs index e8e2769453..9b2211507c 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs @@ -63,7 +63,7 @@ public static IEnumerable GetTrainers(TaskKind task, int maxI { return GetBinaryLearners(maxIterations); } - else if (task == TaskKind.BinaryClassification) + else if (task == TaskKind.MulticlassClassification) { return GetMultiLearners(maxIterations); } diff --git a/src/AutoML/Utils/SweepableParamAttributes.cs b/src/AutoML/Utils/SweepableParamAttributes.cs index 85d558791c..1ae8a5c3e5 100644 --- a/src/AutoML/Utils/SweepableParamAttributes.cs +++ b/src/AutoML/Utils/SweepableParamAttributes.cs @@ -76,14 +76,6 @@ public override void SetUsingValueText(string valueText) RawValue = i; } - public int IndexOf(object option) - { - for (int i = 0; i < Options.Length; i++) - if (option == Options[i]) - return i; - return -1; - } - private static string TranslateOption(object o) { switch (o) diff --git a/src/Test/SweeperTests.cs b/src/Test/SweeperTests.cs index f7af7ad407..5b4bb2547b 100644 --- a/src/Test/SweeperTests.cs +++ b/src/Test/SweeperTests.cs @@ -8,20 +8,35 @@ namespace Microsoft.ML.Auto.Test public class SweeperTests { [TestMethod] - public void Smac3ParamsTest() + public void SmacQuickRunTest() { var numInitialPopulation = 10; + var floatValueGenerator = new FloatValueGenerator(new FloatParamArguments() { Name = "float", Min = 1, Max = 1000 }); + var floatLogValueGenerator = new FloatValueGenerator(new FloatParamArguments() { Name = "floatLog", Min = 1, Max = 1000, LogBase = true }); + var longValueGenerator = new LongValueGenerator(new LongParamArguments() { Name = "long", Min = 1, Max = 1000 }); + var longLogValueGenerator = new LongValueGenerator(new LongParamArguments() { Name = "longLog", Min = 1, Max = 1000, LogBase = true }); + var discreteValueGeneator = new DiscreteValueGenerator(new DiscreteParamArguments() { Name = "discrete", Values = new[] { "200", "400", "600", "800" } }); + var sweeper = new SmacSweeper(new SmacSweeper.Arguments() { SweptParameters = new IValueGenerator[] { - new FloatValueGenerator(new FloatParamArguments() { Name = "x1", Min = 1, Max = 1000}), - new LongValueGenerator(new LongParamArguments() { Name = "x2", Min = 1, Max = 1000}), - new DiscreteValueGenerator(new DiscreteParamArguments() { Name = "x3", Values = new[] { "200", "400", "600", "800" } }), + floatValueGenerator, + floatLogValueGenerator, + longValueGenerator, + longLogValueGenerator, + discreteValueGeneator }, NumberInitialPopulation = numInitialPopulation }); + // sanity check grid + Assert.IsNotNull(floatValueGenerator[0].ValueText); + Assert.IsNotNull(floatLogValueGenerator[0].ValueText); + Assert.IsNotNull(longValueGenerator[0].ValueText); + Assert.IsNotNull(longLogValueGenerator[0].ValueText); + Assert.IsNotNull(discreteValueGeneator[0].ValueText); + List results = new List(); RunResult bestResult = null; @@ -31,12 +46,13 @@ public void Smac3ParamsTest() foreach (ParameterSet p in pars) { - float x1 = (p["x1"] as FloatParameterValue).Value; - float x2 = (p["x2"] as LongParameterValue).Value; - float x3 = float.Parse(p["x3"].ValueText); + float x1 = float.Parse(p["float"].ValueText); + float x2 = float.Parse(p["floatLog"].ValueText); + long x3 = long.Parse(p["long"].ValueText); + long x4 = long.Parse(p["longLog"].ValueText); + int x5 = int.Parse(p["discrete"].ValueText); - double metric = -200 * (Math.Abs(100 - x1) + - Math.Abs(300 - x2) + Math.Abs(500 - x3)); + double metric = x1 + x2 + x3 + x4 + x5; RunResult result = new RunResult(p, metric, true); if (bestResult == null || bestResult.MetricValue < metric) @@ -53,7 +69,7 @@ public void Smac3ParamsTest() Console.WriteLine($"Best: {bestResult.MetricValue}"); Assert.IsNotNull(bestResult); - Assert.IsTrue(bestResult.MetricValue != 0); + Assert.IsTrue(bestResult.MetricValue > 0); } diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs new file mode 100644 index 0000000000..9adab3e936 --- /dev/null +++ b/src/Test/TrainerExtensionsTests.cs @@ -0,0 +1,46 @@ +using System; +using System.Linq; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class TrainerExtensionsTests + { + [TestMethod] + public void TrainerExtensionInstanceTests() + { + var context = new MLContext(); + var trainerNames = Enum.GetValues(typeof(TrainerName)).Cast(); + foreach(var trainerName in trainerNames) + { + var extension = TrainerExtensionCatalog.GetTrainerExtension(trainerName); + var instance = extension.CreateInstance(context, null); + Assert.IsNotNull(instance); + var sweepParams = extension.GetHyperparamSweepRanges(); + Assert.IsNotNull(sweepParams); + } + } + + [TestMethod] + public void GetTrainersByMaxIterations() + { + var tasks = new TaskKind[] { TaskKind.BinaryClassification, + TaskKind.MulticlassClassification, TaskKind.Regression }; + + foreach(var task in tasks) + { + var trainerSet10 = TrainerExtensionCatalog.GetTrainers(task, 10); + var trainerSet50 = TrainerExtensionCatalog.GetTrainers(task, 50); + var trainerSet100 = TrainerExtensionCatalog.GetTrainers(task, 100); + + Assert.IsNotNull(trainerSet10); + Assert.IsNotNull(trainerSet50); + Assert.IsNotNull(trainerSet100); + + Assert.IsTrue(trainerSet10.Count() < trainerSet50.Count()); + Assert.IsTrue(trainerSet50.Count() < trainerSet100.Count()); + } + } + } +} diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index 4957d4f558..44085790eb 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -149,6 +149,17 @@ public void ValidateAutoFitArgsPurposeOverrideDuplicateCol() }); } + [TestMethod] + public void ValidateAutoFitArgsPurposeOverrideSuccess() + { + UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), + DatasetUtil.UciAdultLabel, DatasetUtil.GetUciAdultDataView(), + null, new List<(string, ColumnPurpose)>() + { + ("Workclass", ColumnPurpose.CategoricalFeature) + }); + } + [TestMethod] [ExpectedException(typeof(ArgumentException))] public void ValidateAutoFitArgsTrainValidColCountMismatch() From 35099ad6bdde6981603b69665f298d0bfb172df2 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 23 Jan 2019 18:04:22 -0800 Subject: [PATCH 026/211] add estimator extension tests (#24) --- .../EstimatorExtensions.cs | 5 +- src/Test/EstimatorExtensionTests.cs | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 src/Test/EstimatorExtensionTests.cs diff --git a/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs b/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs index 0f23c05817..df63a125ee 100644 --- a/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs +++ b/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs @@ -1,8 +1,5 @@ -using System; -using System.Collections.Generic; -using Microsoft.ML.Core.Data; +using Microsoft.ML.Core.Data; using Microsoft.ML.Data; -using Microsoft.ML.Transforms; using Microsoft.ML.Transforms.Categorical; using Microsoft.ML.Transforms.Conversions; diff --git a/src/Test/EstimatorExtensionTests.cs b/src/Test/EstimatorExtensionTests.cs new file mode 100644 index 0000000000..a1179b4072 --- /dev/null +++ b/src/Test/EstimatorExtensionTests.cs @@ -0,0 +1,48 @@ +using System; +using System.Linq; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class EstimatorExtensionTests + { + [TestMethod] + public void EstimatorExtensionInstanceTests() + { + var context = new MLContext(); + var pipelineNode = new PipelineNode() + { + InColumns = new string[] { "Input" }, + OutColumns = new string[] { "Output" } + }; + + var estimatorNames = Enum.GetValues(typeof(EstimatorName)).Cast(); + foreach (var estimatorName in estimatorNames) + { + var extension = EstimatorExtensionCatalog.GetExtension(estimatorName); + var instance = extension.CreateInstance(context, pipelineNode); + Assert.IsNotNull(instance); + } + } + + [TestMethod] + public void EstimatorExtensionStaticTests() + { + var context = new MLContext(); + var inCol = "Input"; + var outCol = "Output"; + var inCols = new string[] { inCol }; + var outCols = new string[] { outCol }; + Assert.IsNotNull(ColumnConcatenatingExtension.CreateSuggestedTransform(context, inCols, outCol)); + Assert.IsNotNull(ColumnCopyingExtension.CreateSuggestedTransform(context, inCol, outCol)); + Assert.IsNotNull(MissingValueIndicatorExtension.CreateSuggestedTransform(context, inCols, outCols)); + Assert.IsNotNull(NormalizingExtension.CreateSuggestedTransform(context, inCol, outCol)); + Assert.IsNotNull(OneHotEncodingExtension.CreateSuggestedTransform(context, inCols, outCols)); + Assert.IsNotNull(OneHotHashEncodingExtension.CreateSuggestedTransform(context, inCols, outCols)); + Assert.IsNotNull(TextFeaturizingExtension.CreateSuggestedTransform(context, inCol, outCol)); + Assert.IsNotNull(TypeConvertingExtension.CreateSuggestedTransform(context, inCols, outCols)); + Assert.IsNotNull(ValueToKeyMappingExtension.CreateSuggestedTransform(context, inCol, outCol)); + } + } +} From 5caf142e0428ff5a405cefc9aa92017cd308b312 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 23 Jan 2019 19:01:32 -0800 Subject: [PATCH 027/211] add conversions tests (#25) --- src/Test/ConversionTests.cs | 80 +++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 src/Test/ConversionTests.cs diff --git a/src/Test/ConversionTests.cs b/src/Test/ConversionTests.cs new file mode 100644 index 0000000000..d3c6e1e7bf --- /dev/null +++ b/src/Test/ConversionTests.cs @@ -0,0 +1,80 @@ +using System; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class ConversionTests + { + [TestMethod] + public void ConvertFloatMissingValues() + { + var missingValues = new string[] + { + "?", + "na", "n/a", "nan", + "NA", "N/A", "NaN", "NAN" + }; + + foreach(var missingValue in missingValues) + { + float value; + var success = Conversions.TryParse(missingValue.AsMemory(), out value); + Assert.IsTrue(success); + Assert.AreEqual(value, float.NaN); + } + } + + [TestMethod] + public void ConvertFloatParseFailure() + { + var values = new string[] + { + "a", "aa", "nb", "aaa", "naa", "nba", "n/b" + }; + + foreach (var value in values) + { + var success = Conversions.TryParse(value.AsMemory(), out float _); + Assert.IsFalse(success); + } + } + + [TestMethod] + public void ConvertBoolMissingValues() + { + var missingValues = new string[] + { + "", + "no", "NO", "+1", "-1", + "yes", "YES", + "true", "TRUE", + "false", "FALSE" + }; + + foreach (var missingValue in missingValues) + { + var success = Conversions.TryParse(missingValue.AsMemory(), out bool _); + Assert.IsTrue(success); + } + } + + [TestMethod] + public void ConvertBoolParseFailure() + { + var values = new string[] + { + "aa", "na", "+a", "-a", + "aaa", "yaa", "yea", + "aaaa", "taaa", "traa", "trua", + "aaaaa", "fbbbb", "faaaa", "falaa", "falsa" + }; + + foreach (var value in values) + { + var success = Conversions.TryParse(value.AsMemory(), out bool _); + Assert.IsFalse(success); + } + } + } +} From fb6390ba328734495ae33fd810b7fdd6daba44eb Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 24 Jan 2019 16:09:31 -0800 Subject: [PATCH 028/211] fix multiclass runs & add multiclass autofit UT (#27) --- .../PipelineSuggesters/PipelineSuggester.cs | 19 ++++++++++++-- src/Test/AutoFitTests.cs | 26 ++++++++++++++++++- src/Test/DatasetUtil.cs | 4 +++ 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs index 1fcbcb9c30..3c374ebb8e 100644 --- a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs +++ b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs @@ -32,8 +32,8 @@ public static InferredPipeline GetNextInferredPipeline(IEnumerable CalculateTransforms(MLContext context, + (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns, + TaskKind task) + { + var transforms = TransformInferenceApi.InferTransforms(context, columns).ToList(); + // this is a work-around for ML.NET bug tracked by https://github.com/dotnet/machinelearning/issues/1969 + if (task == TaskKind.MulticlassClassification) + { + var labelCol = columns.First(c => c.Item3 == ColumnPurpose.Label).Item1; + var transform = ValueToKeyMappingExtension.CreateSuggestedTransform(context, labelCol, labelCol); + transforms.Add(transform); + } + return transforms; + } } } \ No newline at end of file diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index fd3e40df75..202f52c4b7 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -6,7 +6,7 @@ namespace Microsoft.ML.Auto.Test public class AutoFitTests { [TestMethod] - public void AutoFitTest() + public void AutoFitBinaryTest() { var context = new MLContext(); var dataPath = DatasetUtil.DownloadUciAdultDataset(); @@ -28,5 +28,29 @@ public void AutoFitTest() Assert.IsNotNull(best?.BestPipeline?.Model); Assert.IsTrue(best.BestPipeline.Metrics.Accuracy > 0.80); } + + [TestMethod] + public void AutoFitMultiTest() + { + var context = new MLContext(); + var dataPath = DatasetUtil.DownloadTrivialDataset(); + var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.TrivialDatasetLabel, true); + var textLoader = context.Data.CreateTextReader(columnInference); + var trainData = textLoader.Read(dataPath); + var validationData = trainData.Take(20); + trainData = trainData.Skip(20); + var best = context.MulticlassClassification.AutoFit(trainData, DatasetUtil.TrivialDatasetLabel, validationData, settings: + new AutoFitSettings() + { + StoppingCriteria = new ExperimentStoppingCriteria() + { + MaxIterations = 1, + TimeOutInMinutes = 1000000000 + } + }, debugLogger: null); + + Assert.IsNotNull(best?.BestPipeline?.Model); + Assert.IsTrue(best.BestPipeline.Metrics.AccuracyMicro > 0.80); + } } } diff --git a/src/Test/DatasetUtil.cs b/src/Test/DatasetUtil.cs index ca3f388e88..8baae6c345 100644 --- a/src/Test/DatasetUtil.cs +++ b/src/Test/DatasetUtil.cs @@ -8,6 +8,7 @@ namespace Microsoft.ML.Auto.Test internal static class DatasetUtil { public const string UciAdultLabel = DefaultColumnNames.Label; + public const string TrivialDatasetLabel = DefaultColumnNames.Label; private static IDataView _uciAdultDataView; @@ -25,6 +26,9 @@ public static IDataView GetUciAdultDataView() public static string DownloadUciAdultDataset() => DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/f0e639af5ffdc839aae8e65d19b5a9a1f0db634a/test/data/adult.tiny.with-schema.txt", "uciadult.dataset"); + public static string DownloadTrivialDataset() => + DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/eae76959e6714af44caa212e102a5f06f0110e72/test/data/trivial-train.tsv", "trivial.dataset"); + private static string DownloadIfNotExists(string baseGitPath, string dataFile) { // if file doesn't already exist, download it From 468a1b7c33aa0b6a74face3fdf6d59bd925d3d1f Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 24 Jan 2019 16:48:16 -0800 Subject: [PATCH 029/211] add basic autofit regression test (#28) --- src/Test/AutoFitTests.cs | 24 ++++++++++++++++++++++++ src/Test/DatasetUtil.cs | 4 ++++ 2 files changed, 28 insertions(+) diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index 202f52c4b7..2d69c51220 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -52,5 +52,29 @@ public void AutoFitMultiTest() Assert.IsNotNull(best?.BestPipeline?.Model); Assert.IsTrue(best.BestPipeline.Metrics.AccuracyMicro > 0.80); } + + [TestMethod] + public void AutoFitRegressionTest() + { + var context = new MLContext(); + var dataPath = DatasetUtil.DownloadMlNetGeneratedRegressionDataset(); + var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.MlNetGeneratedRegressionLabel, true); + var textLoader = context.Data.CreateTextReader(columnInference); + var trainData = textLoader.Read(dataPath); + var validationData = trainData.Take(20); + trainData = trainData.Skip(20); + var best = context.Regression.AutoFit(trainData, DatasetUtil.MlNetGeneratedRegressionLabel, validationData, settings: + new AutoFitSettings() + { + StoppingCriteria = new ExperimentStoppingCriteria() + { + MaxIterations = 1, + TimeOutInMinutes = 1000000000 + } + }, debugLogger: null); + + Assert.IsNotNull(best?.BestPipeline?.Model); + Assert.IsTrue(best.BestPipeline.Metrics.RSquared > 0.9); + } } } diff --git a/src/Test/DatasetUtil.cs b/src/Test/DatasetUtil.cs index 8baae6c345..afb7dbe567 100644 --- a/src/Test/DatasetUtil.cs +++ b/src/Test/DatasetUtil.cs @@ -9,6 +9,7 @@ internal static class DatasetUtil { public const string UciAdultLabel = DefaultColumnNames.Label; public const string TrivialDatasetLabel = DefaultColumnNames.Label; + public const string MlNetGeneratedRegressionLabel = "target"; private static IDataView _uciAdultDataView; @@ -29,6 +30,9 @@ public static string DownloadUciAdultDataset() => public static string DownloadTrivialDataset() => DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/eae76959e6714af44caa212e102a5f06f0110e72/test/data/trivial-train.tsv", "trivial.dataset"); + public static string DownloadMlNetGeneratedRegressionDataset() => + DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/e78971ea6fd736038b4c355b840e5cbabae8cb55/test/data/generated_regression_dataset.csv", "mlnet_generated_regression.dataset"); + private static string DownloadIfNotExists(string baseGitPath, string dataFile) { // if file doesn't already exist, download it From e447d74c24d3bf927fb266f79fbc929ccf582cc2 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 24 Jan 2019 23:10:58 -0800 Subject: [PATCH 030/211] fix categorical transform bug (sometimes categorical features weren't concatenated to final features); add UT transforms; add PipelineNode equality & tests to serve as AutoML testing infra --- src/AutoML/API/Pipeline.cs | 82 ++++++++++ .../TransformInference/TransformInference.cs | 17 +- src/AutoML/Utils/SweepableParamAttributes.cs | 3 +- src/Test/PipelineTests.cs | 147 ++++++++++++++++++ src/Test/TransformInferenceTests.cs | 94 +++++++++++ 5 files changed, 334 insertions(+), 9 deletions(-) create mode 100644 src/Test/PipelineTests.cs create mode 100644 src/Test/TransformInferenceTests.cs diff --git a/src/AutoML/API/Pipeline.cs b/src/AutoML/API/Pipeline.cs index e4097fa5fd..e100586587 100644 --- a/src/AutoML/API/Pipeline.cs +++ b/src/AutoML/API/Pipeline.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using Microsoft.ML.Core.Data; +using Newtonsoft.Json; namespace Microsoft.ML.Auto { @@ -55,10 +56,91 @@ public PipelineNode(string name, PipelineNodeType nodeType, { } + public override bool Equals(object obj) + { + var other = obj as PipelineNode; + if(other == null) + { + return false; + } + if(this.Name != other.Name) + { + return false; + } + if(this.NodeType != other.NodeType) + { + return false; + } + if(!ColumnSetsAreEqual(this.InColumns, other.InColumns) || + !ColumnSetsAreEqual(this.OutColumns, other.OutColumns)) + { + return false; + } + return PropertiesAreEqual(this.Properties, other.Properties); + } + + public override int GetHashCode() + { + return JsonConvert.SerializeObject(this).GetHashCode(); + } + // (used by Newtonsoft) internal PipelineNode() { } + + private static bool ColumnSetsAreEqual(string[] set1, string[] set2) + { + if(set1 == null) + { + return set2 == null; + } + if(set2 == null) + { + return false; + } + if(set1.Length != set2.Length) + { + return false; + } + for(var i = 0; i < set1.Length; i++) + { + if(!set1[i].Equals(set2[i])) + { + return false; + } + } + return true; + } + + private static bool PropertiesAreEqual(IDictionary props1, IDictionary props2) + { + if(props1 == null) + { + return props2 == null; + } + if(props2 == null) + { + return false; + } + if(props1.Keys.Count != props2.Keys.Count) + { + return false; + } + foreach(var key in props1.Keys) + { + var value1 = props1[key]; + if(!props2.TryGetValue(key, out var value2)) + { + return false; + } + if(!value1.Equals(value2)) + { + return false; + } + } + return true; + } } public enum PipelineNodeType diff --git a/src/AutoML/TransformInference/TransformInference.cs b/src/AutoML/TransformInference/TransformInference.cs index 4e0e270737..2900d340e3 100644 --- a/src/AutoML/TransformInference/TransformInference.cs +++ b/src/AutoML/TransformInference/TransformInference.cs @@ -144,6 +144,9 @@ private static IEnumerable GetExperts() // The expert work independently of each other, the sequence is irrelevant // (it only determines the sequence of resulting transforms). + // If there's more than one feature column, concat all into Features. If it isn't called 'Features', rename it. + yield return new Experts.FeaturesColumnConcatRenameNumericOnly(); + // For text labels, convert to categories. yield return new Experts.AutoLabel(); @@ -166,9 +169,6 @@ private static IEnumerable GetExperts() // If numeric column has missing values, use Missing transform. yield return new Experts.NumericMissing(); - - // If there's more than one feature column, concat all into Features. If it isn't called 'Features', rename it. - yield return new Experts.FeaturesColumnConcatRenameNumericOnly(); } internal static class Experts @@ -224,11 +224,10 @@ public override IEnumerable Apply(IntermediateColumn[] colum bool foundCatHash = false; var catColumnsNew = new List(); var catHashColumnsNew = new List(); - var featureCols = new List(); foreach (var column in columns) { - if (!column.Type.ItemType().IsText() || column.Purpose != ColumnPurpose.CategoricalFeature) + if (column.Purpose != ColumnPurpose.CategoricalFeature) { continue; } @@ -257,9 +256,13 @@ public override IEnumerable Apply(IntermediateColumn[] colum yield return OneHotHashEncodingExtension.CreateSuggestedTransform(Context, catHashColumnsNewArr, catHashColumnsNewArr); } - if (!ExcludeFeaturesConcatTransforms && featureCols.Count > 0) + var transformedColumns = new List(); + transformedColumns.AddRange(catColumnsNew); + transformedColumns.AddRange(catHashColumnsNew); + + if (!ExcludeFeaturesConcatTransforms && transformedColumns.Count > 0) { - yield return InferenceHelpers.GetRemainingFeatures(featureCols, columns, IncludeFeaturesOverride); + yield return InferenceHelpers.GetRemainingFeatures(transformedColumns, columns, IncludeFeaturesOverride); IncludeFeaturesOverride = true; } } diff --git a/src/AutoML/Utils/SweepableParamAttributes.cs b/src/AutoML/Utils/SweepableParamAttributes.cs index 1ae8a5c3e5..d16f813ef7 100644 --- a/src/AutoML/Utils/SweepableParamAttributes.cs +++ b/src/AutoML/Utils/SweepableParamAttributes.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System; -using System.Collections.Generic; using System.Linq; using System.Text; @@ -12,7 +11,7 @@ namespace Microsoft.ML.Auto /// /// Used to indicate suggested sweep ranges for parameter sweeping. /// - public abstract class SweepableParam + internal abstract class SweepableParam { public string Name { get; set; } private IComparable _rawValue; diff --git a/src/Test/PipelineTests.cs b/src/Test/PipelineTests.cs new file mode 100644 index 0000000000..925054016d --- /dev/null +++ b/src/Test/PipelineTests.cs @@ -0,0 +1,147 @@ +using System.Collections.Generic; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class PipelineTests + { + [TestMethod] + public void PipelineNodeEquality() + { + var node1 = BuildSamplePipelineNode(); + var node2 = BuildSamplePipelineNode(); + Assert.AreEqual(node1, node2); + } + + [TestMethod] + public void PipelineNodeInequalityNull() + { + var node1 = BuildSamplePipelineNode(); + PipelineNode node2 = null; + Assert.AreNotEqual(node1, node2); + Assert.AreNotEqual(node2, node1); + } + + [TestMethod] + public void PipelineNodeInequalityNullInCols() + { + var node1 = BuildSamplePipelineNode(); + var node2 = BuildSamplePipelineNode(); + node2.InColumns = null; + Assert.AreNotEqual(node1, node2); + Assert.AreNotEqual(node2, node1); + } + + [TestMethod] + public void PipelineNodeInequalityDifferentInColNames() + { + var node1 = BuildSamplePipelineNode(); + var node2 = BuildSamplePipelineNode(); + node2.InColumns[0] = "imdifferent"; + Assert.AreNotEqual(node1, node2); + Assert.AreNotEqual(node2, node1); + } + + [TestMethod] + public void PipelineNodeInequalityDifferentInColCount() + { + var node1 = BuildSamplePipelineNode(); + var node2 = BuildSamplePipelineNode(); + node2.InColumns = new string[] { "hello", "world" }; + Assert.AreNotEqual(node1, node2); + Assert.AreNotEqual(node2, node1); + } + + [TestMethod] + public void PipelineNodeInequalityDifferentOutColCount() + { + var node1 = BuildSamplePipelineNode(); + var node2 = BuildSamplePipelineNode(); + node2.OutColumns = new string[] { "hello", "world" }; + Assert.AreNotEqual(node1, node2); + Assert.AreNotEqual(node2, node1); + } + + [TestMethod] + public void PipelineNodeInequalityDifferentPropCount() + { + var node1 = BuildSamplePipelineNode(); + var node2 = BuildSamplePipelineNode(); + node2.Properties["Key2"] = "Value1"; + Assert.AreNotEqual(node1, node2); + Assert.AreNotEqual(node2, node1); + } + + [TestMethod] + public void PipelineNodeInequalityDifferentPropKeys() + { + var node1 = BuildSamplePipelineNode(); + var node2 = BuildSamplePipelineNode(); + node2.Properties = new Dictionary() + { + {"different", "different" } + }; + Assert.AreNotEqual(node1, node2); + Assert.AreNotEqual(node2, node1); + } + + [TestMethod] + public void PipelineNodeInequalityDifferentPropValues() + { + var node1 = BuildSamplePipelineNode(); + var node2 = BuildSamplePipelineNode(); + node2.Properties["Key1"] = "Value2"; + Assert.AreNotEqual(node1, node2); + Assert.AreNotEqual(node2, node1); + } + + [TestMethod] + public void PipelineNodeInequalityNullProps() + { + var node1 = BuildSamplePipelineNode(); + var node2 = BuildSamplePipelineNode(); + node2.Properties = null; + Assert.AreNotEqual(node1, node2); + Assert.AreNotEqual(node2, node1); + } + + [TestMethod] + public void PipelineNodeInequalityName() + { + var node1 = BuildSamplePipelineNode(); + var node2 = BuildSamplePipelineNode(); + node2.Name = "different"; + Assert.AreNotEqual(node1, node2); + Assert.AreNotEqual(node2, node1); + } + + [TestMethod] + public void PipelineNodeInequalityType() + { + var node1 = BuildSamplePipelineNode(); + var node2 = BuildSamplePipelineNode(); + node2.NodeType = PipelineNodeType.Transform; + Assert.AreNotEqual(node1, node2); + Assert.AreNotEqual(node2, node1); + } + + [TestMethod] + public void PipelineNodeInequalityDifferentType() + { + var node1 = BuildSamplePipelineNode(); + Assert.AreNotEqual(node1, 1); + Assert.AreNotEqual(1, node1); + } + + private static PipelineNode BuildSamplePipelineNode() + { + return new PipelineNode("name", PipelineNodeType.Trainer, + new string[] { "In1" }, + new string[] { "Out1" }, + new Dictionary() { + {"Key1", "Value1" } + }); + } + } +} diff --git a/src/Test/TransformInferenceTests.cs b/src/Test/TransformInferenceTests.cs new file mode 100644 index 0000000000..d8672ebfa4 --- /dev/null +++ b/src/Test/TransformInferenceTests.cs @@ -0,0 +1,94 @@ +using System.Linq; +using Microsoft.ML.Data; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Newtonsoft.Json; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class TransformInferenceTests + { + [TestMethod] + public void TransformInferenceCategoricalColumns() + { + var transforms = TransformInferenceApi.InferTransforms(new MLContext(), + new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + ("Num1", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Num2", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Cat1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + ("Cat2", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + ("LargeCat1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + ("LargeCat2", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + }); + + var actualNodes = transforms.Select(t => t.PipelineNode); + + var expectedNodesJson = @" +[ + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": 0, + ""InColumns"": [ + ""Num1"", + ""Num2"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + }, + { + ""Name"": ""OneHotEncoding"", + ""NodeType"": 0, + ""InColumns"": [ + ""Cat1"", + ""Cat2"" + ], + ""OutColumns"": [ + ""Cat1"", + ""Cat2"" + ], + ""Properties"": {} + }, + { + ""Name"": ""OneHotHashEncoding"", + ""NodeType"": 0, + ""InColumns"": [ + ""LargeCat1"", + ""LargeCat2"" + ], + ""OutColumns"": [ + ""LargeCat1"", + ""LargeCat2"" + ], + ""Properties"": {} + }, + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": 0, + ""InColumns"": [ + ""Cat1"", + ""Cat2"", + ""LargeCat1"", + ""LargeCat2"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"; + var expectedNodes = JsonConvert.DeserializeObject(expectedNodesJson); + + Assert.AreEqual(expectedNodes.Count(), actualNodes.Count()); + + for(var i = 0; i < expectedNodes.Count(); i++) + { + var expectedNode = expectedNodes.ElementAt(i); + var actualNode = actualNodes.ElementAt(i); + Assert.AreEqual(expectedNode, actualNode); + } + } + } +} From 05c7fe0c4e75ac41ea27b12f832860c6f2dfe0e6 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Fri, 25 Jan 2019 11:05:20 -0800 Subject: [PATCH 031/211] add example to readme (#26) --- README.md | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ab8c38ea75..fff0979ffe 100644 --- a/README.md +++ b/README.md @@ -64,8 +64,52 @@ For more information, see the [.NET Foundation Code of Conduct](https://dotnetfo Here's an example of code to automatically train a model to predict sentiment from text samples. +(Caution: The example that follows is very much a work in progress. Our API is in flux at the moment.) + ```C# -// Example to come + +using System; +using Microsoft.ML; +using Microsoft.ML.Auto; + +namespace Samples +{ + public static class Benchmarking + { + const string DatasetName = "DatasetName"; + const string Label = "Label"; + const string DatasetPathPrefix = @"C:\Datasets\"; + + static readonly string TrainDataPath = $"{DatasetPathPrefix}{DatasetName}_train.csv"; + static readonly string ValidationDataPath = $"{DatasetPathPrefix}{DatasetName}_valid.csv"; + static readonly string TestDataPath = $"{DatasetPathPrefix}{DatasetName}_test.csv"; + + public static void Run() + { + var context = new MLContext(); + var columnInference = context.Data.InferColumns(TrainDataPath, Label, true); + var textLoader = context.Data.CreateTextReader(columnInference); + var trainData = textLoader.Read(TrainDataPath); + var validationData = textLoader.Read(ValidationDataPath); + var testData = textLoader.Read(TestDataPath); + var autoFitResult = context.BinaryClassification.AutoFit(trainData, Label, validationData, settings: + new AutoFitSettings() + { + StoppingCriteria = new ExperimentStoppingCriteria() + { + MaxIterations = 100, + TimeOutInMinutes = 24 * 60 + } + }); + var model = autoFitResult.BestPipeline.Model; + var scoredTestData = model.Transform(testData); + var testDataMetrics = context.BinaryClassification.EvaluateNonCalibrated(scoredTestData); + + Console.WriteLine(testDataMetrics.Accuracy); + Console.ReadLine(); + } + } +} ``` From bf42ba557f49a39a8562171846b18dc69f42ed93 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Fri, 25 Jan 2019 17:35:15 -0800 Subject: [PATCH 032/211] add lightgbm args as nested properties (#33) --- src/AutoML/API/Pipeline.cs | 95 ++--------- src/AutoML/AutoFitter/InferredPipeline.cs | 3 +- src/AutoML/AutoFitter/SuggestedTrainer.cs | 6 +- .../TrainerExtensions/TrainerExtensionUtil.cs | 51 +++++- src/Test/PipelineTests.cs | 147 ------------------ src/Test/TrainerExtensionsTests.cs | 106 +++++++++++++ src/Test/TransformInferenceTests.cs | 11 +- src/Test/Util.cs | 16 ++ 8 files changed, 186 insertions(+), 249 deletions(-) delete mode 100644 src/Test/PipelineTests.cs create mode 100644 src/Test/Util.cs diff --git a/src/AutoML/API/Pipeline.cs b/src/AutoML/API/Pipeline.cs index e100586587..42f2d311cc 100644 --- a/src/AutoML/API/Pipeline.cs +++ b/src/AutoML/API/Pipeline.cs @@ -56,91 +56,10 @@ public PipelineNode(string name, PipelineNodeType nodeType, { } - public override bool Equals(object obj) - { - var other = obj as PipelineNode; - if(other == null) - { - return false; - } - if(this.Name != other.Name) - { - return false; - } - if(this.NodeType != other.NodeType) - { - return false; - } - if(!ColumnSetsAreEqual(this.InColumns, other.InColumns) || - !ColumnSetsAreEqual(this.OutColumns, other.OutColumns)) - { - return false; - } - return PropertiesAreEqual(this.Properties, other.Properties); - } - - public override int GetHashCode() - { - return JsonConvert.SerializeObject(this).GetHashCode(); - } - // (used by Newtonsoft) internal PipelineNode() { } - - private static bool ColumnSetsAreEqual(string[] set1, string[] set2) - { - if(set1 == null) - { - return set2 == null; - } - if(set2 == null) - { - return false; - } - if(set1.Length != set2.Length) - { - return false; - } - for(var i = 0; i < set1.Length; i++) - { - if(!set1[i].Equals(set2[i])) - { - return false; - } - } - return true; - } - - private static bool PropertiesAreEqual(IDictionary props1, IDictionary props2) - { - if(props1 == null) - { - return props2 == null; - } - if(props2 == null) - { - return false; - } - if(props1.Keys.Count != props2.Keys.Count) - { - return false; - } - foreach(var key in props1.Keys) - { - var value1 = props1[key]; - if(!props2.TryGetValue(key, out var value2)) - { - return false; - } - if(!value1.Equals(value2)) - { - return false; - } - } - return true; - } } public enum PipelineNodeType @@ -151,8 +70,18 @@ public enum PipelineNodeType public class CustomProperty { - public readonly string Name; - public readonly IDictionary Properties; + public string Name { get; set; } + public IDictionary Properties { get; set; } + + public CustomProperty(string name, IDictionary properties) + { + Name = name; + Properties = properties; + } + + internal CustomProperty() + { + } } public class PipelineRunResult diff --git a/src/AutoML/AutoFitter/InferredPipeline.cs b/src/AutoML/AutoFitter/InferredPipeline.cs index 621fc79d58..8ef6c598da 100644 --- a/src/AutoML/AutoFitter/InferredPipeline.cs +++ b/src/AutoML/AutoFitter/InferredPipeline.cs @@ -76,8 +76,7 @@ public static InferredPipeline FromPipeline(Pipeline pipeline) { var trainerName = (TrainerName)Enum.Parse(typeof(TrainerName), pipelineNode.Name); var trainerExtension = TrainerExtensionCatalog.GetTrainerExtension(trainerName); - var stringParamVals = pipelineNode.Properties.Select(prop => new StringParameterValue(prop.Key, prop.Value.ToString())); - var hyperParamSet = new ParameterSet(stringParamVals); + var hyperParamSet = TrainerExtensionUtil.BuildParameterSet(trainerName, pipelineNode.Properties); trainer = new SuggestedTrainer(context, trainerExtension, hyperParamSet); } else if (pipelineNode.NodeType == PipelineNodeType.Transform) diff --git a/src/AutoML/AutoFitter/SuggestedTrainer.cs b/src/AutoML/AutoFitter/SuggestedTrainer.cs index bdc275de3c..a42cc9d5da 100644 --- a/src/AutoML/AutoFitter/SuggestedTrainer.cs +++ b/src/AutoML/AutoFitter/SuggestedTrainer.cs @@ -57,11 +57,7 @@ public override string ToString() public PipelineNode ToPipelineNode() { var hyperParams = SweepParams.Where(p => p != null && p.RawValue != null); - var elementProperties = new Dictionary(); - foreach (var hyperParam in hyperParams) - { - elementProperties[hyperParam.Name] = hyperParam.ProcessedValue(); - } + var elementProperties = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName, hyperParams); return new PipelineNode(TrainerName.ToString(), PipelineNodeType.Trainer, new[] { "Features" }, new[] { "Score" }, elementProperties); } diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs index a0816a8c68..b70119e49c 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs @@ -56,7 +56,8 @@ public static Action CreateArgsFunc(IEnumerable sweepParam return argsFunc; } - private static string[] _treeBoosterParamNames = new[] { "RegLambda", "RegAlpha" }; + private static string[] _lightGbmTreeBoosterParamNames = new[] { "RegLambda", "RegAlpha" }; + private const string LightGbmTreeBoosterPropName = "TreeBooster"; public static Action CreateLightGbmArgsFunc(IEnumerable sweepParams) { @@ -65,7 +66,7 @@ public static Action CreateLightGbmArgsFunc(IEnumerable { - var treeBoosterParams = sweepParams.Where(p => _treeBoosterParamNames.Contains(p.Name)); + var treeBoosterParams = sweepParams.Where(p => _lightGbmTreeBoosterParamNames.Contains(p.Name)); var parentArgParams = sweepParams.Except(treeBoosterParams); UpdateFields(args, parentArgParams); UpdateFields(args.Booster, treeBoosterParams); @@ -74,6 +75,52 @@ public static Action CreateLightGbmArgsFunc(IEnumerable BuildPipelineNodeProps(TrainerName trainerName, IEnumerable sweepParams) + { + if(trainerName == TrainerName.LightGbmBinary || trainerName == TrainerName.LightGbmMulti || + trainerName == TrainerName.LightGbmRegression) + { + return BuildLightGbmPipelineNodeProps(sweepParams); + } + + return sweepParams.ToDictionary(p => p.Name, p => (object)p.RawValue); + } + + private static IDictionary BuildLightGbmPipelineNodeProps(IEnumerable sweepParams) + { + var treeBoosterParams = sweepParams.Where(p => _lightGbmTreeBoosterParamNames.Contains(p.Name)); + var parentArgParams = sweepParams.Except(treeBoosterParams); + + var treeBoosterProps = treeBoosterParams.ToDictionary(p => p.Name, p => (object)p.RawValue); + var treeBoosterCustomProp = new CustomProperty("Microsoft.ML.LightGBM.TreeBooster", treeBoosterProps); + + var props = parentArgParams.ToDictionary(p => p.Name, p => (object)p.RawValue); + props[LightGbmTreeBoosterPropName] = treeBoosterCustomProp; + + return props; + } + + public static ParameterSet BuildParameterSet(TrainerName trainerName, IDictionary props) + { + if (trainerName == TrainerName.LightGbmBinary || trainerName == TrainerName.LightGbmMulti || + trainerName == TrainerName.LightGbmRegression) + { + return BuildLightGbmParameterSet(props); + } + + var paramVals = props.Select(p => new StringParameterValue(p.Key, p.Value.ToString())); + return new ParameterSet(paramVals); + } + + private static ParameterSet BuildLightGbmParameterSet(IDictionary props) + { + var parentProps = props.Where(p => p.Key != LightGbmTreeBoosterPropName); + var treeProps = ((CustomProperty)props[LightGbmTreeBoosterPropName]).Properties; + var allProps = parentProps.Union(treeProps); + var paramVals = allProps.Select(p => new StringParameterValue(p.Key, p.Value.ToString())); + return new ParameterSet(paramVals); + } + private static void SetValue(FieldInfo fi, IComparable value, object obj, Type propertyType) { if (propertyType == value?.GetType()) diff --git a/src/Test/PipelineTests.cs b/src/Test/PipelineTests.cs deleted file mode 100644 index 925054016d..0000000000 --- a/src/Test/PipelineTests.cs +++ /dev/null @@ -1,147 +0,0 @@ -using System.Collections.Generic; -using Microsoft.VisualStudio.TestTools.UnitTesting; - -namespace Microsoft.ML.Auto.Test -{ - [TestClass] - public class PipelineTests - { - [TestMethod] - public void PipelineNodeEquality() - { - var node1 = BuildSamplePipelineNode(); - var node2 = BuildSamplePipelineNode(); - Assert.AreEqual(node1, node2); - } - - [TestMethod] - public void PipelineNodeInequalityNull() - { - var node1 = BuildSamplePipelineNode(); - PipelineNode node2 = null; - Assert.AreNotEqual(node1, node2); - Assert.AreNotEqual(node2, node1); - } - - [TestMethod] - public void PipelineNodeInequalityNullInCols() - { - var node1 = BuildSamplePipelineNode(); - var node2 = BuildSamplePipelineNode(); - node2.InColumns = null; - Assert.AreNotEqual(node1, node2); - Assert.AreNotEqual(node2, node1); - } - - [TestMethod] - public void PipelineNodeInequalityDifferentInColNames() - { - var node1 = BuildSamplePipelineNode(); - var node2 = BuildSamplePipelineNode(); - node2.InColumns[0] = "imdifferent"; - Assert.AreNotEqual(node1, node2); - Assert.AreNotEqual(node2, node1); - } - - [TestMethod] - public void PipelineNodeInequalityDifferentInColCount() - { - var node1 = BuildSamplePipelineNode(); - var node2 = BuildSamplePipelineNode(); - node2.InColumns = new string[] { "hello", "world" }; - Assert.AreNotEqual(node1, node2); - Assert.AreNotEqual(node2, node1); - } - - [TestMethod] - public void PipelineNodeInequalityDifferentOutColCount() - { - var node1 = BuildSamplePipelineNode(); - var node2 = BuildSamplePipelineNode(); - node2.OutColumns = new string[] { "hello", "world" }; - Assert.AreNotEqual(node1, node2); - Assert.AreNotEqual(node2, node1); - } - - [TestMethod] - public void PipelineNodeInequalityDifferentPropCount() - { - var node1 = BuildSamplePipelineNode(); - var node2 = BuildSamplePipelineNode(); - node2.Properties["Key2"] = "Value1"; - Assert.AreNotEqual(node1, node2); - Assert.AreNotEqual(node2, node1); - } - - [TestMethod] - public void PipelineNodeInequalityDifferentPropKeys() - { - var node1 = BuildSamplePipelineNode(); - var node2 = BuildSamplePipelineNode(); - node2.Properties = new Dictionary() - { - {"different", "different" } - }; - Assert.AreNotEqual(node1, node2); - Assert.AreNotEqual(node2, node1); - } - - [TestMethod] - public void PipelineNodeInequalityDifferentPropValues() - { - var node1 = BuildSamplePipelineNode(); - var node2 = BuildSamplePipelineNode(); - node2.Properties["Key1"] = "Value2"; - Assert.AreNotEqual(node1, node2); - Assert.AreNotEqual(node2, node1); - } - - [TestMethod] - public void PipelineNodeInequalityNullProps() - { - var node1 = BuildSamplePipelineNode(); - var node2 = BuildSamplePipelineNode(); - node2.Properties = null; - Assert.AreNotEqual(node1, node2); - Assert.AreNotEqual(node2, node1); - } - - [TestMethod] - public void PipelineNodeInequalityName() - { - var node1 = BuildSamplePipelineNode(); - var node2 = BuildSamplePipelineNode(); - node2.Name = "different"; - Assert.AreNotEqual(node1, node2); - Assert.AreNotEqual(node2, node1); - } - - [TestMethod] - public void PipelineNodeInequalityType() - { - var node1 = BuildSamplePipelineNode(); - var node2 = BuildSamplePipelineNode(); - node2.NodeType = PipelineNodeType.Transform; - Assert.AreNotEqual(node1, node2); - Assert.AreNotEqual(node2, node1); - } - - [TestMethod] - public void PipelineNodeInequalityDifferentType() - { - var node1 = BuildSamplePipelineNode(); - Assert.AreNotEqual(node1, 1); - Assert.AreNotEqual(1, node1); - } - - private static PipelineNode BuildSamplePipelineNode() - { - return new PipelineNode("name", PipelineNodeType.Trainer, - new string[] { "In1" }, - new string[] { "Out1" }, - new Dictionary() { - {"Key1", "Value1" } - }); - } - } -} diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index 9adab3e936..41e1f78a6a 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -42,5 +43,110 @@ public void GetTrainersByMaxIterations() Assert.IsTrue(trainerSet50.Count() < trainerSet100.Count()); } } + + [TestMethod] + public void BuildPipelineNodePropsLightGbm() + { + var sweepParams = SweepableParams.BuildLightGbmParams(); + foreach(var sweepParam in sweepParams) + { + sweepParam.RawValue = 1; + } + + var lightGbmBinaryProps = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName.LightGbmBinary, sweepParams); + var lightGbmMultiProps = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName.LightGbmMulti, sweepParams); + var lightGbmRegressionProps = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName.LightGbmRegression, sweepParams); + + var expectedJson = @" +{ + ""NumBoostRound"": 1, + ""LearningRate"": 1, + ""NumLeaves"": 1, + ""MinDataPerLeaf"": 1, + ""UseSoftmax"": 1, + ""UseCat"": 1, + ""UseMissing"": 1, + ""MinDataPerGroup"": 1, + ""MaxCatThreshold"": 1, + ""CatSmooth"": 1, + ""CatL2"": 1, + ""TreeBooster"": { + ""Name"": ""Microsoft.ML.LightGBM.TreeBooster"", + ""Properties"": { + ""RegLambda"": 1, + ""RegAlpha"": 1 + } + } +}"; + Util.AssertObjectMatchesJson(expectedJson, lightGbmBinaryProps); + Util.AssertObjectMatchesJson(expectedJson, lightGbmMultiProps); + Util.AssertObjectMatchesJson(expectedJson, lightGbmRegressionProps); + } + + [TestMethod] + public void BuildPipelineNodePropsSdca() + { + var sweepParams = SweepableParams.BuildSdcaParams(); + foreach(var sweepParam in sweepParams) + { + sweepParam.RawValue = 1; + } + + var sdcaBinaryProps = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName.SdcaBinary, sweepParams); + var expectedJson = @" +{ + ""L2Const"": 1, + ""L1Threshold"": 1, + ""ConvergenceTolerance"": 1, + ""MaxIterations"": 1, + ""Shuffle"": 1, + ""BiasLearningRate"": 1 +}"; + Util.AssertObjectMatchesJson(expectedJson, sdcaBinaryProps); + } + + [TestMethod] + public void BuildParameterSetLightGbm() + { + var props = new Dictionary() + { + {"NumBoostRound", 1 }, + {"LearningRate", 1 }, + {"TreeBooster", new CustomProperty() { + Name = "Microsoft.ML.LightGBM.TreeBooster", + Properties = new Dictionary() + { + {"RegLambda", 1 }, + {"RegAlpha", 1 }, + } + } }, + }; + var binaryParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.LightGbmBinary, props); + var multiParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.LightGbmMulti, props); + var regressionParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.LightGbmRegression, props); + + foreach(var paramSet in new ParameterSet[] { binaryParams, multiParams, regressionParams }) + { + Assert.AreEqual(4, paramSet.Count); + Assert.AreEqual("1", paramSet["NumBoostRound"].ValueText); + Assert.AreEqual("1", paramSet["LearningRate"].ValueText); + Assert.AreEqual("1", paramSet["RegLambda"].ValueText); + Assert.AreEqual("1", paramSet["RegAlpha"].ValueText); + } + } + + [TestMethod] + public void BuildParameterSetSdca() + { + var props = new Dictionary() + { + {"LearningRate", 1 }, + }; + + var sdcaParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.SdcaBinary, props); + + Assert.AreEqual(1, sdcaParams.Count); + Assert.AreEqual("1", sdcaParams["LearningRate"].ValueText); + } } } diff --git a/src/Test/TransformInferenceTests.cs b/src/Test/TransformInferenceTests.cs index d8672ebfa4..cf2c0d9d0e 100644 --- a/src/Test/TransformInferenceTests.cs +++ b/src/Test/TransformInferenceTests.cs @@ -79,16 +79,7 @@ public void TransformInferenceCategoricalColumns() ""Properties"": {} } ]"; - var expectedNodes = JsonConvert.DeserializeObject(expectedNodesJson); - - Assert.AreEqual(expectedNodes.Count(), actualNodes.Count()); - - for(var i = 0; i < expectedNodes.Count(); i++) - { - var expectedNode = expectedNodes.ElementAt(i); - var actualNode = actualNodes.ElementAt(i); - Assert.AreEqual(expectedNode, actualNode); - } + Util.AssertObjectMatchesJson(expectedNodesJson, actualNodes); } } } diff --git a/src/Test/Util.cs b/src/Test/Util.cs new file mode 100644 index 0000000000..5e8ec718c5 --- /dev/null +++ b/src/Test/Util.cs @@ -0,0 +1,16 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Newtonsoft.Json; + +namespace Microsoft.ML.Auto.Test +{ + internal static class Util + { + public static void AssertObjectMatchesJson(string expectedJson, T obj) + { + var actualJson = JsonConvert.SerializeObject(obj); + var expectedObj = JsonConvert.DeserializeObject(expectedJson); + expectedJson = JsonConvert.SerializeObject(expectedObj); + Assert.AreEqual(expectedJson, actualJson); + } + } +} From 6609cd980c6b035cd1240f6165d205140f0b1685 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Sun, 27 Jan 2019 23:22:58 -0800 Subject: [PATCH 033/211] fix bug where if one pipeline hyperparam optimization converges, run terminates (#36) --- .../PipelineSuggesters/PipelineSuggester.cs | 50 +++++++++++++------ 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs index 3c374ebb8e..ff0e7c520c 100644 --- a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs +++ b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs @@ -41,25 +41,33 @@ public static InferredPipeline GetNextInferredPipeline(IEnumerable(history.Select(h => h.Pipeline)); - const int maxNumberAttempts = 10; - var count = 0; - do + + // sort top trainers by # of times they've been run, from lowest to highest + var orderedTopTrainers = OrderTrainersByNumTrials(history, topTrainers); + + // iterate over top trainers (from least run to most run), + // to find next pipeline + foreach(var trainer in orderedTopTrainers) { - SampleHyperparameters(trainer, history, isMaximizingMetric); - var pipeline = new InferredPipeline(transforms, trainer); - if(!visitedPipelines.Contains(pipeline)) + var newTrainer = trainer.Clone(); + + // make sure we have not seen pipeline before. + // repeat until passes or runs out of chances + var visitedPipelines = new HashSet(history.Select(h => h.Pipeline)); + const int maxNumberAttempts = 10; + var count = 0; + do { - return pipeline; - } - } while (++count <= maxNumberAttempts); + SampleHyperparameters(newTrainer, history, isMaximizingMetric); + var pipeline = new InferredPipeline(transforms, newTrainer); + if (!visitedPipelines.Contains(pipeline)) + { + return pipeline; + } + } while (++count <= maxNumberAttempts); + } return null; } @@ -84,6 +92,16 @@ private static IEnumerable GetTopTrainers(IEnumerable OrderTrainersByNumTrials(IEnumerable history, + IEnumerable selectedTrainers) + { + var selectedTrainerNames = new HashSet(selectedTrainers.Select(t => t.TrainerName)); + return history.Where(h => selectedTrainerNames.Contains(h.Pipeline.Trainer.TrainerName)) + .GroupBy(h => h.Pipeline.Trainer.TrainerName) + .OrderBy(x => x.Count()) + .Select(x => x.First().Pipeline.Trainer); + } + private static InferredPipeline GetNextFirstStagePipeline(IEnumerable history, IEnumerable availableTrainers, IEnumerable transforms) From 1c4886b05e2c70a498b5b218e016a338f20a0a11 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Mon, 28 Jan 2019 15:18:21 -0800 Subject: [PATCH 034/211] add open-source headers to files; other nit clean-ups along the way (#35) --- src/AutoML/API/AutoFitSettings.cs | 6 +++++- src/AutoML/API/InferenceException.cs | 6 +++++- src/AutoML/API/MLContextAutoFitExtensions.cs | 6 +++++- src/AutoML/API/MLContextDataExtensions.cs | 6 +++++- src/AutoML/API/Pipeline.cs | 7 +++++-- src/AutoML/Assembly.cs | 7 +++++-- src/AutoML/AutoFitter/AutoFitApi.cs | 6 +++++- src/AutoML/AutoFitter/SuggestedTrainer.cs | 6 +++++- src/AutoML/ColumnInference/ColumnInferenceApi.cs | 5 ++++- src/AutoML/ColumnInference/ColumnPurpose.cs | 6 +++++- src/AutoML/DatasetDimensions/ColumnDimensions.cs | 6 +++++- .../DatasetDimensions/DatasetDimensionsApi.cs | 6 +++++- .../DatasetDimensions/DatasetDimensionsUtil.cs | 6 +++++- src/AutoML/DebugLogger.cs | 8 ++++++-- .../EstimatorExtensionCatalog.cs | 6 +++++- .../EstimatorExtensions/EstimatorExtensions.cs | 6 +++++- src/AutoML/Sweepers/ISweeper.cs | 15 --------------- src/AutoML/Sweepers/Parameters.cs | 4 +--- src/AutoML/TaskKind.cs | 6 +++++- .../Terminators/IterationBasedTerminator.cs | 3 --- .../TrainerExtensions/TrainerExtensionCatalog.cs | 1 - .../TransformInference/TransformInferenceApi.cs | 6 +++++- src/AutoML/Utils/Conversions.cs | 4 ---- src/AutoML/Utils/Hashing.cs | 4 ---- src/AutoML/Utils/ProbabilityFunctions.cs | 2 -- src/AutoML/Utils/UserInputValidationUtil.cs | 6 +++++- src/Samples/Benchmarking.cs | 6 +++++- src/Samples/BinaryClassification.cs | 6 +++++- src/Samples/MulticlassClassification.cs | 6 +++++- src/Samples/Program.cs | 6 +++--- src/Test/AutoFitTests.cs | 6 +++++- src/Test/ConversionTests.cs | 6 +++++- src/Test/DatasetUtil.cs | 6 +++++- src/Test/EstimatorExtensionTests.cs | 6 +++++- src/Test/GetNextPipelineTests.cs | 6 +++++- src/Test/SweeperTests.cs | 4 ++++ src/Test/TextFileSampleTests.cs | 6 +++++- src/Test/TrainerExtensionsTests.cs | 6 +++++- src/Test/TransformInferenceTests.cs | 7 +++++-- src/Test/UserInputValidationTests.cs | 6 +++++- src/Test/Util.cs | 6 +++++- 41 files changed, 168 insertions(+), 71 deletions(-) diff --git a/src/AutoML/API/AutoFitSettings.cs b/src/AutoML/API/AutoFitSettings.cs index 2e329e02cf..ed10a265ae 100644 --- a/src/AutoML/API/AutoFitSettings.cs +++ b/src/AutoML/API/AutoFitSettings.cs @@ -1,4 +1,8 @@ -using System.Collections.Generic; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; using System.Diagnostics; namespace Microsoft.ML.Auto diff --git a/src/AutoML/API/InferenceException.cs b/src/AutoML/API/InferenceException.cs index b09b7c8ac6..5ab7c035b6 100644 --- a/src/AutoML/API/InferenceException.cs +++ b/src/AutoML/API/InferenceException.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; namespace Microsoft.ML.Auto { diff --git a/src/AutoML/API/MLContextAutoFitExtensions.cs b/src/AutoML/API/MLContextAutoFitExtensions.cs index d28f72537b..f768b2daf6 100644 --- a/src/AutoML/API/MLContextAutoFitExtensions.cs +++ b/src/AutoML/API/MLContextAutoFitExtensions.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.Collections.Generic; using System.Threading; using Microsoft.ML.Core.Data; diff --git a/src/AutoML/API/MLContextDataExtensions.cs b/src/AutoML/API/MLContextDataExtensions.cs index 04c9ac3d98..2f522ba962 100644 --- a/src/AutoML/API/MLContextDataExtensions.cs +++ b/src/AutoML/API/MLContextDataExtensions.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.Collections.Generic; using System.Linq; using Microsoft.ML.Data; diff --git a/src/AutoML/API/Pipeline.cs b/src/AutoML/API/Pipeline.cs index 42f2d311cc..f7c431570c 100644 --- a/src/AutoML/API/Pipeline.cs +++ b/src/AutoML/API/Pipeline.cs @@ -1,6 +1,9 @@ -using System.Collections.Generic; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; using Microsoft.ML.Core.Data; -using Newtonsoft.Json; namespace Microsoft.ML.Auto { diff --git a/src/AutoML/Assembly.cs b/src/AutoML/Assembly.cs index 1a42efc7fd..db762b3db2 100644 --- a/src/AutoML/Assembly.cs +++ b/src/AutoML/Assembly.cs @@ -1,4 +1,7 @@ -using System.Runtime.CompilerServices; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Runtime.CompilerServices; -//[assembly: InternalsVisibleTo("InternalClient")] [assembly: InternalsVisibleTo("Test, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] \ No newline at end of file diff --git a/src/AutoML/AutoFitter/AutoFitApi.cs b/src/AutoML/AutoFitter/AutoFitApi.cs index b9af39b0c8..5f3d92117a 100644 --- a/src/AutoML/AutoFitter/AutoFitApi.cs +++ b/src/AutoML/AutoFitter/AutoFitApi.cs @@ -1,4 +1,8 @@ -using System.Collections.Generic; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; using System.Linq; using Microsoft.ML.Data; diff --git a/src/AutoML/AutoFitter/SuggestedTrainer.cs b/src/AutoML/AutoFitter/SuggestedTrainer.cs index a42cc9d5da..cd3a7286f2 100644 --- a/src/AutoML/AutoFitter/SuggestedTrainer.cs +++ b/src/AutoML/AutoFitter/SuggestedTrainer.cs @@ -1,4 +1,8 @@ -using System.Collections.Generic; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; using System.Linq; using Microsoft.ML.Training; diff --git a/src/AutoML/ColumnInference/ColumnInferenceApi.cs b/src/AutoML/ColumnInference/ColumnInferenceApi.cs index 07a0c37c52..cafc2f6120 100644 --- a/src/AutoML/ColumnInference/ColumnInferenceApi.cs +++ b/src/AutoML/ColumnInference/ColumnInferenceApi.cs @@ -1,4 +1,7 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + using System.Linq; using Microsoft.ML.Data; diff --git a/src/AutoML/ColumnInference/ColumnPurpose.cs b/src/AutoML/ColumnInference/ColumnPurpose.cs index 24aee2544c..8582a39a86 100644 --- a/src/AutoML/ColumnInference/ColumnPurpose.cs +++ b/src/AutoML/ColumnInference/ColumnPurpose.cs @@ -1,4 +1,8 @@ -namespace Microsoft.ML.Auto +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.Auto { public enum ColumnPurpose { diff --git a/src/AutoML/DatasetDimensions/ColumnDimensions.cs b/src/AutoML/DatasetDimensions/ColumnDimensions.cs index 0440a66076..78283ac6c5 100644 --- a/src/AutoML/DatasetDimensions/ColumnDimensions.cs +++ b/src/AutoML/DatasetDimensions/ColumnDimensions.cs @@ -1,4 +1,8 @@ -namespace Microsoft.ML.Auto +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.Auto { internal class ColumnDimensions { diff --git a/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs b/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs index a37fb2b01d..fa3b320054 100644 --- a/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs +++ b/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs @@ -1,4 +1,8 @@ -using Microsoft.ML.Data; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Data; namespace Microsoft.ML.Auto { diff --git a/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs b/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs index 8503ce1eca..3871abb070 100644 --- a/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs +++ b/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.Collections.Generic; using Microsoft.ML.Data; diff --git a/src/AutoML/DebugLogger.cs b/src/AutoML/DebugLogger.cs index e06d8100e5..c1097b22b2 100644 --- a/src/AutoML/DebugLogger.cs +++ b/src/AutoML/DebugLogger.cs @@ -1,11 +1,15 @@ -namespace Microsoft.ML.Auto +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.Auto { internal interface IDebugLogger { void Log(DebugStream stream, string message); } - public enum DebugStream + internal enum DebugStream { Exception, RunResult diff --git a/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs b/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs index a11b8cde88..a6eceb403c 100644 --- a/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs +++ b/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.Collections.Generic; namespace Microsoft.ML.Auto diff --git a/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs b/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs index df63a125ee..19c52b9c05 100644 --- a/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs +++ b/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs @@ -1,4 +1,8 @@ -using Microsoft.ML.Core.Data; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Core.Data; using Microsoft.ML.Data; using Microsoft.ML.Transforms.Categorical; using Microsoft.ML.Transforms.Conversions; diff --git a/src/AutoML/Sweepers/ISweeper.cs b/src/AutoML/Sweepers/ISweeper.cs index 8c175279b1..07c44e7b60 100644 --- a/src/AutoML/Sweepers/ISweeper.cs +++ b/src/AutoML/Sweepers/ISweeper.cs @@ -10,21 +10,6 @@ namespace Microsoft.ML.Auto { - /// - /// Signature for the loaders of sweepers. - /// - public delegate void SignatureSweeper(); - - /// - /// Signature for the loaders of sweep result evaluators. - /// - public delegate void SignatureSweepResultEvaluator(); - - /// - /// Signature for SuggestedSweeps parser. - /// - public delegate void SignatureSuggestedSweepsParser(); - /// /// The main interface of the sweeper /// diff --git a/src/AutoML/Sweepers/Parameters.cs b/src/AutoML/Sweepers/Parameters.cs index 18440af4d9..0a29d35cd5 100644 --- a/src/AutoML/Sweepers/Parameters.cs +++ b/src/AutoML/Sweepers/Parameters.cs @@ -8,9 +8,7 @@ namespace Microsoft.ML.Auto { - public delegate void SignatureSweeperParameter(); - - public abstract class BaseParamArguments + internal abstract class BaseParamArguments { //[Argument(ArgumentType.Required, HelpText = "Parameter name", ShortName = "n")] public string Name; diff --git a/src/AutoML/TaskKind.cs b/src/AutoML/TaskKind.cs index 6fbdcc7f12..75de942413 100644 --- a/src/AutoML/TaskKind.cs +++ b/src/AutoML/TaskKind.cs @@ -1,4 +1,8 @@ -namespace Microsoft.ML.Auto +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.Auto { public enum TaskKind { diff --git a/src/AutoML/Terminators/IterationBasedTerminator.cs b/src/AutoML/Terminators/IterationBasedTerminator.cs index a30a12c53d..9be7a170ca 100644 --- a/src/AutoML/Terminators/IterationBasedTerminator.cs +++ b/src/AutoML/Terminators/IterationBasedTerminator.cs @@ -2,9 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System.Collections.Generic; -using System.Linq; - namespace Microsoft.ML.Auto { internal sealed class IterationBasedTerminator diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs b/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs index 9b2211507c..0afab49725 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; namespace Microsoft.ML.Auto { diff --git a/src/AutoML/TransformInference/TransformInferenceApi.cs b/src/AutoML/TransformInference/TransformInferenceApi.cs index 37b5af2dba..507fb66d7d 100644 --- a/src/AutoML/TransformInference/TransformInferenceApi.cs +++ b/src/AutoML/TransformInference/TransformInferenceApi.cs @@ -1,4 +1,8 @@ -using System.Collections.Generic; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; using Microsoft.ML.Data; namespace Microsoft.ML.Auto diff --git a/src/AutoML/Utils/Conversions.cs b/src/AutoML/Utils/Conversions.cs index ad3ace1b43..c4dcd57fe9 100644 --- a/src/AutoML/Utils/Conversions.cs +++ b/src/AutoML/Utils/Conversions.cs @@ -3,16 +3,12 @@ // See the LICENSE file in the project root for more information. using System; -using System.Collections.Generic; -using System.Text; namespace Microsoft.ML.Auto { using BL = Boolean; using R4 = Single; using TX = ReadOnlyMemory; - using U1 = Byte; - using U8 = UInt64; internal static class Conversions { diff --git a/src/AutoML/Utils/Hashing.cs b/src/AutoML/Utils/Hashing.cs index b801d591d1..0484d56866 100644 --- a/src/AutoML/Utils/Hashing.cs +++ b/src/AutoML/Utils/Hashing.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; -using System.Collections.Generic; -using System.Text; - namespace Microsoft.ML.Auto { internal static class Hashing diff --git a/src/AutoML/Utils/ProbabilityFunctions.cs b/src/AutoML/Utils/ProbabilityFunctions.cs index 68c927d37c..3c45c500eb 100644 --- a/src/AutoML/Utils/ProbabilityFunctions.cs +++ b/src/AutoML/Utils/ProbabilityFunctions.cs @@ -3,8 +3,6 @@ // See the LICENSE file in the project root for more information. using System; -using System.Collections.Generic; -using System.Text; namespace Microsoft.ML.Auto { diff --git a/src/AutoML/Utils/UserInputValidationUtil.cs b/src/AutoML/Utils/UserInputValidationUtil.cs index 64d0d99d26..6d126d32be 100644 --- a/src/AutoML/Utils/UserInputValidationUtil.cs +++ b/src/AutoML/Utils/UserInputValidationUtil.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.Collections.Generic; using System.IO; using System.Linq; diff --git a/src/Samples/Benchmarking.cs b/src/Samples/Benchmarking.cs index ed29f7664f..5f572a8066 100644 --- a/src/Samples/Benchmarking.cs +++ b/src/Samples/Benchmarking.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using Microsoft.ML; using Microsoft.ML.Auto; diff --git a/src/Samples/BinaryClassification.cs b/src/Samples/BinaryClassification.cs index 27c7da24d4..3b6946d6b0 100644 --- a/src/Samples/BinaryClassification.cs +++ b/src/Samples/BinaryClassification.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.IO; using Microsoft.ML; using Microsoft.ML.Auto; diff --git a/src/Samples/MulticlassClassification.cs b/src/Samples/MulticlassClassification.cs index 2f73a574fb..e0e80d9b04 100644 --- a/src/Samples/MulticlassClassification.cs +++ b/src/Samples/MulticlassClassification.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using Microsoft.ML; using Microsoft.ML.Auto; diff --git a/src/Samples/Program.cs b/src/Samples/Program.cs index 7d9fd18881..535e832124 100644 --- a/src/Samples/Program.cs +++ b/src/Samples/Program.cs @@ -1,6 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Text; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. namespace Samples { diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index 2d69c51220..6c732b34bd 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -1,4 +1,8 @@ -using Microsoft.VisualStudio.TestTools.UnitTesting; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Microsoft.ML.Auto.Test { diff --git a/src/Test/ConversionTests.cs b/src/Test/ConversionTests.cs index d3c6e1e7bf..7460b20ae8 100644 --- a/src/Test/ConversionTests.cs +++ b/src/Test/ConversionTests.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Microsoft.ML.Auto.Test diff --git a/src/Test/DatasetUtil.cs b/src/Test/DatasetUtil.cs index afb7dbe567..8e84337c7d 100644 --- a/src/Test/DatasetUtil.cs +++ b/src/Test/DatasetUtil.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.IO; using System.Net; using Microsoft.ML.Data; diff --git a/src/Test/EstimatorExtensionTests.cs b/src/Test/EstimatorExtensionTests.cs index a1179b4072..2847565a0c 100644 --- a/src/Test/EstimatorExtensionTests.cs +++ b/src/Test/EstimatorExtensionTests.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs index 60bcfb2bff..51c0754804 100644 --- a/src/Test/GetNextPipelineTests.cs +++ b/src/Test/GetNextPipelineTests.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.Collections.Generic; using Microsoft.VisualStudio.TestTools.UnitTesting; using Newtonsoft.Json; diff --git a/src/Test/SweeperTests.cs b/src/Test/SweeperTests.cs index 5b4bb2547b..335bbca835 100644 --- a/src/Test/SweeperTests.cs +++ b/src/Test/SweeperTests.cs @@ -1,3 +1,7 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + using System; using System.Collections.Generic; using Microsoft.VisualStudio.TestTools.UnitTesting; diff --git a/src/Test/TextFileSampleTests.cs b/src/Test/TextFileSampleTests.cs index 527564b7de..a787d0e065 100644 --- a/src/Test/TextFileSampleTests.cs +++ b/src/Test/TextFileSampleTests.cs @@ -1,4 +1,8 @@ -using System.IO; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.IO; using System.Text; using Microsoft.VisualStudio.TestTools.UnitTesting; diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index 41e1f78a6a..63d116f69c 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; diff --git a/src/Test/TransformInferenceTests.cs b/src/Test/TransformInferenceTests.cs index cf2c0d9d0e..d167fa8367 100644 --- a/src/Test/TransformInferenceTests.cs +++ b/src/Test/TransformInferenceTests.cs @@ -1,7 +1,10 @@ -using System.Linq; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Linq; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; -using Newtonsoft.Json; namespace Microsoft.ML.Auto.Test { diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index 44085790eb..c2a962e162 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.Collections.Generic; using System.IO; using Microsoft.ML.Data; diff --git a/src/Test/Util.cs b/src/Test/Util.cs index 5e8ec718c5..c360863f83 100644 --- a/src/Test/Util.cs +++ b/src/Test/Util.cs @@ -1,4 +1,8 @@ -using Microsoft.VisualStudio.TestTools.UnitTesting; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.VisualStudio.TestTools.UnitTesting; using Newtonsoft.Json; namespace Microsoft.ML.Auto.Test From 390e9d73dddfae10815153c33f2d9dad99777f82 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 28 Jan 2019 19:46:48 -0800 Subject: [PATCH 035/211] Ungroup Columns in Column Inference (#40) * Added sequential grouping of columns * added ungrouping of column option * reverted the file --- src/AutoML/API/MLContextDataExtensions.cs | 8 ++--- .../ColumnInference/ColumnInferenceApi.cs | 33 +++++++++++++------ src/Test/ColumnInferenceTests.cs | 24 ++++++++++++++ 3 files changed, 51 insertions(+), 14 deletions(-) create mode 100644 src/Test/ColumnInferenceTests.cs diff --git a/src/AutoML/API/MLContextDataExtensions.cs b/src/AutoML/API/MLContextDataExtensions.cs index 2f522ba962..315c5d1bdb 100644 --- a/src/AutoML/API/MLContextDataExtensions.cs +++ b/src/AutoML/API/MLContextDataExtensions.cs @@ -13,19 +13,19 @@ public static class DataExtensions { // Delimiter, header, column datatype inference public static ColumnInferenceResult InferColumns(this DataOperations catalog, string path, string label, - bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false) + bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) { UserInputValidationUtil.ValidateInferColumnsArgs(path, label); var mlContext = new MLContext(); - return ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace); + return ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); } public static IDataView AutoRead(this DataOperations catalog, string path, string label, - bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false) + bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) { UserInputValidationUtil.ValidateAutoReadArgs(path, label); var mlContext = new MLContext(); - var columnInferenceResult = ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace); + var columnInferenceResult = ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); var textLoader = columnInferenceResult.BuildTextLoader(); return textLoader.Read(path); } diff --git a/src/AutoML/ColumnInference/ColumnInferenceApi.cs b/src/AutoML/ColumnInference/ColumnInferenceApi.cs index cafc2f6120..26d4f3e807 100644 --- a/src/AutoML/ColumnInference/ColumnInferenceApi.cs +++ b/src/AutoML/ColumnInference/ColumnInferenceApi.cs @@ -9,15 +9,16 @@ namespace Microsoft.ML.Auto { internal static class ColumnInferenceApi { - public static ColumnInferenceResult InferColumns(MLContext context, string path, string label, - bool hasHeader, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse, bool trimWhitespace) + public static ColumnInferenceResult InferColumns(MLContext context, string path, string label, + bool hasHeader, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse, bool trimWhitespace, bool groupColumns) { var sample = TextFileSample.CreateFromFullFile(path); var splitInference = InferSplit(sample, separatorChar, allowQuotedStrings, supportSparse); var typeInference = InferColumnTypes(context, sample, splitInference, hasHeader); + var loaderColumns = ColumnTypeInference.GenerateLoaderColumns(typeInference.Columns); var typedLoaderArgs = new TextLoader.Arguments { - Column = ColumnTypeInference.GenerateLoaderColumns(typeInference.Columns), + Column = loaderColumns, Separator = splitInference.Separator, AllowSparse = splitInference.AllowSparse, AllowQuoting = splitInference.AllowQuote, @@ -29,12 +30,24 @@ public static ColumnInferenceResult InferColumns(MLContext context, string path, var purposeInferenceResult = PurposeInference.InferPurposes(context, dataView, label); + (TextLoader.Column, ColumnPurpose Purpose)[] inferredColumns = null; // infer column grouping and generate column names - var groupingResult = ColumnGroupingInference.InferGroupingAndNames(context, hasHeader, - typeInference.Columns, purposeInferenceResult); + if (groupColumns) + { + var groupingResult = ColumnGroupingInference.InferGroupingAndNames(context, hasHeader, + typeInference.Columns, purposeInferenceResult); - // build result objects & return - var inferredColumns = groupingResult.Select(c => (c.GenerateTextLoaderColumn(), c.Purpose)).ToArray(); + // build result objects & return + inferredColumns = groupingResult.Select(c => (c.GenerateTextLoaderColumn(), c.Purpose)).ToArray(); + } + else + { + inferredColumns = new (TextLoader.Column, ColumnPurpose Purpose)[loaderColumns.Length]; + for (int i = 0; i < loaderColumns.Length; i++) + { + inferredColumns[i] = (loaderColumns[i], purposeInferenceResult[i].Purpose); + } + } return new ColumnInferenceResult(inferredColumns, splitInference.AllowQuote, splitInference.AllowSparse, splitInference.Separator, hasHeader, trimWhitespace); } @@ -44,15 +57,15 @@ private static TextFileContents.ColumnSplitResult InferSplit(TextFileSample samp var splitInference = TextFileContents.TrySplitColumns(sample, separatorCandidates); // respect passed-in overrides - if(allowQuotedStrings != null) + if (allowQuotedStrings != null) { splitInference.AllowQuote = allowQuotedStrings.Value; } - if(supportSparse != null) + if (supportSparse != null) { splitInference.AllowSparse = supportSparse.Value; } - + if (!splitInference.IsSuccess) { throw new InferenceException(InferenceType.ColumnSplit, "Unable to split the file provided into multiple, consistent columns."); diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs new file mode 100644 index 0000000000..8432249659 --- /dev/null +++ b/src/Test/ColumnInferenceTests.cs @@ -0,0 +1,24 @@ +using System.Linq; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class ColumnInferenceTests + { + [TestMethod] + public void UnGroupColumnsTest() + { + var dataPath = DatasetUtil.DownloadUciAdultDataset(); + var context = new MLContext(); + var columnInferenceWithoutGrouping = context.Data.InferColumns(dataPath, DatasetUtil.UciAdultLabel, true, groupColumns: false); + foreach (var col in columnInferenceWithoutGrouping.Columns) + { + Assert.IsFalse(col.Item1.Source.Length > 1 || col.Item1.Source[0].Min != col.Item1.Source[0].Max); + } + + var columnInferenceWithGrouping = context.Data.InferColumns(dataPath, DatasetUtil.UciAdultLabel, true, groupColumns: true); + Assert.IsTrue(columnInferenceWithGrouping.Columns.Count() < columnInferenceWithoutGrouping.Columns.Count()); + } + } +} \ No newline at end of file From 2a638ccc235549a12332d9457ad58633d2173b44 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Mon, 28 Jan 2019 23:50:57 -0800 Subject: [PATCH 036/211] Misc fixes (#39) * misc fixes -- fix bug where SMAC returning already-seen values; fix param encoding return bug in pipeline object model; nit clean-up AutoFit; return in pipeline suggester when sweeper has no next proposal; null ref fix in public object model pipeline suggester * fix in BuildPipelineNodePropsLightGbm test, fix / use correct 'newTrainer' variable in PipelneSuggester * SMAC perf improvement --- src/AutoML/AutoFitter/AutoFitter.cs | 8 +-- .../PipelineSuggesters/PipelineSuggester.cs | 34 ++++++++-- src/AutoML/Sweepers/SmacSweeper.cs | 12 ++-- src/AutoML/Sweepers/SweeperBase.cs | 6 +- .../TrainerExtensions/TrainerExtensionUtil.cs | 6 +- src/Test/GetNextPipelineTests.cs | 4 ++ src/Test/InferredPipelineTests.cs | 64 +++++++++++++++++++ src/Test/TrainerExtensionsTests.cs | 34 +++++----- 8 files changed, 128 insertions(+), 40 deletions(-) create mode 100644 src/Test/InferredPipelineTests.cs diff --git a/src/AutoML/AutoFitter/AutoFitter.cs b/src/AutoML/AutoFitter/AutoFitter.cs index 689e8c3095..a1d0aff01f 100644 --- a/src/AutoML/AutoFitter/AutoFitter.cs +++ b/src/AutoML/AutoFitter/AutoFitter.cs @@ -41,12 +41,6 @@ public AutoFitter(MLContext context, OptimizingMetricInfo metricInfo, AutoFitSet } public InferredPipelineRunResult[] Fit() - { - IteratePipelinesAndFit(); - return _history.ToArray(); - } - - private void IteratePipelinesAndFit() { var stopwatch = Stopwatch.StartNew(); var columns = AutoMlUtils.GetColumnInfoTuples(_context, _trainData, _label, _purposeOverrides); @@ -68,6 +62,8 @@ private void IteratePipelinesAndFit() } while (_history.Count < _settings.StoppingCriteria.MaxIterations && stopwatch.Elapsed.TotalMinutes < _settings.StoppingCriteria.TimeOutInMinutes); + + return _history.ToArray(); } private void ProcessPipeline(InferredPipeline pipeline) diff --git a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs index ff0e7c520c..fc59151e0f 100644 --- a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs +++ b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs @@ -21,7 +21,7 @@ public static Pipeline GetNextPipeline(IEnumerable history, { var inferredHistory = history.Select(r => InferredPipelineRunResult.FromPipelineRunResult(r)); var nextInferredPipeline = GetNextInferredPipeline(inferredHistory, columns, task, iterationsRemaining, isMaximizingMetric); - return nextInferredPipeline.ToPipeline(); + return nextInferredPipeline?.ToPipeline(); } public static InferredPipeline GetNextInferredPipeline(IEnumerable history, @@ -47,21 +47,31 @@ public static InferredPipeline GetNextInferredPipeline(IEnumerable(history.Select(h => h.Pipeline)); + // iterate over top trainers (from least run to most run), // to find next pipeline - foreach(var trainer in orderedTopTrainers) + foreach (var trainer in orderedTopTrainers) { var newTrainer = trainer.Clone(); - // make sure we have not seen pipeline before. // repeat until passes or runs out of chances - var visitedPipelines = new HashSet(history.Select(h => h.Pipeline)); const int maxNumberAttempts = 10; var count = 0; do { - SampleHyperparameters(newTrainer, history, isMaximizingMetric); + // sample new hyperparameters for the learner + if (!SampleHyperparameters(newTrainer, history, isMaximizingMetric)) + { + // if unable to sample new hyperparameters for the learner + // (ie SMAC returned 0 suggestions), break + break; + } + var pipeline = new InferredPipeline(transforms, newTrainer); + + // make sure we have not seen pipeline before if (!visitedPipelines.Contains(pipeline)) { return pipeline; @@ -169,7 +179,11 @@ private static IValueGenerator[] ConvertToValueGenerators(IEnumerable history, bool isMaximizingMetric) + /// + /// Samples new hyperparameters for the trainer, and sets them. + /// Returns true if success (new hyperparams were suggested and set). Else, returns false. + /// + private static bool SampleHyperparameters(SuggestedTrainer trainer, IEnumerable history, bool isMaximizingMetric) { var sps = ConvertToValueGenerators(trainer.SweepParams); var sweeper = new SmacSweeper( @@ -179,14 +193,20 @@ private static void SampleHyperparameters(SuggestedTrainer trainer, IEnumerable< }); IEnumerable historyToUse = history - .Where(r => r.RunSucceded && r.Pipeline.Trainer.TrainerName == trainer.TrainerName && r.Pipeline.Trainer.HyperParamSet != null); + .Where(r => r.RunSucceded && r.Pipeline.Trainer.TrainerName == trainer.TrainerName && r.Pipeline.Trainer.HyperParamSet != null && r.Pipeline.Trainer.HyperParamSet.Any()); // get new set of hyperparameter values var proposedParamSet = sweeper.ProposeSweeps(1, historyToUse.Select(h => h.ToRunResult(isMaximizingMetric))).First(); + if(!proposedParamSet.Any()) + { + return false; + } // associate proposed param set with trainer, so that smart hyperparam // sweepers (like KDO) can map them back. trainer.SetHyperparamValues(proposedParamSet); + + return true; } private static IEnumerable CalculateTransforms(MLContext context, diff --git a/src/AutoML/Sweepers/SmacSweeper.cs b/src/AutoML/Sweepers/SmacSweeper.cs index 5f855854de..490c3b80b1 100644 --- a/src/AutoML/Sweepers/SmacSweeper.cs +++ b/src/AutoML/Sweepers/SmacSweeper.cs @@ -190,13 +190,17 @@ private ParameterSet[] GreedyPlusRandomSearch(ParameterSet[] parents, FastForest for (int i = 0; i < randomConfigs.Length; i++) configurations.Add(new Tuple(randomEIs[i], randomConfigs[i])); - HashSet retainedConfigs = new HashSet(); IOrderedEnumerable> bestConfigurations = configurations.OrderByDescending(x => x.Item1); - foreach (Tuple t in bestConfigurations.Take(numOfCandidates)) - retainedConfigs.Add(t.Item2); + var retainedConfigs = new HashSet(bestConfigurations.Select(x => x.Item2)); - return retainedConfigs.ToArray(); + // remove configurations matching previous run + foreach(var previousRun in previousRuns) + { + retainedConfigs.Remove(previousRun.ParameterSet); + } + + return retainedConfigs.Take(numOfCandidates).ToArray(); } /// diff --git a/src/AutoML/Sweepers/SweeperBase.cs b/src/AutoML/Sweepers/SweeperBase.cs index ba990288d2..402e4db9f9 100644 --- a/src/AutoML/Sweepers/SweeperBase.cs +++ b/src/AutoML/Sweepers/SweeperBase.cs @@ -44,7 +44,7 @@ protected SweeperBase(ArgumentsBase args, IValueGenerator[] sweepParameters, str public virtual ParameterSet[] ProposeSweeps(int maxSweeps, IEnumerable previousRuns = null) { - var prevParamSets = previousRuns?.Select(r => r.ParameterSet).ToList() ?? new List(); + var prevParamSets = new HashSet(previousRuns?.Select(r => r.ParameterSet).ToList() ?? new List()); var result = new HashSet(); for (int i = 0; i < maxSweeps; i++) { @@ -66,9 +66,9 @@ public virtual ParameterSet[] ProposeSweeps(int maxSweeps, IEnumerable previousRuns) + protected static bool AlreadyGenerated(ParameterSet paramSet, ISet previousRuns) { - return previousRuns.Any(previousRun => previousRun.Equals(paramSet)); + return previousRuns.Contains(paramSet); } } } diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs index b70119e49c..c759138637 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs @@ -83,7 +83,7 @@ public static IDictionary BuildPipelineNodeProps(TrainerName tra return BuildLightGbmPipelineNodeProps(sweepParams); } - return sweepParams.ToDictionary(p => p.Name, p => (object)p.RawValue); + return sweepParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); } private static IDictionary BuildLightGbmPipelineNodeProps(IEnumerable sweepParams) @@ -91,10 +91,10 @@ private static IDictionary BuildLightGbmPipelineNodeProps(IEnume var treeBoosterParams = sweepParams.Where(p => _lightGbmTreeBoosterParamNames.Contains(p.Name)); var parentArgParams = sweepParams.Except(treeBoosterParams); - var treeBoosterProps = treeBoosterParams.ToDictionary(p => p.Name, p => (object)p.RawValue); + var treeBoosterProps = treeBoosterParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); var treeBoosterCustomProp = new CustomProperty("Microsoft.ML.LightGBM.TreeBooster", treeBoosterProps); - var props = parentArgParams.ToDictionary(p => p.Name, p => (object)p.RawValue); + var props = parentArgParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); props[LightGbmTreeBoosterPropName] = treeBoosterCustomProp; return props; diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs index 51c0754804..1e7f78007d 100644 --- a/src/Test/GetNextPipelineTests.cs +++ b/src/Test/GetNextPipelineTests.cs @@ -50,6 +50,10 @@ public void GetNextPipelineMock() { // get next pipeline var pipeline = PipelineSuggester.GetNextPipeline(history, columns, TaskKind.BinaryClassification, maxIterations - i); + if(pipeline == null) + { + break; + } var result = new PipelineRunResult(pipeline, AutoMlUtils.Random.NextDouble(), true); history.Add(result); diff --git a/src/Test/InferredPipelineTests.cs b/src/Test/InferredPipelineTests.cs new file mode 100644 index 0000000000..313fe0f1fd --- /dev/null +++ b/src/Test/InferredPipelineTests.cs @@ -0,0 +1,64 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class InferredPipelineTests + { + [TestMethod] + public void InferredPipelinesHashTest() + { + var context = new MLContext(); + + // test same learners with no hyperparams have the same hash code + var trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); + var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); + var transforms1 = new List(); + var transforms2 = new List(); + var inferredPipeline1 = new InferredPipeline(transforms1, trainer1); + var inferredPipeline2 = new InferredPipeline(transforms2, trainer2); + Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); + + // test same learners with hyperparams set vs empty hyperparams have different hash codes + var hyperparams1 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); + trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams1); + trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); + inferredPipeline1 = new InferredPipeline(transforms1, trainer1); + inferredPipeline2 = new InferredPipeline(transforms2, trainer2); + Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); + + // same learners with different hyperparams + hyperparams1 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); + var hyperparams2 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 6) }); + trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams1); + trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams2); + inferredPipeline1 = new InferredPipeline(transforms1, trainer1); + inferredPipeline2 = new InferredPipeline(transforms2, trainer2); + Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); + + // same learners with same transforms + trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); + trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); + transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; + transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; + inferredPipeline1 = new InferredPipeline(transforms1, trainer1); + inferredPipeline2 = new InferredPipeline(transforms2, trainer2); + Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); + + // same transforms with different learners + trainer1 = new SuggestedTrainer(context, new SdcaBinaryExtension()); + trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); + transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; + transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; + inferredPipeline1 = new InferredPipeline(transforms1, trainer1); + inferredPipeline2 = new InferredPipeline(transforms2, trainer2); + Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); + } + } +} diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index 63d116f69c..e00d075289 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -63,22 +63,22 @@ public void BuildPipelineNodePropsLightGbm() var expectedJson = @" { - ""NumBoostRound"": 1, + ""NumBoostRound"": 20, ""LearningRate"": 1, ""NumLeaves"": 1, - ""MinDataPerLeaf"": 1, - ""UseSoftmax"": 1, - ""UseCat"": 1, - ""UseMissing"": 1, - ""MinDataPerGroup"": 1, - ""MaxCatThreshold"": 1, - ""CatSmooth"": 1, - ""CatL2"": 1, + ""MinDataPerLeaf"": 10, + ""UseSoftmax"": false, + ""UseCat"": false, + ""UseMissing"": false, + ""MinDataPerGroup"": 50, + ""MaxCatThreshold"": 16, + ""CatSmooth"": 10, + ""CatL2"": 0.5, ""TreeBooster"": { ""Name"": ""Microsoft.ML.LightGBM.TreeBooster"", ""Properties"": { - ""RegLambda"": 1, - ""RegAlpha"": 1 + ""RegLambda"": 0.5, + ""RegAlpha"": 0.5 } } }"; @@ -99,12 +99,12 @@ public void BuildPipelineNodePropsSdca() var sdcaBinaryProps = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName.SdcaBinary, sweepParams); var expectedJson = @" { - ""L2Const"": 1, - ""L1Threshold"": 1, - ""ConvergenceTolerance"": 1, - ""MaxIterations"": 1, - ""Shuffle"": 1, - ""BiasLearningRate"": 1 + ""L2Const"": 1E-07, + ""L1Threshold"": 0.0, + ""ConvergenceTolerance"": 0.01, + ""MaxIterations"": 10, + ""Shuffle"": true, + ""BiasLearningRate"": 0.01 }"; Util.AssertObjectMatchesJson(expectedJson, sdcaBinaryProps); } From 21b16c3d04136e2f74abc7cfbff271ace8fcc55f Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 29 Jan 2019 00:38:31 -0800 Subject: [PATCH 037/211] Removing the nuget.config and have build.props mention the nuget package sources. (#38) * Added sequential grouping of columns * removed nuget.config and have only props mentions the nuget sources * reverted the file --- Directory.Build.props | 1 + Nuget.config | 6 ------ 2 files changed, 1 insertion(+), 6 deletions(-) delete mode 100644 Nuget.config diff --git a/Directory.Build.props b/Directory.Build.props index b500e4bf3e..1f13eef3fa 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -18,6 +18,7 @@ https://api.nuget.org/v3/index.json; https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json; https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; + https://dotnet.myget.org/F/system-commandline/api/v3/index.json; diff --git a/Nuget.config b/Nuget.config deleted file mode 100644 index 3f0e003403..0000000000 --- a/Nuget.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From ff599fd4bcc1e5a73582f5ef8f3740ecbc5e520f Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Tue, 29 Jan 2019 14:35:13 -0800 Subject: [PATCH 038/211] transform inferencing concat / ignore fixes (#41) --- .../TransformInference/TransformInference.cs | 93 ++++++++----------- src/Test/TransformInferenceTests.cs | 2 + 2 files changed, 40 insertions(+), 55 deletions(-) diff --git a/src/AutoML/TransformInference/TransformInference.cs b/src/AutoML/TransformInference/TransformInference.cs index 2900d340e3..179d46a865 100644 --- a/src/AutoML/TransformInference/TransformInference.cs +++ b/src/AutoML/TransformInference/TransformInference.cs @@ -67,8 +67,6 @@ public override string ToString() /// internal static class TransformInference { - private const bool ExcludeFeaturesConcatTransforms = false; - internal class IntermediateColumn { public readonly string ColumnName; @@ -120,15 +118,11 @@ public bool Equals(ColumnRoutingStructure obj) internal interface ITransformInferenceExpert { - bool IncludeFeaturesOverride { get; set; } - IEnumerable Apply(IntermediateColumn[] columns); } public abstract class TransformInferenceExpertBase : ITransformInferenceExpert { - public bool IncludeFeaturesOverride { get; set; } - public abstract IEnumerable Apply(IntermediateColumn[] columns); protected readonly MLContext Context; @@ -259,12 +253,6 @@ public override IEnumerable Apply(IntermediateColumn[] colum var transformedColumns = new List(); transformedColumns.AddRange(catColumnsNew); transformedColumns.AddRange(catHashColumnsNew); - - if (!ExcludeFeaturesConcatTransforms && transformedColumns.Count > 0) - { - yield return InferenceHelpers.GetRemainingFeatures(transformedColumns, columns, IncludeFeaturesOverride); - IncludeFeaturesOverride = true; - } } } @@ -288,32 +276,10 @@ public override IEnumerable Apply(IntermediateColumn[] colum { var newColumnsArr = newColumns.ToArray(); yield return TypeConvertingExtension.CreateSuggestedTransform(Context, newColumnsArr, newColumnsArr); - - // Concat featurized columns into existing feature column, if transformed at least one column. - if (!ExcludeFeaturesConcatTransforms) - { - yield return InferenceHelpers.GetRemainingFeatures(newColumns, columns, IncludeFeaturesOverride); - IncludeFeaturesOverride = true; - } } } } - internal static class InferenceHelpers - { - public static SuggestedTransform GetRemainingFeatures(List newCols, IntermediateColumn[] existingColumns, - bool includeFeaturesOverride) - { - // Pick up existing features columns, if they exist - var featuresColumnsCount = existingColumns.Count(col => - (col.Purpose == ColumnPurpose.NumericFeature) && - (col.ColumnName == DefaultColumnNames.Features)); - if (includeFeaturesOverride || featuresColumnsCount > 0) - newCols.Insert(0, DefaultColumnNames.Features); - return ColumnConcatenatingExtension.CreateSuggestedTransform(new MLContext(), newCols.ToArray(), DefaultColumnNames.Features); - } - } - internal sealed class Text : TransformInferenceExpertBase { public override IEnumerable Apply(IntermediateColumn[] columns) @@ -333,13 +299,6 @@ public override IEnumerable Apply(IntermediateColumn[] colum featureCols.Add(columnDestRenamed); yield return TextFeaturizingExtension.CreateSuggestedTransform(Context, columnNameSafe, columnDestRenamed); } - - // Concat text featurized columns into existing feature column, if transformed at least one column. - if (!ExcludeFeaturesConcatTransforms && featureCols.Count > 0) - { - yield return InferenceHelpers.GetRemainingFeatures(featureCols, columns, IncludeFeaturesOverride); - IncludeFeaturesOverride = true; - } } } @@ -471,27 +430,51 @@ public override IEnumerable Apply(IntermediateColumn[] colum /// /// Automatically infer transforms for the data view /// - public static SuggestedTransform[] InferTransforms(MLContext env, (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns) + public static SuggestedTransform[] InferTransforms(MLContext context, (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns) { - var intermediateCols = new IntermediateColumn[columns.Length]; - for (var i = 0; i < columns.Length; i++) - { - var column = columns[i]; - var intermediateCol = new IntermediateColumn(column.Item1, column.Item2, column.Item3, column.Item4); - intermediateCols[i] = intermediateCol; - } + var intermediateCols = columns.Where(c => c.Item3 != ColumnPurpose.Ignore) + .Select(c => new IntermediateColumn(c.Item1, c.Item2, c.Item3, c.Item4)) + .ToArray(); - var list = new List(); - var includeFeaturesOverride = false; + var suggestedTransforms = new List(); foreach (var expert in GetExperts()) { - expert.IncludeFeaturesOverride = includeFeaturesOverride; SuggestedTransform[] suggestions = expert.Apply(intermediateCols).ToArray(); - includeFeaturesOverride |= expert.IncludeFeaturesOverride; + suggestedTransforms.AddRange(suggestions); + } + + var finalFeaturesConcatTransform = BuildFinalFeaturesConcatTransform(context, suggestedTransforms); + if(finalFeaturesConcatTransform != null) + { + suggestedTransforms.Add(finalFeaturesConcatTransform); + } + + return suggestedTransforms.ToArray(); + } + + /// + /// Build final features concat transform, using output of all suggested experts. + /// Take the output columns from all suggested experts (except for 'Label'), and concatenate them + /// into one final 'Features' column that a trainer will accept. + /// + private static SuggestedTransform BuildFinalFeaturesConcatTransform(MLContext context, IEnumerable suggestedTransforms) + { + // get the output column names from all suggested transforms + var outputColNames = new List(); + foreach (var suggestedTransform in suggestedTransforms) + { + outputColNames.AddRange(suggestedTransform.PipelineNode.OutColumns); + } + + // remove 'Label' if it was ever a suggested purpose + outputColNames.Remove(DefaultColumnNames.Label); - list.AddRange(suggestions); + if(!outputColNames.Any()) + { + return null; } - return list.ToArray(); + + return ColumnConcatenatingExtension.CreateSuggestedTransform(context, outputColNames.ToArray(), DefaultColumnNames.Features); } } } diff --git a/src/Test/TransformInferenceTests.cs b/src/Test/TransformInferenceTests.cs index d167fa8367..ee8a1dc62a 100644 --- a/src/Test/TransformInferenceTests.cs +++ b/src/Test/TransformInferenceTests.cs @@ -19,6 +19,7 @@ public void TransformInferenceCategoricalColumns() { ("Num1", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), ("Num2", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Ignore", NumberType.R4, ColumnPurpose.Ignore, new ColumnDimensions(null, null)), ("Cat1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), ("Cat2", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), ("LargeCat1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), @@ -71,6 +72,7 @@ public void TransformInferenceCategoricalColumns() ""Name"": ""ColumnConcatenating"", ""NodeType"": 0, ""InColumns"": [ + ""Features"", ""Cat1"", ""Cat2"", ""LargeCat1"", From f8dd6f889a48c357cee039d5b8ff534011f1c6d2 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Tue, 29 Jan 2019 14:43:08 -0800 Subject: [PATCH 039/211] make pipeline object model & other public classes internal (#43) --- src/AutoML/API/MLContextAutoFitExtensions.cs | 12 ++++++------ src/AutoML/API/Pipeline.cs | 15 ++++++++------- src/AutoML/AutoFitter/OptimizingMetric.cs | 2 +- .../EstimatorExtensionCatalog.cs | 2 +- src/AutoML/TaskKind.cs | 2 +- .../TrainerExtensions/TrainerExtensionUtil.cs | 2 +- 6 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/AutoML/API/MLContextAutoFitExtensions.cs b/src/AutoML/API/MLContextAutoFitExtensions.cs index f768b2daf6..b6a8c823cf 100644 --- a/src/AutoML/API/MLContextAutoFitExtensions.cs +++ b/src/AutoML/API/MLContextAutoFitExtensions.cs @@ -184,9 +184,9 @@ public class BinaryClassificationItertionResult public readonly BinaryClassificationMetrics Metrics; public readonly ITransformer Model; public readonly IDataView ScoredValidationData; - public readonly Pipeline Pipeline; + internal readonly Pipeline Pipeline; - public BinaryClassificationItertionResult(ITransformer model, BinaryClassificationMetrics metrics, IDataView scoredValidationData, Pipeline pipeline) + internal BinaryClassificationItertionResult(ITransformer model, BinaryClassificationMetrics metrics, IDataView scoredValidationData, Pipeline pipeline) { Model = model; ScoredValidationData = scoredValidationData; @@ -200,9 +200,9 @@ public class MulticlassClassificationIterationResult public readonly MultiClassClassifierMetrics Metrics; public readonly ITransformer Model; public readonly IDataView ScoredValidationData; - public readonly Pipeline Pipeline; + internal readonly Pipeline Pipeline; - public MulticlassClassificationIterationResult(ITransformer model, MultiClassClassifierMetrics metrics, IDataView scoredValidationData, Pipeline pipeline) + internal MulticlassClassificationIterationResult(ITransformer model, MultiClassClassifierMetrics metrics, IDataView scoredValidationData, Pipeline pipeline) { Model = model; Metrics = metrics; @@ -216,9 +216,9 @@ public class RegressionIterationResult public readonly RegressionMetrics Metrics; public readonly ITransformer Model; public readonly IDataView ScoredValidationData; - public readonly Pipeline Pipeline; + internal readonly Pipeline Pipeline; - public RegressionIterationResult(ITransformer model, RegressionMetrics metrics, IDataView scoredValidationData, Pipeline pipeline) + internal RegressionIterationResult(ITransformer model, RegressionMetrics metrics, IDataView scoredValidationData, Pipeline pipeline) { Model = model; Metrics = metrics; diff --git a/src/AutoML/API/Pipeline.cs b/src/AutoML/API/Pipeline.cs index f7c431570c..a5644eaf83 100644 --- a/src/AutoML/API/Pipeline.cs +++ b/src/AutoML/API/Pipeline.cs @@ -7,7 +7,7 @@ namespace Microsoft.ML.Auto { - public class Pipeline + internal class Pipeline { public PipelineNode[] Nodes { get; set; } @@ -28,7 +28,7 @@ public IEstimator ToEstimator() } } - public class PipelineNode + internal class PipelineNode { public string Name { get; set; } public PipelineNodeType NodeType { get; set; } @@ -65,13 +65,13 @@ internal PipelineNode() } } - public enum PipelineNodeType + internal enum PipelineNodeType { Transform, Trainer } - public class CustomProperty + internal class CustomProperty { public string Name { get; set; } public IDictionary Properties { get; set; } @@ -87,9 +87,8 @@ internal CustomProperty() } } - public class PipelineRunResult + internal class PipelineRunResult { - public readonly Pipeline Pipeline; public readonly double Score; /// @@ -98,7 +97,9 @@ public class PipelineRunResult /// public readonly bool RunSucceded; - public PipelineRunResult(Pipeline pipeline, double score, bool runSucceeded) + internal readonly Pipeline Pipeline; + + internal PipelineRunResult(Pipeline pipeline, double score, bool runSucceeded) { Pipeline = pipeline; Score = score; diff --git a/src/AutoML/AutoFitter/OptimizingMetric.cs b/src/AutoML/AutoFitter/OptimizingMetric.cs index 871ccc7723..0842aebd13 100644 --- a/src/AutoML/AutoFitter/OptimizingMetric.cs +++ b/src/AutoML/AutoFitter/OptimizingMetric.cs @@ -6,7 +6,7 @@ namespace Microsoft.ML.Auto { - public enum OptimizingMetric + internal enum OptimizingMetric { Auc, Accuracy, diff --git a/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs b/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs index a6eceb403c..3eac9e3c4e 100644 --- a/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs +++ b/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs @@ -7,7 +7,7 @@ namespace Microsoft.ML.Auto { - public enum EstimatorName + internal enum EstimatorName { ColumnConcatenating, ColumnCopying, diff --git a/src/AutoML/TaskKind.cs b/src/AutoML/TaskKind.cs index 75de942413..93e0929f51 100644 --- a/src/AutoML/TaskKind.cs +++ b/src/AutoML/TaskKind.cs @@ -4,7 +4,7 @@ namespace Microsoft.ML.Auto { - public enum TaskKind + internal enum TaskKind { BinaryClassification, MulticlassClassification, diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs index c759138637..09066bfd44 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs @@ -10,7 +10,7 @@ namespace Microsoft.ML.Auto { - public enum TrainerName + internal enum TrainerName { AveragedPerceptronBinary, AveragedPerceptronOva, From bd900fff8fd459235cace3b17743974abc5c14de Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Tue, 29 Jan 2019 15:35:40 -0800 Subject: [PATCH 040/211] handle SMAC exception when fewer trees were trained than requested (#44) --- src/AutoML/Sweepers/SmacSweeper.cs | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/AutoML/Sweepers/SmacSweeper.cs b/src/AutoML/Sweepers/SmacSweeper.cs index 490c3b80b1..b1c9b11175 100644 --- a/src/AutoML/Sweepers/SmacSweeper.cs +++ b/src/AutoML/Sweepers/SmacSweeper.cs @@ -318,14 +318,26 @@ private double[][] GetForestRegressionLeafValues(FastForestRegressionModelParame foreach (ParameterSet config in configs) { List leafValues = new List(); - for(var treeId = 0; treeId < _args.NumOfTrees; treeId++) + for (var treeId = 0; treeId < _args.NumOfTrees; treeId++) { - Float[] transformedParams = SweeperProbabilityUtils.ParameterSetAsFloatArray(_sweepParameters, config, true); - VBuffer features = new VBuffer(transformedParams.Length, transformedParams); - List path = null; - var leafId = forest.GetLeaf(treeId, features, ref path); - var leafValue = forest.GetLeafValue(treeId, leafId); - leafValues.Add(leafValue); + // hack pending fix for ML.NET issue https://github.com/dotnet/machinelearning/issues/1960 + // we requested SMAC to train _args.NumOfTrees. however, it's possible it trained < this # of trees. + // if we requested SMAC train 10 trees, but it only trained 8, then when we try to pull + // the leaf node value from the 9th tree in the code in the try block, an exception will be thrown. + // for now, swallow the exception, and just proceed using all the leaf values. + try + { + Float[] transformedParams = SweeperProbabilityUtils.ParameterSetAsFloatArray(_sweepParameters, config, true); + VBuffer features = new VBuffer(transformedParams.Length, transformedParams); + List path = null; + var leafId = forest.GetLeaf(treeId, features, ref path); + var leafValue = forest.GetLeafValue(treeId, leafId); + leafValues.Add(leafValue); + } + catch (Exception) + { + // swallow exception + } } datasetLeafValues.Add(leafValues.ToArray()); } From d254f4e49944e74f931b4c474ba06f88be403811 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 29 Jan 2019 16:06:10 -0800 Subject: [PATCH 041/211] Throw error on incorrect Label name in InferColumns API (#47) * Added sequential grouping of columns * reverted the file * addded infer columns label name checking * added column detection error * removed unsed usings * added quotes * replace Where with Any clause * replace Where with Any clause --- src/AutoML/ColumnInference/ColumnInferenceApi.cs | 4 ++++ src/Test/ColumnInferenceTests.cs | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/AutoML/ColumnInference/ColumnInferenceApi.cs b/src/AutoML/ColumnInference/ColumnInferenceApi.cs index 26d4f3e807..992d457631 100644 --- a/src/AutoML/ColumnInference/ColumnInferenceApi.cs +++ b/src/AutoML/ColumnInference/ColumnInferenceApi.cs @@ -16,6 +16,10 @@ public static ColumnInferenceResult InferColumns(MLContext context, string path, var splitInference = InferSplit(sample, separatorChar, allowQuotedStrings, supportSparse); var typeInference = InferColumnTypes(context, sample, splitInference, hasHeader); var loaderColumns = ColumnTypeInference.GenerateLoaderColumns(typeInference.Columns); + if (!loaderColumns.Any(t => label.Equals(t.Name))) + { + throw new InferenceException(InferenceType.Label, $"Specified Label Column '{label}' was not found."); + } var typedLoaderArgs = new TextLoader.Arguments { Column = loaderColumns, diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index 8432249659..bb6058957f 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -20,5 +20,13 @@ public void UnGroupColumnsTest() var columnInferenceWithGrouping = context.Data.InferColumns(dataPath, DatasetUtil.UciAdultLabel, true, groupColumns: true); Assert.IsTrue(columnInferenceWithGrouping.Columns.Count() < columnInferenceWithoutGrouping.Columns.Count()); } + + [TestMethod] + public void IncorrectLabelColumnTest() + { + var dataPath = DatasetUtil.DownloadUciAdultDataset(); + var context = new MLContext(); + Assert.ThrowsException(new System.Action(() => context.Data.InferColumns(dataPath, "Junk", true, groupColumns: false))); + } } } \ No newline at end of file From 41c663cd14247d44022f40cf2dce5977dbab282d Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 30 Jan 2019 13:57:13 -0800 Subject: [PATCH 042/211] Set Nullable Auto params to null values (#50) * Added sequential grouping of columns * reverted the file * added auto params as null * change to the update fields method --- .../TrainerExtensions/SweepableParams.cs | 25 +++++++------ .../TrainerExtensions/TrainerExtensionUtil.cs | 25 +++---------- src/Test/TrainerExtensionsTests.cs | 36 +++++++++++++++---- 3 files changed, 48 insertions(+), 38 deletions(-) diff --git a/src/AutoML/TrainerExtensions/SweepableParams.cs b/src/AutoML/TrainerExtensions/SweepableParams.cs index c2daeabd7b..9890127327 100644 --- a/src/AutoML/TrainerExtensions/SweepableParams.cs +++ b/src/AutoML/TrainerExtensions/SweepableParams.cs @@ -31,14 +31,14 @@ private static IEnumerable BuildOnlineLinearArgsParams() private static IEnumerable BuildTreeArgsParams() { - return new SweepableParam[] - { + return new SweepableParam[] + { new SweepableLongParam("NumLeaves", 2, 128, isLogScale: true, stepSize: 4), new SweepableDiscreteParam("MinDocumentsInLeafs", new object[] { 1, 10, 50 }), new SweepableDiscreteParam("NumTrees", new object[] { 20, 100, 500 }), new SweepableFloatParam("LearningRates", 0.025f, 0.4f, isLogScale: true), new SweepableFloatParam("Shrinkage", 0.025f, 4f, isLogScale: true), - }; + }; } private static IEnumerable BuildLbfgsArgsParams() @@ -123,22 +123,24 @@ public static IEnumerable BuildPoissonRegressionParams() public static IEnumerable BuildSdcaParams() { return new SweepableParam[] { - new SweepableDiscreteParam("L2Const", new object[] { "", 1e-7f, 1e-6f, 1e-5f, 1e-4f, 1e-3f, 1e-2f }), - new SweepableDiscreteParam("L1Threshold", new object[] { "", 0f, 0.25f, 0.5f, 0.75f, 1f }), + new SweepableDiscreteParam("L2Const", new object[] { null, 1e-7f, 1e-6f, 1e-5f, 1e-4f, 1e-3f, 1e-2f }), + new SweepableDiscreteParam("L1Threshold", new object[] { null, 0f, 0.25f, 0.5f, 0.75f, 1f }), new SweepableDiscreteParam("ConvergenceTolerance", new object[] { 0.001f, 0.01f, 0.1f, 0.2f }), - new SweepableDiscreteParam("MaxIterations", new object[] { "", 10, 20, 100 }), + new SweepableDiscreteParam("MaxIterations", new object[] { null, 10, 20, 100 }), new SweepableDiscreteParam("Shuffle", null, isBool: true), new SweepableDiscreteParam("BiasLearningRate", new object[] { 0.0f, 0.01f, 0.1f, 1f }) }; } - public static IEnumerable BuildOrdinaryLeastSquaresParams() { + public static IEnumerable BuildOrdinaryLeastSquaresParams() + { return new SweepableParam[] { new SweepableDiscreteParam("L2Weight", new object[] { 1e-6f, 0.1f, 1f }) }; } - public static IEnumerable BuildSgdParams() { + public static IEnumerable BuildSgdParams() + { return new SweepableParam[] { new SweepableDiscreteParam("L2Weight", new object[] { 1e-7f, 5e-7f, 1e-6f, 5e-6f, 1e-5f }), new SweepableDiscreteParam("ConvergenceTolerance", new object[] { 1e-2f, 1e-3f, 1e-4f, 1e-5f }), @@ -147,12 +149,13 @@ public static IEnumerable BuildSgdParams() { }; } - public static IEnumerable BuildSymSgdParams() { + public static IEnumerable BuildSymSgdParams() + { return new SweepableParam[] { new SweepableDiscreteParam("NumberOfIterations", new object[] { 1, 5, 10, 20, 30, 40, 50 }), - new SweepableDiscreteParam("LearningRate", new object[] { "", 1e1f, 1e0f, 1e-1f, 1e-2f, 1e-3f }), + new SweepableDiscreteParam("LearningRate", new object[] { null, 1e1f, 1e0f, 1e-1f, 1e-2f, 1e-3f }), new SweepableDiscreteParam("L2Regularization", new object[] { 0.0f, 1e-5f, 1e-5f, 1e-6f, 1e-7f }), - new SweepableDiscreteParam("UpdateFrequency", new object[] { "", 5, 20 }) + new SweepableDiscreteParam("UpdateFrequency", new object[] { null, 5, 20 }) }; } } diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs index 09066bfd44..e34be3d329 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs @@ -77,7 +77,7 @@ public static Action CreateLightGbmArgsFunc(IEnumerable BuildPipelineNodeProps(TrainerName trainerName, IEnumerable sweepParams) { - if(trainerName == TrainerName.LightGbmBinary || trainerName == TrainerName.LightGbmMulti || + if (trainerName == TrainerName.LightGbmBinary || trainerName == TrainerName.LightGbmMulti || trainerName == TrainerName.LightGbmRegression) { return BuildLightGbmPipelineNodeProps(sweepParams); @@ -96,7 +96,7 @@ private static IDictionary BuildLightGbmPipelineNodeProps(IEnume var props = parentArgParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); props[LightGbmTreeBoosterPropName] = treeBoosterCustomProp; - + return props; } @@ -155,24 +155,9 @@ public static void UpdateFields(object obj, IEnumerable sweepPar { var optIndex = (int)dp.RawValue; //Contracts.Assert(0 <= optIndex && optIndex < dp.Options.Length, $"Options index out of range: {optIndex}"); - var option = dp.Options[optIndex].ToString().ToLower(); - - // Handle string values in sweep params - if (option == "auto" || option == "" || option == "< auto >") - { - //Check if nullable type, in which case 'null' is the auto value. - if (Nullable.GetUnderlyingType(fi.FieldType) != null) - fi.SetValue(obj, null); - else if (fi.FieldType.IsEnum) - { - // Check if there is an enum option named Auto - var enumDict = fi.FieldType.GetEnumValues().Cast() - .ToDictionary(v => Enum.GetName(fi.FieldType, v), v => v); - if (enumDict.ContainsKey("Auto")) - fi.SetValue(obj, enumDict["Auto"]); - } - } - else + var option = dp.Options[optIndex]; + + if (option != null) SetValue(fi, (IComparable)dp.Options[optIndex], obj, propType); } else diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index e00d075289..34f788e3f1 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -17,7 +17,7 @@ public void TrainerExtensionInstanceTests() { var context = new MLContext(); var trainerNames = Enum.GetValues(typeof(TrainerName)).Cast(); - foreach(var trainerName in trainerNames) + foreach (var trainerName in trainerNames) { var extension = TrainerExtensionCatalog.GetTrainerExtension(trainerName); var instance = extension.CreateInstance(context, null); @@ -33,7 +33,7 @@ public void GetTrainersByMaxIterations() var tasks = new TaskKind[] { TaskKind.BinaryClassification, TaskKind.MulticlassClassification, TaskKind.Regression }; - foreach(var task in tasks) + foreach (var task in tasks) { var trainerSet10 = TrainerExtensionCatalog.GetTrainers(task, 10); var trainerSet50 = TrainerExtensionCatalog.GetTrainers(task, 50); @@ -52,7 +52,7 @@ public void GetTrainersByMaxIterations() public void BuildPipelineNodePropsLightGbm() { var sweepParams = SweepableParams.BuildLightGbmParams(); - foreach(var sweepParam in sweepParams) + foreach (var sweepParam in sweepParams) { sweepParam.RawValue = 1; } @@ -91,7 +91,7 @@ public void BuildPipelineNodePropsLightGbm() public void BuildPipelineNodePropsSdca() { var sweepParams = SweepableParams.BuildSdcaParams(); - foreach(var sweepParam in sweepParams) + foreach (var sweepParam in sweepParams) { sweepParam.RawValue = 1; } @@ -108,7 +108,29 @@ public void BuildPipelineNodePropsSdca() }"; Util.AssertObjectMatchesJson(expectedJson, sdcaBinaryProps); } - + + [TestMethod] + public void BuildPipelineNodePropsSdcaWithNullValues() + { + var sweepParams = SweepableParams.BuildSdcaParams(); + foreach (var sweepParam in sweepParams) + { + sweepParam.RawValue = 0; + } + + var sdcaBinaryProps = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName.SdcaBinary, sweepParams); + var expectedJson = @" +{ + ""L2Const"": null, + ""L1Threshold"": null, + ""ConvergenceTolerance"": 0.001, + ""MaxIterations"": null, + ""Shuffle"": false, + ""BiasLearningRate"": 0.0 +}"; + Util.AssertObjectMatchesJson(expectedJson, sdcaBinaryProps); + } + [TestMethod] public void BuildParameterSetLightGbm() { @@ -129,7 +151,7 @@ public void BuildParameterSetLightGbm() var multiParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.LightGbmMulti, props); var regressionParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.LightGbmRegression, props); - foreach(var paramSet in new ParameterSet[] { binaryParams, multiParams, regressionParams }) + foreach (var paramSet in new ParameterSet[] { binaryParams, multiParams, regressionParams }) { Assert.AreEqual(4, paramSet.Count); Assert.AreEqual("1", paramSet["NumBoostRound"].ValueText); @@ -148,7 +170,7 @@ public void BuildParameterSetSdca() }; var sdcaParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.SdcaBinary, props); - + Assert.AreEqual(1, sdcaParams.Count); Assert.AreEqual("1", sdcaParams["LearningRate"].ValueText); } From e4a64cf4aeab13ee9e5bf0efe242da3270241bd7 Mon Sep 17 00:00:00 2001 From: vinodshanbhag <33269336+vinodshanbhag@users.noreply.github.com> Date: Wed, 30 Jan 2019 14:30:18 -0800 Subject: [PATCH 043/211] First public api propsal (#52) * Includes following 1) Final proposal for 0.1 public API surface 2) Prefeaturization 3) Splitting train data into train and validate when validation data is null 4) Providing end to end samples one each for regression, binaryclassification and multiclass classification * Incorporating code review feedbacks --- src/AutoML/API/AutoFitSettings.cs | 44 +- src/AutoML/API/MLContextAutoFitExtensions.cs | 106 +- src/AutoML/AutoFitter/AutoFitApi.cs | 21 +- src/AutoML/AutoFitter/AutoFitter.cs | 2 +- src/AutoML/AutoMlUtils.cs | 14 + src/AutoML/Utils/UserInputValidationUtil.cs | 2 +- src/Samples/AutoTrainBinaryClassification.cs | 99 + .../AutoTrainMulticlassClassification.cs | 103 + src/Samples/AutoTrainRegression.cs | 104 + src/Samples/Benchmarking.cs | 45 - src/Samples/BinaryClassification.cs | 153 - src/Samples/Data/README.md | 105 + src/Samples/Data/iris-test.txt | 31 + src/Samples/Data/iris-train.txt | 121 + src/Samples/Data/taxi-fare-test.csv | 100001 +++++++++++++++ src/Samples/Data/taxi-fare-train.csv | 100001 +++++++++++++++ .../Data/wikipedia-detox-250-line-data.tsv | 250 + .../Data/wikipedia-detox-250-line-test.tsv | 19 + src/Samples/MulticlassClassification.cs | 44 - src/Samples/Program.cs | 24 +- src/Test/AutoFitTests.cs | 12 +- 21 files changed, 200991 insertions(+), 310 deletions(-) create mode 100644 src/Samples/AutoTrainBinaryClassification.cs create mode 100644 src/Samples/AutoTrainMulticlassClassification.cs create mode 100644 src/Samples/AutoTrainRegression.cs delete mode 100644 src/Samples/Benchmarking.cs delete mode 100644 src/Samples/BinaryClassification.cs create mode 100644 src/Samples/Data/README.md create mode 100644 src/Samples/Data/iris-test.txt create mode 100644 src/Samples/Data/iris-train.txt create mode 100644 src/Samples/Data/taxi-fare-test.csv create mode 100644 src/Samples/Data/taxi-fare-train.csv create mode 100644 src/Samples/Data/wikipedia-detox-250-line-data.tsv create mode 100644 src/Samples/Data/wikipedia-detox-250-line-test.tsv delete mode 100644 src/Samples/MulticlassClassification.cs diff --git a/src/AutoML/API/AutoFitSettings.cs b/src/AutoML/API/AutoFitSettings.cs index ed10a265ae..949d8632c6 100644 --- a/src/AutoML/API/AutoFitSettings.cs +++ b/src/AutoML/API/AutoFitSettings.cs @@ -7,29 +7,38 @@ namespace Microsoft.ML.Auto { - public class AutoFitSettings + internal static class AutoFitDefaults { + public const uint TimeOutInMinutes = 24 * 60; + public const uint MaxIterations = 1000; + } + + internal class AutoFitSettings + { + // All the following settings only capture the surface area of capabilities we want to ship in future. + // However, most certainly they will not ship using following types and structures + // These should remain internal until we have rationalized + public ExperimentStoppingCriteria StoppingCriteria = new ExperimentStoppingCriteria(); internal IterationStoppingCriteria IterationStoppingCriteria; internal Concurrency Concurrency; internal Filters Filters; internal CrossValidationSettings CrossValidationSettings; internal OptimizingMetric OptimizingMetric; - internal bool EnableEnsembling; - internal bool EnableModelExplainability; - internal bool EnableAutoTransformation; + internal bool DisableEnsembling; + internal bool CaclculateModelExplainability; + internal bool DisableFeaturization; - // spec question: Are following automatic or a user setting? - internal bool EnableSubSampling; - internal bool EnableCaching; + internal bool DisableSubSampling; + internal bool DisableCaching; internal bool ExternalizeTraining; - internal TraceLevel TraceLevel; // Should this be controlled through code or appconfig? + internal TraceLevel TraceLevel; } - public class ExperimentStoppingCriteria + internal class ExperimentStoppingCriteria { - public int MaxIterations = 100; - public int TimeOutInMinutes = 300; + public uint TimeOutInMinutes = AutoFitDefaults.TimeOutInMinutes; + public uint MaxIterations = AutoFitDefaults.MaxIterations; internal bool StopAfterConverging; internal double ExperimentExitScore; } @@ -40,19 +49,20 @@ internal class Filters internal IEnumerable BlackListTrainers; internal IEnumerable WhitelistTransformers; internal IEnumerable BlacklistTransformers; - internal bool PreferExplainability; - internal bool PreferInferenceSpeed; - internal bool PreferSmallDeploymentSize; - internal bool PreferSmallMemoryFootprint; + internal uint? Explainability; + internal uint? InferenceSpeed; + internal uint? DeploymentSize; + internal uint? TrainingMemorySize; + internal bool? GpuTraining; } - public class IterationStoppingCriteria + internal class IterationStoppingCriteria { internal int TimeOutInSeconds; internal bool TerminateOnLowAccuracy; } - public class Concurrency + internal class Concurrency { internal int MaxConcurrentIterations; internal int MaxCoresPerIteration; diff --git a/src/AutoML/API/MLContextAutoFitExtensions.cs b/src/AutoML/API/MLContextAutoFitExtensions.cs index b6a8c823cf..f8827fd96a 100644 --- a/src/AutoML/API/MLContextAutoFitExtensions.cs +++ b/src/AutoML/API/MLContextAutoFitExtensions.cs @@ -14,32 +14,42 @@ public static class RegressionExtensions { public static RegressionResult AutoFit(this RegressionContext context, IDataView trainData, - string label, - IDataView validationData, - AutoFitSettings settings = null, - IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, + string label = DefaultColumnNames.Label, + IDataView validationData = null, + uint timeoutInMinutes = AutoFitDefaults.TimeOutInMinutes, + IEstimator preFeaturizers = null, + IEnumerable<(string, ColumnPurpose)> columnPurposes = null, CancellationToken cancellationToken = default, IProgress iterationCallback = null) { + var settings = new AutoFitSettings(); + settings.StoppingCriteria.TimeOutInMinutes = timeoutInMinutes; + return AutoFit(context, trainData, label, validationData, settings, - purposeOverrides, cancellationToken, iterationCallback, null); + preFeaturizers, columnPurposes, cancellationToken, iterationCallback, null); } internal static RegressionResult AutoFit(this RegressionContext context, IDataView trainData, - string label, - IDataView validationData, + string label = DefaultColumnNames.Label, + IDataView validationData = null, AutoFitSettings settings = null, - IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, + IEstimator preFeaturizers = null, + IEnumerable<(string, ColumnPurpose)> columnPurposes = null, CancellationToken cancellationToken = default, IProgress iterationCallback = null, IDebugLogger debugLogger = null) { - UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, purposeOverrides); + UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, columnPurposes); + + if (validationData == null) + { + (trainData, validationData) = context.TestValidateSplit(trainData); + } // run autofit & get all pipelines run in that process var (allPipelines, bestPipeline) = AutoFitApi.Fit(trainData, validationData, label, - settings, TaskKind.Regression, OptimizingMetric.RSquared, purposeOverrides, debugLogger); + settings, preFeaturizers, TaskKind.Regression, OptimizingMetric.RSquared, columnPurposes, debugLogger); var results = new RegressionIterationResult[allPipelines.Length]; for (var i = 0; i < results.Length; i++) @@ -57,33 +67,43 @@ public static class BinaryClassificationExtensions { public static BinaryClassificationResult AutoFit(this BinaryClassificationContext context, IDataView trainData, - string label, - IDataView validationData, - AutoFitSettings settings = null, - IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, + string label = DefaultColumnNames.Label, + IDataView validationData = null, + uint timeoutInMinutes = AutoFitDefaults.TimeOutInMinutes, + IEstimator preFeaturizers = null, + IEnumerable<(string, ColumnPurpose)> columnPurposes = null, CancellationToken cancellationToken = default, IProgress iterationCallback = null) { + var settings = new AutoFitSettings(); + settings.StoppingCriteria.TimeOutInMinutes = timeoutInMinutes; + return AutoFit(context, trainData, label, validationData, settings, - purposeOverrides, cancellationToken, iterationCallback, null); + preFeaturizers, columnPurposes, cancellationToken, iterationCallback, null); } internal static BinaryClassificationResult AutoFit(this BinaryClassificationContext context, IDataView trainData, - string label, - IDataView validationData, + string label = DefaultColumnNames.Label, + IDataView validationData = null, AutoFitSettings settings = null, - IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, + IEstimator preFeaturizers = null, + IEnumerable<(string, ColumnPurpose)> columnPurposes = null, CancellationToken cancellationToken = default, IProgress iterationCallback = null, IDebugLogger debugLogger = null) { - UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, purposeOverrides); + UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, columnPurposes); + + if (validationData == null) + { + (trainData, validationData) = context.TestValidateSplit(trainData); + } // run autofit & get all pipelines run in that process var (allPipelines, bestPipeline) = AutoFitApi.Fit(trainData, validationData, label, - settings, TaskKind.BinaryClassification, OptimizingMetric.Accuracy, - purposeOverrides, debugLogger); + settings, preFeaturizers, TaskKind.BinaryClassification, OptimizingMetric.Accuracy, + columnPurposes, debugLogger); var results = new BinaryClassificationItertionResult[allPipelines.Length]; for (var i = 0; i < results.Length; i++) @@ -101,32 +121,42 @@ public static class MulticlassExtensions { public static MulticlassClassificationResult AutoFit(this MulticlassClassificationContext context, IDataView trainData, - string label, - IDataView validationData, - AutoFitSettings settings = null, - IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, + string label = DefaultColumnNames.Label, + IDataView validationData = null, + uint timeoutInMinutes = AutoFitDefaults.TimeOutInMinutes, + IEstimator preFeaturizers = null, + IEnumerable<(string, ColumnPurpose)> columnPurposes = null, CancellationToken cancellationToken = default, IProgress iterationCallback = null) { + var settings = new AutoFitSettings(); + settings.StoppingCriteria.TimeOutInMinutes = timeoutInMinutes; + return AutoFit(context, trainData, label, validationData, settings, - purposeOverrides, cancellationToken, iterationCallback, null); + preFeaturizers, columnPurposes, cancellationToken, iterationCallback, null); } internal static MulticlassClassificationResult AutoFit(this MulticlassClassificationContext context, IDataView trainData, - string label, - IDataView validationData, + string label = DefaultColumnNames.Label, + IDataView validationData = null, AutoFitSettings settings = null, - IEnumerable<(string, ColumnPurpose)> purposeOverrides = null, + IEstimator preFeaturizers = null, + IEnumerable<(string, ColumnPurpose)> columnPurposes = null, CancellationToken cancellationToken = default, IProgress iterationCallback = null, IDebugLogger debugLogger = null) { - UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, purposeOverrides); + UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, columnPurposes); + + if (validationData == null) + { + (trainData, validationData) = context.TestValidateSplit(trainData); + } // run autofit & get all pipelines run in that process var (allPipelines, bestPipeline) = AutoFitApi.Fit(trainData, validationData, label, - settings, TaskKind.MulticlassClassification, OptimizingMetric.Accuracy, - purposeOverrides, debugLogger); + settings, preFeaturizers, TaskKind.MulticlassClassification, OptimizingMetric.Accuracy, + columnPurposes, debugLogger); var results = new MulticlassClassificationIterationResult[allPipelines.Length]; for (var i = 0; i < results.Length; i++) @@ -142,39 +172,39 @@ internal static MulticlassClassificationResult AutoFit(this MulticlassClassifica public class BinaryClassificationResult { - public readonly BinaryClassificationItertionResult BestPipeline; + public readonly BinaryClassificationItertionResult BestIteration; public readonly BinaryClassificationItertionResult[] IterationResults; public BinaryClassificationResult(BinaryClassificationItertionResult bestPipeline, BinaryClassificationItertionResult[] iterationResults) { - BestPipeline = bestPipeline; + BestIteration = bestPipeline; IterationResults = iterationResults; } } public class MulticlassClassificationResult { - public readonly MulticlassClassificationIterationResult BestPipeline; + public readonly MulticlassClassificationIterationResult BestIteration; public readonly MulticlassClassificationIterationResult[] IterationResults; public MulticlassClassificationResult(MulticlassClassificationIterationResult bestPipeline, MulticlassClassificationIterationResult[] iterationResults) { - BestPipeline = bestPipeline; + BestIteration = bestPipeline; IterationResults = iterationResults; } } public class RegressionResult { - public readonly RegressionIterationResult BestPipeline; + public readonly RegressionIterationResult BestIteration; public readonly RegressionIterationResult[] IterationResults; public RegressionResult(RegressionIterationResult bestPipeline, RegressionIterationResult[] iterationResults) { - BestPipeline = bestPipeline; + BestIteration = bestPipeline; IterationResults = iterationResults; } } diff --git a/src/AutoML/AutoFitter/AutoFitApi.cs b/src/AutoML/AutoFitter/AutoFitApi.cs index 5f3d92117a..544f33191e 100644 --- a/src/AutoML/AutoFitter/AutoFitApi.cs +++ b/src/AutoML/AutoFitter/AutoFitApi.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Linq; +using Microsoft.ML.Core.Data; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -11,12 +12,21 @@ namespace Microsoft.ML.Auto internal static class AutoFitApi { public static (InferredPipelineRunResult[] allPipelines, InferredPipelineRunResult bestPipeline) Fit(IDataView trainData, - IDataView validationData, string label, AutoFitSettings settings, TaskKind task, OptimizingMetric metric, + IDataView validationData, string label, AutoFitSettings settings, IEstimator preFeaturizers, TaskKind task, OptimizingMetric metric, IEnumerable<(string, ColumnPurpose)> purposeOverrides, IDebugLogger debugLogger) { // hack: init new MLContext var mlContext = new MLContext(); + ITransformer preprocessorTransform = null; + if (preFeaturizers != null) + { + // preprocess train and validation data + preprocessorTransform = preFeaturizers.Fit(trainData); + trainData = preprocessorTransform.Transform(trainData); + validationData = preprocessorTransform.Transform(validationData); + } + var purposeOverridesDict = purposeOverrides?.ToDictionary(p => p.Item1, p => p.Item2); var optimizingMetricfInfo = new OptimizingMetricInfo(metric); @@ -25,6 +35,15 @@ public static (InferredPipelineRunResult[] allPipelines, InferredPipelineRunResu label, trainData, validationData, purposeOverridesDict, debugLogger); var allPipelines = autoFitter.Fit(); + // apply preprocessor to returned models + if (preprocessorTransform != null) + { + for (var i = 0; i < allPipelines.Length; i++) + { + allPipelines[i].Model = preprocessorTransform.Append(allPipelines[i].Model); + } + } + var bestScore = allPipelines.Max(p => p.Score); var bestPipeline = allPipelines.First(p => p.Score == bestScore); diff --git a/src/AutoML/AutoFitter/AutoFitter.cs b/src/AutoML/AutoFitter/AutoFitter.cs index a1d0aff01f..f30a003f29 100644 --- a/src/AutoML/AutoFitter/AutoFitter.cs +++ b/src/AutoML/AutoFitter/AutoFitter.cs @@ -48,7 +48,7 @@ public InferredPipelineRunResult[] Fit() do { // get next pipeline - var iterationsRemaining = _settings.StoppingCriteria.MaxIterations - _history.Count; + var iterationsRemaining = (int)_settings.StoppingCriteria.MaxIterations - _history.Count; var pipeline = PipelineSuggester.GetNextInferredPipeline(_history, columns, _task, iterationsRemaining, _optimizingMetricInfo.IsMaximizing); // break if no candidates returned, means no valid pipeline available diff --git a/src/AutoML/AutoMlUtils.cs b/src/AutoML/AutoMlUtils.cs index 037c28aafd..5182052f4b 100644 --- a/src/AutoML/AutoMlUtils.cs +++ b/src/AutoML/AutoMlUtils.cs @@ -30,6 +30,20 @@ public static IDataView Take(this IDataView data, int count) return new CacheDataView(context, filter, Enumerable.Range(0, data.Schema.Count).ToArray()); } + public static IDataView DropLastColumn(this IDataView data) + { + return new MLContext().Transforms.DropColumns(data.Schema[data.Schema.Count - 1].Name).Fit(data).Transform(data); + } + + public static (IDataView testData, IDataView validationData) TestValidateSplit(this TrainContextBase context, IDataView trainData) + { + IDataView validationData; + (trainData, validationData) = context.TrainTestSplit(trainData); + trainData = trainData.DropLastColumn(); + validationData = validationData.DropLastColumn(); + return (trainData, validationData); + } + public static IDataView Skip(this IDataView data, int count) { var context = new MLContext(); diff --git a/src/AutoML/Utils/UserInputValidationUtil.cs b/src/AutoML/Utils/UserInputValidationUtil.cs index 6d126d32be..c08d9f062b 100644 --- a/src/AutoML/Utils/UserInputValidationUtil.cs +++ b/src/AutoML/Utils/UserInputValidationUtil.cs @@ -112,7 +112,7 @@ private static void ValidateValidationData(IDataView trainData, IDataView valida { if(validationData == null) { - throw new ArgumentNullException("Validation data cannot be null", nameof(validationData)); + return; } const string schemaMismatchError = "Training data and validation data schemas do not match."; diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs new file mode 100644 index 0000000000..4624c9d44e --- /dev/null +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.Data; + +namespace Samples +{ + public class AutoTrainBinaryClassification + { + private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; + private static string TrainDataPath = $"{BaseDatasetsLocation}/wikipedia-detox-250-line-data.tsv"; + private static string TestDataPath = $"{BaseDatasetsLocation}/wikipedia-detox-250-line-test.tsv"; + private static string ModelPath = $"{BaseDatasetsLocation}/SentimentModel.zip"; + + public static void Run() + { + //Create ML Context with seed for repeteable/deterministic results + MLContext mlContext = new MLContext(seed: 0); + + // STEP 1: Common data loading configuration + TextLoader textLoader = mlContext.Data.CreateTextReader( + columns: new[] + { + new TextLoader.Column("Label", DataKind.Bool, 0), + new TextLoader.Column("Text", DataKind.Text, 1) + }, + hasHeader: true, + separatorChar: '\t' + ); + + IDataView trainDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); + + // STEP 2: Auto featurize, auto train and auto hyperparameter tuning + var autoFitResults = mlContext.BinaryClassification.AutoFit(trainDataView, timeoutInMinutes: 1); + + // STEP 3: Print metrics for each iteration + int iterationIndex = 0; + PrintBinaryClassificationMetricsHeader(); + foreach (var i in autoFitResults.IterationResults) + { + IDataView iterationPredictions = autoFitResults.BestIteration.Model.Transform(testDataView); + var testMetrics = mlContext.BinaryClassification.EvaluateNonCalibrated(iterationPredictions, label: "Label", score: "Score"); + + ++iterationIndex; + PrintBinaryClassificationMetrics(iterationIndex, "validation metrics", i.Metrics); + PrintBinaryClassificationMetrics(iterationIndex, "test metrics ", testMetrics); + Console.WriteLine(); + } + + // STEP 4: Compare and print actual value vs predicted value for top 5 rows from validation data + PrintActualVersusPredictedHeader(); + IEnumerable labels = autoFitResults.BestIteration.ScoredValidationData.GetColumn(mlContext, "Label"); + IEnumerable scores = autoFitResults.BestIteration.ScoredValidationData.GetColumn(mlContext, "Score"); + int rowCount = 1; + do + { + PrintActualVersusPredictedValue(rowCount, labels.ElementAt(rowCount), scores.ElementAt(rowCount)); + + } while (rowCount++ <= 5); + + // STEP 5: Save the best model for later deployment and inferencing + using (var fs = File.Create(ModelPath)) + autoFitResults.BestIteration.Model.SaveTo(mlContext, fs); + + Console.WriteLine("Press any key to exit.."); + Console.ReadLine(); + } + + static void PrintBinaryClassificationMetrics(int iteration, string typeOfMetrics, BinaryClassificationMetrics metrics) + { + Console.WriteLine($"{iteration} {typeOfMetrics} {metrics.Accuracy:P2} {metrics.Auc:P2} {metrics.F1Score:P2} {metrics.PositivePrecision:#.##} {metrics.PositiveRecall:#.##}"); + } + + static void PrintActualVersusPredictedValue(int index, bool label, float score) + { + Console.WriteLine($"{index} {label} {(score == 0 ? false : true)}"); + } + + static void PrintBinaryClassificationMetricsHeader() + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Metrics for binary classification model "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"iteration type Accuracy Auc F1Score PositivePrecision PositiveRecall"); + } + + static void PrintActualVersusPredictedHeader() + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Actual value Vs predicted value "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"Row Actual Label Predicted Label"); + } + } +} diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs new file mode 100644 index 0000000000..c68df92e48 --- /dev/null +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -0,0 +1,103 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.Data; + +namespace Samples +{ + public class AutoTrainMulticlassClassification + { + private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; + private static string TrainDataPath = $"{BaseDatasetsLocation}/iris-train.txt"; + private static string TestDataPath = $"{BaseDatasetsLocation}/iris-test.txt"; + private static string ModelPath = $"{BaseDatasetsLocation}/IrisClassificationModel.zip"; + + public static void Run() + { + //Create ML Context with seed for repeteable/deterministic results + MLContext mlContext = new MLContext(seed: 0); + + // STEP 1: Common data loading configuration + var textLoader = mlContext.Data.CreateTextReader( + new TextLoader.Arguments() + { + Separator = "\t", + HasHeader = true, + Column = new[] + { + new TextLoader.Column("Label", DataKind.R4, 0), + new TextLoader.Column("SepalLength", DataKind.R4, 1), + new TextLoader.Column("SepalWidth", DataKind.R4, 2), + new TextLoader.Column("PetalLength", DataKind.R4, 3), + new TextLoader.Column("PetalWidth", DataKind.R4, 4), + } + }); + + IDataView trainDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); + + // STEP 2: Auto featurize, auto train and auto hyperparameter tuning + var autoFitResults = mlContext.MulticlassClassification.AutoFit(trainDataView, timeoutInMinutes: 1); + + // STEP 3: Print metrics for each iteration + int iterationIndex = 0; + PrintMulticlassClassificationMetricsHeader(); + foreach (var i in autoFitResults.IterationResults) + { + IDataView iterationPredictions = autoFitResults.BestIteration.Model.Transform(testDataView); + var testMetrics = mlContext.MulticlassClassification.Evaluate(iterationPredictions, label: "Label", score: "Score"); + + ++iterationIndex; + PrintMulticlassClassificationMetrics(iterationIndex, "validation metrics", i.Metrics); + PrintMulticlassClassificationMetrics(iterationIndex, "test metrics ", testMetrics); + Console.WriteLine(); + } + + // STEP 4: Compare and print actual value vs predicted value for top 5 rows from validation data + PrintActualVersusPredictedHeader(); + IEnumerable labels = autoFitResults.BestIteration.ScoredValidationData.GetColumn(mlContext, "Label"); + IEnumerable scores = autoFitResults.BestIteration.ScoredValidationData.GetColumn(mlContext, "PredictedLabel"); + int rowCount = 1; + do + { + PrintActualVersusPredictedValue(rowCount, labels.ElementAt(rowCount), scores.ElementAt(rowCount)); + } while (rowCount++ <= 5); + + // STEP 5: Save the best model for later deployment and inferencing + using (var fs = File.Create(ModelPath)) + autoFitResults.BestIteration.Model.SaveTo(mlContext, fs); + + Console.WriteLine("Press any key to exit.."); + Console.ReadLine(); + } + + static void PrintMulticlassClassificationMetrics(int iteration, string typeOfMetrics, MultiClassClassifierMetrics metrics) + { + Console.WriteLine($"{iteration} {typeOfMetrics} {metrics.AccuracyMacro:0.####} {metrics.AccuracyMicro:0.####} {metrics.LogLossReduction:0.##}"); + } + + static void PrintActualVersusPredictedValue(int index, uint label, uint predictedLabel) + { + Console.WriteLine($"{index} {label} {predictedLabel}"); + } + + static void PrintMulticlassClassificationMetricsHeader() + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Metrics for multiclass classification model "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"iteration type AccuracyMacro AccuracyMicro LogLossReduction"); + } + + static void PrintActualVersusPredictedHeader() + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Actual value Vs predicted value "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"Row Actual Predicted"); + } + } +} diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs new file mode 100644 index 0000000000..209ce2b361 --- /dev/null +++ b/src/Samples/AutoTrainRegression.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Microsoft.ML; +using Microsoft.ML.Data; +using Microsoft.ML.Auto; +using System.IO; +using System.Linq; + +namespace Samples +{ + static class AutoTrainRegression + { + private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; + private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; + private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; + private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; + + public static void Run() + { + //Create ML Context with seed for repeteable/deterministic results + MLContext mlContext = new MLContext(seed: 0); + + // STEP 1: Common data loading configuration + TextLoader textLoader = mlContext.Data.CreateTextReader(new[] + { + new TextLoader.Column("VendorId", DataKind.Text, 0), + new TextLoader.Column("RateCode", DataKind.Text, 1), + new TextLoader.Column("PassengerCount", DataKind.R4, 2), + new TextLoader.Column("TripTime", DataKind.R4, 3), + new TextLoader.Column("TripDistance", DataKind.R4, 4), + new TextLoader.Column("PaymentType", DataKind.Text, 5), + new TextLoader.Column("FareAmount", DataKind.R4, 6) + }, + hasHeader: true, + separatorChar: ',' + ); + + IDataView trainDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); + + // STEP 2: Auto featurize, auto train and auto hyperparameter tuning + var autoFitResults = mlContext.Regression.AutoFit(trainDataView, "FareAmount", timeoutInMinutes:1); + + // STEP 3: Print metrics for each iteration + int iterationIndex = 0; + PrintRegressionMetricsHeader(); + foreach (var i in autoFitResults.IterationResults) + { + IDataView iterationPredictions = autoFitResults.BestIteration.Model.Transform(testDataView); + var testMetrics = mlContext.Regression.Evaluate(iterationPredictions, label: "Lable", score: "Score"); + + ++iterationIndex; + PrintRegressionMetrics(iterationIndex, "validation metrics", i.Metrics); + PrintRegressionMetrics(iterationIndex, "test metrics ", testMetrics); + Console.WriteLine(); + } + + // STEP 4: Compare and print actual value vs predicted value for top 5 rows from validation data + PrintActualVersusPredictedHeader(); + IEnumerable fareAmounts = autoFitResults.BestIteration.ScoredValidationData.GetColumn(mlContext, "FareAmount"); + IEnumerable scores = autoFitResults.BestIteration.ScoredValidationData.GetColumn(mlContext, "Score"); + int rowCount = 1; + do + { + PrintActualVersusPredictedValue(rowCount, fareAmounts.ElementAt(rowCount), scores.ElementAt(rowCount)); + + } while (rowCount++ <= 5); + + // STEP 5: Save the best model for later deployment and inferencing + using (var fs = File.Create(ModelPath)) + autoFitResults.BestIteration.Model.SaveTo(mlContext, fs); + + Console.WriteLine("Press any key to exit.."); + Console.ReadLine(); + } + + static void PrintRegressionMetrics(int iteration, string typeOfMetrics, RegressionMetrics metrics) + { + Console.WriteLine($"{iteration} {typeOfMetrics} {metrics.LossFn:0.##} {metrics.RSquared:0.##} {metrics.L1:#.##} {metrics.L2:#.##} {metrics.Rms:#.##}"); + } + + static void PrintActualVersusPredictedValue(int index, float fareAmount, float score) + { + Console.WriteLine($"{index} {fareAmount} {score}"); + } + + static void PrintRegressionMetricsHeader() + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Metrics for regression model "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"iteration type LossFn R2-Score Absolute-loss Squared-loss RMS-loss"); + } + + static void PrintActualVersusPredictedHeader() + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Actual value Vs predicted value "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"Row ActualFareAmount PredictedFareAmount"); + } + } +} diff --git a/src/Samples/Benchmarking.cs b/src/Samples/Benchmarking.cs deleted file mode 100644 index 5f572a8066..0000000000 --- a/src/Samples/Benchmarking.cs +++ /dev/null @@ -1,45 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using Microsoft.ML; -using Microsoft.ML.Auto; - -namespace Samples -{ - public static class Benchmarking - { - const string DatasetName = "VirusPrediction"; - const string Label = "WnvPresent"; - const string DatasetPathPrefix = @"D:\SplitDatasets\"; - - static readonly string TrainDataPath = $"{DatasetPathPrefix}{DatasetName}_train.csv"; - static readonly string ValidationDataPath = $"{DatasetPathPrefix}{DatasetName}_valid.csv"; - static readonly string TestDataPath = $"{DatasetPathPrefix}{DatasetName}_test.csv"; - - public static void Run() - { - var context = new MLContext(); - var columnInference = context.Data.InferColumns(TrainDataPath, Label, true); - var textLoader = context.Data.CreateTextReader(columnInference); - var trainData = textLoader.Read(TrainDataPath); - var validationData = textLoader.Read(ValidationDataPath); - var testData = textLoader.Read(TestDataPath); - var best = context.BinaryClassification.AutoFit(trainData, Label, validationData, settings: - new AutoFitSettings() - { - StoppingCriteria = new ExperimentStoppingCriteria() - { - MaxIterations = 5, - TimeOutInMinutes = 1000000000 - } - }); - var scoredTestData = best.BestPipeline.Model.Transform(testData); - var testDataMetrics = context.BinaryClassification.EvaluateNonCalibrated(scoredTestData); - - Console.WriteLine(testDataMetrics.Accuracy); - Console.ReadLine(); - } - } -} diff --git a/src/Samples/BinaryClassification.cs b/src/Samples/BinaryClassification.cs deleted file mode 100644 index 3b6946d6b0..0000000000 --- a/src/Samples/BinaryClassification.cs +++ /dev/null @@ -1,153 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.IO; -using Microsoft.ML; -using Microsoft.ML.Auto; -using Microsoft.ML.Core.Data; -using Microsoft.ML.Data; - -namespace Samples -{ - public class BinaryClassification - { - public static void Run() - { - const string trainDataPath = @"C:\data\sample_train2.csv"; - const string validationDataPath = @"C:\data\sample_valid2.csv"; - const string testDataPath = @"C:\data\sample_test2.csv"; - - var mlContext = new MLContext(); - - // load data - var textLoader = new TextLoader(mlContext, - new TextLoader.Arguments() - { - Separator = ",", - HasHeader = true, - Column = new[] - { - new TextLoader.Column("Age", DataKind.R4, 0), - new TextLoader.Column("Workclass", DataKind.TX, 1), - new TextLoader.Column("Fnlwgt", DataKind.R4, 2), - new TextLoader.Column("Education", DataKind.TX, 3), - new TextLoader.Column("EducationNum", DataKind.R4, 4), - new TextLoader.Column("MaritalStatus", DataKind.TX, 5), - new TextLoader.Column("Occupation", DataKind.TX, 6), - new TextLoader.Column("Relationship", DataKind.TX, 7), - new TextLoader.Column("Race", DataKind.TX, 8), - new TextLoader.Column("Sex", DataKind.TX, 9), - new TextLoader.Column("CapitalGain", DataKind.R4, 10), - new TextLoader.Column("CapitalLoss", DataKind.R4, 11), - new TextLoader.Column("HoursPerWeek", DataKind.R4, 12), - new TextLoader.Column("NativeCountry", DataKind.TX, 13), - new TextLoader.Column("Label", DataKind.Bool, 14), - } - }); - - var trainData = textLoader.Read(trainDataPath); - var validationData = textLoader.Read(validationDataPath); - var testData = textLoader.Read(testDataPath); - - //////// SDCA - - //// preprocess - //var preprocessorEstimator = mlContext.Transforms.Categorical.OneHotEncoding("Workclass", "Workclass") - // .Append(mlContext.Transforms.Categorical.OneHotEncoding("Education", "Education")) - // .Append(mlContext.Transforms.Categorical.OneHotEncoding("MaritalStatus", "MaritalStatus")) - // .Append(mlContext.Transforms.Categorical.OneHotEncoding("Occupation", "Occupation")) - // .Append(mlContext.Transforms.Categorical.OneHotEncoding("Relationship", "Relationship")) - // .Append(mlContext.Transforms.Categorical.OneHotEncoding("Race", "Race")) - // .Append(mlContext.Transforms.Categorical.OneHotEncoding("Sex", "Sex")) - // .Append(mlContext.Transforms.Categorical.OneHotEncoding("NativeCountry", "NativeCountry")) - // .Append(mlContext.Transforms.Concatenate(DefaultColumnNames.Features, - // "Age", "Workclass", "Fnlwgt", "Education", "EducationNum", "MaritalStatus", "Occupation", "Relationship", - // "Race", "Sex", "CapitalGain", "CapitalLoss", "HoursPerWeek", "NativeCountry")); - - //// train model - //var trainer = mlContext.BinaryClassification.Trainers.StochasticDualCoordinateAscent(); - //var estimatorChain = preprocessorEstimator.Append(trainer); - //var model = estimatorChain.Fit(trainData); - - //////// AutoML - - // run AutoML & train model - var autoMlResult = mlContext.BinaryClassification.AutoFit(trainData, "Label", validationData, - settings : new AutoFitSettings() - { - StoppingCriteria = new ExperimentStoppingCriteria() { MaxIterations = 10 } - }); - // get best AutoML model - var model = autoMlResult.BestPipeline.Model; - - // run AutoML on test data - var transformedOutput = model.Transform(testData); - var results = mlContext.BinaryClassification.Evaluate(transformedOutput); - Console.WriteLine($"Model Accuracy: {results.Accuracy}\r\n"); - - // save model to disk - var modelPath = $"Model.zip"; - using (var fs = new FileStream(modelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) - { - mlContext.Model.Save(model, fs); - } - ITransformer savedModel; - using (var stream = new FileStream(modelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) - { - savedModel = mlContext.Model.Load(stream); - } - - // create a prediction engine from the loaded model - var predFunction = savedModel.CreatePredictionEngine(mlContext); - var prediction = predFunction.Predict(new UciAdultInput() - { - Age = 28, - Workclass = "Local-gov", - Fnlwgt = 336951, - Education = "Assoc-acdm", - EducationNum = 12, - MaritalStatus = "Married-civ-spouse", - Occupation = "Protective-serv", - Relationship = "Husband", - Race = "White", - Sex = "Male", - CapitalGain = 0, - CapitalLoss = 0, - HoursPerWeek = 40, - NativeCountry = "United-States", - }); - - Console.WriteLine($"Predicted label: {prediction.PredictedLabel}"); - Console.WriteLine($"Predicted probability: {prediction.Probability}"); - - Console.ReadLine(); - } - - public class UciAdultInput - { - public float Age; - public string Workclass; - public float Fnlwgt; - public string Education; - public float EducationNum; - public string MaritalStatus; - public string Occupation; - public string Relationship; - public string Race; - public string Sex; - public float CapitalGain; - public float CapitalLoss; - public float HoursPerWeek; - public string NativeCountry; - public bool Label; - } - - public class UciAdultOutput - { - public float Probability; - public bool PredictedLabel; - } - } -} diff --git a/src/Samples/Data/README.md b/src/Samples/Data/README.md new file mode 100644 index 0000000000..a5e2870da4 --- /dev/null +++ b/src/Samples/Data/README.md @@ -0,0 +1,105 @@ +# Datasets + +MICROSOFT PROVIDES THE DATASETS ON AN "AS IS" BASIS. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, GUARANTEES OR CONDITIONS WITH RESPECT TO YOUR USE OF THE DATASETS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAW, MICROSOFT DISCLAIMS ALL LIABILITY FOR ANY DAMAGES OR LOSSES, INLCUDING DIRECT, CONSEQUENTIAL, SPECIAL, INDIRECT, INCIDENTAL OR PUNITIVE, RESULTING FROM YOUR USE OF THE DATASETS. + +The datasets are provided under the original terms that Microsoft received such datasets. See below for more information about each dataset. + +### Wikipedia Detox + +>This dataset is provided under [CC0](https://creativecommons.org/share-your-work/public-domain/cc0/). Redistributing the dataset "wikipedia-detox-250-line-data.tsv" with attribution: +> +> Wulczyn, Ellery; Thain, Nithum; Dixon, Lucas (2016): Wikipedia Detox. figshare. +> +>With modifications by taking a sample of rows and reducing rough language. +> +>Original source: https://doi.org/10.6084/m9.figshare.4054689 +> +>Original readme: https://meta.wikimedia.org/wiki/Research:Detox + +### Digits +> This dataset is provided under http://archive.ics.uci.edu/ml/datasets/Optical+Recognition+of+Handwritten+Digits. +> +> References: C. Kaynak (1995) Methods of Combining Multiple Classifiers and Their Applications to Handwritten Digit Recognition, MSc Thesis, Institute of Graduate Studies in Science and Engineering, Bogazici University. +> E. Alpaydin, C. Kaynak (1998) Cascading Classifiers, Kybernetika. + +### UCI Adult Dataset + +>Dua, D. and Karra Taniskidou, E. (2017). UCI Machine Learning Repository [https://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science. +> +>https://archive.ics.uci.edu/ml/datasets/Adult + +### Breast Cancer Wisconsin + +Redistributing the dataset "breast-cancer.txt" with attribution: + +> O. L. Mangasarian and W. H. Wolberg: "Cancer diagnosis via linear programming", SIAM News, Volume 23, Number 5, September 1990, pp 1 & 18. +> +> Original source: http://ftp.cs.wisc.edu:80/math-prog/cpo-dataset/machine-learn/cancer/cancer1/datacum +> +> Original readme: http://ftp.cs.wisc.edu/math-prog/cpo-dataset/machine-learn/cancer/cancer1/data.doc + +### MNIST + +> MNIST data originally from [NIST](https://www.nist.gov) and modified by Chris Burges, Corinna Cortes, and Yann LeCun. http://yann.lecun.com/exdb/mnist/ +> +> More information: https://en.wikipedia.org/wiki/MNIST_database + +### NYC Taxi Fare + +Redistributing the dataset "taxi-fare-test.csv", "taxi-fare-train.csv" with attribution: + +> Original source: https://www.nyc.gov/html/tlc/html/about/trip_record_data.shtml +> +> The dataset is provided under terms provided by City of New York: https://opendata.cityofnewyork.us/overview/#termsofuse. + +### MSLR-WEB10K, MSLR-WEB30K + +This dataset is originally from [Introducing LETOR 4.0 Datasets](https://arxiv.org/abs/1306.2597). +The dataset is under a CC-by 4.0 license. +``` +@article{DBLP:journals/corr/QinL13, + author = {Tao Qin and + Tie{-}Yan Liu}, + title = {Introducing {LETOR} 4.0 Datasets}, + journal = {CoRR}, + volume = {abs/1306.2597}, + year = {2013}, + url = {https://arxiv.org/abs/1306.2597}, + timestamp = {Mon, 01 Jul 2013 20:31:25 +0200}, + biburl = {https://dblp.uni-trier.de/rec/bib/journals/corr/QinL13}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} +``` + +### Boston Housing Data + +Redistributing the dataset "[housing.txt](housing.txt)" with attribution: + + > Harrison, D. and Rubinfeld, D.L. 'Hedonic prices and the demand for clean air', J. Environ. Economics & Management, vol.5, 81-102, 1978. + +More information: https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.names + +### Air Quality + +This dataset is from the R documentation: [New York Air Quality Measurements]https://stat.ethz.ch/R-manual/R-devel/library/datasets/html/airquality.html +The data were obtained from the New York State Department of Conservation (ozone data) and the National Weather Service (meteorological data). +References: Chambers, J. M., Cleveland, W. S., Kleiner, B. and Tukey, P. A. (1983) Graphical Methods for Data Analysis. Belmont, CA: Wadsworth. + +The dataset is distributed under [GPLv2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) + +### Infertility + +This dataset is from the R documentation: [Infertility after Spontaneous and Induced Abortion]https://stat.ethz.ch/R-manual/R-devel/library/datasets/html/infert.html +Original source: Trichopoulos et al (1976) Br. J. of Obst. and Gynaec. 83, 645–650. + +The dataset is distributed under [GPLv2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) + +# Images + +### Located in `images` folder + +> "[Banana and cross section](https://commons.wikimedia.org/wiki/File:Banana_and_cross_section.jpg)" by [fir0002](https://en.wikipedia.org/wiki/User:Fir0002) is licensed under the [CC BY-NC](https://creativecommons.org/licenses/by/2.0/) +> +> "[Hot dog with mustard](https://visualsonline.cancer.gov/details.cfm?imageid=2669)" by Renee Comet is in the public domain - this image was released by the [National Cancer Institute](https://visualsonline.cancer.gov/details.cfm?imageid=2669) +> +> "[Bright red tomato and cross section02](https://upload.wikimedia.org/wikipedia/commons/8/88/Bright_red_tomato_and_cross_section02.jpg)" by [fir0002](https://en.wikipedia.org/wiki/User:Fir0002) is licensed under the [CC BY-NC](https://creativecommons.org/licenses/by/2.0/) \ No newline at end of file diff --git a/src/Samples/Data/iris-test.txt b/src/Samples/Data/iris-test.txt new file mode 100644 index 0000000000..bbc9833a32 --- /dev/null +++ b/src/Samples/Data/iris-test.txt @@ -0,0 +1,31 @@ +#Label Sepal length Sepal width Petal length Petal width +0 5.1 3.5 1.4 0.2 +0 4.9 3.0 1.4 0.2 +0 4.7 3.2 1.3 0.2 +0 4.6 3.1 1.5 0.2 +0 5.0 3.6 1.4 0.2 +0 5.4 3.9 1.7 0.4 +0 4.6 3.4 1.4 0.3 +0 5.0 3.4 1.5 0.2 +0 4.4 2.9 1.4 0.2 +0 4.9 3.1 1.5 0.1 +1 7.0 3.2 4.7 1.4 +1 6.4 3.2 4.5 1.5 +1 6.9 3.1 4.9 1.5 +1 5.5 2.3 4.0 1.3 +1 6.5 2.8 4.6 1.5 +1 5.7 2.8 4.5 1.3 +1 6.3 3.3 4.7 1.6 +1 4.9 2.4 3.3 1.0 +1 6.6 2.9 4.6 1.3 +1 5.2 2.7 3.9 1.4 +2 6.3 3.3 6.0 2.5 +2 5.8 2.7 5.1 1.9 +2 7.1 3.0 5.9 2.1 +2 6.3 2.9 5.6 1.8 +2 6.5 3.0 5.8 2.2 +2 7.6 3.0 6.6 2.1 +2 4.9 2.5 4.5 1.7 +2 7.3 2.9 6.3 1.8 +2 6.7 2.5 5.8 1.8 +2 7.2 3.6 6.1 2.5 diff --git a/src/Samples/Data/iris-train.txt b/src/Samples/Data/iris-train.txt new file mode 100644 index 0000000000..8c10336c8f --- /dev/null +++ b/src/Samples/Data/iris-train.txt @@ -0,0 +1,121 @@ +#Label Sepal length Sepal width Petal length Petal width +0 5.4 3.7 1.5 0.2 +0 4.8 3.4 1.6 0.2 +0 4.8 3.0 1.4 0.1 +0 4.3 3.0 1.1 0.1 +0 5.8 4.0 1.2 0.2 +0 5.7 4.4 1.5 0.4 +0 5.4 3.9 1.3 0.4 +0 5.1 3.5 1.4 0.3 +0 5.7 3.8 1.7 0.3 +0 5.1 3.8 1.5 0.3 +0 5.4 3.4 1.7 0.2 +0 5.1 3.7 1.5 0.4 +0 4.6 3.6 1.0 0.2 +0 5.1 3.3 1.7 0.5 +0 4.8 3.4 1.9 0.2 +0 5.0 3.0 1.6 0.2 +0 5.0 3.4 1.6 0.4 +0 5.2 3.5 1.5 0.2 +0 5.2 3.4 1.4 0.2 +0 4.7 3.2 1.6 0.2 +0 4.8 3.1 1.6 0.2 +0 5.4 3.4 1.5 0.4 +0 5.2 4.1 1.5 0.1 +0 5.5 4.2 1.4 0.2 +0 4.9 3.1 1.5 0.1 +0 5.0 3.2 1.2 0.2 +0 5.5 3.5 1.3 0.2 +0 4.9 3.1 1.5 0.1 +0 4.4 3.0 1.3 0.2 +0 5.1 3.4 1.5 0.2 +0 5.0 3.5 1.3 0.3 +0 4.5 2.3 1.3 0.3 +0 4.4 3.2 1.3 0.2 +0 5.0 3.5 1.6 0.6 +0 5.1 3.8 1.9 0.4 +0 4.8 3.0 1.4 0.3 +0 5.1 3.8 1.6 0.2 +0 4.6 3.2 1.4 0.2 +0 5.3 3.7 1.5 0.2 +0 5.0 3.3 1.4 0.2 +1 5.0 2.0 3.5 1.0 +1 5.9 3.0 4.2 1.5 +1 6.0 2.2 4.0 1.0 +1 6.1 2.9 4.7 1.4 +1 5.6 2.9 3.6 1.3 +1 6.7 3.1 4.4 1.4 +1 5.6 3.0 4.5 1.5 +1 5.8 2.7 4.1 1.0 +1 6.2 2.2 4.5 1.5 +1 5.6 2.5 3.9 1.1 +1 5.9 3.2 4.8 1.8 +1 6.1 2.8 4.0 1.3 +1 6.3 2.5 4.9 1.5 +1 6.1 2.8 4.7 1.2 +1 6.4 2.9 4.3 1.3 +1 6.6 3.0 4.4 1.4 +1 6.8 2.8 4.8 1.4 +1 6.7 3.0 5.0 1.7 +1 6.0 2.9 4.5 1.5 +1 5.7 2.6 3.5 1.0 +1 5.5 2.4 3.8 1.1 +1 5.5 2.4 3.7 1.0 +1 5.8 2.7 3.9 1.2 +1 6.0 2.7 5.1 1.6 +1 5.4 3.0 4.5 1.5 +1 6.0 3.4 4.5 1.6 +1 6.7 3.1 4.7 1.5 +1 6.3 2.3 4.4 1.3 +1 5.6 3.0 4.1 1.3 +1 5.5 2.5 4.0 1.3 +1 5.5 2.6 4.4 1.2 +1 6.1 3.0 4.6 1.4 +1 5.8 2.6 4.0 1.2 +1 5.0 2.3 3.3 1.0 +1 5.6 2.7 4.2 1.3 +1 5.7 3.0 4.2 1.2 +1 5.7 2.9 4.2 1.3 +1 6.2 2.9 4.3 1.3 +1 5.1 2.5 3.0 1.1 +1 5.7 2.8 4.1 1.3 +2 6.5 3.2 5.1 2.0 +2 6.4 2.7 5.3 1.9 +2 6.8 3.0 5.5 2.1 +2 5.7 2.5 5.0 2.0 +2 5.8 2.8 5.1 2.4 +2 6.4 3.2 5.3 2.3 +2 6.5 3.0 5.5 1.8 +2 7.7 3.8 6.7 2.2 +2 7.7 2.6 6.9 2.3 +2 6.0 2.2 5.0 1.5 +2 6.9 3.2 5.7 2.3 +2 5.6 2.8 4.9 2.0 +2 7.7 2.8 6.7 2.0 +2 6.3 2.7 4.9 1.8 +2 6.7 3.3 5.7 2.1 +2 7.2 3.2 6.0 1.8 +2 6.2 2.8 4.8 1.8 +2 6.1 3.0 4.9 1.8 +2 6.4 2.8 5.6 2.1 +2 7.2 3.0 5.8 1.6 +2 7.4 2.8 6.1 1.9 +2 7.9 3.8 6.4 2.0 +2 6.4 2.8 5.6 2.2 +2 6.3 2.8 5.1 1.5 +2 6.1 2.6 5.6 1.4 +2 7.7 3.0 6.1 2.3 +2 6.3 3.4 5.6 2.4 +2 6.4 3.1 5.5 1.8 +2 6.0 3.0 4.8 1.8 +2 6.9 3.1 5.4 2.1 +2 6.7 3.1 5.6 2.4 +2 6.9 3.1 5.1 2.3 +2 5.8 2.7 5.1 1.9 +2 6.8 3.2 5.9 2.3 +2 6.7 3.3 5.7 2.5 +2 6.7 3.0 5.2 2.3 +2 6.3 2.5 5.0 1.9 +2 6.5 3.0 5.2 2.0 +2 6.2 3.4 5.4 2.3 +2 5.9 3.0 5.1 1.8 diff --git a/src/Samples/Data/taxi-fare-test.csv b/src/Samples/Data/taxi-fare-test.csv new file mode 100644 index 0000000000..413aef4841 --- /dev/null +++ b/src/Samples/Data/taxi-fare-test.csv @@ -0,0 +1,100001 @@ +vendor_id,rate_code,passenger_count,trip_time_in_secs,trip_distance,payment_type,fare_amount +VTS,1,1,1140,3.75,CRD,15.5 +VTS,1,1,480,2.72,CRD,10.0 +VTS,1,1,1680,7.8,CSH,26.5 +VTS,1,1,600,4.73,CSH,14.5 +VTS,1,1,600,2.18,CRD,9.5 +VTS,1,1,1260,10.33,CSH,29.5 +VTS,1,1,600,2.01,CSH,9.0 +VTS,1,1,480,1.5,CRD,7.5 +VTS,1,1,660,2.49,CSH,10.5 +VTS,1,1,360,1.13,CRD,6.0 +VTS,1,1,780,1.73,CRD,10.0 +VTS,1,1,420,2.07,CSH,9.0 +VTS,1,1,780,2.09,CRD,10.5 +VTS,1,1,660,2.21,CRD,10.0 +VTS,1,1,1380,4.91,CRD,19.0 +VTS,1,1,600,1.54,CRD,8.5 +VTS,1,1,840,3.15,CRD,12.5 +VTS,1,1,180,0.99,CRD,5.0 +VTS,1,1,600,1.54,CRD,8.5 +VTS,1,1,1200,1.78,CSH,13.0 +VTS,1,1,480,0.82,CRD,6.5 +VTS,1,1,660,2.87,CRD,11.5 +VTS,1,1,840,1.67,CRD,10.0 +VTS,1,1,480,0.94,CRD,7.0 +VTS,1,1,660,3.35,CRD,12.5 +VTS,1,1,120,0.34,CSH,3.0 +VTS,1,1,300,2.22,CSH,8.0 +VTS,1,1,960,4.78,CSH,16.0 +VTS,1,1,900,3.02,CRD,13.0 +VTS,1,1,300,1.17,CSH,6.0 +VTS,1,1,600,2.55,CSH,10.0 +VTS,1,1,420,1.44,CSH,7.0 +VTS,1,1,360,1.37,CSH,7.0 +VTS,1,1,900,2.57,CRD,12.5 +VTS,1,1,420,1.41,CRD,7.0 +VTS,1,1,960,2.08,CRD,11.5 +VTS,1,1,360,1.53,CRD,7.0 +VTS,1,1,1080,2.49,CRD,14.0 +VTS,1,1,240,0.47,CSH,4.5 +VTS,1,1,540,1.46,CRD,8.5 +VTS,1,1,360,1.71,CRD,7.5 +VTS,1,1,1320,2.91,CRD,15.5 +VTS,1,1,780,2.8,CSH,11.5 +VTS,1,1,360,1.02,CSH,6.0 +VTS,1,1,780,3.82,CSH,14.5 +VTS,1,1,240,1.3,CRD,5.5 +VTS,1,1,360,0.77,CSH,5.5 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,840,4.5,CSH,16.0 +VTS,1,1,120,0.51,CSH,3.5 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,840,2.52,CRD,12.0 +VTS,1,1,780,2.51,CSH,11.0 +VTS,1,1,360,2.13,CRD,8.0 +VTS,1,1,480,2.11,CRD,9.0 +VTS,1,1,360,1.78,CSH,7.5 +VTS,1,1,780,3.1,CRD,12.5 +VTS,1,1,660,2.05,CRD,10.0 +VTS,1,1,600,0.99,CSH,8.0 +VTS,1,1,660,0.79,CRD,8.5 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,540,3.21,CRD,11.5 +VTS,1,1,180,0.85,CSH,5.0 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,600,1.59,CSH,8.5 +VTS,1,1,360,1.92,CSH,7.5 +VTS,1,1,780,2.64,CRD,11.0 +VTS,1,1,1860,4.69,CSH,22.5 +VTS,1,1,600,1.31,CSH,8.5 +VTS,1,1,1200,2.94,CRD,15.0 +VTS,1,1,120,0.66,CSH,4.0 +VTS,1,1,600,1.52,CRD,8.5 +VTS,1,1,540,0.86,CSH,7.0 +VTS,1,1,240,1.68,CRD,6.5 +VTS,1,1,660,2.71,CRD,11.5 +VTS,1,1,120,0.62,CRD,4.0 +VTS,1,1,720,1.69,CRD,10.0 +VTS,1,1,720,1.55,CRD,10.0 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,420,1.89,CRD,8.0 +VTS,1,1,480,4.08,CRD,13.0 +VTS,1,1,180,1.19,CSH,5.5 +VTS,1,1,360,1.31,CSH,7.0 +VTS,1,1,540,2.28,CSH,9.5 +VTS,1,1,180,0.86,CRD,4.5 +VTS,1,1,120,0.53,CRD,4.0 +VTS,1,1,360,0.91,CSH,6.0 +VTS,1,1,300,1.13,CRD,5.5 +VTS,1,1,240,1.67,CRD,7.0 +VTS,1,1,660,2.37,CSH,10.5 +VTS,1,1,600,2.2,CRD,10.0 +VTS,1,1,660,1.73,CSH,9.5 +VTS,1,1,540,1.46,CSH,7.5 +VTS,1,1,660,1.86,CSH,9.5 +VTS,1,1,300,0.73,CSH,5.5 +VTS,3,1,1500,14.11,CRD,57.0 +VTS,1,1,600,1.88,CRD,9.5 +VTS,1,1,720,3.31,CRD,12.0 +VTS,1,1,300,0.59,CSH,5.0 +VTS,1,1,780,1.15,CSH,9.5 +VTS,1,1,1200,4.8,CRD,18.0 +VTS,1,1,540,1.61,CSH,8.0 +VTS,1,1,300,0.73,CSH,5.5 +VTS,1,1,780,2.3,CRD,11.5 +VTS,1,1,1200,7.41,CRD,24.0 +VTS,1,1,1500,4.2,CRD,19.5 +VTS,1,1,720,1.57,CRD,9.5 +VTS,1,1,360,1.29,CSH,6.5 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,360,1.07,CRD,6.0 +VTS,1,1,960,2.05,CRD,11.5 +VTS,1,1,360,1.33,CSH,7.0 +VTS,1,1,960,2.85,CSH,13.5 +VTS,1,1,240,1.37,CSH,6.5 +VTS,1,1,180,1.05,CSH,5.0 +VTS,1,1,600,1.31,CSH,8.5 +VTS,1,1,1500,4.6,CRD,20.0 +VTS,1,1,420,1.96,CSH,8.0 +VTS,1,1,1140,2.27,CRD,13.5 +VTS,1,1,360,1.47,CSH,6.5 +VTS,1,1,900,8.63,CRD,25.5 +VTS,1,1,360,1.11,CSH,6.5 +VTS,1,1,360,0.53,CSH,5.5 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,2,960,2.65,CRD,12.5 +VTS,1,1,420,1.85,CSH,8.0 +VTS,1,1,840,4.33,CRD,15.0 +VTS,1,1,1260,5.32,CRD,19.0 +VTS,1,1,360,1.08,CSH,6.0 +VTS,1,1,540,2.09,CRD,9.0 +VTS,1,1,240,1.23,CRD,5.5 +VTS,1,1,600,4.33,CRD,14.5 +VTS,1,1,600,2.89,CRD,10.5 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,420,2.47,CRD,9.5 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,360,1.74,CRD,7.5 +VTS,1,1,420,1.7,CSH,7.5 +VTS,1,1,540,1.29,CSH,8.0 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,240,0.73,CSH,5.0 +VTS,1,1,840,2.47,CRD,12.0 +VTS,1,1,480,1.02,CSH,7.0 +VTS,1,1,2100,18.06,CRD,51.5 +VTS,1,1,120,0.52,CSH,3.5 +VTS,1,1,480,2.48,CRD,9.5 +VTS,1,1,540,1.98,CRD,9.0 +VTS,1,1,300,0.74,CSH,5.0 +VTS,1,1,600,2.16,CRD,9.5 +VTS,1,1,1080,1.9,CSH,12.5 +VTS,1,1,840,2.52,CRD,11.5 +VTS,1,1,660,0.84,CSH,8.0 +VTS,1,1,720,1.39,CRD,9.0 +VTS,1,1,600,1.83,CRD,9.0 +VTS,1,1,540,2.86,CSH,10.0 +VTS,1,1,840,6.13,CRD,19.5 +VTS,1,1,600,2.16,CRD,9.0 +VTS,1,1,480,1.35,CRD,7.0 +VTS,1,1,360,0.5,CSH,6.0 +VTS,1,1,480,1.65,CSH,8.0 +VTS,1,1,540,2.48,CSH,10.0 +VTS,1,1,720,1.83,CRD,10.0 +VTS,1,1,780,3.55,CRD,13.0 +VTS,1,1,300,1.04,CRD,5.5 +VTS,1,1,660,3.74,CSH,12.5 +VTS,1,1,480,1.63,CSH,7.5 +VTS,1,1,300,0.77,CSH,5.0 +VTS,1,1,840,4.11,CRD,15.0 +VTS,1,1,1440,9.9,CSH,31.0 +VTS,1,1,1440,3.85,CRD,18.0 +VTS,1,1,300,1.11,CRD,6.0 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,1800,10.35,CSH,32.0 +VTS,1,1,360,1.29,CSH,6.5 +VTS,1,1,1260,5.09,CSH,19.0 +VTS,1,1,720,4.21,CRD,14.0 +VTS,1,1,1320,7.15,CRD,23.5 +VTS,1,1,300,0.54,CRD,5.0 +VTS,1,1,780,3.47,CSH,13.0 +VTS,1,1,420,1.31,CSH,7.0 +VTS,1,1,120,0.93,CSH,4.5 +VTS,1,1,600,2.75,CSH,11.0 +VTS,1,1,1920,5.15,CSH,23.0 +VTS,1,1,360,0.57,CRD,5.5 +VTS,1,1,120,1.03,CSH,5.0 +VTS,1,1,180,0.84,CRD,4.5 +VTS,1,1,300,1.18,CSH,6.0 +VTS,1,1,360,0.84,CRD,6.0 +VTS,1,1,660,2.69,CRD,11.0 +VTS,1,1,1560,11.65,CRD,34.5 +VTS,1,1,420,0.72,CRD,6.0 +VTS,1,1,540,1.15,CSH,8.0 +VTS,1,1,780,4.95,CSH,16.0 +VTS,1,1,540,2.29,CRD,9.0 +VTS,1,1,360,0.82,CRD,6.0 +VTS,1,1,120,0.78,CRD,4.0 +VTS,1,1,660,1.42,CSH,9.0 +VTS,1,1,420,2.23,CSH,8.5 +VTS,1,1,540,1.49,CSH,7.5 +VTS,1,1,120,0.67,CRD,4.0 +VTS,1,1,180,0.97,CRD,5.0 +VTS,1,1,240,0.99,CSH,5.0 +VTS,1,1,300,0.55,CSH,5.5 +VTS,1,1,360,1.43,CRD,7.0 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,1,420,2.24,CSH,8.5 +VTS,1,1,360,1.4,CSH,7.0 +VTS,1,1,600,1.21,CRD,7.5 +VTS,1,1,420,1.68,CSH,8.0 +VTS,1,1,480,1.16,CSH,7.5 +VTS,1,1,360,2.33,CSH,8.5 +VTS,1,1,540,1.12,CSH,7.5 +VTS,1,1,600,2.22,CRD,9.5 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,240,1.83,CSH,7.0 +VTS,1,1,1080,3.83,CRD,15.5 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,1,540,1.6,CRD,8.0 +VTS,1,1,780,3.44,CSH,13.0 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,1,960,2.38,CRD,12.5 +VTS,1,1,480,2.76,CSH,9.5 +VTS,1,1,360,1.32,CSH,7.0 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,300,1.48,CRD,6.5 +VTS,1,1,240,0.87,CRD,5.5 +VTS,1,1,1260,5.4,CRD,19.5 +VTS,1,1,420,1.38,CSH,7.5 +VTS,1,1,1320,11.2,CRD,33.5 +VTS,1,1,1020,5.18,CRD,19.0 +VTS,1,1,1440,7.18,CSH,25.0 +VTS,1,1,360,1.5,CRD,7.5 +VTS,1,1,540,1.82,CRD,9.0 +VTS,1,1,120,0.37,CRD,3.5 +VTS,1,1,540,1.06,CSH,7.5 +VTS,1,1,720,2.75,CRD,11.5 +VTS,1,1,960,1.97,CRD,11.5 +VTS,1,1,960,2.38,CSH,12.0 +VTS,1,1,1440,3.92,CRD,17.5 +VTS,1,1,360,1.72,CRD,7.5 +VTS,1,1,840,2.32,CSH,11.5 +VTS,1,1,480,1.49,CSH,8.0 +VTS,1,1,720,6.85,CSH,20.5 +VTS,1,1,780,2.65,CRD,11.5 +VTS,1,1,720,1.2,CRD,9.5 +VTS,1,1,660,1.02,CSH,8.5 +VTS,1,1,840,4.28,CRD,15.0 +VTS,1,1,120,0.51,CRD,3.5 +VTS,1,1,360,0.72,CRD,6.0 +VTS,1,1,180,0.63,CRD,4.5 +VTS,1,1,360,1.01,CRD,6.5 +VTS,1,1,480,2.41,CRD,9.0 +VTS,1,1,480,3.74,CRD,12.0 +VTS,1,1,180,1.05,CRD,5.5 +VTS,1,1,180,0.6,CRD,4.0 +VTS,1,1,300,1.37,CRD,6.5 +VTS,1,1,360,1.71,CSH,7.5 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,960,3.6,CRD,14.5 +VTS,1,1,600,2.05,CRD,9.0 +VTS,1,1,240,0.05,CSH,4.5 +VTS,1,1,240,0.7,CSH,5.0 +VTS,1,1,420,1.58,CSH,7.5 +VTS,1,1,300,0.64,CRD,5.0 +VTS,1,1,540,1.25,CSH,7.5 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,360,0.9,CSH,6.0 +VTS,1,1,900,4.91,CRD,16.0 +VTS,1,1,480,1.67,CRD,8.0 +VTS,1,1,540,1.88,CRD,8.5 +VTS,1,1,360,1.0,CRD,6.0 +VTS,1,1,1020,3.57,CRD,15.0 +VTS,1,1,3060,10.61,CSH,40.0 +VTS,1,1,480,1.6,CRD,8.0 +VTS,1,1,900,4.36,CRD,15.5 +VTS,1,1,600,0.87,CSH,8.0 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,1,840,3.54,CRD,13.0 +VTS,1,1,2100,14.56,CRD,43.0 +VTS,1,1,960,2.97,CRD,13.5 +VTS,1,1,900,2.34,CSH,11.5 +VTS,1,1,600,1.52,CSH,8.0 +VTS,1,1,660,1.81,CRD,9.5 +VTS,1,1,480,2.54,CRD,9.5 +VTS,1,1,180,0.92,CRD,4.5 +VTS,1,1,120,0.65,CRD,4.0 +VTS,1,1,300,1.37,CSH,6.5 +VTS,1,1,660,1.15,CRD,8.5 +VTS,1,1,900,3.19,CSH,13.0 +VTS,1,1,420,0.82,CRD,6.5 +VTS,1,1,540,0.87,CSH,7.0 +VTS,1,1,480,2.62,CSH,10.0 +VTS,1,1,420,0.73,CSH,6.0 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,1440,2.22,CRD,15.5 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,240,1.06,CRD,5.5 +VTS,1,1,720,1.69,CRD,9.5 +VTS,1,1,780,2.35,CSH,11.0 +VTS,1,1,300,1.01,CRD,6.0 +VTS,1,1,660,2.08,CRD,9.5 +VTS,1,1,60,0.43,CSH,3.5 +VTS,1,1,480,1.93,CRD,8.5 +VTS,1,1,780,2.04,CSH,10.5 +VTS,2,1,1380,18.61,CRD,52.0 +VTS,1,1,660,2.27,CSH,10.0 +VTS,1,1,420,0.85,CRD,6.5 +VTS,1,1,540,1.89,CRD,9.0 +VTS,1,1,180,0.79,CRD,4.5 +VTS,1,1,120,0.66,CRD,4.5 +VTS,1,1,540,1.98,CRD,9.0 +VTS,1,1,600,0.97,CSH,8.0 +VTS,1,1,960,2.26,CRD,11.5 +VTS,1,1,60,0.11,CSH,3.0 +VTS,1,1,1320,3.51,CSH,17.0 +VTS,1,1,480,2.01,CSH,8.5 +VTS,1,1,720,2.38,CRD,11.0 +VTS,1,1,780,2.06,CSH,10.5 +VTS,1,1,300,0.99,CSH,6.0 +VTS,1,1,480,1.47,CSH,7.5 +VTS,1,1,1200,3.59,CRD,15.5 +VTS,1,1,660,1.42,CRD,9.0 +VTS,1,1,540,1.72,CRD,8.5 +VTS,1,1,1080,2.08,CSH,13.0 +VTS,1,1,780,2.0,CRD,10.0 +VTS,1,1,480,1.14,CSH,7.0 +VTS,1,1,600,1.61,CSH,8.5 +VTS,1,1,960,3.22,CSH,14.0 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,1440,5.8,CRD,21.5 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,540,1.64,CSH,8.5 +VTS,1,1,780,2.41,CRD,11.5 +VTS,1,1,420,1.64,CRD,7.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,720,2.46,CSH,11.0 +VTS,1,1,300,0.97,CSH,5.5 +VTS,1,1,1440,4.18,CRD,18.5 +VTS,1,1,180,0.97,CRD,5.5 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,1,420,1.78,CRD,8.0 +VTS,1,1,240,0.85,CSH,5.5 +VTS,1,1,780,7.02,CSH,21.0 +VTS,1,1,300,1.18,CSH,6.5 +VTS,1,1,1020,6.45,CRD,21.0 +VTS,1,1,240,0.71,CRD,5.0 +VTS,1,1,1020,2.91,CSH,13.5 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,180,0.79,CRD,4.5 +VTS,1,1,540,1.93,CRD,8.5 +VTS,1,1,900,3.93,CSH,15.0 +VTS,1,1,360,0.99,CRD,6.0 +VTS,1,1,1020,5.92,CRD,20.0 +VTS,1,1,180,0.49,CRD,4.5 +VTS,1,1,360,1.43,CRD,7.0 +VTS,1,1,420,2.22,CSH,9.5 +VTS,1,1,840,2.27,CSH,11.0 +VTS,1,1,420,1.2,CRD,7.0 +VTS,1,1,720,3.01,CRD,12.0 +VTS,1,1,240,1.01,CSH,5.5 +VTS,1,1,540,0.88,CRD,7.5 +VTS,1,1,540,2.01,CRD,9.0 +VTS,1,1,360,1.34,CRD,7.0 +VTS,1,1,1260,3.21,CRD,15.5 +VTS,1,1,420,2.27,CSH,8.5 +VTS,1,1,360,0.92,CRD,6.0 +VTS,1,1,420,2.12,CSH,8.5 +VTS,1,1,360,1.85,CSH,7.5 +VTS,1,1,240,0.93,CSH,5.0 +VTS,1,1,360,0.74,CSH,5.5 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,1140,4.22,CSH,17.0 +VTS,1,1,780,1.96,CSH,10.0 +VTS,1,1,240,1.36,CRD,6.0 +VTS,1,1,240,0.73,CRD,5.0 +VTS,1,1,480,0.75,CSH,7.0 +VTS,1,1,900,2.15,CSH,11.0 +VTS,1,1,840,3.17,CSH,13.0 +VTS,1,1,1020,2.59,CSH,13.0 +VTS,1,1,480,1.4,CSH,7.5 +VTS,1,1,780,6.14,CRD,18.5 +VTS,1,1,600,1.68,CRD,9.0 +VTS,1,1,480,2.34,CRD,9.0 +VTS,1,1,600,2.64,CRD,11.0 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,420,1.11,CSH,6.5 +VTS,1,1,420,1.2,CRD,7.0 +VTS,1,1,360,1.75,CSH,7.5 +VTS,1,1,900,2.13,CSH,11.0 +VTS,1,1,960,2.05,CRD,11.5 +VTS,1,1,180,0.53,CRD,4.0 +VTS,1,1,480,0.79,CSH,7.0 +VTS,1,1,660,1.49,CRD,9.5 +VTS,1,1,360,1.97,CRD,8.0 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,1,300,1.39,CRD,6.5 +VTS,3,1,1500,13.51,CRD,54.5 +VTS,1,1,600,2.67,CRD,10.5 +VTS,1,1,1620,4.89,CRD,21.5 +VTS,1,1,900,9.35,CRD,26.0 +VTS,1,1,300,1.15,CRD,6.0 +VTS,1,1,360,0.9,CSH,6.0 +VTS,1,1,600,2.6,CSH,10.0 +VTS,1,1,1680,6.27,CRD,23.5 +VTS,1,1,1560,3.33,CRD,17.5 +VTS,1,1,1200,3.75,CRD,16.0 +VTS,1,1,780,2.37,CSH,11.0 +VTS,1,1,660,1.73,CSH,9.5 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,300,1.22,CRD,6.5 +VTS,1,1,900,2.48,CSH,12.0 +VTS,1,1,1680,4.5,CSH,21.0 +VTS,1,1,960,8.79,CSH,25.0 +VTS,1,1,780,4.4,CRD,14.5 +VTS,1,1,480,1.25,CSH,7.5 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,180,0.86,CRD,5.0 +VTS,1,1,780,1.24,CRD,9.0 +VTS,1,1,600,1.27,CRD,8.5 +VTS,1,1,840,2.93,CRD,12.5 +VTS,1,1,1500,8.24,CRD,28.0 +VTS,1,1,1080,3.29,CSH,14.5 +VTS,1,1,240,0.46,CRD,4.5 +VTS,1,1,780,0.93,CSH,8.5 +VTS,1,1,840,1.77,CRD,10.5 +VTS,1,1,780,3.4,CRD,12.5 +VTS,1,1,1800,3.57,CRD,20.5 +VTS,1,1,660,1.3,CRD,8.5 +VTS,1,1,960,3.88,CRD,14.5 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,420,1.76,CRD,8.0 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,1680,5.34,CRD,22.0 +VTS,1,1,720,2.02,CSH,10.0 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,960,6.3,CRD,20.0 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,1140,5.23,CRD,19.0 +VTS,1,1,2220,6.59,CSH,29.0 +VTS,1,1,1260,11.96,CSH,34.5 +VTS,1,1,360,0.84,CSH,6.0 +VTS,1,1,420,1.82,CRD,8.0 +VTS,1,1,1260,9.64,CSH,29.5 +VTS,1,1,360,0.76,CSH,5.5 +VTS,1,1,180,0.92,CRD,4.5 +VTS,1,1,780,2.94,CSH,12.0 +VTS,1,1,180,0.47,CSH,4.0 +VTS,1,1,180,1.02,CSH,5.5 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,660,1.59,CRD,9.0 +VTS,1,1,1260,6.5,CRD,21.5 +VTS,1,1,1260,3.52,CRD,16.0 +VTS,1,1,840,3.42,CRD,13.5 +VTS,1,1,720,3.72,CRD,13.5 +VTS,1,1,540,2.74,CRD,10.0 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,300,1.52,CSH,7.0 +VTS,1,1,1200,5.29,CSH,19.5 +VTS,1,1,120,0.5,CRD,3.5 +VTS,1,1,420,1.89,CRD,8.5 +VTS,1,1,1380,2.89,CRD,16.0 +VTS,1,1,960,2.84,CSH,13.0 +VTS,1,1,1560,3.14,CRD,17.5 +VTS,1,1,480,1.42,CSH,7.5 +VTS,1,1,600,2.79,CRD,11.0 +VTS,1,1,1020,2.71,CRD,13.5 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,180,0.94,CRD,5.0 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,540,1.77,CRD,8.0 +VTS,1,1,780,2.76,CRD,11.5 +VTS,1,1,1500,11.66,CRD,34.0 +VTS,1,1,1500,10.9,CSH,33.5 +VTS,1,1,1080,2.9,CRD,13.5 +VTS,1,1,720,2.46,CSH,11.0 +VTS,1,1,300,0.92,CSH,6.0 +VTS,1,1,960,5.79,CSH,18.5 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,540,1.38,CRD,8.0 +VTS,1,1,840,4.11,CRD,14.5 +VTS,1,1,1380,5.84,CRD,20.5 +VTS,1,1,660,1.1,CRD,8.0 +VTS,1,1,240,1.57,CRD,6.5 +VTS,1,1,480,1.75,CRD,8.0 +VTS,1,1,420,1.63,CSH,7.5 +VTS,1,1,1860,8.71,CRD,29.5 +VTS,1,1,660,1.85,CRD,9.5 +VTS,1,1,780,4.03,CRD,14.0 +VTS,1,1,1140,5.23,CRD,19.0 +VTS,1,1,540,1.43,CSH,8.0 +VTS,1,1,420,1.29,CSH,7.0 +VTS,1,1,960,4.69,CRD,17.0 +VTS,1,1,720,2.59,CSH,11.5 +VTS,1,1,840,1.67,CRD,10.5 +VTS,1,1,660,1.23,CSH,8.5 +VTS,1,1,1020,5.84,CRD,19.0 +VTS,1,1,780,4.57,CRD,15.0 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,1140,3.0,CSH,15.5 +VTS,1,1,1740,8.11,CRD,27.5 +VTS,1,1,480,1.69,CSH,8.0 +VTS,1,1,660,2.69,CRD,11.0 +VTS,1,1,480,1.75,CRD,8.5 +VTS,1,1,720,3.05,CSH,12.0 +VTS,1,1,780,1.59,CRD,9.5 +VTS,1,1,480,0.91,CSH,6.5 +VTS,1,1,360,1.09,CRD,6.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,540,2.98,CRD,10.5 +VTS,1,1,1320,4.82,CRD,19.0 +VTS,1,1,300,1.48,CSH,6.5 +VTS,1,1,300,0.68,CRD,5.0 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,780,2.3,CRD,11.0 +VTS,1,1,120,0.63,CSH,4.0 +VTS,1,1,1260,4.86,CRD,19.0 +VTS,1,1,540,1.21,CRD,7.5 +VTS,1,1,660,2.53,CRD,10.5 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,960,2.76,CRD,13.0 +VTS,1,1,660,2.45,CRD,10.5 +VTS,1,1,1140,4.51,CSH,17.0 +VTS,1,1,1260,6.1,CSH,20.5 +VTS,1,1,180,0.46,CSH,4.5 +VTS,1,1,300,0.66,CSH,5.5 +VTS,1,2,0,0.0,CSH,2.5 +VTS,1,1,480,1.81,CRD,8.0 +VTS,1,1,840,1.95,CSH,11.0 +VTS,1,1,360,1.54,CSH,7.0 +VTS,1,1,1380,5.59,CRD,20.0 +VTS,1,1,900,3.97,CRD,14.5 +VTS,1,1,840,1.94,CSH,10.5 +VTS,1,1,900,4.88,CRD,16.0 +VTS,1,1,660,1.1,CRD,8.5 +VTS,1,1,660,1.92,CRD,9.0 +VTS,1,1,420,1.73,CRD,8.0 +VTS,1,1,960,2.76,CRD,13.0 +VTS,1,1,720,2.82,CRD,11.5 +VTS,1,1,60,0.25,CRD,3.0 +VTS,1,1,540,1.25,CSH,8.0 +VTS,1,1,1260,6.64,CSH,23.5 +VTS,1,1,480,1.85,CRD,8.5 +VTS,1,1,600,3.55,CSH,12.5 +VTS,1,1,180,0.55,CRD,4.0 +VTS,1,1,960,1.88,CRD,12.0 +VTS,1,1,660,1.84,CRD,9.5 +VTS,1,1,600,2.49,CRD,10.0 +VTS,1,1,900,2.94,CRD,13.0 +VTS,1,1,60,0.06,CSH,2.5 +VTS,1,1,420,1.34,CSH,7.0 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,540,1.35,CSH,8.0 +VTS,1,1,360,1.36,CRD,7.0 +VTS,1,1,1800,5.76,CSH,23.0 +VTS,1,1,840,4.12,CRD,15.0 +VTS,1,1,240,0.83,CRD,5.5 +VTS,1,1,960,3.52,CSH,14.5 +VTS,1,1,660,2.87,CRD,11.0 +VTS,1,1,1140,4.17,CRD,17.0 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,300,1.59,CSH,6.5 +VTS,1,1,300,1.53,CSH,6.5 +VTS,1,1,660,2.91,CRD,11.0 +VTS,1,1,600,2.49,CSH,9.5 +VTS,1,1,420,1.03,CRD,6.5 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,240,1.31,CSH,6.0 +VTS,1,1,840,2.52,CSH,12.0 +VTS,1,1,240,0.72,CSH,5.0 +VTS,1,1,420,1.58,CRD,7.0 +VTS,1,1,300,0.61,CRD,5.0 +VTS,1,1,300,0.96,CSH,6.0 +VTS,1,1,900,5.07,CRD,17.5 +VTS,1,1,720,2.34,CSH,10.5 +VTS,1,1,240,0.44,CRD,5.0 +VTS,1,1,480,1.36,CRD,7.0 +VTS,1,1,960,2.9,CRD,14.0 +VTS,1,1,420,1.56,CRD,7.0 +VTS,1,1,540,1.33,CSH,7.5 +VTS,1,1,2040,8.64,CSH,29.5 +VTS,1,1,300,0.96,CRD,6.0 +VTS,1,1,960,3.1,CRD,13.5 +VTS,1,1,480,1.19,CRD,7.5 +VTS,1,1,420,1.26,CSH,6.5 +VTS,1,1,720,2.56,CSH,9.5 +VTS,1,1,1080,5.05,CSH,18.0 +VTS,1,1,960,3.82,CRD,15.0 +VTS,1,1,300,0.77,CSH,5.0 +VTS,1,1,240,1.19,CRD,6.0 +VTS,1,1,420,1.82,CRD,8.0 +VTS,1,1,1680,12.96,CRD,38.5 +VTS,1,1,780,2.62,CRD,11.0 +VTS,1,1,420,1.4,CRD,7.0 +VTS,1,1,180,0.16,CSH,3.5 +VTS,1,1,480,1.89,CRD,8.5 +VTS,1,1,300,0.69,CSH,5.5 +VTS,1,1,240,1.31,CRD,6.0 +VTS,1,1,1200,7.33,CRD,22.0 +VTS,1,1,420,1.34,CRD,7.0 +VTS,1,1,780,3.05,CSH,12.5 +VTS,1,1,600,2.6,CRD,10.0 +VTS,1,1,1320,2.24,CSH,14.5 +VTS,1,1,120,0.58,CSH,4.0 +VTS,1,1,360,1.0,CRD,6.0 +VTS,1,1,180,1.02,CSH,5.0 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,240,0.78,CRD,5.0 +VTS,1,1,540,1.83,CRD,8.5 +VTS,1,1,660,1.21,CRD,9.0 +VTS,1,1,840,2.18,CRD,11.0 +VTS,1,1,180,0.5,CRD,4.5 +VTS,1,1,780,3.27,CRD,12.5 +VTS,1,1,720,4.08,CSH,14.0 +VTS,1,1,600,1.25,CSH,8.0 +VTS,1,1,780,2.61,CRD,11.5 +VTS,1,1,480,2.77,CSH,10.0 +VTS,1,1,360,1.27,CSH,6.5 +VTS,1,1,240,1.92,CSH,7.0 +VTS,1,1,240,0.93,CRD,5.5 +VTS,1,1,1380,5.18,CSH,20.0 +VTS,1,1,480,1.33,CSH,7.5 +VTS,1,1,360,1.58,CSH,7.0 +VTS,1,1,480,1.2,CSH,7.0 +VTS,1,1,360,1.12,CSH,6.5 +VTS,1,1,780,3.11,CRD,12.0 +VTS,1,1,480,1.46,CRD,7.5 +VTS,1,1,1500,6.93,CRD,23.5 +VTS,1,1,480,1.81,CSH,8.0 +VTS,1,1,720,3.35,CRD,12.5 +VTS,1,1,1080,3.09,CRD,14.0 +VTS,1,1,1020,3.35,CSH,14.0 +VTS,1,1,420,1.85,CSH,8.5 +VTS,1,1,480,1.76,CRD,8.0 +VTS,1,1,600,1.77,CRD,8.5 +VTS,1,1,1200,2.73,CSH,14.0 +VTS,1,1,780,1.21,CRD,9.5 +VTS,1,1,3060,6.49,CRD,33.0 +VTS,1,1,720,2.86,CRD,11.5 +VTS,1,1,600,1.5,CRD,8.5 +VTS,1,1,1020,3.01,CRD,13.0 +VTS,1,1,900,4.36,CRD,16.5 +VTS,5,1,120,0.0,CRD,53.0 +VTS,1,1,840,2.8,CRD,12.0 +VTS,1,1,840,2.86,CSH,12.0 +VTS,1,1,660,3.13,CRD,12.0 +VTS,1,1,480,1.08,CSH,7.0 +VTS,1,1,720,2.44,CRD,11.0 +VTS,1,1,1080,3.11,CRD,14.0 +VTS,1,1,360,0.85,CRD,5.5 +VTS,1,1,60,0.09,CSH,2.5 +VTS,1,1,360,1.22,CSH,6.5 +VTS,1,1,1140,5.8,CSH,20.5 +VTS,1,1,600,1.73,CSH,9.0 +VTS,1,1,960,4.37,CRD,16.0 +VTS,1,1,420,1.23,CSH,7.0 +VTS,1,1,240,1.08,CRD,5.5 +VTS,1,1,660,2.59,CRD,11.5 +VTS,1,1,180,0.78,CSH,5.0 +VTS,1,1,1200,4.84,CRD,17.5 +VTS,1,1,720,2.06,CSH,10.5 +VTS,1,1,900,4.01,CRD,14.5 +VTS,1,1,600,1.78,CRD,9.5 +VTS,1,1,360,0.75,CRD,6.0 +VTS,1,1,360,0.61,CSH,6.0 +VTS,1,1,600,1.23,CRD,8.5 +VTS,1,1,720,2.62,CRD,11.0 +VTS,1,1,1140,4.02,CSH,17.0 +VTS,1,1,660,2.2,CSH,10.0 +VTS,1,1,300,0.6,CSH,5.0 +VTS,1,1,780,3.25,CRD,13.0 +VTS,1,1,300,0.95,CSH,6.0 +VTS,1,1,1740,7.77,CRD,28.0 +VTS,1,1,300,0.68,CRD,5.0 +VTS,1,1,240,0.84,CSH,5.0 +VTS,1,1,1260,4.4,CRD,18.0 +VTS,1,1,180,1.05,CSH,5.0 +VTS,1,1,1560,11.92,CRD,35.0 +VTS,1,1,420,1.29,CSH,7.0 +VTS,1,1,420,1.68,CSH,7.5 +VTS,1,1,720,2.71,CRD,12.0 +VTS,1,1,360,0.83,CRD,6.0 +VTS,1,1,1500,2.74,CRD,16.0 +VTS,1,1,1860,7.02,CSH,26.5 +VTS,1,1,900,1.72,CRD,11.0 +VTS,1,1,300,1.34,CSH,6.0 +VTS,1,1,540,1.22,CRD,7.5 +VTS,1,1,360,1.44,CRD,7.0 +VTS,1,1,600,0.93,CRD,8.0 +VTS,1,1,120,0.6,CSH,4.0 +VTS,1,1,300,1.07,CSH,5.5 +VTS,1,1,900,4.32,CRD,15.5 +VTS,1,1,360,1.33,CSH,7.0 +VTS,1,1,1080,5.68,CRD,19.0 +VTS,1,1,420,1.22,CRD,6.5 +VTS,1,1,480,0.71,CRD,6.5 +VTS,1,1,240,0.95,CSH,5.0 +VTS,1,1,540,0.95,CSH,7.0 +VTS,1,1,1620,6.14,CSH,23.0 +VTS,1,1,480,2.1,CRD,9.0 +VTS,1,1,720,4.31,CRD,15.0 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,1200,3.93,CSH,16.5 +VTS,1,1,600,4.17,CRD,13.5 +VTS,1,1,660,1.86,CSH,9.0 +VTS,1,1,240,0.75,CRD,5.5 +VTS,1,1,420,1.55,CSH,7.5 +VTS,1,1,360,0.96,CSH,5.5 +VTS,1,1,720,2.73,CSH,11.5 +VTS,1,1,1740,4.47,CRD,20.5 +VTS,1,1,360,1.06,CSH,6.5 +VTS,1,1,660,1.85,CRD,9.5 +VTS,1,1,900,7.41,CSH,22.5 +VTS,1,1,420,2.13,CRD,8.5 +VTS,1,1,480,1.3,CRD,7.5 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,1,540,2.37,CSH,9.5 +VTS,1,1,240,0.5,CRD,5.0 +VTS,1,1,780,1.39,CSH,10.0 +VTS,1,1,660,2.17,CRD,10.0 +VTS,1,1,1020,2.04,CRD,12.0 +VTS,1,1,600,0.9,CRD,8.0 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,780,3.04,CRD,12.0 +VTS,1,1,780,3.01,CSH,12.0 +VTS,1,1,1680,13.48,CRD,39.0 +VTS,1,1,180,0.42,CSH,4.0 +VTS,1,1,660,1.48,CSH,9.0 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,2340,6.27,CSH,30.0 +VTS,1,1,900,3.82,CSH,14.5 +VTS,1,1,300,1.47,CSH,6.5 +VTS,1,1,1500,9.0,CSH,30.0 +VTS,1,1,1020,4.12,CSH,15.5 +VTS,1,1,360,1.09,CRD,6.0 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,660,3.15,CRD,11.5 +VTS,1,1,840,2.82,CSH,13.5 +VTS,1,1,840,2.33,CRD,11.5 +VTS,1,1,960,3.09,CRD,13.0 +VTS,1,1,420,1.01,CRD,6.5 +VTS,1,1,720,2.62,CRD,11.0 +VTS,1,1,480,1.41,CRD,7.5 +VTS,1,1,360,1.12,CSH,6.0 +VTS,1,1,1620,5.24,CRD,21.5 +VTS,1,1,120,0.23,CSH,3.0 +VTS,1,1,600,1.07,CSH,8.0 +VTS,1,1,1860,4.35,CRD,20.0 +VTS,1,1,1500,5.68,CSH,21.5 +VTS,1,1,420,2.51,CRD,9.0 +VTS,1,1,660,1.39,CSH,8.5 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,720,7.52,CSH,22.0 +VTS,1,1,360,1.09,CSH,6.0 +VTS,1,1,1080,3.2,CRD,14.0 +VTS,1,1,600,2.05,CSH,9.5 +VTS,1,1,720,5.53,CSH,17.5 +VTS,1,1,1200,3.23,CRD,15.0 +VTS,1,1,720,2.02,CRD,10.0 +VTS,1,1,600,3.19,CSH,12.0 +VTS,1,1,1500,6.06,CRD,22.5 +VTS,1,1,840,2.68,CSH,12.0 +VTS,1,1,600,3.77,CRD,12.0 +VTS,1,1,540,1.53,CSH,8.0 +VTS,1,1,480,2.16,CRD,8.5 +VTS,1,1,240,1.04,CRD,5.5 +VTS,1,1,840,4.85,CRD,15.5 +VTS,1,1,660,2.14,CSH,9.0 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,360,1.41,CRD,6.5 +VTS,1,1,900,3.55,CSH,14.0 +VTS,1,1,1080,2.68,CRD,14.0 +VTS,1,1,780,2.87,CRD,12.0 +VTS,1,1,180,1.26,CSH,5.5 +VTS,1,1,480,1.63,CSH,8.0 +VTS,1,1,840,4.98,CSH,16.5 +VTS,1,1,900,2.87,CSH,13.0 +VTS,1,1,120,0.54,CSH,4.0 +VTS,1,1,720,2.08,CRD,10.5 +VTS,1,1,420,1.41,CRD,7.5 +VTS,1,1,360,0.87,CSH,6.0 +VTS,1,1,660,2.97,CSH,11.5 +VTS,1,1,540,1.89,CSH,9.0 +VTS,1,1,840,4.34,CRD,16.0 +VTS,1,1,480,1.74,CRD,8.0 +VTS,1,1,540,2.55,CRD,9.5 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,1,420,2.02,CSH,8.5 +VTS,1,1,960,5.8,CRD,19.5 +VTS,1,1,420,1.4,CRD,7.0 +VTS,1,1,120,0.34,CRD,3.5 +VTS,1,1,360,0.98,CSH,6.0 +VTS,1,1,180,0.9,CSH,5.0 +VTS,1,1,420,2.04,CRD,8.5 +VTS,1,1,420,1.86,CRD,7.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,1440,14.52,CRD,40.0 +VTS,1,1,780,1.66,CSH,10.0 +VTS,1,1,1140,5.37,CSH,19.5 +VTS,1,1,1680,3.39,CRD,19.0 +VTS,1,1,420,0.87,CRD,6.5 +VTS,1,1,960,6.61,CRD,21.0 +VTS,1,1,1260,5.61,CSH,20.0 +VTS,1,1,660,4.0,CSH,14.0 +VTS,1,1,0,0.0,CRD,2.5 +VTS,1,1,720,3.43,CRD,12.5 +VTS,1,1,540,1.31,CRD,8.0 +VTS,1,1,480,1.28,CRD,7.5 +VTS,1,1,1140,3.7,CSH,15.5 +VTS,1,1,540,0.9,CRD,7.5 +VTS,1,1,1560,7.39,CRD,25.0 +VTS,1,1,480,1.38,CRD,7.5 +VTS,1,1,300,0.7,CSH,5.0 +VTS,1,1,480,0.77,CRD,6.5 +VTS,1,1,420,0.66,CSH,5.5 +VTS,1,1,720,1.85,CRD,10.0 +VTS,1,1,1080,1.07,CRD,11.5 +VTS,1,1,840,2.62,CSH,11.5 +VTS,1,1,720,1.56,CRD,9.0 +VTS,1,1,360,1.02,CRD,6.5 +VTS,1,1,420,0.78,CSH,6.5 +VTS,1,1,1500,5.35,CRD,20.5 +VTS,1,1,540,1.98,CRD,8.5 +VTS,1,1,840,4.73,CRD,16.0 +VTS,1,1,540,1.29,CRD,8.0 +VTS,1,1,240,0.53,CRD,4.5 +VTS,1,1,240,0.65,CSH,5.0 +VTS,1,1,240,1.82,CSH,7.0 +VTS,1,1,1200,3.34,CRD,15.0 +VTS,1,1,720,1.6,CSH,9.5 +VTS,1,1,900,4.56,CRD,16.5 +VTS,1,1,780,2.74,CRD,12.0 +VTS,1,1,1080,5.01,CSH,18.0 +VTS,1,1,900,2.7,CSH,10.0 +VTS,1,1,1140,2.22,CSH,13.0 +VTS,1,1,720,1.96,CSH,10.0 +VTS,1,1,480,1.2,CRD,7.0 +VTS,1,1,1200,3.63,CSH,16.0 +VTS,1,1,120,0.05,CSH,3.5 +VTS,1,1,720,1.81,CRD,9.5 +VTS,1,1,480,2.06,CSH,8.5 +VTS,1,1,480,2.13,CRD,9.0 +VTS,1,1,780,4.03,CRD,15.0 +VTS,1,1,780,2.91,CRD,12.0 +VTS,1,1,360,1.04,CSH,6.0 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,660,1.58,CSH,9.0 +VTS,1,1,900,4.13,CRD,15.5 +VTS,1,1,360,0.82,CSH,6.0 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,180,0.23,CSH,3.5 +VTS,1,1,660,0.68,CSH,8.5 +VTS,1,1,1080,4.39,CRD,16.5 +VTS,1,1,660,1.98,CSH,10.5 +VTS,1,1,480,2.54,CRD,10.0 +VTS,1,1,1440,5.44,CRD,20.5 +VTS,1,1,960,1.92,CRD,11.5 +VTS,1,1,180,0.64,CSH,4.0 +VTS,1,1,540,1.22,CSH,7.5 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,1320,2.75,CRD,15.0 +VTS,1,1,1320,3.42,CSH,16.5 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,1,420,1.62,CSH,7.5 +VTS,1,1,1500,8.38,CSH,27.5 +VTS,1,1,480,1.3,CRD,7.5 +VTS,1,1,720,1.19,CRD,9.0 +VTS,1,1,1020,7.27,CSH,23.0 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,600,1.33,CSH,8.0 +VTS,1,1,720,1.97,CRD,10.0 +VTS,1,1,180,0.86,CSH,5.0 +VTS,1,1,420,1.69,CSH,8.0 +VTS,1,1,780,2.8,CRD,12.0 +VTS,1,1,360,1.29,CSH,6.5 +VTS,1,1,120,0.74,CSH,4.0 +VTS,1,1,1020,6.37,CSH,20.5 +VTS,1,1,660,2.82,CRD,11.5 +VTS,1,1,540,2.1,CSH,9.5 +VTS,1,1,180,1.36,CSH,6.0 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,1,1500,5.08,CRD,20.0 +VTS,1,1,900,3.36,CRD,13.5 +VTS,1,1,420,1.49,CSH,7.5 +VTS,1,1,960,3.34,CRD,13.0 +VTS,1,1,780,2.94,CRD,12.5 +VTS,1,1,1380,5.3,CSH,19.5 +VTS,1,1,360,0.99,CRD,6.5 +VTS,1,1,1380,4.21,CRD,18.5 +VTS,1,1,1680,6.94,CSH,26.0 +VTS,1,1,60,0.05,CSH,3.0 +VTS,1,1,360,0.93,CRD,6.0 +VTS,1,1,720,2.28,CRD,10.5 +VTS,1,1,960,2.49,CRD,12.5 +VTS,1,1,840,3.11,CRD,13.0 +VTS,1,1,240,0.71,CRD,5.0 +VTS,1,1,480,1.38,CRD,7.5 +VTS,1,1,1080,5.46,CSH,18.5 +VTS,1,1,540,0.97,CSH,7.5 +VTS,1,1,1080,3.46,CRD,14.5 +VTS,1,1,120,1.2,CRD,5.5 +VTS,1,1,2100,5.34,CRD,24.0 +VTS,1,1,1020,4.64,CRD,17.0 +VTS,1,1,600,3.44,CRD,12.0 +VTS,1,1,480,1.17,CSH,7.0 +VTS,1,1,480,1.39,CSH,7.5 +VTS,1,1,600,2.94,CRD,11.0 +VTS,2,1,0,0.0,CSH,52.0 +VTS,1,1,720,2.25,CRD,10.5 +VTS,1,1,720,3.79,CRD,14.0 +VTS,1,1,420,1.62,CRD,7.5 +VTS,1,1,300,0.72,CRD,5.0 +VTS,1,1,1020,2.96,CRD,14.0 +VTS,1,1,1320,4.31,CRD,18.0 +VTS,1,1,660,3.61,CRD,12.5 +VTS,1,1,300,0.03,CSH,4.5 +VTS,1,1,360,0.84,CSH,5.5 +VTS,1,1,780,2.64,CRD,11.5 +VTS,1,1,1440,6.63,CRD,23.0 +VTS,1,1,840,3.95,CRD,14.5 +VTS,1,1,600,2.24,CSH,9.5 +VTS,1,1,1020,3.42,CSH,14.5 +VTS,1,1,540,1.09,CRD,7.0 +VTS,1,1,660,1.19,CRD,8.5 +VTS,1,1,480,1.75,CRD,8.0 +VTS,1,1,300,0.7,CSH,5.0 +VTS,1,1,660,5.65,CRD,17.5 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,540,1.12,CRD,7.5 +VTS,1,1,1680,5.12,CSH,21.0 +VTS,1,1,840,3.42,CRD,13.5 +VTS,5,1,1440,13.88,CRD,49.0 +VTS,1,1,960,3.42,CSH,14.5 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,2,960,7.6,CRD,22.5 +VTS,1,2,840,2.04,CSH,11.0 +VTS,1,1,360,1.68,CRD,7.0 +VTS,1,1,840,3.54,CRD,13.5 +VTS,1,1,960,3.52,CSH,14.5 +VTS,1,1,300,1.24,CRD,6.0 +VTS,1,1,480,1.15,CSH,7.0 +VTS,1,1,660,1.62,CRD,9.0 +VTS,1,1,1320,6.38,CRD,21.0 +VTS,1,1,300,1.33,CRD,6.5 +VTS,1,1,300,1.18,CSH,6.5 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,240,0.44,CSH,4.5 +VTS,1,1,660,2.68,CRD,10.5 +VTS,1,1,480,2.72,CSH,10.0 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,840,4.24,CRD,15.5 +VTS,1,1,360,1.34,CSH,6.5 +VTS,1,1,1020,3.52,CRD,15.0 +VTS,1,1,420,1.33,CRD,7.0 +VTS,1,1,300,0.67,CRD,5.0 +VTS,1,1,540,1.44,CRD,8.0 +VTS,1,1,420,1.01,CRD,6.5 +VTS,1,1,960,3.86,CRD,14.0 +VTS,1,1,840,3.36,CSH,13.0 +VTS,1,1,420,1.69,CSH,8.0 +VTS,1,1,300,1.34,CSH,6.0 +VTS,1,1,540,1.44,CSH,7.5 +VTS,1,2,360,0.7,CRD,5.5 +VTS,1,1,480,1.35,CRD,7.5 +VTS,1,1,360,2.11,CSH,8.0 +VTS,1,1,780,4.11,CRD,14.0 +VTS,1,1,540,2.67,CRD,10.0 +VTS,1,1,1020,4.06,CSH,15.5 +VTS,1,1,420,3.29,CRD,11.0 +VTS,1,1,180,0.43,CSH,4.0 +VTS,1,1,600,3.12,CRD,11.0 +VTS,1,1,540,1.44,CSH,8.0 +VTS,1,1,420,1.13,CSH,6.5 +VTS,1,1,360,1.21,CRD,6.0 +VTS,1,2,600,1.25,CSH,8.0 +VTS,1,2,1080,4.8,CSH,17.5 +VTS,1,1,540,1.5,CRD,8.5 +VTS,1,1,1320,5.64,CRD,20.0 +VTS,1,1,780,1.71,CRD,10.0 +VTS,1,1,360,1.08,CRD,6.0 +VTS,1,1,420,0.84,CRD,6.5 +VTS,1,1,180,0.63,CRD,4.5 +VTS,1,1,840,5.11,CRD,17.5 +VTS,1,2,360,1.61,CSH,7.0 +VTS,1,1,480,1.23,CRD,7.5 +VTS,3,1,2160,17.96,CRD,68.5 +VTS,1,1,780,3.05,CRD,12.5 +VTS,1,2,540,1.27,CRD,8.0 +VTS,1,1,120,0.54,CSH,4.0 +VTS,1,1,720,2.16,CSH,10.0 +VTS,1,2,660,1.28,CRD,8.5 +VTS,1,1,840,2.28,CRD,11.0 +VTS,1,1,1260,4.29,CSH,17.5 +VTS,1,2,660,1.91,CSH,9.5 +VTS,1,3,780,1.5,CSH,10.0 +VTS,1,1,1200,2.48,CRD,14.0 +VTS,1,1,180,0.47,CSH,4.0 +VTS,1,1,1200,2.91,CSH,15.0 +VTS,1,3,360,1.18,CSH,6.5 +VTS,1,1,540,2.64,CSH,10.5 +VTS,1,1,420,1.8,CSH,8.0 +VTS,1,1,960,5.13,CSH,17.5 +VTS,1,2,420,2.08,CSH,8.0 +VTS,1,1,480,1.69,CRD,7.5 +VTS,1,1,840,3.26,CRD,13.0 +VTS,1,1,1020,5.35,CRD,18.5 +VTS,1,1,900,6.06,CRD,20.0 +VTS,1,1,240,0.41,CRD,4.5 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,1320,5.52,CRD,21.5 +VTS,1,1,660,2.04,CRD,10.0 +VTS,1,2,780,2.47,CRD,11.5 +VTS,1,2,600,1.68,CSH,8.5 +VTS,1,1,1380,3.81,CRD,17.0 +VTS,1,1,1140,8.92,CRD,26.5 +VTS,1,1,660,1.88,CSH,9.0 +VTS,1,1,780,1.06,CSH,9.0 +VTS,1,1,840,1.87,CRD,10.5 +VTS,1,1,900,2.98,CSH,13.0 +VTS,1,1,300,0.88,CRD,6.0 +VTS,1,1,180,0.52,CRD,4.0 +VTS,1,1,600,2.54,CRD,11.0 +VTS,1,1,900,3.38,CRD,14.0 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,1,540,1.36,CSH,7.5 +VTS,1,3,300,1.43,CRD,6.5 +VTS,1,1,420,0.89,CRD,7.0 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,960,8.85,CSH,25.0 +VTS,1,2,600,1.77,CSH,9.0 +VTS,1,1,540,1.53,CRD,8.0 +VTS,1,2,480,2.22,CSH,9.0 +VTS,1,1,120,1.02,CSH,5.0 +VTS,1,1,420,1.73,CRD,7.5 +VTS,1,1,300,1.01,CRD,6.0 +VTS,2,1,2220,16.09,CSH,52.0 +VTS,1,1,360,0.97,CSH,6.0 +VTS,1,1,900,2.56,CSH,11.5 +VTS,1,1,540,1.06,CSH,7.5 +VTS,1,1,300,0.48,CRD,5.0 +VTS,1,2,540,1.78,CRD,8.5 +VTS,1,1,540,2.62,CRD,10.5 +VTS,1,1,360,1.11,CRD,6.5 +VTS,1,1,720,5.06,CSH,16.5 +VTS,1,1,540,0.61,CSH,7.0 +VTS,1,1,420,0.6,CSH,6.0 +VTS,1,1,660,2.22,CRD,10.0 +VTS,1,1,480,1.87,CRD,7.5 +VTS,1,1,300,0.55,CRD,5.0 +VTS,1,1,660,3.55,CRD,13.0 +VTS,1,1,720,1.49,CSH,9.5 +VTS,1,1,360,0.73,CSH,5.5 +VTS,1,1,1320,6.89,CRD,23.5 +VTS,1,1,1140,8.79,CRD,26.5 +VTS,1,1,540,2.52,CSH,10.0 +VTS,1,1,720,2.65,CRD,11.5 +VTS,1,1,360,1.69,CRD,7.5 +VTS,1,1,360,0.82,CSH,6.0 +VTS,1,1,300,0.84,CRD,5.5 +VTS,1,1,480,1.22,CRD,7.5 +VTS,1,1,480,1.97,CSH,8.0 +VTS,1,1,120,0.06,CSH,3.5 +VTS,1,1,540,2.19,CRD,9.5 +VTS,1,1,120,0.41,CRD,3.5 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,1260,4.64,CRD,18.5 +VTS,1,1,300,0.65,CRD,5.5 +VTS,1,1,120,0.55,CRD,4.0 +VTS,1,1,300,0.48,CSH,5.0 +VTS,1,1,420,1.76,CRD,8.0 +VTS,1,1,1260,5.16,CSH,19.0 +VTS,1,1,420,1.33,CRD,7.0 +VTS,1,1,1200,1.34,CSH,11.0 +VTS,1,1,660,3.35,CRD,12.0 +VTS,1,1,360,1.57,CRD,7.0 +VTS,1,1,600,2.55,CSH,10.0 +VTS,1,1,300,0.53,CRD,5.0 +VTS,1,1,900,3.05,CRD,13.0 +VTS,1,1,840,0.97,CRD,10.0 +VTS,1,1,360,0.89,CSH,6.0 +VTS,1,2,180,0.89,CSH,4.5 +VTS,1,1,600,1.53,CRD,8.5 +VTS,1,1,120,0.52,CSH,3.5 +VTS,1,1,480,0.9,CRD,7.0 +VTS,1,3,180,0.73,CSH,4.5 +VTS,1,1,900,2.19,CSH,11.5 +VTS,1,1,360,0.95,CRD,6.5 +VTS,1,1,360,1.09,CRD,6.5 +VTS,1,1,300,1.38,CSH,6.0 +VTS,1,1,720,2.92,CSH,12.0 +VTS,1,1,660,2.94,CSH,11.0 +VTS,1,1,600,1.88,CRD,9.5 +VTS,1,2,660,1.97,CRD,9.5 +VTS,1,1,900,8.96,CRD,25.5 +VTS,1,1,1620,4.39,CRD,20.0 +VTS,1,1,660,1.74,CSH,9.0 +VTS,1,1,660,1.91,CSH,9.5 +VTS,1,1,720,0.8,CSH,8.5 +VTS,1,1,600,1.67,CRD,9.0 +VTS,1,2,480,0.89,CRD,6.5 +VTS,2,1,2040,18.21,CSH,52.0 +VTS,1,1,1440,3.21,CSH,17.0 +VTS,1,1,420,1.53,CRD,7.5 +VTS,1,1,300,1.58,CRD,7.0 +VTS,1,1,600,1.48,CRD,9.0 +VTS,1,1,300,1.31,CRD,6.0 +VTS,1,1,480,1.19,CRD,7.5 +VTS,1,1,180,0.55,CSH,4.5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,480,1.5,CSH,8.0 +VTS,1,2,360,1.21,CSH,6.5 +VTS,1,1,1080,4.03,CRD,16.5 +VTS,1,1,540,1.37,CRD,8.0 +VTS,1,1,480,1.48,CSH,8.5 +VTS,1,1,180,0.87,CRD,5.0 +VTS,1,1,240,0.65,CRD,5.0 +VTS,1,1,540,0.89,CSH,7.5 +VTS,1,1,360,0.69,CRD,5.5 +VTS,1,1,720,4.11,CSH,14.5 +VTS,1,1,480,2.22,CRD,8.5 +VTS,1,1,1020,4.15,CRD,15.5 +VTS,1,1,540,2.12,CRD,9.0 +VTS,1,1,540,2.79,CSH,10.5 +VTS,1,1,900,1.83,CSH,11.0 +VTS,1,1,240,0.89,CSH,5.0 +VTS,1,1,720,3.87,CSH,14.0 +VTS,1,1,480,1.06,CRD,7.0 +VTS,1,1,780,8.64,CSH,24.0 +VTS,1,2,1140,3.15,CSH,14.0 +VTS,1,3,480,1.9,CRD,8.5 +VTS,1,1,960,3.37,CSH,14.0 +VTS,1,1,840,3.01,CSH,12.5 +VTS,1,1,900,2.67,CSH,12.0 +VTS,1,1,480,1.14,CSH,7.0 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,600,2.01,CSH,9.5 +VTS,1,1,1260,2.42,CRD,14.5 +VTS,1,1,480,1.58,CSH,8.5 +VTS,1,1,600,1.54,CRD,8.5 +VTS,1,1,480,1.18,CSH,7.5 +VTS,1,1,840,1.31,CSH,9.5 +VTS,1,2,180,0.62,CSH,4.5 +VTS,1,1,240,1.04,CRD,5.0 +VTS,1,2,540,1.66,CSH,8.0 +VTS,1,3,720,5.08,CSH,17.0 +VTS,1,1,420,1.0,CRD,6.5 +VTS,1,1,600,2.03,CRD,9.0 +VTS,1,1,480,2.4,CRD,10.0 +VTS,1,3,540,1.01,CRD,7.5 +VTS,1,1,420,0.85,CSH,6.0 +VTS,1,1,360,0.78,CSH,6.0 +VTS,1,1,600,4.57,CSH,15.5 +VTS,1,1,480,1.6,CRD,8.0 +VTS,1,1,540,2.58,CSH,9.5 +VTS,1,1,360,1.4,CSH,6.5 +VTS,1,1,240,0.48,CRD,4.5 +VTS,1,1,480,0.55,CSH,6.5 +VTS,1,1,960,3.12,CRD,13.0 +VTS,1,1,420,0.68,CSH,6.5 +VTS,1,1,1320,3.41,CRD,16.0 +VTS,1,1,900,1.83,CRD,11.0 +VTS,1,1,420,0.81,CSH,6.5 +VTS,1,1,300,1.29,CSH,6.5 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,540,3.26,CRD,11.5 +VTS,1,1,540,1.78,CRD,9.0 +VTS,1,1,480,0.7,CRD,6.5 +VTS,1,1,300,1.49,CSH,6.0 +VTS,1,1,120,0.53,CRD,4.0 +VTS,1,1,480,0.62,CRD,6.5 +VTS,1,1,120,0.68,CSH,4.0 +VTS,2,1,2160,14.65,CRD,52.0 +VTS,1,1,720,2.36,CSH,11.0 +VTS,1,1,360,2.05,CSH,8.5 +VTS,1,1,240,1.79,CSH,7.0 +VTS,1,1,540,2.7,CRD,10.5 +VTS,1,1,120,0.62,CSH,4.0 +VTS,1,1,420,1.18,CSH,7.0 +VTS,1,3,1020,5.58,CSH,19.5 +VTS,1,1,960,1.79,CRD,11.5 +VTS,1,1,1680,5.42,CSH,22.0 +VTS,1,1,540,1.65,CRD,8.0 +VTS,1,1,360,1.82,CSH,7.0 +VTS,1,1,480,1.43,CRD,8.0 +VTS,1,1,360,1.01,CSH,6.0 +VTS,1,1,780,3.31,CSH,12.5 +VTS,1,1,600,1.34,CSH,8.0 +VTS,1,1,1020,3.19,CRD,14.0 +VTS,1,1,900,7.17,CRD,22.0 +VTS,1,2,600,1.91,CSH,9.5 +VTS,1,1,660,1.26,CRD,8.5 +VTS,2,2,2040,16.97,CRD,52.0 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,840,1.92,CRD,10.5 +VTS,1,1,1020,2.1,CSH,12.0 +VTS,1,1,780,1.59,CSH,10.0 +VTS,3,2,840,1.26,CSH,27.5 +VTS,1,1,1020,0.97,CRD,11.0 +VTS,1,1,300,0.6,CRD,5.5 +VTS,1,1,480,1.16,CRD,7.0 +VTS,1,1,960,5.44,CRD,18.0 +VTS,1,3,1800,10.31,CRD,34.0 +VTS,1,1,420,0.77,CSH,6.5 +VTS,1,1,240,0.73,CRD,5.5 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,720,2.65,CRD,11.5 +VTS,1,1,660,2.26,CRD,10.0 +VTS,1,1,420,0.98,CSH,6.5 +VTS,1,1,540,0.71,CSH,6.5 +VTS,1,1,300,0.72,CSH,5.0 +VTS,1,2,300,0.75,CSH,5.0 +VTS,1,1,360,0.8,CSH,5.5 +VTS,1,1,540,2.31,CSH,10.0 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,720,4.89,CRD,16.0 +VTS,1,1,960,2.16,CRD,12.0 +VTS,1,1,240,0.88,CRD,5.0 +VTS,1,1,540,0.77,CSH,7.0 +VTS,1,1,960,3.42,CRD,14.0 +VTS,1,2,300,0.77,CRD,5.5 +VTS,1,1,660,1.31,CRD,8.5 +VTS,1,1,1140,2.07,CRD,13.5 +VTS,1,1,1500,5.46,CRD,22.5 +VTS,1,1,1260,4.18,CRD,17.5 +VTS,1,1,240,0.87,CSH,5.0 +VTS,1,1,780,1.85,CSH,10.5 +VTS,1,1,540,2.05,CRD,9.0 +VTS,1,1,960,2.88,CSH,13.5 +VTS,1,1,1200,6.25,CRD,21.0 +VTS,1,1,240,0.78,CRD,5.5 +VTS,1,1,600,1.25,CRD,8.0 +VTS,1,1,420,1.72,CSH,7.5 +VTS,1,1,1260,3.59,CRD,16.5 +VTS,1,1,480,1.06,CRD,6.5 +VTS,1,1,420,1.77,CRD,7.5 +VTS,1,1,960,1.7,CRD,11.0 +VTS,1,1,720,1.15,CSH,9.5 +VTS,1,1,1260,1.94,CSH,14.5 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,300,0.43,CSH,4.5 +VTS,1,4,840,1.25,CSH,10.0 +VTS,1,1,900,4.9,CSH,17.5 +VTS,1,1,480,1.77,CRD,8.0 +VTS,1,1,360,0.88,CSH,6.0 +VTS,1,1,600,2.62,CRD,10.0 +VTS,1,1,840,3.55,CSH,13.5 +VTS,1,1,720,3.59,CRD,13.0 +VTS,1,1,1380,8.92,CRD,27.5 +VTS,1,1,480,1.23,CSH,7.0 +VTS,1,1,480,0.91,CSH,6.5 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,480,1.08,CSH,7.0 +VTS,1,1,660,1.76,CRD,9.0 +VTS,1,1,360,1.46,CSH,7.0 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,600,2.13,CRD,9.5 +VTS,1,1,180,0.93,CSH,5.0 +VTS,1,1,420,0.81,CRD,6.0 +VTS,1,1,240,0.99,CRD,5.0 +VTS,1,1,360,1.41,CRD,7.0 +VTS,1,1,240,1.47,CRD,6.0 +VTS,1,1,960,1.05,CRD,11.0 +VTS,1,1,540,1.21,CRD,8.0 +VTS,1,1,1260,2.28,CRD,14.5 +VTS,1,1,1260,5.57,CRD,20.5 +VTS,1,1,60,0.0,CSH,2.5 +VTS,1,1,660,1.57,CSH,8.5 +VTS,1,1,120,0.58,CRD,4.0 +VTS,1,1,1260,6.02,CSH,21.0 +VTS,1,1,600,2.5,CRD,10.0 +VTS,1,1,60,0.21,CSH,3.0 +VTS,1,1,540,2.24,CSH,9.5 +VTS,1,1,1440,5.86,CRD,21.5 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,1,420,1.62,CSH,7.5 +VTS,1,1,840,3.0,CRD,12.5 +VTS,1,1,2340,14.25,CRD,43.5 +VTS,1,1,1260,7.09,CRD,24.0 +VTS,1,1,300,2.47,CSH,8.5 +VTS,1,1,360,1.52,CSH,7.0 +VTS,2,1,0,0.0,CSH,52.0 +VTS,1,1,480,3.03,CRD,11.0 +VTS,1,1,180,1.14,CRD,5.0 +VTS,1,1,600,3.01,CRD,11.5 +VTS,1,2,240,0.47,CRD,4.5 +VTS,1,1,180,0.58,CSH,4.0 +VTS,1,2,240,0.48,CSH,4.5 +VTS,1,1,660,0.94,CRD,8.5 +VTS,1,1,1320,3.28,CRD,15.5 +VTS,1,1,660,0.7,CSH,8.0 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,660,1.4,CRD,8.5 +VTS,2,2,1800,16.83,CSH,52.0 +VTS,1,1,420,1.6,CSH,7.5 +VTS,1,1,120,0.52,CSH,4.0 +VTS,1,1,840,2.48,CRD,12.0 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,360,3.1,CRD,10.5 +VTS,1,1,180,1.06,CRD,5.0 +VTS,1,2,1020,2.38,CRD,12.5 +VTS,1,1,600,0.99,CRD,8.0 +VTS,1,1,420,1.29,CRD,7.0 +VTS,1,1,720,1.86,CSH,10.5 +VTS,1,1,120,0.54,CSH,4.0 +VTS,1,2,360,0.89,CRD,5.5 +VTS,1,1,660,2.05,CRD,9.5 +VTS,1,2,480,1.33,CRD,7.5 +VTS,1,1,780,3.57,CRD,13.0 +VTS,1,2,240,1.06,CRD,5.5 +VTS,1,2,480,1.27,CRD,7.5 +VTS,1,1,540,1.75,CRD,8.5 +VTS,1,1,420,0.46,CSH,6.0 +VTS,1,1,360,0.66,CSH,6.0 +VTS,1,1,660,1.34,CSH,8.5 +VTS,1,1,600,1.79,CSH,9.0 +VTS,1,1,120,0.36,CSH,3.5 +VTS,1,1,840,4.33,CRD,16.0 +VTS,1,1,240,0.79,CRD,5.0 +VTS,1,1,660,1.75,CRD,9.5 +VTS,1,1,1140,2.91,CSH,14.0 +VTS,1,1,780,1.42,CSH,9.5 +VTS,1,1,480,1.34,CSH,8.0 +VTS,1,2,420,1.29,CSH,6.5 +VTS,1,1,360,0.92,CRD,6.0 +VTS,1,1,540,2.18,CSH,9.5 +VTS,1,1,300,1.88,CSH,7.5 +VTS,1,1,1260,4.1,CRD,17.5 +VTS,1,1,420,1.17,CSH,6.5 +VTS,1,1,180,0.51,CSH,4.5 +VTS,1,2,600,2.19,CSH,9.5 +VTS,1,1,720,1.75,CSH,9.5 +VTS,1,1,240,0.57,CRD,5.0 +VTS,1,1,540,1.37,CRD,8.0 +VTS,1,2,420,1.17,CSH,6.5 +VTS,1,1,720,2.05,CRD,10.0 +VTS,1,1,840,1.7,CSH,10.5 +VTS,1,1,840,1.91,CRD,11.0 +VTS,1,1,1080,2.18,CSH,13.0 +VTS,1,1,720,2.06,CRD,10.5 +VTS,1,1,780,2.41,CRD,11.5 +VTS,1,1,660,1.28,CRD,8.5 +VTS,1,1,540,1.23,CSH,7.5 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,1,480,1.63,CRD,7.5 +VTS,1,1,540,1.72,CSH,8.5 +VTS,1,1,840,3.99,CSH,15.5 +VTS,1,1,1260,2.84,CRD,14.5 +VTS,1,1,720,1.4,CRD,9.0 +VTS,1,1,900,2.71,CRD,12.5 +VTS,1,4,600,1.4,CSH,8.0 +VTS,1,1,1020,2.15,CSH,12.5 +VTS,1,1,1860,8.41,CSH,29.0 +VTS,1,1,480,1.01,CSH,7.0 +VTS,1,2,1020,2.09,CRD,12.0 +VTS,1,2,120,0.38,CSH,3.5 +VTS,1,1,1920,11.81,CSH,36.5 +VTS,1,1,660,1.98,CSH,10.0 +VTS,1,1,1800,7.73,CRD,27.5 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,1,1260,8.39,CRD,26.5 +VTS,1,1,1080,2.64,CRD,13.5 +VTS,1,1,780,2.04,CSH,10.5 +VTS,1,1,900,3.73,CRD,14.5 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,540,1.41,CRD,8.5 +VTS,1,1,120,0.47,CRD,3.5 +VTS,1,1,420,0.96,CRD,6.5 +VTS,1,1,180,0.62,CSH,4.0 +VTS,1,1,900,2.43,CRD,11.5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,1020,5.61,CSH,19.5 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,2,780,3.11,CSH,13.0 +VTS,1,1,540,2.44,CRD,9.5 +VTS,1,1,360,0.84,CSH,5.5 +VTS,1,1,360,0.7,CRD,5.5 +VTS,1,1,600,4.22,CRD,13.5 +VTS,1,1,60,0.0,CRD,2.5 +VTS,1,1,1320,6.91,CSH,22.0 +VTS,1,5,1020,1.14,CRD,11.0 +VTS,1,5,660,0.96,CRD,8.0 +VTS,1,5,1200,2.07,CRD,14.0 +VTS,1,1,300,1.0,CSH,5.5 +VTS,1,1,240,0.77,CSH,5.0 +VTS,1,1,660,2.24,CSH,10.0 +VTS,1,5,240,0.85,CRD,5.0 +VTS,1,5,1440,4.14,CRD,18.0 +VTS,1,5,240,0.49,CSH,5.0 +VTS,1,5,300,1.14,CRD,6.0 +VTS,1,1,660,2.86,CRD,10.5 +VTS,1,1,240,0.46,CRD,5.0 +VTS,1,1,300,1.15,CRD,6.0 +VTS,1,1,480,1.24,CRD,7.5 +VTS,1,1,360,0.88,CRD,5.5 +VTS,1,1,180,0.57,CSH,4.0 +VTS,1,1,720,2.44,CSH,11.5 +VTS,1,1,300,1.16,CRD,6.0 +VTS,1,1,960,2.04,CSH,12.0 +VTS,1,1,1080,2.95,CRD,14.5 +VTS,1,1,600,1.73,CRD,8.5 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,480,0.77,CSH,6.5 +VTS,1,1,1680,2.87,CRD,18.0 +VTS,1,1,240,0.24,CSH,4.0 +VTS,1,1,300,0.83,CSH,5.0 +VTS,1,1,240,0.65,CSH,5.0 +VTS,1,1,240,0.82,CRD,5.0 +VTS,1,1,720,2.92,CSH,12.0 +VTS,1,1,360,2.05,CRD,8.0 +VTS,1,1,240,1.28,CRD,6.0 +VTS,1,1,1140,2.66,CRD,13.5 +VTS,1,1,660,2.64,CSH,10.5 +VTS,1,1,1080,3.15,CRD,14.5 +VTS,1,1,420,1.56,CRD,7.5 +VTS,1,1,540,2.56,CRD,10.0 +VTS,1,1,240,0.85,CSH,5.0 +VTS,1,2,1080,3.41,CRD,14.5 +VTS,1,3,600,1.46,CRD,8.5 +VTS,1,1,660,2.34,CRD,10.5 +VTS,1,1,780,2.65,CRD,12.0 +VTS,1,1,240,0.88,CRD,5.0 +VTS,1,1,660,0.74,CRD,8.0 +VTS,1,1,420,1.64,CSH,7.5 +VTS,1,1,1020,2.6,CRD,13.0 +VTS,1,1,1440,3.02,CSH,16.5 +VTS,1,1,1380,4.81,CRD,19.0 +VTS,1,1,480,1.15,CRD,7.5 +VTS,1,1,600,1.39,CRD,8.0 +VTS,1,1,660,1.56,CRD,9.0 +VTS,1,1,1200,2.16,CRD,13.5 +VTS,1,1,1620,5.49,CRD,22.0 +VTS,1,2,240,1.01,CSH,5.5 +VTS,1,1,120,0.6,CSH,4.0 +VTS,1,1,120,0.62,CSH,4.0 +VTS,1,1,660,2.78,CSH,11.5 +VTS,1,1,360,0.79,CSH,5.5 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,900,3.24,CRD,12.5 +VTS,1,2,300,1.0,CSH,6.0 +VTS,1,1,540,2.07,CRD,9.5 +VTS,1,1,660,2.8,CRD,11.0 +VTS,1,1,1020,3.29,CRD,14.5 +VTS,1,1,360,1.12,CSH,6.0 +VTS,1,1,300,1.61,CSH,6.5 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,1,480,1.69,CRD,8.0 +VTS,1,4,600,2.15,CSH,9.5 +VTS,1,1,660,4.52,CSH,15.0 +VTS,1,2,480,0.98,CSH,7.0 +VTS,1,1,780,2.83,CRD,11.5 +VTS,1,1,540,0.85,CSH,7.5 +VTS,1,1,900,3.78,CRD,13.5 +VTS,1,1,300,1.2,CSH,6.0 +VTS,1,1,300,0.86,CRD,5.5 +VTS,1,1,300,0.94,CRD,6.0 +VTS,1,1,540,1.75,CSH,8.5 +VTS,1,1,780,1.49,CSH,9.5 +VTS,1,1,480,1.06,CSH,7.0 +VTS,1,1,180,0.63,CRD,4.5 +VTS,1,1,1320,2.99,CRD,15.5 +VTS,1,1,960,1.49,CRD,11.0 +VTS,1,1,480,1.44,CSH,7.5 +VTS,1,1,600,2.25,CRD,9.5 +VTS,1,1,300,1.23,CRD,6.5 +VTS,1,1,300,1.06,CSH,6.0 +VTS,1,1,240,0.81,CRD,5.0 +VTS,1,1,1320,4.88,CRD,19.0 +VTS,1,1,600,5.44,CSH,16.5 +VTS,1,1,240,0.8,CSH,5.0 +VTS,1,1,600,2.72,CSH,10.5 +VTS,1,1,1260,3.6,CSH,16.0 +VTS,1,1,1260,8.81,CSH,26.5 +VTS,1,1,480,1.21,CSH,7.0 +VTS,1,1,480,1.69,CSH,7.5 +VTS,1,1,300,1.21,CRD,5.5 +VTS,1,1,720,6.77,CRD,19.5 +VTS,1,5,420,1.87,CSH,8.0 +VTS,1,5,1200,2.59,CRD,14.0 +VTS,1,5,840,2.64,CRD,12.5 +VTS,1,5,1200,6.0,CRD,21.5 +VTS,1,1,540,1.91,CSH,8.5 +VTS,1,1,360,1.52,CSH,7.0 +VTS,1,1,420,1.33,CRD,7.0 +VTS,1,1,1320,3.42,CRD,16.0 +VTS,1,1,840,1.05,CRD,9.5 +VTS,1,1,180,0.96,CRD,5.0 +VTS,1,1,1080,2.62,CRD,13.0 +VTS,2,1,4380,17.62,CSH,52.0 +VTS,1,2,900,3.18,CSH,13.5 +VTS,1,1,420,1.08,CRD,6.5 +VTS,2,1,3240,20.98,CRD,52.0 +VTS,1,1,1320,7.13,CRD,24.0 +VTS,1,1,420,2.14,CSH,8.0 +VTS,1,1,180,0.53,CSH,4.0 +VTS,1,1,720,1.39,CSH,9.0 +VTS,1,1,540,1.06,CSH,7.0 +VTS,1,1,360,0.78,CRD,6.0 +VTS,1,1,900,1.67,CRD,11.0 +VTS,1,1,600,1.59,CRD,8.5 +VTS,1,1,240,0.57,CRD,4.5 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,4,60,0.44,CSH,3.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,660,2.19,CRD,10.5 +VTS,1,1,540,1.68,CRD,8.5 +VTS,1,1,0,0.07,CSH,2.5 +VTS,1,2,300,1.01,CRD,6.0 +VTS,1,1,1320,7.79,CRD,26.5 +VTS,1,1,1200,3.07,CSH,15.5 +VTS,1,1,780,2.29,CSH,11.5 +VTS,1,1,600,0.0,CRD,5.5 +VTS,1,1,840,6.5,CSH,20.0 +VTS,1,1,600,1.96,CSH,9.5 +VTS,1,1,420,1.19,CSH,6.5 +VTS,1,1,1080,2.8,CRD,14.0 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,1,480,1.42,CRD,7.0 +VTS,1,1,1860,4.88,CRD,23.5 +VTS,1,1,660,0.82,CSH,8.0 +VTS,1,1,1020,3.2,CRD,13.5 +VTS,1,1,480,1.24,CSH,7.0 +VTS,1,1,480,1.28,CSH,7.0 +VTS,1,1,600,2.95,CRD,11.0 +VTS,1,1,1200,10.25,CRD,28.5 +VTS,1,5,420,2.17,CSH,9.0 +VTS,1,1,1020,1.8,CSH,12.5 +VTS,1,1,720,2.36,CRD,11.0 +VTS,1,1,540,0.98,CSH,8.0 +VTS,1,1,960,1.31,CRD,10.5 +VTS,1,1,300,1.04,CSH,5.0 +VTS,1,1,1320,6.09,CRD,21.0 +VTS,1,1,480,1.85,CSH,8.0 +VTS,1,1,540,1.5,CSH,8.0 +VTS,1,1,900,4.12,CSH,15.0 +VTS,1,1,1080,2.99,CSH,14.0 +VTS,1,1,780,2.13,CSH,10.5 +VTS,1,1,1500,2.87,CRD,16.5 +VTS,1,1,600,1.3,CSH,8.5 +VTS,1,1,600,1.53,CSH,8.5 +VTS,1,1,1380,8.22,CRD,25.5 +VTS,1,1,840,3.63,CRD,13.0 +VTS,1,1,660,1.4,CSH,9.0 +VTS,1,1,1020,3.9,CRD,15.5 +VTS,5,1,60,0.0,CRD,13.0 +VTS,1,1,1860,5.82,CRD,25.0 +VTS,1,1,120,0.58,CRD,4.0 +VTS,1,1,1140,2.31,CRD,13.0 +VTS,1,2,360,0.85,CSH,6.0 +VTS,1,1,900,5.48,CRD,18.0 +VTS,1,1,1380,7.49,CRD,24.5 +VTS,1,1,840,1.62,CSH,10.5 +VTS,1,1,540,1.78,CSH,8.5 +VTS,1,1,1080,3.12,CSH,14.5 +VTS,1,3,900,1.34,CRD,10.0 +VTS,1,1,480,2.12,CRD,9.0 +VTS,1,1,1800,10.51,CSH,33.5 +VTS,1,1,300,1.35,CRD,6.0 +VTS,1,1,1260,7.17,CSH,23.5 +VTS,1,1,780,3.42,CSH,13.0 +VTS,1,5,840,1.3,CRD,9.0 +VTS,1,5,600,0.89,CRD,7.5 +VTS,1,5,180,0.36,CSH,3.5 +VTS,1,5,540,2.16,CSH,9.5 +VTS,1,1,420,0.89,CRD,6.5 +VTS,1,1,480,1.39,CSH,7.5 +VTS,1,1,720,1.32,CRD,9.5 +VTS,1,1,720,2.36,CSH,10.5 +VTS,1,5,360,1.34,CSH,7.0 +VTS,1,5,1320,2.32,CRD,14.5 +VTS,1,5,1140,1.54,CRD,12.0 +VTS,1,5,780,1.5,CSH,9.5 +VTS,1,5,1020,4.92,CSH,17.5 +VTS,1,1,300,0.65,CSH,5.0 +VTS,1,1,1020,1.05,CRD,11.5 +VTS,1,1,960,2.04,CSH,11.5 +VTS,1,1,360,0.88,CSH,6.0 +VTS,1,1,600,1.19,CRD,8.0 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,600,2.03,CSH,9.5 +VTS,1,1,720,1.59,CRD,9.5 +VTS,1,1,420,1.38,CSH,7.0 +VTS,1,1,1620,4.39,CSH,20.0 +VTS,1,1,960,1.19,CSH,11.5 +VTS,1,1,420,1.54,CSH,8.0 +VTS,1,1,1080,4.08,CSH,15.0 +VTS,1,1,420,0.71,CRD,6.0 +VTS,1,1,900,2.62,CRD,12.5 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,360,1.03,CRD,6.0 +VTS,1,1,780,3.38,CRD,12.5 +VTS,1,1,360,1.46,CSH,7.0 +VTS,1,1,2340,5.73,CSH,28.5 +VTS,1,1,1860,5.08,CSH,22.5 +VTS,1,1,420,0.96,CRD,6.0 +VTS,1,1,900,3.53,CRD,13.5 +VTS,1,1,720,2.07,CRD,9.5 +VTS,1,1,1620,6.05,CRD,22.5 +VTS,1,1,300,1.13,CSH,6.0 +VTS,1,1,1200,4.76,CRD,18.0 +VTS,1,1,660,2.36,CSH,10.0 +VTS,1,1,660,1.57,CRD,9.0 +VTS,1,1,1500,3.95,CRD,18.5 +VTS,1,1,600,1.48,CSH,8.5 +VTS,1,1,600,1.2,CRD,7.5 +VTS,1,1,660,2.27,CSH,10.0 +VTS,1,1,180,0.4,CSH,3.5 +VTS,1,1,1140,7.51,CSH,23.5 +VTS,1,1,600,1.71,CSH,8.5 +VTS,1,1,900,4.63,CRD,16.0 +VTS,1,1,240,0.75,CSH,4.5 +VTS,1,1,480,1.65,CRD,7.5 +VTS,1,1,780,4.4,CRD,15.5 +VTS,1,1,660,1.9,CRD,9.5 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,300,1.12,CRD,6.0 +VTS,1,1,660,1.26,CRD,9.0 +VTS,1,1,120,0.5,CRD,3.5 +VTS,1,1,480,2.25,CRD,9.0 +VTS,1,1,540,1.21,CRD,7.5 +VTS,1,1,360,0.55,CSH,5.0 +VTS,1,1,1140,2.0,CSH,11.0 +VTS,1,1,660,2.44,CRD,10.5 +VTS,1,1,360,0.96,CRD,6.0 +VTS,1,1,360,0.47,CSH,5.5 +VTS,1,1,1020,1.55,CSH,12.0 +VTS,1,1,540,1.67,CSH,8.0 +VTS,1,1,660,1.12,CSH,8.5 +VTS,1,1,240,0.88,CRD,5.0 +VTS,1,1,960,3.34,CRD,13.5 +VTS,1,1,600,1.23,CRD,8.0 +VTS,1,1,300,0.67,CSH,5.0 +VTS,1,1,720,2.9,CRD,11.5 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,1260,9.96,CSH,29.5 +VTS,1,1,420,0.63,CRD,6.0 +VTS,1,1,420,1.81,CRD,8.0 +VTS,1,1,120,0.91,CRD,5.0 +VTS,1,1,240,0.86,CSH,5.0 +VTS,1,1,780,3.88,CSH,14.0 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,480,0.82,CSH,6.5 +VTS,1,1,180,0.56,CSH,4.5 +VTS,1,1,420,0.89,CRD,6.5 +VTS,1,1,480,1.49,CSH,8.0 +VTS,1,1,840,3.68,CRD,13.5 +VTS,1,1,120,0.65,CRD,4.0 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,1080,4.47,CRD,17.0 +VTS,1,1,1620,3.84,CRD,18.5 +VTS,1,1,900,3.7,CRD,14.0 +VTS,1,1,780,2.16,CRD,11.0 +VTS,1,1,180,0.52,CRD,4.0 +VTS,1,1,120,0.62,CSH,4.5 +VTS,1,2,180,1.01,CSH,5.0 +VTS,1,1,1080,1.85,CSH,12.5 +VTS,1,1,720,1.96,CRD,10.0 +VTS,1,1,480,1.56,CRD,8.0 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,360,0.77,CRD,5.5 +VTS,1,1,1200,5.19,CRD,18.0 +VTS,1,1,540,0.64,CRD,6.5 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,720,0.92,CRD,8.5 +VTS,1,1,720,1.2,CRD,9.0 +VTS,1,1,360,1.0,CRD,6.0 +VTS,1,1,780,2.07,CRD,10.0 +VTS,1,1,420,1.26,CSH,6.5 +VTS,1,1,1320,2.34,CSH,14.5 +VTS,1,1,660,1.43,CSH,9.0 +VTS,1,1,540,1.21,CSH,7.5 +VTS,1,1,120,0.43,CRD,3.5 +VTS,1,1,780,4.12,CRD,14.0 +VTS,1,1,420,1.52,CSH,8.0 +VTS,1,2,420,0.89,CRD,6.5 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,900,4.25,CSH,15.0 +VTS,1,1,1320,4.51,CSH,17.0 +VTS,1,1,420,1.15,CRD,6.0 +VTS,1,1,600,1.64,CRD,8.0 +VTS,1,1,660,1.55,CRD,9.5 +VTS,1,1,600,1.8,CSH,8.5 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,1,1140,2.75,CRD,14.5 +VTS,1,1,660,1.02,CSH,8.5 +VTS,1,1,300,1.12,CRD,6.0 +VTS,1,1,360,0.57,CSH,5.0 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,1320,12.82,CRD,35.0 +VTS,1,1,840,7.43,CRD,21.5 +VTS,1,5,360,1.05,CSH,6.0 +VTS,1,5,300,0.67,CRD,5.0 +VTS,1,5,960,2.91,CRD,13.0 +VTS,1,5,1140,6.1,CRD,21.0 +VTS,1,5,600,1.49,CRD,8.0 +VTS,1,5,360,0.97,CRD,6.0 +VTS,1,1,1620,4.54,CSH,20.0 +VTS,1,1,1140,6.52,CRD,22.0 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,2,300,0.73,CSH,5.0 +VTS,1,1,660,1.95,CRD,10.0 +VTS,1,1,660,1.81,CSH,9.0 +VTS,1,1,600,0.87,CSH,7.5 +VTS,1,1,360,0.7,CSH,5.5 +VTS,1,1,780,1.66,CSH,10.0 +VTS,1,1,840,2.73,CSH,12.5 +VTS,1,1,540,1.81,CRD,8.5 +VTS,1,2,240,0.47,CSH,4.5 +VTS,2,2,3420,17.11,CSH,52.0 +VTS,1,1,240,1.51,CSH,6.5 +VTS,1,3,1140,6.53,CSH,22.0 +VTS,1,1,780,1.06,CSH,9.0 +VTS,1,1,1680,5.92,CRD,23.0 +VTS,1,1,540,1.32,CSH,7.5 +VTS,1,1,540,1.36,CSH,7.5 +VTS,1,1,480,1.3,CRD,7.5 +VTS,1,1,480,1.23,CRD,7.5 +VTS,1,1,300,0.75,CSH,5.0 +VTS,1,1,600,1.59,CRD,9.0 +VTS,5,4,2460,18.69,CRD,60.0 +VTS,1,2,960,2.22,CRD,12.0 +VTS,1,1,960,2.14,CSH,12.0 +VTS,2,1,1620,16.39,CSH,52.0 +VTS,1,1,660,1.95,CRD,9.5 +VTS,1,1,840,3.77,CRD,14.5 +VTS,1,3,780,3.54,CSH,13.0 +VTS,1,1,540,2.32,CSH,9.5 +VTS,1,1,780,4.05,CRD,14.0 +VTS,1,1,420,1.88,CSH,8.0 +VTS,1,1,360,0.69,CSH,5.5 +VTS,1,2,360,1.37,CRD,7.0 +VTS,1,1,360,1.36,CRD,7.0 +VTS,1,1,420,1.23,CRD,6.5 +VTS,1,1,360,1.42,CSH,7.0 +VTS,1,1,780,3.72,CRD,13.0 +VTS,1,1,1140,3.28,CRD,15.5 +VTS,1,1,540,1.92,CSH,9.0 +VTS,1,1,240,0.76,CSH,4.5 +VTS,1,1,660,1.89,CRD,9.5 +VTS,1,1,300,1.15,CRD,6.0 +VTS,1,2,780,2.33,CSH,11.0 +VTS,1,1,900,8.04,CRD,23.5 +VTS,1,1,720,1.79,CSH,9.5 +VTS,1,1,540,2.09,CRD,9.0 +VTS,1,3,300,0.89,CRD,5.5 +VTS,1,1,780,3.32,CRD,12.5 +VTS,1,2,600,3.15,CRD,11.5 +VTS,1,1,600,1.77,CSH,9.5 +VTS,1,1,960,3.07,CRD,14.0 +VTS,1,1,780,3.2,CRD,12.5 +VTS,1,1,360,1.31,CRD,6.5 +VTS,1,1,1260,3.33,CSH,16.0 +VTS,1,1,900,1.56,CSH,11.0 +VTS,1,1,180,0.49,CRD,4.0 +VTS,1,1,1020,1.93,CRD,12.5 +VTS,1,1,120,0.7,CRD,4.5 +VTS,1,1,540,2.04,CSH,9.5 +VTS,1,1,360,2.54,CRD,9.0 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,1500,3.65,CSH,17.0 +VTS,1,1,900,2.61,CRD,12.5 +VTS,1,1,840,2.17,CRD,11.0 +VTS,1,1,780,6.02,CSH,19.0 +VTS,1,1,180,0.87,CRD,5.0 +VTS,1,1,1080,5.34,CRD,18.5 +VTS,1,1,2520,17.34,CRD,51.0 +VTS,1,1,480,1.48,CRD,7.5 +VTS,1,1,1020,3.24,CRD,13.5 +VTS,1,1,840,2.54,CRD,12.0 +VTS,1,1,480,1.09,CRD,7.0 +VTS,1,1,660,2.19,CRD,9.5 +VTS,1,1,360,0.55,CSH,5.0 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,1,240,0.69,CSH,4.5 +VTS,1,1,600,1.26,CRD,7.5 +VTS,1,1,60,0.06,CSH,2.5 +VTS,1,1,1560,7.11,CRD,26.0 +VTS,1,1,300,1.53,CSH,6.5 +VTS,1,1,960,2.63,CRD,13.0 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,360,0.64,CSH,5.5 +VTS,1,1,720,4.43,CRD,14.0 +VTS,1,1,360,0.95,CSH,6.5 +VTS,1,1,1200,5.02,CRD,19.0 +VTS,1,1,180,0.75,CRD,4.5 +VTS,2,1,1500,18.92,CRD,52.0 +VTS,1,1,720,2.4,CSH,11.0 +VTS,1,1,420,1.17,CSH,6.5 +VTS,1,1,1020,2.42,CSH,13.0 +VTS,1,1,720,1.64,CRD,10.0 +VTS,1,1,840,1.24,CRD,9.5 +VTS,1,1,900,2.28,CSH,11.5 +VTS,1,1,1320,2.66,CSH,15.0 +VTS,1,1,180,0.48,CRD,4.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,660,3.74,CRD,12.5 +VTS,1,1,660,2.75,CSH,11.0 +VTS,2,1,0,0.0,CSH,52.0 +VTS,1,1,480,0.96,CSH,7.0 +VTS,1,1,540,0.77,CSH,7.0 +VTS,1,1,300,0.91,CRD,5.5 +VTS,2,1,0,0.0,CSH,52.0 +VTS,1,1,240,0.41,CSH,4.5 +VTS,1,1,900,5.36,CRD,17.5 +VTS,1,1,1080,6.23,CSH,19.5 +VTS,1,1,720,3.85,CSH,14.0 +VTS,1,1,840,4.09,CSH,15.0 +VTS,1,1,1020,5.98,CRD,19.0 +VTS,1,1,1020,2.74,CSH,13.0 +VTS,1,1,360,1.27,CSH,7.0 +VTS,1,1,2100,9.22,CRD,32.5 +VTS,1,1,1020,7.53,CRD,23.0 +VTS,1,1,240,0.68,CRD,5.0 +VTS,1,1,1020,1.9,CSH,12.0 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,1440,5.46,CRD,20.0 +VTS,1,1,660,1.83,CRD,9.0 +VTS,1,1,720,2.05,CRD,10.0 +VTS,1,1,240,0.38,CSH,4.5 +VTS,1,1,300,1.39,CRD,6.5 +VTS,1,1,960,5.01,CSH,17.5 +VTS,1,1,360,1.61,CRD,7.0 +VTS,2,1,1980,19.0,CRD,52.0 +VTS,1,6,420,2.16,CSH,8.5 +VTS,1,6,900,5.14,CSH,17.5 +VTS,1,6,300,2.22,CRD,8.0 +VTS,1,6,480,1.78,CRD,8.0 +VTS,1,6,660,1.53,CRD,8.5 +VTS,1,1,1080,0.83,CRD,11.5 +VTS,1,1,240,0.78,CRD,5.0 +VTS,1,1,600,1.81,CSH,9.0 +VTS,1,1,1380,12.98,CSH,36.5 +VTS,1,1,1920,5.53,CSH,25.0 +VTS,1,1,0,0.0,CRD,2.5 +VTS,1,1,1380,2.36,CSH,15.0 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,1140,5.33,CRD,18.5 +VTS,1,1,120,0.5,CSH,4.0 +VTS,1,1,300,0.59,CSH,5.5 +VTS,1,1,1140,1.37,CSH,12.0 +VTS,1,1,1080,1.59,CSH,12.0 +VTS,1,2,180,0.62,CSH,4.5 +VTS,1,1,540,1.43,CRD,8.0 +VTS,1,1,660,2.57,CRD,10.5 +VTS,1,1,1200,6.57,CRD,22.0 +VTS,1,1,240,0.92,CSH,5.5 +VTS,1,1,420,1.84,CRD,8.0 +VTS,1,1,780,1.79,CRD,9.5 +VTS,1,1,420,1.07,CRD,6.5 +VTS,1,1,240,0.88,CSH,5.0 +VTS,1,1,1380,6.59,CSH,23.0 +VTS,1,1,540,1.92,CRD,8.5 +VTS,1,1,600,1.18,CRD,8.0 +VTS,1,1,720,1.64,CRD,9.5 +VTS,1,1,720,1.27,CSH,9.0 +VTS,1,1,420,0.85,CSH,6.5 +VTS,1,1,1560,6.69,CSH,24.0 +VTS,1,1,480,1.18,CSH,7.0 +VTS,1,1,840,2.15,CRD,11.0 +VTS,1,1,900,1.64,CRD,10.5 +VTS,1,1,480,1.15,CRD,7.5 +VTS,1,1,1260,8.51,CRD,26.5 +VTS,1,1,780,1.41,CRD,10.0 +VTS,1,1,660,1.08,CRD,8.0 +VTS,1,1,1320,5.09,CRD,20.0 +VTS,1,6,1320,2.95,CRD,16.0 +VTS,1,5,1860,4.69,CRD,22.5 +VTS,1,6,780,1.9,CRD,10.5 +VTS,1,6,360,1.54,CSH,7.0 +VTS,1,6,600,3.29,CSH,12.5 +VTS,1,6,1620,9.73,CRD,31.0 +VTS,1,6,840,2.44,CSH,11.5 +VTS,1,6,1920,12.61,CSH,39.0 +VTS,1,6,1080,10.48,CRD,29.0 +VTS,1,6,360,0.82,CRD,5.5 +VTS,1,1,420,1.56,CSH,7.0 +VTS,1,1,1140,3.38,CRD,15.5 +VTS,1,1,540,1.34,CSH,7.5 +VTS,1,1,2700,10.97,CSH,39.5 +VTS,1,1,180,0.84,CSH,4.5 +VTS,1,1,660,2.44,CSH,10.5 +VTS,1,1,1260,2.83,CSH,15.0 +VTS,1,1,420,0.75,CRD,6.0 +VTS,1,1,1260,7.6,CRD,24.0 +VTS,1,1,240,0.64,CRD,4.5 +VTS,1,1,720,2.43,CSH,10.5 +VTS,1,1,720,1.59,CRD,9.0 +VTS,1,1,1500,5.94,CRD,22.0 +VTS,1,1,180,0.88,CSH,5.0 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,660,1.43,CRD,9.0 +VTS,1,1,540,1.74,CRD,8.5 +VTS,1,1,900,3.97,CSH,14.5 +VTS,1,2,180,0.93,CSH,5.0 +VTS,1,1,300,1.42,CRD,6.5 +VTS,1,1,720,1.5,CSH,9.0 +VTS,1,1,1140,4.11,CSH,16.0 +VTS,1,1,360,1.02,CSH,5.5 +VTS,1,1,420,0.97,CRD,6.0 +VTS,1,1,600,2.29,CRD,10.0 +VTS,1,1,840,2.29,CRD,11.0 +VTS,1,1,720,5.53,CSH,17.0 +VTS,1,1,960,3.12,CRD,13.5 +VTS,1,1,480,0.83,CSH,6.5 +VTS,1,1,780,4.14,CRD,15.0 +VTS,1,1,300,1.09,CSH,5.5 +VTS,1,1,360,1.53,CSH,7.5 +VTS,1,1,900,5.58,CSH,17.5 +VTS,1,1,420,1.66,CSH,8.0 +VTS,1,1,540,2.33,CRD,9.0 +VTS,1,1,660,3.24,CSH,11.5 +VTS,1,1,1020,3.48,CRD,14.0 +VTS,1,1,300,0.68,CSH,4.5 +VTS,1,1,180,1.12,CRD,5.0 +VTS,1,1,780,2.43,CRD,11.0 +VTS,1,1,960,2.53,CSH,12.0 +VTS,1,1,480,1.35,CRD,7.5 +VTS,1,1,480,1.31,CSH,7.0 +VTS,1,1,600,2.04,CRD,9.5 +VTS,1,1,600,2.37,CRD,10.0 +VTS,1,1,600,2.25,CSH,9.5 +VTS,1,1,360,1.16,CSH,6.5 +VTS,1,6,540,2.86,CSH,10.5 +VTS,1,6,480,4.51,CRD,14.0 +VTS,1,6,840,2.31,CRD,11.0 +VTS,1,6,960,6.32,CSH,20.0 +VTS,1,6,360,1.11,CRD,6.5 +VTS,1,1,720,1.91,CSH,10.0 +VTS,1,1,600,1.09,CSH,8.0 +VTS,1,1,300,1.12,CSH,6.0 +VTS,1,1,3540,12.84,CSH,48.5 +VTS,1,1,300,1.41,CRD,7.0 +VTS,1,1,360,0.93,CSH,6.0 +VTS,1,1,480,1.84,CSH,8.5 +VTS,1,1,240,0.68,CRD,5.0 +VTS,1,1,420,2.03,CSH,8.5 +VTS,1,1,960,4.83,CSH,17.5 +VTS,1,1,1140,11.94,CRD,33.0 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,600,1.63,CRD,8.0 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,900,3.65,CRD,14.5 +VTS,1,1,480,2.72,CRD,10.5 +VTS,1,1,900,2.49,CSH,12.0 +VTS,1,2,840,2.91,CRD,12.0 +VTS,1,1,480,1.76,CRD,8.0 +VTS,1,1,360,2.42,CSH,8.5 +VTS,1,1,720,1.95,CRD,10.0 +VTS,1,6,420,1.83,CRD,8.0 +VTS,1,6,360,1.82,CSH,7.5 +VTS,1,6,180,0.28,CSH,4.0 +VTS,1,6,240,0.97,CSH,5.0 +VTS,1,5,660,1.91,CRD,9.0 +VTS,1,6,900,3.86,CRD,14.5 +VTS,1,6,360,3.71,CSH,11.5 +VTS,1,6,540,2.51,CSH,9.5 +VTS,1,6,540,2.43,CRD,9.5 +VTS,1,6,480,2.3,CRD,9.5 +VTS,1,6,420,1.62,CSH,7.5 +VTS,1,1,600,1.55,CSH,8.5 +VTS,1,1,720,1.85,CSH,9.5 +VTS,1,1,720,3.58,CRD,12.5 +VTS,1,1,480,1.24,CRD,7.0 +VTS,1,1,180,0.94,CSH,5.0 +VTS,1,1,420,1.02,CRD,6.5 +VTS,1,1,180,1.03,CSH,5.0 +VTS,1,1,420,0.9,CRD,6.0 +VTS,1,1,240,1.35,CRD,6.0 +VTS,1,1,480,1.39,CRD,7.5 +VTS,1,1,360,0.86,CSH,6.0 +VTS,1,1,1020,1.81,CSH,11.5 +VTS,1,6,600,4.24,CRD,13.5 +VTS,1,6,180,1.19,CSH,5.0 +VTS,1,5,540,1.84,CRD,9.0 +VTS,1,6,1020,3.79,CRD,15.5 +VTS,1,6,360,1.04,CRD,6.0 +VTS,1,6,1200,3.27,CSH,14.5 +VTS,1,5,840,2.29,CSH,11.5 +VTS,1,6,420,3.77,CSH,12.0 +VTS,1,6,540,3.89,CSH,12.5 +VTS,1,6,720,2.4,CSH,11.0 +VTS,1,6,60,0.67,CSH,4.0 +VTS,1,6,1020,4.93,CSH,17.5 +VTS,1,1,960,3.39,CRD,14.0 +VTS,1,1,120,0.65,CSH,4.5 +VTS,1,1,1260,2.46,CRD,14.5 +VTS,1,1,660,2.16,CRD,9.5 +VTS,1,2,360,0.88,CSH,6.0 +VTS,1,1,540,1.9,CRD,8.5 +VTS,1,1,540,2.33,CRD,10.0 +VTS,1,1,600,1.76,CRD,8.5 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,1,1140,1.46,CRD,12.0 +VTS,1,1,540,1.06,CRD,7.5 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,900,2.12,CRD,11.5 +VTS,1,1,600,1.97,CSH,9.5 +VTS,1,1,1020,2.4,CSH,12.5 +VTS,1,1,1320,9.04,CRD,28.0 +VTS,1,1,780,1.76,CRD,10.0 +VTS,1,1,1260,6.91,CRD,23.0 +VTS,1,1,360,1.85,CRD,7.5 +VTS,1,1,900,2.83,CSH,12.5 +VTS,1,2,1740,7.66,CSH,27.0 +VTS,1,1,3600,7.46,CRD,39.0 +VTS,1,3,300,0.69,CRD,5.0 +VTS,1,1,900,3.45,CRD,14.0 +VTS,1,1,480,1.89,CRD,8.0 +VTS,1,5,180,0.76,CSH,5.0 +VTS,1,5,180,1.23,CRD,5.5 +VTS,1,5,240,0.61,CSH,5.0 +VTS,1,6,720,4.22,CSH,14.5 +VTS,1,6,180,1.25,CSH,5.5 +VTS,1,6,2460,15.82,CSH,47.5 +VTS,1,6,300,0.66,CRD,5.0 +VTS,1,6,300,1.13,CSH,6.0 +VTS,1,6,300,0.83,CRD,6.0 +VTS,1,6,360,1.08,CRD,6.5 +VTS,1,6,1380,3.19,CRD,17.5 +VTS,1,1,300,1.56,CSH,6.5 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,480,1.24,CRD,8.0 +VTS,1,1,1260,3.27,CSH,15.5 +VTS,1,1,1320,3.16,CSH,15.0 +VTS,1,1,240,1.39,CRD,6.0 +VTS,1,1,660,1.61,CRD,9.0 +VTS,1,1,720,2.86,CRD,11.0 +VTS,1,1,1140,3.12,CRD,15.0 +VTS,1,1,540,1.49,CRD,7.5 +VTS,1,1,360,1.06,CSH,5.5 +VTS,1,1,420,1.3,CSH,6.5 +VTS,1,1,1440,10.27,CRD,31.5 +VTS,1,1,1080,2.85,CSH,14.0 +VTS,1,1,540,1.26,CSH,8.0 +VTS,1,1,60,0.26,CRD,3.0 +VTS,1,1,1020,9.91,CSH,28.5 +VTS,1,1,480,1.76,CSH,8.0 +VTS,1,5,780,2.16,CRD,10.5 +VTS,1,1,360,0.89,CSH,6.0 +VTS,1,1,1200,3.77,CRD,16.0 +VTS,1,1,780,1.26,CRD,9.0 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,600,1.48,CSH,8.5 +VTS,1,1,720,2.83,CRD,11.5 +VTS,1,1,540,1.6,CSH,8.5 +VTS,1,1,420,0.79,CSH,6.0 +VTS,1,1,1140,2.53,CRD,14.0 +VTS,1,1,1440,2.53,CRD,15.5 +VTS,1,1,960,1.46,CRD,11.0 +VTS,1,1,540,1.19,CSH,7.0 +VTS,1,1,1440,5.01,CRD,19.0 +VTS,1,1,1620,6.22,CRD,24.0 +VTS,1,1,180,0.59,CRD,4.5 +VTS,1,1,1500,17.26,CSH,47.0 +VTS,1,1,1200,3.78,CRD,16.0 +VTS,1,1,300,1.65,CRD,7.0 +VTS,1,1,960,1.68,CRD,11.5 +VTS,1,1,780,2.82,CSH,12.0 +VTS,1,1,360,1.37,CSH,7.5 +VTS,1,1,420,2.65,CSH,9.5 +VTS,1,1,840,1.8,CSH,10.5 +VTS,1,1,300,0.8,CSH,5.0 +VTS,1,1,1980,10.83,CRD,35.5 +VTS,1,1,240,1.49,CRD,6.5 +VTS,1,1,840,2.56,CRD,11.5 +VTS,1,1,480,1.38,CRD,7.0 +VTS,1,1,1920,6.51,CRD,25.0 +VTS,1,1,1020,2.87,CRD,13.0 +VTS,1,1,360,0.76,CSH,6.0 +VTS,1,1,660,0.98,CSH,8.5 +VTS,1,1,960,2.35,CRD,12.5 +VTS,1,1,420,1.81,CRD,7.5 +VTS,1,1,780,3.51,CRD,13.0 +VTS,1,1,120,0.34,CRD,4.0 +VTS,1,1,300,1.59,CSH,7.0 +VTS,1,1,780,7.93,CSH,23.5 +VTS,1,3,600,1.53,CSH,8.5 +VTS,1,3,780,2.72,CRD,11.5 +VTS,1,3,660,1.61,CSH,9.5 +VTS,1,2,480,2.43,CRD,9.5 +VTS,1,3,420,1.26,CSH,6.5 +VTS,1,1,240,0.91,CSH,5.0 +VTS,1,1,1320,4.84,CSH,19.5 +VTS,1,1,720,0.77,CSH,8.5 +VTS,1,6,480,2.01,CRD,9.0 +VTS,1,6,360,1.31,CRD,6.5 +VTS,1,6,180,0.49,CRD,4.0 +VTS,1,6,360,0.75,CSH,5.5 +VTS,1,1,840,4.59,CSH,15.5 +VTS,1,1,600,1.68,CRD,8.5 +VTS,1,1,360,1.86,CRD,8.0 +VTS,4,1,660,1.92,CSH,9.0 +VTS,1,1,360,0.74,CRD,6.0 +VTS,1,1,660,1.95,CRD,9.5 +VTS,1,1,360,1.04,CSH,6.5 +VTS,1,1,480,1.29,CSH,7.0 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,660,2.38,CSH,10.5 +VTS,1,6,180,1.68,CSH,6.5 +VTS,1,6,360,2.39,CRD,8.5 +VTS,1,5,180,1.2,CRD,5.5 +VTS,1,6,1020,4.29,CRD,16.5 +VTS,1,5,360,0.76,CSH,5.5 +VTS,1,6,1560,3.24,CRD,17.5 +VTS,1,6,0,0.31,CSH,3.0 +VTS,1,6,300,0.85,CRD,5.5 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,360,1.16,CSH,6.5 +VTS,1,1,420,0.95,CRD,6.5 +VTS,1,1,360,2.15,CSH,8.5 +VTS,1,1,420,1.17,CSH,6.5 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,720,1.17,CSH,9.0 +VTS,1,1,540,0.83,CSH,7.0 +VTS,1,1,240,0.55,CRD,4.5 +VTS,1,1,1500,3.64,CRD,18.0 +VTS,1,1,540,0.57,CRD,6.5 +VTS,1,1,660,1.74,CRD,9.5 +VTS,1,1,540,1.09,CRD,7.5 +VTS,1,1,960,4.15,CSH,16.0 +VTS,1,1,540,1.0,CRD,7.0 +VTS,1,1,480,1.84,CRD,8.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,840,3.01,CSH,12.5 +VTS,1,1,1200,2.13,CRD,15.0 +VTS,1,1,600,1.37,CSH,8.5 +VTS,1,1,540,1.11,CRD,7.5 +VTS,1,1,900,2.08,CRD,11.5 +VTS,1,1,360,1.03,CSH,6.0 +VTS,1,1,420,1.79,CRD,8.0 +VTS,1,1,120,0.59,CSH,4.0 +VTS,1,1,480,3.45,CRD,11.5 +VTS,1,1,540,4.21,CRD,14.0 +VTS,1,3,420,0.99,CRD,6.5 +VTS,1,2,660,2.09,CSH,9.5 +VTS,1,3,540,1.38,CRD,8.0 +VTS,1,1,1140,9.44,CSH,28.0 +VTS,1,1,480,1.41,CSH,6.0 +VTS,1,6,300,1.14,CSH,6.0 +VTS,1,6,240,1.09,CRD,5.5 +VTS,1,6,540,1.9,CSH,9.0 +VTS,1,6,60,0.47,CRD,3.5 +VTS,1,1,300,0.71,CSH,5.0 +VTS,1,1,300,0.6,CRD,5.5 +VTS,1,1,1080,3.66,CRD,16.0 +VTS,1,1,360,0.89,CSH,5.5 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,720,0.98,CSH,8.5 +VTS,1,1,600,1.57,CSH,8.5 +VTS,1,1,960,2.85,CRD,13.5 +VTS,1,1,120,0.7,CSH,4.0 +VTS,1,1,180,1.2,CSH,5.5 +VTS,1,3,600,1.54,CSH,8.0 +VTS,1,4,300,1.07,CSH,5.5 +VTS,1,3,1080,3.33,CSH,14.5 +VTS,1,3,360,0.84,CSH,6.5 +VTS,1,3,1080,5.43,CRD,20.0 +VTS,1,1,420,0.46,CSH,6.0 +VTS,1,6,360,1.69,CRD,7.5 +VTS,1,6,300,1.19,CSH,6.5 +VTS,1,6,420,1.77,CSH,8.0 +VTS,1,6,720,2.8,CRD,12.0 +VTS,1,1,420,1.61,CSH,7.5 +VTS,1,1,1140,6.12,CRD,20.5 +VTS,1,1,300,1.1,CSH,6.0 +VTS,1,5,720,2.17,CRD,10.0 +VTS,1,5,1980,7.26,CSH,27.5 +VTS,1,1,1140,5.92,CRD,20.0 +VTS,1,1,360,1.96,CSH,8.0 +VTS,1,1,1020,1.55,CSH,11.5 +VTS,1,1,480,0.41,CRD,6.5 +VTS,2,1,1920,16.73,CRD,52.0 +VTS,1,6,180,0.95,CSH,5.0 +VTS,1,6,420,2.61,CSH,9.0 +VTS,1,6,300,0.78,CRD,5.0 +VTS,1,6,180,0.69,CRD,4.5 +VTS,1,6,720,1.12,CRD,9.0 +VTS,1,6,240,0.8,CSH,5.0 +VTS,1,6,180,0.43,CSH,4.0 +VTS,1,6,480,0.8,CRD,6.5 +VTS,1,6,480,1.16,CRD,7.0 +VTS,1,6,840,4.32,CSH,16.0 +VTS,1,6,360,0.91,CRD,6.0 +VTS,1,6,240,0.89,CSH,5.0 +VTS,1,6,900,3.34,CRD,12.5 +VTS,1,6,240,0.62,CRD,4.5 +VTS,1,6,840,3.29,CRD,13.5 +VTS,1,1,600,2.01,CSH,9.5 +VTS,1,1,1320,3.71,CRD,17.0 +VTS,1,1,720,1.12,CRD,8.5 +VTS,1,1,420,1.41,CSH,7.0 +VTS,1,1,1140,6.27,CRD,21.5 +VTS,1,1,600,2.42,CRD,9.5 +VTS,1,1,240,0.67,CSH,5.0 +VTS,1,1,660,1.87,CRD,9.5 +VTS,1,1,600,1.81,CRD,9.5 +VTS,1,1,0,0.01,CSH,2.5 +VTS,1,1,600,1.39,CRD,8.5 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,600,3.07,CSH,11.0 +VTS,1,1,540,1.66,CSH,7.5 +VTS,1,1,600,3.94,CSH,13.5 +VTS,1,1,300,1.62,CSH,7.0 +VTS,1,3,600,1.98,CRD,9.5 +VTS,1,2,600,1.3,CSH,8.5 +VTS,1,3,300,1.62,CSH,7.0 +VTS,1,3,420,1.47,CSH,7.0 +VTS,1,1,120,0.51,CRD,4.0 +VTS,1,1,480,0.85,CSH,7.0 +VTS,1,1,720,2.29,CRD,10.5 +VTS,1,6,480,3.56,CSH,11.0 +VTS,1,6,480,2.49,CRD,9.5 +VTS,1,6,60,0.56,CSH,4.0 +VTS,1,6,300,0.67,CRD,5.0 +VTS,1,6,480,2.37,CSH,9.0 +VTS,1,6,360,0.92,CSH,5.5 +VTS,1,6,180,0.78,CSH,4.5 +VTS,1,1,600,1.89,CRD,9.0 +VTS,1,1,660,1.52,CRD,8.5 +VTS,1,1,360,0.99,CRD,6.0 +VTS,1,3,360,1.0,CSH,6.0 +VTS,1,3,900,2.19,CRD,12.0 +VTS,1,3,900,3.57,CRD,14.0 +VTS,1,3,780,2.52,CSH,11.5 +VTS,1,3,60,0.19,CSH,3.0 +VTS,2,1,2100,17.13,CRD,52.0 +VTS,1,1,420,1.16,CRD,7.0 +VTS,1,1,360,0.66,CSH,5.0 +VTS,1,1,300,0.59,CRD,5.5 +VTS,1,6,420,2.62,CSH,9.5 +VTS,1,6,600,4.12,CRD,14.0 +VTS,1,6,240,0.59,CRD,5.0 +VTS,1,6,540,1.98,CRD,9.0 +VTS,1,6,300,2.35,CSH,8.0 +VTS,1,6,240,0.88,CSH,5.0 +VTS,1,1,360,1.68,CSH,7.0 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,420,1.57,CSH,7.0 +VTS,1,1,240,0.64,CSH,4.5 +VTS,1,1,300,1.06,CRD,5.5 +VTS,1,1,660,1.04,CRD,8.0 +VTS,1,1,1440,7.22,CRD,25.0 +VTS,1,1,360,0.87,CSH,5.5 +VTS,1,5,1500,3.76,CRD,18.0 +VTS,1,2,180,0.57,CSH,4.5 +VTS,1,2,420,2.44,CSH,9.0 +VTS,1,1,420,1.16,CRD,7.0 +VTS,1,1,360,0.87,CSH,5.0 +VTS,1,1,240,1.12,CRD,5.5 +VTS,1,3,240,1.02,CSH,5.5 +VTS,1,3,1140,1.87,CSH,13.0 +VTS,1,3,420,2.14,CRD,8.0 +VTS,1,3,1500,4.54,CRD,19.0 +VTS,2,1,5160,18.76,CRD,52.0 +VTS,1,1,300,0.52,CRD,5.0 +VTS,1,6,660,4.33,CRD,14.5 +VTS,1,6,600,3.32,CRD,11.5 +VTS,1,6,300,1.88,CRD,7.5 +VTS,1,6,540,2.09,CRD,9.0 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,300,0.68,CSH,5.5 +VTS,1,1,360,1.02,CSH,6.0 +VTS,1,1,660,3.65,CSH,12.0 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,1,660,2.1,CSH,10.0 +VTS,1,1,1500,7.48,CRD,25.0 +VTS,1,3,600,2.29,CSH,10.5 +VTS,1,4,480,1.34,CRD,7.5 +VTS,1,6,300,0.7,CRD,5.0 +VTS,1,6,420,0.76,CRD,6.0 +VTS,1,6,360,1.1,CSH,6.5 +VTS,1,6,720,2.22,CRD,10.5 +VTS,1,6,1080,2.56,CRD,13.5 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,1980,16.93,CRD,47.5 +VTS,1,1,1500,13.99,CRD,39.5 +VTS,1,1,420,0.89,CSH,6.5 +VTS,1,1,540,1.47,CSH,8.0 +VTS,1,1,720,1.78,CRD,10.0 +VTS,1,1,660,1.22,CRD,9.0 +VTS,1,1,420,1.98,CRD,8.0 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,3,420,1.42,CSH,7.5 +VTS,1,3,660,1.1,CSH,8.5 +VTS,1,3,780,2.22,CRD,11.0 +VTS,1,3,540,1.6,CRD,8.0 +VTS,1,3,480,1.47,CSH,7.5 +VTS,1,1,180,0.37,CSH,4.0 +VTS,1,6,720,4.7,CSH,15.0 +VTS,1,6,360,1.57,CSH,7.5 +VTS,1,6,480,1.92,CRD,8.5 +VTS,1,6,540,2.0,CSH,9.0 +VTS,1,6,180,1.11,CSH,5.5 +VTS,1,6,300,0.8,CRD,5.5 +VTS,1,6,180,0.5,CRD,4.0 +VTS,1,6,0,0.36,CRD,3.0 +VTS,1,6,480,1.3,CSH,7.5 +VTS,1,6,120,0.55,CSH,4.0 +VTS,1,1,60,0.25,CSH,3.0 +VTS,1,1,360,1.5,CRD,7.0 +VTS,1,1,300,1.34,CRD,6.5 +VTS,1,1,660,2.57,CRD,10.5 +VTS,1,1,300,0.67,CRD,5.5 +VTS,1,1,600,1.43,CRD,8.0 +VTS,1,1,360,1.52,CRD,7.0 +VTS,1,1,180,0.65,CRD,4.0 +VTS,1,1,1140,2.91,CRD,14.0 +VTS,1,1,900,2.0,CSH,11.0 +VTS,1,1,660,1.36,CSH,9.0 +VTS,1,1,600,1.2,CRD,8.0 +VTS,1,1,480,2.83,CRD,10.0 +VTS,1,1,480,0.83,CRD,6.5 +VTS,1,1,1260,6.82,CRD,23.0 +VTS,1,1,480,1.48,CRD,7.5 +VTS,1,1,480,0.78,CSH,7.0 +VTS,1,1,240,0.53,CRD,5.0 +VTS,1,6,240,0.78,CSH,4.5 +VTS,1,6,360,1.38,CRD,7.0 +VTS,1,6,540,0.78,CRD,7.0 +VTS,1,6,840,0.97,CRD,9.5 +VTS,1,6,120,0.76,CSH,4.0 +VTS,1,6,240,1.47,CRD,6.0 +VTS,1,1,720,1.64,CSH,9.5 +VTS,1,1,1080,2.98,CRD,14.5 +VTS,1,1,360,0.58,CSH,5.5 +VTS,1,1,480,2.25,CRD,9.0 +VTS,1,1,180,0.58,CSH,4.0 +VTS,1,1,840,2.33,CRD,11.5 +VTS,1,1,660,1.82,CRD,9.5 +VTS,1,1,660,1.19,CSH,8.5 +VTS,1,1,540,0.79,CSH,7.0 +VTS,1,1,420,0.76,CSH,6.5 +VTS,1,1,600,1.3,CRD,8.5 +VTS,1,5,1140,4.72,CRD,17.5 +VTS,1,5,720,3.1,CRD,12.0 +VTS,1,5,480,1.44,CRD,7.5 +VTS,1,3,1200,4.15,CRD,16.0 +VTS,1,2,420,0.98,CRD,6.5 +VTS,1,3,1260,3.46,CSH,16.0 +VTS,1,2,0,0.0,CSH,2.5 +VTS,1,3,420,2.08,CSH,8.5 +VTS,1,2,720,2.66,CRD,12.0 +VTS,1,6,420,0.92,CSH,6.0 +VTS,1,6,660,1.2,CSH,8.0 +VTS,1,6,300,0.73,CSH,5.0 +VTS,1,6,180,0.69,CRD,4.5 +VTS,1,6,660,1.64,CRD,9.0 +VTS,1,6,1140,3.95,CRD,16.0 +VTS,1,6,240,0.72,CSH,5.0 +VTS,1,6,720,2.68,CRD,11.5 +VTS,1,6,480,0.55,CSH,6.0 +VTS,1,6,720,1.95,CSH,10.0 +VTS,1,6,240,1.07,CRD,5.5 +VTS,1,6,720,2.74,CSH,11.0 +VTS,1,6,120,0.44,CSH,4.0 +VTS,1,1,600,3.14,CRD,12.0 +VTS,1,1,120,0.51,CSH,3.5 +VTS,1,1,420,1.6,CRD,7.5 +VTS,1,1,1080,10.46,CRD,29.5 +VTS,1,1,780,2.11,CSH,10.5 +VTS,1,1,480,3.33,CSH,10.5 +VTS,1,1,240,1.56,CRD,6.5 +VTS,1,1,120,1.01,CSH,5.0 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,720,1.63,CRD,9.5 +VTS,1,1,480,0.9,CRD,6.5 +VTS,1,5,1020,2.58,CSH,12.5 +VTS,2,5,60,0.0,CSH,52.0 +VTS,1,5,420,1.67,CRD,7.5 +VTS,1,3,1260,5.23,CRD,19.0 +VTS,1,3,660,3.14,CRD,12.0 +VTS,1,4,720,4.46,CRD,14.5 +VTS,1,2,600,2.21,CRD,9.5 +VTS,1,6,1140,1.93,CRD,13.0 +VTS,1,6,840,2.29,CRD,11.5 +VTS,1,6,1320,5.45,CRD,19.5 +VTS,1,6,2220,6.22,CRD,27.0 +VTS,1,6,840,2.23,CRD,11.5 +VTS,1,1,720,2.01,CRD,10.0 +VTS,1,1,1080,4.14,CRD,17.0 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,1260,7.3,CRD,23.5 +VTS,1,1,900,1.13,CRD,10.0 +VTS,1,1,120,0.23,CSH,3.5 +VTS,1,1,540,1.33,CSH,8.0 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,240,0.92,CRD,5.5 +VTS,1,1,2220,12.45,CRD,40.0 +VTS,1,1,1020,1.97,CSH,12.5 +VTS,1,1,300,1.12,CSH,6.0 +VTS,1,2,240,0.79,CSH,5.5 +VTS,1,2,120,0.63,CSH,4.0 +VTS,1,3,300,1.64,CRD,7.0 +VTS,1,1,840,1.66,CSH,10.5 +VTS,1,1,900,1.86,CSH,11.0 +VTS,1,6,540,1.87,CSH,8.0 +VTS,1,6,360,1.3,CSH,7.0 +VTS,1,6,360,2.15,CSH,8.0 +VTS,1,6,780,3.09,CSH,12.5 +VTS,1,6,780,3.15,CRD,12.5 +VTS,1,1,300,1.09,CSH,6.0 +VTS,1,1,660,3.73,CRD,13.0 +VTS,1,1,360,0.58,CRD,5.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,720,1.14,CRD,8.5 +VTS,1,1,600,3.4,CSH,12.0 +VTS,1,1,300,1.46,CSH,7.0 +VTS,1,1,480,1.41,CRD,7.5 +VTS,1,1,900,1.94,CRD,11.5 +VTS,1,5,840,2.3,CRD,11.5 +VTS,1,5,1200,4.3,CSH,17.0 +VTS,1,5,240,1.35,CRD,6.0 +VTS,1,5,600,1.49,CRD,8.0 +VTS,1,3,480,1.22,CRD,7.0 +VTS,1,3,540,1.36,CSH,8.0 +VTS,1,2,300,0.87,CSH,5.5 +VTS,1,2,420,0.89,CRD,6.0 +VTS,1,2,420,1.14,CSH,7.0 +VTS,1,3,180,0.83,CRD,4.5 +VTS,1,6,1380,2.36,CSH,14.5 +VTS,1,6,180,0.49,CRD,4.0 +VTS,1,6,1440,7.51,CSH,25.5 +VTS,1,6,780,1.33,CSH,10.0 +VTS,1,6,60,0.17,CSH,3.0 +VTS,1,6,1680,5.98,CRD,22.5 +VTS,2,1,0,0.0,CSH,52.0 +VTS,1,1,300,1.34,CRD,6.5 +VTS,1,1,360,0.81,CSH,5.5 +VTS,1,1,720,1.86,CSH,9.0 +VTS,1,5,600,1.28,CSH,8.0 +VTS,1,5,1980,9.98,CSH,33.0 +VTS,1,3,1440,3.7,CSH,17.5 +VTS,1,3,420,0.8,CSH,6.5 +VTS,1,4,1080,1.36,CRD,12.0 +VTS,1,3,1620,4.84,CRD,20.5 +VTS,1,2,960,2.96,CRD,13.5 +VTS,1,3,1080,5.9,CRD,19.5 +VTS,1,6,1200,3.71,CSH,15.5 +VTS,1,6,1620,2.53,CSH,17.0 +VTS,1,6,1680,1.31,CSH,17.0 +VTS,1,6,2160,2.88,CSH,21.0 +VTS,1,6,2280,8.04,CRD,29.0 +VTS,1,6,240,0.96,CSH,5.5 +VTS,1,6,420,1.58,CSH,7.5 +VTS,1,6,420,1.14,CRD,6.5 +VTS,1,6,540,1.28,CRD,7.5 +VTS,1,6,960,2.46,CRD,13.0 +VTS,1,6,2040,4.64,CSH,23.5 +VTS,1,6,180,1.15,CSH,5.0 +VTS,1,1,60,0.0,CSH,2.5 +VTS,1,1,480,1.82,CSH,8.0 +VTS,1,1,1140,7.47,CRD,24.0 +VTS,1,1,720,1.65,CSH,9.5 +VTS,1,1,720,1.47,CSH,9.0 +VTS,1,1,420,0.85,CSH,6.5 +VTS,1,1,240,1.47,CSH,6.5 +VTS,1,1,660,1.86,CSH,9.5 +VTS,1,1,540,2.46,CRD,9.5 +VTS,1,1,720,1.34,CSH,9.0 +VTS,1,1,480,1.25,CRD,7.0 +VTS,1,1,780,2.68,CSH,11.0 +VTS,1,1,1800,4.06,CRD,20.0 +VTS,1,5,360,0.81,CRD,6.0 +VTS,1,5,840,2.41,CRD,11.0 +VTS,1,2,360,1.2,CRD,6.5 +VTS,1,3,240,0.91,CSH,5.5 +VTS,1,3,300,1.14,CRD,5.5 +VTS,5,1,0,0.0,CRD,58.0 +VTS,1,2,780,4.91,CRD,15.5 +VTS,1,6,1440,5.39,CRD,20.0 +VTS,1,6,840,1.68,CSH,10.5 +VTS,1,6,720,1.69,CRD,9.5 +VTS,1,1,960,4.66,CRD,16.0 +VTS,1,1,240,0.78,CSH,5.0 +VTS,1,1,660,2.56,CRD,11.0 +VTS,1,1,120,0.59,CRD,4.5 +VTS,1,1,720,2.35,CRD,11.0 +VTS,1,1,300,0.69,CSH,5.5 +VTS,1,1,60,0.04,CSH,2.5 +VTS,1,1,600,1.41,CRD,8.5 +VTS,1,1,360,0.81,CSH,5.5 +VTS,1,1,780,1.87,CSH,10.0 +VTS,1,2,180,0.9,CSH,5.0 +VTS,1,3,360,1.29,CSH,6.5 +VTS,1,2,540,1.93,CRD,9.0 +VTS,1,2,420,1.63,CRD,7.5 +VTS,1,3,720,2.25,CRD,10.0 +VTS,1,6,1560,3.34,CSH,17.0 +VTS,1,6,1080,4.42,CRD,16.0 +VTS,1,6,900,2.61,CRD,12.0 +VTS,1,6,300,1.39,CRD,6.0 +VTS,1,6,540,1.48,CRD,8.0 +VTS,1,6,1440,3.86,CSH,17.5 +VTS,1,6,840,2.8,CRD,12.5 +VTS,1,6,360,1.15,CRD,6.5 +VTS,1,6,240,0.86,CRD,5.0 +VTS,1,1,420,1.9,CRD,7.5 +VTS,1,1,840,5.95,CSH,19.0 +VTS,1,1,480,1.79,CRD,8.0 +VTS,1,1,360,0.7,CSH,5.0 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,780,1.27,CSH,9.5 +VTS,1,1,480,2.37,CRD,9.0 +VTS,1,1,660,2.18,CRD,10.0 +VTS,1,1,900,2.59,CRD,12.5 +VTS,1,1,420,1.78,CSH,7.5 +VTS,1,1,600,1.55,CSH,8.5 +VTS,1,1,1260,3.09,CSH,15.0 +VTS,1,6,1080,3.19,CRD,15.5 +VTS,1,6,1020,3.26,CSH,14.0 +VTS,1,6,1800,5.82,CSH,24.5 +VTS,1,6,180,0.54,CRD,4.0 +VTS,1,6,420,1.42,CSH,7.5 +VTS,1,6,840,2.06,CSH,11.0 +VTS,1,6,1560,5.1,CRD,21.0 +VTS,1,1,660,2.65,CRD,11.0 +VTS,1,1,660,1.89,CRD,9.5 +VTS,1,1,660,1.8,CRD,9.0 +VTS,1,1,780,1.81,CRD,10.5 +VTS,1,1,1080,2.28,CSH,13.0 +VTS,1,1,660,1.83,CRD,9.0 +VTS,1,1,900,2.77,CSH,12.5 +VTS,1,1,240,1.21,CRD,5.5 +VTS,1,1,1560,3.29,CRD,18.0 +VTS,2,1,3660,18.29,CSH,52.0 +VTS,1,1,780,2.52,CRD,12.0 +VTS,1,1,840,2.42,CSH,11.5 +VTS,1,1,540,0.74,CRD,7.0 +VTS,1,1,780,0.83,CSH,9.0 +VTS,1,1,960,3.16,CRD,13.0 +VTS,1,1,420,1.09,CRD,6.5 +VTS,1,5,600,3.85,CRD,13.0 +VTS,1,5,300,1.12,CSH,5.5 +VTS,1,5,360,1.35,CRD,7.0 +VTS,1,1,1140,4.48,CRD,16.5 +VTS,1,1,780,1.06,CRD,9.0 +VTS,1,1,420,1.26,CSH,7.0 +VTS,1,1,180,0.45,CSH,4.0 +VTS,1,1,2760,3.93,CSH,27.5 +VTS,1,1,2100,5.89,CSH,25.5 +VTS,1,1,540,0.96,CRD,7.0 +VTS,1,1,1380,3.31,CRD,17.0 +VTS,1,5,600,1.39,CSH,8.5 +VTS,1,5,360,1.55,CRD,7.0 +VTS,1,5,1380,4.64,CRD,18.5 +VTS,1,5,360,1.0,CRD,6.0 +VTS,1,5,300,2.27,CRD,8.0 +VTS,1,3,2940,12.19,CRD,40.0 +VTS,1,3,420,1.54,CSH,7.5 +VTS,1,4,180,1.14,CSH,5.5 +VTS,1,4,960,2.62,CRD,12.5 +VTS,1,4,180,0.82,CSH,5.0 +VTS,1,4,1440,6.49,CSH,23.0 +VTS,1,4,300,1.33,CSH,6.5 +VTS,1,4,600,2.15,CRD,9.5 +VTS,1,4,540,2.4,CRD,10.0 +VTS,1,4,180,0.94,CSH,5.0 +VTS,1,6,780,3.29,CSH,12.5 +VTS,1,6,480,1.32,CSH,7.5 +VTS,1,6,1560,5.02,CSH,20.0 +VTS,1,1,660,0.81,CSH,8.0 +VTS,1,1,1140,2.14,CRD,13.5 +VTS,1,1,780,1.33,CSH,10.0 +VTS,1,1,480,1.03,CSH,7.0 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,360,1.6,CSH,7.0 +VTS,1,1,420,1.95,CRD,8.0 +VTS,1,1,780,2.47,CRD,11.0 +VTS,1,1,180,0.8,CSH,5.0 +VTS,1,1,300,0.88,CRD,6.0 +VTS,1,1,1020,1.55,CSH,11.5 +VTS,1,1,1140,3.18,CSH,14.5 +VTS,1,1,720,2.15,CSH,10.5 +VTS,1,1,780,1.67,CSH,9.5 +VTS,1,1,360,1.22,CSH,6.0 +VTS,1,1,1260,5.79,CRD,21.0 +VTS,1,1,660,2.03,CRD,10.0 +VTS,1,5,600,2.54,CRD,10.0 +VTS,1,5,900,4.29,CRD,15.0 +VTS,1,5,180,0.64,CSH,4.5 +VTS,1,1,300,1.24,CSH,6.0 +VTS,1,1,420,1.03,CSH,6.5 +VTS,1,1,600,1.59,CSH,7.5 +VTS,1,1,180,0.49,CSH,4.0 +VTS,1,1,300,0.63,CSH,5.0 +VTS,1,1,660,0.93,CRD,7.5 +VTS,1,1,540,1.17,CRD,7.5 +VTS,1,1,300,1.09,CRD,6.0 +VTS,1,1,300,0.68,CRD,5.0 +VTS,1,1,360,0.77,CRD,6.0 +VTS,1,1,420,1.68,CSH,7.0 +VTS,1,1,720,1.42,CRD,9.0 +VTS,1,1,780,2.76,CRD,11.5 +VTS,1,1,660,3.81,CRD,13.0 +VTS,1,5,240,0.55,CRD,4.5 +VTS,1,5,240,0.56,CRD,4.5 +VTS,1,5,120,0.72,CRD,4.0 +VTS,1,5,720,2.8,CSH,11.5 +VTS,1,5,300,1.56,CRD,6.5 +VTS,1,5,300,1.27,CRD,6.5 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,660,1.26,CSH,8.5 +VTS,1,1,840,1.6,CRD,9.5 +VTS,1,4,180,1.02,CRD,5.0 +VTS,1,6,300,1.43,CSH,6.5 +VTS,1,6,1140,8.21,CRD,24.5 +VTS,1,6,1680,4.95,CRD,22.0 +VTS,1,6,1020,3.88,CSH,16.0 +VTS,1,6,360,1.15,CSH,6.5 +VTS,1,1,540,2.47,CSH,10.0 +VTS,1,1,360,1.03,CSH,6.5 +VTS,1,1,480,1.58,CSH,7.5 +VTS,1,1,660,0.92,CSH,8.5 +VTS,1,1,360,0.63,CSH,5.5 +VTS,1,1,1560,4.34,CRD,19.5 +VTS,1,1,1860,5.6,CRD,23.0 +VTS,1,1,600,2.67,CRD,11.0 +VTS,1,1,1200,3.24,CSH,15.0 +VTS,1,1,600,1.07,CSH,7.5 +VTS,1,1,840,2.19,CRD,11.0 +VTS,1,1,1020,2.53,CRD,12.5 +VTS,1,1,300,0.97,CSH,5.0 +VTS,1,1,840,4.3,CRD,14.5 +VTS,1,1,420,2.03,CRD,8.0 +VTS,1,1,1560,10.99,CRD,32.0 +VTS,1,1,480,1.26,CRD,7.5 +VTS,1,1,960,4.68,CRD,16.5 +VTS,1,1,960,8.14,CRD,24.5 +VTS,1,5,780,4.04,CSH,13.5 +VTS,1,5,480,2.06,CSH,8.5 +VTS,1,5,900,2.59,CRD,11.5 +VTS,1,5,480,1.33,CSH,7.5 +VTS,1,5,660,1.72,CRD,9.0 +VTS,1,5,1500,9.78,CRD,30.0 +VTS,1,5,540,2.25,CSH,9.0 +VTS,1,1,420,2.73,CSH,9.5 +VTS,1,1,300,0.68,CRD,5.5 +VTS,1,1,240,0.95,CRD,5.0 +VTS,1,6,240,0.27,CSH,4.5 +VTS,1,6,1560,5.31,CRD,20.5 +VTS,1,6,300,1.33,CSH,6.0 +VTS,1,6,1080,3.88,CSH,16.0 +VTS,1,6,360,0.6,CRD,5.5 +VTS,1,6,240,1.1,CRD,5.5 +VTS,1,1,660,1.49,CSH,9.5 +VTS,1,1,960,2.63,CSH,12.5 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,240,0.63,CRD,4.5 +VTS,1,1,540,1.17,CSH,7.5 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,540,1.95,CSH,9.0 +VTS,1,1,1200,2.21,CRD,13.5 +VTS,1,1,240,0.83,CRD,5.0 +VTS,1,1,540,1.19,CSH,7.0 +VTS,1,1,840,3.23,CRD,12.5 +VTS,1,1,1200,3.46,CRD,15.5 +VTS,1,1,1320,4.7,CRD,18.0 +VTS,1,1,1260,2.81,CRD,15.0 +VTS,1,5,1560,3.96,CSH,19.0 +VTS,1,5,660,2.56,CSH,11.0 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,1,480,1.81,CSH,8.5 +VTS,1,4,180,0.83,CRD,4.5 +VTS,1,3,540,1.47,CSH,8.0 +VTS,1,3,660,1.45,CRD,9.0 +VTS,1,3,480,1.43,CRD,8.0 +VTS,1,4,540,1.5,CSH,8.5 +VTS,1,4,240,0.56,CSH,5.0 +VTS,1,3,240,0.75,CRD,5.0 +VTS,1,4,540,1.63,CSH,8.5 +VTS,1,4,120,0.35,CRD,3.5 +VTS,1,4,600,3.72,CRD,12.5 +VTS,1,6,1080,1.82,CSH,12.5 +VTS,1,6,600,2.0,CSH,9.0 +VTS,1,6,1380,5.88,CRD,22.0 +VTS,1,1,420,3.93,CSH,13.0 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,960,1.91,CRD,11.5 +VTS,1,1,420,1.58,CSH,7.5 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,1320,4.44,CSH,18.0 +VTS,1,1,300,0.58,CSH,5.0 +VTS,1,5,1380,4.4,CSH,17.0 +VTS,1,5,720,1.54,CRD,9.0 +VTS,1,5,540,1.85,CRD,8.5 +VTS,1,5,720,1.75,CSH,9.5 +VTS,1,5,840,3.84,CRD,14.0 +VTS,1,5,900,4.19,CRD,15.5 +VTS,1,5,540,1.65,CRD,8.0 +VTS,1,5,540,2.42,CRD,9.5 +VTS,1,6,240,1.29,CRD,6.0 +VTS,1,6,180,0.45,CRD,4.5 +VTS,1,6,420,0.99,CRD,6.5 +VTS,1,6,300,0.72,CSH,5.5 +VTS,1,1,420,1.24,CRD,6.5 +VTS,1,1,300,0.73,CSH,5.0 +VTS,1,1,1740,4.05,CSH,20.5 +VTS,1,1,840,2.11,CRD,11.0 +VTS,1,1,780,5.93,CRD,18.5 +VTS,1,1,240,1.02,CSH,5.0 +VTS,1,1,240,1.42,CRD,6.5 +VTS,1,1,900,3.09,CRD,13.0 +VTS,1,1,420,1.16,CSH,7.0 +VTS,1,1,1020,2.28,CRD,12.0 +VTS,1,1,660,1.65,CRD,9.0 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,540,1.58,CSH,8.0 +VTS,1,1,240,0.66,CSH,5.0 +VTS,1,1,1440,3.42,CSH,17.5 +VTS,1,1,720,1.57,CRD,9.0 +VTS,1,1,420,1.19,CSH,6.5 +VTS,1,1,1320,2.41,CRD,14.5 +VTS,1,1,900,1.95,CRD,11.0 +VTS,1,5,2340,10.98,CSH,36.5 +VTS,1,5,1920,9.1,CRD,30.0 +VTS,1,1,360,1.36,CRD,6.5 +VTS,1,1,180,0.71,CSH,4.0 +VTS,1,1,480,1.83,CSH,8.0 +VTS,1,1,900,2.01,CRD,11.5 +VTS,1,1,480,1.19,CRD,7.5 +VTS,1,1,1320,4.14,CSH,17.0 +VTS,1,2,240,0.57,CRD,4.5 +VTS,1,3,480,2.1,CRD,9.0 +VTS,1,3,360,1.45,CRD,7.0 +VTS,1,4,720,3.08,CSH,12.5 +VTS,1,2,60,0.33,CRD,3.0 +VTS,1,6,360,1.18,CRD,6.0 +VTS,1,6,420,0.99,CSH,6.5 +VTS,1,6,240,0.78,CRD,5.0 +VTS,1,6,600,1.11,CRD,8.0 +VTS,1,6,1320,3.34,CRD,16.5 +VTS,1,6,300,0.93,CSH,5.5 +VTS,1,6,660,1.22,CRD,9.0 +VTS,1,6,600,1.47,CSH,8.0 +VTS,1,6,600,1.52,CRD,8.5 +VTS,1,6,1380,2.93,CSH,15.5 +VTS,1,1,540,2.65,CRD,10.0 +VTS,1,1,360,0.91,CRD,6.0 +VTS,1,1,240,1.18,CSH,5.5 +VTS,1,1,180,0.81,CRD,4.5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,1,780,2.23,CSH,11.0 +VTS,1,1,900,2.13,CSH,11.0 +VTS,1,1,600,1.15,CRD,8.0 +VTS,1,1,720,0.83,CRD,8.5 +VTS,1,1,540,1.26,CSH,8.0 +VTS,1,1,480,0.77,CRD,7.0 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,600,1.72,CSH,9.0 +VTS,1,1,180,1.21,CSH,5.5 +VTS,1,1,780,1.86,CRD,10.0 +VTS,1,1,1020,2.31,CSH,13.0 +VTS,1,1,720,3.24,CRD,12.5 +VTS,1,1,600,2.29,CSH,10.0 +VTS,1,1,960,4.63,CSH,16.5 +VTS,1,1,420,1.43,CRD,7.0 +VTS,1,1,360,1.22,CSH,6.5 +VTS,1,5,900,3.62,CRD,13.5 +VTS,1,5,1020,2.68,CSH,13.0 +VTS,1,5,720,2.3,CSH,10.5 +VTS,1,5,420,2.23,CRD,8.5 +VTS,1,5,420,3.04,CSH,11.0 +VTS,1,1,660,2.94,CRD,11.0 +VTS,1,1,360,0.76,CSH,5.5 +VTS,1,1,300,1.28,CSH,6.5 +VTS,1,1,360,1.5,CRD,6.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,1080,2.08,CRD,13.0 +VTS,1,4,300,0.5,CRD,5.0 +VTS,1,3,960,2.49,CSH,12.0 +VTS,1,4,2100,12.46,CSH,38.0 +VTS,1,4,900,2.79,CRD,12.5 +VTS,1,4,540,1.47,CSH,8.5 +VTS,1,4,240,0.8,CSH,5.0 +VTS,1,4,240,0.96,CSH,5.0 +VTS,1,4,840,3.11,CSH,12.0 +VTS,1,6,2040,10.73,CRD,37.0 +VTS,1,6,480,1.51,CSH,7.5 +VTS,1,6,300,1.11,CRD,6.0 +VTS,1,1,120,0.97,CSH,4.5 +VTS,1,1,180,0.99,CRD,5.0 +VTS,1,1,1440,7.53,CRD,25.0 +VTS,1,1,600,1.05,CRD,8.0 +VTS,1,1,60,0.27,CSH,3.0 +VTS,1,1,300,0.61,CSH,5.0 +VTS,1,5,2460,8.54,CRD,32.5 +VTS,1,5,300,0.71,CSH,5.0 +VTS,1,5,240,0.8,CRD,4.5 +VTS,1,5,360,2.04,CRD,8.5 +VTS,1,5,1260,0.96,CRD,13.5 +VTS,1,6,120,0.73,CSH,4.5 +VTS,1,6,660,1.17,CRD,8.5 +VTS,1,6,600,1.11,CSH,8.0 +VTS,1,6,780,0.86,CSH,9.0 +VTS,1,1,300,1.18,CSH,6.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,840,1.29,CSH,10.0 +VTS,1,1,960,1.82,CSH,11.0 +VTS,1,1,1020,1.06,CSH,10.5 +VTS,1,4,540,1.23,CSH,8.0 +VTS,1,3,480,1.32,CSH,7.0 +VTS,1,3,540,1.2,CSH,7.5 +VTS,1,4,660,1.62,CRD,9.0 +VTS,1,4,1440,12.42,CRD,35.5 +VTS,1,6,540,2.13,CRD,9.5 +VTS,1,6,960,3.67,CRD,14.0 +VTS,1,1,480,1.02,CRD,7.5 +VTS,1,5,900,3.42,CRD,14.0 +VTS,1,5,480,1.17,CRD,7.0 +VTS,1,5,480,0.98,CSH,7.5 +VTS,1,5,960,3.4,CSH,13.5 +VTS,1,5,300,0.98,CRD,5.5 +VTS,1,5,480,1.17,CSH,7.5 +VTS,1,5,1020,3.42,CSH,14.0 +VTS,1,5,360,0.89,CSH,6.0 +VTS,1,5,240,0.88,CSH,5.0 +VTS,1,5,780,3.83,CSH,13.5 +VTS,1,5,540,3.27,CSH,11.5 +VTS,1,5,240,0.81,CRD,5.0 +VTS,1,5,240,0.88,CSH,5.5 +VTS,1,1,780,2.26,CSH,10.5 +VTS,1,4,540,2.69,CRD,10.0 +VTS,1,4,1200,3.26,CRD,15.0 +VTS,1,4,600,1.1,CRD,8.0 +VTS,1,3,1620,3.51,CRD,20.0 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,840,2.53,CSH,11.5 +VTS,1,1,360,0.85,CRD,6.0 +VTS,1,5,480,1.98,CSH,8.5 +VTS,1,5,1080,8.78,CRD,26.5 +VTS,1,5,1440,6.25,CSH,21.0 +VTS,1,5,900,4.91,CRD,16.0 +VTS,1,5,3120,11.11,CSH,39.5 +VTS,1,5,420,1.6,CSH,7.5 +VTS,1,5,480,1.74,CRD,8.0 +VTS,1,5,180,0.38,CSH,4.0 +VTS,1,5,600,2.89,CRD,11.0 +VTS,1,5,720,2.21,CSH,10.5 +VTS,1,6,0,0.0,CRD,2.5 +VTS,1,6,180,0.62,CRD,4.5 +VTS,1,6,300,0.64,CRD,5.0 +VTS,1,1,1620,6.77,CRD,25.0 +VTS,1,1,420,0.99,CSH,6.0 +VTS,1,1,1200,4.17,CRD,17.5 +VTS,1,1,1200,3.73,CSH,16.5 +VTS,1,1,420,1.48,CRD,7.5 +VTS,1,1,240,0.75,CSH,5.0 +VTS,1,1,480,1.79,CRD,8.0 +VTS,1,1,300,0.75,CSH,5.5 +VTS,1,1,1620,4.28,CRD,19.5 +VTS,1,1,660,1.73,CRD,9.5 +VTS,1,1,660,2.13,CSH,10.0 +VTS,1,5,240,0.95,CSH,5.0 +VTS,1,5,180,1.11,CSH,5.0 +VTS,1,5,180,1.01,CSH,5.0 +VTS,1,5,420,1.39,CRD,7.0 +VTS,1,5,540,1.98,CRD,8.5 +VTS,1,5,420,1.53,CRD,7.0 +VTS,1,5,300,1.26,CRD,6.0 +VTS,1,5,780,1.97,CSH,10.0 +VTS,1,5,1200,13.82,CRD,37.5 +VTS,1,5,660,1.65,CRD,9.0 +VTS,1,5,120,0.29,CSH,3.5 +VTS,1,6,300,0.47,CRD,5.0 +VTS,1,6,480,1.18,CRD,6.5 +VTS,1,6,0,0.28,CSH,3.0 +VTS,1,1,180,0.91,CSH,5.0 +VTS,1,1,600,2.27,CSH,9.5 +VTS,1,1,660,2.81,CSH,11.5 +VTS,1,1,1020,8.85,CRD,25.0 +VTS,1,1,480,1.22,CSH,7.5 +VTS,1,1,600,3.11,CSH,11.0 +VTS,1,1,840,2.35,CSH,11.5 +VTS,1,1,1020,5.86,CSH,19.0 +VTS,1,5,1260,2.54,CRD,14.5 +VTS,1,5,540,1.27,CSH,7.5 +VTS,1,5,300,1.04,CRD,5.5 +VTS,1,5,360,1.05,CSH,6.0 +VTS,1,5,240,0.69,CRD,5.0 +VTS,1,5,1200,6.2,CRD,20.5 +VTS,1,6,0,0.14,CSH,3.0 +VTS,1,6,420,0.94,CSH,6.0 +VTS,1,6,600,2.2,CRD,10.5 +VTS,1,6,1080,1.7,CRD,12.0 +VTS,1,6,1260,4.28,CSH,18.0 +VTS,1,6,0,0.0,CSH,2.5 +VTS,1,6,60,0.0,CSH,2.5 +VTS,1,2,780,1.71,CSH,10.5 +VTS,1,2,660,2.36,CRD,10.0 +VTS,1,1,840,2.92,CSH,12.5 +VTS,1,2,1020,2.58,CRD,12.5 +VTS,1,2,1020,2.45,CSH,12.5 +VTS,1,1,540,1.69,CSH,8.5 +VTS,1,2,420,3.41,CSH,11.0 +VTS,1,1,420,1.13,CSH,7.0 +VTS,1,1,60,0.61,CRD,4.0 +VTS,1,1,240,1.19,CSH,5.5 +VTS,1,1,900,2.25,CSH,12.0 +VTS,1,1,480,1.52,CRD,7.5 +VTS,1,1,540,1.24,CRD,7.5 +VTS,1,3,660,0.95,CSH,8.0 +VTS,1,3,480,1.08,CSH,7.0 +VTS,1,3,600,1.68,CSH,9.0 +VTS,1,4,780,3.06,CSH,12.5 +VTS,1,4,1080,4.33,CSH,16.5 +VTS,1,4,540,0.98,CRD,7.0 +VTS,1,4,420,1.67,CSH,7.5 +VTS,1,3,540,1.93,CSH,9.0 +VTS,1,4,1680,17.95,CRD,48.5 +VTS,1,4,300,1.0,CRD,5.5 +VTS,1,4,780,1.71,CRD,10.5 +VTS,1,4,360,0.83,CSH,6.0 +VTS,1,4,720,2.83,CRD,11.5 +VTS,1,6,300,0.85,CRD,5.5 +VTS,1,6,240,0.69,CRD,5.0 +VTS,1,6,180,0.89,CSH,5.0 +VTS,1,6,660,2.72,CRD,11.5 +VTS,1,1,300,1.47,CRD,6.5 +VTS,1,1,420,1.09,CRD,6.5 +VTS,1,1,720,1.44,CSH,9.5 +VTS,1,1,660,1.89,CRD,9.5 +VTS,1,1,1020,2.09,CRD,12.5 +VTS,1,1,780,2.35,CRD,10.5 +VTS,1,1,300,0.54,CSH,5.5 +VTS,1,5,720,2.45,CSH,11.0 +VTS,1,5,480,2.01,CSH,8.5 +VTS,1,5,780,2.02,CSH,10.0 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,360,0.8,CSH,5.5 +VTS,1,1,2040,13.03,CSH,40.0 +VTS,1,3,420,1.17,CRD,6.5 +VTS,1,4,1200,4.77,CRD,18.5 +VTS,1,4,1440,6.99,CRD,23.5 +VTS,1,3,1200,2.99,CRD,14.5 +VTS,1,4,720,2.22,CRD,10.5 +VTS,1,4,1140,5.07,CRD,18.0 +VTS,1,6,300,0.82,CSH,5.5 +VTS,1,6,300,1.12,CSH,5.5 +VTS,1,6,1500,8.1,CRD,27.0 +VTS,1,1,960,2.07,CRD,12.0 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,420,0.89,CRD,6.5 +VTS,1,1,180,0.8,CSH,5.0 +VTS,1,5,540,1.42,CRD,8.5 +VTS,1,5,540,1.59,CRD,8.5 +VTS,1,5,1380,9.24,CRD,28.5 +VTS,1,5,780,1.73,CSH,10.0 +VTS,1,5,1740,12.15,CRD,35.5 +VTS,1,5,840,4.7,CRD,15.5 +VTS,1,5,240,0.37,CRD,4.5 +VTS,1,5,480,1.55,CSH,7.5 +VTS,1,5,300,1.16,CRD,5.5 +VTS,1,5,600,2.27,CRD,10.0 +VTS,1,6,780,1.98,CSH,10.5 +VTS,1,2,480,1.25,CRD,7.5 +VTS,1,2,480,2.26,CRD,9.0 +VTS,1,1,720,3.22,CSH,12.5 +VTS,1,1,360,2.37,CSH,8.5 +VTS,1,1,240,0.75,CSH,5.0 +VTS,1,1,180,0.89,CSH,5.0 +VTS,1,1,480,1.91,CRD,8.5 +VTS,1,1,660,2.84,CRD,11.5 +VTS,1,1,600,2.74,CRD,10.5 +VTS,1,1,480,1.35,CSH,7.5 +VTS,1,1,660,1.48,CSH,9.0 +VTS,1,1,1620,3.32,CRD,18.0 +VTS,3,3,3060,14.15,CRD,62.0 +VTS,1,3,2100,9.52,CRD,33.0 +VTS,1,3,300,0.44,CSH,5.0 +VTS,1,1,720,2.4,CSH,10.5 +VTS,1,1,420,1.58,CSH,7.5 +VTS,1,1,600,2.01,CSH,9.0 +CMT,1,3,557,2.6,CSH,10.0 +CMT,1,1,571,5.2,CRD,16.0 +CMT,1,1,32,0.1,CSH,2.5 +CMT,1,1,172,0.7,CSH,4.5 +CMT,1,4,605,2.8,CSH,11.0 +CMT,1,2,418,1.8,CSH,8.5 +CMT,1,1,241,1.3,CSH,6.0 +VTS,1,1,1020,2.35,CRD,12.5 +VTS,1,1,660,2.17,CRD,9.5 +VTS,1,1,660,2.11,CRD,10.5 +VTS,1,1,600,1.14,CSH,8.0 +VTS,1,1,1200,6.18,CSH,21.5 +VTS,1,5,240,1.0,CSH,5.5 +VTS,1,5,840,2.21,CSH,10.5 +VTS,1,5,900,3.8,CRD,14.5 +VTS,1,5,240,0.77,CRD,5.0 +VTS,1,5,1260,3.25,CRD,15.5 +VTS,1,5,600,1.83,CRD,8.5 +VTS,1,5,600,2.09,CSH,9.5 +VTS,1,6,360,1.02,CRD,6.5 +VTS,1,6,120,0.31,CSH,3.5 +VTS,1,2,480,0.94,CRD,7.0 +VTS,1,1,540,2.37,CRD,9.5 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,2,240,1.46,CSH,6.0 +VTS,1,2,360,1.08,CSH,6.5 +VTS,1,1,120,0.59,CRD,4.0 +VTS,1,1,240,1.07,CSH,5.5 +VTS,1,1,300,1.63,CRD,7.0 +VTS,1,1,240,1.44,CSH,6.5 +VTS,1,1,360,1.09,CSH,6.0 +VTS,1,1,420,1.57,CSH,7.5 +VTS,1,3,540,0.99,CSH,7.5 +VTS,1,1,780,2.99,CSH,12.0 +CMT,1,1,279,1.0,CRD,5.5 +CMT,1,1,102,0.8,CSH,4.5 +CMT,1,2,478,1.6,CSH,8.0 +CMT,1,4,387,1.3,CSH,7.0 +CMT,1,1,376,1.5,CSH,7.5 +CMT,1,1,336,2.7,CRD,9.5 +CMT,1,1,798,1.2,CRD,9.5 +CMT,1,2,1373,4.2,CRD,18.0 +CMT,1,1,754,4.1,CRD,14.0 +CMT,1,1,133,0.8,CSH,4.5 +CMT,1,1,349,0.7,CSH,5.5 +CMT,1,1,207,0.2,CSH,4.0 +CMT,1,1,922,2.4,CRD,12.0 +CMT,1,1,291,1.0,CSH,5.5 +CMT,1,1,498,1.2,CRD,7.0 +CMT,1,1,364,0.4,CSH,5.5 +CMT,1,1,851,1.7,CSH,11.0 +CMT,1,1,1379,3.6,CSH,16.5 +CMT,1,1,406,1.0,CSH,6.5 +CMT,1,2,256,0.6,CRD,5.0 +CMT,1,1,573,1.7,CSH,8.5 +CMT,1,2,474,1.8,CSH,8.0 +CMT,1,1,826,3.4,CRD,13.0 +CMT,1,2,531,2.1,CRD,9.0 +CMT,1,1,477,1.7,CRD,8.0 +VTS,1,1,720,2.79,CRD,11.0 +VTS,1,1,1260,4.12,CRD,18.0 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,3,420,1.15,CSH,7.0 +VTS,1,3,660,2.33,CRD,10.5 +VTS,1,1,300,0.63,CSH,5.0 +VTS,1,1,420,1.07,CSH,6.5 +CMT,1,2,432,1.1,CRD,7.0 +CMT,1,1,57,0.3,CRD,3.0 +CMT,1,1,167,0.9,CRD,4.5 +CMT,1,1,633,2.2,CRD,10.0 +CMT,1,1,1035,11.5,CSH,32.0 +CMT,1,1,650,3.1,CRD,12.0 +CMT,1,1,503,0.7,CSH,7.0 +CMT,1,1,175,0.8,CRD,4.5 +CMT,1,1,609,2.0,CSH,9.5 +CMT,1,1,106,0.6,CRD,4.0 +CMT,1,1,449,2.2,CRD,9.0 +CMT,1,1,418,1.2,CRD,7.0 +CMT,1,1,1181,1.3,CSH,12.5 +CMT,1,4,448,1.0,CSH,7.0 +CMT,1,1,593,2.3,CRD,10.0 +CMT,1,1,67,0.1,CSH,3.0 +CMT,1,1,275,0.7,CRD,5.0 +CMT,1,1,265,0.8,CSH,5.5 +CMT,1,1,671,1.2,CSH,8.5 +VTS,1,1,1020,2.86,CRD,13.0 +VTS,1,1,300,1.07,CSH,5.5 +VTS,1,1,1200,3.1,CSH,14.5 +VTS,1,1,900,1.85,CRD,10.5 +VTS,1,1,720,1.66,CRD,9.0 +VTS,1,1,540,1.35,CSH,8.0 +CMT,1,2,1352,3.6,CSH,17.5 +CMT,1,4,2325,5.8,CRD,28.0 +CMT,1,2,805,2.4,CRD,11.0 +CMT,1,3,270,0.6,CRD,5.0 +CMT,1,1,139,0.8,CSH,4.5 +CMT,1,1,244,1.0,CSH,5.5 +CMT,1,1,437,0.7,CSH,6.5 +CMT,1,1,605,3.0,CSH,11.0 +CMT,1,2,354,0.6,CSH,5.5 +CMT,1,3,332,1.1,CSH,6.5 +CMT,1,1,1778,3.2,CSH,19.5 +CMT,1,2,713,1.4,CSH,9.5 +CMT,1,1,2492,8.3,CSH,34.0 +CMT,1,1,837,2.1,CRD,11.0 +CMT,1,1,733,3.9,CRD,13.5 +CMT,1,1,844,6.5,CSH,20.0 +CMT,1,1,181,0.8,CRD,4.5 +CMT,1,1,489,1.0,CRD,7.0 +CMT,1,2,1055,3.0,CSH,13.5 +CMT,1,1,286,0.6,CRD,5.0 +CMT,1,2,1318,3.0,CSH,15.5 +CMT,1,3,1381,5.8,CRD,20.5 +CMT,1,1,688,1.9,CSH,10.0 +CMT,1,1,201,0.5,CRD,4.5 +CMT,1,1,294,0.6,CRD,5.0 +CMT,1,1,633,1.8,CRD,9.0 +CMT,1,1,545,1.2,CRD,7.5 +CMT,1,1,433,1.0,CRD,6.5 +CMT,1,1,690,4.0,CRD,13.5 +CMT,1,1,553,1.5,CSH,8.5 +CMT,1,1,103,0.3,CSH,3.5 +CMT,1,1,1139,2.3,CRD,13.5 +CMT,1,2,361,0.4,CSH,5.5 +CMT,1,1,625,1.5,CSH,8.5 +CMT,1,1,749,2.7,CSH,11.0 +CMT,1,1,306,0.8,CSH,5.5 +CMT,1,1,548,2.4,CSH,9.5 +CMT,1,1,401,1.6,CSH,7.5 +CMT,1,1,83,0.4,CSH,3.5 +CMT,1,1,604,3.4,CSH,12.0 +CMT,1,1,1276,10.3,CRD,31.0 +CMT,1,1,1161,7.8,CRD,24.0 +CMT,1,1,195,1.0,CRD,5.0 +CMT,1,1,336,0.6,CSH,5.5 +CMT,1,1,387,1.1,CSH,6.5 +CMT,1,1,368,2.1,CRD,8.0 +VTS,1,3,480,1.18,CRD,7.0 +VTS,1,3,1020,1.51,CRD,11.0 +VTS,1,3,780,1.96,CRD,10.5 +VTS,1,1,780,1.7,CSH,10.0 +VTS,1,1,1260,2.83,CRD,15.0 +VTS,1,1,600,3.25,CRD,11.5 +CMT,1,1,524,1.4,CSH,8.0 +CMT,1,3,388,1.6,CSH,7.5 +CMT,1,4,1112,2.4,CSH,13.5 +CMT,1,4,460,1.2,CSH,7.0 +CMT,1,1,1285,2.9,CRD,15.5 +CMT,1,1,259,0.9,CRD,5.0 +CMT,1,2,350,1.0,CRD,6.0 +CMT,1,1,349,1.5,CSH,7.0 +CMT,1,1,265,0.8,CSH,5.5 +CMT,1,2,380,1.1,CRD,6.5 +CMT,1,1,623,3.3,CRD,12.0 +CMT,1,1,367,2.3,CSH,8.5 +CMT,1,1,351,1.0,CSH,6.0 +CMT,1,1,271,1.5,CRD,6.5 +CMT,1,2,1348,3.4,CSH,16.5 +CMT,1,2,1273,2.2,CSH,14.0 +CMT,1,1,451,0.6,CSH,6.0 +CMT,1,1,1047,3.7,CRD,14.5 +CMT,1,1,692,2.2,CRD,10.5 +CMT,1,2,718,2.6,CSH,10.5 +CMT,1,1,812,2.4,CRD,11.5 +CMT,1,1,513,2.1,CRD,9.5 +CMT,1,1,288,1.4,CRD,6.0 +CMT,1,1,1481,3.9,CRD,19.0 +CMT,1,1,415,1.1,CSH,7.0 +CMT,1,1,248,1.0,CSH,5.5 +CMT,1,1,518,1.0,CSH,7.5 +CMT,1,1,774,3.7,CSH,13.0 +CMT,1,1,441,1.4,CSH,7.5 +CMT,1,1,182,0.5,CSH,4.0 +CMT,1,1,412,0.9,CRD,6.5 +CMT,1,1,173,0.7,CSH,4.5 +CMT,1,1,252,0.5,CSH,5.0 +CMT,1,1,603,2.6,CSH,10.5 +CMT,1,1,497,1.8,CSH,8.5 +CMT,1,1,1601,11.9,CRD,35.5 +CMT,1,1,325,1.0,CSH,6.0 +CMT,1,1,1690,4.0,CRD,20.5 +CMT,1,1,938,2.6,CRD,13.0 +CMT,1,1,1067,5.0,CSH,18.5 +CMT,1,1,1051,3.0,CRD,13.5 +CMT,1,1,253,1.0,CSH,5.5 +CMT,1,1,1639,3.0,CSH,18.5 +CMT,1,1,1731,3.0,CSH,19.0 +CMT,1,1,601,1.6,CSH,9.0 +CMT,1,1,308,2.1,CRD,7.5 +CMT,1,2,347,1.1,CRD,6.0 +CMT,1,2,854,2.0,CSH,11.0 +CMT,1,1,194,1.6,CRD,6.5 +CMT,1,1,457,1.4,CRD,7.5 +CMT,1,1,394,1.3,CRD,7.0 +CMT,1,1,455,1.2,CSH,7.5 +CMT,1,1,291,1.3,CRD,6.5 +CMT,1,1,1154,3.3,CRD,14.5 +CMT,1,1,1130,2.5,CRD,13.0 +CMT,1,1,440,3.1,CRD,11.0 +CMT,1,1,432,1.5,CRD,7.5 +CMT,1,2,296,1.3,CSH,6.5 +CMT,1,2,734,2.6,CSH,11.5 +CMT,1,1,336,1.4,CRD,7.0 +CMT,1,1,569,2.4,CRD,10.0 +CMT,1,1,386,1.0,CSH,6.5 +CMT,1,1,1222,4.2,CSH,19.0 +CMT,1,1,625,2.4,CSH,11.0 +CMT,1,1,217,0.5,CRD,4.5 +CMT,1,1,127,0.6,CSH,4.0 +CMT,2,1,1595,19.3,CRD,52.0 +CMT,1,1,468,2.7,CSH,9.5 +CMT,1,1,195,0.7,CSH,5.0 +CMT,1,1,388,1.7,CSH,7.5 +CMT,1,1,889,5.1,CRD,17.5 +CMT,1,1,250,1.0,CRD,5.5 +VTS,1,5,420,1.05,CRD,6.5 +VTS,1,5,1200,5.4,CRD,19.5 +VTS,1,6,600,2.76,CRD,11.0 +VTS,1,6,600,1.88,CSH,9.5 +VTS,1,6,360,1.05,CRD,6.5 +VTS,1,6,600,1.88,CSH,9.5 +VTS,1,2,360,1.33,CRD,6.5 +VTS,1,2,360,1.1,CSH,6.5 +VTS,1,2,180,0.68,CSH,5.0 +VTS,1,1,1140,2.86,CRD,14.0 +VTS,1,1,480,3.18,CSH,10.5 +VTS,1,1,60,0.29,CSH,3.5 +VTS,1,1,60,0.29,CSH,3.5 +VTS,1,1,720,7.46,CRD,22.0 +VTS,1,1,360,2.17,CRD,8.0 +VTS,1,1,540,3.03,CSH,11.0 +VTS,1,1,240,0.72,CSH,5.0 +VTS,1,1,840,2.23,CSH,11.0 +VTS,1,1,480,1.24,CSH,7.0 +VTS,1,3,720,1.18,CSH,9.5 +VTS,1,3,240,0.63,CSH,5.0 +VTS,1,3,600,1.38,CRD,8.5 +VTS,1,1,60,0.0,CSH,2.5 +CMT,1,1,534,2.0,CRD,10.0 +CMT,1,2,971,5.3,CRD,17.5 +CMT,1,1,416,2.5,CSH,9.5 +CMT,1,1,383,1.2,CRD,6.5 +CMT,1,1,93,0.4,CRD,3.5 +CMT,1,4,903,3.6,CSH,14.0 +CMT,1,2,281,1.5,CRD,7.0 +CMT,1,2,586,2.1,CSH,9.5 +CMT,1,3,1118,2.8,CRD,14.5 +CMT,1,1,407,1.2,CSH,7.0 +CMT,1,1,439,0.9,CRD,7.0 +CMT,1,1,272,0.8,CRD,5.0 +CMT,1,1,851,1.0,CSH,9.5 +CMT,1,1,195,0.8,CRD,4.5 +CMT,1,1,979,3.7,CRD,15.5 +CMT,1,1,335,0.4,CSH,5.0 +CMT,1,4,399,0.5,CRD,6.0 +CMT,1,3,644,0.7,CRD,8.0 +CMT,1,1,1061,1.8,CRD,12.5 +CMT,1,1,274,0.9,CRD,5.5 +CMT,1,1,452,1.5,CRD,7.5 +CMT,1,2,356,0.7,CSH,5.5 +CMT,1,1,161,0.5,CRD,4.0 +CMT,1,1,1081,5.1,CRD,18.0 +CMT,1,1,476,2.2,CSH,9.0 +CMT,1,1,422,0.8,CRD,6.0 +CMT,1,1,1648,6.2,CRD,24.5 +CMT,1,2,1231,4.0,CSH,17.5 +CMT,1,1,188,0.3,CSH,4.0 +VTS,1,5,420,1.52,CRD,7.5 +VTS,1,5,300,0.76,CSH,5.0 +VTS,1,6,540,1.7,CSH,9.0 +VTS,1,6,120,0.72,CSH,4.0 +VTS,1,6,420,1.54,CRD,7.5 +VTS,1,6,600,1.71,CRD,8.5 +VTS,2,6,120,0.0,CSH,52.0 +VTS,1,1,900,2.58,CSH,12.0 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,2,600,1.64,CRD,8.5 +VTS,1,1,1500,5.71,CRD,22.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,180,0.65,CSH,5.0 +VTS,1,3,840,1.47,CSH,10.0 +VTS,1,3,720,1.68,CSH,9.0 +VTS,1,3,780,1.26,CSH,9.5 +VTS,1,3,660,1.27,CRD,8.5 +VTS,1,1,660,1.57,CSH,9.0 +VTS,1,1,720,3.64,CRD,13.0 +CMT,1,2,478,1.8,CSH,8.5 +CMT,1,4,829,4.1,CRD,14.5 +CMT,1,2,788,5.6,CSH,18.0 +CMT,1,1,1174,4.7,CRD,18.0 +CMT,1,3,802,2.2,CRD,11.0 +CMT,1,1,490,2.4,CSH,9.5 +CMT,1,1,756,2.3,CRD,10.5 +CMT,1,1,557,1.8,CSH,9.0 +CMT,1,1,699,1.9,CRD,10.0 +CMT,1,1,978,3.4,CRD,15.0 +CMT,1,1,744,2.6,CRD,11.0 +CMT,1,1,307,1.0,CRD,6.0 +CMT,1,1,52,0.2,CSH,3.0 +CMT,1,1,657,2.3,CSH,10.5 +CMT,1,1,82,0.3,CSH,3.5 +CMT,1,1,364,2.8,CRD,10.0 +CMT,1,1,258,0.5,CSH,5.0 +CMT,1,1,506,1.6,CSH,8.5 +CMT,1,1,968,2.6,CRD,12.5 +CMT,1,1,495,0.9,CRD,7.0 +CMT,1,1,1190,2.6,CRD,14.5 +CMT,1,1,390,0.9,CSH,6.5 +CMT,1,1,562,1.5,CSH,8.5 +CMT,1,1,758,2.1,CSH,10.5 +CMT,1,1,246,0.7,CSH,5.0 +CMT,1,1,303,0.9,CRD,5.5 +CMT,1,1,783,2.6,CRD,11.5 +CMT,1,1,516,1.0,CSH,7.5 +CMT,1,1,452,0.9,CSH,6.5 +CMT,1,1,883,8.5,CSH,24.0 +CMT,1,1,501,1.0,CSH,7.0 +CMT,1,1,950,5.7,CRD,19.0 +CMT,1,1,263,0.4,CRD,5.0 +CMT,1,1,741,2.2,CRD,11.0 +CMT,1,1,282,1.0,CRD,5.5 +CMT,1,1,738,3.5,CSH,13.5 +CMT,1,1,382,1.4,CRD,7.0 +CMT,1,1,508,1.5,CSH,8.0 +CMT,1,1,883,5.3,CSH,18.0 +CMT,1,1,862,3.4,CSH,14.0 +CMT,1,1,959,2.6,CSH,12.5 +CMT,1,1,769,3.5,CRD,13.5 +CMT,1,1,1116,5.8,CRD,20.0 +CMT,1,1,554,0.9,CSH,7.5 +CMT,1,1,717,1.7,CRD,10.0 +CMT,1,1,1244,2.9,CRD,16.0 +CMT,1,1,722,1.6,CSH,9.5 +CMT,1,1,319,0.7,CSH,5.5 +CMT,1,1,619,2.8,CSH,11.5 +CMT,1,1,431,1.6,CSH,8.0 +CMT,1,1,898,6.3,CSH,20.5 +CMT,1,1,1154,6.8,CSH,23.5 +CMT,1,1,427,1.8,CSH,8.0 +CMT,1,1,1252,3.7,CSH,17.5 +CMT,1,1,319,1.0,CSH,6.0 +CMT,1,1,208,0.9,CRD,5.0 +CMT,1,1,1463,4.8,CRD,20.5 +CMT,1,1,233,0.5,CSH,4.5 +CMT,1,1,537,0.8,CSH,7.0 +CMT,1,1,372,0.7,CRD,6.0 +CMT,1,1,803,4.2,CRD,14.5 +CMT,1,1,535,1.3,CSH,8.0 +CMT,1,1,552,1.7,CSH,9.0 +CMT,1,1,838,1.8,CSH,10.5 +CMT,1,1,351,0.5,CSH,5.5 +CMT,1,1,306,1.5,CSH,6.5 +CMT,1,1,664,1.8,CSH,9.5 +CMT,1,1,271,0.4,CSH,5.0 +CMT,2,1,1572,19.1,CSH,52.0 +CMT,1,1,255,0.8,CSH,5.0 +CMT,1,1,435,1.7,CRD,8.0 +CMT,1,1,524,0.9,CRD,7.5 +CMT,1,1,199,0.5,CRD,4.0 +CMT,1,1,257,1.0,CRD,5.0 +CMT,1,1,1172,9.0,CSH,27.5 +CMT,1,1,807,1.7,CSH,10.0 +CMT,1,1,409,1.4,CSH,7.5 +CMT,1,1,165,1.0,CSH,5.0 +CMT,1,1,141,0.5,CSH,4.0 +CMT,1,1,253,1.1,CSH,6.0 +CMT,1,1,837,2.9,CRD,12.0 +CMT,1,1,1068,2.8,CRD,14.0 +CMT,1,1,359,0.8,CRD,6.0 +CMT,1,1,227,0.8,CSH,5.0 +CMT,1,1,227,0.5,CRD,5.0 +CMT,1,2,925,3.6,CSH,14.0 +CMT,1,3,751,1.7,CRD,10.0 +CMT,1,1,333,0.7,CRD,5.5 +CMT,1,1,277,0.8,CRD,5.5 +CMT,1,2,806,1.8,CSH,10.5 +CMT,1,2,542,1.0,CRD,7.5 +CMT,1,1,1124,3.3,CRD,15.0 +CMT,1,1,244,0.7,CRD,5.0 +CMT,1,1,1231,0.9,CRD,13.0 +CMT,1,3,426,0.8,CSH,6.0 +CMT,1,1,523,3.3,CSH,11.5 +CMT,1,1,232,0.9,CSH,5.5 +CMT,1,1,508,2.2,CSH,9.0 +CMT,1,1,1330,4.4,CRD,19.0 +CMT,1,1,732,2.4,CRD,11.5 +CMT,1,1,507,1.6,CRD,8.5 +CMT,1,1,237,0.6,CSH,4.5 +CMT,1,1,230,0.5,CRD,4.5 +CMT,1,1,1127,4.0,CSH,16.5 +CMT,1,1,220,0.7,CSH,5.0 +CMT,1,1,216,0.8,CSH,5.0 +CMT,1,1,908,5.9,CRD,19.5 +CMT,1,1,1240,4.7,CSH,18.0 +CMT,1,1,101,0.5,CSH,3.5 +CMT,1,1,688,2.6,CRD,11.0 +CMT,1,1,422,1.1,CRD,7.0 +CMT,1,1,54,0.1,CSH,3.0 +CMT,1,1,193,0.8,CSH,5.0 +CMT,1,1,1332,5.0,CSH,20.5 +CMT,1,1,1085,4.2,CRD,17.0 +CMT,1,1,194,0.5,CSH,4.5 +CMT,1,1,913,2.5,CRD,12.0 +CMT,1,1,528,1.5,CRD,8.0 +CMT,1,1,231,0.6,CRD,4.5 +CMT,1,1,157,0.3,CSH,4.0 +CMT,1,1,119,6.3,CSH,2.5 +CMT,1,1,377,1.4,CSH,7.0 +CMT,1,1,610,2.8,CRD,11.5 +CMT,1,1,1402,4.6,CRD,19.5 +CMT,1,1,223,0.5,CSH,4.5 +CMT,1,1,804,2.7,CSH,12.0 +CMT,1,1,672,2.0,CRD,10.5 +CMT,1,1,136,1.0,CRD,5.0 +CMT,1,1,368,2.1,CRD,8.0 +CMT,1,1,465,2.7,CSH,10.0 +CMT,1,1,313,1.2,CSH,6.0 +CMT,1,1,440,1.6,CRD,8.0 +CMT,1,1,1157,2.4,CSH,14.5 +CMT,1,1,462,1.4,CRD,7.5 +CMT,1,1,1061,6.0,CSH,20.5 +CMT,1,1,878,2.4,CRD,12.0 +CMT,1,1,743,1.7,CRD,10.0 +CMT,1,1,828,8.0,CRD,23.5 +CMT,1,1,306,0.8,CSH,5.5 +CMT,1,1,2047,9.3,CRD,32.0 +CMT,2,2,3106,18.0,CRD,52.0 +CMT,3,2,2094,17.1,CRD,66.5 +CMT,1,1,910,6.0,CRD,20.0 +CMT,1,2,736,2.8,CRD,11.5 +CMT,1,1,826,3.1,CRD,13.5 +CMT,1,1,346,1.5,CRD,7.0 +CMT,1,1,489,4.3,CRD,13.0 +CMT,2,1,1879,21.1,CSH,52.0 +CMT,1,1,68,0.2,CSH,3.0 +CMT,1,1,952,3.1,CRD,13.5 +CMT,1,1,304,1.1,CRD,6.0 +CMT,1,1,255,0.7,CSH,5.0 +CMT,1,1,257,0.6,CSH,5.0 +CMT,1,1,292,0.8,CRD,5.5 +CMT,1,1,619,2.1,CRD,9.5 +CMT,1,1,392,0.7,CRD,6.0 +CMT,1,1,398,1.2,CRD,6.5 +CMT,1,1,1122,3.4,CSH,15.5 +CMT,1,1,284,0.8,CSH,5.5 +CMT,1,1,304,0.4,CSH,5.0 +CMT,1,1,495,1.0,CSH,7.0 +CMT,1,1,651,0.9,CSH,8.0 +CMT,1,1,880,2.9,CSH,12.5 +CMT,1,1,136,0.6,CRD,4.0 +CMT,1,1,585,1.6,CRD,8.5 +CMT,1,1,488,2.3,CRD,9.0 +CMT,1,1,740,2.1,CSH,10.5 +CMT,1,1,122,0.3,CSH,3.5 +CMT,1,1,577,1.9,CRD,9.0 +CMT,1,1,721,2.7,CSH,11.5 +CMT,1,1,601,1.7,CSH,9.0 +CMT,1,1,954,2.4,CSH,12.5 +CMT,1,1,1044,2.4,CRD,13.0 +CMT,1,1,344,0.7,CRD,5.5 +CMT,1,1,429,0.9,CRD,6.5 +CMT,1,1,471,1.1,CSH,7.0 +CMT,1,1,145,0.7,CRD,4.0 +CMT,1,1,1032,2.5,CRD,13.5 +CMT,1,1,483,0.9,CRD,6.5 +CMT,1,1,573,2.1,CRD,9.5 +CMT,1,1,1714,10.5,CRD,33.5 +CMT,1,1,663,3.4,CRD,12.5 +CMT,1,1,677,3.1,CRD,11.5 +CMT,1,1,301,0.9,CRD,5.5 +CMT,1,1,632,1.3,CSH,8.5 +CMT,1,1,391,0.9,CSH,6.0 +CMT,1,1,613,1.9,CRD,9.5 +CMT,1,1,417,0.9,CSH,6.5 +CMT,1,1,845,3.5,CSH,14.0 +CMT,1,1,261,0.7,CRD,5.0 +CMT,1,1,856,2.9,CRD,12.5 +CMT,1,1,424,1.4,CSH,7.0 +CMT,1,1,326,0.5,CRD,5.5 +CMT,1,1,334,0.8,CSH,5.5 +CMT,1,1,445,0.8,CSH,6.5 +CMT,1,1,262,0.9,CSH,5.5 +CMT,1,1,713,2.2,CRD,10.5 +CMT,1,1,532,1.5,CSH,8.5 +CMT,1,1,935,2.2,CRD,12.0 +CMT,1,1,451,1.8,CSH,8.0 +CMT,1,1,635,1.5,CRD,9.0 +CMT,1,1,1153,3.4,CRD,15.0 +CMT,1,1,853,2.3,CRD,11.5 +CMT,1,1,462,1.2,CSH,7.5 +CMT,1,1,1513,5.3,CSH,22.0 +CMT,1,1,430,1.4,CRD,7.0 +CMT,1,1,717,1.2,CSH,9.0 +CMT,1,1,593,4.1,CRD,13.5 +CMT,1,1,325,1.3,CRD,6.5 +CMT,1,1,652,2.0,CSH,10.0 +CMT,1,1,869,6.6,CSH,21.0 +CMT,1,1,1038,6.3,CRD,21.0 +CMT,1,1,112,0.3,CRD,3.5 +CMT,1,1,427,2.4,CSH,9.0 +CMT,1,1,530,1.4,CSH,8.0 +CMT,1,1,733,2.3,CRD,11.0 +CMT,1,1,376,0.6,CSH,5.5 +CMT,1,1,2279,10.4,CRD,34.5 +CMT,1,1,411,1.2,CRD,7.0 +CMT,1,1,432,1.0,CRD,7.0 +CMT,1,1,707,2.6,CRD,11.0 +CMT,1,1,150,0.5,CRD,4.0 +CMT,1,1,688,2.4,CRD,10.5 +CMT,1,1,159,1.0,CSH,5.0 +CMT,1,1,473,1.6,CSH,8.5 +CMT,1,1,482,1.2,CSH,7.5 +CMT,1,1,272,0.5,CRD,5.0 +CMT,1,1,79,0.2,CRD,3.0 +CMT,1,1,383,1.4,CSH,7.0 +CMT,1,1,360,0.5,CSH,5.5 +CMT,1,1,937,1.7,CSH,11.0 +CMT,1,1,737,2.1,CSH,10.5 +CMT,1,1,184,0.9,CSH,5.0 +CMT,1,1,685,1.4,CRD,9.0 +CMT,1,1,580,0.8,CSH,7.5 +CMT,1,1,729,1.9,CRD,10.0 +CMT,1,1,332,0.7,CSH,5.5 +CMT,1,1,53,0.3,CSH,2.5 +CMT,1,1,287,0.7,CSH,5.0 +CMT,1,1,262,0.8,CSH,5.0 +CMT,1,1,554,1.6,CSH,8.0 +CMT,1,1,1057,9.9,CRD,28.5 +CMT,1,1,444,0.7,CSH,6.0 +CMT,1,1,533,4.4,CRD,14.0 +CMT,1,1,713,2.3,CRD,11.0 +CMT,1,1,269,0.9,CRD,5.5 +CMT,1,1,263,0.5,CSH,4.5 +CMT,1,1,853,2.6,CRD,12.0 +CMT,1,1,561,0.7,CSH,7.5 +CMT,1,1,460,0.9,CSH,6.5 +CMT,1,1,639,1.3,CRD,9.0 +CMT,1,1,398,2.2,CRD,9.0 +CMT,1,1,1142,3.6,CRD,16.0 +CMT,1,1,954,2.0,CSH,11.5 +CMT,1,1,278,0.7,CSH,5.0 +CMT,1,1,474,1.2,CSH,7.0 +CMT,1,1,613,1.4,CRD,8.0 +CMT,1,1,702,1.6,CRD,9.5 +CMT,1,1,248,0.6,CRD,5.0 +CMT,1,1,206,0.7,CSH,5.0 +CMT,1,1,525,3.3,CSH,11.0 +CMT,1,1,309,0.9,CSH,6.0 +CMT,1,1,465,1.5,CSH,7.5 +CMT,1,1,880,1.6,CRD,11.0 +CMT,1,1,1361,3.6,CSH,17.0 +CMT,1,1,1114,5.8,CRD,20.5 +CMT,1,1,639,3.9,CRD,13.0 +VTS,1,5,840,2.07,CSH,11.0 +VTS,1,5,780,2.64,CRD,11.5 +VTS,1,5,720,3.48,CSH,12.5 +VTS,1,5,1080,3.69,CRD,15.0 +VTS,1,5,480,1.45,CSH,7.5 +VTS,1,5,300,1.81,CSH,7.0 +VTS,1,5,240,1.63,CRD,6.5 +VTS,1,5,180,0.3,CRD,4.0 +VTS,1,6,960,5.11,CSH,18.0 +VTS,1,6,480,1.21,CSH,7.5 +VTS,1,6,240,0.57,CSH,4.5 +VTS,1,6,240,0.64,CSH,4.5 +VTS,1,6,360,1.47,CSH,7.0 +VTS,1,2,780,2.14,CRD,10.5 +VTS,1,2,180,0.54,CSH,4.0 +VTS,1,2,240,1.02,CSH,5.0 +VTS,1,2,540,1.64,CRD,8.5 +VTS,1,1,840,3.54,CRD,14.0 +VTS,1,1,360,0.9,CSH,6.0 +VTS,1,1,420,0.57,CRD,5.5 +VTS,1,1,1260,6.42,CSH,22.0 +VTS,1,1,420,1.66,CRD,7.5 +VTS,1,1,780,2.92,CSH,12.0 +VTS,1,1,480,1.2,CSH,7.0 +VTS,1,1,360,2.14,CSH,8.5 +VTS,1,1,300,1.34,CSH,6.5 +CMT,1,1,1081,8.5,CSH,25.0 +CMT,1,1,213,0.5,CSH,4.5 +CMT,1,1,117,0.4,CSH,3.5 +CMT,1,1,677,2.0,CRD,10.0 +CMT,1,1,925,4.4,CRD,16.0 +CMT,1,1,374,0.4,CSH,5.5 +CMT,1,1,699,1.9,CRD,10.0 +CMT,1,1,515,1.4,CSH,8.0 +CMT,1,1,392,1.0,CRD,6.5 +CMT,1,1,425,2.9,CSH,10.0 +CMT,1,1,229,1.0,CSH,5.5 +CMT,1,1,181,0.7,CRD,4.5 +CMT,1,1,448,2.1,CSH,8.5 +CMT,1,1,801,2.9,CRD,12.5 +CMT,1,1,595,2.9,CSH,11.0 +CMT,1,1,136,0.4,CRD,4.0 +CMT,1,1,460,1.5,CSH,8.0 +CMT,1,1,429,2.4,CSH,9.0 +CMT,1,1,133,0.6,CSH,4.0 +CMT,1,1,532,2.1,CSH,9.5 +CMT,1,1,461,0.9,CRD,6.5 +CMT,1,1,181,0.6,CSH,4.5 +CMT,1,1,513,1.9,CSH,8.5 +CMT,1,1,436,1.6,CRD,8.0 +CMT,1,1,865,2.3,CRD,12.0 +CMT,1,1,1763,3.7,CSH,19.5 +CMT,1,1,73,1.6,CSH,3.0 +CMT,1,1,306,0.6,CRD,5.5 +CMT,1,1,481,2.8,CSH,9.5 +CMT,1,1,204,0.5,CRD,4.5 +CMT,1,1,380,1.2,CRD,6.5 +CMT,1,1,253,1.1,CSH,5.5 +CMT,1,1,265,1.9,CRD,7.0 +CMT,1,1,213,0.9,CRD,5.0 +CMT,1,1,300,0.8,CRD,5.5 +CMT,1,1,299,0.5,CSH,5.0 +CMT,1,1,140,0.4,CSH,4.0 +CMT,1,1,1045,2.7,CRD,13.0 +CMT,1,1,309,0.3,CSH,5.0 +CMT,1,1,297,0.9,CSH,6.0 +CMT,1,1,341,0.9,CRD,6.0 +CMT,1,1,980,3.3,CRD,14.5 +CMT,1,1,310,0.8,CSH,5.5 +CMT,1,1,1011,3.9,CRD,15.0 +CMT,1,1,187,0.6,CSH,4.0 +CMT,1,1,405,1.8,CRD,8.0 +CMT,1,1,693,2.1,CSH,10.5 +CMT,1,1,1018,9.1,CRD,26.0 +CMT,1,1,393,1.4,CRD,7.5 +CMT,1,1,617,2.1,CSH,10.0 +CMT,1,1,367,1.1,CSH,6.5 +CMT,1,1,663,2.9,CSH,12.0 +CMT,1,1,298,0.6,CSH,5.0 +CMT,1,1,229,0.5,CRD,4.5 +CMT,1,1,228,0.7,CSH,5.0 +CMT,1,1,360,0.9,CRD,6.5 +CMT,1,1,269,0.7,CRD,5.0 +CMT,1,1,1264,4.1,CRD,18.0 +CMT,1,1,432,1.0,CSH,7.0 +CMT,1,1,853,1.7,CSH,10.5 +CMT,1,1,556,1.5,CRD,8.5 +CMT,1,1,823,5.2,CSH,17.5 +CMT,1,1,152,1.0,CRD,5.0 +CMT,1,1,232,0.8,CSH,5.0 +CMT,1,1,428,1.3,CSH,7.5 +CMT,1,1,126,0.3,CSH,3.5 +CMT,1,1,2051,6.9,CSH,28.0 +CMT,1,1,420,1.5,CSH,7.5 +CMT,1,1,326,1.1,CSH,6.0 +CMT,1,1,657,3.5,CSH,12.5 +CMT,1,1,377,0.9,CRD,6.0 +CMT,1,1,314,1.1,CSH,6.0 +CMT,1,1,551,2.7,CRD,11.0 +CMT,1,1,544,2.0,CSH,9.0 +CMT,1,1,1483,3.8,CRD,18.5 +CMT,1,1,1241,1.9,CRD,13.5 +CMT,1,1,709,2.0,CSH,10.5 +CMT,1,1,795,2.6,CSH,11.5 +CMT,1,1,144,0.6,CSH,4.0 +CMT,1,1,913,3.2,CRD,13.5 +CMT,1,1,459,1.7,CSH,8.0 +CMT,1,1,214,0.9,CRD,5.0 +CMT,1,1,706,1.2,CRD,9.0 +CMT,1,1,658,2.0,CSH,9.5 +CMT,1,1,368,1.3,CRD,6.5 +CMT,1,1,379,1.2,CRD,6.5 +CMT,1,1,146,0.6,CSH,4.0 +CMT,1,1,403,1.6,CSH,7.5 +CMT,1,1,624,1.3,CSH,8.5 +CMT,1,1,703,1.8,CRD,10.0 +CMT,1,1,515,1.7,CRD,8.0 +CMT,1,1,540,1.7,CSH,8.5 +CMT,1,1,1336,6.3,CRD,21.5 +CMT,1,1,148,0.2,CRD,3.5 +CMT,1,1,253,0.6,CSH,5.0 +CMT,1,1,1018,3.0,CSH,13.5 +CMT,1,1,637,1.5,CRD,9.0 +CMT,2,1,1454,19.0,CSH,52.0 +CMT,1,1,311,1.0,CSH,6.0 +CMT,1,1,360,0.7,CRD,6.0 +CMT,1,1,178,0.5,CSH,4.5 +CMT,1,1,197,0.4,CRD,4.5 +CMT,1,1,629,1.2,CRD,8.5 +CMT,1,1,294,2.0,CSH,7.5 +CMT,1,1,214,0.5,CRD,4.5 +CMT,1,1,339,0.8,CSH,5.5 +CMT,1,1,539,1.6,CRD,8.5 +CMT,1,1,621,1.2,CRD,8.5 +CMT,1,1,385,1.6,CSH,7.0 +CMT,1,1,453,1.0,CRD,7.0 +CMT,1,1,879,7.6,CRD,23.0 +CMT,1,1,72,0.3,CSH,3.0 +CMT,1,1,766,3.4,CRD,13.0 +CMT,1,1,348,0.9,CRD,6.0 +CMT,1,1,1585,11.7,CRD,34.0 +CMT,1,1,871,4.2,CRD,16.0 +CMT,1,1,78,0.4,CSH,3.5 +CMT,1,1,224,0.6,CRD,4.5 +CMT,1,1,566,1.7,CSH,9.0 +CMT,1,1,205,0.4,CRD,4.5 +CMT,1,1,554,0.4,CRD,7.0 +CMT,1,1,437,2.1,CRD,8.5 +CMT,1,1,582,2.3,CRD,10.0 +CMT,1,1,367,0.3,CSH,5.5 +CMT,1,1,481,1.4,CRD,8.0 +CMT,1,1,828,2.5,CSH,11.5 +CMT,1,1,347,1.0,CRD,6.0 +CMT,2,2,1996,20.7,CRD,52.0 +CMT,1,1,210,0.8,CSH,5.0 +CMT,1,1,727,2.7,CRD,11.5 +CMT,1,1,187,0.7,CSH,4.5 +CMT,1,1,592,0.5,CSH,7.5 +CMT,1,1,1017,2.3,CRD,12.5 +CMT,1,1,274,0.8,CSH,5.0 +CMT,1,1,624,2.0,CSH,9.5 +CMT,1,1,521,2.0,CSH,9.0 +CMT,1,1,228,0.9,CSH,5.0 +CMT,1,1,543,1.1,CRD,7.5 +CMT,1,1,217,0.6,CSH,4.5 +CMT,1,1,262,0.8,CRD,5.5 +CMT,1,1,689,2.2,CRD,10.5 +CMT,1,1,416,1.5,CRD,7.0 +CMT,1,1,624,1.2,CSH,8.0 +CMT,1,1,624,2.9,CRD,11.0 +CMT,1,1,334,1.2,CRD,6.5 +CMT,1,1,394,0.9,CSH,6.0 +CMT,1,1,296,1.3,CRD,6.5 +CMT,1,1,5686,23.0,CSH,83.5 +CMT,1,1,970,8.3,CSH,23.5 +CMT,1,1,268,1.7,CSH,7.0 +CMT,1,1,271,0.5,CSH,5.0 +CMT,1,1,491,1.5,CSH,8.0 +CMT,1,1,786,2.3,CRD,11.5 +CMT,1,1,810,2.7,CSH,12.0 +CMT,1,1,254,0.9,CRD,5.0 +CMT,1,1,633,1.7,CRD,9.0 +CMT,1,1,977,4.9,CRD,16.5 +CMT,1,1,670,1.9,CRD,10.0 +CMT,1,2,822,8.6,CRD,25.0 +CMT,1,1,662,2.1,CRD,9.5 +CMT,1,1,99,0.2,CSH,3.5 +CMT,1,1,298,0.6,CRD,5.0 +CMT,1,1,1199,2.5,CRD,14.0 +CMT,1,1,1195,3.6,CRD,16.0 +CMT,1,1,1410,5.7,CSH,20.5 +CMT,1,1,180,0.4,CRD,4.0 +CMT,1,1,690,2.8,CRD,11.5 +CMT,1,1,546,2.8,CSH,10.5 +CMT,1,1,486,1.2,CSH,7.5 +CMT,1,1,631,1.7,CRD,9.5 +CMT,1,1,233,0.3,CSH,4.0 +CMT,1,1,345,0.5,CSH,5.5 +CMT,1,1,701,2.0,CSH,10.0 +CMT,1,1,856,2.5,CRD,12.0 +CMT,1,1,683,2.8,CSH,12.0 +CMT,1,1,675,3.5,CSH,12.5 +CMT,1,1,447,2.9,CRD,10.0 +CMT,1,1,825,2.5,CRD,11.5 +CMT,1,1,1115,1.7,CRD,12.5 +CMT,1,1,245,0.7,CRD,5.0 +CMT,1,1,209,1.1,CSH,5.5 +CMT,1,1,336,0.7,CSH,5.5 +CMT,1,1,330,1.0,CSH,6.0 +CMT,1,1,480,1.1,CSH,7.5 +CMT,1,1,548,2.6,CSH,10.0 +CMT,1,1,672,3.1,CSH,11.5 +CMT,1,1,1425,4.8,CRD,19.0 +CMT,1,1,105,0.3,CRD,3.5 +CMT,1,1,975,2.7,CRD,13.0 +CMT,1,1,660,2.0,CRD,10.0 +CMT,1,1,608,2.7,CSH,11.5 +CMT,1,1,262,1.0,CRD,6.0 +CMT,1,1,172,1.0,CSH,5.0 +CMT,1,1,337,0.9,CSH,6.0 +CMT,1,1,345,1.3,CSH,6.5 +CMT,1,1,465,1.5,CSH,7.5 +CMT,1,1,467,1.2,CSH,7.0 +CMT,1,1,914,2.9,CRD,13.5 +CMT,1,1,1426,4.2,CRD,18.0 +CMT,1,1,1430,2.9,CRD,16.5 +CMT,1,1,171,0.7,CRD,4.5 +CMT,1,1,212,0.6,CSH,4.5 +CMT,1,1,222,0.7,CSH,5.0 +CMT,1,1,1020,2.8,CRD,14.0 +CMT,1,1,294,0.6,CSH,5.5 +CMT,1,1,864,1.6,CSH,11.0 +CMT,1,1,371,0.6,CSH,6.0 +CMT,1,1,844,3.0,CRD,12.5 +CMT,1,1,563,1.9,CSH,9.0 +CMT,1,1,526,0.8,CRD,7.0 +CMT,1,1,1335,4.6,CSH,19.5 +CMT,1,1,389,2.2,CSH,8.5 +CMT,1,1,222,0.8,CSH,5.5 +CMT,1,1,820,4.6,CRD,15.5 +CMT,1,1,556,1.3,CRD,8.0 +CMT,1,1,647,3.7,CSH,13.5 +CMT,1,1,548,1.3,CSH,8.5 +CMT,1,1,334,0.9,CRD,6.0 +CMT,1,1,824,4.5,CRD,16.0 +CMT,1,1,613,2.0,CRD,10.0 +CMT,1,1,262,0.6,CSH,5.0 +CMT,1,1,407,1.8,CRD,8.0 +CMT,1,1,360,0.8,CRD,6.0 +CMT,1,1,323,1.0,CSH,6.0 +CMT,1,1,1137,2.6,CRD,14.0 +CMT,1,1,346,1.1,CRD,6.5 +CMT,1,1,106,0.5,CSH,4.0 +CMT,1,1,178,1.0,CSH,5.0 +CMT,1,1,261,1.1,CSH,5.5 +CMT,1,1,1106,3.3,CRD,15.0 +CMT,1,1,305,1.7,CSH,7.5 +CMT,1,1,331,0.3,CSH,5.0 +CMT,1,1,671,1.0,CSH,8.5 +CMT,1,1,770,2.3,CRD,10.5 +CMT,1,1,667,2.4,CRD,10.0 +CMT,1,1,330,0.7,CSH,6.0 +CMT,1,1,368,1.7,CSH,7.5 +CMT,1,1,1338,8.2,CRD,27.0 +CMT,1,1,976,3.0,CRD,14.0 +CMT,1,1,190,0.6,CRD,4.5 +CMT,1,1,985,2.5,CRD,12.5 +CMT,1,1,382,0.9,CSH,6.5 +CMT,1,1,221,1.5,CRD,6.5 +CMT,1,2,1623,7.1,CSH,25.5 +CMT,1,2,226,0.9,CSH,5.0 +CMT,1,1,750,3.2,CSH,12.5 +CMT,1,2,1118,4.9,CSH,18.5 +CMT,1,2,815,2.0,CRD,11.0 +CMT,1,2,720,1.7,CSH,9.5 +CMT,1,2,604,2.3,CSH,10.5 +CMT,1,2,159,0.5,CRD,4.0 +CMT,1,2,656,1.8,CSH,10.0 +CMT,1,1,727,2.8,CSH,11.5 +CMT,1,1,438,2.7,CSH,9.5 +CMT,1,1,634,2.4,CSH,10.5 +CMT,1,2,1441,12.2,CRD,34.5 +CMT,1,1,213,0.8,CSH,5.0 +CMT,1,1,212,1.2,CSH,5.5 +CMT,1,1,512,1.8,CRD,8.5 +CMT,1,1,296,0.8,CRD,5.5 +CMT,1,1,482,1.1,CRD,7.5 +CMT,1,1,553,1.7,CRD,8.5 +CMT,1,1,602,1.0,CRD,8.0 +CMT,1,1,269,0.6,CSH,5.0 +CMT,1,1,204,0.4,CSH,4.0 +CMT,1,1,355,0.9,CSH,6.0 +CMT,1,1,622,1.3,CSH,8.5 +CMT,1,1,513,1.3,CRD,7.5 +CMT,1,1,257,0.5,CRD,4.5 +CMT,1,1,587,1.6,CRD,8.5 +CMT,1,1,1369,5.9,CSH,23.0 +CMT,1,1,1624,2.1,CRD,16.5 +CMT,1,1,910,2.5,CSH,12.0 +CMT,1,1,250,1.4,CSH,6.0 +CMT,1,1,64,0.3,CSH,3.0 +CMT,1,1,220,0.7,CSH,4.5 +CMT,1,1,721,2.2,CSH,10.5 +CMT,1,1,1187,2.9,CSH,15.0 +CMT,1,1,661,1.2,CSH,9.0 +CMT,1,1,1088,3.0,CRD,14.0 +CMT,1,1,186,0.9,CRD,5.0 +CMT,1,1,698,2.8,CSH,11.5 +CMT,1,1,1104,1.5,CRD,12.5 +CMT,1,1,1233,3.2,CSH,15.5 +CMT,1,1,696,1.7,CSH,10.0 +CMT,1,1,831,2.4,CRD,11.5 +CMT,1,1,826,2.4,CSH,11.5 +CMT,1,1,923,2.3,CSH,12.0 +CMT,1,1,329,1.1,CRD,6.0 +CMT,1,1,318,1.3,CRD,6.5 +CMT,1,1,1169,3.8,CRD,16.0 +CMT,1,1,1258,4.1,CRD,17.0 +CMT,1,1,202,0.4,CRD,4.5 +CMT,1,1,994,3.6,CSH,15.0 +CMT,1,1,318,1.0,CRD,6.0 +CMT,1,1,387,0.9,CRD,6.0 +CMT,1,1,657,1.7,CRD,9.5 +CMT,1,1,414,1.8,CRD,8.0 +CMT,1,1,349,0.8,CSH,6.0 +CMT,1,1,640,2.7,CRD,10.5 +CMT,1,1,185,0.8,CSH,5.0 +CMT,1,1,490,2.0,CSH,9.0 +CMT,1,1,210,0.5,CRD,4.5 +CMT,1,1,1081,1.9,CRD,13.0 +CMT,1,1,1220,5.2,CSH,20.0 +CMT,1,1,1176,5.4,CRD,19.5 +CMT,2,1,2423,18.8,CSH,52.0 +CMT,1,1,679,1.6,CRD,9.5 +CMT,1,1,915,2.0,CRD,11.5 +CMT,1,1,590,2.2,CSH,9.5 +CMT,1,1,544,1.2,CRD,7.5 +CMT,1,1,327,1.1,CRD,6.0 +CMT,1,1,386,0.6,CSH,5.5 +CMT,1,1,417,1.2,CSH,7.0 +CMT,1,1,409,1.7,CRD,8.0 +CMT,1,2,552,1.2,CSH,8.0 +CMT,1,2,104,0.2,CSH,3.5 +CMT,1,1,1676,5.2,CSH,21.5 +CMT,1,1,621,1.3,CRD,8.5 +CMT,2,2,3235,20.7,CRD,52.0 +CMT,1,2,1003,3.4,CRD,14.5 +CMT,1,1,371,1.0,CRD,6.0 +CMT,1,1,751,3.2,CRD,12.5 +CMT,1,1,541,1.0,CSH,7.5 +CMT,1,1,440,1.4,CSH,7.5 +CMT,1,1,1614,6.7,CSH,25.0 +CMT,1,1,814,1.7,CRD,10.5 +CMT,1,1,1278,3.5,CRD,16.5 +CMT,1,2,552,3.3,CSH,11.5 +CMT,1,1,799,2.6,CSH,12.0 +CMT,1,1,163,0.5,CRD,4.0 +CMT,1,1,276,1.8,CRD,7.5 +CMT,1,1,782,2.4,CSH,11.0 +CMT,1,1,493,1.2,CSH,7.5 +CMT,1,1,263,1.0,CSH,5.5 +CMT,1,1,519,2.6,CRD,9.5 +CMT,1,1,716,2.1,CRD,10.0 +CMT,1,1,553,1.1,CRD,8.0 +CMT,1,1,754,3.3,CRD,13.0 +CMT,1,1,325,0.6,CSH,5.5 +CMT,1,1,335,0.5,CSH,5.0 +CMT,1,1,330,0.8,CSH,5.5 +CMT,1,1,328,0.7,CSH,5.5 +CMT,1,1,1096,2.7,CSH,13.5 +CMT,1,1,216,0.7,CSH,4.5 +CMT,1,1,698,2.4,CRD,10.5 +CMT,1,1,908,1.4,CSH,10.5 +CMT,1,1,1299,2.5,CRD,15.0 +CMT,1,1,832,4.5,CRD,15.5 +CMT,1,1,1630,7.8,CRD,27.5 +CMT,1,1,462,1.1,CSH,7.0 +CMT,1,1,561,0.9,CSH,7.5 +CMT,1,1,439,0.6,CRD,6.5 +CMT,1,1,944,2.1,CSH,11.5 +CMT,1,1,1240,3.7,CRD,16.5 +CMT,1,1,1065,2.4,CSH,13.0 +CMT,1,1,368,2.0,CRD,8.5 +CMT,1,1,245,0.9,CRD,5.5 +CMT,1,1,412,1.2,CRD,7.0 +CMT,1,1,417,1.8,CSH,8.5 +CMT,1,1,410,1.3,CSH,7.0 +CMT,1,1,460,1.2,CSH,7.5 +CMT,1,1,623,1.6,CSH,8.5 +CMT,1,1,371,1.1,CSH,6.5 +CMT,1,1,407,2.4,CSH,9.5 +CMT,1,1,566,2.0,CSH,9.5 +CMT,1,1,686,7.5,CRD,21.5 +CMT,1,1,591,1.3,CRD,8.5 +CMT,1,1,708,1.6,CSH,9.5 +CMT,1,1,647,1.6,CRD,9.0 +CMT,1,1,1597,3.2,CSH,18.5 +CMT,1,1,857,2.2,CRD,12.0 +CMT,1,1,429,1.4,CRD,7.0 +CMT,1,1,487,1.2,CSH,7.5 +CMT,1,1,246,0.6,CSH,4.5 +CMT,1,1,778,1.9,CRD,10.5 +CMT,1,1,144,0.8,CSH,4.5 +CMT,1,1,382,1.9,CSH,8.0 +CMT,1,1,423,0.7,CSH,6.0 +CMT,1,1,589,1.0,CSH,8.0 +CMT,1,1,528,2.1,CSH,9.0 +CMT,1,1,1035,2.8,CRD,13.5 +CMT,1,1,1374,4.3,CSH,18.5 +CMT,1,1,474,1.1,CSH,7.0 +CMT,1,1,427,1.8,CSH,8.0 +CMT,1,1,280,1.1,CSH,5.5 +CMT,1,1,480,1.6,CRD,8.0 +CMT,1,1,1001,2.9,CRD,13.5 +CMT,1,1,348,1.1,CSH,6.5 +CMT,1,1,300,1.0,CSH,6.0 +VTS,1,1,1380,3.08,CSH,16.5 +VTS,1,1,780,2.38,CSH,10.5 +VTS,1,2,1860,2.89,CRD,19.5 +VTS,1,3,540,0.78,CRD,7.0 +VTS,1,3,600,0.93,CSH,8.0 +VTS,1,1,1200,3.07,CRD,14.5 +VTS,1,1,420,1.8,CRD,7.5 +VTS,1,1,840,4.3,CRD,14.5 +VTS,1,1,600,1.49,CSH,8.0 +VTS,1,1,240,0.49,CRD,5.0 +CMT,1,3,95,0.2,CSH,3.5 +CMT,1,3,723,3.7,CSH,13.5 +CMT,1,1,1247,2.1,CRD,13.5 +CMT,1,2,860,2.7,CRD,12.0 +CMT,1,1,791,1.5,CRD,9.5 +CMT,1,1,1184,6.4,CRD,21.0 +CMT,1,1,502,1.8,CRD,8.0 +CMT,1,1,1116,5.5,CSH,19.0 +CMT,1,1,142,0.8,CSH,4.5 +CMT,1,1,495,1.8,CRD,8.5 +CMT,1,1,205,1.5,CSH,6.5 +CMT,1,1,747,1.4,CSH,9.5 +CMT,1,1,355,1.0,CSH,6.0 +CMT,1,1,890,8.6,CRD,25.0 +CMT,1,1,172,0.5,CRD,4.0 +CMT,1,1,250,0.6,CRD,5.0 +CMT,1,1,231,0.9,CRD,5.5 +CMT,1,1,564,4.1,CRD,14.0 +CMT,1,1,948,9.1,CSH,25.5 +CMT,1,1,99,2.2,CSH,3.0 +CMT,1,1,502,1.0,CRD,7.5 +CMT,1,1,619,1.5,CRD,9.0 +CMT,1,1,267,1.1,CSH,6.0 +CMT,1,1,642,2.4,CSH,10.5 +CMT,1,1,833,2.5,CRD,12.0 +CMT,1,1,856,2.5,CSH,11.5 +CMT,1,1,485,1.8,CRD,8.0 +CMT,1,1,656,1.5,CRD,9.0 +CMT,1,1,1724,5.4,CRD,22.5 +CMT,1,1,274,1.1,CSH,6.0 +CMT,1,1,690,2.2,CSH,10.5 +CMT,1,1,698,1.0,CRD,8.5 +CMT,1,1,355,1.2,CSH,6.5 +CMT,1,1,375,0.3,CSH,5.5 +CMT,1,1,578,1.9,CSH,9.0 +CMT,1,1,416,1.6,CRD,7.5 +CMT,1,1,370,1.5,CRD,7.0 +CMT,1,1,245,0.5,CSH,4.5 +CMT,1,1,746,1.6,CRD,9.5 +CMT,1,1,181,0.4,CSH,4.0 +CMT,1,1,192,0.7,CSH,5.0 +CMT,1,1,141,0.8,CSH,4.5 +CMT,1,1,367,1.9,CRD,7.5 +CMT,1,1,1032,2.6,CSH,13.5 +CMT,1,1,523,1.6,CSH,8.5 +CMT,1,1,785,3.1,CSH,12.5 +CMT,1,1,710,2.6,CSH,12.0 +CMT,1,1,225,1.2,CRD,5.5 +CMT,1,1,347,1.5,CRD,7.0 +CMT,1,1,225,0.6,CRD,4.5 +CMT,1,1,739,2.1,CRD,10.5 +CMT,1,1,192,0.7,CRD,4.5 +CMT,1,1,497,1.3,CRD,7.5 +CMT,1,1,471,0.4,CRD,6.5 +CMT,1,1,589,0.8,CRD,7.5 +CMT,1,1,391,1.3,CSH,7.0 +CMT,1,1,927,2.6,CSH,12.5 +CMT,1,1,1448,2.4,CSH,15.5 +CMT,2,2,1773,19.8,CSH,52.0 +CMT,1,1,727,3.5,CRD,13.0 +CMT,1,1,320,1.5,CSH,6.5 +CMT,1,1,452,1.4,CSH,7.5 +CMT,1,1,309,1.2,CSH,6.5 +CMT,1,1,590,0.9,CRD,8.0 +CMT,1,1,719,2.4,CSH,11.5 +CMT,1,1,311,0.8,CSH,5.5 +CMT,1,1,323,1.3,CSH,6.5 +CMT,1,1,1116,1.6,CRD,12.5 +CMT,1,1,372,1.7,CSH,8.0 +CMT,1,1,658,1.8,CRD,9.5 +CMT,1,1,737,1.3,CRD,9.5 +CMT,1,1,439,1.0,CRD,6.5 +CMT,1,1,985,2.5,CSH,13.0 +CMT,1,1,1282,4.6,CRD,19.0 +CMT,1,1,358,0.7,CSH,6.0 +CMT,1,1,411,1.6,CRD,7.5 +CMT,1,1,572,2.1,CRD,10.0 +CMT,1,1,134,0.6,CRD,4.0 +CMT,5,5,25,0.6,CRD,5.0 +CMT,1,3,344,1.1,CSH,6.5 +CMT,1,1,382,1.6,CSH,7.5 +CMT,1,1,94,0.4,CSH,3.5 +CMT,1,1,231,0.7,CSH,5.0 +CMT,1,1,369,0.9,CRD,6.0 +CMT,1,1,1009,1.8,CSH,11.5 +CMT,1,2,282,0.7,CSH,5.0 +CMT,1,2,758,4.3,CSH,14.5 +CMT,1,1,613,2.1,CSH,10.0 +CMT,1,1,695,2.2,CRD,10.0 +CMT,1,1,1696,7.8,CRD,27.0 +CMT,1,1,769,1.4,CRD,9.5 +CMT,1,1,1785,1.9,CRD,18.0 +CMT,1,1,377,0.8,CSH,6.0 +CMT,1,1,1080,1.8,CSH,12.0 +CMT,1,1,83,0.4,CRD,3.5 +CMT,1,1,421,2.3,CRD,8.5 +CMT,1,1,1277,5.1,CRD,19.0 +CMT,1,2,852,2.5,CRD,12.0 +CMT,1,1,1097,7.2,CRD,22.0 +CMT,1,1,98,0.6,CSH,4.0 +CMT,1,1,729,2.4,CRD,11.0 +CMT,1,2,789,2.1,CRD,11.0 +CMT,1,1,423,1.2,CSH,7.0 +CMT,2,1,2306,18.1,CRD,52.0 +CMT,1,2,238,0.6,CSH,5.0 +CMT,1,1,1503,5.4,CSH,21.5 +CMT,1,1,317,0.8,CRD,5.5 +CMT,1,1,263,1.4,CRD,6.5 +CMT,1,1,984,4.6,CRD,16.5 +CMT,1,1,534,1.9,CRD,9.0 +CMT,1,1,495,1.4,CRD,7.5 +CMT,1,1,183,0.6,CSH,4.0 +CMT,1,1,588,0.9,CSH,7.5 +CMT,1,1,12,2.1,CSH,2.5 +CMT,1,2,495,1.8,CSH,8.0 +CMT,1,3,570,2.2,CSH,10.0 +CMT,1,2,337,1.0,CRD,6.0 +CMT,1,4,359,1.3,CSH,6.5 +CMT,1,2,545,2.3,CSH,9.5 +CMT,1,3,718,1.5,CSH,9.5 +CMT,1,1,862,2.3,CSH,11.5 +CMT,1,1,637,1.8,CRD,9.5 +CMT,1,1,386,1.5,CRD,7.5 +CMT,1,1,1040,3.5,CSH,14.0 +CMT,1,1,316,0.7,CRD,5.5 +CMT,1,2,170,0.6,CSH,4.5 +CMT,1,1,1642,4.5,CRD,20.0 +CMT,1,1,6,0.0,NOC,2.5 +CMT,1,1,632,1.4,CRD,8.5 +CMT,1,2,1186,2.2,NOC,14.0 +CMT,1,3,379,1.0,CSH,6.0 +CMT,1,1,476,2.8,CRD,10.0 +CMT,1,1,673,2.0,CRD,10.5 +CMT,1,2,507,1.2,CRD,7.5 +CMT,1,1,1459,8.9,CRD,29.0 +CMT,1,2,95,0.2,CRD,3.0 +CMT,1,2,1338,6.3,CRD,22.0 +CMT,1,1,293,0.8,CSH,5.5 +CMT,1,4,580,2.1,CRD,9.0 +CMT,1,1,750,2.9,CRD,11.5 +CMT,1,1,492,1.5,CRD,8.0 +CMT,1,1,471,0.6,CSH,6.5 +CMT,1,2,322,1.0,CRD,6.0 +CMT,1,1,541,1.8,CSH,8.5 +CMT,1,1,342,1.3,CRD,6.5 +CMT,1,2,1372,4.4,CSH,19.0 +CMT,1,1,843,3.7,CRD,14.5 +CMT,1,1,1444,7.0,CSH,24.5 +CMT,1,1,123,0.7,CSH,4.5 +CMT,1,3,484,1.8,CRD,8.5 +CMT,1,1,1051,2.4,CRD,13.5 +CMT,1,1,787,2.5,CRD,11.0 +CMT,1,1,1681,2.8,CRD,18.5 +CMT,1,1,372,0.8,CSH,6.0 +CMT,1,2,282,0.9,CRD,5.5 +CMT,1,2,505,1.2,CSH,7.5 +CMT,1,1,1190,3.7,CSH,16.5 +CMT,1,1,1472,10.0,CSH,30.0 +CMT,1,1,370,1.4,CRD,7.0 +CMT,1,1,1218,3.2,CSH,15.5 +CMT,1,1,311,0.6,CSH,5.5 +CMT,1,1,293,1.0,CSH,6.0 +CMT,1,1,317,0.7,CSH,5.5 +CMT,1,1,1506,10.0,CRD,30.0 +CMT,1,1,2475,8.6,CRD,34.5 +CMT,1,1,546,2.1,CSH,9.0 +CMT,1,2,1382,5.3,CRD,20.5 +CMT,1,1,695,2.6,CRD,11.0 +CMT,1,1,527,1.4,CSH,8.0 +CMT,1,1,420,1.4,CSH,7.5 +CMT,1,1,194,0.4,CSH,4.0 +CMT,1,1,590,3.9,CSH,12.5 +CMT,1,1,1002,9.1,CRD,26.0 +CMT,1,1,294,0.5,CSH,5.0 +CMT,1,3,636,1.5,CRD,9.0 +CMT,1,2,507,1.1,CSH,7.0 +CMT,1,1,1400,2.1,CRD,15.5 +CMT,1,1,502,1.7,CRD,9.0 +CMT,1,2,1452,6.3,CSH,22.0 +CMT,1,1,339,1.1,CSH,6.0 +CMT,1,2,1318,5.5,CRD,20.0 +CMT,1,1,1710,9.3,CRD,30.5 +CMT,1,3,453,0.9,CSH,6.5 +CMT,1,2,610,1.2,CSH,8.0 +CMT,1,3,193,0.5,CRD,4.5 +CMT,1,1,492,2.0,CRD,9.0 +CMT,1,3,111,0.6,CSH,4.0 +CMT,1,1,571,1.2,CSH,7.5 +CMT,1,1,903,1.8,CRD,11.5 +CMT,1,1,824,2.7,CRD,12.5 +CMT,1,1,170,1.2,CSH,5.5 +CMT,1,1,177,1.0,CSH,5.0 +CMT,1,2,609,2.6,CRD,10.5 +CMT,1,1,663,1.9,CRD,9.5 +CMT,1,1,245,2.5,CSH,9.0 +CMT,1,1,186,1.0,CRD,5.0 +CMT,1,2,789,1.6,CRD,10.0 +CMT,1,1,591,1.9,CSH,9.0 +CMT,1,1,447,1.5,CSH,7.5 +CMT,1,1,1281,3.8,CSH,18.0 +CMT,1,2,753,3.0,CSH,12.5 +CMT,1,4,661,2.3,CRD,10.5 +CMT,1,1,266,0.6,CSH,5.0 +CMT,1,1,649,2.9,CRD,11.5 +CMT,1,1,613,2.3,CRD,10.0 +CMT,1,4,1379,5.2,CRD,20.0 +CMT,1,1,455,1.6,CRD,8.0 +CMT,1,1,321,0.9,CSH,6.0 +CMT,1,1,717,2.2,CRD,10.5 +CMT,1,1,478,3.6,CRD,12.0 +CMT,1,1,379,1.2,CRD,6.5 +CMT,1,1,147,0.3,CRD,4.0 +CMT,1,1,395,2.6,CRD,9.5 +CMT,1,2,225,0.7,CRD,4.5 +CMT,1,1,69,3.3,CSH,3.0 +CMT,1,2,930,3.2,CRD,13.5 +CMT,1,3,286,0.7,CRD,5.0 +CMT,1,1,520,1.0,CSH,7.0 +CMT,1,2,1424,4.7,CRD,19.5 +CMT,1,1,434,1.4,CRD,7.5 +CMT,1,2,254,0.8,CSH,5.0 +CMT,1,1,620,2.3,CRD,10.5 +CMT,1,1,3110,12.0,CRD,40.0 +CMT,1,1,191,0.4,CSH,4.0 +CMT,1,1,504,2.2,CRD,9.5 +CMT,1,2,1040,4.6,CSH,17.0 +CMT,1,1,650,4.4,CSH,14.5 +CMT,1,2,507,1.5,CSH,8.0 +CMT,1,3,135,0.4,CSH,4.0 +CMT,1,1,1341,4.8,CRD,19.5 +CMT,1,2,187,0.7,CSH,4.5 +CMT,1,1,716,2.6,CRD,11.5 +CMT,1,1,862,2.5,CSH,12.5 +CMT,1,1,281,1.0,CRD,5.5 +CMT,1,1,515,2.3,CRD,9.5 +CMT,1,1,223,0.7,CRD,5.0 +CMT,1,1,1101,5.8,CSH,19.0 +CMT,1,1,627,2.7,CRD,11.0 +CMT,1,1,616,2.2,CSH,10.0 +CMT,1,1,1010,1.6,CRD,9.5 +CMT,1,2,739,2.2,CSH,10.5 +CMT,1,2,501,1.4,CRD,7.5 +CMT,1,1,807,2.7,CRD,12.0 +CMT,1,1,378,1.1,CSH,6.5 +CMT,1,3,968,2.6,CRD,12.5 +CMT,1,1,210,0.8,CSH,5.0 +CMT,1,1,1417,12.1,CSH,35.5 +CMT,1,1,676,4.4,CRD,15.0 +CMT,1,2,588,3.0,CSH,11.0 +CMT,1,1,328,0.9,CRD,6.0 +CMT,1,2,241,0.8,CSH,5.0 +CMT,1,2,665,1.6,CSH,9.0 +CMT,1,3,963,3.5,CSH,14.5 +CMT,1,1,578,2.6,CRD,10.5 +CMT,1,1,228,1.8,CRD,7.0 +CMT,1,1,461,1.3,CRD,7.5 +CMT,1,1,431,2.4,CSH,9.0 +CMT,1,1,251,1.4,CRD,6.0 +CMT,1,1,194,0.7,CSH,4.5 +CMT,1,1,661,2.6,CRD,10.5 +CMT,1,1,2118,19.3,CRD,55.0 +CMT,1,3,1126,4.7,CSH,17.0 +CMT,1,2,1064,2.1,CRD,13.0 +CMT,1,1,1398,6.0,CRD,21.0 +CMT,1,4,460,1.0,CSH,7.0 +CMT,1,1,398,1.7,CSH,7.5 +CMT,1,1,206,0.9,CSH,5.0 +CMT,1,1,363,2.4,CRD,8.5 +CMT,1,1,1063,10.0,CSH,29.0 +CMT,1,1,109,0.5,CSH,4.0 +CMT,1,1,302,1.0,CRD,5.5 +CMT,1,3,1131,2.8,CRD,14.5 +CMT,1,1,716,1.9,CSH,10.0 +CMT,1,1,1049,6.0,CRD,20.5 +CMT,1,4,991,3.1,CSH,13.5 +CMT,1,1,261,1.0,CRD,5.5 +CMT,1,2,1002,3.9,CRD,16.0 +CMT,1,2,340,1.1,NOC,6.5 +CMT,1,2,170,0.6,CSH,4.5 +CMT,1,1,301,1.0,CRD,6.0 +CMT,1,2,417,0.7,CRD,6.0 +CMT,1,1,599,2.8,CRD,10.0 +CMT,1,2,1187,8.6,CRD,26.5 +CMT,1,1,1084,3.3,CRD,14.0 +CMT,1,1,580,2.4,CSH,10.0 +CMT,1,1,767,3.0,CRD,12.5 +CMT,1,1,332,2.4,CSH,8.5 +CMT,1,1,298,2.0,CSH,8.0 +CMT,1,1,351,1.2,CSH,6.5 +CMT,1,4,1109,3.2,CRD,14.5 +CMT,1,3,1065,3.3,CSH,14.5 +CMT,1,1,599,2.0,CSH,9.0 +CMT,1,1,145,0.3,CSH,3.5 +CMT,1,1,871,2.1,CSH,11.5 +CMT,1,1,442,1.9,CRD,8.5 +CMT,1,1,667,1.5,CSH,9.0 +CMT,1,1,435,1.5,CSH,7.5 +CMT,1,1,600,3.1,CRD,11.5 +CMT,1,2,1217,16.2,CRD,44.0 +CMT,1,1,1113,5.2,CRD,19.0 +CMT,1,1,1189,5.8,CRD,19.5 +CMT,1,1,1815,10.5,CSH,33.0 +CMT,1,1,896,3.2,CRD,13.5 +CMT,1,1,1106,5.1,CSH,18.5 +CMT,1,1,2877,10.7,CRD,42.0 +CMT,1,1,50,0.3,CSH,3.0 +CMT,1,1,433,1.1,CSH,6.5 +CMT,1,1,943,2.4,CSH,12.5 +CMT,1,1,265,0.5,CRD,5.0 +CMT,1,1,877,1.9,CSH,10.5 +CMT,1,1,372,1.1,CSH,6.5 +CMT,1,1,275,1.1,CSH,6.0 +CMT,1,1,767,6.2,CRD,20.0 +CMT,1,1,690,2.6,CSH,11.0 +CMT,1,1,218,0.1,CSH,4.0 +CMT,1,1,263,1.0,CSH,5.5 +CMT,1,2,774,3.7,CRD,13.0 +CMT,1,1,715,2.3,CRD,11.0 +CMT,1,1,820,4.9,CRD,16.5 +CMT,1,2,178,0.4,CSH,4.0 +CMT,1,1,280,1.1,CRD,6.0 +CMT,1,2,493,1.7,CSH,8.0 +CMT,1,1,158,0.5,CSH,4.0 +CMT,1,1,317,1.6,CSH,7.5 +CMT,1,1,725,2.7,CRD,11.5 +CMT,1,1,1498,9.7,CRD,29.5 +CMT,1,2,1230,4.0,CSH,17.0 +CMT,1,1,612,2.6,CSH,10.5 +CMT,1,3,403,2.4,CSH,9.0 +CMT,1,1,145,0.5,CSH,4.0 +CMT,1,2,456,1.6,CSH,8.0 +CMT,1,1,686,2.4,CRD,11.0 +CMT,1,1,1551,5.5,CRD,22.0 +CMT,1,2,411,1.1,CRD,6.5 +CMT,1,2,904,1.8,CSH,10.5 +CMT,1,1,733,2.5,CRD,11.0 +CMT,1,1,664,2.2,CRD,10.0 +CMT,1,1,619,1.2,CRD,8.0 +CMT,1,1,837,1.5,CSH,10.0 +CMT,1,2,1498,7.2,CSH,24.0 +CMT,1,1,74,0.5,CSH,3.5 +CMT,1,1,666,2.3,CRD,10.5 +CMT,1,2,1436,4.0,CRD,19.0 +CMT,1,1,718,1.9,CSH,10.0 +CMT,1,2,746,1.9,CRD,10.0 +CMT,1,1,652,2.4,CSH,10.5 +CMT,1,3,2049,8.6,CRD,30.5 +CMT,1,1,389,1.7,CRD,8.0 +CMT,1,1,681,2.6,CRD,11.0 +CMT,1,1,381,0.8,CSH,6.0 +CMT,1,1,1007,2.1,CRD,12.5 +CMT,1,2,1024,4.3,CRD,15.5 +CMT,1,3,718,0.9,CRD,8.5 +CMT,1,1,755,1.6,CRD,10.0 +CMT,1,2,787,2.7,CSH,12.0 +CMT,1,2,271,0.9,CRD,5.5 +CMT,1,2,284,0.9,CRD,5.5 +CMT,1,1,453,2.5,CRD,9.0 +CMT,1,1,1212,6.2,CRD,20.5 +CMT,1,2,299,1.2,CRD,6.5 +CMT,1,2,458,1.4,CRD,7.5 +CMT,1,2,518,1.2,CSH,7.5 +CMT,1,1,1101,2.6,CSH,13.5 +CMT,1,1,298,0.8,CRD,5.5 +CMT,1,1,883,3.4,CRD,13.0 +CMT,1,1,299,1.0,CRD,5.5 +CMT,1,2,878,3.5,CSH,13.5 +CMT,1,1,349,0.7,CRD,6.0 +CMT,1,2,257,1.6,CRD,6.5 +CMT,1,1,1047,4.9,CRD,17.0 +CMT,1,4,116,0.5,CSH,4.0 +CMT,1,1,736,3.2,CRD,13.0 +CMT,1,1,731,1.2,CSH,9.0 +CMT,1,1,260,0.4,CRD,4.5 +CMT,1,1,241,1.0,CRD,5.5 +CMT,1,2,592,2.6,CRD,10.5 +CMT,1,3,930,2.8,CRD,13.5 +CMT,1,2,238,0.5,CSH,4.5 +CMT,1,1,542,2.9,CSH,10.5 +CMT,1,1,927,5.5,CRD,17.5 +CMT,1,2,810,4.1,CSH,14.5 +CMT,1,2,297,1.1,CRD,6.0 +CMT,1,1,545,0.7,CSH,7.5 +CMT,1,3,582,1.7,CSH,9.0 +CMT,1,2,1142,3.7,CSH,15.5 +CMT,1,2,1173,3.8,CSH,16.0 +CMT,1,1,290,0.8,CSH,5.5 +CMT,1,1,513,1.3,CRD,8.0 +CMT,1,2,493,2.9,CRD,10.5 +CMT,1,1,280,0.9,CSH,5.5 +CMT,1,1,747,2.7,CSH,12.0 +CMT,1,1,596,2.5,CRD,10.0 +CMT,1,2,292,0.7,CSH,5.0 +CMT,1,2,686,0.9,CRD,9.0 +CMT,1,1,411,2.2,CSH,8.5 +CMT,1,1,269,0.6,CSH,5.0 +CMT,1,1,165,0.5,CRD,4.0 +CMT,1,1,360,1.3,CRD,6.5 +CMT,1,1,499,2.0,CSH,8.5 +CMT,1,1,583,1.7,CRD,8.5 +CMT,1,1,511,2.1,CSH,9.0 +CMT,1,1,88,0.4,CSH,3.5 +CMT,1,2,363,1.3,CRD,6.5 +CMT,1,1,344,1.7,CSH,7.5 +CMT,1,2,448,1.3,CSH,7.5 +CMT,1,3,649,1.7,CRD,9.0 +CMT,1,1,712,1.8,CSH,10.0 +CMT,1,1,243,0.9,DIS,5.0 +CMT,1,1,437,1.6,CRD,8.0 +CMT,1,1,608,1.3,CRD,8.0 +CMT,1,1,1104,3.1,CSH,14.5 +CMT,1,1,860,1.5,CSH,10.5 +CMT,1,1,668,3.8,DIS,13.5 +CMT,1,1,1067,3.8,CRD,15.5 +CMT,1,1,614,1.7,CRD,9.0 +CMT,1,3,612,2.0,CRD,9.5 +CMT,1,1,474,2.1,CSH,8.5 +CMT,2,1,1414,17.8,CRD,52.0 +CMT,1,1,349,1.0,CSH,6.0 +CMT,1,1,326,0.8,CSH,6.0 +CMT,1,1,765,2.9,CRD,12.0 +CMT,1,1,395,1.8,CRD,7.5 +CMT,1,2,727,2.5,CRD,11.0 +CMT,1,1,582,1.6,CRD,8.5 +CMT,1,1,897,3.6,CRD,14.0 +CMT,1,1,499,1.6,CRD,8.0 +CMT,1,1,996,4.5,CRD,16.5 +CMT,1,1,614,1.6,CRD,9.0 +CMT,1,4,569,1.5,CRD,8.5 +CMT,1,1,399,0.8,CRD,6.0 +CMT,1,4,693,2.0,CSH,9.5 +CMT,1,1,709,0.9,CSH,8.5 +CMT,1,1,1000,2.9,CRD,13.5 +CMT,1,2,399,2.2,CSH,8.5 +CMT,1,1,912,5.2,CRD,17.5 +CMT,1,1,1303,6.9,CRD,23.0 +CMT,1,1,350,2.3,CSH,9.0 +CMT,1,2,834,4.2,CRD,15.5 +CMT,1,2,461,1.6,CSH,8.0 +CMT,1,1,1248,8.7,CRD,27.5 +CMT,1,1,376,1.0,CRD,6.0 +CMT,1,1,460,0.4,CSH,6.5 +CMT,1,2,451,1.4,CSH,7.5 +CMT,1,1,1379,6.4,CSH,21.0 +CMT,1,1,1054,4.8,CRD,18.0 +CMT,1,4,2324,13.1,CSH,42.0 +CMT,1,1,496,1.7,CSH,8.0 +CMT,1,1,310,1.2,CRD,6.0 +CMT,1,1,450,1.2,CRD,7.5 +CMT,1,1,726,3.5,CSH,13.0 +CMT,1,2,916,3.2,CSH,13.0 +CMT,1,1,1019,3.4,CRD,14.5 +CMT,1,1,456,1.2,CRD,7.0 +CMT,1,2,330,0.9,CSH,5.5 +CMT,1,2,1299,5.8,CRD,21.0 +CMT,1,1,948,3.3,CSH,13.5 +CMT,1,1,297,0.9,CRD,6.0 +CMT,1,2,283,1.2,CSH,6.0 +CMT,1,3,1149,4.3,CSH,17.5 +CMT,1,1,607,1.9,CRD,9.0 +CMT,1,1,804,1.8,CSH,10.5 +CMT,1,1,478,1.6,CSH,8.0 +CMT,1,1,1003,4.6,CRD,17.0 +CMT,1,2,1082,3.9,CSH,16.0 +CMT,1,2,2448,11.8,CSH,39.5 +CMT,1,2,417,2.2,CRD,9.0 +CMT,1,1,439,1.3,CRD,7.0 +CMT,1,2,990,4.9,CRD,16.5 +CMT,1,1,740,2.8,CRD,11.5 +CMT,1,1,780,3.2,CRD,13.0 +CMT,1,2,1288,3.8,CSH,16.0 +CMT,1,2,1280,4.6,CSH,18.0 +CMT,1,2,1388,4.0,CRD,18.0 +CMT,1,2,342,1.0,CRD,6.5 +CMT,1,1,672,2.8,CRD,11.0 +CMT,1,2,476,1.9,CSH,8.5 +CMT,1,1,327,0.8,CSH,6.0 +CMT,1,4,831,4.6,CSH,16.0 +CMT,1,1,181,1.0,CRD,5.0 +CMT,2,1,1367,15.8,CRD,52.0 +CMT,1,1,416,2.3,CRD,8.5 +CMT,1,1,390,1.4,CRD,7.5 +CMT,1,1,1116,4.6,CRD,17.0 +CMT,1,2,553,2.8,CSH,11.0 +CMT,1,1,1157,10.0,CRD,30.0 +CMT,1,2,300,1.5,CRD,7.0 +CMT,1,1,641,1.4,CRD,8.5 +CMT,1,1,505,1.7,CSH,8.5 +CMT,1,1,773,3.0,CRD,12.0 +CMT,1,2,282,1.3,CRD,6.5 +CMT,1,1,302,1.4,CSH,6.5 +CMT,1,1,121,0.8,CSH,4.5 +CMT,1,2,1042,3.9,CRD,15.5 +CMT,1,1,334,1.1,CSH,6.0 +CMT,1,2,965,3.4,CSH,14.5 +CMT,1,1,1312,8.2,CRD,25.5 +CMT,1,1,149,0.5,CRD,4.0 +CMT,1,1,400,2.4,CSH,9.0 +CMT,1,2,2536,7.6,CRD,30.5 +CMT,1,1,270,0.7,CRD,5.5 +CMT,1,1,1163,7.8,CSH,24.5 +CMT,1,1,1974,5.9,CRD,24.0 +CMT,1,2,533,2.3,CSH,10.0 +CMT,1,1,228,0.6,CSH,5.0 +CMT,1,1,177,0.7,CRD,4.5 +CMT,1,1,516,1.8,CRD,8.5 +CMT,1,1,901,2.8,CSH,12.5 +CMT,1,1,225,0.5,CRD,4.5 +CMT,1,1,803,3.3,CRD,13.5 +CMT,1,2,895,2.6,CRD,12.0 +CMT,1,2,1711,7.7,CSH,26.5 +CMT,1,1,2411,10.5,CRD,37.0 +CMT,1,1,578,2.4,CSH,10.5 +CMT,1,3,522,1.1,CSH,7.5 +CMT,1,1,842,2.7,CRD,12.0 +CMT,1,1,469,1.0,CSH,7.0 +CMT,1,1,322,1.6,CSH,7.0 +CMT,1,3,572,1.8,CRD,9.0 +CMT,1,2,1392,9.0,CRD,28.0 +CMT,1,4,175,0.6,CSH,4.5 +CMT,1,1,695,1.9,CRD,10.0 +CMT,1,1,395,1.5,CSH,7.0 +CMT,1,1,710,1.6,CSH,9.5 +CMT,1,1,564,1.2,CSH,8.0 +CMT,1,1,230,0.4,CRD,4.5 +CMT,1,1,79,0.6,CRD,4.0 +CMT,1,1,257,0.9,CRD,5.0 +CMT,1,1,794,1.5,CRD,10.0 +CMT,1,1,555,2.0,CRD,9.0 +CMT,1,2,507,1.3,CRD,7.5 +CMT,1,4,768,2.5,CRD,11.5 +CMT,1,1,871,1.5,CRD,11.0 +CMT,1,1,193,0.7,CSH,4.5 +CMT,1,1,572,2.2,CRD,9.5 +CMT,1,3,455,1.8,CSH,8.0 +CMT,1,1,1689,12.4,CSH,37.5 +CMT,1,1,1657,9.8,CSH,30.5 +CMT,1,1,414,1.4,CSH,7.0 +CMT,1,1,928,4.5,CSH,15.5 +CMT,1,2,728,3.1,CRD,12.0 +CMT,1,3,774,1.6,CSH,9.5 +CMT,1,1,808,6.7,CRD,20.5 +CMT,1,1,461,1.2,DIS,7.0 +CMT,1,1,818,2.1,CRD,11.0 +CMT,1,3,1053,3.0,CSH,13.5 +CMT,1,1,368,1.8,CRD,7.5 +CMT,1,4,1279,6.0,CRD,20.5 +CMT,1,3,389,1.5,CRD,7.5 +CMT,1,1,312,0.7,CRD,5.5 +CMT,1,1,140,0.3,CRD,3.5 +CMT,1,1,707,4.3,CRD,14.5 +CMT,1,1,360,1.3,CSH,7.0 +CMT,1,1,202,0.5,CSH,4.5 +CMT,1,1,1473,9.9,CRD,29.5 +CMT,1,1,141,0.5,CSH,4.0 +CMT,1,1,688,3.2,CSH,12.0 +CMT,1,1,591,0.9,CSH,7.0 +CMT,1,1,734,2.6,CRD,11.0 +CMT,1,1,694,2.3,CRD,10.5 +CMT,1,1,272,0.6,CSH,5.0 +CMT,1,4,1074,4.7,CSH,18.0 +CMT,1,1,325,0.8,CSH,5.5 +CMT,1,1,758,2.9,CSH,12.5 +CMT,1,1,620,1.4,CRD,9.0 +CMT,1,1,527,2.8,CSH,10.5 +CMT,1,1,996,1.9,CRD,12.0 +CMT,1,1,630,2.5,CSH,11.0 +CMT,1,1,266,1.1,CSH,5.5 +CMT,1,1,1276,4.2,CRD,18.0 +CMT,1,1,237,0.7,CRD,4.5 +CMT,1,2,654,1.6,CSH,9.0 +CMT,1,2,1831,10.1,CRD,32.5 +CMT,1,1,612,1.8,CRD,9.5 +CMT,1,2,698,3.6,CRD,13.5 +CMT,1,1,468,2.0,CRD,8.5 +CMT,1,2,560,2.0,CSH,8.5 +CMT,1,1,531,1.6,CSH,8.5 +CMT,1,1,1204,3.8,CRD,16.0 +CMT,1,1,530,0.7,CSH,7.0 +CMT,1,1,262,1.1,CRD,5.5 +CMT,1,1,311,1.2,CRD,6.0 +CMT,1,3,2253,9.5,CRD,35.5 +CMT,1,2,619,2.4,CRD,9.5 +CMT,1,2,611,1.6,CRD,8.5 +CMT,1,1,1311,3.3,CRD,16.0 +CMT,1,2,295,0.7,CRD,5.5 +CMT,1,2,605,3.0,CRD,10.5 +CMT,1,2,337,1.1,CRD,6.0 +CMT,1,1,374,1.4,CSH,6.5 +CMT,1,2,1890,8.7,CRD,29.5 +CMT,1,1,533,2.6,CSH,11.0 +CMT,1,1,311,1.5,CRD,6.5 +CMT,1,1,138,0.4,CRD,4.0 +CMT,1,1,1092,4.2,CRD,16.5 +CMT,1,2,518,1.8,CRD,8.0 +CMT,1,3,120,0.8,CRD,4.5 +CMT,1,1,309,1.2,CRD,6.5 +CMT,1,2,217,0.5,CRD,4.5 +CMT,1,1,460,1.6,CRD,7.0 +CMT,1,1,225,0.6,CSH,4.5 +CMT,1,2,417,0.8,CSH,6.5 +CMT,1,1,294,1.1,CSH,6.0 +CMT,1,1,245,0.6,CRD,5.0 +CMT,1,1,236,1.1,CRD,6.0 +CMT,1,2,569,1.7,CSH,9.0 +CMT,1,1,401,0.5,CRD,6.0 +CMT,1,1,2131,4.7,CRD,24.5 +CMT,1,1,708,1.3,CRD,9.0 +CMT,1,1,576,2.4,CRD,10.0 +CMT,1,1,959,4.2,CSH,16.0 +CMT,1,1,222,1.0,CSH,5.0 +CMT,1,1,500,2.0,CRD,9.0 +CMT,1,1,677,3.0,CSH,12.0 +CMT,1,1,1021,2.1,CRD,12.5 +CMT,1,2,300,1.1,CRD,6.0 +CMT,1,1,267,0.7,CRD,5.0 +CMT,1,2,653,1.8,CRD,9.0 +CMT,1,3,971,3.9,CRD,15.5 +CMT,1,1,238,0.9,CSH,5.0 +CMT,1,2,277,0.7,CRD,5.5 +CMT,1,1,245,1.3,CSH,6.0 +CMT,1,3,267,1.0,CSH,5.5 +CMT,1,1,407,1.1,CRD,6.5 +CMT,1,1,1001,1.5,CSH,11.5 +CMT,1,1,796,2.3,CRD,11.5 +CMT,1,1,1160,8.7,CRD,26.0 +CMT,1,1,237,0.9,CSH,5.5 +CMT,1,1,469,0.9,CRD,7.0 +CMT,1,1,293,1.1,CRD,6.0 +CMT,1,1,434,1.4,CSH,7.5 +CMT,1,1,710,3.4,CRD,13.5 +CMT,1,2,655,2.1,CRD,10.0 +CMT,1,2,383,1.8,CRD,8.0 +CMT,1,2,605,2.5,CRD,11.0 +CMT,1,3,228,0.8,CRD,5.0 +CMT,1,1,1532,4.4,CRD,20.0 +CMT,1,3,188,0.5,CSH,4.0 +CMT,1,1,791,2.2,CSH,11.0 +CMT,1,1,1022,6.9,CRD,22.5 +CMT,1,1,611,2.8,CRD,10.5 +CMT,1,1,517,2.1,CRD,9.5 +CMT,1,2,899,0.9,CSH,10.0 +CMT,1,1,473,2.5,CRD,10.0 +CMT,1,1,732,1.8,CSH,9.5 +CMT,1,1,373,1.8,CSH,7.5 +CMT,1,1,328,0.8,CRD,5.5 +CMT,1,1,759,1.9,DIS,10.0 +CMT,1,1,872,2.9,CRD,12.5 +CMT,1,1,498,1.2,DIS,7.0 +CMT,1,1,574,1.1,CSH,7.5 +CMT,1,2,1029,4.3,CRD,17.0 +CMT,1,1,686,2.8,CSH,11.5 +CMT,1,1,565,2.1,CRD,10.0 +CMT,1,1,2101,8.6,CRD,33.0 +CMT,1,1,697,1.7,CRD,9.5 +CMT,1,1,458,1.0,CRD,7.0 +CMT,1,1,279,1.3,CRD,6.0 +CMT,1,1,353,1.8,CSH,7.5 +CMT,1,4,1308,8.2,CRD,25.5 +CMT,1,2,275,0.8,CRD,5.5 +CMT,1,1,410,1.2,CSH,6.5 +CMT,1,2,320,1.4,CRD,6.5 +CMT,1,3,534,2.5,CRD,9.5 +CMT,1,3,196,0.4,CSH,4.0 +CMT,1,1,430,1.4,CRD,7.5 +CMT,1,2,318,1.1,CSH,6.5 +CMT,1,1,491,1.9,CRD,8.5 +CMT,1,1,432,1.3,CRD,7.0 +CMT,1,4,634,1.4,CSH,8.5 +CMT,1,1,314,1.0,CRD,6.0 +CMT,1,4,671,2.0,CSH,10.0 +CMT,1,1,524,2.0,CSH,8.5 +CMT,1,1,668,4.0,CSH,13.0 +CMT,1,1,447,1.3,CRD,7.5 +CMT,1,1,242,0.6,CRD,5.0 +CMT,1,1,384,0.8,CRD,6.0 +CMT,1,1,1087,4.9,NOC,18.0 +CMT,1,2,711,2.0,NOC,10.0 +CMT,1,1,271,1.0,CRD,5.5 +CMT,1,1,1071,6.5,CRD,21.5 +CMT,1,1,50,0.3,CSH,3.0 +CMT,1,1,159,0.5,CSH,4.0 +CMT,1,2,715,1.9,CSH,9.5 +CMT,1,1,556,1.6,CRD,8.5 +CMT,1,1,121,0.6,CSH,4.0 +CMT,1,2,765,2.1,CRD,10.5 +CMT,1,2,351,1.3,CRD,7.0 +CMT,1,2,1092,4.8,CRD,17.5 +CMT,1,2,1029,4.2,CRD,17.0 +CMT,1,3,167,1.0,CRD,5.0 +CMT,1,1,901,2.8,CSH,12.5 +CMT,1,1,351,1.1,CSH,6.0 +CMT,1,2,502,1.3,CRD,8.0 +CMT,1,2,715,1.9,CRD,10.5 +CMT,1,2,500,1.3,CRD,8.0 +CMT,1,1,316,0.3,CRD,5.0 +CMT,1,2,351,1.6,CSH,7.0 +CMT,1,4,991,2.5,CSH,13.0 +CMT,1,1,240,1.1,CRD,5.5 +CMT,1,2,1083,1.6,CSH,12.0 +CMT,1,1,875,3.6,CSH,14.0 +CMT,1,1,494,1.5,CSH,8.0 +CMT,1,1,621,2.9,CSH,11.0 +CMT,1,2,581,1.6,CRD,8.5 +CMT,1,1,290,1.6,CRD,6.5 +CMT,1,1,571,2.5,CRD,10.5 +CMT,1,2,934,4.4,CRD,16.0 +CMT,1,2,310,1.3,CRD,6.5 +CMT,1,1,428,1.6,CSH,7.5 +CMT,1,2,672,1.7,CRD,9.0 +CMT,1,3,795,3.8,CRD,14.0 +CMT,1,1,381,1.2,CRD,7.0 +CMT,1,1,321,0.6,CRD,5.5 +CMT,1,1,621,3.1,CRD,12.0 +CMT,1,1,398,1.0,CRD,6.5 +CMT,1,1,563,1.4,CSH,8.0 +CMT,1,1,537,3.4,CRD,11.5 +CMT,1,1,585,2.5,DIS,10.0 +CMT,1,1,1218,6.3,CSH,22.0 +CMT,1,1,807,3.5,CRD,13.5 +CMT,1,3,444,2.4,CRD,9.0 +CMT,1,1,575,1.8,CSH,9.0 +CMT,1,2,261,1.2,CSH,5.5 +CMT,1,1,1139,4.7,CSH,18.5 +CMT,1,1,299,2.0,CRD,7.5 +CMT,1,1,428,1.5,CRD,7.5 +CMT,1,1,401,0.9,CSH,6.0 +CMT,1,1,472,1.9,CRD,8.0 +CMT,1,1,189,0.6,CRD,4.5 +CMT,1,2,99,0.2,CRD,3.5 +CMT,1,1,234,0.9,CRD,5.5 +CMT,1,1,679,1.7,CSH,10.0 +CMT,1,1,288,1.5,CRD,6.5 +CMT,1,1,586,2.1,CRD,10.0 +CMT,1,3,296,0.8,CSH,5.5 +CMT,1,1,169,0.3,CRD,4.0 +CMT,1,2,1589,3.0,CRD,18.0 +CMT,1,1,448,1.0,CSH,7.0 +CMT,1,1,1515,2.4,CSH,16.5 +CMT,1,1,553,1.2,CSH,7.5 +CMT,1,2,538,1.5,CSH,8.0 +CMT,1,1,601,1.9,CRD,9.0 +CMT,1,1,476,1.5,CRD,8.0 +CMT,1,1,1094,10.3,CRD,30.0 +CMT,1,2,1062,2.9,CRD,14.0 +CMT,1,2,1352,3.0,CSH,15.5 +CMT,1,1,313,1.0,CRD,6.0 +CMT,1,1,78,0.3,CRD,3.5 +CMT,1,2,351,1.4,CRD,7.0 +CMT,1,1,618,2.9,CSH,11.0 +CMT,1,1,2016,8.8,CRD,31.0 +CMT,1,1,334,1.0,CRD,6.0 +CMT,1,1,666,2.8,NOC,11.0 +CMT,1,1,1187,3.5,CRD,16.0 +CMT,1,2,452,2.3,CRD,9.5 +CMT,1,2,1653,10.0,DIS,31.5 +CMT,1,1,445,2.4,CSH,9.0 +CMT,1,1,169,0.5,CSH,4.0 +CMT,1,1,398,1.3,CRD,7.0 +CMT,1,2,649,1.8,CSH,9.5 +CMT,2,1,3687,18.6,CRD,52.0 +CMT,1,1,564,1.3,CRD,8.0 +CMT,1,2,186,0.5,CSH,4.5 +CMT,1,1,224,0.6,CSH,4.5 +CMT,1,1,870,1.7,CRD,10.5 +CMT,1,1,660,1.2,CSH,8.5 +CMT,1,1,1229,3.9,CSH,16.5 +CMT,1,1,342,1.4,CSH,7.0 +CMT,1,1,555,0.9,CSH,8.0 +CMT,1,2,540,1.6,CRD,8.5 +CMT,1,1,198,1.0,CRD,5.0 +CMT,1,1,222,1.2,DIS,6.0 +CMT,1,1,183,0.6,CSH,4.5 +CMT,1,1,843,4.9,CRD,16.5 +CMT,1,1,822,3.3,DIS,14.0 +CMT,1,2,1210,5.9,CSH,21.5 +CMT,1,2,1526,4.2,CSH,19.5 +CMT,1,2,1202,3.1,CRD,14.5 +CMT,1,4,557,1.0,CRD,7.5 +CMT,1,3,318,1.5,CRD,6.5 +CMT,1,4,688,3.8,CRD,13.0 +CMT,1,2,1325,7.3,CRD,24.5 +CMT,1,1,1042,5.1,CRD,18.5 +CMT,1,1,907,5.6,CSH,17.5 +CMT,1,1,327,1.0,CRD,6.5 +CMT,1,1,562,1.2,CSH,8.0 +CMT,1,1,588,3.0,CRD,11.0 +CMT,1,1,993,3.6,CSH,15.0 +CMT,1,2,596,1.8,CSH,9.5 +CMT,1,1,785,3.0,CSH,12.0 +CMT,1,1,922,2.1,CRD,11.5 +CMT,1,1,1258,2.6,CRD,15.0 +CMT,1,1,1261,2.6,CSH,14.5 +CMT,1,1,147,0.6,CRD,4.5 +CMT,1,1,896,4.4,CRD,15.0 +CMT,1,1,809,4.4,CRD,15.0 +CMT,1,1,1541,5.4,CRD,22.0 +CMT,1,1,1926,8.5,CRD,29.0 +CMT,1,2,769,2.9,NOC,12.5 +CMT,1,2,239,0.6,CRD,5.0 +CMT,1,1,96,0.5,CRD,3.5 +CMT,1,1,1267,6.3,NOC,21.0 +CMT,1,2,589,3.3,CRD,12.0 +CMT,1,1,373,1.3,CSH,7.0 +CMT,1,1,873,3.1,CSH,13.5 +CMT,1,2,511,1.9,CRD,8.5 +CMT,1,1,361,1.0,CRD,6.0 +CMT,1,3,514,1.1,CRD,7.5 +CMT,1,1,410,0.7,CRD,6.0 +CMT,1,1,163,0.1,CSH,3.5 +CMT,2,1,1562,16.9,CRD,52.0 +CMT,1,1,592,1.9,CRD,9.5 +CMT,1,1,398,0.8,CSH,6.0 +CMT,1,1,689,1.9,CSH,10.0 +CMT,1,1,172,1.1,CRD,5.5 +CMT,1,2,331,0.9,CSH,6.0 +CMT,1,1,942,2.2,CRD,12.0 +CMT,1,1,202,0.2,CSH,4.0 +CMT,1,2,1141,10.2,CRD,29.5 +CMT,1,1,612,1.3,CRD,8.5 +CMT,1,1,423,0.9,CSH,6.5 +CMT,1,1,374,1.3,CRD,7.0 +CMT,1,1,155,0.9,CSH,5.0 +CMT,1,1,446,1.2,CRD,7.0 +CMT,1,1,176,0.7,CSH,4.5 +CMT,1,1,325,1.1,CSH,6.5 +CMT,1,1,271,0.8,CRD,5.5 +CMT,1,1,609,4.5,CSH,14.0 +CMT,1,1,251,0.9,CSH,5.5 +CMT,1,2,1161,9.4,CSH,27.5 +CMT,1,1,428,1.2,CRD,7.0 +CMT,1,2,951,2.5,CSH,13.0 +CMT,1,4,540,1.9,CRD,9.0 +CMT,1,3,404,1.1,CSH,6.5 +CMT,1,1,941,2.0,CSH,12.0 +CMT,1,2,230,0.6,CRD,5.0 +CMT,1,2,338,1.0,CRD,6.5 +CMT,1,2,366,1.3,CSH,7.0 +CMT,1,1,617,2.8,CRD,10.5 +CMT,1,2,1425,10.4,CRD,31.5 +CMT,1,1,641,1.8,CSH,9.5 +CMT,1,2,184,0.7,CRD,4.5 +CMT,1,1,171,0.5,CRD,4.0 +CMT,1,1,460,2.2,CRD,8.5 +CMT,1,1,1107,4.3,CRD,16.5 +CMT,1,4,466,1.3,CSH,7.5 +CMT,1,1,706,5.0,CSH,16.0 +CMT,1,2,1381,4.8,CRD,19.5 +CMT,1,1,1149,3.2,CRD,15.0 +CMT,1,1,453,1.9,CRD,8.5 +CMT,1,1,374,1.4,DIS,7.0 +CMT,1,2,379,1.1,CRD,6.5 +CMT,1,1,1429,10.4,CRD,31.0 +CMT,1,1,1361,10.7,CRD,31.5 +CMT,1,1,225,0.3,CRD,4.5 +CMT,1,1,849,2.8,CRD,12.5 +CMT,1,1,713,3.7,CSH,13.0 +CMT,1,1,680,2.5,CSH,10.5 +CMT,1,1,596,1.1,CRD,7.5 +CMT,1,1,1547,9.5,CSH,29.0 +CMT,1,1,1479,6.9,CSH,23.5 +CMT,1,1,1214,4.1,CRD,17.5 +CMT,1,1,1285,5.1,CRD,19.5 +CMT,1,1,978,7.6,CSH,23.0 +CMT,1,1,476,1.0,CRD,7.0 +CMT,1,1,229,0.9,CRD,5.0 +CMT,1,1,591,2.6,CRD,10.5 +CMT,1,1,827,4.3,CSH,14.5 +CMT,1,4,782,3.5,CRD,13.0 +CMT,1,2,341,1.2,CRD,6.5 +CMT,1,1,876,4.2,CRD,14.5 +CMT,1,1,577,2.2,CRD,9.5 +CMT,1,1,0,0.0,CSH,3.0 +CMT,1,1,853,5.6,CSH,17.5 +CMT,1,1,237,0.6,CRD,4.5 +CMT,1,1,224,0.7,CSH,5.0 +CMT,1,1,909,2.5,CRD,12.5 +CMT,1,1,351,1.9,CRD,7.5 +CMT,1,2,1119,12.6,CRD,35.0 +CMT,1,1,199,1.0,CSH,5.5 +CMT,2,3,1695,18.0,CSH,52.0 +CMT,1,1,1330,13.1,CRD,36.5 +CMT,1,1,286,2.1,CSH,7.5 +CMT,1,1,551,2.0,CRD,9.0 +CMT,1,1,277,0.8,CRD,5.0 +CMT,1,1,476,1.3,CRD,7.5 +CMT,1,1,668,1.3,CRD,9.0 +CMT,1,2,611,1.4,CSH,8.5 +CMT,1,1,487,2.3,CSH,9.0 +CMT,1,1,334,0.7,CRD,5.5 +CMT,1,1,357,0.9,CRD,6.0 +CMT,1,1,271,1.1,CRD,6.0 +CMT,1,1,552,1.7,CRD,8.5 +CMT,1,2,597,2.0,CRD,9.0 +CMT,1,1,1059,5.2,CSH,18.5 +CMT,1,1,1569,4.3,CRD,19.5 +CMT,1,1,598,1.2,CRD,8.0 +CMT,1,1,141,0.9,CSH,4.5 +CMT,1,1,572,3.8,CSH,12.5 +CMT,1,1,635,1.9,CSH,9.5 +CMT,1,1,248,0.4,CSH,4.5 +CMT,1,1,437,0.8,CSH,6.5 +CMT,1,1,1156,1.2,CRD,12.5 +CMT,1,1,380,0.9,CRD,6.0 +CMT,1,2,383,1.6,CRD,8.0 +CMT,1,1,415,1.6,NOC,7.5 +CMT,1,1,589,1.9,CRD,9.5 +CMT,1,1,221,0.9,CSH,5.0 +CMT,1,1,1575,5.7,CRD,22.0 +CMT,1,2,745,2.6,CRD,11.5 +CMT,1,1,817,6.3,CRD,20.0 +CMT,1,2,463,1.5,CRD,8.0 +CMT,1,4,639,4.5,CSH,14.5 +CMT,1,2,712,3.3,CRD,12.5 +CMT,1,1,1002,4.4,CRD,16.0 +CMT,1,1,285,0.9,CRD,5.5 +CMT,1,1,289,0.5,CSH,5.0 +CMT,1,2,607,1.4,CSH,8.5 +CMT,1,1,562,1.5,CRD,8.5 +CMT,1,1,521,1.2,CSH,7.5 +CMT,1,1,261,0.8,CRD,5.5 +CMT,1,1,798,2.6,CSH,11.5 +CMT,1,1,587,1.1,CRD,8.0 +CMT,1,1,860,2.0,CRD,11.5 +CMT,1,1,445,1.6,CRD,7.5 +CMT,1,1,633,1.8,CRD,9.5 +CMT,1,1,364,2.0,CRD,8.0 +CMT,1,1,143,0.8,CSH,4.5 +CMT,1,2,453,1.2,CRD,7.5 +CMT,1,2,661,1.9,CSH,9.5 +CMT,1,1,1647,4.3,CRD,18.5 +CMT,1,2,464,1.7,CRD,7.5 +CMT,1,1,547,1.8,CRD,8.5 +CMT,1,1,503,1.3,DIS,7.5 +CMT,1,1,472,1.1,CRD,7.0 +CMT,1,1,501,1.3,DIS,7.5 +CMT,1,1,298,0.6,DIS,5.5 +CMT,2,1,1633,18.2,CRD,52.0 +CMT,1,2,949,3.1,CSH,13.5 +CMT,1,1,471,3.4,CRD,12.0 +CMT,1,1,711,2.2,CSH,10.5 +CMT,1,1,1424,3.2,CRD,17.5 +CMT,1,1,601,3.0,CSH,11.5 +CMT,1,1,1602,11.6,CRD,34.0 +CMT,1,2,692,2.9,CSH,11.0 +CMT,1,1,989,4.2,CRD,16.0 +CMT,1,3,200,0.5,CSH,4.5 +CMT,1,2,336,1.4,CRD,6.5 +CMT,1,1,202,0.8,CSH,4.5 +CMT,1,2,928,2.5,CRD,12.0 +CMT,1,1,1398,5.6,NOC,21.5 +CMT,1,1,266,1.6,CSH,7.0 +CMT,1,1,1076,3.0,CSH,14.0 +CMT,1,1,369,2.5,CSH,9.0 +CMT,1,2,886,2.1,CRD,11.5 +CMT,1,1,248,0.6,CSH,5.0 +CMT,1,2,631,2.8,CSH,11.5 +CMT,1,2,341,0.7,CRD,5.5 +CMT,1,1,739,1.7,CSH,10.0 +CMT,1,2,291,0.5,CSH,5.0 +CMT,1,1,355,1.1,CRD,6.5 +CMT,1,1,152,0.5,CSH,4.0 +CMT,1,1,823,2.5,CSH,11.5 +CMT,1,2,490,1.5,CRD,8.0 +CMT,1,1,397,1.7,CRD,7.0 +CMT,1,2,664,2.5,CSH,11.0 +CMT,1,1,766,1.2,CSH,9.5 +CMT,1,1,581,1.2,CRD,8.0 +CMT,1,1,710,2.1,CSH,10.0 +CMT,1,1,784,2.2,CSH,10.5 +CMT,1,1,1193,3.3,CRD,15.0 +CMT,1,1,1013,3.3,CRD,14.5 +CMT,1,1,893,2.3,CRD,12.0 +CMT,1,1,1014,3.8,CRD,14.5 +CMT,1,1,759,0.9,CSH,9.5 +CMT,1,2,736,3.4,CSH,12.5 +CMT,1,1,453,0.8,CSH,6.5 +CMT,1,1,531,1.7,CSH,8.5 +CMT,1,2,504,2.3,CRD,9.5 +CMT,1,1,533,3.3,CSH,11.0 +CMT,1,2,246,0.7,CSH,5.0 +CMT,1,2,914,2.4,CSH,12.0 +CMT,1,1,274,1.1,CRD,6.0 +CMT,1,1,379,1.2,CRD,7.0 +CMT,1,1,637,1.2,CSH,8.5 +CMT,1,2,224,0.4,CSH,4.5 +CMT,1,1,599,2.7,CRD,10.5 +CMT,1,1,641,3.2,CSH,12.0 +CMT,1,1,330,0.6,CRD,5.5 +CMT,1,1,1627,10.7,CRD,33.5 +CMT,1,2,405,1.4,CSH,7.0 +CMT,1,1,185,0.4,CSH,4.0 +CMT,1,1,658,1.1,CSH,8.5 +CMT,1,2,426,0.8,CRD,6.0 +CMT,1,1,234,0.3,CSH,4.5 +CMT,1,1,578,1.6,CRD,8.5 +CMT,1,1,333,1.0,CSH,6.0 +CMT,1,1,1186,2.6,CRD,14.5 +CMT,1,1,373,1.5,CSH,7.5 +CMT,1,1,686,3.9,CRD,13.5 +CMT,1,3,929,3.3,CSH,14.0 +CMT,1,1,766,2.3,CRD,10.5 +CMT,1,1,199,0.9,CSH,5.0 +CMT,1,1,789,1.9,CSH,10.0 +CMT,1,1,758,3.3,CRD,12.5 +CMT,2,1,1689,17.5,CRD,52.0 +CMT,1,2,322,1.4,CSH,6.5 +CMT,1,2,872,2.4,CSH,12.0 +CMT,1,1,232,0.9,CRD,5.5 +CMT,1,1,298,1.8,CSH,7.0 +CMT,1,1,293,0.6,CRD,5.0 +CMT,1,1,580,1.2,CSH,8.0 +CMT,1,2,137,0.4,CSH,4.0 +CMT,1,2,592,1.5,CRD,8.5 +CMT,1,2,525,1.1,CSH,7.5 +CMT,1,2,157,0.4,CSH,4.0 +CMT,1,1,213,0.6,CSH,4.5 +CMT,1,1,307,1.1,CRD,6.0 +CMT,1,1,1101,2.5,CRD,13.5 +CMT,1,1,379,1.1,CSH,6.5 +CMT,1,1,1186,2.6,CRD,14.5 +CMT,1,1,410,1.6,CRD,7.5 +CMT,1,2,627,1.2,CRD,8.0 +CMT,1,1,686,2.0,CRD,10.0 +CMT,1,1,547,1.4,CSH,8.0 +CMT,1,1,654,1.5,CRD,9.0 +CMT,1,1,352,0.6,CSH,5.5 +CMT,1,1,627,1.1,CRD,8.0 +CMT,1,1,350,1.6,CRD,7.0 +CMT,1,1,758,7.6,CSH,22.0 +CMT,1,1,777,2.0,CRD,10.5 +CMT,1,2,571,0.6,CRD,7.0 +CMT,1,1,1077,8.6,CRD,25.0 +CMT,1,1,266,1.1,CRD,5.5 +CMT,1,1,997,5.6,CRD,19.5 +CMT,2,1,1601,17.1,CRD,52.0 +CMT,1,2,1302,4.0,CSH,17.0 +CMT,1,1,217,0.4,CSH,4.0 +CMT,1,1,958,2.4,CRD,12.5 +CMT,1,1,641,2.3,CRD,10.5 +CMT,1,1,583,1.1,CRD,8.0 +CMT,1,1,659,2.8,CRD,11.0 +CMT,1,1,815,5.5,CRD,18.0 +CMT,1,1,1349,9.1,CRD,27.5 +CMT,1,1,472,1.2,CSH,7.0 +CMT,1,1,909,3.0,CSH,13.5 +CMT,1,1,266,0.9,CSH,5.5 +CMT,1,1,209,0.4,CSH,4.5 +CMT,1,1,704,1.9,CRD,10.5 +CMT,1,1,164,0.8,CSH,4.5 +CMT,1,1,1437,8.0,CRD,26.0 +CMT,1,1,292,0.7,CSH,5.0 +CMT,1,1,457,0.8,CRD,6.5 +CMT,1,1,289,0.8,CRD,5.5 +CMT,1,1,908,1.9,CRD,11.5 +CMT,1,1,219,1.2,CSH,5.5 +CMT,1,1,607,2.0,CRD,9.5 +CMT,1,1,483,1.4,CRD,7.5 +CMT,1,2,450,0.9,CRD,6.5 +CMT,1,1,719,2.7,CRD,11.0 +CMT,1,3,1161,3.0,CRD,14.5 +CMT,1,1,449,1.6,CSH,8.0 +CMT,1,4,842,3.7,CSH,14.0 +CMT,1,3,641,3.4,CRD,12.5 +CMT,1,2,214,0.8,CSH,5.0 +CMT,1,1,389,1.0,CRD,6.5 +CMT,1,1,770,4.5,CRD,16.0 +CMT,1,1,458,1.8,CSH,8.0 +CMT,1,1,266,0.6,CRD,5.0 +CMT,1,1,172,0.9,CSH,5.0 +CMT,1,1,661,1.3,CRD,8.5 +CMT,1,1,145,0.3,CSH,3.5 +CMT,1,1,596,1.9,CSH,9.0 +CMT,1,1,352,0.9,CRD,6.0 +CMT,1,1,898,3.3,CSH,14.0 +CMT,1,1,1076,4.7,CRD,17.5 +CMT,1,1,286,1.0,CSH,6.0 +CMT,1,2,280,1.1,CSH,5.5 +CMT,1,1,725,2.9,CRD,12.0 +CMT,1,1,115,0.6,CRD,4.0 +CMT,1,2,933,2.8,CRD,13.0 +CMT,1,2,267,1.1,CRD,6.0 +CMT,1,2,2549,7.7,CSH,30.5 +CMT,1,2,335,1.0,CRD,5.5 +CMT,1,3,914,3.2,CSH,13.5 +CMT,1,1,1322,6.9,CSH,23.0 +CMT,1,2,1268,5.1,CRD,20.0 +CMT,1,1,867,3.4,CRD,13.5 +CMT,1,1,910,3.7,CRD,14.0 +CMT,1,2,549,1.7,CSH,8.5 +CMT,1,1,676,1.3,CRD,8.5 +CMT,1,2,1891,6.3,CRD,25.0 +CMT,1,1,290,1.9,CSH,7.5 +CMT,1,1,282,1.3,CSH,6.0 +CMT,1,2,985,2.8,CRD,13.0 +CMT,1,1,348,0.7,CRD,5.5 +CMT,1,1,727,2.8,CSH,11.0 +CMT,1,1,599,1.3,CSH,8.0 +CMT,1,1,656,3.6,CSH,13.0 +CMT,1,4,787,2.3,CRD,11.0 +CMT,1,2,467,1.7,CRD,8.0 +CMT,1,1,960,2.8,CRD,13.0 +CMT,1,1,666,1.2,CRD,8.5 +CMT,1,2,929,4.6,CSH,16.5 +CMT,1,1,259,1.3,CSH,6.0 +CMT,1,2,784,6.6,CRD,19.5 +CMT,1,1,134,0.3,CRD,3.5 +CMT,1,1,279,0.6,CRD,5.0 +CMT,1,1,266,1.6,DIS,7.0 +CMT,1,1,1211,9.4,CRD,27.5 +CMT,1,1,157,0.4,DIS,3.5 +CMT,1,1,862,2.9,CRD,12.5 +CMT,1,1,658,3.3,CRD,12.5 +CMT,1,1,693,2.3,CRD,11.0 +CMT,1,1,519,2.0,CSH,9.0 +CMT,1,2,421,1.6,CSH,7.5 +CMT,1,1,395,0.9,CRD,6.5 +CMT,1,1,201,0.6,CRD,4.5 +CMT,1,3,658,1.1,CSH,8.5 +CMT,1,1,466,1.0,CRD,7.0 +CMT,1,1,172,0.5,CSH,4.5 +CMT,1,1,500,2.0,CRD,8.5 +CMT,1,1,390,1.3,CSH,6.5 +CMT,1,1,648,5.9,CSH,18.5 +CMT,1,1,188,0.5,CSH,4.0 +CMT,1,1,408,2.1,CSH,8.5 +CMT,1,1,474,1.8,CSH,8.5 +CMT,1,1,978,2.7,CSH,13.0 +CMT,1,3,1047,3.6,CSH,15.0 +CMT,1,1,1101,4.9,CRD,19.0 +CMT,1,1,452,1.0,CRD,7.0 +CMT,1,1,796,4.2,CRD,14.5 +CMT,1,2,1259,6.2,CRD,22.0 +CMT,1,2,549,1.6,CSH,8.5 +CMT,1,1,1521,5.6,CRD,22.0 +CMT,1,1,394,1.1,CSH,6.5 +CMT,1,1,614,1.4,CRD,8.5 +CMT,1,1,393,0.6,CSH,6.0 +CMT,1,1,1218,2.5,CRD,14.5 +CMT,1,2,151,0.7,CSH,4.5 +CMT,1,1,174,0.2,CSH,4.0 +CMT,1,1,784,2.7,CRD,11.5 +CMT,1,2,353,1.1,CSH,6.0 +CMT,1,1,1010,4.5,CRD,16.5 +CMT,1,1,1051,10.4,CRD,29.0 +CMT,1,1,460,1.6,CRD,8.0 +CMT,1,1,273,1.0,CSH,5.5 +CMT,1,3,279,0.7,CSH,5.5 +CMT,1,1,738,3.9,CRD,14.5 +CMT,1,1,1145,2.7,CRD,14.0 +CMT,1,1,339,0.6,CRD,5.5 +CMT,1,1,589,1.8,CRD,9.0 +CMT,1,1,548,2.0,CSH,10.0 +CMT,1,2,1015,3.5,CSH,14.5 +CMT,1,1,943,5.2,CSH,18.5 +CMT,1,1,187,1.0,CRD,5.0 +CMT,1,2,139,0.7,CSH,4.0 +CMT,1,1,412,2.5,CRD,9.5 +CMT,1,1,619,1.0,CRD,8.0 +CMT,1,1,719,1.4,CRD,9.5 +CMT,1,1,995,2.5,CRD,13.0 +CMT,1,1,726,1.5,CSH,9.5 +CMT,1,1,878,2.2,CRD,11.0 +CMT,1,1,696,1.5,CSH,9.0 +CMT,1,1,128,0.3,CSH,3.5 +CMT,1,1,578,2.1,CRD,9.5 +CMT,1,2,902,2.5,CSH,12.0 +CMT,1,1,734,2.3,CSH,10.5 +CMT,1,1,932,4.0,CRD,15.5 +CMT,1,1,1063,2.0,CSH,12.5 +CMT,1,3,366,0.8,CRD,6.0 +CMT,1,1,1100,9.0,CSH,26.0 +CMT,1,1,443,1.2,CSH,7.0 +CMT,1,1,383,1.4,CRD,7.0 +CMT,1,1,325,1.2,CSH,6.5 +CMT,1,1,365,1.2,CSH,6.5 +CMT,1,1,380,0.3,CSH,5.5 +CMT,1,1,154,0.7,CSH,4.5 +CMT,1,1,528,1.3,CSH,8.0 +CMT,1,1,524,1.3,CSH,8.0 +CMT,1,1,631,1.7,CSH,9.0 +CMT,1,1,438,1.8,CRD,8.0 +CMT,1,1,418,1.3,CRD,7.0 +CMT,1,1,216,0.9,CRD,5.0 +CMT,1,1,367,2.0,CRD,8.0 +CMT,2,1,1465,19.7,CSH,52.0 +CMT,1,1,821,2.3,CRD,11.5 +CMT,1,1,347,0.9,CSH,6.0 +CMT,1,1,560,0.5,CSH,7.0 +CMT,1,1,319,1.3,CRD,6.5 +CMT,1,1,1141,3.1,CRD,14.5 +CMT,1,1,425,1.1,CRD,6.5 +CMT,1,1,1602,7.7,CRD,27.0 +CMT,2,2,1830,18.3,CRD,52.0 +CMT,1,1,479,1.6,CRD,8.0 +CMT,1,2,278,0.8,CRD,5.5 +CMT,1,2,578,1.3,CSH,8.0 +CMT,1,1,853,5.2,CSH,17.0 +CMT,1,1,454,1.2,CSH,7.0 +CMT,1,1,215,0.6,CSH,4.5 +CMT,1,1,1291,12.7,CRD,36.0 +CMT,1,1,710,2.1,CSH,10.5 +CMT,1,1,720,2.1,CSH,10.0 +CMT,1,2,688,2.1,CRD,10.0 +CMT,3,3,1347,13.3,CSH,55.0 +CMT,1,1,387,1.4,CSH,7.0 +CMT,1,1,247,0.9,CSH,5.5 +CMT,1,3,365,0.7,CSH,6.0 +CMT,1,1,243,0.9,CSH,5.5 +CMT,1,2,62,0.1,CSH,3.0 +CMT,1,1,455,1.8,CRD,8.5 +CMT,1,1,560,1.1,CSH,7.5 +CMT,1,1,426,1.8,CSH,8.0 +CMT,1,2,784,3.5,CSH,13.5 +CMT,1,3,959,4.1,CRD,15.5 +CMT,1,1,887,2.8,CRD,12.5 +CMT,1,1,700,1.9,CRD,9.5 +CMT,1,1,476,0.8,CRD,6.5 +CMT,2,1,3038,17.6,CSH,52.0 +CMT,1,1,218,1.3,CRD,6.0 +CMT,1,1,375,1.0,CSH,6.0 +CMT,1,2,1019,1.5,CRD,11.5 +CMT,1,1,647,1.8,CRD,9.0 +CMT,1,1,1134,2.8,CRD,14.0 +CMT,1,1,381,1.1,CSH,7.0 +CMT,1,2,765,1.6,CSH,10.0 +CMT,1,1,333,0.7,CRD,5.5 +CMT,1,1,324,0.5,CRD,5.5 +CMT,1,1,1231,3.3,CRD,16.0 +CMT,1,1,459,0.7,CSH,6.5 +CMT,1,1,290,0.7,CSH,5.0 +CMT,1,2,1305,5.3,CRD,21.0 +CMT,1,2,589,1.2,CRD,8.0 +CMT,1,1,305,0.4,CSH,5.0 +CMT,1,1,715,1.5,CSH,9.5 +CMT,1,2,389,0.7,CRD,6.0 +CMT,1,1,531,2.7,CSH,10.0 +CMT,1,2,475,1.7,CSH,8.0 +CMT,1,1,199,1.2,CSH,5.5 +CMT,1,1,73,0.4,CRD,3.5 +CMT,1,1,1142,3.7,CSH,15.5 +CMT,2,2,1629,16.8,CSH,52.0 +CMT,1,1,234,0.7,CSH,4.5 +CMT,1,2,517,1.8,CSH,8.5 +CMT,1,1,731,6.4,CRD,19.5 +CMT,1,1,323,0.9,CSH,5.5 +CMT,1,1,899,2.2,CSH,12.0 +CMT,1,1,408,2.1,CRD,8.5 +CMT,1,1,412,2.1,CSH,8.5 +CMT,1,1,790,2.0,CRD,11.0 +CMT,1,1,288,0.7,CSH,5.0 +CMT,1,1,458,2.7,CRD,10.0 +CMT,1,1,312,0.7,CRD,5.5 +CMT,1,1,303,0.7,CSH,5.5 +CMT,1,2,926,5.8,CRD,19.0 +CMT,1,1,1253,2.2,CRD,14.0 +CMT,1,1,1428,3.0,CSH,16.5 +CMT,1,1,1024,6.9,CSH,22.0 +CMT,1,1,209,0.5,CSH,4.5 +CMT,1,1,1166,8.5,CRD,26.5 +CMT,1,1,391,1.8,CSH,8.0 +CMT,1,1,440,2.7,CRD,10.0 +CMT,1,1,974,1.8,CRD,12.0 +CMT,1,1,1013,1.4,CRD,11.5 +CMT,1,1,693,2.5,CSH,10.0 +CMT,1,1,372,1.2,CSH,6.5 +CMT,1,2,444,1.3,CSH,7.5 +CMT,1,1,376,1.2,CSH,6.5 +CMT,1,1,377,0.8,CSH,6.0 +CMT,1,1,1291,2.3,CRD,14.5 +CMT,1,2,656,1.6,CSH,9.0 +CMT,1,1,283,1.0,CRD,6.0 +CMT,1,1,596,1.3,CRD,8.0 +CMT,1,1,331,0.8,CRD,5.5 +CMT,1,1,203,0.8,CSH,5.0 +CMT,1,1,898,3.0,CRD,12.5 +CMT,1,2,547,0.8,CSH,7.5 +CMT,1,2,175,0.5,CSH,4.5 +CMT,1,1,235,0.8,CRD,5.0 +CMT,1,1,781,1.2,CRD,9.5 +CMT,1,3,459,0.7,CRD,6.5 +CMT,1,1,1624,9.4,CRD,30.0 +CMT,1,1,271,0.8,CRD,5.5 +CMT,1,1,353,1.0,CSH,6.0 +CMT,1,1,139,0.7,CRD,4.5 +CMT,1,1,241,0.5,CSH,5.0 +CMT,1,1,556,1.4,CRD,8.0 +CMT,1,1,674,2.6,CRD,11.0 +CMT,1,1,146,0.3,CRD,4.0 +CMT,1,1,375,1.3,CRD,6.5 +CMT,1,2,627,2.9,CSH,11.5 +CMT,1,1,369,1.0,CSH,6.5 +CMT,1,1,639,3.6,CRD,13.0 +CMT,1,1,762,3.5,CRD,13.0 +CMT,1,1,548,1.2,CRD,8.0 +CMT,1,1,886,3.9,CRD,15.0 +CMT,1,1,692,2.5,CSH,10.5 +CMT,1,1,890,3.4,CSH,14.0 +CMT,1,2,847,3.1,CRD,12.5 +CMT,1,1,536,1.1,CSH,7.5 +CMT,1,1,377,0.6,CSH,5.5 +CMT,1,1,930,3.4,CRD,13.5 +CMT,1,2,533,0.9,CRD,7.5 +CMT,1,1,438,0.9,CRD,6.5 +CMT,1,1,363,0.6,CSH,6.0 +CMT,1,1,448,1.1,CRD,7.0 +CMT,1,1,258,0.4,CRD,4.5 +CMT,1,1,601,1.3,CRD,8.0 +CMT,1,1,279,0.7,CRD,5.5 +CMT,1,1,514,1.0,CSH,7.0 +CMT,1,1,450,2.2,CSH,9.0 +CMT,1,1,534,1.1,CSH,7.5 +CMT,1,1,440,1.1,CSH,7.0 +CMT,1,1,811,2.7,CSH,11.5 +CMT,1,1,245,0.8,CSH,5.0 +CMT,1,1,705,1.3,CSH,9.0 +CMT,1,1,364,0.9,CSH,6.0 +CMT,1,1,704,2.5,CRD,11.0 +CMT,1,1,965,3.0,CRD,13.5 +CMT,1,1,356,0.9,CSH,6.0 +CMT,1,2,603,1.1,CSH,8.0 +CMT,1,3,889,2.8,CRD,12.5 +CMT,1,1,358,0.8,CRD,6.0 +CMT,1,1,939,5.5,CRD,18.5 +CMT,1,1,414,0.7,CRD,6.5 +CMT,1,1,563,3.9,CRD,13.0 +CMT,1,2,503,0.8,CSH,7.0 +CMT,1,1,935,2.3,CSH,12.0 +CMT,1,1,507,1.4,CSH,8.0 +CMT,1,1,125,0.8,CSH,4.5 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,1,161,0.3,CRD,4.0 +CMT,1,2,188,0.5,CSH,4.0 +CMT,1,1,359,0.9,CRD,6.0 +CMT,1,1,607,1.0,CSH,8.0 +CMT,1,1,1281,3.0,CRD,16.0 +CMT,1,1,1011,2.2,CRD,12.5 +CMT,1,1,259,0.7,CRD,5.0 +CMT,1,3,273,1.2,CSH,5.5 +CMT,1,1,670,2.0,CRD,10.0 +CMT,1,1,914,1.1,CSH,10.5 +CMT,1,1,936,2.4,CRD,12.5 +CMT,1,1,889,3.4,CRD,13.5 +CMT,1,1,147,0.4,CRD,4.0 +CMT,1,1,456,2.3,CRD,9.0 +CMT,1,1,957,1.3,CRD,10.5 +CMT,1,2,712,1.0,CSH,8.5 +CMT,1,1,516,0.7,CSH,6.5 +CMT,1,1,399,0.5,CRD,6.0 +CMT,1,1,719,1.8,CRD,10.0 +CMT,1,1,978,2.5,CSH,13.0 +CMT,1,2,398,0.9,CSH,6.5 +CMT,1,1,519,1.3,CSH,7.5 +CMT,1,1,223,0.7,CRD,5.0 +CMT,1,1,678,2.2,CRD,10.5 +CMT,1,1,168,0.4,CSH,4.0 +CMT,1,2,550,1.2,CSH,8.0 +CMT,1,1,271,0.9,CSH,6.0 +CMT,1,1,371,2.1,CSH,8.0 +CMT,1,1,190,0.4,CRD,4.0 +CMT,1,2,408,1.0,CSH,6.5 +CMT,1,1,219,0.9,CRD,5.0 +CMT,1,1,935,3.5,CRD,14.0 +CMT,1,1,477,1.5,CRD,7.5 +CMT,1,1,1004,7.2,CSH,22.5 +CMT,1,1,365,1.0,CRD,6.0 +CMT,1,2,716,1.6,CSH,9.5 +CMT,1,1,405,1.0,CRD,6.5 +CMT,1,1,614,2.2,CSH,9.5 +CMT,1,2,735,3.3,CRD,12.5 +CMT,1,1,640,3.3,CSH,11.5 +CMT,1,1,1594,4.9,CSH,21.0 +CMT,1,2,355,0.8,CSH,6.0 +CMT,1,2,1578,3.6,CRD,18.0 +CMT,1,1,196,0.7,CRD,4.5 +CMT,1,1,569,1.5,CSH,8.5 +CMT,1,2,383,1.6,CRD,8.0 +CMT,1,1,881,2.5,CSH,12.0 +CMT,1,1,581,3.6,CSH,13.5 +CMT,1,2,969,1.9,CSH,11.5 +CMT,2,1,2108,17.5,CRD,52.0 +CMT,1,1,698,2.2,CRD,10.5 +CMT,1,1,479,0.7,CSH,6.5 +CMT,1,1,719,1.6,CRD,9.5 +CMT,1,1,1322,4.5,CRD,18.5 +CMT,1,1,1021,5.8,CRD,19.5 +CMT,1,1,120,0.5,CSH,4.0 +CMT,1,3,1031,2.7,CSH,13.5 +CMT,1,1,511,1.2,CRD,7.5 +CMT,1,2,335,1.1,CRD,6.0 +CMT,1,1,209,0.5,CSH,4.5 +CMT,1,1,265,0.9,CSH,5.5 +CMT,1,1,979,1.1,CRD,11.0 +CMT,1,1,1800,3.5,CRD,20.5 +CMT,1,1,79,0.4,CSH,3.5 +CMT,1,1,1087,9.9,CRD,28.5 +CMT,1,1,155,0.6,CSH,4.5 +CMT,1,1,1303,3.6,CRD,16.5 +CMT,1,1,119,0.1,CSH,3.5 +CMT,1,2,282,0.8,CSH,5.0 +CMT,1,1,1409,4.0,CSH,19.0 +CMT,1,1,324,0.7,CSH,5.5 +CMT,1,1,349,0.7,CSH,5.5 +CMT,1,1,656,2.3,CSH,10.5 +CMT,1,1,466,0.9,CRD,7.0 +CMT,1,1,525,1.5,CRD,8.0 +CMT,1,1,349,2.3,CRD,8.5 +CMT,1,1,119,0.9,CRD,4.5 +CMT,1,1,262,0.9,CRD,5.5 +CMT,1,1,610,1.9,CRD,9.0 +CMT,1,1,87,0.3,CSH,3.5 +CMT,1,1,137,0.7,CSH,4.5 +CMT,1,1,230,0.9,CSH,5.5 +CMT,1,1,275,0.9,CSH,6.0 +CMT,1,1,491,1.8,CRD,8.5 +CMT,1,1,1280,5.1,CSH,19.0 +CMT,1,1,271,0.6,CRD,5.0 +CMT,1,1,310,0.9,CSH,5.5 +CMT,1,1,909,1.0,CSH,10.5 +CMT,1,1,738,2.0,CSH,10.0 +CMT,1,1,629,3.9,CRD,13.0 +CMT,1,1,1378,10.4,CRD,30.5 +CMT,1,1,541,2.8,CRD,10.5 +CMT,1,1,227,0.6,CRD,4.5 +CMT,1,1,651,0.8,CRD,8.0 +CMT,1,1,280,0.8,CSH,5.5 +CMT,1,1,509,2.4,CRD,9.0 +CMT,1,1,529,1.6,CRD,8.0 +CMT,1,1,529,0.9,CSH,7.5 +CMT,1,1,802,1.1,CSH,9.5 +CMT,1,1,980,2.7,CRD,13.0 +CMT,1,1,672,1.3,CSH,8.5 +CMT,1,1,704,1.8,CRD,10.0 +CMT,1,1,150,0.5,CRD,4.0 +CMT,1,1,562,0.5,CSH,7.0 +CMT,1,1,245,0.8,CRD,5.0 +CMT,1,1,656,2.0,CRD,9.5 +CMT,1,2,573,1.8,CSH,8.5 +CMT,1,2,243,0.6,CSH,5.0 +CMT,1,1,1488,12.3,CRD,35.0 +CMT,1,1,549,2.4,CSH,10.5 +CMT,1,2,356,1.1,CRD,6.5 +CMT,1,1,838,4.1,CRD,15.0 +CMT,1,1,147,0.6,CSH,4.5 +CMT,1,1,350,1.1,CRD,6.5 +CMT,1,1,428,1.3,CRD,7.0 +CMT,1,1,1087,4.3,CSH,17.0 +CMT,1,1,923,7.3,CRD,22.5 +CMT,1,1,584,0.9,CRD,7.5 +CMT,1,1,200,0.6,CRD,4.5 +CMT,2,1,1615,17.2,CRD,52.0 +CMT,1,1,254,0.5,CSH,4.5 +CMT,1,1,804,3.3,CRD,12.5 +CMT,1,1,398,0.8,CRD,6.0 +CMT,1,1,292,1.2,CSH,6.0 +CMT,1,1,1339,4.5,CRD,18.0 +CMT,1,2,449,1.0,CRD,7.0 +CMT,1,2,561,2.3,CSH,9.5 +CMT,1,1,1042,3.9,CSH,15.5 +CMT,1,1,952,2.3,CRD,13.0 +CMT,1,2,1182,5.1,CRD,19.5 +CMT,1,1,822,4.5,CSH,16.0 +CMT,1,1,365,1.1,CRD,7.0 +CMT,1,1,458,1.3,CRD,7.0 +CMT,1,1,956,1.7,CSH,11.5 +CMT,1,1,597,2.7,CRD,11.0 +CMT,1,1,1217,4.8,CRD,19.5 +CMT,1,1,1689,5.0,CRD,22.5 +CMT,1,1,246,0.6,CRD,5.0 +CMT,1,1,624,1.3,CSH,8.5 +CMT,1,1,447,1.5,CRD,7.5 +CMT,1,1,654,2.0,CSH,10.0 +CMT,1,3,601,1.7,CSH,9.0 +CMT,1,1,591,1.8,CRD,9.0 +CMT,1,1,841,3.2,CSH,13.5 +CMT,1,1,770,2.8,CRD,11.5 +CMT,1,2,776,3.3,CSH,12.5 +CMT,1,1,439,1.3,CRD,7.0 +CMT,1,1,130,0.5,CRD,4.0 +CMT,1,1,241,0.6,CSH,4.5 +CMT,1,1,561,1.2,CSH,8.0 +CMT,1,1,488,1.0,CSH,7.0 +CMT,1,1,418,0.7,CSH,6.5 +CMT,1,1,786,3.7,CSH,13.5 +CMT,1,1,828,1.5,CRD,10.5 +CMT,1,1,513,0.7,CRD,7.0 +CMT,1,1,1260,2.4,CRD,14.0 +CMT,1,2,905,1.6,CRD,11.0 +CMT,1,1,1087,4.1,CSH,15.5 +CMT,1,1,320,1.5,CSH,7.0 +CMT,1,2,950,1.5,CSH,11.0 +CMT,1,2,923,2.9,CSH,12.5 +CMT,1,1,205,0.5,CSH,4.5 +CMT,1,1,487,0.7,CSH,6.5 +CMT,1,1,500,1.4,CRD,7.5 +CMT,1,1,545,2.8,CRD,10.0 +CMT,1,1,95,0.5,CSH,3.5 +CMT,1,2,521,4.8,CRD,15.0 +CMT,1,1,549,1.1,CRD,7.5 +CMT,1,1,438,1.2,CSH,7.0 +CMT,1,1,757,1.1,CRD,9.0 +CMT,1,1,1069,6.9,CSH,22.0 +CMT,1,1,729,1.4,CRD,9.0 +CMT,1,1,1107,2.2,CRD,13.5 +CMT,1,1,403,0.6,CSH,6.0 +CMT,1,1,667,1.6,CRD,9.0 +CMT,1,1,245,0.6,CRD,5.0 +CMT,1,1,466,1.1,CRD,7.0 +CMT,1,1,183,0.4,CSH,4.0 +CMT,1,3,924,2.4,CSH,12.0 +CMT,1,3,1509,3.6,CSH,18.0 +CMT,1,2,457,0.6,CSH,6.5 +CMT,1,2,1151,1.7,CRD,13.0 +CMT,1,1,198,0.8,CRD,5.0 +CMT,1,2,597,1.8,CSH,9.0 +CMT,1,1,315,0.9,CSH,6.0 +CMT,1,1,120,0.5,CSH,3.5 +CMT,1,1,760,2.5,CRD,11.5 +CMT,1,2,269,0.4,CRD,4.5 +CMT,1,1,543,1.9,CRD,8.5 +CMT,1,1,950,10.3,CSH,28.5 +CMT,1,1,554,0.9,CSH,7.5 +CMT,1,1,391,1.0,CRD,6.0 +CMT,1,1,314,1.3,CRD,6.0 +CMT,1,1,992,5.2,CRD,18.0 +CMT,1,1,665,2.0,CRD,10.0 +CMT,1,3,114,0.5,CSH,4.0 +CMT,1,1,408,1.5,CRD,7.5 +CMT,1,1,1189,10.1,CSH,29.5 +CMT,1,1,1190,3.0,CSH,14.5 +CMT,1,1,387,0.7,CRD,6.0 +CMT,1,2,755,1.7,CSH,10.0 +CMT,1,1,82,0.2,CSH,3.0 +CMT,1,1,1007,2.5,CSH,13.0 +CMT,1,1,276,0.9,CSH,5.5 +CMT,1,1,259,1.1,CSH,5.5 +CMT,1,1,135,0.8,CRD,4.5 +CMT,1,1,163,0.7,CSH,4.5 +CMT,1,2,792,1.6,CRD,10.0 +CMT,1,1,272,0.8,CRD,5.0 +CMT,1,2,1323,3.8,CSH,17.5 +CMT,1,1,941,2.9,CSH,13.5 +CMT,1,1,366,0.6,CSH,6.0 +CMT,1,1,297,2.5,CRD,8.5 +CMT,1,3,575,1.6,CRD,8.5 +CMT,1,2,207,0.5,CSH,4.5 +CMT,1,1,285,1.5,CRD,6.5 +CMT,1,1,521,2.4,CRD,9.5 +CMT,1,1,675,1.7,CSH,9.5 +CMT,1,1,390,1.2,CSH,6.5 +CMT,1,1,395,2.6,CRD,9.5 +CMT,1,1,154,0.5,CSH,4.0 +CMT,1,1,285,0.9,CSH,5.5 +CMT,1,1,286,0.6,CSH,5.0 +CMT,1,1,278,0.8,CSH,5.5 +CMT,1,1,358,0.9,CRD,6.0 +CMT,1,1,710,2.9,CRD,11.5 +CMT,1,1,588,1.3,CSH,8.5 +CMT,1,1,779,2.9,CSH,12.5 +CMT,1,1,624,1.2,CSH,8.0 +CMT,1,1,693,1.4,CSH,9.0 +CMT,1,1,841,4.3,CRD,15.5 +CMT,1,1,505,2.6,CRD,10.0 +CMT,1,1,83,0.3,CSH,3.5 +CMT,1,2,223,0.6,CRD,4.5 +CMT,1,1,785,2.4,CSH,11.5 +CMT,1,1,907,4.4,CRD,16.0 +CMT,1,2,177,1.2,CSH,5.5 +CMT,1,1,302,1.3,CRD,6.5 +CMT,1,1,1179,3.5,CRD,16.0 +CMT,1,1,347,0.6,CSH,5.5 +CMT,1,1,161,0.5,CRD,4.0 +CMT,1,1,683,1.2,CSH,8.5 +CMT,1,1,286,0.7,CRD,5.0 +CMT,1,1,604,1.2,CRD,8.0 +CMT,1,1,1835,5.4,CSH,24.0 +CMT,1,1,804,2.7,CRD,11.5 +CMT,1,1,658,1.4,CSH,9.0 +CMT,1,1,850,2.7,CSH,12.0 +CMT,1,2,129,0.4,CSH,3.5 +CMT,1,1,569,2.0,CSH,9.5 +CMT,1,2,403,1.9,CSH,8.0 +CMT,1,1,1138,2.5,CRD,13.5 +CMT,1,1,110,0.8,CSH,4.5 +CMT,1,1,599,1.1,CSH,8.0 +CMT,1,1,429,1.1,CRD,6.5 +CMT,1,1,381,1.1,CRD,6.5 +CMT,1,1,212,0.9,CRD,5.0 +CMT,1,1,336,0.5,CRD,5.5 +CMT,1,1,1143,2.4,CRD,13.0 +CMT,1,1,84,0.5,CSH,3.5 +CMT,1,2,845,1.8,CRD,10.5 +CMT,1,1,608,1.8,CSH,9.0 +CMT,1,1,262,0.6,CRD,5.0 +CMT,1,2,963,8.7,CRD,25.5 +CMT,1,1,384,1.8,CRD,8.0 +CMT,1,2,182,0.7,CSH,4.5 +CMT,1,1,385,1.2,CSH,6.5 +CMT,1,1,518,2.9,CRD,10.5 +CMT,1,2,929,3.9,CSH,15.5 +CMT,1,1,833,5.3,CRD,17.0 +CMT,1,2,342,1.0,CRD,6.0 +CMT,1,1,286,0.9,CRD,5.5 +CMT,1,1,1037,2.7,CRD,13.5 +CMT,1,1,774,0.5,CSH,9.0 +CMT,1,2,541,0.7,CRD,7.0 +CMT,1,1,542,1.4,CSH,8.0 +CMT,1,1,330,1.1,CRD,6.0 +CMT,1,1,357,1.3,CSH,7.0 +CMT,1,1,600,1.8,CSH,9.5 +CMT,1,2,429,1.0,CRD,6.5 +CMT,1,1,212,0.8,CRD,5.0 +CMT,1,1,597,1.3,CSH,8.5 +CMT,1,1,832,4.4,CRD,15.5 +CMT,1,2,330,0.9,CSH,6.0 +CMT,1,1,707,2.7,CRD,11.0 +CMT,1,1,708,2.4,CRD,10.5 +CMT,1,1,236,1.0,CRD,5.0 +CMT,1,2,792,2.7,CRD,11.5 +CMT,1,2,855,3.2,CRD,13.0 +CMT,1,1,146,0.5,CSH,4.0 +CMT,1,1,1305,10.2,CSH,30.0 +CMT,1,1,370,0.5,CSH,5.5 +CMT,1,1,736,2.2,CSH,10.5 +CMT,1,1,671,1.0,CSH,8.5 +CMT,1,2,1007,1.7,CRD,11.5 +CMT,1,2,665,1.5,CRD,8.5 +CMT,1,1,866,6.3,CRD,20.0 +CMT,1,1,649,1.9,CSH,9.0 +CMT,1,1,487,1.0,CSH,7.0 +CMT,1,1,434,0.9,CSH,6.5 +CMT,1,1,340,1.3,CRD,6.5 +CMT,1,1,259,1.2,CRD,6.0 +CMT,1,2,206,0.7,CRD,4.5 +CMT,1,1,610,1.2,CSH,8.5 +CMT,1,1,196,1.3,CSH,5.5 +CMT,1,1,351,1.6,CSH,7.0 +CMT,1,1,736,1.8,CRD,10.0 +CMT,1,1,489,1.4,CSH,7.5 +CMT,1,1,776,3.8,CSH,13.0 +CMT,1,1,1451,11.9,CRD,34.0 +CMT,1,1,728,2.0,CSH,10.0 +CMT,1,1,847,2.2,CSH,11.0 +CMT,1,1,412,0.9,CSH,7.0 +CMT,1,1,358,0.6,CSH,6.0 +CMT,1,2,186,0.5,CSH,4.0 +CMT,1,1,235,1.0,CRD,5.5 +CMT,1,1,80,0.5,CSH,3.5 +CMT,1,1,839,5.8,CRD,18.0 +CMT,1,2,302,1.4,CSH,6.5 +CMT,1,1,744,4.2,CRD,14.5 +CMT,1,2,155,1.0,CRD,5.0 +CMT,1,1,140,0.4,CSH,3.5 +CMT,1,1,383,1.3,CSH,7.0 +CMT,1,1,406,0.8,CRD,6.5 +CMT,1,1,474,0.9,CRD,7.0 +CMT,1,2,387,0.8,CSH,6.0 +CMT,1,1,619,2.6,CRD,10.5 +CMT,1,1,259,0.7,CRD,5.0 +CMT,1,1,396,0.9,CSH,6.5 +CMT,1,1,911,4.3,CSH,15.5 +CMT,1,1,1620,4.5,CSH,21.0 +CMT,1,1,626,1.5,CSH,9.0 +CMT,1,1,443,0.8,CSH,6.5 +CMT,1,1,1687,8.1,CRD,29.0 +CMT,1,3,460,1.8,CSH,8.0 +CMT,1,1,816,2.6,CSH,12.0 +CMT,1,2,1113,3.6,CSH,15.5 +CMT,1,3,254,0.5,CSH,4.5 +CMT,1,2,175,0.5,CRD,4.0 +CMT,1,1,380,1.0,CRD,6.0 +CMT,1,4,409,0.8,CSH,6.0 +CMT,1,1,919,4.4,CSH,15.0 +CMT,1,1,478,0.9,CSH,6.5 +CMT,1,3,758,2.5,CSH,11.0 +CMT,1,3,753,2.6,CSH,11.5 +CMT,1,2,1136,2.4,CSH,13.5 +CMT,1,1,716,1.8,CRD,10.0 +CMT,1,2,208,1.0,CRD,5.0 +CMT,1,1,588,2.7,CRD,10.5 +CMT,1,3,1531,6.3,CRD,23.0 +CMT,1,1,94,0.5,CSH,4.0 +CMT,1,1,468,1.8,CRD,8.0 +CMT,1,1,281,1.6,CRD,7.0 +CMT,1,1,481,2.1,CRD,9.0 +CMT,1,1,137,0.3,CSH,3.5 +CMT,1,1,545,1.2,CRD,7.5 +CMT,1,1,204,0.5,CRD,4.5 +CMT,1,2,788,1.7,CSH,10.0 +CMT,1,1,332,0.8,CSH,5.5 +CMT,1,1,444,1.4,CRD,7.0 +CMT,2,2,1731,16.8,CSH,52.0 +CMT,1,1,773,7.2,CRD,21.0 +CMT,1,2,1021,1.7,CSH,12.0 +CMT,1,2,603,1.7,CRD,9.0 +CMT,1,2,1230,6.3,CRD,21.5 +CMT,1,1,264,0.8,CRD,5.5 +CMT,1,3,360,1.7,CSH,7.5 +CMT,1,1,313,0.9,CRD,6.0 +CMT,1,4,1320,5.9,CSH,21.0 +CMT,1,2,423,1.0,CRD,6.5 +CMT,1,1,458,2.0,CRD,8.5 +CMT,1,1,430,1.5,CRD,7.0 +CMT,1,1,292,0.6,CSH,5.0 +CMT,1,2,659,2.2,CSH,10.0 +CMT,1,2,501,0.9,CSH,7.0 +CMT,1,1,838,2.7,CSH,12.0 +CMT,1,1,371,1.6,CSH,7.5 +CMT,1,1,590,1.5,CRD,8.5 +CMT,1,1,292,0.9,CRD,5.5 +CMT,1,1,1051,5.0,CSH,16.5 +CMT,1,2,595,1.3,CRD,8.5 +CMT,1,1,1177,7.3,CRD,22.0 +CMT,1,1,659,0.7,CRD,8.0 +CMT,1,1,1545,3.7,CRD,18.0 +CMT,1,2,434,1.3,CRD,7.0 +CMT,1,2,187,0.4,CSH,4.0 +CMT,1,1,836,3.7,CSH,13.5 +CMT,1,1,1210,5.1,CRD,18.0 +CMT,1,1,303,0.7,CSH,5.5 +CMT,1,1,1614,3.0,CRD,18.0 +CMT,1,1,787,1.2,CRD,9.5 +CMT,1,1,1364,3.1,CRD,16.5 +CMT,1,1,435,0.7,CRD,6.5 +CMT,1,1,913,2.5,CRD,12.0 +CMT,1,1,877,2.7,CSH,12.5 +CMT,1,1,1530,7.3,CRD,24.5 +CMT,1,3,308,1.1,CSH,6.0 +CMT,1,4,729,1.3,CSH,9.5 +CMT,1,2,166,0.7,CRD,4.5 +CMT,1,1,237,0.7,CRD,5.0 +CMT,1,2,426,1.2,CSH,7.0 +CMT,1,1,393,1.2,CRD,6.5 +CMT,1,1,524,1.9,CRD,8.5 +CMT,1,1,327,1.0,CRD,6.0 +CMT,1,1,269,0.8,CRD,5.5 +CMT,1,1,962,2.7,CRD,13.0 +CMT,1,1,373,0.9,CSH,6.0 +CMT,1,1,380,1.0,CRD,6.0 +CMT,1,1,183,0.5,CRD,4.5 +CMT,1,1,1609,4.3,CRD,19.5 +CMT,1,1,714,2.8,CRD,11.0 +CMT,1,1,323,1.5,CSH,7.0 +CMT,1,2,1387,3.7,CRD,18.0 +CMT,1,1,527,1.4,CRD,8.0 +CMT,1,1,1542,3.0,CRD,17.0 +CMT,1,1,827,6.7,CRD,20.5 +CMT,1,2,655,2.0,CSH,9.5 +CMT,1,1,330,0.6,CSH,5.5 +CMT,1,1,511,1.6,CRD,8.5 +CMT,1,1,486,2.6,CRD,9.5 +CMT,1,1,483,1.2,CRD,7.0 +CMT,1,1,446,1.2,CRD,7.5 +CMT,1,3,1026,3.6,CSH,14.5 +CMT,1,1,597,1.4,CRD,8.0 +CMT,1,1,1256,3.5,CSH,16.5 +CMT,1,1,399,0.9,CSH,6.5 +CMT,3,2,1698,14.3,CRD,58.5 +CMT,1,1,231,0.5,CSH,4.5 +CMT,1,1,958,2.4,CSH,12.5 +CMT,1,1,555,3.1,CRD,11.5 +CMT,1,1,63,0.3,CRD,3.0 +CMT,1,2,369,0.9,CRD,6.0 +CMT,1,1,277,0.7,CRD,5.0 +CMT,1,2,196,0.9,CSH,5.0 +CMT,1,4,772,1.6,CSH,10.0 +CMT,1,1,314,1.5,CRD,6.5 +CMT,1,2,578,2.6,CSH,10.0 +CMT,1,2,704,2.1,CSH,10.0 +CMT,1,2,341,1.2,CRD,6.5 +CMT,1,1,2,17.0,DIS,2.5 +CMT,1,2,1425,10.2,CSH,31.0 +CMT,1,2,249,0.7,CSH,5.0 +CMT,1,1,1505,10.6,CSH,32.0 +CMT,1,2,469,3.9,CRD,12.5 +CMT,1,1,494,1.1,CRD,7.0 +CMT,1,3,247,1.0,CRD,5.5 +CMT,1,1,1299,6.0,CSH,21.5 +CMT,1,2,1360,6.9,CSH,22.5 +CMT,1,1,609,2.5,CRD,10.0 +CMT,1,1,384,1.7,CRD,7.5 +CMT,1,1,472,1.0,CSH,7.0 +CMT,1,1,700,3.1,CRD,11.5 +CMT,1,1,282,1.0,CRD,5.5 +CMT,1,1,293,0.6,CRD,5.0 +CMT,1,1,1443,4.9,CRD,19.5 +CMT,1,1,431,0.9,CSH,6.5 +CMT,1,1,71,0.4,CSH,3.5 +CMT,1,1,381,1.5,CRD,7.0 +CMT,1,1,693,2.1,CRD,10.5 +CMT,1,1,574,1.9,CSH,9.0 +CMT,1,1,628,2.5,CRD,10.5 +CMT,1,2,236,0.8,CRD,5.0 +CMT,1,1,526,2.1,CRD,9.0 +CMT,1,1,340,1.5,CSH,7.0 +CMT,1,1,1342,3.5,CSH,17.0 +CMT,1,1,890,2.9,CSH,12.5 +CMT,1,4,1037,3.1,CSH,13.5 +CMT,1,2,1208,4.6,CRD,17.5 +CMT,1,1,630,2.5,CRD,10.0 +CMT,1,1,779,2.9,CRD,12.0 +CMT,1,1,557,1.9,CRD,9.0 +CMT,1,1,722,4.6,CRD,15.5 +CMT,1,1,1053,3.5,CRD,15.0 +CMT,1,1,164,0.9,CRD,4.5 +CMT,1,3,1204,6.5,CRD,22.5 +CMT,1,1,560,2.2,CRD,9.5 +CMT,1,2,360,1.9,CRD,7.5 +CMT,1,2,717,2.1,CSH,10.0 +CMT,1,1,527,1.0,CSH,7.5 +CMT,1,1,1289,3.2,CSH,16.0 +CMT,1,2,174,0.4,CSH,4.0 +CMT,1,1,436,2.0,CSH,8.0 +CMT,1,1,344,1.1,CRD,6.5 +CMT,1,2,204,0.6,CSH,4.5 +CMT,1,1,800,5.1,CRD,16.5 +CMT,1,1,1415,8.3,CRD,27.5 +CMT,1,2,412,0.5,CSH,6.0 +CMT,1,1,210,0.8,CSH,5.0 +CMT,3,1,1751,17.0,CRD,63.5 +CMT,1,1,81,0.5,CRD,3.5 +CMT,1,1,1303,9.8,CSH,30.0 +CMT,1,1,2607,9.3,CSH,34.5 +CMT,1,2,391,1.6,CRD,7.5 +CMT,1,2,781,4.7,CRD,15.5 +CMT,1,4,586,1.7,CRD,8.5 +CMT,1,1,706,1.4,CRD,9.5 +CMT,1,1,1354,7.8,CSH,25.5 +CMT,2,2,323,1.7,CRD,52.0 +CMT,1,1,574,2.6,CRD,10.0 +CMT,1,1,969,4.7,CRD,16.5 +CMT,5,1,63,0.0,DIS,10.5 +CMT,1,1,684,2.0,CSH,10.0 +CMT,1,1,437,2.0,CRD,8.5 +CMT,1,2,426,1.2,CSH,7.0 +CMT,1,1,1460,5.1,CRD,20.0 +CMT,1,1,413,0.7,CSH,6.0 +CMT,1,1,1072,3.4,CRD,14.5 +CMT,1,1,753,0.7,CRD,9.0 +CMT,1,2,954,1.8,CRD,11.5 +CMT,1,1,552,1.7,CSH,8.5 +CMT,1,1,711,2.0,CRD,10.5 +CMT,1,2,651,1.7,CSH,9.5 +CMT,1,1,489,1.4,CSH,7.5 +CMT,1,1,165,0.6,CSH,4.5 +CMT,1,1,419,1.1,CSH,6.5 +CMT,1,2,202,0.8,CRD,4.5 +CMT,1,2,543,2.9,CSH,10.5 +CMT,1,1,797,2.9,CSH,12.0 +CMT,1,1,230,1.1,CSH,5.5 +CMT,1,1,1830,6.9,CRD,26.0 +CMT,1,1,709,2.6,CSH,11.0 +CMT,1,2,299,1.3,CSH,6.0 +CMT,1,1,328,1.0,CSH,6.0 +CMT,1,1,221,0.4,CSH,4.5 +CMT,1,1,507,2.1,CSH,9.0 +CMT,1,2,258,1.0,CRD,5.5 +CMT,1,1,1394,5.9,CRD,21.0 +CMT,1,1,508,1.6,CRD,8.0 +CMT,1,1,1055,5.8,CRD,19.5 +CMT,1,1,347,1.4,CRD,7.0 +CMT,1,1,447,0.9,CRD,7.0 +CMT,1,2,1387,6.9,CRD,24.0 +CMT,1,2,947,4.1,CSH,15.5 +CMT,1,2,668,2.0,CSH,10.0 +CMT,1,2,702,2.0,CSH,10.0 +CMT,1,1,532,1.5,CRD,8.0 +CMT,1,1,728,6.1,CRD,18.0 +CMT,1,1,494,2.2,CSH,9.0 +CMT,1,2,321,1.2,CRD,6.0 +CMT,1,4,612,3.3,CSH,11.5 +CMT,1,1,679,1.8,CRD,9.5 +CMT,1,2,348,1.8,CSH,7.0 +CMT,1,1,396,1.0,CSH,6.5 +CMT,1,1,576,2.0,CSH,8.5 +CMT,1,1,424,1.1,CSH,6.5 +CMT,1,1,141,0.2,CSH,3.5 +CMT,1,1,731,2.0,CRD,10.0 +CMT,1,2,1041,4.3,CSH,16.5 +CMT,1,2,627,2.7,CSH,10.5 +CMT,1,1,1487,3.4,CRD,18.0 +CMT,1,2,925,3.3,CRD,13.0 +CMT,1,3,355,0.8,CSH,6.0 +CMT,1,1,611,1.2,CSH,8.5 +CMT,1,1,698,1.8,CRD,10.0 +CMT,1,1,312,1.2,CSH,6.0 +CMT,1,1,524,1.9,CRD,8.5 +CMT,1,1,994,3.3,CSH,14.0 +CMT,1,1,912,2.6,CSH,12.5 +CMT,1,4,119,0.7,CSH,4.5 +CMT,1,1,350,1.6,CSH,7.5 +CMT,1,2,1272,9.3,CRD,28.0 +CMT,1,1,218,0.6,CSH,4.5 +CMT,1,2,367,1.0,CSH,6.0 +CMT,1,3,596,1.7,CSH,8.5 +CMT,1,2,908,2.3,CSH,11.0 +CMT,1,1,317,1.3,CRD,6.5 +CMT,1,1,726,3.2,CRD,12.5 +CMT,1,2,73,0.4,CSH,3.5 +CMT,1,1,424,0.8,CSH,6.0 +CMT,1,1,309,1.4,CSH,6.5 +CMT,1,1,718,1.9,CSH,10.0 +CMT,1,1,477,1.3,CRD,7.5 +CMT,1,2,1000,5.2,CSH,18.0 +CMT,1,2,286,0.8,CSH,5.5 +CMT,1,2,283,0.7,CRD,5.5 +CMT,1,1,667,0.8,CSH,8.5 +CMT,1,1,805,1.4,CRD,9.5 +CMT,1,2,694,2.5,CRD,11.0 +CMT,1,1,765,5.1,CRD,17.0 +CMT,1,1,157,0.9,CRD,4.5 +CMT,1,2,567,1.3,CSH,8.0 +CMT,1,3,556,1.5,CRD,8.0 +CMT,1,1,303,1.6,CSH,6.5 +CMT,1,1,141,0.5,CSH,4.0 +CMT,1,2,568,3.5,CSH,12.5 +CMT,1,3,815,5.3,CSH,17.0 +CMT,1,3,915,4.7,CRD,16.5 +CMT,1,3,95,0.2,CSH,3.5 +CMT,1,2,463,1.0,CSH,7.0 +CMT,1,1,390,1.0,CRD,6.5 +CMT,1,2,1436,3.2,CSH,16.0 +CMT,2,1,2483,16.3,CRD,52.0 +CMT,1,1,275,1.6,CRD,6.5 +CMT,1,1,700,1.4,CSH,9.0 +CMT,1,1,247,1.4,CRD,6.0 +CMT,1,1,302,0.8,CRD,5.5 +CMT,1,1,452,2.1,CRD,8.5 +CMT,1,1,0,0.0,CSH,2.5 +CMT,1,1,370,0.9,CRD,6.0 +CMT,1,3,682,1.7,CSH,9.0 +CMT,1,1,446,2.1,CRD,8.5 +CMT,1,2,757,2.1,CRD,10.5 +CMT,1,2,1326,4.9,CRD,19.0 +CMT,1,2,539,1.4,CSH,7.5 +CMT,1,1,294,0.4,CRD,5.0 +CMT,1,4,774,2.2,CSH,10.5 +CMT,1,2,430,1.4,CSH,7.0 +CMT,1,4,369,1.0,CSH,6.0 +CMT,1,1,360,1.1,CRD,6.0 +CMT,1,1,218,0.7,CSH,5.0 +CMT,1,1,303,0.7,CSH,5.5 +CMT,1,1,582,1.2,CSH,8.0 +CMT,1,1,281,1.2,CRD,6.0 +CMT,1,2,627,1.5,CRD,8.5 +CMT,1,3,221,0.7,CSH,5.0 +CMT,1,1,426,1.3,CRD,7.0 +CMT,1,2,607,1.4,CSH,8.5 +CMT,1,2,963,3.2,CSH,14.5 +CMT,2,1,1585,17.1,CSH,52.0 +CMT,1,1,585,1.8,CRD,9.0 +CMT,1,1,722,0.8,CSH,8.5 +CMT,1,1,985,2.0,CSH,12.0 +CMT,1,1,182,0.6,CRD,4.0 +CMT,1,1,524,1.1,CSH,7.5 +CMT,1,2,567,0.3,CSH,7.0 +CMT,1,2,1997,9.3,CSH,33.5 +CMT,1,1,1838,5.2,CRD,23.0 +CMT,1,1,284,1.1,CRD,6.0 +CMT,1,1,1483,4.3,CRD,19.0 +CMT,1,1,508,2.3,CSH,9.5 +CMT,1,1,393,1.6,CSH,7.5 +CMT,1,1,715,1.8,CSH,9.5 +CMT,1,1,377,1.0,CRD,6.5 +CMT,1,3,136,0.5,CSH,4.0 +CMT,1,1,1095,6.3,CRD,22.5 +CMT,1,1,555,1.4,CRD,8.5 +CMT,1,1,309,1.1,CRD,6.0 +CMT,1,1,312,1.3,CRD,6.5 +CMT,1,1,208,1.0,CRD,5.0 +CMT,1,1,560,2.5,CRD,10.5 +CMT,1,1,402,1.4,CRD,7.5 +CMT,1,2,361,1.3,CRD,6.5 +CMT,1,1,302,0.7,CRD,5.0 +CMT,1,1,261,0.7,CRD,5.0 +CMT,1,1,669,4.5,CRD,15.0 +CMT,1,1,817,1.9,CRD,11.0 +CMT,1,2,1139,2.4,CRD,13.0 +CMT,1,1,756,1.4,CRD,9.0 +CMT,1,1,454,1.0,CRD,7.0 +CMT,1,2,401,0.6,CRD,6.0 +CMT,1,1,443,1.2,CRD,7.0 +CMT,1,1,332,0.9,CRD,5.5 +CMT,1,1,1330,5.5,CRD,20.5 +CMT,1,1,1040,6.4,CSH,21.5 +CMT,1,2,1029,1.8,CSH,12.0 +CMT,1,2,262,0.9,CRD,5.5 +CMT,1,1,111,0.6,CSH,4.0 +CMT,1,1,924,2.3,CRD,12.5 +CMT,1,1,894,2.5,CRD,12.5 +CMT,1,1,580,2.5,CRD,10.5 +CMT,1,3,422,1.8,CRD,8.0 +CMT,1,4,242,1.4,CSH,6.0 +CMT,1,1,261,0.8,CRD,5.0 +CMT,1,3,821,2.3,CSH,11.0 +CMT,1,2,602,0.8,CSH,8.0 +CMT,1,1,532,2.1,CSH,9.0 +CMT,1,1,231,0.6,CRD,5.0 +CMT,1,2,1721,4.0,CRD,20.5 +CMT,1,1,406,1.2,CRD,6.5 +CMT,1,2,693,1.6,CRD,9.0 +CMT,1,1,297,1.0,CRD,5.5 +CMT,1,1,402,1.5,CRD,7.0 +CMT,1,1,485,2.7,CRD,10.0 +CMT,1,1,494,1.7,CRD,8.5 +CMT,1,2,560,1.7,CSH,8.5 +CMT,1,1,942,3.0,CRD,13.5 +CMT,4,3,904,3.7,CRD,14.5 +CMT,1,1,919,3.3,CRD,14.0 +CMT,1,1,282,0.9,CSH,5.5 +CMT,1,1,455,1.8,CSH,8.0 +CMT,1,2,729,2.3,CSH,10.5 +CMT,5,1,13,1.4,CSH,10.5 +CMT,1,1,487,1.4,CSH,7.5 +CMT,1,1,899,7.7,CRD,23.0 +CMT,1,1,272,0.6,CSH,5.0 +CMT,1,1,530,0.9,CSH,7.5 +CMT,1,2,964,3.0,CSH,13.0 +CMT,1,1,344,1.3,CSH,6.5 +CMT,1,2,268,1.1,CSH,5.5 +CMT,1,2,330,0.9,CRD,5.5 +CMT,1,2,423,1.4,CRD,7.0 +CMT,1,1,357,0.9,CRD,6.0 +CMT,1,1,431,0.8,CSH,6.5 +CMT,1,1,569,2.4,CSH,10.5 +CMT,1,1,329,2.4,CRD,8.5 +CMT,1,1,234,0.8,CRD,5.0 +CMT,1,1,448,0.9,CSH,6.5 +CMT,1,1,946,2.8,CRD,13.0 +CMT,1,2,732,1.5,CRD,9.5 +CMT,1,1,455,1.1,CRD,7.0 +CMT,1,1,271,0.8,CRD,5.5 +CMT,1,2,224,0.6,CSH,4.5 +CMT,1,1,1011,6.8,CSH,21.5 +CMT,1,1,536,1.9,CRD,8.5 +CMT,1,1,401,1.0,CSH,6.5 +CMT,1,1,691,2.5,CRD,10.5 +CMT,1,1,355,2.0,CRD,7.5 +CMT,1,2,1008,3.3,CRD,14.0 +CMT,1,1,658,4.3,CSH,14.5 +CMT,1,1,828,3.2,CRD,12.5 +CMT,1,2,454,1.4,CSH,7.5 +CMT,1,1,422,2.2,CRD,8.5 +CMT,1,4,1188,4.2,CSH,16.5 +CMT,1,1,375,1.0,CRD,6.0 +CMT,1,2,502,1.1,CSH,7.5 +CMT,1,1,322,1.1,CSH,6.0 +CMT,1,1,578,0.9,CRD,7.5 +CMT,1,2,509,0.8,CSH,7.0 +CMT,1,3,757,3.8,CSH,13.5 +CMT,1,1,610,1.6,CSH,8.5 +CMT,1,3,285,0.6,CSH,5.0 +CMT,1,3,1674,15.5,CSH,42.5 +CMT,1,1,523,1.1,CRD,7.5 +CMT,1,1,761,2.5,CRD,11.0 +CMT,1,2,251,0.7,CSH,5.0 +CMT,1,1,550,1.8,CRD,9.0 +CMT,1,2,527,1.1,CSH,7.5 +CMT,1,1,508,1.7,CSH,8.5 +CMT,1,3,762,1.8,CSH,10.5 +CMT,1,1,1317,5.7,CSH,21.0 +CMT,1,2,377,0.6,CSH,6.0 +CMT,1,1,1491,5.6,CRD,21.0 +CMT,1,2,387,1.2,CRD,7.0 +CMT,1,2,235,1.0,CSH,5.5 +CMT,1,2,420,1.4,CSH,7.0 +CMT,1,1,854,3.5,CRD,14.0 +CMT,1,1,507,1.2,CRD,7.5 +CMT,1,1,943,3.4,CSH,13.5 +CMT,1,2,710,2.5,CRD,10.5 +CMT,1,1,649,1.2,CRD,8.5 +CMT,1,1,578,2.0,CSH,9.5 +CMT,1,4,401,1.0,CSH,6.5 +CMT,1,2,546,2.4,CRD,9.5 +CMT,1,1,942,3.4,CRD,13.5 +CMT,1,1,339,0.5,CSH,5.5 +CMT,1,1,524,1.2,CRD,8.0 +CMT,1,1,300,0.6,CSH,5.0 +CMT,1,1,76,0.3,CSH,3.0 +CMT,1,1,677,2.1,CSH,9.5 +CMT,1,4,1393,3.3,CSH,16.0 +CMT,1,4,698,2.1,CSH,10.0 +CMT,1,2,373,1.1,CSH,6.5 +CMT,1,1,598,1.8,CSH,9.5 +CMT,1,4,550,1.9,CSH,9.0 +CMT,1,1,355,0.7,CSH,5.5 +CMT,1,1,515,1.5,CRD,8.0 +CMT,1,2,1870,3.8,CSH,20.5 +CMT,1,2,447,1.0,CSH,7.0 +CMT,1,1,170,0.4,CRD,4.0 +CMT,1,3,231,0.8,CRD,5.0 +CMT,1,2,283,1.0,CSH,5.5 +CMT,1,1,1246,7.4,CRD,24.0 +CMT,1,1,747,4.1,CSH,14.0 +CMT,1,1,191,1.2,CSH,5.5 +CMT,1,3,509,2.3,CRD,9.5 +CMT,5,2,36,17.7,CRD,120.0 +CMT,1,2,469,0.6,CSH,6.5 +CMT,1,2,194,1.3,CSH,5.5 +CMT,1,1,606,2.7,CSH,10.5 +CMT,1,2,873,4.6,CRD,15.5 +CMT,1,2,136,0.3,CRD,3.5 +CMT,1,1,499,1.6,CSH,8.0 +CMT,1,1,945,5.4,CRD,18.5 +CMT,1,1,638,1.5,CSH,9.0 +CMT,1,3,613,1.8,CSH,9.0 +CMT,1,1,895,3.9,CRD,15.5 +CMT,1,2,994,2.1,CRD,12.0 +CMT,1,2,299,0.7,CSH,5.5 +CMT,1,1,516,1.4,CSH,8.0 +CMT,1,1,634,1.4,CSH,8.5 +CMT,1,1,420,0.9,CRD,6.5 +CMT,1,1,750,2.2,CSH,11.0 +CMT,1,2,937,3.1,CRD,13.0 +CMT,1,3,1222,1.4,CSH,13.0 +CMT,1,3,345,1.1,CSH,6.0 +CMT,1,1,200,0.4,CRD,4.0 +CMT,1,2,373,1.0,CRD,6.0 +CMT,1,1,573,2.3,CSH,10.0 +CMT,1,1,447,2.0,CSH,8.5 +CMT,1,1,451,1.5,CSH,7.5 +CMT,1,1,404,0.9,CRD,6.5 +CMT,1,1,750,2.1,CRD,10.5 +CMT,1,1,582,1.7,CRD,9.0 +CMT,1,2,224,1.0,CRD,5.0 +CMT,1,1,241,1.2,CRD,5.5 +CMT,1,2,241,1.2,CSH,6.0 +CMT,1,1,978,8.2,CRD,24.5 +CMT,1,1,717,1.8,CSH,10.0 +CMT,1,2,1247,2.1,CRD,14.0 +CMT,1,1,676,2.0,CRD,9.5 +CMT,1,1,715,4.1,CSH,13.5 +CMT,1,1,503,1.2,CRD,7.5 +CMT,1,1,413,1.0,CSH,6.5 +CMT,1,1,1094,3.4,CRD,14.5 +CMT,1,2,1248,4.3,CRD,18.0 +CMT,1,2,597,2.2,CSH,9.5 +CMT,1,2,459,1.4,CRD,7.5 +CMT,1,2,580,1.2,CSH,8.0 +CMT,1,2,611,0.7,CSH,8.0 +CMT,1,1,153,0.6,CRD,4.0 +CMT,1,1,79,0.5,CSH,3.5 +CMT,1,2,281,1.0,CRD,6.0 +CMT,1,1,282,0.9,CRD,5.5 +CMT,1,1,570,1.9,CRD,9.0 +CMT,1,1,1349,3.5,CSH,16.5 +CMT,1,2,331,0.9,CSH,6.0 +CMT,1,1,370,0.9,CRD,6.5 +CMT,1,1,941,2.4,CRD,12.5 +CMT,1,1,945,2.4,CRD,12.5 +CMT,1,1,231,0.6,CRD,4.5 +CMT,1,2,313,0.6,CRD,5.0 +CMT,1,2,374,1.6,CRD,7.5 +CMT,1,1,596,3.2,CRD,11.5 +CMT,1,2,285,0.8,CRD,5.5 +CMT,1,2,162,0.5,CSH,4.0 +CMT,1,2,1983,12.0,CRD,36.0 +CMT,1,2,471,1.5,CRD,7.5 +CMT,1,2,869,2.7,CRD,12.0 +CMT,1,1,984,3.5,CRD,14.0 +CMT,3,1,2103,17.7,DIS,68.5 +CMT,1,1,920,4.4,CRD,15.5 +CMT,1,2,790,1.8,CSH,10.5 +CMT,1,2,233,0.7,CRD,4.5 +CMT,1,1,1115,3.3,CRD,15.0 +CMT,1,2,801,1.9,CRD,10.5 +CMT,1,1,669,3.3,CRD,12.0 +CMT,1,1,696,1.9,CRD,10.0 +CMT,1,2,124,0.6,CSH,4.0 +CMT,1,1,633,3.4,CSH,12.0 +CMT,1,1,996,4.8,CRD,17.0 +CMT,1,1,381,1.3,CRD,6.5 +CMT,1,1,427,1.1,CRD,7.0 +CMT,1,1,132,0.4,CSH,3.5 +CMT,1,1,750,2.7,CRD,11.0 +CMT,1,1,633,1.8,CRD,9.5 +CMT,1,1,344,0.6,CRD,5.5 +CMT,1,1,611,1.9,CRD,9.0 +CMT,1,1,343,1.1,CSH,6.5 +CMT,1,2,757,3.0,CRD,12.5 +CMT,1,2,1059,3.8,CRD,15.0 +CMT,1,1,1024,4.3,CRD,16.0 +CMT,1,3,1188,2.6,CSH,14.0 +CMT,1,1,321,1.3,CRD,6.5 +CMT,1,1,1234,4.6,CRD,18.0 +CMT,1,2,263,0.8,CSH,5.0 +CMT,1,1,380,1.0,CRD,6.0 +CMT,1,1,886,4.3,CSH,15.0 +CMT,1,1,624,1.6,CSH,9.0 +CMT,1,1,1033,1.9,CRD,12.5 +CMT,1,1,382,1.5,CRD,7.0 +CMT,1,1,223,0.7,CSH,4.5 +CMT,1,2,208,1.0,CRD,5.0 +CMT,1,1,815,5.5,CRD,17.5 +CMT,1,1,373,0.8,CSH,6.0 +CMT,1,2,965,2.7,CSH,12.5 +CMT,1,1,609,2.1,CRD,9.5 +CMT,1,1,402,1.1,CSH,6.5 +CMT,1,4,290,1.0,CRD,5.5 +CMT,1,1,1520,8.6,CRD,27.5 +CMT,1,2,638,3.0,CRD,11.5 +CMT,1,1,407,1.0,CRD,6.5 +CMT,1,1,586,2.4,CSH,10.0 +CMT,1,1,316,1.3,CRD,6.0 +CMT,1,1,879,1.0,CRD,10.0 +CMT,1,1,737,1.3,CRD,9.5 +CMT,1,2,1758,4.4,CSH,20.0 +CMT,1,1,924,4.0,CSH,15.5 +CMT,1,2,107,0.4,CRD,3.5 +CMT,1,1,645,1.5,CSH,9.0 +CMT,1,2,1002,4.2,CSH,16.5 +CMT,1,1,865,5.1,CRD,17.0 +CMT,1,1,737,4.5,CRD,15.0 +CMT,1,1,431,1.4,CRD,7.0 +CMT,1,1,464,0.9,CRD,6.5 +CMT,1,1,1059,3.3,CRD,14.5 +CMT,1,1,828,2.0,CRD,11.0 +CMT,1,1,538,1.1,CRD,7.5 +CMT,1,1,443,1.0,CSH,6.5 +CMT,1,2,366,0.9,CSH,6.0 +CMT,1,1,808,4.7,CSH,15.5 +CMT,1,1,454,1.2,CRD,7.0 +CMT,1,1,412,2.7,CSH,9.5 +CMT,1,1,217,0.5,CSH,4.5 +CMT,1,1,433,1.2,CRD,7.0 +CMT,1,1,287,1.4,CSH,6.0 +CMT,1,3,191,1.2,CSH,5.5 +CMT,1,2,833,2.1,CRD,11.0 +CMT,1,1,872,3.2,CSH,13.0 +CMT,1,1,448,1.5,CSH,7.5 +CMT,1,3,188,0.6,CSH,4.5 +CMT,1,1,605,2.0,CSH,9.5 +CMT,1,2,362,0.9,CSH,6.0 +CMT,1,1,693,1.9,CSH,9.5 +CMT,1,1,447,1.6,CRD,8.0 +CMT,1,1,761,4.6,CRD,15.0 +CMT,1,1,1140,3.1,CSH,14.5 +CMT,1,1,163,0.5,CRD,4.0 +CMT,1,2,485,1.3,CRD,7.5 +CMT,1,1,814,2.5,CRD,11.5 +CMT,1,1,281,0.8,CSH,5.5 +CMT,1,2,1389,2.3,CSH,15.5 +CMT,1,2,929,3.6,CSH,14.0 +CMT,1,1,742,3.3,CSH,12.5 +CMT,1,1,704,2.2,CRD,10.0 +CMT,1,1,461,0.9,CRD,6.5 +CMT,1,1,159,0.5,CRD,4.0 +CMT,5,2,15,4.8,CRD,41.75 +CMT,1,1,539,1.0,CSH,7.0 +CMT,1,1,1249,1.5,CRD,13.5 +CMT,1,1,721,1.9,CRD,9.5 +CMT,1,1,591,1.9,CRD,9.0 +CMT,1,1,251,0.7,CRD,5.0 +CMT,1,2,187,0.7,CRD,4.5 +CMT,1,1,380,1.6,CRD,7.0 +CMT,1,3,353,1.0,CSH,6.0 +CMT,1,4,965,1.6,CRD,11.5 +CMT,1,2,274,0.7,CRD,5.5 +CMT,1,2,517,1.7,CRD,8.0 +CMT,1,2,403,1.0,CRD,6.5 +CMT,1,1,426,1.9,CRD,8.0 +CMT,1,1,392,1.4,CRD,7.0 +CMT,1,3,467,2.2,CSH,9.0 +CMT,1,1,333,1.4,CSH,7.0 +CMT,1,1,260,0.6,CSH,5.0 +CMT,1,1,516,2.0,CSH,9.0 +CMT,1,1,263,0.9,CSH,5.0 +CMT,1,1,1105,3.2,CRD,14.5 +CMT,1,1,1226,1.9,CSH,13.0 +CMT,1,2,1162,3.2,CSH,14.5 +CMT,1,1,528,3.1,CSH,11.0 +CMT,1,3,629,2.7,CSH,11.0 +CMT,1,1,275,0.7,CRD,5.0 +CMT,1,1,1578,4.9,CRD,20.5 +CMT,1,1,221,1.2,CRD,5.5 +CMT,1,2,1161,3.5,CRD,15.5 +CMT,1,1,815,1.0,CRD,9.5 +CMT,1,1,53,0.2,CSH,3.0 +CMT,1,1,574,2.0,CSH,9.0 +CMT,1,1,653,2.3,CSH,10.0 +CMT,1,2,530,1.5,CSH,8.5 +CMT,1,1,445,1.7,CRD,7.5 +CMT,1,2,401,1.0,CRD,6.5 +CMT,1,3,130,0.5,CSH,4.0 +CMT,1,1,123,0.8,CRD,4.5 +CMT,1,1,1457,4.5,CSH,19.0 +CMT,1,1,586,3.5,CRD,12.5 +CMT,1,1,504,1.1,CSH,7.0 +CMT,1,1,251,0.7,CSH,4.5 +CMT,1,2,1055,4.0,CSH,15.5 +CMT,1,1,1290,10.9,CRD,32.0 +CMT,1,2,270,0.9,CSH,5.5 +CMT,1,1,352,0.7,CRD,5.5 +CMT,1,2,337,1.2,CSH,6.5 +CMT,1,1,550,1.5,CSH,8.0 +CMT,1,1,216,0.5,CRD,4.0 +CMT,1,1,1454,5.6,CSH,20.5 +CMT,1,1,910,4.3,CSH,15.0 +CMT,1,1,696,2.9,CRD,11.5 +CMT,1,1,817,6.0,CSH,19.0 +CMT,1,1,467,0.5,CSH,6.0 +CMT,1,1,589,1.3,CRD,8.0 +CMT,1,1,548,0.8,CRD,7.0 +CMT,1,1,218,0.9,CRD,5.0 +CMT,1,3,970,4.2,CSH,15.5 +CMT,1,1,1020,2.7,CSH,13.0 +CMT,1,1,447,0.8,CRD,6.5 +CMT,1,1,194,0.6,CRD,4.5 +CMT,1,2,261,0.8,CRD,5.0 +CMT,1,2,890,3.7,CRD,14.5 +CMT,1,4,485,1.5,CRD,8.0 +CMT,1,2,357,1.0,CSH,6.0 +CMT,1,1,630,1.4,CRD,9.0 +CMT,1,1,842,2.4,CRD,12.0 +CMT,1,1,609,5.2,CRD,16.5 +CMT,1,1,169,1.0,CSH,5.0 +CMT,1,1,1194,3.1,CRD,14.5 +CMT,1,1,996,2.3,CRD,12.5 +CMT,1,3,1177,6.8,CSH,22.0 +CMT,1,1,550,1.8,CRD,9.0 +CMT,1,1,509,1.4,CRD,7.5 +CMT,5,1,513,3.4,CRD,55.0 +CMT,1,1,1786,6.1,CSH,24.5 +CMT,1,1,307,1.1,CRD,6.0 +CMT,1,1,950,2.7,CSH,13.0 +CMT,1,1,1076,2.1,CSH,13.0 +CMT,1,1,1050,6.7,CSH,21.5 +CMT,1,1,1143,10.2,CSH,29.0 +CMT,1,1,1264,6.7,CSH,20.0 +CMT,1,1,386,1.0,CSH,6.5 +CMT,1,2,715,2.8,CRD,11.5 +CMT,1,4,1157,4.3,CRD,17.0 +CMT,1,1,1722,8.6,CRD,28.5 +CMT,1,4,601,2.4,CRD,10.5 +CMT,1,1,57,0.3,CSH,3.0 +CMT,1,1,879,5.0,CRD,16.5 +CMT,5,3,31,0.0,CRD,100.0 +CMT,1,2,724,2.2,CRD,10.5 +CMT,1,1,731,1.0,CRD,9.0 +CMT,1,4,1216,2.9,CSH,14.5 +CMT,5,3,261,0.9,CRD,51.75 +CMT,5,1,10,4.0,CRD,16.0 +CMT,1,2,215,0.9,CSH,5.0 +CMT,1,1,925,2.9,CRD,13.0 +CMT,1,1,982,2.0,CRD,11.0 +CMT,1,2,191,0.6,CSH,4.5 +CMT,1,2,668,2.7,CSH,11.0 +CMT,1,2,601,2.2,CRD,10.0 +CMT,1,1,369,1.4,CSH,7.0 +CMT,1,1,749,1.6,CSH,9.5 +CMT,1,1,1017,8.3,CRD,24.5 +CMT,1,2,537,1.7,CSH,8.5 +CMT,1,1,39,1.1,DIS,2.5 +CMT,1,2,1055,1.6,CSH,11.5 +CMT,1,2,214,0.4,CSH,4.0 +CMT,1,1,1146,2.4,CSH,13.0 +CMT,1,1,1062,5.2,CRD,17.0 +CMT,1,1,273,0.8,CSH,5.5 +CMT,1,1,319,1.6,CSH,7.0 +CMT,1,1,600,1.7,CRD,9.0 +CMT,1,1,790,2.0,CSH,10.5 +CMT,1,2,470,3.1,CRD,10.5 +CMT,1,1,291,0.8,CSH,5.5 +CMT,1,2,405,1.0,CRD,6.5 +CMT,1,1,631,2.0,CSH,9.5 +CMT,1,2,130,0.6,CSH,4.0 +CMT,1,1,319,1.4,CSH,7.0 +CMT,1,1,706,1.9,CRD,9.5 +CMT,1,2,283,0.5,CRD,5.0 +CMT,3,1,2057,19.6,CRD,70.5 +CMT,1,1,537,3.6,CSH,12.0 +CMT,1,1,117,0.9,CRD,5.0 +CMT,1,2,230,1.0,CSH,5.0 +CMT,1,2,351,1.1,CRD,6.0 +CMT,1,1,902,3.8,CRD,14.5 +CMT,1,1,924,7.9,CRD,23.0 +CMT,1,1,556,2.2,CSH,9.5 +CMT,1,2,438,0.6,CRD,6.0 +CMT,1,1,382,1.0,CRD,6.0 +CMT,1,1,456,1.8,CSH,8.0 +CMT,1,3,2340,12.7,CRD,40.0 +CMT,1,2,710,2.6,CSH,11.0 +CMT,1,1,1123,3.4,CRD,14.5 +CMT,1,1,527,1.2,CSH,8.0 +CMT,1,1,894,1.9,CSH,11.5 +CMT,1,1,402,0.9,CRD,6.5 +CMT,1,1,742,1.0,CSH,9.5 +CMT,1,1,613,1.6,CSH,9.0 +CMT,1,1,564,1.2,CRD,8.0 +CMT,1,1,337,0.6,CSH,5.5 +CMT,1,1,162,0.5,CRD,4.0 +CMT,1,1,995,3.5,CSH,14.0 +CMT,1,1,959,6.1,CSH,19.0 +CMT,1,1,655,3.0,CSH,11.5 +CMT,1,1,1118,4.7,CRD,18.0 +CMT,1,1,1352,7.0,CRD,23.0 +CMT,1,1,1088,5.3,CSH,18.5 +CMT,1,1,595,1.4,CSH,8.5 +CMT,2,1,1614,18.4,CRD,52.0 +CMT,1,1,979,3.0,CSH,13.0 +CMT,1,1,436,1.0,CSH,6.5 +CMT,1,1,294,0.8,CSH,5.5 +CMT,1,1,537,1.3,CRD,8.0 +CMT,1,1,256,1.1,CSH,5.5 +CMT,1,1,1309,7.4,CSH,23.0 +CMT,2,1,1954,16.9,CSH,52.0 +CMT,1,1,398,0.7,CRD,6.0 +CMT,1,1,254,0.3,CRD,4.5 +CMT,1,1,133,0.4,CSH,4.0 +CMT,1,1,396,0.4,CSH,6.0 +CMT,1,3,436,0.8,CSH,6.5 +CMT,1,2,459,1.3,CRD,7.5 +CMT,1,1,706,2.8,CRD,11.5 +CMT,1,1,75,0.3,CRD,3.0 +CMT,1,1,1478,8.8,CSH,28.0 +CMT,1,1,1293,5.3,CRD,19.5 +CMT,1,1,1540,2.3,CRD,17.0 +CMT,1,1,354,1.3,CSH,6.5 +CMT,1,1,294,0.8,CRD,5.5 +CMT,1,1,522,1.7,CRD,8.0 +CMT,1,1,939,4.4,CRD,15.5 +CMT,1,1,1060,5.7,CSH,19.0 +CMT,1,1,1044,2.4,CSH,12.5 +CMT,1,1,1148,2.6,CRD,14.0 +CMT,1,1,507,1.2,CSH,7.5 +CMT,1,1,701,1.9,CSH,9.5 +CMT,1,1,349,1.7,CRD,7.0 +CMT,1,1,322,0.9,CSH,5.5 +CMT,1,1,1059,2.9,CRD,13.5 +CMT,1,1,401,1.1,CSH,6.5 +CMT,1,1,858,2.5,CRD,11.5 +CMT,1,1,969,2.2,CRD,12.5 +CMT,1,1,522,1.3,CRD,7.5 +CMT,1,1,215,0.5,CRD,4.5 +CMT,1,2,1927,4.4,CRD,22.0 +CMT,1,1,159,0.5,CRD,4.0 +CMT,1,4,428,1.3,CSH,7.0 +CMT,1,1,489,1.1,CRD,6.5 +CMT,1,1,208,0.4,CRD,4.5 +CMT,1,1,578,2.2,CSH,9.5 +CMT,1,1,345,0.9,CRD,6.0 +CMT,1,1,424,1.6,CRD,7.5 +CMT,1,2,201,0.3,CRD,4.5 +CMT,1,1,1056,3.6,CRD,14.5 +CMT,1,1,1058,10.1,CRD,28.5 +CMT,1,1,814,6.9,CRD,20.5 +CMT,1,1,1045,6.1,CRD,20.0 +CMT,1,2,1130,7.1,CSH,23.0 +CMT,1,1,332,1.1,CRD,6.0 +CMT,1,1,972,4.7,CSH,16.5 +CMT,1,1,1107,4.3,CSH,16.5 +CMT,1,3,808,2.2,CRD,11.0 +CMT,1,1,1424,11.8,CSH,33.5 +CMT,1,1,288,2.0,CRD,7.5 +CMT,1,1,187,1.0,CSH,5.0 +CMT,1,1,1033,4.6,CRD,17.0 +CMT,1,1,336,0.7,CRD,5.5 +CMT,1,1,934,2.2,CSH,12.0 +CMT,1,1,402,1.1,CSH,6.5 +CMT,1,1,440,1.0,CSH,6.5 +CMT,1,1,801,2.2,CSH,11.0 +CMT,1,1,1337,3.1,CRD,16.5 +CMT,1,1,415,0.8,CRD,6.0 +CMT,1,1,461,1.8,CSH,8.5 +CMT,1,1,180,0.6,CRD,4.5 +CMT,1,1,789,7.4,CSH,21.5 +CMT,1,1,1368,9.6,CRD,29.5 +CMT,1,1,532,2.2,CRD,9.0 +CMT,1,1,1277,3.6,CSH,16.0 +CMT,1,1,359,0.7,CRD,6.0 +CMT,1,1,193,0.6,CRD,4.0 +CMT,1,1,513,1.1,CRD,7.5 +CMT,1,1,966,4.2,CRD,15.5 +CMT,1,1,1017,3.3,CRD,14.0 +CMT,1,1,1619,1.5,CSH,16.5 +CMT,1,1,295,0.6,CRD,5.0 +CMT,1,1,147,0.4,CSH,4.0 +CMT,1,1,1594,3.6,CSH,19.0 +CMT,1,1,392,1.1,CSH,6.5 +CMT,1,1,543,1.6,CSH,8.0 +CMT,1,1,836,3.0,CSH,12.5 +CMT,1,1,357,0.8,CSH,5.5 +CMT,1,1,580,1.2,CRD,8.0 +CMT,1,1,442,0.6,CRD,6.0 +CMT,1,1,482,1.6,CRD,8.0 +CMT,1,1,1394,6.6,CRD,23.0 +CMT,1,1,371,0.7,CRD,5.5 +CMT,1,1,500,2.2,CRD,9.0 +CMT,1,1,327,0.6,CRD,5.5 +CMT,1,2,308,0.7,CSH,5.5 +CMT,1,2,1226,7.7,CRD,24.5 +CMT,1,1,115,0.4,CSH,3.5 +CMT,1,1,565,1.4,CRD,8.0 +CMT,1,1,515,1.8,CRD,9.0 +CMT,1,2,794,2.9,CSH,12.0 +CMT,1,1,1874,7.0,CRD,25.5 +CMT,1,1,762,6.5,CRD,19.5 +CMT,1,1,1289,5.1,CRD,19.0 +CMT,1,2,365,0.8,CRD,6.0 +CMT,1,1,263,0.5,CRD,4.5 +CMT,1,4,914,1.7,CRD,11.0 +CMT,1,1,1340,6.0,CSH,20.5 +CMT,1,1,843,3.4,CSH,13.5 +CMT,1,4,560,0.9,CSH,7.5 +CMT,1,4,2184,17.6,CSH,50.5 +CMT,1,1,680,1.7,CSH,9.5 +CMT,1,3,85,0.5,CRD,3.5 +CMT,1,1,728,1.9,CSH,10.0 +CMT,1,1,246,0.9,CSH,5.0 +CMT,1,1,444,1.9,CRD,8.0 +CMT,1,1,544,2.4,CRD,10.0 +CMT,1,1,260,0.9,CSH,5.5 +CMT,1,1,307,0.8,CSH,5.5 +CMT,1,1,1280,3.1,CRD,15.5 +CMT,1,1,552,1.7,CRD,8.5 +CMT,1,1,1768,3.0,CRD,19.0 +CMT,1,1,364,0.9,CRD,6.0 +CMT,1,1,413,1.1,CRD,7.0 +CMT,1,1,1167,3.5,CSH,15.5 +CMT,1,1,458,1.7,CRD,7.5 +CMT,1,1,463,1.6,CRD,8.0 +CMT,1,1,348,1.4,CRD,7.0 +CMT,1,1,577,1.0,CRD,8.0 +CMT,1,1,410,1.1,CSH,6.5 +CMT,2,1,4292,17.3,CRD,52.0 +CMT,1,1,1145,3.2,CRD,14.5 +CMT,1,1,299,1.1,CSH,5.5 +CMT,1,1,1251,1.9,CRD,14.0 +CMT,1,1,669,3.5,CSH,12.5 +CMT,1,1,600,0.9,CSH,7.5 +CMT,1,1,533,1.3,CRD,7.5 +CMT,1,1,403,1.2,CSH,7.0 +CMT,1,1,470,1.6,CRD,8.0 +CMT,1,1,596,1.6,CRD,8.0 +CMT,1,1,403,1.5,CRD,7.0 +CMT,2,2,1713,17.4,CRD,52.0 +CMT,1,1,926,4.1,CRD,15.0 +CMT,1,1,427,1.4,CSH,7.5 +CMT,1,1,312,0.2,CRD,5.0 +CMT,1,1,78,0.5,CSH,3.5 +CMT,1,1,800,7.2,CSH,21.5 +CMT,1,2,358,0.9,CSH,6.0 +CMT,1,1,1247,2.0,CRD,14.0 +CMT,1,1,1077,4.4,CSH,17.0 +CMT,1,3,613,1.9,CSH,9.5 +CMT,1,1,242,0.5,CSH,5.0 +CMT,1,1,196,0.7,CRD,5.0 +CMT,1,3,226,0.9,CRD,5.0 +CMT,1,2,1777,4.3,CRD,19.5 +CMT,1,2,635,1.7,CSH,9.0 +CMT,1,2,315,1.3,CRD,6.5 +CMT,1,1,379,1.8,CSH,7.5 +CMT,1,1,488,0.9,CRD,7.0 +CMT,1,2,565,1.5,CSH,8.5 +CMT,1,4,204,0.5,CSH,4.5 +CMT,1,2,463,2.1,CRD,8.5 +CMT,1,3,844,2.5,CSH,12.0 +CMT,1,3,294,0.7,CSH,5.0 +CMT,1,1,627,1.8,CRD,9.0 +CMT,1,1,394,0.9,CRD,6.5 +CMT,1,4,189,0.4,CSH,4.0 +CMT,1,1,782,7.1,CRD,21.0 +CMT,1,1,509,1.1,CSH,7.5 +CMT,1,4,837,2.0,CSH,11.0 +CMT,1,1,334,1.0,CSH,6.0 +CMT,1,3,671,2.4,CSH,10.0 +CMT,1,1,789,2.9,CSH,12.5 +CMT,1,1,967,4.6,CRD,16.5 +CMT,1,1,417,1.7,CSH,7.5 +CMT,1,2,335,1.3,CSH,6.5 +CMT,1,2,1138,4.0,CRD,16.0 +CMT,1,2,618,2.3,CRD,9.5 +CMT,1,3,289,0.8,CRD,5.5 +CMT,1,2,410,1.1,CSH,6.5 +CMT,1,2,868,3.2,CSH,12.5 +CMT,1,4,252,0.6,CSH,5.0 +CMT,1,2,319,0.7,CRD,5.5 +CMT,1,1,244,0.9,CRD,5.0 +CMT,1,1,1185,6.9,CSH,21.5 +CMT,1,1,869,3.3,CRD,13.0 +CMT,1,1,124,0.6,CSH,4.0 +CMT,1,1,817,3.7,CRD,13.5 +CMT,1,1,143,0.6,CSH,4.5 +CMT,1,1,755,3.6,CRD,13.5 +CMT,1,1,686,1.5,CSH,9.5 +CMT,1,2,866,1.7,CSH,10.5 +CMT,1,3,742,1.7,CSH,9.5 +CMT,1,2,649,5.0,CRD,15.5 +CMT,1,4,967,3.6,CSH,14.0 +CMT,1,2,1068,4.8,CRD,18.0 +CMT,1,1,986,6.1,CRD,19.5 +CMT,1,1,945,2.1,CRD,12.5 +CMT,1,1,478,1.0,CRD,7.0 +CMT,1,1,281,0.5,CSH,5.0 +CMT,1,1,542,0.9,CSH,7.0 +CMT,1,1,356,1.1,CRD,6.0 +CMT,1,1,402,1.3,CSH,7.0 +CMT,1,1,408,0.9,CSH,6.5 +CMT,1,1,321,1.0,CSH,6.0 +CMT,1,1,1537,10.2,CSH,31.0 +CMT,1,1,917,4.4,CRD,15.0 +CMT,1,1,268,1.1,CRD,5.5 +CMT,1,1,426,1.0,CRD,6.5 +CMT,1,1,631,1.7,CRD,9.0 +CMT,1,1,394,0.7,CSH,6.0 +CMT,1,1,215,0.7,CRD,5.0 +CMT,1,1,282,1.1,CRD,6.0 +CMT,1,1,759,3.2,CRD,12.0 +CMT,1,1,784,1.7,CRD,9.5 +CMT,1,1,310,0.8,CSH,5.5 +CMT,1,1,1052,2.2,CRD,12.0 +CMT,1,1,1414,3.6,CSH,18.5 +CMT,1,1,1803,1.5,CRD,18.0 +CMT,1,1,556,1.2,CRD,7.5 +CMT,1,1,448,1.5,CRD,7.0 +CMT,1,1,1143,2.9,CRD,14.0 +CMT,1,1,640,2.9,CRD,11.0 +CMT,1,2,1280,6.5,CSH,22.0 +CMT,1,4,553,1.8,CSH,8.5 +CMT,1,1,408,1.6,CSH,7.5 +CMT,1,2,633,3.0,CRD,11.0 +CMT,1,2,1022,4.7,CRD,17.0 +CMT,1,1,1055,3.1,CRD,13.5 +CMT,1,1,483,1.3,CSH,7.5 +CMT,1,1,694,3.1,CRD,11.5 +CMT,1,1,177,0.9,CSH,5.0 +CMT,1,1,1424,7.6,CSH,26.5 +CMT,1,1,1039,3.6,CSH,15.0 +CMT,1,1,1445,3.2,CSH,17.0 +CMT,3,2,2302,18.5,CRD,69.5 +CMT,1,1,463,1.2,CRD,7.0 +CMT,1,1,680,1.0,CSH,8.5 +CMT,1,1,363,1.2,CRD,6.5 +CMT,1,1,326,1.7,CRD,7.0 +CMT,1,1,469,1.5,CSH,7.5 +CMT,1,1,341,1.7,CSH,7.5 +CMT,1,1,874,2.8,CSH,12.5 +CMT,1,1,446,0.7,CRD,6.5 +CMT,1,1,1092,2.5,CSH,14.0 +CMT,1,1,1140,2.2,CRD,13.5 +CMT,1,1,154,0.5,CRD,4.0 +CMT,1,1,274,0.5,CSH,4.5 +CMT,1,1,554,1.1,CRD,8.0 +CMT,1,1,656,2.2,CRD,10.0 +CMT,1,1,1300,4.9,CRD,18.5 +CMT,1,1,1155,3.3,CRD,15.5 +CMT,1,1,952,3.2,CSH,13.5 +CMT,1,1,608,1.3,CRD,8.5 +CMT,1,1,463,2.1,CRD,8.5 +CMT,1,1,872,4.8,CRD,15.5 +CMT,1,1,136,0.5,CRD,4.0 +CMT,1,1,326,0.9,CSH,5.5 +CMT,1,1,410,1.1,CRD,7.0 +CMT,1,1,316,0.8,CRD,5.5 +CMT,1,1,161,0.4,CRD,4.0 +CMT,1,1,2361,7.6,CRD,29.5 +CMT,1,1,570,1.3,CRD,8.0 +CMT,2,2,1650,18.9,CSH,52.0 +CMT,1,1,829,1.3,CSH,10.0 +CMT,1,1,308,1.3,CSH,6.0 +CMT,1,1,462,1.8,CRD,8.0 +CMT,1,1,814,2.0,CRD,10.5 +CMT,1,1,596,1.3,CSH,8.0 +CMT,1,1,240,0.8,CRD,5.0 +CMT,1,1,288,0.7,CSH,5.0 +CMT,1,1,494,0.9,CRD,7.0 +CMT,1,1,672,1.0,CRD,8.5 +CMT,1,1,497,1.4,CRD,7.5 +CMT,1,1,663,2.4,CRD,10.5 +CMT,1,1,436,2.1,CSH,9.0 +CMT,1,1,644,2.3,CRD,10.0 +CMT,1,1,835,0.6,CRD,9.5 +CMT,1,1,685,1.3,CRD,9.0 +CMT,1,1,149,0.4,CRD,4.0 +CMT,1,1,568,0.8,CSH,7.5 +CMT,1,1,410,1.9,CSH,8.0 +CMT,5,1,157,0.0,CRD,160.0 +CMT,1,1,616,1.7,CRD,9.0 +CMT,1,1,541,0.9,CSH,7.5 +CMT,1,1,287,0.7,CRD,5.5 +CMT,1,1,630,1.7,CRD,9.0 +CMT,1,1,816,2.4,CSH,11.5 +CMT,1,1,781,1.2,CRD,9.5 +CMT,1,1,1039,5.3,CRD,17.5 +CMT,1,1,202,0.4,CSH,4.5 +CMT,1,1,432,1.9,CRD,8.0 +CMT,1,1,145,0.6,CRD,4.5 +CMT,1,1,719,1.2,CRD,9.0 +CMT,1,1,1014,3.8,CSH,14.5 +CMT,1,1,1245,2.4,CSH,14.0 +CMT,1,1,329,0.8,CRD,5.5 +CMT,1,1,440,1.3,CRD,7.0 +CMT,1,1,725,2.8,CRD,11.5 +CMT,1,1,887,2.7,CRD,12.0 +CMT,1,1,135,0.2,CSH,3.5 +CMT,1,1,430,1.0,CRD,7.0 +CMT,1,1,133,0.2,CRD,3.5 +CMT,1,1,794,1.5,CSH,9.5 +CMT,1,1,169,0.9,CRD,5.0 +CMT,1,1,753,1.6,CSH,9.5 +CMT,1,1,903,2.3,CRD,11.5 +CMT,1,1,507,1.7,CRD,8.0 +CMT,1,1,596,0.9,CSH,8.0 +CMT,1,1,796,2.1,CSH,11.0 +CMT,1,1,1041,2.8,CSH,13.0 +CMT,1,1,1383,3.2,CSH,16.0 +CMT,1,1,779,2.3,CRD,11.5 +CMT,1,1,374,1.2,CSH,6.5 +CMT,1,1,353,1.0,CSH,6.0 +CMT,1,1,570,1.0,CRD,8.0 +CMT,1,3,1343,10.5,CSH,31.0 +CMT,2,1,2303,17.0,CRD,52.0 +CMT,2,1,2630,18.9,CRD,52.0 +CMT,1,1,318,1.1,CSH,6.0 +CMT,1,1,150,0.5,CRD,4.0 +CMT,1,1,932,5.3,CSH,17.0 +CMT,1,1,354,1.3,CRD,6.5 +CMT,1,1,731,3.0,CRD,12.0 +CMT,1,1,964,4.6,CRD,16.5 +CMT,1,1,452,1.0,CSH,6.5 +CMT,1,1,849,2.1,CRD,11.5 +CMT,1,1,283,0.8,CRD,5.0 +CMT,1,1,269,1.1,CRD,5.5 +CMT,1,1,724,2.8,CSH,11.5 +CMT,1,1,455,0.4,CSH,6.5 +CMT,1,1,986,4.8,CRD,16.5 +CMT,1,1,481,1.3,CRD,7.5 +CMT,1,1,293,1.6,CRD,6.5 +CMT,1,1,434,1.9,CSH,8.5 +CMT,1,1,462,1.6,CSH,7.5 +CMT,1,1,260,0.8,CRD,5.0 +CMT,1,1,776,2.3,CSH,11.5 +CMT,1,1,134,0.3,CSH,3.5 +CMT,1,1,198,0.7,CRD,4.5 +CMT,1,1,875,4.6,CSH,16.0 +CMT,1,1,456,1.1,CRD,7.0 +CMT,1,1,807,2.4,CSH,11.5 +CMT,1,1,776,1.6,CSH,10.0 +CMT,1,1,571,1.1,CSH,8.0 +CMT,1,1,1048,3.2,CSH,15.0 +CMT,1,1,829,3.5,CSH,14.0 +CMT,1,1,494,0.5,CSH,6.0 +CMT,1,1,430,1.9,CSH,8.0 +CMT,1,1,1145,2.9,CRD,15.5 +CMT,1,1,510,2.1,CRD,9.5 +CMT,1,1,323,1.0,CSH,5.5 +CMT,1,1,388,1.2,CRD,6.5 +CMT,1,1,1033,1.6,CSH,12.0 +CMT,1,1,230,0.5,CSH,4.5 +CMT,1,1,209,0.7,CRD,4.5 +CMT,1,1,188,0.5,CRD,4.0 +CMT,1,1,2019,11.1,CSH,34.5 +CMT,1,1,617,1.9,CRD,9.5 +CMT,1,1,975,3.0,CRD,13.5 +CMT,1,1,869,1.1,CRD,10.0 +CMT,1,1,984,2.8,CRD,13.0 +CMT,1,1,470,1.8,CSH,8.0 +CMT,1,1,580,2.0,CRD,9.5 +CMT,4,1,193,1.1,CRD,5.5 +CMT,1,1,228,0.6,CRD,5.0 +CMT,1,1,408,1.2,CSH,6.5 +CMT,1,1,1700,6.7,CSH,23.5 +CMT,1,1,482,2.7,CRD,10.0 +CMT,1,1,182,0.9,CSH,5.0 +CMT,1,1,128,0.4,CRD,4.0 +CMT,1,1,1038,1.9,CRD,12.0 +CMT,1,1,955,3.6,CSH,14.5 +CMT,1,1,232,1.3,CSH,6.0 +CMT,1,1,871,3.9,CSH,14.5 +CMT,1,1,260,1.0,CSH,5.5 +CMT,1,1,711,1.2,CSH,8.5 +CMT,1,1,376,1.4,CRD,7.0 +CMT,1,1,560,0.8,CRD,7.5 +CMT,1,1,991,3.9,CRD,15.0 +CMT,1,1,2112,6.0,CSH,25.5 +CMT,1,1,313,1.0,CSH,6.0 +CMT,1,1,824,1.8,CRD,10.5 +CMT,1,1,378,1.0,CSH,6.5 +CMT,1,1,984,3.9,CRD,15.0 +CMT,1,1,328,0.3,CSH,5.0 +CMT,1,1,765,3.0,CRD,12.0 +CMT,1,1,297,0.3,CSH,5.0 +CMT,1,1,1241,6.2,CRD,21.0 +CMT,1,1,250,0.8,CRD,5.5 +CMT,1,1,454,0.7,CRD,6.5 +CMT,1,1,1411,4.2,CRD,17.5 +CMT,1,1,362,1.6,CSH,7.5 +CMT,1,1,1021,4.4,CSH,17.0 +CMT,1,1,648,1.9,CSH,9.5 +CMT,1,1,2356,6.9,CRD,29.5 +CMT,1,1,963,2.3,CRD,11.5 +CMT,1,1,422,0.7,CRD,6.5 +CMT,1,1,164,0.2,CSH,3.5 +CMT,1,1,397,1.3,CRD,7.0 +CMT,1,1,1000,2.8,CRD,13.5 +CMT,1,1,946,3.5,CSH,14.0 +CMT,1,1,741,2.0,CRD,10.5 +CMT,1,1,1084,2.1,CRD,12.5 +CMT,1,1,476,1.7,CRD,8.0 +CMT,1,1,789,1.6,CRD,10.0 +CMT,1,1,750,1.5,CSH,9.0 +CMT,1,1,777,1.2,CRD,9.0 +CMT,1,1,228,0.7,CSH,4.5 +CMT,1,1,349,0.8,CRD,6.0 +CMT,1,1,162,1.0,CRD,5.0 +CMT,1,1,1939,12.2,CRD,38.0 +CMT,1,1,941,3.4,CSH,13.5 +CMT,1,1,662,1.9,CRD,9.5 +CMT,1,1,1363,10.1,CSH,30.0 +CMT,1,1,1171,5.9,CSH,20.5 +CMT,1,1,983,3.6,CSH,15.0 +CMT,2,2,1852,17.8,CRD,52.0 +CMT,1,1,413,1.6,CRD,7.5 +CMT,1,1,800,1.8,CSH,10.5 +CMT,1,1,468,0.6,CRD,6.5 +CMT,1,1,382,1.2,CSH,7.0 +CMT,2,1,1739,17.2,CSH,52.0 +CMT,1,1,294,1.1,CRD,5.5 +CMT,1,1,656,3.0,CRD,12.0 +CMT,1,1,488,1.3,CRD,7.5 +CMT,1,1,880,2.7,CSH,12.5 +CMT,1,1,205,0.5,CSH,4.5 +CMT,1,1,220,0.8,CRD,4.5 +CMT,1,1,868,2.0,CSH,11.0 +CMT,1,1,1047,3.3,CSH,14.0 +CMT,1,1,712,1.7,CSH,9.5 +CMT,1,1,436,1.1,CSH,7.0 +CMT,1,1,226,0.8,CSH,5.0 +CMT,1,1,167,0.6,CSH,4.5 +CMT,1,1,877,2.1,CSH,11.0 +CMT,1,1,365,0.8,CSH,6.5 +CMT,1,1,1505,3.0,CSH,18.0 +CMT,1,1,509,1.7,CRD,8.5 +CMT,1,1,1490,15.4,CSH,42.0 +CMT,1,1,1631,11.0,CSH,34.0 +CMT,4,1,2259,21.4,CRD,63.0 +CMT,1,1,802,1.1,CRD,9.5 +CMT,1,1,755,2.7,CRD,11.0 +CMT,1,1,932,4.4,CRD,15.5 +CMT,1,1,586,2.0,CRD,9.0 +CMT,1,1,800,3.4,CSH,13.5 +CMT,1,1,280,1.6,CSH,7.0 +CMT,1,2,349,0.9,CSH,6.0 +CMT,1,2,742,2.3,CRD,11.0 +CMT,1,1,506,1.3,CRD,8.0 +CMT,1,1,1137,3.6,CSH,15.5 +CMT,1,1,812,2.2,CSH,11.0 +CMT,1,1,1065,4.6,CSH,17.0 +CMT,1,2,697,2.0,CSH,10.0 +CMT,1,1,915,3.6,CRD,15.0 +CMT,1,1,532,1.6,CRD,8.5 +CMT,1,1,803,3.8,CSH,13.5 +CMT,1,1,2946,16.8,CSH,50.5 +CMT,1,1,1129,9.3,CRD,27.5 +CMT,1,1,270,0.4,CSH,4.5 +CMT,1,1,717,3.9,CRD,13.5 +CMT,1,1,406,1.5,CSH,7.5 +CMT,1,2,783,3.9,CSH,14.0 +CMT,1,1,1352,13.7,CRD,37.5 +CMT,1,3,490,2.6,CSH,9.5 +CMT,1,1,273,0.7,CSH,5.0 +CMT,1,1,277,1.3,CSH,6.5 +CMT,1,1,622,1.9,CSH,9.5 +CMT,1,1,2354,6.7,CSH,26.5 +CMT,1,1,586,2.0,CRD,9.5 +CMT,1,1,900,2.2,CRD,12.0 +CMT,1,1,526,0.8,CRD,7.0 +CMT,1,1,681,2.0,CRD,10.0 +CMT,1,1,163,0.5,CSH,4.0 +CMT,1,1,496,1.1,CRD,7.5 +CMT,1,2,747,4.0,CRD,14.0 +CMT,1,1,1564,12.0,CRD,35.0 +CMT,1,2,1713,11.7,CRD,35.0 +CMT,1,2,1019,5.2,CSH,18.0 +CMT,1,1,484,2.6,CRD,9.5 +CMT,1,2,248,0.7,CRD,5.0 +CMT,1,1,2262,7.0,CSH,27.5 +CMT,1,1,619,0.9,CSH,8.0 +CMT,1,1,697,1.3,CSH,9.0 +CMT,1,1,725,2.1,CRD,10.5 +CMT,1,1,814,4.9,CRD,16.0 +CMT,1,1,227,1.0,CSH,5.5 +CMT,1,3,556,2.6,CSH,10.5 +CMT,1,1,2345,3.3,CRD,12.5 +CMT,1,1,172,1.0,CSH,5.0 +CMT,1,1,580,2.1,CRD,10.0 +CMT,1,1,1132,5.9,CSH,20.5 +CMT,1,2,908,2.7,CRD,12.5 +CMT,1,1,581,1.9,CSH,9.0 +CMT,1,1,983,3.2,CSH,14.0 +CMT,1,1,323,0.9,CRD,6.0 +CMT,1,2,329,0.7,CSH,5.5 +CMT,1,2,1169,4.8,CRD,17.5 +CMT,1,1,249,0.5,CRD,4.5 +CMT,1,1,206,0.7,CSH,4.5 +CMT,1,1,368,1.0,CSH,6.5 +CMT,1,1,548,1.0,CSH,7.5 +CMT,1,1,238,0.6,CSH,4.5 +CMT,1,1,349,1.0,CSH,6.5 +CMT,1,1,449,1.5,CSH,8.0 +CMT,1,1,519,1.6,CSH,8.0 +CMT,1,1,165,0.3,CRD,4.0 +CMT,1,1,640,1.6,CSH,8.5 +CMT,1,1,216,0.2,CSH,4.0 +CMT,1,1,1621,8.7,CRD,29.0 +CMT,1,1,678,2.7,CSH,11.0 +CMT,1,1,453,1.5,CSH,7.5 +CMT,1,1,843,4.6,CSH,16.5 +CMT,1,1,837,2.6,CRD,12.0 +CMT,1,1,598,2.2,CRD,9.5 +CMT,1,1,235,1.0,CRD,5.5 +CMT,1,1,783,2.4,CSH,10.5 +CMT,1,1,524,1.6,CRD,8.0 +CMT,1,1,1301,10.1,CSH,29.5 +CMT,1,1,158,1.2,CRD,5.5 +CMT,1,1,376,1.3,CSH,6.5 +CMT,1,1,709,2.7,CRD,11.5 +CMT,1,1,727,1.6,CRD,9.5 +CMT,1,1,292,0.4,CSH,5.0 +CMT,1,1,437,1.3,CSH,7.0 +CMT,1,1,286,0.7,CRD,5.5 +CMT,1,1,346,1.3,CSH,6.5 +CMT,1,1,1340,6.6,CSH,23.0 +CMT,1,1,779,1.3,CRD,9.5 +CMT,1,1,380,1.0,CRD,6.5 +CMT,1,1,821,3.6,CRD,13.5 +CMT,1,1,732,3.8,CRD,13.0 +CMT,1,1,402,0.7,CRD,6.0 +CMT,1,4,208,0.8,CSH,5.0 +CMT,1,1,742,2.2,CSH,10.5 +CMT,1,4,607,0.7,CRD,7.5 +CMT,1,3,750,2.9,CRD,12.0 +CMT,1,2,396,0.9,CRD,6.5 +CMT,1,1,304,0.8,CRD,5.5 +CMT,1,2,355,0.7,CSH,6.0 +CMT,1,2,426,1.7,CSH,7.5 +CMT,1,1,773,2.3,CRD,11.0 +CMT,1,1,846,1.3,CSH,10.5 +CMT,1,1,420,0.7,CSH,6.5 +CMT,1,4,392,1.0,CSH,6.5 +CMT,1,1,369,1.7,CSH,7.5 +CMT,1,1,501,2.9,CRD,10.5 +CMT,1,1,538,1.7,CRD,8.5 +CMT,1,1,176,1.2,CRD,5.5 +CMT,1,1,317,1.8,CSH,7.0 +CMT,1,1,1925,5.3,CRD,23.5 +CMT,1,1,686,1.8,CRD,9.5 +CMT,1,1,449,1.6,CSH,7.5 +CMT,1,1,898,1.8,CSH,10.5 +CMT,1,1,312,0.6,CRD,5.5 +CMT,1,1,306,0.7,CSH,5.5 +CMT,1,1,551,1.1,CSH,7.5 +CMT,1,1,830,1.3,CRD,10.0 +CMT,1,1,653,1.6,CSH,8.5 +CMT,1,1,1536,0.7,CSH,6.5 +CMT,1,1,575,1.2,CSH,8.0 +CMT,1,1,1069,1.5,CSH,11.5 +CMT,1,1,1199,1.7,CRD,13.0 +CMT,1,1,431,1.5,CSH,7.5 +CMT,1,1,670,1.6,CRD,9.0 +CMT,1,1,613,2.9,CRD,10.5 +CMT,2,1,2239,17.6,CRD,52.0 +CMT,1,1,584,0.8,CSH,7.5 +CMT,1,1,1059,2.6,CSH,13.0 +CMT,1,3,630,1.0,CSH,8.5 +CMT,1,1,259,1.3,CRD,6.0 +CMT,1,3,1271,6.0,CSH,21.5 +CMT,1,1,658,1.6,CRD,9.5 +CMT,1,2,733,1.8,CRD,10.0 +CMT,1,1,799,2.2,CRD,12.0 +CMT,1,1,619,2.4,CRD,10.0 +CMT,1,1,261,0.7,CRD,5.0 +CMT,1,1,1108,5.8,CSH,21.0 +CMT,1,1,888,3.1,CRD,13.0 +CMT,1,2,828,2.6,CRD,11.5 +CMT,1,1,72,0.3,CSH,3.0 +CMT,1,1,456,1.0,CSH,7.0 +CMT,1,3,759,1.6,CSH,9.5 +CMT,1,2,604,1.2,CRD,8.0 +CMT,1,1,873,2.7,CRD,12.0 +CMT,1,1,952,1.6,CRD,11.0 +CMT,1,1,268,0.6,CRD,5.0 +CMT,1,1,390,1.1,CRD,6.5 +CMT,1,1,683,1.7,CRD,9.5 +CMT,1,2,604,2.6,CRD,11.0 +CMT,1,1,2681,2.3,CSH,10.5 +CMT,1,1,415,1.9,CRD,8.0 +CMT,1,2,881,2.3,CRD,12.0 +CMT,1,1,707,1.8,CRD,10.5 +CMT,1,2,286,0.1,CRD,4.5 +CMT,1,1,276,0.7,CSH,5.0 +CMT,1,1,735,1.4,CRD,9.5 +CMT,1,1,474,1.6,CRD,8.0 +CMT,1,2,353,0.4,CSH,5.5 +CMT,1,1,206,0.8,CSH,5.0 +CMT,1,1,870,2.8,CRD,12.5 +CMT,1,1,877,5.7,CSH,19.0 +CMT,1,1,551,1.1,CRD,8.0 +CMT,1,1,809,2.9,CSH,12.0 +CMT,1,1,255,1.1,CRD,5.5 +CMT,1,2,288,0.8,CSH,5.5 +CMT,1,1,99,0.5,CSH,4.0 +CMT,1,1,349,1.2,CSH,7.0 +CMT,1,1,291,0.6,CSH,5.5 +CMT,1,1,594,1.8,CRD,9.5 +CMT,1,1,203,0.6,CSH,4.5 +CMT,1,1,1002,1.0,CSH,11.0 +CMT,1,1,274,0.6,CSH,5.0 +CMT,1,1,791,1.2,CSH,9.5 +CMT,1,1,493,1.9,CRD,8.0 +CMT,1,1,476,1.7,CSH,8.0 +CMT,1,1,1015,2.6,CSH,13.0 +CMT,1,1,749,2.9,CSH,12.0 +CMT,1,1,726,1.9,CRD,10.0 +CMT,1,1,442,1.0,CRD,7.0 +CMT,1,1,327,1.5,CRD,6.5 +CMT,1,1,694,1.8,CRD,9.5 +CMT,1,1,546,2.4,CSH,9.5 +CMT,1,1,234,0.7,CRD,5.0 +CMT,1,1,2812,20.1,CRD,60.5 +CMT,1,1,558,5.2,CRD,16.0 +CMT,1,1,543,2.9,CRD,10.5 +CMT,4,1,453,1.9,CRD,8.5 +CMT,1,1,906,3.6,CRD,15.0 +CMT,1,1,379,1.0,CRD,6.5 +CMT,1,1,1224,4.3,CRD,17.0 +CMT,1,1,606,0.9,CSH,8.0 +CMT,1,1,2662,13.7,CRD,43.5 +CMT,1,2,486,2.7,CRD,10.0 +CMT,1,2,379,1.2,CRD,6.5 +CMT,1,1,732,2.6,CSH,11.5 +CMT,1,4,769,2.0,CSH,10.5 +CMT,1,2,1026,2.8,CSH,13.5 +CMT,1,1,486,0.9,CSH,7.0 +CMT,1,1,918,2.6,CSH,12.0 +CMT,1,1,282,0.8,CRD,5.5 +CMT,1,1,728,1.7,CSH,10.0 +CMT,1,1,1283,3.8,CRD,16.0 +CMT,1,1,425,1.2,CRD,7.0 +CMT,1,1,804,2.9,CRD,12.0 +CMT,1,1,483,1.4,CRD,7.5 +CMT,1,2,349,0.8,CSH,5.5 +CMT,1,2,362,0.9,CSH,6.0 +CMT,1,1,342,1.4,CRD,7.0 +CMT,1,4,375,1.1,CSH,6.5 +CMT,1,1,361,1.5,CSH,7.0 +CMT,1,1,350,1.3,CRD,7.0 +CMT,1,1,349,0.7,CRD,6.0 +CMT,1,1,534,1.7,CSH,8.0 +CMT,1,1,484,1.5,CRD,7.5 +CMT,1,1,1148,4.0,CSH,17.0 +CMT,1,1,803,2.0,CRD,11.0 +CMT,1,1,679,2.3,CRD,10.0 +CMT,1,2,1064,3.8,CSH,15.5 +CMT,1,1,639,1.5,CRD,9.0 +CMT,1,1,342,0.8,CRD,5.5 +CMT,1,1,593,0.9,CRD,7.5 +CMT,1,1,1296,5.2,CRD,19.5 +CMT,1,1,214,1.0,CRD,5.0 +CMT,1,1,623,1.9,CSH,9.5 +CMT,1,1,519,0.9,CRD,7.0 +CMT,1,1,198,0.5,CSH,4.0 +CMT,1,1,590,1.8,CSH,9.5 +CMT,1,2,1203,4.4,CSH,17.0 +CMT,1,1,470,1.1,CSH,7.0 +CMT,1,1,375,1.2,CSH,7.0 +CMT,1,1,693,0.8,CRD,8.5 +CMT,1,1,794,3.0,CSH,13.0 +CMT,1,1,194,0.6,CSH,4.5 +CMT,1,1,1097,6.9,CSH,22.5 +CMT,1,1,153,0.4,CRD,4.0 +CMT,1,1,1362,3.3,CRD,16.5 +CMT,1,1,306,1.0,CRD,6.0 +CMT,1,1,262,0.5,CRD,5.0 +CMT,1,1,782,2.4,CSH,11.0 +CMT,1,1,619,2.2,CRD,10.0 +CMT,1,2,1388,2.9,CSH,16.0 +CMT,1,1,317,1.0,CSH,5.5 +CMT,1,1,1349,3.4,CSH,16.5 +CMT,1,1,520,0.8,CRD,7.0 +CMT,1,2,909,2.9,CRD,12.5 +CMT,1,4,212,1.0,CSH,5.5 +CMT,1,1,754,1.6,CRD,10.0 +CMT,1,2,595,3.4,CRD,12.5 +CMT,1,1,428,1.1,CSH,7.0 +CMT,1,1,565,1.7,CRD,9.0 +CMT,1,1,890,1.8,CRD,11.0 +CMT,1,2,599,1.5,CRD,8.0 +CMT,1,1,181,0.3,CRD,4.0 +CMT,1,1,268,1.0,CSH,5.5 +CMT,1,2,548,2.6,CSH,10.0 +CMT,1,1,1090,4.7,CRD,18.0 +CMT,1,1,420,0.6,CRD,6.0 +CMT,1,1,326,1.3,CSH,6.5 +CMT,1,1,228,0.6,CSH,4.5 +CMT,1,1,877,3.3,CRD,13.0 +CMT,1,1,587,2.1,CSH,9.5 +CMT,1,2,165,0.4,CSH,4.0 +CMT,1,1,1074,2.6,CRD,13.5 +CMT,1,1,461,1.6,CSH,8.0 +CMT,1,1,285,0.6,CSH,5.5 +CMT,1,1,285,0.7,CSH,5.0 +CMT,1,1,975,6.0,CRD,19.5 +CMT,1,1,894,2.3,CRD,11.5 +CMT,1,1,394,0.6,CRD,6.0 +CMT,1,1,1130,3.4,CRD,15.0 +CMT,1,1,575,1.6,CSH,8.5 +CMT,1,3,1303,6.4,CRD,22.0 +CMT,1,1,470,1.0,CRD,7.0 +CMT,1,2,491,1.3,CRD,7.5 +CMT,1,1,1968,4.8,CSH,22.5 +CMT,1,1,1251,7.1,CRD,24.0 +CMT,1,1,654,1.9,CRD,9.5 +CMT,1,1,358,0.6,CSH,5.5 +CMT,1,1,319,1.4,CSH,6.5 +CMT,1,1,477,2.1,CRD,9.0 +CMT,1,1,453,1.6,CRD,7.5 +CMT,1,2,378,1.1,CRD,6.5 +CMT,1,4,173,0.5,CSH,4.0 +CMT,5,2,47,0.0,CRD,175.0 +CMT,1,2,123,0.5,CRD,4.0 +CMT,1,1,597,2.1,CSH,10.0 +CMT,1,1,540,1.4,CRD,8.5 +CMT,1,1,299,1.0,CSH,6.0 +CMT,1,1,643,1.4,CRD,8.5 +CMT,1,1,114,0.3,CRD,3.5 +CMT,1,2,489,1.2,CSH,7.5 +CMT,1,1,619,1.7,CSH,8.5 +CMT,1,1,308,1.0,CSH,6.0 +CMT,1,1,407,0.9,CSH,6.0 +CMT,1,1,864,2.4,CRD,12.0 +CMT,1,2,2221,8.3,CSH,30.5 +CMT,1,1,418,1.1,CRD,6.5 +CMT,1,1,281,0.8,CRD,5.5 +CMT,1,1,895,1.2,CRD,10.5 +CMT,1,1,448,0.9,CRD,6.5 +CMT,1,1,833,3.0,CRD,12.5 +CMT,1,1,287,0.8,CSH,5.5 +CMT,1,1,527,2.4,CRD,9.5 +CMT,1,1,1630,3.3,CSH,18.5 +CMT,1,2,370,1.2,CRD,7.0 +CMT,1,1,185,0.7,CRD,4.5 +CMT,1,1,471,1.4,CRD,7.5 +CMT,1,1,1774,8.6,CSH,27.0 +CMT,1,1,1008,2.8,CRD,13.5 +CMT,1,1,707,2.2,CRD,10.5 +CMT,1,1,307,1.2,CSH,6.0 +CMT,1,2,624,1.7,CSH,9.0 +CMT,1,1,1768,4.4,CRD,21.0 +CMT,1,1,396,1.5,CRD,7.0 +CMT,1,1,629,2.0,CSH,10.0 +CMT,1,1,371,1.2,CRD,6.5 +CMT,1,1,2249,4.3,CRD,24.0 +CMT,1,1,721,4.3,CRD,15.0 +CMT,1,2,1183,4.3,CRD,17.0 +CMT,1,1,698,1.9,CSH,10.0 +CMT,1,2,875,1.8,CSH,10.5 +CMT,1,1,200,1.1,CSH,5.0 +CMT,1,2,740,1.3,CSH,9.5 +CMT,1,1,778,3.8,CSH,13.5 +CMT,1,1,366,0.9,CRD,6.5 +CMT,1,1,1468,6.6,CRD,22.5 +CMT,1,1,217,0.5,CRD,4.5 +CMT,1,1,519,1.6,CRD,8.0 +CMT,1,1,683,2.5,CRD,10.5 +CMT,1,2,515,1.9,CRD,9.0 +CMT,1,2,731,5.0,CRD,16.0 +CMT,1,1,831,4.2,CSH,15.0 +CMT,1,1,165,0.5,CSH,4.0 +CMT,1,2,1316,3.3,CRD,16.5 +CMT,1,1,865,5.3,CRD,17.5 +CMT,1,1,824,3.6,CRD,14.0 +CMT,1,1,892,4.7,CRD,17.0 +CMT,1,1,495,1.4,CSH,8.0 +CMT,1,1,587,1.5,CRD,8.5 +CMT,1,1,519,1.6,CSH,8.0 +CMT,1,1,872,3.0,CSH,13.0 +CMT,1,1,578,1.9,CRD,9.0 +CMT,1,1,846,2.0,CRD,11.5 +CMT,1,1,1070,2.6,CRD,13.0 +CMT,1,1,419,1.0,CSH,7.0 +CMT,1,1,618,1.1,CRD,8.5 +CMT,1,1,582,1.0,CRD,7.5 +CMT,2,1,2413,16.5,CSH,52.0 +CMT,2,1,2631,15.0,CRD,52.0 +CMT,1,1,1143,3.3,CRD,14.5 +CMT,1,1,613,2.5,CRD,11.0 +CMT,1,1,432,2.0,CSH,8.0 +CMT,1,1,339,0.9,CSH,6.0 +CMT,1,1,144,0.3,CRD,4.0 +CMT,1,1,212,1.1,CRD,5.5 +CMT,1,1,540,1.7,CRD,8.5 +CMT,1,1,989,4.6,CSH,16.5 +CMT,1,1,11,0.0,CSH,2.5 +CMT,1,1,836,1.7,CRD,10.5 +CMT,1,1,457,2.0,CRD,8.5 +CMT,1,1,1047,2.7,CRD,13.5 +CMT,1,1,571,0.6,CRD,7.0 +CMT,1,1,1259,3.8,CRD,16.5 +CMT,1,1,816,1.2,CSH,10.0 +CMT,1,1,529,0.9,CSH,7.0 +CMT,1,1,450,1.5,CRD,7.5 +CMT,1,1,700,2.4,CRD,10.0 +CMT,1,2,682,2.6,CSH,11.0 +CMT,1,1,536,2.2,CRD,9.0 +CMT,1,1,1337,3.2,CRD,15.5 +CMT,1,1,255,0.9,CSH,5.5 +CMT,1,1,765,2.5,CRD,11.0 +CMT,1,1,415,1.3,CRD,7.0 +CMT,1,1,1857,14.0,CSH,40.5 +CMT,1,1,237,1.6,CSH,6.5 +CMT,1,1,223,1.1,CRD,5.5 +CMT,1,4,846,4.0,CRD,15.0 +CMT,1,1,178,0.6,CSH,4.5 +CMT,1,1,624,1.4,CSH,8.0 +CMT,1,1,447,1.4,CRD,7.5 +CMT,1,1,951,3.7,CSH,14.0 +CMT,1,1,1084,8.2,CRD,24.5 +CMT,1,1,844,1.7,CSH,10.5 +CMT,1,1,523,1.3,CRD,7.5 +CMT,1,1,1051,1.9,CRD,12.5 +CMT,2,1,2419,17.3,CRD,52.0 +CMT,1,1,542,1.3,CRD,8.0 +CMT,1,1,411,1.1,CRD,6.5 +CMT,1,1,471,1.2,CSH,6.5 +CMT,1,1,255,0.9,CSH,5.5 +CMT,1,1,730,4.4,CRD,15.5 +CMT,1,1,136,0.5,CSH,4.0 +CMT,1,1,564,1.1,CRD,7.5 +CMT,1,1,287,0.6,CSH,5.0 +CMT,1,1,721,3.2,CRD,12.0 +CMT,1,1,759,3.6,CSH,13.0 +CMT,1,1,709,2.5,CRD,11.0 +CMT,1,1,515,1.0,CRD,7.5 +CMT,1,1,462,2.0,CRD,9.0 +CMT,1,1,121,0.8,CSH,4.5 +CMT,1,1,800,0.9,CSH,9.5 +CMT,1,1,270,0.6,CRD,5.0 +CMT,1,1,527,1.2,CRD,7.5 +CMT,4,1,927,2.9,CSH,12.5 +CMT,1,1,296,0.5,CRD,5.0 +CMT,1,1,1136,6.1,CRD,20.5 +CMT,1,1,593,0.9,CRD,7.5 +CMT,1,1,373,1.4,CSH,7.0 +CMT,1,1,265,0.7,CSH,5.0 +CMT,1,1,345,0.8,CRD,5.5 +CMT,1,1,1310,3.1,CRD,15.0 +CMT,1,1,742,2.2,CRD,10.5 +CMT,1,1,848,1.8,CRD,10.5 +CMT,1,1,951,2.9,CSH,12.5 +CMT,1,1,858,2.5,CRD,11.5 +CMT,1,1,440,1.8,CRD,8.0 +CMT,1,1,222,1.0,CRD,5.0 +CMT,1,1,886,2.3,CSH,11.5 +CMT,1,2,245,0.8,CSH,5.0 +CMT,1,1,320,1.0,CRD,6.0 +CMT,1,1,863,2.5,CSH,12.0 +CMT,1,1,343,1.0,CRD,6.0 +CMT,1,1,1579,3.1,CRD,18.0 +CMT,1,1,1677,3.3,CRD,19.0 +CMT,1,1,264,0.6,CSH,5.0 +CMT,1,1,195,0.5,CSH,4.5 +CMT,1,1,393,1.3,CSH,7.0 +CMT,2,2,25,0.0,CRD,52.0 +CMT,1,1,197,1.0,CRD,5.0 +CMT,1,1,206,0.6,CSH,4.5 +CMT,1,1,766,2.5,CSH,11.5 +CMT,1,1,181,0.6,CRD,4.5 +CMT,1,1,218,0.5,CRD,4.5 +CMT,1,1,564,2.0,CRD,9.0 +CMT,1,4,132,0.5,CSH,4.0 +CMT,1,4,662,1.9,CRD,9.5 +CMT,1,3,1372,5.2,CRD,20.0 +CMT,1,3,201,0.7,CSH,4.5 +CMT,1,1,323,0.9,CRD,6.0 +CMT,1,1,517,0.7,CSH,7.0 +CMT,1,1,334,1.1,CSH,6.0 +CMT,1,1,612,2.0,CRD,9.0 +CMT,1,1,610,1.9,CRD,9.5 +CMT,1,1,112,0.4,CSH,3.5 +CMT,1,2,764,0.7,CSH,9.0 +CMT,1,3,1036,2.2,CRD,12.5 +CMT,1,2,418,1.1,CRD,7.0 +CMT,1,1,92,0.5,CSH,3.5 +CMT,1,2,279,0.7,CSH,5.5 +CMT,1,1,192,0.6,CSH,4.5 +CMT,1,1,1259,2.4,CSH,14.5 +CMT,1,1,1006,3.2,CRD,14.5 +CMT,1,1,678,1.2,CRD,8.5 +CMT,1,3,690,2.3,CRD,10.5 +CMT,1,1,238,0.6,CRD,4.5 +CMT,1,1,569,3.8,CRD,13.0 +CMT,1,1,564,1.5,CRD,8.5 +CMT,1,1,1971,5.5,CRD,24.0 +CMT,1,4,369,1.2,CSH,6.5 +CMT,1,1,823,2.0,CSH,11.0 +CMT,1,3,320,0.6,CSH,5.5 +CMT,1,1,540,1.4,CSH,8.0 +CMT,1,1,661,2.5,CSH,10.5 +CMT,1,1,383,2.5,CRD,9.0 +CMT,1,1,117,0.5,CSH,3.5 +CMT,1,1,644,1.7,CRD,9.0 +CMT,1,1,1499,5.3,CRD,21.5 +CMT,1,1,1222,6.3,CRD,21.0 +CMT,1,2,611,1.9,CSH,9.0 +CMT,1,1,415,1.4,CRD,7.5 +CMT,1,2,697,1.3,CRD,9.0 +CMT,1,1,827,0.7,CRD,9.5 +CMT,1,1,554,1.6,CSH,8.0 +CMT,1,1,511,2.5,CRD,10.0 +CMT,1,1,455,1.4,CRD,7.5 +CMT,1,2,1092,5.5,CRD,19.0 +CMT,1,1,388,0.6,CRD,6.0 +CMT,1,1,523,2.3,CRD,10.0 +CMT,1,1,435,1.8,CSH,8.0 +CMT,1,1,1682,1.2,CSH,16.5 +CMT,1,1,706,1.4,CSH,9.5 +CMT,1,1,1362,5.0,CRD,19.5 +CMT,1,2,222,1.0,CSH,5.5 +CMT,1,1,980,2.7,CRD,12.5 +CMT,1,2,1975,6.0,CSH,24.5 +CMT,1,1,1849,14.2,CRD,41.0 +CMT,1,1,559,1.4,CRD,8.5 +CMT,1,1,993,3.1,CRD,13.5 +CMT,1,4,620,1.7,CSH,9.0 +CMT,1,1,1786,3.9,CRD,19.5 +CMT,1,1,1545,10.9,CRD,33.0 +CMT,1,1,2451,14.6,CRD,45.0 +CMT,1,1,588,1.1,CSH,8.0 +CMT,1,1,627,2.0,CRD,9.5 +CMT,1,3,406,1.2,CSH,7.0 +CMT,1,4,600,2.1,CRD,10.0 +CMT,1,2,204,0.6,CSH,4.0 +CMT,1,3,971,3.1,CRD,13.5 +CMT,1,1,194,0.5,CRD,4.5 +CMT,1,2,400,1.6,CRD,7.5 +CMT,1,1,238,0.9,CRD,5.5 +CMT,1,1,713,3.1,CRD,12.5 +CMT,1,1,189,0.5,CSH,4.5 +CMT,1,1,251,1.1,CRD,6.0 +CMT,1,1,848,3.6,CSH,14.0 +CMT,1,1,310,0.8,CSH,5.5 +CMT,1,1,1111,1.9,CRD,13.0 +CMT,1,1,125,0.4,CSH,3.5 +CMT,1,1,392,1.6,CSH,8.0 +CMT,1,2,986,3.9,CRD,15.0 +CMT,1,2,896,3.1,CRD,13.0 +CMT,1,2,627,1.9,CSH,9.5 +CMT,1,1,749,1.8,CRD,10.0 +CMT,1,1,260,0.4,CSH,4.5 +CMT,1,3,825,3.6,CSH,13.5 +CMT,1,2,371,0.6,CSH,6.0 +CMT,1,1,230,0.7,CRD,5.0 +CMT,1,1,1449,4.0,CSH,18.5 +CMT,1,1,1052,4.1,CRD,15.5 +CMT,1,1,798,1.7,CRD,10.5 +CMT,1,1,401,0.9,CRD,6.5 +CMT,1,1,497,1.5,CRD,8.0 +CMT,1,1,930,5.1,CRD,18.0 +CMT,1,1,1039,6.2,CRD,20.5 +CMT,1,2,434,1.0,CSH,6.5 +CMT,1,2,294,0.8,CRD,5.5 +CMT,1,1,573,2.6,CSH,10.0 +CMT,1,1,540,0.6,CRD,7.0 +CMT,1,1,1181,2.8,CSH,14.0 +CMT,1,1,196,0.6,CRD,4.5 +CMT,1,1,555,1.6,CSH,8.5 +CMT,1,1,512,1.7,CSH,8.5 +CMT,1,2,281,1.0,CRD,6.0 +CMT,1,2,886,1.5,CSH,10.5 +CMT,1,1,404,1.3,CSH,6.5 +CMT,1,1,559,1.3,CSH,8.0 +CMT,1,1,259,0.4,CRD,4.5 +CMT,1,1,930,1.7,CSH,11.5 +CMT,1,1,1308,8.5,CSH,27.0 +CMT,1,1,149,0.4,CSH,4.0 +CMT,1,1,427,1.9,CRD,8.0 +CMT,1,1,748,2.1,CSH,11.0 +CMT,1,2,397,1.2,CRD,7.0 +CMT,1,1,237,1.1,CSH,5.5 +CMT,1,1,139,0.3,CSH,3.5 +CMT,1,1,606,2.1,CSH,9.5 +CMT,1,1,644,1.8,CSH,9.5 +CMT,1,1,618,2.6,CRD,10.5 +CMT,1,1,1669,3.9,CRD,19.5 +CMT,1,1,242,0.4,CSH,4.5 +CMT,1,1,875,1.4,CRD,10.5 +CMT,1,3,1999,6.3,CSH,24.5 +CMT,1,2,1632,15.8,CRD,45.0 +CMT,1,1,543,1.2,CRD,7.5 +CMT,1,1,250,0.7,CRD,5.0 +CMT,1,1,1197,3.8,CRD,17.0 +CMT,1,2,322,0.9,CSH,6.0 +CMT,1,2,300,0.9,CRD,5.5 +CMT,1,1,234,0.8,CRD,5.0 +CMT,1,1,3096,4.5,CRD,19.5 +CMT,1,4,295,1.5,CSH,6.5 +CMT,1,1,190,0.8,CSH,4.5 +CMT,1,1,453,2.1,CRD,8.5 +CMT,1,1,264,0.7,CRD,5.0 +CMT,1,2,1127,3.7,CRD,16.0 +CMT,1,1,227,0.6,CRD,4.5 +CMT,1,3,843,1.2,CSH,10.0 +CMT,1,1,366,0.8,CSH,6.0 +CMT,1,1,308,0.8,CSH,5.5 +CMT,1,1,358,2.8,CSH,10.0 +CMT,1,1,1916,11.3,CRD,35.5 +CMT,1,1,516,1.3,CSH,7.5 +CMT,1,1,360,0.8,CRD,6.0 +CMT,1,1,435,0.9,CSH,6.5 +CMT,1,1,650,1.5,CRD,9.0 +CMT,1,1,585,1.6,CRD,8.5 +CMT,1,1,279,0.8,CRD,5.5 +CMT,1,1,531,1.5,CRD,8.0 +CMT,1,1,602,2.2,CSH,9.5 +CMT,1,1,381,3.1,CRD,10.0 +CMT,1,1,1134,1.5,CRD,12.5 +CMT,1,1,294,0.7,CRD,5.5 +CMT,1,2,327,0.7,CSH,5.5 +CMT,1,3,849,1.1,CSH,10.0 +CMT,1,1,802,1.9,CRD,10.5 +CMT,1,1,104,0.0,CSH,3.0 +CMT,1,1,372,1.1,CSH,6.5 +CMT,1,2,431,1.4,CSH,7.0 +CMT,1,1,261,0.7,CRD,5.0 +CMT,1,1,312,0.7,CRD,5.5 +CMT,1,2,1140,1.2,CSH,12.0 +CMT,1,1,824,2.3,CSH,11.5 +CMT,1,1,271,1.1,CSH,6.0 +CMT,1,1,1166,3.8,CRD,16.5 +CMT,1,2,640,1.6,CRD,9.0 +CMT,1,1,384,1.4,CRD,6.5 +CMT,1,1,1382,8.2,CRD,25.5 +CMT,1,1,585,2.0,CRD,9.5 +CMT,4,1,2150,8.7,CRD,41.5 +CMT,1,3,360,1.3,CSH,6.5 +CMT,1,1,586,1.6,CSH,8.5 +CMT,1,1,321,1.0,CSH,6.0 +CMT,1,1,263,0.5,CSH,5.0 +CMT,1,1,1458,4.3,CRD,19.0 +CMT,1,1,206,0.5,CSH,4.5 +CMT,1,1,292,0.9,CSH,5.5 +CMT,1,1,239,0.8,CSH,5.5 +CMT,1,1,303,0.9,CRD,5.5 +CMT,1,1,406,0.7,CSH,6.0 +CMT,1,1,180,0.6,CRD,4.5 +CMT,1,2,1207,4.0,CRD,17.0 +CMT,1,1,771,6.0,CSH,19.0 +CMT,1,1,218,0.4,CSH,4.5 +CMT,1,1,1034,3.9,CRD,15.5 +CMT,1,1,257,0.9,CRD,5.5 +CMT,1,1,474,0.9,CRD,7.0 +CMT,1,3,784,1.4,CRD,10.0 +CMT,1,1,674,2.8,CRD,12.0 +CMT,1,1,1281,6.7,CSH,22.0 +CMT,1,1,1543,5.2,CRD,21.0 +CMT,1,1,1624,4.4,CRD,20.5 +CMT,1,1,572,1.2,CRD,8.0 +CMT,1,1,203,0.4,CRD,4.5 +CMT,1,3,734,1.9,CSH,10.5 +CMT,1,2,1672,3.4,CRD,19.0 +CMT,1,1,630,1.5,CRD,9.0 +CMT,1,1,370,0.6,CSH,5.5 +CMT,1,1,1075,1.4,CRD,12.0 +CMT,1,1,259,0.4,CSH,4.5 +CMT,2,1,2838,18.6,CRD,52.0 +CMT,1,1,536,1.4,CRD,8.0 +CMT,1,2,1914,10.2,CRD,34.5 +CMT,1,1,238,0.7,CRD,5.0 +CMT,1,1,765,4.5,CSH,15.5 +CMT,1,1,439,1.0,CRD,7.0 +CMT,1,3,555,1.1,CSH,7.5 +CMT,1,1,527,2.0,CRD,9.0 +CMT,1,1,736,1.5,CRD,9.5 +CMT,1,1,453,1.1,CSH,7.0 +CMT,1,1,755,4.2,CRD,14.0 +CMT,1,2,2456,15.2,CRD,46.5 +CMT,1,1,445,1.4,CSH,7.5 +CMT,1,2,546,1.1,CSH,7.5 +CMT,1,1,529,1.4,CRD,8.0 +CMT,1,2,957,1.4,CSH,11.0 +CMT,1,1,1232,3.2,CSH,15.5 +CMT,1,1,851,4.0,CRD,14.5 +CMT,1,1,228,0.9,CSH,5.0 +CMT,1,1,495,0.7,CRD,6.5 +CMT,1,1,68,0.2,CSH,3.0 +CMT,1,1,915,1.7,CSH,11.0 +CMT,1,2,540,1.3,CSH,7.5 +CMT,1,1,566,2.0,CRD,9.5 +CMT,1,1,729,2.2,CRD,11.0 +CMT,1,1,176,0.6,CRD,4.5 +CMT,1,2,536,1.9,CSH,9.0 +CMT,1,1,358,1.0,CSH,6.0 +CMT,1,1,294,1.1,CRD,6.0 +CMT,1,1,900,3.2,CRD,14.0 +CMT,1,1,1121,2.5,CSH,13.5 +CMT,1,1,648,1.3,CSH,8.5 +CMT,1,1,1583,5.9,CRD,23.0 +CMT,1,1,885,4.6,CSH,16.0 +CMT,1,1,235,0.3,CSH,4.5 +CMT,1,1,836,3.7,CRD,14.0 +CMT,1,1,328,1.0,CRD,6.0 +CMT,1,1,159,0.5,CSH,4.0 +CMT,1,2,500,2.0,CRD,9.0 +CMT,1,1,103,0.4,CRD,3.5 +CMT,1,1,467,1.6,CRD,7.5 +CMT,1,3,243,1.0,CSH,5.5 +CMT,1,1,1985,4.4,CSH,22.0 +CMT,1,1,925,1.6,CSH,11.0 +CMT,1,1,828,7.1,CRD,21.5 +CMT,1,1,636,0.5,CSH,7.5 +CMT,1,1,1067,2.4,CRD,13.5 +CMT,1,1,5,0.0,CSH,2.5 +CMT,1,1,520,1.5,CRD,8.0 +CMT,1,1,374,1.6,CRD,7.0 +CMT,1,4,1073,3.6,CSH,15.0 +CMT,1,1,917,1.1,CRD,11.0 +CMT,1,1,817,2.3,CRD,11.5 +CMT,1,1,799,3.0,CSH,12.5 +CMT,1,1,203,0.5,CSH,4.5 +CMT,1,1,533,2.3,CRD,9.5 +CMT,1,1,700,1.1,CSH,8.5 +CMT,1,2,684,2.4,CRD,11.0 +CMT,1,1,444,1.3,CSH,7.0 +CMT,1,1,358,1.7,CSH,7.0 +CMT,1,4,214,0.4,CSH,4.5 +CMT,1,2,1619,3.8,CRD,17.5 +CMT,1,1,384,1.5,CRD,7.0 +CMT,1,2,397,1.6,CRD,7.5 +CMT,1,1,650,3.0,CRD,11.5 +CMT,1,1,535,2.1,CSH,9.5 +CMT,1,1,265,1.3,CSH,6.0 +CMT,1,1,452,0.9,CRD,6.5 +CMT,1,2,825,2.0,CRD,10.5 +CMT,1,1,518,1.3,CRD,8.0 +CMT,1,1,688,4.2,CSH,13.5 +CMT,1,1,827,3.1,CRD,12.5 +CMT,1,1,1691,3.6,CRD,19.5 +CMT,1,2,772,1.6,CRD,10.0 +CMT,1,1,1098,2.9,CRD,14.0 +CMT,1,1,431,1.0,CRD,6.5 +CMT,1,1,887,1.3,CSH,10.5 +CMT,1,3,876,1.6,CRD,11.0 +CMT,1,1,1383,3.9,CRD,17.0 +CMT,1,1,224,0.7,CSH,4.5 +CMT,1,1,669,3.4,CRD,12.5 +VTS,1,1,360,1.4,CRD,7.0 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,660,1.12,CRD,8.0 +VTS,1,1,600,1.48,CSH,8.5 +VTS,1,1,300,0.7,CRD,5.5 +VTS,1,1,780,2.7,CRD,11.0 +CMT,1,1,1076,4.3,CRD,16.5 +CMT,1,1,1176,3.4,CSH,15.0 +CMT,1,2,234,0.6,CSH,4.5 +CMT,1,1,547,2.1,CSH,9.0 +CMT,1,3,694,2.0,CRD,10.0 +CMT,1,1,242,0.4,CSH,4.5 +CMT,1,1,356,0.8,CSH,6.0 +CMT,1,2,581,2.3,CSH,9.5 +CMT,1,1,379,1.6,CSH,7.0 +CMT,1,1,684,2.4,CRD,10.5 +CMT,1,2,962,5.6,CRD,19.0 +CMT,1,1,686,2.5,CRD,10.5 +CMT,1,1,610,2.5,CSH,10.0 +CMT,1,1,1453,4.7,CRD,19.5 +CMT,1,1,566,1.0,CRD,8.0 +CMT,1,1,741,2.5,CRD,11.0 +CMT,1,2,630,1.7,CRD,9.0 +CMT,1,1,708,3.0,CRD,12.0 +CMT,1,1,1102,7.0,CRD,22.0 +CMT,1,1,486,0.9,CSH,7.0 +CMT,1,1,873,2.2,CRD,11.0 +CMT,1,2,326,0.9,CSH,5.5 +CMT,1,2,862,2.6,CRD,12.0 +CMT,1,1,403,1.2,CRD,6.5 +CMT,1,2,906,2.8,CSH,12.5 +CMT,1,1,644,1.5,CRD,9.0 +CMT,1,1,363,1.2,CRD,6.5 +CMT,1,1,546,1.6,CRD,8.5 +CMT,1,1,239,1.0,CRD,5.5 +CMT,1,1,129,0.3,CRD,3.5 +CMT,1,1,312,0.9,CSH,6.0 +CMT,1,1,216,0.6,CRD,4.5 +CMT,1,1,650,1.2,CSH,8.0 +CMT,1,1,399,0.9,CRD,6.0 +CMT,1,1,1407,3.4,CRD,16.5 +CMT,1,1,485,2.6,CRD,9.5 +CMT,1,1,399,1.2,CRD,7.0 +CMT,1,2,669,2.7,CSH,11.5 +CMT,1,1,680,2.3,CRD,10.0 +CMT,1,1,169,0.7,CSH,4.5 +CMT,1,1,218,0.5,CRD,4.5 +CMT,1,3,557,2.2,CRD,9.5 +CMT,1,1,392,0.9,CSH,6.5 +CMT,1,1,882,2.7,CSH,12.0 +CMT,1,1,367,1.1,CRD,6.0 +CMT,1,1,462,0.9,CSH,6.5 +CMT,1,1,207,1.5,CRD,6.0 +CMT,1,1,537,1.4,CSH,8.5 +CMT,1,2,526,0.2,CSH,6.5 +CMT,1,1,766,1.7,CRD,10.0 +CMT,1,1,734,2.7,CSH,11.5 +CMT,1,2,1057,3.7,CSH,15.0 +CMT,1,3,560,1.3,CSH,7.5 +CMT,1,1,303,0.7,CSH,5.5 +CMT,1,1,791,4.6,CSH,16.5 +CMT,2,2,2082,14.6,CRD,52.0 +CMT,1,1,1153,1.8,CSH,13.0 +CMT,1,1,1315,4.2,CRD,18.0 +CMT,1,1,233,0.7,CRD,5.0 +CMT,1,1,282,0.7,CRD,5.0 +CMT,1,1,592,2.1,CRD,9.0 +CMT,2,1,24,0.0,CRD,52.0 +CMT,1,2,1145,2.1,CRD,13.0 +CMT,1,2,1320,0.4,CRD,13.5 +CMT,1,1,501,1.0,CRD,7.0 +CMT,1,1,218,1.3,CRD,6.0 +CMT,1,1,1188,2.8,CSH,14.5 +CMT,1,1,900,1.2,CSH,10.5 +CMT,1,1,240,0.5,CSH,4.5 +CMT,1,1,551,1.5,CRD,8.0 +CMT,1,1,1777,4.9,CRD,23.0 +CMT,1,1,524,1.1,CSH,7.5 +CMT,1,1,756,1.8,CRD,10.0 +CMT,1,2,236,0.7,CSH,5.0 +CMT,1,1,309,1.8,CSH,7.5 +CMT,1,1,122,0.4,CRD,4.0 +VTS,1,1,540,2.31,CRD,10.0 +VTS,1,2,1080,2.39,CRD,13.5 +CMT,1,1,126,0.4,CSH,3.5 +CMT,1,1,904,2.3,CSH,12.0 +CMT,1,1,507,1.3,CSH,7.5 +CMT,1,1,354,1.0,CSH,6.0 +CMT,1,1,473,0.6,CRD,6.5 +CMT,1,1,836,2.3,CRD,11.5 +CMT,1,1,457,1.5,CRD,8.0 +CMT,1,1,621,1.8,CRD,9.0 +CMT,1,1,245,1.2,CRD,5.5 +CMT,1,1,834,2.7,CSH,12.5 +CMT,1,2,472,1.0,CSH,7.0 +CMT,1,1,454,0.8,CRD,6.5 +CMT,1,1,798,1.9,CSH,10.0 +CMT,1,2,1460,3.1,CSH,16.5 +CMT,1,2,236,0.8,CRD,5.0 +CMT,1,2,534,1.1,CSH,8.0 +CMT,1,2,1597,8.2,CSH,27.5 +CMT,1,2,579,1.9,CSH,9.5 +CMT,1,1,207,1.0,CRD,5.5 +CMT,1,1,813,1.2,CRD,9.5 +CMT,1,1,1287,4.2,CRD,18.0 +CMT,1,1,1027,1.7,CRD,11.5 +CMT,1,1,850,3.5,CSH,13.0 +CMT,1,3,977,3.0,CSH,13.0 +CMT,1,1,694,4.3,CRD,14.5 +CMT,1,5,1008,7.4,CSH,22.0 +CMT,1,1,454,1.4,CSH,7.5 +CMT,1,1,192,0.4,CSH,4.0 +CMT,1,1,251,0.7,CRD,5.0 +CMT,1,1,299,1.1,CRD,5.5 +CMT,1,1,218,1.4,CSH,6.0 +CMT,1,2,994,5.3,CRD,17.5 +CMT,1,3,339,0.9,CRD,6.0 +CMT,1,1,636,0.9,CRD,8.5 +CMT,1,1,1450,7.8,CRD,26.0 +CMT,1,2,209,0.7,CSH,5.0 +CMT,1,1,734,2.8,CRD,12.5 +CMT,1,1,117,0.8,CRD,4.5 +CMT,1,2,1005,1.0,CRD,11.0 +CMT,1,1,1623,11.4,CRD,34.0 +CMT,1,1,583,1.7,CRD,8.5 +CMT,1,1,503,1.6,CRD,8.5 +CMT,1,1,899,1.9,CRD,11.5 +CMT,1,1,922,1.6,CRD,11.0 +CMT,1,3,553,1.3,CRD,8.0 +VTS,1,1,120,0.76,CSH,4.0 +VTS,1,1,360,1.38,CRD,7.0 +VTS,1,1,720,2.32,CRD,10.5 +VTS,1,1,420,1.25,CRD,7.0 +VTS,1,1,600,1.86,CRD,9.0 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,600,1.98,CSH,9.5 +CMT,1,2,862,2.8,CSH,12.5 +CMT,1,2,714,3.2,CSH,12.5 +CMT,1,1,857,3.3,CSH,13.5 +CMT,1,1,758,1.7,CRD,10.0 +CMT,1,1,1174,2.5,CRD,14.0 +CMT,1,1,1041,1.0,CRD,11.5 +CMT,1,1,643,1.7,CSH,9.5 +CMT,1,1,157,0.6,CSH,4.5 +CMT,1,1,123,0.1,CRD,3.5 +CMT,1,1,619,2.0,CRD,9.5 +CMT,1,1,630,4.4,CRD,14.0 +CMT,1,1,985,2.0,CSH,12.5 +CMT,1,1,458,0.9,CSH,7.0 +CMT,1,2,577,1.6,CRD,9.0 +CMT,1,1,315,0.8,CRD,5.5 +CMT,1,1,956,4.4,CSH,16.5 +VTS,1,1,660,7.2,CRD,21.0 +VTS,1,1,780,2.47,CSH,11.5 +VTS,1,1,420,0.94,CSH,6.5 +VTS,1,1,2280,7.89,CSH,30.5 +VTS,1,1,600,1.53,CSH,9.0 +VTS,1,1,420,1.16,CRD,7.0 +VTS,1,1,180,0.84,CSH,5.0 +VTS,1,1,720,2.92,CRD,12.0 +VTS,1,1,480,1.36,CRD,7.5 +VTS,1,1,360,1.59,CRD,7.5 +VTS,1,1,240,0.85,CSH,5.0 +VTS,1,1,780,1.88,CSH,10.5 +VTS,1,1,1200,5.47,CSH,20.0 +VTS,1,1,420,1.23,CRD,7.5 +VTS,1,6,300,1.23,CRD,6.0 +VTS,1,6,780,8.29,CRD,23.5 +VTS,1,6,420,1.48,CRD,7.5 +VTS,1,6,480,2.16,CRD,9.0 +VTS,1,1,720,2.58,CSH,11.5 +VTS,1,1,420,1.01,CSH,6.5 +VTS,1,1,900,4.27,CSH,14.0 +VTS,1,1,960,6.22,CRD,20.0 +VTS,1,1,420,1.46,CSH,7.5 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,360,1.81,CSH,7.5 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,240,0.39,CSH,4.5 +VTS,1,1,600,1.77,CRD,9.0 +VTS,1,1,420,1.83,CRD,8.0 +VTS,1,1,720,2.03,CRD,10.5 +VTS,1,1,540,1.48,CSH,8.0 +VTS,1,1,540,1.2,CRD,7.5 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,1,840,2.0,CRD,11.0 +VTS,1,1,300,0.86,CSH,5.0 +VTS,1,1,840,1.76,CRD,10.0 +CMT,1,1,333,1.1,CRD,6.0 +CMT,1,2,1096,2.8,CRD,14.0 +CMT,1,2,1030,2.6,CSH,13.5 +CMT,1,1,718,1.9,CSH,10.0 +CMT,1,3,1933,7.4,CRD,27.5 +CMT,1,3,952,3.2,CSH,13.0 +CMT,1,1,876,3.6,CRD,14.5 +CMT,1,1,2041,6.2,CRD,26.5 +CMT,1,1,263,0.7,CSH,5.0 +CMT,1,1,266,0.4,CSH,4.5 +CMT,1,1,890,2.4,CRD,12.0 +CMT,1,1,338,1.4,CRD,7.0 +CMT,1,3,940,2.1,CSH,12.0 +CMT,1,1,735,2.0,CRD,10.5 +CMT,1,1,654,1.9,CSH,10.0 +CMT,1,1,605,0.5,CSH,7.5 +CMT,1,1,478,2.1,CSH,8.5 +CMT,1,2,1231,4.6,CSH,18.0 +CMT,1,1,198,0.4,CSH,4.0 +CMT,1,2,918,0.9,CSH,10.0 +CMT,1,2,612,0.7,CRD,7.5 +CMT,1,1,282,1.0,CRD,5.5 +CMT,1,1,709,2.6,CRD,11.0 +CMT,1,1,586,1.9,CRD,9.5 +CMT,1,1,248,0.8,CRD,5.0 +CMT,1,1,607,0.9,CRD,8.0 +CMT,1,2,612,2.2,CSH,9.5 +CMT,1,1,1682,4.2,CRD,20.5 +CMT,1,1,209,0.6,CSH,4.5 +CMT,1,1,776,1.9,CSH,10.5 +CMT,1,1,45,0.2,CSH,3.0 +CMT,1,1,286,0.7,CSH,5.0 +CMT,1,1,328,0.7,CSH,5.5 +CMT,1,1,417,1.9,CRD,8.0 +CMT,1,1,627,3.3,CRD,12.0 +CMT,1,1,827,5.4,CSH,17.0 +CMT,1,2,385,0.9,CRD,6.5 +CMT,1,1,888,4.5,CRD,15.0 +CMT,1,1,339,1.6,CRD,7.0 +CMT,1,2,813,2.8,CSH,12.5 +CMT,1,1,332,0.8,CSH,5.5 +CMT,1,1,590,0.8,CSH,7.5 +CMT,1,1,641,1.8,CRD,9.5 +CMT,1,1,338,1.0,CRD,6.0 +CMT,1,1,187,0.8,CSH,4.5 +CMT,1,1,1383,6.8,CSH,23.5 +CMT,1,1,332,0.9,CRD,5.5 +VTS,1,1,720,2.55,CRD,11.0 +VTS,1,1,300,1.49,CRD,6.5 +VTS,1,1,840,2.18,CSH,11.5 +VTS,1,1,540,1.49,CRD,7.5 +VTS,1,1,660,1.94,CRD,9.5 +VTS,1,1,480,2.22,CRD,9.0 +VTS,1,1,420,1.47,CRD,7.0 +VTS,1,1,300,1.1,CSH,6.0 +VTS,1,1,600,1.58,CSH,9.0 +VTS,1,1,300,1.04,CRD,5.5 +VTS,1,1,480,2.22,CSH,9.0 +VTS,1,1,900,3.16,CSH,13.0 +VTS,1,1,240,1.36,CSH,6.5 +VTS,1,1,1320,6.46,CRD,22.0 +VTS,1,1,300,1.07,CRD,6.5 +VTS,1,1,1380,4.34,CRD,18.5 +VTS,1,1,240,0.69,CRD,5.0 +VTS,1,1,300,1.0,CRD,6.0 +VTS,1,1,1380,4.78,CRD,18.5 +VTS,1,1,1440,5.66,CRD,21.0 +VTS,1,1,840,3.09,CSH,13.0 +VTS,1,1,660,1.76,CSH,9.0 +VTS,1,1,720,3.11,CSH,11.5 +VTS,1,1,480,1.46,CRD,7.5 +VTS,1,1,780,3.8,CRD,13.5 +VTS,1,1,600,0.93,CRD,8.0 +VTS,1,1,780,3.03,CRD,12.0 +VTS,1,1,780,1.91,CRD,10.0 +VTS,1,1,840,1.93,CRD,10.5 +VTS,1,1,360,1.15,CSH,6.5 +VTS,1,1,480,1.21,CRD,7.0 +VTS,1,1,480,1.24,CRD,7.0 +VTS,1,1,1260,9.64,CRD,28.0 +VTS,1,1,300,0.66,CRD,5.0 +VTS,1,1,900,3.89,CRD,14.0 +VTS,1,1,360,1.43,CSH,7.0 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,840,3.2,CSH,12.0 +VTS,1,1,480,1.63,CSH,8.0 +VTS,1,6,240,0.56,CRD,5.0 +VTS,1,6,300,0.85,CRD,5.5 +VTS,1,1,1980,5.72,CRD,23.0 +VTS,1,1,960,1.87,CRD,11.5 +VTS,1,1,720,2.41,CRD,11.0 +VTS,1,1,420,1.74,CSH,8.0 +VTS,1,1,360,1.42,CSH,7.0 +VTS,1,1,660,3.17,CSH,11.5 +VTS,1,1,360,0.68,CSH,5.5 +VTS,1,1,480,1.53,CRD,7.5 +VTS,1,1,60,0.7,CRD,4.0 +VTS,1,1,2880,7.76,CSH,34.0 +VTS,1,1,840,1.95,CSH,10.5 +VTS,1,1,780,2.08,CSH,10.0 +VTS,1,1,660,2.56,CSH,10.0 +VTS,1,1,240,0.72,CSH,4.5 +VTS,1,1,1620,3.84,CSH,18.5 +VTS,1,1,480,1.33,CSH,7.5 +VTS,1,1,540,1.7,CRD,8.5 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,1,720,1.94,CSH,10.0 +VTS,1,1,360,1.62,CSH,7.0 +VTS,1,1,600,2.4,CSH,10.0 +VTS,1,1,300,1.52,CRD,6.5 +VTS,1,1,360,0.73,CSH,5.5 +VTS,1,6,300,1.09,CRD,6.0 +VTS,1,6,180,0.68,CRD,4.0 +VTS,1,6,840,4.35,CRD,16.0 +VTS,1,6,420,1.67,CSH,7.5 +VTS,1,6,660,2.48,CRD,10.5 +VTS,1,6,1500,9.09,CRD,29.0 +VTS,1,6,900,3.49,CRD,14.0 +VTS,1,1,240,0.9,CRD,5.5 +VTS,1,1,660,1.35,CRD,8.5 +VTS,1,1,1140,3.71,CRD,15.5 +VTS,1,1,240,0.44,CSH,4.5 +VTS,1,1,840,3.31,CRD,13.5 +VTS,1,1,660,1.79,CSH,9.0 +VTS,1,1,780,3.87,CRD,13.5 +VTS,1,1,300,0.84,CSH,5.0 +VTS,1,1,780,1.64,CRD,9.5 +VTS,1,1,720,2.13,CSH,10.5 +VTS,1,1,480,0.91,CSH,6.5 +VTS,1,1,540,2.34,CSH,9.5 +VTS,1,5,540,1.91,CSH,8.0 +VTS,1,5,960,7.88,CRD,23.5 +VTS,1,5,1260,5.24,CSH,20.0 +VTS,1,5,360,1.29,CRD,7.0 +VTS,1,5,540,2.78,CSH,10.0 +VTS,1,1,600,1.46,CRD,8.5 +VTS,1,1,660,2.87,CSH,11.0 +VTS,1,1,360,1.63,CRD,7.0 +VTS,1,1,1200,4.24,CRD,17.5 +VTS,1,1,1440,4.15,CSH,19.5 +VTS,1,5,540,0.69,CSH,7.0 +VTS,1,5,420,1.17,CRD,6.5 +VTS,1,5,1200,6.65,CRD,22.0 +VTS,1,5,420,0.83,CSH,6.0 +VTS,1,5,360,1.17,CSH,6.5 +VTS,1,5,720,4.72,CSH,15.0 +VTS,1,5,300,1.81,CRD,7.5 +VTS,1,4,600,2.16,CRD,9.5 +VTS,1,5,540,2.05,CSH,8.5 +VTS,1,5,600,0.9,CSH,8.0 +VTS,1,5,240,0.39,CSH,4.5 +VTS,1,5,1020,2.97,CSH,13.5 +VTS,1,5,1080,3.37,CSH,14.5 +VTS,1,5,900,3.93,CRD,15.5 +VTS,1,4,540,2.0,CRD,8.5 +VTS,1,5,660,2.86,CSH,11.0 +CMT,1,1,701,2.0,CRD,10.0 +CMT,1,1,351,0.7,CRD,5.5 +CMT,1,1,828,1.6,CSH,10.5 +CMT,1,1,371,0.9,CRD,6.0 +CMT,1,4,414,1.4,CSH,7.5 +VTS,1,1,420,1.28,CSH,7.0 +VTS,1,1,420,1.25,CSH,6.5 +VTS,1,1,120,0.55,CSH,4.0 +VTS,1,1,840,3.58,CRD,14.0 +VTS,1,1,660,2.14,CSH,9.5 +VTS,1,1,540,2.45,CRD,9.5 +VTS,1,1,360,1.03,CSH,6.0 +VTS,1,6,300,1.64,CRD,6.5 +VTS,1,1,600,1.12,CSH,7.5 +VTS,1,1,420,1.49,CRD,7.0 +VTS,1,1,600,1.94,CRD,8.5 +VTS,1,1,600,1.68,CRD,9.0 +VTS,1,1,180,0.93,CSH,4.5 +VTS,1,1,600,1.53,CRD,8.5 +VTS,1,1,420,1.77,CRD,8.0 +VTS,1,1,420,1.61,CSH,7.5 +VTS,1,1,480,3.8,CSH,12.5 +VTS,1,1,480,1.39,CSH,7.5 +VTS,1,1,420,0.75,CRD,6.5 +VTS,1,1,1080,1.63,CSH,12.5 +VTS,1,1,180,0.98,CRD,5.5 +VTS,1,1,780,2.03,CRD,11.0 +VTS,1,2,240,0.55,CSH,5.0 +VTS,1,2,540,2.3,CSH,9.5 +VTS,1,1,900,1.41,CRD,10.5 +VTS,1,1,660,1.4,CSH,8.5 +VTS,1,1,780,2.18,CRD,10.5 +VTS,1,1,360,2.36,CSH,8.5 +VTS,1,1,1020,2.05,CSH,12.5 +VTS,1,1,960,5.21,CRD,17.0 +VTS,1,1,180,1.34,CRD,6.0 +VTS,1,6,360,0.88,CRD,5.5 +VTS,1,6,300,1.0,CRD,6.0 +VTS,1,6,360,1.04,CSH,6.5 +VTS,1,1,540,1.89,CRD,8.5 +VTS,1,1,180,0.41,CRD,4.0 +VTS,1,1,240,0.65,CSH,4.5 +VTS,1,1,480,1.52,CSH,7.5 +VTS,1,1,1380,7.86,CSH,23.5 +VTS,1,1,480,1.86,CRD,8.5 +VTS,1,1,660,2.35,CRD,10.0 +VTS,1,1,480,0.9,CSH,7.0 +VTS,1,1,600,1.23,CRD,8.0 +VTS,1,1,960,3.28,CRD,13.0 +VTS,1,1,1200,4.28,CRD,17.5 +VTS,1,1,360,0.91,CRD,6.0 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,1,600,2.86,CSH,11.0 +VTS,1,1,300,1.03,CSH,5.5 +VTS,1,1,960,3.43,CSH,14.0 +VTS,1,1,420,1.02,CRD,6.5 +VTS,1,1,600,1.01,CSH,7.5 +VTS,1,1,360,0.97,CRD,6.0 +VTS,1,1,540,2.04,CSH,8.5 +VTS,1,1,720,2.1,CRD,10.0 +VTS,1,1,1320,2.16,CRD,14.5 +VTS,1,1,2040,4.0,CSH,21.5 +VTS,1,1,1140,2.24,CRD,12.5 +VTS,1,1,420,0.85,CRD,6.0 +VTS,1,5,960,2.88,CRD,12.5 +VTS,1,5,360,1.7,CRD,7.5 +VTS,1,1,720,2.67,CRD,11.5 +VTS,1,1,420,1.6,CSH,7.5 +VTS,1,5,960,3.7,CSH,14.0 +VTS,1,5,720,2.37,CRD,10.5 +VTS,1,5,1620,8.86,CRD,28.5 +VTS,1,5,600,3.95,CSH,13.0 +VTS,1,5,900,1.32,CSH,11.0 +VTS,1,5,1320,3.96,CRD,17.5 +VTS,1,5,1620,2.52,CSH,17.5 +VTS,1,5,780,3.56,CRD,13.5 +VTS,1,5,720,3.58,CRD,12.5 +VTS,1,5,1200,3.92,CRD,16.5 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,1260,4.21,CRD,17.5 +VTS,1,1,600,2.43,CRD,10.0 +VTS,1,1,540,1.75,CRD,8.5 +VTS,1,1,360,0.89,CSH,6.0 +VTS,1,1,300,1.03,CSH,6.0 +VTS,1,1,300,1.29,CRD,6.0 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,1,480,1.62,CRD,8.0 +VTS,1,1,1140,5.84,CRD,20.0 +VTS,1,5,1020,9.48,CRD,27.5 +VTS,1,1,480,1.33,CSH,7.5 +VTS,1,1,360,1.43,CSH,7.0 +VTS,1,1,120,0.51,CSH,3.5 +VTS,1,1,120,0.39,CSH,4.0 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,5,600,1.48,CSH,8.5 +VTS,1,5,900,3.18,CRD,13.0 +VTS,1,6,180,0.69,CRD,4.5 +VTS,1,5,660,2.0,CSH,10.0 +VTS,1,5,420,1.09,CSH,6.5 +VTS,1,5,540,1.11,CSH,8.0 +VTS,1,5,420,1.63,CRD,7.5 +VTS,1,5,480,1.08,CSH,7.5 +VTS,1,5,420,0.9,CSH,6.0 +VTS,1,1,480,4.73,CRD,15.0 +VTS,1,1,300,1.83,CSH,7.0 +VTS,1,1,420,1.59,CRD,7.0 +VTS,1,1,1260,4.41,CRD,18.0 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,420,2.3,CRD,8.5 +VTS,1,1,300,1.1,CSH,6.0 +VTS,1,6,960,4.25,CSH,15.5 +VTS,1,6,540,1.88,CSH,8.5 +VTS,1,6,840,2.86,CSH,12.0 +VTS,1,1,660,2.21,CSH,10.5 +VTS,1,1,420,2.11,CSH,8.5 +VTS,1,2,660,1.46,CRD,8.5 +VTS,1,1,1140,5.71,CSH,19.0 +VTS,1,1,600,1.31,CRD,8.5 +VTS,1,1,420,1.45,CSH,7.0 +VTS,1,1,720,3.0,CSH,11.5 +VTS,1,1,660,2.76,CRD,10.5 +VTS,1,1,720,2.63,CSH,11.0 +VTS,1,1,660,1.68,CRD,9.0 +VTS,1,1,360,0.85,CSH,5.5 +VTS,1,1,900,2.95,CRD,12.5 +VTS,1,1,900,2.66,CRD,12.0 +VTS,1,1,420,1.46,CRD,7.0 +VTS,1,1,240,1.0,CRD,5.0 +VTS,1,1,540,1.29,CRD,7.5 +VTS,1,1,660,2.48,CRD,10.0 +VTS,1,1,1380,3.1,CSH,15.5 +VTS,1,1,720,2.13,CRD,10.0 +VTS,1,1,360,1.66,CRD,7.0 +VTS,1,1,840,2.79,CRD,11.5 +VTS,1,1,600,2.26,CRD,9.5 +VTS,1,1,240,0.93,CRD,5.5 +VTS,1,1,2100,15.34,CRD,45.0 +VTS,1,5,180,0.9,CRD,5.0 +VTS,1,1,300,1.0,CSH,6.0 +VTS,1,1,840,3.52,CRD,14.0 +VTS,1,1,900,10.78,CRD,30.0 +VTS,1,5,1680,6.16,CSH,23.0 +VTS,1,5,840,1.81,CRD,11.0 +VTS,1,5,540,1.57,CSH,7.5 +VTS,1,5,900,2.95,CSH,13.5 +VTS,1,5,660,2.54,CSH,10.5 +VTS,1,5,720,0.94,CSH,9.0 +VTS,1,5,780,1.83,CRD,10.0 +VTS,1,5,480,1.59,CRD,8.0 +VTS,1,5,240,0.71,CSH,4.5 +VTS,1,5,780,1.94,CRD,10.5 +VTS,1,5,480,0.86,CSH,6.5 +VTS,1,5,360,0.58,CRD,5.5 +VTS,1,2,780,1.65,CSH,10.0 +VTS,1,2,1860,8.85,CRD,32.0 +VTS,1,5,180,0.79,CSH,5.0 +VTS,1,5,360,2.19,CSH,8.5 +VTS,1,2,420,1.47,CRD,7.5 +VTS,1,2,300,1.36,CSH,6.5 +VTS,1,1,300,1.1,CRD,6.0 +VTS,1,3,360,2.29,CRD,9.0 +VTS,1,2,840,4.32,CRD,14.5 +VTS,1,2,300,1.13,CRD,5.5 +VTS,1,1,360,1.9,CSH,7.5 +VTS,1,2,240,1.85,CSH,7.0 +VTS,1,2,540,1.81,CRD,8.0 +VTS,1,1,360,1.43,CRD,6.5 +VTS,1,1,420,1.35,CRD,7.0 +VTS,1,1,420,1.73,CSH,7.5 +VTS,1,6,180,0.39,CSH,4.0 +VTS,1,6,420,1.14,CSH,7.0 +VTS,1,6,420,1.3,CSH,7.0 +VTS,1,6,720,1.89,CSH,9.5 +VTS,1,6,540,1.69,CSH,8.5 +VTS,1,6,840,4.4,CRD,15.0 +VTS,1,6,660,3.67,CRD,13.0 +VTS,1,6,180,0.89,CRD,5.0 +VTS,1,6,420,1.41,CRD,7.0 +VTS,1,6,840,3.39,CSH,13.0 +VTS,1,6,420,1.27,CSH,7.5 +VTS,1,6,660,3.4,CRD,12.5 +VTS,1,1,540,1.61,CSH,8.0 +VTS,1,1,720,4.15,CRD,13.5 +VTS,1,1,360,0.76,CSH,5.5 +VTS,1,1,360,0.97,CSH,5.5 +VTS,1,1,660,1.9,CRD,9.5 +VTS,1,1,420,0.81,CSH,6.0 +VTS,1,1,180,0.5,CSH,4.5 +VTS,1,1,240,1.22,CRD,5.5 +VTS,1,1,420,1.29,CSH,7.0 +VTS,1,5,480,0.81,CRD,6.5 +VTS,5,1,1020,4.15,CRD,59.5 +VTS,1,5,360,1.53,CSH,7.0 +VTS,1,5,360,0.93,CSH,6.0 +VTS,1,5,780,1.4,CRD,9.0 +VTS,1,5,420,1.04,CSH,6.5 +VTS,1,5,660,2.77,CSH,11.5 +VTS,1,5,120,0.51,CSH,3.5 +VTS,1,5,420,0.87,CRD,6.0 +VTS,1,4,120,0.77,CRD,4.0 +VTS,1,5,300,1.1,CRD,6.0 +VTS,1,2,420,1.8,CRD,8.0 +VTS,1,2,1380,5.29,CSH,19.0 +VTS,1,3,1500,7.62,CRD,26.5 +VTS,1,2,480,2.03,CSH,8.5 +VTS,1,2,600,3.13,CRD,11.5 +VTS,1,1,900,3.7,CSH,14.0 +VTS,1,4,180,0.83,CRD,4.5 +VTS,1,2,540,2.47,CRD,10.0 +VTS,1,3,300,1.35,CRD,6.5 +VTS,1,2,480,1.39,CRD,8.0 +VTS,1,3,480,2.05,CSH,9.0 +VTS,1,2,2400,27.67,CRD,73.5 +VTS,1,1,480,2.84,CSH,10.5 +VTS,1,1,300,1.24,CRD,6.5 +VTS,1,1,300,1.14,CSH,6.0 +VTS,1,1,1020,2.88,CSH,13.5 +VTS,1,1,420,1.97,CSH,7.5 +VTS,1,1,900,2.49,CSH,12.0 +VTS,1,1,480,1.27,CSH,7.5 +VTS,1,6,540,1.93,CSH,8.5 +VTS,1,6,420,1.28,CSH,6.5 +VTS,1,6,300,0.71,CSH,5.5 +VTS,1,6,1020,5.13,CRD,18.0 +VTS,1,6,540,1.09,CRD,8.0 +VTS,1,6,1020,3.41,CSH,14.0 +VTS,1,6,300,0.79,CSH,5.5 +VTS,1,6,300,1.0,CSH,5.5 +VTS,1,6,600,1.86,CSH,8.0 +VTS,1,6,600,2.28,CRD,9.5 +VTS,1,6,600,2.88,CRD,11.5 +VTS,1,6,540,2.56,CSH,10.0 +VTS,1,6,180,1.35,CRD,6.0 +VTS,1,1,600,1.37,CSH,8.5 +VTS,1,1,1380,3.67,CRD,17.0 +VTS,1,1,960,2.49,CRD,12.0 +VTS,1,1,660,2.32,CSH,10.5 +VTS,1,1,120,0.74,CSH,4.0 +VTS,1,1,1020,2.39,CRD,12.0 +VTS,1,1,1200,2.38,CRD,13.0 +VTS,1,1,540,1.36,CSH,7.0 +VTS,1,1,1020,4.93,CSH,16.5 +VTS,1,5,480,1.73,CRD,8.5 +VTS,1,1,720,2.35,CRD,10.5 +VTS,1,1,540,2.24,CRD,9.5 +VTS,1,1,660,1.23,CSH,8.5 +VTS,1,1,240,0.63,CSH,5.0 +VTS,1,1,960,5.85,CRD,19.5 +VTS,1,1,660,3.32,CRD,12.0 +VTS,1,6,420,1.38,CSH,7.5 +VTS,1,5,1260,3.26,CSH,17.0 +VTS,1,5,660,3.7,CRD,13.5 +VTS,1,5,1140,2.38,CSH,13.5 +VTS,1,5,1080,8.3,CSH,25.0 +VTS,1,5,420,1.4,CRD,7.0 +VTS,1,5,480,1.76,CSH,8.0 +VTS,1,5,840,1.6,CSH,10.5 +VTS,1,4,120,0.59,CSH,4.0 +VTS,1,5,600,0.84,CRD,8.0 +VTS,1,5,300,1.48,CSH,6.5 +VTS,1,1,180,0.57,CRD,4.0 +VTS,1,1,660,2.38,CSH,10.0 +VTS,1,1,1320,10.93,CRD,33.0 +VTS,1,5,120,0.63,CRD,4.0 +VTS,1,5,1560,5.0,CRD,21.0 +VTS,1,5,660,2.69,CRD,10.5 +VTS,1,5,360,1.33,CRD,6.5 +VTS,1,5,600,2.22,CSH,10.0 +VTS,1,5,480,1.27,CSH,7.0 +VTS,1,5,360,0.89,CRD,6.0 +VTS,1,5,480,1.19,CSH,7.5 +VTS,1,5,300,0.71,CSH,5.0 +VTS,1,4,240,0.69,CSH,5.0 +VTS,1,5,660,4.33,CRD,14.5 +VTS,1,5,180,1.05,CSH,5.0 +VTS,1,5,240,0.84,CSH,5.0 +VTS,1,5,180,0.5,CSH,4.0 +VTS,1,3,300,0.88,CRD,5.5 +VTS,1,2,1320,6.4,CSH,22.0 +VTS,1,2,240,1.34,CRD,6.0 +VTS,1,3,600,2.03,CSH,9.5 +VTS,1,3,540,3.94,CRD,12.0 +VTS,1,1,540,1.68,CSH,8.0 +VTS,1,1,360,1.09,CRD,6.0 +VTS,1,1,660,1.21,CSH,8.5 +CMT,1,1,490,1.1,CRD,7.0 +CMT,1,1,715,1.6,CRD,10.0 +CMT,1,1,717,1.3,CSH,9.5 +CMT,1,2,493,1.4,CRD,7.5 +CMT,1,1,315,1.1,CSH,6.0 +CMT,1,1,161,0.4,CSH,4.0 +CMT,1,2,1050,3.5,NOC,15.0 +CMT,1,3,2238,13.6,CRD,42.5 +CMT,1,1,1800,12.2,CSH,36.0 +CMT,1,1,719,2.0,CSH,10.5 +CMT,1,1,638,3.3,CSH,12.0 +CMT,1,1,807,3.4,CRD,13.5 +CMT,1,1,388,0.5,CSH,5.5 +CMT,1,1,1195,7.8,CRD,23.5 +CMT,1,1,289,0.7,CRD,5.5 +CMT,1,1,558,0.8,CSH,7.5 +CMT,1,1,534,1.1,CSH,8.0 +CMT,1,2,580,1.3,CSH,8.0 +CMT,1,1,1772,7.1,CRD,25.0 +CMT,2,1,2941,18.2,CRD,52.0 +CMT,1,1,318,0.2,CRD,5.0 +CMT,1,2,1221,3.4,CRD,15.5 +VTS,1,2,480,0.99,CSH,7.0 +VTS,1,1,600,1.74,CSH,9.0 +VTS,1,1,600,1.4,CSH,8.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,300,0.54,CSH,5.0 +VTS,1,1,1680,6.53,CRD,24.0 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,1620,6.84,CSH,24.0 +VTS,1,6,180,0.54,CRD,4.5 +VTS,1,6,480,2.36,CSH,9.5 +VTS,1,1,540,1.72,CRD,8.0 +VTS,1,6,240,1.18,CRD,5.5 +VTS,1,6,540,2.65,CSH,9.5 +VTS,1,1,780,1.36,CSH,7.5 +VTS,1,1,720,1.33,CRD,9.0 +VTS,1,1,720,1.63,CRD,9.5 +VTS,1,1,1920,12.19,CRD,37.5 +VTS,1,1,1200,3.71,CSH,15.5 +VTS,1,1,840,2.23,CSH,11.0 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,1,600,2.15,CSH,10.0 +VTS,1,1,1380,6.42,CRD,23.0 +VTS,1,1,660,1.55,CRD,9.0 +VTS,1,1,780,2.26,CRD,10.5 +VTS,1,1,1380,7.5,CSH,24.5 +VTS,1,1,1500,5.43,CSH,21.0 +VTS,1,1,780,3.26,CRD,13.0 +VTS,1,1,300,0.9,CRD,6.0 +VTS,1,1,780,1.98,CRD,10.5 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,4,660,1.58,CRD,9.0 +VTS,1,5,900,1.6,CRD,10.5 +VTS,1,5,660,1.8,CRD,9.0 +VTS,1,5,960,1.94,CSH,11.5 +VTS,1,4,480,1.29,CSH,7.0 +VTS,1,5,1140,5.79,CRD,19.0 +VTS,1,4,660,4.21,CSH,13.5 +VTS,1,2,1080,11.26,CSH,32.0 +VTS,1,2,420,1.05,CSH,6.5 +VTS,1,3,300,1.54,CSH,6.5 +VTS,1,2,300,1.12,CSH,6.0 +VTS,1,3,480,3.19,CSH,10.5 +VTS,1,1,360,1.75,CRD,7.5 +VTS,1,1,600,3.06,CRD,11.5 +VTS,1,1,360,1.74,CSH,7.0 +VTS,1,1,240,0.93,CRD,5.5 +VTS,1,6,600,1.51,CRD,8.0 +VTS,1,6,360,2.18,CSH,8.0 +VTS,1,6,360,1.33,CSH,6.5 +VTS,1,6,240,0.93,CRD,5.5 +VTS,1,6,720,1.15,CRD,9.0 +VTS,1,6,240,0.67,CRD,4.5 +VTS,1,6,960,3.64,CRD,14.0 +VTS,1,6,660,1.39,CSH,8.5 +VTS,1,6,420,1.4,CRD,7.0 +VTS,1,6,120,0.58,CSH,3.5 +VTS,1,5,420,1.0,CSH,6.5 +VTS,1,5,1200,6.48,CRD,21.0 +VTS,1,5,600,4.1,CRD,13.0 +VTS,1,5,360,1.08,CSH,6.5 +VTS,1,5,480,1.07,CRD,7.0 +VTS,1,5,300,0.74,CSH,5.0 +VTS,1,4,1020,3.75,CRD,14.5 +VTS,1,5,480,1.37,CRD,7.5 +VTS,1,2,240,1.21,CRD,5.5 +VTS,1,2,540,0.94,CRD,7.5 +VTS,1,2,300,1.19,CRD,6.0 +VTS,2,3,1560,17.75,CSH,52.0 +VTS,2,1,0,0.13,CRD,52.0 +VTS,1,1,600,2.62,CSH,10.5 +VTS,1,6,180,0.7,CSH,4.5 +VTS,1,6,600,1.55,CRD,8.5 +VTS,1,6,360,0.89,CSH,5.5 +VTS,1,6,180,1.14,CRD,5.0 +VTS,1,6,720,1.97,CSH,10.5 +VTS,1,6,360,0.63,CSH,5.5 +VTS,1,6,420,1.17,CRD,7.0 +VTS,1,6,840,1.61,CRD,10.0 +VTS,1,6,240,0.8,CSH,5.0 +VTS,1,6,720,3.16,CRD,12.0 +VTS,1,6,360,1.27,CSH,6.5 +VTS,1,6,1020,6.82,CRD,22.0 +VTS,1,2,240,1.25,CSH,6.0 +VTS,1,2,780,4.02,CRD,14.0 +VTS,1,2,1020,1.95,CRD,12.0 +VTS,1,3,360,2.6,CSH,9.0 +VTS,1,1,720,5.47,CSH,17.0 +VTS,1,1,600,2.83,CSH,10.5 +VTS,1,1,120,0.48,CSH,4.0 +VTS,1,1,1080,6.36,CSH,20.5 +VTS,1,1,480,1.66,CRD,8.0 +VTS,1,1,900,1.94,CRD,11.0 +VTS,1,1,240,0.88,CRD,5.0 +VTS,1,6,180,0.59,CRD,4.5 +VTS,1,6,540,1.06,CSH,8.0 +VTS,1,6,660,1.07,CRD,8.0 +VTS,1,6,240,0.84,CSH,5.0 +VTS,1,6,600,3.76,CRD,13.5 +VTS,1,6,420,1.36,CSH,7.0 +VTS,1,6,180,1.02,CRD,5.0 +VTS,1,6,1260,5.87,CSH,21.0 +VTS,1,6,360,1.39,CSH,7.0 +VTS,1,6,1020,2.56,CRD,12.5 +VTS,1,6,600,2.15,CSH,9.0 +VTS,1,6,1500,7.64,CRD,25.0 +VTS,1,6,600,2.3,CRD,9.5 +VTS,1,6,1500,5.09,CSH,21.0 +VTS,1,6,600,2.3,CRD,10.0 +VTS,1,1,360,1.68,CSH,7.0 +VTS,1,1,360,0.96,CRD,6.5 +VTS,1,6,480,1.24,CRD,7.0 +VTS,1,6,480,1.21,CRD,7.0 +VTS,1,6,780,3.0,CRD,12.5 +VTS,1,6,1020,3.15,CRD,13.5 +VTS,1,6,420,2.92,CRD,10.0 +VTS,1,6,720,5.01,CRD,17.0 +VTS,1,6,360,2.54,CRD,9.5 +VTS,1,6,480,3.44,CSH,12.0 +VTS,1,6,540,1.81,CSH,8.5 +VTS,1,6,660,7.25,CRD,21.0 +VTS,1,6,480,1.94,CRD,8.5 +VTS,1,6,360,1.3,CRD,6.5 +VTS,1,6,900,2.21,CRD,12.0 +VTS,1,6,900,4.53,CRD,16.0 +VTS,1,6,780,1.69,CRD,10.0 +VTS,1,6,1260,3.01,CRD,15.0 +VTS,1,6,540,1.59,CSH,8.0 +VTS,1,6,660,1.75,CRD,9.0 +VTS,1,2,300,1.06,CSH,6.0 +VTS,1,3,180,0.82,CSH,5.0 +VTS,1,2,420,1.89,CSH,8.5 +VTS,1,2,1380,6.85,CRD,22.5 +VTS,1,1,900,2.48,CRD,12.5 +VTS,1,1,900,4.02,CSH,14.5 +VTS,1,1,840,3.99,CSH,14.0 +VTS,5,1,540,3.4,CRD,34.0 +VTS,1,1,480,1.9,CRD,8.5 +VTS,1,1,540,3.87,CRD,12.5 +VTS,1,1,300,1.87,CRD,7.5 +VTS,1,1,720,2.58,CRD,11.0 +VTS,1,1,720,2.45,CRD,11.0 +VTS,1,1,1620,14.29,CSH,38.5 +VTS,1,1,780,2.95,CRD,12.0 +VTS,1,1,180,0.91,CRD,5.0 +VTS,1,1,480,1.12,CSH,7.0 +VTS,1,1,660,1.83,CRD,10.0 +VTS,1,1,840,3.55,CSH,13.5 +VTS,1,1,300,1.03,CSH,6.0 +VTS,1,1,900,5.13,CRD,17.0 +VTS,1,1,480,4.03,CRD,13.0 +VTS,1,1,540,1.54,CSH,8.0 +VTS,1,1,240,0.58,CRD,4.5 +VTS,1,1,780,3.53,CSH,13.5 +VTS,1,1,420,1.67,CSH,8.0 +VTS,1,2,540,3.99,CSH,14.0 +VTS,1,3,720,3.25,CSH,13.0 +VTS,1,3,300,0.93,CRD,6.0 +VTS,1,3,120,0.44,CSH,3.5 +VTS,1,1,660,1.77,CRD,9.0 +VTS,1,1,240,0.72,CRD,5.0 +VTS,1,6,60,0.49,CRD,3.5 +VTS,1,6,300,0.7,CRD,5.0 +VTS,1,6,840,1.85,CSH,10.5 +VTS,1,6,1140,3.11,CSH,15.0 +VTS,1,6,360,0.64,CSH,6.0 +VTS,1,6,420,0.9,CSH,5.5 +VTS,1,6,420,1.55,CRD,7.5 +VTS,1,6,540,1.37,CSH,8.0 +VTS,1,6,120,0.59,CSH,4.0 +VTS,1,6,480,1.42,CRD,7.5 +VTS,1,6,360,0.84,CSH,6.0 +VTS,1,6,420,2.27,CSH,9.0 +VTS,5,1,0,0.0,CRD,9.0 +VTS,1,2,1260,4.05,CRD,17.5 +VTS,1,2,960,3.05,CRD,12.5 +VTS,1,1,780,2.04,CRD,11.0 +VTS,1,1,180,1.2,CSH,5.5 +VTS,1,1,960,2.94,CSH,14.0 +VTS,1,1,60,0.03,CSH,2.5 +VTS,1,1,600,2.12,CRD,9.5 +VTS,1,1,300,1.1,CSH,6.0 +VTS,1,1,1080,4.95,CRD,18.0 +VTS,1,1,420,1.64,CSH,7.5 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,480,1.64,CSH,8.0 +VTS,1,1,1080,5.29,CSH,19.0 +VTS,1,1,900,8.86,CRD,25.0 +VTS,1,6,360,0.3,CSH,5.5 +VTS,1,6,480,1.65,CSH,8.0 +VTS,1,6,300,2.12,CRD,7.5 +VTS,1,2,780,2.14,CRD,10.5 +VTS,1,3,1200,3.9,CRD,16.0 +VTS,1,2,360,1.73,CSH,7.5 +VTS,1,3,420,4.02,CSH,12.5 +VTS,1,1,360,1.35,CSH,6.5 +VTS,1,1,180,1.2,CRD,5.5 +VTS,1,1,300,0.77,CSH,5.5 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,1,780,2.89,CRD,12.0 +VTS,1,1,300,1.08,CRD,6.0 +VTS,1,1,540,2.05,CSH,9.5 +VTS,1,1,840,2.16,CRD,11.5 +VTS,1,1,240,1.02,CRD,6.0 +VTS,5,1,0,0.0,CRD,20.0 +VTS,1,1,540,2.66,CSH,10.5 +VTS,1,1,540,1.38,CSH,8.0 +VTS,1,1,780,2.64,CRD,11.5 +VTS,1,1,420,1.5,CSH,7.0 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,660,1.79,CRD,9.0 +VTS,1,3,720,4.03,CSH,14.0 +VTS,1,3,300,1.23,CSH,6.5 +VTS,1,4,300,0.87,CRD,5.5 +VTS,1,1,240,0.94,CRD,5.5 +VTS,1,6,360,0.38,CRD,5.5 +VTS,1,6,360,0.72,CSH,6.0 +VTS,1,6,240,0.89,CSH,5.0 +VTS,1,6,180,0.88,CRD,5.0 +VTS,1,2,780,1.47,CRD,9.5 +VTS,1,2,300,1.09,CRD,6.0 +VTS,1,1,60,0.47,CRD,3.5 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,360,1.71,CRD,7.5 +VTS,1,1,420,2.53,CRD,9.0 +VTS,1,1,660,2.81,CSH,11.0 +VTS,1,1,840,2.25,CRD,11.5 +VTS,1,1,360,1.72,CSH,7.5 +VTS,1,1,900,5.7,CSH,18.5 +VTS,1,1,360,1.28,CSH,6.0 +VTS,1,1,600,2.4,CSH,10.0 +VTS,1,1,840,4.0,CSH,15.5 +VTS,1,1,420,1.97,CSH,8.5 +VTS,1,1,780,2.19,CSH,11.0 +VTS,1,1,660,3.26,CRD,12.0 +VTS,1,1,1680,8.08,CSH,26.5 +VTS,1,1,360,1.32,CRD,6.5 +VTS,1,1,660,3.6,CSH,13.0 +VTS,1,1,1260,7.07,CRD,23.0 +VTS,1,1,1500,7.4,CSH,25.5 +VTS,1,1,480,1.41,CSH,7.5 +VTS,1,1,180,1.4,CSH,6.0 +VTS,1,1,720,3.2,CSH,12.0 +VTS,1,1,300,1.88,CRD,7.5 +VTS,1,1,900,6.07,CSH,20.0 +VTS,1,1,660,3.82,CSH,13.0 +VTS,1,1,600,3.81,CRD,13.0 +VTS,1,1,180,0.49,CRD,4.0 +VTS,1,1,360,0.81,CSH,5.5 +VTS,1,1,420,1.31,CSH,7.0 +VTS,1,3,540,2.17,CRD,9.5 +VTS,1,2,1080,3.21,CSH,14.0 +VTS,1,3,720,2.76,CRD,11.0 +VTS,1,3,180,0.67,CSH,4.5 +VTS,1,1,240,1.04,CRD,5.5 +VTS,1,1,960,2.55,CSH,13.0 +VTS,1,1,1140,4.64,CSH,18.5 +VTS,1,1,660,1.13,CRD,8.5 +VTS,1,1,1260,3.95,CRD,16.5 +VTS,1,1,780,2.34,CSH,11.5 +VTS,1,1,1020,3.02,CSH,14.0 +VTS,1,1,360,0.82,CRD,6.0 +VTS,1,1,540,1.48,CSH,8.0 +VTS,1,1,1560,7.24,CSH,24.5 +VTS,1,1,840,1.77,CRD,10.5 +VTS,1,1,720,2.49,CSH,11.5 +VTS,1,1,420,1.18,CSH,7.0 +VTS,1,1,840,3.24,CSH,13.5 +VTS,1,1,660,2.84,CRD,11.0 +VTS,1,1,1020,3.77,CSH,14.0 +VTS,1,6,480,1.38,CSH,7.5 +VTS,1,6,900,1.7,CRD,11.0 +VTS,1,6,720,3.32,CSH,12.0 +VTS,1,6,600,2.69,CSH,11.0 +VTS,1,6,840,3.5,CSH,13.0 +VTS,1,6,600,2.15,CRD,9.0 +VTS,1,6,300,1.31,CRD,6.5 +VTS,1,6,540,2.43,CSH,10.0 +VTS,1,6,180,1.77,CSH,6.5 +VTS,1,6,600,1.51,CSH,8.5 +VTS,1,6,720,2.93,CSH,11.5 +VTS,1,6,720,2.6,CSH,11.0 +VTS,1,6,300,1.35,CRD,6.0 +VTS,1,6,360,1.63,CSH,7.0 +VTS,1,2,480,1.72,CRD,8.5 +VTS,1,3,480,1.52,CSH,8.0 +VTS,1,3,1080,5.21,CRD,18.0 +VTS,1,3,300,1.16,CRD,5.5 +VTS,1,2,360,1.17,CRD,6.5 +VTS,1,1,1320,5.96,CSH,20.5 +VTS,1,1,480,2.25,CSH,9.0 +VTS,1,1,1740,9.48,CSH,30.5 +VTS,1,1,600,3.56,CRD,12.0 +VTS,1,1,180,0.37,CSH,3.5 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,5,120,0.57,CRD,4.0 +VTS,1,5,300,1.08,CSH,6.0 +VTS,1,5,900,5.2,CSH,17.0 +VTS,1,1,420,1.63,CRD,7.5 +VTS,1,1,420,0.92,CSH,6.0 +VTS,1,5,780,2.63,CSH,11.5 +VTS,1,5,840,2.99,CRD,12.5 +VTS,1,5,300,0.81,CSH,5.5 +VTS,1,5,1080,2.56,CSH,13.0 +VTS,1,5,420,1.51,CRD,7.5 +VTS,1,5,600,1.7,CSH,9.0 +VTS,1,5,840,5.74,CSH,19.0 +VTS,1,2,360,1.65,CRD,7.5 +VTS,1,2,360,2.33,CRD,8.5 +VTS,1,1,1140,4.72,CSH,17.5 +VTS,1,2,240,0.93,CSH,5.5 +VTS,1,2,300,0.97,CSH,5.5 +VTS,1,2,180,0.95,CRD,5.0 +VTS,1,2,300,0.88,CRD,6.0 +VTS,1,2,180,0.72,CSH,4.5 +VTS,1,2,420,1.99,CSH,8.0 +VTS,1,1,360,1.92,CSH,7.5 +VTS,1,1,720,3.37,CRD,12.5 +VTS,1,6,360,0.9,CSH,6.0 +VTS,1,6,360,1.17,CRD,6.5 +VTS,1,6,960,3.22,CSH,13.5 +VTS,1,6,300,0.64,CSH,5.0 +VTS,1,6,360,1.72,CSH,7.0 +VTS,1,6,960,2.4,CSH,11.0 +VTS,1,3,1080,7.52,CRD,22.5 +VTS,1,2,960,4.65,CRD,16.0 +VTS,1,1,540,1.72,CRD,8.5 +VTS,1,1,900,3.14,CRD,14.0 +VTS,1,1,1140,5.13,CSH,19.0 +VTS,1,1,960,6.79,CRD,21.0 +VTS,1,1,300,1.2,CRD,5.5 +VTS,1,1,180,1.16,CRD,5.0 +VTS,1,1,420,1.62,CSH,7.5 +VTS,5,1,1860,14.27,CRD,69.0 +VTS,1,1,180,1.18,CSH,5.5 +VTS,1,1,240,0.89,CSH,5.5 +VTS,1,1,780,2.61,CSH,11.5 +VTS,1,1,300,1.18,CRD,6.5 +VTS,1,1,1140,1.56,CSH,12.0 +VTS,1,1,720,2.34,CRD,10.0 +VTS,1,3,180,1.52,CSH,6.0 +VTS,1,1,480,2.23,CSH,9.0 +VTS,1,1,780,3.41,CRD,12.5 +VTS,1,1,60,0.56,CRD,3.5 +VTS,1,6,660,5.69,CSH,17.5 +VTS,1,6,900,6.99,CRD,21.0 +VTS,1,6,1380,3.91,CRD,17.5 +VTS,1,6,1020,2.62,CRD,12.5 +VTS,1,6,300,1.04,CRD,6.0 +VTS,1,6,420,1.29,CRD,7.0 +VTS,1,6,360,1.54,CRD,7.0 +VTS,1,6,600,2.56,CRD,10.5 +VTS,1,2,900,3.8,CRD,14.5 +VTS,1,2,2100,11.89,CRD,38.0 +VTS,1,3,180,0.89,CSH,5.0 +VTS,1,2,600,3.4,CRD,12.0 +VTS,1,1,900,1.88,CRD,11.0 +VTS,1,1,420,1.56,CRD,7.5 +VTS,1,1,660,2.11,CSH,10.0 +VTS,1,1,180,0.56,CRD,4.0 +VTS,1,1,360,1.21,CRD,6.5 +VTS,1,1,360,1.81,CSH,8.0 +VTS,1,1,600,1.99,CSH,9.5 +VTS,1,1,1260,11.99,CRD,33.5 +VTS,1,1,780,2.92,CRD,11.5 +VTS,1,1,180,0.93,CSH,5.0 +VTS,1,1,600,3.22,CRD,12.0 +VTS,1,1,660,1.31,CSH,8.5 +VTS,1,1,1320,6.86,CRD,23.5 +VTS,1,1,720,1.29,CRD,9.0 +VTS,1,1,900,7.56,CSH,22.5 +VTS,1,1,780,3.77,CSH,13.5 +VTS,1,1,780,4.14,CSH,14.5 +VTS,1,3,480,2.09,CRD,9.0 +VTS,1,3,480,1.92,CSH,8.5 +VTS,1,3,240,0.79,CRD,5.0 +VTS,1,3,720,3.1,CSH,12.5 +VTS,1,4,180,0.58,CSH,4.0 +VTS,1,3,420,0.73,CRD,6.5 +VTS,1,1,1680,5.54,CSH,22.0 +VTS,1,1,480,1.32,CRD,7.0 +VTS,1,1,540,1.55,CRD,8.0 +VTS,1,1,480,1.18,CRD,7.0 +VTS,1,1,1140,2.4,CRD,13.0 +VTS,1,1,480,2.69,CSH,10.0 +VTS,1,1,420,0.78,CSH,6.0 +VTS,1,1,1440,6.54,CRD,23.5 +VTS,1,1,840,2.18,CSH,11.0 +VTS,1,1,360,0.55,CSH,5.5 +VTS,1,1,540,2.03,CRD,9.0 +VTS,1,1,840,1.47,CRD,10.0 +VTS,1,1,540,1.25,CSH,7.5 +VTS,1,1,360,0.81,CSH,6.0 +VTS,1,1,900,2.19,CSH,11.0 +VTS,1,1,600,1.4,CRD,8.5 +VTS,1,1,900,2.4,CRD,11.5 +VTS,1,1,1260,3.53,CRD,16.5 +VTS,1,1,360,0.68,CSH,5.5 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,1440,4.52,CRD,19.5 +VTS,1,1,300,0.53,CRD,5.0 +VTS,1,1,780,2.16,CRD,10.5 +VTS,1,1,660,1.12,CRD,8.5 +VTS,1,1,480,1.82,CRD,8.0 +VTS,1,1,780,1.86,CRD,10.5 +VTS,1,1,480,1.72,CSH,8.0 +VTS,1,1,780,1.39,CRD,9.0 +VTS,1,1,1080,3.02,CSH,13.5 +VTS,1,1,120,0.37,CRD,3.5 +VTS,1,1,60,0.2,CSH,3.5 +VTS,1,1,360,0.69,CSH,5.5 +VTS,1,1,660,1.77,CRD,10.0 +VTS,1,1,540,1.06,CRD,8.0 +VTS,1,1,600,1.43,CSH,8.0 +VTS,1,1,360,0.68,CSH,5.5 +VTS,1,1,360,1.01,CRD,6.0 +VTS,1,1,540,1.9,CRD,8.0 +VTS,1,1,660,1.61,CSH,9.0 +VTS,1,1,540,1.42,CRD,8.0 +VTS,1,1,1680,4.22,CSH,20.0 +VTS,1,1,1500,2.51,CSH,16.0 +VTS,1,1,240,0.71,CSH,5.0 +VTS,1,1,180,0.5,CSH,4.0 +VTS,1,1,1560,8.84,CRD,29.5 +VTS,1,1,480,2.62,CSH,9.5 +VTS,1,1,180,1.46,CSH,6.0 +VTS,1,1,360,1.29,CSH,6.5 +VTS,1,1,480,2.3,CSH,9.0 +VTS,1,1,240,1.54,CSH,6.5 +VTS,1,1,480,2.47,CRD,9.5 +VTS,1,1,420,1.04,CSH,7.0 +VTS,1,1,1020,4.23,CRD,15.5 +VTS,1,1,600,1.74,CSH,8.5 +VTS,1,1,1020,5.0,CSH,17.5 +VTS,1,1,360,1.75,CSH,7.5 +VTS,1,1,1200,5.58,CRD,20.0 +VTS,1,1,240,1.07,CRD,5.5 +VTS,1,1,360,1.55,CSH,7.0 +VTS,1,1,420,1.13,CSH,7.0 +VTS,1,1,960,4.92,CRD,17.5 +VTS,1,1,540,1.63,CRD,8.0 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,2100,8.69,CSH,33.5 +VTS,1,1,660,2.95,CRD,11.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,1020,2.02,CRD,12.5 +VTS,1,1,1080,2.79,CRD,13.5 +VTS,1,1,120,0.4,CRD,3.5 +VTS,1,1,720,3.8,CSH,13.5 +VTS,1,1,900,2.47,CRD,11.5 +VTS,1,1,1020,6.63,CRD,21.0 +VTS,1,1,1380,4.35,CRD,18.5 +VTS,1,1,900,1.29,CSH,10.5 +VTS,1,1,660,6.53,CSH,20.0 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,780,3.13,CSH,12.0 +VTS,1,1,660,2.55,CRD,10.0 +VTS,1,1,540,0.79,CSH,7.0 +VTS,1,1,1260,6.21,CRD,21.0 +VTS,1,1,180,0.35,CRD,4.0 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,540,1.43,CSH,8.0 +VTS,1,1,300,0.6,CSH,5.0 +VTS,1,1,540,1.03,CSH,7.5 +VTS,1,1,1020,1.91,CSH,11.5 +VTS,1,1,960,3.73,CSH,14.5 +VTS,1,1,480,0.94,CSH,6.5 +VTS,1,1,1020,3.44,CRD,14.5 +VTS,1,1,1560,6.32,CSH,22.5 +VTS,1,1,600,1.63,CSH,8.5 +VTS,1,1,360,0.91,CSH,6.0 +VTS,1,1,1020,3.49,CRD,15.5 +VTS,2,1,1920,17.49,CRD,52.0 +VTS,1,1,600,1.53,CSH,8.5 +VTS,1,1,360,0.71,CSH,5.5 +VTS,1,1,1320,6.75,CRD,23.5 +VTS,1,1,300,1.14,CSH,6.0 +VTS,1,1,600,3.17,CRD,12.0 +VTS,1,3,420,1.19,CSH,7.0 +VTS,1,3,360,1.45,CSH,7.0 +VTS,1,4,2160,5.6,CRD,26.5 +VTS,1,1,900,1.72,CRD,11.0 +VTS,1,1,540,1.44,CRD,8.5 +VTS,1,1,420,0.77,CSH,6.0 +VTS,1,1,1980,12.13,CRD,38.5 +VTS,1,1,1020,7.77,CRD,23.5 +VTS,1,1,1320,4.28,CRD,17.0 +VTS,1,1,480,0.56,CRD,6.5 +VTS,1,1,60,0.27,CSH,3.0 +VTS,1,1,540,1.16,CSH,7.0 +VTS,1,1,1020,1.5,CRD,11.5 +VTS,1,1,1020,4.03,CSH,15.5 +VTS,1,1,1200,1.72,CRD,13.0 +VTS,1,1,1020,3.58,CSH,14.5 +VTS,1,1,900,1.8,CRD,11.0 +VTS,1,1,420,1.11,CSH,6.5 +VTS,1,1,480,0.87,CSH,7.0 +VTS,1,1,540,1.75,CSH,8.0 +VTS,1,1,420,1.65,CSH,7.0 +VTS,1,1,360,1.0,CRD,6.0 +VTS,1,1,960,3.45,CRD,13.0 +VTS,1,1,600,5.05,CRD,15.5 +VTS,1,6,360,0.99,CSH,5.5 +VTS,1,6,360,1.39,CRD,6.5 +VTS,1,6,600,1.34,CSH,8.5 +VTS,1,6,1080,7.78,CRD,24.5 +VTS,1,6,780,3.44,CRD,13.0 +VTS,1,6,480,1.9,CSH,8.5 +VTS,1,6,180,0.81,CSH,4.5 +VTS,1,6,420,1.73,CRD,7.5 +VTS,1,6,600,3.76,CSH,12.5 +VTS,1,6,660,1.89,CRD,9.5 +VTS,1,6,1620,10.37,CSH,32.0 +VTS,1,6,1080,4.64,CRD,17.5 +VTS,1,6,420,3.74,CRD,12.5 +VTS,1,6,360,0.46,CSH,5.5 +VTS,1,6,420,0.97,CRD,6.5 +VTS,1,6,720,1.93,CSH,10.0 +VTS,1,6,180,0.72,CRD,4.0 +VTS,1,6,1320,3.23,CRD,16.5 +VTS,1,6,0,0.23,CSH,3.0 +VTS,1,3,1380,6.96,CRD,23.5 +VTS,1,2,240,0.6,CSH,4.5 +VTS,1,2,480,3.94,CSH,12.5 +VTS,1,3,180,1.29,CSH,5.5 +VTS,1,2,600,2.96,CSH,11.0 +VTS,1,2,360,1.13,CRD,6.5 +VTS,1,1,1140,10.96,CRD,31.0 +VTS,1,1,660,3.43,CRD,12.5 +VTS,1,1,780,3.08,CSH,12.5 +VTS,1,1,480,1.79,CSH,8.0 +VTS,1,1,720,1.99,CRD,10.0 +VTS,1,1,720,2.09,CRD,10.0 +VTS,1,1,180,0.34,CSH,3.5 +VTS,1,1,900,4.92,CRD,16.0 +VTS,1,1,480,1.87,CRD,8.0 +VTS,1,1,240,0.85,CRD,5.0 +VTS,1,1,240,0.78,CSH,5.0 +VTS,1,1,300,0.6,CSH,5.0 +VTS,1,1,300,0.76,CSH,5.5 +VTS,1,1,540,2.26,CSH,9.5 +VTS,1,1,540,1.87,CRD,9.0 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,600,2.84,CRD,10.5 +VTS,1,1,420,2.3,CRD,8.5 +VTS,1,1,360,2.08,CRD,8.0 +VTS,1,1,540,3.59,CRD,11.5 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,1620,6.32,CSH,22.5 +VTS,1,1,1080,6.63,CRD,21.0 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,900,5.19,CSH,17.5 +VTS,1,1,660,3.42,CRD,12.0 +VTS,1,1,780,2.81,CSH,11.5 +VTS,1,1,1020,1.72,CSH,11.5 +VTS,1,1,960,2.7,CRD,12.5 +VTS,1,1,540,1.41,CRD,8.0 +VTS,1,1,780,1.65,CRD,10.5 +VTS,1,1,1440,8.3,CRD,27.0 +VTS,1,1,420,0.77,CRD,6.0 +VTS,1,1,600,0.82,CSH,8.0 +VTS,1,1,300,1.01,CRD,6.0 +VTS,1,1,1200,2.54,CRD,14.0 +VTS,1,1,1320,4.14,CRD,17.0 +VTS,1,1,420,1.11,CSH,6.5 +VTS,1,1,720,1.56,CRD,9.5 +VTS,1,1,600,1.37,CRD,8.0 +VTS,1,1,480,1.58,CRD,8.0 +VTS,1,1,1500,6.01,CRD,23.0 +VTS,1,1,300,0.36,CSH,4.5 +VTS,1,1,960,1.94,CSH,11.5 +VTS,1,1,120,0.42,CSH,4.0 +VTS,1,1,1140,2.71,CSH,14.5 +VTS,1,1,1380,3.07,CRD,15.5 +VTS,1,1,360,0.67,CSH,5.5 +VTS,1,1,480,1.3,CSH,7.0 +VTS,1,1,360,0.63,CRD,5.5 +VTS,1,1,1920,8.88,CRD,31.5 +VTS,1,1,660,1.61,CRD,9.0 +VTS,1,1,900,1.96,CSH,11.5 +VTS,1,1,1200,3.49,CRD,15.0 +VTS,1,1,960,2.17,CSH,12.0 +VTS,1,1,720,1.22,CSH,9.5 +VTS,1,1,3720,16.75,CRD,54.5 +VTS,1,1,600,2.4,CRD,9.5 +VTS,1,1,1080,2.7,CRD,13.0 +VTS,1,1,480,1.26,CSH,7.5 +VTS,1,1,420,1.08,CSH,7.0 +VTS,1,1,1140,1.57,CSH,12.0 +VTS,1,1,660,2.15,CRD,10.0 +VTS,1,1,60,0.36,CSH,3.5 +VTS,1,1,540,1.89,CSH,8.5 +VTS,1,1,180,0.6,CRD,4.0 +VTS,1,1,960,1.78,CRD,11.5 +VTS,1,1,300,0.85,CRD,6.0 +VTS,1,1,600,1.26,CRD,8.0 +VTS,1,1,5400,10.3,CRD,60.5 +VTS,1,1,240,0.63,CSH,5.0 +VTS,2,1,2640,14.47,CRD,52.0 +VTS,1,1,360,1.1,CRD,6.0 +VTS,1,1,780,1.83,CRD,10.0 +VTS,1,1,1320,4.37,CSH,18.0 +VTS,1,1,660,1.73,CSH,9.5 +VTS,1,1,720,2.08,CRD,10.5 +VTS,1,1,300,0.54,CSH,5.0 +VTS,1,1,1680,4.39,CSH,20.5 +VTS,1,1,240,0.81,CRD,5.0 +VTS,1,1,720,2.53,CSH,11.0 +VTS,1,1,420,1.03,CSH,6.5 +VTS,1,1,360,1.01,CRD,6.0 +VTS,1,1,660,2.14,CRD,9.5 +VTS,1,1,480,1.38,CRD,7.5 +VTS,1,1,540,0.55,CRD,7.0 +VTS,1,1,480,1.24,CSH,7.0 +VTS,1,1,660,2.61,CRD,11.0 +VTS,1,1,240,0.6,CRD,4.5 +VTS,1,1,360,1.06,CSH,6.0 +VTS,1,1,720,1.33,CSH,9.0 +VTS,1,1,1080,2.1,CRD,12.5 +VTS,1,1,480,0.67,CSH,6.5 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,1020,4.47,CRD,16.5 +VTS,1,1,600,1.64,CRD,8.5 +VTS,1,1,780,2.94,CSH,11.5 +VTS,1,1,900,1.71,CSH,11.0 +VTS,1,1,420,0.78,CSH,6.5 +VTS,1,1,1800,11.14,CRD,34.0 +VTS,1,1,900,1.49,CRD,10.0 +VTS,1,1,120,0.37,CSH,3.0 +VTS,1,1,240,0.5,CRD,4.5 +VTS,1,1,540,0.74,CRD,7.0 +VTS,1,1,660,1.63,CSH,9.0 +VTS,1,1,1080,2.41,CRD,12.5 +VTS,1,1,360,0.89,CRD,6.0 +VTS,1,1,840,2.49,CSH,12.0 +VTS,1,1,360,1.69,CSH,7.0 +VTS,1,1,600,1.43,CRD,8.0 +VTS,1,1,360,0.87,CRD,6.0 +VTS,1,1,540,1.5,CSH,8.0 +VTS,1,1,1440,3.18,CSH,16.5 +VTS,1,1,420,1.23,CRD,7.0 +VTS,1,1,480,0.96,CRD,7.0 +VTS,1,1,780,1.64,CRD,9.5 +VTS,3,1,1620,16.16,CSH,62.0 +VTS,1,1,600,1.2,CRD,8.5 +VTS,1,1,1080,2.82,CRD,14.0 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,660,2.02,CRD,10.0 +VTS,1,1,540,1.85,CRD,9.0 +VTS,1,1,1020,2.39,CSH,12.5 +VTS,1,1,180,0.86,CRD,4.5 +VTS,1,1,420,1.56,CRD,7.5 +VTS,1,1,1080,2.16,CSH,12.5 +VTS,1,1,240,0.88,CRD,5.5 +VTS,1,1,720,1.49,CSH,9.0 +VTS,1,1,480,0.73,CRD,7.0 +VTS,1,1,1200,3.91,CSH,15.5 +VTS,1,1,420,1.34,CSH,7.0 +VTS,1,1,480,1.48,CRD,8.0 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,480,2.1,CSH,9.0 +VTS,1,1,480,1.18,CRD,7.5 +VTS,1,1,1380,3.56,CSH,16.5 +VTS,1,1,480,1.05,CSH,7.0 +VTS,1,1,360,0.92,CSH,6.0 +VTS,1,1,1080,1.87,CSH,12.5 +VTS,1,1,360,1.0,CSH,6.0 +VTS,1,1,600,1.21,CSH,8.0 +VTS,1,1,1800,10.55,CSH,33.0 +VTS,1,1,240,0.81,CRD,5.0 +VTS,1,1,540,1.56,CSH,8.0 +VTS,1,1,240,0.66,CSH,4.5 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,2100,5.93,CRD,25.0 +VTS,1,1,660,1.39,CSH,9.0 +VTS,1,1,600,1.56,CRD,8.5 +VTS,1,1,540,1.66,CSH,8.0 +VTS,1,1,600,1.13,CSH,7.5 +VTS,1,1,900,1.57,CRD,11.0 +VTS,1,1,660,2.08,CRD,9.5 +VTS,1,1,60,0.09,CRD,2.5 +VTS,1,1,480,1.12,CSH,7.0 +VTS,1,1,480,1.04,CRD,7.0 +VTS,1,1,600,1.21,CRD,8.0 +VTS,1,1,360,0.7,CRD,5.5 +VTS,1,1,480,1.12,CSH,7.5 +VTS,1,1,1140,6.04,CSH,21.0 +VTS,1,1,1080,1.64,CRD,12.0 +VTS,1,1,180,1.17,CRD,5.0 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,1560,3.6,CRD,18.0 +VTS,1,1,360,0.95,CSH,5.5 +VTS,1,1,360,0.89,CRD,6.0 +VTS,1,1,480,1.0,CRD,7.0 +VTS,1,1,540,1.83,CSH,8.5 +VTS,1,1,1020,1.96,CRD,11.5 +VTS,1,1,600,1.26,CSH,7.5 +VTS,1,1,1320,1.67,CRD,13.5 +VTS,1,1,900,2.37,CSH,11.5 +VTS,1,1,600,1.45,CSH,8.5 +VTS,1,1,1020,2.24,CRD,12.5 +VTS,1,1,1440,3.05,CSH,17.0 +VTS,1,1,840,1.79,CSH,10.5 +VTS,1,1,900,0.98,CRD,9.5 +VTS,1,1,840,1.43,CRD,10.0 +VTS,1,1,1320,3.73,CRD,17.0 +VTS,1,1,840,1.33,CSH,10.0 +VTS,1,1,480,0.91,CRD,6.5 +VTS,1,1,180,0.54,CSH,4.5 +VTS,1,1,600,2.07,CRD,9.5 +VTS,1,1,780,2.28,CRD,11.0 +VTS,1,1,480,1.09,CSH,7.0 +VTS,1,1,600,1.43,CSH,8.5 +VTS,1,1,660,1.19,CRD,8.5 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,540,1.0,CRD,7.5 +VTS,1,1,720,1.48,CRD,9.0 +VTS,1,1,180,0.59,CSH,4.5 +VTS,1,1,240,0.38,CRD,4.0 +VTS,1,1,480,1.44,CSH,7.5 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,540,0.71,CSH,7.0 +VTS,1,1,1080,2.61,CRD,13.5 +VTS,1,1,900,2.13,CRD,11.5 +VTS,1,1,1140,2.72,CRD,13.5 +VTS,1,1,720,1.11,CSH,8.5 +VTS,1,1,360,0.76,CSH,6.0 +VTS,1,1,660,1.89,CRD,9.5 +VTS,1,1,360,0.45,CSH,5.5 +VTS,1,1,1260,1.36,CSH,13.5 +VTS,1,1,480,0.84,CRD,6.5 +VTS,1,6,1320,8.29,CRD,26.5 +VTS,1,6,300,0.96,CRD,5.5 +VTS,1,3,1560,8.4,CSH,27.5 +VTS,1,3,660,3.25,CSH,12.0 +VTS,1,1,420,1.7,CSH,8.0 +VTS,1,1,240,0.67,CRD,5.0 +VTS,1,1,540,1.43,CSH,7.5 +VTS,1,1,300,0.57,CSH,5.5 +VTS,1,1,600,1.5,CRD,9.0 +VTS,1,1,2580,12.51,CSH,41.5 +VTS,1,1,1080,2.8,CRD,13.5 +VTS,1,1,780,2.39,CSH,10.5 +VTS,1,1,120,0.29,CSH,3.5 +VTS,1,1,300,1.36,CRD,6.5 +VTS,1,1,840,1.61,CRD,10.5 +VTS,1,1,480,1.28,CRD,7.5 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,900,2.68,CRD,12.0 +VTS,1,1,360,1.34,CSH,7.0 +VTS,1,1,240,0.33,CSH,4.0 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,1140,3.34,CRD,15.0 +VTS,1,1,660,1.63,CSH,8.5 +VTS,1,1,780,1.96,CRD,10.5 +VTS,1,1,240,0.49,CRD,4.5 +VTS,1,1,420,1.3,CRD,6.5 +VTS,1,1,780,1.74,CSH,10.0 +VTS,1,1,480,1.24,CRD,7.5 +VTS,1,1,720,1.88,CRD,9.5 +VTS,1,1,660,2.6,CRD,10.5 +VTS,1,1,300,0.4,CSH,5.0 +VTS,1,1,60,0.29,CSH,3.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,60,0.41,CSH,3.5 +VTS,1,1,720,1.23,CRD,8.5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,900,1.53,CSH,10.5 +VTS,1,1,540,0.7,CRD,7.0 +VTS,1,1,1680,14.52,CSH,40.5 +VTS,1,1,1380,9.01,CSH,27.0 +VTS,1,1,1740,5.84,CSH,23.0 +VTS,1,1,480,1.64,CRD,8.0 +VTS,1,1,1140,7.08,CRD,22.5 +VTS,1,1,1260,3.38,CRD,16.0 +VTS,1,1,1020,2.8,CRD,13.0 +VTS,1,1,180,0.47,CSH,4.0 +VTS,1,1,840,0.95,CSH,9.5 +VTS,1,1,1440,1.98,CSH,15.0 +VTS,1,1,1140,4.15,CRD,16.5 +VTS,1,1,720,2.38,CRD,10.0 +VTS,1,1,1500,10.52,CRD,30.5 +VTS,1,1,540,1.61,CRD,8.5 +VTS,1,1,540,1.82,CRD,8.5 +VTS,1,1,180,0.52,CSH,4.5 +VTS,1,1,900,1.39,CRD,10.5 +VTS,1,1,720,1.96,CRD,10.0 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,120,0.52,CSH,3.5 +VTS,1,1,1140,3.28,CSH,15.0 +VTS,1,1,720,1.95,CRD,9.5 +VTS,1,1,660,0.99,CSH,8.5 +VTS,1,1,840,3.7,CRD,14.5 +VTS,1,1,1440,5.02,CRD,19.5 +VTS,1,1,660,0.85,CSH,8.0 +VTS,1,1,780,1.75,CSH,10.0 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,480,1.32,CRD,7.0 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,600,2.59,CRD,10.5 +VTS,1,1,660,1.96,CSH,10.0 +VTS,1,1,360,0.92,CRD,6.0 +VTS,1,1,840,1.17,CSH,10.0 +VTS,1,1,480,1.32,CRD,7.5 +VTS,1,1,1500,4.5,CSH,20.0 +VTS,1,1,780,1.5,CSH,9.0 +VTS,1,1,840,2.04,CSH,11.0 +VTS,1,1,900,1.37,CRD,10.0 +VTS,1,1,2580,18.3,CRD,54.5 +VTS,1,1,840,2.23,CSH,11.5 +VTS,1,1,1380,3.44,CRD,16.5 +VTS,1,1,1080,3.31,CSH,14.0 +VTS,1,1,540,1.03,CSH,7.5 +VTS,2,1,2580,16.94,CSH,52.0 +VTS,1,1,720,2.7,CSH,11.0 +VTS,1,1,480,0.63,CRD,6.5 +VTS,1,1,960,3.21,CRD,14.0 +VTS,1,1,300,0.79,CSH,5.0 +VTS,1,1,600,2.17,CRD,9.0 +VTS,1,1,0,0.25,CRD,3.0 +VTS,1,1,720,1.31,CRD,9.0 +VTS,1,1,600,0.71,CSH,7.5 +VTS,1,1,420,1.41,CSH,7.5 +VTS,1,1,540,1.58,CRD,8.0 +VTS,1,1,780,1.5,CRD,9.5 +VTS,1,1,660,1.49,CRD,9.0 +VTS,1,1,960,4.12,CRD,15.5 +VTS,1,1,540,2.33,CRD,9.5 +VTS,1,1,240,0.73,CSH,5.0 +VTS,1,1,1260,9.36,CSH,28.0 +VTS,1,1,660,1.67,CSH,9.5 +VTS,1,1,1140,1.86,CRD,12.5 +VTS,1,1,540,1.32,CSH,7.5 +VTS,1,1,300,0.58,CRD,5.0 +VTS,2,1,2100,19.89,CRD,52.0 +VTS,1,1,180,0.62,CSH,4.0 +VTS,1,1,1680,2.92,CRD,17.5 +VTS,1,1,240,0.7,CSH,5.0 +VTS,1,1,360,1.83,CRD,7.5 +VTS,1,1,1140,2.04,CSH,13.0 +VTS,1,1,360,0.92,CRD,6.0 +VTS,1,1,360,1.39,CRD,7.0 +VTS,1,1,480,1.15,CRD,7.0 +VTS,1,1,2400,11.74,CRD,38.5 +VTS,1,1,1140,4.44,CSH,17.0 +VTS,1,1,1500,3.21,CRD,17.5 +VTS,1,1,300,0.59,CRD,5.0 +VTS,1,1,1200,4.77,CSH,18.0 +VTS,1,1,720,1.29,CRD,9.0 +VTS,1,1,360,0.67,CSH,5.5 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,2760,5.91,CSH,30.5 +VTS,1,1,1080,2.34,CRD,13.0 +VTS,1,1,1020,1.94,CRD,12.0 +VTS,1,1,660,1.98,CRD,9.0 +VTS,1,1,240,0.79,CRD,5.0 +VTS,1,1,720,2.12,CRD,10.0 +VTS,1,1,1500,4.83,CRD,19.5 +VTS,1,1,1080,2.72,CSH,13.0 +VTS,1,6,840,2.5,CRD,11.5 +VTS,1,6,900,3.1,CRD,13.5 +VTS,1,6,1320,6.3,CRD,22.0 +VTS,2,1,1680,17.83,CSH,52.0 +VTS,1,1,660,1.67,CRD,9.0 +VTS,1,1,660,1.67,CRD,9.0 +VTS,1,1,660,1.4,CSH,9.0 +VTS,1,1,60,0.03,CSH,3.0 +VTS,1,1,360,1.35,CSH,6.0 +VTS,1,1,720,2.03,CRD,10.0 +VTS,1,1,300,0.76,CSH,5.0 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,240,1.06,CSH,5.5 +VTS,1,1,660,6.39,CSH,18.5 +VTS,1,1,1140,3.99,CSH,16.5 +VTS,1,1,60,0.06,CSH,2.5 +VTS,1,1,900,2.67,CRD,12.5 +VTS,1,1,240,0.85,CRD,5.5 +VTS,1,1,720,1.39,CRD,8.5 +VTS,1,1,660,1.51,CRD,9.5 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,1,900,2.08,CSH,8.5 +VTS,1,1,840,2.81,CSH,12.0 +VTS,1,6,360,1.46,CRD,7.0 +VTS,1,1,1560,5.68,CRD,22.0 +VTS,1,5,540,3.68,CSH,12.5 +VTS,1,5,840,3.7,CSH,13.5 +VTS,1,1,720,3.03,CSH,12.0 +VTS,2,1,1860,17.97,CSH,52.0 +VTS,1,1,540,3.13,CRD,11.0 +VTS,1,1,600,1.34,CRD,8.5 +VTS,1,1,900,3.37,CSH,13.0 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,660,2.71,CRD,11.0 +VTS,1,1,480,0.91,CSH,7.0 +VTS,1,1,780,1.24,CSH,9.5 +VTS,1,1,2880,12.74,CRD,41.0 +VTS,1,1,960,3.02,CRD,13.0 +VTS,1,1,1380,8.64,CRD,26.5 +VTS,1,1,840,3.18,CRD,13.0 +VTS,1,1,420,0.49,CRD,6.0 +VTS,1,1,360,0.52,CSH,5.0 +VTS,1,1,1080,2.85,CSH,14.0 +VTS,1,1,1260,2.32,CSH,14.5 +VTS,1,1,720,2.63,CSH,11.5 +VTS,1,1,540,1.47,CSH,8.0 +VTS,1,1,480,0.86,CRD,6.5 +VTS,1,6,960,1.9,CRD,12.0 +VTS,1,6,660,2.55,CRD,11.0 +VTS,1,6,300,0.94,CSH,5.5 +VTS,1,6,480,1.73,CSH,8.0 +VTS,1,6,1080,4.0,CRD,15.0 +VTS,1,6,720,3.2,CRD,12.5 +VTS,1,6,480,1.84,CSH,8.0 +VTS,1,5,300,1.2,CRD,6.0 +VTS,1,5,840,2.69,CRD,12.5 +VTS,1,1,1260,5.56,CRD,19.5 +VTS,1,1,420,1.37,CSH,7.0 +VTS,1,1,1080,3.62,CRD,16.0 +VTS,1,6,600,2.11,CSH,9.5 +VTS,1,6,960,2.05,CRD,12.0 +VTS,5,1,0,0.0,CRD,62.0 +VTS,1,6,720,2.82,CSH,11.5 +VTS,1,1,900,4.69,CSH,16.0 +VTS,1,1,540,1.03,CSH,7.5 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,5,480,1.0,CRD,7.0 +VTS,1,4,840,3.34,CRD,13.5 +VTS,1,6,420,2.15,CRD,8.5 +VTS,1,6,60,0.54,CSH,3.5 +VTS,1,6,420,1.48,CRD,7.5 +VTS,1,6,180,0.59,CSH,4.5 +VTS,1,6,360,2.03,CSH,7.5 +VTS,1,6,480,1.88,CSH,8.5 +VTS,1,6,180,1.31,CSH,6.0 +VTS,1,6,180,0.63,CSH,4.5 +VTS,1,5,240,0.87,CSH,5.0 +VTS,1,6,180,0.84,CSH,5.0 +VTS,1,6,1020,3.49,CRD,15.0 +VTS,1,1,360,1.11,CSH,6.5 +VTS,1,1,300,0.55,CRD,5.5 +VTS,1,1,1020,3.13,CRD,14.0 +VTS,1,1,240,0.83,CSH,5.5 +VTS,1,1,300,1.2,CRD,6.0 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,1,300,0.86,CRD,5.0 +VTS,1,1,1200,2.69,CSH,14.0 +VTS,1,1,720,1.65,CRD,9.5 +VTS,1,1,1140,2.86,CRD,14.0 +VTS,1,1,240,0.43,CSH,4.5 +VTS,1,1,1080,10.85,CRD,30.0 +VTS,1,1,420,1.34,CSH,7.0 +VTS,1,1,720,2.05,CSH,10.0 +VTS,1,1,960,4.62,CRD,17.0 +VTS,1,1,300,0.67,CRD,5.0 +VTS,1,1,840,2.64,CSH,11.5 +VTS,1,1,900,1.64,CSH,8.5 +VTS,1,1,1020,1.5,CRD,12.0 +VTS,1,6,480,1.68,CRD,8.0 +VTS,1,6,1260,6.63,CRD,22.0 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,660,2.06,CSH,9.5 +VTS,1,1,360,1.45,CRD,7.0 +VTS,1,1,240,1.07,CRD,5.5 +VTS,1,1,1020,5.53,CSH,18.5 +VTS,1,5,180,0.45,CSH,3.5 +VTS,1,6,420,0.71,CSH,6.5 +VTS,1,6,240,0.69,CSH,5.0 +VTS,1,6,1020,2.2,CSH,12.5 +VTS,1,1,660,1.13,CSH,8.0 +VTS,1,1,600,1.5,CRD,8.5 +VTS,1,1,480,0.82,CRD,6.5 +VTS,1,1,540,1.19,CSH,7.5 +VTS,1,1,1380,2.04,CRD,14.5 +VTS,1,1,480,1.44,CSH,7.5 +VTS,1,1,960,1.42,CSH,11.0 +VTS,1,1,300,1.08,CRD,6.0 +VTS,1,1,60,0.37,CSH,3.0 +VTS,1,1,540,3.0,CSH,10.5 +VTS,1,6,360,1.01,CRD,6.0 +VTS,1,6,540,1.9,CSH,8.5 +VTS,1,5,60,0.46,CSH,3.5 +VTS,1,5,480,1.43,CRD,7.5 +VTS,1,1,600,1.62,CSH,8.5 +VTS,1,1,240,0.92,CRD,5.0 +VTS,1,1,600,2.99,CRD,12.0 +VTS,1,1,480,1.77,CSH,8.0 +VTS,1,6,540,2.28,CRD,9.5 +VTS,1,6,180,0.83,CSH,5.0 +VTS,1,5,420,1.0,CRD,6.5 +VTS,1,6,1320,8.16,CRD,26.0 +VTS,1,6,420,2.17,CRD,9.0 +VTS,1,5,720,1.59,CRD,9.5 +VTS,1,4,300,0.87,CSH,5.5 +VTS,1,6,420,1.11,CRD,6.5 +VTS,1,1,540,1.92,CRD,9.0 +VTS,1,5,840,2.47,CRD,11.5 +VTS,1,5,60,0.47,CSH,3.5 +VTS,2,1,2040,18.09,CRD,52.0 +VTS,1,1,540,2.38,CRD,9.5 +VTS,1,1,300,1.57,CRD,7.0 +VTS,1,1,1800,4.22,CRD,20.0 +VTS,1,1,1020,2.82,CRD,13.0 +VTS,1,1,180,0.57,CRD,4.0 +VTS,1,1,360,1.37,CRD,7.0 +VTS,1,1,480,0.88,CSH,7.0 +VTS,1,1,900,4.28,CSH,15.5 +VTS,1,1,180,0.89,CRD,5.0 +VTS,1,4,360,1.03,CSH,6.0 +VTS,1,6,660,0.85,CSH,8.0 +VTS,1,6,600,2.16,CRD,9.5 +VTS,1,6,600,1.59,CSH,9.0 +VTS,1,6,300,0.55,CSH,5.5 +VTS,1,6,1260,4.77,CSH,19.0 +VTS,1,6,480,1.67,CRD,8.0 +VTS,1,6,120,0.35,CSH,3.0 +VTS,1,6,120,0.8,CRD,4.5 +VTS,1,1,120,0.69,CSH,4.0 +VTS,1,1,660,1.42,CRD,8.5 +VTS,1,1,1260,5.22,CRD,19.0 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,600,1.51,CRD,8.5 +VTS,1,1,2040,11.98,CRD,38.0 +VTS,1,1,180,0.4,CSH,4.0 +VTS,1,1,300,0.85,CRD,5.5 +VTS,1,1,660,2.66,CRD,10.5 +VTS,1,1,600,0.75,CSH,7.5 +VTS,1,1,480,1.07,CRD,6.5 +VTS,1,1,360,0.84,CRD,6.0 +VTS,1,1,480,1.07,CRD,7.0 +VTS,1,1,600,0.31,CSH,8.0 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,480,1.08,CRD,7.0 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,5,420,1.57,CSH,7.5 +VTS,1,1,720,3.18,CSH,12.0 +VTS,1,1,300,1.76,CSH,7.0 +VTS,1,1,1440,8.67,CSH,28.5 +VTS,1,1,120,0.61,CRD,4.0 +VTS,1,1,600,1.17,CRD,8.0 +VTS,1,6,240,0.9,CSH,5.5 +VTS,1,6,780,3.39,CRD,13.5 +VTS,1,6,2280,12.88,CSH,41.0 +VTS,1,5,1500,5.08,CSH,21.0 +VTS,1,6,780,2.57,CRD,12.0 +VTS,1,5,420,2.13,CRD,8.0 +VTS,1,5,900,3.56,CSH,13.5 +VTS,1,1,360,0.75,CSH,5.5 +VTS,1,1,720,3.04,CRD,12.0 +VTS,1,5,900,3.35,CRD,14.0 +VTS,1,4,120,0.54,CSH,3.5 +VTS,1,5,360,1.73,CRD,7.5 +VTS,1,6,1260,4.81,CSH,18.5 +VTS,1,6,480,1.34,CSH,8.0 +VTS,1,5,240,0.97,CRD,5.0 +VTS,1,6,780,3.25,CSH,13.0 +VTS,1,6,420,1.42,CRD,7.5 +VTS,1,6,120,0.59,CRD,4.0 +VTS,1,6,240,0.7,CSH,5.0 +VTS,1,6,480,2.04,CRD,9.0 +VTS,1,6,120,0.88,CSH,4.5 +VTS,1,6,60,0.39,CSH,3.5 +VTS,1,6,480,3.8,CRD,13.0 +VTS,1,5,360,1.6,CSH,7.5 +VTS,1,5,780,4.91,CSH,16.5 +VTS,1,1,600,2.44,CRD,10.0 +VTS,1,1,360,0.94,CSH,6.5 +VTS,1,1,1380,5.18,CRD,19.5 +VTS,1,1,540,1.59,CRD,8.0 +CMT,1,4,257,1.5,CSH,6.5 +CMT,1,1,93,0.6,CSH,4.0 +CMT,1,1,383,0.8,CRD,6.5 +CMT,1,1,993,3.6,CRD,14.5 +VTS,1,1,480,2.35,CRD,9.0 +VTS,1,1,480,3.19,CSH,10.5 +VTS,2,1,1260,16.55,CSH,52.0 +VTS,1,1,1080,6.8,CSH,22.5 +VTS,1,1,660,2.1,CRD,9.5 +VTS,1,1,1140,8.83,CRD,26.5 +VTS,1,1,540,1.26,CSH,8.0 +VTS,1,6,1200,7.74,CRD,24.5 +VTS,1,6,360,0.84,CSH,5.5 +VTS,1,6,360,1.41,CSH,7.0 +VTS,1,5,900,3.1,CRD,13.5 +VTS,1,6,480,2.26,CSH,9.0 +VTS,1,6,1260,5.1,CSH,19.0 +VTS,1,6,300,1.0,CSH,6.0 +VTS,1,6,300,1.1,CRD,6.0 +VTS,1,6,300,1.31,CRD,6.5 +VTS,1,6,1620,7.23,CRD,24.5 +VTS,1,6,480,2.17,CSH,9.0 +VTS,1,6,300,0.82,CRD,5.5 +VTS,1,6,240,0.81,CSH,5.0 +VTS,1,6,300,1.1,CSH,5.5 +VTS,1,6,240,0.63,CSH,4.5 +VTS,1,5,480,2.11,CRD,9.5 +VTS,1,6,180,0.98,CSH,5.0 +VTS,1,1,360,0.92,CRD,6.0 +VTS,1,1,1020,4.92,CRD,17.0 +VTS,1,1,480,1.07,CRD,7.0 +CMT,1,1,558,1.8,CRD,8.5 +CMT,1,2,982,3.4,CSH,13.5 +CMT,1,2,1002,10.5,CSH,30.0 +CMT,1,2,581,2.2,CRD,9.0 +CMT,1,1,244,0.9,CRD,5.0 +CMT,1,1,187,0.5,CSH,4.5 +CMT,1,1,706,2.2,CSH,10.5 +CMT,1,1,632,2.7,CSH,11.0 +CMT,1,2,681,1.0,CRD,8.5 +CMT,1,2,586,1.8,CSH,8.5 +CMT,1,2,69,0.3,CSH,3.5 +CMT,1,2,400,1.3,CRD,7.0 +CMT,1,2,504,2.2,CSH,9.5 +CMT,1,1,484,0.7,CRD,6.5 +CMT,1,2,486,1.2,CRD,7.5 +CMT,1,1,1837,6.1,CRD,24.5 +CMT,1,2,147,0.8,CSH,4.5 +CMT,1,1,457,2.6,CSH,9.5 +CMT,1,1,156,0.7,CRD,4.5 +CMT,1,1,62,0.2,CSH,3.0 +CMT,1,2,1061,2.2,CSH,12.5 +CMT,1,1,815,2.3,CRD,11.0 +CMT,1,1,365,1.3,CRD,6.5 +CMT,1,1,620,3.6,CRD,12.5 +CMT,1,2,571,0.9,CRD,7.5 +CMT,1,2,423,1.4,CSH,7.5 +CMT,1,1,710,3.0,CSH,12.5 +CMT,1,1,581,3.1,CRD,11.0 +CMT,2,1,1852,0.0,CRD,52.0 +CMT,1,1,965,4.9,CSH,17.0 +CMT,1,2,762,3.5,CSH,13.5 +CMT,1,1,534,1.9,CRD,9.0 +CMT,1,1,235,1.1,CRD,5.5 +CMT,1,1,118,0.4,CRD,3.5 +CMT,1,2,282,0.6,CSH,5.0 +CMT,1,1,610,1.1,CRD,8.0 +CMT,1,3,677,1.3,CRD,9.0 +CMT,1,4,543,1.8,CRD,8.5 +CMT,1,1,285,0.9,CRD,5.5 +CMT,1,3,750,2.4,CSH,10.5 +CMT,1,2,523,2.5,CRD,10.0 +CMT,1,1,485,2.7,CRD,10.0 +CMT,1,1,343,1.7,CSH,7.5 +CMT,1,1,760,3.6,CRD,13.5 +CMT,1,2,1537,7.8,CRD,25.0 +CMT,1,1,335,1.5,CRD,7.0 +CMT,1,3,728,3.0,CSH,12.0 +CMT,1,2,849,3.3,CSH,12.5 +CMT,1,1,707,2.1,CRD,10.0 +CMT,1,1,939,2.7,CRD,12.5 +CMT,1,2,1056,4.2,CRD,16.5 +VTS,1,6,1140,5.03,CSH,18.5 +VTS,1,6,300,1.35,CSH,6.0 +VTS,1,5,540,1.89,CRD,9.0 +VTS,1,6,960,3.3,CSH,13.5 +VTS,1,6,300,0.8,CRD,5.5 +VTS,1,5,1080,3.35,CRD,14.5 +VTS,1,5,900,2.03,CSH,11.5 +VTS,1,6,120,0.39,CSH,3.5 +VTS,1,6,720,2.09,CSH,10.0 +CMT,1,1,810,1.1,CRD,9.5 +CMT,1,2,117,0.6,CRD,4.0 +CMT,1,1,223,0.8,CRD,5.0 +CMT,1,3,1277,4.1,CSH,18.0 +CMT,1,1,616,1.6,CRD,8.5 +CMT,1,1,959,4.1,CRD,15.0 +CMT,1,4,636,3.1,CSH,12.0 +CMT,1,1,1486,6.6,CSH,24.0 +CMT,1,1,1217,3.6,CRD,15.5 +CMT,1,1,454,2.3,CRD,9.0 +CMT,2,1,1715,0.0,CSH,52.0 +CMT,5,3,818,6.5,CRD,58.0 +CMT,1,2,237,1.0,CSH,5.5 +CMT,1,1,131,0.6,CSH,4.0 +CMT,1,1,784,2.4,CRD,11.0 +CMT,1,1,1474,5.6,CSH,21.0 +CMT,1,2,157,0.3,CRD,4.0 +VTS,1,6,300,1.1,CSH,5.5 +VTS,1,6,480,1.52,CSH,8.0 +VTS,1,6,540,2.23,CSH,9.0 +VTS,1,6,180,0.73,CSH,4.5 +VTS,1,6,480,2.43,CRD,9.5 +VTS,1,6,660,2.32,CRD,10.5 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,480,1.53,CSH,8.0 +CMT,1,1,128,0.1,CSH,3.5 +CMT,1,1,269,1.2,CSH,6.0 +CMT,1,1,237,0.8,CSH,5.5 +CMT,1,1,318,0.9,CSH,6.0 +CMT,1,1,694,1.6,CRD,9.5 +CMT,1,2,447,1.1,CSH,7.0 +CMT,1,1,1050,6.2,CSH,20.5 +CMT,1,1,228,0.5,CSH,4.5 +CMT,1,1,1107,3.5,CSH,15.0 +CMT,1,2,271,1.4,CSH,6.5 +CMT,1,1,337,1.7,CSH,7.0 +CMT,1,2,1521,5.2,CRD,21.0 +CMT,1,2,239,1.1,CRD,5.5 +CMT,1,1,306,1.4,CSH,6.5 +CMT,1,1,989,7.0,CSH,21.0 +CMT,1,1,457,2.0,CRD,8.5 +CMT,1,1,281,0.5,CRD,5.0 +CMT,1,1,978,3.8,CSH,14.5 +CMT,1,2,211,0.4,CSH,4.5 +CMT,1,1,113,0.8,CRD,4.5 +CMT,1,3,304,0.8,CRD,5.5 +CMT,1,2,1184,3.1,CSH,14.5 +CMT,1,1,439,0.7,CRD,6.5 +CMT,1,1,600,2.1,CRD,10.0 +CMT,1,2,652,1.8,CSH,9.5 +CMT,1,2,422,1.5,CSH,7.5 +CMT,1,2,537,1.5,CSH,8.5 +CMT,1,1,587,0.7,CRD,7.5 +CMT,1,1,403,1.3,CRD,7.0 +CMT,1,3,538,1.7,CSH,9.0 +CMT,1,1,422,1.1,CRD,7.0 +CMT,1,4,262,1.4,CRD,6.5 +CMT,1,3,642,2.3,CSH,10.5 +CMT,1,1,998,7.6,CSH,22.0 +CMT,1,1,791,3.0,CSH,12.5 +CMT,1,1,590,2.5,CRD,10.0 +CMT,1,2,201,0.9,CRD,5.0 +CMT,1,2,630,1.7,CRD,9.0 +CMT,1,1,412,1.5,CSH,7.5 +CMT,1,1,195,0.9,CSH,5.0 +CMT,1,2,914,3.7,CRD,14.5 +CMT,1,1,1579,2.3,CSH,17.0 +CMT,1,1,496,1.1,CSH,7.5 +CMT,1,3,602,3.7,CRD,13.0 +CMT,1,1,309,1.2,CRD,6.5 +CMT,1,2,917,2.6,CSH,12.5 +CMT,1,3,353,0.7,CSH,6.0 +CMT,1,1,251,1.0,CRD,5.5 +CMT,1,2,1098,3.9,CSH,16.0 +CMT,1,3,367,1.7,CSH,7.5 +CMT,1,1,456,2.7,CRD,10.0 +CMT,1,1,832,1.7,CSH,10.5 +CMT,1,2,988,1.1,CRD,11.0 +CMT,1,1,617,1.7,CRD,9.0 +CMT,1,1,533,2.3,CSH,9.5 +CMT,1,1,433,2.0,CSH,8.5 +CMT,1,1,660,5.4,CRD,16.5 +CMT,1,1,838,4.8,CRD,16.0 +CMT,1,2,810,5.3,CSH,17.5 +CMT,1,2,820,2.7,CSH,12.0 +CMT,1,2,311,1.1,CSH,6.0 +CMT,1,1,446,0.9,CRD,6.5 +CMT,1,2,138,0.3,CSH,3.5 +CMT,1,4,718,2.4,CSH,10.5 +CMT,1,1,1463,6.7,CRD,23.0 +CMT,1,1,992,6.7,CRD,21.0 +CMT,1,1,679,2.2,CRD,10.0 +CMT,1,2,868,4.4,CSH,15.5 +CMT,1,2,626,2.3,CRD,10.0 +CMT,1,1,97,0.2,CRD,3.5 +CMT,1,2,884,3.8,CRD,14.0 +CMT,1,2,543,2.9,CSH,10.5 +CMT,1,1,1331,3.3,CRD,16.5 +CMT,1,3,1826,12.1,CSH,37.5 +CMT,1,1,473,1.5,CRD,8.0 +CMT,1,2,146,0.4,CRD,4.0 +CMT,1,1,391,1.9,CRD,8.0 +CMT,1,1,1026,4.1,CRD,15.5 +CMT,1,1,425,1.3,CRD,7.0 +CMT,1,1,439,1.8,CRD,8.0 +CMT,1,1,331,1.3,CRD,6.5 +CMT,1,1,257,1.1,CRD,5.5 +CMT,1,1,671,1.3,CRD,9.0 +CMT,1,1,686,2.7,CRD,11.0 +CMT,1,1,396,1.9,CRD,8.0 +CMT,1,1,208,0.4,CRD,4.5 +CMT,1,3,402,1.7,CSH,7.5 +CMT,1,1,809,4.4,CRD,15.0 +CMT,1,4,1549,1.9,CRD,16.0 +CMT,1,2,526,1.9,CSH,8.5 +CMT,1,1,200,0.9,CRD,5.0 +CMT,1,1,594,2.6,CRD,10.5 +CMT,1,1,502,3.4,CRD,11.5 +CMT,1,1,152,0.9,CSH,5.0 +CMT,1,2,1306,14.0,CSH,38.5 +CMT,1,1,625,1.0,CRD,8.0 +CMT,1,2,482,2.4,CRD,10.0 +CMT,1,4,398,1.3,CRD,7.0 +CMT,1,1,626,1.3,CRD,8.5 +CMT,1,2,626,1.7,CSH,9.0 +CMT,1,3,185,0.4,CSH,4.0 +CMT,1,1,560,2.3,CSH,9.5 +CMT,1,4,368,1.3,CRD,6.5 +CMT,1,1,832,8.4,CSH,24.0 +CMT,1,3,411,2.6,CSH,9.5 +CMT,1,1,190,0.6,CRD,4.5 +CMT,1,1,471,1.9,CRD,8.5 +CMT,1,1,802,3.5,CRD,13.0 +CMT,1,1,214,0.8,CRD,5.0 +CMT,1,1,414,1.6,CRD,7.5 +CMT,1,1,759,3.1,CRD,12.5 +CMT,1,1,966,5.3,CRD,18.5 +CMT,1,1,757,3.9,CRD,13.5 +CMT,1,2,239,0.6,CRD,5.0 +CMT,1,3,533,2.0,CRD,9.0 +CMT,1,1,1086,5.8,CSH,19.0 +CMT,1,1,359,0.9,CRD,6.5 +CMT,1,3,533,1.6,CSH,8.5 +CMT,1,1,703,3.2,CSH,12.0 +CMT,1,1,1070,2.4,CRD,13.5 +CMT,1,1,644,3.2,CRD,11.5 +CMT,1,2,535,1.8,CSH,8.5 +CMT,1,1,158,0.4,CRD,4.0 +CMT,1,1,215,0.6,CRD,4.5 +CMT,1,1,1028,5.4,CSH,18.0 +CMT,1,1,307,1.3,CRD,6.5 +CMT,1,3,496,1.4,CRD,7.5 +CMT,1,1,120,0.6,CSH,4.0 +CMT,1,1,550,2.0,CSH,9.0 +CMT,1,1,647,4.2,CRD,13.5 +CMT,1,1,387,1.7,CRD,7.5 +CMT,1,2,169,0.4,CSH,4.0 +CMT,1,2,150,0.5,CSH,4.0 +CMT,1,1,1143,5.2,CRD,18.5 +CMT,1,1,416,0.7,CRD,6.0 +CMT,1,1,719,4.0,CRD,14.0 +CMT,1,1,171,0.5,CRD,4.5 +CMT,1,1,634,3.8,CSH,12.5 +CMT,1,1,206,0.6,CSH,4.5 +CMT,1,1,1050,5.8,CRD,20.0 +CMT,1,1,837,2.0,CRD,11.0 +CMT,1,2,230,0.5,CRD,4.5 +CMT,1,1,464,2.0,CRD,8.5 +CMT,1,1,697,1.6,CSH,9.5 +CMT,1,2,448,0.7,CSH,6.5 +CMT,1,2,788,2.9,CRD,12.0 +CMT,1,3,641,2.1,CRD,9.5 +CMT,1,2,353,1.3,CSH,6.5 +CMT,1,2,381,0.9,CSH,6.0 +CMT,1,1,1129,2.2,CSH,13.0 +CMT,1,1,1237,3.1,CRD,15.0 +CMT,1,1,1064,3.7,CRD,15.0 +CMT,1,1,910,2.6,CRD,12.0 +CMT,1,2,735,1.8,CSH,10.0 +CMT,1,2,350,1.0,CRD,6.0 +CMT,1,2,991,5.1,CRD,17.5 +CMT,1,1,732,3.8,CRD,14.0 +CMT,1,1,406,1.5,CSH,7.0 +CMT,1,2,569,0.7,CSH,7.5 +CMT,1,1,549,1.4,CSH,8.0 +CMT,1,3,338,0.9,CSH,5.5 +CMT,1,2,761,4.1,CRD,13.5 +CMT,1,1,1067,5.2,CRD,18.0 +CMT,1,1,354,0.9,CRD,6.0 +CMT,1,1,1323,3.2,CRD,15.5 +CMT,1,1,926,2.7,CRD,12.5 +CMT,1,1,364,1.1,CRD,6.5 +CMT,1,1,501,2.0,CRD,8.5 +CMT,1,1,870,3.5,CRD,13.0 +CMT,1,1,1141,7.0,CRD,21.0 +CMT,1,1,849,3.4,CRD,13.5 +CMT,1,1,573,1.0,CRD,7.5 +CMT,1,1,753,3.2,CSH,12.0 +CMT,1,3,386,0.5,CRD,5.5 +VTS,1,6,180,0.42,CSH,4.0 +VTS,1,6,540,2.13,CSH,9.5 +VTS,1,6,240,0.89,CRD,5.5 +VTS,1,6,1500,6.18,CRD,22.5 +VTS,1,6,300,0.92,CRD,5.5 +VTS,1,6,480,2.03,CSH,8.5 +VTS,1,6,180,0.47,CSH,4.0 +VTS,1,6,420,1.39,CRD,7.0 +VTS,1,6,180,0.87,CRD,5.0 +VTS,1,6,1260,4.38,CRD,18.0 +VTS,1,5,660,2.14,CRD,10.0 +VTS,1,6,120,0.25,CRD,3.5 +VTS,1,6,360,1.23,CSH,6.5 +VTS,1,1,480,1.05,CRD,7.0 +VTS,1,1,360,1.35,CRD,6.5 +CMT,1,1,299,0.5,CSH,5.0 +CMT,1,2,1401,6.8,CRD,23.5 +CMT,1,1,265,1.1,CRD,6.0 +CMT,1,2,454,1.6,CSH,8.0 +CMT,1,1,879,7.9,CSH,23.5 +CMT,1,2,853,1.6,CRD,10.5 +CMT,1,1,1066,8.4,CSH,25.0 +CMT,1,1,1072,4.8,CRD,17.5 +CMT,1,2,260,0.4,CSH,5.0 +CMT,1,2,278,0.9,CSH,5.5 +CMT,1,4,651,1.5,CSH,9.0 +VTS,1,5,1080,4.68,CRD,17.5 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,540,5.0,CRD,15.5 +VTS,1,1,600,3.19,CSH,11.5 +VTS,1,1,660,2.47,CRD,10.5 +VTS,1,1,660,1.73,CSH,9.5 +VTS,1,1,720,3.68,CRD,13.0 +VTS,1,1,780,3.24,CSH,12.0 +VTS,1,1,600,2.86,CRD,10.5 +VTS,1,1,1080,5.17,CRD,17.5 +VTS,1,1,660,3.11,CRD,11.0 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,5,420,1.6,CRD,7.5 +VTS,1,5,240,1.12,CRD,5.5 +VTS,1,5,360,1.38,CRD,7.5 +VTS,1,5,420,1.79,CRD,7.5 +VTS,1,5,180,0.79,CSH,4.5 +VTS,1,6,600,2.31,CRD,10.5 +VTS,1,6,540,3.58,CRD,12.5 +VTS,1,6,1380,3.19,CSH,16.0 +VTS,1,6,120,0.55,CRD,4.0 +VTS,1,6,1200,5.24,CRD,19.5 +VTS,1,6,840,5.94,CSH,19.5 +VTS,1,6,1200,5.51,CRD,20.5 +VTS,1,6,540,2.25,CRD,9.0 +VTS,1,6,420,1.25,CSH,6.5 +CMT,1,1,536,1.8,CRD,8.5 +CMT,1,2,565,2.8,CSH,10.5 +CMT,1,1,569,1.6,CRD,8.5 +CMT,1,3,189,0.9,CRD,5.0 +CMT,1,1,557,1.4,CRD,8.5 +CMT,1,1,204,0.8,CSH,5.0 +CMT,1,1,114,0.6,CSH,4.0 +CMT,1,1,1152,4.6,CSH,18.0 +CMT,1,2,601,2.8,CSH,10.5 +CMT,1,1,1144,5.0,CSH,17.5 +CMT,1,2,803,3.4,CSH,13.0 +CMT,1,1,678,2.3,CRD,10.5 +CMT,1,1,933,6.9,CSH,21.5 +CMT,1,1,356,0.6,CSH,5.5 +CMT,1,1,458,2.3,CSH,9.0 +CMT,1,1,317,1.0,CSH,6.0 +CMT,1,1,393,1.0,CSH,6.5 +CMT,1,1,246,1.0,CRD,5.5 +CMT,1,1,814,2.0,CRD,10.5 +CMT,1,3,304,0.5,CSH,5.0 +CMT,1,2,385,0.8,CSH,6.0 +CMT,1,2,271,0.8,CRD,5.5 +CMT,1,1,374,0.9,CSH,6.0 +CMT,1,2,267,0.7,CSH,5.0 +CMT,1,1,690,2.3,CRD,10.5 +CMT,1,1,742,2.7,CSH,11.5 +CMT,1,1,403,2.4,CSH,9.0 +CMT,1,2,352,1.6,CRD,7.0 +CMT,1,1,911,4.4,CRD,15.5 +CMT,1,1,313,1.0,CSH,6.0 +CMT,1,1,1124,4.6,CSH,16.5 +CMT,1,1,200,0.4,CSH,4.0 +CMT,1,2,261,1.0,CRD,5.5 +CMT,1,1,377,1.1,CRD,6.5 +CMT,1,1,557,1.9,CSH,9.0 +CMT,1,3,518,1.6,CSH,8.5 +CMT,1,1,520,2.8,CRD,11.0 +CMT,1,2,929,2.3,CSH,12.0 +CMT,1,1,543,2.2,CRD,9.0 +CMT,1,2,237,0.4,CSH,4.5 +CMT,1,2,819,2.9,CSH,13.0 +CMT,1,1,263,1.3,CSH,6.5 +CMT,1,1,404,1.8,CRD,8.0 +CMT,2,1,2137,14.2,CRD,52.0 +CMT,1,1,516,1.5,CRD,8.0 +CMT,1,1,592,1.3,CRD,8.0 +CMT,1,1,509,0.6,CRD,6.5 +CMT,1,3,1375,5.4,CRD,20.0 +CMT,1,1,237,1.0,CRD,5.5 +CMT,1,1,241,0.5,CRD,4.5 +CMT,1,2,872,4.4,CRD,16.0 +CMT,1,3,1298,5.6,CSH,19.5 +CMT,1,2,1215,11.2,CRD,32.5 +CMT,1,1,394,1.1,CSH,6.5 +CMT,1,2,1089,3.5,CRD,15.0 +CMT,1,2,829,3.6,CRD,14.0 +CMT,1,1,1006,5.0,CSH,17.5 +CMT,1,1,463,2.0,CRD,8.5 +CMT,1,1,457,2.0,CSH,8.5 +CMT,1,2,393,1.9,CSH,7.5 +CMT,1,1,403,2.0,CSH,8.0 +CMT,1,1,534,3.0,CRD,11.0 +CMT,1,1,399,1.0,CSH,6.5 +CMT,1,2,393,1.4,CSH,7.0 +CMT,1,2,726,1.6,CRD,9.5 +CMT,1,1,1012,2.6,CRD,13.0 +CMT,1,2,440,1.0,CSH,7.0 +CMT,1,1,910,5.0,CRD,17.0 +CMT,1,4,324,0.9,CRD,6.0 +CMT,1,2,791,2.2,CRD,11.0 +CMT,1,3,343,1.0,CRD,6.0 +CMT,1,2,389,1.3,CSH,7.0 +CMT,1,1,639,3.2,CSH,12.0 +CMT,1,1,336,1.1,CRD,6.5 +CMT,1,1,1121,5.4,CRD,19.0 +CMT,1,1,1331,4.9,CRD,18.0 +CMT,1,1,811,3.2,CSH,13.0 +CMT,1,1,392,1.2,CSH,6.5 +CMT,1,1,315,1.4,CRD,6.5 +CMT,1,1,417,1.8,CRD,8.0 +CMT,1,1,184,1.2,CRD,5.5 +CMT,1,1,622,1.2,CRD,8.0 +CMT,1,2,773,0.9,CRD,9.0 +CMT,1,1,478,1.2,CSH,7.0 +CMT,1,1,941,3.3,CRD,13.5 +CMT,1,2,1405,6.8,CRD,23.0 +CMT,1,1,405,0.9,CRD,6.5 +CMT,1,1,846,1.7,CSH,10.5 +CMT,1,1,868,2.8,CSH,12.0 +CMT,1,1,784,2.6,CSH,11.5 +CMT,1,1,411,1.0,CRD,6.5 +CMT,2,4,1452,6.7,CSH,52.0 +CMT,1,2,555,1.2,CSH,7.5 +CMT,1,1,366,2.2,CRD,8.5 +CMT,1,1,287,0.8,CRD,5.5 +CMT,1,2,685,1.0,CSH,8.5 +CMT,1,2,1704,10.2,CRD,32.0 +CMT,1,1,290,0.5,CSH,5.0 +CMT,1,1,375,1.1,CRD,6.5 +CMT,1,1,433,2.4,CSH,9.0 +CMT,1,1,519,2.6,CRD,10.5 +CMT,1,1,748,5.4,CSH,17.5 +CMT,1,1,304,0.7,CRD,5.5 +CMT,1,2,1007,3.1,CRD,13.5 +CMT,1,2,792,3.1,CSH,12.0 +CMT,1,1,228,0.9,CRD,5.0 +CMT,5,1,1134,1.0,CRD,68.0 +CMT,1,1,1232,6.2,CSH,20.5 +CMT,1,2,256,1.3,CRD,6.0 +CMT,1,2,554,2.1,CRD,9.0 +CMT,1,1,1115,3.6,CSH,15.0 +CMT,1,2,282,0.8,CSH,5.5 +CMT,1,1,863,3.5,CSH,13.5 +CMT,1,2,151,0.4,CRD,4.0 +CMT,1,1,1423,3.1,CSH,16.0 +CMT,1,2,464,1.4,CRD,7.5 +CMT,1,1,281,0.6,CSH,5.0 +CMT,1,1,690,1.5,CSH,9.0 +CMT,1,1,1161,6.7,CSH,20.5 +CMT,1,2,646,3.4,CSH,12.5 +CMT,1,1,418,0.8,CSH,6.5 +CMT,1,1,1092,4.6,CRD,17.5 +CMT,1,3,1020,2.4,CSH,12.5 +CMT,1,1,193,1.1,CRD,5.5 +CMT,1,1,525,2.3,CSH,9.5 +CMT,1,2,545,1.7,CSH,8.5 +CMT,1,1,803,2.5,CSH,11.0 +CMT,1,1,242,0.9,CSH,5.5 +CMT,1,1,523,1.4,CRD,8.0 +CMT,1,1,938,8.2,CRD,24.0 +CMT,1,3,1228,3.0,CRD,15.0 +CMT,1,2,828,3.6,CSH,14.5 +CMT,1,2,1251,6.7,CRD,22.5 +CMT,1,3,670,2.7,CRD,11.0 +CMT,1,1,1151,5.9,CSH,19.5 +CMT,1,1,293,1.7,CRD,7.0 +CMT,1,1,411,1.2,CRD,7.0 +CMT,1,1,528,1.4,CRD,8.0 +CMT,1,1,116,1.0,CSH,5.0 +CMT,1,1,363,2.0,CSH,8.0 +CMT,1,1,1055,4.2,CRD,16.5 +CMT,1,1,98,0.8,CRD,4.5 +CMT,1,1,722,4.2,CSH,14.0 +CMT,1,1,775,1.9,CRD,10.0 +CMT,1,1,780,4.2,CRD,14.5 +CMT,1,1,521,1.9,CRD,9.0 +CMT,1,1,575,1.4,CRD,8.5 +CMT,1,2,482,1.3,CRD,7.5 +CMT,1,2,494,1.6,CSH,7.5 +CMT,1,1,399,1.1,CSH,7.0 +CMT,1,2,594,2.3,CRD,10.0 +CMT,1,2,596,1.7,CRD,9.0 +CMT,1,1,444,1.7,CRD,8.0 +CMT,1,1,614,1.5,CRD,9.0 +CMT,1,1,508,1.7,CSH,8.0 +CMT,1,1,120,0.5,CRD,4.0 +CMT,1,1,645,0.8,CSH,8.0 +CMT,1,2,1360,2.4,CRD,15.5 +CMT,1,2,464,1.9,CRD,8.5 +CMT,1,1,1466,3.8,CSH,19.0 +CMT,1,1,448,1.6,CRD,7.5 +CMT,1,1,554,2.3,CRD,9.5 +CMT,1,1,727,1.5,CRD,9.5 +CMT,1,1,381,1.4,CSH,7.0 +CMT,1,2,644,3.0,CRD,11.5 +CMT,1,1,355,0.9,CRD,6.0 +CMT,1,2,289,0.8,CRD,5.5 +CMT,1,1,127,0.6,CSH,4.0 +CMT,1,1,209,0.7,CRD,5.0 +CMT,1,1,276,0.9,CRD,5.5 +CMT,1,2,1135,4.7,CSH,17.5 +CMT,1,1,515,2.0,CSH,8.5 +CMT,1,1,353,0.8,CRD,6.0 +CMT,1,1,768,6.2,CRD,18.5 +CMT,1,1,769,4.0,CRD,13.5 +CMT,1,1,452,1.2,CRD,7.0 +CMT,1,1,246,0.8,CRD,5.5 +CMT,1,1,562,2.1,CRD,9.5 +CMT,1,1,72,0.2,CRD,3.0 +CMT,1,1,1407,9.3,CRD,28.5 +CMT,1,1,439,1.0,CSH,7.0 +CMT,1,1,401,0.8,CRD,6.0 +CMT,1,1,720,2.3,CRD,10.5 +CMT,1,1,765,1.0,CSH,9.0 +CMT,1,2,710,2.3,CRD,10.5 +CMT,1,1,611,1.7,CRD,9.0 +CMT,1,1,265,0.9,CSH,5.5 +CMT,1,1,791,4.1,CRD,14.5 +CMT,1,1,274,0.6,CSH,5.0 +CMT,1,2,609,2.5,CSH,10.5 +CMT,1,2,1646,7.2,CRD,24.5 +CMT,1,1,569,1.6,CRD,9.0 +CMT,1,1,938,2.4,CRD,11.5 +CMT,1,1,449,2.0,CSH,8.0 +CMT,1,1,880,2.9,CRD,12.5 +CMT,1,2,747,1.6,CRD,9.5 +CMT,1,1,1429,2.6,CSH,15.5 +CMT,1,1,743,2.4,CRD,10.5 +CMT,1,2,992,2.7,CSH,12.5 +CMT,1,1,688,2.4,CRD,11.0 +CMT,1,1,321,1.2,CRD,6.5 +CMT,1,1,611,2.3,CSH,10.0 +CMT,1,1,1100,3.2,CRD,15.0 +CMT,1,1,244,0.4,CRD,4.5 +CMT,1,2,299,0.6,CSH,5.0 +CMT,1,2,361,0.7,CSH,5.5 +CMT,1,1,704,4.1,CRD,14.5 +CMT,1,2,540,3.0,CSH,11.5 +CMT,1,1,860,5.4,CRD,18.0 +CMT,1,1,580,1.1,CRD,8.0 +CMT,1,1,440,1.3,CSH,7.0 +CMT,1,1,490,2.0,CSH,8.5 +CMT,1,2,216,1.7,CRD,5.5 +CMT,1,2,500,1.3,CSH,7.5 +CMT,1,1,106,0.1,CSH,3.0 +CMT,1,2,442,0.8,CRD,6.5 +CMT,1,2,108,0.6,CRD,4.0 +CMT,1,1,273,0.9,CSH,5.5 +CMT,1,1,105,0.1,CSH,3.0 +CMT,1,3,516,1.8,CSH,8.5 +CMT,1,1,311,1.8,CSH,7.5 +CMT,1,1,427,2.7,CRD,10.0 +CMT,1,2,223,0.4,CSH,4.5 +CMT,1,1,1149,5.7,CRD,19.5 +CMT,1,1,608,2.6,CRD,10.5 +CMT,1,1,210,0.6,CRD,4.5 +CMT,1,1,515,0.8,CRD,7.0 +CMT,1,3,768,1.6,CRD,10.0 +CMT,1,2,927,2.5,CSH,12.0 +CMT,1,1,599,1.7,CRD,8.5 +CMT,1,2,579,1.8,CRD,9.0 +CMT,1,1,536,1.0,CRD,7.5 +CMT,1,4,859,2.6,CSH,12.0 +CMT,1,1,215,0.3,CSH,4.5 +CMT,1,1,567,2.5,CRD,10.0 +CMT,1,1,741,4.2,CSH,14.0 +CMT,1,1,145,1.2,CRD,5.5 +CMT,1,1,448,1.4,CRD,7.5 +CMT,1,1,464,0.7,CSH,6.5 +CMT,1,1,710,1.3,CRD,9.0 +CMT,1,1,597,1.1,CRD,8.0 +CMT,1,1,563,2.1,CRD,9.0 +CMT,1,1,718,1.5,CRD,9.5 +CMT,1,2,919,5.2,CRD,17.0 +CMT,1,1,138,0.6,CSH,4.0 +CMT,1,1,190,0.5,CSH,4.5 +CMT,1,1,687,2.5,CRD,10.5 +CMT,2,2,1748,0.0,CSH,52.0 +CMT,1,1,743,4.9,CSH,15.5 +CMT,1,1,592,2.5,CSH,10.5 +CMT,1,3,706,2.2,CSH,10.0 +CMT,1,2,169,0.8,CRD,4.5 +CMT,1,1,1097,6.3,CRD,21.0 +CMT,1,2,1001,9.9,CRD,28.0 +CMT,1,1,748,3.0,CSH,12.0 +CMT,1,1,1076,3.9,CSH,15.0 +CMT,1,1,674,2.8,CSH,11.0 +CMT,1,1,239,1.0,CSH,5.5 +CMT,1,1,970,3.0,CSH,13.5 +CMT,1,1,438,0.5,CSH,6.0 +VTS,1,6,780,1.13,CSH,10.0 +VTS,1,6,360,1.42,CSH,7.0 +VTS,1,1,1020,3.04,CRD,13.5 +CMT,1,2,585,2.7,CRD,11.0 +CMT,2,1,1603,1.1,CRD,52.0 +CMT,1,3,193,0.7,CRD,4.5 +CMT,1,1,726,2.3,CRD,11.0 +CMT,1,1,220,0.6,CRD,4.5 +CMT,1,1,590,2.2,CSH,9.5 +CMT,1,3,245,0.8,CSH,5.0 +CMT,1,1,254,0.5,CRD,5.0 +CMT,1,2,1387,6.4,CRD,22.5 +CMT,1,2,239,1.1,CSH,5.5 +CMT,1,1,521,1.9,CSH,9.0 +CMT,1,2,540,2.7,CSH,10.0 +CMT,1,1,699,4.0,CRD,13.5 +CMT,1,1,689,3.5,CSH,13.0 +CMT,1,2,307,0.7,CRD,5.5 +CMT,1,3,508,0.8,CSH,7.0 +CMT,1,3,971,1.8,CSH,11.5 +CMT,1,2,366,0.6,CRD,5.5 +CMT,1,1,1416,4.3,CSH,18.0 +CMT,1,2,662,2.1,CRD,9.5 +CMT,1,1,402,1.4,CRD,7.0 +CMT,1,1,583,1.3,CSH,8.0 +CMT,1,4,365,1.1,CRD,6.5 +CMT,1,1,471,1.4,CRD,7.5 +CMT,1,1,875,4.8,CRD,16.0 +CMT,1,1,122,0.4,CSH,3.5 +CMT,1,1,422,1.5,CRD,7.5 +CMT,1,1,574,2.3,CRD,9.5 +CMT,1,1,892,3.7,CRD,14.0 +CMT,1,1,825,4.0,CRD,14.5 +CMT,1,1,95,0.4,CSH,3.5 +CMT,1,1,399,1.3,CRD,7.0 +CMT,1,3,233,1.0,CRD,5.5 +CMT,1,1,454,3.4,CRD,11.0 +CMT,1,1,392,0.5,CSH,5.5 +CMT,1,2,209,0.8,CSH,5.0 +CMT,1,1,1331,10.4,CRD,30.5 +CMT,1,2,157,0.8,CSH,4.5 +CMT,1,1,962,7.2,CRD,21.5 +CMT,1,1,543,1.4,CSH,8.0 +CMT,1,1,529,1.2,CRD,7.5 +CMT,1,3,310,1.1,CRD,6.0 +CMT,1,1,336,2.1,CSH,8.0 +CMT,1,1,436,1.6,CRD,7.5 +CMT,1,2,724,3.3,CSH,12.5 +CMT,1,2,128,0.5,CSH,4.0 +CMT,1,1,952,5.1,CRD,16.5 +CMT,1,1,351,1.5,CSH,7.0 +CMT,1,1,1038,5.4,CRD,18.5 +CMT,1,2,573,2.1,CSH,9.5 +CMT,1,1,595,3.7,CRD,12.5 +CMT,1,1,600,1.6,CRD,9.0 +CMT,1,1,911,3.0,CRD,13.0 +CMT,1,1,661,1.6,CRD,9.0 +CMT,1,1,289,1.1,CRD,6.0 +CMT,1,1,538,1.2,CSH,7.5 +CMT,1,2,860,2.2,CRD,11.5 +CMT,1,2,1895,7.8,CRD,26.5 +CMT,1,1,1963,7.1,CSH,27.5 +CMT,1,1,391,1.7,CRD,7.5 +CMT,1,1,368,1.1,CSH,6.5 +CMT,1,1,635,1.1,CRD,8.0 +CMT,1,1,1044,2.2,CSH,12.5 +CMT,1,1,376,1.1,CSH,6.5 +CMT,1,1,199,0.7,CSH,4.5 +CMT,1,1,282,0.9,CSH,5.5 +CMT,1,1,2026,10.7,CRD,34.5 +CMT,1,1,311,0.7,CRD,5.5 +CMT,1,1,619,1.6,CRD,8.5 +CMT,1,1,369,1.3,CSH,7.0 +CMT,1,1,394,1.0,CRD,6.5 +CMT,1,4,1309,4.1,CRD,17.5 +CMT,1,1,810,2.0,CRD,10.5 +CMT,1,1,832,2.0,CRD,11.0 +CMT,1,1,612,3.9,CRD,13.5 +CMT,1,1,246,0.7,CRD,5.0 +CMT,1,1,283,0.5,CSH,5.0 +CMT,1,4,580,2.4,CSH,9.5 +CMT,1,1,608,1.9,CRD,9.5 +CMT,1,1,439,1.2,CSH,7.0 +CMT,1,2,703,1.3,CRD,8.5 +CMT,1,1,676,1.3,CRD,8.5 +CMT,1,3,1020,2.0,CRD,12.0 +CMT,1,1,747,1.7,CRD,9.5 +CMT,1,1,619,2.8,CSH,10.5 +CMT,1,1,370,1.1,CSH,6.0 +CMT,1,1,401,1.4,CSH,7.0 +CMT,1,1,537,1.9,CRD,9.0 +CMT,1,1,882,6.6,CSH,20.0 +CMT,1,1,779,5.0,CSH,16.0 +CMT,1,1,1349,3.4,CRD,16.5 +CMT,1,1,550,2.0,CSH,9.0 +CMT,1,1,921,3.0,CRD,14.0 +CMT,1,1,1174,5.5,CSH,18.5 +CMT,1,2,143,1.0,CSH,5.0 +CMT,1,1,1016,1.5,CRD,11.5 +CMT,1,2,1171,1.9,CSH,13.0 +CMT,1,2,322,0.6,CSH,5.5 +CMT,1,1,1060,2.4,CRD,13.0 +CMT,1,1,638,5.4,CRD,17.0 +CMT,1,1,827,1.8,CRD,10.5 +CMT,2,1,2953,1.7,CRD,52.0 +CMT,1,2,1141,3.7,CRD,15.5 +CMT,1,1,288,1.4,CSH,6.5 +CMT,1,1,808,1.9,CRD,10.5 +CMT,1,1,836,1.7,CSH,10.5 +CMT,1,1,905,3.8,CRD,15.0 +CMT,1,1,341,1.4,CSH,6.5 +CMT,1,1,305,1.0,CRD,6.0 +CMT,1,1,423,2.2,CRD,8.5 +CMT,1,1,2256,3.2,CSH,23.0 +CMT,1,1,516,1.2,CRD,7.5 +CMT,1,1,435,1.2,CRD,7.0 +CMT,1,2,200,0.6,CSH,4.5 +CMT,1,2,673,1.5,CRD,9.0 +CMT,1,1,375,1.8,CRD,7.5 +CMT,1,1,349,1.1,CRD,6.5 +CMT,1,1,845,6.1,CRD,18.5 +CMT,1,1,748,3.7,CSH,13.0 +CMT,1,1,591,1.6,CSH,8.5 +CMT,1,2,643,1.5,CRD,8.5 +CMT,1,1,1089,7.4,CSH,23.0 +CMT,1,1,354,1.6,CSH,7.5 +CMT,1,1,832,3.1,CRD,13.0 +CMT,1,1,458,0.5,CSH,6.5 +CMT,1,1,224,0.4,CSH,4.5 +CMT,1,1,997,2.3,CRD,12.5 +CMT,1,1,919,2.1,CSH,11.5 +CMT,1,1,172,0.4,CRD,4.0 +CMT,1,1,303,1.2,CSH,6.0 +CMT,1,1,355,0.8,CSH,6.0 +CMT,1,2,906,3.4,CSH,13.5 +CMT,1,1,892,1.9,CRD,11.0 +CMT,1,3,463,0.7,CSH,6.5 +CMT,1,3,752,1.7,CRD,9.5 +CMT,1,1,307,1.1,CRD,6.0 +CMT,2,1,1797,0.0,CSH,52.0 +CMT,1,1,564,0.8,CSH,7.5 +CMT,1,2,621,1.6,CSH,9.0 +CMT,1,1,331,0.7,CRD,5.5 +CMT,1,4,491,1.5,CSH,7.5 +CMT,1,2,911,3.3,CSH,13.5 +CMT,1,2,439,0.7,CRD,6.5 +CMT,1,1,697,4.4,CSH,15.0 +CMT,1,1,570,1.0,CSH,7.5 +CMT,1,1,1580,3.2,CRD,18.5 +CMT,1,1,617,1.1,CRD,8.5 +CMT,1,1,478,0.8,CRD,7.0 +CMT,1,4,635,1.0,CSH,8.0 +CMT,1,1,392,0.9,CRD,6.0 +CMT,1,1,906,8.9,CRD,25.5 +CMT,1,1,1615,4.6,CRD,20.0 +CMT,1,1,844,3.0,CRD,12.5 +CMT,1,1,380,1.1,CRD,6.5 +CMT,1,1,394,1.2,CRD,6.5 +CMT,1,1,330,1.0,CRD,6.0 +CMT,1,1,417,0.9,CSH,6.5 +CMT,1,1,1296,7.0,CRD,23.5 +CMT,1,1,738,1.9,CRD,10.0 +CMT,1,2,267,0.5,CSH,5.0 +CMT,1,1,378,0.7,CRD,6.0 +CMT,1,1,353,0.6,CRD,5.5 +CMT,1,1,406,1.9,CSH,8.0 +CMT,1,1,471,1.6,CSH,8.0 +CMT,1,1,550,0.9,CRD,7.5 +CMT,1,2,166,0.4,CRD,4.0 +CMT,1,1,1053,4.0,CRD,13.0 +CMT,1,1,496,0.9,CRD,7.0 +CMT,1,1,1062,5.5,CRD,19.5 +CMT,1,1,500,1.6,CRD,8.0 +CMT,1,1,146,0.5,CSH,4.0 +CMT,1,1,312,0.6,CRD,5.5 +CMT,1,1,906,3.4,CRD,13.5 +CMT,1,1,330,0.9,CSH,6.0 +CMT,1,1,962,2.9,CSH,13.5 +CMT,1,2,931,3.0,CRD,13.0 +CMT,1,1,767,3.3,CRD,12.5 +CMT,1,1,398,1.0,CRD,6.5 +CMT,1,1,194,0.5,CRD,4.5 +CMT,1,1,1272,2.3,CRD,14.5 +CMT,1,1,724,1.7,CRD,9.5 +CMT,1,1,118,0.3,CSH,3.5 +CMT,1,1,949,1.6,CRD,11.0 +CMT,1,1,930,6.4,CRD,20.5 +CMT,1,1,632,1.7,CRD,9.5 +CMT,1,1,475,2.1,CRD,9.0 +CMT,1,1,497,0.7,CSH,6.5 +CMT,1,1,534,1.3,CSH,8.0 +CMT,1,1,325,1.2,CSH,6.5 +CMT,1,1,762,2.0,CSH,10.5 +CMT,1,1,513,0.9,CSH,7.0 +CMT,1,2,649,1.9,CRD,9.5 +CMT,1,1,316,0.1,CSH,5.0 +CMT,1,1,283,0.9,CRD,5.5 +CMT,1,1,662,2.5,CSH,10.5 +CMT,1,1,538,2.2,CRD,9.0 +CMT,1,1,1079,1.4,CRD,12.0 +CMT,1,2,365,1.2,CSH,6.5 +CMT,2,2,1877,16.9,CSH,52.0 +CMT,1,1,712,6.2,CRD,18.5 +CMT,1,1,167,0.4,CRD,4.0 +CMT,1,1,1024,7.6,CSH,23.5 +CMT,1,1,552,1.2,CRD,7.5 +CMT,1,1,282,0.7,CSH,5.0 +CMT,1,1,419,1.1,CRD,6.5 +CMT,1,1,186,0.5,CSH,4.5 +CMT,1,1,420,1.4,CSH,7.0 +CMT,1,1,225,0.4,CSH,4.5 +CMT,1,1,659,1.2,CSH,8.5 +CMT,1,3,291,0.9,CRD,6.0 +CMT,1,2,429,0.9,CRD,6.5 +CMT,1,1,356,0.9,CSH,6.0 +CMT,1,2,163,0.2,CSH,3.5 +CMT,1,1,446,0.8,CRD,6.5 +CMT,2,1,1828,1.0,CRD,52.0 +CMT,1,2,420,1.1,CSH,6.5 +CMT,1,1,332,0.8,CSH,5.5 +CMT,1,1,549,3.4,CSH,12.0 +CMT,1,1,944,3.2,CSH,13.5 +CMT,2,1,2275,4.5,CRD,52.0 +CMT,1,1,565,3.6,CRD,12.0 +CMT,1,1,500,1.2,CRD,7.5 +CMT,1,1,786,1.2,CSH,9.5 +CMT,1,1,987,2.3,CRD,12.0 +CMT,1,1,665,1.8,CRD,9.5 +CMT,1,1,258,0.9,CSH,5.5 +CMT,1,1,220,1.2,CSH,5.5 +CMT,1,1,889,2.7,CRD,12.0 +CMT,1,2,464,1.1,CSH,7.0 +CMT,1,1,542,2.5,CRD,10.5 +CMT,1,4,392,0.9,CSH,6.0 +CMT,1,1,1606,16.9,CRD,46.0 +CMT,1,2,1489,6.2,CRD,23.0 +CMT,1,2,266,0.7,CSH,5.0 +CMT,1,2,573,1.9,CSH,9.0 +CMT,1,4,905,2.1,CSH,11.0 +CMT,1,1,472,2.8,CRD,10.0 +CMT,1,1,452,1.6,CSH,8.0 +CMT,1,1,461,1.3,CRD,7.0 +CMT,1,1,1069,9.9,CRD,28.5 +CMT,1,1,1129,2.5,CSH,14.0 +CMT,1,1,578,1.4,CSH,8.5 +CMT,1,1,1275,2.4,CSH,14.5 +CMT,1,3,2006,6.3,CSH,27.0 +CMT,1,1,106,0.4,CSH,3.5 +CMT,1,1,534,1.4,CSH,8.0 +CMT,1,1,399,1.6,CRD,7.5 +CMT,1,1,800,1.3,CRD,9.5 +CMT,1,1,106,0.4,CSH,3.5 +CMT,1,1,1021,1.6,CSH,12.0 +CMT,1,1,717,2.1,CRD,10.5 +CMT,1,1,240,0.5,CRD,4.5 +CMT,1,1,384,1.1,CRD,6.5 +CMT,1,1,1549,2.1,CRD,16.0 +CMT,1,1,350,0.6,CRD,5.5 +CMT,1,1,1096,5.0,CSH,17.5 +CMT,1,1,339,1.0,CSH,6.0 +CMT,1,2,158,0.4,CRD,4.0 +CMT,1,1,440,1.6,CRD,7.5 +CMT,1,1,1339,3.5,CSH,16.0 +CMT,1,2,568,2.2,CSH,9.5 +CMT,1,1,1474,9.7,CRD,30.0 +CMT,1,1,793,4.2,CSH,14.0 +CMT,1,1,821,3.1,CRD,12.5 +CMT,1,2,397,0.9,CRD,6.0 +CMT,1,1,339,1.2,CRD,6.5 +CMT,1,1,356,1.4,CSH,7.0 +CMT,1,1,194,0.4,CRD,4.0 +CMT,1,1,2037,15.8,CRD,44.5 +CMT,1,1,302,1.3,CRD,6.5 +CMT,1,1,480,2.0,CRD,8.5 +CMT,1,1,791,2.8,CSH,11.5 +CMT,1,1,739,1.3,CRD,9.5 +CMT,1,1,332,0.7,CSH,5.5 +CMT,1,1,259,0.4,CSH,4.5 +CMT,1,1,914,2.0,CRD,11.5 +CMT,1,1,634,2.2,CRD,10.0 +CMT,1,1,579,1.9,CRD,9.0 +CMT,1,1,647,2.3,CRD,10.5 +CMT,1,1,379,1.6,CRD,7.5 +CMT,1,1,669,2.7,CSH,11.0 +CMT,1,1,1020,6.5,CRD,21.0 +CMT,1,1,1137,3.1,CRD,14.0 +CMT,1,1,419,0.8,CSH,6.0 +CMT,1,1,198,0.8,CRD,5.0 +CMT,1,1,565,2.5,CSH,10.5 +CMT,1,1,624,1.2,CSH,8.5 +CMT,1,1,175,0.8,CRD,4.5 +CMT,1,1,811,1.3,CRD,9.5 +CMT,1,1,1011,6.2,CRD,20.5 +CMT,1,1,438,2.0,CSH,9.0 +CMT,1,1,637,1.1,CRD,8.5 +CMT,1,1,301,0.7,CRD,5.5 +CMT,1,1,1209,8.7,CRD,26.5 +CMT,1,1,346,1.3,CRD,6.5 +CMT,1,1,1591,4.6,CRD,20.0 +CMT,1,1,616,1.2,CRD,8.0 +CMT,1,3,1149,2.1,CRD,13.5 +CMT,1,1,1670,3.9,CRD,20.0 +CMT,1,2,170,0.8,CRD,4.5 +CMT,1,1,1162,3.1,CRD,15.5 +CMT,1,1,564,2.6,CRD,10.5 +CMT,1,1,504,0.9,CSH,7.0 +CMT,1,1,657,1.6,CSH,9.5 +CMT,1,1,276,1.0,CSH,5.5 +CMT,2,1,2338,4.5,CRD,52.0 +CMT,1,2,1288,3.6,CRD,16.0 +CMT,1,1,1412,8.4,CSH,27.5 +CMT,1,1,1236,2.3,CRD,14.0 +CMT,1,1,1881,5.6,CRD,24.5 +CMT,1,2,508,1.1,CSH,7.5 +CMT,1,2,517,1.7,CRD,8.0 +CMT,1,2,232,1.2,CSH,5.5 +CMT,1,1,417,1.8,CRD,8.0 +CMT,1,1,501,1.3,CRD,7.5 +CMT,1,1,496,1.7,CRD,8.0 +CMT,1,2,282,0.6,CSH,5.0 +CMT,1,1,1414,5.9,CSH,20.5 +CMT,1,1,198,0.6,CRD,4.5 +CMT,1,1,271,0.7,CRD,5.0 +CMT,1,1,671,1.2,CSH,8.5 +CMT,1,2,1356,3.6,CRD,16.5 +CMT,1,1,512,1.5,CSH,8.0 +CMT,1,1,934,2.1,CRD,12.5 +CMT,1,1,614,2.3,CRD,10.0 +CMT,1,1,92,0.4,CSH,3.5 +CMT,1,1,764,3.2,CRD,12.5 +CMT,1,1,217,0.9,CSH,5.0 +CMT,1,1,578,2.5,CRD,10.0 +CMT,1,1,580,1.4,CRD,8.0 +CMT,1,1,1418,3.4,CRD,17.0 +CMT,1,1,700,3.6,CRD,12.5 +CMT,1,2,1268,2.6,CSH,15.0 +CMT,1,1,148,0.4,CRD,4.0 +CMT,1,2,279,1.5,CRD,6.5 +CMT,1,1,521,0.9,CRD,7.0 +CMT,1,1,1161,6.2,CRD,21.5 +CMT,1,3,938,3.8,CSH,15.5 +CMT,1,1,660,2.2,CRD,10.5 +CMT,1,1,812,4.6,CSH,16.0 +CMT,1,1,291,1.0,CRD,5.5 +CMT,1,1,1233,4.3,CRD,17.0 +CMT,1,1,1256,2.0,CSH,13.5 +CMT,1,1,582,1.3,CSH,8.5 +CMT,1,1,483,0.8,CSH,6.5 +CMT,1,3,217,0.5,CSH,4.5 +CMT,1,1,141,0.3,CSH,3.5 +CMT,1,1,443,0.6,CRD,6.5 +CMT,1,1,434,1.4,CRD,7.5 +CMT,1,1,384,0.8,CRD,6.0 +CMT,1,1,338,1.1,CSH,6.5 +CMT,1,2,576,1.4,CSH,8.0 +CMT,1,1,878,3.5,CRD,13.5 +CMT,1,1,405,1.5,CRD,7.0 +CMT,1,1,1064,2.5,CRD,13.5 +CMT,1,1,1517,4.4,CSH,18.0 +CMT,1,1,1789,4.8,CSH,20.5 +CMT,1,1,440,1.3,CSH,7.0 +CMT,1,1,91,0.4,CRD,3.5 +CMT,1,1,561,2.3,CRD,9.5 +CMT,1,1,826,1.4,CRD,10.0 +CMT,1,1,1077,3.0,CSH,14.0 +CMT,1,1,874,2.2,CSH,11.5 +CMT,1,1,1231,3.5,CRD,15.5 +CMT,1,2,304,0.6,CSH,5.0 +CMT,1,2,806,2.4,CRD,11.0 +CMT,1,1,674,1.7,CRD,9.5 +CMT,1,1,568,1.0,CRD,8.0 +CMT,1,1,376,0.4,CRD,5.5 +CMT,1,1,427,1.2,CRD,7.0 +CMT,1,1,665,1.0,CSH,8.0 +CMT,1,1,407,1.0,CRD,6.5 +CMT,1,1,283,0.9,CRD,5.5 +CMT,1,1,383,1.4,CRD,7.0 +CMT,1,1,1046,2.8,CSH,13.5 +CMT,1,2,241,0.9,CSH,5.0 +CMT,1,2,1828,4.3,CRD,20.5 +CMT,1,1,376,1.6,CSH,7.5 +CMT,1,1,852,4.6,CRD,16.5 +CMT,1,1,363,1.0,CRD,6.0 +CMT,1,1,902,2.3,CRD,11.5 +CMT,1,1,721,1.2,CRD,9.0 +CMT,1,1,378,1.4,CSH,7.0 +CMT,1,1,238,0.6,CRD,4.5 +CMT,1,1,938,1.2,CRD,10.5 +CMT,2,2,2029,3.4,CRD,52.0 +CMT,1,1,777,1.7,CRD,10.0 +CMT,1,1,1146,1.2,CRD,12.0 +CMT,1,1,326,0.3,CSH,5.0 +CMT,1,2,480,0.6,CSH,6.5 +CMT,2,3,1973,20.9,CRD,52.0 +CMT,1,3,244,0.4,CSH,4.5 +CMT,1,1,397,0.7,CRD,6.0 +CMT,1,2,825,2.8,CRD,12.5 +CMT,1,3,266,0.6,CSH,5.0 +CMT,1,1,394,1.0,CRD,6.0 +CMT,1,1,616,1.8,CSH,9.0 +CMT,1,1,951,2.9,CRD,13.0 +CMT,1,1,739,1.4,CRD,9.5 +CMT,1,2,1652,5.4,CSH,22.5 +CMT,1,1,491,2.3,CRD,9.0 +CMT,1,1,392,0.4,CRD,5.5 +CMT,1,1,357,0.7,CSH,6.0 +CMT,1,1,915,1.0,CSH,10.0 +CMT,1,1,605,2.2,CSH,9.5 +CMT,1,2,2153,2.8,CSH,21.5 +CMT,1,1,291,1.8,CRD,7.5 +CMT,1,1,207,0.7,CRD,4.5 +CMT,1,1,520,1.4,CSH,8.0 +CMT,1,1,533,1.8,CSH,8.5 +CMT,1,1,309,1.7,CRD,7.0 +CMT,1,1,205,0.5,CSH,4.5 +CMT,1,1,606,3.2,CRD,12.0 +CMT,1,1,738,4.0,CSH,14.5 +CMT,1,1,1036,2.2,CRD,12.5 +CMT,1,1,490,0.8,CRD,6.5 +CMT,1,1,135,0.6,CRD,4.0 +CMT,1,1,782,1.8,CRD,10.5 +CMT,1,1,326,1.1,CSH,6.0 +CMT,1,1,466,1.9,CSH,8.5 +CMT,1,2,836,2.3,CSH,11.5 +CMT,1,1,772,4.8,CRD,16.5 +CMT,1,1,203,0.5,CRD,4.5 +CMT,1,1,439,1.5,CRD,7.5 +CMT,1,1,666,1.2,CRD,9.0 +CMT,1,1,409,1.3,CSH,7.0 +CMT,1,2,472,0.8,CSH,6.5 +CMT,1,2,726,1.3,CSH,9.0 +CMT,1,1,518,0.9,CSH,7.0 +CMT,1,1,278,1.1,CSH,5.5 +CMT,1,1,909,4.7,CSH,17.0 +CMT,1,1,550,2.4,CSH,10.0 +CMT,1,1,889,8.2,CRD,24.0 +CMT,1,1,425,1.3,CRD,7.0 +CMT,1,1,707,2.4,CSH,11.0 +CMT,1,1,1005,2.5,CRD,13.0 +CMT,1,1,632,2.3,CRD,10.0 +CMT,1,1,972,3.1,CRD,13.5 +CMT,1,1,596,2.0,CSH,9.0 +CMT,1,1,631,1.3,CRD,8.5 +CMT,1,1,643,2.8,CSH,11.0 +CMT,1,1,825,1.4,CRD,10.0 +CMT,1,1,146,0.6,CRD,4.0 +CMT,1,1,1475,5.0,CRD,20.0 +CMT,1,1,1209,2.7,CRD,14.5 +CMT,1,1,358,1.3,CSH,7.0 +CMT,1,1,571,1.7,CSH,9.0 +CMT,1,1,322,2.5,CSH,8.5 +CMT,1,1,126,0.5,CRD,4.0 +CMT,1,1,391,2.5,CRD,9.5 +CMT,1,1,240,0.5,CSH,5.0 +CMT,1,1,452,1.6,CSH,8.5 +CMT,1,1,2082,6.3,CRD,26.0 +CMT,1,1,419,0.7,CRD,6.0 +CMT,1,1,375,1.0,CRD,6.5 +CMT,1,1,636,3.1,CSH,11.5 +CMT,1,1,502,1.5,CRD,8.0 +CMT,1,1,939,1.7,CRD,11.5 +CMT,1,1,600,1.4,CRD,8.0 +CMT,1,1,90,0.5,CSH,3.5 +CMT,1,1,124,0.4,CRD,4.0 +CMT,2,1,1545,17.4,CRD,52.0 +CMT,1,1,474,1.1,CRD,7.0 +CMT,1,1,1432,10.0,CRD,30.0 +CMT,1,1,676,3.6,CRD,13.0 +CMT,1,1,465,1.1,CRD,7.0 +CMT,1,2,551,1.0,CRD,7.5 +CMT,1,1,612,1.2,CSH,8.0 +CMT,1,1,558,2.6,CSH,10.5 +CMT,1,1,891,3.4,CSH,13.5 +CMT,1,1,295,0.5,CRD,5.0 +CMT,1,1,880,3.5,CSH,13.5 +CMT,1,1,1135,5.6,CRD,19.0 +CMT,1,1,617,2.2,CRD,10.0 +CMT,1,1,1629,6.8,CRD,24.0 +CMT,1,1,1255,0.0,CSH,2.5 +CMT,1,1,989,4.5,CSH,17.0 +CMT,1,1,230,1.6,CSH,6.5 +CMT,1,1,522,1.3,CRD,7.5 +CMT,1,1,364,1.2,CSH,6.5 +CMT,1,1,283,1.0,CRD,5.5 +CMT,1,1,1291,4.9,CSH,18.5 +CMT,1,1,897,6.0,CRD,19.5 +CMT,1,1,680,5.7,CRD,18.0 +CMT,1,1,800,9.2,CRD,26.0 +CMT,1,1,552,1.7,CSH,9.0 +CMT,1,1,355,1.0,CSH,6.5 +CMT,1,1,693,2.6,CRD,11.0 +CMT,1,1,491,2.2,CRD,9.0 +CMT,1,1,317,0.6,CSH,5.5 +CMT,1,1,1147,4.0,CSH,16.5 +CMT,1,1,674,1.1,CSH,8.5 +CMT,1,1,377,1.0,CRD,6.5 +CMT,1,1,910,1.4,CSH,10.5 +CMT,1,1,379,1.2,CSH,6.5 +CMT,1,1,349,1.1,CRD,6.5 +CMT,1,1,330,1.1,CRD,6.0 +CMT,1,1,677,2.2,CRD,10.0 +CMT,1,1,455,2.3,CSH,9.0 +CMT,1,1,553,2.1,CSH,9.0 +CMT,1,1,290,0.8,CRD,5.5 +CMT,1,1,710,3.3,CRD,12.0 +CMT,1,1,274,1.2,CRD,6.0 +CMT,1,1,365,1.1,CSH,6.5 +CMT,1,1,1058,4.1,CSH,15.5 +CMT,1,1,772,1.9,CSH,10.5 +CMT,1,1,385,0.6,CSH,5.5 +CMT,1,1,133,0.9,CSH,4.5 +CMT,1,1,230,0.8,CSH,5.0 +CMT,1,1,640,1.5,CRD,9.0 +CMT,1,1,792,2.3,CSH,11.0 +CMT,1,1,1124,3.8,CRD,15.5 +CMT,1,1,571,1.9,CRD,9.0 +CMT,1,1,615,2.8,CRD,11.5 +CMT,1,1,372,2.1,CRD,8.5 +CMT,1,1,375,1.3,CRD,7.0 +CMT,1,1,184,0.9,CSH,5.0 +CMT,2,1,1365,17.3,CRD,52.0 +CMT,1,1,1048,3.2,CRD,14.5 +CMT,1,1,231,0.7,CSH,5.0 +CMT,1,1,290,1.0,CSH,6.0 +CMT,1,1,772,1.8,CRD,10.0 +CMT,1,1,602,4.0,CSH,13.0 +CMT,1,1,121,0.6,CRD,4.0 +CMT,1,1,646,1.9,CRD,9.5 +CMT,1,1,934,3.7,CRD,14.0 +CMT,1,1,640,1.1,CSH,8.5 +CMT,1,1,115,0.3,CRD,3.5 +CMT,1,1,559,1.2,CRD,8.0 +CMT,1,1,144,0.3,CRD,3.5 +CMT,1,1,1146,2.8,CRD,14.0 +CMT,1,1,310,0.6,CSH,5.0 +CMT,1,1,661,1.8,CSH,9.5 +CMT,1,1,676,5.8,CSH,18.0 +CMT,1,1,479,1.9,CRD,8.5 +CMT,1,1,73,0.4,CSH,3.5 +CMT,1,1,399,1.3,CSH,7.0 +CMT,1,1,588,1.5,CRD,9.0 +CMT,1,1,1062,3.9,CSH,15.0 +CMT,1,1,169,0.6,CSH,4.5 +CMT,1,1,3645,17.0,CRD,57.0 +CMT,1,1,264,0.7,CRD,5.0 +CMT,1,1,518,3.8,CRD,12.5 +CMT,1,1,637,3.7,CSH,13.0 +CMT,1,1,263,0.9,CSH,5.5 +CMT,1,1,323,1.3,CRD,6.5 +CMT,1,1,320,1.2,CRD,6.0 +CMT,1,1,648,1.3,CRD,9.0 +CMT,1,1,1085,7.2,CRD,22.0 +CMT,1,1,2433,5.0,CRD,26.0 +CMT,1,1,774,1.7,CSH,9.5 +CMT,1,1,707,1.8,CRD,9.5 +CMT,1,1,557,1.1,CSH,8.0 +CMT,1,1,1340,4.6,CRD,19.0 +CMT,1,1,142,0.6,CSH,4.0 +CMT,1,1,596,1.2,CSH,8.5 +CMT,1,1,349,1.0,CRD,6.0 +CMT,1,1,436,0.9,CRD,6.5 +CMT,1,1,1140,4.1,CRD,16.5 +CMT,1,1,882,4.7,CSH,16.5 +CMT,1,1,329,1.2,CSH,6.5 +CMT,1,1,269,0.8,CRD,5.5 +CMT,1,1,229,0.7,CRD,5.0 +CMT,1,1,311,0.9,CRD,5.5 +CMT,1,1,739,1.2,CRD,9.5 +CMT,1,1,507,1.8,CRD,8.5 +CMT,1,1,334,1.0,CSH,6.0 +CMT,1,1,457,1.1,CSH,7.0 +CMT,1,1,999,1.9,CSH,11.5 +CMT,1,1,309,1.9,CSH,7.5 +CMT,1,1,1427,4.8,CRD,19.5 +CMT,1,2,1278,3.8,CRD,16.5 +CMT,1,3,471,1.3,CSH,7.5 +CMT,1,1,857,1.2,CSH,10.0 +CMT,1,2,279,0.5,CSH,5.0 +CMT,1,1,677,1.6,CRD,9.0 +CMT,1,1,1029,1.1,CRD,11.0 +CMT,1,1,757,1.2,CRD,9.0 +CMT,1,1,957,5.9,CRD,19.0 +CMT,1,1,462,1.5,CRD,7.5 +CMT,1,1,2404,8.8,CRD,33.5 +CMT,1,1,104,0.2,CSH,3.5 +CMT,1,1,1502,3.9,CSH,19.0 +CMT,1,1,748,5.5,CRD,17.5 +CMT,1,1,435,2.4,CRD,9.0 +CMT,1,1,342,1.1,CSH,6.0 +CMT,1,1,486,1.4,CSH,8.0 +CMT,1,1,592,1.8,CRD,8.5 +CMT,1,1,793,2.3,CRD,11.5 +CMT,1,1,326,1.1,CRD,6.0 +CMT,1,1,253,0.9,CSH,5.5 +CMT,1,1,135,0.6,CSH,4.0 +CMT,1,1,780,2.0,CRD,10.5 +CMT,1,1,1190,3.3,CSH,15.0 +CMT,1,1,608,1.4,CRD,8.5 +CMT,1,1,287,0.6,CSH,5.5 +CMT,1,1,1060,4.2,CSH,16.0 +CMT,1,1,500,2.8,CRD,11.0 +CMT,1,1,863,2.2,CRD,11.5 +CMT,1,1,341,0.4,CSH,5.5 +CMT,1,1,1001,2.8,CRD,13.0 +CMT,1,1,849,2.1,CRD,11.5 +CMT,1,1,515,0.8,CRD,7.0 +CMT,1,1,668,3.0,CRD,11.0 +CMT,1,1,1484,7.2,CRD,24.0 +CMT,1,1,430,2.4,CSH,9.5 +CMT,1,1,1498,17.1,CRD,46.5 +CMT,1,1,391,0.9,CRD,6.5 +CMT,1,1,431,1.3,CRD,7.5 +CMT,1,1,903,2.2,CRD,12.0 +CMT,1,1,557,2.3,CRD,9.5 +CMT,1,1,332,2.3,CRD,8.5 +CMT,1,1,1030,5.9,CSH,20.0 +CMT,1,1,233,0.5,CSH,4.5 +CMT,1,1,437,0.7,CRD,6.5 +CMT,1,1,859,2.6,CRD,11.5 +CMT,1,1,820,2.3,CSH,11.5 +CMT,1,1,1066,3.9,CSH,15.5 +CMT,1,1,434,0.9,CSH,7.0 +CMT,1,1,953,2.7,CRD,13.0 +CMT,1,1,498,1.6,CRD,7.5 +CMT,1,1,414,1.1,CRD,6.5 +CMT,1,2,246,0.4,CSH,4.5 +CMT,1,1,664,1.2,CRD,8.5 +CMT,1,1,794,3.4,CRD,13.0 +CMT,1,1,1219,4.4,CRD,16.5 +CMT,1,1,1541,6.1,CSH,24.0 +CMT,1,1,188,0.4,CSH,4.5 +CMT,1,1,782,2.7,CRD,11.5 +CMT,1,1,726,3.6,CSH,14.0 +CMT,5,1,123,0.0,CRD,37.5 +CMT,1,1,355,2.0,CSH,8.5 +CMT,1,1,344,1.2,CRD,6.5 +CMT,1,1,298,1.5,CSH,6.5 +CMT,2,1,2701,19.7,CRD,52.0 +CMT,1,1,304,1.1,CRD,6.0 +CMT,1,1,352,1.2,CSH,6.5 +CMT,1,1,1372,7.9,CRD,26.0 +CMT,1,1,263,0.9,CSH,5.5 +CMT,1,1,658,3.1,CSH,12.0 +CMT,1,1,525,1.8,CSH,8.5 +CMT,1,1,392,3.5,CSH,11.5 +CMT,1,1,479,1.8,CSH,8.5 +CMT,1,1,299,1.6,CSH,6.5 +CMT,1,1,745,2.3,CRD,11.0 +CMT,1,1,579,3.5,CRD,12.5 +CMT,1,1,1104,7.1,CSH,22.5 +CMT,1,1,223,1.4,CRD,6.0 +CMT,1,1,252,0.8,CSH,5.0 +CMT,1,1,839,2.5,CSH,12.0 +CMT,1,1,907,7.0,CSH,22.0 +CMT,1,1,1290,3.1,CSH,15.0 +CMT,1,1,1005,3.6,CRD,15.0 +CMT,1,1,590,1.5,CRD,8.5 +CMT,1,1,522,2.4,CSH,9.5 +CMT,1,1,446,2.3,CSH,9.0 +CMT,1,1,420,1.4,CSH,7.5 +CMT,1,1,439,1.6,CSH,8.0 +CMT,1,1,567,4.5,CRD,14.5 +CMT,1,1,427,2.0,CSH,8.5 +CMT,1,1,204,0.7,CRD,4.5 +CMT,1,1,482,1.5,CSH,7.5 +CMT,1,1,929,10.0,CRD,28.5 +CMT,1,1,418,1.7,CRD,8.0 +CMT,1,1,506,1.5,CSH,8.0 +CMT,1,1,608,2.1,CRD,10.0 +CMT,1,1,590,1.9,CRD,9.0 +CMT,1,1,342,1.2,CSH,6.5 +CMT,1,1,190,0.2,CSH,4.0 +CMT,1,1,767,2.6,CRD,11.5 +CMT,1,1,377,0.8,CRD,6.0 +CMT,1,1,165,0.3,CSH,4.0 +CMT,1,1,350,1.8,CRD,7.5 +CMT,1,1,487,2.7,CRD,10.0 +CMT,1,1,888,2.5,CSH,12.0 +CMT,1,1,673,2.1,CRD,10.0 +CMT,1,1,1198,3.8,CSH,16.5 +CMT,1,1,2635,8.7,CSH,33.0 +CMT,1,1,252,1.2,CSH,6.0 +CMT,1,1,181,0.6,CRD,4.5 +CMT,1,1,174,0.7,CSH,4.5 +CMT,1,1,388,1.3,CSH,7.0 +CMT,1,1,221,0.6,CSH,4.5 +CMT,1,1,339,1.1,CSH,6.5 +CMT,1,1,256,1.0,CRD,5.5 +CMT,1,1,898,2.2,CSH,12.0 +CMT,1,1,278,1.0,CRD,5.5 +CMT,1,1,294,0.5,CRD,5.0 +CMT,1,1,320,0.4,CSH,5.0 +CMT,1,1,262,0.4,CRD,4.5 +CMT,1,1,50,0.2,CRD,3.0 +CMT,1,1,119,0.7,CSH,4.0 +CMT,1,1,369,1.2,CRD,6.5 +CMT,1,1,994,2.1,CSH,12.5 +CMT,1,1,249,0.9,CSH,5.5 +CMT,1,1,1096,7.1,CSH,23.5 +CMT,1,1,189,0.7,CSH,4.5 +CMT,1,1,553,3.7,CRD,13.0 +CMT,1,1,253,1.2,CRD,6.0 +CMT,1,1,605,1.3,CRD,8.5 +CMT,1,1,555,0.8,CRD,7.5 +CMT,1,1,567,1.2,CRD,7.5 +CMT,1,1,718,2.6,CRD,11.5 +CMT,1,1,1003,4.4,CRD,16.0 +CMT,1,2,317,0.5,CSH,5.5 +CMT,1,1,751,1.7,CRD,9.5 +CMT,1,1,757,2.1,CRD,10.5 +CMT,1,1,1043,2.4,CSH,13.0 +CMT,1,1,678,2.9,CRD,11.5 +CMT,1,1,529,1.7,CRD,9.0 +CMT,1,1,350,0.6,CRD,5.5 +CMT,1,2,625,1.8,CRD,9.5 +CMT,1,2,1145,4.0,CSH,16.5 +CMT,1,1,1244,6.9,CSH,23.0 +CMT,1,1,510,1.9,CRD,8.5 +CMT,1,1,1427,2.9,CSH,16.5 +CMT,1,1,239,0.8,CRD,5.0 +CMT,2,2,2779,0.0,CSH,52.0 +CMT,1,1,401,0.7,CSH,6.0 +CMT,1,1,545,1.7,CRD,8.5 +CMT,1,1,266,0.9,CRD,5.5 +CMT,1,1,830,3.0,CRD,12.5 +CMT,1,1,270,0.9,CSH,5.5 +CMT,1,1,288,0.8,CSH,5.5 +CMT,1,1,393,0.7,CRD,6.0 +CMT,1,1,182,0.5,CRD,4.5 +CMT,1,1,545,1.9,CSH,9.0 +CMT,1,1,111,0.5,CRD,4.0 +CMT,1,1,874,1.5,CRD,10.5 +CMT,1,1,654,1.7,CRD,9.5 +CMT,1,1,280,0.7,CSH,5.0 +CMT,1,1,936,2.8,CRD,13.0 +CMT,1,1,271,0.9,CRD,5.5 +CMT,1,1,525,3.2,CRD,11.5 +CMT,1,1,457,1.5,CSH,8.0 +CMT,1,1,400,1.9,CRD,7.5 +CMT,1,1,1122,13.8,CRD,37.5 +CMT,1,1,975,5.1,CRD,18.5 +CMT,1,1,970,1.9,CSH,11.5 +CMT,1,1,600,1.5,CRD,8.5 +CMT,1,1,660,3.7,CSH,13.0 +CMT,1,1,178,1.4,CSH,6.0 +CMT,1,1,422,1.3,CSH,7.5 +CMT,1,1,1175,8.1,CSH,24.5 +CMT,1,1,787,3.4,CSH,13.5 +CMT,1,1,172,0.5,CRD,4.0 +CMT,1,1,314,0.5,CRD,5.0 +CMT,1,1,287,1.8,CRD,7.0 +CMT,1,1,452,1.9,CSH,8.0 +CMT,1,1,951,4.4,CRD,16.0 +CMT,1,1,545,1.8,CSH,8.5 +CMT,1,1,1052,2.7,CSH,13.5 +CMT,1,1,301,0.9,CSH,5.5 +CMT,1,1,346,1.3,CRD,7.0 +CMT,1,1,1204,5.6,CSH,19.5 +CMT,1,1,763,5.1,CRD,16.0 +CMT,1,1,318,1.0,CSH,6.0 +CMT,1,1,204,1.9,CRD,7.0 +CMT,1,1,119,0.8,CSH,4.5 +CMT,1,1,596,1.9,CSH,9.5 +CMT,1,1,828,3.1,CRD,13.0 +CMT,1,1,558,3.2,CSH,11.5 +CMT,1,1,809,4.6,CRD,16.0 +CMT,1,1,448,1.6,CSH,8.0 +CMT,1,1,519,1.9,CRD,8.5 +CMT,1,1,588,2.6,CRD,10.0 +CMT,1,1,644,3.4,CRD,12.5 +CMT,1,1,969,3.0,CSH,13.5 +CMT,1,1,157,0.5,CSH,4.0 +CMT,1,1,816,7.5,CRD,22.5 +CMT,1,1,1332,11.0,CSH,32.0 +CMT,1,1,244,0.9,CSH,5.0 +CMT,1,1,692,1.4,CSH,9.0 +CMT,1,1,359,1.8,CRD,7.5 +CMT,1,1,240,0.5,CRD,4.5 +CMT,1,1,703,1.2,CRD,9.0 +CMT,1,1,475,1.5,CRD,8.0 +CMT,1,1,518,2.1,CSH,9.0 +CMT,1,1,181,1.4,CSH,6.0 +CMT,1,1,499,2.1,CSH,9.0 +CMT,1,1,156,0.9,CSH,5.0 +CMT,1,1,241,1.1,CRD,5.5 +CMT,1,1,283,0.6,CSH,5.0 +CMT,1,1,155,0.9,CRD,4.5 +CMT,1,1,1056,3.5,CRD,15.0 +CMT,1,1,443,1.4,CSH,7.5 +CMT,1,1,191,0.8,CSH,4.5 +CMT,1,1,272,0.7,CSH,5.5 +CMT,1,1,314,1.1,CRD,6.0 +CMT,1,1,823,1.9,CRD,10.5 +CMT,1,1,273,1.7,CRD,7.0 +CMT,1,1,1350,2.8,CRD,15.5 +CMT,1,1,636,2.7,CRD,10.5 +CMT,1,1,337,2.3,CSH,8.5 +CMT,1,1,587,1.6,CRD,9.0 +CMT,1,1,731,1.4,CRD,9.5 +CMT,1,1,851,2.5,CRD,11.5 +CMT,1,1,102,0.4,CRD,3.5 +CMT,1,1,1313,12.9,CRD,36.5 +CMT,1,1,118,0.5,CSH,4.0 +CMT,1,1,242,0.8,CSH,5.0 +CMT,1,1,745,4.1,CRD,15.0 +CMT,1,1,922,4.6,CRD,16.0 +CMT,1,1,368,1.2,CRD,6.5 +CMT,1,1,901,2.2,CSH,11.5 +CMT,1,1,1385,5.0,CRD,18.5 +CMT,1,1,187,0.8,CSH,4.5 +CMT,1,1,1251,10.1,CRD,29.0 +CMT,1,1,142,0.3,CSH,3.5 +CMT,1,1,1155,13.4,CSH,36.5 +CMT,1,1,617,2.2,CRD,10.0 +CMT,1,1,74,0.4,CSH,3.5 +CMT,1,1,392,1.1,CRD,6.5 +CMT,1,1,333,1.6,CRD,7.0 +CMT,1,1,624,2.4,CRD,10.5 +CMT,1,1,605,2.2,CRD,9.5 +CMT,1,1,705,2.7,CSH,11.5 +CMT,1,1,577,2.0,CRD,10.0 +CMT,1,1,938,2.3,CRD,12.0 +CMT,1,1,1349,10.5,CSH,31.5 +CMT,1,1,1048,2.9,CRD,13.5 +CMT,1,1,940,5.4,CRD,18.0 +CMT,1,1,1290,5.4,CRD,19.5 +CMT,1,1,214,0.6,CRD,4.5 +CMT,1,1,995,1.8,CSH,11.5 +CMT,1,1,776,4.6,CRD,15.5 +CMT,1,1,437,1.0,CSH,7.0 +CMT,1,1,339,1.3,CRD,6.5 +CMT,1,1,478,1.8,CRD,8.5 +CMT,1,1,579,1.0,CRD,7.5 +CMT,1,1,196,0.5,CRD,4.5 +CMT,1,1,374,1.5,CRD,7.0 +CMT,1,1,454,1.6,CSH,8.0 +CMT,1,1,1079,1.6,CRD,12.0 +CMT,1,1,471,2.1,CRD,9.0 +CMT,1,1,563,5.7,CSH,17.0 +CMT,1,1,339,2.7,CSH,9.5 +CMT,1,1,386,2.5,CRD,9.0 +CMT,1,1,805,3.8,CSH,14.0 +CMT,1,1,723,1.2,CSH,9.0 +CMT,1,1,830,4.0,CSH,14.5 +CMT,1,1,439,2.7,CRD,10.0 +CMT,1,1,299,0.9,CRD,6.0 +CMT,1,1,613,1.8,CSH,9.0 +CMT,1,1,298,1.2,CSH,6.0 +CMT,1,1,308,1.2,CSH,6.0 +CMT,1,1,181,0.5,CRD,4.0 +CMT,1,1,860,2.2,CRD,11.5 +CMT,1,1,580,0.8,CSH,7.5 +CMT,2,1,1697,19.3,CRD,52.0 +CMT,1,1,179,0.5,CSH,4.0 +CMT,1,1,575,3.7,CRD,12.0 +CMT,1,1,722,6.0,CRD,18.5 +CMT,1,1,115,0.3,CSH,3.5 +CMT,1,1,977,4.8,CSH,16.5 +CMT,1,1,1982,10.6,CRD,35.0 +CMT,1,1,544,1.1,CSH,7.5 +CMT,1,1,1439,3.1,CRD,16.5 +CMT,1,1,1722,4.9,CSH,21.5 +CMT,1,1,920,5.1,CSH,18.0 +CMT,1,1,146,1.1,CSH,5.5 +CMT,1,1,426,2.9,CRD,10.5 +CMT,1,1,306,1.0,CSH,5.5 +CMT,1,1,477,1.1,CRD,7.0 +CMT,1,1,871,2.8,CSH,13.0 +CMT,1,1,365,1.3,CRD,7.0 +CMT,1,1,1116,10.5,CSH,30.5 +CMT,1,1,269,1.5,CRD,6.5 +CMT,1,1,987,5.7,CSH,18.5 +CMT,1,1,41,0.0,CSH,2.5 +CMT,1,1,833,3.4,CRD,14.0 +CMT,1,1,1458,2.2,CRD,16.0 +CMT,1,1,1114,2.1,CRD,12.5 +CMT,1,1,993,2.0,CRD,12.0 +CMT,1,1,874,2.2,CSH,12.0 +CMT,1,1,705,5.5,CRD,17.5 +CMT,1,1,354,0.9,CRD,6.0 +CMT,1,1,147,0.4,CRD,4.0 +CMT,1,1,1147,4.3,CSH,17.5 +CMT,1,1,537,1.1,CRD,7.5 +CMT,1,1,223,0.8,CSH,5.5 +CMT,1,1,97,0.7,CRD,4.0 +CMT,1,1,245,0.9,CSH,5.5 +CMT,1,1,95,0.5,CRD,3.5 +CMT,1,1,356,1.5,CSH,7.0 +CMT,1,1,381,1.2,CSH,6.5 +CMT,1,1,527,2.3,CSH,9.5 +CMT,1,1,1804,3.3,CSH,19.5 +CMT,1,1,774,0.6,CSH,9.0 +CMT,1,1,194,1.0,CSH,5.0 +CMT,1,1,420,1.9,CRD,8.5 +CMT,1,1,516,2.3,CSH,10.0 +CMT,2,1,1540,18.8,CSH,52.0 +CMT,1,1,546,3.4,CRD,12.0 +CMT,1,1,916,4.4,CSH,16.0 +CMT,1,1,326,0.9,CRD,6.0 +CMT,1,1,498,1.4,CRD,8.0 +CMT,1,1,833,3.9,CRD,14.0 +CMT,1,1,188,0.5,CRD,4.5 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,1,960,3.9,CRD,15.0 +CMT,1,1,313,0.8,CRD,5.5 +CMT,1,1,1237,1.5,CRD,13.5 +CMT,1,1,597,1.5,CRD,8.5 +CMT,1,1,444,0.8,CSH,6.5 +CMT,1,1,304,1.0,CRD,5.5 +CMT,1,1,535,3.4,CSH,12.0 +CMT,1,3,451,1.1,CRD,7.0 +CMT,1,1,1040,2.5,CRD,12.5 +CMT,1,2,1188,1.9,CSH,13.0 +CMT,1,1,553,0.8,CRD,7.5 +CMT,1,1,531,0.4,CSH,6.5 +CMT,1,1,248,0.4,CSH,4.5 +CMT,1,1,699,1.9,CRD,10.0 +CMT,1,1,662,1.7,CRD,9.5 +CMT,1,1,591,3.7,CRD,12.5 +CMT,1,2,366,1.2,CRD,6.5 +CMT,1,3,734,2.1,CRD,10.5 +CMT,1,1,1160,4.8,CSH,19.0 +CMT,1,1,285,0.9,CSH,5.5 +CMT,1,1,494,1.0,CRD,7.0 +CMT,1,3,705,1.0,CRD,8.5 +CMT,1,2,510,1.0,CRD,7.0 +CMT,3,1,1532,12.7,CRD,54.0 +CMT,1,1,537,1.4,CRD,8.0 +CMT,1,1,137,0.3,CSH,3.5 +CMT,1,1,1070,1.2,CSH,11.5 +CMT,1,1,208,0.5,CRD,4.5 +CMT,1,1,279,0.8,CRD,5.5 +CMT,1,1,436,1.2,CSH,7.0 +CMT,1,1,372,1.3,CRD,6.5 +CMT,1,1,413,1.0,CSH,6.5 +CMT,1,1,429,1.4,CSH,7.5 +CMT,1,1,122,0.7,CSH,4.5 +CMT,1,1,72,0.6,CRD,4.0 +CMT,1,1,527,2.6,CRD,10.5 +CMT,1,1,525,2.0,CRD,9.0 +CMT,1,1,840,3.0,CRD,12.5 +CMT,1,1,473,1.2,CSH,7.0 +CMT,1,1,510,2.2,CSH,9.5 +CMT,1,1,804,1.7,CSH,10.0 +CMT,1,1,171,0.5,CSH,4.0 +CMT,1,1,997,4.5,CRD,16.5 +CMT,1,1,429,1.4,CRD,7.5 +CMT,1,1,440,1.2,CRD,7.0 +CMT,1,1,233,0.7,CRD,4.5 +CMT,1,1,1096,2.9,CSH,14.0 +CMT,1,1,499,1.7,CSH,8.0 +CMT,1,1,200,0.7,CRD,5.0 +CMT,1,1,369,0.8,CSH,6.0 +CMT,1,1,379,0.5,CSH,5.5 +CMT,1,1,563,3.7,CRD,13.0 +CMT,1,1,785,4.4,CSH,15.0 +CMT,1,1,570,4.4,CRD,14.5 +CMT,1,1,807,4.2,CRD,14.5 +CMT,1,1,246,0.7,CSH,5.0 +CMT,1,1,623,2.3,CSH,10.0 +CMT,1,1,1378,5.8,CSH,20.5 +CMT,1,1,802,2.3,CRD,11.0 +CMT,1,1,180,0.6,CSH,4.5 +CMT,1,1,156,0.5,CSH,4.0 +CMT,1,1,666,1.9,CRD,9.5 +CMT,1,1,177,0.7,CSH,4.5 +CMT,1,1,293,0.8,CSH,5.5 +CMT,1,1,2387,12.2,CRD,41.0 +CMT,1,1,403,1.3,CRD,7.0 +CMT,1,1,125,0.5,CRD,3.5 +CMT,1,1,510,1.4,CRD,7.5 +CMT,1,1,533,2.2,CSH,9.5 +CMT,1,1,265,0.9,CSH,5.5 +CMT,1,1,270,1.1,CRD,5.5 +CMT,1,1,1248,2.9,CRD,15.5 +CMT,1,1,172,0.8,CSH,4.5 +CMT,1,1,823,3.6,CSH,13.5 +CMT,1,1,404,0.7,CRD,6.0 +CMT,1,1,290,0.5,CSH,5.0 +CMT,1,1,495,1.0,CSH,7.0 +CMT,1,1,636,1.8,CRD,9.5 +CMT,1,1,135,0.3,CSH,3.5 +CMT,1,1,207,0.7,CSH,5.0 +CMT,1,1,161,0.8,CRD,4.5 +CMT,1,1,528,1.7,CSH,8.0 +CMT,1,1,208,0.6,CSH,5.0 +CMT,1,1,179,0.8,CRD,4.5 +CMT,1,1,251,0.7,CRD,5.0 +CMT,1,1,64,0.3,CSH,3.0 +CMT,1,1,292,1.3,CSH,6.5 +CMT,2,1,1692,19.2,CRD,52.0 +CMT,1,1,1006,4.8,CRD,17.0 +CMT,1,1,775,1.9,CRD,10.5 +CMT,1,1,700,1.7,CSH,9.5 +CMT,1,1,348,1.8,CRD,7.5 +CMT,1,1,833,2.2,CRD,11.5 +CMT,1,1,235,0.8,CRD,5.0 +CMT,1,1,805,2.2,CSH,11.0 +CMT,1,1,245,1.1,CSH,5.5 +CMT,1,1,69,0.4,CRD,3.5 +CMT,1,1,214,0.7,CSH,4.5 +CMT,1,1,445,1.5,CSH,8.0 +CMT,1,1,334,1.5,CSH,7.0 +CMT,1,1,79,0.5,CSH,3.5 +CMT,1,1,440,2.4,CRD,9.5 +CMT,1,1,418,0.9,CSH,6.5 +CMT,1,1,111,0.6,CRD,4.0 +CMT,1,1,1325,3.9,CRD,16.5 +CMT,1,1,1082,2.8,CRD,13.5 +CMT,1,1,637,2.7,CRD,11.0 +CMT,1,1,801,2.6,CSH,12.0 +CMT,1,1,767,2.2,CSH,10.5 +CMT,1,1,730,3.2,CRD,13.0 +CMT,1,1,923,4.2,CRD,15.5 +CMT,1,1,675,5.3,CRD,16.5 +CMT,1,1,82,0.5,CSH,3.5 +CMT,1,1,459,1.3,CSH,7.0 +CMT,1,1,343,0.9,CRD,6.0 +CMT,1,1,635,1.5,CRD,9.0 +CMT,1,1,583,1.7,CRD,8.5 +CMT,1,1,409,1.6,CSH,7.5 +CMT,1,1,805,3.8,CRD,15.0 +CMT,1,1,500,2.0,CRD,8.5 +CMT,1,1,555,3.3,CSH,11.5 +CMT,1,1,349,0.7,CSH,6.0 +CMT,1,1,674,3.6,CRD,13.0 +CMT,1,1,113,0.6,CSH,4.0 +CMT,1,1,727,2.3,CRD,10.5 +CMT,1,1,159,0.6,CRD,4.0 +CMT,1,1,414,1.4,CSH,7.0 +CMT,1,1,109,0.3,CSH,3.5 +CMT,1,1,390,1.1,CRD,7.0 +CMT,1,2,367,1.6,CRD,7.0 +CMT,1,1,650,7.9,CRD,22.5 +CMT,1,1,794,1.1,CRD,9.5 +CMT,1,1,185,0.7,CRD,4.5 +CMT,1,1,499,1.9,CRD,8.5 +CMT,1,1,964,3.8,CSH,14.5 +CMT,1,1,419,1.5,CSH,7.5 +CMT,1,1,1488,4.6,CRD,19.0 +CMT,1,1,706,2.3,CSH,10.5 +CMT,1,1,287,1.2,CSH,6.5 +CMT,1,1,247,1.0,CSH,5.5 +CMT,1,1,221,0.9,CRD,5.0 +CMT,1,1,295,1.0,CSH,5.5 +CMT,1,1,606,2.1,CRD,10.0 +CMT,1,1,132,0.5,CSH,4.0 +CMT,1,1,509,0.7,CSH,7.0 +CMT,1,1,535,1.3,CSH,7.5 +CMT,1,1,371,1.5,CSH,7.5 +CMT,1,1,87,0.4,CSH,3.5 +CMT,1,1,328,0.6,CRD,5.0 +CMT,1,1,276,0.7,CSH,5.0 +CMT,1,1,1039,2.8,CRD,14.0 +CMT,2,1,1933,17.7,CRD,52.0 +CMT,1,1,503,1.4,CSH,8.0 +CMT,1,1,629,3.0,CRD,11.5 +CMT,1,1,1268,7.9,CSH,25.5 +CMT,1,1,345,1.2,CRD,6.5 +CMT,1,1,716,1.2,CRD,9.0 +CMT,1,1,137,0.4,CSH,4.0 +CMT,1,1,506,3.9,CRD,12.5 +CMT,1,1,450,2.1,CSH,9.0 +CMT,1,1,338,0.4,CSH,5.0 +CMT,1,1,401,1.2,CSH,6.5 +CMT,1,1,481,1.2,CRD,7.5 +CMT,1,1,315,0.7,CRD,5.5 +CMT,1,1,458,2.3,CRD,8.5 +CMT,1,1,544,2.5,CRD,10.0 +CMT,1,1,1670,0.6,CSH,2.5 +CMT,1,1,370,1.6,CRD,7.5 +CMT,1,1,397,1.6,CRD,7.5 +CMT,1,1,124,0.4,CSH,3.5 +CMT,1,1,997,8.5,CSH,25.5 +CMT,1,1,211,0.6,CSH,4.5 +CMT,1,1,159,0.4,CSH,4.0 +CMT,1,1,437,1.1,CRD,7.0 +CMT,1,1,1139,4.7,CRD,17.0 +CMT,1,1,488,2.2,CSH,9.0 +CMT,1,1,335,0.5,CRD,5.5 +CMT,1,1,813,8.9,CRD,25.0 +CMT,1,1,729,2.6,CRD,11.5 +CMT,1,1,526,2.5,CRD,10.0 +CMT,1,1,503,1.3,CSH,8.0 +CMT,1,1,960,3.2,CSH,13.5 +CMT,1,1,187,0.6,CSH,4.5 +CMT,1,1,247,0.7,CSH,5.0 +CMT,1,1,142,0.6,CSH,4.0 +CMT,1,1,226,0.3,CSH,4.5 +CMT,1,1,132,0.8,CSH,4.5 +CMT,1,1,128,0.4,CSH,4.0 +CMT,1,1,623,1.9,CSH,9.0 +CMT,1,1,240,1.4,CRD,6.0 +CMT,1,1,409,0.8,CRD,6.5 +CMT,1,1,472,1.5,CRD,8.0 +CMT,2,1,1796,19.3,CRD,52.0 +CMT,1,1,378,1.5,CSH,7.5 +CMT,1,1,377,1.3,CRD,7.0 +CMT,1,1,105,0.5,CRD,4.0 +CMT,1,1,825,2.1,CSH,11.0 +CMT,1,1,879,5.0,CSH,17.0 +CMT,1,1,662,1.6,CRD,9.0 +CMT,1,1,691,5.5,CSH,17.5 +CMT,2,1,2021,20.2,CRD,52.0 +CMT,1,1,216,0.2,CSH,4.0 +CMT,1,1,595,1.5,CSH,8.0 +CMT,1,1,757,1.5,CSH,10.0 +CMT,1,1,1027,3.8,CRD,15.0 +CMT,1,1,432,0.8,CRD,6.5 +CMT,1,1,846,3.0,CSH,13.0 +CMT,1,1,75,0.3,CSH,3.0 +CMT,1,1,2921,9.2,CRD,37.5 +CMT,1,1,1366,3.7,CSH,17.0 +CMT,1,2,356,1.0,CRD,6.0 +CMT,2,1,1911,18.2,CRD,52.0 +CMT,1,1,483,1.6,CRD,8.0 +CMT,1,1,457,0.8,CRD,6.5 +CMT,1,1,1088,4.6,CRD,17.5 +CMT,1,1,432,1.5,CRD,7.5 +CMT,1,1,1125,5.7,CSH,20.0 +CMT,1,1,337,1.0,CSH,6.5 +CMT,1,1,974,8.9,CRD,25.5 +CMT,1,1,340,1.0,CSH,6.0 +CMT,1,1,416,1.1,CSH,6.5 +CMT,1,1,316,1.3,CRD,6.5 +CMT,1,1,459,2.4,CSH,9.0 +CMT,1,1,539,2.3,CRD,9.5 +CMT,1,1,1088,3.5,CRD,15.0 +CMT,1,1,381,1.1,CSH,6.5 +CMT,1,1,74,0.5,CSH,3.5 +CMT,1,1,523,1.4,CSH,7.5 +CMT,1,1,300,1.0,CSH,5.5 +CMT,1,1,803,7.0,CRD,21.5 +CMT,1,1,239,0.8,CRD,5.0 +CMT,1,1,514,1.2,CSH,7.5 +CMT,1,1,117,0.4,CRD,3.5 +CMT,1,1,1187,2.9,CRD,14.5 +CMT,1,2,176,0.6,CSH,4.5 +CMT,1,1,1143,2.5,CSH,13.5 +CMT,1,2,174,0.4,CSH,4.0 +CMT,1,1,1365,8.9,CSH,27.5 +CMT,5,2,38,0.0,CRD,92.0 +CMT,1,1,715,2.8,CRD,12.0 +CMT,1,1,163,0.6,CSH,4.0 +CMT,1,1,108,0.5,CRD,3.5 +CMT,1,1,643,2.4,CRD,10.5 +CMT,1,1,163,0.4,CSH,4.0 +CMT,1,1,975,8.4,CRD,25.0 +CMT,1,1,282,1.1,CSH,6.0 +CMT,1,1,531,3.4,CRD,12.0 +CMT,1,1,512,1.4,CRD,8.0 +CMT,1,1,220,0.6,CSH,4.5 +CMT,1,1,717,1.9,CRD,10.0 +CMT,1,1,455,1.1,CRD,7.0 +CMT,1,2,501,1.8,CSH,8.5 +CMT,1,1,361,1.1,CRD,6.5 +CMT,1,1,360,0.9,CRD,6.0 +CMT,1,1,285,0.9,CRD,5.5 +CMT,1,1,863,2.6,CRD,11.5 +CMT,1,1,722,2.8,CSH,11.5 +CMT,1,1,709,3.0,CSH,12.0 +CMT,1,1,567,2.9,CSH,11.0 +CMT,1,3,179,0.6,CSH,4.5 +CMT,1,2,1593,11.6,CSH,34.5 +CMT,1,3,752,3.4,CRD,13.5 +CMT,1,1,324,1.7,CSH,7.5 +CMT,1,1,206,0.7,CSH,4.5 +CMT,1,1,2479,15.8,CRD,48.0 +CMT,1,1,416,1.5,CRD,7.5 +CMT,1,1,801,1.9,CSH,10.5 +CMT,1,1,226,1.2,CSH,5.5 +CMT,1,1,525,2.1,CRD,9.0 +CMT,1,1,459,1.8,CSH,8.0 +CMT,1,1,250,0.9,CSH,5.5 +CMT,1,1,619,3.3,CRD,12.5 +CMT,1,1,970,6.1,CRD,20.0 +CMT,1,1,808,8.9,CRD,25.0 +CMT,1,1,601,2.9,CSH,11.0 +CMT,1,1,657,1.7,CRD,9.0 +CMT,1,1,1699,6.9,CRD,25.5 +CMT,1,1,1070,2.5,CRD,13.5 +CMT,1,1,786,1.6,CSH,10.5 +CMT,1,1,754,2.8,CRD,11.5 +CMT,1,1,500,1.2,CRD,7.5 +CMT,1,1,521,1.2,CRD,7.5 +CMT,1,1,722,1.1,CRD,8.5 +CMT,1,1,573,1.3,CRD,8.0 +CMT,1,1,1238,1.3,CRD,13.0 +CMT,1,1,172,0.4,CSH,4.0 +CMT,1,1,354,2.1,CSH,8.5 +CMT,1,1,1480,1.1,CRD,15.0 +CMT,1,1,204,0.7,CRD,4.5 +CMT,1,1,182,0.7,CRD,4.5 +CMT,1,1,554,2.0,CRD,9.0 +CMT,1,1,208,1.4,CRD,6.0 +CMT,1,1,928,3.3,CRD,13.5 +CMT,1,1,737,2.1,CRD,10.5 +CMT,1,1,280,1.5,CSH,6.5 +CMT,1,1,406,1.0,CRD,6.5 +CMT,1,1,449,2.2,CSH,9.0 +CMT,1,1,141,0.4,CRD,4.0 +CMT,1,1,937,1.6,CRD,11.0 +CMT,1,1,150,0.4,CRD,3.5 +CMT,1,1,1014,1.4,CRD,11.5 +CMT,1,1,226,0.3,CRD,4.5 +CMT,1,1,948,1.7,CRD,11.5 +CMT,1,1,891,1.7,CSH,11.0 +CMT,1,1,664,1.2,CSH,8.5 +CMT,1,1,480,2.0,CRD,9.0 +CMT,1,1,1343,3.7,CSH,17.0 +CMT,1,1,574,2.0,CSH,9.5 +CMT,1,1,1575,4.5,CRD,20.5 +CMT,1,1,1431,5.7,CRD,22.0 +CMT,1,1,924,2.5,CRD,12.0 +CMT,1,3,638,2.8,CSH,11.0 +CMT,1,3,433,1.4,CSH,7.0 +CMT,1,2,694,6.7,CRD,20.0 +CMT,1,1,378,1.0,CRD,6.5 +CMT,1,1,514,1.2,CSH,7.5 +CMT,1,2,396,0.6,CRD,5.5 +CMT,1,1,404,1.1,CSH,6.5 +CMT,1,1,448,1.2,CSH,7.5 +CMT,1,1,1128,11.4,CRD,33.0 +CMT,1,2,699,1.7,CSH,9.0 +CMT,1,1,1095,5.7,CRD,20.5 +CMT,1,1,678,1.2,CRD,9.0 +CMT,1,1,174,0.8,CSH,4.5 +CMT,1,1,490,1.3,CRD,7.5 +CMT,1,1,471,1.1,CRD,7.0 +CMT,1,1,974,2.6,CSH,12.5 +CMT,1,1,993,1.3,CSH,11.0 +CMT,1,1,464,2.8,CRD,10.5 +CMT,1,1,686,4.1,CSH,13.5 +CMT,1,1,255,0.8,CSH,5.0 +CMT,1,1,1478,3.3,CSH,17.5 +CMT,1,1,326,1.1,CSH,6.0 +CMT,1,1,909,3.2,CSH,13.5 +CMT,1,1,769,1.4,CSH,9.5 +CMT,1,1,401,1.7,CSH,8.0 +CMT,1,1,228,1.0,CSH,5.5 +CMT,1,1,232,0.6,CSH,4.5 +CMT,1,1,1053,3.6,CRD,14.5 +CMT,1,1,833,2.5,CRD,11.5 +CMT,1,1,1018,1.2,CRD,11.0 +CMT,1,1,1776,14.3,CRD,40.5 +CMT,1,3,195,0.6,CSH,4.5 +CMT,1,3,740,1.2,CSH,9.0 +CMT,1,1,190,0.5,CSH,4.5 +CMT,1,1,504,1.1,CSH,7.5 +CMT,1,1,587,0.7,CSH,7.5 +CMT,1,2,1057,4.0,CSH,16.0 +CMT,1,1,345,1.8,CSH,7.5 +CMT,1,1,403,2.2,CSH,9.0 +CMT,1,2,655,1.2,CSH,8.5 +CMT,1,1,200,0.5,CSH,4.5 +CMT,1,1,372,1.2,CRD,6.5 +CMT,1,1,435,1.2,CSH,6.5 +CMT,2,1,2914,17.3,CSH,52.0 +CMT,1,1,1883,9.0,CRD,31.5 +CMT,1,1,1821,5.5,CRD,24.0 +CMT,1,1,1396,3.7,CRD,17.0 +CMT,1,1,519,2.9,CRD,11.0 +CMT,1,1,287,0.7,CRD,5.5 +CMT,1,2,1249,4.1,CRD,17.0 +CMT,1,2,179,0.8,CSH,5.0 +CMT,1,4,966,3.3,CRD,14.0 +CMT,1,2,348,1.4,CSH,6.5 +CMT,1,2,893,3.0,CSH,13.0 +CMT,1,1,1316,9.4,CRD,28.5 +CMT,1,2,631,1.3,CRD,8.0 +CMT,1,1,370,1.1,CRD,6.5 +CMT,1,1,802,2.2,CRD,10.5 +CMT,1,1,430,1.2,CSH,6.5 +CMT,1,1,364,0.9,CSH,6.0 +CMT,2,1,2417,17.5,CRD,52.0 +CMT,1,1,2546,19.6,CRD,58.0 +CMT,1,1,721,1.3,CSH,9.0 +CMT,1,1,1012,4.7,CSH,17.0 +CMT,1,1,384,0.9,CSH,6.0 +CMT,1,1,240,0.5,CRD,4.5 +CMT,1,1,824,2.5,CSH,11.5 +CMT,1,1,280,1.2,CSH,6.0 +CMT,1,4,473,1.3,CRD,7.5 +CMT,1,2,711,2.5,CSH,10.5 +CMT,1,2,124,0.3,CSH,3.5 +CMT,1,2,565,1.1,CSH,7.5 +CMT,1,2,207,0.6,CRD,4.5 +CMT,1,2,272,1.0,CRD,6.0 +CMT,1,1,122,0.2,CRD,3.5 +CMT,1,2,198,0.6,CRD,4.5 +CMT,1,1,515,1.5,CSH,7.5 +CMT,1,1,828,1.5,CSH,10.5 +CMT,1,1,1362,5.0,CRD,19.0 +CMT,1,1,2100,15.6,CSH,46.5 +CMT,1,1,343,0.9,CSH,6.0 +CMT,1,1,700,1.8,CRD,9.5 +CMT,1,1,1613,1.2,CRD,6.5 +CMT,1,1,432,2.5,CRD,10.0 +CMT,1,1,240,0.8,CSH,5.0 +CMT,1,1,790,3.2,CRD,12.5 +CMT,1,1,715,1.7,CSH,9.5 +CMT,1,1,1379,3.2,CSH,16.5 +CMT,1,1,297,0.7,CSH,5.5 +CMT,1,1,696,2.6,CSH,11.0 +CMT,1,1,436,1.7,CSH,8.0 +CMT,1,1,1122,3.4,CSH,15.0 +CMT,1,1,409,1.1,CRD,6.5 +CMT,1,1,359,1.1,CSH,6.0 +CMT,1,1,219,0.5,CSH,4.5 +CMT,1,2,887,1.9,CRD,11.0 +CMT,1,1,399,3.1,CRD,11.0 +CMT,1,1,166,0.3,CSH,4.0 +CMT,1,1,214,0.8,CSH,5.0 +CMT,1,1,774,3.9,CRD,14.5 +CMT,1,3,805,2.2,CRD,11.0 +CMT,1,3,1580,5.2,CSH,22.0 +CMT,1,1,155,0.9,CRD,4.5 +CMT,1,1,745,4.2,CRD,14.5 +CMT,1,1,314,1.0,CSH,6.0 +CMT,1,1,207,0.5,CRD,4.5 +CMT,1,1,1077,0.2,DIS,3.0 +CMT,1,1,1526,8.5,CSH,27.5 +CMT,1,1,514,1.2,CRD,7.5 +CMT,1,1,146,0.6,CSH,4.5 +CMT,1,1,231,0.6,CRD,4.5 +CMT,1,1,244,0.4,CRD,4.5 +CMT,1,1,229,0.5,CSH,4.5 +CMT,1,1,278,1.6,CSH,7.0 +CMT,2,1,1596,21.2,CSH,52.0 +CMT,2,1,1387,17.9,CRD,52.0 +CMT,1,1,889,4.9,CSH,16.5 +CMT,1,1,273,0.7,CSH,5.0 +CMT,1,1,258,1.2,CSH,6.0 +CMT,1,1,373,1.4,CRD,7.0 +CMT,1,1,221,0.6,CSH,5.0 +CMT,1,1,936,2.0,CRD,11.5 +CMT,1,1,475,1.0,CRD,6.5 +CMT,1,1,330,1.3,CSH,6.0 +CMT,1,1,2811,9.3,CSH,36.0 +CMT,1,1,470,1.2,CSH,7.0 +CMT,1,1,765,2.0,CSH,10.5 +CMT,1,1,155,0.5,CRD,4.0 +CMT,1,1,528,2.2,NOC,9.5 +CMT,1,1,437,1.3,CRD,7.5 +CMT,1,1,788,4.4,CSH,15.5 +CMT,1,1,401,1.7,CSH,7.5 +CMT,1,1,598,6.1,CSH,18.0 +CMT,1,1,384,1.1,CRD,7.0 +CMT,1,1,454,1.3,CRD,7.0 +CMT,1,1,620,1.4,CRD,8.5 +CMT,1,1,838,1.6,CRD,10.0 +CMT,1,1,867,1.3,CRD,10.0 +CMT,2,1,2744,22.2,CSH,52.0 +CMT,1,1,582,1.3,CRD,8.0 +CMT,1,1,530,1.1,CSH,7.5 +CMT,1,1,1417,3.8,CSH,18.5 +CMT,1,2,374,2.9,CSH,10.0 +CMT,1,1,328,0.6,CSH,5.5 +CMT,1,1,2213,12.9,CRD,39.5 +CMT,1,1,692,2.1,CRD,11.0 +CMT,1,1,1593,8.5,CRD,28.0 +CMT,1,1,748,2.7,CSH,11.5 +CMT,1,2,715,1.4,CSH,9.5 +CMT,1,1,729,3.2,CRD,12.5 +CMT,1,1,162,0.6,CSH,4.0 +CMT,1,1,354,2.0,CRD,7.5 +CMT,1,1,1227,10.2,CRD,29.5 +CMT,1,1,339,0.5,CSH,5.5 +CMT,1,1,890,3.5,CSH,14.0 +CMT,1,1,1873,4.6,CSH,22.5 +CMT,1,1,683,2.4,CRD,10.0 +CMT,1,1,1409,5.1,CSH,20.0 +CMT,1,1,2032,8.9,CRD,29.0 +CMT,1,1,269,1.0,CSH,5.5 +CMT,1,1,804,3.7,CRD,13.5 +CMT,1,1,867,1.8,CRD,11.0 +CMT,1,1,1097,4.4,CSH,16.5 +CMT,1,1,200,0.7,CSH,4.5 +CMT,1,2,256,1.0,CRD,5.5 +CMT,1,2,574,1.8,CRD,9.0 +CMT,1,2,440,1.1,CSH,7.0 +CMT,1,1,598,2.8,CSH,10.5 +CMT,1,1,600,3.5,CSH,12.0 +CMT,1,1,543,2.0,CRD,9.5 +CMT,1,1,341,0.7,CRD,5.5 +CMT,1,1,490,1.1,CSH,7.0 +CMT,1,1,1017,2.9,CRD,13.5 +CMT,1,1,313,1.5,CSH,7.0 +CMT,1,1,409,1.6,CSH,7.5 +CMT,1,1,398,1.1,CRD,7.0 +CMT,1,1,990,3.7,CRD,14.5 +CMT,1,1,472,1.3,CRD,7.0 +CMT,1,1,711,1.6,CRD,9.5 +CMT,1,1,621,1.8,CRD,9.5 +CMT,1,1,309,0.7,CSH,5.5 +CMT,1,1,3338,1.6,CRD,8.0 +CMT,1,1,468,2.9,CSH,10.0 +CMT,1,1,455,1.9,CSH,8.0 +CMT,1,1,986,3.8,CRD,15.0 +CMT,1,1,1906,16.3,CRD,46.5 +CMT,2,1,13,0.3,NOC,52.0 +CMT,1,1,1809,8.5,CSH,28.5 +CMT,1,1,1381,2.7,CRD,15.5 +CMT,1,1,140,0.5,CSH,4.0 +CMT,1,1,486,1.9,CSH,8.5 +CMT,1,1,367,1.0,CRD,6.5 +CMT,1,1,332,1.7,CRD,8.0 +CMT,1,1,85,0.3,CSH,3.5 +CMT,1,1,2516,4.1,CSH,18.0 +CMT,1,1,656,2.0,CRD,9.5 +CMT,1,1,794,2.4,CSH,11.5 +CMT,1,1,519,1.8,CSH,8.5 +CMT,1,1,331,1.0,CSH,6.0 +CMT,1,1,1203,3.0,CRD,15.0 +CMT,1,1,424,0.9,CSH,7.0 +CMT,1,1,442,2.6,CSH,9.5 +CMT,1,1,468,1.7,CRD,8.0 +CMT,1,1,216,0.6,CRD,4.5 +CMT,1,1,250,0.5,CRD,5.0 +CMT,1,1,154,0.6,CSH,4.0 +CMT,1,1,846,2.8,CRD,12.0 +CMT,1,1,347,1.0,CRD,6.0 +CMT,5,1,47,0.0,CRD,125.0 +CMT,1,1,1192,9.4,CSH,27.5 +CMT,1,1,829,2.6,CSH,11.5 +CMT,1,1,1190,3.5,CSH,15.5 +CMT,1,1,1502,3.9,CSH,18.5 +CMT,1,1,428,1.3,CSH,7.0 +CMT,1,1,949,3.3,CSH,14.0 +CMT,1,1,138,0.5,CRD,4.0 +CMT,1,1,180,0.8,CRD,4.5 +CMT,1,1,323,0.8,CSH,5.5 +CMT,1,1,377,1.3,CRD,7.0 +CMT,1,3,916,2.3,CRD,11.5 +CMT,1,2,479,1.9,CSH,8.5 +CMT,1,2,851,1.3,CSH,10.0 +CMT,1,3,1055,4.9,CRD,17.5 +CMT,1,1,190,0.7,CSH,4.5 +CMT,1,1,333,0.8,CSH,6.0 +CMT,1,1,397,0.9,CSH,6.5 +CMT,1,1,296,0.9,CSH,6.0 +CMT,1,1,401,1.1,CSH,7.0 +CMT,1,1,352,1.1,CSH,6.5 +CMT,1,1,160,0.7,CSH,4.5 +CMT,1,1,290,1.1,CSH,6.0 +CMT,1,1,745,3.3,CSH,12.5 +CMT,1,1,965,3.2,CRD,14.0 +CMT,1,1,294,1.2,CRD,6.0 +CMT,1,1,544,1.4,CSH,8.0 +CMT,1,1,348,1.0,CSH,6.0 +CMT,1,1,1003,3.5,CSH,14.5 +CMT,1,1,752,2.7,CSH,11.5 +CMT,1,1,334,0.9,CSH,5.5 +CMT,1,1,707,6.1,CRD,19.0 +CMT,1,1,304,0.8,CSH,5.5 +CMT,1,1,133,0.4,CRD,4.0 +CMT,1,1,522,2.9,CSH,10.5 +CMT,1,1,349,1.0,CRD,6.0 +CMT,1,1,946,2.8,CSH,12.5 +CMT,1,1,425,1.3,CRD,7.0 +CMT,1,1,748,1.7,CSH,10.0 +CMT,1,1,427,1.8,CRD,7.5 +CMT,1,1,895,3.7,CRD,13.5 +CMT,1,1,510,1.9,CRD,8.5 +CMT,1,1,601,1.6,CRD,9.0 +CMT,1,1,212,0.6,CSH,4.5 +CMT,5,1,39,0.0,CRD,99.0 +CMT,2,1,3064,15.2,CRD,52.0 +CMT,1,1,1179,2.4,CRD,14.0 +CMT,1,1,537,2.1,CSH,9.0 +CMT,1,1,172,0.3,CSH,4.0 +CMT,1,1,388,0.8,CRD,6.0 +CMT,1,1,359,1.1,CRD,6.0 +CMT,1,1,1477,5.9,CRD,21.0 +CMT,1,1,544,1.5,CSH,8.0 +CMT,1,1,839,3.7,CRD,14.0 +CMT,1,1,667,1.7,CSH,9.5 +CMT,1,1,789,1.3,CSH,10.0 +CMT,1,1,185,0.8,CRD,5.0 +CMT,1,1,921,8.9,CSH,25.5 +CMT,1,1,1347,5.3,CRD,19.5 +CMT,1,1,962,5.8,CRD,19.5 +CMT,1,1,610,1.1,CSH,8.0 +CMT,1,1,782,2.2,CSH,11.0 +CMT,1,1,640,2.4,CRD,10.5 +CMT,1,1,401,0.8,CRD,6.0 +CMT,1,1,874,2.7,CSH,12.0 +CMT,1,1,942,2.6,CRD,13.0 +CMT,1,1,516,1.8,CRD,8.5 +CMT,5,1,34,0.0,CRD,99.0 +CMT,1,1,664,4.8,CSH,15.5 +CMT,1,1,620,2.2,CRD,9.5 +CMT,1,1,792,5.4,CRD,17.5 +CMT,1,1,349,0.8,CRD,6.0 +CMT,1,1,175,0.5,CSH,4.0 +CMT,1,1,1098,3.9,CRD,16.0 +CMT,1,1,857,9.0,CRD,26.0 +CMT,1,1,1100,1.9,CRD,13.5 +CMT,1,1,922,3.3,CRD,13.0 +CMT,1,1,683,2.3,CSH,10.5 +CMT,1,1,425,1.1,CSH,7.0 +CMT,1,1,1655,14.0,CRD,40.5 +CMT,1,1,293,1.5,CSH,6.5 +CMT,1,1,308,0.6,CSH,5.0 +CMT,1,1,793,2.8,CRD,12.0 +CMT,5,1,31,0.0,CRD,99.0 +CMT,1,1,518,1.9,CRD,8.5 +CMT,1,1,910,1.7,CRD,11.0 +CMT,1,1,711,2.9,CRD,11.5 +CMT,1,1,386,0.8,CRD,6.0 +CMT,1,1,1060,3.5,CSH,14.5 +CMT,1,1,1822,6.2,CRD,25.0 +CMT,1,1,543,0.9,CSH,7.5 +CMT,1,1,508,1.9,CRD,8.5 +CMT,1,1,451,1.6,CRD,8.0 +CMT,1,1,412,1.0,CSH,6.5 +CMT,1,1,790,2.2,CRD,11.0 +CMT,1,1,461,1.3,CSH,7.5 +CMT,1,2,1320,3.8,CSH,16.5 +CMT,1,2,708,2.2,CRD,10.0 +CMT,1,1,199,0.8,CRD,5.0 +CMT,1,2,418,1.2,CRD,6.5 +CMT,1,1,1059,5.1,CSH,18.0 +CMT,1,1,694,3.0,CRD,11.5 +CMT,1,1,151,1.2,CRD,5.5 +CMT,1,1,932,8.3,CRD,25.0 +CMT,1,1,506,2.1,CRD,9.0 +CMT,1,1,474,1.1,CSH,7.0 +CMT,1,1,1302,3.8,CSH,17.0 +CMT,1,1,927,1.7,CSH,11.0 +CMT,1,1,637,4.4,CRD,14.5 +CMT,1,1,598,1.9,CRD,9.5 +CMT,1,1,1088,3.6,CRD,15.0 +CMT,1,1,956,7.4,CSH,23.0 +CMT,1,1,523,2.1,CSH,9.0 +CMT,1,1,335,1.6,CRD,7.0 +CMT,1,1,641,2.1,CSH,9.5 +CMT,1,1,878,2.6,CSH,12.0 +CMT,1,1,1022,2.3,CSH,12.5 +CMT,1,1,144,0.6,CRD,4.0 +CMT,1,1,617,2.7,CSH,10.5 +CMT,1,1,518,2.3,CSH,9.5 +CMT,1,1,475,1.7,CSH,8.0 +CMT,1,1,884,3.6,CRD,14.0 +CMT,1,1,17,0.0,NOC,2.5 +CMT,1,1,1224,3.7,CRD,15.5 +CMT,1,1,1058,5.9,CRD,20.0 +CMT,1,1,1322,3.3,CRD,17.0 +CMT,1,1,391,0.9,CSH,6.5 +CMT,1,1,1689,7.2,CRD,25.5 +CMT,1,1,695,2.8,CSH,11.5 +CMT,1,1,1084,4.9,CSH,18.0 +CMT,1,1,331,1.0,CSH,6.0 +CMT,1,1,510,2.0,CRD,9.0 +CMT,1,1,240,1.8,CRD,7.0 +CMT,1,1,265,0.6,CSH,5.0 +CMT,1,1,240,1.0,CSH,5.5 +CMT,1,1,745,2.1,CSH,10.5 +CMT,1,1,315,0.6,CSH,5.0 +CMT,1,1,1026,2.8,CSH,13.0 +CMT,1,1,405,1.6,CSH,7.0 +CMT,1,1,1373,6.4,CRD,22.5 +CMT,1,1,178,0.5,CSH,4.5 +CMT,1,1,631,3.3,CRD,12.0 +CMT,1,1,392,1.0,CRD,6.5 +CMT,1,1,434,1.7,CRD,8.0 +CMT,1,1,333,1.0,CRD,6.0 +CMT,1,1,569,2.5,CRD,10.0 +CMT,1,1,995,2.8,CRD,13.5 +CMT,1,1,629,3.9,CSH,13.5 +CMT,1,1,634,3.0,CSH,11.5 +CMT,1,1,211,0.6,CRD,5.0 +CMT,1,1,524,2.3,CRD,9.0 +CMT,1,1,271,0.8,CSH,5.0 +CMT,1,1,155,1.1,CRD,5.0 +CMT,1,1,1200,6.1,CSH,21.0 +CMT,1,1,369,1.1,CSH,6.5 +CMT,1,1,481,2.2,CRD,9.0 +CMT,1,1,1227,3.1,CRD,15.0 +CMT,1,1,452,0.9,CRD,6.5 +CMT,1,1,308,1.2,CRD,6.0 +CMT,1,1,186,0.5,CSH,4.5 +CMT,1,1,528,2.2,CRD,9.0 +CMT,1,1,891,3.1,CRD,13.5 +CMT,1,1,595,0.9,CSH,7.5 +CMT,1,1,143,0.8,CRD,4.5 +CMT,1,1,496,1.4,CRD,7.5 +CMT,1,2,1763,6.9,CRD,25.5 +CMT,1,1,546,1.0,CRD,7.5 +CMT,1,1,344,0.6,CRD,5.5 +CMT,1,1,461,1.4,CRD,7.0 +CMT,1,1,768,2.2,CSH,11.0 +CMT,1,1,422,1.5,CSH,7.5 +CMT,1,1,1006,6.6,CRD,21.5 +CMT,1,1,3,0.0,NOC,2.5 +CMT,2,2,2530,24.2,CRD,52.0 +CMT,1,1,264,1.0,CRD,5.5 +CMT,1,1,349,0.8,CSH,6.0 +CMT,1,1,771,2.1,CRD,10.5 +CMT,1,1,354,0.9,CRD,6.0 +CMT,1,1,96,0.3,CRD,3.5 +CMT,1,1,998,3.8,CRD,14.5 +CMT,1,1,879,3.4,CRD,13.5 +CMT,1,1,429,1.2,CRD,7.0 +CMT,1,1,484,1.4,CRD,7.5 +CMT,1,1,432,1.2,CRD,7.0 +CMT,1,2,501,2.4,CSH,9.0 +CMT,1,2,749,3.4,CRD,12.5 +CMT,1,1,301,0.7,CSH,5.0 +CMT,1,1,583,2.2,CRD,10.0 +CMT,1,1,936,4.6,CRD,16.0 +CMT,1,1,596,3.5,CRD,12.5 +CMT,1,1,628,1.5,CSH,8.5 +CMT,1,1,421,1.5,CRD,7.5 +CMT,1,1,811,3.3,CRD,12.5 +CMT,1,1,630,1.3,CSH,8.5 +CMT,1,1,448,0.9,CSH,6.5 +CMT,1,1,2132,9.8,CSH,32.0 +CMT,1,1,703,2.2,CSH,10.0 +CMT,1,1,672,3.7,CRD,13.0 +CMT,1,1,401,0.9,CSH,6.0 +CMT,1,1,1135,3.8,CSH,15.5 +CMT,1,1,472,1.0,CSH,7.0 +CMT,1,1,898,4.3,CRD,16.0 +CMT,1,1,1058,2.3,CRD,13.0 +CMT,1,1,286,1.0,CRD,6.0 +CMT,1,1,812,1.6,CRD,10.0 +CMT,1,1,689,2.4,CSH,10.5 +CMT,1,1,754,2.6,CRD,11.5 +CMT,1,1,817,3.5,CRD,14.5 +CMT,1,1,521,1.3,CRD,8.0 +CMT,1,1,569,1.6,CRD,8.5 +CMT,1,1,1504,6.8,CRD,24.5 +CMT,1,1,363,1.6,CRD,7.0 +CMT,1,1,1281,8.9,CRD,28.0 +CMT,1,1,308,1.0,CSH,6.0 +CMT,1,1,681,2.5,CSH,11.0 +CMT,1,1,460,1.7,CRD,8.0 +CMT,1,1,473,1.7,CSH,8.5 +CMT,1,1,771,2.2,CRD,11.0 +CMT,1,1,263,0.3,CSH,4.5 +CMT,1,1,1194,3.9,CRD,16.5 +CMT,1,1,476,1.4,CSH,7.5 +CMT,1,1,415,1.5,CRD,7.5 +CMT,2,1,2184,15.2,CRD,52.0 +CMT,1,1,624,1.9,CSH,9.0 +CMT,1,1,1048,2.2,CSH,12.5 +CMT,1,1,2692,7.4,CRD,31.5 +CMT,1,1,484,0.9,CRD,7.0 +CMT,1,1,368,1.6,CRD,7.5 +CMT,1,1,224,0.8,CSH,5.0 +CMT,1,1,177,0.6,CSH,4.0 +CMT,1,1,306,0.6,CRD,5.0 +CMT,1,1,463,1.2,CRD,7.0 +CMT,1,1,250,0.9,CSH,5.5 +CMT,1,1,1045,2.6,CRD,13.5 +CMT,1,1,908,2.4,CSH,12.0 +CMT,1,1,1409,5.6,CRD,20.5 +CMT,1,1,538,1.4,CSH,8.0 +CMT,1,1,438,2.6,CRD,10.0 +CMT,1,1,184,1.1,CSH,5.0 +CMT,1,1,834,2.6,CSH,12.0 +CMT,1,1,382,0.8,CSH,6.0 +CMT,1,1,486,1.9,CRD,8.5 +CMT,1,1,239,1.2,CRD,5.5 +CMT,1,1,224,0.6,CSH,4.5 +CMT,1,1,1070,3.4,CSH,14.5 +CMT,1,1,413,1.2,CSH,7.0 +CMT,1,1,1066,3.6,CSH,15.0 +CMT,1,1,244,0.9,CSH,5.0 +CMT,1,1,223,0.6,CSH,4.5 +CMT,1,1,311,1.0,CRD,5.5 +CMT,1,1,415,1.4,CRD,7.0 +CMT,1,1,776,1.6,CRD,10.0 +CMT,1,1,857,1.9,CSH,11.0 +CMT,1,1,242,0.4,CSH,4.5 +CMT,1,1,366,1.9,CRD,8.0 +CMT,1,1,493,1.2,CSH,7.5 +CMT,1,1,651,4.2,CSH,13.5 +CMT,1,1,253,0.9,CRD,5.5 +CMT,1,1,226,1.0,CRD,5.5 +CMT,1,1,168,0.6,CSH,4.5 +CMT,1,1,658,3.7,CSH,12.5 +CMT,1,1,671,1.2,CRD,9.0 +CMT,1,1,389,1.2,CSH,6.5 +CMT,1,1,407,1.3,CRD,6.5 +CMT,1,1,331,1.8,CRD,8.0 +CMT,1,1,247,0.7,CRD,5.0 +CMT,1,1,1814,13.9,CRD,38.5 +CMT,1,1,532,2.0,CRD,9.0 +CMT,1,1,455,1.0,CRD,6.5 +CMT,1,1,303,1.1,CRD,6.0 +CMT,1,1,424,0.5,CSH,6.0 +CMT,1,1,130,0.3,CSH,3.5 +CMT,1,1,255,0.7,CRD,5.0 +CMT,1,1,810,2.4,CRD,11.0 +CMT,1,1,279,0.9,CSH,5.5 +CMT,1,1,511,1.5,CSH,7.5 +CMT,1,1,666,2.3,CSH,10.5 +CMT,1,1,568,1.5,CRD,8.5 +CMT,2,1,1584,16.2,CRD,52.0 +CMT,1,1,1009,2.6,CRD,13.0 +CMT,1,1,690,3.5,CRD,13.0 +CMT,1,1,246,0.7,CRD,5.0 +CMT,1,1,286,1.0,CSH,5.5 +CMT,1,1,727,2.3,CSH,10.5 +CMT,1,1,761,2.7,CRD,12.0 +CMT,1,1,599,2.5,CRD,10.0 +CMT,1,1,697,1.7,CRD,9.5 +CMT,1,1,429,1.9,CRD,8.0 +CMT,1,1,248,1.5,CRD,6.5 +CMT,1,1,1153,5.7,CSH,20.0 +CMT,1,1,3696,16.2,CRD,51.5 +CMT,1,1,629,2.2,CSH,10.0 +CMT,1,1,386,1.4,CRD,7.0 +CMT,1,1,1042,8.1,CSH,23.0 +CMT,1,1,233,0.7,CRD,5.0 +CMT,1,1,1279,9.8,CSH,29.0 +CMT,1,1,1464,6.3,CRD,22.5 +CMT,1,1,618,2.7,CRD,10.5 +CMT,1,1,783,2.2,CSH,10.5 +CMT,1,1,189,0.9,CSH,5.0 +CMT,1,1,754,2.7,CSH,11.5 +CMT,1,1,1384,7.5,CSH,25.5 +CMT,1,1,358,0.7,CRD,5.5 +CMT,1,1,254,0.8,CSH,5.5 +CMT,1,1,225,0.9,CSH,5.0 +CMT,1,1,280,1.0,CSH,6.0 +CMT,1,1,373,1.2,CRD,7.0 +CMT,1,1,1245,9.4,CRD,28.0 +CMT,1,1,640,1.9,CSH,9.0 +CMT,1,1,832,2.4,CSH,11.5 +CMT,1,1,136,0.5,CRD,4.0 +CMT,1,1,1334,3.0,CRD,16.5 +CMT,1,1,842,3.4,CRD,13.0 +CMT,1,1,494,1.7,CSH,8.0 +CMT,1,1,871,2.9,CRD,12.5 +CMT,1,1,500,1.9,CRD,8.5 +CMT,1,1,349,0.6,CRD,6.0 +CMT,1,1,280,0.6,CRD,5.0 +CMT,1,1,705,3.4,CRD,12.5 +CMT,1,1,360,1.2,CRD,6.5 +CMT,1,1,336,1.1,CRD,6.5 +CMT,5,1,1039,13.2,CRD,71.0 +CMT,1,1,1280,2.0,CRD,14.0 +CMT,1,1,267,0.8,CRD,5.0 +CMT,1,1,744,6.4,CRD,19.0 +CMT,1,1,908,4.8,CRD,16.0 +CMT,1,1,325,0.9,CRD,6.0 +CMT,1,1,884,3.1,CSH,13.0 +CMT,1,1,1553,4.7,CSH,20.5 +CMT,1,1,271,0.6,CSH,5.0 +CMT,1,1,312,1.3,CSH,6.5 +CMT,1,1,631,2.1,CRD,10.0 +CMT,1,1,410,1.3,CRD,7.0 +CMT,2,1,3338,17.3,CRD,52.0 +CMT,1,1,545,0.6,CRD,7.0 +CMT,1,1,188,0.8,CSH,4.5 +CMT,1,1,676,2.1,CRD,10.0 +CMT,1,1,800,3.9,CSH,14.5 +CMT,1,1,537,0.9,CSH,7.0 +CMT,1,1,505,1.2,CRD,7.5 +CMT,1,2,1012,3.0,CSH,14.0 +CMT,1,1,240,0.7,CSH,4.5 +CMT,1,1,779,3.6,CRD,13.0 +CMT,1,1,340,2.0,CRD,9.0 +CMT,1,1,421,1.7,CSH,7.5 +CMT,1,4,452,1.8,CSH,8.0 +CMT,1,1,564,2.1,CRD,10.0 +CMT,1,1,282,1.0,CSH,5.5 +CMT,1,1,181,0.6,CSH,4.5 +CMT,1,1,1049,4.9,CRD,17.0 +CMT,1,1,253,0.8,CRD,5.5 +CMT,1,1,411,1.7,CRD,7.5 +CMT,1,1,237,0.5,CRD,4.5 +CMT,1,1,1451,3.8,CRD,17.5 +CMT,1,1,1079,8.4,CRD,24.5 +CMT,1,1,256,0.6,CSH,5.0 +CMT,1,1,561,2.0,CSH,9.5 +CMT,1,1,1878,13.1,CSH,38.0 +CMT,1,1,862,3.4,CRD,13.5 +CMT,1,1,450,1.2,CSH,7.0 +CMT,1,1,932,2.5,CSH,12.5 +CMT,1,1,981,9.4,CRD,27.0 +CMT,1,1,580,1.2,CSH,8.0 +CMT,1,1,97,0.5,CSH,3.5 +CMT,1,1,650,2.6,CRD,10.5 +CMT,1,1,334,1.0,CRD,6.0 +CMT,1,1,1072,4.7,CRD,17.5 +CMT,1,1,515,1.0,CRD,7.0 +CMT,1,2,318,1.1,CRD,6.0 +CMT,1,1,140,0.2,CSH,3.5 +CMT,1,4,760,3.3,CSH,12.0 +CMT,1,3,104,0.3,CSH,3.5 +CMT,1,1,110,0.5,CRD,3.5 +CMT,1,1,63,0.1,CSH,3.0 +CMT,1,1,355,1.5,CRD,7.0 +CMT,1,1,504,1.3,CRD,7.5 +CMT,1,1,840,2.3,CSH,11.0 +CMT,1,1,779,4.1,CSH,15.0 +CMT,1,1,72,0.1,CSH,3.0 +CMT,1,1,271,0.3,CSH,4.5 +CMT,1,1,985,3.1,CSH,14.0 +CMT,1,1,820,2.9,CSH,12.0 +CMT,1,1,1063,8.7,CSH,26.0 +CMT,1,1,318,1.0,CSH,6.0 +CMT,1,1,1462,7.4,CSH,24.0 +CMT,5,1,411,0.0,CSH,99.0 +CMT,1,1,971,3.0,CSH,13.0 +CMT,1,1,498,1.1,CSH,7.0 +CMT,1,1,535,2.2,CSH,9.0 +CMT,1,1,947,2.0,CSH,12.0 +CMT,1,1,445,1.0,CSH,6.5 +CMT,1,1,952,3.7,CRD,14.0 +CMT,1,1,1227,5.0,CSH,19.0 +CMT,5,1,1957,19.1,CRD,99.0 +CMT,1,1,511,1.9,CSH,8.5 +CMT,1,1,675,2.0,CSH,10.0 +CMT,1,1,717,2.7,CRD,11.5 +CMT,1,1,1282,3.2,CSH,15.5 +CMT,1,1,321,0.7,CRD,5.5 +CMT,1,1,825,4.9,CSH,16.5 +CMT,1,1,215,0.9,CSH,5.0 +CMT,1,1,744,1.4,CSH,9.5 +CMT,1,1,606,1.5,CSH,8.5 +CMT,1,1,827,2.9,CRD,12.0 +CMT,1,1,938,3.0,CRD,13.5 +CMT,1,1,1331,1.0,CSH,6.0 +CMT,1,1,903,2.7,CRD,12.5 +CMT,1,1,565,2.4,CSH,10.0 +CMT,5,1,34,0.0,CRD,99.0 +CMT,1,1,117,0.4,CSH,3.5 +CMT,1,2,987,1.8,CSH,11.5 +CMT,1,2,234,1.2,CSH,5.5 +CMT,1,1,1233,3.3,CRD,15.5 +CMT,1,3,495,0.6,CRD,6.5 +CMT,1,1,450,1.1,CRD,7.0 +CMT,1,1,207,0.9,CSH,5.0 +CMT,1,3,303,3.0,CSH,10.0 +CMT,1,2,331,1.5,CRD,7.0 +CMT,1,2,1339,10.5,CSH,32.0 +CMT,1,1,973,5.0,CSH,18.0 +CMT,1,1,282,0.9,CSH,5.5 +CMT,1,2,572,1.6,CSH,9.0 +CMT,1,2,402,1.6,CSH,7.5 +CMT,1,1,1362,10.3,CRD,30.5 +CMT,1,1,146,0.6,CSH,4.5 +CMT,1,1,168,0.5,CSH,4.0 +CMT,1,1,485,1.6,CSH,7.5 +CMT,1,1,1334,10.3,CRD,32.0 +CMT,1,1,278,1.6,CSH,6.5 +CMT,1,1,889,3.7,CRD,14.0 +CMT,1,1,1069,7.0,CRD,22.0 +CMT,1,1,811,3.1,CRD,12.5 +CMT,1,1,818,4.8,CSH,16.5 +CMT,1,1,757,2.9,CSH,12.0 +CMT,1,1,1885,6.9,CSH,27.5 +CMT,1,1,1145,12.2,CRD,34.0 +CMT,1,1,669,1.8,CSH,9.0 +CMT,1,1,377,1.0,CRD,6.5 +CMT,1,1,415,1.7,CRD,7.5 +CMT,1,1,887,2.8,CRD,12.5 +CMT,1,1,235,0.6,CRD,4.5 +CMT,1,1,759,1.4,CRD,9.5 +CMT,1,1,272,0.3,CRD,4.5 +CMT,1,1,1071,5.7,CRD,18.5 +CMT,1,1,1157,3.2,CSH,15.0 +CMT,1,1,1692,12.3,CRD,36.5 +CMT,1,1,1031,3.0,CSH,13.5 +CMT,1,1,878,5.9,CSH,19.0 +CMT,1,1,499,1.2,CSH,7.5 +CMT,1,1,414,2.0,CSH,8.0 +CMT,1,1,653,1.9,CSH,9.5 +CMT,1,1,417,0.7,CSH,6.0 +CMT,1,1,719,2.8,CSH,11.5 +CMT,1,1,407,2.0,CSH,8.5 +CMT,1,1,263,1.0,CRD,5.5 +CMT,1,1,648,1.1,CSH,8.5 +CMT,1,1,843,0.9,CRD,10.0 +CMT,1,1,235,0.5,CSH,4.5 +CMT,1,1,1008,5.7,CSH,19.0 +CMT,1,1,519,0.9,CSH,7.0 +CMT,1,1,968,2.7,CRD,12.5 +CMT,1,1,33,0.1,CSH,2.5 +CMT,1,1,561,2.0,CRD,8.5 +CMT,1,1,780,2.3,CRD,10.5 +CMT,1,1,573,2.4,CRD,9.5 +CMT,1,1,311,1.2,CSH,6.0 +CMT,1,1,428,1.8,CRD,8.0 +CMT,1,1,992,2.8,CRD,13.0 +CMT,1,1,389,1.0,CRD,6.0 +CMT,1,1,822,2.9,CSH,12.5 +CMT,1,1,966,7.8,CRD,24.0 +CMT,1,1,284,0.8,CRD,5.5 +CMT,1,2,228,0.7,CRD,5.0 +CMT,1,1,1041,3.6,CRD,15.5 +CMT,1,2,431,1.8,CSH,8.0 +CMT,4,1,413,1.0,CSH,6.5 +CMT,1,1,694,2.7,CSH,11.0 +CMT,1,1,1395,3.4,CRD,17.0 +CMT,1,1,445,0.7,CSH,6.5 +CMT,1,1,1086,3.1,CRD,14.0 +CMT,1,1,567,2.6,CRD,10.0 +CMT,1,1,363,1.1,CSH,6.5 +CMT,1,1,1894,6.7,CRD,25.5 +CMT,1,1,475,1.5,CRD,7.5 +CMT,1,1,690,1.7,CRD,9.0 +CMT,1,1,508,2.0,CRD,8.5 +CMT,1,1,1167,3.1,CRD,14.5 +CMT,1,1,738,3.1,CSH,12.0 +CMT,1,1,1051,2.5,CSH,13.0 +CMT,1,1,422,1.6,CRD,7.5 +CMT,1,1,573,2.9,CRD,11.0 +CMT,1,1,366,1.4,CSH,7.0 +CMT,1,1,1515,4.2,CRD,19.0 +CMT,1,1,422,1.0,CRD,6.5 +CMT,2,1,1978,17.0,CSH,52.0 +CMT,1,1,1880,3.9,CRD,21.0 +CMT,1,2,532,1.5,CSH,8.0 +CMT,1,2,551,1.2,CSH,7.5 +CMT,1,4,578,1.4,CRD,8.0 +CMT,1,1,1251,2.2,CSH,14.0 +CMT,1,1,962,3.1,CRD,13.5 +CMT,1,2,1116,5.5,CRD,19.5 +CMT,1,1,530,2.0,CSH,9.0 +CMT,1,4,661,2.2,CRD,10.0 +CMT,1,1,1381,4.2,CRD,18.5 +CMT,1,3,489,1.1,CSH,7.0 +CMT,1,1,186,0.9,CSH,5.0 +CMT,1,1,366,1.2,CSH,7.0 +CMT,1,1,263,1.4,CRD,6.0 +CMT,1,2,1025,2.8,CSH,13.0 +CMT,1,1,1068,2.2,CSH,13.0 +CMT,1,1,1301,12.1,CRD,35.0 +CMT,1,1,483,2.7,CRD,10.0 +CMT,1,1,364,1.3,CSH,7.0 +CMT,1,1,869,2.0,CRD,11.5 +CMT,1,2,548,1.8,CRD,8.5 +CMT,1,2,729,2.4,CRD,11.5 +CMT,1,1,1081,3.0,CRD,14.5 +CMT,1,1,247,0.8,CSH,5.5 +VTS,1,1,60,0.06,CSH,4.0 +VTS,1,1,180,0.05,CSH,4.0 +VTS,1,1,480,0.27,CSH,10.5 +VTS,1,1,1320,0.62,CSH,22.0 +VTS,1,1,120,0.09,CRD,4.5 +VTS,1,1,600,0.27,CRD,10.5 +VTS,1,1,900,0.35,CSH,14.0 +VTS,1,1,240,0.09,CRD,5.0 +VTS,1,1,480,0.2,CSH,9.0 +CMT,1,1,1105,3.2,CSH,14.0 +CMT,1,1,5,0.3,NOC,2.5 +CMT,2,1,1918,19.3,CRD,52.0 +CMT,1,1,432,1.8,CRD,7.5 +CMT,1,1,860,6.5,CRD,20.5 +CMT,1,1,181,0.9,CSH,5.0 +CMT,1,1,378,1.0,CRD,6.5 +CMT,1,1,240,0.6,CSH,5.0 +CMT,1,1,469,0.9,CSH,7.0 +CMT,1,2,490,1.5,CSH,7.5 +CMT,1,1,296,1.0,CRD,5.5 +CMT,1,1,761,1.4,CSH,9.5 +CMT,1,1,133,0.4,CSH,4.0 +CMT,1,1,421,2.1,CSH,8.5 +CMT,1,1,220,1.2,CSH,5.5 +CMT,1,1,462,2.6,CRD,9.5 +CMT,1,1,175,0.6,CRD,4.5 +CMT,1,1,1003,2.9,CRD,13.5 +CMT,1,1,1444,3.4,CRD,17.0 +CMT,1,1,1627,3.9,CRD,19.0 +CMT,1,1,469,1.9,CSH,9.0 +CMT,1,1,106,0.5,CRD,4.0 +VTS,1,1,360,0.12,CSH,6.0 +VTS,1,1,840,0.11,CRD,9.5 +VTS,1,1,780,0.59,CRD,18.5 +VTS,1,1,420,0.13,CRD,7.0 +CMT,1,1,527,1.9,CRD,9.0 +CMT,1,1,444,1.2,CRD,7.0 +CMT,1,3,317,1.1,CSH,6.5 +CMT,1,2,211,0.5,CSH,4.5 +CMT,1,2,559,1.9,NOC,9.0 +CMT,1,1,411,1.5,CRD,7.0 +CMT,1,1,1098,6.4,CSH,21.5 +CMT,1,1,430,0.6,CSH,6.0 +CMT,1,1,2,0.0,NOC,2.5 +CMT,1,1,1670,7.6,CSH,26.5 +CMT,1,1,391,1.7,CRD,7.5 +CMT,1,1,858,3.1,CRD,13.0 +CMT,1,1,292,0.7,CSH,5.5 +CMT,1,1,260,1.2,CRD,6.0 +CMT,1,1,242,0.9,CSH,5.5 +CMT,1,4,301,1.0,CSH,6.0 +CMT,1,1,254,0.9,CSH,5.5 +CMT,1,1,956,2.9,CSH,13.0 +CMT,1,1,247,1.0,CRD,5.5 +CMT,1,1,427,1.8,CRD,8.0 +VTS,1,1,360,0.19,CSH,8.0 +VTS,1,1,360,0.16,CSH,7.5 +VTS,1,1,600,0.21,CSH,9.0 +VTS,1,1,300,0.1,CSH,5.5 +VTS,1,1,480,0.14,CSH,6.5 +VTS,1,1,1440,0.45,CRD,19.0 +CMT,1,1,549,0.8,CRD,7.0 +CMT,1,1,930,3.8,CSH,14.5 +CMT,1,1,211,0.8,CRD,5.0 +CMT,1,2,282,0.8,CSH,5.5 +CMT,1,1,927,1.9,CRD,11.5 +CMT,1,1,199,0.7,CRD,4.5 +CMT,1,1,312,2.0,CRD,8.0 +CMT,1,1,590,1.1,CSH,7.5 +CMT,1,1,730,2.3,CSH,11.0 +CMT,1,1,562,1.6,CSH,9.0 +CMT,1,1,483,1.5,CSH,8.0 +CMT,1,2,839,4.9,CSH,16.5 +CMT,1,1,185,1.0,CSH,5.0 +CMT,1,2,237,0.9,CRD,5.0 +CMT,1,1,1015,2.8,CRD,13.5 +CMT,1,1,356,0.7,CRD,5.5 +CMT,1,2,227,0.4,CSH,4.5 +CMT,1,2,835,0.6,CSH,9.5 +CMT,1,1,695,1.2,CSH,9.0 +CMT,1,2,215,0.8,CSH,4.5 +CMT,1,1,325,1.1,CSH,6.0 +CMT,1,1,260,0.3,CSH,4.5 +CMT,1,1,305,1.2,CSH,6.5 +CMT,1,1,472,1.9,CSH,8.5 +CMT,1,1,561,1.5,CRD,8.5 +CMT,1,1,1191,7.1,CSH,21.5 +CMT,1,2,217,0.9,CSH,5.0 +CMT,1,4,816,3.5,CSH,13.0 +CMT,1,2,244,0.7,CSH,5.0 +CMT,1,1,516,2.2,CRD,9.5 +CMT,1,1,369,2.9,CRD,9.5 +CMT,1,1,642,3.9,CRD,13.0 +CMT,1,1,731,2.9,CRD,11.5 +CMT,1,1,172,0.7,CRD,4.5 +CMT,1,1,1860,4.2,CRD,22.0 +CMT,1,1,531,1.3,CSH,7.5 +CMT,1,1,149,0.5,CSH,4.0 +CMT,1,1,465,2.4,CSH,9.0 +CMT,1,1,673,1.0,CRD,8.5 +CMT,1,1,601,2.6,CRD,10.5 +CMT,1,1,748,3.6,CSH,13.5 +CMT,1,1,497,1.1,CRD,7.0 +CMT,1,1,2723,9.1,CRD,36.5 +CMT,1,2,1964,8.0,CRD,28.5 +VTS,1,1,660,0.19,CRD,9.5 +VTS,1,1,360,0.22,CSH,9.0 +VTS,1,1,240,0.12,CSH,6.0 +VTS,1,1,720,0.3,CSH,12.0 +VTS,1,1,300,0.08,CRD,6.0 +VTS,1,1,420,0.23,CRD,8.5 +VTS,1,1,1020,0.3,CSH,13.5 +VTS,1,1,300,0.09,CSH,5.5 +CMT,1,2,599,2.0,CSH,9.0 +CMT,1,2,1094,9.3,CRD,27.0 +CMT,1,1,1175,9.6,CSH,29.0 +CMT,1,2,1125,3.4,CSH,15.0 +CMT,1,1,1037,4.2,CRD,17.0 +CMT,1,1,256,1.0,CRD,5.5 +CMT,1,1,628,3.1,CSH,12.0 +CMT,1,2,996,6.5,CRD,20.0 +CMT,1,1,67,0.4,CSH,3.5 +CMT,1,3,320,0.9,CRD,6.0 +CMT,1,1,746,4.4,CRD,14.5 +CMT,1,1,489,2.4,CSH,9.5 +CMT,1,1,1190,4.6,CRD,17.5 +CMT,1,1,397,1.4,NOC,7.0 +CMT,1,1,698,2.2,CSH,9.5 +CMT,1,2,444,0.8,CRD,6.5 +CMT,1,1,428,1.6,CRD,8.0 +CMT,1,1,131,0.4,CSH,4.0 +CMT,1,1,209,1.3,CRD,6.0 +CMT,1,1,384,3.2,CSH,11.0 +VTS,1,1,420,0.24,CSH,9.5 +VTS,1,1,180,0.07,CSH,4.5 +VTS,1,1,360,0.19,CRD,7.5 +VTS,1,1,300,0.13,CRD,6.0 +VTS,1,1,300,0.09,CRD,5.5 +VTS,1,1,480,0.17,CRD,8.0 +CMT,1,1,382,2.2,CRD,8.5 +CMT,1,1,213,0.9,CSH,5.0 +CMT,1,1,279,1.8,CSH,7.5 +CMT,1,1,114,0.5,CSH,3.5 +CMT,1,2,172,0.9,CSH,5.0 +CMT,1,1,2344,11.8,CRD,38.0 +CMT,1,3,485,2.4,CSH,9.0 +CMT,1,2,879,3.2,CRD,14.0 +CMT,1,1,308,0.9,CSH,5.5 +CMT,1,1,396,1.0,CRD,6.5 +CMT,1,2,1100,1.7,CSH,12.5 +CMT,1,1,152,0.6,CSH,4.0 +CMT,1,1,596,3.8,CSH,12.5 +CMT,1,1,1227,6.3,CRD,21.5 +CMT,1,2,140,0.4,CSH,3.5 +CMT,1,1,1089,3.3,CSH,14.0 +CMT,1,2,2111,6.0,CSH,26.5 +CMT,1,1,757,2.8,CRD,12.0 +VTS,1,1,240,0.14,CSH,6.5 +VTS,1,1,420,0.12,CSH,6.5 +VTS,1,1,600,0.23,CRD,10.0 +VTS,1,1,600,0.09,CSH,7.5 +VTS,1,1,540,0.21,CRD,9.0 +VTS,1,1,300,0.15,CSH,6.5 +VTS,1,1,60,0.05,CSH,3.5 +VTS,1,1,180,0.09,CSH,5.0 +VTS,1,1,660,0.23,CSH,10.0 +VTS,1,1,360,0.26,CRD,9.0 +VTS,1,1,120,0.07,CSH,4.0 +VTS,1,1,240,0.14,CRD,6.0 +VTS,1,1,660,0.3,CSH,11.5 +VTS,1,1,540,0.19,CRD,9.0 +VTS,1,1,1020,0.37,CRD,14.5 +VTS,1,1,360,0.12,CRD,6.0 +VTS,1,1,480,0.17,CSH,8.0 +VTS,1,1,420,0.11,CSH,6.5 +VTS,1,1,420,0.11,CRD,6.5 +VTS,1,1,1260,0.51,CRD,19.0 +VTS,1,1,1200,0.34,CRD,15.0 +VTS,1,1,780,0.19,CRD,11.0 +VTS,1,1,600,0.18,CSH,9.0 +VTS,1,1,960,0.32,CSH,13.5 +VTS,1,1,1020,0.2,CSH,13.0 +VTS,1,1,300,0.06,CRD,5.5 +VTS,1,1,1200,0.24,CSH,14.5 +VTS,1,1,1020,0.18,CRD,12.0 +VTS,1,1,660,0.14,CRD,9.0 +VTS,1,1,480,0.12,CSH,7.0 +VTS,1,1,840,0.5,CSH,16.5 +VTS,1,1,480,0.19,CRD,8.5 +VTS,1,1,180,0.11,CRD,5.5 +VTS,1,1,360,0.1,CRD,6.0 +CMT,1,1,783,8.1,CRD,23.5 +CMT,1,1,732,3.4,CRD,13.0 +CMT,1,2,212,0.7,CRD,5.0 +CMT,1,1,987,2.5,CSH,13.0 +CMT,1,1,701,1.8,CRD,9.5 +VTS,1,1,240,0.11,CSH,5.5 +VTS,1,1,300,0.09,CSH,5.5 +VTS,1,1,480,0.13,CSH,7.5 +VTS,1,1,660,0.18,CSH,9.5 +VTS,1,1,600,0.22,CRD,10.0 +VTS,1,1,420,0.1,CRD,6.5 +VTS,1,1,720,0.28,CSH,11.0 +VTS,1,1,240,0.08,CSH,5.0 +VTS,1,1,360,0.19,CSH,7.5 +VTS,1,1,720,0.77,CRD,22.5 +VTS,1,1,840,0.63,CSH,20.0 +VTS,1,1,180,0.04,CSH,4.0 +VTS,1,1,360,0.15,CSH,7.5 +VTS,1,1,360,0.15,CRD,7.0 +VTS,1,1,900,0.29,CRD,13.0 +VTS,1,1,240,0.06,CRD,4.5 +VTS,1,1,1020,0.24,CRD,13.0 +VTS,1,1,360,0.11,CSH,6.0 +VTS,1,1,420,0.15,CSH,7.5 +VTS,1,1,240,0.06,CSH,4.5 +VTS,1,1,840,0.3,CRD,12.5 +CMT,1,1,447,1.5,CSH,8.0 +CMT,1,1,329,0.8,CSH,5.5 +CMT,1,1,656,2.4,CSH,10.0 +CMT,1,1,888,8.5,CSH,25.0 +CMT,1,1,444,1.3,CSH,7.0 +CMT,1,1,406,0.7,CSH,6.0 +CMT,1,1,554,1.9,CRD,8.5 +CMT,1,1,277,0.6,CSH,5.0 +CMT,1,1,741,3.5,CRD,13.0 +CMT,1,1,386,1.4,CSH,7.0 +CMT,1,1,514,2.5,CSH,9.5 +CMT,1,1,1225,2.1,CRD,9.5 +CMT,1,1,312,0.9,CSH,6.0 +CMT,1,1,1366,4.5,CSH,18.5 +CMT,1,1,278,1.0,CSH,5.5 +CMT,1,1,381,1.0,CRD,6.5 +CMT,1,1,1455,5.6,CRD,21.5 +CMT,1,1,436,0.9,CRD,6.5 +CMT,1,1,385,1.1,CRD,6.5 +CMT,1,1,455,1.5,CSH,7.5 +CMT,1,1,493,1.6,CRD,8.0 +CMT,1,1,846,4.3,CSH,14.5 +CMT,1,1,641,2.8,CRD,10.5 +CMT,1,1,1798,12.3,CRD,37.5 +CMT,1,1,908,3.5,CSH,14.0 +CMT,1,1,417,1.5,CSH,7.5 +CMT,1,1,520,1.4,CRD,8.0 +CMT,1,1,316,0.8,CSH,5.5 +CMT,1,1,347,2.0,CRD,8.0 +CMT,1,1,124,0.4,CRD,3.5 +CMT,1,1,738,3.2,CSH,12.5 +CMT,1,1,554,2.3,CSH,9.5 +CMT,1,1,1118,9.5,CRD,28.0 +CMT,1,1,1638,6.5,CRD,23.5 +CMT,1,1,644,3.3,CSH,11.5 +CMT,1,1,400,1.3,CRD,7.0 +CMT,1,1,326,1.4,CSH,6.5 +CMT,1,1,218,0.7,CSH,4.5 +CMT,1,2,490,1.7,CSH,8.0 +CMT,1,1,571,1.6,CRD,9.0 +CMT,1,1,831,1.2,CRD,9.5 +CMT,1,4,462,1.5,CSH,8.0 +CMT,1,1,643,4.3,CSH,14.5 +CMT,1,2,1160,10.0,CSH,29.0 +CMT,1,1,219,0.7,CSH,5.0 +CMT,1,1,303,1.4,CRD,7.0 +CMT,1,1,374,0.9,CRD,6.5 +CMT,1,1,850,3.9,CRD,14.5 +CMT,1,2,231,0.5,CSH,5.0 +CMT,1,1,237,0.6,CRD,5.0 +CMT,2,1,1479,18.2,CRD,52.0 +CMT,1,1,258,1.2,CRD,6.0 +VTS,1,1,900,0.3,CSH,13.5 +VTS,1,1,240,0.12,CRD,5.5 +VTS,1,1,1200,0.63,CRD,22.0 +VTS,1,1,420,0.1,CSH,7.0 +VTS,1,1,360,0.09,CSH,5.5 +VTS,1,1,540,0.15,CSH,8.0 +VTS,1,1,900,0.61,CRD,19.5 +VTS,1,1,300,0.07,CRD,5.5 +VTS,1,1,1260,0.42,CSH,18.0 +VTS,1,1,300,0.16,CRD,6.5 +VTS,1,1,360,0.08,CRD,5.5 +VTS,1,1,300,0.13,CSH,6.5 +VTS,1,1,600,0.15,CSH,8.5 +VTS,1,1,360,0.1,CSH,6.5 +VTS,1,1,1560,0.45,CRD,19.5 +VTS,1,1,300,0.08,CRD,5.0 +VTS,1,1,300,0.09,CRD,5.5 +VTS,1,1,240,0.09,CRD,5.5 +VTS,1,1,600,0.21,CSH,9.5 +VTS,1,1,600,0.2,CSH,9.0 +VTS,1,1,480,0.27,CSH,10.0 +VTS,1,1,300,0.11,CRD,5.5 +VTS,1,1,360,0.24,CRD,8.5 +VTS,1,1,480,0.14,CSH,7.5 +VTS,1,1,300,0.04,CSH,5.0 +VTS,1,2,1020,0.49,CRD,17.0 +VTS,1,1,180,0.07,CSH,4.5 +VTS,1,1,180,0.09,CSH,5.0 +VTS,1,1,420,0.14,CSH,7.5 +VTS,1,1,660,0.24,CRD,10.5 +VTS,1,1,360,0.08,CRD,5.5 +VTS,1,1,540,0.16,CRD,8.0 +VTS,1,1,1020,0.32,CSH,14.0 +VTS,1,1,120,0.06,CRD,3.5 +VTS,1,1,780,0.19,CRD,10.0 +VTS,1,1,1320,0.43,CSH,18.0 +VTS,1,1,360,0.13,CSH,6.5 +VTS,1,1,1260,0.81,CSH,25.5 +VTS,1,1,720,0.16,CSH,9.0 +VTS,1,1,60,0.02,CRD,3.5 +VTS,1,4,360,0.12,CRD,6.0 +VTS,1,1,120,0.09,CSH,4.5 +VTS,1,1,360,0.08,CRD,6.0 +VTS,1,1,780,0.31,CRD,12.5 +VTS,1,1,480,0.11,CSH,7.0 +VTS,1,1,960,0.58,CRD,19.0 +VTS,1,1,780,0.28,CSH,11.5 +VTS,1,1,720,0.12,CRD,9.0 +VTS,1,1,1740,0.94,CRD,30.5 +VTS,1,1,480,0.14,CRD,7.5 +VTS,1,1,300,0.06,CSH,5.5 +VTS,1,1,840,0.18,CSH,10.0 +VTS,1,1,540,0.19,CSH,9.0 +VTS,1,1,360,0.19,CSH,8.5 +VTS,2,1,2520,1.42,CSH,52.0 +VTS,1,1,660,0.42,CSH,15.0 +VTS,1,1,240,0.08,CSH,5.5 +VTS,1,1,180,0.07,CSH,4.0 +VTS,1,1,660,0.33,CSH,12.5 +VTS,1,1,360,0.07,CRD,6.0 +VTS,1,1,480,0.13,CRD,7.5 +VTS,1,1,480,0.5,CSH,15.5 +VTS,1,1,720,0.24,CRD,10.5 +VTS,1,1,360,0.1,CSH,6.5 +VTS,1,1,540,0.18,CRD,8.0 +VTS,1,1,360,0.15,CSH,7.0 +VTS,1,1,240,0.08,CSH,5.0 +VTS,1,1,1020,0.7,CSH,22.5 +VTS,1,1,480,0.17,CSH,8.0 +VTS,1,1,480,0.22,CRD,9.0 +VTS,1,1,120,0.1,CRD,5.0 +VTS,1,1,240,0.05,CRD,5.0 +VTS,1,1,1140,0.22,CSH,13.0 +VTS,1,1,300,0.08,CSH,5.5 +VTS,1,1,660,0.16,CRD,9.0 +VTS,1,1,1320,0.26,CSH,15.0 +VTS,1,1,480,0.16,CSH,8.0 +VTS,1,1,240,0.11,CSH,5.5 +VTS,1,1,420,0.13,CRD,7.0 +VTS,1,1,780,0.55,CRD,18.0 +VTS,1,1,660,0.33,CSH,12.5 +VTS,1,1,420,0.15,CSH,7.0 +VTS,1,1,480,0.22,CRD,9.0 +VTS,1,1,720,0.22,CSH,10.5 +VTS,1,1,360,0.12,CSH,6.5 +VTS,1,1,840,0.38,CSH,14.0 +VTS,1,1,240,0.08,CRD,5.0 +VTS,1,1,1860,0.74,CRD,26.5 +VTS,1,1,600,0.21,CRD,9.5 +VTS,1,1,720,0.22,CRD,10.0 +VTS,1,1,600,0.15,CRD,8.5 +VTS,1,1,660,0.17,CRD,9.0 +VTS,1,1,1440,0.33,CRD,17.0 +VTS,1,1,480,0.17,CSH,7.5 +VTS,1,1,540,0.14,CRD,7.5 +VTS,1,1,300,0.09,CSH,5.5 +VTS,1,1,1500,0.4,CSH,18.5 +VTS,1,1,1200,0.47,CRD,17.5 +VTS,1,1,240,0.08,CRD,5.0 +VTS,1,1,120,0.09,CSH,4.5 +VTS,1,3,480,0.17,CSH,8.0 +VTS,1,3,300,0.12,CSH,6.0 +VTS,1,1,840,0.77,CSH,23.0 +VTS,1,1,360,0.07,CRD,5.5 +VTS,1,1,300,0.09,CSH,5.5 +VTS,1,1,300,0.08,CSH,5.5 +VTS,1,1,600,0.2,CRD,9.0 +VTS,1,1,420,0.2,CSH,8.5 +VTS,1,1,240,0.14,CSH,6.0 +VTS,1,1,240,0.15,CRD,6.5 +VTS,1,1,120,0.06,CSH,4.0 +VTS,1,1,660,0.18,CSH,9.5 +VTS,1,1,480,0.18,CRD,8.5 +VTS,1,1,600,0.15,CSH,7.5 +VTS,1,1,420,0.1,CSH,6.5 +VTS,1,1,1440,0.34,CRD,17.5 +VTS,1,1,240,0.07,CSH,5.0 +VTS,1,1,240,0.14,CSH,6.0 +VTS,1,1,540,0.14,CSH,8.0 +VTS,1,1,660,0.09,CRD,8.0 +VTS,1,1,240,0.05,CRD,4.5 +VTS,1,1,240,0.09,CRD,5.5 +VTS,2,1,3120,2.01,CRD,52.0 +VTS,1,1,480,0.15,CRD,7.5 +VTS,1,1,540,0.25,CSH,9.5 +VTS,1,1,360,0.09,CSH,6.0 +VTS,1,1,420,0.1,CSH,6.5 +VTS,1,1,420,0.19,CRD,8.0 +VTS,1,1,1380,0.66,CSH,21.5 +VTS,1,1,540,0.28,CSH,11.0 +VTS,1,1,540,0.24,CRD,10.0 +VTS,1,1,780,0.69,CRD,20.5 +VTS,1,2,780,0.38,CRD,14.0 +VTS,1,1,1260,1.07,CSH,30.0 +VTS,1,3,240,0.11,CRD,5.5 +VTS,1,2,300,0.06,CSH,5.0 +VTS,1,1,180,0.05,CRD,4.5 +VTS,1,1,480,0.19,CRD,8.5 +VTS,1,1,120,0.05,CSH,3.5 +VTS,1,1,420,0.11,CSH,6.5 +VTS,1,1,180,0.09,CRD,5.5 +VTS,1,1,480,0.19,CSH,8.0 +VTS,1,1,660,0.12,CRD,8.0 +VTS,1,1,540,0.19,CRD,8.5 +VTS,1,1,1500,0.58,CSH,22.0 +VTS,1,1,120,0.09,CSH,4.5 +VTS,1,1,360,0.16,CRD,7.5 +VTS,1,1,180,0.05,CSH,4.0 +VTS,1,1,600,0.31,CSH,12.0 +VTS,1,1,780,0.17,CSH,10.0 +VTS,1,1,660,0.16,CRD,9.0 +VTS,1,1,480,0.13,CRD,7.0 +VTS,1,1,300,0.1,CSH,5.5 +VTS,1,1,480,0.13,CSH,7.0 +VTS,1,1,300,0.1,CSH,6.0 +VTS,1,1,900,0.13,CSH,10.5 +VTS,1,1,960,0.27,CRD,13.0 +VTS,1,1,360,0.13,CRD,7.0 +VTS,1,1,780,0.27,CSH,11.5 +VTS,1,1,720,0.19,CSH,9.5 +VTS,1,1,1260,0.18,CSH,13.5 +VTS,1,1,360,0.09,CSH,6.0 +VTS,1,1,1740,1.3,CRD,37.5 +VTS,1,1,1080,0.82,CSH,24.0 +VTS,1,1,420,0.09,CRD,7.0 +VTS,1,1,60,0.03,CSH,3.5 +VTS,1,1,720,0.22,CRD,11.0 +VTS,1,1,960,0.51,CRD,18.0 +VTS,1,1,1320,0.28,CSH,15.0 +VTS,1,1,240,0.05,CSH,4.0 +VTS,1,1,1200,0.6,CRD,19.5 +VTS,3,1,2460,1.71,CSH,67.5 +VTS,1,1,840,0.3,CRD,12.5 +VTS,1,1,720,0.1,CRD,8.5 +VTS,1,1,1500,0.33,CRD,18.0 +VTS,1,1,660,0.18,CSH,10.0 +VTS,1,1,600,0.29,CRD,11.0 +VTS,1,1,840,0.6,CSH,19.0 +VTS,1,1,540,0.08,CSH,7.0 +VTS,1,1,1020,0.23,CSH,12.5 +VTS,1,1,540,0.18,CRD,8.5 +VTS,1,1,1020,0.31,CRD,13.5 +VTS,1,1,600,0.21,CRD,9.0 +VTS,1,3,240,0.1,CSH,5.0 +VTS,1,1,900,0.32,CSH,13.5 +VTS,1,1,840,0.43,CRD,14.5 +VTS,1,1,240,0.11,CSH,5.5 +VTS,1,1,480,0.22,CRD,9.0 +VTS,1,1,480,0.22,CSH,9.0 +VTS,1,1,240,0.13,CRD,5.5 +VTS,1,1,420,0.2,CRD,8.5 +VTS,1,1,1440,0.96,CSH,29.5 +VTS,1,1,540,0.1,CSH,7.5 +VTS,1,1,540,0.15,CSH,8.5 +VTS,1,1,540,0.2,CRD,9.0 +VTS,1,1,960,0.36,CRD,14.5 +VTS,1,1,780,0.2,CRD,10.5 +VTS,1,1,600,0.13,CRD,8.0 +VTS,1,1,240,0.06,CRD,5.0 +VTS,1,1,180,0.14,CSH,6.0 +VTS,1,1,420,0.1,CSH,6.5 +VTS,1,1,540,0.21,CRD,9.0 +VTS,1,1,360,0.12,CRD,6.0 +VTS,1,1,660,0.19,CSH,9.5 +VTS,1,1,720,0.18,CSH,10.0 +VTS,1,1,660,0.1,CSH,8.0 +VTS,1,1,240,0.06,CSH,4.5 +VTS,1,1,420,0.25,CRD,9.0 +CMT,1,1,276,0.5,CSH,5.0 +CMT,1,1,939,2.2,CSH,12.5 +CMT,1,2,442,1.2,CSH,7.0 +CMT,1,1,70,0.4,CSH,3.5 +CMT,1,4,670,1.8,CSH,9.5 +CMT,1,1,748,1.5,CRD,9.5 +CMT,1,1,423,1.0,CSH,6.5 +CMT,1,1,423,1.2,CSH,7.0 +CMT,1,3,543,3.1,CRD,11.5 +CMT,1,1,999,4.5,CRD,15.5 +CMT,1,1,426,1.9,CSH,8.0 +CMT,1,1,379,1.8,CRD,7.5 +VTS,1,1,600,0.3,CRD,11.5 +VTS,1,1,480,0.32,CSH,11.0 +VTS,1,1,300,0.09,CSH,5.5 +VTS,1,1,420,0.16,CSH,8.0 +VTS,1,1,360,0.18,CRD,7.5 +VTS,1,1,180,0.09,CSH,4.5 +VTS,1,1,600,0.16,CRD,9.0 +VTS,1,1,780,0.27,CRD,11.0 +VTS,1,1,540,0.15,CRD,8.0 +VTS,1,1,660,0.18,CRD,9.0 +VTS,1,1,1080,0.51,CSH,17.5 +VTS,1,1,180,0.04,CSH,4.0 +VTS,1,1,240,0.08,CSH,5.5 +VTS,1,1,1020,0.41,CSH,16.0 +VTS,1,4,720,0.11,CSH,9.0 +VTS,1,1,420,0.21,CSH,9.0 +VTS,1,1,180,0.08,CSH,4.5 +VTS,1,1,300,0.17,CRD,7.0 +VTS,1,1,540,0.31,CSH,10.5 +VTS,1,1,180,0.06,CRD,4.0 +VTS,1,1,180,0.03,CSH,4.0 +VTS,1,1,60,0.02,CRD,3.0 +VTS,1,1,900,0.17,CSH,10.5 +VTS,1,1,600,0.21,CRD,10.0 +VTS,1,1,1260,0.52,CRD,20.0 +VTS,1,1,480,0.06,CRD,6.5 +VTS,1,1,60,0.05,CSH,4.0 +VTS,1,1,300,0.13,CRD,7.0 +VTS,1,1,780,0.18,CSH,10.5 +VTS,1,1,60,0.05,CSH,3.5 +VTS,1,1,60,0.04,CRD,3.5 +VTS,1,1,660,0.24,CRD,10.0 +VTS,1,1,240,0.06,CSH,5.0 +VTS,1,1,420,0.16,CRD,7.5 +VTS,1,1,540,0.18,CSH,8.5 +VTS,1,1,300,0.09,CRD,6.0 +VTS,1,1,660,0.12,CSH,8.5 +VTS,1,1,960,0.3,CSH,14.0 +VTS,1,1,780,0.33,CSH,12.5 +VTS,1,1,900,0.16,CRD,11.0 +VTS,1,1,720,0.16,CRD,9.5 +VTS,1,1,240,0.06,CRD,5.0 +VTS,1,1,720,0.09,CSH,8.5 +VTS,1,1,720,0.22,CRD,10.5 +VTS,1,1,600,0.2,CRD,9.0 +VTS,1,1,840,0.16,CRD,10.5 +VTS,1,1,780,0.24,CRD,11.0 +VTS,1,1,420,0.17,CRD,8.0 +VTS,1,1,480,0.19,CRD,8.5 +VTS,1,1,300,0.11,CSH,6.0 +VTS,1,1,660,0.43,CRD,14.0 +VTS,1,1,180,0.06,CRD,4.5 +VTS,1,1,480,0.15,CSH,7.5 +VTS,1,1,1320,0.65,CSH,21.0 +VTS,1,1,300,0.1,CSH,5.5 +VTS,1,1,540,0.18,CRD,8.5 +VTS,1,1,420,0.11,CRD,7.0 +VTS,1,1,300,0.12,CRD,6.0 +VTS,1,1,1260,0.28,CRD,14.5 +VTS,1,1,540,0.19,CRD,8.5 +VTS,1,1,960,0.39,CSH,15.5 +VTS,1,1,1020,1.15,CRD,32.0 +VTS,1,1,540,0.16,CSH,9.0 +VTS,1,1,480,0.2,CRD,8.0 +VTS,1,1,480,0.14,CRD,7.0 +VTS,1,1,120,0.05,CSH,3.5 +VTS,1,1,960,0.19,CSH,12.0 +VTS,1,1,240,0.08,CRD,5.0 +VTS,1,1,600,0.1,CSH,7.5 +VTS,1,1,360,0.08,CSH,5.5 +VTS,1,1,660,0.09,CRD,8.0 +VTS,1,1,1140,0.25,CRD,13.5 +VTS,1,1,480,0.18,CSH,8.5 +VTS,1,1,180,0.09,CRD,4.5 +VTS,1,1,600,0.15,CRD,8.5 +VTS,1,1,300,0.04,CRD,5.0 +VTS,2,1,1860,1.94,CRD,52.0 +VTS,1,1,240,0.1,CRD,5.5 +VTS,1,1,1620,0.4,CRD,20.0 +VTS,1,1,300,0.06,CSH,5.0 +VTS,1,1,540,0.24,CRD,9.5 +VTS,1,1,780,0.16,CRD,10.0 +VTS,1,1,660,0.16,CRD,8.5 +VTS,1,1,1020,0.21,CSH,12.5 +VTS,1,1,1260,0.57,CRD,20.0 +VTS,1,1,1560,0.68,CRD,24.5 +VTS,1,1,1620,0.44,CRD,19.5 +VTS,1,1,840,0.19,CSH,10.5 +VTS,1,1,300,0.1,CSH,6.0 +VTS,1,3,360,0.13,CSH,6.5 +VTS,1,2,660,0.24,CRD,10.0 +VTS,1,3,420,0.17,CSH,7.5 +VTS,1,1,1320,0.39,CRD,16.5 +VTS,1,1,660,0.21,CRD,10.0 +VTS,1,1,1260,1.05,CRD,30.5 +VTS,1,1,360,0.08,CSH,5.5 +VTS,1,1,420,0.1,CSH,6.0 +VTS,1,1,840,0.15,CRD,10.0 +VTS,1,1,300,0.06,CSH,5.0 +VTS,1,1,1200,0.95,CRD,28.0 +VTS,1,1,600,0.11,CRD,8.0 +VTS,1,1,900,0.48,CRD,16.5 +VTS,1,1,300,0.11,CSH,6.0 +VTS,1,1,60,0.0,CSH,2.5 +VTS,1,1,360,0.1,CSH,6.0 +VTS,1,1,240,0.07,CRD,5.0 +VTS,1,1,180,0.07,CRD,4.5 +VTS,1,1,780,0.34,CRD,13.0 +VTS,1,1,300,0.06,CSH,5.0 +VTS,1,1,240,0.05,CRD,4.5 +VTS,1,1,420,0.21,CSH,8.5 +VTS,1,1,360,0.19,CRD,8.0 +VTS,1,1,240,0.13,CSH,6.0 +VTS,1,1,660,0.5,CRD,16.0 +VTS,1,1,1380,0.75,CRD,24.5 +VTS,1,1,300,0.07,CRD,5.5 +VTS,1,1,1500,0.65,CSH,22.5 +VTS,1,1,360,0.13,CRD,6.5 +VTS,1,1,480,0.13,CRD,7.0 +VTS,1,1,300,0.06,CSH,5.0 +VTS,1,1,720,0.21,CSH,10.5 +VTS,1,1,720,0.24,CRD,10.5 +VTS,1,1,900,0.23,CSH,12.5 +VTS,1,1,300,0.08,CSH,5.5 +VTS,1,1,1020,0.39,CRD,16.0 +VTS,1,1,120,0.08,CRD,4.5 +VTS,1,1,240,0.09,CRD,5.0 +VTS,1,1,360,0.1,CSH,6.0 +VTS,1,1,720,0.18,CRD,9.5 +VTS,1,1,300,0.09,CSH,5.5 +VTS,1,1,240,0.04,CRD,4.0 +VTS,1,1,720,0.34,CSH,12.5 +VTS,1,1,780,0.29,CRD,11.5 +VTS,1,1,660,0.19,CRD,9.0 +VTS,1,1,1140,0.46,CRD,16.5 +VTS,1,1,300,0.11,CSH,6.0 +VTS,1,1,1020,0.31,CSH,14.5 +VTS,1,1,720,0.19,CSH,10.0 +VTS,1,1,180,0.12,CRD,5.0 +VTS,1,1,420,0.08,CRD,6.0 +VTS,1,1,240,0.1,CSH,5.5 +VTS,1,1,420,0.14,CSH,7.0 +VTS,1,1,240,0.06,CRD,5.0 +VTS,1,1,360,0.1,CSH,6.0 +VTS,1,1,300,0.09,CSH,5.5 +VTS,1,1,720,0.21,CRD,10.0 +VTS,1,1,420,0.27,CSH,9.0 +VTS,1,1,780,0.22,CRD,11.0 +VTS,1,1,720,0.19,CSH,9.5 +VTS,1,1,480,0.1,CSH,7.0 +VTS,1,1,900,0.29,CRD,12.5 +VTS,1,1,420,0.13,CRD,7.0 +VTS,1,1,540,0.13,CRD,7.5 +VTS,1,1,540,0.22,CSH,9.5 +VTS,1,1,1020,0.2,CSH,13.0 +VTS,1,1,660,0.14,CSH,8.5 +VTS,1,2,900,0.31,CSH,12.5 +VTS,1,2,660,0.17,CRD,9.0 +VTS,1,1,240,0.11,CSH,5.5 +VTS,2,1,2220,1.98,CSH,52.0 +VTS,1,1,1140,0.29,CRD,14.5 +VTS,1,1,720,0.29,CRD,12.0 +VTS,1,1,360,0.1,CSH,6.5 +VTS,1,1,1980,0.42,CSH,21.5 +VTS,1,1,540,0.11,CSH,7.5 +VTS,1,1,1380,0.25,CRD,15.5 +VTS,1,1,1020,0.27,CRD,13.0 +VTS,1,1,360,0.08,CRD,5.5 +VTS,1,1,840,0.27,CRD,12.0 +VTS,1,1,180,0.06,CSH,4.0 +VTS,1,1,960,0.6,CRD,19.0 +VTS,1,1,1320,0.31,CRD,16.0 +VTS,1,1,540,0.09,CSH,7.0 +VTS,1,1,420,0.16,CSH,8.0 +VTS,1,1,900,0.87,CRD,25.0 +VTS,4,1,0,0.0,CSH,2.5 +VTS,1,1,360,0.21,CRD,8.0 +VTS,1,1,540,0.44,CSH,14.0 +VTS,1,1,300,0.06,CRD,5.5 +VTS,1,1,360,0.14,CRD,7.5 +VTS,1,1,240,0.09,CRD,6.0 +VTS,1,1,1140,0.41,CRD,16.5 +VTS,1,1,300,0.11,CSH,6.0 +VTS,1,1,180,0.1,CSH,5.0 +VTS,1,1,1260,0.47,CRD,18.0 +VTS,1,1,780,0.25,CRD,11.5 +VTS,1,1,540,0.16,CSH,8.5 +VTS,1,1,420,0.09,CRD,6.5 +VTS,1,1,840,0.24,CSH,11.5 +VTS,1,1,660,0.21,CRD,9.5 +VTS,1,1,720,0.13,CSH,9.0 +VTS,1,1,1140,0.27,CRD,14.0 +VTS,1,2,0,0.0,CSH,2.5 +VTS,2,1,2280,1.59,CRD,52.0 +VTS,1,1,120,0.07,CRD,4.0 +VTS,1,1,360,0.15,CRD,6.5 +VTS,1,1,840,0.56,CRD,18.0 +VTS,1,1,660,0.23,CSH,10.0 +VTS,1,1,360,0.09,CSH,6.0 +VTS,1,1,480,0.28,CSH,10.5 +VTS,1,1,360,0.07,CRD,6.0 +VTS,1,1,780,0.24,CRD,10.5 +VTS,1,1,720,0.36,CSH,13.0 +VTS,1,1,480,0.12,CSH,7.0 +VTS,1,1,1440,0.33,CRD,16.5 +VTS,1,1,60,0.02,CSH,3.0 +VTS,1,1,480,0.15,CRD,8.0 +VTS,1,1,540,0.22,CRD,9.5 +VTS,1,1,1440,0.58,CSH,21.5 +VTS,1,1,180,0.08,CRD,4.5 +VTS,1,1,480,0.24,CSH,9.0 +VTS,1,1,1200,0.64,CSH,21.5 +VTS,1,1,540,0.2,CSH,9.0 +VTS,1,1,480,0.18,CRD,8.0 +VTS,1,1,600,0.24,CRD,10.5 +VTS,1,1,1140,0.47,CSH,17.5 +VTS,1,1,480,0.19,CRD,8.0 +VTS,1,1,660,0.2,CRD,9.5 +VTS,1,1,180,0.05,CSH,4.5 +VTS,1,1,360,0.07,CSH,5.5 +VTS,1,1,840,0.2,CRD,11.0 +VTS,1,1,180,0.05,CRD,4.5 +VTS,1,1,300,0.07,CSH,5.0 +VTS,1,1,120,0.04,CSH,4.0 +VTS,1,1,840,0.44,CRD,15.0 +VTS,1,1,420,0.38,CRD,12.5 +VTS,1,1,660,0.23,CRD,10.0 +VTS,1,1,240,0.08,CSH,5.5 +VTS,1,1,300,0.1,CSH,6.0 +VTS,1,1,180,0.14,CRD,5.5 +VTS,1,1,600,0.13,CRD,8.5 +VTS,1,1,180,0.03,CSH,4.0 +VTS,1,1,2400,1.11,CRD,38.0 +VTS,1,1,960,0.28,CRD,13.0 +VTS,1,1,1080,0.49,CSH,18.0 +VTS,1,1,1320,0.51,CRD,19.0 +VTS,1,1,300,0.12,CRD,5.5 +VTS,1,1,300,0.11,CSH,6.0 +VTS,1,1,480,0.13,CRD,7.5 +VTS,1,1,660,0.35,CRD,13.0 +VTS,1,1,600,0.21,CRD,10.0 +VTS,1,1,480,0.2,CRD,8.5 +VTS,1,1,1080,0.83,CSH,25.5 +VTS,1,1,360,0.18,CSH,8.0 +VTS,1,1,840,0.34,CSH,13.0 +VTS,1,1,300,0.07,CRD,5.0 +VTS,1,1,0,0.0,CRD,2.5 +VTS,1,1,420,0.1,CSH,6.5 +VTS,1,1,180,0.05,CRD,4.0 +VTS,1,1,960,0.54,CRD,17.5 +VTS,1,1,120,0.04,CSH,4.0 +VTS,1,1,120,0.05,CRD,3.5 +VTS,1,1,240,0.08,CSH,5.0 +VTS,1,1,360,0.06,CSH,5.5 +VTS,1,1,720,0.19,CSH,10.0 +VTS,1,1,1380,0.14,CSH,14.0 +VTS,1,1,420,0.12,CRD,7.0 +VTS,1,2,600,0.21,CRD,10.0 +VTS,1,4,900,0.36,CSH,13.5 +VTS,1,2,300,0.19,CSH,7.0 +VTS,1,1,540,0.13,CSH,7.5 +VTS,1,2,360,0.13,CSH,6.5 +VTS,1,2,540,0.28,CSH,10.0 +VTS,1,1,420,0.2,CSH,8.0 +VTS,1,1,480,0.16,CRD,7.5 +VTS,1,2,1140,0.49,CRD,18.0 +VTS,1,3,1440,1.03,CRD,30.5 +VTS,1,1,420,0.14,CRD,7.0 +VTS,1,1,120,0.06,CRD,4.0 +VTS,1,1,360,0.12,CSH,6.0 +VTS,1,2,900,0.3,CSH,12.5 +VTS,1,2,1020,0.55,CSH,17.5 +VTS,1,1,780,0.41,CRD,14.0 +VTS,4,1,0,0.0,CSH,2.5 +VTS,1,1,300,0.08,CSH,5.0 +VTS,1,2,720,0.18,CSH,9.5 +VTS,1,1,480,0.15,CRD,8.0 +VTS,1,1,660,0.65,CRD,19.0 +VTS,2,1,1680,1.76,CRD,52.0 +VTS,1,1,420,0.11,CSH,7.0 +VTS,1,1,900,0.17,CRD,11.0 +VTS,1,2,900,0.21,CRD,11.0 +VTS,1,2,840,0.14,CRD,9.5 +VTS,1,2,420,0.15,CRD,7.0 +VTS,1,2,240,0.1,CSH,5.5 +VTS,1,1,720,0.17,CRD,9.5 +VTS,1,1,420,0.13,CRD,7.0 +VTS,1,1,540,0.17,CRD,8.0 +VTS,1,2,480,0.13,CSH,7.5 +VTS,1,1,300,0.11,CRD,6.0 +VTS,1,1,960,0.19,CSH,11.5 +VTS,1,1,360,0.14,CSH,6.5 +VTS,1,2,960,0.57,CRD,19.0 +VTS,1,2,300,0.09,CRD,6.0 +VTS,1,1,360,0.09,CSH,6.0 +VTS,1,3,1860,1.09,CRD,35.0 +VTS,1,1,1080,0.45,CRD,17.0 +VTS,1,2,660,0.25,CSH,9.5 +VTS,1,1,720,0.2,CRD,10.0 +VTS,1,1,120,0.03,CSH,3.5 +VTS,1,1,240,0.09,CSH,5.5 +VTS,1,1,360,0.09,CSH,5.5 +VTS,1,1,360,0.12,CRD,6.5 +VTS,1,1,300,0.12,CSH,6.0 +VTS,1,1,480,0.18,CRD,8.5 +VTS,1,1,1140,0.48,CSH,18.0 +VTS,1,1,300,0.13,CRD,6.0 +VTS,1,1,660,0.17,CSH,9.0 +VTS,1,1,540,0.17,CSH,8.5 +VTS,1,1,1560,0.55,CSH,21.5 +VTS,1,1,300,0.18,CSH,7.0 +VTS,1,1,360,0.11,CSH,6.0 +VTS,1,1,120,0.04,CRD,4.0 +VTS,1,1,720,0.17,CSH,10.0 +VTS,1,1,240,0.05,CRD,4.5 +VTS,1,2,240,0.08,CRD,5.0 +VTS,1,2,1140,1.23,CSH,33.5 +VTS,1,1,300,0.17,CSH,7.0 +VTS,1,1,1020,0.33,CRD,14.0 +VTS,1,2,240,0.11,CSH,5.5 +VTS,1,2,480,0.13,CRD,7.5 +VTS,1,4,600,0.22,CSH,10.0 +VTS,1,1,300,0.1,CSH,6.0 +VTS,1,3,420,0.11,CSH,6.5 +VTS,1,3,960,0.26,CRD,12.0 +VTS,1,1,120,0.05,CRD,3.5 +VTS,1,1,180,0.09,CRD,4.5 +VTS,1,2,1680,1.08,CRD,31.5 +VTS,1,1,480,0.13,CSH,7.0 +VTS,1,1,600,0.26,CRD,10.5 +VTS,1,1,480,0.15,CSH,8.0 +VTS,1,1,120,0.03,CRD,4.0 +VTS,1,1,240,0.08,CRD,5.0 +VTS,1,1,540,0.17,CRD,8.5 +VTS,1,1,480,0.1,CSH,7.0 +VTS,1,1,360,0.1,CSH,6.0 +VTS,1,1,480,0.21,CSH,9.0 +VTS,1,1,960,0.8,CSH,24.0 +VTS,1,1,1380,0.46,CRD,16.5 +VTS,1,2,1260,0.4,CSH,16.5 +VTS,1,1,360,0.17,CRD,7.0 +VTS,1,1,960,0.25,CRD,12.0 +VTS,1,2,900,0.22,CRD,11.0 +VTS,1,2,420,0.12,CRD,6.5 +VTS,1,3,1560,0.45,CSH,19.5 +VTS,1,4,1020,0.62,CSH,20.5 +VTS,1,2,960,0.17,CRD,11.5 +VTS,1,2,120,0.04,CRD,4.0 +VTS,1,1,360,0.14,CRD,6.5 +VTS,1,1,1020,0.31,CRD,13.5 +VTS,1,1,240,0.04,CRD,4.5 +VTS,1,1,660,0.15,CRD,8.5 +VTS,1,1,360,0.1,CSH,6.0 +VTS,1,1,480,0.08,CRD,6.5 +VTS,1,1,600,0.27,CRD,11.5 +VTS,1,1,480,0.27,CRD,9.5 +VTS,1,1,600,0.15,CRD,8.0 +VTS,1,1,1440,0.64,CRD,22.0 +VTS,1,3,600,0.24,CSH,10.0 +VTS,1,1,900,0.49,CRD,16.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,480,0.1,CRD,7.0 +VTS,1,2,660,0.33,CRD,11.5 +VTS,1,1,1020,0.35,CSH,14.0 +VTS,1,1,780,0.22,CSH,10.5 +VTS,1,1,540,0.12,CSH,7.5 +VTS,1,1,300,0.11,CRD,6.0 +VTS,1,1,660,0.27,CRD,10.5 +VTS,1,3,360,0.11,CSH,6.5 +VTS,1,1,720,0.25,CSH,10.5 +VTS,1,3,1740,0.79,CRD,27.0 +VTS,1,1,1380,0.45,CRD,18.0 +VTS,1,1,1200,1.06,CRD,31.0 +VTS,1,1,660,0.24,CRD,10.0 +VTS,1,2,120,0.04,CSH,4.0 +VTS,1,2,1140,0.21,CSH,13.0 +VTS,1,1,660,0.32,CRD,11.5 +VTS,1,2,420,0.11,CRD,7.0 +VTS,1,1,180,0.04,CRD,4.0 +VTS,1,2,360,0.14,CSH,6.5 +VTS,1,2,120,0.0,CSH,3.0 +VTS,1,1,180,0.1,CSH,5.0 +VTS,1,1,60,0.05,CRD,3.5 +VTS,1,2,480,0.2,CSH,9.0 +VTS,1,1,300,0.07,CRD,5.5 +VTS,1,2,480,0.16,CSH,8.0 +VTS,1,2,1080,0.23,CRD,12.5 +VTS,1,2,780,0.18,CRD,10.0 +VTS,1,1,120,0.03,CSH,3.5 +VTS,1,1,540,0.18,CSH,9.0 +VTS,1,1,420,0.14,CSH,7.0 +VTS,1,1,120,0.05,CSH,4.0 +VTS,1,1,180,0.05,CSH,4.0 +VTS,1,1,1260,0.68,CRD,22.5 +VTS,1,1,180,0.07,CRD,4.5 +VTS,1,1,1080,0.58,CRD,18.5 +VTS,1,1,480,0.11,CRD,7.0 +VTS,1,2,840,0.27,CRD,12.0 +VTS,1,1,240,0.05,CSH,4.5 +VTS,1,2,360,0.15,CRD,7.0 +VTS,1,1,180,0.1,CSH,4.5 +VTS,1,1,1140,0.4,CRD,16.0 +VTS,1,1,1260,0.87,CRD,27.5 +VTS,1,1,60,0.03,CSH,3.0 +VTS,1,2,180,0.05,CRD,4.5 +VTS,1,1,300,0.18,CSH,7.0 +VTS,1,1,2280,1.12,CRD,34.5 +VTS,1,2,660,0.46,CSH,15.0 +VTS,1,1,600,0.18,CRD,8.5 +VTS,1,1,240,0.08,CSH,5.0 +VTS,1,1,960,0.26,CSH,12.5 +VTS,1,1,720,0.23,CRD,10.0 +VTS,1,1,300,0.09,CRD,5.5 +VTS,1,1,840,0.18,CRD,10.5 +VTS,1,1,300,0.09,CRD,6.0 +VTS,1,1,300,0.15,CRD,6.5 +VTS,1,1,1800,0.28,CRD,19.0 +VTS,1,1,1140,0.16,CSH,12.5 +VTS,1,1,540,0.11,CSH,7.5 +VTS,1,1,600,0.17,CRD,9.0 +VTS,1,1,660,0.2,CRD,9.5 +VTS,1,1,300,0.11,CRD,6.0 +VTS,1,1,780,0.63,CRD,20.0 +VTS,1,1,300,0.11,CRD,6.0 +VTS,1,1,240,0.09,CRD,5.5 +VTS,1,1,180,0.09,CRD,4.5 +VTS,1,1,1620,1.12,CRD,33.5 +VTS,1,1,960,0.67,CRD,21.0 +VTS,1,1,120,0.06,CRD,3.5 +VTS,1,1,900,0.35,CRD,14.5 +VTS,1,1,1020,0.31,CRD,14.0 +VTS,1,1,180,0.07,CSH,4.5 +VTS,1,1,360,0.11,CSH,6.0 +VTS,1,1,660,0.21,CSH,9.5 +VTS,1,1,180,0.11,CRD,5.0 +VTS,1,1,420,0.27,CRD,9.0 +VTS,1,1,1680,1.06,CSH,31.5 +VTS,1,1,300,0.18,CSH,7.0 +VTS,1,1,540,0.19,CRD,9.0 +VTS,1,1,300,0.14,CRD,6.0 +VTS,1,1,600,0.13,CSH,8.0 +VTS,1,1,360,0.07,CSH,6.0 +VTS,1,1,600,0.16,CSH,8.0 +VTS,1,1,480,0.11,CRD,7.0 +VTS,1,1,480,0.11,CRD,7.0 +VTS,1,2,480,0.27,CRD,10.0 +VTS,1,1,480,0.13,CSH,7.5 +VTS,1,2,300,0.07,CSH,5.5 +VTS,1,1,720,0.19,CRD,10.0 +VTS,1,1,600,0.19,CRD,9.0 +VTS,1,1,600,0.19,CRD,9.0 +VTS,1,2,360,0.13,CSH,6.5 +VTS,1,1,840,0.27,CRD,11.5 +VTS,1,1,1560,1.03,CRD,29.5 +VTS,1,1,300,0.08,CSH,6.0 +VTS,1,1,240,0.06,CSH,5.0 +VTS,1,1,600,0.17,CSH,9.0 +VTS,1,1,420,0.15,CRD,7.0 +VTS,1,2,780,0.32,CSH,12.0 +VTS,1,4,840,0.27,CSH,11.5 +VTS,1,2,360,0.16,CRD,6.5 +VTS,1,1,240,0.08,CRD,5.0 +VTS,1,1,900,0.76,CRD,23.0 +VTS,1,1,780,0.33,CRD,12.5 +VTS,1,2,420,0.21,CSH,8.0 +VTS,1,2,480,0.1,CRD,6.5 +VTS,1,1,360,0.12,CRD,7.0 +VTS,1,1,240,0.08,CRD,4.5 +VTS,1,1,540,0.26,CSH,10.0 +VTS,1,1,300,0.11,CRD,5.5 +VTS,1,1,180,0.07,CSH,4.5 +VTS,1,1,360,0.18,CSH,7.5 +VTS,1,1,600,0.21,CRD,9.5 +VTS,1,1,780,0.2,CRD,10.0 +VTS,1,1,960,0.35,CRD,13.5 +VTS,1,4,240,0.06,CRD,4.5 +VTS,1,2,120,0.04,CSH,3.5 +VTS,1,2,1860,0.57,CRD,23.0 +VTS,1,1,180,0.05,CSH,4.0 +VTS,1,3,600,0.09,CSH,7.5 +VTS,1,3,480,0.17,CSH,8.0 +VTS,1,1,360,0.07,CRD,5.5 +VTS,1,1,1200,0.28,CSH,14.5 +VTS,1,2,420,0.08,CRD,5.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,5,1,1020,0.47,CRD,40.0 +VTS,1,1,1200,0.48,CRD,17.5 +VTS,1,1,480,0.19,CRD,8.0 +VTS,1,2,360,0.1,CSH,6.0 +VTS,1,1,480,0.17,CRD,8.0 +VTS,1,1,1140,0.51,CRD,18.0 +VTS,1,1,360,0.1,CRD,6.5 +VTS,1,2,600,0.25,CRD,10.0 +VTS,1,2,480,0.18,CRD,8.0 +VTS,1,1,780,0.47,CRD,15.5 +VTS,1,1,120,0.04,CRD,4.0 +VTS,1,1,1260,1.16,CRD,32.5 +VTS,1,1,360,0.1,CSH,6.0 +VTS,1,1,480,0.32,CRD,11.5 +VTS,1,2,780,0.3,CRD,12.0 +VTS,1,2,900,0.52,CRD,16.5 +VTS,1,1,180,0.05,CSH,4.0 +VTS,1,3,360,0.11,CRD,6.5 +VTS,1,1,660,0.18,CRD,9.0 +VTS,1,1,360,0.1,CSH,6.5 +VTS,1,1,600,0.2,CRD,9.0 +VTS,1,1,240,0.11,CRD,5.5 +VTS,1,1,840,0.27,CSH,10.5 +VTS,1,2,1080,0.78,CRD,24.0 +VTS,1,1,1320,1.29,CRD,36.5 +VTS,1,3,420,0.22,CSH,8.5 +VTS,1,2,240,0.06,CSH,5.0 +VTS,1,1,480,0.15,CRD,7.5 +VTS,1,1,960,0.37,CRD,15.0 +VTS,1,1,480,0.21,CSH,9.0 +VTS,1,1,420,0.06,CSH,5.5 +VTS,1,1,900,0.89,CRD,25.5 +VTS,1,1,300,0.12,CRD,6.5 +VTS,1,1,600,0.15,CRD,9.0 +VTS,1,1,1020,0.23,CRD,13.0 +VTS,1,1,960,0.21,CRD,12.0 +VTS,1,1,720,0.17,CSH,10.0 +VTS,1,1,180,0.04,CRD,4.0 +VTS,1,1,360,0.16,CRD,7.5 +VTS,1,1,420,0.15,CSH,7.0 +VTS,1,1,660,0.16,CSH,9.0 +VTS,1,2,1740,1.21,CRD,34.0 +VTS,1,2,300,0.07,CSH,5.0 +VTS,1,2,180,0.03,CRD,3.5 +VTS,1,2,540,0.18,CRD,8.5 +VTS,1,1,480,0.15,CRD,7.5 +VTS,1,1,240,0.07,CSH,5.0 +VTS,1,4,420,0.18,CSH,8.0 +VTS,1,1,660,0.23,CRD,10.5 +VTS,1,1,1140,0.9,CSH,26.0 +VTS,1,1,240,0.09,CRD,5.0 +VTS,1,1,300,0.15,CRD,6.5 +VTS,3,2,2280,1.8,CRD,68.5 +VTS,1,1,420,0.22,CSH,8.5 +VTS,1,1,180,0.06,CSH,4.5 +VTS,1,1,480,0.18,CRD,8.0 +VTS,1,1,780,0.3,CSH,12.0 +VTS,1,2,120,0.06,CSH,4.0 +VTS,1,1,360,0.12,CRD,6.5 +VTS,1,1,360,0.14,CSH,6.5 +VTS,1,4,780,0.28,CSH,12.5 +VTS,1,2,360,0.11,CSH,6.5 +VTS,1,3,480,0.12,CSH,7.0 +VTS,1,1,480,0.18,CSH,8.0 +VTS,1,2,780,0.24,CSH,11.0 +VTS,1,1,300,0.09,CSH,5.5 +VTS,1,1,840,0.35,CRD,12.5 +VTS,1,2,1140,0.45,CRD,17.5 +VTS,1,4,540,0.32,CSH,11.0 +VTS,1,2,480,0.21,CSH,8.5 +VTS,1,2,540,0.54,CSH,16.5 +VTS,1,1,540,0.17,CRD,8.0 +VTS,1,1,120,0.03,CSH,3.5 +VTS,1,1,420,0.13,CSH,7.5 +VTS,1,1,120,0.05,CRD,3.5 +VTS,1,2,720,0.3,CRD,11.5 +VTS,1,2,240,0.12,CRD,5.5 +VTS,1,1,240,0.07,CRD,5.0 +VTS,1,2,600,0.18,CRD,8.5 +VTS,1,2,360,0.1,CSH,6.0 +VTS,1,1,840,0.27,CRD,12.5 +VTS,1,4,540,0.21,CRD,9.5 +VTS,1,1,780,0.21,CRD,10.5 +VTS,1,3,900,0.28,CRD,12.0 +VTS,1,2,540,0.12,CRD,8.0 +VTS,1,1,900,0.39,CSH,14.5 +VTS,1,1,540,0.15,CSH,8.0 +VTS,1,2,540,0.24,CRD,9.5 +VTS,1,2,720,0.23,CRD,10.5 +VTS,1,1,1380,0.42,CRD,17.5 +VTS,1,2,300,0.1,CSH,6.0 +VTS,1,1,600,0.19,CRD,8.5 +VTS,1,1,180,0.08,CRD,4.5 +VTS,1,2,1380,0.49,CSH,18.5 +VTS,1,1,1200,0.52,CRD,18.5 +VTS,1,3,540,0.2,CSH,8.5 +VTS,1,1,360,0.14,CSH,6.5 +VTS,1,1,180,0.06,CRD,4.5 +VTS,1,2,300,0.1,CRD,5.5 +VTS,1,1,720,0.25,CRD,11.0 +VTS,1,1,780,0.27,CRD,11.5 +VTS,1,1,2400,0.8,CRD,31.5 +VTS,1,2,360,0.07,CSH,5.0 +VTS,1,2,720,0.17,CRD,9.5 +VTS,1,1,420,0.11,CRD,6.5 +VTS,1,2,1080,0.39,CRD,15.0 +VTS,1,1,600,0.11,CSH,7.5 +VTS,1,1,480,0.08,CSH,6.5 +VTS,1,1,300,0.09,CRD,5.5 +VTS,1,1,420,0.14,CRD,7.0 +VTS,1,2,300,0.12,CRD,6.5 +VTS,1,1,360,0.13,CSH,6.5 +VTS,1,1,540,0.19,CRD,9.0 +VTS,1,2,600,0.18,CSH,9.0 +VTS,1,1,540,0.22,CSH,9.0 +VTS,1,1,1320,0.72,CRD,22.0 +VTS,1,1,360,0.12,CRD,6.0 +VTS,1,2,840,0.15,CSH,10.5 +VTS,1,1,180,0.1,CSH,5.0 +VTS,1,2,660,0.23,CSH,9.5 +VTS,1,3,360,0.16,CSH,7.5 +VTS,1,1,780,0.2,CRD,10.0 +VTS,1,1,1500,1.27,CRD,36.0 +VTS,1,1,600,0.15,CRD,8.0 +VTS,1,1,300,0.07,CRD,5.5 +VTS,1,1,300,0.1,CSH,5.5 +VTS,1,1,1260,0.92,CRD,26.5 +VTS,1,1,840,0.41,CRD,14.0 +VTS,1,1,300,0.14,CRD,6.5 +VTS,1,1,300,0.09,CSH,5.5 +VTS,1,2,840,0.19,CRD,10.5 +VTS,1,1,300,0.08,CRD,5.5 +VTS,1,1,780,0.15,CRD,9.5 +VTS,1,1,420,0.12,CSH,7.0 +VTS,1,1,780,0.14,CRD,9.5 +VTS,1,1,300,0.09,CSH,5.5 +VTS,1,1,360,0.09,CSH,6.0 +VTS,1,1,120,0.06,CSH,4.0 +VTS,1,2,420,0.21,CSH,8.5 +VTS,1,2,480,0.21,CSH,8.5 +VTS,1,3,1860,0.67,CSH,25.5 +VTS,1,2,360,0.16,CRD,7.5 +VTS,1,2,540,0.24,CSH,9.5 +VTS,1,1,600,0.25,CRD,9.5 +VTS,1,1,240,0.07,CRD,5.0 +VTS,1,1,540,0.16,CRD,8.5 +VTS,1,2,300,0.08,CSH,5.0 +VTS,1,1,420,0.15,CSH,7.5 +VTS,1,1,960,0.36,CRD,14.0 +VTS,1,1,480,0.18,CRD,8.0 +VTS,1,1,1560,0.79,CRD,26.5 +VTS,1,2,360,0.11,CSH,6.5 +VTS,1,4,360,0.14,CSH,6.5 +VTS,1,1,180,0.1,CRD,5.0 +VTS,1,1,1140,0.37,CRD,15.0 +VTS,1,2,540,0.26,CRD,10.5 +VTS,1,4,480,0.17,CRD,8.0 +VTS,1,3,600,0.18,CRD,8.5 +VTS,1,1,60,0.04,CRD,3.5 +VTS,1,1,420,0.12,CRD,6.5 +VTS,1,1,480,0.13,CRD,7.0 +VTS,1,1,300,0.15,CSH,7.0 +VTS,1,1,360,0.07,CRD,5.5 +VTS,1,1,180,0.08,CSH,4.0 +VTS,1,1,300,0.11,CSH,6.0 +VTS,1,1,720,0.3,CSH,12.0 +VTS,1,1,300,0.08,CSH,5.5 +VTS,1,1,240,0.08,CRD,5.0 +VTS,1,1,360,0.13,CSH,6.5 +VTS,1,1,300,0.1,CRD,5.5 +VTS,1,1,600,0.14,CRD,9.0 +VTS,1,1,1260,0.33,CRD,16.0 +VTS,1,1,780,0.13,CSH,9.5 +VTS,1,1,780,0.32,CRD,13.0 +VTS,1,1,360,0.08,CRD,6.0 +VTS,1,1,420,0.1,CSH,6.5 +VTS,1,1,660,0.18,CRD,9.0 +VTS,1,1,1200,0.42,CRD,17.0 +VTS,1,1,180,0.05,CSH,4.0 +VTS,1,1,240,0.12,CSH,6.0 +VTS,1,1,540,0.21,CSH,9.0 +VTS,1,1,720,0.29,CRD,11.5 +VTS,1,1,120,0.07,CRD,4.0 +VTS,1,1,240,0.14,CRD,6.0 +VTS,1,2,660,0.15,CRD,9.0 +VTS,1,1,480,0.14,CRD,7.0 +VTS,1,2,480,0.15,CRD,7.5 +VTS,1,1,1080,0.31,CSH,14.0 +VTS,1,2,660,0.22,CRD,10.0 +VTS,1,4,480,0.13,CSH,7.0 +VTS,1,3,120,0.06,CRD,4.0 +VTS,1,2,600,0.27,CRD,10.5 +VTS,1,3,1020,0.26,CRD,12.5 +VTS,1,1,1020,0.95,CRD,27.5 +VTS,1,1,780,0.38,CSH,13.0 +VTS,1,2,240,0.08,CSH,5.5 +VTS,1,1,180,0.05,CRD,4.5 +VTS,1,2,1020,0.22,CRD,12.5 +VTS,1,2,600,0.26,CSH,11.0 +VTS,1,1,240,0.22,CSH,8.0 +VTS,1,1,300,0.16,CRD,7.0 +VTS,1,1,1020,0.42,CRD,16.0 +VTS,1,1,960,0.38,CSH,14.5 +VTS,1,3,420,0.19,CRD,8.5 +VTS,1,1,1020,0.25,CSH,12.5 +VTS,1,1,660,0.24,CSH,10.0 +VTS,1,1,420,0.12,CRD,6.5 +VTS,1,2,780,0.3,CSH,12.0 +VTS,1,1,360,0.11,CSH,6.5 +VTS,1,1,240,0.07,CSH,5.0 +VTS,1,1,540,0.13,CSH,7.5 +VTS,1,1,240,0.13,CRD,6.0 +VTS,1,1,360,0.2,CRD,7.5 +VTS,1,1,900,0.3,CRD,12.5 +VTS,1,1,480,0.27,CSH,10.0 +VTS,1,1,480,0.21,CSH,8.5 +VTS,1,1,660,0.2,CRD,10.0 +VTS,1,1,2100,0.6,CRD,26.0 +VTS,1,1,300,0.12,CRD,5.5 +VTS,1,1,120,0.06,CSH,4.5 +VTS,1,1,660,0.14,CSH,8.5 +VTS,1,1,600,0.12,CRD,8.0 +VTS,1,1,300,0.09,CRD,5.5 +VTS,1,1,240,0.08,CRD,5.0 +VTS,1,1,660,0.17,CRD,9.0 +VTS,1,1,180,0.08,CSH,5.0 +VTS,1,1,720,0.54,CSH,16.5 +VTS,1,1,480,0.11,CSH,7.0 +VTS,1,3,960,0.21,CSH,11.5 +VTS,1,1,600,0.23,CRD,10.0 +VTS,1,1,900,0.39,CRD,14.5 +VTS,1,2,420,0.15,CSH,7.5 +VTS,1,1,1200,0.33,CRD,16.0 +VTS,1,1,540,0.09,CSH,7.5 +VTS,1,1,300,0.09,CSH,6.0 +VTS,1,1,240,0.16,CSH,7.0 +VTS,1,1,1320,0.76,CRD,24.5 +VTS,1,1,660,0.21,CRD,10.0 +VTS,1,1,600,0.16,CSH,9.0 +VTS,1,3,720,0.17,CRD,9.0 +VTS,1,2,300,0.1,CRD,5.5 +VTS,1,1,360,0.13,CRD,6.5 +VTS,1,1,360,0.08,CSH,6.0 +VTS,1,1,360,0.17,CRD,7.0 +VTS,1,2,540,0.17,CRD,9.0 +VTS,1,2,1500,0.65,CSH,22.0 +VTS,1,1,120,0.08,CRD,4.5 +VTS,1,3,3900,1.06,CRD,46.5 +VTS,1,2,300,0.09,CRD,6.0 +VTS,1,2,360,0.1,CRD,5.5 +VTS,1,1,240,0.05,CSH,4.5 +VTS,1,2,540,0.23,CRD,9.5 +VTS,1,1,900,0.33,CRD,14.0 +VTS,1,2,660,0.23,CSH,10.0 +VTS,1,2,360,0.14,CSH,6.5 +VTS,1,1,720,0.31,CRD,12.0 +VTS,1,1,960,0.29,CSH,13.0 +VTS,1,2,360,0.08,CRD,5.5 +VTS,1,3,600,0.09,CSH,7.5 +VTS,1,1,840,0.27,CRD,11.5 +VTS,1,2,360,0.13,CRD,6.0 +VTS,1,1,180,0.1,CSH,5.0 +VTS,1,2,360,0.15,CRD,6.5 +VTS,1,2,840,0.31,CRD,12.5 +VTS,1,3,1260,0.22,CSH,14.0 +VTS,1,1,480,0.17,CRD,8.0 +VTS,1,2,600,0.18,CSH,9.5 +VTS,1,1,480,0.17,CRD,8.0 +VTS,1,1,1080,0.32,CRD,14.0 +VTS,1,1,420,0.1,CRD,6.5 +VTS,1,1,1440,0.33,CRD,16.5 +VTS,1,2,300,0.12,CSH,6.0 +VTS,1,2,540,0.26,CRD,10.0 +VTS,1,1,540,0.14,CRD,8.0 +VTS,1,2,720,0.22,CSH,10.0 +VTS,1,1,420,0.14,CSH,7.0 +VTS,1,1,540,0.15,CRD,7.5 +VTS,1,1,540,0.18,CRD,8.5 +VTS,1,1,300,0.22,CSH,8.0 +VTS,1,2,240,0.1,CRD,5.0 +VTS,1,1,540,0.17,CRD,8.5 +VTS,1,2,240,0.09,CRD,5.0 +VTS,1,1,300,0.09,CSH,5.0 +VTS,1,4,540,0.17,CSH,7.5 +VTS,1,1,660,0.28,CRD,11.5 +VTS,1,1,720,0.45,CRD,15.5 +VTS,1,1,0,0.0,CRD,2.5 +VTS,1,1,240,0.07,CRD,5.0 +VTS,1,1,720,0.12,CRD,8.5 +VTS,1,1,480,0.14,CSH,7.5 +VTS,1,3,840,0.23,CRD,11.0 +VTS,1,1,900,0.21,CRD,11.0 +VTS,1,1,1380,0.84,CRD,26.5 +VTS,1,1,180,0.11,CSH,5.0 +VTS,1,1,420,0.22,CRD,9.0 +VTS,1,1,240,0.1,CRD,5.5 +VTS,1,1,240,0.16,CSH,7.0 +VTS,1,2,1620,0.26,CSH,17.5 +VTS,1,1,540,0.25,CRD,9.5 +VTS,1,1,420,0.36,CSH,11.5 +VTS,1,2,540,0.19,CSH,9.0 +VTS,1,1,840,0.28,CSH,12.0 +VTS,1,2,1260,0.67,CSH,22.5 +VTS,1,1,660,0.25,CSH,10.0 +VTS,1,1,720,0.16,CRD,9.5 +VTS,1,1,2160,1.06,CRD,33.5 +VTS,1,1,420,0.07,CRD,6.0 +VTS,1,1,1080,0.41,CRD,15.5 +VTS,1,2,120,0.04,CSH,3.5 +VTS,1,1,600,0.25,CRD,10.0 +VTS,1,2,420,0.14,CSH,7.5 +VTS,1,1,1080,0.28,CSH,13.5 +VTS,1,1,660,0.22,CSH,10.0 +VTS,1,1,0,0.0,CRD,2.5 +VTS,1,4,540,0.11,CSH,7.5 +VTS,1,1,1260,0.48,CSH,18.0 +VTS,1,1,720,0.27,CRD,11.5 +VTS,1,1,720,0.13,CRD,9.0 +VTS,1,4,780,0.25,CRD,10.5 +VTS,1,2,360,0.17,CRD,7.5 +VTS,1,2,300,0.07,CRD,5.5 +VTS,1,1,600,0.16,CRD,8.5 +VTS,1,2,660,0.27,CRD,11.5 +VTS,1,1,840,0.31,CRD,12.5 +VTS,1,1,660,0.27,CRD,10.5 +VTS,1,1,660,0.4,CRD,14.0 +VTS,1,1,540,0.37,CRD,12.5 +VTS,1,1,780,0.43,CSH,15.0 +VTS,1,2,240,0.08,CRD,5.0 +VTS,1,1,720,0.22,CRD,10.0 +VTS,1,1,720,0.31,CSH,11.5 +VTS,1,1,780,0.82,CRD,23.0 +VTS,1,2,420,0.09,CSH,6.0 +VTS,1,1,360,0.1,CSH,6.0 +VTS,1,1,240,0.09,CRD,5.0 +VTS,1,2,420,0.13,CSH,7.0 +VTS,1,1,240,0.06,CRD,5.0 +VTS,1,2,780,0.29,CRD,11.5 +VTS,1,1,480,0.2,CRD,8.5 +VTS,1,1,1740,1.1,CRD,34.0 +VTS,1,2,240,0.06,CRD,4.5 +VTS,1,1,480,0.37,CSH,11.5 +VTS,1,1,600,0.25,CRD,10.5 +VTS,1,2,1860,1.62,CRD,44.0 +VTS,2,3,1920,1.86,CSH,52.0 +VTS,1,1,420,0.22,CRD,9.0 +VTS,1,1,720,0.1,CRD,8.5 +VTS,1,3,540,0.15,CSH,7.5 +VTS,1,3,1440,0.43,CSH,19.0 +VTS,1,1,240,0.06,CRD,4.5 +VTS,1,2,240,0.09,CRD,5.5 +VTS,1,1,360,0.1,CRD,6.0 +VTS,1,3,360,0.07,CSH,5.5 +VTS,1,1,300,0.05,CRD,5.0 +VTS,1,2,1020,0.35,CRD,14.0 +VTS,1,2,540,0.19,CRD,8.5 +VTS,1,1,480,0.22,CRD,9.5 +VTS,1,1,840,0.29,CSH,12.5 +VTS,1,1,1080,0.19,CSH,12.5 +VTS,1,1,180,0.07,CSH,4.0 +VTS,1,1,420,0.81,CSH,6.0 +VTS,1,1,360,0.99,CSH,6.0 +VTS,1,1,1380,9.59,CRD,30.0 +VTS,1,1,600,1.02,CRD,8.0 +VTS,1,1,600,3.23,CSH,11.5 +VTS,1,1,480,1.69,CRD,8.0 +VTS,1,1,420,1.19,CRD,7.0 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,240,1.04,CRD,5.5 +VTS,1,1,420,0.07,CSH,6.0 +VTS,1,1,540,0.17,CSH,8.0 +VTS,1,2,1020,0.27,CSH,13.0 +VTS,1,1,420,0.15,CRD,7.0 +VTS,1,1,1020,0.17,CSH,11.0 +VTS,1,1,480,0.31,CSH,10.5 +VTS,1,1,1260,0.27,CRD,14.5 +VTS,1,1,540,0.07,CRD,7.0 +VTS,1,1,600,0.17,CRD,8.5 +VTS,1,1,1260,0.53,CRD,20.0 +VTS,1,1,1380,0.9,CSH,26.5 +VTS,1,2,240,0.08,CRD,5.0 +VTS,1,1,300,0.09,CRD,5.5 +VTS,1,1,660,0.19,CRD,9.0 +VTS,1,1,600,0.16,CSH,8.5 +VTS,1,1,120,0.08,CSH,4.5 +VTS,1,3,120,0.05,CRD,3.5 +VTS,1,1,660,0.22,CRD,10.0 +VTS,2,1,2280,19.19,CRD,52.0 +VTS,1,1,420,0.76,CSH,6.5 +VTS,1,1,900,2.28,CSH,12.0 +VTS,1,1,300,1.48,CSH,6.5 +VTS,2,1,3120,17.83,CSH,52.0 +VTS,1,1,1920,8.08,CSH,28.5 +VTS,1,6,360,1.54,CRD,7.0 +VTS,1,6,900,2.62,CSH,12.5 +VTS,1,6,540,3.05,CRD,11.0 +VTS,1,2,300,0.09,CRD,5.5 +VTS,1,1,900,0.28,CRD,12.5 +VTS,1,1,300,0.13,CSH,6.0 +VTS,1,1,720,0.37,CRD,12.5 +VTS,1,3,240,0.06,CRD,5.0 +VTS,1,1,300,0.08,CSH,5.5 +VTS,1,1,900,0.25,CSH,12.0 +VTS,1,2,360,0.08,CRD,5.5 +VTS,1,2,900,0.39,CRD,14.5 +VTS,1,2,300,0.08,CRD,5.5 +VTS,1,1,240,0.07,CRD,4.5 +VTS,1,2,240,0.15,CSH,6.0 +VTS,1,1,720,0.21,CRD,9.5 +VTS,1,2,1260,0.21,CSH,14.0 +VTS,1,1,60,0.05,CSH,3.5 +VTS,1,1,720,2.24,CSH,10.0 +VTS,1,1,240,0.39,CSH,5.0 +VTS,1,1,420,1.88,CRD,8.0 +VTS,1,1,660,1.71,CSH,9.5 +VTS,1,6,480,2.6,CSH,9.5 +VTS,1,5,720,3.12,CSH,12.0 +VTS,1,6,300,1.02,CSH,6.0 +VTS,1,6,420,2.93,CRD,10.0 +VTS,1,6,360,0.89,CSH,6.0 +VTS,1,6,180,0.67,CRD,4.5 +VTS,1,6,240,0.7,CRD,5.0 +VTS,1,6,1320,5.16,CRD,19.5 +VTS,1,6,780,2.55,CRD,11.0 +VTS,1,2,240,0.08,CRD,5.0 +VTS,1,2,1380,0.71,CRD,22.5 +VTS,1,1,420,0.12,CRD,6.5 +VTS,1,1,360,0.11,CRD,6.0 +VTS,1,4,120,0.08,CRD,4.5 +VTS,1,1,180,0.1,CRD,5.0 +VTS,1,2,360,0.09,CRD,6.0 +VTS,1,2,180,0.06,CSH,4.5 +VTS,1,1,660,0.34,CRD,12.0 +VTS,1,1,240,0.11,CRD,5.5 +VTS,1,1,240,0.1,CRD,5.5 +VTS,1,1,360,0.1,CSH,6.0 +VTS,1,1,1620,0.99,CRD,31.0 +VTS,1,1,660,0.13,CRD,8.5 +VTS,1,1,180,0.09,CRD,5.0 +VTS,1,3,2040,1.32,CRD,39.5 +VTS,1,3,960,0.41,CSH,15.0 +VTS,1,1,1500,0.27,CSH,17.0 +VTS,1,1,420,0.1,CRD,6.5 +VTS,1,1,120,0.05,CSH,3.5 +VTS,1,1,240,0.16,CRD,6.5 +VTS,1,1,1440,0.34,CSH,16.5 +VTS,1,1,180,0.08,CSH,4.5 +VTS,1,2,840,0.19,CRD,11.0 +VTS,1,2,840,0.21,CRD,11.0 +VTS,1,1,660,0.13,CRD,8.5 +VTS,1,2,2100,0.7,CRD,27.5 +VTS,1,1,120,0.07,CSH,4.5 +VTS,1,3,420,0.08,CRD,6.0 +VTS,1,1,480,0.16,CRD,7.5 +VTS,1,1,360,0.17,CRD,7.5 +VTS,1,1,1800,1.13,CRD,33.5 +VTS,1,1,540,0.22,CRD,9.0 +VTS,1,1,960,0.35,CSH,13.5 +VTS,1,1,1380,0.56,CRD,21.0 +VTS,1,1,600,0.07,CSH,7.5 +VTS,1,4,660,0.16,CSH,9.0 +VTS,1,1,240,0.09,CRD,5.0 +VTS,1,2,1380,0.65,CRD,20.5 +VTS,1,1,660,0.28,CRD,11.5 +VTS,1,2,540,0.2,CSH,9.0 +VTS,1,2,780,0.43,CSH,15.5 +VTS,1,1,660,0.12,CRD,8.5 +VTS,1,1,1140,1.04,CRD,29.5 +VTS,1,1,540,0.23,CRD,9.5 +VTS,1,1,900,0.87,CRD,25.0 +VTS,1,1,60,0.01,CSH,2.5 +VTS,1,1,480,0.14,CRD,7.5 +VTS,1,1,660,0.25,CSH,10.0 +VTS,1,3,960,0.25,CSH,12.5 +VTS,1,1,420,0.1,CRD,6.5 +VTS,1,2,1140,0.44,CRD,16.5 +VTS,1,1,300,0.14,CRD,6.0 +VTS,1,2,360,0.05,CRD,5.5 +VTS,1,2,1380,0.19,CRD,15.0 +VTS,1,3,780,0.22,CRD,10.5 +VTS,1,1,360,0.07,CSH,5.5 +VTS,1,1,480,0.13,CRD,7.0 +VTS,1,1,120,0.04,CRD,4.0 +VTS,1,1,240,0.1,CRD,5.0 +VTS,1,2,540,0.29,CSH,10.5 +VTS,1,1,120,0.05,CSH,4.0 +VTS,1,1,360,0.07,CSH,6.0 +VTS,1,1,300,0.09,CRD,5.5 +VTS,1,1,660,0.12,CRD,8.0 +VTS,1,1,660,0.23,CRD,10.5 +VTS,1,1,600,0.12,CRD,8.0 +VTS,1,1,480,0.13,CSH,7.0 +VTS,1,1,300,0.18,CSH,6.5 +VTS,1,1,1080,0.42,CRD,16.0 +VTS,1,3,720,0.26,CRD,11.0 +VTS,1,1,480,0.32,CRD,11.0 +VTS,1,1,360,0.79,CSH,6.0 +VTS,1,1,1140,9.61,CRD,28.0 +VTS,1,1,840,2.34,CRD,11.0 +VTS,1,1,480,1.13,CSH,7.0 +VTS,1,1,360,1.83,CSH,7.5 +VTS,1,6,360,1.86,CRD,7.5 +VTS,1,6,420,2.3,CSH,9.0 +VTS,1,6,720,1.55,CRD,9.5 +VTS,1,6,240,0.6,CRD,4.5 +VTS,1,6,240,0.46,CRD,5.0 +VTS,1,6,480,1.22,CRD,7.5 +VTS,1,6,540,2.37,CRD,9.5 +VTS,1,6,420,2.84,CSH,10.0 +VTS,1,6,120,0.36,CSH,3.5 +VTS,1,6,420,0.83,CRD,6.0 +VTS,1,6,420,1.03,CRD,6.5 +VTS,1,6,180,0.73,CRD,4.5 +VTS,1,6,660,2.48,CRD,11.0 +VTS,1,6,480,1.41,CRD,7.5 +VTS,1,6,840,2.9,CRD,12.0 +VTS,1,6,720,1.6,CRD,9.5 +VTS,1,6,660,1.43,CRD,9.0 +VTS,1,6,480,1.34,CSH,7.5 +VTS,1,6,780,2.25,CRD,10.5 +VTS,1,6,1080,2.48,CSH,8.5 +VTS,1,6,480,2.22,CRD,8.5 +VTS,1,5,480,3.16,CRD,10.5 +VTS,1,6,600,1.71,CRD,9.0 +VTS,1,6,540,1.97,CSH,9.0 +VTS,1,6,240,0.66,CSH,5.0 +VTS,1,6,540,2.39,CRD,9.5 +VTS,1,6,1020,2.96,CRD,13.0 +VTS,1,6,1500,3.69,CSH,17.5 +VTS,1,6,1740,4.66,CSH,19.0 +VTS,1,5,420,1.46,CSH,6.5 +VTS,1,6,1560,7.67,CRD,26.0 +VTS,1,6,420,1.28,CRD,7.0 +VTS,1,6,540,1.79,CRD,8.5 +VTS,1,6,240,0.62,CRD,4.5 +VTS,1,6,300,0.78,CRD,5.5 +VTS,1,6,120,0.73,CSH,4.5 +VTS,1,6,120,0.43,CSH,3.5 +VTS,1,6,1080,4.48,CRD,18.0 +VTS,1,6,540,4.71,CSH,15.0 +VTS,1,6,300,1.34,CRD,6.5 +VTS,1,6,720,1.74,CRD,10.0 +VTS,1,6,300,0.66,CSH,5.0 +VTS,1,6,960,1.72,CRD,11.5 +VTS,1,6,840,2.41,CRD,11.5 +VTS,1,6,480,2.48,CRD,9.5 +VTS,1,6,1200,2.82,CSH,15.0 +VTS,1,6,600,2.11,CSH,9.5 +VTS,1,6,960,3.89,CSH,15.0 +VTS,1,6,360,0.98,CRD,6.0 +VTS,1,6,1260,4.4,CRD,17.5 +VTS,1,6,900,2.66,CRD,12.5 +VTS,1,6,900,1.58,CSH,10.5 +VTS,1,6,600,1.19,CRD,8.0 +VTS,1,6,360,1.17,CSH,6.5 +VTS,1,5,360,1.91,CRD,7.0 +VTS,1,5,300,1.33,CSH,6.5 +VTS,1,6,420,1.96,CRD,8.0 +VTS,1,6,720,2.1,CRD,10.0 +VTS,1,6,420,1.16,CSH,7.0 +VTS,1,6,720,2.75,CRD,11.5 +VTS,1,1,780,0.27,CSH,11.5 +VTS,1,1,480,0.32,CRD,11.0 +VTS,1,1,420,0.13,CRD,7.0 +VTS,1,3,960,0.42,CSH,15.5 +VTS,1,2,540,0.18,CSH,8.5 +VTS,1,1,660,0.14,CSH,8.5 +VTS,1,1,720,0.22,CSH,10.0 +VTS,1,2,900,0.45,CRD,15.0 +VTS,1,1,1740,10.22,CSH,33.0 +VTS,1,1,1140,5.26,CSH,18.0 +VTS,1,1,480,1.21,CRD,7.0 +VTS,1,1,1020,2.17,CRD,12.5 +VTS,1,1,840,2.92,CSH,12.5 +VTS,1,1,900,2.19,CSH,11.5 +VTS,2,1,2640,15.08,CRD,52.0 +VTS,1,1,600,1.81,CRD,9.0 +VTS,1,6,480,1.92,CSH,8.5 +VTS,1,6,360,4.6,CSH,14.0 +VTS,1,6,180,0.51,CRD,4.5 +VTS,1,6,660,2.22,CRD,10.0 +VTS,1,5,840,2.35,CRD,12.0 +VTS,1,6,600,2.33,CRD,9.5 +VTS,1,6,780,2.73,CSH,11.0 +VTS,1,6,660,1.21,CRD,8.5 +VTS,1,6,960,2.99,CSH,13.0 +VTS,1,6,840,1.83,CRD,10.5 +VTS,1,6,300,1.42,CRD,6.0 +VTS,1,6,960,5.29,CRD,18.0 +VTS,1,1,900,0.17,CRD,10.5 +VTS,1,1,600,0.09,CRD,8.0 +VTS,1,1,1080,0.4,CRD,16.0 +VTS,1,1,540,0.07,CSH,7.0 +VTS,1,1,240,0.04,CSH,4.5 +VTS,1,2,540,0.16,CSH,8.0 +VTS,1,2,420,0.12,CSH,7.0 +VTS,1,1,240,0.04,CRD,4.0 +VTS,1,1,360,0.12,CSH,6.5 +VTS,1,1,1020,0.25,CRD,12.5 +VTS,1,1,960,0.22,CRD,12.5 +VTS,1,1,1560,0.98,CRD,29.0 +VTS,1,1,1020,0.33,CSH,13.5 +VTS,1,1,540,0.2,CSH,8.5 +VTS,1,3,780,0.21,CRD,10.0 +VTS,1,1,1260,0.3,CSH,15.0 +VTS,1,4,300,0.08,CRD,5.5 +VTS,1,1,780,0.55,CSH,17.5 +VTS,1,2,300,0.07,CSH,5.0 +VTS,1,1,960,2.42,CSH,12.0 +VTS,1,1,1020,8.78,CSH,26.0 +VTS,1,1,480,0.79,CSH,6.5 +VTS,1,1,300,1.15,CSH,6.0 +VTS,1,1,600,2.12,CRD,9.5 +VTS,1,1,480,3.67,CSH,12.5 +VTS,1,1,300,0.68,CSH,5.0 +VTS,1,1,300,1.13,CSH,5.5 +VTS,1,1,120,0.04,CSH,3.5 +VTS,1,1,120,0.04,CSH,3.5 +VTS,1,1,240,0.43,CRD,4.5 +VTS,1,1,720,1.66,CRD,9.5 +VTS,1,1,360,1.7,CSH,7.5 +VTS,1,1,180,0.86,CSH,4.5 +VTS,1,1,960,4.4,CRD,16.0 +VTS,1,6,240,0.79,CRD,5.0 +VTS,1,6,660,2.86,CRD,11.0 +VTS,1,6,840,2.62,CRD,11.5 +VTS,1,6,780,2.54,CRD,12.0 +VTS,1,6,240,0.51,CSH,4.5 +VTS,1,6,600,1.58,CSH,8.5 +VTS,1,5,300,1.37,CRD,6.5 +VTS,1,6,660,3.3,CSH,12.0 +VTS,1,6,360,1.53,CRD,7.0 +VTS,1,6,240,0.87,CSH,5.0 +VTS,1,6,480,1.02,CSH,7.0 +VTS,1,6,360,1.54,CRD,7.0 +VTS,1,6,540,2.16,CRD,8.5 +VTS,1,6,180,0.65,CRD,4.5 +VTS,1,6,540,1.0,CRD,7.0 +VTS,1,6,900,1.36,CRD,10.0 +VTS,1,6,360,0.54,CSH,5.5 +VTS,1,6,180,0.55,CRD,4.0 +VTS,1,6,1140,3.22,CSH,14.5 +VTS,1,6,720,1.57,CSH,9.5 +VTS,1,6,1080,2.57,CRD,13.0 +VTS,1,6,600,1.74,CSH,9.0 +VTS,1,6,720,3.3,CRD,12.5 +VTS,1,6,120,0.67,CSH,4.0 +VTS,1,6,540,1.64,CSH,8.5 +VTS,1,6,2880,7.01,CRD,32.0 +VTS,1,6,1080,4.42,CRD,16.5 +VTS,1,6,600,2.06,CSH,9.0 +VTS,1,6,240,0.91,CSH,5.0 +VTS,1,6,360,1.93,CRD,7.5 +VTS,1,6,1200,3.57,CSH,15.5 +VTS,1,6,300,1.84,CRD,7.5 +VTS,1,6,480,1.87,CRD,8.5 +VTS,1,6,600,1.57,CSH,8.5 +VTS,1,6,1080,4.97,CRD,17.5 +VTS,1,5,660,3.29,CRD,12.5 +VTS,1,6,420,2.12,CRD,9.0 +VTS,1,6,960,9.76,CRD,27.5 +VTS,1,6,1080,10.51,CRD,29.5 +VTS,1,6,600,1.33,CSH,8.5 +VTS,1,6,1260,2.04,CRD,14.5 +VTS,1,6,240,0.72,CRD,4.5 +VTS,1,6,180,0.54,CRD,4.5 +VTS,1,5,540,2.21,CSH,9.0 +VTS,1,6,180,0.43,CRD,4.0 +VTS,1,6,420,0.92,CRD,6.0 +VTS,1,6,240,0.81,CSH,5.0 +VTS,1,1,480,2.52,CSH,9.5 +VTS,1,1,300,1.03,CRD,5.5 +VTS,1,1,1500,5.16,CSH,20.0 +VTS,1,1,720,1.02,CRD,8.5 +VTS,1,1,1200,8.33,CRD,26.0 +VTS,1,6,540,3.62,CSH,12.5 +VTS,1,6,120,0.76,CSH,4.5 +VTS,1,6,1260,10.47,CRD,31.0 +VTS,1,6,300,0.63,CSH,5.5 +VTS,1,6,420,1.72,CRD,8.0 +VTS,1,6,420,1.49,CRD,7.5 +VTS,1,6,720,2.57,CRD,11.5 +VTS,1,6,480,1.33,CRD,7.5 +VTS,1,6,780,2.67,CRD,11.5 +VTS,1,6,420,1.98,CRD,8.5 +VTS,1,6,240,0.64,CRD,5.0 +VTS,1,6,300,1.21,CRD,6.0 +VTS,1,6,1020,2.98,CRD,13.5 +VTS,1,6,300,0.6,CSH,5.5 +VTS,1,6,720,3.2,CRD,13.0 +VTS,1,6,480,2.14,CRD,9.0 +VTS,1,6,720,1.59,CRD,9.5 +VTS,1,6,840,2.03,CRD,11.0 +VTS,1,6,480,1.08,CRD,7.0 +VTS,1,6,660,1.02,CSH,8.5 +VTS,1,6,660,2.49,CRD,10.5 +VTS,1,6,1500,4.17,CRD,19.0 +VTS,1,6,540,1.66,CSH,8.5 +VTS,1,6,600,1.73,CRD,9.0 +VTS,1,6,660,1.87,CRD,9.5 +VTS,1,6,1200,4.58,CSH,17.5 +VTS,1,6,360,1.97,CSH,8.0 +VTS,1,6,480,1.86,CSH,8.5 +VTS,1,6,1560,2.29,CSH,16.0 +VTS,1,6,300,1.29,CSH,6.5 +VTS,1,6,300,0.85,CRD,5.5 +VTS,1,6,1140,2.06,CRD,13.0 +VTS,1,6,360,1.16,CRD,6.5 +VTS,1,6,120,0.69,CSH,4.5 +VTS,1,6,360,1.18,CRD,6.5 +VTS,1,6,360,1.41,CRD,7.0 +VTS,1,6,540,1.99,CSH,9.0 +VTS,1,6,300,0.8,CRD,5.5 +VTS,1,6,240,0.59,CRD,5.0 +VTS,1,6,1320,2.8,CRD,15.0 +VTS,1,5,180,0.66,CRD,4.5 +VTS,1,6,360,1.18,CRD,6.0 +VTS,1,5,660,2.85,CSH,12.0 +VTS,1,1,780,2.48,CRD,11.0 +VTS,1,1,180,0.47,CSH,4.5 +VTS,1,1,360,1.2,CSH,6.5 +VTS,1,1,720,2.14,CRD,10.5 +VTS,1,1,480,1.47,CSH,7.5 +VTS,1,1,660,1.96,CSH,9.5 +VTS,1,1,600,1.82,CRD,9.5 +VTS,1,1,780,1.51,CRD,10.0 +VTS,1,1,1200,3.94,CRD,17.0 +VTS,1,1,300,0.59,CSH,4.5 +VTS,1,1,180,1.03,CSH,5.0 +VTS,1,1,840,1.65,CRD,11.0 +VTS,1,1,240,0.85,CSH,5.5 +VTS,1,6,60,0.1,CSH,3.0 +VTS,1,6,180,0.6,CRD,4.5 +VTS,1,5,300,1.32,CSH,6.5 +VTS,1,6,480,1.5,CRD,8.0 +VTS,1,6,480,2.21,CRD,9.0 +VTS,1,6,300,0.96,CSH,5.5 +VTS,1,6,1020,2.69,CRD,13.5 +VTS,1,6,1020,2.67,CSH,13.5 +VTS,1,6,540,1.62,CSH,8.5 +VTS,1,6,360,1.28,CRD,7.0 +VTS,1,6,300,1.25,CRD,6.0 +VTS,1,6,300,1.44,CSH,7.0 +VTS,1,6,960,2.83,CRD,13.5 +VTS,1,6,360,1.42,CRD,7.0 +VTS,1,6,960,1.24,CRD,10.5 +VTS,1,6,720,0.98,CRD,9.5 +VTS,1,6,1200,11.1,CRD,31.5 +VTS,1,6,1440,6.15,CSH,22.5 +VTS,1,6,180,0.84,CRD,4.5 +VTS,1,6,1200,2.69,CSH,14.0 +VTS,1,6,480,1.71,CRD,8.0 +VTS,1,6,420,1.26,CRD,6.5 +VTS,1,6,480,1.72,CSH,8.0 +VTS,1,6,660,3.25,CRD,12.0 +VTS,1,6,420,1.24,CRD,7.0 +VTS,1,6,60,0.21,CSH,3.0 +VTS,1,6,540,1.54,CRD,8.5 +VTS,1,5,240,0.74,CRD,5.0 +VTS,1,6,240,0.43,CSH,4.5 +VTS,1,1,960,0.33,CRD,13.5 +VTS,1,1,240,0.06,CRD,5.0 +VTS,1,1,540,0.14,CRD,8.0 +VTS,1,1,840,0.35,CRD,13.0 +VTS,1,1,420,0.17,CRD,8.0 +VTS,1,2,420,0.1,CRD,7.0 +VTS,1,1,720,0.29,CSH,11.5 +VTS,1,1,780,0.24,CRD,10.5 +VTS,1,1,480,0.29,CSH,10.0 +VTS,1,2,420,0.13,CSH,7.0 +VTS,1,1,420,0.11,CSH,6.5 +VTS,1,2,900,0.27,CRD,12.5 +VTS,1,1,120,0.05,CSH,4.0 +VTS,1,4,1020,0.27,CRD,12.5 +VTS,1,1,600,0.28,CSH,11.0 +VTS,1,1,480,0.18,CSH,8.0 +VTS,1,2,780,0.28,CSH,11.5 +VTS,1,2,420,0.12,CSH,6.5 +VTS,1,1,540,0.16,CSH,8.5 +VTS,1,1,2580,2.03,CRD,58.5 +VTS,1,1,1740,1.06,CRD,31.0 +VTS,1,1,1320,0.44,CRD,18.5 +VTS,1,1,480,0.16,CRD,7.5 +VTS,1,1,180,0.07,CRD,4.5 +VTS,1,1,180,0.08,CRD,4.5 +VTS,1,1,540,0.21,CSH,9.5 +VTS,1,1,3240,1.65,CRD,52.0 +VTS,1,2,120,0.05,CSH,4.0 +VTS,1,2,840,0.23,CSH,11.5 +VTS,1,3,660,0.45,CSH,14.5 +VTS,1,1,180,0.06,CSH,4.0 +VTS,1,1,480,0.11,CRD,7.0 +VTS,1,2,960,0.53,CRD,18.5 +VTS,1,1,540,0.27,CRD,10.0 +VTS,1,1,780,0.31,CRD,12.0 +VTS,1,2,660,0.31,CSH,11.5 +VTS,1,1,480,0.31,CSH,11.0 +VTS,1,1,360,0.13,CRD,7.0 +VTS,1,1,240,0.09,CRD,5.0 +VTS,1,1,360,0.17,CRD,7.0 +VTS,1,2,1320,0.54,CRD,19.5 +VTS,1,1,960,1.08,CRD,30.5 +VTS,1,2,1980,1.07,CRD,33.5 +VTS,1,1,1020,0.23,CRD,13.0 +VTS,1,1,1680,0.9,CRD,28.5 +VTS,1,1,300,0.63,CRD,5.5 +VTS,1,1,720,2.99,CRD,11.5 +VTS,2,1,3060,18.52,CRD,52.0 +VTS,1,1,720,2.36,CRD,10.5 +VTS,1,1,900,3.42,CSH,13.5 +VTS,1,1,420,0.57,CSH,6.0 +VTS,1,1,1500,9.14,CRD,29.0 +VTS,1,6,1080,10.29,CSH,28.5 +VTS,1,1,1320,6.52,CRD,22.5 +VTS,1,5,480,1.48,CRD,8.0 +VTS,1,6,600,1.73,CSH,8.5 +VTS,1,6,1140,5.03,CRD,18.0 +VTS,1,6,780,9.38,CRD,26.0 +VTS,1,6,1020,3.18,CRD,13.5 +VTS,1,6,1260,11.31,CSH,32.0 +VTS,1,6,600,1.07,CSH,8.0 +VTS,1,6,600,1.49,CRD,8.5 +VTS,1,6,360,1.5,CRD,7.5 +VTS,1,6,480,0.4,CRD,6.0 +VTS,1,6,1020,3.0,CSH,14.0 +VTS,1,6,420,1.21,CSH,6.5 +VTS,1,6,300,1.11,CRD,6.0 +VTS,3,5,1620,13.52,CRD,55.0 +VTS,1,6,420,1.25,CRD,6.5 +VTS,1,6,120,0.52,CRD,4.0 +VTS,1,6,360,1.45,CRD,7.0 +VTS,1,6,600,0.92,CRD,7.5 +VTS,1,6,240,1.63,CSH,6.5 +VTS,1,6,240,0.84,CSH,5.0 +VTS,1,6,1560,3.83,CSH,19.0 +VTS,1,6,1140,2.69,CSH,14.0 +VTS,1,5,420,1.53,CRD,8.0 +VTS,1,6,300,0.85,CRD,5.5 +VTS,1,5,300,0.92,CRD,5.5 +VTS,1,5,1020,3.67,CSH,15.5 +VTS,1,5,600,3.13,CRD,12.0 +VTS,1,6,660,2.81,CRD,11.0 +VTS,1,1,780,1.46,CRD,10.0 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,1,840,4.97,CRD,17.5 +VTS,1,1,360,0.76,CRD,6.0 +VTS,1,1,360,0.67,CSH,6.0 +VTS,1,1,180,0.97,CSH,4.5 +VTS,1,1,900,3.94,CRD,14.0 +VTS,1,1,480,1.49,CRD,8.0 +VTS,1,1,1140,3.68,CSH,15.0 +VTS,1,1,660,1.73,CRD,9.5 +VTS,1,1,1380,3.41,CRD,16.0 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,840,1.75,CRD,9.5 +VTS,1,1,780,2.05,CSH,10.5 +VTS,1,1,420,0.85,CRD,6.0 +VTS,1,1,480,1.57,CRD,8.0 +VTS,1,1,540,3.61,CRD,12.0 +VTS,1,1,360,1.03,CRD,6.0 +VTS,1,1,660,4.46,CRD,15.0 +VTS,1,1,840,2.05,CSH,10.5 +VTS,1,1,600,1.65,CRD,8.5 +VTS,1,1,240,0.98,CSH,5.0 +VTS,1,1,300,2.02,CSH,7.5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,1080,4.74,CSH,17.0 +VTS,1,1,660,1.48,CRD,8.5 +VTS,1,1,420,1.62,CSH,7.5 +VTS,1,1,360,1.02,CRD,6.0 +VTS,1,6,180,0.74,CRD,4.5 +VTS,1,6,120,0.6,CSH,4.5 +VTS,1,6,600,1.73,CRD,9.0 +VTS,1,6,180,0.69,CSH,4.5 +VTS,1,6,240,0.69,CSH,5.0 +VTS,1,6,120,0.19,CSH,3.5 +VTS,1,5,1140,1.38,CSH,12.5 +VTS,1,6,780,2.61,CRD,12.0 +VTS,1,6,360,0.79,CRD,6.0 +VTS,1,6,840,3.32,CRD,14.0 +VTS,1,6,360,0.94,CSH,6.0 +VTS,1,6,660,1.35,CSH,9.0 +VTS,1,6,1260,9.88,CRD,29.5 +VTS,1,5,300,1.02,CSH,5.5 +VTS,1,1,2340,10.21,CSH,34.0 +VTS,1,1,180,0.88,CRD,5.0 +VTS,1,1,300,1.08,CSH,6.5 +VTS,1,1,480,1.18,CRD,7.0 +VTS,1,1,720,1.86,CRD,9.5 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,540,1.59,CSH,8.0 +VTS,1,1,1020,1.93,CRD,12.0 +VTS,1,1,900,1.76,CRD,10.5 +VTS,1,1,360,1.38,CSH,6.5 +VTS,1,1,540,1.21,CSH,7.5 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,420,2.7,CSH,9.5 +VTS,1,1,1800,7.3,CRD,25.5 +VTS,1,1,1200,5.69,CSH,19.5 +VTS,1,6,240,1.01,CRD,5.5 +VTS,1,6,780,3.78,CRD,13.0 +VTS,1,6,660,1.69,CRD,9.5 +VTS,1,6,720,2.74,CRD,11.5 +VTS,1,6,300,1.5,CSH,6.5 +VTS,1,6,300,0.69,CRD,5.0 +VTS,1,6,360,1.21,CSH,6.5 +VTS,1,6,540,1.57,CSH,8.0 +VTS,1,6,360,0.82,CSH,6.0 +VTS,1,6,780,1.54,CSH,10.0 +VTS,1,6,900,2.65,CRD,12.5 +VTS,1,6,660,4.57,CSH,15.5 +VTS,1,6,540,0.89,CRD,7.0 +VTS,1,6,360,1.1,CRD,6.5 +VTS,1,5,420,1.45,CRD,7.5 +VTS,1,6,720,1.54,CRD,9.5 +VTS,1,6,420,0.87,CSH,6.5 +VTS,1,6,1200,3.72,CRD,16.0 +VTS,1,6,1620,4.03,CSH,19.0 +VTS,1,1,540,3.19,CRD,11.0 +VTS,1,1,1440,3.32,CRD,16.5 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,1140,2.94,CSH,14.0 +VTS,1,1,180,0.62,CRD,4.0 +VTS,1,1,180,0.97,CRD,5.0 +VTS,1,1,1080,6.37,CSH,21.0 +VTS,1,1,1260,6.48,CSH,21.5 +VTS,1,1,780,1.61,CSH,10.0 +VTS,1,6,300,0.6,CRD,5.0 +VTS,1,6,540,3.39,CRD,12.0 +VTS,1,6,300,0.37,CRD,5.5 +VTS,1,6,600,0.57,CRD,7.5 +VTS,1,6,600,1.13,CSH,8.5 +VTS,1,6,1620,5.15,CRD,21.5 +VTS,1,6,540,1.47,CRD,7.5 +VTS,1,6,660,1.53,CSH,9.0 +VTS,1,6,360,0.83,CRD,6.0 +VTS,1,6,180,0.47,CSH,4.0 +VTS,1,5,1020,5.92,CRD,19.0 +VTS,1,6,1020,2.13,CRD,12.0 +VTS,1,6,300,0.76,CRD,5.5 +VTS,1,6,600,1.47,CSH,9.0 +VTS,1,6,780,1.4,CRD,9.0 +VTS,1,1,720,2.27,CRD,10.5 +VTS,1,1,1020,3.79,CRD,14.5 +VTS,1,1,120,0.5,CSH,4.0 +VTS,1,1,540,2.28,CSH,9.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,540,0.97,CRD,7.5 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,720,1.28,CSH,9.0 +VTS,1,1,600,1.67,CRD,9.0 +VTS,1,1,960,7.84,CRD,23.0 +VTS,1,1,840,3.38,CRD,13.5 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,300,1.17,CRD,6.0 +VTS,1,1,780,3.05,CRD,11.5 +VTS,1,1,1980,16.58,CSH,47.5 +VTS,1,1,420,0.95,CSH,6.5 +VTS,1,1,480,1.4,CRD,7.0 +VTS,1,1,1020,2.69,CSH,13.0 +VTS,1,1,420,1.89,CRD,7.5 +VTS,1,1,660,1.81,CRD,9.0 +VTS,1,1,300,0.65,CRD,5.0 +VTS,1,1,780,2.45,CRD,11.0 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,1740,6.84,CRD,25.0 +VTS,1,1,300,0.46,CSH,5.0 +VTS,1,1,2220,10.82,CSH,36.0 +VTS,1,1,840,5.29,CRD,17.5 +VTS,1,1,360,0.91,CSH,5.5 +VTS,1,1,120,0.09,CSH,3.5 +VTS,1,1,1620,10.29,CSH,30.5 +VTS,1,1,120,0.55,CSH,3.5 +VTS,1,1,300,1.17,CRD,6.0 +VTS,1,1,660,2.91,CRD,11.0 +VTS,1,1,720,2.71,CSH,11.0 +VTS,1,1,540,0.94,CSH,7.0 +VTS,1,1,600,1.72,CRD,8.5 +VTS,1,1,900,2.37,CSH,12.0 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,780,3.15,CRD,12.5 +VTS,1,1,1080,5.6,CRD,18.5 +VTS,1,6,540,2.56,CRD,10.0 +VTS,1,6,300,1.04,CSH,5.5 +VTS,1,6,540,1.48,CRD,8.0 +VTS,1,6,1020,3.12,CRD,13.5 +VTS,1,6,420,1.37,CRD,7.5 +VTS,1,6,780,1.74,CRD,10.0 +VTS,1,6,420,1.48,CRD,7.5 +VTS,1,6,240,0.97,CRD,5.0 +VTS,1,6,480,1.71,CRD,8.5 +VTS,1,6,240,0.98,CSH,5.5 +VTS,1,6,780,2.07,CRD,10.0 +VTS,1,6,240,0.98,CSH,5.5 +VTS,1,6,240,0.48,CRD,4.0 +VTS,1,6,720,2.44,CRD,11.0 +VTS,1,6,420,1.11,CSH,6.5 +VTS,1,6,240,0.49,CRD,4.5 +VTS,1,6,660,1.09,CSH,8.0 +VTS,1,6,1440,3.47,CRD,17.5 +VTS,1,6,540,0.83,CRD,7.5 +VTS,1,6,240,0.85,CRD,5.0 +VTS,1,6,240,0.84,CRD,5.5 +VTS,1,6,720,1.96,CRD,10.5 +VTS,1,6,1080,3.11,CRD,14.5 +VTS,1,5,240,1.13,CRD,5.5 +VTS,1,6,180,0.95,CSH,5.0 +VTS,1,6,960,9.6,CRD,27.5 +VTS,1,6,540,0.95,CRD,7.0 +VTS,1,6,420,1.38,CRD,7.5 +VTS,1,6,540,1.24,CRD,7.5 +VTS,2,6,1320,15.43,CRD,52.0 +VTS,1,6,420,1.23,CRD,7.0 +VTS,1,6,540,1.18,CSH,7.5 +VTS,1,5,480,2.0,CRD,9.0 +VTS,1,6,240,0.84,CRD,5.5 +VTS,1,5,300,1.41,CRD,6.5 +VTS,1,5,240,0.92,CRD,5.5 +VTS,1,6,600,2.16,CRD,9.5 +VTS,1,6,600,1.35,CRD,8.5 +VTS,1,6,540,3.43,CSH,11.0 +VTS,1,5,960,1.03,CRD,11.0 +VTS,1,6,1260,9.71,CSH,29.0 +VTS,1,5,720,6.29,CRD,19.0 +VTS,1,6,720,2.16,CRD,11.0 +VTS,1,6,480,1.36,CRD,7.5 +VTS,1,1,300,0.81,CSH,5.0 +VTS,1,1,600,2.59,CSH,10.5 +VTS,1,1,1320,10.53,CRD,30.5 +VTS,1,1,720,2.66,CRD,10.0 +VTS,1,1,420,1.41,CSH,7.0 +VTS,1,1,1020,1.81,CRD,11.5 +VTS,1,1,1320,10.54,CRD,30.5 +VTS,1,1,420,1.55,CSH,7.0 +VTS,1,1,300,0.74,CRD,5.0 +VTS,1,1,840,2.27,CRD,11.0 +VTS,1,1,780,1.94,CRD,10.5 +VTS,1,1,240,0.88,CRD,5.0 +VTS,1,1,1200,10.23,CSH,29.0 +VTS,1,1,780,2.3,CRD,11.0 +VTS,1,6,1860,7.13,CRD,27.0 +VTS,1,6,300,1.18,CRD,6.0 +VTS,1,6,1140,3.81,CRD,16.5 +VTS,1,6,180,0.53,CRD,4.5 +VTS,1,6,360,1.28,CRD,6.0 +VTS,1,6,360,1.0,CSH,6.0 +VTS,1,1,240,0.0,CRD,4.0 +VTS,1,6,240,0.87,CRD,5.5 +VTS,1,6,540,2.22,CSH,9.0 +VTS,1,6,300,0.75,CSH,5.0 +VTS,1,6,600,1.77,CRD,9.0 +VTS,1,6,1020,3.54,CRD,14.5 +VTS,1,1,720,2.84,CRD,11.0 +VTS,1,1,300,0.54,CSH,5.0 +VTS,2,1,1740,17.31,CRD,52.0 +VTS,1,1,840,1.77,CSH,10.5 +VTS,1,1,1380,4.58,CRD,19.0 +VTS,1,1,240,1.72,CSH,7.0 +VTS,1,1,900,4.55,CSH,15.5 +VTS,1,1,660,1.98,CRD,9.5 +VTS,1,1,660,1.94,CSH,9.5 +VTS,1,1,360,1.65,CSH,7.0 +VTS,1,1,540,1.65,CRD,8.0 +VTS,1,1,1500,4.73,CRD,19.5 +VTS,1,1,840,2.51,CSH,11.5 +VTS,1,1,420,0.33,CSH,6.0 +VTS,1,1,300,1.13,CSH,6.0 +VTS,1,1,720,3.5,CSH,13.0 +VTS,1,1,420,2.23,CRD,8.5 +VTS,1,5,540,2.59,CRD,10.0 +VTS,1,6,300,2.04,CSH,8.0 +VTS,1,6,720,1.83,CRD,10.0 +VTS,1,6,660,3.1,CRD,11.0 +VTS,1,6,840,2.57,CRD,12.0 +VTS,1,5,180,0.73,CRD,4.5 +VTS,1,6,720,2.43,CRD,10.5 +VTS,1,6,360,1.67,CRD,7.5 +VTS,1,1,1380,5.54,CRD,20.5 +VTS,1,1,1920,6.41,CRD,24.5 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,1140,9.89,CRD,28.5 +VTS,1,1,960,3.09,CRD,12.0 +VTS,1,1,240,1.19,CRD,5.5 +VTS,1,1,960,4.45,CRD,16.0 +VTS,1,1,480,1.31,CRD,7.0 +VTS,1,1,600,1.71,CSH,8.5 +VTS,1,1,360,0.95,CSH,6.0 +VTS,1,1,780,2.79,CSH,12.0 +VTS,1,1,840,2.87,CSH,12.5 +VTS,1,1,240,0.67,CSH,5.0 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,120,0.8,CSH,4.5 +VTS,1,1,660,3.29,CRD,12.0 +VTS,1,1,780,2.64,CRD,11.5 +VTS,1,1,240,0.91,CRD,5.5 +VTS,1,1,480,1.71,CRD,8.0 +VTS,1,1,540,1.12,CRD,7.5 +VTS,1,1,660,3.88,CRD,13.5 +VTS,1,1,1500,10.91,CRD,33.5 +VTS,1,1,1080,4.25,CSH,16.0 +VTS,1,1,780,3.29,CSH,13.0 +VTS,1,1,600,1.17,CSH,8.0 +VTS,1,1,240,1.14,CSH,5.5 +VTS,1,1,840,3.34,CSH,13.0 +VTS,1,1,540,1.26,CSH,7.5 +VTS,1,1,660,3.5,CRD,12.5 +VTS,1,1,720,0.91,CSH,8.5 +VTS,1,1,420,1.88,CRD,7.5 +VTS,1,1,1620,8.23,CSH,27.0 +VTS,1,1,1080,2.97,CRD,14.0 +VTS,1,1,840,2.75,CRD,11.5 +VTS,1,1,480,1.85,CSH,8.5 +VTS,1,1,420,1.12,CRD,6.5 +VTS,1,1,600,2.16,CRD,9.5 +VTS,1,1,840,4.5,CRD,16.0 +VTS,1,1,1140,3.72,CRD,15.0 +VTS,1,1,600,0.94,CRD,7.5 +VTS,1,1,1380,4.55,CRD,18.5 +VTS,1,1,480,1.6,CSH,7.0 +VTS,1,1,360,0.83,CSH,6.0 +VTS,1,1,420,0.86,CSH,6.0 +VTS,3,1,60,0.0,CSH,20.0 +VTS,1,1,540,1.24,CRD,8.0 +VTS,1,1,300,1.47,CRD,6.5 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,780,2.87,CSH,11.5 +VTS,1,1,300,1.21,CSH,6.0 +VTS,1,1,1020,9.16,CRD,26.5 +VTS,1,1,420,1.32,CRD,7.0 +VTS,1,1,960,2.85,CRD,13.5 +VTS,1,1,720,2.0,CSH,10.0 +VTS,1,1,660,1.3,CRD,8.5 +VTS,1,1,360,0.85,CSH,5.5 +VTS,1,1,120,0.54,CSH,4.0 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,2160,4.23,CRD,23.0 +VTS,1,1,900,2.59,CSH,11.5 +VTS,1,1,480,0.93,CRD,7.0 +VTS,1,5,540,1.55,CSH,8.5 +VTS,1,5,840,7.36,CSH,22.0 +VTS,1,5,120,0.95,CSH,5.0 +VTS,2,5,1920,18.45,CRD,52.0 +VTS,1,5,1440,13.48,CRD,38.5 +VTS,1,5,900,4.71,CSH,16.5 +VTS,1,5,1440,12.26,CRD,34.5 +VTS,2,5,1680,20.9,CSH,52.0 +VTS,1,5,1320,6.01,CRD,20.0 +VTS,1,5,780,7.35,CSH,21.5 +VTS,1,5,1560,12.93,CRD,38.5 +VTS,1,5,480,2.83,CRD,10.5 +VTS,1,5,240,1.23,CRD,6.0 +VTS,1,5,360,0.61,CRD,5.5 +VTS,1,5,660,1.29,CRD,8.5 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,720,1.41,CRD,9.5 +VTS,1,1,1920,5.02,CSH,22.5 +VTS,1,1,600,1.97,CRD,9.0 +VTS,1,1,1320,7.3,CSH,23.0 +VTS,1,1,1140,2.35,CRD,13.5 +VTS,1,1,660,2.43,CSH,10.0 +VTS,1,1,600,4.07,CRD,12.5 +VTS,1,1,840,1.57,CRD,9.5 +VTS,1,1,960,2.91,CRD,12.0 +VTS,1,1,420,1.23,CSH,7.0 +VTS,1,1,960,4.49,CRD,16.0 +VTS,1,1,420,1.52,CRD,7.5 +VTS,1,1,1920,7.18,CRD,26.5 +VTS,1,1,840,3.33,CRD,13.5 +VTS,1,1,420,2.37,CSH,9.0 +VTS,1,1,1080,2.93,CSH,13.5 +VTS,1,1,120,0.63,CSH,4.0 +VTS,1,1,180,0.42,CSH,4.0 +VTS,1,1,780,4.22,CSH,14.5 +VTS,1,1,300,1.03,CSH,6.0 +VTS,1,1,660,2.05,CSH,10.0 +VTS,1,1,2520,3.64,CSH,25.0 +VTS,1,1,420,1.35,CSH,7.0 +VTS,1,1,360,1.3,CRD,6.5 +VTS,1,1,420,1.32,CSH,7.0 +VTS,1,1,3900,12.48,CSH,51.0 +VTS,1,1,540,1.9,CRD,8.5 +VTS,1,1,660,3.0,CRD,11.0 +VTS,1,1,720,3.35,CSH,12.5 +VTS,1,1,480,1.2,CSH,7.0 +VTS,1,1,540,1.47,CSH,8.0 +VTS,1,1,240,1.01,CSH,5.0 +VTS,1,1,1080,3.59,CRD,14.5 +VTS,1,1,240,0.82,CSH,5.0 +VTS,1,1,120,0.56,CSH,3.5 +VTS,1,1,1800,5.95,CRD,24.0 +VTS,1,1,1140,5.36,CSH,18.5 +VTS,1,1,720,3.8,CRD,14.0 +VTS,1,1,420,0.79,CSH,6.0 +VTS,1,1,1620,5.96,CRD,22.5 +VTS,1,1,600,4.31,CRD,14.0 +VTS,1,1,540,1.37,CRD,7.5 +VTS,1,1,840,4.17,CSH,14.0 +VTS,1,1,180,0.67,CRD,4.0 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,420,1.22,CRD,6.5 +VTS,1,1,300,1.12,CSH,6.0 +VTS,1,1,1620,6.37,CSH,23.5 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,900,3.79,CSH,14.0 +VTS,1,1,720,1.34,CRD,9.0 +VTS,1,1,1320,4.14,CSH,17.0 +VTS,1,1,2040,8.6,CSH,30.0 +VTS,1,1,480,1.25,CSH,7.0 +VTS,1,1,540,3.16,CRD,11.0 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,540,1.25,CRD,7.5 +VTS,1,1,120,0.56,CSH,4.0 +VTS,1,1,420,1.38,CRD,7.0 +VTS,1,1,360,2.04,CRD,8.0 +VTS,1,1,600,2.97,CSH,11.0 +VTS,1,1,660,1.52,CRD,9.0 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,900,3.08,CSH,12.5 +VTS,1,1,120,0.45,CSH,3.5 +VTS,1,1,240,0.64,CRD,5.0 +VTS,1,1,240,0.75,CRD,5.0 +VTS,1,1,660,1.7,CSH,9.0 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,420,1.21,CRD,7.0 +VTS,1,1,1020,1.61,CSH,12.0 +VTS,2,1,60,0.0,CSH,52.0 +VTS,1,1,840,1.97,CRD,11.0 +VTS,1,1,900,1.54,CRD,11.0 +VTS,1,1,600,1.57,CRD,8.5 +VTS,1,1,1200,6.52,CRD,21.0 +VTS,1,1,780,4.06,CRD,14.5 +VTS,1,1,900,7.05,CSH,22.0 +VTS,1,1,180,0.29,CSH,3.5 +VTS,1,1,540,2.01,CSH,9.0 +VTS,1,1,420,0.61,CSH,6.0 +VTS,1,1,900,4.05,CSH,14.5 +VTS,1,1,2160,4.09,CSH,22.5 +VTS,1,1,900,2.36,CRD,10.5 +VTS,1,1,540,2.54,CRD,9.5 +VTS,1,1,540,1.73,CRD,8.5 +VTS,1,1,1140,4.18,CRD,16.5 +VTS,1,1,120,0.4,CRD,3.5 +VTS,1,1,420,1.39,CSH,7.5 +VTS,1,1,120,0.83,CSH,4.5 +VTS,1,5,840,2.62,CRD,12.0 +VTS,1,5,600,1.17,CSH,8.5 +VTS,1,5,1260,10.09,CSH,30.0 +VTS,2,5,1560,19.08,CSH,52.0 +VTS,1,5,360,1.69,CRD,7.5 +VTS,1,5,1620,19.43,CRD,52.0 +VTS,2,5,2340,18.33,CSH,52.0 +VTS,1,5,660,5.02,CRD,16.5 +VTS,1,5,660,6.92,CSH,20.5 +VTS,1,5,780,1.42,CRD,10.0 +VTS,1,5,480,1.47,CRD,7.5 +VTS,1,5,840,8.49,CRD,24.5 +VTS,1,5,1440,3.95,CRD,18.5 +VTS,1,5,900,4.02,CRD,14.5 +VTS,1,5,720,6.08,CRD,19.0 +VTS,1,5,960,4.56,CSH,16.5 +VTS,1,5,720,3.5,CRD,13.0 +VTS,1,5,660,2.46,CRD,10.0 +VTS,1,5,360,1.5,CSH,7.0 +VTS,1,5,600,1.79,CSH,9.0 +VTS,1,5,780,2.15,CRD,11.0 +VTS,1,5,660,1.4,CRD,8.5 +VTS,1,5,180,0.86,CRD,5.0 +VTS,1,5,660,1.1,CSH,8.5 +VTS,1,5,840,1.67,CRD,10.5 +VTS,1,5,420,1.47,CSH,7.0 +VTS,1,5,420,1.33,CRD,7.0 +VTS,1,5,660,2.16,CRD,10.0 +VTS,1,5,120,0.53,CRD,4.0 +VTS,1,5,540,1.77,CSH,8.5 +VTS,1,5,300,1.09,CSH,6.0 +VTS,2,5,2040,19.34,CRD,52.0 +VTS,1,5,660,2.83,CSH,11.0 +VTS,2,5,3540,17.72,CRD,52.0 +VTS,1,5,1080,9.1,CSH,26.5 +VTS,1,5,540,2.68,CRD,10.0 +VTS,1,5,540,2.9,CRD,11.0 +VTS,1,5,600,0.65,CSH,7.5 +VTS,1,5,720,4.06,CRD,14.5 +VTS,1,5,420,2.26,CSH,9.0 +VTS,5,1,4320,27.59,CRD,86.0 +VTS,1,5,780,6.95,CRD,20.5 +VTS,1,5,180,0.8,CSH,4.5 +VTS,1,5,600,1.59,CRD,8.5 +VTS,1,5,120,0.29,CRD,4.0 +VTS,1,5,600,1.55,CRD,8.0 +VTS,1,5,660,3.84,CSH,13.0 +VTS,1,5,300,1.2,CRD,6.0 +VTS,1,1,240,1.52,CRD,6.5 +VTS,1,1,960,3.24,CSH,13.5 +VTS,1,1,660,1.79,CSH,9.0 +VTS,1,1,1020,6.72,CRD,21.0 +VTS,1,1,600,2.57,CRD,10.0 +VTS,1,1,660,1.59,CRD,9.0 +VTS,1,1,300,0.73,CSH,5.0 +VTS,1,1,540,1.1,CRD,7.5 +VTS,1,1,720,1.7,CRD,9.5 +VTS,1,1,1500,9.73,CRD,30.0 +VTS,1,1,1740,2.33,CSH,18.0 +VTS,1,1,360,1.17,CRD,6.5 +VTS,1,1,480,1.11,CSH,6.5 +VTS,1,1,960,5.45,CRD,18.0 +VTS,1,1,780,3.1,CRD,13.0 +VTS,1,1,480,1.09,CSH,7.0 +VTS,1,1,900,2.39,CRD,11.5 +VTS,1,1,420,1.2,CRD,6.5 +VTS,1,1,120,0.4,CRD,3.5 +VTS,1,1,480,1.19,CRD,7.0 +VTS,1,1,1080,2.77,CSH,11.0 +VTS,1,1,1260,3.43,CRD,15.0 +VTS,1,1,240,0.67,CSH,5.0 +VTS,1,1,660,0.5,CRD,7.5 +VTS,1,1,540,2.43,CSH,9.5 +VTS,1,1,780,3.81,CSH,13.5 +VTS,1,1,420,0.87,CRD,6.0 +VTS,1,1,360,1.0,CRD,6.0 +VTS,1,1,960,4.2,CRD,15.0 +VTS,1,1,240,0.74,CRD,5.0 +VTS,1,1,2640,5.16,CSH,28.0 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,1,660,1.63,CRD,8.5 +VTS,1,1,360,1.5,CRD,7.0 +VTS,1,1,600,1.6,CRD,8.5 +VTS,1,1,600,1.91,CRD,8.5 +VTS,1,5,300,2.88,CRD,9.5 +VTS,1,5,540,2.77,CRD,10.5 +VTS,1,5,540,1.98,CRD,8.5 +VTS,1,5,1740,6.54,CRD,25.0 +VTS,1,5,1080,4.78,CRD,17.5 +VTS,1,5,360,1.67,CSH,8.0 +VTS,1,5,660,1.2,CSH,8.5 +VTS,1,5,120,0.48,CSH,3.5 +VTS,1,5,300,0.78,CSH,5.5 +VTS,1,5,960,2.72,CRD,13.0 +VTS,1,5,780,2.69,CRD,11.5 +VTS,1,5,840,1.19,CRD,10.0 +VTS,1,5,600,1.44,CSH,8.5 +VTS,1,5,660,1.42,CSH,8.5 +VTS,1,5,780,2.65,CSH,11.0 +VTS,1,5,1080,4.09,CRD,16.0 +VTS,1,5,1020,6.99,CRD,22.0 +VTS,2,5,1800,18.28,CRD,52.0 +VTS,1,5,180,1.15,CRD,5.5 +VTS,1,5,600,2.29,CRD,10.0 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,1320,6.65,CRD,22.0 +VTS,1,1,1980,7.73,CRD,27.0 +VTS,1,1,360,3.11,CRD,10.0 +VTS,1,1,840,1.4,CSH,10.0 +VTS,1,1,900,2.22,CRD,11.5 +VTS,1,1,720,1.71,CRD,9.5 +VTS,1,1,720,1.54,CRD,9.0 +VTS,1,1,2160,9.87,CSH,32.0 +VTS,1,5,660,1.05,CRD,8.0 +VTS,1,5,720,1.55,CSH,10.0 +VTS,1,5,300,0.92,CRD,5.5 +VTS,1,5,600,0.95,CRD,8.0 +VTS,1,5,300,1.2,CRD,6.5 +VTS,1,5,600,3.41,CRD,12.0 +VTS,1,5,480,2.45,CSH,10.0 +VTS,2,5,1680,15.71,CSH,52.0 +VTS,1,5,1020,3.08,CSH,13.5 +VTS,1,5,420,0.99,CSH,6.0 +VTS,1,5,600,1.68,CRD,8.5 +VTS,1,5,600,5.54,CSH,17.0 +VTS,1,5,720,1.79,CRD,10.0 +VTS,1,5,180,0.52,CRD,4.5 +VTS,1,5,360,1.22,CRD,6.5 +VTS,1,5,720,2.26,CRD,10.5 +VTS,1,5,780,2.16,CRD,11.0 +VTS,1,1,540,1.88,CRD,8.5 +VTS,1,1,240,0.91,CRD,5.0 +VTS,1,1,1260,2.87,CSH,13.0 +VTS,1,1,780,2.79,CRD,11.5 +VTS,1,1,600,1.21,CSH,8.0 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,5,1380,5.96,CSH,21.5 +VTS,2,5,2400,21.04,CSH,52.0 +VTS,1,5,60,0.09,CSH,2.5 +VTS,2,5,1560,17.7,CRD,52.0 +VTS,1,5,1140,10.05,CSH,29.0 +VTS,1,5,660,2.41,CSH,10.5 +VTS,1,5,240,1.26,CSH,6.0 +VTS,1,5,420,2.36,CRD,9.5 +VTS,1,5,360,1.64,CSH,7.5 +VTS,1,5,240,1.04,CRD,5.5 +VTS,1,5,660,1.47,CSH,9.0 +VTS,1,5,1320,3.83,CRD,17.0 +VTS,1,5,1200,2.58,CSH,14.5 +VTS,1,5,240,0.68,CSH,5.0 +VTS,1,5,240,0.87,CSH,5.0 +VTS,1,5,960,3.34,CSH,14.0 +VTS,1,5,660,1.61,CRD,9.0 +VTS,1,5,1140,5.28,CSH,19.0 +VTS,1,5,180,0.98,CRD,5.0 +VTS,1,5,540,2.35,CRD,9.5 +VTS,1,1,240,0.55,CSH,5.0 +VTS,1,1,420,0.88,CSH,6.0 +VTS,1,1,180,1.15,CRD,5.5 +VTS,1,1,360,0.83,CRD,6.0 +VTS,1,1,1320,4.5,CSH,17.5 +VTS,1,1,1080,3.74,CRD,16.0 +VTS,1,1,540,1.89,CRD,8.5 +VTS,1,1,660,3.32,CRD,12.0 +VTS,1,1,1200,2.64,CSH,14.0 +VTS,1,5,1320,11.84,CRD,33.5 +VTS,1,5,180,0.56,CRD,4.5 +VTS,1,5,1020,4.66,CSH,16.5 +VTS,1,5,1080,3.16,CRD,14.5 +VTS,5,1,0,0.0,CRD,57.5 +VTS,1,5,360,1.41,CSH,7.0 +VTS,1,5,540,3.38,CRD,12.5 +VTS,1,5,1080,6.41,CSH,21.0 +VTS,2,5,2520,21.09,CRD,52.0 +VTS,1,5,240,0.87,CSH,5.0 +VTS,1,5,1560,11.43,CSH,34.0 +VTS,1,5,360,0.81,CRD,6.0 +VTS,1,5,360,1.52,CSH,7.0 +VTS,1,5,900,5.81,CRD,19.0 +VTS,1,5,960,2.61,CRD,12.5 +VTS,2,5,1860,20.92,CRD,52.0 +VTS,2,5,3840,20.92,CSH,52.0 +VTS,2,5,2520,22.06,CSH,52.0 +VTS,1,5,540,1.45,CRD,8.0 +VTS,1,5,600,1.0,CRD,7.5 +VTS,1,5,360,1.55,CRD,7.0 +VTS,1,5,720,2.69,CSH,11.0 +VTS,1,5,300,1.34,CRD,6.5 +VTS,1,5,300,1.19,CSH,5.5 +VTS,1,5,900,4.28,CSH,15.0 +VTS,1,5,420,1.97,CRD,8.5 +VTS,2,5,2460,22.47,CSH,52.0 +VTS,1,5,900,4.91,CRD,17.5 +VTS,1,5,780,5.58,CSH,18.5 +VTS,1,5,720,1.97,CRD,10.0 +VTS,1,5,360,1.16,CRD,6.5 +VTS,1,5,900,2.92,CRD,13.0 +VTS,1,5,720,2.66,CRD,11.0 +VTS,1,5,900,2.38,CRD,12.0 +VTS,1,5,540,1.33,CRD,8.0 +VTS,1,5,780,4.88,CSH,16.0 +VTS,1,5,480,1.16,CSH,7.5 +VTS,2,5,1440,18.18,CRD,52.0 +VTS,1,3,720,2.96,CRD,12.0 +VTS,1,2,300,0.77,CSH,5.5 +VTS,1,3,180,0.82,CRD,5.0 +VTS,1,2,360,1.43,CRD,7.0 +VTS,1,2,720,3.12,CRD,12.0 +VTS,1,3,420,2.59,CRD,10.0 +VTS,1,1,360,1.21,CRD,7.0 +VTS,1,1,480,1.98,CRD,7.5 +VTS,1,1,1200,6.53,CRD,21.0 +VTS,1,1,720,2.12,CRD,10.0 +VTS,1,1,600,3.66,CSH,12.5 +VTS,1,1,1560,6.23,CRD,22.0 +VTS,1,1,900,3.0,CRD,13.0 +VTS,1,1,660,2.03,CSH,9.0 +VTS,1,1,480,1.83,CSH,8.0 +VTS,1,1,300,1.28,CSH,6.0 +VTS,1,1,2040,5.53,CRD,25.5 +VTS,1,1,720,5.44,CSH,17.0 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,840,1.26,CRD,10.0 +VTS,1,1,720,2.42,CRD,10.0 +VTS,1,1,1020,3.7,CRD,14.5 +VTS,1,1,120,0.66,CSH,4.0 +VTS,1,1,420,1.48,CRD,7.5 +VTS,1,1,660,2.13,CRD,9.0 +VTS,1,1,360,1.23,CSH,6.5 +VTS,1,1,900,1.23,CRD,10.0 +VTS,1,1,360,1.74,CRD,7.0 +VTS,1,1,540,1.34,CRD,8.0 +VTS,1,1,720,3.78,CRD,13.5 +VTS,1,1,420,1.38,CRD,7.0 +VTS,1,1,480,1.91,CRD,8.0 +VTS,1,1,1380,5.52,CRD,20.5 +VTS,1,1,1500,5.26,CRD,20.5 +VTS,1,1,1200,4.7,CSH,18.0 +VTS,1,5,1140,2.46,CRD,14.0 +VTS,1,5,420,0.61,CSH,6.0 +VTS,1,5,420,1.48,CRD,7.5 +VTS,1,5,660,2.91,CSH,11.5 +VTS,1,5,300,1.64,CRD,7.0 +VTS,1,5,600,2.26,CSH,9.5 +VTS,1,5,180,1.62,CRD,6.5 +VTS,1,5,660,6.96,CSH,20.0 +VTS,1,5,60,0.41,CSH,3.5 +VTS,1,5,540,1.93,CSH,8.5 +VTS,2,5,1920,20.6,CSH,52.0 +VTS,1,5,720,1.64,CRD,9.5 +VTS,1,5,360,3.04,CRD,10.5 +VTS,1,5,1920,12.18,CSH,37.0 +VTS,1,5,660,3.25,CSH,12.0 +VTS,1,5,1320,13.08,CRD,37.0 +VTS,1,5,360,1.75,CSH,8.0 +VTS,1,5,540,1.85,CRD,9.0 +VTS,1,5,240,1.14,CRD,5.5 +VTS,1,5,1020,3.32,CSH,14.5 +VTS,1,5,180,0.72,CSH,4.0 +VTS,1,5,420,1.52,CRD,7.5 +VTS,1,5,600,1.68,CSH,8.5 +VTS,1,5,300,0.8,CSH,5.5 +VTS,1,5,1260,9.78,CRD,30.0 +VTS,1,5,360,0.93,CSH,6.0 +VTS,1,5,1380,11.23,CRD,32.5 +VTS,1,5,1320,4.01,CRD,18.0 +VTS,1,5,360,1.97,CSH,8.0 +VTS,1,5,300,0.68,CRD,5.5 +VTS,1,5,420,1.17,CRD,7.0 +VTS,1,5,1080,10.26,CSH,29.0 +VTS,1,5,420,1.22,CRD,7.0 +VTS,1,5,900,6.89,CRD,21.0 +VTS,1,5,540,1.52,CSH,8.5 +VTS,1,5,420,1.43,CSH,7.0 +VTS,1,5,60,0.48,CSH,3.5 +VTS,1,5,720,3.76,CSH,14.5 +VTS,1,5,300,1.16,CRD,6.0 +VTS,1,5,720,3.91,CRD,13.5 +VTS,1,5,240,0.75,CRD,5.0 +VTS,1,5,360,1.79,CSH,7.5 +VTS,1,5,1200,3.01,CSH,15.0 +VTS,1,5,1560,3.94,CRD,19.0 +VTS,1,5,240,0.95,CRD,5.5 +VTS,1,5,780,5.83,CSH,17.5 +VTS,1,5,960,5.24,CRD,18.0 +VTS,1,2,540,2.32,CSH,10.0 +VTS,1,3,660,5.38,CSH,17.5 +VTS,1,2,420,1.87,CSH,8.0 +VTS,1,2,420,2.42,CSH,9.5 +VTS,1,2,240,0.99,CRD,5.5 +VTS,1,5,840,8.81,CSH,25.0 +VTS,1,5,540,2.0,CSH,9.5 +VTS,1,5,1560,14.03,CSH,39.5 +VTS,1,5,240,0.72,CSH,5.5 +VTS,1,5,360,1.43,CRD,6.5 +VTS,2,5,1440,17.67,CSH,52.0 +VTS,1,5,720,3.68,CSH,13.5 +VTS,1,5,120,0.26,CRD,3.5 +VTS,1,5,120,0.4,CRD,4.0 +VTS,1,5,660,2.7,CSH,12.0 +VTS,1,5,1560,6.94,CSH,24.0 +VTS,1,5,660,2.64,CRD,10.5 +VTS,1,5,480,2.14,CRD,9.0 +VTS,1,5,420,2.57,CRD,9.0 +VTS,1,5,420,1.8,CSH,8.5 +VTS,1,5,720,4.42,CRD,15.0 +VTS,1,5,300,1.23,CRD,6.5 +VTS,1,5,300,2.73,CSH,9.5 +VTS,1,5,840,1.61,CRD,10.0 +VTS,1,5,720,1.59,CRD,9.5 +VTS,1,5,1140,4.39,CRD,17.5 +VTS,1,5,420,1.12,CSH,7.0 +VTS,2,5,3180,17.29,CRD,52.0 +VTS,1,5,420,0.82,CRD,6.0 +VTS,1,5,360,0.91,CRD,6.0 +VTS,1,5,840,4.77,CRD,16.5 +VTS,1,2,720,1.0,CRD,8.5 +VTS,1,2,1080,2.3,CRD,12.5 +VTS,1,2,1320,8.18,CRD,26.5 +VTS,1,3,480,1.26,CRD,7.0 +VTS,1,3,600,1.65,CSH,8.5 +VTS,1,2,120,0.27,CSH,3.0 +VTS,1,3,1080,2.91,CSH,14.5 +VTS,1,2,540,1.44,CSH,7.5 +VTS,1,2,360,1.62,CSH,7.0 +VTS,1,2,1020,4.07,CSH,15.5 +VTS,1,4,660,2.06,CSH,10.0 +VTS,1,2,660,1.86,CSH,9.5 +VTS,1,2,660,2.13,CRD,9.5 +VTS,1,2,420,1.49,CSH,7.5 +VTS,1,2,780,5.16,CRD,17.5 +VTS,1,3,420,0.88,CRD,6.5 +VTS,1,3,840,1.48,CSH,10.5 +VTS,1,3,840,2.3,CRD,11.5 +VTS,1,2,420,1.43,CSH,7.5 +VTS,1,2,1020,1.96,CRD,12.5 +VTS,1,2,780,2.08,CRD,10.5 +VTS,1,2,360,1.42,CRD,7.0 +VTS,1,3,300,1.22,CSH,6.0 +VTS,1,2,780,2.11,CRD,10.5 +VTS,1,3,480,0.77,CSH,6.5 +VTS,1,2,1320,5.61,CSH,20.0 +VTS,1,1,360,0.79,CRD,5.5 +VTS,1,1,360,1.61,CRD,7.0 +VTS,1,1,540,1.75,CRD,8.5 +VTS,5,1,0,0.0,CRD,90.0 +VTS,1,1,540,1.08,CSH,7.5 +VTS,1,1,540,2.48,CSH,10.0 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,300,0.61,CRD,5.0 +VTS,1,5,1500,10.5,CRD,31.5 +VTS,1,5,360,1.28,CSH,6.5 +VTS,1,5,600,2.28,CRD,9.5 +VTS,1,5,180,1.51,CSH,6.0 +VTS,1,5,600,1.07,CRD,7.5 +VTS,1,5,600,1.4,CSH,8.5 +VTS,1,5,120,0.97,CSH,4.5 +VTS,1,5,720,2.65,CSH,11.0 +VTS,1,5,360,2.04,CRD,8.0 +VTS,1,5,480,1.55,CSH,8.5 +VTS,1,5,1320,11.99,CRD,34.5 +VTS,1,5,720,1.46,CSH,9.5 +VTS,1,5,300,0.74,CSH,6.0 +VTS,1,5,480,3.37,CSH,11.0 +VTS,1,5,720,4.26,CRD,14.0 +VTS,1,5,1140,8.81,CSH,26.5 +VTS,1,5,600,2.3,CRD,10.0 +VTS,1,5,1260,4.54,CRD,18.5 +VTS,1,5,600,1.63,CRD,9.0 +VTS,1,1,720,1.74,CRD,9.5 +VTS,1,1,180,0.53,CRD,4.5 +VTS,1,1,780,1.71,CSH,10.0 +VTS,1,1,960,3.62,CSH,14.5 +VTS,1,1,1140,5.81,CRD,20.5 +VTS,1,1,360,0.82,CRD,6.0 +VTS,1,1,1920,18.61,CSH,52.0 +VTS,1,1,1500,12.28,CSH,35.5 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,360,1.73,CRD,7.0 +VTS,1,1,960,3.67,CSH,14.0 +VTS,1,1,1140,7.29,CRD,21.5 +VTS,1,1,240,0.48,CSH,4.5 +VTS,1,1,420,1.36,CSH,7.0 +VTS,1,1,420,1.23,CSH,7.0 +VTS,1,1,240,0.7,CRD,5.0 +VTS,1,1,660,1.99,CSH,9.5 +VTS,1,1,600,1.93,CRD,9.0 +VTS,1,1,240,0.72,CSH,5.0 +VTS,1,1,660,2.76,CRD,11.0 +VTS,1,1,1140,2.48,CRD,14.0 +VTS,1,1,300,0.98,CSH,6.0 +VTS,1,1,300,1.85,CSH,7.0 +VTS,1,1,300,1.15,CSH,6.0 +VTS,1,1,120,0.0,CSH,3.0 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,780,3.18,CRD,12.0 +VTS,1,1,1020,3.91,CRD,14.5 +VTS,1,1,180,0.46,CRD,4.0 +VTS,1,1,1200,3.93,CRD,17.0 +VTS,1,1,180,0.52,CSH,4.5 +VTS,1,1,780,2.07,CRD,10.0 +VTS,1,1,1200,4.93,CSH,17.5 +VTS,1,1,420,1.18,CRD,7.0 +VTS,1,1,1260,9.88,CSH,29.5 +VTS,1,1,540,1.31,CSH,7.5 +VTS,1,1,660,2.66,CRD,11.5 +VTS,1,1,1080,4.6,CRD,16.5 +VTS,5,2,1200,5.72,CRD,45.0 +VTS,1,5,600,5.22,CSH,16.0 +VTS,1,5,300,1.21,CSH,6.5 +VTS,1,5,720,1.15,CSH,9.0 +VTS,2,5,1740,19.77,CRD,52.0 +VTS,1,5,480,3.03,CRD,11.0 +VTS,1,5,600,5.65,CSH,17.5 +VTS,1,5,660,2.28,CSH,10.0 +VTS,1,5,900,2.42,CRD,11.5 +VTS,1,5,300,1.08,CRD,6.0 +VTS,1,5,1020,3.18,CRD,14.5 +VTS,2,5,1380,17.33,CSH,52.0 +VTS,1,5,960,4.38,CRD,16.5 +VTS,1,5,540,1.26,CRD,8.0 +VTS,1,5,900,4.57,CRD,16.0 +VTS,1,5,240,0.91,CRD,5.5 +VTS,1,5,1800,21.89,CRD,58.5 +VTS,1,5,120,0.8,CSH,4.5 +VTS,2,2,1740,17.57,CSH,52.0 +VTS,1,2,180,0.51,CSH,4.0 +VTS,1,3,480,0.99,CSH,7.0 +VTS,1,2,720,1.83,CSH,9.5 +VTS,1,2,600,1.9,CRD,9.0 +VTS,1,2,1080,4.53,CRD,17.0 +VTS,1,2,540,0.76,CRD,7.5 +VTS,1,3,480,1.09,CSH,7.5 +VTS,1,2,600,2.09,CSH,9.5 +VTS,1,2,420,1.63,CSH,7.5 +VTS,1,3,480,1.45,CSH,7.5 +VTS,1,3,420,2.28,CRD,9.0 +VTS,1,3,300,1.28,CRD,6.0 +VTS,1,2,420,1.89,CRD,8.5 +VTS,1,2,360,0.75,CSH,6.0 +VTS,1,2,600,1.83,CRD,9.0 +VTS,1,2,420,0.81,CRD,6.0 +VTS,1,2,540,1.39,CRD,8.0 +VTS,1,2,1200,10.65,CRD,31.0 +VTS,1,4,480,1.63,CRD,7.5 +VTS,1,2,900,4.45,CRD,16.5 +VTS,1,3,720,1.98,CRD,10.5 +VTS,1,2,420,2.24,CRD,9.0 +VTS,1,2,660,1.73,CSH,9.5 +VTS,1,2,900,3.29,CRD,13.5 +VTS,1,2,540,1.58,CSH,8.0 +VTS,1,5,1380,6.2,CSH,21.5 +VTS,2,5,1800,25.44,CSH,52.0 +VTS,1,2,660,5.69,CSH,17.5 +VTS,1,2,720,1.78,CRD,10.0 +VTS,1,3,300,1.01,CRD,5.5 +VTS,1,3,840,2.49,CSH,11.5 +VTS,1,2,960,1.35,CRD,10.5 +VTS,1,2,420,1.31,CRD,6.5 +VTS,1,3,360,1.12,CRD,6.5 +VTS,1,3,300,1.06,CRD,6.0 +VTS,1,2,720,1.33,CSH,9.5 +VTS,1,2,360,0.83,CSH,6.0 +VTS,1,1,720,6.28,CRD,19.0 +VTS,1,2,600,0.68,CRD,7.5 +VTS,1,2,1020,2.49,CRD,13.5 +VTS,1,3,660,2.46,CSH,10.5 +VTS,1,3,540,1.17,CSH,7.5 +VTS,1,2,240,1.1,CSH,5.5 +VTS,1,2,540,1.67,CSH,8.0 +VTS,1,2,660,1.88,CRD,9.5 +VTS,1,2,540,2.0,CRD,9.0 +VTS,1,2,660,0.9,CRD,8.0 +VTS,1,3,300,1.3,CRD,6.5 +VTS,1,2,1260,1.57,CRD,14.0 +VTS,1,3,480,1.79,CSH,7.5 +VTS,1,3,1020,3.7,CSH,15.0 +VTS,1,5,1560,8.7,CRD,29.5 +VTS,1,5,420,2.02,CRD,8.5 +VTS,1,5,660,4.59,CSH,15.5 +VTS,1,2,540,1.82,CSH,9.0 +VTS,1,2,600,3.32,CRD,11.5 +VTS,1,2,600,1.06,CRD,8.0 +VTS,1,2,540,1.48,CSH,7.5 +VTS,1,2,780,2.15,CSH,10.5 +VTS,1,3,360,1.35,CSH,6.5 +VTS,1,3,780,2.43,CRD,11.5 +VTS,1,3,780,1.72,CRD,10.0 +VTS,1,2,240,0.94,CSH,5.0 +VTS,1,2,420,2.54,CSH,9.5 +VTS,1,3,600,2.75,CRD,10.5 +VTS,1,2,600,3.09,CSH,11.0 +VTS,1,3,480,1.93,CSH,8.0 +VTS,1,2,480,1.46,CSH,7.5 +VTS,1,3,540,1.1,CRD,7.5 +VTS,1,3,480,1.84,CRD,8.5 +VTS,1,2,1020,3.4,CRD,15.5 +VTS,1,3,300,1.34,CRD,6.5 +VTS,1,2,600,5.32,CSH,16.5 +VTS,1,3,540,0.89,CRD,7.5 +VTS,1,2,480,1.55,CRD,7.5 +VTS,1,2,1020,3.57,CSH,14.5 +VTS,1,3,420,1.31,CRD,7.0 +VTS,1,5,1440,3.06,CRD,16.0 +VTS,1,5,480,2.95,CRD,10.0 +VTS,1,5,480,1.38,CRD,7.5 +VTS,1,5,1500,10.56,CSH,32.0 +VTS,1,5,2640,16.26,CSH,47.0 +VTS,2,5,1500,18.48,CSH,52.0 +VTS,1,2,420,1.08,CSH,6.5 +VTS,1,3,540,2.54,CRD,10.0 +VTS,1,2,540,1.94,CRD,8.5 +VTS,1,2,60,0.01,CSH,3.0 +VTS,1,2,480,1.37,CRD,7.5 +VTS,1,2,900,2.91,CRD,13.5 +VTS,1,3,540,1.55,CSH,8.5 +VTS,1,1,480,0.52,CSH,6.0 +VTS,1,3,420,1.05,CRD,6.5 +VTS,1,3,420,1.42,CRD,7.5 +VTS,1,3,1020,4.08,CRD,15.0 +VTS,1,3,780,2.52,CSH,11.5 +VTS,2,1,1620,19.35,CRD,52.0 +VTS,1,3,240,0.88,CRD,5.0 +VTS,1,2,780,1.53,CSH,10.0 +VTS,1,2,300,1.07,CSH,6.0 +VTS,1,3,540,1.08,CRD,7.5 +VTS,1,3,840,1.76,CRD,10.5 +VTS,1,2,540,1.29,CRD,8.0 +VTS,1,2,1080,6.62,CSH,22.5 +VTS,1,2,840,2.73,CSH,13.0 +VTS,1,2,600,1.16,CSH,8.0 +VTS,1,2,600,1.74,CRD,9.0 +VTS,1,3,780,2.65,CRD,11.5 +VTS,1,2,660,3.57,CRD,13.0 +VTS,1,2,120,0.8,CSH,4.5 +VTS,1,2,900,2.48,CRD,12.5 +VTS,1,2,900,3.6,CRD,13.5 +VTS,1,2,300,0.9,CRD,5.5 +VTS,1,3,360,1.2,CSH,6.5 +VTS,1,3,720,3.34,CSH,12.5 +VTS,1,2,300,1.04,CRD,5.5 +VTS,1,3,540,0.81,CSH,7.5 +VTS,1,2,300,0.72,CSH,5.0 +VTS,1,3,480,1.53,CSH,7.5 +VTS,1,2,1080,3.4,CRD,14.5 +VTS,1,2,960,1.59,CSH,11.5 +VTS,1,3,900,1.76,CRD,11.5 +VTS,1,2,180,0.88,CSH,4.5 +VTS,1,2,120,0.45,CRD,4.0 +VTS,1,2,180,0.64,CSH,5.0 +VTS,1,2,1080,2.43,CSH,13.0 +VTS,1,3,840,1.14,CRD,10.0 +VTS,1,2,900,1.57,CRD,10.5 +VTS,1,2,540,1.18,CRD,7.5 +VTS,1,2,1380,6.37,CSH,24.0 +VTS,1,2,420,1.45,CSH,7.5 +VTS,1,2,300,0.94,CRD,5.5 +VTS,1,3,1500,1.56,CRD,15.5 +VTS,1,2,660,0.91,CRD,8.5 +VTS,1,3,960,1.62,CSH,11.5 +VTS,1,2,480,0.91,CRD,6.5 +VTS,1,2,780,1.56,CRD,9.5 +VTS,1,1,300,0.89,CSH,6.0 +VTS,1,2,300,0.94,CSH,5.5 +VTS,1,3,840,8.55,CRD,24.5 +VTS,1,2,1140,9.6,CRD,28.0 +VTS,1,2,540,2.47,CRD,10.0 +VTS,1,2,300,1.22,CRD,6.5 +VTS,1,2,720,5.77,CSH,17.5 +VTS,1,2,840,2.99,CRD,12.5 +VTS,1,2,1020,2.47,CSH,13.5 +VTS,1,3,1080,2.05,CRD,13.0 +VTS,1,2,420,1.08,CRD,6.5 +VTS,1,2,360,1.76,CRD,8.0 +VTS,1,3,120,0.52,CSH,4.0 +VTS,1,3,180,0.6,CSH,4.5 +VTS,1,3,1020,6.74,CRD,22.0 +VTS,1,2,180,0.76,CSH,5.0 +VTS,1,3,360,0.59,CRD,5.5 +VTS,1,3,480,1.8,CRD,8.0 +VTS,1,3,480,1.53,CSH,8.5 +VTS,1,5,660,1.69,CRD,9.5 +VTS,1,5,1500,10.83,CSH,32.0 +VTS,1,5,720,4.3,CRD,14.5 +VTS,1,5,1320,4.01,CRD,17.0 +VTS,1,5,600,3.3,CSH,11.5 +VTS,1,5,720,2.4,CRD,11.0 +VTS,1,5,2520,6.37,CSH,31.5 +VTS,1,5,1680,18.34,CRD,49.5 +VTS,1,5,600,1.33,CRD,8.0 +VTS,1,5,540,4.69,CRD,15.0 +VTS,1,5,300,2.04,CSH,8.0 +VTS,1,5,300,1.79,CRD,7.0 +VTS,1,5,720,1.71,CRD,8.5 +VTS,1,5,300,1.03,CRD,6.0 +VTS,1,5,180,0.53,CSH,4.5 +VTS,1,5,1020,2.95,CRD,13.0 +VTS,1,5,1440,2.67,CSH,16.5 +VTS,1,5,720,1.96,CRD,9.5 +VTS,2,1,1200,16.46,CSH,52.0 +VTS,1,3,360,0.65,CRD,5.5 +VTS,1,2,720,4.1,CSH,13.5 +VTS,1,2,1440,6.09,CRD,23.0 +VTS,1,2,900,9.29,CRD,25.5 +VTS,1,2,900,1.64,CRD,11.5 +VTS,1,2,360,1.06,CRD,6.5 +VTS,1,2,720,1.85,CSH,10.0 +VTS,1,1,720,1.84,CRD,9.5 +VTS,1,2,360,0.56,CSH,5.5 +VTS,1,3,420,1.2,CSH,6.5 +VTS,1,2,720,1.57,CSH,9.5 +VTS,1,2,420,1.64,CSH,7.5 +VTS,1,2,420,1.79,CRD,8.0 +VTS,1,2,840,2.76,CRD,12.0 +VTS,1,3,180,0.66,CSH,4.5 +VTS,1,2,420,1.0,CSH,6.5 +VTS,1,2,120,0.55,CRD,4.0 +VTS,1,2,240,1.35,CRD,6.5 +VTS,1,2,120,1.11,CSH,5.0 +VTS,1,2,900,1.16,CRD,10.5 +VTS,1,2,60,0.55,CSH,3.5 +VTS,1,3,360,1.55,CRD,7.5 +VTS,1,3,240,1.0,CSH,5.5 +VTS,1,2,600,1.83,CRD,9.0 +VTS,1,2,960,3.73,CRD,14.5 +VTS,1,2,360,1.31,CRD,7.0 +VTS,1,2,1680,4.38,CRD,20.5 +VTS,1,3,600,1.57,CRD,8.5 +VTS,1,2,780,1.7,CSH,10.0 +VTS,1,2,1920,3.95,CSH,21.5 +VTS,1,2,1260,2.18,CRD,14.0 +VTS,1,2,480,0.73,CRD,6.5 +VTS,1,2,960,3.77,CSH,14.0 +VTS,1,3,840,2.17,CRD,11.5 +VTS,1,2,240,0.75,CRD,5.0 +VTS,1,3,780,1.43,CSH,10.0 +VTS,1,3,1260,2.9,CSH,15.0 +VTS,1,2,360,0.44,CRD,5.5 +VTS,1,2,480,2.13,CSH,9.0 +VTS,1,2,840,3.03,CSH,12.5 +VTS,1,2,360,0.74,CRD,5.5 +VTS,1,4,480,1.59,CRD,8.0 +VTS,1,3,660,4.9,CRD,16.5 +VTS,1,2,420,1.52,CRD,7.5 +VTS,1,2,540,2.51,CRD,9.5 +VTS,1,3,480,1.54,CRD,7.0 +VTS,1,2,480,1.56,CRD,8.0 +VTS,1,2,780,2.19,CSH,11.0 +VTS,1,3,420,1.18,CRD,7.0 +VTS,1,2,360,0.79,CRD,6.0 +VTS,1,2,600,1.83,CRD,9.5 +VTS,1,2,780,1.6,CRD,10.5 +VTS,1,2,600,1.63,CSH,8.5 +VTS,1,3,1020,3.65,CSH,16.0 +VTS,1,2,480,2.76,CSH,10.0 +VTS,1,2,300,0.62,CRD,5.5 +VTS,1,2,480,1.09,CRD,7.5 +VTS,1,2,420,1.17,CRD,6.5 +VTS,1,2,120,0.73,CSH,4.5 +VTS,1,3,960,3.76,CRD,14.5 +VTS,1,3,480,1.11,CSH,7.0 +VTS,1,2,2640,19.69,CRD,55.0 +VTS,1,2,600,2.01,CRD,10.0 +VTS,1,2,420,0.97,CSH,6.5 +VTS,1,2,780,3.22,CSH,12.5 +VTS,1,2,900,2.46,CRD,13.0 +VTS,1,3,960,2.37,CSH,13.0 +VTS,1,3,720,1.7,CSH,9.5 +VTS,1,3,120,0.67,CSH,4.0 +VTS,1,3,600,0.77,CSH,7.5 +VTS,1,3,300,1.08,CRD,6.0 +VTS,1,3,1140,4.42,CRD,16.5 +VTS,1,3,300,1.23,CRD,6.5 +VTS,1,3,780,1.2,CRD,9.0 +VTS,1,2,120,0.58,CRD,4.0 +VTS,1,3,240,0.58,CRD,5.0 +VTS,1,2,1020,5.34,CRD,19.0 +VTS,1,2,180,0.71,CSH,4.5 +VTS,1,2,660,2.65,CRD,11.0 +VTS,1,2,300,2.0,CSH,7.5 +VTS,1,2,540,1.96,CRD,8.5 +VTS,1,3,960,2.68,CSH,13.5 +VTS,1,2,180,0.82,CRD,5.0 +VTS,1,2,480,2.57,CRD,9.5 +VTS,1,2,720,3.31,CRD,13.0 +VTS,1,2,540,2.76,CRD,10.5 +VTS,1,2,660,2.24,CRD,10.0 +VTS,1,2,660,2.72,CSH,10.5 +VTS,1,2,240,0.79,CRD,5.5 +VTS,1,2,960,3.1,CSH,13.5 +VTS,1,3,960,2.72,CRD,13.0 +VTS,1,2,660,3.28,CSH,12.0 +VTS,1,2,300,0.95,CSH,5.5 +VTS,1,2,480,1.26,CSH,7.5 +VTS,1,2,600,1.22,CSH,8.5 +VTS,1,3,1920,7.42,CRD,27.5 +VTS,1,3,960,3.18,CSH,14.0 +VTS,1,3,300,1.15,CSH,6.0 +VTS,1,3,420,1.2,CRD,7.0 +VTS,1,3,960,1.5,CSH,11.0 +VTS,1,2,180,0.77,CRD,4.5 +VTS,1,2,480,1.32,CSH,7.5 +VTS,1,4,1020,3.12,CRD,14.0 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,3,1140,4.37,CSH,17.5 +VTS,1,2,360,1.8,CSH,7.5 +VTS,1,2,600,1.45,CSH,9.0 +VTS,2,2,3300,16.56,CRD,52.0 +VTS,1,2,420,0.85,CRD,6.5 +VTS,1,3,900,2.72,CRD,12.5 +VTS,1,2,480,2.32,CRD,9.5 +VTS,1,5,240,1.1,CSH,5.5 +VTS,1,5,240,0.75,CSH,5.0 +VTS,1,5,180,0.36,CSH,4.0 +VTS,1,5,720,2.8,CRD,13.0 +VTS,1,5,420,1.74,CRD,8.0 +VTS,1,5,1260,4.06,CSH,17.5 +VTS,1,5,900,5.15,CRD,17.0 +VTS,1,5,420,1.96,CRD,8.0 +VTS,1,5,1080,8.06,CSH,24.0 +VTS,1,5,600,1.9,CSH,9.0 +VTS,1,5,1140,5.32,CRD,19.0 +VTS,1,5,240,1.05,CSH,5.0 +VTS,1,5,720,2.85,CSH,11.5 +VTS,1,5,1260,14.55,CSH,39.5 +VTS,1,5,1140,11.02,CRD,31.5 +VTS,1,5,1200,6.35,CSH,22.0 +VTS,1,5,780,2.6,CRD,12.0 +VTS,1,5,1440,7.44,CRD,24.5 +VTS,1,5,1080,2.83,CSH,14.0 +VTS,1,5,660,2.12,CRD,10.0 +VTS,1,5,720,2.85,CRD,11.5 +VTS,1,5,120,0.63,CRD,4.0 +VTS,1,5,600,1.42,CRD,8.5 +VTS,1,5,660,4.48,CRD,15.0 +VTS,1,2,780,4.93,CSH,16.0 +VTS,1,2,540,4.13,CRD,14.0 +VTS,1,2,300,0.68,CSH,5.5 +VTS,1,2,540,2.05,CSH,9.0 +VTS,1,2,1440,2.68,CSH,16.0 +VTS,1,2,540,1.19,CSH,8.0 +VTS,1,2,1020,2.52,CSH,13.5 +VTS,1,2,180,0.38,CRD,4.0 +VTS,1,2,780,2.7,CRD,11.5 +VTS,1,3,180,0.38,CSH,3.5 +VTS,1,2,660,2.12,CSH,10.0 +VTS,1,3,480,1.6,CSH,8.5 +VTS,1,2,1080,5.47,CRD,20.0 +VTS,1,3,660,1.09,CSH,8.0 +VTS,1,3,480,2.59,CRD,10.0 +VTS,1,2,240,1.3,CSH,6.0 +VTS,1,2,240,0.98,CSH,5.5 +VTS,1,2,420,1.16,CRD,7.0 +VTS,1,2,180,0.54,CSH,4.0 +VTS,1,2,540,1.84,CSH,9.0 +VTS,1,3,660,2.17,CSH,10.0 +VTS,1,2,1020,5.86,CRD,20.0 +VTS,1,3,480,1.76,CSH,8.0 +VTS,1,2,180,0.86,CRD,4.5 +VTS,1,3,240,0.54,CRD,4.5 +VTS,1,2,420,0.83,CSH,6.5 +VTS,1,2,720,1.95,CRD,10.0 +VTS,1,3,1080,4.68,CRD,17.0 +VTS,1,2,120,0.53,CSH,4.0 +VTS,1,2,900,5.3,CSH,18.5 +VTS,1,2,1080,6.4,CRD,22.5 +VTS,1,3,480,1.26,CRD,7.5 +VTS,1,2,420,2.15,CRD,9.5 +VTS,1,3,540,0.86,CSH,7.0 +VTS,1,2,180,1.06,CRD,5.5 +VTS,1,3,300,1.26,CRD,6.0 +VTS,1,2,720,2.39,CSH,10.5 +VTS,1,2,840,3.31,CSH,13.0 +VTS,1,2,600,1.27,CSH,8.5 +VTS,1,2,300,1.03,CSH,6.0 +VTS,1,2,180,0.84,CSH,4.5 +VTS,1,2,1080,4.86,CRD,17.0 +VTS,1,2,600,1.66,CSH,9.0 +VTS,1,2,300,1.06,CRD,6.0 +VTS,1,3,360,1.47,CSH,7.0 +VTS,1,2,300,1.5,CSH,6.5 +VTS,1,3,300,1.49,CSH,6.5 +VTS,1,3,300,0.8,CRD,5.5 +VTS,1,2,840,2.37,CSH,11.5 +VTS,1,3,180,0.47,CRD,4.0 +VTS,1,2,1140,2.28,CSH,13.5 +VTS,1,2,60,0.3,CSH,3.5 +VTS,1,2,540,1.41,CSH,8.0 +VTS,1,3,240,0.86,CSH,5.5 +VTS,1,2,1020,3.29,CSH,14.5 +VTS,1,3,540,0.85,CSH,7.0 +VTS,1,3,300,0.84,CRD,6.0 +VTS,1,2,60,0.71,CSH,4.0 +VTS,1,2,120,0.57,CSH,4.0 +VTS,1,3,480,1.32,CSH,7.5 +VTS,1,3,360,1.33,CSH,6.5 +VTS,1,2,1020,5.68,CRD,19.5 +VTS,1,3,600,2.21,CRD,10.0 +VTS,1,2,240,0.61,CSH,4.5 +VTS,1,2,960,1.19,CSH,11.0 +VTS,1,3,720,1.21,CRD,8.5 +VTS,1,2,2520,8.31,CSH,34.0 +VTS,1,3,420,0.81,CSH,6.0 +VTS,1,2,780,1.97,CRD,10.5 +VTS,2,2,2820,16.43,CRD,52.0 +VTS,1,2,360,0.92,CSH,6.0 +VTS,2,2,1800,17.97,CRD,52.0 +VTS,1,2,540,1.2,CSH,7.5 +VTS,1,2,300,0.81,CSH,5.5 +VTS,1,2,840,2.74,CRD,11.5 +VTS,1,3,1020,3.15,CRD,14.5 +VTS,1,2,480,1.39,CRD,7.5 +VTS,1,3,660,1.7,CRD,9.0 +VTS,1,2,240,1.27,CRD,6.0 +VTS,1,3,1260,5.63,CRD,19.5 +VTS,1,2,540,0.72,CRD,7.0 +VTS,1,2,720,2.57,CRD,11.5 +VTS,1,3,900,3.73,CRD,14.5 +VTS,1,3,360,1.2,CSH,6.5 +VTS,1,2,600,3.46,CRD,12.5 +VTS,1,3,240,0.61,CRD,5.5 +VTS,1,3,1020,2.31,CSH,13.0 +VTS,1,2,960,2.2,CRD,12.0 +VTS,1,3,900,6.51,CSH,20.0 +VTS,1,2,240,0.96,CSH,6.0 +VTS,1,2,600,1.55,CSH,9.0 +VTS,1,3,300,1.44,CSH,6.5 +VTS,1,3,780,6.71,CRD,20.5 +VTS,1,3,300,1.07,CSH,6.0 +VTS,1,3,840,2.53,CRD,11.0 +VTS,1,3,180,0.73,CSH,4.5 +VTS,1,2,360,0.97,CSH,6.0 +VTS,1,2,420,1.21,CRD,7.0 +VTS,1,2,780,0.83,CRD,9.0 +VTS,1,2,120,0.39,CSH,3.5 +VTS,1,2,1080,4.07,CRD,17.0 +VTS,1,2,120,0.52,CRD,3.5 +VTS,1,2,660,1.04,CRD,8.5 +VTS,1,2,960,2.02,CSH,12.0 +VTS,1,3,420,1.19,CRD,6.5 +VTS,1,2,1200,2.37,CSH,13.5 +VTS,1,2,180,0.51,CSH,4.0 +VTS,1,2,660,2.15,CRD,9.5 +VTS,2,2,2400,17.08,CRD,52.0 +VTS,1,3,660,2.63,CSH,11.0 +VTS,1,2,300,1.1,CRD,6.0 +VTS,1,3,480,1.52,CRD,8.0 +VTS,1,2,600,3.19,CRD,11.0 +VTS,1,2,600,1.74,CRD,9.0 +VTS,1,2,600,2.73,CRD,10.5 +VTS,1,3,240,0.61,CSH,5.0 +VTS,1,2,900,2.86,CSH,12.5 +VTS,1,2,360,1.2,CRD,6.0 +VTS,1,2,360,1.29,CRD,6.5 +VTS,1,3,300,0.61,CSH,5.0 +VTS,1,3,1560,3.34,CSH,17.5 +VTS,1,2,2100,8.87,CRD,31.5 +VTS,1,2,180,0.87,CSH,5.0 +VTS,1,3,1080,5.5,CRD,19.0 +VTS,1,1,540,1.58,CSH,8.0 +VTS,1,2,120,0.63,CSH,4.0 +VTS,1,2,1020,4.18,CRD,16.5 +VTS,1,3,300,0.85,CRD,5.5 +VTS,1,3,240,0.51,CRD,4.5 +VTS,1,2,540,1.77,CSH,8.5 +VTS,1,3,780,2.56,CRD,11.5 +VTS,1,2,1080,3.3,CRD,14.5 +VTS,1,3,840,1.38,CRD,10.5 +VTS,1,3,120,0.41,CSH,3.5 +VTS,1,2,720,1.9,CSH,10.0 +VTS,1,2,480,1.55,CSH,8.0 +VTS,1,3,660,2.35,CSH,10.0 +VTS,1,2,540,0.77,CRD,7.0 +VTS,1,3,900,1.86,CSH,11.0 +VTS,1,2,540,1.05,CRD,7.5 +VTS,1,2,180,0.53,CRD,4.0 +VTS,1,3,180,0.56,CRD,4.0 +VTS,1,2,960,2.46,CRD,12.5 +VTS,1,3,360,1.69,CRD,7.5 +VTS,2,1,1440,16.31,CRD,52.0 +VTS,1,2,960,1.45,CSH,11.0 +VTS,1,2,420,1.46,CSH,7.5 +VTS,1,2,660,6.2,CSH,18.5 +VTS,1,2,300,1.45,CSH,6.5 +VTS,1,3,780,2.88,CSH,12.5 +VTS,1,2,300,1.24,CSH,6.0 +VTS,1,2,300,1.12,CSH,5.5 +VTS,1,2,900,1.84,CRD,11.0 +VTS,2,2,2040,17.57,CSH,52.0 +VTS,1,1,240,0.68,CRD,5.0 +VTS,1,2,360,1.17,CSH,6.5 +VTS,1,2,780,2.1,CSH,11.0 +VTS,1,2,1020,3.02,CRD,14.0 +VTS,1,3,2700,5.88,CRD,29.5 +VTS,1,2,600,1.65,CRD,8.5 +VTS,1,3,180,0.26,CSH,3.5 +VTS,1,3,540,1.51,CSH,8.5 +VTS,1,2,1260,7.22,CRD,23.5 +VTS,1,2,180,0.76,CRD,4.5 +VTS,1,2,300,0.97,CRD,5.5 +VTS,1,2,240,0.58,CSH,5.0 +VTS,1,2,360,1.08,CRD,6.0 +VTS,1,2,540,1.71,CRD,9.0 +VTS,1,3,300,0.75,CSH,5.0 +VTS,1,2,600,2.54,CRD,10.5 +VTS,1,3,540,2.13,CSH,9.0 +VTS,1,2,600,2.69,CSH,10.0 +VTS,1,2,480,1.76,CSH,8.0 +VTS,1,3,420,0.77,CRD,6.0 +VTS,2,2,2340,18.15,CSH,52.0 +VTS,1,2,1440,7.75,CRD,25.5 +VTS,1,3,1500,4.42,CSH,17.0 +VTS,1,3,840,1.95,CRD,11.5 +VTS,1,3,720,2.91,CRD,12.0 +VTS,1,3,300,0.57,CSH,5.0 +VTS,1,4,1020,5.21,CRD,18.5 +VTS,1,2,720,1.4,CSH,9.5 +VTS,1,3,900,9.12,CRD,26.0 +VTS,1,2,1380,2.79,CSH,15.5 +VTS,1,2,360,1.92,CSH,7.5 +VTS,1,2,300,0.95,CSH,6.0 +VTS,1,2,480,3.15,CRD,10.5 +VTS,1,2,360,0.99,CSH,6.0 +VTS,1,3,720,2.5,CSH,11.0 +VTS,1,2,420,1.29,CRD,7.0 +VTS,1,2,240,1.16,CSH,5.5 +VTS,1,2,300,0.86,CSH,6.0 +VTS,1,3,660,2.16,CRD,10.0 +VTS,1,3,240,0.83,CSH,5.5 +VTS,1,3,240,1.28,CRD,6.0 +VTS,1,2,840,7.26,CSH,21.5 +VTS,1,2,1320,7.84,CRD,24.0 +VTS,1,3,480,1.13,CSH,7.0 +VTS,1,3,1260,4.62,CRD,18.5 +VTS,1,2,1200,4.89,CRD,18.5 +VTS,1,3,600,2.15,CSH,10.0 +VTS,1,2,420,1.01,CSH,6.5 +VTS,1,2,360,1.33,CSH,7.0 +VTS,1,2,360,0.9,CRD,6.5 +VTS,1,3,600,0.67,CSH,7.5 +VTS,1,2,1560,9.42,CRD,30.0 +VTS,1,3,720,1.14,CSH,9.0 +VTS,1,2,540,0.81,CRD,7.0 +VTS,1,3,780,1.16,CRD,9.5 +VTS,1,2,840,2.9,CRD,12.0 +VTS,1,2,540,1.54,CRD,8.5 +VTS,1,2,660,2.21,CRD,10.0 +VTS,1,2,960,2.25,CRD,12.0 +VTS,1,3,240,0.98,CRD,5.5 +VTS,1,2,720,4.3,CSH,14.0 +VTS,1,2,360,1.26,CRD,6.0 +VTS,1,2,480,1.97,CRD,8.5 +VTS,1,2,540,0.88,CSH,7.5 +VTS,1,2,900,2.94,CSH,13.0 +VTS,1,2,420,1.31,CRD,7.0 +VTS,1,2,540,1.62,CRD,8.5 +VTS,1,3,1020,3.08,CRD,14.0 +VTS,1,2,960,4.77,CSH,17.0 +VTS,1,2,780,0.87,CRD,9.0 +VTS,1,2,840,4.73,CRD,17.0 +VTS,1,2,1080,2.21,CSH,13.0 +VTS,1,3,1500,7.25,CRD,25.0 +VTS,1,3,1500,9.83,CRD,31.0 +VTS,1,3,300,1.41,CRD,7.0 +VTS,1,2,360,1.66,CSH,7.5 +VTS,1,2,300,1.94,CSH,7.5 +VTS,1,3,420,2.04,CRD,8.5 +VTS,1,3,600,2.47,CRD,10.5 +VTS,1,2,360,1.61,CRD,7.5 +VTS,2,2,0,0.0,CSH,52.0 +VTS,1,3,120,0.43,CSH,3.5 +VTS,1,3,1500,10.63,CRD,32.0 +VTS,1,5,360,1.92,CRD,7.5 +VTS,2,5,1500,19.08,CSH,52.0 +VTS,1,5,720,3.26,CRD,12.0 +VTS,1,5,240,1.19,CSH,6.0 +VTS,1,5,1860,12.46,CRD,38.0 +VTS,1,5,480,3.18,CRD,11.5 +VTS,1,5,240,0.45,CSH,4.5 +VTS,1,5,660,1.81,CSH,9.5 +VTS,1,5,1440,7.14,CRD,24.0 +VTS,1,5,420,0.9,CRD,6.5 +VTS,1,5,1620,3.21,CRD,15.0 +VTS,1,5,300,1.09,CRD,6.0 +VTS,2,5,1680,18.75,CSH,52.0 +VTS,1,5,600,2.06,CSH,10.5 +VTS,1,5,720,1.98,CRD,10.0 +VTS,1,5,780,1.45,CRD,10.0 +VTS,1,5,840,1.58,CSH,11.0 +VTS,1,5,540,3.4,CRD,12.0 +VTS,1,5,1560,6.67,CSH,23.5 +VTS,1,5,240,0.76,CRD,5.0 +VTS,1,5,780,1.15,CSH,10.0 +VTS,1,5,300,1.18,CSH,6.0 +VTS,1,5,1860,12.62,CRD,36.5 +VTS,1,3,540,1.37,CSH,8.0 +VTS,2,2,2100,18.16,CSH,52.0 +VTS,1,2,600,2.1,CSH,9.5 +VTS,1,2,960,3.28,CSH,14.0 +VTS,1,2,720,2.07,CRD,10.5 +VTS,1,2,540,2.82,CRD,10.5 +VTS,1,2,660,6.19,CRD,18.0 +VTS,1,2,360,0.85,CRD,6.0 +VTS,1,2,420,0.83,CRD,6.0 +VTS,1,2,960,3.5,CRD,15.0 +VTS,1,2,480,1.63,CRD,8.0 +VTS,1,2,240,0.67,CRD,4.5 +VTS,1,2,540,3.22,CRD,12.0 +VTS,1,2,360,1.36,CSH,7.0 +VTS,1,2,660,5.11,CRD,16.5 +VTS,1,2,360,1.45,CSH,7.0 +VTS,1,2,360,1.12,CSH,6.5 +VTS,1,2,540,0.73,CRD,6.5 +VTS,1,2,180,0.25,CSH,3.5 +VTS,1,3,960,7.74,CRD,23.5 +VTS,1,3,960,2.97,CSH,13.5 +VTS,1,3,300,0.62,CSH,5.0 +VTS,1,3,180,0.5,CSH,4.0 +VTS,1,2,360,0.94,CRD,6.0 +VTS,1,2,900,1.53,CRD,10.5 +VTS,1,2,720,2.48,CRD,10.5 +VTS,1,2,660,2.8,CRD,11.5 +VTS,1,2,420,2.01,CRD,8.5 +VTS,1,2,900,2.85,CSH,13.5 +VTS,1,1,960,4.76,CSH,16.0 +VTS,1,2,600,1.96,CRD,9.5 +VTS,1,3,420,1.93,CSH,8.0 +VTS,1,2,480,1.51,CSH,8.0 +VTS,1,2,480,1.6,CRD,7.5 +VTS,1,2,780,4.55,CSH,15.5 +VTS,1,3,1140,3.64,CRD,16.5 +VTS,1,3,960,3.49,CSH,14.0 +VTS,1,2,360,1.08,CRD,6.0 +VTS,1,2,480,0.77,CSH,6.5 +VTS,1,3,1680,14.31,CSH,40.5 +VTS,1,2,360,0.86,CSH,5.5 +VTS,1,3,600,1.15,CRD,8.5 +VTS,1,3,840,2.18,CSH,11.0 +VTS,1,3,600,1.54,CSH,8.5 +VTS,1,2,240,1.61,CSH,6.5 +VTS,1,2,360,0.95,CSH,6.0 +VTS,1,3,240,1.39,CSH,6.0 +VTS,1,3,780,2.33,CRD,11.0 +VTS,1,2,600,1.31,CRD,9.0 +VTS,1,3,240,0.89,CSH,5.5 +VTS,1,3,360,3.95,CSH,12.5 +VTS,1,2,2280,12.11,CRD,40.5 +VTS,1,4,1440,3.15,CSH,16.5 +VTS,1,3,480,1.72,CSH,8.0 +VTS,1,2,300,0.97,CSH,6.0 +VTS,1,5,780,1.26,CSH,9.5 +VTS,1,4,720,2.8,CRD,11.5 +VTS,1,2,240,0.77,CRD,5.0 +VTS,1,4,120,0.59,CSH,3.5 +VTS,1,3,240,0.92,CRD,5.0 +VTS,1,2,420,1.01,CRD,6.5 +VTS,1,3,240,1.64,CRD,6.5 +VTS,1,3,600,1.65,CRD,9.0 +VTS,1,3,780,2.7,CRD,12.0 +VTS,1,3,660,2.75,CRD,11.0 +VTS,1,3,720,1.2,CRD,9.5 +VTS,1,3,240,0.78,CSH,5.0 +VTS,1,2,420,1.61,CSH,7.5 +VTS,1,2,600,1.47,CRD,8.0 +VTS,1,4,1020,2.86,CRD,14.0 +VTS,1,2,420,1.07,CRD,6.5 +VTS,1,2,600,1.86,CSH,9.5 +VTS,1,3,600,0.86,CRD,8.0 +VTS,1,2,420,1.09,CRD,6.5 +VTS,1,2,240,0.82,CSH,5.0 +VTS,1,3,420,1.11,CRD,7.0 +VTS,1,3,720,1.88,CRD,10.0 +VTS,1,2,960,3.27,CRD,13.5 +VTS,1,5,1140,2.9,CRD,14.0 +VTS,1,5,840,2.51,CRD,12.0 +VTS,1,5,1080,4.04,CRD,14.5 +VTS,1,3,240,0.68,CRD,5.0 +VTS,1,2,1080,2.82,CRD,13.5 +VTS,1,2,540,1.18,CSH,7.5 +VTS,1,2,600,2.01,CSH,9.5 +VTS,1,2,300,0.71,CSH,5.0 +VTS,1,2,900,2.37,CRD,12.0 +VTS,1,3,120,0.55,CRD,4.0 +VTS,1,2,300,1.47,CRD,6.5 +VTS,1,2,1200,5.02,CRD,19.0 +VTS,1,3,360,1.47,CRD,7.0 +VTS,1,2,1260,3.32,CRD,16.0 +VTS,1,2,420,0.78,CSH,6.0 +VTS,1,3,600,1.74,CRD,9.0 +VTS,1,3,420,2.55,CRD,9.5 +VTS,1,3,660,1.92,CRD,10.0 +VTS,1,2,1020,2.33,CSH,12.5 +VTS,1,2,900,3.1,CSH,12.5 +VTS,2,2,2820,18.35,CRD,52.0 +VTS,1,3,600,0.52,CRD,7.5 +VTS,1,5,780,1.99,CSH,10.0 +VTS,1,3,600,1.22,CRD,8.5 +VTS,1,2,1440,12.49,CRD,36.0 +VTS,1,3,840,1.15,CRD,10.0 +VTS,1,2,1080,1.59,CSH,12.0 +VTS,1,3,480,1.93,CSH,8.5 +VTS,1,3,1140,2.58,CSH,14.5 +VTS,1,3,600,3.27,CRD,12.0 +VTS,1,2,240,0.77,CRD,5.0 +VTS,1,3,840,2.46,CRD,11.5 +VTS,1,2,60,0.45,CSH,3.5 +VTS,1,2,480,1.34,CSH,7.5 +VTS,1,2,720,1.57,CSH,9.5 +VTS,1,2,1080,1.51,CRD,12.5 +VTS,1,2,1200,3.73,CSH,17.0 +VTS,1,2,480,2.53,CRD,9.5 +VTS,1,2,600,6.4,CRD,18.5 +VTS,1,3,780,1.36,CSH,9.5 +VTS,1,2,720,1.7,CRD,9.5 +VTS,1,3,180,0.43,CRD,4.0 +VTS,1,3,480,1.04,CRD,7.0 +VTS,1,2,600,4.96,CRD,15.5 +VTS,1,2,960,5.01,CRD,17.5 +VTS,1,2,960,2.95,CRD,13.0 +VTS,1,3,600,1.69,CRD,9.0 +VTS,1,2,900,2.84,CRD,12.5 +VTS,1,2,1140,4.41,CRD,17.0 +VTS,1,2,600,0.98,CSH,8.0 +VTS,1,2,600,2.68,CSH,10.5 +VTS,1,3,120,0.65,CSH,4.0 +VTS,1,2,1200,3.95,CRD,16.5 +VTS,1,3,900,3.1,CRD,13.0 +VTS,1,2,600,5.87,CSH,18.0 +VTS,1,3,240,0.75,CSH,5.0 +VTS,1,2,600,1.57,CRD,8.5 +VTS,1,2,600,2.42,CSH,10.0 +VTS,1,3,180,0.86,CSH,4.5 +VTS,1,2,420,1.16,CRD,7.0 +VTS,1,3,180,0.57,CRD,4.0 +VTS,1,2,900,3.4,CSH,13.5 +VTS,1,3,420,0.95,CSH,6.5 +VTS,1,2,720,2.7,CSH,10.5 +VTS,1,2,660,1.4,CSH,9.0 +VTS,1,2,720,1.7,CRD,9.5 +VTS,1,2,1740,7.34,CRD,27.0 +VTS,1,2,780,1.28,CRD,10.0 +VTS,1,2,180,0.43,CSH,4.0 +VTS,1,5,840,4.97,CRD,16.5 +VTS,1,5,480,1.57,CSH,7.5 +VTS,1,5,600,1.91,CSH,9.0 +VTS,1,5,480,2.01,CRD,8.5 +VTS,1,5,300,0.79,CSH,5.0 +VTS,1,5,480,1.75,CRD,8.5 +VTS,1,5,960,3.26,CRD,13.5 +VTS,1,5,900,4.02,CRD,15.0 +VTS,1,5,660,2.38,CSH,10.5 +CMT,1,1,832,2.4,CSH,11.5 +CMT,1,1,415,1.5,CSH,7.5 +CMT,1,1,308,1.1,CRD,6.0 +VTS,1,3,540,1.43,CRD,8.0 +VTS,1,3,420,0.92,CSH,6.0 +VTS,1,5,1560,6.09,CSH,22.0 +VTS,1,5,1320,5.7,CRD,21.0 +VTS,1,5,300,0.85,CSH,5.5 +VTS,1,5,540,2.12,CSH,9.0 +VTS,1,5,780,2.82,CRD,12.0 +VTS,1,5,840,3.71,CRD,14.0 +VTS,2,5,2760,21.71,CRD,52.0 +CMT,1,1,626,2.7,CRD,10.5 +CMT,1,1,607,0.9,CSH,7.5 +CMT,1,1,984,1.9,CSH,11.5 +CMT,1,1,343,0.7,CSH,5.5 +CMT,1,1,209,0.3,CSH,4.0 +CMT,1,1,1095,5.1,CRD,18.5 +CMT,1,1,329,1.0,CSH,6.0 +CMT,1,1,238,0.4,CSH,4.5 +CMT,1,1,333,0.9,CSH,5.5 +CMT,1,1,156,0.4,CRD,4.0 +CMT,1,1,650,1.1,CRD,8.0 +CMT,1,1,417,0.8,CRD,6.0 +CMT,1,1,280,1.0,CRD,5.5 +CMT,1,1,313,0.9,CSH,5.5 +CMT,1,1,188,0.8,CRD,5.0 +CMT,1,1,1182,6.8,CSH,22.5 +CMT,1,1,403,1.6,CRD,7.0 +VTS,1,3,720,1.66,CRD,9.5 +VTS,1,2,180,0.47,CRD,4.0 +VTS,1,2,180,0.97,CRD,5.0 +VTS,1,3,360,1.46,CSH,7.0 +VTS,1,3,360,1.39,CRD,7.0 +VTS,1,2,360,1.45,CRD,7.0 +VTS,1,2,300,0.79,CRD,6.0 +VTS,1,3,240,0.87,CRD,5.5 +VTS,1,3,660,2.29,CRD,10.0 +VTS,1,2,1860,8.46,CRD,28.5 +VTS,1,4,300,0.7,CRD,5.5 +VTS,1,3,900,2.85,CSH,12.5 +VTS,1,3,660,1.37,CRD,8.5 +VTS,1,3,240,0.75,CSH,5.0 +VTS,1,5,540,1.79,CSH,8.5 +VTS,1,5,660,3.0,CSH,11.5 +VTS,1,5,720,2.3,CRD,10.5 +VTS,1,5,780,3.45,CSH,13.5 +VTS,1,5,240,0.44,CSH,4.5 +VTS,1,5,960,7.13,CRD,21.5 +VTS,1,5,540,2.53,CRD,9.5 +VTS,1,5,1440,3.93,CSH,18.5 +VTS,1,5,1320,5.58,CRD,19.5 +CMT,1,2,377,1.3,CSH,6.5 +CMT,1,1,1326,5.6,CRD,21.0 +CMT,1,1,516,1.8,CRD,8.5 +VTS,1,2,240,0.82,CRD,5.0 +VTS,1,2,360,1.91,CRD,8.0 +VTS,1,3,480,1.49,CRD,7.5 +VTS,1,2,180,0.73,CRD,4.5 +VTS,1,3,660,2.67,CRD,10.5 +VTS,1,2,180,0.72,CRD,4.0 +VTS,1,4,60,0.02,CSH,2.5 +VTS,1,2,660,4.32,CSH,15.0 +VTS,1,2,720,2.01,CRD,10.0 +VTS,1,2,360,1.6,CRD,7.0 +VTS,1,1,480,1.24,CSH,7.5 +VTS,1,2,300,0.91,CRD,5.5 +VTS,1,2,1080,4.16,CRD,16.0 +VTS,1,2,840,2.6,CSH,12.0 +VTS,1,3,600,1.65,CSH,9.0 +VTS,1,2,660,2.31,CRD,10.0 +VTS,1,2,720,2.25,CRD,10.5 +VTS,1,3,480,1.41,CRD,7.5 +VTS,1,3,240,0.76,CSH,5.0 +VTS,1,3,360,1.44,CRD,7.0 +VTS,1,2,840,3.04,CSH,12.5 +VTS,1,2,420,1.52,CSH,7.5 +VTS,1,2,840,4.31,CSH,16.0 +VTS,1,3,480,1.84,CSH,8.0 +VTS,1,3,1020,6.49,CSH,20.5 +VTS,1,3,300,0.8,CRD,5.5 +VTS,1,5,360,1.3,CRD,6.5 +VTS,1,5,1080,7.95,CRD,23.5 +VTS,1,5,660,3.21,CRD,12.0 +VTS,1,5,480,1.46,CSH,7.5 +VTS,1,5,300,1.21,CSH,5.5 +CMT,1,1,752,3.3,CRD,12.0 +CMT,1,1,180,0.7,CSH,4.5 +CMT,1,1,1252,4.5,NOC,17.5 +CMT,1,1,1495,9.5,CRD,28.5 +CMT,1,1,1010,3.1,CRD,14.0 +CMT,1,1,625,2.4,CSH,10.0 +CMT,1,1,398,0.6,CSH,5.5 +CMT,1,1,34,0.8,CSH,2.5 +CMT,1,1,289,0.5,CSH,5.0 +CMT,1,1,1017,3.9,CSH,15.5 +CMT,1,1,317,0.8,CSH,5.5 +CMT,1,1,194,0.5,CRD,4.0 +CMT,1,1,350,1.0,CSH,6.0 +CMT,1,1,461,1.7,CSH,8.0 +CMT,1,1,498,1.4,CRD,7.5 +CMT,1,1,2754,9.6,CSH,34.5 +CMT,1,1,297,0.6,NOC,5.0 +CMT,1,1,398,2.2,CSH,8.5 +CMT,1,1,652,1.7,CRD,9.0 +CMT,1,1,649,1.5,CRD,8.0 +CMT,1,1,1372,2.3,CRD,15.5 +VTS,1,5,900,2.45,CRD,11.5 +VTS,1,5,1260,3.0,CSH,12.5 +VTS,1,5,660,1.49,CRD,8.5 +VTS,1,5,720,2.66,CRD,11.5 +VTS,1,5,420,0.78,CSH,6.5 +VTS,1,5,420,1.04,CSH,6.5 +VTS,1,5,660,2.71,CSH,11.0 +VTS,1,5,360,1.14,CRD,6.0 +VTS,1,5,240,0.9,CSH,5.0 +VTS,1,5,720,2.95,CSH,12.0 +CMT,1,1,1120,3.7,CRD,15.5 +CMT,1,3,524,1.9,CSH,8.5 +CMT,1,1,168,1.2,CRD,5.5 +CMT,1,1,1460,4.7,CSH,20.5 +CMT,1,1,1061,6.4,CSH,20.5 +CMT,1,1,130,0.4,NOC,3.5 +CMT,1,1,597,1.9,CSH,9.0 +CMT,1,1,1807,7.2,CSH,26.0 +CMT,1,1,288,0.7,CRD,5.0 +CMT,1,1,700,1.7,CSH,9.5 +CMT,1,1,575,1.5,CRD,8.0 +CMT,1,1,1684,4.9,CSH,20.5 +CMT,1,1,756,1.6,CSH,9.5 +CMT,1,1,482,1.6,CSH,7.5 +CMT,1,1,468,1.4,CRD,7.5 +CMT,1,1,2131,10.0,CSH,35.5 +CMT,2,1,2279,17.9,CSH,52.0 +CMT,1,1,1377,2.0,CSH,14.5 +CMT,2,1,3473,18.4,CSH,52.0 +CMT,1,1,3916,18.8,CSH,59.0 +CMT,1,1,683,1.9,CRD,9.5 +CMT,2,1,3084,20.5,CSH,52.0 +CMT,1,1,506,1.6,CSH,8.5 +CMT,1,1,402,1.0,CRD,6.5 +CMT,1,1,985,2.8,CSH,12.5 +CMT,1,1,320,0.8,CRD,5.5 +CMT,1,1,598,1.4,CRD,8.0 +CMT,1,1,284,0.7,CRD,5.0 +CMT,1,1,520,1.4,CRD,8.0 +CMT,1,1,578,1.6,CRD,8.5 +CMT,1,1,1377,3.2,CSH,15.5 +CMT,1,1,1195,5.2,CSH,18.5 +CMT,1,1,410,0.9,CSH,6.5 +CMT,1,1,821,1.9,NOC,10.0 +CMT,1,1,1618,13.0,CRD,36.5 +CMT,1,1,1466,6.7,CSH,23.0 +CMT,1,1,481,1.0,CSH,7.0 +CMT,1,1,804,2.4,CSH,11.0 +CMT,1,1,1634,2.4,CRD,17.0 +CMT,1,1,737,1.2,CSH,9.5 +CMT,1,1,1710,3.7,CSH,18.5 +CMT,1,1,1112,3.2,CRD,14.0 +CMT,1,1,1068,3.4,CRD,14.5 +CMT,1,2,750,2.5,CRD,11.0 +CMT,1,1,1121,3.9,NOC,16.5 +CMT,1,1,813,2.5,CSH,10.0 +CMT,1,1,369,0.7,CSH,5.5 +CMT,1,1,228,0.6,CRD,4.5 +CMT,1,1,484,1.0,CSH,6.5 +CMT,1,1,1945,11.1,CSH,34.0 +CMT,1,1,323,1.0,CRD,5.5 +CMT,1,1,919,2.4,CSH,11.0 +CMT,1,1,533,1.4,CRD,7.5 +CMT,1,1,348,1.0,CRD,5.5 +CMT,1,1,301,0.8,CRD,5.5 +CMT,1,1,962,8.2,CRD,24.0 +CMT,1,1,562,1.9,CSH,9.5 +CMT,1,1,621,4.5,CRD,14.5 +CMT,1,1,564,1.7,CRD,8.5 +CMT,1,1,526,1.7,CSH,8.5 +CMT,1,1,296,0.5,CSH,5.0 +CMT,1,1,423,1.3,CRD,7.0 +CMT,1,1,1531,10.0,CRD,30.0 +CMT,1,1,765,2.4,CRD,10.5 +CMT,1,1,426,0.9,CSH,6.0 +CMT,1,1,698,1.7,CSH,9.0 +CMT,1,1,428,1.6,CRD,7.5 +CMT,1,1,697,0.9,CSH,8.0 +CMT,1,1,1709,1.9,CRD,9.0 +CMT,1,1,1092,6.6,CRD,22.0 +CMT,1,1,1056,1.7,CSH,11.5 +CMT,1,1,81,0.3,CRD,3.5 +CMT,1,1,1452,4.0,CRD,17.0 +CMT,1,1,568,1.5,CRD,8.0 +CMT,1,1,778,0.7,CRD,9.0 +CMT,1,1,432,1.4,CSH,7.0 +CMT,1,1,2787,7.9,NOC,34.5 +CMT,1,1,395,1.0,CSH,6.0 +CMT,1,1,499,1.0,CSH,7.0 +CMT,1,1,270,0.8,CSH,5.0 +CMT,1,1,728,2.6,CSH,11.0 +CMT,1,1,369,0.9,CSH,5.5 +CMT,1,1,1158,6.4,CRD,21.0 +CMT,1,1,475,1.4,CSH,7.5 +CMT,1,1,659,1.7,CSH,9.0 +CMT,1,1,1113,3.2,CSH,15.0 +CMT,1,1,1271,5.3,CRD,18.5 +CMT,1,1,1126,1.5,CRD,12.5 +CMT,1,1,1781,10.9,CSH,33.0 +CMT,1,1,632,1.2,NOC,8.0 +CMT,1,1,215,1.0,CRD,5.0 +CMT,1,1,603,1.8,CSH,9.0 +CMT,1,1,1078,2.8,CSH,13.5 +CMT,1,1,600,1.1,CSH,7.5 +CMT,1,1,447,1.0,CSH,6.5 +CMT,1,1,834,2.1,CSH,10.5 +CMT,1,1,275,0.6,CRD,5.0 +CMT,1,1,650,2.0,CSH,9.0 +CMT,1,1,895,2.7,CSH,12.0 +CMT,1,1,1657,10.9,CSH,34.0 +CMT,1,1,580,0.7,CSH,7.5 +CMT,1,1,1006,1.7,CSH,11.5 +CMT,1,1,1285,3.5,CRD,16.0 +CMT,1,1,624,1.3,CSH,8.0 +CMT,1,1,1131,2.1,CRD,13.0 +CMT,1,1,372,1.0,CSH,6.5 +CMT,1,1,1889,2.5,CSH,20.0 +CMT,1,1,1338,2.3,CSH,15.0 +CMT,1,1,646,2.5,CRD,10.5 +CMT,1,1,1176,2.0,NOC,13.5 +CMT,1,1,428,1.0,CSH,6.5 +CMT,1,1,836,1.4,CRD,10.0 +CMT,1,1,312,0.4,CRD,5.0 +CMT,1,1,773,2.3,CSH,11.0 +CMT,1,1,238,0.8,CSH,5.0 +CMT,1,1,502,1.5,CSH,7.5 +CMT,1,1,446,1.7,NOC,7.5 +CMT,1,1,633,1.4,CRD,8.0 +CMT,1,1,1214,9.7,CSH,28.0 +CMT,1,1,820,1.4,CRD,9.5 +VTS,1,3,660,1.82,CRD,9.0 +VTS,1,4,1440,4.32,CSH,19.0 +VTS,1,2,660,3.41,CRD,12.0 +VTS,1,2,2220,7.23,CRD,29.5 +VTS,1,3,540,0.84,CSH,7.0 +VTS,1,3,180,0.51,CSH,4.0 +VTS,1,2,1260,1.62,CSH,13.5 +VTS,1,5,780,6.2,CSH,20.0 +VTS,1,5,840,1.89,CRD,10.0 +VTS,1,5,540,1.48,CRD,8.5 +VTS,1,5,60,0.44,CSH,3.5 +VTS,1,5,1140,4.04,CRD,16.0 +VTS,1,5,600,1.36,CSH,8.5 +VTS,1,5,960,8.5,CRD,25.0 +VTS,1,5,480,3.44,CRD,11.5 +VTS,1,5,480,1.93,CSH,8.5 +VTS,1,5,300,0.38,CRD,4.5 +VTS,1,5,660,2.5,CRD,11.0 +VTS,1,5,1080,8.42,CRD,25.0 +VTS,1,5,300,1.41,CSH,6.5 +VTS,1,5,540,1.82,CSH,9.0 +CMT,1,1,1018,1.9,CRD,12.0 +CMT,1,3,1199,3.7,CSH,16.5 +CMT,1,1,221,1.2,CRD,5.5 +CMT,1,1,322,0.9,CSH,6.0 +CMT,1,1,815,2.6,CSH,11.0 +CMT,1,1,660,1.4,CRD,8.5 +CMT,1,1,387,0.6,CSH,5.5 +CMT,1,1,348,0.9,CSH,5.5 +CMT,1,1,805,1.7,CRD,10.0 +CMT,1,1,624,1.9,CRD,8.5 +CMT,1,1,1083,3.1,CSH,14.0 +CMT,1,1,562,0.9,NOC,7.0 +CMT,1,1,338,1.0,CSH,6.0 +CMT,1,1,641,0.9,CSH,8.0 +CMT,1,1,274,0.5,CRD,5.0 +CMT,1,1,183,0.4,CSH,4.0 +CMT,1,1,1224,2.8,CRD,14.0 +CMT,1,1,1088,2.5,NOC,12.5 +CMT,1,1,354,0.8,CRD,5.5 +CMT,1,1,595,2.7,CRD,10.5 +CMT,1,1,1832,6.1,CSH,24.0 +CMT,1,1,744,1.9,CSH,10.0 +CMT,1,1,1057,3.8,CSH,15.0 +CMT,1,1,366,1.3,CRD,6.5 +CMT,1,1,498,1.8,CSH,8.5 +CMT,1,1,763,1.5,CSH,9.5 +CMT,1,1,220,0.5,CSH,4.5 +CMT,2,1,2452,20.0,CRD,52.0 +CMT,1,1,816,2.6,CRD,12.0 +CMT,1,1,619,1.1,CRD,8.0 +CMT,1,1,523,1.3,CRD,7.5 +VTS,1,2,1080,5.34,CRD,18.5 +VTS,1,2,420,1.71,CRD,7.5 +VTS,1,3,900,1.47,CRD,10.5 +VTS,1,2,780,2.98,CSH,12.5 +VTS,1,3,1380,3.07,CSH,16.5 +VTS,1,3,660,1.48,CRD,9.0 +VTS,1,2,1260,2.6,CRD,14.5 +VTS,1,4,480,0.82,CSH,6.5 +VTS,1,3,240,0.61,CRD,5.0 +VTS,1,2,540,2.22,CRD,9.0 +VTS,1,5,360,1.2,CSH,6.5 +VTS,1,5,240,0.97,CSH,5.5 +VTS,1,5,780,2.26,CRD,10.5 +VTS,1,5,0,0.0,CSH,2.5 +VTS,1,5,840,3.75,CRD,13.5 +VTS,1,5,780,3.5,CSH,13.0 +VTS,1,5,600,2.41,CSH,10.0 +VTS,1,5,480,1.71,CSH,8.0 +VTS,1,5,960,3.34,CRD,13.5 +VTS,1,5,960,8.87,CRD,25.5 +VTS,1,5,300,1.05,CRD,5.5 +VTS,1,5,1080,4.63,CRD,16.5 +CMT,1,1,385,1.7,CRD,7.5 +CMT,1,1,643,2.6,CRD,10.5 +CMT,1,2,296,1.3,CSH,6.0 +CMT,1,1,118,0.4,CSH,3.5 +CMT,1,1,1376,4.2,CRD,17.5 +CMT,1,1,993,4.0,CSH,16.0 +CMT,1,1,632,1.8,CSH,9.0 +CMT,1,1,1371,3.7,NOC,16.5 +CMT,1,1,1547,6.3,CSH,23.0 +CMT,1,1,1222,2.6,CSH,14.5 +CMT,1,1,913,2.5,CSH,12.5 +CMT,1,1,332,0.8,CRD,5.5 +CMT,1,1,26,0.0,CSH,2.5 +CMT,1,1,1453,7.9,CSH,26.5 +CMT,1,1,836,1.0,CSH,9.5 +CMT,1,1,1705,4.0,CSH,19.0 +CMT,1,1,369,1.6,CSH,7.5 +CMT,1,1,913,4.0,CRD,15.5 +CMT,1,1,489,1.7,CRD,8.0 +CMT,1,1,581,1.5,CRD,8.0 +CMT,1,1,315,0.8,CRD,5.5 +CMT,1,1,1793,4.2,CRD,20.5 +CMT,1,1,550,1.6,CSH,8.0 +CMT,1,1,449,1.2,CSH,6.5 +CMT,1,1,368,0.4,CSH,5.5 +CMT,1,1,1520,1.9,CRD,16.5 +CMT,1,1,224,1.1,CRD,5.0 +CMT,1,1,832,2.5,CRD,11.5 +CMT,1,1,1005,2.3,CSH,12.5 +CMT,1,1,246,0.3,CSH,4.0 +VTS,1,2,300,0.66,CRD,5.0 +VTS,1,2,480,1.13,CSH,7.5 +VTS,1,2,120,0.64,CSH,4.0 +VTS,1,3,420,1.33,CSH,7.0 +VTS,1,3,1800,8.99,CSH,28.0 +VTS,1,3,1200,7.85,CRD,24.5 +VTS,1,2,1200,2.38,CRD,14.5 +VTS,1,2,780,3.4,CSH,13.5 +VTS,1,2,600,2.05,CSH,9.5 +VTS,1,2,360,1.12,CRD,6.5 +VTS,1,2,1080,3.21,CSH,14.5 +VTS,1,3,720,1.94,CSH,10.0 +VTS,1,2,360,0.88,CRD,6.0 +VTS,1,2,240,1.0,CSH,5.5 +VTS,1,2,480,1.11,CSH,7.0 +VTS,1,3,420,1.39,CRD,7.5 +VTS,1,3,1080,2.17,CSH,13.5 +VTS,1,2,360,0.91,CSH,6.0 +VTS,1,3,1500,5.91,CSH,21.5 +VTS,1,3,360,0.91,CSH,6.0 +VTS,1,2,660,2.28,CRD,10.0 +VTS,1,2,1080,2.73,CRD,13.5 +VTS,1,3,420,1.56,CSH,7.5 +VTS,1,3,840,5.62,CSH,18.5 +VTS,1,2,480,0.54,CSH,6.5 +VTS,1,5,840,5.89,CSH,18.5 +VTS,1,5,540,2.85,CRD,10.5 +VTS,1,5,480,1.66,CRD,7.5 +VTS,1,5,900,2.76,CSH,12.5 +VTS,1,5,540,0.94,CRD,7.5 +VTS,1,5,180,0.83,CSH,5.0 +VTS,1,5,480,1.57,CSH,7.5 +VTS,1,5,300,0.87,CRD,5.5 +VTS,1,5,360,1.0,CRD,6.0 +VTS,1,5,840,4.68,CSH,15.0 +CMT,1,2,941,2.5,CSH,12.5 +CMT,1,2,552,2.2,CRD,9.0 +CMT,1,1,520,2.8,CSH,10.5 +CMT,1,1,1450,9.7,CSH,29.5 +CMT,1,1,1130,5.9,CSH,20.5 +CMT,1,1,433,0.6,CSH,5.5 +CMT,1,1,794,1.8,NOC,9.5 +CMT,1,1,525,0.9,CSH,7.0 +CMT,1,1,741,1.4,CSH,9.0 +CMT,1,1,1489,7.2,NOC,24.0 +CMT,1,1,683,1.6,CSH,9.0 +CMT,1,1,396,1.2,CRD,6.0 +CMT,1,1,1170,5.0,CSH,18.5 +CMT,1,1,1535,6.4,CSH,23.5 +CMT,1,1,792,2.7,CSH,11.5 +CMT,1,1,641,1.2,CRD,8.5 +CMT,1,1,293,0.5,CRD,5.0 +CMT,1,2,1609,10.3,CRD,30.5 +CMT,1,1,1766,8.8,CRD,29.0 +CMT,1,1,216,0.4,CSH,4.0 +CMT,1,1,1407,4.8,CSH,19.5 +CMT,1,1,341,0.4,CSH,5.0 +CMT,1,1,1012,2.6,CSH,13.0 +CMT,1,1,601,0.8,CSH,7.5 +CMT,1,1,1176,3.3,CRD,15.0 +CMT,1,1,935,3.4,CRD,13.5 +CMT,1,1,993,3.7,CRD,15.0 +CMT,1,1,358,0.6,CRD,5.5 +CMT,1,1,516,0.9,CSH,7.0 +CMT,1,1,787,3.6,CRD,13.5 +CMT,1,1,1225,2.1,CSH,14.0 +CMT,1,1,857,1.7,CRD,10.5 +CMT,1,1,622,0.7,CSH,8.0 +CMT,1,1,420,0.7,CRD,6.0 +CMT,1,1,859,0.3,CSH,9.0 +CMT,1,1,395,0.8,CRD,6.0 +CMT,1,1,1108,3.2,CSH,14.0 +CMT,1,1,904,1.3,CRD,10.0 +CMT,1,1,1413,3.9,CRD,17.0 +CMT,1,1,207,1.1,CSH,5.0 +CMT,1,1,726,2.1,CRD,10.0 +CMT,1,1,732,2.0,CSH,10.0 +CMT,1,1,738,1.3,CSH,9.0 +CMT,1,1,494,1.1,CSH,7.0 +CMT,1,1,108,0.5,CSH,3.5 +CMT,1,1,915,3.0,CRD,12.0 +CMT,1,1,307,0.6,CRD,5.0 +CMT,1,1,2012,9.6,CSH,32.5 +CMT,1,1,573,1.9,CRD,9.0 +CMT,1,1,319,1.1,CSH,6.0 +CMT,1,1,477,1.5,CRD,7.5 +CMT,1,1,748,2.1,CRD,10.0 +CMT,1,1,474,0.9,CRD,7.0 +CMT,1,1,872,1.9,CRD,11.0 +CMT,1,1,1649,4.8,CRD,20.5 +CMT,1,1,435,0.9,CRD,6.0 +CMT,1,1,268,0.6,CRD,5.0 +CMT,1,1,1168,1.5,CRD,12.5 +CMT,1,1,1635,4.2,CRD,19.0 +CMT,1,1,356,1.0,CSH,2.5 +CMT,1,1,377,1.3,CRD,6.5 +CMT,1,1,508,1.3,CRD,8.0 +CMT,1,1,624,1.4,CSH,8.5 +CMT,1,1,869,1.7,CSH,10.5 +CMT,1,1,825,0.6,CRD,9.5 +CMT,1,1,497,0.8,NOC,6.5 +CMT,1,1,216,0.7,CSH,4.5 +CMT,1,1,811,3.2,CSH,13.0 +CMT,3,1,2107,18.7,CSH,69.5 +CMT,1,1,434,1.2,CRD,7.0 +CMT,1,1,446,1.6,CSH,7.5 +CMT,2,1,1674,19.1,CSH,52.0 +CMT,1,1,274,0.7,CSH,5.0 +CMT,1,1,808,1.5,CRD,10.0 +CMT,1,1,326,0.8,CSH,5.5 +CMT,1,1,374,0.9,CRD,6.0 +CMT,1,1,153,0.5,CSH,4.0 +CMT,1,1,570,0.4,CSH,7.0 +CMT,1,1,1461,3.2,NOC,15.5 +CMT,1,1,1879,5.3,CSH,23.0 +CMT,1,1,1122,1.9,CSH,12.5 +CMT,1,1,161,0.5,CSH,4.0 +CMT,1,1,1829,1.8,CSH,11.5 +CMT,1,1,704,1.1,CSH,8.5 +CMT,1,1,576,1.9,CSH,9.0 +CMT,1,1,1667,10.7,CSH,32.5 +CMT,1,1,337,0.2,CRD,5.0 +CMT,1,1,1213,3.9,CRD,17.0 +CMT,1,1,1889,9.1,CRD,31.0 +CMT,1,1,525,1.3,CSH,7.5 +CMT,1,1,368,1.3,NOC,6.5 +CMT,1,1,514,0.9,CSH,7.0 +CMT,1,1,1245,2.8,CSH,14.5 +CMT,1,1,773,3.1,CSH,12.0 +CMT,1,1,316,0.6,CSH,5.0 +CMT,1,1,1197,4.2,CRD,18.0 +CMT,2,1,3,0.0,CSH,52.0 +CMT,1,1,1243,4.2,CRD,17.0 +CMT,1,1,1056,1.3,CRD,10.5 +CMT,1,1,269,0.6,CSH,5.0 +CMT,1,1,1984,4.3,CSH,20.5 +CMT,1,1,1333,4.5,CRD,19.5 +CMT,1,1,1278,9.5,CSH,28.0 +CMT,1,1,675,1.2,CRD,8.5 +CMT,2,1,3730,17.7,CSH,52.0 +CMT,1,1,1013,2.0,CSH,12.0 +CMT,1,1,465,1.3,CRD,7.5 +CMT,1,1,1907,3.5,CSH,20.0 +CMT,1,1,963,2.3,CRD,12.0 +CMT,1,1,233,0.8,CSH,4.5 +CMT,1,1,770,2.7,CRD,11.0 +CMT,1,1,1472,3.3,CRD,17.0 +CMT,1,1,1343,1.6,CSH,14.0 +CMT,1,1,1084,3.0,CRD,14.0 +CMT,1,1,1301,3.7,CRD,16.0 +CMT,1,1,317,0.4,CSH,5.0 +CMT,1,1,854,2.2,CRD,11.0 +CMT,1,1,665,2.0,CRD,8.5 +CMT,1,1,129,0.2,CSH,3.5 +CMT,1,1,359,0.8,CSH,6.0 +CMT,1,1,1123,1.3,CSH,12.0 +CMT,1,1,875,2.4,CRD,12.0 +CMT,1,1,656,1.4,CSH,8.5 +CMT,1,1,434,1.3,CRD,7.0 +CMT,1,1,217,0.6,CSH,4.5 +CMT,1,1,1097,5.5,CRD,19.5 +CMT,1,1,419,1.1,CRD,7.0 +CMT,1,1,550,1.7,CRD,8.5 +CMT,1,1,297,0.4,CSH,5.0 +CMT,1,1,1373,3.3,CSH,16.5 +CMT,1,1,392,0.9,CRD,6.0 +CMT,1,1,869,3.0,CRD,12.5 +CMT,1,1,890,0.8,CSH,10.0 +CMT,1,1,183,0.7,CSH,4.5 +CMT,1,1,313,0.5,CRD,5.0 +CMT,1,1,838,1.1,CRD,9.5 +CMT,1,1,1188,8.2,NOC,25.0 +CMT,1,1,328,0.6,CRD,5.5 +CMT,1,1,729,1.5,CSH,8.5 +CMT,1,1,1902,6.9,CSH,26.0 +CMT,1,1,17,0.0,NOC,2.5 +CMT,1,1,457,1.2,CRD,7.0 +CMT,1,1,1050,9.6,CRD,27.5 +CMT,1,1,686,1.7,CSH,9.0 +CMT,1,1,1927,14.2,CRD,40.5 +CMT,1,1,559,1.2,NOC,7.0 +CMT,1,1,493,1.6,CRD,8.0 +CMT,1,1,2585,9.2,CRD,35.5 +CMT,1,1,766,1.8,CRD,10.0 +CMT,1,1,398,0.9,CSH,6.0 +CMT,1,1,476,1.2,CRD,7.0 +CMT,1,1,156,0.5,CSH,4.0 +CMT,1,1,721,1.8,CSH,9.5 +CMT,1,1,1795,6.7,CSH,26.5 +CMT,1,1,581,2.1,CRD,9.0 +CMT,1,1,865,1.5,CRD,10.0 +CMT,1,1,1177,2.5,NOC,13.0 +CMT,1,1,451,1.2,CRD,7.0 +CMT,1,1,1254,6.8,CRD,23.0 +CMT,1,1,486,1.9,CRD,8.5 +CMT,1,1,357,0.5,CRD,5.5 +CMT,1,1,828,5.4,CRD,17.5 +CMT,1,1,543,1.7,CSH,8.0 +CMT,1,1,747,1.6,CSH,9.5 +CMT,1,1,1966,10.9,CSH,34.0 +CMT,1,1,621,1.8,CSH,9.0 +CMT,1,1,705,1.7,CSH,10.0 +CMT,1,1,968,2.2,CRD,12.0 +CMT,1,1,855,2.5,CRD,11.5 +CMT,1,1,1076,2.6,CSH,13.0 +CMT,1,1,1011,2.0,CRD,12.0 +CMT,1,1,1834,5.8,CRD,23.0 +CMT,1,1,418,0.9,CRD,6.5 +CMT,1,1,548,1.5,CSH,8.0 +CMT,1,1,3498,9.4,CSH,39.0 +CMT,1,1,704,2.2,CSH,10.0 +CMT,1,1,678,0.2,CRD,8.0 +CMT,1,1,415,1.0,CRD,6.5 +CMT,1,1,640,0.9,CSH,8.0 +CMT,1,1,654,1.6,CRD,9.0 +CMT,1,1,2138,3.4,CRD,22.0 +CMT,1,1,618,0.7,CSH,7.0 +CMT,1,1,489,0.8,CSH,7.0 +CMT,1,1,501,0.8,CRD,6.5 +CMT,1,1,1971,2.2,CRD,20.0 +CMT,1,1,73,0.8,NOC,2.5 +CMT,1,1,157,0.3,CSH,3.5 +CMT,1,1,547,0.9,CSH,7.0 +CMT,1,1,499,1.0,CSH,7.5 +CMT,1,1,1371,4.6,CRD,17.5 +CMT,1,1,1936,9.8,CRD,33.5 +CMT,1,1,403,0.5,CSH,5.5 +CMT,1,1,149,0.1,CSH,3.5 +CMT,1,1,1042,0.9,CSH,10.5 +CMT,1,1,875,2.5,CSH,11.5 +CMT,1,1,1287,1.9,CRD,14.0 +CMT,1,1,1167,3.1,CRD,15.5 +CMT,1,1,226,0.6,CRD,4.5 +CMT,1,1,1387,3.4,CRD,16.5 +CMT,1,1,2385,10.1,CSH,33.5 +CMT,1,1,437,0.7,CSH,6.0 +CMT,1,1,11,0.0,CSH,2.5 +CMT,1,1,639,1.5,CRD,9.0 +CMT,1,1,664,1.6,CRD,9.0 +CMT,1,1,191,0.5,CRD,4.0 +CMT,1,1,226,0.6,CRD,4.5 +CMT,1,1,388,0.8,CRD,6.0 +CMT,1,1,196,0.7,CRD,5.0 +CMT,1,1,1313,2.4,CSH,15.0 +CMT,1,1,515,1.6,CRD,8.0 +CMT,1,1,1175,2.5,CRD,13.5 +CMT,1,1,431,0.9,CSH,7.0 +CMT,1,1,343,1.3,CSH,6.5 +CMT,1,1,214,0.5,CRD,4.5 +CMT,1,1,751,2.8,CSH,11.5 +CMT,1,1,1331,3.9,NOC,16.5 +CMT,1,1,1538,4.3,NOC,18.5 +CMT,1,1,1136,4.1,NOC,17.0 +CMT,1,1,873,1.9,NOC,11.0 +CMT,1,1,317,0.7,CSH,5.5 +CMT,1,1,386,0.7,CRD,5.5 +CMT,1,1,1368,2.9,CRD,15.5 +CMT,1,1,901,2.7,CSH,11.5 +CMT,1,1,754,2.4,CRD,10.5 +CMT,1,1,439,1.1,CSH,6.5 +CMT,1,1,1860,10.6,CRD,33.0 +CMT,1,1,865,7.8,CRD,22.5 +CMT,1,1,1036,3.8,CSH,15.5 +CMT,1,1,1064,2.9,CSH,14.0 +CMT,1,1,944,2.6,CSH,12.0 +CMT,1,1,607,1.9,CRD,9.0 +CMT,1,1,817,1.6,CSH,10.0 +CMT,1,1,2553,5.5,CSH,27.0 +CMT,1,1,444,1.4,CSH,7.5 +CMT,1,1,301,0.9,CRD,5.5 +CMT,1,1,997,1.0,NOC,11.0 +CMT,1,1,1434,4.5,CSH,18.5 +CMT,1,1,626,1.7,CRD,8.5 +CMT,1,1,529,0.7,CSH,7.0 +CMT,1,1,554,1.4,CSH,8.5 +CMT,1,1,158,0.2,CSH,3.5 +CMT,1,1,639,1.1,CSH,8.0 +CMT,1,1,924,2.0,CRD,11.0 +CMT,1,1,1124,1.8,CRD,12.5 +CMT,1,1,421,0.8,CSH,6.5 +CMT,1,1,1230,4.0,CRD,17.0 +CMT,1,1,787,1.6,CSH,9.5 +CMT,1,1,303,0.8,CSH,6.0 +CMT,1,1,452,1.2,CSH,7.0 +CMT,1,1,196,0.3,NOC,4.0 +CMT,1,1,564,2.1,CSH,9.5 +CMT,1,1,1127,2.0,CSH,13.0 +CMT,1,1,608,1.4,CSH,8.5 +CMT,1,1,279,0.8,CRD,5.0 +CMT,1,1,781,2.0,CSH,10.5 +CMT,1,1,651,2.0,CSH,9.5 +CMT,1,1,181,0.5,NOC,4.0 +CMT,1,1,328,0.6,CRD,5.5 +CMT,1,1,393,1.6,CSH,7.0 +CMT,1,1,579,1.4,NOC,8.0 +CMT,1,1,354,0.9,CSH,6.0 +CMT,1,1,510,1.8,CRD,8.0 +CMT,1,1,165,0.2,CRD,4.0 +CMT,1,1,1273,5.1,CRD,18.0 +CMT,1,1,1029,1.8,CSH,12.5 +CMT,1,1,379,1.0,CRD,6.0 +CMT,1,1,819,0.0,CSH,2.5 +CMT,1,1,775,1.6,CRD,10.0 +CMT,1,1,674,0.7,CSH,8.0 +CMT,1,1,1213,2.6,CSH,14.0 +CMT,1,1,441,1.1,CSH,6.5 +CMT,1,1,964,1.2,CSH,11.0 +CMT,1,1,562,2.2,CRD,9.0 +CMT,1,1,446,1.0,CRD,7.0 +CMT,1,1,304,0.6,CSH,5.5 +CMT,1,1,668,1.0,NOC,8.0 +CMT,1,1,507,1.6,CSH,8.0 +CMT,1,1,303,0.9,CSH,5.5 +CMT,1,1,738,1.3,CRD,9.5 +CMT,1,1,704,1.8,CSH,9.5 +CMT,1,1,2086,9.9,CRD,35.0 +CMT,1,1,412,0.9,CSH,6.5 +CMT,1,1,1812,9.9,CSH,31.0 +CMT,1,1,664,2.5,CRD,10.0 +CMT,1,1,366,1.2,CRD,6.5 +CMT,1,1,1280,2.1,CSH,14.0 +CMT,1,1,441,0.8,CRD,6.5 +CMT,1,1,212,0.5,CRD,4.5 +CMT,1,1,1883,2.7,CRD,19.0 +CMT,1,1,472,1.3,CRD,7.0 +CMT,1,1,664,1.9,CRD,9.5 +CMT,1,1,737,2.5,CRD,11.5 +CMT,1,1,1282,4.0,CRD,17.0 +CMT,1,1,1550,9.5,CRD,29.0 +CMT,1,1,655,1.1,CRD,8.0 +CMT,1,1,1321,4.9,CRD,18.0 +CMT,1,1,1956,3.7,CRD,21.0 +CMT,1,1,437,1.1,CSH,7.0 +CMT,1,1,259,0.8,CRD,5.0 +CMT,1,1,732,1.5,NOC,9.0 +CMT,1,1,584,0.9,CSH,7.5 +CMT,1,1,1415,4.8,CSH,18.5 +CMT,1,1,268,0.9,CRD,5.5 +CMT,1,1,732,1.2,CRD,9.0 +CMT,1,1,436,1.1,CSH,7.0 +CMT,1,1,782,1.5,CRD,9.5 +CMT,1,1,779,2.5,CSH,11.0 +CMT,1,1,636,1.3,CSH,8.5 +CMT,1,1,402,0.9,CRD,6.5 +CMT,1,1,590,3.4,CRD,12.5 +CMT,1,1,365,1.3,CSH,7.0 +CMT,1,1,451,0.5,CSH,6.0 +CMT,1,1,378,1.1,CSH,6.5 +CMT,1,1,628,1.0,CRD,8.0 +CMT,1,1,846,1.1,CSH,10.0 +CMT,1,1,482,1.0,CRD,7.0 +CMT,1,1,549,1.9,CSH,8.5 +CMT,1,1,1438,6.1,CRD,23.0 +CMT,1,1,726,1.5,CSH,9.5 +CMT,1,1,1154,1.6,CSH,12.5 +CMT,1,1,688,1.1,CRD,8.5 +CMT,1,1,97,0.2,CSH,3.0 +CMT,1,1,325,0.6,CRD,5.5 +CMT,1,1,699,1.4,CSH,9.0 +CMT,1,1,1774,9.1,NOC,29.5 +CMT,1,1,402,0.7,CSH,6.0 +CMT,1,1,250,0.9,CRD,5.0 +CMT,1,1,359,0.7,NOC,5.0 +CMT,1,1,254,0.8,CSH,5.0 +CMT,1,1,467,1.0,CSH,6.5 +CMT,1,1,409,0.9,CRD,6.5 +CMT,1,1,746,2.3,CRD,10.5 +CMT,1,1,794,2.1,CRD,11.0 +CMT,1,1,626,1.1,CRD,8.0 +CMT,2,1,2536,19.8,CRD,52.0 +CMT,1,1,2084,11.2,NOC,35.0 +CMT,1,1,570,1.2,CRD,8.0 +CMT,1,1,275,0.6,CSH,5.0 +CMT,2,1,2639,17.3,NOC,52.0 +CMT,1,1,664,1.5,CSH,8.5 +CMT,1,1,486,0.6,CSH,6.5 +CMT,1,1,2561,11.2,CSH,39.0 +CMT,1,1,800,2.6,CSH,11.5 +CMT,1,1,238,0.5,CRD,4.5 +CMT,1,1,282,0.5,CRD,5.0 +CMT,1,1,188,0.4,CRD,4.0 +CMT,1,1,177,0.5,CSH,4.0 +CMT,1,1,1853,6.3,CRD,24.0 +CMT,1,1,442,0.9,CSH,6.0 +CMT,1,1,1280,4.7,CRD,17.5 +CMT,1,1,1148,2.4,CSH,13.0 +CMT,1,1,1222,7.2,CSH,22.5 +CMT,1,1,1278,2.8,CRD,15.0 +CMT,1,1,149,0.6,NOC,4.0 +CMT,1,1,6,0.0,CSH,2.5 +CMT,1,1,846,2.0,CRD,10.5 +CMT,1,1,1560,3.9,CRD,19.0 +CMT,1,1,458,1.2,CSH,7.0 +CMT,1,1,1322,0.8,CSH,13.5 +CMT,1,1,707,1.5,CSH,9.0 +CMT,1,1,795,1.0,CSH,8.5 +CMT,1,1,318,0.9,CSH,5.5 +CMT,1,1,526,1.3,CRD,7.5 +CMT,1,1,160,0.5,CRD,4.0 +CMT,1,1,566,1.3,CRD,7.5 +CMT,1,1,436,0.9,CSH,6.5 +CMT,1,1,610,1.6,CSH,8.5 +CMT,1,1,1766,9.9,CRD,32.0 +CMT,1,1,545,1.3,CRD,7.5 +CMT,1,1,459,1.2,CRD,7.0 +CMT,1,1,977,1.0,CSH,11.0 +CMT,1,1,363,0.6,CSH,5.5 +CMT,1,1,300,0.5,NOC,5.0 +CMT,1,1,974,2.9,NOC,13.0 +CMT,1,1,1242,2.7,CRD,14.0 +CMT,1,1,1318,2.2,CSH,14.5 +CMT,2,1,2947,19.9,CSH,52.0 +CMT,1,1,369,0.4,CRD,5.5 +CMT,1,1,1267,5.1,CRD,18.5 +CMT,1,1,289,0.6,CRD,5.0 +CMT,1,1,1488,8.3,CSH,26.5 +CMT,1,1,615,1.0,CRD,8.0 +CMT,1,1,2440,10.9,CRD,38.5 +CMT,1,1,471,1.2,CRD,7.5 +CMT,1,1,1004,2.3,CRD,12.0 +CMT,1,1,1384,5.8,CRD,21.5 +CMT,1,1,447,1.5,CSH,8.0 +CMT,1,1,354,0.3,CSH,5.0 +CMT,1,1,1625,8.9,CSH,29.5 +CMT,1,1,1571,3.6,CRD,17.0 +CMT,1,1,445,0.9,CRD,6.5 +CMT,1,1,1056,1.6,CSH,12.0 +CMT,1,1,1623,10.4,NOC,30.5 +CMT,1,1,1021,2.4,CRD,12.0 +CMT,1,1,710,2.1,CRD,10.5 +CMT,1,1,1798,3.6,CSH,19.5 +CMT,1,1,1093,1.3,CRD,11.5 +CMT,1,1,2,0.0,CSH,2.5 +CMT,1,1,382,0.6,CRD,6.0 +CMT,1,1,1253,5.0,CSH,18.5 +CMT,1,1,875,1.6,CRD,10.5 +CMT,1,1,729,1.6,CRD,10.5 +CMT,1,1,526,1.1,CRD,7.0 +CMT,1,1,734,2.6,CSH,10.5 +CMT,1,1,1444,2.7,CRD,16.5 +CMT,1,1,1177,4.6,CRD,17.0 +CMT,1,1,1269,2.5,CSH,14.5 +CMT,1,1,1470,9.1,CRD,28.5 +CMT,1,1,391,0.8,CRD,6.0 +CMT,1,1,1040,5.7,CRD,19.0 +CMT,1,1,1098,2.9,NOC,13.5 +CMT,1,1,1419,5.4,CRD,20.5 +CMT,1,1,231,0.5,CSH,4.5 +CMT,1,1,762,3.1,CSH,12.5 +CMT,1,1,140,0.4,CSH,4.0 +CMT,1,1,3789,9.2,CRD,45.5 +CMT,1,1,798,1.3,CSH,9.5 +CMT,2,1,4417,20.7,CRD,52.0 +CMT,1,1,754,0.6,CSH,9.0 +CMT,1,1,375,0.7,CSH,6.0 +CMT,1,1,2881,12.2,CSH,39.0 +CMT,1,1,1517,3.3,CRD,16.5 +CMT,1,2,566,1.6,CRD,9.0 +CMT,1,1,313,0.7,CSH,5.5 +CMT,1,1,192,0.5,CSH,4.5 +CMT,1,1,301,1.5,CSH,7.0 +CMT,1,1,1444,7.8,CSH,26.0 +CMT,1,1,286,1.0,CRD,5.5 +CMT,1,2,381,0.8,CSH,6.0 +CMT,1,2,603,0.9,CSH,7.5 +CMT,1,1,571,1.2,CSH,8.0 +CMT,3,1,1858,15.5,CRD,61.0 +CMT,1,1,293,0.9,CRD,5.5 +CMT,1,1,533,1.8,CRD,8.5 +CMT,1,1,1098,5.0,NOC,18.0 +CMT,1,1,358,0.9,CRD,6.0 +CMT,1,1,696,1.7,CRD,9.5 +CMT,1,1,646,1.5,CSH,8.5 +CMT,1,1,749,1.5,CSH,10.0 +CMT,1,1,44,0.2,CSH,2.5 +CMT,1,1,1303,0.8,CSH,13.5 +CMT,1,1,1070,2.7,CSH,13.0 +CMT,1,1,1358,2.4,CSH,14.5 +CMT,1,1,298,0.9,CRD,5.5 +CMT,1,2,732,1.9,CSH,10.0 +CMT,1,1,174,0.3,CSH,4.0 +CMT,1,1,605,2.1,CSH,9.5 +CMT,1,1,420,1.0,CSH,7.0 +CMT,1,1,612,2.3,CRD,9.5 +CMT,1,1,530,1.2,CRD,7.5 +VTS,1,1,2160,13.16,CSH,39.0 +VTS,1,1,420,1.72,CRD,7.5 +VTS,1,1,540,0.57,CRD,6.5 +VTS,1,1,1080,4.54,CRD,17.5 +VTS,1,1,900,4.38,CRD,16.0 +VTS,1,1,180,0.94,CSH,5.0 +VTS,1,1,840,4.35,CRD,15.5 +VTS,1,1,540,2.0,CSH,9.0 +VTS,1,1,540,2.49,CRD,9.5 +CMT,1,1,485,1.2,CSH,7.0 +CMT,1,1,523,1.7,CRD,8.0 +CMT,1,1,1304,2.6,CSH,15.5 +CMT,1,1,279,0.8,CRD,5.5 +CMT,1,1,1340,2.8,CSH,15.0 +CMT,1,1,428,1.1,CSH,6.5 +CMT,1,1,404,1.8,CRD,8.5 +CMT,1,1,986,7.0,CRD,21.5 +CMT,1,1,468,1.1,CSH,7.0 +CMT,1,1,593,1.3,NOC,8.0 +CMT,1,1,1640,3.7,NOC,19.5 +CMT,1,1,629,0.9,CSH,8.0 +CMT,1,1,1373,2.9,CSH,15.5 +CMT,1,1,889,2.0,CRD,11.0 +CMT,1,1,454,3.8,CRD,12.5 +CMT,1,1,538,1.1,CSH,7.5 +CMT,1,1,634,1.7,CSH,9.0 +CMT,1,2,476,0.9,CSH,7.0 +CMT,1,1,617,2.2,CRD,10.0 +CMT,1,1,380,1.1,CSH,6.5 +CMT,1,1,2604,8.5,CRD,33.5 +CMT,1,1,984,2.5,CRD,13.0 +CMT,1,2,975,3.3,CRD,14.0 +CMT,1,2,458,2.7,CSH,10.0 +CMT,1,1,245,0.6,CRD,5.0 +CMT,1,2,319,1.0,CSH,6.0 +CMT,1,1,2090,6.2,CRD,27.0 +CMT,1,1,2319,6.6,CSH,27.5 +CMT,1,1,567,1.2,CSH,7.5 +CMT,1,1,521,1.8,CSH,8.0 +CMT,1,1,1363,3.3,CSH,16.0 +CMT,1,1,506,1.3,CRD,7.5 +CMT,1,1,486,1.2,CRD,7.5 +CMT,1,1,974,2.8,CRD,12.0 +CMT,1,1,314,1.0,CSH,6.0 +CMT,1,1,950,2.3,CSH,11.5 +CMT,1,1,596,2.2,CRD,9.5 +CMT,1,1,2699,10.4,CRD,37.5 +CMT,1,1,1479,9.3,CSH,29.0 +CMT,1,1,315,1.0,CRD,6.0 +CMT,1,1,1146,2.4,CRD,14.0 +CMT,1,1,343,0.5,CSH,5.5 +CMT,1,1,461,0.9,CRD,7.0 +CMT,1,1,1090,3.6,CRD,14.5 +CMT,1,1,512,1.2,CSH,7.5 +CMT,1,1,836,1.7,CSH,10.5 +CMT,1,1,900,1.4,CSH,10.5 +CMT,1,1,405,1.0,CRD,6.5 +CMT,1,1,1001,2.2,CRD,12.0 +CMT,1,1,499,1.2,CRD,7.5 +CMT,1,1,351,1.5,CRD,7.0 +CMT,1,1,246,0.5,CSH,4.5 +CMT,1,1,430,0.5,CSH,6.0 +CMT,1,1,1473,3.3,CRD,17.0 +CMT,2,1,3540,20.9,CRD,52.0 +CMT,1,1,128,0.5,CSH,4.0 +CMT,1,1,602,2.1,CSH,9.5 +CMT,1,1,2095,4.4,CSH,24.0 +CMT,1,1,1202,2.8,CSH,14.0 +CMT,1,1,1125,2.3,CSH,14.0 +CMT,1,1,497,1.9,CSH,8.5 +CMT,1,1,911,1.9,CSH,11.5 +CMT,1,1,529,0.8,CSH,7.5 +CMT,1,1,2060,11.0,CRD,34.5 +CMT,1,1,243,0.8,CRD,5.0 +CMT,1,1,786,2.1,CRD,10.0 +CMT,1,1,143,0.2,CRD,3.5 +CMT,1,1,645,1.6,CSH,9.0 +CMT,1,1,1036,4.9,CRD,17.5 +CMT,3,1,4152,17.0,CSH,66.5 +CMT,1,1,298,1.4,CRD,6.5 +CMT,1,1,518,1.7,CRD,8.5 +CMT,1,1,2485,15.6,CSH,46.5 +CMT,1,1,232,0.6,CSH,4.5 +CMT,1,1,23,0.0,CSH,2.5 +CMT,1,1,1018,2.3,CSH,12.5 +CMT,2,1,2786,19.7,CSH,52.0 +CMT,1,1,1209,5.9,CSH,20.5 +CMT,1,1,457,0.9,CRD,6.5 +CMT,1,1,1663,7.5,CRD,26.0 +CMT,1,1,520,1.3,CSH,7.0 +CMT,1,1,992,3.3,CRD,14.0 +CMT,1,1,416,0.9,CSH,6.5 +CMT,1,1,407,0.5,CRD,6.0 +CMT,1,1,1313,4.5,CRD,17.5 +CMT,1,1,653,2.4,CRD,10.0 +CMT,1,1,1103,3.0,CSH,14.0 +CMT,1,1,534,0.9,CRD,7.0 +CMT,1,1,1756,8.6,CRD,30.0 +CMT,1,1,806,1.4,NOC,10.0 +CMT,1,1,648,1.4,CSH,8.5 +CMT,1,1,654,1.5,CSH,9.0 +CMT,1,1,819,1.3,CRD,10.5 +CMT,1,1,2,0.0,NOC,2.5 +CMT,2,2,3212,19.1,CRD,52.0 +CMT,1,2,250,0.8,CSH,5.0 +CMT,1,1,491,1.7,CRD,8.0 +CMT,1,1,1323,7.9,CRD,25.0 +CMT,1,3,712,2.0,CSH,9.5 +CMT,1,1,1021,3.5,CRD,14.5 +CMT,1,2,597,0.7,CRD,7.5 +CMT,1,1,418,0.9,CRD,6.5 +CMT,1,1,3668,9.2,CRD,43.0 +CMT,1,1,227,0.8,CSH,5.0 +CMT,1,1,378,1.2,CRD,7.0 +CMT,1,1,2163,9.7,CRD,32.5 +CMT,1,1,294,0.3,CRD,5.0 +CMT,1,1,1106,4.1,CRD,16.5 +CMT,1,1,675,1.1,CSH,8.5 +CMT,1,1,1343,7.4,CSH,24.0 +CMT,1,1,927,3.0,CRD,13.0 +CMT,1,1,1541,3.8,CSH,17.5 +CMT,1,1,820,3.8,CRD,13.5 +CMT,1,1,479,1.0,CRD,7.0 +CMT,1,1,1177,3.3,CSH,15.0 +CMT,1,1,917,2.1,CSH,11.0 +CMT,1,1,501,1.6,CRD,8.5 +CMT,1,1,537,1.5,CRD,8.5 +CMT,1,1,363,1.0,CRD,6.5 +CMT,1,1,753,1.7,CRD,10.0 +CMT,1,1,1884,10.5,CSH,33.5 +CMT,1,1,2425,4.5,NOC,14.5 +CMT,1,1,1266,3.2,CSH,15.0 +CMT,1,1,363,1.6,CRD,7.0 +CMT,1,1,1931,5.5,CSH,26.0 +CMT,1,1,488,0.8,CSH,7.0 +CMT,1,1,1755,12.1,CSH,34.0 +CMT,2,1,4105,21.2,NOC,52.0 +CMT,1,1,817,1.9,CRD,10.0 +CMT,1,1,706,1.5,CRD,9.0 +CMT,1,2,423,1.1,CRD,6.5 +CMT,1,1,710,1.5,CRD,9.5 +VTS,2,1,1440,17.29,CRD,52.0 +VTS,1,1,720,2.17,CSH,10.0 +VTS,1,1,360,1.6,CSH,7.0 +VTS,1,1,360,0.82,CSH,5.5 +VTS,1,1,720,2.83,CSH,12.5 +VTS,1,1,60,0.04,CSH,2.5 +VTS,1,1,300,0.69,CSH,5.0 +VTS,1,1,720,1.59,CRD,10.0 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,660,5.81,CRD,18.0 +VTS,1,1,360,1.72,CSH,7.0 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,120,0.61,CRD,4.0 +VTS,2,1,2520,17.82,CRD,52.0 +VTS,1,1,240,1.48,CSH,6.0 +VTS,1,1,660,2.78,CRD,11.0 +VTS,1,1,2760,19.81,CSH,56.5 +VTS,1,1,240,1.12,CRD,6.0 +VTS,1,1,1020,5.18,CRD,18.5 +VTS,1,1,900,4.56,CRD,15.5 +VTS,1,1,240,0.74,CRD,5.0 +VTS,1,1,840,4.39,CRD,15.0 +VTS,2,1,1440,16.87,CSH,52.0 +VTS,1,1,1260,9.44,CSH,28.0 +CMT,1,1,368,0.8,CRD,6.0 +CMT,1,1,548,1.3,CRD,8.0 +CMT,1,1,1651,3.2,CSH,18.0 +CMT,1,1,386,1.1,CSH,6.5 +CMT,1,1,340,0.9,CSH,5.5 +CMT,1,1,1272,4.2,NOC,16.5 +CMT,1,1,790,2.3,CRD,11.0 +CMT,1,1,613,0.9,CRD,8.0 +CMT,1,1,1336,3.0,CRD,15.0 +CMT,1,1,573,1.4,NOC,8.0 +CMT,1,1,434,1.2,CRD,7.0 +CMT,1,1,526,1.4,CRD,7.5 +CMT,1,1,868,3.2,CRD,13.0 +CMT,1,2,488,1.7,CSH,8.5 +CMT,1,2,207,0.5,CSH,4.0 +CMT,1,2,347,0.7,CRD,5.5 +CMT,1,1,577,0.7,CSH,7.5 +CMT,1,1,400,1.2,CRD,7.0 +CMT,1,2,842,1.0,CSH,9.5 +VTS,2,1,1800,18.05,CSH,52.0 +VTS,2,1,1320,17.23,CSH,52.0 +VTS,2,1,1620,17.06,CRD,52.0 +VTS,1,1,420,1.7,CRD,8.0 +VTS,1,1,1560,13.51,CRD,38.0 +VTS,1,1,540,0.91,CRD,7.5 +VTS,1,1,420,3.46,CRD,12.0 +CMT,1,2,1369,4.5,CSH,18.5 +CMT,1,1,394,0.8,CRD,6.5 +CMT,1,1,235,0.7,CRD,5.0 +CMT,1,2,1017,5.7,CRD,19.0 +CMT,1,3,644,1.9,CSH,9.5 +CMT,2,1,5324,26.4,CRD,52.0 +CMT,1,1,785,2.1,CSH,11.0 +CMT,1,1,321,0.4,CSH,5.0 +CMT,1,1,713,4.3,CRD,15.0 +CMT,1,1,748,2.0,CSH,10.0 +VTS,1,1,780,4.21,CRD,14.0 +VTS,2,1,1920,21.75,CSH,52.0 +VTS,1,1,420,1.31,CRD,7.0 +VTS,1,1,360,1.26,CRD,6.0 +VTS,1,1,1080,2.16,CRD,12.5 +VTS,1,1,480,1.56,CRD,7.5 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,360,1.49,CSH,6.5 +VTS,1,1,660,1.96,CSH,9.5 +VTS,1,1,600,3.5,CSH,11.5 +VTS,1,1,180,1.14,CSH,5.5 +VTS,1,1,300,1.44,CRD,6.0 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,900,4.61,CRD,16.5 +VTS,1,1,660,3.87,CSH,13.0 +VTS,1,1,2460,13.15,CRD,43.0 +CMT,1,1,859,1.3,CRD,10.0 +CMT,1,1,615,1.6,CRD,8.5 +CMT,1,1,1189,3.0,CSH,15.0 +CMT,1,1,699,1.4,CSH,9.0 +VTS,1,1,360,1.66,CRD,7.5 +VTS,2,1,2040,19.11,CRD,52.0 +VTS,1,1,240,0.91,CRD,5.5 +VTS,1,1,660,1.28,CSH,9.0 +VTS,1,1,480,2.16,CSH,8.5 +VTS,1,1,420,1.63,CRD,7.5 +VTS,1,1,1080,4.59,CRD,17.0 +VTS,1,1,240,0.92,CRD,5.0 +VTS,1,1,240,1.07,CSH,5.5 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,240,0.81,CRD,5.0 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,1200,3.9,CRD,16.0 +VTS,1,1,180,0.84,CRD,4.5 +VTS,1,1,840,3.35,CRD,13.0 +VTS,1,1,360,1.45,CRD,7.0 +VTS,2,1,1920,18.4,CRD,52.0 +VTS,1,1,600,3.35,CSH,12.0 +VTS,1,1,120,0.19,CSH,3.0 +VTS,1,1,240,0.85,CSH,5.0 +VTS,1,1,960,2.12,CRD,12.0 +VTS,1,1,300,0.8,CSH,5.5 +CMT,1,1,854,2.4,CRD,12.0 +CMT,1,2,360,1.2,CSH,7.0 +CMT,1,1,691,2.1,CRD,10.5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,1020,5.13,CRD,18.0 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,540,1.89,CSH,9.0 +VTS,1,1,600,3.28,CSH,11.5 +VTS,1,1,1140,5.4,CSH,19.5 +VTS,1,1,900,2.84,CSH,12.5 +VTS,1,1,660,4.82,CRD,15.0 +VTS,1,1,840,6.02,CRD,19.0 +VTS,1,1,240,0.95,CRD,5.5 +VTS,2,1,1800,17.86,CSH,52.0 +VTS,1,1,1740,13.41,CRD,38.5 +VTS,1,1,660,3.11,CRD,11.5 +VTS,1,1,420,1.73,CSH,7.5 +VTS,1,1,120,0.3,CSH,3.5 +VTS,1,1,720,3.02,CRD,12.0 +VTS,1,1,540,1.67,CRD,8.5 +VTS,1,1,1200,9.63,CRD,29.0 +VTS,1,1,420,2.27,CSH,8.5 +VTS,1,1,840,1.7,CRD,11.0 +VTS,1,1,1380,4.65,CSH,18.5 +VTS,1,1,1020,4.37,CRD,17.0 +VTS,1,1,840,9.24,CSH,26.5 +VTS,1,1,1200,3.8,CSH,16.0 +VTS,1,1,540,1.45,CRD,8.0 +VTS,1,1,720,2.05,CSH,10.0 +VTS,1,1,360,1.67,CSH,7.0 +VTS,1,1,600,3.92,CSH,13.0 +VTS,1,1,780,3.39,CRD,13.0 +VTS,2,1,1620,19.14,CRD,52.0 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,1560,5.41,CRD,22.0 +VTS,1,1,1620,7.7,CSH,26.0 +VTS,1,1,420,1.18,CSH,6.5 +VTS,1,1,300,0.67,CRD,5.0 +VTS,1,1,1320,5.54,CRD,20.0 +VTS,1,1,480,1.44,CRD,7.5 +VTS,1,1,840,2.99,CSH,12.0 +VTS,1,1,1440,9.88,CRD,30.0 +VTS,1,1,900,3.79,CSH,14.5 +VTS,2,1,300,2.46,CRD,52.0 +VTS,1,1,420,2.12,CRD,8.5 +VTS,1,1,1740,9.57,CRD,31.0 +VTS,1,1,1080,12.76,CSH,34.5 +VTS,1,1,300,1.0,CRD,5.5 +VTS,1,1,1200,5.59,CSH,19.5 +VTS,1,1,600,2.77,CSH,11.5 +VTS,1,1,540,2.02,CSH,9.0 +VTS,1,1,1260,1.63,CSH,13.0 +CMT,2,1,1688,17.3,CRD,52.0 +CMT,1,2,597,2.7,CSH,10.5 +CMT,1,2,1107,4.4,CRD,16.5 +CMT,1,1,274,0.6,CSH,5.0 +CMT,1,2,677,5.5,CRD,17.0 +CMT,1,1,611,2.4,CRD,10.0 +CMT,1,1,682,0.8,CRD,8.5 +CMT,1,4,926,2.9,CSH,12.5 +VTS,1,1,480,1.48,CSH,8.0 +VTS,1,1,180,0.3,CRD,4.0 +VTS,1,1,1080,5.37,CSH,18.0 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,1,240,1.46,CSH,6.0 +VTS,1,1,240,1.07,CSH,5.0 +VTS,1,1,900,4.65,CSH,16.0 +VTS,1,1,720,2.2,CSH,10.5 +VTS,1,1,840,5.28,CRD,17.0 +VTS,1,1,540,2.52,CRD,9.5 +VTS,1,1,1860,11.56,CSH,36.0 +VTS,1,1,840,3.42,CSH,13.5 +VTS,1,1,360,1.5,CSH,7.0 +VTS,1,1,480,2.23,CRD,9.0 +VTS,1,1,600,2.53,CSH,10.5 +VTS,1,1,480,1.68,CRD,8.0 +VTS,1,1,420,0.9,CRD,6.0 +VTS,1,1,600,1.3,CSH,8.0 +VTS,2,1,2580,17.27,CSH,52.0 +VTS,1,1,1620,5.53,CRD,23.0 +VTS,1,1,900,3.82,CRD,14.5 +VTS,1,1,1140,6.6,CRD,21.0 +VTS,1,1,240,1.79,CRD,7.0 +VTS,1,1,540,3.56,CRD,12.0 +VTS,1,1,480,1.86,CRD,8.5 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,360,0.67,CSH,5.5 +VTS,1,1,480,1.81,CRD,9.0 +VTS,1,1,780,5.95,CRD,18.5 +VTS,1,1,1440,6.82,CRD,24.0 +VTS,1,1,900,4.15,CSH,15.5 +VTS,1,1,420,1.03,CRD,6.5 +VTS,1,1,180,0.89,CRD,5.0 +VTS,1,1,420,0.54,CRD,6.0 +VTS,1,1,300,0.77,CRD,5.0 +VTS,1,1,1380,15.9,CRD,43.5 +VTS,1,1,960,4.0,CSH,15.0 +VTS,1,1,300,1.41,CSH,6.5 +VTS,1,1,300,1.05,CSH,5.5 +VTS,1,1,180,0.16,CSH,3.5 +VTS,1,1,1740,4.96,CSH,21.0 +VTS,1,1,960,3.74,CRD,14.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,480,2.24,CRD,9.5 +VTS,1,1,1500,16.2,CRD,44.5 +VTS,1,1,420,2.07,CRD,9.0 +VTS,1,1,1080,4.23,CSH,16.5 +VTS,1,1,240,0.97,CSH,5.0 +VTS,1,1,180,0.49,CSH,4.0 +VTS,2,1,2400,17.5,CRD,52.0 +VTS,1,1,1500,4.16,CRD,19.5 +VTS,1,1,1200,16.67,CRD,44.5 +VTS,1,1,360,1.51,CRD,7.0 +VTS,1,1,1080,2.92,CSH,13.5 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,540,2.66,CRD,10.5 +VTS,1,1,480,2.89,CRD,10.5 +VTS,1,1,1080,2.44,CSH,14.0 +VTS,1,1,480,2.74,CSH,10.0 +VTS,1,1,420,1.3,CRD,6.5 +VTS,1,1,420,2.11,CRD,8.5 +VTS,1,1,1200,3.93,CRD,16.5 +VTS,1,1,840,7.37,CRD,21.5 +VTS,1,1,720,3.06,CRD,12.0 +VTS,1,1,60,0.43,CSH,3.5 +VTS,1,1,780,2.33,CSH,11.0 +VTS,1,1,420,1.61,CSH,7.5 +VTS,1,1,900,9.3,CSH,25.5 +VTS,1,1,1020,6.79,CSH,21.0 +CMT,1,1,462,0.9,CSH,6.5 +CMT,1,1,346,1.2,CSH,6.5 +CMT,1,1,1754,5.2,NOC,20.0 +CMT,1,1,1018,1.9,CSH,12.0 +CMT,1,1,356,0.8,CSH,6.0 +CMT,1,1,983,2.6,CSH,13.0 +CMT,1,1,201,0.7,CRD,4.5 +CMT,1,1,1158,1.5,CRD,12.5 +CMT,1,1,297,0.6,CRD,5.0 +CMT,1,1,319,0.7,CSH,5.5 +CMT,1,1,391,0.6,CSH,6.0 +CMT,1,1,318,0.3,CRD,5.0 +CMT,1,1,1049,2.4,CSH,12.5 +CMT,1,1,1407,3.5,NOC,16.5 +CMT,1,1,667,1.9,CRD,9.5 +CMT,1,1,1033,1.4,CRD,11.5 +CMT,1,1,1468,7.3,CSH,23.5 +CMT,1,1,1127,1.5,CSH,12.0 +CMT,1,1,545,1.4,CSH,8.0 +CMT,1,1,401,0.6,CRD,6.0 +CMT,1,1,1004,2.3,CRD,12.5 +CMT,1,1,371,1.0,CSH,5.5 +CMT,1,1,460,0.7,CSH,6.0 +CMT,1,1,860,3.6,CSH,12.5 +CMT,1,1,626,2.5,CRD,10.5 +CMT,1,1,227,0.5,CSH,4.5 +CMT,1,1,433,0.7,CSH,6.0 +CMT,1,1,859,1.6,CSH,10.0 +CMT,1,1,1276,2.5,CRD,15.0 +CMT,1,1,391,0.9,CSH,6.5 +CMT,1,1,434,1.1,CSH,6.5 +CMT,1,1,165,0.6,CRD,4.5 +CMT,1,1,1290,1.5,CRD,14.0 +CMT,1,1,715,1.0,CRD,9.0 +CMT,1,1,624,1.1,CSH,8.0 +CMT,1,1,667,1.1,CSH,8.0 +CMT,1,1,102,0.1,CSH,3.0 +CMT,1,1,1044,2.7,CRD,13.0 +CMT,1,1,408,0.9,CRD,6.0 +CMT,1,1,692,1.3,CRD,9.0 +CMT,1,1,686,2.0,CRD,10.0 +CMT,1,1,366,1.5,CSH,7.5 +CMT,1,1,1324,8.0,CSH,26.0 +CMT,1,1,412,1.2,CSH,7.0 +CMT,1,1,277,0.5,CSH,5.0 +CMT,1,1,555,2.2,CRD,9.5 +CMT,1,1,399,0.7,CRD,6.0 +VTS,1,1,480,2.11,CRD,9.0 +VTS,1,1,180,0.93,CRD,5.0 +VTS,1,1,1680,6.68,CRD,24.0 +VTS,1,1,420,1.81,CSH,8.5 +VTS,1,1,600,2.8,CSH,11.0 +VTS,1,1,420,2.08,CRD,8.5 +VTS,1,1,600,2.27,CRD,9.5 +VTS,1,1,540,1.57,CSH,8.0 +VTS,1,1,300,1.53,CSH,7.0 +VTS,1,1,1140,4.71,CRD,17.0 +VTS,1,1,780,3.65,CRD,13.5 +VTS,1,1,540,2.74,CSH,10.0 +VTS,1,1,540,2.53,CRD,10.0 +VTS,1,1,600,1.43,CRD,8.0 +VTS,1,1,240,0.78,CSH,5.0 +VTS,1,1,780,3.85,CRD,14.0 +VTS,1,1,360,0.69,CRD,5.5 +VTS,1,1,1200,6.13,CSH,20.5 +VTS,1,1,1020,13.06,CSH,35.5 +VTS,1,1,120,0.66,CRD,4.0 +VTS,1,1,1260,2.82,CRD,15.5 +VTS,1,1,1080,7.23,CRD,23.5 +VTS,1,1,660,2.7,CRD,11.0 +VTS,1,1,1560,6.59,CRD,24.0 +VTS,1,1,780,2.94,CRD,12.0 +VTS,1,1,300,1.18,CRD,6.5 +VTS,1,1,660,2.15,CSH,10.0 +VTS,1,1,1260,4.28,CRD,17.5 +VTS,1,1,600,1.35,CSH,8.0 +VTS,1,1,240,1.27,CRD,5.5 +VTS,5,1,0,0.0,CRD,16.0 +VTS,1,1,240,1.02,CSH,5.5 +VTS,2,1,1560,18.6,CRD,52.0 +VTS,1,1,660,3.2,CSH,12.0 +VTS,2,1,1800,17.6,CRD,52.0 +VTS,1,1,3240,16.06,CRD,57.0 +VTS,1,1,300,1.33,CSH,6.0 +VTS,1,1,840,1.63,CRD,10.5 +VTS,1,1,960,4.26,CRD,15.5 +VTS,1,1,240,1.04,CSH,6.0 +VTS,1,1,900,3.42,CRD,13.5 +VTS,1,1,840,8.69,CRD,25.0 +VTS,1,1,600,2.45,CRD,10.0 +VTS,1,1,180,0.46,CRD,4.0 +VTS,1,1,300,1.34,CRD,6.0 +VTS,1,1,1020,8.27,CSH,25.0 +VTS,1,1,420,1.89,CSH,8.0 +VTS,1,1,1080,4.32,CRD,17.0 +VTS,1,1,720,2.58,CRD,11.0 +VTS,1,1,720,3.52,CRD,13.5 +VTS,1,1,600,4.23,CRD,13.5 +VTS,1,1,300,1.54,CSH,6.5 +VTS,1,1,240,1.34,CRD,5.5 +VTS,1,1,1380,7.05,CSH,23.5 +VTS,1,1,540,1.54,CRD,8.0 +VTS,1,1,420,1.34,CRD,7.0 +VTS,1,1,300,1.44,CSH,6.5 +VTS,1,1,420,2.32,CRD,9.0 +VTS,1,1,1380,5.09,CRD,20.5 +VTS,1,1,1140,9.58,CSH,28.0 +VTS,1,1,900,2.8,CRD,12.0 +VTS,1,1,180,0.85,CRD,4.5 +VTS,1,1,900,3.8,CRD,14.0 +VTS,1,1,360,1.32,CRD,7.5 +VTS,1,1,1200,8.17,CSH,25.0 +VTS,1,1,780,1.78,CSH,9.5 +VTS,1,1,720,1.84,CSH,9.5 +VTS,1,1,660,1.38,CSH,8.5 +VTS,1,1,720,3.4,CRD,13.0 +VTS,1,1,420,1.97,CSH,8.5 +VTS,1,1,360,1.64,CRD,7.0 +VTS,1,1,660,2.74,CRD,10.5 +VTS,1,1,540,1.46,CSH,8.5 +VTS,1,1,240,0.91,CSH,5.5 +VTS,1,1,420,1.44,CSH,7.5 +VTS,1,1,1380,11.84,CSH,33.5 +VTS,1,1,240,0.88,CRD,5.0 +VTS,1,1,300,1.46,CRD,6.5 +VTS,2,1,0,0.1,CSH,52.0 +VTS,1,1,300,1.14,CRD,6.0 +VTS,1,1,600,3.25,CSH,11.5 +VTS,1,1,540,2.89,CSH,10.5 +VTS,1,1,60,0.2,CRD,3.0 +VTS,1,1,300,1.51,CSH,6.0 +VTS,1,1,660,2.51,CSH,11.0 +VTS,1,1,300,1.29,CRD,6.5 +VTS,1,1,240,1.17,CRD,5.5 +VTS,2,1,0,0.02,CSH,52.0 +VTS,1,1,1020,9.98,CRD,27.5 +VTS,2,1,0,0.03,CRD,52.0 +VTS,1,1,360,1.81,CSH,8.0 +VTS,1,1,300,1.14,CRD,6.0 +VTS,1,1,1020,7.28,CSH,22.5 +VTS,1,1,780,5.46,CSH,17.5 +VTS,1,1,660,0.69,CRD,8.0 +VTS,1,1,240,1.94,CRD,7.0 +VTS,1,1,360,2.87,CSH,10.0 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,1,240,0.73,CSH,5.0 +VTS,1,1,1080,7.2,CSH,23.5 +VTS,1,1,660,3.08,CSH,11.5 +VTS,1,1,540,1.49,CSH,8.5 +VTS,1,1,840,2.39,CRD,11.0 +VTS,1,1,1560,11.75,CSH,35.0 +VTS,1,1,300,0.57,CSH,5.0 +VTS,1,1,420,2.27,CSH,8.5 +VTS,1,1,540,1.8,CSH,8.5 +VTS,1,2,1200,11.15,CRD,32.0 +VTS,1,1,1380,11.14,CRD,32.5 +VTS,1,3,60,0.21,CSH,3.0 +VTS,1,1,900,2.54,CRD,12.5 +VTS,1,1,780,2.85,CSH,11.5 +VTS,1,1,480,1.14,CRD,7.0 +VTS,1,1,720,2.15,CSH,10.5 +VTS,1,1,1020,4.14,CRD,16.0 +VTS,1,1,240,0.72,CRD,5.0 +VTS,1,1,1860,10.2,CRD,34.0 +VTS,1,1,780,2.24,CRD,11.0 +VTS,1,1,300,1.0,CRD,5.5 +VTS,1,1,660,1.36,CSH,9.0 +VTS,1,1,780,3.9,CRD,15.0 +VTS,1,1,360,1.15,CSH,6.0 +VTS,1,1,120,0.9,CRD,4.5 +VTS,1,1,720,3.95,CRD,13.5 +VTS,1,1,840,1.97,CRD,10.5 +VTS,1,1,660,5.6,CSH,17.5 +VTS,1,1,120,0.94,CSH,4.5 +VTS,1,1,480,1.71,CSH,7.0 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,420,2.54,CSH,8.5 +VTS,1,1,360,1.55,CRD,7.0 +VTS,1,1,540,1.13,CRD,7.5 +VTS,1,1,840,8.43,CRD,24.5 +VTS,1,1,480,2.97,CRD,10.5 +VTS,1,1,300,1.21,CRD,6.0 +VTS,1,1,540,0.99,CRD,7.5 +VTS,1,1,180,0.7,CRD,4.5 +VTS,2,1,120,0.17,CSH,52.0 +VTS,1,1,840,5.47,CSH,17.0 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,720,3.1,CRD,11.5 +VTS,1,1,660,2.0,CSH,9.5 +VTS,1,1,900,9.6,CRD,26.5 +VTS,1,1,900,12.7,CSH,34.0 +VTS,1,1,660,3.22,CRD,12.0 +VTS,1,1,480,1.55,CSH,8.0 +VTS,1,1,120,0.73,CRD,4.5 +VTS,1,1,1380,4.89,CRD,19.0 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,480,3.32,CRD,11.5 +VTS,1,1,660,3.15,CSH,11.0 +VTS,1,1,540,2.63,CRD,10.5 +VTS,1,1,480,1.05,CSH,7.0 +VTS,1,1,540,2.13,CRD,9.0 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,420,1.2,CSH,6.5 +VTS,1,1,300,0.93,CSH,6.0 +VTS,1,1,960,5.48,CSH,18.0 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,300,1.14,CRD,6.0 +VTS,1,1,1260,3.47,CSH,16.5 +VTS,1,1,60,0.55,CRD,3.5 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,1380,7.71,CSH,25.5 +VTS,1,1,480,1.23,CRD,7.5 +VTS,1,1,540,2.8,CSH,10.0 +VTS,1,1,960,3.33,CRD,14.0 +VTS,1,1,360,1.16,CSH,7.0 +VTS,1,1,360,0.87,CSH,6.0 +VTS,1,1,180,0.35,CSH,3.5 +VTS,1,1,300,1.41,CRD,6.5 +VTS,1,1,420,1.2,CRD,6.5 +VTS,1,1,600,2.17,CRD,9.0 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,480,1.15,CSH,7.0 +VTS,1,1,360,1.63,CSH,6.5 +VTS,1,1,300,1.16,CSH,6.0 +VTS,1,1,900,4.51,CSH,16.0 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,240,1.05,CRD,5.5 +VTS,1,1,360,1.38,CSH,7.0 +VTS,1,1,1260,9.34,CRD,28.5 +VTS,1,1,360,2.39,CRD,8.5 +VTS,1,1,360,2.97,CSH,9.5 +VTS,1,1,180,0.42,CSH,4.0 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,720,1.64,CSH,10.0 +VTS,1,1,300,1.25,CRD,6.5 +VTS,1,1,600,2.07,CSH,9.5 +VTS,1,1,540,6.02,CSH,18.0 +VTS,1,1,1860,9.55,CRD,31.0 +VTS,1,1,1800,19.26,CRD,53.0 +VTS,1,1,780,1.17,CRD,9.0 +VTS,2,1,4800,16.33,CRD,52.0 +VTS,1,1,480,1.76,CRD,8.5 +VTS,1,1,1380,5.96,CRD,21.0 +VTS,2,1,1560,17.15,CRD,52.0 +VTS,1,1,180,0.89,CRD,5.0 +VTS,2,1,1800,17.37,CRD,52.0 +VTS,1,1,600,1.06,CRD,8.0 +VTS,1,1,1200,5.08,CRD,19.5 +VTS,1,1,840,1.68,CSH,9.5 +VTS,1,1,1020,2.57,CSH,13.0 +VTS,1,1,480,1.63,CSH,7.5 +VTS,1,1,600,1.15,CRD,8.5 +VTS,1,1,480,1.76,CRD,8.0 +VTS,1,1,240,0.87,CSH,5.0 +VTS,1,1,540,2.03,CRD,9.0 +VTS,1,1,540,3.38,CSH,11.5 +VTS,1,1,360,1.13,CRD,6.0 +VTS,1,1,660,2.93,CSH,10.5 +VTS,1,1,1020,10.26,CSH,29.0 +VTS,1,1,420,1.51,CRD,7.5 +VTS,1,1,600,2.72,CRD,10.5 +VTS,1,1,720,3.58,CRD,13.5 +VTS,1,1,420,2.88,CRD,10.0 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,360,1.08,CRD,6.5 +VTS,1,1,600,1.41,CSH,8.5 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,240,1.56,CSH,6.5 +VTS,1,1,1140,5.4,CSH,19.0 +VTS,2,1,300,0.29,CSH,52.0 +VTS,1,1,1140,2.8,CRD,14.5 +VTS,1,1,660,2.91,CSH,11.5 +VTS,1,1,180,1.0,CRD,5.0 +VTS,1,1,180,1.4,CRD,6.0 +VTS,1,2,240,0.71,CSH,5.0 +VTS,1,1,120,0.57,CSH,4.0 +VTS,1,1,1080,4.29,CRD,16.5 +VTS,1,1,600,1.6,CRD,8.5 +VTS,1,3,1620,11.3,CSH,34.0 +VTS,1,2,660,1.19,CSH,8.5 +VTS,1,1,480,2.32,CRD,9.5 +VTS,1,1,480,1.44,CSH,7.5 +VTS,1,1,720,2.12,CRD,10.5 +VTS,1,1,120,0.47,CSH,4.0 +VTS,1,1,1560,12.14,CSH,36.5 +VTS,1,1,540,1.56,CSH,8.0 +VTS,1,3,600,0.88,CRD,7.5 +VTS,1,3,960,2.34,CSH,12.0 +VTS,1,2,1140,7.0,CRD,22.5 +VTS,1,1,1980,12.31,CSH,38.0 +VTS,1,1,1080,10.84,CRD,30.5 +VTS,1,1,540,1.67,CRD,8.0 +VTS,1,1,1200,10.08,CRD,28.5 +VTS,1,1,780,3.81,CRD,14.0 +VTS,1,1,900,1.47,CRD,11.0 +VTS,1,1,840,3.5,CRD,13.5 +VTS,1,1,180,0.72,CRD,5.0 +VTS,1,1,240,1.28,CSH,6.0 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,420,2.99,CRD,9.5 +VTS,2,1,0,0.0,CSH,52.0 +VTS,1,1,540,1.74,CSH,8.5 +VTS,1,1,540,1.83,CSH,8.5 +VTS,1,1,960,5.07,CRD,18.0 +VTS,1,1,900,4.88,CRD,16.5 +VTS,1,1,180,1.19,CSH,5.5 +VTS,1,1,300,1.06,CRD,5.5 +VTS,1,1,420,0.9,CSH,6.0 +VTS,1,1,720,7.58,CRD,22.0 +VTS,1,1,780,3.31,CSH,12.5 +VTS,1,1,120,0.41,CRD,3.5 +VTS,1,1,360,0.92,CRD,6.0 +VTS,1,3,300,1.04,CSH,6.0 +VTS,1,1,240,0.8,CRD,4.5 +VTS,1,1,300,0.73,CSH,5.5 +VTS,3,1,1740,14.06,CRD,58.5 +VTS,1,1,1860,7.42,CRD,26.0 +VTS,1,1,840,6.11,CSH,19.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,2,1,1020,3.26,CSH,52.0 +VTS,1,1,900,6.76,CRD,20.5 +VTS,1,1,240,1.34,CSH,5.5 +VTS,1,1,660,1.77,CRD,10.0 +VTS,1,1,1140,8.36,CRD,25.5 +VTS,1,1,1620,14.74,CSH,41.5 +VTS,1,1,600,3.97,CRD,13.0 +VTS,1,1,720,4.16,CSH,14.5 +VTS,1,5,660,1.89,CSH,9.5 +VTS,1,1,840,2.87,CRD,12.5 +VTS,1,2,540,1.17,CSH,7.5 +VTS,1,1,840,2.15,CSH,11.0 +VTS,1,1,1320,11.42,CRD,33.5 +VTS,1,2,360,0.83,CRD,5.5 +VTS,1,2,420,1.14,CSH,7.0 +VTS,1,1,840,2.8,CRD,12.5 +VTS,1,1,240,0.67,CRD,5.0 +VTS,1,1,660,1.88,CRD,9.5 +VTS,1,2,420,1.01,CSH,6.0 +VTS,1,1,240,0.69,CSH,5.0 +VTS,1,1,120,0.53,CRD,4.0 +VTS,1,3,540,4.24,CSH,14.5 +VTS,1,1,540,1.23,CSH,8.0 +VTS,1,2,1080,3.6,CSH,14.5 +VTS,1,1,780,2.31,CSH,11.0 +VTS,1,1,240,0.72,CRD,4.5 +VTS,1,1,660,2.73,CRD,11.0 +VTS,1,4,360,0.73,CSH,6.0 +VTS,1,1,1140,3.57,CRD,15.0 +VTS,1,1,780,2.58,CRD,11.5 +VTS,1,1,1440,12.54,CRD,34.5 +VTS,1,1,120,0.74,CRD,4.0 +VTS,1,2,1320,4.2,CRD,17.5 +VTS,1,1,480,2.41,CRD,9.5 +VTS,1,1,1020,2.26,CRD,13.0 +VTS,1,1,600,1.71,CRD,8.5 +VTS,1,1,480,2.5,CRD,9.5 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,720,1.85,CRD,9.5 +VTS,1,1,660,2.9,CRD,11.0 +VTS,1,1,600,1.5,CRD,8.0 +VTS,1,2,480,1.22,CRD,7.0 +VTS,1,1,960,8.08,CRD,24.0 +VTS,1,1,600,3.12,CRD,11.5 +VTS,1,1,660,2.05,CRD,10.0 +VTS,1,1,180,0.3,CRD,3.5 +VTS,1,1,780,5.08,CRD,17.0 +VTS,1,2,240,0.43,CSH,4.0 +VTS,1,2,1140,2.85,CRD,15.0 +VTS,1,1,300,0.68,CRD,5.0 +VTS,1,1,480,1.52,CSH,8.0 +VTS,1,1,1560,10.91,CRD,32.0 +VTS,1,1,1500,10.45,CRD,32.5 +VTS,1,2,540,2.28,CRD,9.0 +VTS,1,1,480,1.27,CSH,7.5 +VTS,1,1,480,0.61,CSH,7.0 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,720,2.42,CSH,10.5 +VTS,1,5,900,1.6,CSH,10.5 +VTS,1,1,1620,7.71,CRD,25.5 +VTS,1,1,600,0.9,CRD,7.5 +VTS,1,1,300,1.02,CSH,6.0 +VTS,1,3,240,0.49,CSH,4.5 +VTS,1,1,720,1.27,CSH,9.0 +VTS,1,1,660,1.11,CRD,9.0 +VTS,1,1,1380,4.31,CRD,18.5 +VTS,1,1,960,0.76,CRD,10.5 +VTS,1,1,180,0.5,CRD,4.0 +VTS,1,1,420,4.26,CRD,13.5 +VTS,1,1,300,1.27,CRD,6.5 +VTS,1,2,540,2.4,CRD,10.0 +VTS,1,2,600,1.86,CRD,9.0 +VTS,1,1,300,1.07,CRD,5.5 +VTS,1,1,1080,3.32,CRD,15.0 +VTS,1,1,2040,9.17,CRD,31.0 +VTS,1,1,360,0.71,CRD,6.0 +VTS,1,2,1320,6.22,CRD,22.5 +VTS,1,1,420,0.96,CSH,6.5 +VTS,1,1,780,1.93,CSH,10.5 +VTS,1,1,600,1.61,CRD,8.5 +VTS,1,1,720,2.1,CRD,10.0 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,2,660,1.46,CRD,8.5 +VTS,1,1,420,2.09,CSH,8.0 +VTS,1,3,300,0.85,CRD,5.5 +VTS,1,1,1440,3.26,CSH,16.5 +VTS,1,1,240,1.67,CSH,7.0 +VTS,1,1,300,0.94,CRD,6.0 +VTS,1,1,360,1.04,CSH,6.0 +VTS,2,1,3900,18.44,CRD,52.0 +VTS,1,1,300,0.79,CSH,5.5 +VTS,1,1,360,0.82,CSH,5.5 +VTS,1,1,840,1.72,CRD,11.0 +VTS,1,1,840,2.47,CRD,12.0 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,900,9.12,CRD,26.0 +VTS,1,1,1260,8.69,CRD,26.5 +VTS,1,1,480,1.33,CSH,7.5 +VTS,1,4,540,1.62,CSH,8.5 +VTS,1,2,1020,2.15,CSH,12.5 +VTS,1,2,780,2.45,CSH,11.0 +VTS,1,1,780,1.74,CSH,10.0 +VTS,1,1,1020,9.2,CSH,26.0 +VTS,1,1,900,3.64,CSH,14.0 +VTS,1,1,360,1.07,CRD,6.0 +VTS,1,1,1020,3.61,CRD,14.0 +VTS,1,1,960,9.51,CRD,26.5 +VTS,1,1,300,0.58,CRD,5.5 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,480,3.08,CRD,10.5 +VTS,1,1,540,2.14,CRD,9.0 +VTS,1,1,840,4.87,CRD,16.0 +VTS,1,1,780,4.26,CRD,15.0 +VTS,5,1,0,0.0,CRD,8.5 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,360,2.5,CRD,9.0 +VTS,1,1,300,1.62,CSH,7.0 +VTS,1,1,240,0.68,CSH,5.0 +VTS,1,1,420,1.2,CRD,7.0 +VTS,1,1,1140,3.31,CRD,15.5 +VTS,1,1,900,3.57,CRD,13.5 +VTS,1,1,300,1.6,CSH,6.5 +VTS,1,1,780,2.86,CSH,11.5 +VTS,1,1,720,2.32,CSH,10.5 +VTS,1,1,300,0.56,CRD,5.0 +VTS,1,1,180,0.95,CRD,5.0 +VTS,1,1,780,7.78,CRD,22.5 +VTS,1,1,480,0.96,CRD,7.0 +VTS,1,1,480,1.13,CRD,7.0 +VTS,1,1,1560,3.89,CRD,18.5 +VTS,1,1,960,4.25,CRD,16.0 +VTS,1,1,1080,9.13,CSH,27.0 +VTS,2,1,1320,14.55,CSH,52.0 +VTS,1,1,600,1.1,CRD,8.0 +VTS,1,1,540,2.51,CRD,9.5 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,1,1560,7.52,CSH,25.0 +VTS,5,1,0,0.0,CRD,120.0 +VTS,1,1,660,2.54,CRD,10.5 +VTS,1,1,1200,8.04,CSH,25.5 +VTS,1,1,840,3.0,CRD,12.0 +VTS,1,1,720,3.01,CSH,12.0 +VTS,1,1,540,2.43,CSH,10.0 +VTS,1,1,1080,5.81,CSH,20.5 +VTS,1,1,1080,7.36,CRD,23.0 +VTS,2,1,1980,20.46,CSH,52.0 +VTS,1,1,480,2.02,CRD,8.5 +VTS,1,1,300,1.92,CSH,7.5 +VTS,1,1,60,0.25,CSH,3.5 +VTS,1,1,180,0.62,CSH,4.0 +VTS,1,1,300,0.77,CRD,5.0 +VTS,1,1,480,3.24,CRD,10.5 +VTS,1,1,1020,5.14,CSH,17.5 +VTS,1,1,120,0.26,CSH,4.0 +VTS,1,1,120,0.75,CRD,4.5 +VTS,1,1,1020,4.62,CSH,17.0 +VTS,1,1,600,2.35,CSH,10.0 +VTS,1,2,300,1.46,CSH,6.5 +VTS,1,1,360,1.66,CRD,7.0 +VTS,1,1,180,0.8,CRD,5.0 +VTS,1,1,300,1.14,CRD,6.0 +VTS,1,2,300,0.99,CRD,6.0 +VTS,1,1,420,1.86,CSH,8.5 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,1,1320,5.44,CSH,19.0 +VTS,1,1,420,0.81,CSH,6.5 +VTS,1,2,840,1.74,CSH,11.0 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,2,720,1.51,CSH,9.0 +VTS,1,1,300,0.46,CRD,5.0 +VTS,1,1,540,1.68,CSH,8.0 +VTS,1,2,300,0.99,CSH,5.5 +VTS,1,1,420,2.47,CSH,10.0 +VTS,1,1,420,1.21,CSH,6.5 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,300,1.02,CSH,6.5 +VTS,1,2,420,0.89,CSH,6.5 +VTS,1,1,600,2.46,CRD,10.0 +VTS,1,3,660,2.92,CRD,12.0 +VTS,1,1,1020,1.9,CRD,11.5 +VTS,1,2,600,2.37,CSH,9.5 +VTS,1,2,840,2.49,CRD,11.5 +VTS,1,1,480,1.91,CSH,8.5 +VTS,1,1,660,3.05,CRD,12.0 +VTS,1,1,780,8.55,CRD,24.5 +VTS,1,1,240,0.88,CRD,5.0 +VTS,1,2,300,1.26,CRD,6.0 +VTS,1,2,960,3.02,CSH,13.0 +VTS,1,1,1680,10.01,CSH,31.5 +VTS,1,1,960,2.83,CRD,13.0 +VTS,1,1,540,1.94,CRD,9.0 +VTS,1,1,660,2.22,CRD,10.0 +VTS,1,1,780,4.76,CRD,16.5 +VTS,1,2,480,1.22,CSH,7.5 +VTS,1,2,600,1.01,CSH,7.5 +VTS,2,1,2160,16.04,CRD,52.0 +VTS,1,1,1920,7.39,CSH,25.0 +VTS,1,1,1080,2.33,CSH,13.0 +VTS,1,1,300,1.03,CRD,6.0 +VTS,1,1,720,1.13,CSH,9.0 +VTS,1,2,180,0.56,CSH,4.0 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,840,1.27,CSH,10.5 +VTS,1,2,600,1.33,CRD,8.5 +VTS,1,1,180,0.35,CRD,4.0 +VTS,1,1,240,1.21,CRD,6.0 +VTS,1,1,360,1.1,CRD,6.5 +VTS,1,1,300,1.53,CSH,6.5 +VTS,1,3,1620,13.23,CRD,37.5 +VTS,1,1,900,3.73,CRD,14.5 +VTS,1,4,540,2.24,CSH,10.0 +VTS,1,3,300,1.33,CSH,6.0 +VTS,1,1,540,2.0,CSH,9.0 +VTS,1,1,480,1.8,CSH,8.5 +VTS,1,1,480,0.99,CRD,6.5 +VTS,1,1,1440,2.3,CRD,16.5 +VTS,1,3,1200,2.76,CSH,14.5 +VTS,1,1,240,0.84,CRD,5.5 +VTS,1,3,540,2.02,CSH,9.0 +VTS,1,2,2040,6.76,CRD,26.5 +VTS,1,3,360,2.06,CSH,8.0 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,900,11.22,CRD,31.0 +VTS,1,1,1080,1.71,CRD,12.0 +VTS,1,2,660,1.44,CSH,8.5 +VTS,1,1,2160,11.75,CRD,39.0 +VTS,1,1,360,1.36,CRD,7.0 +VTS,1,1,600,1.72,CRD,9.0 +VTS,1,1,720,2.74,CRD,11.0 +VTS,1,1,720,1.51,CRD,9.5 +VTS,1,1,600,1.75,CRD,8.5 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,2,540,0.72,CSH,7.0 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,2,720,1.88,CSH,10.0 +VTS,1,1,240,0.91,CRD,5.0 +VTS,1,1,540,1.55,CSH,8.0 +VTS,1,1,120,0.28,CSH,3.0 +VTS,1,2,300,0.7,CSH,5.5 +VTS,1,1,780,1.62,CRD,9.5 +VTS,1,1,540,2.26,CSH,9.5 +VTS,1,1,720,2.29,CSH,10.5 +VTS,2,1,3300,14.68,CRD,52.0 +VTS,1,1,420,1.0,CSH,6.5 +VTS,1,1,540,2.48,CRD,10.0 +VTS,1,2,180,0.48,CRD,4.5 +VTS,1,1,1260,4.41,CRD,18.5 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,660,1.19,CSH,8.0 +VTS,1,1,300,0.86,CRD,5.5 +VTS,3,1,1740,17.39,CRD,65.5 +VTS,1,1,420,1.24,CRD,7.0 +VTS,1,1,780,2.42,CRD,11.0 +VTS,1,2,1500,12.3,CRD,35.0 +VTS,1,1,1380,10.54,CRD,30.5 +VTS,1,1,540,1.28,CRD,8.0 +VTS,1,2,1140,2.51,CSH,14.0 +VTS,1,1,660,1.18,CRD,9.0 +VTS,1,2,360,0.93,CSH,6.0 +VTS,1,1,540,2.11,CRD,9.0 +VTS,1,1,540,1.18,CSH,8.0 +VTS,1,2,660,1.33,CSH,8.5 +VTS,1,3,1200,2.93,CRD,14.5 +VTS,1,1,540,0.91,CSH,7.5 +VTS,1,2,540,1.33,CSH,8.0 +VTS,1,1,240,1.31,CSH,6.5 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,480,0.99,CSH,7.0 +VTS,1,1,360,0.78,CRD,6.5 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,1140,5.46,CRD,19.0 +VTS,1,1,360,0.9,CRD,6.0 +VTS,1,1,1080,4.07,CSH,17.0 +VTS,1,1,1320,3.75,CSH,17.0 +VTS,1,1,1080,3.78,CSH,15.5 +VTS,1,1,1680,11.0,CRD,32.0 +CMT,1,2,2588,14.8,CRD,45.5 +CMT,2,2,3105,17.9,CSH,52.0 +CMT,1,1,223,0.4,CSH,4.5 +CMT,1,2,418,0.7,CRD,6.0 +CMT,1,2,1425,4.4,CRD,19.5 +CMT,1,2,1124,10.3,CSH,29.5 +CMT,1,3,800,1.2,CSH,10.0 +CMT,1,1,754,3.0,CSH,12.0 +CMT,1,1,876,2.5,CRD,11.5 +CMT,1,1,570,2.0,CRD,9.5 +CMT,1,1,147,0.5,CRD,4.0 +CMT,1,1,1510,9.3,CRD,30.0 +CMT,1,1,787,2.0,CRD,10.5 +VTS,1,1,1260,2.92,CSH,15.0 +VTS,1,1,240,0.39,CSH,4.0 +VTS,1,1,960,3.39,CRD,14.0 +VTS,1,3,360,1.01,CSH,6.0 +VTS,1,2,480,1.5,CSH,7.5 +VTS,1,1,420,1.02,CSH,6.5 +VTS,1,2,180,0.46,CRD,4.0 +VTS,1,1,240,1.06,CRD,5.5 +VTS,1,1,900,2.2,CSH,12.0 +VTS,1,1,780,2.53,CSH,11.5 +VTS,1,1,600,0.89,CRD,7.5 +VTS,1,1,1680,11.81,CRD,34.0 +VTS,1,1,600,1.62,CRD,8.5 +VTS,1,1,1440,9.54,CRD,29.0 +VTS,1,2,1860,11.61,CSH,35.0 +CMT,1,1,1273,17.4,CSH,46.5 +CMT,1,1,345,1.1,CSH,6.5 +CMT,1,1,451,2.2,CSH,9.0 +CMT,2,1,9,0.0,CRD,52.0 +CMT,1,1,635,1.4,CRD,8.5 +CMT,1,4,280,0.5,CSH,5.0 +CMT,1,3,482,1.9,CSH,8.5 +CMT,1,1,755,2.6,CSH,11.0 +CMT,1,1,1333,4.8,CSH,19.0 +CMT,1,1,603,2.3,CSH,9.5 +CMT,1,1,782,2.3,CRD,11.0 +VTS,1,1,780,0.92,CRD,9.5 +VTS,1,1,1560,11.65,CRD,34.5 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,900,1.63,CSH,10.0 +VTS,1,1,1560,3.27,CSH,17.5 +VTS,4,1,1380,13.41,CRD,39.5 +VTS,1,1,1500,1.28,CSH,15.0 +VTS,1,1,660,2.92,CRD,11.5 +VTS,1,1,780,1.0,CRD,9.0 +VTS,1,1,1260,1.91,CSH,14.0 +CMT,1,1,386,1.4,CSH,7.0 +CMT,1,1,1026,2.1,CRD,12.5 +CMT,1,1,449,1.7,CSH,8.0 +CMT,1,1,1159,3.3,CSH,14.5 +CMT,1,1,824,4.0,CSH,15.0 +CMT,1,1,317,0.8,CRD,6.0 +CMT,1,1,581,1.8,CSH,9.0 +CMT,1,1,325,1.1,CRD,6.0 +CMT,1,1,802,1.3,CRD,10.0 +CMT,2,1,1426,8.7,CRD,52.0 +CMT,1,2,1468,2.6,CRD,16.5 +CMT,1,1,770,2.8,CRD,12.0 +CMT,1,1,605,2.0,CRD,9.0 +CMT,1,1,310,1.0,CSH,6.0 +CMT,1,1,1043,5.1,CRD,17.5 +CMT,1,1,303,0.9,CRD,5.5 +VTS,1,1,1500,10.9,CRD,33.0 +VTS,1,1,600,5.36,CRD,16.0 +VTS,1,1,420,0.54,CSH,5.5 +VTS,1,1,720,2.33,CRD,10.5 +VTS,1,1,420,1.17,CRD,7.0 +VTS,1,1,60,0.15,CSH,3.0 +VTS,1,1,480,1.01,CRD,7.0 +VTS,1,1,600,1.68,CRD,8.5 +VTS,1,1,360,0.61,CSH,5.5 +VTS,1,1,480,1.68,CRD,8.0 +VTS,1,1,1200,4.5,CSH,17.5 +VTS,1,1,840,6.16,CRD,19.5 +VTS,1,1,480,0.94,CSH,6.5 +CMT,2,1,1576,17.4,CRD,52.0 +CMT,1,1,1159,3.2,CRD,15.0 +CMT,1,1,879,1.5,CRD,10.5 +CMT,1,1,854,4.4,CRD,15.5 +CMT,1,1,878,6.7,CRD,20.5 +CMT,1,1,3397,6.0,CRD,21.0 +CMT,1,1,790,1.8,CRD,10.0 +CMT,1,1,1720,8.9,CRD,29.5 +CMT,1,1,1956,8.5,CSH,30.5 +CMT,1,1,645,2.8,CRD,11.5 +CMT,1,2,386,1.6,CRD,7.5 +CMT,1,1,855,3.0,CSH,12.5 +CMT,1,2,487,1.8,CSH,8.0 +VTS,1,1,540,2.5,CRD,10.0 +VTS,1,2,360,1.12,CRD,6.5 +VTS,1,1,840,3.87,CRD,15.0 +VTS,1,1,720,3.7,CRD,13.0 +VTS,1,2,1080,4.2,CSH,16.5 +VTS,1,5,780,2.42,CSH,11.0 +VTS,1,1,600,1.9,CSH,9.5 +VTS,1,1,180,0.56,CRD,4.5 +VTS,2,2,0,0.02,CRD,52.0 +VTS,1,2,1620,10.89,CRD,32.5 +VTS,1,1,720,0.83,CSH,8.5 +VTS,1,1,1440,2.88,CRD,16.5 +VTS,1,1,1080,2.73,CSH,13.5 +VTS,1,1,360,0.89,CRD,6.0 +VTS,1,1,1320,10.54,CRD,31.5 +VTS,1,2,540,1.08,CRD,7.5 +VTS,1,4,240,0.63,CRD,5.0 +VTS,1,1,720,1.86,CSH,10.0 +VTS,1,2,660,1.68,CSH,9.5 +VTS,1,1,480,1.64,CRD,8.0 +VTS,1,1,480,2.03,CRD,8.5 +VTS,1,1,2340,13.09,CSH,41.0 +VTS,1,1,120,0.7,CRD,4.5 +VTS,1,1,360,1.29,CSH,6.5 +VTS,1,3,2280,11.48,CRD,36.5 +VTS,1,2,720,1.72,CRD,10.0 +VTS,1,1,420,1.86,CRD,8.0 +VTS,1,1,780,4.36,CSH,15.5 +VTS,1,1,180,1.1,CSH,5.0 +VTS,2,1,1980,18.17,CRD,52.0 +VTS,1,1,600,6.03,CRD,18.0 +VTS,1,1,960,1.41,CRD,11.0 +VTS,1,1,300,1.24,CSH,6.0 +VTS,1,1,180,0.97,CRD,5.0 +VTS,1,1,300,1.15,CRD,6.0 +VTS,2,1,3480,18.52,CSH,52.0 +VTS,1,1,420,1.0,CSH,6.5 +VTS,1,1,420,0.97,CSH,6.5 +VTS,1,1,600,2.42,CSH,10.0 +VTS,1,1,1200,4.42,CRD,18.0 +VTS,1,1,240,1.44,CSH,6.0 +VTS,1,1,180,0.99,CSH,5.0 +VTS,1,1,1080,3.48,CRD,15.0 +VTS,1,1,180,0.41,CRD,4.0 +VTS,1,1,1020,7.03,CSH,21.5 +VTS,1,1,300,0.81,CSH,5.0 +VTS,1,1,1320,13.24,CRD,37.0 +VTS,1,1,1740,9.77,CSH,31.5 +VTS,1,1,600,1.76,CRD,9.0 +VTS,1,1,420,1.35,CSH,7.0 +VTS,1,1,420,2.37,CSH,9.0 +VTS,1,1,180,0.97,CSH,5.0 +VTS,1,1,360,2.38,CRD,8.0 +VTS,1,1,360,1.28,CRD,6.5 +VTS,1,1,420,1.48,CSH,7.5 +VTS,1,1,1320,5.25,CRD,19.5 +VTS,1,1,240,1.52,CSH,6.0 +VTS,1,1,300,1.51,CRD,6.5 +VTS,1,1,480,5.22,CRD,15.5 +VTS,1,1,960,5.84,CRD,19.0 +VTS,1,1,240,0.92,CRD,5.0 +VTS,1,1,240,0.71,CSH,4.5 +VTS,2,1,1860,15.59,CSH,52.0 +VTS,1,1,420,2.07,CSH,8.5 +VTS,1,1,60,0.38,CSH,3.5 +VTS,1,3,420,2.38,CSH,9.5 +VTS,1,1,120,0.8,CRD,4.5 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,1,960,2.59,CRD,12.5 +VTS,1,2,1020,10.54,CSH,30.0 +VTS,1,2,1440,9.79,CRD,30.0 +VTS,1,2,1560,11.74,CRD,35.0 +VTS,1,3,960,3.32,CSH,13.5 +VTS,1,5,780,2.96,CRD,12.5 +VTS,1,1,1140,4.25,CRD,15.5 +VTS,1,1,600,1.87,CRD,9.0 +VTS,1,1,360,1.39,CRD,6.5 +VTS,1,1,780,2.95,CRD,11.5 +VTS,1,1,780,0.92,CRD,9.5 +VTS,1,1,180,0.41,CSH,4.5 +VTS,1,1,780,1.3,CRD,10.0 +VTS,1,3,480,1.24,CRD,7.5 +VTS,1,2,720,2.73,CSH,11.5 +VTS,1,1,1860,5.08,CRD,23.0 +VTS,1,1,840,1.8,CSH,10.5 +VTS,1,1,540,1.19,CSH,8.0 +VTS,1,1,1800,5.83,CSH,23.5 +VTS,1,1,540,2.03,CRD,9.0 +VTS,1,1,840,1.9,CSH,11.0 +VTS,1,1,1200,11.12,CRD,31.5 +VTS,1,1,600,1.68,CSH,9.0 +VTS,1,3,1380,9.26,CRD,28.5 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,2,780,0.9,CSH,9.0 +VTS,1,1,1620,9.64,CSH,29.0 +VTS,1,1,1320,10.98,CRD,31.5 +VTS,1,2,300,0.84,CSH,5.5 +VTS,1,1,480,0.8,CSH,6.5 +VTS,1,1,780,1.67,CRD,10.0 +VTS,1,1,180,0.83,CRD,5.0 +VTS,1,1,780,1.63,CSH,10.5 +CMT,1,1,583,2.4,CSH,10.0 +CMT,1,1,921,3.2,CRD,13.0 +CMT,1,1,1161,2.4,CRD,14.0 +CMT,1,1,210,0.6,CRD,4.5 +VTS,1,1,1320,5.92,CRD,21.0 +VTS,1,1,360,0.67,CRD,5.5 +VTS,1,1,420,1.37,CSH,6.5 +VTS,1,1,120,0.75,CSH,4.5 +VTS,1,1,720,2.42,CSH,11.0 +VTS,1,1,600,2.02,CSH,9.0 +VTS,1,1,480,1.05,CRD,7.5 +VTS,1,1,1260,10.47,CSH,29.5 +VTS,1,3,600,1.63,CRD,8.5 +CMT,1,1,994,11.7,CSH,33.0 +CMT,1,1,206,1.0,CSH,5.5 +CMT,1,1,895,7.7,CRD,23.5 +CMT,1,1,509,2.0,CSH,9.0 +CMT,1,1,416,0.5,CSH,6.0 +CMT,1,1,1029,3.6,CRD,14.0 +CMT,1,1,933,2.4,CSH,12.0 +CMT,1,2,489,0.9,CSH,6.5 +CMT,1,2,449,1.2,CRD,7.0 +CMT,1,3,918,2.4,CRD,12.0 +CMT,1,1,906,3.5,CSH,13.5 +CMT,1,1,1278,4.9,CRD,20.0 +CMT,1,1,448,1.7,CSH,7.5 +CMT,1,1,866,2.7,CSH,11.5 +CMT,1,1,891,1.6,CRD,10.5 +CMT,1,1,1137,5.4,CRD,19.5 +CMT,1,1,306,0.5,CRD,5.0 +VTS,1,2,180,0.58,CRD,4.0 +VTS,1,1,600,2.26,CRD,9.5 +VTS,1,1,960,2.67,CRD,12.5 +CMT,2,1,1470,18.6,CSH,52.0 +CMT,1,1,745,1.6,CSH,10.0 +CMT,1,3,197,0.7,CRD,4.5 +CMT,1,3,1183,6.2,CSH,21.5 +CMT,1,2,325,1.0,CSH,6.0 +CMT,1,2,1963,10.6,CSH,35.0 +CMT,1,2,1292,3.3,CSH,17.0 +CMT,1,2,786,3.1,CSH,12.5 +CMT,1,1,652,0.9,CSH,8.5 +CMT,1,1,604,1.6,CRD,8.5 +CMT,1,3,514,2.1,CSH,8.5 +CMT,1,1,1022,4.1,CRD,15.5 +CMT,1,1,453,1.9,CRD,8.5 +CMT,1,2,637,1.7,CRD,9.0 +CMT,1,1,1013,5.2,CRD,18.5 +CMT,1,1,497,1.0,CSH,7.0 +CMT,1,1,731,4.3,CSH,15.0 +CMT,1,1,737,2.5,CSH,11.0 +CMT,1,1,968,4.6,CRD,16.0 +CMT,1,1,330,1.1,CRD,6.0 +CMT,1,1,572,1.6,CSH,8.5 +CMT,1,1,762,23.9,CRD,10.0 +CMT,1,1,1980,8.4,CRD,29.0 +CMT,1,1,238,0.8,CSH,5.5 +CMT,1,1,1395,3.1,CRD,16.5 +CMT,1,1,863,3.8,CRD,14.0 +CMT,1,1,708,2.0,CSH,10.0 +CMT,1,1,1258,11.9,CSH,33.5 +CMT,1,1,547,2.0,CRD,9.0 +CMT,1,1,431,1.5,CSH,7.5 +CMT,1,1,433,1.9,CSH,8.0 +CMT,1,1,328,1.4,CSH,6.5 +CMT,1,1,59,0.2,CSH,3.0 +CMT,1,1,316,0.7,CRD,5.5 +CMT,1,1,788,2.0,CSH,10.5 +CMT,1,1,2508,15.9,CRD,46.5 +CMT,1,1,841,6.4,CSH,20.0 +CMT,1,1,628,3.0,CSH,11.0 +CMT,1,1,558,1.3,CRD,8.0 +CMT,1,1,8,0.1,NOC,2.5 +CMT,1,1,1059,8.4,CSH,25.0 +CMT,1,1,624,1.7,CSH,8.5 +CMT,1,1,317,0.9,CSH,5.5 +CMT,1,1,1334,4.1,CRD,17.5 +CMT,1,1,803,3.9,CSH,14.5 +CMT,1,1,1055,5.7,CRD,18.5 +CMT,1,1,670,2.8,CRD,10.5 +CMT,1,1,652,1.1,CSH,8.5 +CMT,1,1,344,1.0,CSH,6.0 +CMT,1,1,1085,8.9,CSH,26.5 +CMT,1,1,1766,10.3,CSH,32.5 +CMT,1,2,1665,3.1,CSH,19.0 +CMT,1,2,1281,8.8,CSH,27.0 +CMT,1,3,445,1.8,CRD,8.5 +CMT,1,1,923,5.7,CSH,18.5 +CMT,1,1,1264,5.1,CRD,19.5 +CMT,1,1,1495,7.1,CRD,24.5 +CMT,1,1,928,4.8,CSH,16.5 +CMT,1,1,275,0.8,CRD,5.0 +CMT,1,1,531,1.3,CRD,7.5 +CMT,1,1,562,2.2,CRD,9.5 +CMT,1,1,391,1.4,CRD,7.0 +CMT,1,1,1056,4.9,CSH,17.0 +CMT,1,1,1040,4.4,CRD,16.5 +CMT,1,1,281,0.7,CRD,5.0 +CMT,1,1,117,0.4,CSH,3.5 +CMT,1,1,73,0.3,CSH,3.0 +CMT,1,1,698,2.8,CSH,11.0 +CMT,1,1,354,1.3,CRD,6.5 +CMT,1,1,245,0.7,CSH,5.0 +CMT,1,1,292,0.7,CSH,5.5 +CMT,1,1,348,0.8,CSH,5.5 +CMT,1,1,640,2.2,CSH,9.5 +CMT,1,1,479,1.9,CSH,8.5 +CMT,1,1,322,0.6,CRD,5.5 +CMT,1,3,1349,0.7,CRD,13.5 +CMT,1,3,1042,3.2,CRD,13.5 +CMT,1,1,315,0.9,CSH,6.0 +CMT,1,1,221,1.3,CRD,6.0 +CMT,1,1,531,1.7,CRD,8.5 +CMT,1,1,962,3.3,CSH,13.5 +CMT,1,1,517,2.0,CSH,9.0 +CMT,1,1,352,0.8,CRD,5.5 +CMT,1,1,841,2.1,CSH,11.0 +CMT,1,1,1073,3.1,CRD,13.5 +CMT,1,1,507,0.8,CSH,7.0 +CMT,1,1,1645,8.9,CSH,28.0 +CMT,1,1,237,0.8,CSH,5.0 +CMT,1,1,1249,5.2,CSH,19.0 +CMT,1,1,1243,5.0,CSH,18.0 +CMT,1,1,227,1.1,CSH,5.5 +CMT,1,1,963,7.6,CSH,22.5 +CMT,1,1,1355,10.6,CSH,31.0 +CMT,1,1,1240,11.4,CRD,32.5 +CMT,1,1,1392,5.8,CRD,21.0 +CMT,1,1,168,0.6,CRD,4.5 +CMT,1,1,1066,4.4,CSH,17.0 +CMT,1,1,330,1.4,CSH,6.5 +CMT,1,1,214,1.0,CSH,5.0 +CMT,1,1,886,6.6,CRD,20.5 +CMT,1,1,2013,10.7,CRD,33.5 +VTS,1,1,300,0.71,CRD,5.5 +VTS,1,1,240,1.19,CRD,6.0 +VTS,1,1,1440,10.54,CSH,29.5 +VTS,1,1,420,1.89,CRD,9.0 +VTS,1,2,600,1.09,CSH,8.0 +VTS,1,2,360,0.6,CSH,5.5 +VTS,1,1,600,2.24,CSH,9.5 +VTS,1,1,660,2.59,CRD,11.0 +VTS,1,1,660,2.17,CSH,10.0 +VTS,1,1,960,2.95,CSH,13.5 +VTS,1,1,300,0.79,CRD,6.0 +VTS,1,1,360,1.17,CRD,6.0 +VTS,1,1,840,3.12,CRD,13.0 +VTS,1,1,720,1.56,CRD,9.5 +VTS,2,2,2340,15.26,CRD,52.0 +VTS,1,2,960,2.11,CRD,12.0 +VTS,1,2,420,0.91,CSH,6.5 +VTS,1,1,720,3.18,CRD,12.0 +VTS,1,1,1620,10.9,CRD,31.0 +VTS,1,1,300,0.59,CSH,5.0 +VTS,1,1,1140,3.37,CRD,15.0 +VTS,1,1,240,0.65,CSH,4.5 +VTS,1,1,960,3.29,CSH,15.0 +CMT,1,1,179,0.6,CSH,4.5 +CMT,1,1,220,0.9,CSH,5.0 +CMT,1,2,686,2.2,CRD,10.5 +CMT,1,1,813,1.8,CRD,10.5 +CMT,1,1,755,3.1,CRD,12.5 +CMT,1,1,449,3.8,CSH,12.5 +CMT,1,1,235,0.9,CSH,5.0 +CMT,1,1,1586,3.3,CRD,17.5 +CMT,1,1,1139,8.7,CRD,27.0 +CMT,1,1,595,2.4,CSH,9.5 +CMT,1,1,1685,8.5,CRD,28.0 +CMT,1,1,1190,6.5,CRD,22.0 +CMT,1,1,1341,10.9,CRD,31.0 +CMT,4,1,373,1.3,CRD,7.0 +CMT,1,1,1222,6.0,CRD,19.5 +CMT,1,1,1246,8.2,CRD,25.0 +CMT,1,1,536,1.5,CRD,8.0 +CMT,1,1,545,1.3,CRD,7.5 +CMT,1,1,457,1.9,CRD,8.0 +CMT,1,1,912,9.0,CRD,26.0 +CMT,1,1,360,1.3,CRD,6.5 +CMT,1,1,1110,5.1,CSH,18.0 +CMT,1,1,781,5.4,CRD,17.5 +CMT,1,1,508,3.2,CRD,11.0 +CMT,1,1,582,2.3,CRD,9.5 +CMT,1,1,588,1.3,CRD,8.5 +CMT,1,1,1503,7.3,CSH,24.5 +CMT,1,1,1366,9.4,CRD,28.5 +CMT,1,1,1024,4.0,CSH,15.0 +CMT,1,1,243,0.8,CSH,5.0 +CMT,1,1,1060,7.5,CRD,24.0 +CMT,1,1,319,0.8,CSH,5.5 +CMT,1,1,1174,3.6,CSH,15.5 +CMT,1,2,1508,11.4,CRD,34.0 +CMT,1,1,623,2.0,CSH,9.0 +CMT,1,1,690,1.6,CSH,9.5 +CMT,1,1,1807,7.3,CSH,26.0 +CMT,1,1,344,1.1,CSH,6.0 +CMT,1,1,455,1.8,CRD,8.0 +CMT,1,1,276,1.0,CRD,6.0 +CMT,2,1,2168,18.8,CRD,52.0 +CMT,1,1,887,2.4,CSH,12.0 +CMT,1,1,383,1.0,CSH,6.0 +CMT,1,1,1225,9.8,CRD,28.5 +CMT,1,1,797,3.1,CRD,12.0 +CMT,1,1,852,5.0,CSH,16.5 +CMT,1,1,708,2.8,CRD,12.0 +CMT,1,1,2299,14.0,CSH,42.0 +CMT,2,1,1899,20.2,CRD,52.0 +CMT,1,1,304,0.5,CRD,4.5 +CMT,1,1,1149,10.0,CRD,29.0 +CMT,1,1,707,1.1,CSH,8.5 +CMT,5,1,1085,4.1,CRD,52.0 +CMT,1,1,788,2.8,CRD,11.5 +CMT,1,1,571,0.7,CSH,7.5 +CMT,1,1,505,1.3,CRD,8.0 +CMT,1,1,1244,4.5,CSH,18.0 +CMT,1,1,593,2.2,CRD,9.5 +CMT,1,1,807,3.2,CRD,13.0 +CMT,1,1,285,0.6,CSH,5.0 +CMT,1,1,121,0.6,CSH,4.0 +CMT,1,1,638,4.0,CRD,14.0 +CMT,1,1,219,0.5,CSH,4.0 +CMT,1,1,882,4.3,CRD,15.5 +CMT,1,1,2118,10.2,CRD,34.0 +CMT,1,1,620,2.9,CRD,11.0 +CMT,1,1,1029,9.6,DIS,28.5 +CMT,1,1,110,0.6,CSH,4.0 +CMT,1,1,773,4.4,CRD,14.5 +CMT,1,1,793,2.6,CSH,11.0 +CMT,1,1,548,2.1,CRD,9.0 +CMT,1,1,894,4.5,CRD,15.0 +CMT,1,1,872,7.7,DIS,22.5 +CMT,1,1,196,0.4,CRD,4.5 +CMT,1,1,921,4.1,NOC,15.0 +CMT,1,1,978,5.3,CSH,19.0 +CMT,1,1,588,2.1,CRD,9.0 +CMT,1,1,517,0.9,CRD,7.0 +CMT,1,1,352,1.1,CSH,6.0 +CMT,1,1,1092,5.0,CRD,17.0 +CMT,1,1,967,4.2,CRD,15.5 +CMT,1,1,487,2.1,CSH,9.0 +CMT,1,1,740,4.2,CSH,14.0 +CMT,1,1,553,3.0,CRD,11.0 +CMT,1,1,516,1.7,CRD,8.5 +CMT,1,1,173,0.5,CRD,4.5 +CMT,1,1,696,2.5,CRD,10.5 +CMT,1,1,1410,5.1,CSH,20.5 +CMT,1,1,661,2.8,CSH,11.0 +CMT,1,1,44,0.0,NOC,2.5 +CMT,1,1,1480,4.2,CRD,19.0 +CMT,1,1,507,2.5,CSH,9.5 +CMT,1,1,1711,7.0,CRD,26.0 +CMT,1,1,470,1.2,CSH,7.5 +CMT,1,1,1303,3.8,CSH,17.0 +CMT,1,2,514,1.4,CRD,8.0 +CMT,1,1,564,2.7,CRD,10.0 +CMT,1,1,1447,7.8,CRD,27.0 +CMT,1,1,1400,10.2,CSH,29.5 +CMT,1,1,370,2.0,CSH,8.0 +CMT,1,1,1008,4.9,CSH,17.0 +CMT,1,1,417,1.5,CRD,7.5 +CMT,1,2,554,4.0,CRD,12.5 +CMT,1,1,118,0.3,CSH,3.5 +CMT,2,1,2143,18.5,CRD,52.0 +CMT,1,1,665,1.3,CRD,8.5 +CMT,1,1,261,1.0,CRD,5.5 +CMT,1,1,532,2.0,CRD,9.0 +CMT,1,1,530,2.2,CSH,9.0 +CMT,1,1,1006,8.3,CRD,24.5 +CMT,1,1,218,0.8,CSH,5.0 +CMT,1,1,323,2.8,CSH,9.5 +CMT,1,1,754,3.7,CSH,13.0 +CMT,1,1,819,1.5,CRD,10.5 +CMT,1,1,485,1.1,CRD,7.0 +CMT,1,1,1011,3.5,CSH,14.0 +CMT,1,1,968,5.0,CRD,17.0 +CMT,1,1,309,1.1,CRD,6.0 +CMT,1,1,1595,11.5,CSH,33.5 +CMT,1,1,1734,7.9,CSH,26.0 +CMT,1,1,4,0.0,NOC,2.5 +CMT,1,1,427,1.7,CSH,8.0 +CMT,4,1,1713,19.7,CRD,84.5 +CMT,1,1,291,0.7,CSH,5.0 +CMT,1,1,334,1.1,CSH,6.0 +CMT,1,1,882,2.5,CRD,12.0 +CMT,1,1,775,2.9,CSH,12.0 +CMT,1,1,1726,9.4,CRD,29.5 +CMT,1,1,15,0.3,NOC,2.5 +CMT,1,1,581,1.4,CRD,8.0 +CMT,1,1,253,0.5,CRD,4.5 +CMT,1,1,433,0.7,CRD,6.0 +CMT,1,1,935,4.9,CSH,17.0 +CMT,1,1,232,0.9,DIS,5.5 +CMT,1,1,1650,4.7,CSH,20.0 +CMT,1,1,432,1.0,CRD,6.5 +CMT,1,1,1307,1.4,CSH,14.0 +CMT,1,4,1296,3.8,CSH,17.0 +CMT,1,1,430,1.1,CSH,7.0 +CMT,1,1,1198,6.2,DIS,20.0 +CMT,1,1,314,1.5,CRD,6.5 +CMT,1,1,536,2.8,CRD,10.0 +CMT,1,1,170,0.7,CRD,4.5 +CMT,1,1,151,0.5,CSH,4.0 +CMT,1,1,383,1.9,CSH,8.0 +CMT,1,1,987,3.8,CRD,15.0 +CMT,1,1,601,1.6,CRD,8.5 +CMT,1,1,906,3.2,CRD,13.0 +CMT,1,1,282,1.2,CSH,6.0 +CMT,1,1,756,2.8,CRD,11.5 +CMT,1,1,659,2.8,CRD,11.0 +CMT,1,1,342,0.9,CRD,6.0 +CMT,1,1,207,0.5,CSH,4.5 +CMT,1,1,408,1.1,CSH,7.0 +CMT,1,1,1435,13.3,CRD,37.5 +CMT,1,1,450,1.9,CRD,8.0 +CMT,1,1,713,2.7,CRD,11.5 +CMT,1,1,1154,9.8,CRD,28.0 +CMT,1,1,774,2.6,CRD,11.5 +CMT,1,1,1319,10.1,CRD,29.5 +CMT,1,1,709,3.0,CSH,12.0 +CMT,1,1,727,2.1,CRD,10.0 +CMT,1,1,367,0.7,CSH,5.5 +CMT,1,1,611,2.5,CSH,10.0 +CMT,1,1,667,1.6,CRD,9.0 +CMT,1,1,373,0.9,CSH,6.0 +CMT,1,4,1778,15.4,CRD,43.0 +CMT,1,1,1228,2.9,CSH,15.0 +CMT,1,1,539,1.8,CRD,8.5 +CMT,1,1,367,0.9,CSH,6.0 +CMT,1,1,1358,7.8,CRD,24.0 +CMT,1,1,1411,6.1,CRD,21.0 +CMT,1,1,285,0.9,CSH,5.5 +CMT,1,1,1130,9.2,CSH,27.0 +CMT,1,1,107,0.6,CSH,4.0 +CMT,1,1,852,3.7,CRD,13.5 +CMT,1,1,585,3.5,CRD,12.5 +CMT,1,1,353,1.2,CSH,7.0 +CMT,1,1,1017,7.7,CRD,23.5 +CMT,1,1,517,1.4,CRD,8.0 +CMT,1,1,629,1.7,CRD,9.0 +CMT,1,1,800,2.6,CSH,11.0 +CMT,1,1,305,1.3,CSH,6.0 +CMT,1,1,415,1.1,CSH,7.0 +CMT,1,1,808,3.2,CSH,12.5 +CMT,1,1,400,0.8,CSH,6.0 +CMT,1,1,484,1.5,CSH,8.0 +CMT,1,1,238,0.5,CRD,4.5 +CMT,1,1,401,1.8,CSH,7.5 +CMT,1,1,512,2.2,CRD,9.5 +CMT,1,1,660,4.1,CRD,13.5 +CMT,1,1,864,7.0,CSH,21.5 +CMT,1,1,892,3.5,CRD,13.0 +CMT,1,1,938,3.3,CSH,14.0 +CMT,1,2,389,1.7,CSH,8.0 +CMT,1,1,470,1.4,CRD,7.5 +CMT,1,1,690,2.8,CSH,11.0 +CMT,1,1,493,1.4,CRD,7.5 +CMT,1,1,516,1.7,CSH,8.0 +CMT,1,1,459,1.8,CSH,7.5 +CMT,1,1,193,0.4,CSH,4.0 +CMT,1,1,1962,10.5,CRD,33.5 +CMT,1,1,170,0.6,CRD,4.5 +CMT,1,1,918,5.3,CSH,18.0 +CMT,1,1,1365,10.6,CRD,31.5 +CMT,1,1,1488,9.5,CSH,28.5 +CMT,1,1,665,2.2,CRD,10.0 +CMT,1,1,1207,4.6,CRD,17.5 +CMT,1,1,397,1.2,CRD,6.5 +CMT,1,1,1068,7.0,CSH,21.5 +CMT,1,1,533,1.8,CRD,8.5 +CMT,1,1,552,2.1,CSH,9.0 +CMT,1,1,250,1.3,CRD,6.0 +CMT,1,1,321,1.0,CRD,6.0 +CMT,1,1,1107,8.5,CSH,26.0 +CMT,1,1,461,2.4,CRD,9.0 +CMT,1,1,799,4.4,CSH,15.5 +CMT,1,1,1027,3.0,CSH,14.0 +CMT,1,1,1712,8.1,CRD,28.0 +CMT,1,1,968,8.2,CSH,24.0 +CMT,1,1,558,2.7,CSH,10.0 +CMT,1,1,325,1.0,CRD,6.0 +CMT,1,1,292,0.6,CRD,5.0 +CMT,1,2,111,0.4,CRD,3.5 +CMT,1,1,284,0.7,CRD,5.0 +CMT,1,2,1537,3.6,CSH,19.0 +CMT,1,1,219,0.7,CSH,5.0 +CMT,1,2,245,0.7,CRD,5.0 +CMT,1,1,301,1.1,CSH,6.0 +CMT,1,1,192,1.2,CRD,5.5 +CMT,1,1,701,4.6,CSH,15.0 +CMT,1,1,578,2.7,CSH,10.0 +CMT,1,1,284,1.4,CRD,6.5 +CMT,3,1,2069,19.3,CSH,70.0 +CMT,1,1,664,1.3,CSH,8.5 +CMT,1,1,393,0.9,CRD,6.0 +CMT,1,1,397,1.4,CSH,7.0 +CMT,1,1,1912,9.4,CSH,32.0 +CMT,1,1,274,0.7,CSH,5.0 +CMT,1,1,2115,9.3,CRD,31.0 +CMT,1,1,513,1.0,CRD,7.5 +CMT,1,2,185,0.4,CSH,4.0 +CMT,1,1,340,0.7,CRD,5.5 +CMT,1,2,273,0.7,CRD,5.5 +CMT,1,1,338,0.5,CRD,5.5 +CMT,1,2,739,4.3,CRD,15.5 +CMT,1,4,1354,5.5,CRD,20.5 +CMT,1,2,699,2.7,CRD,11.5 +CMT,1,2,438,2.4,CSH,9.0 +CMT,1,1,450,2.0,CSH,8.0 +CMT,1,1,240,0.9,CSH,5.0 +CMT,1,1,425,3.5,CSH,12.0 +CMT,1,1,668,3.7,CSH,12.5 +CMT,1,2,520,1.3,CSH,8.0 +CMT,1,1,545,2.5,CSH,9.5 +CMT,1,1,771,6.9,CRD,21.0 +CMT,1,1,357,1.3,CSH,7.0 +CMT,1,1,433,1.1,CSH,6.5 +CMT,1,1,1052,2.6,CSH,13.5 +CMT,1,1,664,5.8,CRD,18.0 +CMT,1,1,117,0.2,CRD,3.5 +CMT,1,1,699,4.1,CRD,14.0 +CMT,1,1,1061,2.7,CRD,13.0 +CMT,4,2,1121,9.8,CRD,28.5 +CMT,1,1,247,0.8,CRD,5.0 +CMT,1,1,1026,3.6,CRD,15.0 +CMT,1,1,1321,8.1,CSH,25.5 +CMT,1,1,981,3.2,CSH,13.5 +CMT,1,1,579,2.8,CSH,11.0 +CMT,1,1,354,1.5,CRD,7.0 +CMT,1,1,380,1.5,CRD,7.5 +CMT,2,1,2665,19.5,CRD,52.0 +CMT,1,1,652,1.6,CRD,8.5 +CMT,1,1,289,1.0,CSH,5.5 +CMT,1,1,535,1.8,CSH,8.5 +CMT,1,1,247,1.1,CSH,5.5 +CMT,1,1,801,3.5,CSH,13.0 +CMT,1,1,183,0.7,CRD,4.5 +CMT,1,1,175,0.8,CSH,4.5 +CMT,1,1,673,3.0,CRD,11.5 +CMT,1,1,708,3.7,CRD,13.0 +CMT,1,1,1201,8.8,CRD,26.5 +CMT,1,1,230,0.4,CRD,4.5 +CMT,1,1,732,3.2,CRD,12.0 +CMT,1,1,336,0.4,CRD,5.5 +CMT,1,1,192,0.8,CRD,4.5 +CMT,1,1,1377,5.3,CRD,19.0 +CMT,1,1,528,3.5,CRD,12.0 +CMT,1,1,1575,4.9,CRD,20.0 +CMT,1,2,725,3.5,CRD,13.0 +CMT,1,2,482,3.1,CSH,10.5 +CMT,1,1,1369,1.0,CRD,5.0 +CMT,1,1,709,2.2,CRD,10.5 +CMT,1,1,736,2.7,CRD,11.5 +CMT,1,1,1090,4.8,CRD,18.0 +CMT,1,1,369,1.3,CSH,7.0 +CMT,1,1,430,1.1,CSH,6.5 +CMT,1,1,574,2.2,CRD,10.0 +CMT,1,1,204,0.9,CRD,5.0 +CMT,1,1,189,0.7,CRD,4.5 +CMT,1,1,692,1.4,CRD,9.5 +CMT,1,1,347,1.1,CRD,6.5 +CMT,1,1,179,0.8,CSH,5.0 +CMT,1,1,1735,8.0,CRD,27.5 +CMT,1,1,607,2.6,CSH,10.5 +CMT,1,1,1174,11.5,CSH,33.0 +CMT,1,1,309,0.8,CRD,5.5 +CMT,1,1,18,0.0,NOC,2.5 +CMT,1,1,907,2.8,CSH,12.5 +CMT,1,1,576,2.4,CRD,10.0 +CMT,1,1,1566,3.3,CRD,18.0 +CMT,1,1,264,0.8,CSH,5.0 +CMT,1,1,110,0.7,CSH,4.0 +CMT,1,1,1065,3.3,CRD,14.0 +CMT,1,1,874,3.2,CRD,13.0 +CMT,1,1,185,0.2,CSH,4.0 +CMT,1,1,847,2.3,CRD,12.0 +CMT,1,1,217,0.7,CRD,4.5 +CMT,1,1,225,1.1,CRD,5.5 +CMT,1,1,632,2.6,CRD,10.5 +CMT,1,1,409,2.4,CRD,9.0 +CMT,1,1,2078,13.9,CRD,43.0 +CMT,1,1,851,2.6,CRD,11.5 +CMT,1,1,511,1.7,CRD,8.0 +CMT,1,1,1076,8.8,CRD,26.0 +CMT,1,1,419,1.4,CSH,7.5 +CMT,1,1,453,1.5,CSH,7.5 +CMT,1,1,498,1.7,CSH,8.0 +CMT,1,1,475,2.3,CSH,9.0 +CMT,1,1,962,3.9,CRD,15.0 +CMT,1,1,398,1.5,CSH,7.5 +CMT,1,1,244,0.8,CSH,5.0 +CMT,1,1,504,2.2,CSH,9.0 +CMT,1,1,657,2.1,CSH,10.0 +CMT,1,1,757,6.5,CRD,20.0 +CMT,1,1,767,3.3,CRD,13.0 +CMT,1,1,1571,13.7,DIS,39.0 +CMT,1,1,679,1.6,CRD,9.0 +CMT,1,1,326,1.6,CRD,7.0 +CMT,1,1,432,1.4,CRD,7.0 +CMT,1,1,436,1.3,CSH,7.0 +CMT,1,1,980,2.4,CRD,12.0 +CMT,1,1,476,1.2,CSH,7.0 +CMT,1,1,379,1.1,CSH,6.5 +CMT,1,1,1044,5.1,CRD,18.5 +CMT,1,1,385,0.6,CSH,6.0 +CMT,1,1,675,3.5,CRD,12.5 +CMT,1,1,624,4.3,CRD,14.5 +CMT,1,1,641,1.8,CSH,9.0 +CMT,1,1,369,1.6,CRD,7.0 +CMT,1,1,576,1.9,CSH,8.5 +CMT,1,1,391,0.9,CSH,6.5 +CMT,1,1,1060,4.1,CRD,15.5 +CMT,1,1,183,0.8,CSH,4.5 +CMT,1,1,1204,4.5,CRD,17.0 +CMT,1,1,702,2.3,CRD,10.5 +CMT,1,1,801,2.2,CRD,11.0 +CMT,1,1,889,2.9,CSH,12.5 +CMT,1,1,415,1.6,CSH,7.5 +CMT,1,1,889,4.2,CRD,15.0 +CMT,1,1,341,0.9,CRD,6.0 +CMT,1,1,1333,14.9,CRD,40.5 +CMT,1,1,414,1.2,CSH,7.0 +CMT,1,1,711,3.3,CSH,12.5 +CMT,1,1,822,1.9,CRD,11.0 +CMT,1,1,347,1.1,CSH,6.0 +CMT,1,1,181,0.7,CRD,4.5 +CMT,1,1,650,3.0,CRD,11.5 +CMT,1,1,482,2.2,CSH,9.0 +CMT,2,1,1481,18.4,CRD,52.0 +CMT,1,1,200,0.7,CSH,4.5 +CMT,1,1,1543,8.5,CRD,28.0 +CMT,1,1,1013,6.1,CRD,19.5 +CMT,1,1,391,2.4,CRD,9.0 +CMT,1,1,194,0.6,CSH,4.5 +CMT,1,1,2611,11.5,CSH,39.5 +CMT,1,1,937,2.3,CRD,12.0 +CMT,1,1,1497,4.8,CRD,19.5 +CMT,1,1,243,0.9,CRD,5.0 +CMT,1,1,647,2.6,CRD,10.5 +CMT,1,1,533,1.6,CRD,8.0 +CMT,1,1,537,2.8,CRD,10.5 +CMT,1,1,481,2.7,CRD,10.0 +CMT,1,1,612,2.8,CSH,11.0 +CMT,1,1,419,2.3,CSH,9.0 +CMT,1,1,1093,3.1,CSH,13.5 +CMT,1,1,836,3.5,CRD,13.0 +CMT,1,1,178,0.6,CSH,4.5 +CMT,1,1,608,1.8,CSH,9.0 +CMT,1,1,1110,5.7,CSH,19.5 +CMT,1,1,997,5.1,CRD,16.5 +CMT,1,1,518,1.5,CRD,7.5 +CMT,1,1,621,2.0,CRD,9.5 +CMT,1,1,352,1.0,CRD,6.0 +CMT,1,1,400,1.6,CRD,7.5 +CMT,1,1,755,2.8,CRD,12.0 +CMT,1,1,690,1.9,CSH,10.0 +CMT,1,1,423,1.5,CRD,7.5 +CMT,1,1,481,1.2,CRD,7.5 +CMT,1,2,453,1.0,CSH,6.5 +CMT,1,3,697,2.6,CSH,11.0 +CMT,1,2,739,3.9,CRD,14.5 +CMT,1,2,1371,7.4,CSH,24.5 +CMT,1,3,1160,3.3,CSH,15.0 +CMT,1,2,363,1.0,CSH,6.0 +CMT,1,2,468,2.1,CSH,8.5 +CMT,1,1,1560,7.1,CRD,25.0 +CMT,1,1,984,3.9,CSH,15.0 +CMT,1,1,707,1.3,CSH,9.0 +CMT,1,1,462,1.2,CSH,7.5 +CMT,1,1,245,0.8,CSH,5.0 +CMT,1,1,630,1.7,CSH,9.0 +CMT,1,1,371,1.5,CSH,7.5 +CMT,1,1,996,8.2,CRD,24.5 +CMT,1,1,298,1.0,CRD,5.5 +CMT,1,2,266,0.8,CRD,5.0 +CMT,1,3,336,1.4,CSH,6.5 +CMT,1,1,2081,19.1,CSH,51.5 +CMT,1,1,1371,6.0,CRD,22.0 +CMT,1,1,717,6.7,CSH,19.5 +CMT,1,1,1455,4.2,CRD,18.5 +CMT,1,1,307,1.0,CRD,6.0 +CMT,1,1,670,1.4,CSH,8.5 +CMT,1,1,501,1.6,CSH,8.0 +CMT,1,1,394,1.2,CSH,6.5 +CMT,1,1,1406,5.6,CRD,21.0 +CMT,1,1,874,3.0,CSH,12.5 +CMT,1,1,737,2.3,CSH,11.0 +CMT,1,1,1891,5.5,CRD,23.5 +CMT,1,1,615,7.1,DIS,20.5 +CMT,1,1,147,0.6,CSH,4.0 +CMT,1,1,599,2.0,CRD,10.0 +CMT,1,1,435,1.4,CRD,7.5 +CMT,1,1,539,1.4,CRD,8.5 +CMT,1,1,407,2.6,CRD,9.5 +CMT,1,1,1293,9.4,CRD,27.5 +CMT,1,2,224,0.7,CSH,4.5 +CMT,1,4,163,0.5,CSH,4.0 +CMT,1,1,798,6.1,CRD,19.0 +CMT,1,1,226,0.6,CSH,4.5 +CMT,1,1,771,1.9,CRD,10.0 +CMT,1,1,179,0.7,CRD,4.5 +CMT,1,1,227,0.5,CSH,4.5 +CMT,1,1,453,1.0,CRD,7.0 +CMT,1,1,890,6.5,CSH,19.0 +CMT,1,2,498,1.3,CSH,7.5 +CMT,1,3,714,3.7,CSH,13.0 +CMT,1,1,50,0.2,CSH,3.0 +CMT,1,1,1226,3.4,CSH,15.0 +CMT,1,1,311,1.2,CSH,6.0 +CMT,1,3,2235,7.4,CSH,28.5 +CMT,1,1,701,3.4,CSH,12.5 +CMT,1,1,272,0.9,CSH,5.5 +CMT,1,2,517,1.9,CSH,8.5 +CMT,1,1,441,3.6,CRD,11.5 +CMT,1,1,526,1.6,CRD,8.0 +CMT,1,1,798,1.4,CRD,9.5 +CMT,1,1,516,1.3,CRD,8.0 +CMT,1,1,428,2.2,CRD,9.0 +CMT,1,1,1224,1.9,CSH,14.0 +CMT,1,1,256,0.9,CRD,5.0 +CMT,1,1,684,7.9,CRD,23.0 +CMT,1,1,133,0.3,CSH,3.5 +CMT,1,1,1141,2.4,CRD,13.5 +CMT,1,1,627,1.6,CSH,8.5 +CMT,1,1,1213,8.0,CSH,24.5 +CMT,1,1,129,0.3,CSH,3.5 +CMT,1,2,828,2.1,CRD,11.0 +CMT,1,1,355,0.9,CRD,6.0 +CMT,1,1,556,1.6,CSH,8.5 +CMT,1,1,374,1.1,CSH,6.5 +CMT,1,1,829,3.2,CSH,13.0 +CMT,1,1,869,2.9,CSH,13.0 +CMT,1,1,369,1.9,CSH,8.0 +CMT,1,1,974,2.5,CRD,13.0 +CMT,1,1,652,1.9,CSH,9.5 +CMT,1,2,749,2.2,CRD,11.0 +CMT,1,3,521,2.0,CRD,9.0 +CMT,1,1,1633,8.8,CSH,28.5 +CMT,1,1,860,2.6,CSH,12.0 +CMT,1,1,591,1.7,CSH,8.5 +CMT,1,1,663,3.3,CSH,12.0 +CMT,1,2,616,3.1,CSH,11.5 +CMT,1,1,849,5.3,CRD,16.5 +CMT,1,1,1940,18.3,CSH,50.5 +CMT,1,1,2618,17.0,CSH,51.5 +CMT,1,1,1379,3.1,CSH,16.5 +CMT,1,1,1525,3.1,CRD,18.0 +CMT,1,1,881,1.8,CSH,11.0 +CMT,1,1,459,1.4,CRD,7.5 +CMT,1,2,300,1.2,CRD,6.0 +CMT,1,1,487,1.5,CRD,8.0 +CMT,1,1,303,0.9,CRD,5.5 +CMT,1,1,679,1.1,CRD,8.5 +CMT,1,1,609,5.8,CRD,17.5 +CMT,1,1,450,1.1,CRD,7.5 +CMT,1,2,1396,10.8,CRD,32.5 +CMT,1,1,1063,3.2,CSH,14.5 +CMT,1,1,422,0.7,CSH,6.0 +CMT,1,1,605,1.2,CRD,8.0 +CMT,1,1,528,2.5,CSH,10.0 +CMT,1,1,557,1.0,CSH,7.5 +CMT,1,1,293,0.8,CSH,5.5 +CMT,1,1,1157,3.1,CSH,15.5 +CMT,2,1,3555,17.8,CSH,52.0 +CMT,1,1,1076,1.7,NOC,2.5 +CMT,1,1,369,0.8,CSH,6.0 +CMT,1,1,275,0.7,CRD,5.0 +CMT,1,1,4,0.0,DIS,2.5 +CMT,1,1,260,1.5,CSH,6.5 +CMT,1,2,409,1.4,CSH,7.0 +CMT,1,3,440,1.7,CSH,8.0 +CMT,1,3,213,0.5,CSH,4.5 +CMT,1,2,681,2.8,CSH,11.5 +CMT,1,1,590,1.5,CRD,8.0 +CMT,1,1,1196,10.5,CSH,30.5 +CMT,1,1,1020,2.0,CRD,12.5 +CMT,1,2,617,1.6,CSH,9.0 +CMT,1,2,1455,11.4,CSH,33.5 +CMT,1,2,586,2.7,CRD,11.0 +CMT,1,4,509,1.2,CRD,7.5 +CMT,1,2,699,2.1,CSH,10.0 +CMT,1,3,411,1.1,CRD,7.0 +CMT,1,1,286,0.9,CRD,5.5 +CMT,1,2,346,1.1,CSH,6.0 +CMT,1,1,341,0.8,CRD,6.0 +CMT,1,1,406,1.1,CSH,6.5 +CMT,1,1,606,1.1,CSH,8.0 +CMT,1,1,190,1.0,CSH,5.0 +CMT,1,1,915,2.1,CRD,12.0 +CMT,1,4,774,1.0,CSH,9.0 +CMT,1,1,491,1.5,CSH,8.0 +CMT,1,2,1456,6.6,CRD,25.0 +CMT,1,1,400,1.3,CRD,7.0 +CMT,1,1,773,1.7,CSH,10.0 +CMT,1,1,164,1.0,CSH,5.0 +CMT,1,3,971,7.9,CRD,23.0 +CMT,1,1,1418,9.4,CRD,27.5 +CMT,1,1,1642,4.4,CRD,20.0 +CMT,1,2,1205,3.4,CRD,15.5 +CMT,1,2,2059,4.6,NOC,23.5 +CMT,1,1,1203,9.7,DIS,29.5 +CMT,1,1,138,0.4,CSH,4.0 +CMT,1,1,559,3.7,CRD,12.5 +CMT,1,2,614,3.5,CSH,13.0 +CMT,1,1,529,1.8,CRD,8.5 +CMT,1,1,1001,2.1,CSH,12.5 +CMT,1,1,595,2.0,CRD,9.5 +CMT,1,2,596,1.0,CSH,8.0 +CMT,1,1,857,1.9,CSH,10.5 +CMT,1,1,333,1.0,CRD,6.0 +CMT,1,1,263,0.5,CSH,5.0 +CMT,1,1,256,0.8,CRD,5.0 +CMT,1,1,443,2.3,CSH,9.0 +CMT,1,1,88,0.7,CRD,4.0 +CMT,1,1,758,3.2,CSH,12.0 +CMT,1,1,754,5.2,CRD,16.5 +CMT,1,1,924,2.8,CRD,12.5 +CMT,1,1,581,1.3,CRD,8.0 +CMT,1,1,684,3.2,CSH,12.0 +CMT,1,1,758,3.8,CRD,14.0 +CMT,1,1,1150,4.6,CRD,17.0 +CMT,1,1,840,1.6,CSH,10.0 +CMT,1,1,228,0.8,CSH,5.0 +CMT,1,1,215,0.6,CRD,4.5 +CMT,1,1,174,0.6,CRD,4.5 +CMT,1,2,860,2.8,CRD,12.5 +CMT,1,1,630,1.6,CRD,9.0 +CMT,1,2,545,1.7,CRD,8.5 +CMT,1,3,248,0.6,CSH,5.0 +CMT,1,1,646,2.0,CSH,9.5 +CMT,1,2,518,2.3,CSH,9.5 +CMT,1,1,1060,2.7,CRD,14.0 +CMT,1,1,547,2.4,CRD,9.5 +CMT,1,1,490,1.1,CSH,7.5 +CMT,1,1,638,1.4,CRD,9.0 +CMT,1,1,1506,9.2,CRD,28.0 +CMT,2,1,4602,16.4,CSH,52.0 +CMT,1,1,484,2.2,CRD,9.5 +CMT,1,1,316,1.1,CRD,6.0 +CMT,1,1,692,1.6,CSH,9.0 +CMT,1,1,627,2.2,CRD,10.0 +CMT,1,1,319,1.1,CSH,6.0 +CMT,1,1,1062,10.3,CSH,29.5 +CMT,1,1,1551,0.0,DIS,2.5 +CMT,1,1,227,0.8,CSH,5.0 +CMT,3,2,3117,19.0,CSH,75.0 +CMT,5,1,2013,14.2,CRD,85.0 +CMT,1,1,431,1.0,CRD,6.5 +CMT,1,1,230,0.8,CRD,5.0 +CMT,1,1,413,0.9,CRD,6.5 +CMT,1,1,218,0.7,CSH,5.0 +CMT,1,1,660,0.9,CSH,8.5 +CMT,1,1,616,1.3,CRD,9.0 +CMT,1,1,1895,8.0,DIS,30.0 +CMT,3,4,2030,18.4,CRD,69.0 +CMT,1,1,413,0.7,CRD,6.0 +CMT,1,2,373,1.0,CSH,6.5 +CMT,1,1,2566,12.2,CSH,42.5 +CMT,1,1,1734,9.6,CRD,32.0 +CMT,2,1,1171,14.8,CRD,52.0 +CMT,1,1,525,0.8,CSH,7.0 +CMT,1,1,461,1.8,CSH,8.5 +CMT,1,1,218,0.9,CSH,5.0 +CMT,1,1,388,1.5,CSH,7.0 +CMT,1,1,889,5.0,CSH,17.0 +CMT,1,2,722,2.6,CRD,11.0 +CMT,1,1,596,1.7,CSH,9.0 +CMT,1,1,923,1.3,CSH,10.5 +CMT,1,1,1066,7.9,CSH,24.0 +CMT,1,1,914,2.7,CSH,13.0 +CMT,1,2,1068,10.5,CSH,30.0 +CMT,1,1,576,1.1,CSH,7.5 +CMT,1,2,762,1.4,CSH,9.5 +CMT,1,1,72,0.3,CRD,3.0 +CMT,1,1,482,0.3,CSH,6.5 +CMT,1,1,750,2.2,CSH,10.5 +CMT,1,1,737,2.4,CRD,11.0 +CMT,1,1,1997,11.3,CRD,38.0 +CMT,1,1,230,0.6,CSH,4.5 +CMT,1,3,1031,2.1,CRD,12.5 +CMT,1,2,329,0.6,CRD,5.5 +CMT,1,1,747,2.0,CRD,10.5 +CMT,1,1,1265,3.2,CSH,15.5 +CMT,1,1,107,0.2,CRD,3.5 +CMT,1,1,1178,11.0,CRD,30.5 +CMT,2,1,1838,10.2,CRD,52.0 +CMT,1,2,2149,5.1,CRD,24.5 +CMT,1,4,563,1.4,CSH,8.0 +CMT,1,1,853,2.5,CRD,11.5 +CMT,1,1,659,2.2,CRD,10.0 +CMT,1,1,1038,0.8,CSH,11.0 +CMT,1,4,481,0.9,CSH,7.0 +CMT,1,1,513,1.3,CRD,7.5 +CMT,1,1,513,1.3,CSH,8.0 +CMT,1,2,644,2.0,CRD,10.0 +CMT,1,1,2008,5.5,CRD,24.5 +CMT,1,4,958,6.3,NOC,20.0 +CMT,1,1,1390,3.3,CRD,17.0 +CMT,1,1,949,3.5,CRD,15.0 +CMT,1,2,679,1.4,CSH,9.0 +CMT,1,2,1016,2.2,CRD,13.0 +CMT,1,2,360,1.0,CSH,6.0 +CMT,1,1,230,0.6,CSH,5.0 +CMT,1,1,771,3.4,CRD,13.0 +CMT,1,2,882,2.4,CSH,12.0 +CMT,1,1,1044,10.4,CRD,29.5 +CMT,1,2,317,1.0,CRD,6.0 +CMT,1,1,634,3.4,CSH,12.5 +CMT,1,1,397,1.6,CRD,7.5 +CMT,1,2,273,0.5,CSH,4.5 +CMT,1,1,785,1.4,CSH,10.0 +CMT,1,1,181,0.3,CRD,4.0 +CMT,1,2,1785,3.9,CRD,21.0 +CMT,1,1,1181,3.3,CSH,15.0 +CMT,1,1,934,6.3,CSH,20.0 +CMT,1,1,142,0.4,CSH,4.0 +CMT,1,1,661,2.9,CRD,11.5 +CMT,5,1,1287,6.2,CRD,45.0 +CMT,1,2,497,1.2,CRD,7.5 +CMT,1,3,275,0.9,CRD,5.5 +CMT,1,1,1138,9.4,CRD,27.5 +CMT,1,1,1580,14.9,CRD,41.5 +CMT,1,1,430,1.4,CSH,7.5 +CMT,1,1,102,0.3,CSH,3.5 +CMT,1,2,488,1.5,CSH,8.0 +CMT,1,1,317,1.0,CRD,6.0 +CMT,1,1,375,1.2,CSH,6.5 +CMT,1,1,862,2.3,CRD,11.5 +CMT,1,1,743,4.3,CRD,15.0 +CMT,1,1,568,2.0,CRD,9.0 +CMT,1,1,575,1.7,CRD,9.0 +CMT,1,1,1428,3.9,CRD,17.5 +CMT,1,1,350,0.7,CRD,5.5 +CMT,1,1,705,2.2,CSH,10.0 +CMT,1,1,591,1.2,CSH,8.0 +CMT,1,2,994,3.0,CSH,13.5 +CMT,1,1,1061,5.1,CRD,17.5 +CMT,1,1,501,1.3,CSH,7.5 +CMT,1,2,846,10.3,CSH,28.5 +CMT,1,1,622,6.9,CRD,20.0 +CMT,1,2,1206,2.9,CSH,14.5 +CMT,1,1,687,1.8,CRD,9.5 +CMT,1,1,670,1.4,CSH,9.0 +CMT,1,1,1368,11.3,CRD,33.0 +CMT,1,1,901,9.1,CRD,26.0 +CMT,1,1,1205,6.0,CRD,20.5 +CMT,1,2,0,11.0,CSH,30.5 +CMT,1,1,509,2.0,CRD,8.5 +CMT,1,1,1253,8.9,CRD,28.0 +CMT,1,1,1332,8.3,CRD,25.5 +CMT,1,2,579,3.1,CRD,12.0 +CMT,1,3,325,0.9,CSH,6.0 +CMT,1,1,1354,4.7,CSH,20.0 +CMT,1,1,1929,4.0,CRD,22.0 +CMT,1,1,779,0.7,CSH,9.0 +CMT,1,1,826,2.1,CRD,11.5 +CMT,1,1,693,1.8,CSH,10.0 +CMT,1,1,1038,2.3,CSH,13.0 +CMT,1,1,169,0.5,CRD,4.0 +CMT,1,1,93,0.2,CRD,3.0 +CMT,1,1,435,3.0,CSH,11.0 +CMT,1,1,1238,2.9,CSH,15.0 +CMT,1,1,398,0.4,CRD,6.0 +CMT,1,1,309,1.3,CSH,6.0 +CMT,1,1,882,2.4,CRD,11.5 +CMT,1,1,770,3.1,CSH,12.5 +CMT,1,2,458,0.4,CSH,6.0 +CMT,1,2,1654,11.6,CSH,35.0 +CMT,1,1,222,1.0,CRD,5.5 +CMT,1,1,1264,11.2,CRD,32.0 +CMT,1,3,637,0.4,CSH,7.5 +CMT,1,1,819,2.9,CRD,12.5 +CMT,1,1,482,1.4,CSH,7.5 +CMT,1,1,1048,6.6,CRD,21.5 +CMT,1,1,477,1.5,CRD,8.0 +CMT,1,2,1104,10.5,CRD,30.0 +CMT,1,3,1196,10.8,CRD,31.0 +CMT,1,2,602,2.2,CSH,9.5 +CMT,1,2,343,1.4,CRD,6.5 +CMT,1,2,591,0.7,CSH,7.5 +CMT,1,2,1197,1.6,CSH,13.5 +CMT,1,1,606,1.5,CSH,8.5 +CMT,1,1,750,1.9,CSH,10.0 +CMT,1,1,869,1.3,CSH,10.5 +CMT,1,2,683,0.8,CSH,8.5 +CMT,1,2,616,1.3,CRD,8.5 +CMT,1,1,797,1.4,CSH,10.0 +CMT,1,1,598,0.9,CRD,8.0 +CMT,1,1,876,1.2,CSH,10.0 +CMT,1,1,512,1.6,CRD,8.0 +CMT,1,1,1995,13.1,CRD,39.0 +CMT,1,1,615,1.6,CSH,9.0 +CMT,1,1,417,0.9,CRD,6.5 +CMT,1,1,2078,15.4,CRD,44.0 +CMT,1,1,665,1.4,CRD,9.0 +CMT,1,3,997,4.2,CSH,16.5 +CMT,1,1,336,0.9,CSH,6.0 +CMT,1,1,571,1.0,CRD,7.5 +CMT,2,1,1431,16.9,CRD,52.0 +CMT,1,1,443,0.9,CSH,6.5 +CMT,1,2,462,1.7,CSH,8.0 +CMT,1,1,264,1.2,CSH,6.0 +CMT,1,1,179,0.8,CRD,5.0 +CMT,1,1,2077,11.4,CRD,36.5 +CMT,1,1,702,1.3,CSH,9.0 +CMT,1,2,285,0.6,CRD,5.0 +CMT,1,2,491,1.9,CRD,8.5 +CMT,1,2,535,1.5,CSH,8.0 +CMT,1,1,2153,10.9,CRD,37.0 +CMT,1,1,196,0.5,CRD,4.5 +CMT,1,1,437,0.7,CSH,5.5 +CMT,1,1,336,0.8,CSH,5.0 +CMT,1,1,552,1.6,CSH,8.5 +CMT,1,1,470,0.6,CSH,6.5 +CMT,1,1,339,1.0,CSH,6.5 +CMT,1,2,331,0.7,CSH,5.5 +CMT,1,1,442,1.3,CSH,7.0 +CMT,1,1,850,2.0,CRD,11.0 +CMT,1,1,286,0.8,CRD,5.5 +CMT,1,1,1592,9.1,CSH,29.5 +CMT,1,1,892,2.7,CSH,12.5 +CMT,1,1,1745,12.1,DIS,2.5 +CMT,5,1,49,0.0,CRD,36.0 +CMT,1,1,755,2.3,CSH,10.5 +CMT,1,1,643,1.5,CRD,9.0 +CMT,1,1,1524,10.9,CRD,33.0 +CMT,1,1,1004,5.9,CSH,19.5 +CMT,1,1,489,3.0,CSH,10.5 +CMT,1,3,561,1.6,CSH,8.5 +CMT,1,5,2342,19.8,DIS,56.0 +CMT,1,1,343,1.6,CRD,7.5 +CMT,1,1,945,1.9,CSH,11.5 +CMT,1,1,712,3.4,CRD,13.0 +CMT,1,1,795,1.1,CSH,10.0 +CMT,1,1,1515,3.0,CRD,17.0 +CMT,1,1,995,1.2,CRD,11.5 +CMT,1,2,437,0.6,CSH,6.0 +CMT,1,2,532,1.5,CRD,8.0 +CMT,1,1,907,3.6,DIS,14.0 +CMT,1,1,425,1.5,CRD,7.5 +CMT,1,1,379,0.9,CRD,6.5 +CMT,1,1,268,1.1,CSH,5.5 +CMT,1,1,261,1.2,CSH,5.5 +CMT,1,1,279,0.8,CSH,5.5 +CMT,1,1,1163,1.4,CRD,12.5 +CMT,1,1,1139,2.4,CSH,13.5 +CMT,1,1,219,0.3,CSH,4.5 +CMT,1,2,1349,11.4,CSH,33.0 +CMT,1,2,361,1.1,CSH,6.5 +CMT,1,1,440,1.5,CSH,7.5 +CMT,1,1,1551,11.1,CRD,33.0 +CMT,1,3,536,1.2,CSH,7.5 +CMT,1,1,97,0.4,CSH,3.5 +CMT,1,1,386,1.1,CRD,6.5 +CMT,1,1,1201,2.9,CRD,15.5 +CMT,1,1,783,2.7,CSH,12.0 +CMT,1,1,568,1.5,CSH,8.5 +CMT,1,2,515,1.7,CSH,8.0 +CMT,1,1,738,2.4,CRD,10.5 +CMT,1,1,880,3.9,CRD,14.0 +CMT,1,1,338,0.6,CRD,5.5 +CMT,1,2,589,1.4,CRD,8.5 +CMT,1,1,606,0.7,NOC,7.5 +CMT,1,1,616,0.7,CSH,7.5 +CMT,1,1,816,1.9,CRD,10.5 +CMT,1,2,811,1.1,CSH,9.5 +CMT,1,2,1322,8.8,CRD,27.0 +CMT,1,1,568,1.0,CRD,8.0 +CMT,1,1,320,2.3,CRD,8.5 +CMT,1,1,430,1.2,CSH,7.0 +CMT,1,1,600,1.8,CSH,9.0 +CMT,1,1,1131,4.8,CRD,18.5 +CMT,1,1,836,1.2,CSH,10.0 +CMT,1,2,923,2.3,CRD,12.0 +CMT,1,2,351,1.1,CSH,6.5 +CMT,1,1,129,0.9,CRD,5.0 +CMT,1,1,824,3.0,CSH,12.0 +CMT,1,1,507,1.0,CSH,7.0 +CMT,1,1,851,2.7,CSH,12.0 +CMT,1,1,706,1.9,CRD,9.5 +CMT,1,2,446,0.5,CSH,6.5 +CMT,1,2,869,0.9,CSH,9.5 +CMT,1,2,700,1.7,CSH,9.5 +CMT,1,1,640,1.6,CSH,9.0 +CMT,1,1,891,6.8,CRD,20.5 +CMT,1,1,1086,9.6,CRD,27.5 +CMT,1,1,684,2.4,CSH,10.5 +CMT,1,1,485,0.8,CRD,6.5 +CMT,1,2,617,3.2,CSH,11.5 +CMT,1,1,346,1.0,CSH,6.0 +CMT,1,1,894,4.2,CRD,16.0 +CMT,1,1,169,0.8,CSH,4.5 +CMT,1,1,453,1.7,CSH,8.5 +CMT,1,1,546,1.4,CSH,8.0 +CMT,1,1,124,0.6,CRD,4.0 +CMT,1,1,1303,1.9,CRD,14.0 +CMT,1,2,769,1.5,CSH,10.0 +CMT,1,2,1974,14.5,NOC,43.0 +CMT,1,1,955,4.3,CSH,16.5 +CMT,1,1,1825,13.9,CSH,41.0 +CMT,2,1,1401,16.3,CRD,52.0 +CMT,1,1,1846,4.8,CRD,23.5 +CMT,1,1,1044,2.5,CRD,13.0 +CMT,1,2,653,1.8,CRD,9.5 +CMT,1,1,305,1.2,CSH,6.0 +CMT,1,2,301,1.1,CSH,6.0 +CMT,1,2,2223,16.0,CSH,46.0 +CMT,1,1,401,1.4,CRD,7.0 +CMT,1,1,156,0.3,CSH,3.5 +CMT,1,1,996,3.0,CRD,13.0 +CMT,1,1,1183,2.0,CRD,13.0 +CMT,1,2,505,1.7,CSH,8.5 +CMT,1,2,348,0.3,CSH,5.0 +CMT,1,1,1224,3.7,CRD,17.5 +CMT,1,1,99,0.2,CSH,3.5 +CMT,1,1,577,4.5,CRD,15.0 +CMT,1,1,618,5.5,CRD,17.0 +CMT,1,1,359,1.2,CRD,6.5 +CMT,1,1,376,0.8,CRD,5.5 +CMT,1,1,388,0.6,CRD,5.5 +CMT,1,1,800,3.8,CRD,14.0 +CMT,1,1,280,0.7,CSH,5.5 +CMT,1,1,327,1.1,CRD,6.0 +CMT,1,1,398,1.1,CSH,6.5 +CMT,1,1,1163,2.9,CRD,14.0 +CMT,1,1,282,0.9,CSH,5.5 +CMT,1,1,187,0.6,CSH,4.5 +CMT,1,1,733,4.4,CRD,15.5 +CMT,1,1,1223,5.1,CRD,18.5 +CMT,1,1,1150,3.5,CRD,15.0 +CMT,1,1,388,1.4,CRD,6.5 +CMT,1,1,1071,4.3,CRD,16.5 +CMT,1,1,1184,2.7,CRD,14.5 +CMT,1,1,405,1.4,CSH,7.5 +CMT,1,1,239,0.5,CSH,4.5 +CMT,1,1,2146,14.6,CRD,44.0 +CMT,1,2,963,1.0,CSH,10.5 +CMT,1,2,1100,3.5,CSH,16.0 +CMT,1,1,910,10.3,CRD,28.5 +CMT,1,1,366,1.1,CRD,6.0 +CMT,1,1,254,0.6,CRD,5.0 +CMT,1,1,393,1.6,CSH,7.0 +CMT,1,1,328,1.0,CSH,6.5 +CMT,1,1,453,1.1,CRD,7.0 +CMT,1,1,1447,9.4,CRD,28.5 +CMT,1,2,1802,11.7,CSH,35.5 +CMT,1,1,1882,9.6,CRD,32.5 +CMT,1,1,715,1.9,CRD,9.5 +CMT,1,1,1188,5.6,CSH,20.0 +CMT,1,1,222,1.3,CSH,6.0 +CMT,1,1,1227,11.3,CRD,32.5 +CMT,1,3,711,1.9,CSH,10.0 +CMT,1,1,945,2.4,CRD,12.5 +CMT,1,1,470,2.2,CSH,9.5 +CMT,1,1,3276,11.0,CSH,30.5 +CMT,1,1,641,2.2,CRD,10.0 +CMT,1,2,577,1.2,CSH,8.0 +CMT,1,1,139,0.6,CSH,4.0 +CMT,1,2,1060,3.0,CRD,14.0 +CMT,1,1,848,1.7,CSH,11.0 +CMT,1,1,750,5.3,CRD,16.5 +CMT,1,1,919,1.8,CSH,11.5 +CMT,1,2,1120,2.6,CRD,14.0 +CMT,1,2,1756,5.6,CRD,23.5 +CMT,1,2,1458,11.0,CRD,31.5 +CMT,1,2,420,1.2,CRD,6.5 +CMT,1,1,668,1.4,CRD,9.0 +CMT,1,1,411,1.0,CSH,6.5 +CMT,1,1,666,2.3,CRD,10.0 +CMT,1,2,569,0.8,CSH,7.5 +CMT,1,1,1220,10.0,CRD,29.0 +CMT,1,2,510,1.6,CRD,8.0 +CMT,1,4,702,1.0,CRD,9.0 +CMT,1,2,711,3.8,CRD,13.0 +CMT,1,1,667,2.1,CRD,10.0 +CMT,1,2,656,2.6,CSH,10.5 +CMT,1,1,171,0.8,CSH,5.0 +CMT,2,1,1271,16.3,CRD,52.0 +CMT,1,1,357,1.1,CSH,6.5 +CMT,1,1,2365,11.1,CSH,36.0 +CMT,1,2,522,0.8,CRD,7.5 +CMT,1,1,1006,5.4,CRD,18.5 +CMT,1,1,2007,10.3,CSH,34.0 +CMT,1,2,822,2.0,CRD,11.0 +CMT,1,1,381,1.0,CSH,6.0 +CMT,1,1,769,2.4,CRD,11.0 +CMT,1,1,178,0.8,CSH,5.0 +CMT,1,1,258,0.7,CSH,5.5 +CMT,1,1,284,1.2,CSH,6.0 +CMT,1,2,1134,10.2,CSH,29.5 +CMT,1,2,521,1.7,CRD,8.0 +CMT,1,1,895,2.2,CSH,12.0 +CMT,1,2,1126,4.1,CRD,16.5 +CMT,1,1,358,1.0,CSH,6.0 +CMT,1,1,1401,8.9,CRD,28.0 +CMT,1,1,214,0.8,CSH,5.0 +CMT,1,1,465,1.4,CRD,7.5 +CMT,1,1,299,1.0,CRD,5.5 +CMT,1,1,1597,11.7,CRD,35.0 +CMT,1,3,2009,15.4,CRD,46.5 +CMT,1,2,956,2.5,CRD,12.5 +CMT,1,2,853,3.3,CRD,12.5 +CMT,1,1,701,2.5,CRD,10.5 +CMT,1,1,320,0.7,CSH,5.5 +CMT,1,1,691,1.4,CSH,9.0 +CMT,1,2,728,1.9,CRD,10.0 +CMT,1,2,355,1.1,CSH,6.5 +CMT,1,1,496,2.2,CRD,9.0 +CMT,1,2,1556,11.2,CRD,32.5 +CMT,1,1,569,1.3,CRD,7.5 +VTS,1,5,1140,8.66,CSH,26.0 +VTS,1,5,420,2.35,CSH,9.5 +VTS,1,5,480,2.16,CRD,9.0 +VTS,1,5,180,0.84,CSH,4.5 +VTS,1,5,240,0.66,CSH,4.5 +VTS,1,5,840,5.42,CRD,18.0 +VTS,2,5,1620,17.26,CSH,52.0 +VTS,1,5,660,2.86,CSH,11.5 +VTS,1,5,240,0.61,CSH,4.5 +VTS,1,5,1020,8.84,CRD,25.5 +VTS,1,5,780,1.69,CSH,9.0 +VTS,1,5,180,0.74,CRD,4.5 +VTS,2,5,1980,20.31,CRD,52.0 +VTS,1,5,420,0.98,CRD,6.5 +CMT,1,1,941,3.6,CSH,14.0 +CMT,1,1,290,1.1,CRD,5.5 +CMT,1,1,356,1.0,CSH,6.5 +CMT,1,1,1125,2.4,CRD,10.5 +CMT,1,1,799,2.1,CRD,11.0 +CMT,1,1,476,1.0,CSH,7.0 +CMT,1,1,477,1.3,CSH,7.5 +CMT,1,1,759,2.1,CRD,10.5 +CMT,1,1,1438,4.9,CRD,20.0 +CMT,1,1,394,1.1,CRD,6.5 +CMT,1,1,804,1.1,CRD,9.5 +CMT,1,1,657,2.8,CRD,11.0 +CMT,1,1,549,1.6,CSH,8.5 +CMT,1,1,769,2.2,CRD,11.0 +VTS,1,5,540,4.14,CRD,13.0 +VTS,1,5,360,1.36,CSH,6.0 +VTS,1,5,1440,10.31,CRD,29.5 +VTS,1,5,360,0.51,CSH,5.0 +VTS,1,5,840,2.81,CSH,12.0 +VTS,1,5,900,3.05,CSH,13.0 +VTS,1,5,360,1.02,CRD,6.0 +VTS,1,5,420,1.72,CRD,7.5 +VTS,1,5,660,2.21,CSH,9.5 +VTS,1,5,660,7.08,CRD,20.5 +VTS,1,5,1860,12.77,CRD,38.0 +VTS,1,5,540,1.03,CSH,7.5 +CMT,1,1,588,3.4,CSH,12.0 +CMT,1,3,664,1.7,CRD,9.0 +CMT,1,1,1355,10.7,CRD,32.0 +CMT,1,1,382,0.9,CRD,6.0 +CMT,1,2,1842,2.5,CRD,19.0 +CMT,1,1,788,2.1,CRD,11.0 +CMT,1,1,5342,9.1,CSH,55.5 +CMT,1,1,176,0.8,CSH,4.5 +CMT,1,1,1400,4.9,CRD,19.5 +CMT,1,1,1097,10.0,CSH,29.0 +CMT,1,1,362,1.1,CRD,6.0 +CMT,1,1,7,0.0,NOC,2.5 +VTS,1,5,960,10.42,CSH,29.5 +VTS,1,5,360,0.9,CRD,6.0 +VTS,1,5,420,1.17,CSH,7.0 +VTS,1,5,360,1.4,CSH,7.0 +VTS,1,5,300,0.95,CSH,5.5 +VTS,1,5,360,1.21,CSH,7.0 +VTS,1,5,300,1.76,CSH,7.0 +VTS,1,5,1440,9.0,CSH,28.0 +VTS,1,5,1080,1.67,CSH,12.5 +VTS,1,5,720,1.66,CSH,10.0 +VTS,1,5,1680,5.92,CSH,24.5 +VTS,1,5,660,1.1,CSH,7.5 +VTS,1,5,1020,3.81,CRD,15.0 +VTS,1,5,600,3.79,CRD,13.0 +CMT,1,1,176,0.6,CSH,4.5 +VTS,1,5,1140,6.89,CSH,23.5 +VTS,1,5,720,1.36,CSH,9.5 +VTS,1,5,360,1.39,CSH,6.5 +VTS,1,5,300,0.43,CRD,4.5 +VTS,2,5,1560,17.32,CSH,52.0 +VTS,1,5,420,0.57,CRD,6.0 +VTS,1,5,960,6.14,CRD,20.0 +VTS,1,5,480,0.76,CSH,6.5 +VTS,1,5,660,1.97,CSH,9.5 +VTS,2,5,2340,17.81,CSH,52.0 +VTS,2,5,3660,18.96,CRD,52.0 +VTS,1,5,780,4.29,CSH,15.0 +VTS,1,5,240,1.13,CSH,5.5 +VTS,1,5,300,1.01,CSH,5.5 +VTS,1,5,360,1.79,CRD,8.0 +VTS,1,5,1020,3.08,CRD,13.5 +VTS,1,5,1020,5.17,CRD,17.5 +VTS,1,5,600,2.36,CSH,10.0 +VTS,1,5,420,1.2,CRD,6.5 +VTS,1,5,360,1.37,CRD,6.5 +VTS,1,5,1320,10.2,CRD,30.0 +VTS,1,5,1260,4.66,CSH,18.0 +VTS,1,5,1380,5.67,CRD,20.0 +VTS,1,5,720,7.65,CRD,22.0 +VTS,1,5,420,0.62,CSH,5.5 +CMT,1,2,386,1.9,CSH,8.0 +CMT,1,1,407,1.3,CSH,7.0 +CMT,1,2,829,2.7,CRD,12.5 +CMT,1,3,443,1.1,CSH,7.0 +CMT,1,2,1030,9.4,CSH,27.0 +CMT,1,1,396,0.6,CSH,6.0 +CMT,1,1,1275,2.1,CRD,14.0 +CMT,1,1,456,0.7,CRD,6.5 +CMT,1,1,1008,1.8,CRD,12.5 +CMT,1,2,282,0.8,CSH,5.0 +CMT,1,1,1379,11.0,CSH,31.5 +CMT,1,1,1387,3.2,CSH,17.0 +CMT,1,1,1039,2.7,CRD,13.5 +CMT,1,2,1443,3.6,CSH,17.5 +CMT,1,1,486,1.5,CRD,7.5 +VTS,1,5,1560,7.9,CSH,26.5 +VTS,1,5,1140,10.4,CSH,30.0 +VTS,2,5,1560,17.9,CSH,52.0 +VTS,1,5,360,0.81,CSH,6.0 +VTS,1,5,480,1.33,CSH,7.5 +VTS,1,5,300,1.45,CRD,7.0 +VTS,1,5,600,1.72,CRD,9.0 +VTS,1,5,720,2.36,CSH,11.0 +VTS,1,5,540,2.28,CSH,8.5 +VTS,1,5,360,1.06,CSH,6.0 +VTS,1,5,780,2.51,CSH,11.0 +CMT,1,1,596,1.8,CRD,9.0 +CMT,1,1,758,4.3,CRD,14.5 +CMT,1,2,515,2.3,CSH,9.5 +CMT,1,1,710,2.6,CSH,11.5 +CMT,1,1,313,1.4,CSH,6.5 +CMT,1,1,363,1.3,CSH,6.5 +CMT,1,1,711,2.2,CSH,10.5 +CMT,1,2,632,0.8,CRD,7.5 +CMT,1,2,505,1.4,CRD,8.5 +CMT,1,1,1093,5.3,CSH,18.5 +CMT,1,2,1002,2.5,CRD,13.0 +CMT,1,1,487,1.4,CRD,8.0 +CMT,1,1,445,1.9,CRD,9.0 +CMT,1,1,186,0.5,CRD,4.5 +VTS,1,5,480,1.94,CSH,9.0 +VTS,1,5,1080,11.67,CSH,33.0 +VTS,1,5,720,3.44,CRD,13.0 +VTS,1,5,1380,1.42,CSH,14.5 +VTS,1,5,780,1.34,CRD,9.5 +VTS,1,5,840,7.06,CRD,21.5 +VTS,1,5,180,0.57,CSH,4.0 +VTS,1,5,1140,8.22,CRD,26.0 +VTS,1,5,360,0.78,CRD,6.0 +VTS,1,5,720,1.3,CRD,8.5 +VTS,1,5,1200,6.32,CRD,21.5 +VTS,1,5,600,1.16,CRD,8.0 +CMT,1,2,247,1.2,CSH,6.0 +CMT,1,1,242,0.5,CRD,4.5 +CMT,1,1,624,5.0,CRD,15.5 +CMT,1,1,494,1.2,CSH,5.5 +CMT,1,1,564,2.2,CSH,9.5 +CMT,1,1,441,1.3,CRD,7.5 +CMT,1,3,823,2.5,CRD,11.5 +CMT,1,3,1126,6.5,CRD,21.0 +CMT,1,1,133,0.3,CRD,3.5 +CMT,1,1,332,0.6,CSH,5.5 +CMT,1,1,655,1.5,CRD,9.0 +CMT,1,1,753,1.7,CSH,10.0 +CMT,1,1,500,1.0,CSH,7.0 +CMT,1,1,1357,4.8,CRD,19.0 +CMT,1,1,1378,14.1,CRD,39.0 +CMT,1,2,212,0.5,CSH,4.5 +CMT,1,1,623,2.2,CRD,10.0 +CMT,1,2,1146,2.9,CSH,14.5 +VTS,1,5,660,1.51,CRD,9.0 +VTS,1,5,660,2.65,CSH,10.5 +VTS,1,5,420,2.0,CRD,8.0 +VTS,1,5,840,6.39,CRD,19.5 +VTS,1,5,1200,6.14,CRD,21.5 +VTS,1,5,600,2.01,CRD,10.0 +VTS,1,5,420,1.24,CSH,7.5 +VTS,1,5,1080,1.96,CSH,10.5 +VTS,1,5,1140,2.98,CRD,14.0 +VTS,1,5,780,6.23,CRD,19.5 +VTS,1,5,900,3.23,CRD,13.0 +VTS,1,5,2160,10.94,CSH,37.0 +VTS,1,5,1080,2.7,CSH,14.0 +VTS,1,5,720,1.81,CRD,9.0 +VTS,1,5,120,0.6,CSH,4.0 +VTS,1,5,240,0.77,CSH,5.0 +VTS,1,5,1020,6.59,CSH,20.5 +VTS,1,5,600,1.31,CSH,8.5 +VTS,1,5,360,1.72,CSH,7.0 +VTS,1,5,540,1.5,CRD,8.0 +VTS,1,5,1260,4.27,CRD,18.0 +VTS,1,5,420,1.0,CRD,6.0 +VTS,1,5,480,1.81,CRD,8.0 +VTS,1,5,660,2.42,CRD,10.0 +VTS,1,5,1500,7.96,CRD,25.5 +VTS,1,5,360,0.87,CRD,6.0 +VTS,2,5,1500,17.49,CRD,52.0 +VTS,1,5,720,5.99,CRD,19.0 +VTS,1,5,840,3.94,CRD,14.0 +VTS,1,5,240,1.11,CSH,5.0 +VTS,1,5,1140,3.74,CSH,16.0 +VTS,1,5,240,0.61,CSH,5.0 +VTS,1,5,1200,2.97,CSH,13.5 +VTS,1,5,1080,3.18,CRD,13.0 +VTS,1,5,480,1.84,CSH,8.5 +VTS,1,5,720,1.52,CSH,9.0 +VTS,1,5,720,1.0,CSH,7.5 +VTS,1,5,180,0.87,CRD,5.0 +VTS,1,5,420,0.95,CSH,6.0 +VTS,1,5,720,3.62,CRD,14.0 +VTS,1,5,2640,9.12,CRD,36.5 +VTS,1,5,420,1.44,CRD,7.0 +VTS,1,5,300,1.24,CRD,6.0 +VTS,1,5,960,2.99,CRD,13.5 +VTS,1,5,1380,2.36,CRD,15.0 +VTS,1,5,660,1.55,CRD,9.0 +VTS,1,5,2040,5.92,CRD,25.0 +VTS,1,5,360,0.9,CSH,5.5 +VTS,1,5,780,2.42,CRD,10.5 +VTS,1,5,360,1.44,CSH,7.0 +VTS,1,5,900,1.73,CSH,11.5 +VTS,1,5,480,1.18,CSH,7.5 +VTS,1,5,360,0.67,CRD,5.5 +VTS,1,5,720,1.57,CRD,9.5 +VTS,1,5,540,1.13,CRD,7.5 +VTS,1,5,1140,12.49,CSH,34.5 +VTS,1,5,180,0.97,CSH,5.0 +VTS,1,5,240,0.75,CSH,5.5 +VTS,1,5,480,1.25,CRD,7.5 +VTS,1,5,660,3.23,CSH,12.0 +VTS,1,5,540,1.7,CSH,8.0 +VTS,1,5,1140,7.88,CRD,24.0 +VTS,1,5,2040,8.7,CRD,30.0 +VTS,1,5,480,1.56,CSH,7.5 +VTS,1,5,660,1.96,CRD,9.5 +VTS,1,5,480,1.64,CSH,7.5 +VTS,1,5,1020,1.9,CSH,12.5 +VTS,1,5,360,1.04,CRD,6.0 +VTS,1,5,360,1.04,CSH,6.0 +VTS,1,5,540,3.9,CRD,13.0 +VTS,1,5,540,3.37,CSH,12.0 +VTS,1,5,780,1.94,CSH,10.5 +VTS,1,5,1080,3.22,CRD,14.5 +VTS,1,5,1380,2.39,CSH,15.0 +VTS,1,5,780,2.28,CSH,11.0 +VTS,1,5,1260,5.4,CRD,20.5 +VTS,1,5,1200,13.1,CRD,36.0 +VTS,1,5,300,0.83,CRD,5.5 +VTS,1,5,840,1.83,CRD,11.0 +VTS,1,5,660,1.58,CRD,8.5 +VTS,1,5,360,0.67,CSH,5.0 +VTS,1,5,720,2.16,CRD,9.5 +VTS,1,5,1140,4.18,CRD,16.0 +VTS,1,5,600,1.03,CRD,7.5 +VTS,1,5,1500,4.87,CRD,20.0 +VTS,1,5,480,1.51,CSH,7.5 +VTS,1,5,1200,8.96,CSH,27.0 +VTS,2,5,1680,21.59,CRD,52.0 +VTS,1,5,660,2.52,CSH,10.0 +VTS,1,5,780,2.07,CRD,10.5 +VTS,1,5,600,2.5,CSH,10.0 +VTS,1,5,420,1.74,CRD,7.5 +VTS,1,5,1740,9.98,CRD,31.5 +VTS,1,5,720,1.62,CRD,9.0 +VTS,1,5,840,2.33,CSH,11.5 +VTS,1,5,600,4.69,CRD,15.5 +VTS,1,5,540,2.64,CSH,10.0 +VTS,1,5,1440,8.95,CSH,27.0 +VTS,1,5,480,2.27,CRD,8.5 +VTS,1,5,1500,3.87,CRD,17.0 +VTS,1,5,1440,3.36,CSH,13.5 +VTS,1,5,1920,4.29,CRD,19.5 +VTS,1,5,420,1.61,CRD,7.0 +VTS,1,5,1320,1.21,CRD,14.0 +VTS,1,5,1200,2.37,CSH,14.0 +VTS,1,5,420,1.2,CSH,6.5 +VTS,1,5,120,0.45,CSH,3.5 +VTS,1,5,1560,15.88,CSH,43.0 +VTS,1,5,600,2.55,CSH,10.0 +VTS,1,5,540,2.79,CRD,10.5 +VTS,1,4,600,1.72,CSH,9.0 +VTS,1,5,1260,5.95,CRD,22.0 +VTS,1,5,540,1.77,CSH,8.5 +VTS,1,5,1800,10.15,CRD,33.5 +VTS,2,5,1680,19.41,CRD,52.0 +VTS,2,5,1620,17.33,CSH,52.0 +VTS,1,5,1080,2.85,CRD,14.0 +VTS,1,5,1260,3.33,CSH,15.0 +VTS,1,5,1500,10.68,CSH,33.0 +VTS,1,5,660,1.57,CSH,8.0 +VTS,1,5,420,1.12,CRD,6.0 +VTS,1,5,1800,10.62,CRD,33.0 +VTS,1,5,1440,4.91,CRD,20.0 +VTS,1,5,960,2.55,CRD,12.5 +VTS,1,5,180,0.6,CRD,4.5 +VTS,1,5,240,0.47,CRD,4.5 +VTS,1,5,540,5.24,CRD,16.5 +VTS,1,5,900,2.48,CRD,12.0 +VTS,1,5,180,0.64,CSH,4.5 +VTS,1,5,960,4.21,CRD,15.5 +VTS,1,5,300,0.97,CRD,5.5 +VTS,1,5,120,0.36,CSH,3.5 +VTS,1,5,300,1.18,CRD,6.0 +VTS,1,5,1020,5.88,CRD,19.5 +VTS,1,5,1200,1.5,CRD,13.0 +VTS,1,5,540,1.4,CSH,8.5 +VTS,1,5,300,0.69,CRD,5.5 +VTS,1,5,660,2.22,CRD,10.0 +CMT,1,1,2081,9.1,CRD,32.5 +CMT,1,2,566,1.2,CRD,7.5 +CMT,1,4,241,0.8,CSH,5.0 +CMT,1,2,123,0.4,CSH,4.0 +CMT,1,1,387,0.9,CRD,6.0 +CMT,1,1,1252,4.1,CRD,18.0 +CMT,1,1,885,1.4,CRD,11.0 +CMT,1,2,894,1.5,CSH,10.5 +CMT,1,1,1070,10.6,CSH,30.0 +CMT,1,1,596,1.1,CRD,8.0 +CMT,1,1,585,1.0,CSH,7.5 +CMT,1,1,1208,11.0,CRD,31.0 +CMT,1,1,1075,5.6,CRD,18.0 +CMT,1,3,812,1.8,CRD,10.5 +CMT,1,1,676,2.4,CSH,10.5 +CMT,1,1,1758,10.7,CRD,34.0 +CMT,1,1,323,1.5,CRD,7.0 +CMT,1,1,607,2.9,CRD,11.5 +CMT,1,1,634,2.5,CRD,11.5 +CMT,1,2,270,0.6,CSH,5.0 +CMT,1,1,1097,8.6,CSH,26.0 +CMT,1,3,553,2.3,CSH,10.0 +CMT,1,1,485,1.1,CRD,7.5 +CMT,1,2,747,2.9,CSH,11.5 +CMT,1,1,368,0.9,CRD,6.0 +CMT,1,1,448,1.3,CSH,7.5 +CMT,1,1,281,1.1,CRD,6.0 +CMT,1,1,716,1.2,CRD,9.0 +CMT,1,1,1177,3.3,CRD,15.0 +CMT,2,1,1600,18.4,CRD,52.0 +CMT,2,1,1873,18.6,CSH,52.0 +CMT,1,1,1431,5.0,CRD,15.0 +CMT,5,1,1518,11.5,CRD,34.0 +CMT,1,2,777,1.1,CSH,9.0 +CMT,1,1,293,0.8,CRD,5.5 +CMT,1,2,328,0.8,CSH,5.5 +VTS,1,5,660,3.03,CRD,11.5 +VTS,1,5,480,1.25,CSH,7.0 +VTS,1,5,720,1.34,CSH,9.5 +VTS,1,5,360,1.02,CSH,6.0 +VTS,1,5,720,2.03,CSH,10.0 +VTS,1,5,360,1.15,CSH,6.0 +VTS,1,5,600,2.04,CSH,8.5 +VTS,1,5,1260,1.65,CSH,11.5 +VTS,1,5,240,0.4,CRD,4.0 +VTS,1,5,960,1.73,CRD,11.5 +VTS,1,5,1080,2.18,CRD,12.5 +VTS,1,5,480,1.25,CRD,7.0 +VTS,1,5,1440,7.49,CRD,24.5 +VTS,1,5,360,2.12,CRD,8.5 +VTS,1,5,780,5.5,CSH,17.5 +VTS,1,5,480,0.85,CSH,7.0 +VTS,1,5,300,0.76,CSH,5.0 +VTS,1,5,1860,15.08,CRD,42.0 +VTS,1,5,420,1.74,CRD,7.5 +VTS,1,5,1020,7.41,CRD,22.5 +VTS,1,5,480,1.65,CSH,7.5 +VTS,1,5,1200,2.84,CSH,14.5 +VTS,1,5,1620,12.99,CRD,37.0 +VTS,1,5,300,0.89,CRD,5.5 +VTS,1,5,540,1.46,CSH,7.5 +VTS,1,5,180,0.58,CSH,4.5 +VTS,1,5,240,0.68,CSH,4.5 +VTS,1,5,720,5.16,CRD,17.0 +VTS,1,5,1440,7.79,CRD,26.5 +VTS,1,5,720,1.26,CSH,8.0 +VTS,1,5,300,1.17,CSH,6.0 +VTS,1,5,180,0.75,CSH,4.5 +VTS,1,5,900,4.82,CRD,16.5 +VTS,1,5,1140,2.81,CRD,12.5 +VTS,1,5,2220,13.33,CRD,40.0 +VTS,1,5,2880,13.41,CSH,41.0 +VTS,1,5,1320,10.31,CRD,30.5 +VTS,1,5,360,2.36,CSH,8.5 +VTS,1,5,360,1.8,CSH,8.0 +VTS,1,5,780,2.32,CRD,11.0 +VTS,1,5,1200,3.02,CSH,15.5 +VTS,1,5,1020,2.41,CSH,12.5 +VTS,1,5,600,2.62,CRD,10.5 +VTS,1,5,780,3.14,CSH,13.0 +VTS,1,5,840,8.22,CRD,24.5 +VTS,2,5,1260,16.91,CRD,52.0 +VTS,1,5,1560,2.62,CSH,17.5 +VTS,1,5,1140,2.7,CRD,15.0 +VTS,1,5,120,0.69,CRD,4.5 +VTS,1,5,600,2.87,CSH,11.0 +VTS,1,5,600,0.98,CRD,7.5 +VTS,1,5,720,2.86,CRD,11.5 +VTS,2,5,2100,21.38,CSH,52.0 +VTS,2,5,3240,17.18,CRD,52.0 +VTS,1,5,720,2.4,CRD,10.5 +VTS,1,5,240,0.58,CRD,4.5 +VTS,1,5,120,0.58,CRD,4.0 +VTS,1,5,840,1.15,CSH,9.5 +VTS,1,5,1680,3.94,CRD,19.5 +VTS,1,5,360,1.24,CRD,6.0 +VTS,1,5,720,2.52,CRD,11.0 +VTS,5,1,60,0.0,CRD,58.0 +VTS,1,5,540,1.18,CRD,8.0 +VTS,1,5,480,1.04,CSH,6.5 +VTS,1,5,420,0.74,CRD,6.0 +VTS,1,5,780,5.4,CRD,17.0 +VTS,1,5,900,2.79,CSH,12.0 +VTS,1,5,1800,6.93,CRD,26.5 +VTS,1,5,780,4.13,CSH,14.5 +VTS,1,5,600,1.45,CSH,8.0 +VTS,1,5,1440,5.73,CRD,22.0 +VTS,1,5,1320,5.06,CRD,19.5 +VTS,1,5,660,1.91,CRD,9.0 +VTS,1,5,180,1.3,CRD,5.5 +VTS,1,5,180,0.6,CSH,4.0 +VTS,1,5,960,5.09,CRD,17.0 +VTS,1,5,1020,1.97,CSH,11.5 +VTS,1,5,960,5.4,CRD,19.0 +VTS,1,5,840,1.26,CRD,9.5 +VTS,1,5,60,0.13,CRD,3.0 +VTS,1,5,660,2.26,CRD,9.5 +VTS,1,5,540,3.58,CSH,12.0 +VTS,1,5,480,0.87,CRD,6.5 +VTS,1,5,960,6.28,CRD,20.0 +VTS,1,5,300,1.4,CSH,6.5 +VTS,1,5,960,2.05,CSH,12.0 +VTS,1,5,120,0.7,CSH,4.0 +VTS,1,5,1560,14.08,CSH,39.0 +VTS,1,5,3780,19.69,CRD,57.0 +VTS,1,5,420,1.79,CRD,8.0 +VTS,1,5,240,1.63,CSH,6.5 +VTS,1,5,420,1.31,CRD,7.0 +VTS,1,5,780,2.95,CSH,12.5 +VTS,1,5,420,1.04,CRD,6.5 +VTS,1,5,360,0.84,CSH,5.5 +VTS,1,5,420,1.38,CRD,6.5 +VTS,1,5,420,0.79,CSH,6.0 +VTS,1,5,660,2.48,CRD,10.0 +VTS,1,5,300,0.7,CRD,5.0 +VTS,1,5,2220,9.61,CSH,32.5 +VTS,1,5,120,0.66,CSH,4.0 +VTS,1,5,720,1.43,CRD,9.5 +VTS,1,5,240,0.42,CSH,4.5 +VTS,1,5,180,0.41,CSH,4.0 +VTS,1,5,600,1.55,CRD,8.5 +VTS,1,5,600,1.35,CSH,8.5 +VTS,1,5,300,1.41,CRD,7.0 +VTS,1,5,480,0.79,CRD,6.5 +VTS,1,5,300,0.79,CRD,5.5 +VTS,1,5,300,0.62,CSH,5.0 +VTS,1,5,1680,4.15,CSH,20.0 +VTS,1,5,660,2.24,CSH,9.5 +VTS,1,5,1200,5.84,CRD,21.0 +VTS,1,5,1140,1.78,CRD,12.5 +VTS,1,5,1260,3.81,CRD,16.5 +VTS,1,5,180,0.92,CRD,5.0 +VTS,1,5,720,3.13,CRD,12.5 +VTS,1,5,420,0.84,CRD,6.5 +VTS,1,5,900,1.88,CSH,11.0 +VTS,1,5,420,0.85,CSH,6.0 +VTS,1,5,480,0.88,CRD,7.0 +VTS,1,5,600,0.96,CRD,7.5 +VTS,1,5,1140,3.3,CRD,15.0 +VTS,2,5,3600,16.85,CRD,52.0 +VTS,2,5,2220,17.93,CRD,52.0 +VTS,1,5,480,1.78,CRD,7.5 +VTS,1,5,540,2.56,CRD,10.0 +VTS,2,5,1740,17.36,CSH,52.0 +VTS,1,5,780,2.47,CRD,11.5 +VTS,1,5,720,2.08,CRD,10.5 +VTS,1,5,540,1.44,CRD,8.0 +VTS,1,5,60,0.07,CSH,2.5 +VTS,1,5,840,2.37,CRD,11.5 +VTS,1,5,1200,7.72,CRD,24.5 +VTS,1,5,1140,2.96,CRD,13.5 +VTS,1,5,240,0.85,CRD,5.0 +VTS,1,5,1260,8.8,CRD,27.5 +VTS,1,5,360,0.86,CRD,6.0 +VTS,1,5,480,1.52,CRD,8.0 +VTS,1,5,840,7.79,CRD,22.5 +VTS,1,5,720,3.03,CRD,12.5 +VTS,1,5,780,1.85,CRD,10.5 +VTS,1,5,1260,2.76,CSH,14.5 +VTS,1,5,2520,4.05,CSH,25.5 +VTS,1,5,300,1.37,CRD,6.5 +VTS,1,5,1440,10.76,CRD,32.0 +VTS,1,5,1260,4.86,CSH,19.0 +VTS,1,5,600,2.27,CRD,10.0 +VTS,1,5,300,0.68,CRD,5.0 +VTS,1,5,1080,3.48,CSH,13.5 +VTS,1,5,600,0.84,CSH,6.5 +VTS,1,5,240,0.57,CSH,5.0 +VTS,1,5,780,3.2,CSH,12.5 +VTS,1,5,300,0.75,CSH,5.0 +VTS,1,5,360,1.48,CSH,7.0 +VTS,2,5,2220,17.99,CSH,52.0 +VTS,1,5,300,0.65,CRD,5.0 +VTS,1,5,420,1.91,CSH,8.0 +VTS,1,5,1500,3.48,CRD,18.0 +VTS,1,5,1620,5.02,CRD,18.5 +VTS,1,5,720,2.45,CSH,10.5 +VTS,1,5,120,0.43,CRD,4.0 +VTS,1,5,1320,3.07,CRD,15.5 +VTS,1,5,720,1.21,CSH,9.0 +VTS,1,5,540,2.15,CSH,9.5 +VTS,1,5,360,0.93,CSH,6.0 +VTS,4,5,1860,6.68,CRD,26.0 +VTS,1,5,600,3.03,CRD,11.5 +VTS,1,5,1200,4.95,CRD,19.0 +VTS,1,5,600,1.25,CSH,8.0 +VTS,1,5,300,1.44,CSH,6.5 +VTS,2,5,1740,17.68,CRD,52.0 +VTS,1,5,900,0.98,CRD,10.0 +VTS,1,5,1320,2.66,CRD,15.0 +VTS,1,5,720,1.54,CRD,9.0 +VTS,1,5,780,7.65,CRD,22.0 +VTS,1,5,240,0.64,CRD,5.0 +VTS,1,5,1020,2.39,CRD,13.0 +VTS,1,5,2220,7.29,CRD,26.0 +VTS,1,5,480,1.25,CRD,7.0 +VTS,1,5,240,0.6,CRD,4.5 +VTS,1,5,540,1.55,CRD,8.5 +VTS,1,5,180,0.62,CRD,4.0 +VTS,1,5,2280,11.03,CSH,34.0 +VTS,1,5,1260,4.37,CSH,16.0 +VTS,1,5,2040,12.53,CSH,36.5 +VTS,1,5,720,1.05,CSH,8.0 +VTS,1,5,1020,3.19,CRD,14.0 +VTS,1,5,120,0.73,CRD,4.5 +VTS,1,5,780,3.77,CSH,13.5 +VTS,1,5,720,3.4,CRD,13.0 +VTS,1,5,300,1.39,CSH,6.5 +VTS,1,5,660,1.75,CSH,9.0 +VTS,1,5,1200,4.2,CRD,17.0 +VTS,1,5,1200,10.15,CSH,29.0 +VTS,1,5,900,2.48,CRD,11.0 +VTS,1,5,600,2.04,CRD,9.0 +VTS,1,5,1920,5.74,CRD,25.0 +VTS,1,5,360,1.27,CRD,6.5 +VTS,1,5,360,1.15,CSH,6.0 +VTS,1,5,720,3.99,CRD,14.0 +VTS,1,5,960,3.34,CRD,13.5 +VTS,1,5,540,1.08,CRD,8.0 +VTS,1,5,540,1.66,CRD,8.5 +VTS,1,5,1860,3.89,CSH,20.5 +VTS,1,5,360,1.24,CSH,6.5 +VTS,1,5,420,1.05,CRD,6.0 +VTS,1,5,1020,1.42,CRD,10.5 +VTS,1,4,120,0.53,CSH,4.0 +VTS,1,5,2940,10.91,CSH,41.5 +VTS,1,5,660,1.54,CRD,8.0 +VTS,1,5,2160,4.34,CRD,21.0 +VTS,1,5,720,1.73,CRD,8.5 +VTS,1,5,1140,2.45,CSH,13.0 +VTS,1,5,360,0.8,CSH,5.5 +VTS,1,5,420,0.94,CRD,6.5 +VTS,1,5,300,0.85,CRD,5.5 +VTS,1,5,120,0.51,CRD,4.0 +VTS,1,5,180,0.62,CSH,4.0 +VTS,1,5,360,1.35,CSH,6.5 +VTS,1,5,780,2.28,CSH,10.5 +VTS,1,5,180,0.27,CSH,3.5 +VTS,1,5,240,1.27,CSH,5.5 +VTS,1,5,1260,4.22,CRD,17.5 +VTS,1,5,120,0.41,CRD,3.5 +VTS,1,5,660,3.5,CRD,12.5 +VTS,1,5,720,1.7,CRD,9.5 +VTS,1,5,1320,3.34,CRD,16.0 +VTS,1,5,1320,8.61,CRD,27.5 +VTS,1,5,1620,3.44,CRD,18.5 +VTS,1,5,540,1.77,CRD,8.5 +VTS,1,5,300,1.2,CSH,6.0 +VTS,1,5,480,3.06,CSH,10.5 +VTS,1,5,300,1.11,CSH,6.0 +VTS,1,5,660,1.58,CRD,8.5 +VTS,1,5,840,2.78,CRD,12.0 +VTS,1,5,420,1.46,CRD,7.5 +VTS,1,5,420,1.41,CSH,7.0 +VTS,1,5,540,1.63,CRD,8.5 +VTS,1,5,1080,2.55,CRD,12.0 +VTS,1,5,1320,2.52,CRD,14.5 +VTS,1,5,840,8.3,CSH,23.5 +VTS,1,5,2220,8.56,CSH,26.0 +VTS,1,5,240,0.45,CSH,4.5 +VTS,1,5,1080,10.05,CSH,28.5 +VTS,1,5,720,1.2,CSH,9.0 +VTS,1,5,2100,9.8,CSH,33.0 +VTS,1,5,1980,5.68,CSH,25.5 +VTS,1,5,480,1.27,CRD,7.5 +VTS,1,5,900,2.6,CRD,12.0 +VTS,1,5,540,1.62,CRD,8.0 +VTS,1,5,420,1.6,CRD,8.0 +VTS,2,5,3120,17.26,CRD,52.0 +VTS,2,5,1680,19.05,CRD,52.0 +VTS,1,5,1500,10.18,CSH,32.0 +VTS,1,5,540,3.33,CRD,11.5 +VTS,1,5,960,5.34,CRD,17.5 +VTS,1,5,600,1.73,CSH,9.0 +VTS,1,5,480,1.84,CSH,8.5 +VTS,1,5,780,4.48,CRD,15.5 +VTS,1,5,420,1.41,CSH,7.0 +VTS,1,5,300,1.27,CRD,6.0 +VTS,1,5,480,1.43,CSH,7.5 +VTS,1,5,780,3.71,CSH,13.0 +VTS,1,5,300,0.68,CSH,5.5 +VTS,1,5,420,1.76,CRD,7.5 +VTS,1,5,780,3.5,CRD,14.0 +VTS,1,5,720,3.38,CSH,13.0 +VTS,1,5,1080,5.08,CRD,17.5 +VTS,1,5,420,1.15,CSH,7.0 +VTS,1,5,180,0.53,CSH,4.5 +VTS,1,5,420,1.21,CSH,7.0 +VTS,1,5,780,2.92,CRD,11.0 +VTS,1,5,660,1.82,CRD,8.5 +VTS,1,5,720,2.81,CRD,12.0 +VTS,1,5,600,1.61,CRD,8.5 +VTS,2,5,2340,16.83,CRD,52.0 +VTS,1,5,2400,6.67,CSH,22.0 +VTS,1,5,2160,6.01,CSH,26.0 +VTS,1,5,420,1.56,CSH,7.5 +VTS,2,5,3360,20.92,CSH,52.0 +VTS,1,5,660,1.01,CRD,7.5 +VTS,1,5,1380,9.58,CRD,28.5 +VTS,1,5,660,1.89,CRD,9.5 +VTS,1,5,240,0.62,CSH,5.0 +VTS,1,5,900,2.58,CRD,12.5 +VTS,1,5,2760,20.28,CRD,58.0 +VTS,1,5,240,0.83,CSH,5.0 +VTS,1,5,600,1.98,CSH,8.5 +VTS,1,5,660,0.42,CRD,6.5 +VTS,1,5,180,0.33,CRD,3.5 +VTS,1,5,540,2.39,CSH,9.5 +VTS,1,5,420,1.67,CRD,8.0 +VTS,1,5,360,2.08,CRD,8.0 +VTS,1,5,480,1.73,CSH,8.0 +VTS,1,5,2040,10.27,CRD,34.5 +VTS,1,5,1080,3.17,CRD,14.0 +VTS,1,5,1140,10.36,CRD,29.5 +VTS,1,5,540,1.81,CSH,8.5 +VTS,1,5,120,0.61,CSH,4.0 +VTS,1,5,660,2.62,CRD,11.0 +VTS,1,5,600,1.58,CSH,7.0 +VTS,1,5,420,2.77,CRD,9.5 +VTS,1,5,360,1.54,CRD,7.0 +VTS,1,5,1200,3.54,CSH,14.5 +VTS,1,5,1140,4.83,CSH,17.5 +VTS,1,5,1020,7.14,CRD,22.5 +VTS,1,5,420,1.71,CRD,7.5 +VTS,1,5,360,1.03,CRD,6.0 +VTS,1,5,600,0.88,CSH,8.0 +VTS,1,5,1740,13.09,CRD,38.5 +VTS,1,5,240,1.06,CSH,5.5 +VTS,1,5,480,1.97,CSH,8.5 +VTS,1,5,540,2.4,CRD,9.5 +VTS,1,5,720,1.53,CSH,9.5 +VTS,1,5,960,3.82,CSH,14.5 +VTS,1,5,300,0.92,CRD,6.0 +VTS,4,5,240,0.61,CRD,5.0 +VTS,1,5,240,0.89,CSH,5.0 +VTS,1,5,900,1.64,CRD,11.0 +VTS,1,5,240,0.57,CSH,4.5 +VTS,1,5,300,1.02,CSH,6.0 +VTS,1,5,120,0.97,CRD,5.0 +VTS,1,5,1020,5.81,CRD,18.5 +VTS,1,5,720,0.94,CRD,8.5 +VTS,1,5,480,1.57,CRD,7.5 +VTS,1,5,420,1.91,CRD,8.5 +VTS,1,5,540,1.07,CSH,7.5 +VTS,1,5,1380,4.79,CRD,18.5 +VTS,1,5,600,4.94,CSH,16.0 +VTS,1,5,1140,4.34,CRD,17.5 +VTS,1,5,540,2.27,CRD,10.0 +VTS,1,5,780,1.82,CSH,9.5 +VTS,1,5,1980,4.36,CSH,23.0 +VTS,1,5,720,1.96,CRD,9.5 +VTS,1,5,1620,5.92,CRD,22.5 +VTS,1,5,360,1.47,CRD,6.5 +VTS,1,5,900,3.12,CSH,13.0 +VTS,1,5,720,2.3,CRD,10.5 +VTS,1,5,1080,8.28,CRD,25.0 +VTS,1,5,180,0.95,CRD,5.0 +VTS,1,5,1860,5.64,CRD,24.0 +VTS,1,5,240,0.88,CRD,5.0 +VTS,1,5,660,1.77,CRD,9.5 +VTS,1,5,1020,3.54,CRD,13.5 +VTS,5,1,0,0.0,CRD,27.0 +VTS,2,5,2160,19.43,CRD,52.0 +VTS,1,5,1440,3.68,CSH,17.0 +VTS,1,5,480,1.16,CRD,7.0 +VTS,1,5,600,2.51,CSH,9.5 +VTS,1,5,1260,3.47,CSH,15.0 +VTS,1,5,360,1.36,CRD,7.0 +VTS,1,5,1860,7.02,CSH,26.5 +VTS,1,5,600,1.87,CRD,9.0 +VTS,1,5,600,1.01,CSH,8.5 +VTS,1,5,1500,3.77,CSH,18.0 +VTS,2,5,2100,20.53,CRD,52.0 +VTS,1,6,300,0.94,CRD,5.5 +VTS,1,5,540,0.8,CRD,7.0 +VTS,1,6,720,2.32,CRD,10.5 +VTS,1,5,240,0.94,CSH,5.0 +VTS,1,5,240,0.66,CRD,4.5 +VTS,1,5,240,0.89,CRD,5.5 +VTS,1,5,960,7.03,CSH,22.0 +VTS,1,5,7320,9.32,CRD,73.0 +VTS,1,5,1260,2.49,CSH,15.0 +VTS,1,5,300,1.22,CRD,6.0 +VTS,1,5,300,0.83,CSH,5.5 +VTS,1,4,660,2.94,CSH,11.0 +VTS,1,5,780,5.14,CSH,17.0 +VTS,5,1,0,0.01,CRD,91.0 +VTS,1,5,720,0.68,CSH,8.5 +VTS,2,5,240,0.39,CSH,52.0 +VTS,1,5,180,0.39,CSH,4.0 +VTS,1,5,720,0.47,CSH,7.5 +VTS,1,5,1020,1.94,CSH,11.0 +VTS,1,5,720,2.69,CRD,11.0 +VTS,1,5,840,2.96,CRD,12.0 +VTS,1,5,2220,10.68,CSH,33.5 +VTS,1,5,300,0.45,CRD,4.5 +VTS,1,5,1020,5.64,CSH,19.0 +VTS,1,5,540,2.58,CSH,10.5 +VTS,1,5,420,3.24,CRD,11.0 +VTS,1,5,240,1.15,CRD,5.5 +VTS,1,5,720,3.36,CRD,12.0 +VTS,1,5,600,1.25,CSH,8.0 +VTS,1,5,420,1.15,CRD,6.5 +VTS,1,5,1740,8.58,CRD,29.5 +VTS,1,5,540,1.34,CRD,7.0 +VTS,1,5,900,3.57,CRD,13.5 +VTS,1,5,300,0.99,CSH,5.5 +VTS,1,5,180,0.74,CSH,4.5 +VTS,1,5,180,0.66,CRD,4.5 +VTS,1,5,840,2.62,CRD,12.0 +VTS,1,5,600,1.84,CRD,9.0 +VTS,1,5,540,2.1,CRD,9.0 +VTS,1,5,1080,5.4,CSH,20.0 +VTS,1,5,1320,3.4,CRD,16.0 +VTS,1,5,1380,2.88,CSH,15.5 +VTS,1,5,720,2.13,CSH,10.0 +VTS,1,5,720,3.25,CRD,12.0 +VTS,1,5,1500,2.79,CRD,15.0 +VTS,1,5,420,1.71,CRD,7.5 +VTS,1,5,360,1.39,CRD,6.5 +VTS,1,5,600,1.18,CRD,7.5 +VTS,1,5,600,2.07,CRD,10.0 +VTS,1,5,600,1.73,CSH,9.0 +VTS,1,5,480,1.54,CRD,8.0 +VTS,1,5,1800,3.78,CSH,20.5 +VTS,1,5,1680,3.57,CRD,17.0 +VTS,1,5,180,0.42,CSH,4.0 +VTS,1,5,540,3.13,CRD,11.0 +VTS,1,5,540,0.97,CRD,7.5 +VTS,1,5,720,1.46,CSH,9.0 +VTS,1,5,600,1.57,CSH,8.5 +VTS,1,5,300,1.0,CSH,6.0 +VTS,2,5,2940,17.4,CRD,52.0 +VTS,1,5,600,1.84,CRD,8.5 +VTS,1,5,960,2.67,CSH,13.5 +VTS,1,5,1620,6.09,CRD,23.0 +VTS,1,5,360,1.78,CRD,7.5 +VTS,1,5,240,1.09,CRD,5.5 +VTS,1,5,840,3.36,CRD,13.5 +VTS,1,5,720,1.0,CSH,9.0 +VTS,1,5,720,2.55,CSH,11.5 +VTS,4,5,1500,10.8,CSH,33.0 +VTS,1,5,1500,3.67,CRD,18.5 +VTS,1,5,720,2.78,CRD,12.0 +VTS,1,5,720,1.52,CRD,9.5 +VTS,1,5,720,1.82,CSH,9.0 +VTS,1,5,540,1.02,CSH,7.0 +VTS,1,5,1380,6.99,CSH,23.5 +VTS,2,5,3060,18.26,CRD,52.0 +VTS,1,5,720,1.73,CSH,9.0 +VTS,1,5,900,2.43,CSH,11.5 +VTS,1,5,240,1.26,CRD,6.0 +VTS,1,5,480,1.75,CRD,8.5 +VTS,1,5,240,1.1,CRD,5.5 +VTS,1,5,300,1.45,CRD,7.0 +VTS,1,5,240,0.71,CRD,5.0 +VTS,1,5,720,2.47,CRD,10.5 +VTS,1,5,2280,10.9,CRD,33.5 +VTS,1,5,1740,9.51,CSH,32.5 +VTS,1,5,900,2.28,CRD,12.0 +VTS,1,5,600,0.77,CRD,7.5 +VTS,1,5,480,1.7,CSH,8.5 +VTS,1,5,480,1.96,CRD,8.0 +VTS,1,5,300,1.03,CRD,6.0 +VTS,1,5,300,1.02,CSH,6.0 +VTS,1,5,360,1.21,CSH,6.5 +VTS,1,5,1320,7.98,CSH,24.0 +VTS,1,5,1080,4.68,CSH,17.5 +VTS,1,5,780,1.75,CSH,10.0 +VTS,1,5,120,0.31,CSH,3.5 +VTS,1,5,360,0.89,CSH,6.0 +VTS,1,5,1140,6.24,CRD,20.0 +VTS,1,5,1800,7.65,CSH,25.5 +VTS,1,5,840,1.3,CRD,9.5 +VTS,1,5,480,1.61,CRD,8.0 +VTS,1,5,1200,2.35,CRD,14.0 +VTS,1,5,720,1.72,CRD,10.0 +VTS,1,5,360,0.81,CSH,6.0 +VTS,1,5,660,2.08,CRD,10.0 +VTS,4,5,840,2.25,CSH,11.0 +VTS,1,5,1020,3.95,CRD,15.0 +VTS,1,5,780,2.89,CSH,12.0 +VTS,1,5,420,1.05,CRD,6.5 +VTS,1,5,1440,8.34,CRD,27.0 +VTS,1,5,1380,8.94,CRD,27.5 +VTS,1,5,660,2.27,CSH,10.5 +VTS,1,5,720,3.57,CRD,13.0 +VTS,1,5,1020,4.26,CSH,15.5 +VTS,1,5,840,3.22,CSH,13.0 +VTS,1,5,660,2.12,CSH,10.5 +VTS,1,5,420,2.2,CRD,8.5 +VTS,1,5,660,2.11,CSH,9.5 +VTS,1,5,480,1.54,CRD,7.5 +VTS,1,5,540,1.75,CSH,9.0 +VTS,1,5,720,2.26,CRD,10.0 +VTS,1,5,2220,12.26,CRD,38.0 +VTS,1,5,540,1.07,CSH,7.0 +VTS,1,5,540,1.48,CRD,8.0 +VTS,1,5,720,1.62,CRD,10.0 +VTS,1,5,840,5.38,CRD,18.0 +VTS,1,5,2520,18.71,CRD,51.0 +VTS,1,5,1200,5.51,CRD,20.0 +VTS,1,5,420,1.74,CRD,7.5 +VTS,1,5,360,1.16,CSH,6.0 +VTS,1,5,1020,5.26,CRD,17.0 +VTS,1,5,720,2.27,CRD,10.0 +VTS,1,5,600,1.54,CSH,7.5 +VTS,1,5,600,2.09,CRD,9.0 +VTS,1,5,1560,10.9,CSH,31.5 +VTS,1,5,420,0.98,CRD,6.0 +VTS,1,5,240,0.5,CSH,4.5 +VTS,2,5,2520,18.84,CSH,52.0 +VTS,1,5,420,1.84,CRD,8.0 +VTS,1,5,360,0.98,CRD,6.0 +VTS,1,5,1080,12.19,CRD,33.5 +VTS,1,5,1680,10.14,CRD,32.0 +VTS,1,5,480,1.61,CRD,8.0 +VTS,1,4,300,1.42,CSH,6.5 +VTS,1,5,300,0.75,CSH,5.5 +VTS,1,5,960,3.81,CSH,15.0 +VTS,1,5,1560,5.58,CSH,21.5 +VTS,5,2,0,0.0,CRD,72.0 +VTS,1,5,780,1.43,CRD,9.5 +VTS,1,5,120,0.53,CRD,4.0 +VTS,1,5,1020,1.48,CSH,9.5 +VTS,1,5,300,0.46,CRD,4.5 +VTS,1,5,60,0.01,CSH,3.0 +VTS,1,5,300,1.51,CSH,6.5 +VTS,1,5,420,1.13,CRD,6.5 +VTS,1,5,1500,5.02,CRD,20.5 +VTS,1,5,540,1.23,CSH,7.5 +VTS,1,5,600,1.87,CSH,9.0 +VTS,1,5,480,0.94,CRD,6.5 +VTS,1,5,240,1.08,CSH,6.0 +VTS,1,5,780,4.13,CRD,14.5 +VTS,1,6,360,1.39,CSH,6.5 +VTS,2,5,2160,17.24,CRD,52.0 +VTS,1,5,420,1.13,CRD,6.5 +VTS,1,5,1440,6.74,CSH,23.5 +VTS,1,5,1260,4.78,CRD,19.5 +VTS,1,5,300,1.1,CSH,6.0 +VTS,1,5,1320,8.72,CRD,26.0 +VTS,1,5,660,2.0,CRD,9.5 +VTS,1,5,600,1.76,CRD,9.5 +VTS,1,5,1020,7.14,CRD,21.5 +VTS,1,5,660,3.86,CRD,13.5 +VTS,1,5,900,2.78,CRD,12.0 +VTS,1,5,840,1.0,CRD,10.0 +VTS,1,5,2940,18.73,CSH,54.5 +VTS,1,5,1860,24.31,CSH,63.5 +VTS,1,5,120,0.88,CSH,4.5 +VTS,1,5,420,1.39,CRD,7.5 +VTS,1,5,540,1.87,CSH,9.0 +VTS,1,5,900,3.09,CSH,13.0 +VTS,1,5,540,1.56,CSH,8.5 +VTS,1,5,960,3.85,CRD,14.0 +VTS,1,5,360,0.74,CSH,5.5 +VTS,1,5,900,2.47,CRD,12.0 +VTS,1,5,360,1.56,CSH,7.0 +VTS,1,5,480,1.71,CSH,7.5 +VTS,1,5,1500,8.08,CRD,26.5 +VTS,1,5,780,2.38,CRD,11.0 +VTS,1,5,600,0.93,CSH,8.0 +VTS,1,5,300,0.48,CSH,5.0 +VTS,1,5,960,1.76,CRD,10.5 +VTS,1,5,1260,1.48,CRD,11.5 +VTS,1,5,720,2.02,CRD,9.5 +VTS,1,5,840,2.37,CSH,11.5 +VTS,1,5,600,1.41,CRD,8.0 +VTS,1,5,180,0.79,CSH,4.5 +VTS,1,5,840,4.25,CSH,14.5 +VTS,1,5,1680,5.62,CRD,22.5 +VTS,1,5,360,1.18,CSH,6.5 +VTS,1,5,1800,7.27,CRD,27.5 +VTS,1,5,1440,9.55,CRD,28.5 +VTS,1,5,1080,4.67,CRD,16.5 +VTS,1,5,1080,2.83,CSH,13.5 +VTS,1,5,1200,2.52,CSH,14.0 +VTS,1,5,120,0.66,CRD,4.5 +VTS,1,5,240,0.88,CRD,5.5 +VTS,1,5,300,2.04,CSH,7.5 +VTS,1,5,900,2.35,CSH,11.5 +VTS,1,5,720,4.3,CSH,14.5 +VTS,1,5,300,0.55,CRD,5.0 +VTS,1,5,360,0.86,CRD,6.0 +VTS,1,5,300,0.98,CSH,5.5 +VTS,1,5,360,2.5,CRD,9.0 +VTS,1,5,720,5.12,CRD,16.0 +VTS,1,5,600,1.16,CRD,8.0 +VTS,1,5,1260,9.53,CRD,28.0 +VTS,1,5,1140,2.88,CRD,14.0 +VTS,1,5,900,2.83,CSH,11.5 +VTS,1,5,360,1.09,CRD,6.5 +VTS,1,5,960,4.25,CRD,16.0 +VTS,1,5,300,1.59,CSH,7.0 +VTS,1,5,1500,4.17,CRD,17.5 +VTS,1,5,660,1.15,CSH,7.5 +VTS,1,5,720,2.3,CRD,10.0 +VTS,1,5,480,2.11,CSH,8.5 +VTS,1,5,2100,10.86,CSH,33.5 +VTS,1,5,900,4.51,CRD,16.5 +VTS,1,5,720,3.32,CRD,12.5 +VTS,1,5,600,1.71,CSH,8.5 +VTS,1,5,900,8.09,CRD,24.0 +VTS,1,5,900,6.88,CSH,21.0 +VTS,1,5,420,0.97,CRD,6.5 +VTS,1,5,720,2.66,CRD,11.5 +VTS,1,5,240,0.5,CSH,4.5 +VTS,1,5,480,1.6,CRD,8.5 +VTS,1,5,540,2.73,CSH,10.0 +VTS,1,5,420,2.16,CSH,8.5 +VTS,1,5,1080,3.62,CSH,15.5 +VTS,1,5,1440,2.72,CRD,16.5 +VTS,1,5,960,3.22,CRD,12.5 +VTS,1,5,900,2.7,CRD,12.0 +VTS,1,5,900,3.09,CRD,13.5 +VTS,2,5,2160,16.73,CRD,52.0 +VTS,1,5,900,3.52,CRD,13.0 +VTS,1,5,1260,8.6,CRD,27.0 +VTS,1,5,600,3.62,CRD,12.0 +VTS,1,5,420,1.0,CSH,6.5 +VTS,1,5,600,2.02,CSH,9.5 +VTS,1,5,780,1.23,CSH,9.5 +VTS,1,5,420,1.1,CSH,6.5 +VTS,1,5,780,4.64,CRD,15.0 +VTS,1,5,360,1.24,CSH,6.5 +VTS,1,5,900,3.92,CRD,14.5 +VTS,1,5,300,0.83,CRD,5.5 +VTS,1,5,1440,6.19,CRD,23.5 +VTS,1,5,840,1.07,CSH,9.0 +VTS,1,5,1440,15.72,CRD,43.0 +VTS,1,5,660,1.54,CRD,8.5 +VTS,1,5,2100,15.52,CRD,46.0 +VTS,1,5,720,1.99,CRD,10.0 +VTS,1,5,120,0.48,CSH,4.0 +VTS,1,5,120,0.68,CSH,4.0 +VTS,1,5,720,5.25,CSH,17.0 +VTS,1,5,540,2.28,CRD,9.5 +VTS,1,5,240,1.07,CSH,5.5 +VTS,1,5,300,1.13,CRD,6.0 +VTS,1,5,1020,11.92,CSH,33.0 +VTS,1,5,300,1.2,CSH,6.0 +VTS,1,5,480,1.59,CSH,7.5 +VTS,1,5,420,1.36,CRD,7.5 +VTS,1,5,660,2.76,CRD,10.5 +VTS,1,5,540,2.08,CSH,9.0 +VTS,1,5,780,1.57,CSH,10.0 +VTS,1,5,960,2.23,CRD,10.5 +VTS,1,5,900,3.74,CSH,13.5 +VTS,1,5,1380,4.22,CSH,17.5 +VTS,1,5,360,1.17,CRD,6.5 +VTS,1,5,480,2.58,CSH,9.5 +VTS,1,5,780,2.22,CRD,11.0 +VTS,1,5,180,0.5,CRD,4.0 +VTS,1,5,840,2.26,CRD,10.5 +VTS,1,5,480,1.2,CRD,7.0 +VTS,1,5,1080,2.36,CRD,13.0 +VTS,1,5,540,2.22,CSH,9.0 +VTS,1,5,300,1.1,CRD,6.0 +VTS,1,5,660,2.71,CRD,10.5 +CMT,1,1,1014,5.7,CRD,19.5 +VTS,1,5,240,1.05,CRD,5.5 +VTS,1,5,780,1.53,CRD,9.5 +VTS,1,5,840,5.07,CSH,17.0 +VTS,1,5,540,5.19,CSH,16.0 +VTS,1,5,300,0.66,CRD,5.0 +VTS,1,5,2760,9.53,CRD,37.5 +VTS,1,5,300,0.95,CSH,5.5 +VTS,1,5,600,2.13,CRD,10.0 +VTS,1,5,720,4.52,CRD,15.5 +VTS,1,6,360,2.13,CRD,8.5 +VTS,1,5,1080,5.92,CRD,20.5 +VTS,1,5,960,1.74,CRD,11.0 +VTS,1,5,1020,5.51,CRD,18.5 +VTS,1,5,1020,5.29,CRD,17.5 +VTS,1,5,1080,2.64,CRD,14.0 +VTS,1,5,420,1.31,CRD,7.0 +VTS,1,5,1140,3.15,CRD,14.0 +VTS,1,5,780,3.43,CRD,12.5 +VTS,1,5,600,4.34,CSH,13.5 +VTS,1,5,240,0.5,CSH,4.5 +VTS,1,5,840,1.53,CSH,10.5 +VTS,1,5,1080,6.43,CRD,22.5 +VTS,1,5,840,2.4,CRD,11.5 +VTS,1,5,540,1.11,CRD,8.0 +VTS,1,5,2280,6.58,CRD,26.5 +VTS,1,5,840,2.23,CSH,10.5 +VTS,1,5,1080,5.3,CSH,18.5 +VTS,1,5,960,6.69,CRD,21.0 +VTS,1,5,540,1.26,CRD,7.5 +VTS,1,5,1440,10.65,CSH,31.5 +VTS,1,5,1380,10.8,CSH,31.0 +VTS,1,5,960,3.97,CRD,15.0 +VTS,1,5,120,0.61,CSH,4.0 +VTS,1,5,240,0.75,CSH,5.0 +VTS,1,5,120,0.5,CRD,4.0 +VTS,1,5,360,0.92,CSH,6.5 +VTS,1,5,960,1.4,CSH,10.5 +VTS,1,5,540,1.48,CRD,8.0 +VTS,1,5,1020,3.08,CSH,14.0 +VTS,1,5,960,4.39,CSH,15.5 +VTS,1,5,780,4.59,CSH,15.0 +VTS,1,5,300,1.3,CRD,6.5 +VTS,1,5,540,6.9,CRD,19.5 +VTS,1,5,360,1.35,CSH,7.0 +VTS,1,5,240,0.86,CRD,5.0 +VTS,1,5,180,0.82,CSH,4.5 +VTS,1,5,900,3.17,CRD,13.0 +VTS,1,5,840,4.3,CRD,14.5 +VTS,1,5,300,0.86,CRD,5.5 +VTS,1,5,240,0.59,CRD,5.0 +VTS,1,5,660,0.99,CSH,8.0 +VTS,1,5,180,0.44,CSH,4.5 +VTS,1,5,720,1.61,CSH,8.5 +VTS,1,5,300,0.61,CRD,4.5 +VTS,1,5,300,1.57,CRD,7.0 +VTS,1,5,360,0.92,CRD,6.0 +VTS,1,5,1920,5.46,CRD,24.5 +VTS,1,5,2940,9.25,CRD,39.5 +VTS,1,5,60,0.19,CSH,3.0 +VTS,1,5,480,1.52,CSH,7.5 +VTS,1,5,540,2.07,CRD,9.5 +VTS,1,5,360,1.11,CSH,6.5 +VTS,1,5,300,1.49,CSH,6.5 +VTS,1,5,480,1.8,CRD,8.0 +VTS,1,5,360,0.91,CRD,5.5 +VTS,1,5,1140,7.06,CSH,22.5 +VTS,1,5,780,7.69,CRD,22.0 +VTS,1,5,300,1.43,CRD,6.5 +VTS,1,5,960,5.19,CSH,18.0 +VTS,1,5,360,0.99,CSH,6.5 +VTS,1,5,900,3.66,CSH,15.0 +VTS,1,5,780,1.66,CRD,10.5 +VTS,1,5,480,0.56,CRD,6.0 +VTS,1,5,1440,9.13,CRD,28.0 +VTS,1,5,660,2.33,CRD,10.5 +VTS,1,5,300,1.42,CRD,6.5 +VTS,1,5,1620,4.17,CRD,19.5 +VTS,1,5,1440,6.94,CRD,24.0 +VTS,1,5,960,1.16,CRD,11.0 +VTS,1,5,180,0.5,CSH,4.0 +VTS,1,5,1560,1.98,CRD,14.5 +VTS,1,5,540,1.45,CSH,7.5 +VTS,1,5,840,3.14,CSH,12.0 +VTS,1,5,300,1.11,CSH,5.5 +VTS,1,5,720,2.11,CSH,10.5 +VTS,1,5,1680,8.86,CSH,30.5 +VTS,1,5,1320,6.14,CRD,21.0 +VTS,1,5,1500,5.88,CRD,22.0 +VTS,1,5,1680,11.46,CSH,32.0 +VTS,1,5,720,2.33,CRD,11.5 +VTS,1,5,240,0.8,CSH,5.0 +VTS,1,5,360,0.79,CRD,6.0 +VTS,1,5,240,0.79,CSH,5.0 +VTS,1,5,840,2.72,CSH,11.5 +VTS,1,5,180,0.62,CSH,4.5 +VTS,1,5,1200,6.29,CSH,21.5 +VTS,1,5,1500,10.99,CRD,31.5 +VTS,1,5,660,2.08,CSH,10.0 +VTS,1,5,540,3.93,CSH,12.5 +VTS,1,5,900,4.52,CSH,15.5 +VTS,1,5,300,1.3,CRD,6.0 +VTS,1,5,660,0.48,CRD,8.0 +VTS,1,5,360,0.65,CSH,5.5 +VTS,1,5,720,1.76,CRD,10.0 +VTS,1,5,360,0.68,CRD,5.5 +VTS,1,5,780,2.3,CSH,11.5 +VTS,1,5,720,0.8,CRD,8.5 +VTS,1,5,180,0.73,CRD,4.5 +VTS,1,5,660,2.24,CSH,10.5 +VTS,4,5,360,0.84,CRD,6.0 +VTS,1,5,1140,6.27,CRD,20.0 +VTS,1,5,780,4.98,CSH,15.5 +VTS,1,5,300,1.29,CSH,6.5 +VTS,1,5,300,1.14,CSH,5.5 +VTS,1,5,2160,13.52,CRD,41.5 +VTS,1,5,480,1.99,CRD,9.0 +VTS,1,5,660,1.45,CRD,9.0 +VTS,1,5,1080,2.56,CRD,13.0 +VTS,1,5,300,0.66,CRD,5.5 +VTS,1,5,840,1.52,CSH,10.0 +VTS,1,5,240,0.96,CSH,5.5 +VTS,1,5,960,8.99,CSH,26.0 +VTS,1,5,480,1.61,CRD,8.0 +VTS,1,5,840,2.29,CSH,12.0 +VTS,1,5,480,1.0,CSH,7.0 +VTS,1,5,1200,4.39,CSH,16.5 +VTS,1,5,240,0.64,CSH,4.5 +VTS,1,5,1380,3.71,CSH,16.0 +VTS,1,5,180,0.69,CSH,4.5 +VTS,1,5,780,3.5,CSH,13.0 +VTS,1,5,180,0.7,CSH,4.5 +VTS,1,5,1200,6.24,CRD,20.5 +VTS,1,5,120,0.73,CRD,4.5 +VTS,1,5,540,1.16,CSH,8.0 +VTS,1,5,660,1.49,CSH,9.0 +VTS,1,5,420,1.35,CSH,7.5 +VTS,1,5,1260,1.83,CRD,12.5 +VTS,1,5,300,0.91,CRD,5.5 +VTS,1,5,600,2.69,CRD,10.5 +VTS,1,5,1260,3.19,CRD,15.0 +VTS,1,5,1920,10.63,CRD,35.0 +VTS,1,5,240,0.85,CRD,5.0 +VTS,1,5,960,3.33,CRD,13.5 +VTS,1,5,300,0.88,CSH,5.5 +CMT,1,1,471,1.3,CRD,7.5 +CMT,1,1,1280,15.3,CSH,41.0 +CMT,1,1,847,5.2,CSH,16.5 +CMT,1,1,1419,7.2,CRD,23.5 +CMT,1,1,130,0.8,CRD,4.5 +CMT,1,1,648,5.5,CRD,17.0 +CMT,1,1,725,1.8,CSH,9.5 +CMT,1,1,725,3.5,CRD,13.0 +CMT,1,1,306,1.1,CRD,6.0 +CMT,1,1,279,0.8,CRD,5.0 +CMT,1,1,573,1.6,CRD,8.5 +CMT,1,1,1535,9.7,CRD,29.0 +VTS,1,5,660,2.16,CRD,9.5 +VTS,1,5,420,1.25,CRD,6.5 +VTS,1,5,300,1.03,CRD,5.5 +VTS,1,5,720,3.33,CRD,12.0 +VTS,1,5,300,1.32,CRD,6.5 +VTS,1,5,1020,8.8,CRD,26.0 +VTS,1,5,540,1.75,CSH,8.5 +VTS,1,5,540,1.45,CRD,8.0 +VTS,1,5,240,0.51,CSH,4.5 +VTS,1,5,900,1.45,CSH,10.0 +VTS,2,5,1560,17.73,CRD,52.0 +VTS,1,5,1140,6.51,CRD,22.0 +CMT,2,1,9,0.0,CRD,52.0 +CMT,1,1,263,0.6,CSH,5.0 +CMT,1,1,304,1.9,CSH,7.5 +CMT,1,1,210,1.6,CSH,7.0 +CMT,1,1,504,3.4,CRD,11.5 +CMT,1,1,1000,5.7,CSH,19.5 +CMT,1,1,1001,2.4,CSH,13.0 +CMT,1,1,933,3.1,CRD,13.0 +CMT,1,1,523,2.4,CRD,9.0 +CMT,2,1,17,0.0,CRD,52.0 +CMT,1,1,1151,3.6,CRD,15.5 +CMT,1,1,195,0.7,CRD,4.5 +CMT,1,1,651,2.4,CRD,10.5 +CMT,1,1,296,0.8,CSH,5.5 +VTS,1,5,1020,4.42,CRD,16.5 +VTS,1,5,420,1.8,CRD,7.5 +VTS,1,5,1380,5.75,CSH,20.5 +VTS,1,5,600,3.57,CSH,12.5 +VTS,1,5,360,0.85,CRD,6.0 +VTS,1,5,1020,1.73,CRD,11.5 +VTS,1,5,600,1.63,CRD,8.5 +VTS,1,5,240,1.04,CSH,5.0 +CMT,1,1,604,2.0,CSH,9.5 +CMT,1,1,426,0.8,CSH,6.5 +CMT,1,1,618,2.6,CRD,10.5 +CMT,1,1,890,2.7,CRD,12.0 +CMT,1,1,1005,3.2,CRD,14.0 +CMT,1,1,965,3.4,CSH,14.0 +CMT,1,1,809,3.7,CSH,14.5 +CMT,1,1,189,0.7,CSH,4.5 +CMT,1,1,420,1.3,CRD,7.0 +CMT,1,1,293,2.6,CRD,9.0 +CMT,1,2,1677,10.9,CRD,33.0 +CMT,1,1,1619,8.4,CRD,27.0 +CMT,1,1,439,1.6,CSH,7.5 +CMT,1,1,659,3.2,CSH,12.5 +CMT,1,1,1003,9.7,CSH,27.5 +CMT,1,1,804,5.3,CSH,16.5 +CMT,2,2,8,0.0,CRD,52.0 +CMT,1,1,277,0.9,CSH,5.5 +VTS,1,5,180,0.63,CSH,4.5 +VTS,1,5,660,1.41,CRD,8.5 +VTS,1,5,1020,9.12,CRD,25.5 +VTS,1,5,480,1.31,CRD,7.0 +VTS,1,5,1560,6.3,CSH,23.0 +VTS,1,5,480,1.77,CRD,8.5 +VTS,1,5,420,1.21,CRD,7.0 +VTS,1,5,660,0.96,CSH,8.0 +VTS,1,5,900,1.62,CRD,11.0 +VTS,1,5,780,2.85,CSH,11.0 +VTS,1,5,180,0.61,CSH,4.5 +VTS,1,5,540,2.12,CRD,9.0 +VTS,1,5,1320,7.55,CSH,24.5 +VTS,1,5,1320,4.85,CRD,19.0 +CMT,1,1,1476,18.2,CSH,48.5 +CMT,1,1,580,2.3,CRD,9.5 +CMT,1,1,427,1.9,CRD,8.0 +CMT,1,1,746,1.8,CRD,9.5 +CMT,1,1,791,6.2,CRD,18.5 +CMT,1,1,108,0.4,NOC,3.5 +CMT,1,1,25,1.8,CSH,9.0 +CMT,1,1,1072,3.1,CRD,15.0 +CMT,1,1,819,2.3,CSH,11.5 +CMT,1,1,456,1.3,CSH,7.0 +CMT,1,1,1600,5.2,CRD,20.0 +CMT,1,1,390,1.8,CRD,7.5 +VTS,1,5,120,0.23,CRD,3.5 +VTS,1,5,600,2.22,CRD,9.5 +VTS,1,5,1020,6.51,CSH,21.0 +VTS,1,5,840,3.1,CSH,13.0 +VTS,1,5,1740,16.52,CSH,46.5 +VTS,1,5,960,4.85,CRD,17.0 +VTS,1,5,360,0.84,CSH,5.5 +VTS,1,5,900,2.39,CRD,12.5 +VTS,1,5,1260,2.59,CRD,14.5 +VTS,1,5,720,1.76,CRD,10.0 +VTS,1,5,960,6.01,CRD,18.5 +VTS,1,5,600,1.0,CRD,8.0 +VTS,1,5,2400,13.12,CSH,40.5 +VTS,1,5,360,1.08,CRD,6.0 +VTS,1,5,540,4.52,CRD,14.5 +VTS,1,5,360,1.5,CSH,7.0 +VTS,1,5,240,0.68,CSH,4.5 +VTS,1,5,300,1.28,CRD,6.0 +VTS,1,5,1200,5.03,CSH,18.5 +VTS,1,5,420,1.41,CRD,7.5 +VTS,1,5,120,0.33,CSH,4.0 +VTS,1,5,360,2.09,CRD,8.0 +VTS,1,5,600,1.66,CSH,8.5 +VTS,1,5,1200,4.15,CSH,16.5 +VTS,1,5,540,1.34,CSH,7.5 +VTS,1,5,300,0.67,CRD,5.0 +VTS,1,5,480,1.0,CRD,6.5 +VTS,1,5,660,2.7,CRD,10.5 +VTS,1,5,480,1.25,CRD,7.0 +VTS,1,5,1260,8.56,CRD,27.0 +VTS,1,5,600,1.06,CRD,7.5 +VTS,1,5,720,1.54,CRD,9.0 +VTS,1,5,600,2.17,CRD,9.5 +VTS,1,5,180,0.81,CRD,5.0 +VTS,1,5,480,1.54,CRD,7.5 +VTS,1,5,1020,9.43,CRD,27.0 +VTS,1,5,1080,9.31,CRD,27.0 +VTS,2,5,1560,17.41,CSH,52.0 +VTS,1,5,840,4.42,CSH,15.5 +VTS,1,5,720,3.25,CSH,12.5 +VTS,1,5,900,4.62,CRD,15.5 +VTS,1,5,360,1.18,CSH,7.0 +VTS,1,5,1140,2.64,CRD,14.0 +VTS,1,5,300,0.88,CSH,5.5 +VTS,1,5,480,1.41,CSH,8.0 +VTS,1,5,540,1.58,CSH,8.0 +VTS,1,5,360,0.72,CRD,5.5 +VTS,1,5,180,0.43,CSH,4.0 +VTS,1,5,1680,6.2,CSH,23.0 +VTS,1,5,420,0.95,CSH,6.0 +VTS,1,5,420,1.06,CSH,6.5 +VTS,1,5,660,1.39,CSH,8.5 +CMT,1,1,734,2.6,CRD,11.0 +CMT,1,1,545,2.0,CSH,9.0 +CMT,2,1,20,0.0,CRD,52.0 +CMT,1,1,264,1.7,CRD,6.5 +CMT,1,1,1037,4.2,CSH,15.0 +CMT,1,1,849,3.3,CRD,13.5 +CMT,1,1,781,2.2,CSH,10.5 +CMT,1,1,618,1.3,CSH,8.0 +CMT,1,1,600,2.1,CSH,9.5 +CMT,1,1,973,6.2,CRD,20.0 +CMT,1,1,1815,11.3,CSH,35.5 +CMT,1,1,1365,12.7,CRD,35.5 +CMT,1,1,1077,8.6,CSH,24.5 +CMT,1,1,517,2.6,CSH,10.0 +CMT,1,1,490,1.5,CSH,8.0 +CMT,1,2,2230,15.0,CRD,42.0 +CMT,1,1,1318,12.6,CRD,34.5 +CMT,1,1,246,1.1,CSH,6.0 +CMT,1,1,144,0.7,CRD,4.5 +CMT,4,1,1839,19.9,CRD,56.0 +CMT,1,1,1475,11.2,CRD,32.5 +CMT,1,1,1303,7.3,CRD,23.5 +CMT,1,1,963,6.5,CSH,20.0 +CMT,1,1,716,2.4,CRD,10.5 +CMT,1,1,310,1.4,CRD,6.5 +CMT,5,2,58,0.0,CRD,47.0 +VTS,1,5,540,0.87,CRD,7.5 +VTS,1,5,660,2.32,CSH,10.0 +VTS,1,5,1020,2.86,CRD,12.0 +VTS,1,5,120,0.36,CSH,3.5 +VTS,1,5,1020,4.23,CSH,14.5 +VTS,1,5,600,5.43,CRD,16.5 +VTS,1,5,600,2.13,CSH,10.0 +VTS,1,5,420,0.89,CRD,6.5 +VTS,1,5,360,0.57,CSH,5.5 +VTS,1,5,420,1.53,CRD,7.5 +VTS,1,5,420,0.83,CSH,6.0 +VTS,1,5,1380,9.13,CRD,28.5 +VTS,2,5,2940,16.92,CRD,52.0 +VTS,1,5,240,0.85,CRD,5.0 +VTS,1,5,1740,8.07,CRD,27.5 +VTS,1,5,540,3.17,CRD,11.0 +CMT,1,1,176,3.9,CRD,13.5 +CMT,1,1,1495,17.2,CRD,46.0 +CMT,1,2,1231,8.1,CRD,25.0 +CMT,1,1,1005,2.5,CRD,13.5 +CMT,1,1,245,0.9,CSH,5.0 +CMT,1,1,556,3.6,CRD,13.0 +CMT,1,1,1082,5.6,CRD,19.0 +CMT,1,1,953,8.2,CSH,23.5 +CMT,1,1,369,1.4,CSH,6.5 +CMT,2,1,28,0.0,CRD,52.0 +VTS,1,5,1440,3.12,CRD,15.0 +VTS,1,5,660,2.27,CRD,10.5 +VTS,1,5,2460,13.24,CSH,41.0 +CMT,1,4,1773,16.2,CSH,45.0 +CMT,1,1,950,12.6,CSH,34.0 +CMT,2,1,4,0.0,NOC,52.0 +CMT,1,1,513,1.6,CRD,8.0 +CMT,1,1,915,6.0,CRD,19.5 +CMT,1,1,1288,12.3,CRD,35.0 +CMT,1,1,1433,5.2,CRD,20.0 +CMT,1,1,151,0.4,CSH,4.0 +CMT,1,1,79,0.5,CSH,3.5 +CMT,1,1,630,1.4,CSH,8.0 +CMT,1,1,1650,8.7,CRD,27.0 +CMT,1,1,1339,15.4,CSH,42.5 +CMT,2,1,35,0.0,CRD,52.0 +CMT,1,1,1380,6.0,CSH,20.0 +CMT,5,3,48,0.0,CRD,67.0 +CMT,1,1,937,2.7,CSH,12.5 +CMT,1,1,404,1.8,CRD,7.0 +CMT,1,1,245,0.6,CSH,5.0 +CMT,1,1,779,4.2,CSH,14.0 +CMT,1,1,1006,5.3,CRD,17.5 +CMT,1,1,1467,6.7,CSH,23.5 +CMT,1,1,1328,14.2,CSH,38.5 +CMT,1,1,567,1.7,CRD,8.5 +CMT,1,1,1324,11.3,CRD,32.0 +CMT,1,1,1109,9.4,CSH,28.5 +CMT,1,1,588,2.6,CRD,10.0 +CMT,1,1,1091,6.6,CRD,21.5 +CMT,1,1,686,2.8,CRD,11.0 +CMT,1,1,616,1.8,CRD,9.0 +CMT,1,1,217,1.1,CRD,5.0 +CMT,1,1,576,3.7,CSH,12.5 +CMT,1,1,404,1.4,CSH,7.0 +CMT,1,1,283,1.2,CRD,6.0 +CMT,1,1,640,3.3,CRD,12.0 +CMT,1,1,398,0.8,CSH,6.0 +CMT,1,1,535,1.0,CSH,7.0 +CMT,1,1,436,1.9,CRD,9.0 +CMT,1,1,377,1.3,CRD,6.5 +CMT,1,1,578,1.3,CRD,8.0 +CMT,1,1,272,1.8,CSH,9.0 +CMT,1,1,460,2.0,CRD,8.0 +CMT,1,1,662,4.9,CRD,15.5 +CMT,1,1,334,1.0,CRD,6.0 +CMT,1,1,313,1.6,CRD,6.5 +CMT,1,1,7204,13.8,CSH,40.5 +CMT,1,1,620,2.4,CSH,10.0 +CMT,1,1,646,1.9,CSH,10.0 +CMT,1,1,650,2.3,CSH,10.0 +CMT,1,1,216,0.8,CSH,5.0 +CMT,1,1,760,4.0,CRD,14.5 +CMT,1,1,809,2.4,CSH,11.5 +CMT,1,1,177,0.5,CRD,4.5 +CMT,1,1,339,1.4,CRD,6.5 +CMT,1,1,1178,3.3,CSH,15.0 +CMT,1,1,630,2.1,CRD,9.5 +CMT,1,1,1251,12.7,CSH,35.5 +CMT,1,1,286,0.9,CSH,5.5 +CMT,1,1,543,1.4,CRD,8.0 +CMT,1,1,1201,2.2,CSH,14.0 +CMT,1,1,170,0.3,CRD,4.0 +CMT,1,1,428,3.9,CRD,12.5 +CMT,1,1,1112,10.8,CSH,30.5 +CMT,1,1,1622,7.8,CSH,27.5 +CMT,1,1,1343,9.5,CSH,28.5 +CMT,1,1,1400,4.4,CRD,18.0 +CMT,1,1,738,1.8,CSH,9.5 +CMT,1,1,351,1.4,CRD,7.0 +CMT,1,1,666,4.2,CSH,13.0 +CMT,1,1,934,6.2,CSH,19.5 +CMT,1,1,411,1.0,CRD,6.0 +CMT,1,1,297,1.3,CSH,6.5 +CMT,1,1,324,1.8,CSH,7.0 +CMT,1,1,384,2.5,CRD,8.5 +CMT,1,1,335,1.0,CRD,6.0 +CMT,1,1,256,0.6,CSH,5.0 +CMT,1,1,1721,17.4,CRD,47.5 +CMT,1,1,544,2.4,CRD,9.5 +CMT,1,1,485,2.7,CRD,9.5 +CMT,1,1,870,2.5,CRD,12.0 +CMT,1,1,310,0.9,CSH,5.5 +CMT,1,1,457,1.7,CRD,8.0 +CMT,1,1,1868,11.3,CSH,35.0 +CMT,1,1,1798,9.8,CRD,30.0 +CMT,1,1,1282,4.6,CRD,17.0 +CMT,1,1,631,1.2,CRD,8.0 +CMT,1,1,747,2.4,CRD,10.0 +CMT,2,1,24,0.0,CRD,52.0 +CMT,2,1,9,0.0,CRD,52.0 +CMT,1,1,1025,6.2,CSH,20.0 +CMT,1,1,1498,9.2,CRD,28.5 +CMT,1,1,1149,2.6,CSH,14.0 +CMT,1,1,717,3.5,CRD,13.0 +CMT,1,1,862,3.7,CSH,13.5 +CMT,1,1,145,0.5,CSH,4.0 +CMT,1,1,333,1.5,CRD,6.5 +CMT,1,1,415,1.3,CSH,7.0 +CMT,1,1,312,1.1,CSH,6.0 +CMT,1,1,177,0.8,CRD,5.0 +CMT,1,1,2073,1.7,CSH,21.0 +CMT,1,1,134,1.0,CRD,5.0 +CMT,1,1,212,1.1,CSH,5.5 +CMT,1,1,501,3.0,CSH,10.5 +CMT,1,1,628,2.4,CSH,10.0 +CMT,1,1,808,7.7,CSH,22.5 +CMT,1,1,1016,8.0,CRD,23.5 +CMT,1,1,624,4.6,CRD,14.5 +CMT,1,1,247,0.9,CSH,5.5 +CMT,1,1,292,1.1,CRD,6.0 +CMT,1,1,991,5.5,CRD,17.5 +CMT,1,1,178,0.9,CRD,5.0 +CMT,1,1,1268,2.4,CRD,13.5 +CMT,1,1,1299,7.0,CRD,22.0 +CMT,1,1,1236,5.9,CRD,20.0 +CMT,1,1,1186,6.1,CRD,20.5 +CMT,1,1,223,0.6,CRD,4.5 +CMT,1,1,548,1.2,CSH,7.5 +CMT,1,1,491,1.5,CRD,8.0 +CMT,1,1,1147,4.9,CRD,19.0 +CMT,1,1,268,1.0,CRD,5.5 +CMT,1,1,197,1.4,CRD,6.0 +CMT,1,1,1426,4.6,CSH,19.5 +CMT,1,1,565,3.1,CSH,11.0 +CMT,1,1,106,0.8,CRD,4.5 +CMT,1,1,1113,10.3,CRD,29.5 +CMT,1,1,612,3.2,CSH,11.5 +CMT,1,1,606,2.5,CSH,10.5 +CMT,1,1,465,2.8,CRD,10.0 +CMT,1,1,335,1.7,CRD,7.0 +CMT,1,1,318,0.8,CSH,5.5 +CMT,1,1,950,5.9,CRD,20.0 +CMT,1,1,172,0.4,CSH,4.0 +CMT,1,1,392,1.4,CSH,7.0 +CMT,1,1,203,0.5,CSH,4.5 +CMT,1,1,2102,16.0,CRD,43.5 +CMT,1,1,556,1.7,CRD,8.0 +CMT,1,1,772,2.8,CRD,11.5 +CMT,1,1,1092,4.6,CRD,17.5 +CMT,1,1,323,0.7,CRD,5.5 +CMT,1,1,630,1.2,CRD,8.5 +CMT,1,1,1038,5.4,CSH,17.5 +CMT,1,1,276,0.9,CSH,5.5 +CMT,1,1,267,1.3,CRD,6.5 +CMT,1,1,342,1.6,CRD,6.5 +CMT,1,1,961,3.3,CSH,13.5 +CMT,1,1,556,2.3,CSH,10.0 +CMT,1,1,557,3.2,CSH,11.5 +CMT,1,1,460,2.0,CRD,8.5 +CMT,1,1,382,1.1,CRD,6.5 +CMT,1,1,680,3.1,CRD,11.5 +CMT,1,1,911,3.4,CRD,13.5 +CMT,1,1,926,2.4,CSH,12.0 +CMT,1,1,894,2.3,CSH,12.0 +CMT,1,1,212,0.4,CRD,4.0 +CMT,1,1,502,2.4,CRD,9.5 +CMT,1,1,481,1.2,CSH,7.0 +CMT,1,1,2112,11.1,CSH,35.0 +CMT,1,1,454,1.4,CSH,7.0 +CMT,1,1,519,2.5,CRD,9.5 +CMT,1,1,935,1.3,CSH,10.5 +CMT,1,1,744,1.8,CRD,10.0 +CMT,1,1,282,1.0,CRD,6.0 +CMT,1,1,596,2.1,CSH,9.5 +CMT,1,1,753,4.9,CSH,15.0 +CMT,1,1,365,1.4,CSH,7.0 +CMT,1,1,751,4.1,CSH,14.5 +CMT,1,1,574,1.1,CSH,8.0 +CMT,1,1,375,0.8,CRD,5.5 +CMT,1,1,906,3.6,CSH,13.5 +CMT,2,1,192,0.7,CRD,52.0 +CMT,1,1,584,3.0,CRD,11.0 +CMT,1,1,195,0.6,CRD,4.5 +CMT,1,1,310,0.8,CRD,5.5 +CMT,1,1,1057,5.4,CSH,18.0 +CMT,1,1,523,1.2,CSH,7.5 +CMT,1,1,192,1.0,CSH,5.0 +CMT,1,1,672,3.1,CSH,11.5 +CMT,1,1,293,0.6,CSH,5.0 +CMT,1,1,419,1.2,CSH,7.0 +CMT,1,1,818,2.0,CRD,11.0 +CMT,1,1,749,3.3,CSH,13.0 +CMT,1,1,1232,9.0,CSH,27.0 +CMT,1,1,311,1.2,CRD,6.0 +CMT,1,1,654,1.6,CRD,9.0 +CMT,1,1,911,2.0,CRD,11.5 +CMT,1,1,1501,7.0,CSH,24.0 +CMT,1,1,1456,5.4,CRD,22.0 +CMT,1,1,202,0.6,CSH,4.5 +CMT,1,1,141,0.5,CRD,4.0 +CMT,1,1,288,0.7,CRD,5.5 +CMT,1,1,130,0.6,CSH,4.0 +CMT,1,1,219,0.8,CSH,5.0 +CMT,1,1,235,1.2,CSH,5.5 +CMT,1,1,546,1.3,CSH,8.0 +CMT,1,1,738,3.4,CSH,12.5 +CMT,1,1,234,1.1,CRD,5.5 +CMT,1,1,507,1.8,CSH,8.0 +CMT,2,1,3202,16.6,CRD,52.0 +CMT,5,1,977,6.1,CSH,65.0 +CMT,1,3,753,5.5,CRD,17.5 +CMT,1,1,563,2.0,CRD,9.5 +CMT,1,1,855,2.6,CSH,11.5 +CMT,1,1,1081,8.1,CSH,24.5 +CMT,1,1,1424,2.1,CRD,16.0 +CMT,1,1,536,3.2,CSH,11.5 +CMT,1,2,1202,10.1,CRD,29.0 +CMT,1,1,97,0.3,CSH,3.0 +CMT,1,1,1725,20.3,CSH,53.5 +CMT,1,1,1022,6.1,CSH,19.5 +CMT,1,1,678,2.8,CSH,11.0 +CMT,1,1,1016,5.3,CSH,18.0 +CMT,1,1,120,0.5,NOC,4.0 +CMT,1,1,443,1.1,CSH,6.5 +CMT,1,1,153,0.5,CSH,4.0 +CMT,1,1,1125,10.1,CRD,29.0 +CMT,1,1,1625,12.3,CSH,36.0 +CMT,1,1,451,2.9,CRD,9.5 +CMT,1,1,776,2.9,CSH,12.0 +CMT,1,1,2333,8.4,CSH,32.5 +CMT,1,1,1472,9.5,CSH,29.0 +CMT,1,1,1117,4.2,CSH,16.0 +CMT,1,1,202,0.9,CRD,5.0 +CMT,1,1,535,2.7,CSH,10.0 +CMT,1,1,1403,9.2,CSH,29.0 +CMT,1,1,668,2.3,CSH,10.5 +CMT,1,1,1297,4.7,CRD,18.5 +CMT,1,1,752,2.1,CRD,10.0 +CMT,1,1,364,1.8,CRD,7.5 +CMT,1,1,642,2.5,CSH,10.5 +CMT,1,1,79,0.6,CRD,4.0 +CMT,1,1,582,5.0,CSH,15.5 +CMT,1,1,954,8.3,CSH,24.0 +VTS,1,5,1320,3.76,CRD,16.5 +VTS,1,5,420,0.88,CRD,5.5 +VTS,2,5,2040,16.32,CRD,52.0 +VTS,1,5,240,0.85,CRD,5.0 +VTS,1,5,780,6.26,CRD,19.0 +VTS,1,5,360,1.79,CRD,7.0 +VTS,1,5,720,1.39,CRD,9.0 +VTS,1,5,2160,9.64,CRD,34.0 +VTS,1,5,1620,4.46,CRD,20.0 +VTS,1,5,300,1.1,CRD,6.5 +VTS,1,5,600,2.26,CRD,10.0 +CMT,1,1,913,4.3,CSH,16.0 +CMT,1,1,1825,20.3,CRD,55.0 +CMT,1,1,1061,8.1,CSH,24.0 +CMT,1,2,2081,16.1,CRD,45.0 +CMT,1,1,255,0.7,CSH,5.0 +CMT,1,1,17,0.0,NOC,2.5 +CMT,1,1,12,0.9,CRD,6.0 +CMT,1,1,400,1.3,CSH,7.0 +CMT,1,1,66,0.7,CRD,5.0 +CMT,1,1,909,2.5,CRD,11.5 +CMT,4,1,1991,20.0,CRD,55.5 +CMT,1,1,545,2.9,CSH,10.5 +CMT,1,1,279,1.2,CSH,6.0 +CMT,1,2,1154,10.8,CSH,31.0 +CMT,1,1,456,1.2,CSH,7.0 +CMT,1,1,483,2.4,CSH,9.0 +CMT,1,1,468,1.2,CRD,7.0 +CMT,1,1,437,5.1,CSH,15.0 +CMT,1,1,544,1.0,CRD,7.5 +CMT,1,1,981,4.9,CRD,18.0 +CMT,1,1,364,1.6,CSH,7.0 +CMT,1,1,805,4.0,CRD,14.0 +CMT,1,1,552,2.2,CSH,9.5 +CMT,1,1,395,1.8,CSH,7.5 +CMT,1,1,951,4.0,CSH,14.5 +CMT,1,1,1197,5.7,CSH,19.0 +CMT,1,1,793,8.5,CSH,24.0 +CMT,1,1,669,4.1,CRD,14.0 +CMT,1,1,669,1.9,CSH,10.0 +CMT,1,1,866,2.4,CSH,11.5 +CMT,1,1,553,1.2,CRD,7.5 +CMT,1,1,616,2.1,CRD,9.5 +CMT,1,1,371,1.6,CRD,7.5 +CMT,1,1,497,1.5,CRD,7.5 +CMT,1,1,595,2.2,CRD,9.5 +CMT,1,2,1224,9.6,CRD,29.0 +CMT,1,1,41,0.3,CSH,3.0 +CMT,1,1,1412,4.2,CRD,18.0 +CMT,1,1,732,4.3,CSH,14.5 +CMT,1,1,144,1.0,CSH,5.0 +CMT,1,1,643,2.3,CSH,10.0 +CMT,1,1,798,2.6,CRD,12.0 +CMT,1,1,295,1.0,CRD,5.5 +CMT,1,1,177,0.4,CSH,4.0 +CMT,1,1,1325,6.0,CRD,21.0 +CMT,1,1,151,0.3,CSH,4.0 +CMT,1,1,187,0.7,CRD,4.5 +CMT,1,1,379,1.0,CRD,6.5 +CMT,1,1,148,1.0,CSH,5.0 +CMT,1,1,824,3.2,CRD,12.5 +CMT,1,1,795,1.6,CSH,10.0 +CMT,1,1,216,0.5,CSH,4.0 +CMT,1,1,608,5.1,CSH,16.0 +CMT,1,1,911,3.0,CSH,13.0 +CMT,1,1,948,5.5,CSH,17.0 +CMT,1,1,295,1.3,CRD,6.5 +CMT,1,1,379,0.9,CSH,6.0 +CMT,2,2,1946,15.8,CRD,52.0 +CMT,1,1,524,2.3,CSH,9.5 +CMT,1,1,1293,9.5,CRD,28.0 +CMT,1,1,1101,8.8,CRD,26.0 +CMT,1,1,675,1.3,CRD,8.5 +CMT,1,1,257,0.7,CSH,5.0 +CMT,1,1,85,0.5,CRD,3.5 +CMT,1,2,201,0.8,CRD,4.5 +CMT,1,1,322,1.3,CSH,6.0 +CMT,1,1,1006,4.3,CRD,16.5 +CMT,2,1,2943,16.8,CRD,52.0 +CMT,1,1,669,2.6,CRD,11.0 +CMT,1,1,641,2.1,CSH,9.5 +CMT,1,1,578,4.1,CSH,14.0 +CMT,1,1,767,1.9,CRD,10.5 +CMT,1,1,232,0.8,CRD,5.0 +CMT,1,1,148,0.4,CRD,4.0 +CMT,1,1,835,4.8,CRD,16.5 +CMT,1,1,406,0.9,CSH,6.0 +CMT,1,1,672,2.8,CSH,11.5 +CMT,1,1,213,0.8,CSH,5.0 +CMT,1,1,259,1.2,CRD,6.0 +CMT,1,1,496,1.2,CRD,7.5 +CMT,1,1,290,1.1,CSH,6.0 +CMT,1,1,280,0.6,CSH,5.0 +CMT,1,1,473,2.3,CSH,9.0 +CMT,1,1,248,0.8,CRD,5.5 +CMT,1,1,636,3.0,CSH,11.0 +CMT,1,1,686,2.6,CSH,11.0 +CMT,1,1,2233,15.0,CSH,45.5 +CMT,1,1,1146,5.8,CSH,20.0 +CMT,1,1,616,4.5,CRD,14.5 +CMT,1,1,213,0.8,CSH,4.5 +CMT,1,1,1280,7.4,CRD,24.5 +CMT,1,1,358,1.2,CRD,6.5 +CMT,1,1,276,1.1,CSH,6.0 +CMT,1,1,438,3.0,CRD,11.0 +CMT,1,1,1117,7.8,CSH,24.0 +CMT,1,1,882,3.8,CRD,15.0 +CMT,1,1,1269,3.4,CSH,16.0 +CMT,1,1,774,3.0,CSH,12.5 +CMT,1,1,795,3.4,CSH,13.0 +CMT,1,1,381,1.0,CSH,6.5 +CMT,1,1,283,1.0,CRD,5.5 +CMT,1,1,787,3.7,CRD,12.5 +CMT,1,1,242,0.8,CSH,5.0 +CMT,1,1,707,4.9,CRD,15.5 +CMT,1,1,499,1.0,CSH,7.0 +CMT,1,1,136,0.4,CRD,3.5 +CMT,1,1,508,1.3,CSH,7.5 +CMT,1,1,2001,11.4,CSH,36.5 +CMT,1,1,528,2.3,CRD,9.5 +CMT,1,1,910,4.5,CRD,15.5 +CMT,1,1,907,4.9,CSH,16.5 +CMT,1,1,1346,8.4,CSH,26.5 +CMT,1,1,142,0.9,CSH,5.0 +CMT,1,1,562,6.6,CSH,19.0 +CMT,1,2,563,1.8,CRD,8.5 +CMT,1,1,361,1.3,CSH,6.5 +CMT,1,1,1046,3.7,CRD,15.5 +CMT,1,1,780,1.5,CRD,10.0 +CMT,1,2,1278,6.7,CSH,23.0 +CMT,1,1,508,1.3,CSH,7.5 +CMT,1,1,256,1.1,CRD,5.5 +CMT,1,1,245,1.0,CSH,5.5 +CMT,1,1,1213,7.4,CSH,24.0 +CMT,1,1,668,1.9,CRD,9.5 +CMT,1,1,1075,2.6,CSH,13.5 +CMT,1,1,383,1.8,CSH,7.5 +CMT,1,1,811,3.7,CSH,14.5 +CMT,5,1,36,0.0,CRD,5.0 +CMT,1,1,173,0.5,CSH,4.0 +CMT,1,3,505,0.9,CSH,7.0 +CMT,1,1,185,0.8,CSH,5.0 +CMT,1,1,801,8.6,CSH,24.0 +CMT,1,1,188,1.0,CSH,5.5 +CMT,1,2,240,1.2,CSH,5.5 +CMT,1,1,262,1.4,CSH,6.0 +CMT,1,1,771,5.5,CSH,16.5 +CMT,1,1,353,2.2,CRD,8.0 +CMT,1,1,225,1.0,CRD,5.0 +CMT,1,1,758,4.7,CRD,15.5 +CMT,1,1,756,1.2,CSH,9.5 +CMT,1,1,450,1.1,CSH,7.0 +CMT,1,1,213,0.7,CSH,4.5 +CMT,1,1,350,0.8,CRD,5.5 +CMT,1,1,281,1.0,CSH,5.5 +CMT,1,1,230,1.2,CSH,5.5 +CMT,1,2,1516,4.3,CRD,19.5 +CMT,1,2,249,0.6,CRD,5.0 +CMT,1,1,323,1.0,CSH,5.5 +CMT,1,1,243,0.5,CRD,4.5 +CMT,1,1,351,1.0,CRD,6.0 +CMT,1,1,268,0.5,CRD,4.5 +CMT,1,1,216,0.5,CSH,4.5 +CMT,1,2,273,0.4,CSH,4.5 +CMT,1,1,77,0.8,CRD,7.0 +CMT,1,1,112,0.4,CRD,3.5 +CMT,1,1,402,1.4,CSH,7.0 +CMT,1,1,660,2.7,CRD,11.0 +CMT,1,2,254,1.4,CRD,6.5 +CMT,1,1,413,1.6,CSH,7.0 +CMT,1,1,289,0.5,CSH,5.0 +CMT,1,1,236,0.9,CRD,5.5 +CMT,1,1,299,1.1,CSH,6.5 +CMT,1,1,91,0.7,CRD,4.0 +CMT,1,1,80,0.5,CSH,3.5 +CMT,1,1,195,0.4,CSH,4.0 +CMT,1,1,530,1.2,CSH,7.5 +CMT,1,2,1051,3.9,CSH,16.0 +CMT,1,3,655,2.1,CSH,9.5 +CMT,1,2,451,2.0,CSH,8.0 +CMT,1,1,378,1.0,CSH,6.0 +CMT,1,1,513,1.9,CSH,9.0 +CMT,1,1,1090,4.4,CSH,17.0 +CMT,1,1,1442,9.7,CSH,30.5 +CMT,1,1,405,1.4,CRD,7.0 +CMT,1,1,454,2.0,CRD,8.5 +CMT,1,1,256,1.4,CRD,6.0 +CMT,1,1,488,2.9,CRD,10.0 +CMT,1,1,736,6.3,CSH,19.0 +CMT,1,3,976,6.3,CSH,20.5 +CMT,1,1,198,0.9,CSH,5.0 +CMT,1,1,460,2.7,CSH,9.5 +CMT,1,2,1743,17.0,CSH,47.0 +CMT,1,1,1035,6.5,CRD,20.0 +CMT,1,1,609,2.2,CRD,10.0 +CMT,1,1,221,1.0,CRD,5.0 +CMT,1,1,642,3.4,CSH,11.5 +CMT,1,1,921,3.9,CRD,14.5 +CMT,1,1,157,0.4,NOC,4.0 +CMT,1,1,746,4.1,CRD,14.5 +CMT,1,1,266,0.7,CSH,5.0 +CMT,1,1,602,1.9,CSH,9.0 +CMT,1,1,1233,6.3,CRD,20.5 +CMT,1,1,622,2.4,CSH,10.0 +CMT,5,1,97,0.0,CRD,65.0 +CMT,1,1,576,1.1,CRD,8.5 +CMT,1,1,511,1.8,CRD,8.5 +CMT,1,2,982,5.4,CRD,18.5 +CMT,1,1,303,1.2,CRD,6.0 +CMT,1,1,455,1.0,CRD,6.5 +CMT,1,1,2452,16.1,CSH,48.0 +CMT,1,1,433,1.1,CRD,6.5 +CMT,1,1,151,0.8,CSH,4.5 +CMT,1,1,698,2.5,CSH,11.0 +CMT,1,1,380,1.3,CRD,7.0 +CMT,1,1,799,4.0,CSH,14.5 +CMT,1,1,222,1.8,CRD,7.0 +CMT,1,1,386,3.1,CSH,10.5 +CMT,1,1,864,5.3,CSH,18.0 +CMT,1,1,232,1.6,CRD,6.5 +CMT,1,1,234,0.8,CRD,5.0 +CMT,1,2,287,1.2,CSH,6.0 +CMT,1,2,1296,10.3,CSH,30.0 +CMT,1,3,294,0.8,CRD,5.5 +CMT,1,2,738,5.3,CRD,17.5 +CMT,1,2,777,2.2,CRD,11.0 +CMT,1,1,772,4.4,CSH,16.0 +CMT,1,1,188,0.3,CSH,4.0 +CMT,1,2,257,0.9,CSH,5.5 +CMT,1,1,241,1.2,CSH,5.5 +CMT,1,2,273,0.6,CSH,5.0 +CMT,1,1,582,1.2,CSH,7.5 +CMT,1,1,549,2.1,CRD,9.5 +CMT,1,1,528,2.8,CSH,11.0 +CMT,1,1,15,1.6,CRD,7.5 +CMT,1,1,825,9.6,CRD,27.0 +CMT,1,1,737,2.2,CRD,10.5 +CMT,1,1,630,2.3,CSH,10.0 +CMT,1,1,1114,4.6,CRD,17.0 +CMT,1,3,504,2.9,CSH,10.5 +CMT,1,1,434,1.1,CRD,6.5 +CMT,1,1,116,0.6,CRD,4.0 +CMT,1,1,294,1.6,CSH,6.5 +CMT,1,2,648,4.1,CSH,13.5 +CMT,1,2,1297,4.7,CRD,19.5 +CMT,1,1,435,1.7,CSH,8.0 +CMT,1,2,1353,5.7,CRD,21.0 +CMT,1,1,176,0.8,CSH,4.5 +CMT,1,1,302,1.1,CRD,6.0 +CMT,1,1,395,2.2,CSH,8.5 +CMT,1,2,250,0.7,CSH,5.0 +CMT,1,3,462,1.2,CSH,7.0 +CMT,1,1,964,2.3,CSH,12.5 +CMT,1,1,282,1.7,CRD,7.0 +CMT,1,1,367,0.9,CRD,6.0 +CMT,1,1,290,0.4,CSH,5.0 +CMT,1,1,428,2.9,CRD,10.0 +CMT,1,1,523,2.7,CSH,10.0 +CMT,1,1,325,0.9,CRD,6.0 +CMT,1,1,1593,3.5,CRD,18.5 +CMT,1,2,175,0.5,CSH,4.0 +CMT,1,2,503,1.9,CSH,8.5 +CMT,1,1,227,0.9,CRD,5.0 +CMT,1,1,1044,4.1,CRD,16.5 +CMT,1,1,253,0.6,CSH,4.5 +CMT,1,1,746,1.5,CRD,9.5 +CMT,2,1,1601,16.2,CRD,52.0 +CMT,1,2,687,2.7,CRD,10.5 +CMT,1,1,2390,23.8,CSH,64.0 +CMT,1,1,242,0.9,CRD,5.0 +CMT,1,2,1206,3.1,CSH,15.0 +CMT,2,1,2420,17.2,CRD,52.0 +CMT,1,1,1202,10.5,CSH,30.5 +CMT,2,4,1846,19.6,CRD,52.0 +CMT,1,1,430,0.9,CSH,6.5 +CMT,1,1,530,2.2,CSH,9.5 +CMT,1,1,1277,10.7,CRD,31.5 +CMT,1,2,723,1.2,CSH,9.0 +CMT,1,1,995,4.5,CRD,16.5 +CMT,1,1,394,2.2,CRD,8.0 +CMT,1,1,1655,9.0,CSH,28.0 +CMT,1,2,3038,5.7,CSH,32.0 +CMT,1,1,105,0.3,CRD,3.5 +CMT,1,4,1638,11.7,CSH,35.5 +CMT,2,2,2120,18.2,CRD,52.0 +CMT,1,1,1845,10.7,CSH,35.5 +CMT,1,1,386,1.0,CRD,6.0 +CMT,1,1,587,1.8,CRD,8.5 +CMT,1,1,449,1.6,CSH,7.5 +CMT,1,2,952,2.7,CRD,12.5 +CMT,1,1,251,1.5,CRD,6.0 +CMT,1,1,2225,8.4,CRD,32.0 +CMT,1,1,541,1.4,CRD,8.0 +CMT,1,1,107,0.4,CSH,3.5 +CMT,1,1,565,1.3,CSH,8.0 +CMT,1,1,1220,5.0,CRD,19.0 +CMT,1,1,976,2.5,CSH,12.5 +CMT,2,1,1194,16.0,CRD,52.0 +CMT,1,2,1624,8.8,CRD,30.5 +CMT,1,3,331,1.2,CRD,6.5 +CMT,1,1,1267,9.7,CRD,28.5 +CMT,1,1,256,0.9,CSH,5.5 +CMT,1,3,493,0.9,CSH,7.0 +CMT,1,1,331,1.1,CSH,6.0 +CMT,1,1,366,2.2,CSH,8.0 +CMT,1,1,283,1.7,CSH,7.0 +CMT,1,1,721,1.9,CSH,10.0 +CMT,1,1,966,1.6,CRD,11.0 +CMT,1,1,453,0.8,CRD,6.5 +CMT,1,2,601,1.3,CRD,8.5 +CMT,1,1,555,1.8,CSH,8.5 +CMT,1,2,559,1.7,CSH,8.5 +CMT,1,1,1380,2.7,CSH,15.5 +CMT,1,1,236,0.6,CRD,4.5 +CMT,1,1,851,4.4,CSH,16.0 +CMT,1,1,499,1.3,CSH,7.5 +CMT,1,1,422,2.3,CRD,9.0 +CMT,1,1,783,4.0,CRD,14.5 +CMT,1,1,669,2.4,CSH,10.5 +CMT,1,1,207,0.7,CSH,4.5 +CMT,1,1,594,3.5,CSH,12.5 +CMT,1,1,412,1.1,CSH,6.5 +CMT,1,1,519,2.7,CRD,10.0 +CMT,1,1,722,2.4,CRD,11.0 +CMT,1,1,639,3.7,CRD,12.0 +CMT,1,1,789,3.1,CSH,12.5 +CMT,1,1,335,1.1,CSH,6.0 +CMT,1,1,713,3.0,CSH,11.5 +CMT,1,1,519,2.0,CRD,9.0 +CMT,1,1,994,9.1,CSH,26.5 +CMT,1,1,325,0.9,CRD,5.5 +CMT,1,1,1361,3.7,CRD,17.0 +CMT,1,1,744,4.2,CSH,14.5 +CMT,1,1,1078,4.2,CSH,16.5 +CMT,1,1,620,2.8,CRD,11.0 +CMT,1,1,348,2.5,CSH,8.5 +CMT,1,1,201,0.7,CRD,4.5 +CMT,1,1,263,0.6,CRD,5.0 +CMT,1,1,947,3.2,CSH,13.0 +CMT,1,1,173,1.2,CRD,5.0 +CMT,1,1,917,2.2,CSH,12.0 +CMT,1,1,1003,2.7,CRD,13.5 +CMT,1,1,573,1.3,CSH,8.0 +CMT,1,2,1167,7.7,CSH,24.0 +CMT,1,1,1065,6.7,CRD,21.5 +CMT,1,1,674,5.6,CRD,17.5 +CMT,1,1,575,2.9,CRD,11.0 +CMT,1,1,268,1.0,CSH,5.5 +CMT,1,1,343,1.2,CRD,6.0 +CMT,1,1,557,1.5,CRD,8.0 +CMT,1,1,811,5.6,CRD,17.5 +CMT,1,1,1032,3.8,CRD,15.0 +CMT,1,2,473,1.0,CRD,7.0 +CMT,1,1,118,0.8,CSH,4.0 +CMT,1,1,724,2.9,CSH,11.5 +CMT,1,2,512,1.9,CSH,8.5 +CMT,1,2,754,1.7,CRD,10.0 +CMT,1,1,1056,5.6,CRD,20.0 +CMT,1,1,479,1.1,CRD,7.5 +CMT,1,1,864,3.3,CSH,13.0 +CMT,1,1,441,3.7,CRD,11.5 +CMT,1,2,1217,6.5,CSH,22.5 +CMT,1,3,1099,3.1,CRD,14.5 +CMT,1,1,238,0.7,CRD,5.0 +CMT,1,2,265,0.6,CRD,5.0 +CMT,1,1,317,1.2,CRD,6.5 +CMT,1,2,355,0.9,CRD,5.5 +CMT,1,1,276,1.1,CSH,5.5 +CMT,1,2,374,1.5,CSH,7.5 +CMT,1,1,363,1.9,CRD,7.5 +CMT,1,2,335,0.8,CSH,5.5 +CMT,1,1,266,1.1,CRD,5.5 +CMT,1,2,519,1.1,CRD,7.5 +CMT,1,1,623,6.7,CSH,19.0 +CMT,1,1,2966,26.1,CRD,71.5 +CMT,1,1,297,1.6,CSH,7.0 +CMT,1,1,938,3.5,CSH,14.5 +CMT,1,2,427,1.2,CSH,7.0 +CMT,1,1,174,0.8,CRD,5.0 +CMT,1,1,1219,5.6,CSH,19.0 +CMT,1,1,181,0.7,CSH,4.5 +CMT,1,1,733,2.4,CSH,10.5 +CMT,1,1,393,1.4,CRD,7.0 +CMT,1,1,363,0.9,CRD,6.0 +CMT,1,1,1089,3.1,CSH,14.0 +CMT,1,1,300,2.4,CRD,8.5 +CMT,1,1,762,10.0,CSH,27.5 +CMT,1,1,1261,15.9,CRD,42.0 +CMT,1,2,480,1.8,CSH,8.5 +CMT,1,4,1599,4.1,CSH,19.0 +CMT,1,1,472,3.3,CSH,10.5 +CMT,1,1,543,2.2,CRD,9.5 +CMT,1,1,214,0.4,CRD,4.5 +CMT,1,1,1040,11.0,CSH,31.0 +CMT,1,1,1000,8.8,CRD,25.5 +CMT,1,1,261,0.9,CSH,5.5 +CMT,1,1,332,1.3,CRD,6.5 +CMT,1,1,0,2.6,CSH,10.0 +CMT,1,1,1079,4.2,CRD,16.0 +CMT,1,1,781,2.2,CSH,11.0 +CMT,1,1,345,1.1,CSH,6.5 +CMT,1,1,530,1.3,CSH,7.5 +CMT,1,1,338,2.1,CRD,8.0 +CMT,1,1,59,0.2,CSH,3.0 +CMT,1,2,1733,11.3,CSH,34.5 +CMT,1,1,490,2.7,CRD,10.0 +CMT,1,1,1848,5.1,CSH,23.5 +CMT,1,1,725,2.3,CRD,10.5 +CMT,1,4,1322,14.8,CSH,41.5 +CMT,1,2,517,0.7,CSH,7.0 +CMT,1,1,920,3.5,CSH,16.0 +CMT,1,1,544,1.6,CRD,8.0 +CMT,1,2,1631,11.4,CSH,35.5 +CMT,1,1,222,0.8,CSH,5.0 +CMT,1,1,1886,4.5,CRD,21.5 +CMT,1,1,1180,5.8,CRD,21.0 +CMT,1,1,449,1.6,CRD,7.5 +CMT,1,1,336,1.5,CSH,6.5 +CMT,1,1,213,0.9,CSH,5.0 +CMT,1,1,2089,9.3,CSH,31.5 +CMT,1,1,323,1.0,CSH,6.0 +CMT,1,1,579,1.1,CSH,7.5 +CMT,2,1,170,2.4,CRD,52.0 +CMT,1,1,279,0.6,CSH,5.0 +CMT,1,1,316,0.8,CSH,5.5 +CMT,1,1,627,1.7,CSH,9.0 +CMT,1,1,202,0.5,CSH,4.0 +CMT,1,2,165,0.5,CSH,4.0 +CMT,1,1,522,3.3,CSH,11.5 +CMT,1,1,791,1.6,CSH,10.0 +CMT,1,1,1070,8.5,CSH,25.5 +CMT,1,1,712,2.4,CSH,10.5 +CMT,1,3,425,1.2,CSH,7.0 +CMT,1,1,926,3.2,CSH,13.0 +CMT,1,1,1037,2.2,CRD,12.5 +CMT,1,1,964,2.0,CRD,12.0 +CMT,1,4,476,0.8,CSH,6.5 +CMT,1,3,1136,8.7,CSH,26.0 +CMT,1,2,1436,3.7,CRD,17.0 +CMT,1,4,1405,11.1,CSH,32.0 +CMT,1,1,1795,11.3,CRD,35.0 +CMT,1,1,594,1.7,CRD,9.0 +CMT,1,2,308,0.8,CSH,5.5 +CMT,1,1,658,1.9,CSH,9.5 +CMT,1,1,2203,21.8,CSH,61.5 +CMT,2,1,1524,13.6,CRD,52.0 +CMT,1,1,624,1.2,CSH,8.0 +CMT,1,1,493,1.0,CRD,7.0 +CMT,4,4,236,0.6,CRD,4.5 +CMT,1,2,1310,10.8,CSH,31.5 +CMT,2,1,2126,20.7,CRD,52.0 +CMT,1,1,1640,8.3,CRD,28.5 +CMT,1,1,420,3.1,CSH,12.0 +CMT,1,2,901,3.1,CSH,13.0 +CMT,1,2,780,2.7,CSH,11.5 +CMT,1,2,1193,3.5,CSH,15.0 +CMT,1,1,746,1.6,CSH,9.5 +CMT,2,1,1508,17.2,CRD,52.0 +CMT,1,1,1344,10.7,CRD,32.0 +CMT,1,1,1319,4.9,CSH,19.5 +CMT,1,1,708,1.7,CRD,9.5 +CMT,1,1,354,1.2,CSH,6.5 +CMT,1,3,1581,15.8,CSH,44.0 +CMT,1,1,664,2.8,CSH,11.5 +CMT,1,1,1104,4.9,CRD,17.5 +CMT,1,1,659,1.7,CRD,9.5 +CMT,1,1,1034,3.8,CRD,14.5 +CMT,1,1,245,0.9,CSH,5.5 +CMT,1,1,1604,7.9,CRD,25.5 +CMT,1,1,71,3.2,CRD,12.5 +CMT,1,1,383,1.4,CSH,7.0 +CMT,1,1,678,4.5,CSH,15.0 +CMT,1,2,739,1.5,CRD,9.5 +CMT,2,2,32,0.0,CRD,52.0 +CMT,2,1,2895,17.7,CRD,52.0 +CMT,1,2,799,1.9,CSH,10.5 +CMT,1,1,1442,4.1,CRD,18.5 +CMT,1,1,429,1.6,CRD,8.0 +CMT,1,4,520,1.5,CSH,8.0 +CMT,1,1,427,0.9,CRD,6.5 +CMT,1,1,1037,5.0,CSH,18.0 +CMT,1,1,151,0.6,CSH,4.0 +CMT,1,4,1427,11.9,CSH,34.5 +CMT,1,1,666,1.5,CSH,9.0 +CMT,1,1,1593,14.0,CRD,40.0 +CMT,2,1,1627,17.7,CRD,52.0 +CMT,1,1,900,3.1,CSH,13.0 +CMT,1,2,674,4.3,CSH,15.0 +CMT,1,1,1075,6.4,CRD,20.5 +CMT,1,1,1913,15.2,CSH,42.0 +CMT,1,1,2452,20.5,CRD,57.0 +CMT,1,2,198,0.5,CRD,4.5 +CMT,1,2,1028,2.0,CSH,12.5 +CMT,1,1,953,4.7,CRD,17.0 +CMT,1,2,427,1.1,CSH,6.5 +CMT,1,3,610,2.5,CSH,10.0 +CMT,1,1,886,4.2,CRD,15.0 +CMT,1,1,551,1.2,CSH,7.5 +CMT,1,2,234,1.0,CSH,5.5 +CMT,1,1,778,2.1,CSH,10.5 +CMT,1,1,405,2.0,CSH,8.0 +CMT,1,1,605,2.0,CRD,9.5 +CMT,1,1,577,1.3,CRD,8.0 +CMT,1,1,241,1.1,CRD,5.5 +CMT,1,1,544,0.9,CSH,7.5 +CMT,1,1,696,3.3,CRD,13.0 +CMT,1,1,599,1.9,CRD,9.5 +CMT,1,1,544,2.1,CRD,9.5 +CMT,1,1,315,1.2,CSH,6.5 +CMT,1,1,760,3.1,CRD,12.5 +CMT,1,1,991,5.5,CRD,18.5 +CMT,1,1,733,1.7,CSH,9.5 +CMT,1,1,324,0.9,CRD,5.5 +CMT,1,1,1012,3.9,CRD,15.0 +CMT,1,1,599,2.5,CRD,10.0 +CMT,1,1,433,0.9,CSH,7.0 +CMT,1,1,419,1.4,CSH,7.5 +CMT,1,1,386,1.2,CSH,7.0 +CMT,1,1,279,1.0,CRD,6.0 +CMT,1,1,297,1.2,CRD,6.0 +CMT,2,2,1892,19.7,CRD,52.0 +CMT,1,1,393,1.8,CSH,7.5 +CMT,1,2,302,0.9,CSH,5.5 +CMT,1,1,692,1.2,CRD,9.0 +CMT,1,1,2210,8.6,CSH,30.5 +CMT,1,2,1215,5.4,CSH,20.5 +CMT,1,4,933,5.4,CSH,18.0 +CMT,1,1,1573,11.9,CSH,36.0 +CMT,2,2,61,0.0,CRD,52.0 +CMT,1,1,1085,6.7,CRD,21.0 +CMT,1,1,2741,15.4,CRD,45.5 +CMT,1,1,1403,9.9,CRD,31.0 +CMT,1,1,1068,8.0,CSH,24.5 +CMT,1,4,1001,1.7,CSH,11.5 +CMT,1,1,452,1.7,CRD,8.5 +CMT,1,2,1455,15.8,CSH,43.0 +CMT,1,1,1277,11.2,CRD,32.5 +CMT,1,1,656,2.1,CRD,9.5 +CMT,1,2,1311,1.8,CRD,14.0 +CMT,1,2,1082,3.0,CRD,13.5 +CMT,1,2,440,1.9,CRD,8.0 +CMT,1,1,1244,6.1,CSH,21.0 +CMT,1,1,550,1.4,CRD,8.0 +CMT,1,1,1641,6.0,CSH,22.5 +CMT,2,1,2079,17.2,CRD,52.0 +CMT,1,1,224,1.1,CSH,5.5 +CMT,1,2,878,3.8,CSH,14.5 +CMT,1,2,734,3.9,CSH,14.0 +CMT,1,1,377,1.5,CRD,7.0 +CMT,1,4,1139,3.2,CSH,14.0 +CMT,1,3,892,1.5,CRD,10.5 +CMT,1,1,1103,1.8,CSH,13.0 +CMT,2,1,1315,17.6,CRD,52.0 +CMT,1,1,247,0.7,CRD,5.0 +CMT,1,1,296,1.0,CSH,6.0 +CMT,1,1,1386,2.9,CSH,15.5 +CMT,1,1,964,6.4,CSH,20.5 +CMT,1,2,601,2.1,CRD,9.0 +CMT,5,1,2148,15.8,CRD,76.0 +CMT,2,1,3433,22.1,CRD,52.0 +CMT,1,1,1633,15.4,CRD,43.0 +CMT,1,3,650,3.4,CSH,12.5 +CMT,1,1,1573,15.4,CRD,43.0 +CMT,1,1,353,1.5,CRD,7.0 +CMT,1,1,938,4.7,CRD,16.0 +CMT,1,1,1033,2.8,CRD,13.5 +CMT,1,1,382,1.4,CSH,7.5 +CMT,1,1,941,2.3,CSH,12.0 +CMT,1,1,459,1.1,CRD,7.0 +CMT,1,1,311,1.1,CSH,6.0 +CMT,1,1,193,1.0,CRD,5.5 +CMT,1,1,808,3.5,CRD,13.5 +CMT,1,1,403,2.7,CSH,9.5 +CMT,1,1,1317,14.4,CSH,40.0 +CMT,1,1,3,0.0,CSH,2.5 +CMT,1,1,583,2.0,CSH,9.5 +CMT,1,1,888,2.7,CRD,12.0 +CMT,1,1,284,0.8,CSH,5.5 +CMT,1,1,1061,6.7,CSH,21.5 +CMT,1,1,426,0.9,CRD,6.5 +CMT,1,1,308,0.8,CRD,6.0 +CMT,1,1,623,0.9,CSH,8.0 +CMT,1,1,369,1.1,CSH,6.5 +CMT,1,1,1162,4.5,CRD,17.0 +CMT,1,1,839,2.4,CSH,11.5 +CMT,1,1,771,2.7,CRD,11.5 +CMT,1,1,1442,7.2,CSH,24.0 +CMT,1,1,839,3.2,CRD,13.5 +CMT,1,1,207,0.5,CSH,4.5 +CMT,1,1,637,1.5,CRD,9.0 +CMT,1,1,591,2.8,CRD,11.0 +CMT,1,1,1071,2.7,CRD,13.5 +CMT,1,1,387,1.1,CRD,6.5 +CMT,1,1,698,2.7,CSH,11.5 +CMT,1,1,409,1.9,CSH,8.5 +CMT,1,1,297,1.0,CRD,5.5 +CMT,1,1,659,3.7,CRD,13.0 +CMT,1,1,741,1.5,CRD,9.5 +CMT,1,1,283,0.5,CRD,5.0 +CMT,1,1,2008,11.7,CSH,37.0 +CMT,1,1,267,0.5,CSH,5.5 +CMT,1,2,3758,13.3,CRD,50.5 +CMT,1,2,2628,1.6,CSH,9.0 +CMT,1,3,652,1.3,CSH,8.5 +CMT,1,1,655,6.0,CRD,18.5 +CMT,1,1,574,2.0,CSH,9.0 +CMT,1,1,262,0.7,CRD,5.0 +CMT,1,1,675,2.9,CRD,11.5 +CMT,1,1,744,4.2,CRD,14.5 +CMT,1,2,699,2.2,CRD,10.5 +CMT,1,1,593,2.0,CSH,9.0 +CMT,1,3,564,1.1,CRD,7.5 +CMT,1,1,244,1.2,CSH,5.5 +CMT,1,1,1192,6.7,CSH,21.5 +CMT,1,1,1787,12.8,CSH,38.0 +CMT,2,1,2794,18.4,CRD,52.0 +CMT,1,1,380,1.3,CRD,7.0 +CMT,1,1,408,1.1,CRD,6.5 +CMT,1,1,241,0.9,CSH,5.0 +CMT,1,2,1287,1.7,CRD,14.5 +CMT,1,2,594,1.2,CRD,7.5 +CMT,1,1,329,0.9,CRD,6.0 +CMT,1,1,546,3.6,CRD,11.5 +CMT,1,1,1489,5.8,CSH,22.0 +CMT,1,4,670,3.2,CSH,11.5 +CMT,1,1,213,1.0,CSH,5.5 +CMT,1,1,484,0.7,CRD,6.5 +CMT,1,1,318,0.7,CRD,5.0 +CMT,1,1,926,8.4,CSH,24.5 +CMT,1,1,504,1.2,CSH,7.5 +CMT,1,1,7,0.0,CSH,2.5 +CMT,1,1,150,0.7,CSH,4.5 +CMT,1,1,1092,3.3,CSH,15.0 +CMT,1,1,610,1.3,CSH,8.0 +CMT,1,1,56,0.5,CSH,3.5 +CMT,1,2,518,2.2,CSH,9.0 +CMT,1,2,321,1.6,CRD,7.0 +CMT,1,1,657,1.8,CSH,9.5 +CMT,1,1,464,1.5,CRD,7.5 +CMT,1,1,554,1.9,CSH,9.0 +CMT,1,2,294,0.9,CRD,5.5 +CMT,1,2,665,1.5,CRD,9.0 +CMT,1,1,424,1.6,CSH,7.5 +CMT,1,1,327,1.7,CRD,7.0 +CMT,1,1,829,3.8,CRD,14.5 +CMT,1,1,654,1.9,CSH,9.5 +CMT,1,1,119,0.4,CRD,3.5 +CMT,1,1,142,0.6,CSH,4.0 +CMT,1,3,1020,4.4,CSH,17.0 +CMT,2,1,1852,17.5,CRD,52.0 +CMT,1,1,1189,9.2,CSH,27.5 +CMT,2,4,1792,17.3,CSH,52.0 +CMT,1,1,104,0.4,CSH,3.5 +CMT,2,4,2096,17.9,CRD,52.0 +CMT,1,1,1347,10.9,CSH,32.5 +CMT,1,2,530,2.3,CSH,9.5 +CMT,1,1,630,1.2,CRD,8.5 +CMT,1,1,487,3.1,CSH,10.5 +CMT,1,1,105,0.6,CRD,4.0 +CMT,1,2,785,1.8,CSH,10.0 +CMT,1,1,1416,12.4,CSH,35.0 +CMT,1,2,365,1.8,CSH,8.0 +CMT,1,1,255,1.0,CSH,5.5 +CMT,1,2,1423,3.8,CSH,18.5 +CMT,1,1,1759,11.6,CRD,35.0 +CMT,1,1,643,1.9,CRD,9.0 +CMT,1,1,567,1.5,CRD,8.5 +CMT,1,1,281,1.2,CSH,6.0 +CMT,1,1,571,1.8,CSH,9.5 +CMT,2,1,23,0.0,CRD,52.0 +CMT,1,1,649,1.5,CRD,9.0 +CMT,1,1,454,1.7,CSH,8.5 +CMT,1,1,716,6.1,CRD,18.5 +CMT,1,1,314,1.0,CRD,6.0 +CMT,1,1,391,1.4,CSH,7.0 +CMT,1,1,1234,3.4,CRD,15.5 +CMT,1,1,567,2.6,CSH,10.0 +CMT,1,1,318,1.8,CSH,7.5 +CMT,1,1,715,2.9,CRD,12.5 +CMT,1,1,1401,3.7,CRD,18.0 +CMT,1,1,728,2.6,CRD,11.0 +CMT,1,1,607,2.0,CRD,9.5 +CMT,1,1,802,3.1,CRD,12.5 +CMT,1,1,305,1.1,CRD,6.0 +CMT,1,1,814,2.4,CSH,11.5 +CMT,1,1,163,0.7,CSH,4.5 +CMT,1,1,680,2.5,CRD,10.5 +CMT,1,1,282,0.5,CSH,5.0 +CMT,1,1,569,1.8,CSH,8.5 +CMT,1,1,736,2.6,CRD,11.0 +CMT,1,1,570,0.6,CSH,7.0 +CMT,1,1,447,1.4,CRD,7.5 +CMT,1,1,553,2.8,CRD,10.0 +CMT,1,1,889,6.0,CSH,19.5 +CMT,1,1,520,1.9,CRD,9.0 +CMT,1,1,2312,8.4,CSH,31.0 +CMT,1,1,1200,6.0,CRD,21.5 +CMT,1,1,592,1.5,CRD,9.0 +CMT,1,1,1662,8.7,CRD,29.5 +CMT,1,1,569,2.5,CRD,10.5 +CMT,1,1,298,0.8,CSH,5.5 +CMT,1,1,760,2.1,CSH,10.5 +CMT,1,1,333,1.0,CRD,6.0 +CMT,1,1,483,1.7,CSH,8.0 +CMT,1,1,588,2.3,CRD,10.0 +CMT,1,1,292,0.7,CSH,5.0 +CMT,1,1,959,9.0,CRD,26.5 +CMT,1,1,345,1.0,CSH,6.5 +CMT,1,1,596,2.1,CSH,9.5 +CMT,1,1,654,2.6,CRD,11.5 +CMT,1,1,835,1.7,CRD,10.5 +CMT,1,1,931,2.7,CSH,13.0 +CMT,1,1,650,1.9,CSH,9.5 +CMT,1,1,182,0.6,CRD,4.0 +CMT,1,1,567,1.2,CRD,8.0 +CMT,2,1,3730,17.4,CRD,52.0 +CMT,1,1,468,1.2,CSH,7.5 +CMT,1,1,785,2.3,CSH,11.0 +CMT,1,1,309,0.7,CRD,6.0 +CMT,1,1,192,0.5,CSH,4.0 +CMT,1,1,212,0.8,CRD,5.0 +CMT,1,1,710,2.6,CRD,12.0 +CMT,1,1,671,2.2,CRD,10.5 +CMT,1,1,752,3.7,CRD,13.0 +CMT,1,1,237,1.2,CRD,6.0 +CMT,1,1,527,2.2,CSH,9.0 +CMT,1,1,291,0.7,CRD,5.5 +CMT,1,1,255,0.7,CRD,5.0 +CMT,1,1,407,1.1,CRD,7.0 +CMT,1,1,516,2.6,CSH,9.5 +CMT,1,1,702,1.3,CSH,9.0 +CMT,1,1,679,1.4,CRD,9.0 +CMT,1,1,1017,2.2,CSH,12.5 +CMT,1,1,1138,3.1,CRD,14.5 +CMT,1,1,472,2.1,CSH,8.5 +CMT,1,1,512,1.8,CSH,9.0 +CMT,1,1,336,1.4,CRD,6.5 +CMT,1,1,120,0.6,CRD,4.0 +CMT,1,1,600,2.1,CRD,10.0 +CMT,1,1,494,1.7,CSH,8.5 +CMT,1,1,524,2.0,CRD,9.0 +CMT,1,1,435,1.0,CRD,6.5 +CMT,1,1,401,0.8,CRD,6.0 +CMT,1,1,506,1.6,CSH,8.0 +CMT,1,1,446,1.1,CRD,7.0 +CMT,1,1,553,2.6,CSH,10.0 +CMT,1,1,486,1.4,CRD,7.5 +CMT,1,1,286,1.3,CRD,6.5 +CMT,1,1,442,2.0,CRD,9.0 +CMT,1,1,1306,4.8,CRD,18.5 +CMT,1,1,151,0.5,CSH,4.5 +CMT,1,1,697,1.8,CSH,10.0 +CMT,1,1,490,1.3,CSH,7.5 +CMT,1,1,524,2.0,CSH,8.5 +CMT,1,1,1213,10.0,CRD,29.0 +CMT,1,1,547,1.7,CRD,8.5 +CMT,1,1,138,0.4,CSH,3.5 +CMT,1,1,233,0.7,CSH,4.5 +CMT,1,1,819,1.5,CRD,10.0 +CMT,1,1,784,4.3,CSH,15.0 +CMT,1,1,971,3.9,CRD,15.0 +CMT,1,1,154,0.4,CSH,4.0 +CMT,1,1,785,2.2,CSH,11.0 +CMT,1,1,1178,4.3,CSH,17.5 +CMT,1,1,175,0.5,CSH,4.0 +CMT,1,1,1071,5.3,CSH,18.5 +CMT,1,1,718,3.9,CRD,13.0 +CMT,1,1,785,2.5,CSH,11.5 +CMT,1,1,502,2.1,CSH,9.5 +CMT,1,1,165,0.5,CSH,4.5 +CMT,1,1,375,1.2,CSH,6.5 +CMT,1,1,536,0.8,CRD,7.5 +CMT,1,1,2045,7.1,CRD,26.5 +CMT,1,1,267,0.6,CRD,5.0 +CMT,1,1,836,3.9,CRD,13.5 +CMT,1,1,634,3.6,CRD,13.0 +CMT,1,1,1089,6.0,CSH,20.5 +CMT,1,1,306,0.7,CRD,5.5 +CMT,1,1,615,1.3,CRD,8.0 +CMT,1,1,102,0.4,CSH,3.5 +CMT,1,1,684,1.7,CRD,9.5 +CMT,1,1,738,1.9,CSH,10.0 +CMT,1,1,1277,4.8,CRD,18.5 +CMT,1,1,571,1.3,CRD,8.0 +CMT,1,1,300,1.3,CRD,6.5 +CMT,1,1,648,1.8,CSH,9.5 +CMT,1,1,1112,5.3,CSH,19.0 +CMT,1,1,964,3.6,CRD,14.0 +CMT,1,1,540,1.4,CSH,8.0 +CMT,1,1,676,1.5,CSH,9.0 +CMT,1,1,552,1.1,CSH,8.0 +CMT,1,1,1511,5.8,CRD,21.5 +CMT,1,1,571,2.2,CRD,9.5 +CMT,1,1,227,0.7,CRD,5.0 +CMT,1,1,244,0.6,CRD,5.0 +CMT,1,1,295,0.7,CRD,5.5 +CMT,1,1,1373,3.4,CRD,16.5 +CMT,1,1,1434,4.7,CRD,19.5 +CMT,1,1,452,2.0,CSH,8.5 +CMT,1,1,689,2.7,CSH,10.5 +CMT,1,1,1144,2.9,CRD,14.0 +CMT,1,1,236,1.1,CSH,5.5 +CMT,1,1,381,0.9,CSH,6.0 +CMT,1,1,167,1.0,CSH,5.0 +CMT,1,1,184,0.9,CRD,5.0 +CMT,1,1,141,0.8,CSH,4.5 +CMT,1,1,511,1.9,CSH,9.0 +CMT,1,1,1089,4.0,CRD,15.5 +CMT,1,1,272,0.8,CRD,5.5 +CMT,1,1,396,1.2,CSH,7.0 +CMT,1,1,863,1.7,CRD,11.0 +CMT,1,1,362,1.0,CSH,6.5 +CMT,1,1,1875,6.4,CRD,25.5 +CMT,1,1,672,2.8,CSH,10.5 +CMT,1,1,1393,6.5,CRD,23.0 +CMT,1,1,202,0.7,CRD,4.5 +CMT,1,1,826,4.7,CSH,15.5 +CMT,1,1,405,1.0,CRD,6.5 +CMT,1,1,1195,9.0,CRD,27.5 +CMT,1,1,254,1.2,CRD,6.0 +CMT,1,1,442,1.0,CRD,7.0 +CMT,1,1,715,1.7,CRD,9.5 +CMT,1,1,265,0.8,CSH,5.5 +CMT,1,1,443,1.2,CRD,7.5 +CMT,1,1,1329,7.9,CRD,25.5 +CMT,1,1,660,2.7,CSH,11.0 +CMT,1,1,63,0.3,CSH,3.0 +CMT,1,1,818,1.6,CSH,10.5 +CMT,1,1,628,1.9,CRD,10.0 +CMT,1,1,224,1.0,CSH,5.0 +CMT,1,1,1773,6.3,CSH,24.0 +CMT,1,1,2338,6.4,CRD,27.5 +CMT,1,1,449,1.8,CSH,8.0 +CMT,1,1,1111,2.8,CRD,14.5 +CMT,1,1,187,1.5,CSH,6.5 +CMT,1,1,1534,3.0,CRD,17.5 +CMT,1,1,410,0.9,CSH,6.5 +CMT,1,1,528,2.4,CRD,10.0 +CMT,1,1,358,1.3,CRD,6.5 +CMT,1,1,261,0.5,CSH,5.0 +CMT,1,1,1552,4.3,CRD,19.0 +CMT,1,1,180,0.2,CRD,4.0 +CMT,1,1,659,1.2,CRD,9.0 +CMT,1,1,78,0.4,CRD,3.5 +CMT,5,1,63,0.0,CRD,53.0 +CMT,1,1,205,0.5,CSH,4.5 +CMT,1,1,748,1.4,CSH,9.5 +CMT,1,1,663,2.6,CRD,11.0 +CMT,1,1,996,5.3,CRD,17.5 +CMT,1,1,497,1.5,CRD,8.0 +CMT,1,1,1121,6.6,CRD,20.5 +CMT,1,1,417,1.0,CSH,6.5 +CMT,1,1,980,2.3,CRD,12.5 +CMT,1,1,1052,2.2,CSH,12.0 +CMT,1,1,169,0.5,CRD,4.0 +CMT,1,1,401,0.6,CRD,6.0 +CMT,1,1,184,0.9,CSH,4.5 +CMT,1,1,1282,6.4,CRD,23.0 +CMT,1,1,276,0.8,CSH,5.5 +CMT,1,1,380,1.8,CRD,7.5 +CMT,1,1,352,1.0,CSH,6.0 +CMT,1,1,416,0.9,CSH,6.5 +CMT,1,1,443,0.8,CSH,6.5 +CMT,1,1,1378,3.8,CSH,18.0 +CMT,1,1,1335,6.2,CSH,22.0 +CMT,1,1,508,2.1,CRD,9.0 +CMT,1,1,289,0.8,CRD,5.5 +CMT,1,1,467,0.8,CSH,6.5 +CMT,1,1,1072,3.1,CRD,15.0 +CMT,1,1,1153,2.5,CSH,13.5 +CMT,1,1,542,2.1,CSH,9.5 +CMT,1,1,729,1.4,CRD,9.5 +CMT,1,1,526,1.8,CSH,9.0 +CMT,1,1,1110,3.0,CRD,14.0 +CMT,1,1,897,1.8,CSH,11.5 +CMT,1,1,502,1.3,CSH,7.5 +CMT,1,1,347,0.6,CRD,6.0 +CMT,1,1,189,0.7,CSH,4.5 +CMT,1,1,769,3.8,CSH,13.5 +CMT,1,1,1388,13.1,CRD,36.5 +CMT,1,1,521,1.6,CRD,8.0 +CMT,1,1,224,0.7,CSH,4.5 +CMT,1,1,262,0.9,CRD,5.5 +CMT,1,1,578,1.4,CRD,8.0 +CMT,1,1,396,1.2,CSH,7.0 +CMT,1,1,1177,9.1,CRD,27.0 +CMT,1,1,198,0.7,CSH,5.0 +CMT,1,1,1159,3.2,CRD,15.0 +CMT,1,1,591,2.2,CRD,9.5 +CMT,1,1,117,0.9,CRD,4.5 +CMT,1,1,444,1.4,CSH,7.5 +CMT,1,1,256,0.8,CRD,5.0 +CMT,1,1,803,3.3,CSH,12.5 +CMT,1,1,1009,8.1,CRD,24.5 +CMT,1,1,560,3.2,CRD,11.5 +CMT,1,1,336,0.8,CRD,6.0 +CMT,1,1,214,0.7,CSH,4.5 +CMT,1,1,432,1.4,CSH,7.5 +CMT,1,1,601,1.6,CRD,9.0 +CMT,1,1,216,0.5,CRD,4.5 +CMT,1,1,224,0.3,CRD,4.5 +CMT,1,1,1099,1.6,CSH,13.0 +CMT,1,1,1268,10.2,CRD,30.0 +CMT,1,1,471,2.3,CRD,9.0 +CMT,1,1,672,2.1,CSH,10.5 +CMT,1,1,1332,8.0,CSH,25.0 +CMT,1,1,884,8.5,CRD,24.0 +CMT,1,1,707,2.7,CRD,11.0 +CMT,1,1,670,1.7,CRD,9.5 +CMT,1,1,512,1.7,CRD,8.0 +CMT,1,1,917,3.4,CRD,14.0 +CMT,1,1,296,1.2,CSH,6.0 +CMT,1,1,996,2.8,CSH,13.5 +CMT,1,1,1002,8.5,CSH,25.5 +CMT,1,1,761,3.1,CSH,13.0 +CMT,1,1,370,0.6,CRD,5.5 +CMT,1,1,668,2.2,CRD,10.0 +CMT,1,1,200,0.4,CRD,4.0 +CMT,1,1,292,0.7,CRD,5.5 +CMT,1,1,307,1.7,CSH,7.0 +CMT,1,1,552,1.0,CRD,7.5 +CMT,1,1,396,1.3,CRD,7.0 +CMT,1,1,416,1.0,CRD,6.5 +CMT,1,1,752,3.2,CRD,12.5 +CMT,1,1,293,0.7,CSH,5.0 +CMT,1,1,1324,3.9,CRD,18.0 +CMT,1,1,626,1.0,CRD,8.0 +CMT,1,1,444,2.0,CRD,8.0 +CMT,1,1,767,3.5,CRD,13.5 +CMT,1,1,508,1.6,CSH,8.0 +CMT,1,1,608,2.1,CSH,10.0 +CMT,1,1,204,0.8,CSH,5.0 +CMT,1,1,519,1.5,CRD,8.0 +CMT,2,1,1305,16.5,CRD,52.0 +CMT,1,1,616,1.9,CRD,9.5 +CMT,1,2,197,0.5,CRD,4.5 +CMT,1,1,583,1.1,CSH,7.5 +CMT,1,1,1840,4.2,CSH,21.0 +CMT,1,1,426,1.2,CSH,7.5 +CMT,1,1,288,1.2,CSH,6.0 +CMT,1,1,427,0.7,CSH,6.0 +CMT,1,1,980,3.5,CRD,14.5 +CMT,1,1,207,0.5,CRD,4.5 +CMT,1,1,519,1.2,CRD,7.5 +CMT,1,1,281,0.9,CRD,5.5 +CMT,1,1,685,1.3,CRD,9.0 +CMT,1,1,207,0.9,CRD,5.0 +CMT,1,1,1066,2.1,CSH,12.5 +CMT,1,1,630,2.0,CRD,9.5 +CMT,1,1,200,0.5,CSH,4.5 +CMT,1,1,668,1.1,CSH,8.5 +CMT,1,1,138,0.3,CRD,3.5 +CMT,1,1,404,1.5,CSH,8.0 +CMT,1,1,812,4.0,CRD,14.0 +CMT,1,1,412,1.5,CRD,7.5 +CMT,1,1,867,4.9,CRD,16.5 +CMT,1,1,211,0.5,CSH,4.5 +CMT,1,1,632,0.9,CSH,8.0 +CMT,1,1,440,0.6,CRD,6.0 +CMT,1,1,1165,2.7,CRD,14.5 +CMT,1,1,690,2.2,CRD,10.5 +CMT,1,1,549,1.6,CSH,8.5 +CMT,1,1,221,0.6,CSH,4.5 +CMT,1,2,565,0.7,CSH,7.0 +CMT,2,1,3112,18.4,CRD,52.0 +CMT,2,2,2793,15.1,CRD,52.0 +CMT,1,1,286,2.0,CRD,7.5 +CMT,2,1,2965,17.7,CRD,52.0 +CMT,1,1,1083,6.3,CRD,21.0 +CMT,1,1,930,3.5,CRD,14.5 +CMT,1,1,710,3.6,CRD,13.0 +CMT,1,2,619,1.7,CSH,9.0 +CMT,1,1,1225,3.3,CRD,16.0 +CMT,1,1,929,3.3,CRD,13.5 +CMT,1,2,1518,4.1,CSH,22.0 +CMT,1,2,274,1.0,CSH,5.5 +CMT,1,1,1349,6.6,CRD,22.5 +CMT,1,2,1434,7.2,CRD,24.0 +CMT,1,1,674,5.1,CRD,16.5 +CMT,1,1,555,2.1,CRD,9.0 +CMT,1,1,777,3.9,CRD,14.0 +CMT,1,1,881,3.2,CSH,13.5 +CMT,1,1,864,2.9,CSH,13.0 +CMT,1,1,267,0.7,CRD,5.0 +CMT,1,1,774,1.4,CSH,9.5 +CMT,1,1,464,1.5,CSH,7.5 +CMT,1,1,234,0.6,CSH,4.5 +CMT,1,1,598,1.9,CSH,9.5 +CMT,1,1,1536,5.9,CRD,22.5 +CMT,1,1,670,1.2,CSH,8.5 +CMT,1,1,440,1.9,CRD,8.0 +CMT,1,1,560,1.3,CSH,8.0 +CMT,1,1,6628,41.4,CRD,125.5 +CMT,1,1,923,3.8,CRD,14.0 +CMT,1,1,592,1.6,CSH,8.5 +CMT,1,1,265,0.8,CRD,5.5 +CMT,1,1,528,1.7,CRD,8.5 +CMT,1,1,431,1.3,CSH,7.0 +CMT,1,1,293,0.9,CSH,5.5 +CMT,1,1,314,1.1,CRD,6.0 +CMT,1,1,488,1.6,CRD,8.0 +CMT,1,1,655,2.8,CRD,11.0 +CMT,1,1,1529,4.2,CRD,19.0 +CMT,1,1,465,1.3,CSH,7.5 +CMT,1,1,170,0.8,CRD,4.5 +CMT,1,1,588,1.9,CRD,9.0 +CMT,1,1,178,0.5,CRD,4.0 +CMT,1,1,298,1.2,CSH,6.5 +CMT,1,1,209,0.9,CRD,5.0 +CMT,1,1,692,3.0,CRD,12.0 +CMT,1,1,441,1.3,CRD,7.0 +CMT,1,1,449,1.1,CRD,7.0 +CMT,1,1,421,1.6,CRD,8.0 +CMT,1,1,476,1.0,CSH,7.0 +CMT,1,1,636,2.8,CSH,11.0 +CMT,1,1,589,1.4,CRD,8.5 +CMT,1,1,523,2.6,CRD,10.5 +CMT,1,1,388,1.3,CRD,7.0 +CMT,1,1,936,3.9,CSH,14.5 +CMT,1,1,690,2.7,CRD,12.0 +CMT,1,1,241,0.8,CRD,5.0 +CMT,1,1,672,2.0,CRD,9.5 +CMT,1,1,408,1.1,CRD,6.5 +CMT,1,1,438,1.0,CRD,6.5 +CMT,1,1,838,3.4,CSH,14.0 +CMT,1,1,292,1.6,CRD,6.5 +CMT,1,1,783,4.2,CRD,14.5 +CMT,1,1,1177,5.1,CRD,18.5 +CMT,1,1,446,3.4,CSH,11.0 +CMT,1,1,258,1.4,CRD,6.0 +CMT,1,1,475,1.4,CRD,7.5 +CMT,1,1,488,1.3,CSH,7.5 +CMT,1,1,1297,2.2,CSH,14.5 +CMT,1,1,1891,2.6,CRD,19.5 +CMT,1,1,543,1.2,CSH,7.5 +CMT,1,1,1147,1.9,CRD,13.0 +CMT,1,1,85,0.6,CSH,4.5 +CMT,1,1,1389,9.9,CRD,29.5 +CMT,1,1,355,1.2,CRD,6.0 +CMT,1,1,1542,2.8,CRD,18.0 +CMT,1,1,1623,10.3,CSH,30.5 +CMT,1,1,319,1.2,CSH,6.5 +CMT,1,1,301,1.1,CRD,6.0 +CMT,1,1,916,5.0,CRD,17.5 +CMT,1,1,781,5.2,CSH,17.5 +CMT,1,1,896,2.8,CSH,12.5 +CMT,1,1,806,3.6,CRD,14.0 +CMT,1,1,801,3.3,CRD,13.0 +CMT,1,1,539,1.4,CSH,8.0 +CMT,1,1,375,1.1,CSH,6.5 +CMT,1,1,535,2.5,CRD,9.5 +CMT,1,1,360,1.1,CRD,6.5 +CMT,1,1,405,1.0,CRD,6.5 +CMT,1,1,220,0.5,CSH,4.5 +CMT,1,1,365,1.6,CSH,7.5 +CMT,1,1,894,3.4,CRD,13.5 +CMT,1,2,960,2.2,CSH,12.5 +CMT,1,1,654,3.1,CSH,11.5 +CMT,1,1,273,0.7,CSH,5.5 +CMT,2,1,3510,18.8,CRD,52.0 +CMT,1,1,919,2.7,CRD,12.5 +CMT,1,1,538,1.5,CSH,8.0 +CMT,1,1,372,0.9,CRD,6.0 +CMT,1,1,177,0.5,CSH,4.0 +CMT,1,1,961,3.9,CSH,15.0 +CMT,1,1,640,2.1,CSH,10.0 +CMT,1,1,542,1.4,CSH,8.0 +CMT,1,1,663,1.8,CRD,9.0 +CMT,1,1,409,1.1,CRD,7.0 +CMT,1,1,758,1.7,CSH,10.0 +CMT,1,1,159,0.5,CSH,4.0 +CMT,1,1,487,2.0,CSH,8.5 +CMT,1,2,255,0.5,CSH,4.5 +CMT,1,1,1213,3.9,CRD,16.0 +CMT,1,1,562,2.1,CRD,9.5 +CMT,1,1,393,1.1,CRD,6.5 +CMT,1,1,426,0.8,CRD,6.0 +CMT,1,1,739,4.2,CSH,14.0 +CMT,1,1,698,2.0,CSH,10.0 +CMT,1,1,810,1.5,CRD,10.0 +CMT,1,1,1472,3.5,CSH,17.5 +CMT,1,1,625,1.8,CRD,9.5 +CMT,1,1,451,1.6,CRD,7.5 +CMT,1,1,635,2.4,CRD,10.5 +CMT,1,1,171,0.6,CSH,4.5 +CMT,1,1,649,2.0,CRD,9.5 +CMT,1,1,1171,9.4,CRD,27.5 +CMT,1,1,1325,10.0,CSH,30.0 +CMT,1,1,772,2.0,CSH,10.5 +CMT,1,1,521,1.5,CRD,8.5 +CMT,1,1,390,1.3,CSH,7.0 +CMT,1,1,517,2.1,CSH,8.5 +CMT,1,1,652,2.3,CSH,10.0 +CMT,1,1,719,0.7,CSH,8.5 +CMT,1,1,876,4.2,CRD,14.5 +CMT,1,1,568,0.7,CRD,7.0 +CMT,1,1,575,1.9,CRD,8.5 +CMT,1,1,457,2.3,CSH,9.0 +CMT,1,1,1157,4.6,CRD,18.0 +CMT,1,1,232,0.8,CRD,5.0 +CMT,1,1,1911,7.9,CRD,29.0 +CMT,1,1,313,0.9,CSH,5.5 +CMT,1,1,372,1.1,CRD,6.5 +CMT,1,1,672,1.8,CRD,10.0 +CMT,1,1,427,1.5,CSH,7.5 +CMT,1,1,796,2.5,CSH,12.0 +CMT,1,1,956,3.4,CSH,13.5 +CMT,1,1,1302,5.3,CRD,19.5 +CMT,1,1,84,0.1,CSH,3.0 +CMT,1,1,1405,4.8,CRD,19.0 +CMT,1,1,647,1.0,CRD,8.0 +CMT,1,1,259,0.5,CSH,5.0 +CMT,1,1,686,1.6,CSH,9.5 +CMT,1,1,1014,4.4,CSH,16.0 +CMT,1,1,103,0.6,CSH,4.0 +CMT,1,1,258,0.8,CSH,5.0 +CMT,1,1,814,6.6,CSH,20.5 +CMT,1,1,543,2.0,CSH,9.0 +CMT,1,1,857,3.4,CSH,13.5 +CMT,1,1,559,2.7,CRD,11.0 +CMT,1,1,1078,2.7,CSH,13.5 +CMT,1,1,1079,2.0,CSH,13.0 +CMT,1,1,1711,7.2,CRD,26.0 +CMT,1,1,377,1.1,CSH,6.5 +CMT,1,1,439,1.3,CSH,7.0 +CMT,1,1,877,2.5,CSH,12.0 +CMT,1,1,455,1.2,CSH,7.5 +CMT,1,1,833,2.8,CRD,12.5 +CMT,1,1,437,1.3,CSH,7.0 +CMT,1,2,398,1.3,CRD,7.5 +CMT,1,1,193,0.7,CRD,4.5 +CMT,1,1,329,0.7,CRD,6.0 +CMT,1,1,224,0.9,CSH,5.5 +CMT,1,1,880,3.2,CSH,13.5 +CMT,1,2,861,2.2,CRD,11.0 +CMT,1,1,477,1.3,CRD,7.5 +CMT,1,2,247,1.3,CRD,6.0 +CMT,1,1,382,0.9,CSH,6.0 +CMT,1,4,556,1.4,CSH,8.0 +CMT,1,2,222,0.6,CSH,5.0 +CMT,1,1,938,4.7,CSH,17.0 +CMT,1,2,608,3.4,CRD,12.0 +CMT,1,2,569,2.3,CRD,10.0 +CMT,2,1,2481,20.7,CRD,52.0 +CMT,1,1,452,1.0,CSH,7.0 +CMT,1,1,621,1.8,CSH,9.0 +CMT,1,1,688,1.8,CSH,9.5 +CMT,1,1,691,1.7,CRD,9.5 +CMT,1,1,1134,4.5,CRD,16.5 +CMT,1,1,636,2.0,CRD,9.5 +CMT,1,1,601,1.8,CRD,9.0 +CMT,1,1,326,1.6,CRD,7.0 +CMT,1,1,718,3.0,CSH,12.0 +CMT,1,2,519,2.0,CSH,9.0 +CMT,1,1,485,3.7,CSH,12.5 +CMT,1,1,671,1.3,CSH,8.5 +CMT,1,1,467,2.1,CSH,8.5 +CMT,1,2,229,0.7,CSH,4.5 +CMT,1,2,275,1.9,CRD,7.5 +CMT,1,1,587,4.0,CRD,13.0 +CMT,1,3,445,1.4,CSH,7.0 +CMT,1,1,122,0.4,CRD,4.0 +CMT,1,1,676,3.2,CSH,12.5 +CMT,1,3,806,5.5,CRD,17.5 +CMT,1,3,706,2.8,CSH,11.5 +CMT,1,1,762,2.4,CSH,10.5 +CMT,1,3,298,0.5,CSH,5.0 +CMT,1,2,720,2.7,CSH,11.5 +CMT,1,1,723,3.1,CRD,12.0 +CMT,1,2,374,1.2,CRD,7.0 +CMT,1,1,1643,8.0,CRD,27.5 +CMT,1,1,396,1.2,CRD,7.0 +CMT,1,1,168,0.4,CRD,4.0 +CMT,1,1,289,1.1,CSH,6.0 +CMT,1,1,701,1.6,CSH,9.0 +CMT,1,1,693,2.4,CRD,11.0 +CMT,1,1,1879,12.1,CRD,37.0 +CMT,1,1,398,1.5,CRD,7.0 +CMT,1,1,601,0.8,CSH,7.5 +CMT,1,1,765,2.1,CRD,10.5 +CMT,1,1,532,1.2,CRD,7.5 +CMT,1,1,221,0.6,CSH,4.5 +CMT,1,1,248,0.7,CSH,5.0 +CMT,1,1,1309,5.6,CRD,20.0 +CMT,1,1,154,0.9,CSH,4.5 +CMT,1,1,525,0.9,CRD,7.0 +CMT,1,1,366,1.1,CSH,6.5 +CMT,1,1,938,4.7,CRD,17.0 +CMT,1,1,1050,3.4,CSH,15.0 +CMT,1,1,555,1.3,CRD,7.5 +CMT,1,1,3149,13.5,CSH,44.5 +CMT,1,1,104,0.5,CRD,3.5 +CMT,1,1,816,3.3,CRD,12.5 +CMT,1,1,649,2.6,CSH,11.0 +CMT,1,2,1017,3.9,CSH,15.5 +CMT,1,1,397,2.2,CSH,8.0 +CMT,1,1,991,4.5,CSH,16.5 +CMT,1,1,1318,3.4,CSH,16.0 +CMT,1,1,443,1.2,CRD,7.0 +CMT,1,1,1459,4.6,CRD,19.5 +CMT,1,1,618,1.6,CRD,8.5 +CMT,1,1,1321,4.3,CRD,17.5 +CMT,1,1,752,3.0,CRD,12.0 +CMT,1,1,456,1.6,CSH,8.5 +CMT,1,1,527,1.9,CRD,8.5 +CMT,1,1,725,1.3,CSH,9.0 +CMT,1,1,508,1.5,CSH,8.0 +CMT,1,1,623,2.0,CRD,9.5 +CMT,1,1,1353,5.7,CRD,20.5 +CMT,1,1,451,1.1,CRD,7.0 +CMT,1,1,1141,3.7,CRD,15.5 +CMT,1,1,1060,5.6,CRD,20.0 +CMT,1,2,290,1.0,CRD,6.0 +CMT,1,4,500,2.2,CSH,9.0 +CMT,1,1,215,0.8,CSH,5.0 +CMT,1,1,542,2.0,CRD,9.0 +CMT,1,1,572,2.0,CRD,9.5 +CMT,1,1,170,0.8,CSH,4.5 +CMT,1,1,618,1.9,CRD,9.0 +CMT,1,2,397,0.9,CSH,6.0 +CMT,1,1,367,2.4,CRD,8.5 +CMT,1,3,547,3.6,CRD,12.0 +CMT,1,1,292,1.0,CRD,6.0 +CMT,1,1,748,2.2,CSH,10.5 +CMT,1,1,1242,7.0,CSH,23.5 +CMT,1,1,322,0.1,CSH,5.0 +CMT,1,1,1649,6.6,CRD,23.5 +CMT,1,1,1279,3.2,CSH,15.5 +CMT,1,1,1426,4.4,CRD,18.5 +CMT,1,1,1221,3.5,CSH,15.5 +CMT,1,1,1008,4.9,CRD,18.0 +CMT,1,1,116,0.3,CRD,3.5 +CMT,1,1,839,2.9,CRD,12.5 +CMT,1,1,383,0.7,CSH,6.0 +CMT,1,1,568,3.4,CSH,12.5 +CMT,1,1,425,1.5,CRD,7.0 +CMT,1,1,126,0.9,CRD,4.5 +CMT,1,1,518,0.9,CRD,7.0 +CMT,1,1,1908,6.3,CSH,23.5 +CMT,1,1,542,2.1,CRD,9.5 +CMT,1,1,322,1.1,CSH,6.0 +CMT,1,2,330,1.5,CRD,6.5 +CMT,1,1,126,0.5,CSH,4.0 +CMT,1,1,423,1.1,CSH,7.0 +CMT,1,4,183,0.9,CSH,4.5 +CMT,1,1,332,1.3,CSH,6.5 +CMT,1,3,221,1.2,CSH,5.5 +CMT,1,1,517,2.3,CSH,9.0 +CMT,1,1,1098,2.8,CRD,14.0 +CMT,1,1,1490,7.8,CRD,26.0 +CMT,1,1,878,1.4,CSH,10.5 +CMT,1,1,976,1.5,CRD,11.0 +CMT,1,1,1088,3.4,CSH,15.5 +CMT,1,1,196,0.6,CRD,4.5 +CMT,1,1,1113,5.5,CRD,20.5 +CMT,1,1,79,0.5,CSH,3.5 +CMT,1,1,690,3.3,CRD,13.0 +CMT,1,2,350,1.1,CSH,6.5 +CMT,1,1,628,3.0,CRD,11.0 +CMT,1,3,255,1.1,CSH,5.5 +CMT,1,2,506,1.0,CRD,7.0 +CMT,1,2,1675,16.4,CRD,45.0 +CMT,1,3,516,1.4,CRD,7.5 +CMT,1,1,1110,9.7,CRD,28.5 +CMT,1,1,143,1.0,CRD,5.0 +CMT,1,1,411,1.7,CSH,8.5 +CMT,1,1,1323,10.9,CRD,31.5 +CMT,1,1,770,1.1,CSH,9.0 +CMT,1,1,476,1.7,CSH,8.0 +CMT,1,1,539,3.1,CRD,11.5 +CMT,1,1,817,2.3,CSH,11.5 +CMT,1,1,373,1.3,CRD,6.5 +CMT,1,1,282,1.0,CRD,5.5 +CMT,1,1,1138,3.5,CRD,15.5 +CMT,1,1,216,0.8,CSH,5.0 +CMT,1,1,702,3.4,CRD,12.5 +CMT,1,2,330,1.4,CSH,7.0 +CMT,1,1,239,0.7,CRD,4.5 +CMT,1,1,970,7.1,CSH,22.0 +CMT,1,2,416,1.3,CSH,7.0 +CMT,1,4,365,0.8,CRD,6.0 +CMT,5,1,1279,5.6,CSH,50.0 +CMT,1,1,593,2.8,CRD,11.0 +CMT,1,3,293,1.0,CRD,5.5 +CMT,1,1,215,0.8,CSH,5.0 +CMT,1,1,348,1.6,CRD,7.5 +CMT,1,1,379,1.5,CRD,8.0 +CMT,1,1,326,0.7,CRD,5.5 +CMT,1,1,3,0.0,DIS,2.5 +CMT,1,1,321,1.7,CSH,7.5 +CMT,1,1,436,0.8,CRD,6.5 +CMT,1,1,441,0.9,CRD,6.5 +CMT,1,1,356,0.9,CRD,5.5 +CMT,1,1,1159,2.9,CSH,14.5 +CMT,1,1,747,2.9,CSH,12.0 +CMT,1,1,368,1.3,CSH,7.0 +CMT,1,1,260,1.6,CSH,7.0 +CMT,1,1,1427,3.3,CSH,16.5 +CMT,1,1,175,0.4,CRD,4.0 +CMT,1,1,589,2.1,CRD,9.5 +CMT,1,1,1187,4.5,CRD,19.5 +CMT,1,1,553,1.7,CSH,8.5 +CMT,1,1,386,1.3,CRD,6.5 +CMT,1,1,421,1.7,CRD,7.5 +CMT,1,1,694,2.3,CSH,10.0 +CMT,1,1,1373,6.8,CRD,23.5 +CMT,1,1,1152,7.1,CRD,23.0 +CMT,1,1,511,2.1,CRD,9.0 +CMT,1,1,665,2.1,CSH,10.0 +CMT,1,1,605,0.9,CRD,8.0 +CMT,1,1,158,0.6,CRD,4.5 +CMT,1,1,305,1.0,CRD,6.0 +CMT,1,1,137,0.3,CSH,3.5 +CMT,1,2,582,1.6,CSH,9.0 +CMT,1,1,282,0.9,CSH,5.5 +CMT,1,1,576,2.8,CRD,11.5 +CMT,1,1,190,0.4,CSH,4.0 +CMT,1,1,203,0.9,CSH,5.0 +CMT,1,4,589,1.9,CSH,9.0 +CMT,1,3,498,1.6,CRD,8.0 +CMT,1,1,1283,4.2,CRD,17.5 +CMT,1,1,424,1.3,CRD,7.5 +CMT,1,1,692,1.9,CSH,9.5 +CMT,1,1,317,1.4,CRD,7.0 +CMT,1,2,488,2.0,CRD,8.5 +CMT,1,1,1089,7.3,CSH,23.0 +CMT,1,1,415,1.8,CRD,8.0 +CMT,1,3,279,1.0,CRD,6.0 +CMT,1,1,178,0.7,CSH,4.5 +CMT,1,1,72,0.3,CSH,3.5 +CMT,1,1,107,0.2,CSH,3.5 +CMT,1,1,672,4.0,CRD,14.0 +CMT,1,1,715,3.3,CRD,12.0 +CMT,1,3,1187,5.1,CRD,18.5 +CMT,2,4,2043,18.4,CSH,52.0 +CMT,1,3,2261,9.9,CRD,33.5 +CMT,1,2,1352,4.1,CRD,18.0 +CMT,1,2,995,2.8,CRD,13.5 +CMT,1,1,49,0.1,NOC,2.5 +CMT,1,1,312,0.9,CSH,6.0 +CMT,1,1,684,2.4,CRD,11.0 +CMT,1,1,346,1.3,CSH,6.5 +CMT,1,1,1100,2.8,CRD,14.5 +CMT,1,1,30,0.2,CSH,3.0 +CMT,1,1,637,2.1,CRD,10.0 +CMT,1,1,961,1.6,CSH,11.5 +CMT,1,1,779,1.8,CRD,10.0 +CMT,1,1,284,1.4,CRD,6.5 +CMT,1,1,556,2.1,CRD,9.5 +CMT,1,1,364,1.8,CSH,7.5 +CMT,1,1,325,1.5,CSH,6.5 +CMT,1,1,1024,2.6,CSH,13.5 +CMT,1,3,378,1.0,CRD,6.5 +CMT,1,2,552,1.3,CSH,8.0 +CMT,1,2,1271,5.0,CSH,19.5 +CMT,1,1,208,0.5,CSH,4.5 +CMT,1,1,417,2.1,CSH,8.5 +CMT,1,1,1087,1.5,CSH,12.0 +CMT,1,1,376,2.1,CRD,8.5 +CMT,1,1,368,2.2,CRD,8.0 +CMT,1,1,635,2.7,CRD,10.5 +CMT,1,1,539,1.6,CRD,8.0 +CMT,1,1,369,1.3,CRD,6.5 +CMT,1,1,728,1.7,CSH,9.5 +CMT,1,1,840,1.8,CSH,10.5 +CMT,1,1,154,0.2,CSH,3.5 +CMT,1,1,743,1.1,CRD,9.5 +CMT,1,1,465,1.8,CSH,8.0 +CMT,1,1,602,3.3,CRD,12.0 +CMT,1,1,798,1.3,CSH,10.0 +CMT,1,1,337,0.9,CSH,6.0 +CMT,1,1,960,2.8,CRD,13.0 +CMT,1,1,855,1.6,CRD,10.5 +CMT,1,1,860,1.7,CRD,11.0 +CMT,1,1,112,0.3,CSH,3.5 +CMT,1,1,337,1.7,CRD,7.5 +CMT,1,1,858,1.8,CSH,11.0 +CMT,1,1,290,0.6,CSH,5.0 +CMT,1,1,321,2.2,CRD,8.5 +CMT,1,1,1797,11.2,CRD,34.0 +CMT,1,3,1555,6.0,CSH,23.5 +CMT,1,1,709,3.6,CRD,13.0 +CMT,1,2,1221,5.4,CSH,19.5 +CMT,1,2,1742,7.0,CSH,25.0 +CMT,1,2,795,2.0,CRD,11.0 +CMT,1,2,789,4.0,CRD,14.5 +CMT,1,1,381,1.4,CSH,7.0 +CMT,1,1,445,1.5,CRD,8.0 +CMT,1,1,121,0.7,CRD,4.0 +CMT,1,1,961,2.3,CSH,12.5 +CMT,1,1,1444,6.2,CRD,22.5 +CMT,1,1,753,3.2,CRD,13.0 +CMT,1,1,1026,4.9,CSH,17.5 +CMT,1,1,466,0.8,CSH,7.0 +CMT,1,1,12,0.0,DIS,2.5 +CMT,1,1,844,7.7,CSH,22.5 +CMT,1,1,118,0.5,CSH,4.0 +CMT,1,1,328,1.5,CSH,6.5 +CMT,1,1,577,1.6,CSH,8.5 +CMT,1,1,1327,3.0,CSH,15.5 +CMT,1,1,111,0.6,CSH,4.0 +CMT,1,1,513,4.6,CRD,14.5 +CMT,1,1,1203,4.9,CSH,18.0 +CMT,1,1,1273,10.3,CRD,30.5 +CMT,1,2,1479,11.0,CSH,32.0 +CMT,2,3,2214,18.1,CSH,52.0 +CMT,1,2,527,2.1,CSH,9.0 +CMT,1,2,839,3.1,CRD,12.5 +CMT,1,1,207,1.2,CRD,5.5 +CMT,1,1,753,0.0,DIS,2.5 +CMT,1,1,421,1.1,CRD,6.5 +CMT,1,1,488,1.5,CRD,8.0 +CMT,1,1,285,0.8,CSH,5.5 +CMT,1,1,387,1.7,CSH,7.5 +CMT,1,1,559,2.0,CSH,9.0 +CMT,1,1,368,0.7,CRD,6.0 +CMT,1,1,145,0.4,CRD,4.0 +CMT,1,1,1492,9.5,CSH,30.0 +CMT,1,1,298,1.2,CRD,6.5 +CMT,1,1,640,1.1,CRD,8.5 +CMT,1,1,145,0.6,CRD,4.0 +CMT,1,1,669,2.2,CRD,10.0 +CMT,1,1,119,0.3,CSH,4.0 +CMT,1,1,624,1.3,CRD,8.5 +CMT,1,1,424,3.2,CSH,10.5 +CMT,1,1,523,1.2,CSH,8.0 +CMT,1,1,574,1.7,CRD,9.0 +CMT,1,1,1036,1.7,CSH,12.0 +CMT,1,1,564,1.1,CSH,8.0 +CMT,1,1,776,1.6,CRD,10.0 +CMT,1,1,334,1.2,CRD,6.0 +CMT,1,1,432,1.4,CRD,8.0 +CMT,1,1,312,1.8,CRD,7.5 +CMT,1,1,1483,5.6,CRD,21.5 +CMT,1,1,1152,3.3,CSH,15.0 +CMT,1,1,255,0.2,CRD,4.5 +CMT,1,1,643,1.4,CSH,9.0 +CMT,1,1,435,3.0,CRD,10.0 +CMT,1,1,866,2.5,CRD,12.5 +CMT,1,1,341,0.9,CSH,6.0 +CMT,1,1,509,2.8,CRD,10.5 +CMT,1,1,639,1.5,CSH,9.0 +CMT,1,1,239,0.4,CRD,4.5 +CMT,1,1,1157,3.5,CSH,16.0 +CMT,1,1,532,1.2,CRD,7.5 +CMT,1,1,538,3.0,CRD,11.0 +CMT,1,1,693,2.1,CRD,10.0 +CMT,1,1,492,3.1,CSH,11.5 +CMT,1,1,599,1.5,CRD,8.5 +CMT,1,1,389,1.3,CSH,6.5 +CMT,1,1,1097,2.8,CSH,14.0 +CMT,1,1,376,1.2,CSH,7.0 +CMT,1,1,902,3.3,CSH,13.0 +CMT,1,1,55,0.3,CSH,3.0 +CMT,1,1,578,2.7,CRD,10.5 +CMT,1,1,735,3.1,CRD,12.0 +CMT,1,1,928,5.3,CSH,18.0 +CMT,1,1,724,3.2,CSH,12.5 +CMT,1,1,109,0.5,CRD,4.0 +CMT,1,1,628,2.4,CSH,10.0 +CMT,1,1,604,2.1,NOC,10.0 +CMT,1,1,259,0.7,CRD,5.0 +CMT,1,1,1107,1.2,CRD,12.0 +CMT,1,1,581,1.9,CSH,9.5 +CMT,1,1,1063,2.8,CSH,13.5 +CMT,1,1,787,4.6,CRD,15.5 +CMT,1,1,1094,3.1,CRD,14.5 +CMT,1,1,171,0.7,CRD,4.5 +CMT,1,1,358,1.0,CSH,6.0 +CMT,1,1,353,1.0,CRD,6.0 +CMT,1,1,818,3.2,CSH,12.5 +CMT,1,1,1108,2.7,CRD,13.5 +CMT,1,1,660,1.6,CRD,9.5 +CMT,1,1,336,1.3,CRD,7.0 +CMT,1,1,1385,3.1,CRD,16.5 +CMT,1,1,461,0.7,CRD,6.5 +CMT,1,1,383,1.0,CRD,6.5 +CMT,1,1,358,0.7,CSH,6.0 +CMT,1,1,490,0.8,CRD,6.5 +CMT,1,1,1221,5.5,CRD,20.5 +CMT,1,1,324,1.1,CSH,6.0 +CMT,1,1,900,3.1,CRD,13.5 +CMT,1,1,741,2.4,CRD,11.5 +CMT,1,1,97,0.3,CRD,3.5 +CMT,1,1,868,2.2,CRD,11.5 +CMT,1,1,707,2.1,CSH,10.0 +CMT,1,1,968,2.7,CRD,13.0 +CMT,1,1,537,3.0,CRD,11.0 +CMT,2,1,1924,20.3,CRD,52.0 +CMT,1,1,600,2.5,CSH,10.5 +CMT,1,1,135,0.6,CRD,4.0 +CMT,1,1,1187,3.8,CSH,16.0 +CMT,1,1,702,1.5,CRD,9.5 +CMT,1,1,463,0.5,CRD,6.5 +CMT,1,1,446,1.3,CRD,7.0 +CMT,1,1,579,1.0,CSH,8.0 +CMT,1,1,655,1.9,CSH,9.0 +CMT,1,1,660,0.9,CRD,8.0 +CMT,1,1,718,5.6,CSH,17.5 +CMT,1,1,2006,9.3,CRD,31.5 +CMT,1,1,471,0.9,CRD,7.0 +CMT,1,1,368,1.3,CRD,7.0 +CMT,1,1,639,0.8,CRD,8.0 +CMT,1,1,136,0.4,CSH,4.0 +CMT,1,1,129,0.6,CSH,4.0 +CMT,1,1,216,0.6,CSH,4.5 +CMT,1,1,231,1.1,CSH,6.0 +CMT,1,1,152,0.9,CRD,5.0 +CMT,1,1,185,0.7,CSH,4.5 +CMT,1,1,741,2.8,CSH,11.5 +CMT,1,1,885,3.1,CRD,13.0 +CMT,1,1,654,2.5,CRD,10.5 +CMT,1,1,775,2.6,CRD,11.5 +CMT,1,1,1135,4.3,CRD,16.5 +CMT,1,1,516,2.0,CRD,8.5 +CMT,1,1,459,1.6,CRD,8.5 +CMT,1,1,722,3.7,CRD,13.0 +CMT,1,1,725,2.0,CSH,10.5 +CMT,1,1,639,2.7,CSH,11.0 +CMT,1,1,870,1.9,CRD,11.5 +CMT,1,1,605,1.8,CSH,9.0 +CMT,1,1,815,1.6,CSH,10.5 +CMT,1,2,494,1.9,CRD,9.0 +CMT,1,1,501,1.1,CSH,7.0 +CMT,1,1,510,1.8,CSH,9.0 +CMT,1,1,520,1.4,CRD,8.0 +CMT,1,1,588,1.4,CSH,8.0 +CMT,1,1,317,1.0,CRD,6.0 +CMT,1,1,265,1.2,CSH,6.0 +CMT,1,1,262,0.8,CRD,5.0 +CMT,1,1,595,1.2,CRD,8.0 +CMT,1,1,665,1.9,CRD,10.0 +CMT,1,1,1631,10.5,CSH,32.5 +CMT,1,1,757,2.2,CRD,11.0 +CMT,1,1,877,2.3,CSH,12.0 +CMT,1,1,129,0.4,CRD,3.5 +CMT,1,1,394,0.9,CSH,6.5 +CMT,1,1,2611,4.2,CSH,25.5 +CMT,1,1,535,1.3,CRD,8.0 +CMT,1,1,331,0.7,CSH,5.5 +CMT,1,1,521,1.5,CRD,8.0 +CMT,1,1,498,1.4,CRD,7.5 +CMT,1,1,1237,5.7,CRD,20.5 +CMT,1,1,555,2.2,CSH,10.0 +CMT,1,1,1051,3.2,CRD,14.0 +CMT,1,1,770,1.9,CRD,10.5 +CMT,1,1,58,0.4,CRD,2.5 +CMT,1,1,416,1.3,CSH,7.0 +CMT,1,1,419,1.0,CRD,6.5 +CMT,1,1,972,1.9,CSH,11.5 +CMT,1,1,351,1.1,CSH,6.0 +CMT,1,1,243,0.4,CSH,4.5 +CMT,1,1,1002,2.6,CRD,13.0 +CMT,1,1,272,1.1,CRD,5.5 +CMT,1,1,302,1.0,CSH,5.5 +CMT,1,1,651,2.2,CRD,10.0 +CMT,1,1,664,2.7,CSH,10.5 +CMT,1,1,272,1.0,CSH,5.5 +CMT,1,1,320,1.1,CRD,6.0 +CMT,1,1,300,1.4,CRD,6.5 +CMT,1,1,798,3.7,CSH,14.5 +CMT,1,2,1376,4.3,CSH,18.0 +CMT,1,2,690,3.1,CSH,12.0 +CMT,1,1,414,2.2,CSH,9.0 +CMT,1,1,468,2.1,CSH,9.0 +CMT,1,2,957,3.1,CRD,13.5 +CMT,1,1,635,1.0,CRD,8.0 +CMT,1,2,989,3.0,CRD,14.0 +CMT,1,2,925,6.1,CRD,20.0 +CMT,1,1,279,1.3,CSH,6.5 +CMT,1,1,378,1.6,CRD,7.5 +CMT,1,1,791,2.5,CRD,11.5 +CMT,1,1,624,2.0,CRD,9.5 +CMT,1,1,1437,7.1,CRD,25.0 +CMT,1,1,260,0.9,CSH,5.5 +CMT,1,1,895,2.5,CRD,12.0 +CMT,1,1,270,0.6,CRD,5.0 +CMT,1,1,1733,4.1,CRD,20.0 +CMT,1,1,448,1.4,CRD,7.5 +CMT,1,1,837,4.0,CRD,15.0 +CMT,1,1,634,2.0,CSH,9.5 +CMT,1,1,431,2.1,CRD,8.5 +CMT,1,1,709,3.7,CSH,13.0 +CMT,1,1,363,0.5,CSH,5.5 +CMT,1,1,843,2.3,CRD,11.5 +CMT,1,1,593,2.5,CRD,10.0 +CMT,1,1,301,0.5,CRD,5.0 +CMT,1,1,640,2.8,CSH,11.0 +CMT,1,1,303,0.9,CSH,5.5 +CMT,1,1,447,1.5,CSH,7.5 +CMT,1,1,312,0.8,CSH,6.0 +CMT,1,1,276,0.5,CRD,5.0 +CMT,1,1,222,0.7,CSH,5.0 +CMT,1,1,295,0.7,CSH,5.0 +CMT,1,1,591,1.8,CSH,9.0 +CMT,1,1,884,7.2,CRD,21.5 +CMT,1,1,274,0.5,CRD,5.0 +CMT,1,1,336,2.3,CSH,8.5 +CMT,1,1,645,2.0,CSH,9.5 +CMT,1,1,984,3.1,CRD,13.5 +CMT,1,1,781,2.2,CRD,10.5 +CMT,1,1,603,1.0,CRD,8.0 +CMT,1,1,976,1.3,CRD,11.0 +CMT,1,1,663,1.0,CRD,8.5 +CMT,1,1,322,1.3,CSH,6.0 +CMT,1,1,439,2.3,CSH,8.5 +CMT,1,1,246,1.3,CSH,6.0 +CMT,1,1,1714,5.0,CSH,21.5 +CMT,1,1,1633,7.5,CRD,26.5 +CMT,1,1,926,2.0,CSH,11.5 +CMT,1,1,848,2.6,CRD,11.5 +CMT,1,1,184,0.7,CSH,4.5 +CMT,1,1,512,1.7,CRD,8.0 +CMT,1,1,911,4.6,CRD,15.5 +CMT,1,1,1538,1.8,CSH,16.0 +CMT,1,1,513,2.1,CSH,9.0 +CMT,1,1,770,1.3,CRD,9.5 +CMT,2,1,2114,19.8,CRD,52.0 +CMT,1,1,1033,2.8,CSH,13.5 +CMT,1,1,603,1.1,CRD,8.0 +CMT,1,1,634,1.7,CRD,9.5 +CMT,1,1,589,2.6,CRD,10.5 +CMT,1,1,129,0.4,CRD,3.5 +CMT,1,1,370,0.7,CRD,6.0 +CMT,1,1,546,1.2,CSH,8.0 +CMT,1,1,577,1.1,CRD,7.5 +CMT,1,1,179,0.6,CSH,4.5 +CMT,1,1,326,0.6,CRD,5.5 +CMT,1,1,587,1.7,CRD,9.0 +CMT,1,1,709,3.1,CRD,11.5 +CMT,1,1,422,0.9,CSH,6.5 +CMT,1,1,1047,1.2,CSH,11.5 +CMT,1,1,1448,9.9,CRD,28.5 +CMT,1,1,1321,3.1,CRD,16.0 +CMT,1,1,87,0.5,CSH,3.5 +CMT,1,1,542,0.8,CRD,7.5 +CMT,1,1,1374,11.0,CRD,32.0 +CMT,1,1,240,0.5,CSH,5.0 +CMT,1,1,462,1.3,CRD,7.5 +CMT,1,1,466,3.0,CRD,10.5 +CMT,1,1,766,3.9,CSH,14.0 +CMT,1,1,250,0.8,CRD,5.0 +CMT,1,1,523,2.6,CRD,10.0 +CMT,1,1,245,1.7,CRD,7.0 +CMT,1,1,160,0.7,CSH,4.5 +CMT,1,1,146,0.5,CSH,4.0 +CMT,1,1,809,1.5,CSH,10.0 +CMT,1,1,888,1.5,CSH,11.0 +CMT,1,1,160,0.4,CRD,4.0 +CMT,1,1,1338,2.6,CSH,15.5 +CMT,2,1,2162,18.9,CRD,52.0 +CMT,1,1,894,5.6,CRD,18.0 +CMT,1,1,251,0.5,CSH,4.5 +CMT,1,1,986,4.1,CRD,16.0 +CMT,1,1,825,8.6,CRD,24.5 +CMT,1,1,453,1.3,CSH,7.5 +CMT,1,1,373,2.2,CRD,8.5 +CMT,1,1,111,0.8,CRD,4.5 +CMT,1,1,1217,9.8,CRD,29.0 +CMT,1,1,286,1.1,CRD,6.0 +CMT,1,1,243,0.7,CSH,5.0 +CMT,1,1,495,1.4,CRD,8.0 +CMT,1,1,283,0.6,CSH,5.5 +CMT,1,1,1640,4.8,CSH,20.0 +CMT,1,1,412,1.0,CRD,6.5 +CMT,1,1,386,0.8,CRD,6.0 +CMT,1,1,1212,4.9,CSH,19.0 +CMT,1,1,286,1.9,CSH,7.0 +CMT,1,1,541,3.3,CSH,11.5 +CMT,1,1,238,0.8,CRD,5.0 +CMT,1,1,168,0.5,CSH,4.0 +CMT,1,1,205,0.6,CRD,5.0 +CMT,1,1,229,0.9,CSH,5.5 +CMT,1,1,628,4.9,CSH,14.5 +CMT,1,1,679,1.6,CRD,9.5 +CMT,1,1,552,2.1,CRD,9.5 +CMT,1,1,225,0.6,CSH,4.5 +CMT,1,1,537,1.3,CSH,8.0 +CMT,1,1,970,3.5,CRD,14.0 +CMT,1,1,848,2.2,CRD,11.0 +CMT,1,1,805,3.8,CSH,14.5 +CMT,1,1,1109,3.6,CSH,15.0 +CMT,1,1,242,1.0,CSH,5.5 +CMT,1,1,348,1.0,CSH,6.0 +CMT,1,1,651,1.4,CRD,9.0 +CMT,1,1,573,1.1,CSH,8.0 +CMT,1,1,167,0.6,CSH,4.0 +CMT,1,1,1259,10.5,CRD,31.0 +CMT,2,1,1159,14.5,CRD,52.0 +CMT,1,1,726,3.4,CRD,13.0 +CMT,1,1,552,2.0,CRD,9.5 +CMT,1,1,84,0.5,CSH,3.5 +CMT,1,1,477,0.7,CRD,6.5 +CMT,1,1,662,2.3,CSH,10.5 +CMT,1,1,748,2.0,CRD,10.0 +CMT,1,1,286,1.2,CSH,6.0 +CMT,1,1,526,1.3,CSH,7.5 +CMT,1,1,785,2.2,CSH,11.5 +CMT,1,1,459,0.7,CSH,6.5 +CMT,1,1,843,3.6,CRD,13.5 +CMT,1,1,250,1.1,CRD,6.0 +CMT,1,1,435,1.8,CSH,8.0 +CMT,1,1,326,0.9,CSH,5.5 +CMT,1,1,868,2.3,CRD,11.5 +CMT,1,1,1079,3.0,CRD,14.0 +CMT,1,1,704,2.2,CRD,10.5 +CMT,1,1,381,1.3,CSH,6.5 +CMT,1,1,338,0.9,CRD,6.0 +CMT,1,1,624,1.0,CSH,8.5 +CMT,1,1,460,1.3,CRD,7.0 +CMT,1,1,328,1.4,CRD,7.0 +CMT,1,1,1526,2.8,CSH,15.5 +CMT,1,1,746,2.4,CRD,11.0 +CMT,1,1,414,0.7,CSH,6.0 +CMT,1,1,1390,5.6,CSH,22.0 +CMT,1,1,168,0.4,CRD,4.0 +CMT,1,1,1052,2.7,CRD,14.0 +CMT,1,1,348,1.6,CSH,7.5 +CMT,1,1,562,1.4,CSH,8.0 +CMT,2,1,1543,17.0,CSH,52.0 +CMT,1,1,1366,5.2,CSH,20.5 +CMT,1,1,1280,3.1,CRD,15.5 +CMT,1,1,131,0.2,CSH,3.5 +CMT,1,1,483,1.8,CRD,8.0 +CMT,1,1,354,1.9,CRD,8.0 +CMT,1,1,161,0.3,CSH,4.0 +CMT,1,1,1101,3.7,CRD,16.5 +CMT,1,1,664,1.4,CRD,9.0 +CMT,1,1,374,1.7,CSH,7.5 +CMT,1,1,343,1.4,CRD,7.0 +CMT,1,1,677,2.3,CSH,10.5 +CMT,1,1,486,1.5,CSH,8.0 +CMT,1,1,126,0.6,CSH,4.0 +CMT,1,1,390,1.4,CSH,7.0 +CMT,1,1,493,2.2,CRD,9.0 +CMT,1,1,560,0.9,CSH,7.5 +CMT,1,1,206,0.8,CSH,5.0 +CMT,1,1,350,1.1,CRD,6.0 +CMT,1,1,416,1.1,CSH,7.0 +CMT,1,1,1542,3.3,CSH,18.5 +CMT,1,1,154,0.2,CSH,3.5 +CMT,1,1,299,0.8,CSH,5.5 +CMT,1,1,579,1.7,CRD,9.0 +CMT,1,1,441,2.0,CRD,8.5 +CMT,1,1,552,1.8,CRD,9.0 +CMT,1,1,449,2.6,CRD,10.0 +CMT,1,1,135,0.6,CRD,4.0 +CMT,1,1,174,0.4,CSH,4.0 +CMT,1,1,503,1.1,CRD,7.5 +CMT,1,1,908,2.1,CRD,12.0 +CMT,1,1,205,0.9,CRD,5.0 +CMT,1,1,200,0.6,CSH,4.5 +CMT,1,1,594,0.8,CRD,7.5 +CMT,1,1,322,1.0,CRD,6.0 +CMT,1,1,265,1.1,CRD,6.0 +CMT,1,1,127,0.7,CRD,4.5 +CMT,1,1,361,1.1,CSH,6.0 +CMT,1,1,60,0.3,CSH,3.0 +CMT,1,1,901,2.7,CSH,13.0 +CMT,1,1,990,2.8,CRD,13.0 +CMT,1,1,795,1.5,CRD,10.0 +CMT,1,1,1056,3.9,CSH,17.0 +CMT,1,1,241,1.0,CRD,5.5 +CMT,1,1,144,0.7,CRD,4.0 +CMT,1,1,359,1.1,CRD,6.5 +CMT,1,1,487,1.3,CSH,7.5 +CMT,1,1,466,1.5,CRD,8.0 +CMT,1,1,756,1.2,CSH,9.5 +CMT,1,1,680,2.1,CRD,10.0 +CMT,1,1,1933,7.7,CSH,28.0 +CMT,1,1,264,0.7,CSH,5.0 +CMT,1,1,570,3.0,CRD,11.5 +CMT,1,1,875,7.4,CSH,22.5 +CMT,1,1,435,1.1,CSH,7.0 +CMT,1,1,521,1.5,CSH,8.0 +CMT,1,1,729,3.4,CSH,13.5 +CMT,1,1,645,2.0,CSH,10.0 +CMT,1,1,1561,4.6,CRD,22.0 +CMT,1,1,1162,5.5,CRD,20.5 +CMT,1,1,271,0.8,CSH,5.5 +CMT,1,1,421,1.2,CSH,7.0 +CMT,1,1,519,2.3,CSH,9.5 +CMT,1,1,1293,4.0,CSH,17.0 +CMT,1,1,815,1.7,CRD,10.5 +CMT,1,1,1087,2.5,CSH,14.0 +CMT,1,1,426,1.2,CSH,7.0 +CMT,1,1,424,1.2,CRD,7.0 +CMT,1,1,472,0.8,CSH,6.5 +CMT,1,1,711,2.2,CRD,10.5 +CMT,1,1,246,1.0,CRD,6.0 +CMT,1,1,351,1.3,CSH,6.5 +CMT,1,1,300,1.6,CSH,7.0 +CMT,1,1,731,2.4,CRD,11.0 +CMT,1,1,780,1.9,CSH,10.0 +CMT,1,1,1075,6.2,CRD,21.0 +CMT,1,1,1036,3.2,CSH,13.5 +CMT,1,1,989,2.5,CRD,12.0 +CMT,1,1,642,1.4,CSH,9.0 +CMT,1,1,1395,15.5,CSH,42.0 +CMT,1,1,1044,2.0,CRD,12.5 +CMT,1,1,539,1.5,CSH,8.5 +CMT,1,1,897,2.7,CSH,13.0 +CMT,1,1,500,1.3,CRD,7.5 +CMT,1,1,410,1.4,CRD,7.0 +CMT,1,1,503,0.9,CRD,7.0 +CMT,1,1,1818,3.0,CSH,19.5 +CMT,1,1,741,2.1,CSH,10.0 +CMT,1,1,1253,2.8,CRD,15.0 +CMT,1,1,608,1.8,CSH,9.0 +CMT,1,1,464,1.5,CSH,8.0 +CMT,1,1,594,2.3,CRD,10.0 +CMT,1,1,351,1.4,CRD,6.5 +CMT,1,1,470,1.5,CRD,7.5 +CMT,1,1,799,2.4,CSH,11.5 +CMT,1,1,221,0.6,CRD,5.0 +CMT,1,1,216,0.8,CRD,5.0 +CMT,1,1,411,1.6,CSH,7.5 +CMT,1,1,1503,3.4,CSH,17.5 +CMT,1,1,396,0.9,CSH,6.5 +CMT,1,1,866,2.5,CSH,12.0 +CMT,1,1,1012,2.1,CRD,12.0 +CMT,1,1,598,1.6,CRD,8.5 +CMT,1,1,520,1.6,CRD,8.0 +CMT,1,1,259,1.6,CSH,6.5 +CMT,1,1,1013,0.0,DIS,2.5 +CMT,1,1,213,0.7,CRD,4.5 +CMT,1,1,485,0.8,CSH,7.0 +CMT,1,1,714,1.4,CRD,9.5 +CMT,1,1,411,1.5,CSH,7.5 +CMT,1,1,879,2.4,CSH,11.5 +CMT,1,1,300,0.5,CSH,5.0 +CMT,1,1,1016,2.2,CRD,12.5 +CMT,1,1,346,1.2,CSH,6.5 +CMT,1,1,523,2.0,CSH,9.5 +CMT,1,1,315,1.6,CRD,7.0 +CMT,1,1,159,0.7,CRD,4.5 +CMT,1,1,263,1.7,CRD,6.5 +CMT,1,1,415,1.2,CSH,7.0 +CMT,1,1,200,0.9,CSH,5.5 +CMT,1,1,134,0.2,CSH,3.5 +CMT,1,1,371,1.2,CSH,6.5 +CMT,1,1,397,1.6,CSH,7.0 +CMT,1,1,533,4.1,CSH,13.0 +CMT,1,1,1130,6.4,CSH,21.0 +CMT,1,1,300,1.2,CRD,6.0 +CMT,1,1,1196,2.6,CRD,14.0 +CMT,1,1,1582,2.9,CRD,17.5 +CMT,1,1,840,2.8,CSH,12.5 +CMT,1,1,1248,1.8,CRD,14.0 +CMT,1,1,435,1.0,CSH,6.5 +CMT,1,1,631,2.8,CRD,12.0 +CMT,1,1,1720,7.4,CSH,25.5 +CMT,1,1,901,4.5,CRD,16.5 +CMT,1,1,579,1.5,CSH,8.0 +CMT,1,1,1411,3.0,CSH,16.5 +CMT,1,1,783,2.4,CSH,11.0 +CMT,1,1,378,1.4,CRD,7.0 +CMT,1,1,390,1.4,CSH,7.0 +CMT,1,1,481,2.5,CSH,9.5 +CMT,1,1,1130,9.1,CRD,27.0 +CMT,1,1,696,1.0,CSH,8.5 +CMT,1,1,682,1.2,CSH,9.0 +CMT,1,1,1247,12.6,CRD,35.5 +CMT,1,1,413,2.2,CRD,9.0 +CMT,1,1,689,3.1,CRD,12.5 +CMT,1,3,440,1.6,CSH,8.5 +CMT,1,2,200,0.6,CSH,4.5 +CMT,1,1,1468,9.1,CSH,30.0 +CMT,1,1,954,5.0,CSH,17.5 +CMT,1,1,537,5.8,CSH,17.5 +CMT,1,1,272,0.7,CSH,5.0 +CMT,1,1,186,0.8,CRD,5.0 +CMT,1,1,361,0.8,CSH,6.0 +CMT,1,1,572,1.5,DIS,8.0 +CMT,1,1,406,0.7,CRD,6.0 +CMT,1,1,1886,5.5,CRD,25.0 +CMT,1,1,390,1.4,CSH,7.0 +CMT,1,1,512,1.5,CSH,8.0 +CMT,1,1,1152,3.4,CRD,15.0 +CMT,1,1,314,0.9,CRD,5.5 +CMT,1,1,252,0.8,CRD,5.0 +CMT,1,1,919,1.7,CRD,11.5 +CMT,1,1,1306,9.4,CRD,28.5 +CMT,1,1,776,1.9,CSH,10.5 +CMT,1,1,441,1.1,CRD,7.0 +CMT,1,1,337,0.5,CRD,5.5 +CMT,1,1,657,2.2,CSH,10.0 +CMT,1,1,538,1.8,CRD,8.5 +CMT,1,1,478,1.7,CRD,8.0 +CMT,1,1,970,1.3,CSH,11.0 +CMT,1,1,276,0.9,CRD,5.5 +CMT,1,1,522,1.7,CRD,8.0 +CMT,1,1,1180,3.6,CSH,16.0 +CMT,1,1,613,2.2,CSH,10.0 +CMT,1,1,502,1.5,CSH,8.0 +CMT,1,1,990,6.0,CSH,19.0 +CMT,1,1,170,0.4,CRD,4.0 +CMT,1,1,965,2.3,CRD,12.0 +CMT,1,1,158,0.3,CSH,4.0 +CMT,1,1,566,1.3,CRD,8.5 +CMT,1,1,309,1.2,CRD,6.5 +CMT,1,1,1100,3.2,CSH,14.5 +CMT,1,1,622,1.5,CRD,8.5 +CMT,1,1,1078,4.0,CSH,16.0 +CMT,1,1,592,2.5,CRD,10.5 +CMT,1,1,473,2.3,CRD,9.5 +CMT,1,1,461,1.0,CRD,7.0 +CMT,1,1,78,0.1,CSH,3.0 +CMT,1,1,528,1.2,CRD,7.5 +CMT,1,1,677,1.1,CRD,8.5 +CMT,1,1,643,2.6,CSH,10.5 +CMT,1,1,573,1.8,CSH,9.0 +CMT,1,1,840,2.2,CSH,11.0 +CMT,1,1,307,1.2,CRD,6.0 +CMT,1,1,1143,3.3,CRD,15.0 +CMT,1,1,788,1.6,CRD,10.5 +CMT,1,1,448,1.4,CSH,7.5 +CMT,1,1,431,0.6,CRD,6.5 +CMT,1,1,283,0.7,CRD,5.0 +CMT,1,1,70,0.1,CSH,3.0 +CMT,1,1,1698,10.5,CRD,32.0 +CMT,1,1,556,2.1,CRD,9.0 +CMT,1,1,682,1.1,CRD,9.0 +CMT,1,2,747,1.1,CRD,9.0 +CMT,1,1,367,0.8,CRD,6.0 +CMT,1,1,576,1.9,CSH,9.0 +CMT,1,1,927,4.0,CSH,15.5 +CMT,1,1,270,2.2,CRD,8.0 +CMT,1,1,370,0.7,CSH,5.5 +CMT,1,1,373,0.7,CRD,5.5 +CMT,1,1,143,0.6,CSH,4.5 +CMT,1,1,539,3.1,CSH,11.0 +CMT,1,1,800,1.1,CSH,9.5 +CMT,1,1,1198,9.1,CRD,27.0 +CMT,1,1,336,1.0,CRD,6.5 +CMT,1,1,153,0.3,CSH,4.0 +CMT,1,1,286,1.3,CRD,6.5 +CMT,1,1,685,1.5,CSH,9.5 +CMT,1,1,1603,3.7,CRD,18.5 +CMT,2,1,2117,19.3,CRD,52.0 +CMT,1,1,1545,2.8,CRD,17.5 +CMT,1,1,402,2.4,CSH,9.0 +CMT,1,1,467,2.7,CRD,10.0 +CMT,1,1,645,1.2,CSH,8.5 +CMT,1,1,521,1.1,CRD,7.5 +CMT,1,1,1268,2.5,CRD,15.0 +CMT,1,1,845,1.7,CRD,10.5 +CMT,1,1,166,0.8,CRD,5.0 +CMT,1,1,266,2.0,CRD,8.0 +CMT,1,2,618,2.3,CRD,10.5 +CMT,1,1,825,0.9,CSH,9.5 +CMT,1,1,303,1.1,CRD,6.0 +CMT,1,1,701,2.0,CSH,10.0 +CMT,1,1,686,4.7,CRD,15.0 +CMT,1,1,118,0.6,CSH,4.0 +CMT,1,1,720,3.0,CRD,12.0 +CMT,1,1,694,1.1,CRD,9.0 +CMT,1,1,687,1.4,CSH,9.0 +CMT,1,1,297,1.0,CSH,5.5 +CMT,1,1,1127,2.0,CRD,13.0 +CMT,1,1,542,3.1,CRD,11.0 +CMT,1,1,458,1.2,CRD,7.0 +CMT,1,1,765,2.4,CRD,11.5 +CMT,1,1,342,1.1,CRD,6.5 +CMT,1,1,428,1.1,CSH,7.0 +CMT,1,1,566,1.9,CRD,9.0 +CMT,1,1,1324,9.0,CRD,28.0 +CMT,1,1,539,1.8,CRD,9.0 +CMT,1,1,265,0.4,CSH,4.5 +CMT,1,1,856,2.8,CRD,12.5 +CMT,1,1,2088,5.6,CRD,25.5 +CMT,1,1,163,0.5,CSH,4.0 +CMT,1,1,1244,3.3,CRD,15.5 +CMT,1,1,573,2.9,CRD,11.0 +CMT,1,1,302,1.1,CRD,5.5 +CMT,1,1,228,0.6,CRD,4.5 +CMT,1,1,242,0.7,CRD,5.0 +CMT,1,1,565,1.8,CRD,9.0 +CMT,1,1,456,1.2,CSH,7.0 +CMT,1,1,1108,3.0,CSH,14.0 +CMT,1,1,440,0.9,CRD,6.5 +CMT,1,1,800,1.7,CRD,10.0 +CMT,1,1,295,0.8,CSH,5.5 +CMT,1,2,209,0.9,CRD,5.5 +CMT,1,1,352,1.6,CSH,7.5 +CMT,1,2,317,2.3,CSH,8.5 +CMT,1,2,358,2.1,CSH,9.0 +CMT,1,4,393,1.6,CSH,7.5 +CMT,1,1,366,0.8,CSH,6.0 +CMT,1,1,653,2.3,CRD,10.5 +CMT,1,1,936,3.3,CRD,14.0 +CMT,1,4,608,1.6,CSH,8.5 +CMT,1,2,449,1.3,CSH,7.0 +CMT,1,2,606,0.9,CSH,8.0 +CMT,1,1,538,1.7,CRD,8.5 +CMT,1,2,720,1.5,CSH,9.5 +CMT,1,1,218,1.0,CSH,5.5 +CMT,1,3,519,1.6,CRD,8.0 +CMT,1,1,1096,3.8,CSH,16.0 +CMT,1,1,849,3.9,CSH,14.5 +CMT,1,1,855,4.1,CSH,15.5 +CMT,1,1,18,0.0,NOC,2.5 +CMT,1,1,1526,5.9,CRD,23.5 +CMT,1,1,460,0.8,CSH,7.0 +CMT,1,1,411,1.7,CSH,8.0 +CMT,1,1,1391,10.1,CRD,30.5 +CMT,1,1,353,1.5,CRD,7.0 +CMT,1,1,91,0.2,CSH,3.0 +CMT,1,1,369,1.4,CRD,7.0 +CMT,1,1,475,2.0,CRD,8.5 +CMT,1,1,275,1.4,CSH,6.5 +CMT,1,1,1717,0.6,DIS,2.5 +CMT,1,1,721,3.7,CRD,13.5 +CMT,1,1,655,2.5,CSH,10.5 +CMT,1,1,194,0.7,CSH,4.5 +CMT,1,1,461,0.8,CRD,6.5 +CMT,1,1,571,1.8,CRD,8.5 +CMT,1,1,67,0.4,CRD,3.5 +CMT,1,1,603,1.9,CRD,9.0 +CMT,1,1,489,1.1,CRD,7.0 +CMT,1,1,238,1.0,CRD,5.5 +CMT,1,1,426,0.9,CSH,6.5 +CMT,1,1,445,1.2,CRD,6.5 +CMT,1,1,347,0.6,CSH,5.5 +CMT,1,1,506,0.8,CRD,7.0 +CMT,1,1,481,1.1,CSH,7.0 +CMT,1,1,840,2.0,CRD,11.0 +CMT,1,1,634,1.3,CRD,8.0 +CMT,1,1,400,1.3,CSH,7.0 +CMT,1,1,928,3.0,CSH,13.0 +CMT,1,1,205,1.1,CSH,5.5 +CMT,1,2,723,4.0,CSH,13.5 +CMT,1,2,631,2.4,CSH,11.0 +CMT,1,1,655,4.4,CSH,14.0 +CMT,1,1,416,1.2,CRD,6.5 +CMT,1,1,475,1.7,CSH,8.0 +CMT,5,1,737,4.1,CRD,55.1 +CMT,1,1,1475,3.2,CSH,17.0 +CMT,1,1,222,0.6,CSH,5.0 +CMT,1,2,301,0.8,CSH,6.0 +CMT,1,1,611,4.1,CSH,13.0 +CMT,1,1,962,3.6,CRD,14.5 +CMT,1,2,991,1.9,CRD,11.5 +CMT,1,1,514,5.2,CRD,15.5 +CMT,1,1,212,0.7,CSH,4.5 +CMT,1,1,135,0.5,CSH,4.0 +CMT,1,1,398,1.6,CRD,7.5 +CMT,1,2,419,1.6,CSH,7.5 +CMT,1,1,381,3.2,CSH,10.5 +CMT,1,1,209,0.8,CRD,5.0 +CMT,1,1,190,0.6,CSH,4.5 +CMT,1,1,134,0.5,CSH,4.0 +CMT,1,1,643,1.4,CSH,8.5 +CMT,1,1,273,1.8,CSH,7.0 +CMT,1,1,293,2.4,CRD,8.5 +CMT,1,2,408,0.9,CSH,6.5 +CMT,1,4,245,1.6,CSH,6.5 +CMT,1,1,494,4.0,CSH,12.5 +CMT,1,1,492,1.5,CSH,8.0 +CMT,1,1,509,2.2,CRD,9.0 +CMT,1,1,468,2.4,CSH,9.5 +CMT,1,1,696,2.5,CRD,11.0 +CMT,1,1,413,1.9,CRD,8.5 +CMT,1,1,194,1.3,CSH,5.5 +CMT,1,1,508,1.0,CSH,7.5 +CMT,1,1,261,1.2,CRD,5.5 +CMT,1,1,424,2.1,CSH,8.5 +CMT,1,1,284,1.5,CSH,6.5 +CMT,1,1,95,0.2,CSH,3.0 +CMT,1,1,314,0.9,CSH,6.0 +CMT,1,1,10,0.0,NOC,2.5 +CMT,1,1,290,2.1,CSH,7.5 +CMT,1,1,162,0.9,CSH,5.0 +CMT,1,1,744,2.5,CRD,11.0 +CMT,1,2,1014,4.9,CSH,17.5 +CMT,1,1,100,0.7,CSH,3.0 +CMT,1,1,180,0.7,CRD,4.5 +CMT,1,2,968,3.1,CSH,13.0 +CMT,1,2,449,1.8,CSH,8.0 +CMT,1,2,159,0.5,CRD,4.0 +CMT,1,2,1502,10.6,CRD,32.0 +CMT,1,3,849,4.8,CSH,16.5 +CMT,1,1,733,2.5,CSH,10.5 +CMT,1,1,1247,3.1,CSH,15.5 +CMT,1,1,29,0.0,DIS,2.5 +CMT,1,1,955,3.7,CRD,14.5 +CMT,1,1,822,2.5,CRD,11.5 +CMT,1,1,491,1.6,CSH,8.0 +CMT,1,3,1018,2.9,CSH,14.0 +CMT,1,3,822,1.6,CSH,10.0 +CMT,1,3,662,1.7,CSH,9.0 +CMT,1,1,250,0.7,CRD,5.0 +CMT,1,1,935,3.1,CSH,14.0 +CMT,1,2,750,2.4,CRD,11.0 +CMT,1,1,1305,4.3,CRD,18.5 +CMT,1,4,536,1.5,CSH,8.5 +CMT,1,1,1058,6.4,CRD,21.0 +CMT,1,3,798,2.0,CRD,10.5 +CMT,1,1,849,2.1,CRD,11.0 +CMT,1,1,506,0.9,CRD,7.0 +CMT,1,1,1257,4.3,CRD,17.5 +CMT,1,3,776,1.2,CRD,9.5 +CMT,1,1,1096,2.1,CRD,12.5 +CMT,1,1,349,1.1,CRD,6.5 +CMT,1,1,1023,4.0,CSH,15.5 +CMT,1,1,327,1.0,CRD,6.0 +CMT,1,2,349,1.6,CSH,7.5 +CMT,1,1,606,2.3,CRD,10.0 +CMT,1,2,800,2.1,CRD,11.0 +CMT,1,1,594,2.2,CRD,10.0 +CMT,1,1,368,0.6,CSH,6.0 +CMT,1,1,871,2.4,CRD,12.5 +CMT,1,1,822,2.2,CRD,11.5 +CMT,1,1,375,1.0,CSH,6.5 +CMT,1,1,716,2.8,CSH,11.5 +CMT,1,1,17,0.0,NOC,2.5 +CMT,1,1,203,0.7,CRD,4.5 +CMT,1,1,1272,5.3,CSH,18.5 +CMT,1,1,599,1.0,CSH,8.0 +CMT,1,1,324,0.9,CRD,5.5 +CMT,1,1,263,2.0,CRD,7.0 +CMT,1,2,725,1.1,CSH,9.0 +CMT,1,1,599,3.7,CRD,12.0 +CMT,1,1,149,1.2,CSH,5.0 +CMT,1,1,2214,16.1,CRD,47.5 +CMT,1,1,639,2.1,CRD,9.5 +CMT,3,2,1824,17.9,CSH,65.5 +CMT,1,1,201,0.8,CRD,4.5 +CMT,1,1,577,2.2,CSH,9.5 +CMT,1,1,381,0.8,CSH,6.0 +CMT,1,2,692,1.8,CSH,9.5 +CMT,1,1,304,1.2,CRD,6.5 +CMT,1,1,904,5.3,CRD,17.5 +CMT,1,1,175,0.8,CRD,5.0 +CMT,1,1,937,9.1,CRD,26.0 +CMT,1,1,546,1.5,CSH,8.0 +CMT,1,1,702,15.4,CSH,2.5 +CMT,1,1,321,1.7,CRD,7.0 +CMT,1,1,693,1.1,CRD,9.0 +CMT,1,1,1226,1.3,CRD,13.0 +CMT,1,1,601,1.3,CSH,8.5 +CMT,1,1,608,1.2,CRD,8.5 +CMT,1,1,1595,3.7,CRD,18.5 +CMT,1,1,1526,4.8,CRD,20.5 +CMT,1,1,1136,3.7,CRD,16.0 +CMT,1,1,555,1.4,CRD,8.0 +CMT,1,1,952,4.5,CRD,16.0 +CMT,1,1,404,1.0,CRD,6.5 +CMT,1,1,777,1.8,CSH,10.5 +CMT,1,1,1132,3.3,CSH,14.5 +CMT,1,1,517,1.6,CRD,8.5 +CMT,1,1,839,5.5,CRD,17.0 +CMT,1,1,744,2.3,CRD,11.0 +CMT,1,1,588,2.7,CRD,11.0 +CMT,1,1,150,0.8,CRD,4.5 +CMT,1,1,199,0.5,CRD,4.5 +CMT,1,1,518,1.5,CSH,8.0 +CMT,1,1,96,0.3,NOC,3.5 +CMT,1,1,72,0.2,CRD,3.0 +CMT,1,1,682,1.4,CRD,9.0 +CMT,1,1,277,1.1,CSH,6.0 +CMT,1,1,380,1.4,CSH,7.0 +CMT,1,1,238,0.8,CRD,5.0 +CMT,2,1,1508,16.4,CRD,52.0 +CMT,1,1,762,1.5,CRD,10.0 +CMT,1,3,468,1.1,CRD,7.0 +CMT,1,1,403,1.3,CSH,7.0 +CMT,1,1,218,1.5,CSH,6.5 +CMT,1,1,633,2.7,CSH,10.5 +CMT,1,1,801,3.6,CSH,13.5 +CMT,1,2,355,2.1,CSH,7.5 +CMT,1,1,858,2.0,CRD,11.0 +CMT,1,1,163,0.7,CSH,4.5 +CMT,1,1,698,3.6,CRD,13.5 +CMT,1,1,452,2.5,CSH,9.5 +CMT,1,1,1032,2.7,CRD,13.5 +CMT,1,1,1457,9.2,CRD,29.5 +CMT,1,1,595,1.8,CSH,9.0 +CMT,1,1,1116,2.6,CSH,13.0 +CMT,1,1,590,2.7,CSH,11.0 +CMT,1,1,360,1.4,CSH,7.0 +CMT,1,1,893,3.5,CRD,14.0 +CMT,1,1,322,1.5,CRD,6.5 +CMT,1,2,884,2.0,CRD,11.0 +CMT,1,2,378,1.0,CSH,6.0 +CMT,1,1,389,1.4,CRD,7.0 +CMT,1,2,583,3.0,CSH,12.0 +CMT,1,1,1317,4.7,CRD,18.5 +CMT,2,1,1454,16.9,CSH,52.0 +CMT,1,1,615,1.0,CSH,8.0 +CMT,1,1,582,2.2,CRD,9.0 +CMT,1,1,1171,5.3,CSH,20.0 +CMT,1,1,556,1.5,CRD,8.5 +CMT,1,1,456,1.4,CRD,7.5 +CMT,1,2,98,0.3,CRD,3.0 +CMT,1,1,222,0.7,CSH,5.0 +CMT,1,1,439,2.1,CRD,8.5 +CMT,1,1,268,0.8,CRD,5.5 +CMT,1,1,286,1.0,CSH,5.5 +CMT,1,1,59,0.3,CSH,3.0 +CMT,1,1,583,1.5,CSH,8.0 +CMT,1,1,555,1.7,CRD,9.0 +CMT,1,1,500,2.3,CRD,9.5 +CMT,1,1,647,1.3,CSH,9.0 +CMT,1,1,1122,2.7,CSH,14.0 +CMT,1,1,349,0.9,CRD,6.0 +CMT,1,1,85,0.5,CRD,3.5 +CMT,1,1,1212,3.0,CSH,15.0 +CMT,1,1,479,1.5,CSH,7.5 +CMT,1,1,1105,2.0,CSH,13.5 +CMT,1,1,371,1.0,CSH,6.5 +CMT,1,1,250,0.3,CRD,4.5 +CMT,1,1,409,1.2,CRD,7.0 +CMT,1,1,734,2.2,CSH,10.5 +CMT,1,1,482,0.9,CSH,7.0 +CMT,1,1,402,1.6,CRD,7.5 +CMT,1,1,1090,3.3,CRD,15.0 +CMT,1,1,1376,2.9,CSH,16.0 +CMT,1,1,794,1.5,CSH,9.5 +CMT,1,1,1079,1.2,CRD,12.0 +CMT,1,1,236,0.6,CRD,5.0 +CMT,1,1,382,0.6,CRD,6.0 +CMT,1,1,285,1.6,CSH,7.0 +CMT,1,1,687,2.0,CSH,10.5 +CMT,1,1,613,1.8,CSH,9.0 +CMT,1,1,262,0.8,CSH,5.0 +CMT,1,1,368,1.0,CSH,6.5 +CMT,1,1,506,2.7,CRD,10.5 +CMT,1,1,1147,9.5,CRD,27.5 +CMT,1,1,1619,8.3,CRD,27.5 +CMT,1,1,712,1.6,CSH,9.5 +CMT,1,1,691,1.7,CSH,9.5 +CMT,1,1,597,1.7,CRD,9.0 +CMT,1,1,195,0.6,CSH,4.5 +CMT,1,1,267,1.5,CSH,6.5 +CMT,1,1,459,1.5,CSH,7.5 +CMT,1,1,659,1.6,CRD,10.0 +CMT,1,1,500,1.1,CRD,7.5 +CMT,1,1,562,2.4,CRD,10.0 +CMT,1,1,134,0.4,CSH,4.0 +CMT,1,1,94,0.4,CSH,3.5 +CMT,1,1,841,0.8,CRD,9.5 +CMT,1,1,936,2.3,CSH,11.5 +CMT,1,1,382,1.6,CSH,7.0 +CMT,1,1,319,0.9,CSH,6.0 +CMT,1,1,867,1.6,CSH,10.5 +CMT,1,1,277,0.4,CSH,4.5 +CMT,1,1,416,0.6,CRD,6.0 +CMT,1,1,560,1.7,CSH,8.5 +CMT,1,1,986,1.8,CSH,11.5 +CMT,1,1,171,0.9,CSH,5.0 +CMT,1,1,664,3.0,CRD,12.5 +CMT,1,1,713,6.5,CRD,20.0 +CMT,1,2,436,2.4,CRD,9.5 +CMT,1,1,210,1.5,CRD,6.0 +CMT,1,1,345,0.7,CSH,6.0 +CMT,2,1,1876,19.8,CRD,52.0 +CMT,1,2,849,1.7,CSH,10.0 +CMT,1,2,629,3.3,CSH,11.5 +CMT,1,1,854,2.5,CRD,10.0 +CMT,1,1,1619,4.8,CSH,22.0 +CMT,1,1,661,2.8,CRD,11.0 +CMT,1,1,1750,3.8,CRD,20.0 +CMT,1,1,1493,2.5,CRD,16.0 +CMT,1,1,1732,12.3,CRD,36.5 +CMT,1,1,500,0.7,CRD,7.0 +CMT,1,1,514,2.0,CSH,9.0 +CMT,1,1,1340,4.5,CSH,18.5 +CMT,1,1,250,1.3,CSH,6.0 +CMT,1,1,1060,3.4,CRD,14.5 +CMT,1,1,346,1.8,CRD,7.5 +CMT,1,1,485,1.7,CRD,8.0 +CMT,1,1,405,1.5,CSH,7.0 +CMT,1,1,624,2.4,CSH,10.5 +CMT,1,1,512,0.9,CRD,7.0 +CMT,1,1,365,1.4,CSH,7.0 +CMT,1,1,1171,1.6,CRD,13.0 +CMT,2,1,1924,20.5,CRD,52.0 +CMT,1,1,669,3.0,CRD,11.5 +CMT,1,1,334,0.7,CRD,5.5 +CMT,1,1,1194,4.0,CRD,16.5 +CMT,1,1,1134,5.6,CSH,19.5 +CMT,1,1,1407,10.6,CRD,31.0 +CMT,1,1,860,3.1,CRD,12.5 +CMT,1,1,194,0.4,CSH,4.0 +CMT,1,1,381,1.4,CRD,7.0 +CMT,2,1,1694,18.4,CRD,52.0 +CMT,1,1,1162,4.9,CSH,18.5 +CMT,1,3,305,1.2,CRD,6.0 +CMT,1,3,358,1.1,CSH,6.5 +CMT,1,1,347,0.7,CSH,6.0 +CMT,1,1,197,0.7,CSH,4.5 +CMT,1,1,408,1.4,CSH,7.5 +CMT,1,1,1426,5.5,CRD,20.5 +CMT,1,1,1195,5.9,CRD,20.5 +CMT,1,2,916,8.8,CRD,25.5 +CMT,1,3,680,2.0,CRD,10.0 +CMT,1,2,807,3.1,CRD,12.5 +CMT,1,1,470,1.3,CRD,7.5 +CMT,1,2,1239,4.7,CSH,18.0 +CMT,1,1,556,3.3,CRD,12.0 +CMT,1,1,1381,5.7,CRD,21.0 +CMT,1,1,333,1.1,CSH,6.0 +CMT,1,3,1349,6.8,CSH,23.0 +CMT,1,1,550,2.6,CSH,10.0 +CMT,1,1,227,1.2,CRD,5.5 +CMT,1,2,650,2.8,CSH,10.5 +CMT,1,1,178,0.7,CSH,5.0 +CMT,1,1,317,0.7,CSH,5.5 +CMT,1,1,318,1.5,CSH,7.0 +CMT,1,1,462,0.6,CSH,6.5 +CMT,1,1,994,6.3,CRD,20.0 +CMT,1,1,509,1.6,CRD,8.5 +CMT,1,1,761,2.5,CRD,11.5 +CMT,1,2,927,3.2,CRD,13.0 +CMT,1,1,224,1.0,CSH,5.5 +CMT,1,1,778,2.6,CRD,11.5 +CMT,1,1,243,1.6,CRD,6.5 +CMT,1,1,1075,6.6,CRD,21.5 +CMT,1,1,521,2.8,CRD,10.5 +CMT,1,1,163,0.4,CRD,4.0 +CMT,1,1,402,0.7,CRD,6.0 +CMT,1,1,501,2.3,CRD,9.5 +CMT,1,1,2538,21.8,CRD,59.5 +CMT,1,1,481,3.4,CRD,11.0 +CMT,1,1,291,0.7,CRD,5.0 +CMT,1,1,733,1.6,CRD,10.0 +CMT,1,1,547,1.4,CSH,8.0 +CMT,1,1,482,2.3,CRD,8.5 +CMT,1,2,336,1.5,CSH,7.0 +CMT,1,1,140,0.6,CSH,4.0 +CMT,1,1,625,1.9,CSH,9.5 +CMT,1,1,710,1.4,CRD,9.0 +CMT,1,1,709,3.4,CSH,12.0 +CMT,1,1,674,1.3,CRD,9.0 +CMT,1,1,455,0.6,CRD,6.5 +CMT,1,2,941,2.8,CSH,13.0 +CMT,1,1,324,1.0,CSH,6.0 +CMT,1,1,730,2.3,CRD,10.5 +CMT,1,1,682,0.7,CSH,8.0 +CMT,1,1,457,1.0,CSH,6.5 +CMT,1,1,483,1.0,CRD,7.0 +CMT,1,1,13,0.0,NOC,2.5 +CMT,1,1,78,0.3,CRD,3.5 +CMT,1,1,817,4.2,CSH,15.0 +CMT,1,1,457,3.0,CRD,10.0 +CMT,1,1,704,4.1,CSH,13.5 +CMT,1,2,486,1.0,CSH,7.0 +CMT,1,1,965,5.1,CSH,17.5 +CMT,1,2,168,1.3,CSH,5.5 +CMT,1,2,519,1.5,CRD,8.0 +CMT,1,1,699,2.2,CRD,10.5 +CMT,1,1,171,0.7,CSH,4.5 +CMT,1,2,406,1.3,CSH,7.0 +CMT,1,1,860,3.2,CSH,13.0 +CMT,1,1,661,0.8,CSH,8.5 +CMT,1,1,621,3.5,CRD,12.0 +CMT,1,1,270,1.3,CRD,6.5 +CMT,1,1,557,1.5,CRD,8.0 +CMT,1,1,1263,2.9,CRD,15.5 +CMT,1,1,303,1.6,CSH,7.0 +CMT,1,1,371,1.6,CSH,7.0 +CMT,1,1,1086,3.2,CSH,15.0 +CMT,1,1,347,0.9,CSH,6.0 +CMT,1,1,354,2.2,CRD,8.0 +CMT,1,1,625,1.6,CRD,8.5 +CMT,1,1,819,2.3,CRD,11.0 +CMT,1,1,76,0.3,CSH,3.0 +CMT,1,1,1044,10.7,CSH,29.5 +CMT,1,1,429,1.3,CSH,7.0 +CMT,1,1,1150,2.3,CRD,13.5 +CMT,1,2,806,2.1,CRD,11.0 +CMT,1,1,459,1.0,CRD,6.5 +CMT,1,1,898,1.5,CRD,11.0 +CMT,1,1,595,2.3,CSH,10.0 +CMT,1,3,1383,6.4,CSH,23.0 +CMT,1,1,519,1.2,CRD,7.5 +CMT,1,1,792,4.0,CRD,14.0 +CMT,1,1,350,1.1,CSH,6.5 +CMT,1,1,803,1.6,CSH,10.5 +CMT,1,1,780,1.7,CRD,10.0 +CMT,1,1,108,0.8,CSH,4.5 +CMT,1,1,634,2.3,CRD,10.0 +CMT,1,1,446,0.7,CRD,6.5 +CMT,1,1,393,0.8,CSH,6.0 +CMT,1,1,650,2.7,CRD,11.0 +CMT,1,1,596,2.2,CRD,10.0 +CMT,1,2,474,0.9,CRD,6.5 +CMT,1,1,515,0.8,CRD,7.0 +CMT,1,1,416,1.5,CSH,7.5 +CMT,1,2,583,3.6,CSH,12.5 +CMT,1,1,619,4.9,CRD,16.0 +CMT,1,1,316,1.0,CRD,6.0 +CMT,1,1,1455,8.2,CRD,26.5 +CMT,1,1,933,3.2,CRD,13.5 +CMT,1,1,570,1.9,CRD,8.5 +CMT,1,2,432,0.6,CRD,6.0 +CMT,2,1,1662,16.3,CRD,52.0 +CMT,1,1,112,1.0,CSH,5.0 +CMT,1,1,1002,2.8,CRD,13.5 +CMT,1,1,989,3.6,CSH,14.5 +CMT,1,1,194,0.5,CRD,4.5 +CMT,1,2,264,1.0,CRD,5.5 +CMT,1,3,973,2.5,CSH,12.5 +CMT,1,2,1003,4.7,CSH,17.5 +CMT,1,1,51,0.4,CSH,3.5 +CMT,1,1,980,2.8,CSH,13.0 +CMT,1,1,792,2.5,CSH,11.5 +CMT,1,1,1027,8.8,CSH,25.5 +CMT,1,1,631,1.4,CRD,8.5 +CMT,1,1,275,0.7,CRD,5.0 +CMT,1,2,320,1.0,CSH,5.5 +CMT,1,1,562,2.4,CSH,9.5 +CMT,1,1,518,1.4,CSH,7.5 +CMT,1,1,1142,2.7,CSH,14.0 +CMT,1,1,366,2.0,CRD,7.5 +CMT,1,2,309,2.4,CRD,9.0 +CMT,1,4,236,0.6,CSH,5.0 +CMT,1,1,275,0.3,CSH,4.5 +CMT,1,1,1423,4.3,CSH,18.5 +CMT,1,2,1419,4.5,CRD,19.0 +CMT,1,1,264,0.9,CSH,5.5 +CMT,1,1,183,0.7,CRD,4.5 +CMT,1,1,1187,9.1,CRD,27.0 +CMT,1,2,575,1.4,CSH,8.0 +CMT,1,1,469,1.7,CSH,8.0 +CMT,1,1,666,2.2,CRD,10.0 +CMT,1,2,1672,10.7,CSH,33.0 +CMT,1,1,337,1.3,CRD,6.5 +CMT,1,1,1144,3.6,CSH,16.0 +CMT,1,1,1050,5.7,CRD,18.5 +CMT,1,1,474,1.7,CSH,8.0 +CMT,1,1,1052,4.8,CSH,17.5 +CMT,1,1,1711,3.9,CRD,19.5 +CMT,1,1,1261,4.9,CSH,19.0 +CMT,1,1,332,1.2,CRD,6.0 +CMT,1,2,411,2.3,CRD,8.5 +CMT,1,1,547,1.1,CRD,7.5 +CMT,1,1,949,3.5,CRD,14.5 +CMT,1,1,671,2.1,CSH,10.5 +CMT,1,1,959,3.0,CRD,13.5 +CMT,1,2,1364,3.1,CSH,16.5 +CMT,1,1,362,0.9,CRD,5.5 +CMT,1,1,901,1.7,CSH,11.0 +CMT,1,1,219,0.8,CSH,5.0 +CMT,1,1,909,3.1,CRD,13.0 +CMT,1,1,161,0.4,CSH,4.0 +CMT,1,1,259,1.7,CRD,7.0 +CMT,1,1,486,1.0,CRD,7.0 +CMT,1,3,1281,4.1,CSH,17.5 +CMT,1,2,917,3.5,CRD,13.5 +CMT,1,1,1215,6.1,CSH,21.5 +CMT,1,1,233,0.3,CSH,4.5 +CMT,1,2,163,0.7,CRD,4.5 +CMT,1,1,956,3.5,CSH,14.0 +CMT,1,1,54,0.4,CRD,3.5 +CMT,1,1,369,1.6,CRD,7.0 +CMT,1,1,590,1.1,CSH,8.0 +CMT,1,2,293,0.7,CSH,5.5 +CMT,1,1,362,1.2,CSH,6.5 +CMT,1,1,157,0.5,CSH,4.0 +CMT,1,2,202,0.3,CSH,4.0 +CMT,1,2,810,8.9,CSH,25.0 +CMT,1,1,442,2.4,CSH,9.0 +CMT,1,1,339,0.5,CSH,5.5 +CMT,1,1,706,2.7,CRD,12.0 +CMT,1,1,1095,4.5,CSH,17.0 +CMT,1,1,715,2.0,CRD,10.0 +CMT,1,2,927,2.8,CRD,12.5 +CMT,1,1,293,0.9,CRD,5.5 +CMT,1,2,504,1.3,CSH,7.5 +CMT,1,2,263,0.7,CSH,5.0 +CMT,1,1,336,1.4,CSH,6.5 +CMT,1,1,347,0.7,CRD,5.5 +CMT,1,1,268,0.9,CRD,5.0 +CMT,1,1,1008,2.6,CSH,13.0 +CMT,1,1,816,5.2,CRD,17.0 +CMT,1,1,1771,9.9,CRD,32.5 +CMT,1,2,310,0.5,CSH,5.0 +CMT,1,2,750,2.7,CSH,11.5 +CMT,1,2,277,0.9,CRD,5.5 +CMT,1,2,962,3.9,CRD,14.5 +CMT,1,3,989,1.2,CRD,11.0 +CMT,1,1,317,0.7,CRD,5.5 +CMT,1,2,159,0.8,CSH,4.5 +CMT,1,2,1143,3.1,CSH,15.0 +CMT,1,1,812,3.4,CSH,13.0 +CMT,1,1,237,0.9,CSH,5.5 +CMT,1,1,830,1.5,CSH,10.5 +CMT,1,1,286,0.6,CRD,5.0 +CMT,1,2,517,3.2,CRD,11.5 +CMT,1,2,581,2.0,CSH,9.5 +CMT,1,3,475,1.1,CSH,7.0 +CMT,1,1,131,0.7,CSH,4.5 +CMT,1,1,647,1.9,CRD,9.5 +CMT,1,1,1111,4.5,CRD,16.0 +CMT,1,2,653,2.0,CRD,10.0 +CMT,1,3,473,1.2,CSH,7.0 +CMT,1,2,502,2.1,CSH,9.0 +CMT,1,1,587,2.2,CSH,10.0 +CMT,1,1,304,0.7,CRD,5.5 +CMT,1,1,543,1.6,CSH,8.5 +CMT,1,2,1671,8.0,CRD,27.0 +CMT,1,1,219,1.0,CSH,5.5 +CMT,1,1,818,3.0,CRD,12.5 +CMT,1,3,288,1.4,CRD,6.5 +CMT,1,2,344,0.7,CRD,5.5 +CMT,1,2,332,1.9,CRD,7.5 +CMT,1,1,546,3.2,CSH,11.5 +CMT,1,2,274,1.3,CRD,5.5 +CMT,1,1,692,3.6,CRD,12.5 +CMT,1,1,1001,6.5,CSH,20.5 +CMT,1,1,928,5.2,CRD,17.5 +CMT,1,1,200,1.0,CRD,5.0 +CMT,1,1,539,1.6,CSH,8.5 +CMT,1,1,765,2.0,CSH,10.5 +CMT,1,1,193,0.6,CRD,4.5 +CMT,1,3,602,2.1,CSH,9.5 +CMT,1,1,298,0.8,CSH,5.5 +CMT,1,2,184,1.1,CRD,5.0 +CMT,1,2,1071,7.8,CRD,24.0 +CMT,1,1,239,1.1,CRD,5.5 +CMT,1,1,561,1.0,CRD,7.5 +CMT,1,3,424,1.6,CSH,8.0 +CMT,1,1,559,1.7,CSH,9.0 +CMT,1,1,1446,6.8,CRD,25.0 +CMT,1,1,291,0.5,CRD,5.0 +CMT,1,2,557,3.0,CSH,11.0 +CMT,1,1,1092,1.8,CRD,12.5 +CMT,1,1,460,2.7,CRD,10.0 +CMT,1,1,219,0.8,CSH,4.5 +CMT,1,1,871,2.9,CSH,13.0 +CMT,1,1,345,0.8,CRD,5.5 +CMT,1,1,253,0.8,CRD,5.0 +CMT,1,1,600,4.5,CSH,14.5 +CMT,1,1,805,3.0,CRD,12.5 +CMT,1,1,617,2.8,CSH,11.5 +CMT,1,2,536,2.4,CSH,9.5 +CMT,1,1,119,0.6,CRD,4.0 +CMT,1,1,1014,10.6,CRD,30.0 +CMT,1,1,1239,6.7,CRD,23.5 +CMT,1,1,173,0.7,CSH,4.5 +CMT,1,1,1019,2.3,CRD,12.5 +CMT,1,1,851,2.7,CSH,12.0 +CMT,1,1,820,3.6,CRD,14.0 +CMT,1,1,239,2.0,CSH,7.0 +CMT,1,1,1214,5.3,CRD,19.5 +CMT,1,1,451,1.2,CRD,7.5 +CMT,1,1,310,1.4,CRD,6.5 +CMT,1,3,803,1.7,CSH,10.0 +CMT,1,1,494,1.5,CSH,8.5 +CMT,1,1,367,1.2,CRD,6.5 +CMT,1,1,339,1.3,CRD,6.5 +CMT,1,1,1917,5.2,CSH,24.0 +CMT,1,2,957,3.3,CSH,13.5 +CMT,1,1,2164,3.6,CRD,23.0 +CMT,1,1,625,2.2,CRD,10.0 +CMT,1,2,868,2.9,CSH,13.0 +CMT,1,1,466,1.8,CSH,8.5 +CMT,1,2,865,5.0,CRD,17.0 +CMT,1,3,920,2.8,CSH,13.5 +CMT,1,1,668,2.8,CRD,11.0 +CMT,1,2,295,0.8,CSH,5.5 +CMT,1,2,274,0.6,CRD,5.0 +CMT,1,1,529,1.1,CRD,7.5 +CMT,1,2,862,5.6,CRD,18.0 +CMT,1,2,947,5.0,CRD,17.5 +CMT,1,1,687,2.3,CRD,10.0 +CMT,1,1,1303,5.1,CRD,19.0 +CMT,1,1,670,1.2,CRD,9.0 +CMT,1,2,546,2.3,CRD,9.5 +CMT,1,2,684,1.8,CSH,10.0 +CMT,1,2,955,4.3,CRD,16.0 +CMT,1,3,925,3.0,CRD,13.5 +CMT,1,1,892,7.6,CRD,22.5 +CMT,1,2,923,3.3,CRD,14.0 +CMT,1,2,317,1.0,CSH,5.5 +CMT,1,1,972,1.6,CRD,11.5 +CMT,1,1,1062,6.1,CSH,19.5 +CMT,1,1,1151,2.6,CRD,14.0 +CMT,1,1,279,0.7,CSH,5.0 +CMT,1,1,459,0.7,CRD,6.5 +CMT,1,1,299,0.7,CRD,5.0 +CMT,1,1,575,1.8,CRD,8.5 +CMT,1,1,249,0.9,CRD,5.5 +CMT,1,2,718,2.1,CSH,10.5 +CMT,1,1,542,1.7,CRD,8.5 +CMT,1,1,857,8.9,CRD,25.0 +CMT,1,1,560,2.5,CRD,10.0 +CMT,1,1,187,0.7,CRD,4.5 +CMT,1,1,307,1.4,CRD,6.5 +CMT,1,1,227,0.4,CSH,4.5 +CMT,1,2,514,0.6,CSH,6.5 +CMT,1,1,553,1.1,CRD,7.5 +CMT,1,3,252,0.7,CSH,5.0 +CMT,1,1,442,1.1,CSH,7.0 +CMT,1,2,725,6.2,CSH,19.5 +CMT,1,2,352,1.0,CRD,6.0 +CMT,1,1,861,3.3,CRD,13.5 +CMT,1,1,655,6.2,CRD,18.5 +CMT,1,1,409,1.0,CRD,6.5 +CMT,1,1,934,3.1,CRD,13.5 +CMT,1,2,676,2.8,CSH,11.0 +CMT,1,2,427,2.0,CRD,8.5 +CMT,1,1,450,1.3,CSH,7.0 +CMT,1,1,301,1.4,CSH,6.5 +CMT,1,1,473,1.3,CSH,7.5 +CMT,1,1,1316,4.3,CSH,18.5 +CMT,1,1,467,1.2,CRD,7.0 +CMT,1,1,292,1.6,CSH,6.5 +CMT,1,3,758,3.6,CSH,13.5 +CMT,1,1,991,5.5,CRD,17.5 +CMT,1,1,788,2.8,CRD,11.5 +CMT,1,4,535,1.5,CRD,8.0 +CMT,1,2,487,2.2,CRD,9.0 +CMT,1,1,721,2.9,CSH,11.5 +CMT,2,2,1913,20.2,CRD,52.0 +CMT,1,1,506,2.6,CSH,9.5 +CMT,1,1,644,3.0,CSH,12.0 +CMT,1,1,537,1.3,CRD,8.0 +CMT,1,1,791,2.7,CRD,11.5 +CMT,1,1,148,0.6,CRD,4.0 +CMT,1,1,1005,1.8,CSH,12.0 +CMT,1,1,359,0.9,CRD,6.0 +CMT,1,2,370,1.8,CRD,8.0 +CMT,1,1,1287,4.4,CRD,18.0 +CMT,1,1,993,1.8,CSH,12.0 +CMT,1,1,520,2.0,CRD,8.5 +CMT,1,1,506,2.5,CRD,9.5 +CMT,1,1,672,2.3,CSH,10.5 +CMT,1,1,697,1.8,CRD,10.0 +CMT,1,1,373,1.6,CRD,7.0 +CMT,1,1,1005,6.8,CRD,22.0 +CMT,1,1,1446,6.4,CSH,23.0 +CMT,1,1,491,1.4,CRD,7.5 +CMT,1,1,620,4.3,CRD,14.0 +CMT,1,2,549,2.4,CRD,9.5 +CMT,1,1,490,1.6,CSH,8.0 +CMT,1,1,831,3.5,CRD,14.0 +CMT,1,1,526,2.6,CRD,10.0 +CMT,1,1,778,2.8,CSH,11.5 +CMT,1,1,317,1.0,CRD,6.0 +CMT,1,1,942,1.1,CRD,10.5 +CMT,1,2,1694,11.1,CRD,32.5 +CMT,2,1,2371,20.3,CRD,52.0 +CMT,1,1,333,1.2,CRD,6.0 +CMT,1,1,214,0.6,CSH,4.5 +CMT,1,1,1602,4.0,CSH,20.0 +CMT,1,1,412,1.8,CSH,7.5 +CMT,1,1,750,0.9,CRD,9.0 +CMT,1,1,883,3.1,CRD,13.5 +CMT,1,1,1070,1.9,CSH,13.0 +CMT,1,2,522,1.2,CSH,7.5 +CMT,1,1,250,0.6,CRD,5.0 +CMT,1,2,181,0.7,CSH,4.5 +CMT,1,1,620,2.3,CRD,10.0 +CMT,1,1,721,2.0,CRD,10.0 +CMT,1,1,489,1.1,CRD,7.0 +CMT,1,1,159,1.1,CRD,5.0 +CMT,1,2,1047,2.5,CRD,13.5 +CMT,1,1,871,7.2,CRD,22.0 +CMT,1,1,189,1.0,CSH,5.0 +CMT,1,2,735,1.6,CSH,9.5 +CMT,1,1,847,2.4,CRD,11.5 +CMT,1,1,178,0.7,CSH,4.5 +CMT,1,1,459,0.7,CSH,6.5 +CMT,1,1,329,1.1,CSH,6.5 +CMT,1,1,923,3.3,CRD,13.5 +CMT,1,1,700,1.6,CSH,9.5 +CMT,1,1,2525,5.8,CSH,29.5 +CMT,1,4,358,1.5,CRD,7.0 +CMT,1,1,338,1.5,CRD,7.0 +CMT,1,1,594,3.1,CSH,11.0 +CMT,1,2,901,3.5,CSH,14.0 +CMT,1,1,344,1.3,CSH,6.5 +CMT,1,1,785,2.0,CRD,10.5 +CMT,1,1,110,0.5,CRD,3.5 +CMT,1,1,556,1.4,CSH,8.0 +CMT,1,2,650,2.5,CRD,10.0 +CMT,1,1,1297,4.9,CSH,19.0 +CMT,1,2,278,1.3,CRD,6.0 +CMT,1,1,200,0.6,CRD,4.5 +CMT,1,2,1415,2.8,CRD,16.5 +CMT,1,3,1329,6.5,CRD,22.0 +CMT,1,2,231,1.1,CSH,5.5 +CMT,1,1,344,1.2,CRD,6.0 +CMT,1,2,676,2.9,CSH,11.5 +CMT,1,1,523,2.6,CRD,10.0 +CMT,1,4,307,1.4,CSH,6.5 +CMT,1,1,325,0.7,CSH,5.5 +CMT,1,1,403,0.7,CSH,6.0 +CMT,1,2,447,0.8,CSH,6.0 +CMT,1,1,715,4.4,CRD,15.0 +CMT,1,1,886,4.0,CRD,15.5 +CMT,1,3,1439,3.8,CRD,17.5 +CMT,1,2,208,0.9,CSH,5.0 +CMT,1,1,298,1.0,CRD,5.5 +CMT,1,1,609,3.7,CSH,12.5 +CMT,1,1,1367,4.4,CRD,18.0 +CMT,1,3,1675,10.2,CRD,31.0 +CMT,1,1,267,1.0,CRD,5.5 +CMT,1,1,915,1.9,DIS,12.0 +CMT,1,1,193,0.8,CRD,4.5 +CMT,1,2,317,1.0,CSH,6.0 +CMT,1,1,448,1.4,CSH,7.5 +CMT,1,2,640,2.2,CSH,10.0 +CMT,1,1,380,1.3,CRD,6.5 +CMT,1,3,1179,1.6,CSH,13.0 +CMT,1,2,282,0.7,CSH,5.0 +CMT,1,1,1849,10.3,CSH,33.0 +CMT,1,4,1456,3.5,CSH,17.5 +CMT,1,1,483,1.5,CRD,8.0 +CMT,1,1,635,4.1,CSH,14.0 +CMT,1,1,300,0.8,CRD,5.5 +CMT,1,1,453,1.0,CSH,7.0 +CMT,1,1,634,1.3,CSH,8.5 +CMT,1,3,345,2.0,CRD,7.5 +CMT,1,2,491,1.3,CSH,7.5 +CMT,1,1,269,1.0,CSH,5.5 +CMT,1,1,1469,4.0,CRD,18.0 +CMT,1,1,383,1.6,CRD,7.0 +CMT,1,1,833,2.8,CSH,12.0 +CMT,1,2,335,1.4,CSH,7.0 +CMT,1,1,749,3.2,CSH,12.5 +CMT,1,1,1502,10.1,CRD,31.5 +CMT,1,1,90,0.6,CSH,4.0 +CMT,1,1,225,0.6,CRD,4.5 +CMT,1,4,510,1.9,CSH,8.5 +CMT,1,1,539,1.3,CRD,8.0 +CMT,1,1,432,1.4,CRD,7.0 +CMT,1,2,1417,5.2,CSH,20.5 +CMT,1,3,168,0.7,CSH,4.5 +CMT,1,1,558,1.6,CSH,8.5 +CMT,1,2,2720,25.9,CSH,72.0 +CMT,1,2,688,2.9,CRD,11.0 +CMT,1,2,411,1.5,CSH,7.5 +CMT,1,2,2586,14.5,CRD,43.0 +CMT,1,1,487,1.7,CSH,8.0 +CMT,1,1,775,4.1,CRD,14.0 +CMT,1,1,1041,5.6,CSH,19.0 +CMT,1,3,600,1.8,CRD,9.0 +CMT,1,1,1630,10.7,DIS,33.5 +CMT,1,1,2537,11.0,CRD,37.5 +CMT,1,1,1013,3.4,CRD,13.5 +CMT,1,1,936,5.4,CSH,17.5 +CMT,1,2,570,1.3,CRD,8.0 +CMT,1,1,201,0.7,CRD,4.5 +CMT,1,3,597,2.0,CRD,9.0 +CMT,1,1,395,2.6,CRD,9.5 +CMT,1,2,296,1.2,CSH,6.0 +CMT,1,1,974,5.0,CSH,17.5 +CMT,1,2,778,1.3,CRD,9.5 +CMT,1,2,1159,6.3,CSH,21.5 +CMT,1,1,541,1.7,CSH,8.0 +CMT,1,1,473,1.7,CRD,8.0 +CMT,1,1,888,2.8,CRD,12.5 +CMT,1,1,174,0.5,CSH,4.5 +CMT,1,1,754,1.8,CRD,10.0 +CMT,1,2,1047,3.1,CSH,13.5 +CMT,1,2,657,1.3,CRD,8.5 +CMT,1,1,584,4.0,CRD,13.0 +CMT,1,1,1226,2.5,CRD,14.5 +CMT,1,1,176,0.7,CSH,4.5 +CMT,1,1,557,0.9,CSH,7.5 +CMT,1,2,1133,3.7,CRD,15.5 +CMT,1,1,466,1.7,CSH,8.0 +CMT,1,2,266,0.7,CRD,5.0 +CMT,1,1,375,1.8,CRD,7.5 +CMT,1,1,546,2.0,CSH,9.0 +CMT,1,1,791,2.5,CRD,11.5 +CMT,1,2,183,0.5,CSH,4.5 +CMT,1,1,449,2.0,CSH,8.5 +CMT,1,1,458,1.2,CSH,7.0 +CMT,1,1,415,1.8,CSH,8.0 +CMT,1,3,533,1.9,CRD,8.5 +CMT,1,3,700,3.4,CRD,12.5 +CMT,1,2,660,1.7,CSH,9.0 +CMT,1,3,924,3.3,CSH,13.5 +CMT,1,1,689,4.0,CSH,13.0 +CMT,1,1,312,0.8,CSH,5.5 +CMT,1,1,149,0.4,CRD,3.5 +CMT,1,2,1067,2.8,CRD,13.0 +CMT,1,1,484,1.5,CRD,7.5 +CMT,1,1,270,1.2,CRD,5.5 +CMT,1,2,1153,2.1,CRD,13.0 +CMT,1,1,967,4.0,CSH,15.0 +CMT,1,1,526,1.5,CRD,8.0 +CMT,1,2,1447,1.8,CRD,15.0 +CMT,1,2,242,0.9,CRD,5.5 +CMT,1,2,1346,3.9,CRD,18.0 +CMT,1,1,1816,12.0,CSH,35.5 +CMT,1,1,414,1.3,CSH,7.0 +CMT,1,1,275,0.9,CRD,5.5 +CMT,1,1,323,1.3,CRD,6.0 +CMT,1,2,1331,11.0,CRD,32.0 +CMT,1,1,1173,6.6,CRD,22.0 +CMT,1,1,53,0.0,DIS,2.5 +CMT,1,1,798,2.5,CSH,11.0 +CMT,1,2,148,0.5,CSH,4.0 +CMT,1,1,967,4.8,CRD,17.0 +CMT,1,1,360,1.4,CRD,6.5 +CMT,1,1,977,3.2,CRD,13.5 +CMT,1,1,411,1.7,CSH,7.5 +CMT,1,1,348,0.9,CRD,5.5 +CMT,1,3,344,0.9,CSH,5.5 +CMT,1,2,757,3.5,CSH,13.5 +CMT,1,1,808,1.6,CRD,10.0 +CMT,1,2,273,1.3,CRD,6.0 +CMT,1,1,1193,2.8,CRD,15.0 +CMT,1,2,1092,4.9,CSH,17.5 +CMT,1,3,497,0.9,CSH,7.0 +CMT,1,2,1523,5.2,CRD,21.0 +CMT,1,1,1087,4.1,CRD,16.0 +CMT,1,2,1369,3.9,CSH,17.5 +CMT,1,1,1026,6.6,CSH,22.0 +CMT,1,4,364,0.9,CSH,6.0 +CMT,1,1,369,1.7,CSH,7.0 +CMT,1,2,946,2.3,CSH,12.0 +CMT,1,2,421,1.1,CRD,7.0 +CMT,1,1,702,1.9,CRD,9.5 +CMT,1,1,930,3.9,CSH,15.5 +CMT,1,1,352,1.7,CSH,7.0 +CMT,1,2,859,2.5,CSH,12.0 +CMT,1,1,1125,5.6,CSH,19.0 +CMT,1,1,445,1.0,CRD,6.5 +CMT,1,1,788,1.8,CSH,10.5 +CMT,1,1,865,1.9,CRD,11.0 +CMT,1,1,1020,2.9,CSH,13.5 +CMT,2,1,1975,21.2,CSH,52.0 +CMT,1,1,234,0.8,CSH,5.0 +CMT,1,1,387,1.9,CSH,8.0 +CMT,1,1,385,1.4,CSH,7.0 +CMT,1,1,1432,3.7,CSH,17.0 +CMT,1,1,415,1.4,CSH,7.0 +CMT,1,2,513,1.7,CSH,8.5 +CMT,1,1,736,2.6,CRD,11.0 +CMT,1,1,658,1.0,CRD,8.5 +CMT,1,1,1038,2.3,CRD,13.0 +CMT,1,2,719,3.0,CRD,11.5 +CMT,1,2,584,2.8,CRD,11.0 +CMT,1,1,380,2.4,CRD,9.0 +CMT,1,1,1839,6.9,CSH,27.5 +CMT,1,1,168,0.6,CSH,4.5 +CMT,1,1,237,0.9,CRD,5.0 +CMT,1,1,455,1.7,CRD,8.0 +CMT,1,1,584,1.2,CRD,7.5 +CMT,1,1,1821,10.1,CSH,32.0 +CMT,1,1,277,1.0,CSH,6.0 +CMT,1,1,458,0.9,CSH,6.5 +CMT,1,1,719,2.6,CSH,11.0 +CMT,2,1,3458,17.4,CSH,52.0 +CMT,1,1,1304,1.8,CRD,14.0 +CMT,1,1,429,0.9,CRD,6.5 +CMT,1,1,718,2.7,CSH,11.0 +CMT,1,2,397,1.1,CRD,6.5 +CMT,1,1,946,4.3,CRD,16.0 +CMT,1,1,576,1.8,CRD,8.5 +CMT,1,1,985,3.6,CSH,15.0 +CMT,1,4,707,2.4,CSH,11.0 +CMT,1,1,930,2.8,CSH,12.5 +CMT,1,2,257,0.6,CSH,5.0 +CMT,1,1,692,3.7,CRD,13.5 +CMT,1,2,816,3.5,CSH,13.0 +CMT,1,3,503,1.4,CRD,8.0 +CMT,1,2,342,0.6,CSH,5.5 +CMT,1,1,989,7.0,CRD,21.5 +CMT,1,1,1355,10.9,CRD,31.0 +CMT,1,1,1196,9.8,CSH,29.0 +CMT,1,4,636,1.6,CSH,9.0 +CMT,1,2,611,1.8,CSH,9.5 +CMT,1,2,334,0.8,CSH,6.0 +CMT,1,1,191,0.5,CRD,4.5 +CMT,1,1,742,2.8,CSH,12.0 +CMT,1,1,904,3.5,CRD,14.0 +CMT,1,1,511,1.7,CRD,8.5 +CMT,1,1,1354,5.0,CRD,20.0 +CMT,1,2,545,1.1,CSH,8.0 +CMT,1,1,232,0.8,CSH,5.0 +CMT,1,1,304,1.3,CSH,6.5 +CMT,1,3,698,3.9,CSH,14.0 +CMT,1,1,1173,4.5,CSH,17.0 +CMT,1,1,722,4.2,CSH,14.0 +CMT,1,4,818,3.4,CSH,12.5 +CMT,1,2,1106,3.2,CRD,14.0 +CMT,1,2,1325,3.7,CRD,17.5 +CMT,1,2,528,2.4,CSH,9.5 +CMT,5,1,1628,6.7,CRD,50.0 +CMT,1,1,458,2.5,CSH,9.5 +CMT,1,2,329,1.1,CSH,6.0 +CMT,1,1,352,1.2,CSH,6.0 +CMT,1,2,428,1.7,CSH,7.5 +CMT,1,1,165,0.7,CSH,4.5 +CMT,1,1,612,1.6,CRD,8.5 +CMT,1,1,519,0.9,CSH,7.0 +CMT,1,2,1289,2.1,CRD,14.5 +CMT,1,2,241,1.1,CSH,5.5 +CMT,1,1,684,2.0,CRD,10.0 +CMT,1,2,446,1.5,CSH,7.5 +CMT,1,1,819,3.3,CRD,13.0 +CMT,1,2,718,4.1,CSH,14.0 +CMT,1,1,518,1.8,CRD,8.5 +CMT,1,1,2411,7.7,CRD,30.5 +CMT,1,2,496,1.9,CRD,8.5 +CMT,1,1,1265,3.8,CRD,16.5 +CMT,1,2,461,1.2,CSH,7.5 +CMT,1,2,1319,7.4,CSH,25.0 +CMT,1,1,1233,1.9,CRD,13.0 +CMT,1,1,151,0.9,CSH,4.5 +CMT,1,2,988,5.0,CRD,17.5 +CMT,1,1,189,0.7,CRD,4.5 +CMT,1,2,226,0.6,CSH,4.5 +CMT,1,1,309,1.5,CRD,6.5 +CMT,1,1,634,2.2,CRD,10.0 +CMT,1,2,400,1.9,CSH,8.0 +CMT,1,1,533,2.6,CRD,10.0 +CMT,1,1,1172,3.9,CRD,16.0 +CMT,1,4,751,2.3,CSH,11.0 +CMT,1,3,1065,3.0,CRD,13.0 +CMT,1,1,474,1.2,CRD,7.5 +CMT,1,3,431,1.4,CSH,7.0 +CMT,1,3,665,2.4,CSH,10.5 +CMT,1,1,453,1.6,CSH,8.0 +CMT,1,2,235,0.8,CSH,5.0 +CMT,1,1,863,4.6,CSH,16.0 +CMT,1,1,499,1.1,CSH,7.5 +CMT,1,1,1185,5.5,CRD,19.5 +CMT,1,2,301,0.6,CSH,5.5 +CMT,1,1,470,1.8,CSH,8.0 +CMT,1,2,604,2.7,CSH,10.5 +CMT,1,1,1194,9.0,CRD,27.0 +CMT,1,1,461,1.6,CRD,8.0 +CMT,1,1,1265,2.4,CRD,14.0 +CMT,1,2,1491,9.3,CSH,29.5 +CMT,1,1,913,3.4,CSH,13.5 +CMT,1,2,545,1.7,CRD,8.5 +CMT,1,1,283,1.1,CSH,6.0 +CMT,1,2,500,1.0,CSH,7.5 +CMT,1,3,562,2.8,CRD,10.5 +CMT,1,4,620,1.5,CSH,8.5 +CMT,1,3,1074,5.6,CRD,19.0 +CMT,1,2,626,1.4,CRD,8.5 +CMT,1,1,522,2.6,CRD,10.0 +CMT,1,1,695,0.8,CRD,8.5 +CMT,1,1,375,1.3,CRD,7.0 +CMT,1,1,397,2.1,CSH,8.5 +CMT,1,1,624,3.1,CSH,11.5 +CMT,1,2,558,1.4,CRD,8.0 +CMT,1,1,566,2.7,CRD,11.0 +CMT,1,1,891,4.0,CRD,15.5 +CMT,1,2,194,0.6,CRD,4.5 +CMT,1,1,157,0.3,CRD,4.0 +CMT,1,1,1490,2.6,CRD,16.0 +CMT,1,1,484,1.6,CSH,7.5 +CMT,1,2,568,1.3,CSH,8.0 +CMT,1,1,659,1.9,CSH,9.5 +CMT,1,1,550,1.2,CRD,7.5 +CMT,1,1,274,1.7,CRD,7.0 +CMT,1,1,219,0.7,CSH,5.0 +CMT,1,1,556,1.3,CRD,7.5 +CMT,1,1,252,0.8,CSH,5.5 +CMT,1,1,1058,3.5,CRD,15.5 +CMT,1,1,456,0.9,CRD,6.5 +CMT,1,1,368,1.2,CSH,6.5 +CMT,1,1,1193,1.4,CSH,13.0 +CMT,1,1,507,1.6,CSH,8.0 +CMT,1,1,25,0.0,CSH,2.5 +CMT,1,1,491,1.2,CRD,7.0 +CMT,1,1,456,1.0,CSH,6.5 +CMT,1,3,943,6.4,CRD,20.5 +CMT,1,1,387,0.8,CSH,6.0 +CMT,1,1,849,3.7,CRD,13.5 +CMT,1,1,646,4.6,CSH,15.0 +CMT,1,4,837,3.0,CRD,12.0 +CMT,1,2,1685,10.1,CSH,31.0 +CMT,1,4,281,1.1,CRD,5.5 +CMT,1,2,412,1.0,CSH,6.5 +CMT,1,1,120,0.5,CSH,4.0 +CMT,1,2,334,0.7,CSH,5.5 +CMT,1,3,1026,1.6,CSH,12.0 +CMT,1,1,995,4.7,CSH,17.0 +CMT,1,2,395,1.1,CRD,6.5 +CMT,1,1,787,3.1,CSH,12.5 +CMT,1,1,1082,14.3,CRD,38.5 +CMT,1,1,74,0.3,CSH,3.0 +CMT,1,1,107,0.7,CSH,4.0 +CMT,1,2,463,2.2,CRD,8.5 +CMT,1,1,490,1.2,CRD,7.5 +CMT,1,1,408,1.7,CRD,8.0 +CMT,1,1,935,3.0,CRD,12.5 +CMT,1,2,2243,7.1,CRD,29.0 +CMT,1,1,843,3.5,CRD,13.0 +CMT,1,1,30,0.0,DIS,2.5 +CMT,1,1,419,1.6,CSH,7.5 +CMT,1,1,606,2.0,CRD,9.5 +CMT,1,2,313,0.9,CRD,5.5 +CMT,1,1,1171,5.7,CRD,20.0 +CMT,1,2,410,1.4,CSH,7.0 +CMT,1,2,369,1.2,CSH,6.5 +CMT,2,3,4166,18.2,CRD,52.0 +CMT,2,1,3326,18.7,CRD,52.0 +CMT,1,1,333,1.0,CRD,6.0 +CMT,1,1,724,3.4,CSH,13.5 +CMT,1,2,136,0.1,CRD,3.5 +CMT,1,2,1115,2.3,CSH,13.0 +CMT,1,2,648,1.9,CSH,9.5 +CMT,1,2,350,1.9,CSH,7.5 +CMT,1,2,783,1.2,CSH,9.5 +CMT,1,2,1859,7.9,CSH,27.0 +CMT,1,2,2098,8.1,CRD,29.5 +CMT,1,1,324,1.9,CSH,7.5 +CMT,1,2,622,2.4,CSH,10.0 +CMT,1,1,253,1.6,CRD,6.5 +CMT,1,1,197,1.8,CRD,6.5 +CMT,1,2,551,1.7,CSH,8.5 +CMT,1,1,887,2.7,CSH,12.5 +CMT,1,1,89,1.2,CRD,5.5 +CMT,1,2,572,1.8,CSH,9.5 +CMT,1,1,554,1.0,CRD,7.5 +CMT,1,1,644,2.4,CSH,10.5 +CMT,1,1,671,2.8,CSH,11.5 +CMT,1,1,257,0.9,CRD,5.0 +CMT,1,2,349,1.3,CRD,6.5 +CMT,1,1,447,0.9,CSH,6.5 +CMT,1,4,858,3.1,CRD,12.5 +CMT,1,2,387,1.4,CSH,7.0 +CMT,1,4,565,2.1,CRD,9.0 +CMT,1,1,352,1.0,CRD,6.0 +CMT,1,1,705,4.7,CRD,15.5 +CMT,1,2,194,0.5,CSH,4.0 +CMT,1,1,744,2.6,CSH,11.0 +CMT,1,1,599,3.4,CSH,12.0 +CMT,1,2,411,1.8,CRD,8.0 +CMT,1,3,793,5.6,CSH,17.5 +CMT,1,1,724,2.6,CRD,11.0 +CMT,1,4,1322,5.9,CRD,21.5 +CMT,1,2,963,1.7,CRD,11.5 +CMT,1,1,2306,15.0,CSH,44.0 +CMT,1,1,293,1.0,CSH,6.0 +CMT,1,2,870,4.5,CSH,16.0 +CMT,1,3,954,3.1,CSH,13.5 +CMT,1,2,336,1.1,CRD,6.0 +CMT,1,1,596,0.8,CSH,7.5 +CMT,1,1,152,0.8,CSH,4.5 +CMT,1,1,344,1.0,CSH,6.0 +CMT,1,1,477,2.5,CSH,9.5 +CMT,1,1,199,0.8,CSH,5.0 +CMT,1,1,242,1.9,CSH,7.0 +CMT,1,2,575,1.2,CRD,8.0 +CMT,1,1,229,0.6,CSH,4.5 +CMT,1,1,1564,8.9,DIS,28.5 +CMT,1,1,368,0.8,CSH,6.0 +CMT,1,1,510,2.5,CRD,10.0 +CMT,1,1,638,2.5,CSH,10.5 +CMT,1,1,323,0.8,CSH,5.5 +CMT,1,1,296,2.0,CSH,7.5 +CMT,1,1,945,3.9,CRD,14.5 +CMT,1,1,405,0.7,CSH,6.0 +CMT,1,1,335,1.2,CRD,6.5 +CMT,1,1,641,1.5,CSH,8.5 +CMT,1,1,760,3.7,CRD,13.0 +CMT,1,1,171,1.0,CRD,5.0 +CMT,1,1,612,2.0,CRD,9.0 +CMT,1,2,609,2.2,CRD,9.5 +CMT,1,1,443,1.8,CRD,8.0 +CMT,1,1,832,2.9,CRD,12.0 +CMT,1,1,1104,10.0,CSH,28.5 +CMT,1,2,2756,10.3,CSH,38.0 +CMT,1,3,626,2.5,CSH,10.5 +CMT,1,1,529,1.0,CRD,7.5 +CMT,1,1,667,5.3,CRD,16.5 +CMT,1,1,209,0.6,CRD,4.5 +CMT,1,1,512,2.1,CRD,9.0 +CMT,1,1,263,0.4,CSH,4.5 +CMT,1,1,294,1.6,CSH,7.0 +CMT,1,1,1251,7.0,CRD,23.5 +CMT,1,4,781,3.8,CSH,14.0 +CMT,1,3,771,3.8,CRD,14.5 +CMT,1,1,1127,9.6,CSH,28.5 +CMT,1,1,253,2.1,CSH,7.5 +CMT,1,1,425,3.0,CRD,10.5 +CMT,1,1,506,1.7,CSH,8.5 +CMT,1,1,406,1.2,CRD,6.5 +CMT,1,2,2427,12.8,CRD,42.0 +CMT,1,1,354,1.1,CRD,6.5 +CMT,1,2,209,0.8,CSH,5.0 +CMT,1,3,1243,4.4,CRD,18.0 +CMT,1,2,793,3.9,CRD,14.5 +CMT,1,2,315,0.8,CSH,5.5 +CMT,1,1,226,0.8,CRD,5.0 +CMT,1,4,860,3.4,CSH,13.5 +CMT,1,2,459,1.5,CRD,7.5 +CMT,1,1,467,1.4,CRD,8.0 +CMT,1,1,2389,18.0,CSH,51.0 +CMT,1,1,1398,15.9,CSH,44.0 +CMT,1,2,936,2.8,CRD,13.0 +CMT,1,1,299,1.1,CRD,6.0 +CMT,1,1,312,1.2,CRD,6.0 +CMT,1,4,654,2.7,CSH,10.5 +CMT,1,1,1098,7.1,CRD,23.5 +CMT,1,2,213,0.5,CSH,4.5 +CMT,1,2,162,0.3,CSH,3.5 +CMT,1,4,515,2.0,CSH,8.5 +CMT,1,2,860,2.8,CRD,12.5 +CMT,1,1,676,2.0,CSH,10.0 +CMT,1,1,658,1.9,CRD,10.0 +CMT,1,1,884,3.6,CRD,14.5 +CMT,1,1,947,4.4,CRD,15.5 +CMT,1,1,1683,9.2,CSH,29.5 +CMT,1,2,1653,14.6,CRD,40.5 +CMT,1,1,391,2.3,CSH,8.5 +CMT,1,1,530,1.9,CRD,9.0 +CMT,1,1,176,1.2,CSH,5.5 +CMT,1,1,97,0.6,CSH,4.0 +CMT,2,1,1380,18.7,CRD,52.0 +CMT,1,4,916,3.5,CSH,13.5 +CMT,1,1,622,1.6,CRD,8.5 +CMT,2,4,2034,18.6,CRD,52.0 +CMT,1,1,378,1.6,CSH,7.5 +CMT,1,1,604,3.0,CSH,11.5 +CMT,1,1,186,0.8,CSH,5.0 +CMT,1,1,867,9.0,CSH,25.5 +CMT,1,1,1927,7.3,CSH,27.0 +CMT,1,1,283,0.7,CRD,5.0 +CMT,1,1,1101,5.7,CRD,18.5 +CMT,1,2,1563,11.3,CRD,33.0 +CMT,1,3,372,1.0,CRD,6.5 +CMT,1,1,332,1.3,CSH,6.5 +CMT,1,3,1995,5.6,CRD,25.0 +CMT,1,1,229,0.7,CSH,5.0 +CMT,1,1,1293,8.5,CRD,26.0 +CMT,1,1,804,4.5,CRD,15.5 +CMT,1,1,1763,20.5,CSH,55.5 +CMT,1,1,564,2.0,CSH,9.5 +CMT,1,1,528,2.1,CSH,9.0 +CMT,1,1,502,1.3,CSH,7.5 +CMT,1,2,433,1.1,CRD,7.0 +CMT,2,1,1880,16.7,CSH,52.0 +CMT,1,1,1202,7.2,CRD,24.0 +CMT,1,1,376,0.7,CRD,6.0 +CMT,1,1,519,1.2,CSH,7.5 +CMT,1,1,1649,10.8,CRD,33.5 +CMT,1,2,2247,4.8,CSH,27.5 +CMT,1,2,601,2.6,CRD,10.5 +CMT,1,2,1444,10.0,CRD,31.0 +CMT,1,1,554,2.2,CRD,9.5 +CMT,1,2,401,0.9,CRD,6.5 +CMT,1,2,455,1.4,CRD,7.5 +CMT,1,2,416,0.6,CSH,6.0 +CMT,1,1,180,0.6,CRD,4.5 +CMT,2,1,4184,18.2,CSH,52.0 +CMT,1,1,1036,1.7,CSH,11.5 +CMT,1,2,671,3.0,CRD,11.5 +CMT,1,4,803,5.4,CSH,17.5 +CMT,1,1,1796,9.5,CSH,31.0 +CMT,2,4,2967,22.8,CSH,52.0 +CMT,1,2,251,1.5,CRD,6.0 +CMT,1,2,656,1.5,CSH,9.0 +CMT,1,1,774,3.4,CSH,13.0 +CMT,1,4,856,0.7,CRD,9.5 +CMT,1,2,1223,5.7,CRD,20.0 +CMT,1,1,197,1.3,CSH,5.5 +CMT,1,1,294,0.8,CSH,5.5 +CMT,1,1,187,0.6,CRD,4.5 +CMT,1,1,431,1.9,CSH,8.0 +CMT,1,2,750,1.7,CRD,10.0 +CMT,1,1,292,1.3,CSH,6.0 +CMT,1,1,282,1.0,CSH,6.0 +CMT,1,2,424,1.9,CRD,8.0 +CMT,1,4,600,2.2,CSH,10.0 +CMT,1,1,791,2.0,CSH,11.0 +CMT,1,1,324,0.9,CSH,5.5 +CMT,1,1,1076,2.9,CSH,14.0 +CMT,2,1,1667,18.8,CRD,52.0 +CMT,1,1,1276,4.9,CSH,20.0 +CMT,1,1,434,1.5,CRD,7.5 +CMT,1,1,710,2.6,CRD,11.0 +CMT,1,2,272,1.0,CSH,5.5 +CMT,1,1,4,0.0,CRD,2.5 +CMT,1,1,495,2.2,CRD,9.5 +CMT,1,2,116,0.5,CSH,4.0 +CMT,1,3,238,1.2,CRD,6.0 +CMT,1,1,352,1.5,CSH,7.0 +CMT,1,1,291,1.4,CRD,6.5 +CMT,1,1,606,2.0,CSH,9.5 +CMT,1,1,897,4.9,CRD,16.0 +CMT,1,2,1398,11.2,CRD,32.5 +CMT,1,2,637,1.6,CSH,9.0 +CMT,1,2,1104,5.9,CSH,20.5 +CMT,1,2,1080,8.6,CSH,26.0 +CMT,1,3,1230,6.4,CSH,21.5 +CMT,1,1,549,2.1,CSH,9.0 +CMT,1,2,1312,2.5,CRD,15.5 +CMT,1,3,887,4.2,CSH,15.0 +CMT,1,3,1282,7.4,CSH,24.0 +CMT,1,1,632,5.2,CRD,16.5 +CMT,1,1,430,2.2,CSH,8.5 +CMT,1,2,1671,7.6,CRD,26.5 +CMT,1,1,132,0.4,CSH,4.0 +CMT,1,1,1232,1.4,CRD,13.0 +CMT,2,2,2107,22.1,CSH,52.0 +CMT,1,1,1234,3.5,CRD,16.0 +CMT,1,2,805,2.3,CSH,10.5 +CMT,1,2,370,1.6,CRD,7.0 +CMT,1,1,772,2.6,CSH,11.5 +CMT,1,1,116,0.4,CSH,3.5 +CMT,1,1,539,2.4,CRD,9.5 +CMT,1,1,359,1.6,CSH,7.0 +CMT,1,1,1083,4.2,CRD,17.0 +CMT,1,1,256,1.1,CSH,5.5 +CMT,1,1,168,0.6,CRD,4.5 +CMT,1,1,578,3.6,CRD,12.0 +CMT,1,1,619,3.0,CRD,11.5 +CMT,1,1,637,2.2,CSH,9.5 +CMT,1,1,787,3.3,CRD,13.0 +CMT,1,2,2293,10.8,CRD,36.5 +CMT,1,3,647,3.7,CSH,13.0 +CMT,1,2,432,2.4,CSH,9.0 +CMT,1,1,284,1.2,CSH,6.0 +CMT,1,1,419,1.3,CRD,7.0 +CMT,1,1,230,1.0,CRD,5.0 +CMT,1,2,647,2.6,CRD,10.5 +CMT,1,4,1414,6.8,CSH,23.0 +CMT,1,1,575,3.7,CSH,12.5 +CMT,1,1,173,0.8,CRD,4.5 +CMT,1,1,540,1.7,CRD,8.5 +CMT,1,3,748,1.9,CSH,10.0 +CMT,1,1,237,0.6,CRD,4.5 +CMT,1,1,1055,1.5,CRD,12.0 +CMT,1,1,1101,2.9,CSH,14.0 +CMT,1,1,583,1.6,CSH,8.5 +CMT,1,1,1238,1.7,CRD,14.0 +CMT,1,1,1263,4.7,CRD,18.5 +CMT,1,1,572,2.6,CSH,10.0 +CMT,1,1,1462,9.8,CRD,29.0 +CMT,1,1,795,3.2,CRD,12.5 +CMT,1,1,721,1.8,CRD,10.0 +CMT,1,1,617,2.2,CRD,9.5 +CMT,1,3,646,1.5,CSH,9.0 +CMT,1,1,777,1.8,CRD,10.0 +CMT,1,1,1515,8.7,CRD,28.5 +CMT,1,2,698,4.5,CRD,15.0 +CMT,1,3,616,3.8,CRD,12.5 +CMT,1,1,646,2.1,CSH,10.0 +CMT,1,4,824,2.3,CSH,11.0 +CMT,1,4,615,2.1,CSH,9.5 +CMT,1,1,586,1.2,CRD,8.0 +CMT,1,3,817,3.5,CRD,13.5 +CMT,1,1,431,2.7,CRD,9.5 +CMT,1,2,361,1.6,CSH,7.0 +CMT,1,1,785,6.1,CRD,18.5 +CMT,1,3,1808,9.1,CRD,31.0 +CMT,1,1,1091,8.3,CSH,26.0 +CMT,1,2,152,1.0,CSH,5.0 +CMT,1,2,179,0.7,CRD,4.5 +CMT,1,2,478,2.6,CSH,9.5 +CMT,1,1,803,4.2,CSH,14.5 +CMT,1,1,204,0.7,CSH,4.5 +CMT,1,2,1293,10.2,CSH,30.5 +CMT,1,2,263,0.6,CSH,5.0 +CMT,1,3,1048,3.2,CSH,14.0 +CMT,1,2,992,5.2,CRD,18.5 +CMT,1,1,102,0.6,CSH,4.0 +CMT,1,3,566,2.0,CSH,9.0 +CMT,1,2,1017,7.4,CSH,23.0 +CMT,1,1,1293,9.9,CRD,29.5 +CMT,1,2,409,1.1,CRD,6.5 +CMT,1,2,773,3.9,CSH,13.5 +CMT,1,1,984,5.1,CSH,17.5 +CMT,1,3,204,0.4,CRD,4.5 +CMT,1,2,722,3.8,CRD,14.0 +CMT,1,2,691,3.1,CRD,12.0 +CMT,1,4,303,1.0,CSH,6.0 +CMT,1,2,603,1.6,CSH,8.0 +CMT,1,1,282,1.3,CSH,6.0 +CMT,1,2,604,1.5,CRD,8.5 +CMT,1,2,383,1.0,CSH,6.5 +CMT,2,1,1525,17.1,CRD,52.0 +CMT,1,4,440,1.3,CRD,7.5 +CMT,1,1,271,1.3,CRD,6.5 +CMT,1,1,210,1.1,CSH,5.5 +CMT,1,2,297,0.6,CSH,5.0 +CMT,1,2,519,1.8,CRD,8.5 +CMT,1,1,521,1.4,CSH,7.5 +CMT,1,1,261,0.6,CRD,5.0 +CMT,1,4,556,1.1,CSH,7.5 +CMT,1,2,608,3.4,CRD,12.0 +CMT,1,1,74,0.3,CRD,3.0 +CMT,1,1,331,1.8,CRD,7.0 +CMT,1,1,1354,3.4,CRD,16.5 +CMT,2,2,2785,21.2,CRD,52.0 +CMT,1,1,522,1.7,CSH,9.0 +CMT,1,1,1587,16.8,CRD,45.0 +CMT,1,1,1222,12.1,CRD,33.5 +CMT,1,1,416,1.9,CRD,8.0 +CMT,1,1,775,2.8,CRD,12.5 +CMT,1,3,957,5.9,CSH,18.0 +CMT,1,1,2010,4.6,CRD,22.0 +CMT,1,2,296,0.7,CRD,5.0 +CMT,1,2,1008,4.6,CRD,16.0 +CMT,1,2,422,1.3,CSH,7.0 +CMT,1,2,647,1.8,CSH,9.5 +CMT,1,2,1386,2.5,CSH,15.5 +CMT,1,2,794,3.5,CSH,13.5 +CMT,1,1,529,2.8,CSH,10.0 +CMT,1,1,417,1.3,CSH,7.0 +CMT,1,2,670,3.4,CRD,12.5 +CMT,1,1,619,2.6,CRD,11.0 +CMT,1,2,1280,2.9,CSH,15.5 +CMT,1,1,364,2.1,CRD,8.0 +CMT,2,1,1640,5.2,CRD,52.0 +CMT,1,1,526,2.6,CSH,10.0 +CMT,1,1,453,2.3,CSH,8.5 +CMT,1,1,1002,1.9,CRD,12.0 +CMT,1,2,548,0.6,CRD,7.0 +CMT,1,1,700,3.8,CSH,12.5 +CMT,1,1,201,0.5,CRD,4.5 +CMT,1,1,466,0.8,CRD,6.5 +CMT,1,1,266,0.7,CSH,5.0 +CMT,1,1,187,0.3,CSH,4.0 +CMT,1,4,164,0.3,CSH,3.5 +CMT,1,1,357,2.0,CSH,8.0 +CMT,4,2,56,0.0,CSH,2.5 +CMT,1,1,1084,7.4,CRD,22.5 +CMT,1,1,1009,4.8,CSH,18.0 +CMT,1,1,940,3.2,CSH,13.5 +CMT,1,1,1366,4.1,CRD,18.0 +CMT,1,1,263,0.7,CSH,5.0 +CMT,1,1,564,2.8,CSH,11.5 +CMT,1,2,988,3.7,CSH,14.5 +CMT,1,1,347,1.5,CSH,7.5 +CMT,1,1,524,1.6,CSH,8.5 +CMT,1,1,1549,11.2,CRD,33.5 +CMT,1,1,1130,4.2,CRD,16.5 +CMT,1,1,218,0.8,CSH,5.0 +CMT,1,1,204,1.1,CSH,5.5 +CMT,1,2,1996,18.1,CSH,51.0 +CMT,1,2,872,1.6,CRD,11.0 +CMT,1,1,296,1.1,CRD,5.5 +CMT,1,1,474,2.1,CRD,8.5 +CMT,1,1,800,3.8,CSH,14.0 +CMT,1,1,1233,4.2,CSH,17.0 +CMT,1,2,1234,5.2,CSH,19.5 +CMT,1,1,384,1.0,CSH,6.5 +CMT,1,1,266,0.6,CSH,5.0 +CMT,1,2,1208,4.1,CRD,16.5 +CMT,1,1,1489,2.8,CSH,16.5 +CMT,1,1,470,1.6,CSH,8.0 +CMT,1,1,1038,2.3,CSH,13.0 +CMT,1,2,598,1.8,CSH,9.0 +CMT,1,1,895,1.9,CRD,11.0 +CMT,1,1,325,1.5,CSH,6.5 +CMT,1,1,470,1.1,CSH,7.0 +CMT,1,2,852,2.7,CSH,12.0 +CMT,1,1,436,1.2,CRD,7.5 +CMT,1,2,1232,4.1,CSH,16.5 +CMT,1,1,869,3.8,CRD,14.5 +CMT,1,1,198,0.9,CSH,5.0 +CMT,1,3,1746,2.3,CSH,18.5 +CMT,1,4,349,1.4,CSH,6.5 +CMT,1,3,1006,2.6,CRD,13.0 +CMT,1,1,446,1.3,CSH,7.0 +CMT,1,2,962,1.8,CSH,11.5 +CMT,1,1,769,1.8,CSH,10.0 +CMT,1,1,249,0.7,CRD,5.0 +CMT,1,1,636,2.5,CRD,10.5 +CMT,1,2,764,2.7,CSH,11.5 +CMT,1,2,1070,2.8,CRD,14.0 +CMT,1,1,1916,5.4,CSH,23.5 +CMT,1,1,324,0.9,CRD,6.0 +CMT,5,1,946,4.3,CRD,50.0 +CMT,1,3,584,2.1,CSH,9.5 +CMT,1,1,1934,10.5,CSH,35.0 +CMT,1,1,642,1.5,CRD,9.0 +CMT,1,1,236,1.1,CRD,5.5 +CMT,1,1,233,0.9,CRD,5.0 +CMT,1,1,495,1.6,CSH,8.5 +CMT,1,1,789,2.2,CRD,10.5 +CMT,1,1,969,2.6,CSH,12.5 +CMT,1,1,239,1.1,CRD,6.0 +CMT,1,1,511,1.3,CSH,7.5 +CMT,1,3,630,2.0,CSH,9.5 +CMT,1,1,458,2.6,CRD,10.0 +CMT,1,3,1561,3.2,CSH,17.5 +CMT,1,1,554,1.8,CRD,8.5 +CMT,1,3,723,1.5,CRD,9.5 +CMT,1,1,470,2.0,CRD,8.5 +CMT,1,1,471,2.9,CRD,10.0 +CMT,1,1,1221,3.5,CSH,14.0 +CMT,1,1,834,3.4,CRD,14.0 +CMT,1,1,1083,4.8,CRD,17.0 +CMT,1,1,244,1.3,CSH,6.0 +CMT,1,2,340,0.7,CRD,5.5 +CMT,1,3,748,2.2,CSH,11.0 +CMT,1,3,33,0.0,CSH,2.5 +CMT,1,1,510,1.2,CSH,8.0 +CMT,1,1,118,0.3,CSH,3.5 +CMT,1,1,246,0.6,CRD,5.0 +CMT,1,1,933,2.4,CRD,12.0 +CMT,1,1,310,0.8,CSH,5.5 +CMT,1,1,907,2.6,CRD,12.5 +CMT,1,1,447,1.2,CRD,7.0 +CMT,1,1,204,0.8,CSH,5.0 +CMT,1,1,276,0.9,CSH,5.5 +CMT,1,1,1000,4.6,CRD,16.5 +CMT,1,1,470,1.6,CRD,8.0 +CMT,1,1,96,0.1,CSH,3.0 +CMT,1,1,499,1.7,CSH,8.0 +CMT,1,1,735,2.2,CRD,10.5 +CMT,4,1,261,0.4,CSH,4.5 +CMT,1,1,866,2.5,CRD,11.5 +CMT,1,1,642,2.7,CRD,11.0 +CMT,1,1,1221,3.6,CSH,16.0 +CMT,1,1,491,1.4,CRD,8.0 +CMT,1,1,716,3.6,CRD,13.5 +CMT,1,1,1192,3.7,CRD,15.5 +CMT,1,1,533,2.0,CRD,9.0 +CMT,1,1,535,2.3,CRD,9.0 +CMT,1,1,444,2.4,CRD,9.0 +CMT,1,1,901,2.7,CSH,12.0 +CMT,1,1,401,1.2,CRD,7.0 +CMT,1,1,211,0.8,CRD,4.5 +CMT,1,1,661,3.1,CRD,11.5 +CMT,1,1,258,0.9,CRD,5.5 +CMT,1,1,432,1.3,CRD,7.5 +CMT,1,1,666,1.8,CSH,9.5 +CMT,1,1,283,0.7,CRD,5.5 +CMT,1,1,1146,5.4,CRD,19.0 +CMT,1,1,450,1.8,CSH,8.0 +CMT,1,1,1352,4.8,CRD,19.0 +CMT,1,1,2193,18.7,CRD,52.0 +CMT,1,1,465,1.0,CRD,7.0 +CMT,1,1,423,1.3,CRD,7.0 +CMT,1,2,294,1.0,CSH,6.0 +CMT,1,3,915,3.5,CRD,14.0 +CMT,1,2,810,2.3,CSH,11.0 +CMT,1,3,152,0.4,CSH,3.5 +CMT,1,2,115,0.4,CRD,3.5 +CMT,1,2,627,3.1,CSH,11.5 +CMT,1,1,408,0.8,CSH,6.5 +CMT,1,1,291,0.6,CRD,5.0 +CMT,1,1,354,1.7,CSH,7.5 +CMT,2,2,2925,19.0,CSH,52.0 +CMT,2,1,2249,17.6,CRD,52.0 +CMT,1,2,996,3.6,CSH,14.5 +CMT,1,1,680,1.6,CRD,9.0 +CMT,1,4,971,2.0,CSH,12.0 +CMT,1,1,424,1.5,CRD,8.0 +CMT,1,1,1275,5.7,CRD,20.5 +CMT,1,1,718,3.3,CSH,13.0 +CMT,1,1,2,0.0,CSH,2.5 +CMT,1,2,395,0.8,CSH,6.0 +CMT,1,1,643,1.3,CSH,8.5 +CMT,1,2,346,0.7,CSH,5.5 +CMT,1,3,414,1.3,CRD,7.0 +CMT,1,2,407,1.4,CRD,7.0 +CMT,1,1,510,1.3,CRD,8.0 +CMT,1,1,619,2.2,CRD,10.0 +CMT,1,1,1274,5.6,CRD,19.5 +CMT,1,1,705,1.6,CRD,9.5 +CMT,1,1,554,1.5,CRD,8.0 +CMT,1,1,617,3.0,CRD,11.0 +CMT,3,1,96,0.0,CSH,20.5 +CMT,1,1,175,0.7,CSH,4.5 +CMT,1,2,992,2.3,CSH,12.5 +CMT,1,1,1128,5.1,CRD,19.0 +CMT,1,1,1339,2.5,CSH,15.0 +CMT,1,1,802,2.0,CRD,11.0 +CMT,1,1,401,1.0,CRD,6.5 +CMT,1,1,994,5.8,CSH,19.5 +CMT,1,1,807,6.2,CRD,19.5 +CMT,1,1,417,1.3,CSH,7.0 +CMT,1,1,264,0.8,CSH,5.0 +CMT,1,1,1034,3.9,CRD,15.0 +CMT,1,1,232,1.3,CRD,6.0 +CMT,1,1,542,1.5,CSH,8.5 +CMT,1,1,896,2.5,CRD,12.0 +CMT,1,1,760,5.1,CSH,16.5 +CMT,1,1,707,2.1,CRD,10.0 +CMT,1,1,634,2.3,CSH,10.0 +CMT,1,1,173,0.5,CRD,4.5 +CMT,1,1,281,0.8,CSH,5.0 +CMT,1,1,738,2.6,CRD,11.0 +CMT,1,1,403,1.7,CRD,8.0 +CMT,1,1,1898,7.7,CSH,29.5 +CMT,1,1,361,1.5,CRD,7.0 +CMT,1,1,524,1.9,CSH,8.5 +CMT,1,1,282,0.8,CSH,5.5 +CMT,1,2,1468,3.5,CSH,17.5 +CMT,1,1,208,0.7,CRD,4.5 +CMT,1,1,978,2.9,CRD,13.0 +CMT,2,2,3164,16.7,CSH,52.0 +CMT,1,1,1132,4.2,CSH,17.0 +CMT,1,3,1742,17.1,CSH,47.0 +CMT,1,1,378,1.0,CRD,6.5 +CMT,1,1,145,0.5,CSH,4.0 +CMT,1,1,348,1.0,CRD,6.0 +CMT,1,1,755,1.6,CSH,10.0 +CMT,1,1,405,1.1,CRD,6.5 +CMT,1,1,530,1.6,CSH,8.0 +CMT,1,1,694,1.7,CSH,9.5 +CMT,1,1,200,0.5,CSH,4.5 +CMT,1,1,491,0.6,CRD,6.5 +CMT,1,1,501,2.2,CRD,9.0 +CMT,1,1,992,2.8,CSH,13.0 +CMT,1,1,106,0.4,CSH,3.5 +CMT,1,1,432,1.5,CRD,7.5 +CMT,1,1,702,2.1,CRD,10.5 +CMT,1,1,358,1.0,CRD,6.5 +CMT,1,1,460,1.6,CRD,7.5 +CMT,1,1,287,1.3,CRD,6.5 +CMT,1,1,1032,3.1,CSH,14.0 +CMT,1,1,320,0.6,CRD,5.0 +CMT,1,1,305,0.4,CRD,5.0 +CMT,6,1,2557,7.3,DIS,2.5 +CMT,1,1,1656,3.4,CSH,19.5 +CMT,1,1,856,0.7,DIS,2.5 +CMT,1,1,1224,2.5,CRD,14.0 +CMT,1,1,534,1.3,CRD,8.0 +CMT,1,1,253,0.6,CSH,5.0 +CMT,1,1,1062,2.4,CRD,13.5 +CMT,1,1,981,4.9,CRD,16.5 +CMT,1,1,725,1.8,CSH,10.0 +CMT,1,1,365,1.1,CRD,6.0 +CMT,1,1,182,0.6,CRD,4.0 +CMT,1,1,1686,13.6,CSH,38.5 +CMT,1,1,683,3.2,CRD,13.0 +CMT,1,1,361,2.0,CRD,8.0 +CMT,1,1,430,1.2,CSH,7.0 +CMT,1,1,335,1.4,CRD,7.0 +CMT,1,1,478,1.2,CRD,7.5 +CMT,1,1,667,1.3,CRD,8.5 +CMT,1,1,327,0.9,CSH,6.0 +CMT,1,1,350,1.3,CRD,6.5 +CMT,1,1,223,0.6,CSH,4.5 +CMT,1,1,842,2.7,CRD,12.0 +CMT,1,1,379,1.6,CSH,7.5 +CMT,1,1,337,0.8,CRD,5.5 +CMT,1,2,313,0.9,CRD,5.5 +CMT,1,1,681,2.5,CRD,11.5 +CMT,1,1,425,2.4,CSH,9.5 +CMT,1,1,337,1.8,CSH,7.5 +CMT,1,1,156,0.8,CRD,4.5 +CMT,1,1,691,2.5,CRD,11.0 +CMT,1,4,284,0.8,CSH,5.0 +CMT,2,1,1381,15.6,CRD,52.0 +CMT,1,1,730,4.6,CSH,15.0 +CMT,1,1,398,0.7,CSH,6.0 +CMT,1,4,1273,3.2,CRD,15.5 +CMT,1,1,2734,11.4,CSH,41.5 +CMT,1,1,1242,7.5,CRD,24.0 +CMT,2,1,3884,18.1,CRD,52.0 +CMT,1,4,2286,11.2,CSH,38.0 +CMT,1,1,178,0.5,CSH,4.0 +CMT,1,1,827,3.1,CSH,12.5 +CMT,1,1,262,0.9,CRD,5.5 +CMT,1,1,401,1.4,CSH,7.0 +CMT,1,1,505,1.2,CRD,7.5 +CMT,1,2,512,1.5,CRD,8.0 +CMT,1,1,795,1.9,CRD,10.5 +CMT,1,1,475,2.2,CRD,8.5 +CMT,1,1,741,2.5,CRD,11.5 +CMT,1,1,1189,4.9,CSH,18.5 +CMT,1,1,1261,10.4,CRD,30.5 +CMT,1,2,275,0.9,CSH,5.5 +CMT,1,1,405,1.8,CRD,8.0 +CMT,1,1,707,2.0,CRD,10.5 +CMT,1,2,1219,6.0,CRD,20.5 +CMT,1,1,1495,7.0,CRD,25.0 +CMT,1,1,3182,16.0,CRD,52.5 +CMT,1,1,1591,5.7,CRD,22.5 +CMT,1,2,1034,4.4,CSH,17.0 +CMT,1,2,593,2.1,CSH,9.5 +CMT,1,3,93,0.4,CSH,3.5 +CMT,1,2,254,1.9,CRD,7.0 +CMT,1,3,865,3.5,CRD,14.0 +CMT,1,1,1122,7.7,CSH,24.5 +CMT,1,1,119,0.7,CRD,4.5 +CMT,1,1,319,1.0,CSH,6.0 +CMT,1,1,176,0.9,CSH,4.5 +CMT,1,1,1212,2.1,CSH,14.5 +CMT,1,2,306,0.8,CRD,5.5 +CMT,1,1,1723,15.2,CSH,42.5 +CMT,1,1,520,2.7,CRD,10.5 +CMT,1,1,106,0.6,CRD,4.0 +CMT,1,1,511,1.6,CRD,8.5 +CMT,1,1,1194,4.9,CRD,18.0 +CMT,1,1,426,2.3,CSH,9.0 +CMT,1,2,165,0.7,CRD,4.5 +CMT,2,3,51,0.0,CSH,52.0 +CMT,1,1,747,4.3,CRD,14.0 +CMT,1,4,1634,3.4,CSH,18.5 +CMT,1,1,735,1.4,CRD,9.5 +CMT,1,1,753,2.5,CRD,12.0 +CMT,1,1,493,1.8,CSH,8.0 +CMT,1,1,392,1.6,CSH,7.5 +CMT,1,1,286,1.0,CRD,5.5 +CMT,1,1,648,1.4,CSH,8.5 +CMT,1,1,2041,17.4,CRD,47.5 +CMT,1,1,883,3.7,CRD,14.0 +CMT,1,1,396,1.5,CRD,7.5 +CMT,1,1,194,0.4,CSH,4.5 +CMT,1,1,360,1.4,CSH,7.0 +CMT,1,1,745,2.4,CRD,11.0 +CMT,1,1,332,1.1,CSH,6.0 +CMT,1,1,118,0.2,CSH,3.5 +CMT,1,1,554,3.9,CRD,13.0 +CMT,1,1,894,2.0,CSH,11.5 +CMT,1,1,634,2.0,CSH,9.5 +CMT,1,1,1234,5.2,CSH,19.0 +CMT,1,1,699,2.2,CSH,10.5 +CMT,1,1,362,1.2,CSH,6.5 +CMT,1,1,278,0.5,CRD,5.0 +CMT,1,1,97,0.5,CRD,3.5 +CMT,1,1,785,2.7,CSH,12.0 +CMT,1,1,736,1.0,CSH,7.0 +CMT,1,1,485,1.3,CSH,7.5 +CMT,1,1,499,1.6,CRD,8.5 +CMT,1,1,542,1.7,CSH,8.5 +CMT,1,1,317,0.9,CSH,5.5 +CMT,1,1,178,0.3,CRD,4.0 +CMT,1,1,266,0.7,CSH,5.0 +CMT,1,1,557,1.2,CSH,7.5 +CMT,1,1,574,0.9,CRD,7.5 +CMT,1,1,949,2.5,CSH,12.0 +CMT,1,1,675,1.6,CRD,9.5 +CMT,1,1,1167,3.5,CRD,15.5 +CMT,1,1,901,2.0,CSH,12.0 +CMT,1,1,1154,5.7,CRD,19.5 +CMT,1,1,709,2.1,CRD,10.5 +CMT,1,1,1010,1.8,CRD,12.0 +CMT,1,1,541,1.4,CSH,8.0 +CMT,1,1,304,2.1,CRD,8.0 +CMT,1,1,277,0.9,CRD,5.5 +CMT,1,1,111,0.7,CSH,4.0 +CMT,1,1,1127,4.7,CRD,17.0 +CMT,1,1,212,0.5,CSH,4.5 +CMT,1,1,534,1.6,CRD,8.5 +CMT,1,1,274,1.4,CSH,6.5 +CMT,1,1,348,1.2,CRD,6.5 +CMT,1,1,512,1.7,CRD,8.5 +CMT,1,1,547,1.9,CSH,9.0 +CMT,1,1,1313,4.9,CSH,18.0 +CMT,1,1,528,1.7,CSH,8.5 +CMT,1,1,305,0.7,CRD,5.0 +CMT,1,1,678,1.8,CRD,9.5 +CMT,1,1,234,1.0,CRD,5.5 +CMT,1,1,598,2.9,CRD,10.5 +CMT,1,1,775,3.0,CRD,12.0 +CMT,1,1,639,1.6,CSH,9.0 +CMT,1,1,515,1.6,CSH,8.0 +CMT,1,1,686,2.2,CRD,10.0 +CMT,1,1,578,0.7,CSH,7.5 +CMT,1,1,633,1.2,CSH,8.5 +CMT,1,1,700,1.1,CRD,9.0 +CMT,1,1,696,2.2,CRD,10.0 +CMT,1,1,574,2.2,CRD,9.5 +CMT,1,1,306,0.5,CSH,5.0 +CMT,1,1,244,0.5,CSH,4.5 +CMT,1,1,340,0.8,CRD,5.5 +CMT,1,1,338,0.8,CSH,5.5 +CMT,1,1,867,1.2,CRD,10.0 +CMT,1,1,368,1.1,CRD,6.0 +CMT,1,1,967,4.1,CSH,15.5 +CMT,1,1,781,5.6,CRD,18.0 +CMT,1,1,242,1.1,CSH,5.5 +CMT,1,1,321,1.1,CRD,6.5 +CMT,1,1,670,3.6,CSH,13.0 +CMT,1,1,323,0.8,CRD,5.5 +CMT,1,1,269,0.7,CRD,5.0 +CMT,1,1,537,1.5,CSH,8.5 +CMT,1,1,175,0.7,CRD,4.5 +CMT,1,1,254,0.4,CSH,4.5 +CMT,1,1,575,1.9,CRD,9.0 +CMT,1,1,372,0.8,CSH,6.0 +CMT,1,1,263,0.5,CSH,5.0 +CMT,1,1,525,3.3,CSH,12.0 +CMT,1,1,1080,4.2,CSH,16.0 +CMT,1,1,1095,1.0,CRD,12.0 +CMT,1,1,284,0.8,CSH,5.5 +CMT,1,1,1519,6.9,CRD,24.5 +CMT,1,1,424,0.9,CSH,6.5 +CMT,1,1,249,1.0,CSH,5.5 +CMT,1,1,862,2.5,CSH,12.5 +CMT,1,1,430,1.4,CRD,7.0 +CMT,1,1,654,2.5,CSH,10.5 +CMT,1,1,2852,10.9,CRD,40.5 +CMT,1,1,757,3.7,CSH,13.5 +CMT,1,1,1019,3.6,CSH,14.5 +CMT,1,1,908,3.4,CRD,13.5 +CMT,1,1,855,3.1,CSH,13.5 +CMT,1,1,746,2.8,CRD,11.5 +CMT,1,1,404,1.1,CSH,6.5 +CMT,1,1,2031,11.4,CSH,37.5 +CMT,1,1,418,1.7,CSH,7.5 +CMT,1,1,874,2.5,CSH,12.0 +CMT,1,1,363,1.6,CRD,7.5 +CMT,1,1,1106,5.5,CRD,18.5 +CMT,1,1,640,1.2,CSH,8.5 +CMT,1,1,549,1.3,CSH,8.0 +CMT,1,1,462,1.7,CSH,8.0 +CMT,1,1,497,1.7,CSH,8.0 +CMT,1,1,226,1.0,CRD,5.5 +CMT,1,1,556,3.6,CRD,12.5 +CMT,1,1,338,0.7,CSH,5.5 +CMT,1,1,244,0.5,CSH,4.5 +CMT,1,1,405,1.0,CSH,6.5 +CMT,1,1,387,2.3,CRD,8.0 +CMT,1,1,1066,3.0,CRD,14.0 +CMT,1,1,429,1.6,CSH,7.5 +CMT,1,1,539,1.9,CRD,9.0 +CMT,1,1,1033,5.9,CRD,20.5 +CMT,1,1,1001,2.2,CSH,12.5 +CMT,1,1,344,1.1,CSH,6.5 +CMT,1,1,887,2.0,CRD,11.5 +CMT,1,1,355,1.2,CRD,6.5 +CMT,1,1,287,1.0,CSH,6.0 +CMT,1,1,1205,8.9,CRD,27.0 +CMT,1,1,146,0.4,CSH,4.0 +CMT,1,1,1203,3.9,CRD,16.5 +CMT,1,1,79,0.0,CSH,2.5 +CMT,1,1,163,0.6,CSH,4.5 +CMT,1,1,192,0.9,CRD,5.0 +CMT,1,1,816,3.2,CRD,12.5 +CMT,1,1,779,2.0,CRD,10.5 +CMT,1,1,293,0.6,CSH,5.0 +CMT,1,1,209,0.7,CRD,4.5 +CMT,1,1,516,1.5,CRD,8.0 +CMT,1,1,441,2.7,CSH,9.5 +CMT,1,1,319,0.4,CRD,5.0 +CMT,1,1,779,2.0,CSH,10.5 +CMT,1,1,772,1.5,CRD,9.5 +CMT,1,1,300,0.8,CSH,5.0 +CMT,1,1,489,1.6,CRD,8.0 +CMT,1,1,216,0.6,CRD,4.5 +CMT,1,1,830,1.5,CSH,10.5 +CMT,1,1,474,2.3,CSH,9.0 +CMT,1,1,337,1.7,CSH,7.5 +CMT,1,1,471,1.2,CSH,7.0 +CMT,1,1,582,1.7,CRD,9.0 +CMT,1,1,319,1.6,CSH,7.0 +CMT,1,1,445,0.8,CSH,6.5 +CMT,1,1,741,2.2,CRD,11.0 +CMT,1,1,306,1.8,CSH,7.0 +CMT,1,1,627,3.8,CSH,13.0 +CMT,1,1,131,0.5,CSH,4.0 +CMT,1,1,780,2.3,CSH,10.5 +CMT,1,1,346,0.7,CRD,5.5 +CMT,1,1,778,1.5,CSH,10.0 +CMT,1,1,971,3.1,CRD,14.0 +CMT,1,1,300,1.3,CRD,6.0 +CMT,1,1,646,2.6,CRD,11.0 +CMT,1,1,262,0.7,CSH,5.5 +CMT,1,1,411,0.8,CRD,6.5 +CMT,1,1,343,1.2,CSH,6.0 +CMT,1,1,444,1.3,CRD,7.5 +CMT,1,1,223,0.8,CSH,5.0 +CMT,1,1,870,1.8,CSH,10.5 +CMT,1,1,681,1.9,CRD,9.5 +CMT,1,1,356,0.8,CRD,6.0 +CMT,1,1,425,1.1,CRD,7.0 +CMT,1,1,447,1.4,CRD,7.5 +CMT,1,1,501,1.3,CSH,8.0 +CMT,1,1,1145,3.4,CRD,15.0 +CMT,1,1,120,0.8,CSH,4.5 +CMT,1,1,641,1.6,CRD,9.0 +CMT,1,1,158,0.1,CSH,3.5 +CMT,1,1,918,1.0,CSH,10.5 +CMT,1,1,1403,4.4,CSH,18.5 +CMT,1,1,1466,3.3,CSH,17.0 +CMT,1,1,941,1.6,CSH,10.5 +CMT,1,1,262,0.9,CSH,5.0 +CMT,1,1,127,0.5,CRD,4.0 +CMT,1,1,270,0.9,CRD,5.5 +CMT,1,1,668,1.4,CRD,9.0 +CMT,1,1,807,2.3,CSH,11.0 +CMT,1,1,704,2.0,CRD,10.0 +CMT,1,1,125,0.7,CSH,4.0 +CMT,1,1,983,8.4,CRD,25.5 +CMT,1,1,589,1.2,CRD,8.0 +CMT,1,1,156,0.5,CSH,4.0 +CMT,1,1,485,1.4,CRD,7.5 +CMT,1,1,536,2.0,CRD,9.0 +CMT,1,1,847,2.7,CSH,12.0 +CMT,1,1,489,1.3,CRD,7.5 +CMT,1,1,246,0.7,CRD,5.0 +CMT,1,1,184,0.5,CSH,4.5 +CMT,1,1,274,1.7,CSH,7.0 +CMT,1,1,267,0.5,CSH,5.0 +CMT,1,1,138,0.1,CSH,3.5 +CMT,1,1,496,1.9,CRD,8.5 +CMT,1,1,242,0.8,CSH,5.0 +CMT,1,1,352,1.9,CSH,8.0 +CMT,1,1,1309,5.6,CSH,21.5 +CMT,1,1,1048,5.6,CRD,19.5 +CMT,1,1,226,1.2,CSH,5.5 +CMT,1,1,384,1.1,CSH,6.5 +CMT,1,1,198,1.2,CRD,5.5 +CMT,4,1,249,0.5,CSH,4.5 +CMT,1,1,1042,3.5,CSH,15.0 +CMT,1,1,715,3.5,CRD,13.0 +CMT,1,1,640,2.3,CRD,10.0 +CMT,1,1,378,1.1,CRD,6.5 +CMT,1,1,1113,5.4,CSH,19.0 +CMT,1,1,328,1.1,CRD,6.5 +CMT,1,1,1272,3.4,CSH,16.0 +CMT,1,1,675,2.5,CRD,11.5 +CMT,1,1,615,1.0,CSH,8.0 +CMT,1,1,283,0.7,CRD,5.5 +CMT,1,1,384,1.6,CRD,7.0 +CMT,1,1,309,0.8,CSH,5.5 +CMT,1,1,819,2.0,CRD,11.0 +CMT,1,1,202,0.9,CRD,5.0 +CMT,1,1,219,1.3,CSH,6.0 +CMT,1,1,461,1.4,CSH,8.0 +CMT,1,1,389,1.0,CRD,6.5 +CMT,1,1,459,1.3,CSH,7.0 +CMT,1,1,224,1.0,CSH,5.5 +CMT,1,1,556,1.2,CRD,8.0 +CMT,1,1,381,0.9,CSH,6.5 +CMT,1,1,197,0.5,CSH,4.5 +CMT,1,1,331,1.8,CRD,7.5 +CMT,1,1,421,1.1,CRD,7.0 +CMT,1,1,801,2.3,CRD,11.5 +CMT,1,1,869,3.0,CRD,12.5 +CMT,1,1,1403,3.6,CRD,17.0 +CMT,1,1,879,1.5,CRD,10.5 +CMT,1,1,1932,6.3,CRD,25.5 +CMT,1,1,1301,8.4,CRD,25.5 +CMT,1,1,953,5.4,CSH,18.5 +CMT,1,1,161,0.3,CRD,4.0 +CMT,1,1,280,1.2,CSH,6.5 +CMT,1,1,842,2.8,CSH,12.5 +CMT,1,1,131,0.6,CRD,4.0 +CMT,1,1,1195,6.0,CRD,20.0 +CMT,1,1,258,1.4,CRD,6.5 +CMT,1,1,777,2.4,CRD,11.0 +CMT,1,1,798,2.3,CSH,11.0 +CMT,1,1,742,1.8,CRD,10.0 +CMT,1,1,371,0.8,CSH,5.5 +CMT,1,1,410,1.2,CSH,7.0 +CMT,1,1,601,1.8,CRD,9.0 +CMT,1,1,435,0.8,CRD,6.0 +CMT,1,1,908,3.1,CRD,14.0 +CMT,1,1,1056,2.7,CSH,13.0 +CMT,1,1,335,0.6,CSH,5.5 +CMT,1,1,879,0.9,CRD,10.5 +CMT,1,1,653,6.1,CSH,19.0 +CMT,1,1,503,1.5,CSH,8.0 +CMT,1,1,1430,7.9,CSH,26.0 +CMT,1,1,936,4.1,CRD,14.5 +CMT,1,1,348,1.1,CSH,6.5 +CMT,1,1,1010,4.8,CRD,18.0 +CMT,1,1,854,3.4,CRD,13.5 +CMT,1,1,860,1.9,CSH,11.5 +CMT,1,1,473,1.2,CSH,7.5 +CMT,1,1,952,2.8,CSH,13.0 +CMT,1,1,144,0.6,CRD,4.0 +CMT,1,1,696,1.4,CRD,9.5 +CMT,1,1,571,2.4,CRD,9.5 +CMT,1,1,202,0.8,CSH,5.0 +CMT,1,1,235,0.6,CSH,4.5 +CMT,1,1,559,1.4,CRD,8.0 +CMT,1,1,726,1.7,CRD,9.5 +CMT,1,1,312,1.1,CSH,6.0 +CMT,1,1,462,1.5,CRD,8.0 +CMT,1,1,1051,3.8,CSH,15.5 +CMT,1,1,708,1.5,CRD,9.0 +CMT,1,1,522,1.4,CSH,8.0 +CMT,1,1,365,0.8,CSH,6.0 +CMT,1,1,1910,9.6,CRD,31.0 +CMT,1,1,1715,4.5,CRD,20.5 +CMT,1,2,195,1.0,CSH,5.0 +CMT,1,1,194,1.0,CRD,5.5 +CMT,1,2,1131,2.9,CRD,14.0 +CMT,3,1,14,0.0,CRD,20.0 +CMT,1,3,948,5.1,CSH,17.5 +CMT,1,1,866,5.2,CRD,18.0 +CMT,1,1,1312,4.2,CSH,18.0 +CMT,1,2,483,1.6,CRD,8.5 +CMT,1,1,425,2.1,CRD,9.0 +CMT,1,1,841,3.1,CSH,12.5 +CMT,1,1,869,2.2,CRD,11.5 +CMT,1,2,418,1.1,CSH,6.5 +CMT,1,3,1255,4.6,CSH,18.5 +CMT,1,2,806,2.9,CRD,12.0 +CMT,1,2,661,1.8,CRD,9.5 +CMT,1,1,723,2.3,CSH,10.5 +CMT,1,2,427,1.3,CRD,7.0 +CMT,1,1,2583,8.2,CSH,35.0 +CMT,1,4,368,1.1,CSH,6.5 +CMT,1,1,936,2.4,CSH,12.0 +CMT,1,1,1182,8.3,DIS,26.0 +CMT,1,1,405,1.0,CSH,6.0 +CMT,1,1,314,0.9,CSH,5.5 +CMT,1,1,479,1.9,CRD,8.5 +CMT,1,2,905,4.1,CRD,15.5 +CMT,1,1,175,0.5,CSH,4.5 +CMT,1,1,199,0.4,CSH,4.5 +CMT,1,1,495,11.7,NOC,2.5 +CMT,1,1,761,2.0,CRD,10.5 +CMT,1,1,1057,3.4,CRD,14.5 +CMT,1,2,930,4.3,CRD,16.0 +CMT,1,1,659,2.1,CSH,10.0 +CMT,1,1,1169,4.1,CSH,16.5 +CMT,1,4,623,1.2,CSH,8.0 +CMT,1,1,790,2.0,CSH,10.5 +CMT,1,1,629,2.2,CRD,10.0 +CMT,1,1,21,0.0,CSH,2.5 +CMT,1,1,292,1.1,CSH,6.0 +CMT,1,1,720,1.5,CRD,9.0 +CMT,1,1,350,0.8,CRD,5.5 +CMT,1,1,1206,3.9,CSH,15.5 +CMT,1,1,890,3.2,CRD,13.0 +CMT,1,1,958,1.9,CRD,12.0 +CMT,1,1,315,0.6,CRD,5.0 +CMT,1,1,205,1.2,CRD,6.0 +CMT,1,1,1424,6.4,CRD,21.5 +CMT,1,1,929,3.9,CSH,14.5 +CMT,1,1,307,0.8,CRD,6.0 +CMT,1,1,255,0.7,CRD,5.0 +CMT,1,1,888,2.6,CSH,12.0 +CMT,1,1,885,5.6,CRD,19.0 +CMT,1,1,76,0.4,CRD,3.5 +CMT,1,1,440,1.3,CSH,7.0 +CMT,1,1,492,1.7,CRD,8.5 +CMT,1,1,385,1.0,CRD,6.0 +CMT,1,1,616,1.0,CRD,8.0 +CMT,1,1,1032,3.6,CSH,14.5 +CMT,1,1,838,1.0,CRD,10.0 +CMT,1,1,312,0.7,CSH,5.5 +CMT,1,1,656,2.9,CRD,11.5 +CMT,1,1,717,1.6,CSH,9.0 +CMT,1,1,834,2.3,CSH,11.0 +CMT,1,1,426,1.0,CSH,6.5 +CMT,1,1,1063,2.6,CSH,13.5 +CMT,1,1,315,1.4,CSH,6.5 +CMT,1,1,485,2.2,CRD,9.5 +CMT,1,1,514,2.0,CRD,8.5 +CMT,1,1,412,1.2,CRD,7.0 +CMT,1,1,398,1.7,CRD,7.5 +CMT,1,1,693,2.3,CRD,10.0 +CMT,1,1,305,0.7,CSH,5.5 +CMT,1,1,451,0.9,CRD,6.5 +CMT,1,1,1229,7.2,CSH,23.0 +CMT,1,1,563,1.8,CSH,8.5 +CMT,1,1,620,2.0,CRD,9.5 +CMT,1,1,246,1.3,CRD,5.5 +CMT,1,1,211,0.9,CSH,5.0 +CMT,1,1,258,0.6,CSH,5.0 +CMT,1,1,291,0.8,CSH,5.5 +CMT,1,1,374,1.3,CRD,7.0 +CMT,1,1,535,2.1,CRD,9.0 +CMT,1,1,108,0.3,CSH,3.5 +CMT,1,1,646,1.7,CSH,9.0 +CMT,1,1,758,2.6,CRD,11.5 +CMT,1,1,787,2.9,CRD,12.0 +CMT,1,1,192,0.5,CRD,4.5 +CMT,1,1,413,1.4,CSH,7.0 +CMT,1,1,1461,9.5,CRD,29.5 +CMT,1,1,435,1.5,CSH,7.5 +CMT,1,1,751,2.5,CSH,11.0 +CMT,1,1,1083,2.1,CRD,13.0 +CMT,1,1,438,1.3,CSH,7.0 +CMT,1,1,312,1.0,CSH,5.5 +CMT,1,1,289,0.6,CRD,5.0 +CMT,1,1,595,1.4,CSH,8.0 +CMT,1,1,100,0.4,CRD,3.5 +CMT,1,1,1400,10.8,CSH,32.0 +CMT,1,1,2308,17.0,CSH,51.0 +CMT,1,1,131,0.6,CSH,4.0 +CMT,1,1,341,1.1,CRD,6.0 +CMT,1,2,1503,1.3,CSH,15.0 +CMT,1,1,275,0.8,CSH,5.0 +CMT,1,1,261,1.1,CRD,5.5 +CMT,1,1,300,1.2,CSH,6.0 +CMT,1,1,457,0.9,CRD,6.5 +CMT,1,1,239,0.5,CSH,4.5 +CMT,1,1,1437,3.8,CRD,18.0 +CMT,1,1,225,0.9,CSH,5.0 +CMT,1,1,360,0.9,CSH,5.5 +CMT,1,1,305,1.1,CSH,6.0 +CMT,1,1,1197,3.0,CSH,15.0 +CMT,1,1,495,1.0,CRD,7.0 +CMT,1,1,442,0.5,CSH,6.5 +CMT,1,1,131,0.7,CRD,4.0 +CMT,1,1,382,0.8,CSH,6.0 +CMT,1,1,104,0.5,CRD,3.5 +CMT,1,1,768,1.2,CRD,9.5 +CMT,1,1,689,1.9,CSH,10.0 +CMT,1,1,677,7.2,CRD,21.0 +CMT,1,1,934,1.9,CSH,11.5 +CMT,1,1,559,2.0,CSH,9.5 +CMT,1,1,167,0.6,CSH,4.5 +CMT,1,1,401,2.5,CSH,9.0 +CMT,1,1,224,0.8,CRD,5.0 +CMT,1,1,232,1.0,CSH,5.5 +CMT,1,1,613,2.0,CSH,9.5 +CMT,1,1,315,1.4,CRD,6.5 +CMT,1,1,293,0.8,CSH,5.5 +CMT,1,1,440,1.7,CRD,8.0 +CMT,1,1,389,1.3,CSH,7.0 +CMT,1,1,512,1.4,CSH,8.0 +CMT,1,1,1031,7.3,CRD,22.5 +CMT,1,1,539,2.0,CSH,9.0 +CMT,1,1,1146,1.3,CSH,12.5 +CMT,1,2,1285,8.4,CRD,26.0 +CMT,1,1,467,1.7,CRD,8.0 +CMT,1,1,272,0.6,CSH,5.0 +CMT,1,1,307,0.7,CRD,5.5 +CMT,1,1,1299,7.6,CRD,24.0 +CMT,1,1,529,1.2,CSH,7.5 +CMT,3,1,2112,18.7,CRD,70.5 +CMT,1,1,963,1.6,CRD,11.0 +CMT,1,1,828,3.4,CSH,13.0 +CMT,1,1,541,1.5,CSH,8.0 +CMT,1,1,725,2.1,CSH,10.5 +CMT,1,1,260,0.8,CSH,5.0 +CMT,1,1,579,2.3,CRD,9.5 +CMT,1,1,855,3.3,CSH,12.5 +CMT,1,1,350,1.3,CRD,6.5 +CMT,1,1,728,1.5,CSH,9.0 +CMT,1,1,694,3.1,CRD,12.0 +CMT,1,1,182,0.8,CSH,4.5 +CMT,1,1,195,0.9,CSH,5.0 +CMT,1,1,1056,1.7,CSH,12.0 +CMT,1,1,283,1.0,CSH,5.5 +CMT,1,1,304,1.3,CSH,6.0 +CMT,1,1,823,2.2,CRD,11.0 +CMT,1,1,565,1.6,CSH,8.5 +CMT,1,1,297,1.2,CSH,6.0 +CMT,1,1,864,2.1,CSH,11.0 +CMT,1,1,322,1.6,CRD,7.0 +CMT,1,1,207,0.5,CRD,4.5 +CMT,1,1,437,1.5,CRD,8.0 +CMT,1,1,356,1.3,CRD,6.5 +CMT,1,1,648,1.9,CRD,9.5 +CMT,1,1,1247,7.8,CRD,25.0 +CMT,1,1,210,0.4,CSH,4.5 +CMT,1,1,410,1.8,CSH,7.5 +CMT,1,1,501,0.4,CSH,6.5 +CMT,1,1,968,8.2,CRD,24.5 +CMT,1,1,340,1.4,CSH,6.5 +CMT,1,1,551,1.3,CSH,8.0 +CMT,1,1,372,2.1,CSH,8.0 +CMT,1,1,582,1.7,CSH,9.0 +CMT,1,1,594,1.8,CRD,9.0 +CMT,1,1,355,0.7,CSH,6.0 +CMT,1,1,455,0.8,CSH,6.5 +CMT,1,1,137,0.6,CRD,4.0 +CMT,1,1,1236,9.6,CRD,29.0 +CMT,1,1,220,1.2,CRD,6.0 +CMT,1,1,317,1.0,CSH,6.5 +CMT,1,1,423,1.7,CSH,8.0 +CMT,1,1,591,1.2,CRD,8.0 +CMT,1,1,279,0.9,CRD,5.5 +CMT,1,1,248,0.7,CSH,5.0 +CMT,1,1,460,2.2,CSH,8.5 +CMT,1,1,504,1.5,CSH,8.0 +CMT,1,1,1038,0.9,CSH,11.5 +CMT,1,1,328,0.9,CRD,5.5 +CMT,1,1,297,1.0,CRD,5.5 +CMT,1,1,517,0.5,CRD,7.0 +CMT,1,1,617,1.3,CRD,8.5 +CMT,1,1,562,0.8,CRD,7.0 +CMT,1,1,1318,3.5,CRD,16.5 +CMT,1,1,468,1.0,CRD,7.0 +CMT,1,1,389,0.9,CSH,6.0 +CMT,1,1,1227,2.2,CSH,14.0 +CMT,1,1,1779,6.6,CRD,26.0 +CMT,1,1,1316,4.5,CRD,19.0 +CMT,1,2,131,1.0,CSH,5.0 +CMT,1,1,377,1.7,CSH,7.5 +CMT,1,1,380,1.4,CSH,7.0 +CMT,1,1,1182,8.0,CRD,25.0 +CMT,1,1,267,0.8,CSH,5.5 +CMT,1,1,2719,7.4,CRD,33.0 +CMT,1,1,1805,3.5,CRD,20.0 +CMT,1,1,336,0.6,CSH,5.5 +CMT,1,1,412,0.6,CRD,6.0 +CMT,1,1,640,1.3,CSH,8.5 +CMT,2,2,3204,17.9,CRD,52.0 +CMT,1,1,718,2.2,CSH,10.0 +CMT,1,1,217,1.2,CRD,5.5 +CMT,1,1,1459,5.2,CSH,20.5 +CMT,1,1,839,2.8,CRD,12.5 +CMT,1,1,813,1.7,CSH,10.0 +CMT,1,1,386,0.7,CSH,5.5 +CMT,1,1,1262,3.1,CSH,15.0 +CMT,1,1,675,2.2,CSH,10.5 +CMT,1,1,989,2.4,CRD,12.5 +CMT,1,1,321,0.7,CSH,5.5 +CMT,1,1,272,1.1,CSH,6.0 +CMT,1,1,751,1.5,CSH,9.5 +CMT,1,1,1045,2.0,CRD,12.5 +CMT,1,1,429,1.5,CRD,7.5 +CMT,1,1,391,0.7,CRD,6.0 +CMT,1,1,512,0.9,CRD,7.0 +CMT,1,1,500,1.3,CSH,7.5 +CMT,1,1,594,0.8,CRD,7.5 +CMT,1,1,994,2.0,CSH,12.0 +CMT,1,1,565,1.7,CSH,9.0 +CMT,1,1,1226,3.0,CRD,14.5 +CMT,1,1,389,1.3,CSH,6.5 +CMT,1,1,198,0.6,CSH,4.5 +CMT,1,1,334,1.2,CSH,6.0 +CMT,1,1,976,2.9,CRD,13.0 +CMT,1,1,864,2.1,CSH,11.5 +CMT,1,1,206,1.6,CSH,6.5 +CMT,1,1,270,1.1,CSH,5.5 +CMT,1,1,1153,6.5,CRD,21.5 +CMT,1,1,833,3.9,CSH,13.0 +CMT,1,1,557,2.1,CRD,9.5 +CMT,1,1,313,0.5,CSH,5.0 +CMT,1,1,1495,4.6,CSH,19.0 +CMT,1,1,380,1.3,CSH,6.5 +CMT,1,1,1059,5.4,CRD,19.0 +CMT,1,1,624,1.0,CRD,8.5 +CMT,1,1,226,0.6,CSH,4.5 +CMT,1,1,1281,3.7,CRD,17.5 +CMT,1,1,613,3.4,CRD,12.5 +CMT,1,1,325,0.9,CRD,6.0 +CMT,1,1,288,1.0,CSH,6.0 +CMT,1,1,464,1.3,CRD,7.5 +CMT,1,1,492,1.5,CSH,7.5 +CMT,1,1,963,4.5,CRD,16.0 +CMT,1,1,247,0.6,CRD,5.0 +CMT,1,1,620,1.5,CRD,8.5 +CMT,1,1,1110,10.7,CSH,30.5 +CMT,1,1,377,1.1,CSH,6.5 +CMT,1,1,723,2.4,CRD,10.5 +CMT,1,1,121,0.4,CSH,3.5 +CMT,1,1,91,0.4,CSH,3.5 +CMT,1,1,375,2.1,CSH,8.5 +CMT,1,1,1435,4.7,CSH,20.0 +CMT,1,1,535,0.9,CSH,7.5 +CMT,1,1,660,1.5,CRD,9.5 +CMT,1,1,243,0.8,CSH,5.0 +CMT,1,1,650,1.0,CSH,8.0 +CMT,1,1,1072,2.1,CSH,13.0 +CMT,1,1,973,3.1,CRD,14.0 +CMT,1,1,852,2.8,CRD,11.5 +CMT,1,1,943,4.0,CRD,14.5 +CMT,1,1,345,1.1,CRD,6.0 +CMT,1,1,2148,15.0,CSH,44.0 +CMT,1,1,584,1.9,CSH,8.5 +CMT,1,1,591,1.9,CSH,9.0 +CMT,1,1,759,3.5,CRD,12.5 +CMT,1,1,402,0.9,CSH,6.0 +CMT,1,1,447,0.8,CRD,6.5 +CMT,1,1,478,1.9,CRD,8.0 +CMT,1,1,208,0.7,CSH,4.5 +CMT,1,1,1496,3.9,CRD,18.5 +CMT,1,1,981,1.9,CRD,12.0 +CMT,1,1,948,1.9,CSH,11.5 +CMT,1,1,314,1.1,CSH,6.0 +CMT,1,1,575,2.1,CSH,9.5 +CMT,1,1,439,0.8,CSH,6.5 +CMT,1,1,2094,9.8,CRD,32.5 +CMT,1,1,214,0.5,CSH,4.5 +CMT,1,1,247,0.4,CSH,4.5 +CMT,1,1,499,1.7,CRD,8.0 +CMT,1,2,1377,9.0,CRD,28.5 +CMT,1,1,119,0.4,CRD,4.0 +CMT,1,1,615,1.7,CSH,9.5 +CMT,1,1,220,0.7,CSH,5.0 +CMT,1,3,598,1.8,CSH,9.0 +CMT,1,1,339,0.8,CRD,5.5 +CMT,1,1,456,0.7,CSH,6.0 +CMT,1,1,1481,3.5,CRD,16.5 +CMT,1,1,388,1.8,CSH,7.5 +CMT,1,1,638,2.0,CRD,9.5 +CMT,1,1,1103,6.1,CRD,20.0 +CMT,1,1,640,1.5,CRD,8.5 +CMT,1,1,913,1.8,CSH,11.0 +CMT,1,1,724,1.4,CSH,9.5 +CMT,1,1,257,1.6,CRD,6.5 +CMT,1,1,894,2.6,CSH,12.5 +CMT,1,1,683,2.3,CRD,10.5 +CMT,1,1,241,0.8,CRD,5.0 +CMT,1,1,278,1.6,CSH,6.5 +CMT,1,2,295,1.0,CRD,6.0 +CMT,1,1,247,0.5,CSH,4.5 +CMT,1,1,138,0.5,CSH,4.0 +CMT,1,1,364,1.2,CRD,6.5 +CMT,1,1,610,1.7,CSH,8.5 +CMT,1,1,1476,7.1,CRD,26.5 +CMT,1,1,1108,3.4,CSH,15.5 +CMT,1,1,410,1.1,CSH,6.5 +CMT,1,1,636,1.4,CSH,8.5 +CMT,1,3,421,1.2,CRD,7.0 +CMT,1,1,995,1.8,CRD,11.5 +CMT,1,1,401,1.0,CRD,6.5 +CMT,1,1,354,1.1,CRD,6.0 +CMT,1,1,86,0.3,CSH,3.0 +CMT,1,1,1131,3.7,CRD,15.5 +CMT,1,1,742,3.3,CSH,12.5 +CMT,1,1,390,1.4,CSH,7.0 +CMT,1,1,796,2.5,CRD,11.0 +CMT,1,1,634,2.9,CSH,11.0 +CMT,1,1,366,2.2,CSH,8.0 +CMT,1,1,262,0.9,CSH,5.5 +CMT,1,1,314,0.7,CRD,5.5 +CMT,1,1,226,0.9,CSH,5.0 +CMT,1,1,781,3.8,CSH,13.5 +CMT,1,1,360,0.9,CRD,6.0 +CMT,1,1,479,1.5,CSH,7.5 +CMT,1,2,1179,4.5,CRD,18.0 +CMT,1,1,127,0.3,CSH,3.5 +CMT,1,1,453,1.1,CSH,7.0 +CMT,1,1,311,1.4,CRD,6.5 +CMT,1,1,1809,10.2,CRD,33.0 +CMT,1,1,510,4.5,CRD,14.5 +CMT,1,1,596,0.5,CRD,7.5 +CMT,1,1,517,0.9,CRD,7.5 +CMT,1,1,243,0.8,CRD,5.0 +CMT,1,1,2060,12.5,CRD,37.5 +CMT,1,1,289,0.6,CRD,5.0 +CMT,1,1,2307,10.6,CRD,36.5 +CMT,1,1,541,0.8,CSH,7.0 +CMT,1,1,852,2.9,CRD,12.5 +CMT,1,1,1610,8.2,CSH,27.0 +CMT,1,1,634,0.8,CRD,7.5 +CMT,1,1,1071,2.2,CSH,13.5 +CMT,1,1,1337,4.3,CSH,17.5 +CMT,1,1,1233,2.6,CRD,14.0 +CMT,1,1,398,1.3,CRD,6.5 +CMT,1,1,106,0.4,CSH,3.5 +CMT,1,1,3,0.0,NOC,2.5 +CMT,1,1,1042,2.2,CSH,12.5 +CMT,1,1,81,0.3,CRD,3.0 +CMT,1,1,392,1.7,CRD,7.5 +CMT,1,1,430,1.2,CRD,7.0 +CMT,1,1,523,0.9,CSH,7.0 +CMT,1,2,284,0.6,CSH,5.0 +CMT,1,1,780,2.4,CRD,11.0 +CMT,1,1,806,1.4,CRD,10.0 +CMT,1,1,590,1.7,CSH,8.5 +CMT,1,2,118,0.6,CSH,4.0 +CMT,1,1,510,2.2,CSH,9.0 +CMT,1,1,1302,3.1,CSH,15.5 +CMT,1,1,1527,6.1,CRD,22.0 +CMT,1,1,319,1.0,CSH,5.5 +CMT,1,1,151,0.4,CSH,4.0 +CMT,1,1,1084,4.9,CSH,17.5 +CMT,1,1,196,0.4,CSH,4.5 +CMT,1,1,449,1.1,CRD,7.0 +CMT,1,1,1060,5.2,CRD,17.5 +CMT,1,1,625,2.0,CRD,9.5 +CMT,1,1,598,1.3,CRD,8.5 +CMT,1,1,978,4.1,CRD,15.0 +CMT,1,1,306,1.2,CRD,6.0 +CMT,1,1,261,0.5,CSH,5.0 +CMT,1,1,146,0.8,CSH,4.5 +CMT,1,1,231,0.8,CRD,5.0 +CMT,1,2,599,1.6,CSH,8.5 +CMT,1,3,381,0.9,CSH,6.0 +CMT,1,1,1099,2.4,CSH,13.5 +CMT,1,1,652,1.3,CSH,8.5 +CMT,1,1,177,0.6,CRD,4.5 +CMT,1,1,1112,5.6,CSH,20.0 +CMT,1,1,916,4.6,CRD,16.0 +CMT,1,1,546,3.4,CRD,11.5 +CMT,1,1,400,1.3,CSH,7.0 +CMT,1,2,1808,2.6,CSH,19.0 +CMT,1,1,267,1.1,CSH,6.0 +CMT,1,1,702,2.0,CRD,10.0 +CMT,1,1,257,0.6,CRD,5.0 +CMT,1,1,210,1.1,CRD,5.5 +CMT,1,1,488,1.4,CRD,7.5 +CMT,1,1,540,2.1,CRD,9.0 +CMT,1,1,357,1.4,CRD,7.0 +CMT,1,1,941,2.8,CSH,13.0 +CMT,1,1,1276,3.2,CRD,16.0 +CMT,1,1,149,0.6,CRD,4.5 +CMT,1,1,736,1.9,CRD,10.5 +CMT,1,2,621,3.2,CRD,12.0 +CMT,1,1,1147,1.4,CSH,12.5 +CMT,1,1,1265,2.3,CSH,14.5 +CMT,1,1,2107,0.6,CSH,4.5 +CMT,1,1,815,2.1,CRD,10.5 +CMT,1,1,2211,2.8,CSH,14.5 +CMT,1,1,2014,9.1,CSH,31.0 +CMT,1,1,419,1.1,CRD,7.0 +CMT,1,2,185,0.5,CSH,4.5 +CMT,1,2,812,3.6,CSH,13.5 +CMT,1,1,959,1.2,CSH,11.0 +CMT,1,1,517,1.3,CSH,7.5 +CMT,1,1,729,1.3,CSH,9.0 +CMT,1,1,372,1.6,CSH,7.5 +CMT,1,1,251,1.2,CSH,6.0 +CMT,1,1,843,4.0,CRD,14.5 +CMT,1,1,364,2.0,CSH,8.0 +CMT,1,1,537,3.2,CRD,11.5 +CMT,1,2,342,1.1,CSH,6.5 +CMT,1,1,495,1.2,CRD,7.5 +CMT,1,1,718,1.5,CRD,9.5 +CMT,1,1,872,2.1,CRD,11.5 +CMT,1,2,362,1.0,CRD,6.5 +CMT,1,1,565,2.1,CRD,9.5 +CMT,1,1,666,1.6,CRD,8.5 +CMT,1,1,322,1.1,CRD,6.0 +CMT,1,1,443,1.9,CRD,8.5 +CMT,1,1,465,1.6,CSH,8.5 +CMT,1,1,215,0.7,CSH,5.0 +CMT,1,1,472,2.2,CRD,9.0 +CMT,1,1,1772,12.8,CSH,37.5 +CMT,1,1,707,2.9,CRD,11.5 +CMT,1,1,342,0.9,CRD,5.5 +CMT,1,1,238,1.0,CRD,5.5 +CMT,1,1,1335,4.3,CSH,17.5 +CMT,1,1,408,0.6,CSH,6.0 +CMT,1,2,331,0.8,CRD,5.5 +CMT,1,1,740,0.0,DIS,2.5 +CMT,1,1,744,0.9,CSH,5.5 +VTS,1,5,1020,2.65,CSH,13.0 +VTS,1,5,240,0.76,CRD,5.0 +CMT,1,1,476,1.7,CSH,8.0 +CMT,1,1,621,2.0,CSH,9.5 +CMT,1,1,1212,2.5,CRD,14.0 +CMT,1,1,465,1.2,CSH,7.5 +CMT,1,1,274,1.2,CSH,6.0 +CMT,1,1,450,1.2,CRD,7.0 +CMT,1,1,1042,3.8,CRD,14.5 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,1,567,1.6,CSH,8.5 +CMT,1,1,260,0.8,CSH,5.5 +CMT,1,1,235,0.9,CSH,5.5 +CMT,1,1,164,0.4,CSH,4.0 +CMT,1,2,761,2.4,CSH,11.5 +CMT,1,1,181,0.7,CSH,4.5 +CMT,1,1,535,0.8,CRD,7.0 +CMT,1,1,899,2.2,CRD,11.5 +CMT,1,1,413,1.0,CRD,6.5 +CMT,1,2,1369,3.9,CRD,17.5 +CMT,1,1,528,1.9,CRD,9.0 +CMT,1,1,696,1.6,CRD,9.5 +CMT,1,1,969,2.7,CRD,12.5 +CMT,1,1,472,0.7,CRD,6.5 +CMT,1,1,670,2.0,CRD,9.5 +CMT,1,1,981,4.4,CRD,16.0 +CMT,1,1,753,1.2,CRD,9.5 +CMT,1,2,741,2.1,CRD,11.0 +CMT,1,4,1402,4.4,CSH,19.0 +CMT,1,1,577,1.2,CSH,8.0 +CMT,1,1,363,0.5,CSH,5.5 +CMT,1,2,356,0.6,CRD,5.5 +CMT,1,2,261,1.1,CRD,5.5 +CMT,1,1,484,0.8,CSH,6.5 +CMT,1,4,380,0.6,CSH,6.0 +CMT,1,1,906,9.7,CRD,27.0 +CMT,1,1,335,0.9,CSH,6.0 +CMT,1,1,478,1.3,CRD,7.5 +CMT,1,1,224,0.8,CSH,5.0 +CMT,1,5,318,0.8,CSH,5.5 +CMT,1,1,590,1.1,CSH,7.5 +CMT,1,1,1025,2.6,CSH,13.0 +CMT,1,1,393,0.5,CSH,6.0 +CMT,1,2,1242,2.8,CSH,14.0 +CMT,1,1,456,2.0,CRD,8.5 +CMT,1,1,370,2.2,CSH,8.0 +CMT,1,1,332,1.6,CSH,7.0 +CMT,1,1,1614,13.1,CRD,37.5 +CMT,1,3,1267,5.3,CRD,19.0 +CMT,1,3,525,2.0,CSH,8.5 +CMT,1,1,621,0.4,CSH,6.5 +CMT,1,1,288,1.7,CRD,7.0 +CMT,1,1,253,1.1,CSH,5.5 +CMT,1,1,890,4.7,CSH,15.5 +CMT,1,1,290,0.9,CRD,5.5 +CMT,1,1,883,1.8,CRD,11.0 +CMT,1,1,746,1.6,CSH,10.0 +CMT,1,1,932,3.9,CRD,15.5 +CMT,1,1,1784,9.0,CRD,30.5 +CMT,1,1,184,0.8,CRD,4.5 +CMT,1,1,319,1.0,CSH,6.0 +CMT,1,2,452,2.4,CRD,9.5 +CMT,1,1,178,0.8,CSH,4.5 +CMT,1,1,295,1.0,CSH,6.0 +CMT,1,1,623,2.1,CSH,9.5 +CMT,1,1,706,1.4,CRD,9.0 +CMT,1,1,984,2.3,CRD,12.5 +CMT,1,1,625,2.4,CSH,10.0 +CMT,1,1,156,0.7,CSH,4.5 +CMT,1,1,533,2.5,CRD,9.5 +CMT,1,1,179,0.8,CRD,4.5 +CMT,1,1,292,0.9,CSH,6.0 +CMT,1,1,833,2.6,CRD,12.0 +CMT,1,1,116,0.4,CSH,3.5 +CMT,1,1,166,0.8,CRD,4.5 +CMT,1,1,606,0.8,CSH,7.5 +CMT,1,1,918,1.5,CRD,11.0 +CMT,1,1,292,0.9,CRD,5.5 +CMT,1,1,830,3.6,CSH,13.0 +CMT,1,1,220,0.4,CRD,4.5 +CMT,1,1,831,2.7,CSH,12.0 +CMT,1,1,288,1.5,CSH,7.0 +CMT,1,1,722,3.2,CRD,12.0 +CMT,1,1,695,3.2,CSH,12.5 +CMT,1,1,1068,4.3,CRD,16.0 +CMT,1,1,450,1.3,CSH,7.5 +CMT,1,1,745,2.7,CRD,11.5 +CMT,1,1,548,1.0,CRD,7.5 +CMT,1,1,224,1.1,CRD,5.5 +CMT,1,1,311,0.6,CRD,5.0 +CMT,1,1,700,1.7,CRD,10.0 +CMT,3,1,1597,13.2,CSH,54.5 +CMT,1,1,1007,5.3,CSH,18.0 +CMT,1,1,1281,11.3,CRD,31.5 +CMT,1,1,147,0.6,CSH,4.0 +CMT,1,1,377,1.4,CSH,7.0 +CMT,1,1,1461,10.4,CSH,32.0 +CMT,1,2,964,2.3,CSH,12.0 +CMT,1,1,598,13.5,CRD,2.5 +CMT,1,1,1314,10.0,CRD,30.0 +CMT,1,1,141,0.4,CSH,4.0 +CMT,1,1,178,0.4,CSH,4.0 +CMT,1,1,848,2.0,CRD,11.0 +CMT,1,1,322,1.2,CSH,6.5 +CMT,1,1,319,0.9,CRD,5.5 +CMT,1,1,762,3.5,CRD,12.5 +CMT,1,1,330,0.7,CRD,5.5 +CMT,1,1,483,1.4,CSH,7.5 +CMT,1,1,211,0.6,CSH,4.5 +CMT,1,1,341,1.4,CSH,6.5 +CMT,1,1,321,0.8,CSH,5.5 +CMT,1,1,1000,2.6,CSH,13.0 +CMT,1,1,198,0.8,CSH,4.5 +CMT,1,1,4751,12.1,NOC,2.5 +CMT,1,1,561,1.3,CSH,8.0 +CMT,1,1,2666,8.7,CRD,33.5 +CMT,1,1,417,0.3,NOC,6.0 +CMT,1,1,1296,4.5,CSH,18.0 +CMT,1,1,778,4.0,CRD,14.5 +CMT,1,1,254,0.5,CSH,5.0 +CMT,1,1,488,1.6,CSH,8.0 +CMT,1,1,626,2.9,CRD,11.5 +CMT,1,1,400,1.1,CRD,6.5 +CMT,1,1,234,1.6,CRD,6.5 +CMT,1,1,342,1.1,CRD,6.0 +CMT,1,1,1977,6.7,CRD,26.5 +CMT,1,1,2133,4.7,CRD,23.0 +CMT,1,1,846,4.3,CRD,15.0 +CMT,1,1,1620,7.7,CRD,26.0 +CMT,1,3,280,0.7,CSH,5.5 +CMT,1,1,1213,6.4,CRD,22.0 +CMT,1,2,182,0.5,CRD,4.0 +CMT,1,1,616,2.2,CRD,9.5 +CMT,1,1,889,0.8,CRD,10.0 +CMT,1,1,491,3.4,CRD,11.0 +CMT,1,1,513,1.7,CSH,8.0 +CMT,1,1,547,1.5,CSH,8.5 +CMT,1,1,1038,3.1,CSH,14.0 +CMT,1,1,567,0.6,CRD,7.0 +CMT,1,1,956,1.5,CRD,11.0 +CMT,1,1,634,1.0,CRD,8.0 +VTS,1,5,960,4.6,CRD,16.5 +VTS,1,5,1200,2.41,CSH,14.5 +VTS,1,5,300,0.44,CRD,4.5 +VTS,1,5,1080,3.83,CRD,15.5 +VTS,1,5,840,6.69,CRD,20.5 +VTS,1,5,960,3.27,CSH,15.0 +VTS,1,5,600,1.62,CSH,9.0 +VTS,1,5,600,2.19,CRD,10.0 +VTS,1,5,540,1.58,CRD,8.5 +VTS,1,5,480,1.14,CRD,7.0 +VTS,1,5,600,1.79,CSH,9.0 +VTS,1,5,540,1.38,CRD,8.0 +VTS,1,5,420,1.31,CRD,7.0 +VTS,1,5,660,1.08,CRD,8.5 +VTS,1,5,240,0.58,CRD,5.0 +VTS,1,5,840,2.06,CSH,11.0 +VTS,1,5,540,1.36,CRD,8.0 +CMT,1,1,2296,1.5,CSH,8.5 +CMT,1,1,700,1.6,CRD,9.5 +CMT,1,1,499,1.1,CSH,7.5 +CMT,1,1,512,1.0,CRD,7.5 +CMT,1,1,104,0.4,CSH,3.5 +CMT,1,2,572,2.2,CRD,9.5 +CMT,1,1,547,2.9,CRD,10.5 +CMT,1,1,441,1.7,CRD,7.5 +CMT,1,1,1269,3.6,CSH,16.5 +CMT,1,1,946,3.6,CRD,15.0 +CMT,1,1,245,1.0,CSH,5.5 +CMT,1,1,534,2.0,CRD,9.0 +CMT,1,1,734,4.8,CRD,15.5 +CMT,1,1,839,4.0,CRD,14.5 +CMT,1,1,524,1.4,CRD,8.0 +CMT,1,1,243,1.5,CSH,6.0 +CMT,1,1,1156,3.2,CSH,15.0 +CMT,1,1,529,2.1,CRD,9.0 +CMT,1,1,474,2.7,CRD,10.0 +CMT,1,1,868,4.2,CRD,15.0 +CMT,1,1,533,1.2,CRD,7.5 +CMT,1,1,706,2.5,CSH,11.0 +CMT,1,1,1668,5.8,CRD,23.0 +VTS,1,5,480,1.08,CSH,7.0 +VTS,1,5,1080,2.97,CSH,14.0 +VTS,1,5,900,4.55,CRD,16.0 +CMT,1,2,2077,2.5,CRD,20.5 +CMT,1,1,979,4.7,CRD,17.5 +CMT,1,1,176,0.7,CRD,4.5 +CMT,1,2,932,8.3,CSH,24.0 +CMT,1,1,878,1.8,CSH,11.0 +CMT,1,1,14,0.0,NOC,2.5 +CMT,1,1,510,1.7,CRD,8.5 +CMT,1,1,88,0.3,CSH,3.0 +CMT,1,1,721,2.6,CSH,11.0 +CMT,1,1,302,0.6,CRD,5.0 +CMT,1,1,893,1.9,CRD,11.0 +CMT,1,1,1327,5.0,CRD,19.0 +CMT,1,1,836,2.0,CSH,10.5 +CMT,1,1,403,1.5,CSH,7.0 +CMT,1,1,342,0.7,CSH,5.5 +CMT,1,1,670,3.3,CRD,12.0 +CMT,1,1,788,2.7,CRD,12.0 +CMT,1,1,300,0.8,CSH,5.5 +CMT,0,1,1143,0.0,DIS,2.5 +VTS,1,5,480,1.11,CSH,7.0 +VTS,1,5,840,4.16,CRD,14.5 +VTS,1,5,300,0.86,CRD,5.5 +VTS,1,5,960,3.39,CSH,13.5 +VTS,1,5,240,0.55,CRD,4.5 +VTS,1,5,240,0.63,CSH,4.5 +VTS,1,5,540,2.34,CRD,9.0 +CMT,1,1,266,1.3,CRD,6.0 +CMT,1,1,950,2.0,CSH,12.0 +CMT,1,1,370,1.0,CRD,6.0 +CMT,1,1,2463,5.1,CSH,26.5 +CMT,1,1,446,1.7,CRD,8.0 +CMT,1,1,165,0.4,CRD,4.0 +CMT,1,1,670,2.3,CRD,9.5 +CMT,1,1,897,2.4,CSH,12.0 +CMT,1,1,14,0.0,CRD,2.5 +CMT,1,1,469,1.4,CSH,7.5 +CMT,1,1,327,0.9,CRD,5.5 +CMT,1,1,734,2.1,CRD,10.5 +CMT,1,1,6,0.0,DIS,2.5 +VTS,1,5,1020,2.44,CSH,12.5 +VTS,1,5,540,1.42,CRD,8.0 +VTS,1,5,480,1.51,CSH,8.0 +VTS,1,5,960,2.14,CSH,11.5 +VTS,1,5,960,2.73,CRD,12.5 +VTS,1,5,360,1.95,CSH,8.0 +VTS,1,5,420,2.74,CSH,9.5 +VTS,1,5,420,0.91,CRD,6.5 +VTS,1,5,180,1.19,CRD,5.5 +VTS,1,5,540,1.2,CRD,7.5 +VTS,1,5,360,0.62,CRD,5.5 +VTS,1,5,300,1.45,CRD,6.5 +VTS,1,5,600,1.92,CRD,8.5 +CMT,1,1,493,3.1,CSH,10.5 +CMT,1,1,674,0.9,CSH,8.5 +CMT,1,1,234,0.6,CRD,5.0 +CMT,1,1,1974,8.4,CRD,30.0 +CMT,1,1,1304,3.5,CRD,17.5 +CMT,1,1,357,1.9,CRD,8.0 +CMT,1,1,565,3.0,CRD,11.0 +CMT,1,1,786,4.1,CRD,15.0 +CMT,1,1,248,0.9,CSH,5.5 +CMT,1,1,646,1.0,CSH,8.5 +VTS,1,5,660,1.72,CSH,9.0 +VTS,1,5,420,1.35,CSH,7.5 +VTS,1,5,240,0.55,CSH,4.5 +VTS,1,5,300,0.29,CSH,4.5 +VTS,1,5,480,1.05,CSH,7.0 +VTS,1,5,540,0.91,CRD,7.5 +VTS,1,5,240,1.19,CRD,6.0 +VTS,1,5,1920,11.17,CRD,36.0 +VTS,1,5,1260,10.54,CSH,30.5 +VTS,1,5,360,1.44,CRD,6.5 +VTS,1,5,1260,3.2,CSH,16.0 +VTS,1,4,1500,4.58,CSH,19.5 +VTS,1,5,420,1.08,CRD,7.0 +VTS,1,5,420,1.33,CRD,7.0 +VTS,1,5,1140,5.34,CRD,18.0 +VTS,1,5,1440,7.81,CRD,24.5 +CMT,1,1,779,3.3,CRD,12.5 +CMT,1,1,312,0.5,CRD,5.0 +CMT,1,1,491,1.0,CRD,7.0 +VTS,1,5,1080,2.8,CRD,14.0 +VTS,1,5,1020,2.79,CSH,13.5 +VTS,1,5,540,1.77,CRD,8.5 +VTS,1,5,840,3.24,CSH,12.5 +VTS,1,5,240,0.84,CSH,5.0 +VTS,1,5,540,1.48,CSH,8.5 +VTS,1,5,540,2.26,CRD,9.5 +VTS,1,5,1440,3.61,CRD,18.5 +VTS,1,5,600,1.81,CRD,9.0 +VTS,1,5,480,1.07,CRD,7.0 +VTS,1,5,120,0.45,CRD,4.0 +VTS,1,5,540,2.32,CRD,9.5 +VTS,1,5,300,0.98,CRD,6.0 +VTS,1,5,660,1.97,CRD,10.0 +VTS,1,5,1080,2.3,CRD,13.5 +VTS,1,5,360,0.92,CRD,6.0 +VTS,1,5,420,1.84,CSH,8.0 +VTS,1,5,420,0.82,CSH,6.0 +VTS,1,5,120,0.36,CSH,3.5 +VTS,1,5,720,3.56,CRD,13.5 +VTS,1,5,480,1.17,CRD,7.5 +VTS,1,5,1440,9.87,CRD,30.0 +VTS,1,5,720,2.0,CRD,10.0 +VTS,1,5,120,0.36,CSH,3.5 +VTS,1,5,900,2.84,CRD,12.5 +VTS,1,5,600,2.34,CSH,9.5 +VTS,1,5,420,1.96,CRD,8.5 +VTS,1,5,420,1.68,CRD,8.0 +VTS,1,5,480,1.99,CRD,8.5 +VTS,1,5,1020,1.67,CSH,11.5 +VTS,1,5,840,3.3,CSH,13.0 +VTS,1,5,1080,2.71,CRD,13.5 +VTS,1,5,360,0.86,CSH,6.0 +VTS,1,5,300,0.96,CRD,5.5 +VTS,1,5,840,2.76,CRD,12.0 +VTS,1,5,480,1.35,CSH,7.0 +VTS,1,5,1200,8.71,CRD,27.0 +VTS,1,5,840,5.11,CRD,17.0 +VTS,1,6,720,1.37,CSH,9.0 +VTS,1,5,600,1.13,CSH,8.0 +VTS,1,5,1140,7.6,CRD,25.0 +VTS,1,5,480,1.26,CRD,7.5 +VTS,1,5,2160,2.08,CRD,21.5 +VTS,1,5,420,0.93,CRD,6.5 +VTS,1,5,300,1.17,CRD,6.0 +VTS,1,5,720,4.82,CSH,15.0 +VTS,1,5,420,1.72,CRD,8.0 +VTS,1,5,1920,10.08,CSH,31.0 +VTS,1,5,600,3.85,CRD,13.0 +VTS,1,5,1260,5.01,CSH,19.0 +VTS,1,5,720,2.39,CRD,11.0 +VTS,1,5,300,1.29,CSH,5.5 +VTS,1,5,1320,1.41,CSH,13.5 +VTS,1,5,420,1.75,CRD,8.0 +VTS,1,5,960,2.59,CRD,12.5 +VTS,1,5,480,1.76,CRD,8.5 +VTS,1,5,420,1.9,CSH,8.0 +VTS,1,5,1140,4.42,CRD,16.5 +VTS,1,5,600,1.55,CRD,8.5 +VTS,1,5,360,1.11,CRD,6.0 +VTS,1,5,480,1.95,CRD,8.5 +VTS,1,5,600,2.57,CSH,10.5 +VTS,1,5,300,0.88,CSH,5.5 +VTS,1,5,780,2.38,CRD,11.0 +VTS,1,5,1080,4.33,CRD,17.0 +VTS,1,5,420,1.35,CRD,7.0 +VTS,1,5,240,0.77,CRD,5.5 +VTS,1,5,360,0.86,CRD,6.0 +VTS,1,5,960,2.17,CRD,11.5 +VTS,1,5,240,0.91,CSH,5.0 +VTS,1,5,480,0.44,CRD,6.5 +VTS,1,5,960,5.38,CSH,18.5 +VTS,1,5,1560,7.48,CRD,24.5 +VTS,1,5,420,1.32,CSH,6.5 +VTS,1,5,540,1.19,CSH,7.5 +CMT,1,1,295,1.1,CSH,6.0 +CMT,1,4,352,0.4,CSH,5.5 +CMT,2,1,2277,18.5,CSH,52.0 +CMT,1,1,513,1.5,CSH,8.0 +CMT,1,1,217,0.9,CRD,5.0 +CMT,1,3,1211,3.1,CSH,15.0 +CMT,1,1,187,0.6,CRD,4.5 +CMT,1,1,169,0.5,CSH,4.0 +CMT,1,1,298,0.7,CSH,5.5 +CMT,1,1,128,0.4,CSH,4.0 +CMT,1,1,723,2.0,CRD,10.5 +CMT,1,1,1375,9.1,CSH,2.5 +CMT,1,1,355,0.9,CRD,6.0 +CMT,1,1,367,1.3,CSH,6.5 +CMT,1,1,308,0.5,CSH,5.0 +CMT,1,1,198,0.9,CSH,5.0 +CMT,1,1,283,2.1,CRD,7.5 +CMT,1,1,300,1.8,CRD,7.5 +CMT,1,1,220,0.9,CRD,5.0 +CMT,1,1,710,2.6,CRD,11.5 +CMT,1,1,855,3.6,CRD,13.5 +CMT,1,1,354,1.3,CSH,7.0 +CMT,1,1,254,1.3,CSH,6.0 +CMT,1,1,325,1.6,CRD,7.0 +CMT,1,1,270,0.8,CRD,5.5 +CMT,1,1,795,3.4,CSH,13.0 +VTS,1,5,420,0.96,CRD,6.0 +VTS,1,5,1680,5.73,CRD,23.0 +VTS,1,5,360,0.9,CSH,6.0 +VTS,1,5,540,1.37,CSH,7.5 +VTS,1,5,480,1.2,CRD,7.0 +VTS,1,5,780,4.09,CRD,14.0 +VTS,1,5,360,1.98,CSH,8.0 +VTS,1,5,720,2.86,CRD,12.0 +VTS,1,5,720,0.97,CRD,8.5 +VTS,1,5,360,1.53,CSH,7.0 +VTS,1,5,240,0.8,CSH,5.0 +VTS,1,5,180,0.7,CSH,4.5 +VTS,1,5,360,0.51,CSH,5.0 +VTS,1,5,780,2.54,CRD,11.0 +VTS,1,5,720,2.56,CRD,11.0 +VTS,1,5,180,0.59,CSH,4.5 +VTS,1,5,180,0.88,CSH,5.0 +VTS,1,5,1740,9.3,CRD,30.0 +VTS,1,5,720,2.94,CRD,11.5 +VTS,1,5,300,1.24,CSH,6.0 +VTS,1,5,1140,3.56,CRD,15.5 +VTS,1,5,1020,2.33,CRD,12.5 +VTS,1,5,300,0.55,CSH,5.0 +VTS,1,5,480,1.07,CSH,6.5 +VTS,1,5,720,2.87,CSH,12.0 +VTS,1,5,360,1.04,CRD,6.0 +VTS,1,5,660,2.18,CSH,10.0 +VTS,1,5,600,6.2,CSH,18.5 +VTS,1,5,300,1.27,CRD,6.0 +VTS,1,5,720,2.3,CRD,10.5 +VTS,1,5,840,2.42,CRD,11.5 +VTS,1,5,1020,3.44,CRD,14.0 +VTS,1,5,600,3.4,CRD,12.5 +VTS,1,5,600,1.56,CRD,8.0 +VTS,1,5,960,4.74,CRD,16.0 +VTS,1,5,780,6.72,CRD,20.0 +VTS,1,5,600,1.31,CRD,8.5 +VTS,1,5,540,1.22,CRD,8.0 +VTS,1,5,120,0.53,CSH,3.5 +VTS,1,5,660,2.59,CRD,10.5 +VTS,1,5,720,2.41,CSH,11.0 +VTS,1,5,780,2.53,CRD,11.0 +VTS,1,5,540,1.37,CRD,8.0 +VTS,1,5,360,0.52,CSH,5.0 +VTS,1,5,360,1.57,CRD,7.5 +VTS,1,5,540,2.1,CSH,8.5 +VTS,1,5,300,0.81,CSH,5.0 +VTS,1,5,840,1.98,CSH,10.5 +VTS,1,5,420,1.07,CSH,6.0 +VTS,1,5,900,4.3,CRD,15.0 +VTS,1,5,720,2.88,CSH,11.5 +VTS,1,5,540,1.66,CSH,8.5 +VTS,1,5,480,1.76,CSH,7.5 +VTS,1,5,240,0.89,CRD,5.5 +VTS,1,5,1140,1.96,CSH,13.0 +VTS,1,5,840,1.57,CSH,9.5 +VTS,1,5,3660,9.51,CSH,42.5 +VTS,1,5,540,0.92,CSH,7.5 +VTS,1,5,1560,7.47,CRD,26.0 +VTS,1,5,1500,5.66,CRD,21.0 +VTS,1,5,480,0.78,CRD,6.5 +VTS,1,5,360,0.91,CSH,5.5 +VTS,1,5,360,1.34,CSH,6.5 +VTS,1,5,840,3.23,CRD,13.0 +VTS,1,5,900,3.04,CRD,13.5 +VTS,1,5,720,3.38,CSH,12.0 +VTS,1,5,660,2.34,CRD,10.5 +VTS,1,5,480,1.89,CSH,8.5 +VTS,1,5,360,0.69,CRD,6.0 +VTS,1,5,420,1.29,CRD,6.5 +VTS,1,5,1500,4.04,CSH,18.0 +VTS,1,5,720,3.17,CRD,11.5 +VTS,1,5,840,6.37,CRD,20.0 +VTS,1,5,360,0.71,CRD,5.5 +VTS,1,5,420,1.08,CSH,7.0 +VTS,1,6,1020,3.62,CSH,15.5 +VTS,1,6,1620,11.25,CSH,34.0 +VTS,1,6,1020,4.67,CSH,16.5 +VTS,1,5,600,0.91,CSH,7.5 +VTS,1,5,1560,4.18,CRD,19.5 +VTS,1,5,1380,5.57,CRD,21.0 +VTS,1,5,300,1.23,CRD,6.0 +VTS,1,5,960,3.81,CRD,15.0 +VTS,1,5,1080,3.52,CRD,15.0 +VTS,1,5,480,0.81,CSH,6.5 +VTS,1,5,600,1.69,CSH,8.5 +VTS,1,5,240,0.55,CSH,4.5 +VTS,1,5,360,1.05,CSH,6.5 +VTS,1,5,420,0.79,CSH,6.0 +VTS,1,5,300,1.0,CRD,6.0 +VTS,1,5,420,1.15,CSH,6.5 +VTS,1,5,1500,3.83,CRD,17.5 +VTS,1,5,360,0.78,CRD,5.5 +VTS,1,5,360,2.06,CSH,8.0 +VTS,1,5,480,1.02,CRD,6.5 +VTS,1,5,1320,7.44,CSH,24.0 +VTS,1,5,1080,2.18,CRD,13.0 +VTS,1,5,960,4.13,CRD,15.0 +VTS,1,5,420,0.93,CSH,6.5 +VTS,1,5,600,2.08,CSH,9.5 +VTS,1,5,600,0.71,CRD,7.5 +VTS,1,5,720,2.6,CRD,11.0 +VTS,1,5,900,3.29,CRD,13.0 +VTS,1,5,240,0.77,CRD,5.0 +VTS,1,5,480,1.42,CRD,7.5 +VTS,1,5,660,2.53,CSH,10.5 +VTS,1,5,480,2.45,CSH,9.5 +VTS,1,5,720,3.07,CSH,12.0 +VTS,1,5,360,0.93,CRD,6.0 +VTS,1,5,300,1.37,CRD,6.5 +VTS,1,5,780,3.69,CRD,13.0 +VTS,1,5,840,2.96,CSH,12.5 +VTS,1,5,480,1.67,CRD,7.5 +VTS,1,5,420,1.66,CSH,8.0 +VTS,1,5,1260,3.71,CSH,16.5 +VTS,1,5,840,3.5,CSH,13.5 +VTS,1,6,840,4.01,CRD,14.0 +VTS,1,5,480,2.47,CSH,9.0 +VTS,1,6,480,2.85,CRD,10.5 +VTS,1,6,600,2.32,CRD,10.0 +VTS,1,6,720,2.15,CRD,10.0 +VTS,1,6,480,2.29,CRD,9.0 +VTS,1,6,840,1.33,CRD,10.0 +VTS,1,6,1560,7.88,CRD,26.5 +VTS,1,5,1800,8.62,CSH,28.5 +VTS,1,6,420,0.97,CRD,6.5 +VTS,1,6,120,0.45,CRD,3.5 +VTS,1,5,1260,4.83,CSH,17.5 +VTS,1,6,960,7.67,CRD,23.0 +VTS,1,6,420,1.31,CSH,6.5 +VTS,1,5,600,2.22,CSH,10.0 +VTS,1,5,360,1.17,CRD,6.5 +VTS,1,5,660,1.7,CRD,9.5 +VTS,1,5,1020,3.43,CSH,14.0 +VTS,1,5,960,2.19,CRD,12.0 +VTS,1,5,120,0.44,CRD,3.5 +VTS,1,5,240,1.33,CRD,6.0 +VTS,1,5,900,2.69,CSH,12.0 +VTS,1,5,120,0.34,CSH,3.5 +VTS,1,5,600,2.76,CRD,10.5 +VTS,1,5,1020,4.76,CRD,16.5 +VTS,1,5,1320,2.99,CSH,15.5 +VTS,1,5,480,0.94,CRD,7.0 +VTS,1,5,780,2.79,CSH,12.0 +VTS,1,5,420,1.53,CRD,7.5 +VTS,1,5,240,0.43,CSH,4.5 +VTS,1,5,960,1.35,CRD,11.0 +VTS,1,5,960,2.79,CSH,12.5 +VTS,1,5,420,0.68,CRD,5.5 +VTS,1,5,120,0.27,CRD,3.5 +VTS,1,5,540,1.82,CRD,8.5 +VTS,1,5,720,1.82,CRD,9.5 +VTS,1,5,540,0.79,CRD,7.5 +VTS,1,5,180,0.58,CSH,4.0 +VTS,1,5,720,3.62,CSH,13.5 +VTS,1,5,180,1.05,CSH,5.0 +VTS,1,5,900,1.52,CRD,11.0 +VTS,1,5,1140,3.51,CRD,15.0 +VTS,1,5,960,3.77,CSH,14.5 +VTS,1,5,480,1.21,CRD,7.5 +VTS,1,5,480,2.37,CSH,9.5 +VTS,1,5,660,2.26,CRD,10.5 +VTS,1,5,1080,5.07,CRD,18.5 +VTS,1,5,720,2.18,CRD,11.0 +VTS,1,5,240,0.68,CSH,5.0 +VTS,1,5,360,1.56,CRD,7.5 +VTS,1,5,840,3.06,CRD,12.5 +VTS,1,5,1380,2.83,CRD,16.0 +VTS,1,5,840,3.35,CSH,13.0 +VTS,1,5,120,0.26,CSH,3.0 +VTS,1,5,1080,4.41,CRD,17.5 +VTS,1,5,540,2.6,CSH,10.5 +VTS,1,5,660,3.56,CRD,12.5 +VTS,1,5,540,1.14,CSH,7.5 +VTS,1,5,1020,2.94,CSH,14.0 +VTS,1,5,780,4.52,CSH,14.5 +VTS,1,5,300,0.96,CSH,5.5 +VTS,1,5,840,2.41,CRD,11.5 +VTS,1,5,1740,7.21,CSH,26.0 +VTS,1,5,540,2.13,CSH,9.0 +VTS,1,5,960,4.15,CRD,15.5 +VTS,1,6,360,2.07,CSH,8.0 +VTS,1,5,420,1.41,CRD,7.0 +VTS,1,5,960,6.68,CSH,21.5 +VTS,1,5,480,2.56,CSH,9.5 +VTS,1,5,300,0.83,CSH,6.0 +VTS,1,5,1440,4.05,CRD,18.0 +VTS,1,5,600,2.34,CSH,10.0 +VTS,1,5,540,1.87,CRD,9.0 +VTS,1,5,1080,2.93,CRD,13.5 +VTS,1,5,480,1.89,CRD,8.5 +VTS,1,5,540,2.73,CRD,10.5 +VTS,1,5,600,0.94,CSH,8.0 +VTS,1,5,600,1.29,CSH,8.0 +VTS,1,5,60,0.25,CRD,3.0 +VTS,1,5,660,5.32,CSH,17.0 +VTS,2,1,2100,18.57,CSH,52.0 +VTS,1,5,720,2.39,CSH,10.5 +VTS,1,6,840,2.39,CSH,11.0 +VTS,1,5,1740,7.36,CRD,26.0 +VTS,1,5,420,0.83,CSH,6.5 +VTS,1,5,1200,4.83,CSH,18.0 +VTS,1,5,840,1.9,CRD,10.5 +VTS,1,5,480,1.35,CRD,7.0 +VTS,1,5,360,1.47,CSH,7.0 +VTS,1,5,420,0.65,CSH,6.0 +VTS,1,5,720,2.95,CSH,11.5 +VTS,1,5,720,3.24,CSH,12.0 +VTS,1,6,420,2.06,CSH,8.5 +VTS,1,6,960,3.11,CSH,13.0 +VTS,1,6,180,0.92,CRD,4.5 +VTS,1,6,480,1.01,CRD,7.0 +VTS,1,6,720,1.64,CRD,9.0 +VTS,1,5,2820,10.05,CRD,38.0 +VTS,1,6,240,1.01,CRD,6.0 +VTS,1,6,2940,14.95,CRD,48.0 +VTS,1,6,540,1.47,CSH,8.0 +VTS,1,6,420,1.18,CRD,6.5 +VTS,1,6,900,1.83,CSH,10.0 +VTS,1,6,360,2.3,CRD,9.0 +VTS,1,6,600,3.14,CRD,11.0 +VTS,1,6,660,2.19,CRD,10.0 +VTS,1,6,420,1.21,CSH,6.0 +VTS,1,6,1740,5.85,CRD,22.5 +VTS,1,6,2580,9.02,CSH,35.0 +VTS,1,6,360,1.81,CSH,7.5 +VTS,1,6,660,5.34,CRD,16.0 +VTS,1,6,420,1.66,CRD,7.5 +VTS,5,2,0,0.0,CSH,20.0 +VTS,1,6,780,1.64,CSH,10.0 +VTS,1,6,300,0.94,CRD,6.0 +VTS,1,6,300,1.12,CSH,5.5 +VTS,1,6,1500,3.31,CRD,17.0 +VTS,1,6,900,1.13,CSH,10.0 +VTS,1,6,360,1.99,CRD,8.0 +VTS,1,5,600,1.55,CRD,8.5 +VTS,1,5,360,1.51,CSH,7.0 +VTS,1,5,240,0.52,CRD,5.0 +VTS,1,5,180,0.79,CSH,4.5 +VTS,1,5,420,1.37,CSH,7.0 +VTS,1,5,720,1.89,CSH,10.0 +VTS,1,5,300,0.93,CRD,5.5 +VTS,1,5,360,1.03,CRD,6.5 +VTS,1,5,360,0.72,CRD,5.5 +VTS,1,5,300,1.46,CRD,6.5 +VTS,1,5,360,1.43,CSH,7.0 +VTS,1,5,420,0.8,CSH,6.0 +VTS,1,5,600,2.19,CSH,9.5 +VTS,1,5,780,4.03,CRD,14.0 +VTS,1,5,180,0.51,CRD,4.0 +VTS,1,5,600,1.93,CRD,9.0 +VTS,1,5,1020,3.58,CRD,14.5 +VTS,1,5,600,1.47,CSH,7.5 +VTS,1,5,1320,6.15,CRD,21.0 +VTS,1,5,600,2.35,CRD,10.0 +VTS,1,5,600,2.19,CRD,9.5 +VTS,1,5,600,5.86,CSH,17.5 +VTS,1,5,240,0.87,CRD,5.0 +VTS,1,5,1980,4.75,CRD,23.0 +VTS,1,5,660,1.61,CRD,9.0 +VTS,1,5,480,1.29,CRD,7.0 +VTS,1,5,480,2.23,CRD,9.0 +VTS,1,5,120,0.59,CSH,4.0 +VTS,1,5,900,1.99,CRD,11.0 +VTS,1,5,540,1.43,CRD,8.0 +VTS,1,5,420,0.59,CSH,6.5 +VTS,1,5,900,3.17,CRD,13.0 +VTS,1,5,600,0.81,CRD,7.5 +VTS,1,5,420,1.14,CSH,7.0 +VTS,1,5,180,0.72,CSH,4.5 +VTS,1,5,660,2.97,CRD,11.0 +VTS,1,5,540,2.64,CRD,10.0 +VTS,1,5,360,1.07,CRD,6.0 +VTS,1,5,1020,3.39,CRD,14.0 +VTS,1,5,660,0.68,CSH,8.0 +VTS,1,5,1080,4.1,CRD,16.5 +VTS,1,5,720,2.43,CSH,10.5 +VTS,1,5,180,1.08,CRD,5.0 +VTS,1,5,360,1.45,CRD,7.0 +VTS,1,5,360,1.49,CRD,7.0 +VTS,1,5,360,0.74,CSH,6.0 +VTS,1,5,1620,4.55,CSH,20.5 +VTS,1,5,540,1.95,CSH,8.5 +VTS,1,6,480,3.28,CSH,11.5 +VTS,1,6,1500,5.65,CSH,21.0 +VTS,1,5,420,1.47,CSH,7.5 +VTS,1,6,540,1.29,CSH,7.5 +VTS,1,5,360,1.12,CSH,6.5 +VTS,1,5,660,2.92,CSH,11.0 +VTS,1,5,720,1.41,CRD,9.5 +VTS,1,5,900,3.47,CSH,13.5 +VTS,1,5,780,2.14,CRD,10.5 +VTS,1,5,840,4.27,CSH,15.5 +VTS,1,5,180,0.85,CSH,5.0 +VTS,1,5,720,2.69,CRD,11.0 +VTS,1,6,660,2.76,CSH,11.0 +VTS,1,5,360,1.57,CSH,7.5 +VTS,1,6,840,3.63,CSH,14.0 +VTS,1,6,420,1.64,CRD,7.5 +VTS,1,5,780,5.75,CSH,18.0 +VTS,1,5,240,1.36,CRD,6.5 +VTS,1,6,540,2.02,CSH,8.5 +VTS,1,6,120,0.51,CRD,4.0 +VTS,1,5,420,1.28,CSH,7.0 +VTS,1,6,900,2.53,CSH,12.0 +VTS,1,5,780,1.65,CSH,10.0 +VTS,1,6,1380,6.25,CRD,21.0 +VTS,1,6,1020,4.28,CSH,16.5 +VTS,1,6,840,1.44,CRD,10.0 +VTS,1,6,1140,5.43,CSH,20.0 +VTS,1,6,780,2.3,CRD,10.5 +VTS,1,6,840,6.05,CRD,18.5 +VTS,1,5,2280,9.82,CSH,34.5 +VTS,1,5,900,3.78,CRD,14.0 +VTS,1,5,900,4.79,CRD,16.0 +VTS,1,5,540,1.11,CRD,7.0 +VTS,1,6,360,0.96,CSH,6.0 +VTS,1,5,300,0.78,CSH,5.0 +VTS,1,5,300,1.51,CSH,6.5 +VTS,1,5,660,0.85,CRD,8.0 +VTS,1,5,1680,3.88,CRD,19.0 +VTS,1,5,1500,7.62,CRD,25.5 +VTS,1,5,840,3.92,CRD,14.5 +VTS,1,5,240,0.81,CSH,5.0 +VTS,1,5,240,0.95,CRD,5.5 +VTS,1,5,600,2.25,CRD,9.5 +VTS,1,5,360,1.02,CRD,6.0 +VTS,1,5,660,2.1,CRD,10.0 +VTS,1,5,360,1.49,CRD,7.0 +VTS,1,5,540,1.24,CRD,7.5 +VTS,1,5,420,1.7,CSH,7.5 +VTS,1,5,360,2.2,CSH,8.5 +VTS,1,5,720,3.4,CRD,13.0 +VTS,1,5,1080,2.05,CRD,12.5 +VTS,1,5,420,0.9,CRD,6.5 +VTS,1,5,240,1.04,CRD,5.5 +VTS,1,5,300,1.55,CRD,6.5 +VTS,1,5,480,2.49,CSH,9.5 +VTS,1,5,540,2.16,CRD,9.5 +CMT,1,2,1244,2.2,CSH,14.5 +CMT,1,1,246,1.2,CSH,6.0 +CMT,1,1,794,3.1,CRD,12.5 +CMT,1,1,283,0.9,CRD,5.5 +CMT,1,1,1738,11.1,CRD,33.0 +CMT,1,1,999,3.6,CSH,14.5 +CMT,1,1,542,1.6,CSH,8.5 +CMT,1,1,493,2.2,CSH,9.5 +CMT,1,1,832,3.1,CRD,13.5 +CMT,5,1,27,0.0,CRD,11.0 +VTS,1,5,1020,2.42,CSH,12.5 +VTS,1,5,180,0.53,CSH,4.0 +VTS,1,5,780,2.39,CSH,10.5 +VTS,1,5,420,1.41,CRD,7.0 +VTS,1,5,540,2.43,CRD,10.0 +VTS,1,5,1380,3.91,CRD,17.5 +VTS,1,5,660,1.44,CSH,8.5 +VTS,1,5,540,3.4,CRD,11.5 +VTS,1,5,780,1.45,CRD,10.0 +VTS,1,5,660,2.29,CSH,10.0 +VTS,1,5,660,2.18,CRD,9.0 +VTS,1,5,780,1.79,CSH,10.5 +VTS,1,5,900,7.2,CRD,21.5 +VTS,1,5,420,1.36,CSH,7.5 +VTS,1,5,660,1.64,CRD,9.0 +VTS,1,5,540,2.17,CRD,9.0 +VTS,1,6,1500,7.8,CRD,26.5 +VTS,1,6,480,0.76,CRD,7.0 +VTS,1,6,1800,9.84,CSH,32.0 +VTS,1,6,600,1.54,CSH,8.0 +VTS,1,6,720,2.56,CSH,11.0 +VTS,1,6,420,2.45,CSH,9.0 +VTS,1,6,300,0.52,CRD,5.0 +VTS,1,6,1140,2.67,CRD,14.0 +VTS,1,6,180,0.74,CRD,4.5 +VTS,1,6,420,1.09,CRD,7.0 +VTS,1,6,900,2.77,CRD,12.5 +VTS,1,6,1020,3.07,CRD,14.0 +VTS,1,6,420,2.55,CRD,9.5 +VTS,1,6,960,2.27,CSH,12.0 +VTS,1,5,240,0.55,CSH,4.5 +VTS,1,5,660,2.41,CSH,10.0 +VTS,1,6,240,0.96,CSH,5.5 +VTS,1,6,780,1.99,CRD,10.5 +VTS,1,6,660,1.13,CSH,8.0 +VTS,1,6,1500,9.15,CSH,28.5 +VTS,2,6,1920,18.88,CRD,52.0 +VTS,1,6,1020,5.32,CSH,18.5 +VTS,1,6,720,1.76,CRD,10.0 +VTS,1,6,1560,2.29,CSH,16.5 +VTS,1,6,1260,4.68,CSH,17.5 +VTS,1,6,240,0.66,CSH,5.0 +VTS,1,5,420,1.55,CSH,7.0 +VTS,1,5,720,2.08,CSH,10.0 +VTS,1,5,1920,5.26,CRD,22.5 +VTS,1,5,420,0.91,CSH,6.5 +VTS,1,5,780,1.81,CRD,10.5 +VTS,1,5,480,1.08,CRD,7.0 +VTS,1,5,600,3.59,CRD,12.0 +VTS,1,5,300,1.1,CRD,6.0 +VTS,1,5,360,1.04,CRD,6.0 +VTS,1,5,1320,8.74,CRD,26.5 +VTS,1,5,240,0.94,CRD,5.5 +VTS,1,5,420,1.54,CSH,7.5 +VTS,1,5,120,0.35,CSH,3.5 +VTS,1,5,360,0.84,CRD,6.0 +VTS,1,5,300,0.65,CSH,5.0 +VTS,1,5,1020,2.97,CRD,13.5 +VTS,1,5,1680,5.41,CRD,22.5 +VTS,1,5,420,3.39,CSH,11.5 +VTS,1,5,60,0.01,CSH,2.5 +VTS,1,5,1200,5.0,CSH,18.5 +VTS,1,5,1020,8.86,CSH,26.0 +VTS,1,5,600,1.66,CRD,9.0 +VTS,1,5,360,1.27,CSH,6.5 +VTS,1,5,840,3.72,CRD,13.5 +VTS,1,5,1380,7.44,CSH,25.0 +VTS,1,5,960,6.89,CSH,22.0 +VTS,1,5,1080,6.21,CRD,21.0 +VTS,1,5,300,1.2,CRD,6.5 +VTS,1,5,420,1.83,CSH,8.0 +VTS,1,5,180,0.69,CSH,4.5 +VTS,1,5,840,2.08,CRD,11.0 +VTS,1,5,600,1.35,CSH,8.0 +VTS,1,5,300,0.97,CSH,6.0 +VTS,1,5,780,2.42,CSH,11.5 +VTS,1,5,240,0.64,CRD,4.5 +VTS,1,5,1260,5.82,CRD,20.5 +VTS,1,5,480,2.05,CRD,9.0 +VTS,1,6,420,3.33,CRD,11.5 +VTS,1,6,1800,10.45,CRD,32.5 +VTS,1,6,1140,8.87,CRD,26.0 +VTS,1,5,360,0.68,CSH,5.5 +VTS,1,6,2280,10.29,CRD,34.5 +VTS,1,6,300,0.88,CSH,6.0 +VTS,1,6,1260,4.56,CSH,16.0 +VTS,1,6,1380,6.74,CRD,23.5 +VTS,1,6,1140,3.96,CSH,13.5 +VTS,1,6,420,0.83,CRD,6.5 +VTS,1,6,360,1.18,CSH,6.0 +VTS,1,6,600,1.71,CSH,9.0 +VTS,1,6,720,2.17,CRD,10.5 +VTS,1,6,720,1.26,CRD,9.5 +VTS,1,6,1200,5.5,CRD,21.0 +VTS,1,6,840,2.6,CRD,11.5 +VTS,1,5,240,1.2,CRD,5.5 +VTS,1,6,540,1.9,CRD,8.5 +VTS,1,5,240,0.88,CSH,5.5 +VTS,1,6,240,0.84,CRD,5.0 +VTS,1,6,1140,4.02,CRD,16.0 +VTS,1,6,180,0.77,CSH,4.5 +VTS,1,6,1320,3.36,CRD,15.5 +VTS,1,6,840,2.11,CRD,11.5 +VTS,1,6,2040,11.13,CRD,35.5 +VTS,1,6,240,0.35,CSH,4.0 +VTS,1,6,780,1.9,CSH,9.0 +VTS,1,5,420,1.32,CSH,7.0 +VTS,1,5,540,1.3,CSH,7.5 +VTS,1,6,1080,2.66,CRD,13.5 +VTS,1,6,420,0.88,CSH,6.0 +VTS,1,6,180,0.45,CSH,4.0 +VTS,1,5,960,8.77,CSH,25.5 +VTS,1,6,1320,3.22,CSH,16.0 +VTS,1,6,240,1.06,CRD,5.5 +VTS,1,6,900,1.44,CRD,10.5 +VTS,1,6,1140,4.68,CRD,17.5 +VTS,1,6,480,1.68,CRD,8.0 +VTS,1,6,540,1.22,CRD,8.0 +VTS,1,5,660,0.73,CSH,7.5 +VTS,1,6,2040,10.81,CSH,32.5 +VTS,1,6,1440,4.3,CRD,20.0 +VTS,1,5,960,4.65,CSH,17.0 +VTS,1,5,420,1.26,CSH,6.5 +VTS,1,5,960,2.26,CSH,9.5 +VTS,1,6,1140,3.98,CRD,16.5 +VTS,1,5,480,1.14,CSH,7.0 +VTS,1,6,480,1.11,CRD,7.0 +VTS,1,6,1080,2.02,CSH,11.0 +VTS,1,5,1560,13.23,CRD,37.5 +VTS,1,5,660,3.67,CSH,12.5 +VTS,1,6,960,9.41,CRD,26.5 +VTS,1,6,600,2.24,CRD,9.5 +VTS,5,1,1800,12.55,CRD,70.0 +VTS,1,6,480,0.94,CRD,7.0 +VTS,1,6,420,0.64,CRD,6.5 +VTS,1,6,240,0.56,CRD,4.0 +VTS,1,6,1020,1.69,CSH,9.5 +VTS,1,6,240,1.27,CRD,6.0 +VTS,1,6,1380,4.38,CRD,18.5 +VTS,1,6,420,1.09,CSH,6.0 +VTS,1,6,600,1.67,CSH,9.0 +VTS,1,6,600,2.64,CRD,10.5 +VTS,1,6,480,1.3,CRD,7.5 +VTS,1,6,1320,12.58,CRD,35.0 +VTS,1,6,1740,8.86,CRD,29.0 +VTS,1,6,600,1.29,CSH,8.5 +VTS,1,6,900,6.81,CSH,20.0 +VTS,1,6,180,0.72,CRD,4.5 +VTS,1,6,1020,2.08,CRD,12.0 +VTS,1,6,240,1.28,CRD,6.0 +VTS,1,5,720,1.4,CRD,9.0 +VTS,1,6,240,0.64,CSH,4.5 +VTS,1,6,1680,11.17,CRD,34.0 +VTS,1,6,780,2.02,CRD,10.0 +VTS,1,6,240,0.85,CRD,5.0 +VTS,1,6,420,1.09,CSH,7.0 +VTS,1,6,360,1.04,CRD,6.0 +VTS,1,6,300,0.89,CRD,5.5 +VTS,1,6,540,1.24,CSH,7.5 +VTS,1,6,1560,1.89,CRD,16.5 +VTS,1,5,540,0.93,CRD,7.0 +VTS,1,6,1200,2.51,CSH,14.0 +VTS,1,6,900,4.43,CSH,16.0 +VTS,1,6,780,1.86,CSH,9.0 +VTS,1,6,180,1.09,CSH,5.5 +VTS,1,6,1500,3.91,CSH,18.0 +VTS,1,6,300,1.22,CRD,6.0 +VTS,1,6,480,1.25,CSH,7.0 +VTS,1,5,240,0.82,CSH,5.5 +VTS,3,6,2820,15.01,CRD,67.0 +VTS,1,6,240,0.82,CSH,5.0 +VTS,1,6,660,2.35,CRD,10.0 +VTS,1,6,420,1.3,CRD,7.0 +VTS,1,6,300,1.45,CSH,6.0 +VTS,1,6,180,0.96,CRD,5.0 +VTS,1,5,1740,3.93,CSH,20.5 +VTS,1,5,960,2.75,CRD,12.5 +VTS,1,6,1080,2.91,CSH,11.5 +VTS,1,6,660,3.14,CRD,11.5 +VTS,1,6,1320,9.39,CSH,28.0 +VTS,1,6,300,0.97,CRD,6.0 +VTS,1,6,1860,10.43,CRD,33.5 +VTS,1,6,480,2.1,CSH,8.5 +VTS,1,5,600,2.16,CSH,10.0 +VTS,1,6,1260,10.23,CSH,30.0 +VTS,1,6,420,0.72,CSH,6.0 +VTS,1,5,600,1.8,CSH,9.5 +VTS,1,6,240,0.48,CSH,4.5 +VTS,1,6,480,1.02,CRD,7.0 +VTS,1,6,720,1.76,CSH,9.5 +VTS,1,6,840,1.17,CRD,9.5 +VTS,2,6,2220,18.74,CSH,52.0 +VTS,1,6,540,1.67,CRD,8.5 +VTS,1,6,600,2.73,CRD,11.0 +VTS,1,6,600,1.16,CRD,8.0 +VTS,1,6,600,2.01,CSH,9.5 +VTS,1,6,600,1.13,CSH,8.0 +VTS,1,6,480,1.2,CRD,7.5 +VTS,1,6,840,2.25,CRD,11.0 +VTS,1,6,660,2.24,CSH,10.0 +VTS,1,6,960,1.95,CSH,11.0 +VTS,1,6,900,6.52,CRD,19.5 +VTS,1,6,660,2.91,CRD,11.0 +VTS,1,6,600,1.16,CRD,8.0 +VTS,1,6,840,1.82,CRD,10.5 +VTS,1,6,600,1.04,CSH,8.5 +VTS,1,6,840,1.58,CRD,10.0 +VTS,1,6,900,2.44,CSH,12.0 +VTS,1,6,660,1.77,CRD,9.0 +VTS,1,6,600,2.68,CRD,10.5 +VTS,1,6,1500,8.96,CRD,28.0 +VTS,1,6,960,2.76,CSH,12.5 +VTS,1,5,540,1.11,CSH,7.5 +VTS,1,6,1680,4.34,CSH,20.5 +VTS,1,6,180,0.81,CSH,4.5 +VTS,1,6,480,0.65,CRD,7.0 +VTS,1,6,660,1.91,CSH,9.5 +VTS,1,6,480,1.26,CRD,7.0 +VTS,1,6,420,2.57,CSH,9.0 +VTS,1,6,660,3.55,CSH,12.5 +VTS,1,6,480,1.0,CRD,7.0 +VTS,1,6,540,1.82,CRD,8.5 +VTS,1,6,300,1.22,CRD,6.0 +VTS,1,6,660,1.16,CRD,9.0 +VTS,1,5,900,3.44,CSH,13.5 +VTS,1,5,360,1.16,CRD,6.5 +VTS,1,5,420,1.59,CSH,7.0 +VTS,1,6,840,5.63,CRD,18.0 +VTS,1,6,300,1.15,CSH,6.0 +VTS,1,6,660,1.35,CSH,8.5 +VTS,1,5,2400,11.1,CRD,38.5 +VTS,1,5,1560,3.26,CSH,18.0 +VTS,1,6,780,2.11,CSH,8.0 +VTS,1,5,1740,7.02,CSH,26.0 +VTS,1,5,1740,11.43,CSH,34.0 +VTS,1,6,780,1.84,CRD,10.5 +VTS,1,6,300,1.67,CSH,7.0 +VTS,1,6,540,1.39,CSH,8.0 +VTS,1,6,720,1.47,CRD,9.5 +VTS,1,6,420,0.55,CRD,6.0 +VTS,1,6,720,1.65,CRD,9.0 +VTS,1,6,540,1.74,CRD,8.5 +VTS,1,6,660,2.2,CSH,10.0 +VTS,1,6,720,1.62,CRD,9.5 +VTS,1,6,1500,2.19,CSH,16.5 +VTS,1,5,900,3.91,CRD,14.5 +VTS,1,6,360,1.75,CSH,8.0 +VTS,1,6,120,0.28,CRD,3.5 +VTS,1,5,1680,9.16,CRD,28.5 +VTS,1,6,240,0.96,CRD,5.5 +VTS,1,6,360,1.17,CSH,6.5 +VTS,5,1,1560,9.15,CSH,33.0 +VTS,1,5,1020,9.99,CSH,28.5 +VTS,1,6,660,2.89,CSH,11.5 +VTS,1,6,180,0.73,CSH,4.5 +VTS,1,6,480,1.09,CRD,7.0 +VTS,1,6,240,0.53,CSH,4.5 +VTS,1,6,540,1.2,CSH,7.5 +VTS,1,6,600,1.64,CRD,8.0 +VTS,1,6,780,2.09,CSH,11.0 +VTS,1,6,540,5.47,CRD,16.5 +VTS,1,6,960,4.48,CSH,16.0 +VTS,1,6,480,1.23,CSH,7.5 +VTS,1,6,1320,3.14,CRD,16.5 +VTS,1,6,540,0.66,CRD,7.0 +VTS,1,6,660,3.28,CRD,12.5 +VTS,1,6,660,5.71,CRD,17.5 +VTS,1,6,300,0.76,CRD,5.5 +VTS,1,6,2220,8.1,CRD,32.0 +VTS,1,6,1140,5.49,CSH,18.5 +VTS,1,6,1020,3.76,CSH,14.5 +VTS,1,6,180,0.72,CRD,4.0 +VTS,1,6,480,1.28,CSH,7.5 +VTS,1,6,180,0.76,CSH,4.5 +VTS,1,6,1020,2.53,CSH,13.0 +VTS,1,6,480,1.56,CSH,8.0 +VTS,1,6,1020,2.14,CRD,12.0 +VTS,1,6,960,3.47,CRD,14.0 +VTS,1,6,240,0.91,CRD,5.5 +VTS,1,6,240,0.66,CRD,5.0 +VTS,1,6,300,1.12,CRD,6.0 +VTS,1,6,960,1.41,CRD,11.0 +VTS,1,6,360,0.82,CRD,5.5 +VTS,1,6,540,1.13,CRD,8.0 +VTS,1,6,720,2.52,CRD,11.0 +VTS,1,6,1440,1.27,CSH,15.0 +VTS,1,6,780,1.77,CSH,10.5 +VTS,1,6,960,3.68,CRD,14.0 +VTS,1,6,60,0.4,CSH,3.5 +VTS,1,6,1020,4.78,CSH,17.0 +VTS,1,6,360,1.23,CRD,6.5 +VTS,1,6,480,2.15,CRD,8.5 +VTS,1,6,1320,8.32,CRD,26.5 +VTS,1,6,660,1.58,CSH,9.0 +VTS,1,6,1320,3.35,CRD,16.0 +VTS,1,6,300,0.78,CRD,5.0 +VTS,1,6,960,1.85,CSH,11.5 +VTS,1,6,720,1.77,CSH,10.0 +VTS,1,6,420,1.17,CSH,7.0 +VTS,1,6,1560,2.43,CSH,16.0 +VTS,1,6,180,0.44,CRD,4.0 +VTS,1,6,780,0.75,CSH,9.5 +VTS,1,6,1380,3.9,CRD,17.5 +VTS,1,6,1200,3.61,CRD,15.5 +VTS,1,5,360,1.17,CSH,6.0 +VTS,1,6,960,2.27,CSH,12.5 +VTS,1,6,900,1.97,CRD,11.0 +VTS,1,5,420,1.18,CSH,7.0 +VTS,1,6,1140,5.22,CSH,19.5 +VTS,1,6,1260,6.59,CRD,22.5 +VTS,1,6,1440,8.83,CRD,27.0 +VTS,1,6,780,1.35,CSH,9.5 +VTS,1,6,360,1.09,CSH,6.0 +VTS,1,6,360,1.15,CSH,6.0 +VTS,1,1,1020,4.47,CSH,17.0 +VTS,1,3,1680,7.92,CRD,27.0 +VTS,1,1,720,4.92,CSH,16.0 +VTS,1,1,600,1.88,CSH,9.0 +VTS,1,2,180,0.58,CSH,4.5 +VTS,1,3,240,0.86,CSH,5.0 +VTS,1,2,780,2.63,CRD,11.0 +VTS,1,1,540,1.52,CSH,8.0 +VTS,1,1,2520,14.73,CRD,44.5 +VTS,1,2,840,3.18,CRD,12.5 +VTS,1,1,1500,10.25,CSH,30.5 +VTS,1,1,120,0.87,CSH,4.5 +VTS,1,4,1080,4.23,CSH,16.5 +VTS,1,3,480,1.32,CSH,7.0 +VTS,1,1,480,1.78,CRD,8.0 +VTS,1,5,900,3.22,CRD,13.0 +VTS,1,5,960,2.69,CSH,13.5 +VTS,1,5,1140,6.66,CRD,21.5 +VTS,1,5,480,1.82,CSH,8.5 +VTS,1,5,720,1.85,CSH,10.0 +VTS,1,5,1260,7.19,CSH,23.0 +VTS,1,5,1440,2.56,CRD,15.5 +VTS,1,5,1200,11.05,CRD,32.0 +VTS,1,5,1980,9.95,CRD,32.0 +VTS,1,5,360,1.19,CSH,6.5 +VTS,1,5,420,0.88,CRD,6.5 +VTS,1,5,840,1.97,CRD,10.5 +VTS,1,5,540,1.9,CRD,9.0 +VTS,1,6,1080,4.32,CRD,16.5 +VTS,1,5,720,1.96,CSH,10.5 +VTS,1,6,1380,6.01,CSH,22.0 +VTS,1,5,420,0.89,CSH,6.5 +VTS,1,5,540,2.3,CSH,9.5 +VTS,1,5,420,1.32,CSH,7.0 +VTS,1,6,840,3.8,CRD,14.0 +VTS,1,6,420,2.22,CSH,8.5 +VTS,1,6,600,1.72,CSH,8.5 +VTS,1,5,1020,2.32,CSH,11.0 +VTS,1,6,1800,6.07,CRD,24.5 +VTS,2,6,3000,21.44,CRD,52.0 +VTS,1,6,480,0.87,CSH,6.0 +VTS,1,6,240,0.83,CSH,4.5 +VTS,1,6,540,1.72,CSH,8.5 +VTS,1,5,540,1.24,CSH,7.5 +VTS,1,6,1500,10.6,CRD,32.5 +VTS,1,6,360,1.45,CRD,7.0 +VTS,1,6,420,2.29,CRD,8.5 +VTS,1,6,960,8.43,CSH,24.5 +VTS,1,6,300,0.73,CRD,5.5 +VTS,1,6,1020,8.86,CSH,25.5 +VTS,1,6,1080,3.07,CRD,14.0 +VTS,1,6,360,1.65,CSH,7.5 +VTS,1,6,240,0.87,CSH,5.5 +VTS,1,6,480,1.49,CRD,8.0 +VTS,1,6,2400,10.74,CRD,36.0 +VTS,1,6,960,2.77,CRD,12.5 +VTS,1,6,1680,7.62,CSH,26.5 +VTS,1,6,540,1.17,CSH,7.5 +VTS,1,6,360,1.06,CSH,6.0 +VTS,1,6,1020,4.12,CRD,16.0 +VTS,1,6,1380,3.55,CSH,16.5 +VTS,1,6,600,1.23,CSH,8.5 +VTS,1,6,300,0.44,CRD,5.0 +VTS,1,6,180,0.5,CSH,4.0 +VTS,1,6,720,1.92,CSH,10.0 +VTS,2,5,3060,17.85,CSH,52.0 +VTS,1,6,600,1.17,CRD,7.5 +VTS,1,6,420,0.81,CRD,6.0 +VTS,1,6,240,0.73,CRD,4.5 +VTS,1,6,900,2.79,CRD,12.5 +VTS,1,6,600,1.2,CRD,8.0 +VTS,1,6,540,1.18,CSH,7.5 +VTS,1,6,240,0.92,CRD,5.5 +VTS,1,6,2160,4.17,CRD,23.5 +VTS,1,6,660,1.93,CSH,9.5 +VTS,1,6,960,2.97,CRD,13.0 +VTS,1,6,420,0.91,CSH,6.5 +VTS,1,6,480,1.46,CRD,7.5 +VTS,1,5,960,1.2,CRD,10.5 +VTS,1,6,1920,8.28,CRD,29.5 +VTS,1,6,240,0.86,CRD,5.0 +VTS,1,6,2040,6.04,CSH,23.0 +VTS,1,6,840,3.3,CRD,12.5 +VTS,1,6,540,0.76,CSH,7.0 +VTS,1,6,1500,3.97,CRD,19.0 +VTS,1,1,180,0.34,CRD,3.5 +VTS,1,2,1740,16.2,CRD,44.5 +VTS,1,1,240,0.6,CSH,5.0 +VTS,1,1,540,1.2,CRD,8.0 +VTS,1,2,660,1.68,CSH,9.0 +VTS,1,1,480,2.12,CRD,8.5 +VTS,1,2,480,1.19,CSH,7.0 +VTS,1,1,660,1.31,CRD,9.0 +VTS,1,6,1800,3.62,CSH,19.5 +VTS,1,6,720,1.25,CSH,9.0 +VTS,1,6,240,0.7,CSH,4.5 +VTS,1,6,960,2.36,CRD,12.5 +VTS,1,2,1200,3.84,CRD,16.0 +VTS,1,1,900,5.62,CSH,18.5 +VTS,1,1,360,1.94,CRD,8.0 +VTS,1,1,420,1.26,CRD,6.5 +VTS,1,1,1020,5.46,CSH,18.0 +VTS,1,1,1200,5.82,CRD,20.0 +VTS,1,1,900,4.38,CRD,15.0 +VTS,1,1,360,0.77,CSH,6.0 +VTS,2,2,1260,16.27,CRD,52.0 +VTS,1,1,1980,10.85,CRD,35.5 +VTS,1,4,420,1.35,CSH,6.5 +VTS,1,5,1080,3.83,CSH,16.5 +VTS,1,1,420,1.83,CSH,8.5 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,2,1260,3.69,CSH,16.0 +VTS,1,1,540,2.16,CSH,9.0 +VTS,1,2,600,1.86,CSH,9.5 +VTS,1,1,360,1.32,CRD,6.5 +VTS,1,1,480,0.8,CSH,6.0 +VTS,1,1,180,0.55,CSH,4.0 +VTS,1,2,480,2.08,CRD,9.0 +VTS,1,2,300,1.28,CSH,6.5 +VTS,1,6,600,2.15,CSH,9.5 +VTS,1,6,840,1.55,CSH,10.0 +VTS,1,6,660,0.99,CRD,8.0 +VTS,1,6,300,0.73,CRD,5.5 +VTS,1,6,480,1.08,CRD,7.0 +VTS,1,6,480,1.19,CRD,7.5 +VTS,1,6,900,1.83,CSH,10.5 +VTS,1,6,900,2.77,CRD,12.0 +VTS,1,6,300,0.69,CSH,5.5 +VTS,1,6,1080,4.53,CSH,16.0 +VTS,1,6,1140,3.35,CRD,15.0 +VTS,1,2,480,3.76,CSH,12.5 +VTS,1,1,1140,5.56,CRD,19.5 +VTS,1,2,360,0.73,CSH,5.5 +VTS,1,2,720,1.94,CSH,10.0 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,1020,3.89,CSH,14.5 +VTS,1,3,960,3.82,CSH,15.0 +VTS,1,1,660,1.73,CRD,9.0 +VTS,1,3,1680,11.33,CSH,33.5 +VTS,1,2,300,0.53,CSH,5.0 +VTS,1,1,900,4.58,CRD,15.5 +VTS,1,2,660,1.67,CRD,9.0 +VTS,1,3,420,0.52,CSH,5.5 +VTS,1,1,420,1.02,CRD,6.5 +VTS,1,1,180,0.83,CSH,4.5 +VTS,1,6,1800,7.05,CRD,26.5 +VTS,1,2,540,1.46,CSH,8.0 +VTS,1,1,900,6.35,CSH,20.0 +VTS,1,3,360,1.91,CSH,8.5 +VTS,1,3,660,1.61,CRD,9.5 +VTS,1,1,480,1.0,CSH,6.5 +VTS,1,2,540,0.94,CRD,7.5 +VTS,1,2,300,1.35,CSH,6.5 +VTS,1,3,1500,13.13,CRD,37.5 +VTS,1,1,300,0.92,CSH,6.0 +VTS,1,1,1200,8.81,CRD,26.5 +VTS,1,2,780,3.08,CSH,12.0 +VTS,1,2,600,2.11,CRD,9.0 +VTS,1,1,720,3.7,CRD,13.0 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,2,480,1.57,CRD,7.5 +VTS,1,2,480,1.45,CSH,7.5 +VTS,1,1,180,0.85,CSH,4.5 +VTS,1,1,300,0.88,CRD,5.0 +VTS,1,2,300,1.01,CSH,6.0 +VTS,1,1,300,1.19,CSH,6.0 +VTS,1,1,240,0.91,CRD,5.0 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,2,480,1.85,CSH,8.0 +VTS,2,1,1800,17.8,CSH,52.0 +VTS,1,6,660,1.27,CRD,8.5 +VTS,1,5,480,0.87,CSH,7.0 +VTS,1,6,480,0.83,CSH,6.5 +VTS,1,6,540,0.81,CRD,7.0 +VTS,1,6,780,1.05,CSH,9.0 +VTS,1,5,1680,11.77,CRD,35.0 +VTS,1,6,420,1.45,CRD,7.5 +VTS,1,2,840,3.98,CRD,14.5 +VTS,1,2,900,5.38,CSH,18.0 +VTS,1,1,1020,1.96,CRD,12.0 +VTS,1,3,300,0.63,CRD,5.5 +VTS,1,1,240,0.57,CRD,4.5 +VTS,1,1,540,1.63,CSH,8.0 +VTS,1,2,480,1.34,CSH,7.0 +VTS,1,1,420,1.08,CSH,7.0 +VTS,1,3,300,0.74,CRD,5.0 +VTS,1,1,420,1.66,CSH,8.0 +VTS,1,3,900,3.35,CRD,13.5 +VTS,1,1,1380,9.2,CRD,28.5 +VTS,1,3,660,1.46,CRD,9.0 +VTS,1,1,120,0.68,CSH,4.0 +VTS,1,3,600,3.0,CRD,11.0 +VTS,1,2,300,1.56,CRD,6.5 +VTS,1,2,1080,8.35,CRD,25.5 +VTS,1,1,600,3.48,CRD,11.5 +VTS,1,1,1020,5.74,CRD,19.5 +VTS,1,6,600,0.71,CRD,7.5 +VTS,1,6,1440,4.92,CSH,20.0 +VTS,1,6,480,0.69,CRD,6.0 +VTS,2,6,2100,19.08,CRD,52.0 +VTS,1,6,360,0.91,CRD,6.0 +VTS,1,6,540,1.07,CSH,7.5 +VTS,1,6,840,1.37,CRD,10.5 +VTS,1,6,660,1.62,CRD,9.0 +VTS,1,6,3180,8.59,CSH,38.0 +VTS,1,6,420,1.4,CRD,7.5 +VTS,1,6,780,8.13,CRD,23.0 +VTS,1,5,420,0.96,CSH,6.5 +VTS,1,6,780,1.89,CSH,10.5 +VTS,1,5,300,0.77,CSH,5.0 +VTS,1,6,1620,4.35,CSH,19.0 +VTS,1,6,240,0.55,CRD,4.5 +VTS,1,6,1500,6.74,CRD,22.0 +VTS,1,6,840,2.52,CSH,12.0 +VTS,1,6,840,4.02,CRD,15.0 +VTS,1,6,1080,1.22,CSH,12.0 +VTS,1,6,240,0.85,CSH,5.0 +VTS,1,6,360,0.96,CRD,6.0 +VTS,1,6,180,0.5,CSH,4.0 +VTS,1,6,960,12.1,CRD,33.0 +VTS,1,6,720,3.23,CSH,12.5 +VTS,1,6,1320,7.24,CRD,24.0 +VTS,1,2,240,0.86,CSH,5.0 +VTS,1,3,540,1.62,CSH,8.0 +VTS,1,1,660,2.28,CRD,10.0 +VTS,1,3,480,1.83,CRD,8.0 +VTS,1,1,420,1.38,CRD,7.0 +VTS,1,3,1260,4.23,CRD,17.0 +VTS,1,1,480,1.23,CRD,7.0 +VTS,1,2,840,9.66,CSH,27.0 +VTS,1,1,600,2.47,CRD,10.0 +VTS,1,1,660,0.75,CSH,8.0 +VTS,1,2,1020,6.18,CRD,19.5 +VTS,1,1,240,1.14,CRD,6.0 +VTS,1,2,300,1.16,CSH,6.0 +VTS,1,2,1140,5.65,CRD,20.5 +VTS,1,1,660,3.6,CSH,12.5 +VTS,1,2,1020,3.49,CSH,14.5 +VTS,1,2,540,2.68,CSH,10.0 +VTS,1,1,300,1.74,CSH,7.0 +VTS,1,1,300,1.31,CSH,6.0 +VTS,1,1,900,2.14,CRD,11.5 +VTS,1,1,660,2.0,CRD,9.5 +VTS,1,1,300,1.5,CSH,6.5 +VTS,1,1,840,2.43,CRD,12.0 +VTS,1,1,660,2.39,CSH,10.5 +VTS,1,2,600,1.77,CSH,8.5 +VTS,1,1,1140,1.2,CSH,12.0 +VTS,1,1,960,4.0,CRD,15.0 +VTS,1,3,480,1.62,CSH,7.5 +VTS,1,1,120,0.7,CRD,4.0 +VTS,1,2,240,0.85,CSH,5.5 +VTS,1,1,240,0.63,CSH,5.0 +VTS,1,2,1260,6.06,CSH,20.5 +VTS,3,2,1860,18.12,CSH,67.5 +VTS,1,1,240,0.9,CRD,5.0 +VTS,1,1,1440,10.63,CSH,32.5 +VTS,1,1,540,2.0,CSH,9.0 +VTS,1,1,300,0.74,CRD,5.5 +VTS,1,1,660,1.64,CSH,9.5 +VTS,1,1,600,1.34,CSH,9.0 +VTS,1,1,720,2.73,CRD,11.5 +VTS,1,1,480,0.94,CRD,7.0 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,1080,2.3,CSH,13.0 +VTS,1,1,180,1.2,CRD,5.5 +VTS,1,2,720,4.84,CRD,16.0 +VTS,1,1,300,0.93,CRD,6.0 +VTS,1,1,540,1.15,CRD,7.5 +VTS,1,1,780,2.53,CSH,10.0 +VTS,1,1,420,1.25,CRD,7.0 +VTS,1,3,420,2.57,CSH,9.5 +VTS,1,3,420,1.53,CRD,7.5 +VTS,1,2,300,1.01,CRD,6.0 +VTS,1,1,540,2.65,CRD,10.0 +VTS,1,1,420,2.89,CSH,10.0 +VTS,1,2,360,1.07,CSH,6.0 +VTS,1,3,480,1.72,CRD,8.5 +VTS,1,1,240,1.33,CRD,6.0 +VTS,1,1,540,2.61,CSH,10.0 +VTS,1,2,1500,11.42,CSH,33.5 +VTS,1,1,480,1.66,CRD,8.0 +VTS,1,1,360,0.98,CRD,6.0 +VTS,1,1,600,0.9,CSH,7.5 +VTS,1,1,1140,2.41,CRD,13.5 +VTS,1,2,900,3.51,CSH,13.0 +VTS,1,1,420,1.21,CRD,7.0 +VTS,1,1,300,1.31,CSH,6.5 +VTS,1,1,1140,3.11,CSH,15.0 +VTS,1,1,300,0.85,CRD,5.5 +VTS,1,1,720,5.82,CSH,18.5 +VTS,1,1,1020,7.58,CRD,23.0 +VTS,1,1,420,1.35,CSH,7.0 +VTS,1,1,420,2.5,CSH,9.5 +VTS,1,1,360,1.4,CSH,6.5 +VTS,1,1,240,0.8,CRD,5.0 +VTS,1,1,240,0.96,CRD,5.0 +VTS,1,1,1920,4.9,CRD,22.5 +VTS,1,1,720,0.95,CRD,9.0 +VTS,1,2,900,6.59,CRD,20.0 +VTS,1,6,300,0.49,CSH,5.0 +VTS,1,6,1140,3.08,CSH,14.0 +VTS,1,6,540,3.21,CRD,11.5 +VTS,1,6,540,1.35,CSH,8.0 +VTS,1,6,480,0.91,CSH,6.5 +VTS,1,6,600,1.22,CSH,8.0 +VTS,1,5,1140,2.87,CRD,14.5 +VTS,5,1,0,0.0,CRD,13.5 +VTS,1,4,780,4.35,CSH,16.0 +VTS,1,1,1020,5.65,CSH,19.0 +VTS,1,3,300,0.88,CSH,5.5 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,2,840,3.46,CSH,13.0 +VTS,1,2,600,2.39,CRD,10.0 +VTS,1,1,780,2.24,CSH,11.0 +VTS,1,2,660,4.21,CRD,14.5 +VTS,1,3,1620,11.65,CSH,35.5 +VTS,1,1,1140,8.1,CRD,25.5 +VTS,1,1,180,1.13,CRD,5.5 +VTS,1,1,420,1.71,CSH,7.5 +VTS,1,3,600,2.33,CSH,9.5 +VTS,1,2,960,4.71,CSH,17.0 +VTS,1,1,900,2.89,CRD,12.0 +VTS,1,1,360,1.79,CSH,7.0 +VTS,1,1,540,2.32,CRD,9.5 +VTS,1,1,780,3.9,CRD,13.5 +VTS,1,2,420,0.49,CSH,6.0 +VTS,1,2,480,1.91,CSH,8.0 +VTS,1,1,240,0.76,CSH,5.0 +VTS,1,2,780,4.76,CRD,15.5 +VTS,1,1,600,3.41,CSH,11.5 +VTS,1,2,1080,2.12,CRD,12.0 +VTS,1,2,360,0.75,CSH,5.5 +VTS,1,1,360,1.97,CSH,7.5 +VTS,1,1,600,2.66,CSH,10.5 +VTS,1,1,300,0.93,CSH,5.0 +VTS,1,1,600,1.99,CRD,9.5 +VTS,1,1,780,2.87,CRD,11.5 +VTS,1,2,420,1.61,CSH,7.0 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,420,1.61,CSH,8.0 +VTS,1,2,900,3.93,CSH,15.5 +VTS,1,2,300,0.96,CSH,5.5 +VTS,1,2,420,1.2,CRD,7.0 +VTS,1,2,120,0.81,CSH,4.5 +VTS,1,2,360,0.93,CRD,6.0 +VTS,1,1,240,0.57,CRD,4.5 +VTS,1,1,1200,1.58,CRD,13.0 +VTS,1,1,120,0.71,CSH,4.0 +VTS,1,1,600,2.14,CSH,9.5 +VTS,1,1,1020,6.38,CRD,20.5 +VTS,1,1,1440,12.54,CRD,36.5 +VTS,1,6,780,1.25,CRD,9.5 +VTS,1,6,420,1.44,CRD,7.0 +VTS,1,6,1200,4.46,CRD,18.0 +VTS,1,6,300,1.23,CRD,6.5 +VTS,1,5,540,1.46,CRD,8.0 +VTS,1,5,1380,9.19,CRD,28.0 +VTS,1,6,660,2.29,CRD,10.0 +VTS,1,6,300,1.17,CSH,5.5 +VTS,1,6,360,0.79,CRD,6.0 +VTS,1,6,360,1.73,CSH,7.5 +VTS,1,5,600,2.65,CRD,10.5 +VTS,1,6,480,1.63,CSH,7.5 +VTS,2,6,2160,16.32,CRD,52.0 +VTS,1,6,1740,9.32,CRD,30.5 +VTS,1,6,1140,12.47,CRD,34.0 +VTS,1,6,540,2.01,CRD,9.0 +VTS,1,6,1740,2.66,CSH,17.5 +VTS,1,6,660,2.23,CRD,10.0 +VTS,1,5,1200,4.63,CRD,17.0 +VTS,1,6,240,1.08,CSH,5.5 +VTS,1,6,660,1.55,CRD,9.0 +VTS,1,6,960,1.88,CSH,11.0 +VTS,1,6,360,0.69,CRD,6.0 +VTS,1,6,420,1.41,CSH,7.5 +VTS,1,6,540,3.94,CSH,13.5 +VTS,1,5,1080,2.46,CSH,13.5 +VTS,1,1,600,1.76,CSH,9.0 +VTS,1,1,660,2.3,CRD,10.0 +VTS,1,1,900,4.37,CSH,15.5 +VTS,1,1,1620,9.47,CRD,31.0 +VTS,1,2,2400,10.52,CRD,37.5 +VTS,1,2,480,1.76,CSH,8.0 +VTS,1,2,660,1.85,CSH,9.5 +VTS,1,1,360,1.88,CSH,7.5 +VTS,1,1,360,0.74,CRD,6.0 +VTS,1,1,1020,4.69,CRD,17.0 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,240,0.32,CSH,4.0 +VTS,1,1,420,0.91,CSH,6.5 +VTS,1,1,540,3.35,CSH,11.5 +VTS,1,1,360,2.71,CSH,9.0 +VTS,1,1,1200,6.13,CSH,22.0 +VTS,1,1,720,1.47,CRD,9.0 +VTS,1,1,1140,6.8,CRD,22.0 +VTS,1,1,300,2.03,CRD,7.5 +VTS,1,2,420,1.61,CSH,7.5 +VTS,1,1,1080,2.26,CRD,13.0 +VTS,1,2,1020,1.59,CSH,12.0 +VTS,1,1,600,1.33,CRD,8.0 +VTS,1,1,720,0.93,CRD,8.5 +VTS,1,1,1080,7.04,CRD,22.0 +VTS,1,1,540,0.88,CSH,7.5 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,1,840,2.8,CRD,12.5 +VTS,1,1,540,2.02,CRD,8.5 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,540,2.56,CRD,9.5 +VTS,1,2,420,1.01,CSH,6.0 +VTS,1,2,300,0.6,CRD,5.0 +VTS,1,1,960,3.44,CRD,15.0 +VTS,1,1,600,3.69,CSH,12.5 +VTS,1,2,1560,5.03,CSH,22.0 +VTS,1,2,480,0.67,CSH,6.5 +VTS,1,1,660,1.95,CSH,9.5 +VTS,1,2,540,1.52,CRD,8.0 +VTS,1,1,420,1.1,CRD,7.0 +VTS,1,2,360,1.12,CRD,6.0 +VTS,1,1,60,0.47,CSH,3.5 +VTS,1,1,480,1.07,CRD,7.0 +VTS,1,2,900,2.81,CSH,13.5 +VTS,1,2,360,1.24,CSH,6.5 +VTS,1,1,720,2.43,CRD,10.5 +VTS,1,1,480,1.02,CSH,6.5 +VTS,1,1,720,2.32,CRD,10.5 +VTS,1,1,420,0.75,CRD,6.5 +VTS,1,1,120,0.6,CRD,4.5 +VTS,1,1,240,0.84,CSH,5.5 +VTS,1,1,960,3.0,CSH,13.0 +VTS,1,1,480,1.36,CRD,8.0 +VTS,1,1,840,4.67,CRD,15.5 +VTS,1,1,480,1.62,CSH,7.5 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,3,480,1.47,CSH,7.5 +VTS,1,1,360,1.54,CSH,7.0 +VTS,1,1,480,0.54,CSH,6.5 +VTS,1,1,1020,6.81,CSH,21.5 +VTS,1,1,300,0.95,CSH,6.0 +VTS,1,1,900,1.92,CSH,11.5 +VTS,1,1,600,1.27,CRD,8.5 +VTS,1,2,240,1.68,CSH,7.0 +VTS,1,1,840,7.89,CRD,23.0 +VTS,1,1,960,9.06,CRD,25.5 +VTS,1,1,660,3.62,CRD,12.5 +VTS,1,1,1020,1.81,CSH,11.5 +VTS,1,1,720,1.76,CRD,9.5 +VTS,1,1,1260,6.39,CRD,22.0 +VTS,1,1,540,1.55,CSH,8.5 +VTS,1,1,480,1.56,CRD,8.0 +VTS,1,2,240,1.05,CSH,5.5 +VTS,1,2,720,2.16,CSH,10.0 +VTS,1,1,360,0.8,CSH,6.0 +VTS,1,1,660,0.7,CRD,8.0 +VTS,1,1,480,1.76,CRD,8.5 +VTS,1,1,900,2.17,CSH,11.5 +VTS,1,1,840,2.63,CSH,11.5 +VTS,1,2,660,1.79,CSH,9.0 +VTS,1,2,660,1.91,CRD,9.0 +VTS,1,1,600,0.77,CSH,7.5 +VTS,1,2,240,0.97,CSH,5.5 +VTS,1,1,600,1.97,CSH,9.5 +VTS,1,1,540,1.86,CRD,8.5 +VTS,1,1,480,1.64,CSH,7.5 +VTS,1,1,1740,5.56,CRD,22.5 +VTS,1,1,540,3.69,CRD,13.0 +VTS,1,2,720,1.48,CSH,9.5 +VTS,1,1,1500,4.8,CRD,20.0 +VTS,1,1,780,1.97,CSH,10.5 +VTS,1,2,1080,2.9,CSH,14.0 +VTS,1,2,420,2.16,CRD,9.0 +VTS,1,1,840,5.12,CSH,18.0 +VTS,1,1,840,1.41,CRD,10.0 +VTS,1,1,300,1.44,CRD,7.0 +VTS,1,1,840,2.02,CSH,10.5 +VTS,1,3,240,0.6,CSH,4.5 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,660,2.23,CRD,10.0 +VTS,1,1,780,2.05,CRD,10.5 +VTS,1,1,480,2.43,CRD,9.0 +VTS,1,1,900,2.99,CRD,13.5 +VTS,1,1,660,3.08,CSH,11.5 +VTS,1,1,360,2.09,CRD,8.0 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,360,0.87,CRD,6.0 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,2,240,1.62,CSH,6.5 +VTS,1,1,480,2.17,CSH,9.0 +VTS,1,1,660,2.05,CRD,10.0 +VTS,1,1,420,0.89,CSH,7.0 +VTS,2,1,3240,20.28,CSH,52.0 +VTS,1,1,600,1.16,CSH,8.0 +VTS,1,1,840,3.63,CRD,14.0 +VTS,1,1,360,1.06,CRD,6.5 +VTS,1,1,720,2.41,CSH,10.5 +VTS,1,2,420,1.15,CRD,6.5 +VTS,1,1,540,2.19,CRD,9.0 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,2,540,1.01,CRD,7.5 +VTS,1,2,1320,3.67,CRD,18.5 +VTS,1,2,540,1.99,CSH,8.5 +VTS,1,1,300,0.96,CRD,6.0 +VTS,1,1,720,2.36,CRD,11.0 +VTS,1,1,960,1.64,CRD,11.5 +VTS,1,3,540,2.12,CSH,9.0 +VTS,1,3,900,3.75,CRD,14.0 +VTS,1,2,660,1.48,CRD,9.0 +VTS,1,1,720,1.24,CRD,9.0 +VTS,1,1,1620,4.73,CSH,21.5 +VTS,1,1,420,1.26,CRD,6.5 +VTS,1,1,360,0.65,CRD,5.5 +VTS,1,1,540,1.42,CSH,8.0 +VTS,1,1,900,2.46,CSH,12.0 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,2,1260,5.31,CRD,18.5 +VTS,1,1,180,0.91,CRD,5.0 +VTS,1,1,600,2.37,CSH,10.5 +VTS,1,1,420,1.31,CRD,7.0 +VTS,1,1,360,1.99,CRD,8.0 +VTS,1,1,1920,5.59,CSH,25.0 +VTS,1,1,660,6.49,CSH,20.0 +VTS,1,1,180,1.03,CSH,5.0 +VTS,1,1,1080,5.76,CRD,21.0 +VTS,2,1,2400,18.85,CRD,52.0 +VTS,1,1,300,0.46,CSH,5.5 +VTS,1,1,540,1.37,CRD,8.0 +VTS,1,1,840,1.72,CRD,11.0 +VTS,1,1,480,1.23,CSH,7.5 +VTS,1,1,660,1.8,CRD,9.5 +VTS,1,1,1020,5.04,CSH,18.5 +VTS,1,3,240,0.65,CSH,5.0 +VTS,1,1,360,1.42,CRD,6.5 +VTS,1,1,480,1.09,CRD,7.0 +VTS,1,1,1140,3.12,CRD,14.0 +VTS,1,1,540,1.62,CSH,8.5 +VTS,1,2,540,2.2,CRD,9.0 +VTS,1,1,480,1.36,CSH,7.5 +VTS,1,2,840,2.98,CSH,12.5 +VTS,1,2,240,0.96,CRD,5.0 +VTS,2,3,1980,17.4,CSH,52.0 +VTS,1,1,780,3.83,CRD,14.0 +VTS,1,3,240,0.73,CSH,5.0 +VTS,1,1,1320,10.35,CRD,30.5 +VTS,1,1,300,1.21,CRD,6.0 +VTS,1,1,120,0.91,CSH,4.5 +VTS,1,1,240,0.68,CSH,5.0 +VTS,1,1,600,1.66,CRD,8.5 +VTS,1,1,1740,5.42,CSH,17.0 +VTS,1,1,600,2.6,CSH,11.0 +VTS,1,1,180,0.54,CRD,4.5 +VTS,1,1,960,0.98,CRD,11.0 +VTS,1,1,900,1.39,CSH,10.5 +VTS,1,2,720,2.26,CSH,10.5 +VTS,1,1,1620,12.96,CSH,37.5 +VTS,1,1,540,2.67,CSH,10.5 +VTS,1,1,900,3.28,CSH,13.5 +VTS,1,1,600,2.36,CRD,10.0 +VTS,1,1,120,0.51,CSH,4.0 +VTS,1,1,600,1.84,CRD,9.0 +VTS,1,1,900,2.12,CSH,11.5 +VTS,1,1,1140,2.81,CSH,13.5 +VTS,1,1,240,0.83,CRD,5.0 +VTS,1,1,900,1.51,CRD,11.0 +VTS,1,1,180,0.5,CSH,4.0 +VTS,1,1,780,2.71,CSH,11.5 +VTS,1,1,600,1.4,CSH,9.0 +VTS,1,1,240,0.66,CSH,4.5 +VTS,1,1,300,0.52,CRD,5.0 +VTS,1,3,600,2.15,CRD,10.0 +VTS,1,1,540,0.84,CRD,7.0 +VTS,1,3,420,1.45,CSH,7.0 +VTS,1,1,1020,3.59,CSH,15.0 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,2,1620,5.23,CSH,21.5 +VTS,1,1,420,0.93,CRD,6.0 +VTS,1,1,840,2.26,CSH,11.0 +VTS,1,1,660,1.52,CRD,9.0 +VTS,1,1,360,1.87,CSH,7.5 +VTS,1,1,180,0.51,CRD,4.0 +VTS,1,1,960,1.68,CRD,11.0 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,3,1440,3.15,CSH,17.5 +VTS,1,2,780,1.16,CSH,9.0 +VTS,1,1,360,1.09,CRD,6.0 +VTS,1,1,540,0.81,CRD,7.0 +VTS,1,1,360,0.63,CSH,5.5 +VTS,1,2,180,0.46,CSH,4.0 +VTS,1,2,660,3.36,CSH,12.0 +VTS,1,1,360,1.02,CSH,6.5 +VTS,1,2,960,1.59,CRD,11.0 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,420,1.16,CRD,6.5 +VTS,1,1,480,1.03,CRD,7.5 +VTS,1,1,420,1.48,CSH,7.5 +VTS,1,1,1020,2.44,CRD,13.0 +VTS,1,1,300,0.82,CSH,6.0 +VTS,1,2,480,1.66,CRD,8.0 +VTS,1,1,660,1.17,CSH,8.0 +VTS,1,1,1260,3.02,CRD,15.5 +VTS,1,1,1140,6.91,CSH,22.0 +VTS,1,1,420,0.92,CSH,6.5 +VTS,1,1,480,0.86,CSH,6.5 +VTS,1,1,840,2.09,CRD,11.0 +VTS,1,1,780,1.84,CSH,10.0 +VTS,1,1,300,1.01,CSH,5.5 +VTS,1,2,600,2.56,CRD,11.0 +VTS,1,1,240,0.95,CRD,5.0 +VTS,1,1,540,1.71,CRD,8.5 +VTS,1,1,360,1.09,CRD,6.0 +VTS,1,2,480,1.42,CSH,7.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,2,720,1.65,CRD,9.5 +VTS,1,1,660,1.64,CSH,9.0 +VTS,1,1,180,0.86,CSH,4.5 +VTS,1,1,960,3.21,CRD,13.5 +VTS,1,1,960,2.21,CSH,11.5 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,180,0.59,CSH,4.5 +VTS,1,1,1140,5.66,CSH,20.0 +VTS,1,1,300,1.68,CRD,7.0 +VTS,1,1,1080,1.66,CRD,12.5 +VTS,1,1,1500,3.31,CRD,17.0 +VTS,1,1,300,0.86,CRD,5.0 +VTS,1,1,600,1.38,CRD,8.0 +VTS,1,1,300,2.47,CSH,9.0 +VTS,1,2,180,0.98,CRD,5.0 +VTS,1,2,240,0.81,CRD,5.0 +VTS,1,1,180,0.95,CRD,5.0 +VTS,1,2,1200,3.58,CSH,15.5 +VTS,1,2,180,0.89,CRD,5.0 +VTS,1,2,660,2.81,CRD,11.0 +VTS,1,1,600,3.78,CSH,13.0 +VTS,1,1,420,0.89,CSH,6.5 +VTS,1,1,240,0.56,CRD,5.0 +VTS,1,1,420,1.73,CRD,8.0 +VTS,1,1,660,1.99,CRD,9.5 +VTS,1,1,960,2.35,CRD,12.0 +VTS,1,1,240,0.78,CSH,4.5 +VTS,1,1,300,0.84,CSH,5.0 +VTS,1,1,540,1.2,CSH,8.0 +VTS,1,2,780,1.5,CRD,9.5 +VTS,1,3,420,0.84,CSH,6.5 +VTS,1,1,240,1.37,CRD,6.5 +VTS,1,1,240,0.79,CRD,4.5 +VTS,1,1,300,1.1,CSH,5.5 +VTS,1,1,360,0.84,CSH,6.0 +VTS,1,1,480,1.14,CSH,7.0 +VTS,1,1,720,2.74,CRD,11.5 +VTS,1,3,1260,3.65,CSH,16.0 +VTS,1,1,840,2.43,CSH,11.5 +VTS,1,1,600,1.8,CRD,9.0 +VTS,1,2,600,1.18,CRD,8.0 +VTS,1,2,480,1.18,CSH,7.5 +VTS,1,1,360,0.92,CRD,5.5 +VTS,1,3,1020,3.61,CRD,15.0 +VTS,1,1,960,6.16,CRD,19.5 +VTS,1,1,300,1.73,CRD,7.0 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,1,1680,5.41,CRD,22.5 +VTS,1,1,540,0.98,CSH,7.0 +VTS,1,2,1200,3.08,CSH,15.0 +VTS,1,1,600,1.01,CSH,8.0 +VTS,1,2,720,2.09,CRD,10.0 +VTS,1,1,420,1.15,CSH,6.5 +VTS,1,1,660,1.37,CSH,8.5 +VTS,1,1,960,3.56,CSH,14.0 +VTS,1,1,300,1.1,CRD,5.5 +VTS,1,1,780,1.84,CRD,9.5 +VTS,1,1,1200,3.23,CRD,15.0 +VTS,1,1,840,2.15,CSH,10.5 +VTS,1,1,300,1.02,CSH,5.5 +VTS,1,1,300,2.28,CRD,8.5 +VTS,1,1,600,1.07,CRD,8.0 +VTS,1,1,360,0.63,CSH,5.5 +VTS,1,1,120,0.42,CRD,3.5 +VTS,1,2,2340,14.74,CRD,43.0 +VTS,1,1,1260,2.68,CRD,14.0 +VTS,1,1,1320,3.36,CSH,16.5 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,720,0.64,CRD,8.0 +VTS,1,1,1140,3.74,CSH,16.0 +VTS,1,2,900,1.87,CRD,11.0 +VTS,1,1,600,1.17,CRD,8.0 +VTS,1,1,1440,5.64,CRD,21.0 +VTS,1,2,960,3.05,CRD,14.0 +VTS,1,1,720,2.26,CSH,10.0 +VTS,1,2,60,0.45,CSH,3.5 +VTS,1,1,120,0.39,CRD,3.5 +VTS,1,2,660,2.73,CSH,11.0 +VTS,1,1,240,0.77,CRD,5.0 +VTS,1,2,240,0.54,CSH,4.5 +VTS,1,1,420,0.91,CSH,6.5 +VTS,1,1,600,2.14,CRD,9.5 +VTS,1,1,480,0.99,CRD,6.5 +VTS,1,1,840,2.92,CSH,12.5 +VTS,1,1,720,1.51,CRD,9.0 +VTS,1,1,300,0.78,CSH,5.0 +VTS,1,1,300,1.24,CSH,6.5 +VTS,1,1,420,1.79,CSH,8.5 +VTS,1,1,600,1.33,CSH,8.0 +VTS,1,1,960,2.85,CRD,12.5 +VTS,1,1,660,2.13,CSH,11.0 +VTS,1,2,1320,6.2,CSH,21.0 +VTS,1,1,1140,3.13,CRD,14.0 +VTS,1,1,600,2.24,CRD,9.5 +VTS,1,2,240,1.02,CRD,5.5 +VTS,1,1,600,1.8,CSH,9.0 +VTS,1,3,1260,9.13,CSH,28.5 +VTS,1,3,180,0.63,CRD,4.5 +VTS,1,2,360,1.32,CRD,6.5 +VTS,1,1,120,0.5,CSH,4.0 +VTS,1,1,600,1.91,CSH,9.5 +VTS,1,1,660,1.47,CSH,9.0 +VTS,1,1,1200,3.69,CRD,15.5 +VTS,1,2,300,0.49,CRD,5.5 +VTS,1,1,1320,3.58,CRD,16.0 +VTS,1,1,180,0.44,CSH,4.0 +VTS,1,1,1380,2.43,CRD,16.0 +VTS,1,2,780,2.45,CSH,11.5 +VTS,1,2,480,0.72,CSH,6.5 +VTS,1,1,480,2.58,CRD,10.0 +VTS,1,1,360,0.6,CRD,5.5 +VTS,1,1,960,1.11,CRD,10.5 +VTS,1,1,480,1.11,CSH,7.5 +VTS,1,1,420,1.3,CSH,7.0 +VTS,1,1,360,0.75,CRD,5.5 +VTS,1,1,180,1.06,CSH,5.0 +VTS,1,1,960,3.66,CRD,15.0 +VTS,1,2,420,0.9,CRD,6.5 +VTS,1,1,1020,2.3,CRD,12.5 +VTS,1,1,600,1.21,CRD,8.0 +VTS,1,1,660,1.95,CSH,9.5 +VTS,1,1,300,0.86,CRD,5.0 +VTS,1,1,240,0.77,CSH,4.5 +VTS,1,3,540,0.62,CSH,6.5 +VTS,1,1,780,2.76,CSH,11.0 +VTS,1,1,300,1.87,CSH,7.0 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,300,1.3,CRD,6.0 +VTS,1,1,900,2.17,CRD,12.5 +VTS,1,2,540,1.38,CRD,8.0 +VTS,3,1,1800,17.37,CRD,64.0 +VTS,1,2,1980,4.22,CRD,22.0 +VTS,1,1,840,1.88,CSH,10.5 +VTS,1,1,480,1.07,CSH,7.0 +VTS,1,2,360,3.12,CSH,10.5 +VTS,1,1,660,2.61,CRD,10.5 +VTS,1,2,240,1.27,CSH,6.0 +VTS,1,1,600,0.95,CSH,7.5 +VTS,1,1,540,2.61,CRD,10.5 +VTS,1,2,300,0.85,CSH,5.5 +VTS,1,1,60,0.41,CSH,3.5 +VTS,1,1,1020,6.45,CSH,21.0 +VTS,1,1,900,3.0,CRD,12.5 +VTS,1,1,840,3.07,CSH,13.0 +VTS,1,1,600,1.98,CSH,9.5 +VTS,1,2,900,3.06,CSH,13.0 +VTS,1,2,1080,4.32,CRD,16.5 +VTS,1,2,480,2.58,CSH,9.5 +VTS,1,2,480,1.17,CSH,7.5 +VTS,1,1,1140,9.5,CSH,27.5 +VTS,1,1,540,2.32,CSH,9.5 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,240,0.71,CSH,5.0 +VTS,1,1,1680,3.75,CSH,19.5 +VTS,1,1,720,1.2,CSH,9.0 +VTS,1,1,960,2.62,CRD,12.5 +VTS,1,1,180,0.59,CRD,4.5 +VTS,1,1,420,1.21,CSH,7.0 +VTS,1,1,600,0.7,CRD,8.0 +VTS,1,1,840,2.41,CRD,11.0 +VTS,1,5,1800,13.29,CRD,38.5 +VTS,1,6,660,4.29,CRD,14.0 +VTS,1,6,300,1.24,CSH,6.0 +VTS,1,6,660,1.16,CSH,8.5 +VTS,1,6,600,1.47,CRD,8.5 +VTS,1,6,780,2.25,CSH,11.0 +VTS,1,6,480,0.76,CRD,6.5 +VTS,1,6,600,1.76,CSH,9.0 +VTS,1,5,1320,1.85,CSH,14.0 +VTS,1,6,420,0.86,CRD,6.5 +VTS,1,6,660,0.96,CSH,8.0 +VTS,1,5,660,1.47,CSH,9.5 +VTS,1,6,480,1.18,CSH,7.0 +VTS,1,6,1140,1.63,CSH,12.5 +VTS,1,6,300,1.11,CSH,6.0 +VTS,1,6,60,0.04,CSH,2.5 +VTS,1,6,480,2.04,CRD,8.5 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,600,1.27,CSH,9.0 +VTS,1,1,420,0.86,CRD,6.5 +VTS,1,3,840,3.09,CRD,12.5 +VTS,1,1,1080,4.19,CSH,16.5 +VTS,1,2,420,1.56,CSH,7.0 +VTS,1,2,540,2.68,CRD,10.0 +VTS,1,2,1080,4.64,CRD,17.0 +VTS,1,2,300,1.49,CSH,7.0 +VTS,1,1,1020,1.51,CSH,11.5 +VTS,1,2,540,0.94,CSH,7.5 +VTS,1,1,840,2.49,CRD,11.5 +VTS,1,1,480,1.24,CSH,7.0 +VTS,1,1,300,0.99,CRD,6.0 +VTS,1,2,540,1.03,CRD,7.5 +VTS,1,3,420,2.26,CSH,9.0 +VTS,1,1,540,1.73,CRD,8.5 +VTS,1,1,180,0.83,CRD,4.5 +VTS,1,1,1380,3.3,CRD,16.5 +VTS,1,1,600,2.39,CRD,10.0 +VTS,1,1,480,2.87,CSH,10.5 +VTS,1,1,720,5.09,CRD,16.0 +VTS,1,2,600,2.43,CRD,10.0 +VTS,1,2,1440,3.82,CRD,18.5 +VTS,1,1,300,0.47,CRD,5.0 +VTS,1,2,300,0.89,CSH,5.5 +VTS,1,1,720,2.11,CRD,10.5 +VTS,1,1,660,1.08,CRD,8.0 +VTS,1,1,540,1.18,CSH,7.5 +VTS,1,1,1740,4.56,CRD,20.0 +VTS,1,1,540,1.43,CSH,8.0 +VTS,1,1,900,3.72,CSH,14.0 +VTS,1,1,180,1.48,CRD,6.0 +VTS,1,1,240,0.49,CRD,5.0 +VTS,1,1,180,0.76,CRD,5.0 +VTS,1,2,540,1.72,CRD,8.0 +VTS,1,1,600,2.11,CSH,9.5 +VTS,1,2,360,1.14,CSH,6.5 +VTS,1,2,360,1.55,CSH,7.0 +VTS,1,1,1620,6.4,CSH,23.0 +VTS,1,1,720,0.71,CRD,9.0 +VTS,1,1,1320,0.55,CRD,13.5 +VTS,1,1,660,3.24,CSH,12.0 +VTS,1,1,1380,4.47,CRD,18.5 +VTS,1,1,480,0.65,CSH,6.0 +VTS,1,1,1440,7.05,CSH,25.0 +VTS,1,1,660,1.0,CRD,8.0 +VTS,1,1,1080,3.2,CRD,14.5 +VTS,1,2,660,1.36,CSH,9.0 +VTS,1,3,780,2.35,CSH,11.0 +VTS,1,1,720,3.15,CSH,12.0 +VTS,1,1,360,1.66,CSH,7.0 +VTS,1,1,360,1.74,CRD,7.5 +VTS,1,1,240,0.91,CSH,5.5 +VTS,1,1,480,1.57,CRD,8.0 +VTS,1,1,360,1.46,CRD,7.0 +VTS,1,1,600,1.76,CSH,9.0 +VTS,1,1,540,2.09,CRD,9.0 +VTS,1,2,900,1.66,CSH,10.5 +VTS,1,1,360,0.93,CRD,6.0 +VTS,1,1,1920,9.56,CRD,33.0 +VTS,1,1,360,0.55,CRD,5.5 +VTS,1,1,480,1.71,CSH,8.0 +VTS,1,1,480,1.01,CRD,7.0 +VTS,1,2,480,1.23,CRD,7.0 +VTS,1,1,420,0.84,CRD,6.5 +VTS,1,1,120,0.56,CSH,4.0 +VTS,1,3,1140,2.29,CSH,13.0 +VTS,1,2,540,2.63,CSH,9.5 +VTS,1,1,900,1.19,CRD,10.0 +VTS,1,1,780,1.97,CSH,9.0 +VTS,1,2,720,2.23,CSH,10.5 +VTS,1,1,540,2.31,CSH,9.5 +VTS,1,1,480,1.61,CRD,8.0 +VTS,1,1,300,1.2,CRD,6.0 +VTS,1,1,1140,2.75,CRD,13.5 +VTS,1,2,1020,1.15,CRD,11.0 +VTS,1,1,480,2.6,CRD,9.5 +VTS,1,1,540,1.76,CSH,8.5 +VTS,1,1,360,0.67,CRD,5.5 +VTS,1,1,1140,2.7,CRD,14.0 +VTS,1,1,660,1.32,CSH,9.0 +VTS,1,2,60,0.07,CSH,3.0 +VTS,1,2,900,4.17,CRD,16.0 +VTS,1,2,1260,5.93,CSH,20.5 +VTS,1,2,1140,9.11,CRD,26.5 +VTS,1,2,480,1.72,CSH,8.0 +VTS,1,1,600,1.54,CSH,9.0 +VTS,1,1,480,1.47,CSH,7.5 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,300,0.72,CRD,5.0 +VTS,1,1,420,0.75,CSH,6.0 +VTS,1,2,420,1.29,CSH,6.5 +VTS,1,1,180,0.58,CRD,4.5 +VTS,1,1,300,1.03,CSH,6.0 +VTS,1,1,180,0.81,CSH,5.0 +VTS,1,1,1080,2.6,CRD,13.5 +VTS,1,2,1620,7.87,CRD,27.0 +VTS,1,1,720,2.93,CRD,11.5 +VTS,1,1,1080,3.55,CRD,15.0 +VTS,1,1,1020,3.38,CSH,14.0 +VTS,1,2,780,2.32,CRD,11.5 +VTS,1,1,360,1.03,CRD,6.5 +VTS,1,1,900,3.75,CRD,14.5 +VTS,1,1,780,2.06,CSH,10.5 +VTS,1,1,300,0.66,CSH,5.0 +VTS,1,1,780,3.21,CSH,12.5 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,1,1320,3.1,CSH,15.5 +VTS,1,1,480,0.93,CRD,7.0 +VTS,1,1,780,3.47,CRD,14.0 +VTS,1,1,540,1.93,CRD,8.5 +VTS,1,1,720,1.01,CSH,8.5 +VTS,1,1,960,1.38,CSH,11.0 +VTS,1,1,1080,4.53,CRD,17.5 +VTS,1,2,300,1.18,CSH,6.0 +VTS,1,1,180,1.06,CRD,5.0 +VTS,1,1,1860,5.89,CRD,24.5 +VTS,1,1,2040,11.91,CSH,37.5 +VTS,1,1,780,2.5,CSH,10.5 +VTS,1,1,480,1.37,CRD,7.0 +VTS,1,1,1140,3.69,CRD,16.5 +VTS,1,1,720,1.69,CSH,10.0 +VTS,1,1,1800,4.48,CRD,21.5 +VTS,1,1,480,1.16,CSH,6.5 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,1200,2.19,CSH,13.5 +VTS,1,2,780,2.82,CRD,12.5 +VTS,1,1,360,1.03,CSH,6.0 +VTS,1,1,1140,5.48,CRD,20.5 +VTS,1,2,960,2.1,CSH,11.5 +VTS,1,1,900,3.14,CRD,13.0 +VTS,1,1,720,2.39,CRD,10.5 +VTS,1,1,360,0.73,CRD,5.5 +VTS,1,1,960,5.44,CRD,18.0 +VTS,1,1,1140,1.06,CSH,12.0 +VTS,1,2,120,0.49,CSH,4.0 +VTS,1,2,660,1.56,CRD,9.0 +VTS,1,1,360,1.09,CRD,6.5 +VTS,1,1,180,1.1,CSH,5.5 +VTS,1,1,780,2.64,CSH,11.5 +VTS,1,1,780,2.37,CSH,11.0 +VTS,1,2,840,1.96,CSH,10.5 +VTS,1,1,1560,3.22,CRD,18.0 +VTS,1,2,660,1.84,CRD,9.5 +VTS,1,1,1980,4.75,CSH,23.5 +VTS,1,1,1620,6.13,CRD,23.5 +VTS,1,1,360,1.53,CRD,6.5 +VTS,1,3,600,1.54,CSH,8.5 +VTS,1,2,300,1.19,CRD,6.0 +VTS,1,1,1560,10.73,CRD,32.0 +VTS,1,2,1020,1.16,CSH,11.0 +VTS,1,1,360,0.67,CSH,5.5 +VTS,1,1,960,3.39,CRD,14.0 +VTS,1,1,600,0.98,CRD,7.5 +VTS,1,1,60,0.36,CRD,3.5 +VTS,1,2,1260,3.42,CRD,16.0 +VTS,1,1,1140,3.28,CRD,15.0 +VTS,1,2,780,3.94,CRD,14.5 +VTS,1,2,600,1.79,CSH,9.0 +VTS,1,1,180,0.31,CSH,4.0 +VTS,1,1,240,0.83,CSH,5.0 +VTS,1,1,1680,6.56,CSH,24.5 +VTS,1,1,360,0.49,CRD,5.5 +VTS,1,1,1620,3.32,CRD,18.0 +VTS,1,2,660,4.17,CSH,13.5 +VTS,1,1,1440,11.28,CSH,34.0 +VTS,1,1,840,7.86,CRD,23.0 +VTS,1,1,1200,3.61,CSH,15.5 +VTS,1,1,600,0.91,CRD,7.5 +VTS,1,1,480,1.35,CSH,7.5 +VTS,1,1,480,2.19,CRD,9.0 +VTS,1,1,1860,3.97,CRD,20.5 +VTS,1,3,180,0.52,CSH,4.0 +VTS,1,2,900,1.42,CSH,10.5 +VTS,1,1,1020,1.47,CRD,11.0 +VTS,1,3,600,0.68,CRD,7.0 +VTS,1,1,1380,3.62,CSH,16.5 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,540,1.36,CSH,8.0 +VTS,1,1,420,1.14,CSH,6.5 +VTS,1,2,1620,2.59,CSH,17.0 +VTS,1,1,480,1.91,CSH,8.0 +VTS,1,3,360,0.9,CSH,6.0 +VTS,1,2,900,6.75,CSH,20.5 +VTS,1,3,1020,2.46,CRD,13.5 +VTS,1,3,1320,5.55,CRD,20.5 +VTS,1,2,960,3.39,CSH,14.0 +VTS,1,1,600,0.74,CRD,7.5 +VTS,1,1,300,0.6,CSH,5.0 +VTS,1,2,480,1.97,CSH,8.5 +VTS,1,1,840,2.9,CRD,12.5 +VTS,2,2,2160,19.46,CSH,52.0 +VTS,1,1,1140,1.33,CRD,12.5 +VTS,1,1,1200,1.51,CRD,13.0 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,420,1.02,CRD,7.0 +VTS,1,2,360,1.12,CRD,6.0 +VTS,1,1,1140,2.61,CRD,13.5 +VTS,1,1,300,0.65,CSH,5.0 +VTS,1,3,480,2.45,CRD,9.0 +VTS,1,1,300,1.33,CSH,6.5 +VTS,1,1,660,2.04,CRD,10.0 +VTS,1,1,360,1.01,CSH,6.0 +VTS,1,1,540,1.51,CRD,8.5 +VTS,1,1,420,1.24,CRD,6.5 +VTS,1,1,420,1.21,CRD,7.0 +VTS,1,1,480,1.31,CRD,7.5 +VTS,1,2,600,0.87,CSH,7.5 +VTS,1,1,600,1.9,CSH,9.5 +VTS,1,2,1380,6.22,CRD,22.0 +VTS,1,2,480,1.66,CRD,8.0 +VTS,1,2,360,1.08,CSH,6.5 +VTS,1,2,780,3.03,CRD,12.5 +VTS,1,2,420,1.63,CRD,7.5 +VTS,1,2,720,1.91,CRD,9.5 +VTS,1,2,1320,5.8,CRD,20.5 +VTS,1,1,840,1.18,CSH,10.0 +VTS,1,1,480,2.78,CRD,9.5 +VTS,1,1,600,1.42,CRD,8.5 +VTS,1,1,480,1.01,CRD,7.5 +VTS,1,1,1560,5.15,CSH,15.0 +VTS,1,1,300,1.1,CRD,6.0 +VTS,1,1,120,0.44,CSH,3.5 +VTS,1,3,840,1.6,CSH,10.0 +VTS,1,2,1260,4.26,CRD,17.0 +VTS,1,1,960,2.9,CRD,13.5 +VTS,1,1,840,2.54,CRD,12.5 +VTS,1,1,600,2.09,CRD,9.0 +VTS,1,2,1680,3.3,CRD,19.0 +VTS,1,1,540,1.55,CSH,8.5 +VTS,1,1,1680,8.01,CRD,27.5 +VTS,1,1,420,1.33,CRD,7.0 +VTS,1,1,360,1.13,CRD,6.0 +VTS,1,1,420,0.45,CRD,5.5 +VTS,1,2,1260,4.04,CRD,17.5 +VTS,1,1,540,1.15,CRD,7.0 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,2,600,1.47,CSH,8.5 +VTS,1,2,1320,2.48,CSH,14.5 +VTS,1,1,0,0.08,CSH,2.5 +VTS,1,1,540,2.28,CRD,9.5 +VTS,1,2,600,1.97,CSH,9.5 +VTS,1,1,1440,1.6,CRD,15.0 +VTS,1,1,540,1.03,CRD,7.5 +VTS,1,1,660,1.35,CRD,9.0 +VTS,1,1,300,0.65,CSH,5.5 +VTS,1,1,2880,6.21,CRD,32.5 +VTS,1,1,1620,7.23,CRD,25.5 +VTS,1,1,1620,5.35,CRD,22.0 +VTS,1,2,840,2.46,CRD,11.5 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,2,480,2.35,CRD,9.0 +VTS,1,1,300,1.6,CRD,6.5 +VTS,1,2,1260,3.51,CSH,15.5 +VTS,1,1,420,1.42,CRD,7.0 +VTS,1,1,1080,4.45,CRD,18.0 +VTS,1,2,600,2.09,CSH,9.5 +VTS,1,2,420,0.69,CRD,6.0 +VTS,1,1,720,4.98,CSH,15.0 +VTS,1,2,300,0.79,CRD,5.0 +VTS,2,1,2640,17.99,CSH,52.0 +VTS,2,1,1560,18.88,CRD,52.0 +VTS,1,2,480,1.85,CRD,8.0 +VTS,1,1,420,1.48,CRD,7.0 +VTS,1,3,960,3.55,CSH,14.0 +VTS,1,1,420,1.26,CRD,7.0 +VTS,1,2,600,2.4,CSH,9.5 +VTS,1,2,300,0.78,CSH,5.5 +VTS,1,1,780,1.91,CSH,10.5 +VTS,1,1,540,1.26,CRD,8.0 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,3,840,1.22,CSH,10.0 +VTS,1,2,1440,3.23,CRD,17.0 +VTS,1,1,180,0.72,CSH,5.0 +VTS,1,1,480,0.49,CRD,6.0 +VTS,1,1,1080,3.34,CRD,14.5 +VTS,1,1,480,0.56,CRD,6.5 +VTS,1,2,780,1.86,CSH,10.0 +VTS,1,1,300,0.75,CSH,5.5 +VTS,1,2,360,1.13,CSH,6.0 +VTS,1,2,900,2.32,CSH,11.5 +VTS,1,1,480,1.76,CRD,7.5 +VTS,1,2,540,1.43,CSH,7.0 +VTS,1,2,960,5.97,CSH,20.0 +VTS,1,2,1080,2.15,CRD,12.5 +VTS,1,2,540,3.03,CRD,10.5 +VTS,1,2,420,1.48,CSH,7.5 +VTS,1,1,960,3.41,CRD,13.5 +VTS,1,1,600,2.35,CRD,10.0 +VTS,1,2,180,0.69,CRD,4.5 +VTS,1,2,420,3.7,CSH,12.0 +VTS,1,1,420,2.51,CSH,9.5 +VTS,1,2,600,1.74,CSH,8.5 +VTS,1,2,480,1.1,CSH,7.5 +VTS,1,2,420,1.19,CRD,6.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,360,2.02,CSH,8.0 +VTS,1,2,420,0.94,CSH,6.0 +VTS,1,1,540,1.21,CRD,7.5 +VTS,1,2,240,0.72,CRD,5.0 +VTS,1,2,360,0.9,CRD,5.5 +VTS,1,2,720,2.24,CSH,10.0 +VTS,1,1,660,1.8,CSH,9.0 +VTS,1,2,600,2.78,CRD,11.0 +VTS,1,2,240,0.9,CSH,5.0 +VTS,1,2,1020,9.11,CSH,26.0 +VTS,1,2,720,3.21,CRD,12.0 +VTS,1,1,1500,3.85,CSH,18.0 +VTS,1,2,300,0.89,CRD,5.5 +VTS,1,2,420,0.9,CSH,6.0 +VTS,1,2,300,0.9,CRD,5.5 +VTS,1,2,420,1.05,CRD,6.5 +VTS,1,2,840,3.24,CSH,13.0 +VTS,1,1,780,2.31,CRD,11.0 +VTS,1,2,1260,3.92,CRD,16.5 +VTS,1,2,240,0.73,CSH,5.0 +VTS,1,2,420,3.24,CRD,11.0 +VTS,1,2,240,0.76,CSH,5.0 +VTS,1,2,540,1.94,CRD,8.5 +VTS,1,2,540,1.61,CSH,8.5 +VTS,1,2,480,1.19,CSH,7.0 +VTS,1,1,780,1.44,CRD,10.0 +VTS,1,2,1500,3.71,CRD,17.5 +VTS,1,2,600,0.59,CRD,7.5 +VTS,1,1,420,0.84,CSH,6.5 +VTS,1,2,1260,4.18,CRD,17.5 +VTS,1,1,780,4.99,CRD,16.0 +VTS,1,1,180,1.03,CRD,5.0 +VTS,1,1,1200,3.89,CRD,16.0 +VTS,1,2,480,1.35,CSH,7.5 +VTS,1,1,480,1.19,CSH,7.5 +VTS,1,1,1020,4.88,CSH,17.0 +VTS,1,1,360,0.67,CSH,5.5 +VTS,1,1,360,0.71,CSH,6.0 +VTS,1,1,120,0.42,CSH,4.0 +VTS,1,1,360,1.42,CRD,7.0 +VTS,1,1,1020,2.3,CSH,12.5 +VTS,1,1,900,2.44,CRD,12.5 +VTS,1,1,420,1.78,CRD,7.5 +VTS,1,2,360,0.53,CSH,5.0 +VTS,1,1,780,2.64,CSH,11.5 +VTS,1,1,480,1.25,CRD,7.0 +VTS,1,1,600,0.7,CRD,7.5 +VTS,1,2,900,4.13,CSH,15.0 +VTS,1,2,780,1.74,CRD,10.0 +VTS,1,2,780,2.47,CRD,11.0 +VTS,1,1,600,1.75,CRD,9.0 +VTS,1,2,1200,5.23,CSH,18.0 +VTS,1,2,540,0.91,CSH,7.0 +VTS,1,2,660,1.6,CRD,9.0 +VTS,1,2,1620,6.44,CSH,24.0 +VTS,1,2,480,1.37,CSH,8.0 +VTS,1,2,300,1.11,CRD,6.0 +VTS,1,2,480,1.41,CRD,7.5 +VTS,1,1,1020,5.67,CSH,18.5 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,2,960,3.41,CRD,13.5 +VTS,1,2,540,1.32,CRD,7.5 +VTS,1,2,540,1.43,CSH,7.5 +VTS,1,2,300,0.87,CSH,5.5 +VTS,1,2,480,1.94,CRD,8.0 +VTS,1,2,300,0.65,CRD,5.5 +VTS,1,1,540,1.56,CRD,8.0 +VTS,1,1,720,2.88,CRD,11.0 +VTS,1,1,1020,4.07,CRD,16.0 +VTS,1,2,660,1.48,CSH,8.5 +VTS,1,2,480,0.96,CRD,7.0 +VTS,1,2,1560,5.21,CSH,20.0 +VTS,1,2,540,2.19,CRD,9.5 +VTS,1,2,1920,3.15,CSH,13.0 +VTS,1,1,1200,4.65,CRD,17.0 +VTS,1,1,480,1.67,CRD,7.5 +VTS,1,2,1020,2.91,CSH,13.0 +VTS,1,2,360,0.74,CRD,5.5 +VTS,1,2,120,0.5,CRD,4.0 +VTS,1,2,240,1.33,CRD,6.0 +VTS,1,2,180,0.65,CSH,4.5 +VTS,1,2,1740,3.53,CRD,19.5 +VTS,1,1,1020,3.62,CRD,14.5 +VTS,1,2,420,0.94,CSH,6.5 +VTS,1,2,540,1.41,CSH,7.5 +VTS,1,2,660,2.9,CRD,11.0 +VTS,1,1,300,1.07,CSH,6.0 +VTS,1,2,300,1.23,CSH,6.0 +VTS,1,2,240,1.16,CSH,5.5 +VTS,1,1,1080,4.46,CRD,17.0 +VTS,1,1,480,1.27,CRD,7.0 +VTS,1,2,600,2.57,CSH,10.0 +VTS,1,2,900,3.57,CRD,14.0 +VTS,1,2,420,0.81,CRD,6.0 +VTS,1,2,600,2.16,CSH,9.0 +VTS,1,2,120,0.29,CSH,3.5 +VTS,1,2,360,1.01,CRD,5.5 +VTS,1,2,420,1.48,CRD,7.0 +VTS,1,2,420,1.08,CRD,7.0 +VTS,1,2,1200,1.98,CRD,13.0 +VTS,1,2,660,2.22,CRD,10.0 +VTS,1,2,600,1.48,CSH,8.0 +VTS,1,2,1320,3.58,CSH,16.5 +VTS,1,1,1080,2.53,CSH,13.0 +VTS,1,2,1080,3.12,CSH,14.5 +VTS,1,2,840,1.84,CRD,10.5 +VTS,1,2,420,0.94,CSH,6.0 +VTS,1,2,1260,3.07,CRD,15.5 +VTS,1,2,1080,3.82,CRD,16.0 +VTS,1,1,540,1.29,CRD,7.5 +VTS,1,2,300,1.22,CRD,6.0 +VTS,1,1,600,2.16,CRD,9.0 +VTS,1,1,1200,8.52,CRD,25.0 +VTS,1,2,180,0.47,CSH,4.0 +VTS,1,1,420,1.21,CRD,6.5 +VTS,1,1,1260,5.65,CRD,20.0 +VTS,1,2,780,1.73,CSH,10.0 +VTS,1,2,240,0.73,CRD,5.0 +VTS,1,2,840,2.17,CRD,11.0 +VTS,1,2,300,0.63,CRD,4.5 +VTS,1,1,120,0.4,CSH,4.0 +VTS,1,2,600,1.43,CSH,8.5 +VTS,1,2,1260,3.46,CSH,15.5 +VTS,1,1,2220,13.16,CRD,41.5 +VTS,1,2,540,1.43,CRD,8.0 +VTS,1,2,1200,3.73,CRD,15.5 +VTS,1,2,900,1.58,CSH,11.0 +VTS,1,2,1320,3.54,CRD,16.0 +VTS,1,2,120,0.55,CRD,4.0 +VTS,1,1,240,0.99,CRD,5.5 +VTS,1,2,540,1.87,CRD,8.5 +VTS,1,2,840,1.05,CSH,9.5 +VTS,1,1,300,0.64,CSH,5.5 +VTS,1,2,240,0.48,CRD,4.5 +VTS,1,1,900,7.15,CRD,22.0 +VTS,1,2,1020,2.12,CRD,13.5 +VTS,1,2,900,4.79,CRD,16.0 +VTS,1,2,240,1.1,CSH,5.5 +VTS,1,2,1680,3.21,CSH,18.5 +VTS,1,2,240,0.73,CRD,5.0 +VTS,1,2,360,1.24,CRD,6.5 +VTS,1,2,1140,3.27,CSH,15.0 +VTS,1,2,180,0.71,CSH,4.5 +VTS,1,1,540,1.75,CSH,8.5 +VTS,1,2,180,0.42,CSH,4.0 +VTS,1,2,420,0.96,CRD,6.5 +VTS,1,2,540,1.64,CRD,8.0 +VTS,1,2,600,1.85,CRD,8.5 +VTS,1,2,300,0.72,CRD,5.0 +VTS,1,2,540,1.81,CSH,7.5 +VTS,1,1,840,3.59,CRD,13.5 +VTS,1,2,120,0.36,CSH,4.0 +VTS,1,2,720,1.76,CRD,9.5 +VTS,1,1,1560,9.62,CSH,29.0 +VTS,1,2,840,2.19,CRD,11.0 +VTS,1,1,600,1.62,CRD,8.5 +VTS,1,2,120,0.15,CSH,3.0 +VTS,1,2,780,4.21,CRD,14.5 +VTS,1,2,540,1.99,CRD,8.5 +VTS,1,2,300,0.75,CRD,5.0 +VTS,1,1,240,0.86,CSH,5.0 +VTS,1,2,1020,3.8,CRD,15.0 +VTS,1,1,720,2.05,CSH,10.5 +VTS,1,2,780,2.89,CSH,11.5 +VTS,1,1,360,1.43,CSH,7.0 +VTS,1,1,840,3.38,CRD,13.0 +VTS,1,2,360,1.37,CRD,6.5 +VTS,1,2,660,1.52,CRD,8.5 +VTS,1,1,660,2.48,CRD,10.0 +VTS,1,2,540,2.03,CRD,9.0 +VTS,1,2,300,1.1,CSH,6.0 +VTS,1,2,300,0.9,CSH,5.5 +VTS,1,1,1140,4.01,CRD,16.5 +VTS,1,2,360,1.55,CRD,6.5 +VTS,1,2,360,1.35,CRD,6.5 +VTS,1,2,780,2.83,CRD,12.0 +VTS,1,1,1200,6.81,CRD,22.0 +VTS,1,2,420,0.79,CSH,6.5 +VTS,1,2,300,0.62,CSH,5.5 +VTS,1,2,480,1.2,CRD,7.0 +VTS,1,1,1140,4.08,CRD,16.5 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,2,480,1.29,CSH,7.5 +VTS,1,2,660,2.11,CRD,9.5 +VTS,1,2,1080,4.63,CRD,17.0 +VTS,1,1,660,2.01,CSH,10.0 +VTS,1,2,120,0.42,CSH,3.5 +VTS,1,2,420,1.12,CSH,7.0 +VTS,1,2,600,2.21,CSH,9.5 +VTS,1,1,660,1.39,CRD,9.0 +VTS,1,1,1140,3.9,CRD,15.5 +VTS,1,2,840,2.1,CSH,8.5 +VTS,1,1,300,1.09,CRD,6.0 +VTS,1,2,420,0.57,CRD,6.0 +VTS,1,2,1620,6.19,CSH,23.0 +VTS,1,2,720,2.17,CRD,10.0 +VTS,1,2,780,1.74,CRD,10.0 +VTS,1,3,360,1.04,CSH,6.0 +VTS,1,1,660,2.06,CSH,10.0 +VTS,1,2,420,1.11,CSH,6.5 +VTS,1,2,900,3.19,CSH,13.0 +VTS,1,2,300,1.09,CRD,6.0 +VTS,1,2,120,0.59,CSH,4.0 +VTS,1,1,420,0.89,CSH,6.5 +VTS,1,2,660,1.52,CRD,9.0 +VTS,1,1,180,0.83,CSH,4.5 +VTS,1,2,1200,2.52,CRD,13.5 +VTS,1,2,540,1.24,CSH,7.5 +VTS,1,2,720,3.63,CRD,13.5 +VTS,1,2,480,2.28,CSH,9.0 +VTS,1,1,720,1.73,CRD,9.5 +VTS,1,2,540,1.78,CSH,8.0 +VTS,1,1,1620,11.22,CRD,34.5 +VTS,1,2,1320,5.29,CRD,20.0 +VTS,1,2,1320,2.89,CSH,15.0 +VTS,1,2,720,3.19,CRD,12.0 +VTS,1,2,960,1.91,CRD,12.0 +VTS,1,2,720,1.94,CRD,9.5 +VTS,1,2,240,0.64,CRD,4.5 +VTS,1,2,540,1.22,CSH,7.5 +VTS,1,1,420,1.75,CSH,8.0 +VTS,1,2,480,2.56,CRD,9.0 +VTS,1,2,1140,11.4,CRD,33.0 +VTS,1,1,240,0.71,CSH,5.0 +VTS,1,2,480,1.74,CRD,7.5 +VTS,1,2,240,1.02,CSH,5.0 +VTS,1,2,600,1.53,CRD,8.5 +VTS,1,1,840,4.22,CSH,15.0 +VTS,1,2,240,0.77,CRD,5.0 +VTS,1,1,360,0.9,CRD,6.0 +VTS,1,2,240,0.94,CSH,5.5 +VTS,1,2,360,1.03,CSH,6.0 +VTS,1,2,1260,7.0,CRD,23.0 +VTS,1,1,420,1.4,CSH,7.0 +VTS,1,2,360,0.91,CRD,6.0 +VTS,1,2,600,1.56,CSH,8.5 +VTS,1,1,180,0.46,CSH,4.5 +VTS,1,1,420,0.84,CRD,6.0 +VTS,1,2,1260,3.51,CRD,16.0 +VTS,1,2,420,0.86,CSH,6.0 +VTS,1,1,540,1.43,CSH,8.0 +VTS,1,2,1980,3.9,CRD,21.0 +VTS,1,2,660,1.09,CRD,8.5 +VTS,1,2,780,2.94,CRD,12.0 +VTS,1,2,780,2.63,CRD,10.5 +VTS,1,2,1080,2.99,CSH,14.0 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,2,420,1.23,CSH,7.0 +VTS,1,2,900,2.62,CRD,12.0 +VTS,1,2,1080,3.21,CRD,13.5 +VTS,1,2,1320,14.38,CSH,39.0 +VTS,1,1,180,0.55,CRD,4.0 +VTS,1,2,480,1.26,CSH,7.0 +VTS,1,2,1020,2.39,CSH,12.5 +VTS,1,1,600,5.08,CSH,16.0 +VTS,1,2,900,3.24,CSH,13.0 +VTS,1,2,300,1.04,CRD,6.0 +VTS,1,1,660,2.07,CSH,8.5 +VTS,1,1,900,1.86,CRD,10.5 +VTS,1,1,780,1.84,CSH,10.5 +VTS,1,1,900,3.04,CRD,13.5 +VTS,1,1,660,2.35,CSH,10.0 +VTS,1,1,600,1.54,CRD,8.5 +VTS,1,3,1140,2.28,CSH,13.5 +VTS,1,1,420,1.39,CRD,7.0 +VTS,1,1,540,1.22,CRD,8.0 +VTS,1,1,720,1.98,CRD,10.0 +VTS,1,1,780,2.87,CRD,11.5 +VTS,1,1,1800,3.79,CRD,20.0 +VTS,1,1,840,1.69,CRD,11.0 +VTS,1,2,540,1.01,CSH,7.5 +VTS,1,1,660,2.29,CRD,10.0 +VTS,1,1,300,0.89,CSH,6.0 +VTS,1,3,1380,4.38,CSH,18.5 +VTS,1,3,180,1.05,CSH,5.0 +VTS,1,2,1380,4.69,CRD,19.5 +VTS,1,2,240,0.97,CRD,5.5 +VTS,1,1,180,1.25,CSH,5.5 +VTS,1,1,180,0.5,CRD,4.0 +VTS,1,1,360,1.06,CRD,6.5 +VTS,1,1,480,2.48,CRD,9.5 +VTS,1,1,480,0.88,CRD,7.0 +VTS,1,1,540,1.94,CRD,9.0 +VTS,1,1,1080,3.91,CSH,15.0 +VTS,1,1,240,1.05,CRD,5.5 +VTS,1,1,240,0.91,CRD,5.5 +VTS,1,1,720,1.86,CSH,10.0 +VTS,1,1,840,2.0,CRD,11.0 +VTS,1,1,840,2.56,CSH,11.5 +VTS,1,1,480,1.96,CSH,9.0 +VTS,1,1,480,1.29,CRD,7.0 +VTS,1,1,480,1.59,CSH,7.5 +VTS,1,1,540,1.53,CRD,8.5 +VTS,1,2,360,1.52,CSH,7.0 +VTS,1,1,960,1.76,CRD,11.5 +VTS,1,1,480,0.78,CRD,7.0 +VTS,1,1,360,0.86,CSH,6.5 +VTS,1,1,780,1.46,CRD,10.0 +VTS,1,1,540,1.77,CRD,8.5 +VTS,1,1,1380,8.8,CRD,28.5 +VTS,1,1,180,0.52,CRD,4.5 +VTS,1,1,720,1.96,CRD,10.5 +VTS,1,1,180,0.81,CRD,5.0 +VTS,1,2,1020,2.94,CRD,13.5 +VTS,1,2,660,1.94,CSH,9.5 +VTS,1,1,1500,12.36,CSH,35.5 +VTS,1,2,60,0.0,CSH,3.0 +VTS,1,2,1320,4.46,CRD,18.5 +VTS,1,2,960,2.78,CRD,13.0 +VTS,1,1,660,2.19,CRD,10.0 +VTS,1,2,840,7.29,CRD,21.0 +VTS,5,1,1320,5.51,CRD,63.0 +VTS,1,2,300,0.92,CRD,5.5 +VTS,1,2,360,1.62,CRD,7.0 +VTS,1,2,480,1.57,CRD,7.5 +VTS,1,2,1080,2.89,CRD,13.5 +VTS,1,1,960,2.4,CRD,12.5 +VTS,1,1,360,1.55,CSH,7.0 +VTS,1,2,480,2.92,CRD,10.5 +VTS,1,1,1320,8.68,CRD,26.0 +VTS,1,2,180,0.65,CSH,4.5 +VTS,1,2,540,1.48,CSH,8.0 +VTS,1,2,480,0.75,CSH,7.0 +VTS,1,2,660,2.12,CSH,9.5 +VTS,1,2,1260,6.52,CRD,21.0 +VTS,1,1,480,1.45,CRD,7.5 +VTS,1,1,780,4.71,CRD,15.5 +VTS,1,1,120,0.29,CRD,3.5 +VTS,1,2,600,2.14,CSH,9.5 +VTS,1,2,300,1.41,CSH,6.0 +VTS,1,2,420,0.94,CSH,6.0 +VTS,1,2,180,0.39,CSH,4.0 +VTS,1,2,660,2.33,CSH,10.0 +VTS,1,2,240,0.81,CSH,5.0 +VTS,1,2,300,1.56,CRD,6.5 +VTS,1,2,660,2.51,CSH,11.0 +VTS,1,1,180,1.09,CRD,5.0 +VTS,1,2,360,0.68,CSH,5.5 +VTS,1,2,180,0.54,CRD,4.0 +VTS,1,2,120,0.53,CSH,4.0 +VTS,1,2,480,1.79,CRD,8.0 +VTS,1,2,780,2.93,CRD,11.5 +VTS,1,2,480,2.39,CSH,9.0 +VTS,1,3,420,1.81,CSH,8.0 +VTS,1,2,120,0.62,CRD,4.0 +VTS,1,2,240,1.75,CSH,7.0 +VTS,1,2,360,1.51,CRD,7.0 +VTS,1,2,420,1.36,CSH,7.0 +VTS,1,1,240,0.81,CRD,5.0 +VTS,1,2,600,3.29,CRD,12.0 +VTS,1,2,1620,10.73,CRD,32.5 +VTS,1,2,1080,3.05,CSH,14.0 +VTS,1,2,960,4.46,CSH,15.5 +VTS,1,1,120,0.38,CRD,3.5 +VTS,1,2,660,2.74,CSH,11.0 +VTS,1,1,660,2.1,CRD,10.5 +VTS,1,2,540,1.42,CRD,7.5 +VTS,1,2,420,1.54,CSH,7.5 +VTS,1,1,60,0.0,CRD,2.5 +VTS,1,2,600,2.29,CRD,9.5 +VTS,1,2,660,2.75,CSH,11.0 +VTS,1,2,420,0.7,CRD,6.0 +VTS,1,2,540,1.67,CRD,8.5 +VTS,1,2,240,0.76,CSH,5.0 +VTS,1,1,660,1.41,CRD,9.0 +VTS,1,1,960,1.94,CRD,11.5 +VTS,1,2,180,0.79,CSH,4.5 +VTS,1,1,480,1.69,CSH,8.0 +VTS,1,1,960,3.4,CRD,14.0 +VTS,1,1,300,1.27,CSH,5.5 +VTS,1,1,780,5.92,CRD,18.5 +VTS,1,2,1320,6.37,CRD,22.0 +VTS,1,2,420,1.3,CSH,7.0 +VTS,1,3,480,1.16,CSH,7.0 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,780,4.59,CRD,15.0 +VTS,1,2,360,1.91,CRD,7.5 +VTS,1,2,1380,4.24,CRD,18.5 +VTS,1,2,780,3.06,CSH,12.0 +VTS,1,1,300,1.44,CRD,6.5 +VTS,1,2,300,1.25,CSH,6.0 +VTS,1,1,720,5.01,CSH,16.0 +VTS,1,1,300,0.64,CRD,5.0 +VTS,1,2,180,0.88,CRD,5.0 +VTS,1,2,180,0.76,CSH,4.5 +VTS,1,2,960,2.34,CRD,12.5 +VTS,1,1,900,3.27,CRD,13.0 +VTS,1,2,780,3.53,CRD,13.5 +VTS,1,2,480,2.81,CRD,10.0 +VTS,1,2,540,1.32,CSH,7.5 +VTS,1,2,120,0.5,CRD,4.0 +VTS,1,1,600,2.44,CRD,10.5 +VTS,5,1,1200,4.37,CRD,62.0 +VTS,1,2,300,1.01,CSH,5.5 +VTS,1,1,300,1.55,CRD,6.5 +VTS,1,2,780,3.29,CRD,13.0 +VTS,1,2,480,0.98,CRD,7.0 +VTS,1,2,240,0.71,CRD,5.0 +VTS,1,2,1560,4.33,CRD,19.5 +VTS,1,1,720,1.37,CRD,9.0 +VTS,1,2,780,4.51,CSH,14.5 +VTS,1,2,600,2.28,CRD,10.0 +VTS,1,2,1260,7.07,CRD,23.0 +VTS,1,2,1380,4.2,CSH,18.0 +VTS,1,2,540,1.48,CSH,7.5 +VTS,1,2,600,2.68,CRD,10.0 +VTS,1,2,300,1.27,CRD,6.0 +VTS,1,2,480,2.02,CSH,8.5 +VTS,1,2,300,0.88,CSH,5.5 +VTS,1,2,180,0.45,CSH,4.0 +VTS,1,2,420,1.78,CSH,8.0 +VTS,1,2,600,1.92,CRD,9.5 +VTS,1,1,1020,1.43,CRD,11.0 +VTS,1,2,540,1.12,CSH,8.0 +VTS,1,2,600,1.05,CRD,8.0 +VTS,1,1,1080,8.19,CSH,24.0 +VTS,1,2,780,2.25,CSH,10.5 +VTS,1,2,420,1.22,CRD,7.0 +VTS,1,2,120,0.35,CRD,3.5 +VTS,1,2,420,1.63,CRD,7.0 +VTS,1,2,360,0.79,CSH,5.5 +VTS,1,2,600,2.7,CSH,10.5 +VTS,1,2,1320,10.5,CRD,29.5 +VTS,1,2,600,2.01,CRD,9.5 +VTS,1,2,540,1.54,CSH,8.5 +VTS,1,2,780,2.36,CRD,10.5 +VTS,1,1,240,0.94,CRD,5.5 +VTS,1,2,300,0.83,CSH,5.0 +VTS,1,2,420,1.64,CRD,8.0 +VTS,1,2,240,0.81,CRD,5.0 +VTS,1,1,420,1.86,CRD,7.5 +VTS,1,2,180,0.79,CSH,4.5 +VTS,1,1,600,1.68,CRD,9.0 +VTS,1,2,660,1.12,CRD,8.5 +VTS,1,2,840,2.5,CSH,11.5 +VTS,1,2,600,2.42,CSH,10.0 +VTS,1,2,1200,4.89,CRD,18.0 +VTS,1,1,540,1.03,CRD,7.5 +VTS,1,1,960,2.27,CSH,11.5 +VTS,1,2,540,1.65,CRD,8.0 +VTS,1,2,300,0.51,CRD,5.0 +VTS,1,1,120,0.55,CSH,3.5 +VTS,1,2,1080,4.15,CRD,16.0 +VTS,1,2,360,1.71,CSH,7.5 +VTS,1,2,420,1.03,CRD,6.5 +VTS,1,2,600,1.15,CSH,8.0 +VTS,1,2,180,0.78,CRD,4.5 +VTS,1,2,420,1.78,CRD,7.5 +VTS,1,2,840,1.94,CRD,10.5 +VTS,1,2,420,0.98,CSH,6.5 +VTS,1,2,2580,5.06,CRD,27.5 +VTS,1,2,180,0.41,CSH,4.0 +VTS,1,2,780,2.34,CRD,11.0 +VTS,1,2,420,1.19,CSH,7.0 +VTS,1,1,300,0.73,CSH,5.5 +VTS,1,1,720,2.67,CRD,11.5 +VTS,1,2,360,1.16,CSH,6.5 +VTS,1,2,720,1.65,CSH,9.5 +VTS,1,2,540,1.35,CRD,7.5 +VTS,1,2,840,2.62,CRD,11.5 +VTS,1,1,540,1.43,CRD,8.0 +VTS,1,2,540,1.78,CSH,8.5 +VTS,1,2,300,0.61,CSH,5.0 +VTS,1,1,900,2.49,CRD,12.5 +VTS,1,1,540,2.4,CRD,10.0 +VTS,1,1,420,1.26,CSH,6.5 +VTS,2,1,1620,17.44,CRD,52.0 +VTS,1,2,1860,19.01,CSH,51.5 +VTS,1,2,300,0.71,CRD,5.5 +VTS,1,1,840,2.81,CSH,12.0 +VTS,1,1,360,1.11,CRD,6.0 +VTS,1,2,540,1.32,CSH,7.5 +VTS,1,2,1380,5.57,CSH,20.0 +VTS,1,1,600,3.09,CSH,11.0 +VTS,1,1,780,4.59,CRD,15.0 +VTS,1,1,960,2.79,CSH,13.0 +VTS,1,1,300,1.22,CSH,6.0 +VTS,1,1,660,1.3,CRD,8.5 +VTS,1,2,180,0.31,CRD,4.0 +VTS,1,1,540,0.77,CSH,7.0 +VTS,1,2,120,0.45,CSH,3.5 +VTS,1,2,540,1.19,CSH,7.5 +VTS,1,2,300,1.18,CRD,6.0 +VTS,1,1,420,0.92,CSH,6.5 +VTS,1,2,660,2.62,CRD,11.5 +VTS,1,2,420,1.59,CSH,7.5 +VTS,1,2,720,1.88,CSH,9.5 +VTS,1,2,1020,3.15,CRD,14.0 +VTS,1,2,120,0.44,CSH,4.0 +VTS,1,2,120,0.36,CSH,4.0 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,180,0.67,CRD,5.0 +VTS,1,3,720,2.54,CSH,11.0 +VTS,1,3,1080,4.88,CSH,18.5 +VTS,1,2,480,1.78,CSH,8.0 +VTS,1,2,1260,3.77,CRD,16.5 +VTS,1,2,1560,5.02,CRD,20.5 +VTS,1,1,420,0.83,CSH,6.0 +VTS,1,2,240,0.66,CSH,4.5 +VTS,1,2,660,2.69,CRD,10.5 +VTS,1,2,660,1.31,CSH,8.5 +VTS,1,2,660,1.15,CSH,8.0 +VTS,1,2,960,2.55,CSH,12.0 +VTS,1,2,600,0.99,CSH,7.5 +VTS,1,2,480,1.62,CSH,7.5 +VTS,1,2,600,1.21,CRD,8.0 +VTS,1,1,1260,9.23,CRD,27.5 +VTS,1,2,1380,12.37,CSH,35.5 +VTS,1,2,300,0.94,CRD,5.0 +VTS,1,2,1980,13.49,CRD,38.5 +VTS,1,2,1260,4.17,CRD,16.5 +VTS,1,1,300,1.05,CRD,5.5 +VTS,1,1,720,1.77,CRD,9.5 +VTS,1,1,240,1.18,CSH,6.0 +VTS,1,2,900,4.43,CRD,16.0 +VTS,1,1,600,2.5,CRD,10.0 +VTS,1,2,960,2.11,CRD,11.0 +VTS,1,2,480,1.66,CSH,7.5 +VTS,1,2,300,1.06,CSH,5.5 +VTS,1,2,1860,12.74,CRD,38.0 +VTS,1,2,900,3.47,CRD,13.5 +VTS,1,1,240,1.19,CRD,5.5 +VTS,1,2,240,0.13,CSH,4.5 +VTS,1,2,1140,4.06,CRD,16.5 +VTS,1,1,360,1.83,CRD,8.0 +VTS,1,2,540,1.29,CRD,7.5 +VTS,1,1,300,0.42,CSH,5.0 +VTS,1,2,240,0.91,CSH,5.0 +VTS,1,2,420,1.01,CSH,6.0 +VTS,1,2,3000,5.73,CRD,31.0 +VTS,1,2,480,1.29,CSH,7.5 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,660,1.69,CRD,9.0 +VTS,1,1,120,0.54,CRD,4.0 +VTS,1,2,300,0.82,CSH,5.0 +VTS,1,2,1800,5.15,CSH,22.0 +VTS,1,2,1140,3.15,CRD,15.5 +VTS,1,2,720,4.7,CRD,14.5 +VTS,1,2,720,1.54,CSH,9.5 +VTS,1,1,780,2.62,CRD,11.0 +VTS,1,2,540,1.53,CSH,7.0 +VTS,1,2,420,1.72,CSH,7.5 +VTS,1,2,600,2.36,CRD,9.5 +VTS,1,1,960,3.59,CSH,14.0 +VTS,1,2,420,1.29,CRD,7.0 +VTS,1,1,360,1.08,CSH,6.5 +VTS,1,2,1740,8.9,CRD,28.5 +VTS,1,2,300,1.24,CSH,6.5 +VTS,1,1,1380,3.83,CRD,18.0 +VTS,1,2,780,2.41,CRD,11.0 +VTS,1,2,180,0.68,CSH,4.5 +VTS,1,2,720,2.96,CSH,11.0 +VTS,1,2,420,0.59,CRD,5.0 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,2,420,1.46,CRD,7.5 +VTS,1,1,420,1.42,CRD,6.5 +VTS,1,2,840,2.54,CRD,11.5 +VTS,1,2,240,0.85,CRD,5.0 +VTS,1,2,1380,3.25,CSH,16.5 +VTS,1,2,300,1.19,CRD,6.0 +VTS,1,2,1740,8.2,CSH,27.5 +VTS,1,1,360,1.05,CRD,6.0 +VTS,1,2,1380,9.11,CRD,28.5 +VTS,1,2,780,3.85,CRD,14.0 +VTS,1,1,360,1.23,CRD,6.5 +VTS,1,2,480,1.16,CRD,7.0 +VTS,1,2,420,1.32,CRD,7.5 +VTS,1,1,540,1.58,CRD,8.0 +VTS,1,2,360,1.23,CRD,6.5 +VTS,1,2,660,1.89,CSH,9.5 +VTS,1,1,420,1.02,CSH,6.5 +VTS,1,2,1620,8.56,CRD,27.5 +VTS,1,2,900,4.48,CRD,15.5 +VTS,1,2,540,1.93,CRD,9.0 +VTS,1,1,720,2.32,CSH,10.5 +VTS,1,2,600,2.83,CSH,10.5 +VTS,1,2,420,0.82,CRD,6.0 +VTS,1,2,960,3.31,CRD,13.0 +VTS,1,1,780,2.51,CRD,10.5 +VTS,1,2,480,2.21,CRD,9.0 +VTS,1,2,540,3.02,CRD,11.0 +VTS,1,1,120,0.24,CSH,3.5 +VTS,1,2,1140,2.71,CRD,14.0 +VTS,1,2,660,3.6,CRD,13.0 +VTS,1,1,600,1.58,CRD,8.5 +VTS,1,2,300,0.54,CRD,4.5 +VTS,1,2,1920,7.29,CRD,26.0 +VTS,1,2,240,1.84,CSH,7.5 +VTS,1,2,960,4.75,CRD,16.0 +VTS,1,2,60,0.12,CSH,3.0 +VTS,1,2,720,1.38,CSH,9.5 +VTS,1,2,720,2.65,CSH,10.5 +VTS,1,2,540,2.41,CRD,10.0 +VTS,1,3,300,1.75,CRD,7.0 +VTS,1,3,660,4.19,CRD,13.5 +VTS,1,4,180,0.73,CRD,4.5 +VTS,1,3,1920,9.09,CSH,30.5 +VTS,1,4,360,1.16,CSH,7.0 +VTS,1,1,240,0.8,CSH,4.5 +VTS,1,1,360,0.9,CSH,6.0 +VTS,1,2,360,1.05,CRD,5.5 +VTS,1,2,420,1.56,CRD,7.5 +VTS,1,1,480,1.03,CRD,6.5 +VTS,1,2,540,1.01,CRD,7.0 +VTS,1,2,540,1.59,CRD,8.5 +VTS,1,2,240,0.84,CRD,5.5 +VTS,1,2,420,1.59,CRD,7.5 +VTS,1,2,420,1.39,CRD,7.0 +VTS,1,2,960,2.39,CSH,12.0 +VTS,1,1,1500,6.99,CRD,23.0 +VTS,1,2,540,1.39,CRD,7.5 +VTS,1,1,300,1.45,CRD,6.5 +VTS,1,1,540,1.85,CSH,8.5 +VTS,1,2,840,2.41,CRD,11.0 +VTS,1,2,720,1.52,CRD,9.0 +VTS,1,2,300,0.71,CSH,5.5 +VTS,1,2,540,2.28,CRD,9.5 +VTS,1,2,360,1.26,CRD,6.0 +VTS,1,1,480,1.52,CRD,7.5 +VTS,1,2,360,0.89,CRD,5.5 +VTS,1,3,1140,2.36,CSH,13.5 +VTS,1,2,1200,5.38,CRD,18.5 +VTS,1,1,780,2.44,CSH,11.0 +VTS,1,4,960,4.61,CSH,17.0 +VTS,1,1,540,2.11,CRD,9.0 +VTS,1,2,1140,10.24,CRD,29.0 +VTS,1,2,240,0.99,CSH,5.5 +VTS,1,2,480,1.44,CRD,7.5 +VTS,1,1,300,0.64,CSH,5.5 +VTS,1,2,1080,3.74,CRD,15.5 +VTS,1,2,240,1.01,CRD,5.5 +VTS,1,2,180,0.44,CSH,4.0 +VTS,1,1,900,4.3,CRD,14.5 +VTS,1,2,780,5.92,CSH,18.5 +VTS,1,1,240,1.19,CRD,5.5 +VTS,1,2,300,1.11,CRD,5.5 +VTS,1,1,360,1.16,CSH,6.5 +VTS,1,2,540,1.03,CSH,7.0 +VTS,1,1,60,0.46,CSH,3.5 +VTS,1,2,300,0.82,CRD,5.5 +VTS,1,2,240,0.66,CRD,5.0 +VTS,1,1,840,2.99,CRD,12.5 +VTS,1,2,420,1.09,CRD,7.0 +VTS,1,1,240,0.98,CRD,5.5 +VTS,1,2,840,1.65,CSH,10.0 +VTS,1,2,540,0.99,CRD,7.0 +VTS,1,2,240,0.58,CSH,5.0 +VTS,1,3,900,3.77,CRD,14.0 +VTS,1,3,720,2.46,CSH,11.0 +VTS,1,3,420,1.76,CRD,7.5 +VTS,1,1,180,0.92,CSH,4.5 +VTS,1,2,1500,6.66,CSH,22.5 +VTS,1,2,240,0.63,CSH,4.0 +VTS,1,2,480,0.98,CRD,6.5 +VTS,1,2,660,2.05,CRD,9.0 +VTS,1,2,480,1.11,CRD,7.5 +VTS,1,2,480,1.5,CRD,7.5 +VTS,1,2,300,0.66,CSH,5.0 +VTS,1,2,540,2.03,CSH,8.5 +VTS,1,2,720,2.89,CRD,12.0 +VTS,1,2,3180,10.88,CRD,40.0 +VTS,1,2,960,4.14,CRD,16.0 +VTS,1,2,240,0.74,CSH,5.0 +VTS,1,3,720,2.84,CRD,11.5 +VTS,1,2,840,2.04,CSH,11.5 +VTS,1,2,420,1.02,CSH,6.0 +VTS,1,2,360,1.15,CRD,6.5 +VTS,1,1,360,1.75,CRD,7.5 +VTS,1,2,360,1.05,CRD,6.0 +VTS,1,2,900,3.27,CRD,13.0 +VTS,1,2,1500,2.14,CSH,15.5 +VTS,1,3,1020,3.13,CSH,12.5 +VTS,1,2,780,2.82,CSH,11.5 +VTS,1,2,300,1.09,CRD,6.0 +VTS,1,2,1020,1.44,CSH,11.5 +VTS,1,2,360,1.38,CRD,7.0 +VTS,1,2,1980,10.98,CRD,34.0 +VTS,1,2,240,0.59,CSH,4.5 +VTS,1,2,300,0.85,CSH,5.0 +VTS,1,1,360,0.63,CSH,6.0 +VTS,1,2,420,1.14,CSH,6.5 +VTS,1,2,1140,4.0,CRD,16.5 +VTS,1,2,1980,7.89,CRD,27.5 +VTS,1,1,420,0.67,CRD,6.0 +VTS,1,1,780,0.86,CRD,9.5 +VTS,1,1,420,1.37,CSH,7.0 +VTS,1,2,600,2.73,CRD,11.0 +VTS,1,2,600,1.16,CSH,8.0 +VTS,1,2,540,0.96,CRD,7.5 +VTS,1,1,660,1.41,CSH,9.0 +VTS,1,4,360,1.55,CSH,7.0 +VTS,1,5,840,5.27,CSH,16.5 +VTS,1,4,900,2.4,CRD,12.0 +VTS,1,3,300,1.22,CSH,6.0 +VTS,1,3,240,1.06,CRD,5.5 +VTS,1,4,300,1.15,CSH,6.0 +VTS,1,4,300,1.42,CSH,6.0 +VTS,1,4,360,0.98,CRD,6.0 +VTS,1,4,900,4.45,CRD,15.5 +VTS,1,3,300,1.22,CSH,6.0 +VTS,1,4,1020,10.33,CRD,29.5 +VTS,1,4,840,6.63,CRD,20.5 +VTS,1,4,1020,3.6,CSH,14.5 +VTS,1,3,360,1.54,CSH,7.0 +VTS,1,4,480,2.89,CRD,10.0 +VTS,1,4,240,0.57,CSH,4.5 +VTS,1,4,1260,2.0,CSH,14.0 +VTS,1,3,480,2.29,CSH,8.5 +VTS,1,4,300,1.4,CSH,6.5 +VTS,1,3,120,0.92,CSH,4.5 +VTS,1,3,300,1.33,CRD,6.0 +VTS,1,4,480,1.63,CSH,8.5 +VTS,1,4,240,0.85,CSH,5.0 +VTS,1,4,420,1.33,CRD,6.0 +VTS,1,4,540,1.91,CRD,8.5 +VTS,1,3,180,1.16,CSH,5.5 +VTS,1,5,180,0.7,CSH,4.0 +VTS,1,3,240,0.7,CSH,5.0 +VTS,1,3,720,4.66,CRD,15.5 +VTS,1,3,120,0.47,CSH,4.0 +VTS,1,2,60,0.41,CSH,3.5 +VTS,1,4,180,0.66,CRD,4.0 +VTS,1,4,120,0.58,CSH,4.0 +VTS,1,3,480,2.25,CRD,8.5 +VTS,1,3,540,1.1,CRD,7.5 +VTS,1,4,600,2.03,CSH,9.5 +VTS,1,4,900,1.84,CRD,12.0 +VTS,1,3,1080,7.44,CRD,23.0 +VTS,1,4,1920,11.01,CSH,34.0 +VTS,1,4,300,1.01,CSH,5.5 +VTS,1,4,360,0.98,CSH,5.5 +VTS,1,3,300,1.78,CSH,7.0 +VTS,1,3,300,1.17,CSH,6.0 +VTS,1,4,600,3.63,CSH,12.0 +VTS,1,4,180,0.48,CRD,4.0 +VTS,1,4,300,1.12,CRD,6.0 +VTS,1,4,420,2.73,CSH,9.0 +VTS,1,3,600,4.0,CSH,13.5 +VTS,1,3,1380,5.22,CRD,20.0 +VTS,1,3,420,1.53,CRD,7.0 +VTS,1,4,360,1.23,CRD,6.5 +VTS,1,3,660,2.15,CSH,10.0 +VTS,1,5,540,2.24,CRD,9.5 +VTS,1,4,1080,4.85,CSH,18.0 +VTS,1,4,840,3.27,CRD,12.5 +VTS,1,3,540,1.52,CRD,8.0 +VTS,1,3,120,0.51,CSH,4.0 +VTS,1,5,240,0.74,CSH,5.0 +VTS,1,3,960,9.33,CRD,27.0 +VTS,1,4,900,3.97,CSH,14.5 +VTS,1,3,300,2.3,CSH,8.0 +VTS,1,4,300,1.64,CSH,7.0 +VTS,1,4,900,11.71,CRD,32.5 +VTS,1,4,240,0.76,CSH,4.5 +VTS,1,3,540,2.32,CRD,9.5 +VTS,1,4,240,0.46,CSH,4.5 +VTS,1,4,60,0.59,CSH,3.5 +VTS,1,3,120,0.53,CSH,4.0 +VTS,1,4,780,1.68,CRD,10.0 +VTS,1,4,240,0.53,CSH,4.5 +VTS,1,4,720,2.28,CSH,10.5 +VTS,1,3,720,3.6,CSH,12.5 +VTS,1,3,480,2.94,CSH,10.0 +VTS,1,4,180,0.55,CSH,4.0 +VTS,1,4,780,2.68,CSH,11.5 +VTS,1,4,420,1.43,CSH,7.5 +VTS,1,4,360,1.14,CSH,6.0 +VTS,1,4,480,1.49,CRD,7.5 +VTS,1,4,360,0.95,CSH,6.0 +VTS,1,4,180,0.98,CRD,5.0 +VTS,1,3,420,1.32,CSH,7.0 +VTS,1,3,1260,1.81,CRD,14.0 +VTS,1,4,360,1.63,CRD,7.0 +VTS,1,4,840,1.85,CRD,10.0 +VTS,1,3,840,2.09,CSH,11.0 +VTS,1,2,240,0.92,CSH,5.0 +VTS,1,3,240,0.72,CRD,5.0 +VTS,1,1,660,4.17,CRD,13.5 +VTS,1,4,300,0.88,CSH,5.5 +VTS,1,3,1320,5.2,CRD,19.5 +VTS,1,1,1140,7.4,CRD,23.0 +VTS,1,2,360,1.08,CRD,6.0 +VTS,1,3,540,2.57,CSH,10.0 +VTS,1,4,600,2.56,CSH,10.0 +VTS,1,4,600,2.34,CSH,9.5 +VTS,1,4,300,1.02,CSH,5.5 +VTS,1,4,480,2.59,CSH,10.0 +VTS,1,3,360,1.18,CSH,6.5 +VTS,1,4,420,0.7,CSH,5.5 +VTS,1,3,300,1.04,CSH,5.5 +VTS,1,4,420,2.04,CSH,8.5 +VTS,1,3,360,1.93,CSH,8.0 +VTS,1,4,600,1.12,CRD,8.0 +VTS,1,4,420,1.17,CRD,6.5 +VTS,1,4,840,5.84,CRD,18.5 +VTS,1,4,660,1.66,CSH,9.0 +VTS,1,4,180,0.62,CSH,4.0 +VTS,1,4,660,2.87,CRD,10.5 +VTS,1,5,420,1.48,CSH,7.0 +VTS,1,4,960,4.11,CSH,15.0 +VTS,1,4,840,3.17,CSH,13.0 +VTS,1,4,2100,8.74,CSH,30.0 +VTS,1,3,120,0.93,CRD,4.5 +VTS,1,2,120,0.55,CRD,4.0 +VTS,1,3,360,1.09,CSH,6.0 +VTS,1,4,480,2.77,CRD,10.0 +VTS,1,1,900,2.51,CRD,11.5 +VTS,1,2,600,2.59,CSH,10.5 +VTS,1,1,1500,6.07,CSH,22.0 +VTS,1,4,420,1.49,CRD,7.0 +VTS,1,4,420,1.45,CSH,7.5 +VTS,1,4,300,0.99,CRD,6.0 +VTS,1,4,300,1.16,CSH,6.0 +VTS,1,3,300,1.56,CRD,7.0 +VTS,1,4,660,1.5,CRD,8.5 +VTS,1,3,540,2.81,CRD,10.0 +VTS,1,3,900,3.4,CSH,14.0 +VTS,1,4,1020,3.16,CRD,13.0 +VTS,1,3,1140,4.93,CRD,18.0 +VTS,1,4,420,1.1,CRD,6.0 +VTS,1,4,1320,3.92,CRD,16.5 +VTS,1,4,480,2.28,CRD,9.0 +VTS,1,4,480,1.96,CRD,8.5 +VTS,1,5,360,1.77,CSH,7.5 +VTS,1,3,780,2.38,CSH,11.0 +VTS,1,3,300,1.79,CSH,7.0 +VTS,1,3,360,0.91,CSH,6.0 +VTS,1,4,420,1.73,CSH,7.5 +VTS,1,4,120,0.63,CSH,4.0 +VTS,1,4,480,2.15,CRD,8.5 +VTS,1,4,660,2.48,CSH,10.5 +VTS,1,4,300,1.17,CRD,6.0 +VTS,1,3,420,1.51,CRD,7.0 +VTS,1,4,360,1.53,CSH,7.0 +VTS,1,4,120,0.72,CRD,4.0 +VTS,1,2,240,0.87,CSH,5.5 +VTS,1,4,1260,7.86,CSH,25.5 +VTS,1,4,420,1.55,CRD,6.5 +VTS,1,4,240,1.02,CRD,5.0 +VTS,1,3,120,0.45,CSH,3.5 +VTS,1,4,660,3.39,CRD,12.0 +VTS,1,4,360,1.54,CSH,7.5 +VTS,1,3,420,2.42,CRD,9.0 +VTS,1,3,720,4.54,CRD,15.0 +VTS,1,3,300,0.87,CRD,5.5 +VTS,1,3,600,2.42,CSH,10.5 +VTS,1,4,1200,3.77,CSH,16.0 +VTS,1,4,660,3.99,CSH,13.5 +VTS,1,4,120,0.26,CSH,3.0 +VTS,1,2,300,1.32,CRD,6.5 +VTS,1,4,480,1.74,CRD,7.5 +VTS,1,3,660,3.3,CSH,12.5 +VTS,1,3,360,1.56,CSH,7.0 +VTS,1,4,600,3.05,CRD,11.5 +VTS,1,4,540,3.93,CSH,13.0 +VTS,1,4,240,1.0,CSH,5.5 +VTS,1,4,540,2.38,CRD,9.0 +VTS,1,3,660,0.95,CSH,8.0 +VTS,1,4,480,1.54,CRD,8.0 +VTS,1,2,240,1.22,CSH,6.0 +VTS,1,3,540,1.63,CSH,8.0 +VTS,1,5,540,2.83,CSH,10.0 +VTS,1,3,300,1.16,CSH,6.0 +VTS,1,4,480,1.91,CSH,8.5 +VTS,1,4,300,1.47,CSH,6.5 +VTS,1,3,960,3.89,CRD,15.0 +VTS,1,3,600,1.93,CSH,9.0 +VTS,1,3,1080,3.83,CRD,15.0 +VTS,1,4,1740,9.95,CRD,30.5 +VTS,1,4,480,1.65,CRD,8.0 +VTS,1,5,420,1.1,CRD,6.0 +VTS,1,2,480,2.11,CRD,8.5 +VTS,1,3,360,1.49,CRD,6.5 +VTS,1,3,780,2.83,CRD,11.5 +VTS,1,3,1020,3.34,CRD,13.5 +VTS,1,4,540,2.59,CRD,9.5 +VTS,1,3,180,1.01,CRD,5.0 +VTS,1,1,900,3.55,CSH,13.5 +VTS,1,3,600,2.68,CSH,10.0 +VTS,1,3,300,0.87,CSH,5.5 +VTS,1,4,300,0.96,CSH,5.5 +VTS,1,3,240,0.57,CRD,4.5 +VTS,1,3,120,0.61,CSH,4.0 +VTS,1,3,480,1.45,CRD,7.5 +VTS,1,1,480,1.7,CSH,7.5 +VTS,1,2,300,0.87,CRD,5.5 +VTS,1,1,3300,12.51,CRD,44.0 +VTS,1,2,420,0.95,CSH,6.0 +VTS,1,2,480,1.05,CSH,7.5 +VTS,1,2,720,2.02,CSH,9.5 +VTS,1,2,180,0.58,CSH,4.0 +VTS,1,2,300,1.42,CRD,6.0 +VTS,1,2,780,2.15,CRD,10.5 +VTS,1,2,960,2.66,CSH,12.5 +VTS,1,2,900,2.15,CSH,11.0 +VTS,1,2,960,4.35,CRD,15.5 +VTS,1,1,780,2.78,CSH,11.5 +VTS,1,2,660,2.26,CRD,10.0 +VTS,1,2,420,1.34,CSH,7.0 +VTS,1,1,540,0.79,CRD,7.0 +VTS,1,1,780,3.37,CSH,13.0 +VTS,1,2,480,1.53,CRD,8.0 +VTS,1,2,780,2.76,CSH,11.5 +VTS,1,2,120,0.2,CSH,3.0 +VTS,1,2,720,3.44,CRD,12.0 +VTS,1,2,480,1.28,CSH,7.0 +VTS,1,2,720,1.5,CSH,9.0 +VTS,1,2,240,0.62,CRD,4.5 +VTS,1,2,600,3.16,CSH,11.5 +VTS,1,2,960,0.97,CRD,11.0 +VTS,1,2,540,2.32,CSH,10.0 +VTS,1,1,900,3.23,CSH,12.5 +VTS,1,2,1140,4.71,CSH,17.0 +VTS,1,1,420,1.1,CRD,7.0 +VTS,1,2,300,0.95,CRD,5.5 +VTS,1,2,480,1.77,CRD,8.0 +VTS,1,2,180,0.64,CSH,4.5 +VTS,1,2,420,1.47,CSH,7.0 +VTS,1,1,660,1.4,CSH,8.5 +VTS,1,1,300,0.84,CRD,5.5 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,2,540,2.6,CRD,10.0 +VTS,1,2,540,1.57,CSH,8.5 +VTS,1,2,840,2.14,CSH,11.0 +VTS,1,2,1140,2.71,CRD,14.0 +VTS,1,2,480,1.07,CSH,6.5 +VTS,1,2,300,0.72,CRD,5.0 +VTS,1,2,240,0.4,CSH,4.0 +VTS,1,2,600,1.62,CRD,8.5 +VTS,1,1,600,1.37,CRD,8.0 +VTS,1,2,1380,3.95,CSH,14.5 +VTS,1,2,0,0.07,CSH,2.5 +VTS,1,2,360,0.77,CRD,5.5 +VTS,1,2,1020,2.0,CSH,12.0 +VTS,1,1,1440,2.64,CRD,16.5 +VTS,1,3,180,0.91,CRD,4.5 +VTS,1,3,540,1.63,CRD,8.5 +VTS,1,3,1500,9.33,CRD,28.5 +VTS,1,3,180,1.11,CRD,5.5 +VTS,1,4,180,0.9,CRD,4.5 +VTS,1,4,480,1.89,CSH,8.5 +VTS,1,3,360,1.67,CRD,7.5 +VTS,2,3,2280,19.5,CRD,52.0 +VTS,1,4,180,0.56,CRD,4.0 +VTS,1,4,840,5.0,CRD,16.0 +VTS,1,3,180,1.11,CSH,5.5 +VTS,1,5,540,5.29,CRD,16.0 +VTS,1,3,1020,3.14,CSH,13.5 +VTS,1,3,300,0.54,CRD,5.5 +VTS,1,4,180,0.49,CSH,4.0 +VTS,1,3,420,1.44,CRD,7.5 +VTS,1,3,660,2.39,CSH,10.5 +VTS,1,4,360,1.01,CRD,6.0 +VTS,1,4,240,0.68,CSH,4.5 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,300,0.7,CRD,5.0 +VTS,1,1,300,1.17,CRD,5.5 +VTS,1,4,360,1.3,CSH,6.5 +VTS,1,2,240,1.03,CRD,5.0 +VTS,1,4,540,2.74,CRD,10.5 +VTS,1,3,300,0.78,CRD,5.0 +VTS,1,3,300,1.53,CSH,6.5 +VTS,1,3,300,0.83,CSH,5.5 +VTS,1,2,1560,6.47,CRD,24.0 +VTS,1,3,360,1.41,CSH,7.0 +VTS,1,4,120,0.7,CRD,4.0 +VTS,1,3,360,1.85,CRD,7.5 +VTS,1,3,180,0.85,CRD,4.5 +VTS,1,4,240,0.92,CSH,5.0 +VTS,1,4,180,0.89,CRD,5.0 +VTS,1,4,660,1.82,CSH,9.5 +VTS,1,3,360,1.14,CRD,6.0 +VTS,1,4,480,1.34,CRD,7.0 +VTS,1,4,1260,4.55,CRD,17.5 +VTS,1,4,180,0.37,CSH,4.0 +VTS,1,4,660,2.57,CRD,10.5 +VTS,1,4,960,8.93,CRD,25.5 +VTS,1,3,600,1.55,CRD,8.0 +VTS,1,3,420,1.55,CSH,7.0 +VTS,1,3,300,0.88,CRD,5.0 +VTS,1,3,480,0.91,CSH,6.5 +VTS,1,3,840,3.57,CSH,14.0 +VTS,1,4,300,0.99,CSH,5.5 +VTS,1,5,60,0.15,CSH,3.0 +VTS,1,2,900,5.13,CRD,17.0 +VTS,1,1,420,1.08,CRD,6.5 +VTS,1,1,660,1.94,CSH,9.0 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,4,240,0.66,CRD,5.0 +VTS,2,3,3420,16.95,CRD,52.0 +VTS,1,3,600,0.7,CRD,7.5 +VTS,1,3,240,1.07,CSH,5.5 +VTS,1,5,720,1.23,CRD,9.5 +VTS,1,4,1200,5.92,CSH,19.0 +VTS,1,5,360,1.96,CRD,8.0 +VTS,1,4,300,1.12,CSH,6.0 +VTS,1,4,300,1.2,CSH,6.0 +VTS,1,4,360,0.77,CRD,5.5 +VTS,1,4,600,2.66,CRD,10.0 +VTS,1,4,1260,4.63,CRD,17.5 +VTS,1,3,360,1.28,CRD,6.5 +VTS,1,3,420,1.39,CSH,7.5 +VTS,1,4,660,3.05,CRD,12.0 +VTS,1,4,1020,4.16,CRD,15.5 +VTS,1,4,480,1.57,CSH,8.0 +VTS,1,4,540,4.27,CSH,13.0 +VTS,1,5,720,3.2,CSH,12.5 +VTS,1,5,1200,2.76,CRD,14.0 +VTS,1,4,900,2.56,CSH,11.5 +VTS,1,3,240,0.63,CSH,4.5 +VTS,1,3,420,1.69,CRD,7.5 +VTS,1,4,540,1.97,CRD,8.5 +VTS,1,4,240,1.44,CSH,6.5 +VTS,1,4,240,1.42,CSH,6.0 +VTS,1,4,660,3.68,CRD,12.5 +VTS,1,4,480,1.74,CRD,8.0 +VTS,1,4,480,1.54,CRD,7.5 +VTS,1,4,300,1.1,CSH,6.0 +VTS,1,4,240,0.87,CRD,5.0 +VTS,1,3,360,0.75,CRD,6.0 +VTS,1,3,660,4.33,CRD,14.0 +VTS,1,4,600,3.65,CSH,12.5 +VTS,1,4,1800,12.77,CRD,36.5 +VTS,1,4,840,6.55,CSH,19.0 +VTS,1,4,660,3.66,CRD,13.0 +VTS,1,3,240,0.8,CRD,4.5 +VTS,1,3,420,2.31,CSH,9.5 +VTS,1,4,1140,2.37,CRD,13.0 +VTS,1,4,1320,2.82,CSH,16.0 +VTS,1,3,300,0.72,CSH,5.0 +VTS,1,4,840,3.19,CRD,12.0 +VTS,1,1,240,0.39,CRD,4.0 +VTS,1,1,540,3.18,CRD,11.5 +VTS,1,1,780,2.08,CSH,10.5 +VTS,3,4,2160,21.12,CRD,75.5 +VTS,1,3,1260,4.27,CRD,17.0 +VTS,1,4,180,0.6,CSH,4.0 +VTS,1,3,420,2.58,CRD,9.0 +VTS,1,4,780,2.45,CRD,11.0 +VTS,1,4,240,0.58,CRD,4.5 +VTS,1,3,840,3.58,CRD,13.0 +VTS,1,4,600,2.11,CSH,9.5 +VTS,1,4,600,2.5,CRD,10.0 +VTS,1,3,180,0.33,CSH,3.5 +VTS,1,4,240,1.13,CSH,5.5 +VTS,1,3,360,0.93,CSH,5.5 +VTS,1,5,240,0.85,CRD,5.0 +VTS,1,3,900,5.64,CRD,17.5 +VTS,1,4,1020,10.3,CRD,29.0 +VTS,2,4,1860,19.88,CRD,52.0 +VTS,1,4,300,1.26,CSH,6.5 +VTS,1,3,240,1.56,CRD,6.5 +VTS,1,3,360,0.89,CSH,5.5 +VTS,1,3,1320,3.87,CSH,16.5 +VTS,1,4,840,3.88,CRD,14.0 +VTS,1,3,660,4.11,CRD,13.5 +VTS,1,3,300,1.5,CRD,6.0 +VTS,1,3,840,2.59,CRD,12.0 +VTS,1,4,1620,11.69,CRD,35.0 +VTS,1,3,60,0.32,CSH,3.0 +VTS,1,3,180,0.39,CRD,3.5 +VTS,1,4,240,0.88,CSH,5.0 +VTS,1,4,1440,5.91,CRD,21.5 +VTS,1,2,600,1.21,CRD,7.5 +VTS,1,4,360,1.02,CRD,5.5 +VTS,1,3,480,1.9,CSH,8.0 +VTS,1,4,1200,6.83,CRD,21.5 +VTS,1,4,600,3.76,CSH,12.5 +VTS,1,4,240,0.9,CSH,5.0 +VTS,1,1,240,0.95,CSH,5.0 +VTS,1,3,480,1.64,CSH,7.5 +VTS,1,3,420,0.81,CRD,6.5 +VTS,1,4,240,1.41,CSH,6.5 +VTS,1,4,300,1.01,CSH,6.0 +VTS,1,4,600,0.82,CSH,7.0 +VTS,1,4,180,0.55,CRD,4.0 +VTS,1,4,180,0.37,CSH,4.0 +VTS,1,2,1200,5.54,CRD,19.5 +VTS,1,2,480,1.78,CRD,8.0 +VTS,1,3,660,2.91,CRD,11.0 +VTS,1,4,300,1.84,CSH,7.0 +VTS,1,3,300,1.43,CRD,6.0 +VTS,1,4,360,1.29,CSH,7.0 +VTS,1,3,1020,3.01,CRD,12.5 +VTS,1,4,1260,6.94,CRD,23.0 +VTS,1,3,420,1.42,CSH,7.5 +VTS,1,4,1080,3.32,CRD,14.0 +VTS,1,3,1140,8.24,CSH,25.0 +VTS,1,4,540,1.64,CRD,8.5 +VTS,1,4,360,0.9,CRD,6.0 +VTS,1,3,300,1.22,CSH,6.0 +VTS,1,4,780,4.53,CSH,15.5 +VTS,1,4,240,0.9,CRD,5.0 +VTS,1,3,420,1.67,CSH,8.0 +VTS,1,3,300,1.29,CSH,6.5 +VTS,1,4,720,3.91,CSH,14.0 +VTS,1,2,360,1.23,CSH,6.0 +VTS,1,3,900,1.82,CSH,11.0 +VTS,1,4,360,1.52,CRD,7.0 +VTS,1,3,540,1.68,CRD,8.5 +VTS,1,3,300,2.28,CRD,8.0 +VTS,1,3,480,1.9,CSH,9.0 +VTS,1,3,1020,2.26,CSH,12.5 +VTS,1,3,360,2.05,CSH,7.5 +VTS,1,3,660,2.83,CSH,11.0 +VTS,1,4,420,3.62,CRD,12.0 +VTS,1,3,540,1.67,CRD,8.0 +VTS,1,5,360,1.21,CRD,6.5 +VTS,1,3,960,9.98,CRD,27.5 +VTS,1,4,540,3.7,CSH,12.0 +VTS,1,4,1140,6.28,CSH,20.5 +VTS,1,3,300,0.68,CRD,5.0 +VTS,1,3,300,1.12,CSH,6.0 +VTS,1,4,540,2.54,CRD,9.0 +VTS,1,1,540,2.25,CSH,9.5 +VTS,1,4,900,1.38,CRD,10.5 +VTS,1,3,480,1.21,CRD,7.0 +VTS,1,3,360,1.13,CSH,6.5 +VTS,1,3,960,5.56,CRD,19.0 +VTS,1,3,660,4.68,CSH,15.5 +VTS,1,4,180,0.71,CSH,4.5 +VTS,1,3,540,1.72,CSH,8.0 +VTS,1,4,600,5.1,CSH,16.0 +VTS,1,4,480,2.87,CRD,10.5 +VTS,1,4,840,6.05,CSH,18.0 +VTS,1,3,660,1.62,CSH,9.0 +VTS,1,4,300,0.93,CRD,6.0 +VTS,1,3,180,0.4,CSH,4.0 +VTS,1,3,480,1.21,CSH,7.0 +VTS,1,3,900,6.04,CSH,19.0 +VTS,1,3,960,2.18,CRD,12.0 +VTS,1,3,300,1.11,CRD,6.0 +VTS,1,4,60,0.42,CRD,3.5 +VTS,1,4,600,2.2,CSH,9.5 +VTS,1,5,540,3.99,CSH,13.0 +VTS,1,3,0,0.22,CSH,3.0 +VTS,1,3,360,1.28,CSH,6.5 +VTS,1,3,60,0.33,CSH,3.5 +VTS,1,3,600,1.35,CSH,8.0 +VTS,1,4,480,1.46,CRD,7.5 +VTS,1,4,180,0.99,CSH,5.0 +VTS,1,3,60,0.42,CSH,3.5 +VTS,1,4,240,1.7,CSH,7.0 +VTS,1,4,1020,3.23,CSH,13.5 +VTS,1,4,360,0.75,CSH,6.0 +VTS,1,3,1260,7.71,CRD,24.5 +VTS,1,3,1080,6.71,CRD,21.5 +VTS,1,3,840,2.0,CRD,10.5 +VTS,1,3,180,0.8,CRD,4.5 +VTS,1,4,540,0.79,CRD,6.5 +VTS,1,3,540,1.91,CSH,8.5 +VTS,1,4,840,4.67,CRD,16.5 +VTS,1,5,720,3.58,CSH,12.5 +VTS,1,4,1140,5.02,CSH,17.5 +VTS,1,3,300,0.89,CRD,4.5 +VTS,1,3,480,1.41,CRD,7.0 +VTS,1,4,660,4.27,CSH,14.0 +VTS,1,3,840,4.16,CRD,15.0 +VTS,1,3,360,1.09,CSH,6.5 +VTS,1,3,720,2.27,CSH,10.5 +VTS,1,3,900,2.46,CSH,11.5 +VTS,1,3,360,1.09,CSH,6.0 +VTS,1,3,720,1.5,CRD,9.0 +VTS,1,4,420,1.64,CSH,7.5 +VTS,1,3,1020,3.47,CSH,14.5 +VTS,1,4,960,8.97,CRD,25.5 +VTS,1,4,1380,7.06,CRD,22.5 +VTS,1,4,1260,13.55,CRD,37.0 +VTS,1,3,900,1.79,CRD,11.0 +VTS,1,3,960,1.98,CSH,11.5 +VTS,1,3,420,1.43,CRD,7.5 +VTS,1,4,1200,3.29,CRD,15.5 +VTS,1,4,1320,4.89,CSH,19.5 +VTS,1,4,480,2.78,CRD,10.5 +VTS,1,4,1020,10.0,CSH,28.5 +VTS,1,4,840,7.94,CRD,23.5 +VTS,1,1,420,1.39,CRD,7.5 +VTS,1,1,300,1.65,CRD,7.0 +VTS,1,1,900,3.4,CSH,13.5 +VTS,1,1,360,0.84,CSH,6.0 +VTS,1,1,120,0.25,CSH,3.5 +VTS,1,3,540,0.96,CRD,7.5 +VTS,1,4,240,1.17,CRD,5.5 +VTS,1,3,780,2.91,CSH,11.5 +VTS,1,4,900,1.97,CSH,11.0 +VTS,1,3,180,0.79,CSH,5.0 +VTS,1,4,240,0.46,CRD,4.0 +VTS,1,3,300,1.2,CSH,6.5 +VTS,1,4,660,3.6,CRD,12.5 +VTS,1,3,1320,5.67,CRD,20.0 +VTS,1,3,840,2.56,CRD,11.5 +VTS,1,3,1140,4.7,CSH,17.0 +VTS,1,4,780,6.51,CRD,20.0 +VTS,1,3,240,1.19,CSH,5.5 +VTS,1,4,420,1.16,CRD,6.5 +VTS,1,3,420,1.91,CSH,7.5 +VTS,1,2,360,1.56,CSH,7.0 +VTS,1,3,780,2.42,CRD,11.0 +VTS,1,4,780,3.99,CRD,14.5 +VTS,1,4,480,1.81,CRD,8.0 +VTS,1,4,780,3.29,CRD,13.0 +VTS,1,3,480,1.19,CRD,7.5 +VTS,1,3,240,0.88,CRD,5.0 +VTS,1,3,540,1.48,CSH,8.0 +VTS,1,4,1740,13.45,CSH,39.0 +VTS,1,4,360,1.52,CRD,6.5 +VTS,1,2,1320,5.71,CRD,19.0 +VTS,1,4,900,3.95,CRD,14.5 +VTS,1,3,780,6.1,CRD,18.5 +VTS,1,4,480,1.36,CRD,7.0 +VTS,1,3,1140,5.17,CSH,17.5 +VTS,1,3,300,1.15,CSH,6.0 +VTS,1,4,180,0.41,CRD,4.0 +VTS,1,3,420,1.01,CRD,6.5 +VTS,1,4,780,4.38,CSH,14.0 +VTS,1,4,240,0.8,CRD,5.0 +VTS,1,4,780,1.94,CRD,10.5 +VTS,1,4,660,3.39,CRD,12.0 +VTS,1,5,780,1.55,CRD,9.5 +VTS,1,3,420,2.82,CSH,9.5 +VTS,1,3,120,0.48,CSH,4.0 +VTS,1,2,660,1.02,CRD,8.0 +VTS,1,4,360,1.17,CSH,6.0 +VTS,1,4,240,1.4,CSH,6.0 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,720,2.2,CRD,10.0 +VTS,1,4,660,1.88,CRD,9.5 +VTS,1,2,300,0.62,CRD,5.0 +VTS,1,4,720,1.44,CSH,9.0 +VTS,1,3,840,2.24,CSH,11.0 +VTS,1,4,600,2.57,CRD,10.0 +VTS,1,4,540,1.49,CRD,8.0 +VTS,1,4,1200,3.47,CSH,15.5 +VTS,1,2,600,4.16,CRD,13.5 +VTS,1,3,300,0.85,CSH,5.5 +VTS,1,4,1140,6.24,CSH,20.5 +VTS,1,3,780,7.41,CRD,21.5 +VTS,1,4,360,1.5,CSH,7.0 +VTS,1,4,120,0.68,CSH,4.0 +VTS,1,3,420,1.44,CRD,7.0 +VTS,1,4,840,2.93,CSH,12.0 +VTS,1,4,120,0.74,CSH,4.0 +VTS,1,4,540,2.93,CSH,10.5 +VTS,1,3,600,2.53,CRD,10.5 +VTS,1,3,480,1.95,CRD,8.0 +VTS,1,4,360,1.13,CRD,6.0 +VTS,1,4,480,2.44,CSH,9.5 +VTS,1,3,240,0.61,CSH,5.0 +VTS,1,4,840,2.79,CSH,11.5 +VTS,1,3,660,2.59,CRD,10.0 +VTS,1,4,600,1.04,CRD,8.0 +VTS,1,4,420,1.12,CRD,6.0 +VTS,1,4,600,3.37,CRD,11.5 +VTS,1,4,420,2.12,CSH,8.5 +VTS,1,3,780,2.44,CRD,11.0 +VTS,1,1,120,0.5,CRD,3.5 +VTS,1,3,1140,4.22,CSH,16.5 +VTS,1,3,780,2.62,CSH,11.5 +VTS,1,3,300,0.83,CRD,5.0 +VTS,1,4,480,0.93,CRD,6.5 +VTS,1,4,1140,5.91,CRD,20.5 +VTS,1,3,480,2.16,CRD,9.0 +VTS,1,3,780,7.58,CRD,21.5 +VTS,1,3,300,1.3,CSH,6.0 +VTS,1,3,240,0.98,CSH,5.0 +VTS,1,3,900,5.21,CSH,17.5 +VTS,1,4,120,0.14,CSH,3.5 +VTS,1,3,540,2.7,CRD,10.0 +VTS,1,4,480,0.87,CRD,6.5 +VTS,1,3,1200,6.48,CRD,20.5 +VTS,1,3,780,3.83,CRD,13.5 +VTS,1,3,1260,1.87,CRD,14.0 +VTS,1,3,660,1.99,CRD,9.5 +VTS,1,4,1440,9.55,CSH,30.0 +VTS,1,4,1320,6.96,CRD,22.5 +VTS,1,3,180,0.69,CRD,4.5 +VTS,1,3,180,0.6,CSH,4.0 +VTS,1,4,540,1.78,CSH,8.0 +VTS,1,3,1260,5.01,CRD,18.5 +VTS,1,4,600,2.42,CRD,9.5 +VTS,1,4,300,1.67,CSH,7.0 +VTS,1,4,600,2.78,CRD,11.0 +VTS,1,4,420,2.06,CSH,8.5 +VTS,1,3,780,2.2,CRD,10.0 +VTS,1,3,300,0.62,CRD,5.0 +VTS,1,4,480,1.55,CRD,8.0 +VTS,1,4,300,1.24,CRD,6.5 +VTS,1,4,540,1.2,CRD,7.5 +VTS,1,4,360,1.44,CRD,6.5 +VTS,1,4,120,0.63,CSH,4.0 +VTS,1,4,840,4.24,CSH,14.5 +VTS,1,4,180,0.75,CRD,4.5 +VTS,1,4,240,0.85,CSH,5.5 +VTS,1,3,360,0.87,CRD,5.5 +VTS,1,3,600,3.91,CSH,14.0 +VTS,1,4,480,0.85,CRD,6.5 +VTS,1,4,180,0.29,CSH,4.0 +VTS,1,3,540,1.57,CSH,8.0 +VTS,1,4,360,0.95,CSH,5.5 +VTS,1,3,600,1.54,CRD,8.5 +VTS,1,4,720,3.41,CSH,12.5 +VTS,1,4,300,1.39,CRD,6.5 +VTS,1,4,780,2.82,CSH,12.0 +VTS,1,4,360,1.26,CSH,6.5 +VTS,1,3,360,1.67,CSH,7.0 +VTS,1,4,1080,7.27,CSH,23.0 +VTS,1,4,720,4.12,CSH,14.0 +VTS,1,2,840,2.25,CSH,11.0 +VTS,1,4,180,0.43,CSH,4.0 +VTS,1,3,1440,11.72,CRD,34.5 +VTS,1,4,480,1.84,CSH,8.5 +VTS,1,3,600,1.93,CSH,9.0 +VTS,1,4,360,1.09,CSH,6.0 +VTS,1,4,660,1.68,CSH,9.0 +VTS,1,3,900,2.31,CRD,11.5 +VTS,1,4,1560,4.14,CRD,18.5 +VTS,1,4,480,1.38,CRD,7.0 +VTS,1,4,900,4.41,CRD,15.0 +VTS,1,3,600,2.63,CRD,10.5 +VTS,1,4,540,1.9,CSH,8.5 +VTS,1,4,120,0.63,CSH,4.5 +VTS,1,3,780,4.04,CRD,13.5 +VTS,1,3,540,2.98,CSH,10.0 +VTS,1,5,480,2.04,CRD,8.0 +VTS,1,3,540,1.83,CRD,8.5 +VTS,1,4,600,1.68,CSH,8.5 +VTS,1,3,420,1.45,CRD,7.0 +VTS,1,3,360,0.94,CSH,6.0 +VTS,1,4,420,1.39,CRD,6.5 +VTS,1,3,660,2.92,CRD,11.0 +VTS,1,4,540,2.83,CSH,10.0 +VTS,1,4,1260,7.13,CRD,22.5 +VTS,1,4,2040,14.23,CRD,42.0 +VTS,1,4,120,0.34,CSH,3.5 +VTS,1,3,120,0.84,CSH,4.5 +VTS,1,3,360,1.05,CRD,6.0 +VTS,1,3,60,0.45,CRD,3.5 +VTS,1,4,360,1.02,CRD,6.0 +VTS,1,4,480,0.49,CRD,6.5 +VTS,1,3,120,0.82,CSH,4.5 +VTS,1,4,480,1.51,CRD,7.5 +VTS,1,3,420,1.21,CRD,7.0 +VTS,1,4,1260,11.98,CSH,33.5 +VTS,1,4,660,1.79,CSH,9.0 +VTS,1,4,540,2.25,CSH,9.5 +VTS,1,4,480,1.73,CRD,8.0 +VTS,1,1,360,1.1,CSH,6.0 +VTS,1,1,360,1.38,CRD,7.0 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,240,0.7,CSH,4.5 +VTS,1,5,1140,4.89,CRD,17.5 +VTS,1,2,480,1.05,CRD,7.0 +VTS,1,4,420,1.01,CRD,6.0 +VTS,1,3,660,1.88,CRD,9.5 +VTS,1,3,180,0.65,CSH,4.5 +VTS,1,3,540,2.5,CSH,9.5 +VTS,1,5,180,0.62,CSH,4.0 +VTS,1,3,540,1.54,CRD,7.5 +VTS,1,3,420,1.73,CRD,8.0 +VTS,1,4,720,4.2,CRD,14.0 +VTS,1,3,300,0.62,CRD,5.0 +VTS,1,5,180,0.82,CSH,4.5 +VTS,1,3,540,2.12,CSH,9.0 +VTS,1,3,300,1.93,CRD,7.0 +VTS,1,4,300,0.64,CSH,5.0 +VTS,1,4,600,1.37,CRD,8.0 +VTS,1,4,840,7.73,CSH,22.5 +VTS,1,4,600,2.73,CRD,10.0 +VTS,1,4,540,2.49,CRD,10.0 +VTS,1,3,660,3.05,CRD,12.0 +VTS,1,3,180,0.55,CRD,4.5 +VTS,1,3,180,0.59,CRD,4.5 +VTS,1,4,540,2.46,CRD,9.5 +VTS,1,3,300,1.83,CRD,7.5 +VTS,1,4,240,0.69,CSH,4.5 +VTS,1,3,360,1.43,CRD,6.5 +VTS,1,2,960,3.22,CRD,13.0 +VTS,1,2,240,0.71,CSH,5.0 +VTS,1,4,480,1.25,CSH,7.5 +VTS,1,3,240,0.45,CSH,4.5 +VTS,1,4,1020,5.08,CRD,18.0 +VTS,2,1,1200,16.58,CSH,52.0 +VTS,1,1,660,3.93,CRD,13.5 +VTS,1,4,780,2.75,CRD,11.0 +VTS,1,4,720,1.43,CRD,9.0 +VTS,1,3,720,2.67,CRD,12.0 +VTS,1,4,480,1.43,CRD,7.5 +VTS,1,5,1380,3.3,CRD,15.5 +VTS,1,4,240,0.79,CSH,5.0 +VTS,1,3,420,1.13,CRD,6.5 +VTS,1,4,660,2.33,CRD,10.0 +VTS,1,4,660,2.69,CSH,11.0 +VTS,1,3,420,2.22,CRD,8.5 +VTS,1,5,1200,7.47,CRD,23.5 +VTS,1,3,540,0.93,CSH,7.5 +VTS,1,5,360,0.8,CSH,5.5 +VTS,1,4,360,0.86,CRD,5.0 +VTS,1,3,720,1.91,CRD,9.5 +VTS,1,3,600,1.34,CSH,8.0 +VTS,1,4,180,0.78,CRD,4.5 +VTS,1,4,180,0.99,CSH,5.0 +VTS,1,3,720,3.95,CRD,14.0 +VTS,1,3,540,1.54,CSH,8.5 +VTS,1,5,420,2.15,CSH,8.5 +VTS,1,3,600,0.95,CRD,8.0 +VTS,1,5,420,1.95,CRD,8.0 +VTS,1,4,1080,9.56,CSH,28.5 +VTS,1,4,720,4.68,CRD,14.5 +VTS,5,1,60,0.0,CRD,55.8 +VTS,1,3,300,2.1,CSH,8.0 +VTS,1,3,240,0.71,CSH,4.5 +VTS,1,3,660,1.19,CRD,8.0 +VTS,1,3,600,1.8,CSH,9.0 +VTS,1,5,900,2.84,CRD,12.5 +VTS,1,4,1140,3.87,CRD,16.5 +VTS,1,4,240,1.0,CRD,5.0 +VTS,1,4,300,0.96,CRD,5.5 +VTS,1,4,300,0.55,CRD,4.5 +VTS,1,2,540,0.72,CSH,6.5 +VTS,1,3,540,1.43,CSH,7.5 +VTS,1,4,300,1.39,CSH,6.0 +VTS,1,4,240,0.82,CRD,5.0 +VTS,1,4,660,1.69,CSH,9.0 +VTS,1,3,60,0.31,CRD,3.0 +VTS,1,2,960,3.08,CRD,13.0 +VTS,1,4,840,2.91,CRD,11.5 +VTS,1,3,300,1.34,CSH,6.5 +VTS,1,4,300,1.66,CRD,7.0 +VTS,1,4,60,0.7,CSH,4.0 +VTS,1,4,360,2.41,CSH,8.5 +VTS,1,4,420,1.51,CSH,7.0 +VTS,1,3,1200,2.04,CSH,13.5 +VTS,1,3,600,1.87,CSH,9.0 +VTS,1,4,1020,3.42,CSH,13.5 +VTS,1,3,480,1.79,CSH,8.0 +VTS,1,3,900,3.66,CSH,13.5 +VTS,1,4,180,1.21,CRD,5.5 +VTS,1,4,120,0.71,CSH,4.0 +VTS,1,4,300,1.32,CRD,6.5 +VTS,1,3,600,2.42,CSH,9.5 +VTS,5,1,60,0.0,CRD,60.0 +VTS,1,4,1260,3.41,CRD,15.5 +VTS,1,3,1860,4.7,CRD,21.5 +VTS,1,3,600,1.97,CRD,8.5 +VTS,1,4,360,0.44,CSH,4.5 +VTS,1,3,540,1.27,CRD,7.0 +VTS,1,3,660,4.17,CSH,13.5 +VTS,1,3,240,0.86,CRD,4.5 +VTS,1,3,420,1.36,CRD,6.5 +VTS,1,4,900,3.32,CSH,13.5 +VTS,1,3,1200,4.51,CRD,17.0 +VTS,1,4,1560,8.64,CRD,27.5 +VTS,1,5,480,1.63,CRD,7.5 +VTS,1,3,300,1.26,CRD,6.0 +VTS,1,3,540,2.59,CSH,9.5 +VTS,1,4,1140,8.15,CRD,24.5 +VTS,1,1,180,1.77,CSH,6.5 +VTS,1,1,300,1.11,CSH,6.0 +VTS,1,3,300,0.7,CSH,5.5 +VTS,1,3,360,0.8,CRD,5.5 +VTS,1,4,300,0.74,CSH,5.0 +VTS,1,3,600,3.26,CRD,12.0 +VTS,1,3,720,0.84,CRD,8.0 +VTS,1,4,540,1.81,CSH,8.5 +VTS,1,4,360,1.41,CRD,7.0 +VTS,1,4,840,8.36,CRD,24.0 +VTS,1,4,1080,2.08,CRD,12.5 +VTS,1,4,300,0.79,CRD,5.5 +VTS,1,3,120,0.61,CSH,4.0 +VTS,1,3,120,0.36,CRD,3.0 +VTS,1,3,360,2.14,CRD,8.5 +VTS,1,4,480,1.06,CSH,7.0 +VTS,1,4,1440,12.84,CRD,37.5 +VTS,1,3,180,1.13,CSH,5.0 +VTS,1,4,240,1.0,CRD,5.0 +VTS,1,3,240,0.6,CSH,4.5 +VTS,1,3,840,3.47,CRD,13.0 +VTS,1,3,300,0.98,CSH,5.5 +VTS,1,3,540,1.1,CRD,7.0 +VTS,1,3,180,0.95,CSH,4.5 +VTS,1,4,480,2.05,CSH,8.5 +VTS,1,4,480,1.8,CSH,8.0 +VTS,1,3,900,2.26,CRD,11.0 +VTS,1,3,1320,7.46,CRD,23.5 +VTS,1,4,240,1.62,CSH,6.5 +VTS,1,3,360,2.04,CSH,8.0 +VTS,1,4,180,0.7,CSH,4.5 +VTS,1,3,300,1.37,CRD,6.5 +VTS,1,4,1080,5.75,CSH,19.0 +VTS,1,4,840,3.87,CRD,13.5 +VTS,1,4,360,1.32,CRD,6.5 +VTS,1,3,1140,1.53,CRD,12.0 +VTS,1,3,1080,4.35,CSH,16.0 +VTS,1,3,180,0.89,CRD,5.0 +VTS,1,2,900,3.47,CRD,13.0 +VTS,1,4,240,0.82,CRD,5.0 +VTS,1,3,540,1.58,CRD,8.5 +VTS,1,3,1860,4.79,CRD,21.5 +VTS,1,3,480,1.2,CRD,7.0 +VTS,1,4,600,1.67,CSH,8.5 +VTS,1,3,180,0.79,CRD,4.5 +VTS,1,5,240,0.51,CRD,4.5 +VTS,1,4,1440,14.68,CRD,41.0 +VTS,1,3,900,2.35,CRD,11.5 +VTS,1,3,1140,5.85,CSH,20.0 +VTS,1,4,1140,3.95,CSH,16.0 +VTS,1,3,300,0.91,CSH,5.5 +VTS,1,4,1200,4.25,CSH,18.0 +VTS,1,4,240,0.32,CSH,3.5 +VTS,1,3,300,0.57,CRD,5.0 +VTS,1,3,720,1.57,CRD,9.0 +VTS,1,4,600,1.08,CRD,7.5 +VTS,1,3,300,0.77,CRD,5.0 +VTS,1,4,1440,4.13,CRD,18.0 +VTS,1,3,720,1.47,CRD,8.5 +VTS,1,4,360,0.82,CRD,5.5 +VTS,1,4,300,2.36,CSH,8.5 +VTS,1,3,780,2.82,CRD,11.5 +VTS,1,2,180,0.5,CSH,4.0 +VTS,1,4,720,2.22,CRD,10.5 +VTS,1,3,180,0.47,CSH,4.0 +VTS,1,3,300,1.26,CSH,6.0 +VTS,1,4,660,4.11,CSH,14.0 +VTS,1,4,600,2.07,CRD,9.0 +VTS,2,2,1680,17.76,CRD,52.0 +VTS,1,4,180,0.62,CSH,4.0 +VTS,1,2,900,3.69,CSH,13.5 +VTS,1,3,1200,10.08,CRD,29.5 +VTS,1,3,420,1.75,CSH,8.0 +VTS,1,4,240,0.84,CRD,5.0 +VTS,1,3,300,0.83,CSH,5.5 +VTS,1,3,480,1.05,CRD,6.5 +VTS,1,3,600,1.94,CRD,9.0 +VTS,1,3,1080,2.54,CSH,13.0 +VTS,1,4,660,2.29,CRD,9.5 +VTS,1,3,60,0.65,CSH,4.0 +VTS,1,3,420,2.29,CSH,8.0 +VTS,1,4,300,1.21,CRD,6.5 +VTS,1,3,360,0.89,CRD,5.5 +VTS,1,4,660,1.03,CSH,8.0 +VTS,1,3,840,1.53,CSH,9.5 +VTS,1,3,1140,5.29,CSH,18.0 +VTS,1,4,1020,8.6,CSH,25.0 +VTS,1,1,900,6.31,CSH,20.0 +VTS,1,1,300,0.9,CRD,5.0 +VTS,1,1,960,2.57,CRD,12.0 +VTS,1,1,780,2.46,CRD,11.0 +VTS,1,1,660,1.73,CRD,9.0 +VTS,1,2,1080,4.72,CSH,16.5 +VTS,1,1,660,2.7,CSH,10.5 +VTS,1,1,360,1.4,CSH,6.5 +VTS,1,2,360,0.65,CSH,5.5 +VTS,1,1,660,2.27,CRD,9.5 +VTS,1,1,420,3.22,CRD,11.0 +VTS,1,1,900,5.3,CRD,18.0 +VTS,1,1,420,1.93,CSH,8.0 +VTS,1,1,240,0.4,CSH,4.0 +VTS,1,1,1440,4.09,CRD,18.5 +VTS,1,2,240,0.64,CRD,4.5 +VTS,1,1,120,0.15,CRD,3.0 +VTS,1,3,240,1.74,CSH,7.0 +VTS,1,4,360,0.83,CRD,5.5 +VTS,1,4,300,1.23,CRD,6.0 +VTS,1,4,780,2.06,CSH,10.0 +VTS,1,4,420,1.86,CRD,8.0 +VTS,1,3,360,1.28,CRD,6.0 +VTS,1,3,240,0.36,CRD,4.5 +VTS,1,4,720,3.55,CSH,13.0 +VTS,1,4,240,0.93,CSH,5.5 +VTS,1,3,420,1.62,CSH,8.5 +VTS,1,4,300,0.87,CSH,5.5 +VTS,1,4,300,1.62,CSH,7.0 +VTS,1,4,420,1.42,CRD,7.0 +VTS,1,3,480,0.9,CRD,6.5 +VTS,1,4,360,1.33,CSH,7.5 +VTS,1,1,660,3.44,CSH,12.0 +VTS,1,1,360,0.76,CSH,5.5 +VTS,1,1,1140,3.95,CSH,16.0 +VTS,1,3,600,2.24,CRD,9.5 +VTS,1,3,300,1.24,CSH,6.5 +VTS,1,2,180,0.45,CSH,4.0 +VTS,1,3,300,1.64,CRD,7.0 +VTS,1,3,60,0.61,CSH,4.0 +VTS,1,3,240,1.0,CSH,5.5 +VTS,1,3,600,2.02,CRD,8.5 +VTS,1,4,840,3.04,CRD,12.0 +VTS,1,3,300,1.33,CRD,6.5 +VTS,1,4,240,0.86,CSH,5.0 +VTS,1,3,720,2.01,CRD,10.0 +VTS,1,3,1080,4.71,CRD,17.0 +VTS,1,4,900,1.6,CRD,10.5 +VTS,1,3,1080,8.99,CRD,26.5 +VTS,1,4,600,2.56,CRD,10.5 +VTS,1,4,900,4.33,CSH,14.5 +VTS,1,3,360,1.51,CSH,7.0 +VTS,1,3,720,3.0,CRD,11.5 +VTS,1,5,240,0.83,CSH,5.0 +VTS,1,4,180,1.14,CSH,5.5 +VTS,1,4,900,2.57,CRD,12.0 +VTS,1,3,1440,6.11,CRD,22.5 +VTS,1,3,480,2.64,CSH,10.0 +VTS,1,4,1560,4.95,CRD,20.0 +VTS,1,4,780,3.94,CRD,13.0 +VTS,1,4,1020,3.44,CRD,14.0 +VTS,1,3,1320,2.74,CRD,15.0 +VTS,1,3,600,1.78,CSH,9.0 +VTS,1,4,1020,4.11,CRD,15.5 +VTS,1,4,660,1.73,CSH,9.0 +VTS,1,3,1440,6.16,CRD,22.0 +VTS,1,3,360,2.07,CRD,8.0 +VTS,1,3,420,1.93,CSH,8.0 +VTS,1,3,360,2.3,CRD,8.5 +VTS,1,3,840,2.5,CRD,11.0 +VTS,1,4,840,2.35,CRD,11.5 +VTS,1,4,360,1.19,CRD,6.5 +VTS,1,3,480,2.19,CRD,8.5 +VTS,1,4,240,0.52,CSH,4.5 +VTS,1,3,480,2.68,CRD,9.5 +VTS,1,4,1020,5.62,CRD,18.0 +VTS,1,4,420,1.74,CRD,7.5 +VTS,1,4,1260,8.18,CRD,25.0 +VTS,1,3,840,3.73,CSH,15.0 +VTS,1,4,720,2.1,CSH,10.0 +VTS,1,4,240,1.24,CSH,5.5 +VTS,1,3,360,1.27,CSH,6.5 +VTS,1,3,180,0.5,CSH,4.0 +VTS,1,4,600,1.24,CSH,7.5 +VTS,1,3,720,2.18,CRD,10.0 +VTS,1,3,1020,5.82,CSH,18.5 +VTS,1,3,300,1.88,CSH,7.0 +VTS,1,1,120,0.6,CSH,4.0 +VTS,1,1,540,1.73,CSH,8.0 +VTS,1,4,540,2.47,CSH,9.5 +VTS,1,4,1680,6.88,CRD,25.0 +VTS,1,4,780,1.45,CSH,9.5 +VTS,1,2,480,1.91,CRD,8.0 +VTS,1,3,360,0.94,CRD,5.5 +VTS,1,3,1020,4.45,CRD,16.5 +VTS,1,3,420,1.07,CRD,6.5 +VTS,1,4,660,0.92,CRD,8.0 +VTS,1,4,1560,6.62,CSH,23.5 +VTS,1,3,600,2.33,CRD,9.5 +VTS,1,2,540,1.79,CRD,8.5 +VTS,1,3,540,2.22,CRD,9.5 +VTS,1,3,660,2.06,CSH,9.0 +VTS,1,3,420,1.21,CSH,7.0 +VTS,1,3,780,2.81,CRD,12.5 +VTS,1,3,1080,4.04,CRD,15.0 +VTS,1,4,2760,10.36,CRD,37.5 +VTS,1,3,660,2.47,CRD,10.5 +VTS,1,3,840,4.23,CRD,15.0 +VTS,1,4,2040,16.4,CRD,48.5 +VTS,1,4,1500,5.08,CRD,19.5 +VTS,1,3,480,2.22,CRD,8.5 +VTS,1,4,180,0.48,CRD,4.0 +VTS,1,4,480,1.56,CRD,7.0 +VTS,1,3,540,1.6,CRD,8.5 +VTS,1,4,480,1.83,CRD,8.0 +VTS,1,3,240,0.71,CSH,5.0 +VTS,1,4,660,1.55,CRD,8.5 +VTS,1,3,300,0.65,CSH,5.0 +VTS,1,3,300,1.42,CSH,7.0 +VTS,1,3,360,1.2,CSH,6.5 +VTS,1,4,540,1.02,CRD,7.5 +VTS,1,4,540,2.0,CRD,9.5 +VTS,1,4,660,2.17,CSH,10.5 +VTS,1,4,660,2.33,CRD,9.5 +VTS,1,3,1080,4.93,CRD,17.0 +VTS,1,4,1020,6.44,CSH,21.5 +VTS,1,4,480,1.79,CRD,8.0 +VTS,1,3,1920,7.64,CRD,28.0 +VTS,1,4,600,2.27,CRD,9.5 +VTS,1,4,840,3.78,CSH,13.0 +VTS,1,4,780,2.54,CRD,11.0 +VTS,1,3,180,1.08,CRD,5.0 +VTS,1,3,120,1.11,CSH,5.0 +VTS,1,3,360,1.86,CRD,7.5 +VTS,1,4,600,2.72,CSH,10.0 +VTS,1,3,600,1.68,CSH,9.0 +VTS,1,3,420,1.0,CRD,6.0 +VTS,1,3,480,0.84,CSH,6.5 +VTS,1,4,420,0.96,CRD,6.0 +VTS,1,2,420,2.21,CRD,9.0 +VTS,1,1,540,2.07,CSH,9.0 +VTS,1,1,540,1.89,CRD,8.5 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,1920,3.99,CSH,20.5 +VTS,1,4,420,1.31,CSH,6.5 +VTS,1,1,240,0.69,CSH,5.0 +VTS,1,3,180,0.95,CSH,5.0 +VTS,1,4,420,1.21,CSH,6.0 +VTS,1,3,240,0.74,CSH,4.5 +VTS,1,3,480,1.4,CRD,7.5 +VTS,1,3,240,1.27,CRD,6.0 +VTS,1,3,240,1.51,CSH,6.0 +VTS,1,3,480,2.88,CRD,9.5 +VTS,1,3,840,2.74,CRD,11.5 +VTS,1,3,540,1.0,CRD,7.0 +VTS,1,4,420,2.44,CRD,8.5 +VTS,1,4,180,0.88,CSH,4.5 +VTS,1,3,420,1.72,CRD,7.5 +VTS,1,4,420,1.27,CRD,6.5 +VTS,1,3,1680,12.14,CRD,36.5 +VTS,1,1,360,1.34,CSH,6.5 +VTS,1,1,600,1.6,CRD,8.5 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,540,1.34,CSH,7.5 +VTS,1,2,600,5.25,CRD,16.0 +VTS,1,1,900,2.47,CRD,12.0 +VTS,1,1,660,1.66,CSH,9.0 +VTS,1,1,780,1.71,CSH,9.5 +VTS,1,1,780,2.28,CRD,10.5 +VTS,1,1,240,1.12,CRD,5.5 +VTS,1,2,960,5.03,CRD,17.5 +VTS,1,1,600,2.06,CSH,9.5 +VTS,1,2,2100,8.26,CSH,29.5 +VTS,1,4,600,1.67,CRD,8.5 +VTS,1,4,180,0.38,CSH,3.5 +VTS,1,3,480,1.35,CSH,7.0 +VTS,1,4,480,1.6,CSH,7.5 +VTS,1,3,300,0.6,CSH,5.0 +VTS,1,3,660,1.7,CSH,8.5 +VTS,1,3,300,0.64,CSH,5.0 +VTS,1,4,660,3.05,CSH,12.0 +VTS,1,3,900,6.03,CRD,19.0 +VTS,1,3,360,1.78,CSH,7.5 +VTS,1,4,480,1.43,CSH,7.0 +VTS,1,3,660,2.13,CSH,9.5 +VTS,1,3,360,1.22,CRD,6.5 +VTS,1,4,360,1.2,CRD,6.5 +VTS,1,4,240,1.78,CRD,6.5 +VTS,1,4,420,1.12,CSH,6.5 +VTS,1,3,360,1.15,CRD,6.5 +VTS,1,3,540,1.76,CSH,8.0 +VTS,1,4,180,1.0,CSH,5.0 +VTS,1,4,420,2.19,CSH,8.5 +VTS,1,3,300,1.77,CRD,7.5 +VTS,1,3,240,0.93,CSH,5.5 +VTS,1,3,1380,4.0,CRD,17.5 +VTS,1,3,1260,11.09,CSH,31.5 +VTS,1,1,360,1.44,CRD,7.0 +VTS,1,1,600,2.54,CSH,10.0 +VTS,1,4,900,2.49,CRD,11.5 +VTS,1,4,660,1.91,CRD,9.5 +VTS,1,4,360,0.97,CRD,6.0 +VTS,1,4,840,2.47,CRD,11.0 +VTS,1,3,480,2.08,CRD,8.5 +VTS,1,3,480,2.28,CRD,9.5 +VTS,1,4,720,4.04,CRD,13.0 +VTS,1,4,840,2.34,CRD,11.0 +VTS,1,1,300,1.26,CSH,6.0 +VTS,1,1,1200,4.36,CSH,17.5 +VTS,1,1,1260,4.53,CRD,17.0 +VTS,1,1,540,2.06,CRD,8.5 +VTS,1,1,180,0.63,CRD,4.5 +VTS,1,2,240,1.04,CSH,5.5 +VTS,1,1,420,0.83,CSH,6.0 +VTS,1,2,120,0.78,CSH,4.5 +VTS,1,1,1020,5.17,CRD,17.5 +VTS,1,1,1380,7.38,CRD,24.0 +VTS,1,1,660,1.88,CSH,10.0 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,1,780,4.08,CRD,14.0 +VTS,1,1,780,3.33,CSH,13.0 +VTS,1,1,720,2.57,CRD,10.5 +VTS,1,1,720,2.05,CSH,10.0 +VTS,1,1,240,0.84,CRD,5.0 +VTS,1,1,480,1.78,CRD,8.0 +VTS,1,3,240,0.71,CSH,5.0 +VTS,1,3,960,4.2,CRD,15.5 +VTS,1,3,1020,2.45,CRD,13.0 +VTS,1,2,180,0.47,CSH,4.0 +VTS,1,4,780,2.39,CSH,11.0 +VTS,1,4,600,5.1,CRD,16.0 +VTS,1,1,1020,9.84,CSH,27.5 +VTS,1,2,1380,7.26,CSH,24.0 +VTS,1,2,300,0.88,CSH,5.5 +VTS,1,1,420,1.22,CRD,6.5 +VTS,1,1,720,1.73,CRD,9.5 +VTS,1,1,660,1.54,CRD,9.5 +VTS,1,2,780,2.26,CSH,11.0 +VTS,1,1,1500,4.2,CRD,18.5 +VTS,1,1,360,0.62,CRD,5.5 +VTS,5,1,900,4.39,CSH,40.0 +VTS,1,1,960,2.73,CSH,12.0 +VTS,1,2,420,1.86,CRD,7.5 +VTS,1,1,600,3.82,CRD,13.0 +VTS,1,1,480,2.05,CSH,8.5 +VTS,1,1,420,2.21,CRD,8.5 +VTS,1,1,660,2.37,CRD,10.0 +VTS,1,1,600,0.86,CSH,8.0 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,720,2.92,CSH,11.5 +VTS,1,1,360,0.87,CRD,6.0 +VTS,1,4,360,1.18,CSH,6.0 +VTS,1,4,720,2.89,CSH,12.0 +VTS,1,3,660,4.82,CRD,15.5 +VTS,1,2,1200,9.92,CSH,29.0 +VTS,1,1,780,3.62,CSH,14.0 +VTS,1,1,180,0.53,CSH,4.0 +VTS,1,3,180,0.47,CRD,3.5 +VTS,1,2,780,2.6,CSH,11.5 +VTS,1,1,900,1.99,CRD,11.5 +VTS,1,1,840,2.47,CRD,11.5 +VTS,1,1,1140,2.62,CRD,13.0 +VTS,1,2,720,2.4,CSH,10.0 +VTS,2,1,3060,16.38,CSH,52.0 +VTS,1,1,600,1.25,CSH,7.5 +VTS,1,1,840,3.31,CSH,13.0 +VTS,1,1,660,2.61,CSH,10.5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,2,300,2.45,CSH,8.5 +VTS,1,2,300,1.31,CSH,6.0 +VTS,1,1,480,0.75,CSH,6.5 +VTS,1,1,840,2.72,CSH,12.0 +VTS,1,1,600,3.27,CRD,11.0 +VTS,1,1,900,1.27,CSH,10.0 +VTS,1,1,1440,2.9,CRD,16.0 +VTS,2,2,2340,17.52,CRD,52.0 +VTS,1,1,180,0.47,CSH,4.0 +VTS,1,1,240,0.85,CRD,5.0 +VTS,1,1,480,1.11,CRD,7.0 +VTS,1,1,420,1.28,CRD,7.0 +VTS,1,1,1140,5.94,CRD,19.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,300,0.97,CSH,6.0 +VTS,1,1,600,2.32,CRD,10.0 +VTS,1,1,120,0.35,CSH,3.5 +VTS,1,3,720,1.38,CRD,9.5 +VTS,1,1,660,1.13,CRD,8.5 +VTS,1,2,360,1.08,CRD,6.5 +VTS,1,1,300,0.97,CSH,6.0 +VTS,1,1,540,2.71,CRD,9.5 +VTS,1,1,360,1.46,CRD,7.0 +VTS,1,1,480,1.01,CRD,7.0 +VTS,1,1,600,2.96,CRD,11.0 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,240,0.58,CRD,4.0 +VTS,1,1,960,2.26,CRD,12.0 +VTS,1,1,1320,5.85,CRD,21.5 +VTS,1,2,660,0.96,CSH,8.5 +VTS,1,2,960,3.32,CRD,14.0 +VTS,1,4,540,0.71,CRD,7.0 +VTS,1,2,360,0.8,CSH,6.0 +VTS,1,1,1020,2.98,CSH,13.5 +VTS,1,2,240,0.7,CSH,4.5 +VTS,1,1,960,1.99,CSH,10.5 +VTS,1,1,540,1.67,CSH,8.5 +VTS,1,2,660,1.64,CSH,8.5 +VTS,1,1,960,4.34,CRD,16.0 +VTS,1,1,360,0.88,CSH,6.0 +VTS,1,4,480,1.81,CSH,8.0 +VTS,1,1,300,0.5,CSH,4.5 +VTS,1,1,1740,7.78,CSH,28.5 +VTS,1,2,720,2.57,CSH,10.5 +VTS,1,1,180,0.44,CRD,4.0 +VTS,1,3,840,5.57,CRD,17.5 +VTS,1,1,720,2.21,CSH,10.5 +VTS,1,1,180,0.28,CSH,3.5 +VTS,1,1,240,0.48,CSH,4.0 +VTS,1,1,720,2.13,CRD,10.0 +VTS,1,1,240,1.14,CRD,5.5 +VTS,1,1,1200,1.32,CSH,12.5 +VTS,1,2,600,1.04,CSH,8.0 +VTS,1,1,120,0.26,CSH,3.5 +VTS,1,1,780,2.65,CRD,12.0 +VTS,1,1,360,0.65,CSH,6.0 +VTS,1,1,1620,5.54,CRD,21.0 +VTS,1,1,1020,3.01,CRD,14.5 +VTS,1,1,780,1.1,CRD,9.5 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,720,3.04,CSH,12.5 +VTS,1,3,420,1.23,CSH,6.5 +VTS,1,4,540,1.99,CSH,10.0 +VTS,1,3,420,0.95,CRD,6.0 +VTS,1,3,60,0.3,CRD,3.0 +VTS,1,4,1320,3.25,CRD,15.0 +VTS,1,4,360,0.87,CSH,5.5 +VTS,1,3,480,2.04,CSH,8.5 +VTS,1,4,1140,7.47,CSH,23.0 +VTS,1,4,780,4.98,CRD,15.5 +VTS,1,3,480,1.27,CSH,7.0 +VTS,1,4,480,0.89,CRD,6.0 +VTS,1,4,480,2.01,CRD,9.0 +VTS,1,4,240,0.7,CRD,4.5 +VTS,1,3,240,1.37,CRD,6.0 +VTS,1,3,240,1.09,CSH,5.5 +VTS,1,3,540,1.68,CRD,8.0 +VTS,1,3,1200,4.33,CRD,18.5 +VTS,1,4,420,1.31,CSH,7.0 +VTS,1,3,420,1.67,CSH,7.5 +VTS,1,3,360,1.17,CSH,6.5 +VTS,1,3,960,3.07,CSH,13.5 +VTS,1,4,1080,9.07,CRD,26.5 +VTS,1,4,180,1.06,CSH,5.0 +VTS,1,5,240,0.73,CRD,4.5 +VTS,1,4,600,1.64,CSH,9.0 +VTS,1,3,1020,2.31,CRD,12.5 +VTS,1,1,480,0.99,CRD,6.5 +VTS,1,1,1200,3.5,CRD,15.5 +VTS,1,1,1440,12.61,CSH,36.5 +VTS,1,1,600,0.77,CSH,7.0 +VTS,1,1,360,0.87,CRD,5.5 +VTS,1,1,1440,18.32,CSH,49.0 +VTS,1,1,1140,7.42,CRD,23.0 +VTS,1,1,600,0.65,CSH,7.5 +VTS,1,1,840,2.72,CRD,11.5 +VTS,1,1,660,3.08,CRD,12.0 +VTS,1,1,480,1.12,CSH,6.5 +VTS,1,1,1140,1.44,CRD,12.5 +VTS,1,1,360,0.93,CSH,6.0 +VTS,1,1,780,2.55,CRD,11.0 +VTS,1,1,180,0.56,CSH,4.0 +VTS,1,1,840,5.43,CRD,17.5 +VTS,1,1,360,0.97,CSH,6.0 +VTS,1,2,720,1.51,CSH,9.5 +VTS,1,2,780,1.96,CRD,10.5 +VTS,1,1,300,1.65,CRD,7.0 +VTS,1,2,900,3.07,CRD,13.0 +VTS,1,1,840,2.62,CRD,11.5 +VTS,1,1,480,1.24,CRD,7.5 +VTS,1,1,1620,9.83,CRD,30.5 +VTS,1,1,1020,1.74,CRD,11.5 +VTS,1,3,900,2.26,CSH,12.0 +VTS,1,1,900,4.82,CSH,16.0 +VTS,1,1,480,1.6,CSH,8.0 +VTS,1,1,1140,6.51,CRD,20.5 +VTS,1,1,540,0.91,CRD,6.5 +VTS,1,1,720,2.04,CRD,9.0 +VTS,1,1,960,2.43,CRD,12.5 +VTS,1,1,840,1.91,CSH,11.0 +VTS,1,1,840,3.45,CSH,13.5 +VTS,1,1,900,2.69,CSH,12.5 +VTS,1,1,60,0.51,CSH,3.5 +VTS,1,4,1860,7.79,CSH,28.5 +VTS,1,4,600,2.24,CSH,10.0 +VTS,1,1,840,2.03,CRD,11.5 +VTS,1,2,540,1.41,CRD,7.5 +VTS,1,2,1560,4.17,CRD,19.0 +VTS,1,1,0,0.18,CSH,2.5 +VTS,1,1,900,2.81,CRD,12.0 +VTS,1,2,720,1.53,CRD,9.0 +VTS,1,1,1080,2.3,CSH,12.0 +VTS,1,1,240,0.73,CRD,5.0 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,2,720,0.86,CRD,8.5 +VTS,1,1,360,1.01,CSH,6.0 +VTS,1,1,540,0.64,CRD,7.0 +VTS,1,1,420,1.41,CSH,7.0 +VTS,1,1,1740,6.93,CRD,25.0 +VTS,1,1,240,1.26,CSH,5.5 +VTS,1,1,180,0.92,CRD,4.5 +VTS,1,2,900,2.32,CRD,11.5 +VTS,1,1,2220,6.24,CRD,26.0 +VTS,1,1,840,2.4,CSH,11.0 +VTS,1,1,540,2.61,CRD,10.0 +VTS,1,1,480,0.9,CSH,6.5 +VTS,1,1,480,1.8,CSH,8.0 +VTS,1,1,600,2.25,CRD,10.0 +VTS,1,1,840,2.02,CRD,11.0 +VTS,1,2,1740,7.68,CSH,24.0 +VTS,1,3,1140,6.96,CSH,22.0 +VTS,1,3,540,1.31,CRD,8.0 +VTS,1,1,480,1.32,CRD,7.5 +VTS,1,1,1440,2.75,CRD,16.0 +VTS,1,2,480,0.6,CRD,6.0 +VTS,1,1,180,0.55,CRD,4.5 +VTS,1,1,1080,5.46,CRD,19.5 +VTS,1,1,540,2.31,CRD,9.5 +VTS,1,1,360,0.56,CSH,4.5 +VTS,1,1,540,0.94,CRD,7.0 +VTS,1,2,480,0.62,CSH,6.0 +VTS,1,2,720,1.2,CRD,9.0 +VTS,1,2,660,2.73,CSH,10.5 +VTS,1,1,300,0.52,CSH,4.5 +VTS,1,1,300,0.7,CRD,5.5 +VTS,1,3,360,0.83,CSH,5.0 +VTS,1,1,420,1.03,CSH,6.0 +VTS,1,1,420,1.67,CRD,7.5 +VTS,1,1,720,1.41,CSH,9.0 +VTS,1,1,540,2.36,CRD,9.5 +VTS,1,1,60,0.2,CSH,3.0 +VTS,1,2,540,1.53,CSH,6.5 +VTS,1,1,480,0.82,CSH,6.5 +VTS,1,1,720,1.14,CRD,9.0 +VTS,1,1,360,0.95,CRD,6.0 +VTS,1,1,960,2.31,CSH,12.0 +VTS,1,1,180,0.84,CRD,5.0 +VTS,1,1,120,0.49,CRD,3.5 +VTS,1,2,1020,2.62,CSH,12.5 +VTS,1,2,900,1.37,CRD,10.5 +VTS,1,1,360,2.02,CRD,8.0 +VTS,1,1,660,2.46,CRD,10.0 +VTS,1,1,300,0.89,CSH,6.0 +VTS,1,2,480,1.84,CRD,8.0 +VTS,1,1,480,1.76,CRD,7.5 +VTS,1,1,0,0.06,CSH,2.5 +VTS,1,3,480,1.21,CRD,7.0 +VTS,1,3,240,0.59,CSH,4.5 +VTS,1,1,420,1.46,CRD,7.5 +VTS,1,2,600,1.97,CRD,9.0 +VTS,1,1,660,1.72,CSH,9.5 +VTS,1,2,1140,6.7,CRD,22.0 +VTS,1,1,420,2.98,CRD,9.5 +VTS,1,1,540,2.41,CRD,10.0 +VTS,1,1,300,0.77,CRD,5.0 +VTS,1,1,300,1.14,CSH,6.0 +VTS,1,1,900,4.21,CRD,15.5 +VTS,1,2,1080,9.3,CRD,27.0 +VTS,1,1,780,1.62,CRD,10.0 +VTS,1,1,300,0.66,CSH,5.0 +VTS,1,1,420,1.38,CRD,7.0 +VTS,1,2,1020,2.92,CRD,13.5 +VTS,1,1,180,0.45,CSH,4.0 +VTS,1,1,540,2.35,CRD,9.5 +VTS,1,2,540,2.23,CRD,9.5 +VTS,1,1,900,1.9,CRD,10.5 +VTS,1,1,240,1.49,CSH,6.0 +VTS,1,1,600,1.59,CSH,9.0 +VTS,1,1,1440,3.19,CSH,16.5 +VTS,1,1,540,1.39,CRD,8.0 +VTS,1,1,1500,4.04,CSH,15.0 +VTS,1,1,480,1.33,CSH,7.5 +VTS,1,1,660,1.46,CRD,8.5 +VTS,1,1,780,4.17,CSH,15.0 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,600,1.85,CSH,9.0 +VTS,1,1,240,1.36,CSH,6.0 +VTS,1,3,1380,2.7,CRD,11.5 +VTS,1,4,420,0.83,CRD,6.0 +VTS,1,1,840,1.34,CRD,9.5 +VTS,1,1,900,2.19,CSH,11.0 +VTS,1,1,480,1.33,CRD,7.0 +VTS,1,2,2160,14.0,CRD,41.0 +VTS,1,1,360,1.56,CRD,6.5 +VTS,1,4,360,0.85,CSH,5.5 +VTS,1,1,300,1.42,CRD,6.0 +VTS,1,2,120,0.47,CSH,3.5 +VTS,1,2,600,2.25,CRD,9.5 +VTS,1,1,240,0.84,CSH,5.0 +VTS,1,1,360,1.62,CRD,7.0 +VTS,1,1,360,1.05,CRD,6.0 +VTS,1,1,240,0.56,CRD,4.5 +VTS,1,1,240,0.75,CSH,4.5 +VTS,1,1,480,1.23,CSH,7.5 +VTS,1,1,900,1.76,CRD,11.0 +VTS,1,1,1140,1.75,CSH,10.0 +VTS,1,4,360,0.98,CSH,6.0 +VTS,1,1,240,1.18,CRD,6.0 +VTS,1,1,300,0.57,CRD,5.0 +VTS,1,1,420,0.88,CRD,6.0 +VTS,1,2,60,0.02,CSH,2.5 +VTS,1,1,480,0.87,CSH,7.0 +VTS,1,1,300,0.51,CRD,4.5 +VTS,1,1,1200,2.6,CRD,13.5 +VTS,1,1,360,1.65,CSH,7.0 +VTS,1,1,2100,6.9,CRD,27.0 +VTS,2,2,1380,16.63,CRD,52.0 +VTS,1,1,300,0.88,CSH,5.0 +VTS,1,2,240,0.73,CSH,5.0 +VTS,1,3,840,2.45,CRD,11.5 +VTS,1,1,480,2.46,CRD,9.0 +VTS,1,3,1920,4.76,CSH,22.5 +VTS,1,1,1500,5.04,CRD,21.0 +VTS,1,1,1080,3.79,CSH,15.5 +VTS,1,1,300,0.88,CRD,5.0 +VTS,1,1,360,0.65,CRD,5.5 +VTS,1,1,1200,3.1,CSH,15.0 +VTS,1,1,600,1.05,CRD,8.0 +VTS,1,1,420,1.42,CRD,7.0 +VTS,1,1,240,0.84,CSH,5.5 +VTS,1,2,900,2.86,CSH,12.0 +VTS,1,2,180,0.58,CSH,4.0 +VTS,1,1,840,2.18,CSH,9.0 +VTS,1,2,540,1.47,CSH,6.5 +VTS,1,1,480,1.39,CRD,7.5 +VTS,1,2,540,1.69,CSH,7.5 +VTS,1,2,1440,3.6,CRD,17.0 +VTS,1,1,480,1.09,CSH,7.0 +VTS,1,1,300,1.05,CSH,6.0 +VTS,1,2,900,3.09,CRD,13.5 +VTS,1,1,660,1.84,CRD,9.5 +VTS,1,1,240,0.74,CRD,4.5 +VTS,1,1,660,2.9,CSH,11.5 +VTS,1,2,180,0.41,CSH,4.0 +VTS,1,1,900,3.43,CRD,14.0 +VTS,1,1,1200,3.78,CRD,16.0 +VTS,1,1,300,0.59,CRD,5.0 +VTS,1,2,420,1.6,CSH,7.5 +VTS,1,1,840,1.9,CSH,11.0 +VTS,1,1,1740,4.32,CSH,14.5 +VTS,1,1,300,1.37,CRD,7.0 +VTS,1,2,180,0.49,CSH,4.0 +VTS,1,1,600,1.57,CRD,8.5 +VTS,1,2,1020,9.55,CRD,27.5 +VTS,1,2,720,1.3,CRD,9.0 +VTS,1,1,720,2.85,CSH,12.0 +VTS,1,1,420,1.32,CSH,6.5 +VTS,1,1,180,0.34,CSH,4.0 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,660,5.12,CRD,16.0 +VTS,1,2,1440,3.92,CSH,17.5 +VTS,1,1,1140,1.8,CSH,12.5 +VTS,1,1,1200,3.08,CRD,14.5 +VTS,1,1,1680,5.01,CSH,20.5 +VTS,1,1,600,1.55,CRD,8.5 +VTS,1,1,600,2.53,CSH,9.5 +VTS,1,2,420,1.32,CSH,7.0 +VTS,1,1,660,1.05,CRD,8.0 +VTS,1,1,420,0.86,CRD,6.0 +VTS,1,4,540,1.21,CSH,8.0 +VTS,1,1,1020,1.29,CRD,11.0 +VTS,1,1,360,0.52,CRD,5.0 +VTS,1,1,720,2.51,CRD,11.0 +VTS,1,1,780,3.01,CRD,12.0 +VTS,1,2,420,1.42,CRD,7.0 +VTS,1,2,660,1.59,CSH,8.5 +VTS,1,1,1080,4.36,CRD,16.0 +VTS,1,1,660,2.51,CRD,10.5 +VTS,1,1,540,3.41,CRD,12.0 +VTS,1,1,420,1.19,CRD,7.0 +VTS,1,2,300,1.0,CSH,6.0 +VTS,1,1,1380,3.09,CSH,16.0 +VTS,1,1,780,2.56,CRD,11.0 +VTS,1,1,420,0.88,CRD,6.0 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,480,1.05,CSH,6.5 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,1,1260,3.54,CSH,15.0 +VTS,1,1,540,1.79,CSH,8.0 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,240,0.92,CSH,5.5 +VTS,1,1,600,1.12,CSH,7.5 +VTS,1,3,600,1.89,CSH,9.0 +VTS,1,1,420,1.62,CRD,7.5 +VTS,1,1,600,1.31,CRD,8.0 +VTS,1,4,780,2.41,CSH,11.0 +VTS,1,1,780,3.68,CRD,13.0 +VTS,1,1,240,0.94,CRD,5.0 +VTS,1,1,300,0.79,CRD,5.0 +VTS,1,1,1980,20.01,CRD,55.0 +VTS,1,1,300,1.03,CSH,6.0 +VTS,1,1,300,0.89,CSH,6.0 +VTS,1,1,960,2.13,CSH,11.5 +VTS,1,2,660,4.99,CSH,15.5 +VTS,2,2,2760,18.1,CSH,52.0 +VTS,1,1,780,3.29,CSH,13.0 +VTS,1,1,1140,2.2,CRD,13.5 +VTS,1,4,1140,2.65,CSH,13.5 +VTS,1,1,960,2.22,CSH,12.5 +VTS,1,1,840,2.49,CRD,12.0 +VTS,1,1,480,1.17,CSH,7.0 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,1,180,0.35,CRD,4.0 +VTS,1,1,900,1.93,CRD,11.0 +VTS,1,1,1020,2.39,CSH,12.5 +VTS,1,1,420,1.39,CRD,7.0 +VTS,1,1,780,1.88,CSH,10.0 +VTS,1,1,600,1.45,CSH,8.0 +VTS,1,1,720,3.44,CRD,13.0 +VTS,1,1,420,1.54,CSH,6.5 +VTS,1,4,540,1.13,CRD,8.0 +VTS,1,1,360,1.29,CSH,6.5 +VTS,1,1,900,2.89,CSH,12.0 +VTS,1,2,660,1.44,CSH,8.5 +VTS,1,1,1140,5.7,CSH,19.0 +VTS,1,1,300,1.75,CRD,7.0 +VTS,1,1,600,1.54,CSH,8.5 +VTS,1,1,1020,2.45,CRD,12.5 +VTS,1,1,960,1.07,CRD,10.5 +VTS,1,1,780,5.69,CSH,17.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,780,2.81,CSH,11.0 +VTS,1,1,180,0.95,CSH,5.0 +VTS,1,1,480,1.59,CSH,7.5 +VTS,1,1,180,0.27,CSH,3.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,720,2.32,CSH,10.0 +VTS,1,1,2040,6.61,CSH,26.0 +VTS,1,1,660,1.14,CSH,8.5 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,1,2220,19.11,CSH,54.5 +VTS,1,1,1080,2.69,CRD,12.0 +VTS,1,1,600,0.86,CSH,7.0 +VTS,1,4,480,2.16,CSH,9.0 +VTS,1,4,1800,6.7,CSH,25.0 +VTS,1,3,600,2.92,CSH,11.0 +VTS,1,4,240,0.5,CSH,4.5 +VTS,1,3,480,1.9,CSH,9.0 +VTS,1,3,480,0.87,CSH,6.5 +VTS,1,3,660,2.46,CRD,10.5 +VTS,1,5,960,8.28,CSH,24.5 +VTS,1,1,660,1.88,CSH,9.0 +VTS,1,2,180,0.33,CSH,4.0 +VTS,1,1,660,2.73,CRD,10.5 +VTS,1,1,720,1.7,CRD,9.0 +VTS,1,1,1020,2.56,CRD,12.5 +VTS,1,1,660,3.32,CSH,11.5 +VTS,1,1,600,3.19,CRD,11.5 +VTS,1,1,480,1.12,CSH,7.0 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,2,120,0.44,CSH,3.5 +VTS,1,1,900,1.28,CSH,7.5 +VTS,1,1,840,2.23,CRD,11.0 +VTS,1,1,660,1.68,CRD,9.0 +VTS,1,1,840,2.34,CRD,11.5 +VTS,1,1,240,0.5,CRD,5.0 +VTS,1,1,600,3.03,CSH,10.5 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,300,0.72,CSH,5.0 +VTS,1,1,900,2.1,CSH,11.5 +VTS,1,3,420,1.01,CRD,6.5 +VTS,1,1,300,1.25,CSH,6.0 +VTS,1,2,2040,4.61,CSH,22.5 +VTS,1,1,360,2.16,CRD,8.5 +VTS,1,1,240,0.7,CSH,4.5 +VTS,1,1,420,2.6,CSH,9.0 +VTS,1,1,720,2.48,CRD,10.0 +VTS,1,1,780,2.22,CRD,10.5 +VTS,1,1,960,1.64,CSH,11.0 +VTS,1,1,480,1.24,CRD,7.5 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,3,240,0.67,CSH,5.0 +VTS,1,1,420,1.56,CRD,7.0 +VTS,2,1,3300,20.75,CRD,52.0 +VTS,1,1,420,1.13,CRD,6.5 +VTS,1,2,780,2.4,CRD,11.0 +VTS,1,1,600,1.91,CRD,9.5 +VTS,1,2,840,2.02,CSH,9.5 +VTS,1,1,720,1.8,CRD,9.5 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,540,1.22,CRD,8.0 +VTS,1,1,1080,5.5,CRD,18.0 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,660,2.32,CSH,10.0 +VTS,1,1,720,2.17,CRD,10.5 +VTS,1,2,120,0.3,CSH,4.0 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,1,900,1.83,CSH,10.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,1980,5.3,CSH,22.5 +VTS,1,1,420,1.02,CRD,6.5 +VTS,1,1,660,1.01,CRD,8.0 +VTS,1,1,180,0.44,CSH,4.0 +VTS,1,1,420,0.68,CRD,6.5 +VTS,1,2,360,1.25,CSH,6.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,480,2.39,CSH,9.0 +VTS,1,1,480,1.9,CRD,8.0 +VTS,1,1,300,1.02,CSH,5.5 +VTS,1,1,900,2.6,CRD,12.0 +VTS,1,1,720,1.13,CSH,7.5 +VTS,1,1,540,2.78,CSH,11.0 +VTS,1,1,1620,4.03,CRD,18.5 +VTS,3,1,1680,16.66,CRD,63.0 +VTS,1,1,480,0.9,CSH,6.5 +VTS,1,1,540,2.35,CRD,9.0 +VTS,1,1,1260,2.4,CRD,14.5 +VTS,1,1,540,3.04,CRD,10.5 +VTS,1,1,840,3.1,CSH,11.5 +VTS,1,1,420,0.98,CRD,6.5 +VTS,1,1,600,0.96,CSH,7.5 +VTS,1,1,720,1.76,CRD,9.5 +VTS,1,1,240,0.7,CRD,4.5 +VTS,1,1,360,1.47,CRD,7.0 +VTS,1,3,840,2.32,CSH,10.5 +VTS,1,2,540,1.96,CSH,8.5 +VTS,1,1,540,1.5,CSH,8.5 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,1,300,0.71,CRD,5.5 +VTS,1,1,780,2.61,CSH,11.5 +VTS,1,1,480,1.59,CRD,7.5 +VTS,1,1,420,1.16,CSH,6.5 +VTS,1,1,660,1.3,CSH,8.5 +VTS,1,1,360,0.59,CSH,5.5 +VTS,1,1,2100,19.43,CRD,53.5 +VTS,1,1,600,1.74,CRD,8.0 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,780,1.73,CSH,9.0 +VTS,1,1,540,1.43,CSH,8.0 +VTS,1,1,780,2.61,CSH,11.5 +VTS,1,1,5100,35.37,CSH,108.5 +VTS,1,1,1080,1.52,CSH,12.0 +VTS,1,1,1320,10.48,CRD,30.0 +VTS,1,1,600,2.5,CRD,10.0 +VTS,1,1,1080,7.91,CRD,24.0 +VTS,1,1,660,1.56,CRD,8.0 +VTS,1,1,420,1.66,CSH,7.5 +VTS,1,1,2220,23.14,CSH,62.5 +VTS,1,1,1440,4.69,CRD,19.0 +VTS,1,1,540,1.72,CRD,8.5 +VTS,1,1,240,0.67,CRD,4.5 +VTS,1,1,600,1.48,CRD,8.0 +VTS,1,2,480,0.71,CSH,6.5 +VTS,1,1,120,0.42,CSH,3.5 +VTS,1,1,720,4.83,CSH,15.5 +VTS,1,1,420,1.54,CRD,7.5 +VTS,1,1,240,1.13,CSH,5.5 +VTS,1,2,960,1.83,CSH,11.5 +VTS,1,1,180,0.39,CSH,4.0 +VTS,1,1,900,1.68,CSH,10.0 +VTS,1,1,1920,8.01,CSH,28.5 +VTS,1,1,720,1.47,CSH,9.5 +VTS,1,1,300,1.1,CSH,6.0 +VTS,1,1,360,1.87,CSH,7.5 +VTS,1,1,600,0.84,CSH,7.0 +VTS,1,1,2580,18.99,CSH,57.0 +VTS,1,1,1500,9.84,CSH,29.0 +VTS,1,1,3600,28.23,CSH,78.5 +VTS,1,1,660,1.21,CSH,9.0 +VTS,1,1,3120,19.85,CRD,61.0 +VTS,1,1,960,1.79,CSH,11.0 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,540,1.13,CSH,7.5 +VTS,1,1,360,1.01,CSH,6.0 +VTS,1,1,360,2.23,CSH,8.5 +VTS,1,1,900,2.2,CRD,11.5 +VTS,1,1,180,0.49,CRD,4.0 +VTS,1,1,600,1.7,CRD,8.5 +VTS,1,1,300,0.78,CSH,5.0 +VTS,1,1,300,0.76,CSH,6.0 +VTS,1,1,840,2.4,CRD,11.0 +VTS,1,1,660,0.75,CRD,7.5 +VTS,1,1,300,0.69,CSH,5.5 +VTS,1,1,300,1.03,CSH,6.0 +VTS,1,1,420,0.51,CSH,5.5 +VTS,1,1,480,2.05,CSH,8.5 +VTS,1,1,1080,4.27,CSH,15.5 +VTS,1,1,600,1.93,CSH,9.5 +VTS,1,1,660,1.88,CSH,8.5 +VTS,1,1,2580,14.08,CSH,42.5 +VTS,1,1,1140,2.62,CSH,12.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,540,0.99,CSH,7.0 +VTS,1,1,2160,21.91,CSH,61.5 +VTS,1,1,1440,11.6,CSH,33.5 +VTS,2,1,0,0.03,CRD,52.0 +VTS,1,1,840,6.77,CSH,20.5 +VTS,1,1,1320,2.78,CSH,14.0 +VTS,1,1,480,1.65,CSH,8.0 +VTS,1,1,1980,17.37,CSH,49.5 +VTS,1,1,3120,20.35,CSH,58.5 +VTS,1,1,840,1.89,CRD,10.5 +VTS,1,1,0,0.08,CSH,2.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,660,1.42,CSH,8.5 +VTS,1,1,480,0.82,CSH,6.5 +VTS,1,1,660,1.66,CSH,9.0 +VTS,1,1,1680,15.25,CSH,43.0 +VTS,1,1,780,2.79,CSH,12.0 +VTS,1,1,600,1.89,CSH,9.0 +VTS,1,1,1080,1.95,CSH,11.5 +VTS,1,1,540,1.51,CSH,8.5 +VTS,1,1,480,1.31,CSH,7.0 +VTS,1,1,1200,3.3,CRD,14.0 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,780,1.54,CSH,10.0 +VTS,1,1,960,5.4,CSH,18.0 +VTS,1,1,120,0.62,CSH,4.0 +VTS,1,1,660,0.88,CSH,8.0 +VTS,1,1,780,2.33,CSH,10.5 +VTS,1,1,720,1.01,CRD,8.0 +VTS,1,1,1140,7.96,CSH,24.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,1260,3.41,CSH,15.5 +VTS,1,1,720,1.76,CSH,9.5 +VTS,1,1,1920,12.11,CSH,37.0 +VTS,1,1,2100,15.06,CSH,45.0 +VTS,1,1,300,0.65,CSH,5.0 +VTS,1,1,180,0.79,CRD,4.5 +VTS,1,1,180,0.5,CSH,4.0 +VTS,1,1,2220,15.69,CRD,45.5 +VTS,1,1,1200,4.4,CSH,16.5 +VTS,1,1,660,1.13,CSH,7.5 +VTS,1,1,1080,3.18,CSH,13.5 +VTS,1,1,1620,7.18,CSH,25.0 +VTS,1,1,1800,13.59,CSH,41.0 +VTS,1,1,600,2.05,CSH,9.0 +VTS,1,1,660,2.94,CRD,11.0 +VTS,1,1,720,2.46,CRD,11.0 +VTS,1,1,1380,7.22,CRD,24.0 +VTS,1,1,540,1.52,CSH,8.0 +VTS,1,1,780,1.59,CSH,9.0 +VTS,1,1,360,1.17,CSH,6.0 +VTS,1,1,1620,4.19,CSH,18.0 +VTS,1,1,2040,10.67,CSH,35.5 +VTS,1,1,1200,9.67,CSH,29.0 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,1200,4.54,CSH,17.0 +VTS,1,1,420,2.02,CSH,8.5 +VTS,1,6,1080,6.6,CSH,21.0 +VTS,1,6,720,3.22,CRD,12.5 +VTS,1,6,360,1.09,CSH,6.0 +VTS,1,6,1500,5.92,CSH,22.5 +VTS,1,1,1140,4.61,CSH,16.0 +VTS,1,1,480,0.75,CSH,6.5 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,1980,5.16,CRD,22.0 +VTS,1,1,720,2.54,CRD,10.5 +VTS,1,1,960,2.19,CRD,10.5 +VTS,1,1,1860,13.0,CRD,38.0 +VTS,1,1,480,1.35,CSH,7.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,660,1.36,CSH,8.0 +VTS,1,1,600,0.93,CSH,7.5 +VTS,2,1,60,0.0,CRD,52.0 +VTS,1,1,480,1.21,CSH,7.0 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,1080,6.38,CRD,21.0 +VTS,1,1,660,2.01,CRD,9.5 +VTS,1,1,300,0.77,CSH,5.5 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,960,1.27,CRD,10.5 +VTS,1,1,420,1.31,CRD,7.0 +VTS,1,6,1140,11.44,CSH,31.5 +VTS,1,1,1380,9.07,CRD,28.0 +VTS,1,6,300,0.72,CSH,5.0 +VTS,1,6,240,0.76,CSH,5.0 +VTS,1,6,600,2.78,CRD,10.5 +VTS,1,6,360,0.99,CRD,6.0 +VTS,1,6,120,0.47,CSH,4.0 +VTS,1,1,1020,3.64,CRD,14.5 +VTS,1,1,540,0.6,CSH,7.0 +VTS,1,1,600,1.22,CSH,8.0 +VTS,1,1,600,2.06,CSH,9.5 +VTS,1,1,900,1.36,CSH,10.0 +VTS,1,1,480,1.09,CSH,7.0 +VTS,1,1,1800,11.71,CSH,36.5 +VTS,1,1,2040,15.35,CSH,44.5 +VTS,1,1,1500,4.41,CSH,18.5 +VTS,1,1,780,1.27,CSH,9.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,6,240,1.44,CSH,6.5 +VTS,1,6,1020,5.76,CSH,19.5 +VTS,1,6,720,3.26,CSH,12.5 +VTS,1,6,300,1.07,CSH,5.5 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,6,240,0.43,CRD,4.5 +VTS,1,1,900,5.21,CSH,18.0 +VTS,1,6,480,1.14,CRD,7.0 +VTS,1,1,240,0.96,CSH,5.5 +VTS,1,6,720,4.76,CRD,16.0 +VTS,1,6,660,3.61,CRD,12.5 +VTS,1,6,660,7.38,CRD,21.0 +VTS,1,1,660,2.04,CSH,10.0 +VTS,1,1,600,2.15,CSH,9.5 +VTS,1,6,600,1.98,CSH,9.5 +VTS,1,6,960,4.36,CRD,15.5 +VTS,1,1,600,1.61,CRD,9.0 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,2580,21.72,CSH,58.5 +VTS,1,1,900,3.84,CSH,15.0 +VTS,1,1,1020,3.42,CRD,14.5 +VTS,1,1,1320,4.41,CSH,17.5 +VTS,1,1,840,2.71,CSH,12.0 +VTS,1,1,660,1.5,CRD,8.5 +VTS,1,1,1740,9.31,CRD,29.5 +VTS,1,1,1020,3.52,CSH,14.0 +VTS,1,1,2700,22.14,CSH,62.0 +VTS,1,6,660,3.0,CSH,12.0 +VTS,1,6,420,2.56,CRD,9.0 +VTS,1,6,600,2.63,CRD,10.5 +VTS,1,6,540,2.04,CRD,9.0 +VTS,1,6,600,1.8,CSH,8.5 +VTS,1,6,540,3.32,CSH,11.5 +VTS,1,6,780,3.64,CRD,14.0 +VTS,1,6,960,4.26,CRD,15.5 +VTS,1,6,420,1.88,CRD,8.0 +VTS,1,6,300,0.8,CRD,5.0 +VTS,1,6,300,1.55,CSH,7.0 +VTS,1,6,300,0.96,CRD,5.5 +VTS,1,6,300,1.41,CRD,6.0 +VTS,1,6,660,1.74,CRD,9.5 +VTS,1,6,660,1.41,CRD,8.5 +VTS,1,6,780,2.15,CRD,10.5 +VTS,1,1,840,1.91,CSH,10.0 +VTS,1,1,420,0.9,CSH,6.0 +VTS,1,1,480,1.73,CRD,8.0 +VTS,1,1,180,0.58,CSH,4.0 +VTS,1,1,600,1.36,CSH,8.5 +VTS,1,1,2340,26.95,CRD,71.5 +VTS,1,1,720,1.93,CRD,10.0 +VTS,1,1,1440,3.81,CRD,16.5 +VTS,1,1,240,0.47,CSH,4.5 +VTS,1,1,660,2.07,CSH,9.5 +VTS,1,1,420,0.91,CSH,6.0 +VTS,1,1,780,3.12,CRD,12.5 +VTS,1,1,1020,12.56,CSH,34.5 +VTS,1,1,660,0.92,CSH,7.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,660,1.14,CSH,8.5 +VTS,1,1,2040,11.12,CSH,33.0 +VTS,1,1,840,1.07,CSH,10.0 +VTS,1,1,1020,2.89,CSH,13.0 +VTS,1,1,360,1.27,CSH,6.0 +VTS,1,1,480,1.31,CSH,7.5 +VTS,2,1,0,0.02,CRD,52.0 +VTS,1,1,240,0.8,CRD,5.0 +VTS,1,1,1620,6.15,CSH,23.0 +VTS,1,1,420,1.98,CSH,8.5 +VTS,1,1,1440,6.76,CRD,22.5 +VTS,1,1,420,1.44,CSH,7.5 +VTS,1,6,720,1.82,CRD,10.0 +VTS,1,6,240,1.03,CSH,5.5 +VTS,1,6,360,1.14,CRD,6.0 +VTS,1,6,660,2.38,CRD,10.5 +VTS,1,6,480,1.43,CRD,7.5 +VTS,1,6,960,6.24,CRD,19.0 +VTS,2,6,1980,16.39,CRD,52.0 +VTS,1,6,1020,8.52,CSH,24.5 +VTS,1,6,780,1.93,CRD,10.5 +VTS,1,1,480,1.49,CSH,7.0 +VTS,1,6,840,5.35,CRD,17.5 +VTS,1,6,1260,4.63,CSH,17.5 +VTS,1,6,900,2.24,CSH,12.0 +VTS,1,6,660,2.0,CSH,9.5 +VTS,1,6,600,2.57,CSH,10.5 +VTS,1,6,540,1.26,CRD,7.0 +VTS,1,6,540,3.91,CRD,13.0 +VTS,1,6,1080,4.52,CRD,17.0 +VTS,1,6,1500,6.76,CSH,23.0 +VTS,1,6,1080,8.09,CSH,24.5 +VTS,2,6,2520,14.81,CRD,52.0 +VTS,1,6,960,1.97,CSH,10.5 +VTS,1,6,540,0.8,CSH,7.0 +VTS,1,6,120,0.33,CRD,3.5 +VTS,1,6,660,1.8,CSH,9.0 +VTS,1,6,840,4.4,CSH,15.0 +VTS,1,1,1080,9.12,CRD,26.5 +VTS,1,1,1140,2.25,CRD,13.5 +VTS,1,1,300,1.29,CRD,6.0 +VTS,1,1,900,0.98,CSH,10.5 +VTS,1,1,540,1.01,CSH,6.5 +VTS,1,1,720,1.13,CSH,8.0 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,900,2.45,CSH,12.5 +VTS,1,1,1620,7.01,CRD,23.5 +VTS,1,1,2160,21.7,CRD,57.5 +VTS,1,1,900,2.42,CSH,12.0 +VTS,1,1,480,1.22,CSH,7.0 +VTS,1,1,840,1.45,CSH,9.0 +VTS,1,1,60,0.01,CSH,2.5 +VTS,1,1,1680,7.73,CSH,25.5 +VTS,1,1,1200,3.21,CRD,15.0 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,1020,2.45,CSH,11.0 +VTS,1,1,1080,6.64,CSH,21.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,300,1.79,CRD,7.5 +VTS,1,1,600,2.05,CSH,9.5 +VTS,1,1,1380,4.32,CSH,18.5 +VTS,1,1,420,1.28,CRD,7.0 +VTS,1,1,540,0.71,CSH,6.5 +VTS,1,1,840,2.56,CSH,11.5 +VTS,1,1,1440,5.24,CSH,20.0 +VTS,1,6,480,1.26,CSH,7.0 +VTS,1,6,1080,2.93,CRD,13.5 +VTS,1,6,720,5.22,CSH,16.5 +VTS,1,6,540,1.87,CRD,8.5 +VTS,1,6,480,1.93,CSH,8.5 +VTS,1,6,360,1.67,CSH,7.5 +VTS,1,6,1080,2.95,CSH,14.0 +VTS,2,6,2880,17.34,CSH,52.0 +VTS,1,6,1440,4.67,CSH,19.5 +VTS,1,6,1080,3.76,CRD,15.5 +VTS,1,6,1200,7.07,CSH,22.5 +VTS,1,6,780,1.95,CSH,10.0 +VTS,1,6,480,1.69,CRD,7.5 +VTS,1,6,480,1.38,CRD,7.0 +VTS,1,6,360,1.03,CRD,6.0 +VTS,1,6,360,0.91,CSH,5.5 +VTS,1,6,1020,6.87,CSH,21.0 +VTS,1,6,1680,7.3,CSH,26.0 +VTS,1,6,300,1.32,CRD,6.0 +VTS,1,6,360,1.28,CSH,6.5 +VTS,1,6,1200,3.28,CRD,15.5 +VTS,1,6,840,1.66,CRD,10.5 +VTS,1,6,120,0.11,CSH,3.0 +VTS,1,6,900,2.55,CRD,13.0 +VTS,1,6,1020,2.7,CRD,13.0 +VTS,1,6,240,0.88,CSH,5.5 +VTS,1,1,360,3.06,CRD,10.5 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,240,0.42,CSH,4.5 +VTS,1,1,360,1.03,CSH,6.0 +VTS,1,1,840,2.8,CRD,12.0 +VTS,1,2,180,0.97,CSH,5.0 +VTS,1,2,180,0.52,CSH,4.0 +VTS,1,1,660,3.74,CSH,12.0 +VTS,1,1,1020,4.33,CRD,15.5 +VTS,1,1,840,4.81,CSH,15.5 +VTS,1,1,960,9.44,CRD,27.0 +VTS,1,1,1080,9.63,CSH,28.0 +VTS,1,1,480,1.81,CRD,8.5 +VTS,1,1,480,1.2,CSH,7.0 +VTS,1,1,480,0.88,CSH,5.5 +VTS,1,2,1080,2.21,CSH,13.0 +VTS,1,1,300,1.15,CRD,6.0 +VTS,1,1,840,4.21,CRD,14.5 +VTS,1,2,240,0.76,CRD,5.0 +VTS,1,2,720,1.55,CRD,9.0 +VTS,1,1,720,7.37,CRD,21.0 +VTS,1,1,540,1.9,CRD,9.0 +VTS,1,1,600,2.19,CRD,9.5 +VTS,1,1,660,5.3,CSH,16.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,1020,2.46,CSH,13.5 +VTS,1,1,720,1.89,CSH,9.0 +VTS,1,1,2040,5.55,CRD,23.0 +VTS,1,1,120,0.1,CSH,3.0 +VTS,1,1,660,2.28,CSH,9.0 +VTS,1,1,1500,3.48,CSH,17.0 +VTS,1,1,900,1.48,CSH,10.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,1080,6.58,CSH,21.0 +VTS,1,1,180,0.63,CRD,5.0 +VTS,1,1,360,0.84,CSH,6.0 +VTS,1,1,1200,4.82,CRD,18.0 +VTS,1,1,1380,2.14,CSH,15.5 +VTS,1,1,300,1.06,CSH,6.0 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,2940,13.65,CSH,43.0 +VTS,1,1,2580,15.23,CSH,45.0 +VTS,1,1,0,0.09,CSH,2.5 +VTS,2,6,2820,21.35,CRD,52.0 +VTS,1,6,300,1.0,CSH,5.0 +VTS,1,6,180,0.98,CRD,5.0 +VTS,1,6,540,2.65,CSH,10.0 +VTS,1,6,960,1.14,CSH,11.0 +VTS,1,6,420,0.56,CSH,6.0 +VTS,1,6,420,1.84,CRD,7.5 +VTS,1,6,600,1.44,CSH,8.5 +VTS,1,6,660,0.72,CSH,8.0 +VTS,1,1,1620,2.34,CSH,18.0 +VTS,1,6,660,2.58,CRD,10.5 +VTS,1,1,540,1.23,CRD,8.0 +VTS,1,1,1860,16.9,CSH,46.0 +VTS,1,1,420,0.97,CSH,6.5 +VTS,1,1,540,1.48,CRD,8.0 +VTS,1,6,840,2.66,CRD,12.0 +VTS,1,6,240,1.45,CSH,6.0 +VTS,1,1,1680,5.38,CSH,20.5 +VTS,1,6,420,0.67,CSH,5.0 +VTS,1,6,360,1.24,CSH,7.0 +VTS,1,6,900,2.17,CSH,11.5 +VTS,1,6,240,0.44,CSH,4.5 +VTS,1,6,540,2.2,CRD,9.5 +VTS,1,6,1680,9.37,CSH,31.0 +VTS,1,1,600,1.64,CRD,9.0 +VTS,1,6,480,1.64,CSH,7.5 +VTS,1,6,960,4.53,CSH,17.0 +VTS,1,6,420,1.07,CSH,7.0 +VTS,1,6,600,1.66,CRD,8.5 +VTS,1,1,420,0.85,CRD,5.5 +VTS,1,1,600,2.39,CSH,9.5 +VTS,1,6,240,0.46,CRD,4.5 +VTS,1,1,1200,2.2,CSH,13.5 +VTS,1,6,900,2.39,CRD,12.0 +VTS,1,6,960,2.09,CRD,12.5 +VTS,1,6,480,1.68,CRD,7.5 +VTS,1,1,1080,3.08,CSH,14.0 +VTS,1,6,780,6.23,CRD,18.5 +VTS,1,6,1860,4.74,CSH,21.0 +VTS,1,6,1500,10.75,CRD,32.5 +VTS,1,6,300,1.11,CRD,6.0 +VTS,1,6,780,6.74,CSH,20.0 +VTS,1,1,600,1.28,CSH,7.5 +VTS,1,6,660,1.95,CRD,9.0 +VTS,1,6,480,1.99,CSH,8.5 +VTS,1,1,180,1.06,CSH,5.5 +VTS,1,6,420,0.81,CSH,6.0 +VTS,1,1,360,3.17,CRD,10.5 +VTS,1,6,1380,5.74,CRD,20.5 +VTS,1,6,720,3.4,CRD,12.5 +VTS,1,6,660,6.34,CRD,19.0 +VTS,1,6,540,1.18,CRD,7.5 +VTS,1,6,360,1.28,CSH,6.5 +VTS,1,6,1380,3.53,CSH,16.0 +VTS,1,6,2880,11.01,CSH,39.5 +VTS,1,6,180,0.46,CSH,4.5 +VTS,1,6,360,1.14,CRD,6.5 +VTS,1,6,480,1.02,CRD,7.0 +VTS,1,6,660,2.9,CRD,11.0 +VTS,1,6,540,0.84,CRD,7.0 +VTS,1,6,660,2.78,CRD,11.0 +VTS,1,6,360,1.0,CRD,6.0 +VTS,1,6,840,6.67,CSH,20.0 +VTS,1,6,540,2.51,CRD,10.0 +VTS,1,6,240,0.77,CRD,4.5 +VTS,1,6,240,0.91,CSH,5.5 +VTS,1,6,360,1.08,CRD,6.5 +VTS,1,6,780,3.32,CRD,12.0 +VTS,1,6,300,1.54,CRD,7.0 +VTS,1,1,1260,4.54,CSH,18.0 +VTS,1,6,720,2.65,CRD,11.5 +VTS,1,6,1080,1.7,CRD,12.0 +VTS,1,6,900,1.7,CRD,10.5 +VTS,1,6,900,1.73,CSH,11.0 +VTS,1,6,660,1.66,CRD,9.0 +VTS,1,6,180,0.61,CRD,4.5 +VTS,1,6,540,2.01,CRD,9.0 +VTS,1,6,180,0.4,CRD,4.0 +VTS,1,1,1140,8.27,CRD,24.0 +VTS,1,6,1200,4.14,CSH,17.5 +VTS,1,6,540,1.33,CRD,8.0 +VTS,1,6,300,1.11,CSH,6.0 +VTS,1,1,240,1.32,CRD,6.0 +VTS,1,6,1080,2.15,CRD,13.5 +VTS,2,6,3420,15.57,CSH,52.0 +VTS,1,6,600,2.21,CRD,10.0 +VTS,1,6,120,0.58,CSH,4.0 +VTS,1,6,180,0.53,CSH,4.0 +VTS,1,6,480,1.27,CSH,7.5 +VTS,1,6,300,1.29,CSH,5.5 +VTS,1,6,3360,21.23,CRD,61.0 +VTS,1,6,1020,6.53,CRD,20.0 +VTS,1,1,540,1.12,CRD,7.5 +VTS,1,6,120,0.42,CRD,3.5 +VTS,1,6,240,0.4,CRD,4.5 +VTS,1,6,420,0.95,CRD,6.5 +VTS,1,6,780,1.04,CSH,9.5 +VTS,1,6,540,0.7,CRD,7.0 +VTS,1,6,660,0.63,CSH,8.0 +VTS,1,6,480,1.0,CSH,6.5 +VTS,1,6,720,2.43,CSH,10.5 +VTS,1,6,960,5.68,CRD,19.0 +VTS,1,6,300,0.74,CRD,5.5 +VTS,1,6,720,3.13,CRD,11.5 +VTS,1,6,1800,4.63,CRD,21.5 +VTS,1,6,480,2.22,CRD,9.0 +VTS,1,1,720,3.3,CRD,12.5 +VTS,1,6,780,8.82,CRD,25.0 +VTS,1,6,1020,4.85,CRD,16.5 +VTS,1,1,540,1.29,CRD,7.5 +VTS,1,6,360,1.51,CSH,7.0 +VTS,1,6,540,1.18,CRD,7.5 +VTS,1,6,360,1.52,CRD,7.0 +VTS,1,6,480,0.91,CSH,6.5 +VTS,1,6,240,0.16,CSH,4.0 +VTS,1,1,540,2.37,CRD,10.0 +VTS,1,6,840,2.38,CRD,11.5 +VTS,1,6,1380,6.88,CSH,23.0 +VTS,1,6,180,0.72,CSH,4.5 +VTS,1,6,240,1.23,CSH,5.5 +VTS,1,6,120,0.54,CSH,3.5 +VTS,1,6,120,0.9,CSH,4.5 +VTS,1,6,1200,3.23,CRD,14.5 +VTS,1,6,240,0.9,CRD,5.0 +VTS,1,6,360,1.28,CRD,7.0 +VTS,1,6,720,3.85,CRD,13.5 +VTS,1,6,180,0.71,CSH,4.5 +VTS,1,6,1080,5.34,CRD,18.0 +VTS,1,6,540,2.45,CSH,9.5 +VTS,1,6,1440,8.76,CRD,27.0 +VTS,1,6,300,0.86,CRD,5.0 +VTS,1,6,600,3.03,CSH,11.0 +VTS,1,6,1140,3.54,CRD,14.0 +VTS,1,6,1080,3.78,CSH,15.0 +VTS,1,6,900,3.09,CSH,13.0 +VTS,1,6,480,1.22,CRD,7.5 +VTS,2,6,2280,17.82,CSH,52.0 +VTS,1,6,1200,4.22,CRD,16.0 +VTS,1,6,1200,4.02,CSH,16.5 +VTS,1,6,780,2.68,CRD,11.5 +VTS,1,1,720,1.84,CSH,10.0 +VTS,1,6,420,1.06,CRD,6.5 +VTS,1,6,1080,3.27,CRD,14.5 +VTS,1,6,480,0.69,CSH,6.5 +VTS,1,1,420,0.84,CSH,6.0 +VTS,1,6,300,1.13,CSH,6.0 +VTS,1,6,240,0.59,CRD,4.5 +VTS,1,6,1140,4.75,CSH,18.0 +VTS,1,6,600,1.26,CRD,8.5 +VTS,1,6,420,0.75,CSH,6.5 +VTS,1,6,720,2.81,CRD,12.0 +VTS,1,6,1140,3.37,CSH,15.0 +VTS,1,6,1020,5.01,CRD,19.0 +VTS,1,6,420,1.15,CSH,6.5 +VTS,1,6,1140,2.24,CSH,13.5 +VTS,1,6,780,2.05,CRD,10.5 +VTS,1,6,480,1.79,CRD,8.5 +VTS,1,6,960,4.67,CSH,16.5 +VTS,1,6,480,1.31,CRD,7.5 +VTS,1,6,180,0.5,CSH,4.0 +VTS,1,6,180,0.46,CRD,4.0 +VTS,1,6,420,1.33,CRD,7.0 +VTS,1,6,1020,5.03,CRD,18.0 +VTS,1,6,360,2.25,CRD,8.0 +VTS,1,6,1020,4.36,CRD,15.0 +VTS,1,6,420,1.53,CSH,7.5 +VTS,1,6,360,0.87,CSH,6.0 +VTS,1,6,480,1.26,CRD,7.5 +VTS,1,6,300,1.16,CSH,6.5 +VTS,1,6,420,1.52,CSH,7.5 +VTS,1,6,960,2.77,CRD,13.0 +VTS,1,6,180,0.48,CRD,4.0 +VTS,1,6,1020,3.66,CSH,15.5 +VTS,1,6,600,2.04,CSH,9.5 +VTS,1,6,600,2.44,CSH,9.5 +VTS,1,6,720,1.78,CSH,8.5 +VTS,1,6,840,2.57,CRD,12.0 +VTS,1,6,660,1.76,CSH,9.0 +VTS,1,6,180,0.54,CSH,4.5 +VTS,1,6,660,1.35,CSH,8.0 +VTS,1,6,180,0.58,CSH,4.0 +VTS,1,6,660,2.03,CSH,10.0 +VTS,1,6,180,0.72,CRD,4.5 +VTS,1,6,840,1.44,CSH,10.0 +VTS,1,6,1800,7.0,CRD,25.0 +VTS,1,6,780,2.28,CRD,11.0 +VTS,1,6,360,1.41,CRD,7.0 +VTS,1,6,300,0.97,CSH,5.5 +VTS,1,6,180,0.43,CSH,4.0 +VTS,1,1,1680,4.92,CSH,21.5 +VTS,1,6,480,0.92,CRD,7.0 +VTS,1,6,540,2.61,CRD,10.0 +VTS,1,6,1200,7.9,CRD,25.0 +VTS,1,1,1080,1.81,CSH,10.5 +VTS,1,1,360,0.98,CSH,6.0 +VTS,1,1,600,1.55,CSH,8.0 +VTS,1,1,720,1.61,CRD,8.5 +VTS,1,1,360,0.49,CRD,5.0 +VTS,1,1,480,0.92,CSH,6.5 +VTS,1,1,1620,16.14,CSH,45.0 +VTS,1,1,240,1.14,CRD,6.0 +VTS,1,1,360,0.23,CSH,5.0 +VTS,1,1,420,0.96,CSH,6.0 +VTS,1,1,1200,1.17,CSH,11.0 +VTS,1,1,300,0.42,CSH,5.0 +VTS,1,1,780,2.04,CRD,9.5 +VTS,1,1,2280,21.17,CRD,58.5 +VTS,1,1,780,1.54,CSH,9.0 +VTS,1,1,1560,8.22,CSH,26.5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,4,1,480,1.96,CRD,8.5 +VTS,1,1,1080,3.67,CRD,15.0 +VTS,1,1,420,0.88,CSH,6.5 +VTS,1,1,540,1.68,CSH,8.0 +VTS,1,1,1500,3.13,CSH,16.0 +VTS,1,1,780,1.58,CSH,9.5 +VTS,1,1,60,0.37,CRD,3.0 +VTS,1,1,720,0.83,CSH,8.5 +VTS,1,1,480,0.94,CRD,7.0 +VTS,1,1,540,0.89,CSH,7.0 +VTS,1,6,1080,9.31,CRD,27.0 +VTS,1,1,960,1.38,CRD,11.0 +VTS,1,6,1380,6.38,CRD,23.0 +VTS,1,6,360,0.68,CRD,5.5 +VTS,1,6,660,2.89,CRD,11.0 +VTS,1,6,720,2.3,CRD,10.5 +VTS,1,6,240,0.72,CRD,4.5 +VTS,1,6,1140,3.06,CRD,14.5 +VTS,1,6,360,0.55,CSH,5.0 +VTS,1,6,840,2.5,CSH,12.0 +VTS,1,6,600,6.17,CSH,18.0 +VTS,1,6,840,5.21,CSH,16.0 +VTS,1,6,1020,4.41,CRD,16.0 +VTS,1,6,420,1.3,CSH,6.5 +VTS,1,6,660,1.38,CSH,8.5 +VTS,1,6,720,2.61,CSH,11.0 +VTS,1,6,660,1.39,CSH,8.5 +VTS,1,6,1260,2.83,CRD,14.5 +VTS,1,6,960,3.12,CRD,13.5 +VTS,1,6,660,1.71,CRD,9.5 +VTS,1,6,1140,1.54,CRD,12.5 +VTS,1,6,1080,4.78,CRD,17.5 +VTS,1,6,240,1.25,CRD,6.0 +VTS,1,6,420,1.21,CRD,7.0 +VTS,1,6,600,1.75,CSH,8.5 +VTS,1,6,720,3.28,CSH,12.5 +VTS,1,1,600,5.91,CRD,17.5 +VTS,1,6,360,0.91,CSH,6.0 +VTS,1,6,900,2.08,CRD,11.0 +VTS,1,6,1560,4.53,CSH,19.5 +VTS,1,6,240,0.53,CSH,4.5 +VTS,1,6,420,3.27,CRD,11.0 +VTS,1,6,420,1.31,CSH,7.0 +VTS,1,6,120,0.61,CSH,4.0 +VTS,1,6,540,1.11,CSH,7.5 +VTS,1,6,1500,9.29,CRD,28.5 +VTS,1,6,600,0.91,CRD,7.5 +CMT,1,1,135,0.3,CSH,3.5 +CMT,1,1,570,1.9,CSH,9.5 +CMT,1,1,336,0.8,CSH,6.0 +CMT,1,1,255,1.1,CRD,5.5 +CMT,1,1,376,3.0,CSH,10.0 +CMT,1,2,833,6.1,CRD,19.5 +CMT,1,1,662,2.7,CRD,11.0 +CMT,1,1,182,0.9,CRD,5.0 +CMT,1,1,404,1.0,CSH,6.5 +CMT,4,1,1819,11.6,CRD,60.5 +CMT,1,1,157,0.4,CSH,4.0 +CMT,1,1,431,1.4,CSH,7.5 +CMT,1,1,854,3.0,CRD,13.5 +CMT,1,1,373,0.6,CSH,6.0 +CMT,1,4,614,4.1,CSH,13.0 +VTS,1,6,360,1.48,CRD,7.0 +VTS,2,6,2460,20.7,CSH,52.0 +VTS,1,6,120,0.66,CSH,4.0 +VTS,1,6,420,1.61,CSH,7.5 +VTS,1,6,300,0.76,CSH,5.0 +VTS,1,6,360,0.94,CSH,6.0 +VTS,1,6,2460,11.21,CSH,37.5 +VTS,1,6,1680,9.82,CRD,31.5 +VTS,1,1,1140,2.72,CSH,12.5 +VTS,1,6,180,0.8,CRD,4.5 +VTS,1,6,600,2.98,CSH,11.0 +VTS,1,6,180,0.59,CSH,4.5 +VTS,1,6,1140,7.24,CRD,23.0 +VTS,1,6,960,1.98,CSH,11.5 +VTS,1,6,1140,2.23,CRD,13.0 +VTS,1,6,540,1.1,CSH,7.0 +VTS,1,1,300,1.51,CRD,6.5 +VTS,1,6,1020,3.55,CRD,14.5 +VTS,1,6,1020,5.77,CRD,18.5 +VTS,1,6,960,3.56,CSH,14.0 +VTS,1,6,480,1.93,CRD,8.5 +VTS,1,6,480,2.75,CSH,10.0 +VTS,1,6,420,0.55,CRD,6.0 +VTS,1,6,360,0.84,CSH,6.0 +VTS,1,6,720,3.23,CRD,11.5 +VTS,1,6,780,2.02,CRD,11.0 +VTS,1,6,360,0.9,CSH,6.0 +VTS,1,6,240,0.73,CSH,4.5 +VTS,1,6,1080,7.27,CRD,22.0 +VTS,1,6,720,1.33,CSH,9.0 +VTS,1,6,600,1.3,CRD,7.5 +VTS,1,1,420,0.62,CRD,6.0 +VTS,1,6,240,1.0,CRD,5.0 +VTS,1,6,720,1.94,CSH,10.0 +VTS,1,1,360,1.14,CRD,6.0 +VTS,1,6,180,0.44,CSH,4.0 +VTS,1,6,600,1.08,CSH,7.5 +VTS,1,6,240,0.56,CSH,4.5 +VTS,1,6,1260,5.56,CSH,20.0 +VTS,1,6,480,1.91,CRD,8.5 +VTS,1,6,600,2.57,CSH,10.0 +VTS,1,6,1020,1.91,CSH,12.0 +VTS,1,6,300,0.78,CRD,5.5 +VTS,1,6,900,2.32,CSH,11.5 +VTS,1,6,540,1.06,CRD,7.5 +VTS,1,6,1020,6.64,CRD,20.5 +VTS,1,6,540,1.42,CSH,7.5 +VTS,1,6,660,2.13,CRD,9.5 +VTS,1,6,720,1.89,CSH,10.0 +VTS,1,6,780,6.94,CRD,20.5 +VTS,1,6,540,1.34,CSH,8.0 +VTS,1,6,480,1.34,CRD,7.5 +VTS,1,6,480,1.92,CRD,8.0 +VTS,1,6,1440,6.23,CRD,21.0 +VTS,1,6,240,1.37,CRD,6.0 +VTS,1,6,1500,2.35,CRD,16.0 +VTS,1,6,120,0.55,CRD,4.0 +VTS,1,6,360,1.33,CSH,7.0 +VTS,1,6,300,0.88,CRD,5.5 +VTS,1,6,480,1.19,CRD,7.0 +VTS,1,6,420,1.15,CSH,6.5 +VTS,1,6,540,0.61,CSH,7.0 +VTS,1,6,1140,2.73,CRD,14.5 +VTS,1,1,360,1.12,CRD,6.0 +VTS,1,6,180,0.78,CRD,4.5 +VTS,1,1,1140,3.89,CSH,15.5 +VTS,1,1,1260,2.12,CRD,13.5 +VTS,1,6,1320,4.48,CSH,17.5 +VTS,1,6,780,3.8,CRD,13.5 +VTS,1,6,180,1.19,CSH,5.5 +VTS,2,6,2220,16.34,CSH,52.0 +VTS,1,6,840,2.66,CRD,12.0 +VTS,1,6,780,1.92,CRD,10.5 +VTS,1,6,480,2.23,CSH,8.5 +VTS,1,6,1080,6.15,CRD,19.5 +VTS,1,6,840,5.62,CRD,18.0 +VTS,1,6,720,2.18,CRD,10.0 +CMT,1,1,349,1.3,CRD,7.0 +VTS,1,6,600,1.11,CRD,7.5 +VTS,1,6,840,3.2,CSH,12.5 +VTS,1,1,600,3.18,CSH,11.5 +VTS,1,6,900,2.58,CRD,11.0 +VTS,1,6,1080,3.91,CRD,15.0 +VTS,1,6,480,0.92,CRD,6.5 +VTS,1,6,540,1.71,CSH,8.0 +VTS,1,6,180,0.84,CSH,5.0 +VTS,1,6,900,1.31,CRD,10.5 +VTS,1,6,660,2.46,CRD,10.5 +VTS,1,6,720,3.06,CSH,11.5 +VTS,1,6,600,1.28,CRD,8.5 +VTS,1,6,360,1.65,CRD,7.0 +VTS,1,6,900,1.11,CRD,10.5 +VTS,1,6,660,3.14,CRD,11.5 +VTS,1,6,600,1.89,CRD,10.0 +VTS,1,6,480,2.25,CRD,9.0 +VTS,1,6,1320,7.31,CRD,23.0 +VTS,1,6,1260,3.71,CRD,15.5 +VTS,1,6,840,2.05,CRD,11.0 +VTS,1,6,840,1.83,CSH,10.5 +VTS,1,6,1440,4.23,CRD,18.5 +VTS,1,6,360,0.76,CSH,5.5 +VTS,1,6,240,0.62,CSH,5.0 +VTS,1,6,540,1.66,CSH,8.0 +VTS,1,6,1140,3.2,CSH,14.5 +VTS,1,6,180,0.57,CSH,4.0 +CMT,1,1,923,2.8,CRD,12.5 +CMT,1,1,508,1.7,CRD,8.5 +CMT,1,2,428,2.0,CRD,8.0 +CMT,1,3,239,1.0,CRD,5.0 +CMT,1,2,308,0.9,CRD,5.5 +CMT,1,1,223,0.6,CSH,4.5 +CMT,1,1,239,0.6,CSH,4.5 +CMT,1,1,376,1.1,CRD,6.5 +CMT,1,1,327,1.2,CRD,6.0 +CMT,1,1,109,0.6,CSH,4.0 +CMT,1,1,348,1.3,CSH,6.5 +CMT,1,1,248,0.8,CRD,5.0 +CMT,1,1,976,3.1,CRD,13.0 +CMT,1,2,337,1.1,CSH,6.5 +CMT,1,1,626,3.1,CRD,12.0 +CMT,1,4,947,5.4,CRD,18.0 +CMT,1,1,194,0.7,CRD,4.5 +CMT,1,2,906,7.2,CRD,23.0 +CMT,1,1,384,0.9,CSH,6.5 +CMT,1,1,1257,40.5,NOC,2.5 +CMT,1,1,1396,8.5,CRD,28.5 +CMT,1,1,892,2.4,CRD,12.0 +CMT,1,1,606,1.2,CRD,8.0 +CMT,1,1,370,2.6,CSH,9.0 +CMT,1,1,297,1.7,CSH,7.0 +CMT,1,1,391,0.7,CRD,6.0 +VTS,1,1,900,1.79,CSH,10.5 +CMT,1,1,465,0.8,CSH,6.5 +CMT,1,1,559,1.6,CRD,8.0 +CMT,1,1,1300,8.4,CRD,26.5 +CMT,1,2,601,2.3,CRD,10.0 +CMT,1,1,1014,8.3,CSH,25.0 +CMT,1,4,357,1.1,CSH,6.0 +CMT,1,1,781,6.8,CSH,20.5 +CMT,1,1,259,0.7,CSH,5.0 +CMT,1,1,1101,6.0,CRD,19.0 +CMT,1,1,445,1.3,CRD,7.0 +CMT,1,1,553,3.2,CRD,11.5 +CMT,1,1,271,1.9,CRD,7.5 +CMT,1,1,162,1.3,CSH,5.5 +CMT,1,1,420,1.0,CSH,6.5 +CMT,1,2,1495,7.3,CSH,25.0 +CMT,1,2,455,2.4,CRD,9.0 +CMT,1,2,187,0.8,CSH,5.0 +CMT,1,1,442,0.6,CSH,6.5 +CMT,1,1,432,2.0,CRD,8.0 +CMT,1,1,1619,8.3,CSH,27.0 +CMT,1,1,264,1.2,CSH,6.0 +CMT,1,2,827,2.6,CSH,11.5 +CMT,1,1,524,1.4,CRD,8.0 +CMT,1,1,441,2.1,CRD,9.0 +CMT,1,2,448,1.6,CRD,7.5 +VTS,1,6,120,0.57,CRD,4.0 +VTS,1,6,660,2.58,CRD,10.5 +VTS,1,6,840,2.46,CRD,11.5 +VTS,1,6,660,1.33,CRD,8.5 +VTS,1,6,1320,4.19,CSH,17.5 +VTS,1,6,960,4.21,CRD,14.5 +VTS,1,6,240,0.77,CSH,5.0 +VTS,1,6,780,1.05,CRD,9.0 +CMT,1,1,1108,3.6,CRD,15.0 +CMT,1,1,299,0.7,CRD,5.5 +CMT,1,1,881,1.4,CRD,10.5 +CMT,1,1,269,0.5,CSH,5.0 +CMT,1,1,640,1.3,CRD,9.0 +CMT,1,1,369,0.6,CRD,5.5 +CMT,1,1,337,1.5,CRD,6.5 +CMT,1,1,312,1.1,CSH,6.0 +CMT,1,1,329,2.4,CRD,8.5 +CMT,1,1,418,2.1,CRD,8.5 +CMT,1,1,224,1.3,CSH,6.0 +CMT,1,1,230,1.0,CSH,5.5 +CMT,1,1,515,2.6,CRD,10.0 +CMT,1,1,791,1.9,CRD,11.0 +CMT,1,2,721,3.8,CSH,13.0 +CMT,1,2,316,2.8,CSH,10.0 +CMT,1,2,416,1.0,CSH,6.5 +CMT,1,3,335,1.8,CRD,7.5 +VTS,1,1,1500,11.69,CRD,33.5 +VTS,1,6,780,2.94,CSH,11.5 +VTS,1,6,480,2.9,CRD,10.5 +VTS,1,6,720,2.44,CRD,10.0 +VTS,1,6,300,1.28,CSH,6.5 +VTS,1,6,660,1.86,CSH,9.0 +VTS,1,6,600,1.24,CRD,8.0 +VTS,1,6,360,1.39,CRD,7.0 +VTS,1,1,480,1.36,CRD,7.5 +VTS,1,6,900,2.58,CSH,12.0 +VTS,1,6,1080,3.45,CRD,14.5 +VTS,1,1,1080,9.56,CRD,27.5 +VTS,1,6,660,2.8,CSH,11.5 +VTS,1,6,300,1.07,CSH,6.0 +VTS,1,6,1680,8.72,CRD,28.5 +VTS,1,6,360,1.28,CSH,6.5 +VTS,1,6,1080,2.58,CRD,13.5 +VTS,1,6,1920,16.54,CSH,45.5 +VTS,1,6,480,1.28,CSH,7.0 +VTS,1,6,660,2.42,CSH,10.5 +VTS,1,6,2160,10.65,CSH,36.0 +VTS,1,6,480,0.63,CSH,6.5 +VTS,1,6,300,1.09,CSH,6.0 +VTS,1,6,540,1.33,CSH,8.0 +VTS,1,6,360,1.12,CRD,6.0 +VTS,2,6,1980,17.66,CRD,52.0 +VTS,1,6,300,1.02,CSH,6.0 +VTS,1,6,780,1.65,CRD,9.5 +VTS,1,6,480,1.04,CRD,6.5 +VTS,1,6,60,0.06,CRD,3.0 +VTS,1,6,600,1.78,CSH,9.0 +VTS,1,6,180,0.67,CSH,4.5 +VTS,1,1,780,1.24,CSH,9.5 +VTS,1,1,1620,6.08,CRD,22.5 +VTS,1,6,60,0.38,CRD,3.0 +VTS,1,6,1200,2.89,CRD,14.5 +VTS,1,6,240,1.7,CSH,6.5 +VTS,1,6,360,0.81,CSH,6.0 +VTS,1,6,1020,7.27,CRD,22.0 +VTS,1,1,1860,6.43,CSH,25.0 +VTS,1,1,660,3.02,CSH,11.0 +VTS,1,6,840,1.24,CRD,9.5 +VTS,1,6,240,0.78,CRD,4.5 +VTS,1,6,1620,7.33,CRD,25.0 +CMT,1,1,184,0.6,CSH,4.5 +CMT,1,1,675,1.5,CSH,9.0 +CMT,1,1,1656,3.2,CSH,18.5 +CMT,1,2,157,0.7,CSH,4.5 +CMT,1,1,342,1.5,CSH,7.0 +CMT,1,1,270,1.1,CRD,5.5 +CMT,1,1,378,1.4,CSH,6.5 +CMT,1,1,737,2.6,CRD,11.0 +VTS,1,6,300,0.89,CSH,5.5 +VTS,1,6,480,1.35,CRD,7.5 +VTS,1,6,600,1.59,CRD,8.5 +VTS,1,6,1200,6.71,CRD,22.5 +VTS,1,6,600,1.39,CSH,8.0 +VTS,1,6,240,2.11,CSH,7.5 +VTS,1,6,180,0.7,CSH,4.5 +CMT,1,1,1393,4.7,CRD,20.0 +CMT,1,1,751,0.7,CSH,8.5 +CMT,1,1,664,1.2,CRD,9.0 +CMT,1,1,878,4.4,CSH,16.0 +CMT,1,3,493,2.8,CSH,10.0 +CMT,1,1,450,1.5,CSH,7.5 +CMT,1,2,930,5.3,CSH,18.0 +CMT,1,1,541,2.9,CSH,10.5 +CMT,1,3,889,4.6,CRD,16.5 +CMT,1,3,905,2.2,CSH,11.5 +CMT,1,1,385,1.2,CRD,6.5 +CMT,1,1,879,2.9,CRD,12.5 +CMT,1,1,124,0.4,CSH,3.5 +CMT,1,1,443,1.5,CRD,7.5 +CMT,1,1,471,1.2,CRD,7.5 +CMT,1,1,653,2.2,CRD,10.0 +CMT,1,1,1281,4.8,CRD,18.0 +CMT,1,1,1359,9.2,CRD,28.5 +CMT,1,1,1342,5.2,CSH,19.5 +CMT,1,1,391,1.3,CRD,7.0 +CMT,1,1,180,1.0,CRD,5.0 +CMT,1,2,766,3.7,CSH,13.5 +CMT,1,2,814,8.4,CRD,24.5 +CMT,1,1,362,1.2,CSH,6.5 +CMT,1,4,271,0.5,CRD,5.0 +CMT,1,2,1091,9.6,CSH,27.5 +CMT,1,1,250,0.8,CSH,5.5 +CMT,1,2,780,1.2,CSH,9.5 +CMT,1,1,401,1.6,CRD,7.5 +CMT,1,1,608,2.4,CSH,10.0 +CMT,1,1,466,0.6,CSH,6.5 +CMT,1,2,816,0.7,CSH,9.0 +CMT,1,1,300,0.5,CRD,5.0 +CMT,1,1,465,1.2,CRD,7.0 +CMT,1,1,585,0.9,CSH,7.5 +CMT,1,1,184,0.7,CRD,5.0 +CMT,1,1,322,1.3,CSH,6.5 +CMT,1,1,1859,2.0,CSH,13.0 +CMT,1,1,365,0.8,CSH,6.0 +CMT,1,1,597,2.2,CSH,10.0 +CMT,1,2,1667,10.1,CSH,32.0 +CMT,1,1,293,1.4,CRD,6.5 +CMT,1,2,287,0.8,CSH,5.5 +CMT,1,1,397,1.2,CRD,6.5 +CMT,1,1,475,1.9,CRD,8.5 +CMT,1,1,382,1.1,CRD,6.5 +CMT,1,1,101,0.5,CRD,3.5 +CMT,1,1,562,2.9,CSH,10.5 +CMT,1,1,483,1.6,CSH,8.0 +CMT,1,1,231,1.4,CRD,6.0 +CMT,1,2,850,4.5,CSH,16.0 +CMT,1,2,101,0.3,CSH,3.5 +CMT,1,1,381,1.2,CRD,7.0 +CMT,1,1,231,0.8,CRD,5.0 +CMT,1,1,222,1.0,CSH,5.5 +CMT,1,1,194,0.7,CRD,4.5 +CMT,1,2,1040,3.4,CRD,14.5 +CMT,1,1,611,1.7,CSH,9.0 +CMT,1,1,275,1.6,CSH,6.5 +CMT,1,1,521,1.1,CSH,7.5 +CMT,1,1,113,0.4,CRD,4.0 +CMT,1,1,659,1.9,CSH,9.5 +CMT,1,1,437,1.1,CSH,7.0 +CMT,1,1,397,0.9,CSH,6.5 +CMT,1,1,592,2.0,CRD,9.5 +CMT,1,1,433,1.5,CSH,7.5 +CMT,1,1,468,1.1,CSH,7.0 +CMT,1,1,936,4.9,CRD,17.0 +CMT,1,2,638,1.7,CSH,9.0 +CMT,1,1,87,0.4,CSH,3.0 +CMT,1,1,868,3.0,CSH,12.5 +VTS,1,6,600,2.86,CSH,11.0 +VTS,1,1,1560,4.25,CSH,19.5 +VTS,1,6,960,1.7,CSH,9.0 +VTS,1,6,1080,6.12,CRD,20.5 +VTS,1,6,480,1.4,CRD,7.5 +VTS,1,1,1380,7.13,CRD,24.5 +VTS,1,6,900,2.67,CRD,12.0 +VTS,1,6,1020,3.85,CRD,15.0 +VTS,1,6,600,2.05,CRD,9.0 +VTS,1,6,1020,5.01,CRD,17.0 +VTS,1,6,600,2.68,CRD,11.0 +VTS,1,6,480,1.7,CRD,8.0 +VTS,1,6,540,2.59,CRD,10.0 +VTS,1,6,420,1.24,CSH,6.5 +VTS,1,6,720,1.58,CSH,10.0 +VTS,1,6,780,1.58,CRD,10.0 +VTS,1,6,960,4.15,CSH,15.0 +VTS,1,6,540,1.3,CRD,7.5 +VTS,1,6,600,0.85,CRD,7.5 +VTS,1,6,480,1.16,CSH,7.0 +VTS,1,6,780,3.31,CRD,13.0 +VTS,1,6,360,1.16,CRD,6.0 +VTS,1,6,420,2.16,CRD,8.5 +VTS,1,6,360,0.79,CRD,5.5 +VTS,1,6,840,2.19,CSH,11.0 +VTS,1,6,180,0.8,CRD,4.5 +VTS,1,6,660,1.84,CRD,9.0 +VTS,1,6,1620,3.57,CSH,17.5 +VTS,1,6,1140,5.1,CRD,18.5 +VTS,1,6,360,0.78,CRD,5.5 +VTS,1,1,240,0.51,CSH,5.0 +VTS,1,6,960,3.84,CRD,14.5 +VTS,1,6,1140,7.64,CRD,24.0 +VTS,1,6,840,3.62,CRD,14.0 +VTS,1,1,1620,4.99,CSH,21.0 +VTS,1,6,420,0.84,CSH,6.0 +VTS,1,1,660,2.14,CRD,9.5 +VTS,1,6,1020,4.96,CRD,17.5 +VTS,1,6,660,3.83,CSH,13.5 +VTS,1,6,960,2.13,CRD,11.5 +CMT,1,1,442,1.2,CRD,7.0 +CMT,1,1,1492,3.9,CSH,18.5 +CMT,1,1,666,2.0,CRD,9.5 +CMT,1,1,805,1.6,CSH,10.5 +CMT,4,1,1052,2.1,CRD,13.0 +CMT,1,1,210,0.7,CSH,5.0 +CMT,1,2,888,3.2,CSH,14.0 +CMT,1,1,810,2.0,CSH,10.5 +CMT,1,1,126,0.6,CRD,4.0 +CMT,1,1,376,1.6,CRD,7.0 +CMT,1,1,422,2.0,CSH,8.5 +CMT,1,1,661,3.5,CSH,12.0 +CMT,1,1,388,1.0,CRD,6.0 +CMT,1,1,1957,7.5,CRD,25.5 +CMT,1,1,302,0.9,CRD,6.0 +CMT,1,1,993,6.6,CRD,19.5 +CMT,1,1,46,0.2,CSH,3.0 +CMT,1,2,342,1.2,CSH,6.5 +CMT,1,2,813,4.6,CSH,16.0 +CMT,1,2,466,2.5,CSH,9.5 +CMT,1,4,318,1.1,CSH,6.5 +CMT,1,4,390,0.9,CSH,6.5 +CMT,1,2,257,1.4,CSH,6.5 +CMT,1,2,2514,17.1,CSH,51.5 +CMT,1,1,902,2.5,CSH,12.5 +CMT,1,1,268,1.4,CSH,6.5 +CMT,1,1,364,1.9,CSH,8.0 +CMT,1,4,454,1.0,CSH,6.5 +CMT,1,1,387,1.0,CSH,6.5 +CMT,1,1,117,0.6,CSH,4.0 +CMT,1,1,221,0.7,CSH,5.0 +CMT,1,1,719,1.2,CSH,9.5 +CMT,1,1,623,1.0,CSH,8.0 +CMT,1,1,280,0.6,CRD,5.0 +CMT,1,1,1313,8.2,CRD,25.0 +CMT,1,2,576,1.6,CSH,9.0 +CMT,1,1,166,0.5,CRD,4.0 +CMT,1,1,909,9.1,CSH,26.5 +CMT,1,2,1186,7.6,CRD,24.5 +CMT,2,3,1352,16.8,CSH,52.0 +CMT,1,1,393,1.8,CRD,7.5 +CMT,1,4,299,1.2,CRD,6.0 +CMT,2,2,1929,17.6,CSH,52.0 +CMT,1,2,135,0.7,CSH,4.5 +CMT,1,2,954,2.7,CRD,14.0 +CMT,1,3,726,1.2,CRD,9.0 +CMT,1,2,557,1.4,CRD,7.5 +CMT,1,1,734,2.8,CSH,12.0 +CMT,1,1,276,0.7,CRD,5.0 +CMT,1,2,597,1.4,CRD,8.5 +CMT,1,1,327,1.1,CSH,6.0 +CMT,1,1,549,3.3,CRD,11.5 +CMT,1,1,658,3.0,CSH,12.0 +CMT,1,1,446,3.1,CRD,11.0 +CMT,1,1,599,2.4,CSH,10.0 +CMT,1,1,560,2.1,CSH,9.5 +CMT,1,2,470,1.1,CRD,7.0 +CMT,1,1,210,0.6,CSH,5.0 +CMT,1,1,187,0.8,CSH,5.0 +CMT,1,1,267,0.4,CRD,5.0 +CMT,1,1,641,1.5,CSH,8.5 +CMT,1,2,436,1.2,CSH,7.0 +CMT,1,1,770,2.5,CSH,11.0 +CMT,1,2,678,2.0,CSH,10.0 +CMT,1,1,803,2.2,CSH,10.5 +CMT,1,3,332,0.8,CSH,5.5 +CMT,1,1,571,1.3,CRD,8.0 +CMT,1,1,2708,2.1,CSH,11.5 +CMT,1,1,635,1.9,CRD,9.5 +CMT,1,1,921,1.2,CRD,10.5 +CMT,1,1,1037,8.1,CRD,25.0 +CMT,1,1,144,0.4,CSH,4.0 +CMT,1,1,94,0.1,CRD,3.0 +CMT,1,2,386,0.8,CSH,6.0 +CMT,1,1,919,7.0,CRD,21.5 +CMT,1,1,249,0.8,CSH,5.5 +CMT,1,1,258,0.7,CSH,5.0 +CMT,1,1,359,1.3,CSH,6.5 +CMT,1,1,206,0.4,CRD,4.5 +CMT,1,1,582,1.1,CRD,8.0 +CMT,1,1,1136,11.8,CSH,33.0 +CMT,1,1,512,2.6,CSH,10.5 +CMT,1,1,144,0.5,CSH,4.0 +CMT,1,1,561,2.2,CRD,9.5 +CMT,1,1,852,4.1,CSH,15.0 +CMT,1,1,223,1.0,CRD,5.5 +CMT,1,1,635,3.8,CSH,13.5 +CMT,1,1,1371,7.4,CRD,24.0 +CMT,1,2,118,0.3,CRD,3.5 +CMT,1,1,1054,4.8,CRD,17.5 +CMT,1,1,890,2.9,CSH,13.0 +CMT,1,1,252,1.2,CSH,6.0 +CMT,1,1,174,0.5,CSH,4.0 +CMT,1,1,652,0.8,CRD,8.0 +CMT,1,1,2439,9.5,CSH,34.0 +CMT,1,1,112,0.3,CSH,3.5 +CMT,1,1,1060,8.4,CRD,25.5 +CMT,1,1,433,1.3,CSH,7.0 +CMT,1,1,192,0.7,CSH,4.5 +CMT,1,1,454,2.2,CRD,9.0 +CMT,1,1,190,1.1,CRD,5.0 +CMT,1,1,735,2.4,CRD,11.0 +CMT,1,2,397,1.8,CSH,7.5 +CMT,1,1,117,0.4,CRD,3.5 +CMT,1,1,596,3.2,CSH,12.0 +CMT,1,1,1278,0.8,CRD,6.0 +CMT,1,2,164,0.4,CRD,4.0 +CMT,2,1,1490,17.0,CRD,52.0 +CMT,1,1,159,0.7,CSH,4.5 +CMT,1,1,147,0.6,CRD,4.0 +CMT,1,1,373,0.6,CSH,5.5 +CMT,1,1,330,0.5,CSH,5.5 +CMT,1,1,1187,2.6,CSH,14.5 +CMT,1,1,436,0.7,CSH,6.5 +CMT,1,1,280,0.8,CSH,5.5 +CMT,1,1,362,0.7,CSH,6.0 +CMT,1,2,405,1.4,CRD,7.0 +CMT,1,2,349,1.2,CRD,6.5 +CMT,1,1,409,0.4,CSH,6.0 +CMT,1,1,503,2.5,CSH,10.0 +CMT,1,1,419,1.0,CSH,6.5 +CMT,1,1,211,0.5,CSH,4.5 +CMT,1,1,1022,2.7,CRD,13.5 +CMT,1,2,647,5.5,CRD,17.0 +CMT,1,1,416,1.7,CRD,7.5 +CMT,1,1,299,1.0,CRD,5.5 +CMT,1,1,367,1.0,CSH,6.5 +CMT,1,1,437,1.0,CSH,6.5 +CMT,1,1,833,4.4,CSH,15.0 +CMT,1,1,532,1.4,CSH,8.0 +CMT,1,1,2449,15.1,CRD,46.5 +CMT,1,1,590,1.5,CSH,8.5 +CMT,1,1,920,2.6,CRD,12.5 +CMT,1,1,363,1.2,CRD,6.5 +CMT,1,1,384,1.7,CRD,7.5 +CMT,1,2,1156,2.9,CRD,15.0 +CMT,1,2,314,1.0,CRD,6.0 +CMT,1,1,459,0.8,CRD,6.5 +CMT,1,1,717,1.7,CSH,10.0 +CMT,1,1,365,0.3,CSH,5.5 +CMT,1,1,336,1.2,CRD,6.0 +CMT,1,1,162,0.6,CSH,4.0 +CMT,1,2,668,2.3,CSH,10.0 +CMT,1,4,604,1.6,CSH,9.5 +CMT,1,2,447,1.2,CRD,7.0 +CMT,2,1,2167,17.4,CRD,52.0 +CMT,1,1,234,0.7,CSH,4.5 +CMT,1,1,118,0.5,CRD,4.0 +CMT,1,1,744,1.7,CRD,9.5 +CMT,1,1,334,0.4,CSH,5.5 +CMT,1,1,462,1.6,CSH,8.0 +CMT,1,1,744,0.9,CRD,9.0 +CMT,1,1,705,1.6,CSH,9.5 +CMT,1,1,1375,9.3,CRD,29.5 +CMT,1,1,262,0.7,CSH,5.0 +CMT,1,1,1023,1.7,CRD,12.0 +CMT,1,2,899,4.6,CRD,16.5 +CMT,1,1,935,4.1,CSH,14.5 +CMT,1,1,824,5.7,CRD,17.5 +CMT,1,1,488,1.7,CRD,8.0 +CMT,1,1,236,0.7,CRD,5.0 +CMT,1,1,1015,2.6,CSH,13.0 +CMT,1,3,892,1.9,CSH,11.5 +CMT,1,1,690,3.0,CSH,12.0 +CMT,1,1,311,0.7,CRD,5.5 +CMT,1,2,498,0.7,CRD,6.5 +CMT,1,1,755,2.3,CRD,11.5 +CMT,1,1,1630,7.4,CRD,26.0 +CMT,1,1,1064,1.4,CSH,7.5 +CMT,1,1,448,1.2,CSH,7.0 +CMT,1,1,456,0.8,CRD,6.5 +CMT,1,1,1335,4.3,CSH,17.5 +CMT,1,1,326,1.5,CRD,7.0 +CMT,1,1,230,0.7,CSH,5.0 +CMT,1,1,752,1.7,CRD,10.0 +CMT,1,1,647,1.7,CRD,9.5 +CMT,1,4,726,1.1,CSH,9.0 +CMT,1,2,332,0.5,CRD,5.5 +CMT,1,1,284,0.6,CSH,5.0 +CMT,1,1,394,0.9,CSH,6.0 +CMT,1,2,1016,4.0,CRD,16.5 +CMT,1,1,211,0.8,CRD,5.0 +CMT,1,2,907,2.3,CSH,12.0 +CMT,1,1,821,1.7,CSH,10.5 +CMT,1,1,167,0.4,CSH,4.0 +CMT,1,1,518,0.8,CRD,7.0 +CMT,1,1,201,0.8,CSH,5.0 +CMT,1,2,956,1.7,CRD,11.5 +CMT,1,1,1793,5.1,CRD,23.5 +CMT,1,1,248,0.6,CSH,4.5 +CMT,1,1,400,1.0,CRD,6.5 +CMT,1,1,434,1.4,CSH,7.0 +CMT,1,3,259,0.9,CSH,5.5 +CMT,1,1,1090,1.9,CSH,12.5 +CMT,1,1,629,1.5,CRD,8.5 +CMT,1,1,66,0.4,CSH,3.5 +CMT,1,1,431,1.1,CRD,6.5 +CMT,1,1,1039,3.7,CRD,15.0 +CMT,1,1,800,3.5,CSH,14.0 +CMT,1,1,1948,10.3,CRD,34.0 +CMT,1,1,530,2.0,CRD,9.0 +CMT,1,2,288,0.9,CSH,5.5 +CMT,1,2,255,0.7,CRD,5.0 +CMT,1,2,393,2.1,CRD,8.5 +CMT,1,1,473,1.9,CSH,8.5 +CMT,1,1,369,1.4,CSH,7.0 +CMT,1,1,460,1.2,CSH,7.0 +CMT,1,2,1765,6.2,CSH,25.0 +CMT,1,2,236,0.6,CSH,5.0 +CMT,1,2,874,0.7,CSH,10.0 +CMT,1,1,435,1.2,CSH,7.0 +CMT,1,1,431,1.1,CSH,7.0 +CMT,1,1,313,0.9,CRD,6.0 +CMT,1,1,396,1.2,CRD,6.5 +CMT,1,2,799,1.1,CRD,9.5 +CMT,1,2,931,2.1,CSH,11.0 +CMT,1,2,737,1.6,CRD,10.0 +CMT,1,1,1034,2.4,CRD,13.0 +CMT,1,1,750,2.7,CRD,11.0 +CMT,1,1,463,1.4,CRD,7.0 +CMT,1,1,894,3.3,CRD,13.5 +CMT,1,2,704,2.5,CSH,10.5 +CMT,1,1,317,0.9,CRD,6.0 +CMT,1,1,1402,1.9,CRD,15.0 +CMT,1,1,122,0.3,CSH,3.5 +CMT,1,1,134,0.5,CSH,4.0 +CMT,1,1,249,1.4,CSH,6.0 +CMT,1,1,123,0.6,CSH,4.0 +CMT,1,1,378,0.8,CSH,6.0 +CMT,1,1,871,2.5,CRD,11.5 +CMT,1,2,1017,1.4,CRD,11.5 +CMT,1,1,1322,12.0,CRD,34.5 +CMT,1,1,883,3.5,CRD,14.0 +CMT,1,2,1345,5.6,CRD,21.0 +CMT,1,4,787,2.1,CRD,11.0 +CMT,1,1,759,2.3,CRD,11.0 +CMT,1,1,932,3.3,CRD,14.0 +CMT,1,1,669,2.6,CSH,11.0 +CMT,1,1,116,0.4,CSH,3.5 +CMT,1,2,265,1.1,CSH,6.0 +CMT,1,1,516,1.6,CSH,8.5 +CMT,1,4,722,2.0,CSH,10.5 +CMT,1,1,313,1.4,CSH,6.5 +CMT,1,1,276,0.9,CSH,5.5 +CMT,1,1,903,4.3,CRD,15.5 +CMT,1,1,1148,4.8,CRD,18.0 +CMT,1,1,260,1.0,CSH,5.5 +CMT,1,2,309,1.3,CSH,6.5 +CMT,1,3,672,1.4,CSH,9.0 +CMT,1,1,298,1.0,CSH,6.0 +CMT,1,1,204,0.8,CSH,5.0 +CMT,1,1,438,1.4,CRD,7.0 +CMT,1,1,898,2.3,CRD,12.0 +CMT,1,1,1540,2.0,CRD,16.0 +CMT,1,2,356,0.9,CRD,6.0 +CMT,1,1,719,2.0,CRD,10.0 +CMT,1,1,701,0.7,CRD,8.5 +CMT,1,1,237,0.9,CSH,5.5 +CMT,1,2,577,1.0,CSH,7.5 +CMT,1,1,462,0.5,CSH,6.5 +CMT,1,1,795,1.6,CRD,10.0 +CMT,1,2,464,1.1,CSH,7.0 +CMT,1,3,824,2.4,CRD,12.0 +CMT,1,1,263,1.3,CSH,6.0 +CMT,1,2,431,1.4,CRD,7.5 +CMT,1,1,524,4.8,CSH,15.0 +CMT,1,1,221,0.8,CSH,5.0 +CMT,1,1,204,0.6,CRD,4.5 +CMT,1,1,918,5.4,CRD,18.5 +CMT,1,1,1394,4.2,CRD,17.5 +CMT,1,2,349,0.5,CRD,5.5 +CMT,1,1,266,1.0,CSH,5.5 +CMT,1,2,1027,2.7,CSH,13.0 +CMT,1,1,448,2.8,CRD,10.0 +CMT,1,3,469,1.5,CSH,8.0 +CMT,1,1,1235,4.5,CSH,18.5 +CMT,1,1,135,0.8,CRD,4.5 +CMT,1,2,1132,3.0,CSH,15.0 +CMT,1,1,814,2.0,CSH,10.5 +CMT,1,2,723,0.8,CSH,8.5 +CMT,1,1,545,1.1,CRD,7.5 +CMT,1,1,335,1.1,CRD,6.0 +CMT,1,1,932,9.7,CRD,27.5 +CMT,1,1,472,0.5,CRD,6.5 +CMT,1,2,1222,4.0,CSH,17.5 +CMT,1,1,317,0.8,CSH,5.5 +CMT,1,2,331,1.2,CSH,6.0 +CMT,1,2,508,2.4,CRD,10.0 +CMT,1,1,344,0.9,CSH,6.0 +CMT,1,1,709,1.4,CSH,9.0 +CMT,1,2,1316,3.1,CSH,15.5 +CMT,1,1,589,1.5,CRD,8.5 +CMT,1,1,433,1.3,CRD,7.0 +CMT,1,1,393,0.7,CRD,6.0 +CMT,1,1,749,1.1,CRD,9.5 +CMT,1,2,285,0.9,CRD,5.5 +CMT,1,1,431,1.2,CSH,7.0 +CMT,1,1,476,1.0,CSH,7.0 +CMT,1,1,588,1.0,CRD,7.5 +CMT,1,2,454,0.8,CSH,6.5 +CMT,1,1,1191,2.9,CRD,15.0 +CMT,1,1,408,0.9,CRD,6.0 +CMT,1,1,929,3.5,CSH,13.5 +CMT,1,2,1242,2.6,CSH,15.0 +CMT,1,1,343,0.6,CSH,5.5 +CMT,1,1,1562,11.5,CRD,34.0 +CMT,1,1,1380,6.6,CRD,22.5 +CMT,1,1,544,2.8,CSH,10.5 +CMT,1,2,431,2.5,CRD,9.5 +CMT,1,1,237,0.5,CSH,4.5 +CMT,1,1,1297,2.2,CRD,15.0 +CMT,1,1,428,2.0,CRD,8.5 +CMT,1,1,330,1.0,CSH,6.0 +CMT,1,1,331,0.9,CRD,6.0 +CMT,1,1,1196,2.8,CSH,14.5 +CMT,1,1,420,3.1,CSH,10.5 +CMT,1,1,196,0.5,CSH,4.5 +CMT,1,2,381,1.0,CRD,6.5 +CMT,1,1,1079,6.5,CSH,20.5 +CMT,1,1,172,0.5,CRD,4.0 +CMT,1,1,1184,2.3,CRD,14.0 +CMT,1,1,1331,2.9,CSH,15.5 +CMT,1,2,1138,2.4,CSH,14.0 +CMT,1,2,625,1.2,CSH,8.5 +CMT,1,1,243,0.7,CSH,5.0 +CMT,1,1,183,0.7,CSH,4.5 +CMT,1,1,544,1.6,CSH,8.5 +CMT,1,1,577,1.4,CSH,8.5 +CMT,1,1,303,0.5,CSH,5.0 +CMT,1,2,1516,3.5,CRD,17.5 +CMT,1,1,1571,7.9,CRD,28.0 +CMT,1,1,250,1.8,CRD,7.0 +CMT,1,1,251,1.0,CRD,5.5 +CMT,1,2,1174,1.3,CRD,13.0 +CMT,1,1,668,1.9,CRD,10.0 +CMT,1,2,186,0.4,CSH,4.0 +CMT,1,1,1292,4.3,CRD,18.5 +CMT,1,1,1317,6.7,CRD,23.0 +CMT,1,1,488,1.7,CRD,8.0 +CMT,1,1,1023,3.2,CSH,14.0 +CMT,1,1,296,0.6,CSH,5.0 +CMT,1,1,1580,4.1,CRD,18.5 +CMT,1,1,800,1.7,CSH,10.5 +CMT,1,3,650,1.5,CRD,9.5 +CMT,1,1,650,1.1,CSH,8.0 +CMT,1,1,932,1.8,CRD,11.5 +CMT,1,1,665,0.9,CRD,8.0 +CMT,1,2,1360,2.2,CSH,15.0 +CMT,1,1,205,0.5,CRD,4.5 +CMT,1,1,563,1.2,CRD,8.0 +CMT,1,1,263,1.3,CSH,6.0 +CMT,1,1,1616,3.7,CRD,19.0 +CMT,1,1,648,2.7,CSH,11.0 +CMT,1,1,812,2.4,CSH,11.5 +CMT,1,1,420,1.3,CSH,7.0 +CMT,1,3,296,0.7,CSH,5.5 +CMT,1,1,558,2.4,CRD,10.0 +CMT,1,1,300,0.8,CSH,5.5 +CMT,1,1,235,0.5,CRD,4.5 +CMT,1,1,283,0.7,CSH,5.0 +CMT,1,1,1140,1.2,CRD,12.5 +CMT,1,1,1330,1.9,CSH,14.5 +CMT,1,1,751,3.3,CRD,12.5 +CMT,1,1,769,1.2,CRD,9.5 +CMT,1,1,214,1.1,CRD,5.5 +CMT,1,1,411,2.2,CSH,9.0 +CMT,1,1,239,0.6,CSH,5.0 +CMT,1,1,284,0.8,CSH,5.5 +CMT,1,3,697,1.9,CRD,10.0 +CMT,1,1,1232,2.1,CSH,14.0 +CMT,1,1,1042,6.3,CSH,21.0 +CMT,1,1,1167,1.9,CSH,13.5 +CMT,1,1,2416,6.0,CSH,29.5 +CMT,1,1,1138,2.5,CRD,13.5 +CMT,1,1,1028,2.3,CRD,13.0 +CMT,1,1,1159,2.1,CRD,13.5 +CMT,1,1,1205,2.6,CRD,14.5 +CMT,1,1,1120,1.1,CRD,12.0 +CMT,1,2,802,9.0,CRD,25.0 +CMT,1,2,394,1.1,CRD,7.0 +CMT,1,1,744,1.5,CRD,10.0 +CMT,1,1,286,0.8,CSH,5.5 +CMT,1,1,1471,16.8,CRD,45.5 +CMT,2,2,1385,18.2,CSH,52.0 +CMT,1,1,224,0.8,CSH,5.0 +CMT,1,1,152,0.6,CSH,4.5 +CMT,1,1,392,1.5,CRD,7.5 +CMT,1,1,1065,2.0,CSH,12.5 +CMT,1,1,1008,3.5,CSH,14.5 +CMT,1,1,918,2.0,CSH,12.0 +CMT,1,1,323,1.0,CSH,6.0 +CMT,1,3,274,0.5,CSH,5.0 +CMT,1,2,242,0.4,CRD,4.5 +CMT,1,1,313,1.1,CSH,6.5 +CMT,1,1,1017,2.1,CRD,12.5 +CMT,1,2,796,1.9,CSH,11.0 +CMT,1,1,350,0.6,CSH,5.5 +CMT,1,1,720,1.8,CSH,10.0 +CMT,1,1,1379,3.4,CSH,16.5 +CMT,1,1,556,1.9,CRD,9.0 +CMT,1,1,287,1.1,CSH,6.5 +CMT,1,1,775,4.3,CSH,14.5 +CMT,1,1,924,9.1,CRD,26.0 +CMT,1,1,117,0.5,CRD,4.0 +CMT,1,1,205,0.6,CSH,4.5 +CMT,1,3,349,1.1,CSH,6.5 +CMT,1,1,287,1.4,CRD,6.5 +CMT,1,2,296,0.7,CRD,5.0 +CMT,1,1,954,5.9,CSH,19.5 +CMT,1,1,813,9.1,CRD,25.5 +CMT,1,1,223,0.6,CSH,4.5 +CMT,1,1,885,1.5,CSH,11.0 +CMT,1,1,759,4.2,CSH,14.5 +CMT,1,1,621,3.4,CSH,12.5 +CMT,1,2,202,1.1,CSH,5.0 +CMT,1,2,402,1.4,CSH,7.0 +CMT,1,1,1094,3.4,CRD,14.5 +CMT,1,1,815,2.7,CRD,12.0 +CMT,1,1,300,0.8,CRD,5.5 +CMT,1,1,1073,10.9,CRD,30.5 +CMT,1,1,304,0.9,CSH,5.5 +CMT,2,1,1173,16.2,CRD,52.0 +CMT,1,1,293,0.9,CSH,5.5 +CMT,1,1,388,1.1,CSH,6.5 +CMT,1,2,325,0.8,CSH,6.0 +CMT,1,1,523,1.8,CSH,8.0 +CMT,1,1,492,1.1,CSH,7.0 +CMT,1,1,1095,6.5,CRD,21.5 +CMT,1,1,245,0.7,CRD,5.0 +CMT,1,2,1648,5.0,CSH,20.5 +CMT,1,1,361,1.3,CSH,6.5 +CMT,1,1,476,0.6,CRD,6.5 +CMT,1,1,243,0.5,CRD,4.5 +CMT,1,1,835,2.3,CRD,11.5 +CMT,1,2,815,3.0,CRD,12.5 +CMT,1,1,322,1.3,CSH,6.5 +CMT,1,1,130,0.4,CSH,4.0 +CMT,1,1,205,0.6,CRD,4.5 +CMT,1,1,1397,5.7,CSH,21.0 +CMT,1,1,344,1.3,CRD,6.5 +CMT,1,1,961,1.2,CSH,11.0 +CMT,1,1,985,2.7,CRD,13.5 +CMT,1,1,283,0.9,CSH,5.5 +CMT,1,1,427,0.9,CSH,6.5 +CMT,1,3,702,1.7,CSH,10.0 +CMT,1,2,621,1.3,CSH,8.5 +CMT,1,1,624,2.4,CSH,10.0 +CMT,1,1,634,1.6,CRD,9.5 +CMT,1,1,275,0.7,CSH,5.0 +CMT,1,1,284,2.3,CRD,8.0 +CMT,1,1,232,0.5,CRD,4.5 +CMT,1,1,296,0.7,CSH,5.5 +CMT,1,1,246,0.3,CSH,4.5 +CMT,1,1,958,4.7,CSH,17.0 +CMT,1,1,223,0.8,CRD,5.0 +CMT,1,1,503,1.0,CRD,7.5 +CMT,1,1,1037,3.1,CRD,14.5 +CMT,1,4,353,0.8,CSH,6.0 +CMT,1,1,669,1.9,CSH,9.5 +CMT,1,1,430,1.8,CRD,8.0 +CMT,1,1,403,1.9,CSH,8.0 +CMT,1,1,248,0.5,CSH,5.0 +CMT,1,2,239,0.5,CSH,4.5 +CMT,1,1,686,2.4,CRD,10.5 +CMT,1,1,396,0.7,CRD,6.0 +CMT,1,1,516,1.4,CRD,8.0 +CMT,1,1,583,1.7,CSH,8.5 +CMT,1,2,491,1.3,CSH,7.5 +CMT,1,1,588,1.0,CRD,8.0 +CMT,1,1,1426,3.5,CRD,17.0 +CMT,1,1,410,1.0,CSH,6.5 +CMT,1,1,271,1.2,CRD,6.5 +CMT,1,1,337,1.0,CSH,6.0 +CMT,1,1,207,0.7,CSH,4.5 +CMT,1,1,500,1.3,CRD,7.5 +CMT,1,1,1102,2.6,CRD,13.5 +CMT,1,2,324,0.5,CSH,5.0 +CMT,1,1,1211,2.5,CSH,14.5 +CMT,1,1,577,0.9,CSH,7.5 +CMT,1,1,317,1.5,CSH,7.0 +CMT,1,1,257,0.2,CSH,4.5 +CMT,1,1,442,0.8,CRD,6.5 +CMT,1,2,987,1.6,CSH,11.5 +CMT,1,1,937,2.4,CRD,12.5 +CMT,1,1,804,6.5,CSH,19.5 +CMT,1,1,631,2.1,CSH,10.0 +CMT,1,1,574,1.6,CRD,8.5 +CMT,1,1,365,1.3,CRD,7.0 +CMT,1,1,725,4.9,CRD,16.0 +CMT,1,2,338,0.9,CRD,6.0 +CMT,2,2,1210,15.4,CRD,52.0 +CMT,1,1,258,0.9,CSH,5.5 +CMT,1,1,481,1.5,CSH,8.0 +CMT,1,1,1133,3.5,CRD,15.0 +CMT,1,1,495,1.2,CRD,7.5 +CMT,1,1,559,1.1,CSH,8.0 +CMT,1,1,1025,3.9,CRD,15.5 +CMT,1,1,418,0.8,CSH,6.0 +CMT,1,1,567,1.7,CSH,8.5 +CMT,1,1,880,1.6,CRD,10.5 +CMT,1,1,449,0.5,CRD,6.0 +CMT,1,1,490,1.3,CSH,7.5 +CMT,1,3,1111,7.8,CRD,24.0 +CMT,2,1,1500,19.3,CRD,52.0 +CMT,1,1,484,2.1,CSH,9.0 +CMT,1,1,962,6.8,CRD,21.5 +CMT,1,1,211,0.5,CRD,4.5 +CMT,1,1,566,2.5,CRD,10.5 +CMT,1,1,652,1.7,CSH,9.5 +CMT,1,1,329,1.7,CSH,7.5 +CMT,1,1,417,1.3,CSH,7.0 +CMT,1,1,357,1.0,CRD,6.0 +CMT,1,1,406,0.6,CRD,6.0 +CMT,1,1,1385,2.7,CSH,16.0 +CMT,1,1,470,1.0,CSH,7.0 +CMT,1,1,473,1.2,CRD,7.5 +CMT,1,3,1142,3.5,CSH,15.5 +CMT,1,1,773,4.0,CRD,15.0 +CMT,1,1,587,1.1,CSH,8.0 +CMT,1,1,841,9.3,CRD,26.5 +CMT,1,1,450,1.3,CRD,7.5 +CMT,1,1,165,0.7,CSH,4.5 +CMT,1,1,1335,3.5,CSH,16.0 +CMT,1,1,371,1.5,CSH,7.0 +CMT,1,1,557,1.3,CRD,8.0 +CMT,1,1,1158,2.4,CRD,14.0 +CMT,1,1,738,4.8,CSH,16.0 +CMT,1,2,726,2.8,CSH,11.5 +CMT,1,1,523,3.6,CSH,12.0 +CMT,1,1,441,1.2,CSH,7.5 +CMT,1,1,609,1.2,CRD,8.0 +CMT,1,1,809,3.9,CSH,14.5 +CMT,1,1,989,1.8,CRD,12.0 +CMT,1,2,242,0.6,CSH,5.0 +CMT,1,1,535,1.5,CSH,8.0 +CMT,1,1,776,3.5,CRD,14.0 +CMT,1,2,208,0.7,CSH,5.0 +CMT,1,2,941,2.1,CSH,11.5 +CMT,1,1,1293,2.6,CRD,15.5 +CMT,1,1,1093,2.4,CRD,13.0 +CMT,1,1,1920,10.3,CRD,33.5 +CMT,1,1,737,2.7,CRD,11.0 +CMT,1,1,344,0.8,CSH,6.0 +CMT,1,1,313,0.9,CRD,6.0 +CMT,1,2,365,1.2,CSH,6.5 +CMT,1,1,1025,7.3,CRD,22.5 +CMT,1,1,724,1.4,CSH,9.5 +CMT,1,1,237,1.0,CRD,5.5 +CMT,1,1,277,0.9,CRD,5.5 +CMT,1,1,382,0.8,CSH,6.0 +CMT,1,1,916,2.9,CRD,13.0 +CMT,1,1,1465,4.3,CSH,19.0 +CMT,1,2,544,1.4,CRD,8.0 +CMT,1,1,760,1.2,CSH,9.0 +CMT,1,1,716,1.5,CSH,9.0 +CMT,1,1,212,1.0,CSH,5.0 +CMT,1,2,353,1.1,CRD,6.5 +CMT,1,1,999,1.3,CRD,11.0 +CMT,1,2,291,0.9,CSH,5.5 +CMT,1,1,48,0.2,CSH,3.0 +CMT,1,1,743,3.6,CRD,13.0 +CMT,1,1,587,2.1,CRD,9.5 +CMT,1,1,274,0.6,CSH,5.0 +CMT,1,1,434,1.0,CRD,7.0 +CMT,1,1,315,1.1,CRD,6.0 +CMT,1,1,515,2.0,CRD,9.5 +CMT,1,1,764,4.0,CSH,14.5 +CMT,1,1,807,3.4,CRD,13.5 +CMT,1,2,353,0.9,CSH,6.0 +CMT,1,1,445,1.0,CSH,6.5 +CMT,1,1,932,2.5,CRD,12.0 +CMT,1,3,446,0.9,CSH,6.5 +CMT,1,1,478,1.6,CRD,7.5 +CMT,1,1,1007,2.8,CRD,13.0 +CMT,1,1,908,3.1,CRD,14.0 +CMT,1,1,854,2.3,CSH,11.5 +CMT,1,1,761,1.9,CRD,10.5 +CMT,1,2,320,0.7,CSH,5.5 +CMT,1,1,162,0.5,CRD,4.0 +CMT,1,2,639,3.1,CSH,11.5 +CMT,1,1,117,0.3,CSH,3.5 +CMT,1,1,264,1.5,CSH,6.5 +CMT,1,1,134,0.6,CSH,4.0 +CMT,1,1,76,0.3,CSH,3.5 +CMT,1,1,262,1.8,CRD,7.0 +CMT,1,1,1407,4.0,CRD,18.5 +CMT,1,1,497,1.9,CRD,8.5 +CMT,1,1,822,2.4,CSH,11.5 +CMT,1,2,404,1.7,CSH,7.5 +CMT,1,1,496,2.6,CSH,9.5 +CMT,1,1,367,0.9,CSH,6.0 +CMT,1,1,355,0.9,CRD,6.0 +CMT,1,2,1605,1.1,CRD,16.5 +CMT,1,1,257,0.9,CSH,5.5 +CMT,1,2,317,1.0,CRD,6.0 +CMT,1,1,610,1.4,CSH,8.0 +CMT,1,2,239,0.9,CSH,5.5 +CMT,1,1,217,1.5,CSH,6.0 +CMT,1,1,230,0.6,CSH,5.0 +CMT,1,1,798,4.7,CSH,16.0 +CMT,1,1,1091,3.6,CSH,15.5 +CMT,1,1,431,1.0,CRD,6.5 +CMT,1,1,279,0.8,CRD,5.0 +CMT,1,1,77,0.4,CSH,3.5 +CMT,1,1,323,1.2,CSH,6.0 +CMT,1,1,512,1.6,CSH,8.0 +CMT,1,1,141,0.4,CSH,4.0 +CMT,1,1,1032,3.9,CSH,15.5 +CMT,1,2,972,5.1,CRD,18.0 +CMT,1,1,294,0.3,CSH,5.0 +CMT,1,1,662,2.9,CRD,11.0 +CMT,1,1,450,0.8,CRD,6.5 +CMT,1,1,1349,5.9,CSH,22.0 +CMT,1,1,378,1.1,CSH,6.5 +CMT,1,4,1549,5.6,CRD,22.5 +CMT,1,2,137,0.6,CSH,4.0 +CMT,1,2,1568,10.7,CSH,32.0 +CMT,1,3,174,0.6,CSH,4.5 +CMT,1,1,899,6.7,CRD,20.5 +CMT,1,1,547,1.8,CRD,9.0 +CMT,1,2,355,1.3,CSH,6.5 +CMT,1,1,365,1.3,CRD,6.5 +CMT,1,1,186,0.8,CSH,5.0 +CMT,1,1,322,0.9,CRD,6.0 +CMT,1,1,385,1.5,CSH,7.5 +CMT,1,1,248,0.7,CSH,5.0 +CMT,1,1,318,1.2,CSH,6.0 +CMT,1,2,238,1.1,CSH,5.5 +CMT,1,3,448,1.6,CSH,7.5 +CMT,1,2,273,0.9,CRD,5.5 +CMT,1,1,823,7.5,CSH,22.0 +CMT,1,1,1673,4.0,CRD,19.0 +CMT,1,1,972,2.6,CSH,12.5 +CMT,1,3,269,1.0,CRD,5.5 +CMT,1,1,389,1.9,CRD,8.0 +CMT,1,1,235,0.9,CSH,5.0 +CMT,1,2,235,0.5,CRD,4.5 +CMT,1,1,395,1.8,CSH,8.0 +CMT,1,1,285,1.6,CSH,6.5 +CMT,1,1,288,0.9,CSH,5.5 +CMT,1,1,974,6.9,CRD,22.5 +CMT,1,2,444,2.5,CSH,9.0 +CMT,1,2,396,1.8,CSH,7.5 +CMT,1,4,540,2.2,CSH,9.5 +CMT,1,3,639,1.4,CSH,8.5 +CMT,1,3,100,0.4,CSH,3.5 +CMT,1,1,666,2.3,CSH,10.5 +CMT,1,2,232,0.9,CRD,5.5 +CMT,1,1,487,2.2,CRD,9.5 +CMT,1,1,616,1.5,CRD,8.5 +CMT,1,1,877,8.3,CRD,24.0 +CMT,1,1,554,2.2,CRD,9.5 +CMT,1,2,832,3.3,CSH,13.0 +CMT,1,2,418,1.4,CRD,7.0 +CMT,1,4,938,3.5,CRD,13.5 +CMT,1,3,326,0.8,CRD,5.5 +CMT,1,2,661,3.6,CSH,13.5 +CMT,1,2,568,1.6,CRD,8.5 +CMT,1,2,619,1.2,CSH,8.5 +CMT,1,1,183,0.6,CSH,4.0 +CMT,1,1,244,0.9,CRD,5.5 +CMT,1,1,741,5.6,CSH,17.5 +CMT,1,1,561,1.0,CSH,7.5 +CMT,2,1,2313,20.6,CRD,52.0 +CMT,1,1,155,0.6,CSH,4.0 +CMT,1,1,979,2.5,CRD,12.5 +CMT,1,1,355,0.5,CSH,5.5 +CMT,1,1,667,1.9,CSH,9.5 +CMT,1,3,696,1.8,CSH,9.5 +CMT,1,1,500,1.2,CSH,8.0 +CMT,1,1,943,3.3,CRD,14.0 +CMT,1,1,308,1.3,CSH,6.0 +CMT,1,5,856,3.1,CRD,12.5 +CMT,1,1,378,1.0,CRD,6.5 +CMT,1,2,264,0.5,CSH,5.0 +CMT,1,1,207,0.8,CRD,5.0 +CMT,1,1,299,0.9,CSH,5.5 +CMT,1,1,1040,3.8,CRD,15.0 +CMT,1,4,305,0.7,CSH,5.5 +CMT,1,1,642,3.8,CRD,12.5 +CMT,1,2,625,2.4,CRD,10.0 +CMT,1,3,754,2.8,CSH,11.5 +CMT,1,1,1644,6.6,CRD,26.0 +CMT,1,2,515,1.8,CSH,8.5 +CMT,1,1,605,0.9,CSH,8.0 +CMT,2,1,1626,19.0,CRD,52.0 +CMT,1,1,650,16.2,CRD,149.0 +CMT,1,1,329,1.5,CSH,6.5 +CMT,1,3,621,2.2,CRD,9.5 +CMT,1,1,906,1.1,CRD,10.5 +CMT,1,1,200,0.7,CRD,4.5 +CMT,1,1,969,7.6,CRD,23.0 +CMT,1,1,397,1.0,CRD,6.0 +CMT,1,1,680,3.5,CRD,12.5 +CMT,1,1,433,1.4,CRD,7.5 +CMT,1,3,1679,3.9,CRD,19.0 +CMT,1,1,391,1.3,CSH,7.0 +CMT,1,1,365,1.4,CRD,7.0 +CMT,1,1,611,3.0,CRD,12.0 +CMT,1,1,579,1.3,CSH,8.0 +CMT,1,1,305,1.1,CSH,6.5 +CMT,1,1,893,2.1,CSH,11.0 +CMT,1,1,300,0.7,CSH,5.5 +CMT,1,1,677,3.4,CRD,12.5 +CMT,1,1,811,3.3,CRD,13.0 +CMT,1,1,516,1.1,CRD,7.5 +CMT,1,1,390,1.3,CSH,6.5 +CMT,1,1,934,5.4,CRD,18.5 +CMT,1,1,357,2.0,CRD,8.0 +CMT,1,1,982,5.4,CRD,18.5 +CMT,1,1,116,0.6,CSH,4.0 +CMT,1,2,518,2.1,CRD,9.0 +CMT,1,1,837,8.8,CRD,25.5 +CMT,1,1,1132,6.7,CSH,22.0 +CMT,1,1,520,1.4,CRD,7.5 +CMT,1,1,248,0.6,CRD,5.0 +CMT,1,1,602,1.1,CSH,8.5 +CMT,1,1,427,0.7,CSH,6.0 +CMT,1,1,417,1.1,CRD,7.0 +CMT,1,2,902,3.1,CSH,13.0 +CMT,1,1,755,1.9,CSH,10.5 +CMT,1,1,278,0.5,CSH,5.0 +CMT,1,3,504,1.6,CSH,8.0 +CMT,1,3,373,1.0,CSH,6.0 +CMT,1,1,1322,2.9,CSH,15.5 +CMT,1,1,790,2.4,CRD,11.5 +CMT,1,1,867,2.1,CSH,11.5 +CMT,1,2,665,1.5,CSH,9.0 +CMT,1,2,1189,6.8,CRD,22.5 +CMT,1,2,583,2.2,CRD,10.5 +CMT,1,1,391,0.6,CSH,4.0 +CMT,1,4,1040,2.8,CSH,13.5 +CMT,1,1,996,4.2,CSH,15.0 +CMT,1,1,812,3.5,CSH,13.5 +CMT,1,2,499,1.1,CSH,7.0 +CMT,1,1,387,0.8,CSH,6.0 +CMT,1,1,457,1.8,CRD,8.0 +CMT,4,3,473,2.3,CSH,9.0 +CMT,1,1,283,0.7,CRD,5.5 +CMT,1,1,605,1.8,CSH,9.0 +CMT,1,3,481,1.6,CSH,8.0 +CMT,1,3,740,2.4,CSH,11.0 +CMT,1,2,1340,5.6,CRD,20.5 +CMT,1,1,6484,14.0,CRD,82.5 +CMT,1,1,667,3.1,CRD,12.0 +CMT,1,1,2003,2.9,CSH,21.0 +CMT,1,1,362,0.9,CRD,6.0 +CMT,1,4,219,0.8,CSH,5.0 +CMT,1,2,72,0.4,CRD,3.5 +CMT,1,2,290,0.7,CRD,5.5 +CMT,1,1,1266,4.8,CRD,18.5 +CMT,1,4,734,1.9,CSH,10.5 +CMT,1,2,239,0.6,CSH,5.0 +CMT,1,1,512,0.8,CSH,7.0 +CMT,1,1,751,1.0,CRD,9.0 +CMT,1,1,851,3.9,CRD,14.0 +CMT,1,1,140,0.3,CRD,4.0 +CMT,1,1,373,1.0,CRD,6.5 +CMT,1,1,383,1.0,CSH,6.5 +CMT,1,2,671,2.3,CSH,11.0 +CMT,1,1,492,1.5,CSH,7.5 +CMT,1,2,235,0.6,CSH,5.0 +CMT,1,1,502,1.4,CRD,7.5 +CMT,1,2,353,1.2,CRD,6.5 +CMT,1,3,1303,4.0,CRD,17.0 +CMT,1,3,235,0.9,CRD,5.0 +CMT,1,1,555,1.5,CSH,8.5 +CMT,1,1,314,0.8,CSH,5.5 +CMT,1,1,497,1.2,CRD,7.5 +CMT,1,1,707,1.5,CRD,9.5 +CMT,1,2,322,1.0,CSH,6.0 +CMT,1,1,419,0.8,CRD,6.5 +CMT,1,1,579,1.8,CRD,9.0 +CMT,1,1,199,0.5,CRD,4.5 +CMT,1,1,1092,1.1,CRD,12.0 +CMT,1,1,598,1.6,CRD,8.5 +CMT,1,1,89,0.5,CSH,4.0 +CMT,1,2,598,1.2,CRD,8.0 +CMT,1,3,1891,7.0,CRD,27.0 +CMT,1,1,825,2.4,CSH,12.0 +CMT,1,1,878,6.6,CRD,20.5 +CMT,1,1,586,1.9,CSH,9.0 +CMT,1,1,548,1.8,CSH,9.0 +CMT,1,1,178,1.0,CRD,5.0 +CMT,1,1,452,2.6,CSH,9.5 +CMT,1,1,374,1.3,CRD,7.0 +CMT,1,3,488,1.5,CSH,8.0 +CMT,1,1,1013,3.4,CSH,14.5 +CMT,1,1,308,0.9,CRD,5.5 +CMT,1,2,789,6.9,CRD,21.0 +CMT,1,2,259,0.7,CSH,5.0 +CMT,1,1,288,0.8,CSH,5.5 +CMT,1,2,863,4.8,CRD,17.0 +CMT,1,3,354,1.4,CRD,7.0 +CMT,1,1,840,6.7,CRD,20.0 +CMT,1,1,163,0.6,CSH,4.0 +CMT,1,2,483,1.4,CRD,7.5 +CMT,1,1,209,0.8,CRD,5.0 +CMT,1,2,308,1.4,CSH,6.5 +CMT,1,1,1178,5.0,CRD,18.0 +CMT,1,1,549,1.6,CRD,8.0 +CMT,1,1,919,2.2,CRD,13.0 +CMT,1,1,375,2.1,CSH,8.0 +CMT,1,3,1361,10.0,CRD,30.0 +CMT,1,1,499,1.2,CRD,7.5 +CMT,1,1,1909,7.1,CRD,28.5 +CMT,1,2,280,1.2,CSH,6.0 +CMT,1,1,630,2.1,CRD,10.0 +CMT,1,1,165,0.5,CSH,4.0 +CMT,1,3,643,1.9,CRD,9.5 +CMT,1,1,645,3.2,CRD,11.0 +CMT,1,3,577,2.9,CRD,11.0 +CMT,1,1,215,1.0,CSH,5.5 +CMT,1,2,473,1.6,CRD,8.0 +CMT,1,1,341,0.6,CRD,5.5 +CMT,1,1,528,1.2,CRD,7.5 +CMT,1,2,690,2.5,CRD,11.0 +CMT,1,1,860,7.0,CSH,21.5 +CMT,1,1,443,1.0,CRD,6.5 +CMT,1,2,328,0.8,CSH,5.5 +CMT,1,2,302,1.4,CRD,6.5 +CMT,1,2,648,2.8,CSH,11.5 +CMT,1,1,344,1.1,CSH,6.5 +CMT,1,2,413,1.7,CRD,8.0 +CMT,1,1,255,0.5,CRD,4.5 +CMT,1,3,823,4.1,CRD,14.5 +CMT,1,3,730,2.1,CSH,10.5 +CMT,1,1,170,0.7,CRD,4.5 +CMT,1,1,513,2.5,CRD,10.0 +CMT,1,2,421,1.3,CRD,7.0 +CMT,1,1,1112,4.6,CRD,17.0 +CMT,1,1,611,3.2,CRD,11.5 +CMT,1,1,759,2.5,CRD,11.0 +CMT,1,1,470,0.9,CRD,7.0 +CMT,1,2,392,1.4,CSH,7.5 +CMT,1,1,415,1.7,CSH,7.5 +CMT,1,3,740,2.2,CSH,11.0 +CMT,1,1,448,1.6,CRD,7.5 +CMT,1,2,1233,1.7,CSH,13.5 +CMT,1,2,230,0.6,CRD,5.0 +CMT,1,1,452,1.3,CSH,7.5 +CMT,1,4,406,1.5,CRD,7.5 +CMT,1,1,493,1.5,CRD,8.0 +CMT,1,2,814,5.0,CRD,17.0 +CMT,1,1,129,0.3,CSH,3.5 +CMT,1,1,762,2.2,CRD,11.0 +CMT,1,1,1285,2.4,CSH,15.5 +CMT,1,2,1035,6.7,CRD,20.5 +CMT,1,2,1342,12.1,CRD,34.5 +CMT,1,2,754,3.3,CRD,12.5 +CMT,1,2,341,2.3,CSH,8.5 +CMT,1,2,984,4.4,CRD,16.5 +CMT,1,1,1182,5.3,CSH,18.5 +CMT,1,1,1009,4.8,CSH,17.5 +CMT,1,3,778,3.6,CRD,13.0 +CMT,1,3,687,2.8,CRD,11.5 +CMT,1,1,147,0.7,CRD,4.5 +CMT,1,4,642,1.9,CSH,9.5 +CMT,1,1,726,3.6,CRD,13.5 +CMT,1,3,578,1.9,CRD,9.5 +CMT,1,2,226,0.9,CSH,5.5 +CMT,1,2,289,1.4,CRD,6.5 +CMT,1,1,715,2.8,CSH,11.5 +CMT,1,2,143,0.1,CSH,3.5 +CMT,1,1,233,0.7,CSH,5.0 +CMT,1,1,946,3.6,CRD,14.0 +CMT,1,2,663,3.2,CRD,11.5 +CMT,1,4,710,2.0,CSH,10.5 +CMT,1,2,468,1.7,CRD,8.5 +CMT,1,1,345,0.6,CRD,5.5 +CMT,1,1,431,1.1,CRD,7.0 +CMT,1,2,927,2.2,CSH,12.0 +CMT,1,2,146,0.4,CRD,4.0 +CMT,1,2,990,4.1,CSH,15.5 +CMT,1,2,752,5.5,CRD,18.0 +CMT,1,4,343,1.1,CRD,6.5 +CMT,1,1,392,1.2,CSH,6.5 +CMT,1,1,608,1.9,CRD,9.0 +CMT,1,1,47,0.0,NOC,2.5 +CMT,1,2,644,2.7,CRD,11.0 +CMT,1,1,268,1.2,CRD,6.0 +CMT,1,1,690,3.5,CRD,13.0 +CMT,1,1,473,2.7,CRD,10.0 +CMT,1,1,630,5.1,CSH,16.0 +CMT,1,1,265,1.0,CSH,6.0 +CMT,1,1,440,1.5,CSH,8.0 +CMT,1,1,465,2.3,CRD,9.5 +CMT,1,1,1021,4.3,CRD,16.0 +CMT,1,1,1091,9.2,CRD,26.0 +CMT,1,1,372,1.9,CRD,7.5 +CMT,1,1,280,0.9,CRD,5.5 +CMT,1,1,730,2.4,CSH,10.5 +CMT,1,1,544,2.7,CRD,10.5 +CMT,1,2,897,3.5,CSH,14.0 +CMT,1,2,185,0.7,CSH,4.5 +CMT,1,1,1629,4.5,CRD,20.5 +CMT,1,1,376,1.1,CSH,6.5 +CMT,1,1,171,0.8,CRD,4.5 +CMT,1,2,653,2.3,CRD,10.5 +CMT,1,1,533,2.4,CRD,10.0 +CMT,1,2,297,1.3,CSH,6.5 +CMT,1,1,622,2.9,CRD,11.0 +CMT,1,2,737,1.0,CRD,9.5 +CMT,1,1,696,1.4,CRD,9.5 +CMT,1,2,746,3.5,CSH,13.0 +CMT,1,1,485,1.1,CRD,7.5 +CMT,1,1,274,0.6,CRD,5.5 +CMT,1,2,553,2.4,CSH,10.0 +CMT,1,1,252,0.4,CSH,5.0 +CMT,1,4,237,0.6,CSH,4.5 +CMT,1,2,382,0.8,CSH,6.0 +CMT,1,2,1529,2.6,CRD,16.5 +CMT,1,1,1202,2.2,CRD,13.0 +CMT,1,2,878,2.1,CRD,11.0 +CMT,1,1,835,4.1,CSH,14.5 +CMT,1,2,550,2.4,CRD,10.0 +CMT,1,2,343,1.3,CSH,6.5 +CMT,1,4,993,1.6,CSH,12.0 +CMT,1,1,923,3.9,CSH,14.5 +CMT,1,2,107,0.7,CSH,4.5 +CMT,1,3,470,2.4,CRD,9.0 +CMT,1,3,435,0.9,CSH,7.0 +CMT,1,2,172,0.4,CRD,4.0 +CMT,1,1,310,0.7,CRD,5.5 +CMT,1,2,1383,2.9,CRD,16.0 +CMT,1,1,253,1.5,CSH,6.5 +CMT,1,1,801,2.3,CRD,11.5 +CMT,1,1,1392,5.3,CRD,21.0 +CMT,1,1,1328,4.5,CRD,18.0 +CMT,1,1,951,2.0,CSH,12.0 +CMT,1,1,256,0.7,CSH,5.0 +CMT,1,2,1173,2.8,CSH,15.0 +CMT,1,1,971,6.2,CRD,20.5 +CMT,1,1,412,3.1,CRD,10.5 +CMT,1,1,244,0.9,CSH,5.0 +CMT,1,2,266,0.7,CRD,5.0 +CMT,1,1,830,5.2,CRD,16.5 +CMT,1,2,310,0.8,CSH,5.5 +CMT,1,2,608,1.6,CRD,8.5 +CMT,1,1,128,0.6,CSH,4.0 +CMT,1,3,296,0.9,CSH,5.5 +CMT,1,1,237,1.2,CSH,5.5 +CMT,5,2,51,0.6,CRD,29.0 +CMT,1,1,249,0.7,CSH,5.0 +CMT,1,1,305,0.8,CSH,5.5 +CMT,1,1,407,1.9,CRD,8.0 +CMT,1,1,780,3.5,CSH,13.5 +CMT,1,2,1158,5.8,CRD,19.5 +CMT,1,2,419,1.2,CSH,7.0 +CMT,1,1,599,0.6,CSH,7.5 +CMT,1,1,485,1.7,CRD,8.0 +CMT,1,1,943,4.2,CSH,15.0 +CMT,1,1,556,2.3,CRD,10.0 +CMT,4,1,483,1.2,CSH,7.5 +CMT,2,4,3027,16.1,CRD,52.0 +CMT,1,1,1135,5.0,CRD,18.5 +CMT,1,2,1659,6.3,CRD,23.0 +CMT,1,1,536,2.1,CRD,9.5 +CMT,1,2,1051,8.8,CRD,26.0 +CMT,1,4,776,1.4,CSH,10.0 +CMT,1,2,396,1.0,CSH,6.5 +CMT,1,3,304,1.4,CRD,6.0 +CMT,1,1,496,2.2,CRD,9.0 +CMT,1,1,1091,7.3,CRD,23.0 +CMT,1,1,515,1.4,CSH,7.5 +CMT,1,1,880,2.3,CSH,12.0 +CMT,1,4,462,2.5,CSH,9.0 +CMT,1,2,678,4.9,CSH,16.0 +CMT,1,1,403,0.9,CRD,6.5 +CMT,1,1,1189,7.2,CRD,23.5 +CMT,1,1,550,4.7,CSH,15.0 +CMT,1,1,373,2.1,CSH,8.5 +CMT,1,1,279,1.2,CSH,6.0 +CMT,1,1,247,0.7,CSH,5.0 +CMT,1,1,611,2.4,CSH,10.5 +CMT,1,1,173,0.5,CSH,4.5 +CMT,1,1,638,0.0,CSH,2.5 +CMT,1,2,1475,8.8,CRD,28.5 +CMT,1,1,363,1.3,CRD,7.0 +CMT,1,2,527,1.6,CSH,8.0 +CMT,1,1,1133,5.5,CRD,18.5 +CMT,1,1,1822,15.9,CRD,44.5 +CMT,1,4,430,1.5,CSH,7.5 +CMT,1,2,714,2.7,CRD,11.5 +CMT,1,2,313,0.5,CSH,5.5 +CMT,1,1,416,1.1,CSH,6.5 +CMT,1,1,1387,5.3,CRD,20.5 +CMT,1,1,451,1.5,CSH,7.5 +CMT,1,2,851,3.3,CRD,13.0 +CMT,1,1,1128,4.4,CRD,16.0 +CMT,1,2,517,2.4,CRD,10.0 +CMT,1,1,338,1.8,CSH,7.5 +CMT,1,1,417,1.7,CSH,8.0 +CMT,1,1,762,4.1,CRD,14.5 +CMT,1,1,204,0.4,CSH,4.5 +CMT,1,1,718,3.0,CSH,11.5 +CMT,1,1,796,2.1,CRD,10.5 +CMT,1,1,293,0.7,CSH,5.5 +CMT,1,2,992,5.5,CRD,18.0 +CMT,1,3,805,1.9,CRD,10.0 +CMT,1,1,192,0.5,CSH,4.5 +CMT,1,1,502,1.6,CSH,8.5 +CMT,1,2,242,0.6,CRD,5.0 +CMT,1,1,117,0.8,CRD,4.5 +CMT,1,1,894,3.8,CRD,14.5 +CMT,1,1,738,1.3,CRD,9.0 +CMT,1,1,351,0.7,CRD,5.5 +CMT,1,1,951,2.7,CSH,13.0 +CMT,1,2,1451,4.3,CRD,17.5 +CMT,1,1,776,1.2,CRD,9.5 +CMT,5,1,2718,43.7,CRD,140.0 +CMT,1,1,366,1.1,CRD,6.5 +CMT,1,1,250,0.6,CRD,5.0 +CMT,1,1,180,0.8,CSH,4.5 +CMT,1,1,285,1.1,CRD,6.0 +CMT,1,1,244,0.8,CRD,5.0 +CMT,1,1,482,0.9,CRD,7.0 +CMT,1,1,160,1.4,CRD,6.0 +CMT,1,1,1260,5.0,CRD,19.5 +CMT,1,1,1091,2.9,CRD,14.0 +CMT,1,2,526,0.5,CRD,7.0 +CMT,1,1,514,1.2,CSH,7.5 +CMT,1,2,220,0.6,CRD,4.5 +CMT,1,1,900,17.2,CSH,2.5 +CMT,1,1,462,1.5,CRD,8.0 +CMT,1,2,308,1.8,CRD,7.5 +CMT,1,2,687,2.7,CRD,11.0 +CMT,1,1,517,2.4,CRD,9.5 +CMT,1,1,452,1.3,CSH,7.5 +CMT,1,1,1470,7.8,CRD,26.0 +CMT,1,1,639,1.2,CRD,8.0 +CMT,1,2,351,0.5,CSH,5.5 +CMT,1,1,1178,5.0,CRD,17.5 +CMT,1,1,517,1.9,CRD,9.0 +CMT,1,1,287,1.0,CRD,6.0 +CMT,1,2,491,1.7,CRD,8.5 +CMT,1,3,973,2.0,CSH,12.0 +CMT,1,2,245,0.9,CRD,5.0 +CMT,1,1,937,3.3,CSH,14.0 +CMT,1,1,355,1.4,CRD,7.0 +CMT,1,2,1578,12.5,CRD,35.5 +CMT,1,3,446,2.2,CRD,8.5 +CMT,1,3,664,2.6,CRD,11.0 +CMT,1,4,631,1.8,CSH,9.0 +CMT,1,1,111,0.6,CRD,4.0 +CMT,1,1,1381,12.3,CSH,35.0 +CMT,1,1,180,0.6,CRD,4.5 +CMT,1,1,180,0.5,CSH,4.0 +CMT,1,1,712,2.6,CRD,11.0 +CMT,1,1,1006,2.5,CRD,13.0 +CMT,1,1,1673,5.3,CRD,21.5 +CMT,1,3,648,2.7,CRD,11.5 +CMT,1,3,408,2.2,CSH,8.5 +CMT,5,2,61,0.5,CRD,24.5 +CMT,1,1,96,0.4,CSH,3.5 +CMT,1,1,538,2.0,CSH,8.5 +CMT,1,1,305,0.7,CSH,5.5 +CMT,1,1,340,1.3,CSH,6.5 +CMT,1,1,1075,3.9,CSH,15.0 +CMT,1,1,643,1.7,CSH,9.5 +CMT,1,1,970,5.0,CRD,17.0 +CMT,1,1,640,2.5,CRD,10.5 +CMT,1,1,580,4.7,CRD,15.0 +CMT,1,3,1059,3.7,CSH,14.5 +CMT,1,2,1084,6.0,CRD,19.0 +CMT,1,1,214,1.9,CRD,7.0 +CMT,1,1,312,1.4,CSH,6.5 +CMT,1,2,1110,2.0,CSH,13.5 +CMT,1,1,1029,2.8,CRD,13.5 +CMT,1,1,422,1.1,CSH,7.0 +CMT,1,1,1509,5.9,CRD,22.0 +CMT,1,1,558,2.0,CRD,9.5 +CMT,1,2,447,1.4,CSH,7.5 +CMT,1,3,272,1.9,CSH,7.0 +CMT,1,1,227,0.8,CRD,5.0 +CMT,1,1,461,1.6,CRD,8.0 +CMT,1,1,20,0.6,NOC,2.5 +CMT,1,1,547,2.5,CRD,10.0 +CMT,1,2,288,0.9,CSH,5.5 +CMT,1,1,367,1.3,CSH,6.5 +CMT,1,1,192,0.6,CSH,4.5 +CMT,1,1,359,1.1,CRD,6.5 +CMT,1,1,675,2.9,CRD,12.0 +CMT,1,1,276,1.0,CRD,5.5 +CMT,1,3,636,1.0,CSH,8.5 +CMT,1,1,469,1.0,CSH,6.5 +CMT,1,2,696,0.7,CRD,8.5 +CMT,1,2,374,1.1,CSH,6.5 +CMT,1,1,442,1.7,CSH,8.0 +CMT,1,1,553,1.5,CRD,8.0 +CMT,1,1,274,1.1,CSH,5.5 +CMT,1,3,347,0.9,CSH,6.0 +CMT,1,1,305,0.8,CRD,5.5 +CMT,1,1,253,1.9,CSH,7.0 +CMT,1,1,1266,4.5,CRD,18.5 +CMT,1,1,272,0.7,CRD,5.0 +CMT,1,1,1048,2.0,CRD,12.0 +CMT,1,1,354,0.8,CRD,5.5 +CMT,1,1,913,2.3,CRD,11.5 +CMT,1,2,200,0.9,CSH,5.0 +CMT,1,2,399,1.6,CSH,7.5 +CMT,1,1,524,1.5,CRD,8.0 +CMT,1,1,962,3.1,CRD,13.5 +CMT,1,4,1084,10.3,CSH,29.5 +CMT,1,3,1084,3.7,CSH,15.5 +CMT,1,2,423,1.9,CRD,8.5 +CMT,1,2,539,1.6,CSH,8.0 +CMT,1,1,311,1.0,CRD,6.0 +CMT,1,3,2171,7.9,CRD,30.0 +CMT,1,3,407,0.7,CRD,6.0 +CMT,1,1,269,0.7,CSH,5.0 +CMT,1,2,1186,3.7,CSH,16.0 +CMT,1,1,832,3.0,CRD,12.5 +CMT,1,1,73,0.3,CSH,3.0 +CMT,1,2,529,1.9,CRD,8.5 +CMT,1,1,390,2.6,CSH,9.5 +CMT,1,2,282,0.8,CSH,5.5 +CMT,1,3,187,0.7,CRD,4.5 +CMT,1,2,1420,8.7,CRD,28.5 +CMT,1,2,450,1.4,CRD,7.5 +CMT,1,1,1084,3.9,CSH,15.5 +CMT,1,1,897,3.5,CRD,14.0 +CMT,1,1,76,0.3,CSH,3.0 +CMT,1,2,285,0.8,CRD,5.5 +CMT,1,2,1371,7.7,CSH,24.5 +CMT,1,2,511,2.6,CSH,9.5 +CMT,1,2,860,4.1,CRD,15.0 +CMT,1,3,725,2.6,CSH,11.0 +CMT,1,1,1045,1.2,CRD,11.5 +CMT,1,1,1131,1.6,CRD,12.0 +CMT,1,1,560,2.0,CSH,9.5 +CMT,1,1,558,1.2,CRD,8.0 +CMT,1,2,1158,3.3,CSH,15.0 +CMT,1,3,948,10.2,CRD,28.5 +CMT,1,1,61,0.2,CSH,3.0 +CMT,1,1,421,1.2,CRD,7.0 +CMT,1,3,402,0.8,CSH,6.0 +CMT,1,3,76,0.4,CRD,3.5 +CMT,1,3,1167,4.7,CRD,18.0 +CMT,1,1,391,1.0,CSH,6.5 +CMT,1,1,1029,6.6,CSH,22.5 +CMT,1,2,906,4.4,CRD,16.5 +CMT,1,2,132,0.5,CSH,4.0 +CMT,1,3,583,1.6,CSH,8.5 +CMT,1,1,456,1.6,CRD,8.0 +CMT,1,2,299,1.6,CSH,7.0 +CMT,1,3,242,1.2,CSH,6.0 +CMT,1,3,705,1.7,CSH,9.5 +CMT,1,1,414,1.0,CSH,6.5 +CMT,1,1,356,1.2,CRD,6.5 +CMT,1,2,1328,5.9,CRD,21.0 +CMT,1,1,278,0.9,CSH,5.5 +CMT,1,1,409,3.0,CSH,10.5 +CMT,1,2,730,3.1,CRD,12.5 +CMT,1,2,395,2.6,CSH,9.0 +CMT,1,1,271,1.1,CSH,5.5 +CMT,1,1,344,0.9,CSH,6.0 +CMT,1,1,737,2.4,CSH,11.5 +CMT,1,1,1172,3.5,CRD,16.0 +CMT,1,1,435,1.0,CRD,7.0 +CMT,1,2,136,0.3,CRD,3.5 +CMT,1,1,536,3.2,CSH,11.5 +CMT,5,1,525,3.2,CRD,50.0 +CMT,1,1,733,2.1,CRD,10.5 +CMT,1,1,694,1.8,CRD,9.5 +CMT,1,1,582,1.2,CSH,8.0 +CMT,1,1,584,1.8,CSH,8.5 +CMT,1,1,592,1.6,CRD,8.5 +CMT,1,1,529,1.5,CSH,7.5 +CMT,1,2,404,1.5,CRD,7.5 +CMT,1,1,216,0.7,CRD,5.0 +CMT,1,1,237,0.4,CSH,4.5 +CMT,1,2,414,1.1,CRD,7.0 +CMT,1,1,378,2.0,CRD,8.5 +CMT,1,1,399,1.2,CSH,6.5 +CMT,1,1,1641,12.7,CRD,37.5 +CMT,1,1,428,1.9,CRD,9.0 +CMT,1,1,153,0.3,CRD,4.0 +CMT,1,1,839,3.2,CRD,13.0 +VTS,1,2,780,5.96,CRD,18.5 +VTS,1,2,120,0.35,CSH,3.5 +VTS,1,2,1200,4.02,CRD,17.0 +CMT,1,1,1297,4.7,CRD,18.0 +CMT,1,2,1239,11.0,CRD,31.0 +CMT,1,1,464,3.1,CRD,10.5 +CMT,1,4,98,0.3,CSH,3.5 +CMT,1,1,780,4.1,CRD,14.5 +CMT,1,4,265,1.0,CSH,5.5 +CMT,1,3,926,5.3,CRD,17.5 +CMT,1,1,882,2.3,CRD,11.5 +CMT,1,2,247,1.1,CSH,6.0 +CMT,1,1,319,1.6,CRD,7.0 +CMT,1,2,876,6.3,CRD,20.0 +CMT,1,1,453,2.0,CRD,8.0 +CMT,1,2,269,0.8,CRD,5.5 +CMT,1,2,574,2.4,CSH,10.0 +CMT,1,1,315,0.9,CSH,5.5 +CMT,1,1,763,1.4,CRD,9.5 +CMT,1,1,397,1.7,CSH,8.0 +CMT,1,1,946,3.1,CRD,13.5 +CMT,1,3,716,1.6,CSH,9.0 +CMT,1,1,759,2.7,CRD,11.5 +CMT,1,1,846,3.4,CRD,13.0 +CMT,1,1,848,1.2,CRD,10.0 +CMT,1,1,209,0.6,CSH,4.5 +CMT,1,2,1154,3.8,CRD,16.5 +CMT,1,1,248,0.9,CRD,5.5 +CMT,1,1,179,0.6,CRD,4.5 +CMT,1,1,522,1.0,CRD,7.5 +CMT,1,1,157,0.3,CSH,3.5 +CMT,1,1,325,1.0,CRD,6.0 +CMT,1,1,472,1.4,CRD,7.5 +CMT,1,1,275,1.2,CRD,6.0 +CMT,1,1,1507,10.5,CSH,31.5 +CMT,1,2,722,3.1,CRD,12.0 +CMT,1,2,369,1.7,CSH,7.0 +CMT,1,1,138,0.4,CRD,4.0 +CMT,1,1,566,10.1,CSH,2.5 +CMT,1,1,101,0.2,CSH,3.5 +CMT,1,1,307,1.2,CRD,6.5 +CMT,1,1,826,2.1,CRD,10.5 +CMT,1,1,1326,33.7,CSH,2.5 +CMT,1,1,980,20.6,CSH,2.5 +CMT,1,1,510,1.1,CRD,7.5 +CMT,1,1,248,0.8,CRD,5.0 +CMT,1,1,694,2.4,CSH,11.0 +CMT,1,1,321,1.0,CSH,6.0 +CMT,1,1,317,0.6,CRD,5.5 +CMT,1,1,504,2.4,CRD,9.5 +CMT,1,1,285,1.5,CRD,6.5 +CMT,1,1,874,3.9,CRD,14.0 +CMT,1,1,582,1.6,CRD,8.5 +CMT,1,1,826,2.5,CRD,11.5 +CMT,1,1,218,0.3,CSH,4.5 +CMT,1,1,320,1.1,CSH,6.0 +CMT,1,1,626,3.3,CRD,12.0 +CMT,1,1,1464,4.2,CRD,18.5 +CMT,1,2,315,1.2,CSH,6.5 +CMT,1,1,823,3.0,CRD,12.5 +CMT,1,2,654,2.3,CSH,10.5 +CMT,1,1,504,2.2,CSH,9.5 +CMT,1,1,172,0.3,CSH,4.0 +CMT,1,1,1122,3.2,CSH,14.5 +CMT,1,1,1120,2.9,CRD,14.0 +CMT,1,1,1025,13.5,CSH,2.5 +CMT,1,1,1126,4.1,CRD,16.5 +CMT,1,1,1016,8.3,CRD,25.0 +CMT,1,1,736,9.6,CSH,26.5 +CMT,1,1,444,0.9,CRD,6.5 +CMT,1,1,990,1.0,CRD,11.5 +CMT,1,1,289,1.0,CSH,6.0 +CMT,1,1,1238,3.7,CSH,16.5 +CMT,1,1,524,2.2,CRD,9.0 +CMT,1,1,1381,11.2,CRD,32.5 +CMT,1,1,873,2.0,CRD,11.0 +CMT,1,1,739,3.0,CRD,12.0 +CMT,1,1,602,2.5,CRD,10.0 +CMT,1,1,1218,3.0,CSH,15.0 +CMT,1,1,79,0.2,CRD,3.0 +CMT,1,1,522,2.9,CSH,11.0 +CMT,1,1,414,1.5,CRD,7.0 +CMT,1,1,381,1.1,CRD,6.5 +CMT,1,1,271,1.0,CSH,5.5 +CMT,1,2,331,1.4,CSH,6.5 +CMT,1,2,326,1.0,CSH,6.0 +CMT,1,2,363,1.3,CRD,7.0 +CMT,1,2,232,0.9,CRD,5.0 +CMT,1,1,506,2.0,CRD,8.5 +CMT,1,1,719,3.1,CSH,12.0 +CMT,1,1,792,4.3,CRD,14.5 +CMT,1,1,635,2.9,CRD,11.0 +CMT,1,1,913,3.1,CRD,13.0 +CMT,1,1,257,1.1,CSH,5.5 +CMT,1,1,326,0.7,CSH,5.5 +CMT,1,3,484,1.0,CSH,7.0 +CMT,1,2,451,2.2,CSH,9.0 +CMT,1,2,776,2.6,CSH,11.5 +CMT,1,1,195,0.8,CSH,5.0 +CMT,1,1,501,1.0,CSH,6.5 +CMT,1,2,814,3.6,CRD,14.0 +CMT,1,1,1169,4.3,CRD,17.5 +CMT,1,1,371,1.8,CRD,8.0 +CMT,1,2,228,0.9,CSH,5.0 +CMT,1,2,730,2.1,CRD,10.5 +CMT,1,1,281,0.9,CRD,5.5 +CMT,1,1,194,0.8,CSH,5.0 +CMT,1,1,425,1.3,CSH,7.5 +CMT,1,1,1145,6.5,CRD,21.0 +CMT,1,1,795,2.6,CRD,11.5 +CMT,1,1,300,0.8,CRD,5.5 +CMT,1,2,969,2.8,CRD,13.0 +CMT,1,1,1,0.0,CSH,2.5 +CMT,1,1,318,0.7,CSH,5.5 +CMT,1,1,251,1.1,CSH,5.5 +CMT,1,1,167,0.5,CSH,4.0 +CMT,1,1,623,1.6,CRD,8.5 +CMT,1,1,930,1.7,CSH,11.0 +CMT,1,1,417,1.6,CRD,7.5 +CMT,1,1,422,1.1,CSH,7.0 +CMT,1,1,624,1.6,CRD,9.0 +CMT,1,1,563,2.5,CRD,10.0 +CMT,1,1,635,1.7,CRD,9.0 +CMT,1,1,85,0.2,CSH,3.5 +CMT,1,1,313,1.1,CSH,6.5 +CMT,1,1,753,1.3,CRD,9.5 +CMT,1,1,152,0.5,CSH,4.0 +CMT,1,1,828,3.0,CRD,12.0 +CMT,1,1,583,1.9,CRD,9.0 +CMT,1,1,464,1.6,CRD,8.0 +CMT,1,1,816,2.9,CRD,12.0 +CMT,1,2,1233,8.8,CRD,26.5 +CMT,1,1,541,0.7,CSH,7.5 +CMT,1,2,309,0.8,CSH,5.5 +CMT,1,3,859,2.9,CRD,12.5 +CMT,1,3,159,0.9,CSH,4.5 +CMT,1,1,1315,10.2,CRD,29.5 +CMT,1,1,1571,5.2,CRD,21.5 +CMT,1,1,363,1.6,CRD,7.0 +CMT,1,1,573,1.1,CRD,8.0 +CMT,1,1,172,1.0,CRD,5.0 +CMT,1,1,395,1.3,CRD,7.0 +CMT,1,4,501,2.0,CSH,8.5 +CMT,1,1,351,1.6,CSH,7.0 +CMT,1,1,181,1.1,CRD,5.0 +CMT,1,1,746,4.0,CRD,13.5 +CMT,1,1,539,1.9,CRD,8.5 +CMT,1,2,653,2.1,CSH,9.5 +CMT,1,1,157,0.8,CRD,4.5 +CMT,1,2,131,0.4,CSH,4.0 +CMT,1,2,750,4.0,CRD,14.0 +CMT,1,1,434,1.5,CSH,7.5 +CMT,1,1,352,1.1,CSH,6.5 +CMT,1,1,700,2.2,CSH,10.0 +CMT,1,1,565,1.0,CRD,7.5 +CMT,1,1,531,1.7,CRD,8.5 +CMT,1,1,398,1.4,CRD,7.0 +CMT,1,2,176,0.6,CSH,4.5 +CMT,1,1,455,0.6,CRD,6.5 +CMT,1,1,641,2.9,CRD,11.5 +CMT,1,2,207,1.0,CRD,5.0 +CMT,1,1,380,1.8,CSH,8.0 +CMT,1,2,564,1.4,CSH,8.0 +CMT,1,4,1189,2.5,CSH,14.0 +CMT,1,1,146,0.3,DIS,3.5 +CMT,1,1,179,0.2,CRD,4.0 +CMT,1,1,287,0.8,CSH,5.5 +CMT,1,1,523,2.3,CRD,9.0 +CMT,1,3,210,0.9,CSH,5.5 +CMT,1,1,338,0.6,CSH,5.5 +CMT,1,1,1528,8.5,CRD,28.0 +CMT,1,1,846,4.5,CSH,16.0 +CMT,1,1,759,2.4,CSH,10.5 +CMT,1,1,903,6.0,CRD,20.0 +CMT,1,1,814,2.3,CSH,11.5 +CMT,1,1,555,1.5,CRD,8.5 +CMT,1,1,323,1.0,CSH,5.5 +CMT,1,3,548,1.5,CSH,8.0 +CMT,1,2,920,2.0,CRD,11.5 +CMT,1,2,164,1.0,CSH,5.5 +CMT,1,1,983,4.6,CSH,16.0 +CMT,1,1,329,1.6,CRD,7.0 +CMT,1,1,230,0.5,CRD,4.5 +CMT,1,1,345,1.0,CSH,6.0 +CMT,1,1,840,1.2,CSH,9.5 +CMT,1,2,329,1.3,CSH,6.5 +CMT,1,1,516,1.7,CSH,8.0 +CMT,1,1,208,0.5,CRD,4.5 +CMT,1,1,711,7.2,CRD,21.0 +CMT,1,1,151,0.4,CRD,4.0 +CMT,1,1,1317,3.2,CRD,15.5 +CMT,1,1,301,1.2,CSH,6.0 +CMT,1,1,670,2.0,CRD,9.5 +CMT,1,1,828,1.9,CSH,10.5 +CMT,1,1,829,1.8,CSH,10.5 +CMT,1,1,338,1.2,CRD,6.5 +CMT,1,1,491,1.5,CRD,8.0 +CMT,1,1,900,2.6,CSH,12.5 +CMT,1,1,849,3.4,CSH,13.5 +CMT,1,1,606,2.2,CRD,9.5 +CMT,1,1,408,1.4,CSH,7.0 +CMT,1,2,1246,4.9,CRD,18.0 +CMT,1,1,1156,3.2,CRD,14.5 +CMT,1,1,681,1.8,CSH,9.5 +CMT,1,1,236,1.1,CSH,5.5 +CMT,1,1,633,3.7,CRD,12.0 +CMT,1,1,1307,15.1,CRD,41.0 +CMT,1,1,990,4.3,CSH,16.5 +CMT,1,1,1032,3.6,CSH,15.0 +CMT,1,1,1260,10.9,CRD,32.0 +CMT,1,1,2125,7.8,CRD,28.5 +VTS,1,2,240,0.78,CSH,5.0 +VTS,1,2,780,2.31,CSH,11.5 +VTS,1,2,420,2.23,CSH,8.5 +VTS,1,2,180,1.07,CRD,5.5 +VTS,1,2,1020,9.65,CSH,28.5 +VTS,1,2,480,0.99,CRD,6.5 +VTS,1,2,360,1.13,CRD,6.0 +VTS,1,2,1200,5.7,CSH,19.0 +VTS,1,2,300,0.95,CRD,5.5 +VTS,1,2,780,2.66,CSH,11.5 +VTS,1,2,780,3.59,CRD,14.0 +VTS,1,2,900,3.09,CRD,13.5 +VTS,1,2,420,1.21,CSH,7.0 +VTS,1,2,1320,6.76,CRD,23.5 +VTS,1,2,900,1.73,CRD,10.5 +VTS,1,2,780,2.27,CRD,10.5 +VTS,1,2,900,2.28,CSH,12.0 +VTS,1,2,1440,4.37,CSH,18.0 +VTS,1,2,480,1.36,CSH,7.5 +VTS,1,2,780,1.33,CSH,10.0 +VTS,1,2,240,1.05,CRD,5.5 +VTS,1,2,1260,4.75,CRD,19.5 +VTS,1,2,1380,3.3,CSH,16.5 +VTS,1,2,1260,4.73,CRD,19.0 +VTS,1,2,780,2.08,CSH,10.5 +VTS,1,2,1560,4.97,CSH,20.0 +CMT,1,1,643,1.9,CRD,9.5 +CMT,1,2,731,2.2,CSH,10.5 +CMT,1,2,793,2.4,CSH,11.5 +CMT,1,2,310,1.2,CSH,6.0 +CMT,1,1,123,0.5,CSH,4.0 +CMT,1,1,816,1.5,CSH,10.5 +CMT,1,3,510,2.1,CRD,9.0 +CMT,1,1,1360,2.7,CRD,15.0 +CMT,1,1,466,1.2,CSH,7.0 +CMT,1,1,2018,10.8,CRD,34.5 +CMT,1,1,425,1.3,CSH,7.0 +CMT,1,2,484,2.4,CRD,9.5 +CMT,1,1,336,0.7,CRD,5.5 +CMT,1,1,745,6.0,CRD,18.0 +CMT,1,1,856,3.7,CSH,14.0 +CMT,1,1,442,1.6,CSH,8.0 +CMT,1,1,628,1.2,CRD,8.5 +CMT,1,1,559,1.6,CSH,8.5 +CMT,1,1,477,1.0,CSH,7.0 +CMT,1,1,627,1.7,CRD,9.0 +CMT,1,1,414,0.9,CSH,6.5 +CMT,1,1,178,0.5,CRD,4.0 +CMT,1,1,653,2.1,CRD,9.5 +CMT,1,1,354,1.2,CRD,6.5 +CMT,1,1,203,0.8,CSH,5.0 +CMT,1,1,1642,4.2,CRD,20.0 +CMT,1,1,457,1.1,CRD,7.0 +CMT,1,1,210,0.7,CSH,4.5 +CMT,1,1,462,2.8,CSH,10.0 +CMT,1,2,575,2.0,CSH,9.0 +CMT,1,1,627,1.2,CSH,8.5 +CMT,1,1,590,1.7,CSH,9.0 +CMT,1,1,401,1.8,CSH,8.0 +CMT,1,3,1363,9.9,CRD,29.5 +CMT,1,1,612,1.4,CRD,8.5 +CMT,1,1,335,0.8,CSH,6.0 +CMT,1,1,1022,8.7,CRD,25.0 +CMT,1,1,507,2.0,CRD,8.5 +CMT,1,1,790,4.2,CRD,15.0 +VTS,1,2,660,4.04,CRD,13.5 +VTS,1,2,1080,6.95,CRD,22.0 +VTS,1,2,300,1.0,CSH,5.5 +VTS,1,2,540,1.76,CSH,8.5 +VTS,1,2,120,0.26,CSH,3.5 +VTS,1,2,540,1.33,CRD,7.0 +VTS,1,2,1620,4.59,CRD,20.0 +VTS,1,2,120,0.35,CRD,4.0 +VTS,1,2,660,3.61,CRD,13.0 +VTS,1,2,780,3.62,CRD,12.5 +VTS,1,2,840,3.39,CSH,14.0 +VTS,1,2,1320,6.34,CRD,21.5 +VTS,1,2,240,0.84,CRD,5.0 +CMT,1,1,598,2.2,CSH,9.5 +CMT,1,1,826,3.0,CRD,12.5 +CMT,1,2,239,0.8,CSH,5.0 +CMT,1,1,708,1.1,CRD,8.5 +CMT,1,3,602,1.2,CRD,7.5 +CMT,1,1,296,1.2,CSH,6.0 +CMT,1,2,344,0.6,CSH,5.5 +CMT,1,2,578,2.0,CRD,9.0 +CMT,1,2,271,0.4,CSH,5.0 +CMT,1,2,1259,7.0,CSH,23.5 +CMT,1,2,541,1.7,CRD,8.5 +CMT,1,4,437,1.4,CSH,7.5 +CMT,1,1,153,0.5,CSH,4.0 +CMT,1,1,947,3.7,CSH,14.0 +CMT,1,3,575,2.8,CSH,11.0 +CMT,1,1,418,0.9,CRD,6.5 +CMT,1,1,735,3.3,CSH,13.0 +CMT,1,1,395,1.9,CRD,8.0 +CMT,1,1,489,1.3,CRD,7.5 +CMT,1,2,243,1.0,CRD,5.5 +CMT,1,1,415,1.7,CSH,7.5 +CMT,1,3,275,0.8,CSH,5.5 +CMT,1,4,393,1.4,CSH,7.0 +CMT,1,1,467,1.4,CSH,7.5 +CMT,1,1,302,0.8,CSH,5.5 +CMT,1,3,1120,9.7,CRD,28.5 +CMT,1,2,607,2.1,CSH,9.5 +CMT,1,1,547,1.4,CRD,8.0 +CMT,1,1,312,1.0,CSH,6.0 +CMT,1,1,860,4.1,CSH,14.5 +CMT,1,1,579,2.7,CRD,10.5 +CMT,1,1,471,1.5,CSH,7.5 +CMT,1,1,595,1.5,CRD,8.5 +CMT,1,1,602,1.3,CSH,8.0 +CMT,1,3,594,3.6,CSH,13.5 +CMT,1,1,171,0.3,CSH,4.0 +CMT,1,4,198,0.6,CSH,4.5 +CMT,1,1,1065,4.9,CRD,18.0 +CMT,1,1,278,0.6,CSH,5.0 +CMT,1,1,1785,45.8,CSH,2.5 +CMT,1,1,333,2.1,CSH,7.5 +CMT,1,1,963,12.9,CSH,2.5 +CMT,1,1,1164,6.0,CSH,20.0 +CMT,1,1,356,0.8,CRD,5.5 +CMT,1,1,351,1.3,CSH,7.0 +CMT,1,1,582,2.6,CSH,10.0 +CMT,1,1,552,3.2,CRD,11.0 +CMT,1,1,441,1.4,CSH,7.5 +CMT,1,1,270,0.4,CSH,5.0 +CMT,1,1,321,1.3,CSH,6.0 +CMT,1,1,1909,6.4,CSH,28.0 +CMT,1,1,1025,6.6,CSH,22.0 +CMT,1,1,546,1.7,CRD,8.5 +CMT,1,1,382,0.9,CRD,6.0 +CMT,1,1,441,1.3,CRD,7.0 +CMT,1,1,489,2.3,CSH,9.0 +CMT,1,1,226,0.6,CSH,4.5 +VTS,1,2,420,1.87,CSH,8.0 +VTS,1,2,360,0.88,CRD,6.0 +VTS,1,2,780,2.28,CSH,11.5 +VTS,1,2,1200,5.03,CRD,18.5 +VTS,1,2,360,0.72,CRD,5.5 +VTS,1,2,180,0.54,CRD,3.5 +VTS,1,2,840,1.0,CRD,10.0 +VTS,1,2,540,1.26,CSH,7.5 +VTS,1,2,120,0.39,CSH,3.5 +VTS,1,2,1200,4.25,CSH,17.0 +VTS,1,2,480,2.06,CSH,8.0 +VTS,1,2,360,1.6,CSH,7.0 +VTS,1,2,420,1.74,CSH,8.0 +VTS,1,2,420,1.38,CSH,7.0 +VTS,1,2,780,2.18,CRD,10.5 +VTS,1,2,540,1.36,CRD,8.0 +VTS,1,2,240,0.6,CSH,4.5 +VTS,1,2,1380,2.65,CSH,16.0 +VTS,1,2,360,0.97,CSH,6.5 +VTS,1,2,420,1.31,CSH,7.0 +VTS,1,2,660,2.15,CRD,10.0 +CMT,1,1,414,1.1,CRD,6.5 +CMT,1,1,1714,6.0,CSH,23.0 +CMT,1,1,270,1.4,CSH,6.0 +CMT,1,1,773,2.3,CSH,11.0 +CMT,1,1,827,3.6,CRD,13.5 +VTS,1,2,360,1.42,CSH,7.0 +VTS,1,2,720,2.21,CSH,10.0 +VTS,1,2,120,0.57,CRD,4.0 +VTS,1,2,540,0.99,CSH,7.0 +VTS,1,2,120,0.65,CSH,4.0 +VTS,1,2,840,2.93,CSH,12.0 +VTS,1,2,480,1.99,CRD,9.0 +VTS,1,2,1260,8.11,CRD,25.0 +VTS,1,2,600,2.56,CSH,10.5 +VTS,1,2,240,0.79,CRD,5.0 +VTS,1,2,1200,3.24,CRD,15.5 +VTS,1,2,360,0.96,CRD,6.5 +VTS,1,2,1080,2.59,CSH,13.5 +VTS,1,2,1500,4.33,CRD,18.5 +VTS,1,2,420,1.58,CSH,7.5 +VTS,1,2,1020,3.47,CRD,14.5 +VTS,1,2,1560,4.5,CRD,19.0 +VTS,1,2,780,1.79,CRD,10.0 +VTS,1,2,420,0.68,CRD,6.0 +VTS,1,2,960,1.39,CRD,11.0 +VTS,1,2,360,1.08,CRD,6.0 +CMT,1,1,495,1.6,CRD,8.0 +CMT,1,1,1349,12.3,CRD,35.0 +CMT,1,1,209,0.5,CSH,4.5 +CMT,1,1,733,3.8,CRD,13.0 +CMT,1,1,465,1.5,CRD,7.5 +CMT,1,1,612,2.9,CSH,11.5 +VTS,1,2,300,1.68,CSH,7.5 +VTS,1,2,1320,8.57,CRD,26.5 +VTS,1,2,180,0.73,CSH,4.5 +VTS,1,2,480,2.37,CRD,9.5 +VTS,1,2,960,2.37,CSH,11.5 +VTS,1,2,240,0.92,CSH,5.0 +VTS,1,2,840,1.59,CRD,10.0 +VTS,1,2,480,1.39,CSH,8.0 +VTS,1,2,300,0.98,CSH,6.0 +VTS,1,2,720,1.61,CRD,9.5 +VTS,1,2,1020,2.32,CRD,12.0 +VTS,1,2,540,1.29,CRD,8.0 +VTS,1,2,180,1.09,CRD,5.0 +VTS,1,2,900,3.77,CSH,14.0 +VTS,1,2,900,1.9,CSH,11.5 +VTS,1,2,360,0.88,CRD,5.5 +VTS,1,2,660,1.73,CRD,9.5 +VTS,1,2,300,0.7,CSH,5.0 +VTS,1,2,1140,2.38,CRD,13.5 +VTS,1,2,660,3.11,CSH,11.5 +CMT,1,1,1113,5.2,CSH,18.5 +CMT,1,1,364,1.2,CRD,6.5 +CMT,1,1,237,0.6,CRD,4.5 +CMT,1,2,326,0.6,CSH,5.5 +CMT,1,1,415,1.0,CRD,7.0 +CMT,1,1,1457,9.7,CRD,29.5 +CMT,1,1,1115,3.2,CSH,15.0 +CMT,1,1,305,0.9,CRD,5.5 +VTS,1,2,720,2.88,CSH,11.0 +VTS,1,2,480,1.89,CRD,8.0 +VTS,1,2,1320,9.89,CRD,30.0 +VTS,1,2,360,1.21,CRD,6.5 +VTS,1,2,240,0.78,CSH,4.5 +VTS,1,2,600,2.17,CRD,9.0 +VTS,1,2,180,0.51,CSH,4.5 +VTS,1,2,780,2.91,CRD,11.5 +VTS,1,2,420,1.34,CSH,7.5 +VTS,1,2,300,1.25,CRD,6.0 +VTS,1,2,120,0.12,CSH,3.0 +VTS,1,2,1380,8.41,CSH,26.5 +VTS,1,2,240,1.09,CRD,5.5 +VTS,1,2,900,1.16,CSH,9.5 +VTS,1,2,780,2.52,CSH,11.5 +VTS,1,2,300,0.82,CSH,5.5 +VTS,1,2,900,3.82,CSH,15.0 +VTS,1,2,240,1.33,CRD,5.5 +VTS,1,2,120,0.46,CSH,3.5 +VTS,1,2,540,1.93,CSH,8.5 +VTS,1,2,540,1.12,CSH,7.5 +VTS,1,2,300,0.79,CRD,5.5 +VTS,1,2,720,2.67,CRD,10.5 +VTS,1,2,1020,6.08,CRD,19.5 +VTS,1,2,420,0.64,CRD,6.0 +VTS,1,2,420,1.36,CSH,7.5 +VTS,1,2,300,0.71,CRD,5.5 +VTS,1,2,120,0.46,CSH,3.5 +VTS,1,2,360,1.21,CSH,6.5 +VTS,1,2,1020,4.07,CRD,16.0 +VTS,1,2,1380,5.33,CSH,19.5 +VTS,1,2,960,3.09,CRD,13.0 +VTS,1,2,360,1.49,CRD,7.0 +VTS,1,2,660,2.98,CRD,12.0 +VTS,1,2,480,1.87,CSH,8.5 +VTS,1,2,900,3.64,CRD,14.5 +VTS,1,2,480,1.03,CSH,6.5 +VTS,1,2,240,0.81,CSH,5.0 +VTS,1,2,1140,3.72,CSH,15.0 +VTS,1,2,420,2.0,CSH,8.0 +VTS,1,2,1740,8.22,CRD,27.5 +VTS,1,2,360,2.53,CSH,8.5 +VTS,1,2,300,1.05,CRD,6.0 +VTS,1,2,960,1.47,CRD,11.0 +VTS,1,2,600,1.94,CSH,9.0 +VTS,1,2,1680,6.04,CRD,23.5 +VTS,1,2,840,3.17,CSH,13.0 +VTS,1,2,360,0.84,CSH,6.0 +VTS,1,2,480,1.85,CRD,8.0 +VTS,1,2,600,4.51,CRD,14.0 +VTS,1,2,1020,1.72,CRD,11.5 +VTS,1,2,900,3.03,CRD,12.5 +VTS,1,2,1020,3.43,CSH,14.5 +VTS,1,2,540,1.99,CRD,8.5 +VTS,1,2,240,0.74,CRD,4.5 +VTS,1,2,300,0.25,CSH,4.5 +VTS,1,2,1260,4.05,CRD,16.5 +VTS,1,2,420,1.21,CSH,7.0 +VTS,1,2,360,0.89,CRD,6.0 +VTS,1,2,480,1.6,CRD,7.5 +VTS,1,2,600,1.87,CRD,9.0 +VTS,1,2,480,1.69,CRD,8.0 +VTS,1,2,180,0.3,CSH,3.5 +VTS,1,2,240,0.46,CRD,4.0 +VTS,1,2,240,0.95,CRD,5.0 +VTS,1,2,1080,5.34,CSH,19.5 +VTS,1,2,180,0.68,CSH,4.0 +VTS,1,2,480,1.44,CSH,7.0 +VTS,1,2,840,6.05,CRD,19.0 +VTS,1,2,840,1.96,CRD,10.5 +VTS,1,2,360,1.27,CSH,6.5 +VTS,1,2,600,1.21,CRD,8.0 +VTS,1,2,540,1.55,CSH,8.0 +VTS,1,2,1740,6.18,CRD,24.5 +VTS,1,2,900,2.27,CRD,12.0 +VTS,1,2,480,1.01,CSH,6.5 +VTS,1,2,480,1.31,CSH,7.0 +VTS,1,2,240,0.79,CSH,5.0 +VTS,1,2,60,0.47,CRD,3.5 +VTS,1,2,360,0.84,CRD,5.5 +VTS,1,2,1500,3.37,CSH,18.0 +VTS,1,2,660,2.95,CSH,11.5 +VTS,1,2,60,0.11,CSH,3.0 +VTS,1,2,420,1.59,CRD,7.0 +VTS,1,2,780,3.2,CSH,12.5 +VTS,1,2,720,2.94,CRD,11.5 +VTS,1,2,960,2.52,CRD,12.5 +VTS,1,2,480,1.13,CSH,7.0 +VTS,1,2,240,0.8,CSH,5.0 +VTS,1,2,240,0.75,CRD,4.5 +VTS,1,2,420,1.02,CRD,6.0 +VTS,1,1,900,8.07,CSH,23.5 +VTS,1,1,1320,10.09,CRD,29.5 +VTS,1,1,300,1.13,CRD,5.5 +VTS,1,1,420,1.33,CRD,7.0 +VTS,1,1,180,1.19,CSH,5.0 +CMT,1,1,1583,5.8,CRD,23.0 +CMT,1,1,1334,42.1,CSH,2.5 +CMT,1,1,1726,71.4,CSH,2.5 +CMT,3,1,7,0.0,CRD,20.0 +CMT,1,1,394,1.0,CRD,6.5 +CMT,1,1,893,5.6,CRD,19.0 +CMT,1,1,479,4.2,CRD,13.5 +CMT,1,1,823,5.1,CSH,17.0 +CMT,1,1,1011,2.1,CSH,12.5 +CMT,1,1,658,1.3,CSH,8.5 +CMT,1,1,949,7.0,CRD,21.5 +CMT,1,1,814,4.6,CRD,15.0 +CMT,1,4,443,1.2,CRD,7.0 +VTS,1,2,660,0.9,CSH,8.5 +VTS,1,2,360,0.8,CRD,5.5 +VTS,1,2,840,3.72,CRD,13.5 +VTS,1,2,480,1.6,CRD,8.0 +VTS,1,2,480,1.54,CSH,7.5 +VTS,1,2,360,1.72,CRD,7.0 +VTS,1,2,1080,8.34,CRD,25.5 +VTS,1,2,780,3.93,CRD,14.0 +VTS,1,2,360,1.25,CSH,6.0 +VTS,1,2,540,1.06,CSH,7.5 +VTS,1,2,1500,9.31,CSH,29.5 +VTS,1,2,720,2.14,CRD,10.5 +VTS,1,2,180,1.03,CRD,5.0 +VTS,1,2,120,0.41,CSH,3.5 +VTS,1,2,120,0.92,CSH,4.5 +VTS,1,2,300,1.1,CSH,6.0 +VTS,1,2,480,1.54,CSH,8.0 +VTS,1,2,540,1.52,CSH,8.0 +VTS,1,2,1140,3.8,CRD,16.0 +VTS,1,2,360,1.12,CSH,6.5 +VTS,1,2,240,1.19,CSH,6.0 +VTS,1,2,540,1.05,CSH,7.5 +VTS,1,2,420,1.27,CRD,6.5 +VTS,1,2,360,0.88,CRD,6.0 +VTS,1,2,780,2.0,CSH,10.0 +VTS,1,2,900,2.91,CRD,13.0 +VTS,1,2,660,1.77,CSH,9.5 +VTS,1,2,240,0.59,CRD,4.5 +VTS,1,2,1260,2.7,CSH,15.0 +VTS,1,2,300,0.87,CRD,5.5 +VTS,1,2,300,0.19,CSH,5.0 +VTS,1,2,360,1.23,CRD,6.5 +VTS,1,2,720,2.39,CRD,10.5 +VTS,1,2,420,1.1,CSH,7.0 +VTS,1,2,300,0.99,CSH,5.5 +VTS,1,2,600,1.55,CSH,8.5 +VTS,1,2,660,2.44,CSH,10.0 +VTS,1,2,1140,7.74,CRD,23.5 +VTS,1,2,900,2.66,CSH,12.5 +VTS,1,2,660,1.4,CRD,9.0 +VTS,1,2,360,1.35,CRD,7.0 +VTS,1,2,1140,2.24,CSH,13.5 +VTS,1,2,420,1.45,CSH,8.0 +VTS,1,2,360,0.77,CSH,5.5 +VTS,1,2,1260,5.38,CRD,19.0 +VTS,1,2,480,1.46,CRD,7.5 +VTS,1,2,960,1.38,CRD,11.0 +VTS,1,2,900,3.42,CSH,13.5 +VTS,1,2,300,0.77,CSH,5.0 +VTS,1,2,660,1.23,CSH,9.0 +VTS,1,2,2280,3.4,CSH,25.0 +VTS,1,2,120,0.35,CSH,3.5 +VTS,1,2,1260,4.34,CRD,17.5 +VTS,1,2,780,4.67,CRD,16.0 +VTS,1,2,780,2.0,CSH,10.5 +VTS,1,2,480,0.87,CRD,7.0 +VTS,1,2,1500,6.06,CRD,22.0 +VTS,1,2,240,0.94,CSH,5.5 +VTS,1,1,60,0.35,CSH,3.0 +VTS,1,2,540,1.72,CRD,8.0 +VTS,1,2,900,3.79,CRD,15.0 +VTS,1,2,600,2.79,CSH,10.0 +VTS,1,2,780,1.32,CSH,9.0 +VTS,1,2,540,0.91,CSH,7.0 +VTS,1,2,180,0.4,CSH,4.0 +VTS,1,2,360,0.94,CSH,6.0 +VTS,1,2,420,1.52,CRD,7.5 +VTS,1,2,720,3.1,CSH,12.5 +VTS,1,2,240,1.05,CRD,5.5 +VTS,1,2,660,1.72,CSH,9.0 +VTS,1,2,1140,2.99,CRD,14.5 +VTS,1,2,420,1.03,CSH,6.5 +VTS,1,2,780,3.16,CRD,12.5 +VTS,1,2,420,1.47,CSH,7.5 +VTS,1,2,900,5.09,CRD,17.0 +VTS,1,2,240,0.95,CSH,5.0 +VTS,1,2,240,0.89,CRD,5.0 +VTS,1,2,600,1.88,CSH,9.0 +VTS,1,2,900,7.79,CSH,23.0 +VTS,1,2,240,0.59,CSH,4.5 +VTS,1,2,780,3.52,CRD,12.5 +VTS,1,2,780,3.13,CRD,12.0 +VTS,1,2,420,1.32,CSH,7.0 +VTS,1,2,420,1.79,CSH,8.0 +VTS,1,2,360,0.92,CSH,6.0 +VTS,1,2,780,2.03,CRD,11.0 +VTS,1,2,420,0.85,CRD,6.5 +VTS,1,2,420,1.69,CRD,8.0 +VTS,1,2,180,0.43,CRD,4.0 +VTS,1,2,240,0.74,CSH,5.0 +VTS,1,2,480,1.45,CRD,7.5 +VTS,1,2,660,1.72,CSH,9.0 +VTS,1,2,420,1.08,CRD,6.5 +VTS,1,2,600,1.45,CRD,8.5 +VTS,1,2,780,2.11,CSH,11.5 +VTS,1,2,600,0.85,CRD,7.5 +VTS,1,2,540,1.77,CSH,8.5 +VTS,1,2,360,0.61,CSH,5.5 +VTS,1,2,540,1.49,CSH,8.5 +VTS,1,2,1080,2.97,CSH,14.0 +VTS,1,2,660,2.16,CRD,9.5 +VTS,1,2,420,1.28,CSH,7.0 +VTS,1,2,360,0.79,CRD,5.5 +VTS,1,2,1620,5.74,CRD,23.0 +VTS,1,2,360,1.25,CRD,6.0 +VTS,1,2,300,1.35,CSH,6.5 +VTS,1,2,720,4.96,CRD,16.0 +VTS,1,2,240,0.86,CSH,5.0 +VTS,1,2,600,1.95,CRD,9.0 +VTS,1,2,360,1.41,CSH,7.0 +VTS,1,2,960,3.64,CRD,14.0 +VTS,1,2,2340,10.79,CSH,38.5 +VTS,1,2,300,0.47,CSH,4.5 +VTS,1,2,1080,3.86,CRD,15.5 +VTS,1,2,240,1.01,CRD,5.5 +VTS,1,2,180,0.7,CRD,4.5 +VTS,1,2,720,3.15,CRD,12.5 +VTS,1,2,960,3.34,CSH,14.5 +VTS,1,2,60,0.4,CSH,3.5 +VTS,1,2,300,0.78,CRD,5.5 +VTS,1,2,1080,5.88,CRD,20.5 +VTS,1,2,300,0.79,CRD,5.0 +VTS,1,2,240,0.66,CRD,4.5 +VTS,1,2,480,1.66,CRD,8.0 +VTS,1,2,300,1.34,CSH,6.0 +VTS,1,2,540,1.73,CRD,8.5 +VTS,1,2,540,2.95,CRD,11.0 +VTS,1,2,1080,5.2,CRD,17.5 +VTS,1,2,1860,6.96,CRD,26.0 +VTS,1,2,180,0.86,CRD,4.5 +VTS,1,2,540,0.75,CSH,6.5 +VTS,1,2,600,2.71,CSH,10.5 +VTS,1,2,60,0.3,CSH,3.0 +VTS,1,2,180,0.68,CRD,4.5 +VTS,1,2,780,3.47,CRD,12.5 +VTS,1,2,120,0.42,CSH,4.0 +VTS,1,2,1140,6.15,CRD,21.0 +VTS,1,2,1560,7.32,CRD,26.5 +VTS,1,2,240,0.88,CRD,5.0 +VTS,1,2,420,1.35,CRD,7.0 +VTS,1,2,1920,6.04,CRD,25.0 +VTS,1,2,480,0.65,CSH,6.0 +VTS,1,2,300,0.7,CRD,5.5 +VTS,1,2,420,0.91,CRD,6.0 +VTS,1,2,1800,3.31,CSH,19.0 +VTS,1,2,960,9.54,CSH,27.0 +VTS,1,2,240,0.56,CRD,4.5 +VTS,1,2,240,0.82,CSH,5.0 +VTS,1,2,480,1.58,CSH,8.0 +VTS,1,2,540,1.83,CSH,8.5 +VTS,1,2,360,1.44,CRD,6.5 +VTS,1,2,300,0.72,CSH,5.0 +VTS,1,2,300,0.44,CSH,4.5 +VTS,1,2,660,1.4,CSH,8.5 +VTS,1,2,540,0.81,CRD,7.0 +VTS,1,2,1560,5.57,CRD,21.5 +VTS,1,2,720,2.09,CRD,10.0 +VTS,1,2,720,1.73,CSH,9.5 +VTS,1,2,60,0.02,CSH,2.5 +VTS,1,2,1140,4.77,CRD,17.0 +VTS,1,1,660,1.99,CSH,9.5 +VTS,1,1,900,2.49,CRD,12.5 +VTS,1,1,840,3.34,CRD,12.5 +VTS,1,1,540,0.88,CRD,7.0 +VTS,1,1,660,1.92,CRD,9.5 +VTS,1,1,480,2.23,CRD,9.0 +VTS,1,1,540,1.8,CRD,8.5 +VTS,1,1,480,0.99,CRD,6.5 +VTS,1,2,960,2.44,CRD,12.0 +VTS,1,2,180,0.89,CRD,5.0 +VTS,1,2,120,0.27,CSH,3.5 +VTS,1,2,960,3.73,CSH,14.5 +VTS,1,2,1380,5.16,CRD,19.0 +VTS,1,2,660,2.18,CRD,10.0 +VTS,1,2,840,3.04,CRD,11.0 +VTS,1,2,780,1.03,CRD,9.0 +VTS,1,2,300,0.68,CSH,5.5 +VTS,1,2,360,1.5,CRD,7.0 +VTS,1,2,840,1.39,CSH,10.5 +VTS,1,2,240,0.56,CSH,4.5 +VTS,1,2,480,0.82,CRD,7.0 +VTS,1,2,1200,4.29,CRD,17.0 +VTS,1,2,2040,6.35,CSH,26.0 +VTS,1,2,360,1.24,CSH,7.0 +VTS,1,2,360,1.27,CSH,6.5 +VTS,1,2,300,0.84,CSH,5.0 +VTS,1,2,120,0.54,CSH,3.5 +VTS,1,2,2700,22.82,CSH,64.0 +VTS,1,2,960,2.06,CRD,12.0 +VTS,1,2,780,1.64,CSH,10.0 +VTS,1,2,360,1.24,CSH,6.0 +VTS,1,2,660,1.16,CRD,8.0 +VTS,1,2,180,0.65,CSH,4.5 +VTS,1,2,1080,3.09,CSH,14.0 +VTS,1,2,600,1.68,CRD,9.0 +VTS,1,2,300,0.72,CRD,5.0 +VTS,1,2,600,2.42,CSH,10.0 +VTS,1,2,420,1.51,CSH,7.0 +VTS,1,2,840,2.34,CRD,11.5 +VTS,1,2,540,0.92,CRD,7.5 +VTS,1,2,1560,5.01,CSH,20.0 +VTS,1,2,900,0.67,CRD,10.0 +VTS,1,2,480,1.37,CSH,7.5 +VTS,1,2,420,1.53,CRD,7.5 +VTS,1,2,1380,3.12,CRD,16.5 +VTS,1,2,540,1.6,CRD,8.5 +VTS,1,2,720,2.23,CSH,10.5 +VTS,1,2,540,2.0,CRD,8.5 +VTS,1,2,840,1.94,CRD,10.0 +VTS,1,2,1080,2.91,CRD,13.5 +VTS,1,2,1020,3.53,CRD,14.0 +VTS,1,2,300,0.73,CSH,5.0 +VTS,1,2,240,0.66,CSH,4.5 +VTS,1,2,600,1.46,CRD,8.0 +VTS,1,2,300,0.88,CSH,5.5 +VTS,1,2,900,3.58,CRD,13.5 +VTS,1,2,540,1.73,CSH,8.5 +VTS,1,2,780,2.79,CRD,11.5 +VTS,1,2,960,4.24,CRD,15.5 +VTS,1,2,480,0.88,CSH,7.0 +VTS,1,2,480,1.6,CRD,7.5 +VTS,1,1,480,2.1,CRD,8.5 +VTS,1,1,780,1.83,CSH,10.0 +VTS,1,1,420,0.79,CSH,6.0 +VTS,1,1,600,1.27,CSH,8.0 +VTS,1,1,780,5.32,CRD,17.0 +VTS,1,1,840,1.5,CRD,10.0 +VTS,1,1,180,0.44,CSH,4.0 +VTS,1,1,660,2.22,CRD,9.5 +VTS,1,1,360,1.09,CRD,6.5 +VTS,1,1,720,4.14,CRD,14.5 +VTS,1,1,780,1.63,CRD,10.0 +VTS,1,1,480,1.31,CSH,7.5 +VTS,1,1,600,1.65,CRD,8.5 +VTS,1,1,1320,4.94,CRD,18.5 +VTS,1,1,120,0.58,CRD,3.5 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,1,1020,3.0,CRD,13.0 +VTS,1,1,600,4.85,CRD,15.0 +VTS,1,1,900,3.48,CRD,13.5 +VTS,1,1,480,1.79,CRD,8.0 +VTS,1,1,1380,7.18,CSH,23.0 +VTS,1,1,840,2.05,CRD,11.5 +VTS,1,1,600,1.41,CSH,8.0 +VTS,1,1,720,3.87,CRD,13.5 +VTS,1,1,420,1.4,CRD,7.0 +VTS,1,1,660,2.44,CRD,10.5 +VTS,1,2,480,0.85,CSH,7.5 +VTS,1,2,840,0.85,CRD,9.0 +VTS,1,2,1320,3.54,CSH,17.0 +VTS,1,2,360,0.99,CRD,6.0 +VTS,1,2,540,1.07,CRD,7.5 +VTS,1,2,180,0.46,CRD,4.0 +VTS,1,2,300,1.05,CSH,6.0 +VTS,1,2,540,1.27,CRD,8.0 +VTS,1,2,660,0.6,CSH,8.0 +VTS,1,2,900,3.4,CSH,13.5 +VTS,1,2,600,2.47,CSH,11.0 +VTS,1,2,720,2.27,CSH,10.0 +VTS,1,2,840,3.18,CRD,12.5 +VTS,1,2,300,1.32,CRD,6.0 +VTS,1,2,720,1.31,CSH,9.0 +VTS,1,2,480,1.61,CSH,8.0 +VTS,1,2,360,1.32,CRD,6.0 +VTS,1,2,600,1.8,CRD,8.5 +VTS,1,2,360,0.68,CSH,6.0 +VTS,1,1,120,1.01,CRD,5.0 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,1,180,0.92,CRD,5.0 +VTS,1,1,420,1.47,CSH,7.0 +VTS,1,1,780,2.33,CRD,11.0 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,300,0.8,CSH,5.0 +VTS,1,2,660,1.42,CRD,8.5 +VTS,1,2,660,1.37,CSH,8.0 +VTS,1,2,720,1.39,CSH,9.5 +VTS,1,2,360,1.12,CSH,6.5 +VTS,1,2,1200,4.39,CRD,17.0 +VTS,1,2,180,0.67,CRD,4.0 +VTS,1,2,120,0.67,CSH,4.0 +VTS,1,2,2160,9.37,CSH,32.0 +VTS,1,2,300,1.19,CSH,6.5 +VTS,1,2,840,1.89,CSH,10.5 +VTS,1,2,480,0.67,CSH,6.5 +VTS,1,2,600,1.42,CRD,8.0 +VTS,1,2,960,3.52,CSH,14.5 +VTS,1,2,1080,3.52,CRD,14.5 +VTS,1,2,900,3.17,CSH,13.5 +VTS,1,2,1080,4.0,CRD,16.0 +VTS,1,2,720,3.73,CSH,14.5 +VTS,1,2,1020,5.61,CRD,19.0 +VTS,1,2,420,0.57,CSH,5.5 +VTS,1,2,540,1.52,CRD,8.0 +VTS,1,2,300,0.67,CRD,5.0 +VTS,1,2,600,1.11,CRD,7.5 +VTS,1,2,780,2.16,CSH,10.5 +VTS,1,2,600,1.45,CSH,8.0 +VTS,1,2,1440,4.49,CRD,18.5 +VTS,1,2,540,2.08,CSH,9.0 +VTS,1,1,1500,7.23,CRD,24.5 +VTS,1,1,420,1.2,CRD,6.5 +VTS,1,1,1200,3.64,CRD,15.5 +VTS,1,1,720,1.42,CSH,9.0 +VTS,1,1,840,4.61,CSH,16.0 +VTS,1,1,420,1.2,CRD,7.0 +VTS,1,1,1020,3.35,CSH,14.5 +VTS,1,1,480,1.3,CRD,7.0 +VTS,1,1,1020,3.37,CSH,14.0 +VTS,1,1,900,3.91,CSH,14.0 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,180,0.29,CRD,4.0 +VTS,1,1,780,2.95,CRD,11.5 +VTS,1,1,540,2.02,CRD,8.5 +VTS,1,1,720,2.85,CRD,11.5 +VTS,1,1,2640,13.35,CSH,40.0 +VTS,1,1,480,0.97,CSH,6.5 +VTS,1,1,540,2.1,CRD,9.0 +VTS,1,1,900,4.41,CSH,15.0 +VTS,1,1,540,0.9,CRD,6.5 +VTS,1,1,960,2.43,CRD,12.0 +VTS,1,1,780,4.44,CRD,14.5 +VTS,1,1,600,2.44,CRD,10.0 +VTS,1,1,1140,5.3,CSH,18.0 +VTS,1,1,540,1.87,CSH,8.0 +VTS,1,1,720,1.38,CRD,9.5 +VTS,1,2,120,0.73,CRD,4.0 +VTS,1,2,480,1.06,CRD,7.0 +VTS,1,2,900,3.4,CRD,13.5 +VTS,1,2,240,1.07,CSH,5.5 +VTS,1,2,180,0.56,CSH,4.0 +VTS,1,2,420,1.07,CRD,6.5 +VTS,1,2,540,1.56,CSH,8.0 +VTS,1,2,300,0.72,CRD,5.0 +VTS,1,2,540,1.84,CSH,9.0 +VTS,1,2,720,4.23,CSH,14.5 +VTS,1,2,960,4.63,CRD,17.0 +VTS,1,2,660,2.21,CSH,10.0 +VTS,1,2,300,0.72,CSH,5.0 +VTS,1,2,1140,3.05,CSH,15.5 +VTS,1,2,660,2.05,CRD,10.0 +VTS,1,2,780,2.4,CSH,11.5 +VTS,1,2,300,0.71,CSH,5.0 +VTS,1,2,720,2.67,CSH,11.0 +VTS,1,2,360,1.08,CRD,6.5 +VTS,1,2,720,1.55,CRD,9.0 +VTS,1,2,60,0.33,CRD,3.0 +VTS,1,2,1020,2.16,CSH,12.0 +VTS,1,2,120,0.79,CSH,4.5 +VTS,1,2,240,0.99,CSH,5.5 +VTS,1,2,480,2.08,CRD,9.0 +VTS,1,2,300,1.03,CRD,6.0 +VTS,1,2,420,1.14,CRD,6.5 +VTS,1,2,1320,2.82,CSH,16.0 +VTS,1,2,720,5.39,CSH,17.0 +VTS,1,2,300,0.99,CSH,6.0 +VTS,1,2,1020,4.15,CSH,16.5 +VTS,1,2,480,2.92,CSH,10.0 +VTS,1,2,540,1.44,CSH,8.0 +VTS,1,2,1020,1.79,CRD,11.5 +VTS,1,2,420,1.06,CSH,6.0 +VTS,1,2,1140,3.13,CSH,14.5 +VTS,1,2,600,1.9,CSH,8.5 +VTS,1,2,720,1.84,CRD,10.0 +VTS,1,2,900,2.12,CRD,11.0 +VTS,1,2,1020,2.47,CSH,12.5 +VTS,1,2,600,1.63,CSH,9.0 +VTS,1,2,600,1.05,CSH,8.0 +VTS,1,2,240,0.49,CSH,5.0 +VTS,1,2,660,1.54,CRD,8.5 +VTS,1,2,1440,3.4,CRD,16.5 +VTS,1,2,2760,5.63,CRD,30.5 +VTS,1,2,780,2.07,CRD,11.0 +VTS,1,2,900,1.84,CSH,11.0 +VTS,1,2,1320,3.38,CSH,16.0 +VTS,1,2,840,2.37,CRD,11.5 +VTS,1,2,180,0.53,CRD,4.0 +VTS,1,2,240,0.46,CSH,4.5 +VTS,1,2,420,1.2,CSH,6.5 +VTS,1,2,180,1.24,CRD,5.5 +VTS,1,2,480,0.86,CSH,7.0 +VTS,1,2,300,0.47,CRD,4.5 +VTS,1,2,780,1.51,CSH,10.0 +VTS,1,2,540,2.73,CRD,10.0 +VTS,1,2,900,2.78,CRD,12.5 +VTS,1,2,840,1.95,CSH,11.0 +VTS,1,2,480,1.0,CRD,7.0 +VTS,1,2,600,1.94,CRD,9.0 +VTS,1,2,420,0.81,CRD,6.5 +VTS,1,2,240,0.61,CSH,4.5 +VTS,1,2,540,1.07,CSH,7.5 +VTS,1,2,180,0.98,CSH,5.0 +VTS,1,2,420,0.98,CSH,6.5 +VTS,1,2,720,4.14,CRD,14.0 +VTS,1,2,540,1.8,CSH,8.5 +VTS,1,2,720,1.1,CSH,9.0 +VTS,1,2,840,2.02,CRD,10.5 +VTS,1,2,1440,3.71,CSH,17.5 +VTS,1,2,360,0.58,CSH,5.5 +VTS,1,2,360,0.93,CSH,6.0 +VTS,5,1,120,0.0,CRD,62.0 +VTS,1,2,840,1.79,CRD,10.5 +VTS,2,2,2160,19.39,CSH,52.0 +VTS,1,2,1020,3.49,CSH,14.0 +VTS,1,2,420,1.24,CRD,7.0 +VTS,1,2,600,2.16,CRD,9.5 +VTS,1,2,1020,2.31,CRD,12.5 +VTS,1,2,1020,6.82,CRD,21.5 +VTS,1,2,720,1.73,CSH,9.0 +VTS,1,2,1500,4.71,CSH,19.5 +VTS,1,2,1800,6.01,CSH,23.5 +VTS,1,2,540,1.35,CSH,7.5 +VTS,1,2,420,1.31,CRD,7.5 +VTS,1,2,660,1.07,CRD,8.0 +VTS,1,2,420,1.17,CRD,7.0 +VTS,1,2,360,1.53,CRD,7.0 +VTS,1,2,600,2.66,CRD,11.0 +VTS,1,2,540,0.62,CSH,7.0 +VTS,1,2,240,0.28,CRD,3.5 +VTS,1,2,600,1.36,CSH,8.0 +VTS,1,2,1080,1.93,CRD,12.5 +VTS,1,2,480,1.67,CSH,7.5 +VTS,1,2,420,1.15,CRD,6.0 +VTS,1,2,360,0.93,CRD,5.5 +VTS,1,2,720,1.84,CRD,10.0 +VTS,1,2,660,2.88,CSH,11.5 +VTS,1,2,1320,10.45,CRD,30.5 +VTS,1,2,1020,7.96,CSH,24.0 +VTS,1,2,660,2.05,CRD,10.0 +VTS,1,2,360,0.9,CSH,5.0 +VTS,1,1,660,4.5,CSH,15.0 +VTS,1,1,180,0.56,CRD,4.0 +VTS,1,1,1560,10.44,CRD,32.0 +VTS,1,1,240,0.88,CRD,5.0 +VTS,1,1,420,2.75,CRD,9.5 +VTS,1,1,1260,9.44,CRD,28.5 +VTS,1,1,480,2.15,CSH,9.0 +VTS,1,1,420,1.34,CSH,7.5 +VTS,1,1,540,1.46,CSH,8.0 +VTS,1,1,240,0.84,CRD,5.0 +VTS,1,1,360,1.82,CSH,7.5 +VTS,1,1,300,0.67,CRD,5.0 +VTS,1,1,1320,3.29,CSH,16.5 +VTS,1,1,420,0.86,CSH,6.0 +VTS,1,1,780,3.54,CRD,14.0 +VTS,1,1,1260,6.75,CSH,22.0 +VTS,1,1,840,3.81,CSH,14.5 +VTS,1,1,900,2.59,CRD,11.5 +VTS,1,1,540,1.65,CSH,8.5 +VTS,1,1,120,0.46,CSH,4.0 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,420,0.9,CSH,6.5 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,1,420,1.24,CSH,6.5 +VTS,1,1,600,1.23,CSH,8.0 +VTS,1,1,1740,5.54,CRD,22.5 +VTS,1,2,900,0.99,CRD,10.5 +VTS,1,2,180,0.68,CSH,4.5 +VTS,1,2,540,1.9,CRD,8.5 +VTS,1,2,300,1.34,CSH,6.5 +VTS,1,2,240,0.73,CRD,5.0 +VTS,1,2,540,1.55,CRD,7.5 +VTS,1,2,780,2.83,CRD,12.0 +VTS,1,2,1140,2.87,CRD,13.5 +VTS,1,2,780,2.73,CRD,11.5 +VTS,1,2,540,1.21,CRD,7.5 +VTS,1,2,420,1.34,CSH,7.5 +VTS,1,2,660,1.35,CSH,8.5 +VTS,2,2,1920,19.21,CRD,52.0 +VTS,1,2,900,4.19,CRD,14.5 +VTS,1,1,900,6.08,CSH,18.5 +VTS,1,1,960,5.58,CSH,18.0 +VTS,1,1,600,1.18,CSH,7.5 +VTS,1,1,1260,4.55,CRD,17.5 +VTS,1,1,480,0.77,CSH,6.0 +VTS,1,1,360,1.03,CRD,6.0 +VTS,1,1,660,1.56,CSH,8.5 +VTS,1,1,900,4.85,CRD,16.0 +VTS,1,1,780,1.19,CSH,9.5 +VTS,1,1,900,2.32,CRD,11.5 +VTS,1,1,480,2.0,CSH,8.5 +VTS,1,1,300,0.55,CSH,4.5 +VTS,1,2,1320,4.4,CRD,18.0 +VTS,4,2,1860,3.75,CSH,21.5 +VTS,1,2,780,2.07,CSH,10.0 +VTS,1,2,1200,3.03,CSH,15.0 +VTS,1,2,660,1.7,CRD,9.5 +VTS,1,2,540,2.37,CRD,9.0 +VTS,1,2,300,1.08,CRD,5.5 +VTS,1,2,960,4.56,CRD,16.0 +VTS,3,2,1680,13.34,CRD,56.0 +VTS,1,2,1260,7.16,CRD,23.5 +VTS,1,2,420,1.19,CSH,7.0 +VTS,1,2,2340,3.62,CRD,24.5 +VTS,1,2,360,1.05,CRD,6.0 +VTS,1,2,600,2.28,CRD,9.5 +VTS,1,2,360,0.99,CRD,6.5 +VTS,1,2,1800,4.63,CSH,21.0 +VTS,1,2,300,1.28,CRD,6.5 +VTS,1,2,420,1.89,CSH,8.0 +VTS,1,2,1440,7.94,CSH,26.0 +VTS,1,2,660,1.25,CSH,8.5 +VTS,1,2,960,2.37,CRD,11.5 +VTS,1,1,480,2.19,CSH,9.0 +VTS,1,1,240,0.86,CSH,5.0 +VTS,1,1,480,2.14,CSH,8.5 +VTS,1,1,720,1.94,CSH,9.5 +VTS,1,1,420,1.14,CSH,7.0 +VTS,1,1,480,1.35,CSH,7.0 +VTS,1,1,1800,4.04,CSH,20.0 +VTS,1,1,360,1.02,CRD,6.0 +VTS,1,1,600,1.22,CSH,7.0 +VTS,1,1,540,1.84,CRD,9.0 +VTS,1,1,300,0.45,CSH,5.0 +VTS,1,1,900,2.73,CRD,12.5 +VTS,1,1,300,0.57,CSH,4.5 +VTS,1,1,840,1.94,CRD,11.0 +VTS,1,1,300,0.71,CSH,5.0 +VTS,1,1,120,1.04,CSH,5.0 +VTS,1,1,360,0.88,CSH,5.5 +VTS,1,1,300,1.32,CRD,6.0 +VTS,1,1,300,1.29,CSH,5.5 +VTS,1,1,660,1.97,CSH,10.0 +VTS,1,1,960,3.52,CSH,14.0 +VTS,1,1,540,1.32,CRD,8.0 +VTS,1,1,840,4.18,CRD,14.5 +VTS,1,1,300,1.98,CSH,7.5 +VTS,1,1,420,0.74,CRD,6.5 +VTS,1,1,1020,3.69,CSH,14.5 +VTS,1,1,300,0.54,CSH,5.0 +VTS,1,1,600,1.93,CRD,9.0 +VTS,1,1,900,8.11,CRD,23.5 +VTS,1,1,300,0.67,CRD,5.0 +VTS,1,1,300,0.85,CSH,4.5 +VTS,1,1,1380,2.92,CRD,14.5 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,660,1.93,CSH,9.0 +VTS,1,1,360,1.74,CRD,7.5 +VTS,1,1,60,0.3,CSH,3.0 +VTS,1,1,660,3.44,CRD,12.0 +VTS,1,1,300,0.71,CRD,4.5 +VTS,1,1,300,1.04,CRD,5.5 +VTS,1,1,300,0.73,CSH,5.5 +VTS,1,1,480,1.15,CSH,7.0 +VTS,1,1,840,1.55,CRD,10.0 +VTS,1,1,840,2.84,CSH,12.0 +VTS,1,1,1140,3.81,CSH,16.5 +VTS,1,1,1440,3.89,CSH,18.0 +VTS,1,1,240,0.73,CSH,4.5 +VTS,1,1,1200,1.67,CRD,13.0 +VTS,1,1,420,0.73,CRD,6.0 +VTS,1,1,180,0.5,CSH,4.0 +VTS,1,5,660,2.62,CSH,11.0 +VTS,1,5,420,1.12,CSH,6.5 +VTS,1,5,2340,5.09,CSH,27.5 +VTS,1,5,900,6.81,CRD,21.0 +VTS,1,5,960,2.66,CRD,13.0 +VTS,1,5,360,0.88,CRD,6.0 +VTS,1,5,420,1.72,CRD,8.0 +VTS,1,5,2460,7.2,CRD,31.0 +VTS,1,1,300,0.44,CSH,4.5 +VTS,1,1,3060,21.39,CRD,59.0 +VTS,1,1,660,1.23,CSH,8.5 +VTS,1,1,240,1.82,CRD,7.0 +VTS,1,1,540,2.3,CSH,9.0 +VTS,1,1,60,0.62,CSH,4.0 +VTS,1,1,660,2.37,CRD,10.0 +VTS,1,1,720,1.91,CSH,8.5 +VTS,1,1,300,0.63,CRD,5.0 +VTS,1,1,360,1.2,CSH,6.5 +VTS,1,1,420,1.02,CRD,6.0 +VTS,1,1,1080,7.14,CRD,21.5 +VTS,1,1,1080,1.2,CRD,11.0 +VTS,1,1,1980,5.68,CRD,24.0 +VTS,1,1,360,1.08,CSH,6.0 +VTS,1,1,360,0.41,CRD,5.5 +VTS,1,1,840,2.01,CSH,11.0 +VTS,1,1,840,1.62,CSH,9.5 +VTS,1,1,1080,2.72,CRD,13.0 +VTS,1,1,420,0.99,CRD,6.5 +VTS,1,1,60,0.1,CSH,3.0 +VTS,1,1,480,1.29,CRD,7.0 +VTS,1,1,960,2.36,CRD,12.5 +VTS,1,1,360,0.82,CRD,5.5 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,180,0.52,CSH,4.0 +VTS,1,1,420,1.87,CRD,8.0 +VTS,1,1,840,2.02,CRD,11.0 +VTS,1,1,840,1.88,CSH,8.5 +VTS,1,1,660,2.07,CRD,9.5 +VTS,1,1,360,1.69,CRD,7.0 +VTS,1,1,1320,4.35,CRD,17.5 +VTS,1,1,540,1.42,CSH,7.5 +VTS,1,1,540,2.59,CRD,10.5 +VTS,1,1,900,2.81,CSH,12.5 +VTS,1,1,600,1.44,CSH,8.0 +VTS,2,1,2700,18.71,CSH,52.0 +VTS,1,1,480,1.11,CRD,7.0 +VTS,1,1,1020,2.78,CRD,13.5 +VTS,1,1,540,2.14,CSH,9.0 +VTS,1,1,600,2.3,CSH,9.5 +VTS,1,1,840,3.9,CRD,14.0 +VTS,1,1,1380,4.34,CRD,16.5 +VTS,1,1,1020,9.53,CRD,26.5 +VTS,1,1,600,3.37,CRD,12.5 +VTS,1,1,1020,2.79,CRD,13.0 +VTS,1,1,120,0.3,CRD,3.0 +VTS,1,1,840,6.61,CSH,20.0 +VTS,1,1,540,1.15,CRD,7.5 +VTS,1,1,1080,5.18,CSH,18.0 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,480,1.04,CSH,7.0 +VTS,1,1,1620,13.8,CRD,38.5 +VTS,1,1,1020,3.93,CSH,15.5 +VTS,1,1,180,0.54,CSH,4.0 +VTS,1,1,840,1.96,CSH,10.5 +VTS,1,1,240,1.12,CRD,5.5 +VTS,1,1,960,3.19,CSH,13.5 +VTS,1,1,720,2.53,CRD,11.0 +VTS,1,1,480,1.03,CRD,6.5 +VTS,1,1,1020,4.58,CRD,16.5 +VTS,1,1,720,3.35,CSH,12.0 +VTS,1,1,300,0.64,CSH,5.0 +VTS,1,1,120,1.03,CRD,5.0 +VTS,1,1,360,1.46,CRD,7.0 +VTS,1,1,960,3.19,CRD,13.0 +VTS,1,1,1320,6.05,CRD,21.0 +VTS,1,1,780,3.12,CRD,12.5 +VTS,1,1,480,1.7,CRD,8.5 +VTS,1,1,540,1.9,CRD,8.5 +VTS,1,1,1020,3.54,CRD,14.0 +VTS,1,1,180,0.98,CRD,5.0 +VTS,1,1,600,1.36,CSH,8.5 +VTS,1,1,240,0.73,CRD,5.0 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,660,2.88,CRD,11.0 +VTS,1,1,120,0.82,CSH,4.5 +VTS,1,1,240,0.67,CRD,5.0 +VTS,1,1,120,0.59,CSH,4.0 +VTS,1,1,840,3.36,CSH,13.0 +VTS,1,1,300,1.4,CRD,6.5 +VTS,1,1,480,1.58,CRD,8.0 +VTS,1,1,480,1.33,CSH,7.0 +VTS,1,1,900,3.42,CSH,13.5 +VTS,1,1,300,1.28,CSH,6.0 +VTS,1,1,420,1.21,CSH,6.5 +VTS,1,1,240,0.85,CRD,5.0 +VTS,1,1,900,3.65,CRD,14.0 +VTS,1,1,600,1.52,CSH,8.5 +VTS,1,1,900,2.89,CRD,12.5 +VTS,1,1,540,1.32,CSH,8.0 +VTS,1,1,1260,6.66,CRD,21.5 +VTS,1,1,660,1.21,CSH,8.5 +VTS,1,1,840,1.51,CSH,9.5 +VTS,1,1,1980,3.04,CRD,20.0 +VTS,1,1,1380,2.79,CRD,15.0 +VTS,1,1,480,1.55,CRD,7.5 +VTS,1,1,720,1.49,CRD,9.0 +VTS,1,1,1320,3.76,CRD,15.5 +VTS,1,1,600,1.6,CRD,8.0 +VTS,1,1,480,1.95,CSH,8.0 +VTS,1,1,960,2.72,CSH,12.5 +VTS,1,2,480,1.7,CRD,8.0 +VTS,1,2,420,1.03,CRD,6.5 +VTS,1,2,300,0.82,CRD,5.5 +VTS,1,2,900,2.95,CSH,13.0 +VTS,1,2,180,0.59,CRD,4.5 +VTS,1,2,1800,20.37,CRD,54.5 +VTS,1,2,240,0.66,CRD,4.5 +VTS,1,1,1080,10.67,CRD,30.0 +VTS,1,1,420,0.97,CSH,6.5 +VTS,1,1,420,0.96,CSH,6.0 +VTS,1,1,720,2.79,CRD,11.0 +VTS,1,1,240,1.67,CRD,6.5 +VTS,1,1,900,7.22,CRD,21.5 +VTS,1,1,900,6.06,CRD,20.0 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,300,0.66,CRD,5.0 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,1,840,1.73,CSH,10.0 +VTS,1,1,900,3.3,CRD,14.0 +VTS,1,1,240,0.54,CSH,4.0 +VTS,1,1,480,1.59,CSH,7.5 +VTS,1,1,1560,4.17,CRD,19.0 +VTS,1,1,840,6.81,CRD,20.5 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,1,420,1.85,CRD,7.5 +VTS,1,1,240,0.59,CRD,5.0 +VTS,1,1,780,1.95,CRD,10.0 +VTS,1,1,360,0.74,CRD,5.5 +VTS,1,1,540,1.96,CSH,9.0 +VTS,1,1,900,3.9,CRD,14.0 +VTS,1,1,480,3.05,CRD,10.0 +VTS,1,1,600,3.07,CSH,11.0 +VTS,1,1,1560,3.44,CSH,17.5 +VTS,1,1,420,0.92,CSH,6.0 +VTS,1,1,840,5.32,CSH,17.5 +VTS,1,1,900,4.83,CSH,15.5 +VTS,1,1,1020,1.62,CRD,11.0 +VTS,1,1,540,0.85,CRD,6.5 +VTS,1,1,660,2.38,CSH,10.0 +VTS,1,1,900,1.78,CRD,10.5 +VTS,1,1,180,0.57,CRD,4.0 +VTS,1,1,480,1.1,CSH,7.0 +VTS,1,1,240,1.04,CSH,5.0 +VTS,1,1,660,3.06,CRD,11.0 +VTS,1,1,360,1.16,CSH,6.0 +VTS,1,1,1200,4.14,CRD,16.0 +VTS,1,1,720,3.75,CSH,13.5 +VTS,1,1,300,1.56,CRD,6.5 +VTS,1,1,540,1.42,CSH,8.0 +VTS,1,1,840,2.19,CRD,11.0 +VTS,1,1,600,1.52,CSH,9.0 +VTS,1,1,360,1.82,CRD,7.5 +VTS,1,1,660,1.41,CSH,9.0 +VTS,1,1,780,2.99,CRD,12.0 +VTS,1,1,300,1.07,CRD,5.5 +VTS,1,1,120,0.63,CRD,4.0 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,1,360,1.21,CSH,6.0 +VTS,1,1,300,0.84,CRD,5.0 +VTS,1,1,840,3.56,CSH,14.0 +VTS,1,1,720,1.97,CRD,10.0 +VTS,1,1,420,1.72,CRD,8.0 +VTS,1,1,720,2.19,CRD,10.0 +VTS,1,1,360,1.34,CSH,6.5 +VTS,1,1,360,0.96,CRD,6.0 +VTS,1,1,420,1.57,CRD,8.0 +VTS,1,1,420,2.0,CSH,8.0 +VTS,1,2,540,1.33,CRD,7.5 +VTS,1,1,540,1.44,CRD,7.5 +VTS,1,1,300,0.64,CSH,5.0 +VTS,1,1,1080,4.45,CRD,16.0 +VTS,1,1,240,1.1,CSH,5.0 +VTS,1,1,420,1.34,CRD,7.5 +VTS,1,1,420,2.96,CSH,9.5 +VTS,1,1,600,1.94,CRD,9.0 +VTS,1,1,1020,7.59,CSH,22.5 +VTS,1,1,480,1.64,CRD,8.0 +VTS,1,1,360,0.89,CSH,6.0 +VTS,1,1,360,1.26,CSH,7.0 +VTS,1,1,180,0.58,CSH,4.0 +VTS,1,1,1080,3.34,CSH,13.0 +VTS,1,1,960,2.15,CRD,11.5 +VTS,1,1,780,2.2,CRD,10.5 +VTS,1,1,720,0.65,CRD,8.0 +VTS,1,1,900,1.36,CRD,10.5 +VTS,1,1,1560,3.61,CRD,18.5 +VTS,1,1,420,1.34,CRD,7.0 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,360,0.76,CSH,5.5 +VTS,1,1,120,0.63,CSH,4.0 +VTS,1,1,540,0.73,CSH,7.0 +VTS,1,1,720,4.2,CRD,14.5 +VTS,1,1,300,1.87,CRD,7.0 +VTS,1,1,1080,1.77,CRD,12.5 +VTS,1,1,300,0.56,CSH,4.5 +VTS,1,1,840,2.27,CRD,11.0 +VTS,1,1,1200,4.61,CSH,16.5 +VTS,1,1,1800,5.65,CSH,23.0 +VTS,1,1,720,3.31,CSH,12.5 +VTS,1,1,360,2.87,CRD,9.5 +VTS,1,1,420,1.03,CSH,6.5 +VTS,1,1,480,1.1,CRD,7.0 +VTS,1,1,420,0.8,CSH,6.0 +VTS,1,1,240,0.84,CSH,5.0 +VTS,1,1,1140,10.2,CRD,29.0 +VTS,1,1,660,3.31,CSH,11.5 +VTS,1,1,660,4.99,CRD,16.0 +VTS,1,1,900,5.2,CRD,18.0 +VTS,1,1,720,1.86,CSH,9.5 +VTS,1,1,900,1.31,CRD,10.0 +VTS,1,1,180,0.3,CSH,3.5 +VTS,1,1,780,5.39,CRD,18.0 +VTS,1,1,300,1.05,CRD,5.5 +VTS,1,1,120,0.63,CRD,4.0 +VTS,1,1,780,2.98,CRD,12.0 +VTS,1,1,960,8.65,CSH,25.0 +VTS,1,1,660,1.81,CRD,9.0 +VTS,1,1,1140,3.45,CRD,15.0 +VTS,1,1,1860,5.47,CRD,24.0 +VTS,1,5,300,1.14,CRD,6.0 +VTS,1,5,240,1.47,CSH,6.0 +VTS,2,5,1980,17.47,CSH,52.0 +VTS,2,5,2640,19.47,CRD,52.0 +VTS,1,5,1080,1.83,CRD,13.0 +VTS,1,5,1140,5.57,CSH,19.0 +VTS,1,5,420,1.28,CSH,7.0 +VTS,1,5,240,0.43,CSH,4.0 +VTS,1,5,720,1.87,CSH,10.0 +VTS,1,5,1200,9.04,CRD,28.0 +VTS,1,5,840,8.8,CSH,24.5 +VTS,1,1,360,0.65,CSH,5.0 +VTS,1,1,240,0.96,CRD,5.0 +VTS,1,1,180,0.47,CSH,4.0 +VTS,1,1,540,1.23,CSH,7.5 +VTS,1,1,1260,6.53,CSH,20.5 +VTS,1,1,720,1.61,CRD,9.0 +VTS,1,1,660,1.42,CSH,8.5 +VTS,1,1,300,0.45,CSH,5.0 +VTS,1,1,900,5.04,CSH,17.0 +VTS,1,1,240,1.45,CRD,6.0 +VTS,1,1,420,0.9,CSH,6.0 +VTS,1,1,780,2.31,CRD,10.5 +VTS,1,1,420,0.94,CSH,6.0 +VTS,1,1,720,2.63,CRD,10.5 +VTS,1,1,600,2.47,CRD,10.0 +VTS,1,1,180,0.6,CSH,4.0 +VTS,1,1,2220,11.86,CRD,37.5 +VTS,1,1,1200,1.82,CRD,13.5 +VTS,1,1,780,2.13,CRD,10.0 +VTS,1,1,480,1.2,CRD,7.0 +VTS,1,1,780,2.55,CSH,11.0 +VTS,1,1,900,2.02,CSH,11.5 +VTS,1,1,2640,6.68,CRD,30.5 +VTS,1,1,1440,6.71,CRD,24.0 +VTS,1,1,1260,3.56,CSH,15.5 +VTS,1,5,1320,3.73,CSH,17.5 +VTS,1,1,480,4.43,CRD,13.5 +VTS,1,1,660,1.97,CRD,9.0 +VTS,1,1,300,0.64,CRD,5.0 +VTS,1,1,1080,4.53,CRD,16.5 +VTS,1,1,120,0.52,CSH,4.0 +VTS,1,1,300,1.8,CSH,7.0 +VTS,1,1,1200,3.8,CSH,15.5 +VTS,1,1,240,0.76,CSH,5.0 +VTS,1,1,180,0.52,CRD,4.0 +VTS,1,1,1020,3.08,CSH,13.5 +VTS,1,1,540,1.24,CRD,7.5 +VTS,1,1,720,3.16,CRD,12.5 +VTS,1,1,420,1.69,CRD,7.5 +VTS,1,1,720,1.73,CRD,9.5 +VTS,1,1,540,2.24,CRD,9.0 +VTS,1,1,1020,6.86,CSH,20.5 +VTS,1,1,360,1.06,CSH,6.5 +VTS,1,1,480,1.62,CRD,7.5 +VTS,1,1,540,1.81,CRD,8.5 +VTS,1,1,1560,4.38,CSH,17.0 +VTS,4,1,60,0.04,CSH,2.5 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,1,660,2.69,CSH,10.5 +VTS,1,1,360,1.02,CSH,6.5 +VTS,1,1,1320,6.85,CRD,23.0 +VTS,1,1,60,0.24,CSH,3.0 +VTS,1,1,1020,2.28,CSH,11.0 +VTS,1,1,720,2.38,CRD,10.5 +VTS,1,1,540,1.66,CSH,8.0 +VTS,1,1,540,1.44,CSH,7.5 +VTS,1,5,420,1.27,CSH,7.5 +VTS,1,5,660,1.77,CSH,9.5 +VTS,1,5,600,1.68,CSH,9.0 +VTS,1,5,1140,7.89,CSH,24.5 +VTS,1,5,60,0.56,CSH,4.0 +VTS,1,5,1200,9.68,CRD,28.5 +VTS,1,5,300,1.49,CSH,6.5 +VTS,1,5,660,3.05,CRD,11.0 +VTS,1,5,720,1.64,CSH,9.5 +VTS,1,5,840,4.0,CSH,15.0 +VTS,1,5,540,1.56,CSH,8.0 +VTS,1,1,300,1.05,CRD,5.5 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,240,0.54,CRD,5.0 +VTS,1,1,1020,11.66,CSH,31.5 +VTS,1,1,1020,9.34,CRD,27.5 +VTS,1,1,1680,2.07,CSH,18.0 +VTS,1,1,720,1.57,CSH,10.0 +VTS,1,1,780,4.15,CRD,14.0 +VTS,1,1,360,2.31,CSH,8.5 +VTS,1,1,300,0.48,CSH,4.5 +VTS,1,1,300,0.95,CRD,6.0 +VTS,1,1,900,3.6,CSH,13.5 +VTS,1,1,420,1.22,CSH,7.0 +VTS,1,1,660,2.51,CRD,10.5 +VTS,1,1,180,0.99,CSH,5.0 +VTS,1,1,180,0.81,CRD,4.5 +VTS,1,1,960,2.73,CRD,12.5 +VTS,1,1,2160,5.79,CRD,23.0 +VTS,1,1,780,1.2,CRD,9.0 +VTS,1,1,480,1.0,CRD,6.0 +VTS,1,1,1080,4.22,CSH,15.0 +VTS,1,1,300,1.05,CRD,5.5 +VTS,1,1,600,2.67,CSH,9.5 +VTS,1,1,840,4.36,CSH,14.5 +VTS,1,1,360,0.86,CRD,5.5 +VTS,1,1,420,1.91,CSH,7.5 +VTS,1,1,480,1.75,CRD,8.0 +VTS,1,1,120,0.63,CRD,4.0 +VTS,1,1,1080,4.85,CSH,17.5 +VTS,1,1,480,0.76,CSH,6.5 +VTS,1,1,2220,5.6,CRD,25.0 +VTS,1,1,480,0.81,CRD,6.5 +VTS,1,5,900,1.42,CSH,9.0 +VTS,1,5,360,1.66,CSH,7.0 +VTS,1,5,540,1.24,CRD,7.5 +VTS,1,5,660,3.55,CSH,12.5 +VTS,1,5,300,0.92,CSH,5.5 +VTS,1,1,540,1.43,CSH,7.5 +VTS,1,1,720,3.92,CSH,13.0 +VTS,1,1,1260,2.49,CRD,14.5 +VTS,1,1,480,1.32,CRD,7.0 +VTS,1,1,540,1.13,CSH,7.5 +VTS,1,1,180,0.26,CSH,3.5 +VTS,1,1,360,0.75,CSH,6.0 +VTS,1,1,540,1.22,CRD,7.5 +VTS,1,1,660,2.21,CSH,10.0 +VTS,1,1,1260,3.16,CSH,15.0 +VTS,1,1,600,1.76,CSH,8.5 +VTS,1,1,540,1.55,CSH,8.0 +VTS,1,1,300,1.27,CRD,5.5 +VTS,1,1,180,0.36,CRD,4.0 +VTS,1,1,480,2.0,CSH,8.5 +VTS,1,1,840,3.55,CSH,13.5 +VTS,1,1,360,1.61,CSH,7.0 +VTS,1,1,300,1.47,CSH,6.5 +VTS,1,1,480,1.16,CSH,7.0 +VTS,1,1,840,2.42,CRD,11.5 +VTS,1,1,480,1.57,CRD,7.5 +VTS,1,1,600,1.36,CRD,7.5 +VTS,1,1,420,1.01,CRD,6.0 +VTS,1,1,1020,4.35,CRD,14.5 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,240,0.65,CSH,5.0 +VTS,1,1,960,6.26,CRD,20.5 +VTS,1,1,300,1.07,CRD,6.0 +VTS,1,1,720,3.72,CSH,12.5 +VTS,1,1,480,1.22,CSH,7.0 +VTS,1,1,1920,4.97,CRD,22.0 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,420,1.73,CSH,7.5 +VTS,1,1,480,1.65,CRD,8.0 +VTS,1,1,1620,4.63,CRD,20.5 +VTS,1,1,960,3.66,CRD,14.0 +VTS,1,1,2400,18.82,CRD,53.0 +VTS,2,5,2100,17.44,CSH,52.0 +VTS,2,5,2520,18.15,CRD,52.0 +VTS,1,5,1200,3.8,CSH,17.0 +VTS,1,5,540,1.78,CRD,8.5 +VTS,2,5,2100,16.83,CRD,52.0 +VTS,1,5,300,0.82,CRD,5.5 +VTS,1,5,120,0.63,CRD,4.0 +VTS,1,5,420,1.82,CSH,7.5 +VTS,1,5,480,2.39,CRD,9.0 +VTS,1,5,1080,4.57,CSH,16.5 +VTS,1,5,360,0.82,CRD,5.5 +VTS,1,5,180,1.15,CRD,5.5 +VTS,1,5,600,1.94,CSH,8.5 +VTS,1,5,600,1.01,CSH,8.0 +VTS,2,5,2760,17.77,CRD,52.0 +VTS,1,2,780,2.58,CSH,11.5 +VTS,1,2,360,1.59,CSH,7.0 +VTS,1,1,660,2.37,CSH,10.0 +VTS,1,1,720,2.11,CSH,10.5 +VTS,1,1,480,1.02,CSH,6.5 +VTS,4,1,240,0.57,CSH,4.5 +VTS,1,1,660,3.37,CSH,11.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,360,0.89,CSH,6.0 +VTS,1,1,960,3.12,CRD,13.5 +VTS,1,1,180,0.98,CSH,5.0 +VTS,1,1,300,0.83,CRD,5.0 +VTS,1,1,180,0.5,CSH,3.5 +VTS,1,1,720,4.78,CRD,15.5 +VTS,1,1,1440,8.03,CSH,25.5 +VTS,1,1,120,0.58,CSH,4.0 +VTS,1,1,420,1.92,CRD,8.0 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,360,1.5,CSH,6.5 +VTS,1,1,780,3.01,CRD,12.0 +VTS,1,1,360,1.52,CRD,6.5 +VTS,1,1,540,3.54,CRD,11.5 +VTS,1,1,1080,7.41,CSH,21.5 +VTS,1,1,60,0.93,CRD,7.0 +VTS,1,1,600,1.51,CRD,8.5 +VTS,1,1,840,3.19,CRD,12.5 +VTS,1,1,300,0.78,CSH,5.0 +VTS,1,1,480,1.4,CSH,7.0 +VTS,1,1,720,1.95,CRD,9.5 +VTS,1,1,180,1.08,CSH,5.0 +VTS,1,1,720,1.93,CRD,10.5 +VTS,1,1,900,2.29,CRD,11.5 +VTS,1,1,480,1.52,CSH,8.0 +VTS,1,1,420,1.34,CRD,7.0 +VTS,1,1,240,1.22,CSH,5.5 +VTS,1,1,1200,2.53,CRD,14.0 +VTS,1,1,480,1.11,CSH,7.5 +VTS,1,1,840,2.25,CRD,11.0 +VTS,1,1,1260,6.6,CSH,22.5 +VTS,1,1,240,1.01,CSH,5.5 +VTS,1,1,480,1.18,CRD,7.0 +VTS,1,1,120,1.02,CRD,5.0 +VTS,1,1,660,1.4,CRD,9.0 +VTS,1,1,1680,14.13,CSH,40.0 +VTS,1,1,780,1.37,CRD,9.5 +VTS,1,1,240,0.72,CSH,5.0 +VTS,1,1,240,0.45,CSH,4.5 +VTS,1,1,300,0.66,CSH,5.0 +VTS,1,1,240,0.67,CSH,5.0 +VTS,1,1,360,1.29,CRD,6.5 +VTS,1,1,900,5.37,CRD,16.5 +VTS,1,1,1020,4.51,CSH,16.5 +VTS,1,5,180,0.81,CRD,4.5 +VTS,1,5,1140,8.57,CRD,26.5 +VTS,1,5,360,1.0,CSH,6.0 +VTS,1,5,420,1.79,CSH,8.0 +VTS,1,5,600,2.73,CRD,10.0 +VTS,1,5,600,2.35,CSH,10.0 +VTS,1,5,660,2.41,CSH,10.5 +VTS,1,5,360,1.28,CRD,6.5 +VTS,1,5,540,1.53,CSH,8.0 +VTS,1,5,420,2.29,CRD,9.0 +VTS,1,5,1020,3.39,CRD,14.0 +VTS,1,5,780,0.86,CSH,9.0 +VTS,1,5,240,1.38,CRD,6.5 +VTS,1,5,300,0.73,CRD,5.0 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,540,1.42,CRD,8.0 +VTS,1,1,660,2.8,CRD,10.5 +VTS,1,1,660,1.76,CSH,9.0 +VTS,1,1,360,0.86,CRD,6.0 +VTS,1,1,180,1.04,CSH,5.0 +VTS,1,1,300,0.61,CSH,5.0 +VTS,1,1,540,1.57,CRD,8.0 +VTS,1,1,360,1.71,CRD,8.0 +VTS,1,1,600,1.88,CSH,9.0 +VTS,1,1,540,1.12,CSH,8.0 +VTS,5,1,60,0.0,CRD,8.0 +VTS,1,1,1860,11.29,CRD,34.5 +VTS,1,1,840,3.65,CSH,13.5 +VTS,1,1,360,1.11,CSH,6.5 +VTS,1,1,960,3.53,CSH,15.0 +VTS,1,1,1500,6.1,CRD,22.0 +VTS,1,1,180,1.0,CRD,5.0 +VTS,1,1,240,1.21,CSH,5.5 +VTS,1,1,420,3.54,CSH,12.0 +VTS,1,1,1020,4.21,CRD,16.5 +VTS,1,1,300,1.44,CSH,6.5 +VTS,1,1,600,1.97,CRD,9.0 +VTS,1,1,1380,4.51,CRD,20.5 +VTS,1,1,480,1.63,CRD,9.0 +VTS,1,1,360,1.66,CSH,7.0 +VTS,1,1,60,0.45,CSH,3.5 +VTS,2,1,1680,20.99,CRD,52.0 +VTS,1,1,1500,10.72,CRD,31.5 +VTS,1,1,660,2.08,CSH,10.0 +VTS,1,1,540,5.72,CSH,17.0 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,900,1.43,CSH,11.0 +VTS,1,1,300,1.36,CRD,6.0 +VTS,1,1,420,1.42,CSH,8.0 +VTS,1,1,540,1.62,CRD,8.5 +VTS,1,1,480,2.4,CSH,10.0 +VTS,1,1,300,0.78,CRD,5.0 +VTS,1,1,180,0.79,CRD,4.5 +VTS,1,5,840,3.4,CSH,13.5 +VTS,1,5,1980,10.47,CSH,33.5 +VTS,1,5,540,1.49,CSH,8.0 +VTS,1,5,1140,2.43,CRD,13.5 +VTS,1,5,1140,9.46,CRD,28.0 +VTS,1,1,120,1.1,CRD,5.0 +VTS,1,1,1200,4.96,CRD,19.0 +VTS,1,1,420,1.42,CRD,7.5 +VTS,1,1,780,2.76,CRD,12.5 +VTS,1,1,360,2.31,CSH,8.5 +VTS,1,1,1440,11.55,CRD,35.0 +VTS,1,1,120,1.31,CRD,5.5 +VTS,1,1,1020,3.44,CRD,15.0 +VTS,1,1,480,2.69,CRD,10.0 +VTS,1,1,420,0.77,CSH,6.5 +VTS,1,1,240,1.06,CRD,5.5 +VTS,1,1,1140,14.76,CRD,39.5 +VTS,1,1,720,5.48,CSH,17.5 +VTS,1,1,720,1.73,CSH,9.5 +VTS,1,1,600,2.6,CSH,10.5 +VTS,1,1,420,1.69,CRD,7.5 +VTS,1,1,1200,4.57,CRD,18.0 +VTS,1,1,720,2.34,CSH,11.0 +VTS,1,1,660,0.71,CRD,8.0 +VTS,1,1,660,1.67,CSH,9.0 +VTS,1,1,180,0.62,CRD,4.0 +VTS,1,5,780,2.53,CSH,11.0 +VTS,1,5,480,0.64,CSH,6.5 +VTS,1,1,300,1.1,CRD,5.5 +VTS,1,1,540,3.28,CRD,11.0 +VTS,1,1,360,0.65,CSH,5.5 +VTS,1,1,1020,2.99,CSH,14.0 +VTS,1,1,2040,11.06,CSH,38.0 +VTS,1,1,180,0.31,CSH,4.0 +VTS,3,1,2220,18.75,CRD,70.5 +VTS,1,1,720,2.48,CSH,11.0 +VTS,1,1,300,0.77,CSH,5.0 +VTS,1,1,600,2.55,CRD,10.5 +VTS,1,1,480,1.51,CRD,8.0 +VTS,1,1,180,0.9,CSH,5.0 +VTS,1,1,600,2.66,CRD,10.5 +VTS,1,1,240,0.71,CSH,5.0 +VTS,1,1,300,1.11,CRD,6.0 +VTS,1,1,240,0.72,CSH,5.0 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,840,2.07,CSH,11.0 +VTS,1,1,480,1.24,CSH,7.5 +VTS,1,1,240,1.19,CRD,6.0 +VTS,1,1,840,2.07,CRD,11.0 +VTS,1,1,720,2.91,CRD,12.0 +VTS,1,1,720,2.12,CSH,10.5 +VTS,1,1,360,1.33,CSH,7.0 +VTS,1,1,420,1.15,CSH,6.5 +VTS,1,1,420,0.27,CSH,5.5 +VTS,1,1,360,0.96,CRD,6.0 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,420,0.92,CRD,6.0 +VTS,1,1,960,1.9,CSH,11.5 +VTS,1,1,1140,1.56,CSH,12.5 +VTS,1,1,540,2.25,CRD,9.0 +VTS,1,1,840,2.57,CSH,12.0 +VTS,1,1,1320,3.99,CSH,18.0 +VTS,1,1,1020,3.37,CRD,14.0 +VTS,1,1,780,2.48,CRD,11.0 +VTS,1,1,840,2.5,CRD,11.0 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,720,2.93,CSH,11.0 +VTS,1,1,1140,10.03,CRD,29.0 +VTS,1,1,360,0.85,CRD,5.5 +VTS,1,1,480,1.4,CSH,7.0 +VTS,1,1,600,1.68,CSH,9.0 +VTS,1,1,540,1.8,CSH,8.5 +VTS,1,1,420,1.72,CRD,7.5 +VTS,1,1,1200,7.0,CSH,22.0 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,1200,3.48,CRD,16.0 +VTS,1,1,1620,6.0,CSH,23.0 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,1800,4.12,CRD,20.0 +VTS,1,1,1140,3.22,CRD,14.0 +VTS,1,1,1260,2.79,CRD,14.5 +VTS,1,1,1440,8.38,CSH,26.5 +VTS,1,1,420,4.11,CRD,13.0 +VTS,1,5,240,0.76,CSH,5.5 +VTS,1,5,360,1.55,CSH,7.0 +VTS,1,5,300,1.3,CSH,6.5 +VTS,1,5,420,1.92,CSH,8.0 +VTS,1,5,180,0.72,CRD,4.5 +VTS,1,5,720,2.93,CSH,11.5 +VTS,1,5,960,7.86,CSH,23.5 +VTS,1,5,660,3.95,CSH,13.0 +VTS,1,5,480,1.88,CSH,8.5 +VTS,1,5,480,1.82,CSH,7.5 +VTS,1,5,780,2.07,CSH,10.5 +VTS,1,5,300,2.06,CSH,8.5 +VTS,1,1,660,1.63,CRD,9.0 +VTS,1,1,1380,5.84,CRD,22.5 +VTS,1,1,300,0.93,CSH,6.0 +VTS,1,1,300,0.65,CSH,5.5 +VTS,1,1,900,1.49,CSH,11.0 +VTS,1,1,360,0.89,CSH,6.0 +VTS,1,1,540,1.73,CRD,9.0 +VTS,1,1,840,2.4,CSH,12.5 +VTS,1,1,2280,11.15,CRD,38.0 +VTS,1,1,360,1.35,CSH,6.5 +VTS,1,1,1800,11.25,CRD,35.5 +VTS,1,1,240,0.88,CSH,5.5 +VTS,1,1,1380,10.53,CRD,32.5 +VTS,1,2,480,0.86,CRD,7.0 +VTS,1,1,780,1.46,CRD,10.0 +VTS,1,1,720,2.46,CRD,10.5 +VTS,1,1,660,2.29,CSH,10.0 +VTS,1,1,180,0.47,CRD,4.0 +VTS,1,1,1320,10.9,CRD,31.5 +VTS,1,1,240,0.69,CRD,5.0 +VTS,1,1,240,1.22,CRD,6.0 +VTS,1,1,1620,8.83,CRD,27.0 +VTS,1,1,840,0.87,CRD,9.5 +VTS,1,1,900,3.47,CRD,14.0 +VTS,1,1,480,0.65,CSH,6.5 +VTS,1,1,300,1.12,CSH,5.5 +VTS,1,1,780,4.24,CRD,16.0 +VTS,1,1,1140,2.55,CRD,13.5 +VTS,1,1,900,11.93,CSH,32.5 +VTS,1,1,1020,11.6,CSH,32.0 +VTS,1,1,420,2.74,CSH,10.5 +VTS,1,1,540,1.47,CSH,8.0 +VTS,1,1,720,2.34,CSH,10.5 +VTS,1,1,720,1.59,CRD,9.0 +VTS,1,1,60,0.61,CRD,4.0 +VTS,1,1,960,7.4,CRD,23.0 +VTS,1,1,780,0.98,CSH,9.0 +VTS,1,1,360,0.74,CRD,6.0 +VTS,2,1,2580,17.85,CRD,52.0 +VTS,1,1,1440,11.71,CRD,34.0 +VTS,1,1,420,1.41,CRD,7.0 +VTS,1,1,540,0.68,CSH,7.5 +VTS,1,1,1140,3.17,CRD,14.5 +VTS,1,1,300,1.23,CRD,6.0 +VTS,1,1,240,0.56,CRD,5.0 +VTS,1,1,240,0.99,CRD,5.5 +VTS,1,1,900,2.4,CRD,12.0 +VTS,1,1,840,2.21,CSH,11.5 +VTS,1,1,840,2.69,CRD,12.0 +VTS,1,1,1800,8.89,CRD,31.0 +VTS,1,1,1140,10.91,CSH,31.5 +VTS,1,1,1920,6.47,CSH,27.5 +VTS,1,1,600,1.06,CSH,8.0 +VTS,1,1,240,0.72,CRD,5.0 +VTS,1,1,300,1.65,CSH,7.5 +VTS,1,1,960,2.96,CSH,13.5 +VTS,1,1,600,1.35,CSH,8.5 +VTS,1,1,240,0.84,CSH,5.0 +VTS,1,1,300,0.93,CRD,6.0 +VTS,1,1,720,2.07,CSH,10.5 +VTS,1,1,840,3.44,CRD,13.5 +VTS,1,1,720,2.62,CRD,11.5 +VTS,1,1,660,1.75,CRD,9.0 +VTS,1,1,300,1.13,CSH,6.0 +VTS,1,1,1380,2.27,CRD,15.5 +VTS,1,1,540,2.14,CSH,9.0 +VTS,1,1,180,1.02,CSH,5.0 +VTS,1,1,1080,4.36,CRD,17.0 +VTS,1,1,420,1.67,CSH,8.0 +VTS,1,1,840,3.68,CRD,13.5 +VTS,1,1,900,3.11,CRD,14.0 +VTS,1,1,480,1.66,CSH,8.0 +VTS,1,1,2100,10.68,CRD,37.0 +VTS,1,1,540,1.17,CRD,7.5 +VTS,1,1,480,1.34,CSH,7.0 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,480,1.32,CRD,7.5 +VTS,1,1,360,1.75,CRD,7.5 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,240,0.76,CRD,5.0 +VTS,1,1,600,1.19,CSH,8.0 +VTS,1,1,660,1.18,CSH,8.5 +VTS,1,1,960,2.06,CRD,12.5 +VTS,1,1,360,1.03,CRD,6.5 +VTS,1,1,480,2.92,CRD,10.5 +VTS,1,1,720,3.22,CRD,12.0 +VTS,1,1,660,3.14,CSH,12.0 +VTS,1,1,360,1.08,CSH,6.0 +VTS,1,1,780,0.81,CRD,9.5 +VTS,1,1,180,0.52,CSH,4.0 +VTS,1,1,960,3.09,CSH,13.0 +VTS,1,1,240,0.44,CRD,4.0 +VTS,1,1,540,2.48,CSH,10.5 +VTS,1,1,480,0.99,CRD,7.0 +VTS,1,1,720,2.03,CSH,10.0 +VTS,1,1,840,1.22,CSH,10.0 +VTS,1,1,600,1.98,CSH,9.5 +VTS,1,1,360,0.73,CSH,6.0 +VTS,1,1,660,3.12,CRD,12.5 +VTS,1,1,240,1.5,CSH,6.5 +VTS,1,1,720,2.28,CRD,10.5 +VTS,2,1,1740,18.12,CRD,52.0 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,900,2.76,CRD,12.5 +VTS,1,1,180,0.92,CSH,5.0 +VTS,1,1,180,1.23,CRD,6.0 +VTS,1,1,420,1.13,CRD,7.0 +VTS,1,1,240,1.3,CSH,5.5 +VTS,2,1,0,0.01,CSH,52.0 +VTS,1,5,660,1.13,CSH,8.5 +VTS,1,5,120,0.62,CRD,4.0 +VTS,1,5,540,1.79,CRD,8.0 +VTS,1,5,540,1.65,CRD,8.5 +VTS,1,1,480,1.02,CRD,7.0 +VTS,1,1,840,2.23,CSH,11.0 +VTS,1,1,2340,10.75,CRD,37.5 +VTS,1,1,300,1.35,CSH,6.5 +VTS,1,1,720,5.82,CRD,18.5 +VTS,1,5,1740,10.89,CRD,34.0 +VTS,1,5,180,0.78,CRD,5.0 +VTS,1,5,240,0.87,CSH,5.0 +VTS,1,5,960,3.27,CRD,13.5 +VTS,1,5,960,3.48,CSH,14.0 +VTS,1,5,660,1.63,CSH,9.0 +VTS,1,5,360,1.13,CRD,6.5 +VTS,1,5,660,2.24,CRD,10.0 +VTS,1,5,600,2.02,CRD,9.0 +VTS,1,5,540,1.99,CSH,9.0 +VTS,1,5,360,1.34,CRD,6.5 +VTS,1,5,840,1.73,CRD,10.5 +VTS,1,5,600,2.3,CRD,9.5 +VTS,1,5,360,1.48,CSH,6.5 +VTS,1,5,480,1.12,CRD,7.0 +VTS,1,5,540,1.76,CSH,8.5 +VTS,1,5,840,1.72,CSH,10.0 +VTS,1,5,240,0.59,CRD,4.5 +VTS,1,5,1500,11.73,CRD,34.0 +VTS,1,5,420,1.33,CSH,7.0 +VTS,1,5,1020,3.92,CSH,15.5 +VTS,1,1,240,0.65,CRD,5.0 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,360,1.18,CSH,6.0 +VTS,1,1,540,2.13,CRD,9.0 +VTS,1,1,780,2.32,CSH,11.5 +VTS,1,1,660,2.21,CRD,10.0 +VTS,1,1,420,0.89,CRD,6.5 +VTS,1,1,900,1.75,CRD,11.0 +VTS,1,1,120,0.83,CRD,4.5 +VTS,1,1,480,1.87,CRD,8.5 +VTS,2,1,3240,17.96,CSH,52.0 +VTS,1,1,540,1.73,CRD,8.5 +VTS,1,1,1200,8.0,CRD,24.5 +VTS,2,1,4080,22.26,CRD,52.0 +VTS,1,1,360,1.23,CRD,7.0 +VTS,1,1,780,3.27,CSH,12.5 +VTS,1,1,900,2.01,CSH,11.5 +VTS,1,1,840,1.73,CRD,11.0 +VTS,1,1,420,1.12,CRD,7.0 +VTS,1,1,1800,3.84,CRD,20.0 +VTS,1,1,1080,3.05,CSH,14.0 +VTS,1,1,240,0.99,CRD,6.0 +VTS,1,1,540,1.81,CRD,8.5 +VTS,1,1,360,1.6,CSH,7.0 +VTS,1,1,780,1.59,CSH,10.0 +VTS,1,1,240,0.77,CRD,5.0 +VTS,1,1,960,2.09,CSH,12.0 +VTS,1,1,1140,9.01,CSH,27.0 +VTS,1,1,300,0.69,CRD,5.5 +VTS,1,1,420,1.72,CRD,7.5 +VTS,2,1,1680,21.28,CSH,52.0 +VTS,1,1,480,0.75,CRD,7.0 +VTS,1,1,840,1.4,CRD,10.0 +VTS,1,1,780,3.01,CSH,12.0 +VTS,1,1,1080,4.2,CRD,16.0 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,900,2.0,CRD,12.5 +VTS,1,5,300,0.81,CRD,5.5 +VTS,1,5,300,0.78,CSH,5.5 +VTS,1,5,960,7.77,CSH,23.0 +VTS,1,5,360,1.06,CRD,6.5 +VTS,1,5,1020,3.95,CRD,16.0 +VTS,1,5,600,1.31,CRD,8.5 +VTS,1,5,480,1.47,CRD,7.0 +VTS,1,5,300,1.28,CRD,6.5 +VTS,1,5,300,0.54,CSH,5.0 +VTS,1,5,240,1.17,CSH,5.5 +VTS,1,5,180,0.69,CRD,4.5 +VTS,1,5,600,2.52,CRD,10.5 +VTS,1,5,360,1.63,CSH,7.0 +VTS,1,5,660,2.03,CRD,10.0 +VTS,1,5,300,0.71,CSH,5.0 +VTS,1,1,2700,7.78,CRD,32.5 +VTS,2,1,3060,18.18,CRD,52.0 +VTS,1,1,1140,3.3,CRD,15.5 +VTS,1,1,720,0.63,CSH,8.5 +VTS,1,1,1080,1.67,CRD,12.5 +VTS,1,1,1620,2.64,CRD,17.5 +VTS,1,1,960,2.71,CSH,13.0 +VTS,1,1,900,2.14,CRD,12.0 +VTS,1,5,360,1.22,CSH,6.5 +VTS,1,5,1620,8.89,CRD,28.0 +VTS,1,5,180,0.62,CRD,4.0 +VTS,1,5,1320,12.97,CSH,35.5 +VTS,1,5,480,1.55,CSH,8.0 +VTS,1,5,960,2.14,CRD,11.5 +VTS,1,5,480,1.99,CSH,8.5 +VTS,1,5,360,1.27,CSH,6.5 +VTS,1,5,1020,7.79,CSH,23.0 +VTS,1,5,900,2.14,CRD,11.0 +VTS,1,5,1140,2.86,CRD,14.0 +VTS,1,5,600,2.35,CRD,9.5 +VTS,1,5,1140,3.03,CRD,14.5 +VTS,1,5,420,1.56,CRD,7.5 +VTS,1,5,180,0.58,CRD,4.0 +VTS,1,5,1020,5.51,CSH,18.0 +VTS,1,5,720,2.43,CRD,10.5 +VTS,1,5,720,2.31,CSH,10.5 +VTS,1,1,780,1.9,CRD,11.0 +VTS,1,1,1560,11.98,CRD,35.5 +VTS,1,1,360,0.9,CRD,5.5 +VTS,1,1,240,0.91,CSH,5.0 +VTS,1,1,840,2.93,CRD,12.0 +VTS,1,1,720,2.34,CRD,10.5 +VTS,1,1,480,2.12,CSH,8.5 +VTS,1,1,1680,10.19,CRD,31.0 +VTS,2,1,3000,20.88,CRD,52.0 +VTS,1,1,420,0.87,CRD,6.5 +VTS,1,1,540,1.51,CSH,8.0 +VTS,1,1,360,1.03,CSH,6.0 +VTS,1,1,1140,2.69,CSH,14.5 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,480,2.38,CRD,9.0 +VTS,1,1,360,1.14,CSH,6.0 +VTS,1,1,600,2.08,CRD,9.0 +VTS,1,1,180,0.47,CRD,4.0 +VTS,1,1,1080,2.17,CRD,12.5 +VTS,1,1,1800,12.31,CSH,36.0 +VTS,1,1,600,1.41,CRD,8.0 +VTS,1,1,1020,2.15,CRD,12.5 +VTS,1,1,960,1.85,CSH,12.0 +VTS,1,1,780,1.95,CRD,10.0 +VTS,1,1,480,0.96,CSH,7.0 +VTS,1,1,480,0.7,CSH,7.0 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,900,2.44,CRD,12.5 +VTS,1,1,1440,6.49,CSH,24.0 +VTS,1,1,840,7.52,CSH,22.5 +VTS,1,1,60,0.17,CRD,3.0 +VTS,1,1,2400,16.12,CRD,47.5 +VTS,1,1,480,0.79,CSH,6.5 +VTS,1,1,840,2.21,CRD,11.5 +VTS,1,1,1620,4.54,CSH,21.0 +VTS,1,1,420,1.29,CSH,7.0 +VTS,1,1,420,1.48,CRD,7.5 +VTS,1,1,1380,3.39,CRD,17.0 +VTS,1,1,1140,2.1,CRD,13.0 +VTS,1,1,180,0.87,CSH,5.0 +VTS,1,1,360,1.49,CRD,7.0 +VTS,1,1,900,3.1,CRD,13.0 +VTS,1,1,2340,13.03,CSH,42.0 +VTS,1,1,120,0.42,CSH,3.5 +VTS,1,1,360,0.62,CSH,6.0 +VTS,1,1,60,0.35,CRD,3.5 +VTS,1,1,840,1.58,CRD,10.5 +VTS,1,1,600,1.21,CSH,8.5 +VTS,1,1,420,1.38,CRD,7.5 +VTS,1,1,180,0.45,CSH,4.5 +VTS,1,1,780,2.23,CRD,11.0 +VTS,1,1,720,2.0,CRD,10.0 +VTS,1,1,1980,10.63,CRD,34.0 +VTS,1,5,900,1.45,CSH,10.5 +VTS,1,5,360,1.3,CSH,6.5 +VTS,1,5,540,2.53,CRD,9.5 +VTS,1,5,300,1.12,CSH,6.0 +VTS,1,5,900,4.49,CSH,15.5 +VTS,1,5,240,1.26,CSH,6.5 +VTS,1,5,540,1.67,CSH,8.5 +VTS,1,5,720,2.22,CSH,10.5 +VTS,1,5,840,2.47,CSH,11.5 +VTS,1,5,360,2.19,CRD,8.5 +VTS,1,5,840,7.13,CRD,21.0 +VTS,1,5,240,1.18,CSH,6.0 +VTS,1,5,660,1.8,CRD,9.5 +VTS,1,5,1200,3.77,CSH,15.5 +VTS,1,5,1260,8.07,CSH,24.5 +VTS,1,5,360,0.86,CSH,6.0 +VTS,1,5,600,2.96,CRD,11.0 +VTS,1,5,660,1.89,CRD,9.5 +VTS,1,5,300,1.4,CRD,7.0 +VTS,1,5,1440,8.14,CSH,26.0 +VTS,1,5,360,0.99,CSH,6.0 +VTS,1,5,660,1.18,CRD,8.5 +VTS,1,5,120,0.38,CSH,3.5 +VTS,1,5,540,1.77,CRD,8.5 +VTS,1,5,540,1.6,CRD,8.0 +VTS,1,1,60,0.29,CSH,3.0 +VTS,1,1,1440,5.17,CSH,19.5 +VTS,1,2,180,0.59,CSH,4.0 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,1200,1.5,CSH,13.0 +VTS,2,1,2220,24.09,CRD,52.0 +VTS,1,1,1500,6.31,CSH,21.0 +VTS,1,1,840,2.92,CSH,12.5 +VTS,1,1,1140,1.9,CRD,13.5 +VTS,1,5,1500,9.26,CRD,29.5 +VTS,1,5,600,1.43,CSH,8.0 +VTS,1,5,1020,4.05,CSH,15.0 +VTS,1,5,420,0.93,CRD,6.5 +VTS,1,5,1200,5.12,CRD,18.0 +VTS,1,5,780,3.34,CSH,12.5 +VTS,1,5,660,3.35,CRD,12.5 +VTS,1,5,720,3.84,CRD,13.5 +VTS,1,5,600,1.42,CRD,8.5 +VTS,1,5,420,1.76,CRD,7.5 +VTS,1,5,480,2.36,CSH,9.5 +VTS,1,5,540,1.81,CSH,8.5 +VTS,1,5,720,2.86,CRD,11.0 +VTS,1,5,120,0.35,CSH,3.5 +VTS,1,5,360,1.26,CRD,6.5 +VTS,1,5,540,1.43,CSH,8.0 +VTS,1,5,600,0.8,CRD,7.5 +VTS,1,5,240,0.8,CRD,5.0 +VTS,1,5,300,0.62,CSH,5.0 +VTS,1,5,780,1.49,CRD,10.0 +VTS,1,5,480,2.09,CRD,8.5 +VTS,1,5,960,2.47,CSH,13.0 +VTS,1,5,540,2.19,CSH,9.5 +VTS,1,5,840,2.34,CRD,11.0 +VTS,1,5,480,1.35,CSH,8.0 +VTS,1,5,1020,8.25,CRD,24.5 +VTS,1,5,1500,4.23,CRD,19.0 +VTS,1,5,780,1.67,CRD,9.5 +VTS,1,5,720,5.06,CRD,16.5 +VTS,1,5,780,2.62,CRD,11.0 +VTS,1,5,1080,4.35,CRD,15.5 +VTS,1,5,1440,2.68,CRD,16.0 +VTS,1,5,240,0.5,CSH,4.5 +VTS,1,5,780,1.69,CRD,10.0 +VTS,1,5,480,2.88,CSH,10.0 +VTS,1,5,1740,3.79,CSH,20.5 +VTS,1,5,180,0.38,CSH,4.0 +VTS,1,5,240,1.12,CRD,5.5 +VTS,1,5,240,0.84,CRD,5.0 +VTS,1,5,1920,12.05,CRD,34.5 +VTS,2,5,2640,18.13,CSH,52.0 +VTS,1,5,300,1.25,CRD,6.5 +VTS,1,5,960,4.24,CRD,15.5 +VTS,1,5,660,4.2,CRD,13.5 +VTS,1,5,780,2.79,CSH,12.0 +VTS,1,5,1440,6.21,CSH,22.5 +VTS,1,5,540,4.04,CSH,12.5 +VTS,1,5,780,2.45,CRD,11.0 +VTS,1,5,720,2.56,CRD,10.5 +VTS,1,5,1020,4.19,CSH,15.5 +VTS,1,5,480,1.0,CRD,7.0 +VTS,1,5,300,0.69,CSH,5.0 +VTS,1,5,780,3.38,CRD,13.5 +VTS,1,5,240,0.51,CSH,4.5 +VTS,1,5,660,1.74,CRD,9.5 +VTS,1,5,1800,4.12,CRD,20.5 +VTS,1,5,600,1.89,CRD,8.5 +VTS,1,5,960,2.07,CRD,12.0 +VTS,1,5,240,1.42,CSH,6.0 +VTS,1,5,780,2.06,CRD,10.5 +VTS,1,5,480,2.63,CRD,10.0 +VTS,1,5,180,0.58,CRD,4.5 +VTS,1,5,720,3.58,CSH,12.5 +VTS,1,5,600,2.18,CRD,9.0 +VTS,1,5,300,0.66,CSH,5.5 +VTS,1,5,660,4.22,CRD,13.5 +VTS,1,5,660,1.97,CSH,9.5 +VTS,1,5,1260,3.79,CSH,15.5 +VTS,1,5,540,1.43,CSH,7.5 +VTS,1,5,660,2.42,CSH,10.5 +VTS,1,5,540,1.65,CSH,8.0 +VTS,1,1,540,1.24,CRD,7.5 +VTS,1,1,900,1.8,CRD,11.5 +VTS,1,1,120,0.6,CSH,4.5 +VTS,1,1,840,3.38,CRD,13.5 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,420,1.68,CSH,7.5 +VTS,1,1,600,1.76,CSH,9.5 +VTS,1,1,1080,10.62,CRD,30.5 +VTS,1,1,600,2.24,CRD,9.5 +VTS,1,1,660,2.7,CRD,11.0 +VTS,1,1,660,2.19,CRD,10.0 +VTS,1,1,420,1.37,CSH,7.0 +VTS,1,1,360,2.78,CRD,9.0 +VTS,1,1,300,0.62,CRD,5.5 +VTS,1,1,300,0.61,CRD,5.0 +VTS,1,1,1620,5.53,CRD,23.0 +VTS,1,1,660,1.81,CRD,9.5 +VTS,1,1,1380,6.54,CSH,23.0 +VTS,1,1,780,2.77,CRD,12.0 +VTS,1,1,1080,4.85,CSH,17.5 +VTS,1,1,600,1.36,CRD,8.5 +VTS,1,1,300,1.31,CRD,6.0 +VTS,1,1,300,1.22,CRD,6.0 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,1020,3.18,CRD,13.5 +VTS,1,1,480,1.86,CRD,8.5 +VTS,1,1,720,2.51,CRD,10.5 +VTS,1,1,300,1.59,CRD,7.0 +VTS,1,1,600,1.36,CSH,8.5 +VTS,1,1,600,1.74,CRD,7.5 +VTS,1,1,780,3.59,CRD,12.5 +VTS,1,1,420,0.85,CSH,6.5 +VTS,1,1,600,2.52,CRD,10.0 +VTS,1,1,300,0.63,CSH,5.5 +VTS,1,1,1380,3.24,CSH,16.0 +VTS,1,1,1680,3.61,CRD,20.0 +VTS,1,1,1020,2.74,CSH,12.5 +VTS,1,5,1320,4.58,CRD,18.5 +VTS,2,5,2280,17.37,CSH,52.0 +VTS,1,5,900,4.94,CRD,17.5 +VTS,1,5,1020,2.87,CSH,13.5 +VTS,1,5,180,0.76,CSH,4.5 +VTS,1,5,1200,7.85,CRD,24.0 +VTS,1,5,600,6.05,CRD,17.5 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,1,900,2.49,CSH,12.0 +VTS,1,1,540,2.2,CRD,9.5 +VTS,1,1,600,1.72,CRD,8.5 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,480,1.08,CRD,7.5 +VTS,1,1,480,1.8,CRD,8.5 +VTS,1,1,780,3.24,CSH,12.0 +VTS,1,1,480,1.51,CSH,8.0 +VTS,1,1,720,1.85,CRD,9.5 +VTS,1,1,240,0.83,CSH,5.0 +VTS,1,1,840,2.69,CSH,12.0 +VTS,1,1,1800,10.78,CRD,33.0 +VTS,1,1,600,0.95,CRD,8.0 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,360,1.33,CSH,7.0 +VTS,1,1,240,0.44,CRD,4.5 +VTS,1,1,1080,9.98,CSH,28.0 +VTS,1,1,480,0.88,CSH,7.0 +VTS,1,5,600,5.42,CSH,17.0 +VTS,1,5,300,0.66,CRD,5.5 +VTS,1,5,540,1.63,CRD,8.5 +VTS,1,5,900,3.43,CSH,14.0 +VTS,1,5,240,0.69,CRD,5.0 +VTS,1,5,300,1.09,CRD,6.0 +VTS,1,5,720,2.48,CSH,10.5 +VTS,1,5,480,3.32,CRD,11.5 +VTS,1,5,420,2.08,CSH,9.0 +VTS,1,5,240,0.44,CRD,4.5 +VTS,1,5,900,2.75,CSH,12.5 +VTS,1,5,840,4.2,CSH,15.0 +VTS,1,5,120,0.6,CRD,4.0 +VTS,1,1,60,0.48,CSH,3.5 +VTS,1,1,600,1.64,CRD,9.0 +VTS,1,1,600,1.95,CRD,9.0 +VTS,1,1,540,1.47,CRD,8.0 +VTS,1,1,1020,1.2,CRD,11.0 +VTS,1,1,360,2.4,CRD,9.0 +VTS,1,1,60,0.01,CSH,2.5 +VTS,1,1,540,1.14,CSH,7.5 +VTS,1,1,240,0.8,CRD,5.0 +VTS,1,1,420,1.38,CSH,7.0 +VTS,1,1,1140,3.19,CSH,15.5 +VTS,1,1,360,1.4,CRD,7.0 +VTS,1,1,360,0.67,CSH,5.5 +VTS,1,1,960,1.2,CRD,11.0 +VTS,1,1,900,9.48,CRD,27.0 +VTS,2,1,2640,18.18,CSH,52.0 +VTS,1,1,1140,7.43,CSH,23.0 +VTS,1,1,1380,2.37,CSH,15.0 +VTS,1,1,660,2.64,CRD,10.5 +VTS,1,1,1140,10.42,CRD,30.0 +VTS,1,1,1140,6.87,CSH,23.0 +VTS,1,1,1020,9.82,CRD,28.0 +VTS,1,1,660,1.72,CRD,9.5 +VTS,1,1,120,0.53,CRD,4.0 +VTS,1,1,360,1.31,CSH,7.0 +VTS,1,1,120,0.67,CRD,4.0 +VTS,1,5,540,1.97,CRD,9.0 +VTS,1,5,780,2.05,CRD,10.5 +VTS,1,5,780,2.33,CSH,10.5 +VTS,1,5,180,0.87,CSH,5.0 +VTS,1,5,720,3.21,CRD,12.0 +VTS,1,5,300,1.3,CSH,6.0 +VTS,1,5,660,2.39,CRD,10.5 +VTS,1,5,480,1.78,CRD,8.5 +VTS,1,5,1260,10.68,CSH,30.5 +VTS,1,5,180,0.51,CSH,4.0 +VTS,1,5,1020,8.15,CSH,23.5 +VTS,1,5,540,0.79,CRD,7.0 +VTS,1,5,240,0.74,CSH,5.0 +VTS,1,5,540,1.29,CRD,8.0 +VTS,1,5,480,1.04,CSH,7.0 +VTS,1,5,540,2.35,CRD,9.0 +VTS,1,5,660,1.88,CRD,10.0 +VTS,1,5,1680,9.74,CRD,30.0 +VTS,1,5,240,0.62,CSH,4.5 +VTS,1,5,360,1.12,CRD,6.5 +VTS,1,5,420,1.48,CRD,7.0 +VTS,1,5,720,3.49,CRD,12.5 +VTS,1,5,780,0.83,CRD,9.0 +VTS,1,5,1380,4.33,CRD,17.5 +VTS,1,5,420,0.93,CRD,6.5 +VTS,1,5,300,0.82,CRD,5.0 +VTS,1,5,480,1.59,CRD,8.0 +VTS,1,5,360,1.19,CRD,6.5 +VTS,1,5,180,0.43,CRD,4.0 +VTS,1,5,300,1.12,CRD,6.0 +VTS,1,5,1260,4.09,CRD,16.5 +VTS,1,5,180,0.76,CSH,4.5 +VTS,1,5,1140,4.2,CRD,16.5 +VTS,1,5,660,1.47,CRD,8.5 +VTS,1,5,420,1.95,CSH,7.5 +VTS,1,5,420,1.02,CSH,6.5 +VTS,1,5,600,1.33,CSH,8.0 +VTS,1,5,720,1.74,CRD,9.5 +VTS,1,5,660,1.17,CSH,8.0 +VTS,1,5,900,1.59,CRD,10.5 +VTS,1,5,900,2.24,CSH,11.5 +VTS,1,5,600,1.87,CRD,9.0 +VTS,1,5,360,0.92,CRD,5.5 +VTS,1,5,900,2.69,CSH,12.5 +VTS,1,5,1440,5.57,CRD,21.0 +VTS,1,5,540,0.72,CRD,7.5 +VTS,1,5,120,0.49,CRD,4.0 +VTS,1,5,540,1.65,CRD,8.5 +VTS,1,5,840,3.63,CRD,13.5 +VTS,1,5,480,1.89,CSH,8.5 +VTS,1,5,360,0.76,CSH,6.0 +VTS,1,5,540,1.73,CSH,8.0 +VTS,1,5,480,1.06,CSH,7.0 +VTS,1,5,240,0.65,CSH,5.0 +VTS,1,5,540,1.63,CRD,8.0 +VTS,1,5,480,1.95,CSH,8.0 +VTS,1,5,600,2.86,CRD,10.5 +VTS,1,5,1740,6.41,CRD,24.0 +VTS,1,5,660,3.84,CSH,13.5 +VTS,1,5,1140,3.04,CRD,15.0 +VTS,1,5,180,0.28,CSH,4.0 +VTS,1,5,480,0.98,CSH,7.0 +VTS,1,5,780,3.13,CRD,12.0 +VTS,1,5,1140,3.43,CRD,15.0 +VTS,1,5,660,1.94,CRD,10.0 +VTS,1,5,660,2.63,CSH,11.0 +VTS,1,5,540,1.93,CRD,9.0 +VTS,1,5,420,1.85,CRD,7.5 +VTS,1,5,180,0.81,CSH,5.0 +VTS,1,5,660,1.44,CSH,8.5 +VTS,1,5,540,1.01,CSH,7.0 +VTS,1,5,480,0.92,CRD,7.0 +VTS,1,5,480,1.66,CRD,8.0 +VTS,1,5,840,1.82,CRD,11.0 +VTS,1,5,720,3.71,CRD,13.5 +VTS,1,5,180,0.99,CSH,5.0 +VTS,1,5,1200,2.54,CSH,14.0 +VTS,1,5,900,1.86,CRD,11.0 +VTS,1,5,240,0.58,CRD,4.5 +VTS,1,5,1560,5.24,CRD,21.0 +VTS,1,5,1860,4.13,CSH,20.5 +VTS,1,5,540,1.78,CRD,8.5 +VTS,1,5,360,1.83,CRD,7.5 +VTS,1,5,1560,9.95,CSH,31.5 +VTS,1,5,1080,3.84,CSH,15.5 +VTS,1,5,1080,3.41,CSH,14.5 +VTS,1,5,600,2.24,CRD,9.0 +VTS,1,5,1260,5.33,CRD,20.5 +VTS,1,5,1500,3.95,CRD,18.5 +VTS,1,5,360,1.13,CRD,6.5 +VTS,1,5,300,0.91,CRD,6.0 +VTS,1,5,660,1.18,CRD,8.5 +VTS,1,5,960,1.88,CSH,11.5 +VTS,1,5,660,2.68,CSH,10.5 +VTS,1,5,840,1.83,CRD,11.0 +VTS,1,5,540,1.59,CSH,8.0 +VTS,1,5,120,0.32,CRD,3.5 +VTS,1,5,720,4.0,CSH,14.0 +VTS,1,5,480,1.44,CSH,7.5 +VTS,1,5,300,0.72,CRD,5.0 +VTS,1,5,240,1.01,CSH,5.5 +VTS,1,5,420,1.0,CRD,7.0 +VTS,1,5,660,1.28,CSH,8.5 +VTS,1,5,1260,8.3,CRD,26.0 +VTS,1,5,900,3.15,CSH,13.0 +VTS,1,5,660,7.05,CSH,20.5 +VTS,1,5,2100,15.64,CRD,43.5 +VTS,1,5,1320,3.75,CSH,16.5 +VTS,1,5,120,0.34,CSH,3.5 +VTS,1,5,840,4.76,CRD,15.5 +VTS,1,5,240,1.25,CSH,5.5 +VTS,1,5,1020,3.29,CSH,14.0 +VTS,1,5,600,1.21,CSH,8.0 +VTS,1,5,1080,6.01,CRD,19.5 +VTS,1,5,960,2.54,CSH,12.5 +VTS,1,5,1080,1.36,CRD,11.5 +VTS,1,5,540,0.95,CRD,7.5 +VTS,1,5,780,1.69,CRD,10.0 +VTS,1,5,1080,4.51,CSH,16.5 +VTS,1,5,1620,5.62,CRD,21.5 +VTS,1,5,540,1.83,CSH,8.5 +VTS,1,5,180,0.58,CRD,4.0 +VTS,1,5,240,0.7,CSH,4.5 +VTS,1,5,540,1.3,CRD,8.0 +VTS,1,5,1080,5.03,CRD,17.5 +VTS,1,5,600,4.29,CRD,13.0 +VTS,1,5,420,2.45,CRD,9.0 +VTS,1,5,360,2.21,CRD,8.0 +VTS,1,5,720,2.22,CRD,10.5 +VTS,1,5,420,0.82,CSH,6.0 +VTS,1,5,600,0.9,CSH,7.5 +VTS,1,5,540,2.12,CRD,9.0 +VTS,1,5,600,1.8,CSH,9.0 +VTS,1,5,720,2.33,CRD,10.5 +VTS,1,5,360,1.67,CRD,7.0 +VTS,1,5,240,0.22,CSH,4.0 +VTS,1,5,1320,7.4,CRD,24.5 +VTS,1,5,60,0.29,CRD,3.5 +VTS,1,5,300,0.55,CSH,5.0 +VTS,1,5,1020,6.38,CSH,20.0 +VTS,1,5,900,2.7,CRD,12.0 +VTS,1,5,600,1.8,CRD,8.5 +VTS,1,5,600,2.77,CSH,10.5 +VTS,1,5,480,1.25,CRD,7.5 +VTS,1,5,660,2.34,CRD,10.5 +VTS,1,5,480,1.21,CSH,7.0 +VTS,1,5,180,0.6,CSH,4.0 +VTS,1,5,900,1.67,CRD,11.0 +VTS,1,5,960,3.01,CRD,12.0 +VTS,1,5,840,2.25,CRD,11.0 +VTS,1,5,540,1.31,CRD,8.0 +VTS,1,5,600,2.6,CSH,10.0 +VTS,1,5,240,0.54,CRD,5.0 +VTS,1,5,720,2.58,CSH,10.5 +VTS,1,5,360,0.99,CRD,6.0 +VTS,1,5,540,1.79,CRD,8.5 +VTS,2,5,1740,20.73,CRD,52.0 +VTS,1,5,840,1.98,CRD,10.5 +VTS,1,5,180,1.01,CSH,5.0 +VTS,1,5,480,1.62,CSH,7.5 +VTS,1,5,600,3.16,CSH,11.0 +VTS,2,5,2640,19.68,CSH,52.0 +VTS,1,5,720,3.69,CRD,13.0 +VTS,1,5,300,1.02,CRD,5.5 +VTS,1,5,540,1.21,CRD,8.0 +VTS,1,5,180,0.31,CSH,3.5 +VTS,1,5,720,2.33,CSH,10.5 +VTS,1,5,300,1.01,CSH,6.0 +VTS,1,5,1260,5.71,CRD,21.0 +VTS,1,5,540,2.94,CRD,11.5 +VTS,1,5,1980,8.82,CRD,28.5 +VTS,1,5,720,1.73,CSH,9.0 +VTS,1,5,840,3.53,CRD,13.0 +VTS,1,5,360,1.64,CRD,7.0 +VTS,1,5,420,1.11,CRD,7.0 +VTS,1,5,300,0.66,CSH,5.0 +VTS,1,5,240,0.77,CRD,5.0 +VTS,1,5,1380,9.56,CRD,28.5 +VTS,1,5,360,0.88,CSH,6.0 +VTS,1,5,360,1.03,CRD,6.0 +VTS,1,5,600,2.35,CSH,10.0 +VTS,1,5,420,1.29,CRD,7.0 +VTS,1,5,420,1.24,CSH,7.5 +VTS,1,5,120,0.48,CSH,3.5 +VTS,1,5,1020,2.23,CRD,12.0 +VTS,1,5,360,1.56,CRD,7.0 +VTS,1,5,300,1.02,CSH,6.0 +VTS,1,5,360,1.46,CRD,6.5 +VTS,1,5,300,0.86,CRD,5.5 +VTS,1,5,660,1.43,CRD,9.0 +VTS,1,5,900,5.53,CRD,18.0 +VTS,1,5,1320,3.61,CRD,15.5 +VTS,1,5,1080,6.31,CSH,20.0 +VTS,1,5,840,6.71,CSH,20.5 +VTS,1,5,360,0.64,CSH,6.0 +VTS,1,5,300,1.04,CSH,6.0 +VTS,1,5,600,2.03,CRD,9.5 +VTS,1,5,840,2.68,CRD,12.0 +VTS,1,5,2340,10.46,CRD,35.5 +VTS,1,5,960,2.28,CSH,12.0 +VTS,1,5,660,2.88,CRD,11.5 +VTS,1,5,840,3.4,CSH,12.5 +VTS,1,5,1200,2.82,CSH,15.0 +VTS,1,5,840,2.25,CRD,11.0 +VTS,1,5,1740,9.95,CRD,30.5 +VTS,1,5,720,1.87,CRD,10.0 +VTS,1,5,540,1.45,CRD,8.0 +VTS,2,5,1560,17.03,CSH,52.0 +VTS,1,5,300,1.07,CRD,6.0 +VTS,1,1,1800,12.16,CSH,37.5 +VTS,1,1,780,1.08,CRD,9.5 +VTS,1,1,480,0.71,CRD,6.5 +VTS,2,1,2040,17.5,CRD,52.0 +VTS,1,1,1860,12.05,CRD,37.5 +VTS,1,1,720,1.66,CRD,9.5 +VTS,1,1,1620,6.7,CRD,25.0 +VTS,1,5,1320,9.18,CRD,27.5 +VTS,1,5,300,1.27,CSH,6.5 +VTS,1,5,420,2.02,CRD,8.0 +VTS,1,5,240,1.28,CSH,5.5 +VTS,1,5,360,1.26,CRD,7.0 +VTS,1,5,540,2.16,CRD,9.5 +VTS,1,5,660,2.48,CRD,10.5 +VTS,1,5,480,1.47,CSH,8.0 +VTS,1,5,660,1.91,CSH,9.5 +VTS,1,5,360,1.2,CRD,6.5 +VTS,1,5,420,2.81,CRD,9.5 +VTS,1,5,240,0.56,CSH,5.0 +VTS,2,5,2400,17.78,CRD,52.0 +VTS,2,5,2340,18.6,CRD,52.0 +VTS,1,5,1140,2.88,CSH,14.5 +VTS,1,5,600,2.39,CSH,10.5 +VTS,1,5,1440,4.24,CRD,18.5 +VTS,1,5,360,1.69,CSH,7.5 +VTS,1,5,180,0.58,CRD,4.5 +VTS,1,5,660,1.63,CRD,9.0 +VTS,1,5,1020,9.69,CRD,28.0 +VTS,1,5,600,2.3,CRD,10.0 +VTS,1,5,1080,7.99,CRD,23.5 +VTS,1,5,600,2.55,CSH,10.0 +VTS,1,5,300,1.89,CSH,7.0 +VTS,1,5,660,1.94,CSH,9.5 +VTS,1,5,420,1.02,CSH,6.0 +VTS,1,5,1200,3.69,CRD,15.5 +VTS,1,5,900,2.18,CRD,12.0 +VTS,1,5,720,1.4,CSH,9.0 +VTS,1,5,720,3.05,CSH,12.5 +VTS,1,5,1560,9.04,CSH,29.0 +VTS,1,5,840,2.37,CRD,11.0 +VTS,1,5,360,1.02,CRD,6.5 +VTS,1,5,420,0.98,CSH,6.5 +VTS,1,5,1680,6.5,CSH,24.5 +VTS,1,5,720,2.04,CRD,10.5 +VTS,1,5,780,1.11,CSH,9.0 +VTS,1,5,720,3.11,CSH,12.0 +VTS,4,5,1920,17.9,CRD,57.5 +VTS,1,5,180,1.06,CRD,5.0 +VTS,1,5,1560,5.01,CRD,20.0 +VTS,1,5,720,1.6,CRD,9.0 +VTS,1,5,1380,2.95,CRD,16.0 +VTS,1,5,1200,10.18,CRD,30.0 +VTS,1,5,1020,3.96,CRD,15.0 +CMT,1,2,417,1.5,CSH,7.5 +CMT,1,2,540,3.0,CRD,11.0 +CMT,1,3,781,1.8,CSH,10.5 +CMT,1,2,267,1.3,CSH,6.0 +CMT,1,2,91,0.3,CSH,3.5 +CMT,1,1,340,2.2,CRD,8.5 +CMT,1,1,857,3.5,CRD,13.5 +CMT,1,1,673,1.5,CSH,9.0 +CMT,1,1,283,1.0,CSH,6.0 +CMT,1,1,258,0.9,CSH,5.5 +CMT,1,1,301,0.9,CSH,6.0 +CMT,1,1,416,1.5,CRD,7.5 +CMT,2,1,1397,15.6,CSH,52.0 +CMT,1,1,493,1.3,CSH,7.5 +CMT,1,1,773,2.0,CRD,10.5 +CMT,1,1,429,1.5,CRD,7.5 +CMT,1,1,385,1.6,CSH,7.5 +CMT,1,1,524,1.9,CRD,8.5 +CMT,1,2,400,1.4,CSH,7.0 +CMT,1,4,500,1.2,CRD,7.5 +CMT,1,1,122,0.5,CSH,3.5 +CMT,1,1,164,0.5,CSH,4.0 +CMT,1,1,651,2.0,CRD,10.0 +CMT,1,2,668,1.9,CRD,10.0 +CMT,1,1,355,1.1,CRD,6.5 +VTS,1,5,540,1.44,CSH,8.0 +VTS,1,5,1740,10.45,CRD,32.0 +VTS,1,5,780,2.16,CSH,10.0 +VTS,1,5,780,3.21,CRD,12.0 +VTS,1,5,1740,11.51,CRD,33.5 +VTS,1,5,1560,7.12,CRD,23.5 +VTS,1,5,360,0.9,CRD,6.0 +VTS,1,5,780,3.84,CRD,13.5 +VTS,1,5,660,1.23,CSH,8.0 +VTS,1,5,960,1.55,CRD,11.5 +VTS,1,5,1380,8.52,CRD,25.5 +VTS,1,5,300,1.2,CSH,6.0 +VTS,1,5,840,2.19,CRD,11.0 +VTS,1,5,1140,4.07,CRD,15.5 +VTS,1,5,420,1.25,CSH,7.0 +VTS,1,5,360,1.63,CSH,7.0 +VTS,1,5,660,2.04,CRD,9.5 +VTS,2,5,3000,21.53,CRD,52.0 +VTS,2,5,2040,18.34,CSH,52.0 +VTS,1,5,1140,5.41,CSH,18.5 +CMT,1,4,409,2.6,CSH,9.5 +CMT,1,2,594,3.0,CSH,11.5 +CMT,1,1,322,0.9,CSH,6.0 +CMT,1,1,330,0.9,CSH,5.5 +CMT,1,1,448,1.1,CSH,7.0 +CMT,1,1,819,1.6,CSH,10.5 +VTS,1,5,120,0.68,CSH,4.0 +VTS,1,5,780,4.3,CRD,15.0 +VTS,1,5,960,8.78,CRD,25.5 +VTS,1,5,1080,3.8,CRD,15.0 +VTS,1,5,840,3.1,CRD,12.0 +VTS,1,5,1020,2.65,CSH,13.0 +VTS,1,5,480,1.6,CSH,8.0 +VTS,1,5,540,1.8,CRD,8.5 +VTS,1,5,1200,4.37,CRD,17.0 +VTS,1,5,300,0.72,CSH,5.5 +VTS,1,5,720,2.12,CSH,9.5 +VTS,1,5,360,0.65,CRD,5.5 +VTS,1,5,960,4.43,CRD,16.0 +VTS,1,5,960,2.76,CSH,12.5 +VTS,1,5,480,1.73,CSH,8.0 +VTS,1,5,360,0.77,CRD,6.0 +VTS,1,5,480,1.18,CSH,7.5 +VTS,1,5,660,3.07,CSH,11.5 +VTS,1,5,660,2.37,CRD,10.0 +CMT,1,1,421,1.4,CSH,7.5 +CMT,1,2,356,1.0,CSH,6.5 +CMT,1,3,1180,10.2,CSH,30.0 +CMT,1,1,474,2.4,CRD,9.5 +CMT,1,1,1053,6.2,CRD,21.0 +CMT,1,4,278,1.4,CSH,6.0 +CMT,1,1,615,2.4,CSH,10.5 +VTS,1,5,1080,4.65,CSH,17.5 +VTS,1,5,1080,3.29,CRD,14.0 +VTS,1,5,360,1.48,CSH,7.0 +CMT,1,1,279,1.1,CRD,6.0 +CMT,1,1,131,0.9,CSH,4.5 +CMT,1,1,577,3.3,CSH,12.0 +CMT,1,1,861,6.2,CRD,20.0 +CMT,1,1,788,4.3,CRD,14.5 +CMT,1,1,403,1.4,CRD,7.0 +CMT,1,1,93,0.4,CRD,3.5 +CMT,1,1,225,1.6,CSH,6.5 +CMT,1,2,1150,4.4,CRD,17.5 +CMT,1,1,288,0.5,CSH,5.0 +CMT,1,1,1091,5.2,CRD,18.5 +CMT,1,1,259,0.7,CRD,5.0 +CMT,1,1,187,1.2,CRD,5.5 +CMT,1,1,968,3.0,CRD,14.0 +CMT,1,1,269,1.1,CSH,5.5 +CMT,1,1,382,0.9,CSH,6.0 +CMT,1,2,420,1.8,CSH,8.5 +CMT,1,2,161,0.5,CRD,4.0 +CMT,1,1,804,2.8,CRD,12.0 +CMT,1,1,622,2.9,CRD,11.0 +CMT,1,1,510,1.7,CRD,8.5 +CMT,1,1,342,0.8,CRD,5.5 +CMT,1,1,1046,4.1,CRD,16.0 +VTS,1,5,1500,8.38,CRD,26.0 +VTS,1,5,1200,1.61,CRD,13.5 +VTS,1,5,660,1.94,CRD,9.0 +VTS,1,5,300,0.95,CSH,5.5 +VTS,1,5,300,0.75,CSH,5.0 +VTS,1,5,540,2.69,CRD,11.0 +CMT,1,1,391,0.8,CRD,6.0 +CMT,1,1,600,1.3,CSH,8.0 +CMT,1,1,410,1.2,CRD,6.5 +CMT,2,1,4192,18.8,CRD,52.0 +CMT,1,1,627,1.9,CRD,9.5 +CMT,1,1,302,1.5,CSH,7.0 +CMT,1,1,500,1.5,CRD,7.5 +CMT,1,1,1236,1.9,CRD,13.5 +CMT,1,1,649,1.4,CSH,8.5 +CMT,1,2,620,2.1,CRD,9.5 +CMT,1,2,279,1.4,CSH,6.0 +CMT,1,2,235,0.9,CRD,5.0 +CMT,1,1,671,2.7,CRD,10.5 +CMT,1,2,302,1.5,CSH,7.0 +CMT,1,1,815,3.5,CSH,12.5 +CMT,1,1,473,2.1,CRD,9.0 +CMT,1,1,455,1.5,CSH,7.5 +CMT,1,2,537,2.0,CRD,9.0 +CMT,1,1,816,4.5,CRD,15.5 +CMT,1,1,232,0.9,CRD,5.0 +CMT,1,1,499,1.7,CSH,8.5 +CMT,1,1,958,4.0,CRD,15.5 +CMT,1,1,449,1.9,CSH,8.5 +CMT,1,4,814,3.0,CSH,13.5 +CMT,1,1,958,6.2,CSH,20.0 +CMT,1,1,647,1.2,CRD,8.5 +CMT,1,1,917,5.2,CRD,18.0 +CMT,1,1,646,1.2,CSH,8.5 +CMT,1,3,936,3.8,CSH,14.5 +CMT,1,1,959,2.6,CRD,13.0 +CMT,1,1,321,0.7,CRD,5.5 +CMT,1,2,267,0.7,CSH,5.0 +CMT,1,1,951,3.1,CSH,13.5 +CMT,1,4,202,0.6,CSH,4.5 +CMT,1,4,321,1.8,CSH,7.5 +CMT,1,1,191,0.6,CSH,4.5 +CMT,1,1,658,2.0,CRD,10.0 +CMT,1,4,851,5.0,CSH,17.0 +CMT,1,1,853,4.1,CSH,15.0 +CMT,1,1,637,2.4,CRD,10.5 +CMT,1,1,865,1.9,CRD,11.0 +CMT,1,2,335,1.1,CRD,6.0 +CMT,1,2,131,0.4,CRD,3.5 +CMT,1,3,954,1.8,CSH,12.0 +CMT,1,1,783,2.3,CRD,11.0 +CMT,1,1,269,1.4,CRD,6.5 +VTS,1,5,660,1.56,CRD,8.5 +VTS,1,5,300,0.67,CSH,5.0 +VTS,1,5,240,0.49,CSH,4.5 +VTS,1,5,1140,2.79,CRD,14.0 +VTS,1,5,660,2.69,CRD,10.5 +VTS,1,5,240,1.39,CRD,6.0 +VTS,1,5,2400,15.97,CRD,47.0 +VTS,1,5,420,1.1,CSH,6.0 +VTS,1,5,240,1.16,CSH,5.5 +VTS,1,5,720,2.57,CSH,10.5 +VTS,1,5,960,4.26,CRD,16.0 +VTS,1,5,540,1.67,CSH,8.0 +VTS,1,5,720,1.32,CSH,9.0 +VTS,1,5,420,1.13,CSH,6.5 +VTS,1,5,300,0.68,CRD,5.5 +CMT,1,2,180,0.5,CSH,4.5 +CMT,1,1,179,0.6,CSH,4.5 +CMT,1,1,348,1.2,CSH,6.5 +CMT,1,1,694,1.9,CSH,10.5 +CMT,1,1,450,1.2,CRD,7.0 +CMT,1,1,245,0.6,CSH,5.0 +CMT,1,3,81,0.5,CSH,3.5 +CMT,1,4,377,1.0,CSH,6.5 +CMT,1,1,203,0.5,CRD,4.5 +CMT,1,1,600,4.0,CRD,13.5 +CMT,1,1,979,2.2,CSH,12.0 +VTS,1,5,960,1.67,CRD,11.0 +VTS,1,5,720,1.46,CRD,9.0 +VTS,1,5,780,2.02,CRD,10.0 +VTS,1,5,780,1.92,CRD,10.0 +VTS,1,5,540,1.9,CRD,9.0 +VTS,1,5,360,1.75,CSH,7.0 +VTS,1,5,240,0.76,CRD,5.0 +VTS,1,5,2880,11.54,CRD,40.0 +VTS,1,5,720,1.74,CSH,10.0 +VTS,1,5,1560,3.59,CRD,17.5 +VTS,1,5,720,1.91,CRD,10.0 +VTS,1,5,240,1.06,CSH,5.5 +VTS,1,5,540,2.46,CRD,9.5 +VTS,1,5,600,1.24,CSH,8.5 +VTS,1,5,180,0.79,CSH,4.5 +VTS,1,5,180,0.86,CRD,4.5 +VTS,1,5,780,3.64,CRD,13.5 +CMT,1,3,443,1.7,CSH,8.0 +CMT,1,1,92,0.2,CSH,3.5 +CMT,1,2,874,3.3,CRD,13.5 +CMT,1,2,786,2.2,CSH,11.0 +CMT,1,1,376,1.0,CSH,6.5 +CMT,1,1,272,1.1,CRD,6.0 +CMT,1,2,326,0.8,CSH,5.5 +CMT,1,3,555,3.1,CRD,11.5 +CMT,1,2,543,0.6,CSH,7.0 +CMT,1,1,475,0.9,CSH,7.0 +CMT,1,1,1228,3.5,CSH,16.0 +CMT,1,1,969,2.6,CRD,13.0 +CMT,1,1,239,0.4,CSH,4.5 +CMT,1,1,415,1.6,CRD,8.0 +CMT,1,1,577,1.1,CSH,7.5 +CMT,1,2,543,1.6,CSH,8.0 +CMT,1,1,724,1.6,CSH,9.5 +CMT,1,3,254,0.6,CSH,4.5 +CMT,1,1,184,0.9,CRD,5.0 +CMT,1,2,745,1.8,CRD,10.0 +CMT,1,1,305,1.8,CSH,7.5 +CMT,1,1,436,2.0,CRD,8.5 +CMT,1,2,706,2.3,CSH,10.5 +CMT,1,1,735,2.1,CRD,10.5 +CMT,1,1,153,0.6,CSH,4.0 +CMT,1,2,749,1.8,CSH,10.0 +CMT,1,1,189,0.6,CSH,4.5 +CMT,1,1,375,0.6,CSH,5.5 +CMT,1,1,582,2.3,CSH,9.5 +CMT,1,1,204,0.9,CRD,5.0 +CMT,1,1,1505,9.7,CSH,30.5 +CMT,1,1,858,4.3,CRD,15.0 +CMT,1,1,115,0.7,CSH,4.0 +CMT,1,1,460,0.7,CSH,6.5 +CMT,1,1,824,2.5,CSH,11.5 +CMT,1,1,813,6.7,CRD,20.5 +CMT,1,1,708,4.1,CSH,14.0 +CMT,1,1,645,2.5,CRD,10.0 +CMT,1,1,343,0.7,CRD,6.0 +CMT,1,1,632,2.2,CRD,10.5 +CMT,1,1,1251,3.2,CSH,15.5 +CMT,1,1,681,2.2,CRD,9.5 +CMT,1,1,597,1.0,CRD,8.0 +CMT,1,1,133,0.7,CSH,4.5 +CMT,1,4,978,2.8,CSH,13.0 +CMT,1,1,1243,3.3,CRD,15.5 +CMT,1,2,414,1.5,CRD,7.0 +CMT,1,1,642,1.9,CSH,9.0 +CMT,1,1,395,0.8,CRD,6.0 +CMT,1,1,408,1.3,CSH,7.0 +CMT,1,1,325,1.0,CRD,6.0 +CMT,1,1,975,4.4,CRD,16.0 +CMT,1,1,974,6.7,CRD,20.5 +CMT,1,1,303,0.9,CSH,6.0 +CMT,1,1,354,1.6,CRD,7.0 +CMT,1,1,162,0.5,CSH,4.5 +CMT,1,2,276,0.6,CSH,5.0 +CMT,1,1,395,1.3,CRD,7.0 +CMT,1,3,919,1.9,CSH,11.5 +CMT,1,1,1100,4.5,CRD,16.5 +CMT,1,1,417,2.3,CSH,8.5 +CMT,1,1,346,0.6,CSH,5.5 +CMT,1,1,194,0.5,CRD,4.5 +CMT,1,1,927,3.3,CRD,14.0 +CMT,1,1,1168,2.9,CRD,14.0 +CMT,1,1,849,6.5,CRD,19.5 +CMT,1,1,717,1.8,CRD,9.5 +CMT,1,1,582,1.6,CRD,8.5 +CMT,1,1,1747,5.0,CRD,23.0 +CMT,1,3,181,0.7,CSH,4.5 +CMT,1,2,783,1.9,CRD,10.5 +CMT,1,1,286,0.6,CSH,5.0 +CMT,1,2,571,2.2,CSH,9.5 +CMT,1,3,673,4.2,CSH,14.0 +CMT,1,1,230,0.5,CRD,4.5 +CMT,1,1,364,1.1,CRD,6.5 +CMT,1,2,1139,4.7,CRD,18.0 +CMT,1,2,263,1.0,CSH,5.5 +CMT,1,2,210,0.7,CSH,4.5 +CMT,1,3,1026,8.3,CSH,24.5 +CMT,1,2,192,0.9,CSH,5.0 +CMT,1,1,627,2.0,CSH,9.5 +CMT,1,1,206,1.3,CSH,6.0 +CMT,1,1,407,1.5,CSH,7.0 +CMT,1,1,537,1.2,CRD,8.5 +CMT,1,1,1355,3.5,CRD,17.0 +CMT,1,1,800,6.6,CRD,20.0 +CMT,1,1,533,1.4,CRD,8.0 +CMT,1,1,373,1.0,CSH,6.0 +CMT,1,2,736,2.1,CSH,11.0 +CMT,1,1,213,0.7,CSH,4.5 +CMT,1,2,301,1.5,CSH,6.5 +CMT,1,2,243,1.0,CSH,5.5 +CMT,1,1,605,2.2,CSH,9.5 +CMT,2,1,2060,17.0,CSH,52.0 +CMT,1,1,677,2.6,CSH,10.5 +CMT,1,1,755,2.0,CSH,10.5 +CMT,1,1,1099,2.7,CSH,14.0 +CMT,1,2,1520,3.7,CSH,18.5 +CMT,1,1,194,0.9,CRD,5.0 +CMT,1,1,471,2.4,CRD,9.5 +CMT,1,1,328,1.4,CSH,7.0 +CMT,1,1,522,1.6,CRD,8.5 +CMT,1,1,493,0.9,CRD,7.0 +CMT,1,1,290,0.9,CRD,5.5 +CMT,1,1,642,2.8,CRD,11.0 +CMT,1,1,980,2.9,CRD,13.5 +CMT,1,2,849,1.5,CRD,10.0 +CMT,1,1,495,1.5,CSH,7.5 +CMT,1,1,1138,4.3,CSH,17.0 +CMT,1,2,578,1.6,CRD,8.5 +CMT,1,1,611,2.6,CRD,10.5 +CMT,1,1,755,3.1,CSH,12.5 +CMT,1,1,745,1.2,CSH,9.0 +CMT,1,1,309,0.6,CRD,5.5 +CMT,2,1,1825,18.3,CRD,52.0 +CMT,1,1,1203,4.3,CRD,17.5 +CMT,1,1,217,0.8,CRD,5.0 +CMT,1,1,359,1.7,CSH,7.0 +CMT,3,1,1830,15.9,CRD,63.0 +CMT,1,1,345,0.9,CRD,6.0 +CMT,1,1,512,1.3,CSH,8.0 +CMT,1,1,157,0.5,CSH,4.0 +CMT,1,2,562,1.2,CRD,7.5 +CMT,1,2,361,1.1,CSH,6.5 +CMT,1,2,578,1.4,CRD,8.0 +CMT,1,2,284,1.1,CRD,6.0 +CMT,1,3,297,0.9,CRD,6.0 +CMT,1,1,745,2.1,CSH,10.5 +CMT,1,1,623,2.3,CRD,10.0 +CMT,1,2,1217,7.0,CSH,23.5 +CMT,1,2,1378,9.3,CRD,27.0 +CMT,1,1,537,0.8,CSH,7.0 +CMT,1,1,1269,1.3,CRD,13.5 +CMT,1,1,509,0.9,CSH,7.0 +CMT,1,1,373,0.8,CRD,6.0 +CMT,1,1,716,2.6,CSH,11.5 +CMT,1,1,404,1.0,CSH,6.5 +CMT,1,1,533,0.9,CSH,7.0 +CMT,1,1,659,6.8,CSH,20.0 +CMT,1,1,693,2.8,CSH,11.5 +CMT,1,1,1164,9.1,CRD,27.0 +CMT,1,1,1108,8.7,CSH,26.0 +CMT,1,1,709,3.3,CSH,12.5 +CMT,1,1,477,1.9,CRD,8.5 +CMT,1,1,424,0.7,CRD,6.5 +CMT,1,1,1549,6.3,CRD,23.0 +CMT,1,1,470,4.3,CRD,14.0 +CMT,1,1,343,1.4,CSH,7.0 +CMT,1,1,602,2.1,CRD,9.5 +CMT,1,1,483,0.9,CRD,7.0 +CMT,1,1,800,2.3,CRD,11.0 +CMT,1,1,402,1.6,CSH,8.0 +CMT,1,1,952,2.4,CRD,12.0 +CMT,1,1,467,1.4,CSH,7.5 +CMT,1,1,1156,4.4,CRD,16.5 +CMT,1,1,342,0.8,CRD,6.0 +CMT,1,1,827,3.6,CSH,14.5 +CMT,1,1,483,1.6,CRD,8.0 +CMT,1,1,255,0.8,CSH,5.5 +CMT,1,1,361,0.8,CSH,6.0 +CMT,1,1,978,2.7,CSH,12.5 +CMT,1,1,637,2.4,CSH,10.5 +CMT,1,2,440,0.9,CSH,6.5 +CMT,1,1,1027,10.2,CRD,29.0 +CMT,1,1,1024,5.6,CSH,19.0 +CMT,1,2,1130,1.9,CSH,13.0 +CMT,1,1,468,2.3,CRD,9.0 +CMT,1,3,69,0.4,CSH,3.5 +CMT,1,2,727,3.2,CSH,12.0 +CMT,1,1,263,0.6,CSH,5.0 +CMT,1,1,263,1.0,CSH,5.5 +CMT,1,2,869,2.5,CSH,11.5 +CMT,1,1,1016,4.1,CSH,15.5 +CMT,1,2,1131,5.4,CRD,18.5 +CMT,1,1,254,0.4,NOC,4.0 +CMT,1,1,621,1.8,CRD,9.0 +CMT,1,2,1260,3.4,CRD,16.0 +CMT,1,3,275,1.2,CSH,6.0 +CMT,1,1,320,2.2,CRD,8.0 +CMT,1,2,357,1.7,CSH,7.0 +CMT,1,1,694,1.3,CRD,9.0 +CMT,1,1,647,1.6,CRD,9.0 +CMT,1,1,258,0.6,CRD,5.0 +CMT,1,1,275,0.9,CRD,5.5 +CMT,1,1,1038,7.9,CRD,24.0 +CMT,1,1,256,0.9,CSH,5.5 +CMT,1,1,506,1.8,CRD,8.5 +CMT,1,1,382,1.1,CSH,6.5 +CMT,1,1,257,1.0,CSH,5.5 +CMT,1,1,464,1.1,CSH,7.5 +CMT,1,1,864,1.9,CRD,11.0 +CMT,1,1,396,0.6,CSH,6.0 +CMT,1,1,905,1.7,CRD,10.5 +CMT,1,1,551,1.3,CSH,8.0 +CMT,1,2,721,1.8,CSH,9.5 +CMT,1,2,856,2.2,CSH,11.5 +CMT,1,1,558,1.6,CSH,8.5 +CMT,1,1,627,1.6,CRD,9.0 +CMT,1,2,389,0.8,CSH,5.5 +CMT,1,1,535,1.6,CRD,9.0 +CMT,1,1,925,2.9,CSH,13.0 +CMT,1,1,165,0.5,CSH,4.0 +CMT,1,1,311,1.4,CSH,6.5 +CMT,2,2,2898,19.5,CRD,52.0 +CMT,1,1,631,3.0,CRD,11.0 +CMT,1,1,266,0.6,CRD,5.0 +CMT,1,1,281,1.1,CSH,6.0 +CMT,1,1,820,3.0,CRD,12.5 +CMT,1,1,595,1.9,CSH,9.0 +CMT,1,1,643,1.3,CSH,8.5 +CMT,1,1,868,2.3,CRD,11.5 +CMT,1,1,430,2.0,CSH,8.5 +CMT,1,2,422,1.0,CRD,7.0 +CMT,1,1,653,1.5,CRD,9.5 +CMT,1,1,950,3.5,CRD,14.0 +CMT,1,2,1557,3.7,CSH,18.5 +CMT,1,2,537,1.3,CSH,7.5 +CMT,1,2,816,1.4,CRD,9.5 +CMT,1,1,1207,4.0,CRD,16.5 +CMT,1,3,866,2.6,CRD,12.5 +CMT,1,1,349,0.6,CRD,5.5 +CMT,1,1,609,2.4,CRD,10.0 +CMT,1,2,277,1.1,CSH,6.0 +CMT,1,1,411,1.4,CRD,7.0 +CMT,1,2,942,5.4,CSH,18.0 +CMT,1,3,564,1.8,CRD,8.5 +CMT,1,1,645,1.6,CRD,9.0 +CMT,1,1,483,1.9,CSH,9.0 +CMT,1,2,148,0.2,CRD,3.5 +CMT,1,1,309,0.8,CSH,5.5 +CMT,1,1,270,0.6,CRD,5.0 +CMT,1,1,1084,9.3,CRD,27.5 +CMT,1,1,403,1.1,CRD,7.0 +CMT,1,1,734,2.5,CRD,11.0 +CMT,1,1,105,0.3,CSH,3.5 +CMT,1,1,1236,2.9,CSH,15.0 +CMT,1,1,171,0.5,CRD,4.5 +CMT,1,1,663,1.6,CRD,9.5 +CMT,1,1,391,2.0,CSH,8.5 +CMT,1,1,449,1.3,CRD,7.5 +CMT,1,1,1071,1.6,CRD,12.5 +CMT,1,1,298,0.9,CRD,5.5 +CMT,1,2,304,0.5,CSH,5.0 +CMT,1,2,462,2.7,CRD,10.5 +CMT,1,1,672,1.3,CRD,8.5 +CMT,1,2,433,1.5,CRD,7.5 +CMT,1,1,450,4.6,CRD,14.0 +CMT,1,2,549,1.4,CSH,8.0 +CMT,1,1,407,1.6,CSH,7.5 +CMT,1,1,559,1.0,CRD,7.5 +CMT,1,1,2135,9.6,CSH,34.0 +CMT,1,1,802,2.8,CSH,11.5 +CMT,1,2,1892,10.4,CRD,33.0 +CMT,1,2,127,0.1,CSH,3.5 +CMT,1,1,500,1.6,CSH,8.0 +CMT,1,1,418,1.3,CSH,7.0 +CMT,1,1,586,1.9,CRD,9.5 +CMT,1,1,1184,7.7,CRD,24.5 +CMT,1,1,668,1.6,CSH,9.5 +CMT,1,1,130,0.3,CSH,3.5 +CMT,1,1,450,1.0,CRD,7.0 +CMT,1,1,440,1.0,CSH,7.0 +CMT,1,1,879,2.9,CSH,12.0 +CMT,1,1,245,1.3,CRD,6.0 +CMT,1,1,424,1.0,CRD,6.5 +CMT,1,1,484,2.2,CRD,9.0 +CMT,1,1,1050,2.5,CRD,13.0 +CMT,1,1,274,0.7,CRD,5.0 +CMT,1,2,434,0.7,CRD,6.5 +CMT,2,1,1724,16.3,CSH,52.0 +CMT,1,1,337,1.2,CSH,6.0 +CMT,1,1,1137,2.6,CSH,13.5 +CMT,1,1,445,0.9,CRD,6.5 +CMT,1,1,265,0.7,CSH,5.0 +CMT,1,1,579,1.8,CSH,8.5 +CMT,1,1,529,2.9,CSH,10.5 +CMT,1,2,985,3.0,CRD,13.5 +CMT,1,1,1792,10.0,CRD,29.5 +CMT,1,1,376,1.1,CSH,6.5 +CMT,1,1,351,0.7,CRD,5.5 +CMT,1,3,243,0.5,CSH,4.5 +CMT,1,2,1210,3.2,CRD,15.5 +CMT,1,1,897,2.8,CSH,12.5 +CMT,1,3,732,5.7,CSH,18.0 +CMT,1,1,367,1.3,CSH,7.0 +CMT,1,1,773,5.5,CSH,17.5 +CMT,1,1,686,2.0,CRD,10.0 +CMT,1,2,283,0.9,CRD,5.5 +CMT,1,1,275,0.6,CSH,5.0 +CMT,1,3,163,0.4,CSH,4.0 +CMT,1,1,549,1.1,CRD,7.5 +CMT,1,1,493,1.3,CSH,7.5 +CMT,1,1,977,1.8,CSH,11.5 +CMT,1,2,968,2.7,CRD,13.0 +CMT,2,1,2880,17.7,CRD,52.0 +CMT,1,1,1129,6.4,CSH,21.5 +CMT,1,1,197,0.9,CRD,5.0 +CMT,1,1,657,4.6,CRD,15.0 +CMT,1,2,718,3.4,CSH,13.0 +CMT,1,2,232,0.7,CSH,5.0 +CMT,1,1,192,1.1,CSH,5.0 +CMT,1,1,246,1.3,CSH,6.0 +CMT,1,1,566,0.7,CSH,7.5 +CMT,1,1,486,2.0,CSH,9.0 +CMT,1,1,1348,9.2,CRD,28.5 +CMT,1,2,253,0.8,CRD,5.0 +CMT,1,1,1324,4.5,CRD,19.5 +CMT,1,1,924,1.6,CRD,11.0 +CMT,1,2,251,0.6,CSH,5.0 +CMT,1,1,137,0.6,CRD,4.0 +CMT,1,1,701,1.1,CRD,8.5 +CMT,1,1,716,3.9,CRD,14.0 +CMT,1,1,1787,5.0,CRD,23.0 +CMT,1,1,900,2.9,CRD,13.0 +CMT,1,1,175,0.4,CSH,4.0 +CMT,1,2,1256,2.9,CRD,16.0 +CMT,1,1,227,0.6,CSH,5.0 +CMT,1,2,727,5.3,CRD,17.0 +CMT,1,1,242,1.0,CRD,5.5 +CMT,1,2,256,0.7,CSH,5.0 +CMT,1,1,247,0.6,CRD,5.0 +CMT,1,2,1453,2.6,CSH,16.5 +CMT,1,1,856,2.9,CRD,12.5 +CMT,1,1,1069,2.3,CSH,12.5 +CMT,1,1,663,3.4,CRD,13.0 +CMT,1,1,928,5.5,CSH,18.5 +CMT,1,2,508,1.4,CSH,8.0 +CMT,1,2,259,1.0,CSH,5.5 +CMT,1,1,488,2.0,CSH,8.5 +CMT,1,1,249,0.9,CSH,5.5 +CMT,1,3,159,0.8,CRD,4.5 +CMT,1,1,428,1.2,CSH,7.0 +CMT,1,1,979,4.5,CRD,17.0 +CMT,1,1,689,2.3,CSH,10.5 +CMT,1,1,989,3.5,CRD,14.5 +CMT,1,1,1172,8.9,CRD,26.5 +CMT,1,1,889,3.0,CRD,13.5 +CMT,1,1,67,0.1,CSH,3.0 +CMT,1,1,1720,8.7,CRD,28.0 +CMT,1,1,463,2.1,CRD,8.5 +CMT,1,2,437,1.2,CRD,7.0 +CMT,1,1,872,3.6,CRD,14.5 +CMT,1,3,1279,9.7,CRD,29.0 +CMT,1,3,262,0.8,CSH,5.0 +CMT,1,1,1324,4.8,CRD,19.5 +CMT,1,4,300,0.8,CRD,5.5 +CMT,1,2,1125,8.8,CRD,26.0 +CMT,1,2,173,0.6,CRD,4.5 +CMT,1,1,983,5.5,CSH,18.0 +CMT,1,4,494,1.4,CSH,7.5 +CMT,1,1,1280,10.4,CRD,28.5 +CMT,1,2,216,0.7,CSH,4.5 +CMT,1,1,255,0.9,CRD,5.5 +CMT,1,1,501,1.5,CSH,8.0 +CMT,1,1,122,0.4,CSH,3.5 +CMT,1,1,423,1.2,CRD,7.0 +CMT,1,2,184,0.8,CRD,4.5 +CMT,1,1,491,1.6,CSH,8.0 +CMT,1,1,669,1.6,CRD,9.0 +CMT,1,1,676,3.0,CRD,11.5 +CMT,1,1,331,0.8,CSH,5.5 +CMT,1,2,863,1.9,CSH,11.0 +CMT,1,1,272,0.4,CSH,5.0 +CMT,1,1,238,1.9,CRD,7.0 +CMT,1,1,1426,4.0,CSH,17.5 +CMT,1,1,387,1.3,CSH,7.0 +CMT,1,2,519,1.6,CRD,8.0 +CMT,1,1,1248,3.2,CRD,16.0 +CMT,1,2,1310,4.1,CSH,17.0 +CMT,1,1,698,2.6,CRD,11.0 +CMT,1,1,421,0.8,CRD,6.5 +CMT,1,2,750,2.3,CSH,11.5 +CMT,1,1,686,1.7,CSH,9.5 +CMT,1,1,275,0.7,CSH,5.0 +CMT,1,2,458,1.0,CRD,7.0 +CMT,1,2,138,0.2,CSH,3.5 +CMT,1,1,401,1.5,CRD,7.5 +CMT,1,1,353,1.2,CSH,6.5 +CMT,1,1,750,1.8,CRD,10.0 +CMT,1,1,201,0.6,CSH,4.5 +CMT,1,1,428,0.8,CRD,6.5 +CMT,1,1,532,1.1,CRD,8.0 +CMT,1,1,274,0.7,NOC,5.0 +CMT,1,1,284,2.1,CRD,8.0 +CMT,1,1,286,0.8,CRD,5.5 +CMT,1,1,676,2.0,CSH,10.0 +CMT,1,1,624,1.5,CRD,9.0 +CMT,1,1,638,2.0,CRD,9.5 +CMT,1,1,1636,6.8,CRD,25.0 +CMT,1,1,975,1.9,CRD,11.5 +CMT,1,3,734,2.4,CSH,11.0 +CMT,1,2,410,2.2,CSH,9.0 +CMT,1,3,465,1.6,CRD,8.0 +CMT,1,2,980,1.4,CSH,11.0 +CMT,1,1,674,1.8,CRD,10.0 +CMT,1,1,882,2.9,CSH,13.0 +CMT,1,1,171,0.6,CSH,4.5 +CMT,1,1,859,1.1,CSH,10.5 +CMT,1,1,194,0.2,CRD,4.0 +CMT,1,1,440,2.4,CRD,9.0 +CMT,1,1,390,1.2,CSH,6.5 +CMT,1,1,546,1.1,CSH,7.5 +CMT,1,1,190,0.9,CRD,5.0 +CMT,1,1,514,3.3,CRD,12.0 +CMT,1,1,872,1.7,CSH,10.5 +CMT,1,1,1318,6.0,CSH,20.0 +CMT,1,1,588,1.5,CSH,8.5 +CMT,1,1,226,0.5,CRD,4.5 +CMT,1,1,744,1.1,CSH,9.5 +CMT,1,1,299,0.8,CSH,5.5 +CMT,1,1,185,0.7,CSH,4.5 +CMT,1,1,1888,12.1,CRD,35.5 +CMT,1,2,1165,4.9,CRD,17.5 +CMT,1,1,863,4.9,CRD,17.5 +CMT,1,2,407,1.2,CSH,7.0 +CMT,1,1,294,0.6,CRD,5.5 +CMT,1,2,1532,3.8,CSH,19.0 +CMT,1,1,2380,11.0,CRD,36.0 +CMT,1,1,1619,12.3,CRD,35.0 +CMT,1,2,1138,2.7,CRD,14.0 +CMT,1,1,611,1.8,CRD,9.0 +CMT,1,3,316,0.6,CRD,5.5 +CMT,1,1,559,2.6,CRD,10.0 +CMT,1,1,575,1.7,CRD,9.0 +CMT,1,2,520,0.8,CRD,7.0 +CMT,1,1,517,1.3,CRD,8.0 +CMT,1,1,95,0.4,CSH,3.5 +CMT,1,4,407,0.9,CSH,6.0 +CMT,1,1,657,1.2,CSH,8.5 +CMT,1,1,1267,10.0,CRD,30.0 +CMT,1,1,611,3.2,CRD,11.5 +CMT,1,1,1206,5.9,CSH,20.0 +CMT,1,1,989,2.0,CRD,12.0 +CMT,1,2,412,1.4,CSH,7.0 +CMT,1,1,1852,6.9,CRD,25.5 +CMT,1,2,919,1.8,CRD,11.0 +CMT,1,3,203,0.7,CSH,4.5 +CMT,1,1,95,0.5,CSH,3.5 +CMT,1,1,529,3.2,CRD,11.5 +CMT,1,1,483,1.2,CSH,7.0 +CMT,1,2,326,1.0,CRD,6.0 +CMT,1,2,320,0.7,CSH,5.5 +CMT,1,2,555,1.7,CSH,9.0 +CMT,1,1,264,1.6,CRD,6.5 +CMT,1,3,799,1.5,CRD,10.0 +CMT,1,1,792,2.8,CSH,12.0 +CMT,1,1,771,2.1,CRD,10.0 +CMT,1,2,782,1.5,CSH,10.0 +CMT,1,2,355,1.0,CRD,6.5 +CMT,1,1,1451,9.2,CRD,28.5 +CMT,1,1,698,2.2,CRD,10.5 +CMT,1,2,665,1.9,CRD,9.5 +CMT,1,2,558,1.7,CSH,9.0 +CMT,1,2,232,0.6,CSH,4.5 +CMT,1,1,219,1.1,CSH,5.5 +CMT,1,1,1108,3.8,CRD,15.5 +CMT,1,2,192,0.9,CSH,5.0 +CMT,1,1,294,1.1,CSH,6.0 +CMT,1,1,407,2.2,CSH,8.5 +CMT,1,1,907,2.9,CRD,14.0 +CMT,1,1,556,1.6,CSH,8.5 +CMT,1,1,979,2.6,CRD,13.0 +CMT,1,2,182,0.5,CSH,4.0 +CMT,1,1,496,1.7,CSH,8.0 +CMT,1,2,798,2.9,CSH,12.5 +CMT,1,1,560,1.6,CRD,8.5 +CMT,1,3,216,1.1,CRD,5.0 +CMT,1,1,250,0.6,CSH,5.0 +CMT,1,4,560,2.1,CSH,9.0 +CMT,1,1,74,0.3,CSH,3.5 +CMT,1,1,553,0.9,CSH,8.0 +CMT,1,1,753,4.7,CRD,16.0 +CMT,1,1,417,1.8,CSH,8.0 +CMT,2,1,1601,17.4,CSH,52.0 +CMT,1,4,210,0.9,CSH,5.0 +CMT,1,3,383,1.0,CRD,6.5 +CMT,1,1,280,0.9,CRD,5.5 +CMT,1,1,633,2.4,CRD,10.5 +CMT,1,1,496,2.1,CSH,9.0 +CMT,1,3,482,1.7,CRD,8.0 +CMT,1,2,586,1.9,CSH,9.0 +CMT,1,1,386,0.5,CSH,5.5 +CMT,1,2,4752,24.9,CSH,78.5 +CMT,1,1,651,1.6,CRD,9.0 +CMT,1,1,360,0.9,CSH,6.0 +CMT,1,1,1254,3.3,CRD,15.5 +CMT,1,1,505,2.9,CSH,11.0 +CMT,1,2,329,1.0,CSH,6.0 +CMT,1,1,1223,3.1,CRD,15.5 +CMT,2,4,1939,16.5,CSH,52.0 +CMT,1,1,1074,5.1,CSH,18.0 +CMT,1,3,101,0.5,CRD,3.5 +CMT,1,1,482,1.3,CSH,7.5 +CMT,1,1,404,0.9,CSH,6.5 +CMT,1,1,497,4.0,CRD,13.5 +CMT,1,1,217,0.3,CSH,4.0 +CMT,1,1,1580,5.1,CRD,20.5 +CMT,1,1,649,1.6,CRD,9.0 +CMT,1,3,593,1.6,CSH,8.5 +CMT,1,1,960,6.3,CRD,20.0 +CMT,1,1,269,1.5,CSH,6.5 +CMT,1,1,147,0.6,CRD,4.0 +CMT,1,1,282,0.7,CRD,5.0 +CMT,1,1,444,1.0,CSH,7.0 +CMT,1,1,254,0.7,CRD,5.0 +CMT,1,1,415,1.1,CSH,7.0 +CMT,1,1,465,1.4,CRD,7.5 +CMT,1,1,570,1.4,CSH,8.0 +CMT,1,4,1333,9.2,CSH,29.0 +CMT,1,3,527,2.7,CSH,10.5 +CMT,1,3,363,2.2,CSH,8.5 +CMT,1,1,328,1.4,CRD,7.0 +CMT,1,4,165,0.6,CSH,4.5 +CMT,1,1,967,4.7,CSH,17.0 +CMT,1,1,931,4.7,CRD,16.0 +CMT,1,1,588,2.3,CRD,10.0 +CMT,1,1,247,0.9,CRD,5.5 +CMT,1,1,268,1.2,CRD,6.0 +CMT,1,2,130,0.4,CSH,4.0 +CMT,1,1,1291,10.2,CSH,30.5 +CMT,1,1,238,1.2,CRD,5.5 +CMT,1,2,510,3.1,CSH,10.5 +CMT,1,3,162,0.5,CSH,4.0 +CMT,1,2,1600,8.7,CRD,28.0 +CMT,1,3,382,2.1,CSH,8.0 +CMT,1,4,569,2.4,CSH,11.0 +CMT,1,1,390,2.4,CRD,9.5 +CMT,1,3,750,3.3,CRD,13.5 +CMT,1,2,148,0.5,CSH,4.0 +CMT,1,2,602,3.5,CRD,12.0 +CMT,1,2,111,0.2,CRD,3.5 +CMT,1,2,773,3.5,CRD,13.5 +CMT,1,2,381,1.9,CRD,8.0 +CMT,1,1,745,2.7,CRD,11.5 +CMT,1,1,605,1.9,CRD,9.5 +CMT,1,1,256,1.2,CSH,6.0 +CMT,1,3,299,0.7,CSH,5.0 +CMT,1,2,614,1.9,CSH,10.0 +CMT,1,2,881,5.0,CRD,17.5 +CMT,1,1,410,1.8,CRD,8.0 +CMT,1,1,567,2.2,CSH,10.0 +CMT,1,1,312,0.5,CRD,5.5 +CMT,1,1,627,3.4,CSH,12.0 +CMT,1,2,356,0.9,CRD,6.0 +CMT,1,1,616,3.9,CRD,13.0 +CMT,1,1,166,0.6,CRD,4.5 +CMT,1,1,809,2.4,CRD,11.5 +CMT,1,1,1349,7.8,CRD,24.5 +CMT,1,2,223,0.7,CRD,5.0 +CMT,1,2,387,1.6,CRD,7.5 +CMT,1,1,457,1.7,CRD,8.5 +CMT,1,2,416,1.5,CRD,7.5 +CMT,1,1,1169,4.6,CRD,18.0 +CMT,1,1,47,1.9,NOC,2.5 +CMT,1,1,548,1.3,CRD,8.0 +CMT,1,1,695,1.0,CRD,8.5 +CMT,1,1,950,2.1,CRD,11.5 +CMT,1,2,211,0.9,CSH,5.0 +CMT,1,1,871,4.4,CRD,15.0 +CMT,1,2,441,1.2,CRD,7.0 +CMT,1,1,398,1.0,CSH,6.5 +CMT,1,1,233,0.8,CSH,5.0 +CMT,1,1,511,0.6,CSH,7.0 +CMT,1,2,209,0.5,CRD,4.5 +CMT,1,1,2282,11.2,CSH,33.5 +CMT,1,2,516,1.1,CRD,7.5 +CMT,1,1,387,1.0,CSH,6.5 +CMT,1,1,328,1.5,CRD,7.0 +CMT,1,1,422,2.4,CSH,9.0 +CMT,1,2,436,1.4,CRD,8.0 +CMT,1,1,1047,5.2,CRD,19.0 +CMT,1,1,893,3.8,CRD,15.0 +CMT,1,1,1032,11.8,CRD,33.0 +CMT,1,1,417,1.2,CSH,7.0 +CMT,1,1,657,2.1,CSH,10.0 +CMT,1,1,371,1.0,CSH,6.5 +CMT,1,1,1053,9.2,CRD,27.0 +CMT,1,1,962,4.1,CRD,15.5 +CMT,1,1,2407,19.2,CRD,53.5 +CMT,1,1,826,3.0,CRD,12.5 +CMT,1,1,269,1.6,CRD,6.5 +CMT,1,2,324,0.5,CRD,5.5 +CMT,1,1,1189,2.5,CSH,14.0 +CMT,1,1,318,1.0,CRD,5.5 +CMT,1,3,1195,7.5,CRD,24.0 +CMT,1,1,136,0.7,CSH,4.0 +CMT,1,1,501,1.2,CRD,7.5 +CMT,1,4,389,1.1,CSH,6.5 +CMT,1,3,2320,5.7,CRD,26.0 +CMT,1,1,267,0.7,CSH,5.0 +CMT,1,1,230,0.5,CSH,4.5 +CMT,1,1,330,0.9,CRD,6.0 +CMT,1,1,982,1.4,CRD,11.0 +CMT,1,1,1021,5.5,CRD,18.0 +CMT,1,1,102,0.6,CSH,4.0 +CMT,1,1,506,1.2,CSH,7.5 +CMT,1,1,1576,5.2,CSH,21.5 +CMT,1,1,1464,3.6,CSH,17.5 +CMT,1,1,792,2.6,CSH,11.5 +CMT,1,1,1101,3.0,CSH,14.0 +CMT,1,2,578,4.2,CSH,14.0 +CMT,1,2,481,1.5,CSH,8.0 +CMT,1,2,559,1.3,CSH,8.0 +CMT,1,2,244,1.0,CSH,5.5 +CMT,1,2,154,0.6,CSH,4.0 +CMT,1,1,501,2.4,CRD,9.5 +CMT,1,1,719,4.9,CRD,16.0 +CMT,1,1,1413,3.8,CSH,17.5 +CMT,1,1,826,2.6,CRD,12.0 +CMT,1,1,833,5.3,CRD,17.0 +CMT,1,1,474,0.5,CSH,6.5 +CMT,1,1,562,0.7,CRD,7.5 +CMT,1,1,1073,9.9,CRD,28.5 +CMT,1,2,665,1.4,CRD,9.0 +CMT,1,1,265,1.0,CRD,5.5 +CMT,1,1,690,2.6,CRD,11.0 +CMT,1,1,502,2.0,CRD,9.0 +CMT,1,1,733,2.5,CRD,11.0 +CMT,1,1,216,0.6,CSH,5.0 +CMT,1,1,318,0.7,CRD,5.5 +CMT,1,1,604,4.5,CRD,15.0 +CMT,1,2,796,2.7,CSH,11.5 +CMT,1,1,539,0.9,CSH,7.5 +CMT,1,1,1104,3.9,CSH,15.5 +CMT,1,2,733,2.0,CRD,10.5 +CMT,1,2,291,1.4,CRD,6.5 +CMT,1,1,273,1.3,CSH,6.0 +CMT,1,1,208,0.8,CSH,5.0 +CMT,1,3,836,2.2,CSH,11.5 +CMT,1,2,949,2.6,CSH,12.5 +CMT,1,2,830,0.9,CSH,9.5 +CMT,1,1,902,2.3,CRD,12.0 +CMT,1,1,616,1.5,CRD,8.5 +CMT,1,1,519,1.1,CRD,7.5 +CMT,1,1,346,1.0,CRD,6.0 +CMT,1,1,486,1.2,CRD,7.5 +CMT,2,3,2082,20.0,CSH,52.0 +CMT,1,1,467,1.6,CRD,8.0 +CMT,1,2,304,0.6,CRD,5.5 +CMT,1,1,414,1.0,CRD,6.5 +CMT,1,1,447,1.1,CSH,7.0 +CMT,1,1,523,1.4,CSH,8.5 +CMT,1,2,1274,2.7,CSH,15.0 +CMT,1,1,109,0.3,CRD,3.5 +CMT,1,1,225,0.4,CSH,4.5 +CMT,1,1,400,1.5,CSH,7.5 +CMT,1,2,1375,5.2,CRD,20.0 +CMT,1,1,354,1.5,CSH,7.0 +CMT,1,1,732,4.5,CSH,15.0 +CMT,1,2,132,0.4,CSH,4.0 +CMT,1,2,489,2.4,CSH,9.5 +CMT,1,1,894,8.6,CRD,25.0 +CMT,1,2,484,1.5,CSH,8.0 +CMT,1,1,541,1.7,CRD,8.5 +CMT,1,2,496,1.8,CRD,8.5 +CMT,1,1,196,1.4,CSH,6.0 +CMT,1,1,96,0.5,CRD,3.5 +CMT,1,1,491,1.4,CSH,7.5 +CMT,1,2,1261,3.5,CRD,16.0 +CMT,1,1,406,1.6,CSH,7.5 +CMT,1,1,480,1.5,CSH,7.5 +CMT,1,1,1190,10.4,CRD,29.5 +CMT,1,1,357,1.0,CRD,6.5 +CMT,1,2,699,1.5,CSH,9.5 +CMT,1,1,475,1.1,CRD,7.5 +CMT,1,1,429,0.5,CRD,6.0 +CMT,1,1,726,1.2,CRD,9.0 +CMT,1,1,831,1.2,CSH,9.5 +CMT,1,2,374,0.8,CRD,6.0 +CMT,1,1,1682,5.5,CRD,23.0 +CMT,1,1,192,0.6,CSH,4.5 +CMT,1,1,336,0.8,CSH,6.0 +CMT,1,2,394,1.6,CSH,7.5 +CMT,1,2,206,0.3,CSH,4.0 +CMT,1,1,1503,2.8,CSH,17.0 +CMT,1,1,244,0.8,CRD,5.0 +CMT,1,1,278,0.9,CSH,5.5 +CMT,1,1,613,1.1,CRD,8.0 +CMT,1,1,631,2.7,CRD,11.0 +CMT,1,1,324,1.5,CRD,7.0 +CMT,1,1,173,0.5,CRD,4.0 +CMT,1,1,795,1.9,CSH,11.0 +CMT,1,1,137,0.6,CSH,4.5 +CMT,1,1,144,0.5,CSH,4.0 +CMT,1,1,171,0.8,CRD,4.5 +CMT,1,2,921,4.0,CSH,15.0 +CMT,1,1,545,1.4,CSH,8.0 +CMT,1,1,356,1.5,CRD,7.0 +CMT,1,1,861,5.2,CRD,17.5 +CMT,1,1,556,2.8,CRD,11.0 +CMT,1,1,192,0.6,CRD,4.5 +CMT,1,2,528,1.7,CRD,8.5 +CMT,1,1,487,1.8,CSH,8.5 +CMT,1,1,772,8.5,CRD,24.0 +CMT,1,1,864,9.0,CRD,26.0 +CMT,1,1,1053,3.5,CSH,15.0 +CMT,1,2,637,1.6,CRD,9.5 +CMT,1,1,554,3.0,CRD,11.5 +CMT,1,1,86,0.6,CRD,4.0 +CMT,1,1,461,2.2,CRD,9.0 +CMT,1,1,166,0.9,CRD,4.5 +CMT,1,1,1437,13.4,CSH,38.5 +CMT,1,1,283,1.1,CRD,6.0 +CMT,3,1,1257,16.7,CRD,62.5 +CMT,1,2,1231,6.3,CRD,21.0 +CMT,1,3,1647,10.7,CRD,33.5 +CMT,1,1,261,0.9,CRD,5.5 +CMT,1,1,161,0.6,CSH,4.5 +CMT,1,1,757,4.8,CSH,16.5 +CMT,1,1,1332,4.2,CSH,18.0 +CMT,1,1,938,2.2,CSH,12.0 +CMT,1,1,700,2.7,CRD,12.0 +CMT,1,1,240,0.8,CSH,5.0 +CMT,1,1,587,1.9,CRD,9.0 +CMT,1,1,1120,5.0,CSH,19.0 +CMT,1,1,401,1.4,CRD,7.0 +CMT,1,1,664,3.2,CSH,12.5 +CMT,1,2,643,3.6,CRD,12.5 +CMT,1,1,662,2.9,CSH,11.0 +CMT,1,1,520,3.0,CSH,11.0 +CMT,1,2,318,0.8,CRD,5.5 +CMT,1,1,493,1.6,CSH,8.0 +CMT,1,1,833,5.1,CRD,17.0 +CMT,1,2,555,1.3,CSH,8.0 +CMT,1,2,536,2.4,CSH,10.0 +CMT,1,1,771,3.2,CRD,12.5 +CMT,1,1,535,1.9,CRD,9.0 +CMT,1,3,310,0.8,CSH,5.5 +CMT,1,1,778,7.5,CRD,22.5 +CMT,1,4,1982,10.4,CRD,34.0 +CMT,1,1,458,1.6,CSH,8.0 +CMT,1,3,1254,13.9,CSH,38.0 +CMT,1,2,499,1.4,DIS,7.5 +CMT,1,1,551,1.8,CSH,8.5 +CMT,1,1,667,3.6,CSH,13.0 +CMT,1,1,40,14.8,CSH,2.5 +CMT,1,1,277,2.0,CSH,7.5 +CMT,1,1,898,9.0,CRD,25.5 +CMT,1,1,846,6.4,CRD,20.0 +CMT,1,1,420,1.7,CRD,7.5 +CMT,1,1,251,1.7,CSH,7.0 +CMT,1,1,616,4.2,CSH,14.0 +CMT,1,1,479,1.6,CRD,8.5 +CMT,1,3,193,0.7,CRD,4.5 +CMT,1,1,1189,14.1,CRD,39.0 +CMT,1,1,492,1.1,CRD,7.5 +CMT,1,1,1262,2.2,CSH,16.0 +CMT,1,1,486,1.1,CSH,7.5 +CMT,1,1,501,0.8,CSH,7.0 +CMT,1,2,383,2.1,CRD,8.0 +CMT,1,1,961,5.2,CSH,17.5 +CMT,1,1,561,1.8,CRD,9.0 +CMT,1,2,558,2.5,CSH,10.0 +CMT,1,1,570,3.0,CRD,11.5 +CMT,1,2,1411,7.0,CRD,23.0 +CMT,1,1,1028,9.0,CRD,27.0 +CMT,1,1,159,0.6,CSH,4.0 +CMT,1,1,779,3.2,CRD,13.0 +CMT,1,1,1613,6.6,CRD,24.5 +CMT,1,2,1044,6.1,CSH,19.5 +CMT,1,1,777,3.6,CRD,13.5 +CMT,1,3,835,2.9,CRD,13.0 +CMT,1,2,349,1.2,CSH,6.5 +CMT,1,1,579,3.6,CRD,12.5 +CMT,1,3,630,1.9,CRD,10.0 +CMT,1,1,549,1.9,CSH,9.0 +CMT,1,1,1056,4.6,CRD,17.0 +CMT,1,1,609,2.9,CRD,11.5 +CMT,1,1,164,1.4,DIS,6.0 +CMT,1,2,453,1.4,CSH,7.5 +CMT,1,3,375,1.8,CRD,8.0 +CMT,1,1,598,3.3,CRD,12.5 +CMT,1,1,195,1.4,CSH,6.0 +CMT,1,1,466,1.7,CRD,8.0 +CMT,1,1,526,3.1,CRD,11.0 +CMT,1,1,990,10.3,CRD,29.5 +CMT,1,3,223,0.8,CRD,5.0 +CMT,1,1,524,0.8,CSH,7.5 +CMT,1,1,123,0.9,CSH,5.0 +CMT,1,1,412,1.2,CRD,7.0 +CMT,1,1,582,3.6,CRD,12.5 +CMT,1,2,352,1.0,CRD,6.0 +CMT,1,1,235,1.2,CSH,5.5 +CMT,1,1,432,2.3,CRD,9.0 +CMT,1,1,317,0.6,CRD,5.5 +CMT,1,1,678,2.6,CRD,10.5 +CMT,1,1,506,2.1,CRD,9.5 +CMT,1,1,508,1.4,CRD,8.0 +CMT,1,4,505,2.5,CRD,9.5 +CMT,1,2,724,4.0,CSH,14.5 +CMT,1,1,823,4.4,CRD,15.5 +CMT,1,1,400,1.7,CSH,8.0 +CMT,1,1,478,2.3,CSH,9.0 +CMT,1,1,492,1.2,CRD,7.5 +CMT,1,1,581,3.0,CRD,11.0 +CMT,1,1,526,2.0,CRD,8.5 +CMT,1,1,310,1.1,CSH,6.0 +CMT,1,1,386,1.3,CRD,7.0 +CMT,1,2,324,2.0,CSH,8.0 +CMT,1,1,315,1.2,CSH,6.5 +CMT,1,1,341,1.8,CRD,7.5 +CMT,1,1,658,1.9,CRD,10.0 +CMT,1,3,551,1.5,CRD,8.5 +CMT,1,1,391,1.7,CRD,8.0 +CMT,1,1,119,0.5,CSH,4.0 +CMT,1,1,166,0.7,CSH,4.5 +CMT,1,1,934,4.7,CRD,17.0 +CMT,1,2,715,1.9,CSH,10.0 +CMT,1,2,857,4.3,CSH,15.5 +CMT,1,1,722,1.8,CRD,9.5 +CMT,1,1,1033,5.3,CRD,18.5 +VTS,1,2,240,0.84,CRD,5.0 +VTS,1,2,420,2.05,CSH,8.5 +VTS,1,1,600,2.57,CRD,10.5 +CMT,1,2,748,4.1,CRD,15.0 +CMT,1,1,865,4.6,CRD,16.0 +CMT,1,2,1472,9.8,CRD,30.0 +CMT,1,3,333,1.0,CRD,6.0 +CMT,1,1,192,0.6,CRD,4.5 +CMT,1,2,541,1.4,CSH,7.5 +CMT,1,1,1527,7.1,CSH,24.0 +CMT,1,1,162,0.5,CSH,4.5 +CMT,1,1,1667,12.3,CRD,36.5 +CMT,1,1,715,3.9,CRD,14.0 +CMT,1,1,610,3.0,CRD,12.0 +CMT,1,2,1504,6.6,CRD,23.5 +CMT,1,2,340,0.8,CRD,6.0 +CMT,1,1,850,7.3,CRD,22.5 +CMT,1,1,469,2.3,CRD,9.5 +CMT,1,1,875,5.9,CSH,18.0 +CMT,1,1,280,2.1,CRD,7.5 +CMT,1,1,1017,5.0,CRD,17.5 +CMT,1,1,119,0.6,CSH,4.0 +CMT,1,2,770,2.3,CSH,11.5 +CMT,1,4,582,1.4,CRD,8.5 +CMT,1,2,583,1.7,CRD,9.0 +CMT,1,2,294,1.7,CSH,7.5 +CMT,1,1,570,2.3,CSH,9.5 +CMT,1,1,631,3.1,CRD,12.0 +CMT,1,1,1383,5.4,CRD,20.5 +CMT,1,3,619,1.2,CRD,9.0 +CMT,1,1,729,4.7,CSH,15.0 +CMT,1,1,425,2.0,CRD,8.5 +CMT,1,1,559,5.8,CRD,17.5 +CMT,1,1,754,4.2,CSH,14.5 +CMT,1,1,425,1.4,CRD,7.5 +CMT,1,1,172,0.7,CSH,4.5 +CMT,1,1,969,9.6,CRD,27.5 +CMT,1,3,439,1.5,CSH,7.5 +CMT,1,2,702,2.3,CSH,10.5 +CMT,1,3,249,0.8,CSH,5.0 +CMT,1,1,946,2.3,CRD,12.5 +CMT,1,1,294,0.9,CSH,6.0 +CMT,1,1,440,0.9,CRD,6.5 +CMT,1,3,278,1.4,CSH,6.0 +CMT,1,1,1148,5.5,CSH,19.5 +CMT,1,2,921,5.2,CRD,17.0 +CMT,1,3,419,1.4,CSH,7.0 +CMT,1,3,347,1.7,CRD,7.5 +VTS,1,3,240,0.76,CSH,5.5 +VTS,1,1,1200,6.37,CSH,22.5 +VTS,1,2,840,8.38,CRD,24.0 +VTS,1,2,180,0.36,CSH,4.0 +VTS,1,1,660,2.86,CRD,11.5 +VTS,1,1,120,0.31,CSH,3.5 +VTS,1,1,120,0.41,CSH,3.5 +CMT,1,1,143,0.5,CSH,4.0 +CMT,1,1,143,0.5,CSH,4.0 +CMT,1,1,237,0.8,CSH,5.0 +CMT,1,1,255,0.4,CRD,4.5 +CMT,1,1,794,2.0,CRD,10.5 +CMT,1,1,902,2.7,CRD,12.5 +CMT,1,1,499,1.1,CSH,7.0 +CMT,1,2,469,2.0,CRD,8.5 +CMT,1,1,946,4.2,CSH,15.5 +CMT,1,1,1249,5.1,CRD,18.5 +CMT,1,1,757,2.0,CSH,10.5 +CMT,1,1,906,2.6,CSH,12.5 +CMT,1,1,1146,9.5,CSH,28.0 +CMT,1,1,648,3.3,CRD,12.0 +CMT,1,2,1104,5.3,CSH,18.5 +CMT,1,1,765,1.4,CSH,10.0 +CMT,1,2,1223,6.2,CSH,21.0 +CMT,1,2,253,0.7,CSH,5.0 +CMT,1,1,601,1.6,CSH,9.0 +CMT,1,1,396,1.5,CSH,7.0 +CMT,1,1,634,3.0,CSH,11.5 +CMT,1,1,480,2.4,CSH,9.5 +CMT,1,1,253,0.5,CSH,4.5 +CMT,1,1,359,1.1,CSH,6.0 +CMT,5,1,20,0.0,CRD,4.5 +CMT,1,1,375,1.6,CRD,7.5 +CMT,1,1,456,0.9,CRD,6.5 +CMT,1,4,525,2.1,CRD,9.0 +CMT,1,1,1027,10.7,CRD,30.0 +CMT,1,1,840,4.5,CRD,15.5 +CMT,1,1,1587,9.0,CSH,29.0 +CMT,1,1,437,1.2,CRD,7.0 +CMT,1,2,535,2.8,CSH,11.0 +CMT,1,1,486,1.4,CRD,7.5 +CMT,1,1,557,3.6,CRD,12.0 +CMT,1,1,149,0.6,CSH,4.0 +CMT,1,1,1359,7.1,CRD,24.5 +VTS,1,1,600,2.48,CSH,11.0 +VTS,1,3,120,0.6,CSH,4.0 +VTS,1,2,60,0.59,CRD,4.0 +VTS,1,2,720,2.88,CRD,12.0 +VTS,1,1,300,0.86,CSH,5.0 +VTS,1,3,660,2.65,CSH,11.5 +VTS,1,2,360,1.43,CSH,7.0 +VTS,1,1,300,1.36,CRD,6.5 +VTS,1,1,840,1.91,CRD,10.5 +VTS,1,1,600,6.22,CSH,19.0 +VTS,1,1,180,0.47,CRD,4.0 +VTS,1,1,540,2.21,CRD,9.5 +VTS,1,2,240,0.83,CSH,5.0 +VTS,1,1,480,1.39,CRD,7.0 +VTS,1,1,600,2.69,CSH,10.5 +CMT,1,4,399,1.3,CSH,7.0 +CMT,1,1,1411,7.7,CRD,27.0 +CMT,1,1,671,7.3,CRD,21.5 +CMT,1,1,1124,12.1,CRD,33.5 +CMT,1,1,377,1.0,CRD,6.5 +CMT,1,2,539,2.3,CRD,10.0 +CMT,1,1,1121,8.4,CSH,25.0 +CMT,1,2,768,2.2,CRD,10.5 +CMT,1,1,499,1.2,CRD,7.5 +CMT,1,1,243,0.8,CRD,5.0 +CMT,1,1,230,1.3,CRD,6.0 +CMT,1,1,517,2.4,CRD,9.5 +CMT,1,2,306,0.7,CSH,5.5 +CMT,1,1,556,3.9,CRD,13.0 +CMT,1,1,1107,9.1,CSH,27.0 +CMT,1,3,2300,13.0,CRD,40.0 +CMT,1,2,373,1.6,CRD,7.5 +VTS,1,2,660,3.67,CSH,12.5 +VTS,1,2,180,0.59,CSH,4.5 +VTS,1,1,360,0.78,CRD,6.0 +VTS,2,2,2460,18.58,CRD,52.0 +VTS,1,2,180,0.81,CSH,5.0 +VTS,1,2,780,2.1,CRD,11.0 +VTS,1,2,660,2.01,CSH,9.5 +VTS,1,1,600,3.6,CSH,12.5 +VTS,1,2,720,2.77,CRD,12.0 +CMT,1,1,485,2.8,CRD,10.5 +CMT,1,2,635,2.4,CSH,10.5 +CMT,1,2,426,1.8,CSH,8.0 +CMT,1,4,375,1.0,CRD,6.5 +CMT,1,1,1197,5.3,CRD,18.5 +CMT,1,3,522,2.5,CRD,10.0 +CMT,1,1,465,0.4,CRD,6.5 +CMT,1,1,2189,3.5,CSH,23.5 +CMT,1,3,2363,8.5,CRD,34.0 +CMT,1,2,1135,9.5,CRD,28.0 +CMT,1,1,723,2.3,CRD,11.0 +CMT,1,1,330,1.8,CRD,7.5 +CMT,1,2,1466,11.3,CRD,33.0 +CMT,1,2,1061,4.6,CRD,17.0 +CMT,1,1,1278,5.7,CRD,20.0 +CMT,1,1,96,0.2,CSH,3.0 +CMT,1,1,982,5.3,CRD,17.0 +CMT,1,1,820,8.7,CRD,24.5 +CMT,1,2,282,0.7,CSH,5.5 +CMT,1,1,395,1.3,CSH,7.0 +VTS,1,2,840,6.65,CRD,21.0 +VTS,1,2,480,1.78,CSH,8.5 +VTS,1,3,360,1.48,CSH,7.0 +VTS,1,3,300,1.59,CRD,6.5 +VTS,1,2,360,1.13,CSH,6.5 +VTS,1,2,240,0.74,CSH,5.0 +CMT,1,1,397,2.3,CRD,8.5 +CMT,1,1,403,2.0,CRD,8.5 +VTS,1,2,780,4.43,CSH,15.5 +VTS,1,2,480,2.23,CSH,9.0 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,480,1.25,CSH,7.5 +VTS,1,1,540,1.9,CSH,9.0 +VTS,1,1,540,1.21,CRD,7.5 +VTS,1,2,480,1.77,CSH,8.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,2,240,0.64,CRD,4.5 +VTS,1,1,600,2.88,CRD,11.0 +VTS,1,1,1260,5.27,CRD,18.5 +VTS,1,2,840,1.85,CRD,10.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,2,240,1.12,CSH,5.5 +VTS,1,2,720,3.69,CRD,13.0 +VTS,1,1,0,0.24,CSH,3.0 +VTS,1,2,420,1.74,CSH,8.0 +VTS,1,2,240,1.1,CSH,5.5 +VTS,1,2,540,2.29,CSH,9.5 +VTS,1,2,900,2.05,CRD,11.5 +VTS,2,2,0,0.01,CSH,52.0 +VTS,1,1,1560,11.71,CRD,34.0 +VTS,1,1,240,0.83,CSH,5.0 +VTS,1,1,660,1.28,CRD,8.5 +VTS,1,2,1080,1.95,CRD,12.5 +VTS,1,1,1200,3.03,CRD,15.0 +VTS,1,2,240,1.41,CSH,6.0 +VTS,1,3,600,2.91,CRD,11.0 +VTS,1,2,240,0.88,CSH,4.5 +VTS,1,2,960,3.36,CRD,14.5 +VTS,1,2,840,1.46,CRD,10.5 +VTS,1,1,360,0.97,CSH,6.0 +VTS,1,2,360,0.75,CSH,6.0 +VTS,1,2,1260,10.89,CRD,31.0 +VTS,1,3,780,1.75,CRD,10.0 +VTS,1,2,360,0.49,CSH,5.0 +VTS,1,1,660,1.09,CRD,8.0 +VTS,1,2,300,0.93,CSH,5.5 +VTS,1,1,900,2.86,CRD,12.5 +VTS,1,1,300,1.09,CSH,6.5 +VTS,1,2,660,2.3,CSH,10.0 +VTS,1,3,1080,4.1,CSH,16.5 +VTS,1,2,780,2.81,CSH,11.0 +VTS,1,1,960,2.4,CRD,13.0 +VTS,1,1,480,2.15,CSH,8.0 +VTS,1,2,180,0.77,CRD,5.0 +VTS,1,2,720,1.64,CSH,9.5 +VTS,1,2,300,0.92,CSH,5.5 +VTS,1,2,600,1.58,CRD,9.0 +VTS,1,2,420,1.51,CSH,7.5 +VTS,1,2,420,1.08,CRD,6.5 +CMT,1,1,1194,4.2,CSH,17.0 +CMT,1,3,519,2.4,CSH,10.0 +CMT,1,1,141,0.4,CSH,4.0 +CMT,1,2,623,0.6,CRD,8.0 +CMT,1,1,1183,3.5,CRD,16.0 +CMT,1,3,227,1.2,CRD,6.0 +CMT,1,1,977,10.8,CSH,30.5 +CMT,1,1,423,2.3,CRD,9.0 +CMT,1,2,500,1.4,CRD,8.0 +CMT,1,2,615,1.7,CSH,9.5 +CMT,1,2,540,1.7,CSH,9.0 +CMT,1,2,318,1.5,CSH,7.0 +CMT,1,4,895,4.4,CSH,15.5 +CMT,1,1,217,1.1,CRD,5.5 +CMT,1,1,324,0.9,CRD,6.0 +CMT,1,1,297,1.4,CRD,7.0 +CMT,1,2,1257,9.4,CRD,28.5 +CMT,1,1,429,1.2,CRD,7.5 +CMT,1,3,1319,6.8,CRD,23.0 +CMT,1,1,433,1.4,CRD,7.5 +CMT,1,2,592,2.6,CSH,10.0 +CMT,1,2,457,1.0,CRD,7.0 +CMT,1,2,648,1.2,CRD,8.5 +CMT,1,1,1353,8.4,CSH,26.5 +CMT,1,2,776,4.5,CRD,15.0 +CMT,1,1,223,0.6,CSH,4.5 +CMT,1,1,274,1.0,CSH,6.0 +CMT,1,1,716,2.4,CRD,11.0 +CMT,1,2,318,1.4,CSH,6.5 +CMT,1,1,449,2.0,CSH,8.5 +CMT,1,1,482,3.1,CSH,10.5 +CMT,1,1,316,0.7,CRD,5.5 +VTS,1,2,300,1.16,CSH,6.0 +VTS,1,2,360,0.92,CSH,6.0 +VTS,1,3,300,0.75,CSH,5.5 +VTS,1,3,540,4.03,CRD,13.5 +VTS,1,2,1200,11.48,CSH,33.0 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,840,2.51,CRD,12.0 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,3,420,0.74,CSH,6.5 +VTS,1,2,600,1.82,CSH,9.0 +VTS,1,1,660,3.39,CSH,12.0 +VTS,1,1,480,1.94,CSH,9.0 +VTS,1,2,840,3.0,CSH,12.5 +VTS,1,3,540,1.55,CSH,8.0 +VTS,1,1,1200,5.07,CSH,19.0 +VTS,1,2,240,1.21,CSH,5.5 +VTS,1,2,300,1.08,CSH,6.0 +VTS,1,1,300,1.49,CSH,6.5 +VTS,1,1,1740,18.78,CRD,51.0 +VTS,1,1,420,1.52,CSH,7.5 +VTS,1,2,660,1.92,CRD,10.0 +VTS,1,2,240,0.9,CSH,5.5 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,2,480,1.36,CRD,7.0 +VTS,1,1,240,0.92,CRD,5.0 +VTS,1,1,360,1.38,CRD,7.0 +VTS,1,1,780,2.55,CSH,11.5 +VTS,1,2,780,2.03,CRD,11.0 +VTS,1,2,240,0.56,CRD,5.0 +VTS,1,2,480,0.81,CSH,6.0 +VTS,1,2,780,3.11,CRD,13.0 +VTS,1,3,660,2.06,CSH,9.5 +VTS,1,1,840,7.6,CSH,22.5 +VTS,1,2,720,1.39,CSH,9.0 +VTS,1,2,180,0.88,CRD,5.0 +VTS,1,3,1140,2.8,CSH,14.5 +VTS,1,2,600,1.55,CSH,8.5 +VTS,1,2,180,0.59,CSH,4.5 +VTS,1,2,660,1.45,CSH,8.5 +VTS,1,2,0,0.03,CSH,2.5 +VTS,1,2,1020,1.59,CSH,12.0 +VTS,1,1,360,0.93,CRD,6.0 +VTS,1,1,420,0.92,CSH,6.0 +VTS,1,1,1260,4.76,CRD,19.5 +VTS,1,2,1560,4.71,CRD,19.5 +VTS,1,2,960,2.48,CSH,12.5 +CMT,1,1,592,5.0,DIS,16.5 +CMT,1,2,458,0.8,CSH,7.0 +CMT,1,1,736,7.9,CRD,23.0 +CMT,1,1,799,2.8,CRD,12.0 +CMT,1,1,639,2.9,CRD,11.0 +CMT,1,1,438,1.0,CSH,7.0 +CMT,1,3,662,1.9,CSH,10.0 +CMT,1,3,668,1.3,CSH,9.0 +CMT,1,1,402,1.9,CRD,8.0 +CMT,1,1,1045,6.2,CRD,20.5 +CMT,1,1,1079,2.5,CSH,14.0 +CMT,1,1,1223,4.2,CSH,17.5 +CMT,1,1,324,2.0,CRD,8.0 +CMT,1,1,527,1.8,CRD,8.5 +CMT,1,2,694,2.7,CRD,11.5 +CMT,1,1,561,1.8,CRD,9.0 +CMT,1,1,933,9.3,CRD,27.0 +CMT,1,2,337,1.1,CRD,6.0 +CMT,1,1,1147,12.3,CSH,34.5 +CMT,1,1,130,0.4,CSH,3.5 +CMT,1,1,1329,4.4,CSH,19.0 +CMT,1,1,1383,14.8,CSH,41.5 +CMT,1,2,606,3.0,CRD,11.5 +CMT,1,1,76,0.2,CSH,3.0 +CMT,1,1,429,1.2,CRD,7.5 +CMT,1,2,709,6.6,CSH,19.5 +VTS,1,1,420,1.63,CSH,8.0 +VTS,1,1,480,1.29,CRD,7.5 +VTS,1,2,360,0.87,CRD,5.5 +VTS,1,2,240,0.78,CSH,5.0 +VTS,1,3,180,0.51,CRD,4.0 +VTS,1,2,1080,7.5,CRD,24.0 +VTS,1,2,300,1.21,CSH,6.0 +VTS,1,3,420,1.88,CSH,7.5 +VTS,1,3,720,3.75,CSH,13.5 +VTS,1,2,1260,5.53,CSH,20.5 +VTS,1,2,300,1.14,CRD,6.5 +VTS,1,2,240,0.94,CSH,5.5 +VTS,1,1,420,2.29,CRD,8.5 +VTS,1,3,1020,3.77,CSH,14.5 +VTS,1,2,300,1.51,CRD,7.0 +VTS,1,2,540,1.52,CSH,8.5 +VTS,1,2,300,1.42,CSH,6.5 +VTS,1,1,540,1.57,CSH,8.5 +VTS,1,1,540,1.34,CRD,7.5 +VTS,1,2,480,1.3,CSH,7.5 +VTS,1,2,480,0.93,CRD,6.5 +VTS,1,1,900,2.45,CSH,12.0 +VTS,1,2,960,3.75,CRD,15.0 +VTS,1,3,780,2.47,CRD,11.5 +VTS,1,2,1020,5.37,CRD,18.0 +VTS,1,1,720,1.82,CRD,10.0 +VTS,1,1,900,1.38,CSH,11.0 +VTS,1,2,780,1.98,CRD,10.5 +VTS,1,1,660,0.97,CRD,8.5 +VTS,1,2,420,1.3,CSH,7.0 +VTS,1,1,780,1.43,CSH,10.0 +VTS,1,1,660,1.83,CRD,10.0 +VTS,1,2,1560,3.21,CRD,18.0 +VTS,1,2,780,0.8,CSH,8.5 +VTS,1,1,300,0.86,CSH,6.0 +VTS,1,1,720,1.35,CRD,9.5 +VTS,1,1,660,3.66,CSH,13.0 +VTS,1,2,780,1.75,CRD,10.0 +VTS,1,1,300,1.16,CSH,6.0 +VTS,1,1,300,0.6,CSH,5.0 +VTS,1,2,240,0.58,CRD,5.0 +VTS,1,2,480,1.59,CSH,8.0 +VTS,1,1,1140,3.72,CRD,16.0 +VTS,1,2,480,2.03,CRD,8.5 +VTS,1,1,360,0.94,CSH,6.5 +VTS,1,2,660,1.3,CSH,8.5 +VTS,1,1,420,1.24,CRD,7.0 +VTS,1,2,60,0.37,CSH,3.0 +VTS,1,2,360,0.49,CSH,5.5 +VTS,1,1,360,1.56,CRD,7.0 +VTS,1,2,660,2.07,CRD,9.5 +VTS,1,1,420,0.94,CSH,6.5 +VTS,1,2,600,1.59,CRD,8.5 +VTS,1,2,300,0.8,CSH,5.5 +VTS,1,1,600,1.56,CRD,9.0 +VTS,1,2,960,2.57,CRD,13.0 +VTS,1,2,960,3.17,CSH,14.0 +VTS,1,1,1080,8.13,CSH,25.0 +VTS,1,2,660,1.8,CSH,9.5 +VTS,1,1,360,1.19,CSH,6.5 +VTS,1,2,240,0.79,CRD,5.0 +VTS,1,2,420,1.87,CSH,7.5 +VTS,1,2,840,2.95,CSH,12.5 +VTS,1,2,1140,2.97,CRD,14.0 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,1,1560,5.79,CRD,22.5 +VTS,1,1,660,1.86,CSH,9.0 +VTS,1,1,480,0.36,CRD,6.0 +VTS,1,2,600,1.56,CSH,8.0 +VTS,1,2,2700,12.99,CSH,42.0 +VTS,1,1,420,0.77,CSH,6.0 +VTS,1,1,240,0.49,CRD,4.5 +VTS,1,3,300,1.26,CSH,6.0 +VTS,1,1,600,1.41,CSH,8.0 +VTS,1,2,300,1.33,CSH,6.5 +VTS,1,2,300,1.44,CSH,6.5 +VTS,1,2,420,1.52,CSH,7.5 +VTS,1,1,1740,4.67,CRD,22.0 +VTS,1,1,900,3.32,CRD,13.0 +VTS,1,2,1020,10.26,CSH,29.0 +VTS,1,1,480,0.55,CSH,6.5 +VTS,1,3,1080,4.22,CRD,16.0 +VTS,1,2,720,2.49,CRD,11.0 +VTS,1,2,1260,8.91,CRD,26.5 +VTS,1,1,300,1.0,CRD,5.5 +VTS,1,1,1080,4.33,CRD,16.0 +VTS,1,3,480,1.52,CSH,8.0 +VTS,1,2,360,1.51,CSH,7.5 +VTS,1,2,720,1.68,CSH,9.5 +VTS,1,3,600,2.28,CRD,9.5 +VTS,1,1,960,8.59,CRD,25.0 +VTS,1,2,780,2.31,CSH,11.5 +VTS,1,1,960,3.03,CRD,13.5 +VTS,1,1,840,1.31,CRD,9.5 +VTS,1,3,660,0.74,CSH,8.0 +VTS,1,2,1020,5.39,CSH,18.5 +VTS,1,1,540,2.31,CRD,9.5 +VTS,1,1,300,0.54,CRD,5.0 +VTS,1,1,660,2.12,CSH,10.0 +VTS,1,1,540,1.24,CRD,7.5 +VTS,1,1,240,0.6,CSH,5.0 +VTS,1,2,0,0.03,CSH,2.5 +VTS,1,2,180,0.78,CSH,5.0 +VTS,1,2,360,1.0,CSH,6.0 +VTS,1,1,120,0.4,CSH,4.0 +VTS,1,1,600,0.91,CRD,7.5 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,2,780,2.88,CRD,12.0 +VTS,1,3,960,2.97,CSH,13.5 +VTS,1,2,1020,4.15,CRD,16.5 +VTS,1,2,240,0.54,CRD,4.5 +VTS,1,1,900,2.98,CRD,13.0 +VTS,1,2,720,1.63,CSH,10.0 +VTS,1,2,180,0.66,CSH,4.5 +VTS,1,1,900,3.02,CSH,13.0 +VTS,1,2,360,0.71,CRD,5.5 +VTS,1,2,840,1.7,CSH,10.5 +VTS,1,1,660,3.27,CRD,12.0 +VTS,1,1,420,1.64,CSH,7.5 +VTS,1,1,900,2.52,CRD,12.0 +VTS,1,2,1200,10.1,CRD,30.0 +VTS,1,2,240,0.78,CSH,5.5 +VTS,1,2,180,0.76,CRD,4.5 +VTS,1,2,660,0.63,CSH,8.0 +VTS,1,2,1440,3.11,CRD,16.5 +VTS,1,2,300,0.85,CRD,5.5 +VTS,1,1,480,1.5,CSH,7.5 +VTS,1,1,840,1.12,CSH,9.5 +VTS,1,3,780,1.32,CRD,9.5 +VTS,1,2,1260,3.01,CSH,15.5 +VTS,1,3,780,2.18,CRD,10.5 +VTS,1,1,1320,2.87,CRD,15.5 +VTS,1,1,600,1.24,CRD,8.5 +VTS,1,2,120,0.48,CRD,4.0 +VTS,1,3,1740,8.62,CRD,28.5 +VTS,1,2,780,2.25,CRD,11.0 +VTS,1,1,300,0.56,CRD,5.0 +VTS,1,2,480,1.16,CRD,7.0 +VTS,1,2,1380,4.03,CRD,18.0 +VTS,1,2,180,0.79,CRD,5.0 +VTS,1,2,600,1.92,CSH,9.0 +VTS,1,1,1440,2.67,CRD,16.5 +VTS,1,2,540,1.64,CSH,8.5 +VTS,1,1,300,0.82,CSH,5.0 +VTS,1,1,780,1.65,CSH,10.5 +VTS,1,2,1020,2.99,CSH,14.0 +VTS,1,1,540,1.38,CRD,8.5 +VTS,1,1,240,1.42,CRD,6.0 +VTS,1,1,60,0.35,CSH,3.5 +VTS,1,1,120,0.75,CSH,4.5 +VTS,1,3,240,1.01,CSH,5.0 +VTS,1,2,720,4.02,CSH,14.0 +VTS,1,2,420,1.0,CSH,6.0 +VTS,1,2,480,1.51,CSH,7.5 +VTS,1,1,480,1.57,CRD,8.0 +VTS,1,1,420,1.99,CRD,8.0 +VTS,1,1,360,1.58,CSH,7.0 +VTS,1,2,660,1.29,CRD,9.0 +VTS,1,1,960,8.21,CRD,24.5 +VTS,1,1,600,4.8,CRD,15.5 +VTS,1,1,1200,5.06,CRD,18.5 +VTS,1,2,1140,10.58,CSH,30.5 +VTS,1,1,1260,4.09,CRD,17.0 +VTS,1,2,900,2.26,CRD,11.5 +VTS,1,2,840,5.31,CSH,17.5 +VTS,1,2,420,1.17,CSH,7.0 +VTS,1,1,480,1.94,CSH,9.0 +VTS,1,2,1140,4.53,CSH,17.5 +VTS,1,3,360,1.57,CSH,7.0 +VTS,1,2,420,0.97,CRD,6.0 +VTS,1,2,780,3.45,CRD,13.0 +VTS,1,1,420,1.62,CRD,7.5 +VTS,1,1,1440,2.69,CRD,16.5 +VTS,1,2,1200,3.68,CRD,16.0 +VTS,1,1,900,2.53,CRD,12.5 +VTS,1,1,1380,8.01,CRD,26.5 +VTS,1,2,420,1.11,CSH,7.0 +VTS,1,1,1260,5.98,CRD,21.5 +VTS,1,3,660,2.22,CSH,10.5 +VTS,1,2,360,0.79,CSH,6.0 +VTS,1,1,240,0.53,CRD,4.5 +VTS,1,2,600,1.32,CSH,8.0 +VTS,1,2,540,1.94,CRD,8.5 +VTS,1,2,660,4.9,CSH,16.0 +VTS,1,2,720,2.32,CRD,10.5 +VTS,1,2,420,1.75,CSH,8.0 +VTS,1,2,420,1.02,CSH,6.5 +VTS,1,2,360,2.13,CRD,8.5 +VTS,1,2,600,2.36,CRD,9.5 +VTS,1,2,600,1.98,CSH,9.5 +VTS,1,1,600,2.76,CSH,10.5 +VTS,1,2,420,1.02,CSH,6.0 +VTS,1,1,120,0.42,CRD,4.0 +VTS,1,1,360,0.68,CSH,5.5 +VTS,1,1,600,0.72,CSH,7.5 +VTS,1,1,1020,2.35,CRD,13.0 +VTS,1,1,300,0.89,CRD,6.0 +VTS,1,1,480,1.27,CSH,7.5 +VTS,1,2,720,2.12,CSH,10.0 +VTS,1,1,1140,2.76,CRD,14.5 +VTS,1,1,240,0.53,CRD,4.5 +VTS,1,2,180,0.59,CSH,4.0 +VTS,1,1,360,0.91,CRD,6.5 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,2,540,1.19,CSH,7.5 +VTS,2,1,1980,17.33,CRD,52.0 +VTS,1,2,840,2.86,CSH,12.0 +VTS,1,2,180,0.75,CRD,4.5 +CMT,1,1,339,1.1,CRD,6.0 +CMT,1,2,73,0.3,CSH,3.5 +CMT,1,1,1079,6.2,CSH,19.5 +CMT,1,2,1382,10.0,CRD,31.5 +CMT,1,1,471,3.3,CSH,11.5 +CMT,1,1,246,1.0,CSH,5.0 +CMT,1,1,602,2.3,CRD,10.0 +CMT,1,1,159,1.3,CSH,6.0 +CMT,1,2,917,4.9,CRD,17.5 +CMT,1,1,1240,9.5,CRD,28.5 +CMT,1,1,525,1.8,CRD,9.5 +CMT,1,1,536,3.3,CSH,11.0 +CMT,1,1,671,1.9,CRD,9.0 +CMT,1,1,729,1.9,CRD,10.0 +CMT,1,1,1734,7.2,CRD,26.0 +CMT,1,1,1071,4.1,CRD,15.5 +VTS,1,3,1140,10.84,CRD,31.5 +VTS,1,2,480,1.73,CRD,8.5 +VTS,1,2,720,3.29,CSH,12.5 +VTS,1,3,300,0.73,CSH,5.0 +VTS,1,1,840,5.06,CSH,16.5 +VTS,1,3,300,0.66,CSH,5.5 +VTS,1,1,600,1.5,CSH,8.0 +VTS,1,3,660,2.35,CRD,10.0 +VTS,1,2,1020,3.4,CSH,14.5 +VTS,1,1,600,3.03,CRD,11.0 +VTS,1,2,420,1.25,CSH,7.0 +VTS,1,1,240,0.6,CSH,5.0 +VTS,1,2,600,0.72,CSH,7.5 +VTS,1,3,1260,3.53,CSH,17.0 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,360,0.96,CRD,6.5 +VTS,1,2,420,1.35,CRD,7.0 +VTS,1,2,480,0.88,CSH,6.5 +VTS,1,1,840,1.06,CRD,10.0 +VTS,1,2,540,1.33,CRD,7.5 +VTS,1,1,900,2.23,CRD,11.5 +VTS,1,1,720,4.49,CRD,14.5 +VTS,1,2,780,1.47,CSH,10.0 +VTS,1,2,360,0.76,CRD,6.0 +VTS,1,2,600,4.48,CSH,14.5 +VTS,1,1,300,1.38,CRD,6.5 +VTS,1,1,540,1.43,CSH,8.5 +VTS,1,2,960,2.97,CRD,14.0 +VTS,1,3,120,0.9,CSH,4.5 +VTS,1,2,120,0.84,CSH,4.5 +VTS,1,2,780,8.3,CRD,24.0 +VTS,1,2,1140,11.12,CRD,31.0 +VTS,1,1,900,2.93,CRD,13.0 +VTS,1,2,180,0.77,CRD,4.5 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,2,300,1.4,CSH,6.0 +VTS,1,3,960,2.56,CRD,12.5 +VTS,1,2,1080,9.52,CRD,28.0 +VTS,1,2,1620,4.5,CRD,20.5 +VTS,1,1,600,1.28,CSH,8.0 +VTS,1,1,1740,4.8,CRD,23.0 +VTS,1,2,1380,3.3,CSH,17.0 +VTS,1,2,540,1.61,CSH,8.5 +VTS,1,2,600,3.75,CSH,13.5 +VTS,1,1,120,0.35,CSH,4.0 +VTS,1,2,660,3.18,CSH,12.0 +VTS,1,2,660,2.38,CRD,10.5 +VTS,1,2,120,0.61,CSH,4.0 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,2,120,0.82,CRD,4.5 +VTS,1,1,720,1.73,CRD,10.0 +VTS,1,1,420,1.21,CSH,7.0 +VTS,1,1,420,0.83,CSH,6.5 +VTS,1,2,840,3.95,CRD,14.0 +VTS,1,1,600,2.06,CSH,9.5 +VTS,1,2,420,1.68,CRD,8.0 +VTS,1,2,300,1.08,CRD,6.5 +VTS,1,3,720,2.35,CRD,10.5 +VTS,1,2,180,0.62,CSH,4.5 +VTS,1,3,120,0.54,CSH,4.0 +VTS,1,2,540,1.37,CSH,8.0 +VTS,1,1,1440,3.76,CSH,17.5 +VTS,1,1,1260,7.65,CRD,24.5 +VTS,1,2,480,0.97,CRD,6.5 +VTS,1,2,1140,3.0,CSH,15.0 +VTS,1,2,420,0.87,CSH,6.0 +VTS,1,2,1020,3.86,CRD,15.5 +VTS,1,2,180,0.71,CSH,4.5 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,1500,2.94,CRD,17.0 +VTS,1,1,660,1.69,CSH,9.0 +VTS,1,1,600,1.07,CRD,7.5 +VTS,1,1,1080,6.21,CRD,20.5 +VTS,1,2,480,1.58,CRD,8.0 +VTS,1,1,720,3.15,CSH,12.0 +VTS,1,2,420,1.48,CSH,7.5 +VTS,1,2,540,2.22,CSH,10.0 +VTS,1,1,120,0.44,CRD,3.5 +VTS,1,2,720,3.25,CRD,12.5 +VTS,1,3,480,1.99,CRD,8.5 +VTS,1,2,300,1.35,CSH,6.5 +VTS,1,2,180,1.11,CSH,5.5 +VTS,1,1,540,0.69,CRD,7.0 +VTS,1,1,360,1.37,CSH,6.5 +VTS,1,2,240,0.97,CSH,5.0 +VTS,1,2,720,1.82,CRD,9.5 +VTS,1,2,600,2.12,CSH,10.0 +VTS,1,3,780,2.28,CSH,11.0 +VTS,1,3,780,2.32,CSH,12.0 +VTS,1,1,420,0.69,CSH,6.0 +VTS,1,1,540,2.52,CSH,9.5 +VTS,1,2,360,1.57,CRD,7.0 +VTS,1,2,360,1.35,CSH,6.5 +VTS,1,2,60,0.02,CSH,2.5 +VTS,1,2,300,1.17,CSH,6.0 +VTS,1,3,300,0.7,CSH,5.0 +VTS,1,2,120,0.52,CSH,3.5 +VTS,1,1,420,1.16,CRD,7.0 +VTS,1,2,1200,5.27,CSH,20.0 +VTS,1,1,120,0.51,CSH,3.5 +VTS,1,2,780,2.05,CSH,11.0 +VTS,1,1,180,0.85,CSH,4.5 +VTS,1,2,240,0.65,CSH,5.0 +VTS,1,1,780,1.01,CSH,9.5 +VTS,1,3,600,2.05,CSH,9.5 +VTS,1,1,300,0.75,CSH,5.0 +VTS,1,1,240,0.55,CRD,4.5 +VTS,1,2,600,1.17,CSH,8.0 +VTS,1,1,900,8.29,CSH,24.5 +VTS,1,3,420,1.58,CSH,7.5 +VTS,1,2,720,4.0,CSH,14.0 +VTS,1,1,720,3.79,CSH,14.0 +VTS,1,2,420,1.49,CSH,7.0 +VTS,1,2,600,1.43,CSH,9.0 +VTS,1,3,840,2.25,CRD,11.0 +VTS,1,2,240,0.8,CSH,5.5 +VTS,1,2,1260,1.63,CRD,13.5 +VTS,1,1,780,2.31,CSH,10.5 +VTS,1,2,840,1.64,CSH,10.5 +VTS,1,2,120,0.34,CSH,3.5 +VTS,1,1,960,2.3,CRD,12.5 +VTS,1,1,300,0.85,CRD,6.0 +VTS,1,3,420,0.55,CSH,6.0 +VTS,1,1,600,3.76,CRD,12.5 +VTS,1,1,720,1.98,CRD,10.0 +VTS,1,1,120,0.59,CSH,4.0 +VTS,1,2,300,0.93,CRD,6.0 +VTS,1,1,60,0.03,CSH,2.5 +VTS,1,1,60,0.31,CRD,3.5 +VTS,1,1,540,1.65,CSH,8.5 +VTS,1,2,1080,2.62,CRD,13.0 +VTS,1,1,840,2.42,CSH,12.0 +VTS,1,2,780,1.11,CRD,9.5 +VTS,1,2,1080,1.61,CSH,12.0 +VTS,1,2,600,2.21,CSH,9.0 +VTS,1,2,480,1.52,CSH,8.0 +VTS,1,1,540,0.64,CRD,7.0 +VTS,1,2,1200,2.77,CSH,14.0 +VTS,1,1,1980,5.54,CRD,24.5 +VTS,1,1,660,1.93,CRD,10.0 +VTS,1,2,300,0.28,CSH,4.5 +VTS,1,1,1380,3.36,CRD,18.0 +VTS,1,1,300,0.6,CSH,5.0 +VTS,1,2,120,0.76,CRD,4.0 +VTS,1,2,720,1.06,CSH,9.0 +VTS,1,1,300,1.84,CRD,7.0 +VTS,1,1,540,0.6,CSH,7.5 +VTS,1,1,840,1.84,CSH,10.5 +VTS,1,2,2280,7.84,CSH,28.5 +VTS,1,2,540,1.82,CSH,8.5 +VTS,1,3,300,1.34,CSH,6.0 +VTS,1,2,840,6.4,CSH,20.0 +VTS,1,2,900,3.29,CSH,14.0 +VTS,1,2,480,0.84,CSH,7.0 +VTS,1,1,660,2.11,CSH,9.5 +VTS,1,2,300,1.21,CRD,6.0 +VTS,1,2,420,1.47,CRD,7.5 +VTS,1,1,660,2.33,CSH,10.5 +VTS,1,2,540,1.99,CSH,9.5 +VTS,1,2,780,2.09,CRD,11.0 +VTS,1,3,1380,5.53,CRD,20.5 +VTS,1,1,240,1.58,CSH,6.5 +VTS,1,2,480,2.25,CSH,9.5 +VTS,1,2,360,0.86,CSH,6.0 +VTS,1,2,360,0.89,CSH,6.0 +VTS,1,2,180,0.92,CRD,5.0 +VTS,1,1,960,2.34,CRD,12.0 +VTS,1,1,600,2.39,CSH,10.0 +VTS,1,1,840,3.72,CRD,14.0 +VTS,1,1,600,2.49,CRD,10.5 +VTS,1,1,720,1.55,CSH,10.0 +VTS,1,1,420,0.87,CRD,6.0 +VTS,1,1,1740,4.94,CRD,21.5 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,1020,6.16,CSH,19.5 +VTS,1,2,180,0.53,CRD,4.0 +VTS,1,1,1320,2.4,CRD,15.0 +VTS,1,2,480,1.37,CSH,7.5 +VTS,1,2,1260,4.94,CRD,19.0 +VTS,1,2,1140,4.45,CSH,17.5 +VTS,1,2,180,0.63,CSH,4.5 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,2,180,1.63,CSH,6.5 +VTS,2,2,2700,19.73,CRD,52.0 +VTS,1,1,600,1.81,CRD,9.0 +VTS,1,2,960,4.68,CRD,16.0 +VTS,1,2,180,0.65,CRD,4.5 +VTS,1,2,1140,6.34,CSH,22.0 +VTS,1,1,360,0.93,CSH,6.5 +VTS,1,3,960,1.32,CRD,11.5 +VTS,1,1,180,0.41,CSH,4.5 +VTS,1,1,900,2.89,CRD,12.5 +VTS,1,2,420,1.2,CSH,7.0 +VTS,1,1,120,0.59,CRD,4.0 +VTS,1,1,540,1.3,CSH,8.0 +VTS,1,1,180,0.49,CRD,4.0 +VTS,1,1,480,1.8,CSH,8.0 +VTS,1,2,1260,17.47,CRD,46.5 +VTS,1,2,480,2.44,CRD,9.0 +VTS,1,2,1500,8.05,CSH,27.5 +VTS,1,1,540,2.99,CRD,11.0 +VTS,1,1,240,0.67,CRD,5.0 +VTS,1,1,240,0.92,CSH,5.5 +VTS,1,2,480,1.79,CRD,8.0 +VTS,1,2,420,1.36,CRD,7.0 +VTS,1,1,480,1.13,CRD,7.5 +VTS,1,2,840,1.43,CRD,10.5 +VTS,1,1,360,0.99,CRD,6.0 +VTS,1,1,1560,3.16,CRD,18.5 +VTS,1,2,240,0.5,CSH,4.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,720,2.43,CSH,11.0 +VTS,1,1,720,2.26,CSH,10.5 +VTS,1,2,780,2.34,CSH,11.5 +VTS,1,1,540,1.21,CRD,7.0 +VTS,1,2,420,1.47,CSH,7.5 +VTS,1,1,900,6.05,CRD,20.0 +VTS,1,1,180,0.93,CRD,4.5 +VTS,1,2,360,1.2,CRD,6.5 +VTS,1,1,300,0.57,CRD,5.0 +VTS,1,1,420,0.67,CSH,6.0 +VTS,1,2,540,2.38,CRD,10.0 +VTS,1,2,240,0.87,CSH,5.0 +VTS,1,2,240,0.97,CSH,5.5 +VTS,1,2,180,0.64,CSH,4.5 +VTS,1,2,600,2.21,CSH,10.0 +VTS,1,1,180,0.88,CRD,5.0 +VTS,1,1,1140,3.28,CRD,15.0 +VTS,1,2,1080,3.28,CRD,14.0 +VTS,1,2,420,0.94,CSH,6.5 +VTS,1,2,720,2.67,CRD,11.5 +VTS,1,1,780,2.13,CSH,10.5 +VTS,1,1,720,2.01,CSH,10.5 +VTS,1,2,660,4.94,CSH,16.0 +VTS,1,1,1020,1.99,CRD,12.0 +VTS,1,1,900,2.81,CRD,13.0 +VTS,1,2,1020,2.78,CSH,13.5 +VTS,1,1,360,1.34,CRD,7.0 +VTS,1,1,660,3.04,CRD,11.5 +VTS,1,1,360,1.26,CRD,7.0 +VTS,1,1,180,0.57,CRD,4.5 +VTS,1,1,600,2.29,CSH,10.0 +VTS,1,1,780,1.72,CSH,10.0 +VTS,1,1,240,0.64,CSH,5.0 +VTS,1,1,660,2.56,CSH,10.5 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,360,1.64,CRD,7.5 +VTS,1,1,1380,11.72,CRD,33.5 +VTS,1,1,180,0.46,CSH,4.0 +VTS,1,1,240,1.39,CRD,6.0 +VTS,1,1,420,1.24,CRD,6.5 +VTS,1,1,480,1.15,CSH,7.0 +VTS,1,1,600,2.9,CRD,11.5 +VTS,1,1,540,1.71,CRD,8.5 +VTS,1,1,300,1.11,CRD,5.5 +VTS,1,1,540,1.34,CSH,7.5 +VTS,1,1,420,2.01,CSH,8.0 +VTS,1,1,360,1.38,CSH,6.5 +VTS,1,1,720,2.23,CSH,10.5 +VTS,1,1,420,2.38,CSH,9.5 +VTS,1,1,240,0.65,CSH,4.0 +VTS,1,1,120,0.69,CSH,4.0 +VTS,1,1,780,3.06,CSH,12.0 +VTS,1,1,480,1.9,CRD,8.5 +VTS,1,1,600,3.99,CSH,13.5 +VTS,1,1,1080,3.81,CSH,15.5 +VTS,1,1,720,3.99,CRD,13.0 +VTS,1,1,720,5.04,CRD,16.5 +VTS,1,1,600,1.57,CRD,8.5 +VTS,1,1,1320,3.79,CSH,18.0 +VTS,1,1,480,1.55,CSH,8.0 +VTS,1,1,660,1.62,CRD,9.5 +VTS,1,2,300,0.71,CRD,5.0 +VTS,1,1,360,1.27,CSH,6.5 +VTS,1,3,360,1.0,CSH,6.0 +VTS,1,2,420,2.09,CRD,8.5 +VTS,1,1,1020,2.0,CSH,12.5 +VTS,1,2,300,0.81,CRD,5.5 +VTS,1,1,660,1.37,CSH,8.5 +VTS,1,1,600,1.71,CSH,8.5 +VTS,1,1,1080,4.64,CSH,17.0 +VTS,1,1,480,1.55,CRD,8.0 +VTS,1,1,1200,3.74,CSH,16.5 +VTS,1,1,540,0.99,CSH,7.5 +VTS,1,1,360,1.08,CSH,6.0 +VTS,1,1,120,0.81,CRD,4.5 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,900,2.57,CRD,12.5 +VTS,1,1,1140,6.02,CRD,21.0 +VTS,1,1,240,0.71,CRD,4.5 +VTS,1,1,480,1.83,CRD,8.5 +VTS,1,1,660,1.86,CRD,9.5 +VTS,1,1,540,1.85,CRD,8.5 +VTS,1,1,540,2.17,CRD,9.0 +VTS,1,1,600,1.83,CSH,9.5 +VTS,1,1,660,3.48,CRD,13.0 +VTS,1,2,240,0.95,CSH,5.5 +VTS,1,3,420,0.92,CSH,6.0 +VTS,1,3,600,1.79,CSH,9.0 +VTS,1,3,420,1.52,CSH,7.5 +VTS,1,3,1140,4.93,CSH,18.5 +VTS,1,1,420,1.24,CSH,7.0 +VTS,1,2,300,0.87,CSH,5.5 +VTS,1,2,480,2.17,CSH,8.5 +VTS,1,2,540,0.54,CSH,7.5 +VTS,1,1,1140,2.41,CSH,13.0 +VTS,1,2,1020,2.87,CRD,14.0 +VTS,1,1,660,1.13,CSH,8.5 +VTS,1,1,660,1.48,CSH,9.0 +VTS,1,2,600,1.92,CRD,9.0 +VTS,1,1,600,2.06,CSH,9.0 +VTS,1,2,540,1.07,CSH,7.5 +VTS,1,2,2460,13.73,CSH,44.5 +VTS,1,1,600,2.73,CRD,11.0 +VTS,1,1,540,2.02,CSH,9.5 +VTS,1,2,540,1.6,CSH,8.5 +VTS,1,2,180,1.07,CSH,5.0 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,360,0.91,CSH,6.0 +VTS,1,1,1200,5.16,CRD,19.0 +VTS,1,1,540,1.43,CSH,8.0 +VTS,1,1,1560,7.61,CRD,25.0 +VTS,1,2,360,1.46,CSH,7.0 +VTS,1,1,1080,3.26,CRD,14.5 +VTS,1,1,360,2.61,CRD,9.5 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,2,300,0.78,CSH,5.5 +VTS,1,2,420,1.85,CSH,8.0 +VTS,1,2,960,1.62,CSH,11.5 +VTS,1,2,300,1.17,CRD,6.0 +VTS,1,2,480,0.75,CSH,6.5 +VTS,1,1,480,1.63,CSH,8.0 +VTS,1,2,420,1.17,CRD,6.5 +VTS,1,2,180,0.99,CSH,5.0 +VTS,1,1,1140,1.72,CSH,14.0 +VTS,1,2,1800,11.57,CRD,36.0 +VTS,1,2,180,0.84,CSH,5.0 +VTS,1,2,240,0.98,CRD,5.5 +VTS,1,1,180,0.35,CSH,3.5 +VTS,1,1,480,1.55,CSH,8.0 +VTS,1,1,1140,2.42,CSH,13.5 +VTS,1,1,1080,2.65,CSH,13.5 +VTS,1,1,1620,1.66,CSH,16.0 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,720,3.07,CSH,12.0 +VTS,1,1,840,2.53,CRD,11.5 +VTS,1,1,900,4.36,CRD,16.0 +VTS,1,1,120,0.92,CSH,4.5 +VTS,1,1,420,1.53,CSH,7.0 +VTS,1,1,180,0.66,CSH,4.0 +VTS,1,1,300,1.43,CRD,6.5 +VTS,1,1,180,0.58,CSH,4.0 +VTS,1,1,600,1.57,CSH,8.0 +VTS,1,1,1440,5.14,CRD,21.5 +VTS,1,1,960,2.7,CSH,12.5 +VTS,1,1,600,1.03,CSH,8.0 +VTS,1,1,120,0.78,CRD,4.5 +VTS,1,1,780,3.02,CRD,12.0 +VTS,1,1,600,1.9,CRD,9.5 +VTS,1,1,660,3.34,CRD,12.5 +VTS,1,1,420,0.97,CSH,6.5 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,420,1.4,CSH,7.0 +VTS,1,1,540,1.87,CRD,8.5 +VTS,1,1,540,1.23,CSH,7.5 +VTS,1,1,1260,6.76,CSH,23.0 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,540,2.87,CRD,10.5 +VTS,1,1,600,2.72,CSH,10.5 +VTS,1,1,600,1.66,CSH,8.5 +VTS,1,1,720,2.51,CSH,10.5 +VTS,1,1,1560,8.56,CSH,27.0 +VTS,1,1,1020,3.55,CRD,15.0 +VTS,1,1,360,1.21,CRD,6.5 +VTS,1,1,180,0.73,CSH,5.0 +VTS,1,1,180,0.98,CSH,5.0 +VTS,1,1,420,1.23,CSH,7.0 +VTS,1,1,480,2.52,CRD,9.5 +VTS,1,1,600,1.62,CRD,8.5 +VTS,1,1,600,2.3,CRD,9.5 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,900,4.62,CRD,16.0 +VTS,1,1,720,2.35,CRD,10.5 +VTS,1,1,420,1.21,CRD,7.0 +VTS,1,1,1260,3.75,CSH,16.0 +VTS,1,1,720,3.65,CRD,13.5 +VTS,1,1,720,2.0,CSH,9.5 +VTS,1,1,240,0.7,CSH,4.5 +VTS,1,1,660,1.93,CSH,9.0 +VTS,1,1,240,0.84,CRD,5.0 +VTS,1,1,840,3.47,CSH,13.0 +VTS,1,1,240,0.36,CRD,4.0 +VTS,1,1,240,1.05,CRD,5.5 +VTS,1,1,540,0.62,CRD,6.5 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,600,2.5,CRD,10.0 +VTS,1,1,720,3.81,CRD,12.5 +VTS,1,1,180,0.87,CSH,4.5 +VTS,1,1,1140,7.39,CRD,24.0 +VTS,1,1,1080,3.87,CRD,15.0 +VTS,1,1,840,2.92,CSH,12.0 +VTS,1,1,1140,3.32,CRD,14.5 +VTS,1,1,1200,2.9,CRD,15.0 +VTS,1,1,840,3.05,CRD,12.0 +VTS,1,1,840,2.75,CSH,12.0 +VTS,1,1,660,1.65,CRD,9.5 +VTS,1,1,420,1.75,CRD,8.0 +VTS,1,1,780,4.28,CRD,14.5 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,600,2.66,CRD,10.5 +VTS,1,1,2280,8.89,CSH,31.5 +VTS,1,1,1620,18.98,CSH,51.0 +VTS,1,1,600,2.34,CRD,9.5 +VTS,1,1,180,0.88,CSH,4.5 +VTS,1,1,540,1.54,CRD,8.0 +VTS,1,1,120,0.48,CSH,4.0 +VTS,1,1,420,1.76,CRD,7.5 +VTS,1,1,1020,2.83,CRD,13.0 +VTS,1,1,600,2.27,CRD,10.0 +VTS,1,1,900,4.37,CRD,15.5 +VTS,1,1,660,2.33,CRD,10.0 +VTS,1,1,1140,5.82,CSH,20.0 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,240,0.53,CRD,4.5 +VTS,1,1,1140,2.75,CSH,14.0 +VTS,1,1,900,0.8,CRD,10.0 +VTS,1,1,780,3.71,CSH,14.0 +VTS,1,1,1080,5.02,CSH,18.0 +VTS,1,1,480,0.92,CSH,7.0 +VTS,1,1,480,1.52,CRD,7.5 +VTS,1,1,720,2.88,CRD,11.5 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,480,1.14,CRD,6.5 +VTS,1,1,240,0.32,CSH,4.5 +VTS,1,1,780,4.72,CSH,15.0 +VTS,1,1,1380,5.24,CSH,20.0 +VTS,1,1,300,1.18,CSH,6.0 +VTS,1,1,240,1.0,CSH,5.5 +VTS,1,1,360,0.74,CSH,5.5 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,600,1.79,CSH,9.0 +VTS,1,1,1980,5.42,CRD,26.0 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,960,3.61,CSH,14.5 +VTS,1,1,1020,4.64,CSH,16.0 +VTS,1,1,540,1.67,CRD,8.0 +VTS,1,1,480,1.81,CRD,8.5 +VTS,1,1,900,3.91,CSH,15.0 +VTS,1,1,720,2.72,CRD,11.0 +VTS,1,1,0,0.0,CRD,2.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,240,1.15,CSH,5.5 +VTS,1,1,600,2.28,CRD,9.5 +VTS,1,1,780,3.18,CRD,12.5 +VTS,1,1,360,1.01,CRD,6.0 +VTS,1,1,780,8.93,CSH,26.0 +VTS,1,1,720,3.35,CSH,12.0 +VTS,1,1,360,1.99,CRD,7.5 +VTS,1,1,480,1.22,CRD,7.0 +VTS,1,1,480,1.15,CRD,7.5 +VTS,1,1,900,3.87,CSH,14.0 +VTS,1,1,720,2.21,CRD,10.5 +VTS,1,1,360,1.07,CRD,6.0 +VTS,1,1,600,1.84,CRD,8.5 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,360,0.61,CRD,5.5 +VTS,1,1,540,2.17,CSH,9.0 +VTS,1,1,720,2.61,CSH,12.0 +VTS,1,1,540,1.65,CSH,8.0 +VTS,1,1,360,1.02,CRD,6.5 +VTS,1,1,240,0.6,CRD,5.0 +VTS,1,1,300,1.0,CRD,5.5 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,1,1020,4.71,CSH,16.0 +VTS,1,1,420,1.41,CRD,7.5 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,360,1.04,CSH,6.0 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,960,4.47,CRD,16.0 +VTS,1,1,720,2.3,CSH,10.5 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,1,480,1.99,CRD,8.5 +VTS,1,1,900,3.73,CRD,14.0 +VTS,1,1,660,2.94,CSH,11.0 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,120,0.58,CRD,4.0 +VTS,1,1,480,1.71,CRD,8.5 +VTS,1,1,840,2.74,CSH,11.5 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,120,0.72,CRD,4.0 +VTS,1,1,660,2.79,CSH,10.5 +VTS,1,1,660,4.46,CSH,15.0 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,1680,7.35,CRD,25.0 +VTS,1,1,360,1.15,CSH,6.5 +VTS,1,1,240,0.94,CSH,5.0 +VTS,1,1,420,1.37,CRD,7.0 +VTS,1,1,600,1.57,CRD,9.0 +VTS,1,1,300,0.67,CSH,5.0 +VTS,1,1,1380,6.87,CRD,23.0 +VTS,1,1,840,2.21,CRD,10.5 +VTS,1,1,1140,2.16,CRD,13.5 +VTS,1,1,360,0.74,CRD,5.5 +VTS,1,1,420,1.8,CSH,8.0 +VTS,1,1,780,3.45,CRD,13.0 +VTS,1,2,420,0.63,CRD,5.5 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,300,0.6,CRD,5.5 +VTS,1,3,480,0.53,CSH,6.0 +VTS,1,2,1020,5.82,CRD,19.5 +VTS,1,2,840,2.47,CSH,12.0 +VTS,1,3,420,0.96,CRD,6.0 +VTS,1,1,0,0.02,CSH,2.5 +VTS,1,1,480,1.65,CSH,7.5 +VTS,1,2,480,1.43,CSH,8.0 +VTS,1,1,660,1.48,CSH,9.0 +VTS,1,1,2460,23.61,CSH,65.0 +VTS,1,1,660,2.04,CRD,9.5 +VTS,1,1,780,1.82,CRD,11.0 +VTS,1,1,660,2.45,CRD,11.0 +VTS,5,1,0,0.0,CRD,40.0 +VTS,1,1,660,2.18,CRD,9.5 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,720,3.79,CRD,13.5 +VTS,1,1,840,4.71,CRD,15.5 +VTS,1,1,240,1.29,CSH,6.0 +VTS,1,1,840,3.69,CSH,13.5 +VTS,1,1,480,1.62,CRD,8.0 +VTS,1,1,480,0.83,CRD,6.5 +VTS,1,1,480,0.9,CSH,7.0 +VTS,1,1,540,1.09,CSH,7.0 +VTS,1,1,1380,7.03,CSH,23.0 +VTS,1,1,360,1.71,CSH,7.5 +VTS,1,1,300,1.7,CRD,7.0 +VTS,1,1,420,2.06,CSH,8.0 +VTS,1,1,360,1.16,CSH,6.0 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,540,1.78,CSH,8.5 +VTS,1,1,420,1.9,CRD,8.0 +VTS,1,1,300,1.0,CRD,6.0 +VTS,1,1,480,2.45,CSH,9.5 +VTS,1,1,240,0.79,CRD,4.5 +VTS,1,1,1500,7.58,CRD,25.0 +VTS,1,1,900,3.27,CRD,13.5 +VTS,1,1,180,0.92,CRD,5.0 +VTS,1,1,360,0.99,CSH,6.0 +VTS,1,1,780,3.32,CRD,13.0 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,540,1.42,CSH,8.0 +VTS,1,1,720,1.47,CRD,9.5 +VTS,1,1,480,1.45,CRD,7.0 +VTS,1,1,720,2.22,CSH,10.5 +VTS,1,1,300,1.08,CRD,6.0 +VTS,1,1,420,1.78,CRD,7.5 +VTS,1,1,120,0.77,CRD,4.0 +VTS,1,1,960,4.39,CSH,16.0 +VTS,1,1,540,1.13,CSH,7.5 +VTS,1,1,1200,6.64,CSH,21.0 +VTS,1,1,300,1.0,CSH,5.5 +VTS,1,1,600,2.0,CSH,9.0 +VTS,1,1,120,0.46,CRD,4.0 +VTS,1,1,60,0.27,CSH,3.0 +VTS,1,1,900,2.42,CRD,11.5 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,300,0.55,CRD,5.0 +VTS,1,1,540,2.11,CSH,9.0 +VTS,1,1,300,0.87,CSH,5.0 +VTS,1,1,300,1.14,CSH,6.0 +VTS,1,1,1740,5.64,CRD,22.5 +VTS,1,1,660,2.31,CSH,10.5 +VTS,1,1,780,3.19,CSH,13.0 +VTS,1,1,360,1.04,CSH,6.0 +VTS,1,1,1080,5.93,CRD,20.0 +VTS,1,1,720,3.02,CSH,11.5 +VTS,1,1,1620,6.89,CRD,25.0 +VTS,1,1,540,2.14,CRD,9.5 +VTS,1,1,360,0.69,CRD,6.0 +VTS,1,1,1200,6.54,CRD,21.5 +VTS,1,1,1200,7.02,CSH,23.0 +VTS,1,1,1140,4.95,CRD,18.0 +VTS,1,1,540,1.92,CSH,8.5 +VTS,1,1,900,1.02,CRD,10.0 +VTS,1,1,360,1.23,CRD,6.5 +VTS,1,1,600,2.19,CRD,9.0 +VTS,1,1,840,4.22,CRD,14.5 +VTS,1,2,300,0.62,CRD,5.5 +VTS,1,1,1200,5.61,CRD,20.0 +VTS,1,1,300,1.71,CSH,7.5 +VTS,1,2,960,4.57,CRD,16.5 +VTS,1,1,660,2.5,CSH,10.5 +VTS,1,1,360,0.98,CRD,6.5 +VTS,1,1,1320,4.28,CRD,18.0 +VTS,1,2,960,1.7,CRD,11.5 +VTS,1,3,480,1.32,CSH,8.0 +VTS,1,1,240,0.8,CRD,5.0 +VTS,1,2,420,1.02,CRD,6.5 +VTS,1,2,600,3.45,CRD,12.0 +VTS,1,2,2400,12.12,CSH,39.5 +VTS,1,2,1020,2.61,CSH,13.0 +VTS,1,1,60,0.36,CRD,3.0 +VTS,1,2,660,2.66,CSH,11.0 +VTS,1,2,300,0.91,CRD,5.5 +VTS,1,2,300,0.54,CSH,5.5 +VTS,1,1,360,1.21,CRD,6.5 +VTS,1,2,840,1.79,CSH,11.0 +VTS,1,1,540,0.75,CSH,7.0 +VTS,1,2,1560,2.91,CSH,17.0 +VTS,1,2,120,0.44,CSH,3.5 +VTS,1,2,600,1.97,CRD,9.0 +VTS,1,2,840,2.24,CRD,11.0 +VTS,1,1,960,4.94,CRD,18.0 +VTS,1,1,240,0.86,CRD,5.0 +VTS,1,1,540,1.48,CRD,8.0 +VTS,1,2,120,1.0,CRD,5.0 +VTS,1,2,300,0.72,CSH,5.5 +VTS,1,2,1500,3.81,CRD,18.0 +VTS,1,2,420,1.52,CSH,7.5 +VTS,1,1,1320,4.16,CRD,18.0 +VTS,1,2,1020,2.14,CRD,13.0 +VTS,1,1,360,2.18,CRD,8.0 +VTS,1,2,300,0.62,CSH,5.5 +VTS,1,2,840,2.24,CSH,11.5 +VTS,1,1,840,1.83,CRD,11.0 +VTS,1,2,540,1.89,CRD,9.0 +VTS,1,2,2820,11.21,CSH,40.0 +VTS,1,1,420,1.11,CRD,7.0 +VTS,1,1,420,2.56,CRD,9.5 +VTS,1,1,300,1.9,CSH,7.5 +VTS,1,1,480,2.72,CRD,9.5 +VTS,1,1,1020,7.11,CSH,22.0 +VTS,1,1,240,0.56,CRD,4.5 +VTS,1,1,240,0.81,CRD,5.0 +VTS,1,1,360,1.01,CSH,6.0 +VTS,1,1,780,2.6,CRD,11.5 +VTS,1,1,1740,18.06,CRD,49.5 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,1080,4.06,CSH,16.0 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,540,1.79,CSH,8.0 +VTS,1,1,360,1.53,CRD,7.0 +VTS,1,1,300,0.43,CSH,5.0 +VTS,1,1,660,2.94,CSH,11.0 +VTS,1,1,1080,2.7,CRD,13.5 +VTS,1,1,660,2.03,CSH,9.0 +VTS,1,1,120,0.38,CRD,4.0 +VTS,1,1,660,5.45,CSH,17.0 +VTS,2,1,3000,15.66,CSH,52.0 +VTS,5,1,0,0.0,CRD,40.0 +VTS,1,1,300,1.06,CRD,6.0 +VTS,1,1,360,2.2,CSH,8.5 +VTS,1,1,840,3.77,CRD,14.0 +VTS,1,1,540,2.09,CSH,9.0 +VTS,1,1,480,1.73,CRD,8.0 +VTS,1,1,1440,9.86,CRD,30.5 +VTS,1,1,360,0.98,CRD,6.0 +VTS,1,1,600,1.86,CSH,9.0 +VTS,1,1,420,1.15,CSH,6.5 +VTS,1,1,660,1.77,CSH,9.0 +VTS,1,1,840,3.24,CSH,13.0 +VTS,1,1,480,2.25,CRD,9.0 +VTS,1,1,420,2.01,CRD,7.5 +VTS,1,1,900,1.74,CRD,11.0 +VTS,1,1,660,1.84,CSH,10.0 +VTS,2,1,1500,17.64,CRD,52.0 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,1,1080,3.05,CSH,14.0 +VTS,1,1,660,1.46,CRD,9.0 +VTS,1,1,360,0.61,CSH,5.5 +VTS,1,1,1200,12.11,CRD,34.0 +VTS,1,1,780,1.69,CRD,10.0 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,1260,7.16,CRD,24.0 +VTS,1,1,420,2.2,CSH,8.5 +VTS,1,1,600,1.18,CSH,7.5 +VTS,1,1,480,1.68,CRD,8.0 +VTS,1,1,420,1.87,CSH,8.0 +VTS,1,1,1020,7.16,CRD,22.5 +VTS,1,1,360,1.53,CRD,7.0 +VTS,1,1,900,5.08,CRD,16.5 +VTS,1,1,780,2.66,CSH,11.5 +VTS,1,1,480,1.61,CRD,8.0 +VTS,1,1,600,1.54,CRD,8.5 +VTS,1,1,720,4.63,CRD,15.0 +VTS,1,1,420,1.17,CSH,7.0 +VTS,1,1,360,0.84,CRD,6.0 +VTS,1,1,360,1.24,CRD,6.0 +VTS,1,1,1020,3.41,CRD,14.5 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,780,1.88,CRD,10.0 +VTS,1,1,1500,5.47,CRD,21.5 +VTS,1,1,540,2.01,CRD,8.5 +VTS,1,1,720,1.94,CRD,10.0 +VTS,1,1,480,1.83,CRD,8.0 +VTS,1,1,420,1.16,CSH,6.5 +VTS,1,1,540,2.17,CSH,9.0 +VTS,1,1,420,1.21,CSH,7.0 +VTS,1,1,840,3.96,CRD,14.5 +VTS,1,1,720,2.7,CRD,11.0 +VTS,1,1,360,1.01,CRD,6.0 +VTS,1,1,840,1.08,CSH,9.5 +VTS,1,1,840,2.1,CRD,10.5 +VTS,1,1,960,3.15,CRD,13.5 +VTS,1,1,1860,5.91,CRD,24.0 +VTS,1,1,240,1.38,CRD,6.0 +VTS,1,1,540,2.08,CRD,9.0 +VTS,1,1,360,0.94,CSH,6.0 +VTS,1,1,1140,5.94,CRD,20.5 +VTS,1,1,960,3.81,CRD,14.5 +VTS,1,1,1680,7.1,CRD,24.5 +VTS,1,1,540,2.12,CRD,9.0 +VTS,1,1,540,0.96,CSH,7.0 +VTS,1,1,960,4.02,CSH,16.0 +VTS,1,1,360,0.85,CRD,5.5 +VTS,1,1,540,0.98,CSH,7.0 +VTS,1,1,480,1.71,CSH,8.0 +VTS,1,1,1680,6.98,CSH,25.0 +VTS,1,1,1140,6.23,CRD,20.5 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,300,0.99,CSH,6.0 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,300,1.26,CRD,6.0 +VTS,1,1,1320,5.68,CSH,20.5 +VTS,1,1,600,4.78,CRD,15.0 +VTS,1,1,180,0.78,CRD,4.5 +VTS,1,1,780,1.09,CRD,9.5 +VTS,1,1,600,1.17,CSH,8.5 +VTS,1,1,1860,15.46,CRD,44.0 +VTS,1,1,60,0.69,CRD,4.0 +VTS,1,1,360,1.25,CRD,6.0 +VTS,1,1,600,1.61,CSH,9.0 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,360,1.78,CSH,7.5 +VTS,1,1,360,1.04,CSH,6.0 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,420,1.42,CRD,7.0 +VTS,1,1,420,1.74,CRD,7.5 +VTS,1,1,360,1.13,CSH,6.0 +VTS,1,1,780,2.0,CRD,9.5 +VTS,1,1,900,3.88,CRD,14.5 +VTS,1,1,540,1.9,CRD,9.0 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,900,3.43,CRD,14.0 +VTS,1,1,720,3.42,CRD,12.5 +VTS,1,1,480,2.46,CRD,10.0 +VTS,1,1,840,3.38,CRD,13.0 +VTS,1,1,660,2.87,CRD,11.0 +VTS,1,1,360,1.42,CRD,6.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,420,1.31,CSH,7.0 +VTS,1,1,900,4.16,CRD,15.0 +VTS,1,1,420,2.08,CSH,8.5 +VTS,1,1,1080,2.93,CSH,13.5 +VTS,1,1,1080,10.31,CSH,29.0 +VTS,1,1,1740,6.09,CRD,24.0 +VTS,1,1,300,1.21,CRD,6.0 +VTS,1,1,1080,6.33,CRD,21.0 +VTS,1,1,480,1.38,CRD,7.0 +VTS,1,1,900,6.87,CSH,21.0 +VTS,1,1,240,0.73,CSH,5.0 +VTS,1,1,240,1.14,CSH,5.5 +VTS,1,1,300,1.12,CRD,5.5 +VTS,1,1,1140,2.52,CRD,13.5 +VTS,1,1,960,4.53,CRD,16.0 +VTS,1,1,960,2.1,CSH,11.0 +VTS,1,1,540,2.63,CSH,10.0 +VTS,1,1,120,0.82,CRD,4.5 +VTS,1,1,960,3.59,CRD,14.0 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,600,2.17,CRD,9.5 +VTS,1,1,540,1.45,CRD,8.0 +VTS,1,1,300,1.26,CRD,6.0 +VTS,1,1,600,1.99,CSH,9.0 +VTS,1,1,540,1.35,CSH,8.5 +VTS,1,1,1500,10.24,CSH,31.0 +VTS,1,1,960,4.07,CSH,14.5 +VTS,1,1,240,0.96,CSH,5.5 +VTS,1,1,960,3.49,CSH,15.0 +VTS,1,1,840,3.91,CSH,14.5 +VTS,1,1,1380,6.54,CRD,23.0 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,540,1.37,CRD,8.0 +VTS,1,1,240,0.86,CRD,4.5 +VTS,1,1,480,1.48,CRD,7.5 +VTS,1,1,180,0.49,CSH,4.0 +VTS,1,1,1080,5.45,CRD,18.0 +VTS,1,1,1380,6.41,CSH,23.0 +VTS,1,1,420,1.98,CSH,8.0 +VTS,1,1,660,1.91,CRD,9.5 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,600,1.7,CSH,9.0 +VTS,1,1,720,1.73,CSH,9.5 +VTS,1,1,180,0.58,CSH,4.0 +VTS,1,1,1620,4.96,CRD,21.0 +VTS,1,1,420,1.33,CSH,7.0 +VTS,1,1,600,1.72,CSH,9.0 +VTS,1,1,1980,8.43,CSH,29.0 +VTS,1,1,840,2.52,CRD,11.5 +VTS,1,1,240,1.18,CRD,5.5 +VTS,1,1,360,1.62,CRD,7.0 +VTS,1,1,780,2.79,CRD,12.0 +VTS,1,1,720,4.04,CSH,14.0 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,1560,5.75,CSH,21.0 +VTS,1,1,360,1.93,CRD,8.0 +VTS,1,1,240,0.52,CRD,4.5 +VTS,1,1,1740,9.36,CRD,30.5 +VTS,1,5,780,2.77,CRD,11.5 +VTS,1,5,480,1.65,CSH,8.0 +VTS,1,5,600,2.59,CSH,10.5 +VTS,1,5,1440,11.61,CSH,34.0 +VTS,1,1,420,0.87,CRD,6.5 +VTS,1,1,1620,3.51,CRD,18.0 +VTS,1,1,840,2.15,CSH,11.0 +VTS,1,1,480,1.05,CSH,7.5 +VTS,1,1,600,2.11,CRD,9.5 +VTS,1,1,660,1.36,CRD,8.5 +VTS,1,1,840,2.38,CSH,11.5 +VTS,1,1,540,0.94,CSH,7.0 +VTS,1,1,240,0.77,CRD,5.0 +VTS,1,1,360,1.05,CSH,6.0 +VTS,1,1,720,1.17,CSH,9.0 +VTS,1,1,900,3.05,CRD,13.0 +VTS,1,1,480,2.04,CRD,8.5 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,1320,8.87,CRD,27.0 +VTS,1,1,840,2.92,CRD,12.0 +VTS,1,1,1200,6.07,CSH,20.5 +VTS,1,1,240,0.91,CRD,5.0 +VTS,1,1,660,2.52,CSH,10.5 +VTS,1,1,360,1.5,CRD,7.0 +VTS,1,1,1200,5.62,CSH,19.5 +VTS,1,5,300,1.25,CRD,6.0 +VTS,1,5,540,1.93,CRD,8.5 +VTS,1,5,660,2.01,CRD,10.0 +VTS,1,5,840,4.21,CSH,15.0 +VTS,1,1,960,8.25,CSH,24.0 +VTS,1,1,960,2.51,CRD,12.0 +VTS,1,1,660,3.39,CSH,12.0 +VTS,1,1,720,2.4,CSH,11.0 +VTS,1,1,1380,6.42,CSH,22.0 +VTS,1,1,360,1.88,CSH,7.0 +VTS,1,1,1380,2.98,CRD,16.0 +VTS,1,1,180,0.59,CRD,4.0 +VTS,1,1,360,1.42,CSH,7.0 +VTS,1,1,720,1.32,CRD,9.0 +VTS,1,1,960,3.17,CRD,14.0 +VTS,1,1,1200,5.44,CRD,19.5 +VTS,1,1,360,1.62,CRD,7.0 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,180,0.88,CRD,4.5 +VTS,1,1,1200,4.58,CRD,17.5 +VTS,1,1,480,1.51,CSH,7.5 +VTS,1,1,720,1.09,CSH,8.5 +VTS,1,1,600,1.54,CSH,8.5 +VTS,1,1,960,3.08,CRD,13.0 +VTS,1,1,720,3.26,CSH,12.0 +VTS,1,1,1260,2.3,CRD,14.0 +VTS,1,1,1380,4.63,CRD,19.5 +VTS,1,1,1140,5.96,CSH,20.5 +VTS,1,1,1380,9.26,CRD,29.0 +VTS,1,1,420,2.11,CSH,8.0 +VTS,1,1,660,0.83,CSH,8.5 +VTS,1,1,780,3.74,CRD,13.5 +VTS,1,1,360,1.65,CSH,7.0 +VTS,1,1,1020,4.84,CSH,17.0 +VTS,1,5,1140,5.39,CSH,19.0 +VTS,1,5,240,1.22,CRD,6.0 +VTS,1,1,1080,1.82,CRD,12.5 +VTS,1,1,840,1.95,CSH,11.0 +VTS,1,1,1800,6.56,CRD,25.5 +VTS,1,1,540,2.88,CSH,11.0 +VTS,1,1,780,3.48,CSH,13.5 +VTS,1,1,360,0.71,CSH,5.5 +VTS,1,1,1260,7.86,CSH,24.5 +VTS,5,1,120,1.18,CRD,120.0 +VTS,1,1,600,1.61,CSH,9.0 +VTS,1,1,480,0.85,CRD,7.0 +VTS,1,1,360,1.37,CSH,7.0 +VTS,1,1,240,0.85,CRD,5.5 +VTS,1,1,300,0.49,CSH,4.5 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,660,1.17,CRD,8.5 +VTS,1,1,1080,9.37,CRD,27.0 +VTS,1,1,1440,5.31,CRD,20.5 +VTS,1,1,600,1.46,CRD,8.5 +VTS,1,1,1140,7.37,CRD,24.0 +VTS,1,1,480,1.58,CRD,8.0 +VTS,1,1,660,3.65,CRD,12.5 +VTS,1,1,240,0.54,CSH,5.0 +VTS,1,5,1260,3.47,CSH,15.0 +VTS,1,5,960,4.1,CRD,15.5 +VTS,1,5,420,2.77,CRD,10.0 +VTS,1,1,1080,3.06,CSH,14.0 +VTS,1,1,540,3.39,CRD,11.5 +VTS,1,1,1020,4.25,CSH,16.0 +VTS,1,1,840,1.65,CSH,10.5 +VTS,1,1,240,0.95,CRD,5.5 +VTS,1,1,480,1.72,CRD,8.0 +VTS,1,1,780,4.95,CRD,15.5 +VTS,1,1,1620,3.51,CRD,18.5 +VTS,1,1,420,1.29,CRD,7.0 +VTS,1,1,780,2.66,CRD,11.5 +VTS,1,1,240,0.71,CRD,5.0 +VTS,1,1,720,1.27,CSH,9.0 +VTS,1,1,900,3.91,CRD,14.0 +VTS,1,1,240,0.8,CSH,5.0 +VTS,1,1,540,1.08,CSH,7.5 +VTS,1,1,840,3.86,CSH,13.5 +VTS,1,1,660,1.69,CRD,9.5 +VTS,1,1,360,1.52,CRD,6.5 +VTS,1,1,540,1.82,CRD,8.5 +VTS,1,1,240,0.8,CSH,5.0 +VTS,1,1,300,1.09,CRD,6.0 +VTS,1,1,360,1.03,CSH,6.5 +VTS,1,1,720,1.77,CSH,10.0 +VTS,1,1,420,2.1,CRD,8.5 +VTS,1,1,120,0.97,CRD,4.5 +VTS,1,1,240,0.49,CSH,5.0 +VTS,1,1,240,0.92,CRD,5.5 +VTS,1,1,840,3.56,CRD,14.0 +VTS,1,1,540,1.88,CSH,8.5 +VTS,1,1,1140,3.76,CSH,15.0 +VTS,1,1,1200,10.46,CRD,30.0 +VTS,1,1,1020,5.29,CSH,18.0 +VTS,1,1,300,1.23,CSH,6.0 +VTS,1,1,1260,3.69,CSH,16.5 +VTS,1,1,840,2.1,CRD,11.0 +VTS,1,1,1380,11.19,CSH,33.0 +VTS,1,1,540,1.88,CRD,9.0 +VTS,1,1,540,1.84,CSH,9.0 +VTS,1,1,660,1.68,CSH,9.5 +VTS,1,1,1020,3.37,CRD,13.5 +VTS,1,1,540,1.9,CRD,9.0 +VTS,1,1,360,1.13,CRD,6.0 +VTS,1,1,540,1.9,CSH,8.5 +VTS,1,1,600,2.46,CSH,9.5 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,1560,5.23,CRD,21.5 +VTS,1,1,720,1.97,CSH,10.0 +VTS,1,1,960,4.01,CSH,15.5 +VTS,1,1,360,1.67,CSH,7.0 +VTS,1,1,660,1.82,CSH,9.5 +VTS,1,1,300,1.29,CRD,6.5 +VTS,1,1,300,0.84,CRD,5.5 +VTS,1,1,480,1.3,CRD,7.5 +VTS,1,1,780,2.57,CRD,11.5 +VTS,1,1,1740,15.78,CRD,43.5 +VTS,1,1,300,1.08,CRD,5.5 +VTS,1,1,780,2.25,CSH,10.5 +VTS,1,1,540,1.48,CRD,8.0 +VTS,1,1,240,0.42,CSH,4.5 +VTS,1,1,1380,4.61,CRD,20.0 +VTS,1,1,1080,2.91,CRD,14.0 +VTS,1,1,540,2.07,CRD,9.0 +VTS,1,1,540,2.64,CRD,10.0 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,540,2.96,CRD,10.5 +VTS,1,1,600,1.94,CRD,9.5 +VTS,1,1,300,1.69,CRD,7.0 +VTS,1,1,1920,3.29,CRD,19.5 +VTS,1,1,1200,1.89,CRD,13.5 +VTS,1,1,1380,5.54,CRD,20.5 +VTS,1,1,720,4.67,CRD,15.5 +VTS,1,5,540,1.89,CSH,9.0 +VTS,1,5,1980,5.48,CSH,24.0 +VTS,1,5,240,0.71,CSH,5.0 +VTS,1,5,660,1.82,CSH,9.5 +VTS,1,5,1020,4.56,CRD,16.5 +VTS,1,5,360,1.54,CSH,7.0 +VTS,1,5,120,0.28,CSH,3.5 +VTS,1,6,240,0.82,CRD,5.0 +VTS,1,1,1020,2.86,CRD,13.0 +VTS,1,1,600,1.61,CRD,8.5 +VTS,1,1,960,4.0,CRD,15.0 +VTS,1,1,360,0.76,CRD,5.0 +VTS,1,1,1320,3.84,CSH,16.5 +VTS,1,1,660,1.22,CSH,8.0 +VTS,1,1,960,2.33,CSH,13.0 +VTS,1,1,660,2.33,CSH,10.0 +VTS,1,1,120,0.56,CSH,4.0 +VTS,1,1,780,2.01,CSH,10.5 +VTS,1,1,1740,7.66,CRD,27.0 +VTS,1,1,480,1.56,CRD,8.0 +VTS,1,1,960,2.36,CRD,11.5 +VTS,1,1,360,1.57,CRD,7.0 +VTS,1,1,420,1.92,CSH,8.0 +VTS,1,1,1200,4.3,CRD,16.5 +VTS,1,1,540,2.05,CRD,8.5 +VTS,1,1,900,5.52,CRD,17.5 +VTS,1,5,300,1.17,CSH,5.5 +VTS,1,5,1140,1.49,CSH,12.5 +VTS,1,5,1140,5.19,CSH,19.0 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,480,1.71,CRD,8.0 +VTS,1,1,360,1.02,CSH,6.0 +VTS,1,1,840,1.7,CRD,10.5 +VTS,1,1,600,2.35,CRD,9.5 +VTS,1,1,240,1.19,CRD,5.5 +VTS,1,1,780,3.11,CSH,12.0 +VTS,1,1,300,1.05,CRD,6.0 +VTS,1,1,900,2.05,CSH,11.0 +VTS,1,1,540,2.2,CRD,8.5 +VTS,1,1,1560,7.91,CRD,27.5 +VTS,1,1,360,0.79,CSH,5.5 +VTS,1,1,480,2.01,CSH,8.5 +VTS,1,1,420,0.84,CRD,6.0 +VTS,1,1,1020,2.42,CRD,13.0 +VTS,1,1,180,0.83,CSH,4.5 +VTS,1,1,480,0.74,CSH,6.5 +VTS,1,1,480,2.24,CSH,9.0 +VTS,1,1,360,0.91,CRD,6.0 +VTS,1,1,1860,6.43,CRD,25.0 +VTS,1,1,540,2.05,CRD,9.0 +VTS,1,1,360,1.28,CRD,6.5 +VTS,1,1,480,2.63,CRD,10.0 +VTS,1,1,960,9.89,CSH,28.0 +VTS,1,5,60,0.32,CSH,3.0 +VTS,1,5,180,0.59,CSH,4.5 +VTS,1,5,720,1.88,CSH,10.0 +VTS,1,5,600,2.47,CRD,10.0 +VTS,1,5,480,0.94,CRD,7.0 +VTS,1,5,180,0.79,CRD,4.5 +VTS,1,1,480,1.44,CRD,7.5 +VTS,1,1,480,1.58,CRD,7.5 +VTS,1,1,1560,4.68,CRD,20.5 +VTS,1,1,300,1.0,CRD,5.5 +VTS,1,1,480,1.29,CRD,7.5 +VTS,1,1,1500,5.7,CRD,21.0 +VTS,1,1,1440,5.61,CRD,20.5 +VTS,1,1,480,2.01,CRD,8.5 +VTS,1,5,420,1.29,CSH,7.0 +VTS,1,5,360,1.48,CSH,6.5 +VTS,1,5,960,3.07,CRD,14.0 +VTS,1,1,420,0.22,CSH,6.0 +VTS,1,5,900,1.63,CRD,11.0 +VTS,1,5,720,2.41,CSH,10.0 +VTS,1,5,1020,2.63,CSH,13.0 +VTS,1,5,360,0.85,CSH,5.5 +VTS,1,5,900,2.1,CRD,11.5 +VTS,1,5,1320,6.53,CRD,21.5 +VTS,1,5,660,2.57,CSH,10.0 +VTS,1,5,240,0.57,CRD,4.5 +VTS,1,5,1680,5.78,CRD,23.0 +VTS,1,5,1200,4.17,CSH,17.5 +VTS,1,1,1080,1.15,CSH,12.5 +VTS,1,1,1140,3.69,CSH,15.5 +VTS,1,1,240,0.94,CRD,5.5 +VTS,1,1,420,1.24,CSH,7.0 +VTS,1,1,600,2.36,CSH,9.5 +VTS,1,6,540,1.26,CRD,8.0 +VTS,1,6,660,3.03,CRD,12.0 +VTS,1,1,240,0.64,CSH,4.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,180,0.47,CSH,4.0 +VTS,1,1,1140,3.1,CRD,15.5 +VTS,1,1,780,1.87,CRD,10.0 +VTS,1,1,1140,3.18,CSH,15.0 +VTS,1,1,720,2.73,CRD,11.5 +VTS,1,1,540,1.63,CRD,8.5 +VTS,1,1,840,3.39,CRD,13.5 +VTS,1,1,900,2.27,CRD,12.0 +VTS,1,5,360,1.38,CSH,7.0 +VTS,1,5,360,1.21,CRD,6.5 +VTS,1,5,1320,5.07,CRD,19.5 +VTS,1,5,600,2.86,CRD,10.5 +VTS,1,2,1020,3.22,CRD,13.5 +VTS,1,5,120,0.37,CSH,4.0 +VTS,1,5,1320,4.0,CRD,17.5 +VTS,1,5,840,3.69,CSH,13.5 +VTS,1,5,1980,7.16,CSH,27.0 +VTS,1,5,420,1.26,CRD,7.0 +VTS,1,5,960,4.11,CRD,15.5 +VTS,1,5,360,1.62,CSH,7.5 +VTS,1,1,900,1.22,CSH,10.5 +VTS,1,1,300,0.73,CSH,5.5 +VTS,1,1,1500,6.82,CSH,25.5 +VTS,1,1,540,0.99,CSH,7.0 +VTS,1,1,180,0.89,CSH,5.0 +VTS,1,1,1140,5.52,CSH,19.5 +VTS,1,1,2040,5.27,CRD,24.5 +VTS,1,1,1500,4.93,CRD,20.0 +VTS,1,5,240,0.84,CSH,5.5 +VTS,1,2,1380,4.74,CRD,19.0 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,5,360,1.26,CSH,6.0 +VTS,1,2,600,2.66,CRD,10.5 +VTS,1,5,780,5.09,CSH,17.0 +VTS,1,5,360,0.64,CSH,5.5 +VTS,1,5,300,1.26,CRD,6.5 +VTS,1,5,240,1.38,CRD,6.0 +VTS,1,1,660,5.51,CRD,17.0 +VTS,1,1,900,8.25,CSH,23.5 +VTS,1,6,720,2.1,CSH,10.0 +VTS,1,5,600,1.53,CSH,8.5 +VTS,1,6,720,2.21,CSH,10.0 +VTS,1,6,720,3.73,CRD,13.5 +VTS,1,6,1740,10.29,CRD,31.5 +VTS,1,6,540,1.57,CRD,8.5 +VTS,1,6,540,2.26,CSH,9.0 +VTS,1,6,180,0.55,CRD,4.5 +VTS,1,6,1320,4.53,CRD,17.5 +VTS,1,3,420,1.75,CRD,7.5 +VTS,1,4,480,0.87,CRD,7.0 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,180,0.57,CRD,4.0 +VTS,1,1,900,2.78,CRD,12.5 +VTS,1,1,840,2.8,CRD,12.5 +VTS,1,1,720,1.51,CSH,9.5 +VTS,1,5,1020,2.15,CRD,12.0 +VTS,1,5,1020,3.56,CSH,15.0 +VTS,1,5,1140,1.93,CRD,13.0 +VTS,1,5,900,2.13,CRD,11.5 +VTS,1,5,660,1.73,CRD,9.0 +VTS,1,5,480,1.06,CSH,7.0 +VTS,1,5,180,0.55,CRD,4.5 +VTS,1,5,420,1.95,CRD,8.0 +VTS,1,5,960,4.84,CRD,17.0 +VTS,1,1,360,1.01,CSH,6.0 +VTS,1,1,1200,5.64,CSH,20.0 +VTS,1,1,600,1.31,CSH,8.5 +VTS,1,1,180,1.03,CRD,5.0 +VTS,1,1,1020,5.71,CRD,18.5 +VTS,1,1,540,1.49,CSH,8.0 +VTS,1,6,360,1.5,CSH,7.0 +VTS,2,6,1740,18.23,CRD,52.0 +VTS,1,6,240,0.45,CSH,4.0 +VTS,1,6,240,0.88,CSH,5.5 +VTS,1,6,420,1.37,CSH,7.0 +VTS,1,5,540,2.6,CRD,10.0 +VTS,1,1,720,1.86,CSH,7.5 +VTS,1,1,540,2.4,CRD,9.5 +VTS,1,5,360,2.38,CRD,8.5 +VTS,1,5,300,2.22,CSH,8.0 +VTS,1,1,1200,3.16,CSH,14.5 +VTS,1,1,1740,4.92,CRD,21.5 +VTS,1,1,480,1.42,CSH,7.5 +VTS,1,5,780,2.5,CRD,11.0 +VTS,1,5,960,2.96,CRD,13.0 +VTS,1,5,1200,6.24,CSH,21.0 +VTS,1,5,420,1.0,CSH,6.5 +VTS,1,5,540,1.73,CSH,8.0 +VTS,1,5,240,0.6,CSH,5.0 +VTS,1,5,660,1.01,CSH,8.5 +VTS,1,5,600,2.1,CSH,9.5 +VTS,1,5,480,2.76,CSH,10.5 +VTS,1,1,660,2.85,CSH,11.0 +VTS,1,1,480,1.52,CSH,8.0 +VTS,1,5,420,0.96,CSH,6.0 +VTS,1,5,360,1.01,CRD,6.5 +VTS,4,5,600,1.57,CRD,8.0 +VTS,1,5,1020,3.61,CRD,15.0 +VTS,1,6,240,0.97,CSH,5.0 +VTS,1,6,1320,6.39,CRD,22.5 +VTS,1,6,360,1.73,CRD,7.5 +VTS,1,6,240,0.98,CSH,5.5 +VTS,1,1,1200,3.89,CRD,17.5 +VTS,1,1,660,1.68,CSH,9.0 +VTS,1,1,720,2.24,CRD,10.0 +VTS,1,1,660,1.74,CRD,9.0 +VTS,1,1,600,2.09,CSH,9.5 +VTS,1,1,900,3.75,CSH,14.5 +VTS,1,5,900,2.18,CRD,11.5 +VTS,1,5,360,1.25,CSH,6.5 +VTS,5,1,660,3.52,CRD,60.0 +VTS,1,5,960,4.12,CRD,14.5 +VTS,1,5,780,2.86,CRD,11.5 +VTS,1,5,300,1.34,CRD,6.5 +VTS,1,5,180,0.9,CSH,4.5 +VTS,1,5,120,0.4,CSH,3.5 +VTS,1,5,240,0.62,CRD,4.5 +VTS,1,5,360,1.16,CRD,6.5 +VTS,1,5,660,1.78,CSH,9.0 +VTS,1,5,900,4.92,CRD,16.5 +VTS,1,5,420,1.13,CSH,6.5 +VTS,1,5,1800,4.54,CRD,21.0 +VTS,1,1,420,1.84,CRD,8.0 +VTS,1,1,1680,10.37,CSH,32.5 +VTS,1,1,420,1.77,CRD,8.0 +VTS,1,1,240,1.11,CRD,6.0 +VTS,1,1,1020,11.47,CRD,31.5 +VTS,1,5,720,1.75,CSH,9.5 +VTS,2,1,1980,19.22,CSH,52.0 +VTS,1,1,960,9.11,CRD,26.0 +VTS,1,1,600,1.56,CRD,8.5 +VTS,1,1,480,1.44,CSH,7.5 +VTS,1,1,540,0.77,CRD,7.0 +VTS,1,1,540,2.75,CRD,10.0 +VTS,1,1,420,1.49,CSH,7.0 +VTS,1,1,120,0.76,CRD,4.5 +VTS,1,1,240,0.91,CRD,5.5 +VTS,1,1,300,0.64,CRD,5.0 +VTS,1,1,600,2.42,CRD,11.0 +VTS,1,1,1380,6.63,CRD,21.0 +VTS,5,1,960,5.53,CRD,40.0 +VTS,1,1,1020,6.36,CSH,19.5 +VTS,1,1,300,1.1,CSH,6.0 +VTS,1,1,480,1.66,CSH,8.0 +VTS,1,1,300,0.53,CRD,5.0 +VTS,1,1,540,0.92,CRD,7.5 +VTS,1,1,540,1.41,CRD,7.5 +VTS,1,1,660,1.85,CSH,9.5 +VTS,2,1,2280,18.4,CSH,52.0 +VTS,1,1,600,3.23,CSH,11.0 +VTS,1,5,180,0.51,CSH,4.0 +VTS,1,5,360,1.07,CSH,6.0 +VTS,1,5,600,3.27,CRD,11.5 +VTS,1,5,420,1.84,CRD,8.0 +VTS,1,1,240,0.84,CSH,5.0 +VTS,1,1,780,2.84,CRD,12.5 +VTS,1,1,540,1.53,CSH,7.5 +VTS,1,1,5280,2.27,CRD,44.5 +VTS,1,1,840,2.03,CSH,10.5 +VTS,1,1,240,0.71,CRD,5.0 +VTS,1,1,540,0.89,CRD,7.0 +VTS,1,1,1020,2.48,CRD,13.0 +VTS,1,1,900,3.84,CRD,14.5 +VTS,1,5,840,2.37,CRD,11.0 +VTS,1,5,240,0.83,CSH,5.5 +VTS,1,5,1020,4.9,CSH,17.5 +VTS,1,1,660,1.32,CRD,8.5 +VTS,1,2,660,1.4,CSH,9.0 +VTS,1,1,1620,7.56,CSH,26.5 +VTS,1,5,0,0.0,CSH,2.5 +VTS,1,5,1140,4.46,CRD,17.5 +VTS,1,5,1800,4.31,CSH,21.5 +VTS,1,5,1260,3.28,CSH,15.0 +VTS,1,5,480,0.82,CSH,6.5 +VTS,1,5,180,0.77,CRD,4.5 +VTS,1,5,720,2.63,CSH,11.5 +VTS,1,5,720,2.89,CRD,11.5 +VTS,1,5,780,2.64,CRD,11.5 +VTS,1,5,780,2.43,CSH,11.5 +VTS,1,5,360,1.0,CSH,6.0 +VTS,1,5,840,2.9,CSH,12.5 +VTS,1,1,540,1.1,CRD,7.5 +VTS,1,1,1080,1.66,CRD,12.0 +VTS,1,1,780,2.11,CSH,11.0 +VTS,1,1,780,2.46,CSH,11.0 +VTS,1,1,1560,5.39,CSH,21.0 +VTS,1,1,240,1.27,CRD,6.0 +VTS,1,1,480,2.54,CSH,9.5 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,1140,3.52,CSH,15.5 +VTS,1,5,300,0.69,CRD,5.5 +VTS,1,5,540,1.57,CRD,8.0 +VTS,1,5,780,2.91,CRD,12.0 +VTS,1,5,1620,6.79,CRD,23.5 +VTS,1,5,1020,5.63,CRD,19.0 +VTS,1,5,1140,3.02,CSH,14.0 +VTS,1,5,900,2.64,CSH,12.0 +VTS,1,5,1680,8.45,CRD,29.0 +VTS,1,5,360,0.71,CSH,5.5 +VTS,1,5,180,0.82,CSH,5.0 +VTS,1,1,1500,2.12,CSH,16.5 +VTS,1,1,420,1.24,CSH,7.0 +VTS,1,1,900,4.74,CRD,17.5 +VTS,1,1,240,0.84,CSH,5.5 +VTS,1,1,300,2.01,CSH,8.0 +VTS,1,5,420,0.85,CSH,6.0 +VTS,1,6,1260,7.53,CRD,24.5 +VTS,1,6,480,1.55,CSH,7.5 +VTS,1,5,1020,3.97,CRD,16.0 +VTS,1,6,420,1.99,CRD,8.0 +VTS,1,5,540,0.99,CSH,7.5 +VTS,1,5,180,0.4,CSH,4.5 +VTS,1,5,420,1.44,CSH,7.5 +VTS,1,6,480,1.11,CRD,6.5 +VTS,1,6,240,0.84,CRD,5.0 +VTS,1,6,1020,3.88,CRD,15.5 +VTS,2,5,1860,18.0,CSH,52.0 +VTS,1,1,240,1.01,CSH,5.5 +VTS,1,4,240,1.19,CSH,5.5 +VTS,1,5,300,0.74,CSH,5.5 +VTS,1,4,720,2.04,CSH,8.5 +VTS,1,4,840,1.12,CSH,10.0 +VTS,1,5,300,1.21,CSH,6.0 +VTS,1,5,1020,2.51,CRD,13.0 +VTS,1,4,240,0.49,CRD,5.0 +VTS,1,3,1440,5.69,CRD,21.5 +VTS,1,1,660,1.62,CSH,9.0 +VTS,1,1,480,0.66,CRD,6.5 +VTS,1,1,660,1.43,CRD,8.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,600,2.93,CRD,11.0 +VTS,1,1,480,2.38,CRD,9.5 +VTS,1,1,300,1.75,CSH,6.5 +VTS,1,1,300,0.88,CSH,6.0 +VTS,1,1,660,2.2,CSH,9.5 +VTS,1,1,960,5.77,CSH,18.5 +VTS,1,1,780,1.75,CSH,9.5 +VTS,1,6,360,1.13,CSH,6.5 +VTS,1,6,600,1.9,CSH,9.0 +VTS,1,5,1200,3.85,CRD,16.0 +VTS,1,5,780,3.56,CRD,13.0 +VTS,1,5,1140,12.31,CSH,33.5 +VTS,1,4,660,1.8,CSH,10.0 +VTS,1,5,360,1.46,CRD,6.5 +VTS,1,4,660,1.97,CRD,9.5 +VTS,1,3,780,4.22,CRD,14.5 +VTS,1,4,840,2.58,CSH,12.5 +VTS,1,4,240,1.07,CRD,5.5 +VTS,1,1,360,0.8,CRD,6.0 +VTS,1,1,720,6.41,CSH,19.5 +VTS,1,1,780,1.84,CSH,10.0 +VTS,1,1,420,1.42,CRD,7.5 +VTS,1,1,360,1.23,CRD,6.0 +VTS,1,1,660,2.45,CRD,11.0 +VTS,1,1,600,1.31,CRD,8.0 +VTS,1,1,1440,6.12,CSH,23.0 +VTS,1,1,420,1.03,CRD,7.0 +VTS,1,1,600,1.32,CSH,8.5 +VTS,1,1,240,0.59,CRD,5.0 +VTS,1,4,300,1.08,CRD,6.0 +VTS,1,6,660,2.25,CSH,10.0 +VTS,1,6,540,2.35,CRD,9.5 +VTS,1,6,780,2.89,CRD,12.0 +VTS,1,6,540,1.16,CRD,7.0 +VTS,1,6,480,1.99,CRD,9.0 +VTS,1,6,960,2.42,CSH,12.0 +VTS,1,6,480,1.79,CSH,8.5 +VTS,1,4,240,0.57,CSH,4.5 +VTS,1,4,360,1.57,CSH,7.0 +VTS,1,4,1080,3.28,CSH,15.5 +VTS,1,5,720,1.19,CSH,9.0 +VTS,1,6,840,1.78,CRD,10.5 +VTS,1,1,840,3.05,CRD,12.0 +VTS,1,1,840,1.87,CSH,10.5 +VTS,1,1,780,1.82,CRD,9.5 +VTS,1,1,1140,3.18,CSH,15.0 +VTS,1,1,900,3.83,CRD,14.5 +VTS,1,1,840,2.14,CRD,11.0 +VTS,1,1,420,0.8,CSH,7.0 +VTS,1,1,480,2.05,CRD,8.5 +VTS,1,1,1560,4.82,CSH,18.0 +VTS,1,1,660,4.5,CSH,15.5 +VTS,1,1,1140,2.99,CRD,15.0 +VTS,1,1,540,1.35,CSH,8.0 +VTS,1,1,240,0.87,CRD,5.5 +VTS,1,6,1980,16.75,CRD,48.0 +VTS,1,2,360,0.74,CRD,5.5 +VTS,1,6,600,4.86,CRD,15.5 +VTS,1,6,1560,5.36,CRD,21.5 +VTS,1,6,240,0.85,CSH,5.0 +VTS,1,6,420,1.45,CRD,8.0 +VTS,1,4,120,0.38,CRD,4.0 +VTS,1,4,720,4.17,CSH,14.0 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,480,0.98,CSH,7.0 +VTS,1,1,1260,2.85,CSH,14.5 +VTS,1,1,540,1.73,CSH,8.0 +VTS,1,1,420,1.85,CRD,8.0 +VTS,1,1,180,0.67,CSH,4.0 +VTS,1,1,180,1.07,CSH,5.5 +VTS,1,1,660,4.34,CRD,15.0 +VTS,1,1,420,1.01,CSH,6.5 +VTS,1,1,540,1.26,CSH,7.5 +VTS,1,1,660,1.58,CSH,9.5 +VTS,1,1,120,0.35,CSH,4.0 +VTS,1,1,840,1.78,CRD,11.0 +VTS,1,1,540,3.63,CSH,12.5 +VTS,1,1,420,1.24,CSH,6.5 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,180,0.3,CRD,3.5 +VTS,1,1,300,1.75,CRD,7.5 +VTS,1,1,1620,7.81,CRD,26.0 +VTS,1,4,300,1.14,CRD,6.0 +VTS,1,4,120,0.49,CSH,4.0 +VTS,1,4,840,1.63,CRD,10.5 +VTS,1,4,420,2.9,CSH,10.5 +VTS,1,1,540,1.03,CSH,7.0 +VTS,1,1,600,2.2,CSH,9.0 +VTS,1,1,1440,4.6,CSH,19.0 +VTS,1,1,300,1.0,CSH,5.5 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,300,1.06,CSH,6.0 +VTS,1,1,660,3.36,CSH,12.5 +VTS,1,1,720,3.7,CRD,13.5 +VTS,1,1,180,0.48,CSH,4.0 +VTS,1,1,900,9.86,CRD,27.5 +VTS,1,1,1560,4.48,CSH,15.5 +VTS,1,1,300,0.73,CRD,5.0 +VTS,1,1,300,0.56,CSH,5.0 +VTS,1,1,900,5.17,CSH,18.0 +VTS,1,1,360,0.99,CSH,6.0 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,1200,6.9,CSH,22.5 +VTS,1,1,840,1.33,CSH,10.0 +VTS,1,1,240,0.94,CSH,5.0 +VTS,1,1,600,1.17,CSH,8.0 +VTS,1,2,780,5.82,CRD,18.0 +VTS,1,1,780,2.66,CSH,11.0 +VTS,1,1,300,1.43,CSH,6.5 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,540,1.92,CRD,9.0 +VTS,1,1,600,1.33,CRD,8.5 +VTS,1,1,780,6.27,CSH,19.0 +VTS,1,1,0,0.33,CSH,3.0 +VTS,1,1,60,0.51,CSH,3.5 +VTS,1,1,960,3.27,CRD,14.0 +VTS,1,1,1080,3.26,CRD,14.5 +VTS,1,1,240,0.7,CRD,5.0 +VTS,1,1,540,1.75,CSH,8.5 +VTS,1,1,360,0.82,CSH,6.0 +VTS,1,1,1020,2.54,CRD,13.0 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,780,3.68,CRD,13.0 +VTS,1,1,540,1.68,CRD,8.5 +VTS,1,1,480,1.72,CSH,8.0 +VTS,1,1,480,1.24,CRD,7.5 +VTS,1,1,600,1.12,CSH,8.0 +VTS,1,1,660,2.45,CSH,10.5 +VTS,1,1,960,2.93,CSH,13.5 +VTS,1,1,300,1.46,CRD,6.5 +VTS,1,1,360,1.09,CRD,6.5 +VTS,1,1,1080,2.7,CRD,14.0 +VTS,1,1,720,2.96,CRD,11.5 +VTS,1,6,720,1.89,CSH,10.0 +VTS,1,5,960,3.06,CRD,13.0 +VTS,1,4,540,1.68,CSH,8.0 +VTS,1,6,360,1.06,CRD,6.0 +VTS,1,6,180,0.58,CRD,4.0 +VTS,1,6,660,2.39,CRD,9.5 +VTS,1,5,60,0.43,CSH,3.5 +VTS,1,5,960,4.47,CSH,15.5 +VTS,1,4,840,4.79,CRD,17.0 +VTS,1,6,300,0.91,CRD,5.5 +VTS,1,5,180,1.55,CRD,6.5 +VTS,1,1,780,2.49,CRD,10.5 +VTS,1,1,420,1.91,CRD,8.5 +VTS,1,1,600,2.94,CSH,11.0 +VTS,1,1,240,0.74,CSH,5.0 +VTS,1,1,1140,8.06,CRD,25.5 +VTS,1,1,1080,9.26,CSH,27.0 +VTS,1,1,240,0.84,CRD,5.0 +VTS,1,1,1020,3.82,CSH,15.5 +VTS,1,1,1320,3.7,CSH,17.0 +VTS,1,1,1080,9.23,CSH,27.5 +VTS,1,1,300,1.11,CRD,5.5 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,600,1.92,CSH,9.5 +VTS,1,1,720,1.03,CSH,9.0 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,480,1.24,CSH,7.5 +VTS,1,5,660,1.81,CRD,9.0 +VTS,1,5,360,1.91,CSH,8.0 +VTS,1,6,540,1.56,CSH,8.0 +VTS,1,6,960,4.73,CRD,16.5 +VTS,1,6,840,7.54,CSH,22.0 +VTS,1,5,660,1.72,CRD,9.5 +VTS,1,6,300,0.88,CSH,5.5 +VTS,1,6,1500,5.53,CSH,21.5 +VTS,1,5,960,3.98,CRD,15.5 +VTS,1,5,1140,8.44,CSH,25.5 +VTS,1,5,540,2.02,CRD,8.5 +VTS,1,4,540,0.98,CRD,7.5 +VTS,1,4,300,1.16,CRD,5.5 +VTS,1,3,1140,2.32,CRD,13.5 +VTS,1,4,480,2.03,CRD,8.5 +VTS,2,1,1860,16.71,CRD,52.0 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,900,5.66,CSH,18.0 +VTS,1,1,300,1.08,CRD,6.0 +VTS,1,1,480,1.89,CSH,8.5 +VTS,1,1,420,1.76,CRD,8.5 +VTS,1,1,480,1.81,CRD,8.5 +VTS,1,1,1080,4.4,CSH,17.5 +VTS,1,1,600,2.18,CSH,10.0 +VTS,1,1,660,1.96,CSH,10.0 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,840,2.59,CRD,11.5 +VTS,1,1,300,0.9,CRD,5.0 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,660,1.84,CSH,10.0 +VTS,1,1,780,2.54,CRD,11.5 +VTS,1,1,180,0.51,CRD,4.0 +VTS,1,1,600,1.51,CRD,9.0 +VTS,4,1,120,0.74,CRD,4.0 +VTS,1,1,60,0.78,CRD,4.0 +VTS,1,1,900,2.91,CRD,13.0 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,480,0.57,CSH,6.5 +VTS,1,1,180,0.6,CSH,4.5 +VTS,2,1,1920,16.1,CRD,52.0 +VTS,1,1,1380,7.32,CRD,24.5 +VTS,1,1,480,1.62,CRD,8.5 +VTS,1,1,420,1.62,CRD,8.0 +VTS,1,1,900,2.67,CSH,12.5 +VTS,1,1,540,1.48,CRD,8.0 +VTS,1,1,300,1.52,CSH,6.5 +VTS,1,1,360,0.85,CRD,5.5 +VTS,1,1,240,0.88,CSH,5.5 +VTS,1,1,660,4.07,CRD,13.0 +VTS,1,1,1800,2.93,CSH,20.0 +VTS,1,4,1080,9.15,CSH,27.0 +VTS,1,4,120,0.85,CRD,4.5 +VTS,1,1,780,1.43,CSH,9.5 +VTS,1,1,780,2.1,CSH,10.0 +VTS,1,1,540,1.1,CSH,8.0 +VTS,1,1,1920,5.28,CRD,22.5 +VTS,1,1,780,4.11,CSH,14.5 +VTS,1,1,1080,3.16,CSH,14.5 +VTS,1,1,900,7.21,CSH,22.5 +VTS,1,1,300,0.52,CSH,5.0 +VTS,1,1,420,0.89,CSH,7.0 +VTS,1,1,1380,5.98,CRD,22.5 +VTS,1,1,600,1.31,CRD,8.0 +VTS,1,1,720,2.53,CSH,11.0 +VTS,1,1,360,1.31,CRD,6.5 +VTS,1,1,480,1.1,CSH,7.0 +VTS,1,1,540,1.21,CSH,7.0 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,480,0.88,CRD,6.5 +VTS,1,1,900,2.7,CSH,12.5 +VTS,1,1,780,1.43,CRD,10.0 +VTS,1,1,240,0.85,CSH,5.0 +VTS,1,2,720,2.03,CRD,10.5 +VTS,1,1,360,0.77,CRD,5.5 +VTS,1,1,1020,1.48,CRD,12.0 +VTS,1,1,420,0.72,CSH,6.0 +VTS,1,1,1500,3.79,CRD,18.0 +VTS,1,1,600,1.44,CRD,8.5 +VTS,1,1,480,1.09,CSH,7.0 +VTS,1,1,360,0.5,CRD,5.5 +VTS,1,1,1560,3.76,CSH,18.5 +VTS,1,1,360,0.79,CSH,5.5 +VTS,1,1,1380,9.15,CRD,26.5 +VTS,1,1,1440,15.68,CSH,43.5 +VTS,1,1,1140,8.09,CSH,25.0 +VTS,1,1,420,1.14,CRD,7.0 +VTS,1,1,180,0.99,CSH,5.0 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,960,2.02,CSH,12.0 +VTS,1,1,720,2.15,CSH,10.5 +VTS,1,1,840,4.44,CSH,15.0 +VTS,1,1,420,0.61,CRD,6.0 +VTS,1,1,180,0.83,CRD,5.0 +VTS,1,1,1140,4.25,CSH,17.5 +VTS,2,1,0,0.0,CSH,52.0 +VTS,1,1,1020,2.91,CSH,13.5 +VTS,1,1,1320,3.61,CSH,16.0 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,540,2.39,CRD,10.0 +VTS,1,1,420,2.23,CRD,9.0 +VTS,1,1,900,1.84,CRD,10.5 +VTS,1,1,420,1.12,CSH,7.0 +VTS,1,1,600,1.81,CRD,8.5 +VTS,1,1,660,2.76,CRD,12.0 +VTS,1,1,60,0.32,CSH,3.5 +VTS,1,1,480,2.02,CSH,8.5 +VTS,1,1,840,2.48,CSH,11.5 +VTS,1,1,300,1.46,CSH,6.5 +VTS,1,1,600,3.48,CRD,12.5 +VTS,1,1,840,3.2,CRD,12.5 +VTS,1,1,300,1.19,CRD,5.5 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,1,600,2.69,CRD,10.5 +VTS,1,1,600,1.52,CRD,8.5 +VTS,1,1,780,3.13,CRD,13.0 +VTS,1,1,540,1.36,CRD,7.5 +VTS,1,1,300,2.6,CSH,9.0 +VTS,1,1,1080,7.82,CRD,24.5 +VTS,1,1,240,0.83,CSH,5.0 +VTS,1,1,780,1.58,CSH,9.5 +VTS,1,1,240,0.59,CSH,5.0 +VTS,1,1,1440,4.44,CSH,18.5 +VTS,1,1,780,1.62,CRD,10.0 +VTS,1,1,3480,11.8,CRD,45.5 +VTS,1,1,1200,9.74,CRD,27.5 +VTS,1,1,960,3.62,CSH,14.5 +VTS,1,1,1140,4.91,CSH,19.5 +VTS,1,1,360,1.58,CRD,7.5 +VTS,1,1,720,3.6,CSH,13.5 +VTS,1,1,660,2.09,CRD,10.0 +VTS,1,1,1260,2.43,CSH,14.5 +VTS,1,1,1740,12.54,CSH,35.5 +VTS,1,1,780,7.36,CRD,22.0 +VTS,1,1,720,1.91,CRD,10.0 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,900,1.66,CSH,10.5 +VTS,1,1,660,2.33,CSH,10.0 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,600,1.98,CSH,9.5 +VTS,1,1,900,2.82,CRD,12.5 +VTS,1,1,240,1.35,CRD,6.0 +VTS,1,1,480,4.28,CRD,13.5 +VTS,1,1,540,0.98,CRD,7.0 +VTS,1,1,300,0.75,CSH,5.0 +VTS,1,1,240,0.75,CSH,5.5 +VTS,1,1,900,2.66,CSH,12.5 +VTS,1,1,480,2.54,CRD,9.5 +VTS,1,1,240,0.41,CRD,4.5 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,1,600,0.79,CSH,7.5 +VTS,1,1,840,1.62,CSH,10.0 +VTS,1,1,720,2.09,CRD,10.0 +VTS,1,1,360,1.01,CSH,6.5 +VTS,1,1,1380,5.75,CRD,22.0 +VTS,1,1,1140,3.57,CRD,15.5 +VTS,1,1,300,1.01,CSH,6.0 +VTS,1,1,480,0.71,CSH,7.0 +VTS,1,1,420,1.58,CRD,7.5 +VTS,1,1,120,0.6,CRD,4.0 +VTS,1,1,1260,3.15,CRD,16.0 +VTS,1,1,300,0.95,CSH,6.0 +VTS,1,1,360,1.04,CSH,6.0 +VTS,1,1,300,0.87,CRD,6.0 +VTS,1,1,1080,8.91,CSH,25.5 +VTS,1,1,1200,6.36,CSH,22.0 +VTS,1,1,240,0.65,CSH,5.0 +VTS,1,1,660,1.51,CRD,9.0 +VTS,1,1,600,1.75,CSH,9.5 +VTS,1,1,180,1.18,CRD,5.0 +VTS,4,1,1320,3.33,CRD,17.0 +VTS,1,1,420,0.72,CSH,6.5 +VTS,1,1,780,1.96,CRD,10.0 +VTS,1,1,480,1.53,CRD,8.0 +VTS,1,1,1080,3.47,CRD,15.5 +VTS,1,4,840,2.65,CRD,12.0 +VTS,1,4,1380,4.73,CRD,19.5 +VTS,1,4,300,2.06,CRD,8.0 +VTS,1,4,720,2.92,CRD,12.0 +VTS,1,1,240,0.69,CRD,5.0 +VTS,1,5,600,1.56,CSH,8.5 +VTS,1,5,1020,2.58,CRD,12.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,660,1.38,CRD,9.0 +VTS,1,1,720,2.84,CRD,12.0 +VTS,1,1,300,1.27,CSH,6.5 +VTS,1,1,840,3.17,CRD,13.5 +VTS,1,1,660,1.58,CRD,9.0 +VTS,1,1,780,5.52,CSH,18.5 +VTS,1,1,360,1.41,CRD,6.5 +VTS,1,1,480,1.76,CRD,8.0 +VTS,1,1,540,1.77,CSH,8.5 +VTS,1,1,1140,4.59,CRD,18.0 +VTS,1,1,720,1.49,CSH,9.0 +VTS,1,1,480,0.78,CRD,7.0 +VTS,1,1,600,1.32,CRD,8.0 +VTS,1,1,600,2.66,CRD,10.0 +VTS,1,1,1560,11.61,CRD,34.5 +VTS,1,1,180,1.0,CSH,5.0 +VTS,1,1,480,2.08,CSH,8.5 +VTS,1,1,480,1.26,CSH,7.0 +VTS,1,1,480,2.31,CSH,9.0 +VTS,1,1,1560,4.29,CRD,19.5 +VTS,1,1,420,1.2,CRD,7.0 +VTS,1,1,420,1.13,CRD,6.5 +VTS,1,1,1740,10.19,CRD,32.0 +VTS,1,1,420,1.58,CSH,7.5 +VTS,1,1,1020,3.87,CRD,15.5 +VTS,1,1,540,2.15,CSH,9.0 +VTS,1,1,540,1.48,CRD,8.5 +VTS,1,1,540,1.59,CRD,8.5 +VTS,1,1,780,1.08,CRD,9.5 +VTS,1,1,1380,3.74,CRD,16.5 +VTS,1,1,300,1.21,CRD,6.5 +VTS,1,1,720,1.64,CSH,10.0 +VTS,1,1,300,2.25,CRD,8.5 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,1440,6.61,CRD,23.0 +VTS,1,1,1380,2.52,CSH,16.0 +VTS,1,1,1140,3.28,CSH,14.5 +VTS,1,1,540,1.63,CSH,8.5 +VTS,1,1,300,1.1,CSH,6.0 +VTS,1,1,660,2.34,CRD,11.0 +VTS,1,4,780,1.82,CRD,10.5 +VTS,1,4,720,2.49,CRD,11.0 +VTS,1,3,180,0.77,CSH,4.5 +VTS,1,4,360,1.06,CSH,6.5 +VTS,1,4,540,1.17,CRD,7.5 +VTS,1,3,360,0.77,CSH,6.0 +VTS,1,4,1680,7.31,CSH,25.5 +VTS,1,4,60,0.25,CRD,3.0 +VTS,1,4,480,1.26,CSH,7.5 +VTS,1,1,720,0.68,CRD,8.0 +VTS,1,1,540,2.21,CRD,9.0 +VTS,1,1,1380,7.88,CSH,24.5 +VTS,1,1,1500,3.04,CRD,17.0 +VTS,1,1,1680,9.07,CSH,29.5 +VTS,1,1,1020,1.4,CSH,11.5 +VTS,1,4,960,1.83,CRD,12.0 +VTS,1,4,420,1.18,CSH,6.5 +VTS,1,4,480,1.86,CRD,8.5 +VTS,1,4,1200,3.55,CRD,15.5 +VTS,1,1,480,1.52,CRD,8.0 +VTS,1,1,180,0.54,CSH,4.5 +VTS,1,1,1200,3.09,CRD,15.0 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,5,480,1.7,CSH,8.0 +VTS,1,5,300,0.57,CSH,4.5 +VTS,1,5,1140,2.2,CRD,14.0 +VTS,1,5,1140,3.03,CSH,13.0 +VTS,1,5,720,4.04,CRD,13.5 +VTS,1,5,360,1.47,CRD,7.0 +VTS,4,1,780,1.88,CSH,10.0 +VTS,1,1,600,2.75,CSH,10.5 +VTS,1,1,240,1.33,CSH,6.0 +VTS,1,1,1080,3.1,CRD,13.0 +VTS,1,1,540,2.57,CRD,10.0 +VTS,1,1,180,0.49,CRD,4.0 +VTS,1,1,300,1.09,CSH,5.5 +VTS,1,1,1380,10.36,CSH,30.5 +VTS,1,1,300,1.15,CSH,6.0 +VTS,1,1,360,0.82,CSH,6.0 +VTS,1,1,780,1.92,CSH,10.5 +VTS,1,1,900,2.04,CRD,11.5 +VTS,1,1,1380,4.56,CRD,19.5 +VTS,1,1,660,1.85,CSH,9.5 +VTS,1,1,660,4.73,CRD,16.0 +VTS,1,1,240,0.9,CRD,5.0 +VTS,1,1,420,1.96,CRD,8.5 +VTS,1,1,1260,3.48,CSH,12.5 +VTS,1,1,780,2.95,CRD,12.0 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,660,1.92,CSH,9.5 +VTS,1,1,480,2.16,CSH,9.5 +VTS,1,1,240,0.64,CSH,4.5 +VTS,1,1,720,2.54,CSH,11.5 +VTS,1,1,420,1.21,CRD,7.0 +VTS,1,1,600,1.99,CRD,9.0 +VTS,1,1,540,1.9,CRD,9.0 +VTS,1,1,600,1.44,CRD,8.5 +VTS,1,1,540,1.3,CRD,8.0 +VTS,1,1,240,0.85,CSH,5.5 +VTS,1,1,180,1.43,CSH,6.0 +VTS,1,1,300,1.38,CSH,6.5 +VTS,1,1,0,0.06,CSH,2.5 +VTS,2,1,1740,17.28,CSH,52.0 +VTS,1,1,360,1.94,CSH,8.0 +VTS,1,1,0,0.01,CSH,2.5 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,180,0.46,CRD,3.5 +VTS,1,1,900,2.16,CSH,12.0 +VTS,1,1,240,0.71,CSH,5.0 +VTS,1,1,840,3.49,CSH,11.5 +VTS,1,1,900,6.08,CRD,20.0 +VTS,1,1,1020,3.33,CSH,14.0 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,300,1.02,CSH,6.0 +VTS,1,1,360,0.91,CRD,5.5 +VTS,1,1,420,1.31,CRD,7.0 +VTS,1,1,540,1.98,CSH,8.5 +VTS,1,1,120,0.89,CSH,4.5 +VTS,1,1,660,1.7,CRD,9.5 +VTS,1,1,1200,2.26,CSH,14.5 +VTS,1,1,1440,3.87,CRD,17.5 +VTS,1,1,600,1.34,CRD,8.5 +VTS,1,1,420,1.06,CRD,6.5 +VTS,1,1,660,1.92,CRD,9.5 +VTS,1,1,840,5.81,CSH,18.5 +VTS,1,1,1140,6.52,CSH,21.5 +VTS,1,1,300,1.25,CRD,6.5 +VTS,1,1,600,1.97,CRD,9.0 +VTS,1,1,780,2.62,CSH,11.5 +VTS,1,1,300,1.74,CSH,7.0 +VTS,1,1,480,1.19,CRD,7.5 +VTS,1,1,300,0.69,CSH,5.0 +VTS,1,1,840,2.17,CSH,11.5 +VTS,1,1,660,1.88,CSH,10.0 +VTS,1,1,1020,3.23,CSH,13.5 +VTS,1,1,600,1.98,CSH,9.5 +VTS,1,4,540,1.97,CSH,9.0 +VTS,1,4,660,3.99,CRD,13.5 +VTS,1,4,720,3.03,CSH,12.5 +VTS,1,1,120,0.71,CSH,4.0 +VTS,1,5,420,0.99,CRD,6.5 +VTS,1,5,780,1.79,CSH,10.0 +VTS,1,5,300,0.44,CSH,5.0 +VTS,1,5,1800,7.29,CSH,26.5 +VTS,1,5,600,1.45,CRD,8.5 +VTS,1,5,360,1.23,CSH,7.0 +VTS,4,1,780,1.49,CSH,10.0 +VTS,1,1,1440,6.42,CSH,22.5 +VTS,1,1,600,1.74,CRD,9.5 +VTS,1,1,600,3.23,CSH,11.0 +VTS,1,1,720,3.07,CRD,12.0 +VTS,1,1,420,1.41,CRD,7.5 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,780,4.0,CSH,14.0 +VTS,1,1,1560,1.48,CSH,16.0 +VTS,1,1,300,1.18,CSH,6.0 +VTS,1,1,660,2.03,CRD,9.5 +VTS,1,1,1080,4.05,CSH,16.5 +VTS,1,1,900,2.4,CRD,11.5 +VTS,1,1,480,1.14,CSH,7.5 +VTS,1,1,420,1.82,CSH,8.5 +VTS,1,4,720,1.16,CRD,9.0 +VTS,1,4,420,0.73,CSH,6.0 +VTS,1,1,780,2.51,CRD,11.0 +VTS,1,1,300,0.58,CSH,4.5 +VTS,1,1,720,2.11,CRD,11.0 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,960,11.75,CSH,32.0 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,300,1.94,CSH,7.5 +VTS,1,5,480,1.4,CSH,7.5 +VTS,1,5,120,0.68,CRD,4.0 +VTS,1,1,480,1.43,CRD,7.5 +VTS,2,1,1500,17.79,CSH,52.0 +VTS,1,1,1260,12.11,CRD,34.5 +VTS,1,1,240,1.47,CSH,6.0 +VTS,1,1,600,1.79,CRD,8.5 +VTS,1,1,1320,2.19,CSH,14.5 +VTS,1,1,780,1.25,CSH,9.5 +VTS,1,1,300,0.58,CRD,5.0 +VTS,1,1,420,0.56,CSH,6.0 +VTS,1,1,420,1.53,CSH,7.5 +VTS,2,1,1920,16.17,CRD,52.0 +VTS,1,1,180,0.9,CSH,5.0 +VTS,1,1,540,1.53,CRD,8.5 +VTS,1,1,360,1.79,CRD,7.5 +VTS,1,1,960,3.38,CRD,14.5 +VTS,1,1,720,2.54,CRD,12.0 +VTS,1,1,540,1.79,CRD,8.5 +VTS,1,1,300,0.75,CSH,5.5 +VTS,1,4,600,2.6,CSH,10.5 +VTS,1,4,240,1.04,CSH,5.5 +VTS,1,1,900,1.71,CRD,10.5 +VTS,1,1,540,2.65,CRD,10.0 +VTS,1,1,1380,12.66,CRD,35.5 +VTS,1,5,600,1.42,CSH,8.5 +VTS,1,5,660,2.2,CRD,10.0 +VTS,1,5,1500,4.97,CSH,21.0 +VTS,1,5,660,2.91,CRD,11.0 +VTS,1,5,720,3.31,CRD,12.5 +VTS,1,5,480,3.05,CSH,10.5 +VTS,1,5,600,7.25,CRD,20.5 +VTS,4,1,480,0.92,CRD,6.5 +VTS,1,1,960,2.69,CRD,13.0 +VTS,1,1,540,3.06,CRD,11.0 +VTS,1,1,120,0.55,CSH,4.0 +VTS,1,1,1080,4.41,CRD,17.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,900,3.53,CSH,15.0 +VTS,1,1,420,2.19,CRD,8.5 +VTS,1,1,480,1.19,CRD,7.0 +VTS,1,1,600,1.99,CSH,9.5 +VTS,1,1,420,1.35,CRD,7.0 +VTS,1,1,120,0.81,CSH,4.5 +VTS,1,1,480,1.15,CRD,7.0 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,2,600,1.56,CRD,8.5 +VTS,1,1,1140,3.38,CSH,15.0 +VTS,1,1,540,2.58,CSH,9.5 +VTS,1,1,900,1.83,CSH,11.0 +VTS,1,1,480,3.15,CSH,11.5 +VTS,1,1,360,2.09,CRD,8.0 +VTS,1,1,960,3.97,CRD,15.0 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,3,540,1.32,CSH,8.0 +VTS,1,4,840,1.17,CSH,10.0 +VTS,1,4,1500,4.83,CRD,20.5 +VTS,1,4,600,3.28,CRD,12.5 +VTS,1,1,480,1.43,CSH,7.0 +VTS,1,1,60,0.44,CSH,3.5 +VTS,1,1,360,1.51,CRD,7.0 +VTS,1,5,360,0.88,CSH,6.0 +VTS,1,5,240,0.67,CSH,4.5 +VTS,1,5,1080,4.36,CSH,16.5 +VTS,1,1,240,1.47,CRD,6.0 +VTS,1,1,420,1.88,CSH,8.0 +VTS,1,1,360,1.28,CRD,6.5 +VTS,1,1,480,1.99,CRD,8.5 +VTS,1,1,600,1.62,CSH,8.5 +VTS,1,1,780,2.34,CRD,10.5 +VTS,1,1,600,2.04,CRD,9.0 +VTS,1,1,1500,2.81,CRD,17.5 +VTS,1,1,1140,3.51,CRD,15.5 +VTS,1,1,900,4.1,CSH,15.5 +VTS,1,1,780,2.28,CRD,11.0 +VTS,1,1,360,1.19,CSH,6.5 +VTS,1,1,540,1.87,CRD,9.0 +VTS,1,1,1140,9.81,CSH,28.5 +VTS,1,1,240,1.2,CSH,5.5 +VTS,1,1,480,1.74,CSH,8.0 +VTS,1,1,480,1.46,CSH,8.0 +VTS,1,1,960,2.12,CSH,11.0 +VTS,1,1,720,1.78,CRD,9.5 +VTS,1,1,720,0.99,CRD,9.0 +VTS,1,1,1260,9.31,CRD,27.0 +VTS,1,1,300,1.11,CRD,6.0 +VTS,1,1,420,0.76,CSH,6.0 +VTS,1,1,660,1.76,CRD,9.5 +VTS,1,1,1080,3.23,CSH,14.0 +VTS,1,1,240,1.41,CSH,6.0 +VTS,1,1,360,1.46,CRD,6.5 +VTS,1,5,360,0.84,CRD,6.0 +VTS,1,5,240,0.44,CSH,4.0 +VTS,1,5,180,0.7,CSH,4.5 +VTS,1,5,900,1.85,CSH,11.0 +VTS,1,1,420,1.12,CRD,7.0 +VTS,1,1,480,1.42,CSH,7.5 +VTS,1,1,240,1.42,CRD,6.0 +VTS,1,1,360,1.42,CRD,7.0 +VTS,1,1,660,2.8,CRD,11.0 +VTS,1,1,600,2.21,CRD,10.0 +VTS,1,1,900,3.6,CSH,13.5 +VTS,1,1,480,1.14,CSH,7.0 +VTS,1,1,540,1.92,CSH,8.5 +VTS,1,1,420,1.38,CSH,7.0 +VTS,1,1,480,1.8,CSH,8.0 +VTS,1,1,1020,3.57,CSH,14.5 +VTS,1,1,660,1.19,CSH,8.5 +VTS,1,1,660,2.18,CRD,10.0 +VTS,1,1,540,1.64,CRD,8.0 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,660,2.7,CSH,10.5 +VTS,1,1,480,2.34,CRD,9.0 +VTS,1,1,480,1.44,CRD,8.0 +VTS,1,1,420,2.3,CSH,8.5 +VTS,1,1,780,2.4,CRD,11.0 +VTS,1,1,480,1.8,CSH,8.0 +VTS,1,1,1680,4.13,CSH,20.0 +VTS,1,5,300,0.97,CRD,6.0 +VTS,1,5,480,1.16,CSH,7.5 +VTS,1,5,480,0.97,CRD,7.0 +VTS,1,5,360,0.92,CRD,5.5 +VTS,1,5,780,3.42,CSH,13.5 +VTS,1,5,780,2.15,CRD,10.0 +VTS,1,5,960,5.25,CSH,17.0 +VTS,1,1,420,1.68,CSH,8.0 +VTS,1,1,360,1.66,CRD,7.5 +VTS,1,1,1080,9.16,CRD,26.5 +VTS,1,1,960,4.17,CSH,16.0 +VTS,1,1,1620,2.89,CRD,17.0 +VTS,1,1,960,4.84,CSH,17.0 +VTS,1,1,600,1.81,CSH,8.5 +VTS,1,1,540,1.63,CSH,8.0 +VTS,1,1,420,1.39,CRD,7.0 +VTS,1,1,420,1.3,CSH,7.0 +VTS,1,1,720,1.42,CRD,9.5 +VTS,1,1,1380,2.44,CRD,15.0 +VTS,1,1,1260,9.34,CRD,28.0 +VTS,1,1,300,0.48,CRD,5.0 +VTS,1,1,1740,9.79,CRD,30.0 +VTS,1,1,480,2.52,CSH,9.5 +VTS,1,1,1200,4.67,CSH,17.5 +VTS,1,1,2340,4.29,CSH,25.0 +VTS,1,1,180,0.83,CSH,4.5 +VTS,1,1,960,1.63,CSH,11.5 +VTS,1,1,360,0.76,CSH,5.5 +VTS,1,1,840,2.03,CSH,10.5 +VTS,1,1,1440,2.38,CSH,15.5 +VTS,1,1,900,2.19,CRD,11.0 +VTS,1,1,2160,10.81,CSH,34.0 +VTS,1,1,480,1.6,CSH,8.0 +VTS,1,1,600,1.67,CSH,9.0 +VTS,1,1,180,0.47,CSH,4.0 +VTS,1,1,720,2.75,CRD,11.0 +VTS,1,1,480,1.05,CSH,6.5 +VTS,1,1,1080,3.55,CSH,14.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,780,1.73,CRD,10.0 +VTS,1,1,1260,8.13,CRD,25.5 +VTS,1,1,180,0.53,CSH,4.0 +VTS,1,1,300,0.7,CSH,5.0 +VTS,1,1,600,2.5,CRD,10.0 +VTS,2,1,1740,16.25,CSH,52.0 +VTS,1,1,480,1.46,CRD,7.5 +VTS,1,1,120,0.62,CSH,4.0 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,480,1.25,CRD,7.0 +VTS,1,1,420,1.05,CRD,7.0 +VTS,1,1,180,1.01,CSH,5.0 +VTS,1,1,360,1.12,CRD,7.0 +VTS,1,1,1200,5.5,CRD,20.0 +VTS,1,1,600,2.03,CRD,10.0 +VTS,1,1,240,0.62,CRD,5.0 +VTS,1,1,900,1.63,CSH,11.0 +VTS,1,1,300,1.13,CSH,6.0 +VTS,1,1,840,3.7,CRD,14.0 +VTS,1,1,420,0.98,CRD,6.5 +VTS,1,1,540,1.26,CRD,7.5 +VTS,1,1,840,4.33,CSH,15.5 +VTS,1,1,1440,4.29,CRD,18.5 +VTS,1,1,660,1.24,CRD,9.0 +VTS,1,1,600,1.73,CSH,9.0 +VTS,1,1,540,1.62,CRD,8.0 +VTS,1,1,360,1.72,CRD,7.0 +VTS,1,1,420,1.06,CRD,6.5 +VTS,1,1,1380,4.77,CRD,19.0 +VTS,1,1,540,1.82,CRD,9.0 +VTS,1,1,960,2.59,CSH,12.5 +VTS,1,1,540,1.5,CRD,8.0 +VTS,1,1,600,1.41,CSH,8.5 +VTS,1,1,120,0.55,CSH,4.0 +VTS,1,1,720,2.28,CRD,10.5 +VTS,1,1,1020,2.44,CRD,12.5 +VTS,1,1,540,1.85,CRD,8.5 +VTS,1,1,420,1.06,CSH,7.0 +VTS,1,1,240,1.2,CSH,5.5 +VTS,1,1,1020,4.13,CRD,15.5 +VTS,1,1,900,5.3,CSH,17.5 +VTS,1,1,840,2.16,CSH,12.0 +VTS,1,1,600,1.75,CSH,9.0 +VTS,1,1,720,1.7,CRD,10.5 +VTS,1,1,600,2.14,CSH,9.5 +VTS,1,1,1260,2.88,CSH,16.5 +VTS,1,1,840,2.01,CRD,11.0 +VTS,1,1,720,1.08,CRD,9.0 +VTS,1,1,900,1.7,CRD,11.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,480,1.74,CSH,8.0 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,1260,5.45,CRD,19.0 +VTS,1,1,1020,1.91,CRD,12.5 +VTS,1,1,540,1.26,CRD,8.0 +VTS,1,1,780,2.26,CRD,11.5 +VTS,1,1,420,1.14,CSH,6.5 +VTS,1,1,600,4.13,CRD,13.5 +VTS,1,1,780,2.43,CSH,11.5 +VTS,1,1,660,3.02,CRD,11.5 +VTS,1,1,780,2.76,CRD,11.5 +VTS,1,1,240,0.73,CRD,4.5 +VTS,1,1,660,1.84,CRD,9.0 +VTS,1,1,720,2.01,CSH,10.0 +VTS,1,4,540,1.22,CRD,8.0 +VTS,1,4,1140,5.58,CRD,19.0 +VTS,1,1,480,1.44,CRD,7.5 +VTS,1,1,180,0.56,CRD,4.0 +VTS,1,1,1200,11.07,CRD,30.5 +VTS,1,1,360,1.44,CSH,7.5 +VTS,1,5,840,2.92,CSH,12.0 +VTS,1,5,780,1.35,CSH,9.5 +VTS,1,5,1920,5.82,CSH,25.0 +VTS,1,5,420,0.86,CRD,6.0 +VTS,1,5,180,0.8,CSH,4.5 +VTS,1,1,1440,3.55,CRD,18.0 +VTS,1,1,420,2.12,CRD,8.5 +VTS,1,1,1440,14.4,CSH,40.0 +VTS,1,1,480,1.72,CRD,8.0 +VTS,1,1,840,1.95,CRD,11.0 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,180,0.46,CSH,4.0 +VTS,1,1,600,1.68,CRD,9.0 +VTS,1,1,840,2.38,CSH,11.0 +VTS,1,1,180,1.12,CSH,5.0 +VTS,1,1,360,0.82,CSH,5.5 +VTS,1,1,300,0.7,CRD,5.0 +VTS,1,1,1080,1.99,CRD,12.5 +VTS,1,1,1140,3.15,CRD,14.5 +VTS,1,1,780,2.21,CRD,11.0 +VTS,1,1,120,0.33,CRD,3.0 +VTS,1,1,420,2.23,CRD,9.0 +VTS,1,1,2220,11.0,CRD,37.5 +VTS,1,1,540,1.18,CSH,7.5 +VTS,1,1,120,1.06,CSH,5.0 +VTS,1,1,1080,2.82,CSH,13.5 +VTS,1,1,840,3.9,CSH,14.0 +VTS,1,1,180,0.9,CRD,5.0 +VTS,1,1,660,1.24,CSH,9.0 +VTS,1,1,1200,2.57,CRD,14.5 +VTS,1,1,1380,9.31,CSH,29.0 +VTS,1,1,420,1.6,CRD,7.5 +VTS,1,1,240,0.48,CSH,4.5 +VTS,1,1,480,1.55,CRD,8.0 +VTS,1,1,900,2.12,CRD,11.0 +VTS,1,1,780,4.64,CSH,16.5 +VTS,1,1,1140,2.02,CRD,13.0 +VTS,1,1,360,1.51,CRD,7.0 +VTS,1,1,540,1.24,CRD,7.5 +VTS,1,1,420,0.47,CSH,6.0 +VTS,1,1,540,1.16,CSH,7.5 +VTS,1,1,840,2.08,CRD,11.0 +VTS,1,1,540,1.85,CRD,8.5 +VTS,1,1,300,0.76,CSH,5.5 +VTS,1,1,720,0.97,CRD,8.5 +VTS,1,1,420,1.04,CRD,7.0 +VTS,1,1,3720,6.15,CRD,38.0 +VTS,1,1,300,1.92,CSH,7.5 +VTS,1,1,540,1.37,CSH,8.0 +VTS,1,1,240,0.52,CRD,4.0 +VTS,1,1,180,0.48,CSH,4.0 +VTS,1,1,720,0.75,CSH,8.5 +VTS,1,1,660,2.18,CRD,10.0 +VTS,1,1,540,1.52,CRD,8.0 +VTS,1,1,1500,5.64,CRD,21.5 +VTS,1,1,1260,3.42,CSH,15.5 +VTS,1,1,360,1.36,CSH,6.5 +VTS,1,1,600,1.57,CRD,9.0 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,480,1.25,CSH,7.5 +VTS,1,1,1020,3.13,CRD,14.5 +VTS,1,1,840,3.3,CRD,13.0 +VTS,1,1,720,1.35,CSH,9.5 +VTS,1,1,1080,5.33,CRD,19.0 +VTS,1,1,780,1.32,CSH,9.5 +VTS,1,1,240,1.21,CSH,6.0 +VTS,1,1,1020,1.35,CRD,11.0 +VTS,1,1,840,1.87,CRD,10.5 +VTS,1,1,1260,9.96,CRD,29.0 +VTS,1,1,420,1.4,CRD,7.5 +VTS,1,1,480,0.86,CSH,6.5 +VTS,1,1,180,0.23,CSH,4.0 +VTS,1,1,240,0.65,CSH,5.0 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,960,1.04,CRD,10.0 +VTS,1,1,2400,10.3,CRD,36.0 +VTS,1,1,960,2.09,CRD,11.5 +VTS,1,1,1020,2.02,CRD,12.0 +VTS,1,1,180,0.57,CRD,4.0 +VTS,1,1,240,0.7,CSH,5.0 +VTS,1,1,600,1.74,CRD,9.0 +VTS,1,1,1320,6.54,CRD,22.5 +VTS,1,1,360,0.79,CRD,5.5 +VTS,1,1,300,1.29,CSH,6.5 +VTS,1,1,1380,7.09,CSH,24.0 +VTS,1,1,480,0.61,CSH,6.5 +VTS,1,1,300,0.76,CRD,5.0 +VTS,2,1,2220,19.02,CRD,52.0 +VTS,1,1,300,1.44,CRD,6.5 +VTS,1,1,1200,4.8,CSH,19.0 +VTS,1,1,720,1.15,CRD,9.0 +VTS,1,1,1680,11.59,CRD,35.5 +VTS,1,1,720,1.87,CRD,9.5 +VTS,1,1,1020,2.8,CRD,13.5 +VTS,1,1,420,1.53,CSH,7.0 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,480,1.65,CSH,8.0 +VTS,1,1,540,2.49,CRD,10.0 +VTS,1,1,420,1.03,CRD,6.5 +VTS,1,1,660,1.73,CRD,9.5 +VTS,1,1,480,1.12,CSH,7.0 +VTS,1,1,540,1.82,CRD,8.5 +VTS,1,1,600,2.62,CSH,10.0 +VTS,1,1,1860,11.53,CRD,36.5 +VTS,1,1,600,0.85,CSH,8.0 +VTS,2,1,1860,10.22,CRD,52.0 +VTS,1,1,480,1.4,CRD,7.5 +VTS,1,1,180,0.88,CSH,5.0 +VTS,1,1,1320,2.81,CRD,16.0 +VTS,1,1,660,1.74,CRD,9.0 +VTS,1,1,480,1.35,CSH,7.5 +VTS,1,1,1620,10.49,CRD,32.5 +VTS,1,1,720,2.23,CRD,10.5 +VTS,1,1,720,1.52,CSH,9.5 +VTS,1,1,600,1.33,CRD,8.5 +VTS,1,1,240,0.74,CRD,5.0 +VTS,1,1,600,1.41,CSH,8.5 +VTS,1,1,120,0.54,CRD,4.0 +VTS,1,1,1500,2.83,CSH,18.0 +VTS,1,1,1680,10.87,CRD,31.5 +VTS,1,1,600,2.53,CRD,10.0 +VTS,1,1,600,1.37,CSH,8.0 +VTS,1,1,540,1.27,CSH,7.5 +VTS,1,1,300,0.71,CSH,5.0 +VTS,1,1,1560,4.35,CRD,20.0 +VTS,1,1,780,1.32,CSH,9.5 +VTS,1,1,1080,9.11,CSH,28.0 +VTS,1,1,720,2.1,CRD,10.5 +VTS,1,1,1140,1.58,CRD,12.5 +VTS,1,1,660,1.67,CSH,9.0 +VTS,1,1,360,0.97,CRD,6.0 +VTS,1,1,1260,3.59,CRD,15.5 +VTS,1,1,780,2.64,CRD,10.5 +VTS,1,1,960,2.33,CSH,11.5 +VTS,1,1,840,2.05,CRD,10.5 +VTS,1,1,480,1.5,CRD,7.5 +VTS,1,1,1920,9.8,CRD,31.5 +VTS,1,1,540,3.75,CSH,12.5 +VTS,2,1,2160,17.16,CSH,52.0 +VTS,1,1,540,1.15,CRD,7.5 +VTS,1,1,540,1.92,CRD,9.0 +VTS,1,1,1200,2.66,CRD,14.5 +VTS,1,1,480,1.57,CRD,7.5 +VTS,1,1,600,1.29,CRD,8.5 +VTS,1,1,600,2.51,CRD,10.0 +VTS,1,1,1440,3.93,CSH,18.5 +VTS,1,1,420,1.26,CRD,6.5 +VTS,1,1,720,1.73,CRD,9.5 +VTS,1,1,660,2.17,CRD,9.5 +VTS,1,1,240,0.87,CSH,5.0 +VTS,1,1,360,1.31,CSH,6.5 +VTS,1,1,600,2.61,CRD,10.5 +VTS,1,1,360,1.71,CRD,7.0 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,360,0.77,CSH,6.0 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,180,0.32,CRD,4.0 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,1,540,1.5,CSH,8.0 +VTS,1,1,360,1.11,CSH,6.0 +VTS,1,1,240,1.0,CRD,5.5 +VTS,1,1,420,0.82,CSH,6.5 +VTS,1,1,780,1.61,CRD,9.5 +VTS,1,1,900,7.33,CSH,22.0 +VTS,1,1,180,0.23,CSH,3.5 +VTS,1,1,60,0.15,CSH,3.0 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,1,240,1.04,CRD,5.5 +VTS,1,1,300,1.25,CSH,6.5 +VTS,1,1,840,3.44,CRD,13.0 +VTS,1,1,420,1.02,CSH,6.5 +VTS,1,1,60,0.09,CSH,3.0 +VTS,1,1,420,1.91,CSH,7.5 +VTS,1,1,1200,12.1,CRD,33.5 +VTS,1,1,720,1.18,CRD,9.5 +VTS,1,1,1020,3.46,CRD,14.5 +VTS,1,6,420,1.07,CSH,7.0 +VTS,1,1,480,1.64,CRD,8.0 +VTS,1,1,1440,5.18,CRD,20.5 +VTS,1,1,1740,15.08,CSH,41.5 +VTS,1,1,480,1.47,CSH,8.0 +VTS,1,1,540,1.89,CRD,9.0 +VTS,1,1,780,2.98,CRD,12.0 +VTS,1,1,360,0.96,CSH,5.5 +VTS,2,1,1680,16.69,CRD,52.0 +VTS,1,1,180,0.89,CSH,5.0 +VTS,1,1,540,2.57,CRD,10.0 +VTS,1,1,900,4.61,CSH,16.0 +VTS,1,1,1740,2.66,CSH,18.5 +VTS,1,1,2160,10.83,CRD,36.0 +VTS,1,1,840,3.63,CSH,13.5 +VTS,1,1,2040,10.02,CRD,33.5 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,300,0.67,CRD,5.0 +VTS,1,1,300,1.45,CSH,6.5 +VTS,1,1,420,0.72,CSH,6.5 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,1140,2.42,CRD,14.0 +VTS,1,1,240,1.12,CSH,5.5 +VTS,1,1,600,1.5,CSH,8.0 +VTS,1,1,480,1.6,CSH,8.0 +VTS,1,1,120,0.42,CRD,4.0 +VTS,1,1,720,2.55,CRD,11.0 +VTS,1,1,1260,2.01,CRD,13.5 +VTS,1,1,1140,1.97,CRD,13.0 +VTS,1,1,780,2.53,CSH,12.0 +VTS,1,1,480,1.12,CSH,7.0 +VTS,1,1,420,1.21,CRD,6.5 +VTS,1,1,360,0.79,CSH,5.5 +VTS,1,1,1080,1.6,CSH,12.0 +VTS,1,1,360,0.9,CSH,6.0 +VTS,1,1,540,0.96,CSH,7.0 +VTS,1,1,300,0.73,CSH,5.0 +VTS,1,1,660,1.43,CSH,9.0 +VTS,1,1,540,1.45,CSH,7.5 +VTS,1,1,600,1.62,CSH,8.5 +VTS,1,1,240,0.76,CSH,5.0 +VTS,1,1,1500,9.03,CRD,27.0 +VTS,1,1,840,4.3,CSH,15.0 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,420,1.84,CSH,8.0 +VTS,1,1,840,2.14,CRD,10.5 +VTS,1,1,360,1.99,CRD,7.5 +VTS,1,1,960,2.7,CRD,12.5 +VTS,1,1,240,0.74,CRD,5.0 +VTS,1,1,660,1.26,CSH,8.0 +VTS,1,1,360,0.56,CSH,5.5 +VTS,1,1,360,1.49,CSH,6.5 +VTS,1,1,900,4.04,CRD,14.5 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,240,0.52,CRD,4.5 +VTS,1,1,420,1.45,CRD,7.5 +VTS,1,1,780,1.16,CRD,9.0 +VTS,1,1,540,1.07,CSH,7.5 +VTS,1,1,540,1.02,CSH,7.5 +VTS,1,1,180,0.51,CRD,4.0 +VTS,1,1,960,5.0,CSH,16.5 +VTS,1,1,1380,3.78,CSH,17.0 +VTS,1,1,540,1.81,CRD,9.0 +VTS,1,1,360,1.08,CSH,6.5 +VTS,1,1,540,1.52,CRD,8.0 +VTS,1,1,600,1.01,CSH,8.0 +VTS,1,1,360,0.9,CSH,6.0 +VTS,1,1,180,0.45,CSH,4.0 +VTS,1,1,360,1.44,CRD,7.0 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,1,840,2.79,CSH,12.0 +VTS,2,1,1560,17.23,CSH,52.0 +VTS,2,1,2340,16.2,CSH,52.0 +VTS,1,1,240,0.9,CSH,5.0 +VTS,1,1,360,0.81,CRD,6.0 +VTS,1,1,600,1.18,CSH,8.0 +VTS,1,1,180,0.55,CRD,4.0 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,840,2.62,CRD,12.0 +VTS,1,1,300,0.75,CSH,5.0 +VTS,1,1,780,2.28,CRD,10.5 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,1560,4.15,CSH,19.5 +VTS,1,1,660,6.44,CSH,19.5 +VTS,1,1,840,2.47,CRD,12.0 +VTS,1,1,360,1.6,CRD,7.0 +VTS,1,1,720,1.15,CRD,8.5 +VTS,1,1,1140,3.02,CRD,14.5 +VTS,1,1,1020,3.36,CRD,14.0 +VTS,1,1,720,1.5,CRD,9.0 +VTS,1,1,480,0.62,CSH,7.0 +VTS,1,1,900,2.86,CSH,12.5 +VTS,1,1,1200,2.19,CRD,13.5 +VTS,1,1,900,2.56,CSH,11.5 +VTS,1,1,1320,2.78,CRD,15.0 +VTS,1,1,1680,10.48,CSH,32.5 +VTS,1,1,420,1.44,CRD,7.5 +VTS,1,1,1260,4.27,CSH,17.5 +VTS,1,6,900,2.54,CSH,12.0 +VTS,1,6,1080,3.83,CRD,15.0 +VTS,1,1,300,1.01,CSH,5.5 +VTS,1,6,1800,8.15,CSH,28.5 +VTS,1,1,1500,5.97,CRD,22.0 +VTS,1,1,1860,2.92,CSH,20.0 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,540,2.11,CRD,9.5 +VTS,1,1,600,1.76,CSH,9.0 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,960,2.89,CSH,13.0 +VTS,1,1,1260,10.64,CSH,30.5 +VTS,1,1,720,3.13,CRD,11.5 +VTS,1,1,660,1.92,CRD,9.5 +VTS,1,1,840,2.06,CRD,10.5 +VTS,1,1,1080,2.48,CSH,13.0 +VTS,1,1,1200,2.73,CRD,14.5 +VTS,1,1,660,1.02,CSH,8.5 +VTS,1,1,1440,2.34,CSH,16.5 +VTS,1,1,4140,10.08,CRD,45.0 +VTS,1,1,780,1.55,CSH,9.5 +VTS,1,6,120,0.41,CSH,3.5 +VTS,1,1,420,0.96,CSH,6.5 +VTS,1,1,1560,3.78,CSH,18.0 +VTS,1,1,360,0.91,CRD,6.0 +VTS,1,6,240,0.89,CRD,5.0 +VTS,1,6,660,2.31,CSH,10.5 +VTS,1,1,1380,5.48,CSH,20.0 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,540,1.0,CRD,7.5 +VTS,1,1,360,0.84,CRD,6.0 +VTS,1,1,120,1.24,CSH,5.5 +VTS,1,6,480,1.69,CRD,8.5 +VTS,1,6,1020,4.4,CSH,15.5 +VTS,1,1,1380,5.2,CSH,20.0 +VTS,1,6,420,1.22,CSH,7.0 +VTS,1,2,660,1.9,CRD,10.0 +VTS,1,6,180,0.82,CSH,4.5 +VTS,1,6,780,2.47,CRD,11.0 +VTS,1,1,300,1.19,CRD,6.0 +VTS,1,6,1440,3.93,CSH,17.5 +VTS,1,1,1380,9.91,CSH,29.5 +VTS,1,1,1200,3.74,CSH,16.0 +VTS,1,1,180,0.77,CRD,4.5 +VTS,1,1,1440,8.27,CSH,26.5 +VTS,1,1,600,2.05,CRD,9.0 +VTS,1,1,960,2.81,CRD,13.0 +VTS,1,1,1500,8.31,CRD,26.0 +VTS,1,1,1500,4.7,CSH,19.5 +VTS,1,1,780,2.53,CSH,11.5 +VTS,1,1,1140,5.4,CRD,19.5 +VTS,1,1,1140,6.99,CRD,23.0 +VTS,1,1,900,2.43,CSH,12.0 +VTS,1,1,300,1.5,CSH,6.5 +VTS,1,1,660,2.47,CSH,10.0 +VTS,1,1,600,1.91,CRD,9.0 +VTS,1,1,1020,5.47,CSH,19.0 +VTS,1,6,180,0.76,CRD,4.5 +VTS,1,1,720,1.79,CRD,10.0 +VTS,1,6,960,3.75,CRD,15.0 +VTS,1,1,480,1.09,CSH,7.5 +VTS,1,1,660,2.16,CRD,10.0 +VTS,1,6,360,2.07,CSH,8.0 +VTS,1,1,240,1.0,CSH,5.5 +VTS,1,6,360,1.56,CRD,7.0 +VTS,1,6,960,3.2,CRD,13.5 +VTS,1,1,420,2.25,CRD,8.5 +VTS,1,1,1260,6.91,CSH,22.5 +VTS,1,6,240,0.71,CSH,5.0 +VTS,1,1,840,4.49,CSH,16.0 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,600,2.07,CRD,9.5 +VTS,1,1,960,2.84,CRD,12.5 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,360,1.19,CRD,6.0 +VTS,5,1,0,0.0,CRD,101.0 +VTS,1,1,660,2.56,CRD,10.5 +VTS,1,1,360,2.33,CSH,9.0 +VTS,1,1,480,1.18,CRD,7.0 +VTS,1,1,300,1.19,CRD,6.5 +VTS,1,1,840,3.96,CSH,14.0 +VTS,1,1,1320,11.07,CSH,32.0 +VTS,1,1,240,1.24,CSH,5.5 +VTS,1,1,1080,2.53,CRD,13.5 +VTS,1,1,660,3.19,CSH,11.5 +VTS,1,1,1080,3.89,CRD,16.0 +VTS,2,1,0,0.0,CSH,52.0 +VTS,1,1,960,1.89,CRD,12.0 +VTS,1,6,240,0.52,CSH,4.0 +VTS,1,6,660,1.95,CSH,9.5 +VTS,1,6,300,1.23,CRD,6.0 +VTS,1,6,540,1.32,CRD,7.5 +VTS,1,6,840,2.18,CRD,11.0 +VTS,1,6,420,1.25,CRD,6.5 +VTS,1,6,540,0.98,CRD,7.5 +VTS,1,6,180,0.53,CSH,4.5 +VTS,1,1,780,4.75,CRD,16.0 +VTS,1,1,420,1.21,CRD,6.5 +VTS,1,1,840,4.33,CRD,15.0 +VTS,1,1,720,1.69,CSH,9.5 +VTS,1,1,840,2.65,CRD,12.0 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,1200,3.43,CRD,15.0 +VTS,1,1,120,0.83,CSH,4.5 +VTS,1,1,540,3.31,CRD,11.0 +VTS,1,1,1680,6.59,CSH,25.0 +VTS,1,1,1080,4.75,CRD,18.0 +VTS,1,1,480,1.63,CRD,7.5 +VTS,1,1,840,2.89,CSH,12.0 +VTS,1,1,360,1.05,CRD,6.0 +VTS,1,1,240,0.91,CSH,5.0 +VTS,1,1,1080,8.19,CRD,24.5 +VTS,1,1,660,3.84,CRD,14.0 +VTS,1,1,540,1.05,CSH,7.0 +VTS,1,1,600,0.84,CRD,7.5 +VTS,1,1,360,0.64,CRD,5.5 +VTS,1,1,660,1.55,CSH,8.5 +VTS,1,1,2340,7.41,CRD,30.0 +VTS,1,1,3180,12.32,CSH,48.0 +VTS,1,1,960,9.51,CRD,26.5 +VTS,1,1,600,1.32,CSH,8.0 +VTS,1,1,360,0.54,CRD,5.5 +VTS,1,1,420,2.38,CRD,8.5 +VTS,1,1,240,1.08,CSH,6.0 +VTS,1,1,840,1.17,CSH,9.5 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,720,2.15,CRD,10.5 +VTS,1,1,180,0.54,CSH,4.5 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,1,600,0.95,CRD,7.5 +VTS,1,1,720,2.02,CRD,10.5 +VTS,1,1,660,2.46,CRD,10.5 +VTS,1,1,300,0.82,CRD,6.0 +VTS,1,1,480,0.9,CRD,6.5 +VTS,2,1,3240,17.01,CRD,52.0 +VTS,1,1,600,1.71,CRD,9.0 +VTS,1,1,1020,2.52,CRD,13.0 +VTS,1,1,240,1.22,CSH,5.5 +VTS,2,1,1500,16.04,CRD,52.0 +VTS,1,1,720,1.75,CRD,9.5 +VTS,1,1,1380,2.33,CSH,15.0 +VTS,1,6,1080,4.55,CRD,17.0 +VTS,1,1,240,0.82,CRD,5.0 +VTS,1,6,540,1.81,CRD,8.5 +VTS,1,1,540,2.28,CRD,9.5 +VTS,1,6,360,0.84,CRD,5.5 +VTS,1,6,240,1.49,CRD,6.5 +VTS,5,2,0,0.0,CRD,30.0 +VTS,1,1,660,3.04,CRD,11.5 +VTS,1,1,1440,8.65,CSH,27.5 +VTS,1,6,1380,7.33,CRD,23.5 +VTS,1,1,300,1.37,CRD,6.5 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,6,540,1.04,CSH,7.0 +VTS,1,6,660,1.61,CSH,9.0 +VTS,1,1,480,2.11,CSH,9.0 +VTS,1,1,1020,10.03,CRD,27.5 +VTS,1,1,360,0.86,CSH,5.5 +VTS,1,1,360,1.73,CSH,7.5 +VTS,1,1,180,0.38,CSH,4.0 +VTS,1,1,840,4.1,CRD,14.0 +VTS,1,1,180,1.19,CRD,5.5 +VTS,1,1,840,2.9,CRD,12.5 +VTS,1,1,600,2.66,CRD,10.5 +VTS,1,1,1380,4.89,CSH,19.5 +VTS,1,1,540,2.42,CRD,9.5 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,960,3.96,CSH,15.0 +VTS,1,1,660,3.14,CRD,12.0 +VTS,1,1,960,8.49,CSH,24.0 +VTS,1,1,360,1.87,CRD,7.5 +VTS,1,1,1680,7.9,CRD,28.0 +VTS,1,1,1140,1.49,CSH,12.5 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,1,600,1.43,CSH,8.0 +VTS,1,1,1200,2.15,CSH,13.0 +VTS,1,1,480,1.47,CSH,7.5 +VTS,2,1,4020,17.7,CRD,52.0 +VTS,1,1,1020,3.4,CRD,14.0 +VTS,1,1,840,1.72,CRD,10.5 +VTS,1,1,960,1.65,CSH,11.0 +VTS,1,1,960,1.52,CSH,11.0 +VTS,1,1,240,0.63,CSH,5.0 +VTS,1,1,840,1.43,CSH,10.0 +VTS,1,1,780,1.96,CRD,10.5 +VTS,1,6,480,1.15,CRD,6.5 +VTS,1,1,1140,3.63,CSH,15.5 +VTS,1,1,180,0.53,CRD,4.5 +VTS,1,6,600,2.89,CSH,11.0 +VTS,1,1,1860,8.57,CSH,29.0 +VTS,1,1,420,1.19,CSH,7.0 +VTS,1,6,1080,2.76,CRD,14.0 +VTS,1,1,360,1.46,CRD,7.0 +VTS,1,6,480,2.11,CRD,9.0 +VTS,1,6,540,1.13,CSH,7.5 +VTS,1,6,600,1.68,CRD,9.0 +VTS,1,1,420,1.76,CSH,8.0 +VTS,1,1,480,2.05,CSH,8.5 +VTS,1,1,360,0.65,CRD,5.5 +VTS,1,6,360,1.17,CRD,6.5 +VTS,1,6,780,4.9,CRD,16.5 +VTS,1,6,240,1.01,CSH,5.5 +VTS,1,1,840,2.59,CSH,11.5 +VTS,1,6,360,1.0,CSH,5.5 +VTS,1,6,1440,4.94,CSH,20.0 +VTS,1,6,360,1.03,CSH,6.5 +VTS,1,1,600,2.86,CSH,11.0 +VTS,1,6,780,5.95,CRD,19.0 +VTS,1,6,900,5.91,CRD,19.0 +VTS,1,6,540,1.27,CSH,7.5 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,360,2.25,CRD,8.5 +VTS,1,1,540,2.36,CSH,9.5 +VTS,1,1,1020,4.79,CSH,17.0 +VTS,1,1,420,0.88,CSH,6.0 +VTS,1,1,840,4.43,CRD,15.0 +VTS,1,1,600,2.34,CSH,9.5 +VTS,1,1,780,3.21,CRD,12.0 +VTS,3,1,1740,17.42,CRD,65.5 +VTS,1,1,480,0.59,CRD,6.5 +VTS,1,1,300,1.06,CSH,5.5 +VTS,1,1,300,0.55,CSH,5.0 +VTS,1,1,780,2.05,CRD,10.5 +VTS,1,1,1500,2.67,CSH,16.0 +VTS,1,1,180,0.49,CSH,4.0 +VTS,1,1,660,2.6,CSH,11.0 +VTS,1,1,1440,8.9,CRD,28.0 +VTS,1,1,420,0.48,CRD,5.5 +VTS,1,1,600,0.98,CSH,8.0 +VTS,1,1,480,0.8,CRD,7.0 +VTS,1,1,180,0.49,CSH,4.0 +VTS,1,1,1620,3.17,CRD,18.0 +VTS,1,1,960,1.43,CRD,11.0 +VTS,1,1,720,2.67,CRD,11.0 +VTS,1,1,480,0.97,CSH,7.0 +VTS,1,1,2460,12.24,CSH,40.5 +VTS,1,1,1680,8.9,CRD,29.0 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,480,1.6,CSH,8.0 +VTS,1,1,360,1.23,CSH,7.0 +VTS,1,1,600,2.04,CRD,9.0 +VTS,1,1,360,1.06,CRD,6.5 +VTS,1,1,1200,1.64,CSH,13.5 +VTS,1,1,1380,8.0,CSH,24.5 +VTS,1,6,420,1.43,CRD,7.0 +VTS,1,1,540,1.18,CRD,7.5 +VTS,1,6,540,2.19,CRD,9.5 +VTS,1,1,420,1.67,CSH,7.5 +VTS,1,1,780,2.1,CSH,11.0 +VTS,1,6,180,0.49,CSH,4.0 +VTS,1,6,1140,5.09,CRD,18.0 +VTS,1,1,300,0.66,CSH,5.0 +VTS,1,6,780,2.14,CSH,11.0 +VTS,1,6,960,1.71,CRD,11.5 +VTS,1,1,480,2.66,CRD,9.5 +VTS,1,6,240,0.72,CRD,5.0 +VTS,1,1,1080,4.83,CSH,17.0 +VTS,1,1,420,1.64,CSH,7.5 +VTS,1,6,360,1.9,CRD,8.0 +VTS,1,1,720,3.28,CRD,12.5 +VTS,1,6,1380,13.18,CSH,37.5 +VTS,1,6,540,1.85,CSH,7.5 +VTS,1,6,1260,2.86,CSH,14.5 +VTS,1,1,420,1.07,CSH,7.0 +VTS,1,1,420,0.5,CSH,6.0 +VTS,1,1,480,2.82,CSH,10.0 +VTS,1,1,780,7.79,CSH,22.5 +VTS,1,1,900,9.03,CSH,25.5 +VTS,1,1,840,2.32,CRD,11.0 +VTS,1,1,480,2.04,CSH,9.0 +VTS,1,1,120,1.07,CSH,5.0 +VTS,1,1,480,1.01,CSH,7.0 +VTS,1,1,720,1.7,CRD,9.5 +VTS,1,1,300,1.22,CRD,6.0 +VTS,1,1,360,0.71,CRD,5.5 +VTS,1,1,720,2.34,CSH,10.5 +VTS,1,1,900,2.98,CRD,12.5 +VTS,1,1,1080,9.47,CRD,27.5 +VTS,1,1,840,3.28,CRD,13.0 +VTS,1,1,420,1.39,CRD,7.5 +VTS,1,1,240,0.78,CSH,5.0 +VTS,1,1,660,1.82,CRD,9.5 +VTS,1,1,840,3.6,CSH,13.5 +VTS,1,1,600,1.33,CSH,8.5 +VTS,1,1,1020,3.1,CSH,13.5 +VTS,1,1,600,2.19,CSH,10.0 +VTS,1,1,540,2.32,CRD,9.5 +VTS,1,1,900,2.07,CRD,11.0 +VTS,1,1,540,1.53,CRD,8.5 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,1,600,1.8,CSH,9.5 +VTS,1,1,1140,2.8,CSH,14.0 +VTS,1,1,900,1.47,CSH,10.5 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,780,1.38,CSH,9.5 +VTS,1,1,720,0.91,CRD,8.5 +VTS,1,1,1500,2.64,CRD,16.5 +VTS,1,1,540,1.45,CRD,8.0 +VTS,1,1,480,2.71,CRD,10.0 +VTS,1,6,120,0.9,CSH,4.5 +VTS,1,6,780,1.95,CRD,10.0 +VTS,1,6,900,4.96,CSH,17.5 +VTS,1,6,720,2.54,CRD,11.0 +VTS,1,1,300,0.97,CSH,6.0 +VTS,1,6,420,1.07,CSH,7.0 +VTS,1,6,960,3.45,CRD,13.5 +VTS,1,6,1320,7.11,CRD,24.5 +VTS,1,6,360,2.22,CSH,9.0 +VTS,1,1,360,0.84,CRD,5.5 +VTS,1,1,1020,2.72,CRD,13.0 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,600,1.94,CSH,9.0 +VTS,1,1,600,1.69,CRD,9.5 +VTS,1,1,960,3.92,CRD,15.5 +VTS,1,1,660,2.37,CRD,10.0 +VTS,1,1,660,1.26,CSH,9.0 +VTS,1,1,960,3.75,CSH,14.5 +VTS,1,1,420,1.83,CSH,7.5 +VTS,1,1,660,4.29,CRD,14.0 +VTS,1,1,1500,5.42,CRD,20.5 +VTS,1,1,420,1.34,CRD,7.0 +VTS,1,1,900,3.74,CSH,14.0 +VTS,1,1,300,0.99,CRD,6.0 +VTS,1,1,480,1.27,CRD,7.5 +VTS,1,1,840,4.62,CRD,15.5 +VTS,1,1,360,1.28,CRD,6.0 +VTS,1,1,780,2.54,CSH,11.5 +VTS,1,1,1140,1.74,CSH,12.5 +VTS,1,1,420,1.25,CSH,6.5 +VTS,1,1,360,0.92,CRD,6.0 +VTS,1,1,840,3.63,CRD,14.0 +VTS,1,1,420,2.84,CRD,10.0 +VTS,1,1,1680,2.77,CSH,17.5 +VTS,1,1,420,1.38,CSH,6.5 +VTS,1,1,600,2.05,CRD,9.5 +VTS,1,1,1740,7.17,CSH,25.5 +VTS,1,1,1500,10.79,CRD,31.5 +VTS,1,1,1200,9.05,CSH,27.5 +VTS,1,1,240,0.76,CSH,5.0 +VTS,1,1,780,3.92,CRD,14.0 +VTS,1,1,1320,3.22,CSH,15.5 +VTS,1,1,1140,4.26,CRD,16.5 +VTS,1,1,840,4.48,CRD,16.5 +VTS,1,1,360,0.64,CSH,5.5 +VTS,1,1,300,0.66,CSH,5.0 +VTS,1,1,780,3.34,CRD,12.5 +VTS,1,1,540,1.39,CRD,7.5 +VTS,1,1,900,5.22,CRD,16.5 +VTS,1,1,660,1.52,CRD,9.0 +VTS,1,1,660,1.94,CRD,9.5 +VTS,1,1,300,0.5,CRD,5.0 +VTS,1,1,780,1.72,CRD,10.0 +VTS,1,1,1440,10.94,CRD,32.0 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,1,540,2.02,CRD,9.5 +VTS,1,1,360,1.06,CRD,6.5 +VTS,1,1,840,2.46,CRD,11.5 +VTS,1,1,420,2.04,CRD,8.5 +VTS,1,1,1800,6.94,CSH,25.5 +VTS,1,1,960,3.34,CSH,13.5 +VTS,1,1,840,3.38,CRD,13.5 +VTS,1,1,420,1.05,CRD,6.0 +VTS,1,1,1980,10.84,CRD,34.5 +VTS,1,1,840,5.72,CRD,18.5 +VTS,1,1,480,1.35,CSH,7.0 +VTS,1,1,420,1.71,CSH,7.5 +VTS,1,1,660,1.9,CRD,9.5 +VTS,1,2,180,0.62,CRD,4.5 +VTS,1,1,1200,5.77,CRD,20.0 +VTS,1,1,240,1.13,CSH,5.5 +VTS,1,1,840,3.46,CRD,13.5 +VTS,1,1,240,0.89,CSH,5.0 +VTS,1,1,540,1.38,CRD,7.5 +VTS,1,1,1140,7.4,CSH,24.0 +VTS,1,1,1500,4.38,CRD,18.5 +VTS,1,1,540,1.42,CSH,8.0 +VTS,1,1,600,1.79,CSH,9.5 +VTS,1,1,900,5.74,CRD,18.0 +VTS,1,1,660,3.09,CSH,12.0 +VTS,1,1,1080,8.14,CRD,25.5 +VTS,1,1,180,0.57,CRD,4.5 +VTS,1,1,780,2.76,CSH,11.5 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,600,2.25,CRD,10.0 +VTS,1,1,660,3.59,CSH,12.5 +VTS,1,1,840,6.26,CSH,19.5 +VTS,1,1,360,2.37,CSH,9.0 +VTS,1,1,960,1.87,CSH,11.5 +VTS,1,1,420,1.97,CSH,8.5 +VTS,1,1,1920,8.2,CSH,30.0 +VTS,1,1,1440,5.78,CRD,20.5 +VTS,1,1,720,2.48,CRD,10.5 +VTS,1,1,360,1.09,CRD,6.0 +VTS,1,1,420,1.23,CRD,7.0 +VTS,1,1,840,3.58,CRD,13.5 +VTS,1,1,240,1.14,CRD,6.0 +VTS,1,1,1320,11.0,CSH,32.0 +VTS,1,1,720,1.23,CSH,9.0 +VTS,1,1,360,1.01,CSH,6.0 +VTS,1,1,960,2.12,CSH,8.0 +VTS,1,1,840,2.2,CSH,11.0 +VTS,1,1,840,2.63,CRD,11.5 +VTS,1,1,360,0.78,CRD,6.0 +VTS,1,1,720,1.63,CRD,9.5 +VTS,1,1,540,0.94,CRD,7.0 +VTS,1,1,1140,2.18,CSH,13.5 +VTS,1,1,540,1.46,CRD,8.0 +VTS,1,1,960,3.7,CRD,15.0 +VTS,1,1,600,1.02,CRD,8.0 +VTS,1,1,480,1.96,CSH,8.5 +VTS,1,6,1260,11.31,CSH,32.0 +VTS,1,1,1380,3.41,CSH,16.0 +VTS,1,1,300,0.3,CSH,4.5 +VTS,1,1,360,1.4,CSH,7.0 +VTS,1,6,1260,6.99,CRD,22.5 +VTS,1,1,1140,4.14,CRD,17.0 +VTS,1,1,300,1.08,CRD,5.5 +VTS,1,6,420,1.77,CRD,8.0 +VTS,1,1,480,1.35,CSH,7.5 +VTS,1,6,600,1.49,CSH,7.5 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,6,240,0.86,CSH,5.0 +VTS,1,1,300,0.65,CSH,5.0 +VTS,1,1,480,1.57,CRD,7.5 +VTS,1,1,1380,6.03,CRD,21.5 +VTS,1,1,1020,5.62,CRD,18.5 +VTS,1,1,300,0.6,CRD,5.0 +VTS,1,1,480,1.44,CRD,7.5 +VTS,1,1,480,2.3,CRD,9.0 +VTS,1,1,660,2.89,CSH,11.5 +VTS,1,1,420,1.13,CRD,6.5 +VTS,1,1,300,0.68,CSH,5.0 +VTS,1,1,420,1.26,CRD,7.0 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,540,1.68,CSH,8.5 +VTS,1,1,1020,3.36,CRD,14.5 +VTS,1,1,720,2.88,CSH,12.0 +VTS,1,1,900,3.2,CRD,13.0 +VTS,1,1,120,0.07,CSH,3.0 +VTS,1,1,480,1.24,CRD,7.0 +VTS,1,1,540,0.88,CRD,7.0 +VTS,1,1,900,4.5,CRD,16.0 +VTS,1,1,600,2.1,CSH,10.0 +VTS,1,1,900,1.95,CRD,11.0 +VTS,1,1,2040,5.43,CRD,26.0 +VTS,1,1,600,2.39,CRD,10.5 +VTS,1,1,420,1.46,CRD,7.5 +VTS,1,1,420,2.25,CSH,8.5 +VTS,1,1,840,1.8,CRD,10.5 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,660,2.8,CSH,11.0 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,540,1.03,CRD,7.5 +VTS,1,1,1020,2.4,CRD,11.5 +VTS,1,1,720,2.08,CRD,10.0 +VTS,1,1,780,2.32,CSH,11.0 +VTS,1,1,480,1.57,CRD,8.0 +VTS,1,1,420,1.33,CRD,7.0 +VTS,1,1,840,2.47,CRD,11.5 +VTS,1,2,660,0.97,CSH,8.5 +VTS,1,1,480,2.22,CRD,9.0 +VTS,1,1,480,2.07,CSH,9.0 +VTS,1,1,600,1.43,CRD,8.0 +VTS,1,1,840,3.19,CRD,12.5 +VTS,1,1,1380,3.5,CSH,17.0 +VTS,1,1,1020,4.87,CSH,17.5 +VTS,1,1,660,3.39,CRD,13.0 +VTS,1,1,1200,5.56,CRD,20.0 +VTS,1,1,600,2.05,CSH,9.5 +VTS,1,1,1380,10.3,CRD,30.5 +VTS,1,1,1020,4.64,CSH,17.0 +VTS,1,1,300,1.0,CRD,5.5 +VTS,1,1,420,1.47,CSH,7.5 +VTS,1,1,480,1.01,CSH,7.0 +VTS,1,1,900,5.56,CSH,18.0 +VTS,1,1,1080,1.48,CSH,12.5 +VTS,1,1,960,2.02,CRD,11.5 +VTS,1,1,1200,1.3,CSH,12.5 +VTS,1,1,480,2.23,CRD,9.0 +VTS,1,1,540,1.29,CRD,8.0 +VTS,1,1,360,1.05,CRD,6.0 +VTS,1,1,420,1.36,CSH,7.0 +VTS,1,1,420,0.88,CSH,6.5 +VTS,1,1,540,2.22,CRD,9.0 +VTS,1,1,2280,8.58,CRD,31.0 +VTS,1,1,420,2.07,CRD,8.5 +VTS,1,1,180,0.61,CSH,4.0 +VTS,1,1,660,3.26,CRD,12.0 +VTS,1,1,600,0.91,CSH,6.5 +VTS,1,1,660,2.24,CRD,9.5 +VTS,1,1,600,1.4,CSH,8.0 +VTS,1,1,600,2.31,CRD,10.0 +VTS,1,1,660,2.8,CRD,11.0 +VTS,1,1,420,1.21,CRD,6.5 +VTS,1,1,480,0.98,CRD,7.0 +VTS,1,1,120,0.59,CSH,4.5 +VTS,1,1,720,6.35,CSH,19.0 +VTS,1,1,780,2.18,CRD,11.0 +VTS,1,1,240,0.77,CSH,5.0 +VTS,1,1,1200,4.47,CRD,18.0 +VTS,1,1,600,1.98,CRD,9.0 +VTS,1,1,660,1.5,CSH,9.0 +VTS,1,1,120,0.34,CSH,4.0 +VTS,1,1,480,1.09,CRD,7.0 +VTS,1,1,240,0.71,CRD,5.0 +VTS,1,1,180,0.94,CSH,5.0 +VTS,1,1,1080,2.15,CRD,13.0 +VTS,1,1,600,1.89,CRD,10.0 +VTS,1,1,900,2.05,CSH,11.5 +VTS,1,1,480,1.42,CSH,7.5 +VTS,1,1,480,1.4,CRD,7.5 +VTS,1,1,360,1.84,CRD,8.0 +VTS,1,1,540,1.64,CSH,8.5 +VTS,1,1,360,1.51,CRD,7.0 +VTS,1,1,300,0.6,CSH,5.0 +VTS,1,1,780,2.0,CRD,10.5 +VTS,1,1,1200,5.25,CRD,19.5 +VTS,1,1,660,2.02,CRD,9.5 +VTS,1,1,1560,2.16,CSH,16.5 +VTS,1,1,480,1.29,CSH,8.0 +VTS,1,1,540,0.7,CSH,6.5 +VTS,1,1,480,1.5,CRD,7.5 +VTS,1,1,540,2.11,CSH,9.0 +VTS,2,1,1920,20.81,CRD,52.0 +VTS,1,1,1260,10.49,CRD,31.0 +VTS,1,1,480,2.15,CRD,8.5 +VTS,1,1,720,1.67,CRD,9.0 +VTS,1,1,300,0.99,CSH,6.0 +VTS,1,1,360,1.66,CRD,7.5 +VTS,1,1,480,1.44,CSH,8.0 +VTS,1,1,480,1.82,CRD,8.5 +VTS,1,1,660,2.49,CSH,10.5 +VTS,1,1,180,0.61,CSH,4.0 +VTS,1,1,2100,4.17,CRD,23.0 +VTS,1,1,720,2.75,CSH,11.0 +VTS,1,1,720,2.33,CSH,11.0 +VTS,1,1,420,1.22,CSH,7.0 +VTS,1,1,420,1.86,CSH,8.0 +VTS,1,1,1620,6.82,CRD,25.0 +VTS,1,1,960,4.51,CRD,16.0 +VTS,1,1,540,2.16,CRD,9.0 +VTS,1,1,480,1.62,CSH,7.5 +VTS,1,1,660,1.74,CRD,9.0 +VTS,1,1,540,2.29,CRD,10.0 +VTS,1,1,1380,8.54,CRD,26.0 +VTS,1,1,960,8.35,CRD,24.5 +VTS,1,1,660,2.45,CRD,10.5 +VTS,1,1,540,1.71,CRD,8.0 +VTS,1,1,480,1.62,CSH,7.5 +VTS,1,1,660,2.51,CRD,10.0 +VTS,1,1,1260,2.93,CRD,15.0 +VTS,1,1,780,2.1,CSH,10.0 +VTS,1,1,540,1.14,CRD,7.5 +VTS,1,1,540,1.68,CRD,8.5 +VTS,1,1,780,4.04,CRD,15.0 +VTS,5,1,1320,13.63,CSH,150.0 +VTS,1,1,540,2.34,CSH,9.5 +VTS,1,1,480,1.11,CRD,7.0 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,780,2.17,CSH,11.0 +VTS,1,1,360,0.54,CSH,6.0 +VTS,1,1,540,0.87,CRD,7.0 +VTS,1,1,660,2.95,CRD,12.0 +VTS,1,1,600,1.14,CSH,8.0 +VTS,1,1,360,0.9,CSH,6.0 +VTS,1,1,1500,9.43,CSH,30.0 +VTS,1,1,840,4.31,CSH,15.5 +VTS,1,1,600,1.93,CSH,10.0 +VTS,1,1,660,2.95,CRD,11.5 +VTS,1,1,1320,4.34,CRD,18.0 +VTS,1,1,780,5.36,CSH,17.0 +VTS,1,1,600,1.97,CRD,9.5 +VTS,1,1,1380,3.18,CSH,17.0 +VTS,1,1,1500,10.33,CRD,32.0 +VTS,1,1,900,2.23,CSH,11.0 +VTS,1,1,360,1.0,CSH,5.5 +VTS,1,1,360,1.04,CRD,6.5 +VTS,1,1,240,0.59,CRD,5.0 +VTS,1,1,1320,7.0,CSH,23.0 +VTS,1,1,960,3.52,CRD,14.5 +VTS,1,1,540,1.65,CSH,8.5 +VTS,1,1,420,1.22,CRD,7.0 +VTS,1,1,660,2.62,CRD,12.0 +VTS,1,1,660,1.11,CRD,8.5 +VTS,1,1,420,1.13,CSH,7.0 +VTS,1,1,360,0.77,CSH,5.5 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,960,4.59,CRD,16.5 +VTS,1,1,840,2.38,CSH,11.0 +VTS,1,1,600,1.46,CSH,8.5 +VTS,1,1,1080,4.33,CRD,16.5 +VTS,1,1,600,1.83,CRD,9.0 +VTS,1,1,600,1.91,CRD,9.0 +VTS,1,1,1140,3.62,CRD,15.5 +VTS,1,1,900,3.05,CRD,13.0 +VTS,1,1,960,2.42,CSH,12.0 +VTS,1,1,300,1.97,CRD,7.0 +VTS,1,1,900,3.15,CRD,13.0 +VTS,1,1,300,1.61,CRD,6.5 +VTS,1,1,420,1.17,CRD,6.5 +VTS,1,1,360,0.67,CSH,6.0 +VTS,1,1,1020,1.52,CRD,11.5 +VTS,1,1,720,1.64,CRD,9.0 +VTS,1,1,120,0.49,CSH,4.0 +VTS,1,1,360,0.94,CRD,6.0 +VTS,1,1,480,1.6,CSH,7.5 +VTS,1,1,360,1.19,CSH,6.5 +VTS,1,1,420,0.58,CSH,6.0 +VTS,1,1,480,1.32,CRD,7.0 +VTS,1,1,540,3.41,CSH,12.0 +VTS,1,1,600,1.7,CSH,9.0 +VTS,1,1,720,1.35,CRD,9.0 +VTS,1,1,2400,4.39,CRD,26.5 +VTS,1,1,720,2.97,CSH,11.0 +VTS,1,1,840,2.68,CSH,12.0 +VTS,1,1,1440,4.82,CRD,22.0 +VTS,1,1,420,0.83,CSH,6.0 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,240,0.78,CSH,5.5 +VTS,1,1,1620,11.07,CRD,33.5 +VTS,1,1,2040,2.61,CSH,20.5 +VTS,1,1,540,1.34,CRD,7.5 +VTS,1,1,180,0.37,CSH,4.0 +VTS,1,1,840,3.52,CRD,14.5 +VTS,1,1,660,2.68,CRD,11.0 +VTS,1,1,660,1.29,CRD,8.5 +VTS,1,1,180,1.06,CSH,5.0 +VTS,1,1,780,2.43,CSH,11.0 +VTS,1,1,840,3.4,CSH,13.5 +VTS,1,1,1080,2.97,CRD,14.5 +VTS,1,1,360,1.64,CSH,7.0 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,600,1.04,CRD,8.0 +VTS,1,1,780,2.82,CRD,12.0 +VTS,1,1,600,2.32,CRD,9.5 +VTS,1,1,360,1.72,CRD,7.0 +VTS,1,1,480,2.21,CRD,9.0 +VTS,1,1,600,1.53,CRD,8.5 +VTS,1,1,1320,1.83,CRD,14.0 +VTS,1,1,480,1.53,CRD,8.0 +VTS,1,1,480,2.04,CRD,9.0 +VTS,1,1,360,1.66,CRD,7.5 +VTS,1,1,960,3.75,CRD,15.0 +VTS,1,1,240,0.72,CSH,5.0 +VTS,1,1,780,2.3,CSH,10.5 +VTS,1,1,180,1.13,CRD,5.0 +VTS,1,1,960,3.89,CSH,15.0 +VTS,1,1,300,1.23,CRD,6.0 +VTS,1,1,420,0.81,CSH,6.5 +VTS,1,1,360,0.92,CSH,6.0 +VTS,1,1,60,0.21,CSH,3.0 +VTS,1,1,300,0.58,CSH,5.5 +VTS,1,1,480,2.17,CSH,9.0 +VTS,1,1,360,0.85,CRD,6.0 +VTS,1,1,900,1.82,CSH,10.5 +VTS,1,1,600,2.71,CSH,11.0 +VTS,1,1,660,1.9,CSH,10.0 +VTS,1,1,900,8.17,CRD,24.0 +VTS,1,1,480,1.99,CRD,8.5 +VTS,1,1,1380,6.16,CRD,22.5 +VTS,1,1,780,3.18,CRD,12.5 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,720,3.2,CRD,12.0 +VTS,1,1,660,1.03,CSH,8.0 +VTS,1,1,360,1.66,CRD,7.0 +VTS,1,1,660,1.43,CRD,8.5 +VTS,1,1,360,1.31,CSH,6.5 +VTS,1,1,300,1.04,CRD,5.5 +VTS,1,1,1020,5.09,CRD,18.0 +VTS,1,1,480,0.77,CRD,6.5 +VTS,1,1,900,3.34,CRD,13.0 +VTS,1,1,1020,2.17,CRD,12.0 +VTS,1,1,1080,5.8,CRD,20.5 +VTS,1,1,660,2.26,CRD,10.0 +VTS,1,1,600,1.75,CSH,8.5 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,720,2.61,CRD,10.5 +VTS,1,1,780,1.81,CSH,10.0 +VTS,1,1,600,2.28,CRD,10.0 +VTS,1,1,1500,8.52,CSH,27.0 +VTS,1,1,1140,2.17,CSH,12.5 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,720,2.57,CSH,10.0 +VTS,1,1,780,1.82,CRD,10.0 +VTS,1,1,360,1.22,CSH,6.5 +CMT,1,1,272,1.7,CSH,7.0 +CMT,1,1,351,1.5,CRD,7.0 +CMT,1,1,597,2.2,CRD,10.0 +CMT,1,1,507,1.3,CSH,8.0 +CMT,1,1,613,1.7,CRD,9.0 +CMT,1,1,861,3.3,CRD,14.0 +CMT,1,1,320,1.1,CSH,6.5 +CMT,1,1,775,3.8,CRD,14.5 +CMT,1,1,529,1.8,CRD,8.5 +CMT,1,1,802,1.7,CSH,11.0 +CMT,1,1,799,2.9,CRD,12.0 +CMT,1,1,230,1.0,CRD,5.5 +CMT,1,1,487,1.6,CSH,8.0 +CMT,1,1,684,2.7,CSH,11.0 +CMT,1,4,133,0.5,CSH,4.0 +CMT,1,1,175,0.9,CRD,5.0 +CMT,1,1,432,1.3,CSH,7.0 +CMT,1,4,476,1.6,CSH,8.0 +CMT,1,4,1246,9.4,CRD,29.0 +CMT,1,1,485,1.8,CSH,8.5 +CMT,1,1,561,1.8,CSH,9.0 +CMT,1,1,3,17.7,CSH,2.5 +CMT,1,1,503,1.8,CRD,9.0 +VTS,1,1,960,3.67,CRD,14.0 +VTS,1,1,180,0.29,CRD,4.0 +VTS,1,1,420,2.36,CSH,9.0 +VTS,1,1,480,1.04,CSH,7.5 +VTS,1,1,240,1.2,CRD,5.5 +VTS,1,1,480,1.31,CSH,8.0 +VTS,1,1,1200,3.81,CRD,16.5 +VTS,1,1,1440,6.62,CSH,22.0 +VTS,1,1,1080,2.47,CRD,13.0 +VTS,1,1,420,0.9,CSH,6.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,600,2.21,CRD,9.5 +VTS,1,1,540,1.47,CRD,8.0 +VTS,1,1,1500,10.25,CRD,31.0 +VTS,1,1,720,2.55,CSH,11.0 +VTS,1,1,300,0.64,CRD,5.0 +VTS,1,1,360,0.71,CRD,5.5 +VTS,1,1,420,1.97,CSH,8.5 +VTS,1,1,720,3.39,CSH,12.5 +VTS,1,1,1920,7.58,CRD,27.0 +CMT,1,1,445,1.4,CRD,7.5 +CMT,1,4,797,8.9,CRD,25.0 +CMT,1,1,322,1.5,CRD,7.0 +CMT,1,1,328,1.3,CRD,6.5 +CMT,1,1,229,0.9,CRD,5.5 +CMT,1,1,296,1.6,CRD,7.0 +VTS,1,1,660,1.9,CSH,9.5 +VTS,1,1,420,1.53,CSH,7.5 +VTS,1,1,120,0.43,CRD,3.5 +VTS,1,1,360,1.55,CSH,7.0 +VTS,1,1,720,2.67,CRD,11.5 +VTS,1,1,180,0.85,CRD,5.0 +VTS,1,1,660,2.02,CRD,9.5 +VTS,1,1,480,1.63,CSH,8.0 +VTS,1,1,420,1.38,CRD,7.0 +VTS,1,1,300,1.81,CSH,7.0 +VTS,1,1,600,3.81,CRD,13.5 +VTS,1,1,300,1.32,CRD,6.5 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,360,1.54,CRD,7.0 +VTS,1,1,900,5.92,CSH,19.0 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,720,3.18,CSH,12.0 +VTS,1,1,300,1.4,CSH,7.0 +VTS,1,1,600,3.51,CSH,12.0 +VTS,1,1,60,0.34,CSH,3.0 +VTS,1,1,600,1.54,CRD,8.5 +VTS,1,1,900,4.46,CRD,16.0 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,1140,3.74,CSH,15.5 +VTS,1,1,900,4.13,CRD,15.5 +VTS,1,1,240,0.68,CSH,5.0 +VTS,1,1,1260,5.83,CRD,21.0 +VTS,1,1,1260,2.92,CRD,14.0 +VTS,1,1,1920,4.48,CSH,23.0 +VTS,1,1,780,2.21,CRD,11.0 +VTS,1,1,1140,2.94,CSH,14.0 +VTS,1,1,660,0.97,CRD,8.5 +VTS,1,1,960,4.44,CRD,16.0 +VTS,1,1,360,1.56,CSH,7.0 +VTS,1,1,240,0.65,CRD,5.0 +VTS,2,1,3060,19.09,CSH,52.0 +VTS,1,1,1260,7.11,CRD,24.0 +VTS,1,1,480,1.77,CRD,8.0 +VTS,1,1,300,0.93,CSH,6.0 +VTS,1,1,660,2.25,CRD,10.5 +VTS,1,1,660,3.08,CRD,11.5 +VTS,1,1,360,0.92,CRD,6.0 +VTS,1,1,360,0.97,CRD,6.0 +VTS,1,1,900,1.88,CRD,10.5 +VTS,1,1,360,1.37,CRD,6.5 +VTS,1,1,600,2.0,CRD,9.5 +VTS,1,1,480,1.31,CSH,7.5 +CMT,1,1,528,3.3,CRD,11.5 +CMT,1,1,396,1.5,CSH,7.5 +CMT,1,1,236,0.7,CSH,5.0 +CMT,1,1,535,4.1,CSH,14.0 +CMT,1,1,486,1.2,CSH,7.5 +VTS,1,1,540,2.26,CSH,9.5 +VTS,1,1,480,1.19,CSH,7.5 +VTS,1,1,720,1.01,CSH,8.5 +VTS,1,1,1380,2.93,CRD,15.5 +VTS,1,1,540,2.01,CRD,9.0 +VTS,1,1,780,2.63,CRD,11.5 +VTS,1,1,300,1.82,CSH,7.0 +VTS,1,1,600,2.47,CRD,10.5 +VTS,1,1,720,2.13,CRD,10.0 +VTS,1,1,660,1.81,CSH,9.5 +VTS,1,1,1320,5.19,CRD,18.0 +VTS,1,1,600,2.53,CRD,10.0 +VTS,1,1,240,0.6,CSH,5.0 +VTS,1,1,240,0.82,CSH,5.0 +VTS,1,1,600,1.65,CRD,8.5 +VTS,1,1,960,2.8,CSH,13.0 +VTS,1,1,900,3.98,CRD,15.0 +VTS,1,1,420,2.14,CRD,8.5 +VTS,1,1,1440,10.53,CSH,31.5 +VTS,1,1,540,1.57,CSH,8.0 +VTS,1,1,420,1.35,CRD,7.5 +VTS,1,1,1080,3.04,CSH,14.0 +VTS,1,1,1800,8.33,CSH,28.5 +VTS,1,1,240,0.39,CSH,4.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,540,1.31,CSH,7.5 +VTS,1,1,840,3.53,CRD,13.0 +VTS,1,1,780,3.0,CSH,12.0 +VTS,1,1,720,3.29,CRD,12.5 +VTS,1,1,420,1.4,CSH,7.0 +VTS,1,1,420,2.14,CSH,8.5 +VTS,1,1,660,1.67,CSH,9.0 +VTS,1,1,120,0.65,CRD,4.0 +VTS,1,1,660,1.38,CRD,9.0 +VTS,1,1,720,1.47,CSH,9.0 +VTS,1,1,900,3.39,CRD,13.5 +VTS,1,1,480,1.84,CRD,8.5 +VTS,1,1,720,2.47,CRD,11.0 +VTS,1,1,900,2.84,CRD,12.0 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,60,0.01,CSH,2.5 +VTS,1,1,420,1.69,CSH,8.0 +VTS,1,1,480,1.96,CRD,8.0 +VTS,1,1,660,2.5,CSH,10.5 +VTS,1,1,720,1.13,CSH,9.0 +VTS,1,1,1140,2.63,CRD,13.5 +VTS,1,1,1200,3.55,CRD,15.0 +VTS,1,1,360,0.93,CSH,5.5 +VTS,1,1,1020,3.18,CSH,14.5 +VTS,1,1,600,3.06,CRD,11.5 +VTS,1,1,180,0.05,CSH,4.0 +VTS,1,1,480,1.73,CRD,8.0 +VTS,1,1,600,1.0,CRD,8.0 +VTS,1,1,540,1.79,CSH,8.5 +VTS,1,1,1200,6.49,CRD,21.0 +VTS,1,1,720,2.11,CRD,10.5 +VTS,1,1,420,1.27,CRD,7.0 +VTS,1,1,660,0.8,CRD,8.0 +VTS,1,1,480,1.92,CSH,8.5 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,1140,4.38,CSH,17.5 +VTS,1,1,600,1.18,CRD,8.0 +VTS,1,1,1020,3.45,CSH,14.5 +VTS,1,1,360,0.61,CSH,5.5 +VTS,1,1,780,2.39,CRD,11.0 +VTS,1,1,1560,6.06,CRD,23.5 +VTS,1,1,540,1.02,CSH,7.5 +VTS,1,1,300,0.63,CSH,5.0 +VTS,1,1,840,1.38,CSH,10.0 +VTS,1,1,600,1.29,CSH,8.5 +VTS,1,1,540,1.33,CRD,8.0 +VTS,1,1,660,2.12,CRD,9.5 +VTS,1,1,300,0.98,CRD,6.0 +VTS,1,1,540,1.42,CRD,8.5 +VTS,1,1,780,4.23,CSH,15.0 +VTS,1,1,600,2.91,CRD,11.5 +VTS,1,1,2100,12.32,CSH,37.5 +VTS,1,1,1020,7.33,CRD,22.5 +VTS,1,1,300,1.33,CSH,7.0 +VTS,1,1,120,0.44,CRD,4.0 +VTS,1,1,420,1.7,CRD,7.5 +VTS,1,1,720,1.55,CSH,9.0 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,840,3.31,CRD,13.5 +VTS,1,1,1020,3.66,CRD,14.5 +VTS,1,1,420,0.78,CSH,6.5 +CMT,1,1,152,0.3,CSH,3.5 +CMT,1,1,609,2.7,CRD,10.5 +CMT,1,1,806,1.3,CSH,10.0 +CMT,1,1,398,1.0,CRD,6.5 +CMT,1,1,353,0.8,CRD,6.0 +CMT,1,1,644,4.2,CSH,14.0 +CMT,1,1,225,1.0,CSH,5.5 +CMT,1,1,141,0.7,CSH,4.0 +CMT,1,1,347,1.6,CRD,7.5 +CMT,1,4,298,2.2,CRD,8.0 +CMT,1,1,480,1.8,CSH,8.5 +CMT,1,1,201,0.8,CRD,5.0 +CMT,1,1,572,2.8,CRD,10.5 +CMT,1,4,364,1.1,CRD,6.5 +CMT,1,1,642,3.4,CRD,12.0 +CMT,1,1,107,0.4,CRD,4.0 +CMT,1,1,553,1.8,CRD,9.0 +CMT,1,1,663,2.5,CRD,10.5 +VTS,1,1,360,1.44,CRD,7.0 +VTS,1,1,480,0.99,CRD,7.0 +VTS,1,1,540,1.18,CSH,7.5 +VTS,1,1,480,1.5,CSH,7.5 +VTS,1,1,540,1.45,CSH,8.5 +VTS,1,1,300,2.09,CRD,7.5 +VTS,2,1,2400,21.72,CRD,52.0 +VTS,1,1,60,0.37,CSH,3.5 +VTS,1,1,780,2.97,CRD,11.5 +VTS,1,1,240,1.25,CSH,6.0 +VTS,1,1,300,0.79,CSH,5.0 +VTS,1,1,420,2.05,CRD,8.0 +VTS,1,1,420,0.8,CRD,6.0 +VTS,1,1,660,1.88,CRD,9.5 +CMT,1,1,591,3.3,CRD,12.0 +CMT,1,1,165,0.4,CSH,4.0 +CMT,1,4,142,0.4,CSH,3.5 +CMT,1,1,243,0.9,CSH,5.0 +CMT,1,4,511,2.2,CSH,9.5 +CMT,1,2,713,2.5,CSH,11.0 +CMT,1,1,591,2.5,CRD,10.5 +CMT,1,4,200,0.9,CSH,5.0 +CMT,1,1,412,2.6,CSH,9.5 +CMT,1,1,165,0.4,CSH,4.0 +CMT,1,1,378,1.0,CSH,6.0 +CMT,1,1,504,2.2,CRD,9.5 +VTS,1,1,360,0.98,CRD,6.0 +VTS,1,1,1020,3.12,CSH,14.0 +CMT,1,1,555,2.8,CRD,11.0 +CMT,1,1,524,3.1,CRD,11.0 +CMT,1,1,393,1.7,CSH,8.0 +CMT,1,1,700,1.8,CRD,10.0 +CMT,1,4,1359,12.6,CRD,36.0 +CMT,1,1,459,1.8,CSH,8.0 +CMT,1,4,1204,7.0,CSH,23.5 +CMT,1,1,441,2.8,CSH,10.0 +CMT,1,1,568,1.7,CSH,9.0 +CMT,1,4,203,0.6,CRD,4.5 +CMT,1,1,541,0.7,CSH,7.5 +CMT,1,4,145,0.5,CSH,4.0 +CMT,1,1,428,2.6,CSH,10.0 +CMT,1,1,135,0.8,CSH,4.5 +CMT,1,4,467,1.9,CSH,8.5 +CMT,1,1,258,1.6,CRD,7.0 +CMT,1,1,361,1.4,CSH,7.0 +CMT,1,4,424,1.3,CSH,7.0 +CMT,1,4,305,1.6,CRD,7.0 +CMT,1,1,275,1.2,CSH,6.0 +CMT,1,2,500,1.6,CSH,8.0 +CMT,1,1,293,1.7,CSH,7.0 +CMT,1,4,295,0.7,CRD,5.5 +CMT,1,2,559,2.0,CSH,9.0 +CMT,1,4,139,0.8,CRD,4.5 +CMT,1,1,179,1.0,CSH,5.0 +CMT,1,4,829,7.4,CRD,22.5 +CMT,1,1,95,0.4,CRD,3.5 +CMT,1,4,35,0.2,CSH,3.0 +CMT,1,1,374,1.7,CRD,7.5 +CMT,1,1,422,3.1,CRD,10.5 +CMT,1,2,179,0.5,CSH,4.5 +CMT,2,2,1346,17.1,CSH,52.0 +CMT,1,1,817,4.7,CRD,16.5 +CMT,1,1,306,0.6,CRD,5.5 +CMT,1,1,226,0.6,CRD,5.0 +CMT,1,1,331,1.3,CRD,6.5 +CMT,1,1,903,3.0,CSH,13.5 +CMT,1,2,886,2.8,CSH,12.0 +CMT,1,2,767,3.4,CRD,12.5 +CMT,1,4,570,2.5,CSH,10.5 +CMT,1,1,997,1.7,CRD,11.5 +CMT,1,1,105,0.6,CRD,4.0 +CMT,2,1,1622,17.3,CRD,52.0 +CMT,1,1,1485,12.4,CSH,36.5 +CMT,1,1,101,0.9,CSH,4.5 +CMT,1,1,281,1.7,CSH,7.0 +CMT,1,1,272,1.3,CRD,6.0 +CMT,1,1,293,1.3,CSH,6.5 +CMT,1,1,298,1.2,CSH,6.0 +VTS,1,1,780,2.48,CRD,11.5 +CMT,1,1,238,0.6,CRD,5.0 +CMT,1,1,447,2.6,CSH,9.5 +CMT,1,1,250,0.7,CSH,5.0 +CMT,1,1,356,2.1,CRD,8.5 +CMT,1,1,326,2.0,CRD,8.0 +CMT,1,4,223,0.8,CRD,5.0 +CMT,1,1,300,1.2,CSH,6.0 +CMT,1,1,377,1.0,CRD,6.0 +CMT,1,1,245,0.4,CSH,4.5 +CMT,1,4,457,2.2,CRD,9.0 +CMT,1,1,585,2.2,CRD,10.0 +CMT,1,4,212,1.0,CSH,5.5 +CMT,1,1,887,9.6,CRD,27.5 +CMT,1,1,72,0.6,CRD,4.0 +CMT,1,1,333,1.7,CRD,7.0 +CMT,1,1,418,1.6,CSH,8.0 +CMT,1,1,160,0.7,CRD,4.5 +CMT,2,1,2295,17.7,CSH,52.0 +CMT,1,4,162,0.4,CSH,4.0 +CMT,1,1,279,0.8,CSH,5.5 +CMT,1,2,544,3.5,CRD,12.5 +CMT,1,1,1485,7.7,CSH,27.0 +CMT,1,2,695,1.9,CSH,10.0 +CMT,1,1,706,6.6,CRD,20.0 +CMT,1,1,348,0.7,CSH,6.0 +CMT,1,1,744,2.2,CRD,10.5 +CMT,1,1,1022,2.8,CSH,13.5 +CMT,1,1,155,0.4,CRD,4.0 +CMT,1,4,653,2.1,CRD,10.0 +CMT,1,4,371,1.0,CRD,6.0 +CMT,1,1,283,0.7,CSH,5.5 +CMT,1,1,464,1.8,CSH,8.0 +CMT,1,1,373,1.3,CRD,6.5 +CMT,2,4,2134,17.5,CRD,52.0 +CMT,1,4,241,1.0,CSH,5.5 +CMT,1,4,441,1.5,CRD,7.5 +CMT,1,4,434,1.9,CRD,8.5 +CMT,1,2,203,0.9,CSH,5.5 +CMT,1,1,357,1.4,CRD,7.0 +CMT,1,1,147,1.0,CSH,5.0 +CMT,1,1,921,5.7,CRD,19.5 +CMT,1,1,3285,17.4,CRD,54.5 +CMT,1,1,212,1.0,CSH,5.5 +CMT,1,1,764,2.9,CSH,11.5 +CMT,1,2,944,3.9,CRD,15.0 +CMT,1,1,861,3.4,CSH,13.5 +CMT,1,1,233,0.8,CSH,5.5 +CMT,1,1,414,2.0,CRD,8.5 +CMT,1,1,327,0.5,CRD,5.0 +CMT,1,1,846,6.8,CRD,21.0 +CMT,1,2,757,3.9,CRD,14.5 +CMT,1,2,536,1.8,CRD,9.0 +CMT,1,1,324,0.8,CSH,5.5 +CMT,1,1,324,1.0,CSH,6.5 +CMT,1,1,835,2.9,CRD,12.5 +CMT,1,2,432,2.5,CSH,9.5 +CMT,1,2,130,0.8,CRD,4.5 +CMT,1,1,420,1.9,CRD,8.5 +CMT,1,1,1071,6.0,CRD,19.5 +CMT,1,1,937,4.7,CRD,16.5 +CMT,1,1,916,2.9,CRD,13.0 +CMT,1,4,998,3.5,CSH,14.5 +CMT,1,2,457,2.1,CRD,8.5 +CMT,1,1,686,1.4,CRD,9.0 +CMT,1,1,375,1.5,CRD,7.5 +CMT,1,1,782,2.3,CRD,11.5 +CMT,1,1,515,3.4,CSH,12.5 +CMT,1,2,529,2.5,CRD,10.0 +CMT,1,1,604,2.3,CRD,10.0 +CMT,1,4,533,2.4,CSH,10.5 +CMT,1,1,1689,4.9,CRD,21.5 +CMT,1,1,298,0.7,CRD,5.5 +CMT,1,1,806,2.0,CRD,11.0 +CMT,1,3,318,1.3,CSH,6.5 +CMT,1,3,245,0.9,CRD,5.5 +CMT,1,1,522,2.1,CRD,9.5 +CMT,1,1,717,4.2,CSH,14.5 +CMT,1,1,372,1.0,CRD,6.5 +CMT,1,1,299,1.1,CRD,6.0 +CMT,1,1,319,2.1,CRD,8.0 +CMT,1,1,243,1.2,CSH,5.5 +CMT,1,3,379,1.2,CSH,6.5 +CMT,1,3,635,1.9,CSH,10.0 +CMT,1,2,660,0.5,CSH,8.0 +CMT,1,1,282,1.3,CSH,6.0 +CMT,1,2,352,1.0,CSH,6.5 +CMT,1,1,248,1.5,CSH,6.5 +CMT,1,1,978,2.6,CSH,13.5 +CMT,1,1,278,1.1,CSH,6.0 +CMT,1,1,756,3.4,CRD,13.0 +CMT,1,1,453,1.8,CRD,8.0 +CMT,1,1,412,1.4,CRD,7.0 +CMT,1,2,407,1.4,CRD,7.5 +CMT,1,1,391,2.0,CRD,8.5 +CMT,1,4,880,6.7,CSH,21.0 +CMT,1,1,1007,9.5,CRD,27.5 +CMT,1,1,931,11.9,CRD,32.5 +CMT,1,1,447,1.8,CRD,8.5 +CMT,1,1,156,0.6,CSH,4.5 +CMT,1,1,482,1.7,CRD,8.0 +CMT,1,1,305,0.9,CRD,5.5 +CMT,1,1,579,2.0,CRD,9.5 +CMT,1,1,852,2.4,CRD,12.0 +CMT,1,3,801,2.6,CSH,11.0 +CMT,1,1,511,1.5,CRD,8.0 +CMT,1,2,657,2.6,CSH,10.5 +CMT,1,1,72,0.3,CRD,3.0 +CMT,1,1,1366,8.8,CRD,28.0 +CMT,1,1,519,2.0,CRD,8.5 +CMT,1,1,1060,5.6,CSH,19.0 +CMT,1,1,218,1.1,CRD,5.5 +CMT,1,1,420,0.7,CRD,6.0 +CMT,1,1,385,1.0,CRD,6.5 +CMT,1,1,562,1.7,CRD,9.0 +CMT,1,2,623,2.1,CSH,10.0 +CMT,1,2,399,2.4,CRD,9.0 +CMT,1,1,228,0.9,CRD,5.0 +CMT,1,1,1008,5.6,CRD,19.5 +CMT,1,2,1240,9.5,CRD,29.0 +CMT,1,3,388,1.8,CSH,8.0 +CMT,2,1,1579,15.7,CRD,52.0 +CMT,1,2,920,4.3,CSH,16.0 +CMT,1,3,196,0.9,CSH,5.5 +CMT,1,1,205,1.1,CSH,5.5 +CMT,1,2,599,2.6,CSH,10.5 +CMT,1,1,291,1.8,CSH,7.5 +CMT,1,1,701,2.6,CSH,11.0 +CMT,1,1,650,1.4,CSH,8.5 +CMT,1,1,588,1.4,CRD,8.5 +CMT,1,1,1000,2.8,CRD,13.0 +CMT,1,2,786,2.4,CSH,11.0 +CMT,1,2,571,2.2,CRD,9.5 +CMT,1,1,944,5.7,CSH,18.0 +CMT,1,1,541,3.1,CRD,11.5 +CMT,1,1,317,1.4,CRD,6.5 +CMT,1,1,656,7.5,CRD,21.5 +CMT,1,1,338,1.3,CRD,7.0 +CMT,1,1,329,1.8,CRD,7.5 +CMT,1,3,340,1.6,CSH,7.5 +CMT,1,1,411,2.6,CRD,9.0 +CMT,1,1,1283,10.0,CSH,29.0 +CMT,1,1,553,1.6,CRD,8.0 +CMT,1,2,484,2.6,CRD,10.0 +CMT,1,1,847,3.5,CRD,14.0 +CMT,1,1,939,4.9,CRD,17.0 +CMT,1,1,1168,5.8,CSH,21.0 +CMT,1,1,572,3.1,CRD,11.0 +CMT,1,1,369,1.9,CRD,8.0 +CMT,1,2,758,4.0,CRD,15.0 +CMT,1,1,343,1.7,CRD,7.5 +CMT,1,1,190,1.1,CSH,5.5 +CMT,1,1,770,2.7,CRD,12.0 +CMT,1,1,394,1.8,CSH,8.0 +CMT,1,1,538,2.1,CRD,9.0 +CMT,1,1,282,2.0,CSH,7.5 +CMT,1,2,587,3.1,CSH,11.0 +CMT,1,1,532,2.0,CRD,9.5 +CMT,1,1,372,2.2,CSH,8.5 +CMT,1,2,695,2.0,CRD,10.0 +CMT,1,2,278,1.1,CRD,6.0 +CMT,1,1,377,1.6,CSH,7.5 +CMT,1,1,379,1.4,CSH,7.0 +CMT,1,1,167,0.9,CSH,5.0 +CMT,1,1,232,1.0,CSH,5.5 +CMT,1,1,276,1.2,CSH,6.0 +CMT,1,1,627,1.6,CSH,9.0 +CMT,1,1,801,3.5,CRD,14.0 +CMT,1,1,124,0.5,CSH,4.0 +CMT,1,1,336,1.5,CRD,7.0 +CMT,1,1,339,1.1,CSH,6.0 +CMT,1,1,461,0.8,CRD,7.0 +CMT,1,1,245,0.9,CRD,5.5 +CMT,1,2,459,2.7,CRD,10.0 +CMT,1,3,457,2.2,CSH,9.0 +CMT,1,4,163,0.8,CSH,5.0 +CMT,1,2,908,3.4,CRD,14.5 +CMT,1,1,206,0.7,CRD,5.0 +CMT,1,1,221,0.8,CSH,5.0 +CMT,1,1,484,2.3,CSH,9.0 +CMT,1,1,231,0.8,CRD,5.0 +CMT,1,1,296,0.6,CRD,5.5 +CMT,1,1,135,0.4,CRD,4.0 +CMT,1,4,785,3.9,CRD,14.0 +CMT,1,1,258,0.5,CSH,5.0 +CMT,1,1,1047,5.7,CRD,19.0 +CMT,1,1,152,1.0,CSH,5.0 +CMT,1,1,827,6.9,CSH,21.5 +CMT,1,1,156,0.8,CSH,4.5 +CMT,1,1,174,0.9,CSH,5.0 +CMT,1,1,641,2.9,CSH,11.0 +CMT,1,1,440,1.1,CRD,7.0 +CMT,1,1,188,0.8,CRD,5.0 +CMT,1,1,525,1.3,CRD,8.0 +CMT,1,1,154,0.5,CRD,4.0 +CMT,1,1,430,3.1,CSH,11.0 +CMT,1,2,621,2.7,CSH,11.5 +CMT,1,2,557,1.7,CRD,8.5 +CMT,1,1,806,4.3,CSH,15.0 +CMT,1,1,476,1.5,CSH,8.0 +CMT,1,1,264,1.3,CRD,6.0 +CMT,1,4,620,1.9,CRD,9.5 +CMT,1,4,325,0.8,CRD,6.0 +CMT,1,4,514,1.9,CSH,8.5 +CMT,1,1,539,1.1,CRD,7.5 +CMT,1,4,209,0.7,CRD,4.5 +CMT,1,4,513,1.0,CRD,7.5 +CMT,1,4,1132,11.1,CRD,31.5 +CMT,1,1,258,0.6,CRD,5.0 +CMT,1,1,204,0.9,CRD,5.0 +CMT,1,1,418,0.6,CRD,6.0 +CMT,1,1,253,0.7,CRD,5.0 +CMT,1,2,377,1.8,CSH,7.5 +CMT,1,1,439,1.8,CRD,8.0 +CMT,1,2,216,0.5,CRD,4.5 +CMT,1,1,714,4.2,CRD,14.0 +CMT,1,1,507,4.1,CSH,12.5 +CMT,1,2,172,0.7,CRD,4.5 +CMT,1,2,304,0.8,CRD,5.5 +CMT,1,4,402,1.5,CRD,7.5 +CMT,1,1,450,1.1,CSH,7.0 +CMT,1,4,774,3.1,CRD,13.0 +CMT,1,4,605,2.3,CRD,10.0 +CMT,1,4,271,1.0,CRD,5.5 +CMT,1,1,347,0.4,CSH,5.5 +CMT,1,1,695,1.5,CRD,9.5 +CMT,1,1,1499,3.8,CRD,18.5 +CMT,1,3,424,1.4,CSH,7.5 +CMT,1,4,336,1.0,CSH,6.0 +CMT,1,1,241,1.6,CSH,6.5 +CMT,1,2,484,0.5,CRD,6.5 +CMT,1,1,1333,5.2,CSH,20.0 +CMT,1,1,3465,18.3,CSH,59.0 +CMT,1,1,693,1.8,CRD,10.0 +VTS,1,1,300,0.72,CSH,5.0 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,240,1.05,CSH,5.5 +VTS,1,1,120,0.3,CSH,3.5 +VTS,1,1,540,1.9,CRD,9.0 +VTS,1,1,1020,9.16,CRD,26.5 +VTS,1,1,480,1.31,CRD,7.5 +VTS,1,1,600,1.77,CRD,8.5 +VTS,1,1,1380,6.02,CRD,22.0 +VTS,1,1,480,1.92,CRD,8.0 +VTS,1,1,1380,1.74,CRD,14.5 +VTS,1,1,300,0.69,CRD,5.0 +VTS,1,1,420,1.22,CSH,7.0 +VTS,1,1,420,1.5,CSH,7.0 +VTS,1,1,1080,3.41,CRD,14.5 +VTS,1,1,1380,4.86,CSH,19.5 +VTS,1,1,540,3.07,CRD,11.0 +VTS,1,1,2400,4.51,CRD,24.5 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,360,0.54,CRD,5.5 +VTS,1,1,960,2.21,CRD,11.5 +VTS,1,1,420,0.93,CRD,6.5 +VTS,1,1,960,2.45,CSH,12.0 +VTS,1,1,480,1.3,CSH,6.5 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,1200,3.47,CRD,15.5 +CMT,1,1,109,0.3,CRD,3.5 +CMT,1,1,890,2.2,CRD,12.0 +CMT,1,1,177,0.6,CSH,4.5 +CMT,1,1,499,1.8,CRD,8.0 +CMT,1,1,236,1.0,CSH,5.5 +CMT,1,1,862,2.9,CRD,12.5 +CMT,1,1,658,2.8,CRD,11.0 +CMT,1,2,233,1.2,CSH,5.5 +CMT,1,1,814,3.3,CRD,13.0 +CMT,1,1,723,3.2,CRD,12.0 +CMT,1,2,696,3.1,CRD,11.5 +CMT,1,1,916,5.2,CRD,18.0 +CMT,1,1,664,3.6,CRD,13.0 +CMT,1,1,583,2.3,CSH,10.0 +CMT,1,1,183,0.7,CRD,4.5 +CMT,1,1,762,3.6,CRD,14.0 +CMT,1,1,252,0.5,CRD,5.0 +CMT,1,1,696,3.3,CRD,13.0 +CMT,1,4,346,1.0,CSH,6.0 +CMT,1,1,815,2.4,CSH,11.5 +CMT,1,4,860,2.2,CRD,11.0 +CMT,1,4,290,0.9,CRD,5.5 +CMT,1,1,754,2.4,CRD,11.0 +CMT,1,4,1237,9.2,CRD,27.5 +CMT,1,1,815,2.5,CSH,12.0 +CMT,1,1,635,1.3,CRD,8.5 +CMT,1,1,281,1.3,CRD,6.0 +CMT,1,2,417,1.0,CSH,6.5 +CMT,1,3,1219,2.3,CSH,15.0 +CMT,1,4,664,1.3,CSH,9.0 +CMT,1,1,1149,2.2,CRD,13.5 +CMT,1,1,755,2.7,CRD,11.5 +CMT,1,1,680,3.5,CRD,12.0 +CMT,1,1,2024,16.6,CRD,48.5 +CMT,1,1,281,1.2,CRD,6.5 +CMT,1,1,632,2.0,CRD,9.5 +CMT,1,1,404,1.4,CRD,7.0 +CMT,1,2,725,2.9,CRD,11.5 +CMT,1,1,1021,2.2,CSH,12.5 +CMT,1,1,566,1.7,CSH,8.5 +CMT,1,1,512,1.4,CRD,7.5 +CMT,1,1,866,6.5,CRD,20.5 +CMT,1,3,888,3.5,CSH,13.5 +CMT,1,1,711,2.8,CSH,11.5 +CMT,1,3,623,1.5,CSH,9.0 +CMT,1,1,467,0.9,CRD,7.0 +CMT,1,1,512,1.1,CRD,7.5 +CMT,1,2,247,0.7,CRD,5.0 +CMT,1,2,1235,4.9,CRD,19.0 +CMT,1,1,889,0.5,CRD,10.0 +CMT,1,1,497,2.4,CSH,9.0 +CMT,1,2,300,1.1,CSH,6.0 +CMT,1,3,734,4.3,CRD,15.0 +CMT,1,1,719,2.9,CRD,11.5 +CMT,1,1,57,0.4,CSH,3.5 +CMT,1,1,944,2.8,CSH,13.0 +CMT,1,1,304,1.2,CSH,6.0 +CMT,1,1,361,1.9,CRD,8.0 +CMT,1,1,394,1.0,CRD,6.5 +CMT,1,1,1321,7.3,CRD,23.5 +CMT,1,1,434,1.8,CSH,8.5 +CMT,1,1,853,4.2,CRD,15.0 +CMT,1,1,452,1.7,CRD,8.0 +CMT,1,1,111,0.8,CSH,4.5 +CMT,1,1,998,6.2,CRD,19.5 +CMT,1,4,451,1.9,CRD,8.5 +CMT,1,1,276,0.6,CSH,5.5 +CMT,1,1,1138,4.1,CSH,16.5 +CMT,1,4,1766,7.9,CRD,27.5 +CMT,1,4,709,3.6,CRD,13.0 +CMT,1,1,727,3.5,CRD,13.5 +CMT,1,4,637,1.5,CSH,9.0 +CMT,1,1,146,0.3,CRD,3.5 +CMT,1,2,545,1.7,CRD,9.0 +CMT,1,1,936,2.7,CSH,12.5 +CMT,1,4,778,2.6,CSH,12.0 +CMT,1,1,1226,7.1,CSH,23.5 +CMT,1,1,645,2.1,CSH,10.0 +CMT,1,1,109,0.3,CRD,3.5 +CMT,1,1,548,2.7,CRD,11.0 +CMT,1,1,351,1.5,CRD,7.5 +CMT,1,3,274,0.7,CRD,5.0 +CMT,1,1,498,1.4,CRD,7.5 +CMT,1,2,1548,5.6,CRD,21.5 +CMT,1,1,602,2.9,CRD,11.5 +CMT,1,4,571,1.1,CSH,7.5 +CMT,1,4,366,0.6,CSH,6.0 +CMT,1,4,267,1.2,CSH,5.5 +CMT,1,1,1247,3.1,CRD,15.5 +CMT,1,3,1566,3.3,CRD,18.0 +CMT,1,2,722,1.8,CSH,10.0 +CMT,1,1,1009,3.7,CRD,15.5 +CMT,1,1,376,1.6,CSH,7.0 +CMT,1,1,576,3.2,CRD,11.5 +CMT,1,1,755,1.6,CSH,10.0 +CMT,1,1,792,4.0,CRD,14.5 +CMT,1,1,491,2.4,CRD,9.5 +CMT,1,1,512,2.3,CSH,9.0 +CMT,1,1,486,1.7,CRD,8.0 +CMT,1,1,348,2.0,CRD,8.0 +CMT,1,1,217,1.0,CRD,5.5 +CMT,1,1,469,1.8,CSH,8.0 +CMT,1,1,528,1.6,CRD,8.0 +CMT,1,1,114,0.6,CSH,4.0 +CMT,1,1,259,0.9,CSH,5.5 +CMT,1,1,845,3.1,CRD,12.5 +CMT,1,2,561,1.8,CRD,9.0 +CMT,1,1,831,4.6,CSH,15.5 +CMT,1,1,462,1.9,CRD,8.5 +CMT,1,1,704,1.7,CSH,9.5 +CMT,1,1,1389,8.5,CSH,26.0 +CMT,1,1,132,0.4,CSH,4.0 +CMT,1,2,593,2.0,CSH,9.5 +CMT,1,4,590,1.2,CRD,8.0 +CMT,1,4,371,0.6,CRD,6.0 +CMT,1,4,580,1.9,CRD,9.0 +CMT,1,1,836,2.3,CSH,11.5 +CMT,1,3,432,1.4,CRD,7.5 +CMT,1,4,779,3.7,CSH,14.0 +CMT,1,1,381,1.3,CSH,7.0 +CMT,1,1,1217,3.3,CRD,15.5 +CMT,1,2,662,1.8,CRD,9.5 +CMT,1,4,927,1.9,CSH,11.5 +CMT,1,1,304,1.2,CRD,6.0 +CMT,1,1,352,1.4,CSH,7.0 +CMT,1,1,1074,8.3,CSH,25.5 +CMT,1,1,912,9.5,CRD,27.5 +CMT,1,1,1203,7.7,CRD,25.0 +CMT,1,1,190,0.8,CSH,5.0 +CMT,5,1,36,3.0,CRD,60.0 +CMT,1,1,577,1.6,CRD,9.0 +CMT,1,1,332,1.7,CSH,7.5 +CMT,1,1,159,0.7,CSH,4.5 +CMT,1,1,189,1.0,CSH,5.0 +CMT,1,1,977,3.7,CRD,14.5 +CMT,1,1,364,1.3,CSH,6.5 +CMT,1,1,235,0.8,CSH,5.0 +CMT,1,2,337,1.0,CRD,6.0 +CMT,1,1,584,1.3,CRD,8.0 +CMT,1,2,240,0.7,CSH,5.0 +CMT,1,2,701,2.9,CSH,11.5 +CMT,1,3,245,1.3,CSH,6.0 +CMT,1,1,126,0.5,CSH,4.0 +CMT,1,2,900,3.8,CRD,14.5 +CMT,1,1,346,0.8,CRD,6.0 +CMT,1,1,518,2.2,CRD,9.5 +CMT,1,3,250,0.7,CRD,5.0 +CMT,1,2,226,0.6,CSH,5.0 +CMT,1,2,723,6.6,CSH,20.0 +CMT,1,2,548,1.2,CRD,7.5 +CMT,1,1,1665,1.9,CRD,17.0 +CMT,1,1,691,2.6,CRD,10.5 +CMT,1,1,99,0.4,CRD,3.5 +CMT,1,1,801,3.1,CRD,13.0 +CMT,1,2,264,1.0,CRD,5.5 +CMT,1,2,608,1.5,CSH,8.5 +CMT,1,1,1131,9.9,CSH,28.0 +CMT,1,1,709,1.8,CRD,10.0 +CMT,1,1,365,1.4,CSH,6.5 +CMT,1,3,241,0.6,CSH,5.0 +CMT,1,1,537,0.9,CSH,7.0 +CMT,1,1,1026,5.4,CRD,18.5 +CMT,1,1,997,5.2,CRD,17.5 +CMT,1,1,788,2.1,CSH,10.5 +CMT,1,2,797,2.6,CSH,11.0 +CMT,1,1,85,0.2,CSH,3.0 +CMT,1,1,229,0.7,CSH,5.0 +CMT,1,1,562,2.3,CRD,9.5 +CMT,1,1,70,0.5,CRD,3.5 +CMT,1,2,486,1.5,CSH,8.0 +CMT,1,1,2298,4.7,CRD,26.0 +CMT,1,1,239,1.4,CSH,6.0 +CMT,1,4,108,0.4,CSH,3.5 +CMT,1,2,832,2.6,CRD,12.0 +CMT,1,2,2120,8.6,CSH,31.5 +CMT,1,1,453,0.9,CRD,6.5 +CMT,1,1,1792,10.9,CRD,33.5 +CMT,1,1,1329,3.5,CSH,16.5 +CMT,1,1,757,2.2,CRD,10.5 +CMT,1,1,257,0.4,CRD,4.5 +CMT,1,3,634,1.3,CSH,8.5 +CMT,1,1,550,1.7,CRD,8.0 +VTS,1,1,480,1.65,CRD,8.0 +VTS,1,1,180,0.46,CRD,4.5 +VTS,1,1,240,1.68,CRD,6.5 +VTS,1,1,300,0.86,CRD,5.5 +VTS,1,1,420,1.28,CRD,7.0 +VTS,1,1,1380,3.16,CRD,16.0 +VTS,1,1,540,1.5,CRD,8.5 +VTS,1,1,600,2.34,CSH,10.0 +VTS,1,1,960,4.14,CRD,15.0 +VTS,1,1,360,1.48,CRD,7.0 +VTS,1,1,600,2.33,CSH,10.0 +VTS,1,1,480,1.21,CSH,7.0 +VTS,1,1,600,1.68,CSH,9.0 +VTS,1,1,1020,4.74,CRD,17.5 +VTS,1,1,480,1.85,CRD,8.0 +VTS,1,1,720,1.97,CSH,10.0 +VTS,1,1,300,1.42,CRD,6.5 +CMT,1,4,782,9.2,CRD,26.0 +CMT,1,4,181,1.0,CRD,5.5 +CMT,1,1,556,2.7,CSH,10.0 +CMT,1,1,106,0.2,CSH,3.5 +CMT,1,1,730,2.7,CSH,12.0 +CMT,1,1,396,1.1,CSH,6.5 +CMT,1,4,500,2.6,CSH,10.0 +CMT,1,4,536,2.7,CSH,10.5 +CMT,1,1,778,7.8,CRD,23.5 +CMT,4,4,226,0.7,CSH,5.0 +CMT,1,1,866,5.8,CSH,18.5 +CMT,1,1,527,1.4,CRD,8.0 +CMT,1,1,437,1.8,CRD,8.0 +CMT,1,1,232,0.6,CSH,5.0 +CMT,1,1,716,2.4,CRD,10.5 +CMT,1,2,229,0.9,CRD,5.5 +CMT,1,2,412,1.6,CSH,7.5 +CMT,1,1,698,3.4,CSH,12.0 +CMT,1,1,263,1.0,CSH,5.5 +CMT,1,1,284,1.4,CRD,7.0 +CMT,1,2,199,1.2,CSH,5.5 +CMT,1,1,457,1.8,CRD,8.5 +CMT,1,2,1177,4.3,CSH,18.0 +CMT,1,1,660,3.4,CSH,12.5 +CMT,1,2,458,1.7,CRD,8.0 +CMT,1,1,450,1.1,CSH,7.0 +CMT,1,1,412,1.7,CSH,7.5 +CMT,1,1,383,1.2,CSH,6.5 +CMT,1,1,93,0.5,CSH,3.5 +CMT,1,1,404,2.2,CRD,9.0 +CMT,1,1,259,0.5,CSH,4.5 +CMT,1,1,322,1.2,CRD,6.5 +CMT,1,1,860,3.7,CSH,14.5 +CMT,1,1,876,3.8,CSH,14.0 +CMT,1,1,391,1.2,CSH,7.0 +CMT,1,1,547,3.8,CRD,13.0 +CMT,1,4,495,1.1,CSH,7.5 +CMT,1,4,526,1.9,CSH,8.5 +CMT,1,4,511,1.4,CRD,7.5 +CMT,1,1,346,1.4,CSH,6.5 +CMT,1,1,524,3.1,CRD,11.5 +CMT,1,4,407,1.4,CRD,7.0 +CMT,2,1,2384,18.6,CRD,52.0 +CMT,1,4,377,1.4,CRD,7.0 +CMT,2,4,1698,16.7,CSH,52.0 +CMT,1,1,983,2.4,CSH,12.5 +CMT,1,1,823,0.6,CSH,9.5 +CMT,3,2,1818,17.4,CSH,66.0 +CMT,1,1,219,0.6,CRD,4.5 +CMT,1,1,615,1.9,CSH,9.5 +CMT,1,2,1011,4.7,CRD,16.0 +CMT,1,2,612,2.4,CSH,11.0 +CMT,1,4,781,2.9,CSH,12.0 +CMT,1,1,518,0.9,CRD,7.0 +CMT,1,1,788,2.9,CSH,12.0 +CMT,1,1,691,2.3,CSH,10.5 +CMT,1,1,404,1.7,CSH,7.5 +CMT,1,1,325,1.0,CRD,6.0 +CMT,1,2,733,3.0,CRD,12.0 +CMT,1,1,215,1.1,CSH,5.5 +CMT,1,1,943,3.6,CSH,14.5 +CMT,1,1,847,2.3,CRD,12.0 +CMT,1,1,648,2.9,CRD,11.5 +CMT,1,1,409,1.0,CRD,6.5 +CMT,1,1,611,2.9,CRD,11.5 +CMT,1,1,204,0.7,CRD,4.5 +CMT,1,1,625,2.3,CRD,10.0 +CMT,1,1,377,1.2,CSH,6.5 +CMT,1,2,315,1.8,CSH,7.5 +CMT,1,2,1011,1.3,CSH,11.5 +CMT,1,1,691,1.6,CSH,9.5 +CMT,1,1,148,0.5,CRD,4.0 +CMT,1,1,424,1.1,CRD,6.5 +CMT,1,1,1028,2.6,CRD,13.0 +CMT,1,2,728,2.8,CSH,11.5 +CMT,1,1,128,0.5,CSH,4.0 +CMT,1,1,467,2.0,CSH,8.5 +CMT,1,1,154,0.5,CSH,4.5 +CMT,1,1,948,6.8,CRD,20.0 +CMT,1,1,574,1.9,CRD,8.5 +CMT,1,1,359,1.3,CSH,6.5 +CMT,1,1,862,3.3,CSH,13.5 +CMT,1,1,407,0.5,CSH,6.0 +CMT,1,1,424,0.8,CSH,6.5 +CMT,1,2,506,1.5,CRD,8.0 +CMT,1,2,457,2.1,CSH,8.5 +CMT,1,1,299,1.4,CRD,6.5 +CMT,1,1,451,1.6,CSH,7.5 +CMT,1,1,625,3.0,CRD,12.0 +CMT,1,1,712,3.6,CRD,13.0 +CMT,1,2,427,1.4,CSH,7.0 +CMT,1,3,260,1.0,CRD,5.5 +CMT,1,1,773,1.3,CRD,9.5 +CMT,1,2,148,0.7,CSH,4.5 +CMT,1,1,696,2.2,CRD,10.5 +CMT,1,1,239,1.2,CRD,5.5 +CMT,1,1,421,1.2,CRD,7.0 +CMT,1,1,405,1.6,CRD,7.5 +CMT,1,1,319,0.8,CSH,5.5 +CMT,1,1,457,2.0,CRD,8.5 +CMT,1,1,981,3.3,CSH,13.5 +CMT,1,2,376,1.0,CRD,6.5 +CMT,1,2,132,0.5,CSH,4.0 +CMT,1,1,378,1.6,CSH,7.5 +CMT,1,1,653,3.6,CSH,12.5 +CMT,1,1,85,0.6,CSH,4.0 +CMT,1,1,517,3.2,CRD,11.5 +CMT,1,1,427,1.6,CRD,7.5 +CMT,1,1,509,2.5,CRD,9.5 +CMT,1,1,840,4.8,CRD,16.5 +CMT,1,1,609,1.6,CSH,9.0 +CMT,1,1,292,0.5,CRD,5.0 +CMT,1,1,571,2.2,CRD,9.5 +CMT,1,1,583,1.2,CRD,5.5 +CMT,1,1,296,1.1,CRD,6.0 +CMT,1,1,1500,2.3,CRD,17.0 +CMT,1,2,875,2.2,CSH,11.0 +CMT,1,1,1198,4.0,CRD,17.0 +CMT,1,1,1497,5.1,CRD,20.0 +CMT,1,1,482,1.5,CRD,7.5 +CMT,1,1,323,1.1,CRD,6.0 +CMT,1,1,566,2.2,CRD,9.5 +CMT,1,1,549,2.9,CSH,10.5 +CMT,1,1,792,5.0,CSH,16.5 +CMT,1,1,862,4.0,CRD,14.5 +CMT,1,1,119,0.5,CSH,4.0 +CMT,1,1,410,1.3,CRD,7.0 +CMT,1,2,771,2.6,CSH,12.0 +CMT,1,1,726,1.8,CRD,10.0 +CMT,1,1,385,1.5,CRD,7.0 +CMT,1,1,724,2.7,CRD,11.0 +CMT,1,1,234,1.1,CRD,5.5 +CMT,1,1,622,1.5,CRD,8.5 +CMT,1,1,178,0.4,CSH,4.0 +CMT,1,1,586,1.7,CRD,9.0 +CMT,1,1,299,0.5,CSH,5.0 +CMT,1,1,1134,1.9,CRD,12.5 +CMT,1,1,1431,2.8,CRD,16.5 +CMT,1,2,1055,4.7,CSH,18.0 +CMT,1,1,1406,8.2,CRD,25.5 +CMT,1,1,821,1.6,CRD,9.5 +CMT,1,1,1379,10.8,CRD,31.5 +CMT,1,1,849,5.7,CRD,18.0 +CMT,1,1,271,0.7,CRD,5.0 +CMT,1,3,538,1.9,CRD,8.5 +CMT,1,1,321,0.7,CRD,5.5 +CMT,1,1,893,6.1,CRD,18.5 +CMT,1,1,157,0.3,CSH,4.0 +CMT,1,1,380,1.1,CSH,6.5 +CMT,1,1,1162,2.5,CRD,14.0 +CMT,1,1,449,1.9,CRD,8.0 +CMT,5,1,332,1.1,CRD,45.0 +CMT,1,1,726,4.2,CRD,14.0 +CMT,1,2,769,3.3,CRD,12.5 +CMT,1,3,223,0.6,CSH,5.0 +CMT,1,2,975,4.2,CSH,16.0 +CMT,1,1,2332,14.7,CRD,45.5 +CMT,1,3,360,2.4,CRD,8.5 +CMT,1,1,559,2.4,CSH,10.0 +CMT,1,1,202,1.3,CRD,6.0 +CMT,1,1,280,1.4,CRD,6.5 +CMT,1,1,272,1.0,CSH,6.0 +CMT,1,2,299,0.8,CSH,5.5 +CMT,1,1,327,1.0,CRD,6.0 +CMT,1,1,281,0.7,CSH,5.0 +CMT,1,1,200,0.7,CSH,5.0 +CMT,1,1,762,1.9,CRD,10.5 +CMT,1,3,199,0.7,CRD,4.5 +CMT,1,2,1176,3.8,CRD,15.5 +CMT,1,2,480,0.6,CSH,6.5 +CMT,1,2,972,2.0,CRD,12.0 +CMT,1,1,1440,5.1,CRD,21.0 +CMT,1,1,281,1.2,CRD,6.5 +CMT,1,2,957,4.0,CRD,16.0 +CMT,1,1,499,0.9,CRD,6.5 +CMT,1,1,109,0.5,CRD,4.0 +CMT,1,1,631,1.8,CRD,9.0 +CMT,1,4,495,1.9,CSH,8.5 +CMT,1,2,1204,3.6,CRD,15.5 +CMT,1,1,297,1.7,CRD,7.0 +CMT,1,2,845,4.7,CSH,16.0 +CMT,1,1,81,0.6,CSH,4.0 +CMT,1,1,647,1.4,CRD,8.5 +CMT,1,1,1032,1.1,CRD,11.0 +CMT,1,1,374,3.0,CSH,10.0 +CMT,1,2,174,1.4,CRD,6.0 +CMT,1,1,562,1.1,CRD,7.5 +CMT,1,1,229,0.5,CSH,4.5 +CMT,1,2,483,1.1,CRD,7.0 +CMT,1,1,322,0.4,CSH,5.0 +CMT,1,1,1187,6.6,CRD,23.0 +CMT,1,3,1364,5.1,CRD,20.0 +CMT,1,1,476,1.7,CRD,8.0 +CMT,1,4,383,1.8,CSH,8.0 +CMT,1,1,341,0.8,CRD,5.5 +CMT,1,1,722,1.9,CSH,10.0 +CMT,1,2,307,1.0,CSH,5.5 +CMT,1,4,602,0.9,CSH,7.0 +CMT,1,2,281,0.8,CSH,5.5 +CMT,1,1,1288,11.3,CRD,33.5 +CMT,1,2,1348,4.8,CSH,19.5 +CMT,5,1,1160,3.2,CRD,40.0 +CMT,1,1,385,1.7,CRD,7.5 +CMT,1,1,376,1.1,CSH,6.5 +CMT,1,3,573,2.3,CSH,9.5 +CMT,1,2,770,3.2,CSH,13.0 +CMT,1,1,340,1.9,CSH,7.5 +CMT,1,1,418,1.9,CSH,8.5 +CMT,1,4,525,1.7,CSH,8.5 +CMT,1,1,216,1.6,CSH,6.5 +CMT,1,1,473,2.7,CSH,10.0 +CMT,1,1,549,2.2,CSH,9.5 +CMT,1,1,94,0.3,CRD,3.5 +CMT,1,1,199,0.6,CRD,4.5 +CMT,1,1,1297,2.8,CRD,15.5 +CMT,1,3,594,1.8,CSH,9.5 +CMT,1,1,279,0.7,CRD,5.5 +CMT,1,1,845,3.1,CSH,13.0 +CMT,1,3,310,1.9,CRD,8.0 +CMT,1,1,402,1.0,CSH,7.0 +CMT,1,1,520,2.7,CRD,10.0 +CMT,1,1,2308,13.6,CSH,43.5 +CMT,1,1,804,4.1,CSH,15.0 +CMT,1,4,331,2.2,CRD,8.0 +CMT,1,4,178,1.0,CSH,5.0 +CMT,1,4,124,0.5,CSH,4.0 +CMT,1,4,494,2.1,CSH,9.0 +CMT,1,4,730,2.5,CRD,11.0 +CMT,1,1,273,1.1,CSH,6.0 +CMT,1,4,469,1.4,CSH,8.0 +CMT,1,1,231,0.6,CSH,5.0 +CMT,1,1,930,4.8,CRD,16.5 +CMT,1,1,653,2.1,CRD,10.0 +CMT,1,1,518,3.0,CSH,11.0 +CMT,3,1,2075,19.8,CRD,73.0 +CMT,1,1,895,10.5,CRD,29.0 +CMT,1,1,1399,7.1,CSH,23.5 +CMT,1,1,717,3.8,CRD,13.5 +CMT,1,1,591,2.3,CRD,10.0 +CMT,1,4,601,1.2,CSH,8.0 +CMT,1,1,766,1.7,CRD,10.0 +CMT,1,1,332,0.8,CSH,5.5 +CMT,1,2,433,0.8,CSH,6.5 +CMT,1,1,0,0.0,CSH,2.5 +CMT,1,2,880,3.1,CSH,14.0 +CMT,1,1,838,3.1,CSH,13.0 +CMT,1,1,1427,7.1,CRD,24.5 +CMT,1,1,851,5.5,CSH,17.0 +CMT,1,1,762,3.8,CRD,14.5 +CMT,1,1,988,2.7,CSH,13.0 +CMT,1,3,309,0.8,CSH,5.5 +CMT,1,3,659,4.5,CRD,15.5 +CMT,1,2,865,4.1,CRD,15.0 +CMT,1,1,545,3.3,CRD,11.5 +CMT,1,1,241,0.8,CSH,5.0 +CMT,1,1,632,0.7,CSH,7.5 +CMT,1,1,98,0.5,CRD,3.5 +CMT,1,2,1096,4.6,CRD,17.5 +CMT,1,2,531,1.5,CRD,8.5 +CMT,1,2,552,3.0,CSH,11.0 +CMT,1,1,715,2.6,CRD,11.0 +CMT,1,1,572,1.4,CRD,8.0 +CMT,1,1,314,1.1,CSH,6.0 +CMT,1,1,1308,3.4,CRD,16.5 +CMT,1,1,819,1.7,CRD,11.0 +CMT,1,2,1041,3.0,CRD,14.0 +CMT,1,1,675,1.8,CRD,9.5 +CMT,1,1,471,2.1,CSH,9.5 +CMT,1,2,559,1.9,CSH,9.0 +CMT,1,2,267,0.9,CSH,5.5 +CMT,1,1,115,0.4,CSH,3.5 +CMT,1,1,92,0.6,CSH,4.0 +CMT,1,1,174,0.4,CRD,4.0 +CMT,1,2,742,2.7,CSH,11.0 +CMT,1,3,982,2.5,CSH,12.5 +CMT,1,2,969,2.9,CSH,13.0 +CMT,1,1,402,1.9,CRD,8.0 +CMT,1,1,1099,2.4,CRD,13.5 +CMT,1,1,506,1.1,CSH,7.5 +CMT,1,1,659,1.5,CSH,9.0 +CMT,1,2,663,1.6,CSH,9.0 +CMT,1,1,418,1.0,CSH,6.5 +CMT,1,1,1017,2.7,CSH,13.0 +CMT,1,2,243,0.7,CRD,5.0 +CMT,1,1,430,1.2,CRD,7.0 +CMT,1,1,1307,4.6,CSH,18.5 +CMT,1,1,652,1.9,CRD,10.0 +CMT,1,1,1195,2.1,CRD,13.5 +CMT,1,1,1077,3.1,CRD,14.0 +CMT,1,2,418,1.1,CSH,6.5 +CMT,2,1,2800,17.7,CSH,52.0 +CMT,1,1,1089,4.0,CRD,16.0 +CMT,1,1,203,0.5,CRD,4.5 +CMT,1,1,242,0.5,CSH,4.5 +CMT,1,2,587,1.2,CSH,8.0 +CMT,1,1,424,1.4,CRD,7.0 +CMT,1,1,634,2.8,CSH,11.0 +CMT,1,1,640,2.4,CSH,10.0 +CMT,1,1,266,0.4,CSH,4.5 +CMT,1,1,621,2.0,CRD,9.0 +CMT,1,1,884,2.9,CSH,12.5 +CMT,1,2,324,1.6,CRD,7.0 +CMT,1,1,1334,3.9,CRD,18.5 +CMT,1,1,463,1.6,CRD,8.0 +CMT,1,1,658,1.7,CSH,9.0 +CMT,1,1,367,1.1,CSH,6.0 +CMT,1,1,175,0.5,CRD,4.0 +CMT,1,1,1428,7.8,CSH,26.0 +CMT,1,1,69,0.1,CSH,3.0 +CMT,1,1,749,3.3,CRD,12.5 +CMT,1,3,651,2.1,CRD,10.0 +CMT,1,2,945,2.1,CSH,11.5 +CMT,1,1,603,2.6,CRD,10.0 +CMT,1,2,652,2.1,CSH,9.5 +CMT,1,2,767,1.2,CSH,9.0 +CMT,1,2,233,0.5,CSH,4.5 +CMT,1,1,2173,20.3,CRD,55.0 +CMT,1,2,271,1.1,CRD,5.5 +CMT,1,2,853,4.3,CRD,15.5 +CMT,1,1,796,2.1,CRD,11.0 +CMT,1,1,276,0.8,CRD,5.5 +CMT,1,1,770,1.6,CSH,10.5 +CMT,1,1,867,3.8,CRD,14.5 +CMT,1,2,494,0.9,CRD,6.5 +CMT,1,1,1475,3.4,CRD,17.0 +CMT,1,1,447,1.2,CRD,7.0 +CMT,1,1,686,2.8,CRD,11.0 +CMT,1,2,979,2.2,CRD,12.5 +CMT,1,2,1672,5.0,CRD,21.0 +CMT,1,1,1372,9.2,CRD,27.0 +CMT,1,1,582,1.7,CRD,8.5 +CMT,1,1,580,1.6,CRD,8.5 +CMT,1,1,274,0.5,CRD,4.5 +CMT,1,1,234,0.4,CRD,4.5 +CMT,1,2,133,0.6,CRD,4.0 +CMT,1,1,375,1.3,CRD,6.5 +CMT,1,1,511,1.4,CSH,7.5 +CMT,1,4,726,3.4,CRD,12.5 +CMT,1,1,588,3.9,CRD,13.0 +CMT,1,1,777,4.4,CRD,15.5 +CMT,1,1,258,0.7,CRD,5.0 +CMT,1,1,642,3.1,CRD,12.0 +CMT,1,1,790,4.7,CRD,16.0 +CMT,1,1,331,0.8,CRD,5.5 +CMT,1,1,923,3.8,CSH,15.0 +CMT,1,1,674,3.3,CRD,13.0 +CMT,1,1,475,1.5,CRD,8.0 +CMT,1,1,618,1.5,CRD,9.0 +CMT,1,1,250,0.5,CRD,5.0 +CMT,1,1,353,1.4,CRD,6.5 +CMT,1,1,253,1.1,CSH,5.5 +CMT,1,1,780,2.2,CRD,10.0 +CMT,1,1,351,1.1,CSH,6.0 +CMT,1,2,528,1.4,CSH,8.0 +CMT,1,1,970,1.2,CRD,10.5 +CMT,1,2,799,1.2,CSH,9.0 +CMT,1,2,722,0.8,CSH,8.5 +CMT,1,1,1298,7.3,CRD,24.0 +CMT,1,1,746,3.9,CSH,13.0 +CMT,1,2,1955,8.5,CRD,30.0 +CMT,1,1,424,1.8,CSH,8.0 +CMT,1,1,197,0.7,CRD,4.5 +CMT,1,1,769,1.6,CRD,9.5 +CMT,1,1,660,2.3,CRD,10.0 +CMT,1,1,1837,5.8,CRD,23.5 +CMT,1,1,889,4.2,CRD,15.0 +CMT,1,1,222,1.0,CSH,5.0 +CMT,1,1,917,5.6,CRD,18.5 +CMT,1,2,582,1.2,CRD,8.0 +CMT,1,1,340,1.5,CSH,7.0 +CMT,1,1,559,2.9,CSH,10.5 +CMT,1,2,683,2.0,CRD,10.5 +CMT,1,1,310,0.8,CSH,6.0 +CMT,1,1,528,1.5,CSH,8.0 +CMT,1,1,517,1.4,CRD,8.0 +CMT,1,1,1409,2.6,CRD,16.0 +CMT,1,4,1148,6.0,CSH,21.5 +CMT,1,1,458,1.9,CRD,8.0 +CMT,1,1,500,1.1,CRD,7.5 +CMT,1,2,1136,2.9,CRD,14.5 +CMT,1,1,987,2.6,CRD,13.0 +CMT,1,1,2108,10.9,CRD,36.0 +CMT,1,1,335,0.6,CRD,5.5 +CMT,1,2,699,0.9,CSH,8.5 +CMT,1,1,285,0.7,CRD,5.5 +CMT,1,1,371,1.5,CRD,7.5 +CMT,1,1,1677,7.2,CSH,26.0 +CMT,1,1,335,1.6,CSH,7.0 +CMT,1,1,455,2.2,CSH,9.0 +CMT,1,2,247,1.1,CSH,5.5 +CMT,1,2,770,2.6,CSH,12.0 +CMT,1,2,824,2.5,CSH,12.5 +CMT,1,2,1041,2.6,CRD,13.5 +CMT,1,1,208,0.8,CRD,4.5 +CMT,1,1,282,0.8,CSH,5.5 +CMT,1,1,446,1.2,CRD,7.0 +CMT,2,1,2092,16.5,CRD,52.0 +CMT,1,1,919,1.7,CRD,11.0 +CMT,1,1,756,1.6,CSH,10.0 +CMT,1,2,219,0.6,CSH,4.5 +CMT,1,1,785,2.0,CSH,10.5 +CMT,1,1,346,0.9,CRD,6.0 +CMT,1,1,536,1.0,CSH,7.5 +CMT,1,1,658,1.6,CRD,9.0 +CMT,1,2,193,0.7,CSH,4.5 +CMT,1,1,205,0.7,CRD,5.0 +CMT,1,1,1091,9.1,CRD,26.5 +CMT,1,1,760,1.1,CSH,9.5 +CMT,1,1,606,1.4,CRD,8.0 +CMT,1,1,549,2.0,CRD,9.0 +CMT,1,1,362,1.2,CSH,6.5 +CMT,1,1,205,0.5,CSH,4.5 +CMT,1,1,919,4.0,CRD,14.0 +CMT,1,1,526,1.8,CRD,9.0 +CMT,1,1,947,3.0,CSH,13.0 +CMT,1,4,483,0.8,CSH,7.0 +CMT,1,2,528,2.2,CSH,9.0 +CMT,1,1,120,0.5,CSH,4.0 +CMT,1,1,789,1.3,CSH,9.5 +CMT,1,3,642,1.6,CRD,9.0 +CMT,1,1,347,2.2,CRD,8.0 +CMT,1,1,230,0.9,CRD,5.0 +CMT,1,2,382,1.4,CSH,6.5 +CMT,1,1,1119,2.4,CSH,13.5 +CMT,1,1,1201,2.4,CRD,13.5 +CMT,1,1,819,2.0,CSH,10.5 +CMT,1,1,286,1.0,CSH,5.5 +CMT,1,1,410,1.3,CRD,7.0 +CMT,1,1,845,2.2,CSH,11.0 +CMT,1,1,556,1.3,CRD,8.0 +CMT,1,1,540,2.2,CRD,9.5 +CMT,1,1,1205,5.9,CRD,20.0 +CMT,1,2,367,0.9,CRD,6.0 +CMT,1,1,713,3.5,CRD,12.0 +CMT,1,1,828,1.9,CSH,10.5 +CMT,1,2,675,1.9,CSH,9.5 +CMT,1,1,484,0.8,CSH,7.0 +CMT,1,2,715,1.2,CSH,9.0 +CMT,1,1,554,3.1,CSH,11.0 +CMT,1,1,835,3.2,CSH,13.0 +CMT,1,1,1009,3.3,CRD,14.0 +CMT,1,1,647,1.7,CRD,9.0 +CMT,1,1,574,1.1,CSH,8.0 +CMT,1,1,1147,3.6,CRD,15.5 +CMT,1,1,401,1.2,CSH,6.5 +CMT,1,1,721,4.4,CSH,15.5 +CMT,1,1,793,4.3,CRD,15.0 +CMT,1,1,2039,8.2,CRD,31.0 +CMT,1,1,436,1.6,CRD,7.5 +CMT,1,1,446,1.2,CRD,7.0 +CMT,1,2,381,0.8,CSH,6.0 +CMT,1,1,573,1.8,CRD,8.5 +CMT,1,1,183,0.4,CRD,4.0 +CMT,1,1,820,2.1,CRD,11.0 +CMT,1,1,453,1.0,CSH,7.0 +CMT,1,1,231,0.5,CSH,5.0 +CMT,1,1,1102,2.5,CRD,13.5 +CMT,1,1,152,0.3,CSH,3.5 +CMT,1,1,402,1.2,CRD,6.5 +CMT,1,1,840,8.5,CRD,24.0 +CMT,1,1,1410,4.3,CSH,18.5 +CMT,1,1,1336,5.6,CRD,21.5 +CMT,1,1,300,0.9,CSH,5.5 +CMT,1,1,1679,13.7,CRD,39.0 +CMT,1,1,194,0.5,CSH,4.0 +CMT,1,1,706,2.7,CRD,11.0 +CMT,1,1,298,1.1,CSH,6.0 +CMT,1,2,961,3.0,CSH,13.0 +CMT,1,1,955,2.7,CRD,13.0 +CMT,1,1,1374,3.5,CSH,16.5 +CMT,1,1,389,0.4,CRD,5.5 +CMT,1,2,784,2.3,CRD,11.0 +CMT,1,1,307,1.1,CSH,6.0 +CMT,1,1,333,1.5,CSH,7.0 +CMT,1,1,335,1.0,CRD,6.0 +CMT,1,1,806,2.6,CRD,11.5 +CMT,1,1,110,0.5,CRD,3.5 +CMT,1,3,602,1.9,CSH,9.5 +CMT,1,1,458,0.5,CRD,6.0 +CMT,1,1,977,2.6,CSH,12.5 +CMT,1,1,203,0.3,CSH,4.0 +CMT,1,1,521,3.0,CRD,11.0 +CMT,1,1,684,2.7,CSH,11.0 +CMT,1,1,297,1.5,CSH,7.0 +CMT,1,2,1366,10.5,CRD,31.5 +CMT,1,3,964,4.3,CSH,16.0 +CMT,1,1,80,0.5,CSH,3.5 +CMT,1,1,875,2.6,CSH,12.0 +CMT,1,2,255,0.8,CSH,5.5 +CMT,1,1,553,0.9,CSH,7.5 +CMT,1,1,589,2.4,CSH,10.0 +CMT,1,1,1347,4.4,CSH,19.0 +CMT,1,1,22,0.1,CRD,2.5 +CMT,1,1,1024,2.2,CRD,12.5 +CMT,1,1,133,0.5,CSH,4.0 +CMT,1,1,649,1.6,CSH,9.0 +CMT,1,1,402,0.5,CSH,6.0 +CMT,1,1,411,0.8,CRD,6.5 +CMT,1,1,300,0.5,CSH,5.0 +CMT,1,1,591,2.3,CSH,9.5 +CMT,1,1,535,1.2,CSH,8.0 +CMT,1,1,255,0.8,CSH,5.0 +CMT,1,1,457,1.0,CRD,7.0 +CMT,1,1,383,1.7,CSH,7.5 +CMT,1,1,420,1.1,CSH,6.5 +CMT,1,1,1193,4.0,CRD,17.0 +CMT,1,1,665,1.9,CRD,9.5 +CMT,1,1,1324,3.8,CSH,16.5 +CMT,1,1,697,1.2,CRD,9.0 +CMT,1,1,938,1.6,CRD,11.0 +CMT,1,1,648,2.5,CRD,10.5 +CMT,1,1,554,2.3,CSH,9.5 +CMT,1,1,626,1.6,CRD,9.0 +CMT,1,1,181,0.7,CRD,4.5 +CMT,1,1,517,3.8,CRD,13.0 +CMT,1,1,888,1.2,CRD,10.5 +CMT,1,2,593,1.6,CRD,8.5 +CMT,1,1,621,2.2,CSH,9.5 +CMT,1,1,497,1.8,CSH,8.5 +CMT,1,1,288,0.9,CSH,5.5 +CMT,1,1,179,0.5,CSH,4.0 +CMT,1,1,1983,10.5,CRD,34.5 +CMT,1,1,812,2.1,CRD,10.5 +CMT,1,2,761,4.8,CRD,16.0 +CMT,1,1,364,1.4,CSH,7.0 +CMT,1,2,222,0.5,CSH,4.5 +CMT,1,2,153,0.4,CRD,4.0 +CMT,1,2,338,0.7,CRD,5.5 +CMT,1,1,616,2.6,CSH,10.5 +CMT,1,1,630,1.0,CRD,8.0 +CMT,1,1,1326,2.1,CRD,14.5 +CMT,1,1,375,0.8,CSH,6.0 +CMT,1,1,730,3.7,CRD,13.0 +CMT,1,1,271,0.8,CSH,5.5 +CMT,1,1,660,1.0,CSH,8.5 +CMT,1,2,195,0.9,CSH,5.0 +CMT,1,1,181,0.8,CRD,4.5 +CMT,1,2,365,1.5,CRD,7.0 +CMT,1,2,1239,6.6,CRD,21.5 +CMT,1,1,263,1.3,CRD,6.5 +CMT,1,4,683,3.8,CSH,13.0 +CMT,1,1,232,0.8,CRD,5.0 +CMT,1,2,722,2.5,CRD,11.5 +CMT,1,1,396,1.2,CRD,7.0 +CMT,2,2,1919,18.0,CRD,52.0 +CMT,1,1,535,1.7,CRD,8.5 +CMT,1,1,1292,10.3,CRD,29.0 +CMT,1,1,1103,1.7,CSH,12.0 +CMT,1,1,405,0.7,CRD,6.0 +CMT,1,1,919,3.1,CRD,13.0 +CMT,1,1,728,1.5,CRD,10.0 +CMT,1,1,681,2.0,CRD,10.0 +CMT,1,2,337,0.9,CSH,6.0 +CMT,1,1,130,0.4,CSH,4.0 +CMT,1,1,278,1.2,CSH,6.0 +CMT,1,3,579,2.8,CSH,11.0 +CMT,1,1,801,4.2,CSH,14.5 +CMT,1,3,244,0.4,CRD,4.5 +CMT,1,4,1362,2.7,CSH,15.5 +CMT,1,2,273,1.0,CSH,6.0 +CMT,1,1,654,4.2,CSH,13.5 +CMT,1,1,418,1.3,CRD,7.0 +CMT,1,1,452,1.1,CRD,7.0 +CMT,1,1,1196,9.9,CRD,29.5 +CMT,1,2,317,2.0,CRD,8.0 +CMT,1,1,1071,6.3,CRD,20.0 +CMT,1,1,1101,11.8,CRD,33.0 +CMT,1,1,869,3.2,CRD,13.0 +CMT,1,2,1117,2.0,CRD,13.0 +CMT,1,1,182,0.5,CSH,4.0 +CMT,1,2,230,1.0,CSH,5.0 +CMT,1,2,500,1.7,CRD,8.0 +CMT,1,1,456,1.5,CRD,7.5 +CMT,1,1,448,0.7,CRD,6.5 +CMT,1,2,683,2.2,CSH,10.0 +CMT,1,3,2257,5.4,CSH,24.5 +CMT,1,1,257,0.9,CSH,5.0 +CMT,1,4,1098,4.3,CRD,16.0 +CMT,1,2,199,0.5,CSH,4.5 +CMT,1,3,357,1.2,CRD,6.5 +CMT,5,1,788,3.8,CSH,40.0 +CMT,1,2,175,0.6,CRD,4.5 +CMT,1,1,311,0.9,CRD,5.5 +CMT,1,1,193,0.5,CSH,4.0 +CMT,1,1,425,1.0,CRD,6.5 +CMT,1,1,1536,6.3,CSH,23.5 +CMT,1,2,353,1.3,CSH,7.0 +CMT,1,2,725,2.9,CRD,12.0 +CMT,1,2,880,4.2,CSH,15.0 +CMT,1,2,513,2.0,CRD,9.0 +CMT,1,3,570,2.1,CRD,9.5 +CMT,1,2,742,2.1,CSH,10.5 +CMT,1,1,1794,9.8,CSH,32.0 +CMT,1,1,147,0.6,CRD,4.0 +CMT,1,1,622,4.1,CSH,13.5 +CMT,1,1,897,2.7,CSH,13.0 +CMT,1,1,505,1.0,CRD,7.5 +CMT,1,1,1010,3.1,CRD,14.0 +CMT,1,1,608,1.9,CRD,9.0 +CMT,1,2,207,0.5,CSH,4.5 +CMT,1,1,66,0.3,CRD,3.0 +CMT,1,1,548,2.2,CSH,9.5 +CMT,1,1,220,0.4,CSH,4.5 +CMT,1,1,1099,3.2,CRD,15.0 +CMT,1,3,716,2.0,CSH,10.0 +CMT,1,1,1889,11.8,CRD,34.5 +CMT,1,1,1083,4.8,CRD,18.0 +CMT,1,1,1385,4.8,CSH,19.5 +CMT,1,1,550,1.0,CRD,7.5 +CMT,1,1,283,0.2,CSH,4.5 +CMT,1,1,1140,1.9,CSH,13.0 +CMT,1,1,617,1.6,CSH,8.5 +CMT,1,1,797,5.0,CRD,16.5 +CMT,1,1,1288,5.6,CSH,21.0 +CMT,1,2,553,1.8,CSH,8.5 +CMT,1,1,790,3.5,CRD,13.5 +CMT,1,4,503,1.2,CSH,7.0 +CMT,1,2,665,1.1,CRD,8.5 +CMT,1,2,164,0.8,CSH,4.5 +CMT,1,1,467,1.9,CRD,8.5 +CMT,1,1,141,0.9,CRD,4.5 +CMT,1,1,154,0.5,CRD,4.0 +CMT,1,1,565,2.2,CSH,9.5 +CMT,1,3,920,5.1,CRD,17.5 +CMT,1,1,266,0.6,CRD,5.0 +CMT,1,1,526,1.9,CRD,9.0 +CMT,1,1,442,1.3,CSH,7.0 +CMT,1,1,766,1.6,CRD,10.0 +CMT,1,1,506,0.9,CRD,7.0 +CMT,1,2,131,0.6,CSH,4.0 +CMT,1,1,306,0.8,CSH,5.5 +CMT,1,1,392,1.2,CRD,6.5 +CMT,1,1,217,0.8,CRD,5.0 +CMT,1,1,238,0.8,CSH,5.0 +CMT,1,1,2624,6.2,CSH,29.0 +CMT,1,1,1103,2.0,CRD,12.5 +CMT,1,1,350,0.8,CSH,6.0 +CMT,1,1,619,2.3,CSH,10.5 +CMT,1,1,1598,9.4,CRD,29.5 +CMT,1,2,728,1.9,CRD,10.5 +CMT,1,3,1355,2.4,CSH,15.5 +CMT,1,1,1379,4.9,CRD,19.0 +CMT,1,1,669,2.5,CRD,11.0 +CMT,1,1,432,1.7,CSH,7.5 +CMT,1,1,462,1.0,CRD,7.0 +CMT,1,2,288,2.0,CRD,7.5 +CMT,1,1,581,7.0,CRD,20.5 +CMT,1,2,302,0.8,CSH,5.5 +CMT,1,3,1449,6.0,CRD,22.0 +CMT,1,3,409,1.1,CSH,7.0 +CMT,1,1,230,1.0,CRD,5.0 +CMT,1,1,1337,4.5,CSH,17.5 +CMT,1,1,180,0.7,CSH,4.5 +CMT,1,1,429,1.2,CRD,7.0 +CMT,1,1,264,0.6,CSH,5.0 +CMT,1,1,150,0.5,CRD,4.0 +CMT,1,1,221,0.6,CSH,4.5 +CMT,1,1,906,2.0,CRD,11.5 +CMT,1,2,595,1.5,CRD,9.0 +CMT,1,4,555,2.0,CRD,9.5 +CMT,1,1,168,0.5,CSH,4.0 +CMT,1,2,271,0.4,CRD,4.5 +CMT,1,1,618,1.8,CRD,9.0 +CMT,1,1,376,0.8,CRD,6.0 +CMT,1,1,631,1.3,CSH,8.5 +CMT,1,2,999,6.1,CSH,20.0 +CMT,1,1,786,3.0,CRD,12.0 +CMT,1,1,165,0.9,CRD,5.0 +CMT,1,1,1785,5.6,CSH,23.0 +CMT,1,1,220,0.4,CRD,4.5 +CMT,1,1,147,0.2,CRD,3.5 +CMT,1,1,709,2.8,CSH,12.0 +CMT,2,2,1638,19.3,CRD,52.0 +CMT,1,2,366,2.0,CSH,8.0 +CMT,1,3,103,0.3,CSH,3.5 +CMT,1,1,894,7.1,CRD,21.5 +CMT,1,1,611,1.3,CSH,8.0 +CMT,1,1,533,2.2,CSH,9.0 +CMT,1,1,886,2.3,CRD,12.0 +CMT,1,1,992,8.5,CRD,25.0 +CMT,1,1,223,0.7,CRD,5.0 +CMT,1,1,284,1.2,CRD,6.0 +CMT,1,1,3388,6.7,CRD,35.5 +CMT,1,1,637,1.8,CRD,9.0 +CMT,1,2,272,0.6,CSH,5.0 +CMT,1,1,979,8.5,CRD,24.5 +CMT,1,1,471,3.2,CSH,11.0 +CMT,1,1,554,1.2,CRD,8.0 +CMT,1,2,373,0.7,CSH,6.0 +CMT,1,1,658,1.5,CRD,9.0 +CMT,1,1,410,0.9,CRD,6.5 +CMT,1,1,386,0.9,CSH,6.0 +CMT,1,4,613,2.3,CRD,10.0 +CMT,1,1,304,1.0,CSH,6.0 +CMT,1,1,854,3.5,CRD,13.5 +CMT,1,1,207,1.0,CSH,5.5 +CMT,1,4,535,1.6,CRD,9.0 +CMT,1,1,309,2.0,CRD,7.5 +CMT,1,1,427,0.8,CRD,6.5 +CMT,1,1,991,1.8,CRD,11.5 +CMT,1,1,475,1.8,CSH,8.5 +CMT,1,2,485,1.7,CRD,8.0 +CMT,1,1,415,0.7,CSH,6.0 +CMT,1,1,846,2.3,CSH,11.5 +CMT,2,1,2928,20.6,CSH,52.0 +CMT,1,1,1093,3.5,CSH,15.5 +CMT,1,3,572,0.9,CSH,7.5 +CMT,1,1,1109,3.8,CSH,15.5 +CMT,1,1,768,2.8,CRD,12.0 +CMT,1,3,337,0.8,CRD,6.0 +CMT,1,1,771,2.2,CSH,11.0 +CMT,1,1,1675,11.2,CRD,34.5 +CMT,1,1,1073,3.9,CRD,15.5 +CMT,1,1,552,1.2,CRD,8.0 +CMT,1,1,302,1.7,CRD,7.5 +CMT,1,2,208,0.6,CSH,4.5 +CMT,1,1,633,1.4,CRD,8.5 +CMT,1,1,535,1.1,CSH,7.5 +CMT,1,1,697,2.2,CSH,10.0 +CMT,1,1,1589,12.0,CRD,35.5 +CMT,1,1,197,0.6,CRD,4.5 +CMT,1,1,777,2.1,CSH,10.5 +CMT,1,3,353,2.3,CSH,8.0 +CMT,1,1,604,2.6,CRD,10.0 +CMT,1,1,431,1.1,CRD,6.5 +CMT,1,1,491,1.1,CRD,7.0 +CMT,1,1,313,0.6,CRD,5.5 +CMT,1,1,618,1.5,CRD,9.0 +CMT,1,1,210,1.2,CSH,5.5 +CMT,1,1,271,1.6,CSH,6.5 +CMT,1,2,174,0.4,CSH,4.0 +CMT,1,1,812,8.9,CRD,25.0 +CMT,1,1,291,0.9,CSH,5.5 +CMT,1,1,201,0.7,CSH,5.0 +CMT,1,1,309,0.9,CSH,6.0 +CMT,1,2,238,0.4,CSH,4.5 +CMT,1,3,464,1.3,CSH,7.5 +CMT,1,2,584,1.5,CSH,9.0 +CMT,1,1,1420,3.4,CRD,16.5 +CMT,1,1,589,1.3,CRD,8.5 +CMT,1,1,296,1.3,CRD,6.5 +CMT,1,1,300,1.0,CSH,6.0 +CMT,1,2,897,1.1,CSH,10.0 +CMT,1,1,517,1.1,CRD,7.5 +CMT,1,2,430,0.9,CRD,6.5 +CMT,1,1,374,1.3,CSH,7.0 +CMT,1,2,1624,9.5,CRD,30.5 +CMT,1,1,305,1.0,CSH,6.0 +CMT,1,1,808,1.1,CSH,9.5 +CMT,1,1,192,0.7,CSH,4.5 +CMT,1,2,568,2.2,CRD,9.5 +CMT,1,1,628,1.7,CSH,9.0 +CMT,1,1,802,3.7,CSH,14.0 +CMT,1,1,526,1.5,CSH,8.0 +CMT,1,1,553,2.1,CRD,9.0 +CMT,1,1,757,3.4,CSH,13.0 +CMT,1,1,338,0.6,CRD,5.5 +CMT,1,1,764,2.0,CSH,10.5 +CMT,1,1,566,1.2,CRD,8.0 +CMT,1,1,358,0.8,CRD,6.0 +CMT,1,1,433,1.0,CRD,6.5 +CMT,1,1,173,0.4,CSH,4.0 +CMT,1,1,500,2.1,CSH,9.0 +CMT,1,1,262,0.6,CSH,5.0 +CMT,1,1,462,3.3,CRD,11.0 +CMT,1,1,432,2.0,CSH,8.5 +CMT,1,2,616,2.1,CSH,9.5 +CMT,1,2,322,0.8,CRD,5.5 +CMT,1,1,684,2.9,CSH,11.5 +CMT,1,1,289,1.3,CSH,6.5 +CMT,1,1,482,0.6,CSH,7.0 +CMT,1,3,432,1.1,CRD,7.0 +CMT,1,1,724,1.8,CRD,10.0 +CMT,1,1,1392,4.1,CRD,17.5 +CMT,1,2,504,1.2,CSH,7.5 +CMT,1,1,574,2.1,CRD,9.5 +CMT,1,2,237,0.3,CSH,4.5 +CMT,1,2,371,1.4,CRD,7.0 +CMT,1,1,514,1.2,CSH,7.5 +CMT,1,3,701,1.4,CRD,9.0 +CMT,1,1,338,0.9,CSH,6.0 +CMT,1,2,478,0.6,CSH,6.5 +CMT,1,1,320,1.1,CRD,6.0 +CMT,1,1,452,1.4,CSH,7.0 +CMT,1,1,705,5.4,CSH,17.0 +CMT,1,1,555,1.0,CSH,7.5 +CMT,1,1,952,2.7,CRD,13.0 +CMT,1,1,449,2.2,CRD,9.0 +CMT,1,1,949,8.6,CRD,25.0 +CMT,1,1,496,1.5,CSH,8.5 +CMT,1,1,1209,9.7,CSH,29.0 +CMT,1,1,78,0.5,CRD,3.5 +CMT,1,1,510,3.2,CRD,11.5 +CMT,1,1,414,1.6,CSH,7.5 +CMT,1,1,850,1.9,CRD,11.0 +CMT,1,1,0,0.0,CSH,6.5 +CMT,1,2,475,1.4,CRD,7.5 +CMT,1,1,553,1.6,CRD,8.5 +CMT,1,1,1249,4.4,CRD,18.0 +CMT,1,1,181,1.1,CRD,5.0 +CMT,1,1,218,0.8,CSH,5.0 +CMT,1,1,131,0.5,CSH,4.0 +CMT,1,2,1172,3.5,CRD,15.5 +CMT,1,1,104,0.5,CRD,4.0 +CMT,1,1,433,1.2,CRD,7.0 +CMT,1,3,554,1.4,CRD,8.0 +CMT,1,1,300,0.6,CSH,5.0 +CMT,1,1,315,0.9,CSH,6.0 +CMT,1,1,298,1.1,CSH,6.0 +CMT,1,2,249,0.8,CSH,5.0 +CMT,1,1,646,0.9,CRD,8.0 +CMT,1,1,675,3.4,CRD,12.0 +CMT,1,1,529,2.4,CSH,9.5 +CMT,1,1,990,6.6,CRD,20.5 +CMT,1,1,334,0.8,CRD,5.5 +CMT,1,1,568,2.1,CRD,9.5 +CMT,1,1,323,1.3,CRD,6.5 +CMT,1,1,181,0.5,CSH,4.5 +CMT,1,1,1724,8.6,CRD,29.5 +CMT,1,1,324,0.7,CRD,5.5 +CMT,1,2,1508,9.6,CRD,30.5 +CMT,1,1,317,0.6,CSH,5.5 +CMT,1,1,248,1.4,CRD,6.5 +CMT,1,1,94,0.4,CRD,3.5 +CMT,1,1,203,0.7,CRD,4.5 +CMT,1,1,693,1.0,CRD,8.5 +CMT,1,1,642,1.2,CRD,8.5 +CMT,1,1,1205,2.9,CRD,14.5 +CMT,1,3,652,1.9,CSH,9.5 +CMT,1,1,414,1.1,CRD,7.0 +CMT,1,1,452,1.3,CSH,7.0 +CMT,1,1,714,1.3,CSH,9.0 +CMT,1,1,551,2.0,CSH,9.0 +CMT,1,2,411,0.7,CRD,6.0 +CMT,1,1,574,4.0,CRD,12.5 +CMT,1,1,584,3.6,CRD,12.0 +CMT,1,2,541,1.4,CRD,8.0 +CMT,1,1,336,1.0,CSH,6.0 +CMT,1,1,500,2.2,CSH,9.0 +CMT,1,4,819,1.7,CSH,10.5 +CMT,1,1,303,0.6,CSH,5.5 +CMT,1,1,199,0.6,CSH,4.5 +CMT,2,1,3235,19.4,CSH,52.0 +CMT,1,2,449,0.7,CRD,6.5 +CMT,1,2,265,0.6,CSH,5.0 +CMT,1,3,1232,8.5,CRD,26.5 +CMT,1,3,305,1.0,CRD,5.5 +CMT,1,1,117,0.3,CRD,3.5 +CMT,1,1,130,0.3,CSH,3.5 +CMT,1,1,1009,1.3,CRD,11.0 +CMT,1,1,99,0.2,CSH,3.0 +CMT,1,1,550,1.9,CRD,8.5 +CMT,1,1,188,1.0,CRD,5.0 +CMT,1,2,1485,10.3,CRD,31.5 +CMT,1,2,1515,8.3,CSH,27.0 +CMT,1,1,362,0.8,CSH,6.0 +CMT,1,1,386,2.5,CSH,9.0 +CMT,1,1,343,1.1,CRD,6.5 +CMT,1,2,294,1.4,CSH,6.5 +CMT,1,1,428,1.3,CRD,7.0 +CMT,1,2,1206,5.7,CRD,20.5 +CMT,1,1,102,0.4,CSH,3.5 +CMT,1,1,511,1.0,CRD,7.5 +CMT,1,1,264,0.6,CRD,5.0 +CMT,1,2,369,1.0,CRD,6.0 +CMT,1,1,582,2.1,CSH,9.5 +CMT,1,1,1580,5.2,CSH,21.0 +CMT,1,1,402,0.9,CRD,6.0 +CMT,1,1,173,1.2,CRD,5.5 +CMT,1,1,708,2.1,CSH,10.0 +CMT,1,1,752,2.0,CSH,9.5 +CMT,1,1,968,2.6,CRD,12.0 +CMT,1,1,578,1.2,CSH,8.0 +CMT,1,2,857,1.4,CSH,10.0 +CMT,1,1,441,0.7,CSH,6.5 +CMT,1,1,222,0.4,CRD,4.5 +CMT,1,1,631,1.5,CRD,9.0 +CMT,1,2,322,0.8,CSH,6.0 +CMT,1,1,439,0.7,CSH,6.5 +CMT,1,2,1571,6.1,CRD,23.5 +CMT,1,2,1794,5.4,CSH,23.5 +CMT,1,1,544,4.1,CSH,13.5 +CMT,1,1,1016,3.2,CRD,14.0 +CMT,1,1,434,0.9,CRD,7.0 +CMT,1,1,689,1.4,CRD,9.0 +CMT,1,1,1449,4.1,CRD,18.5 +CMT,1,1,706,2.3,CRD,10.5 +CMT,1,3,167,0.6,CSH,4.0 +CMT,1,1,201,1.4,CSH,6.0 +CMT,1,2,152,0.8,CRD,4.5 +CMT,1,1,1053,3.3,CSH,14.5 +CMT,1,1,271,0.8,CRD,5.5 +CMT,1,1,209,0.9,CSH,5.0 +CMT,1,2,259,1.2,CSH,6.0 +CMT,1,1,119,0.6,CRD,4.0 +CMT,1,1,911,2.7,CSH,12.5 +CMT,1,1,131,0.5,CSH,4.0 +CMT,1,1,227,0.7,CSH,5.0 +CMT,1,1,0,0.0,CSH,5.0 +CMT,1,1,940,2.0,CRD,12.0 +CMT,1,1,468,1.0,CSH,7.0 +CMT,1,1,473,1.7,CRD,8.0 +CMT,1,2,343,1.7,CSH,7.0 +CMT,1,3,656,2.4,CRD,10.5 +CMT,1,1,1309,3.4,CRD,16.0 +CMT,1,1,719,1.7,CRD,9.5 +CMT,1,1,601,0.9,CRD,7.5 +CMT,1,2,368,1.3,CRD,7.0 +CMT,1,1,1139,5.8,CRD,20.0 +CMT,1,1,990,2.1,CSH,12.5 +CMT,1,1,744,1.7,CSH,10.0 +CMT,1,1,195,0.6,CSH,4.5 +CMT,1,1,236,1.0,CRD,5.5 +CMT,1,1,206,0.4,CSH,4.5 +CMT,1,1,1031,0.9,CRD,11.0 +CMT,1,1,621,1.9,CSH,9.5 +CMT,1,1,344,0.9,CSH,5.5 +CMT,1,1,788,1.8,CRD,10.0 +CMT,1,1,170,0.9,CRD,5.0 +CMT,1,1,495,1.1,CSH,7.5 +CMT,1,2,559,2.3,CRD,9.5 +CMT,1,1,354,1.3,CRD,6.5 +CMT,1,1,815,3.1,CRD,12.5 +CMT,1,1,1193,4.6,CRD,17.0 +CMT,1,1,406,1.3,CRD,7.0 +CMT,1,1,274,1.1,CRD,6.0 +CMT,1,2,452,1.5,CSH,7.5 +CMT,1,1,151,1.2,NOC,3.5 +CMT,1,1,797,6.2,CRD,19.5 +CMT,1,2,680,1.6,CSH,9.0 +CMT,1,1,300,0.5,CSH,5.0 +CMT,1,1,936,9.4,CRD,27.0 +CMT,1,1,268,1.4,CSH,6.5 +CMT,1,1,257,0.9,CSH,5.5 +CMT,1,2,601,1.7,CRD,9.0 +CMT,1,1,476,1.7,CRD,9.0 +CMT,1,1,619,1.1,CSH,8.0 +CMT,1,1,441,0.9,CSH,6.5 +CMT,1,1,512,0.5,CRD,7.0 +CMT,1,1,624,2.0,CSH,9.5 +CMT,1,1,692,1.3,CSH,9.0 +CMT,1,1,383,0.5,CSH,5.5 +CMT,1,2,705,2.3,CRD,10.5 +CMT,1,1,998,2.0,CRD,12.0 +CMT,1,1,1182,2.6,CSH,14.5 +CMT,1,1,489,1.0,CSH,6.5 +CMT,1,1,255,0.9,CRD,5.5 +CMT,1,1,251,0.9,CSH,5.5 +CMT,1,1,241,0.9,CSH,5.0 +CMT,1,1,319,0.8,CRD,6.0 +CMT,1,1,208,0.9,CRD,5.0 +CMT,1,1,1213,8.6,CRD,27.0 +CMT,1,2,637,1.6,CSH,9.0 +CMT,1,2,248,0.5,CRD,4.5 +CMT,1,2,957,1.8,CRD,11.5 +CMT,1,1,471,1.2,CSH,7.0 +CMT,1,1,505,0.7,CRD,6.5 +CMT,1,1,1400,5.3,CSH,20.5 +CMT,1,2,1144,2.5,CSH,14.0 +CMT,1,1,453,1.4,CSH,7.5 +CMT,1,1,919,2.8,CSH,12.5 +CMT,1,2,218,0.4,CSH,4.5 +CMT,1,1,581,2.1,CRD,9.0 +CMT,1,1,737,2.7,CSH,12.0 +CMT,1,1,724,2.7,CRD,11.5 +CMT,1,2,701,1.2,CSH,8.5 +CMT,1,1,184,1.2,CSH,5.5 +CMT,1,1,538,1.5,CSH,8.0 +CMT,1,1,1287,2.2,CRD,14.5 +CMT,1,1,686,1.1,CRD,8.5 +CMT,1,1,1026,2.3,CRD,12.5 +CMT,1,1,284,1.3,CRD,6.5 +CMT,1,1,660,1.6,CSH,9.0 +CMT,1,1,578,1.2,CRD,8.0 +CMT,1,1,384,2.8,CRD,9.5 +CMT,1,2,255,1.2,CSH,6.0 +CMT,1,1,313,1.6,CRD,6.5 +CMT,1,3,980,3.5,CRD,14.5 +CMT,1,2,324,1.7,CRD,7.0 +CMT,1,2,182,0.6,CRD,4.5 +CMT,1,2,118,0.6,CRD,4.0 +CMT,1,1,628,1.6,CRD,9.0 +CMT,1,1,358,0.6,CSH,5.5 +CMT,1,1,474,2.6,CSH,9.5 +CMT,1,1,457,1.1,CSH,7.0 +CMT,1,1,275,1.0,CSH,5.5 +CMT,1,1,631,2.8,CSH,10.5 +CMT,1,1,373,1.5,CRD,7.0 +CMT,1,1,266,0.8,CSH,5.0 +CMT,1,1,499,2.0,CSH,8.5 +CMT,1,1,159,0.8,CSH,4.5 +VTS,1,5,1200,5.01,CRD,19.0 +VTS,1,5,900,3.81,CRD,15.0 +VTS,1,1,1080,4.1,CSH,16.5 +VTS,1,5,300,0.99,CSH,5.5 +VTS,1,5,600,1.37,CRD,8.0 +VTS,1,6,540,1.56,CSH,8.5 +VTS,1,3,480,1.69,CRD,8.5 +VTS,1,3,180,0.93,CSH,5.0 +VTS,1,3,600,1.36,CSH,8.5 +VTS,1,3,900,2.33,CRD,12.0 +VTS,1,1,1440,5.27,CRD,21.0 +VTS,1,1,720,3.21,CRD,12.5 +VTS,1,1,660,2.18,CRD,10.0 +VTS,1,1,1200,5.59,CRD,19.5 +VTS,1,1,540,2.48,CSH,10.5 +VTS,1,1,300,0.81,CSH,5.0 +VTS,1,1,480,0.65,CSH,6.5 +VTS,1,1,720,1.0,CSH,9.0 +VTS,1,1,360,0.46,CSH,5.5 +VTS,1,1,240,1.15,CSH,5.5 +VTS,1,1,660,1.75,CSH,9.0 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,1260,2.11,CSH,13.5 +VTS,1,1,480,1.13,CSH,7.0 +VTS,1,1,720,3.37,CSH,11.5 +VTS,1,1,0,0.33,CSH,3.0 +VTS,1,1,660,1.47,CSH,8.5 +VTS,1,1,240,0.46,CRD,4.5 +VTS,1,1,480,1.25,CSH,7.5 +VTS,1,1,900,2.01,CSH,11.0 +VTS,1,1,300,1.18,CRD,6.0 +VTS,1,1,1920,6.23,CSH,23.5 +CMT,1,2,747,2.5,CRD,11.0 +CMT,1,2,212,1.1,CSH,5.5 +CMT,1,1,462,3.1,CRD,10.5 +CMT,1,2,468,3.3,CRD,11.5 +CMT,1,1,1908,7.7,CSH,28.0 +CMT,1,1,464,1.7,CRD,8.0 +CMT,1,1,1088,2.6,CSH,14.0 +CMT,1,1,982,3.8,CRD,14.5 +CMT,1,1,770,3.5,CRD,13.0 +CMT,1,1,1659,8.2,CSH,28.5 +CMT,1,1,541,1.3,CRD,8.0 +CMT,1,1,269,0.9,CRD,5.5 +CMT,1,1,154,0.7,CRD,4.5 +CMT,1,1,713,1.4,CRD,9.0 +CMT,1,1,98,0.1,CSH,3.0 +CMT,1,1,362,1.5,CSH,7.0 +VTS,1,6,480,3.0,CRD,11.0 +VTS,1,6,480,3.1,CSH,10.5 +VTS,1,5,300,1.38,CRD,6.5 +VTS,1,6,1140,4.39,CRD,17.0 +VTS,1,3,960,3.32,CRD,13.5 +VTS,1,3,420,1.48,CRD,7.5 +VTS,1,1,840,1.94,CRD,10.5 +VTS,1,1,1260,3.84,CRD,17.0 +VTS,1,1,840,3.59,CRD,13.5 +VTS,1,1,480,1.46,CRD,7.5 +CMT,1,1,297,0.5,CSH,5.0 +CMT,1,1,723,2.7,CSH,11.5 +CMT,1,1,124,0.3,CSH,3.5 +CMT,1,1,214,0.8,CSH,5.0 +CMT,1,1,771,1.1,CSH,9.5 +CMT,1,2,431,1.4,CSH,7.5 +CMT,1,3,903,2.4,CSH,12.0 +CMT,1,1,789,1.8,CSH,10.0 +CMT,1,3,1215,4.1,CSH,16.5 +CMT,1,1,129,0.6,CSH,4.0 +CMT,1,2,637,3.0,CSH,11.0 +CMT,1,2,627,1.8,CSH,9.5 +CMT,1,1,1144,4.1,CSH,16.0 +CMT,1,1,1094,3.5,CRD,15.5 +CMT,1,2,1299,5.8,CRD,21.0 +CMT,1,2,377,0.6,CRD,6.0 +CMT,1,1,136,0.6,CRD,4.0 +CMT,1,1,681,1.4,CSH,9.0 +CMT,1,1,509,0.8,CSH,7.0 +CMT,1,1,1081,4.6,CSH,17.0 +CMT,1,1,270,1.0,CRD,5.5 +CMT,1,1,602,1.7,CRD,8.5 +CMT,1,1,604,2.7,CRD,11.0 +CMT,1,1,184,1.5,CRD,6.0 +CMT,1,3,2389,10.7,CSH,37.5 +CMT,1,1,527,1.8,CRD,9.0 +CMT,1,1,580,1.8,CSH,8.5 +CMT,1,1,815,2.7,CSH,12.0 +CMT,1,1,630,2.6,CRD,10.5 +CMT,1,4,464,1.0,CSH,7.0 +CMT,1,1,448,1.4,CSH,7.0 +CMT,1,1,835,3.1,CRD,13.0 +CMT,1,1,406,0.5,CRD,6.0 +CMT,1,2,581,2.6,CRD,11.0 +CMT,1,1,240,0.6,CRD,5.0 +CMT,1,1,1127,7.1,CRD,23.0 +CMT,1,2,1518,7.0,CRD,23.5 +CMT,1,1,1228,10.2,CSH,29.5 +CMT,1,2,254,0.8,CSH,5.0 +CMT,1,2,874,3.2,CRD,13.5 +CMT,1,1,384,0.9,CSH,6.0 +CMT,1,1,145,0.5,CSH,4.0 +CMT,1,1,77,4.6,DIS,3.0 +CMT,1,1,755,2.5,CRD,11.0 +CMT,1,1,107,0.4,CSH,3.5 +CMT,1,1,230,1.3,CRD,6.0 +CMT,1,1,240,0.5,CSH,4.5 +VTS,1,6,2940,9.47,CRD,38.5 +VTS,1,5,540,1.91,CSH,8.5 +VTS,2,5,1440,17.15,CSH,52.0 +VTS,1,5,780,3.34,CSH,13.5 +VTS,1,6,300,0.9,CSH,6.0 +CMT,1,1,107,0.4,CRD,3.5 +CMT,1,1,154,0.3,CSH,4.0 +CMT,1,1,544,1.9,CRD,8.5 +CMT,1,1,1001,1.9,CRD,11.5 +CMT,1,1,995,2.3,CRD,12.5 +CMT,1,1,171,1.0,CSH,5.0 +CMT,1,1,233,0.5,CRD,4.5 +CMT,1,1,234,1.1,CRD,5.5 +CMT,1,1,587,2.8,CRD,11.0 +CMT,1,1,542,1.3,CRD,8.0 +CMT,1,1,808,1.5,CRD,9.5 +CMT,1,1,745,2.0,CRD,10.0 +CMT,1,1,738,3.2,CSH,12.5 +CMT,1,1,643,0.8,CRD,8.0 +CMT,1,1,437,0.9,CRD,6.5 +CMT,1,1,485,2.2,CSH,9.5 +CMT,1,1,305,0.7,CSH,5.5 +CMT,1,2,396,2.5,CRD,9.5 +CMT,1,2,1337,3.8,CSH,17.0 +CMT,1,2,1338,11.3,CSH,32.0 +CMT,1,2,307,1.2,CRD,6.5 +CMT,1,2,513,1.7,CRD,8.5 +CMT,1,1,1202,3.5,CSH,16.5 +CMT,1,1,492,2.2,CRD,9.0 +CMT,1,1,799,2.0,CSH,11.0 +CMT,1,1,473,1.1,CSH,7.0 +CMT,1,1,215,1.1,CSH,5.5 +VTS,1,6,540,2.49,CRD,10.0 +VTS,1,5,1620,4.74,CSH,21.0 +VTS,1,5,420,1.22,CSH,7.0 +VTS,1,5,360,1.25,CSH,6.5 +VTS,1,1,360,1.47,CSH,6.5 +VTS,1,5,420,2.39,CSH,9.0 +VTS,1,6,480,1.75,CSH,8.5 +VTS,1,6,720,3.04,CSH,12.0 +VTS,1,5,480,1.62,CSH,8.0 +VTS,1,3,300,1.52,CSH,6.5 +VTS,1,3,420,1.78,CRD,7.5 +VTS,1,3,1440,7.13,CSH,24.0 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,660,3.92,CSH,13.5 +VTS,1,1,1380,8.45,CRD,26.0 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,840,1.45,CRD,10.0 +VTS,1,1,960,4.94,CRD,16.5 +VTS,1,1,660,1.2,CSH,8.5 +VTS,1,1,240,0.99,CRD,5.0 +VTS,2,1,5460,22.78,CRD,52.0 +VTS,1,1,660,4.03,CSH,13.5 +VTS,1,1,660,2.42,CRD,10.5 +VTS,1,1,960,3.12,CRD,13.5 +VTS,1,1,660,1.57,CSH,9.0 +VTS,1,1,600,0.96,CSH,8.0 +VTS,1,5,360,1.69,CSH,8.0 +VTS,2,6,1740,16.94,CSH,52.0 +VTS,1,4,240,0.94,CRD,5.5 +VTS,1,3,600,2.56,CRD,10.5 +VTS,1,2,300,0.94,CSH,5.5 +VTS,1,1,540,1.75,CSH,8.0 +VTS,1,1,2220,4.14,CSH,21.0 +VTS,1,1,1020,1.99,CSH,12.0 +VTS,1,1,1920,3.68,CRD,20.5 +VTS,1,1,720,1.06,CRD,9.0 +VTS,1,1,360,0.74,CSH,6.0 +VTS,1,1,2520,14.73,CSH,44.5 +VTS,1,1,180,0.45,CSH,4.0 +VTS,1,1,180,0.5,CSH,4.5 +VTS,1,1,180,0.44,CSH,4.0 +VTS,1,1,720,0.81,CRD,8.5 +VTS,1,1,360,1.48,CSH,6.5 +VTS,1,1,600,2.34,CRD,10.0 +VTS,1,1,1500,3.3,CRD,16.5 +VTS,1,1,360,0.53,CRD,5.5 +VTS,1,1,1140,3.21,CRD,15.0 +VTS,1,1,780,1.7,CSH,9.5 +VTS,1,1,840,1.47,CRD,10.0 +VTS,1,1,300,0.51,CSH,4.5 +VTS,1,1,420,1.77,CSH,7.5 +CMT,1,1,822,2.0,CRD,10.5 +CMT,1,1,73,0.3,CRD,3.5 +CMT,1,1,1062,6.6,CRD,21.0 +CMT,1,1,580,1.4,CRD,8.5 +CMT,1,1,597,2.7,CRD,10.5 +CMT,1,1,440,0.9,CRD,5.5 +VTS,1,5,1380,3.48,CRD,17.5 +VTS,1,5,0,0.0,CRD,2.5 +VTS,1,5,240,0.92,CRD,5.0 +VTS,1,5,1020,5.91,CRD,19.0 +VTS,1,5,360,2.14,CSH,8.5 +VTS,1,5,120,0.82,CRD,4.5 +VTS,1,5,180,1.29,CRD,6.0 +VTS,1,5,480,0.77,CSH,7.0 +VTS,1,6,480,2.8,CRD,10.0 +VTS,1,5,180,1.24,CSH,5.5 +VTS,1,5,420,1.73,CSH,8.0 +VTS,1,5,480,2.46,CSH,9.5 +VTS,1,5,720,2.61,CRD,11.5 +VTS,1,1,840,2.57,CSH,12.0 +VTS,1,1,180,0.63,CSH,4.0 +VTS,1,1,360,1.02,CRD,6.0 +VTS,1,1,180,0.37,CSH,4.0 +VTS,1,1,720,1.71,CSH,10.0 +VTS,1,1,900,2.28,CSH,11.5 +VTS,1,1,300,0.96,CSH,6.0 +CMT,1,2,394,0.8,CSH,6.0 +CMT,1,2,1633,10.2,CRD,32.5 +CMT,1,1,736,1.8,CRD,10.0 +CMT,1,1,535,1.1,CSH,7.5 +CMT,1,1,269,0.8,CRD,5.5 +CMT,1,1,333,1.1,CSH,6.5 +CMT,1,1,908,1.5,CRD,11.0 +CMT,1,1,962,2.3,CSH,12.0 +CMT,1,1,1075,10.4,CRD,29.0 +CMT,1,1,1072,3.0,CSH,14.5 +CMT,1,1,1265,6.5,CRD,22.5 +CMT,1,1,451,0.9,CRD,6.5 +CMT,1,2,732,1.7,CRD,10.0 +CMT,1,1,675,0.6,CRD,8.0 +CMT,1,1,310,0.9,CRD,6.0 +CMT,1,1,360,1.3,CRD,7.0 +CMT,1,1,557,1.3,CRD,8.5 +CMT,1,2,756,1.9,CSH,10.5 +CMT,1,1,881,2.1,CSH,11.5 +CMT,1,2,344,0.6,CSH,5.5 +CMT,1,3,217,0.5,CSH,4.5 +CMT,1,1,885,1.7,CRD,11.0 +CMT,1,1,729,2.5,CRD,11.0 +CMT,1,1,288,0.8,CSH,5.0 +CMT,1,3,1874,9.0,CSH,31.0 +CMT,1,1,261,0.7,CSH,5.0 +CMT,1,1,279,1.1,CRD,5.5 +CMT,1,1,848,2.5,CSH,11.5 +CMT,1,2,490,1.6,CSH,8.0 +CMT,1,2,947,2.0,CRD,11.5 +CMT,1,1,232,1.5,CSH,6.0 +CMT,1,2,537,1.8,CRD,8.5 +CMT,1,2,341,1.1,CRD,6.0 +CMT,1,2,403,2.3,CRD,9.0 +CMT,1,2,120,0.6,CSH,4.0 +CMT,1,1,1861,2.4,CSH,20.0 +CMT,1,1,350,1.7,CRD,7.0 +CMT,1,2,719,3.1,CSH,12.5 +CMT,1,1,987,3.8,CRD,15.0 +CMT,1,1,1314,2.2,CSH,15.5 +CMT,1,1,595,1.1,CRD,8.0 +CMT,1,1,595,3.7,CRD,12.0 +CMT,1,1,371,1.6,CSH,7.5 +CMT,1,1,638,2.3,CSH,10.0 +CMT,1,1,472,1.3,CRD,7.5 +CMT,1,1,771,3.1,CSH,13.0 +CMT,1,1,515,3.1,CSH,11.0 +VTS,1,5,540,2.67,CSH,10.5 +VTS,1,6,120,0.43,CSH,4.0 +VTS,1,5,240,0.77,CSH,5.0 +VTS,1,5,960,4.16,CRD,15.5 +VTS,1,6,300,1.04,CRD,6.0 +CMT,1,1,992,6.0,CRD,20.0 +CMT,1,1,782,2.0,CSH,10.5 +CMT,1,1,561,1.2,CSH,8.0 +CMT,1,1,240,0.6,CSH,5.0 +CMT,1,1,1461,9.7,CRD,29.5 +CMT,1,1,1386,8.4,CRD,27.0 +CMT,1,1,281,0.4,CSH,5.0 +CMT,1,2,1064,2.6,CSH,13.5 +CMT,1,2,217,0.6,CRD,4.5 +CMT,1,1,2802,12.2,CRD,41.5 +CMT,1,1,865,4.3,CRD,15.5 +CMT,1,1,318,2.2,CRD,8.0 +CMT,1,1,131,0.3,CRD,3.5 +CMT,1,1,278,0.8,CRD,5.0 +CMT,1,1,683,1.7,CSH,10.0 +CMT,1,1,420,1.5,CSH,7.0 +CMT,1,1,368,0.9,CRD,6.0 +CMT,1,2,642,5.1,CRD,16.5 +CMT,1,1,489,2.1,CRD,9.5 +CMT,1,1,454,1.0,CRD,7.0 +CMT,1,1,1973,4.4,CRD,22.5 +CMT,1,1,171,0.5,CSH,4.0 +CMT,1,1,260,1.3,CRD,6.5 +CMT,1,1,512,1.7,CRD,8.0 +CMT,1,2,1037,2.1,CRD,12.0 +CMT,1,1,366,1.1,CRD,6.5 +CMT,1,1,1390,7.1,CRD,24.0 +CMT,1,1,103,0.4,CRD,3.5 +CMT,1,1,330,0.7,CRD,5.5 +CMT,1,1,694,1.6,CSH,9.0 +CMT,1,1,509,0.8,CSH,7.0 +CMT,1,1,171,0.4,CSH,4.0 +CMT,1,4,419,1.1,CSH,6.5 +CMT,1,1,460,1.3,CRD,7.5 +CMT,1,2,265,0.8,CSH,5.0 +CMT,1,1,540,2.4,CRD,9.5 +CMT,1,1,857,3.5,CSH,13.5 +CMT,1,2,538,1.8,CSH,9.0 +CMT,1,3,511,1.3,CSH,7.5 +CMT,1,1,766,2.0,CRD,10.5 +CMT,1,2,461,1.2,CSH,7.5 +CMT,1,1,219,1.3,CRD,6.0 +CMT,1,1,320,1.2,CRD,6.0 +CMT,1,1,661,1.2,CSH,8.0 +CMT,1,2,567,1.1,CRD,7.5 +CMT,1,1,765,1.7,CSH,10.5 +CMT,1,2,862,2.1,CRD,11.5 +CMT,1,1,721,3.6,CRD,13.5 +CMT,1,1,290,0.9,CRD,5.5 +CMT,1,1,725,2.3,CSH,10.5 +CMT,1,1,838,7.2,CSH,21.5 +CMT,1,1,653,1.7,CSH,9.0 +CMT,1,1,650,2.6,CSH,10.5 +CMT,1,1,637,3.2,CSH,12.0 +CMT,1,1,608,3.9,CRD,13.0 +CMT,1,1,202,0.6,CSH,4.5 +CMT,1,1,126,0.6,CRD,4.0 +VTS,1,5,840,2.93,CRD,13.0 +VTS,1,5,360,0.86,CSH,6.0 +VTS,2,5,1620,17.91,CRD,52.0 +VTS,1,1,480,1.26,CSH,7.5 +VTS,1,1,300,1.9,CRD,7.0 +VTS,1,5,1080,5.19,CRD,17.5 +VTS,1,6,780,3.55,CRD,13.5 +VTS,1,6,780,3.82,CSH,13.0 +VTS,1,6,780,1.84,CSH,10.5 +VTS,1,5,660,3.27,CRD,12.5 +VTS,1,5,3060,22.38,CRD,65.0 +VTS,1,5,720,2.15,CRD,10.5 +VTS,1,3,1020,4.32,CRD,16.0 +VTS,1,1,720,2.13,CRD,10.5 +VTS,1,1,1080,4.62,CRD,17.0 +VTS,1,1,240,0.93,CRD,5.5 +VTS,1,1,240,0.73,CRD,5.0 +VTS,1,1,1380,2.59,CSH,15.0 +VTS,1,1,840,1.42,CRD,10.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,540,1.25,CSH,8.0 +VTS,1,5,300,0.83,CRD,5.5 +VTS,1,5,360,0.76,CSH,5.5 +VTS,1,6,420,2.18,CSH,8.5 +VTS,1,3,480,1.57,CSH,7.5 +VTS,1,3,240,0.72,CSH,5.0 +VTS,1,1,360,0.84,CSH,5.5 +VTS,1,1,240,1.13,CRD,6.0 +VTS,1,1,840,2.3,CRD,11.0 +VTS,1,1,480,1.39,CRD,7.0 +VTS,1,1,1140,2.66,CRD,14.0 +VTS,1,1,60,0.38,CSH,3.5 +VTS,1,1,780,1.76,CRD,10.0 +VTS,1,1,780,1.86,CSH,10.0 +VTS,1,1,420,2.3,CSH,8.5 +VTS,1,1,1620,4.57,CSH,20.0 +VTS,1,1,420,3.33,CRD,11.0 +VTS,1,1,960,1.98,CSH,12.0 +VTS,1,1,660,1.05,CSH,8.0 +VTS,1,1,1680,8.73,CRD,29.0 +VTS,1,1,480,2.54,CRD,9.5 +VTS,1,1,3960,10.42,CRD,46.0 +VTS,1,1,60,0.28,CSH,3.0 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,480,1.22,CRD,7.5 +VTS,1,1,960,2.37,CRD,12.5 +VTS,1,1,780,2.0,CRD,10.5 +VTS,1,1,3240,17.85,CSH,56.5 +VTS,1,1,660,4.03,CRD,14.0 +VTS,1,1,540,1.77,CSH,8.5 +VTS,1,1,120,0.7,CSH,4.0 +VTS,1,1,1140,1.94,CRD,13.0 +VTS,1,1,420,0.72,CSH,6.0 +VTS,1,1,660,1.65,CRD,9.5 +VTS,1,1,840,3.28,CSH,13.0 +VTS,1,1,660,1.37,CRD,9.0 +VTS,1,1,660,1.27,CRD,8.5 +VTS,1,1,720,2.3,CSH,10.5 +VTS,1,1,660,1.19,CRD,8.5 +VTS,1,1,420,1.68,CRD,7.5 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,480,1.41,CRD,7.0 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,720,0.8,CRD,8.0 +VTS,3,1,2880,18.07,CSH,73.5 +VTS,1,1,240,0.36,CSH,4.5 +VTS,1,1,300,0.59,CRD,5.0 +VTS,1,1,660,0.97,CSH,8.0 +VTS,1,1,540,2.28,CSH,9.5 +VTS,1,1,240,1.08,CSH,5.5 +VTS,1,1,1920,8.8,CRD,31.0 +VTS,1,1,240,0.75,CRD,5.0 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,1140,1.72,CSH,12.5 +VTS,1,1,780,1.06,CRD,9.0 +VTS,1,1,240,1.21,CSH,6.0 +VTS,1,1,120,0.7,CRD,4.5 +VTS,1,1,1020,1.21,CRD,11.5 +VTS,1,1,120,0.28,CSH,3.5 +VTS,2,1,960,4.98,CSH,52.0 +VTS,1,1,360,1.27,CSH,7.0 +VTS,1,1,1320,2.04,CSH,14.0 +VTS,1,1,540,0.84,CRD,7.0 +VTS,2,1,2400,20.74,CRD,52.0 +VTS,1,1,540,1.24,CSH,7.5 +VTS,1,1,180,0.92,CSH,5.0 +VTS,1,1,1320,3.33,CSH,17.0 +VTS,1,1,540,1.79,CSH,8.5 +VTS,1,1,1980,4.86,CSH,18.0 +VTS,1,1,780,2.14,CRD,10.0 +VTS,1,1,360,1.01,CSH,6.0 +VTS,1,1,660,1.27,CRD,8.5 +VTS,1,1,480,3.0,CRD,10.0 +VTS,1,1,1680,8.03,CRD,26.5 +VTS,1,1,720,0.7,CSH,8.0 +VTS,1,1,900,1.8,CRD,11.5 +VTS,1,1,2100,6.46,CSH,27.5 +VTS,1,1,240,0.94,CRD,5.0 +VTS,1,1,720,2.56,CSH,10.0 +VTS,1,1,480,2.69,CRD,9.5 +VTS,1,1,240,0.89,CRD,5.0 +VTS,1,1,420,1.44,CSH,7.5 +VTS,1,1,1320,2.94,CSH,15.0 +VTS,1,1,720,0.47,CRD,8.0 +VTS,1,1,120,0.14,CSH,3.5 +VTS,1,1,660,1.1,CRD,8.5 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,1560,6.73,CRD,24.5 +VTS,1,1,1140,3.6,CSH,15.5 +VTS,1,1,480,1.41,CRD,8.0 +VTS,1,1,1260,5.44,CSH,19.5 +VTS,1,1,420,1.54,CSH,6.5 +VTS,1,1,360,1.1,CSH,6.0 +VTS,1,1,420,1.24,CSH,7.0 +VTS,1,1,1320,1.54,CSH,14.0 +VTS,1,1,1380,3.94,CSH,17.0 +VTS,1,1,600,1.13,CRD,8.0 +VTS,1,1,360,0.96,CSH,6.0 +VTS,1,1,1200,3.53,CRD,16.0 +VTS,1,1,1800,3.84,CRD,20.0 +VTS,1,1,360,1.06,CSH,6.0 +VTS,1,1,720,1.18,CSH,8.5 +VTS,1,1,420,1.11,CSH,7.0 +VTS,1,1,660,2.04,CRD,9.5 +VTS,1,1,1740,3.91,CRD,19.5 +VTS,1,1,1200,2.44,CRD,13.5 +VTS,1,1,360,1.67,CSH,7.5 +VTS,1,1,1500,2.44,CRD,16.0 +VTS,1,1,480,1.45,CRD,7.5 +VTS,1,1,600,1.47,CSH,8.0 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,300,2.15,CRD,8.0 +VTS,1,1,660,1.84,CSH,9.0 +VTS,1,1,780,1.18,CSH,9.5 +VTS,1,1,540,0.67,CRD,7.0 +VTS,1,1,360,1.24,CSH,6.0 +VTS,1,1,420,1.72,CRD,7.5 +VTS,1,1,1080,1.48,CRD,11.5 +VTS,1,1,960,1.69,CSH,11.5 +VTS,1,1,420,1.52,CSH,7.5 +VTS,1,1,300,1.41,CSH,6.5 +VTS,1,1,840,1.58,CSH,10.0 +VTS,2,1,3060,21.18,CRD,52.0 +VTS,1,1,960,3.13,CRD,13.5 +VTS,1,1,1200,7.18,CRD,23.0 +VTS,1,1,600,2.02,CRD,10.0 +VTS,1,1,300,2.51,CSH,8.5 +VTS,1,1,780,1.28,CRD,9.5 +VTS,1,1,540,1.54,CSH,7.5 +VTS,1,1,2340,6.67,CRD,29.0 +VTS,1,1,1020,4.45,CRD,15.5 +VTS,1,1,2100,3.63,CSH,21.5 +VTS,1,1,1380,4.29,CSH,17.5 +VTS,1,1,780,4.16,CRD,14.0 +VTS,1,1,600,1.31,CSH,8.5 +VTS,1,1,1380,5.26,CRD,20.0 +VTS,1,1,540,1.91,CRD,9.5 +VTS,1,1,480,3.53,CRD,11.0 +VTS,1,1,420,2.24,CRD,8.5 +VTS,1,1,300,1.41,CSH,6.5 +VTS,1,1,240,1.25,CSH,5.5 +VTS,1,1,600,2.7,CRD,10.5 +VTS,1,1,1020,2.97,CRD,14.0 +VTS,1,1,300,0.87,CSH,6.0 +VTS,1,1,1260,3.59,CSH,16.0 +VTS,1,1,120,0.68,CSH,4.0 +VTS,1,1,720,2.51,CSH,10.5 +VTS,1,1,900,1.75,CSH,11.0 +VTS,1,1,840,2.13,CSH,11.5 +VTS,1,1,2040,4.51,CSH,22.5 +VTS,1,1,120,0.59,CSH,4.0 +VTS,1,1,660,1.3,CSH,9.0 +VTS,1,1,720,3.2,CSH,11.5 +VTS,1,1,540,1.35,CSH,7.5 +VTS,1,1,480,1.22,CSH,7.5 +VTS,2,1,2280,18.0,CSH,52.0 +VTS,1,1,240,0.89,CSH,5.0 +VTS,1,1,1740,14.11,CSH,42.0 +VTS,1,1,780,1.46,CSH,9.5 +VTS,1,1,960,2.48,CRD,12.0 +VTS,1,1,1260,3.53,CRD,16.5 +VTS,1,1,1260,1.92,CSH,14.5 +VTS,1,1,300,0.7,CSH,5.0 +VTS,1,1,780,1.23,CRD,9.5 +VTS,1,1,960,2.35,CRD,12.5 +VTS,1,1,1260,1.61,CSH,13.0 +VTS,1,1,540,1.77,CSH,8.0 +VTS,1,1,480,0.9,CSH,7.0 +VTS,1,1,720,2.83,CRD,12.0 +VTS,1,1,300,1.51,CRD,6.5 +VTS,1,1,180,1.12,CSH,5.5 +VTS,1,1,1380,5.53,CRD,20.0 +VTS,1,1,720,2.99,CSH,12.5 +VTS,1,1,660,2.47,CRD,9.5 +VTS,1,1,360,0.77,CRD,6.0 +VTS,1,1,720,1.55,CRD,9.0 +VTS,1,1,1380,1.87,CRD,15.0 +VTS,1,1,1080,1.99,CRD,12.5 +VTS,1,1,600,1.24,CSH,8.0 +VTS,1,1,480,1.71,CSH,8.0 +VTS,1,1,420,2.38,CRD,9.0 +VTS,1,1,840,1.77,CSH,9.0 +VTS,1,1,660,3.77,CSH,13.0 +VTS,1,1,540,1.68,CRD,7.5 +VTS,1,1,720,1.93,CRD,9.5 +VTS,1,1,1500,4.92,CRD,21.0 +VTS,1,1,1620,9.57,CSH,29.5 +VTS,1,1,1620,5.32,CRD,22.5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,420,1.13,CSH,7.0 +VTS,1,1,480,1.42,CRD,7.5 +VTS,1,1,60,0.26,CSH,3.0 +VTS,2,1,2040,19.46,CRD,52.0 +VTS,1,1,1140,6.91,CSH,23.5 +VTS,1,1,1140,5.2,CRD,18.5 +VTS,1,1,780,2.06,CSH,8.5 +VTS,1,1,300,1.49,CRD,7.0 +VTS,1,1,240,0.81,CRD,5.0 +VTS,1,1,840,1.76,CSH,9.5 +VTS,1,1,180,0.53,CSH,4.5 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,360,0.61,CRD,6.0 +VTS,1,1,840,2.62,CRD,11.5 +VTS,1,1,60,0.0,CSH,3.0 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,540,1.95,CSH,9.0 +VTS,1,1,60,0.39,CSH,3.5 +VTS,1,1,1500,1.47,CSH,15.0 +VTS,1,1,360,0.52,CSH,5.0 +VTS,1,1,1080,2.77,CRD,14.0 +VTS,1,1,1920,6.48,CSH,26.5 +VTS,1,1,720,2.23,CSH,10.0 +VTS,1,1,2280,7.13,CRD,30.0 +VTS,1,1,780,1.53,CSH,9.5 +VTS,1,1,120,0.59,CSH,4.0 +VTS,1,1,480,2.25,CSH,9.0 +VTS,1,1,840,2.61,CSH,12.0 +VTS,1,1,360,1.65,CSH,7.0 +VTS,1,1,300,0.77,CSH,5.5 +VTS,1,1,1020,1.57,CSH,12.0 +VTS,1,1,1320,4.85,CSH,19.0 +VTS,1,1,480,1.89,CRD,8.5 +VTS,1,1,480,1.85,CRD,8.5 +VTS,1,1,360,1.29,CSH,6.5 +VTS,1,1,480,1.26,CSH,7.5 +VTS,1,1,1080,4.59,CSH,16.5 +VTS,1,1,900,1.35,CRD,10.5 +VTS,1,1,660,1.26,CSH,8.0 +VTS,1,1,900,2.05,CSH,11.0 +VTS,1,1,1140,4.3,CSH,15.5 +VTS,1,1,1380,3.79,CSH,17.0 +VTS,1,1,900,2.64,CRD,11.5 +VTS,1,1,360,0.79,CSH,5.5 +VTS,1,1,360,0.64,CSH,5.5 +VTS,2,1,4440,17.21,CRD,52.0 +VTS,1,1,720,1.61,CSH,9.5 +VTS,1,1,420,1.48,CRD,7.5 +VTS,1,1,1560,2.79,CSH,15.0 +VTS,1,1,1260,2.56,CRD,14.5 +VTS,1,1,660,1.83,CRD,9.0 +VTS,1,1,840,3.37,CSH,12.5 +VTS,1,1,600,2.08,CRD,9.5 +VTS,1,1,360,0.86,CRD,6.0 +VTS,1,1,720,1.48,CSH,9.5 +VTS,1,1,900,5.59,CRD,18.0 +VTS,1,1,300,0.51,CSH,4.5 +VTS,1,1,1380,1.56,CSH,14.5 +VTS,1,1,600,1.13,CSH,7.5 +VTS,1,1,1800,6.29,CRD,26.5 +VTS,1,1,2100,12.38,CSH,39.0 +VTS,1,1,480,1.23,CSH,7.5 +VTS,1,1,540,1.53,CSH,8.5 +VTS,1,1,540,0.76,CSH,7.5 +VTS,1,1,720,1.57,CSH,9.0 +VTS,1,1,720,2.28,CSH,10.5 +VTS,1,1,540,1.68,CRD,9.0 +VTS,1,1,300,1.06,CSH,5.5 +VTS,1,1,300,1.33,CRD,6.5 +VTS,1,1,480,0.85,CSH,7.5 +VTS,1,1,420,2.53,CSH,8.5 +VTS,1,1,600,0.63,CRD,7.5 +VTS,1,1,1320,7.52,CSH,24.0 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,900,1.19,CSH,10.5 +VTS,1,1,600,1.63,CRD,8.5 +VTS,1,1,1200,5.46,CSH,19.0 +VTS,1,1,1260,3.25,CSH,16.5 +VTS,1,1,2100,7.26,CRD,28.5 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,1,1920,3.06,CRD,20.0 +VTS,1,1,960,1.52,CRD,11.5 +VTS,1,1,540,1.57,CSH,8.0 +VTS,1,1,540,0.71,CRD,7.0 +VTS,1,1,660,1.84,CRD,9.5 +VTS,1,1,1140,6.76,CSH,20.5 +VTS,1,1,660,1.55,CRD,9.0 +VTS,1,1,360,0.77,CRD,6.0 +VTS,1,1,660,2.61,CSH,11.5 +VTS,1,1,420,1.58,CSH,7.5 +VTS,1,1,480,1.36,CSH,7.5 +VTS,1,1,420,1.48,CRD,7.5 +VTS,1,1,1380,1.9,CRD,14.5 +VTS,1,1,240,0.33,CSH,4.0 +VTS,1,1,540,0.96,CRD,7.0 +VTS,2,1,4620,18.04,CSH,52.0 +VTS,1,1,780,2.54,CSH,10.0 +VTS,1,1,660,1.32,CRD,8.0 +CMT,1,2,1354,5.8,CSH,20.5 +CMT,1,2,917,1.7,CRD,11.0 +CMT,1,1,1452,10.5,CRD,31.0 +CMT,1,1,430,1.7,CRD,8.0 +CMT,1,3,531,1.6,NOC,8.5 +CMT,1,2,519,0.9,CSH,7.5 +CMT,1,1,456,0.7,CSH,6.5 +CMT,1,1,981,2.2,CRD,12.0 +CMT,1,1,542,1.8,CSH,9.0 +CMT,1,1,300,0.8,CRD,5.5 +CMT,1,1,343,1.4,CSH,7.0 +CMT,1,1,552,2.5,CRD,10.0 +CMT,1,1,150,0.6,CRD,4.5 +CMT,1,1,171,0.6,CSH,4.5 +CMT,1,1,162,0.9,CSH,4.5 +VTS,1,6,240,1.1,CRD,5.5 +VTS,1,6,900,3.79,CSH,14.5 +VTS,1,5,660,2.66,CSH,11.0 +VTS,1,6,1020,3.88,CSH,15.0 +VTS,1,5,300,1.88,CSH,7.5 +VTS,1,6,1320,4.76,CSH,19.0 +VTS,1,5,360,1.55,CSH,7.0 +VTS,1,5,300,0.95,CRD,6.0 +VTS,1,5,60,0.67,CRD,4.0 +VTS,1,3,600,1.54,CSH,8.5 +VTS,1,3,420,0.7,CSH,6.0 +VTS,1,1,180,0.55,CSH,4.0 +VTS,1,1,420,1.3,CSH,7.0 +VTS,1,1,660,2.95,CRD,11.5 +VTS,1,1,780,2.02,CSH,11.0 +VTS,1,1,600,0.63,CRD,7.5 +VTS,1,1,120,0.64,CRD,4.0 +VTS,1,1,300,1.06,CRD,6.0 +VTS,1,1,360,1.55,CSH,7.0 +VTS,1,1,840,3.42,CRD,14.0 +VTS,1,1,420,0.65,CSH,6.0 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,300,0.44,CSH,5.0 +VTS,1,1,480,1.64,CSH,8.0 +VTS,1,1,1560,2.25,CSH,16.5 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,600,1.88,CSH,9.0 +VTS,1,1,420,1.09,CRD,6.5 +VTS,1,1,900,0.97,CSH,10.0 +VTS,1,1,600,1.46,CRD,8.0 +VTS,1,1,540,1.4,CSH,8.5 +VTS,1,1,300,1.03,CSH,6.0 +VTS,1,1,240,0.89,CSH,5.5 +VTS,1,1,720,1.67,CRD,9.0 +VTS,1,1,660,0.94,CRD,8.0 +VTS,1,1,240,0.64,CRD,5.0 +VTS,1,1,960,4.72,CRD,17.0 +VTS,1,1,360,1.12,CSH,5.5 +VTS,1,1,1740,7.55,CSH,26.5 +VTS,1,1,720,1.26,CSH,9.0 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,420,0.9,CRD,6.5 +VTS,1,1,480,1.86,CRD,8.5 +VTS,1,1,540,1.01,CRD,7.0 +VTS,1,1,960,2.67,CSH,12.5 +VTS,1,1,540,1.95,CRD,9.0 +VTS,1,1,1020,4.89,CSH,17.0 +VTS,1,1,300,1.47,CRD,6.5 +VTS,1,1,420,0.25,CRD,6.0 +VTS,1,1,420,0.9,CSH,6.5 +VTS,1,1,540,0.92,CSH,6.5 +VTS,1,1,780,3.05,CRD,12.0 +VTS,1,1,360,1.33,CSH,6.5 +VTS,1,1,300,1.59,CSH,6.5 +VTS,1,5,1020,2.07,CRD,12.0 +VTS,1,4,960,1.7,CRD,11.5 +VTS,1,4,1800,4.99,CRD,22.5 +VTS,1,4,300,0.7,CSH,5.0 +VTS,1,4,300,0.65,CRD,5.5 +VTS,1,5,840,2.52,CRD,12.0 +VTS,1,1,780,3.87,CRD,13.5 +VTS,1,1,360,0.56,CRD,5.5 +VTS,1,1,540,1.74,CSH,8.0 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,360,0.9,CSH,6.0 +VTS,2,1,1980,19.38,CRD,52.0 +VTS,1,1,1560,16.12,CRD,44.5 +VTS,2,1,2280,20.88,CSH,52.0 +VTS,1,1,780,3.82,CSH,14.0 +VTS,2,1,3240,20.78,CSH,52.0 +VTS,1,1,420,1.29,CSH,7.5 +VTS,1,1,840,4.88,CSH,15.0 +VTS,1,1,900,2.68,CSH,11.5 +VTS,1,1,1440,5.78,CRD,20.5 +VTS,1,1,420,0.53,CSH,6.0 +VTS,1,1,1920,9.62,CSH,30.5 +VTS,1,1,660,3.97,CRD,13.5 +VTS,1,1,780,3.29,CRD,12.0 +VTS,1,1,420,1.43,CRD,7.0 +VTS,1,1,480,1.67,CRD,8.0 +VTS,1,5,660,1.66,CRD,9.0 +VTS,1,5,1140,2.86,CSH,14.0 +VTS,1,4,900,4.63,CRD,16.5 +VTS,1,4,480,2.58,CSH,10.0 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,1320,3.79,CRD,17.0 +VTS,1,1,420,3.07,CRD,10.5 +VTS,1,1,420,1.3,CSH,6.5 +VTS,1,1,660,1.38,CRD,9.0 +VTS,1,1,600,4.32,CSH,14.0 +VTS,1,1,1140,3.42,CRD,12.5 +VTS,1,1,480,0.89,CRD,6.5 +VTS,1,1,540,2.49,CSH,9.0 +VTS,1,1,600,2.0,CRD,9.5 +VTS,2,1,2820,22.25,CRD,52.0 +VTS,1,1,720,2.23,CSH,10.0 +VTS,1,1,660,1.63,CSH,9.5 +VTS,1,1,300,0.91,CRD,6.0 +VTS,1,1,420,1.43,CRD,7.0 +VTS,1,1,660,1.88,CRD,9.5 +VTS,1,1,360,1.66,CSH,7.5 +VTS,1,1,420,0.68,CRD,6.0 +VTS,1,1,360,0.69,CSH,6.0 +VTS,1,1,1440,3.22,CRD,17.0 +VTS,1,1,1920,4.42,CRD,21.5 +VTS,1,1,900,1.59,CRD,11.0 +VTS,2,1,2340,17.57,CRD,52.0 +VTS,1,1,60,0.08,CSH,2.5 +VTS,2,1,1560,16.15,CRD,52.0 +VTS,1,1,480,1.74,CRD,8.0 +VTS,1,1,360,0.55,CSH,6.0 +VTS,1,1,2760,13.64,CRD,46.0 +VTS,2,1,4260,19.99,CSH,52.0 +VTS,1,1,540,2.01,CRD,9.0 +VTS,1,1,600,2.33,CRD,10.0 +VTS,1,1,900,1.7,CSH,11.0 +VTS,1,1,1680,5.59,CRD,22.0 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,120,0.53,CRD,3.5 +VTS,1,1,900,5.41,CSH,17.0 +VTS,1,1,360,1.13,CRD,6.5 +VTS,1,1,1560,6.68,CRD,25.0 +VTS,1,1,660,1.46,CRD,8.5 +VTS,1,1,1020,1.42,CSH,11.0 +VTS,1,1,720,2.08,CRD,10.0 +VTS,1,1,120,0.68,CRD,4.0 +VTS,1,1,120,0.81,CSH,4.5 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,4,900,2.29,CRD,11.5 +VTS,1,4,540,1.19,CSH,7.5 +VTS,1,4,60,0.02,CSH,2.5 +VTS,1,1,540,2.11,CRD,9.5 +VTS,1,1,120,0.8,CSH,4.5 +VTS,1,1,840,1.71,CRD,11.0 +VTS,1,1,1080,3.04,CSH,14.5 +VTS,1,1,420,1.39,CSH,7.5 +VTS,1,1,360,0.88,CRD,6.5 +VTS,1,1,780,3.11,CSH,11.5 +VTS,1,1,1020,2.8,CRD,13.0 +VTS,1,1,840,4.63,CRD,16.0 +VTS,1,1,120,0.53,CSH,4.0 +VTS,1,1,360,1.03,CRD,6.5 +VTS,1,1,300,1.65,CRD,7.0 +VTS,1,1,480,2.5,CSH,9.5 +VTS,1,1,300,0.9,CRD,6.0 +VTS,1,1,540,1.26,CRD,8.0 +VTS,1,1,1200,6.14,CRD,20.0 +VTS,1,1,1140,4.45,CRD,17.0 +VTS,1,1,900,2.95,CRD,13.0 +VTS,1,1,2160,7.74,CRD,30.0 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,1,1140,3.58,CSH,15.5 +VTS,1,1,840,2.75,CRD,12.5 +VTS,1,1,540,2.31,CSH,10.0 +VTS,1,1,840,3.47,CSH,13.0 +VTS,1,1,1560,6.32,CSH,23.0 +VTS,1,1,300,0.68,CRD,5.5 +VTS,1,1,420,1.15,CSH,7.0 +VTS,1,1,300,0.53,CSH,5.0 +VTS,1,1,540,2.09,CSH,9.0 +VTS,1,1,420,1.31,CSH,7.0 +VTS,1,1,480,1.14,CSH,7.0 +VTS,1,1,480,1.86,CRD,8.5 +VTS,1,1,960,2.19,CRD,12.5 +VTS,1,1,1140,3.38,CRD,15.0 +VTS,1,1,420,1.51,CRD,7.5 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,1140,3.01,CSH,14.0 +VTS,1,1,1740,5.93,CRD,24.0 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,480,1.07,CRD,7.0 +VTS,1,1,600,1.88,CSH,9.5 +VTS,1,1,420,1.34,CSH,7.0 +VTS,1,1,420,0.71,CSH,6.5 +VTS,1,1,420,0.6,CRD,6.0 +VTS,1,1,420,1.09,CRD,6.5 +VTS,1,1,0,0.04,CSH,2.5 +VTS,1,1,180,0.6,CSH,4.0 +VTS,1,1,1500,1.96,CRD,15.5 +VTS,1,1,960,1.56,CRD,11.0 +VTS,1,1,240,1.25,CSH,5.5 +VTS,1,1,240,0.4,CSH,4.0 +VTS,1,1,480,0.54,CSH,6.5 +VTS,1,1,960,0.9,CRD,10.5 +VTS,1,1,1380,1.77,CSH,8.0 +VTS,1,1,1260,2.68,CSH,15.0 +VTS,1,1,1200,4.33,CSH,17.5 +VTS,1,1,420,1.24,CSH,6.5 +VTS,1,1,720,1.9,CSH,10.0 +VTS,1,1,1980,9.46,CSH,31.0 +VTS,1,1,720,1.61,CSH,9.5 +VTS,1,1,480,2.68,CSH,10.0 +VTS,1,1,1680,12.42,CRD,37.5 +VTS,1,1,1740,15.36,CSH,43.5 +VTS,1,1,360,0.74,CRD,6.0 +VTS,1,1,960,2.82,CRD,13.5 +VTS,1,1,420,1.28,CRD,7.0 +VTS,1,1,900,2.02,CSH,11.0 +VTS,1,1,60,0.0,CSH,2.5 +VTS,1,1,660,1.17,CRD,8.5 +VTS,1,1,720,1.58,CSH,9.5 +VTS,1,1,480,2.12,CSH,9.0 +VTS,1,1,300,0.69,CSH,5.0 +VTS,1,1,180,0.99,CSH,5.0 +VTS,1,1,360,1.43,CRD,7.0 +VTS,1,1,540,1.46,CSH,8.0 +VTS,1,1,300,0.59,CRD,5.0 +VTS,1,1,1140,2.63,CSH,14.0 +VTS,1,1,960,1.28,CSH,10.5 +VTS,1,1,180,0.9,CRD,5.0 +VTS,1,1,600,2.3,CRD,9.5 +VTS,1,1,1020,5.23,CRD,18.0 +VTS,1,5,840,2.12,CSH,10.0 +VTS,1,5,540,1.06,CSH,7.5 +VTS,1,1,540,0.9,CSH,7.0 +VTS,1,1,1200,5.3,CSH,19.5 +VTS,1,1,480,2.43,CSH,9.5 +VTS,1,1,960,3.73,CSH,14.5 +VTS,1,1,960,3.36,CRD,14.0 +VTS,1,1,600,1.64,CRD,9.0 +VTS,1,1,840,7.35,CSH,22.0 +VTS,1,1,1620,8.32,CRD,27.5 +VTS,1,1,180,0.56,CSH,4.0 +VTS,1,1,900,2.46,CSH,12.0 +VTS,1,1,120,0.51,CRD,3.5 +VTS,1,1,420,1.27,CSH,7.0 +VTS,1,1,1380,12.52,CSH,35.0 +VTS,1,1,600,1.94,CSH,9.5 +VTS,1,3,480,1.47,CRD,8.0 +VTS,1,4,1320,6.12,CSH,20.5 +VTS,1,4,240,1.37,CRD,6.0 +VTS,1,1,1020,3.78,CRD,15.5 +VTS,1,1,780,2.59,CRD,11.5 +VTS,1,1,480,1.96,CRD,8.5 +VTS,1,1,300,1.19,CRD,6.0 +VTS,1,1,840,3.76,CRD,14.0 +VTS,1,1,360,1.11,CRD,6.0 +VTS,1,1,660,3.73,CSH,13.0 +VTS,1,1,1020,4.16,CSH,16.0 +VTS,1,1,360,1.02,CRD,6.0 +VTS,1,1,3060,13.34,CRD,41.0 +VTS,1,1,540,1.67,CRD,8.0 +VTS,1,1,1380,3.4,CRD,16.5 +VTS,1,1,600,1.31,CRD,8.5 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,780,3.5,CRD,13.5 +VTS,1,1,1080,5.4,CRD,19.0 +VTS,1,1,60,0.15,CSH,3.0 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,480,1.82,CSH,8.5 +VTS,1,1,420,2.04,CRD,8.5 +VTS,1,1,780,2.92,CRD,12.0 +VTS,1,1,1140,3.91,CRD,15.5 +VTS,1,1,1080,2.77,CSH,15.0 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,900,4.04,CRD,15.0 +VTS,1,1,1140,4.81,CRD,18.5 +VTS,1,1,600,1.64,CRD,9.0 +VTS,1,1,660,1.84,CRD,10.0 +VTS,1,1,660,0.76,CRD,8.0 +VTS,1,1,660,1.95,CSH,10.0 +VTS,1,1,960,4.5,CRD,16.0 +VTS,1,1,300,0.88,CSH,6.0 +VTS,1,1,240,1.0,CRD,5.5 +VTS,1,1,540,2.23,CRD,9.5 +VTS,1,1,900,1.85,CSH,11.0 +VTS,1,1,360,1.43,CSH,6.5 +VTS,1,1,480,1.22,CRD,7.0 +VTS,1,1,960,4.71,CSH,16.5 +VTS,1,1,180,0.91,CSH,4.5 +VTS,1,1,540,1.9,CRD,9.0 +VTS,1,1,540,0.99,CSH,6.5 +VTS,1,3,1560,7.64,CRD,24.0 +VTS,1,3,480,2.43,CSH,9.5 +VTS,1,3,780,6.41,CSH,19.5 +VTS,1,1,660,1.48,CSH,9.0 +VTS,1,1,420,1.75,CRD,8.0 +VTS,1,1,120,0.46,CSH,4.0 +VTS,1,1,540,2.1,CSH,9.0 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,1080,2.58,CRD,13.5 +VTS,2,1,3240,20.8,CSH,52.0 +VTS,1,1,480,0.89,CSH,6.5 +VTS,1,1,300,0.94,CSH,5.0 +VTS,1,1,960,3.34,CSH,14.5 +VTS,1,1,420,1.06,CRD,7.0 +VTS,1,1,840,1.47,CSH,10.0 +VTS,1,1,180,0.61,CRD,4.0 +VTS,1,1,540,1.12,CRD,8.0 +VTS,1,1,240,0.95,CRD,5.5 +VTS,1,1,540,0.81,CRD,7.5 +VTS,1,1,540,0.96,CSH,7.0 +VTS,1,1,300,0.67,CSH,5.0 +VTS,1,1,660,3.08,CSH,11.5 +VTS,1,1,840,1.88,CSH,10.5 +VTS,1,1,1140,3.2,CRD,14.5 +VTS,1,1,1260,3.92,CRD,17.0 +VTS,1,1,180,0.36,CRD,4.0 +VTS,1,1,360,0.9,CSH,5.5 +VTS,1,1,480,0.97,CRD,7.0 +VTS,1,1,600,2.0,CSH,9.5 +VTS,1,1,1440,5.45,CRD,20.5 +VTS,1,1,540,1.05,CSH,7.5 +VTS,1,1,600,2.72,CSH,10.5 +VTS,1,1,1620,2.93,CRD,18.0 +VTS,1,1,300,0.67,CRD,5.0 +VTS,1,1,600,2.22,CSH,9.5 +VTS,1,1,420,1.39,CSH,7.0 +VTS,1,1,420,1.0,CSH,6.5 +VTS,1,1,900,3.25,CSH,13.0 +VTS,1,1,1380,10.9,CRD,30.0 +VTS,1,1,540,3.55,CSH,11.5 +VTS,1,1,2100,17.96,CSH,50.0 +VTS,1,1,60,0.64,CSH,4.0 +VTS,1,1,1740,4.21,CRD,20.0 +VTS,1,1,1080,4.41,CRD,16.0 +VTS,1,1,1080,3.99,CRD,15.5 +VTS,1,1,960,5.72,CRD,18.0 +VTS,1,1,1680,10.85,CRD,32.0 +VTS,1,1,240,1.09,CSH,6.0 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,240,1.28,CSH,6.0 +VTS,1,1,120,0.4,CRD,3.5 +VTS,1,4,1020,2.24,CRD,12.5 +VTS,1,1,660,1.64,CRD,9.0 +VTS,1,1,660,2.57,CSH,10.5 +VTS,1,1,1020,1.84,CRD,12.0 +VTS,1,1,600,2.6,CRD,10.5 +VTS,1,1,540,2.79,CSH,10.0 +VTS,1,1,420,1.59,CRD,7.5 +VTS,1,1,3060,9.69,CRD,39.0 +VTS,1,1,420,0.78,CRD,6.5 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,840,3.96,CRD,14.0 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,660,2.08,CSH,10.0 +VTS,1,1,660,2.19,CRD,9.5 +VTS,1,1,600,1.36,CSH,8.5 +VTS,1,1,540,1.72,CRD,8.5 +VTS,1,1,840,3.38,CRD,13.0 +VTS,1,1,660,2.08,CRD,9.5 +VTS,1,1,660,2.24,CRD,10.5 +VTS,1,1,480,1.17,CSH,6.5 +VTS,1,1,300,0.81,CSH,5.0 +VTS,1,1,420,0.81,CSH,6.5 +VTS,1,1,1440,5.09,CRD,20.5 +VTS,1,1,480,0.9,CRD,6.5 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,360,1.06,CSH,6.5 +VTS,1,1,480,1.33,CRD,6.5 +VTS,1,1,360,1.82,CSH,8.0 +VTS,1,1,720,2.76,CRD,11.5 +VTS,1,1,180,1.01,CSH,5.5 +VTS,1,1,720,2.78,CSH,12.0 +VTS,1,1,480,2.28,CSH,9.0 +VTS,1,1,300,1.12,CRD,6.0 +VTS,1,1,540,1.75,CSH,8.5 +VTS,1,1,300,1.83,CSH,7.5 +VTS,1,1,840,3.43,CSH,13.5 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,720,2.3,CSH,10.5 +VTS,1,1,1200,4.1,CRD,17.5 +VTS,1,1,240,1.25,CSH,6.0 +VTS,1,1,780,2.93,CSH,12.0 +VTS,1,1,240,0.82,CSH,5.0 +VTS,1,1,420,1.57,CRD,7.5 +VTS,1,1,360,1.09,CRD,6.0 +VTS,1,1,1020,1.01,CSH,10.5 +VTS,1,2,540,2.59,CRD,9.5 +VTS,1,1,840,3.61,CRD,13.5 +VTS,1,1,720,1.74,CRD,9.5 +VTS,2,1,1620,17.63,CRD,52.0 +VTS,1,1,1080,1.82,CRD,12.5 +VTS,1,1,300,0.46,CSH,5.0 +VTS,1,1,1320,5.7,CSH,20.5 +VTS,1,1,660,4.15,CSH,14.0 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,540,1.16,CRD,7.5 +VTS,1,1,480,1.6,CSH,7.5 +VTS,1,1,300,1.34,CRD,6.5 +VTS,1,1,1140,8.13,CSH,24.5 +VTS,1,1,480,0.79,CRD,7.0 +VTS,1,1,180,1.03,CSH,5.5 +VTS,1,1,420,1.21,CSH,6.5 +VTS,1,1,660,1.69,CSH,9.5 +VTS,1,1,360,1.03,CRD,6.5 +VTS,1,1,1500,4.22,CRD,18.5 +VTS,1,1,540,1.56,CRD,7.5 +VTS,1,1,1140,9.09,CRD,27.0 +VTS,1,1,120,0.54,CSH,4.0 +VTS,1,1,360,0.76,CSH,6.0 +VTS,1,1,240,1.56,CRD,6.5 +VTS,1,1,840,2.93,CSH,12.5 +VTS,1,1,420,1.12,CRD,7.0 +VTS,1,1,660,2.02,CSH,10.0 +VTS,1,1,660,1.74,CSH,9.0 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,900,5.25,CRD,17.0 +VTS,1,1,1200,3.06,CSH,15.5 +VTS,1,1,660,3.46,CSH,12.0 +VTS,1,2,0,0.0,CSH,2.5 +VTS,1,1,540,2.54,CRD,9.5 +VTS,1,1,420,0.99,CSH,7.0 +VTS,1,1,720,2.77,CRD,11.5 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,1140,2.67,CRD,14.5 +VTS,1,1,900,2.04,CRD,11.5 +VTS,1,1,360,0.66,CSH,5.5 +VTS,1,1,1020,7.78,CSH,23.5 +VTS,1,1,1020,3.35,CRD,15.0 +VTS,1,1,720,0.85,CSH,9.0 +VTS,1,1,420,0.61,CSH,6.0 +VTS,1,1,720,1.71,CSH,10.0 +VTS,1,1,660,2.06,CSH,10.0 +VTS,1,1,540,2.02,CSH,9.0 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,600,1.65,CRD,9.0 +VTS,1,1,1260,5.11,CRD,18.5 +VTS,1,1,300,0.57,CRD,5.5 +VTS,1,1,720,2.67,CRD,11.5 +VTS,1,1,540,2.23,CRD,9.5 +VTS,1,1,300,0.95,CSH,6.0 +VTS,1,1,300,2.51,CRD,8.5 +VTS,1,1,720,3.53,CRD,13.0 +VTS,1,1,1140,3.35,CRD,15.0 +VTS,1,1,540,2.76,CRD,10.0 +VTS,1,1,1020,4.53,CRD,17.5 +VTS,1,1,420,1.07,CRD,6.5 +VTS,1,1,480,2.12,CRD,9.0 +VTS,1,1,480,0.8,CSH,6.0 +VTS,1,1,180,0.82,CRD,5.0 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,780,2.46,CRD,11.5 +VTS,1,1,120,0.28,CSH,3.5 +VTS,1,1,780,1.18,CRD,9.5 +VTS,1,1,240,0.67,CSH,5.0 +VTS,1,1,720,2.51,CRD,11.5 +VTS,1,1,780,1.71,CRD,10.5 +VTS,1,1,360,1.01,CSH,6.0 +VTS,1,1,720,7.85,CRD,22.0 +VTS,1,1,1440,9.64,CRD,30.0 +VTS,1,1,660,1.91,CRD,9.0 +VTS,1,1,240,0.89,CRD,5.0 +VTS,1,1,1200,4.88,CSH,17.5 +VTS,1,1,300,1.18,CRD,6.0 +VTS,1,1,60,0.51,CRD,3.5 +VTS,1,1,480,1.72,CRD,8.0 +VTS,1,1,360,0.67,CRD,6.0 +VTS,1,1,660,2.23,CSH,10.0 +VTS,1,1,180,0.24,CSH,3.5 +VTS,1,1,300,1.23,CSH,6.0 +VTS,1,1,660,2.55,CSH,10.5 +VTS,1,1,480,1.95,CSH,8.5 +VTS,1,1,480,2.11,CSH,8.5 +VTS,1,1,1020,3.67,CRD,15.5 +VTS,1,1,720,1.5,CRD,9.5 +VTS,1,1,600,0.79,CRD,7.5 +VTS,1,1,720,2.16,CSH,10.5 +VTS,1,1,360,0.98,CSH,6.0 +VTS,1,2,240,0.78,CSH,5.0 +VTS,1,1,300,0.65,CSH,5.0 +VTS,1,1,600,2.66,CSH,10.5 +VTS,1,1,1200,4.38,CRD,16.5 +VTS,1,1,360,1.35,CSH,6.5 +VTS,1,4,180,0.87,CSH,5.0 +VTS,1,4,1260,3.2,CRD,15.5 +VTS,1,4,660,1.2,CRD,8.5 +VTS,1,4,660,3.3,CSH,12.5 +VTS,1,1,840,1.95,CRD,11.0 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,720,4.79,CRD,16.0 +VTS,1,1,600,3.46,CRD,12.5 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,1200,3.05,CSH,15.0 +VTS,1,1,600,1.55,CRD,8.5 +VTS,1,1,480,1.06,CSH,7.0 +VTS,1,1,420,2.1,CRD,8.5 +VTS,1,1,540,0.82,CRD,7.5 +VTS,1,1,2220,4.27,CSH,24.0 +VTS,1,1,360,1.06,CRD,6.5 +VTS,1,1,120,0.5,CRD,3.5 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,660,2.22,CRD,10.0 +VTS,1,1,1140,3.61,CRD,16.0 +VTS,1,1,360,1.09,CSH,6.0 +VTS,1,1,360,1.09,CRD,6.0 +VTS,1,1,660,1.98,CRD,10.0 +VTS,1,1,420,0.57,CSH,6.0 +VTS,1,1,540,0.9,CRD,7.5 +VTS,1,1,720,2.9,CRD,12.0 +VTS,1,1,1320,4.86,CRD,18.5 +VTS,1,1,480,1.27,CRD,7.0 +VTS,1,1,480,1.65,CSH,8.0 +VTS,1,1,360,0.91,CSH,5.5 +VTS,1,1,960,3.35,CSH,15.0 +VTS,1,1,300,0.9,CRD,6.0 +VTS,1,1,1140,7.21,CSH,23.0 +VTS,1,1,420,1.54,CSH,7.5 +VTS,1,1,240,0.74,CSH,5.0 +VTS,1,1,60,0.31,CSH,3.0 +VTS,1,1,420,2.1,CSH,8.0 +VTS,1,1,360,0.77,CSH,5.5 +VTS,1,1,960,3.4,CRD,14.0 +VTS,1,1,840,3.03,CRD,12.5 +VTS,1,1,420,1.66,CRD,7.5 +VTS,1,1,780,2.15,CRD,10.5 +VTS,1,2,600,1.06,CRD,8.0 +VTS,1,1,420,2.05,CRD,8.0 +VTS,1,1,420,1.43,CRD,7.5 +VTS,1,1,300,0.52,CRD,5.0 +VTS,1,1,780,1.77,CSH,10.0 +VTS,1,1,660,1.2,CSH,9.0 +VTS,1,1,480,2.17,CSH,9.0 +VTS,1,1,420,1.17,CSH,7.0 +VTS,1,1,360,2.02,CRD,7.5 +VTS,1,1,420,1.26,CSH,7.0 +VTS,1,1,300,1.56,CRD,6.5 +VTS,1,1,1020,3.32,CRD,14.0 +VTS,1,1,960,1.28,CSH,10.5 +VTS,1,1,540,1.59,CRD,8.0 +VTS,1,1,120,0.51,CSH,4.0 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,780,2.75,CSH,11.5 +VTS,1,1,360,1.59,CSH,7.0 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,1860,5.64,CRD,25.0 +VTS,1,1,960,1.75,CSH,11.5 +VTS,1,1,720,1.17,CRD,8.5 +VTS,1,1,720,3.18,CRD,12.0 +VTS,1,1,1080,5.0,CSH,17.5 +VTS,1,1,660,1.72,CRD,9.5 +VTS,1,1,420,1.23,CSH,7.0 +VTS,1,1,360,1.12,CSH,6.5 +VTS,1,1,780,3.67,CSH,14.0 +VTS,1,1,900,5.49,CRD,17.5 +VTS,1,1,1380,6.46,CSH,19.5 +VTS,1,1,420,2.17,CSH,8.5 +VTS,1,1,660,1.48,CRD,9.0 +VTS,1,1,540,2.0,CRD,9.0 +VTS,1,1,1860,9.31,CSH,31.0 +VTS,1,1,600,2.82,CSH,10.5 +VTS,1,1,840,3.52,CRD,14.0 +VTS,1,1,420,1.72,CSH,7.5 +VTS,1,1,1200,3.95,CRD,15.0 +VTS,1,1,780,1.98,CSH,10.0 +VTS,1,1,120,0.31,CRD,3.5 +VTS,1,1,780,3.82,CSH,14.0 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,1320,5.88,CRD,20.5 +VTS,1,1,960,3.93,CSH,14.5 +VTS,1,1,120,0.33,CRD,3.0 +VTS,1,1,840,3.61,CSH,13.5 +VTS,1,1,120,0.5,CSH,4.0 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,780,0.88,CSH,9.5 +VTS,1,1,1020,7.35,CRD,23.5 +VTS,1,1,840,6.39,CSH,19.5 +VTS,1,1,1080,4.12,CSH,16.0 +VTS,1,1,540,0.48,CSH,7.0 +VTS,1,1,660,2.06,CRD,10.0 +VTS,1,1,600,2.56,CRD,10.5 +VTS,1,1,840,2.28,CRD,11.0 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,1020,3.99,CRD,15.0 +VTS,1,1,420,0.73,CRD,6.0 +VTS,1,1,240,0.83,CRD,5.0 +VTS,1,1,480,1.89,CSH,8.0 +VTS,1,1,420,1.14,CSH,6.5 +VTS,1,1,960,3.83,CRD,15.0 +VTS,1,1,2160,2.47,CRD,21.0 +VTS,1,1,360,0.46,CSH,4.5 +VTS,1,1,300,1.81,CRD,7.0 +VTS,1,1,420,1.75,CSH,7.5 +VTS,1,1,420,1.02,CRD,6.0 +VTS,1,1,540,1.18,CRD,7.5 +VTS,1,1,1320,8.78,CSH,27.0 +VTS,1,1,300,1.31,CRD,6.0 +VTS,1,1,1020,6.84,CSH,20.5 +VTS,1,1,300,1.23,CRD,6.5 +VTS,1,1,600,1.91,CSH,9.0 +VTS,1,1,1800,9.73,CRD,30.5 +VTS,1,1,120,0.29,CRD,3.5 +VTS,1,1,540,1.34,CSH,8.5 +VTS,1,1,900,4.32,CSH,15.0 +VTS,1,1,840,1.92,CRD,10.5 +VTS,1,1,480,2.16,CRD,9.0 +VTS,1,1,120,0.15,CSH,3.0 +VTS,1,1,1800,7.89,CRD,28.0 +VTS,1,1,660,1.55,CSH,9.0 +VTS,1,1,660,2.98,CRD,11.0 +VTS,1,1,420,1.09,CRD,6.5 +VTS,1,1,900,1.74,CRD,11.0 +VTS,1,1,480,0.78,CSH,6.5 +VTS,1,1,600,0.72,CSH,7.5 +VTS,1,1,300,1.15,CSH,6.5 +VTS,1,1,660,2.23,CRD,10.5 +VTS,5,1,60,0.0,CRD,75.0 +VTS,1,1,1560,6.35,CRD,22.0 +VTS,1,1,660,2.04,CRD,10.0 +VTS,1,1,120,0.54,CSH,4.0 +VTS,1,1,60,0.31,CSH,3.5 +VTS,1,1,1140,3.88,CRD,16.0 +VTS,1,1,360,0.87,CSH,5.5 +VTS,1,1,300,1.13,CRD,6.0 +VTS,1,1,720,3.44,CRD,12.5 +VTS,1,1,1080,7.4,CRD,23.5 +VTS,1,1,480,2.35,CRD,9.0 +VTS,1,1,720,1.88,CRD,9.5 +VTS,1,1,420,1.26,CRD,7.5 +VTS,1,1,120,0.52,CRD,3.5 +VTS,1,1,540,2.76,CRD,11.5 +VTS,1,1,360,0.59,CRD,5.5 +VTS,1,1,600,1.8,CSH,8.5 +VTS,1,1,1140,4.17,CRD,17.0 +VTS,1,1,600,2.67,CRD,10.5 +VTS,1,1,1440,5.17,CSH,20.5 +VTS,1,1,240,0.88,CSH,5.0 +VTS,3,1,1800,16.79,CRD,64.5 +VTS,1,1,540,1.45,CRD,8.0 +VTS,1,1,660,2.78,CRD,11.0 +VTS,1,1,660,2.72,CRD,11.5 +VTS,1,1,600,0.64,CRD,7.5 +VTS,1,1,420,0.72,CRD,6.0 +VTS,1,1,600,2.13,CRD,9.5 +VTS,1,1,720,2.12,CRD,10.5 +VTS,1,1,1020,4.05,CSH,16.0 +VTS,1,1,540,1.92,CRD,9.0 +VTS,1,1,900,3.73,CRD,14.5 +VTS,1,1,1080,1.21,CRD,11.0 +VTS,1,1,660,1.37,CSH,8.0 +VTS,1,1,720,4.0,CSH,13.5 +VTS,1,1,180,0.89,CRD,4.5 +VTS,1,1,720,1.31,CSH,9.5 +VTS,1,1,600,1.37,CSH,7.5 +VTS,1,1,1200,4.68,CSH,18.0 +VTS,1,1,360,1.37,CSH,6.5 +VTS,1,1,480,1.86,CSH,8.5 +VTS,1,1,1080,2.01,CSH,12.0 +VTS,1,1,960,3.0,CSH,13.0 +VTS,1,1,540,0.95,CRD,7.0 +VTS,1,1,300,1.05,CRD,6.0 +VTS,1,1,180,0.44,CSH,4.0 +VTS,1,1,780,2.93,CRD,12.0 +VTS,2,1,2040,19.0,CRD,52.0 +VTS,1,1,480,1.12,CSH,7.0 +VTS,1,1,420,1.55,CRD,7.5 +VTS,1,1,240,0.18,CRD,4.5 +VTS,1,1,480,0.94,CSH,7.0 +VTS,1,1,360,1.02,CRD,6.0 +VTS,1,1,660,1.52,CSH,9.0 +VTS,1,1,720,1.0,CSH,9.0 +VTS,1,1,720,1.48,CSH,9.0 +VTS,1,1,1380,3.15,CSH,16.5 +VTS,1,1,420,0.94,CRD,6.0 +VTS,1,1,660,1.64,CSH,9.0 +VTS,1,1,420,1.42,CSH,7.0 +VTS,1,1,360,0.79,CRD,5.5 +VTS,1,1,480,1.02,CSH,7.0 +VTS,1,1,480,1.63,CRD,7.5 +VTS,1,1,540,1.06,CSH,7.5 +VTS,1,1,300,1.29,CRD,6.0 +VTS,1,1,360,0.6,CSH,6.0 +VTS,1,1,540,1.55,CRD,8.0 +VTS,1,1,840,1.12,CRD,10.0 +VTS,1,1,840,3.28,CSH,14.0 +VTS,1,1,240,0.64,CSH,5.0 +VTS,1,1,480,1.47,CSH,8.0 +VTS,1,1,360,1.32,CRD,6.5 +VTS,1,1,960,2.84,CRD,13.5 +VTS,1,1,600,0.74,CSH,7.0 +VTS,1,1,180,0.85,CRD,4.5 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,1,480,1.48,CRD,8.0 +VTS,1,1,180,0.93,CSH,5.0 +VTS,1,1,720,2.86,CRD,11.5 +VTS,1,1,600,3.52,CRD,12.0 +VTS,1,1,420,1.67,CRD,7.5 +VTS,1,1,360,2.04,CRD,8.0 +VTS,1,4,120,0.58,CSH,4.0 +VTS,1,4,660,2.54,CRD,10.0 +VTS,1,4,300,0.69,CRD,5.0 +VTS,1,4,540,1.88,CSH,9.0 +VTS,1,1,600,2.42,CRD,10.0 +VTS,1,1,240,0.71,CRD,5.0 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,420,1.54,CSH,7.5 +VTS,1,1,720,1.17,CRD,9.0 +VTS,1,1,780,2.6,CRD,11.5 +VTS,1,1,480,1.64,CRD,8.0 +VTS,1,1,300,0.69,CSH,5.5 +VTS,1,1,1020,1.38,CSH,11.5 +VTS,1,1,1020,3.63,CSH,13.0 +VTS,1,1,780,1.53,CSH,9.5 +VTS,1,1,240,0.96,CSH,5.5 +VTS,1,1,420,1.72,CSH,7.5 +VTS,1,1,240,0.4,CRD,4.5 +VTS,1,1,900,2.83,CRD,13.0 +VTS,1,1,1140,2.75,CSH,14.5 +VTS,1,1,300,0.66,CSH,5.0 +VTS,1,1,480,1.45,CSH,8.0 +VTS,1,1,660,1.83,CRD,9.5 +VTS,1,1,360,0.75,CSH,6.0 +VTS,1,1,1680,11.13,CRD,34.5 +VTS,2,1,0,0.01,CSH,52.0 +VTS,1,1,1260,5.61,CRD,20.0 +VTS,1,1,540,2.04,CRD,9.0 +VTS,1,1,180,0.83,CSH,5.0 +VTS,1,1,480,1.54,CSH,8.0 +VTS,1,1,840,4.01,CSH,15.0 +VTS,1,1,480,1.17,CRD,7.0 +VTS,1,1,420,1.69,CRD,7.5 +VTS,1,3,120,0.57,CRD,3.5 +VTS,1,3,360,1.42,CSH,6.5 +VTS,1,3,360,0.34,CSH,5.0 +VTS,1,1,240,2.15,CRD,7.5 +VTS,1,1,480,1.92,CRD,8.5 +VTS,1,1,180,0.53,CRD,4.5 +VTS,1,1,1020,1.82,CRD,12.5 +VTS,1,1,120,0.47,CRD,3.5 +VTS,1,1,1440,2.63,CRD,16.0 +VTS,1,1,780,0.99,CSH,9.0 +VTS,1,1,660,1.6,CRD,9.0 +VTS,1,1,360,0.72,CRD,5.5 +VTS,1,1,660,1.8,CRD,9.5 +VTS,1,1,1200,9.4,CSH,27.5 +VTS,1,1,660,2.5,CRD,10.0 +VTS,1,1,1980,4.76,CSH,23.0 +VTS,1,1,420,1.23,CSH,6.5 +VTS,1,1,840,1.2,CRD,10.0 +VTS,1,1,480,1.58,CSH,8.0 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,1,660,2.07,CSH,10.0 +VTS,1,1,180,1.03,CRD,5.0 +VTS,1,1,840,2.7,CRD,11.5 +VTS,1,1,960,4.24,CRD,16.0 +VTS,2,1,2460,18.34,CSH,52.0 +VTS,1,1,480,1.95,CRD,8.0 +VTS,1,1,360,1.65,CRD,7.5 +VTS,1,1,240,0.74,CRD,5.0 +VTS,1,1,360,1.77,CRD,7.0 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,660,2.48,CRD,11.0 +VTS,1,1,300,1.63,CRD,7.5 +VTS,1,1,540,2.73,CRD,10.0 +VTS,1,1,1260,1.93,CSH,13.5 +VTS,1,1,600,1.11,CRD,8.5 +VTS,1,1,300,1.25,CRD,6.5 +VTS,1,1,780,1.91,CRD,9.5 +VTS,1,1,900,1.63,CRD,10.0 +VTS,1,1,540,1.4,CRD,7.5 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,2280,18.17,CRD,50.5 +VTS,1,1,300,1.2,CSH,6.5 +VTS,1,1,540,1.32,CRD,7.5 +VTS,1,1,360,1.35,CSH,7.0 +VTS,1,1,660,2.71,CSH,11.5 +VTS,1,1,660,2.62,CSH,11.5 +VTS,1,1,1020,2.59,CRD,13.0 +VTS,1,1,840,1.48,CSH,10.0 +VTS,1,1,480,0.91,CSH,6.5 +VTS,1,1,720,2.27,CSH,10.5 +VTS,1,1,2760,8.33,CRD,35.0 +VTS,1,1,540,1.75,CSH,8.5 +VTS,1,1,300,0.95,CSH,5.0 +VTS,1,1,480,1.56,CRD,8.0 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,420,1.16,CRD,7.0 +VTS,1,1,660,1.04,CSH,8.5 +VTS,1,1,1140,4.32,CRD,17.0 +VTS,1,1,1260,4.63,CRD,19.0 +VTS,1,1,120,0.4,CRD,3.5 +VTS,1,1,480,3.02,CRD,10.5 +VTS,1,3,420,0.91,CRD,6.0 +VTS,1,3,1500,5.34,CRD,20.5 +VTS,1,2,360,1.08,CSH,6.5 +VTS,1,2,540,1.95,CSH,9.0 +VTS,1,2,1560,9.09,CRD,30.0 +VTS,1,4,960,5.46,CSH,18.5 +VTS,1,6,660,3.06,CRD,11.0 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,360,1.73,CSH,7.5 +VTS,1,1,420,1.29,CRD,7.0 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,480,1.25,CRD,7.5 +VTS,1,4,1140,3.58,CRD,15.0 +VTS,1,3,300,0.99,CSH,5.5 +VTS,1,4,180,0.91,CSH,4.5 +VTS,1,3,420,1.14,CSH,6.5 +VTS,1,5,360,1.81,CRD,7.5 +VTS,1,5,480,1.55,CSH,7.5 +CMT,1,4,576,2.8,CRD,11.0 +CMT,1,1,1245,9.9,CRD,29.0 +VTS,1,1,300,1.1,CRD,5.5 +VTS,1,1,240,1.15,CSH,5.5 +VTS,1,1,2760,11.16,CRD,40.0 +VTS,1,1,780,2.35,CRD,11.0 +VTS,1,1,120,0.28,CSH,3.0 +VTS,1,1,1440,5.71,CRD,21.0 +VTS,1,1,240,0.87,CRD,5.0 +VTS,1,1,300,1.5,CRD,7.0 +VTS,1,1,360,0.77,CSH,6.0 +VTS,1,1,420,1.12,CSH,6.5 +VTS,1,1,780,2.22,CRD,10.5 +VTS,1,1,840,1.57,CRD,10.5 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,2340,14.71,CRD,44.5 +VTS,1,1,120,0.65,CRD,4.5 +VTS,1,1,420,2.05,CRD,8.5 +VTS,1,1,540,5.42,CRD,16.5 +VTS,1,1,420,1.34,CSH,7.5 +VTS,1,1,660,2.58,CRD,10.5 +VTS,1,1,1320,3.99,CRD,17.0 +VTS,1,1,660,1.18,CSH,8.5 +VTS,1,1,600,1.09,CSH,8.0 +VTS,1,2,480,2.82,CRD,10.5 +VTS,1,2,1620,6.11,CRD,24.5 +VTS,1,6,540,1.17,CSH,8.0 +VTS,1,6,480,1.81,CSH,7.5 +VTS,1,1,1680,4.32,CSH,19.5 +VTS,1,1,360,1.0,CSH,6.0 +VTS,1,1,720,3.18,CRD,12.0 +VTS,1,1,600,3.54,CSH,12.5 +VTS,1,1,1380,9.69,CRD,30.0 +VTS,1,1,1740,2.81,CSH,19.5 +VTS,1,1,1980,2.49,CRD,21.0 +VTS,1,1,960,3.71,CRD,14.5 +VTS,1,1,120,0.7,CSH,4.0 +VTS,1,1,420,2.48,CRD,9.0 +VTS,1,1,540,1.52,CRD,8.0 +VTS,1,1,540,2.04,CRD,9.0 +VTS,1,1,420,1.93,CRD,8.0 +VTS,1,1,600,1.29,CRD,9.0 +VTS,1,1,960,4.42,CSH,16.5 +VTS,1,1,540,1.92,CRD,8.5 +VTS,1,1,1020,5.11,CRD,18.5 +VTS,1,1,480,0.64,CRD,6.5 +VTS,1,1,780,2.14,CRD,11.5 +VTS,2,1,3180,20.11,CRD,52.0 +VTS,1,1,600,1.73,CSH,8.5 +VTS,1,1,240,1.43,CSH,6.0 +VTS,1,1,600,2.55,CRD,9.5 +VTS,1,1,1200,7.87,CRD,25.0 +VTS,1,1,540,2.57,CSH,9.5 +VTS,1,1,240,0.97,CSH,5.0 +VTS,1,1,540,1.67,CRD,8.0 +VTS,1,1,1320,4.67,CRD,19.5 +VTS,1,1,2940,2.53,CSH,28.0 +VTS,1,1,1020,2.35,CRD,12.0 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,480,2.12,CSH,8.5 +VTS,1,1,300,1.03,CSH,6.0 +VTS,1,1,600,3.08,CRD,11.0 +VTS,1,1,660,1.52,CRD,9.0 +VTS,1,1,840,1.08,CRD,10.0 +VTS,1,1,600,1.92,CRD,9.0 +VTS,1,1,840,3.04,CSH,13.5 +VTS,1,1,660,2.13,CSH,9.5 +VTS,1,1,540,1.7,CSH,8.5 +VTS,1,1,1080,2.49,CRD,13.0 +VTS,1,1,540,1.39,CRD,7.5 +VTS,1,1,1200,2.61,CSH,15.5 +VTS,1,1,840,2.63,CRD,11.5 +VTS,1,1,360,0.74,CRD,5.5 +VTS,1,1,1620,10.16,CRD,31.5 +VTS,1,1,1980,9.51,CSH,32.5 +VTS,1,1,720,2.02,CRD,10.0 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,480,0.99,CRD,7.0 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,360,2.34,CRD,8.5 +VTS,1,1,540,2.0,CRD,9.0 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,240,0.86,CSH,5.0 +VTS,1,1,1800,8.7,CSH,28.5 +VTS,1,1,360,0.66,CSH,5.0 +VTS,1,1,240,0.86,CRD,5.0 +VTS,1,1,720,2.02,CRD,10.5 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,1080,2.26,CSH,13.5 +VTS,1,1,720,1.89,CSH,9.5 +VTS,1,1,960,4.19,CRD,15.5 +VTS,1,1,180,0.81,CSH,4.5 +VTS,1,1,300,0.7,CSH,5.0 +VTS,1,1,1200,4.09,CRD,17.5 +VTS,1,1,420,1.11,CSH,7.0 +VTS,1,1,360,1.4,CSH,7.0 +VTS,1,1,780,5.92,CRD,18.0 +VTS,1,1,240,0.6,CRD,5.0 +VTS,1,1,660,3.69,CSH,12.5 +VTS,1,1,1200,1.89,CRD,13.5 +VTS,1,3,1860,12.49,CRD,38.0 +VTS,1,2,0,0.0,CRD,2.5 +VTS,1,1,300,1.09,CSH,5.5 +VTS,1,6,900,4.75,CRD,16.0 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,840,2.3,CSH,11.5 +VTS,1,1,1080,4.73,CRD,17.0 +VTS,1,1,540,1.48,CRD,8.0 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,2,900,3.35,CRD,14.5 +VTS,1,2,360,1.18,CSH,6.0 +VTS,1,4,360,1.11,CSH,6.0 +VTS,1,6,1020,2.32,CSH,13.0 +VTS,1,6,600,2.04,CSH,9.5 +VTS,1,6,1140,4.88,CSH,17.5 +VTS,1,6,540,2.6,CRD,10.0 +VTS,1,1,600,1.75,CSH,9.0 +VTS,1,1,540,1.61,CRD,8.0 +VTS,1,3,180,0.52,CRD,4.5 +VTS,1,3,1080,2.99,CSH,13.5 +VTS,1,5,240,1.21,CRD,6.0 +VTS,1,5,180,0.45,CRD,4.5 +CMT,1,1,708,2.3,CSH,10.5 +CMT,1,1,119,0.0,CSH,3.0 +CMT,1,1,717,3.0,CRD,12.0 +CMT,1,2,591,1.8,CRD,9.0 +CMT,1,1,1086,3.3,CRD,14.5 +CMT,1,4,404,0.8,CSH,6.0 +CMT,1,2,407,1.2,CSH,6.5 +CMT,1,4,246,0.7,CRD,5.0 +CMT,1,1,788,2.0,CRD,10.5 +CMT,1,3,857,4.4,CSH,15.5 +VTS,1,1,480,1.98,CRD,9.0 +VTS,1,1,300,1.13,CSH,6.0 +VTS,1,1,360,1.72,CRD,7.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,3,240,0.53,CSH,4.5 +VTS,1,3,1020,2.53,CSH,12.0 +VTS,1,2,480,1.56,CRD,8.0 +VTS,1,6,780,3.19,CRD,12.5 +VTS,1,6,1200,6.59,CRD,21.0 +VTS,1,6,420,1.67,CRD,7.5 +VTS,1,1,540,1.87,CRD,9.0 +VTS,1,1,420,1.56,CSH,7.5 +VTS,1,1,1020,4.78,CSH,17.0 +VTS,1,3,720,1.63,CSH,9.5 +VTS,1,3,1980,4.5,CSH,22.5 +VTS,1,3,900,2.4,CRD,12.0 +VTS,1,3,900,1.44,CSH,11.0 +VTS,1,3,300,0.94,CSH,5.5 +VTS,1,5,240,1.32,CSH,6.0 +VTS,1,5,120,0.58,CSH,4.0 +CMT,1,1,714,2.7,CRD,11.0 +CMT,1,2,743,2.6,CRD,11.0 +CMT,2,1,1754,18.4,CRD,52.0 +CMT,2,1,12,0.0,CRD,52.0 +CMT,1,1,557,5.8,NOC,17.0 +CMT,1,1,1886,11.4,CRD,33.0 +CMT,2,1,2679,17.9,CSH,52.0 +CMT,1,1,995,8.2,CRD,24.0 +CMT,1,1,3,0.0,CSH,2.5 +CMT,1,1,276,1.0,CRD,5.5 +CMT,1,2,744,4.9,CRD,16.0 +CMT,1,2,873,3.2,CSH,12.5 +CMT,1,2,258,1.5,CSH,6.0 +CMT,1,3,367,0.9,CSH,6.0 +CMT,1,2,295,1.4,CSH,6.5 +CMT,1,1,480,1.5,CSH,7.5 +CMT,1,1,430,1.5,CRD,7.5 +CMT,1,1,1682,7.4,NOC,25.5 +CMT,1,2,351,2.0,CRD,7.5 +CMT,1,4,888,4.4,CRD,15.5 +CMT,1,2,579,1.4,CRD,8.0 +CMT,1,1,444,1.3,CSH,7.0 +CMT,1,1,247,1.3,CSH,5.5 +CMT,1,1,496,1.5,CSH,7.5 +CMT,1,1,159,0.5,CSH,4.0 +CMT,1,2,381,1.0,CSH,6.5 +CMT,1,1,563,0.9,CSH,7.5 +CMT,1,2,552,2.2,CSH,9.0 +CMT,1,2,472,2.0,CSH,8.5 +CMT,1,1,613,1.2,CRD,8.0 +CMT,1,1,361,1.0,CSH,6.0 +CMT,1,3,485,1.2,CSH,7.5 +CMT,1,2,2437,6.8,CRD,29.5 +VTS,1,3,360,1.17,CSH,6.5 +VTS,1,6,1200,2.36,CRD,14.0 +VTS,1,6,840,4.06,CRD,14.5 +VTS,1,6,660,3.87,CRD,12.5 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,480,1.29,CRD,7.5 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,1,420,1.68,CRD,7.5 +VTS,1,3,240,0.46,CRD,5.0 +VTS,1,3,300,0.86,CRD,5.5 +VTS,1,3,780,1.66,CRD,10.5 +VTS,1,4,480,0.48,CSH,6.5 +VTS,1,3,1560,7.56,CSH,26.5 +VTS,1,3,240,0.51,CSH,4.5 +VTS,1,5,120,0.49,CSH,3.5 +VTS,1,3,240,0.66,CSH,4.5 +VTS,1,5,180,0.88,CSH,5.0 +VTS,1,5,420,2.0,CRD,8.0 +CMT,1,2,1376,6.5,NOC,22.5 +CMT,1,1,635,3.3,CSH,11.5 +CMT,1,1,51,10.1,CSH,2.5 +CMT,1,1,503,1.2,CSH,7.5 +CMT,1,1,239,1.6,CRD,6.5 +CMT,1,1,1145,4.5,CSH,16.5 +CMT,1,1,1406,5.0,CSH,19.5 +CMT,1,2,1107,3.3,CSH,14.0 +VTS,1,6,780,3.07,CRD,12.0 +VTS,1,1,660,2.36,CSH,10.5 +VTS,1,1,600,1.34,CSH,8.5 +VTS,1,1,120,0.54,CRD,4.0 +VTS,1,1,300,1.33,CRD,6.5 +VTS,1,1,420,1.4,CSH,7.0 +VTS,1,3,480,1.82,CRD,8.0 +VTS,1,3,420,1.48,CSH,7.0 +VTS,1,3,660,1.7,CRD,9.0 +VTS,1,3,720,1.18,CSH,9.5 +VTS,1,5,300,1.06,CSH,6.0 +VTS,1,5,300,1.56,CSH,6.5 +VTS,1,5,240,0.63,CRD,4.5 +VTS,1,5,660,2.18,CRD,10.0 +VTS,1,5,360,0.98,CRD,6.0 +VTS,1,5,720,3.29,CSH,12.5 +CMT,1,1,1513,11.8,CSH,34.0 +CMT,1,1,331,1.0,CSH,6.0 +CMT,1,1,736,7.0,CSH,20.5 +CMT,1,1,962,4.4,CRD,15.5 +CMT,1,1,329,1.9,CRD,8.0 +CMT,1,1,771,2.6,CRD,11.5 +CMT,1,2,1628,6.1,NOC,22.5 +CMT,1,1,295,1.1,CSH,5.5 +CMT,1,1,488,1.4,CSH,8.0 +CMT,1,3,555,1.5,CRD,8.0 +CMT,1,2,985,5.8,CRD,19.0 +CMT,1,1,661,2.6,CRD,10.5 +CMT,1,2,321,1.6,CSH,7.0 +CMT,1,1,382,1.1,CRD,6.5 +CMT,1,1,944,4.4,CSH,16.0 +CMT,1,4,553,1.5,CRD,8.0 +CMT,1,2,1309,4.6,CSH,18.5 +CMT,1,1,133,0.4,CRD,4.0 +CMT,1,1,511,1.3,CRD,7.5 +CMT,1,1,395,2.0,CRD,8.0 +CMT,1,2,550,2.4,CSH,9.5 +CMT,1,1,501,2.1,CSH,8.5 +CMT,1,1,645,1.5,CSH,8.5 +CMT,1,1,672,4.0,CRD,13.0 +CMT,1,2,269,1.0,CSH,5.5 +CMT,1,1,588,3.2,CRD,11.0 +CMT,1,1,1264,5.3,CRD,19.5 +CMT,1,2,1188,4.8,CRD,18.5 +CMT,1,1,675,2.9,CRD,11.0 +CMT,1,4,807,2.8,CSH,12.0 +CMT,1,3,1004,0.9,CSH,10.5 +CMT,1,1,439,2.0,CSH,8.0 +CMT,1,2,1138,4.6,CSH,17.5 +CMT,1,1,489,1.6,CRD,8.0 +CMT,1,1,486,1.6,CSH,7.5 +CMT,1,1,519,1.8,CRD,8.5 +VTS,1,3,420,1.44,CSH,7.0 +VTS,1,3,840,2.35,CSH,11.5 +VTS,1,4,1320,2.92,CSH,15.0 +VTS,1,3,960,1.9,CRD,11.5 +VTS,1,5,660,3.3,CRD,12.5 +CMT,1,2,859,4.0,CRD,14.5 +CMT,1,1,983,8.5,CSH,25.0 +CMT,1,2,897,4.1,CRD,14.0 +CMT,1,1,529,2.4,CRD,9.5 +CMT,1,1,534,1.8,CSH,8.5 +CMT,1,1,892,4.4,CRD,15.5 +CMT,1,2,743,0.8,CRD,9.0 +CMT,1,1,1030,3.4,CRD,13.5 +CMT,1,1,187,1.0,CSH,5.0 +CMT,1,2,531,1.7,CRD,8.0 +CMT,1,2,379,1.6,CRD,7.5 +CMT,1,2,2161,15.6,CSH,44.5 +CMT,1,2,351,1.1,CSH,6.0 +CMT,1,2,289,1.3,CRD,6.5 +CMT,1,1,563,1.9,CSH,9.0 +CMT,1,3,581,1.5,CRD,8.0 +CMT,1,1,711,5.1,CRD,16.0 +CMT,1,2,996,5.8,CRD,18.5 +CMT,1,2,324,0.9,CSH,5.5 +CMT,1,3,237,0.8,CRD,5.0 +CMT,1,1,233,0.8,CRD,5.0 +VTS,1,1,300,1.72,CRD,7.0 +VTS,1,1,720,0.92,CSH,9.0 +VTS,1,1,660,1.43,CSH,9.0 +VTS,1,1,600,1.36,CRD,8.5 +VTS,1,1,480,2.52,CSH,9.5 +VTS,1,1,600,2.19,CRD,9.5 +VTS,1,2,120,0.48,CRD,3.5 +VTS,1,6,420,0.43,CSH,5.5 +VTS,1,6,540,4.12,CRD,12.5 +VTS,1,6,420,1.22,CSH,7.0 +VTS,1,6,840,4.78,CRD,15.5 +VTS,1,6,600,2.22,CRD,10.0 +VTS,1,1,360,0.96,CRD,5.5 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,600,3.78,CRD,12.5 +VTS,1,1,1020,5.28,CSH,17.5 +VTS,1,1,540,1.29,CSH,8.0 +VTS,1,3,720,2.37,CRD,11.0 +VTS,1,3,720,1.03,CSH,9.0 +VTS,1,3,840,1.77,CRD,10.5 +VTS,1,5,540,2.53,CRD,10.0 +VTS,1,5,180,0.39,CSH,3.5 +VTS,1,5,600,2.42,CRD,10.5 +CMT,1,3,285,0.9,CRD,5.5 +CMT,1,1,552,1.9,CSH,9.0 +CMT,1,2,243,0.5,CRD,4.5 +CMT,1,4,663,2.4,CSH,10.0 +CMT,1,2,1115,3.8,CSH,15.0 +CMT,1,2,794,2.6,CRD,11.5 +CMT,1,2,464,1.7,CRD,8.0 +CMT,1,2,481,1.5,CRD,8.0 +CMT,1,1,309,0.9,CRD,5.5 +CMT,1,1,1028,4.6,CRD,17.0 +CMT,1,1,82,0.3,CRD,3.5 +CMT,1,2,348,0.7,CSH,5.5 +CMT,1,1,333,1.6,CRD,7.0 +CMT,1,2,604,2.6,CRD,10.0 +CMT,1,1,608,1.9,CRD,9.0 +CMT,1,1,517,2.3,CRD,9.0 +CMT,1,1,616,2.7,CRD,10.5 +CMT,1,1,518,0.9,CRD,7.0 +CMT,1,2,510,1.8,CRD,8.5 +CMT,1,1,1025,4.0,CRD,15.5 +CMT,1,1,518,2.4,CRD,9.5 +CMT,1,1,308,0.9,CRD,5.5 +CMT,1,2,640,1.9,CRD,9.5 +CMT,1,2,86,3.9,NOC,2.5 +CMT,1,1,376,1.0,CSH,6.0 +CMT,1,2,456,1.0,CRD,6.5 +CMT,1,4,871,2.0,CSH,9.5 +CMT,1,2,536,3.9,CSH,13.0 +CMT,1,2,812,3.2,CRD,12.5 +CMT,1,2,1178,3.5,CSH,15.0 +CMT,1,2,910,4.7,CRD,15.5 +CMT,1,2,352,0.8,CRD,5.5 +CMT,1,3,513,2.5,CSH,10.0 +CMT,1,2,969,3.6,CRD,14.5 +CMT,1,1,621,3.6,CRD,13.0 +CMT,1,1,537,2.5,CRD,10.0 +CMT,1,1,297,1.2,CSH,6.5 +CMT,1,1,189,0.7,CSH,4.5 +CMT,1,1,553,1.4,CRD,8.0 +CMT,1,2,179,0.4,CSH,4.0 +CMT,1,1,316,1.4,CRD,6.5 +CMT,1,2,467,2.8,CRD,10.5 +CMT,1,1,626,0.8,NOC,7.5 +CMT,1,1,1081,7.6,CRD,23.0 +CMT,1,2,702,4.0,CSH,14.0 +CMT,1,2,323,1.4,CSH,6.5 +CMT,1,2,757,4.5,CSH,14.5 +CMT,1,1,1123,5.0,CRD,17.5 +CMT,1,1,1194,6.0,CRD,20.5 +CMT,1,2,144,0.5,CSH,4.0 +CMT,1,3,816,4.0,CRD,14.5 +CMT,1,1,565,2.1,CSH,9.0 +CMT,1,2,667,3.7,CSH,13.0 +CMT,1,1,1359,9.2,CRD,28.0 +CMT,1,1,615,2.5,CRD,10.0 +CMT,1,1,1744,8.1,CRD,27.5 +CMT,1,1,581,1.6,CRD,8.5 +CMT,1,1,290,0.9,CSH,5.5 +CMT,1,2,530,1.4,CSH,8.0 +CMT,1,2,868,2.1,CRD,11.5 +CMT,1,1,502,1.8,CRD,8.5 +CMT,1,1,448,1.1,CSH,7.0 +CMT,1,1,294,1.2,CSH,6.0 +CMT,1,2,722,2.5,CSH,11.0 +CMT,1,3,410,1.6,CRD,7.5 +CMT,1,4,277,0.7,CSH,5.0 +CMT,1,1,1047,5.5,CRD,17.5 +CMT,1,1,1071,4.2,CRD,16.0 +CMT,1,2,732,3.8,CSH,14.5 +CMT,1,1,138,0.6,CRD,4.0 +CMT,1,2,304,0.8,CRD,5.5 +CMT,1,1,269,0.6,CRD,5.0 +CMT,1,2,963,3.5,CRD,14.5 +CMT,1,4,551,2.1,CRD,9.0 +CMT,1,2,152,0.5,CSH,4.0 +CMT,1,1,825,3.3,CRD,13.0 +CMT,1,2,922,4.7,CSH,16.0 +CMT,1,1,1780,8.3,NOC,28.0 +CMT,1,4,938,1.1,CSH,10.5 +CMT,1,1,905,6.2,CRD,20.0 +CMT,1,1,575,2.0,CRD,9.0 +CMT,1,2,1095,5.6,CSH,19.5 +CMT,1,2,1317,9.3,CSH,28.0 +CMT,1,3,493,1.5,CRD,7.5 +CMT,1,2,390,0.8,CRD,6.0 +CMT,1,1,680,3.9,CRD,13.0 +CMT,1,2,748,2.7,CSH,12.0 +CMT,1,1,612,1.4,CRD,8.5 +CMT,1,2,857,4.9,CRD,16.0 +CMT,1,2,162,0.8,CSH,4.5 +CMT,1,1,324,1.8,CRD,7.5 +CMT,1,1,249,1.0,CRD,5.5 +CMT,1,1,692,3.6,CRD,12.5 +CMT,1,1,568,1.2,CRD,8.0 +CMT,1,1,263,0.5,CRD,5.0 +CMT,1,1,498,2.0,CRD,8.5 +CMT,1,2,759,3.1,CRD,12.0 +CMT,1,1,1555,11.8,CRD,34.5 +CMT,1,1,180,0.8,CRD,5.0 +CMT,1,1,179,0.9,CRD,5.0 +CMT,1,1,303,0.8,CSH,5.5 +CMT,1,1,182,0.7,CSH,4.5 +CMT,1,1,389,1.8,CSH,7.5 +CMT,1,1,207,1.1,CRD,5.5 +CMT,1,1,1983,7.7,CRD,28.0 +CMT,1,1,704,3.5,CRD,12.5 +CMT,1,2,357,0.9,CSH,6.0 +CMT,1,1,1058,4.0,CRD,15.5 +CMT,1,1,505,1.6,CSH,8.0 +CMT,1,1,294,0.9,CSH,5.5 +CMT,1,1,502,1.4,CRD,7.5 +CMT,1,1,389,1.2,CRD,6.5 +CMT,1,1,1123,4.7,CRD,17.5 +CMT,1,1,364,1.1,CRD,6.5 +CMT,1,1,498,3.0,CRD,10.5 +CMT,1,2,418,2.0,CRD,8.0 +CMT,1,2,636,2.0,CRD,9.5 +CMT,1,3,573,4.3,CRD,14.0 +CMT,1,1,436,1.8,CSH,8.5 +CMT,1,1,583,2.9,CRD,10.5 +CMT,1,2,333,1.1,CSH,6.0 +CMT,1,1,1198,8.4,CSH,25.5 +CMT,1,1,301,1.0,CRD,6.0 +CMT,1,1,1556,8.2,CSH,26.5 +CMT,1,3,157,0.7,CRD,4.0 +CMT,1,1,323,2.5,CSH,9.0 +CMT,1,1,171,0.8,CSH,4.5 +CMT,1,1,261,1.0,CRD,5.5 +CMT,1,2,370,2.1,CRD,9.0 +CMT,1,1,483,1.3,CSH,7.5 +CMT,1,2,878,3.2,CRD,12.5 +CMT,1,2,636,2.0,CSH,9.0 +CMT,1,1,202,0.7,CRD,4.5 +VTS,1,1,720,2.56,CSH,10.5 +VTS,1,1,120,0.81,CSH,4.5 +VTS,1,1,180,0.94,CRD,5.0 +VTS,1,1,180,0.48,CRD,4.0 +VTS,1,1,780,1.72,CSH,9.5 +VTS,1,1,420,1.02,CRD,6.5 +VTS,1,1,240,1.26,CRD,6.0 +VTS,1,1,1500,1.37,CRD,16.0 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,360,1.44,CRD,6.5 +VTS,1,1,660,1.28,CRD,8.5 +VTS,1,1,1260,5.6,CRD,20.5 +VTS,1,1,540,1.92,CRD,8.5 +VTS,1,1,960,3.1,CSH,14.0 +VTS,1,1,960,4.32,CSH,16.5 +VTS,1,1,840,1.73,CSH,10.5 +VTS,1,1,360,1.0,CSH,6.0 +VTS,1,1,780,0.71,CRD,8.5 +VTS,1,1,180,0.89,CSH,5.0 +VTS,2,1,2280,18.11,CSH,52.0 +VTS,1,1,120,0.64,CSH,4.0 +VTS,1,1,240,1.26,CRD,5.5 +VTS,1,1,540,1.47,CRD,8.5 +VTS,1,1,480,1.18,CRD,7.0 +VTS,1,3,120,0.47,CRD,3.5 +VTS,1,2,240,0.99,CRD,5.5 +VTS,1,2,1260,8.27,CSH,26.5 +VTS,1,6,600,0.88,CRD,8.0 +VTS,1,6,600,2.54,CSH,10.0 +VTS,1,6,600,2.21,CSH,9.5 +VTS,1,6,840,5.05,CSH,16.0 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,3,240,0.52,CSH,5.0 +VTS,1,3,540,1.24,CRD,7.5 +VTS,1,3,780,1.4,CRD,9.5 +VTS,1,3,660,1.59,CRD,9.0 +VTS,1,3,360,0.93,CRD,5.5 +VTS,1,3,1080,3.53,CRD,15.0 +VTS,1,4,240,0.47,CSH,4.5 +VTS,1,3,360,0.84,CRD,6.0 +VTS,1,3,360,0.55,CSH,5.5 +VTS,1,3,480,1.61,CRD,8.0 +VTS,1,5,720,2.4,CSH,11.0 +VTS,1,5,540,1.81,CRD,8.5 +VTS,1,5,240,0.91,CSH,5.5 +VTS,1,5,420,1.55,CSH,7.5 +VTS,1,5,720,2.71,CRD,11.5 +CMT,1,2,807,6.6,CSH,19.5 +CMT,1,2,679,2.5,CRD,10.5 +CMT,1,1,607,2.9,CRD,11.0 +CMT,1,1,2033,9.4,CRD,30.0 +CMT,1,1,1077,8.5,CRD,24.5 +CMT,1,1,136,0.5,CSH,4.0 +CMT,1,1,416,1.5,CSH,7.5 +CMT,1,1,364,2.3,CRD,8.5 +CMT,1,2,265,0.7,CSH,5.0 +CMT,1,2,254,0.9,CRD,5.0 +CMT,1,1,726,2.3,CRD,10.5 +CMT,1,2,601,2.6,CSH,10.5 +CMT,1,2,666,1.7,CSH,9.0 +CMT,1,2,673,1.8,CSH,9.0 +CMT,1,2,600,1.4,CSH,8.0 +CMT,1,3,994,3.7,CRD,14.5 +CMT,1,4,563,3.3,CSH,11.5 +CMT,1,2,1239,2.7,CRD,15.0 +CMT,1,2,579,3.1,CRD,11.5 +CMT,1,1,527,3.8,CRD,12.0 +CMT,1,1,1207,3.6,CSH,15.5 +CMT,1,1,639,3.0,CRD,11.5 +CMT,1,1,631,2.5,CRD,10.0 +CMT,1,2,675,2.2,CSH,10.0 +CMT,1,1,444,2.0,CRD,8.0 +CMT,1,1,1083,5.4,CSH,18.5 +CMT,1,1,301,0.7,CRD,5.5 +CMT,1,3,1185,5.3,CSH,18.5 +CMT,1,1,1257,6.0,CSH,21.0 +CMT,1,1,379,3.3,CRD,11.0 +CMT,1,4,999,3.5,CRD,14.5 +CMT,1,2,588,3.6,CRD,12.5 +CMT,1,2,293,0.8,CRD,5.0 +CMT,1,3,478,2.0,CSH,8.0 +CMT,1,4,952,5.2,CRD,16.5 +CMT,1,2,640,2.8,CRD,11.0 +CMT,1,2,443,1.1,CRD,6.5 +CMT,1,2,608,2.8,CRD,10.5 +CMT,1,4,324,0.8,CSH,5.5 +CMT,1,2,419,1.4,CRD,7.0 +CMT,1,1,491,3.0,CSH,10.5 +CMT,1,2,75,1.6,NOC,3.0 +CMT,1,1,1355,4.3,CSH,17.5 +CMT,1,1,429,0.9,CSH,6.0 +CMT,1,2,323,0.5,CRD,5.5 +CMT,1,1,769,2.1,CRD,10.5 +CMT,1,1,1381,5.1,CSH,20.0 +CMT,1,1,941,2.8,CRD,12.5 +CMT,1,1,1013,4.5,CRD,16.5 +CMT,1,2,251,0.9,CRD,5.5 +CMT,1,1,121,0.5,CSH,3.5 +CMT,1,1,1454,11.9,CRD,34.0 +CMT,1,2,327,0.8,CRD,5.5 +CMT,1,2,665,2.2,CRD,10.0 +CMT,1,1,308,1.2,CSH,6.0 +CMT,1,2,556,1.8,CSH,8.0 +CMT,1,2,160,0.5,CSH,4.0 +CMT,1,1,532,2.0,CRD,8.5 +CMT,1,1,853,3.2,CRD,12.5 +CMT,1,1,140,0.8,CSH,4.5 +CMT,1,1,1035,4.7,CRD,16.5 +CMT,1,1,390,1.4,CRD,7.0 +CMT,1,2,2091,11.9,CSH,39.0 +CMT,1,2,439,1.9,CSH,8.0 +CMT,1,1,477,1.4,CSH,7.5 +CMT,1,1,1071,3.2,CSH,14.5 +CMT,1,1,1410,7.5,CRD,23.5 +CMT,1,1,474,3.1,CRD,10.5 +CMT,1,1,459,1.2,CSH,7.0 +CMT,1,2,350,1.1,CRD,6.0 +CMT,1,2,599,2.1,CRD,9.0 +CMT,1,1,274,1.0,CRD,5.5 +CMT,1,1,183,0.8,CSH,4.5 +CMT,1,1,1036,5.5,CRD,19.5 +CMT,1,1,751,2.7,CRD,11.5 +CMT,1,1,386,1.3,CRD,7.0 +CMT,1,2,222,0.7,CRD,4.5 +CMT,1,1,244,0.8,CSH,5.0 +CMT,1,1,471,2.1,CRD,8.5 +CMT,1,1,491,2.1,CRD,9.0 +CMT,1,3,1225,7.7,CSH,24.5 +CMT,1,1,1703,3.6,CRD,19.0 +CMT,1,1,580,2.6,CRD,11.0 +CMT,1,1,265,0.9,CSH,5.0 +CMT,1,2,671,0.6,CSH,8.0 +CMT,1,2,333,1.2,CRD,6.5 +CMT,1,4,412,1.0,CRD,6.5 +CMT,1,2,326,1.7,CSH,7.0 +CMT,1,1,402,1.2,CRD,7.0 +CMT,1,1,878,8.6,CRD,24.0 +CMT,1,3,1530,10.7,CRD,31.5 +CMT,1,1,424,1.2,CSH,6.5 +CMT,1,2,597,1.3,CRD,8.0 +CMT,1,1,392,1.5,CSH,7.0 +CMT,1,2,691,2.8,CSH,11.0 +CMT,1,1,272,1.4,CSH,6.0 +CMT,1,2,786,2.5,CSH,11.5 +CMT,1,2,514,1.0,CSH,7.0 +CMT,1,1,1110,3.5,CSH,14.5 +CMT,1,1,383,1.4,CSH,7.0 +CMT,1,1,1004,7.6,CSH,23.0 +CMT,1,1,495,1.2,CRD,7.0 +CMT,1,1,574,1.8,CSH,9.0 +CMT,4,3,192,0.4,CRD,4.0 +CMT,1,3,799,1.8,CRD,10.0 +CMT,1,2,1976,4.3,NOC,17.0 +CMT,1,2,156,0.5,CRD,4.0 +CMT,1,1,437,0.9,CSH,6.5 +CMT,1,1,1507,7.1,CRD,24.0 +CMT,3,1,1820,17.5,CRD,66.0 +CMT,1,2,363,1.0,CRD,6.0 +CMT,1,1,370,1.1,CRD,6.0 +CMT,1,1,512,2.9,CRD,10.5 +CMT,1,2,526,2.0,CRD,9.0 +CMT,1,1,674,3.6,CRD,13.0 +CMT,1,1,547,2.5,CRD,9.5 +CMT,1,1,1775,4.0,CRD,20.0 +CMT,1,2,325,0.7,NOC,5.5 +CMT,1,3,726,3.6,CRD,12.5 +CMT,1,1,484,2.9,CSH,10.0 +CMT,1,1,1061,4.8,CRD,17.0 +CMT,1,1,741,2.2,CRD,10.5 +CMT,1,1,1129,9.6,CSH,28.0 +CMT,1,1,460,1.8,CRD,8.0 +CMT,1,2,511,1.6,CRD,8.5 +CMT,1,2,674,2.5,CRD,10.5 +CMT,1,2,344,1.2,CRD,6.0 +CMT,1,1,552,2.2,CRD,9.5 +CMT,1,1,308,1.2,CRD,6.0 +CMT,1,1,910,3.0,CRD,12.5 +CMT,1,1,261,0.7,CRD,5.0 +CMT,1,1,142,0.6,CRD,4.0 +CMT,1,1,182,0.6,CRD,4.5 +CMT,1,3,584,1.6,CSH,8.5 +CMT,1,2,169,0.6,CSH,4.0 +CMT,1,3,900,7.5,CRD,22.5 +CMT,1,1,282,1.3,CSH,6.0 +CMT,1,2,770,4.5,CRD,14.5 +CMT,1,1,303,0.6,CSH,5.0 +CMT,1,1,789,3.5,CSH,13.0 +CMT,1,2,2799,12.8,NOC,40.0 +CMT,1,1,299,0.5,CSH,4.5 +CMT,1,2,201,0.5,CSH,4.0 +CMT,1,2,810,2.7,CRD,11.5 +CMT,5,1,2798,39.2,CRD,150.0 +CMT,1,1,360,1.6,CRD,7.0 +CMT,1,3,219,0.6,CSH,4.5 +CMT,1,2,964,8.7,CRD,25.0 +CMT,1,1,140,0.3,CSH,3.5 +CMT,1,1,186,0.5,CSH,4.5 +CMT,1,3,1215,5.1,CRD,19.0 +CMT,5,2,690,3.7,CRD,40.0 +CMT,1,1,612,3.0,CRD,11.0 +CMT,1,1,433,1.9,CRD,8.0 +CMT,1,1,548,1.8,CSH,8.5 +CMT,1,2,771,1.9,CRD,10.0 +CMT,1,1,1064,5.2,CSH,18.0 +CMT,1,2,309,1.2,CSH,6.0 +CMT,1,1,1055,10.4,CSH,30.0 +CMT,1,2,665,2.7,CSH,11.0 +CMT,1,2,341,1.6,CRD,7.0 +CMT,1,1,321,1.2,CRD,6.0 +CMT,1,2,854,3.3,CRD,13.0 +CMT,1,2,683,3.4,CRD,12.0 +CMT,1,2,429,0.7,CRD,6.0 +CMT,1,2,1373,7.8,CRD,26.0 +CMT,1,1,613,3.3,CRD,11.5 +CMT,1,4,313,1.0,CRD,5.5 +CMT,1,2,128,0.5,CSH,4.0 +CMT,1,1,654,3.4,CSH,12.0 +CMT,1,1,448,1.3,CSH,7.5 +CMT,1,1,198,1.5,CSH,6.0 +CMT,1,1,339,1.5,CSH,7.0 +CMT,1,1,638,2.3,CRD,9.5 +CMT,1,1,699,4.3,CRD,14.0 +CMT,1,2,530,2.5,CSH,10.0 +CMT,1,1,1926,10.7,CRD,33.5 +CMT,1,1,834,4.4,CRD,15.5 +CMT,1,1,1192,4.7,CSH,18.0 +CMT,1,1,727,1.0,CRD,8.5 +CMT,1,2,194,0.5,CSH,4.5 +CMT,1,1,773,3.4,CSH,12.5 +CMT,1,2,1092,2.5,CRD,12.5 +CMT,1,1,612,1.1,CRD,8.0 +CMT,1,1,464,1.2,CRD,7.0 +CMT,1,1,1139,2.9,CSH,14.0 +CMT,1,2,931,4.0,CRD,15.5 +CMT,1,1,585,1.2,CSH,8.0 +CMT,1,1,1098,3.2,CSH,14.0 +CMT,1,1,308,0.7,CRD,5.5 +CMT,1,2,245,1.4,CSH,6.0 +CMT,1,1,851,8.3,NOC,24.5 +CMT,1,1,469,1.2,CRD,7.0 +CMT,1,2,305,0.5,CRD,5.0 +CMT,1,1,260,1.3,CSH,6.0 +CMT,1,1,398,1.9,CRD,8.0 +CMT,1,1,469,1.5,CRD,7.5 +CMT,1,1,1495,3.2,CRD,17.5 +CMT,1,2,348,0.6,CSH,5.5 +CMT,1,2,779,1.4,CRD,9.5 +CMT,1,3,379,0.8,CSH,5.5 +CMT,5,1,1667,11.7,DIS,89.0 +CMT,1,2,115,0.5,CRD,3.5 +CMT,1,2,409,1.5,CSH,6.5 +CMT,1,1,183,1.2,CRD,5.5 +CMT,1,1,683,4.3,CSH,13.5 +CMT,1,1,233,0.7,CRD,5.0 +CMT,1,2,584,1.2,CRD,7.5 +CMT,1,3,609,3.8,CSH,12.5 +CMT,1,3,996,2.3,CRD,12.5 +CMT,1,1,567,1.6,CSH,8.5 +CMT,1,1,287,1.4,CRD,6.5 +CMT,1,2,776,2.1,CSH,10.5 +CMT,1,2,504,2.3,CSH,9.0 +CMT,1,3,1365,7.6,CSH,25.0 +CMT,1,2,176,0.4,CSH,4.0 +CMT,1,1,254,0.5,CRD,4.5 +CMT,1,1,129,0.5,CRD,4.0 +CMT,1,2,1420,6.2,CSH,21.5 +CMT,1,2,246,1.1,CSH,5.5 +CMT,1,2,1144,2.3,CRD,13.5 +CMT,1,1,414,1.0,CRD,6.5 +CMT,1,1,715,1.5,CRD,9.0 +CMT,1,3,1075,2.8,CRD,12.5 +CMT,1,2,1338,2.1,CSH,14.0 +CMT,1,1,304,1.0,CRD,6.0 +CMT,1,1,602,1.1,CSH,8.0 +CMT,1,1,250,0.6,CSH,4.5 +CMT,1,1,417,2.1,CRD,8.0 +CMT,1,2,1172,6.1,CRD,21.0 +CMT,1,1,176,0.8,CSH,4.5 +CMT,1,3,612,1.6,CSH,8.5 +CMT,1,1,496,1.5,CRD,7.5 +CMT,1,2,1320,6.5,CRD,22.5 +CMT,1,1,326,0.9,CSH,5.5 +CMT,1,1,875,2.2,CRD,11.5 +CMT,1,1,153,0.3,CSH,3.5 +CMT,1,1,419,0.8,CSH,6.0 +CMT,1,1,959,6.3,CSH,20.0 +CMT,1,2,840,2.9,CRD,12.0 +CMT,1,2,221,0.7,CSH,4.5 +CMT,1,1,222,0.8,CRD,4.5 +CMT,1,1,804,1.7,CSH,9.5 +CMT,1,1,205,0.7,CRD,4.5 +CMT,1,1,862,5.1,CRD,16.5 +CMT,1,1,1283,3.6,CSH,16.0 +CMT,1,2,202,0.4,CSH,4.0 +CMT,1,4,814,2.7,CRD,11.5 +CMT,1,1,445,1.0,CRD,7.0 +CMT,1,3,302,1.0,CSH,6.0 +CMT,1,2,494,1.3,CSH,7.5 +CMT,1,1,1023,6.8,CRD,21.0 +CMT,1,1,324,1.4,CRD,6.5 +CMT,1,1,910,4.1,CRD,14.5 +CMT,1,1,200,0.5,CSH,4.5 +CMT,1,1,290,0.8,CRD,5.5 +CMT,1,1,752,2.0,CSH,10.5 +CMT,1,1,1587,7.1,CRD,25.0 +CMT,1,2,954,4.7,CRD,16.5 +CMT,1,1,996,5.6,CRD,20.0 +CMT,1,1,386,2.2,CRD,8.0 +CMT,1,1,482,1.8,CRD,8.5 +CMT,1,1,729,4.2,CRD,15.0 +CMT,1,1,1295,15.4,CRD,41.5 +CMT,1,1,167,0.6,CSH,4.5 +CMT,1,1,916,2.9,CSH,12.5 +CMT,1,1,450,1.0,CSH,6.5 +CMT,1,1,145,0.4,CSH,3.5 +CMT,1,2,170,0.4,CSH,4.0 +CMT,1,3,375,0.7,CSH,5.5 +CMT,1,1,518,0.7,CSH,6.5 +CMT,1,1,409,1.9,CRD,7.5 +CMT,1,2,338,1.5,CSH,6.5 +CMT,1,2,716,1.8,CRD,9.5 +CMT,1,2,457,1.8,CRD,8.0 +CMT,1,1,239,1.0,CSH,5.5 +CMT,1,1,320,1.2,CRD,6.0 +CMT,1,1,542,2.0,CSH,8.5 +CMT,1,2,1436,4.7,NOC,19.0 +CMT,1,1,821,8.1,CRD,23.0 +CMT,1,1,1457,11.1,CSH,32.5 +CMT,1,1,925,3.6,CRD,15.0 +CMT,1,1,345,0.8,CSH,5.5 +CMT,1,1,1061,3.9,CRD,16.0 +CMT,1,1,1896,11.4,CRD,35.0 +CMT,1,1,1089,4.2,CRD,16.5 +CMT,1,1,1103,6.0,CRD,20.0 +CMT,1,1,250,0.6,CRD,5.0 +CMT,1,1,313,0.9,CRD,5.5 +CMT,1,1,707,2.8,CSH,12.0 +CMT,1,1,710,2.2,CRD,11.0 +CMT,1,1,425,1.3,CRD,7.0 +CMT,1,2,636,2.1,CRD,9.0 +CMT,1,1,1371,7.9,CRD,24.5 +CMT,1,1,349,2.2,CRD,8.0 +CMT,1,1,223,0.6,CSH,4.5 +CMT,1,1,378,0.9,CRD,6.0 +CMT,1,4,509,1.4,CRD,8.0 +CMT,1,2,340,1.6,CSH,7.0 +CMT,1,1,730,4.1,CSH,13.5 +CMT,1,2,699,2.0,CSH,9.5 +CMT,1,1,290,0.9,CRD,5.5 +CMT,1,2,776,2.9,CSH,12.0 +CMT,1,1,1218,9.6,CRD,28.0 +CMT,1,1,514,2.1,CRD,9.0 +CMT,1,1,568,2.4,CRD,10.0 +CMT,1,1,1085,2.5,CRD,13.5 +CMT,1,1,414,1.4,CRD,7.0 +CMT,1,1,635,1.4,CSH,9.0 +CMT,1,1,1293,3.0,CRD,15.5 +CMT,1,1,398,3.2,CRD,11.0 +CMT,1,1,1316,11.0,CRD,32.5 +CMT,1,1,470,0.9,CRD,6.5 +CMT,1,1,1911,12.6,CRD,38.5 +CMT,1,1,321,1.0,CSH,6.0 +CMT,2,1,3049,16.9,CRD,52.0 +CMT,1,1,365,0.7,CRD,5.5 +CMT,1,1,1423,10.1,CRD,30.0 +CMT,1,1,292,1.1,CRD,6.0 +CMT,1,3,559,1.9,CSH,8.5 +CMT,1,1,373,1.3,CRD,6.5 +CMT,1,1,411,1.5,CRD,7.0 +CMT,1,3,289,1.0,CSH,5.5 +CMT,1,2,960,1.8,CRD,11.5 +CMT,1,3,442,1.1,CRD,7.0 +CMT,1,1,286,0.4,CSH,4.5 +CMT,1,3,475,1.4,CSH,7.5 +CMT,1,2,379,1.3,CRD,6.5 +CMT,1,1,1340,8.1,CRD,25.0 +CMT,1,2,386,1.4,CSH,7.0 +CMT,1,2,1719,3.8,CRD,19.5 +CMT,1,1,928,6.0,CRD,18.5 +CMT,1,1,323,2.3,CRD,8.5 +CMT,1,1,495,1.9,CSH,8.5 +CMT,1,1,671,3.0,CRD,12.5 +CMT,1,1,281,0.7,CRD,5.0 +CMT,1,1,1801,4.7,CRD,22.0 +CMT,1,1,210,0.5,CRD,4.5 +CMT,1,3,677,2.4,CRD,10.5 +CMT,1,1,94,0.4,CRD,3.5 +CMT,1,1,3432,10.8,CRD,43.0 +CMT,1,2,461,1.0,CRD,6.5 +CMT,1,2,320,0.7,CRD,5.5 +CMT,1,4,972,6.9,CSH,21.0 +CMT,1,1,484,1.4,CSH,7.5 +CMT,1,1,463,1.6,CRD,7.5 +CMT,1,2,811,3.8,CRD,14.0 +CMT,1,1,211,0.7,CRD,4.5 +CMT,1,1,1085,4.5,CSH,16.5 +CMT,1,1,510,1.4,CSH,7.5 +CMT,1,1,839,2.5,CRD,11.5 +CMT,5,1,17,6.3,CRD,18.0 +CMT,1,1,8,6.3,CSH,2.5 +CMT,1,1,447,1.8,CRD,7.5 +CMT,1,1,980,4.2,CSH,15.5 +CMT,1,1,113,0.2,CSH,3.5 +CMT,1,1,418,0.9,CRD,6.5 +CMT,1,1,586,2.0,CSH,9.0 +CMT,1,1,820,2.9,CRD,12.0 +CMT,1,1,309,1.1,CSH,6.0 +CMT,1,2,747,2.3,CRD,11.0 +CMT,1,1,415,1.0,CRD,6.5 +CMT,1,1,722,2.3,CSH,11.0 +CMT,1,1,513,0.9,CSH,7.0 +CMT,1,1,429,1.0,CSH,6.5 +CMT,1,1,483,1.9,CRD,8.0 +CMT,1,1,412,0.8,CRD,6.5 +CMT,1,1,777,1.5,CRD,10.0 +CMT,1,1,600,1.7,CSH,9.0 +CMT,1,1,1254,2.1,CRD,14.0 +CMT,1,3,1291,4.6,CRD,18.0 +CMT,1,1,170,0.7,NOC,3.5 +CMT,1,1,671,4.3,CRD,14.5 +CMT,1,4,126,0.3,CSH,3.5 +CMT,1,1,962,3.8,CRD,14.5 +CMT,1,1,748,4.8,CRD,16.5 +CMT,1,1,233,0.8,CSH,5.0 +CMT,1,1,231,0.7,CRD,4.5 +CMT,1,1,1514,12.3,CRD,35.0 +CMT,1,2,1323,6.5,CRD,21.5 +CMT,1,1,1012,4.7,CSH,17.0 +CMT,1,1,524,1.3,CSH,7.5 +CMT,1,1,1611,10.8,CRD,31.0 +CMT,1,2,653,1.9,CSH,9.5 +CMT,1,1,475,2.0,CRD,8.5 +CMT,1,1,321,1.5,CSH,6.5 +CMT,1,4,527,2.0,CRD,8.5 +CMT,1,1,1321,10.9,CSH,31.0 +CMT,1,1,1555,11.9,CRD,35.0 +CMT,1,1,655,1.7,CRD,9.0 +CMT,1,1,1602,4.4,CSH,20.5 +CMT,1,1,1031,5.1,CSH,18.0 +CMT,1,1,2041,12.4,CRD,38.5 +CMT,1,1,1074,1.9,CSH,12.5 +CMT,1,1,1965,9.8,CSH,33.5 +CMT,1,3,843,3.2,CRD,13.0 +CMT,1,3,951,5.8,CRD,17.5 +CMT,1,1,898,4.6,CSH,15.5 +CMT,2,2,1473,16.2,CRD,52.0 +CMT,1,1,336,1.3,CRD,6.5 +CMT,1,3,645,2.8,CRD,10.5 +CMT,1,1,451,1.3,CRD,7.5 +CMT,1,1,433,2.6,CRD,9.5 +CMT,1,3,782,1.3,CSH,9.5 +CMT,1,1,512,2.0,CRD,9.5 +CMT,1,1,603,2.3,CRD,9.5 +CMT,1,4,1007,3.9,CSH,15.0 +CMT,1,2,500,1.0,CSH,7.0 +CMT,1,2,229,0.4,CRD,4.5 +CMT,1,3,326,0.7,CRD,5.0 +CMT,1,3,1185,6.0,CRD,19.5 +CMT,1,4,434,1.5,CRD,7.0 +CMT,1,1,413,1.3,CSH,7.0 +CMT,1,1,257,0.8,CRD,5.5 +CMT,1,2,1274,4.7,CRD,18.5 +CMT,1,2,443,1.5,CRD,7.5 +CMT,1,1,685,2.0,CRD,10.0 +CMT,1,1,573,3.9,CRD,12.5 +CMT,1,1,454,1.0,CRD,6.5 +CMT,1,1,241,0.7,CRD,5.0 +CMT,1,1,339,1.3,CRD,6.5 +CMT,1,1,797,3.0,CRD,12.0 +CMT,1,1,329,1.9,CRD,7.5 +CMT,1,1,1121,3.8,CRD,15.0 +CMT,1,1,1053,5.0,CRD,18.0 +CMT,1,1,471,0.9,CRD,6.5 +CMT,1,3,794,2.4,CRD,11.0 +CMT,1,1,316,0.8,CRD,5.5 +CMT,1,2,262,0.8,CSH,5.0 +CMT,1,1,995,6.4,CSH,20.5 +CMT,1,1,455,1.0,CSH,7.0 +CMT,1,1,1016,2.1,DIS,9.5 +CMT,1,1,481,1.1,CRD,7.0 +CMT,1,1,278,1.9,CRD,7.0 +CMT,1,1,685,1.7,CSH,9.5 +CMT,1,1,622,1.1,CSH,8.0 +CMT,1,1,527,1.6,CRD,8.0 +CMT,1,1,1061,2.7,CRD,13.5 +CMT,1,1,1512,7.5,CRD,25.5 +CMT,1,1,918,1.4,CSH,10.5 +CMT,1,1,263,1.2,CSH,5.5 +CMT,1,1,720,2.9,CRD,11.5 +CMT,1,1,454,0.9,CRD,6.5 +CMT,1,1,645,1.9,CSH,9.5 +CMT,1,1,1395,6.2,CRD,22.0 +CMT,1,1,563,0.7,CRD,7.5 +CMT,1,1,1040,3.4,CSH,14.5 +CMT,1,1,124,0.4,CSH,3.5 +CMT,1,1,1837,4.6,CSH,21.5 +CMT,1,1,1367,3.6,CRD,17.5 +CMT,1,1,281,0.8,CRD,5.5 +CMT,1,1,339,1.0,CRD,6.0 +CMT,1,1,432,1.2,CSH,7.0 +CMT,1,1,904,2.2,CRD,11.5 +CMT,2,1,1655,19.3,CRD,52.0 +CMT,1,1,652,1.7,CRD,9.5 +CMT,1,1,1912,12.3,CRD,38.0 +CMT,1,1,556,1.7,CRD,9.0 +CMT,1,1,3628,12.4,CRD,50.0 +CMT,1,1,545,1.1,CSH,7.5 +CMT,1,1,542,1.6,CRD,8.5 +CMT,1,1,914,2.0,CRD,11.5 +CMT,1,1,463,1.2,CSH,7.5 +CMT,1,1,637,1.4,CRD,8.5 +CMT,1,1,825,1.9,CRD,10.5 +CMT,1,1,538,2.2,CRD,9.5 +CMT,1,1,591,3.0,CRD,11.5 +CMT,1,1,682,1.8,CRD,9.5 +CMT,1,1,500,1.3,CRD,7.5 +CMT,1,1,748,2.1,CRD,10.5 +CMT,1,1,874,2.2,CRD,12.0 +CMT,1,1,259,0.7,CSH,5.0 +CMT,1,1,501,1.8,CSH,8.5 +CMT,1,1,1168,7.0,CSH,22.5 +CMT,1,1,569,2.0,CSH,9.0 +CMT,1,1,183,0.7,CRD,4.5 +CMT,1,1,574,1.8,CSH,9.0 +CMT,1,1,220,0.8,CSH,5.0 +CMT,1,1,550,1.2,CSH,7.5 +CMT,1,1,1605,12.4,CSH,36.5 +CMT,1,1,1404,4.6,CRD,19.5 +CMT,1,1,1792,12.8,CRD,38.5 +CMT,1,1,246,0.4,CSH,4.5 +CMT,1,1,455,1.0,CSH,7.0 +CMT,1,1,1347,11.8,CSH,34.5 +CMT,1,1,1353,10.2,CSH,30.0 +CMT,1,1,1022,5.4,CRD,18.5 +CMT,1,1,429,1.4,CRD,7.0 +CMT,1,1,1730,5.9,CSH,23.0 +CMT,1,1,447,1.2,CSH,7.0 +CMT,1,1,427,1.0,CSH,6.5 +CMT,1,1,285,0.8,CSH,5.5 +CMT,1,1,1604,11.9,CRD,36.0 +CMT,1,1,390,0.4,CRD,5.5 +CMT,1,1,491,1.6,CRD,8.5 +CMT,1,1,990,2.2,CSH,12.0 +CMT,1,1,981,4.4,CSH,16.0 +CMT,1,1,468,0.9,CRD,7.0 +CMT,1,1,1705,3.6,CSH,20.0 +CMT,1,1,509,1.1,CSH,7.5 +CMT,1,1,349,1.2,CRD,6.5 +CMT,1,1,941,2.4,CRD,12.5 +CMT,1,1,1101,3.7,CSH,15.0 +CMT,1,1,1158,2.5,CRD,13.5 +CMT,1,1,147,0.6,CSH,4.0 +CMT,1,1,1304,10.4,CRD,30.5 +CMT,1,1,1696,11.1,CSH,34.5 +CMT,1,1,1740,5.4,CRD,25.0 +CMT,1,1,639,1.3,CRD,8.5 +CMT,1,1,386,1.0,CSH,6.5 +CMT,1,1,1028,4.5,CRD,16.5 +CMT,1,1,211,0.9,CRD,5.0 +CMT,1,1,426,0.9,CRD,6.5 +CMT,1,1,1751,13.2,CRD,38.5 +CMT,1,1,625,1.6,CRD,8.5 +CMT,1,1,621,1.7,CRD,9.0 +CMT,1,1,2586,13.4,CRD,43.0 +CMT,1,1,458,0.8,CRD,6.5 +CMT,1,1,1377,3.4,CRD,17.5 +CMT,1,1,731,1.5,CRD,9.5 +CMT,1,1,1190,3.0,CSH,15.0 +CMT,1,1,1762,8.6,CSH,29.5 +CMT,1,1,253,0.8,CRD,5.0 +CMT,1,1,199,0.9,CRD,5.0 +CMT,1,1,367,0.9,CSH,6.0 +CMT,1,1,1226,1.6,CRD,13.5 +CMT,1,1,280,1.6,CRD,7.0 +CMT,1,1,442,1.9,CRD,8.0 +CMT,1,1,1399,3.2,CSH,17.0 +CMT,1,1,600,1.6,CSH,9.0 +CMT,1,1,978,1.7,CSH,11.5 +CMT,1,1,750,2.9,CSH,12.0 +CMT,1,1,500,1.2,CRD,7.5 +CMT,1,1,347,1.0,CSH,6.5 +CMT,1,1,223,1.0,CRD,5.5 +CMT,1,1,251,0.9,CSH,5.5 +CMT,1,1,311,0.7,CSH,5.5 +CMT,1,1,701,1.5,CSH,9.5 +CMT,1,1,401,1.0,CRD,6.5 +CMT,1,1,1215,2.3,CSH,14.0 +CMT,1,1,467,0.7,CRD,6.5 +CMT,3,1,2538,20.4,CSH,77.5 +CMT,1,1,1428,4.4,CSH,18.5 +CMT,1,1,646,6.2,CRD,18.5 +CMT,1,1,600,1.0,CRD,7.5 +CMT,1,1,387,0.8,CSH,6.0 +CMT,1,1,528,2.3,CSH,10.0 +CMT,1,1,269,1.2,CSH,6.0 +CMT,1,1,306,0.8,CRD,5.5 +CMT,1,1,1293,4.7,CRD,19.5 +CMT,1,1,1965,6.7,CRD,27.0 +CMT,1,1,750,1.7,CRD,9.5 +CMT,1,1,721,3.7,CSH,13.0 +CMT,1,2,1023,4.5,CSH,15.5 +CMT,1,1,352,1.3,CRD,6.5 +CMT,1,1,960,6.0,CRD,19.0 +CMT,1,2,650,2.0,CSH,9.5 +CMT,1,1,412,0.9,CSH,6.0 +CMT,1,1,293,1.1,CSH,6.0 +CMT,1,1,1324,12.2,CSH,33.5 +CMT,1,1,355,1.3,CRD,6.5 +CMT,1,1,518,1.1,CSH,7.0 +CMT,1,1,353,1.1,CSH,6.5 +CMT,1,1,1065,10.2,CSH,29.0 +CMT,1,1,224,0.7,CRD,5.0 +CMT,1,1,574,2.3,CRD,10.0 +CMT,1,1,603,1.0,CRD,8.0 +CMT,1,1,267,0.9,CRD,5.5 +CMT,1,1,1914,13.2,CRD,39.0 +CMT,1,1,1046,2.1,CRD,12.5 +CMT,1,1,1184,2.4,CRD,14.0 +CMT,1,1,307,1.2,CSH,6.0 +CMT,1,1,1937,5.3,CRD,24.5 +CMT,1,1,890,3.1,CRD,13.0 +CMT,1,1,816,2.2,CRD,11.0 +CMT,1,1,1107,2.9,CSH,14.5 +CMT,1,1,444,0.5,CSH,6.5 +CMT,1,3,921,2.2,CSH,11.5 +CMT,1,1,872,2.4,CSH,11.5 +CMT,1,2,481,1.7,CRD,8.0 +CMT,1,2,518,1.8,CSH,8.5 +CMT,1,1,505,1.4,CRD,8.0 +CMT,1,1,868,7.5,CRD,22.0 +CMT,1,1,344,0.8,CRD,5.5 +CMT,1,2,320,1.0,CRD,6.0 +CMT,1,1,216,1.7,CRD,6.5 +CMT,2,2,2060,17.0,CSH,52.0 +CMT,1,2,1153,5.9,CRD,19.5 +CMT,1,1,501,1.0,CRD,7.0 +CMT,1,1,516,1.4,CSH,7.5 +CMT,1,1,401,1.5,CSH,7.0 +CMT,1,1,348,1.0,CRD,6.0 +CMT,1,1,751,3.1,CRD,13.0 +CMT,1,1,1430,5.7,CRD,21.5 +CMT,1,1,587,1.7,CRD,8.5 +CMT,1,2,788,5.9,CRD,19.0 +CMT,1,2,589,2.6,CRD,10.0 +CMT,1,2,1319,9.8,CRD,28.5 +CMT,1,2,908,3.4,CRD,13.5 +CMT,1,2,260,0.9,CSH,5.0 +CMT,1,1,1686,14.1,NOC,39.5 +CMT,1,1,162,0.4,CRD,4.0 +CMT,1,1,1181,3.6,CSH,15.5 +CMT,1,1,966,2.3,CRD,12.0 +CMT,1,1,615,3.3,CRD,11.5 +CMT,1,1,583,2.0,CRD,9.5 +CMT,1,2,374,1.0,CSH,6.0 +CMT,1,2,219,0.8,CSH,5.0 +CMT,1,1,1138,3.9,CRD,16.0 +CMT,1,1,1908,6.3,CRD,25.0 +CMT,1,3,405,2.1,CSH,8.5 +CMT,1,2,727,2.5,CRD,11.0 +CMT,1,1,103,0.5,CSH,3.5 +CMT,1,1,886,3.0,CRD,12.5 +CMT,1,1,172,1.0,CSH,5.0 +CMT,1,1,7,6.3,NOC,2.5 +CMT,1,1,1053,4.4,CSH,16.5 +CMT,1,1,180,0.4,CSH,4.0 +CMT,1,1,1345,4.0,CRD,16.5 +CMT,1,1,346,0.7,CRD,5.5 +CMT,1,1,583,2.0,CRD,9.0 +CMT,1,1,577,3.0,CRD,10.5 +CMT,1,2,756,3.9,CSH,13.5 +CMT,1,1,126,0.5,CRD,4.0 +CMT,1,3,507,0.9,CRD,7.0 +CMT,1,2,1120,2.9,CRD,14.0 +CMT,1,1,727,6.9,CRD,21.0 +CMT,1,1,946,10.9,CRD,30.5 +CMT,1,1,1445,9.9,CRD,31.5 +CMT,1,1,285,0.6,CSH,5.0 +CMT,1,1,836,2.2,CSH,11.0 +CMT,1,1,1251,5.1,CSH,19.0 +CMT,1,1,368,1.4,CSH,7.0 +CMT,1,1,571,2.7,CSH,10.5 +CMT,1,1,209,0.8,CSH,5.0 +CMT,1,1,2098,12.8,CRD,39.5 +CMT,1,1,939,1.3,CRD,10.5 +CMT,1,1,1242,4.2,CRD,19.0 +CMT,1,1,698,1.7,CRD,9.0 +CMT,1,1,710,2.4,CRD,10.5 +CMT,1,1,963,2.3,CRD,12.0 +CMT,1,1,1220,4.0,CSH,17.0 +CMT,1,1,570,1.7,CSH,9.0 +CMT,1,1,1789,12.2,CRD,36.0 +CMT,1,1,417,1.0,CRD,6.5 +CMT,1,1,469,1.8,CSH,8.5 +CMT,1,1,344,0.9,CSH,5.5 +CMT,1,1,836,3.2,CRD,14.0 +CMT,1,1,489,1.6,CSH,7.5 +CMT,1,1,959,4.6,CSH,17.0 +CMT,1,1,513,2.4,CSH,9.0 +CMT,1,1,761,2.6,CSH,12.0 +CMT,1,1,237,0.6,CSH,4.5 +CMT,1,1,1287,3.4,CSH,16.0 +CMT,1,1,1547,3.5,CRD,18.5 +CMT,1,1,994,1.8,CRD,12.0 +CMT,1,1,339,0.6,CRD,5.5 +CMT,1,1,674,1.5,CSH,9.0 +CMT,1,1,296,0.8,CRD,5.0 +CMT,1,1,772,0.9,CSH,9.0 +CMT,1,1,380,0.7,CSH,5.5 +CMT,1,1,886,2.0,CRD,11.5 +CMT,1,1,1052,3.5,CRD,15.0 +CMT,1,1,235,0.8,CSH,5.0 +CMT,1,1,1262,5.2,CRD,20.0 +CMT,1,1,954,5.1,CSH,18.0 +CMT,1,1,646,1.8,CSH,9.0 +CMT,1,1,832,3.8,CSH,14.5 +CMT,1,1,468,1.4,CRD,8.0 +CMT,1,1,49,0.3,CSH,3.0 +CMT,1,1,367,0.8,CSH,6.0 +CMT,1,1,603,2.1,CRD,10.0 +CMT,1,1,587,1.6,CRD,9.0 +CMT,1,1,988,7.7,CSH,23.0 +CMT,1,1,717,1.3,CSH,9.0 +CMT,1,1,456,1.5,CRD,7.5 +CMT,1,1,132,0.4,CSH,4.0 +CMT,1,1,297,0.8,CSH,5.5 +CMT,1,1,1412,3.4,CRD,17.0 +CMT,1,1,412,0.9,CSH,6.5 +CMT,1,1,253,0.4,CSH,4.5 +CMT,1,1,439,2.0,CSH,8.5 +CMT,1,1,216,1.3,CSH,6.0 +CMT,1,1,363,0.8,CSH,6.0 +CMT,1,1,498,1.2,CRD,7.0 +CMT,1,1,1743,16.6,CRD,46.0 +CMT,1,1,931,2.6,CSH,12.0 +CMT,1,1,1055,4.3,CSH,16.0 +CMT,1,1,562,1.7,CRD,9.0 +CMT,1,1,392,1.6,CSH,7.0 +CMT,1,1,410,1.7,CSH,7.5 +CMT,1,1,355,1.0,CSH,6.0 +CMT,1,1,211,0.6,CRD,4.5 +CMT,1,1,232,0.8,CSH,5.0 +CMT,1,1,234,0.7,CSH,4.5 +CMT,1,1,616,1.3,CSH,8.0 +CMT,1,1,1181,6.2,CSH,22.0 +CMT,1,1,889,3.3,CRD,13.5 +CMT,1,1,636,2.9,CRD,11.5 +CMT,1,1,592,1.3,CSH,8.5 +CMT,1,1,1614,11.2,CRD,34.0 +CMT,1,1,1068,5.5,CSH,19.5 +CMT,1,1,353,0.7,CRD,5.5 +CMT,1,1,1762,12.3,CRD,36.0 +CMT,1,1,1414,3.1,CSH,16.5 +CMT,1,1,839,1.3,CRD,9.5 +CMT,1,1,604,1.9,CRD,10.0 +CMT,1,1,1979,10.7,CSH,32.5 +CMT,1,1,991,8.6,CRD,25.0 +CMT,1,1,810,3.5,CRD,14.0 +CMT,1,1,1474,4.1,CRD,18.5 +CMT,1,1,1172,6.0,CRD,21.0 +CMT,1,1,370,1.0,CRD,6.5 +CMT,1,1,750,2.5,CRD,11.0 +CMT,1,1,714,3.2,CSH,12.5 +CMT,1,1,820,3.0,CRD,12.5 +CMT,1,1,511,1.8,CSH,8.5 +CMT,1,1,506,2.1,CSH,9.0 +CMT,1,1,553,2.7,CRD,10.0 +CMT,1,1,476,1.3,CSH,7.5 +CMT,1,1,263,0.6,CRD,5.0 +CMT,1,1,118,0.5,CSH,4.0 +CMT,1,1,650,2.3,CRD,10.5 +CMT,1,1,935,2.7,CRD,13.0 +CMT,1,1,1479,10.6,CRD,30.5 +CMT,1,1,1357,2.6,CSH,15.5 +CMT,1,1,293,0.8,CSH,5.5 +CMT,1,1,203,0.6,CSH,4.5 +CMT,1,1,983,2.2,CSH,12.5 +CMT,1,1,733,1.7,CRD,9.5 +CMT,1,1,397,1.6,CSH,7.0 +CMT,1,1,849,4.4,CRD,16.0 +CMT,1,1,1307,4.5,CSH,18.5 +CMT,1,1,267,1.0,CSH,5.5 +CMT,1,1,1395,6.4,CRD,23.5 +CMT,1,1,813,4.5,CRD,16.0 +CMT,1,1,747,3.1,CRD,12.5 +CMT,1,1,1292,6.4,CRD,22.0 +CMT,1,1,792,3.0,CRD,12.5 +CMT,1,1,267,0.8,CSH,5.5 +CMT,1,1,578,1.5,CSH,8.5 +CMT,1,1,112,0.5,CRD,4.0 +CMT,1,1,698,2.0,CRD,10.0 +CMT,1,1,2322,16.2,CRD,47.0 +CMT,1,1,1118,4.4,CRD,17.0 +CMT,1,1,713,2.6,CRD,11.0 +CMT,1,1,583,1.1,CRD,8.0 +VTS,1,1,720,3.31,CRD,12.5 +VTS,1,1,540,1.22,CSH,8.0 +VTS,1,1,1020,2.95,CSH,13.5 +VTS,1,1,840,2.99,CRD,12.5 +VTS,1,1,1140,6.78,CRD,22.0 +VTS,1,1,660,1.66,CSH,9.0 +VTS,1,1,540,1.57,CRD,8.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,540,1.68,CRD,8.0 +VTS,1,1,300,0.62,CSH,5.0 +VTS,1,1,120,0.32,CSH,3.5 +VTS,2,1,2580,19.78,CRD,52.0 +CMT,1,1,933,2.7,CSH,12.5 +CMT,1,1,1280,3.9,CSH,17.0 +CMT,1,1,378,0.7,CSH,6.0 +CMT,1,1,873,1.8,CSH,10.5 +CMT,1,1,547,1.1,CRD,7.5 +CMT,1,1,766,1.7,CRD,10.0 +CMT,1,1,676,0.7,CRD,8.0 +CMT,1,1,171,1.0,CSH,5.0 +CMT,1,1,912,1.8,CRD,10.5 +CMT,1,1,1528,6.4,CSH,23.5 +CMT,1,1,567,1.3,CRD,8.0 +CMT,1,1,317,0.9,CRD,5.5 +CMT,1,1,402,0.8,CSH,6.5 +CMT,1,1,339,0.5,CSH,5.5 +CMT,1,1,413,1.0,CSH,6.5 +CMT,1,1,299,0.6,CSH,5.5 +CMT,1,1,410,1.5,CSH,7.5 +CMT,1,1,1159,6.0,CSH,21.5 +CMT,1,1,2170,12.7,CSH,39.5 +CMT,1,1,397,0.7,CRD,6.0 +CMT,1,1,1232,9.3,CRD,28.5 +CMT,1,1,1359,10.3,CSH,29.5 +CMT,1,1,572,1.5,CSH,8.5 +CMT,1,1,1010,3.9,CRD,15.5 +CMT,1,1,1083,2.7,CRD,13.0 +CMT,1,1,1430,11.3,CRD,32.5 +CMT,1,1,136,0.4,CSH,4.0 +CMT,1,1,654,1.5,CSH,9.0 +CMT,1,1,554,1.7,CRD,9.0 +CMT,1,1,581,2.4,CSH,10.5 +CMT,1,1,1040,3.7,CSH,15.0 +CMT,1,1,374,0.9,CSH,6.0 +CMT,1,1,729,2.9,CRD,12.0 +CMT,1,1,213,0.4,CRD,4.0 +CMT,1,1,1834,11.3,CRD,34.5 +CMT,1,1,228,0.7,CSH,4.5 +CMT,1,1,432,1.6,CRD,8.0 +CMT,2,1,2813,18.8,CRD,52.0 +CMT,1,1,1600,9.4,CRD,30.5 +CMT,1,1,551,2.8,CRD,10.5 +CMT,1,1,1820,13.0,CRD,37.5 +CMT,1,1,412,0.8,CRD,6.5 +CMT,1,1,616,4.1,CRD,13.5 +CMT,1,1,514,2.2,CRD,9.0 +CMT,1,1,245,0.4,CSH,4.5 +CMT,1,1,212,0.8,CSH,5.0 +CMT,1,1,178,0.6,CSH,4.0 +CMT,1,1,563,1.0,CRD,7.5 +CMT,1,1,922,2.7,CRD,13.0 +CMT,1,1,917,6.9,CSH,22.0 +CMT,1,1,460,1.3,CRD,7.5 +CMT,1,1,407,1.3,CRD,7.0 +CMT,1,1,456,1.0,CSH,6.5 +CMT,1,1,358,1.2,CSH,6.5 +CMT,1,1,571,2.0,CSH,9.0 +CMT,1,1,1472,4.0,CSH,18.5 +CMT,1,1,377,2.6,CSH,9.5 +CMT,1,1,959,3.0,CRD,13.5 +CMT,1,1,113,0.7,CRD,4.0 +CMT,1,1,920,2.8,CRD,12.5 +CMT,1,1,1800,5.5,CSH,24.0 +CMT,1,1,626,1.1,DIS,8.0 +CMT,1,1,1180,3.1,CSH,15.0 +CMT,1,1,321,1.6,CSH,6.5 +CMT,1,1,282,1.4,CSH,6.5 +CMT,1,1,676,1.4,CRD,8.5 +CMT,1,1,767,2.0,CSH,10.5 +CMT,1,1,643,1.6,CRD,8.5 +CMT,1,1,382,0.9,CRD,6.0 +CMT,1,1,354,1.4,CRD,7.0 +CMT,1,1,423,1.2,CRD,7.0 +CMT,1,1,2739,12.9,CRD,43.5 +CMT,1,1,1187,3.0,CRD,15.0 +CMT,1,1,2285,16.4,CRD,48.0 +CMT,1,1,532,1.2,CRD,7.5 +CMT,1,1,1498,5.2,CRD,21.5 +CMT,1,1,1470,4.4,CRD,19.0 +CMT,1,1,689,0.9,CSH,8.5 +CMT,1,1,986,1.8,CRD,11.5 +CMT,1,1,469,1.3,CSH,7.5 +CMT,1,1,689,2.2,CRD,10.0 +CMT,1,1,585,1.9,CRD,9.5 +CMT,1,1,502,0.9,CSH,7.0 +CMT,1,1,522,2.7,CSH,10.5 +CMT,1,1,98,0.8,CSH,4.5 +CMT,1,1,242,1.1,CSH,5.5 +CMT,1,1,732,1.8,CSH,10.0 +CMT,1,1,347,0.9,CSH,6.0 +CMT,1,1,109,0.6,CSH,4.0 +CMT,1,1,346,0.8,CSH,6.0 +CMT,1,1,8,1.5,CSH,2.5 +CMT,1,1,446,1.2,CRD,7.0 +CMT,1,1,507,1.5,CSH,7.5 +CMT,1,1,756,1.5,CSH,9.5 +CMT,1,1,413,0.7,CRD,6.0 +CMT,1,1,1773,9.0,CRD,30.5 +CMT,1,1,194,0.9,CRD,5.0 +CMT,1,1,2315,11.9,CSH,36.0 +CMT,1,1,909,3.8,CRD,14.5 +CMT,1,1,1349,4.1,CRD,18.0 +CMT,1,1,281,0.6,CSH,5.0 +CMT,1,1,529,1.5,CRD,8.5 +CMT,1,1,284,0.6,CRD,5.0 +CMT,1,1,625,1.9,CRD,9.5 +CMT,1,1,649,1.3,CRD,8.5 +CMT,1,1,781,1.6,CSH,10.0 +CMT,1,1,274,1.1,CRD,5.5 +CMT,1,1,1906,6.6,CRD,27.5 +CMT,1,1,206,0.5,CSH,4.0 +CMT,1,1,570,0.8,CRD,7.5 +CMT,5,1,75,9.9,CRD,110.0 +CMT,1,1,2135,11.1,CRD,37.5 +CMT,1,1,400,1.1,CRD,7.0 +VTS,1,1,600,2.95,CRD,10.5 +VTS,1,1,420,2.24,CSH,8.5 +VTS,1,1,600,1.4,CSH,8.5 +VTS,2,1,2160,17.39,CRD,52.0 +VTS,1,1,1380,5.99,CRD,22.0 +VTS,1,1,1140,10.15,CRD,28.5 +VTS,1,1,360,0.76,CRD,5.5 +VTS,1,1,540,1.51,CRD,8.0 +VTS,1,1,660,2.46,CSH,10.5 +VTS,2,2,1860,17.47,CRD,52.0 +VTS,1,1,600,1.41,CSH,8.5 +VTS,1,1,840,3.02,CRD,12.5 +VTS,1,1,180,0.22,CSH,4.0 +VTS,1,1,1380,8.18,CSH,27.0 +VTS,1,1,540,1.28,CSH,8.0 +VTS,1,1,1080,2.86,CSH,14.0 +VTS,1,1,240,0.99,CSH,5.5 +CMT,1,1,2083,5.6,CSH,22.5 +CMT,1,1,874,3.1,CRD,13.0 +CMT,1,1,1160,3.4,CRD,15.5 +CMT,1,1,884,2.4,CSH,10.5 +CMT,1,1,387,0.8,CSH,6.0 +CMT,1,1,623,1.7,CSH,9.5 +CMT,1,1,139,0.3,CSH,4.0 +CMT,1,1,691,2.0,CRD,9.5 +CMT,1,1,2319,16.8,CRD,49.0 +CMT,1,1,552,1.7,CRD,9.0 +CMT,1,1,427,1.1,CSH,7.0 +CMT,1,1,542,0.9,CSH,7.5 +CMT,1,1,1063,4.5,CRD,17.0 +CMT,1,1,2036,10.5,CRD,34.0 +CMT,1,1,806,1.8,CSH,10.5 +CMT,1,1,809,4.0,CSH,14.0 +CMT,1,1,1207,2.9,CSH,14.5 +CMT,1,1,827,1.2,CRD,10.0 +CMT,1,1,952,5.8,CRD,19.0 +CMT,1,1,754,2.9,CRD,12.0 +CMT,1,1,396,0.7,CSH,6.0 +CMT,1,1,308,0.9,CSH,6.0 +CMT,1,1,1234,2.5,CSH,12.5 +CMT,1,1,1676,12.9,CRD,37.0 +CMT,1,1,406,1.2,CSH,7.0 +CMT,1,1,363,1.1,CRD,6.5 +CMT,1,1,742,2.9,CRD,12.0 +CMT,1,1,472,0.9,CRD,7.0 +CMT,1,1,413,1.3,CRD,7.0 +CMT,1,1,484,0.9,CRD,6.5 +CMT,1,1,92,0.3,CRD,3.0 +CMT,1,1,742,2.2,CRD,10.5 +CMT,1,1,1603,3.6,CRD,18.5 +CMT,1,1,1112,4.1,CRD,16.5 +CMT,1,1,467,0.8,CRD,6.5 +CMT,1,1,183,0.7,CRD,4.5 +CMT,1,1,565,0.8,CSH,7.5 +CMT,1,1,2025,12.0,CRD,37.5 +VTS,1,1,300,1.41,CSH,6.5 +VTS,1,1,540,1.99,CSH,9.0 +VTS,1,1,180,0.96,CRD,5.0 +VTS,1,1,540,2.12,CSH,8.5 +VTS,1,1,540,2.05,CSH,9.0 +VTS,1,1,540,2.5,CSH,10.0 +VTS,1,1,240,1.0,CSH,5.5 +VTS,1,1,180,1.6,CSH,6.5 +VTS,1,1,600,2.13,CSH,9.5 +VTS,1,1,960,2.58,CRD,13.5 +VTS,1,1,780,3.45,CSH,13.5 +VTS,1,1,1380,4.16,CSH,18.0 +VTS,1,2,900,2.39,CSH,12.5 +VTS,1,2,360,1.81,CSH,7.5 +VTS,1,1,1200,3.45,CRD,16.0 +VTS,1,1,1080,3.33,CSH,14.5 +VTS,1,1,540,1.48,CSH,8.0 +VTS,1,1,1020,2.3,CRD,12.5 +VTS,1,1,240,0.91,CSH,5.0 +VTS,1,1,540,2.24,CRD,9.5 +VTS,1,2,540,1.23,CRD,7.5 +VTS,1,1,480,1.46,CSH,7.5 +VTS,1,1,1500,3.93,CRD,18.5 +VTS,1,1,1020,3.14,CRD,13.5 +VTS,1,1,480,1.37,CRD,7.5 +VTS,4,1,240,0.83,CRD,5.0 +VTS,1,1,900,1.81,CRD,11.0 +VTS,1,1,420,1.44,CRD,7.0 +VTS,1,1,480,1.26,CRD,7.0 +VTS,1,1,300,0.22,CSH,5.0 +VTS,1,1,300,0.43,CRD,5.0 +VTS,1,1,480,2.05,CSH,8.5 +VTS,1,1,1020,2.54,CRD,13.0 +VTS,1,1,1020,3.25,CSH,14.5 +VTS,1,1,240,0.82,CSH,5.0 +VTS,1,1,180,0.57,CSH,4.0 +VTS,1,1,300,1.42,CRD,6.5 +VTS,1,1,180,0.49,CSH,4.0 +VTS,1,1,240,0.7,CSH,5.0 +VTS,1,1,1080,1.64,CRD,12.5 +CMT,1,1,757,1.8,CRD,10.0 +CMT,1,1,1205,4.2,CSH,16.5 +CMT,1,1,829,2.8,CRD,12.5 +CMT,1,1,1019,2.1,CRD,12.5 +VTS,1,1,1440,10.78,CSH,32.0 +VTS,1,1,1020,7.17,CSH,22.5 +VTS,1,1,540,1.38,CRD,8.0 +VTS,2,1,1740,18.69,CSH,52.0 +VTS,1,1,480,2.43,CSH,9.0 +VTS,1,1,720,2.55,CSH,11.0 +VTS,1,1,360,0.82,CSH,6.0 +VTS,1,1,180,0.57,CRD,4.0 +VTS,1,1,540,2.27,CSH,10.0 +VTS,2,2,1980,19.01,CRD,52.0 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,1080,7.01,CRD,22.5 +VTS,2,2,2760,17.13,CSH,52.0 +VTS,1,1,360,1.06,CSH,6.0 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,540,1.17,CSH,8.0 +VTS,1,1,1080,2.71,CSH,14.0 +VTS,1,1,300,1.0,CRD,5.5 +VTS,1,1,240,1.2,CSH,6.0 +VTS,1,1,360,1.48,CRD,7.0 +VTS,1,1,180,0.57,CRD,4.0 +VTS,1,1,240,0.68,CRD,5.0 +CMT,1,1,426,0.9,CRD,6.5 +CMT,1,1,513,1.4,CSH,8.0 +CMT,1,1,1574,10.4,CRD,31.5 +CMT,1,1,1143,2.2,CRD,13.5 +CMT,1,1,531,1.6,CRD,8.0 +CMT,1,1,372,1.0,CRD,6.5 +CMT,1,1,565,1.5,CRD,8.0 +CMT,1,1,245,0.7,CRD,5.0 +CMT,1,1,395,1.0,CRD,7.0 +CMT,1,1,310,1.1,CSH,6.0 +CMT,1,1,1104,2.1,CRD,13.5 +CMT,1,1,471,1.5,CRD,7.5 +CMT,1,1,504,1.3,CSH,7.5 +CMT,1,1,307,0.4,CSH,5.0 +CMT,1,1,985,2.1,CSH,12.0 +CMT,1,1,1674,11.7,CRD,35.5 +CMT,1,1,296,0.5,CSH,5.0 +CMT,1,1,547,1.0,CSH,7.5 +CMT,1,1,1179,2.9,CRD,14.5 +CMT,1,1,888,2.0,CRD,11.5 +CMT,1,1,698,1.4,CRD,9.0 +CMT,1,1,1235,9.9,CRD,29.0 +CMT,1,1,444,1.3,CRD,7.5 +CMT,1,1,544,1.0,CSH,7.5 +CMT,1,1,532,1.4,CSH,8.0 +VTS,4,1,2340,28.29,CRD,101.0 +VTS,1,1,420,0.85,CSH,6.0 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,1,480,1.52,CSH,7.5 +VTS,1,1,780,2.33,CRD,11.5 +VTS,1,1,180,0.52,CSH,4.0 +VTS,1,1,960,4.25,CSH,15.5 +VTS,1,1,180,0.53,CRD,4.0 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,840,1.71,CRD,10.5 +VTS,1,1,480,0.74,CRD,6.5 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,240,0.81,CRD,5.0 +VTS,1,1,480,1.01,CSH,7.0 +VTS,1,1,540,1.27,CRD,7.5 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,420,1.1,CRD,6.5 +VTS,1,1,540,2.6,CSH,10.0 +VTS,1,1,360,1.99,CSH,8.0 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,240,0.56,CRD,4.5 +VTS,1,1,600,1.23,CRD,8.0 +VTS,1,1,600,2.24,CRD,9.5 +VTS,1,1,240,1.17,CRD,5.5 +VTS,1,1,960,2.91,CRD,13.0 +VTS,1,1,300,1.3,CRD,6.5 +VTS,1,1,120,0.33,CSH,4.0 +VTS,1,1,780,2.63,CRD,11.0 +VTS,1,1,840,2.54,CRD,12.0 +VTS,1,1,300,1.29,CSH,6.0 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,840,2.74,CSH,12.0 +VTS,1,1,480,1.66,CRD,8.0 +VTS,1,1,180,0.37,CRD,4.5 +VTS,1,1,360,1.31,CRD,6.0 +VTS,1,2,300,0.93,CRD,5.5 +VTS,1,1,300,0.71,CSH,5.5 +VTS,2,1,3060,19.27,CRD,52.0 +VTS,1,1,780,2.42,CRD,11.0 +VTS,1,1,540,1.07,CSH,7.5 +VTS,1,1,360,1.12,CSH,6.5 +VTS,1,1,360,0.79,CRD,5.5 +VTS,1,1,1140,4.12,CRD,16.0 +VTS,1,1,720,1.35,CSH,9.0 +VTS,1,1,480,0.98,CRD,7.0 +VTS,1,1,720,0.75,CSH,8.5 +VTS,1,1,1020,2.42,CRD,12.5 +VTS,1,1,1260,1.9,CRD,13.5 +VTS,1,1,180,0.41,CSH,4.0 +VTS,1,1,480,1.22,CSH,7.5 +VTS,1,1,360,1.38,CRD,6.5 +VTS,1,1,660,2.12,CSH,9.5 +VTS,1,1,240,1.28,CSH,6.0 +VTS,1,2,240,0.74,CSH,5.0 +VTS,1,1,1260,6.39,CRD,21.5 +VTS,1,1,420,0.73,CRD,6.0 +VTS,1,1,600,1.07,CSH,8.0 +VTS,1,1,180,0.38,CSH,4.0 +VTS,1,1,480,0.84,CRD,7.0 +VTS,1,1,420,0.88,CRD,6.5 +VTS,1,1,300,0.66,CSH,5.5 +VTS,1,1,1020,5.88,CSH,19.5 +VTS,1,1,180,0.52,CRD,4.0 +VTS,1,1,1020,2.48,CSH,13.0 +VTS,1,1,300,1.11,CSH,6.0 +VTS,1,1,600,1.25,CRD,8.0 +VTS,1,1,780,1.95,CSH,10.5 +VTS,1,1,240,0.85,CSH,5.0 +VTS,1,1,780,9.25,CRD,26.0 +VTS,1,1,300,0.76,CSH,6.0 +VTS,1,1,240,0.95,CRD,5.0 +VTS,1,1,1020,4.34,CRD,16.0 +VTS,1,1,1380,7.09,CRD,23.5 +VTS,2,1,1860,17.22,CRD,52.0 +VTS,1,1,120,0.58,CSH,4.0 +VTS,1,1,480,1.28,CRD,7.5 +VTS,1,1,720,2.83,CRD,12.0 +VTS,1,1,780,5.12,CRD,16.5 +VTS,2,1,3360,20.64,CRD,52.0 +VTS,1,1,480,0.92,CSH,6.5 +VTS,1,1,480,1.13,CSH,7.0 +VTS,1,1,180,0.3,CSH,4.0 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,420,1.02,CRD,6.5 +VTS,1,2,480,0.84,CRD,7.0 +VTS,1,1,600,1.02,CRD,8.0 +VTS,1,1,360,0.88,CRD,6.0 +VTS,1,1,660,1.24,CSH,8.5 +VTS,1,1,1620,4.08,CSH,19.0 +VTS,1,1,840,1.58,CRD,10.5 +VTS,1,1,420,1.06,CRD,6.5 +VTS,1,1,840,2.77,CRD,12.5 +VTS,1,1,1020,2.18,CSH,12.5 +VTS,1,1,420,1.42,CRD,7.0 +VTS,1,1,300,0.33,CSH,4.5 +VTS,1,1,840,2.14,CSH,11.0 +VTS,1,1,420,0.65,CRD,6.0 +VTS,1,1,1320,9.22,CRD,27.5 +VTS,1,2,720,1.77,CSH,10.0 +VTS,1,2,180,0.99,CSH,5.0 +VTS,1,1,420,1.57,CRD,7.5 +VTS,1,1,300,0.99,CSH,6.0 +VTS,1,1,300,1.25,CRD,6.0 +VTS,1,1,300,1.16,CRD,6.0 +VTS,1,1,240,1.06,CRD,5.5 +VTS,1,1,360,0.61,CRD,5.5 +CMT,1,1,747,1.0,CSH,9.0 +CMT,1,1,1769,11.6,CSH,35.5 +CMT,1,1,618,1.3,CRD,8.5 +CMT,1,1,298,1.0,CSH,5.5 +CMT,1,1,1473,11.9,CRD,35.0 +CMT,1,1,942,8.4,CRD,24.5 +CMT,1,1,459,1.9,CSH,8.0 +CMT,1,1,1062,2.6,CSH,13.5 +CMT,1,1,1282,4.0,CSH,17.5 +CMT,1,1,354,1.4,CRD,7.0 +CMT,1,1,519,1.1,CSH,7.5 +CMT,1,1,430,1.1,CRD,7.0 +CMT,1,1,256,0.6,CRD,5.0 +VTS,1,1,540,2.5,CSH,9.5 +VTS,2,1,1620,18.43,CSH,52.0 +VTS,1,1,180,0.53,CRD,4.0 +VTS,1,1,780,2.26,CRD,10.5 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,420,1.62,CSH,7.5 +VTS,1,1,300,1.5,CRD,6.5 +VTS,1,1,900,3.37,CRD,13.5 +VTS,1,1,480,1.09,CSH,7.5 +VTS,1,1,540,2.43,CRD,10.0 +VTS,1,1,120,0.47,CSH,4.0 +VTS,1,1,780,4.72,CSH,16.0 +VTS,1,1,780,3.0,CRD,12.0 +VTS,1,1,600,2.32,CSH,10.0 +VTS,1,1,360,0.73,CRD,5.5 +VTS,1,1,300,0.99,CSH,6.0 +VTS,1,1,720,3.87,CRD,13.5 +VTS,1,1,240,1.62,CRD,6.5 +VTS,1,1,360,1.64,CSH,7.0 +VTS,1,1,420,2.08,CRD,8.5 +VTS,1,2,240,0.81,CSH,5.0 +VTS,1,1,180,0.75,CSH,5.0 +VTS,1,1,540,1.45,CSH,8.5 +VTS,1,1,360,0.66,CSH,6.0 +VTS,1,1,240,0.94,CRD,5.0 +VTS,1,1,540,1.65,CRD,8.0 +VTS,1,1,480,0.73,CRD,6.5 +VTS,1,1,300,1.6,CSH,7.0 +VTS,1,1,720,4.43,CSH,15.5 +VTS,1,1,120,0.74,CRD,4.5 +VTS,1,1,540,4.1,CRD,13.5 +VTS,1,2,720,1.41,CRD,9.5 +VTS,1,1,240,0.82,CSH,5.5 +VTS,1,1,120,0.77,CRD,4.0 +VTS,1,1,780,2.87,CRD,12.0 +VTS,1,1,780,1.98,CRD,10.5 +VTS,1,1,900,3.23,CSH,13.0 +VTS,1,1,840,1.4,CRD,10.5 +VTS,1,1,780,2.09,CSH,10.5 +VTS,1,2,240,0.69,CRD,4.5 +VTS,1,1,720,2.23,CRD,10.5 +VTS,1,1,1020,3.25,CSH,14.5 +VTS,1,1,900,2.99,CRD,12.5 +VTS,2,1,2640,21.8,CSH,52.0 +VTS,1,1,300,1.25,CRD,6.5 +VTS,1,1,840,2.76,CRD,12.0 +VTS,1,1,1140,7.84,CRD,24.0 +VTS,1,2,420,1.04,CSH,6.5 +VTS,1,2,840,2.72,CRD,12.0 +VTS,1,1,540,1.77,CRD,8.5 +VTS,1,1,960,3.92,CRD,14.5 +VTS,1,1,240,0.68,CSH,5.0 +VTS,1,2,300,0.87,CRD,5.5 +VTS,1,1,600,1.06,CRD,8.0 +VTS,1,1,840,1.56,CRD,10.0 +VTS,1,1,660,1.43,CRD,9.0 +VTS,1,1,240,0.73,CSH,5.0 +VTS,1,1,240,0.89,CSH,5.0 +VTS,1,1,600,0.78,CSH,7.5 +VTS,1,1,300,1.38,CSH,6.0 +VTS,1,1,1020,1.71,CSH,11.5 +VTS,1,1,420,1.09,CRD,7.5 +VTS,1,2,600,0.94,CRD,8.5 +VTS,2,1,3300,22.7,CRD,52.0 +VTS,1,1,720,2.75,CSH,11.0 +CMT,1,1,407,1.7,CSH,7.5 +CMT,1,1,528,0.6,CRD,7.0 +CMT,1,1,1972,12.4,CRD,36.5 +CMT,1,1,481,1.1,CSH,7.0 +CMT,1,1,727,1.6,CRD,9.5 +CMT,1,1,775,5.6,CSH,17.5 +CMT,1,1,2818,12.6,CRD,44.0 +CMT,1,1,1640,5.9,CRD,23.5 +CMT,1,1,922,7.1,CSH,22.5 +CMT,1,1,656,3.5,CRD,12.5 +CMT,1,1,388,1.3,CSH,7.0 +CMT,1,1,278,1.0,CRD,5.5 +CMT,1,1,1714,14.2,CSH,39.5 +CMT,1,1,591,2.0,CSH,9.5 +CMT,1,1,1418,9.9,CSH,30.0 +CMT,1,1,790,1.9,CSH,10.5 +CMT,1,1,8,1.5,NOC,2.5 +CMT,1,1,512,1.0,CSH,7.5 +CMT,1,1,1101,4.6,CRD,18.0 +CMT,1,1,1104,1.8,CRD,12.5 +CMT,1,1,1521,9.5,CRD,30.5 +CMT,1,1,669,1.2,CSH,8.5 +CMT,1,1,433,0.5,CRD,6.0 +CMT,1,1,573,1.3,CSH,8.0 +CMT,1,1,588,1.1,CRD,7.5 +CMT,1,1,275,0.6,CRD,5.0 +CMT,1,1,1317,6.4,CRD,22.5 +CMT,1,1,1461,6.2,CSH,23.5 +CMT,1,1,351,0.8,CRD,6.0 +CMT,1,1,684,2.6,CRD,11.0 +CMT,1,1,822,3.3,CSH,13.0 +CMT,1,1,291,0.9,CRD,5.5 +CMT,1,1,1012,2.0,CSH,12.0 +CMT,1,1,498,2.4,CRD,10.0 +CMT,1,1,167,0.4,CRD,4.0 +CMT,1,1,868,5.9,CSH,18.5 +CMT,1,1,908,1.9,CSH,11.5 +CMT,1,2,432,1.0,CSH,6.5 +VTS,1,1,240,0.81,CSH,5.0 +VTS,2,1,1800,17.73,CRD,52.0 +VTS,1,1,780,2.38,CRD,11.0 +VTS,1,1,1620,12.75,CSH,36.5 +VTS,1,1,780,4.83,CRD,16.0 +VTS,1,3,720,2.17,CSH,10.5 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,600,2.38,CRD,9.5 +VTS,1,2,480,1.44,CSH,7.5 +VTS,1,1,900,3.44,CRD,13.5 +VTS,1,3,480,1.07,CSH,7.0 +VTS,1,1,540,1.48,CSH,8.0 +VTS,1,1,600,2.15,CSH,9.5 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,600,0.85,CSH,8.0 +VTS,1,1,240,0.78,CSH,5.0 +VTS,1,1,780,2.44,CRD,11.0 +VTS,1,1,660,1.61,CRD,9.0 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,120,0.48,CSH,4.0 +VTS,1,1,1620,10.88,CSH,34.5 +VTS,1,1,480,2.3,CSH,9.0 +VTS,1,1,360,1.64,CRD,7.0 +VTS,1,1,360,1.05,CSH,6.0 +VTS,1,3,300,1.06,CSH,5.5 +VTS,1,1,720,2.28,CRD,10.0 +VTS,1,2,900,3.27,CSH,13.5 +VTS,1,1,480,2.14,CSH,9.0 +VTS,1,1,780,2.25,CSH,11.0 +VTS,1,1,1140,5.67,CRD,20.5 +VTS,1,1,480,0.02,CRD,6.0 +VTS,1,1,1320,7.46,CRD,23.5 +VTS,1,1,600,2.27,CRD,9.5 +VTS,1,1,540,0.96,CSH,7.0 +VTS,1,1,840,1.59,CSH,10.0 +VTS,1,2,1200,3.32,CSH,15.0 +VTS,1,2,360,1.24,CSH,6.5 +VTS,1,1,1260,3.37,CRD,16.0 +VTS,1,1,360,1.01,CRD,6.0 +VTS,1,1,540,1.48,CSH,8.0 +VTS,1,1,600,2.3,CSH,9.5 +VTS,1,1,840,1.87,CRD,10.5 +VTS,1,1,840,1.93,CRD,10.0 +VTS,1,1,1080,4.87,CRD,17.5 +VTS,1,1,660,1.16,CRD,8.0 +VTS,1,1,660,1.6,CSH,9.0 +VTS,1,1,540,0.98,CRD,7.5 +VTS,1,1,1020,2.3,CRD,12.5 +VTS,1,1,1380,4.15,CRD,18.0 +VTS,1,1,180,0.22,CRD,4.0 +VTS,1,1,480,0.99,CSH,7.5 +VTS,1,1,660,1.26,CRD,9.0 +VTS,1,1,960,2.58,CRD,12.5 +VTS,1,1,660,3.02,CSH,12.0 +VTS,1,1,1260,12.42,CRD,34.5 +VTS,1,1,1560,10.38,CSH,32.0 +VTS,1,1,960,1.75,CRD,11.5 +VTS,1,1,660,2.93,CRD,11.5 +VTS,1,1,480,1.73,CRD,8.0 +VTS,1,1,840,2.38,CRD,11.5 +VTS,1,1,1020,3.13,CRD,14.5 +VTS,1,1,300,1.9,CSH,7.5 +VTS,1,1,660,3.52,CSH,12.5 +VTS,1,1,480,1.54,CSH,7.5 +VTS,1,3,1020,8.9,CSH,26.5 +VTS,1,1,960,5.9,CRD,19.5 +VTS,1,1,780,2.46,CRD,11.0 +VTS,1,1,420,0.92,CRD,6.5 +VTS,1,1,1620,5.06,CRD,21.5 +VTS,1,1,600,7.24,CRD,21.0 +VTS,1,1,480,1.04,CRD,7.0 +VTS,1,1,540,0.34,CSH,6.5 +VTS,1,1,360,0.95,CRD,6.0 +VTS,1,1,540,1.96,CRD,8.5 +VTS,1,1,660,2.61,CSH,10.5 +VTS,1,1,720,2.24,CRD,11.0 +VTS,1,1,1500,4.22,CRD,20.0 +VTS,1,1,480,3.58,CSH,11.5 +VTS,1,1,300,1.23,CRD,6.5 +VTS,1,1,720,1.85,CSH,9.5 +VTS,1,1,360,0.79,CSH,6.0 +VTS,1,2,1080,7.9,CSH,24.0 +VTS,1,1,600,3.37,CSH,12.5 +VTS,1,2,360,1.31,CRD,7.0 +VTS,1,1,480,1.05,CSH,7.5 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,1620,12.37,CRD,36.5 +VTS,1,1,240,0.92,CRD,5.5 +VTS,1,1,600,1.33,CSH,8.5 +VTS,1,1,360,2.07,CRD,8.0 +VTS,1,1,780,1.26,CRD,9.5 +VTS,1,1,1020,2.62,CRD,13.5 +VTS,1,1,720,1.67,CSH,9.5 +VTS,1,1,1260,4.82,CRD,18.5 +VTS,1,1,300,0.4,CRD,5.0 +VTS,1,1,960,0.95,CSH,10.5 +VTS,1,1,300,0.76,CSH,5.5 +VTS,1,1,840,1.32,CRD,10.0 +VTS,1,1,780,2.74,CSH,12.5 +VTS,1,1,540,1.3,CSH,8.0 +VTS,1,1,420,1.93,CSH,9.0 +VTS,1,1,240,0.77,CRD,5.5 +VTS,1,1,300,1.84,CRD,7.0 +VTS,1,1,660,2.03,CRD,9.5 +VTS,1,1,300,1.51,CRD,6.5 +VTS,1,1,1620,10.63,CRD,33.0 +VTS,1,1,840,2.66,CRD,12.0 +VTS,1,1,660,1.79,CSH,9.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,2,540,0.98,CRD,7.5 +VTS,1,2,1020,6.33,CRD,20.0 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,420,1.44,CSH,7.0 +VTS,2,1,2160,16.3,CSH,52.0 +VTS,1,1,660,5.57,CRD,16.5 +VTS,1,1,360,0.44,CSH,5.0 +VTS,1,1,780,1.48,CRD,9.5 +VTS,1,1,660,2.04,CSH,10.0 +CMT,1,1,1122,7.8,CRD,24.0 +CMT,1,1,1218,3.0,CRD,14.0 +CMT,1,1,753,1.4,CRD,9.5 +CMT,1,1,1374,4.7,CSH,19.0 +VTS,1,1,720,2.98,CRD,11.5 +VTS,1,1,240,0.54,CRD,4.5 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,480,1.79,CSH,8.0 +VTS,1,1,1380,11.09,CSH,32.5 +VTS,1,1,360,1.16,CSH,6.5 +VTS,1,1,360,2.11,CSH,8.0 +VTS,1,1,1020,4.15,CSH,15.0 +VTS,1,1,180,0.47,CSH,4.5 +VTS,1,1,420,0.92,CSH,6.5 +VTS,1,1,240,0.59,CSH,5.0 +VTS,1,1,480,1.91,CSH,8.5 +VTS,1,1,720,2.48,CSH,10.5 +VTS,1,1,300,0.85,CRD,5.5 +VTS,1,1,840,3.28,CRD,12.5 +VTS,1,1,1080,2.47,CRD,13.0 +VTS,1,1,540,1.24,CSH,7.5 +VTS,1,1,1140,2.57,CRD,13.5 +VTS,1,1,660,1.65,CSH,9.0 +VTS,1,2,780,1.45,CSH,9.5 +VTS,1,1,540,1.38,CSH,8.0 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,600,1.28,CRD,7.5 +VTS,1,1,720,3.19,CSH,12.0 +VTS,1,1,960,3.03,CRD,13.0 +VTS,1,1,780,2.08,CRD,11.0 +VTS,1,1,360,0.84,CSH,5.5 +VTS,1,1,180,0.5,CSH,4.5 +VTS,1,1,360,1.09,CSH,6.0 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,1,1020,3.49,CRD,15.0 +VTS,1,1,780,2.59,CRD,11.5 +VTS,1,1,1320,10.58,CSH,31.5 +VTS,1,1,480,1.83,CRD,8.5 +VTS,1,1,240,0.35,CRD,4.5 +VTS,1,1,720,2.76,CSH,11.5 +VTS,1,1,120,0.81,CSH,4.5 +VTS,1,1,540,2.59,CRD,10.5 +VTS,1,1,1140,5.26,CSH,19.0 +VTS,1,1,420,1.57,CSH,7.0 +VTS,1,1,360,0.67,CSH,6.0 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,1,300,0.69,CSH,5.5 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,1080,2.35,CSH,13.0 +VTS,1,2,360,0.73,CRD,6.0 +VTS,1,1,900,1.96,CSH,11.0 +VTS,1,1,1200,2.97,CRD,14.5 +VTS,1,1,900,1.77,CRD,11.0 +VTS,1,1,660,1.34,CRD,8.5 +VTS,2,1,2280,15.36,CRD,52.0 +VTS,1,1,300,1.01,CRD,6.0 +VTS,1,1,360,0.56,CRD,5.5 +VTS,1,1,1140,1.55,CSH,12.5 +VTS,1,1,240,0.84,CSH,5.5 +VTS,1,1,960,3.42,CRD,14.5 +VTS,1,1,960,7.01,CRD,21.5 +VTS,1,1,540,1.49,CRD,8.5 +VTS,1,1,540,1.72,CRD,8.5 +VTS,1,1,300,0.63,CSH,5.5 +VTS,1,1,600,2.51,CRD,10.5 +VTS,1,1,300,0.79,CSH,5.5 +VTS,1,1,1860,13.75,CRD,40.5 +VTS,1,1,900,2.15,CRD,11.5 +VTS,1,1,660,1.39,CRD,9.0 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,540,1.37,CSH,7.5 +VTS,1,2,1260,4.78,CSH,18.5 +VTS,1,1,420,0.66,CSH,6.0 +VTS,1,1,960,6.56,CRD,21.0 +VTS,1,1,540,2.25,CRD,9.5 +VTS,1,1,600,3.31,CSH,11.5 +VTS,1,2,360,1.14,CSH,6.5 +VTS,1,1,1080,9.28,CSH,27.0 +VTS,1,1,420,1.11,CSH,6.5 +VTS,1,1,600,1.29,CRD,8.0 +VTS,1,1,120,0.51,CSH,4.0 +VTS,1,1,120,0.61,CSH,4.0 +VTS,1,2,960,1.6,CSH,11.5 +VTS,1,1,420,0.57,CRD,5.5 +VTS,1,1,420,1.35,CRD,7.0 +VTS,1,1,1020,4.41,CSH,14.0 +VTS,1,1,240,0.69,CSH,5.0 +VTS,1,1,1020,9.12,CSH,26.0 +VTS,1,2,540,1.44,CRD,8.0 +VTS,1,1,480,1.28,CSH,7.0 +VTS,1,1,540,1.01,CSH,7.0 +VTS,1,1,300,0.65,CSH,5.0 +VTS,1,1,540,0.9,CSH,7.0 +VTS,1,1,360,1.51,CRD,7.0 +VTS,1,1,900,3.44,CRD,14.0 +VTS,1,1,2100,2.54,CRD,21.0 +VTS,1,1,540,0.7,CRD,7.0 +VTS,1,1,1020,10.43,CRD,29.5 +VTS,1,1,600,2.06,CSH,9.5 +VTS,1,2,1080,1.89,CSH,12.5 +VTS,1,1,360,0.73,CSH,6.0 +VTS,1,1,480,1.95,CRD,9.0 +VTS,1,2,300,0.81,CRD,5.0 +VTS,1,1,600,2.89,CRD,10.5 +VTS,1,1,1320,9.73,CRD,29.5 +VTS,1,1,240,0.98,CRD,5.5 +VTS,2,1,2940,18.8,CRD,52.0 +VTS,1,1,480,1.41,CSH,7.5 +VTS,1,1,600,2.37,CRD,9.5 +VTS,1,1,120,0.7,CRD,4.0 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,300,0.69,CRD,5.0 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,1,780,2.5,CSH,11.0 +VTS,1,1,1080,4.65,CSH,17.0 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,900,2.47,CSH,11.5 +VTS,1,1,660,3.39,CRD,12.5 +VTS,1,1,600,2.29,CSH,10.0 +VTS,1,1,1080,3.17,CSH,14.0 +VTS,1,1,300,0.63,CRD,5.0 +VTS,1,1,480,1.18,CSH,7.5 +VTS,1,1,420,1.58,CRD,7.5 +VTS,1,2,1440,10.78,CRD,32.5 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,1,420,1.48,CSH,7.5 +VTS,1,1,240,0.85,CRD,5.0 +VTS,1,1,600,1.07,CRD,8.0 +VTS,1,1,600,0.91,CRD,8.0 +VTS,1,1,1380,5.92,CSH,22.0 +VTS,1,1,780,3.15,CSH,12.0 +VTS,1,1,960,2.62,CRD,12.5 +VTS,1,1,1320,5.84,CRD,21.5 +VTS,1,1,720,1.35,CSH,8.5 +VTS,1,1,1500,9.41,CSH,29.5 +VTS,1,1,2040,11.55,CRD,35.5 +VTS,1,1,540,2.32,CSH,9.5 +VTS,1,1,720,1.56,CRD,9.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,540,0.87,CSH,7.0 +VTS,1,1,480,1.94,CSH,7.5 +VTS,1,1,360,0.99,CSH,6.5 +VTS,1,3,540,2.3,CSH,9.0 +VTS,1,1,600,3.34,CSH,11.5 +VTS,1,1,0,0.0,CRD,2.5 +VTS,1,1,300,1.12,CRD,6.0 +VTS,1,1,1200,4.61,CRD,18.0 +VTS,1,1,240,0.45,CSH,4.5 +VTS,1,5,60,0.11,CSH,2.5 +VTS,1,1,600,2.08,CRD,10.0 +VTS,1,2,660,1.94,CSH,10.0 +VTS,1,1,360,0.61,CRD,5.5 +VTS,1,1,600,2.41,CSH,10.0 +VTS,1,1,540,1.14,CSH,7.5 +VTS,1,1,300,0.91,CRD,5.0 +VTS,1,1,240,0.73,CRD,4.5 +VTS,1,1,600,1.44,CSH,9.0 +VTS,1,1,1200,4.75,CSH,18.5 +VTS,1,1,540,1.4,CSH,8.0 +VTS,1,1,840,1.64,CRD,10.0 +VTS,1,1,660,1.23,CSH,9.0 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,1,300,1.0,CRD,6.0 +VTS,1,1,300,0.68,CRD,5.5 +VTS,1,1,300,1.25,CRD,6.5 +VTS,2,1,1860,15.85,CRD,52.0 +VTS,1,1,360,0.71,CRD,5.5 +VTS,1,1,600,1.24,CSH,8.0 +VTS,1,1,600,1.53,CRD,8.5 +VTS,1,1,1380,4.23,CRD,17.0 +VTS,1,1,960,2.03,CSH,11.5 +VTS,1,1,240,0.58,CRD,5.0 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,1200,2.81,CSH,16.0 +VTS,1,3,1380,5.1,CRD,20.5 +VTS,1,1,900,7.11,CRD,21.5 +VTS,1,1,540,1.12,CRD,7.5 +VTS,1,1,1140,3.02,CRD,14.5 +VTS,1,2,2100,11.78,CRD,36.5 +VTS,1,1,660,1.92,CSH,9.5 +VTS,1,1,480,1.84,CRD,8.5 +VTS,1,1,360,0.5,CRD,5.5 +VTS,1,1,360,2.4,CRD,8.5 +VTS,1,1,660,2.85,CSH,11.5 +VTS,1,1,480,1.4,CSH,8.0 +VTS,1,1,720,2.91,CSH,11.5 +VTS,1,1,1620,4.54,CRD,20.5 +VTS,1,1,720,1.2,CRD,9.0 +VTS,1,1,540,0.93,CRD,7.0 +VTS,1,1,360,1.36,CSH,7.0 +VTS,1,1,1980,10.67,CRD,35.0 +VTS,1,1,540,0.71,CRD,7.0 +VTS,1,1,840,1.69,CRD,10.5 +VTS,1,1,420,1.02,CSH,6.5 +VTS,1,1,600,2.39,CRD,9.5 +VTS,1,1,360,0.78,CSH,6.0 +VTS,1,1,480,0.82,CRD,6.5 +VTS,1,1,900,2.17,CRD,11.5 +VTS,1,1,540,1.04,CSH,7.0 +VTS,1,1,240,0.6,CRD,5.0 +VTS,1,1,900,2.33,CRD,11.5 +VTS,1,1,480,1.42,CRD,7.5 +VTS,1,1,480,1.31,CRD,7.5 +VTS,1,1,1140,3.23,CRD,15.0 +VTS,1,1,840,2.95,CRD,12.5 +VTS,1,2,1080,2.07,CRD,12.5 +VTS,1,1,720,1.8,CSH,10.5 +VTS,1,2,420,1.97,CRD,8.5 +VTS,1,1,300,0.75,CSH,5.5 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,1140,2.33,CSH,13.5 +VTS,1,1,420,1.21,CRD,7.0 +VTS,1,1,420,1.61,CSH,8.0 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,180,0.57,CSH,4.0 +VTS,1,1,180,0.72,CRD,4.0 +VTS,1,1,720,3.34,CRD,13.0 +VTS,1,1,780,2.52,CRD,11.5 +VTS,1,3,840,2.21,CRD,11.0 +VTS,1,1,840,3.02,CSH,12.5 +VTS,1,2,300,1.23,CSH,6.0 +VTS,1,1,960,3.14,CRD,13.0 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,1,360,1.35,CRD,7.0 +VTS,1,1,600,1.2,CSH,8.0 +VTS,1,1,300,0.95,CSH,6.0 +VTS,1,1,1020,1.99,CSH,12.5 +VTS,1,1,540,1.98,CRD,9.0 +VTS,1,1,720,6.5,CSH,19.5 +VTS,1,1,600,1.02,CRD,8.0 +VTS,1,1,360,0.81,CRD,6.0 +VTS,1,1,420,1.43,CSH,7.0 +VTS,1,1,540,1.55,CSH,8.0 +VTS,1,1,960,3.01,CSH,13.5 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,1,1080,3.89,CSH,15.5 +VTS,1,1,660,1.31,CRD,8.5 +VTS,1,1,420,1.42,CSH,7.5 +VTS,1,1,240,0.81,CSH,5.0 +VTS,1,1,1020,5.08,CRD,17.0 +VTS,1,1,660,1.07,CRD,8.0 +VTS,1,1,660,1.7,CSH,9.5 +VTS,1,1,420,1.48,CRD,7.0 +VTS,1,1,900,1.59,CSH,10.5 +VTS,1,1,780,5.27,CSH,17.0 +VTS,1,2,540,1.49,CRD,8.5 +VTS,1,1,1020,1.04,CRD,11.0 +VTS,1,1,1320,9.03,CSH,27.5 +VTS,1,2,660,1.87,CRD,9.5 +VTS,1,1,480,1.94,CSH,9.0 +VTS,1,1,240,0.69,CRD,5.5 +VTS,1,1,480,1.66,CRD,8.5 +VTS,1,1,960,3.91,CSH,15.0 +VTS,1,2,600,2.22,CRD,10.0 +VTS,1,1,480,1.98,CRD,8.5 +VTS,1,1,720,2.99,CSH,11.5 +VTS,1,2,180,0.79,CRD,5.0 +VTS,1,1,300,1.32,CSH,6.0 +VTS,2,1,1920,17.51,CRD,52.0 +VTS,4,2,2460,21.04,CSH,60.0 +VTS,1,1,600,2.91,CSH,11.5 +VTS,1,1,900,2.5,CRD,11.5 +VTS,1,2,420,0.88,CSH,6.0 +VTS,1,1,1140,5.63,CRD,19.0 +VTS,1,1,300,0.85,CRD,5.5 +VTS,1,2,720,5.34,CRD,17.0 +VTS,1,1,300,0.69,CRD,5.5 +VTS,1,1,780,1.47,CRD,9.5 +VTS,1,1,660,1.55,CSH,8.5 +VTS,1,1,540,1.07,CRD,8.0 +VTS,1,1,360,1.14,CRD,6.0 +VTS,1,1,540,1.42,CSH,8.0 +VTS,1,2,120,0.87,CRD,4.5 +VTS,1,1,540,1.31,CRD,8.0 +VTS,1,1,360,1.89,CRD,8.5 +VTS,1,2,600,2.34,CRD,9.5 +VTS,1,2,420,1.45,CRD,7.0 +VTS,1,2,120,0.41,CSH,3.5 +VTS,1,1,960,2.26,CRD,12.0 +VTS,1,2,480,1.03,CRD,7.0 +VTS,1,1,420,2.57,CRD,9.5 +VTS,1,1,540,1.47,CSH,7.5 +VTS,1,2,540,2.05,CRD,9.0 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,3,900,8.4,CRD,24.0 +VTS,1,2,540,2.11,CSH,9.0 +VTS,1,2,780,2.83,CSH,12.0 +VTS,1,1,1200,5.29,CRD,18.5 +VTS,1,1,300,1.05,CSH,6.0 +VTS,1,2,1320,6.46,CSH,22.0 +VTS,1,2,420,1.28,CSH,7.0 +VTS,1,1,720,2.17,CRD,10.0 +VTS,1,2,360,1.64,CRD,7.0 +VTS,1,3,300,0.7,CSH,5.0 +VTS,1,2,240,0.82,CSH,5.0 +VTS,1,3,360,1.54,CSH,7.0 +VTS,1,2,660,2.04,CSH,9.5 +VTS,1,1,780,2.0,CRD,11.0 +VTS,1,1,540,2.69,CRD,11.0 +VTS,1,2,780,2.94,CSH,12.0 +VTS,1,1,1440,4.93,CSH,15.5 +VTS,1,1,600,1.99,CRD,9.5 +VTS,1,2,600,2.42,CSH,9.5 +VTS,1,1,720,3.01,CSH,12.0 +VTS,1,2,300,1.46,CRD,6.5 +VTS,1,2,360,1.42,CSH,7.0 +VTS,1,2,2100,4.05,CSH,22.5 +VTS,1,2,660,1.92,CRD,9.5 +VTS,1,1,1080,3.34,CRD,15.0 +VTS,1,1,1140,4.95,CRD,18.5 +VTS,1,1,540,2.02,CRD,9.0 +VTS,1,2,1500,5.93,CSH,22.5 +VTS,1,2,420,2.42,CSH,8.5 +VTS,1,1,360,1.38,CSH,6.5 +VTS,1,1,720,1.37,CSH,8.5 +VTS,1,1,360,0.93,CRD,6.0 +VTS,1,1,540,1.07,CSH,7.5 +VTS,1,3,420,1.31,CRD,7.0 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,900,2.0,CSH,11.0 +VTS,1,1,0,0.0,CRD,2.5 +VTS,4,1,960,1.79,CSH,12.0 +VTS,1,1,1920,8.58,CRD,28.5 +VTS,1,1,2040,6.36,CRD,26.5 +VTS,1,1,720,1.98,CSH,10.0 +VTS,1,1,1080,2.25,CRD,13.0 +VTS,1,1,1320,10.12,CRD,30.0 +VTS,1,1,420,2.04,CSH,8.5 +VTS,1,2,180,0.64,CSH,4.5 +VTS,1,2,600,2.75,CRD,11.0 +VTS,1,1,180,0.38,CSH,3.5 +VTS,1,1,840,1.46,CRD,10.0 +VTS,1,1,900,3.36,CSH,13.5 +VTS,1,2,360,1.18,CRD,6.5 +VTS,1,1,480,3.69,CRD,12.5 +VTS,1,3,600,2.51,CRD,10.0 +VTS,1,1,240,0.82,CRD,5.0 +VTS,1,1,360,0.98,CRD,6.0 +VTS,1,2,120,0.57,CSH,4.0 +VTS,1,1,240,0.86,CSH,5.0 +VTS,1,1,1080,3.18,CSH,13.5 +VTS,1,1,300,0.73,CRD,5.0 +VTS,1,1,1260,2.49,CSH,14.5 +VTS,1,1,2160,8.26,CSH,29.0 +VTS,1,1,480,2.31,CRD,9.0 +VTS,1,1,300,1.02,CRD,6.0 +VTS,1,1,600,1.31,CRD,8.5 +VTS,1,2,1500,2.22,CRD,16.0 +VTS,3,1,2280,18.43,CRD,70.5 +VTS,1,1,780,3.03,CSH,12.0 +VTS,1,1,1680,7.78,CSH,25.5 +VTS,1,1,120,0.51,CSH,3.5 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,1080,4.64,CSH,18.0 +VTS,1,2,840,1.51,CSH,10.5 +VTS,2,1,2100,15.33,CSH,52.0 +VTS,1,1,1200,6.38,CRD,22.0 +VTS,1,1,420,2.24,CRD,8.5 +VTS,1,1,300,0.65,CRD,5.0 +VTS,1,1,960,3.55,CSH,14.0 +VTS,1,1,780,2.56,CSH,12.0 +VTS,1,1,600,2.52,CRD,11.0 +VTS,1,1,540,1.1,CRD,7.5 +VTS,1,1,840,3.39,CRD,13.0 +VTS,1,2,1320,2.2,CRD,14.5 +VTS,1,1,360,0.76,CSH,5.5 +VTS,1,1,780,2.48,CSH,11.0 +VTS,1,1,720,2.86,CRD,11.5 +VTS,1,2,780,2.79,CSH,11.5 +VTS,1,1,60,0.15,CRD,2.5 +VTS,1,1,540,0.97,CRD,7.0 +VTS,1,1,600,1.09,CRD,8.0 +VTS,1,1,480,2.44,CSH,10.0 +VTS,1,1,360,1.69,CRD,7.5 +VTS,1,1,2100,10.75,CSH,35.0 +VTS,1,1,420,1.7,CRD,8.0 +VTS,1,1,360,1.16,CRD,6.0 +VTS,1,1,0,0.0,CRD,2.5 +VTS,1,1,840,1.71,CRD,10.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,300,0.65,CRD,5.0 +VTS,1,1,480,1.49,CRD,8.0 +VTS,1,1,720,1.42,CSH,9.0 +VTS,1,1,240,0.73,CRD,4.5 +VTS,1,1,300,0.6,CRD,5.0 +VTS,1,1,780,1.64,CSH,10.0 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,300,0.84,CRD,5.5 +VTS,1,2,240,1.34,CRD,6.0 +VTS,1,2,780,2.44,CSH,11.5 +VTS,1,1,360,1.75,CSH,7.5 +VTS,1,2,240,0.8,CSH,5.0 +VTS,1,1,480,1.48,CRD,7.5 +VTS,1,2,360,1.33,CSH,7.5 +VTS,2,3,2820,18.08,CSH,52.0 +VTS,1,1,300,0.69,CSH,5.0 +VTS,1,2,660,2.03,CRD,9.5 +VTS,1,2,780,3.45,CSH,12.5 +VTS,1,2,780,2.8,CSH,11.5 +VTS,1,1,540,3.21,CRD,11.0 +VTS,1,1,300,2.32,CSH,8.5 +VTS,1,1,660,2.56,CRD,10.5 +VTS,1,2,360,1.83,CSH,7.5 +VTS,1,2,480,2.75,CRD,10.0 +VTS,1,2,1560,2.85,CSH,16.0 +VTS,1,2,360,1.93,CSH,7.5 +VTS,1,2,480,2.26,CSH,9.0 +VTS,1,1,780,3.26,CSH,12.5 +VTS,1,1,540,1.58,CSH,8.0 +VTS,1,1,480,2.37,CRD,9.0 +VTS,1,1,540,1.68,CRD,8.0 +VTS,1,1,360,1.6,CSH,6.5 +VTS,1,1,480,2.45,CRD,9.5 +VTS,1,1,1200,7.46,CRD,22.5 +VTS,1,2,360,1.29,CRD,6.5 +VTS,1,2,540,1.59,CSH,8.0 +VTS,1,1,1620,7.39,CSH,25.0 +VTS,1,2,1020,3.9,CRD,15.0 +VTS,1,1,1380,5.47,CSH,21.0 +VTS,1,2,960,5.46,CRD,18.0 +VTS,1,2,420,1.96,CSH,8.5 +VTS,1,1,1800,11.74,CRD,36.0 +VTS,1,1,660,2.53,CRD,10.0 +VTS,1,1,420,1.07,CRD,7.0 +VTS,1,1,180,0.63,CRD,4.5 +VTS,1,1,300,1.68,CSH,7.0 +VTS,1,1,420,3.05,CRD,10.5 +VTS,1,1,1140,5.03,CRD,18.0 +VTS,1,2,540,2.57,CSH,10.0 +VTS,2,3,3300,19.14,CRD,52.0 +VTS,1,1,660,2.0,CRD,9.5 +VTS,1,1,540,3.16,CRD,11.0 +VTS,1,1,420,1.35,CSH,7.5 +VTS,1,2,300,0.86,CSH,5.5 +VTS,1,1,120,0.93,CSH,4.5 +VTS,1,1,1080,2.49,CSH,10.0 +VTS,1,2,420,1.28,CSH,6.5 +VTS,1,2,420,1.92,CRD,8.0 +VTS,1,1,420,0.98,CSH,6.0 +VTS,1,2,600,3.59,CSH,12.5 +VTS,1,1,120,0.57,CSH,3.5 +VTS,1,1,840,3.57,CSH,13.5 +VTS,1,2,1260,5.03,CSH,19.0 +VTS,1,1,180,0.68,CSH,4.0 +VTS,1,1,720,2.92,CSH,11.5 +VTS,1,1,300,1.86,CSH,7.5 +VTS,1,2,780,2.01,CRD,11.0 +VTS,1,2,360,1.22,CSH,6.5 +VTS,1,2,540,1.06,CSH,7.5 +VTS,1,1,1260,3.13,CRD,15.5 +VTS,5,1,1080,5.35,CRD,60.0 +VTS,1,2,1140,4.01,CRD,16.0 +VTS,1,2,1200,5.41,CSH,18.5 +VTS,1,1,840,3.62,CRD,14.0 +VTS,1,1,720,1.75,CRD,9.5 +VTS,1,2,600,2.86,CSH,11.0 +VTS,1,1,840,1.11,CRD,10.0 +VTS,1,1,480,1.05,CRD,7.5 +VTS,1,1,1020,3.26,CRD,14.0 +VTS,1,1,600,2.55,CRD,10.0 +VTS,1,1,480,1.63,CRD,8.0 +VTS,1,2,360,0.72,CRD,6.0 +VTS,1,1,1740,6.5,CSH,24.5 +VTS,1,1,300,1.46,CSH,6.5 +VTS,1,1,480,1.79,CRD,8.5 +VTS,1,2,120,0.52,CSH,4.0 +VTS,1,1,660,1.93,CSH,9.5 +VTS,1,1,480,2.09,CRD,8.5 +VTS,1,2,1980,17.32,CSH,48.5 +VTS,1,2,540,2.44,CSH,9.5 +VTS,1,2,480,1.63,CRD,8.0 +VTS,1,2,900,2.82,CSH,12.5 +VTS,1,2,780,1.62,CRD,10.0 +VTS,1,1,540,2.52,CRD,10.5 +VTS,1,1,660,1.93,CSH,10.0 +VTS,1,1,240,0.69,CRD,5.0 +VTS,1,1,240,0.42,CSH,4.5 +VTS,1,1,600,1.45,CRD,8.5 +VTS,1,2,420,0.61,CRD,6.0 +VTS,1,1,480,2.2,CRD,8.5 +VTS,1,1,240,0.94,CSH,5.0 +VTS,1,2,480,2.1,CSH,8.5 +VTS,1,3,840,4.17,CRD,14.5 +VTS,1,2,600,3.67,CSH,12.5 +VTS,1,2,360,1.01,CSH,6.0 +VTS,1,2,240,1.29,CSH,6.0 +VTS,1,1,120,0.92,CRD,4.5 +VTS,1,2,660,1.73,CSH,9.0 +VTS,1,1,600,3.23,CRD,11.5 +VTS,1,1,240,0.68,CSH,5.0 +VTS,1,2,300,1.49,CSH,6.5 +VTS,1,1,600,3.71,CRD,12.5 +VTS,1,2,4200,19.77,CRD,60.5 +VTS,1,1,300,1.79,CSH,7.0 +VTS,1,1,1080,3.2,CRD,14.5 +VTS,1,1,420,2.44,CSH,8.5 +VTS,1,1,1080,3.42,CRD,15.0 +VTS,1,1,660,2.75,CSH,11.0 +VTS,1,2,180,1.01,CSH,5.0 +VTS,1,2,360,1.33,CRD,7.0 +VTS,1,2,960,2.81,CSH,13.0 +VTS,1,1,300,1.32,CSH,6.5 +VTS,1,1,240,1.24,CRD,6.0 +VTS,1,2,720,3.23,CRD,12.5 +VTS,1,1,300,1.18,CSH,6.0 +VTS,1,1,420,1.74,CSH,8.0 +VTS,1,2,360,1.62,CRD,7.0 +VTS,1,1,180,0.36,CSH,4.0 +VTS,1,2,660,2.06,CSH,10.0 +VTS,1,1,660,1.98,CRD,10.0 +VTS,1,2,840,4.56,CRD,15.5 +VTS,1,2,720,1.2,CSH,9.0 +VTS,1,2,180,0.87,CRD,5.0 +VTS,1,1,1980,6.59,CRD,26.5 +VTS,1,3,480,1.95,CRD,9.0 +VTS,1,1,900,5.97,CSH,19.5 +VTS,1,1,2100,8.31,CRD,32.5 +VTS,1,1,240,1.56,CRD,6.0 +VTS,1,1,360,3.11,CRD,10.0 +VTS,1,2,840,1.4,CSH,10.5 +VTS,1,1,300,0.6,CRD,5.0 +VTS,1,1,360,1.2,CSH,6.5 +VTS,1,1,720,1.71,CRD,10.0 +VTS,1,1,1140,4.69,CSH,17.5 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,1380,3.94,CRD,17.5 +VTS,1,1,480,1.25,CRD,7.0 +VTS,1,1,480,1.82,CSH,8.5 +VTS,1,1,240,0.55,CRD,4.5 +VTS,1,2,2520,11.39,CSH,40.0 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,60,0.45,CRD,3.5 +VTS,1,1,600,0.81,CSH,7.5 +VTS,1,1,300,1.27,CRD,6.0 +VTS,1,2,420,0.98,CSH,6.5 +VTS,1,1,660,1.69,CRD,9.5 +VTS,1,1,660,5.73,CRD,17.5 +VTS,1,1,1080,3.45,CRD,15.5 +VTS,1,1,480,1.77,CRD,8.0 +VTS,1,2,1140,11.62,CSH,32.0 +VTS,1,1,180,0.92,CSH,5.0 +VTS,1,1,360,1.36,CRD,7.0 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,240,0.8,CSH,5.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,4,1,960,2.57,CSH,12.5 +VTS,1,1,360,0.75,CSH,5.5 +VTS,1,1,120,0.75,CSH,4.0 +VTS,1,1,360,1.13,CRD,6.0 +VTS,1,2,360,1.4,CSH,6.5 +VTS,1,1,960,9.66,CSH,27.5 +VTS,1,2,240,0.85,CSH,5.0 +VTS,1,2,780,3.45,CSH,13.0 +VTS,1,1,540,3.18,CRD,11.0 +VTS,1,2,660,2.39,CRD,10.0 +VTS,1,1,300,1.37,CRD,6.0 +VTS,1,1,300,1.13,CRD,6.0 +VTS,1,1,420,1.61,CRD,7.5 +VTS,1,2,1320,5.44,CSH,20.5 +VTS,1,1,420,1.64,CSH,7.0 +VTS,1,1,420,1.55,CSH,7.5 +VTS,1,1,540,1.14,CSH,8.0 +VTS,1,1,480,0.95,CSH,7.0 +VTS,1,1,540,1.84,CSH,9.5 +VTS,1,1,0,0.03,CSH,2.5 +VTS,1,2,1380,9.53,CRD,28.5 +VTS,1,1,360,1.67,CSH,7.0 +VTS,1,1,960,5.12,CSH,17.0 +VTS,1,2,240,1.06,CSH,5.5 +VTS,1,1,180,0.44,CRD,4.0 +VTS,1,2,540,1.28,CRD,7.5 +VTS,1,1,600,4.64,CRD,15.5 +VTS,1,1,480,2.28,CRD,9.0 +VTS,2,1,2880,17.49,CRD,52.0 +VTS,1,2,300,1.73,CSH,7.0 +VTS,1,2,540,2.18,CSH,9.0 +VTS,1,2,240,1.72,CRD,7.0 +VTS,1,1,540,1.93,CRD,8.5 +VTS,1,1,480,1.53,CSH,7.5 +VTS,1,2,300,0.57,CSH,5.0 +VTS,1,2,660,2.26,CRD,10.0 +VTS,1,1,240,0.93,CRD,5.0 +VTS,1,3,360,1.34,CSH,6.5 +VTS,1,1,180,0.45,CSH,4.0 +VTS,1,1,300,1.79,CSH,7.0 +VTS,1,1,420,1.77,CRD,7.5 +VTS,1,1,600,2.48,CSH,10.0 +VTS,1,1,840,6.49,CRD,20.0 +VTS,1,1,420,1.34,CRD,7.0 +VTS,1,1,120,0.6,CRD,4.0 +VTS,1,1,360,1.97,CSH,7.5 +VTS,1,1,420,2.11,CRD,8.0 +VTS,1,2,300,0.98,CSH,6.0 +VTS,1,3,480,1.94,CSH,8.0 +VTS,1,1,780,1.75,CRD,10.0 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,3,540,1.96,CRD,9.0 +VTS,1,2,540,2.47,CSH,10.0 +VTS,1,1,360,1.44,CSH,6.5 +VTS,1,2,360,1.08,CSH,6.5 +VTS,1,1,180,1.3,CRD,5.5 +VTS,1,3,1320,9.6,CSH,28.5 +VTS,1,1,300,1.43,CSH,6.0 +VTS,1,1,180,0.83,CRD,4.5 +VTS,1,2,360,1.46,CSH,7.0 +VTS,1,1,1140,3.46,CRD,15.0 +VTS,1,1,180,1.13,CSH,5.0 +VTS,1,2,1080,4.67,CRD,17.0 +VTS,1,1,840,4.36,CSH,15.0 +VTS,1,1,960,7.57,CSH,22.0 +VTS,1,1,240,0.69,CRD,5.0 +VTS,1,1,540,2.66,CSH,10.0 +VTS,1,1,1440,4.09,CSH,17.5 +VTS,1,1,360,1.36,CRD,6.5 +VTS,1,2,120,1.01,CRD,5.0 +VTS,1,1,840,2.74,CRD,12.0 +VTS,1,2,1920,8.32,CSH,30.0 +VTS,1,2,240,1.06,CSH,5.5 +VTS,1,2,840,2.69,CSH,11.5 +VTS,1,1,240,1.27,CRD,6.0 +VTS,1,2,900,3.74,CSH,14.5 +VTS,1,2,1140,5.2,CRD,18.0 +VTS,1,2,360,1.73,CSH,7.0 +VTS,1,1,420,2.18,CSH,8.5 +VTS,1,1,840,4.31,CSH,15.0 +VTS,1,2,300,1.53,CSH,7.0 +VTS,1,1,1080,3.85,CSH,15.0 +VTS,1,3,660,1.57,CRD,9.0 +VTS,2,2,3120,18.22,CSH,52.0 +VTS,1,1,300,0.7,CRD,5.5 +VTS,1,3,120,0.43,CRD,4.0 +VTS,1,2,360,1.74,CRD,8.0 +VTS,1,2,360,1.0,CRD,6.0 +VTS,1,2,660,1.98,CRD,9.0 +VTS,1,1,360,1.63,CSH,7.5 +VTS,1,3,1260,3.38,CSH,16.5 +VTS,1,2,300,0.84,CRD,5.5 +VTS,1,2,240,0.99,CRD,5.0 +VTS,1,1,1080,3.09,CSH,14.5 +VTS,1,1,1020,5.74,CSH,19.0 +VTS,1,2,720,4.84,CRD,15.5 +VTS,1,1,1560,8.88,CRD,28.5 +VTS,1,1,480,2.56,CRD,9.0 +VTS,1,2,600,1.9,CSH,9.0 +VTS,1,1,900,2.71,CSH,12.5 +VTS,1,1,1140,3.72,CRD,15.5 +VTS,1,1,1260,8.62,CRD,26.0 +VTS,1,1,240,0.56,CRD,5.0 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,2,360,0.88,CRD,5.5 +VTS,1,1,540,0.89,CRD,7.0 +VTS,1,1,720,2.14,CRD,11.0 +VTS,1,1,420,0.74,CRD,6.0 +VTS,1,1,240,0.94,CRD,5.0 +VTS,1,2,240,0.94,CRD,5.0 +VTS,1,2,540,1.84,CSH,9.0 +VTS,1,1,540,1.87,CSH,8.5 +VTS,1,1,240,0.89,CRD,5.0 +VTS,1,2,360,1.24,CRD,6.5 +VTS,1,2,420,2.45,CRD,9.0 +VTS,1,2,540,1.82,CRD,8.5 +VTS,1,1,60,0.12,CSH,2.5 +VTS,1,3,420,2.03,CSH,8.5 +VTS,1,1,240,1.56,CSH,6.5 +VTS,1,1,960,7.81,CRD,23.0 +VTS,1,1,660,3.16,CSH,12.5 +VTS,1,2,660,3.62,CRD,12.5 +VTS,1,2,540,2.88,CSH,10.5 +VTS,1,2,660,4.73,CRD,14.5 +VTS,1,1,120,0.64,CRD,4.5 +VTS,1,1,540,1.59,CSH,8.0 +VTS,1,3,360,0.74,CSH,5.5 +VTS,1,1,480,1.69,CRD,8.0 +VTS,1,1,1080,7.03,CSH,22.0 +VTS,1,2,660,1.72,CSH,9.0 +VTS,1,1,180,0.84,CRD,5.0 +VTS,1,1,300,1.01,CSH,5.5 +VTS,1,1,480,1.73,CRD,8.0 +VTS,1,1,360,1.43,CSH,7.0 +VTS,1,1,960,3.01,CRD,13.0 +VTS,1,1,600,1.75,CSH,9.0 +VTS,1,1,660,2.77,CRD,11.0 +VTS,1,3,480,1.49,CSH,8.0 +VTS,1,1,660,5.26,CSH,16.5 +VTS,1,2,420,2.16,CSH,9.0 +VTS,1,1,480,2.01,CRD,9.0 +VTS,1,1,480,0.86,CRD,7.0 +VTS,1,2,180,0.6,CRD,4.5 +VTS,1,3,660,2.5,CRD,11.0 +VTS,1,2,300,1.19,CRD,6.0 +VTS,1,2,660,2.3,CSH,10.5 +VTS,1,1,480,1.38,CRD,7.5 +VTS,1,1,180,1.0,CSH,5.0 +VTS,1,1,2520,8.91,CSH,33.5 +VTS,1,2,600,1.87,CRD,9.0 +VTS,1,2,720,2.41,CRD,10.5 +VTS,1,1,660,1.73,CSH,9.0 +VTS,1,1,360,1.21,CRD,6.5 +VTS,1,1,420,3.17,CSH,10.0 +VTS,1,1,480,1.73,CRD,8.0 +VTS,1,1,240,1.09,CSH,6.0 +VTS,1,2,420,2.66,CRD,10.0 +VTS,1,2,420,1.63,CRD,7.5 +VTS,1,1,180,1.25,CRD,5.5 +VTS,1,3,540,1.68,CSH,8.0 +VTS,1,1,1020,10.23,CRD,28.5 +VTS,1,2,180,0.61,CSH,4.0 +VTS,1,1,900,9.17,CRD,26.0 +VTS,1,1,1260,2.1,CSH,14.5 +VTS,1,1,540,1.12,CRD,7.5 +VTS,1,1,120,0.31,CSH,3.0 +VTS,1,1,1680,7.71,CRD,26.0 +VTS,1,1,1140,6.08,CSH,20.5 +VTS,1,1,300,0.73,CRD,5.0 +VTS,1,1,840,5.69,CRD,18.0 +VTS,1,2,420,1.29,CSH,7.0 +VTS,1,1,420,1.84,CSH,8.0 +VTS,1,1,720,2.48,CRD,11.5 +VTS,1,1,300,0.83,CRD,5.0 +VTS,1,2,780,1.46,CSH,10.0 +VTS,1,2,540,2.71,CSH,10.5 +VTS,1,1,300,2.34,CRD,8.5 +VTS,1,2,540,1.62,CSH,8.0 +VTS,1,2,480,1.17,CRD,7.0 +VTS,1,1,300,1.0,CRD,6.0 +VTS,1,1,1020,2.83,CSH,13.0 +VTS,1,1,480,1.41,CRD,7.5 +VTS,1,2,600,3.04,CRD,11.0 +VTS,1,1,1200,4.89,CRD,17.5 +VTS,1,1,1140,5.85,CRD,19.5 +VTS,1,1,1620,6.82,CRD,24.5 +VTS,1,1,1200,6.04,CRD,20.0 +VTS,1,1,360,1.03,CRD,6.0 +VTS,1,1,1260,11.87,CRD,33.5 +VTS,1,1,240,0.59,CSH,5.0 +VTS,1,1,480,1.87,CRD,8.5 +VTS,1,3,600,1.63,CRD,8.5 +VTS,1,1,540,2.06,CRD,9.0 +VTS,1,1,660,1.48,CRD,8.5 +VTS,1,1,540,2.29,CRD,9.0 +VTS,1,1,660,2.51,CSH,10.5 +VTS,1,1,420,0.75,CSH,6.0 +VTS,1,2,360,1.47,CSH,7.0 +VTS,1,1,240,0.81,CRD,5.0 +VTS,1,2,1140,3.6,CSH,15.0 +VTS,1,2,540,1.98,CSH,8.5 +VTS,1,1,180,0.28,CRD,4.0 +VTS,1,3,180,0.7,CSH,4.5 +VTS,5,1,840,4.32,CRD,50.0 +VTS,1,1,360,2.49,CRD,8.5 +VTS,1,2,540,2.97,CRD,10.5 +VTS,1,1,360,2.54,CRD,9.0 +VTS,1,1,240,1.1,CRD,5.5 +VTS,1,1,480,1.87,CSH,8.0 +VTS,1,1,540,3.61,CSH,12.0 +VTS,1,2,120,0.63,CRD,4.0 +VTS,1,1,1800,17.84,CRD,47.5 +VTS,1,1,540,2.74,CSH,10.5 +VTS,1,2,360,1.24,CSH,6.5 +VTS,1,1,1140,8.31,CSH,25.5 +VTS,1,2,300,1.02,CSH,5.5 +VTS,1,2,240,0.55,CRD,4.5 +VTS,1,3,360,1.57,CSH,7.0 +VTS,1,1,1560,2.98,CSH,17.5 +VTS,1,1,360,0.95,CSH,5.5 +VTS,1,2,420,1.49,CSH,7.0 +VTS,1,2,1020,5.82,CSH,18.5 +VTS,1,1,900,3.0,CSH,12.5 +VTS,1,2,1020,4.48,CSH,15.5 +VTS,1,2,960,4.42,CSH,16.5 +VTS,1,1,300,1.15,CRD,6.0 +VTS,1,1,180,0.48,CSH,4.0 +VTS,1,2,780,2.82,CSH,11.5 +VTS,1,1,840,1.92,CSH,11.0 +VTS,1,1,1260,5.88,CRD,20.0 +VTS,1,2,900,3.23,CRD,13.0 +VTS,1,1,540,1.83,CRD,8.0 +VTS,1,1,540,1.4,CSH,8.0 +VTS,1,1,780,1.44,CSH,10.0 +VTS,1,1,300,1.46,CRD,6.5 +VTS,1,1,480,1.48,CSH,8.0 +VTS,1,1,600,1.67,CRD,9.0 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,2,600,1.61,CSH,8.5 +VTS,1,1,420,2.14,CSH,9.5 +VTS,1,2,1260,5.47,CRD,19.5 +VTS,1,1,720,4.3,CRD,14.5 +VTS,1,2,240,0.47,CRD,4.5 +VTS,1,2,840,3.19,CRD,13.0 +VTS,1,1,420,1.35,CRD,7.5 +VTS,1,2,420,1.21,CSH,7.0 +VTS,1,2,360,1.39,CSH,6.5 +VTS,1,2,180,0.79,CRD,4.5 +VTS,1,2,60,0.4,CSH,3.5 +VTS,1,2,420,1.74,CSH,7.5 +VTS,1,1,600,3.07,CSH,11.5 +VTS,1,3,300,1.3,CRD,6.5 +VTS,1,3,120,0.53,CRD,3.5 +VTS,1,2,540,1.28,CSH,7.0 +VTS,1,2,720,2.1,CSH,9.5 +VTS,1,1,780,1.54,CRD,9.5 +VTS,1,3,240,0.53,CSH,4.5 +VTS,1,1,300,0.82,CSH,5.0 +VTS,1,2,660,2.48,CSH,10.5 +VTS,1,2,1080,3.78,CSH,16.0 +VTS,1,2,420,0.91,CSH,6.0 +VTS,5,1,1020,5.74,CRD,60.0 +VTS,1,2,420,1.21,CRD,6.5 +VTS,1,1,360,0.9,CRD,6.0 +VTS,1,1,1500,11.11,CRD,33.5 +VTS,1,1,480,2.34,CRD,9.5 +VTS,1,1,600,2.09,CRD,9.5 +VTS,1,1,660,3.18,CSH,12.0 +VTS,1,2,420,0.96,CRD,6.5 +VTS,1,1,960,2.62,CSH,12.5 +VTS,1,1,780,3.27,CSH,12.5 +VTS,1,1,660,1.68,CRD,9.0 +VTS,1,2,600,0.82,CSH,7.0 +VTS,1,1,840,2.62,CRD,11.5 +VTS,1,3,960,2.48,CSH,12.5 +VTS,1,1,840,5.29,CRD,17.5 +VTS,1,1,1500,7.3,CSH,25.0 +VTS,1,2,540,1.44,CRD,8.5 +VTS,2,2,3000,18.17,CRD,52.0 +VTS,1,3,600,1.89,CRD,9.0 +VTS,1,2,1200,6.32,CSH,21.0 +VTS,1,2,1560,11.58,CSH,33.0 +VTS,1,1,300,1.91,CSH,7.5 +VTS,1,1,480,0.94,CRD,7.0 +VTS,1,1,1260,7.1,CSH,22.5 +VTS,1,1,780,3.26,CRD,12.5 +VTS,1,1,1140,5.37,CSH,18.0 +VTS,1,1,480,1.7,CRD,8.0 +VTS,1,1,900,4.83,CSH,15.5 +VTS,1,2,420,1.63,CRD,8.0 +VTS,1,1,1980,13.23,CSH,39.0 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,3,1260,3.92,CSH,16.0 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,300,2.26,CRD,8.0 +VTS,1,1,300,0.97,CSH,5.5 +VTS,1,1,300,1.21,CRD,6.0 +VTS,1,2,600,2.32,CRD,10.0 +VTS,1,2,120,0.55,CRD,4.0 +VTS,1,1,840,3.77,CRD,14.0 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,300,0.64,CSH,5.0 +VTS,1,2,420,2.84,CSH,9.5 +VTS,1,3,480,2.9,CRD,10.5 +VTS,1,1,1080,5.96,CSH,19.5 +VTS,1,1,2160,4.74,CRD,24.0 +VTS,1,1,480,1.02,CSH,6.5 +VTS,1,2,780,1.79,CSH,9.5 +VTS,1,1,840,3.37,CRD,13.5 +VTS,1,1,180,0.98,CRD,5.0 +VTS,1,1,720,3.03,CSH,11.5 +VTS,1,2,960,3.08,CSH,14.0 +VTS,1,2,480,1.4,CSH,7.5 +VTS,1,2,720,3.28,CSH,12.5 +VTS,1,3,480,0.8,CSH,6.5 +VTS,1,1,600,2.1,CSH,9.5 +VTS,1,3,720,2.22,CRD,10.5 +VTS,1,1,660,2.57,CRD,11.0 +VTS,1,1,360,1.45,CSH,7.0 +VTS,1,1,300,0.76,CRD,5.0 +VTS,1,2,600,2.35,CRD,10.5 +VTS,1,1,600,2.63,CRD,10.5 +VTS,1,1,360,1.5,CRD,6.5 +VTS,1,2,600,2.56,CRD,10.5 +VTS,1,1,1560,5.04,CSH,21.0 +VTS,1,1,1080,5.72,CRD,19.5 +VTS,1,2,300,0.73,CRD,5.0 +VTS,1,1,960,3.73,CRD,14.0 +VTS,1,1,720,2.3,CSH,10.5 +VTS,1,1,120,0.84,CSH,4.5 +VTS,1,2,60,0.13,CSH,2.5 +VTS,1,1,1140,7.51,CSH,23.0 +VTS,1,2,840,3.13,CRD,12.5 +VTS,1,1,720,2.18,CRD,10.5 +VTS,1,1,120,0.82,CSH,4.5 +VTS,1,2,780,3.08,CRD,12.0 +VTS,1,1,840,7.04,CRD,21.5 +VTS,1,1,420,1.46,CSH,7.5 +VTS,1,1,240,1.28,CRD,6.0 +VTS,1,2,540,2.58,CRD,10.0 +VTS,1,1,660,3.23,CRD,12.0 +VTS,1,1,1200,11.32,CSH,32.5 +VTS,1,1,1020,10.42,CRD,29.0 +VTS,1,1,300,1.27,CRD,6.5 +VTS,1,1,1320,9.98,CRD,29.0 +VTS,1,2,1080,2.74,CRD,13.0 +VTS,1,2,600,0.76,CSH,7.5 +VTS,1,2,540,0.9,CRD,7.5 +VTS,1,1,660,1.34,CSH,8.5 +VTS,1,1,1140,9.83,CRD,28.0 +VTS,1,1,660,3.14,CRD,12.0 +VTS,1,1,840,3.62,CRD,14.0 +VTS,1,1,1260,4.86,CSH,19.0 +VTS,1,1,120,0.6,CSH,4.5 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,1,420,0.89,CSH,6.0 +VTS,1,1,600,3.7,CSH,12.5 +VTS,1,1,480,1.88,CRD,8.5 +VTS,1,1,180,0.5,CRD,4.0 +VTS,1,1,1140,3.34,CRD,15.0 +VTS,1,1,900,3.09,CSH,13.5 +VTS,1,2,540,1.13,CRD,8.0 +VTS,1,1,1500,4.8,CSH,19.0 +VTS,1,1,600,1.69,CRD,8.5 +CMT,1,2,516,1.7,CSH,8.0 +VTS,1,2,180,0.61,CSH,4.5 +VTS,1,2,1440,9.91,CRD,29.5 +VTS,1,1,1920,6.93,CSH,26.0 +VTS,1,1,600,5.41,CRD,16.5 +VTS,1,1,420,1.21,CRD,7.0 +VTS,1,1,240,0.98,CSH,5.0 +VTS,1,2,1260,3.16,CSH,15.0 +VTS,1,1,420,0.84,CRD,6.5 +VTS,1,1,360,1.11,CRD,6.0 +VTS,1,3,1140,4.84,CRD,18.0 +VTS,1,1,1440,9.23,CRD,27.5 +VTS,1,2,480,1.13,CSH,7.0 +VTS,1,1,360,2.13,CSH,7.5 +VTS,1,1,420,1.24,CRD,6.5 +VTS,1,2,300,1.38,CSH,6.5 +VTS,1,1,480,2.33,CRD,9.0 +VTS,1,2,240,1.0,CSH,5.0 +VTS,1,1,480,2.22,CSH,8.5 +VTS,1,1,480,1.84,CRD,8.5 +VTS,1,1,540,2.21,CRD,9.0 +VTS,1,1,1260,5.23,CRD,20.0 +VTS,1,1,840,3.18,CRD,13.0 +VTS,1,1,540,1.94,CSH,9.0 +VTS,1,1,540,2.41,CSH,9.5 +CMT,1,1,749,3.7,CRD,14.0 +CMT,1,1,637,2.6,CRD,11.0 +CMT,1,1,202,0.8,CSH,4.5 +CMT,1,1,251,1.1,CSH,5.5 +CMT,1,1,274,0.5,CSH,5.0 +CMT,1,1,910,3.1,CSH,13.0 +CMT,1,1,305,1.4,CSH,6.0 +CMT,1,2,442,1.1,CSH,6.5 +CMT,1,1,730,2.4,CRD,11.0 +CMT,1,3,500,1.8,CSH,8.5 +CMT,1,1,300,1.6,CRD,6.5 +CMT,1,1,219,0.9,CSH,5.5 +CMT,1,1,268,0.9,CRD,5.5 +CMT,1,1,477,1.0,CSH,7.0 +CMT,1,2,102,0.6,CSH,3.5 +CMT,1,2,322,1.3,CRD,6.5 +CMT,1,1,441,0.9,CRD,7.0 +CMT,1,1,264,0.8,CSH,5.0 +CMT,1,1,186,0.9,CRD,5.0 +CMT,1,1,196,0.8,CRD,4.5 +CMT,1,1,523,1.3,CRD,7.5 +CMT,1,1,521,1.9,CRD,8.5 +CMT,1,1,1119,2.1,CRD,13.5 +CMT,1,1,381,1.2,CSH,6.5 +CMT,1,1,485,1.6,CRD,8.0 +CMT,1,1,446,0.9,CSH,6.5 +CMT,1,1,282,1.5,CRD,7.0 +CMT,1,1,248,0.8,CSH,5.0 +VTS,1,1,960,8.77,CRD,25.0 +VTS,1,1,600,2.1,CSH,9.5 +CMT,1,2,477,2.2,CRD,9.0 +CMT,1,3,352,1.0,CRD,6.0 +CMT,1,1,423,1.5,CSH,7.5 +CMT,1,2,335,0.9,CSH,6.0 +CMT,1,1,91,0.5,CSH,3.5 +CMT,1,1,452,1.3,CSH,7.0 +CMT,1,1,372,0.9,CRD,6.0 +CMT,1,1,509,1.1,CSH,7.5 +CMT,1,1,1084,3.4,CRD,15.0 +CMT,2,1,1537,17.1,CRD,52.0 +CMT,1,1,221,1.0,CSH,5.0 +CMT,1,1,319,1.0,CRD,5.5 +CMT,1,1,867,2.1,CSH,11.5 +CMT,1,1,1122,3.2,CRD,15.0 +CMT,1,1,436,0.9,CRD,6.5 +CMT,1,1,517,1.1,CSH,7.5 +CMT,1,1,602,1.7,CRD,9.0 +CMT,1,2,349,0.9,CRD,6.0 +CMT,1,1,97,0.5,CSH,4.0 +CMT,1,1,1002,3.1,CSH,14.0 +CMT,1,1,57,0.0,DIS,2.5 +CMT,1,1,672,2.3,CRD,10.0 +CMT,1,1,258,0.5,CSH,4.5 +CMT,1,1,836,1.2,CSH,10.0 +VTS,1,1,840,4.18,CRD,15.0 +VTS,1,1,900,2.53,CRD,11.5 +VTS,1,1,960,4.08,CRD,16.0 +VTS,1,1,780,1.76,CSH,10.5 +VTS,1,1,540,3.2,CRD,11.5 +VTS,1,1,2100,14.21,CRD,43.5 +VTS,1,2,900,1.72,CSH,11.0 +VTS,1,2,960,4.83,CSH,16.5 +VTS,1,1,180,0.7,CSH,4.0 +VTS,1,1,120,0.54,CSH,4.0 +VTS,1,2,120,0.52,CSH,3.5 +VTS,1,2,1440,2.43,CRD,16.0 +VTS,1,2,540,1.27,CRD,7.5 +VTS,1,3,240,0.86,CSH,5.0 +VTS,1,1,900,4.73,CRD,16.0 +VTS,1,1,1020,2.41,CRD,12.5 +VTS,1,1,660,2.16,CSH,10.0 +VTS,1,1,900,2.78,CSH,13.0 +VTS,1,2,300,0.76,CSH,5.0 +VTS,1,1,60,0.21,CSH,3.0 +VTS,1,2,720,2.09,CRD,9.5 +VTS,1,1,1080,3.51,CSH,15.5 +VTS,1,1,540,2.02,CSH,9.0 +CMT,1,1,415,1.4,CSH,7.5 +CMT,1,2,421,1.2,CSH,7.0 +CMT,1,1,290,1.0,CSH,6.0 +VTS,1,1,420,2.07,CRD,8.5 +VTS,1,2,900,4.28,CRD,15.5 +VTS,1,1,720,1.77,CSH,10.0 +VTS,2,1,1980,19.78,CRD,52.0 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,2,660,2.72,CRD,11.0 +VTS,1,1,780,0.84,CRD,9.0 +VTS,1,2,720,2.71,CSH,10.5 +VTS,1,1,300,1.13,CRD,5.5 +VTS,1,1,300,1.38,CRD,6.5 +VTS,1,1,300,1.13,CRD,6.5 +VTS,1,1,180,1.11,CRD,5.0 +VTS,1,1,480,0.99,CSH,6.5 +VTS,1,2,420,1.01,CRD,6.5 +VTS,1,1,1080,2.8,CRD,13.5 +VTS,1,1,240,0.81,CRD,5.0 +VTS,1,1,1380,8.52,CRD,27.0 +CMT,1,1,689,3.5,CRD,13.0 +CMT,1,1,432,1.0,CRD,6.5 +CMT,1,1,460,1.8,CSH,8.0 +CMT,1,1,639,2.0,CSH,9.5 +CMT,1,1,476,0.9,CSH,7.0 +CMT,1,3,567,1.7,CSH,8.5 +CMT,1,2,92,0.3,CSH,3.5 +CMT,1,1,391,0.8,CRD,6.0 +CMT,1,1,1215,2.8,CRD,15.0 +CMT,1,2,327,1.8,CRD,7.0 +CMT,1,1,1297,2.6,CSH,15.0 +CMT,1,1,317,0.8,CSH,5.5 +CMT,1,1,473,1.9,CSH,8.0 +CMT,1,1,1275,2.3,CRD,14.5 +CMT,1,1,150,0.4,CSH,4.0 +CMT,1,1,369,1.4,CSH,7.0 +CMT,1,1,296,0.8,CRD,5.5 +CMT,1,1,117,0.4,CRD,3.5 +CMT,2,1,2850,17.3,CSH,52.0 +CMT,1,1,652,2.2,CRD,10.0 +CMT,1,1,433,1.5,CSH,7.5 +CMT,1,1,352,2.4,CRD,8.5 +CMT,1,1,569,1.3,CRD,8.5 +CMT,1,1,328,1.2,CRD,6.0 +CMT,1,1,776,2.4,CSH,10.5 +CMT,1,1,1327,10.6,CRD,30.5 +CMT,1,1,605,1.0,CRD,8.0 +CMT,1,2,368,1.3,CRD,6.5 +CMT,1,1,1173,3.1,CRD,15.0 +CMT,1,1,339,1.1,CRD,6.5 +CMT,1,1,559,1.5,CSH,8.5 +CMT,1,1,615,4.2,CRD,14.0 +CMT,1,1,503,0.9,CSH,7.0 +CMT,1,2,602,1.2,CSH,8.0 +CMT,1,1,294,1.3,CRD,6.5 +VTS,1,2,1500,4.37,CRD,19.5 +VTS,1,2,180,0.9,CRD,5.0 +VTS,1,2,2040,11.41,CSH,36.5 +VTS,1,1,540,1.98,CRD,9.0 +VTS,1,2,480,2.12,CSH,9.0 +VTS,1,2,720,3.98,CSH,14.0 +VTS,1,2,660,3.84,CRD,13.0 +VTS,1,2,960,1.81,CSH,11.5 +VTS,1,1,2220,11.02,CRD,35.5 +VTS,1,1,360,0.86,CRD,5.5 +CMT,1,2,445,3.4,CRD,11.0 +CMT,1,1,185,0.9,CRD,5.0 +CMT,1,1,346,1.6,CSH,7.5 +CMT,1,4,684,1.4,CRD,9.0 +CMT,1,1,760,2.1,CSH,10.5 +CMT,1,1,1123,3.8,CSH,16.0 +CMT,1,1,303,1.1,CRD,6.0 +CMT,1,1,848,4.1,CSH,15.5 +CMT,1,1,197,0.5,CRD,4.5 +CMT,1,1,295,0.6,CRD,5.5 +CMT,1,1,338,1.0,CRD,6.0 +CMT,1,1,353,1.4,CSH,7.0 +CMT,1,1,203,0.9,CRD,5.0 +CMT,1,1,105,0.4,CRD,3.5 +CMT,1,1,311,1.1,CSH,6.0 +CMT,1,1,500,2.3,CSH,9.5 +CMT,1,1,619,1.2,CRD,8.5 +CMT,1,1,1025,7.4,CSH,22.5 +CMT,1,1,287,0.6,CSH,5.0 +CMT,1,1,261,0.9,CSH,5.5 +CMT,1,1,637,1.1,CSH,8.0 +CMT,1,1,409,1.8,CRD,8.0 +CMT,1,1,564,2.0,CRD,9.0 +CMT,1,1,409,0.7,CRD,6.0 +CMT,1,1,828,0.9,CSH,9.5 +CMT,1,1,117,0.5,CRD,4.0 +CMT,1,1,594,1.1,CSH,8.0 +CMT,1,1,620,1.9,CRD,9.5 +CMT,1,1,246,1.1,CSH,5.5 +CMT,1,1,166,0.3,CSH,4.0 +CMT,1,4,730,1.4,CRD,9.5 +CMT,1,1,253,1.0,CSH,5.5 +CMT,1,1,200,1.1,CSH,5.5 +CMT,1,2,310,0.9,CRD,5.5 +CMT,1,3,228,0.8,CRD,5.0 +CMT,1,2,264,1.1,CRD,6.0 +CMT,1,1,153,0.5,CRD,4.0 +CMT,1,2,258,0.9,CRD,5.5 +CMT,1,1,338,0.6,CSH,5.5 +CMT,1,1,682,2.5,CSH,11.0 +CMT,1,1,429,0.9,CRD,6.5 +CMT,1,1,352,0.7,CRD,6.0 +VTS,1,1,660,3.9,CSH,13.5 +VTS,1,2,1020,4.24,CRD,15.5 +VTS,1,1,60,0.46,CSH,3.5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,540,1.58,CRD,8.0 +VTS,1,2,660,1.41,CRD,9.0 +VTS,1,1,780,5.03,CSH,16.0 +VTS,1,2,300,1.15,CSH,6.5 +VTS,1,1,420,1.25,CSH,7.0 +VTS,1,2,1020,3.83,CRD,15.0 +CMT,1,1,465,1.6,CSH,8.0 +CMT,1,1,150,0.8,CRD,4.5 +CMT,1,1,326,1.8,CRD,7.5 +CMT,1,1,480,1.2,CSH,7.0 +CMT,1,1,403,1.6,CRD,8.0 +CMT,1,1,342,0.9,CRD,6.0 +CMT,1,1,500,0.6,CRD,6.5 +CMT,1,1,275,0.9,CSH,5.5 +CMT,1,1,673,1.6,CSH,9.0 +CMT,1,2,573,2.1,CRD,9.5 +CMT,1,1,825,2.5,CRD,12.0 +CMT,1,1,90,0.5,CSH,3.5 +CMT,1,1,247,1.3,CSH,6.0 +CMT,1,1,294,0.5,CSH,5.0 +CMT,1,2,811,5.3,CSH,17.5 +CMT,1,1,654,0.9,CSH,8.5 +VTS,1,1,2820,18.87,CSH,53.5 +VTS,1,2,300,0.48,CSH,3.5 +VTS,1,2,240,0.83,CRD,5.0 +VTS,1,2,1380,5.73,CRD,21.0 +VTS,1,1,360,0.72,CRD,6.0 +VTS,1,2,300,0.96,CSH,5.5 +VTS,1,1,1020,3.84,CRD,14.5 +VTS,1,1,180,0.55,CRD,4.0 +VTS,1,1,660,3.26,CRD,12.0 +VTS,1,1,1080,3.55,CRD,14.5 +VTS,1,2,300,0.73,CSH,5.0 +VTS,1,2,720,2.23,CSH,10.5 +VTS,1,2,840,3.17,CRD,12.5 +VTS,1,3,300,0.98,CRD,5.5 +VTS,1,1,780,4.36,CSH,14.5 +VTS,1,1,420,2.56,CRD,9.0 +VTS,1,1,300,0.72,CRD,5.0 +VTS,1,1,1680,7.64,CRD,26.0 +VTS,1,1,420,1.22,CRD,7.0 +VTS,1,2,360,0.54,CSH,5.5 +VTS,1,2,1080,2.8,CSH,13.0 +VTS,1,1,720,2.21,CRD,11.0 +VTS,1,2,120,0.41,CSH,4.0 +VTS,1,1,1860,9.94,CSH,32.0 +VTS,1,1,1380,13.77,CRD,37.5 +VTS,1,1,900,4.0,CRD,15.0 +VTS,1,1,300,1.18,CSH,6.5 +CMT,1,1,332,1.4,CRD,6.5 +CMT,1,1,217,1.1,CRD,5.5 +CMT,1,1,654,2.5,CSH,10.5 +CMT,4,1,558,2.4,CSH,10.0 +CMT,1,1,536,0.9,CSH,7.5 +CMT,1,2,487,1.5,CRD,7.5 +CMT,2,1,1702,18.6,CRD,52.0 +CMT,1,1,253,1.1,CRD,5.5 +CMT,1,4,610,2.3,CRD,10.0 +CMT,1,1,205,0.4,CSH,4.5 +CMT,1,1,447,2.0,CSH,8.5 +CMT,1,1,290,0.8,CRD,5.5 +CMT,1,2,381,1.8,CSH,7.5 +CMT,1,1,468,1.4,CRD,8.0 +CMT,1,1,1160,3.2,CRD,15.5 +CMT,1,1,768,2.9,CSH,12.0 +CMT,1,1,377,1.7,CSH,7.5 +CMT,1,1,1023,2.4,CSH,13.0 +CMT,1,2,931,2.8,CRD,13.0 +CMT,1,1,528,2.0,CSH,9.0 +CMT,1,1,956,3.0,CRD,13.5 +CMT,1,1,436,1.1,CRD,7.0 +CMT,1,2,252,1.0,CRD,5.0 +CMT,1,1,278,0.6,CSH,5.0 +CMT,1,1,345,0.9,CRD,5.5 +CMT,1,1,1017,3.4,CRD,14.0 +CMT,1,1,689,1.9,CRD,10.5 +CMT,1,1,1264,1.7,CRD,14.0 +CMT,1,2,890,3.0,CSH,12.0 +CMT,1,3,603,1.2,CRD,8.0 +CMT,1,1,198,0.5,CRD,4.5 +CMT,1,1,815,1.9,CRD,10.5 +CMT,1,1,1400,5.6,CSH,21.0 +CMT,1,1,1317,4.0,CRD,17.0 +CMT,1,2,481,0.8,CRD,7.0 +CMT,1,2,401,0.9,CRD,6.0 +CMT,1,1,756,3.2,CRD,12.5 +CMT,1,2,236,1.0,CSH,5.5 +CMT,1,1,596,1.4,CRD,8.0 +CMT,1,1,533,1.1,CSH,7.5 +CMT,1,1,439,1.6,CSH,7.5 +CMT,1,1,1378,8.7,CSH,28.0 +CMT,1,2,591,3.1,CRD,11.0 +CMT,1,1,446,1.3,CRD,7.5 +CMT,1,1,598,1.8,CSH,9.5 +CMT,1,1,843,4.9,CSH,16.0 +CMT,1,1,565,2.4,CRD,9.5 +CMT,1,1,186,0.6,CSH,4.5 +CMT,2,2,1450,16.1,CRD,52.0 +CMT,1,1,645,1.0,CRD,8.5 +CMT,1,1,450,0.8,CRD,7.0 +CMT,1,1,661,2.3,CRD,10.0 +VTS,1,2,1020,3.05,CRD,13.5 +VTS,1,2,420,1.07,CRD,6.5 +VTS,1,2,1740,7.31,CRD,25.5 +VTS,1,1,600,2.69,CSH,11.0 +VTS,1,1,840,5.37,CRD,18.0 +VTS,1,2,1080,2.32,CRD,13.0 +VTS,1,2,240,0.49,CRD,4.5 +VTS,1,2,480,0.31,CRD,6.5 +VTS,1,2,900,2.98,CRD,12.5 +VTS,1,1,420,2.4,CSH,9.0 +VTS,1,3,360,1.48,CSH,7.5 +VTS,1,1,1140,2.67,CRD,14.0 +VTS,1,2,1200,6.06,CRD,20.0 +VTS,1,1,600,1.53,CRD,8.0 +VTS,1,2,420,1.88,CRD,8.0 +VTS,1,1,780,3.53,CRD,12.5 +VTS,1,1,180,0.85,CRD,5.0 +VTS,1,1,120,0.92,CSH,4.5 +VTS,1,1,120,0.35,CSH,3.5 +VTS,1,1,1200,2.47,CSH,14.0 +VTS,1,2,240,0.98,CSH,5.0 +CMT,1,1,105,0.6,CSH,4.0 +CMT,1,1,420,1.3,CRD,7.5 +CMT,1,1,530,1.6,CRD,8.0 +CMT,1,1,152,0.5,CSH,4.0 +CMT,1,1,586,1.6,CRD,8.5 +CMT,1,1,697,2.8,CRD,11.0 +CMT,1,1,389,1.0,CSH,6.5 +CMT,1,1,127,0.4,CSH,4.0 +CMT,1,1,317,1.2,CSH,6.0 +CMT,1,1,580,1.7,CRD,9.0 +CMT,1,1,291,0.8,CSH,5.5 +CMT,1,1,1212,1.6,CSH,13.5 +CMT,1,1,834,1.8,CRD,10.5 +CMT,1,3,534,1.7,CRD,8.5 +CMT,1,1,462,2.9,CSH,10.5 +CMT,1,1,359,1.8,CRD,7.5 +CMT,1,1,534,1.3,CRD,7.5 +CMT,1,1,275,0.8,CSH,5.5 +CMT,1,1,216,0.6,CRD,4.5 +CMT,1,1,167,1.1,CRD,5.0 +CMT,1,1,540,1.8,CRD,8.5 +CMT,1,2,700,2.8,CSH,11.0 +CMT,1,1,211,0.4,CSH,4.0 +CMT,1,1,602,1.6,CRD,9.0 +CMT,1,1,564,0.9,CRD,7.5 +CMT,1,2,572,0.8,CRD,7.5 +CMT,1,1,298,0.9,CRD,5.5 +CMT,1,1,34,0.3,CSH,3.0 +CMT,1,1,447,1.4,CSH,7.5 +CMT,1,1,190,1.0,CSH,5.0 +CMT,1,1,479,1.2,CRD,7.5 +CMT,1,1,645,2.7,CSH,11.0 +CMT,1,4,691,2.1,CRD,10.5 +CMT,1,4,732,5.6,CSH,18.0 +CMT,1,1,660,1.7,CRD,9.0 +CMT,1,1,941,1.8,CRD,11.5 +CMT,1,1,521,1.4,CRD,8.0 +CMT,1,2,2091,11.0,CRD,37.0 +CMT,1,1,23,0.0,CSH,2.5 +CMT,1,1,137,0.7,CSH,4.5 +CMT,1,1,686,2.4,CSH,10.5 +CMT,1,1,888,2.5,CSH,12.0 +CMT,1,2,1348,3.9,CRD,17.0 +CMT,1,1,985,1.7,CSH,11.5 +CMT,1,1,453,1.3,CSH,7.0 +CMT,1,1,745,1.1,CSH,9.0 +CMT,1,1,1492,2.4,CRD,16.5 +CMT,1,1,467,1.5,CSH,7.5 +CMT,1,1,503,2.2,CSH,9.0 +CMT,1,1,299,1.4,CRD,6.5 +CMT,1,1,303,0.8,CSH,5.5 +CMT,1,1,631,0.8,CSH,8.0 +CMT,1,1,251,1.1,CRD,5.5 +CMT,1,1,493,2.0,CRD,9.0 +CMT,1,2,280,1.0,CSH,6.0 +CMT,1,1,722,4.5,CRD,14.0 +CMT,1,1,428,1.7,CRD,8.0 +CMT,1,1,204,0.5,CRD,4.5 +CMT,1,1,820,1.1,CSH,9.5 +CMT,1,1,425,1.2,CRD,7.0 +CMT,1,1,676,1.8,CRD,9.0 +CMT,1,1,569,1.7,CRD,8.5 +CMT,1,2,293,0.5,CSH,5.0 +CMT,1,1,362,0.9,CRD,6.0 +CMT,1,1,957,3.4,CRD,14.0 +CMT,1,1,341,0.8,CRD,5.5 +CMT,1,1,522,1.3,CRD,8.0 +CMT,1,1,916,3.2,CRD,13.0 +CMT,1,1,315,1.0,CRD,6.0 +CMT,1,1,463,1.1,CRD,6.5 +CMT,1,1,987,4.1,CSH,15.0 +CMT,1,1,141,0.5,CRD,4.0 +CMT,1,1,410,1.3,CRD,7.0 +CMT,1,1,547,2.1,CRD,9.0 +CMT,1,1,362,2.0,CRD,7.5 +CMT,1,1,349,1.0,CSH,6.0 +CMT,1,1,741,2.3,CRD,11.0 +CMT,1,1,672,3.0,CRD,11.5 +CMT,1,2,425,1.1,CRD,7.0 +CMT,1,1,1068,2.2,CRD,12.5 +CMT,1,1,913,1.5,CSH,11.0 +CMT,1,2,337,0.9,CSH,6.0 +CMT,1,1,620,1.3,CRD,8.5 +CMT,1,1,454,1.5,CSH,7.5 +CMT,1,1,358,1.2,CRD,6.5 +CMT,1,1,578,1.1,CRD,7.5 +CMT,1,1,1158,4.6,CRD,18.0 +CMT,1,1,252,1.2,CSH,6.0 +CMT,1,1,713,1.3,CRD,9.0 +CMT,1,1,351,1.0,CRD,6.5 +CMT,1,1,605,1.8,CRD,9.0 +CMT,1,1,151,0.5,CSH,4.0 +CMT,1,1,437,0.9,CSH,6.5 +CMT,1,1,636,1.4,CRD,8.5 +CMT,1,2,385,1.8,CRD,7.5 +CMT,1,3,553,1.9,CSH,9.0 +CMT,1,4,373,1.3,CRD,6.5 +CMT,1,2,716,2.5,CRD,11.0 +CMT,1,1,345,1.6,CSH,7.5 +CMT,1,1,427,2.2,CRD,8.5 +CMT,1,1,639,2.8,CSH,11.5 +CMT,1,3,276,0.8,CSH,5.0 +CMT,1,1,1226,2.7,CRD,15.0 +CMT,1,1,533,2.0,CRD,9.0 +CMT,1,1,184,0.8,CRD,5.0 +CMT,1,1,562,0.9,CSH,7.5 +CMT,1,1,381,0.9,CSH,6.0 +CMT,1,1,214,1.0,CSH,5.5 +CMT,1,1,814,5.8,CSH,19.0 +CMT,1,4,840,2.3,CSH,11.5 +CMT,1,1,933,2.3,CSH,12.0 +CMT,1,1,485,1.3,CRD,7.5 +CMT,1,1,1497,13.4,CRD,37.5 +CMT,1,1,135,0.4,CSH,3.5 +CMT,1,1,798,1.7,CSH,10.5 +CMT,1,1,689,1.9,CSH,9.5 +CMT,1,1,458,2.3,CRD,9.0 +CMT,1,2,70,0.3,CRD,3.0 +CMT,1,2,417,1.8,CSH,8.0 +CMT,1,1,685,3.1,CRD,11.5 +CMT,1,1,362,1.3,CRD,7.0 +CMT,1,1,741,2.4,CRD,11.0 +CMT,1,1,541,1.9,CRD,8.5 +CMT,1,1,787,1.4,CSH,9.5 +CMT,1,1,484,1.0,CSH,7.0 +CMT,1,1,695,1.8,CRD,10.0 +CMT,1,1,424,1.5,CRD,7.5 +CMT,1,1,448,1.0,CRD,6.5 +CMT,1,1,700,1.4,CSH,9.0 +CMT,1,1,324,0.5,CSH,5.0 +CMT,1,1,796,1.7,CSH,10.5 +CMT,1,1,353,2.0,CRD,8.0 +CMT,1,1,358,1.7,CRD,7.0 +CMT,1,1,671,2.6,CRD,10.5 +CMT,1,1,1996,5.2,CRD,23.5 +CMT,1,1,998,3.4,CRD,14.0 +CMT,1,1,30,0.1,CRD,2.5 +CMT,1,1,473,1.7,CRD,8.0 +CMT,1,2,118,0.2,CRD,3.5 +CMT,1,1,352,0.9,CSH,6.0 +CMT,1,1,918,6.2,CRD,20.5 +CMT,1,2,398,1.8,CRD,8.0 +CMT,1,1,312,1.2,CSH,6.5 +CMT,1,2,213,0.7,CSH,4.5 +CMT,1,1,517,1.8,CSH,8.5 +CMT,1,1,1367,4.8,CRD,20.0 +CMT,1,1,1117,5.2,CSH,18.5 +CMT,1,1,872,3.4,CRD,13.5 +CMT,1,1,778,1.2,CRD,9.5 +CMT,1,1,136,0.7,CSH,4.0 +CMT,1,1,619,3.1,CRD,11.5 +CMT,1,1,571,1.8,CSH,8.5 +CMT,1,1,638,1.2,CSH,8.5 +CMT,1,1,537,0.9,CRD,7.5 +CMT,1,1,895,1.4,CSH,10.5 +CMT,1,1,96,0.5,CRD,3.5 +CMT,1,1,299,0.8,CSH,5.5 +CMT,1,1,973,3.5,CSH,14.0 +CMT,1,1,1044,5.0,CRD,16.5 +CMT,1,1,247,1.0,CRD,5.0 +CMT,1,1,356,1.1,CRD,6.5 +CMT,1,1,2000,5.6,CRD,25.5 +CMT,1,1,362,3.0,CSH,10.0 +CMT,1,1,541,2.8,CSH,11.0 +CMT,1,1,224,0.8,CSH,5.0 +CMT,1,2,421,1.4,CRD,7.5 +CMT,1,2,1001,1.2,CRD,11.0 +CMT,1,1,271,0.8,CRD,5.5 +CMT,1,1,266,0.9,CRD,5.5 +CMT,1,1,531,1.5,CSH,8.0 +CMT,1,1,165,0.6,CSH,4.0 +CMT,1,2,817,4.0,CRD,15.0 +CMT,1,1,453,1.2,CRD,7.0 +CMT,1,1,453,1.1,CRD,7.0 +CMT,1,1,966,2.4,CSH,12.5 +CMT,1,1,279,0.3,CSH,4.5 +CMT,1,1,540,1.3,CSH,7.5 +CMT,1,1,259,0.7,CRD,5.0 +CMT,1,1,462,1.3,CSH,7.5 +CMT,1,1,754,1.7,CSH,10.0 +CMT,1,1,491,1.8,CSH,8.5 +CMT,1,1,774,1.9,CSH,10.5 +CMT,1,1,806,2.4,CSH,11.5 +CMT,1,1,226,0.9,CSH,5.5 +CMT,1,2,424,0.7,CSH,6.0 +CMT,1,1,216,0.6,CSH,4.5 +CMT,1,1,215,0.8,CRD,5.0 +CMT,1,2,207,1.3,CSH,5.5 +CMT,1,2,460,1.4,CRD,7.5 +CMT,1,1,1315,2.8,CRD,15.5 +CMT,1,2,153,0.5,CSH,4.0 +CMT,1,1,915,3.1,CSH,13.0 +CMT,1,1,808,2.9,CRD,12.0 +CMT,1,3,796,3.0,CRD,12.0 +CMT,1,2,626,2.2,CRD,10.0 +CMT,1,1,379,0.7,CSH,6.0 +CMT,1,2,529,1.3,CSH,7.5 +CMT,1,1,208,0.8,CSH,5.0 +CMT,1,1,654,1.3,CRD,8.5 +CMT,1,1,950,1.5,CRD,11.0 +CMT,1,1,225,1.4,CSH,6.0 +CMT,1,1,1209,3.9,CRD,16.0 +CMT,1,1,505,1.5,CRD,8.0 +CMT,1,2,480,1.5,CRD,7.5 +CMT,1,2,1010,3.3,CRD,14.5 +CMT,1,1,501,2.2,CSH,9.5 +CMT,1,2,1042,7.5,CRD,23.0 +CMT,1,1,285,0.8,CSH,5.0 +CMT,1,1,735,6.2,CSH,19.0 +CMT,1,1,1218,6.9,CRD,22.5 +CMT,1,1,282,0.9,CRD,5.0 +CMT,1,1,470,2.1,CSH,9.0 +CMT,1,1,109,0.8,CSH,4.5 +CMT,1,1,1317,3.3,CSH,16.0 +CMT,1,1,604,2.0,CRD,9.0 +CMT,1,1,460,0.9,CRD,6.5 +CMT,1,1,336,1.6,CSH,7.5 +CMT,1,1,70,0.5,CRD,3.5 +CMT,1,1,807,3.1,CRD,13.0 +CMT,1,1,1295,4.1,CRD,17.5 +CMT,1,2,565,1.3,CRD,8.0 +CMT,1,2,1611,6.7,CSH,25.0 +CMT,1,2,256,1.2,CSH,6.0 +CMT,1,1,485,1.4,CRD,7.5 +CMT,1,1,603,1.7,CSH,9.0 +CMT,1,2,763,2.0,CRD,11.0 +CMT,1,1,820,2.0,CSH,10.5 +CMT,1,1,137,0.7,CRD,4.5 +CMT,1,1,1170,2.0,CSH,13.0 +CMT,1,1,1061,2.1,CRD,12.5 +CMT,1,1,1029,5.2,CSH,19.0 +CMT,1,1,926,2.4,CRD,12.0 +CMT,1,1,942,1.9,CRD,12.0 +CMT,1,2,1209,2.6,CSH,14.0 +CMT,1,2,448,1.1,CSH,7.0 +CMT,1,1,595,1.1,CSH,8.0 +CMT,1,1,313,0.4,CSH,5.0 +CMT,1,2,197,0.3,CSH,4.0 +CMT,1,1,179,0.4,CSH,4.0 +CMT,1,2,164,0.7,CSH,4.5 +CMT,1,1,194,0.9,CSH,5.0 +CMT,1,1,224,0.8,CRD,5.0 +CMT,1,1,863,8.7,CRD,25.0 +CMT,1,1,371,0.7,CRD,6.0 +CMT,1,1,71,0.0,DIS,3.0 +CMT,1,1,213,0.6,CSH,4.5 +CMT,1,1,251,0.9,CSH,5.0 +CMT,1,1,793,3.6,CSH,13.5 +CMT,1,1,104,0.5,CSH,3.5 +CMT,1,1,153,0.6,CSH,4.5 +CMT,1,1,966,4.3,CSH,15.5 +CMT,1,3,1837,4.3,CRD,21.0 +CMT,1,1,397,1.2,CSH,7.0 +CMT,1,1,256,0.6,CSH,5.0 +CMT,1,1,310,1.3,CRD,6.5 +CMT,1,1,1258,2.0,CRD,13.5 +CMT,1,1,524,1.2,CRD,7.5 +CMT,1,2,442,1.1,CSH,7.0 +CMT,1,1,209,0.9,CRD,5.0 +CMT,5,2,52,0.0,CRD,65.0 +CMT,1,2,388,1.1,CSH,6.5 +CMT,1,2,714,1.8,CSH,9.5 +CMT,1,3,461,2.6,CRD,10.0 +CMT,1,1,856,4.2,CSH,15.0 +CMT,1,1,192,0.7,CSH,4.5 +CMT,1,2,415,1.1,CSH,6.5 +CMT,1,1,438,2.9,CSH,10.0 +CMT,1,1,246,0.5,CSH,4.5 +CMT,1,1,605,1.8,CRD,9.0 +CMT,1,2,737,1.8,CRD,10.0 +CMT,1,1,127,0.6,CRD,4.0 +CMT,1,1,259,0.9,CRD,5.0 +CMT,1,1,107,0.4,CSH,3.5 +CMT,1,1,1076,6.0,CSH,21.0 +CMT,1,1,114,0.8,CRD,4.0 +CMT,1,1,312,0.7,CSH,5.5 +CMT,1,1,501,2.1,CSH,9.0 +CMT,1,1,199,0.7,CSH,4.5 +CMT,1,1,1362,4.5,CRD,19.0 +CMT,1,1,181,0.5,CRD,4.0 +CMT,1,2,269,0.6,CRD,5.0 +CMT,1,1,678,1.2,CRD,8.5 +CMT,1,1,810,3.5,CRD,13.5 +CMT,1,2,632,1.0,CRD,8.0 +CMT,1,1,523,1.3,CRD,7.5 +CMT,1,1,511,1.8,CRD,8.5 +CMT,1,1,611,1.7,CRD,9.0 +CMT,1,1,599,1.7,CSH,9.0 +CMT,1,1,497,1.1,CRD,7.5 +CMT,1,1,678,1.6,CSH,9.5 +CMT,1,1,199,0.6,CSH,4.5 +CMT,1,1,297,2.0,CRD,7.5 +CMT,1,1,389,1.3,CSH,6.5 +CMT,1,1,376,0.8,CSH,6.0 +CMT,1,1,506,1.2,CRD,7.5 +CMT,1,1,400,1.2,CRD,6.5 +CMT,1,1,965,2.7,CRD,12.5 +CMT,1,1,421,0.6,CRD,6.0 +CMT,1,1,1512,3.4,CRD,17.0 +CMT,1,1,741,1.7,CRD,10.0 +CMT,1,1,384,1.3,CRD,7.0 +CMT,2,1,2381,16.3,CSH,52.0 +CMT,1,1,101,0.4,CRD,3.5 +CMT,1,1,232,0.8,CSH,5.0 +CMT,1,1,1016,1.8,CRD,12.0 +CMT,1,2,344,0.7,CSH,5.5 +CMT,1,1,696,2.0,CRD,10.5 +CMT,1,1,1666,3.6,CRD,19.5 +CMT,1,1,786,1.7,CRD,10.0 +CMT,1,1,417,2.7,CRD,9.5 +CMT,1,1,966,2.1,CRD,12.0 +CMT,1,1,648,2.0,CSH,10.0 +CMT,1,1,271,0.8,CRD,5.0 +CMT,1,3,142,0.4,CRD,4.0 +CMT,1,1,389,1.5,CRD,7.0 +CMT,1,1,326,1.7,CRD,7.0 +CMT,1,3,1073,1.8,CSH,12.0 +CMT,1,1,974,3.2,CRD,14.0 +CMT,1,1,1380,3.2,CSH,16.5 +CMT,1,1,135,0.6,CSH,4.0 +CMT,1,1,430,1.3,CSH,7.5 +CMT,1,1,1316,3.8,CSH,17.0 +CMT,1,1,773,2.6,CRD,11.5 +CMT,1,1,991,9.3,CRD,26.5 +CMT,1,1,687,2.1,CSH,9.5 +CMT,1,1,792,8.4,CRD,23.5 +CMT,1,2,1151,2.7,CRD,13.5 +CMT,1,1,158,0.5,CRD,4.0 +CMT,1,1,788,2.4,CRD,11.0 +CMT,1,1,1261,2.6,CRD,15.0 +CMT,1,1,781,1.6,CSH,10.0 +CMT,1,1,766,2.4,CRD,11.5 +CMT,1,2,171,0.6,CSH,4.5 +CMT,1,1,573,2.3,CRD,10.0 +CMT,2,4,1445,17.6,CRD,52.0 +CMT,1,2,1884,9.4,CRD,31.0 +CMT,1,1,154,0.4,CSH,4.0 +CMT,1,1,473,1.4,CRD,7.5 +CMT,1,1,872,5.5,CRD,17.5 +CMT,1,1,713,2.0,CSH,10.0 +CMT,1,2,775,3.8,CSH,14.0 +CMT,1,1,1793,12.3,CSH,37.0 +CMT,1,1,401,2.3,CSH,9.0 +CMT,1,1,951,2.9,CRD,13.5 +CMT,1,1,380,1.5,CRD,7.0 +CMT,1,1,1300,3.1,CRD,16.0 +CMT,1,1,293,0.6,CRD,5.5 +CMT,1,1,291,1.0,CSH,5.5 +CMT,1,1,430,0.7,CSH,6.0 +CMT,1,1,458,2.5,CSH,9.5 +CMT,1,1,639,1.9,CSH,9.5 +CMT,1,1,292,1.0,CRD,5.5 +CMT,1,3,223,1.0,CRD,5.5 +CMT,1,1,241,0.8,CRD,5.0 +CMT,1,1,1227,3.0,CSH,14.5 +CMT,1,1,614,1.9,CSH,9.0 +CMT,1,1,950,2.3,CRD,12.0 +CMT,1,1,679,1.5,CSH,9.0 +CMT,1,1,402,1.0,CRD,6.5 +CMT,1,1,1532,4.0,CRD,18.5 +CMT,1,2,1047,2.1,CRD,12.5 +CMT,1,1,269,0.5,CRD,5.0 +CMT,1,1,1067,1.2,CRD,12.0 +CMT,1,1,399,1.5,CSH,7.5 +CMT,1,2,546,1.3,CSH,7.5 +CMT,1,1,627,1.8,CRD,9.0 +CMT,1,1,93,0.5,CSH,3.5 +CMT,1,1,252,0.7,CRD,5.0 +CMT,1,1,687,3.8,CSH,13.0 +CMT,1,1,833,2.8,CRD,12.0 +CMT,1,1,886,2.6,CRD,12.0 +CMT,1,1,95,0.6,CSH,3.5 +CMT,1,1,502,0.9,CRD,7.0 +CMT,1,1,535,2.9,CRD,10.5 +CMT,1,2,305,0.5,CSH,5.0 +CMT,1,1,420,0.8,CSH,6.0 +CMT,1,1,1339,6.0,CSH,21.5 +CMT,1,1,261,1.4,CRD,6.0 +CMT,1,1,422,2.1,CSH,9.0 +CMT,1,1,1019,1.9,CRD,12.0 +CMT,1,1,1251,8.2,CRD,26.0 +CMT,1,2,580,2.3,CSH,10.0 +CMT,1,1,476,1.6,CRD,7.5 +CMT,1,1,378,0.9,CRD,6.0 +CMT,1,1,288,0.7,CSH,5.0 +CMT,1,1,435,1.0,CRD,6.5 +CMT,1,1,665,2.1,CRD,10.0 +CMT,1,1,145,0.8,CRD,4.5 +CMT,1,1,281,0.8,CSH,5.5 +CMT,1,2,463,0.9,CRD,6.5 +CMT,1,1,953,1.5,CRD,11.0 +CMT,1,1,219,0.8,CSH,5.0 +CMT,1,1,446,1.0,CRD,6.5 +CMT,1,1,251,0.6,CRD,5.0 +CMT,1,1,886,7.6,CSH,22.5 +CMT,1,1,524,1.1,CRD,7.5 +CMT,1,2,148,0.6,CSH,4.0 +CMT,1,1,1053,5.2,CSH,17.5 +CMT,1,1,144,0.4,CSH,3.5 +CMT,2,2,2682,18.3,CRD,52.0 +CMT,1,3,438,1.2,CSH,7.0 +CMT,1,2,563,2.8,CSH,10.5 +CMT,1,1,1910,16.7,CSH,47.5 +CMT,1,1,261,0.5,CSH,4.5 +CMT,1,1,176,0.5,CSH,4.0 +CMT,1,3,869,2.3,CSH,11.0 +CMT,1,1,990,4.1,CRD,15.5 +CMT,1,1,58,0.1,CSH,3.0 +CMT,1,1,777,3.1,CRD,12.0 +CMT,1,1,845,3.2,CRD,12.5 +CMT,1,1,520,2.1,CSH,9.0 +CMT,1,1,646,2.3,CRD,10.0 +CMT,1,2,2433,14.9,CSH,44.5 +CMT,1,1,389,1.2,CRD,6.5 +CMT,1,2,588,2.0,CSH,9.0 +CMT,1,1,836,2.9,CRD,12.5 +CMT,1,3,647,2.3,CRD,10.0 +CMT,1,1,613,2.1,CRD,9.5 +CMT,1,1,712,2.0,CRD,9.5 +CMT,1,1,673,2.6,CRD,10.5 +CMT,1,2,726,2.3,CRD,10.5 +CMT,1,1,316,0.7,CRD,5.5 +CMT,1,2,1217,2.5,CRD,14.0 +CMT,1,1,703,1.6,CSH,9.5 +CMT,1,2,229,0.7,CRD,4.5 +CMT,1,1,323,1.2,CRD,6.0 +CMT,1,1,518,1.3,CRD,7.5 +CMT,1,2,725,1.8,CRD,9.5 +CMT,1,1,1052,3.1,CSH,14.0 +CMT,1,1,925,4.0,CRD,15.0 +CMT,1,3,690,3.6,CSH,13.0 +CMT,2,3,2118,17.9,CRD,52.0 +CMT,1,2,1045,6.4,CRD,20.5 +CMT,1,1,435,1.5,CRD,7.5 +CMT,1,1,433,1.1,CRD,6.5 +CMT,1,1,603,3.2,CRD,11.0 +CMT,1,1,697,2.3,CSH,10.5 +CMT,1,1,430,0.8,CSH,6.0 +CMT,1,1,225,1.6,CRD,6.5 +CMT,1,3,202,0.8,CRD,4.5 +CMT,1,1,848,3.1,CRD,13.0 +CMT,1,1,364,1.9,CRD,7.5 +CMT,1,1,807,3.1,CRD,12.0 +CMT,1,2,451,1.9,CRD,8.0 +CMT,1,1,188,1.6,CSH,6.5 +CMT,2,2,2470,18.2,CSH,52.0 +CMT,1,1,393,1.4,CRD,7.0 +CMT,1,2,567,4.4,CSH,14.0 +CMT,1,2,481,1.8,CRD,8.5 +CMT,1,1,474,2.1,CRD,9.0 +CMT,1,1,535,3.4,CRD,11.5 +CMT,1,2,380,1.2,CSH,6.5 +CMT,1,1,251,1.2,CSH,6.0 +CMT,1,1,1362,4.4,CRD,18.0 +CMT,1,1,674,3.3,CRD,12.0 +CMT,1,1,778,2.9,CRD,11.5 +CMT,1,1,573,2.9,CSH,10.5 +CMT,1,1,659,2.6,CRD,10.5 +CMT,1,3,312,0.8,CSH,5.0 +CMT,1,1,696,3.6,CSH,12.5 +CMT,1,1,2128,13.9,CRD,40.5 +CMT,1,1,1197,10.6,CRD,31.0 +CMT,1,1,864,3.9,CRD,13.5 +CMT,1,1,146,0.3,CSH,3.5 +CMT,1,3,505,1.2,CRD,7.5 +CMT,1,1,747,1.6,CRD,9.5 +CMT,1,1,265,1.2,CRD,6.0 +CMT,1,1,545,1.4,CRD,8.0 +CMT,1,1,382,1.2,CRD,6.5 +CMT,1,2,477,1.6,CRD,7.5 +CMT,1,1,141,0.9,CRD,4.5 +CMT,1,1,349,1.3,CRD,6.0 +CMT,1,1,882,7.6,CRD,23.0 +CMT,1,1,244,0.6,CSH,5.0 +CMT,1,1,328,1.1,CSH,6.0 +CMT,1,2,1332,6.5,CSH,22.5 +CMT,1,1,184,0.3,CSH,4.0 +CMT,1,1,397,1.7,CRD,7.5 +CMT,1,1,2936,13.5,CRD,47.0 +CMT,1,1,1215,3.4,CSH,15.5 +CMT,1,1,768,2.7,CRD,11.0 +CMT,1,1,377,0.7,CSH,6.0 +CMT,1,2,457,3.7,CSH,12.0 +CMT,1,2,718,4.9,CRD,16.0 +CMT,1,1,875,2.8,CSH,13.0 +CMT,1,1,1249,5.3,CRD,19.0 +CMT,2,1,2608,17.0,CRD,52.0 +CMT,1,2,683,1.8,CRD,9.5 +CMT,1,2,656,1.5,CRD,8.5 +CMT,1,1,1366,13.6,CRD,38.0 +CMT,2,2,2184,28.2,CRD,52.0 +CMT,1,1,624,1.0,CSH,8.0 +CMT,1,2,477,2.4,CRD,9.0 +CMT,1,1,797,3.0,CSH,12.0 +CMT,1,1,2184,8.7,CRD,30.5 +CMT,1,1,827,4.9,CRD,16.0 +CMT,1,1,430,2.7,CRD,9.5 +CMT,1,1,717,3.1,CRD,11.5 +CMT,1,1,779,6.0,CSH,19.0 +CMT,1,1,609,1.6,CSH,9.0 +CMT,1,3,577,2.9,CRD,10.5 +CMT,1,1,395,1.7,CSH,7.5 +CMT,1,1,261,0.7,CRD,5.0 +CMT,1,1,281,0.6,CSH,5.0 +CMT,1,1,528,2.1,CRD,9.0 +CMT,1,3,700,1.5,CSH,9.0 +CMT,1,1,631,2.0,CRD,9.5 +CMT,1,1,974,2.0,CRD,11.5 +CMT,1,1,511,1.0,CSH,7.0 +CMT,1,1,486,1.5,CSH,7.5 +CMT,1,1,1538,4.1,CSH,19.0 +CMT,1,1,1626,4.1,CSH,19.5 +CMT,1,1,705,1.1,CSH,9.0 +CMT,1,1,1404,4.5,CRD,18.5 +CMT,1,2,1235,4.4,CRD,17.0 +CMT,2,2,2517,18.3,CRD,52.0 +CMT,1,2,400,0.9,CSH,6.5 +CMT,1,1,342,1.2,CRD,6.0 +CMT,1,2,949,10.8,CRD,30.0 +CMT,1,2,280,0.5,CSH,5.0 +CMT,1,1,1272,8.3,CRD,25.5 +CMT,1,1,865,3.3,CRD,13.0 +CMT,1,1,1768,10.7,CRD,30.5 +CMT,1,1,663,2.0,CRD,9.5 +CMT,1,1,229,0.7,CSH,5.0 +CMT,2,1,2004,17.1,CSH,52.0 +CMT,1,2,138,0.7,CSH,4.0 +CMT,1,2,646,2.9,CSH,11.0 +CMT,1,1,1180,7.3,CSH,23.5 +CMT,1,2,436,0.8,CSH,6.5 +CMT,1,1,179,0.6,CSH,4.0 +CMT,1,2,1069,9.7,CRD,28.0 +CMT,1,1,426,3.7,CSH,12.0 +CMT,1,2,804,4.3,CSH,14.0 +CMT,2,1,3258,17.5,CSH,52.0 +CMT,1,3,353,0.9,CSH,6.0 +CMT,1,1,374,1.2,CSH,7.0 +CMT,1,1,1125,5.3,CRD,18.5 +CMT,1,1,483,1.9,CSH,8.5 +CMT,1,1,495,1.7,CSH,8.5 +CMT,1,1,211,0.8,CSH,4.5 +CMT,1,1,521,1.8,CSH,8.5 +CMT,1,1,557,2.7,CRD,10.5 +CMT,1,2,1112,10.0,CRD,28.5 +CMT,1,1,227,0.9,CSH,5.5 +CMT,1,2,1094,1.9,CRD,12.5 +CMT,1,1,631,2.3,CSH,9.5 +CMT,1,1,144,0.5,CSH,4.0 +CMT,1,1,246,0.7,CSH,5.0 +CMT,1,1,728,3.7,CRD,12.5 +CMT,1,1,2120,10.1,CRD,34.0 +CMT,1,1,261,0.8,CRD,5.0 +CMT,1,1,498,3.1,CSH,10.0 +CMT,2,1,3024,18.3,CSH,52.0 +CMT,1,1,592,0.9,CSH,8.0 +CMT,1,1,564,2.3,CRD,9.5 +CMT,1,1,664,2.0,CRD,10.0 +CMT,1,1,147,0.6,CSH,4.0 +CMT,1,1,426,1.5,CRD,7.5 +CMT,1,2,463,1.2,CRD,7.0 +CMT,1,1,250,0.7,CSH,5.0 +CMT,1,3,506,1.6,CSH,8.0 +CMT,1,1,597,1.8,CRD,8.5 +CMT,2,1,2880,17.6,CRD,52.0 +CMT,1,1,214,0.8,CRD,4.5 +CMT,1,1,178,0.6,CSH,4.5 +CMT,1,1,835,7.0,CRD,21.0 +CMT,1,1,804,5.6,CSH,17.0 +CMT,1,1,592,1.9,CRD,9.0 +CMT,1,1,614,1.9,CRD,9.0 +CMT,1,1,783,3.6,CSH,13.5 +CMT,1,1,984,6.7,CRD,21.0 +CMT,1,1,84,0.4,CSH,3.5 +CMT,1,1,213,0.5,CRD,4.5 +CMT,1,2,535,2.7,CSH,10.0 +CMT,1,1,391,2.9,CRD,10.0 +CMT,1,1,380,1.4,CSH,7.0 +CMT,1,1,456,1.3,CRD,7.5 +CMT,1,1,77,0.5,CSH,3.5 +CMT,1,1,570,2.4,CRD,10.0 +CMT,1,1,329,0.9,CSH,6.0 +CMT,1,1,702,2.7,CSH,11.0 +CMT,1,1,422,2.1,CSH,8.0 +CMT,1,2,541,1.8,CRD,8.5 +CMT,1,1,226,0.8,CRD,5.0 +CMT,1,1,1013,7.9,CRD,24.0 +CMT,1,1,444,2.9,CSH,10.0 +CMT,1,2,586,1.6,CRD,9.0 +CMT,1,1,872,2.3,CRD,11.0 +CMT,1,2,555,3.1,CSH,11.0 +CMT,1,2,327,1.8,CSH,7.5 +CMT,1,1,1015,4.3,CSH,16.5 +CMT,1,2,639,2.9,CRD,11.0 +CMT,1,1,354,0.7,CSH,6.0 +CMT,2,1,1549,18.7,CRD,52.0 +CMT,1,1,405,1.2,CRD,6.5 +CMT,1,1,272,2.0,CRD,7.5 +CMT,1,2,684,1.3,CRD,9.0 +CMT,1,1,758,3.2,CRD,12.0 +CMT,1,2,891,3.3,CRD,13.0 +CMT,1,2,1086,2.3,CSH,13.0 +CMT,1,2,408,1.7,CRD,7.5 +CMT,1,1,1448,4.1,CRD,19.0 +CMT,2,1,2718,17.4,CRD,52.0 +CMT,1,2,379,1.4,CRD,6.5 +CMT,1,1,486,1.4,CSH,7.5 +CMT,1,2,396,1.4,CSH,7.0 +CMT,1,1,442,0.5,CSH,6.0 +CMT,1,1,270,0.8,CSH,5.0 +CMT,1,1,570,0.9,CSH,7.5 +CMT,1,1,1731,6.2,CRD,24.5 +CMT,1,1,454,1.7,CSH,8.0 +CMT,1,1,334,0.9,CSH,6.0 +CMT,1,1,166,0.6,CRD,4.0 +CMT,1,1,401,1.0,CSH,6.5 +CMT,1,1,470,3.1,CSH,10.0 +CMT,1,1,688,1.9,CRD,9.5 +CMT,1,1,611,1.5,CRD,8.5 +CMT,2,1,3010,18.6,CRD,52.0 +CMT,1,1,721,1.9,CRD,10.0 +CMT,1,1,805,4.6,CSH,16.0 +CMT,1,2,445,1.2,CRD,7.0 +CMT,1,1,769,2.7,CSH,11.5 +CMT,1,3,3255,18.3,CSH,53.0 +CMT,1,1,1039,5.1,CRD,17.5 +CMT,1,1,823,3.9,CRD,14.0 +CMT,1,2,1663,9.0,CRD,29.5 +CMT,1,1,2431,10.0,CRD,35.5 +CMT,1,1,1485,10.9,CSH,32.5 +CMT,1,2,882,3.1,CRD,13.0 +CMT,1,1,1228,2.7,CRD,14.5 +CMT,1,1,991,3.4,CRD,14.5 +CMT,1,1,858,5.0,CSH,16.0 +CMT,1,1,410,1.9,CRD,8.0 +CMT,1,1,582,4.8,CRD,15.0 +CMT,1,2,758,2.8,CRD,11.5 +CMT,1,1,410,1.2,CRD,6.5 +CMT,1,2,436,1.7,CRD,7.5 +CMT,1,3,622,2.2,CSH,10.0 +CMT,1,1,1058,5.6,CSH,18.5 +CMT,1,1,406,1.2,CSH,7.0 +CMT,1,1,1063,7.6,CRD,22.5 +CMT,1,1,121,0.6,CSH,4.0 +CMT,1,1,576,1.7,CRD,8.5 +CMT,1,1,387,1.2,CRD,6.5 +CMT,2,1,2221,15.5,CRD,52.0 +CMT,1,1,925,1.9,CRD,11.5 +CMT,1,1,545,1.9,CSH,8.5 +CMT,1,1,319,0.8,CSH,5.5 +CMT,1,2,849,6.7,CSH,20.5 +CMT,1,1,989,4.4,CRD,16.0 +CMT,1,1,2023,16.5,CRD,45.0 +CMT,1,1,1510,9.4,CRD,29.0 +CMT,1,2,783,2.0,CRD,10.5 +CMT,1,1,214,0.9,CRD,5.0 +CMT,1,3,846,2.9,CSH,12.5 +CMT,1,1,604,3.2,CRD,12.0 +CMT,1,1,290,1.3,CSH,6.0 +CMT,1,2,1427,17.5,CSH,47.5 +CMT,1,1,423,1.0,CSH,6.5 +CMT,1,1,455,0.8,CSH,6.5 +CMT,1,1,352,1.0,CRD,6.0 +CMT,1,1,386,1.3,CSH,6.5 +CMT,1,2,471,1.6,CSH,8.0 +CMT,1,1,1368,10.4,CSH,30.5 +CMT,1,2,253,1.3,CRD,5.5 +CMT,1,1,395,1.3,CSH,6.5 +CMT,1,1,206,0.6,CSH,4.5 +CMT,1,1,440,2.1,CRD,8.0 +CMT,1,1,342,1.5,CSH,7.0 +CMT,2,1,198,19.2,CRD,52.0 +CMT,1,1,158,0.4,CSH,4.0 +CMT,1,2,1210,6.7,CRD,22.0 +CMT,1,1,585,2.6,CSH,9.5 +CMT,1,1,416,1.1,CRD,6.5 +CMT,1,2,1233,3.6,CRD,17.0 +CMT,1,2,785,4.5,CSH,14.5 +CMT,1,1,151,1.1,CSH,5.0 +CMT,1,2,343,0.8,CSH,5.5 +CMT,1,1,134,0.6,CRD,4.0 +CMT,1,2,1191,7.5,CRD,23.0 +CMT,1,1,318,1.1,CSH,6.0 +CMT,1,1,518,2.7,CSH,9.5 +CMT,1,2,798,2.4,CSH,10.5 +CMT,1,1,660,2.1,CSH,10.0 +CMT,1,1,662,2.2,CRD,10.0 +CMT,1,1,501,1.2,CRD,7.5 +CMT,1,1,891,8.7,CRD,25.0 +CMT,1,1,274,0.7,CSH,5.0 +CMT,1,1,372,1.2,CRD,6.5 +CMT,1,1,762,6.7,CRD,20.0 +CMT,1,1,550,1.6,CRD,8.5 +CMT,1,1,191,0.5,CSH,4.0 +CMT,1,2,906,8.2,CRD,24.0 +CMT,1,2,913,1.8,CRD,12.0 +CMT,1,2,1245,3.6,CSH,16.0 +CMT,1,1,288,0.7,CRD,5.5 +CMT,1,1,254,0.7,CSH,5.0 +CMT,1,1,319,0.9,CSH,6.0 +CMT,1,1,862,6.4,CSH,20.0 +CMT,1,1,783,5.3,CRD,17.5 +CMT,2,2,2726,17.0,CSH,52.0 +CMT,1,3,138,0.9,CRD,4.5 +CMT,1,1,553,1.6,CRD,8.0 +CMT,1,1,153,0.6,CSH,4.0 +CMT,1,1,177,0.8,CSH,4.5 +CMT,1,2,410,0.8,CRD,6.5 +CMT,1,1,550,2.2,CRD,9.5 +CMT,1,1,433,1.6,CRD,7.5 +CMT,1,1,349,1.7,CRD,7.0 +CMT,1,1,456,1.2,CSH,7.0 +CMT,1,2,451,2.1,CRD,8.5 +CMT,1,1,345,1.7,CRD,7.0 +CMT,1,1,863,2.2,CRD,11.5 +CMT,1,1,618,1.8,CRD,9.0 +CMT,1,1,343,1.4,CSH,6.5 +CMT,1,1,418,0.8,CSH,6.5 +CMT,1,2,355,1.6,CRD,7.0 +CMT,1,2,698,2.1,CRD,10.0 +CMT,1,1,526,1.7,CSH,8.0 +CMT,1,1,375,1.0,CSH,6.5 +CMT,1,1,852,3.6,CRD,14.0 +CMT,1,2,1207,5.6,CRD,19.5 +CMT,1,2,439,1.6,CRD,8.0 +CMT,1,1,1306,5.7,CRD,20.0 +CMT,1,1,202,0.6,CSH,4.5 +CMT,1,1,1017,2.6,CSH,12.5 +CMT,1,1,1112,9.7,CRD,28.5 +CMT,1,1,380,1.2,CRD,6.5 +CMT,1,3,749,3.1,CRD,12.0 +CMT,1,1,1597,4.0,CRD,18.0 +CMT,1,1,329,1.6,CSH,7.0 +CMT,1,1,1124,8.8,CSH,26.0 +CMT,1,1,466,1.9,CRD,8.0 +CMT,1,1,1476,11.4,CRD,33.5 +CMT,1,2,420,1.1,CRD,6.5 +CMT,1,1,398,2.4,CSH,8.5 +CMT,1,1,214,0.9,CRD,5.0 +CMT,1,1,980,8.3,CRD,24.5 +CMT,1,2,1020,0.9,CSH,11.0 +CMT,1,2,261,0.7,CRD,4.5 +CMT,1,1,1002,5.0,CRD,16.5 +CMT,1,1,274,1.8,CRD,7.5 +CMT,1,1,824,3.9,CRD,14.5 +CMT,1,1,1594,11.4,CRD,34.0 +CMT,1,1,94,0.3,CSH,3.5 +CMT,1,1,3334,5.6,CSH,32.5 +CMT,1,1,800,2.8,CRD,12.0 +CMT,1,1,382,2.6,CRD,9.5 +CMT,1,1,428,1.7,CSH,7.5 +CMT,1,1,437,3.4,CSH,11.5 +CMT,1,1,745,3.0,CRD,12.0 +CMT,1,1,237,0.4,CSH,4.5 +CMT,1,1,952,3.1,CSH,13.5 +CMT,1,1,605,1.9,CSH,9.0 +CMT,1,1,690,3.7,CRD,13.5 +CMT,1,1,355,1.4,CRD,6.5 +CMT,1,1,971,2.6,CRD,12.0 +CMT,1,2,1127,6.7,CSH,21.5 +CMT,1,1,1149,1.8,CRD,13.0 +CMT,1,1,1201,6.2,CSH,20.0 +CMT,1,1,662,3.1,CSH,12.0 +CMT,1,1,508,1.1,CSH,7.0 +CMT,1,1,614,3.8,CSH,12.5 +CMT,1,1,300,1.3,CRD,6.5 +CMT,1,1,579,3.1,CRD,11.0 +CMT,1,1,737,4.0,CSH,14.0 +CMT,1,1,1103,5.0,CSH,18.0 +CMT,1,1,2229,18.1,CSH,50.0 +CMT,1,1,780,3.5,CRD,13.0 +CMT,1,1,477,1.1,CRD,7.0 +CMT,1,1,1523,4.6,CRD,19.5 +CMT,1,1,619,2.4,CRD,9.5 +CMT,1,4,1378,4.1,CSH,17.5 +CMT,1,1,674,3.1,CRD,11.5 +CMT,1,1,895,2.4,CSH,11.5 +CMT,1,1,204,0.7,CRD,4.5 +CMT,1,1,103,0.4,CRD,3.5 +CMT,1,1,689,3.5,CSH,13.0 +CMT,1,3,995,4.8,CRD,17.0 +CMT,1,1,603,2.9,CRD,11.5 +CMT,1,1,423,0.4,CSH,6.0 +CMT,1,1,477,1.0,CRD,7.0 +CMT,1,1,664,1.7,CRD,9.0 +CMT,1,1,254,0.8,CSH,5.0 +CMT,1,1,406,1.3,CSH,7.0 +CMT,1,1,481,2.5,CRD,9.0 +CMT,1,1,514,2.2,CRD,9.0 +CMT,1,1,829,4.3,CRD,14.5 +CMT,1,1,273,0.7,CRD,5.0 +CMT,1,1,1112,4.0,CSH,16.0 +CMT,1,2,721,1.9,CSH,10.0 +CMT,1,1,623,1.9,CRD,9.5 +CMT,1,1,259,1.8,CSH,7.0 +CMT,1,1,712,2.1,CRD,10.0 +CMT,1,2,579,1.1,CSH,7.5 +CMT,1,1,182,0.6,CRD,4.5 +CMT,1,1,1172,9.6,CRD,29.0 +CMT,1,2,449,1.4,CSH,7.5 +CMT,2,2,2800,18.0,CSH,52.0 +CMT,1,1,355,1.2,CSH,6.5 +CMT,1,2,1016,5.7,CSH,19.0 +CMT,1,2,350,0.7,CSH,5.5 +CMT,1,1,199,0.8,CSH,5.0 +CMT,1,1,728,4.6,CSH,15.5 +CMT,1,1,987,4.4,CSH,16.5 +CMT,1,2,895,4.1,CSH,14.5 +CMT,1,1,644,2.2,CSH,10.5 +CMT,1,2,383,1.3,CSH,7.0 +CMT,1,1,558,2.2,CSH,9.5 +CMT,1,3,309,0.6,CSH,5.0 +CMT,1,1,926,1.7,CRD,11.0 +CMT,1,1,385,1.7,CRD,8.0 +CMT,1,1,571,2.4,CSH,9.5 +CMT,1,1,208,0.9,CRD,5.0 +CMT,1,1,108,0.6,CRD,4.0 +CMT,1,1,188,0.6,CSH,4.5 +CMT,1,1,730,2.7,CRD,11.5 +CMT,1,1,386,0.9,CRD,6.0 +CMT,1,2,1152,6.3,CRD,21.0 +CMT,1,1,617,1.6,CSH,8.5 +CMT,1,3,315,0.8,CRD,5.5 +CMT,1,1,676,2.5,CSH,10.5 +CMT,1,1,425,1.1,CRD,6.5 +CMT,1,4,479,1.8,CSH,8.0 +CMT,1,1,431,1.0,CRD,6.5 +CMT,1,1,346,1.4,CSH,6.5 +CMT,1,2,732,2.4,CRD,11.0 +CMT,1,1,1476,10.4,CSH,32.0 +CMT,1,2,789,4.6,CRD,15.0 +CMT,1,2,748,3.8,CSH,14.0 +CMT,1,1,280,0.9,CSH,5.5 +CMT,1,1,924,2.6,CRD,12.0 +CMT,1,1,959,2.7,CSH,12.5 +CMT,1,1,223,1.1,CRD,5.5 +CMT,1,2,413,1.5,CSH,7.5 +CMT,1,2,646,2.5,CSH,11.0 +CMT,1,1,74,0.5,CSH,3.5 +CMT,1,1,3052,24.0,CSH,66.0 +CMT,1,1,426,1.1,CRD,6.5 +CMT,1,1,584,2.0,CRD,9.0 +CMT,1,2,796,3.1,CSH,12.5 +CMT,1,1,212,0.5,CSH,4.5 +CMT,1,1,397,2.0,CRD,8.0 +CMT,1,1,1943,7.9,CRD,28.5 +CMT,1,2,313,1.1,CSH,6.0 +CMT,1,1,1021,3.7,CRD,15.5 +CMT,1,1,348,1.0,CSH,6.0 +CMT,1,2,1143,5.6,CRD,18.5 +CMT,1,1,36,0.0,NOC,2.5 +CMT,1,1,565,1.7,CRD,8.5 +CMT,1,3,1163,3.3,CRD,15.0 +CMT,1,2,730,2.0,CSH,9.5 +CMT,1,1,579,2.8,CRD,11.0 +CMT,1,1,220,0.9,CRD,5.0 +CMT,1,1,470,1.7,CRD,8.0 +CMT,1,1,596,1.7,CSH,8.5 +CMT,1,1,146,0.5,CSH,4.0 +CMT,1,1,1049,2.4,CSH,12.0 +CMT,1,2,541,2.5,CRD,9.5 +CMT,1,1,560,2.9,CSH,11.0 +CMT,1,2,543,1.2,CSH,8.0 +CMT,1,2,265,0.9,CRD,5.5 +CMT,1,1,680,3.0,CRD,11.0 +CMT,1,1,924,3.2,CSH,13.0 +CMT,1,1,363,1.0,CRD,6.0 +CMT,1,2,873,2.9,CSH,12.5 +CMT,1,1,284,1.1,CRD,6.0 +CMT,1,1,849,4.9,CRD,17.0 +CMT,1,1,188,0.8,CSH,4.5 +CMT,2,2,2152,18.9,CRD,52.0 +CMT,1,2,786,1.9,CRD,10.5 +CMT,1,1,304,1.3,CSH,6.0 +CMT,1,2,538,1.9,CSH,9.0 +CMT,1,1,442,1.3,CSH,7.0 +CMT,1,1,396,1.8,CRD,7.5 +CMT,1,1,1156,11.8,CRD,33.5 +CMT,1,1,1453,9.1,CRD,29.0 +CMT,1,1,832,3.6,CSH,13.5 +CMT,1,3,466,0.7,CSH,6.0 +CMT,1,1,668,2.7,CRD,11.0 +CMT,1,2,1504,7.4,CSH,25.5 +CMT,1,2,643,3.0,CRD,12.0 +CMT,1,2,854,2.3,CRD,11.5 +CMT,1,2,711,2.9,CSH,11.0 +CMT,1,2,385,0.8,CSH,6.0 +CMT,1,1,209,0.9,CRD,5.0 +CMT,1,1,160,1.1,CSH,5.0 +CMT,1,1,196,0.7,CSH,4.5 +CMT,1,1,152,0.2,CSH,3.5 +CMT,1,2,608,3.2,CSH,11.5 +CMT,1,1,378,0.8,CSH,6.0 +CMT,1,1,751,3.4,CRD,12.5 +CMT,1,1,542,1.5,CRD,8.0 +CMT,1,1,2232,8.7,CRD,31.5 +CMT,1,1,1672,8.9,CRD,29.5 +CMT,1,1,872,3.5,CSH,13.5 +CMT,1,1,578,3.9,CRD,13.5 +CMT,1,1,1274,7.6,CRD,24.5 +CMT,1,1,247,0.7,CRD,5.0 +CMT,1,1,164,0.7,CRD,4.5 +CMT,1,2,1234,5.6,CRD,19.0 +CMT,1,1,246,1.0,CSH,5.5 +CMT,1,1,368,1.2,CSH,6.5 +CMT,1,3,872,4.1,CSH,15.0 +CMT,1,1,155,0.4,CRD,4.0 +CMT,1,1,554,2.5,CRD,10.0 +CMT,1,1,620,2.5,CRD,10.5 +CMT,1,1,223,1.6,CSH,6.5 +CMT,1,1,774,2.6,CSH,11.5 +CMT,1,2,479,1.3,CRD,7.0 +CMT,1,1,216,0.7,CRD,4.5 +CMT,1,1,1144,4.6,CRD,16.5 +CMT,1,1,307,1.2,CSH,6.0 +CMT,1,2,479,1.7,CRD,8.0 +CMT,1,1,1020,4.7,CSH,17.5 +CMT,1,1,1253,4.0,CRD,17.0 +CMT,1,2,530,1.0,CSH,7.5 +CMT,1,1,913,3.8,CSH,14.5 +CMT,1,1,141,1.0,CRD,5.0 +CMT,1,2,433,1.4,CSH,7.0 +CMT,1,1,528,1.6,CRD,8.0 +CMT,1,2,386,1.1,CSH,6.5 +CMT,1,1,701,6.0,CRD,18.0 +CMT,1,2,912,4.3,CRD,15.0 +CMT,1,1,2045,4.4,CSH,17.0 +CMT,1,1,463,1.3,CRD,7.0 +CMT,1,1,2424,5.2,CSH,17.0 +CMT,1,1,649,3.4,CRD,12.5 +CMT,1,1,647,1.6,CRD,9.0 +CMT,1,1,302,0.9,CRD,5.5 +CMT,1,1,565,1.1,CSH,8.0 +CMT,1,1,512,2.4,CRD,9.5 +CMT,1,1,239,1.1,CRD,5.5 +CMT,1,2,1141,7.8,CRD,24.5 +CMT,1,1,542,3.5,CRD,12.0 +CMT,1,1,802,4.5,CRD,15.0 +CMT,1,1,278,0.8,CSH,5.0 +CMT,1,1,1053,3.0,CRD,14.5 +CMT,1,1,228,0.6,CRD,4.5 +CMT,1,1,471,1.9,CRD,8.0 +CMT,1,1,112,0.5,CRD,4.0 +CMT,1,1,418,1.1,CRD,7.0 +CMT,1,1,307,0.8,CRD,5.5 +CMT,1,1,184,0.8,CSH,5.0 +CMT,1,1,171,1.0,CSH,5.0 +CMT,1,3,188,0.8,CSH,4.5 +CMT,1,1,1223,5.9,CRD,19.0 +CMT,1,1,559,2.4,CRD,9.5 +CMT,1,1,214,0.9,CSH,5.0 +CMT,1,1,480,1.6,CRD,8.0 +CMT,1,1,330,1.3,CSH,6.5 +CMT,1,1,134,0.7,CSH,4.0 +CMT,1,2,740,3.0,CRD,12.0 +CMT,1,1,713,2.8,CRD,11.0 +CMT,1,3,620,1.8,CSH,9.5 +CMT,1,1,782,6.3,CSH,19.0 +CMT,1,1,173,0.7,CRD,4.5 +CMT,1,1,278,1.2,CSH,6.0 +CMT,5,2,58,0.0,CRD,85.0 +CMT,1,2,388,1.8,CRD,7.5 +CMT,1,1,768,6.2,CSH,18.5 +CMT,1,1,389,0.8,CRD,6.0 +CMT,1,1,149,0.8,CRD,4.5 +CMT,1,1,1447,10.5,CSH,31.5 +CMT,1,1,587,3.8,CSH,12.5 +CMT,2,4,2841,19.5,CRD,52.0 +CMT,1,1,195,1.5,CRD,6.0 +CMT,1,2,731,1.8,CSH,10.0 +CMT,1,3,266,0.7,CSH,5.0 +CMT,1,1,461,1.0,CRD,7.0 +CMT,1,2,476,1.9,CRD,8.0 +CMT,1,1,289,0.9,CRD,5.5 +CMT,1,2,411,1.5,CSH,7.0 +CMT,1,2,518,2.0,CSH,8.0 +CMT,1,1,328,1.1,CSH,6.0 +CMT,1,1,352,1.9,CRD,7.5 +CMT,1,3,298,0.9,CSH,5.5 +CMT,1,1,676,2.4,CSH,10.0 +CMT,1,1,1045,3.5,CSH,14.0 +CMT,1,2,563,2.2,CSH,9.0 +CMT,1,4,1121,5.1,CRD,17.5 +CMT,1,1,2402,28.0,CSH,73.0 +CMT,1,1,243,0.6,CRD,4.5 +CMT,1,3,427,1.0,CSH,6.5 +CMT,1,1,274,1.2,CRD,6.0 +CMT,1,1,612,1.7,CSH,9.0 +CMT,1,1,675,5.1,CRD,16.5 +CMT,1,2,303,1.2,CSH,6.0 +CMT,1,2,796,6.5,CRD,20.0 +CMT,2,4,3116,18.8,CSH,52.0 +CMT,1,1,340,1.7,CRD,7.0 +CMT,1,1,170,0.8,CRD,5.0 +CMT,1,1,409,2.0,CRD,8.0 +CMT,1,2,719,2.4,CRD,10.5 +CMT,1,2,750,3.5,CRD,12.5 +CMT,1,1,606,1.1,CRD,8.0 +CMT,1,1,2309,2.8,CRD,22.5 +CMT,1,1,597,1.7,CSH,8.5 +CMT,1,2,1266,4.2,CSH,16.5 +CMT,1,2,534,1.5,CRD,7.5 +CMT,1,2,894,4.1,CSH,15.0 +CMT,1,1,513,1.7,CRD,8.5 +CMT,1,3,489,1.7,CRD,8.0 +CMT,1,1,795,3.7,CRD,13.5 +CMT,1,1,1034,2.4,CRD,12.5 +CMT,1,1,220,0.8,CSH,5.0 +CMT,1,1,283,0.7,CRD,5.0 +CMT,1,1,1096,6.2,CRD,20.0 +CMT,1,1,617,1.5,CRD,8.5 +CMT,1,1,673,3.2,CRD,11.5 +CMT,1,1,655,2.3,CRD,10.0 +CMT,1,1,791,2.1,CRD,10.5 +CMT,1,2,656,2.1,CSH,9.5 +CMT,1,2,411,1.3,CSH,6.5 +CMT,1,1,402,1.6,CRD,7.5 +CMT,1,1,382,1.9,CSH,7.5 +CMT,1,1,1353,3.6,CRD,16.5 +CMT,1,2,1416,10.0,CRD,30.5 +CMT,1,2,510,2.2,CRD,9.0 +CMT,1,1,3,0.0,CSH,2.5 +CMT,1,1,91,0.7,CSH,4.0 +CMT,1,1,709,3.0,CRD,11.5 +CMT,1,1,909,8.1,CSH,23.5 +CMT,1,1,170,0.9,CSH,5.0 +CMT,1,1,472,2.5,CRD,9.5 +CMT,1,1,1335,11.2,CRD,33.0 +CMT,1,1,913,6.8,CSH,21.5 +CMT,1,1,476,1.5,CRD,8.0 +CMT,1,1,760,2.1,CRD,10.0 +CMT,1,1,562,3.5,CRD,12.5 +CMT,1,1,339,1.1,CRD,6.0 +CMT,1,1,927,9.0,CRD,26.0 +CMT,1,1,1391,7.3,CRD,25.0 +CMT,1,2,1474,11.9,CRD,33.5 +CMT,1,1,640,1.2,CSH,8.0 +CMT,1,1,1763,12.6,CRD,36.5 +CMT,2,1,3352,27.6,CSH,52.0 +CMT,1,1,826,4.0,CRD,14.0 +CMT,1,1,365,1.9,CRD,7.5 +CMT,1,3,1197,3.8,CSH,16.0 +CMT,1,1,652,2.6,CSH,10.5 +CMT,1,1,355,0.9,CRD,6.0 +CMT,1,2,456,1.5,CSH,7.5 +CMT,1,2,217,0.5,CSH,4.5 +CMT,1,1,351,0.9,CSH,6.0 +CMT,1,2,366,0.8,CSH,6.0 +CMT,1,2,474,2.2,CRD,8.5 +CMT,1,1,532,2.6,CSH,10.0 +CMT,1,1,169,0.4,CSH,4.0 +CMT,1,3,619,3.6,CRD,12.5 +CMT,1,1,721,2.1,CRD,10.5 +CMT,2,2,3437,17.3,CRD,52.0 +CMT,1,1,139,0.4,CRD,4.0 +CMT,1,1,234,0.6,CSH,4.5 +CMT,1,1,722,2.4,CSH,11.0 +CMT,1,1,251,0.7,CRD,5.0 +CMT,1,1,863,3.4,CRD,13.0 +CMT,1,1,188,0.7,CSH,4.5 +CMT,1,4,862,3.6,CRD,14.0 +CMT,1,2,939,4.1,CSH,15.0 +VTS,1,5,1740,11.63,CRD,33.5 +VTS,1,5,720,4.39,CRD,14.5 +VTS,1,5,720,5.11,CRD,16.5 +VTS,1,5,120,0.85,CSH,4.5 +VTS,1,5,240,0.65,CSH,5.0 +VTS,1,5,960,4.77,CRD,16.0 +VTS,1,5,360,1.16,CRD,6.0 +VTS,1,5,660,4.09,CRD,14.0 +VTS,1,5,480,2.45,CRD,10.0 +VTS,1,5,660,2.31,CRD,10.5 +CMT,1,1,484,2.1,CRD,8.5 +CMT,2,4,2754,18.6,CSH,52.0 +CMT,1,4,322,1.2,CSH,6.0 +CMT,1,3,435,1.5,CRD,7.0 +CMT,1,1,218,0.7,CSH,4.5 +CMT,1,1,377,1.3,CRD,6.5 +VTS,1,5,480,1.06,CRD,7.5 +VTS,1,5,360,1.34,CSH,7.0 +VTS,1,5,540,1.85,CSH,8.5 +VTS,1,5,180,1.06,CRD,5.5 +VTS,1,5,120,0.58,CRD,4.0 +VTS,2,5,1500,18.47,CRD,52.0 +VTS,1,5,1380,16.34,CRD,44.5 +VTS,1,5,1740,9.36,CSH,30.0 +VTS,1,5,360,1.34,CRD,7.0 +VTS,1,5,780,3.22,CRD,12.5 +VTS,1,5,420,1.1,CSH,6.0 +VTS,1,5,360,0.78,CSH,6.0 +VTS,1,5,960,8.66,CSH,25.0 +VTS,1,5,360,1.25,CSH,6.0 +VTS,1,5,780,1.62,CRD,10.0 +VTS,1,5,720,2.73,CRD,11.5 +VTS,1,5,120,0.52,CRD,4.0 +VTS,1,5,240,1.56,CRD,6.5 +VTS,1,5,120,0.44,CSH,4.0 +VTS,1,5,720,2.14,CRD,10.0 +CMT,1,2,1430,2.2,CRD,15.5 +CMT,1,1,1509,7.0,CRD,25.0 +CMT,1,2,1255,6.0,CSH,21.5 +CMT,1,1,954,1.9,CRD,11.5 +CMT,1,1,592,2.4,CRD,10.0 +CMT,1,1,181,1.0,CRD,5.0 +CMT,1,1,1599,8.8,CRD,28.5 +CMT,1,1,723,2.5,CSH,10.5 +CMT,1,1,428,3.5,CSH,11.5 +CMT,1,1,852,5.3,CSH,18.0 +CMT,1,2,516,1.4,CSH,7.5 +CMT,1,1,680,4.0,CSH,13.0 +CMT,1,2,191,0.7,CRD,4.5 +CMT,1,1,263,1.0,CRD,5.5 +CMT,1,3,231,1.5,CSH,6.0 +CMT,1,1,823,3.7,CRD,14.0 +CMT,1,1,2237,18.6,CRD,50.5 +CMT,2,3,2683,20.0,CSH,52.0 +CMT,1,2,549,1.5,CSH,8.0 +CMT,1,2,638,2.6,CSH,10.0 +CMT,1,1,458,1.7,CRD,8.0 +CMT,1,1,875,6.0,CRD,18.5 +CMT,1,1,468,2.0,CSH,8.5 +VTS,1,5,660,2.58,CRD,10.0 +VTS,1,5,720,2.3,CRD,10.5 +VTS,2,5,1500,18.46,CRD,52.0 +CMT,1,1,363,1.3,CRD,7.0 +CMT,1,1,867,4.6,CRD,15.5 +CMT,1,1,1230,3.6,CRD,16.0 +CMT,1,2,1049,5.9,CSH,19.0 +CMT,1,1,1912,5.4,CRD,22.0 +CMT,1,1,360,1.5,CRD,7.0 +CMT,1,1,366,0.8,CRD,6.0 +CMT,1,2,393,1.3,CSH,7.0 +CMT,1,3,880,2.0,CSH,10.5 +CMT,1,2,326,0.9,CSH,5.5 +CMT,1,1,365,1.0,CRD,6.0 +CMT,1,4,536,1.8,CRD,8.5 +CMT,1,3,1420,4.9,CRD,19.0 +CMT,1,1,1445,7.5,CRD,25.0 +CMT,1,1,1303,1.8,CRD,14.0 +CMT,1,1,209,1.0,CSH,5.5 +CMT,2,1,2809,21.8,CSH,52.0 +CMT,1,1,460,1.7,CRD,8.0 +CMT,1,1,254,1.1,CRD,5.5 +CMT,5,1,1640,19.5,CRD,100.0 +CMT,1,1,361,1.6,CSH,7.0 +CMT,1,1,1268,2.3,CRD,14.5 +CMT,1,1,459,1.0,CRD,6.5 +CMT,1,1,279,0.7,CRD,5.0 +CMT,1,1,449,1.9,CRD,8.5 +CMT,1,2,1867,7.4,CRD,26.5 +VTS,1,5,1020,2.49,CRD,12.5 +VTS,1,5,1020,7.11,CRD,22.0 +VTS,1,5,720,3.16,CSH,11.5 +VTS,1,5,600,1.5,CRD,9.0 +VTS,1,5,1800,4.22,CSH,20.0 +VTS,1,5,240,0.86,CSH,5.0 +VTS,1,5,1080,3.05,CSH,14.0 +VTS,1,5,1680,12.73,CRD,37.0 +VTS,1,5,480,1.37,CRD,7.0 +VTS,1,5,480,1.66,CRD,7.5 +VTS,1,5,360,1.17,CRD,6.0 +VTS,1,5,240,0.56,CRD,4.5 +VTS,1,5,300,0.95,CSH,6.0 +VTS,1,5,780,4.74,CSH,16.5 +VTS,1,5,1320,5.6,CSH,20.5 +VTS,1,5,240,1.0,CRD,5.5 +VTS,1,5,1380,11.35,CRD,32.5 +VTS,1,5,120,0.59,CSH,4.0 +VTS,1,5,840,2.26,CSH,11.5 +VTS,1,5,240,1.22,CRD,5.5 +VTS,1,5,780,6.01,CRD,18.5 +VTS,1,5,600,1.52,CSH,8.5 +VTS,1,5,180,0.61,CRD,4.5 +VTS,1,5,300,1.07,CRD,6.0 +VTS,1,5,1260,3.58,CSH,15.5 +VTS,1,5,600,2.0,CSH,9.5 +CMT,1,1,259,0.7,CSH,5.0 +CMT,1,1,130,0.3,CRD,3.5 +CMT,2,1,1748,17.7,CRD,52.0 +CMT,1,1,214,0.9,CSH,5.0 +CMT,1,1,581,2.4,CRD,10.0 +CMT,1,1,564,0.7,CSH,7.0 +CMT,1,1,757,2.9,CRD,11.0 +CMT,1,1,724,4.3,CSH,14.5 +CMT,1,2,1293,5.8,CSH,20.5 +CMT,1,1,204,0.5,CSH,4.5 +CMT,1,1,764,4.3,CRD,14.5 +VTS,1,5,360,0.73,CSH,6.0 +VTS,1,5,300,0.58,CSH,5.0 +VTS,1,5,180,0.45,CSH,4.0 +VTS,1,5,420,0.93,CRD,6.5 +VTS,1,5,480,1.96,CRD,8.5 +VTS,1,5,420,0.95,CSH,6.5 +VTS,1,5,360,2.04,CSH,8.5 +VTS,1,5,900,4.12,CRD,15.0 +VTS,1,5,720,1.71,CRD,10.0 +VTS,1,5,120,0.64,CSH,4.0 +VTS,1,5,300,0.85,CRD,5.5 +VTS,1,5,240,0.89,CSH,5.0 +VTS,1,5,360,1.15,CSH,6.5 +VTS,1,5,1440,4.08,CRD,17.5 +VTS,1,5,660,2.4,CSH,9.5 +CMT,1,1,616,1.8,CRD,8.5 +CMT,1,1,1338,9.2,CSH,28.0 +CMT,1,1,714,2.9,CRD,11.5 +CMT,1,1,452,1.6,CRD,8.0 +CMT,1,1,198,1.0,CSH,5.0 +CMT,1,1,1407,12.7,CRD,36.0 +CMT,2,3,3512,17.3,CSH,52.0 +CMT,1,2,736,2.3,CRD,10.5 +CMT,1,1,742,1.9,CSH,10.0 +CMT,1,1,371,2.0,CRD,8.0 +CMT,1,1,1036,2.7,CRD,13.0 +CMT,1,1,1367,10.8,CSH,31.0 +CMT,1,1,234,1.0,CSH,5.0 +VTS,1,5,420,1.24,CRD,7.0 +VTS,1,5,300,0.57,CRD,5.5 +VTS,1,5,360,1.23,CRD,6.5 +VTS,1,5,660,2.18,CRD,10.0 +VTS,1,5,420,1.03,CRD,6.5 +VTS,1,5,780,5.76,CRD,18.5 +VTS,1,5,420,1.63,CRD,8.0 +VTS,1,5,1440,7.35,CRD,24.5 +VTS,1,5,300,1.24,CRD,6.0 +VTS,1,5,1680,16.16,CSH,45.5 +VTS,1,5,960,4.46,CSH,16.5 +VTS,1,5,180,0.79,CSH,5.0 +VTS,1,5,1140,3.53,CSH,15.0 +VTS,1,5,1080,2.33,CRD,13.5 +VTS,1,5,780,3.47,CRD,14.0 +VTS,1,5,1320,7.11,CRD,23.0 +VTS,1,5,300,1.0,CSH,6.0 +VTS,1,5,180,1.1,CSH,5.5 +VTS,1,5,1980,10.27,CRD,32.5 +VTS,1,5,480,1.1,CRD,7.0 +VTS,1,5,420,1.4,CSH,7.0 +VTS,1,5,600,1.98,CSH,9.5 +VTS,1,5,900,3.64,CSH,14.0 +VTS,1,5,1080,5.06,CRD,18.0 +VTS,1,5,1140,8.01,CSH,24.5 +VTS,1,5,840,2.57,CRD,12.0 +VTS,1,5,240,0.79,CRD,5.0 +VTS,1,5,1620,23.38,CRD,61.5 +VTS,1,5,1260,9.51,CSH,29.0 +VTS,1,5,180,0.47,CRD,4.0 +VTS,1,5,360,0.83,CSH,6.0 +VTS,1,5,600,0.87,CSH,7.5 +VTS,1,5,960,3.47,CRD,14.5 +VTS,1,5,660,1.94,CSH,10.0 +VTS,1,5,420,2.06,CRD,8.5 +VTS,1,5,240,0.86,CSH,5.0 +VTS,5,2,0,0.0,CRD,62.0 +VTS,1,5,840,4.72,CRD,15.5 +VTS,1,5,960,6.4,CSH,20.0 +VTS,1,5,660,3.17,CSH,11.5 +VTS,1,5,660,5.34,CSH,17.0 +VTS,1,5,420,1.46,CRD,7.0 +VTS,1,5,240,1.09,CSH,5.0 +VTS,1,5,420,0.77,CSH,6.0 +VTS,1,5,600,1.45,CSH,8.5 +VTS,1,5,300,0.83,CRD,5.5 +VTS,1,5,840,2.64,CRD,11.5 +VTS,1,5,1260,10.85,CRD,31.0 +VTS,1,5,1080,6.54,CRD,21.0 +VTS,1,5,300,0.76,CRD,5.5 +VTS,1,5,1260,1.9,CRD,14.5 +VTS,1,5,420,0.88,CSH,6.0 +VTS,1,5,540,0.97,CRD,7.0 +VTS,1,5,300,1.14,CSH,6.0 +VTS,1,5,780,5.49,CRD,18.0 +VTS,1,5,1260,11.3,CRD,31.5 +VTS,1,5,240,0.85,CSH,5.0 +VTS,1,5,240,0.86,CSH,5.0 +VTS,1,5,600,2.02,CRD,9.5 +VTS,1,5,1500,12.46,CRD,36.0 +VTS,1,5,240,1.38,CSH,6.0 +VTS,1,5,1140,3.45,CRD,15.0 +VTS,1,5,360,1.4,CRD,7.0 +VTS,1,5,2040,17.73,CRD,49.5 +VTS,1,5,540,3.56,CRD,12.5 +VTS,1,5,60,0.4,CRD,3.5 +VTS,1,5,360,0.98,CSH,6.0 +VTS,2,5,1680,19.46,CSH,52.0 +VTS,1,5,180,0.93,CRD,5.0 +VTS,1,5,540,2.27,CRD,10.0 +VTS,1,5,240,0.8,CSH,5.0 +VTS,1,5,180,0.65,CRD,4.0 +VTS,1,5,300,0.95,CSH,5.5 +VTS,1,5,1080,2.31,CRD,13.0 +VTS,1,5,540,0.95,CRD,7.0 +VTS,1,5,720,1.81,CSH,9.5 +VTS,1,5,120,0.64,CSH,4.0 +VTS,1,5,2580,13.56,CSH,44.5 +VTS,1,5,840,3.51,CRD,13.5 +VTS,1,5,780,1.79,CRD,10.0 +VTS,1,5,600,2.11,CRD,9.0 +VTS,1,5,900,5.0,CSH,17.0 +VTS,1,5,360,1.29,CSH,6.0 +VTS,1,5,1020,4.15,CRD,15.5 +VTS,1,5,180,0.61,CSH,4.5 +VTS,1,5,780,6.24,CRD,19.5 +VTS,1,5,480,1.2,CRD,7.5 +VTS,1,5,480,3.93,CRD,12.5 +VTS,2,5,1080,16.07,CRD,52.0 +VTS,1,5,660,3.27,CRD,12.0 +VTS,1,5,1200,11.26,CRD,32.0 +VTS,1,5,720,2.46,CSH,10.5 +VTS,1,5,1140,6.24,CSH,20.5 +VTS,1,5,780,2.31,CSH,11.0 +VTS,1,5,360,1.09,CSH,6.0 +VTS,1,5,600,0.76,CSH,7.0 +VTS,1,5,300,0.97,CSH,5.5 +VTS,1,5,1080,3.16,CRD,13.5 +VTS,1,5,360,1.88,CSH,7.5 +VTS,1,5,720,1.69,CRD,9.5 +VTS,1,5,360,0.96,CSH,6.0 +VTS,1,5,600,2.29,CRD,10.0 +VTS,1,5,1380,3.76,CRD,17.5 +VTS,1,5,660,2.22,CRD,10.0 +VTS,1,5,780,3.6,CRD,13.0 +VTS,1,5,960,6.31,CRD,20.0 +VTS,1,5,1080,4.71,CSH,17.5 +VTS,1,5,180,0.72,CSH,4.5 +VTS,1,5,240,1.61,CRD,6.5 +VTS,1,5,600,2.17,CSH,9.5 +VTS,1,5,120,0.61,CRD,4.0 +VTS,1,5,180,1.02,CSH,5.0 +VTS,1,5,300,1.06,CSH,6.0 +VTS,1,5,420,1.49,CRD,7.5 +VTS,2,5,1140,15.13,CRD,52.0 +VTS,1,5,120,0.4,CRD,4.0 +VTS,1,5,840,2.62,CSH,12.0 +VTS,1,5,2820,15.12,CRD,46.5 +VTS,1,5,300,0.83,CSH,5.5 +VTS,1,5,1260,9.01,CRD,27.0 +VTS,1,5,660,3.06,CRD,11.0 +VTS,1,5,1380,5.08,CSH,19.0 +CMT,1,1,574,1.5,CRD,8.5 +CMT,2,1,2397,0.0,CRD,52.0 +CMT,1,1,664,1.1,CRD,8.5 +CMT,1,1,173,0.7,CSH,4.5 +CMT,1,1,739,2.0,CRD,10.0 +CMT,1,1,1374,5.8,CSH,21.5 +CMT,1,1,1592,15.6,CRD,42.5 +CMT,2,2,1885,0.0,CRD,52.0 +CMT,1,1,654,0.9,CSH,8.0 +CMT,1,1,650,1.0,CSH,8.0 +CMT,1,1,723,2.7,CRD,11.0 +CMT,1,1,344,0.8,CSH,5.5 +CMT,1,1,210,0.9,CRD,5.0 +CMT,1,1,425,1.6,CSH,7.5 +CMT,1,1,469,1.8,CSH,8.0 +CMT,1,1,414,1.2,CRD,7.0 +CMT,1,1,3035,10.1,CRD,39.0 +CMT,1,1,1164,11.5,CRD,31.5 +CMT,1,1,2073,9.4,CSH,32.5 +CMT,2,1,2997,9.4,CSH,52.0 +CMT,1,1,501,1.3,CRD,7.5 +CMT,1,1,813,0.9,CSH,9.0 +VTS,1,5,900,3.76,CRD,15.0 +VTS,1,5,1860,10.3,CRD,33.0 +VTS,1,5,960,12.64,CSH,34.0 +VTS,1,5,360,1.63,CRD,7.0 +VTS,1,5,600,1.41,CRD,8.0 +VTS,1,5,660,1.68,CRD,9.0 +VTS,1,5,900,3.76,CSH,15.0 +VTS,1,5,900,2.83,CSH,12.0 +VTS,1,5,420,1.39,CRD,7.0 +VTS,1,5,1200,5.98,CRD,21.5 +VTS,2,5,3300,20.83,CRD,52.0 +VTS,1,5,1500,12.41,CSH,35.0 +VTS,1,5,600,1.35,CSH,8.5 +VTS,1,5,540,1.82,CRD,9.5 +VTS,1,5,480,1.62,CRD,8.0 +VTS,1,5,1560,5.29,CSH,21.5 +VTS,1,5,840,5.92,CSH,18.0 +VTS,1,5,420,1.23,CRD,6.5 +VTS,1,5,840,4.0,CSH,14.5 +VTS,1,5,480,2.01,CRD,8.5 +VTS,5,2,5100,33.19,CRD,145.0 +VTS,1,5,1800,5.78,CRD,23.0 +VTS,1,5,720,1.91,CRD,10.0 +VTS,1,5,420,3.7,CSH,12.0 +VTS,1,5,1980,12.95,CRD,39.0 +VTS,1,5,780,3.71,CSH,13.0 +VTS,2,5,2400,4.17,CSH,52.0 +VTS,1,5,180,0.56,CSH,4.5 +VTS,1,5,1980,19.97,CSH,54.5 +VTS,1,5,240,0.64,CSH,4.5 +VTS,1,5,1740,12.8,CSH,38.0 +VTS,1,5,540,1.9,CSH,9.0 +VTS,1,5,300,1.01,CSH,5.5 +VTS,1,5,420,1.25,CRD,7.0 +VTS,1,5,480,1.78,CSH,8.0 +VTS,1,5,780,5.73,CSH,18.0 +VTS,1,5,1260,5.37,CSH,19.5 +VTS,1,5,780,4.49,CSH,15.5 +VTS,1,5,360,1.25,CRD,6.5 +VTS,1,5,480,2.26,CSH,9.5 +VTS,1,5,540,2.21,CRD,9.0 +VTS,1,5,480,2.65,CSH,10.0 +VTS,1,5,360,0.96,CSH,6.0 +VTS,1,5,1560,6.78,CRD,24.5 +VTS,1,5,1620,11.12,CSH,33.0 +VTS,1,5,420,1.53,CSH,7.5 +VTS,1,5,300,0.79,CSH,5.5 +VTS,1,5,720,7.4,CSH,21.0 +VTS,1,5,420,1.6,CRD,7.5 +VTS,1,5,960,3.48,CSH,14.0 +VTS,1,5,600,2.4,CRD,9.5 +VTS,1,5,360,1.45,CSH,7.0 +VTS,1,5,420,0.97,CRD,6.0 +VTS,2,5,1740,19.73,CRD,52.0 +VTS,1,5,240,0.97,CSH,5.5 +VTS,1,5,240,0.94,CSH,5.5 +VTS,1,5,300,1.47,CSH,6.5 +VTS,1,5,1140,4.25,CRD,16.5 +VTS,1,5,0,0.0,CSH,2.5 +VTS,1,5,300,0.97,CSH,5.5 +VTS,1,5,660,1.54,CSH,9.0 +VTS,1,5,1140,4.78,CRD,18.0 +VTS,1,5,780,5.92,CRD,19.0 +VTS,1,5,900,4.1,CRD,15.0 +VTS,1,5,180,1.64,CRD,6.5 +VTS,1,5,240,1.22,CRD,5.5 +VTS,1,5,960,6.78,CRD,21.0 +VTS,1,5,660,3.46,CSH,12.0 +VTS,1,5,300,1.24,CRD,6.0 +VTS,1,5,240,0.94,CRD,5.5 +VTS,1,5,240,1.09,CSH,6.0 +VTS,1,5,840,3.46,CRD,13.5 +VTS,1,5,480,4.16,CRD,13.0 +VTS,1,5,2100,19.23,CSH,53.0 +VTS,1,5,540,2.24,CRD,9.5 +VTS,1,5,660,1.93,CRD,9.5 +VTS,1,5,660,2.75,CSH,11.0 +VTS,1,5,1020,9.24,CRD,26.0 +VTS,1,5,360,1.46,CSH,6.5 +VTS,1,5,600,1.54,CSH,8.0 +VTS,1,5,540,1.19,CSH,8.0 +VTS,1,5,420,1.56,CRD,7.5 +VTS,1,5,420,1.55,CSH,7.5 +VTS,1,5,840,1.11,CRD,10.0 +VTS,1,5,720,1.32,CRD,9.0 +VTS,1,5,1080,10.78,CRD,30.5 +VTS,1,5,1200,7.02,CRD,22.5 +VTS,1,5,780,8.73,CRD,24.0 +VTS,1,5,1260,8.51,CRD,26.5 +VTS,1,5,840,5.93,CSH,18.5 +VTS,1,5,600,1.15,CRD,8.0 +VTS,1,5,1920,11.4,CRD,36.0 +VTS,1,5,300,1.0,CSH,5.5 +VTS,1,5,360,0.96,CSH,6.0 +VTS,1,5,420,1.38,CRD,6.5 +VTS,1,5,1020,4.83,CSH,17.5 +VTS,1,5,540,1.43,CSH,8.0 +VTS,1,5,480,1.59,CRD,7.5 +VTS,1,5,1920,5.46,CSH,23.5 +VTS,1,5,300,0.67,CRD,5.5 +VTS,1,5,600,1.27,CRD,8.0 +VTS,1,5,300,1.3,CSH,6.0 +VTS,1,5,1200,4.04,CRD,16.5 +VTS,1,5,780,1.78,CSH,10.0 +VTS,1,5,480,0.79,CRD,6.5 +CMT,1,1,116,0.7,CSH,4.0 +CMT,1,1,286,1.3,CRD,6.0 +CMT,1,1,331,0.9,CRD,5.5 +CMT,1,1,853,4.0,CSH,14.5 +CMT,1,1,1372,4.3,CRD,17.5 +CMT,1,3,989,4.6,CSH,16.0 +CMT,1,1,520,3.7,CSH,12.5 +CMT,1,1,725,2.6,CSH,11.0 +CMT,1,1,201,0.5,CRD,4.5 +VTS,1,5,180,0.78,CSH,4.5 +VTS,1,5,420,1.89,CSH,8.5 +VTS,1,5,600,2.05,CSH,9.5 +VTS,1,5,420,1.57,CRD,7.0 +VTS,1,5,1080,2.99,CSH,14.0 +VTS,1,5,480,1.98,CRD,8.5 +VTS,1,5,600,2.29,CSH,10.0 +VTS,1,5,420,1.04,CRD,6.0 +VTS,1,5,60,0.3,CRD,3.0 +VTS,1,5,180,0.49,CRD,4.0 +VTS,1,5,1380,9.71,CSH,28.5 +VTS,1,5,540,1.05,CRD,7.5 +VTS,2,5,1560,20.37,CRD,52.0 +VTS,1,5,720,2.18,CSH,10.0 +VTS,1,5,660,7.13,CSH,20.5 +VTS,1,5,480,2.76,CRD,9.5 +VTS,1,5,1620,18.8,CSH,49.5 +VTS,1,5,180,0.9,CRD,5.0 +VTS,1,5,1200,12.58,CSH,34.5 +VTS,1,5,300,1.46,CSH,6.5 +VTS,1,5,420,1.29,CSH,7.0 +VTS,1,5,360,1.06,CSH,6.0 +VTS,1,5,300,1.33,CRD,6.5 +VTS,1,5,1200,10.0,CSH,28.5 +VTS,1,5,1260,4.16,CRD,17.5 +VTS,1,5,240,0.78,CSH,5.0 +VTS,1,5,1020,4.46,CRD,16.5 +VTS,1,5,540,1.21,CSH,8.0 +VTS,1,5,300,1.21,CRD,6.5 +VTS,1,5,900,4.22,CRD,16.0 +VTS,1,5,480,2.75,CRD,10.0 +VTS,1,5,960,2.82,CRD,13.0 +VTS,1,5,900,3.86,CRD,14.5 +VTS,1,5,720,2.67,CSH,11.0 +VTS,1,5,360,0.73,CRD,5.5 +VTS,1,5,1140,5.25,CRD,19.0 +VTS,1,5,2100,15.99,CSH,46.0 +VTS,1,5,660,1.85,CSH,9.5 +VTS,1,5,840,9.89,CRD,27.5 +VTS,1,5,1380,6.09,CRD,21.5 +VTS,1,5,840,2.91,CRD,12.0 +VTS,1,5,960,2.9,CSH,12.5 +VTS,1,5,1320,4.98,CRD,20.5 +VTS,1,5,0,0.01,CSH,2.5 +VTS,1,5,180,0.63,CSH,4.0 +VTS,1,5,660,2.0,CRD,9.5 +VTS,1,5,300,1.19,CRD,6.0 +VTS,1,5,180,0.97,CSH,5.5 +VTS,1,5,480,1.69,CRD,8.0 +VTS,1,5,1920,15.25,CRD,44.0 +VTS,1,5,1260,7.62,CSH,24.5 +VTS,1,5,240,0.99,CSH,5.5 +VTS,1,5,300,0.88,CRD,5.0 +VTS,1,5,720,6.14,CRD,18.5 +VTS,1,5,960,2.11,CRD,12.0 +VTS,1,5,300,1.01,CRD,6.0 +VTS,1,5,1080,2.57,CRD,13.5 +VTS,1,5,1140,4.0,CRD,17.0 +VTS,1,5,300,0.71,CSH,5.5 +VTS,1,5,1680,12.96,CRD,37.5 +VTS,1,5,480,1.27,CRD,7.0 +VTS,1,5,660,1.51,CRD,8.5 +CMT,5,1,67,0.0,CRD,109.5 +CMT,1,1,448,1.2,CSH,7.5 +CMT,1,1,502,1.6,CSH,8.0 +CMT,1,1,328,0.5,CSH,5.5 +CMT,1,1,1602,10.4,CRD,32.0 +CMT,1,1,1817,2.7,CSH,19.0 +CMT,1,1,408,1.6,CRD,7.5 +VTS,1,5,840,5.19,CRD,17.5 +VTS,1,5,240,1.19,CSH,5.5 +VTS,1,5,960,5.48,CRD,18.5 +VTS,1,5,1260,11.03,CSH,31.0 +VTS,1,5,120,0.53,CSH,3.5 +VTS,1,5,1140,3.44,CRD,15.0 +VTS,1,5,780,4.85,CRD,15.5 +VTS,1,5,960,7.18,CRD,22.0 +VTS,1,5,180,0.84,CSH,4.5 +VTS,1,5,180,0.58,CSH,4.0 +VTS,1,5,780,2.4,CRD,11.0 +VTS,1,5,1260,7.54,CRD,25.0 +VTS,1,5,960,3.83,CRD,15.0 +VTS,1,5,1260,4.41,CRD,18.0 +VTS,1,5,1380,6.31,CSH,22.0 +VTS,1,5,180,0.74,CSH,4.5 +VTS,1,5,240,0.67,CSH,4.5 +VTS,1,5,480,1.9,CSH,8.5 +VTS,1,5,1320,5.48,CSH,21.0 +VTS,1,5,600,1.17,CSH,8.0 +VTS,1,5,420,1.12,CRD,6.5 +VTS,1,5,720,4.47,CRD,15.5 +VTS,1,5,360,2.33,CSH,8.5 +VTS,1,5,660,3.45,CRD,12.5 +VTS,1,5,240,0.76,CSH,5.0 +VTS,1,5,960,2.78,CSH,13.0 +VTS,1,5,720,2.47,CSH,10.5 +VTS,4,5,3960,32.45,CRD,169.5 +VTS,1,5,1500,11.66,CRD,34.0 +VTS,1,5,360,1.41,CSH,7.0 +VTS,1,5,1080,2.33,CRD,13.0 +VTS,1,5,300,1.07,CSH,6.0 +VTS,1,5,840,3.51,CSH,13.5 +VTS,1,5,1020,4.28,CRD,16.5 +VTS,1,5,240,1.25,CSH,5.5 +VTS,1,5,360,1.26,CSH,6.5 +VTS,1,5,180,1.09,CSH,5.0 +VTS,1,5,720,5.57,CRD,17.5 +VTS,1,5,180,0.73,CSH,4.5 +VTS,1,5,660,1.93,CRD,9.5 +VTS,1,5,360,0.85,CSH,6.0 +VTS,1,5,420,0.96,CRD,7.0 +VTS,1,5,540,2.34,CSH,9.5 +VTS,1,5,1080,4.35,CRD,16.0 +VTS,1,5,1800,11.71,CRD,34.5 +VTS,1,5,1020,2.92,CRD,13.5 +VTS,1,5,300,0.87,CSH,5.5 +VTS,1,5,1560,4.18,CRD,20.0 +VTS,5,2,60,0.0,CRD,8.0 +VTS,1,5,540,3.69,CRD,12.5 +VTS,1,5,480,1.94,CSH,8.5 +VTS,1,5,540,1.63,CRD,8.0 +CMT,2,1,2269,0.0,CRD,52.0 +VTS,1,5,780,3.05,CRD,12.0 +VTS,1,5,360,1.4,CRD,7.0 +VTS,1,5,240,1.33,CRD,6.0 +VTS,1,5,840,8.3,CRD,24.0 +VTS,1,5,2100,18.97,CRD,51.5 +VTS,1,5,180,0.71,CSH,4.5 +VTS,1,5,840,3.45,CSH,13.5 +VTS,1,5,840,4.06,CSH,14.5 +VTS,1,5,900,3.26,CSH,13.0 +VTS,1,5,960,3.81,CRD,15.0 +VTS,1,5,540,1.67,CSH,9.0 +VTS,1,5,0,0.28,CSH,3.0 +VTS,1,5,420,1.49,CSH,7.0 +VTS,1,5,300,0.45,CSH,5.0 +VTS,1,5,540,1.26,CRD,7.5 +VTS,1,5,720,2.22,CSH,10.5 +VTS,1,5,780,3.92,CSH,14.0 +VTS,1,5,420,1.79,CRD,7.5 +VTS,1,5,180,0.56,CSH,4.0 +VTS,1,5,540,2.5,CSH,9.5 +VTS,1,5,960,5.4,CSH,18.0 +VTS,1,5,600,1.82,CRD,9.0 +VTS,1,5,1440,12.53,CSH,35.5 +VTS,1,5,600,2.36,CSH,10.5 +VTS,1,5,720,3.13,CRD,12.0 +VTS,1,5,600,2.33,CRD,9.5 +VTS,1,5,300,1.23,CSH,6.0 +VTS,1,5,660,2.75,CSH,11.0 +VTS,1,5,720,2.6,CSH,11.0 +VTS,1,5,420,1.78,CSH,7.5 +VTS,1,5,120,0.51,CSH,4.0 +VTS,1,5,1560,7.56,CRD,26.0 +VTS,1,5,660,7.12,CRD,21.0 +VTS,1,5,660,1.73,CRD,9.0 +VTS,1,5,1140,4.11,CSH,16.5 +VTS,1,5,1800,13.05,CRD,39.0 +VTS,2,5,2220,19.01,CSH,52.0 +VTS,1,5,780,2.29,CRD,11.0 +VTS,1,5,480,2.35,CSH,9.5 +VTS,1,5,1020,8.9,CSH,26.0 +VTS,1,5,540,2.87,CRD,10.5 +VTS,1,5,300,0.56,CSH,4.5 +VTS,1,5,1920,19.25,CRD,53.0 +VTS,1,5,840,2.96,CSH,12.0 +VTS,1,5,420,0.74,CSH,6.5 +VTS,1,5,180,0.84,CRD,4.5 +VTS,1,5,240,1.22,CRD,6.0 +VTS,1,5,2280,12.71,CRD,38.0 +VTS,1,5,180,0.5,CSH,4.5 +VTS,1,5,720,1.27,CSH,8.5 +VTS,2,5,60,0.0,CRD,52.0 +VTS,1,5,540,1.98,CRD,9.0 +VTS,1,5,240,0.63,CSH,4.5 +VTS,1,5,180,0.65,CRD,4.5 +VTS,1,5,360,0.89,CRD,6.0 +VTS,1,5,360,0.93,CSH,6.0 +VTS,1,5,1380,5.04,CRD,20.0 +VTS,1,5,720,2.56,CSH,11.5 +VTS,1,5,120,0.29,CSH,3.5 +VTS,1,5,240,0.8,CSH,5.0 +VTS,1,5,840,2.17,CSH,11.5 +VTS,1,5,120,0.92,CSH,4.5 +VTS,1,5,360,4.42,CSH,13.5 +VTS,1,5,660,3.85,CRD,13.5 +VTS,1,5,420,0.99,CRD,6.0 +CMT,2,1,1416,0.0,CSH,52.0 +CMT,1,1,668,6.8,CRD,20.0 +CMT,1,1,802,6.2,CSH,19.5 +CMT,1,1,981,3.6,CSH,14.5 +CMT,1,1,112,0.3,CRD,3.5 +CMT,1,1,244,1.6,CSH,6.5 +CMT,1,1,888,3.6,CRD,13.5 +CMT,1,1,1332,4.8,CRD,19.0 +CMT,1,1,532,2.1,CSH,9.0 +CMT,1,1,821,1.4,CSH,10.0 +CMT,2,1,1995,0.0,CRD,52.0 +CMT,1,1,547,1.0,CRD,7.5 +CMT,1,1,868,4.4,CRD,16.0 +VTS,1,5,540,1.05,CSH,7.0 +VTS,1,5,540,1.31,CSH,8.0 +CMT,1,1,599,3.8,CSH,13.5 +CMT,1,1,336,0.9,CRD,6.0 +CMT,1,1,328,0.7,CSH,5.5 +CMT,1,1,569,1.9,CSH,9.5 +CMT,1,1,1118,4.6,CRD,18.0 +CMT,1,1,489,1.0,CSH,7.0 +CMT,1,1,696,2.6,CRD,11.5 +CMT,1,1,1379,4.3,CSH,19.0 +CMT,1,1,684,1.1,CRD,9.0 +CMT,1,1,437,1.4,CSH,7.0 +CMT,1,1,267,0.8,CSH,5.5 +CMT,1,1,794,3.3,CRD,13.0 +CMT,1,1,1219,3.5,CSH,16.5 +CMT,1,1,733,3.4,CRD,13.0 +CMT,2,2,3295,31.5,CSH,52.0 +CMT,1,1,1329,2.6,CRD,14.5 +CMT,1,1,1696,1.8,CRD,17.0 +CMT,1,1,938,3.8,CRD,16.0 +CMT,1,1,309,2.5,CRD,9.0 +CMT,1,1,928,2.5,CSH,12.5 +CMT,1,1,874,6.6,CRD,20.5 +CMT,1,1,609,2.7,CRD,10.5 +CMT,1,1,1577,5.0,CSH,21.0 +CMT,2,2,3621,0.0,CRD,52.0 +VTS,1,5,1560,12.31,CRD,35.5 +CMT,1,1,839,1.0,CSH,9.5 +CMT,1,1,714,1.9,CRD,10.0 +CMT,1,1,1345,5.3,CRD,20.5 +CMT,1,1,532,1.8,CRD,8.5 +CMT,1,1,211,0.5,CRD,4.5 +CMT,1,1,355,1.0,CRD,6.5 +CMT,1,1,649,2.3,CRD,10.5 +CMT,1,1,434,1.2,CRD,7.0 +CMT,1,1,781,1.8,CSH,10.5 +CMT,1,1,392,1.3,CSH,7.0 +CMT,1,1,595,1.6,CRD,8.5 +CMT,1,1,596,1.0,CRD,8.0 +CMT,1,1,947,2.6,CSH,12.5 +CMT,1,1,129,0.5,CSH,4.0 +CMT,1,1,220,0.5,CSH,4.5 +CMT,1,1,1454,10.2,CRD,30.0 +CMT,1,1,449,1.0,CRD,7.0 +CMT,1,1,373,1.0,CRD,6.5 +CMT,1,1,171,0.3,NOC,4.0 +CMT,1,1,1044,1.3,CSH,11.5 +CMT,1,1,471,1.1,CSH,7.0 +CMT,1,1,604,1.3,CSH,8.0 +CMT,1,1,680,0.9,CSH,8.5 +CMT,1,1,812,1.6,CSH,10.5 +CMT,1,1,342,1.0,CRD,6.5 +VTS,1,5,120,0.01,CSH,3.0 +VTS,1,5,2280,13.95,CRD,42.0 +VTS,1,5,600,1.82,CRD,9.0 +VTS,2,5,1800,17.6,CRD,52.0 +VTS,1,5,840,2.78,CRD,12.5 +VTS,1,5,480,2.16,CSH,9.0 +VTS,1,5,720,2.59,CSH,11.0 +VTS,1,5,840,4.13,CSH,14.5 +CMT,1,1,155,0.4,CRD,4.0 +CMT,1,1,1322,5.8,CRD,21.0 +CMT,1,1,310,0.9,CSH,5.5 +CMT,2,1,2110,0.0,CRD,52.0 +CMT,1,1,301,0.8,CSH,5.5 +CMT,1,1,439,1.0,CSH,7.0 +CMT,1,1,772,1.6,CSH,10.0 +CMT,1,1,486,0.4,CSH,6.5 +CMT,1,1,343,0.3,CSH,5.0 +CMT,1,1,157,0.9,CSH,5.0 +CMT,1,1,844,1.7,CRD,11.0 +CMT,1,1,764,1.6,CSH,10.0 +CMT,1,1,1149,9.9,CSH,28.5 +CMT,1,1,1419,10.4,CSH,31.0 +CMT,1,1,497,1.5,CSH,8.0 +CMT,2,1,3101,0.0,CSH,52.0 +CMT,1,1,1094,7.2,CRD,22.5 +CMT,1,1,320,0.6,CSH,5.5 +CMT,1,1,1566,10.1,CSH,31.5 +CMT,1,1,564,1.8,CRD,8.5 +CMT,1,1,531,0.8,CSH,7.0 +CMT,1,1,422,0.9,CSH,6.5 +CMT,2,1,3502,0.0,CRD,52.0 +CMT,1,1,939,2.6,CRD,12.5 +CMT,2,3,3123,0.0,CRD,52.0 +CMT,1,1,405,1.0,CRD,6.0 +CMT,1,1,731,2.0,CSH,11.0 +CMT,1,1,169,0.4,CSH,4.0 +CMT,1,1,496,0.9,CRD,7.0 +CMT,1,1,751,1.4,CRD,9.5 +CMT,1,1,1721,10.9,CSH,34.5 +CMT,1,1,445,1.2,CSH,7.5 +CMT,1,1,1670,15.0,CSH,42.5 +CMT,1,1,1089,2.4,CSH,13.5 +CMT,1,1,271,0.5,CRD,5.0 +CMT,1,1,350,0.8,CRD,5.5 +CMT,1,1,1001,1.6,CSH,11.5 +CMT,1,1,496,0.6,CRD,6.5 +CMT,1,1,433,1.3,CSH,7.0 +CMT,1,1,851,3.1,CSH,12.5 +CMT,1,1,3,1.7,NOC,2.5 +CMT,1,1,172,1.0,CRD,5.0 +CMT,1,1,1584,7.3,CSH,24.5 +CMT,3,1,7,0.0,NOC,20.0 +CMT,1,1,939,2.6,CRD,13.0 +CMT,1,1,667,1.9,CRD,9.5 +CMT,1,1,2072,10.3,CRD,35.0 +CMT,1,1,357,1.0,CRD,6.5 +CMT,1,1,407,1.2,CSH,7.0 +CMT,1,1,1273,3.4,CSH,16.0 +CMT,1,1,221,0.5,CSH,4.5 +CMT,1,1,579,1.0,CRD,8.0 +CMT,1,1,857,1.3,CSH,10.0 +CMT,1,2,203,0.5,CRD,4.5 +CMT,1,1,194,1.4,CSH,6.0 +CMT,1,4,554,1.6,CSH,8.5 +CMT,1,2,758,4.1,CRD,14.0 +CMT,1,1,312,1.4,CSH,6.5 +CMT,1,1,96,0.4,CSH,3.5 +CMT,1,1,1907,12.3,CSH,37.5 +CMT,1,2,234,1.0,CSH,5.5 +CMT,1,1,1595,3.0,CRD,17.5 +CMT,1,1,282,0.7,CSH,5.5 +CMT,1,1,155,0.8,CRD,4.5 +CMT,1,1,294,2.0,CSH,7.5 +CMT,1,1,1478,9.1,CRD,29.0 +CMT,1,1,450,1.4,CSH,7.5 +CMT,1,4,456,3.2,CSH,11.0 +CMT,1,1,445,1.0,CRD,7.0 +CMT,1,3,319,1.8,CSH,7.5 +CMT,2,2,1908,10.3,CSH,52.0 +CMT,1,1,8,0.8,NOC,2.5 +CMT,1,1,1107,4.5,CRD,17.5 +CMT,1,1,1680,9.3,CRD,31.0 +CMT,1,1,378,1.2,CRD,6.5 +CMT,1,2,202,0.8,CSH,5.0 +CMT,1,1,75,0.6,CRD,4.0 +CMT,1,1,606,1.8,CRD,9.0 +CMT,1,1,951,7.7,CRD,23.5 +CMT,1,2,280,1.2,CRD,6.0 +CMT,1,1,62,4.1,CSH,3.0 +CMT,1,2,520,3.7,CSH,12.5 +CMT,1,1,397,1.6,CSH,7.5 +CMT,1,1,321,1.0,CRD,6.0 +CMT,1,4,622,2.1,CSH,9.5 +CMT,1,1,411,1.2,CSH,7.0 +CMT,1,1,630,3.2,CSH,12.5 +CMT,1,2,674,2.2,CSH,10.0 +CMT,1,1,795,4.7,CRD,16.0 +CMT,1,1,160,1.0,CRD,5.0 +CMT,1,3,1030,4.0,CRD,15.5 +CMT,1,2,503,1.5,CSH,8.0 +CMT,1,1,487,2.2,CSH,9.0 +CMT,1,1,513,1.8,CSH,8.5 +CMT,1,1,132,1.0,CSH,5.0 +CMT,1,1,545,1.9,CSH,9.0 +VTS,1,5,540,0.9,CRD,7.0 +VTS,1,5,240,0.51,CSH,4.5 +VTS,2,5,1860,18.5,CSH,52.0 +VTS,1,5,1200,4.66,CRD,17.5 +VTS,1,5,480,1.18,CRD,7.0 +VTS,1,5,420,3.49,CRD,12.0 +VTS,1,5,660,3.12,CSH,11.5 +VTS,1,5,1020,4.5,CRD,17.0 +VTS,1,5,360,1.13,CSH,6.5 +VTS,1,5,480,1.6,CSH,8.0 +VTS,1,5,180,0.86,CRD,5.0 +VTS,1,5,1320,11.72,CSH,33.5 +VTS,1,5,420,0.89,CRD,6.5 +VTS,1,5,240,0.83,CSH,5.0 +VTS,1,5,300,1.42,CSH,6.5 +VTS,1,5,1020,5.35,CRD,18.5 +VTS,1,5,600,3.32,CRD,11.5 +VTS,1,5,840,4.56,CRD,14.5 +VTS,1,5,660,2.75,CSH,11.0 +VTS,1,5,720,5.68,CRD,17.5 +VTS,1,5,1260,11.21,CRD,32.5 +VTS,1,5,1320,8.18,CSH,25.0 +VTS,1,5,360,1.49,CSH,7.0 +VTS,1,5,1500,4.83,CSH,19.5 +VTS,1,5,540,3.2,CRD,11.0 +VTS,1,5,540,2.31,CSH,9.5 +VTS,1,5,1200,3.54,CRD,16.0 +VTS,1,5,1080,3.08,CRD,14.0 +VTS,1,5,540,1.42,CSH,8.0 +VTS,1,5,1560,13.06,CRD,37.5 +VTS,1,5,240,0.95,CRD,5.0 +VTS,1,5,480,1.26,CRD,7.5 +VTS,1,5,420,0.92,CRD,6.5 +VTS,1,5,480,4.75,CRD,14.5 +VTS,1,5,780,4.22,CSH,14.0 +VTS,1,5,840,2.91,CRD,12.5 +VTS,1,5,900,3.02,CRD,13.5 +VTS,1,5,180,1.05,CSH,5.0 +CMT,1,1,917,2.4,CRD,12.0 +CMT,1,1,194,0.7,CSH,4.5 +CMT,1,1,377,1.0,CSH,6.5 +CMT,1,1,930,7.8,CSH,23.5 +CMT,1,1,808,2.3,CSH,11.0 +CMT,1,1,237,0.4,CRD,4.5 +CMT,1,1,948,1.6,CSH,11.0 +CMT,1,1,692,1.7,CRD,9.5 +CMT,1,1,1375,1.3,CSH,14.5 +CMT,1,1,330,0.8,CSH,5.5 +CMT,1,1,370,1.0,CRD,6.5 +CMT,1,1,464,1.5,CRD,8.0 +CMT,2,1,1854,0.0,CRD,52.0 +CMT,2,2,3427,0.0,CSH,52.0 +CMT,1,1,694,2.3,CRD,10.5 +CMT,1,1,1310,2.6,CRD,15.0 +CMT,1,1,908,2.3,CRD,12.0 +CMT,1,1,388,0.7,CSH,6.0 +CMT,1,1,517,1.9,CRD,8.5 +CMT,1,1,1643,4.7,CSH,21.0 +CMT,1,1,828,1.6,CRD,11.0 +CMT,1,1,1535,19.1,CSH,50.0 +CMT,1,1,858,1.2,CSH,10.0 +CMT,1,1,1066,2.9,CRD,13.5 +CMT,2,1,4356,0.0,CRD,52.0 +CMT,1,1,525,2.6,CSH,10.0 +CMT,1,1,370,1.4,CRD,7.0 +CMT,1,1,127,0.2,CSH,3.5 +CMT,1,1,576,1.0,CSH,8.0 +CMT,1,1,1162,6.0,CSH,20.5 +CMT,1,3,1666,4.2,CRD,19.5 +CMT,1,2,688,1.9,CSH,10.0 +CMT,1,3,1064,4.0,CRD,16.5 +CMT,1,2,613,2.4,CSH,10.5 +CMT,1,1,964,8.3,CSH,24.5 +CMT,1,1,618,1.3,CSH,8.5 +CMT,1,1,749,3.7,CRD,13.0 +CMT,1,1,515,1.4,CRD,8.5 +CMT,1,1,169,0.6,CSH,4.5 +CMT,1,1,258,0.4,CRD,4.5 +CMT,1,1,404,0.9,CRD,6.5 +CMT,1,1,360,0.7,CRD,6.0 +CMT,1,1,399,1.5,CRD,7.5 +CMT,1,1,275,0.9,CRD,5.5 +CMT,1,1,339,1.8,CRD,7.5 +CMT,1,1,330,0.9,CSH,6.0 +CMT,1,1,812,3.4,CRD,13.0 +CMT,2,2,3662,7.4,CSH,52.0 +CMT,1,1,1340,2.4,CRD,15.0 +CMT,1,1,376,1.0,CSH,6.5 +CMT,1,1,291,0.9,CRD,5.5 +CMT,1,1,380,1.1,CRD,6.5 +CMT,1,1,482,0.9,CSH,7.0 +CMT,1,1,128,0.4,CSH,4.0 +CMT,1,1,646,1.5,CSH,9.0 +CMT,1,1,620,1.5,CSH,8.5 +CMT,1,1,155,0.4,CRD,4.0 +CMT,1,1,467,1.6,CSH,8.0 +CMT,1,1,186,0.7,CSH,4.5 +CMT,1,1,1092,2.9,CRD,14.0 +CMT,1,1,643,1.1,CSH,8.0 +CMT,1,1,3101,15.6,CRD,48.0 +CMT,1,1,1905,10.1,CSH,32.0 +CMT,2,1,3970,0.0,CSH,52.0 +CMT,1,2,244,0.6,CRD,5.0 +CMT,1,1,721,4.9,CSH,15.5 +CMT,1,1,612,1.7,CRD,9.0 +CMT,1,1,435,1.1,CSH,7.0 +CMT,2,1,2396,10.4,CRD,52.0 +CMT,1,1,1608,3.5,CSH,20.0 +CMT,1,1,1374,2.9,CSH,16.0 +CMT,1,1,369,1.5,CRD,7.5 +CMT,1,1,592,1.5,CSH,8.5 +CMT,1,1,760,3.9,CRD,14.0 +CMT,1,1,1051,2.3,CSH,13.0 +CMT,1,1,193,0.4,CSH,4.0 +CMT,1,1,643,1.6,CRD,9.0 +CMT,1,1,554,1.3,CSH,8.0 +CMT,1,1,126,0.3,CSH,3.5 +CMT,1,1,1009,4.4,CRD,16.5 +CMT,1,1,652,1.0,CRD,8.0 +CMT,2,3,2332,2.8,CRD,52.0 +CMT,2,2,1693,0.0,CSH,52.0 +CMT,1,1,606,2.1,CRD,10.0 +CMT,1,1,357,0.6,CSH,5.5 +CMT,2,1,2570,1.5,CRD,52.0 +CMT,1,1,967,3.2,CRD,13.5 +CMT,1,1,652,3.7,CRD,12.5 +CMT,1,1,530,1.7,CSH,8.5 +CMT,1,1,1686,5.3,CRD,21.5 +CMT,1,1,174,0.7,CRD,4.5 +CMT,5,1,1431,33.7,CRD,40.0 +CMT,1,3,341,1.2,CSH,6.5 +CMT,1,1,166,0.8,CRD,4.5 +CMT,1,2,949,2.9,CSH,13.5 +CMT,1,2,500,1.2,CRD,7.5 +CMT,1,2,281,0.9,CSH,5.5 +CMT,1,1,860,5.2,CSH,18.0 +CMT,1,1,680,6.6,CSH,19.5 +CMT,1,1,910,1.6,CRD,11.0 +CMT,1,1,382,1.4,CRD,7.0 +CMT,1,1,432,2.1,CRD,8.5 +CMT,1,1,408,0.8,CSH,6.5 +CMT,1,2,489,2.5,CSH,10.0 +CMT,1,2,681,3.6,CRD,13.0 +CMT,1,1,824,3.5,CSH,13.5 +CMT,1,2,550,2.3,CSH,10.0 +CMT,1,1,380,1.4,CRD,7.0 +CMT,1,1,783,2.1,CRD,11.0 +CMT,1,1,232,0.4,CSH,4.5 +CMT,1,1,654,6.3,CRD,19.5 +CMT,1,1,840,3.4,CSH,13.0 +CMT,1,1,629,1.7,CRD,9.5 +CMT,1,2,483,1.9,CRD,8.5 +CMT,1,2,1059,2.5,CRD,13.0 +CMT,1,1,895,2.8,CSH,12.0 +CMT,1,1,120,0.6,CRD,4.0 +CMT,1,2,585,1.4,CRD,8.0 +CMT,1,1,920,2.6,CSH,12.0 +CMT,1,1,305,0.9,CRD,6.0 +CMT,1,1,538,1.6,CRD,8.5 +CMT,1,1,784,0.9,NOC,9.0 +CMT,1,1,260,1.3,CRD,6.0 +CMT,2,2,2255,0.0,CSH,52.0 +CMT,1,1,466,1.1,CRD,7.0 +CMT,1,1,1160,1.7,CRD,13.0 +CMT,1,1,238,0.9,CRD,5.5 +CMT,1,1,418,0.9,CSH,6.5 +CMT,1,1,341,0.7,CSH,5.5 +CMT,1,1,1756,13.9,CRD,39.0 +CMT,1,1,378,1.1,CSH,6.5 +CMT,1,1,1437,7.5,CRD,25.0 +CMT,1,1,1169,3.9,CSH,16.0 +CMT,2,2,3428,0.0,CRD,52.0 +CMT,1,1,832,2.3,CSH,11.5 +CMT,1,1,1243,3.4,CRD,15.5 +CMT,1,1,618,2.0,CSH,9.5 +CMT,1,1,435,0.8,CSH,6.0 +CMT,1,2,696,4.0,CSH,13.5 +CMT,1,3,290,0.4,CRD,5.0 +CMT,1,4,619,2.9,CSH,11.0 +CMT,1,1,199,0.8,CSH,5.0 +CMT,1,2,302,0.8,CSH,5.5 +CMT,1,1,824,2.9,CRD,12.5 +CMT,1,1,677,1.1,CRD,8.5 +CMT,1,2,269,1.0,CRD,5.5 +CMT,1,1,1466,5.3,CRD,21.0 +CMT,1,1,694,2.9,CRD,11.5 +CMT,1,1,381,1.3,CSH,6.5 +CMT,1,1,580,2.0,CSH,9.5 +CMT,1,2,374,1.0,CSH,6.0 +CMT,1,1,928,3.4,CSH,13.5 +CMT,1,2,590,1.5,CRD,8.5 +CMT,1,2,862,2.3,CRD,11.5 +CMT,1,2,714,2.0,CSH,10.0 +CMT,1,2,300,0.7,CRD,5.5 +CMT,1,1,127,0.8,CRD,4.5 +CMT,1,2,483,2.6,CSH,9.5 +CMT,1,2,1312,6.5,CSH,22.0 +CMT,1,1,163,0.3,CSH,4.0 +CMT,1,1,475,2.3,CSH,9.5 +CMT,1,2,1781,6.7,CSH,25.0 +CMT,1,1,443,0.8,CRD,6.5 +CMT,1,1,982,5.3,CRD,17.5 +CMT,1,2,630,3.7,CSH,13.0 +CMT,1,1,686,3.4,CSH,12.5 +CMT,1,1,1087,3.5,CRD,15.0 +CMT,1,1,390,2.7,CSH,10.0 +CMT,1,4,594,2.3,CRD,10.0 +CMT,1,3,218,0.4,CSH,4.5 +CMT,1,1,639,3.9,CRD,13.0 +CMT,1,1,942,3.4,CSH,13.5 +CMT,1,1,262,0.5,CSH,5.0 +CMT,1,2,776,3.6,CRD,13.5 +CMT,1,2,1177,6.7,CSH,21.5 +CMT,1,1,254,0.7,CRD,5.0 +CMT,1,1,384,1.2,CRD,6.5 +CMT,1,3,194,0.4,CSH,4.0 +CMT,1,2,642,2.1,CRD,10.0 +CMT,1,1,461,3.2,CRD,10.5 +CMT,1,1,336,0.4,CSH,5.5 +CMT,1,1,715,4.2,CRD,14.0 +CMT,1,1,1738,4.5,CRD,20.5 +CMT,1,1,941,1.0,CRD,10.5 +CMT,1,1,475,1.6,CSH,8.0 +CMT,1,1,744,3.6,CRD,13.0 +CMT,1,2,528,2.1,CSH,9.0 +CMT,1,1,1141,4.5,CRD,17.5 +CMT,1,4,656,2.2,CSH,10.0 +CMT,1,1,875,2.4,CSH,12.0 +CMT,1,1,321,1.0,CRD,6.0 +CMT,1,1,233,1.6,CRD,6.5 +CMT,1,1,360,2.0,CRD,8.0 +CMT,1,1,1080,2.9,CRD,13.5 +CMT,1,1,345,1.2,CSH,6.5 +CMT,1,1,860,1.7,CRD,10.5 +CMT,1,1,911,4.1,CRD,15.0 +CMT,1,4,878,2.9,CRD,12.5 +CMT,1,1,408,1.3,CSH,7.0 +CMT,1,2,722,1.7,CRD,10.0 +CMT,1,1,290,1.7,CSH,7.0 +CMT,1,1,689,3.8,CRD,13.5 +CMT,1,1,687,1.8,CRD,10.0 +CMT,1,1,337,1.0,CSH,6.5 +CMT,1,2,619,2.4,CRD,10.5 +CMT,1,1,634,1.5,CSH,9.0 +CMT,1,1,143,0.3,CSH,3.5 +CMT,1,1,392,0.8,CSH,6.0 +CMT,1,1,1582,4.4,CSH,20.0 +CMT,1,2,223,0.7,CSH,5.0 +CMT,1,1,1154,3.6,CSH,15.5 +CMT,1,1,366,0.8,CRD,6.0 +CMT,1,1,574,2.6,CSH,10.0 +CMT,1,1,1251,3.9,CSH,17.5 +CMT,1,2,895,3.1,CSH,13.0 +CMT,1,1,255,0.9,CRD,5.5 +CMT,1,2,563,1.3,CRD,8.0 +CMT,1,2,585,1.4,CRD,8.5 +CMT,1,2,939,6.9,CSH,21.0 +CMT,1,1,167,1.0,CRD,5.0 +CMT,1,2,919,3.7,CRD,14.0 +CMT,1,1,738,3.6,CRD,13.0 +CMT,1,1,74,0.4,CSH,3.5 +CMT,1,1,1197,2.9,CSH,15.0 +CMT,1,1,1653,17.0,CSH,46.5 +CMT,2,1,1422,17.1,CRD,52.0 +CMT,2,1,3741,0.0,CRD,52.0 +CMT,1,1,549,1.4,CRD,8.0 +CMT,1,1,712,1.7,CSH,9.5 +CMT,1,1,1415,2.7,CSH,15.5 +CMT,1,1,293,0.5,CSH,5.0 +CMT,1,1,800,7.4,CRD,22.0 +CMT,1,1,899,1.2,CSH,10.5 +CMT,1,1,767,1.8,CRD,10.0 +CMT,1,1,685,2.3,CRD,10.5 +CMT,1,1,225,0.8,CSH,5.0 +CMT,1,1,227,0.7,CRD,5.0 +CMT,2,2,1968,0.0,CRD,52.0 +CMT,1,1,177,0.6,CSH,4.5 +CMT,1,1,638,1.7,CSH,9.5 +CMT,1,1,2003,3.0,CSH,21.0 +CMT,2,1,2627,0.0,CRD,52.0 +CMT,2,2,2875,15.7,CSH,52.0 +CMT,1,1,940,1.2,CRD,10.5 +CMT,1,1,1921,12.2,CSH,38.0 +CMT,1,1,1809,13.0,CSH,38.5 +CMT,1,2,353,0.9,CRD,6.0 +CMT,1,1,447,1.6,CRD,7.5 +CMT,1,1,738,3.4,CSH,12.5 +CMT,1,1,1608,5.3,CSH,23.0 +CMT,1,1,664,1.6,CSH,9.0 +CMT,1,4,626,1.6,CSH,9.0 +CMT,1,1,565,1.8,CRD,9.0 +CMT,1,1,298,1.3,CSH,6.5 +CMT,1,1,672,2.4,CSH,10.5 +CMT,1,2,289,1.5,CSH,6.5 +CMT,1,1,144,0.7,CSH,4.5 +CMT,1,1,327,1.5,CSH,7.0 +CMT,1,1,443,1.3,CSH,7.5 +CMT,1,2,628,1.3,CRD,8.5 +CMT,1,3,233,0.7,CRD,5.0 +CMT,1,2,1107,4.6,CSH,17.0 +CMT,1,1,934,5.5,CSH,18.0 +CMT,1,1,1279,6.3,CRD,22.0 +CMT,1,1,1609,8.9,CRD,28.5 +CMT,1,1,163,0.4,CSH,4.0 +CMT,1,1,724,3.5,CSH,13.0 +CMT,1,1,895,4.6,CSH,16.0 +CMT,1,1,249,1.0,CSH,5.5 +CMT,1,1,620,1.1,CSH,8.0 +CMT,1,1,559,1.9,CSH,8.5 +CMT,1,2,672,3.1,CRD,11.5 +CMT,1,1,828,3.6,CRD,13.5 +CMT,1,1,876,3.2,CRD,13.5 +CMT,1,1,600,1.8,CRD,9.0 +CMT,1,1,304,1.1,CRD,6.0 +CMT,1,1,658,2.9,CSH,11.5 +CMT,1,1,524,1.2,CSH,7.5 +CMT,1,1,576,2.5,CRD,9.5 +CMT,1,1,1006,8.4,CRD,24.0 +CMT,1,2,795,4.6,CRD,15.5 +CMT,1,2,506,1.7,CSH,8.5 +CMT,1,2,275,0.7,CSH,5.0 +CMT,1,1,282,1.2,CSH,6.0 +CMT,1,1,1514,6.2,CSH,23.0 +CMT,1,1,224,0.5,CSH,4.5 +CMT,1,4,814,6.8,CSH,21.0 +CMT,1,1,2006,4.1,CSH,21.0 +CMT,1,1,801,8.5,CSH,24.5 +CMT,1,1,980,2.1,CRD,12.0 +CMT,1,2,1089,2.4,CSH,13.5 +CMT,1,2,1610,4.1,CRD,19.5 +CMT,1,2,830,5.1,CSH,17.0 +CMT,1,1,1067,6.6,CRD,20.5 +CMT,1,2,1389,3.5,CRD,17.0 +CMT,1,3,423,1.3,CRD,7.5 +CMT,1,1,896,5.5,CRD,18.5 +CMT,1,1,96,0.8,CSH,4.5 +CMT,1,1,963,7.9,CRD,23.5 +CMT,1,1,401,0.9,CSH,6.5 +CMT,1,1,169,1.0,CSH,5.0 +CMT,1,4,723,2.1,CRD,10.5 +CMT,1,1,445,1.6,CRD,8.0 +CMT,1,1,670,2.8,CSH,11.5 +CMT,1,2,335,1.0,CSH,6.0 +CMT,1,2,276,0.8,CSH,5.5 +CMT,1,2,275,1.0,CSH,5.5 +CMT,1,3,882,7.6,CSH,14.0 +CMT,1,1,595,1.6,CRD,8.5 +CMT,1,2,972,3.4,CRD,13.0 +CMT,1,1,802,4.9,CRD,16.5 +CMT,1,4,418,1.5,CRD,7.5 +CMT,1,1,659,1.5,CSH,9.0 +CMT,1,1,314,0.7,CSH,5.5 +CMT,1,3,724,2.3,CSH,11.0 +CMT,1,2,760,3.5,CSH,13.5 +CMT,1,1,1528,5.4,CRD,21.0 +CMT,1,2,466,1.5,CRD,7.5 +CMT,1,2,186,1.0,CRD,5.0 +CMT,1,1,151,0.4,CRD,4.0 +CMT,1,2,979,2.4,CSH,12.0 +CMT,1,1,417,1.1,CSH,7.0 +CMT,1,2,301,1.1,CRD,6.0 +CMT,1,1,238,1.1,CSH,5.5 +CMT,1,2,956,2.3,CSH,12.0 +CMT,1,1,712,4.2,CSH,14.0 +CMT,1,1,429,2.0,CRD,8.5 +CMT,1,4,467,1.8,CSH,8.5 +CMT,1,2,805,2.6,CRD,11.5 +CMT,1,1,809,2.3,CRD,11.0 +CMT,1,1,313,0.7,CRD,5.5 +CMT,1,2,709,0.8,CRD,8.5 +CMT,1,1,627,2.5,CSH,10.5 +CMT,1,1,954,4.0,CRD,15.5 +CMT,1,1,806,3.0,CRD,12.5 +CMT,1,2,712,2.7,CSH,11.0 +CMT,1,1,214,1.4,CSH,6.0 +CMT,1,1,318,1.1,CSH,6.0 +CMT,1,1,825,2.6,CSH,12.0 +CMT,1,1,327,0.6,CRD,5.5 +CMT,1,1,242,0.7,CSH,5.0 +CMT,1,2,189,0.6,CSH,4.5 +CMT,1,2,877,1.5,CSH,10.5 +CMT,1,2,966,2.8,CSH,13.0 +CMT,1,1,609,3.7,CSH,12.5 +CMT,1,1,121,0.2,CSH,3.5 +CMT,1,1,104,0.2,CSH,3.5 +CMT,1,1,490,2.4,CRD,9.5 +CMT,1,2,510,1.6,CSH,8.5 +CMT,1,1,145,0.4,CSH,4.0 +CMT,1,2,114,0.2,CSH,3.5 +CMT,1,2,200,0.3,CSH,4.0 +CMT,1,2,466,1.5,CSH,8.0 +CMT,1,1,328,1.2,CSH,6.0 +CMT,1,1,126,0.8,CSH,4.5 +CMT,1,1,504,2.8,CSH,10.5 +CMT,1,1,335,1.8,CSH,7.5 +CMT,1,1,551,0.8,CSH,7.0 +CMT,1,1,89,0.4,CSH,3.5 +CMT,1,1,591,2.7,CRD,10.5 +CMT,1,2,594,1.9,CRD,9.5 +CMT,1,3,774,2.1,CSH,10.5 +CMT,1,1,149,0.5,CSH,4.0 +CMT,1,4,1319,3.9,CSH,17.0 +CMT,1,1,667,5.0,CRD,16.5 +CMT,1,1,767,2.0,CRD,10.5 +CMT,1,1,415,0.9,CRD,6.5 +CMT,1,1,395,1.5,CRD,7.0 +CMT,1,2,431,1.5,CSH,7.5 +CMT,1,1,693,2.4,CRD,10.5 +CMT,1,1,1503,7.5,CRD,26.0 +CMT,1,1,385,1.1,CSH,6.5 +CMT,1,1,813,5.9,CRD,18.0 +CMT,1,3,890,2.0,CSH,12.0 +CMT,1,1,442,1.6,CRD,8.0 +CMT,1,1,430,1.1,CRD,7.0 +CMT,1,1,320,0.9,CRD,6.0 +CMT,1,1,774,2.5,CRD,11.0 +CMT,1,1,808,3.3,CRD,13.0 +CMT,1,2,659,2.2,CRD,10.0 +CMT,1,2,546,3.0,CSH,10.5 +CMT,1,2,265,1.2,CRD,6.0 +CMT,1,1,290,0.8,CRD,5.5 +CMT,1,1,368,0.8,CRD,6.0 +CMT,1,2,219,0.8,CSH,5.0 +CMT,1,3,1977,6.4,CRD,26.5 +CMT,1,2,114,0.2,CRD,3.5 +CMT,1,2,1027,4.1,CRD,16.0 +CMT,1,2,527,1.9,CRD,8.5 +CMT,1,2,242,0.4,CRD,4.5 +CMT,1,2,136,0.4,CSH,4.0 +CMT,1,1,618,2.4,CSH,10.0 +CMT,1,1,106,0.6,CSH,4.0 +CMT,1,1,570,2.2,CRD,9.5 +CMT,1,1,153,0.8,CSH,4.5 +CMT,1,1,980,5.8,CRD,19.0 +CMT,1,1,160,0.7,CSH,4.5 +CMT,1,1,366,1.1,CRD,6.5 +CMT,1,2,1188,6.8,CRD,22.0 +CMT,1,1,1684,10.4,CSH,33.5 +CMT,1,1,736,1.9,CRD,10.0 +CMT,1,1,589,4.3,CRD,14.5 +CMT,1,1,1319,4.5,CRD,18.0 +CMT,1,1,2103,5.8,CRD,25.5 +CMT,1,2,707,1.9,CRD,10.0 +CMT,1,2,498,1.0,CRD,7.0 +CMT,1,1,1001,3.2,CSH,13.5 +CMT,1,1,492,1.8,CRD,9.0 +CMT,1,2,188,0.8,CRD,5.0 +CMT,1,1,336,1.3,CRD,6.5 +CMT,1,1,437,1.8,CRD,8.0 +CMT,1,3,307,1.1,CSH,6.0 +CMT,1,2,449,2.3,CSH,9.0 +CMT,1,1,1162,5.4,CRD,19.5 +CMT,1,1,307,1.6,CRD,7.0 +CMT,1,1,792,2.6,CRD,11.5 +CMT,1,2,520,3.1,CRD,11.0 +CMT,1,1,459,1.3,CRD,7.5 +CMT,1,1,961,3.2,CSH,14.0 +CMT,1,2,752,2.7,CSH,11.5 +CMT,1,4,655,2.3,CSH,10.5 +CMT,1,1,1019,6.1,CSH,20.0 +CMT,1,2,637,1.0,CSH,8.0 +CMT,1,2,1090,2.6,CRD,13.5 +CMT,1,2,115,0.6,CSH,4.0 +CMT,1,1,202,1.4,CSH,6.0 +CMT,1,1,224,1.0,CRD,5.0 +CMT,1,1,452,3.0,CRD,10.0 +CMT,1,1,1464,7.0,CRD,24.0 +CMT,1,1,337,1.1,CRD,6.5 +CMT,1,2,625,3.5,CRD,12.5 +CMT,1,1,2317,8.1,CSH,31.0 +CMT,1,1,574,4.0,CSH,13.0 +CMT,1,1,389,1.7,CSH,7.5 +CMT,1,1,284,0.7,CRD,5.0 +CMT,1,2,853,2.9,CSH,12.5 +CMT,1,1,666,2.4,CRD,10.5 +CMT,1,1,245,0.4,CSH,4.5 +CMT,1,1,1551,9.3,CSH,29.5 +CMT,1,1,532,2.5,CRD,9.5 +CMT,1,3,438,2.3,CRD,9.0 +CMT,1,1,139,0.4,CRD,4.0 +CMT,1,3,405,2.0,CSH,8.5 +CMT,1,2,282,0.8,CRD,5.0 +CMT,1,1,518,2.7,CSH,10.0 +CMT,1,1,153,0.6,CRD,4.5 +CMT,1,1,634,2.2,CRD,10.0 +CMT,1,2,615,1.8,CRD,9.0 +CMT,1,2,1020,8.9,CRD,26.0 +CMT,1,3,1136,1.6,CSH,12.5 +CMT,1,1,523,2.2,CRD,9.5 +CMT,1,1,771,2.2,CRD,11.0 +CMT,1,1,505,2.1,CSH,9.0 +CMT,1,1,624,2.2,CSH,10.0 +CMT,1,1,864,2.0,CSH,11.0 +CMT,1,1,1004,2.9,CRD,13.5 +CMT,1,4,917,3.2,CSH,13.0 +CMT,1,1,113,0.8,CSH,4.5 +CMT,1,1,250,1.3,CRD,6.0 +CMT,1,1,416,1.9,CRD,8.0 +CMT,1,2,492,1.1,CRD,7.5 +CMT,1,1,864,4.3,CSH,15.0 +CMT,1,1,813,2.2,CRD,11.0 +CMT,1,3,547,1.3,CRD,8.0 +CMT,1,1,437,1.1,CRD,7.0 +CMT,1,2,1453,3.4,CRD,18.0 +CMT,1,1,1371,4.7,CSH,19.5 +CMT,1,1,1065,8.7,CRD,26.0 +CMT,1,2,708,1.9,CRD,10.0 +CMT,1,2,764,2.4,CRD,11.0 +CMT,1,1,949,3.7,CRD,14.5 +CMT,1,1,205,0.6,CRD,4.5 +CMT,1,1,227,1.2,CRD,6.0 +CMT,1,2,230,0.7,CSH,5.0 +CMT,1,1,181,0.6,CRD,4.5 +CMT,1,1,632,2.2,CSH,9.5 +CMT,1,1,427,2.1,CRD,8.5 +CMT,1,2,598,2.5,CRD,10.0 +CMT,1,1,130,0.6,CSH,4.0 +CMT,1,1,262,2.6,CSH,9.0 +CMT,1,1,623,3.1,CSH,11.5 +CMT,1,3,648,2.4,CRD,10.5 +CMT,1,1,559,1.4,CRD,8.0 +CMT,1,2,128,0.4,CSH,4.0 +CMT,1,1,478,0.9,CRD,7.0 +CMT,1,1,208,0.7,CRD,4.5 +CMT,1,3,1286,4.1,CSH,17.5 +CMT,1,1,386,1.0,CRD,6.5 +CMT,1,1,428,1.2,CRD,7.0 +CMT,1,1,454,0.8,CSH,6.5 +CMT,1,1,756,2.2,CRD,11.0 +CMT,1,1,459,0.8,CSH,6.5 +CMT,1,3,218,1.5,CRD,6.5 +CMT,1,1,1221,2.2,CRD,14.0 +CMT,1,1,435,1.2,CSH,7.0 +CMT,1,1,226,0.6,CRD,4.5 +CMT,1,1,402,1.4,CSH,7.0 +CMT,1,1,1122,2.5,CRD,13.5 +CMT,1,3,495,1.0,CSH,7.0 +CMT,1,2,809,3.8,CSH,14.0 +CMT,1,1,704,2.1,CRD,10.5 +CMT,1,2,440,0.9,CSH,6.5 +CMT,1,1,188,0.8,CRD,5.0 +CMT,1,1,366,1.4,CSH,7.0 +CMT,1,1,2091,8.9,CRD,32.0 +CMT,1,1,69,0.4,CSH,3.5 +CMT,1,2,232,1.4,CSH,6.5 +CMT,1,1,261,0.4,CSH,4.5 +CMT,1,2,347,1.0,CSH,6.0 +CMT,1,2,338,1.2,CSH,6.0 +CMT,1,1,753,2.3,CSH,11.0 +CMT,1,1,381,1.7,CRD,8.0 +CMT,1,1,358,1.2,CSH,6.5 +CMT,1,2,972,4.6,CSH,16.5 +CMT,1,1,849,2.7,CRD,12.0 +CMT,1,1,511,1.9,CSH,8.5 +CMT,1,1,264,0.9,CSH,5.5 +CMT,1,1,173,0.7,CRD,4.5 +CMT,1,1,598,2.0,CSH,9.5 +CMT,1,1,90,0.4,CRD,3.5 +CMT,1,1,1104,4.8,CSH,18.0 +CMT,1,1,451,1.0,CSH,7.0 +CMT,1,1,463,1.2,CSH,7.0 +CMT,1,1,1223,4.5,CRD,18.5 +CMT,1,1,724,2.7,CRD,11.5 +CMT,1,2,387,1.2,CSH,6.5 +CMT,1,1,449,1.1,CRD,7.0 +CMT,1,1,1097,2.4,CRD,13.5 +CMT,1,1,395,1.2,CRD,7.0 +CMT,1,2,391,1.3,CSH,7.0 +CMT,1,1,433,1.2,CSH,7.0 +CMT,1,1,833,2.3,CRD,11.5 +CMT,1,1,833,2.4,CRD,11.5 +CMT,1,3,312,1.3,CSH,6.5 +CMT,1,1,927,5.9,CRD,18.0 +CMT,1,1,655,2.8,CRD,11.0 +CMT,1,1,1085,3.0,CRD,14.0 +CMT,1,1,1146,32.1,CRD,19.0 +CMT,1,3,474,1.3,CRD,7.5 +CMT,1,2,591,1.9,CRD,9.5 +CMT,1,4,995,3.7,CRD,15.5 +CMT,1,2,329,1.4,CRD,6.5 +CMT,1,1,237,0.7,CSH,5.0 +CMT,1,1,933,3.9,CRD,14.5 +CMT,1,1,505,1.4,CRD,8.0 +CMT,1,1,345,0.9,CSH,6.0 +CMT,1,1,558,2.9,CSH,11.0 +CMT,1,1,470,2.4,CRD,9.0 +CMT,1,2,568,2.8,CSH,10.5 +CMT,1,2,790,4.1,CSH,15.0 +CMT,1,2,298,0.7,CSH,5.0 +CMT,1,1,96,0.3,CSH,3.5 +CMT,1,2,1143,1.6,CSH,12.5 +CMT,1,3,625,2.7,CRD,11.0 +CMT,1,2,889,4.8,CSH,16.5 +CMT,1,1,755,2.7,CRD,11.5 +CMT,1,2,458,2.4,CRD,9.0 +CMT,1,4,263,0.6,CSH,5.0 +CMT,1,1,453,2.4,CRD,9.0 +CMT,1,2,570,1.7,CSH,9.0 +CMT,1,2,374,1.0,CRD,6.5 +CMT,1,1,566,3.7,CSH,12.5 +CMT,1,1,205,1.1,CRD,5.5 +CMT,1,1,321,0.8,CSH,6.0 +CMT,1,2,284,1.0,CSH,5.5 +CMT,1,2,362,1.0,CRD,6.0 +CMT,1,1,119,0.8,CSH,4.5 +CMT,1,2,610,1.2,CRD,8.0 +CMT,1,2,490,2.1,CSH,8.5 +CMT,1,1,830,4.2,CSH,15.0 +CMT,1,3,901,4.8,CSH,16.5 +CMT,1,1,423,1.1,CSH,6.5 +CMT,1,1,387,1.8,CRD,8.0 +CMT,1,1,215,0.9,CRD,5.0 +CMT,1,1,790,2.8,CSH,12.0 +CMT,1,1,503,2.0,CRD,9.0 +CMT,1,2,825,2.6,CSH,11.0 +CMT,1,1,384,0.9,CRD,6.0 +CMT,1,1,690,2.5,CRD,10.5 +CMT,1,2,247,1.0,CSH,5.5 +CMT,1,2,434,1.1,CRD,6.5 +CMT,1,4,995,2.9,CRD,13.5 +CMT,1,4,227,1.0,CRD,5.5 +CMT,1,1,353,0.8,CSH,5.5 +CMT,1,1,120,0.5,CRD,4.0 +CMT,1,1,714,3.1,CRD,12.0 +CMT,1,1,236,0.4,CSH,4.5 +CMT,1,1,459,1.9,CRD,8.5 +CMT,1,1,132,3.2,CRD,3.5 +CMT,1,1,688,2.1,CSH,10.0 +CMT,1,2,640,1.9,CSH,9.5 +CMT,1,1,292,1.1,CSH,6.0 +CMT,1,1,578,1.7,CRD,9.0 +CMT,1,1,243,1.0,CSH,5.5 +CMT,1,1,334,2.4,CSH,8.5 +CMT,1,1,171,0.6,CSH,4.5 +CMT,1,1,1708,9.1,CRD,28.5 +CMT,1,3,640,1.4,CRD,8.5 +CMT,1,1,214,0.7,CRD,5.0 +CMT,1,1,1464,13.7,CSH,38.0 +CMT,1,2,2053,10.1,CSH,32.5 +CMT,1,1,216,1.2,CRD,5.5 +CMT,1,2,770,2.5,CSH,11.0 +CMT,1,2,273,1.0,CSH,5.5 +CMT,1,1,872,5.3,CRD,17.5 +CMT,1,2,336,0.7,CRD,5.5 +CMT,1,2,771,1.9,CRD,11.0 +CMT,1,1,1838,8.2,CRD,29.0 +CMT,1,1,245,0.9,CRD,5.5 +CMT,1,2,625,1.4,CRD,8.5 +CMT,1,1,455,1.4,CRD,7.5 +CMT,1,1,203,0.9,CRD,5.0 +CMT,1,1,70,0.4,CSH,3.5 +CMT,1,1,650,5.7,CSH,17.5 +CMT,1,2,593,3.9,CRD,12.5 +CMT,1,2,509,1.0,CSH,7.0 +CMT,1,1,861,3.7,CSH,13.5 +CMT,1,1,166,0.4,CRD,4.0 +CMT,1,1,589,2.4,CSH,10.0 +CMT,1,1,576,1.0,CRD,7.5 +CMT,1,3,857,5.6,CSH,18.0 +CMT,1,1,936,3.8,CRD,14.5 +CMT,1,2,434,1.1,CSH,7.0 +CMT,1,2,562,2.5,CRD,10.0 +CMT,1,2,547,1.5,CRD,8.0 +CMT,1,2,523,2.1,CRD,9.0 +CMT,1,3,582,2.5,CSH,10.0 +CMT,1,2,242,1.2,CRD,6.0 +CMT,1,2,185,0.6,CRD,4.5 +CMT,1,2,864,2.2,CRD,10.5 +CMT,1,1,398,1.1,CSH,6.5 +CMT,1,1,615,1.5,CSH,9.0 +CMT,1,4,1699,5.8,CRD,23.0 +CMT,1,1,379,2.0,CRD,8.0 +CMT,1,1,325,1.1,CRD,6.0 +CMT,1,1,332,2.1,CRD,8.0 +CMT,1,1,1069,3.9,CSH,15.5 +CMT,1,1,943,7.7,CSH,23.5 +CMT,1,2,488,0.8,CSH,7.0 +CMT,1,1,971,2.8,CSH,13.0 +CMT,1,1,418,2.8,CRD,9.5 +CMT,1,1,642,2.7,CRD,10.5 +CMT,1,3,177,0.3,CSH,4.0 +CMT,1,3,197,0.6,CRD,4.5 +CMT,1,1,173,0.4,CSH,4.0 +CMT,1,1,278,1.7,CRD,7.0 +CMT,1,1,114,0.5,CRD,4.0 +CMT,1,1,412,1.3,CRD,7.0 +CMT,4,1,991,2.9,CRD,13.0 +CMT,1,1,198,0.4,CSH,4.0 +CMT,1,2,539,2.6,CRD,10.0 +CMT,1,3,303,0.9,CSH,5.5 +CMT,1,1,161,0.5,CRD,4.0 +CMT,1,3,281,0.8,CSH,5.5 +CMT,1,1,460,1.0,CRD,7.0 +CMT,1,1,704,1.5,CSH,9.0 +CMT,1,1,579,1.5,CRD,8.5 +CMT,1,3,1072,3.8,CRD,15.5 +CMT,1,2,441,1.2,CSH,6.5 +CMT,1,1,2477,2.7,CSH,24.5 +CMT,1,2,1314,3.8,CRD,16.5 +CMT,1,2,1359,3.9,CRD,17.5 +CMT,1,1,628,2.8,CRD,11.0 +CMT,1,2,739,3.6,CSH,13.0 +CMT,1,2,213,0.8,CRD,5.0 +CMT,1,1,438,1.3,CSH,7.0 +CMT,1,3,813,6.0,CRD,19.0 +CMT,1,2,2686,7.3,CSH,32.5 +CMT,1,1,84,0.1,CSH,3.0 +CMT,1,1,284,1.0,CRD,5.5 +CMT,1,1,204,0.8,CSH,5.0 +CMT,1,1,376,1.1,CRD,6.5 +CMT,1,1,573,1.1,CRD,8.0 +CMT,1,1,254,0.8,CSH,5.5 +VTS,1,2,480,2.17,CSH,9.0 +VTS,2,2,1560,18.16,CRD,52.0 +VTS,1,2,480,0.86,CSH,7.0 +VTS,1,2,1140,6.06,CRD,19.5 +VTS,1,2,1380,5.01,CRD,19.5 +VTS,2,2,2520,20.63,CSH,52.0 +VTS,1,2,420,1.08,CSH,6.5 +VTS,1,2,540,1.52,CSH,8.5 +VTS,1,2,720,1.18,CSH,8.5 +VTS,1,1,1320,4.11,CSH,17.0 +VTS,1,2,300,1.22,CRD,6.0 +VTS,1,2,240,0.9,CSH,5.0 +VTS,2,2,1620,18.04,CRD,52.0 +VTS,1,1,300,0.63,CSH,5.0 +VTS,1,2,540,2.32,CRD,9.0 +VTS,1,2,1140,5.28,CSH,18.5 +CMT,1,1,349,1.6,CRD,7.0 +CMT,1,1,461,1.8,CRD,8.0 +CMT,1,1,141,0.4,CSH,4.0 +CMT,1,1,834,3.6,CRD,13.5 +CMT,1,1,335,1.3,CRD,6.5 +CMT,1,2,680,1.9,CSH,9.5 +CMT,1,1,620,2.3,CRD,10.0 +CMT,1,1,567,2.3,CSH,9.5 +CMT,1,1,318,0.8,CSH,5.5 +CMT,1,4,388,1.4,CRD,7.0 +CMT,1,1,489,0.7,CSH,6.5 +CMT,1,1,225,0.9,CRD,5.0 +CMT,1,1,533,2.4,CRD,10.0 +CMT,1,2,1301,4.5,CSH,18.0 +CMT,1,2,2246,14.2,CRD,43.0 +CMT,1,1,2161,14.6,CSH,42.5 +VTS,1,2,540,1.31,CSH,8.0 +VTS,1,2,960,3.08,CRD,13.0 +VTS,1,1,480,0.75,CSH,7.0 +VTS,1,1,840,2.93,CRD,12.5 +VTS,1,2,180,0.71,CRD,4.5 +VTS,1,1,600,2.06,CRD,9.5 +VTS,1,2,300,1.25,CRD,6.5 +VTS,1,2,1140,3.2,CSH,15.0 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,2,600,4.19,CRD,14.0 +CMT,1,1,310,1.9,CSH,7.5 +CMT,4,2,1052,4.9,CRD,17.0 +CMT,1,1,1106,1.4,CRD,12.0 +CMT,1,1,623,2.7,CRD,10.5 +CMT,1,2,498,1.8,CSH,8.5 +CMT,1,1,884,3.5,CRD,14.0 +CMT,1,1,395,2.2,CSH,8.0 +VTS,1,2,300,1.1,CSH,5.5 +VTS,2,2,1860,18.27,CSH,52.0 +VTS,1,2,2340,23.54,CSH,64.0 +VTS,1,1,660,2.19,CRD,9.5 +VTS,1,1,840,8.81,CRD,24.5 +VTS,1,1,480,1.7,CSH,8.0 +VTS,1,2,1260,3.4,CRD,15.5 +VTS,3,3,2100,17.36,CSH,66.5 +VTS,1,1,540,2.2,CRD,9.0 +VTS,2,2,3840,17.85,CRD,52.0 +VTS,1,1,360,1.68,CRD,7.5 +VTS,1,2,780,3.44,CSH,13.0 +VTS,1,2,840,4.22,CSH,14.5 +VTS,1,2,840,1.25,CRD,10.0 +VTS,1,2,420,1.33,CSH,7.0 +VTS,1,2,300,1.57,CRD,7.0 +VTS,1,1,780,3.52,CSH,13.0 +VTS,1,1,660,1.17,CRD,8.5 +VTS,1,2,480,1.1,CSH,7.0 +CMT,1,2,181,0.5,CSH,4.5 +CMT,1,1,700,2.4,CRD,11.0 +CMT,1,1,438,1.6,CSH,7.5 +CMT,1,2,251,0.7,CRD,5.0 +CMT,1,1,251,0.7,CSH,5.0 +CMT,1,2,412,0.6,CSH,6.0 +CMT,1,2,425,2.2,CSH,8.5 +CMT,1,2,714,2.4,CRD,10.5 +CMT,1,1,848,2.7,CSH,12.0 +CMT,1,2,753,4.1,CSH,14.5 +CMT,1,1,376,1.6,CRD,7.0 +CMT,1,2,883,2.5,CRD,12.5 +CMT,1,1,153,0.3,CSH,4.0 +CMT,1,1,589,2.0,CSH,9.5 +CMT,1,1,837,4.2,CRD,14.5 +CMT,1,1,783,3.9,CSH,14.0 +CMT,1,4,579,1.2,CSH,8.0 +CMT,1,4,259,0.5,CSH,5.0 +CMT,1,1,472,1.6,CRD,8.0 +CMT,1,1,705,3.2,CRD,12.5 +CMT,1,2,1408,2.9,CSH,15.5 +CMT,1,2,400,1.2,CSH,7.0 +CMT,1,1,252,1.1,CRD,5.5 +CMT,1,1,519,3.4,CRD,11.5 +CMT,1,2,965,5.7,CRD,18.5 +CMT,1,1,1939,7.7,CRD,28.0 +CMT,1,2,885,1.8,CSH,11.0 +CMT,1,2,667,3.1,CSH,11.5 +CMT,1,1,790,2.1,CRD,11.0 +CMT,1,1,1141,2.1,CRD,13.0 +CMT,1,1,556,1.9,CRD,9.0 +CMT,1,1,307,1.4,CSH,6.5 +CMT,1,1,582,4.5,CSH,14.5 +CMT,1,1,824,61.3,CSH,16.5 +CMT,1,1,589,2.7,CRD,10.0 +CMT,1,1,293,1.0,CSH,5.5 +CMT,1,2,249,1.0,CSH,5.5 +CMT,1,1,191,0.6,CSH,4.5 +CMT,1,1,643,1.5,CSH,8.5 +CMT,1,1,167,0.7,CRD,4.5 +CMT,1,1,258,0.9,CRD,5.5 +CMT,1,1,282,1.3,CRD,6.5 +CMT,1,1,695,2.8,CRD,11.5 +CMT,1,1,205,0.8,CRD,4.5 +VTS,1,2,960,5.62,CSH,18.0 +VTS,1,2,420,1.54,CRD,7.0 +VTS,1,2,780,2.13,CRD,11.0 +VTS,2,1,2460,21.99,CRD,52.0 +VTS,1,2,540,2.68,CRD,10.0 +VTS,1,2,1260,6.37,CSH,21.5 +VTS,1,2,480,1.33,CRD,7.5 +VTS,1,1,540,1.97,CSH,9.0 +CMT,1,1,1107,3.7,CRD,15.5 +CMT,1,1,488,2.5,CRD,9.5 +CMT,1,1,662,2.8,CRD,11.0 +CMT,1,1,591,3.5,CRD,12.5 +CMT,1,1,995,3.7,CRD,14.5 +CMT,1,1,550,2.3,CRD,9.5 +CMT,1,1,1087,5.9,CRD,20.0 +CMT,1,1,157,0.6,CSH,4.5 +CMT,1,1,770,5.4,CSH,17.5 +CMT,1,1,1574,4.6,CRD,19.5 +CMT,1,1,1686,9.7,CSH,31.0 +CMT,1,4,786,2.5,CRD,11.0 +CMT,1,1,389,0.6,CRD,6.0 +CMT,1,2,156,0.4,CRD,4.0 +CMT,1,4,2368,7.1,CRD,29.0 +CMT,1,3,1025,4.7,CRD,17.0 +CMT,1,1,1083,4.3,CSH,16.5 +CMT,1,4,561,1.7,CSH,9.0 +CMT,1,1,891,2.3,CRD,11.5 +CMT,1,1,438,1.2,CRD,7.0 +CMT,1,1,416,2.3,CRD,9.0 +CMT,1,1,333,1.6,CSH,7.0 +CMT,1,1,524,1.2,CSH,7.5 +CMT,1,1,387,0.8,CRD,6.0 +CMT,1,1,855,1.5,CSH,10.5 +CMT,1,1,1387,4.0,CSH,18.5 +CMT,1,1,961,4.5,CRD,15.5 +CMT,1,2,167,0.4,CRD,4.0 +CMT,1,1,549,1.7,CSH,9.0 +CMT,1,2,501,1.1,CSH,7.5 +CMT,1,1,853,3.1,CSH,12.5 +CMT,1,2,653,2.8,CRD,11.5 +CMT,1,1,459,2.4,CSH,9.0 +CMT,1,1,242,0.8,CRD,5.0 +CMT,1,1,1041,4.8,CRD,17.5 +CMT,1,2,313,0.6,CSH,5.5 +CMT,1,3,158,0.5,CRD,4.0 +CMT,1,4,438,0.9,CSH,6.5 +CMT,1,1,581,2.4,CRD,10.0 +CMT,1,2,401,1.5,CSH,7.5 +CMT,1,1,411,1.0,CSH,6.5 +CMT,1,1,774,4.0,CSH,14.0 +CMT,1,1,573,2.9,CSH,10.5 +CMT,1,2,668,2.1,CRD,10.0 +VTS,1,2,900,3.85,CSH,14.5 +VTS,1,2,360,0.83,CSH,6.0 +VTS,1,2,360,1.86,CSH,7.5 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,2,600,1.54,CSH,8.0 +VTS,1,1,1860,17.2,CRD,48.0 +VTS,1,2,540,1.94,CRD,8.5 +VTS,1,2,1140,2.67,CRD,14.0 +CMT,1,1,1282,2.1,CRD,14.5 +CMT,1,2,453,1.2,CSH,7.0 +CMT,1,1,1272,10.6,CRD,31.5 +CMT,1,2,576,3.2,CRD,11.5 +CMT,1,2,938,2.4,CRD,12.0 +CMT,1,1,257,0.4,CSH,4.5 +CMT,1,1,628,2.6,CSH,11.0 +CMT,1,2,767,2.5,CRD,11.5 +CMT,1,1,260,0.9,CSH,5.5 +CMT,1,3,1204,4.8,CRD,18.5 +VTS,1,2,180,0.92,CRD,5.0 +VTS,1,2,780,2.61,CRD,12.0 +VTS,1,2,600,1.7,CSH,8.5 +VTS,1,2,300,0.85,CSH,5.5 +VTS,2,2,1680,18.59,CRD,52.0 +VTS,1,2,180,0.34,CSH,3.5 +VTS,1,1,780,1.34,CSH,10.0 +VTS,1,2,840,3.54,CRD,13.0 +VTS,1,2,660,4.08,CSH,13.0 +VTS,1,2,840,4.64,CRD,16.0 +VTS,1,2,1020,4.05,CRD,15.5 +VTS,1,1,120,0.58,CRD,4.0 +VTS,1,3,180,1.1,CRD,5.0 +VTS,1,1,1620,9.97,CRD,30.5 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,960,2.7,CRD,12.5 +VTS,1,1,540,2.45,CSH,10.0 +VTS,1,1,360,0.63,CRD,5.5 +VTS,1,2,660,2.54,CSH,10.5 +VTS,1,1,540,1.61,CSH,8.5 +VTS,1,2,660,2.2,CRD,10.5 +VTS,1,2,120,0.67,CRD,4.0 +VTS,1,2,600,2.33,CRD,10.0 +VTS,1,1,720,1.77,CRD,9.5 +VTS,1,1,240,0.81,CSH,5.0 +VTS,1,2,600,1.63,CSH,8.5 +VTS,1,2,1560,3.85,CRD,18.5 +VTS,1,2,420,1.48,CRD,7.5 +VTS,1,1,1620,4.23,CSH,19.5 +VTS,1,2,600,2.13,CSH,9.5 +VTS,1,2,660,1.12,CRD,8.5 +VTS,1,2,480,1.74,CSH,8.0 +VTS,1,2,360,0.64,CRD,5.5 +VTS,1,2,780,1.14,CRD,9.5 +VTS,1,2,240,1.17,CRD,5.5 +VTS,1,3,120,0.47,CRD,3.5 +VTS,1,2,780,2.67,CRD,11.5 +VTS,1,2,1440,4.83,CRD,19.5 +VTS,1,1,420,2.24,CRD,8.5 +VTS,1,2,840,1.37,CSH,10.0 +VTS,1,1,480,0.88,CRD,6.5 +VTS,1,2,1920,3.53,CRD,20.5 +VTS,1,2,300,1.0,CSH,5.5 +VTS,1,2,1200,2.47,CSH,14.0 +VTS,1,1,1500,10.76,CRD,31.5 +VTS,1,2,420,1.26,CSH,6.5 +VTS,1,2,1260,4.89,CRD,18.0 +VTS,1,3,1140,4.2,CRD,15.5 +VTS,1,3,600,5.01,CRD,15.5 +VTS,1,2,900,3.92,CRD,14.0 +VTS,1,2,2460,16.21,CSH,46.5 +VTS,1,2,180,0.37,CSH,4.0 +VTS,1,2,600,1.61,CRD,8.5 +VTS,1,1,600,1.88,CRD,9.0 +VTS,1,1,840,1.69,CRD,10.5 +VTS,1,2,420,1.02,CSH,6.5 +VTS,1,2,720,2.33,CRD,10.5 +VTS,1,2,540,2.56,CRD,10.0 +VTS,1,2,1140,5.5,CRD,19.0 +VTS,1,2,360,0.8,CRD,6.0 +VTS,1,1,480,1.43,CSH,7.0 +VTS,1,2,1020,2.52,CRD,12.5 +VTS,1,2,180,0.67,CRD,4.5 +VTS,1,2,360,1.45,CRD,7.0 +VTS,1,2,600,1.31,CSH,8.0 +VTS,1,2,420,1.01,CSH,6.0 +VTS,1,2,420,0.84,CSH,6.0 +VTS,1,2,720,3.62,CSH,13.0 +VTS,1,2,300,1.01,CSH,6.0 +VTS,1,3,960,1.61,CSH,11.5 +VTS,1,2,780,4.33,CRD,15.0 +VTS,1,1,180,0.81,CSH,5.0 +VTS,1,2,1440,10.09,CSH,30.0 +VTS,1,2,780,2.65,CRD,11.5 +VTS,1,1,420,1.0,CSH,6.5 +VTS,1,2,480,1.57,CSH,7.5 +VTS,1,2,240,1.07,CRD,5.0 +VTS,1,1,600,1.99,CSH,9.5 +VTS,1,1,360,1.42,CSH,7.0 +VTS,1,2,480,1.34,CRD,7.5 +VTS,1,3,480,2.17,CRD,9.0 +VTS,1,1,300,1.14,CSH,6.0 +VTS,1,2,1080,9.0,CRD,26.5 +VTS,1,2,840,2.49,CSH,11.5 +VTS,1,2,360,1.02,CSH,6.5 +VTS,1,2,360,0.73,CSH,5.5 +VTS,1,2,180,0.69,CSH,4.5 +VTS,1,2,900,2.79,CRD,12.5 +VTS,1,2,1500,7.67,CRD,25.5 +VTS,1,2,480,0.83,CSH,7.0 +VTS,1,2,660,2.22,CSH,10.0 +VTS,2,2,1980,18.75,CRD,52.0 +VTS,1,2,300,1.57,CRD,6.5 +VTS,1,2,1440,2.19,CRD,16.0 +VTS,1,2,1020,3.52,CRD,15.0 +VTS,1,2,1260,4.57,CRD,17.5 +VTS,1,2,480,1.51,CSH,7.5 +VTS,1,2,660,1.72,CRD,9.0 +VTS,1,1,480,1.18,CSH,7.0 +VTS,1,2,240,0.64,CRD,4.5 +VTS,1,2,300,1.3,CRD,6.5 +VTS,1,2,1800,7.17,CSH,25.5 +VTS,1,2,1440,8.49,CRD,26.0 +VTS,1,2,240,0.81,CSH,5.5 +VTS,1,1,780,1.48,CRD,9.5 +VTS,1,3,720,2.05,CRD,9.5 +VTS,1,2,180,0.51,CRD,4.0 +VTS,1,3,900,6.77,CSH,20.5 +VTS,1,2,480,1.41,CSH,7.5 +VTS,1,3,780,4.27,CRD,14.0 +VTS,1,3,720,3.04,CRD,12.5 +VTS,1,1,720,3.3,CRD,12.5 +VTS,1,2,900,4.0,CSH,15.0 +VTS,1,1,420,0.81,CSH,6.0 +VTS,1,3,900,1.66,CSH,11.0 +VTS,1,2,1500,9.37,CRD,29.5 +VTS,1,2,540,1.28,CRD,8.0 +VTS,1,3,180,0.28,CSH,3.5 +VTS,1,2,480,1.76,CSH,8.5 +VTS,1,2,960,1.44,CRD,11.0 +VTS,1,2,540,1.65,CRD,8.0 +VTS,2,2,2760,16.43,CRD,52.0 +VTS,2,2,3000,18.12,CRD,52.0 +VTS,1,2,480,1.69,CSH,8.0 +VTS,1,2,660,1.82,CRD,9.5 +VTS,1,2,120,1.08,CRD,5.0 +VTS,5,1,1740,6.93,CRD,50.0 +VTS,1,2,420,1.16,CSH,6.5 +VTS,1,2,660,3.31,CRD,12.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,2,480,1.81,CRD,8.0 +VTS,1,2,1260,2.13,CRD,14.5 +VTS,1,2,1440,6.3,CRD,22.5 +VTS,1,2,780,3.24,CRD,12.5 +VTS,1,2,900,2.88,CSH,12.5 +VTS,1,2,780,5.24,CRD,17.0 +VTS,1,1,780,1.96,CRD,10.5 +VTS,1,1,300,1.48,CRD,6.5 +VTS,1,2,480,1.92,CRD,8.5 +VTS,1,2,360,0.65,CSH,5.5 +VTS,1,1,360,1.42,CRD,7.0 +VTS,1,3,600,2.07,CRD,10.0 +VTS,1,2,600,2.37,CSH,9.5 +VTS,1,2,120,0.56,CSH,4.0 +VTS,1,2,780,1.23,CSH,9.0 +VTS,1,2,360,0.78,CSH,5.5 +VTS,1,1,1500,3.3,CRD,17.0 +VTS,1,2,180,0.62,CRD,4.0 +VTS,1,3,1080,3.26,CRD,14.0 +VTS,1,2,360,1.53,CRD,7.0 +VTS,1,1,2160,5.49,CRD,25.5 +VTS,1,2,300,0.74,CSH,5.0 +VTS,1,2,420,1.83,CRD,8.0 +VTS,1,2,540,1.29,CSH,7.5 +VTS,1,2,1440,8.95,CRD,27.5 +VTS,1,2,1200,3.36,CSH,15.0 +VTS,1,2,360,1.38,CSH,7.0 +VTS,1,2,900,2.24,CRD,11.5 +VTS,1,2,720,2.43,CRD,10.5 +VTS,1,2,1020,3.73,CRD,14.5 +VTS,1,2,600,2.01,CSH,9.0 +VTS,1,2,600,1.64,CSH,8.5 +VTS,1,2,840,3.26,CRD,13.0 +VTS,1,2,660,1.72,CRD,9.5 +VTS,1,2,1320,3.73,CRD,17.0 +VTS,1,2,420,0.59,CRD,6.0 +VTS,1,1,660,1.97,CRD,9.0 +VTS,1,2,780,1.52,CSH,9.5 +VTS,1,2,420,0.82,CSH,6.0 +VTS,1,2,540,2.54,CRD,9.5 +VTS,1,1,1080,1.8,CSH,12.0 +VTS,1,2,1140,2.15,CRD,12.5 +VTS,1,2,660,1.32,CSH,9.0 +VTS,1,2,600,1.45,CSH,8.0 +VTS,1,1,300,1.62,CRD,6.5 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,1,660,1.79,CRD,9.5 +VTS,1,2,540,0.83,CSH,7.0 +VTS,1,1,240,0.5,CRD,4.5 +VTS,1,2,180,0.5,CRD,4.0 +VTS,1,1,660,1.32,CSH,8.5 +VTS,1,2,240,1.14,CRD,6.0 +VTS,1,2,180,0.78,CRD,4.5 +VTS,1,2,480,0.93,CSH,6.5 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,2,540,1.34,CSH,7.5 +VTS,1,2,300,0.6,CSH,5.0 +VTS,1,2,540,2.26,CRD,9.5 +VTS,1,1,480,1.14,CSH,7.0 +VTS,1,2,780,2.98,CSH,12.0 +VTS,1,1,540,0.98,CRD,8.0 +VTS,1,2,540,2.15,CSH,9.5 +VTS,1,2,480,0.99,CRD,6.5 +VTS,1,1,1020,1.87,CSH,12.0 +VTS,1,2,540,1.37,CSH,7.5 +VTS,1,1,420,1.35,CRD,7.0 +VTS,1,2,1560,6.24,CSH,22.5 +VTS,1,2,360,1.19,CRD,6.5 +CMT,1,2,116,0.3,CSH,3.5 +CMT,1,1,483,1.9,CRD,8.5 +CMT,1,1,737,1.5,CSH,9.5 +CMT,1,3,1202,2.3,CRD,13.5 +CMT,1,1,460,1.8,CRD,8.5 +CMT,1,3,516,1.8,CRD,8.5 +CMT,1,1,342,1.0,CRD,6.0 +CMT,1,1,866,3.2,CRD,13.5 +CMT,1,1,1099,3.9,CRD,15.5 +CMT,1,1,486,2.6,CRD,10.0 +CMT,1,1,666,3.1,CRD,12.0 +CMT,1,1,182,0.6,CRD,4.5 +CMT,1,1,1611,3.3,CSH,18.0 +CMT,1,2,956,3.2,CSH,13.5 +CMT,1,2,291,1.1,CSH,6.0 +CMT,1,2,600,1.6,CSH,8.5 +CMT,1,1,1401,3.8,CSH,17.5 +CMT,1,1,752,1.4,CSH,9.0 +CMT,1,2,1701,2.1,CSH,18.0 +CMT,1,1,1076,2.9,CRD,13.5 +CMT,1,1,276,0.6,CSH,5.0 +CMT,1,1,237,1.3,CRD,6.0 +CMT,1,1,339,2.0,CRD,7.5 +CMT,1,1,323,0.8,CRD,6.0 +CMT,1,2,998,3.8,CSH,14.5 +CMT,1,2,343,0.8,CRD,5.5 +CMT,1,2,663,1.5,CRD,9.0 +CMT,1,2,426,1.6,CRD,7.5 +CMT,1,1,213,0.7,CRD,5.0 +CMT,1,1,604,1.4,CRD,8.5 +CMT,1,1,436,1.4,CRD,7.5 +CMT,1,1,1027,4.0,CSH,15.5 +VTS,1,1,900,3.32,CRD,13.5 +VTS,1,2,900,6.32,CRD,20.0 +VTS,1,2,300,1.14,CRD,6.0 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,2,3120,20.14,CRD,59.0 +VTS,1,2,840,3.91,CRD,14.0 +VTS,1,1,1380,3.82,CRD,17.5 +VTS,1,1,600,1.28,CRD,8.0 +VTS,1,2,780,1.73,CSH,9.5 +VTS,1,2,240,0.66,CSH,4.5 +VTS,1,2,600,2.64,CRD,10.5 +VTS,1,2,240,0.82,CSH,5.0 +VTS,1,2,420,2.12,CRD,8.5 +VTS,1,1,900,1.92,CRD,11.0 +VTS,1,2,540,1.17,CRD,7.0 +VTS,1,2,1080,9.06,CSH,26.5 +VTS,1,2,300,1.34,CRD,6.5 +VTS,1,2,360,0.79,CRD,6.0 +VTS,1,2,480,1.5,CSH,7.5 +VTS,1,2,540,1.84,CRD,8.5 +VTS,1,2,1800,10.9,CRD,33.5 +VTS,2,2,2820,20.16,CRD,52.0 +VTS,1,2,300,1.26,CRD,6.5 +VTS,1,3,780,2.96,CSH,12.0 +VTS,1,2,1020,3.15,CRD,13.5 +VTS,1,2,720,1.47,CSH,9.0 +VTS,1,2,240,0.91,CRD,5.0 +VTS,1,2,540,2.71,CSH,11.0 +VTS,1,3,360,1.27,CSH,7.0 +VTS,1,1,120,0.56,CRD,4.0 +VTS,1,2,300,1.31,CSH,6.5 +VTS,1,3,1140,3.22,CRD,15.0 +VTS,1,2,660,1.74,CRD,9.0 +VTS,1,2,1620,4.75,CSH,21.5 +VTS,1,2,480,1.63,CRD,8.0 +VTS,1,2,1020,1.26,CSH,11.0 +VTS,1,2,480,1.55,CRD,7.5 +VTS,1,2,660,1.2,CRD,8.5 +VTS,1,2,480,2.2,CSH,8.5 +VTS,1,2,960,2.77,CRD,13.0 +VTS,1,1,840,1.96,CRD,10.5 +VTS,1,1,720,2.3,CSH,10.0 +VTS,1,2,1140,4.29,CRD,17.0 +VTS,1,2,1260,5.64,CRD,20.0 +VTS,5,2,1380,6.51,CRD,80.0 +VTS,1,2,1440,2.37,CRD,15.5 +VTS,1,2,780,7.6,CRD,21.5 +VTS,1,2,300,0.98,CSH,5.5 +VTS,1,2,360,0.89,CRD,5.5 +VTS,1,2,1140,5.09,CSH,17.5 +VTS,1,1,540,2.74,CRD,10.0 +VTS,1,2,780,2.72,CSH,11.0 +VTS,1,2,540,1.71,CRD,8.5 +VTS,1,2,960,3.93,CSH,15.0 +VTS,1,2,600,1.08,CRD,8.0 +VTS,1,1,540,1.68,CRD,8.5 +VTS,1,2,660,2.38,CSH,10.5 +VTS,1,2,660,3.02,CSH,11.0 +VTS,1,4,480,0.86,CSH,6.5 +VTS,1,2,600,0.77,CRD,7.5 +VTS,1,2,360,1.0,CSH,6.0 +VTS,1,2,480,2.21,CRD,9.0 +VTS,1,2,840,2.33,CSH,11.0 +VTS,1,2,660,1.1,CSH,8.5 +VTS,1,3,300,0.99,CSH,5.5 +VTS,1,2,300,1.3,CSH,6.5 +VTS,1,2,300,1.01,CSH,5.5 +VTS,1,2,540,2.07,CSH,9.5 +VTS,1,2,540,2.85,CSH,10.0 +VTS,1,2,780,2.18,CRD,11.0 +VTS,1,2,300,0.76,CSH,5.5 +VTS,1,1,480,1.31,CSH,7.5 +VTS,1,2,300,1.2,CRD,6.0 +VTS,1,2,1260,3.61,CSH,16.0 +VTS,1,2,300,1.46,CSH,7.0 +VTS,1,2,600,2.73,CRD,10.5 +VTS,1,2,1860,3.64,CSH,20.5 +VTS,1,2,180,0.48,CSH,4.0 +VTS,1,2,360,1.2,CSH,6.0 +VTS,1,2,780,2.61,CSH,11.0 +VTS,2,2,1800,17.8,CRD,52.0 +VTS,1,1,180,0.41,CRD,4.0 +VTS,1,2,780,3.28,CRD,12.5 +VTS,1,1,540,2.16,CSH,9.0 +VTS,2,2,2880,19.32,CRD,52.0 +VTS,1,1,420,1.58,CRD,7.0 +VTS,1,2,840,1.97,CRD,10.5 +VTS,1,1,420,1.71,CSH,8.0 +VTS,1,2,660,1.5,CRD,9.0 +VTS,1,2,420,2.3,CRD,8.5 +VTS,1,1,480,2.43,CRD,9.0 +VTS,1,1,360,1.28,CRD,6.5 +VTS,2,1,2580,18.36,CRD,52.0 +VTS,1,2,360,0.83,CRD,6.0 +VTS,1,2,1200,5.82,CRD,19.5 +VTS,1,2,960,2.25,CSH,11.5 +VTS,1,2,180,0.4,CRD,4.0 +VTS,1,1,1140,3.14,CRD,14.0 +VTS,1,2,480,1.57,CSH,7.5 +VTS,1,2,600,1.86,CSH,9.0 +VTS,1,1,240,0.96,CRD,5.0 +VTS,1,1,300,1.35,CSH,6.0 +VTS,1,2,1440,3.74,CRD,18.5 +VTS,1,2,1440,5.46,CSH,19.5 +VTS,1,2,540,2.56,CSH,10.5 +VTS,1,2,1260,3.71,CRD,16.0 +VTS,1,2,300,1.46,CSH,6.5 +VTS,1,2,360,1.21,CRD,6.0 +VTS,1,1,600,1.45,CRD,8.0 +VTS,1,2,120,0.55,CRD,4.0 +VTS,1,3,480,1.38,CSH,7.5 +VTS,1,2,1560,2.6,CRD,17.5 +VTS,1,2,420,1.38,CSH,7.0 +VTS,1,2,600,2.04,CSH,9.5 +VTS,1,2,1260,4.2,CSH,17.5 +VTS,1,2,1860,8.53,CSH,29.0 +VTS,1,2,1500,6.19,CSH,22.5 +VTS,1,2,780,2.36,CRD,11.0 +VTS,1,2,720,2.66,CRD,11.5 +VTS,1,2,1080,2.16,CRD,13.0 +VTS,1,1,1080,2.91,CRD,13.5 +VTS,1,1,420,0.9,CRD,6.5 +VTS,1,1,240,0.44,CSH,4.5 +VTS,1,2,780,3.01,CSH,13.0 +VTS,1,2,960,2.35,CRD,12.0 +VTS,1,2,1800,4.51,CRD,21.0 +VTS,1,2,660,2.25,CSH,10.0 +VTS,1,2,300,1.45,CSH,6.5 +VTS,1,2,480,1.09,CSH,7.0 +VTS,1,2,300,1.18,CRD,6.0 +VTS,1,2,1080,3.46,CSH,14.5 +VTS,1,2,1200,2.95,CSH,15.5 +VTS,1,2,180,0.48,CSH,4.5 +VTS,2,2,1920,18.39,CSH,52.0 +VTS,1,2,540,2.12,CSH,9.0 +VTS,1,2,240,0.72,CRD,5.0 +VTS,1,2,780,2.77,CRD,11.5 +VTS,1,2,60,0.18,CSH,3.0 +VTS,1,2,1320,4.61,CRD,19.0 +VTS,1,2,240,1.37,CRD,6.0 +VTS,1,1,720,1.8,CRD,9.5 +VTS,1,2,480,1.03,CRD,6.5 +VTS,1,2,1140,3.77,CRD,15.0 +VTS,1,1,600,2.61,CRD,10.5 +VTS,1,2,900,3.74,CRD,15.0 +VTS,1,2,420,1.53,CRD,7.5 +VTS,1,2,180,0.57,CRD,4.5 +VTS,1,1,420,0.77,CSH,6.0 +VTS,1,1,480,1.06,CRD,6.5 +VTS,1,2,360,1.24,CRD,6.5 +VTS,1,2,900,2.5,CRD,12.0 +VTS,1,2,900,2.5,CRD,12.0 +VTS,1,2,540,0.82,CRD,7.5 +VTS,1,2,780,5.03,CRD,16.5 +VTS,1,2,360,0.68,CRD,5.5 +VTS,1,3,240,1.08,CRD,5.5 +VTS,1,2,420,1.6,CRD,8.0 +VTS,1,2,540,1.76,CSH,8.0 +VTS,1,2,120,0.4,CSH,3.5 +VTS,1,3,900,6.11,CRD,19.5 +VTS,1,1,1200,3.73,CSH,16.0 +VTS,1,1,840,3.2,CSH,13.0 +VTS,1,1,420,1.56,CSH,7.0 +VTS,1,2,480,1.43,CRD,7.0 +VTS,1,2,2100,3.88,CRD,23.0 +VTS,1,2,300,0.47,CRD,5.0 +VTS,1,2,1740,6.26,CRD,22.5 +VTS,1,1,1440,2.56,CSH,15.5 +VTS,1,2,600,0.8,CSH,7.5 +VTS,1,1,540,1.77,CSH,8.0 +VTS,1,2,420,1.39,CSH,7.0 +VTS,1,1,120,0.55,CSH,4.0 +VTS,1,2,900,2.32,CRD,12.0 +VTS,1,1,1140,3.77,CRD,15.5 +VTS,1,2,300,0.61,CRD,5.5 +VTS,1,2,780,1.85,CRD,10.5 +VTS,1,2,240,0.38,CRD,4.0 +VTS,1,2,960,2.34,CRD,12.5 +VTS,1,2,360,0.86,CRD,6.0 +VTS,1,2,780,3.54,CSH,12.5 +VTS,1,2,360,1.15,CRD,6.0 +VTS,1,2,900,2.71,CRD,12.5 +VTS,1,2,120,0.39,CRD,3.5 +VTS,1,1,720,1.17,CRD,8.5 +VTS,1,2,660,2.76,CRD,11.5 +VTS,1,2,420,1.32,CRD,7.0 +VTS,1,2,1080,5.15,CSH,18.0 +VTS,1,2,960,2.74,CSH,12.5 +VTS,1,1,900,0.73,CSH,9.5 +VTS,1,1,480,1.54,CRD,7.5 +VTS,1,2,660,1.25,CSH,8.5 +VTS,1,2,540,0.95,CSH,7.5 +VTS,1,2,1680,4.29,CSH,19.5 +VTS,1,1,420,1.0,CRD,6.5 +VTS,1,1,300,0.97,CSH,6.0 +VTS,1,1,1200,6.75,CRD,22.5 +VTS,1,2,420,0.59,CRD,6.0 +VTS,1,1,0,0.08,CSH,2.5 +VTS,1,2,240,0.9,CRD,5.0 +VTS,1,2,780,1.64,CRD,10.0 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,2,480,1.8,CSH,8.0 +VTS,1,2,660,2.48,CSH,10.5 +VTS,1,2,420,1.8,CRD,7.5 +VTS,1,1,1920,4.94,CSH,23.0 +VTS,1,1,900,2.09,CRD,11.5 +VTS,1,2,780,1.69,CSH,10.0 +VTS,1,2,660,2.09,CRD,10.0 +VTS,1,2,540,1.58,CSH,8.0 +VTS,1,2,540,1.31,CSH,7.5 +VTS,1,2,2220,4.1,CSH,23.0 +VTS,1,2,240,0.81,CSH,4.5 +VTS,1,2,1020,3.39,CRD,14.5 +VTS,1,2,600,1.23,CSH,6.5 +VTS,1,2,2700,8.51,CSH,33.0 +VTS,1,1,840,2.82,CRD,12.0 +VTS,1,2,480,1.24,CSH,7.0 +VTS,1,2,1200,3.79,CRD,15.5 +VTS,1,1,720,1.99,CSH,10.0 +VTS,1,1,360,0.78,CSH,5.0 +VTS,1,2,240,0.65,CSH,5.0 +VTS,1,2,420,1.69,CSH,7.5 +VTS,1,2,960,2.58,CSH,12.0 +VTS,1,1,1200,3.75,CRD,16.5 +VTS,1,1,480,1.68,CSH,8.5 +VTS,1,2,360,1.21,CRD,6.5 +VTS,1,2,1260,4.21,CSH,17.5 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,4,1020,8.44,CRD,24.5 +VTS,1,2,240,1.16,CSH,5.5 +VTS,1,1,720,2.16,CRD,10.0 +VTS,1,2,480,1.24,CSH,7.5 +VTS,1,2,1920,6.8,CSH,26.5 +VTS,1,1,420,1.07,CSH,7.0 +VTS,1,2,480,0.8,CRD,7.0 +VTS,1,2,1440,2.86,CRD,16.0 +VTS,1,2,540,1.17,CRD,7.5 +VTS,1,1,300,1.52,CRD,6.5 +VTS,1,2,840,2.68,CSH,12.0 +VTS,1,2,1020,2.54,CRD,12.0 +VTS,1,1,600,1.77,CRD,9.0 +VTS,1,1,360,1.23,CSH,6.5 +VTS,1,1,600,1.34,CRD,8.5 +VTS,1,2,1260,2.77,CSH,15.5 +VTS,1,2,1140,4.85,CRD,18.0 +VTS,1,2,600,4.12,CRD,13.5 +VTS,1,2,300,1.06,CSH,5.5 +VTS,1,1,1140,3.81,CRD,15.0 +VTS,1,1,1980,6.14,CRD,26.0 +VTS,1,2,1140,2.73,CRD,14.0 +VTS,1,1,1380,3.32,CRD,16.5 +VTS,1,2,1140,3.34,CSH,14.5 +VTS,1,2,60,0.37,CRD,3.5 +VTS,1,2,1680,3.0,CRD,18.5 +VTS,1,2,540,1.38,CSH,8.0 +VTS,1,2,780,1.98,CRD,10.0 +VTS,1,2,120,0.54,CSH,4.0 +VTS,1,2,540,1.63,CRD,8.0 +VTS,1,2,960,7.07,CRD,22.0 +VTS,1,2,960,2.94,CRD,13.5 +VTS,1,2,900,5.98,CSH,18.5 +VTS,1,2,2160,9.74,CSH,32.5 +VTS,1,1,960,2.51,CRD,12.5 +VTS,1,2,600,2.28,CRD,9.0 +VTS,1,3,360,1.88,CRD,8.0 +VTS,1,2,1020,2.44,CSH,12.5 +VTS,1,2,660,2.03,CSH,10.0 +VTS,1,1,1020,4.74,CSH,17.5 +VTS,1,2,720,3.13,CRD,11.5 +VTS,1,2,240,1.15,CSH,5.5 +VTS,1,2,480,1.73,CRD,8.0 +VTS,2,2,2220,18.61,CRD,52.0 +VTS,1,2,360,1.0,CSH,5.5 +VTS,1,2,1020,3.19,CRD,14.0 +VTS,1,1,1080,2.75,CSH,13.5 +VTS,1,2,480,1.97,CRD,8.5 +VTS,1,2,180,0.69,CRD,4.5 +VTS,1,2,480,1.35,CRD,7.0 +VTS,1,1,480,1.71,CSH,8.0 +VTS,1,2,480,1.57,CSH,7.5 +VTS,1,2,780,0.63,CSH,9.5 +VTS,1,1,360,1.34,CSH,6.5 +VTS,1,1,360,1.33,CSH,6.5 +VTS,1,1,1380,3.96,CSH,18.0 +VTS,1,2,480,0.93,CRD,7.0 +VTS,1,1,480,1.79,CSH,8.0 +VTS,1,1,540,1.43,CRD,8.5 +VTS,1,2,840,6.37,CRD,19.5 +VTS,1,1,180,0.48,CSH,4.0 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,780,2.02,CSH,11.0 +VTS,1,1,960,2.65,CSH,12.0 +VTS,1,1,540,0.98,CRD,7.5 +VTS,1,1,480,0.95,CSH,6.5 +VTS,1,1,900,4.25,CSH,15.0 +VTS,1,1,360,1.37,CSH,7.0 +VTS,1,1,540,0.85,CRD,7.0 +VTS,1,1,480,1.17,CRD,7.5 +VTS,1,1,1380,3.13,CRD,16.5 +VTS,1,1,1200,9.32,CRD,27.5 +VTS,1,3,960,2.88,CRD,13.0 +VTS,1,3,120,0.63,CSH,4.0 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,2,540,1.77,CRD,8.5 +VTS,1,1,420,1.23,CRD,7.0 +VTS,1,1,2640,11.55,CSH,36.0 +VTS,1,1,900,2.41,CSH,12.0 +VTS,1,2,2040,5.02,CSH,24.5 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,3,660,0.39,CSH,8.0 +VTS,1,2,720,2.21,CRD,10.0 +VTS,1,2,240,0.96,CSH,5.5 +VTS,1,1,180,0.53,CSH,4.0 +VTS,1,2,1260,3.36,CRD,15.5 +VTS,1,2,600,2.45,CSH,11.0 +VTS,1,1,300,0.73,CRD,5.0 +VTS,1,2,1080,2.05,CSH,12.0 +VTS,1,1,360,2.07,CRD,8.0 +VTS,1,1,1260,7.38,CRD,23.5 +VTS,1,1,360,1.07,CSH,6.0 +VTS,1,1,720,2.34,CRD,10.5 +VTS,1,1,540,2.07,CSH,8.5 +VTS,1,2,300,0.57,CSH,5.0 +VTS,1,2,420,0.92,CSH,6.5 +VTS,1,1,660,2.53,CRD,10.0 +VTS,1,2,720,4.53,CSH,15.0 +VTS,1,2,240,0.63,CSH,4.5 +VTS,1,2,420,0.68,CSH,6.0 +VTS,1,1,600,2.93,CRD,11.0 +VTS,1,1,600,1.75,CRD,8.5 +VTS,1,1,960,1.67,CRD,11.5 +VTS,1,1,420,1.24,CRD,7.0 +VTS,1,2,0,0.05,CSH,2.5 +VTS,1,1,480,1.26,CRD,7.5 +VTS,1,2,2040,10.19,CRD,32.0 +VTS,1,2,840,2.59,CSH,12.0 +VTS,1,1,1200,4.37,CSH,16.0 +VTS,1,1,240,0.59,CSH,5.0 +VTS,1,1,480,1.3,CSH,7.5 +VTS,1,1,300,1.03,CRD,6.0 +VTS,1,1,180,0.48,CSH,4.0 +VTS,1,1,900,2.99,CSH,14.0 +VTS,1,2,120,0.46,CSH,4.0 +VTS,1,2,360,1.23,CSH,7.0 +VTS,2,1,1800,17.18,CRD,52.0 +VTS,1,1,1140,7.59,CRD,24.0 +VTS,1,1,480,0.85,CSH,6.5 +VTS,1,2,780,2.09,CRD,11.0 +VTS,1,1,240,0.78,CSH,5.0 +VTS,1,2,840,1.53,CSH,9.5 +VTS,1,1,1680,10.65,CRD,31.0 +VTS,1,1,1140,2.35,CRD,13.5 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,1,780,2.41,CSH,10.5 +VTS,1,1,720,1.87,CSH,10.0 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,240,0.46,CRD,4.5 +VTS,1,1,660,3.48,CRD,12.0 +VTS,1,1,720,2.7,CRD,11.0 +VTS,1,2,360,1.57,CSH,7.0 +VTS,1,2,360,1.88,CRD,7.5 +VTS,1,1,300,0.83,CRD,6.0 +VTS,1,1,780,1.64,CRD,9.5 +VTS,1,2,900,1.77,CRD,11.0 +VTS,1,1,660,1.61,CRD,9.0 +VTS,1,2,180,0.44,CRD,4.0 +VTS,1,1,660,1.26,CSH,9.0 +VTS,1,2,1140,3.57,CRD,15.0 +VTS,1,2,1440,7.83,CRD,24.5 +VTS,1,2,1080,3.63,CSH,14.5 +VTS,1,2,780,2.54,CRD,11.0 +VTS,1,1,960,1.55,CSH,9.0 +VTS,1,2,960,2.42,CRD,12.5 +VTS,1,1,420,0.9,CSH,7.0 +VTS,1,1,480,1.59,CRD,8.0 +VTS,1,1,600,1.34,CRD,8.5 +VTS,1,3,1260,9.13,CRD,27.5 +VTS,1,1,420,1.02,CSH,6.5 +VTS,1,1,1080,2.68,CRD,13.5 +VTS,1,1,1380,3.64,CRD,17.0 +VTS,2,1,2520,18.89,CRD,52.0 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,1980,8.03,CRD,29.0 +VTS,1,1,540,1.66,CSH,8.0 +VTS,1,1,780,1.5,CRD,9.5 +VTS,1,2,1140,4.89,CRD,17.0 +VTS,1,1,720,2.35,CSH,10.0 +VTS,1,1,1500,1.57,CSH,15.0 +VTS,1,2,420,1.23,CRD,6.5 +VTS,1,2,540,1.33,CRD,8.0 +VTS,1,2,360,0.79,CRD,5.5 +VTS,1,2,1260,3.32,CRD,15.5 +VTS,1,2,600,1.52,CRD,9.0 +VTS,1,1,780,2.32,CRD,11.0 +VTS,1,2,120,0.38,CSH,3.5 +VTS,1,1,780,2.96,CRD,11.5 +VTS,4,2,2340,22.25,CRD,74.5 +VTS,1,1,660,2.29,CSH,10.0 +VTS,1,1,600,1.45,CRD,8.5 +VTS,1,2,1380,8.22,CRD,26.5 +VTS,1,2,840,1.46,CSH,10.0 +VTS,1,1,900,2.15,CRD,11.5 +VTS,1,2,1320,4.07,CSH,17.5 +VTS,1,2,360,0.8,CRD,6.0 +VTS,1,2,360,0.87,CRD,6.0 +VTS,1,2,1140,2.89,CRD,14.5 +VTS,1,1,300,1.48,CRD,6.0 +VTS,1,2,300,1.76,CSH,7.0 +VTS,1,2,600,1.29,CRD,8.0 +VTS,1,2,420,1.61,CRD,7.5 +VTS,1,2,300,0.58,CSH,5.0 +VTS,1,1,1260,3.06,CSH,15.0 +VTS,1,2,300,0.77,CRD,5.0 +VTS,1,2,1380,4.08,CRD,17.5 +VTS,1,2,1380,5.41,CSH,20.0 +VTS,1,2,420,1.57,CSH,7.0 +VTS,1,1,300,0.64,CSH,5.0 +VTS,1,2,420,1.69,CRD,7.5 +VTS,1,2,180,0.67,CSH,4.5 +VTS,1,2,420,0.56,CSH,6.0 +VTS,1,2,1020,2.8,CRD,13.5 +VTS,1,2,960,1.94,CSH,12.0 +VTS,2,1,4020,16.16,CRD,52.0 +VTS,1,1,1560,4.07,CRD,19.0 +VTS,1,1,960,2.39,CRD,12.0 +VTS,1,1,1260,1.78,CRD,13.5 +VTS,1,1,600,2.75,CSH,10.5 +VTS,1,1,720,1.57,CRD,9.5 +VTS,1,1,240,0.63,CRD,5.0 +VTS,4,1,180,0.08,CSH,3.5 +VTS,1,2,720,1.73,CSH,9.5 +VTS,1,1,300,1.41,CRD,6.5 +VTS,1,1,540,1.69,CSH,8.5 +VTS,1,1,540,1.54,CRD,8.0 +VTS,1,1,660,1.81,CSH,9.5 +VTS,1,1,720,1.18,CSH,9.5 +VTS,1,1,480,1.03,CRD,7.0 +VTS,1,1,900,1.98,CRD,11.5 +VTS,1,2,780,1.88,CRD,10.5 +VTS,1,1,480,0.88,CRD,6.5 +VTS,1,1,660,4.94,CRD,16.5 +VTS,1,1,360,0.86,CRD,6.0 +VTS,1,1,1500,5.27,CRD,20.5 +VTS,1,2,300,0.77,CRD,5.5 +VTS,1,1,720,2.89,CRD,11.5 +VTS,1,3,960,1.79,CRD,11.5 +VTS,1,2,900,1.96,CSH,11.0 +VTS,1,1,1080,1.5,CSH,12.0 +VTS,1,4,1500,2.42,CRD,16.0 +VTS,1,2,1860,10.17,CRD,33.5 +VTS,1,2,1500,11.15,CRD,32.0 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,120,0.38,CSH,3.0 +VTS,1,1,420,1.52,CRD,7.5 +VTS,1,2,720,1.71,CRD,10.0 +VTS,1,1,360,0.91,CSH,6.0 +VTS,1,2,180,0.49,CSH,4.0 +VTS,1,2,600,2.79,CRD,10.5 +VTS,1,2,360,1.7,CSH,7.5 +VTS,1,2,540,1.24,CSH,7.5 +VTS,1,2,1320,4.91,CRD,18.5 +VTS,1,1,420,0.82,CSH,6.0 +VTS,1,1,780,4.41,CSH,15.0 +VTS,1,1,660,2.24,CSH,10.0 +VTS,1,1,240,0.63,CSH,5.0 +VTS,1,1,720,2.04,CRD,9.5 +VTS,1,1,180,0.93,CSH,5.0 +VTS,1,1,780,2.18,CRD,10.5 +VTS,1,1,1680,2.5,CRD,18.0 +VTS,1,1,720,2.5,CSH,11.5 +VTS,1,1,360,1.15,CSH,6.0 +VTS,1,2,420,1.38,CSH,7.0 +VTS,1,2,360,1.43,CRD,6.5 +VTS,1,2,480,0.9,CRD,6.5 +VTS,1,2,660,2.64,CSH,10.5 +VTS,1,1,720,1.69,CSH,9.0 +VTS,1,6,540,2.11,CSH,9.0 +VTS,1,6,1620,6.33,CSH,22.5 +VTS,1,6,180,0.43,CSH,4.0 +VTS,1,6,360,2.22,CRD,8.0 +VTS,1,2,1200,11.83,CRD,33.5 +VTS,1,2,1200,10.24,CSH,29.5 +VTS,1,6,240,0.65,CSH,4.5 +VTS,1,6,1140,6.84,CSH,22.5 +VTS,1,6,1500,17.78,CSH,47.0 +VTS,1,6,480,1.95,CSH,8.5 +VTS,1,6,420,1.89,CSH,8.0 +VTS,1,6,300,1.14,CSH,6.0 +VTS,1,6,480,1.3,CRD,7.5 +VTS,1,1,660,1.68,CRD,9.0 +VTS,1,2,240,0.76,CSH,4.5 +VTS,1,2,420,1.17,CSH,7.0 +VTS,1,2,1500,2.44,CRD,15.0 +VTS,1,2,660,1.22,CRD,8.5 +VTS,1,1,180,0.44,CRD,4.0 +VTS,1,2,360,1.38,CSH,6.5 +VTS,1,2,1020,2.47,CRD,12.5 +VTS,1,2,2400,6.25,CSH,28.5 +VTS,1,1,360,0.91,CRD,6.0 +VTS,1,3,240,0.72,CRD,5.0 +VTS,1,1,360,0.92,CSH,5.5 +VTS,1,2,1020,2.29,CRD,12.0 +VTS,1,2,1620,9.27,CRD,29.0 +VTS,1,2,1140,1.99,CRD,13.0 +VTS,1,2,1860,3.9,CRD,21.0 +VTS,1,1,780,2.08,CSH,10.0 +VTS,1,2,1200,3.88,CRD,16.0 +VTS,1,1,1380,6.43,CRD,22.5 +VTS,1,2,480,0.7,CSH,7.0 +VTS,1,2,840,3.58,CRD,13.5 +VTS,1,1,1500,9.84,CRD,29.5 +VTS,1,4,900,5.57,CSH,18.0 +VTS,1,1,360,1.62,CSH,7.5 +VTS,1,1,300,1.08,CRD,6.5 +VTS,1,1,300,1.28,CSH,6.0 +VTS,1,2,420,0.95,CRD,6.5 +VTS,1,1,720,2.62,CRD,11.5 +VTS,1,1,1440,3.81,CRD,18.0 +VTS,1,2,1860,5.72,CRD,24.0 +VTS,1,1,1500,9.66,CRD,30.0 +VTS,1,1,960,2.95,CSH,12.5 +VTS,1,1,540,1.82,CSH,8.5 +VTS,1,1,600,2.01,CRD,9.5 +VTS,1,1,240,0.8,CSH,5.5 +VTS,1,1,1740,9.41,CRD,29.5 +VTS,1,1,1500,11.03,CRD,31.0 +VTS,1,1,720,1.19,CRD,9.0 +VTS,1,1,1560,2.91,CSH,17.0 +VTS,1,1,660,1.95,CRD,9.0 +VTS,1,1,420,0.77,CSH,6.5 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,420,0.98,CSH,6.5 +VTS,1,1,660,1.34,CRD,9.0 +VTS,1,1,300,0.45,CSH,5.0 +VTS,1,1,660,1.51,CSH,9.0 +VTS,1,2,720,1.51,CRD,9.0 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,540,1.19,CRD,7.5 +VTS,1,2,360,0.99,CRD,6.0 +VTS,1,1,120,0.65,CSH,4.5 +VTS,1,1,480,1.86,CRD,8.5 +VTS,1,1,480,0.98,CSH,7.0 +VTS,1,1,300,0.8,CRD,5.0 +VTS,1,2,900,1.8,CSH,11.5 +VTS,1,1,480,0.54,CRD,6.5 +VTS,1,2,1020,2.42,CRD,12.5 +VTS,1,6,420,1.67,CSH,7.5 +VTS,1,6,1140,9.54,CRD,28.0 +VTS,1,6,360,2.23,CRD,8.0 +VTS,1,6,1020,3.55,CSH,13.5 +VTS,1,2,540,1.79,CRD,9.0 +VTS,1,6,1320,15.65,CRD,42.0 +VTS,1,6,240,1.1,CRD,5.5 +VTS,1,6,1020,8.26,CRD,24.5 +VTS,1,6,720,4.28,CSH,14.0 +VTS,1,6,180,0.48,CSH,4.0 +VTS,1,6,1500,8.71,CRD,27.0 +VTS,1,6,780,3.41,CSH,13.0 +VTS,1,6,2520,8.21,CRD,30.0 +VTS,1,6,1560,5.08,CRD,19.5 +VTS,1,6,900,3.75,CRD,14.5 +VTS,1,6,660,1.69,CRD,9.5 +VTS,1,6,480,2.5,CRD,9.5 +VTS,1,6,600,3.29,CRD,11.5 +VTS,1,6,1980,9.93,CRD,34.0 +VTS,1,6,600,2.21,CSH,9.0 +VTS,1,6,1080,2.84,CRD,12.5 +VTS,1,1,840,3.41,CRD,13.5 +VTS,4,2,1380,2.56,CSH,15.5 +VTS,1,1,1020,3.25,CRD,14.0 +VTS,1,1,960,1.68,CRD,11.0 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,660,2.41,CSH,10.0 +VTS,2,1,2580,19.68,CRD,52.0 +VTS,1,2,360,1.2,CSH,6.0 +VTS,1,2,540,1.46,CRD,8.0 +VTS,1,1,2100,4.82,CSH,23.5 +VTS,1,1,480,1.83,CRD,8.0 +VTS,1,1,1500,10.63,CSH,30.5 +VTS,1,1,660,3.17,CRD,11.5 +VTS,1,2,600,1.6,CRD,8.5 +VTS,1,1,120,0.99,CRD,4.5 +VTS,1,1,660,0.55,CSH,8.0 +VTS,1,1,540,1.99,CRD,9.0 +VTS,1,1,1500,2.86,CRD,17.0 +VTS,1,1,540,1.55,CSH,8.0 +VTS,1,2,360,0.93,CSH,6.0 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,1080,2.85,CRD,14.0 +VTS,1,1,1260,3.82,CRD,16.5 +VTS,1,6,240,0.94,CRD,5.5 +VTS,1,6,600,2.96,CSH,11.0 +VTS,1,6,780,2.54,CSH,11.0 +VTS,1,2,180,0.44,CSH,4.0 +VTS,1,1,660,2.69,CRD,10.5 +VTS,1,1,240,0.69,CRD,4.5 +VTS,1,4,1200,8.82,CRD,26.5 +VTS,4,1,900,4.84,CSH,16.5 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,900,2.67,CRD,12.5 +VTS,1,1,780,1.42,CRD,9.5 +VTS,1,2,1620,3.58,CRD,18.0 +VTS,1,1,540,0.82,CRD,7.0 +VTS,1,1,960,3.04,CRD,13.0 +VTS,1,1,1440,7.07,CSH,23.5 +VTS,1,1,1740,11.29,CRD,33.0 +VTS,1,1,360,1.17,CRD,6.5 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,2,360,0.71,CRD,6.0 +VTS,1,1,1980,9.8,CSH,34.0 +VTS,1,1,540,2.15,CRD,9.0 +VTS,1,1,60,0.23,CSH,3.0 +VTS,1,1,240,0.35,CRD,4.0 +VTS,1,1,540,1.32,CRD,7.5 +VTS,2,2,2520,16.36,CRD,52.0 +VTS,2,1,1860,14.15,CRD,52.0 +VTS,1,1,480,1.58,CSH,7.5 +VTS,1,1,480,1.35,CRD,7.0 +VTS,1,1,720,1.64,CSH,9.5 +VTS,1,2,480,2.28,CSH,9.0 +VTS,1,3,300,0.8,CRD,5.5 +VTS,1,2,1020,2.86,CSH,13.5 +VTS,1,2,360,2.52,CSH,8.5 +VTS,1,2,420,1.42,CSH,7.5 +VTS,1,3,240,1.07,CRD,5.5 +VTS,1,1,540,1.82,CRD,8.5 +VTS,1,2,480,1.37,CRD,7.5 +VTS,1,2,420,1.46,CSH,7.0 +VTS,1,1,720,1.66,CRD,9.5 +VTS,1,2,660,1.78,CSH,9.5 +VTS,1,1,840,1.28,CRD,10.0 +VTS,1,1,420,1.19,CRD,6.5 +VTS,2,2,2640,21.53,CRD,52.0 +VTS,1,1,1320,4.47,CRD,18.5 +VTS,1,1,420,0.46,CRD,5.5 +VTS,1,2,900,2.59,CSH,10.5 +VTS,1,2,480,1.49,CRD,7.5 +VTS,1,2,300,0.86,CSH,5.5 +VTS,1,2,420,1.07,CSH,7.0 +VTS,1,2,360,1.32,CRD,6.5 +VTS,1,2,540,1.27,CRD,7.5 +VTS,1,1,300,1.02,CSH,5.5 +VTS,1,1,480,2.06,CRD,8.0 +VTS,1,2,60,0.02,CSH,2.5 +VTS,1,1,180,0.45,CRD,4.0 +VTS,1,1,1380,3.69,CSH,17.0 +VTS,1,1,180,0.65,CSH,5.0 +VTS,1,2,300,0.63,CRD,5.0 +VTS,1,2,480,1.43,CRD,7.5 +VTS,1,1,300,0.85,CRD,5.0 +VTS,1,1,1380,7.76,CRD,25.5 +VTS,1,2,240,0.78,CRD,5.0 +VTS,1,2,960,2.12,CRD,11.5 +VTS,1,2,840,2.16,CSH,11.0 +VTS,1,1,1080,2.54,CSH,13.0 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,2,300,0.91,CRD,5.5 +VTS,1,2,480,1.69,CRD,8.0 +VTS,1,1,720,1.87,CRD,10.0 +VTS,1,1,840,2.13,CRD,11.0 +VTS,1,2,1440,9.29,CSH,29.5 +VTS,1,1,240,0.74,CRD,5.0 +VTS,1,1,1260,3.44,CRD,15.0 +VTS,1,1,600,0.37,CRD,7.5 +VTS,1,1,900,0.75,CSH,10.0 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,2,1020,1.65,CRD,12.0 +VTS,1,1,360,0.7,CRD,5.5 +VTS,1,4,480,1.59,CRD,7.5 +VTS,1,2,1140,1.3,CSH,13.0 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,780,1.42,CRD,9.5 +VTS,1,1,720,1.48,CRD,9.5 +VTS,1,2,540,1.51,CRD,8.0 +VTS,1,4,420,1.14,CRD,7.0 +VTS,1,1,120,0.42,CSH,3.5 +VTS,1,2,600,1.36,CSH,7.5 +VTS,1,1,1260,7.26,CSH,24.0 +VTS,1,1,600,1.19,CSH,8.0 +VTS,1,1,180,0.85,CRD,4.5 +VTS,1,6,540,2.85,CSH,11.0 +VTS,1,6,720,2.42,CSH,10.0 +VTS,1,6,1560,10.29,CRD,30.5 +VTS,1,6,1680,6.89,CRD,23.0 +VTS,1,6,240,1.2,CRD,6.0 +VTS,1,6,720,5.3,CSH,16.0 +VTS,1,1,900,3.94,CRD,14.0 +VTS,1,6,180,0.95,CSH,5.0 +VTS,1,6,180,0.88,CSH,4.5 +VTS,1,6,1080,7.0,CRD,22.0 +VTS,1,6,1080,9.09,CRD,26.5 +VTS,1,6,720,2.52,CSH,11.0 +VTS,1,6,780,3.83,CRD,14.0 +VTS,1,6,1800,7.59,CSH,26.0 +VTS,1,6,540,1.98,CRD,8.0 +VTS,1,6,660,4.46,CSH,14.0 +VTS,1,6,540,1.37,CSH,7.5 +VTS,1,1,1080,5.6,CRD,19.5 +VTS,1,1,540,1.76,CRD,8.5 +VTS,1,2,1320,8.0,CSH,25.0 +VTS,1,1,960,2.69,CRD,13.0 +VTS,1,1,960,0.93,CRD,10.5 +VTS,1,1,840,1.69,CSH,10.0 +VTS,1,1,1560,3.8,CRD,18.0 +VTS,1,2,600,2.18,CRD,9.5 +VTS,1,6,1740,11.13,CRD,34.0 +VTS,1,2,120,0.25,CSH,3.5 +VTS,1,6,180,0.72,CSH,4.5 +VTS,1,6,300,0.84,CSH,5.5 +VTS,1,6,360,0.98,CSH,6.0 +VTS,1,6,420,1.45,CRD,7.0 +VTS,1,6,120,0.59,CSH,4.0 +VTS,1,6,360,2.04,CRD,7.5 +VTS,1,6,1380,9.38,CRD,29.0 +VTS,1,6,660,2.06,CRD,9.5 +VTS,1,6,660,1.99,CSH,10.0 +VTS,1,6,2880,13.14,CSH,39.0 +VTS,1,6,360,0.59,CSH,5.0 +VTS,1,6,660,1.91,CRD,9.0 +VTS,1,6,540,0.82,CRD,6.5 +VTS,1,6,780,6.19,CRD,19.0 +VTS,1,6,420,1.05,CRD,6.5 +VTS,1,6,120,0.62,CSH,4.0 +VTS,1,6,660,2.15,CRD,10.5 +VTS,1,6,480,2.6,CRD,9.5 +VTS,1,6,780,3.26,CRD,12.5 +VTS,1,6,240,0.69,CSH,4.5 +VTS,1,6,960,3.5,CRD,14.5 +VTS,1,6,2940,5.72,CRD,29.5 +VTS,1,6,840,4.17,CSH,14.5 +VTS,1,6,1080,5.67,CSH,19.0 +VTS,1,6,720,2.15,CRD,11.0 +VTS,1,6,960,9.56,CRD,27.0 +VTS,1,6,240,1.17,CSH,5.5 +VTS,1,6,900,6.73,CSH,20.5 +VTS,1,6,960,6.41,CRD,19.0 +VTS,1,6,2040,11.83,CRD,34.5 +VTS,1,6,1080,7.23,CSH,23.0 +VTS,1,6,1380,10.45,CSH,31.5 +VTS,1,6,420,0.88,CSH,6.0 +VTS,1,6,840,1.8,CSH,11.0 +VTS,1,6,420,1.07,CRD,6.5 +VTS,1,6,1680,7.56,CSH,25.5 +VTS,1,6,2580,6.23,CRD,30.5 +VTS,1,6,600,2.92,CSH,11.0 +VTS,1,6,480,1.83,CRD,8.0 +VTS,1,6,1140,4.25,CRD,15.5 +VTS,1,6,240,0.52,CSH,4.0 +VTS,1,6,600,1.74,CSH,8.5 +VTS,1,2,1080,6.02,CRD,19.5 +VTS,1,2,240,0.7,CRD,5.0 +VTS,1,2,540,2.68,CSH,9.5 +VTS,1,2,900,4.03,CRD,14.5 +VTS,1,2,1140,4.92,CSH,18.0 +VTS,1,1,1560,11.19,CRD,33.5 +VTS,1,6,0,0.0,CRD,2.5 +VTS,1,1,720,2.11,CSH,10.0 +VTS,1,6,840,3.17,CSH,13.0 +VTS,1,6,480,2.23,CSH,8.5 +VTS,1,6,1260,12.09,CSH,33.5 +VTS,1,6,1440,9.87,CRD,29.0 +VTS,1,6,180,0.8,CSH,4.5 +VTS,1,6,1080,3.29,CRD,14.0 +VTS,1,6,720,3.99,CSH,14.0 +VTS,1,6,360,1.06,CRD,6.0 +VTS,1,6,360,1.19,CRD,6.0 +VTS,1,6,480,1.18,CSH,6.5 +VTS,1,6,240,1.55,CRD,6.5 +VTS,1,6,1140,3.88,CRD,15.5 +VTS,1,6,180,1.04,CSH,5.0 +VTS,1,6,1440,5.05,CRD,19.0 +VTS,1,6,780,6.87,CSH,20.5 +VTS,1,6,240,1.29,CRD,6.0 +VTS,1,6,1200,6.15,CRD,20.0 +VTS,1,6,360,1.55,CSH,7.0 +VTS,1,2,540,1.35,CSH,7.5 +VTS,1,6,840,1.77,CRD,10.5 +VTS,1,1,720,2.49,CSH,11.0 +VTS,1,6,480,1.57,CRD,8.0 +VTS,1,6,1440,13.95,CRD,38.5 +VTS,5,1,1380,17.44,CRD,111.0 +VTS,1,6,1140,9.79,CRD,28.0 +VTS,1,6,480,1.48,CSH,7.5 +VTS,1,6,420,1.23,CSH,6.5 +VTS,1,6,840,4.38,CSH,15.0 +VTS,1,6,300,1.0,CRD,5.5 +VTS,1,1,780,3.29,CRD,12.5 +VTS,1,6,480,1.07,CSH,6.5 +VTS,1,6,840,2.85,CSH,12.0 +VTS,1,6,1620,9.41,CSH,28.5 +VTS,1,6,1020,4.62,CSH,16.0 +VTS,1,6,480,1.1,CSH,7.0 +VTS,1,6,300,1.13,CRD,5.5 +VTS,1,6,240,1.82,CRD,7.0 +VTS,1,2,300,1.62,CSH,7.0 +VTS,1,6,1140,5.05,CSH,18.5 +VTS,1,6,360,1.02,CSH,6.0 +VTS,1,6,1500,7.74,CRD,25.0 +VTS,1,6,300,0.79,CRD,5.0 +VTS,1,2,240,0.87,CSH,5.0 +VTS,1,6,780,4.36,CSH,14.5 +VTS,1,6,1080,8.29,CRD,24.5 +VTS,1,6,300,1.64,CRD,6.5 +VTS,1,6,480,1.36,CSH,7.0 +VTS,1,6,540,1.58,CSH,8.0 +VTS,1,6,720,1.99,CRD,9.0 +VTS,1,6,660,3.4,CRD,12.5 +VTS,1,6,1560,8.63,CRD,28.5 +VTS,1,6,900,1.82,CRD,10.0 +VTS,1,6,480,1.56,CSH,7.0 +VTS,1,6,1560,9.63,CRD,30.5 +VTS,1,6,660,1.56,CRD,9.0 +VTS,1,6,300,1.09,CRD,6.0 +VTS,1,6,540,2.05,CRD,8.5 +VTS,1,6,480,1.35,CRD,7.5 +VTS,1,6,1980,16.51,CRD,48.0 +VTS,1,6,420,1.37,CSH,7.0 +VTS,1,6,240,1.21,CSH,5.5 +VTS,1,6,360,0.72,CSH,5.0 +VTS,1,6,1260,9.78,CRD,29.0 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,6,1020,5.73,CRD,18.0 +VTS,1,6,1380,9.9,CRD,30.0 +VTS,1,6,600,2.45,CRD,10.0 +VTS,1,6,660,3.0,CSH,11.0 +VTS,1,6,840,2.47,CSH,12.0 +VTS,1,6,900,8.81,CRD,25.0 +VTS,1,6,480,1.61,CRD,7.5 +VTS,1,6,660,2.4,CRD,10.5 +VTS,1,6,1020,4.17,CRD,15.5 +VTS,1,6,120,0.83,CSH,4.5 +VTS,1,6,1320,4.83,CSH,18.5 +VTS,1,6,240,1.12,CRD,5.5 +VTS,1,2,360,1.09,CSH,6.5 +VTS,1,6,540,2.14,CRD,9.0 +VTS,1,6,900,2.89,CRD,12.0 +VTS,1,6,180,0.76,CRD,5.0 +VTS,1,6,1140,4.95,CRD,18.5 +VTS,1,6,420,1.4,CSH,7.0 +VTS,1,6,1140,6.12,CSH,20.0 +VTS,1,6,360,1.34,CRD,6.5 +VTS,1,6,420,1.47,CSH,7.0 +VTS,1,2,420,2.88,CSH,10.0 +VTS,1,6,300,2.64,CSH,9.0 +VTS,1,6,780,4.75,CRD,15.5 +VTS,1,6,1320,7.93,CRD,24.0 +VTS,1,6,1680,10.58,CRD,31.0 +VTS,1,6,1320,6.41,CSH,20.0 +VTS,1,6,1800,10.63,CRD,31.5 +VTS,1,6,840,1.5,CRD,9.0 +VTS,1,6,420,1.04,CRD,6.5 +VTS,1,6,1680,5.93,CRD,23.0 +VTS,1,6,1980,6.97,CRD,24.0 +VTS,1,2,120,0.54,CRD,4.0 +VTS,1,6,1140,9.62,CSH,27.5 +VTS,1,6,1020,4.58,CRD,15.5 +VTS,1,6,840,1.77,CSH,10.5 +VTS,1,6,540,1.89,CSH,9.0 +VTS,1,6,1380,10.06,CRD,29.5 +VTS,1,6,420,2.16,CRD,8.5 +VTS,1,6,300,2.03,CSH,7.5 +VTS,1,6,2400,10.98,CRD,35.5 +VTS,1,6,420,0.8,CSH,5.5 +VTS,1,6,240,0.74,CRD,5.0 +VTS,1,6,240,0.57,CSH,4.5 +VTS,1,6,480,1.76,CRD,8.0 +VTS,1,6,1440,9.03,CRD,27.5 +VTS,1,6,420,1.18,CRD,6.5 +VTS,1,6,720,1.44,CSH,8.5 +VTS,1,6,1380,11.27,CSH,32.5 +VTS,1,2,1200,4.95,CSH,19.0 +VTS,1,6,120,0.64,CSH,4.0 +VTS,1,6,1080,3.45,CSH,14.0 +VTS,1,6,660,3.05,CSH,12.0 +VTS,1,6,480,2.32,CSH,9.0 +VTS,1,6,480,2.11,CSH,9.0 +VTS,1,6,120,0.86,CRD,4.5 +VTS,1,1,1440,4.32,CSH,18.5 +VTS,1,6,420,1.79,CSH,8.0 +VTS,1,6,1140,9.8,CRD,28.5 +VTS,1,6,1140,11.13,CRD,31.5 +VTS,1,6,360,0.99,CSH,6.0 +VTS,1,6,420,1.22,CRD,6.5 +VTS,1,6,840,4.28,CSH,15.0 +VTS,1,6,780,2.98,CRD,12.0 +VTS,1,6,480,1.35,CRD,8.0 +VTS,1,6,420,1.96,CSH,8.5 +VTS,1,6,1020,3.88,CRD,14.5 +VTS,1,6,360,1.24,CRD,6.0 +VTS,1,6,840,8.8,CRD,25.0 +VTS,1,6,1740,10.22,CSH,33.0 +VTS,1,6,300,1.98,CRD,7.5 +VTS,1,1,480,1.88,CSH,8.5 +VTS,1,6,1200,5.21,CSH,18.0 +VTS,1,6,540,1.45,CRD,7.5 +VTS,1,6,1320,9.3,CSH,28.0 +VTS,1,6,900,3.16,CSH,13.0 +VTS,1,6,600,2.23,CRD,10.0 +VTS,1,6,360,1.16,CSH,6.5 +VTS,1,1,480,2.25,CSH,9.0 +VTS,1,6,240,0.8,CRD,5.0 +VTS,1,2,660,3.77,CRD,12.5 +VTS,1,6,1200,9.2,CRD,27.5 +VTS,1,1,1260,13.16,CRD,36.0 +VTS,1,6,360,2.34,CSH,8.5 +VTS,1,6,180,0.66,CSH,4.5 +VTS,1,6,360,1.15,CRD,6.5 +VTS,1,6,960,8.87,CRD,25.5 +VTS,1,6,600,3.01,CSH,11.0 +VTS,1,6,960,8.71,CSH,25.0 +VTS,1,6,240,1.11,CRD,5.5 +VTS,1,6,540,1.47,CSH,7.5 +VTS,1,6,840,2.29,CRD,11.0 +VTS,1,6,360,1.84,CRD,7.5 +VTS,1,6,720,3.5,CSH,12.0 +VTS,1,6,960,7.97,CSH,23.5 +VTS,1,6,120,0.37,CRD,3.5 +VTS,1,6,480,1.28,CRD,7.0 +VTS,1,6,840,4.66,CRD,15.0 +VTS,1,6,660,2.47,CRD,11.0 +VTS,1,6,1800,11.68,CRD,36.0 +VTS,1,6,780,2.92,CRD,11.5 +VTS,1,1,240,0.91,CSH,5.0 +VTS,1,1,720,1.89,CRD,10.0 +VTS,1,1,360,1.64,CSH,7.0 +VTS,1,1,120,0.58,CSH,4.0 +VTS,1,1,1020,3.91,CSH,15.0 +VTS,1,1,360,0.92,CSH,6.0 +VTS,1,1,240,0.55,CRD,5.0 +VTS,1,1,960,1.82,CRD,12.0 +VTS,1,1,600,3.14,CRD,11.5 +VTS,1,1,600,1.38,CRD,8.5 +VTS,1,1,720,2.25,CSH,10.5 +VTS,1,1,600,2.0,CRD,9.0 +VTS,1,1,720,1.34,CSH,8.5 +VTS,1,1,120,0.01,CSH,3.5 +VTS,1,2,900,1.41,CSH,10.5 +VTS,1,1,780,2.95,CSH,12.0 +VTS,1,2,720,1.86,CRD,10.0 +VTS,1,1,960,3.04,CRD,13.0 +VTS,1,6,420,1.88,CSH,8.0 +VTS,1,6,900,9.1,CRD,26.0 +VTS,1,6,360,1.68,CSH,7.0 +VTS,1,6,960,2.59,CRD,11.5 +VTS,1,6,540,2.31,CRD,9.5 +VTS,1,6,360,0.91,CRD,6.0 +VTS,1,6,360,1.0,CRD,6.0 +VTS,1,2,1200,7.48,CSH,23.5 +VTS,1,6,300,1.95,CRD,7.5 +VTS,1,6,840,7.06,CRD,21.0 +VTS,1,6,1500,9.33,CRD,29.0 +VTS,1,6,540,2.68,CRD,10.5 +VTS,1,6,900,5.48,CSH,18.0 +VTS,1,6,360,1.55,CRD,6.5 +VTS,1,6,300,1.09,CSH,6.0 +VTS,1,6,480,1.34,CRD,7.0 +VTS,1,6,600,1.92,CSH,9.5 +VTS,1,6,900,4.71,CSH,16.5 +VTS,1,6,900,6.13,CRD,20.0 +VTS,1,6,1140,9.79,CRD,28.5 +VTS,1,6,960,3.81,CRD,15.5 +VTS,1,6,3060,10.54,CSH,36.5 +VTS,1,6,600,1.26,CRD,7.5 +VTS,1,6,960,1.9,CRD,11.0 +VTS,1,1,300,1.02,CSH,5.5 +VTS,1,6,360,2.25,CSH,8.0 +VTS,1,6,960,3.43,CRD,13.5 +VTS,1,6,840,8.49,CRD,24.0 +VTS,1,6,240,0.77,CSH,4.5 +VTS,1,6,660,3.15,CRD,11.5 +VTS,1,1,480,0.88,CRD,6.5 +VTS,1,6,1020,9.18,CRD,26.0 +VTS,1,6,960,8.44,CRD,25.0 +VTS,1,6,660,3.21,CSH,12.0 +VTS,1,2,720,2.6,CSH,12.0 +VTS,1,6,780,3.26,CRD,12.5 +VTS,1,1,720,2.85,CRD,12.0 +VTS,1,6,1140,9.25,CSH,26.5 +VTS,1,6,600,2.44,CRD,10.0 +VTS,1,6,1140,11.09,CRD,31.5 +VTS,1,6,1200,10.78,CRD,30.5 +VTS,1,6,1440,8.96,CRD,26.5 +VTS,1,6,120,0.53,CRD,4.0 +VTS,1,6,1140,9.39,CRD,27.5 +VTS,1,6,540,2.17,CRD,9.0 +VTS,1,6,600,1.89,CRD,9.0 +VTS,1,6,2460,10.38,CRD,34.0 +VTS,1,6,660,5.25,CSH,16.0 +VTS,1,6,720,2.65,CSH,10.5 +VTS,1,6,840,2.6,CRD,10.5 +VTS,1,6,900,7.64,CRD,22.5 +VTS,1,6,540,1.99,CSH,8.5 +VTS,1,6,300,1.23,CRD,6.0 +VTS,1,6,1440,8.06,CRD,25.5 +VTS,1,6,780,3.75,CSH,13.5 +VTS,1,6,1980,5.7,CRD,24.5 +VTS,1,6,1080,8.72,CSH,25.0 +VTS,1,6,660,2.85,CRD,11.0 +VTS,1,6,600,3.87,CSH,12.5 +VTS,1,6,240,1.88,CRD,7.0 +VTS,1,6,780,3.26,CRD,12.0 +VTS,1,6,660,3.03,CRD,12.0 +VTS,1,6,480,2.69,CRD,10.0 +VTS,1,6,1320,9.39,CSH,27.0 +VTS,1,6,840,1.84,CRD,9.5 +VTS,1,6,1860,10.01,CRD,31.5 +VTS,1,6,720,1.26,CSH,8.0 +VTS,1,6,1260,2.42,CRD,13.5 +VTS,1,6,420,1.39,CSH,6.5 +VTS,1,6,2220,9.49,CSH,30.5 +VTS,1,6,1320,10.3,CSH,30.5 +VTS,1,6,660,1.03,CRD,7.5 +VTS,1,6,660,1.95,CSH,9.0 +VTS,1,6,1320,9.95,CRD,29.5 +VTS,1,6,1560,11.68,CRD,34.5 +VTS,1,6,780,1.25,CSH,8.5 +VTS,1,6,600,5.29,CRD,16.5 +VTS,1,6,900,8.1,CSH,23.5 +VTS,1,6,420,1.9,CRD,8.0 +VTS,1,6,120,0.41,CSH,3.5 +VTS,1,6,660,1.41,CRD,9.0 +VTS,1,6,120,0.25,CSH,3.5 +VTS,1,6,1020,3.02,CRD,14.0 +VTS,1,6,1380,10.11,CRD,29.5 +VTS,1,6,1260,10.48,CRD,30.5 +VTS,1,6,900,5.1,CSH,17.0 +VTS,1,6,420,1.04,CRD,6.0 +VTS,1,6,420,1.4,CSH,7.0 +VTS,1,6,780,4.54,CRD,15.5 +VTS,1,6,1260,4.46,CSH,16.0 +VTS,1,6,240,0.8,CSH,4.5 +VTS,1,6,720,3.22,CRD,12.0 +VTS,1,6,1260,9.2,CSH,28.0 +VTS,1,1,360,0.66,CSH,5.5 +VTS,1,1,840,1.79,CRD,10.5 +VTS,1,1,360,0.94,CSH,6.0 +VTS,1,6,600,3.47,CSH,12.5 +VTS,1,6,480,2.75,CRD,9.5 +VTS,1,2,660,2.53,CSH,11.0 +VTS,1,6,120,0.47,CSH,3.5 +VTS,1,6,1680,3.09,CSH,15.5 +VTS,1,6,540,1.5,CSH,8.0 +VTS,1,6,600,1.9,CRD,9.5 +VTS,1,6,840,3.67,CSH,13.5 +VTS,1,6,1380,14.99,CSH,40.5 +VTS,1,6,1260,9.69,CRD,27.5 +VTS,1,6,660,2.53,CRD,10.0 +VTS,1,6,960,5.44,CRD,17.0 +VTS,1,6,180,0.64,CRD,4.5 +VTS,1,6,360,0.59,CSH,5.0 +VTS,1,6,240,0.88,CRD,5.0 +VTS,1,1,480,1.14,CSH,6.5 +VTS,1,6,900,3.62,CSH,14.0 +VTS,1,6,360,0.99,CSH,6.0 +VTS,1,6,780,3.13,CSH,12.0 +VTS,1,6,1200,5.99,CSH,20.0 +VTS,1,1,900,4.55,CSH,16.5 +VTS,1,1,1200,3.02,CRD,14.5 +VTS,1,1,420,2.18,CSH,8.5 +VTS,1,1,420,1.07,CRD,7.0 +VTS,1,1,900,2.71,CRD,12.5 +VTS,1,1,1380,8.6,CRD,26.0 +VTS,1,1,660,1.18,CSH,9.0 +VTS,1,1,1320,9.87,CSH,29.5 +VTS,1,1,1020,2.79,CSH,13.5 +VTS,1,1,960,2.23,CRD,12.0 +VTS,1,1,840,1.98,CRD,10.5 +VTS,1,1,960,2.12,CRD,11.5 +VTS,1,1,960,1.88,CSH,11.0 +VTS,1,1,480,2.62,CSH,10.0 +VTS,1,1,300,1.03,CRD,6.0 +VTS,1,1,540,1.37,CSH,8.0 +VTS,1,1,480,1.94,CRD,9.0 +VTS,1,1,420,1.61,CSH,7.5 +VTS,1,1,780,2.44,CSH,11.0 +VTS,1,1,300,1.55,CRD,7.0 +VTS,1,1,540,2.83,CRD,10.5 +VTS,1,1,300,1.39,CRD,6.5 +VTS,1,1,360,1.9,CRD,8.0 +VTS,1,1,2340,12.36,CRD,39.5 +VTS,1,1,840,2.1,CSH,11.0 +VTS,1,1,660,1.64,CSH,9.0 +VTS,1,1,420,0.9,CRD,6.5 +VTS,1,1,1020,2.62,CSH,12.5 +VTS,1,1,840,2.76,CRD,12.5 +CMT,1,1,180,0.2,CSH,4.0 +CMT,1,1,270,0.6,CSH,5.0 +CMT,1,1,417,1.0,CSH,6.5 +VTS,1,6,1020,11.34,CRD,31.0 +VTS,1,6,540,2.61,CRD,10.0 +VTS,1,6,240,1.16,CRD,5.5 +VTS,1,6,300,1.08,CSH,6.0 +VTS,1,6,360,2.08,CRD,8.0 +VTS,1,6,240,0.58,CSH,4.5 +VTS,1,6,1080,6.2,CRD,20.0 +VTS,1,6,480,2.26,CRD,8.5 +VTS,1,6,720,1.51,CRD,8.5 +VTS,1,1,120,0.58,CSH,3.5 +VTS,3,1,2460,17.18,CSH,70.0 +VTS,1,1,840,3.42,CRD,13.5 +VTS,1,1,540,1.62,CSH,8.5 +VTS,1,1,1320,9.71,CSH,29.5 +VTS,1,1,360,1.48,CSH,6.5 +VTS,1,1,120,0.57,CSH,3.5 +VTS,1,1,300,1.15,CRD,6.0 +VTS,1,1,900,3.0,CRD,13.0 +VTS,1,1,480,1.48,CRD,7.5 +VTS,1,1,480,0.74,CRD,7.0 +VTS,1,1,960,9.42,CSH,26.5 +VTS,1,1,660,0.9,CRD,7.5 +VTS,1,1,600,0.89,CRD,8.0 +VTS,1,1,540,1.02,CRD,7.5 +VTS,1,1,600,1.84,CRD,9.0 +VTS,1,1,420,1.53,CSH,8.0 +VTS,1,6,900,4.08,CSH,14.5 +VTS,1,6,660,2.36,CRD,10.0 +VTS,1,6,1740,2.43,CRD,16.5 +VTS,1,2,300,1.08,CSH,6.0 +VTS,1,6,2820,10.21,CSH,39.5 +VTS,1,1,780,2.3,CRD,10.5 +VTS,2,6,2580,17.19,CRD,52.0 +VTS,1,6,1980,11.89,CSH,37.0 +VTS,1,6,660,2.66,CRD,10.5 +VTS,1,6,480,1.69,CRD,8.0 +VTS,1,6,600,2.7,CSH,10.0 +VTS,1,6,600,2.71,CSH,10.5 +VTS,1,6,240,0.93,CRD,5.0 +VTS,1,6,360,2.27,CRD,8.5 +VTS,1,1,480,1.45,CRD,8.0 +VTS,1,1,420,1.31,CSH,7.0 +VTS,1,1,780,1.82,CSH,10.0 +VTS,1,1,120,0.54,CRD,4.0 +VTS,1,1,2520,13.82,CSH,44.0 +VTS,1,1,240,1.19,CRD,5.5 +VTS,1,1,1020,3.1,CSH,14.0 +VTS,1,1,300,1.02,CRD,5.5 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,600,1.7,CRD,8.5 +VTS,1,1,420,1.85,CSH,7.5 +VTS,1,1,720,2.95,CRD,12.0 +VTS,1,6,600,2.96,CRD,11.0 +VTS,1,6,840,1.2,CSH,9.0 +VTS,1,6,780,2.83,CRD,11.5 +VTS,1,6,660,2.27,CRD,10.0 +VTS,1,6,960,2.79,CSH,13.5 +VTS,1,6,960,5.13,CSH,17.0 +VTS,1,6,360,1.13,CRD,6.0 +VTS,1,6,1140,11.12,CSH,31.0 +VTS,1,6,180,1.18,CSH,5.5 +VTS,1,6,1380,11.38,CRD,32.5 +VTS,1,6,1200,3.17,CRD,14.5 +VTS,1,6,180,0.62,CRD,4.0 +VTS,1,6,120,0.59,CSH,4.0 +VTS,1,6,480,2.54,CRD,10.0 +VTS,1,6,360,1.05,CSH,6.5 +VTS,1,6,900,3.89,CSH,14.5 +VTS,1,1,1560,5.6,CRD,21.0 +VTS,1,1,780,1.94,CSH,11.0 +VTS,1,1,300,0.79,CSH,5.0 +VTS,1,1,780,7.6,CSH,22.0 +VTS,1,1,540,1.2,CRD,7.5 +VTS,1,1,540,2.17,CSH,9.5 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,840,2.41,CSH,11.5 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,420,0.79,CRD,6.0 +VTS,1,1,960,3.49,CRD,14.5 +VTS,1,1,180,0.96,CRD,5.0 +VTS,1,1,1560,7.85,CRD,27.0 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,660,2.27,CRD,10.5 +VTS,1,1,2280,11.89,CSH,37.0 +VTS,1,1,660,2.59,CSH,10.0 +VTS,1,1,1260,2.31,CSH,15.0 +VTS,1,1,720,2.93,CSH,12.0 +VTS,1,1,360,1.44,CSH,7.0 +VTS,1,1,900,8.26,CRD,24.5 +VTS,1,1,300,1.82,CRD,7.0 +VTS,1,1,120,0.31,CSH,3.5 +VTS,1,1,1260,5.48,CRD,20.0 +VTS,1,1,900,11.95,CRD,32.5 +VTS,1,1,480,1.93,CSH,8.5 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,600,1.74,CRD,8.5 +VTS,1,1,1980,4.13,CRD,22.5 +VTS,2,1,3180,17.69,CRD,52.0 +CMT,1,1,338,0.9,CRD,6.0 +CMT,1,2,739,1.5,CSH,9.5 +CMT,1,3,374,0.4,CSH,5.5 +CMT,1,1,168,0.6,CRD,4.5 +CMT,1,3,893,2.6,CSH,12.0 +CMT,1,2,692,2.1,CRD,10.0 +VTS,1,1,900,1.86,CRD,11.5 +VTS,1,1,600,1.45,CRD,8.5 +VTS,1,1,600,2.68,CRD,11.5 +VTS,1,1,420,1.51,CRD,7.5 +VTS,1,1,780,1.7,CRD,10.5 +VTS,1,1,1080,9.59,CRD,27.5 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,1800,10.15,CRD,30.0 +VTS,1,1,900,1.6,CRD,11.0 +VTS,1,1,840,3.82,CRD,13.5 +VTS,1,1,1320,8.72,CSH,27.0 +VTS,1,1,840,2.46,CSH,11.5 +VTS,1,1,1860,10.22,CRD,32.0 +VTS,1,1,780,2.14,CRD,10.5 +VTS,1,1,1260,3.32,CRD,16.0 +CMT,1,1,318,0.4,CSH,5.5 +CMT,1,1,1207,4.7,CSH,19.0 +CMT,1,1,654,1.9,CRD,9.0 +CMT,1,1,634,2.7,CSH,10.5 +CMT,1,1,182,0.4,CSH,4.0 +CMT,1,2,546,1.8,CRD,8.5 +CMT,1,1,422,1.3,CRD,7.0 +CMT,1,2,1052,4.7,CSH,17.0 +CMT,1,2,487,1.6,CSH,8.0 +CMT,1,1,92,0.4,CSH,3.5 +CMT,1,1,318,1.1,CRD,6.0 +VTS,1,1,600,1.57,CRD,8.5 +VTS,1,1,240,1.27,CSH,6.0 +VTS,1,1,300,1.52,CRD,6.5 +VTS,1,1,180,0.45,CSH,4.0 +VTS,2,1,2040,17.11,CSH,52.0 +VTS,1,1,780,2.2,CRD,10.5 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,900,1.27,CSH,10.0 +VTS,1,1,720,1.44,CSH,9.5 +VTS,1,1,1200,8.73,CSH,26.5 +VTS,1,1,420,1.82,CRD,8.0 +VTS,1,1,420,2.14,CRD,8.5 +VTS,1,2,960,2.58,CSH,13.5 +VTS,2,1,1620,15.48,CRD,52.0 +VTS,1,1,1620,13.8,CSH,38.5 +VTS,1,1,600,2.1,CRD,9.0 +VTS,1,2,900,1.85,CRD,11.0 +VTS,1,1,480,0.84,CSH,7.0 +VTS,1,1,180,1.0,CRD,5.0 +VTS,1,1,1260,4.26,CRD,17.0 +VTS,1,1,960,5.0,CSH,17.0 +VTS,1,1,600,1.53,CRD,9.0 +CMT,1,1,353,1.3,CRD,7.0 +CMT,1,1,409,2.0,CRD,8.5 +CMT,1,2,211,0.5,CSH,4.5 +CMT,1,2,472,0.8,CSH,6.5 +VTS,1,6,240,0.46,CSH,4.5 +VTS,1,6,600,1.24,CRD,7.5 +VTS,1,6,420,1.88,CRD,8.0 +VTS,1,6,1320,8.01,CRD,25.0 +VTS,1,6,1380,2.53,CRD,14.0 +VTS,1,6,1140,12.24,CRD,34.0 +VTS,1,6,840,2.31,CSH,11.5 +VTS,1,6,1080,10.62,CRD,30.0 +VTS,1,6,780,8.47,CSH,24.0 +VTS,1,6,1140,8.88,CRD,26.0 +VTS,1,6,600,1.66,CSH,8.5 +VTS,1,6,1080,9.37,CSH,27.0 +VTS,1,6,780,8.53,CRD,24.5 +VTS,1,6,600,1.85,CSH,9.5 +VTS,1,6,120,0.35,CRD,3.5 +VTS,1,2,360,1.13,CSH,6.0 +VTS,1,6,720,2.8,CSH,11.5 +VTS,1,6,900,4.54,CSH,16.0 +VTS,1,6,840,9.7,CRD,26.5 +VTS,1,6,240,1.46,CSH,6.5 +VTS,1,6,540,1.33,CSH,8.0 +VTS,1,6,1260,3.58,CRD,15.5 +VTS,1,6,240,0.72,CRD,5.0 +VTS,1,2,1260,4.35,CSH,17.5 +VTS,1,1,240,1.43,CSH,6.0 +VTS,1,6,540,2.48,CSH,10.0 +VTS,1,1,600,1.92,CSH,9.5 +VTS,1,1,720,6.91,CRD,21.0 +VTS,1,1,240,0.92,CRD,5.0 +VTS,1,1,600,0.84,CRD,7.5 +VTS,1,1,1740,3.78,CRD,19.5 +VTS,1,1,300,0.49,CRD,5.0 +VTS,1,1,360,1.04,CRD,6.0 +VTS,1,1,1560,7.98,CRD,26.5 +VTS,1,1,840,6.29,CRD,20.0 +VTS,1,1,1200,8.85,CRD,27.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,180,0.44,CSH,4.0 +VTS,1,1,1500,4.68,CSH,20.0 +VTS,1,2,300,0.99,CRD,5.5 +VTS,1,1,1440,9.36,CSH,28.5 +VTS,1,1,300,0.67,CSH,5.5 +VTS,1,1,2100,9.17,CRD,30.5 +VTS,1,1,2100,4.96,CRD,21.5 +VTS,1,1,540,1.8,CSH,8.0 +VTS,1,1,300,1.09,CRD,6.0 +VTS,1,1,780,2.1,CRD,10.5 +VTS,1,1,1140,4.84,CRD,17.5 +VTS,1,1,300,1.21,CSH,6.0 +VTS,1,1,720,1.87,CRD,9.5 +VTS,1,1,540,1.39,CRD,8.0 +VTS,1,6,240,1.66,CSH,7.0 +VTS,1,6,780,3.4,CRD,12.5 +VTS,1,6,480,3.53,CRD,11.5 +VTS,1,6,360,1.35,CSH,6.5 +VTS,1,6,480,1.32,CRD,7.5 +VTS,1,6,600,1.52,CRD,8.0 +VTS,1,6,1320,10.83,CRD,31.0 +VTS,1,6,600,2.21,CSH,10.0 +VTS,1,6,240,1.13,CSH,5.5 +VTS,1,6,900,4.79,CRD,16.0 +VTS,1,6,1860,2.02,CRD,15.5 +VTS,1,6,360,0.65,CSH,5.0 +VTS,1,2,720,2.2,CRD,10.5 +VTS,1,6,600,2.92,CRD,11.0 +VTS,1,6,960,9.94,CRD,28.0 +VTS,1,6,360,1.36,CRD,7.0 +VTS,1,6,600,1.0,CSH,7.5 +VTS,1,6,960,4.48,CRD,15.5 +VTS,1,6,1380,5.72,CRD,20.5 +VTS,1,6,1080,2.62,CSH,12.5 +VTS,1,6,1980,8.96,CRD,26.5 +VTS,1,6,300,0.88,CRD,5.5 +VTS,1,6,960,9.97,CRD,28.0 +VTS,1,1,600,0.95,CSH,8.0 +VTS,1,1,840,2.75,CRD,12.0 +VTS,1,1,300,1.02,CRD,6.0 +VTS,1,6,720,1.69,CRD,9.0 +VTS,1,1,1320,10.04,CRD,28.0 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,1260,3.27,CRD,16.0 +VTS,1,1,720,2.08,CRD,10.0 +VTS,1,1,420,1.1,CRD,6.5 +VTS,1,1,540,2.89,CSH,11.0 +VTS,1,1,960,9.49,CSH,27.5 +VTS,1,1,540,1.77,CRD,8.5 +VTS,1,1,240,1.62,CRD,6.5 +VTS,1,1,660,1.64,CSH,8.5 +VTS,1,1,900,8.27,CSH,24.0 +VTS,1,1,840,2.74,CRD,12.5 +VTS,1,1,240,0.96,CRD,5.0 +VTS,1,1,420,0.82,CRD,6.5 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,660,1.6,CRD,9.0 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,480,1.6,CRD,7.5 +VTS,1,1,300,0.55,CSH,5.0 +VTS,1,1,240,0.74,CRD,5.0 +VTS,1,1,1620,9.1,CRD,29.5 +VTS,1,1,1020,3.56,CRD,15.0 +VTS,1,1,480,1.32,CSH,7.0 +VTS,1,1,720,2.85,CSH,11.5 +VTS,1,1,720,1.86,CSH,10.0 +VTS,1,1,480,1.92,CRD,8.5 +VTS,1,1,60,0.15,CSH,3.0 +VTS,1,1,1800,8.62,CRD,29.0 +VTS,1,1,960,1.89,CRD,11.5 +VTS,1,1,360,1.16,CRD,6.5 +VTS,1,1,600,1.58,CSH,8.5 +VTS,1,1,480,1.04,CSH,7.0 +VTS,1,1,1140,3.85,CRD,16.5 +VTS,1,1,1080,5.27,CRD,18.5 +VTS,1,1,780,3.12,CRD,12.5 +VTS,1,1,900,2.62,CSH,12.5 +VTS,1,1,600,2.73,CRD,11.0 +VTS,1,1,600,1.7,CSH,9.5 +VTS,2,1,1740,18.63,CSH,52.0 +VTS,1,1,420,1.31,CSH,6.5 +VTS,1,1,1080,11.94,CRD,32.5 +VTS,1,1,720,2.35,CRD,10.5 +VTS,1,1,480,1.2,CRD,7.0 +VTS,1,1,960,3.52,CSH,14.0 +VTS,1,1,240,1.21,CSH,5.5 +VTS,3,1,2640,20.19,CRD,76.5 +VTS,1,1,300,1.31,CSH,6.5 +VTS,1,1,660,4.67,CSH,15.5 +VTS,1,1,360,0.79,CSH,6.0 +VTS,1,1,600,1.5,CRD,8.5 +VTS,1,1,300,1.04,CSH,6.0 +VTS,1,1,2640,21.32,CRD,61.0 +VTS,1,1,720,1.32,CRD,9.0 +VTS,1,1,600,0.82,CSH,7.5 +VTS,1,1,540,1.71,CSH,8.5 +CMT,1,1,1149,5.2,CRD,19.0 +CMT,1,2,327,0.6,CSH,5.0 +CMT,1,1,444,1.5,CSH,7.5 +CMT,1,1,173,0.6,CRD,4.5 +CMT,1,2,1679,3.8,CSH,19.5 +CMT,1,2,685,2.1,CRD,10.0 +CMT,1,1,839,2.5,CSH,12.0 +CMT,1,1,788,5.0,CRD,17.5 +CMT,1,1,827,3.4,CRD,13.5 +CMT,1,1,965,2.7,CRD,13.0 +CMT,1,2,663,2.5,CSH,11.0 +CMT,1,1,696,3.0,CRD,12.5 +CMT,1,2,439,1.9,CRD,8.0 +CMT,1,1,784,2.7,CRD,12.5 +CMT,1,1,149,0.8,CSH,4.5 +CMT,1,1,323,1.0,CSH,6.0 +CMT,1,1,1279,3.1,CSH,15.5 +CMT,1,1,434,1.0,CRD,6.5 +CMT,1,1,846,5.4,CRD,17.0 +CMT,1,1,243,1.2,CRD,5.5 +CMT,1,1,1668,10.2,CSH,30.0 +CMT,1,1,817,3.4,CSH,12.5 +VTS,1,1,720,2.24,CRD,10.5 +VTS,1,1,1140,4.3,CRD,17.0 +VTS,1,1,1560,4.61,CRD,20.0 +VTS,1,1,840,3.82,CRD,14.5 +VTS,1,1,240,0.95,CRD,5.5 +VTS,1,1,300,1.06,CRD,6.0 +VTS,1,1,180,0.45,CRD,4.0 +VTS,1,1,540,0.56,CSH,7.0 +VTS,1,1,240,0.74,CSH,5.0 +VTS,1,1,420,3.49,CSH,12.0 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,600,1.82,CRD,9.0 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,1020,1.96,CRD,12.5 +VTS,1,1,660,2.01,CRD,10.0 +VTS,1,1,1260,10.07,CRD,28.5 +VTS,1,1,480,1.72,CSH,8.0 +VTS,1,1,2100,9.79,CRD,32.5 +VTS,1,1,2040,6.08,CRD,25.5 +VTS,1,1,1260,6.43,CSH,21.5 +VTS,1,1,1020,3.06,CSH,13.0 +CMT,1,1,1048,4.3,CRD,17.0 +CMT,1,1,181,0.8,CSH,5.0 +CMT,1,1,486,1.1,CRD,7.0 +CMT,1,1,776,0.7,CRD,9.0 +CMT,1,1,239,0.9,CRD,5.0 +CMT,1,1,354,0.6,CRD,5.5 +CMT,1,2,1864,3.4,CRD,20.5 +CMT,1,2,453,2.1,CRD,8.5 +CMT,1,1,1994,3.5,CSH,21.0 +CMT,1,1,1291,2.1,CRD,14.5 +CMT,1,1,126,0.3,CSH,3.5 +CMT,1,1,407,1.2,CRD,6.5 +CMT,1,1,297,0.7,CRD,5.5 +CMT,1,1,426,1.6,CRD,7.5 +CMT,1,1,144,0.6,CRD,4.0 +CMT,1,1,365,1.1,CRD,6.5 +CMT,1,1,836,2.2,CRD,11.5 +CMT,1,1,438,1.2,CRD,7.0 +CMT,1,1,1231,5.7,CRD,19.5 +CMT,1,1,257,0.7,CRD,5.0 +CMT,1,1,564,2.4,CRD,10.0 +CMT,1,1,548,1.9,CSH,9.5 +CMT,1,1,1286,6.9,CSH,22.5 +CMT,1,1,718,3.8,CRD,13.5 +CMT,1,1,423,0.9,CRD,6.5 +CMT,1,1,1104,3.3,CRD,15.0 +CMT,1,1,424,1.6,CSH,7.5 +CMT,1,1,168,0.5,CRD,4.0 +CMT,1,2,831,2.1,CSH,11.0 +CMT,1,2,1256,8.7,CRD,27.5 +CMT,1,1,203,0.3,CSH,4.0 +CMT,1,1,820,1.7,CSH,10.5 +CMT,1,2,503,1.6,CRD,8.0 +CMT,1,1,539,1.8,CRD,9.0 +CMT,1,2,635,2.6,CRD,10.5 +CMT,1,2,481,1.7,CSH,8.0 +CMT,1,1,376,0.6,CRD,6.0 +CMT,1,1,314,0.7,CSH,5.5 +CMT,1,2,895,3.0,CRD,13.0 +CMT,1,2,494,1.8,CRD,8.5 +CMT,1,1,848,3.0,CSH,12.5 +CMT,1,1,646,3.5,CRD,12.5 +CMT,1,1,634,1.5,CSH,9.0 +CMT,1,1,1029,3.4,CRD,15.5 +CMT,1,2,509,2.5,CRD,10.0 +CMT,1,1,823,3.3,CSH,13.0 +CMT,1,1,489,1.1,CSH,7.0 +CMT,1,1,1119,4.8,CRD,17.5 +CMT,1,1,243,0.7,CSH,5.0 +CMT,1,1,507,2.7,CSH,10.5 +CMT,1,1,634,3.1,CRD,11.5 +CMT,1,1,240,1.1,CRD,5.5 +CMT,1,1,540,3.0,CSH,11.5 +CMT,1,1,226,0.7,CRD,5.0 +CMT,1,1,232,1.3,CRD,5.5 +CMT,1,2,152,0.5,CSH,4.0 +CMT,1,1,559,1.4,CRD,8.5 +CMT,1,1,177,0.6,CRD,4.5 +CMT,1,1,1048,5.2,CRD,18.5 +CMT,1,1,1071,9.0,CRD,26.5 +CMT,1,1,614,1.0,CSH,8.0 +CMT,1,2,993,2.7,CSH,12.5 +CMT,1,1,249,0.5,CSH,5.0 +CMT,1,1,176,0.5,CRD,4.5 +CMT,1,2,344,0.8,CSH,5.5 +CMT,1,1,322,1.1,CSH,6.5 +CMT,1,1,371,1.4,CRD,7.0 +CMT,1,1,287,0.7,CSH,5.0 +CMT,1,1,511,1.3,CSH,7.5 +CMT,1,1,669,2.3,CRD,10.0 +CMT,1,4,832,2.5,CSH,11.5 +CMT,1,1,437,2.2,CSH,9.0 +CMT,1,1,1097,2.7,CRD,14.0 +CMT,1,1,1333,2.7,CRD,15.0 +CMT,1,1,700,1.7,CRD,9.5 +CMT,1,2,676,1.1,CSH,8.5 +CMT,1,1,709,5.4,CRD,17.5 +CMT,1,1,143,0.7,CRD,4.0 +CMT,1,1,412,1.1,CSH,6.5 +CMT,1,1,882,1.5,CSH,11.0 +CMT,1,2,376,1.2,CRD,6.5 +CMT,2,1,2247,19.4,CRD,52.0 +CMT,1,1,124,0.3,CSH,3.5 +VTS,1,1,660,1.4,CSH,8.5 +VTS,1,1,360,1.27,CSH,7.0 +VTS,1,1,540,1.05,CRD,7.5 +VTS,1,1,720,2.72,CSH,11.5 +VTS,1,1,540,1.01,CRD,8.0 +VTS,1,1,1020,1.48,CRD,11.5 +VTS,1,1,1080,1.33,CRD,12.0 +VTS,1,1,840,1.84,CRD,10.5 +VTS,4,1,2460,21.9,CRD,80.5 +CMT,1,1,641,2.5,CRD,10.5 +CMT,1,1,525,1.9,CRD,8.5 +CMT,1,1,69,0.2,NOC,3.0 +CMT,1,2,1197,3.0,CRD,15.0 +CMT,1,4,691,1.7,CSH,9.5 +CMT,1,1,379,0.8,CRD,6.0 +CMT,1,1,816,3.9,CSH,14.5 +CMT,1,2,263,0.6,CRD,5.0 +CMT,1,2,758,2.0,CRD,10.0 +CMT,1,1,709,2.9,CRD,11.5 +CMT,1,1,252,0.6,CSH,5.0 +CMT,1,1,972,4.2,CRD,16.0 +CMT,1,1,2079,6.1,CRD,25.5 +CMT,1,1,371,1.4,CRD,7.0 +CMT,1,1,547,1.8,CSH,8.5 +CMT,1,1,458,1.5,CRD,8.0 +CMT,1,1,814,3.2,CRD,13.0 +CMT,1,4,967,2.4,CSH,12.0 +CMT,1,1,154,0.4,CRD,4.0 +CMT,1,1,196,0.6,CSH,4.5 +CMT,1,2,407,1.5,CRD,7.5 +CMT,1,1,324,1.2,CSH,6.0 +CMT,1,1,971,3.5,CRD,14.5 +CMT,1,1,655,3.9,CRD,13.0 +CMT,1,1,273,1.8,CRD,7.0 +CMT,1,1,448,1.3,CSH,7.0 +CMT,1,1,978,5.9,CSH,19.0 +CMT,1,1,795,2.1,CSH,10.5 +CMT,1,1,774,4.4,CSH,15.0 +CMT,1,1,187,1.1,CSH,5.0 +CMT,1,1,597,2.7,CSH,11.0 +CMT,1,1,247,0.9,CSH,5.0 +CMT,1,1,885,2.4,CRD,11.5 +CMT,1,1,796,1.7,CRD,10.5 +CMT,1,3,362,1.1,CRD,6.0 +CMT,1,1,97,0.4,CSH,3.5 +CMT,1,1,396,1.6,CSH,7.5 +CMT,1,1,565,1.5,CRD,8.0 +CMT,1,1,1017,5.8,CSH,19.0 +CMT,1,1,401,2.2,CSH,8.5 +CMT,1,1,301,1.2,CSH,6.0 +CMT,1,2,462,1.5,CSH,7.5 +CMT,1,1,248,0.6,CRD,5.0 +CMT,1,1,433,1.2,CSH,7.0 +CMT,1,1,672,1.3,CSH,9.0 +CMT,1,1,191,0.4,CSH,4.5 +CMT,1,1,1355,10.8,CRD,31.5 +CMT,1,3,1567,9.9,CSH,31.5 +CMT,1,3,249,0.9,CSH,5.0 +CMT,1,1,695,1.7,CSH,9.5 +CMT,1,1,139,0.6,CSH,4.0 +CMT,1,2,372,1.0,CSH,6.0 +CMT,1,2,282,0.9,CSH,5.5 +CMT,1,1,533,3.1,CRD,10.5 +CMT,1,1,828,1.8,CSH,11.0 +CMT,1,1,120,0.2,CSH,3.5 +CMT,1,1,396,0.9,CSH,6.5 +CMT,1,3,701,2.0,CSH,10.5 +CMT,1,1,334,0.8,CSH,5.5 +CMT,1,1,274,1.1,CSH,6.0 +CMT,1,2,1002,3.2,CSH,14.0 +CMT,1,1,315,1.5,CRD,6.5 +CMT,1,1,413,1.0,CRD,6.5 +CMT,1,1,986,3.0,CRD,13.5 +CMT,1,1,1504,7.0,CRD,24.0 +CMT,1,1,935,4.4,CRD,16.5 +CMT,1,1,1246,2.5,CRD,14.0 +CMT,1,1,107,0.5,CSH,3.5 +CMT,2,1,2627,16.5,CRD,52.0 +CMT,1,2,136,0.7,CSH,4.0 +CMT,1,1,747,2.4,CSH,11.0 +CMT,1,1,415,1.0,CRD,6.5 +CMT,1,1,549,2.2,CSH,9.0 +CMT,1,1,292,0.9,CRD,5.5 +CMT,1,1,332,0.8,CRD,5.5 +CMT,1,1,734,1.1,CSH,9.0 +CMT,1,1,168,0.6,CSH,4.5 +CMT,1,2,535,1.1,CSH,7.5 +CMT,1,1,938,5.1,CRD,16.5 +CMT,1,1,915,2.4,CSH,12.0 +CMT,1,4,586,1.2,CSH,7.5 +CMT,1,1,902,3.8,CSH,15.5 +CMT,1,1,1050,2.8,CSH,13.5 +CMT,1,1,283,0.8,CRD,5.5 +CMT,1,1,424,1.1,CRD,6.5 +CMT,1,1,917,2.7,CRD,12.5 +CMT,1,1,216,0.6,CRD,4.5 +CMT,1,2,543,1.4,CRD,8.5 +CMT,1,1,758,2.6,CSH,11.0 +CMT,1,1,357,2.5,CRD,9.0 +CMT,1,1,685,2.0,CRD,10.0 +CMT,1,1,1646,3.1,CSH,13.0 +CMT,1,1,969,2.4,CRD,12.0 +CMT,1,1,521,1.5,CSH,8.0 +CMT,1,1,302,1.0,CSH,5.5 +CMT,1,1,1208,4.9,CRD,18.5 +CMT,1,1,352,1.0,CSH,6.0 +CMT,2,1,3537,17.7,CRD,52.0 +CMT,1,1,1019,1.5,CSH,11.5 +CMT,1,1,396,0.6,CSH,6.0 +CMT,1,1,1382,4.1,CRD,18.0 +CMT,1,1,209,0.6,CRD,4.5 +CMT,1,1,185,0.4,CRD,4.0 +CMT,1,1,546,1.3,CRD,8.0 +CMT,1,1,689,1.3,CRD,9.0 +CMT,1,1,811,1.7,CSH,10.5 +CMT,1,1,473,1.8,CRD,8.5 +CMT,1,3,237,0.6,CSH,4.5 +CMT,1,1,514,0.8,CSH,7.0 +CMT,1,2,435,1.4,CSH,7.0 +CMT,1,1,487,2.1,CSH,8.5 +CMT,1,1,267,0.4,CSH,4.5 +CMT,1,1,1214,5.2,CRD,19.5 +CMT,1,2,379,0.8,CRD,6.0 +CMT,1,1,280,0.7,CRD,5.0 +CMT,1,1,818,2.1,CRD,11.0 +CMT,1,1,633,1.3,CRD,8.5 +CMT,1,1,954,2.7,CSH,12.5 +CMT,1,1,289,0.6,CRD,5.0 +CMT,1,2,214,0.2,CSH,4.0 +CMT,1,1,1220,11.7,CSH,33.5 +CMT,1,1,662,1.1,CRD,8.5 +CMT,1,3,620,1.3,CSH,8.5 +CMT,1,2,527,1.0,CSH,7.5 +CMT,1,2,1084,3.7,CRD,16.0 +CMT,1,1,262,1.2,CRD,6.0 +CMT,1,2,306,1.0,CRD,6.0 +CMT,1,1,380,1.1,CSH,6.5 +CMT,1,1,876,7.0,CRD,21.5 +CMT,1,1,1084,4.0,CRD,16.0 +CMT,1,1,350,0.9,CSH,6.5 +CMT,1,1,665,2.9,CSH,11.0 +CMT,1,1,544,1.3,CSH,8.0 +CMT,1,1,266,0.7,CSH,5.0 +CMT,1,1,992,1.1,CSH,11.0 +CMT,1,1,728,5.5,CRD,18.0 +CMT,1,2,1219,3.5,CRD,15.5 +CMT,1,1,1317,2.7,CRD,15.0 +CMT,1,1,822,2.0,CRD,11.0 +CMT,1,1,681,1.4,CRD,9.0 +CMT,1,1,141,0.5,CRD,4.0 +CMT,1,1,680,2.0,CRD,10.5 +CMT,1,1,923,2.4,CSH,12.5 +CMT,1,1,525,1.0,CSH,7.5 +CMT,1,2,954,2.4,CSH,12.5 +CMT,1,1,1014,3.4,CSH,14.5 +CMT,1,1,915,8.2,CRD,24.0 +CMT,1,2,994,4.4,CRD,16.0 +CMT,1,1,428,1.8,CRD,8.0 +CMT,1,1,737,1.4,CRD,9.5 +CMT,1,1,420,0.7,CRD,6.0 +CMT,1,1,559,2.2,CRD,9.0 +CMT,1,2,743,1.1,CSH,9.5 +CMT,1,1,460,1.6,CRD,7.5 +CMT,1,1,779,4.3,CRD,15.0 +CMT,1,1,694,1.4,CRD,9.0 +CMT,1,3,804,1.3,CSH,10.0 +CMT,1,1,385,1.2,CRD,6.5 +CMT,1,1,1057,4.7,CRD,17.5 +CMT,1,1,581,0.9,CRD,7.5 +CMT,1,2,809,1.4,CSH,9.5 +CMT,1,1,456,1.4,CSH,7.5 +CMT,1,1,436,1.6,CSH,7.5 +CMT,1,1,711,1.2,CRD,9.0 +CMT,1,1,959,1.5,CRD,11.0 +CMT,1,1,180,0.4,CSH,4.0 +CMT,1,1,353,1.1,CRD,6.5 +CMT,1,1,564,2.4,CSH,10.0 +CMT,1,2,447,1.8,CSH,8.5 +CMT,1,1,592,2.1,CRD,10.0 +CMT,1,1,351,1.2,CSH,6.5 +CMT,1,1,483,1.0,CRD,7.0 +CMT,1,1,774,1.9,CRD,10.0 +VTS,1,1,1560,8.93,CRD,28.0 +VTS,1,1,660,5.29,CRD,17.0 +VTS,1,1,900,4.19,CSH,15.5 +VTS,1,1,720,1.27,CSH,9.5 +VTS,1,1,540,0.99,CSH,7.0 +CMT,1,1,211,0.8,CSH,5.0 +CMT,1,2,1128,4.2,CRD,16.5 +CMT,1,1,2072,5.6,CSH,25.0 +CMT,1,1,978,3.2,CRD,13.5 +CMT,1,1,173,0.4,CRD,4.0 +CMT,1,1,568,1.2,CSH,8.0 +CMT,1,1,517,1.1,CSH,7.5 +CMT,1,1,217,1.0,CSH,5.5 +CMT,1,1,383,1.2,CSH,6.5 +CMT,1,1,622,1.1,CRD,8.0 +CMT,1,1,432,1.7,CSH,8.0 +CMT,1,1,342,0.9,CSH,6.0 +CMT,1,1,331,0.9,CSH,5.5 +CMT,1,1,746,3.3,CRD,13.0 +CMT,1,1,657,2.2,CRD,10.0 +CMT,1,1,409,1.4,CSH,7.0 +CMT,1,1,438,0.7,CSH,6.5 +CMT,1,1,814,1.8,CSH,10.5 +CMT,1,1,137,0.4,CRD,3.5 +CMT,1,1,577,1.5,CSH,8.5 +CMT,1,1,705,2.1,CRD,9.5 +CMT,1,1,497,2.5,CRD,9.5 +CMT,1,1,429,1.6,CSH,8.0 +CMT,1,1,598,3.5,CSH,12.5 +CMT,1,2,471,2.2,CSH,9.5 +CMT,1,1,495,1.7,CSH,9.0 +CMT,1,2,265,0.6,CSH,4.5 +CMT,1,2,572,2.1,CSH,10.0 +CMT,1,2,492,1.1,CSH,7.0 +CMT,1,1,633,1.6,CSH,9.0 +CMT,1,1,1355,3.5,CRD,18.0 +CMT,1,2,859,2.3,CRD,11.5 +CMT,1,1,486,1.3,CRD,7.5 +CMT,1,3,246,1.6,CRD,6.5 +CMT,1,1,1138,2.3,CRD,13.5 +CMT,1,1,843,6.0,CSH,18.5 +CMT,1,1,690,1.6,CSH,9.5 +CMT,1,1,317,0.9,CRD,6.0 +CMT,1,1,109,0.7,CRD,4.0 +CMT,1,1,661,1.7,CSH,9.5 +CMT,1,1,1265,2.6,CRD,14.5 +CMT,1,1,538,2.0,CRD,9.0 +CMT,1,2,591,0.9,CSH,7.5 +CMT,1,1,353,1.4,CSH,7.0 +CMT,1,1,306,1.1,CSH,6.0 +CMT,1,3,277,0.6,CSH,5.0 +CMT,1,1,245,0.5,CRD,4.5 +CMT,1,1,642,1.0,CSH,8.0 +CMT,1,1,245,0.7,CRD,4.5 +CMT,1,1,433,1.0,CRD,7.0 +CMT,1,1,576,1.5,CSH,8.5 +CMT,1,1,575,2.2,CRD,9.5 +CMT,1,3,1425,3.8,CRD,18.0 +CMT,1,1,683,2.8,CRD,11.0 +CMT,1,1,911,2.2,CSH,11.5 +CMT,1,1,312,0.5,CSH,5.0 +CMT,1,3,714,2.0,CRD,10.5 +CMT,1,1,753,2.1,CRD,10.5 +CMT,1,1,1282,7.7,CSH,23.5 +CMT,1,2,1009,4.2,CSH,16.5 +CMT,1,1,949,2.3,CSH,12.0 +CMT,1,1,767,3.1,CRD,12.0 +CMT,1,1,1757,10.0,CSH,31.5 +CMT,1,1,907,1.4,CRD,10.5 +CMT,1,1,602,1.4,CRD,8.0 +CMT,1,1,294,0.9,CSH,5.5 +CMT,1,1,679,0.9,CRD,8.5 +CMT,1,1,325,0.5,CSH,5.0 +CMT,1,2,268,1.1,CSH,6.0 +CMT,1,2,171,0.7,CSH,4.5 +CMT,1,1,401,1.0,CRD,6.5 +CMT,1,2,911,2.2,CSH,11.5 +CMT,1,2,1277,7.4,CRD,25.0 +CMT,1,2,178,0.3,CSH,4.0 +CMT,1,1,636,2.8,CSH,11.0 +CMT,1,2,613,1.1,CRD,8.0 +CMT,1,1,866,2.0,CRD,11.0 +CMT,1,1,411,1.0,CSH,6.5 +CMT,1,1,232,1.1,CRD,5.5 +CMT,1,1,854,3.4,CSH,13.5 +CMT,1,1,430,0.4,CRD,6.0 +CMT,1,1,331,0.6,CSH,5.5 +CMT,1,1,1433,2.5,CRD,16.0 +CMT,1,2,292,0.5,CRD,5.0 +CMT,1,1,56,0.1,CSH,3.0 +CMT,1,1,170,0.6,CSH,4.5 +CMT,1,1,890,1.7,CRD,11.0 +CMT,1,1,470,0.7,CSH,6.5 +CMT,1,1,144,0.4,CSH,3.5 +CMT,1,1,325,0.8,CSH,6.0 +CMT,1,4,539,1.2,CRD,7.5 +CMT,1,1,900,3.7,CRD,14.0 +CMT,1,1,224,0.8,CSH,5.0 +CMT,1,1,1271,2.5,CRD,14.5 +CMT,1,2,606,1.9,CRD,9.5 +CMT,1,1,269,0.4,CSH,5.0 +CMT,1,1,284,0.5,CSH,5.0 +CMT,1,1,696,5.0,CSH,16.5 +CMT,1,1,423,1.7,CRD,8.0 +CMT,1,1,680,2.9,CRD,12.0 +CMT,1,1,191,0.3,CSH,4.0 +CMT,1,4,963,2.0,CSH,12.5 +CMT,1,1,1189,2.3,CRD,14.0 +CMT,1,1,405,1.7,CRD,7.5 +CMT,1,2,565,1.5,CRD,8.5 +CMT,1,1,245,0.9,CSH,5.5 +CMT,1,1,138,0.2,CSH,3.5 +CMT,1,2,125,0.5,CRD,4.0 +CMT,1,2,2195,9.3,CRD,34.0 +CMT,1,1,1005,9.2,CRD,26.0 +CMT,1,1,481,2.1,CRD,8.5 +CMT,1,1,376,1.4,CRD,7.0 +CMT,1,1,956,1.9,CRD,11.5 +CMT,1,1,369,1.0,CRD,6.0 +CMT,1,1,1405,4.9,CRD,19.5 +CMT,1,1,952,2.4,CSH,12.5 +CMT,1,1,507,1.4,CSH,7.5 +CMT,1,1,1103,8.9,CRD,26.5 +CMT,1,1,285,0.5,CSH,5.0 +CMT,1,1,499,1.2,CSH,7.0 +CMT,1,1,90,0.5,CSH,3.5 +CMT,1,1,883,3.2,CSH,12.5 +CMT,1,1,119,0.7,CSH,4.0 +CMT,1,2,799,4.1,CSH,15.0 +CMT,1,1,1169,5.4,CRD,18.5 +CMT,1,2,435,1.4,CSH,7.0 +CMT,1,3,375,1.9,CRD,7.5 +CMT,1,1,249,1.8,CRD,7.0 +CMT,1,1,375,1.1,CRD,6.5 +CMT,1,1,236,0.9,CRD,5.0 +CMT,1,1,479,1.6,CSH,8.0 +CMT,1,4,570,1.3,CSH,8.0 +CMT,1,1,108,0.4,CSH,3.5 +CMT,1,2,363,0.7,CRD,5.5 +CMT,1,1,533,1.1,CSH,7.5 +CMT,1,1,799,1.0,CSH,9.5 +CMT,1,1,197,0.4,CRD,4.0 +CMT,1,1,522,1.0,CRD,7.5 +CMT,1,4,1214,3.8,CSH,16.5 +CMT,1,1,879,3.1,CRD,13.0 +CMT,1,1,1099,3.2,CRD,14.5 +CMT,1,1,164,0.4,CRD,4.0 +CMT,1,1,1366,3.8,CSH,18.0 +CMT,1,2,265,1.0,CRD,5.5 +CMT,1,1,683,1.9,CSH,10.0 +CMT,1,2,174,0.5,CRD,4.0 +CMT,1,1,285,0.7,CSH,5.0 +CMT,1,1,285,0.8,CRD,5.0 +CMT,1,1,451,1.1,CSH,7.0 +CMT,1,3,1082,2.1,CRD,13.0 +CMT,1,1,1253,2.0,CSH,14.0 +CMT,1,1,320,1.0,CRD,6.0 +CMT,1,1,216,1.0,CRD,5.0 +CMT,1,1,854,2.7,CSH,12.5 +CMT,1,1,992,2.3,CRD,12.0 +CMT,1,1,173,0.8,CSH,4.5 +CMT,1,4,417,1.0,CSH,6.0 +CMT,1,2,376,1.3,CRD,6.5 +CMT,1,1,690,2.0,CRD,10.0 +CMT,1,3,454,1.2,CRD,7.0 +CMT,1,2,922,1.6,CSH,11.5 +CMT,1,1,262,1.5,CSH,6.5 +CMT,1,1,293,1.4,CSH,6.5 +CMT,1,2,196,0.6,CRD,4.5 +CMT,1,1,385,0.8,CSH,6.0 +CMT,1,1,185,0.6,CRD,4.5 +CMT,1,1,442,0.8,CRD,6.5 +CMT,1,1,559,1.8,CSH,9.0 +CMT,1,1,776,1.8,CRD,10.0 +CMT,1,2,315,0.6,CRD,5.0 +CMT,1,1,481,1.1,CSH,7.0 +CMT,1,1,524,1.1,CSH,7.5 +CMT,1,1,627,3.1,CRD,11.5 +CMT,1,1,495,2.6,CSH,9.5 +CMT,1,1,928,6.1,CRD,20.0 +CMT,1,2,425,1.5,CSH,7.5 +CMT,1,1,429,1.1,CSH,6.5 +CMT,1,1,737,2.0,CRD,10.5 +CMT,1,2,693,2.1,CSH,10.0 +CMT,1,4,207,1.2,CRD,5.5 +CMT,1,1,884,8.8,CRD,25.0 +CMT,1,2,305,1.0,CSH,5.5 +CMT,1,1,405,1.2,CRD,7.0 +CMT,1,1,718,2.1,CSH,10.5 +CMT,1,1,174,0.7,CRD,4.5 +CMT,1,1,595,2.1,CRD,9.5 +CMT,1,1,538,1.4,CSH,8.0 +CMT,1,1,285,0.7,CSH,5.0 +CMT,1,1,1589,4.7,CSH,19.5 +CMT,1,1,769,3.7,CRD,14.0 +CMT,1,1,918,2.2,CSH,11.5 +CMT,1,2,756,1.5,CSH,9.5 +CMT,1,1,479,1.0,CRD,7.0 +CMT,1,2,302,0.3,CRD,5.0 +CMT,1,2,327,0.8,CRD,6.0 +CMT,1,1,348,0.8,CSH,6.0 +CMT,1,1,543,3.5,CRD,12.0 +CMT,1,1,549,1.1,CRD,8.0 +CMT,1,2,1205,1.6,CRD,13.0 +CMT,1,2,463,1.2,CSH,7.5 +CMT,1,1,283,0.4,CSH,5.0 +CMT,1,1,1133,1.9,CRD,12.5 +CMT,1,3,766,2.6,CSH,11.5 +CMT,1,1,606,1.8,CRD,9.5 +CMT,1,1,426,4.5,CSH,14.0 +CMT,1,1,246,0.6,CRD,5.0 +CMT,1,1,432,0.8,CRD,6.5 +CMT,1,1,1379,6.7,CRD,22.0 +CMT,1,1,215,0.8,CSH,5.0 +CMT,1,2,717,1.6,CSH,9.5 +CMT,1,2,168,0.4,CSH,4.0 +CMT,1,1,1398,12.6,CSH,35.0 +CMT,1,1,455,1.5,CSH,7.5 +CMT,1,4,469,0.9,CSH,7.0 +CMT,1,1,652,2.0,CRD,9.5 +CMT,1,2,210,0.6,CSH,4.5 +CMT,1,1,838,2.2,CRD,11.5 +CMT,1,1,160,0.4,CSH,4.0 +CMT,1,2,164,0.6,CSH,4.0 +CMT,1,1,553,1.2,CSH,8.0 +CMT,1,1,268,0.7,CSH,5.0 +CMT,1,1,1331,4.2,CRD,17.5 +CMT,1,1,343,0.6,CRD,5.5 +CMT,1,1,1278,3.2,CSH,15.0 +CMT,1,1,438,0.8,CRD,6.5 +CMT,1,4,722,2.1,CSH,10.0 +CMT,1,1,244,0.8,CSH,5.0 +CMT,1,1,319,0.9,CSH,6.0 +CMT,1,1,565,1.2,CSH,8.5 +CMT,1,1,1496,2.3,CRD,16.0 +CMT,1,1,456,1.0,CRD,6.5 +CMT,1,1,141,0.4,CSH,4.0 +CMT,1,1,536,1.2,CSH,8.0 +CMT,1,1,255,0.5,CSH,4.5 +CMT,1,1,1001,3.0,CRD,13.5 +CMT,1,1,1667,10.6,CSH,30.5 +CMT,1,1,344,0.7,CSH,6.0 +CMT,1,1,674,1.1,CSH,8.5 +CMT,1,1,926,4.0,CSH,15.0 +CMT,1,1,1149,5.3,CSH,18.5 +CMT,1,2,536,0.7,CSH,7.0 +CMT,1,1,764,3.8,CRD,13.5 +CMT,1,1,288,0.9,CRD,5.5 +CMT,1,2,769,3.1,CSH,12.0 +CMT,1,1,167,0.5,CSH,4.0 +CMT,1,4,1261,4.2,CRD,17.0 +CMT,1,1,1361,4.2,CRD,18.0 +CMT,1,1,1423,2.8,CRD,16.0 +CMT,1,1,957,1.6,CRD,12.0 +CMT,1,1,588,0.9,CSH,8.0 +CMT,1,2,404,1.2,CSH,7.0 +CMT,1,1,772,1.9,CSH,10.5 +CMT,1,1,347,1.4,CRD,7.0 +CMT,1,2,461,1.7,CSH,7.5 +CMT,1,2,877,3.1,CRD,13.5 +CMT,1,1,601,2.2,CRD,9.5 +CMT,1,1,1191,2.1,CSH,13.5 +CMT,1,1,210,1.0,CSH,5.0 +CMT,1,1,544,1.7,CRD,8.0 +CMT,1,2,385,0.7,CRD,6.0 +CMT,1,4,609,2.0,CRD,9.0 +CMT,1,1,1165,2.6,CRD,14.0 +CMT,1,1,302,0.9,CSH,5.5 +CMT,1,1,574,1.2,CSH,8.0 +CMT,1,1,1381,7.0,CSH,24.0 +CMT,1,1,796,1.3,CRD,10.0 +CMT,1,2,506,1.3,CSH,8.0 +CMT,1,1,409,0.6,CSH,6.5 +CMT,1,1,484,2.2,CRD,9.5 +CMT,1,1,878,1.9,CRD,11.0 +CMT,1,1,698,1.6,CSH,9.0 +CMT,1,1,269,1.7,CRD,7.0 +CMT,1,1,506,1.8,CRD,9.0 +CMT,1,4,177,0.6,CSH,4.0 +CMT,1,1,169,0.2,CSH,3.5 +CMT,1,2,1098,2.2,CSH,13.0 +CMT,1,1,804,2.2,CSH,11.0 +CMT,1,1,486,1.0,CRD,7.0 +CMT,1,4,363,1.5,CSH,7.0 +CMT,1,2,854,2.1,CRD,11.5 +CMT,1,1,535,1.6,CRD,8.5 +CMT,1,1,479,2.7,CRD,10.0 +CMT,1,1,698,1.2,CSH,9.0 +CMT,1,2,317,1.1,CRD,6.0 +CMT,1,1,869,3.8,CSH,14.5 +CMT,1,1,1195,3.6,CRD,16.0 +CMT,1,1,375,0.8,CRD,6.0 +CMT,1,1,258,0.5,CSH,4.5 +CMT,1,2,568,1.9,CSH,9.0 +CMT,1,1,179,0.8,CSH,5.0 +CMT,1,1,318,1.1,CSH,6.5 +CMT,1,1,799,2.1,CSH,10.5 +CMT,1,2,1176,2.6,CSH,15.0 +CMT,1,1,1248,5.3,CSH,19.5 +CMT,1,1,285,0.9,CSH,5.5 +CMT,1,3,591,1.4,CSH,8.5 +CMT,1,1,322,0.9,CRD,5.5 +CMT,1,2,452,0.6,CSH,6.5 +CMT,1,1,112,0.5,CSH,3.5 +CMT,1,1,1485,3.1,CRD,17.5 +CMT,1,1,452,1.0,CSH,6.5 +CMT,1,1,1113,1.9,CRD,13.0 +CMT,1,2,349,1.1,CSH,6.5 +CMT,1,3,170,0.5,CSH,4.5 +CMT,1,1,213,0.6,CSH,5.0 +CMT,1,1,394,1.2,CSH,7.0 +CMT,1,2,924,2.2,CRD,11.5 +CMT,1,1,355,1.6,CSH,7.5 +CMT,1,1,288,1.2,CSH,6.0 +CMT,1,1,527,1.9,CRD,9.0 +CMT,1,1,573,1.9,CRD,8.5 +CMT,1,1,481,1.0,CSH,7.0 +CMT,1,1,1734,4.7,CRD,21.5 +CMT,1,1,97,0.4,CSH,3.5 +CMT,1,1,992,3.5,CRD,15.0 +CMT,1,1,533,2.6,CSH,9.5 +CMT,1,1,516,2.5,CRD,10.0 +CMT,1,1,540,2.8,CSH,10.5 +CMT,1,1,278,1.6,CRD,7.0 +CMT,1,1,1333,8.5,CRD,28.0 +CMT,1,2,1127,3.5,CSH,14.5 +CMT,1,1,188,0.6,CSH,4.5 +CMT,1,1,624,2.2,CSH,10.0 +CMT,1,2,926,1.4,CRD,10.5 +CMT,1,1,159,0.5,CRD,4.0 +CMT,3,2,1617,16.3,CSH,63.0 +CMT,1,2,322,1.1,CRD,6.0 +CMT,1,2,940,2.5,CSH,12.0 +CMT,1,3,1445,6.6,CRD,23.0 +CMT,1,3,898,2.3,CRD,11.5 +CMT,1,2,404,0.8,CRD,6.0 +CMT,1,1,608,2.7,CSH,11.0 +CMT,1,2,1281,2.4,CSH,14.0 +CMT,1,1,412,0.9,CSH,6.5 +CMT,1,1,806,1.5,CSH,10.0 +CMT,1,2,1695,3.2,CSH,19.5 +CMT,1,1,525,3.4,CSH,12.0 +CMT,1,1,186,0.8,CSH,5.0 +CMT,1,1,470,1.1,CRD,7.0 +CMT,1,1,1286,2.4,CRD,14.5 +CMT,1,1,650,1.9,CRD,9.5 +CMT,1,3,616,1.4,CRD,8.5 +CMT,1,1,335,1.2,CRD,6.5 +CMT,1,1,371,0.8,CRD,6.0 +CMT,1,2,532,2.0,CRD,9.0 +CMT,1,1,369,1.5,CSH,6.5 +CMT,1,1,742,2.2,CSH,10.5 +CMT,1,2,247,0.6,CRD,5.0 +CMT,1,1,380,1.1,CRD,6.0 +CMT,1,1,960,1.5,CSH,11.0 +CMT,1,1,190,0.6,CSH,4.5 +CMT,1,1,380,1.0,CSH,6.5 +CMT,1,1,173,0.8,CSH,4.5 +CMT,1,2,398,1.0,CRD,6.0 +CMT,3,1,1962,17.1,CRD,65.5 +CMT,1,1,476,2.0,CRD,8.5 +CMT,1,1,438,1.8,CRD,8.5 +CMT,1,1,767,2.2,CRD,10.5 +CMT,1,1,1131,2.5,CRD,13.5 +CMT,1,2,1022,2.2,CRD,12.5 +CMT,1,2,996,1.5,CSH,11.5 +CMT,1,1,509,0.9,CSH,7.0 +CMT,1,4,520,1.0,CSH,7.5 +CMT,1,1,868,2.9,CSH,13.0 +CMT,1,1,565,1.6,CRD,8.5 +CMT,1,1,999,2.9,CRD,13.5 +CMT,1,1,2900,8.7,CRD,38.0 +CMT,1,1,418,2.8,CRD,10.0 +CMT,1,1,236,0.6,CSH,4.5 +CMT,1,1,918,2.2,CRD,12.0 +CMT,1,2,354,1.5,CSH,7.0 +CMT,1,1,473,2.5,CRD,9.5 +CMT,1,1,403,1.7,CRD,7.5 +CMT,1,1,169,1.0,CRD,5.0 +CMT,1,2,1321,2.8,CRD,15.5 +CMT,4,1,3026,26.1,CSH,89.0 +CMT,1,2,909,3.4,CRD,14.5 +CMT,1,3,272,1.2,CSH,6.0 +CMT,1,1,2130,5.7,CSH,25.0 +CMT,1,1,699,3.0,CRD,11.5 +CMT,1,1,781,2.0,CRD,10.5 +CMT,1,1,279,1.1,CRD,6.0 +CMT,1,2,415,0.9,CSH,6.5 +CMT,1,1,310,1.1,CSH,6.0 +CMT,1,2,502,0.9,CRD,7.0 +CMT,1,1,358,0.8,CRD,6.0 +CMT,1,1,370,0.7,CSH,5.5 +CMT,1,1,454,0.9,CRD,6.5 +CMT,1,2,595,1.2,CRD,8.5 +CMT,1,1,495,1.1,CSH,7.5 +CMT,1,1,244,0.8,CSH,5.0 +CMT,1,1,819,3.4,CRD,13.5 +CMT,1,1,791,3.7,CRD,14.0 +CMT,1,1,581,1.4,CRD,8.0 +CMT,1,1,246,0.6,CRD,4.5 +CMT,1,1,821,2.3,CRD,11.5 +CMT,1,1,1166,3.0,CRD,14.0 +CMT,1,1,896,2.1,CSH,11.5 +CMT,1,1,153,0.3,CRD,4.0 +CMT,1,1,263,1.0,CSH,5.5 +CMT,1,1,510,2.1,CSH,9.0 +CMT,1,1,395,1.6,CSH,7.5 +CMT,1,1,216,0.4,CSH,4.5 +CMT,1,1,1060,4.7,CSH,18.0 +CMT,1,1,1289,3.3,CSH,16.0 +CMT,1,1,332,1.4,CSH,6.5 +CMT,1,1,115,0.8,CSH,4.5 +CMT,1,1,159,0.5,CSH,4.0 +CMT,1,2,1194,6.1,CSH,21.0 +CMT,1,4,790,1.0,CSH,9.5 +CMT,1,2,317,0.6,CSH,5.5 +CMT,1,1,361,1.7,CRD,7.5 +CMT,1,1,529,1.2,CSH,7.5 +CMT,1,1,270,0.5,CSH,4.5 +CMT,1,1,674,1.1,CRD,8.5 +CMT,1,1,754,1.8,CSH,10.0 +CMT,1,1,748,1.7,CRD,10.0 +CMT,1,2,538,1.6,CSH,8.0 +CMT,1,2,289,1.0,CSH,5.5 +CMT,1,4,638,2.7,CSH,10.5 +CMT,1,1,328,1.1,CRD,6.5 +CMT,1,2,891,3.2,CRD,13.5 +CMT,1,1,348,1.3,CSH,7.0 +CMT,1,1,264,0.8,CSH,5.5 +CMT,1,1,180,0.7,CRD,4.5 +CMT,1,2,132,0.9,CSH,4.5 +CMT,1,1,330,0.9,CRD,6.0 +CMT,1,1,247,1.0,CRD,5.5 +CMT,1,1,230,0.6,CRD,5.0 +CMT,1,3,486,1.9,CSH,8.0 +CMT,1,1,172,0.5,CSH,4.5 +CMT,1,1,225,0.9,CSH,5.0 +CMT,1,1,1083,3.8,CRD,16.0 +CMT,1,2,1452,6.1,CSH,22.5 +CMT,1,1,288,1.6,CRD,7.5 +CMT,1,2,576,1.2,CSH,8.0 +CMT,1,1,379,1.3,CSH,7.0 +CMT,1,1,658,4.6,CSH,15.0 +CMT,1,2,533,1.3,CSH,7.5 +CMT,1,1,959,2.4,CSH,12.5 +CMT,1,1,1021,2.0,CRD,12.5 +CMT,1,2,608,1.5,CSH,8.5 +CMT,1,2,604,1.3,CSH,8.0 +CMT,1,1,895,2.9,CRD,12.5 +CMT,1,1,1298,9.4,CRD,28.5 +CMT,1,1,358,0.7,CSH,5.5 +CMT,1,3,259,0.3,CRD,4.5 +CMT,1,2,193,0.4,CSH,4.0 +CMT,1,1,1419,1.2,CSH,14.5 +CMT,1,1,585,1.4,CSH,8.0 +CMT,1,1,909,2.1,CRD,11.0 +CMT,1,1,526,1.5,CRD,8.0 +CMT,1,1,433,0.8,CRD,6.0 +CMT,1,1,498,2.2,CRD,9.0 +CMT,1,1,665,0.7,CRD,8.5 +CMT,1,1,365,1.2,CRD,6.5 +CMT,1,1,355,0.9,CRD,6.0 +CMT,1,2,1105,5.9,CRD,20.5 +CMT,1,1,356,0.9,CSH,6.0 +CMT,1,1,332,0.8,CRD,5.5 +CMT,1,1,1119,2.3,CSH,13.0 +CMT,1,1,766,3.2,CSH,12.5 +CMT,1,1,119,0.3,CSH,3.5 +CMT,1,1,348,1.2,CRD,6.5 +CMT,1,1,452,1.0,CSH,7.0 +CMT,1,1,368,0.7,CSH,5.5 +CMT,1,1,137,0.9,CSH,4.5 +CMT,1,1,612,1.6,CRD,9.0 +CMT,1,1,292,1.1,CSH,6.0 +CMT,1,1,371,0.9,CRD,6.0 +CMT,1,1,1497,3.6,CRD,17.5 +CMT,1,2,673,0.9,CRD,8.5 +CMT,1,1,347,0.6,CSH,5.5 +CMT,1,1,932,2.4,CSH,12.0 +CMT,1,3,140,0.3,CSH,3.5 +CMT,1,1,530,1.1,CRD,7.5 +CMT,1,3,230,0.7,CSH,5.0 +CMT,1,1,234,0.6,CSH,4.5 +CMT,1,1,579,1.6,CSH,8.5 +CMT,1,2,839,1.1,CRD,9.5 +CMT,1,1,1367,4.2,CRD,18.0 +CMT,1,1,306,0.9,CSH,5.5 +CMT,1,1,926,4.1,CRD,15.0 +CMT,1,1,766,1.5,CSH,9.5 +CMT,1,1,434,1.4,CSH,7.0 +CMT,1,2,799,1.7,CSH,10.0 +CMT,1,1,214,0.6,CSH,4.5 +CMT,1,2,408,1.2,CSH,7.0 +CMT,1,1,515,2.0,CSH,9.0 +CMT,1,1,766,4.7,CRD,16.0 +CMT,1,1,1228,2.7,CSH,14.5 +CMT,1,1,551,1.1,CRD,8.0 +CMT,1,1,268,1.0,CSH,5.5 +CMT,1,1,654,1.2,CSH,8.5 +CMT,1,1,588,1.2,CRD,8.0 +CMT,1,1,543,0.9,CRD,7.5 +CMT,1,1,377,0.7,CRD,6.0 +CMT,1,1,581,1.2,CSH,8.0 +CMT,1,1,237,0.6,CRD,5.0 +CMT,1,1,207,0.7,CSH,4.5 +CMT,1,1,1553,6.7,CRD,24.0 +CMT,1,1,336,1.2,CRD,6.5 +CMT,1,1,196,0.6,CRD,4.5 +CMT,1,1,423,1.2,CSH,7.0 +CMT,1,2,258,0.7,CSH,5.5 +CMT,1,2,1389,3.0,CSH,16.5 +CMT,1,1,441,0.5,CRD,6.5 +CMT,1,1,570,1.2,CSH,8.0 +CMT,1,1,383,0.7,CRD,6.0 +CMT,1,1,499,2.7,CSH,10.0 +CMT,1,1,547,1.7,CRD,9.0 +CMT,1,3,232,0.6,CSH,4.5 +CMT,1,3,1397,4.0,CSH,17.5 +CMT,1,1,741,1.6,CRD,9.5 +CMT,1,2,758,1.3,CRD,9.5 +CMT,1,2,1520,4.1,CRD,19.0 +CMT,1,1,577,1.7,CSH,8.5 +CMT,1,1,189,0.6,CRD,5.0 +CMT,1,1,329,1.1,CSH,6.0 +CMT,1,1,311,1.1,CRD,6.0 +CMT,1,1,524,1.1,CSH,7.5 +CMT,1,1,382,1.2,CSH,6.5 +CMT,1,1,1422,2.6,CRD,15.5 +CMT,1,1,1197,3.2,CRD,16.0 +CMT,1,1,386,3.0,CRD,10.0 +CMT,1,2,323,1.5,CSH,7.0 +CMT,1,1,991,1.6,CSH,12.0 +CMT,1,1,368,1.6,CRD,7.0 +CMT,1,1,299,1.3,CRD,6.5 +CMT,1,2,377,1.8,CRD,8.0 +CMT,1,4,940,1.3,CSH,11.0 +CMT,1,1,367,1.1,CSH,6.5 +CMT,1,1,410,1.5,CRD,7.5 +CMT,1,1,755,4.2,CRD,14.0 +CMT,1,1,117,0.7,CSH,4.5 +CMT,1,1,584,1.1,CRD,8.0 +CMT,1,1,743,2.1,CRD,10.0 +CMT,1,2,174,0.5,CSH,4.5 +CMT,1,2,195,0.7,CRD,4.5 +CMT,1,2,1912,7.1,CRD,27.0 +CMT,1,1,639,3.0,CRD,11.5 +CMT,1,1,1060,4.4,CRD,16.5 +CMT,1,1,420,2.2,CRD,8.5 +CMT,1,1,639,0.9,CSH,8.0 +CMT,1,1,268,0.6,CSH,5.0 +CMT,1,1,106,0.8,CSH,4.5 +CMT,1,1,290,0.8,CSH,5.5 +CMT,1,2,1567,3.9,CRD,19.0 +CMT,1,1,1244,1.6,CRD,13.5 +CMT,1,1,715,0.6,CSH,8.5 +CMT,1,1,440,1.4,CSH,7.0 +CMT,1,1,162,0.4,CRD,4.0 +CMT,1,1,462,0.9,CSH,7.0 +CMT,1,1,1330,2.7,CSH,15.0 +CMT,1,1,259,0.9,CRD,5.5 +CMT,1,1,256,1.8,CSH,7.0 +CMT,5,1,929,4.8,CSH,40.0 +CMT,1,1,139,0.8,CSH,4.5 +CMT,1,1,703,5.3,CSH,17.5 +CMT,1,1,581,2.7,CRD,11.0 +CMT,1,1,456,0.8,CSH,7.0 +CMT,1,3,551,1.8,CSH,8.5 +CMT,1,2,252,1.2,CRD,6.0 +CMT,1,1,405,1.1,CSH,6.5 +CMT,1,1,680,1.4,CRD,9.0 +CMT,1,3,1220,5.0,CRD,19.5 +CMT,1,2,581,2.0,CSH,9.5 +CMT,1,1,404,1.1,CRD,6.5 +CMT,1,1,3174,6.7,CRD,34.0 +CMT,1,1,989,8.3,CRD,24.5 +CMT,1,1,587,1.1,CRD,8.0 +CMT,1,2,377,2.1,CSH,8.0 +CMT,1,3,2357,13.8,CSH,42.0 +CMT,1,2,485,1.1,CRD,7.0 +CMT,1,2,666,2.3,CSH,10.0 +CMT,1,2,172,0.6,CRD,4.5 +CMT,1,1,225,0.8,CSH,5.0 +CMT,1,1,538,2.4,CSH,9.5 +CMT,1,1,232,0.6,CRD,4.5 +CMT,1,2,989,4.3,CSH,16.5 +CMT,1,3,1359,6.2,CSH,22.5 +CMT,1,3,653,2.5,CSH,10.5 +CMT,1,1,323,1.4,CRD,7.0 +CMT,1,2,1524,9.7,CRD,30.5 +CMT,1,1,643,2.0,CRD,9.5 +CMT,1,1,414,1.2,CRD,7.0 +CMT,1,1,834,4.4,CSH,15.5 +CMT,1,1,683,1.8,CRD,9.5 +CMT,1,1,392,0.6,CRD,6.0 +CMT,1,1,501,1.8,CRD,8.5 +CMT,1,1,497,0.6,CSH,7.0 +CMT,1,1,561,2.4,CRD,10.0 +CMT,1,1,1166,8.8,CSH,27.0 +CMT,1,1,1331,11.3,CSH,32.0 +CMT,1,1,459,0.9,CSH,6.5 +CMT,1,1,454,0.6,CRD,6.5 +CMT,1,1,324,0.9,CSH,6.0 +CMT,1,1,492,1.0,CSH,7.0 +CMT,1,1,577,1.2,CRD,8.0 +CMT,1,1,313,1.4,CSH,7.0 +CMT,1,1,255,1.0,CRD,5.5 +CMT,1,2,442,1.4,CRD,7.5 +CMT,1,2,381,0.7,CSH,6.0 +CMT,1,1,500,0.6,CSH,6.5 +CMT,1,2,427,1.1,CSH,7.0 +CMT,1,1,615,1.4,CSH,8.5 +CMT,1,1,1036,2.9,CSH,13.0 +CMT,1,1,567,1.4,CRD,8.5 +CMT,1,1,1440,11.1,CRD,32.5 +CMT,1,1,305,1.7,CRD,7.0 +CMT,1,3,671,2.5,CSH,10.5 +CMT,1,2,1071,3.4,CRD,15.5 +CMT,1,1,879,4.1,CRD,15.5 +CMT,1,1,181,0.7,CSH,4.5 +CMT,1,1,986,3.6,CSH,15.0 +CMT,1,1,554,1.8,CSH,8.5 +CMT,1,1,199,0.8,CSH,5.0 +CMT,1,1,65,0.3,CSH,3.0 +CMT,1,2,1304,5.3,CRD,19.0 +CMT,1,1,691,1.2,CSH,9.0 +CMT,1,1,823,1.9,CSH,10.5 +CMT,1,1,83,0.1,CSH,3.0 +CMT,1,1,472,1.5,CSH,8.0 +CMT,1,1,212,1.0,CSH,5.5 +CMT,1,1,236,0.7,CRD,5.0 +CMT,1,1,171,0.7,CSH,4.5 +CMT,1,1,182,0.2,CRD,4.0 +CMT,1,1,195,0.8,CSH,5.0 +CMT,1,1,241,1.0,CSH,5.5 +CMT,1,3,473,2.1,CSH,8.5 +CMT,1,1,530,1.3,CRD,8.0 +CMT,1,1,610,3.1,CSH,11.5 +CMT,1,2,115,0.5,CSH,3.5 +CMT,1,1,253,0.9,CRD,5.5 +CMT,1,2,860,2.0,CSH,11.0 +CMT,1,1,581,1.4,CRD,8.5 +CMT,1,1,208,0.4,CRD,4.5 +CMT,1,1,1104,3.4,CRD,15.0 +CMT,1,2,1029,2.9,CSH,13.5 +CMT,1,1,421,1.4,CSH,7.0 +CMT,1,1,549,0.8,CRD,7.0 +CMT,1,1,1470,2.0,CSH,15.0 +CMT,1,3,470,0.7,CRD,6.5 +CMT,1,2,1000,3.1,CRD,14.0 +CMT,1,2,91,0.2,CRD,3.5 +CMT,1,1,815,2.5,CSH,11.5 +CMT,1,1,110,0.6,CSH,4.0 +CMT,1,1,459,1.5,CSH,8.0 +CMT,1,2,138,0.5,CSH,4.0 +CMT,1,1,132,0.2,CSH,3.5 +CMT,1,3,440,1.0,CRD,7.0 +CMT,1,1,377,1.1,CRD,6.5 +CMT,1,3,607,1.6,CRD,8.5 +CMT,1,1,1025,5.0,CRD,17.5 +CMT,1,2,636,1.8,CSH,9.5 +CMT,1,2,534,1.7,CSH,8.5 +CMT,1,1,360,0.8,CSH,5.5 +CMT,1,2,545,1.4,CRD,8.0 +CMT,1,3,333,0.7,CRD,5.5 +CMT,1,1,222,0.2,NOC,4.0 +CMT,1,1,806,2.8,CRD,12.0 +CMT,1,3,242,0.6,CSH,5.0 +CMT,1,2,303,0.8,CRD,5.5 +CMT,1,1,279,1.4,CSH,6.5 +CMT,1,4,811,2.4,CRD,11.0 +CMT,1,1,1361,5.3,CRD,20.0 +CMT,1,1,567,1.7,CRD,8.5 +CMT,1,1,218,0.5,CSH,4.5 +CMT,1,2,612,2.4,CSH,10.0 +CMT,1,1,554,2.2,CRD,9.5 +CMT,1,1,1164,4.2,CRD,16.5 +CMT,3,2,1637,17.2,CSH,65.0 +CMT,1,2,695,1.7,CRD,9.5 +CMT,1,1,786,3.4,CRD,13.0 +CMT,1,4,1304,1.6,CRD,14.5 +CMT,1,1,661,4.5,CRD,14.5 +CMT,1,2,457,1.6,CSH,8.0 +CMT,1,1,298,0.8,CRD,5.5 +CMT,1,2,798,2.2,CRD,11.0 +CMT,1,2,358,1.0,CSH,6.0 +CMT,1,2,195,0.6,CSH,4.5 +CMT,1,1,461,1.2,CRD,7.0 +CMT,1,2,318,0.9,CRD,5.5 +CMT,1,1,361,1.1,CRD,6.5 +CMT,1,1,1109,3.0,CRD,14.0 +CMT,1,1,340,0.9,CRD,5.5 +CMT,1,2,437,0.7,CSH,5.5 +CMT,1,2,1206,2.2,CRD,14.0 +CMT,1,1,2792,8.1,CSH,34.5 +CMT,1,3,414,1.1,CSH,6.5 +CMT,1,1,1651,5.1,CRD,22.0 +CMT,1,1,92,0.7,CRD,4.0 +CMT,1,2,482,2.6,CRD,10.0 +CMT,1,1,295,0.9,CRD,5.5 +CMT,1,2,448,1.8,CSH,8.5 +CMT,1,1,604,1.3,CRD,8.5 +CMT,1,1,921,8.4,CRD,24.0 +CMT,1,2,162,0.7,CSH,4.5 +CMT,1,1,565,2.3,CRD,9.5 +CMT,1,1,598,1.9,CRD,9.0 +CMT,1,1,1019,5.2,CSH,18.0 +CMT,1,2,838,0.9,CSH,9.5 +CMT,1,1,751,1.6,CSH,9.5 +CMT,1,1,794,3.3,CSH,12.5 +CMT,1,1,1503,4.6,CSH,18.5 +CMT,1,1,204,0.9,CRD,5.0 +CMT,1,1,822,4.5,CRD,15.0 +CMT,1,1,246,1.4,CSH,6.5 +CMT,1,1,451,2.9,CRD,10.5 +CMT,1,1,691,1.8,CRD,10.0 +CMT,1,1,363,0.8,CSH,6.0 +CMT,1,1,327,2.5,CSH,8.5 +CMT,1,1,427,1.2,CRD,6.5 +CMT,1,1,343,1.2,CSH,6.5 +CMT,1,1,709,2.3,CSH,10.5 +CMT,1,1,218,0.5,CRD,4.5 +CMT,1,1,518,1.7,CRD,9.0 +CMT,1,1,483,2.7,CRD,10.0 +CMT,1,1,688,7.0,CRD,20.5 +CMT,1,2,981,4.7,CSH,16.5 +CMT,1,1,373,2.6,CRD,9.5 +CMT,1,1,908,1.9,CRD,11.0 +CMT,1,1,1024,3.3,CSH,14.0 +CMT,1,1,1085,1.0,CRD,11.5 +CMT,1,3,1239,5.7,CSH,19.5 +CMT,1,1,998,1.4,CSH,11.0 +CMT,1,1,136,0.5,CSH,4.0 +CMT,1,1,78,0.3,CRD,3.5 +CMT,1,1,1420,4.8,CRD,18.5 +CMT,1,1,727,2.0,CSH,10.0 +CMT,1,1,689,2.9,CRD,11.5 +CMT,1,2,1383,6.2,CSH,21.0 +CMT,1,1,200,0.7,CSH,5.0 +CMT,1,1,707,7.9,CRD,23.0 +CMT,1,1,772,2.8,CRD,12.0 +CMT,1,4,1265,3.2,CRD,15.5 +CMT,1,1,268,0.6,CRD,5.0 +CMT,1,1,863,2.5,CRD,12.0 +CMT,1,1,425,1.3,CSH,7.5 +CMT,1,1,377,0.9,CRD,6.0 +CMT,1,2,357,0.5,CSH,5.5 +CMT,2,2,1650,16.1,CSH,52.0 +CMT,1,1,655,3.5,CRD,12.5 +CMT,1,1,350,1.8,CSH,7.5 +CMT,1,1,1475,9.7,CRD,30.0 +CMT,1,2,763,2.3,CSH,10.5 +CMT,1,2,825,2.6,CSH,12.0 +CMT,1,1,844,1.9,CSH,11.0 +CMT,1,1,219,1.0,CRD,5.0 +CMT,1,1,83,0.3,CSH,3.5 +CMT,1,1,230,0.8,CSH,5.0 +CMT,1,4,2162,6.2,CRD,26.5 +CMT,1,1,501,1.3,CSH,7.5 +CMT,1,1,446,0.9,CRD,6.5 +CMT,1,1,299,0.9,CSH,6.0 +CMT,1,1,621,2.2,CRD,10.0 +CMT,1,1,650,1.5,CSH,9.0 +CMT,1,1,1533,5.4,CRD,22.0 +CMT,1,2,383,0.9,CRD,6.0 +CMT,1,3,956,3.9,CRD,14.5 +CMT,1,1,471,0.9,CRD,7.0 +CMT,1,1,436,1.0,CSH,6.5 +CMT,1,1,625,3.3,CRD,12.5 +CMT,1,1,324,0.9,CSH,6.0 +CMT,1,1,807,8.2,CRD,24.0 +CMT,1,1,192,0.9,CSH,5.0 +CMT,1,1,377,1.5,CSH,7.0 +CMT,1,1,168,0.5,CRD,4.0 +CMT,1,1,278,1.1,CSH,6.0 +CMT,1,1,145,0.6,CSH,4.0 +CMT,1,2,842,1.6,CSH,10.5 +CMT,1,2,333,1.3,CSH,6.5 +CMT,1,1,836,3.7,CSH,14.0 +CMT,1,1,521,2.0,CRD,9.0 +CMT,1,1,808,2.9,CRD,12.0 +CMT,1,1,1502,5.3,CRD,21.5 +CMT,1,1,709,3.1,CSH,12.5 +CMT,1,3,206,0.5,CSH,4.0 +CMT,1,2,517,1.7,CSH,8.0 +CMT,1,1,394,1.3,CRD,7.0 +CMT,1,1,1166,6.2,CRD,20.0 +CMT,1,3,223,0.4,CSH,4.5 +CMT,1,3,991,2.1,CRD,12.0 +CMT,1,3,973,3.2,CSH,13.0 +CMT,1,3,243,0.7,CRD,5.0 +CMT,5,4,1396,5.9,CRD,100.0 +CMT,1,1,236,0.8,CSH,5.0 +CMT,1,1,635,1.2,CSH,8.0 +CMT,1,1,943,1.6,CRD,11.0 +CMT,1,1,917,2.4,CRD,12.5 +CMT,1,1,464,1.4,CRD,7.5 +CMT,1,1,235,0.4,CRD,4.5 +CMT,1,1,333,1.1,CRD,6.5 +CMT,1,4,608,1.8,CRD,9.0 +CMT,1,1,524,1.2,CRD,8.0 +CMT,1,2,438,1.5,CRD,7.5 +CMT,1,2,1524,5.7,CSH,22.0 +CMT,1,1,737,2.7,CRD,11.0 +CMT,1,1,969,4.4,CSH,16.5 +CMT,1,1,945,9.5,CSH,28.0 +CMT,1,1,641,3.0,CRD,11.0 +CMT,1,1,765,2.2,CRD,10.5 +CMT,1,1,2008,6.8,CRD,26.0 +CMT,5,1,217,0.8,CRD,60.0 +CMT,1,1,834,1.7,CSH,10.5 +CMT,1,1,1309,4.7,CRD,18.5 +CMT,1,1,1603,7.2,CRD,27.0 +CMT,1,3,602,1.8,CRD,9.0 +CMT,1,1,392,0.8,CRD,5.5 +CMT,1,1,437,1.1,CSH,7.0 +CMT,1,1,439,3.2,CRD,11.0 +CMT,1,3,544,1.4,CSH,8.0 +CMT,1,1,1403,2.3,CRD,15.5 +CMT,1,1,887,2.2,CRD,11.5 +CMT,1,1,973,5.0,CRD,17.0 +CMT,1,1,460,1.1,CRD,7.0 +CMT,1,1,695,3.0,CRD,12.0 +CMT,1,1,505,1.7,CSH,8.0 +CMT,1,1,630,2.3,CRD,10.0 +CMT,1,1,323,1.4,CRD,6.5 +CMT,1,1,269,0.9,CSH,5.5 +CMT,1,1,675,1.8,CSH,10.5 +CMT,1,1,453,1.7,CRD,8.0 +CMT,1,1,547,1.7,CRD,8.5 +CMT,1,1,400,1.4,CSH,7.0 +CMT,1,1,272,0.7,CRD,5.5 +CMT,1,1,221,0.4,CRD,4.5 +CMT,1,1,2369,8.0,CRD,31.0 +CMT,1,1,806,4.8,CRD,16.0 +CMT,1,2,874,2.9,CRD,13.0 +CMT,1,1,1311,2.7,CRD,15.0 +CMT,1,1,853,3.4,CRD,13.5 +CMT,1,1,746,4.1,CSH,14.0 +CMT,1,1,210,0.9,CSH,4.5 +CMT,1,1,1628,12.1,CRD,36.5 +CMT,1,4,308,1.4,CRD,6.5 +CMT,1,1,365,0.9,CSH,6.0 +CMT,1,2,1331,6.7,CRD,24.0 +CMT,1,1,906,2.9,CSH,12.5 +CMT,1,1,1380,5.0,CSH,20.0 +CMT,1,2,174,0.7,CSH,4.5 +CMT,1,2,343,1.6,CRD,7.0 +CMT,1,1,712,2.3,CSH,10.0 +CMT,1,2,270,1.0,CRD,5.5 +CMT,1,1,681,2.8,CRD,11.5 +CMT,1,3,997,2.1,CRD,12.5 +CMT,1,1,625,1.3,CSH,8.0 +CMT,1,1,392,1.8,CSH,8.0 +CMT,1,1,172,0.9,CRD,5.0 +CMT,1,1,606,2.2,CRD,10.0 +CMT,1,1,537,2.3,CRD,9.5 +CMT,1,1,551,2.4,CSH,10.0 +CMT,1,1,563,3.2,CSH,11.0 +CMT,1,1,140,0.4,CSH,4.0 +CMT,1,2,403,1.3,CRD,7.0 +CMT,1,1,714,3.5,CSH,12.5 +CMT,1,1,411,1.8,CRD,8.0 +CMT,1,1,653,2.2,CRD,10.0 +CMT,1,2,387,1.3,CSH,7.0 +CMT,1,3,1359,4.5,CRD,18.0 +CMT,1,1,853,3.7,CRD,14.0 +CMT,1,1,205,0.7,CSH,4.5 +CMT,1,2,364,1.1,CRD,6.5 +CMT,1,1,122,0.6,CRD,4.0 +CMT,1,1,938,2.3,CSH,12.0 +CMT,1,2,740,4.3,CRD,15.0 +CMT,1,1,1151,5.7,CSH,20.0 +CMT,1,2,597,2.6,CSH,10.0 +CMT,1,2,422,1.7,CSH,7.5 +CMT,1,1,234,1.1,CRD,5.5 +CMT,1,1,152,0.8,CSH,4.5 +CMT,1,1,614,2.4,CRD,10.5 +CMT,1,1,933,4.9,CRD,16.5 +CMT,1,1,821,2.6,CSH,11.5 +CMT,1,1,409,1.9,CSH,8.0 +CMT,1,1,269,1.0,CRD,5.5 +CMT,1,1,593,1.9,CRD,9.0 +CMT,1,1,1242,5.5,CRD,20.0 +CMT,1,1,682,2.2,CRD,10.5 +CMT,1,1,636,2.9,CSH,12.0 +CMT,1,1,463,0.8,CSH,6.5 +CMT,1,1,452,1.6,CSH,8.0 +CMT,1,1,1272,8.4,CSH,27.5 +CMT,1,1,1113,2.7,CSH,13.5 +CMT,1,1,271,1.0,CRD,5.5 +CMT,1,3,194,0.8,CSH,5.0 +CMT,1,2,903,2.5,CRD,12.5 +CMT,1,1,665,6.5,CRD,19.5 +CMT,1,1,1355,11.4,CSH,33.5 +CMT,1,1,116,0.4,CSH,4.0 +CMT,1,1,328,0.9,CSH,5.5 +CMT,1,1,568,1.7,CRD,8.5 +CMT,1,1,289,1.7,CSH,7.5 +CMT,1,1,477,1.6,CRD,8.0 +CMT,1,1,830,1.8,CRD,11.0 +CMT,1,1,249,1.1,CSH,5.5 +CMT,1,1,631,1.8,CSH,9.0 +CMT,1,1,267,0.9,CSH,5.5 +CMT,1,1,586,1.5,CRD,8.5 +CMT,1,2,1044,3.5,CSH,14.5 +CMT,1,1,774,6.4,CRD,19.5 +CMT,1,1,1026,4.2,CRD,16.5 +CMT,1,1,854,7.0,CRD,21.5 +CMT,1,1,581,2.7,CSH,10.5 +CMT,1,1,192,0.7,CSH,4.5 +CMT,1,1,1469,5.7,CSH,21.5 +CMT,1,1,443,2.8,CSH,10.0 +CMT,1,2,429,1.5,CSH,7.5 +CMT,1,1,569,2.3,CSH,10.0 +CMT,1,2,196,0.5,CSH,4.0 +CMT,1,1,809,5.8,CRD,18.0 +CMT,1,1,572,2.5,CRD,11.0 +CMT,1,1,626,1.0,CSH,8.0 +CMT,1,3,340,1.0,CRD,6.0 +CMT,1,2,835,2.3,CRD,11.0 +CMT,1,2,1652,5.0,CRD,22.5 +CMT,1,2,333,1.7,CRD,7.5 +CMT,1,2,559,0.9,CSH,7.0 +CMT,1,1,153,0.5,CRD,4.0 +CMT,1,1,207,0.7,CRD,4.5 +CMT,1,1,147,0.5,CRD,4.0 +CMT,1,1,1192,2.3,CRD,14.0 +CMT,1,1,465,2.2,CSH,8.5 +CMT,1,1,481,1.7,CRD,8.0 +CMT,1,1,283,0.5,CSH,5.0 +CMT,1,1,747,3.6,CSH,13.5 +CMT,1,1,277,1.2,CRD,6.0 +CMT,1,1,258,1.2,CSH,6.0 +CMT,1,1,1292,5.4,CRD,19.5 +CMT,1,1,657,2.3,CSH,10.0 +CMT,1,1,1115,3.4,CSH,14.5 +CMT,1,1,373,1.0,CSH,6.0 +CMT,1,1,417,2.1,CRD,8.0 +CMT,1,1,1150,5.6,CRD,19.5 +CMT,1,1,1331,5.7,DIS,23.5 +CMT,1,1,398,0.6,CRD,6.0 +CMT,1,1,1069,3.4,CRD,15.0 +CMT,1,1,1165,5.1,CSH,18.0 +CMT,1,1,1456,7.5,CRD,25.0 +CMT,1,2,569,0.8,CSH,7.5 +CMT,1,1,544,1.3,CSH,8.0 +CMT,1,1,609,1.2,CSH,8.0 +CMT,1,1,734,2.3,CSH,10.5 +CMT,1,1,212,0.6,CRD,4.5 +CMT,1,2,204,0.6,CSH,4.5 +CMT,1,1,549,1.4,CRD,7.5 +CMT,1,1,596,2.0,CRD,9.5 +CMT,1,1,445,1.0,CRD,6.5 +CMT,1,2,964,4.3,CRD,16.0 +CMT,1,2,1141,4.4,CRD,17.5 +CMT,1,2,609,1.3,CSH,8.5 +CMT,1,4,672,1.8,CSH,9.5 +CMT,1,1,2383,6.7,CRD,29.0 +CMT,1,2,1416,4.3,CRD,18.5 +CMT,1,2,441,2.0,CRD,8.0 +CMT,1,1,404,2.0,CSH,8.0 +CMT,1,1,472,1.6,CRD,8.0 +CMT,1,1,539,1.2,CSH,7.5 +CMT,1,1,196,0.9,CRD,5.0 +CMT,1,1,1221,9.6,CRD,27.5 +CMT,1,1,1618,6.5,CRD,22.0 +CMT,1,1,855,2.2,CRD,11.0 +CMT,1,1,619,1.6,CRD,8.5 +CMT,1,1,429,0.7,CSH,6.0 +CMT,1,1,188,0.6,CSH,4.5 +CMT,1,1,275,0.6,CRD,5.0 +CMT,1,1,910,3.3,CSH,13.5 +CMT,1,1,638,2.1,CRD,10.0 +CMT,2,1,3746,17.8,CRD,52.0 +CMT,1,1,897,4.0,CRD,15.0 +CMT,1,1,925,2.1,CRD,12.0 +CMT,1,2,576,2.4,CSH,10.0 +CMT,1,1,494,2.3,CRD,9.0 +CMT,1,2,538,2.2,CSH,9.5 +CMT,1,1,559,2.1,CRD,9.0 +CMT,1,1,661,2.1,CRD,9.5 +CMT,1,2,395,1.9,CSH,7.5 +CMT,1,3,251,0.5,CSH,4.5 +CMT,1,1,897,2.7,CRD,12.0 +CMT,1,3,883,2.4,CRD,12.0 +CMT,1,2,1965,3.0,CSH,20.5 +CMT,1,4,776,2.7,CSH,11.5 +CMT,1,2,1441,5.3,CRD,22.0 +CMT,1,2,188,0.5,CRD,4.5 +CMT,1,1,599,1.8,CSH,9.0 +CMT,1,2,1769,10.1,CRD,32.5 +CMT,1,2,866,1.1,CSH,9.5 +CMT,1,1,1300,5.9,CSH,20.5 +CMT,1,1,454,0.8,CSH,6.5 +CMT,1,1,647,2.9,CSH,11.5 +CMT,1,3,276,1.3,CRD,6.0 +CMT,1,2,1382,11.5,CRD,33.5 +CMT,1,3,270,0.8,CSH,5.5 +CMT,1,3,1757,5.8,CSH,23.0 +CMT,1,1,650,2.1,CRD,9.5 +CMT,1,1,584,2.3,CRD,10.0 +CMT,1,3,524,1.9,CSH,8.5 +CMT,1,2,186,0.7,CRD,4.5 +CMT,1,1,1356,2.8,CRD,16.0 +CMT,1,2,425,1.8,CSH,8.0 +CMT,1,2,968,4.9,CRD,17.0 +CMT,1,1,697,1.7,CSH,9.5 +CMT,1,1,1047,3.2,CSH,14.5 +CMT,1,2,349,1.6,CSH,7.0 +CMT,1,1,295,0.7,CRD,5.0 +CMT,1,1,293,1.3,CRD,6.5 +CMT,1,1,592,3.2,CRD,11.5 +CMT,1,1,590,2.8,CRD,10.5 +CMT,1,1,571,1.4,CRD,8.0 +CMT,1,1,135,0.3,CRD,4.0 +CMT,1,1,891,2.6,CSH,12.0 +CMT,1,1,1219,9.4,CRD,28.0 +CMT,1,3,115,0.4,CSH,3.5 +CMT,1,1,705,4.8,CSH,15.0 +CMT,1,1,313,1.9,CRD,7.5 +CMT,1,1,552,1.5,CSH,8.5 +CMT,1,1,733,2.5,CRD,11.0 +CMT,1,1,1188,4.3,CSH,17.5 +CMT,1,3,467,1.6,CRD,8.0 +CMT,1,1,893,3.0,CRD,13.5 +CMT,1,1,550,1.5,CSH,8.5 +CMT,1,1,328,1.0,CSH,6.0 +CMT,1,1,708,2.6,CRD,11.0 +CMT,1,1,390,1.5,CSH,7.0 +CMT,1,1,231,0.4,CSH,4.5 +CMT,1,1,223,0.8,CSH,5.0 +CMT,1,1,283,0.9,CSH,5.5 +CMT,1,3,550,2.2,CSH,9.5 +CMT,1,2,286,0.5,CSH,5.0 +CMT,1,2,278,0.9,CRD,5.5 +CMT,1,1,314,1.8,CRD,7.5 +CMT,1,2,135,0.8,CSH,4.5 +CMT,1,1,967,3.7,CSH,14.5 +CMT,1,1,717,4.2,CSH,14.0 +CMT,1,1,834,3.4,CRD,13.0 +CMT,1,1,862,4.2,CRD,16.0 +CMT,1,1,456,3.5,CRD,12.0 +CMT,1,2,526,1.0,CSH,7.5 +CMT,1,2,205,0.5,CRD,4.5 +CMT,1,1,958,3.6,CSH,14.5 +CMT,1,2,631,2.1,CSH,10.0 +CMT,1,1,416,2.2,CSH,9.0 +CMT,1,2,748,1.5,CRD,9.5 +CMT,2,1,2565,21.0,CSH,52.0 +CMT,1,1,935,2.2,CSH,12.5 +CMT,1,1,376,1.0,CSH,6.5 +CMT,1,1,119,0.3,CRD,3.5 +CMT,1,1,857,3.9,CSH,14.5 +CMT,1,1,857,3.7,CSH,15.0 +CMT,1,1,453,1.5,CRD,7.5 +CMT,2,2,1692,18.0,CSH,52.0 +CMT,1,1,915,1.5,CRD,11.0 +CMT,1,4,489,1.4,CRD,8.0 +CMT,1,2,642,3.9,CSH,13.5 +CMT,1,1,1477,5.3,CRD,21.0 +CMT,1,1,900,9.2,CSH,26.5 +CMT,1,2,2853,5.0,CRD,30.5 +CMT,1,1,1553,8.5,CRD,27.5 +CMT,1,1,73,0.3,CSH,3.5 +CMT,1,1,592,1.1,CRD,8.5 +CMT,1,2,379,1.0,CRD,6.5 +CMT,1,2,911,2.9,CSH,13.0 +CMT,1,1,179,0.7,CSH,4.5 +CMT,1,2,603,2.0,CRD,10.0 +CMT,1,3,726,2.6,CSH,11.5 +CMT,1,1,667,3.5,CRD,13.5 +CMT,1,4,834,2.7,CSH,11.5 +CMT,1,2,359,0.9,CSH,6.0 +CMT,1,1,918,2.9,CRD,12.5 +CMT,1,2,414,1.3,CRD,7.0 +CMT,1,1,690,2.5,CRD,10.5 +CMT,1,1,452,1.9,CRD,8.0 +CMT,1,2,1204,4.3,CRD,17.0 +CMT,1,1,462,1.6,CRD,7.5 +CMT,1,2,860,8.4,CRD,24.0 +CMT,1,3,872,3.1,CRD,13.0 +CMT,1,1,844,4.0,CRD,15.0 +CMT,1,1,1361,3.5,CRD,16.5 +CMT,1,1,1130,2.2,CRD,13.0 +CMT,1,1,501,2.2,CSH,9.0 +CMT,1,1,414,1.7,CRD,8.5 +CMT,1,2,285,0.8,CRD,5.0 +CMT,1,1,981,4.5,CRD,16.0 +CMT,1,1,69,0.2,CSH,3.0 +CMT,1,1,504,1.9,CRD,8.5 +CMT,1,1,1822,5.7,CRD,24.0 +CMT,1,1,338,0.7,CSH,5.5 +CMT,1,1,601,2.0,CRD,9.5 +CMT,1,1,786,4.5,CSH,15.5 +CMT,1,1,195,0.7,CSH,4.5 +CMT,1,1,312,1.6,CSH,7.0 +CMT,1,1,350,3.7,CRD,12.0 +CMT,1,1,1130,13.1,CRD,36.5 +CMT,1,1,686,1.7,CSH,9.5 +CMT,1,1,180,0.6,CRD,4.5 +CMT,1,1,502,1.1,CRD,7.5 +CMT,1,1,1055,5.2,CRD,18.0 +CMT,1,1,575,4.1,CRD,14.0 +CMT,1,2,1118,9.8,CRD,29.5 +CMT,1,1,990,4.7,CSH,17.0 +CMT,1,1,712,3.4,CSH,13.0 +CMT,1,1,642,3.4,CSH,12.5 +CMT,1,1,296,0.7,CSH,5.5 +CMT,1,1,689,4.1,CRD,14.0 +CMT,1,1,800,2.6,CSH,10.5 +CMT,1,2,957,2.4,CRD,12.5 +CMT,1,1,845,2.6,CSH,12.0 +CMT,1,1,617,1.1,CRD,8.5 +CMT,1,3,547,1.7,CSH,8.5 +CMT,1,1,1839,5.9,CSH,24.0 +CMT,1,3,181,0.4,CSH,4.0 +CMT,1,1,1366,3.5,CRD,18.0 +CMT,1,1,449,2.1,CSH,8.5 +CMT,1,1,646,2.3,CSH,10.5 +CMT,1,1,448,1.9,CRD,8.5 +CMT,1,1,412,1.3,CSH,7.0 +CMT,1,1,272,1.0,CSH,5.5 +CMT,1,1,420,1.2,CSH,6.5 +CMT,1,1,112,0.7,CSH,4.0 +CMT,1,1,516,2.9,CRD,11.0 +CMT,1,1,541,1.7,CSH,8.0 +CMT,2,1,2344,18.7,CRD,52.0 +CMT,1,2,750,2.1,CRD,10.5 +CMT,1,1,382,0.9,CRD,6.0 +CMT,1,1,1045,5.8,CSH,19.0 +CMT,1,1,1335,7.1,CSH,23.0 +CMT,1,1,552,2.9,CSH,11.0 +CMT,1,1,682,3.1,CRD,11.5 +CMT,1,1,622,2.5,CRD,11.0 +CMT,1,2,673,2.8,CSH,11.0 +CMT,1,1,261,0.3,CRD,4.5 +CMT,1,1,710,2.2,CRD,10.5 +CMT,1,2,1143,4.7,CSH,17.5 +CMT,1,1,1880,6.6,CRD,25.5 +CMT,1,1,417,1.3,CSH,7.5 +CMT,1,2,753,6.6,CRD,20.5 +CMT,1,2,220,1.3,CSH,6.0 +CMT,1,1,599,1.0,CSH,5.5 +CMT,2,1,2614,18.8,CRD,52.0 +CMT,1,1,673,2.3,CRD,11.0 +CMT,1,1,257,0.8,CSH,5.5 +CMT,1,1,300,1.2,CRD,6.0 +CMT,1,1,464,2.0,CSH,8.5 +CMT,1,2,1078,2.5,CRD,13.5 +CMT,1,2,524,1.2,CRD,7.5 +CMT,1,1,399,1.5,CSH,7.5 +CMT,1,1,513,4.1,CRD,13.5 +CMT,1,4,731,2.5,CSH,11.0 +CMT,1,1,141,0.8,CSH,4.5 +CMT,1,3,443,1.4,CRD,8.0 +CMT,1,2,1333,2.8,CRD,15.0 +CMT,1,1,763,2.4,CRD,11.0 +CMT,1,1,2067,6.9,CSH,27.0 +CMT,1,1,920,5.2,CRD,16.5 +CMT,1,1,489,2.0,CSH,8.5 +CMT,1,1,399,1.8,CSH,8.0 +CMT,1,1,176,1.0,CRD,5.0 +CMT,1,1,624,1.6,CRD,9.0 +CMT,1,1,1302,5.9,CRD,20.5 +CMT,1,1,685,2.3,CRD,11.0 +CMT,1,1,476,2.5,CSH,9.5 +CMT,1,1,763,1.2,CRD,9.5 +CMT,1,2,730,2.6,CRD,11.5 +CMT,1,1,384,1.5,CSH,7.5 +CMT,1,1,162,0.9,CRD,5.0 +CMT,1,1,387,1.9,CSH,8.5 +CMT,1,1,222,0.5,CRD,4.5 +CMT,1,1,322,1.4,CRD,6.5 +CMT,1,1,692,3.1,CRD,11.5 +CMT,1,1,654,2.4,CSH,10.5 +CMT,1,1,617,2.0,CRD,9.5 +CMT,1,1,568,2.3,CRD,10.0 +CMT,1,1,418,1.7,CRD,7.5 +CMT,1,1,379,1.1,CRD,6.5 +CMT,1,1,536,3.0,CSH,11.0 +CMT,1,2,1370,3.7,CSH,17.0 +CMT,1,1,494,4.4,CRD,14.0 +CMT,1,1,341,0.9,CSH,6.0 +CMT,1,1,354,1.2,CSH,6.5 +CMT,1,1,1335,8.3,CSH,25.5 +CMT,1,1,1208,9.8,CSH,29.0 +CMT,1,1,350,0.9,CRD,6.0 +CMT,1,1,667,2.0,CRD,10.0 +CMT,1,1,569,2.1,CRD,9.5 +CMT,1,1,243,1.0,CSH,5.5 +CMT,1,2,2162,8.9,CRD,32.5 +CMT,1,2,631,1.9,CSH,9.5 +CMT,1,2,595,1.8,CSH,9.0 +CMT,1,1,860,7.8,CSH,23.0 +CMT,1,1,152,0.4,CRD,4.0 +CMT,1,1,901,2.5,CRD,12.0 +CMT,2,1,4245,15.2,CSH,52.0 +CMT,1,1,500,1.1,CSH,7.5 +CMT,1,1,118,0.6,CRD,4.0 +CMT,1,2,643,3.0,CRD,11.5 +CMT,1,1,568,3.2,CRD,12.5 +CMT,1,1,208,0.9,CRD,5.0 +CMT,1,2,306,1.0,CRD,6.0 +CMT,1,1,506,1.9,CSH,8.0 +CMT,1,2,504,1.2,CSH,7.5 +CMT,1,1,657,3.3,CSH,12.0 +CMT,1,2,943,1.8,CRD,11.5 +CMT,1,3,903,3.5,CRD,14.0 +CMT,1,1,407,0.9,CRD,6.5 +CMT,1,2,308,1.1,CRD,6.0 +CMT,1,2,504,1.7,CSH,8.5 +CMT,1,2,840,3.9,CSH,15.0 +CMT,1,3,300,1.0,CSH,5.5 +CMT,1,1,737,4.3,CRD,14.5 +CMT,1,3,1260,4.3,CSH,18.0 +VTS,1,1,1260,3.28,CSH,15.5 +VTS,1,1,840,1.38,CSH,10.0 +VTS,1,1,360,0.91,CSH,5.5 +VTS,1,1,3180,8.58,CSH,37.5 +VTS,1,1,300,1.24,CRD,6.0 +VTS,1,1,960,4.31,CSH,16.5 +VTS,1,1,480,2.18,CSH,9.5 +CMT,1,1,635,1.8,CRD,9.5 +VTS,1,1,780,2.61,CSH,11.0 +VTS,1,1,60,0.29,CSH,3.0 +VTS,1,1,420,1.49,CRD,7.5 +VTS,1,1,360,0.75,CSH,5.5 +VTS,1,1,480,1.95,CRD,9.0 +VTS,1,1,360,0.83,CSH,5.5 +VTS,1,1,420,1.28,CSH,7.0 +VTS,1,1,480,2.5,CSH,9.5 +VTS,1,1,360,0.83,CSH,5.5 +VTS,1,1,180,1.08,CSH,5.5 +VTS,1,1,420,1.4,CRD,7.5 +VTS,1,1,240,0.26,CSH,4.0 +VTS,1,1,900,2.72,CRD,13.0 +VTS,1,1,540,2.53,CSH,10.5 +VTS,1,1,1020,2.32,CRD,13.0 +VTS,1,1,900,3.07,CSH,14.0 +VTS,1,1,960,7.1,CSH,22.0 +VTS,1,1,180,1.43,CRD,6.0 +VTS,1,1,1020,5.99,CRD,20.5 +VTS,1,1,180,0.88,CRD,5.0 +VTS,1,1,540,1.2,CSH,8.0 +VTS,1,1,780,2.59,CRD,11.5 +VTS,1,1,1260,3.88,CRD,16.5 +VTS,1,1,1200,2.59,CRD,14.5 +VTS,1,1,120,0.55,CRD,4.0 +CMT,1,2,419,1.6,CRD,7.5 +CMT,1,1,311,0.9,CRD,6.0 +CMT,1,1,727,3.1,CSH,12.5 +CMT,1,1,1448,14.0,CRD,39.0 +CMT,1,1,170,0.7,CRD,4.0 +CMT,1,1,895,1.4,CRD,10.5 +CMT,1,2,556,1.4,CSH,8.5 +CMT,1,3,380,1.3,CRD,6.5 +CMT,1,3,753,4.7,CRD,15.5 +CMT,1,2,609,2.6,CRD,10.5 +CMT,1,2,496,2.4,CRD,9.5 +CMT,1,3,994,2.7,CSH,12.5 +CMT,1,1,537,1.7,CSH,8.5 +CMT,1,1,1674,5.7,CSH,22.5 +CMT,1,1,514,1.1,CSH,7.5 +CMT,1,2,403,1.0,CRD,6.0 +CMT,1,1,303,1.8,CRD,7.0 +CMT,1,2,1268,6.8,CRD,23.0 +CMT,1,2,329,1.7,CRD,7.5 +CMT,1,2,316,0.9,CRD,6.0 +CMT,1,1,191,0.8,CSH,5.0 +CMT,1,1,561,2.1,CRD,9.5 +CMT,1,1,209,0.6,CSH,4.5 +CMT,1,1,1163,2.7,CSH,14.5 +VTS,5,2,0,0.0,CRD,35.0 +VTS,1,1,360,1.97,CRD,7.5 +CMT,1,1,1242,10.2,CRD,30.0 +CMT,1,1,493,3.9,CRD,12.0 +CMT,1,1,1381,7.3,CRD,23.5 +CMT,1,1,421,1.4,CSH,7.5 +CMT,1,1,136,0.4,CSH,4.0 +CMT,1,1,479,1.6,CSH,8.0 +CMT,1,1,197,0.7,CRD,4.5 +CMT,1,2,1051,3.7,CSH,14.5 +CMT,1,1,507,1.2,CRD,7.5 +CMT,1,2,580,2.3,CSH,10.0 +CMT,1,2,570,1.5,CSH,8.5 +CMT,1,1,405,0.8,CRD,6.0 +CMT,1,2,125,0.3,CSH,3.5 +CMT,1,1,80,0.4,CSH,3.5 +CMT,1,2,997,2.1,CRD,12.5 +CMT,1,2,296,0.7,CSH,5.0 +CMT,1,3,1630,5.5,CSH,23.0 +CMT,1,2,912,4.7,CRD,16.5 +CMT,1,1,751,3.8,CSH,14.0 +CMT,1,1,226,1.4,CRD,6.0 +CMT,1,1,163,0.3,CRD,4.0 +CMT,1,1,320,0.8,CRD,6.0 +VTS,1,1,1320,9.5,CSH,29.0 +VTS,1,1,900,4.67,CSH,16.0 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,1,900,1.96,CSH,11.5 +CMT,1,1,340,1.0,CRD,6.0 +CMT,1,1,1078,2.8,CRD,14.0 +CMT,1,1,735,7.1,CRD,21.0 +CMT,1,1,454,1.7,CRD,8.0 +CMT,1,1,531,1.9,CSH,9.0 +CMT,1,1,389,1.4,CRD,7.0 +CMT,1,1,286,1.1,CRD,6.0 +CMT,1,1,948,5.7,CRD,18.0 +CMT,1,1,183,0.5,CSH,4.5 +CMT,1,1,712,4.3,CSH,14.0 +CMT,1,1,616,0.6,CSH,7.5 +CMT,1,1,779,3.1,CRD,12.0 +CMT,1,1,1292,11.9,CRD,34.0 +CMT,1,1,712,3.2,CSH,12.5 +CMT,1,1,1397,4.8,CSH,20.5 +CMT,1,1,1161,12.0,CRD,33.5 +CMT,1,1,707,2.8,CSH,11.5 +CMT,1,1,330,0.7,CSH,5.5 +CMT,1,1,1030,3.1,CRD,14.0 +CMT,1,2,690,1.3,CSH,8.5 +CMT,1,2,229,0.4,CRD,4.5 +CMT,1,1,361,0.8,CRD,5.5 +CMT,1,3,710,2.3,CSH,11.0 +CMT,1,2,650,2.0,CRD,9.5 +CMT,1,2,277,1.2,CSH,6.0 +CMT,1,1,177,1.2,CRD,5.5 +CMT,1,2,455,0.8,CSH,7.0 +CMT,1,1,559,1.7,CSH,9.0 +CMT,1,1,492,1.8,CRD,8.0 +CMT,1,1,396,1.0,CRD,6.5 +CMT,1,1,229,0.7,CSH,4.5 +CMT,1,2,635,4.2,CSH,13.5 +CMT,1,1,491,1.4,CRD,7.5 +CMT,1,1,158,1.0,CRD,5.0 +CMT,1,3,1853,7.8,CSH,27.5 +CMT,1,2,845,3.2,CRD,13.0 +CMT,1,1,620,2.1,CRD,10.0 +CMT,1,1,213,1.0,CRD,5.5 +CMT,1,2,992,4.5,CRD,16.0 +CMT,1,1,241,1.0,CSH,5.5 +CMT,1,1,124,0.7,CRD,4.0 +CMT,1,2,650,1.6,CSH,9.0 +CMT,1,2,793,1.4,CSH,10.0 +CMT,1,2,1145,3.5,CSH,16.0 +CMT,1,3,518,1.4,CSH,8.0 +CMT,1,1,141,1.0,CRD,5.0 +CMT,1,2,123,0.5,CRD,4.0 +CMT,1,1,77,0.4,CSH,3.5 +CMT,1,1,314,1.4,CRD,6.5 +CMT,1,1,2141,5.9,CRD,26.5 +CMT,1,1,1156,2.5,CRD,13.5 +CMT,1,1,927,1.9,CRD,11.5 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,660,1.75,CSH,9.5 +VTS,1,1,960,1.59,CRD,11.5 +VTS,1,1,780,5.84,CRD,18.0 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,1800,8.9,CSH,29.0 +VTS,1,1,1980,12.44,CSH,38.0 +VTS,1,1,780,2.39,CRD,10.5 +VTS,1,1,540,1.7,CSH,8.5 +VTS,1,1,540,2.24,CRD,9.5 +VTS,1,1,120,0.46,CSH,4.0 +VTS,1,1,420,0.69,CRD,6.0 +VTS,1,1,1080,4.04,CRD,16.5 +VTS,1,1,1020,2.76,CRD,13.5 +VTS,1,1,540,1.77,CSH,9.0 +VTS,2,1,1560,19.76,CSH,52.0 +VTS,1,1,660,2.69,CSH,11.0 +VTS,1,1,720,3.35,CRD,12.0 +VTS,1,1,480,1.25,CRD,7.5 +VTS,1,1,540,2.79,CSH,10.5 +VTS,1,1,300,1.07,CRD,6.0 +VTS,1,1,900,3.14,CRD,13.0 +VTS,1,1,300,0.91,CSH,6.0 +VTS,1,1,300,1.35,CRD,6.5 +VTS,1,1,180,0.95,CRD,5.5 +VTS,1,1,480,2.47,CSH,9.5 +CMT,1,1,1381,4.0,CRD,17.5 +CMT,1,1,225,0.5,CSH,4.5 +CMT,1,2,130,0.8,CRD,4.5 +CMT,1,1,177,0.7,CRD,4.5 +CMT,1,2,935,7.0,CRD,22.5 +CMT,1,2,655,3.8,CRD,13.5 +CMT,1,2,255,1.7,CRD,6.5 +CMT,1,1,1435,7.7,NOC,24.5 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,780,3.72,CRD,14.0 +VTS,1,1,540,3.83,CSH,13.0 +VTS,1,1,420,1.12,CSH,6.5 +VTS,1,1,1200,6.4,CSH,21.5 +VTS,1,1,1320,5.31,CSH,20.0 +VTS,1,1,660,1.84,CSH,9.5 +VTS,1,1,180,0.79,CRD,4.5 +VTS,1,1,420,0.84,CRD,6.5 +VTS,1,1,300,0.54,CSH,5.5 +VTS,1,1,480,1.87,CRD,8.5 +VTS,1,1,840,5.8,CRD,19.0 +VTS,1,1,120,0.64,CSH,4.0 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,1020,8.24,CSH,24.0 +VTS,1,1,420,1.36,CSH,7.0 +VTS,1,1,180,0.92,CSH,5.0 +CMT,1,4,583,1.2,CSH,7.5 +CMT,1,1,629,2.3,CRD,10.0 +CMT,1,1,623,1.5,CSH,8.5 +CMT,1,1,212,1.0,CRD,5.5 +CMT,1,2,573,2.0,CSH,9.5 +CMT,1,1,523,2.0,CRD,9.0 +CMT,1,1,162,0.8,CRD,4.5 +CMT,1,1,616,3.1,CRD,11.5 +CMT,1,1,526,2.1,CRD,8.5 +CMT,1,1,453,1.5,CRD,7.5 +CMT,1,4,335,1.2,CRD,6.5 +CMT,1,2,419,1.0,CSH,7.0 +CMT,1,1,373,1.7,CRD,7.5 +CMT,1,3,650,1.9,CRD,9.5 +CMT,1,2,708,1.9,CRD,10.0 +CMT,1,1,1419,4.3,CRD,18.0 +CMT,1,1,378,1.1,CRD,6.5 +CMT,1,1,816,3.2,CRD,13.0 +CMT,1,1,420,1.3,CSH,8.0 +CMT,1,1,432,1.6,CRD,7.5 +CMT,1,1,831,3.9,CRD,14.0 +CMT,1,1,217,0.3,CSH,4.5 +CMT,1,2,1556,7.9,CRD,26.0 +CMT,1,2,209,0.6,CSH,4.5 +CMT,1,1,537,3.6,CRD,12.5 +CMT,2,1,1886,17.7,CSH,52.0 +VTS,1,1,1260,4.46,CRD,17.5 +VTS,1,1,480,2.29,CSH,9.5 +VTS,1,1,420,2.13,CSH,8.0 +VTS,1,1,60,0.59,CSH,4.0 +VTS,1,1,540,2.93,CRD,11.0 +VTS,1,1,300,1.33,CSH,6.5 +VTS,1,1,840,1.64,CRD,11.0 +VTS,1,1,300,1.39,CRD,6.5 +VTS,1,1,420,3.02,CSH,10.5 +VTS,1,1,240,1.15,CRD,6.0 +VTS,1,1,660,3.34,CSH,12.5 +VTS,1,1,540,1.93,CSH,9.0 +VTS,1,1,180,0.36,CRD,4.5 +VTS,1,1,540,1.15,CSH,7.5 +VTS,1,1,840,6.4,CSH,20.5 +VTS,1,1,1380,6.26,CRD,23.0 +VTS,1,1,300,1.18,CSH,6.5 +VTS,1,1,540,1.18,CSH,8.0 +VTS,1,1,960,1.99,CSH,12.0 +VTS,1,1,480,1.54,CSH,8.0 +VTS,1,1,600,1.74,CRD,9.0 +VTS,1,1,660,1.31,CRD,8.5 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,120,0.59,CSH,4.0 +VTS,1,1,60,0.63,CRD,4.0 +VTS,1,1,480,0.86,CSH,7.0 +VTS,1,1,600,1.57,CRD,8.5 +VTS,1,1,1080,4.46,CRD,18.0 +VTS,1,1,420,1.23,CRD,7.0 +VTS,1,1,180,0.38,CSH,4.0 +VTS,1,1,360,0.68,CSH,5.5 +VTS,1,1,1140,9.4,CSH,28.0 +VTS,1,1,360,1.05,CRD,6.5 +VTS,1,1,240,0.75,CSH,5.0 +VTS,1,1,720,2.27,CRD,10.5 +VTS,1,1,300,1.02,CRD,5.5 +VTS,1,1,420,2.35,CRD,9.0 +VTS,1,1,240,1.0,CRD,5.0 +VTS,1,1,1020,5.23,CRD,18.0 +VTS,1,1,960,2.57,CRD,14.0 +VTS,1,1,960,3.81,CRD,15.0 +VTS,1,1,1260,5.57,CRD,20.0 +VTS,1,1,600,1.3,CSH,8.5 +VTS,1,1,960,2.03,CSH,12.5 +VTS,1,1,540,1.51,CRD,8.5 +VTS,1,1,780,1.88,CRD,10.0 +VTS,1,1,1020,3.74,CSH,14.0 +VTS,1,1,1200,7.15,CRD,23.5 +VTS,1,1,720,1.69,CRD,9.5 +VTS,1,1,2040,10.46,CSH,35.5 +VTS,1,1,780,2.77,CRD,12.0 +VTS,1,1,480,1.68,CSH,8.5 +VTS,1,1,540,3.08,CSH,10.5 +VTS,1,1,840,2.93,CRD,12.5 +VTS,1,1,1020,4.98,CRD,17.0 +VTS,1,1,1020,6.02,CRD,20.5 +VTS,1,1,540,0.83,CRD,7.0 +VTS,1,1,360,1.46,CSH,7.5 +VTS,1,1,660,1.34,CRD,9.0 +VTS,1,1,540,1.68,CSH,8.0 +VTS,1,1,1200,2.34,CRD,14.0 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,240,0.83,CRD,5.0 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,840,6.17,CRD,20.0 +VTS,1,1,420,1.24,CSH,7.0 +VTS,1,1,480,1.51,CRD,8.0 +VTS,1,1,720,2.2,CRD,10.5 +VTS,1,1,540,2.73,CSH,10.5 +VTS,1,1,540,1.49,CRD,8.0 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,540,2.23,CRD,9.0 +VTS,1,1,780,2.09,CSH,10.5 +VTS,1,1,780,2.22,CRD,11.0 +VTS,1,1,660,1.51,CRD,9.0 +VTS,1,1,900,1.87,CSH,10.5 +VTS,1,1,300,0.59,CSH,5.0 +VTS,1,1,720,1.12,CRD,9.5 +CMT,1,3,483,2.2,CSH,9.0 +CMT,1,1,675,4.3,CSH,15.0 +CMT,1,1,1386,4.9,CRD,21.0 +CMT,1,1,857,2.6,CRD,12.0 +CMT,1,1,1357,7.6,CRD,25.0 +CMT,1,2,621,3.3,CSH,12.0 +CMT,1,1,295,1.1,CSH,6.0 +CMT,1,2,960,7.1,CSH,23.0 +CMT,1,1,1499,5.0,NOC,20.5 +CMT,1,2,474,0.9,CSH,7.5 +VTS,1,1,180,0.53,CRD,4.0 +VTS,1,1,420,1.59,CRD,7.5 +VTS,1,1,300,1.13,CSH,6.5 +VTS,1,1,540,2.23,CRD,9.5 +VTS,1,1,420,2.28,CRD,8.5 +VTS,1,1,1380,12.91,CRD,36.5 +VTS,1,1,360,0.93,CSH,6.0 +VTS,1,1,840,2.88,CSH,12.0 +VTS,1,1,960,2.25,CRD,12.5 +VTS,1,1,420,1.57,CRD,7.5 +VTS,1,1,780,2.79,CRD,12.0 +VTS,1,1,720,2.6,CRD,11.5 +VTS,1,1,360,1.49,CSH,7.0 +VTS,1,1,60,0.15,CSH,3.0 +VTS,1,1,1320,6.59,CRD,22.5 +VTS,1,1,780,4.86,CRD,16.0 +VTS,1,1,1740,8.33,CSH,29.5 +VTS,1,1,960,4.51,CSH,16.0 +VTS,1,1,300,1.19,CSH,6.5 +VTS,1,1,660,3.89,CSH,13.5 +VTS,1,1,240,0.89,CSH,5.5 +VTS,1,1,660,1.39,CRD,9.0 +VTS,1,1,0,0.37,CSH,3.0 +VTS,2,1,2340,18.06,CSH,52.0 +VTS,1,1,660,3.2,CRD,12.0 +VTS,1,1,660,2.67,CRD,11.0 +VTS,1,1,1440,8.36,CRD,27.5 +VTS,1,1,300,1.08,CRD,6.0 +VTS,1,1,240,1.04,CSH,5.0 +VTS,1,1,1080,4.09,CRD,15.5 +VTS,1,1,600,5.18,CSH,16.5 +VTS,1,1,300,0.6,CRD,5.0 +VTS,1,1,420,1.0,CSH,6.5 +VTS,1,1,420,1.1,CSH,7.0 +VTS,1,1,240,0.82,CSH,5.0 +VTS,1,1,780,2.54,CRD,11.5 +VTS,1,1,540,2.11,CRD,9.5 +VTS,1,1,900,2.69,CRD,12.5 +VTS,1,1,240,0.86,CSH,5.5 +VTS,1,1,1260,6.58,CRD,23.0 +VTS,1,1,180,0.42,CSH,4.0 +VTS,1,1,1380,6.88,CRD,25.5 +VTS,1,1,1500,4.74,CSH,21.0 +VTS,1,1,180,0.97,CSH,5.0 +VTS,1,1,900,1.03,CSH,10.0 +VTS,1,1,480,1.7,CSH,8.0 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,1260,5.79,CRD,21.5 +VTS,1,1,540,2.08,CRD,9.0 +VTS,1,1,360,1.75,CSH,7.0 +VTS,1,1,480,2.5,CRD,9.5 +VTS,1,1,300,0.86,CRD,5.5 +VTS,1,1,540,2.12,CRD,9.5 +VTS,1,1,900,7.04,CRD,21.5 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,480,1.58,CRD,7.5 +VTS,1,1,420,1.21,CRD,6.5 +VTS,1,1,840,3.92,CRD,14.0 +VTS,1,1,1020,2.26,CSH,12.0 +VTS,1,1,480,1.92,CSH,8.5 +VTS,1,1,720,1.98,CRD,10.5 +VTS,1,1,1440,6.25,CSH,23.0 +VTS,2,1,1860,15.99,CRD,52.0 +VTS,1,1,1260,10.62,CRD,30.5 +VTS,1,1,1020,5.12,CRD,17.5 +VTS,1,1,660,6.72,CRD,20.0 +VTS,1,1,540,1.65,CSH,8.0 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,480,0.98,CRD,7.0 +VTS,1,1,600,1.96,CRD,9.0 +VTS,1,1,240,0.73,CSH,4.5 +VTS,1,1,480,2.86,CSH,10.5 +VTS,1,1,360,1.59,CRD,7.0 +VTS,1,1,960,4.79,CRD,17.5 +VTS,1,1,960,5.98,CSH,20.5 +VTS,1,1,360,1.43,CSH,7.0 +VTS,1,1,480,1.75,CRD,8.0 +VTS,1,1,840,3.61,CSH,14.5 +VTS,1,1,480,1.87,CRD,8.5 +VTS,1,1,660,1.46,CRD,9.0 +VTS,1,1,1260,8.41,CRD,26.0 +VTS,1,1,540,1.48,CRD,8.0 +VTS,1,1,840,2.12,CRD,11.0 +VTS,1,1,960,2.84,CRD,13.0 +VTS,1,1,360,1.21,CRD,6.5 +VTS,1,1,240,0.69,CSH,5.0 +VTS,1,1,420,1.27,CSH,7.0 +VTS,1,1,780,2.18,CRD,10.5 +VTS,1,1,600,0.85,CRD,8.0 +VTS,1,1,1200,9.42,CSH,28.5 +VTS,1,1,240,0.84,CSH,5.0 +VTS,1,1,600,5.14,CSH,15.5 +VTS,1,1,780,4.42,CRD,15.0 +VTS,1,1,1320,11.27,CRD,32.5 +VTS,1,1,420,0.85,CSH,6.0 +VTS,1,1,240,0.49,CRD,4.5 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,840,1.45,CSH,10.5 +VTS,1,1,300,1.37,CRD,6.0 +VTS,1,1,600,3.82,CSH,13.0 +VTS,1,1,540,1.19,CRD,7.5 +VTS,1,1,660,2.64,CSH,11.0 +VTS,1,1,420,0.8,CRD,6.0 +VTS,1,1,1020,3.46,CRD,15.0 +VTS,1,1,720,2.0,CSH,10.0 +VTS,1,1,780,5.52,CRD,17.5 +VTS,1,1,480,1.55,CSH,8.0 +VTS,1,1,120,0.5,CSH,4.0 +VTS,1,1,960,3.33,CRD,13.5 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,360,1.01,CRD,6.5 +VTS,1,1,360,1.44,CRD,7.0 +VTS,1,1,1140,2.78,CRD,14.0 +VTS,1,1,1440,6.62,CRD,25.0 +VTS,1,1,300,0.9,CRD,6.0 +VTS,1,1,1320,5.34,CRD,20.0 +VTS,1,1,420,1.88,CSH,8.0 +VTS,1,1,960,3.12,CSH,13.5 +VTS,1,1,600,1.38,CRD,8.0 +VTS,1,1,240,1.51,CSH,6.5 +CMT,1,2,403,0.7,CSH,6.0 +CMT,1,1,538,1.2,CRD,8.0 +CMT,1,1,200,0.6,CRD,4.5 +CMT,1,4,417,1.9,NOC,8.0 +VTS,1,1,1800,7.55,CRD,26.5 +VTS,1,1,780,3.09,CSH,12.5 +VTS,1,1,540,1.58,CSH,8.5 +VTS,1,1,300,1.04,CRD,5.5 +VTS,1,1,300,1.03,CRD,5.5 +VTS,1,1,540,2.1,CRD,9.5 +VTS,1,1,480,1.72,CRD,8.0 +VTS,1,1,180,0.95,CSH,5.0 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,900,5.94,CRD,19.5 +VTS,1,1,1380,6.7,CSH,23.0 +VTS,1,1,180,0.91,CSH,5.0 +VTS,1,1,1140,3.36,CRD,15.0 +VTS,1,1,600,1.29,CRD,8.5 +VTS,1,1,1620,5.34,CRD,21.5 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,480,1.31,CSH,7.0 +VTS,1,1,660,2.18,CSH,10.0 +VTS,1,1,600,1.08,CRD,8.0 +VTS,1,1,1020,6.04,CRD,20.5 +VTS,1,1,540,1.41,CSH,8.0 +VTS,1,1,480,1.25,CRD,7.0 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,1,1020,3.19,CRD,14.0 +VTS,1,1,240,0.69,CSH,5.0 +VTS,1,1,360,2.19,CRD,8.5 +VTS,1,1,240,0.83,CSH,5.0 +VTS,1,1,840,3.64,CSH,14.0 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,360,1.61,CSH,7.5 +VTS,1,1,480,2.69,CRD,10.5 +VTS,1,1,960,3.69,CRD,15.0 +VTS,1,1,720,2.03,CSH,10.5 +VTS,1,1,360,0.61,CRD,5.5 +VTS,1,1,900,9.23,CSH,26.0 +VTS,1,1,1020,2.94,CSH,13.5 +VTS,1,1,120,0.76,CSH,4.0 +VTS,1,1,300,2.37,CRD,8.5 +VTS,1,1,360,1.01,CSH,6.5 +VTS,1,1,240,0.8,CSH,5.0 +VTS,1,1,1020,5.66,CRD,19.0 +VTS,1,1,840,3.1,CSH,13.0 +VTS,1,1,660,2.61,CSH,11.0 +VTS,1,1,720,1.47,CRD,9.5 +VTS,1,1,300,1.03,CRD,6.0 +VTS,1,1,1200,3.4,CSH,16.0 +VTS,1,1,540,0.88,CSH,7.5 +VTS,1,1,720,2.07,CSH,10.0 +VTS,1,1,1380,7.48,CSH,25.0 +VTS,1,1,960,2.98,CRD,13.0 +VTS,1,1,660,2.7,CRD,11.0 +VTS,1,1,480,1.77,CRD,8.5 +VTS,1,1,180,1.06,CSH,5.0 +VTS,1,1,420,1.71,CRD,7.5 +VTS,1,1,240,1.07,CRD,5.5 +VTS,1,1,1200,11.07,CRD,31.5 +VTS,1,1,720,2.22,CRD,10.5 +VTS,1,1,600,2.2,CSH,10.0 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,720,2.2,CRD,10.5 +VTS,1,1,2160,8.06,CSH,29.5 +VTS,1,1,720,2.22,CSH,10.5 +VTS,1,1,720,4.39,CRD,14.5 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,720,1.81,CSH,9.5 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,240,0.89,CSH,5.5 +VTS,1,1,120,0.64,CSH,4.0 +VTS,1,1,540,2.41,CSH,9.5 +VTS,1,1,720,2.94,CSH,12.5 +VTS,1,1,240,1.05,CSH,5.5 +VTS,1,1,300,1.05,CSH,6.0 +VTS,1,1,360,1.12,CSH,6.0 +VTS,1,1,600,3.18,CRD,11.5 +VTS,1,1,300,1.06,CRD,6.0 +VTS,1,1,360,1.08,CSH,6.5 +VTS,1,1,120,0.17,CRD,3.0 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,300,1.3,CRD,6.5 +VTS,1,1,720,3.45,CSH,13.5 +VTS,2,1,1860,20.02,CRD,52.0 +VTS,1,1,840,5.76,CSH,19.0 +VTS,1,1,600,1.8,CSH,9.0 +VTS,1,1,960,6.54,CRD,21.0 +VTS,1,1,420,1.21,CSH,6.5 +VTS,1,1,1140,2.74,CSH,15.0 +VTS,1,1,360,0.52,CRD,5.5 +VTS,1,1,240,1.25,CRD,6.0 +VTS,1,1,540,1.36,CSH,8.0 +VTS,1,1,1320,5.39,CRD,21.0 +VTS,1,1,720,2.45,CSH,11.0 +VTS,1,1,180,0.85,CSH,5.0 +VTS,1,1,840,3.27,CRD,13.0 +VTS,1,1,1260,3.07,CSH,15.5 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,780,2.38,CSH,11.5 +VTS,1,1,600,2.19,CRD,9.5 +VTS,1,1,480,1.92,CSH,8.0 +VTS,1,1,2040,3.79,CRD,22.5 +VTS,1,1,720,2.93,CRD,12.0 +VTS,1,1,480,2.78,CSH,10.5 +VTS,1,1,240,0.77,CRD,4.5 +VTS,1,1,1260,5.94,CSH,21.0 +VTS,1,1,660,3.32,CSH,12.5 +VTS,1,1,780,1.79,CSH,10.0 +VTS,1,1,300,0.22,CSH,5.0 +VTS,1,1,240,0.69,CSH,5.0 +VTS,1,1,1920,7.03,CSH,27.5 +VTS,1,1,540,1.59,CSH,8.5 +VTS,1,1,240,0.11,CSH,4.5 +VTS,1,1,840,1.8,CRD,10.5 +VTS,1,1,1080,5.17,CRD,19.0 +VTS,1,1,1140,3.13,CSH,14.5 +VTS,1,1,360,0.89,CRD,6.0 +VTS,1,1,540,1.42,CSH,8.5 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,420,1.3,CRD,7.0 +VTS,1,1,540,1.01,CSH,7.0 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,480,3.97,CRD,13.0 +VTS,1,1,600,2.41,CSH,10.5 +VTS,1,1,600,3.7,CRD,13.0 +VTS,1,1,840,3.62,CSH,15.0 +VTS,1,1,180,0.98,CRD,5.5 +VTS,1,1,600,2.06,CSH,9.0 +VTS,1,1,240,0.79,CRD,5.5 +VTS,1,1,840,2.0,CRD,11.0 +VTS,1,1,780,1.63,CRD,10.0 +VTS,1,1,300,1.14,CSH,6.0 +VTS,1,1,240,0.64,CSH,4.5 +VTS,1,1,360,0.75,CRD,5.5 +VTS,1,1,960,1.53,CSH,11.0 +VTS,1,1,1260,7.31,CRD,24.0 +VTS,1,1,840,2.03,CSH,11.0 +VTS,1,1,480,1.65,CRD,8.5 +VTS,1,1,960,5.85,CRD,20.0 +VTS,1,1,840,3.88,CSH,14.5 +VTS,1,1,360,0.66,CSH,5.5 +VTS,1,1,480,2.4,CSH,9.0 +VTS,1,1,780,4.57,CRD,16.5 +VTS,1,1,360,2.1,CSH,7.5 +VTS,1,1,600,1.19,CSH,8.5 +VTS,1,1,360,1.42,CSH,6.5 +VTS,1,1,180,1.07,CRD,5.5 +VTS,1,1,1020,5.58,CSH,19.0 +VTS,1,1,300,1.25,CSH,6.5 +VTS,1,1,900,3.44,CRD,15.0 +VTS,1,1,60,0.16,CSH,2.5 +VTS,1,1,780,3.84,CRD,14.0 +VTS,1,1,840,3.7,CSH,13.5 +VTS,1,1,360,0.92,CRD,6.0 +VTS,1,1,180,0.62,CSH,4.5 +VTS,2,1,60,0.12,CSH,52.0 +VTS,1,1,480,1.26,CSH,7.0 +VTS,1,1,660,3.0,CRD,11.0 +VTS,1,1,180,0.92,CRD,5.0 +VTS,1,1,240,0.71,CRD,4.5 +VTS,1,1,660,2.27,CRD,10.5 +VTS,1,1,1020,3.52,CRD,14.0 +VTS,1,1,900,3.37,CRD,13.5 +VTS,1,1,60,0.64,CSH,4.0 +VTS,1,1,600,1.17,CSH,8.0 +VTS,1,1,360,1.11,CSH,6.5 +VTS,1,1,1020,2.83,CRD,13.5 +VTS,1,1,840,2.76,CRD,12.5 +VTS,1,1,420,1.15,CSH,6.5 +VTS,1,1,300,0.73,CSH,5.0 +VTS,1,1,120,0.37,CSH,4.0 +VTS,1,1,180,0.77,CSH,5.0 +VTS,1,1,660,1.93,CSH,9.5 +VTS,1,1,540,3.46,CRD,12.5 +VTS,1,1,900,3.27,CSH,13.5 +VTS,1,1,420,0.86,CRD,6.5 +VTS,1,1,1140,4.03,CSH,17.5 +VTS,1,1,180,0.45,CSH,4.5 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,540,1.56,CRD,8.0 +VTS,1,1,420,1.56,CSH,7.0 +VTS,1,1,600,2.64,CSH,10.5 +VTS,1,1,600,3.53,CSH,12.0 +VTS,1,1,840,3.64,CSH,13.5 +VTS,1,1,480,1.08,CRD,7.0 +VTS,1,1,660,3.05,CSH,11.5 +VTS,1,1,1020,10.53,CRD,30.0 +VTS,1,1,540,2.93,CSH,10.0 +VTS,1,1,360,2.83,CSH,10.0 +VTS,1,1,540,2.49,CSH,9.5 +VTS,1,1,1260,3.3,CSH,16.0 +VTS,1,1,840,4.73,CRD,16.5 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,900,6.28,CRD,19.0 +VTS,1,1,360,3.42,CRD,11.5 +VTS,1,1,360,0.81,CSH,6.0 +VTS,1,1,240,1.34,CRD,6.0 +VTS,1,1,480,0.99,CRD,6.5 +VTS,1,1,360,1.16,CRD,6.5 +VTS,1,1,360,0.82,CSH,5.5 +VTS,1,1,480,1.83,CSH,8.5 +VTS,1,1,360,1.29,CSH,7.0 +VTS,1,1,1920,15.8,CRD,44.5 +VTS,1,1,300,0.94,CSH,5.0 +VTS,1,1,420,2.64,CRD,9.0 +VTS,1,1,180,0.69,CSH,5.0 +VTS,1,1,900,3.59,CRD,15.0 +VTS,1,1,480,1.27,CSH,7.5 +VTS,1,1,420,1.24,CSH,6.5 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,2220,9.48,CSH,32.5 +VTS,1,1,540,1.17,CSH,7.5 +VTS,1,1,900,2.84,CSH,13.0 +VTS,1,1,1200,7.42,CRD,24.0 +VTS,1,1,1140,3.24,CSH,15.0 +VTS,1,1,300,1.42,CRD,7.0 +VTS,1,1,600,2.11,CRD,10.0 +VTS,1,1,1200,6.11,CRD,22.0 +VTS,1,1,1020,2.27,CRD,12.5 +VTS,1,1,480,1.5,CSH,7.5 +VTS,1,1,660,0.95,CRD,8.5 +VTS,1,1,1080,3.22,CRD,14.5 +VTS,1,1,1380,4.79,CRD,20.0 +VTS,1,1,1260,3.86,CSH,16.5 +VTS,1,1,1560,9.98,CRD,30.5 +VTS,1,1,1020,2.2,CSH,12.5 +VTS,1,1,180,0.42,CRD,4.0 +VTS,1,1,480,1.32,CSH,7.5 +VTS,1,1,900,4.03,CSH,15.5 +VTS,1,1,600,0.91,CSH,8.0 +VTS,1,1,780,2.76,CSH,12.0 +VTS,1,1,300,1.45,CSH,6.5 +VTS,1,1,300,1.04,CSH,6.0 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,360,1.11,CSH,6.5 +VTS,1,1,300,0.49,CSH,5.0 +VTS,1,1,1020,2.45,CSH,13.0 +VTS,1,1,480,0.92,CSH,7.0 +VTS,1,1,480,1.04,CRD,7.0 +VTS,1,1,300,0.96,CRD,6.0 +VTS,1,1,420,0.83,CRD,6.0 +VTS,1,1,720,1.94,CSH,10.0 +VTS,1,1,420,1.03,CRD,6.5 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,840,2.15,CSH,11.5 +VTS,1,1,360,1.04,CRD,6.0 +VTS,1,1,360,2.37,CSH,8.5 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,360,1.83,CRD,7.0 +VTS,1,1,540,0.76,CSH,7.0 +VTS,1,1,660,3.44,CRD,13.0 +VTS,1,1,180,0.39,CSH,4.0 +VTS,1,1,540,0.96,CSH,7.0 +VTS,1,1,540,1.64,CSH,8.5 +VTS,1,1,1200,11.08,CSH,31.0 +VTS,1,1,480,1.32,CSH,7.5 +VTS,1,1,300,0.78,CSH,5.0 +VTS,1,1,840,2.45,CRD,12.0 +VTS,1,1,1020,3.76,CRD,15.0 +VTS,1,1,240,0.8,CRD,5.0 +VTS,1,1,1320,14.95,CRD,40.0 +VTS,1,1,420,1.41,CRD,7.0 +VTS,1,1,660,1.01,CRD,8.5 +VTS,1,1,600,1.95,CSH,9.5 +VTS,1,1,960,3.85,CRD,15.0 +VTS,1,1,660,1.74,CSH,9.0 +VTS,1,1,1080,4.22,CSH,16.5 +VTS,1,1,300,1.43,CSH,6.5 +VTS,1,1,1440,11.02,CRD,33.0 +VTS,1,1,1020,1.33,CRD,11.5 +VTS,1,1,1080,7.92,CSH,23.5 +VTS,1,1,360,0.67,CRD,5.5 +VTS,1,1,420,3.2,CRD,10.5 +VTS,1,1,900,2.72,CRD,12.0 +VTS,1,1,300,2.51,CSH,8.5 +VTS,1,1,1380,7.0,CSH,23.5 +VTS,1,1,480,1.8,CRD,8.0 +VTS,1,1,900,2.9,CSH,13.0 +VTS,1,1,1020,3.95,CSH,15.0 +VTS,1,1,360,1.6,CRD,7.0 +VTS,1,1,1140,4.19,CRD,17.0 +VTS,1,1,660,2.64,CRD,11.0 +VTS,1,1,60,0.59,CRD,3.5 +VTS,1,1,360,0.36,CSH,5.0 +VTS,1,1,180,0.83,CRD,5.0 +VTS,1,1,1140,3.1,CRD,15.5 +VTS,1,1,960,1.85,CSH,12.0 +VTS,1,1,360,0.83,CSH,5.5 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,420,0.87,CRD,6.0 +VTS,1,1,720,2.22,CSH,10.5 +VTS,1,1,1320,4.55,CRD,18.5 +VTS,1,1,240,0.75,CSH,5.5 +VTS,1,1,180,0.75,CSH,5.0 +VTS,1,1,240,1.13,CSH,5.5 +VTS,1,1,420,1.23,CSH,7.0 +VTS,1,1,1260,12.48,CSH,35.0 +VTS,1,1,540,1.65,CRD,8.5 +VTS,1,1,120,0.94,CSH,5.0 +VTS,1,1,720,2.73,CSH,11.5 +VTS,1,1,1020,3.32,CRD,14.0 +VTS,1,1,240,0.82,CSH,5.5 +VTS,1,1,600,2.24,CSH,9.5 +VTS,1,1,180,1.05,CRD,5.5 +VTS,1,1,660,2.28,CRD,10.5 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,1,360,0.6,CRD,5.5 +VTS,1,1,1620,2.78,CRD,18.5 +VTS,1,1,480,1.32,CSH,7.5 +VTS,1,1,960,6.07,CRD,19.5 +VTS,1,1,180,0.49,CSH,4.0 +VTS,1,1,1080,7.67,CRD,24.0 +VTS,1,1,600,1.15,CRD,8.5 +VTS,1,1,1080,2.93,CRD,14.0 +VTS,1,1,360,0.82,CSH,6.0 +VTS,1,1,180,0.57,CRD,4.5 +VTS,1,1,480,0.91,CSH,7.0 +VTS,1,1,1140,9.29,CRD,27.5 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,240,1.41,CRD,6.0 +VTS,1,1,300,1.49,CRD,7.0 +VTS,2,1,1680,19.68,CRD,52.0 +VTS,1,1,360,1.37,CRD,7.0 +VTS,1,1,720,2.63,CRD,12.0 +VTS,1,1,240,1.69,CRD,7.5 +VTS,1,1,60,0.61,CRD,4.0 +VTS,1,1,120,0.53,CRD,3.5 +VTS,1,1,540,0.77,CSH,7.0 +VTS,1,1,1260,5.02,CRD,19.0 +VTS,1,1,900,4.57,CSH,16.5 +VTS,1,1,1320,4.22,CRD,18.5 +VTS,1,1,960,2.21,CRD,12.5 +VTS,1,1,120,0.51,CSH,4.0 +VTS,1,1,720,2.12,CSH,10.0 +VTS,1,1,420,2.0,CRD,8.5 +VTS,1,1,240,0.86,CSH,5.0 +VTS,1,1,1440,8.23,CSH,27.0 +VTS,1,1,600,0.55,CSH,7.5 +VTS,1,1,360,0.75,CSH,5.5 +VTS,1,1,300,1.21,CRD,6.0 +VTS,1,1,360,0.8,CRD,6.0 +VTS,1,1,420,1.75,CRD,7.5 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,660,2.84,CRD,11.0 +VTS,1,1,660,1.56,CRD,8.5 +VTS,1,1,480,1.22,CRD,7.5 +VTS,1,1,420,1.79,CSH,8.0 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,600,2.5,CRD,11.0 +VTS,1,1,1620,2.92,CRD,17.5 +VTS,1,1,540,1.27,CSH,7.5 +VTS,1,1,1140,1.76,CRD,12.5 +VTS,1,1,120,0.53,CSH,4.0 +VTS,1,1,420,4.97,CSH,15.0 +VTS,1,1,360,0.93,CRD,6.0 +VTS,1,1,600,3.5,CRD,12.0 +VTS,1,1,600,1.85,CSH,9.5 +VTS,1,1,240,0.72,CSH,5.0 +VTS,1,1,660,2.48,CRD,10.5 +VTS,1,1,600,2.02,CRD,9.0 +VTS,1,1,360,0.94,CRD,6.0 +VTS,1,1,660,3.77,CRD,12.5 +VTS,1,1,480,1.82,CRD,8.0 +VTS,1,1,480,1.05,CRD,7.5 +VTS,1,1,1320,4.21,CSH,18.5 +VTS,1,1,480,1.65,CSH,8.0 +VTS,1,1,480,1.53,CSH,7.5 +VTS,1,1,480,2.17,CRD,9.5 +VTS,1,1,360,0.73,CRD,5.5 +VTS,1,1,1080,7.92,CSH,23.5 +VTS,1,1,1380,14.99,CRD,40.5 +VTS,1,1,780,2.38,CRD,11.5 +VTS,1,1,1140,3.39,CSH,15.5 +VTS,1,1,420,2.22,CSH,8.5 +VTS,1,1,1560,9.51,CSH,30.0 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,2100,11.47,CRD,34.5 +VTS,1,1,780,1.87,CRD,10.0 +VTS,1,1,840,1.55,CSH,10.0 +VTS,1,1,360,1.45,CSH,6.5 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,240,0.6,CRD,4.5 +VTS,1,1,2100,10.87,CRD,34.0 +VTS,1,1,360,1.33,CSH,6.5 +VTS,1,1,360,0.87,CRD,6.5 +VTS,1,1,360,0.7,CSH,6.0 +VTS,1,1,780,3.88,CSH,14.0 +VTS,1,1,360,0.98,CSH,6.5 +VTS,1,1,1920,9.73,CRD,32.0 +VTS,1,1,480,1.65,CRD,8.0 +VTS,1,1,1380,4.05,CSH,18.0 +VTS,1,1,720,2.74,CRD,11.0 +VTS,1,1,900,2.43,CSH,12.0 +VTS,1,1,240,0.89,CRD,5.0 +VTS,1,1,1620,2.75,CSH,17.5 +VTS,1,1,1380,6.36,CRD,22.5 +VTS,1,1,600,3.4,CRD,12.0 +VTS,1,1,1020,2.31,CRD,12.5 +VTS,1,1,960,3.0,CRD,13.0 +VTS,1,1,1740,7.1,CRD,25.5 +VTS,1,1,960,4.41,CRD,15.5 +VTS,1,1,900,2.59,CSH,12.5 +VTS,1,1,1140,2.68,CSH,14.0 +VTS,1,1,420,0.94,CSH,6.5 +VTS,1,1,1380,5.73,CRD,20.5 +VTS,1,1,840,2.36,CRD,11.5 +VTS,1,1,1080,5.51,CRD,19.5 +VTS,1,1,480,2.48,CSH,10.0 +VTS,1,1,600,2.98,CRD,11.5 +VTS,1,1,120,0.8,CSH,4.5 +VTS,1,1,720,4.88,CRD,16.0 +VTS,1,1,240,0.76,CSH,5.0 +VTS,1,1,720,3.19,CRD,12.5 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,600,1.25,CRD,8.5 +VTS,1,1,480,1.75,CRD,8.0 +VTS,1,1,300,0.66,CSH,5.5 +VTS,1,1,540,0.97,CRD,7.5 +VTS,1,1,480,1.17,CRD,7.5 +VTS,1,1,540,2.31,CRD,9.5 +VTS,1,1,1140,5.49,CRD,20.0 +VTS,1,1,480,1.05,CSH,7.5 +VTS,1,1,600,1.04,CRD,8.0 +VTS,1,1,540,1.83,CSH,8.5 +VTS,1,1,300,1.25,CSH,6.0 +VTS,1,1,300,1.48,CSH,6.5 +VTS,1,1,240,0.82,CSH,5.0 +VTS,1,1,840,2.56,CSH,11.5 +VTS,1,1,960,4.38,CSH,15.5 +VTS,1,1,1560,7.89,CRD,25.5 +VTS,1,1,720,2.69,CSH,11.0 +VTS,1,1,360,1.63,CSH,7.5 +VTS,1,1,540,1.27,CSH,7.5 +VTS,1,1,900,2.58,CSH,11.5 +VTS,1,1,900,2.22,CRD,12.0 +VTS,1,1,1020,4.12,CRD,15.5 +VTS,1,1,240,0.52,CRD,4.5 +VTS,1,1,240,1.45,CRD,6.0 +VTS,1,1,1020,0.71,CRD,11.5 +VTS,1,1,2220,9.87,CRD,32.0 +VTS,1,1,180,0.9,CSH,5.0 +VTS,1,1,240,1.0,CSH,5.5 +VTS,1,1,660,3.41,CRD,12.0 +VTS,1,1,1860,13.56,CRD,40.0 +VTS,1,1,1500,3.27,CRD,17.5 +VTS,1,1,360,2.11,CRD,8.5 +VTS,1,1,1440,9.83,CRD,29.0 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,300,1.63,CSH,7.0 +VTS,1,1,1980,13.85,CRD,40.5 +VTS,1,1,1140,3.99,CRD,17.0 +VTS,1,1,360,1.28,CRD,7.0 +VTS,1,1,840,1.83,CSH,10.5 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,240,1.15,CRD,6.0 +VTS,1,1,540,1.79,CRD,9.0 +VTS,1,1,240,0.72,CSH,5.0 +VTS,1,1,1020,4.11,CRD,16.5 +VTS,1,1,360,0.72,CRD,6.0 +VTS,1,1,780,2.12,CRD,10.0 +VTS,1,1,180,0.7,CRD,5.0 +VTS,1,1,480,1.28,CSH,7.5 +VTS,1,1,180,0.54,CRD,4.5 +VTS,1,1,1080,5.21,CSH,19.0 +VTS,1,1,1800,8.45,CRD,29.0 +VTS,1,1,300,1.17,CRD,6.0 +VTS,1,1,720,5.02,CRD,16.5 +VTS,1,1,120,0.73,CSH,4.5 +VTS,1,1,1020,3.83,CRD,15.5 +VTS,1,1,1080,6.11,CRD,20.0 +VTS,1,1,600,1.01,CRD,8.0 +VTS,1,1,240,1.16,CSH,5.5 +VTS,1,1,300,1.26,CSH,6.0 +VTS,1,1,900,3.74,CSH,14.0 +VTS,1,1,840,4.67,CSH,16.0 +VTS,1,1,420,2.76,CRD,9.5 +VTS,1,1,1260,5.66,CRD,20.0 +VTS,1,1,360,1.03,CSH,6.0 +VTS,1,1,420,1.2,CSH,7.0 +VTS,1,1,1080,4.41,CSH,16.5 +VTS,1,1,240,0.66,CRD,5.0 +VTS,1,1,540,1.41,CRD,8.5 +VTS,1,1,1140,6.24,CSH,21.0 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,1260,8.5,CSH,26.0 +VTS,1,1,240,0.99,CRD,5.5 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,660,2.23,CSH,9.5 +VTS,1,1,1320,12.75,CRD,36.0 +VTS,1,1,720,4.21,CRD,14.0 +VTS,1,1,360,2.07,CRD,8.0 +VTS,1,1,720,3.29,CRD,13.5 +VTS,1,1,360,1.06,CSH,6.0 +VTS,1,1,540,1.38,CSH,7.5 +VTS,1,1,420,1.49,CRD,7.0 +VTS,1,1,780,2.41,CRD,11.5 +VTS,1,1,1140,2.94,CRD,14.5 +VTS,1,1,2220,12.13,CSH,39.0 +VTS,1,1,1260,6.39,CRD,23.0 +VTS,1,1,660,1.34,CRD,8.5 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,1740,6.51,CRD,24.5 +VTS,1,1,420,0.93,CSH,6.0 +VTS,1,1,960,4.91,CRD,16.5 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,1800,6.69,CRD,25.0 +VTS,1,1,900,1.28,CRD,10.5 +VTS,1,1,180,0.45,CRD,4.0 +VTS,1,1,1560,6.44,CRD,23.5 +VTS,1,1,1500,8.74,CRD,28.0 +VTS,1,1,1020,4.38,CRD,17.0 +VTS,1,1,360,2.23,CRD,8.5 +VTS,1,1,360,1.13,CSH,6.0 +VTS,1,1,480,1.86,CSH,8.5 +VTS,1,1,120,0.75,CSH,4.5 +VTS,1,1,480,2.58,CRD,9.5 +VTS,1,1,960,3.34,CSH,14.0 +VTS,5,2,60,0.0,CRD,70.0 +VTS,1,1,240,0.95,CRD,5.5 +VTS,1,1,360,1.5,CSH,6.5 +VTS,1,1,420,1.59,CRD,7.5 +VTS,1,1,540,2.14,CSH,9.0 +VTS,1,1,600,1.07,CSH,7.5 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,240,0.85,CRD,5.0 +VTS,1,1,540,1.3,CSH,7.5 +VTS,1,1,780,2.64,CRD,11.5 +VTS,1,1,300,0.8,CSH,6.0 +VTS,1,1,480,1.46,CSH,8.0 +VTS,1,1,960,6.91,CRD,21.5 +VTS,1,1,300,1.35,CSH,6.5 +VTS,1,1,480,1.98,CRD,9.0 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,840,2.79,CRD,12.5 +VTS,1,1,900,3.93,CRD,14.5 +VTS,1,1,1980,8.08,CRD,28.0 +VTS,1,1,840,2.28,CRD,11.0 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,840,2.6,CSH,12.0 +VTS,1,1,600,0.84,CSH,8.0 +VTS,1,1,720,2.51,CRD,11.5 +VTS,1,1,300,1.46,CRD,6.5 +VTS,1,1,720,2.64,CSH,11.0 +VTS,1,1,1680,15.41,CSH,43.5 +VTS,1,1,300,1.44,CSH,6.5 +VTS,1,1,240,0.64,CRD,4.5 +VTS,1,1,720,2.44,CRD,10.5 +VTS,1,1,660,2.41,CRD,10.5 +VTS,1,1,1020,3.17,CSH,14.0 +VTS,1,1,540,2.63,CSH,10.5 +VTS,1,1,540,2.13,CSH,9.5 +VTS,1,1,660,2.35,CRD,10.0 +VTS,1,1,780,1.66,CSH,10.0 +VTS,1,1,780,2.6,CSH,11.5 +VTS,1,1,600,1.35,CRD,8.5 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,420,1.19,CSH,6.5 +VTS,1,1,1200,1.41,CSH,13.0 +VTS,1,1,60,0.53,CSH,3.5 +VTS,1,1,1260,4.5,CRD,18.0 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,1,720,2.29,CSH,10.5 +VTS,1,1,360,0.81,CSH,6.0 +VTS,1,1,660,2.05,CSH,9.5 +VTS,1,1,600,2.4,CRD,10.5 +VTS,1,1,300,0.85,CRD,5.5 +VTS,1,1,480,2.21,CSH,9.0 +VTS,1,1,600,2.07,CSH,9.5 +VTS,1,1,840,2.06,CSH,11.5 +VTS,1,1,120,0.43,CRD,3.5 +VTS,1,1,1200,3.79,CSH,15.5 +VTS,1,1,420,1.84,CSH,8.0 +VTS,1,1,120,0.99,CSH,5.0 +VTS,1,1,420,1.96,CRD,8.0 +VTS,1,1,180,0.48,CSH,4.0 +VTS,1,1,3000,11.06,CRD,39.5 +VTS,1,1,240,0.77,CSH,5.0 +VTS,1,1,4500,16.66,CRD,59.0 +CMT,1,1,1343,4.3,CRD,17.5 +CMT,2,3,3204,20.6,CSH,52.0 +CMT,2,1,995,4.7,CRD,52.0 +CMT,1,1,1571,0.8,CSH,6.0 +CMT,1,1,449,0.9,CRD,6.5 +CMT,1,1,450,0.8,CRD,6.5 +CMT,1,1,724,1.7,CRD,9.5 +CMT,1,1,636,1.3,CSH,9.0 +CMT,1,1,500,1.1,CRD,7.5 +CMT,1,1,330,0.9,CSH,6.0 +CMT,1,1,151,0.4,CSH,4.0 +CMT,1,1,452,3.0,CRD,10.0 +CMT,1,1,192,1.0,CSH,5.0 +VTS,1,1,780,2.03,CRD,10.5 +VTS,1,1,1080,3.47,CRD,15.0 +VTS,1,1,2280,7.66,CSH,30.5 +VTS,1,1,240,1.17,CRD,5.5 +VTS,1,1,1260,6.5,CRD,22.5 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,240,1.37,CRD,6.0 +VTS,1,1,660,1.88,CRD,9.0 +VTS,1,1,420,1.0,CRD,6.5 +VTS,1,1,1140,1.75,CSH,13.0 +VTS,1,1,780,2.92,CSH,12.0 +VTS,1,1,420,1.75,CRD,8.0 +VTS,1,1,360,2.45,CSH,8.5 +VTS,1,1,300,1.2,CRD,6.0 +VTS,1,1,1320,5.36,CSH,19.5 +VTS,1,1,1020,5.36,CSH,18.0 +VTS,1,1,600,3.21,CRD,12.0 +VTS,1,1,300,1.52,CRD,6.5 +VTS,1,1,1500,10.57,CRD,33.0 +VTS,1,1,2220,17.58,CSH,50.0 +VTS,1,1,1020,3.21,CSH,14.0 +VTS,1,1,180,0.83,CRD,5.0 +VTS,1,1,480,1.18,CRD,7.0 +VTS,1,1,300,1.0,CRD,5.5 +VTS,1,1,900,3.24,CRD,14.0 +VTS,1,1,840,1.01,CSH,9.5 +VTS,1,1,840,2.79,CRD,12.5 +VTS,1,1,2100,10.79,CRD,33.5 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,960,1.46,CSH,11.0 +VTS,1,1,900,2.52,CRD,12.0 +VTS,1,1,540,1.94,CRD,8.5 +VTS,1,1,1020,3.81,CRD,15.5 +VTS,1,1,600,3.97,CRD,13.0 +VTS,1,1,480,0.98,CRD,7.0 +VTS,1,1,420,1.39,CRD,7.5 +VTS,1,1,360,1.8,CRD,7.0 +VTS,1,1,360,1.48,CSH,7.0 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,420,1.99,CSH,8.5 +VTS,1,1,900,4.79,CSH,16.5 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,540,1.21,CSH,7.5 +VTS,1,1,540,1.22,CRD,7.5 +CMT,1,2,306,0.8,CRD,5.5 +CMT,1,2,803,3.1,CSH,13.0 +CMT,1,2,392,1.0,CSH,6.0 +CMT,1,2,479,2.2,CRD,9.0 +CMT,1,1,1143,9.7,CRD,29.5 +CMT,1,1,439,2.8,CSH,10.0 +CMT,1,1,1410,2.0,CSH,8.5 +CMT,1,1,567,0.9,CRD,7.5 +CMT,1,3,712,1.1,CRD,9.0 +VTS,1,1,360,1.55,CRD,7.0 +VTS,1,1,540,1.63,CSH,8.5 +VTS,1,1,600,1.91,CSH,9.5 +VTS,1,1,360,1.55,CSH,7.0 +VTS,1,1,600,1.19,CRD,8.5 +VTS,1,1,240,0.84,CSH,4.5 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,240,0.85,CSH,5.5 +VTS,1,1,1020,8.1,CSH,25.0 +VTS,1,1,180,0.79,CRD,5.0 +VTS,1,1,960,3.5,CRD,14.5 +VTS,1,1,180,0.53,CSH,4.0 +VTS,1,1,360,1.59,CSH,7.5 +VTS,1,1,540,0.65,CSH,7.0 +VTS,1,1,540,1.18,CSH,7.5 +VTS,1,1,960,2.48,CSH,12.5 +VTS,1,1,360,1.4,CSH,7.0 +VTS,1,1,240,0.41,CSH,4.5 +VTS,1,1,480,1.55,CSH,8.0 +VTS,1,1,960,4.38,CSH,16.5 +VTS,1,1,180,0.7,CRD,5.0 +VTS,1,1,420,1.55,CRD,7.5 +VTS,1,1,240,0.7,CRD,5.0 +VTS,1,1,1500,8.67,CRD,29.0 +VTS,1,1,480,1.56,CRD,7.5 +VTS,1,1,1560,4.64,CRD,20.5 +VTS,1,1,240,0.87,CRD,5.5 +VTS,1,1,180,0.88,CSH,5.0 +VTS,1,1,240,1.17,CSH,6.0 +VTS,1,1,720,1.71,CRD,9.5 +VTS,1,1,660,1.53,CRD,9.5 +VTS,1,1,180,0.45,CRD,4.0 +VTS,1,1,360,0.97,CSH,6.0 +VTS,1,1,540,1.81,CRD,9.0 +VTS,1,1,540,1.48,CSH,8.0 +VTS,1,1,1560,9.62,CRD,30.0 +VTS,1,1,480,1.07,CRD,7.0 +VTS,1,1,120,0.26,CSH,3.5 +VTS,1,1,600,1.6,CSH,8.5 +VTS,1,1,1020,8.3,CSH,25.0 +VTS,1,1,540,3.37,CSH,12.0 +VTS,1,1,1740,9.72,CRD,30.5 +VTS,1,1,1260,3.06,CSH,15.0 +VTS,1,1,960,5.58,CRD,17.5 +VTS,1,1,600,1.72,CSH,9.0 +VTS,1,1,1440,5.25,CRD,20.0 +VTS,1,1,120,0.49,CSH,4.0 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,240,1.42,CSH,6.0 +VTS,1,1,480,1.83,CSH,8.5 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,420,1.5,CRD,7.5 +VTS,1,1,1080,3.12,CRD,14.5 +VTS,1,1,540,2.57,CSH,10.0 +VTS,1,1,540,2.54,CRD,10.0 +VTS,1,1,840,2.14,CRD,11.0 +VTS,1,1,480,1.79,CRD,8.5 +VTS,1,1,1260,5.5,CRD,20.5 +VTS,1,1,480,1.71,CSH,8.0 +VTS,1,1,420,1.79,CRD,8.0 +VTS,1,1,300,2.6,CRD,9.0 +VTS,1,1,1440,6.97,CRD,23.5 +VTS,1,1,1020,5.64,CRD,20.0 +VTS,1,1,780,4.36,CSH,15.5 +VTS,1,1,600,1.12,CSH,8.0 +VTS,1,1,300,0.95,CRD,6.0 +VTS,1,1,1140,4.27,CSH,17.5 +VTS,1,1,660,3.07,CRD,11.0 +VTS,1,1,300,1.49,CRD,7.0 +VTS,1,1,840,5.72,CRD,18.0 +VTS,1,1,120,0.75,CSH,4.0 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,1,360,0.89,CSH,6.0 +VTS,1,1,600,1.87,CRD,9.5 +VTS,1,1,360,1.37,CRD,7.0 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,900,2.33,CSH,12.0 +VTS,1,1,1740,8.0,CRD,27.0 +VTS,1,1,360,1.0,CRD,6.0 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,1,660,2.8,CRD,11.0 +VTS,1,1,420,1.23,CSH,7.5 +VTS,1,1,1200,6.28,CRD,21.5 +VTS,1,1,960,5.39,CRD,18.0 +CMT,1,1,1379,11.3,CSH,33.0 +CMT,1,1,727,3.2,CRD,12.0 +CMT,1,1,7,0.0,CSH,2.5 +CMT,1,1,602,1.8,CRD,9.0 +CMT,1,2,769,2.7,CSH,11.5 +CMT,1,1,1117,6.5,CRD,20.5 +CMT,1,4,762,2.5,CSH,11.0 +CMT,1,1,335,1.1,CRD,6.5 +CMT,1,1,1018,2.5,CRD,13.0 +CMT,1,1,477,1.0,CRD,7.0 +CMT,1,1,459,1.1,CRD,7.0 +CMT,1,1,1465,2.7,CSH,16.5 +CMT,1,1,714,1.8,CRD,10.0 +CMT,1,2,485,1.0,CSH,7.0 +CMT,1,4,1433,6.8,CSH,23.5 +CMT,1,1,75,0.4,CSH,3.5 +CMT,1,1,146,1.0,CSH,5.0 +CMT,1,1,979,4.6,CRD,18.0 +VTS,2,1,1440,17.16,CRD,52.0 +VTS,1,1,660,3.22,CSH,11.5 +VTS,1,1,1320,7.92,CSH,24.0 +VTS,1,1,2400,15.82,CSH,45.5 +VTS,1,1,660,2.16,CSH,9.5 +VTS,1,1,300,1.31,CSH,6.5 +VTS,1,1,1020,2.6,CRD,13.0 +VTS,1,1,1440,5.48,CSH,21.0 +VTS,1,1,960,2.88,CSH,13.0 +VTS,1,1,840,2.63,CSH,12.5 +VTS,1,1,300,1.1,CSH,6.0 +VTS,1,1,2340,3.68,CSH,23.5 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,900,1.8,CRD,10.5 +VTS,1,1,420,1.33,CSH,7.5 +VTS,1,1,360,0.55,CRD,6.0 +VTS,1,1,420,1.46,CRD,7.0 +VTS,1,1,240,0.59,CRD,4.5 +VTS,5,2,60,0.24,CSH,25.0 +VTS,1,1,1560,8.87,CRD,28.5 +VTS,1,1,120,0.48,CSH,4.0 +VTS,1,1,1080,3.17,CRD,14.5 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,1,540,1.7,CRD,8.0 +VTS,1,1,540,2.13,CRD,9.0 +VTS,1,1,1260,5.74,CSH,21.0 +VTS,1,1,660,3.48,CSH,12.0 +VTS,1,1,720,5.58,CSH,17.5 +VTS,1,1,960,2.25,CRD,12.0 +VTS,1,1,720,3.72,CRD,13.5 +VTS,1,1,120,0.89,CSH,4.5 +VTS,1,1,540,1.2,CSH,7.0 +VTS,1,1,720,2.09,CSH,10.0 +VTS,1,1,660,1.91,CRD,9.5 +VTS,1,1,780,3.16,CRD,12.5 +VTS,1,1,360,1.59,CSH,7.5 +VTS,1,1,360,1.87,CSH,7.5 +VTS,1,1,360,1.69,CSH,7.0 +VTS,1,1,780,2.15,CRD,10.0 +VTS,1,1,60,0.21,CRD,3.0 +VTS,1,1,2040,12.73,CRD,38.0 +VTS,1,1,780,1.76,CSH,10.0 +VTS,1,1,600,1.93,CRD,9.0 +CMT,2,1,2090,19.6,CRD,52.0 +CMT,1,1,537,2.7,CRD,10.0 +CMT,1,1,2877,4.7,CRD,17.5 +CMT,1,1,105,0.5,CSH,4.0 +CMT,1,1,465,1.5,CSH,8.0 +CMT,1,1,253,0.6,CRD,4.5 +CMT,1,1,402,1.2,CRD,6.5 +CMT,1,1,1187,8.7,CRD,26.0 +CMT,1,1,300,0.9,CSH,5.5 +CMT,1,1,617,1.8,CSH,9.0 +CMT,1,1,1242,7.3,CRD,24.0 +VTS,1,1,1500,8.61,CRD,27.5 +VTS,1,1,720,4.12,CRD,14.5 +VTS,1,1,180,0.56,CSH,4.5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,240,1.25,CSH,6.0 +CMT,1,1,1370,5.3,CSH,20.0 +CMT,1,1,1973,14.3,CSH,41.0 +CMT,1,1,1379,11.4,CRD,32.0 +CMT,1,1,1029,1.8,CSH,12.0 +CMT,1,1,1608,12.3,NOC,2.5 +CMT,5,1,1040,5.4,CRD,60.0 +CMT,1,1,305,0.9,CRD,6.0 +CMT,1,3,1241,3.4,CSH,16.5 +CMT,1,1,80,0.5,CRD,3.5 +CMT,1,1,327,0.7,CSH,5.5 +CMT,1,1,189,0.5,CSH,4.5 +CMT,1,1,195,0.6,CRD,4.5 +CMT,1,1,241,0.6,CRD,5.0 +CMT,1,2,260,0.7,CRD,5.0 +CMT,1,1,505,1.3,CRD,7.5 +VTS,1,1,180,0.74,CRD,5.0 +VTS,1,1,780,3.46,CSH,14.0 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,1440,16.65,CRD,45.5 +VTS,1,1,840,4.17,CSH,15.5 +VTS,1,1,480,2.07,CRD,8.5 +VTS,1,1,1020,3.03,CRD,14.0 +VTS,1,1,1140,2.09,CRD,13.0 +VTS,1,1,240,1.0,CRD,5.5 +VTS,1,1,420,1.23,CSH,7.0 +VTS,1,1,360,1.33,CSH,6.5 +CMT,1,2,1529,8.6,CRD,29.0 +CMT,1,1,677,1.8,CSH,9.5 +CMT,1,2,660,3.2,CRD,12.0 +CMT,1,1,741,3.2,CRD,12.5 +CMT,1,1,249,0.7,CRD,5.0 +CMT,1,1,622,2.0,CSH,10.0 +CMT,1,1,334,1.7,CRD,7.5 +CMT,1,1,301,0.8,CSH,5.5 +CMT,1,2,134,0.2,CSH,3.5 +CMT,1,1,967,8.3,CSH,24.0 +VTS,1,1,240,1.56,CRD,6.5 +VTS,2,1,1740,19.88,CSH,52.0 +VTS,1,1,1980,12.71,CRD,38.5 +VTS,1,1,540,1.7,CSH,8.5 +VTS,1,1,420,0.92,CSH,6.5 +VTS,1,1,780,2.71,CRD,11.0 +VTS,1,1,300,1.05,CRD,6.0 +VTS,1,1,1980,6.21,CRD,26.5 +VTS,2,1,1380,18.47,CRD,52.0 +CMT,1,1,425,1.3,CRD,7.0 +CMT,1,1,284,1.4,CRD,6.0 +CMT,1,1,748,1.4,CSH,10.0 +CMT,1,1,407,0.6,CSH,6.0 +CMT,1,1,779,1.8,CRD,10.5 +CMT,1,1,716,1.7,CRD,9.5 +CMT,1,1,318,0.7,CRD,5.5 +CMT,1,1,161,0.8,CSH,4.5 +CMT,1,1,976,3.2,CSH,13.5 +CMT,1,1,747,1.9,CRD,10.0 +CMT,1,1,953,1.6,CRD,11.5 +CMT,1,1,599,1.8,CRD,9.0 +CMT,1,1,676,1.0,CRD,8.5 +CMT,1,1,594,1.2,CSH,8.5 +CMT,1,1,1264,3.2,CRD,15.5 +VTS,1,2,660,1.91,CSH,9.0 +VTS,2,1,1440,17.24,CRD,52.0 +VTS,1,1,480,1.21,CSH,7.0 +VTS,1,1,840,2.95,CSH,12.0 +VTS,2,1,1800,20.18,CRD,52.0 +VTS,1,1,720,1.72,CSH,9.0 +VTS,1,1,660,1.61,CRD,9.0 +VTS,1,1,480,2.65,CRD,9.5 +VTS,1,1,540,1.09,CSH,7.5 +VTS,1,1,840,1.85,CRD,10.5 +VTS,1,1,420,1.69,CRD,7.5 +VTS,1,1,360,1.77,CSH,7.0 +VTS,2,1,1920,19.49,CRD,52.0 +VTS,2,1,1500,20.07,CRD,52.0 +VTS,1,2,600,2.25,CRD,9.5 +VTS,1,1,720,2.75,CRD,11.5 +VTS,1,1,600,1.79,CSH,8.5 +VTS,2,1,2100,18.02,CRD,52.0 +VTS,1,1,660,1.72,CRD,9.0 +VTS,2,1,1560,17.47,CSH,52.0 +VTS,1,1,540,0.47,CSH,6.5 +VTS,1,1,420,1.2,CRD,7.0 +VTS,1,1,300,0.91,CRD,5.0 +VTS,1,2,1320,10.51,CSH,31.0 +VTS,1,1,840,4.09,CSH,14.5 +VTS,2,2,1740,19.75,CSH,52.0 +VTS,2,1,2100,18.08,CRD,52.0 +VTS,1,1,720,1.5,CRD,9.0 +VTS,1,1,960,2.52,CSH,12.5 +VTS,1,1,840,2.95,CRD,12.0 +VTS,1,1,180,0.52,CRD,4.0 +VTS,1,1,480,1.24,CRD,7.0 +VTS,1,1,720,2.21,CSH,10.0 +VTS,1,1,420,1.58,CRD,8.0 +VTS,1,1,540,1.87,CRD,8.5 +VTS,1,1,1440,6.59,CRD,22.5 +VTS,1,1,600,2.51,CRD,9.5 +VTS,1,2,540,1.04,CRD,7.5 +VTS,1,1,540,3.17,CRD,11.0 +VTS,1,1,420,1.73,CSH,7.5 +VTS,2,1,1800,19.15,CRD,52.0 +VTS,1,1,840,2.5,CSH,11.5 +VTS,1,1,540,1.36,CSH,8.0 +VTS,1,1,240,0.77,CRD,5.5 +VTS,1,1,840,2.55,CRD,11.0 +VTS,1,1,1080,2.06,CSH,12.5 +VTS,1,2,540,1.29,CSH,8.0 +VTS,1,1,780,1.37,CSH,9.5 +VTS,2,1,1620,18.69,CRD,52.0 +VTS,1,1,420,0.9,CRD,6.0 +VTS,1,1,960,2.77,CRD,13.0 +VTS,1,1,960,3.88,CSH,15.0 +VTS,1,1,540,0.98,CRD,7.0 +VTS,1,1,600,1.89,CRD,8.5 +VTS,1,1,180,0.56,CSH,4.0 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,780,1.71,CSH,10.5 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,480,3.47,CRD,11.5 +VTS,1,1,360,1.0,CRD,6.0 +VTS,1,1,540,1.27,CSH,7.5 +VTS,1,1,420,0.95,CSH,6.0 +VTS,1,1,720,1.65,CRD,10.0 +VTS,1,1,1140,2.83,CSH,14.0 +VTS,1,1,1200,3.86,CRD,16.0 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,600,1.74,CRD,9.0 +VTS,1,1,480,0.75,CSH,6.5 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,360,0.94,CRD,6.0 +VTS,1,1,1020,3.15,CRD,13.5 +VTS,1,1,240,0.6,CRD,4.5 +VTS,1,1,1260,3.3,CRD,15.0 +VTS,1,1,540,1.44,CSH,7.5 +VTS,1,1,1800,11.28,CSH,34.0 +VTS,2,1,1980,18.7,CRD,52.0 +VTS,1,1,1440,3.08,CRD,16.0 +VTS,1,1,480,1.8,CSH,8.5 +VTS,1,1,900,2.25,CSH,11.5 +VTS,1,2,840,1.24,CSH,10.0 +VTS,1,1,1740,12.61,CRD,37.5 +VTS,1,1,360,1.05,CRD,6.0 +VTS,1,1,240,0.52,CRD,4.5 +VTS,1,1,300,0.8,CSH,5.0 +VTS,1,1,360,1.01,CSH,6.0 +VTS,1,1,300,0.9,CRD,6.0 +VTS,1,1,960,3.86,CRD,14.5 +VTS,1,1,540,2.65,CSH,10.0 +VTS,1,1,660,1.83,CRD,9.5 +CMT,1,1,807,1.5,CRD,10.0 +VTS,1,1,1800,4.51,CRD,21.5 +VTS,1,1,360,1.21,CSH,6.0 +VTS,1,1,2100,21.12,CSH,58.0 +VTS,1,1,840,1.95,CRD,10.5 +VTS,1,1,360,1.85,CRD,7.5 +VTS,1,1,240,0.91,CSH,5.0 +VTS,1,1,360,0.95,CRD,6.0 +VTS,1,1,660,1.89,CRD,9.5 +VTS,1,1,840,1.9,CRD,11.0 +VTS,1,1,840,2.27,CRD,10.5 +VTS,2,1,2640,22.73,CRD,52.0 +VTS,1,2,1080,3.54,CRD,15.0 +VTS,1,2,720,4.13,CRD,14.5 +VTS,1,1,1560,16.61,CRD,45.5 +VTS,1,1,1260,15.16,CSH,41.5 +VTS,1,1,660,3.03,CRD,11.5 +VTS,1,1,1080,2.05,CRD,13.0 +VTS,1,1,540,1.13,CSH,7.5 +VTS,1,1,600,1.59,CRD,8.5 +VTS,1,1,1020,3.02,CRD,13.5 +VTS,1,1,180,0.64,CRD,4.0 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,660,2.85,CSH,11.0 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,720,3.72,CSH,13.0 +VTS,1,1,360,0.81,CSH,6.0 +VTS,1,1,600,2.75,CRD,10.5 +VTS,1,1,780,2.8,CRD,12.0 +VTS,1,1,480,1.31,CRD,8.0 +VTS,1,1,300,1.04,CRD,6.0 +VTS,1,1,240,1.24,CRD,5.5 +VTS,1,1,120,0.63,CRD,4.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,540,2.35,CSH,9.5 +VTS,1,1,360,0.92,CRD,5.5 +VTS,1,1,600,3.63,CRD,13.0 +VTS,1,1,300,1.02,CRD,5.5 +VTS,1,1,1020,2.56,CSH,12.5 +VTS,1,1,720,1.29,CRD,9.0 +VTS,1,1,600,2.1,CSH,9.5 +VTS,1,1,360,1.1,CRD,6.0 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,600,1.83,CRD,9.5 +VTS,1,1,1380,11.4,CRD,33.0 +VTS,1,1,1620,4.05,CRD,20.0 +VTS,1,1,540,1.61,CSH,8.0 +VTS,1,1,780,2.21,CRD,11.0 +VTS,1,1,1500,5.56,CRD,22.5 +VTS,1,1,2220,6.4,CRD,28.5 +VTS,1,1,1620,8.63,CRD,28.5 +VTS,1,1,1140,3.3,CSH,14.5 +VTS,1,1,360,1.67,CRD,7.5 +VTS,1,1,240,0.92,CSH,5.5 +VTS,1,1,1020,4.15,CSH,16.0 +VTS,1,1,1560,10.59,CRD,30.0 +VTS,1,1,180,0.69,CRD,4.0 +VTS,1,1,600,1.95,CSH,9.5 +VTS,1,1,60,0.0,CSH,2.5 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,720,6.75,CSH,20.0 +VTS,1,1,2220,13.53,CRD,42.5 +VTS,1,1,300,1.15,CRD,6.0 +VTS,1,1,1260,5.29,CSH,20.0 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,1,420,0.74,CRD,6.0 +VTS,1,1,600,2.92,CRD,11.0 +VTS,1,1,1680,8.4,CRD,28.5 +VTS,1,1,660,1.5,CRD,9.0 +VTS,1,1,1080,2.34,CSH,13.0 +VTS,1,1,600,2.48,CSH,10.5 +VTS,1,1,1380,5.76,CRD,21.0 +VTS,1,1,300,1.38,CRD,6.0 +VTS,1,1,300,1.23,CSH,6.5 +VTS,1,1,60,0.61,CSH,4.0 +VTS,1,1,180,1.21,CSH,5.5 +VTS,1,1,840,3.7,CSH,13.5 +VTS,1,1,1320,4.38,CRD,18.5 +VTS,1,1,660,1.97,CSH,9.5 +VTS,1,1,660,2.52,CRD,10.0 +VTS,1,1,360,1.38,CRD,7.0 +VTS,1,1,420,1.26,CRD,7.0 +VTS,1,1,660,2.05,CRD,10.0 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,960,5.41,CRD,19.0 +VTS,1,1,840,2.68,CSH,12.0 +VTS,1,1,1560,6.46,CSH,22.5 +VTS,1,1,1980,7.57,CRD,28.0 +VTS,1,1,1020,5.35,CRD,18.5 +VTS,1,1,840,3.58,CSH,13.5 +VTS,1,1,660,2.33,CRD,10.0 +VTS,1,1,300,0.6,CSH,5.0 +VTS,1,1,180,1.08,CSH,5.0 +VTS,1,1,780,3.82,CSH,14.0 +VTS,1,1,180,0.54,CRD,4.5 +VTS,1,1,600,2.22,CSH,9.5 +VTS,1,1,360,1.05,CSH,6.0 +VTS,1,1,420,1.93,CSH,8.0 +VTS,1,1,240,1.75,CRD,6.5 +VTS,1,1,360,1.06,CSH,6.5 +VTS,1,1,1440,6.87,CRD,23.5 +VTS,1,1,600,1.58,CRD,9.0 +VTS,1,1,780,3.19,CSH,12.0 +VTS,1,1,480,2.06,CRD,9.0 +VTS,1,1,480,1.72,CSH,8.5 +VTS,1,1,300,1.11,CRD,6.0 +VTS,1,1,780,2.37,CRD,11.0 +VTS,1,1,540,1.39,CSH,7.5 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,1,240,0.44,CRD,4.5 +VTS,1,1,300,0.77,CSH,6.0 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,480,1.84,CRD,9.0 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,1,420,1.21,CSH,7.0 +VTS,1,1,240,0.83,CSH,5.0 +VTS,1,1,540,1.0,CRD,7.0 +VTS,1,1,180,0.57,CSH,4.0 +VTS,1,1,720,2.1,CRD,10.5 +VTS,1,1,420,2.1,CSH,8.0 +VTS,1,1,540,1.96,CRD,8.5 +VTS,1,1,180,1.34,CRD,5.5 +VTS,1,1,1020,4.61,CSH,17.5 +VTS,1,1,360,0.7,CRD,5.5 +VTS,1,1,1080,2.84,CSH,14.0 +VTS,1,1,480,0.85,CSH,6.5 +VTS,1,1,300,0.72,CSH,5.0 +VTS,1,1,660,1.52,CSH,8.5 +VTS,1,1,540,2.2,CSH,9.5 +VTS,1,1,600,1.14,CRD,8.0 +VTS,1,1,240,0.91,CSH,5.0 +VTS,1,1,420,1.3,CSH,7.0 +VTS,1,1,420,0.85,CSH,6.0 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,1,300,0.5,CRD,5.0 +VTS,1,1,600,1.69,CRD,9.0 +VTS,1,1,840,0.93,CSH,9.5 +VTS,1,1,240,0.58,CRD,4.5 +VTS,1,1,1020,3.34,CRD,14.0 +VTS,1,1,420,1.25,CRD,7.0 +VTS,1,1,720,1.33,CRD,8.5 +VTS,1,1,1260,2.95,CRD,15.0 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,840,1.8,CRD,11.0 +VTS,1,1,660,1.81,CRD,9.0 +VTS,1,1,480,1.62,CRD,7.5 +VTS,1,1,300,0.85,CRD,5.0 +VTS,1,1,420,0.95,CSH,6.5 +VTS,1,1,300,2.04,CSH,8.0 +VTS,1,1,420,1.02,CSH,7.0 +VTS,1,1,420,1.18,CSH,6.5 +VTS,1,1,60,0.7,CSH,4.0 +VTS,1,1,1500,6.74,CRD,23.5 +VTS,1,1,360,0.93,CSH,6.0 +VTS,1,1,1200,12.96,CRD,36.5 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,420,2.05,CRD,8.0 +VTS,1,1,420,1.92,CRD,8.0 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,1,360,0.77,CSH,5.5 +VTS,1,1,840,2.77,CRD,12.5 +VTS,1,1,540,2.9,CRD,10.5 +VTS,1,1,780,2.05,CRD,10.0 +VTS,1,1,960,4.18,CSH,15.0 +VTS,1,1,720,2.83,CSH,11.0 +VTS,1,1,540,1.66,CRD,8.5 +VTS,1,1,720,2.04,CSH,10.5 +VTS,1,1,1140,6.04,CRD,22.0 +VTS,1,1,360,1.4,CSH,7.0 +VTS,1,1,540,1.45,CRD,8.0 +VTS,1,1,540,1.78,CRD,8.0 +VTS,1,1,300,1.12,CSH,6.0 +VTS,1,1,180,0.91,CSH,5.0 +VTS,1,1,180,0.4,CSH,4.5 +VTS,1,1,240,1.06,CRD,5.5 +VTS,1,1,780,2.09,CRD,11.0 +VTS,1,1,960,3.54,CSH,14.0 +VTS,1,1,420,0.82,CRD,6.5 +VTS,1,1,180,0.81,CSH,5.0 +VTS,1,1,120,0.8,CSH,4.5 +VTS,1,1,1140,5.87,CSH,19.5 +VTS,1,1,60,0.54,CSH,3.5 +VTS,1,1,240,0.52,CRD,4.5 +VTS,1,1,360,2.29,CRD,8.5 +VTS,1,1,660,4.12,CRD,13.5 +VTS,1,1,480,1.03,CRD,7.0 +VTS,1,1,420,1.89,CRD,8.5 +CMT,1,3,1241,8.2,CSH,25.0 +CMT,1,1,1068,4.5,CSH,17.5 +CMT,1,2,794,2.5,CRD,11.0 +CMT,1,1,222,1.1,CRD,5.5 +CMT,1,1,971,3.4,CRD,14.5 +CMT,1,1,183,0.6,CRD,4.5 +CMT,1,1,497,1.5,CSH,8.0 +CMT,1,1,693,1.3,CRD,9.0 +CMT,1,1,624,3.5,CSH,12.5 +CMT,1,1,196,0.6,CSH,4.5 +CMT,1,1,436,0.4,CSH,6.0 +CMT,1,3,515,1.1,CRD,7.5 +VTS,1,1,240,1.05,CSH,5.0 +VTS,1,1,480,1.08,CSH,7.0 +VTS,1,1,540,1.2,CSH,7.5 +VTS,1,1,540,1.31,CSH,8.0 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,240,0.55,CSH,5.0 +VTS,1,1,600,1.94,CRD,9.5 +VTS,1,1,1200,2.54,CRD,14.0 +VTS,1,2,660,2.75,CSH,11.0 +VTS,1,1,840,3.06,CSH,13.5 +VTS,1,1,480,0.57,CSH,6.5 +VTS,1,1,1560,10.68,CRD,32.0 +VTS,1,1,1140,4.14,CRD,17.5 +VTS,1,1,420,2.59,CRD,9.5 +VTS,1,1,720,2.26,CRD,10.5 +VTS,1,1,3240,10.89,CSH,40.5 +VTS,1,1,180,0.83,CSH,4.5 +VTS,1,1,360,2.29,CSH,8.0 +VTS,1,1,600,2.53,CRD,11.0 +VTS,1,1,1620,12.18,CSH,35.0 +VTS,1,1,540,1.82,CRD,8.5 +VTS,1,1,840,9.17,CRD,26.0 +VTS,1,1,780,2.76,CRD,12.0 +VTS,1,1,600,3.07,CRD,12.0 +VTS,1,1,900,5.53,CRD,18.0 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,420,2.44,CSH,9.0 +VTS,1,1,180,0.81,CSH,5.0 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,900,1.44,CRD,11.0 +VTS,1,1,720,1.72,CRD,9.5 +VTS,1,1,600,1.85,CSH,9.0 +VTS,1,1,480,1.04,CRD,7.0 +VTS,1,1,300,1.22,CRD,6.5 +VTS,1,1,240,0.95,CSH,5.0 +VTS,1,1,600,1.96,CRD,9.0 +VTS,1,1,360,2.04,CRD,8.0 +VTS,1,1,360,1.48,CSH,7.0 +VTS,1,1,600,1.95,CRD,9.5 +VTS,1,1,480,2.52,CRD,10.5 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,1,540,2.15,CRD,9.0 +VTS,1,1,720,1.47,CRD,9.5 +VTS,1,1,360,1.23,CSH,6.5 +VTS,1,1,1440,2.97,CRD,17.5 +VTS,1,1,480,1.38,CRD,7.5 +VTS,1,1,300,1.36,CSH,6.5 +VTS,1,1,900,5.83,CSH,17.5 +VTS,1,1,600,1.34,CSH,8.5 +VTS,1,1,540,2.14,CRD,9.0 +VTS,1,1,540,1.89,CSH,9.0 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,840,3.62,CRD,14.0 +VTS,1,1,1080,4.73,CRD,18.0 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,180,1.01,CRD,5.0 +VTS,1,1,1320,2.18,CRD,14.5 +VTS,1,1,420,1.27,CRD,6.5 +VTS,1,1,3360,20.11,CRD,60.5 +VTS,1,1,180,0.9,CRD,5.0 +VTS,1,1,540,1.08,CRD,7.5 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,180,0.79,CRD,4.5 +VTS,2,1,1860,18.38,CRD,52.0 +VTS,1,1,1920,19.55,CRD,54.5 +VTS,1,1,780,2.19,CRD,10.5 +VTS,1,1,300,0.86,CSH,5.0 +VTS,1,1,600,1.5,CRD,8.5 +VTS,1,1,300,1.85,CRD,7.0 +VTS,1,1,2280,14.07,CRD,43.0 +VTS,1,1,840,3.17,CSH,13.0 +VTS,1,1,420,1.19,CSH,7.0 +VTS,1,1,60,0.44,CRD,3.5 +VTS,1,1,540,2.5,CRD,10.0 +VTS,1,1,360,1.87,CSH,7.0 +VTS,1,1,240,0.65,CRD,5.0 +VTS,1,1,960,3.53,CSH,14.0 +VTS,1,1,360,1.94,CSH,8.0 +VTS,1,1,60,0.24,CSH,3.5 +VTS,1,1,1500,3.19,CSH,16.5 +VTS,1,1,300,0.65,CSH,5.0 +VTS,1,1,540,1.52,CSH,8.0 +VTS,1,1,420,1.78,CSH,7.5 +VTS,1,1,1620,7.33,CSH,25.5 +VTS,1,1,1080,4.02,CSH,15.5 +VTS,1,1,1020,2.94,CRD,13.5 +VTS,1,1,840,3.44,CRD,14.0 +VTS,1,1,960,4.08,CRD,15.5 +VTS,1,1,1320,3.47,CSH,16.5 +VTS,1,1,540,1.16,CSH,8.0 +VTS,1,1,180,0.31,CSH,3.5 +VTS,1,1,360,1.35,CSH,6.5 +VTS,1,1,480,1.97,CRD,8.0 +VTS,1,1,2040,11.12,CRD,35.5 +VTS,1,1,120,0.42,CRD,3.5 +VTS,1,1,420,0.66,CSH,6.0 +VTS,1,1,420,1.45,CRD,7.0 +VTS,1,1,480,1.77,CSH,8.0 +VTS,1,1,300,1.44,CRD,6.5 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,480,1.05,CSH,7.0 +VTS,1,1,840,2.45,CRD,11.5 +VTS,1,1,780,2.55,CSH,11.0 +VTS,1,1,300,1.6,CSH,6.5 +VTS,1,1,480,2.27,CSH,9.0 +VTS,1,1,960,5.49,CSH,19.0 +VTS,1,1,300,1.37,CSH,6.5 +VTS,1,1,900,3.05,CSH,12.5 +VTS,1,1,420,1.47,CRD,7.5 +VTS,1,1,720,3.13,CRD,11.5 +VTS,1,1,1020,7.34,CRD,22.5 +VTS,1,1,300,1.29,CRD,6.5 +VTS,1,1,900,4.97,CRD,17.0 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,780,2.05,CSH,10.5 +VTS,1,1,240,1.24,CRD,5.5 +VTS,1,1,540,2.71,CRD,10.0 +VTS,1,1,420,0.98,CRD,6.5 +CMT,1,1,1151,5.7,CRD,20.0 +CMT,1,1,583,2.5,CRD,10.0 +CMT,1,1,202,1.6,CRD,6.5 +CMT,1,1,440,1.5,CRD,7.5 +CMT,1,1,278,0.7,CRD,5.0 +CMT,1,1,277,0.9,CRD,5.5 +CMT,1,1,376,1.3,CRD,7.0 +CMT,1,1,506,1.5,CSH,8.0 +CMT,1,1,972,8.6,CSH,2.5 +CMT,1,1,213,0.7,CSH,5.0 +CMT,1,1,520,0.5,CRD,7.0 +VTS,1,1,300,0.85,CRD,5.5 +VTS,1,1,1560,20.0,CSH,52.5 +VTS,1,1,360,0.73,CRD,5.5 +VTS,1,1,360,1.37,CRD,6.5 +VTS,1,1,300,1.61,CSH,6.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,480,1.21,CRD,6.5 +VTS,2,1,1860,19.46,CRD,52.0 +VTS,1,1,180,0.48,CRD,4.5 +VTS,1,1,960,3.65,CRD,14.5 +VTS,1,1,1620,8.71,CSH,28.0 +VTS,1,1,1200,3.8,CSH,16.0 +VTS,1,1,2160,7.75,CRD,29.0 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,1,180,0.58,CRD,4.0 +VTS,1,1,900,2.82,CSH,12.5 +VTS,1,1,720,2.32,CRD,10.5 +VTS,1,1,300,0.78,CSH,5.0 +VTS,1,1,1320,4.05,CRD,17.5 +VTS,1,1,420,1.8,CRD,8.0 +VTS,1,1,120,0.69,CSH,4.0 +VTS,1,1,540,2.86,CRD,10.5 +VTS,1,1,480,2.08,CSH,8.5 +VTS,1,1,360,1.83,CRD,7.5 +VTS,1,1,1140,3.23,CSH,14.5 +VTS,1,1,240,0.96,CSH,5.0 +VTS,1,1,300,1.01,CSH,6.0 +VTS,1,1,540,1.67,CRD,8.0 +VTS,1,1,1260,4.52,CSH,17.5 +VTS,1,1,180,0.61,CRD,4.0 +VTS,1,1,480,2.36,CRD,9.5 +VTS,1,1,120,0.51,CSH,4.0 +VTS,1,1,900,2.03,CRD,11.0 +VTS,1,1,480,1.25,CRD,7.0 +VTS,1,1,600,1.33,CRD,8.5 +VTS,1,1,120,0.78,CSH,4.5 +VTS,1,1,360,1.38,CRD,7.0 +VTS,1,1,300,1.08,CSH,6.0 +VTS,1,1,480,2.61,CRD,10.0 +VTS,1,1,1020,6.8,CSH,21.5 +VTS,1,1,720,4.01,CRD,13.5 +VTS,1,1,180,0.59,CRD,4.5 +VTS,1,1,600,1.17,CRD,8.0 +VTS,1,1,480,1.63,CSH,8.0 +VTS,1,1,300,0.58,CSH,5.0 +VTS,1,1,720,4.12,CRD,13.5 +VTS,1,1,180,0.37,CSH,4.0 +VTS,1,1,240,1.17,CRD,5.5 +VTS,1,1,480,0.8,CSH,6.5 +VTS,1,1,240,0.45,CSH,4.5 +VTS,1,1,420,1.64,CRD,8.0 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,720,2.77,CSH,11.5 +VTS,1,1,240,1.07,CSH,5.5 +VTS,1,1,780,4.02,CRD,14.5 +VTS,1,1,420,0.84,CRD,6.0 +VTS,1,1,900,4.45,CSH,16.0 +VTS,1,1,540,2.97,CRD,11.0 +VTS,1,1,780,2.4,CSH,11.5 +VTS,1,1,900,2.57,CRD,12.5 +VTS,1,1,240,0.69,CRD,5.0 +VTS,1,1,600,2.79,CRD,10.5 +VTS,1,1,300,0.64,CRD,5.0 +VTS,1,1,300,1.05,CRD,6.0 +VTS,1,1,360,0.93,CSH,6.0 +VTS,1,1,1380,3.64,CSH,16.5 +VTS,1,1,180,1.31,CRD,5.5 +VTS,1,1,540,1.78,CSH,8.5 +VTS,1,1,300,1.56,CRD,6.5 +VTS,1,1,240,0.76,CSH,5.0 +VTS,1,1,180,0.47,CRD,4.5 +VTS,1,1,360,0.55,CSH,5.5 +VTS,1,1,1560,11.02,CRD,32.5 +VTS,1,1,420,1.59,CSH,7.0 +VTS,1,1,960,4.05,CRD,15.5 +VTS,1,1,360,0.99,CSH,6.0 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,300,1.73,CRD,7.0 +VTS,1,1,540,1.52,CRD,8.5 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,1,180,0.71,CRD,5.0 +VTS,1,1,480,1.12,CRD,7.5 +VTS,1,1,1440,2.81,CSH,16.0 +VTS,1,1,120,0.86,CSH,4.5 +VTS,1,1,1260,2.39,CRD,14.5 +VTS,1,1,720,1.43,CRD,9.0 +VTS,1,1,120,0.71,CSH,4.0 +VTS,1,1,540,1.95,CSH,9.0 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,360,1.58,CRD,7.0 +VTS,1,1,1740,12.63,CSH,37.5 +VTS,1,1,420,1.28,CSH,7.0 +VTS,1,1,480,2.6,CRD,10.0 +VTS,1,1,360,1.04,CRD,7.0 +VTS,1,1,360,2.14,CSH,8.0 +VTS,1,1,600,2.04,CRD,10.0 +VTS,1,1,360,1.11,CRD,6.5 +VTS,1,1,360,0.8,CSH,5.5 +VTS,1,1,360,1.33,CRD,7.0 +VTS,1,1,480,1.44,CRD,8.0 +VTS,1,1,240,0.7,CRD,5.0 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,480,1.33,CSH,7.0 +VTS,1,1,180,1.1,CSH,5.0 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,360,0.79,CSH,5.5 +VTS,1,1,480,1.52,CSH,8.0 +VTS,1,1,240,0.69,CRD,5.0 +VTS,1,1,300,1.6,CSH,7.0 +VTS,1,1,780,1.88,CSH,10.0 +VTS,1,1,180,0.39,CSH,3.5 +VTS,1,1,1500,8.02,CRD,25.5 +VTS,1,1,900,2.41,CSH,12.0 +VTS,1,1,120,0.66,CRD,4.0 +VTS,1,1,420,1.51,CSH,7.5 +VTS,1,1,720,4.08,CSH,14.0 +VTS,1,1,540,1.11,CSH,7.5 +VTS,1,1,540,1.75,CRD,8.5 +VTS,1,1,540,1.47,CRD,8.0 +VTS,1,1,1200,5.91,CRD,20.0 +VTS,1,1,300,0.61,CRD,5.0 +VTS,1,1,1020,3.07,CRD,13.0 +VTS,1,1,240,0.87,CRD,5.0 +VTS,1,1,180,0.52,CSH,4.5 +VTS,1,1,1620,3.72,CRD,18.0 +VTS,1,1,660,2.17,CRD,10.0 +VTS,1,1,1320,3.54,CRD,17.5 +VTS,1,1,540,2.36,CRD,9.0 +VTS,1,1,720,2.21,CRD,10.5 +VTS,1,1,360,0.91,CRD,6.0 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,600,2.8,CRD,11.0 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,1500,6.54,CRD,23.0 +VTS,1,1,3360,12.46,CRD,47.5 +VTS,1,1,600,2.05,CSH,9.0 +VTS,1,1,900,2.64,CSH,11.0 +VTS,1,1,600,3.46,CRD,12.0 +VTS,1,1,480,2.5,CRD,10.0 +VTS,1,1,720,2.93,CSH,11.5 +VTS,1,1,840,1.92,CSH,11.0 +VTS,1,1,1020,3.8,CRD,15.0 +VTS,5,1,1620,14.07,CRD,82.0 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,240,0.76,CRD,5.0 +VTS,1,1,540,2.95,CSH,10.5 +VTS,1,1,180,0.94,CSH,5.0 +VTS,1,1,480,1.3,CSH,8.0 +VTS,1,1,780,2.61,CSH,11.5 +VTS,1,1,300,0.56,CRD,5.0 +VTS,1,1,600,1.29,CRD,8.0 +VTS,1,1,600,1.94,CSH,9.0 +VTS,1,1,360,0.79,CSH,6.0 +VTS,1,1,540,1.14,CSH,7.0 +VTS,1,1,1260,5.12,CRD,18.5 +VTS,1,1,420,1.66,CRD,7.5 +VTS,1,1,1200,5.06,CRD,19.0 +VTS,1,1,180,0.3,CSH,4.0 +VTS,1,1,660,1.64,CRD,9.0 +VTS,1,1,240,0.74,CSH,5.0 +VTS,1,1,540,1.78,CRD,9.0 +VTS,1,1,480,1.29,CRD,7.0 +VTS,1,1,720,3.09,CRD,12.0 +VTS,1,1,240,0.66,CRD,5.0 +VTS,1,1,3060,9.16,CRD,38.0 +VTS,1,1,300,1.12,CSH,6.0 +VTS,1,1,300,0.71,CSH,5.0 +VTS,1,1,300,1.42,CRD,6.5 +VTS,1,1,660,1.4,CRD,8.5 +VTS,1,1,360,0.87,CSH,6.5 +VTS,1,1,360,0.92,CSH,6.0 +VTS,1,1,480,1.99,CRD,8.5 +VTS,1,1,1260,1.94,CSH,14.0 +VTS,1,1,360,1.38,CRD,6.5 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,900,2.83,CRD,12.5 +VTS,1,1,120,0.69,CRD,4.0 +VTS,1,1,900,3.07,CRD,13.0 +VTS,1,1,960,5.63,CSH,19.0 +VTS,1,1,660,3.95,CSH,13.0 +VTS,1,1,1080,4.0,CSH,16.5 +VTS,1,1,180,0.8,CRD,5.0 +VTS,1,1,300,0.58,CRD,5.5 +VTS,1,1,480,2.24,CSH,9.0 +VTS,1,1,720,1.36,CSH,9.0 +VTS,1,1,1140,1.8,CRD,13.0 +VTS,1,1,1500,5.78,CRD,22.0 +VTS,1,1,1320,8.03,CRD,26.0 +VTS,1,1,1320,4.83,CSH,17.5 +VTS,1,1,480,1.28,CSH,7.0 +VTS,1,1,480,1.39,CRD,7.0 +VTS,1,1,420,1.88,CRD,8.0 +VTS,1,1,420,1.47,CRD,7.0 +VTS,1,1,1260,2.97,CRD,15.0 +VTS,1,1,600,2.24,CRD,10.0 +VTS,1,1,240,1.55,CRD,6.5 +VTS,1,1,1260,3.35,CSH,16.0 +VTS,1,1,420,1.44,CSH,7.0 +VTS,1,1,300,1.88,CSH,7.0 +VTS,1,1,420,1.19,CRD,7.0 +VTS,1,2,900,2.33,CRD,12.0 +VTS,1,1,240,0.86,CSH,5.0 +VTS,1,1,960,2.68,CRD,12.5 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,780,6.8,CRD,20.5 +VTS,1,1,960,2.08,CRD,12.0 +VTS,1,1,360,1.17,CRD,6.5 +VTS,1,1,660,1.58,CSH,9.0 +VTS,1,1,420,2.11,CRD,8.5 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,1,420,1.44,CSH,7.5 +VTS,1,1,1020,3.98,CSH,15.5 +VTS,1,1,300,0.73,CRD,5.0 +VTS,1,1,420,1.22,CRD,6.5 +VTS,1,1,600,1.31,CSH,8.0 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,60,0.39,CSH,3.5 +VTS,1,1,1440,4.18,CRD,18.5 +VTS,1,1,1020,5.28,CRD,17.5 +VTS,1,1,540,2.18,CRD,9.5 +VTS,1,1,780,3.58,CSH,13.5 +VTS,1,1,300,1.03,CRD,5.5 +VTS,1,1,480,1.3,CSH,7.0 +VTS,1,1,1380,2.84,CRD,16.0 +VTS,1,1,600,2.61,CRD,10.0 +VTS,1,1,1020,9.11,CRD,27.0 +VTS,1,1,1140,3.68,CRD,16.0 +VTS,1,1,840,2.07,CRD,10.5 +VTS,1,1,720,1.1,CRD,8.5 +VTS,1,1,540,1.69,CSH,8.0 +VTS,1,1,780,2.5,CSH,11.0 +VTS,1,1,720,1.73,CSH,9.5 +VTS,1,1,960,1.78,CSH,11.5 +VTS,1,1,720,1.96,CRD,10.0 +VTS,1,1,900,2.01,CRD,11.5 +VTS,1,1,180,0.84,CSH,5.0 +VTS,1,1,120,0.21,CRD,3.5 +VTS,1,1,300,0.77,CSH,5.0 +VTS,1,1,1380,3.36,CRD,16.5 +VTS,1,1,420,1.43,CSH,7.0 +VTS,1,1,960,2.44,CRD,12.0 +VTS,1,1,120,0.41,CRD,4.0 +VTS,1,1,480,1.3,CRD,8.0 +VTS,1,1,1200,6.19,CRD,20.5 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,1,480,0.91,CRD,6.5 +VTS,1,1,660,1.87,CSH,9.0 +VTS,1,1,1380,5.57,CRD,20.0 +VTS,1,1,480,1.11,CSH,7.5 +VTS,1,1,480,1.19,CRD,7.0 +VTS,1,1,300,1.45,CSH,6.0 +VTS,1,1,1500,3.46,CRD,18.0 +VTS,1,1,1380,4.68,CRD,19.0 +VTS,1,1,1080,4.17,CSH,16.5 +VTS,1,1,540,0.81,CRD,7.0 +VTS,1,1,540,1.28,CRD,8.0 +VTS,1,1,840,3.49,CRD,13.5 +VTS,1,1,240,0.74,CRD,5.0 +VTS,1,1,120,0.37,CRD,3.5 +VTS,1,1,600,4.11,CSH,12.5 +VTS,1,1,240,1.21,CSH,6.0 +VTS,1,1,540,4.17,CSH,13.5 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,300,0.59,CSH,5.0 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,240,0.86,CSH,5.0 +VTS,1,1,720,2.88,CSH,11.0 +VTS,1,1,780,3.31,CSH,12.5 +VTS,1,1,420,1.3,CSH,7.0 +VTS,1,1,60,0.01,CSH,2.5 +VTS,1,1,360,0.9,CSH,6.5 +VTS,1,1,420,1.68,CRD,7.5 +VTS,1,1,900,3.36,CSH,13.5 +VTS,1,1,1560,6.8,CRD,23.5 +VTS,1,1,360,1.69,CRD,7.0 +VTS,1,1,360,1.39,CSH,6.5 +VTS,1,1,1020,7.81,CRD,24.0 +VTS,1,1,360,1.48,CRD,7.0 +VTS,1,1,540,2.94,CRD,10.5 +VTS,1,1,1260,11.27,CRD,33.0 +VTS,1,1,780,2.03,CSH,10.5 +VTS,1,1,300,1.93,CSH,7.5 +VTS,1,1,660,5.38,CRD,17.0 +VTS,1,1,1320,10.47,CRD,31.5 +VTS,1,1,120,0.61,CRD,4.0 +VTS,2,1,4080,18.01,CRD,52.0 +VTS,1,1,1380,11.92,CRD,34.0 +VTS,1,1,360,0.76,CSH,6.0 +VTS,1,1,840,2.99,CRD,12.5 +VTS,1,1,960,7.34,CSH,22.5 +VTS,1,1,480,2.76,CSH,11.0 +VTS,1,1,480,0.87,CSH,6.5 +VTS,1,1,960,2.19,CRD,12.0 +VTS,1,1,360,0.91,CSH,6.0 +VTS,1,1,480,1.4,CRD,7.5 +VTS,1,1,600,1.15,CRD,8.0 +VTS,1,1,0,0.08,CSH,2.5 +VTS,1,1,480,1.01,CRD,7.0 +VTS,1,1,660,1.86,CRD,9.5 +VTS,1,1,600,1.55,CRD,8.5 +VTS,1,1,1080,2.49,CRD,12.5 +VTS,1,1,1080,5.56,CRD,18.0 +VTS,1,1,600,2.88,CSH,11.0 +VTS,1,1,1080,2.51,CSH,13.5 +VTS,1,1,660,1.66,CSH,9.0 +VTS,1,1,720,2.51,CSH,10.5 +VTS,1,1,780,1.9,CSH,9.5 +VTS,1,1,660,1.5,CSH,8.5 +VTS,1,1,900,3.42,CSH,14.0 +VTS,1,1,180,0.44,CRD,4.5 +VTS,1,1,480,0.78,CSH,7.0 +VTS,1,1,1080,3.9,CRD,16.0 +VTS,1,1,2520,10.95,CRD,35.5 +VTS,1,1,240,1.05,CRD,5.5 +VTS,1,1,540,1.92,CRD,9.0 +VTS,1,1,600,2.11,CSH,10.0 +VTS,1,1,420,2.38,CRD,9.0 +VTS,1,1,420,2.07,CRD,8.5 +VTS,1,1,240,1.99,CSH,7.5 +VTS,3,1,1620,13.83,CSH,56.5 +VTS,1,1,1080,5.06,CSH,17.5 +VTS,1,1,300,1.08,CRD,6.0 +VTS,1,1,420,1.72,CRD,7.5 +VTS,1,1,960,3.58,CSH,14.5 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,780,2.05,CSH,10.5 +VTS,1,1,420,1.06,CRD,6.5 +VTS,1,1,660,2.04,CRD,10.0 +VTS,1,1,1260,6.05,CRD,21.5 +VTS,1,1,180,2.03,CSH,7.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,300,1.51,CRD,6.5 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,720,3.19,CSH,12.0 +VTS,1,1,420,0.88,CSH,6.5 +VTS,1,1,420,1.63,CSH,7.5 +VTS,1,1,420,1.26,CRD,7.0 +VTS,1,1,900,11.12,CRD,30.5 +VTS,1,1,300,3.43,CRD,11.0 +VTS,1,1,660,6.59,CSH,19.5 +VTS,1,1,420,1.9,CRD,8.0 +VTS,1,1,840,2.76,CSH,12.0 +VTS,1,1,900,3.95,CSH,15.0 +VTS,2,1,0,17.58,CRD,52.0 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,480,1.38,CRD,7.5 +VTS,1,1,1500,2.86,CRD,16.5 +VTS,1,1,1140,2.76,CRD,14.0 +VTS,1,1,960,2.55,CSH,12.5 +VTS,1,1,660,1.39,CRD,9.0 +VTS,1,1,780,1.85,CRD,10.0 +VTS,1,2,540,0.56,CSH,7.0 +VTS,1,1,1200,14.64,CSH,40.0 +VTS,1,1,960,2.36,CRD,12.0 +VTS,1,1,540,1.13,CSH,7.5 +VTS,1,1,780,1.56,CSH,10.0 +VTS,1,1,720,2.31,CRD,10.5 +VTS,1,1,960,4.6,CRD,16.0 +VTS,2,1,1560,16.98,CRD,52.0 +VTS,1,1,300,1.03,CSH,5.5 +VTS,1,1,300,1.34,CRD,6.5 +VTS,1,1,600,1.54,CRD,8.0 +VTS,1,1,900,10.01,CSH,28.0 +VTS,1,1,2160,23.9,CSH,64.0 +VTS,1,1,120,0.66,CRD,4.0 +VTS,1,1,600,1.98,CSH,9.5 +VTS,1,1,660,1.33,CRD,9.0 +VTS,1,1,420,1.5,CRD,7.5 +VTS,1,1,1500,5.22,CRD,21.5 +VTS,1,1,240,1.2,CSH,5.5 +VTS,1,1,300,1.12,CSH,6.0 +VTS,1,1,660,1.81,CRD,10.0 +VTS,1,1,180,0.45,CSH,4.0 +VTS,1,1,660,2.12,CSH,9.5 +VTS,1,1,240,0.66,CSH,5.0 +VTS,1,1,600,2.36,CRD,10.0 +VTS,1,1,1800,5.92,CRD,24.5 +VTS,1,1,420,0.79,CSH,6.0 +VTS,1,1,480,1.53,CSH,7.5 +VTS,1,1,1260,9.57,CRD,28.5 +VTS,1,1,720,2.02,CSH,9.5 +VTS,1,1,600,2.37,CSH,10.0 +VTS,1,1,840,2.88,CRD,12.5 +VTS,1,1,1080,2.36,CSH,13.5 +VTS,1,1,540,2.29,CRD,9.5 +VTS,1,1,360,0.62,CRD,5.5 +VTS,1,1,420,2.14,CRD,8.5 +VTS,1,1,1140,6.13,CRD,21.5 +VTS,1,1,300,0.74,CSH,5.0 +VTS,1,1,180,0.86,CSH,5.0 +VTS,1,1,420,0.86,CRD,6.0 +VTS,2,1,2100,18.88,CSH,52.0 +VTS,1,1,420,1.78,CSH,7.5 +VTS,1,1,720,1.84,CSH,9.5 +VTS,1,1,180,0.84,CRD,5.0 +VTS,1,1,240,0.85,CSH,5.5 +VTS,1,1,600,2.14,CSH,9.5 +VTS,1,1,480,1.53,CRD,8.0 +VTS,1,1,420,1.04,CRD,6.0 +VTS,1,1,420,1.13,CRD,6.5 +VTS,1,1,660,4.13,CSH,13.5 +VTS,1,1,1320,4.46,CRD,17.0 +VTS,1,1,180,1.14,CRD,5.5 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,1800,16.0,CRD,44.5 +VTS,1,1,600,2.8,CRD,10.5 +VTS,1,1,300,1.13,CRD,6.0 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,1,720,2.88,CRD,12.0 +VTS,1,1,360,0.87,CSH,6.5 +VTS,1,1,540,1.09,CSH,7.5 +VTS,1,1,180,0.77,CSH,5.0 +VTS,2,1,1380,17.44,CRD,52.0 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,420,1.23,CRD,6.5 +VTS,2,1,0,18.12,CRD,52.0 +VTS,1,1,240,0.75,CSH,5.0 +VTS,1,1,600,1.97,CSH,10.0 +VTS,1,1,840,5.66,CSH,18.5 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,660,1.87,CRD,9.5 +VTS,1,1,720,1.68,CRD,9.5 +VTS,1,1,240,0.94,CRD,5.0 +VTS,1,1,360,1.42,CRD,7.0 +VTS,1,1,420,1.36,CRD,7.5 +VTS,1,1,780,3.15,CRD,12.5 +VTS,1,1,60,0.0,CSH,2.5 +VTS,2,1,120,0.14,CSH,52.0 +VTS,1,1,660,2.32,CRD,10.5 +VTS,1,1,420,0.51,CRD,5.5 +VTS,1,1,720,2.97,CRD,11.5 +VTS,1,1,540,4.88,CRD,15.0 +VTS,1,1,420,0.98,CRD,6.5 +VTS,1,1,840,2.63,CSH,12.0 +VTS,1,1,360,1.32,CSH,7.0 +VTS,1,1,840,5.81,CRD,18.5 +VTS,1,1,60,0.56,CSH,3.5 +VTS,2,1,0,16.99,CRD,52.0 +VTS,1,1,720,2.29,CSH,10.5 +VTS,1,1,120,0.38,CRD,3.5 +VTS,1,1,600,2.33,CSH,9.5 +VTS,1,1,1260,2.11,CRD,14.5 +VTS,1,1,660,1.82,CRD,9.5 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,1500,3.58,CRD,19.0 +VTS,1,1,360,1.66,CSH,7.5 +VTS,1,1,1260,3.38,CRD,16.0 +VTS,1,1,420,0.82,CRD,6.0 +VTS,1,1,1080,3.46,CRD,14.5 +VTS,1,1,360,0.91,CRD,6.0 +VTS,1,1,900,1.45,CRD,11.0 +VTS,1,1,960,3.85,CRD,14.0 +VTS,1,1,300,1.3,CRD,6.5 +VTS,1,1,420,1.21,CRD,7.0 +VTS,1,1,240,0.63,CSH,5.0 +VTS,1,1,660,1.73,CRD,9.5 +VTS,1,1,540,2.53,CRD,9.5 +VTS,1,1,1200,11.15,CRD,31.5 +VTS,1,1,1020,5.89,CRD,19.5 +VTS,1,1,300,2.1,CRD,8.0 +VTS,1,1,660,4.09,CRD,13.5 +VTS,1,1,1260,15.7,CRD,42.5 +VTS,1,1,720,2.66,CSH,11.0 +VTS,1,1,1140,3.76,CRD,15.5 +VTS,1,1,900,1.78,CRD,11.5 +VTS,1,1,600,5.52,CSH,16.5 +VTS,1,1,480,0.89,CRD,7.0 +VTS,1,1,1020,3.23,CSH,14.0 +VTS,1,1,300,0.66,CSH,5.0 +VTS,1,1,900,2.3,CRD,11.5 +VTS,1,1,1140,4.12,CRD,17.0 +VTS,1,1,420,1.86,CSH,7.5 +VTS,1,1,1020,2.85,CSH,13.0 +VTS,1,1,240,1.17,CSH,6.0 +VTS,1,1,900,2.07,CRD,11.0 +VTS,1,1,360,0.58,CRD,6.0 +VTS,1,1,300,1.05,CSH,6.0 +VTS,1,1,300,1.25,CSH,6.5 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,420,1.79,CRD,8.0 +VTS,1,1,360,0.62,CRD,5.5 +VTS,1,1,600,2.17,CSH,10.0 +VTS,1,1,1140,3.43,CSH,15.0 +VTS,1,1,360,1.01,CSH,6.5 +VTS,1,1,540,2.21,CRD,9.0 +VTS,1,1,300,1.48,CSH,7.0 +VTS,1,1,600,3.97,CRD,13.5 +VTS,1,1,660,1.72,CSH,9.0 +VTS,1,1,1680,5.5,CSH,21.5 +VTS,1,1,120,0.27,CSH,3.5 +VTS,1,1,360,1.39,CSH,7.0 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,660,1.18,CRD,8.5 +VTS,1,1,1020,9.07,CRD,26.5 +VTS,1,1,960,0.83,CRD,10.5 +VTS,1,1,600,1.03,CSH,7.5 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,360,0.94,CSH,6.0 +VTS,1,1,780,10.5,CRD,29.0 +VTS,1,1,780,2.69,CRD,12.5 +VTS,1,1,540,2.09,CSH,9.0 +VTS,1,1,660,1.71,CRD,9.5 +VTS,1,1,720,1.47,CSH,9.5 +VTS,1,1,480,0.9,CSH,6.5 +VTS,1,1,1980,7.82,CRD,27.5 +VTS,1,1,420,1.0,CSH,6.5 +VTS,1,1,960,3.96,CSH,14.5 +VTS,1,1,720,1.23,CRD,9.5 +VTS,1,1,420,1.15,CSH,7.0 +VTS,1,1,720,1.83,CRD,10.0 +VTS,1,1,600,1.65,CRD,9.0 +VTS,1,1,240,0.59,CSH,5.0 +VTS,1,1,360,0.63,CSH,5.5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,240,0.96,CSH,5.0 +VTS,1,1,240,0.68,CSH,5.0 +VTS,1,1,780,2.86,CRD,12.0 +VTS,1,1,1740,16.06,CRD,45.0 +VTS,1,1,1140,8.06,CSH,24.5 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,360,1.64,CSH,7.5 +VTS,1,1,540,2.14,CRD,9.0 +VTS,1,1,240,1.03,CSH,5.5 +VTS,2,1,2460,18.92,CRD,52.0 +VTS,1,1,300,0.63,CRD,5.0 +VTS,1,1,240,0.6,CRD,4.5 +VTS,1,1,240,1.82,CRD,7.0 +VTS,1,1,360,1.58,CRD,7.5 +VTS,1,1,600,2.81,CRD,10.5 +VTS,1,1,1320,3.69,CRD,17.0 +VTS,1,1,1080,1.05,CSH,11.5 +VTS,1,1,1260,3.73,CRD,16.5 +VTS,1,1,480,1.26,CSH,7.0 +VTS,1,1,600,3.91,CRD,13.0 +VTS,2,1,2280,27.42,CRD,52.0 +VTS,1,1,1020,3.52,CSH,14.0 +VTS,1,1,1080,5.99,CRD,20.0 +VTS,1,1,540,3.46,CSH,11.0 +VTS,1,1,360,2.37,CRD,8.5 +VTS,1,1,1200,10.5,CRD,30.5 +VTS,2,1,2100,17.82,CRD,52.0 +VTS,1,1,240,1.26,CRD,6.0 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,360,1.04,CRD,6.0 +VTS,1,1,1320,16.44,CRD,44.5 +VTS,1,1,720,3.61,CSH,13.0 +VTS,1,1,600,2.38,CSH,10.0 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,720,1.79,CRD,10.0 +VTS,1,1,1200,3.8,CSH,17.0 +VTS,1,1,120,0.71,CSH,4.5 +VTS,1,1,420,1.33,CSH,7.0 +VTS,1,1,1140,2.14,CSH,13.0 +VTS,1,1,360,1.19,CSH,6.0 +VTS,1,1,300,2.01,CRD,7.5 +VTS,1,1,1320,4.11,CSH,17.5 +VTS,1,1,240,0.96,CRD,5.0 +VTS,1,1,840,5.33,CSH,17.5 +VTS,2,1,1140,16.86,CRD,52.0 +VTS,1,1,360,0.76,CSH,6.0 +VTS,1,1,180,0.6,CRD,4.0 +VTS,1,1,1020,6.34,CSH,20.5 +VTS,1,1,840,1.33,CSH,10.5 +VTS,1,1,660,2.79,CSH,10.5 +VTS,1,1,720,2.25,CRD,10.5 +VTS,1,1,180,0.42,CRD,4.0 +VTS,1,1,420,1.58,CRD,7.5 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,1,900,2.72,CRD,12.0 +VTS,1,1,660,1.67,CSH,9.5 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,360,1.0,CSH,6.0 +VTS,1,1,1140,10.47,CRD,30.0 +VTS,1,1,420,1.47,CSH,7.0 +VTS,1,1,540,3.02,CSH,11.5 +VTS,1,1,360,0.87,CSH,6.0 +VTS,1,1,360,1.21,CSH,7.0 +VTS,1,1,720,8.8,CRD,24.5 +VTS,1,1,300,1.15,CSH,6.0 +VTS,1,1,600,1.12,CSH,8.0 +VTS,1,1,1020,2.29,CSH,12.5 +VTS,1,1,900,2.81,CRD,13.0 +VTS,1,1,780,1.26,CSH,9.0 +VTS,1,1,1080,2.36,CRD,13.0 +VTS,1,1,420,0.88,CRD,6.5 +VTS,1,1,720,1.39,CSH,9.0 +VTS,1,1,420,1.3,CRD,7.0 +VTS,1,1,900,4.82,CRD,16.0 +VTS,3,1,2220,17.99,CRD,67.0 +VTS,1,1,1200,3.06,CSH,15.0 +VTS,1,1,600,2.97,CSH,11.0 +VTS,1,1,300,0.54,CRD,5.0 +VTS,1,1,240,0.78,CSH,5.0 +VTS,1,1,1620,4.83,CSH,20.5 +VTS,1,1,780,1.64,CSH,10.0 +VTS,1,1,240,0.91,CRD,5.0 +VTS,1,1,240,0.52,CRD,4.5 +VTS,1,1,360,0.9,CRD,6.0 +VTS,1,1,360,1.37,CSH,7.5 +VTS,1,1,780,2.08,CSH,10.5 +VTS,1,1,2460,22.46,CSH,62.5 +VTS,1,1,420,1.33,CSH,7.0 +VTS,1,1,720,2.25,CSH,10.5 +VTS,1,1,240,0.9,CSH,5.0 +VTS,1,1,480,2.02,CRD,8.5 +VTS,1,1,420,1.03,CSH,6.5 +VTS,1,1,2280,9.59,CRD,33.5 +VTS,1,1,120,0.7,CSH,4.5 +VTS,1,1,1440,6.91,CRD,25.0 +VTS,1,1,1440,3.13,CSH,17.0 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,5,300,1.07,CRD,6.0 +VTS,1,1,1020,1.77,CSH,11.5 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,1,1020,1.3,CSH,11.0 +VTS,1,1,1620,13.49,CSH,39.5 +VTS,1,1,1140,2.96,CRD,14.5 +VTS,1,1,300,1.1,CRD,6.0 +VTS,1,1,1500,2.47,CRD,16.5 +VTS,1,1,900,4.7,CRD,16.5 +VTS,1,1,780,2.35,CSH,11.5 +VTS,1,1,1260,11.1,CSH,32.0 +VTS,1,1,1260,2.95,CSH,14.0 +VTS,1,1,1320,11.48,CRD,33.0 +VTS,1,1,900,1.45,CSH,11.0 +VTS,1,1,540,2.66,CSH,10.5 +VTS,1,1,360,0.83,CSH,6.0 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,5,900,4.23,CSH,15.5 +VTS,1,5,1920,10.35,CSH,34.0 +VTS,1,5,60,0.4,CSH,3.5 +VTS,1,6,720,2.13,CRD,10.5 +VTS,1,1,1260,10.91,CSH,32.0 +VTS,1,5,360,0.86,CSH,6.0 +VTS,1,6,540,2.3,CSH,9.5 +VTS,1,5,600,1.35,CSH,7.5 +VTS,1,5,240,0.74,CRD,5.0 +VTS,1,5,360,1.23,CRD,6.5 +VTS,1,1,480,1.17,CSH,7.5 +VTS,1,1,420,2.56,CSH,9.5 +VTS,1,1,420,1.35,CSH,7.0 +VTS,1,1,1560,2.56,CRD,16.5 +VTS,1,1,1020,1.86,CSH,12.0 +VTS,1,1,60,0.56,CSH,3.5 +VTS,2,1,0,0.82,CRD,52.0 +VTS,1,1,420,1.01,CRD,7.0 +VTS,1,1,720,2.84,CSH,12.0 +VTS,1,1,720,2.9,CSH,11.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,720,3.21,CSH,12.0 +VTS,1,1,600,1.54,CSH,8.5 +VTS,1,1,1140,2.17,CRD,13.5 +VTS,1,1,300,0.71,CRD,5.0 +VTS,1,6,480,2.02,CRD,8.5 +VTS,1,5,780,5.0,CSH,16.0 +VTS,1,5,660,2.42,CSH,10.5 +VTS,1,5,240,1.0,CRD,5.5 +VTS,1,5,660,4.16,CSH,14.0 +VTS,1,6,480,1.7,CRD,8.0 +VTS,1,1,780,2.1,CRD,11.0 +VTS,1,6,360,1.58,CSH,7.5 +VTS,1,5,360,1.19,CRD,6.5 +VTS,1,5,720,4.37,CSH,14.5 +VTS,1,5,540,1.6,CRD,8.0 +VTS,1,6,2640,7.71,CRD,33.5 +VTS,1,1,540,2.16,CSH,9.5 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,420,1.39,CRD,7.0 +VTS,1,1,480,1.28,CRD,7.5 +VTS,1,1,780,2.45,CSH,11.5 +VTS,1,1,60,0.44,CSH,3.5 +VTS,1,1,540,1.69,CSH,8.5 +VTS,1,1,180,0.27,CRD,3.5 +VTS,1,1,780,1.83,CSH,10.5 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,1440,10.79,CRD,31.5 +VTS,1,1,960,7.11,CRD,22.0 +VTS,1,1,420,1.46,CSH,7.0 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,1,300,1.16,CRD,6.0 +VTS,1,1,480,1.42,CRD,7.5 +VTS,1,1,600,1.2,CRD,8.0 +VTS,1,1,840,2.57,CRD,11.5 +VTS,1,1,960,2.82,CSH,13.0 +VTS,1,1,960,3.35,CSH,14.0 +VTS,1,1,180,1.35,CSH,6.0 +VTS,1,1,1740,3.0,CSH,19.0 +VTS,1,1,420,0.96,CSH,6.5 +VTS,1,1,480,1.55,CRD,7.5 +VTS,1,1,360,1.58,CRD,7.0 +VTS,1,1,660,2.69,CRD,11.0 +VTS,1,1,780,6.9,CSH,21.0 +VTS,1,1,360,1.78,CSH,7.0 +VTS,1,1,960,10.53,CRD,30.0 +VTS,1,1,180,1.15,CRD,5.0 +VTS,1,1,1260,4.24,CSH,17.5 +VTS,1,1,1260,3.83,CSH,16.5 +VTS,1,1,480,2.46,CSH,9.5 +VTS,1,1,1500,7.62,CSH,26.0 +VTS,1,1,240,0.98,CRD,6.0 +VTS,1,1,180,0.55,CRD,4.0 +VTS,1,1,1800,5.14,CSH,22.5 +VTS,1,1,660,2.43,CSH,10.0 +VTS,1,1,360,0.9,CRD,6.0 +VTS,1,1,420,1.27,CSH,7.0 +VTS,1,1,600,1.65,CRD,9.0 +VTS,1,1,480,0.81,CRD,7.0 +VTS,1,1,780,2.22,CRD,11.0 +VTS,1,1,600,1.86,CSH,9.5 +VTS,1,1,600,1.11,CRD,7.5 +VTS,1,1,240,1.49,CSH,6.5 +VTS,1,1,120,0.84,CSH,5.0 +VTS,1,1,420,3.18,CSH,10.5 +VTS,1,1,1080,10.77,CSH,30.5 +VTS,1,1,180,0.38,CSH,4.0 +VTS,1,1,300,1.7,CSH,7.5 +VTS,1,1,1020,10.5,CRD,30.0 +VTS,1,1,1080,11.08,CRD,30.5 +VTS,1,1,300,1.2,CRD,6.0 +VTS,1,1,360,1.09,CSH,6.0 +VTS,1,1,900,3.0,CRD,13.0 +VTS,1,1,900,3.67,CRD,13.5 +VTS,1,1,1200,3.91,CSH,16.5 +VTS,1,1,300,0.79,CSH,5.5 +VTS,1,1,720,1.63,CRD,10.0 +VTS,1,1,600,1.77,CRD,9.0 +VTS,1,1,540,0.71,CSH,7.0 +VTS,1,1,540,1.9,CRD,9.0 +VTS,1,1,540,2.77,CSH,10.5 +VTS,1,1,240,0.63,CRD,5.0 +VTS,1,1,600,2.17,CSH,9.5 +VTS,1,1,360,1.53,CRD,7.0 +VTS,1,1,360,1.63,CSH,7.0 +VTS,1,1,360,0.83,CSH,6.0 +VTS,1,1,720,2.0,CRD,10.0 +VTS,1,1,360,1.47,CSH,6.5 +VTS,1,1,240,0.84,CSH,5.5 +VTS,1,1,240,0.5,CSH,4.5 +VTS,2,1,120,0.5,CRD,52.0 +VTS,1,1,360,1.07,CRD,6.0 +VTS,1,1,660,1.19,CRD,8.5 +VTS,1,1,600,2.01,CRD,9.0 +VTS,1,1,660,1.51,CSH,9.0 +VTS,1,1,480,0.79,CSH,7.0 +VTS,1,1,840,1.84,CSH,11.0 +VTS,1,1,1320,2.44,CRD,15.0 +VTS,1,1,240,0.86,CSH,5.0 +VTS,1,1,840,5.14,CRD,16.5 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,300,1.09,CRD,5.5 +VTS,1,1,420,1.69,CSH,7.0 +VTS,1,1,300,0.55,CSH,5.0 +VTS,1,1,480,1.11,CRD,7.0 +VTS,1,1,300,0.39,CRD,4.5 +VTS,1,1,420,1.9,CRD,8.0 +VTS,1,1,300,0.54,CSH,5.0 +VTS,1,1,540,0.93,CSH,7.5 +VTS,1,5,420,1.02,CRD,7.0 +VTS,1,6,180,0.94,CSH,5.0 +VTS,1,5,240,1.36,CSH,6.5 +VTS,1,5,240,1.19,CSH,6.0 +VTS,1,5,660,3.05,CRD,11.5 +VTS,1,5,480,1.88,CSH,8.0 +VTS,1,5,480,2.68,CRD,9.5 +VTS,1,6,480,3.48,CRD,11.5 +VTS,1,1,300,1.2,CSH,6.5 +VTS,1,5,1260,1.86,CSH,14.0 +VTS,1,5,60,0.29,CSH,3.0 +VTS,1,5,900,2.74,CSH,12.5 +VTS,1,5,1080,2.62,CSH,13.5 +VTS,1,5,780,1.22,CRD,9.5 +VTS,1,5,300,1.04,CRD,5.5 +VTS,1,5,1740,4.07,CSH,21.5 +VTS,1,5,300,0.89,CRD,5.5 +VTS,1,6,60,0.48,CRD,3.5 +VTS,1,5,540,0.94,CRD,7.5 +VTS,1,5,240,0.63,CSH,4.5 +VTS,1,5,420,1.47,CRD,7.0 +VTS,1,5,300,1.02,CSH,6.0 +VTS,1,5,960,6.39,CRD,19.5 +VTS,1,5,1200,1.32,CRD,12.5 +VTS,1,5,1020,8.96,CRD,26.0 +VTS,1,5,1080,4.09,CRD,16.0 +VTS,1,5,720,1.98,CSH,10.0 +VTS,1,5,1500,9.1,CRD,28.5 +VTS,1,5,1020,1.91,CRD,12.0 +VTS,1,5,120,0.33,CSH,3.5 +VTS,1,5,480,1.1,CSH,6.5 +VTS,1,5,480,0.99,CSH,7.0 +VTS,1,5,480,1.3,CRD,6.5 +VTS,1,5,840,2.13,CRD,11.0 +VTS,1,5,540,0.91,CRD,7.5 +VTS,1,5,840,2.67,CSH,12.0 +VTS,1,5,1320,3.48,CSH,16.5 +VTS,1,5,840,2.1,CRD,11.0 +VTS,1,5,660,0.79,CRD,8.0 +VTS,1,1,420,1.07,CSH,7.0 +VTS,1,1,180,0.63,CRD,4.0 +VTS,1,1,1020,9.26,CSH,26.5 +VTS,1,1,1800,4.93,CSH,22.0 +VTS,1,1,360,1.86,CRD,8.0 +VTS,1,1,1740,7.76,CRD,26.5 +VTS,1,1,900,3.83,CRD,15.0 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,1,360,1.19,CRD,6.0 +VTS,1,1,420,1.43,CRD,7.0 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,1,780,2.5,CSH,11.5 +VTS,1,5,480,2.99,CRD,10.5 +VTS,1,6,120,0.48,CSH,4.0 +VTS,1,6,840,4.17,CSH,14.5 +VTS,1,5,300,0.73,CRD,5.0 +VTS,1,6,720,3.59,CRD,13.0 +VTS,1,6,120,0.62,CSH,4.0 +VTS,1,5,360,3.06,CRD,10.0 +VTS,1,5,1860,7.11,CRD,24.5 +VTS,1,5,660,2.06,CSH,10.0 +VTS,1,5,840,1.8,CSH,10.5 +VTS,1,5,480,1.0,CSH,7.0 +VTS,1,5,300,0.8,CRD,5.5 +VTS,1,5,1560,4.36,CRD,19.5 +VTS,1,5,1140,2.85,CRD,14.5 +VTS,1,1,900,1.74,CRD,11.0 +VTS,1,1,420,1.25,CSH,7.5 +VTS,1,1,540,1.96,CSH,7.5 +VTS,1,1,300,1.32,CSH,6.5 +VTS,1,1,600,2.09,CRD,9.5 +VTS,1,1,900,6.01,CRD,19.0 +VTS,1,1,180,0.6,CSH,4.0 +VTS,1,1,1620,3.66,CRD,18.0 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,540,0.77,CRD,6.5 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,300,0.63,CSH,5.0 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,660,2.51,CRD,10.0 +CMT,0,1,0,0.0,CRD,9.5 +VTS,1,6,360,1.47,CRD,7.0 +VTS,1,6,600,1.98,CRD,9.5 +VTS,1,5,240,0.51,CRD,4.5 +VTS,1,5,660,2.28,CSH,10.0 +VTS,1,5,840,1.46,CSH,10.5 +VTS,1,5,780,1.78,CSH,10.0 +VTS,1,5,480,2.92,CSH,10.5 +VTS,1,5,660,1.1,CSH,8.0 +VTS,1,5,1140,7.45,CRD,23.5 +VTS,1,5,1020,2.6,CRD,13.0 +VTS,1,5,960,2.62,CRD,13.0 +VTS,1,5,540,1.09,CRD,7.5 +VTS,1,5,360,1.78,CSH,7.5 +VTS,1,6,1440,6.97,CSH,23.5 +VTS,1,5,600,1.85,CRD,9.0 +VTS,1,5,780,1.92,CRD,10.0 +VTS,1,5,360,1.92,CRD,8.0 +VTS,1,5,420,1.82,CRD,8.0 +VTS,1,6,540,2.93,CSH,11.0 +VTS,1,6,360,1.89,CSH,7.5 +VTS,1,6,480,2.78,CSH,10.5 +VTS,1,5,780,2.18,CSH,10.5 +VTS,1,5,360,0.96,CRD,6.0 +VTS,1,5,180,0.43,CSH,4.0 +VTS,1,5,360,0.55,CRD,5.0 +VTS,1,5,1680,4.26,CRD,20.0 +VTS,1,5,1320,3.31,CSH,17.5 +VTS,1,5,1140,8.11,CRD,25.5 +VTS,1,5,1140,4.4,CRD,17.5 +VTS,1,5,540,0.74,CSH,7.0 +VTS,1,5,780,2.13,CSH,11.0 +VTS,1,5,780,1.59,CRD,9.5 +VTS,1,5,720,2.24,CRD,10.0 +VTS,1,5,720,2.36,CRD,10.5 +VTS,1,5,480,0.74,CSH,6.5 +VTS,1,5,720,1.99,CSH,9.5 +VTS,1,5,1260,5.65,CSH,19.5 +VTS,1,5,420,0.91,CRD,6.0 +VTS,1,6,360,1.76,CSH,7.0 +VTS,1,5,660,2.11,CRD,9.5 +VTS,1,5,660,1.21,CRD,8.5 +VTS,1,5,960,2.28,CSH,12.0 +VTS,1,5,480,0.89,CRD,6.5 +VTS,1,5,360,1.12,CRD,6.5 +VTS,1,5,780,0.99,CRD,9.0 +VTS,1,6,1200,5.29,CRD,19.0 +VTS,1,5,480,0.97,CSH,7.0 +VTS,1,5,360,0.96,CRD,5.5 +VTS,1,5,960,2.58,CSH,12.0 +VTS,1,5,360,0.91,CRD,5.5 +VTS,1,5,420,1.05,CSH,6.5 +VTS,1,5,480,1.01,CRD,7.0 +VTS,1,5,960,1.98,CRD,11.5 +VTS,1,5,240,0.69,CRD,4.5 +VTS,1,5,840,5.62,CRD,18.5 +VTS,1,5,1200,3.63,CRD,16.5 +VTS,1,5,600,2.38,CRD,10.0 +VTS,1,5,600,1.83,CRD,9.0 +VTS,1,5,300,1.02,CSH,6.0 +VTS,1,5,180,0.53,CSH,4.0 +VTS,1,5,300,0.8,CRD,6.0 +VTS,1,5,900,1.34,CRD,10.5 +VTS,1,5,540,1.63,CSH,8.0 +VTS,1,5,360,0.58,CSH,5.5 +VTS,1,5,180,0.83,CRD,5.0 +VTS,1,5,600,2.97,CSH,10.5 +VTS,1,5,1560,10.42,CSH,32.0 +VTS,1,5,360,0.87,CSH,5.5 +VTS,1,5,960,3.37,CRD,14.0 +VTS,1,5,2160,7.12,CSH,28.0 +VTS,1,5,720,1.45,CRD,8.5 +VTS,1,5,900,1.16,CRD,10.5 +VTS,1,5,480,0.57,CRD,6.5 +VTS,1,5,720,1.49,CSH,9.5 +VTS,1,5,360,0.96,CRD,6.0 +VTS,1,5,900,2.63,CSH,12.5 +VTS,1,5,540,1.33,CSH,7.5 +VTS,1,5,1380,2.52,CRD,15.5 +VTS,1,5,780,1.67,CRD,10.0 +VTS,1,6,540,2.76,CSH,10.5 +VTS,1,5,540,2.4,CRD,9.0 +VTS,1,5,480,1.56,CRD,8.0 +VTS,1,6,2220,9.11,CRD,34.5 +VTS,3,5,1500,16.28,CRD,61.5 +VTS,1,5,420,1.13,CRD,7.0 +VTS,1,5,1320,3.42,CRD,16.5 +VTS,1,5,780,1.86,CSH,10.5 +VTS,1,5,720,1.13,CSH,8.5 +VTS,1,5,1320,1.89,CRD,14.0 +VTS,1,5,720,2.02,CRD,9.5 +VTS,1,5,300,0.67,CRD,5.5 +VTS,1,5,600,3.93,CRD,13.0 +VTS,1,5,600,1.77,CSH,8.5 +VTS,1,5,300,0.67,CSH,5.0 +VTS,1,5,1380,9.7,CRD,29.5 +VTS,1,5,660,2.09,CSH,10.0 +VTS,1,5,900,1.85,CRD,11.0 +VTS,1,5,900,1.03,CRD,10.0 +VTS,1,5,1260,6.21,CRD,20.5 +VTS,1,5,2160,11.08,CRD,35.5 +VTS,1,5,300,0.91,CSH,5.5 +VTS,1,5,720,1.21,CSH,9.0 +VTS,1,5,960,2.96,CRD,13.5 +VTS,1,5,780,1.21,CRD,9.5 +VTS,1,5,960,3.06,CSH,13.5 +VTS,1,5,300,0.78,CSH,5.5 +VTS,1,5,960,2.79,CRD,13.5 +VTS,1,5,420,0.99,CRD,6.5 +VTS,1,5,240,1.23,CRD,6.0 +VTS,1,5,540,1.72,CRD,8.0 +VTS,1,5,900,1.37,CRD,11.0 +VTS,1,5,540,1.79,CRD,8.0 +VTS,1,5,660,1.8,CSH,9.5 +VTS,1,5,420,0.59,CRD,6.0 +VTS,1,5,1200,2.1,CRD,13.5 +VTS,1,5,300,1.06,CRD,5.5 +VTS,1,1,660,1.61,CRD,9.0 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,1,540,2.35,CRD,9.5 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,600,1.14,CSH,8.0 +VTS,1,1,120,0.78,CRD,4.5 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,540,2.07,CSH,9.0 +VTS,1,1,720,1.8,CSH,9.5 +VTS,1,1,300,1.19,CSH,6.0 +VTS,1,1,600,1.27,CSH,8.5 +VTS,1,1,1440,3.4,CRD,17.0 +VTS,1,6,1440,8.84,CRD,28.5 +VTS,1,5,1140,10.31,CRD,30.0 +VTS,1,1,600,1.77,CSH,9.5 +VTS,1,6,840,3.01,CSH,12.5 +VTS,1,6,1020,9.76,CRD,28.0 +VTS,1,5,300,0.97,CRD,5.5 +VTS,1,5,480,0.79,CRD,6.0 +VTS,1,5,420,0.87,CSH,6.5 +VTS,1,5,600,1.13,CRD,8.0 +VTS,1,5,1440,3.1,CRD,16.5 +VTS,1,6,600,0.96,CSH,7.5 +VTS,1,6,1020,0.82,CRD,11.0 +VTS,1,5,540,1.19,CSH,7.5 +VTS,1,5,1020,2.82,CRD,13.5 +VTS,1,5,240,0.91,CSH,5.0 +VTS,1,5,720,3.21,CRD,13.5 +VTS,1,5,1500,7.17,CRD,24.0 +VTS,1,5,420,1.3,CRD,7.0 +VTS,1,5,480,0.67,CSH,6.5 +VTS,1,5,1680,4.0,CRD,20.0 +VTS,1,5,240,0.54,CRD,4.5 +VTS,1,5,1260,3.93,CRD,17.0 +VTS,1,5,1320,2.85,CRD,15.5 +VTS,1,5,900,2.25,CSH,12.0 +VTS,1,6,420,1.15,CSH,7.0 +VTS,1,6,1440,4.24,CRD,19.5 +VTS,1,6,60,0.57,CSH,3.5 +VTS,1,6,480,1.38,CRD,7.5 +VTS,1,6,360,1.45,CRD,7.0 +VTS,1,6,120,0.76,CSH,4.0 +VTS,1,6,1860,6.21,CRD,26.0 +VTS,1,6,1200,4.48,CSH,18.0 +VTS,1,2,240,0.91,CSH,5.0 +VTS,1,1,240,1.19,CSH,6.0 +VTS,1,1,420,0.34,CSH,6.0 +VTS,1,1,240,1.58,CRD,6.5 +VTS,1,2,360,1.53,CSH,7.0 +VTS,1,3,1080,2.92,CSH,14.0 +VTS,1,1,1140,5.17,CRD,19.0 +VTS,1,1,480,1.49,CSH,7.5 +VTS,1,5,420,0.9,CSH,6.0 +VTS,1,5,2040,9.47,CRD,33.0 +VTS,1,5,300,1.02,CRD,6.0 +VTS,1,5,300,1.45,CSH,7.0 +VTS,1,5,1020,2.81,CSH,12.5 +VTS,1,5,780,1.78,CRD,10.0 +VTS,1,5,1080,2.88,CRD,13.5 +VTS,1,5,540,1.76,CSH,8.0 +VTS,1,5,180,0.4,CSH,4.0 +VTS,1,5,120,0.34,CSH,4.0 +VTS,1,5,780,2.22,CRD,11.0 +VTS,1,5,600,1.28,CSH,8.5 +VTS,1,5,360,1.15,CRD,6.0 +VTS,1,5,720,1.32,CSH,9.5 +VTS,1,5,1500,11.45,CRD,34.0 +VTS,1,5,1140,3.69,CSH,15.5 +VTS,1,5,1140,2.75,CSH,13.0 +VTS,1,5,600,1.08,CRD,8.0 +VTS,1,5,1200,3.19,CRD,15.5 +VTS,1,5,420,0.97,CSH,6.0 +VTS,1,5,420,0.75,CSH,5.5 +VTS,1,5,1140,3.9,CSH,15.5 +VTS,1,5,360,1.11,CRD,6.5 +VTS,1,6,420,2.49,CRD,8.5 +VTS,1,6,660,2.06,CSH,10.0 +VTS,1,6,660,3.28,CRD,12.0 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,6,600,1.9,CRD,9.0 +VTS,1,6,1560,5.26,CRD,21.0 +VTS,1,6,780,2.0,CRD,10.5 +VTS,1,2,420,1.05,CSH,6.5 +VTS,1,1,360,1.61,CSH,7.0 +VTS,1,1,300,0.87,CRD,6.0 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,540,1.52,CSH,8.0 +VTS,1,1,360,1.13,CRD,6.5 +VTS,1,1,480,1.74,CRD,8.0 +VTS,1,1,600,1.89,CRD,9.5 +VTS,1,1,360,1.33,CSH,6.5 +VTS,1,1,1200,2.39,CSH,14.0 +VTS,1,2,660,2.24,CSH,9.5 +VTS,1,1,240,0.87,CSH,5.0 +VTS,1,1,600,2.77,CSH,10.5 +VTS,1,1,120,0.54,CRD,4.0 +VTS,1,1,900,5.43,CSH,18.0 +VTS,1,1,780,2.83,CRD,11.5 +VTS,1,2,480,1.28,CSH,7.5 +VTS,1,2,240,0.63,CSH,4.5 +VTS,1,2,1500,4.97,CRD,20.5 +VTS,1,2,420,1.44,CRD,7.0 +VTS,1,1,240,0.7,CRD,5.0 +VTS,1,2,300,1.13,CSH,6.0 +VTS,1,5,660,2.07,CRD,9.0 +VTS,1,5,420,1.35,CSH,6.5 +VTS,1,5,840,2.42,CRD,11.5 +VTS,1,5,1020,2.54,CRD,12.5 +VTS,1,5,900,1.2,CSH,10.0 +VTS,1,5,300,1.31,CRD,6.5 +VTS,1,5,660,1.56,CSH,9.0 +VTS,1,5,1440,3.46,CSH,17.5 +VTS,2,5,3420,26.63,CRD,52.0 +VTS,1,5,420,1.37,CRD,7.0 +VTS,1,5,600,1.77,CRD,8.5 +VTS,1,5,300,0.91,CSH,6.0 +VTS,1,5,600,2.75,CRD,10.5 +VTS,1,5,1080,2.82,CSH,13.5 +VTS,1,5,180,0.49,CSH,4.0 +VTS,1,4,1020,3.33,CRD,14.5 +VTS,1,5,1380,9.88,CSH,30.0 +VTS,1,5,900,2.39,CRD,12.0 +VTS,1,5,1560,7.37,CRD,25.0 +VTS,1,5,660,1.56,CSH,9.0 +VTS,1,5,720,2.44,CRD,10.5 +VTS,1,5,360,0.96,CRD,6.0 +VTS,1,5,1680,10.98,CSH,35.0 +VTS,1,5,660,2.0,CSH,9.5 +VTS,1,5,660,1.27,CSH,8.0 +VTS,1,5,420,0.74,CSH,6.0 +VTS,1,5,1140,2.57,CRD,13.5 +VTS,1,5,600,1.16,CRD,8.5 +VTS,1,5,240,0.76,CSH,4.5 +VTS,1,5,420,0.8,CSH,6.5 +VTS,1,5,1260,6.09,CSH,21.0 +VTS,1,1,540,2.0,CSH,9.0 +VTS,1,6,360,1.42,CSH,7.0 +VTS,1,1,1020,2.23,CSH,12.5 +VTS,1,6,780,2.97,CSH,12.5 +VTS,1,1,1320,2.97,CSH,15.5 +VTS,1,6,540,1.24,CRD,8.0 +VTS,1,6,180,1.35,CSH,5.5 +VTS,1,6,540,1.71,CRD,8.0 +VTS,1,6,480,1.07,CRD,7.0 +VTS,1,6,360,1.07,CSH,6.0 +VTS,1,6,420,1.51,CRD,7.0 +VTS,1,6,480,1.29,CRD,7.5 +VTS,1,6,2040,8.27,CRD,31.5 +VTS,1,6,840,5.14,CRD,16.0 +VTS,1,2,420,1.33,CSH,7.5 +VTS,1,1,120,0.4,CSH,4.0 +VTS,1,1,600,1.59,CSH,9.0 +VTS,1,1,600,2.88,CRD,11.0 +VTS,1,2,300,1.65,CSH,6.5 +VTS,1,1,240,0.47,CSH,4.5 +VTS,1,1,360,1.36,CRD,6.5 +VTS,1,1,420,1.06,CRD,6.5 +VTS,1,2,420,1.23,CRD,6.5 +VTS,1,2,1140,4.21,CSH,16.5 +VTS,1,2,420,2.06,CRD,8.5 +VTS,1,2,480,0.99,CSH,6.5 +VTS,1,6,1860,12.25,CRD,38.5 +VTS,1,6,480,1.15,CRD,7.5 +VTS,1,6,660,3.53,CSH,13.0 +VTS,1,3,1380,11.19,CSH,33.0 +VTS,1,2,360,0.35,CSH,5.0 +VTS,1,3,660,2.44,CSH,10.0 +VTS,1,3,300,0.81,CRD,5.5 +VTS,1,3,1860,10.72,CRD,33.0 +VTS,1,1,120,0.34,CSH,3.5 +VTS,1,1,2580,26.96,CRD,72.5 +VTS,1,2,300,1.12,CRD,5.5 +VTS,1,2,540,2.18,CRD,9.5 +VTS,1,1,840,2.95,CRD,13.5 +VTS,1,1,180,0.88,CRD,5.0 +VTS,1,1,540,1.21,CRD,7.5 +VTS,1,1,120,0.74,CRD,4.0 +VTS,1,1,600,2.64,CSH,10.5 +VTS,1,1,240,1.92,CRD,7.5 +VTS,1,1,300,0.73,CSH,5.0 +VTS,1,1,360,1.4,CSH,7.0 +VTS,1,1,180,0.87,CRD,5.0 +VTS,1,6,240,0.7,CRD,4.5 +VTS,1,6,600,1.48,CSH,8.0 +VTS,1,1,480,3.1,CSH,11.0 +VTS,1,2,480,1.36,CSH,7.5 +VTS,1,1,540,3.48,CRD,11.5 +VTS,1,1,420,1.8,CSH,8.0 +VTS,1,2,360,1.87,CSH,8.0 +VTS,1,1,240,1.18,CSH,5.5 +VTS,1,1,720,2.09,CRD,10.5 +VTS,1,1,420,1.44,CRD,7.5 +VTS,1,1,120,0.34,CRD,3.5 +VTS,1,1,360,1.49,CSH,7.0 +VTS,1,1,900,2.65,CSH,11.5 +VTS,1,1,300,1.02,CRD,6.0 +VTS,1,1,480,1.02,CRD,7.0 +VTS,1,1,120,0.9,CRD,4.5 +VTS,1,1,240,0.79,CSH,5.5 +VTS,1,1,420,0.88,CSH,6.0 +VTS,1,1,540,1.44,CSH,8.0 +VTS,1,2,1080,4.89,CSH,18.0 +VTS,1,6,360,2.17,CSH,8.5 +VTS,1,6,900,3.19,CSH,13.5 +VTS,1,2,360,0.83,CRD,6.0 +VTS,1,3,540,1.33,CSH,8.0 +VTS,1,3,300,0.95,CSH,5.5 +VTS,1,3,120,0.32,CSH,3.0 +VTS,1,3,900,2.91,CRD,12.5 +VTS,1,6,360,0.93,CRD,6.0 +VTS,1,6,360,1.57,CRD,7.0 +VTS,1,2,360,1.57,CRD,7.0 +VTS,1,2,360,1.88,CRD,7.5 +VTS,1,1,360,1.55,CSH,7.0 +VTS,1,2,600,1.4,CRD,8.5 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,840,5.45,CSH,18.0 +VTS,1,1,660,2.12,CSH,10.0 +VTS,1,2,1380,3.67,CSH,17.0 +VTS,1,1,240,0.67,CRD,4.5 +VTS,1,2,360,1.27,CRD,6.5 +VTS,1,1,900,4.76,CRD,16.0 +VTS,1,1,780,1.43,CRD,10.0 +VTS,1,1,360,1.48,CSH,7.0 +VTS,1,1,300,0.91,CSH,6.0 +VTS,1,1,600,2.08,CRD,9.5 +VTS,1,1,600,0.6,CRD,7.5 +VTS,1,1,720,1.02,CSH,8.5 +VTS,1,1,420,0.9,CRD,6.0 +VTS,1,1,360,0.77,CRD,6.0 +VTS,1,1,660,1.63,CSH,9.0 +VTS,1,1,600,1.29,CSH,8.0 +VTS,1,1,660,2.75,CRD,10.5 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,2,900,6.19,CRD,20.0 +VTS,1,2,660,1.49,CRD,8.5 +VTS,1,5,900,2.39,CRD,12.5 +VTS,1,5,420,0.82,CRD,6.5 +VTS,1,5,660,1.36,CRD,8.5 +VTS,1,5,780,2.12,CSH,10.5 +VTS,1,6,600,1.86,CRD,9.5 +VTS,1,6,240,0.66,CRD,5.0 +VTS,1,6,540,1.88,CRD,8.5 +VTS,1,6,600,2.05,CRD,9.0 +VTS,1,6,300,0.96,CSH,5.5 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,6,900,2.79,CSH,12.5 +VTS,1,1,240,1.22,CSH,6.0 +VTS,1,1,240,1.26,CRD,5.5 +VTS,1,2,600,2.31,CSH,9.5 +VTS,1,1,1140,2.96,CSH,14.5 +VTS,1,1,420,1.19,CRD,6.5 +VTS,1,1,360,1.24,CRD,6.0 +VTS,1,2,480,1.05,CSH,7.0 +VTS,1,1,300,0.81,CSH,5.0 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,3120,14.48,CSH,50.0 +VTS,1,1,2460,8.56,CRD,33.5 +VTS,1,1,420,1.9,CRD,8.0 +VTS,1,1,360,0.67,CSH,6.5 +VTS,1,1,540,0.85,CSH,7.0 +VTS,1,1,1320,2.55,CRD,15.0 +VTS,1,2,1260,10.93,CSH,32.0 +VTS,1,2,960,4.05,CRD,15.0 +VTS,1,2,300,0.51,CSH,4.5 +VTS,2,2,60,0.0,CRD,52.0 +VTS,1,2,900,6.37,CRD,20.5 +VTS,1,2,360,1.31,CRD,6.5 +VTS,1,6,780,1.92,CSH,8.5 +VTS,1,2,900,2.48,CRD,12.0 +VTS,1,3,600,3.32,CRD,12.0 +VTS,1,3,420,1.08,CRD,7.0 +VTS,1,3,600,1.33,CRD,8.5 +VTS,1,2,180,0.73,CSH,4.5 +VTS,1,3,240,0.34,CSH,4.5 +VTS,1,3,660,1.63,CRD,9.5 +VTS,1,3,2040,9.8,CRD,33.0 +VTS,1,3,540,1.26,CRD,7.0 +VTS,1,2,360,0.89,CRD,6.5 +VTS,1,2,1020,1.59,CSH,10.0 +VTS,1,1,540,1.19,CRD,7.5 +VTS,1,1,660,2.93,CSH,11.5 +VTS,1,1,240,0.98,CSH,5.0 +VTS,1,1,1200,11.27,CSH,32.0 +VTS,1,1,780,3.09,CSH,12.0 +VTS,1,1,420,1.54,CSH,7.0 +VTS,1,1,540,1.51,CRD,8.5 +VTS,1,5,300,0.7,CRD,5.0 +VTS,1,6,1140,4.1,CRD,16.0 +VTS,1,5,480,1.15,CRD,7.0 +VTS,1,5,660,3.27,CRD,12.0 +VTS,1,5,960,1.59,CSH,11.0 +VTS,1,5,540,1.56,CRD,8.0 +VTS,1,6,840,2.25,CRD,11.0 +VTS,1,5,780,3.22,CRD,12.5 +VTS,1,5,960,2.62,CSH,12.0 +VTS,1,5,720,1.92,CRD,10.5 +VTS,1,5,660,1.65,CSH,9.0 +VTS,1,5,1920,7.8,CSH,27.0 +VTS,1,5,1440,1.64,CSH,15.5 +VTS,1,5,840,2.36,CRD,11.5 +VTS,1,5,4260,17.08,CRD,52.0 +VTS,1,5,540,1.33,CRD,7.5 +VTS,1,5,780,2.77,CRD,12.5 +VTS,1,5,360,0.92,CSH,6.0 +VTS,1,5,1380,2.8,CRD,15.5 +VTS,1,5,900,2.51,CRD,11.5 +VTS,1,5,840,1.08,CRD,9.0 +VTS,1,5,1440,2.95,CSH,16.0 +VTS,1,5,1080,2.63,CRD,13.5 +VTS,1,5,1080,1.99,CRD,12.0 +VTS,1,5,1080,6.53,CRD,20.5 +VTS,1,5,600,4.54,CSH,14.5 +VTS,1,6,1380,7.42,CRD,24.5 +VTS,1,5,1020,3.5,CSH,13.5 +VTS,1,5,1080,3.31,CRD,15.0 +VTS,1,5,540,1.6,CSH,8.5 +VTS,1,5,480,1.4,CRD,8.0 +VTS,1,5,480,1.1,CSH,6.5 +VTS,1,6,240,0.96,CRD,5.5 +VTS,1,5,300,1.09,CRD,5.5 +VTS,1,5,780,1.88,CRD,10.0 +VTS,1,5,540,1.48,CSH,8.0 +VTS,1,5,1140,7.46,CRD,23.0 +VTS,1,5,420,0.67,CSH,6.5 +VTS,1,5,300,1.42,CRD,6.5 +VTS,1,5,540,0.83,CSH,6.5 +VTS,1,5,360,1.35,CRD,7.0 +VTS,1,5,540,1.49,CRD,8.0 +VTS,1,5,1200,2.03,CRD,13.5 +VTS,1,5,840,1.96,CRD,10.5 +VTS,1,5,1560,3.92,CSH,19.0 +VTS,1,5,600,1.44,CSH,9.0 +VTS,1,5,360,1.29,CRD,6.5 +VTS,1,5,180,0.62,CSH,4.5 +VTS,1,5,600,1.01,CRD,7.5 +VTS,1,5,1740,8.88,CSH,29.5 +VTS,1,5,600,1.69,CRD,9.0 +VTS,1,5,1020,2.87,CRD,13.0 +VTS,1,2,540,0.87,CSH,7.0 +VTS,1,1,300,0.56,CSH,5.0 +VTS,1,6,720,2.08,CRD,10.0 +VTS,1,2,240,0.64,CSH,4.5 +VTS,1,3,360,0.78,CSH,6.0 +VTS,1,3,1140,4.84,CSH,17.5 +VTS,1,4,360,0.61,CSH,5.5 +VTS,1,2,1260,1.27,CSH,13.0 +VTS,1,3,720,1.88,CSH,9.5 +VTS,1,4,1620,10.18,CSH,30.0 +VTS,1,3,300,1.33,CSH,6.5 +VTS,1,2,1320,5.58,CRD,20.0 +VTS,1,3,720,5.74,CRD,17.5 +VTS,1,2,1080,4.24,CRD,16.0 +VTS,1,1,180,0.58,CRD,4.0 +VTS,1,2,660,2.12,CSH,10.0 +VTS,1,2,180,0.76,CSH,4.5 +VTS,1,1,120,0.29,CSH,3.5 +VTS,1,1,720,4.28,CRD,14.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,600,1.89,CRD,9.0 +VTS,1,1,300,0.52,CSH,5.5 +VTS,1,1,720,3.13,CRD,12.5 +VTS,1,1,780,1.68,CRD,10.5 +VTS,1,1,240,0.81,CSH,5.0 +VTS,1,2,660,1.56,CRD,8.0 +VTS,1,1,240,0.66,CSH,5.5 +VTS,1,1,540,1.04,CRD,8.0 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,600,1.54,CSH,8.5 +VTS,1,1,420,1.73,CRD,7.5 +VTS,1,2,240,0.68,CSH,5.0 +VTS,1,3,840,3.71,CRD,13.5 +VTS,1,2,960,4.07,CSH,16.0 +VTS,1,3,720,0.81,CRD,8.5 +VTS,1,2,60,0.47,CRD,4.0 +VTS,1,3,420,1.74,CRD,8.0 +VTS,1,4,360,1.0,CSH,6.0 +VTS,1,3,120,0.62,CSH,4.0 +VTS,1,4,360,0.67,CSH,5.0 +VTS,1,3,180,0.77,CRD,4.5 +VTS,1,1,2820,16.48,CRD,54.5 +VTS,1,2,480,1.93,CRD,8.5 +VTS,1,2,540,1.69,CSH,8.0 +VTS,1,2,660,3.89,CRD,12.5 +VTS,1,1,120,0.45,CSH,4.0 +VTS,1,1,720,2.73,CSH,11.0 +VTS,1,2,360,1.48,CRD,7.5 +VTS,1,1,540,1.38,CRD,8.0 +VTS,1,1,600,1.75,CSH,9.5 +VTS,1,2,300,1.16,CRD,6.5 +VTS,1,1,840,4.42,CRD,15.0 +VTS,1,1,660,1.48,CSH,8.0 +VTS,1,1,480,1.76,CRD,8.0 +VTS,1,1,420,1.51,CSH,7.0 +VTS,1,1,360,0.97,CSH,6.0 +VTS,1,1,540,1.48,CSH,8.0 +VTS,1,1,300,1.12,CSH,6.0 +VTS,1,2,1560,3.87,CRD,19.5 +VTS,1,1,480,1.63,CSH,8.0 +VTS,1,1,780,3.22,CRD,12.5 +VTS,1,1,420,0.61,CRD,6.0 +VTS,1,2,780,3.03,CSH,12.0 +VTS,1,1,1260,7.97,CRD,25.0 +VTS,1,1,660,3.42,CRD,12.0 +VTS,1,1,600,3.36,CRD,12.5 +VTS,1,1,420,1.93,CSH,7.5 +VTS,1,1,540,1.23,CRD,8.0 +VTS,1,1,300,0.61,CSH,5.0 +VTS,1,1,840,2.29,CRD,11.0 +VTS,1,2,780,3.76,CRD,14.0 +VTS,1,1,180,0.86,CSH,5.0 +VTS,1,1,420,2.21,CRD,9.0 +VTS,1,2,1140,4.29,CSH,15.5 +VTS,1,1,600,0.51,CSH,7.5 +VTS,1,1,1020,4.89,CRD,17.0 +VTS,1,1,480,1.58,CSH,8.0 +VTS,1,1,900,6.19,CRD,19.0 +VTS,1,5,540,1.35,CRD,8.5 +VTS,1,5,1020,1.52,CRD,11.5 +VTS,1,5,1440,9.52,CRD,29.0 +VTS,1,5,600,1.19,CRD,8.5 +VTS,1,5,540,1.06,CRD,7.5 +VTS,1,5,420,1.16,CRD,6.5 +VTS,1,6,1140,1.81,CRD,13.0 +VTS,1,6,180,1.29,CSH,5.5 +VTS,1,6,300,1.65,CSH,7.5 +VTS,1,6,480,1.68,CRD,8.0 +VTS,1,2,300,1.35,CSH,6.5 +VTS,1,2,420,1.36,CRD,7.0 +VTS,1,2,420,1.21,CSH,7.0 +VTS,1,1,240,1.3,CSH,6.0 +VTS,1,1,480,1.57,CRD,7.5 +VTS,1,1,240,0.91,CRD,5.5 +VTS,1,1,780,1.81,CSH,10.0 +VTS,1,1,360,0.88,CRD,6.0 +VTS,1,1,720,1.99,CRD,10.5 +VTS,1,1,840,2.4,CSH,12.0 +VTS,1,1,420,1.34,CSH,6.5 +VTS,1,1,180,1.05,CRD,5.0 +VTS,1,1,360,0.9,CSH,6.0 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,2,540,0.72,CSH,7.0 +VTS,1,1,300,1.22,CSH,6.0 +VTS,1,2,240,1.1,CSH,6.0 +VTS,1,2,840,4.12,CSH,14.0 +VTS,1,6,840,8.82,CRD,25.0 +VTS,1,6,540,2.04,CSH,9.5 +VTS,1,6,1080,4.5,CSH,16.0 +VTS,1,6,240,0.79,CSH,5.0 +VTS,1,2,720,2.82,CRD,12.0 +VTS,1,3,1800,11.06,CRD,34.5 +VTS,1,3,180,0.72,CSH,4.5 +VTS,1,5,360,0.42,CSH,5.5 +VTS,1,2,1080,3.65,CSH,15.5 +VTS,1,3,300,1.1,CRD,6.0 +VTS,1,3,660,2.1,CRD,10.5 +VTS,1,3,1440,2.48,CSH,16.0 +VTS,1,3,1260,3.44,CSH,15.0 +VTS,1,3,540,1.81,CSH,8.0 +VTS,1,2,420,0.97,CRD,6.5 +VTS,1,1,240,1.31,CRD,6.0 +VTS,1,1,1380,10.5,CRD,30.5 +VTS,1,1,240,0.57,CRD,5.0 +VTS,1,1,480,2.94,CRD,10.0 +VTS,1,1,1620,9.07,CSH,28.5 +VTS,1,2,900,2.43,CRD,11.0 +VTS,1,1,1920,12.26,CSH,38.0 +VTS,1,2,600,2.04,CRD,9.0 +VTS,1,2,1080,4.01,CSH,15.0 +VTS,1,1,180,1.64,CRD,6.5 +VTS,1,3,480,1.13,CRD,7.0 +VTS,1,3,840,3.02,CRD,12.0 +VTS,1,1,900,5.26,CSH,17.5 +VTS,1,1,960,4.99,CRD,17.5 +VTS,1,1,180,0.8,CRD,5.0 +VTS,1,1,300,1.34,CSH,6.5 +VTS,1,1,540,1.93,CSH,9.0 +VTS,1,1,540,1.42,CRD,8.5 +VTS,1,1,1260,7.2,CSH,22.0 +VTS,1,2,1080,4.65,CRD,17.5 +VTS,1,2,360,1.36,CSH,6.5 +VTS,1,1,960,6.4,CSH,19.5 +VTS,1,1,180,0.42,CRD,4.0 +VTS,1,2,720,1.43,CRD,8.5 +VTS,1,1,300,1.54,CSH,7.0 +VTS,1,1,780,3.49,CRD,13.5 +VTS,1,1,600,2.97,CRD,11.0 +VTS,1,1,480,1.57,CRD,7.5 +VTS,1,1,540,1.92,CSH,8.5 +VTS,1,1,660,3.31,CRD,12.5 +VTS,1,1,1620,3.27,CSH,18.0 +VTS,1,1,840,5.66,CRD,18.0 +VTS,1,1,420,1.29,CSH,6.5 +VTS,1,2,1020,2.94,CSH,13.5 +VTS,1,2,720,1.68,CRD,9.5 +VTS,1,1,300,0.52,CRD,5.0 +VTS,1,1,360,1.37,CRD,6.5 +VTS,1,1,600,1.98,CRD,8.5 +VTS,1,2,420,1.41,CSH,7.5 +VTS,1,2,600,2.65,CRD,11.0 +VTS,1,1,720,2.35,CRD,10.5 +VTS,1,1,2160,9.97,CRD,34.0 +VTS,1,1,480,1.92,CRD,8.5 +VTS,1,1,1020,6.52,CRD,21.5 +VTS,1,2,180,0.59,CRD,4.5 +VTS,1,2,780,4.63,CRD,15.0 +VTS,1,1,540,3.17,CRD,11.5 +VTS,1,1,900,3.79,CSH,14.5 +VTS,1,1,180,1.43,CSH,6.0 +VTS,1,1,300,0.91,CRD,5.0 +VTS,1,1,1560,6.61,CSH,24.0 +VTS,1,2,240,2.26,CRD,8.0 +VTS,1,1,300,0.98,CRD,5.0 +VTS,1,1,360,0.93,CRD,5.5 +VTS,1,1,1680,4.55,CRD,22.0 +VTS,1,2,900,2.78,CRD,13.0 +VTS,1,2,600,1.26,CRD,8.0 +VTS,1,1,840,2.1,CRD,10.0 +VTS,1,1,480,2.03,CRD,8.0 +VTS,1,1,840,2.45,CRD,10.5 +VTS,1,1,480,1.09,CSH,7.0 +VTS,1,2,1080,4.29,CRD,16.0 +VTS,1,1,960,6.13,CSH,19.0 +VTS,1,2,180,0.83,CRD,4.5 +VTS,1,1,780,2.94,CSH,12.0 +VTS,1,1,180,0.92,CSH,5.0 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,960,3.52,CRD,13.5 +VTS,1,1,120,0.52,CRD,3.5 +VTS,1,1,240,0.97,CRD,5.0 +VTS,1,1,240,1.53,CSH,6.5 +VTS,1,1,360,0.9,CRD,6.0 +VTS,1,1,240,0.99,CRD,5.5 +VTS,1,1,360,1.66,CSH,6.5 +VTS,1,1,1020,4.11,CRD,16.0 +VTS,1,1,540,1.26,CRD,7.5 +VTS,1,2,1020,2.55,CSH,12.0 +VTS,1,1,420,1.3,CSH,6.5 +VTS,1,1,840,1.14,CSH,10.0 +VTS,1,1,420,1.54,CRD,7.5 +VTS,1,2,300,1.27,CSH,6.5 +VTS,1,2,780,7.33,CRD,22.5 +VTS,1,1,360,1.56,CRD,7.5 +VTS,1,1,480,1.51,CSH,7.0 +VTS,1,1,360,1.54,CRD,7.0 +VTS,1,1,180,0.58,CRD,4.5 +VTS,1,2,720,2.77,CRD,11.5 +VTS,1,1,1440,3.72,CSH,18.0 +VTS,1,1,540,1.88,CRD,9.0 +VTS,1,1,180,0.89,CSH,5.0 +VTS,1,2,120,0.49,CSH,4.0 +VTS,1,1,840,4.09,CRD,15.0 +VTS,1,1,300,1.43,CSH,6.0 +VTS,1,2,720,1.95,CRD,9.5 +VTS,1,1,540,1.43,CRD,7.5 +VTS,1,1,1500,6.0,CSH,21.0 +VTS,1,1,1320,7.09,CRD,23.0 +VTS,1,1,600,1.84,CRD,8.5 +VTS,1,1,720,2.18,CRD,10.0 +VTS,1,1,300,0.92,CSH,5.0 +VTS,1,1,420,1.29,CRD,6.5 +VTS,1,1,540,2.82,CRD,11.0 +VTS,1,1,360,0.78,CRD,6.0 +VTS,1,2,120,0.34,CRD,3.5 +VTS,1,1,720,2.8,CSH,11.0 +VTS,1,1,1500,3.67,CRD,16.0 +VTS,1,1,1740,6.67,CRD,24.0 +VTS,1,1,1260,5.42,CSH,20.0 +VTS,1,1,960,5.4,CSH,17.0 +VTS,1,1,540,2.06,CSH,9.0 +VTS,1,1,120,0.45,CSH,4.0 +VTS,1,1,540,1.41,CRD,8.0 +VTS,1,2,300,1.3,CSH,6.5 +VTS,1,3,600,1.3,CSH,8.0 +VTS,1,1,1020,3.78,CSH,15.5 +VTS,1,6,660,2.13,CSH,8.5 +VTS,1,3,960,6.45,CRD,21.0 +VTS,1,2,540,1.78,CRD,8.5 +VTS,1,3,960,3.6,CSH,14.5 +VTS,1,2,300,0.96,CRD,5.5 +VTS,1,2,540,1.19,CSH,7.5 +VTS,1,3,600,1.01,CRD,7.0 +VTS,1,3,600,3.3,CSH,11.5 +VTS,1,3,300,1.04,CRD,6.0 +VTS,1,2,960,3.58,CSH,15.0 +VTS,1,2,840,3.49,CSH,14.0 +VTS,1,1,780,2.55,CSH,11.0 +VTS,1,1,360,1.77,CSH,7.0 +VTS,1,2,660,2.49,CRD,10.5 +VTS,1,1,1380,10.41,CSH,31.0 +VTS,1,1,240,0.47,CSH,4.5 +VTS,1,1,1140,3.71,CRD,15.0 +VTS,1,2,840,2.77,CRD,11.5 +VTS,1,1,360,1.05,CRD,6.0 +VTS,1,2,900,3.52,CRD,13.5 +VTS,1,1,420,2.12,CSH,8.0 +VTS,1,2,900,3.7,CRD,13.5 +VTS,1,1,900,4.05,CRD,15.5 +VTS,1,1,1440,7.56,CRD,25.0 +VTS,1,1,300,0.64,CRD,5.0 +VTS,1,2,120,0.47,CSH,3.5 +VTS,1,5,360,0.92,CSH,6.0 +VTS,1,6,420,2.28,CSH,8.5 +VTS,1,1,780,2.09,CRD,11.0 +VTS,1,1,180,0.77,CRD,4.5 +VTS,1,1,360,1.17,CRD,6.5 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,1,480,2.26,CSH,9.0 +VTS,1,1,300,1.39,CSH,6.5 +VTS,1,1,420,1.01,CRD,6.5 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,1080,3.23,CRD,14.5 +VTS,1,1,120,0.59,CSH,4.0 +VTS,1,1,1020,3.0,CRD,14.0 +VTS,1,1,300,1.17,CRD,6.5 +VTS,1,1,600,2.39,CRD,10.0 +VTS,1,1,840,8.94,CRD,25.0 +VTS,1,1,540,2.09,CRD,9.0 +VTS,1,1,1020,3.61,CRD,14.5 +VTS,1,1,1260,5.41,CSH,20.5 +VTS,1,1,1320,4.9,CRD,19.5 +VTS,1,1,480,1.46,CRD,7.5 +VTS,1,1,780,2.6,CRD,11.5 +VTS,1,1,720,2.1,CSH,10.0 +VTS,1,2,1680,10.82,CRD,32.5 +VTS,1,6,180,0.21,CSH,3.5 +VTS,1,6,420,1.19,CRD,7.0 +VTS,1,1,420,0.71,CRD,5.5 +VTS,1,1,1140,9.37,CRD,28.0 +VTS,1,1,300,1.32,CRD,6.0 +VTS,1,1,660,2.14,CRD,10.5 +VTS,1,1,660,2.45,CRD,10.5 +VTS,1,1,420,1.83,CSH,7.5 +VTS,1,1,180,0.5,CRD,4.5 +VTS,1,2,840,3.29,CRD,12.5 +VTS,1,1,1080,1.38,CSH,9.5 +VTS,1,1,300,1.94,CRD,7.5 +VTS,1,1,240,1.12,CSH,5.5 +VTS,1,1,120,0.55,CSH,4.0 +VTS,1,2,480,1.3,CSH,7.0 +VTS,1,1,240,0.41,CRD,4.5 +VTS,1,1,1800,5.87,CRD,25.0 +VTS,1,2,1140,6.25,CRD,20.0 +VTS,1,1,900,4.09,CRD,15.0 +VTS,1,1,660,3.65,CRD,12.5 +VTS,1,1,780,2.25,CRD,10.0 +VTS,1,1,540,1.19,CSH,7.5 +VTS,1,2,540,2.75,CSH,10.5 +VTS,1,2,360,1.2,CSH,6.5 +VTS,1,1,900,3.69,CSH,13.5 +VTS,1,1,540,1.79,CRD,8.0 +VTS,1,2,1080,3.54,CSH,14.5 +VTS,1,2,840,5.14,CRD,16.0 +VTS,1,6,420,1.22,CRD,6.5 +VTS,1,6,540,1.28,CSH,7.5 +VTS,1,2,240,0.74,CRD,5.0 +VTS,1,3,480,1.95,CSH,8.5 +VTS,1,3,360,1.28,CRD,7.0 +VTS,1,4,840,2.06,CRD,10.5 +VTS,1,3,900,1.75,CRD,9.5 +VTS,1,3,120,0.52,CSH,3.5 +VTS,1,4,480,1.16,CSH,7.0 +VTS,1,3,1740,10.98,CRD,33.0 +VTS,1,3,1380,5.04,CRD,19.5 +VTS,1,1,300,0.76,CSH,5.0 +VTS,1,2,660,1.92,CRD,9.5 +VTS,1,1,1020,6.46,CRD,20.0 +VTS,1,2,540,1.45,CSH,8.0 +VTS,1,1,240,1.19,CRD,6.0 +VTS,1,1,480,1.96,CRD,8.5 +VTS,1,1,1860,9.87,CSH,31.5 +VTS,1,1,840,2.23,CSH,11.5 +VTS,1,2,540,1.77,CSH,8.5 +VTS,1,2,360,1.51,CSH,6.5 +VTS,1,1,240,1.34,CSH,5.5 +VTS,1,1,360,1.0,CRD,6.0 +VTS,1,1,660,2.54,CRD,10.5 +VTS,1,1,480,1.59,CSH,7.5 +VTS,1,2,540,0.65,CSH,7.0 +VTS,1,1,660,3.74,CRD,12.5 +VTS,1,1,420,2.48,CSH,8.5 +VTS,1,1,120,0.23,CRD,4.0 +VTS,1,1,660,2.93,CRD,11.0 +VTS,1,1,720,3.61,CRD,12.5 +VTS,1,1,780,3.85,CSH,13.5 +VTS,1,2,360,1.05,CRD,6.5 +VTS,1,1,420,1.34,CSH,7.0 +VTS,1,1,1080,2.71,CSH,14.5 +VTS,1,1,660,2.11,CSH,9.5 +VTS,1,1,1200,5.99,CRD,20.5 +VTS,1,1,360,1.73,CRD,7.5 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,2,420,1.22,CSH,6.5 +VTS,1,1,540,1.82,CRD,9.0 +VTS,1,2,1200,3.49,CRD,14.5 +VTS,1,1,300,1.17,CSH,6.0 +VTS,1,2,540,1.39,CSH,7.5 +VTS,1,2,1080,9.62,CRD,28.0 +VTS,1,1,1740,3.7,CRD,17.0 +VTS,1,1,540,1.09,CRD,7.5 +VTS,1,1,900,4.34,CRD,15.0 +VTS,1,1,660,2.57,CRD,11.0 +VTS,1,2,240,0.62,CSH,4.5 +VTS,1,2,300,1.38,CSH,6.5 +VTS,1,1,1620,7.14,CRD,24.0 +VTS,1,2,180,0.64,CSH,4.5 +VTS,1,1,600,2.54,CSH,10.5 +VTS,1,1,1140,4.8,CRD,17.0 +VTS,1,1,1020,2.78,CRD,13.0 +VTS,1,1,240,1.34,CSH,6.0 +VTS,1,2,600,3.42,CSH,12.5 +VTS,1,1,180,1.03,CSH,5.0 +VTS,1,1,720,3.7,CSH,13.0 +VTS,1,1,780,3.96,CSH,14.5 +VTS,1,1,480,1.12,CRD,7.0 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,180,0.64,CRD,4.0 +VTS,1,1,420,1.63,CSH,8.0 +VTS,1,1,600,2.43,CRD,10.0 +VTS,1,1,360,1.23,CRD,6.5 +VTS,1,2,300,2.0,CRD,7.5 +VTS,1,1,720,4.3,CRD,14.5 +VTS,1,1,660,1.42,CRD,8.0 +VTS,1,1,1680,5.8,CSH,21.5 +VTS,1,2,360,0.95,CRD,5.5 +VTS,1,1,360,0.91,CSH,6.5 +VTS,1,1,480,1.3,CRD,7.5 +VTS,1,2,780,1.23,CSH,8.5 +VTS,1,1,660,2.47,CRD,10.0 +VTS,1,1,480,1.98,CRD,8.5 +VTS,1,1,480,1.75,CRD,8.5 +VTS,1,1,180,1.0,CRD,5.0 +VTS,1,1,240,1.45,CSH,6.0 +VTS,1,1,480,1.17,CRD,6.5 +VTS,1,1,420,1.5,CRD,7.5 +VTS,1,2,480,1.03,CRD,7.0 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,780,2.78,CRD,12.0 +VTS,1,1,1320,4.13,CRD,17.0 +VTS,1,1,1020,4.73,CRD,17.0 +VTS,1,2,900,2.01,CRD,11.5 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,180,0.14,CSH,4.0 +VTS,1,1,300,0.79,CSH,5.5 +VTS,1,1,1260,5.61,CSH,20.0 +VTS,1,1,480,2.08,CSH,8.5 +VTS,1,1,600,2.15,CSH,9.5 +VTS,1,1,1020,4.11,CSH,15.5 +VTS,1,1,720,4.34,CSH,14.0 +VTS,1,1,840,9.76,CRD,27.5 +VTS,1,2,420,1.27,CRD,6.5 +VTS,1,1,120,0.54,CRD,4.0 +VTS,1,1,840,2.38,CRD,10.5 +VTS,1,1,840,7.57,CSH,22.0 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,1020,9.46,CSH,27.0 +VTS,1,1,1020,4.28,CRD,15.0 +VTS,1,2,720,2.06,CRD,9.5 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,2,780,5.68,CRD,17.0 +VTS,1,1,1260,4.48,CRD,17.5 +VTS,1,1,60,0.05,CSH,3.0 +VTS,1,2,840,7.76,CSH,23.5 +VTS,1,1,240,0.35,CRD,4.0 +VTS,1,1,240,0.78,CSH,5.0 +VTS,1,2,480,1.78,CSH,8.5 +VTS,1,1,660,2.44,CRD,11.0 +VTS,1,2,1680,3.64,CSH,17.0 +VTS,1,1,1440,4.45,CRD,18.0 +VTS,1,1,60,0.05,CSH,2.5 +VTS,1,2,600,1.7,CSH,8.5 +VTS,1,1,480,2.15,CRD,9.0 +VTS,1,1,300,0.48,CSH,5.0 +VTS,1,1,480,1.5,CRD,7.0 +VTS,1,2,540,2.19,CSH,9.0 +VTS,1,1,540,2.61,CRD,9.5 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,2,1020,4.66,CSH,16.5 +VTS,1,1,660,2.73,CRD,10.5 +VTS,1,1,420,0.95,CSH,6.0 +VTS,1,2,300,0.75,CRD,5.0 +VTS,1,1,480,2.38,CSH,9.0 +VTS,1,1,660,3.96,CRD,14.0 +VTS,1,2,480,1.31,CSH,7.0 +VTS,1,1,300,1.7,CRD,6.5 +VTS,1,1,120,0.2,CRD,3.5 +VTS,1,1,360,1.36,CSH,6.5 +VTS,1,1,960,3.45,CRD,14.0 +VTS,1,1,420,1.73,CSH,7.5 +VTS,1,2,840,1.74,CRD,11.0 +VTS,1,2,600,4.22,CRD,13.5 +VTS,1,1,660,1.11,CSH,8.5 +VTS,1,2,240,0.52,CSH,4.5 +VTS,1,2,1620,7.79,CSH,26.0 +VTS,5,1,0,0.0,CRD,53.0 +VTS,1,1,420,2.02,CRD,8.0 +VTS,1,2,600,2.28,CRD,10.0 +VTS,1,1,360,1.11,CSH,6.5 +VTS,1,1,660,4.9,CSH,16.0 +VTS,1,1,60,0.27,CRD,3.0 +VTS,1,1,360,1.82,CRD,7.5 +VTS,1,1,780,3.28,CSH,12.5 +VTS,1,1,480,2.19,CRD,8.5 +VTS,1,1,1560,2.93,CRD,15.0 +VTS,1,1,480,1.74,CSH,8.0 +VTS,1,2,1080,6.6,CRD,22.0 +VTS,1,1,240,1.9,CSH,7.5 +VTS,1,1,1680,4.52,CRD,18.5 +VTS,1,1,420,1.0,CSH,6.0 +VTS,1,1,240,0.85,CRD,5.0 +VTS,1,1,540,1.94,CRD,8.5 +VTS,1,1,240,0.69,CRD,5.0 +VTS,1,2,600,2.04,CRD,9.5 +VTS,1,1,960,6.22,CRD,20.5 +VTS,1,1,420,1.22,CSH,7.5 +VTS,1,1,120,0.68,CSH,4.0 +VTS,1,1,300,1.24,CSH,6.0 +VTS,1,2,180,0.61,CSH,4.5 +VTS,1,1,720,1.9,CRD,10.0 +VTS,1,1,420,1.3,CRD,7.0 +VTS,1,1,240,0.41,CSH,4.5 +VTS,1,1,600,2.33,CRD,9.5 +VTS,1,1,660,3.35,CRD,12.5 +VTS,1,1,480,0.87,CSH,6.5 +VTS,1,1,60,0.17,CSH,3.0 +VTS,1,1,540,1.17,CSH,7.5 +VTS,1,2,180,0.36,CSH,3.5 +VTS,1,2,240,0.99,CSH,5.0 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,360,0.86,CSH,6.0 +VTS,1,1,1320,3.72,CRD,15.0 +VTS,1,1,960,7.2,CRD,21.0 +VTS,1,1,360,1.14,CSH,6.0 +VTS,1,2,900,3.94,CRD,14.0 +VTS,1,1,300,0.8,CRD,5.0 +VTS,1,1,1020,6.58,CSH,21.0 +VTS,1,1,660,3.03,CRD,11.5 +VTS,1,1,1080,4.48,CSH,16.0 +VTS,1,2,720,2.62,CSH,10.5 +VTS,1,1,840,6.94,CRD,21.0 +VTS,1,1,420,1.64,CRD,7.5 +VTS,1,1,1320,6.22,CRD,20.5 +VTS,1,2,780,3.88,CSH,14.0 +VTS,1,1,1140,4.32,CRD,17.0 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,1,480,1.35,CRD,7.5 +VTS,1,1,720,2.38,CSH,11.0 +VTS,1,1,840,3.3,CSH,14.0 +VTS,1,1,420,1.6,CRD,7.5 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,2,360,1.0,CSH,6.0 +VTS,1,1,240,0.0,CRD,4.0 +VTS,1,1,960,0.01,CSH,9.0 +VTS,1,2,420,0.01,CSH,5.0 +VTS,1,1,300,0.0,CRD,4.5 +VTS,1,2,840,0.08,CRD,9.5 +VTS,1,1,420,0.04,CRD,5.5 +VTS,1,6,660,2.07,CRD,9.5 +VTS,1,6,300,0.64,CSH,5.0 +VTS,1,6,660,1.54,CRD,9.0 +VTS,1,6,420,1.44,CSH,7.5 +VTS,1,6,960,2.63,CRD,12.0 +VTS,1,2,240,1.03,CSH,5.5 +VTS,1,2,600,1.04,CRD,7.0 +VTS,1,2,240,0.7,CRD,4.5 +VTS,1,2,600,1.94,CSH,9.5 +VTS,1,1,1260,5.81,CSH,20.0 +VTS,1,1,1260,7.94,CSH,25.0 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,780,2.6,CRD,11.5 +VTS,2,1,1800,19.87,CRD,52.0 +VTS,1,2,1860,8.74,CRD,30.0 +VTS,1,2,540,1.65,CRD,8.0 +VTS,1,1,1680,5.51,CRD,21.0 +VTS,1,1,240,0.84,CRD,5.0 +VTS,1,2,480,2.94,CSH,10.0 +VTS,1,1,900,4.99,CSH,17.0 +VTS,1,1,360,1.08,CSH,6.0 +VTS,1,1,360,1.76,CSH,8.0 +VTS,1,1,1260,8.02,CRD,24.0 +VTS,1,1,300,1.28,CSH,6.5 +VTS,1,1,540,1.16,CRD,7.0 +VTS,1,2,840,4.25,CSH,15.0 +VTS,1,2,780,2.85,CRD,12.0 +VTS,1,1,300,1.18,CRD,5.5 +VTS,1,1,900,4.54,CSH,15.5 +VTS,1,1,780,1.44,CSH,9.5 +VTS,1,1,720,2.15,CRD,10.5 +VTS,1,1,300,0.63,CSH,5.0 +VTS,1,1,420,2.06,CRD,8.5 +VTS,1,1,600,1.96,CRD,8.5 +VTS,1,2,720,1.53,CSH,8.5 +VTS,1,1,120,0.44,CRD,4.0 +VTS,1,1,240,0.71,CRD,5.0 +VTS,1,1,300,1.46,CSH,6.5 +VTS,1,1,420,0.85,CRD,6.0 +VTS,1,1,420,1.45,CRD,7.0 +VTS,1,1,240,0.74,CRD,5.0 +VTS,1,1,360,1.63,CRD,7.0 +VTS,1,1,300,1.1,CSH,5.5 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,900,5.12,CSH,18.0 +VTS,1,1,2160,2.33,CRD,17.5 +VTS,1,1,1560,5.94,CSH,20.5 +VTS,1,1,840,2.79,CSH,12.0 +VTS,1,1,180,1.47,CRD,6.5 +VTS,1,1,660,0.83,CRD,8.0 +VTS,1,2,1980,10.04,CSH,33.0 +VTS,1,1,1200,2.72,CRD,14.0 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,2,1200,5.68,CRD,19.5 +VTS,1,1,480,2.52,CRD,9.5 +VTS,1,1,480,0.74,CSH,6.5 +VTS,1,2,60,0.32,CSH,3.5 +VTS,1,1,480,0.81,CRD,6.5 +VTS,1,6,660,1.88,CSH,9.5 +VTS,1,6,480,2.3,CSH,8.5 +VTS,1,1,240,0.66,CSH,4.5 +VTS,1,1,480,2.58,CRD,9.5 +VTS,1,1,480,1.29,CSH,7.5 +VTS,1,1,1620,11.86,CSH,34.0 +VTS,1,1,480,1.82,CRD,8.5 +VTS,1,1,840,5.05,CSH,16.0 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,1,900,2.22,CRD,11.5 +VTS,1,1,120,0.49,CSH,4.0 +VTS,1,1,1440,8.4,CSH,26.5 +VTS,1,6,540,3.76,CRD,13.0 +VTS,1,6,1020,10.78,CRD,30.0 +VTS,1,6,240,0.72,CRD,5.0 +VTS,1,6,420,1.36,CRD,7.0 +VTS,1,6,420,1.91,CSH,8.5 +VTS,1,6,360,1.48,CSH,7.0 +VTS,1,6,240,0.93,CSH,5.0 +VTS,1,3,900,5.71,CSH,19.5 +VTS,1,3,2160,9.78,CRD,34.5 +VTS,1,3,420,1.32,CSH,7.0 +VTS,1,3,780,2.37,CRD,11.0 +VTS,1,3,660,0.98,CSH,8.5 +VTS,1,3,600,1.76,CRD,8.5 +VTS,1,2,840,5.12,CRD,16.5 +VTS,1,1,120,0.76,CSH,4.0 +VTS,1,1,1080,1.81,CRD,11.0 +VTS,1,1,1080,6.06,CSH,20.5 +VTS,1,1,900,8.06,CRD,23.5 +VTS,1,2,240,1.01,CSH,5.5 +VTS,1,1,600,2.56,CRD,10.0 +VTS,1,1,1140,6.55,CRD,21.0 +VTS,1,2,840,1.92,CRD,10.5 +VTS,1,1,720,3.85,CSH,13.0 +VTS,1,1,540,2.93,CRD,10.5 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,2,1080,4.26,CSH,16.0 +VTS,1,1,720,5.4,CRD,16.5 +VTS,1,2,900,4.19,CRD,15.5 +VTS,1,2,1080,4.21,CSH,16.5 +VTS,1,2,240,1.78,CRD,7.0 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,2,900,3.75,CSH,13.5 +VTS,1,2,480,1.48,CRD,7.0 +VTS,1,1,360,1.0,CSH,6.0 +VTS,1,2,540,3.4,CRD,12.0 +VTS,1,1,600,1.83,CRD,8.5 +VTS,1,1,360,1.0,CRD,6.0 +VTS,1,1,480,0.69,CRD,6.0 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,780,3.11,CRD,12.0 +VTS,1,1,480,2.21,CRD,9.0 +VTS,1,1,300,1.66,CRD,7.0 +VTS,1,1,1080,7.02,CSH,22.5 +VTS,1,1,360,1.47,CRD,7.0 +VTS,1,1,480,1.94,CRD,8.5 +VTS,1,1,1320,9.48,CSH,30.0 +VTS,1,1,360,0.77,CRD,5.5 +VTS,1,1,420,1.16,CSH,6.5 +VTS,1,1,360,1.06,CSH,6.0 +VTS,1,1,480,1.16,CRD,7.0 +VTS,1,2,180,0.42,CSH,4.5 +VTS,1,1,360,1.63,CSH,7.0 +VTS,1,1,300,0.76,CSH,5.0 +VTS,1,1,960,6.22,CRD,20.0 +VTS,1,1,180,0.42,CSH,3.5 +VTS,1,1,780,0.9,CRD,8.0 +VTS,1,1,600,2.76,CRD,9.5 +VTS,1,1,720,4.45,CRD,14.0 +VTS,1,2,840,3.35,CSH,13.0 +VTS,1,1,60,0.0,CSH,3.0 +VTS,1,1,240,0.02,CSH,4.5 +VTS,1,1,420,0.4,CRD,6.0 +VTS,1,1,420,1.34,CRD,7.0 +VTS,1,1,180,0.98,CRD,5.0 +VTS,1,6,240,1.23,CRD,6.0 +VTS,1,2,300,1.2,CRD,6.0 +VTS,1,2,60,0.33,CRD,3.0 +VTS,1,1,1200,8.42,CRD,25.0 +VTS,1,1,480,0.01,CSH,5.5 +VTS,1,1,600,3.17,CRD,11.5 +VTS,1,6,60,0.46,CSH,3.5 +VTS,1,6,540,1.05,CRD,7.5 +VTS,1,6,480,1.96,CRD,8.5 +VTS,1,6,840,2.61,CSH,11.5 +VTS,1,1,420,2.59,CSH,9.5 +VTS,1,1,240,1.02,CSH,5.5 +VTS,2,1,0,0.12,CSH,52.0 +VTS,1,1,540,1.8,CRD,8.5 +VTS,1,1,240,1.14,CSH,5.5 +VTS,1,1,1080,5.81,CRD,19.0 +VTS,1,1,1020,5.67,CSH,19.5 +VTS,1,6,120,0.96,CSH,5.0 +VTS,1,6,900,2.93,CRD,13.5 +VTS,1,6,240,0.32,CSH,4.0 +VTS,4,3,600,2.1,CSH,10.5 +VTS,1,3,120,1.06,CRD,5.0 +VTS,1,3,360,0.52,CSH,5.5 +VTS,1,3,480,1.6,CRD,7.5 +VTS,1,3,660,2.2,CSH,10.5 +VTS,1,3,240,0.63,CSH,4.5 +CMT,1,1,160,0.3,CSH,3.5 +CMT,1,1,394,1.5,CSH,7.5 +VTS,1,1,180,0.72,CSH,5.0 +VTS,1,2,360,0.75,CSH,5.5 +VTS,1,1,780,4.01,CRD,14.0 +VTS,1,1,360,0.02,CSH,5.0 +VTS,1,6,1200,2.91,CRD,15.0 +VTS,1,6,120,0.53,CSH,3.5 +VTS,1,6,420,1.59,CSH,8.0 +VTS,1,6,900,2.46,CRD,12.5 +VTS,1,6,660,2.85,CRD,11.5 +VTS,1,6,360,1.35,CSH,6.0 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,2,660,7.96,CRD,22.5 +VTS,1,1,420,1.38,CSH,7.0 +VTS,1,1,960,5.36,CRD,18.5 +VTS,1,1,120,0.72,CRD,4.0 +VTS,1,1,420,1.23,CSH,7.0 +VTS,1,1,480,3.32,CRD,11.0 +VTS,1,1,1080,8.9,CRD,26.5 +VTS,1,6,120,0.39,CSH,3.5 +VTS,1,6,420,1.53,CRD,8.0 +VTS,1,6,360,1.1,CSH,6.5 +VTS,1,6,240,1.04,CRD,5.5 +VTS,1,3,300,0.52,CSH,5.0 +VTS,1,3,660,1.66,CRD,9.5 +VTS,1,3,720,2.86,CRD,11.5 +VTS,1,3,300,0.65,CSH,5.0 +CMT,1,2,649,3.5,CRD,13.0 +VTS,1,1,840,1.4,CRD,10.0 +VTS,1,2,480,1.41,CRD,7.5 +VTS,1,1,300,1.16,CSH,6.0 +VTS,1,1,300,1.37,CSH,6.5 +VTS,1,1,720,2.71,CRD,11.0 +VTS,1,2,900,2.51,CSH,11.5 +VTS,1,2,480,1.45,CSH,7.0 +VTS,1,1,540,1.21,CSH,8.0 +VTS,1,1,480,1.4,CSH,8.0 +VTS,1,1,420,1.32,CSH,7.0 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,660,1.66,CRD,9.0 +VTS,1,1,840,8.99,CSH,25.5 +VTS,1,1,300,0.03,CSH,4.5 +VTS,1,1,840,0.7,CRD,10.0 +VTS,1,6,840,3.48,CSH,14.0 +VTS,1,1,240,0.83,CRD,5.5 +VTS,1,1,600,2.61,CRD,10.5 +VTS,1,1,600,2.86,CSH,11.0 +VTS,1,1,540,3.25,CSH,11.5 +VTS,1,2,1080,11.17,CSH,32.0 +VTS,1,1,360,1.93,CRD,7.5 +VTS,1,1,600,3.07,CRD,11.5 +VTS,3,2,1500,17.47,CSH,64.0 +VTS,1,1,360,2.24,CRD,8.0 +VTS,1,1,360,2.62,CRD,9.0 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,2,240,1.0,CSH,5.5 +VTS,1,2,240,0.9,CSH,5.5 +VTS,1,6,720,2.12,CSH,10.5 +VTS,2,2,1440,17.93,CRD,52.0 +VTS,1,1,120,0.44,CSH,4.0 +VTS,1,1,660,3.17,CSH,12.0 +VTS,1,1,540,2.19,CSH,9.0 +VTS,1,1,540,0.88,CSH,7.0 +VTS,1,1,540,2.33,CRD,10.5 +VTS,1,1,960,5.65,CSH,19.5 +VTS,1,1,1620,9.4,CRD,30.0 +VTS,1,6,720,4.12,CRD,14.0 +VTS,1,6,60,0.47,CSH,3.5 +VTS,1,5,420,1.44,CSH,7.5 +VTS,1,3,480,2.4,CSH,9.5 +VTS,1,3,780,1.63,CSH,9.5 +VTS,1,3,420,1.28,CRD,7.5 +VTS,1,3,780,1.94,CRD,10.5 +CMT,1,1,2142,11.2,CRD,36.0 +CMT,1,1,194,0.9,CSH,5.0 +CMT,1,2,1298,6.0,CSH,21.5 +CMT,1,4,1088,3.7,CRD,15.0 +CMT,1,1,458,1.4,CRD,7.5 +CMT,1,1,1180,9.2,CRD,27.5 +CMT,1,1,548,1.9,CRD,9.0 +VTS,1,3,1440,2.64,CSH,16.0 +CMT,1,1,1368,10.8,CSH,31.5 +CMT,1,1,498,1.6,CSH,8.0 +CMT,1,1,893,5.2,CSH,17.5 +CMT,1,2,267,0.9,CRD,5.5 +CMT,1,1,143,0.8,CSH,4.5 +CMT,1,1,101,0.3,CSH,3.5 +CMT,1,1,2495,8.6,CRD,26.5 +CMT,1,1,216,0.3,CRD,4.0 +CMT,1,1,426,1.5,CSH,7.0 +CMT,1,1,763,2.4,CSH,11.0 +CMT,1,1,565,1.5,CSH,8.0 +CMT,1,1,749,2.0,CSH,10.5 +CMT,1,1,1419,4.5,CRD,18.5 +CMT,1,1,142,0.9,CSH,4.5 +CMT,1,1,975,1.5,CSH,11.5 +CMT,1,1,238,0.9,CSH,5.0 +CMT,1,1,951,4.5,CSH,16.0 +CMT,1,1,1198,2.1,CRD,14.0 +CMT,1,1,435,1.4,CSH,7.0 +CMT,1,1,1077,3.0,CSH,14.0 +CMT,1,1,641,3.3,CSH,12.0 +CMT,1,1,300,1.6,CRD,7.0 +CMT,1,1,886,2.6,CRD,12.0 +CMT,1,1,380,1.1,CSH,6.5 +CMT,1,1,211,0.6,CSH,4.5 +VTS,1,6,540,2.15,CRD,9.5 +VTS,1,6,540,1.4,CSH,7.5 +VTS,1,6,600,1.98,CSH,9.5 +VTS,1,1,420,1.88,CRD,8.0 +VTS,1,2,360,1.85,CSH,7.5 +VTS,1,1,540,0.95,CSH,7.0 +VTS,1,1,960,5.36,CRD,17.0 +VTS,1,1,540,3.76,CSH,12.5 +VTS,1,6,540,3.32,CRD,11.5 +VTS,1,5,480,2.91,CSH,10.5 +VTS,1,6,720,5.82,CRD,18.5 +VTS,1,6,300,1.0,CSH,6.0 +VTS,1,6,660,4.93,CRD,16.0 +VTS,1,3,960,3.16,CSH,14.0 +VTS,1,3,1440,3.97,CSH,18.5 +VTS,1,3,600,1.92,CSH,9.0 +CMT,1,2,923,2.7,CSH,12.5 +CMT,1,1,446,2.8,CRD,10.0 +CMT,1,1,664,4.3,CRD,14.0 +CMT,1,2,206,0.4,CSH,4.5 +CMT,1,1,1137,4.4,CRD,16.0 +CMT,1,1,777,2.8,CRD,11.5 +CMT,1,1,518,1.9,CSH,8.5 +CMT,1,1,419,1.2,CSH,7.0 +CMT,1,1,172,1.1,CSH,5.0 +CMT,1,1,391,1.0,CSH,6.5 +CMT,1,1,622,3.7,CRD,13.5 +CMT,1,1,420,1.7,CSH,7.5 +CMT,1,1,847,3.1,CSH,12.5 +CMT,1,1,571,2.0,CRD,9.0 +CMT,1,1,813,1.3,CSH,10.0 +CMT,1,1,537,2.1,CSH,9.5 +CMT,1,1,647,1.9,CRD,9.5 +CMT,1,1,410,1.0,CSH,7.0 +CMT,1,1,312,1.1,CRD,6.5 +CMT,1,1,394,1.4,CSH,7.0 +CMT,1,1,390,1.8,CRD,7.5 +CMT,1,1,1334,4.1,CSH,17.0 +CMT,1,1,646,1.5,CSH,8.5 +CMT,1,1,1463,5.6,CSH,21.0 +CMT,1,1,852,3.0,CSH,12.5 +CMT,1,1,488,0.8,CSH,7.0 +CMT,1,1,533,1.1,CSH,7.5 +CMT,1,1,740,1.9,CSH,10.0 +CMT,1,1,627,1.5,CSH,9.0 +CMT,1,1,909,2.4,CRD,12.5 +CMT,1,1,834,2.1,CRD,11.5 +CMT,1,1,592,1.1,CRD,8.0 +CMT,1,1,552,1.0,CSH,7.5 +CMT,1,1,763,2.9,CRD,12.0 +CMT,1,1,283,1.8,CRD,7.0 +CMT,1,1,332,0.8,CRD,5.5 +CMT,1,1,1815,4.3,CRD,21.0 +CMT,1,1,563,1.9,CRD,9.0 +CMT,1,1,921,3.1,CSH,12.5 +CMT,1,1,277,0.7,CSH,5.0 +CMT,1,1,273,1.2,CRD,6.0 +CMT,1,1,399,1.1,CSH,6.5 +CMT,1,1,893,3.2,CRD,13.0 +CMT,1,1,207,0.8,CSH,5.0 +CMT,1,1,415,1.1,CRD,6.5 +CMT,1,1,376,1.2,CRD,6.5 +CMT,1,1,252,1.0,CSH,5.5 +CMT,1,1,2193,7.7,CRD,28.5 +CMT,1,1,409,1.2,CRD,6.5 +CMT,1,1,929,1.4,CRD,11.0 +CMT,1,1,612,1.7,CRD,9.0 +CMT,1,1,480,1.3,CSH,8.0 +CMT,1,1,181,0.5,CRD,4.5 +CMT,1,1,192,0.5,CRD,4.0 +CMT,1,1,399,0.8,CSH,6.0 +CMT,1,1,543,1.2,CSH,7.5 +CMT,1,1,149,0.5,CSH,3.5 +CMT,1,1,1498,3.2,CRD,16.5 +CMT,1,1,1058,3.9,CRD,15.5 +CMT,1,1,451,0.9,CRD,6.5 +CMT,1,1,1178,6.5,CRD,23.0 +CMT,1,1,655,4.0,CRD,14.0 +VTS,1,1,300,1.64,CRD,7.0 +VTS,1,1,840,7.03,CSH,21.5 +VTS,1,6,120,0.54,CSH,4.0 +VTS,1,6,180,1.3,CSH,5.5 +VTS,1,3,480,1.26,CSH,7.5 +VTS,1,3,1140,5.11,CSH,18.0 +VTS,1,3,900,5.19,CRD,17.5 +CMT,1,1,244,0.8,CSH,5.5 +CMT,1,1,1258,10.2,CRD,29.5 +CMT,1,1,192,0.6,CRD,4.5 +CMT,1,2,845,4.4,CRD,15.0 +CMT,1,2,593,3.2,CSH,11.5 +CMT,1,1,318,1.4,CSH,6.5 +CMT,1,1,411,1.2,CSH,6.5 +CMT,1,1,910,1.0,CRD,10.5 +CMT,1,1,720,1.9,CRD,9.5 +CMT,1,1,746,1.7,CRD,10.0 +CMT,1,1,1073,2.9,CSH,13.5 +CMT,1,1,420,1.4,CSH,7.5 +CMT,1,1,668,1.7,CSH,9.5 +CMT,1,1,936,2.6,CRD,12.0 +CMT,1,1,216,0.8,CRD,5.0 +CMT,1,1,677,0.7,CRD,8.0 +CMT,1,1,401,1.8,CRD,7.5 +CMT,1,1,355,1.1,CRD,6.5 +CMT,1,1,788,2.1,CSH,10.5 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,2,600,1.9,CRD,9.5 +VTS,1,1,780,3.34,CSH,12.5 +VTS,1,1,900,7.91,CSH,23.5 +VTS,1,1,840,8.73,CRD,24.5 +VTS,1,1,720,1.42,CSH,9.0 +VTS,1,1,1020,0.57,CSH,11.0 +VTS,1,2,600,2.94,CRD,11.5 +VTS,1,1,900,4.52,CRD,16.5 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,2,240,1.39,CSH,6.0 +VTS,1,1,480,2.0,CSH,8.5 +VTS,1,1,420,1.15,CRD,6.0 +VTS,1,1,180,0.52,CSH,4.0 +VTS,1,1,180,0.49,CRD,4.0 +VTS,1,1,1620,6.65,CRD,25.0 +VTS,1,1,1260,6.63,CSH,22.0 +VTS,1,1,300,0.85,CRD,5.5 +VTS,1,1,480,1.83,CRD,7.5 +VTS,1,1,720,1.86,CRD,9.0 +VTS,1,1,1140,4.22,CSH,16.5 +VTS,1,1,540,2.01,CRD,9.0 +VTS,1,1,540,1.42,CRD,8.0 +VTS,1,1,780,3.52,CSH,12.5 +VTS,1,1,420,1.91,CRD,7.5 +VTS,1,1,420,1.54,CRD,7.5 +VTS,1,1,540,1.46,CRD,8.0 +VTS,1,1,1080,3.8,CRD,14.5 +VTS,1,1,840,4.23,CRD,14.5 +VTS,1,1,660,5.15,CRD,15.0 +VTS,1,2,240,0.81,CRD,5.0 +VTS,1,1,360,0.89,CSH,6.0 +VTS,1,1,900,2.85,CSH,12.5 +VTS,1,2,360,1.14,CRD,6.0 +VTS,1,2,540,1.28,CRD,7.5 +VTS,1,1,720,2.42,CRD,10.5 +VTS,1,2,840,3.33,CRD,14.0 +VTS,1,1,900,2.66,CSH,12.5 +VTS,1,2,780,0.03,CRD,8.5 +VTS,1,1,720,0.48,CRD,8.5 +VTS,1,6,840,2.58,CRD,11.5 +VTS,1,1,720,1.52,CSH,9.0 +VTS,1,6,1320,4.05,CRD,17.5 +VTS,1,1,600,1.56,CSH,8.5 +VTS,1,6,420,1.81,CSH,7.5 +VTS,1,1,660,3.38,CRD,12.0 +VTS,1,2,420,2.44,CSH,9.0 +VTS,1,1,960,3.46,CSH,13.0 +VTS,1,2,840,6.05,CRD,19.5 +VTS,1,1,120,0.38,CRD,3.0 +VTS,1,1,300,1.38,CSH,6.5 +VTS,1,1,960,5.04,CRD,18.0 +CMT,1,1,265,1.8,CSH,7.0 +CMT,1,1,593,3.2,CRD,11.5 +CMT,1,1,243,0.9,CSH,5.5 +CMT,1,3,426,0.5,CSH,6.0 +CMT,1,1,767,3.3,CSH,12.5 +CMT,1,2,258,1.1,CSH,5.5 +CMT,1,1,754,4.0,CRD,14.0 +CMT,1,1,778,3.1,CSH,12.5 +CMT,1,1,1157,9.2,CRD,27.5 +CMT,1,1,1254,7.5,CRD,24.0 +CMT,1,1,480,2.3,CSH,9.0 +CMT,1,1,887,2.2,CSH,11.5 +CMT,1,1,411,1.2,CRD,7.0 +CMT,1,1,415,1.0,CSH,6.5 +CMT,1,1,2008,14.1,CSH,2.5 +CMT,1,1,1028,2.8,CSH,13.0 +CMT,1,1,324,0.7,CSH,5.5 +CMT,1,1,972,2.2,CRD,12.0 +CMT,1,1,696,1.5,CRD,9.5 +CMT,1,1,919,2.5,CSH,11.5 +CMT,1,1,325,1.2,CSH,6.5 +CMT,1,1,612,2.3,CRD,10.0 +CMT,1,1,991,2.8,CRD,13.0 +CMT,2,1,2380,22.1,CRD,52.0 +CMT,1,1,787,4.0,CRD,14.5 +CMT,1,1,607,2.9,CRD,11.5 +CMT,1,1,477,2.3,CRD,9.5 +CMT,1,1,419,2.1,CSH,9.0 +CMT,1,1,394,1.0,CRD,6.5 +CMT,1,1,659,1.7,CRD,9.0 +CMT,1,2,230,0.8,CRD,5.0 +CMT,1,1,842,4.0,CRD,15.0 +CMT,1,1,440,1.9,CSH,8.5 +CMT,1,1,1023,7.5,CSH,22.5 +CMT,1,1,1409,4.4,CSH,19.5 +CMT,1,1,400,1.0,CSH,6.5 +CMT,1,1,2069,3.8,CSH,21.0 +CMT,1,1,609,1.2,CSH,8.0 +CMT,1,1,753,1.9,CRD,10.5 +CMT,1,1,1739,8.8,CRD,29.5 +CMT,1,1,547,2.1,CRD,9.0 +CMT,1,1,391,0.8,CSH,6.0 +CMT,1,1,176,0.6,CSH,4.5 +CMT,1,1,547,1.0,CSH,7.5 +CMT,1,1,731,3.4,CRD,13.5 +CMT,1,1,2464,6.5,CRD,29.0 +CMT,1,1,1328,3.7,CRD,16.5 +CMT,1,1,867,2.0,CRD,11.0 +CMT,1,1,290,0.7,CRD,5.0 +CMT,1,1,708,1.5,CSH,9.5 +CMT,1,1,633,1.9,CSH,9.5 +CMT,1,1,241,0.5,CSH,4.5 +CMT,1,1,888,4.5,CRD,15.5 +CMT,1,1,1252,3.6,CRD,15.5 +CMT,1,1,1308,2.4,CSH,14.5 +CMT,1,1,780,1.6,CRD,9.5 +CMT,1,1,487,1.2,CSH,7.5 +CMT,1,1,387,1.0,CSH,6.0 +CMT,1,1,365,0.7,CSH,6.0 +CMT,1,1,805,2.0,CSH,10.0 +CMT,1,1,652,0.7,CSH,8.0 +CMT,1,1,412,1.5,CSH,7.0 +CMT,1,1,1452,3.6,CSH,18.0 +CMT,1,1,590,2.1,CRD,9.0 +CMT,1,1,200,0.8,CSH,5.0 +CMT,1,1,470,1.8,CSH,8.5 +CMT,1,1,1397,3.7,CSH,17.0 +CMT,1,1,1060,1.5,CRD,11.5 +CMT,1,1,531,0.9,CRD,7.5 +CMT,1,1,267,1.0,CRD,5.5 +CMT,1,1,288,0.7,CRD,5.5 +CMT,1,1,719,0.8,CRD,8.5 +CMT,1,1,259,0.9,CRD,5.5 +CMT,1,1,462,1.6,CRD,7.5 +CMT,1,1,1373,4.1,CSH,18.5 +CMT,1,1,161,0.5,CRD,4.0 +CMT,1,1,861,2.1,CSH,11.5 +CMT,1,1,1291,3.4,CSH,16.0 +CMT,1,1,927,9.5,CSH,27.5 +CMT,1,1,578,1.9,CRD,9.0 +CMT,1,1,680,2.1,CRD,10.0 +CMT,1,1,782,2.0,CRD,10.5 +CMT,1,1,295,1.5,CSH,6.5 +CMT,1,1,912,4.2,CSH,15.0 +CMT,1,1,436,1.3,CSH,7.5 +CMT,1,1,871,1.9,CSH,11.5 +CMT,1,1,270,0.8,CSH,5.0 +CMT,1,1,367,0.9,CRD,6.0 +CMT,1,1,479,1.0,CRD,7.0 +CMT,1,1,815,4.0,CRD,13.5 +CMT,1,1,595,1.1,CSH,8.0 +CMT,1,1,311,1.3,CSH,6.5 +CMT,1,1,957,1.2,CSH,11.0 +CMT,1,1,807,1.6,CSH,10.0 +CMT,1,1,350,0.8,CSH,6.0 +CMT,1,1,1689,2.0,CRD,17.5 +CMT,1,1,530,1.7,CRD,9.0 +CMT,1,1,431,1.5,CRD,7.0 +CMT,1,1,523,1.8,CSH,8.5 +CMT,1,1,693,1.8,CSH,9.5 +CMT,1,1,518,1.7,CSH,8.5 +CMT,1,1,405,1.3,CSH,7.0 +CMT,1,1,360,0.9,CSH,6.0 +CMT,1,1,539,1.6,CRD,8.0 +CMT,1,1,1622,2.0,CRD,17.0 +CMT,1,1,876,2.0,CSH,11.0 +CMT,1,1,381,1.4,CRD,7.0 +CMT,1,1,1042,3.2,CRD,14.0 +CMT,1,1,1267,2.0,CSH,13.5 +CMT,1,1,438,0.9,CRD,6.5 +CMT,1,1,669,1.9,CRD,10.0 +CMT,1,1,1031,3.0,CRD,14.0 +CMT,1,1,291,1.1,CSH,6.0 +CMT,1,1,455,1.2,CSH,7.0 +CMT,1,1,1039,1.4,CSH,11.5 +CMT,1,1,1370,9.8,CRD,30.0 +CMT,1,1,304,0.4,CRD,5.0 +CMT,1,1,698,1.7,CRD,9.5 +CMT,1,1,603,1.4,CSH,8.5 +CMT,1,1,688,1.7,CSH,9.5 +CMT,1,1,336,1.7,CRD,7.5 +CMT,1,1,514,0.6,CSH,7.0 +CMT,1,1,493,2.0,CSH,8.5 +CMT,1,1,642,1.8,CRD,9.0 +CMT,1,1,1347,4.0,CRD,17.0 +CMT,1,1,825,2.6,CSH,11.5 +CMT,1,1,192,0.5,CSH,4.0 +CMT,1,1,860,3.0,CSH,13.5 +CMT,1,1,228,0.6,CRD,5.0 +CMT,1,1,233,0.9,CSH,5.0 +CMT,1,1,912,2.2,CSH,11.5 +CMT,1,1,2051,3.3,CRD,22.5 +CMT,1,1,351,1.0,CSH,6.0 +CMT,1,1,311,0.8,CSH,5.5 +CMT,1,1,500,1.8,CSH,8.5 +CMT,1,1,1083,4.5,CRD,17.5 +CMT,1,1,630,1.3,CRD,8.5 +CMT,1,1,239,0.6,CSH,4.5 +CMT,1,1,401,1.5,CSH,7.0 +CMT,1,1,281,0.7,CRD,5.0 +CMT,1,1,798,2.6,CRD,11.5 +CMT,1,1,411,0.8,CRD,6.5 +CMT,1,1,447,1.7,CRD,7.5 +CMT,1,1,572,1.4,CRD,8.0 +CMT,1,1,466,1.0,CSH,7.0 +CMT,1,1,838,2.9,CSH,12.5 +CMT,1,1,689,2.5,CSH,10.5 +CMT,1,1,1493,6.2,CRD,23.0 +CMT,1,1,361,1.0,CRD,6.0 +CMT,1,1,837,2.2,CSH,11.5 +CMT,1,1,353,0.8,CSH,6.0 +CMT,1,1,1347,4.8,CRD,20.0 +CMT,1,1,130,0.3,CSH,3.5 +CMT,1,1,1925,6.9,CRD,27.5 +CMT,1,1,1025,1.5,CRD,12.0 +CMT,1,1,921,1.5,CSH,10.5 +VTS,1,1,660,2.03,CSH,9.0 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,660,2.5,CRD,11.0 +VTS,1,2,1020,1.93,CRD,12.5 +VTS,1,1,1020,7.58,CRD,23.0 +VTS,1,1,720,4.48,CRD,14.5 +VTS,1,2,1260,6.66,CRD,23.0 +VTS,1,1,960,3.16,CRD,12.5 +VTS,1,1,240,1.36,CSH,6.0 +VTS,1,1,180,0.0,CSH,3.5 +VTS,1,1,1080,0.0,CRD,9.5 +VTS,1,1,300,1.39,CRD,6.5 +VTS,1,1,360,2.31,CRD,9.0 +VTS,1,1,240,1.06,CSH,5.0 +VTS,1,1,360,1.38,CSH,7.0 +VTS,1,2,900,4.85,CRD,16.0 +VTS,1,1,360,0.65,CSH,5.0 +VTS,1,1,360,1.23,CSH,6.5 +VTS,1,6,840,3.12,CRD,13.0 +VTS,1,3,300,1.01,CRD,6.0 +VTS,1,3,900,3.33,CRD,13.5 +VTS,1,3,1020,2.72,CSH,14.0 +VTS,1,3,600,1.46,CSH,8.5 +CMT,1,1,844,5.8,CSH,18.5 +CMT,1,2,734,2.4,CSH,10.5 +CMT,1,2,238,0.5,CSH,4.5 +CMT,1,1,406,1.3,CRD,7.0 +CMT,1,1,1039,1.3,CSH,11.5 +CMT,1,1,1785,7.6,CSH,26.5 +CMT,1,1,1642,5.0,CRD,20.0 +CMT,1,1,1318,4.1,CSH,17.5 +CMT,1,1,675,1.6,CSH,9.0 +CMT,1,1,399,1.0,CSH,6.5 +CMT,1,1,647,1.0,CSH,8.0 +CMT,1,1,205,1.3,CSH,5.5 +CMT,1,1,522,1.6,CRD,8.5 +CMT,1,1,741,2.0,CRD,10.5 +CMT,1,1,493,1.8,CRD,8.5 +CMT,1,1,379,1.2,CSH,7.0 +CMT,1,1,350,1.2,CSH,6.5 +CMT,1,1,386,0.6,CSH,5.5 +CMT,1,1,1834,3.4,CSH,19.5 +CMT,1,1,1014,2.8,CSH,13.0 +CMT,1,1,329,0.7,CSH,5.5 +CMT,1,1,697,2.2,CRD,10.5 +CMT,1,1,373,1.0,CRD,6.0 +CMT,1,1,310,0.9,CRD,5.5 +CMT,1,1,373,1.0,CSH,6.0 +CMT,1,1,2496,4.0,CRD,26.5 +CMT,1,1,781,0.7,CRD,9.0 +CMT,1,1,187,0.5,CSH,4.0 +CMT,1,1,660,1.0,CSH,8.0 +CMT,1,1,480,1.8,CSH,8.0 +CMT,1,1,394,0.7,CSH,6.0 +CMT,1,1,973,2.3,CRD,12.0 +CMT,1,1,687,1.7,CSH,9.0 +CMT,1,1,1305,2.7,CRD,14.5 +CMT,1,1,1471,3.0,CRD,17.0 +CMT,1,1,354,1.1,CRD,6.5 +CMT,1,1,362,2.7,CRD,10.5 +CMT,1,1,273,0.9,CSH,5.5 +CMT,1,1,574,0.8,CSH,7.5 +CMT,1,1,895,2.7,CRD,12.5 +CMT,1,1,2377,3.7,CSH,25.0 +CMT,1,1,1584,4.9,CSH,21.0 +CMT,1,1,358,0.8,CSH,5.5 +CMT,1,1,617,2.6,CRD,10.0 +CMT,1,1,295,0.6,CRD,5.0 +CMT,1,1,563,1.4,CRD,8.0 +CMT,1,1,436,0.9,CSH,6.5 +CMT,3,1,2135,17.8,CRD,68.5 +CMT,1,1,776,2.8,CRD,11.5 +CMT,1,1,473,0.4,CSH,6.5 +CMT,1,1,369,1.2,CSH,6.5 +CMT,1,1,270,0.6,CSH,5.0 +CMT,1,1,777,2.5,CRD,11.0 +CMT,1,1,439,0.8,CSH,6.5 +CMT,1,1,554,2.1,CSH,9.5 +CMT,1,1,382,1.2,CSH,7.0 +CMT,1,1,1270,5.9,CRD,20.5 +CMT,1,1,282,2.3,CSH,8.0 +CMT,1,1,384,1.0,CSH,6.0 +CMT,1,1,222,0.7,CSH,5.0 +CMT,1,1,337,0.8,CSH,5.5 +CMT,1,1,294,1.0,CSH,6.0 +CMT,1,1,534,0.7,CRD,7.0 +CMT,1,1,123,0.3,CSH,3.5 +CMT,1,1,501,0.8,CRD,7.0 +CMT,1,1,627,2.3,CRD,10.0 +CMT,1,1,219,0.5,CSH,4.5 +CMT,1,1,790,2.7,CSH,11.5 +CMT,1,1,272,0.8,CSH,5.5 +CMT,1,1,615,1.3,CRD,8.5 +CMT,1,1,452,1.2,CRD,7.0 +CMT,1,1,444,1.4,CRD,8.0 +CMT,1,1,388,0.9,CSH,6.5 +CMT,1,1,834,3.2,CRD,13.5 +CMT,1,1,71,0.4,CSH,3.5 +CMT,1,1,924,1.7,CRD,11.0 +CMT,1,1,1346,4.0,CRD,18.0 +CMT,1,1,241,0.8,CSH,5.0 +CMT,1,1,820,3.0,CSH,12.0 +CMT,1,1,702,4.2,CRD,14.0 +CMT,1,1,581,1.9,CSH,9.0 +VTS,1,1,600,1.42,CRD,8.5 +VTS,1,1,360,2.15,CRD,8.0 +VTS,1,6,480,2.38,CRD,9.5 +VTS,1,6,780,5.26,CSH,16.5 +VTS,1,6,180,0.81,CRD,5.0 +VTS,1,3,240,1.04,CRD,5.5 +VTS,1,3,240,1.23,CSH,6.0 +VTS,1,3,1140,6.45,CSH,21.5 +CMT,1,1,366,1.2,CSH,7.0 +CMT,1,1,213,0.7,CSH,5.0 +CMT,1,1,160,0.9,CSH,5.0 +CMT,1,2,429,1.0,CSH,6.5 +CMT,1,1,254,1.2,CRD,5.5 +CMT,1,1,397,1.7,CRD,7.5 +CMT,1,1,641,2.0,CRD,10.0 +CMT,1,1,477,2.1,CRD,8.5 +CMT,1,1,355,1.2,CRD,6.5 +CMT,1,1,482,1.5,CSH,8.0 +CMT,1,1,1488,7.3,CSH,25.5 +CMT,1,1,195,0.5,CSH,4.5 +CMT,1,1,466,1.6,CSH,7.5 +CMT,1,1,490,1.6,CRD,8.0 +CMT,1,1,872,3.1,CSH,12.5 +CMT,1,1,612,1.7,CRD,9.0 +CMT,1,1,228,0.6,CRD,4.5 +CMT,1,1,741,1.4,CSH,9.5 +CMT,1,1,391,0.6,CSH,5.5 +CMT,1,1,512,1.6,CSH,8.0 +CMT,1,1,816,1.7,CRD,10.5 +CMT,1,1,1017,3.3,CSH,14.0 +CMT,1,1,128,0.5,CRD,4.0 +CMT,1,1,2148,4.7,CSH,23.5 +CMT,1,1,866,1.5,CSH,10.5 +CMT,1,1,213,0.7,CRD,5.0 +CMT,1,1,248,0.4,CSH,4.5 +CMT,1,1,518,1.0,CSH,7.0 +CMT,1,1,1122,2.3,CSH,13.5 +CMT,1,1,1519,2.1,CSH,15.5 +CMT,1,1,1291,3.5,CSH,16.0 +CMT,1,1,582,0.9,CRD,7.5 +CMT,1,1,459,1.2,CRD,7.0 +CMT,1,1,1642,3.8,CSH,19.0 +CMT,1,1,661,1.6,CSH,9.0 +CMT,1,1,521,0.7,CSH,7.0 +CMT,1,1,906,2.9,CRD,12.5 +CMT,1,1,662,2.1,CRD,9.5 +CMT,1,1,469,0.9,CRD,6.5 +CMT,1,1,622,0.9,CSH,8.0 +CMT,1,1,1709,3.8,CRD,19.0 +CMT,1,1,1048,2.7,CSH,12.5 +CMT,1,1,589,1.1,CSH,8.0 +CMT,1,1,751,3.0,CSH,11.5 +CMT,1,1,629,6.0,CRD,18.5 +CMT,1,1,652,1.4,CSH,8.5 +CMT,1,1,1177,4.7,CRD,19.0 +CMT,1,1,332,1.2,CSH,6.5 +CMT,1,1,1174,2.3,CSH,13.5 +CMT,1,1,816,2.4,CRD,11.0 +CMT,1,1,373,1.1,CRD,6.5 +CMT,1,1,383,0.9,CRD,6.0 +CMT,1,1,385,1.6,CSH,7.0 +CMT,1,1,404,1.3,CRD,7.0 +CMT,1,1,464,2.3,CSH,9.0 +CMT,1,1,585,2.8,CRD,11.0 +CMT,1,1,660,2.0,CSH,10.0 +CMT,1,1,1385,3.5,CRD,17.0 +CMT,1,1,258,0.4,CRD,4.5 +CMT,1,1,440,1.3,CRD,7.0 +CMT,1,1,712,1.5,CSH,9.5 +CMT,1,1,573,1.2,CSH,8.0 +CMT,1,1,414,0.6,CRD,6.0 +CMT,1,1,1716,3.6,CSH,19.0 +CMT,1,1,2210,5.6,CSH,26.5 +CMT,1,1,534,1.3,CSH,8.0 +CMT,1,1,1328,4.5,CSH,18.5 +CMT,1,1,765,2.1,CSH,10.5 +CMT,1,1,645,1.1,CRD,8.0 +CMT,1,1,1056,2.9,CSH,13.5 +CMT,1,1,209,0.6,CSH,4.5 +CMT,1,1,592,1.7,CRD,9.0 +CMT,1,1,715,3.1,CSH,12.0 +CMT,1,1,646,1.6,CSH,9.0 +CMT,1,1,1698,3.5,CRD,19.5 +CMT,1,1,746,1.0,CSH,9.0 +CMT,1,1,548,2.4,CSH,10.0 +CMT,1,1,247,0.8,CRD,5.0 +CMT,1,1,326,0.8,CRD,6.0 +CMT,1,1,1696,4.3,CSH,19.5 +CMT,1,1,680,1.1,CSH,8.5 +CMT,1,1,170,0.6,CRD,4.0 +CMT,1,1,751,0.8,CSH,8.5 +CMT,1,1,569,1.5,CRD,8.0 +CMT,1,1,630,1.0,CSH,8.0 +CMT,1,1,863,1.6,CSH,10.5 +CMT,1,1,961,3.1,CSH,13.0 +CMT,1,1,442,1.3,CSH,7.5 +CMT,1,1,1028,3.7,CSH,14.5 +CMT,1,1,501,1.3,CSH,8.0 +CMT,1,1,588,0.8,CRD,7.5 +CMT,1,1,1043,3.3,CRD,14.5 +CMT,1,1,110,0.4,CSH,4.0 +CMT,1,1,1572,5.8,CRD,22.5 +CMT,1,1,890,2.8,CRD,12.5 +CMT,1,1,273,1.2,CSH,6.0 +CMT,1,1,441,1.8,CSH,7.5 +CMT,1,1,266,0.8,CSH,5.0 +CMT,1,1,238,0.5,CRD,4.5 +CMT,1,1,842,0.8,CSH,9.5 +CMT,1,1,899,1.9,CSH,11.0 +CMT,1,1,447,1.3,CSH,7.0 +CMT,1,1,1124,2.0,CSH,13.0 +CMT,1,1,372,0.8,CSH,6.0 +CMT,1,1,784,1.8,CSH,10.0 +CMT,1,1,290,0.8,CSH,5.5 +CMT,1,1,939,2.1,CRD,12.0 +CMT,1,1,294,1.3,CSH,6.0 +CMT,1,1,262,0.7,CRD,5.0 +CMT,1,1,803,3.4,CSH,13.5 +CMT,1,1,613,1.6,CRD,9.0 +CMT,1,1,787,1.6,CRD,9.5 +CMT,1,1,636,1.0,CSH,8.0 +CMT,1,1,308,0.8,CRD,5.5 +CMT,1,1,717,2.8,CSH,12.0 +CMT,1,1,926,7.3,CRD,22.0 +CMT,1,1,548,0.9,CRD,7.0 +CMT,1,1,695,1.4,CSH,9.0 +CMT,1,1,518,0.4,CSH,6.5 +CMT,1,1,1073,1.2,CSH,11.5 +CMT,1,1,1504,4.4,CSH,18.5 +CMT,1,1,291,0.5,CSH,5.0 +CMT,1,1,298,0.7,CRD,5.5 +CMT,1,1,306,0.8,CRD,5.5 +CMT,1,1,307,0.9,CRD,5.5 +CMT,1,1,977,2.7,CRD,12.5 +CMT,1,1,604,1.8,CSH,9.0 +CMT,1,1,805,1.4,CSH,9.5 +CMT,1,1,283,0.3,CSH,4.5 +CMT,1,1,400,0.9,CSH,6.5 +CMT,1,1,1282,4.5,CSH,18.5 +CMT,1,1,2498,6.2,CRD,28.5 +CMT,1,1,213,0.7,CSH,5.0 +CMT,1,1,342,0.8,CSH,5.5 +CMT,1,1,611,3.0,CSH,11.0 +CMT,1,1,478,0.9,CRD,6.5 +CMT,1,1,513,1.3,CRD,7.5 +CMT,1,1,243,0.5,CRD,4.5 +CMT,1,1,722,1.6,CSH,10.0 +CMT,1,1,609,2.1,CSH,10.0 +CMT,1,1,168,0.2,CSH,4.0 +CMT,1,1,551,1.9,CRD,8.5 +CMT,1,1,416,1.1,CRD,6.5 +CMT,1,1,480,1.7,CSH,8.0 +CMT,1,1,590,2.4,CRD,10.5 +CMT,1,1,236,0.8,CSH,5.0 +CMT,1,1,729,1.6,CRD,9.5 +CMT,1,1,335,0.9,CRD,5.5 +CMT,1,1,676,1.3,CRD,8.5 +CMT,1,1,915,1.8,CSH,11.0 +CMT,1,1,422,1.6,CRD,7.5 +CMT,1,1,668,1.9,CSH,10.0 +CMT,1,1,1412,4.8,CSH,19.5 +CMT,1,1,1315,3.4,CSH,16.5 +CMT,1,1,181,0.5,CSH,4.0 +CMT,1,1,665,1.2,CSH,8.5 +CMT,1,1,439,0.8,CSH,6.5 +CMT,1,1,727,1.8,CRD,9.5 +CMT,1,1,149,0.5,CRD,4.0 +CMT,1,1,130,0.2,CSH,3.5 +CMT,1,1,629,1.8,CSH,9.5 +CMT,1,1,734,1.3,CRD,9.0 +CMT,1,1,1637,3.7,CRD,19.5 +CMT,1,1,135,0.8,CSH,4.5 +CMT,1,1,585,1.8,CSH,9.0 +CMT,1,1,431,1.5,CRD,7.0 +CMT,1,1,399,1.4,CSH,7.5 +CMT,1,1,654,1.9,CRD,9.5 +CMT,1,1,666,2.1,CRD,10.0 +CMT,1,1,2098,4.9,CRD,23.5 +CMT,1,1,348,0.9,CRD,6.0 +CMT,1,1,371,0.7,CRD,6.0 +CMT,1,1,6,0.0,NOC,2.5 +CMT,1,1,1045,8.6,CRD,26.0 +CMT,1,1,1144,3.2,CSH,15.0 +CMT,1,1,1006,1.2,CSH,11.0 +CMT,1,1,3211,5.6,CRD,32.5 +CMT,1,1,563,1.4,CSH,8.0 +CMT,1,1,649,1.0,CSH,8.5 +CMT,1,1,230,0.7,CRD,5.0 +CMT,1,1,1218,4.0,CSH,16.5 +CMT,1,2,883,3.6,CSH,14.0 +CMT,1,1,510,2.0,CSH,8.5 +CMT,1,1,881,4.5,CRD,15.5 +CMT,1,1,349,1.1,CRD,6.5 +CMT,1,1,673,2.4,CSH,10.5 +CMT,1,1,457,1.8,CRD,8.0 +CMT,1,1,481,1.6,CSH,8.0 +CMT,1,1,258,0.6,CRD,5.0 +CMT,1,1,116,0.5,CSH,4.0 +CMT,1,1,649,2.4,CRD,10.0 +CMT,1,1,704,3.2,CRD,12.0 +CMT,1,1,426,0.9,CSH,6.5 +CMT,1,1,479,1.2,CRD,7.0 +CMT,1,1,385,0.8,CSH,6.0 +CMT,1,1,561,1.9,CSH,9.0 +CMT,1,1,336,0.9,CSH,6.0 +CMT,1,1,528,2.0,CRD,9.0 +CMT,1,1,1205,3.1,CRD,15.5 +CMT,1,1,416,1.5,CRD,7.5 +CMT,1,1,1014,2.6,CSH,13.0 +CMT,1,1,186,0.8,CSH,4.5 +CMT,1,1,157,0.3,CRD,4.0 +CMT,1,1,406,0.3,CSH,5.5 +CMT,1,1,1021,3.1,CSH,13.5 +CMT,1,1,265,0.8,CSH,5.0 +CMT,1,1,162,0.5,CRD,4.0 +CMT,1,1,861,2.8,CSH,12.5 +CMT,1,1,327,1.0,CRD,5.5 +CMT,1,1,771,3.8,CSH,13.5 +CMT,1,1,607,1.7,CRD,9.0 +CMT,1,1,1266,3.9,CSH,16.5 +CMT,1,1,659,1.6,CRD,9.5 +CMT,1,1,651,2.2,CSH,9.5 +CMT,1,1,735,1.5,CRD,9.5 +CMT,1,1,407,2.1,CSH,8.0 +CMT,1,1,2380,7.4,CRD,30.0 +CMT,1,1,473,1.1,CSH,7.0 +CMT,1,1,252,1.2,CSH,5.5 +CMT,1,1,136,0.6,CSH,4.0 +CMT,1,1,281,1.4,CSH,6.5 +CMT,1,1,1094,5.3,CSH,19.5 +CMT,1,1,647,3.8,CSH,13.0 +CMT,1,1,961,1.5,CSH,11.0 +CMT,1,1,930,2.1,CSH,12.0 +CMT,1,1,210,0.9,CRD,5.0 +CMT,1,1,430,1.7,CRD,8.0 +CMT,1,1,851,2.3,CRD,11.5 +CMT,1,1,642,0.8,CSH,8.0 +CMT,1,1,1089,2.1,CRD,12.5 +CMT,1,1,462,1.3,CRD,7.0 +CMT,1,1,688,1.2,CRD,8.5 +CMT,1,1,356,0.7,CRD,5.5 +CMT,1,1,578,1.1,CRD,7.5 +CMT,1,1,940,3.2,CSH,13.5 +CMT,1,1,890,1.3,CRD,10.5 +CMT,1,1,802,3.0,CSH,13.0 +CMT,1,1,751,2.3,CRD,10.5 +CMT,1,1,504,1.1,CSH,7.5 +CMT,1,1,166,0.5,CSH,4.5 +CMT,1,1,1431,4.2,CSH,18.5 +CMT,1,1,121,0.3,CSH,3.5 +CMT,1,1,567,1.0,CSH,7.5 +CMT,1,1,515,1.2,CRD,7.5 +CMT,1,1,379,1.2,CRD,6.5 +CMT,1,1,1230,10.0,CRD,29.5 +CMT,1,1,232,0.6,CSH,4.5 +CMT,1,1,1,0.0,DIS,2.5 +CMT,1,1,2,0.0,DIS,2.5 +CMT,1,1,246,0.4,CSH,4.5 +CMT,1,1,426,1.2,CSH,7.0 +CMT,1,1,316,0.8,CRD,5.5 +CMT,1,1,442,1.3,CSH,7.5 +CMT,1,1,1162,4.3,CRD,17.0 +CMT,1,1,226,0.8,CSH,5.0 +CMT,1,1,697,1.9,CRD,9.5 +CMT,1,1,433,0.9,CSH,6.5 +CMT,1,1,241,1.1,CSH,5.5 +CMT,1,1,153,0.2,CRD,4.0 +CMT,1,1,336,0.8,CRD,5.5 +CMT,1,1,550,1.1,CRD,7.5 +CMT,1,1,694,2.3,CRD,10.0 +CMT,1,1,2392,4.6,CRD,26.0 +CMT,1,1,566,1.4,CRD,8.0 +CMT,1,1,436,1.0,CRD,6.5 +CMT,1,1,757,1.3,CSH,9.0 +CMT,1,1,130,0.6,CSH,4.0 +CMT,1,1,1027,3.0,CSH,13.5 +CMT,1,1,703,2.9,CRD,11.0 +CMT,1,1,377,1.1,CRD,6.0 +CMT,1,1,143,0.4,CRD,4.0 +CMT,1,1,272,1.0,CSH,5.5 +CMT,1,1,700,2.8,CSH,11.0 +CMT,1,1,529,1.5,CRD,8.5 +CMT,1,1,219,1.0,CSH,5.5 +CMT,1,1,171,0.8,CRD,4.5 +CMT,1,1,833,1.3,CRD,10.0 +CMT,1,1,470,2.5,CRD,9.5 +CMT,1,1,584,1.7,CRD,9.0 +CMT,1,1,1224,5.9,CSH,20.5 +CMT,1,1,392,0.9,CRD,6.0 +CMT,1,1,527,1.4,CRD,8.0 +CMT,1,1,557,1.7,CRD,8.0 +CMT,1,1,714,1.7,CSH,9.5 +CMT,1,1,844,1.4,CRD,10.5 +CMT,1,1,1225,3.1,CRD,15.0 +CMT,1,1,518,0.9,CSH,7.0 +CMT,1,1,258,0.9,CSH,5.5 +CMT,1,1,451,1.4,CSH,7.5 +CMT,1,1,516,1.2,CRD,7.5 +CMT,1,1,316,0.8,CSH,5.5 +CMT,1,1,1457,2.9,CRD,16.5 +CMT,1,1,365,0.5,CSH,5.5 +CMT,1,1,218,0.5,CSH,4.5 +CMT,1,1,719,1.8,CRD,10.0 +CMT,1,1,490,0.7,CSH,6.5 +CMT,1,1,688,2.0,CRD,10.0 +CMT,1,1,878,1.8,CSH,11.0 +CMT,1,1,426,1.3,CSH,7.5 +CMT,1,1,246,0.6,CSH,5.0 +CMT,1,1,842,3.5,CRD,13.0 +CMT,1,1,635,2.3,CRD,9.5 +CMT,1,1,507,1.8,CRD,8.5 +CMT,1,1,459,1.1,CSH,7.0 +CMT,1,1,729,1.5,CSH,9.5 +CMT,1,1,192,0.4,CSH,4.0 +CMT,1,1,762,3.7,CRD,13.0 +CMT,1,1,485,1.4,CRD,7.5 +CMT,1,1,342,1.1,CRD,6.0 +CMT,1,1,1596,5.4,CSH,20.5 +CMT,1,1,272,0.7,CRD,5.5 +CMT,1,1,615,1.8,CSH,9.0 +CMT,1,1,652,1.1,CSH,8.5 +CMT,1,1,566,1.9,CSH,9.0 +CMT,1,1,803,12.9,CSH,2.5 +CMT,1,2,195,0.1,CSH,4.0 +CMT,1,1,1140,5.4,CSH,20.0 +CMT,1,1,774,18.0,CSH,2.5 +CMT,1,1,628,1.7,CRD,9.0 +CMT,1,1,241,0.6,CSH,5.0 +CMT,1,1,594,2.8,CSH,11.0 +CMT,1,1,217,0.7,CRD,4.5 +CMT,1,1,313,0.8,CRD,5.5 +CMT,1,1,507,2.4,CRD,9.5 +CMT,1,1,1014,3.0,CRD,14.0 +CMT,1,1,514,2.2,CSH,9.5 +CMT,1,1,751,3.1,CRD,12.0 +CMT,1,1,175,0.7,CRD,4.5 +CMT,1,1,982,3.7,CSH,15.5 +CMT,1,1,933,3.8,CRD,14.0 +CMT,1,1,364,1.4,CSH,7.0 +CMT,1,1,1656,4.1,CRD,18.5 +CMT,1,1,406,0.6,CRD,6.0 +CMT,1,1,687,1.8,CRD,9.5 +CMT,1,1,1460,4.8,CRD,18.5 +CMT,1,1,3,0.0,NOC,2.5 +CMT,1,1,830,2.0,CRD,11.0 +CMT,1,1,304,0.6,CSH,5.5 +CMT,1,1,458,1.7,CRD,8.0 +CMT,1,1,996,3.3,CRD,13.5 +CMT,1,1,113,0.5,CSH,4.0 +CMT,1,1,271,1.1,CRD,6.0 +CMT,1,1,401,1.0,CRD,7.0 +CMT,1,1,314,0.9,CSH,5.5 +CMT,1,1,1059,23.4,CSH,2.5 +CMT,1,1,570,3.4,CSH,12.0 +CMT,1,1,871,2.3,CSH,11.5 +CMT,1,1,938,5.1,CSH,17.5 +CMT,1,1,210,0.6,CSH,4.5 +CMT,1,1,1348,6.6,CRD,23.0 +CMT,1,1,386,2.6,CRD,9.0 +CMT,1,1,376,2.2,CSH,8.5 +CMT,1,1,1480,11.2,CRD,33.5 +CMT,1,1,623,1.4,CRD,8.5 +CMT,1,1,1555,10.9,CSH,33.5 +CMT,1,1,1861,4.4,CSH,22.5 +CMT,1,1,308,0.8,CSH,5.5 +CMT,1,1,491,2.2,CRD,9.0 +CMT,1,1,1278,5.8,CSH,20.5 +CMT,1,1,710,2.3,CSH,10.5 +CMT,1,1,296,0.4,CSH,5.0 +CMT,1,1,325,1.2,CSH,6.5 +CMT,1,1,878,3.8,CRD,14.5 +CMT,1,1,357,1.6,CSH,7.5 +CMT,1,1,478,2.6,CRD,10.0 +CMT,1,1,731,1.5,CRD,9.5 +CMT,1,1,247,1.0,CSH,5.5 +CMT,1,1,216,0.9,CSH,5.0 +CMT,1,1,393,1.8,CSH,7.5 +CMT,1,1,1166,5.5,CRD,19.0 +CMT,1,1,440,0.8,CSH,6.5 +CMT,1,1,1000,3.3,CRD,14.5 +CMT,1,1,249,0.8,CRD,5.5 +CMT,1,1,506,3.0,CRD,11.0 +CMT,1,1,351,1.1,CSH,6.5 +CMT,1,1,375,1.2,CRD,6.5 +CMT,1,1,200,0.8,CRD,4.5 +CMT,1,1,659,3.2,CRD,12.0 +CMT,1,1,995,2.7,CRD,13.0 +CMT,1,1,732,2.1,CSH,10.5 +CMT,1,1,924,2.5,CSH,12.5 +CMT,1,1,933,5.3,CSH,17.5 +CMT,1,1,770,1.5,CRD,9.5 +CMT,1,1,671,2.2,CRD,9.5 +CMT,1,1,993,2.3,CRD,12.0 +CMT,1,1,345,0.9,CSH,6.0 +CMT,1,1,511,1.6,CRD,8.5 +CMT,1,1,230,0.5,CSH,4.5 +CMT,1,1,510,1.5,CSH,8.0 +CMT,1,1,429,1.0,CSH,6.5 +CMT,1,1,298,0.8,CSH,5.5 +CMT,1,1,306,1.1,CRD,6.0 +CMT,1,1,311,0.6,CSH,5.5 +CMT,1,1,1160,2.9,CRD,14.0 +CMT,1,1,1703,5.3,CRD,21.5 +CMT,1,1,313,1.9,CSH,7.5 +CMT,1,2,375,0.8,NOC,6.5 +CMT,1,1,60,0.2,NOC,3.0 +CMT,1,1,179,0.9,CSH,5.0 +CMT,1,1,655,1.7,CRD,10.0 +CMT,1,1,803,3.7,CRD,14.5 +CMT,1,1,435,1.4,CRD,7.5 +CMT,1,1,313,0.8,CSH,5.5 +CMT,1,1,876,4.6,CSH,15.5 +CMT,1,1,357,1.0,CRD,6.5 +CMT,1,1,873,2.9,CSH,12.5 +CMT,1,1,366,1.0,CSH,6.5 +CMT,1,1,321,1.3,CSH,6.0 +CMT,1,1,1014,34.2,CSH,2.5 +CMT,1,1,1998,52.1,CSH,2.5 +CMT,1,1,3066,15.4,CSH,50.0 +CMT,1,1,295,0.9,CRD,5.5 +CMT,1,1,505,2.1,CSH,9.0 +CMT,1,1,1045,38.4,CSH,2.5 +CMT,1,1,291,1.3,CSH,6.5 +CMT,1,1,928,5.7,CRD,18.5 +CMT,1,1,602,1.6,CRD,9.0 +CMT,1,1,766,2.5,CSH,11.0 +CMT,1,1,1317,3.1,CRD,15.5 +CMT,1,1,1468,5.9,CRD,21.0 +CMT,1,1,520,1.4,CRD,8.0 +CMT,1,1,686,2.1,CRD,10.5 +CMT,1,1,463,1.5,CSH,8.0 +CMT,1,1,249,1.3,CSH,6.0 +CMT,1,1,3107,7.9,CSH,35.0 +CMT,1,1,805,3.2,CSH,13.0 +CMT,1,1,475,1.3,CRD,7.5 +CMT,1,1,389,1.4,CRD,7.0 +CMT,1,1,281,0.7,CRD,5.5 +CMT,1,1,86,0.4,CRD,3.5 +CMT,1,1,305,0.8,CRD,5.5 +CMT,1,1,364,0.5,CSH,5.5 +CMT,1,1,906,2.7,CRD,12.5 +CMT,1,1,241,0.5,CRD,5.0 +CMT,1,1,634,1.8,CSH,9.5 +CMT,1,1,357,1.1,CSH,6.5 +CMT,1,1,859,4.9,CRD,17.0 +CMT,1,1,889,3.5,CSH,13.5 +CMT,1,1,2606,12.3,CRD,38.5 +CMT,1,1,425,1.1,CSH,6.5 +CMT,1,1,1123,5.0,CSH,18.0 +CMT,1,1,983,4.7,CRD,17.0 +CMT,1,1,328,1.2,CRD,6.0 +CMT,1,1,694,4.4,CRD,15.0 +CMT,1,1,434,2.1,CSH,9.0 +CMT,1,1,1171,5.8,CRD,20.5 +CMT,1,1,139,0.4,CSH,4.0 +CMT,1,1,90,0.4,CSH,3.5 +CMT,1,1,1281,12.4,CRD,34.5 +CMT,1,1,767,3.0,CRD,11.5 +CMT,1,1,368,1.0,CRD,6.5 +CMT,1,1,937,3.7,CRD,15.0 +CMT,1,1,480,1.5,CSH,8.0 +CMT,1,1,432,1.5,CSH,7.0 +CMT,1,1,896,2.0,CRD,11.5 +CMT,1,1,604,2.9,CSH,11.0 +CMT,1,1,1083,6.7,CSH,22.0 +CMT,1,1,569,2.5,CRD,11.0 +CMT,1,1,572,1.3,CRD,8.0 +CMT,1,1,674,3.9,CSH,13.5 +CMT,1,1,1725,43.2,CSH,2.5 +CMT,1,1,493,2.5,CSH,9.5 +CMT,1,1,691,1.4,CSH,9.0 +CMT,1,1,619,1.5,CRD,8.5 +CMT,1,1,833,3.4,CRD,13.0 +CMT,1,1,203,0.8,CRD,5.0 +CMT,5,1,3761,3.9,NOC,2.5 +CMT,1,1,956,2.3,CSH,12.5 +CMT,1,1,446,1.4,CRD,7.0 +CMT,1,1,437,1.7,CSH,7.5 +CMT,1,1,313,0.7,CRD,5.5 +CMT,1,1,525,1.2,CRD,7.5 +CMT,1,1,1085,6.2,CSH,20.0 +CMT,1,1,161,0.9,CSH,5.0 +CMT,1,1,357,1.6,CRD,7.5 +CMT,1,1,1245,4.9,CRD,18.5 +CMT,1,1,1603,3.9,CRD,19.0 +CMT,1,1,664,2.8,CRD,11.5 +CMT,1,1,346,1.1,CSH,6.5 +CMT,1,1,442,1.0,CRD,7.0 +CMT,1,1,678,2.3,CSH,10.5 +CMT,1,1,198,0.8,CSH,5.0 +CMT,1,1,586,3.6,CRD,12.0 +CMT,1,1,93,0.4,CSH,3.5 +CMT,1,1,543,1.5,CRD,8.0 +CMT,1,1,430,1.0,CRD,6.5 +CMT,1,1,491,2.7,CSH,10.0 +CMT,1,1,439,2.2,CRD,9.0 +CMT,1,1,892,3.2,CRD,13.0 +CMT,1,1,4260,10.7,CRD,48.5 +CMT,1,1,150,0.5,CRD,4.0 +CMT,1,1,313,0.8,CSH,5.5 +CMT,1,1,264,0.9,CRD,5.5 +CMT,1,1,973,2.9,CRD,13.5 +CMT,1,1,400,1.5,CRD,7.5 +CMT,5,1,55,0.0,CRD,60.0 +CMT,1,1,77,0.3,CSH,3.5 +CMT,1,1,456,1.5,CRD,7.5 +CMT,1,1,354,1.0,CRD,6.0 +CMT,1,1,324,1.5,CSH,7.0 +CMT,1,1,616,1.2,CSH,8.0 +CMT,1,1,393,0.9,CSH,6.5 +CMT,1,1,439,1.7,CRD,8.0 +CMT,1,1,670,3.6,CRD,13.0 +CMT,1,1,1018,4.8,CSH,17.5 +CMT,1,1,254,2.0,CRD,7.5 +CMT,1,1,872,2.5,CSH,12.0 +CMT,1,1,234,0.3,CSH,4.5 +CMT,1,1,898,2.3,CRD,11.5 +CMT,1,1,1433,3.9,CRD,18.0 +CMT,1,1,1387,9.4,CRD,29.0 +CMT,1,1,885,4.0,CSH,15.0 +CMT,1,1,489,1.0,CRD,7.0 +CMT,1,1,1114,5.9,CRD,19.5 +CMT,1,1,399,1.9,CRD,8.0 +CMT,1,1,925,2.6,CSH,12.0 +CMT,1,1,860,2.2,CSH,11.0 +CMT,1,1,2364,9.5,CSH,35.5 +CMT,1,1,1348,11.0,CSH,32.5 +CMT,1,1,1685,12.2,CSH,36.0 +CMT,1,1,1080,3.3,CRD,15.0 +CMT,1,1,738,2.9,CRD,12.5 +CMT,1,1,118,0.5,CRD,4.0 +CMT,1,1,673,3.1,CRD,11.5 +CMT,1,1,1004,2.3,CRD,12.5 +CMT,1,1,340,0.8,CRD,6.0 +CMT,1,1,1060,2.8,CSH,14.0 +CMT,1,1,441,2.1,CRD,9.0 +CMT,1,1,810,2.2,CRD,11.0 +CMT,1,1,1706,10.1,CRD,31.0 +CMT,1,1,1061,3.9,CSH,15.5 +CMT,1,1,466,1.4,CRD,7.5 +CMT,1,1,728,3.2,CRD,12.5 +CMT,1,1,930,3.3,CRD,14.5 +CMT,1,1,1414,7.6,CSH,24.5 +CMT,1,1,777,1.4,CRD,9.5 +CMT,1,1,425,1.3,CSH,7.5 +CMT,1,1,274,1.0,CSH,6.0 +CMT,1,1,294,1.3,CSH,6.0 +CMT,1,1,633,1.5,CRD,8.5 +CMT,1,1,328,1.0,CSH,6.0 +CMT,1,1,744,3.3,CSH,2.5 +CMT,1,1,302,1.4,CSH,6.5 +CMT,1,1,559,1.9,CSH,9.0 +CMT,1,1,1055,5.5,CRD,19.5 +CMT,1,1,231,0.8,CRD,5.0 +CMT,1,1,1066,3.4,CRD,14.5 +CMT,1,1,363,1.1,CSH,6.5 +CMT,1,1,220,0.9,CSH,5.0 +CMT,1,1,482,3.7,CSH,12.0 +CMT,1,1,457,1.4,CSH,7.5 +CMT,1,1,516,1.9,CSH,9.0 +CMT,1,1,449,1.3,CSH,7.0 +CMT,1,1,593,1.8,CSH,9.0 +CMT,1,1,500,1.8,CSH,8.5 +CMT,1,1,414,1.1,CRD,6.5 +CMT,1,1,1018,2.6,CSH,12.5 +CMT,1,1,653,4.0,CRD,13.0 +CMT,1,1,1428,4.9,CSH,21.0 +CMT,1,1,931,3.6,CRD,15.0 +CMT,1,1,531,1.9,CRD,9.0 +CMT,1,1,1056,3.5,CRD,14.5 +CMT,1,1,391,1.4,CRD,7.5 +CMT,1,1,401,1.0,CRD,6.5 +CMT,1,1,781,1.4,CSH,9.5 +CMT,1,1,832,1.4,CSH,9.5 +CMT,1,1,905,1.2,CRD,10.5 +CMT,1,1,196,0.5,CRD,4.0 +CMT,1,1,1032,2.3,CSH,12.5 +CMT,1,1,205,0.6,CSH,4.5 +CMT,1,1,403,0.9,CSH,6.5 +CMT,1,1,992,3.2,CRD,14.0 +CMT,1,1,259,0.9,CRD,5.5 +CMT,1,1,1708,8.1,CSH,27.5 +CMT,1,1,621,2.0,CSH,10.0 +CMT,1,1,359,1.4,CRD,7.0 +CMT,1,1,291,0.8,CRD,5.5 +CMT,1,1,169,0.5,CSH,4.0 +CMT,1,1,415,1.9,CSH,8.5 +CMT,1,1,419,1.1,CSH,6.5 +CMT,1,1,301,1.0,CSH,5.5 +CMT,1,1,501,2.2,CRD,9.5 +CMT,1,1,334,1.3,CSH,7.0 +CMT,1,1,671,1.5,CRD,9.0 +CMT,1,1,1450,5.2,CSH,20.0 +CMT,1,1,370,1.3,CSH,6.5 +CMT,1,1,868,3.4,CSH,13.5 +CMT,1,2,335,0.7,CSH,5.5 +CMT,1,1,367,1.7,CRD,7.5 +CMT,1,1,891,1.6,CSH,11.0 +CMT,1,1,804,3.1,CRD,13.0 +CMT,1,1,750,3.6,CRD,13.0 +CMT,1,1,920,3.0,CRD,13.0 +CMT,1,1,227,0.7,CRD,4.5 +CMT,1,1,441,0.0,CSH,6.0 +CMT,1,1,1117,5.0,CRD,19.0 +CMT,1,1,277,0.7,CRD,5.5 +CMT,1,1,302,1.1,CRD,6.0 +CMT,1,1,256,0.9,CSH,5.5 +CMT,1,1,365,1.8,CRD,7.5 +CMT,1,1,272,1.0,CSH,5.5 +CMT,1,1,1182,4.9,CRD,18.5 +CMT,1,1,508,2.3,CRD,9.5 +CMT,1,1,717,2.0,CRD,9.5 +CMT,1,1,1303,4.6,CRD,16.5 +CMT,1,1,406,0.8,CSH,6.0 +CMT,1,1,628,1.1,CRD,8.0 +CMT,1,1,316,1.2,CSH,6.0 +CMT,1,1,63,0.3,CRD,3.0 +CMT,1,1,357,1.6,CSH,7.0 +CMT,1,1,656,2.6,CSH,11.0 +CMT,1,1,1997,22.4,CSH,60.5 +CMT,1,1,143,1.0,CRD,5.0 +CMT,1,1,208,0.9,CRD,5.0 +CMT,1,1,1187,4.5,CRD,17.0 +CMT,1,1,172,0.6,CRD,4.5 +CMT,1,1,783,2.4,CSH,11.5 +CMT,1,1,414,1.5,CSH,7.5 +CMT,1,1,401,1.2,CSH,6.5 +CMT,1,1,622,2.4,CRD,10.5 +CMT,1,1,359,1.0,CSH,6.5 +CMT,1,1,774,2.9,CRD,12.0 +CMT,1,1,639,5.2,CRD,16.5 +CMT,1,1,610,2.1,CRD,9.5 +CMT,1,1,286,0.9,CSH,5.5 +CMT,1,1,193,0.6,CRD,4.5 +CMT,1,1,200,0.7,CRD,5.0 +CMT,1,1,573,2.4,CRD,10.0 +CMT,1,1,1219,2.7,CRD,14.0 +CMT,1,1,895,1.9,CRD,11.0 +CMT,1,1,295,0.6,CRD,5.0 +CMT,1,1,954,4.1,CRD,15.5 +CMT,1,1,406,2.3,CRD,9.0 +CMT,1,1,309,0.7,CSH,5.5 +CMT,1,1,440,1.3,CRD,7.0 +CMT,1,1,1772,5.2,CRD,23.5 +CMT,1,1,683,2.7,CRD,12.0 +CMT,1,1,1045,4.0,CRD,15.0 +CMT,1,1,945,3.6,CSH,14.5 +CMT,1,1,482,1.7,CRD,8.0 +CMT,1,1,528,1.3,CRD,7.5 +CMT,1,1,259,0.7,CRD,5.0 +CMT,1,1,576,5.4,CSH,16.5 +CMT,1,1,365,1.0,CRD,6.0 +CMT,1,1,2009,4.8,CRD,24.0 +CMT,1,1,336,0.5,CSH,5.0 +CMT,1,1,1021,4.1,CRD,16.0 +CMT,1,1,1349,5.4,CRD,20.5 +CMT,1,1,295,1.0,CRD,5.5 +CMT,1,1,720,4.1,CRD,14.0 +CMT,1,1,1227,3.9,CSH,17.0 +CMT,1,1,761,2.5,CSH,11.0 +CMT,1,1,627,1.7,CSH,9.0 +CMT,1,1,142,0.5,CSH,4.0 +CMT,1,1,1559,12.3,CRD,36.0 +CMT,1,1,266,1.4,CRD,6.5 +CMT,1,1,1388,6.0,CSH,21.5 +CMT,1,1,260,1.5,CSH,7.0 +CMT,1,1,982,2.6,CRD,12.5 +CMT,1,1,800,2.3,CSH,10.5 +CMT,1,1,768,2.0,CSH,10.5 +CMT,1,1,908,3.7,CSH,14.5 +CMT,1,1,711,1.8,CRD,9.5 +CMT,1,1,749,2.4,CRD,11.0 +CMT,1,1,1123,5.4,CRD,18.5 +CMT,1,1,123,0.9,CSH,4.5 +CMT,1,1,906,2.1,CRD,11.5 +CMT,1,1,824,2.4,CSH,11.0 +CMT,1,1,2103,0.4,CSH,3.5 +CMT,1,1,1707,13.1,CRD,39.0 +CMT,1,1,355,1.2,CRD,6.5 +CMT,1,1,507,3.5,CRD,11.5 +CMT,1,1,645,1.4,CRD,9.0 +CMT,1,1,274,1.0,CSH,5.5 +CMT,1,1,339,0.7,CRD,5.5 +CMT,1,1,231,0.9,CRD,5.5 +CMT,1,1,361,1.3,CSH,6.5 +CMT,1,1,354,1.4,CSH,6.5 +CMT,1,1,611,2.3,CRD,10.5 +CMT,1,1,1497,8.1,CRD,26.0 +CMT,1,1,328,1.2,CRD,6.5 +CMT,1,1,510,0.8,CRD,7.0 +CMT,1,1,183,0.4,CSH,4.0 +CMT,1,1,1463,4.9,CRD,21.0 +CMT,1,1,257,0.7,CRD,5.5 +CMT,1,1,1131,6.7,CRD,21.5 +CMT,1,1,986,3.3,CSH,14.0 +CMT,1,1,753,1.8,CRD,10.0 +CMT,1,1,224,0.8,CSH,5.0 +CMT,1,1,844,3.5,CRD,13.5 +CMT,1,1,1932,7.9,CSH,28.5 +CMT,1,1,1227,6.9,CRD,23.5 +CMT,1,1,375,1.3,CRD,6.5 +CMT,1,1,215,1.2,CRD,5.5 +CMT,1,1,338,1.6,CRD,7.0 +CMT,1,1,1408,9.5,CRD,30.5 +CMT,1,1,513,1.4,CSH,8.0 +CMT,1,1,472,2.3,CRD,9.0 +CMT,1,1,401,1.4,CRD,7.5 +CMT,1,1,520,1.5,CRD,7.5 +CMT,1,1,749,1.8,CRD,10.0 +CMT,1,1,724,1.4,CRD,9.5 +CMT,1,1,197,0.4,CSH,4.0 +CMT,1,1,228,0.6,CSH,5.0 +CMT,1,1,527,2.5,CSH,9.5 +CMT,1,1,1363,7.1,CRD,24.0 +CMT,1,1,581,0.6,CSH,7.5 +CMT,1,1,682,4.2,CSH,13.5 +CMT,1,1,486,1.7,CSH,8.5 +CMT,1,1,841,7.1,CRD,21.5 +CMT,1,1,681,2.0,CRD,10.0 +CMT,1,1,563,3.7,CRD,12.0 +CMT,1,1,223,1.0,CSH,5.0 +CMT,1,1,162,0.6,CSH,4.0 +CMT,1,1,636,2.2,CRD,9.5 +CMT,1,1,705,2.8,CRD,11.5 +CMT,1,1,189,0.9,CSH,5.0 +CMT,1,1,322,0.9,CRD,6.0 +CMT,1,1,314,0.9,CRD,5.5 +CMT,1,1,568,1.7,CRD,8.5 +CMT,1,1,636,2.7,CSH,11.0 +CMT,1,1,419,1.5,CRD,7.5 +CMT,1,1,526,2.1,CRD,9.0 +CMT,1,1,1885,14.4,CRD,41.5 +CMT,1,1,520,2.3,CSH,9.0 +CMT,1,1,593,2.8,CSH,10.5 +CMT,1,1,773,4.6,CSH,15.0 +CMT,1,1,178,0.6,CSH,4.5 +CMT,1,1,302,1.4,CRD,7.0 +CMT,1,1,632,3.6,CRD,13.0 +CMT,1,1,372,1.1,CRD,6.5 +CMT,1,1,665,2.7,CSH,10.5 +CMT,1,1,646,1.1,CRD,8.5 +CMT,5,1,176,0.0,CRD,20.0 +CMT,1,1,599,3.2,CRD,11.5 +CMT,1,1,656,2.4,CRD,10.5 +CMT,1,1,1223,3.2,CRD,15.0 +CMT,1,1,1674,5.2,CSH,22.5 +CMT,1,1,481,1.3,CSH,7.5 +CMT,1,1,410,1.7,CSH,8.0 +CMT,1,1,746,2.0,CRD,10.5 +CMT,1,1,1000,6.3,CRD,20.0 +CMT,1,1,529,2.1,CSH,9.5 +CMT,1,1,699,4.0,CRD,14.0 +CMT,1,1,564,1.8,CSH,9.0 +CMT,1,1,340,1.0,CSH,6.0 +CMT,1,1,1118,5.0,CRD,18.0 +CMT,1,1,1047,7.8,CRD,23.5 +CMT,1,1,1598,6.4,CRD,22.5 +CMT,1,1,195,0.5,CSH,4.5 +CMT,1,1,294,0.7,CRD,5.0 +CMT,1,1,664,1.3,CRD,9.0 +CMT,1,1,703,4.8,CRD,16.5 +CMT,1,1,519,2.4,CRD,10.0 +CMT,1,1,344,0.8,CSH,6.0 +CMT,1,3,599,1.1,CSH,8.0 +CMT,1,1,242,0.7,CSH,5.0 +CMT,1,1,667,1.7,CRD,9.0 +CMT,1,1,881,4.7,CSH,16.5 +CMT,4,3,121,0.0,CSH,3.5 +CMT,1,1,172,0.4,CSH,4.0 +CMT,1,1,215,1.1,CRD,5.5 +CMT,1,1,238,1.1,CSH,5.5 +CMT,1,1,444,1.2,CSH,7.0 +CMT,1,1,6,0.0,CSH,2.5 +CMT,1,1,459,1.5,CRD,7.5 +CMT,1,1,1410,3.0,CRD,16.0 +CMT,1,1,533,0.8,CSH,7.0 +CMT,1,1,515,1.2,CRD,7.5 +CMT,1,1,733,4.2,CSH,15.0 +CMT,1,1,107,0.5,CRD,4.0 +CMT,1,1,203,0.5,CRD,4.5 +CMT,2,2,1817,18.7,CRD,52.0 +CMT,1,1,707,1.6,CRD,10.0 +CMT,1,1,528,1.3,CRD,8.0 +CMT,1,1,333,0.7,CRD,6.0 +CMT,1,1,382,1.1,CRD,6.5 +CMT,1,1,577,2.1,CSH,9.5 +CMT,1,1,3,0.0,DIS,2.5 +CMT,1,2,1206,10.8,CRD,31.0 +CMT,1,2,1585,4.6,CSH,20.5 +CMT,1,1,493,1.5,CSH,8.0 +CMT,1,1,1595,14.2,CSH,40.5 +CMT,1,1,770,3.4,CRD,13.5 +CMT,1,1,368,1.5,CSH,7.0 +CMT,1,1,1222,4.3,CSH,16.5 +CMT,1,1,638,1.9,CRD,9.0 +CMT,1,3,226,0.4,CSH,4.5 +CMT,1,1,893,2.6,CRD,12.0 +CMT,1,1,196,0.6,CRD,4.5 +CMT,1,1,623,2.5,CSH,10.5 +CMT,1,1,637,3.4,CSH,12.5 +CMT,1,1,484,0.7,CSH,7.0 +CMT,2,1,3011,16.8,CSH,52.0 +CMT,1,1,2372,11.7,CSH,38.5 +CMT,1,1,603,1.9,CSH,9.0 +CMT,1,1,407,1.8,CRD,8.0 +CMT,1,1,219,0.6,CSH,4.5 +CMT,1,1,825,2.5,CRD,12.0 +CMT,1,1,1496,3.6,CRD,17.0 +CMT,1,1,985,3.7,CSH,14.5 +CMT,1,1,635,2.5,CSH,10.5 +CMT,1,1,785,3.1,CRD,12.5 +CMT,1,1,404,2.5,CRD,9.0 +CMT,1,1,217,0.4,CRD,4.5 +CMT,1,1,574,0.9,CSH,7.5 +CMT,1,1,479,1.6,CRD,8.0 +CMT,1,1,364,1.2,CRD,6.5 +CMT,1,1,689,2.1,CSH,10.5 +CMT,1,1,760,3.7,CRD,13.5 +CMT,1,1,330,1.4,CSH,6.5 +CMT,1,1,626,0.9,CRD,8.5 +CMT,1,1,436,1.7,CSH,8.0 +CMT,1,1,1522,7.4,CRD,26.0 +CMT,1,1,1938,7.1,CRD,28.0 +CMT,1,1,356,1.0,CRD,6.0 +CMT,1,1,448,0.8,CSH,7.0 +CMT,1,1,1487,13.3,CSH,38.0 +CMT,1,1,1542,7.4,CSH,24.5 +CMT,1,1,254,1.5,CRD,6.5 +CMT,1,1,1047,4.0,CRD,16.0 +CMT,1,1,334,0.9,CRD,6.0 +CMT,1,1,1619,7.1,CRD,24.5 +CMT,1,1,1565,5.5,CSH,21.0 +CMT,1,1,479,1.6,CSH,8.0 +CMT,1,1,297,0.6,CSH,5.0 +CMT,1,1,266,0.7,CSH,5.0 +CMT,1,1,585,1.6,CSH,8.5 +CMT,1,1,1435,8.9,CSH,26.5 +CMT,1,1,1332,4.7,CRD,19.5 +CMT,1,1,968,5.4,CRD,17.5 +CMT,1,1,171,0.3,CSH,4.0 +CMT,1,1,808,1.7,CRD,9.5 +CMT,1,1,304,1.0,CRD,6.0 +CMT,1,1,415,1.1,CSH,6.5 +CMT,1,1,647,2.4,CRD,9.5 +CMT,1,1,271,1.0,CRD,5.5 +CMT,1,1,328,0.9,CSH,6.0 +CMT,1,1,259,0.6,CRD,5.0 +CMT,1,1,978,4.6,CRD,16.5 +CMT,1,1,478,1.4,CRD,7.5 +CMT,1,1,1133,4.9,CSH,18.0 +CMT,1,1,442,1.3,CRD,7.0 +CMT,1,1,429,1.7,CSH,8.0 +CMT,1,1,633,1.0,CSH,8.0 +CMT,1,1,568,1.2,CSH,8.0 +CMT,1,1,1664,5.7,CRD,22.0 +CMT,1,1,780,1.7,CRD,10.0 +CMT,1,1,1071,1.9,CRD,12.0 +CMT,1,1,954,1.7,CRD,11.5 +CMT,1,1,1138,5.2,CSH,18.5 +CMT,1,1,239,0.5,CRD,4.5 +CMT,1,1,215,0.9,CSH,5.0 +CMT,1,1,239,0.9,CRD,5.0 +CMT,1,1,688,1.9,CRD,10.0 +CMT,1,1,442,1.4,CRD,7.0 +CMT,1,1,1322,5.0,CRD,19.0 +CMT,1,1,227,1.0,CRD,5.5 +CMT,1,1,1502,7.0,CRD,23.5 +CMT,1,1,721,1.0,CSH,9.0 +CMT,1,1,979,5.0,CSH,16.5 +CMT,1,1,138,0.5,CRD,4.0 +CMT,1,1,389,1.0,CSH,6.5 +CMT,1,1,508,0.6,CRD,6.5 +CMT,1,1,1211,3.4,CRD,15.5 +CMT,1,1,738,1.2,CSH,9.0 +CMT,1,1,821,0.8,CSH,9.5 +CMT,1,1,509,2.2,CSH,9.0 +CMT,1,1,568,2.0,CSH,9.5 +CMT,1,1,338,1.1,CSH,6.0 +CMT,1,1,567,1.4,CSH,8.5 +CMT,1,1,969,3.6,CSH,14.5 +CMT,1,1,897,3.4,CSH,13.5 +CMT,1,1,167,0.9,CSH,5.0 +CMT,1,1,371,0.6,CSH,5.5 +CMT,1,1,940,2.6,CRD,12.5 +CMT,1,1,183,1.0,CSH,5.0 +CMT,1,1,1741,6.8,CSH,24.0 +CMT,1,1,936,3.3,CRD,13.5 +CMT,1,1,1083,2.9,CRD,14.0 +CMT,1,1,1214,8.7,CRD,27.0 +CMT,1,1,578,3.0,CRD,11.5 +CMT,1,1,1736,15.6,CRD,44.0 +CMT,1,1,261,1.0,CRD,5.5 +CMT,1,1,283,1.1,CRD,6.0 +CMT,1,1,214,0.7,CSH,5.0 +CMT,1,1,997,2.6,CRD,12.5 +CMT,1,1,458,2.1,CRD,9.0 +CMT,1,1,2282,10.2,CRD,35.0 +CMT,1,1,450,2.0,CRD,8.5 +CMT,1,3,471,1.3,CRD,7.5 +CMT,1,1,105,0.8,CSH,4.5 +CMT,1,1,75,0.3,CSH,3.5 +CMT,1,1,4,0.0,NOC,2.5 +CMT,1,1,258,0.6,CSH,5.0 +CMT,1,1,617,2.1,CSH,9.5 +CMT,1,1,1947,10.3,CRD,33.5 +CMT,1,2,992,4.9,CRD,17.0 +CMT,1,1,892,5.4,CSH,18.5 +CMT,1,1,303,1.1,CSH,6.0 +CMT,1,1,133,0.5,CSH,4.0 +CMT,1,2,413,0.4,CSH,6.0 +CMT,1,1,255,0.7,CRD,5.0 +CMT,1,1,384,1.8,CSH,7.5 +CMT,1,1,661,1.8,CRD,9.0 +CMT,1,1,571,1.8,CSH,9.0 +CMT,1,1,920,1.6,CSH,11.0 +CMT,1,1,209,0.4,CSH,4.5 +CMT,1,1,555,0.9,CSH,7.5 +CMT,1,1,428,1.6,CRD,7.5 +CMT,1,4,1289,4.7,CSH,18.5 +CMT,1,1,1671,13.8,CRD,39.5 +CMT,1,1,806,4.7,CSH,15.5 +CMT,1,1,263,1.2,CSH,6.0 +CMT,1,1,1307,6.0,CSH,21.0 +CMT,1,1,473,1.6,CRD,8.0 +CMT,1,3,361,0.8,CSH,6.0 +CMT,1,1,475,4.3,CSH,13.5 +CMT,1,4,182,0.8,CSH,5.0 +CMT,1,2,1606,4.2,CRD,20.0 +CMT,1,1,898,8.6,CRD,25.0 +CMT,1,1,765,3.7,CRD,13.0 +CMT,1,2,1041,5.2,CSH,18.0 +CMT,1,1,604,2.0,CRD,9.5 +CMT,1,1,169,0.6,CSH,4.5 +CMT,1,1,513,1.6,CSH,8.0 +CMT,1,2,925,4.2,CRD,15.5 +CMT,1,2,456,1.9,CSH,8.5 +CMT,1,2,385,0.8,CRD,6.0 +CMT,1,1,587,2.3,CRD,9.5 +CMT,1,1,734,1.9,CRD,10.0 +CMT,1,1,116,0.6,CSH,4.0 +CMT,1,1,248,0.8,CSH,5.5 +CMT,1,1,1491,11.5,CRD,33.5 +CMT,2,1,3401,17.4,CSH,52.0 +CMT,1,1,677,1.6,CSH,9.5 +CMT,1,1,523,1.3,CSH,8.0 +CMT,1,1,1668,5.1,CRD,22.0 +CMT,1,1,2,0.0,CSH,2.5 +CMT,1,1,2412,9.2,CRD,25.5 +CMT,2,1,3077,21.4,CRD,52.0 +CMT,1,1,1400,8.1,CRD,25.5 +CMT,1,1,559,1.6,CSH,8.5 +CMT,1,1,376,1.6,CRD,7.5 +CMT,1,1,393,1.0,CSH,6.5 +CMT,1,1,615,1.5,CRD,9.0 +CMT,1,1,1220,7.3,CRD,24.0 +CMT,1,1,557,1.3,CSH,8.0 +CMT,1,1,265,0.5,CSH,5.0 +CMT,1,1,265,0.7,CSH,5.0 +CMT,1,1,571,1.7,CSH,8.5 +CMT,1,1,1335,9.0,CSH,27.5 +CMT,1,1,273,0.7,CRD,5.0 +CMT,1,1,1483,5.6,CRD,21.0 +CMT,1,1,455,1.4,CSH,7.5 +CMT,1,1,137,0.4,CSH,4.0 +CMT,1,1,355,1.0,CSH,6.0 +CMT,1,1,588,2.0,CRD,9.0 +CMT,1,1,790,4.1,CRD,14.0 +CMT,1,1,592,2.2,CSH,9.5 +CMT,1,1,208,1.0,CRD,5.5 +CMT,1,1,744,3.6,CRD,14.0 +CMT,1,1,696,1.1,CRD,8.5 +CMT,1,1,790,2.8,CRD,12.0 +CMT,1,1,1259,4.4,CSH,16.5 +CMT,1,1,1075,3.4,CRD,14.5 +CMT,1,1,490,0.7,CRD,7.0 +CMT,1,1,608,1.7,CRD,8.5 +CMT,1,1,826,3.9,CRD,14.0 +CMT,1,1,919,3.7,CSH,14.0 +CMT,1,1,24,0.4,CSH,2.5 +CMT,1,1,376,1.3,CRD,7.0 +CMT,1,1,194,0.7,CRD,4.5 +CMT,1,1,324,0.9,CSH,6.0 +CMT,1,1,1190,2.0,CSH,13.0 +CMT,1,1,363,1.0,CRD,6.0 +CMT,1,1,569,1.4,CSH,8.5 +CMT,1,1,829,3.4,CSH,13.5 +CMT,1,1,786,4.2,CSH,15.0 +CMT,1,1,953,4.1,CRD,15.0 +CMT,1,1,371,1.2,CSH,6.5 +CMT,1,1,378,1.5,CSH,7.0 +CMT,1,1,713,2.1,CRD,10.0 +CMT,1,1,504,1.6,CSH,8.0 +CMT,1,1,380,1.5,CSH,7.0 +CMT,1,1,498,1.8,CRD,8.5 +CMT,1,1,779,1.7,CRD,10.0 +CMT,1,1,458,1.1,CRD,7.0 +CMT,1,1,549,1.1,CSH,7.5 +CMT,1,1,1028,2.6,CSH,13.0 +CMT,1,1,262,0.7,CSH,5.0 +CMT,1,1,310,0.9,CRD,5.5 +CMT,1,1,306,2.0,CSH,7.5 +CMT,1,1,1086,3.3,CSH,15.0 +CMT,1,1,650,2.6,CSH,10.5 +CMT,1,1,112,0.4,CSH,3.5 +CMT,1,1,330,0.9,CSH,6.0 +CMT,1,1,1110,11.1,CRD,31.0 +CMT,1,1,1153,3.9,CSH,16.0 +CMT,1,1,260,1.3,CSH,6.0 +CMT,1,1,242,0.7,CSH,5.0 +CMT,1,2,1278,2.7,CSH,15.0 +CMT,1,1,432,1.9,CSH,8.0 +CMT,1,1,395,1.2,CSH,6.5 +CMT,1,1,440,0.8,CRD,6.5 +CMT,1,1,1158,6.7,CRD,23.0 +CMT,1,1,390,0.9,CRD,6.0 +CMT,1,1,1310,4.3,CRD,19.0 +CMT,1,1,749,4.7,CRD,14.5 +CMT,1,1,561,2.4,CSH,10.0 +CMT,1,1,273,0.8,CSH,5.0 +CMT,1,1,1034,2.9,CRD,13.5 +CMT,1,1,9,0.0,CSH,2.5 +CMT,1,1,748,2.3,CRD,11.0 +CMT,1,4,947,2.8,CSH,12.5 +CMT,1,2,249,0.7,CSH,5.0 +CMT,1,1,776,1.7,CRD,10.5 +CMT,1,1,363,1.1,CRD,6.0 +CMT,1,1,617,1.0,CSH,8.5 +CMT,1,1,680,3.1,CRD,11.5 +CMT,1,1,575,2.0,CSH,9.0 +CMT,1,1,695,2.0,CRD,10.0 +CMT,1,1,533,1.6,CRD,9.0 +CMT,1,1,657,2.4,CRD,11.0 +CMT,1,1,218,1.1,CSH,5.5 +CMT,1,2,643,2.0,CSH,9.5 +CMT,1,1,1055,3.2,CRD,14.5 +CMT,1,1,1017,2.5,CRD,12.5 +CMT,1,1,287,0.9,CSH,5.5 +CMT,1,1,397,0.9,CSH,6.5 +CMT,1,1,387,1.8,CRD,8.0 +CMT,1,1,731,1.9,CSH,10.5 +CMT,1,1,394,1.3,CSH,7.0 +CMT,1,1,296,1.0,CSH,6.0 +CMT,1,1,277,0.8,CRD,5.5 +CMT,1,1,357,1.6,CRD,7.0 +CMT,1,1,373,1.0,CSH,6.5 +CMT,1,1,301,0.6,CSH,5.0 +CMT,1,1,273,1.0,CSH,5.5 +CMT,1,1,299,1.0,CRD,6.0 +CMT,1,1,271,0.8,CRD,5.0 +CMT,1,1,225,1.1,CRD,5.5 +CMT,1,1,230,0.7,CSH,5.0 +CMT,1,1,1240,2.1,CRD,14.0 +CMT,1,1,219,0.5,CSH,4.5 +CMT,1,1,537,1.6,CRD,8.0 +CMT,1,1,415,1.2,CRD,7.0 +CMT,1,1,1892,12.0,CSH,35.5 +CMT,1,1,897,2.2,CRD,11.5 +CMT,2,1,1236,5.1,CRD,52.0 +CMT,1,1,557,1.5,CRD,8.0 +CMT,1,1,212,1.6,CSH,6.5 +CMT,1,1,1196,3.9,CSH,16.0 +CMT,1,1,349,0.9,CSH,6.0 +CMT,1,1,851,7.2,CRD,21.0 +CMT,1,1,535,3.0,CRD,11.5 +CMT,1,1,659,1.4,CSH,9.0 +CMT,1,2,1305,8.7,CRD,27.0 +CMT,1,1,616,1.8,CSH,9.5 +CMT,1,1,757,3.5,CRD,13.5 +CMT,1,1,367,1.6,CRD,7.5 +CMT,1,1,1140,6.0,CSH,21.0 +CMT,1,1,696,1.4,CSH,9.0 +CMT,1,1,587,1.6,CSH,8.5 +CMT,1,1,398,0.9,CRD,6.5 +CMT,1,1,1246,11.8,NOC,33.0 +CMT,1,1,197,0.8,CRD,5.0 +CMT,1,1,591,2.4,CRD,10.0 +CMT,1,1,419,1.4,CRD,7.5 +CMT,1,2,552,1.2,CRD,7.5 +CMT,1,1,333,0.9,CRD,6.0 +CMT,1,1,620,2.5,CRD,10.5 +CMT,1,1,380,1.3,CSH,7.0 +CMT,1,1,249,1.0,CRD,5.5 +CMT,1,1,697,1.0,CRD,8.5 +CMT,1,1,884,2.2,CRD,11.5 +CMT,1,1,230,0.4,CSH,4.5 +CMT,1,1,827,2.8,CSH,12.0 +CMT,1,1,175,0.6,CSH,4.5 +CMT,1,1,421,2.5,CSH,9.0 +CMT,1,1,270,0.7,CSH,5.5 +CMT,2,1,2784,18.2,CSH,52.0 +CMT,1,1,1362,5.0,CSH,19.0 +CMT,1,1,669,1.3,CSH,8.5 +CMT,1,1,388,1.1,CRD,6.5 +CMT,1,1,1300,4.5,CRD,19.0 +CMT,1,1,644,1.6,CSH,9.0 +CMT,1,1,482,1.3,CSH,7.5 +CMT,1,1,826,3.6,CRD,13.5 +CMT,1,1,241,0.8,CSH,5.0 +CMT,1,1,169,0.6,CRD,4.5 +CMT,1,1,935,3.3,CRD,13.5 +CMT,1,1,950,2.2,CSH,12.0 +CMT,1,1,456,2.3,CSH,8.5 +CMT,1,1,933,3.9,CSH,15.0 +CMT,1,1,751,2.7,CSH,11.5 +CMT,1,1,554,2.0,CSH,9.5 +CMT,1,1,682,2.0,CRD,10.0 +CMT,1,1,227,0.9,CRD,5.0 +CMT,1,1,220,1.6,CSH,6.5 +CMT,1,1,571,1.1,CSH,8.0 +CMT,1,1,1807,2.6,CSH,20.0 +CMT,1,1,807,2.0,CRD,10.5 +CMT,1,1,844,1.0,CRD,10.0 +CMT,1,1,897,3.2,CSH,13.5 +CMT,1,1,476,1.3,CRD,7.5 +CMT,1,1,432,2.5,CRD,9.0 +CMT,1,1,585,1.6,CRD,8.5 +CMT,1,1,299,0.9,CRD,5.5 +CMT,1,1,289,1.0,CRD,5.5 +CMT,1,2,550,1.2,CRD,7.5 +CMT,1,1,120,0.4,CRD,3.5 +CMT,1,1,1157,9.2,CSH,27.0 +CMT,1,1,944,5.6,CRD,17.5 +CMT,1,2,695,2.3,CRD,10.5 +CMT,1,1,397,2.1,CRD,8.5 +CMT,1,1,1602,3.4,CRD,18.5 +CMT,2,1,1911,17.4,CSH,52.0 +CMT,1,1,685,1.7,CSH,9.5 +CMT,1,1,1098,3.1,CRD,14.5 +CMT,1,1,1307,4.5,CSH,18.5 +CMT,1,1,330,1.3,CRD,6.5 +CMT,1,1,88,0.5,CSH,3.5 +CMT,1,1,573,1.2,CSH,8.0 +CMT,1,1,749,3.4,CSH,12.5 +CMT,1,1,827,3.0,CRD,12.5 +CMT,1,1,563,1.6,CSH,8.0 +CMT,1,1,769,1.2,CSH,9.0 +CMT,1,1,494,1.5,CRD,7.5 +CMT,1,1,1281,3.6,CRD,16.5 +CMT,1,1,1185,4.8,CRD,17.0 +CMT,1,1,327,0.4,CRD,5.0 +CMT,1,1,526,0.8,CRD,7.0 +CMT,1,1,454,0.5,CRD,6.0 +CMT,2,1,3390,16.8,CRD,52.0 +CMT,1,1,562,2.1,CRD,9.5 +CMT,1,1,510,1.8,CRD,8.0 +CMT,1,1,187,0.5,CSH,4.5 +CMT,1,1,1637,5.6,CSH,22.0 +CMT,1,1,365,1.8,CRD,7.5 +CMT,1,1,874,3.7,CRD,13.5 +CMT,1,1,247,0.9,CRD,5.5 +CMT,1,1,1585,3.2,CSH,17.5 +CMT,1,1,930,2.4,CSH,12.0 +CMT,1,1,565,1.8,CRD,8.5 +CMT,1,1,524,1.8,CSH,8.5 +CMT,1,1,1623,7.5,CSH,26.5 +CMT,1,1,1415,9.6,CSH,29.5 +CMT,1,1,259,0.9,CRD,5.5 +CMT,1,1,449,0.7,CRD,6.5 +CMT,1,1,1285,3.1,CSH,15.0 +CMT,1,1,530,1.5,CSH,8.0 +CMT,1,1,382,1.6,CSH,7.0 +CMT,1,1,285,1.2,CSH,6.5 +CMT,1,1,582,3.0,CRD,11.5 +CMT,1,1,233,1.3,CRD,6.0 +CMT,1,1,1243,5.1,CSH,18.5 +CMT,1,1,1107,3.6,CRD,16.0 +CMT,1,1,1179,2.7,CSH,13.5 +CMT,1,1,308,0.6,CSH,5.0 +CMT,1,1,1542,3.4,CRD,17.0 +CMT,1,1,1342,5.5,CRD,20.5 +CMT,1,1,1129,1.9,CSH,13.0 +CMT,1,1,374,0.7,CRD,6.0 +CMT,1,1,613,1.7,CRD,8.5 +CMT,1,1,456,2.7,CSH,10.0 +CMT,1,1,514,1.4,CRD,8.0 +CMT,1,1,587,1.8,CSH,8.5 +CMT,1,1,2158,11.8,CSH,37.0 +CMT,1,1,1254,3.1,CSH,15.0 +CMT,1,1,213,0.6,CRD,4.5 +CMT,1,1,311,0.8,CRD,5.0 +CMT,1,1,53,0.3,CSH,3.0 +CMT,1,2,1212,10.2,CSH,30.0 +CMT,1,3,334,1.1,CRD,6.0 +CMT,1,1,159,0.8,CSH,4.5 +CMT,1,1,414,1.8,CSH,8.0 +CMT,1,1,593,1.7,CRD,8.5 +CMT,1,1,890,4.6,CSH,16.0 +CMT,1,2,1197,5.1,CSH,19.0 +CMT,1,2,271,1.2,CSH,6.0 +CMT,1,3,436,1.3,CSH,7.5 +CMT,1,1,1173,5.4,CRD,19.5 +CMT,1,2,2215,13.8,CRD,42.5 +CMT,1,2,989,4.7,CRD,17.5 +CMT,1,1,1456,6.9,CSH,24.5 +CMT,1,1,292,1.0,CSH,6.0 +CMT,1,1,746,8.3,CRD,23.5 +CMT,1,1,437,1.6,CSH,8.0 +CMT,1,1,2605,7.7,CSH,34.5 +CMT,1,1,965,2.9,CSH,13.0 +CMT,1,1,1218,4.9,CSH,18.5 +CMT,1,1,498,1.7,CRD,8.0 +CMT,1,1,279,1.0,CSH,5.5 +CMT,1,1,329,0.8,CRD,5.5 +CMT,1,1,1182,7.5,CRD,23.5 +CMT,1,1,299,0.7,CRD,5.5 +CMT,2,1,3088,19.0,CRD,52.0 +CMT,1,1,176,0.5,CRD,4.0 +CMT,1,1,11,0.0,CRD,2.5 +CMT,1,1,1092,4.5,CRD,16.5 +CMT,1,1,757,2.6,CRD,11.0 +CMT,2,1,2239,19.9,CRD,52.0 +CMT,1,1,1087,3.5,CRD,14.5 +CMT,1,1,458,1.2,CSH,7.0 +CMT,1,1,1136,3.3,CSH,15.0 +CMT,1,1,1278,3.9,CSH,16.5 +CMT,1,1,519,1.9,CSH,8.5 +CMT,1,1,157,0.8,CRD,4.5 +CMT,1,1,552,1.6,CSH,8.5 +CMT,1,1,129,0.5,CSH,4.0 +CMT,1,1,938,3.1,CSH,13.5 +CMT,1,1,581,2.1,CRD,10.0 +CMT,1,1,202,0.6,CSH,4.5 +CMT,1,1,536,2.1,CSH,8.5 +CMT,1,1,963,2.5,CRD,12.5 +CMT,1,1,847,2.2,CSH,11.5 +CMT,1,1,1433,9.7,CRD,30.0 +CMT,1,4,1320,9.0,CSH,28.0 +CMT,1,1,522,2.9,CRD,11.0 +CMT,2,1,3777,17.3,CSH,52.0 +CMT,1,1,804,2.8,CRD,12.5 +CMT,1,1,1575,3.7,CSH,19.0 +CMT,1,1,1095,4.2,CSH,15.0 +CMT,1,1,114,0.8,CSH,4.5 +CMT,1,1,871,3.9,CRD,15.0 +CMT,1,1,374,1.0,CSH,6.5 +CMT,1,1,1012,3.1,CSH,13.5 +CMT,1,1,348,1.3,CSH,6.5 +CMT,1,1,465,1.6,CRD,7.5 +CMT,1,1,956,2.4,CSH,12.0 +CMT,1,1,342,1.3,CRD,6.5 +CMT,1,1,500,1.4,CRD,7.5 +CMT,1,1,247,0.6,CSH,5.0 +CMT,1,1,836,5.7,CSH,18.5 +CMT,1,1,974,3.9,CRD,15.0 +CMT,1,1,278,0.7,CRD,5.0 +CMT,1,1,1177,6.2,CSH,21.5 +CMT,1,1,1540,9.1,CSH,28.0 +CMT,1,1,325,1.0,CRD,6.0 +CMT,2,3,2271,17.4,CSH,52.0 +CMT,1,1,787,1.2,CSH,9.5 +CMT,1,1,210,0.5,CRD,4.5 +CMT,1,1,686,1.6,CRD,9.5 +CMT,1,1,552,1.5,CRD,8.5 +CMT,1,1,392,1.3,CRD,6.5 +CMT,1,1,1091,3.4,CRD,15.0 +CMT,1,1,547,2.3,CRD,9.5 +CMT,1,1,344,1.6,CSH,7.5 +CMT,1,1,274,1.1,CRD,5.5 +CMT,1,1,783,2.8,CSH,11.5 +CMT,1,1,957,2.5,CRD,13.0 +CMT,1,1,324,0.9,CRD,5.5 +CMT,1,1,1811,10.2,CSH,31.0 +CMT,1,1,473,1.4,CRD,7.5 +CMT,1,1,196,0.9,CSH,4.5 +CMT,1,1,1158,10.9,CRD,30.5 +CMT,1,1,363,0.4,CSH,5.5 +CMT,1,1,197,0.4,CSH,4.0 +CMT,1,1,461,1.2,CSH,7.0 +CMT,1,1,89,0.1,CSH,3.0 +CMT,1,2,3910,23.9,CSH,75.5 +CMT,1,1,311,1.5,CRD,6.5 +CMT,1,1,820,2.4,CRD,11.0 +CMT,1,1,2063,9.6,CRD,33.0 +CMT,1,1,380,1.9,CRD,7.5 +CMT,1,1,998,1.8,CSH,11.5 +CMT,1,1,688,1.3,CSH,8.5 +CMT,1,1,171,0.4,CSH,4.0 +CMT,1,1,1100,7.8,CSH,24.5 +CMT,1,1,277,0.8,CRD,5.5 +CMT,2,1,2320,17.4,CSH,52.0 +CMT,1,1,381,0.8,CSH,6.0 +CMT,3,1,9,0.0,CSH,20.0 +CMT,1,1,481,0.7,CRD,6.5 +CMT,1,1,461,1.6,CRD,7.5 +CMT,1,1,734,1.9,CRD,10.0 +CMT,1,1,189,0.4,CSH,4.0 +CMT,1,1,442,1.3,CSH,7.0 +CMT,1,1,949,2.4,CRD,12.0 +CMT,1,1,502,1.2,CRD,7.5 +CMT,1,1,436,1.2,CSH,7.0 +CMT,1,1,1676,10.5,CRD,32.0 +CMT,1,1,218,0.6,CRD,4.5 +CMT,1,1,1215,4.5,CSH,17.0 +CMT,1,1,647,2.2,CSH,9.5 +CMT,1,1,1159,2.0,CRD,13.5 +CMT,1,1,440,1.0,CRD,6.5 +CMT,1,1,1127,7.9,CRD,24.5 +CMT,1,1,501,2.0,CRD,8.5 +CMT,1,1,321,0.5,CSH,5.5 +CMT,1,1,388,1.4,CSH,6.5 +CMT,2,1,2329,16.8,CSH,52.0 +CMT,2,1,1275,4.0,CRD,52.0 +CMT,1,1,1089,3.1,CRD,14.5 +CMT,1,1,1033,2.3,CSH,13.0 +CMT,1,1,705,1.4,CSH,9.0 +CMT,1,1,1241,4.8,CRD,18.5 +CMT,1,1,768,2.7,CRD,11.0 +CMT,1,1,257,0.6,CSH,5.0 +CMT,1,1,471,0.7,CRD,6.5 +CMT,1,1,234,1.5,CSH,6.5 +CMT,1,1,430,1.6,CSH,8.0 +CMT,1,1,558,1.2,CRD,7.5 +CMT,1,1,249,1.0,CRD,5.5 +CMT,1,1,363,0.7,CRD,6.0 +CMT,1,1,328,0.9,CRD,5.5 +CMT,1,1,922,7.1,CRD,22.0 +CMT,1,1,1114,1.9,CSH,13.0 +CMT,1,1,435,0.9,CRD,6.5 +CMT,1,1,1168,2.2,CRD,13.5 +CMT,1,1,774,2.4,CRD,11.0 +CMT,1,1,520,0.7,CRD,7.0 +CMT,1,1,788,1.1,CSH,9.5 +CMT,1,1,1243,4.1,CRD,17.0 +CMT,1,1,723,1.7,CSH,9.5 +CMT,1,1,109,0.5,CSH,4.0 +CMT,1,1,739,1.6,CSH,9.5 +CMT,1,1,497,0.8,CSH,7.0 +CMT,1,1,354,1.0,CRD,6.0 +CMT,1,1,275,1.5,CSH,6.5 +CMT,1,1,275,0.9,CSH,5.5 +CMT,1,1,1241,5.8,CSH,20.0 +CMT,1,1,941,1.7,CRD,11.5 +CMT,1,1,443,1.3,CRD,7.0 +CMT,1,1,306,1.0,CRD,6.0 +CMT,1,1,535,2.4,CRD,9.5 +CMT,1,1,212,0.4,CSH,4.5 +CMT,1,1,402,1.8,CSH,8.0 +CMT,1,1,232,0.9,CSH,5.0 +CMT,1,1,474,1.6,CSH,7.5 +CMT,1,1,1086,2.1,CSH,12.5 +CMT,1,1,3217,10.4,CRD,41.0 +CMT,1,1,538,2.7,CRD,11.0 +CMT,1,1,334,0.9,CSH,6.0 +CMT,1,1,752,2.8,CSH,11.5 +CMT,1,1,810,3.6,CSH,13.5 +CMT,1,1,1373,4.2,CSH,17.5 +CMT,1,1,1357,9.1,CRD,27.0 +CMT,1,1,1013,2.3,CRD,12.0 +CMT,1,1,1321,3.4,CRD,16.0 +CMT,1,1,353,0.9,CSH,6.0 +CMT,1,1,555,2.4,CRD,9.5 +CMT,1,1,986,3.5,CSH,14.5 +CMT,1,1,995,2.1,CSH,12.0 +CMT,1,1,1685,8.2,CSH,27.5 +CMT,1,1,588,2.5,CSH,10.0 +CMT,1,1,2132,9.5,CRD,34.5 +CMT,1,2,900,7.7,CRD,22.0 +CMT,1,1,984,2.3,CSH,12.5 +CMT,1,1,579,1.3,CSH,8.0 +CMT,1,1,686,1.8,CRD,9.5 +CMT,1,1,558,1.8,CRD,8.5 +CMT,1,1,422,1.5,CSH,7.5 +CMT,1,1,559,2.7,CRD,11.0 +CMT,1,1,390,0.9,CRD,6.0 +CMT,1,1,459,1.4,CSH,7.0 +CMT,1,1,116,0.0,CSH,3.0 +CMT,1,1,596,2.2,CRD,9.5 +CMT,1,1,2041,3.4,CRD,21.0 +CMT,1,1,570,1.2,CRD,8.0 +CMT,1,1,1820,6.8,CRD,25.0 +CMT,1,1,1895,11.5,CRD,36.0 +CMT,1,1,651,2.5,CSH,10.0 +CMT,1,1,474,1.1,CSH,7.5 +CMT,1,1,1598,4.3,CRD,19.5 +CMT,1,1,556,1.1,CRD,7.5 +CMT,1,1,528,1.5,CSH,8.0 +CMT,1,1,668,1.7,CRD,9.0 +CMT,1,1,194,0.7,CRD,4.5 +CMT,1,1,985,4.4,CRD,15.5 +CMT,1,1,345,1.4,CRD,6.5 +CMT,1,1,826,2.9,CRD,12.5 +CMT,1,1,516,1.2,CSH,7.5 +CMT,1,1,521,2.2,CRD,9.0 +CMT,1,1,807,1.7,CSH,10.0 +CMT,1,1,767,4.1,CRD,14.5 +CMT,1,1,629,2.5,CRD,10.0 +CMT,4,1,1971,22.7,CRD,66.0 +CMT,1,1,557,2.3,CRD,9.5 +CMT,1,1,598,2.8,CRD,10.5 +CMT,1,1,755,1.8,CSH,9.5 +CMT,1,1,605,1.3,CSH,8.5 +CMT,1,1,146,0.3,CSH,3.5 +CMT,1,1,375,1.6,CSH,7.0 +CMT,1,1,4,0.0,CSH,2.5 +CMT,1,1,1044,2.4,CSH,12.5 +CMT,1,1,810,2.8,CSH,12.0 +CMT,1,1,1957,7.7,CRD,28.0 +CMT,1,1,755,1.6,CRD,10.0 +CMT,1,1,1111,1.9,CRD,13.0 +CMT,1,1,310,1.0,CRD,6.0 +CMT,1,1,456,1.4,CRD,7.5 +CMT,1,1,309,0.6,CRD,5.0 +CMT,1,1,1392,7.4,CRD,24.0 +CMT,1,1,551,1.8,CRD,9.0 +CMT,1,1,78,0.0,CSH,3.0 +CMT,1,1,463,2.2,CSH,9.0 +CMT,1,2,1712,8.8,CRD,29.0 +CMT,1,1,2318,12.2,CRD,40.0 +CMT,1,1,2625,5.8,CSH,27.5 +CMT,1,1,350,1.1,CSH,6.5 +CMT,1,1,663,1.3,CSH,8.5 +CMT,1,1,241,0.6,CRD,5.0 +CMT,1,1,404,1.1,CRD,6.5 +CMT,1,1,396,1.4,CRD,7.0 +CMT,1,1,636,2.7,CRD,10.5 +CMT,1,1,1088,5.6,CSH,19.0 +CMT,1,1,234,0.6,CRD,5.0 +CMT,1,1,1349,8.8,CRD,27.0 +CMT,1,1,980,7.3,CRD,22.5 +CMT,1,1,1415,12.0,CSH,34.5 +CMT,1,1,2042,9.9,CRD,32.5 +CMT,1,1,115,0.4,CSH,3.5 +CMT,1,1,1004,2.0,CSH,12.0 +CMT,1,1,553,0.7,CSH,7.5 +CMT,1,1,697,1.2,CRD,8.5 +CMT,2,1,2876,17.1,CRD,52.0 +CMT,1,1,3099,9.5,CSH,38.5 +CMT,1,1,832,1.7,CRD,10.5 +CMT,1,1,315,0.6,CRD,5.5 +CMT,1,1,477,1.4,CSH,7.5 +CMT,1,1,1077,3.5,CRD,14.5 +CMT,1,1,477,0.9,CRD,7.0 +CMT,1,1,254,0.5,CSH,4.5 +CMT,1,1,918,3.1,CSH,13.0 +CMT,1,1,330,1.0,CRD,6.0 +CMT,1,1,422,0.8,CRD,6.5 +CMT,1,1,528,1.0,CSH,7.5 +CMT,1,1,716,1.5,CRD,9.0 +CMT,1,1,1615,9.8,CRD,30.5 +CMT,1,1,565,1.9,CSH,9.0 +CMT,1,1,816,1.6,CSH,10.0 +CMT,1,1,772,2.0,CRD,10.5 +CMT,1,1,1282,4.3,CRD,17.5 +CMT,1,1,953,3.7,CSH,14.5 +CMT,1,1,422,1.6,CSH,7.5 +CMT,1,1,410,1.6,CSH,7.5 +CMT,3,1,1657,16.5,CRD,62.5 +CMT,2,1,1700,18.0,CRD,52.0 +CMT,2,1,3130,17.0,CRD,52.0 +CMT,1,1,620,1.6,CSH,9.0 +CMT,1,1,406,0.4,CSH,6.0 +CMT,1,1,877,1.9,CSH,11.0 +CMT,1,1,1281,3.0,CRD,15.0 +CMT,1,1,474,1.0,CRD,7.0 +CMT,1,1,565,1.3,CRD,8.0 +CMT,1,1,745,3.1,CSH,12.0 +CMT,1,1,343,1.5,CRD,7.0 +CMT,1,1,1346,3.9,CRD,17.5 +CMT,1,1,772,2.6,CRD,11.0 +CMT,1,1,392,2.1,CSH,8.0 +CMT,1,1,287,0.4,CSH,5.0 +CMT,1,1,326,0.9,CRD,6.0 +CMT,1,1,621,2.5,CRD,10.5 +CMT,1,1,579,1.5,CRD,8.5 +CMT,1,1,920,1.9,CSH,11.0 +CMT,1,1,966,1.6,CRD,11.5 +CMT,1,1,1011,10.7,CSH,30.0 +CMT,1,1,506,1.6,CSH,8.0 +CMT,3,2,2087,17.8,CSH,68.5 +CMT,1,1,726,2.6,CSH,11.0 +CMT,1,1,1679,14.2,CRD,39.0 +CMT,1,1,836,2.5,CSH,11.5 +CMT,1,1,453,1.0,CSH,6.5 +CMT,1,1,833,3.9,CRD,14.0 +CMT,1,1,286,1.1,CRD,6.0 +CMT,1,1,691,3.2,CSH,12.5 +CMT,1,1,490,1.6,CRD,8.0 +CMT,1,1,744,3.3,CSH,12.5 +CMT,1,1,763,3.9,CRD,14.0 +CMT,1,1,1823,9.2,CSH,31.0 +CMT,1,1,734,2.3,CRD,10.5 +CMT,1,1,1583,2.9,CRD,17.5 +CMT,1,1,518,1.2,CRD,7.5 +CMT,1,1,1181,12.1,CRD,33.5 +CMT,2,1,2555,16.7,CRD,52.0 +CMT,1,1,1757,9.6,CRD,30.5 +CMT,1,1,840,2.1,CRD,11.0 +CMT,1,1,520,1.6,CSH,8.5 +CMT,1,1,1399,4.3,CSH,18.5 +CMT,1,1,224,0.4,CRD,4.5 +CMT,1,1,310,0.9,CRD,5.5 +CMT,1,1,523,1.4,CRD,8.0 +CMT,1,1,661,1.3,CRD,8.5 +CMT,1,1,1027,7.9,CRD,23.0 +CMT,1,1,1056,1.7,CRD,12.5 +CMT,1,1,1056,5.7,CRD,19.5 +CMT,1,1,1553,10.8,CSH,32.0 +CMT,1,1,140,0.7,CSH,4.0 +CMT,1,1,616,1.8,CRD,9.0 +CMT,1,1,1383,7.2,CRD,24.5 +CMT,1,1,143,0.3,CSH,3.5 +CMT,1,1,709,1.9,CRD,10.0 +CMT,1,1,363,0.8,CSH,6.0 +CMT,1,1,12,0.0,CSH,2.5 +CMT,1,1,339,1.3,CSH,6.5 +CMT,1,1,568,1.6,CSH,8.5 +CMT,1,1,478,1.1,CRD,7.0 +CMT,1,1,513,1.7,CSH,8.5 +CMT,1,1,457,0.9,CRD,6.5 +CMT,1,1,478,1.3,CRD,7.5 +CMT,1,1,598,2.3,CSH,9.5 +CMT,1,1,1141,3.0,CSH,14.0 +CMT,1,1,395,0.7,CSH,6.0 +CMT,2,2,2060,17.0,CSH,52.0 +CMT,1,1,192,0.8,CRD,4.5 +CMT,1,1,238,0.9,CRD,5.0 +CMT,1,1,656,2.0,CSH,9.5 +CMT,1,1,822,1.7,CRD,10.5 +CMT,1,1,863,1.6,CSH,11.0 +CMT,1,1,669,2.0,CSH,10.0 +CMT,1,1,1210,5.5,CSH,20.0 +CMT,1,1,303,1.2,CSH,6.0 +CMT,1,1,1048,3.3,CSH,15.0 +CMT,1,1,358,1.1,CSH,6.0 +CMT,1,1,439,1.0,CRD,6.5 +CMT,1,1,455,0.8,CSH,6.5 +CMT,1,1,420,1.4,CSH,7.0 +CMT,1,1,766,2.6,CRD,11.5 +CMT,1,1,436,0.7,CSH,6.5 +CMT,1,1,419,1.1,CRD,6.5 +CMT,1,1,505,0.9,CRD,7.0 +CMT,1,1,1781,4.3,CSH,20.0 +CMT,1,1,269,0.9,CSH,5.0 +CMT,1,1,237,0.9,CSH,5.0 +CMT,1,2,1465,9.7,CSH,30.5 +CMT,1,1,638,1.3,CSH,8.5 +CMT,1,3,1257,9.3,CRD,28.0 +CMT,1,1,136,0.5,CRD,4.0 +CMT,1,1,545,2.1,CRD,9.0 +CMT,1,1,506,1.1,CRD,7.5 +CMT,1,1,492,0.6,CRD,6.5 +CMT,1,1,514,1.3,CSH,7.5 +CMT,1,1,294,1.3,CSH,6.0 +CMT,1,1,145,0.4,CSH,4.0 +CMT,1,1,616,2.3,CSH,10.0 +CMT,1,1,423,0.7,CRD,6.0 +CMT,1,1,543,2.1,CSH,9.0 +CMT,1,1,1706,10.6,CRD,32.0 +CMT,1,1,1355,10.1,CRD,29.5 +CMT,1,1,692,1.3,CRD,9.0 +CMT,1,1,2462,5.1,CRD,25.0 +CMT,1,1,3065,14.9,CSH,45.5 +CMT,1,1,401,1.3,CRD,7.0 +CMT,1,1,2230,20.2,CRD,54.5 +CMT,1,1,875,2.8,CSH,12.5 +CMT,1,1,669,2.5,CSH,10.5 +CMT,1,1,449,0.7,CRD,6.5 +CMT,1,1,878,2.4,CSH,11.5 +CMT,1,1,1599,16.8,CRD,45.5 +CMT,1,1,495,1.3,CSH,7.5 +CMT,1,1,1350,9.3,CRD,28.5 +CMT,1,1,490,1.1,CSH,7.0 +CMT,1,1,1657,3.9,CSH,20.0 +CMT,1,1,324,0.8,CSH,5.5 +CMT,1,1,672,2.4,CRD,10.0 +CMT,1,1,411,1.2,CSH,7.0 +CMT,1,1,1231,3.1,CRD,15.0 +CMT,1,1,451,1.6,CSH,7.5 +CMT,1,1,591,2.2,CSH,10.0 +CMT,1,1,146,0.5,CRD,4.0 +CMT,2,1,2604,20.8,CRD,52.0 +CMT,1,1,145,0.5,CSH,4.0 +CMT,1,1,1022,2.8,CSH,13.0 +CMT,1,1,1051,3.5,CSH,14.5 +CMT,1,1,861,2.9,CSH,12.5 +CMT,1,1,143,0.5,CSH,4.0 +CMT,1,1,483,1.2,CRD,7.5 +CMT,1,1,764,2.4,CSH,11.0 +CMT,1,1,908,2.4,CRD,12.0 +CMT,1,1,917,2.6,CSH,12.0 +CMT,1,1,638,1.9,CRD,9.0 +CMT,1,1,1377,5.3,CSH,21.5 +CMT,1,1,315,0.9,CSH,6.0 +CMT,1,2,1928,10.2,CRD,33.0 +CMT,1,1,2320,8.7,CSH,33.0 +CMT,1,1,1899,10.6,CSH,34.0 +CMT,1,1,991,1.8,CRD,11.0 +CMT,1,1,373,1.4,CSH,7.0 +CMT,1,1,397,1.4,CSH,6.5 +CMT,1,1,801,2.6,CRD,12.0 +CMT,1,1,939,3.4,CRD,14.0 +CMT,1,1,419,1.1,CRD,6.5 +CMT,1,1,182,0.7,CRD,4.5 +CMT,1,1,1221,2.9,CRD,15.0 +CMT,1,1,691,3.1,CRD,12.0 +CMT,1,1,1046,3.4,CRD,14.5 +CMT,1,1,1339,9.6,CRD,28.0 +CMT,1,1,845,3.2,CSH,13.0 +CMT,1,1,789,2.5,CSH,11.0 +CMT,1,1,186,0.6,CSH,4.5 +CMT,1,1,1157,4.0,CRD,17.0 +CMT,1,1,495,2.6,CSH,9.5 +CMT,1,1,996,1.5,CSH,11.5 +CMT,1,1,266,1.8,CSH,7.0 +CMT,1,1,270,2.0,CSH,7.5 +CMT,1,1,280,1.1,CSH,5.5 +CMT,1,1,609,1.2,CRD,8.5 +CMT,1,1,660,3.3,CSH,12.5 +CMT,1,1,560,1.3,CRD,8.5 +CMT,1,1,1421,8.1,CSH,26.0 +CMT,1,1,296,2.0,CSH,8.0 +CMT,1,1,967,2.8,CRD,13.0 +CMT,1,1,475,1.2,CRD,7.0 +CMT,1,1,356,1.0,CRD,6.0 +CMT,1,1,709,2.8,CRD,11.5 +CMT,1,1,683,1.9,CRD,9.5 +CMT,1,1,1657,9.6,CSH,31.0 +CMT,1,1,1003,3.2,CSH,13.5 +CMT,1,1,663,2.1,CRD,10.0 +CMT,1,1,324,0.8,CSH,5.5 +CMT,2,2,2090,17.9,CSH,52.0 +CMT,1,1,649,3.0,CSH,11.0 +CMT,1,1,287,1.0,CSH,5.5 +CMT,1,1,2271,6.9,CRD,28.5 +CMT,1,1,678,1.2,CRD,8.5 +CMT,1,1,1158,2.9,CRD,14.5 +CMT,1,1,435,2.0,CSH,8.5 +CMT,1,1,722,2.0,CRD,10.0 +CMT,1,1,1298,3.9,CSH,17.5 +CMT,1,1,180,0.6,CSH,4.0 +CMT,1,1,401,1.1,CSH,6.5 +CMT,1,1,315,1.2,CSH,6.0 +CMT,1,1,256,0.6,CSH,5.0 +CMT,1,1,670,1.7,CRD,9.0 +CMT,2,1,2671,19.7,CRD,52.0 +CMT,1,1,117,0.3,CRD,3.5 +CMT,1,1,791,3.2,CRD,13.0 +CMT,1,1,266,0.6,CSH,5.0 +CMT,1,1,1550,11.8,CRD,34.5 +CMT,2,1,2612,21.6,CRD,52.0 +CMT,1,1,1446,3.7,CSH,18.0 +CMT,1,1,284,1.0,CSH,5.5 +CMT,2,1,2819,18.6,CRD,52.0 +CMT,1,1,1781,6.2,CRD,23.0 +CMT,1,1,753,3.7,CRD,13.5 +CMT,1,1,324,1.1,CSH,6.0 +CMT,1,1,434,1.3,CRD,7.0 +CMT,1,1,293,1.2,CRD,6.0 +CMT,1,1,985,1.6,CSH,11.5 +CMT,1,1,1263,2.8,CRD,15.0 +CMT,1,1,476,1.0,CSH,7.5 +CMT,1,1,87,0.3,CSH,3.5 +CMT,1,1,1314,6.4,CRD,22.5 +CMT,1,1,462,2.6,CRD,10.5 +CMT,1,1,577,1.8,CRD,9.0 +CMT,1,1,760,2.2,CRD,10.5 +CMT,1,1,242,0.6,CSH,4.5 +CMT,1,1,205,0.5,CSH,4.5 +CMT,1,1,459,2.0,CSH,8.5 +CMT,1,1,787,1.6,CRD,10.5 +CMT,1,1,512,1.2,CSH,7.5 +CMT,1,1,725,1.8,CRD,10.0 +CMT,1,1,530,1.5,CRD,8.0 +CMT,1,1,1079,3.0,CRD,14.5 +CMT,1,1,96,0.4,CSH,3.5 +CMT,1,1,784,1.4,CSH,10.0 +CMT,1,1,940,2.8,CSH,12.5 +CMT,1,1,583,1.4,CRD,8.0 +CMT,1,1,467,1.1,CSH,7.0 +CMT,1,1,469,0.8,CSH,6.5 +CMT,1,1,878,2.7,CRD,12.0 +CMT,1,1,386,1.2,CSH,6.5 +CMT,1,1,657,2.7,CRD,11.0 +CMT,1,1,3709,7.9,CSH,41.5 +CMT,1,1,324,1.1,CRD,6.0 +CMT,1,1,721,2.0,CSH,10.0 +CMT,1,1,617,1.2,CRD,8.0 +CMT,1,1,1329,9.0,CRD,28.0 +CMT,1,1,813,1.7,CSH,10.5 +CMT,1,1,1158,3.2,CSH,14.5 +CMT,1,1,480,0.8,CSH,7.0 +CMT,1,1,598,1.5,CRD,8.5 +CMT,1,1,988,1.8,CSH,11.5 +CMT,1,1,521,2.0,CSH,8.5 +CMT,1,1,543,0.9,CRD,7.5 +CMT,1,1,2254,6.3,CSH,28.0 +CMT,1,1,1530,7.4,CRD,25.5 +CMT,1,1,161,0.2,CSH,4.0 +CMT,1,1,761,1.9,CSH,10.0 +CMT,1,1,815,1.5,CSH,10.0 +CMT,1,1,1121,7.2,CSH,22.5 +CMT,1,1,1431,8.9,CSH,28.5 +CMT,1,1,557,1.9,CRD,9.0 +CMT,1,1,1022,2.1,CRD,12.5 +CMT,1,1,888,8.7,CRD,25.0 +CMT,1,1,435,1.7,CRD,7.5 +CMT,4,1,258,1.5,CSH,6.5 +CMT,1,1,173,0.5,CSH,4.0 +CMT,1,1,700,3.7,CSH,13.5 +CMT,1,1,258,1.1,CSH,5.5 +CMT,1,1,923,2.0,CSH,12.0 +CMT,1,1,2879,1.1,CSH,2.5 +CMT,1,1,519,1.1,CRD,7.5 +CMT,1,1,322,0.9,CSH,6.0 +CMT,1,1,436,1.2,CRD,7.0 +CMT,1,1,480,1.9,CRD,8.5 +CMT,1,1,751,3.3,CRD,13.5 +CMT,1,1,741,4.7,CSH,15.5 +CMT,1,1,1158,6.5,CRD,21.0 +CMT,1,1,302,1.0,CRD,6.0 +CMT,1,1,494,2.1,CRD,9.0 +CMT,1,1,596,1.4,CSH,8.5 +CMT,1,1,272,1.2,CSH,6.0 +CMT,1,1,695,2.4,CRD,11.0 +CMT,1,1,608,3.6,CRD,12.0 +CMT,1,1,998,4.5,CSH,17.0 +CMT,1,1,533,1.8,CSH,9.0 +CMT,1,1,1081,6.2,CSH,20.5 +CMT,1,1,690,1.8,CRD,9.5 +CMT,1,1,1023,2.3,CSH,12.5 +CMT,1,1,59,0.3,CSH,3.0 +CMT,1,1,174,0.7,CRD,4.5 +CMT,1,1,1033,4.2,CRD,15.5 +CMT,1,1,295,1.1,CSH,5.5 +CMT,1,1,435,1.7,CSH,8.0 +CMT,1,1,698,1.9,CSH,9.5 +CMT,1,1,385,1.0,CRD,6.0 +CMT,1,1,295,1.3,CRD,6.5 +CMT,1,1,476,1.3,CRD,7.0 +CMT,1,1,974,3.0,CRD,13.0 +CMT,1,1,1380,2.1,CSH,15.0 +CMT,1,1,1610,7.4,CRD,26.0 +CMT,1,1,1138,3.9,CRD,16.0 +CMT,1,1,245,1.0,CSH,5.5 +CMT,1,1,850,2.2,CSH,11.0 +CMT,1,1,857,3.4,CRD,13.0 +CMT,1,1,621,2.0,CSH,9.5 +CMT,1,1,1229,2.7,CSH,15.0 +CMT,1,1,1204,12.5,CSH,35.0 +CMT,1,1,865,7.4,CSH,22.5 +CMT,1,1,680,3.0,CSH,12.0 +CMT,1,1,100,0.7,CSH,4.0 +CMT,1,1,624,1.4,CSH,8.5 +CMT,1,1,699,2.3,CSH,10.5 +CMT,1,1,352,1.8,CRD,7.5 +CMT,1,1,326,0.9,CRD,6.0 +CMT,1,1,215,0.5,CSH,4.5 +CMT,1,1,581,2.5,CSH,10.5 +CMT,1,1,1787,3.5,CSH,20.0 +CMT,1,1,1021,9.8,CSH,28.5 +CMT,1,1,854,3.1,CRD,12.5 +CMT,1,1,1367,2.8,CRD,16.5 +CMT,1,1,719,4.0,CSH,13.5 +CMT,1,1,1575,18.1,CSH,49.5 +CMT,1,1,442,2.9,CRD,10.0 +CMT,1,1,801,1.7,CRD,10.0 +CMT,1,1,229,0.5,CRD,4.5 +CMT,1,1,3,0.0,CSH,2.5 +CMT,1,1,1023,4.1,CRD,16.5 +CMT,1,1,637,3.1,CSH,12.0 +CMT,1,1,845,3.0,CRD,13.0 +CMT,1,1,931,5.2,CRD,18.0 +CMT,1,1,236,1.3,CRD,6.5 +CMT,1,1,3041,13.6,CRD,47.5 +CMT,1,1,378,1.0,CRD,6.5 +CMT,1,1,94,0.6,CRD,4.0 +CMT,1,1,721,4.0,CSH,14.0 +CMT,1,1,562,2.5,CSH,10.0 +CMT,1,1,1003,2.5,CSH,13.0 +CMT,1,1,535,1.8,CSH,8.5 +CMT,1,1,372,2.0,CSH,8.5 +CMT,1,1,393,2.2,CSH,8.5 +CMT,1,1,686,1.9,CSH,9.5 +CMT,1,1,495,4.1,CRD,13.0 +CMT,1,1,763,4.3,CSH,15.0 +CMT,1,1,216,1.7,CRD,7.0 +CMT,1,1,743,1.5,CSH,9.5 +CMT,1,1,318,0.6,CRD,5.5 +CMT,1,1,113,0.2,CRD,3.5 +CMT,1,1,1363,2.9,CSH,16.5 +CMT,1,1,405,0.7,CRD,6.5 +CMT,1,1,909,5.3,CRD,18.5 +CMT,1,1,699,4.3,CRD,14.0 +CMT,1,1,210,0.6,CSH,4.5 +CMT,1,1,1040,3.5,CRD,15.0 +CMT,1,1,453,1.1,CRD,7.0 +CMT,1,1,270,0.7,CRD,5.0 +CMT,1,1,481,2.4,CSH,9.5 +CMT,1,1,249,1.5,CRD,6.5 +CMT,1,1,302,1.0,CSH,6.0 +CMT,1,1,924,4.3,CRD,15.5 +CMT,1,1,1136,2.1,CRD,13.0 +CMT,1,1,744,2.1,CRD,10.0 +CMT,1,1,319,0.6,CRD,5.5 +CMT,1,1,748,2.5,CRD,11.5 +CMT,1,1,405,0.9,CRD,6.0 +CMT,1,1,753,1.9,CRD,9.5 +CMT,1,1,279,1.1,CSH,6.0 +CMT,1,1,1138,11.4,CSH,31.0 +CMT,1,1,857,2.3,CSH,12.0 +CMT,1,1,724,3.3,CSH,12.5 +CMT,1,1,192,0.6,CSH,4.5 +CMT,1,1,821,3.6,CSH,13.5 +CMT,1,1,757,3.9,CRD,14.0 +CMT,1,1,565,1.2,CSH,8.0 +CMT,1,1,286,1.1,CSH,6.0 +CMT,1,1,783,1.9,CSH,10.5 +CMT,1,1,277,0.9,CRD,5.0 +CMT,1,1,245,0.8,CSH,5.0 +CMT,1,1,464,1.2,CSH,7.0 +CMT,1,1,1721,14.8,CSH,42.5 +CMT,1,1,1318,7.5,CRD,24.5 +CMT,1,1,679,3.8,CRD,13.0 +CMT,1,1,367,1.3,CSH,7.0 +CMT,1,1,378,1.6,CRD,7.5 +CMT,1,1,424,1.0,CRD,6.5 +CMT,1,1,483,1.2,CRD,7.5 +CMT,1,1,802,4.1,CRD,15.0 +CMT,1,1,878,9.3,CSH,27.0 +CMT,1,1,1326,8.1,CSH,26.5 +CMT,1,1,1160,4.5,CRD,17.0 +CMT,1,1,183,0.5,CRD,4.0 +CMT,1,1,706,1.9,CRD,10.0 +CMT,1,1,152,0.3,CSH,4.0 +CMT,1,1,133,0.3,CSH,3.5 +CMT,1,1,284,0.9,CSH,5.5 +CMT,1,1,535,2.0,CRD,9.0 +CMT,1,1,387,1.4,CSH,7.0 +CMT,1,1,805,5.4,CRD,17.5 +CMT,1,1,366,1.6,CRD,7.5 +CMT,1,1,2470,11.9,CSH,38.5 +CMT,1,1,272,0.3,CRD,4.5 +CMT,1,1,1487,12.0,CSH,34.5 +CMT,1,1,1010,4.1,CRD,15.5 +CMT,1,1,415,2.0,CRD,9.0 +CMT,1,1,647,2.0,CSH,9.5 +CMT,1,1,95,0.4,CSH,3.5 +CMT,1,1,735,3.3,CSH,12.5 +CMT,1,1,828,5.8,CRD,18.0 +CMT,1,1,603,4.0,CSH,13.5 +CMT,1,1,769,2.8,CRD,12.0 +CMT,1,1,264,0.9,CRD,5.5 +CMT,1,1,277,0.6,CSH,5.0 +CMT,1,1,353,1.0,CSH,6.0 +CMT,1,1,637,2.4,CSH,10.5 +CMT,1,1,736,3.0,CRD,12.0 +CMT,1,2,1510,9.4,CSH,29.0 +CMT,1,1,303,1.2,CRD,6.0 +CMT,1,1,519,1.3,CSH,8.0 +CMT,1,1,1373,3.7,CRD,17.5 +CMT,1,1,1254,3.9,CRD,17.5 +CMT,1,1,373,1.9,CRD,7.5 +CMT,2,1,1974,19.4,CRD,52.0 +CMT,1,1,683,1.3,CSH,9.0 +CMT,1,1,1095,4.4,CRD,17.0 +CMT,1,1,181,0.7,CRD,4.5 +CMT,1,1,1088,3.4,CSH,14.5 +CMT,1,1,528,2.3,CRD,9.5 +CMT,1,1,735,5.9,CRD,18.0 +CMT,1,1,459,0.9,CSH,6.5 +CMT,1,1,1374,5.9,CRD,20.5 +CMT,1,1,409,1.1,CSH,6.5 +CMT,1,1,172,0.6,CSH,4.0 +CMT,1,1,446,0.8,CSH,6.5 +CMT,1,1,350,0.9,CRD,6.0 +CMT,1,1,86,0.1,CSH,3.0 +CMT,1,1,403,1.2,CSH,7.0 +CMT,1,1,308,0.7,CSH,5.5 +CMT,1,1,424,1.0,CRD,6.5 +CMT,1,1,274,0.8,CSH,5.5 +CMT,1,1,604,0.9,CRD,8.0 +CMT,1,1,992,3.5,CRD,14.0 +CMT,1,1,720,4.7,CSH,15.0 +CMT,1,1,536,2.6,CRD,10.0 +CMT,1,1,1142,4.6,CSH,18.0 +CMT,1,1,289,1.0,CSH,6.0 +CMT,1,1,466,2.8,CRD,10.0 +CMT,1,1,8,0.0,CSH,2.5 +CMT,1,1,694,1.2,CSH,9.0 +CMT,1,1,550,1.9,CSH,9.0 +CMT,1,1,833,2.8,CSH,12.5 +CMT,1,1,667,2.3,CRD,10.0 +CMT,1,1,295,0.5,CRD,5.0 +CMT,1,1,570,1.3,CRD,8.0 +CMT,1,1,381,1.4,CRD,7.0 +CMT,1,1,837,3.5,CSH,14.0 +CMT,1,1,281,1.1,CRD,6.0 +CMT,1,1,274,1.1,CSH,6.0 +CMT,1,1,640,1.9,CRD,9.5 +CMT,1,1,617,2.1,CRD,10.0 +CMT,1,1,1048,10.3,CSH,29.5 +CMT,1,1,454,1.8,CSH,8.5 +CMT,1,1,1222,9.8,CRD,28.5 +CMT,1,1,185,0.6,CSH,4.5 +CMT,1,1,230,0.9,CSH,5.0 +CMT,1,1,367,1.3,CSH,7.0 +CMT,1,1,483,1.7,CSH,8.0 +CMT,1,1,1015,11.6,CSH,32.0 +CMT,1,1,1036,2.2,CRD,13.0 +CMT,1,1,542,3.3,CRD,12.0 +CMT,1,1,682,5.6,CRD,17.5 +CMT,1,1,1156,9.3,CSH,28.0 +CMT,1,1,1031,5.5,CSH,18.0 +CMT,1,1,984,4.9,CRD,17.5 +CMT,1,1,613,2.5,CRD,10.5 +CMT,1,1,578,2.1,CRD,10.0 +CMT,1,1,514,3.2,CSH,10.5 +CMT,1,1,210,0.6,CRD,4.5 +CMT,1,1,891,4.1,CRD,15.0 +CMT,1,1,475,0.8,CRD,7.0 +CMT,1,1,477,1.3,CSH,7.0 +CMT,1,1,585,2.5,CRD,10.5 +CMT,1,1,616,1.8,CSH,9.0 +CMT,1,1,711,3.0,CRD,12.0 +CMT,1,1,464,1.0,CSH,7.0 +CMT,1,1,422,1.8,CRD,8.0 +CMT,1,1,464,1.1,CRD,7.0 +CMT,1,1,626,2.5,CRD,11.0 +CMT,1,1,47,0.2,CSH,3.0 +CMT,1,1,507,2.5,CSH,10.0 +CMT,1,1,892,2.8,CRD,12.5 +CMT,1,1,549,2.9,CRD,11.0 +CMT,1,1,378,2.3,CSH,8.5 +CMT,1,1,659,2.6,CRD,10.5 +CMT,1,1,566,1.1,CRD,7.5 +CMT,1,1,750,2.2,CRD,11.0 +CMT,1,1,690,2.9,CRD,11.5 +CMT,1,1,356,1.3,CRD,6.5 +CMT,1,1,112,0.4,CSH,3.5 +CMT,1,1,627,3.9,CRD,13.0 +CMT,1,1,1505,3.7,CRD,18.5 +CMT,1,1,1069,4.9,CRD,18.0 +CMT,1,1,464,2.3,CSH,9.5 +CMT,1,1,138,0.9,CRD,4.5 +CMT,1,1,285,1.1,CRD,6.0 +CMT,1,1,679,2.7,CRD,11.5 +CMT,1,1,718,2.4,CSH,11.0 +CMT,1,1,503,0.8,CRD,7.0 +CMT,1,1,151,0.7,CSH,4.5 +CMT,1,1,901,4.0,CSH,15.0 +CMT,1,1,625,3.6,CRD,13.0 +CMT,1,1,554,2.6,CSH,10.0 +CMT,1,1,534,1.6,CRD,8.5 +CMT,1,1,293,1.1,CSH,6.0 +CMT,1,1,193,0.5,CRD,4.5 +CMT,1,1,881,3.8,CRD,14.5 +CMT,1,1,366,1.3,CRD,7.0 +CMT,1,1,423,3.4,CSH,11.5 +CMT,1,1,371,3.2,CRD,10.5 +CMT,1,1,279,1.5,CSH,7.0 +CMT,1,1,646,2.0,CSH,9.5 +CMT,1,1,24,0.1,CSH,2.5 +CMT,1,1,448,1.4,CSH,7.5 +CMT,1,1,970,1.5,CRD,11.0 +CMT,1,1,879,3.2,CSH,13.5 +CMT,1,1,817,2.5,CSH,11.5 +CMT,1,1,962,3.4,CRD,14.0 +CMT,1,1,331,0.3,CSH,5.0 +CMT,1,1,385,1.6,CSH,7.5 +CMT,1,1,522,2.7,CRD,10.5 +CMT,1,1,2097,9.3,CSH,32.5 +CMT,1,1,849,6.9,CRD,21.5 +CMT,1,1,292,0.9,CRD,5.5 +CMT,1,1,271,1.0,CSH,5.5 +CMT,1,1,600,3.2,CSH,12.0 +CMT,1,1,526,2.4,CRD,9.5 +CMT,1,1,575,2.3,CRD,10.0 +CMT,1,1,611,1.4,CSH,8.5 +CMT,1,1,629,1.8,CRD,9.5 +CMT,1,1,323,1.6,CSH,7.0 +CMT,1,1,654,2.1,CSH,10.0 +CMT,1,1,442,1.9,CSH,8.5 +CMT,1,1,529,3.7,CSH,12.0 +CMT,1,1,1131,9.8,CRD,29.0 +CMT,1,1,104,0.7,CSH,4.0 +CMT,1,1,233,0.8,CSH,5.0 +CMT,1,1,315,1.3,CSH,6.5 +CMT,1,1,1093,2.6,CRD,13.5 +CMT,1,1,448,0.8,CRD,6.5 +CMT,1,1,378,1.0,CSH,6.0 +CMT,1,1,395,2.7,CSH,9.5 +CMT,1,1,302,1.4,CSH,6.5 +CMT,1,1,370,0.9,CRD,6.0 +CMT,1,1,555,1.0,CRD,7.5 +CMT,1,1,568,5.0,CSH,15.5 +CMT,1,1,384,1.6,CRD,7.5 +CMT,1,1,790,3.6,CRD,14.0 +CMT,1,1,394,1.4,CRD,7.0 +CMT,1,1,1433,6.8,CSH,24.0 +CMT,1,1,345,1.0,CRD,6.0 +CMT,1,1,1401,2.4,CSH,15.5 +CMT,1,1,1019,5.4,CRD,18.0 +CMT,1,1,222,0.7,CRD,5.0 +CMT,1,1,748,2.2,CSH,11.0 +CMT,1,1,651,1.1,CRD,8.5 +CMT,1,1,505,1.8,CRD,8.5 +CMT,1,1,623,3.3,CRD,12.0 +CMT,1,1,1397,6.2,CRD,23.5 +CMT,1,1,340,1.2,CSH,6.5 +CMT,1,1,342,1.4,CRD,7.0 +CMT,1,1,221,0.8,CRD,5.0 +CMT,1,1,184,0.9,CSH,5.0 +CMT,1,1,2201,14.7,CSH,45.0 +CMT,1,1,745,3.0,CRD,12.0 +CMT,1,1,450,1.9,CSH,8.5 +CMT,1,1,314,0.9,CSH,5.5 +CMT,1,1,147,0.5,CRD,4.0 +CMT,1,1,357,1.1,CSH,6.5 +CMT,1,1,147,0.0,CSH,3.5 +CMT,1,1,195,0.7,CSH,4.5 +CMT,1,1,637,3.4,CSH,12.0 +CMT,1,1,346,1.6,CSH,7.0 +CMT,1,1,427,1.4,CRD,7.5 +CMT,1,1,712,3.1,CSH,13.0 +CMT,1,1,1166,10.7,CRD,30.0 +CMT,1,1,680,3.6,CRD,12.5 +CMT,1,1,657,1.7,CSH,9.5 +CMT,1,1,134,0.4,CSH,4.0 +CMT,1,1,420,1.2,CRD,7.0 +CMT,1,1,172,0.7,CSH,4.5 +CMT,1,1,1317,3.8,CRD,17.5 +CMT,1,1,417,1.6,CRD,7.5 +CMT,1,1,1141,5.7,CRD,21.0 +CMT,1,1,405,1.6,CSH,7.5 +CMT,1,1,376,1.3,CSH,6.5 +CMT,1,1,1002,8.2,CSH,24.5 +CMT,1,1,595,3.5,CSH,12.0 +CMT,1,1,386,1.3,CSH,7.0 +CMT,1,1,211,0.6,CSH,4.5 +CMT,1,1,269,0.9,CRD,5.5 +CMT,1,1,438,1.8,CSH,8.0 +CMT,1,1,1244,8.6,CRD,26.0 +CMT,1,1,2139,12.2,CRD,38.0 +CMT,1,1,215,0.9,CRD,5.0 +CMT,1,1,1372,8.3,CRD,25.5 +CMT,1,1,103,0.6,CSH,4.0 +CMT,1,1,349,1.8,CSH,7.5 +CMT,1,1,996,7.9,CSH,23.5 +CMT,1,1,462,1.6,CRD,7.5 +CMT,1,1,319,1.3,CSH,6.5 +CMT,1,1,564,2.0,CSH,9.5 +CMT,1,1,1535,7.2,CSH,26.0 +CMT,1,1,421,2.2,CRD,8.5 +CMT,1,1,1078,4.7,CSH,16.5 +CMT,1,1,417,0.9,CRD,6.5 +CMT,1,1,866,2.1,CRD,11.5 +CMT,1,1,994,2.3,CSH,12.5 +CMT,1,1,839,0.8,CSH,9.5 +CMT,1,1,818,1.6,CRD,10.0 +CMT,1,1,258,0.5,CRD,5.0 +CMT,1,1,957,10.9,CRD,30.5 +CMT,1,1,953,3.9,CRD,15.0 +CMT,1,1,935,2.4,CRD,12.5 +CMT,1,1,629,2.1,CRD,10.0 +CMT,1,1,681,1.9,CSH,10.0 +CMT,1,1,656,2.1,CSH,9.5 +CMT,1,1,297,1.7,CSH,7.0 +CMT,1,1,402,2.7,CSH,10.0 +CMT,1,1,316,1.4,CRD,6.5 +CMT,1,1,577,3.1,CSH,11.0 +CMT,1,1,174,0.9,CSH,5.0 +CMT,1,1,391,0.9,CRD,6.5 +CMT,1,1,877,8.6,CRD,24.5 +CMT,1,1,772,4.0,CRD,14.0 +CMT,1,1,556,0.6,CRD,7.0 +CMT,1,1,1021,3.8,CRD,16.0 +CMT,1,1,1073,10.6,CRD,29.5 +CMT,1,1,190,0.4,CRD,4.0 +CMT,1,1,918,3.1,CRD,13.5 +CMT,1,1,414,1.4,CRD,7.5 +CMT,1,1,481,0.9,CSH,7.0 +CMT,1,1,779,1.4,CRD,10.0 +CMT,1,1,904,5.5,CRD,17.0 +CMT,1,1,685,2.8,CSH,11.5 +CMT,1,1,1261,5.6,CRD,20.5 +CMT,1,1,1061,3.2,CRD,14.5 +CMT,2,1,1810,18.4,CSH,52.0 +CMT,1,1,462,1.5,CSH,7.5 +CMT,1,1,1794,14.2,CRD,41.0 +CMT,1,1,1092,4.8,CRD,18.0 +CMT,1,1,801,1.9,CSH,10.5 +CMT,1,1,202,0.6,CSH,4.5 +CMT,1,1,622,3.5,CRD,12.0 +CMT,1,1,1156,6.9,CRD,23.0 +CMT,1,1,1189,9.9,CRD,29.0 +CMT,1,1,554,2.5,CSH,10.0 +CMT,1,1,242,0.8,CRD,5.0 +CMT,1,1,1344,5.6,CRD,21.0 +CMT,1,1,401,1.3,CRD,7.0 +CMT,1,1,434,1.1,CSH,7.0 +CMT,1,1,239,0.8,CSH,5.0 +CMT,1,1,611,1.4,CRD,8.5 +CMT,1,1,45,0.1,CSH,2.5 +CMT,1,1,330,0.6,CRD,5.5 +CMT,1,1,592,2.6,CRD,10.5 +CMT,1,1,327,1.0,CRD,6.0 +CMT,1,1,175,1.3,CSH,5.5 +CMT,1,1,397,3.8,CRD,12.0 +CMT,1,1,628,4.6,CRD,15.0 +CMT,1,1,758,2.1,CSH,10.5 +CMT,1,1,402,1.7,CSH,7.5 +CMT,1,1,456,1.3,CRD,7.0 +CMT,1,1,817,2.6,CSH,12.5 +CMT,1,1,1107,8.0,CRD,25.0 +CMT,1,1,859,4.4,CRD,15.5 +CMT,1,1,262,1.1,CSH,5.5 +CMT,1,1,1860,16.7,CRD,46.0 +CMT,1,1,326,1.7,CSH,7.0 +CMT,1,1,383,1.7,CSH,7.5 +CMT,1,1,672,1.6,CSH,9.0 +CMT,1,1,189,0.8,CRD,4.5 +CMT,1,1,338,1.0,CSH,6.5 +CMT,1,1,648,2.6,CRD,10.5 +CMT,1,1,291,1.2,CRD,6.0 +CMT,1,1,334,2.3,CRD,8.5 +CMT,1,1,736,4.1,CSH,14.5 +CMT,1,1,583,2.0,CSH,9.5 +CMT,1,1,1415,10.4,CSH,32.0 +CMT,1,1,440,1.2,CRD,7.0 +CMT,1,1,221,0.7,CSH,5.0 +CMT,1,1,1038,5.0,CRD,18.0 +CMT,1,1,1348,2.9,CRD,16.0 +CMT,1,1,466,1.4,CRD,7.5 +CMT,1,1,1432,11.0,CSH,32.5 +CMT,1,1,710,5.3,CSH,17.0 +CMT,1,1,313,1.7,CSH,7.5 +CMT,1,1,343,1.2,CSH,6.5 +CMT,1,1,226,0.7,CSH,5.0 +CMT,1,1,818,4.2,CSH,15.5 +CMT,1,1,528,1.5,CRD,8.0 +CMT,1,1,1025,5.0,CSH,17.5 +CMT,1,1,719,2.3,CSH,11.0 +CMT,1,1,587,2.8,CSH,11.0 +CMT,1,1,714,2.7,CSH,11.0 +CMT,1,1,445,1.6,CSH,8.0 +CMT,1,1,850,3.7,CRD,14.0 +CMT,1,1,676,4.9,CSH,15.0 +CMT,1,1,1582,8.7,CRD,29.0 +CMT,1,1,506,2.1,CSH,9.0 +CMT,1,1,212,0.6,CRD,4.5 +CMT,1,1,407,0.6,CRD,6.0 +CMT,1,1,473,1.6,CRD,8.0 +CMT,1,1,1129,2.9,CSH,14.5 +CMT,1,1,788,2.2,CSH,10.5 +CMT,1,1,383,1.6,CSH,7.5 +CMT,1,1,228,0.4,CRD,4.5 +CMT,1,1,214,0.6,CSH,4.5 +CMT,1,1,502,1.1,CSH,7.5 +CMT,1,1,1402,6.4,CRD,23.5 +CMT,1,1,62,0.4,CRD,3.5 +CMT,1,1,783,3.7,CRD,14.0 +CMT,1,1,2422,20.4,CSH,59.5 +CMT,1,1,777,3.5,CRD,14.0 +CMT,1,1,1613,13.0,CSH,38.0 +CMT,1,1,761,4.1,CSH,14.0 +CMT,1,1,534,2.5,CRD,10.0 +CMT,1,1,80,0.5,CSH,3.5 +CMT,1,1,992,9.5,CSH,26.5 +CMT,1,1,164,0.7,CSH,4.5 +CMT,1,1,2225,6.0,CSH,28.0 +CMT,1,1,78,0.3,CRD,3.5 +CMT,1,1,427,0.9,CSH,6.5 +CMT,1,1,793,4.8,CSH,16.0 +CMT,1,1,544,1.2,CSH,8.0 +CMT,1,1,312,1.0,CSH,6.0 +CMT,1,1,1902,5.4,CRD,23.5 +CMT,2,2,2611,17.2,CRD,52.0 +CMT,1,1,1039,2.0,CRD,12.5 +CMT,1,1,531,1.8,CRD,8.5 +CMT,1,1,1029,3.1,CSH,14.0 +CMT,1,1,1398,4.9,CRD,20.0 +CMT,1,1,300,0.8,CSH,5.5 +CMT,5,1,147,0.0,CRD,92.5 +CMT,1,1,181,0.7,CRD,4.5 +CMT,1,1,831,1.8,CSH,11.0 +CMT,1,1,261,1.0,CSH,5.5 +CMT,1,1,73,0.4,CSH,3.5 +CMT,1,1,562,3.1,CRD,11.5 +CMT,1,1,326,1.0,CRD,5.5 +CMT,1,1,1093,6.0,CRD,21.0 +CMT,1,1,483,2.4,CRD,9.0 +CMT,1,1,239,0.5,CRD,4.5 +CMT,1,1,715,1.4,CRD,9.5 +CMT,1,1,782,3.6,CSH,13.5 +CMT,1,1,1329,5.8,CRD,20.5 +CMT,1,1,765,3.6,CSH,13.0 +CMT,1,1,1018,6.4,CSH,21.5 +CMT,1,1,397,1.3,CSH,7.0 +CMT,1,1,270,0.6,CSH,5.0 +CMT,1,1,165,0.9,CRD,4.5 +CMT,1,1,702,1.8,CRD,10.0 +CMT,1,1,270,0.7,CSH,5.5 +CMT,1,1,148,0.5,CRD,4.0 +CMT,1,1,374,1.5,CRD,7.0 +CMT,1,1,689,3.7,CSH,13.0 +CMT,1,1,632,3.1,CRD,11.5 +CMT,1,1,1289,2.2,CSH,14.0 +CMT,1,1,878,0.9,CRD,10.0 +CMT,1,1,357,1.6,CSH,7.5 +CMT,1,1,576,1.9,CSH,9.0 +CMT,1,1,516,1.5,CRD,8.0 +CMT,1,1,564,1.6,CSH,8.5 +CMT,1,1,2343,6.7,CRD,29.0 +CMT,1,1,547,1.8,CRD,8.5 +CMT,1,1,381,1.0,CRD,6.5 +CMT,1,1,1612,4.8,CSH,22.5 +CMT,1,1,575,2.1,CRD,9.0 +CMT,1,1,369,1.2,CSH,6.5 +CMT,1,1,100,0.5,CSH,3.5 +CMT,1,1,532,1.5,CRD,8.5 +CMT,1,1,820,2.1,CRD,11.0 +CMT,1,1,1129,9.7,CRD,28.5 +CMT,1,1,680,3.7,CSH,12.5 +CMT,1,1,1244,10.8,CSH,32.0 +CMT,1,1,19,0.0,CSH,2.5 +CMT,1,1,249,0.8,CSH,5.5 +CMT,1,1,720,2.1,CSH,10.5 +CMT,1,1,620,4.2,CSH,14.0 +CMT,1,1,605,2.0,CSH,9.0 +CMT,1,1,808,3.4,CSH,13.5 +CMT,1,1,748,1.6,CRD,10.0 +CMT,1,1,757,2.8,CRD,12.0 +CMT,1,1,589,2.6,CSH,10.5 +CMT,1,1,608,1.8,CSH,9.0 +CMT,1,1,1123,11.1,CSH,31.5 +CMT,1,1,1869,9.3,CSH,32.0 +CMT,1,1,763,2.7,CRD,12.0 +CMT,1,1,527,2.2,CRD,9.0 +CMT,1,1,1194,6.7,CRD,21.5 +CMT,1,1,1898,11.1,CSH,34.0 +CMT,1,1,2739,24.9,CSH,69.0 +CMT,1,1,1074,4.4,CSH,17.5 +CMT,1,1,1335,3.2,CSH,16.5 +CMT,1,1,187,0.6,CRD,4.5 +CMT,1,1,221,1.1,CSH,5.5 +CMT,1,1,308,1.2,CRD,6.0 +CMT,1,1,314,0.8,CSH,5.5 +CMT,1,1,634,3.1,CRD,12.0 +CMT,1,1,445,1.3,CSH,7.5 +CMT,1,1,293,1.1,CRD,6.0 +CMT,1,1,585,1.4,CRD,8.5 +CMT,1,1,1480,6.7,CSH,24.0 +CMT,1,1,548,2.6,CSH,11.0 +CMT,1,1,724,2.0,CSH,10.0 +CMT,1,1,530,3.0,CRD,11.0 +CMT,1,1,952,3.9,CRD,15.5 +CMT,1,1,243,1.0,CSH,5.5 +CMT,1,1,372,2.0,CSH,7.5 +CMT,1,1,676,4.1,CSH,14.0 +CMT,1,1,195,0.6,CSH,4.0 +CMT,1,1,165,0.5,CSH,4.5 +CMT,1,1,868,1.7,CSH,11.0 +CMT,1,1,228,1.3,CSH,6.0 +CMT,1,1,362,1.6,CSH,7.5 +CMT,1,1,914,3.2,CRD,13.5 +CMT,1,1,573,2.1,CRD,9.0 +CMT,1,1,1637,11.9,CRD,35.0 +CMT,1,1,1189,6.2,CSH,22.0 +CMT,1,1,374,1.8,CRD,7.5 +CMT,1,1,1300,8.1,CRD,27.0 +CMT,1,1,938,3.4,CRD,13.5 +CMT,1,1,595,2.3,CRD,10.0 +CMT,1,1,1638,5.5,CSH,23.0 +CMT,1,1,1127,3.1,CSH,15.5 +CMT,1,1,627,3.2,CSH,11.5 +CMT,1,1,712,3.2,CRD,12.5 +CMT,1,1,815,3.8,CRD,14.5 +CMT,1,1,705,3.6,CSH,12.5 +CMT,1,1,408,1.5,CRD,7.5 +CMT,1,1,1011,7.4,CSH,23.0 +CMT,1,1,1114,3.1,CRD,14.5 +CMT,1,1,875,7.3,CSH,22.0 +CMT,1,1,253,1.0,CSH,5.5 +CMT,1,1,464,1.5,CRD,7.5 +CMT,1,1,1497,11.2,CSH,33.5 +CMT,1,1,369,1.9,CRD,7.5 +CMT,1,1,695,3.3,CRD,12.0 +CMT,1,1,965,4.0,CRD,15.5 +CMT,1,1,318,1.1,CSH,6.0 +CMT,1,1,635,3.7,CRD,12.5 +CMT,1,1,341,0.7,CRD,5.5 +CMT,1,1,522,0.7,CSH,7.0 +CMT,1,1,242,0.6,CSH,5.0 +CMT,1,1,433,1.6,CRD,7.5 +CMT,1,1,441,1.7,CRD,8.0 +CMT,1,1,297,1.7,CSH,7.0 +CMT,1,1,192,0.8,CSH,5.0 +CMT,1,1,797,7.4,CSH,23.0 +CMT,1,1,1179,1.8,CSH,13.5 +CMT,1,1,981,4.9,CSH,17.0 +CMT,1,1,848,5.2,CSH,17.0 +CMT,1,1,600,2.5,CSH,10.5 +CMT,1,1,1563,2.2,CRD,16.5 +CMT,1,1,1287,2.2,CRD,14.5 +CMT,1,1,472,1.7,CRD,8.0 +CMT,1,1,897,5.4,CSH,17.5 +CMT,1,1,739,2.0,CSH,10.0 +CMT,1,1,1374,7.9,CRD,26.0 +CMT,1,1,200,0.4,CSH,4.5 +CMT,1,1,527,3.7,CRD,12.0 +CMT,1,1,808,3.4,CSH,13.0 +CMT,1,1,504,1.9,CSH,9.5 +CMT,1,1,1479,6.0,CSH,22.5 +CMT,1,1,404,1.8,CRD,7.5 +CMT,1,1,510,1.5,CRD,8.0 +CMT,1,1,394,1.9,CRD,8.0 +CMT,1,1,838,9.0,CRD,25.5 +CMT,1,1,252,0.5,CSH,4.5 +CMT,1,1,698,1.4,CRD,9.0 +CMT,1,1,1113,3.2,CSH,14.0 +CMT,1,1,671,2.5,CRD,11.0 +CMT,1,1,117,0.7,CRD,4.5 +CMT,1,1,384,1.3,CRD,6.5 +CMT,1,1,284,1.5,CSH,6.5 +CMT,1,1,1342,9.5,CRD,28.5 +CMT,1,1,241,1.0,CRD,5.5 +CMT,1,1,231,0.8,CSH,5.0 +CMT,1,1,354,1.6,CSH,7.0 +CMT,1,1,190,0.6,CSH,4.5 +CMT,1,1,688,3.3,CSH,12.0 +CMT,1,1,420,2.9,CSH,10.5 +CMT,1,1,242,0.7,CSH,5.0 +CMT,1,1,213,0.6,CSH,4.5 +CMT,1,1,609,0.9,CSH,8.0 +CMT,1,1,1148,5.9,CSH,21.0 +CMT,1,1,1075,7.8,CSH,24.5 +CMT,1,1,310,1.1,CSH,6.0 +CMT,1,1,290,0.8,CSH,5.5 +CMT,1,1,722,3.5,CSH,13.5 +CMT,1,1,1014,2.6,CSH,13.5 +CMT,1,1,387,1.0,CRD,6.5 +CMT,1,1,343,1.6,CSH,7.0 +CMT,1,1,305,0.9,CRD,6.0 +CMT,1,1,1026,1.6,CRD,12.0 +CMT,1,4,918,3.2,CSH,12.0 +VTS,1,1,1020,6.32,CSH,20.0 +VTS,1,1,240,1.0,CRD,5.0 +VTS,1,2,600,1.31,CSH,8.0 +VTS,1,1,120,0.3,CSH,3.5 +VTS,1,6,900,2.2,CRD,11.5 +CMT,1,1,806,5.0,CRD,17.0 +CMT,1,1,465,2.8,CRD,10.5 +CMT,1,1,293,1.1,CSH,6.0 +CMT,1,1,306,1.8,CRD,7.5 +CMT,1,1,668,1.5,CRD,9.0 +CMT,1,1,635,4.0,CRD,13.0 +CMT,1,1,290,0.6,CSH,5.0 +CMT,1,1,1138,3.4,CSH,15.5 +CMT,1,1,1218,4.3,CRD,18.0 +CMT,1,1,491,1.0,CRD,7.5 +CMT,1,1,48,0.0,CSH,2.5 +CMT,1,1,23,0.0,CSH,2.5 +CMT,1,1,1446,7.0,CRD,24.0 +CMT,1,1,1369,3.0,CRD,16.0 +CMT,1,1,354,1.0,CSH,6.5 +CMT,1,1,1273,9.0,CRD,28.0 +CMT,1,1,1177,5.4,CSH,19.5 +CMT,1,1,1023,3.9,CSH,15.5 +CMT,1,1,350,1.1,CSH,6.5 +CMT,1,1,700,2.9,CSH,11.5 +CMT,1,1,788,4.0,CSH,15.0 +CMT,1,1,1111,6.2,CSH,21.0 +CMT,1,1,663,4.9,CSH,15.0 +CMT,1,1,853,2.7,CSH,12.0 +CMT,1,1,325,0.9,CRD,6.0 +CMT,1,1,334,1.2,CRD,6.5 +CMT,1,1,692,3.5,CRD,13.0 +CMT,1,1,907,3.3,CRD,13.5 +CMT,1,1,148,0.3,CRD,4.0 +CMT,1,1,1026,10.2,CRD,28.5 +CMT,1,1,1062,5.7,CRD,19.5 +CMT,1,1,305,0.8,CRD,5.5 +CMT,1,1,388,1.1,CSH,6.5 +CMT,1,1,985,8.3,CRD,24.5 +CMT,1,1,260,0.8,CRD,5.0 +CMT,1,1,807,4.2,CSH,15.0 +CMT,1,1,1067,7.2,CRD,22.5 +CMT,1,1,1206,5.3,CRD,19.5 +CMT,1,1,647,2.6,CSH,11.0 +CMT,1,1,715,2.8,CSH,12.0 +VTS,1,1,360,0.79,CRD,5.5 +VTS,1,6,540,1.31,CRD,8.0 +VTS,1,1,600,1.7,CSH,8.5 +VTS,1,6,180,0.32,CSH,3.5 +VTS,1,6,840,1.6,CRD,10.0 +VTS,1,1,780,1.86,CSH,10.0 +VTS,1,6,780,2.18,CRD,11.0 +VTS,1,6,1380,4.27,CRD,18.5 +VTS,1,6,1080,2.87,CRD,13.5 +VTS,1,6,840,8.93,CRD,25.5 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,6,60,0.05,CSH,2.5 +VTS,1,2,1140,6.17,CSH,21.0 +VTS,1,6,1320,4.47,CRD,19.0 +VTS,1,1,600,1.59,CSH,8.5 +VTS,1,6,180,0.85,CRD,4.5 +VTS,1,1,600,1.56,CRD,8.5 +VTS,1,6,780,1.58,CSH,10.0 +VTS,1,1,480,1.88,CSH,8.0 +VTS,1,6,1260,4.74,CRD,19.0 +VTS,1,1,1380,4.77,CRD,19.5 +VTS,1,6,660,2.4,CRD,10.5 +VTS,2,6,2520,18.23,CRD,52.0 +VTS,1,6,360,1.31,CSH,6.5 +VTS,1,6,240,0.92,CSH,5.0 +VTS,1,1,660,2.31,CSH,10.0 +VTS,1,6,540,1.92,CSH,9.0 +VTS,1,6,360,1.13,CRD,6.0 +VTS,1,6,1080,6.13,CSH,21.0 +VTS,1,6,480,0.99,CSH,6.5 +VTS,1,6,960,1.86,CSH,11.5 +VTS,2,1,2880,20.44,CSH,52.0 +VTS,1,6,780,2.93,CRD,12.0 +VTS,1,6,120,0.54,CRD,4.0 +VTS,1,1,660,2.47,CRD,11.0 +VTS,1,6,420,0.88,CSH,6.5 +VTS,1,6,360,1.09,CRD,6.0 +VTS,1,6,1020,3.04,CSH,14.5 +CMT,1,1,472,2.6,CRD,10.0 +CMT,1,1,1236,3.3,CSH,16.5 +VTS,1,1,600,1.77,CSH,9.5 +VTS,1,1,1260,5.98,CRD,21.5 +VTS,1,6,720,2.6,CSH,11.0 +VTS,1,1,540,1.61,CSH,8.5 +VTS,1,2,180,0.39,CSH,4.0 +VTS,1,1,900,1.94,CSH,11.5 +VTS,1,6,1200,1.14,CSH,13.0 +VTS,1,2,480,2.18,CSH,9.0 +VTS,1,2,240,0.89,CSH,5.0 +VTS,1,6,1080,5.72,CSH,19.5 +VTS,1,6,360,1.58,CSH,7.5 +VTS,1,6,1020,2.47,CSH,13.0 +VTS,1,6,540,1.1,CRD,7.5 +VTS,1,2,1260,3.28,CSH,15.5 +VTS,1,6,720,4.09,CRD,14.0 +VTS,1,6,1680,4.76,CSH,22.0 +VTS,1,1,1380,5.75,CRD,21.0 +VTS,1,1,600,1.47,CSH,8.5 +VTS,1,2,660,2.13,CRD,10.0 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,6,480,2.35,CSH,9.5 +VTS,1,6,1800,12.46,CSH,37.0 +VTS,1,6,1260,10.0,CRD,30.0 +VTS,1,6,420,1.25,CSH,7.0 +CMT,1,1,574,4.3,CSH,13.5 +CMT,1,1,681,3.1,CSH,12.5 +CMT,1,1,439,1.8,CSH,8.0 +CMT,1,1,1131,5.9,CRD,21.0 +CMT,1,1,515,1.6,CSH,8.5 +CMT,1,1,754,1.3,CRD,9.5 +CMT,1,1,329,0.9,CRD,6.0 +CMT,1,1,1014,5.6,CRD,19.5 +CMT,1,1,699,4.5,CRD,15.5 +CMT,1,1,198,1.5,CSH,6.5 +CMT,1,1,599,2.6,CSH,11.0 +CMT,1,1,360,1.1,CRD,6.5 +CMT,1,1,736,3.1,CRD,12.5 +CMT,1,1,428,2.6,CSH,9.5 +CMT,1,1,1560,8.4,CSH,28.5 +CMT,1,1,1875,7.1,CRD,26.0 +CMT,1,1,813,2.0,CRD,10.5 +CMT,1,1,1171,10.7,CSH,31.5 +CMT,1,1,501,2.1,CSH,8.5 +CMT,1,1,924,6.0,CRD,19.0 +CMT,1,1,735,4.0,CRD,14.0 +CMT,2,1,2306,17.6,CRD,52.0 +CMT,1,1,889,3.7,CRD,14.5 +CMT,1,1,241,1.1,CSH,5.5 +CMT,1,1,2148,13.6,CRD,41.5 +CMT,1,1,744,1.7,CSH,10.0 +CMT,1,1,369,2.6,CRD,9.5 +CMT,1,1,248,0.6,CSH,5.0 +CMT,1,1,746,2.7,CSH,12.0 +CMT,1,1,373,1.8,CRD,7.5 +CMT,1,1,499,1.6,CRD,8.0 +CMT,1,1,150,0.2,CRD,3.5 +CMT,1,1,622,2.1,CSH,10.5 +CMT,1,1,1191,5.8,CSH,20.5 +CMT,1,1,256,0.7,CSH,5.0 +CMT,1,1,987,4.2,CRD,16.0 +CMT,1,1,473,2.6,CSH,10.0 +CMT,1,1,587,4.9,CRD,15.5 +CMT,1,1,1127,7.1,CSH,23.0 +CMT,1,1,767,3.2,CRD,13.0 +CMT,1,1,900,5.4,CSH,17.5 +CMT,1,1,556,3.3,CSH,12.0 +CMT,1,1,551,1.2,CRD,7.5 +CMT,1,1,859,5.5,CSH,17.0 +CMT,1,1,1791,10.6,CRD,33.0 +CMT,1,1,218,0.7,CRD,5.0 +CMT,1,1,291,0.8,CRD,5.5 +VTS,1,1,840,3.19,CSH,13.0 +VTS,1,1,540,1.18,CSH,7.5 +VTS,1,6,180,0.65,CRD,4.5 +VTS,1,1,540,2.15,CSH,9.0 +VTS,1,6,180,0.53,CSH,4.0 +CMT,1,1,758,10.4,CRD,28.5 +CMT,1,1,125,0.4,CRD,3.5 +CMT,2,1,2198,20.4,CSH,52.0 +CMT,1,1,671,2.0,CRD,10.0 +CMT,1,1,279,0.8,CSH,5.5 +CMT,1,1,386,1.1,CSH,7.0 +CMT,1,1,496,1.7,CRD,8.5 +CMT,1,1,317,1.0,CSH,6.0 +CMT,1,1,982,3.5,CRD,15.5 +CMT,1,1,365,3.9,CSH,12.0 +CMT,1,1,788,2.0,CRD,10.5 +VTS,1,2,540,2.06,CSH,9.0 +VTS,1,6,180,1.56,CRD,6.0 +VTS,1,1,360,1.73,CRD,7.0 +VTS,1,1,660,1.83,CRD,9.5 +VTS,1,1,780,1.92,CSH,10.5 +VTS,1,1,300,0.69,CSH,5.0 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,120,0.13,CRD,3.0 +VTS,1,1,360,0.61,CSH,6.0 +VTS,1,6,480,0.83,CSH,7.0 +VTS,1,6,1680,4.37,CRD,20.5 +VTS,1,6,360,1.04,CSH,6.5 +VTS,1,1,480,2.4,CRD,9.5 +VTS,1,6,1140,5.93,CRD,20.0 +VTS,1,1,480,1.63,CSH,8.0 +VTS,1,6,840,2.72,CRD,12.0 +VTS,1,1,1020,2.19,CSH,12.5 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,6,660,1.47,CSH,8.5 +VTS,1,2,1080,1.12,CRD,11.5 +VTS,1,6,1140,10.01,CRD,29.5 +VTS,1,6,720,2.7,CRD,11.5 +VTS,1,1,840,2.36,CRD,11.5 +VTS,1,1,1080,2.11,CRD,13.0 +VTS,1,6,2280,12.2,CRD,38.5 +VTS,1,1,1020,8.67,CRD,24.5 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,1260,5.5,CRD,19.5 +VTS,1,6,1020,3.88,CSH,15.5 +VTS,1,6,420,2.26,CRD,9.0 +VTS,1,6,900,4.3,CRD,14.5 +VTS,1,1,660,1.71,CSH,9.0 +VTS,1,6,300,0.93,CSH,5.5 +VTS,1,6,2040,6.69,CRD,28.5 +VTS,1,6,480,1.84,CRD,8.0 +VTS,2,6,1860,17.1,CRD,52.0 +VTS,1,6,540,1.46,CRD,8.0 +VTS,1,6,960,4.76,CRD,16.5 +VTS,1,6,600,1.04,CRD,8.0 +VTS,1,6,480,1.25,CSH,7.5 +VTS,1,6,420,0.67,CRD,6.0 +CMT,1,1,535,2.9,CSH,10.5 +CMT,1,1,381,2.6,CRD,9.0 +CMT,1,1,798,4.2,CRD,15.5 +CMT,1,1,276,1.5,CRD,6.5 +CMT,1,1,478,2.1,CRD,9.0 +CMT,1,1,372,1.8,CSH,7.5 +CMT,1,1,320,1.1,CSH,6.0 +CMT,1,1,640,1.2,CSH,8.0 +CMT,1,1,461,1.9,CRD,8.5 +CMT,1,1,382,2.2,CRD,8.5 +CMT,1,1,536,1.2,CRD,8.0 +CMT,1,1,617,3.2,CRD,12.0 +CMT,1,1,362,1.0,CSH,6.5 +CMT,1,1,853,2.6,CSH,12.5 +CMT,1,1,474,2.0,CSH,9.5 +CMT,1,1,1413,8.8,CSH,28.0 +CMT,1,1,1025,2.1,CRD,13.0 +CMT,1,1,910,1.8,CRD,11.0 +CMT,1,1,398,1.7,CRD,7.5 +CMT,1,1,121,0.4,CSH,3.5 +CMT,1,1,249,1.2,CRD,6.0 +CMT,1,1,727,1.9,CRD,10.5 +CMT,1,1,831,0.9,CSH,9.5 +CMT,1,1,1899,12.7,CSH,39.0 +CMT,1,1,1068,4.6,CRD,17.5 +CMT,1,1,243,0.7,CSH,5.0 +CMT,1,1,899,2.1,CRD,11.5 +CMT,1,1,360,0.9,CRD,6.0 +CMT,1,1,320,0.8,CSH,5.5 +CMT,1,1,1097,8.7,CRD,26.0 +CMT,1,1,278,0.6,CSH,5.0 +CMT,1,1,775,2.8,CRD,11.5 +CMT,1,1,470,1.6,CRD,8.0 +CMT,1,1,542,2.6,CRD,10.0 +CMT,1,1,280,0.9,CRD,5.5 +CMT,1,1,561,2.0,CRD,9.0 +CMT,1,1,313,1.4,CRD,6.5 +VTS,1,2,120,0.54,CSH,4.0 +VTS,1,6,1080,3.5,CSH,15.0 +VTS,1,2,780,2.28,CSH,11.5 +VTS,1,6,360,1.11,CRD,6.5 +VTS,1,1,660,0.82,CSH,8.0 +VTS,1,6,480,2.38,CSH,9.0 +VTS,1,1,420,0.9,CSH,6.5 +VTS,1,6,840,2.25,CRD,11.0 +VTS,1,6,840,7.42,CSH,22.0 +VTS,1,6,840,1.94,CSH,11.0 +VTS,1,6,360,1.42,CSH,7.0 +VTS,1,6,360,1.4,CSH,6.5 +VTS,1,1,600,1.59,CSH,8.5 +VTS,1,2,240,0.39,CSH,4.5 +VTS,1,1,600,1.81,CRD,9.5 +CMT,1,1,733,2.4,CRD,10.5 +CMT,1,1,297,0.9,CRD,5.5 +VTS,1,1,720,2.63,CSH,11.5 +VTS,1,1,240,0.76,CSH,5.0 +VTS,1,6,600,2.19,CRD,9.5 +VTS,1,6,480,1.34,CRD,8.0 +VTS,1,6,960,4.82,CSH,17.0 +VTS,1,6,1380,5.15,CSH,20.0 +VTS,1,1,1380,3.81,CRD,18.0 +VTS,1,6,1080,2.98,CSH,14.0 +VTS,1,2,780,2.57,CSH,11.0 +VTS,1,1,1140,4.08,CRD,16.0 +VTS,1,6,540,1.9,CRD,8.5 +VTS,1,6,240,0.72,CSH,4.5 +VTS,1,2,660,2.39,CRD,10.0 +VTS,1,6,660,1.5,CSH,8.5 +VTS,1,6,720,2.27,CSH,10.5 +VTS,1,6,960,3.83,CRD,15.0 +VTS,1,1,300,0.54,CRD,5.0 +VTS,1,1,540,1.05,CSH,7.0 +VTS,1,6,360,0.94,CSH,6.5 +VTS,1,2,1500,5.68,CSH,21.5 +VTS,1,6,240,0.87,CRD,5.5 +VTS,1,6,420,1.14,CRD,7.0 +VTS,1,6,600,1.78,CSH,8.5 +VTS,1,6,720,2.26,CRD,10.5 +VTS,1,6,1140,3.01,CRD,14.0 +VTS,1,6,780,0.78,CRD,9.0 +VTS,1,1,420,0.93,CSH,6.0 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,6,240,0.64,CSH,4.5 +VTS,1,6,360,0.96,CRD,6.0 +VTS,1,1,2040,5.97,CSH,27.0 +VTS,1,6,480,1.11,CRD,7.0 +VTS,1,6,420,1.83,CRD,8.5 +VTS,1,1,780,4.7,CRD,16.5 +VTS,1,6,900,2.37,CSH,12.0 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,6,660,1.51,CRD,9.0 +VTS,1,1,600,1.88,CRD,9.0 +VTS,1,6,60,0.28,CRD,3.0 +VTS,1,6,600,2.61,CRD,10.0 +VTS,1,1,1320,4.41,CRD,18.0 +VTS,1,6,1560,10.53,CRD,32.0 +VTS,1,1,1080,2.5,CSH,13.0 +VTS,1,6,660,1.03,CSH,8.0 +VTS,1,6,360,0.92,CSH,6.0 +VTS,1,6,600,2.64,CSH,10.5 +VTS,1,6,960,2.78,CSH,13.0 +VTS,1,2,1860,3.45,CRD,20.0 +VTS,1,1,480,1.33,CRD,7.5 +VTS,1,6,1440,3.31,CSH,17.5 +VTS,1,1,1620,13.57,CSH,38.0 +VTS,1,2,1140,2.0,CSH,13.0 +VTS,1,6,1140,2.71,CRD,13.5 +VTS,1,6,840,1.97,CRD,11.0 +VTS,1,1,660,2.64,CSH,10.5 +VTS,1,6,360,0.97,CRD,6.5 +VTS,1,6,540,1.19,CRD,7.5 +VTS,1,1,180,0.48,CSH,4.0 +VTS,1,6,360,1.44,CSH,7.0 +VTS,1,6,360,1.48,CRD,7.0 +VTS,1,6,300,1.35,CRD,6.0 +VTS,1,6,480,2.43,CRD,9.5 +VTS,1,6,660,1.65,CRD,9.5 +VTS,1,6,660,1.15,CRD,8.0 +VTS,1,6,1200,6.7,CRD,22.5 +VTS,1,1,420,1.26,CRD,7.5 +VTS,1,6,1320,3.08,CRD,16.5 +VTS,1,6,480,1.87,CRD,9.0 +VTS,1,6,1920,3.19,CRD,21.0 +VTS,1,6,240,0.59,CRD,4.5 +VTS,1,6,2340,8.72,CRD,32.5 +VTS,1,1,1260,2.38,CSH,14.5 +VTS,1,6,240,0.97,CRD,5.0 +VTS,1,6,480,2.62,CSH,9.5 +VTS,1,6,720,2.33,CRD,11.0 +VTS,1,1,600,1.37,CSH,8.5 +VTS,1,6,480,2.7,CRD,10.5 +VTS,1,6,1200,9.3,CSH,27.5 +VTS,1,1,660,2.85,CRD,11.5 +VTS,1,2,1560,9.8,CSH,30.5 +VTS,1,1,720,1.35,CRD,9.0 +VTS,1,6,480,1.78,CSH,8.0 +VTS,1,6,780,1.44,CSH,9.5 +VTS,1,1,600,2.74,CRD,10.5 +VTS,1,6,840,2.16,CRD,11.0 +VTS,1,6,300,1.2,CRD,6.0 +VTS,1,6,360,0.76,CRD,5.5 +VTS,1,1,1020,5.72,CRD,19.0 +VTS,1,6,660,2.76,CRD,11.0 +VTS,1,2,300,1.28,CRD,6.0 +VTS,1,2,300,1.51,CSH,6.5 +VTS,1,6,540,1.73,CRD,8.5 +VTS,1,1,900,2.13,CSH,11.5 +VTS,1,6,540,1.25,CSH,8.0 +VTS,1,1,540,1.38,CRD,8.0 +VTS,1,1,960,2.64,CSH,13.0 +VTS,1,1,180,0.5,CSH,4.5 +VTS,1,6,1020,4.35,CRD,16.5 +VTS,1,1,720,2.39,CRD,10.5 +VTS,1,6,900,2.59,CSH,12.5 +VTS,1,6,480,1.19,CRD,7.0 +VTS,1,1,960,3.81,CRD,14.5 +VTS,1,1,660,2.27,CSH,10.0 +VTS,1,6,540,1.18,CRD,8.0 +VTS,1,6,780,2.6,CRD,12.0 +VTS,1,6,660,1.59,CRD,9.0 +VTS,1,1,600,1.81,CSH,9.0 +VTS,1,1,1680,5.23,CRD,22.0 +VTS,1,6,360,0.75,CRD,6.0 +VTS,1,6,840,7.01,CRD,21.0 +VTS,1,1,900,3.97,CSH,14.0 +VTS,1,6,480,2.72,CSH,10.0 +VTS,1,6,420,0.84,CRD,6.0 +VTS,1,6,840,1.62,CRD,10.5 +VTS,1,6,660,1.49,CRD,9.0 +VTS,1,1,480,1.17,CSH,7.0 +VTS,1,6,840,2.66,CRD,12.0 +VTS,1,6,660,1.77,CRD,9.0 +VTS,1,6,360,0.9,CSH,6.0 +VTS,1,1,480,1.34,CSH,7.5 +VTS,1,6,480,1.05,CRD,6.5 +VTS,1,6,420,1.55,CRD,7.5 +VTS,1,2,900,5.41,CSH,18.0 +VTS,1,6,600,1.7,CRD,8.5 +VTS,1,6,1200,2.33,CRD,13.0 +VTS,1,6,420,1.57,CSH,7.5 +VTS,1,6,540,1.08,CRD,7.5 +VTS,1,6,480,2.77,CRD,9.5 +VTS,1,6,1560,5.0,CRD,20.0 +VTS,1,6,900,2.2,CSH,11.5 +VTS,1,1,300,0.69,CSH,5.0 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,6,720,1.7,CRD,10.0 +VTS,1,6,780,2.62,CRD,11.0 +VTS,1,6,180,0.5,CSH,4.5 +VTS,1,6,840,2.84,CRD,13.0 +VTS,2,1,3000,17.79,CRD,52.0 +VTS,1,1,540,1.39,CSH,7.5 +VTS,1,6,240,1.02,CRD,5.5 +VTS,1,6,60,0.39,CSH,3.0 +VTS,1,6,600,2.86,CSH,11.0 +VTS,1,1,1320,4.09,CSH,17.5 +VTS,1,6,480,1.37,CRD,7.5 +VTS,1,1,2400,6.35,CRD,27.0 +VTS,1,6,780,3.63,CSH,13.0 +VTS,1,2,840,3.83,CRD,15.0 +VTS,1,1,2520,2.71,CRD,24.5 +VTS,1,2,2280,4.5,CRD,25.5 +VTS,1,1,600,1.79,CRD,9.0 +VTS,1,2,1860,5.5,CRD,25.0 +VTS,1,6,600,4.37,CRD,14.0 +VTS,1,6,360,2.29,CRD,8.0 +VTS,1,6,600,3.3,CSH,12.0 +VTS,1,6,780,1.89,CRD,10.5 +VTS,1,6,480,1.44,CSH,7.5 +VTS,1,6,2700,22.85,CRD,63.5 +VTS,1,2,780,1.77,CSH,10.0 +VTS,1,2,960,2.85,CRD,13.0 +VTS,1,6,360,0.98,CRD,6.0 +VTS,1,1,1320,4.1,CSH,16.5 +VTS,1,6,600,1.0,CSH,7.5 +VTS,1,6,660,2.01,CRD,9.5 +VTS,1,1,2220,7.54,CRD,28.5 +VTS,1,1,240,0.66,CSH,5.0 +VTS,1,6,360,0.8,CRD,5.5 +VTS,1,6,1260,3.43,CRD,15.5 +VTS,1,6,600,2.51,CSH,9.5 +VTS,2,6,2580,17.88,CRD,52.0 +VTS,1,6,780,1.8,CRD,10.0 +VTS,1,1,960,2.46,CSH,12.0 +VTS,1,6,660,1.77,CRD,9.5 +VTS,1,6,840,7.33,CSH,21.5 +VTS,1,1,720,1.55,CRD,9.5 +VTS,1,6,1020,3.18,CRD,14.5 +VTS,1,6,480,0.68,CSH,6.5 +VTS,1,6,600,1.2,CSH,8.0 +VTS,1,6,1380,4.6,CSH,19.0 +VTS,1,1,480,0.63,CSH,7.0 +VTS,1,6,540,1.5,CRD,8.5 +VTS,1,6,480,0.86,CSH,7.0 +VTS,1,6,1020,2.68,CRD,13.5 +VTS,1,1,540,1.34,CSH,8.0 +VTS,1,1,840,2.43,CSH,12.5 +VTS,1,1,1020,4.42,CRD,17.0 +VTS,1,6,300,1.13,CSH,6.0 +VTS,1,6,480,1.34,CRD,7.0 +VTS,1,6,660,2.3,CRD,10.0 +VTS,1,6,840,3.3,CRD,13.5 +VTS,1,6,1200,4.66,CRD,17.5 +VTS,1,6,120,0.28,CSH,3.5 +VTS,1,6,960,3.76,CRD,15.0 +VTS,1,1,240,0.79,CRD,5.0 +VTS,1,6,180,0.65,CRD,4.5 +VTS,1,6,540,1.82,CRD,8.5 +VTS,1,1,480,2.18,CRD,9.0 +VTS,1,6,420,1.64,CSH,7.5 +VTS,1,6,1980,5.75,CRD,25.5 +VTS,1,6,240,0.79,CSH,5.0 +VTS,1,6,360,1.33,CRD,6.0 +VTS,1,1,1200,1.97,CRD,13.0 +VTS,1,6,1380,5.48,CRD,19.5 +VTS,1,6,660,3.25,CRD,12.5 +VTS,1,1,720,4.48,CRD,15.0 +VTS,1,1,840,2.1,CSH,11.0 +VTS,1,1,2400,7.2,CRD,30.0 +VTS,1,6,600,1.84,CRD,9.0 +VTS,1,6,420,2.07,CSH,8.5 +VTS,1,6,360,0.23,CSH,5.0 +VTS,1,6,1080,4.27,CSH,15.5 +VTS,1,6,480,1.75,CRD,8.0 +VTS,1,6,720,2.3,CSH,11.0 +VTS,1,6,1020,2.94,CRD,14.0 +VTS,1,2,480,0.78,CSH,7.5 +VTS,1,6,2040,4.57,CRD,24.0 +VTS,1,6,420,1.78,CRD,8.5 +VTS,1,6,300,1.0,CRD,6.0 +VTS,1,2,900,1.99,CSH,11.5 +VTS,1,6,1380,6.04,CRD,21.0 +VTS,1,6,1440,3.9,CRD,19.5 +VTS,1,6,2040,9.95,CSH,33.5 +VTS,1,6,480,0.93,CSH,6.5 +VTS,1,6,1440,11.26,CRD,33.0 +VTS,1,1,360,1.08,CRD,6.0 +VTS,1,1,240,0.7,CRD,5.0 +VTS,1,1,480,1.99,CRD,8.5 +VTS,1,1,1680,4.16,CSH,20.5 +VTS,1,1,1860,4.53,CSH,23.0 +VTS,1,6,360,1.85,CSH,7.5 +VTS,1,6,120,0.31,CSH,3.5 +VTS,1,2,180,0.67,CSH,4.5 +VTS,1,1,660,1.59,CSH,9.0 +VTS,1,6,1140,7.86,CRD,24.0 +CMT,1,1,391,1.6,CRD,7.5 +CMT,1,1,379,1.1,CRD,6.5 +CMT,1,1,201,0.5,CRD,4.5 +CMT,1,1,752,4.2,CRD,14.0 +CMT,1,1,1205,2.8,CRD,14.5 +CMT,1,1,798,3.1,CRD,13.0 +CMT,1,1,507,1.8,CSH,8.5 +CMT,1,1,460,1.7,CRD,8.0 +CMT,1,1,1040,2.3,CSH,13.0 +CMT,1,1,325,1.0,CRD,5.5 +CMT,1,1,744,2.7,CRD,12.0 +CMT,1,1,359,1.0,CRD,6.0 +VTS,1,6,180,0.86,CSH,5.0 +VTS,1,1,1020,3.97,CSH,15.5 +VTS,1,2,420,1.08,CSH,7.0 +VTS,1,1,1140,3.4,CRD,15.5 +VTS,1,6,1080,6.04,CRD,20.0 +VTS,1,2,900,5.53,CSH,19.0 +VTS,1,6,540,1.68,CRD,8.0 +VTS,1,2,600,1.48,CSH,8.5 +VTS,1,2,900,1.69,CSH,10.5 +VTS,1,2,240,0.57,CRD,4.5 +VTS,1,6,660,3.32,CRD,12.5 +VTS,1,6,660,4.22,CRD,14.5 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,6,780,3.0,CRD,12.5 +VTS,1,6,300,0.69,CSH,5.5 +VTS,1,6,240,0.76,CSH,5.0 +VTS,1,6,240,0.53,CSH,5.0 +VTS,1,1,840,1.37,CSH,10.5 +VTS,1,6,900,8.32,CRD,24.0 +VTS,1,6,120,0.92,CSH,4.5 +VTS,1,6,240,0.45,CSH,4.5 +VTS,1,6,1440,3.31,CRD,17.5 +VTS,1,1,480,0.72,CRD,7.0 +VTS,1,6,180,0.37,CSH,4.0 +VTS,1,6,600,3.17,CRD,11.5 +VTS,1,1,720,2.6,CSH,11.0 +VTS,1,6,1140,4.94,CRD,18.0 +VTS,1,1,720,1.9,CSH,10.0 +VTS,1,6,660,1.41,CSH,8.5 +VTS,1,2,1140,2.19,CSH,13.0 +VTS,1,6,1140,4.96,CRD,18.0 +VTS,1,6,120,0.37,CSH,3.5 +VTS,1,6,540,1.06,CSH,7.5 +VTS,1,6,360,0.98,CSH,6.0 +VTS,1,6,300,1.32,CRD,6.5 +VTS,1,1,240,0.89,CSH,5.5 +VTS,1,1,240,0.97,CRD,5.0 +VTS,1,6,420,1.25,CSH,6.5 +VTS,1,6,240,0.88,CSH,5.0 +VTS,1,6,1260,2.73,CRD,14.5 +VTS,1,1,480,1.58,CRD,8.5 +VTS,1,6,660,1.85,CSH,9.5 +VTS,1,2,600,1.2,CRD,8.0 +VTS,1,6,720,2.29,CRD,10.0 +VTS,1,6,300,1.8,CRD,7.0 +VTS,1,6,780,1.22,CSH,9.5 +VTS,1,1,300,0.66,CRD,5.5 +VTS,1,6,360,0.94,CRD,6.5 +VTS,1,6,540,1.01,CRD,7.5 +VTS,1,6,720,1.97,CRD,10.0 +VTS,1,6,360,0.83,CSH,6.0 +VTS,1,1,1440,4.48,CRD,18.5 +VTS,1,1,2040,7.05,CSH,26.5 +VTS,1,2,600,0.66,CSH,7.5 +VTS,1,6,180,0.56,CRD,5.0 +VTS,1,6,1560,8.5,CRD,29.5 +VTS,1,6,1080,4.05,CRD,16.0 +VTS,1,6,300,1.28,CRD,6.5 +VTS,1,6,780,1.71,CSH,10.5 +VTS,1,6,1740,12.2,CSH,35.0 +VTS,1,6,780,2.8,CRD,12.5 +VTS,1,6,600,1.84,CRD,9.0 +VTS,1,2,1620,5.0,CRD,21.0 +VTS,1,6,1320,2.82,CRD,14.5 +VTS,1,6,180,0.52,CSH,4.0 +VTS,1,6,600,1.03,CSH,7.5 +VTS,1,6,360,1.63,CRD,7.0 +VTS,1,6,600,3.44,CSH,12.0 +VTS,1,6,1500,5.15,CRD,20.5 +VTS,1,6,360,1.75,CRD,7.0 +VTS,1,6,420,0.87,CSH,6.0 +VTS,1,2,480,0.88,CRD,7.5 +VTS,1,6,300,1.14,CSH,6.0 +VTS,1,6,240,0.23,CSH,4.0 +VTS,1,1,540,1.37,CRD,7.5 +VTS,1,1,960,2.1,CRD,12.5 +VTS,1,6,240,1.01,CSH,5.5 +VTS,1,6,780,0.88,CRD,9.5 +VTS,1,6,240,0.88,CSH,5.5 +VTS,1,2,420,0.84,CRD,6.0 +VTS,1,6,960,2.9,CRD,13.0 +VTS,1,1,300,1.04,CSH,6.0 +VTS,1,6,900,3.02,CRD,12.5 +VTS,1,1,1020,3.82,CRD,15.0 +VTS,1,1,960,1.98,CRD,12.0 +VTS,1,6,780,1.68,CRD,10.0 +VTS,1,6,360,1.15,CSH,6.5 +VTS,1,6,540,1.66,CSH,8.5 +VTS,1,1,660,1.55,CSH,9.0 +VTS,1,6,1320,2.97,CSH,15.0 +VTS,1,1,1320,4.65,CRD,17.5 +VTS,1,2,240,1.16,CRD,5.5 +VTS,1,6,900,8.03,CRD,23.5 +VTS,1,6,900,2.64,CRD,12.0 +VTS,1,6,480,1.63,CRD,7.5 +VTS,1,6,480,1.69,CSH,8.0 +VTS,1,6,600,2.49,CRD,10.0 +VTS,1,1,780,1.25,CRD,9.5 +VTS,1,1,660,1.78,CRD,9.5 +VTS,1,6,720,2.07,CRD,10.5 +VTS,1,6,420,0.64,CRD,6.0 +VTS,1,6,1380,3.89,CSH,17.5 +VTS,1,6,540,1.6,CRD,8.5 +VTS,1,6,840,3.28,CSH,13.0 +VTS,1,6,1380,4.07,CRD,17.5 +VTS,1,6,720,0.36,CRD,8.5 +VTS,1,1,1080,1.54,CSH,12.0 +VTS,1,6,180,0.59,CSH,4.5 +VTS,1,6,900,4.53,CSH,17.0 +VTS,1,6,240,0.79,CSH,5.5 +VTS,1,6,1440,4.82,CSH,20.5 +VTS,1,6,360,0.82,CSH,6.0 +VTS,1,1,300,1.45,CSH,6.5 +VTS,1,6,240,0.56,CSH,5.0 +VTS,1,6,360,1.21,CSH,6.5 +VTS,1,6,420,1.03,CRD,7.0 +VTS,1,6,1200,3.38,CRD,16.0 +VTS,1,6,600,2.53,CRD,10.0 +VTS,1,6,1080,8.31,CSH,24.5 +VTS,1,6,600,1.67,CRD,9.0 +VTS,1,6,240,0.88,CRD,5.0 +VTS,1,6,1080,3.84,CRD,16.0 +VTS,1,6,240,0.36,CSH,4.5 +VTS,1,1,420,0.82,CRD,6.0 +VTS,1,6,420,0.89,CSH,6.5 +VTS,1,6,600,1.76,CSH,9.0 +VTS,1,6,300,1.4,CRD,6.0 +VTS,1,6,840,2.49,CRD,11.0 +VTS,1,2,1320,6.62,CSH,22.0 +VTS,1,6,1140,3.23,CRD,14.5 +VTS,1,2,960,2.33,CSH,11.5 +VTS,1,6,960,0.96,CRD,11.0 +VTS,1,1,300,0.61,CSH,5.5 +VTS,1,1,1140,3.0,CSH,14.5 +VTS,1,6,540,1.06,CRD,7.5 +VTS,1,2,420,1.56,CSH,7.5 +VTS,1,2,720,1.75,CSH,9.0 +VTS,1,6,780,6.01,CRD,18.5 +VTS,1,6,60,0.01,CSH,2.5 +VTS,1,6,600,1.45,CSH,8.5 +VTS,1,6,480,1.35,CRD,7.5 +VTS,1,6,300,1.24,CRD,6.0 +VTS,1,6,960,3.32,CRD,13.5 +VTS,1,2,240,0.56,CSH,4.5 +VTS,1,6,660,3.25,CRD,11.5 +VTS,1,6,780,1.26,CSH,10.0 +VTS,1,1,900,2.38,CRD,11.5 +VTS,1,6,1500,4.21,CSH,18.5 +VTS,1,1,540,0.96,CRD,7.5 +VTS,1,6,1320,9.85,CSH,30.0 +VTS,1,6,720,1.44,CSH,9.5 +VTS,2,1,3120,20.09,CSH,52.0 +VTS,1,6,1020,4.74,CRD,17.0 +VTS,1,2,540,1.36,CRD,7.5 +VTS,1,2,2580,11.34,CSH,38.5 +VTS,1,1,720,2.42,CRD,11.0 +VTS,1,6,240,1.15,CRD,6.0 +VTS,1,6,480,1.57,CSH,8.0 +VTS,1,6,840,1.56,CRD,10.0 +VTS,1,6,360,0.98,CRD,6.0 +VTS,1,6,1020,5.71,CRD,20.0 +VTS,1,6,1080,3.51,CRD,15.0 +VTS,1,6,720,0.92,CRD,8.5 +VTS,1,6,600,1.86,CSH,9.0 +VTS,1,6,420,0.98,CRD,6.5 +VTS,1,6,1020,2.14,CSH,12.5 +VTS,1,6,780,1.47,CRD,10.0 +VTS,1,6,480,1.33,CRD,7.5 +VTS,1,6,1020,2.02,CSH,12.0 +VTS,1,6,780,3.12,CRD,11.5 +VTS,1,1,2520,12.9,CRD,42.0 +VTS,1,1,1080,5.53,CRD,19.5 +VTS,1,2,360,0.62,CSH,5.5 +VTS,1,6,300,1.45,CRD,6.5 +VTS,1,2,300,0.95,CSH,5.5 +VTS,1,1,600,2.5,CRD,10.5 +VTS,1,2,480,1.04,CSH,7.0 +VTS,1,1,420,2.17,CRD,8.5 +VTS,1,1,420,1.55,CSH,8.0 +VTS,1,1,660,2.3,CSH,10.5 +VTS,1,1,540,1.91,CRD,9.0 +VTS,1,2,1020,2.59,CSH,13.0 +VTS,1,2,120,0.44,CSH,4.0 +VTS,1,1,1140,3.64,CSH,16.0 +VTS,1,6,660,1.71,CRD,9.0 +VTS,1,6,960,2.61,CRD,12.5 +VTS,1,6,660,1.97,CRD,9.5 +VTS,1,1,900,1.77,CRD,12.0 +VTS,1,6,300,0.66,CRD,5.5 +VTS,1,1,360,1.08,CSH,6.5 +VTS,1,2,720,2.11,CRD,11.0 +CMT,1,1,295,1.4,CRD,6.5 +CMT,1,1,579,1.6,CRD,8.5 +CMT,1,1,726,1.3,CRD,9.0 +CMT,1,1,396,0.8,CSH,6.0 +CMT,1,1,469,1.1,CRD,7.0 +CMT,1,1,1138,1.6,CRD,13.0 +VTS,1,6,360,0.83,CSH,6.0 +VTS,1,6,180,0.82,CRD,4.5 +VTS,1,2,1440,3.23,CRD,16.0 +VTS,1,6,480,3.12,CRD,10.0 +VTS,1,1,540,0.76,CRD,7.5 +VTS,1,6,300,0.93,CSH,5.5 +VTS,1,2,780,3.33,CSH,12.5 +VTS,1,6,540,1.74,CRD,8.0 +VTS,1,1,1080,4.0,CSH,15.0 +VTS,1,1,1080,2.77,CRD,13.0 +VTS,1,1,600,1.64,CSH,8.5 +VTS,1,1,1200,2.66,CRD,15.0 +VTS,1,1,480,1.69,CRD,8.5 +VTS,1,6,900,1.93,CSH,11.0 +VTS,1,1,900,2.48,CSH,12.0 +VTS,1,1,1080,1.97,CRD,13.0 +VTS,1,6,2460,8.22,CRD,32.5 +VTS,1,1,1500,5.31,CRD,21.0 +VTS,1,6,780,2.92,CRD,12.0 +VTS,2,1,4560,18.67,CRD,52.0 +VTS,1,1,180,0.35,CRD,3.5 +CMT,1,2,3751,12.9,CSH,48.5 +CMT,1,1,267,0.8,CRD,5.5 +CMT,1,1,906,3.2,CRD,14.0 +CMT,1,1,935,2.2,CRD,12.0 +CMT,1,1,378,1.3,CSH,6.5 +VTS,1,6,360,0.91,CRD,6.0 +VTS,1,6,600,4.58,CRD,14.0 +VTS,1,1,300,0.85,CSH,6.0 +VTS,1,2,900,3.74,CSH,15.0 +VTS,1,1,540,2.55,CSH,10.0 +VTS,1,6,1020,3.59,CSH,14.5 +VTS,1,2,840,2.51,CRD,12.5 +VTS,1,6,1860,8.12,CRD,28.0 +VTS,1,6,600,1.46,CSH,8.5 +VTS,1,6,540,2.96,CRD,11.5 +VTS,1,6,840,3.05,CRD,13.0 +VTS,1,6,600,2.01,CRD,9.5 +VTS,1,6,180,0.54,CSH,4.0 +VTS,1,6,360,1.63,CRD,7.5 +VTS,1,6,240,0.68,CRD,4.5 +VTS,1,1,1560,5.53,CSH,20.5 +VTS,1,1,660,2.5,CSH,10.5 +VTS,1,6,360,1.41,CRD,7.0 +VTS,1,6,600,2.86,CSH,11.0 +VTS,1,6,480,1.2,CRD,7.5 +VTS,1,6,600,2.43,CRD,10.0 +VTS,1,6,1260,2.52,CRD,15.0 +VTS,1,1,900,3.14,CRD,13.0 +VTS,1,6,240,0.81,CRD,5.0 +VTS,1,1,960,1.47,CRD,12.0 +VTS,1,6,1080,3.8,CSH,15.0 +VTS,1,1,660,2.09,CSH,9.5 +VTS,1,1,120,0.34,CSH,4.0 +VTS,1,2,540,1.49,CSH,7.5 +VTS,1,1,660,1.66,CRD,9.0 +VTS,1,6,780,2.77,CRD,12.0 +VTS,1,2,1320,3.13,CRD,16.5 +VTS,1,6,600,1.55,CRD,9.0 +VTS,1,6,600,1.33,CRD,8.0 +VTS,1,6,180,0.58,CRD,4.0 +VTS,1,6,120,0.35,CSH,3.5 +VTS,2,2,3180,17.82,CSH,52.0 +VTS,1,6,600,1.71,CRD,8.5 +VTS,1,1,300,1.27,CSH,6.0 +VTS,1,6,420,1.38,CRD,7.5 +VTS,1,6,300,0.87,CSH,5.5 +VTS,1,1,960,2.87,CRD,13.0 +VTS,1,1,300,0.61,CSH,5.0 +VTS,1,6,540,1.03,CRD,7.5 +VTS,1,6,1740,4.34,CSH,20.5 +VTS,1,6,240,0.92,CSH,5.5 +VTS,1,6,1200,6.73,CSH,22.5 +VTS,1,6,2100,8.68,CRD,33.0 +VTS,1,6,600,0.92,CSH,7.5 +VTS,1,6,780,2.79,CSH,11.5 +VTS,1,6,1380,10.34,CRD,31.0 +VTS,1,1,480,1.84,CRD,8.0 +VTS,1,6,660,2.07,CRD,10.0 +VTS,5,2,1860,7.39,CRD,50.0 +VTS,1,6,1320,7.67,CSH,25.0 +VTS,1,1,2460,11.87,CRD,38.5 +VTS,1,6,900,6.49,CSH,19.5 +VTS,1,6,1140,2.52,CRD,13.5 +VTS,1,6,420,1.62,CRD,7.5 +VTS,1,6,540,1.08,CRD,7.5 +VTS,1,6,960,0.81,CSH,10.5 +VTS,1,1,1320,6.29,CRD,21.5 +VTS,1,6,780,2.0,CRD,10.0 +VTS,1,1,300,0.72,CSH,5.5 +VTS,1,6,60,0.22,CSH,3.0 +VTS,1,6,660,1.68,CSH,9.0 +VTS,1,6,600,1.78,CRD,9.5 +VTS,1,6,240,0.61,CRD,4.5 +VTS,1,6,600,2.22,CSH,10.0 +VTS,1,1,540,1.85,CRD,8.5 +VTS,1,1,180,0.54,CRD,4.0 +VTS,1,6,1020,1.97,CSH,11.5 +VTS,1,6,360,1.9,CRD,7.5 +VTS,1,6,300,0.78,CSH,5.5 +VTS,1,6,0,0.19,CSH,3.0 +VTS,1,2,960,2.18,CSH,12.0 +VTS,1,1,420,1.47,CSH,7.0 +VTS,1,6,300,1.17,CSH,6.0 +VTS,1,2,900,3.03,CSH,12.5 +VTS,1,6,480,1.27,CRD,7.5 +VTS,1,2,900,3.37,CRD,13.5 +VTS,1,1,180,1.02,CSH,5.0 +VTS,1,6,720,1.94,CSH,9.0 +VTS,1,6,960,5.42,CRD,18.5 +VTS,1,6,1140,1.69,CRD,12.5 +VTS,1,1,1380,5.74,CRD,20.0 +VTS,1,6,840,3.08,CRD,12.5 +VTS,1,1,600,2.28,CSH,10.0 +VTS,1,6,180,0.59,CSH,4.0 +VTS,1,6,1020,2.6,CRD,12.5 +VTS,1,1,360,1.46,CRD,6.5 +VTS,1,1,660,2.08,CRD,9.5 +VTS,1,1,120,0.65,CRD,4.0 +VTS,1,1,720,1.64,CRD,9.5 +VTS,1,6,720,1.8,CSH,9.5 +VTS,2,1,2940,18.53,CRD,52.0 +VTS,1,6,300,1.28,CRD,6.5 +VTS,1,2,480,1.56,CSH,8.0 +VTS,1,6,900,1.67,CRD,11.0 +VTS,1,1,1320,3.15,CSH,16.0 +VTS,1,1,1860,2.46,CSH,19.0 +VTS,1,6,1440,7.33,CRD,25.0 +VTS,1,6,780,2.7,CSH,11.5 +VTS,1,1,480,1.73,CSH,8.5 +VTS,1,6,360,1.17,CRD,6.0 +VTS,1,6,1200,3.96,CRD,16.5 +VTS,1,1,1800,13.92,CRD,39.5 +CMT,1,1,1488,5.2,CRD,20.5 +CMT,1,1,292,0.9,CSH,5.5 +CMT,1,1,528,1.6,CRD,8.5 +CMT,1,1,165,0.6,CSH,4.5 +CMT,1,1,1283,3.6,CRD,16.5 +CMT,1,2,822,1.3,CSH,10.0 +CMT,1,1,22,9.4,CSH,2.5 +CMT,1,1,478,1.1,CSH,7.5 +CMT,1,1,492,1.4,CSH,8.0 +CMT,1,1,476,1.6,CRD,8.0 +CMT,1,1,1621,13.0,CSH,37.5 +CMT,1,1,942,2.2,CRD,11.5 +CMT,1,1,465,0.8,CRD,6.5 +CMT,1,1,1250,7.4,CRD,24.5 +CMT,1,1,869,1.8,CSH,11.0 +CMT,1,1,738,1.9,CRD,10.0 +CMT,1,2,1593,8.6,CRD,28.0 +CMT,1,1,166,0.7,CSH,4.5 +CMT,1,1,207,0.7,CRD,4.5 +CMT,1,1,442,0.7,CSH,6.5 +CMT,1,1,440,1.0,CSH,6.5 +CMT,1,1,530,0.9,CRD,7.0 +CMT,1,1,500,1.6,CSH,8.0 +CMT,1,3,421,1.1,CSH,6.5 +VTS,1,6,600,2.53,CRD,10.0 +VTS,1,1,600,1.82,CRD,8.5 +VTS,1,6,360,2.27,CSH,9.0 +VTS,1,6,360,1.6,CRD,6.5 +VTS,1,1,1140,4.69,CRD,17.5 +VTS,1,1,840,1.67,CRD,10.0 +VTS,1,1,300,0.72,CSH,5.5 +VTS,1,1,540,1.01,CSH,7.5 +VTS,1,6,780,2.5,CRD,11.5 +VTS,1,6,840,1.75,CRD,11.0 +VTS,1,6,840,3.91,CRD,14.5 +VTS,1,6,360,1.29,CSH,6.0 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,6,300,1.15,CRD,6.0 +VTS,1,1,1140,2.9,CRD,14.0 +CMT,2,4,1827,0.0,CSH,52.0 +CMT,1,2,424,1.8,CRD,8.0 +CMT,1,3,1300,4.2,CRD,17.5 +CMT,1,1,525,1.5,CSH,8.0 +CMT,1,1,777,1.7,CSH,10.5 +CMT,1,1,189,0.9,CSH,5.0 +CMT,1,1,163,0.4,CSH,4.0 +CMT,1,1,809,2.1,CRD,10.5 +CMT,1,1,776,1.1,CRD,9.0 +CMT,1,1,839,2.5,CRD,12.0 +CMT,1,1,785,4.0,CRD,14.5 +VTS,1,6,600,2.01,CRD,9.0 +VTS,1,6,540,2.28,CRD,10.0 +VTS,1,6,1980,3.1,CRD,20.5 +VTS,1,1,1860,5.65,CRD,24.0 +VTS,1,1,720,4.53,CRD,15.5 +VTS,1,6,780,0.59,CSH,8.5 +VTS,1,1,1680,10.0,CRD,32.5 +VTS,1,1,1320,6.89,CSH,24.0 +VTS,1,1,300,0.95,CSH,6.0 +VTS,1,6,540,2.95,CRD,10.0 +VTS,1,2,1200,4.38,CRD,18.5 +VTS,1,6,2100,10.77,CRD,35.0 +VTS,1,1,900,0.61,CRD,10.0 +VTS,1,1,960,2.6,CSH,12.0 +VTS,1,6,1080,5.97,CRD,19.5 +VTS,1,1,1500,4.38,CSH,19.5 +VTS,1,1,360,0.91,CSH,6.0 +VTS,1,2,120,0.5,CSH,3.5 +VTS,1,6,1020,2.29,CRD,12.5 +VTS,1,1,840,3.26,CRD,12.5 +VTS,1,2,480,0.75,CRD,6.5 +VTS,1,1,780,2.04,CRD,10.5 +VTS,1,6,840,2.39,CSH,12.0 +VTS,1,6,660,1.62,CRD,9.5 +VTS,1,1,660,1.92,CSH,9.5 +VTS,1,6,960,3.15,CRD,13.5 +VTS,1,6,480,0.95,CRD,7.0 +CMT,1,1,9,9.4,CSH,2.5 +CMT,1,2,256,1.1,CRD,6.0 +CMT,1,1,487,1.0,CSH,7.0 +CMT,1,1,988,2.8,CSH,13.0 +CMT,1,1,539,1.1,CRD,7.5 +CMT,1,1,1622,3.2,CSH,18.5 +CMT,1,1,669,1.4,CRD,8.5 +CMT,1,2,260,0.7,CRD,5.0 +CMT,1,2,320,0.5,CSH,5.0 +CMT,1,1,433,1.1,CRD,7.0 +CMT,1,1,310,0.7,CSH,5.5 +CMT,1,1,149,0.4,CSH,4.0 +CMT,1,1,658,1.7,CRD,9.0 +CMT,1,1,911,4.4,CSH,15.5 +CMT,1,2,377,1.5,CRD,7.0 +CMT,1,1,610,2.9,CRD,11.0 +CMT,1,1,377,1.1,CRD,6.5 +CMT,1,1,450,1.6,CSH,8.0 +CMT,1,2,763,1.7,CSH,10.5 +CMT,1,1,177,0.6,CSH,4.5 +CMT,1,4,997,10.0,CSH,28.5 +CMT,1,1,383,0.8,CRD,6.0 +CMT,1,1,79,0.4,CSH,3.5 +CMT,1,1,22,0.6,CSH,2.5 +CMT,1,1,265,1.0,CSH,5.5 +CMT,1,1,406,1.0,CRD,6.5 +VTS,1,6,5220,30.1,CSH,87.0 +VTS,1,6,360,1.62,CSH,7.5 +VTS,1,1,1200,3.94,CRD,16.5 +CMT,1,1,296,0.4,CRD,5.0 +CMT,1,1,995,18.7,CSH,19.5 +CMT,1,1,589,2.1,CRD,9.5 +CMT,1,1,555,1.1,CSH,7.5 +CMT,1,1,545,1.6,CRD,8.5 +CMT,1,1,309,0.5,CSH,5.0 +CMT,1,1,264,0.6,CSH,5.0 +CMT,1,1,305,0.7,CSH,5.5 +CMT,1,1,885,2.0,CRD,11.5 +CMT,1,1,1218,3.1,CRD,15.0 +CMT,1,1,462,1.0,CRD,6.5 +CMT,1,2,1937,7.2,CSH,27.0 +CMT,1,1,416,2.0,CSH,8.5 +CMT,1,1,974,3.5,CSH,14.0 +CMT,1,1,363,0.9,CRD,6.0 +CMT,1,1,279,0.5,CSH,5.0 +CMT,1,1,713,2.2,CSH,10.0 +CMT,1,3,423,0.8,CSH,6.5 +CMT,1,1,556,1.7,CSH,8.5 +CMT,1,3,478,1.0,CRD,7.0 +CMT,1,2,1036,10.4,CRD,29.5 +CMT,1,1,1169,3.2,CRD,15.5 +CMT,1,1,789,5.3,CSH,17.5 +VTS,1,6,0,0.0,CSH,2.5 +VTS,1,6,180,0.38,CSH,4.0 +VTS,1,6,780,1.75,CRD,10.0 +VTS,1,6,180,0.97,CRD,5.0 +CMT,1,1,792,1.7,CSH,10.0 +CMT,1,2,3126,20.5,CSH,59.0 +CMT,1,4,426,1.3,CSH,7.5 +CMT,1,1,915,2.1,CRD,11.5 +CMT,1,4,1030,2.4,CSH,13.0 +CMT,1,1,771,2.9,CRD,12.0 +CMT,1,1,1658,6.4,CRD,24.5 +CMT,1,2,2107,3.8,CSH,22.5 +CMT,1,1,517,1.3,CSH,8.0 +CMT,1,1,198,0.5,CRD,4.5 +CMT,1,2,834,3.7,CSH,13.5 +CMT,1,1,153,0.5,CSH,4.0 +CMT,1,1,368,0.8,CRD,6.0 +CMT,1,1,506,1.0,CRD,7.0 +CMT,1,1,2669,13.1,CRD,40.5 +CMT,1,4,1023,4.8,CRD,16.5 +CMT,1,1,323,1.3,CRD,6.5 +CMT,1,2,774,1.9,CRD,10.5 +CMT,1,1,842,1.4,CSH,10.5 +CMT,1,1,963,6.4,CSH,19.5 +CMT,1,1,1785,9.7,CSH,32.5 +CMT,1,1,833,2.4,CRD,11.0 +CMT,1,1,306,0.8,CSH,5.5 +CMT,1,1,1134,3.2,CRD,15.0 +CMT,1,1,1587,5.0,CRD,20.5 +CMT,1,1,1524,1.6,CRD,15.5 +CMT,1,1,915,4.3,CRD,15.0 +CMT,1,1,494,1.5,CSH,8.0 +CMT,1,2,280,1.0,CRD,6.0 +CMT,1,1,659,4.1,CRD,14.0 +CMT,1,1,342,1.3,CSH,7.0 +CMT,1,2,817,3.3,CSH,13.5 +CMT,1,1,490,2.0,CSH,9.5 +CMT,1,1,364,1.7,CRD,8.0 +CMT,1,1,812,1.9,CRD,11.0 +CMT,1,3,823,1.3,CRD,10.0 +CMT,1,1,497,0.5,CSH,6.5 +CMT,1,1,602,1.9,CSH,9.5 +CMT,1,1,433,0.9,CSH,6.5 +CMT,1,1,696,4.2,CRD,14.0 +CMT,1,1,823,3.9,CSH,14.0 +CMT,1,1,659,1.3,CRD,8.5 +CMT,1,1,765,1.6,CRD,10.0 +CMT,1,1,697,1.8,CRD,9.5 +CMT,1,1,881,1.3,CRD,10.5 +CMT,1,2,352,1.0,CSH,6.0 +CMT,1,4,1072,3.4,CSH,14.5 +CMT,1,1,1464,4.0,CRD,17.5 +VTS,1,6,480,1.43,CSH,8.0 +VTS,1,1,300,1.0,CRD,6.0 +VTS,1,1,960,3.8,CRD,14.0 +VTS,1,6,780,2.52,CRD,12.0 +VTS,1,6,1020,4.01,CRD,15.5 +VTS,1,1,600,1.44,CRD,8.0 +VTS,1,6,720,2.96,CRD,12.0 +VTS,1,6,720,1.82,CSH,8.5 +VTS,1,1,780,0.97,CRD,9.0 +VTS,1,1,360,1.19,CSH,6.0 +VTS,1,6,1260,5.88,CRD,20.5 +VTS,1,6,120,0.6,CSH,4.0 +VTS,1,1,480,0.77,CRD,6.5 +VTS,1,6,300,0.89,CSH,6.0 +VTS,1,6,840,2.31,CSH,11.0 +VTS,1,1,600,1.63,CRD,8.5 +VTS,1,6,660,3.14,CRD,12.0 +VTS,1,6,1380,2.31,CRD,15.5 +VTS,1,6,1140,2.22,CRD,13.5 +VTS,1,6,960,2.8,CSH,13.5 +CMT,0,1,0,0.0,CRD,32.5 +CMT,1,1,327,1.3,CSH,6.5 +CMT,1,1,510,1.1,CSH,7.5 +CMT,1,1,989,4.4,CRD,15.5 +CMT,1,1,51,1.6,CSH,2.5 +CMT,1,1,645,3.5,CSH,13.0 +CMT,1,1,546,1.3,CSH,8.0 +CMT,1,1,783,0.8,CRD,9.0 +CMT,1,1,602,1.4,CRD,8.5 +CMT,1,1,651,2.7,CSH,11.0 +CMT,1,1,1323,5.4,CSH,20.0 +CMT,1,1,541,2.4,CSH,10.0 +CMT,1,1,584,0.8,CRD,7.5 +CMT,1,1,718,4.2,CRD,14.5 +CMT,1,1,400,0.8,CSH,6.0 +CMT,1,2,717,1.5,CRD,9.5 +CMT,2,1,3810,11.0,CRD,52.0 +CMT,1,1,808,2.6,CSH,11.5 +CMT,1,1,534,1.1,CRD,7.5 +CMT,1,1,206,0.6,CRD,4.5 +CMT,1,1,384,2.5,CSH,9.0 +CMT,1,2,133,0.4,CSH,4.0 +CMT,1,1,731,2.5,CSH,11.0 +CMT,1,1,1280,12.7,CSH,36.5 +CMT,1,1,707,5.0,CSH,16.0 +CMT,1,1,854,1.2,CSH,10.0 +CMT,1,3,867,3.1,CSH,12.5 +CMT,1,1,179,0.9,CRD,5.0 +CMT,1,1,277,1.5,CSH,6.5 +CMT,1,1,348,1.2,CSH,6.5 +CMT,1,1,482,2.0,CSH,8.5 +CMT,1,1,406,0.8,CSH,6.5 +CMT,1,1,677,2.2,CSH,10.0 +CMT,1,1,350,1.3,CRD,6.5 +CMT,1,2,393,0.4,CSH,5.5 +CMT,1,1,292,0.5,CRD,5.0 +CMT,1,2,681,1.9,CSH,10.0 +CMT,1,1,351,0.9,CRD,6.0 +CMT,1,3,1279,11.0,CSH,19.0 +CMT,1,1,322,1.1,CSH,6.0 +CMT,1,1,1215,3.7,CRD,16.5 +CMT,1,1,541,0.9,CSH,7.5 +CMT,1,1,393,1.6,CRD,7.5 +CMT,1,1,491,1.5,CSH,8.0 +CMT,1,1,283,0.6,CRD,5.0 +CMT,1,1,701,0.9,CSH,7.0 +CMT,1,1,718,3.2,CRD,12.5 +CMT,1,1,365,1.5,CRD,7.0 +CMT,1,1,865,3.9,CSH,15.5 +CMT,1,1,244,1.0,CSH,5.5 +CMT,1,1,368,1.3,CRD,7.0 +CMT,2,1,2979,19.3,CRD,52.0 +CMT,1,3,2012,4.3,CSH,22.0 +CMT,1,1,426,1.2,CSH,7.0 +CMT,1,1,762,1.8,CRD,10.0 +CMT,1,1,1062,6.8,CRD,22.0 +CMT,1,1,490,0.7,CSH,6.5 +CMT,1,1,875,0.8,CSH,10.0 +CMT,1,2,766,1.3,CSH,9.5 +CMT,1,2,374,1.1,CSH,6.5 +CMT,2,1,2502,9.4,CSH,52.0 +CMT,1,1,452,1.4,CRD,7.5 +CMT,1,1,715,2.2,CRD,10.5 +CMT,1,1,253,0.7,CRD,5.0 +CMT,1,1,351,1.3,CRD,6.5 +CMT,1,1,1490,10.4,CSH,32.0 +CMT,1,2,742,2.2,CRD,10.5 +CMT,1,1,863,3.2,CRD,13.0 +CMT,1,1,171,0.6,CSH,4.5 +CMT,1,1,503,0.9,CSH,7.0 +CMT,1,1,794,2.1,CRD,10.5 +CMT,1,3,364,1.2,CRD,6.5 +CMT,1,2,84,0.3,CSH,3.5 +CMT,1,1,461,0.5,CRD,6.0 +CMT,1,2,366,1.2,CRD,6.5 +CMT,1,1,442,1.4,CSH,7.5 +CMT,1,1,217,0.8,CSH,5.0 +CMT,1,1,545,1.9,CSH,9.0 +CMT,1,1,487,1.3,CSH,7.5 +CMT,1,1,470,1.2,CSH,7.5 +CMT,1,1,489,1.3,CRD,8.0 +CMT,1,1,407,0.9,CSH,6.5 +CMT,1,1,571,1.1,CRD,7.5 +CMT,1,1,527,1.2,CSH,7.5 +CMT,1,3,353,0.8,CSH,6.0 +CMT,1,1,464,1.6,CRD,8.0 +CMT,1,1,614,2.6,CSH,10.5 +CMT,1,1,318,2.8,CSH,9.5 +CMT,1,1,132,0.8,CRD,4.5 +CMT,2,1,2048,0.9,CRD,52.0 +CMT,1,1,525,0.9,CRD,7.0 +CMT,1,2,743,1.3,CRD,9.0 +CMT,1,1,629,2.4,CSH,10.5 +CMT,1,1,1710,4.4,CRD,21.0 +CMT,1,3,188,0.6,CRD,4.5 +CMT,1,2,520,2.1,CRD,9.5 +CMT,1,1,544,1.7,CRD,8.5 +CMT,1,1,605,1.8,CSH,9.0 +CMT,1,2,791,1.5,CSH,10.0 +CMT,1,1,612,3.3,CSH,12.5 +CMT,1,1,477,1.1,CSH,7.5 +CMT,1,1,909,6.0,CSH,19.0 +CMT,1,1,199,0.0,CRD,5.0 +CMT,1,1,323,1.3,CRD,6.5 +CMT,1,1,926,3.5,CRD,14.0 +CMT,1,1,807,2.8,CSH,12.0 +CMT,1,1,889,2.9,CSH,12.5 +CMT,1,1,2092,11.3,CRD,36.5 +CMT,1,1,267,1.2,CRD,6.0 +CMT,1,1,525,2.2,CSH,9.0 +CMT,1,1,1264,8.9,CRD,28.0 +CMT,1,1,328,0.6,CSH,5.5 +CMT,1,1,853,1.5,CSH,10.0 +CMT,1,1,269,0.7,CRD,5.0 +CMT,1,1,1008,3.1,CRD,14.0 +CMT,1,1,573,3.9,CSH,13.0 +CMT,1,1,56,0.2,CRD,3.0 +CMT,1,1,546,2.7,CRD,10.0 +CMT,1,1,567,1.9,CRD,9.0 +CMT,1,1,1234,2.6,CSH,15.0 +CMT,1,1,168,0.6,CRD,4.5 +CMT,1,1,1304,2.4,CSH,15.0 +CMT,1,1,214,0.5,CSH,4.5 +CMT,1,1,289,1.1,CRD,6.0 +CMT,1,1,322,0.6,CSH,5.5 +CMT,1,1,346,2.0,CSH,8.0 +CMT,1,1,1140,3.8,CSH,16.0 +CMT,1,1,1530,5.7,CRD,22.0 +CMT,1,1,801,1.9,CRD,10.5 +CMT,1,1,894,6.8,CSH,20.5 +CMT,1,1,1683,11.2,CRD,33.0 +CMT,1,1,703,2.2,CSH,10.5 +CMT,1,1,1063,2.0,CSH,12.5 +CMT,1,1,604,1.8,CRD,9.5 +CMT,1,1,382,1.1,CRD,6.5 +CMT,1,1,852,3.9,CRD,14.5 +CMT,1,1,391,1.1,CRD,6.5 +VTS,1,2,960,3.79,CRD,14.5 +VTS,1,6,480,1.4,CSH,7.5 +VTS,1,6,1260,3.82,CRD,17.0 +VTS,1,1,600,1.31,CSH,8.0 +VTS,1,6,1260,3.65,CSH,16.5 +VTS,1,6,1320,3.55,CRD,17.5 +VTS,1,1,900,4.25,CSH,14.5 +CMT,1,2,1688,4.9,CSH,21.5 +CMT,1,1,1326,5.1,CRD,20.5 +CMT,1,1,618,2.1,CSH,10.0 +CMT,1,1,330,1.5,CSH,7.0 +CMT,1,1,248,0.7,CSH,5.0 +CMT,1,1,462,0.7,CSH,6.5 +CMT,1,2,581,0.9,CSH,7.5 +CMT,1,1,395,0.9,CSH,6.5 +CMT,1,3,477,1.1,CSH,7.5 +CMT,1,1,298,0.8,CSH,5.5 +CMT,1,2,153,0.2,CRD,3.5 +CMT,1,1,591,0.9,CRD,7.5 +CMT,1,1,462,1.0,CRD,7.0 +CMT,1,1,580,1.7,CSH,8.5 +CMT,1,1,584,1.9,CRD,9.0 +CMT,1,1,1601,4.6,CRD,21.0 +CMT,1,1,1124,2.8,CRD,14.0 +CMT,1,2,2196,4.0,CSH,23.5 +CMT,1,1,161,0.6,CSH,4.5 +CMT,1,1,382,1.5,CRD,7.5 +CMT,1,1,449,1.4,CRD,7.5 +CMT,1,1,171,0.3,CRD,4.0 +CMT,1,1,879,2.6,CRD,12.0 +CMT,1,1,358,0.8,CSH,6.0 +CMT,1,1,1631,6.8,CRD,24.5 +CMT,1,1,706,2.9,CRD,12.0 +CMT,1,1,416,1.7,CRD,7.5 +CMT,1,1,399,1.4,CSH,7.5 +CMT,1,2,767,6.1,CRD,19.0 +CMT,1,4,169,0.4,CSH,4.0 +CMT,1,3,205,0.4,CRD,4.5 +CMT,1,1,936,7.0,CSH,22.5 +CMT,1,1,323,0.5,CSH,5.0 +CMT,1,1,656,1.3,CRD,8.5 +CMT,1,1,1136,8.7,CSH,26.0 +CMT,1,1,150,0.4,CSH,4.0 +CMT,1,1,389,1.2,CSH,7.0 +CMT,1,1,299,1.2,CSH,6.0 +CMT,1,1,368,1.3,CSH,7.0 +CMT,1,1,530,2.1,CRD,9.0 +CMT,1,1,346,1.2,CSH,6.5 +CMT,1,1,493,2.7,CSH,10.0 +CMT,1,1,477,1.8,CRD,8.5 +CMT,1,1,400,1.1,CRD,6.5 +CMT,1,3,484,1.4,CRD,7.5 +CMT,1,4,197,0.2,CSH,4.0 +CMT,1,1,1170,2.9,CRD,15.0 +CMT,1,1,423,0.9,CRD,6.5 +CMT,1,1,386,1.1,CSH,6.5 +CMT,1,1,976,2.7,CRD,12.5 +CMT,1,1,1181,3.3,CSH,15.0 +CMT,1,1,261,1.0,CSH,5.5 +CMT,1,1,1164,6.4,CRD,21.5 +CMT,1,1,785,4.5,CRD,16.5 +CMT,1,2,1090,9.3,CSH,27.5 +CMT,1,1,433,0.9,CRD,7.0 +CMT,1,1,400,2.6,CRD,9.5 +CMT,1,1,421,1.5,CRD,7.5 +CMT,1,1,569,2.2,CRD,9.5 +CMT,1,1,3,2.0,CSH,2.5 +CMT,1,1,1191,2.8,CRD,14.0 +CMT,1,1,1081,8.3,CSH,24.5 +CMT,1,1,249,0.5,NOC,5.0 +CMT,1,1,1746,5.4,CSH,22.5 +CMT,1,1,1356,4.7,CSH,18.5 +CMT,1,1,137,0.4,CSH,4.0 +CMT,1,1,451,2.8,CRD,10.5 +CMT,1,1,741,2.7,CSH,12.0 +CMT,1,1,719,2.3,CRD,11.0 +CMT,1,1,898,2.8,CRD,12.5 +CMT,1,1,581,1.5,CSH,8.5 +CMT,1,1,690,3.9,CRD,13.0 +CMT,1,3,292,0.9,CRD,5.5 +CMT,1,2,433,0.7,CSH,6.5 +CMT,1,1,693,2.4,CRD,10.5 +CMT,1,1,992,1.8,CSH,11.5 +CMT,1,1,818,1.4,CRD,10.0 +CMT,1,1,746,3.3,CSH,12.5 +CMT,1,2,447,0.8,CRD,6.5 +CMT,1,1,224,0.7,CSH,5.0 +CMT,1,3,955,2.7,CRD,12.5 +CMT,1,1,134,0.4,CSH,4.0 +CMT,1,1,825,4.4,CRD,15.0 +CMT,1,1,194,0.6,CSH,4.5 +CMT,1,1,316,1.3,CRD,6.5 +CMT,1,1,90,0.4,CRD,3.5 +CMT,1,1,310,1.1,CRD,6.0 +CMT,1,1,393,1.5,CRD,7.5 +CMT,1,1,599,2.2,CSH,10.0 +CMT,1,1,624,2.1,CSH,9.5 +CMT,1,1,153,0.5,CSH,4.0 +CMT,1,1,988,5.8,CSH,19.0 +CMT,1,1,713,2.7,CSH,11.5 +CMT,1,1,712,1.3,CSH,9.0 +CMT,1,1,565,1.7,CSH,9.0 +CMT,1,1,2305,7.2,CSH,28.0 +CMT,1,1,438,1.4,CRD,7.5 +CMT,1,1,1386,5.2,CRD,20.5 +CMT,1,1,260,0.8,CRD,5.5 +CMT,1,1,377,2.3,CRD,8.5 +CMT,1,1,687,2.1,CRD,10.0 +CMT,1,1,716,1.1,CSH,9.0 +CMT,1,1,974,4.4,CRD,15.5 +CMT,1,1,487,2.1,CRD,8.5 +CMT,1,1,500,1.4,CSH,8.0 +CMT,1,1,135,0.5,CRD,4.0 +CMT,1,1,727,8.1,CRD,23.0 +CMT,1,1,1138,2.9,CRD,15.0 +CMT,1,1,719,0.9,CSH,8.5 +CMT,1,1,234,0.8,CSH,5.0 +CMT,1,1,1962,5.3,CRD,25.0 +CMT,1,1,498,2.5,CSH,9.5 +CMT,1,1,926,4.2,CRD,15.0 +CMT,1,1,74,0.4,CSH,3.5 +CMT,1,1,599,1.9,CSH,9.0 +CMT,1,1,688,1.8,CRD,9.5 +CMT,1,1,377,0.5,CSH,5.5 +CMT,1,1,765,3.0,CRD,12.5 +CMT,1,1,393,1.1,CSH,6.5 +CMT,1,1,758,1.5,CSH,9.5 +CMT,1,1,259,1.0,CRD,5.5 +CMT,1,1,637,1.3,CSH,8.5 +CMT,1,1,974,1.7,CSH,11.5 +CMT,1,1,59,0.2,CSH,3.0 +CMT,1,1,770,2.1,CSH,11.0 +CMT,1,1,769,6.2,CSH,19.0 +CMT,1,1,235,0.8,CRD,5.0 +CMT,1,1,209,0.4,CRD,4.5 +CMT,1,1,366,0.8,CSH,6.0 +CMT,1,1,786,3.6,CRD,13.5 +CMT,1,1,611,1.9,CRD,9.0 +CMT,1,1,154,0.7,CRD,4.5 +CMT,1,1,728,4.9,CRD,15.5 +CMT,1,1,86,0.3,CRD,3.5 +CMT,1,1,219,0.5,CSH,4.5 +CMT,1,1,1288,2.2,CRD,14.0 +CMT,4,1,1235,2.0,CSH,13.5 +CMT,1,1,675,1.9,CRD,9.5 +CMT,1,1,1224,2.2,CRD,13.5 +CMT,1,1,225,0.5,CRD,4.5 +CMT,1,1,375,1.3,CSH,7.0 +CMT,1,1,679,1.3,CSH,9.0 +CMT,1,1,1263,4.1,CSH,18.5 +CMT,1,1,765,2.7,CSH,11.5 +CMT,1,1,367,0.8,CRD,6.0 +CMT,1,1,815,3.6,CRD,13.5 +CMT,1,1,109,0.6,CSH,4.0 +CMT,1,1,249,0.8,CSH,5.0 +CMT,1,1,814,2.5,CRD,11.5 +CMT,1,1,220,0.4,CRD,4.5 +CMT,1,1,1234,5.4,CRD,19.0 +CMT,1,1,701,2.0,CSH,10.0 +CMT,1,1,387,0.8,CSH,6.0 +CMT,1,1,461,1.8,CRD,8.5 +CMT,1,1,1009,7.1,CRD,22.5 +CMT,1,1,1567,9.6,CSH,30.5 +CMT,1,1,767,32.4,CSH,10.0 +CMT,1,1,371,0.7,CSH,6.0 +CMT,1,1,974,3.6,CSH,14.0 +CMT,1,1,1239,3.5,CRD,16.0 +CMT,1,1,196,0.6,CSH,4.5 +CMT,1,1,392,1.8,CSH,7.5 +CMT,1,1,2548,13.3,CSH,43.5 +CMT,1,1,322,1.0,CRD,6.0 +CMT,1,1,934,4.9,CRD,17.5 +CMT,1,1,276,0.6,CRD,5.0 +CMT,1,1,617,2.0,CRD,9.5 +CMT,1,1,264,0.8,CSH,5.5 +CMT,1,1,287,0.9,CSH,5.5 +CMT,1,1,138,0.5,CSH,4.0 +CMT,1,1,504,1.7,CRD,8.0 +CMT,1,1,727,2.3,CRD,10.5 +CMT,1,1,356,1.3,CRD,7.0 +CMT,1,1,84,0.2,CRD,3.0 +CMT,1,1,1270,3.3,CRD,16.0 +CMT,1,1,324,0.6,CSH,5.5 +CMT,1,1,343,0.7,CRD,5.5 +CMT,1,1,678,2.0,CSH,10.0 +CMT,1,1,207,0.3,CRD,4.5 +CMT,1,1,1220,5.1,CSH,18.0 +CMT,1,1,248,0.4,CRD,4.5 +CMT,1,1,988,2.7,CRD,13.0 +CMT,1,1,1157,3.8,CRD,17.0 +CMT,1,1,975,1.8,CRD,12.0 +CMT,1,1,531,0.9,CSH,7.5 +CMT,1,1,542,1.6,CSH,8.5 +CMT,1,1,1221,2.4,CSH,14.5 +CMT,1,1,291,0.6,CRD,5.0 +CMT,1,1,428,1.1,CRD,7.0 +CMT,1,1,683,1.5,CRD,9.0 +CMT,1,1,335,0.8,CSH,5.5 +CMT,1,1,1031,3.5,CSH,14.5 +CMT,1,1,254,0.9,CRD,5.5 +CMT,1,1,314,0.7,CSH,5.5 +CMT,1,1,453,3.4,CRD,11.5 +CMT,1,1,543,3.5,CRD,12.0 +CMT,1,1,594,2.3,CRD,10.0 +CMT,1,1,1182,4.0,CSH,16.0 +CMT,1,1,729,3.7,CRD,13.0 +CMT,1,1,376,1.1,CSH,6.5 +CMT,1,1,1028,11.0,CRD,31.0 +CMT,1,1,501,1.3,CSH,7.5 +CMT,1,1,386,1.2,CSH,6.5 +CMT,1,1,813,4.2,CRD,14.5 +CMT,1,2,1953,7.7,CSH,27.5 +CMT,1,2,395,1.1,CRD,6.5 +CMT,1,3,956,2.9,CSH,12.5 +CMT,1,2,674,2.1,CSH,10.0 +CMT,1,1,664,2.1,CSH,10.0 +CMT,1,1,1014,6.4,CRD,20.5 +CMT,1,1,276,0.7,CSH,5.0 +CMT,1,1,466,1.9,CSH,8.5 +CMT,1,1,436,2.5,CRD,10.0 +CMT,1,1,242,0.9,CRD,5.5 +CMT,1,1,1525,3.0,CRD,17.0 +CMT,1,1,405,0.7,CSH,6.0 +CMT,1,1,1296,2.3,CSH,14.0 +CMT,1,1,504,1.7,CSH,8.0 +CMT,1,1,426,0.8,CRD,6.5 +CMT,1,1,1332,10.1,CSH,29.5 +CMT,1,1,660,2.2,CRD,10.0 +CMT,1,1,367,0.8,CSH,6.0 +CMT,1,1,395,1.3,CRD,7.0 +CMT,1,1,48,0.2,CSH,3.0 +CMT,1,1,944,3.1,CSH,13.5 +CMT,1,1,575,0.9,CRD,7.5 +CMT,1,1,271,1.0,CSH,5.5 +CMT,1,3,585,2.8,CSH,10.5 +CMT,1,1,515,1.2,CSH,7.5 +CMT,1,2,1182,2.6,CSH,14.0 +CMT,1,4,1853,8.5,CSH,29.0 +CMT,1,2,1463,10.5,CSH,31.0 +CMT,1,1,1018,2.2,CRD,12.5 +CMT,1,1,1564,3.9,CRD,19.5 +CMT,1,1,816,1.4,CRD,10.0 +CMT,1,1,318,0.5,CSH,5.0 +CMT,1,1,431,0.6,CSH,6.0 +CMT,1,1,521,1.9,CSH,9.0 +CMT,1,1,1084,8.5,CRD,26.5 +CMT,1,1,426,2.7,CSH,9.5 +CMT,1,1,773,9.2,CSH,26.0 +CMT,1,1,865,7.8,CSH,23.0 +CMT,1,1,734,2.9,CRD,11.5 +CMT,1,1,458,1.9,CSH,8.5 +CMT,1,1,555,1.7,CSH,8.5 +CMT,1,1,602,1.7,CRD,8.5 +CMT,1,1,1139,1.5,CRD,12.5 +CMT,1,1,1075,2.6,CRD,13.0 +CMT,1,1,956,2.1,CSH,11.5 +CMT,1,1,802,1.0,CSH,9.5 +CMT,1,1,204,0.6,CRD,5.0 +CMT,1,1,1288,5.7,CSH,20.0 +CMT,1,1,617,1.7,CRD,9.5 +CMT,1,1,302,0.9,CRD,6.0 +CMT,1,1,321,1.1,CSH,6.0 +CMT,1,1,561,1.2,CSH,8.0 +CMT,1,1,591,1.3,CRD,8.5 +CMT,1,1,600,1.2,CRD,8.0 +CMT,1,1,1422,5.7,CRD,21.5 +CMT,1,1,109,1.3,CSH,3.0 +CMT,1,1,481,1.0,CSH,7.0 +CMT,1,1,164,0.2,CRD,3.5 +CMT,1,1,350,1.1,CSH,6.5 +CMT,1,1,297,1.2,CSH,6.0 +CMT,1,1,1148,10.1,CRD,29.0 +CMT,1,1,164,0.4,CSH,4.0 +CMT,1,1,1190,2.7,CRD,14.0 +CMT,1,1,256,0.6,CSH,5.0 +CMT,1,1,325,0.7,CSH,5.5 +CMT,1,1,548,1.6,CRD,8.5 +CMT,1,1,154,0.5,CRD,4.0 +CMT,1,1,181,0.6,CSH,4.5 +CMT,1,1,366,1.2,CRD,6.5 +CMT,1,1,410,1.1,CSH,6.5 +CMT,1,1,951,3.8,CRD,15.5 +CMT,1,1,1470,11.0,CRD,32.0 +CMT,1,1,308,1.2,CSH,6.0 +CMT,1,1,200,1.1,CSH,5.5 +CMT,1,1,467,1.3,CRD,7.5 +CMT,1,1,646,1.7,CSH,9.0 +CMT,1,1,745,1.9,CRD,10.5 +CMT,1,1,237,0.7,CSH,5.0 +CMT,1,1,562,0.4,CSH,7.0 +CMT,1,1,463,1.3,CSH,7.0 +CMT,1,1,267,0.8,CSH,5.5 +CMT,1,1,610,1.1,CSH,8.0 +CMT,1,1,875,3.4,CRD,14.0 +CMT,1,1,448,1.7,CSH,8.0 +CMT,1,1,343,1.4,CRD,7.0 +CMT,1,1,334,1.0,CRD,6.0 +CMT,1,1,626,1.7,CSH,9.5 +CMT,1,1,375,1.1,CRD,6.5 +CMT,1,1,512,1.4,CRD,8.0 +CMT,1,1,498,1.3,CRD,8.0 +CMT,1,1,612,2.6,CRD,10.5 +CMT,1,1,417,2.0,CSH,8.5 +CMT,1,1,99,0.4,CSH,3.5 +CMT,1,1,304,0.8,CRD,5.5 +CMT,1,1,464,1.5,CRD,8.0 +CMT,1,1,1179,6.4,CRD,22.0 +CMT,1,1,993,0.8,CRD,10.5 +CMT,1,1,308,1.3,CSH,6.5 +CMT,1,1,113,0.3,CSH,3.5 +CMT,1,1,344,0.9,CRD,6.0 +CMT,1,1,434,1.0,CRD,6.5 +CMT,1,1,289,0.2,CRD,4.5 +CMT,1,1,1012,2.7,CSH,13.0 +CMT,1,1,390,1.2,CRD,7.0 +CMT,1,1,293,1.1,CSH,6.0 +CMT,1,1,592,1.5,CRD,8.5 +CMT,1,1,869,2.2,CRD,12.0 +CMT,1,1,598,1.3,CSH,8.0 +CMT,1,1,1308,5.6,CSH,20.5 +CMT,1,1,720,1.7,CSH,9.5 +CMT,1,1,587,1.0,CRD,8.0 +CMT,1,1,471,0.8,CRD,6.5 +CMT,1,1,554,2.2,CRD,10.0 +CMT,1,1,408,0.8,CSH,6.5 +CMT,1,1,668,1.2,CRD,8.5 +CMT,1,1,278,0.5,CRD,5.0 +CMT,1,1,510,1.6,CRD,8.0 +CMT,1,1,486,1.8,CSH,8.5 +CMT,1,1,455,0.9,CSH,7.0 +CMT,1,1,519,1.7,CSH,8.5 +CMT,1,1,265,0.6,CSH,5.0 +CMT,1,1,588,1.7,CRD,9.0 +CMT,1,1,1251,3.4,CSH,16.5 +CMT,1,1,653,1.4,CSH,9.0 +CMT,1,1,857,0.9,CRD,9.5 +CMT,1,1,122,0.7,CSH,4.5 +CMT,1,1,832,4.5,CRD,16.0 +CMT,1,1,823,2.5,CRD,11.5 +CMT,1,1,915,2.6,CRD,12.5 +CMT,1,1,554,2.0,CRD,9.0 +CMT,1,1,404,1.6,CSH,7.5 +CMT,1,1,520,1.6,CRD,8.5 +CMT,1,1,695,2.0,CSH,10.0 +CMT,1,1,657,1.6,CRD,9.5 +CMT,1,1,374,0.9,CRD,6.0 +CMT,1,1,405,1.8,CSH,8.0 +CMT,1,1,457,1.2,CRD,7.0 +CMT,1,1,284,1.5,CRD,6.5 +CMT,1,1,505,2.1,CRD,9.5 +CMT,1,1,1586,4.6,CRD,20.5 +CMT,1,2,317,1.2,CRD,6.0 +CMT,1,1,358,2.1,CRD,8.0 +CMT,1,1,1433,3.7,CRD,17.5 +CMT,1,1,190,0.5,CSH,4.5 +CMT,1,1,105,0.8,CRD,4.5 +CMT,1,2,889,2.2,CRD,12.0 +CMT,1,1,457,1.7,CRD,8.0 +CMT,1,1,270,0.8,CSH,5.5 +CMT,1,1,243,0.8,CSH,5.0 +CMT,1,1,466,22.0,CRD,9.0 +CMT,1,2,343,1.1,CRD,6.0 +CMT,1,2,666,3.0,CSH,11.5 +CMT,1,1,301,0.9,CSH,5.5 +CMT,1,1,933,2.9,CRD,13.0 +CMT,1,1,468,1.2,CSH,7.0 +CMT,1,1,832,3.7,CSH,14.5 +CMT,1,1,502,1.6,CRD,8.0 +CMT,1,1,907,3.3,CRD,14.0 +CMT,1,1,939,1.4,CRD,11.0 +CMT,1,1,1468,3.1,CRD,17.5 +CMT,1,1,995,2.5,CRD,13.5 +CMT,1,1,602,0.6,CSH,7.5 +CMT,1,1,491,1.3,CSH,7.5 +CMT,1,1,327,1.3,CSH,6.5 +CMT,3,1,1658,12.6,CRD,55.0 +CMT,1,1,886,2.8,CRD,12.5 +CMT,1,1,1137,4.6,CRD,18.0 +CMT,1,1,1604,5.0,CRD,20.5 +CMT,1,1,947,2.4,CSH,12.5 +CMT,1,1,914,1.7,CSH,11.0 +CMT,1,1,898,2.6,CRD,12.5 +CMT,1,1,626,1.1,CRD,8.5 +CMT,1,1,660,2.5,CSH,10.5 +CMT,1,1,1141,3.1,CRD,15.0 +CMT,1,1,600,2.5,CSH,10.0 +CMT,1,1,182,1.4,CRD,6.0 +CMT,1,1,90,0.4,CSH,3.5 +CMT,1,1,345,1.7,CSH,7.5 +CMT,1,1,253,0.9,CSH,5.5 +CMT,1,1,344,1.1,CRD,6.5 +CMT,1,1,594,1.1,CSH,8.0 +CMT,1,1,1395,8.2,CRD,27.0 +CMT,1,1,333,0.6,CRD,5.5 +CMT,1,1,1490,2.3,CRD,16.0 +CMT,1,1,1667,8.7,CSH,29.0 +CMT,1,3,1294,13.7,DIS,38.0 +CMT,1,1,1223,6.8,CSH,21.5 +CMT,1,2,321,1.0,DIS,6.0 +CMT,1,2,653,3.4,CRD,12.0 +CMT,1,1,1358,10.1,CRD,30.5 +CMT,1,2,640,2.4,CRD,10.0 +CMT,1,1,1183,4.1,CRD,17.0 +CMT,1,2,727,3.5,CRD,13.0 +CMT,1,2,434,2.1,CSH,8.5 +CMT,1,1,439,1.7,CSH,7.5 +CMT,1,1,272,1.0,CSH,5.5 +CMT,1,1,339,1.0,CRD,6.0 +CMT,1,1,1047,3.6,CRD,15.5 +CMT,1,1,427,1.0,CSH,6.5 +CMT,1,1,295,0.9,CRD,5.5 +CMT,1,4,170,0.4,CSH,4.0 +CMT,1,3,884,4.9,CSH,16.0 +CMT,1,1,564,2.3,CRD,9.5 +CMT,1,2,744,3.2,CSH,12.5 +CMT,1,1,1713,9.6,CSH,32.0 +CMT,1,1,588,1.5,CSH,8.5 +CMT,1,1,838,3.1,CRD,13.0 +CMT,1,1,673,2.2,CRD,10.0 +CMT,1,1,709,2.9,CSH,12.0 +CMT,1,1,466,1.7,CSH,8.0 +CMT,1,1,1273,3.9,CRD,17.0 +CMT,1,1,381,1.1,CSH,6.5 +CMT,1,1,526,1.8,CSH,8.5 +CMT,1,1,589,1.5,CRD,8.5 +CMT,1,1,412,0.9,CSH,6.5 +CMT,1,1,444,0.8,CSH,6.5 +CMT,1,1,1019,3.7,CRD,15.5 +CMT,1,1,814,1.5,CRD,10.0 +CMT,1,1,877,1.8,CSH,10.5 +CMT,1,1,382,2.0,CRD,8.0 +CMT,1,1,357,1.2,CRD,6.5 +CMT,1,1,431,1.6,CRD,8.0 +CMT,1,1,234,0.5,CRD,4.5 +CMT,1,1,363,0.8,CRD,6.0 +CMT,1,1,694,1.8,CSH,10.0 +CMT,1,1,98,0.3,CSH,3.5 +CMT,1,1,263,0.4,CSH,5.0 +CMT,1,1,276,0.7,CRD,5.0 +CMT,1,1,470,1.1,CSH,7.0 +CMT,1,1,587,1.1,CRD,8.0 +CMT,1,1,378,1.4,CRD,7.0 +CMT,1,1,544,0.8,CSH,7.0 +CMT,1,1,1510,3.2,CSH,17.0 +CMT,1,1,456,1.7,CSH,8.0 +CMT,1,1,913,3.5,CRD,15.0 +CMT,1,1,590,2.8,CSH,11.0 +CMT,1,1,571,2.4,CSH,10.0 +CMT,1,1,976,2.7,CRD,13.0 +CMT,1,1,330,1.2,CRD,6.0 +CMT,1,1,153,0.7,CSH,4.5 +CMT,1,1,136,0.2,CRD,3.5 +CMT,1,1,878,5.1,CRD,18.0 +CMT,1,1,734,1.3,CRD,9.5 +CMT,1,1,1639,4.6,CSH,20.0 +CMT,1,1,816,1.3,CRD,10.0 +CMT,1,1,310,0.7,CRD,5.5 +CMT,1,1,1909,3.8,CRD,21.0 +CMT,1,1,611,1.3,CRD,8.5 +CMT,1,1,302,0.9,CRD,6.0 +CMT,1,1,1205,3.4,CSH,15.5 +CMT,1,1,915,1.3,CRD,11.0 +CMT,1,1,304,1.2,CSH,6.0 +CMT,1,1,391,1.3,CSH,7.0 +CMT,1,1,394,1.7,CRD,7.5 +CMT,1,1,613,1.1,CSH,8.0 +CMT,1,1,942,2.4,CSH,12.5 +CMT,1,1,1222,4.4,CSH,17.0 +CMT,1,1,576,1.7,CSH,8.5 +CMT,2,1,2130,3.6,CRD,52.0 +CMT,1,1,313,1.8,CRD,7.5 +CMT,1,1,487,1.8,CSH,8.5 +CMT,1,1,337,0.9,CRD,6.5 +CMT,1,1,280,0.7,CRD,5.0 +CMT,1,1,312,1.7,CRD,7.0 +CMT,1,1,364,1.3,CSH,7.0 +CMT,1,1,516,2.0,CRD,9.5 +CMT,1,1,482,3.0,CRD,11.0 +CMT,1,1,1474,5.4,CSH,21.5 +CMT,1,1,625,2.0,CSH,9.5 +CMT,1,1,172,0.3,CSH,4.0 +CMT,1,1,2482,11.4,CRD,41.0 +CMT,1,1,313,0.9,CRD,6.0 +CMT,1,2,564,2.6,CRD,10.0 +CMT,1,3,1077,4.3,CSH,16.5 +CMT,1,1,553,2.9,CRD,11.0 +CMT,1,2,312,0.9,CSH,6.0 +CMT,4,1,403,1.0,CSH,6.5 +CMT,1,1,1507,4.7,CRD,20.5 +CMT,1,1,807,3.9,CRD,14.0 +CMT,1,5,747,2.9,CSH,12.5 +CMT,1,1,576,1.6,CRD,8.5 +CMT,1,1,245,1.0,CSH,5.5 +CMT,1,1,296,0.8,CRD,5.5 +CMT,1,1,466,1.8,CSH,8.5 +CMT,1,1,526,1.8,CSH,8.5 +CMT,1,1,496,1.7,CSH,8.5 +CMT,1,1,1398,7.8,CRD,26.0 +CMT,1,1,297,0.8,CRD,5.5 +CMT,1,1,1379,6.2,CRD,22.5 +CMT,1,1,577,1.9,CSH,9.0 +CMT,1,1,535,1.0,NOC,7.5 +CMT,1,1,276,0.8,CRD,5.5 +CMT,1,1,578,1.6,CRD,8.5 +CMT,1,1,126,0.4,CSH,4.0 +CMT,1,1,571,2.3,CRD,10.0 +CMT,1,1,140,0.7,CSH,4.5 +CMT,1,1,792,3.3,CRD,13.5 +CMT,1,1,458,1.3,CSH,7.5 +CMT,1,1,510,1.5,CRD,8.0 +CMT,1,1,1024,8.9,CRD,26.0 +CMT,1,1,261,1.9,CSH,5.0 +CMT,1,1,948,9.0,CRD,26.5 +CMT,1,1,885,5.2,CRD,17.5 +CMT,1,1,766,2.6,CSH,11.5 +CMT,1,1,714,2.3,CSH,11.0 +CMT,1,2,1961,9.0,CSH,31.0 +CMT,1,2,259,0.8,CSH,5.0 +CMT,1,1,949,2.0,CRD,11.5 +CMT,1,2,276,0.7,CSH,5.0 +CMT,1,1,641,1.8,CSH,9.5 +CMT,1,1,175,0.6,CSH,4.5 +CMT,1,1,412,1.6,CSH,7.5 +CMT,1,1,353,0.8,CSH,6.0 +CMT,1,1,301,1.1,CSH,6.0 +CMT,1,1,221,1.0,CSH,5.5 +CMT,1,1,218,1.2,CSH,6.0 +CMT,1,1,287,1.3,CSH,6.5 +CMT,1,1,611,2.7,CRD,10.5 +CMT,1,1,1337,7.3,CRD,25.0 +CMT,1,1,120,0.5,CSH,4.0 +CMT,1,1,522,1.6,CSH,8.0 +CMT,1,1,296,0.7,CSH,5.5 +CMT,1,1,397,1.5,CRD,7.0 +CMT,1,1,1094,9.2,CSH,27.5 +CMT,1,1,492,1.9,CSH,9.0 +CMT,1,2,399,1.9,CRD,8.0 +CMT,1,1,851,5.1,CSH,18.0 +CMT,1,3,423,1.8,CSH,8.0 +CMT,1,2,458,2.3,CRD,9.0 +CMT,1,3,646,1.8,CRD,9.5 +CMT,1,2,368,0.8,CSH,6.0 +CMT,1,1,355,1.1,CSH,6.5 +CMT,1,1,285,1.3,CSH,6.5 +CMT,1,1,1329,5.5,CRD,20.5 +CMT,1,1,160,0.8,CRD,4.5 +CMT,1,1,1050,3.1,CRD,14.5 +CMT,1,1,464,3.5,CSH,12.0 +CMT,1,1,484,1.5,CSH,7.5 +CMT,1,1,1880,7.8,CRD,28.5 +CMT,2,2,1834,0.7,CSH,52.0 +CMT,1,1,397,1.3,CRD,7.0 +CMT,1,4,513,1.7,CSH,8.5 +CMT,3,1,1346,13.7,CRD,56.0 +CMT,1,2,380,1.7,CRD,7.5 +CMT,1,1,430,1.6,CRD,7.5 +CMT,1,2,450,1.4,CSH,7.5 +CMT,1,1,311,1.4,CRD,7.0 +CMT,1,1,414,1.8,CSH,8.0 +CMT,1,2,613,2.0,CRD,9.5 +CMT,1,2,418,1.5,CRD,7.5 +CMT,1,1,521,2.4,CSH,10.0 +CMT,1,1,895,3.4,CRD,13.5 +CMT,1,1,171,0.7,CRD,4.5 +CMT,1,1,344,1.1,CRD,6.5 +CMT,1,2,193,0.8,CSH,5.0 +CMT,1,2,265,1.1,CSH,6.0 +CMT,1,1,799,2.3,CSH,11.0 +CMT,1,3,1099,3.7,CSH,15.0 +CMT,1,1,382,1.5,CRD,7.0 +CMT,1,1,121,0.6,CSH,4.0 +CMT,1,3,1016,5.9,CSH,19.5 +CMT,1,1,1418,4.7,CSH,19.0 +CMT,1,2,909,1.9,CSH,11.5 +CMT,1,1,144,0.5,CSH,4.0 +CMT,1,2,145,0.8,CRD,4.5 +CMT,1,1,1222,2.0,CRD,13.5 +CMT,1,2,841,4.1,CRD,15.0 +CMT,1,1,385,1.3,CRD,7.0 +CMT,1,2,279,0.8,CRD,5.5 +CMT,1,2,739,3.0,CRD,11.5 +CMT,1,4,197,0.5,CSH,4.0 +CMT,1,1,286,1.3,CSH,6.5 +CMT,1,1,355,1.9,CSH,8.0 +CMT,1,2,882,4.9,CSH,16.5 +CMT,1,1,372,1.0,CRD,6.5 +CMT,1,1,630,2.8,CRD,11.0 +CMT,1,1,584,1.9,CSH,9.0 +CMT,1,2,1708,7.0,CSH,24.5 +CMT,1,1,578,2.0,CSH,9.5 +CMT,1,1,1037,2.6,CRD,12.5 +CMT,1,2,1049,3.4,CSH,14.0 +CMT,1,1,456,1.2,CRD,7.0 +CMT,1,2,834,3.0,CSH,12.5 +CMT,1,1,625,3.2,CSH,11.5 +CMT,1,2,622,1.8,CRD,9.0 +CMT,1,1,172,0.7,CRD,4.5 +CMT,1,1,340,1.8,CRD,7.5 +CMT,1,1,444,2.5,CRD,8.0 +CMT,1,4,795,1.2,CSH,9.5 +CMT,2,1,1931,17.5,CRD,52.0 +CMT,1,2,1066,5.0,CRD,18.0 +CMT,1,3,570,1.6,CSH,8.5 +CMT,1,1,498,1.2,CSH,7.5 +CMT,1,1,348,0.7,CSH,6.0 +CMT,1,1,1251,6.6,CRD,23.5 +CMT,1,2,199,0.5,CRD,4.5 +CMT,1,2,624,2.4,CRD,10.0 +CMT,1,1,1019,9.2,CSH,27.5 +CMT,1,1,638,3.5,CSH,12.5 +CMT,1,2,426,1.4,CRD,7.5 +CMT,1,2,122,0.6,CRD,4.0 +CMT,1,1,827,2.7,CRD,12.0 +CMT,1,1,404,0.9,CRD,6.5 +CMT,1,1,581,2.9,CRD,11.0 +CMT,1,1,1085,3.8,CRD,15.5 +CMT,1,1,387,2.0,CRD,8.0 +CMT,1,2,1447,5.7,CSH,22.0 +CMT,1,1,473,1.4,CRD,8.0 +CMT,1,2,754,2.4,CRD,11.0 +CMT,1,1,252,0.7,CSH,5.0 +CMT,1,1,571,2.4,CRD,10.0 +CMT,1,1,339,0.7,CRD,5.5 +CMT,1,1,148,0.5,CSH,4.0 +CMT,1,1,660,1.2,CRD,8.5 +CMT,1,2,757,2.0,CRD,10.0 +CMT,1,2,303,1.0,CRD,6.0 +CMT,1,2,948,2.1,CRD,11.5 +CMT,1,1,1003,9.5,CRD,27.5 +CMT,1,1,546,1.7,CSH,8.5 +CMT,1,2,644,2.0,CRD,10.0 +CMT,1,1,157,1.0,CSH,5.0 +CMT,1,2,521,2.0,CRD,8.5 +CMT,1,1,924,3.7,CRD,14.5 +CMT,1,3,490,1.8,CRD,8.0 +CMT,1,2,494,1.8,CSH,8.5 +CMT,1,1,331,1.1,CSH,6.0 +CMT,1,1,807,4.0,CRD,14.0 +CMT,1,2,198,0.6,CSH,4.5 +CMT,1,2,403,2.0,CRD,8.0 +CMT,1,1,375,2.1,CSH,8.5 +CMT,1,1,189,0.6,CRD,4.5 +CMT,1,2,1028,5.6,CRD,19.0 +CMT,1,1,539,3.3,CSH,11.5 +CMT,1,1,411,1.8,CRD,7.5 +CMT,1,2,429,1.3,CRD,7.0 +CMT,1,2,1096,8.8,CRD,27.0 +CMT,1,1,981,4.4,CRD,16.0 +CMT,1,1,956,4.0,CRD,15.0 +CMT,1,1,1459,11.2,CSH,32.5 +CMT,1,2,386,0.9,CSH,6.0 +CMT,1,3,787,4.5,CRD,15.5 +CMT,1,2,107,0.4,CSH,3.5 +CMT,4,2,825,2.3,CSH,11.0 +CMT,1,1,502,1.7,CSH,8.5 +CMT,5,1,730,2.4,CRD,50.0 +CMT,1,1,806,3.3,CRD,12.5 +CMT,1,1,347,1.2,CSH,6.5 +CMT,1,2,801,3.8,CRD,14.5 +CMT,1,1,431,1.2,CRD,6.5 +CMT,1,1,849,3.7,CRD,13.5 +CMT,1,1,1617,7.4,CRD,25.0 +CMT,1,1,321,1.9,CSH,7.5 +CMT,1,2,234,1.0,CRD,5.5 +CMT,1,1,1222,3.4,CRD,16.5 +CMT,1,2,459,1.0,CSH,7.0 +CMT,1,1,1141,3.2,CRD,15.0 +CMT,1,2,498,1.8,CSH,8.5 +CMT,1,2,636,2.3,CSH,10.0 +CMT,1,2,458,2.1,CSH,9.0 +CMT,1,2,966,5.2,CRD,18.0 +CMT,1,1,264,0.5,CSH,5.0 +CMT,1,1,128,1.0,CSH,5.0 +CMT,1,1,689,5.2,CSH,16.0 +CMT,1,1,294,1.8,CSH,7.0 +CMT,1,1,391,1.1,CSH,6.5 +CMT,1,2,398,2.2,CSH,9.0 +CMT,1,2,1006,3.9,CRD,15.5 +CMT,1,2,210,1.1,CSH,5.5 +CMT,1,3,441,1.2,CRD,7.0 +CMT,1,1,40,1.1,CSH,2.5 +CMT,1,1,1248,3.0,CRD,15.5 +CMT,4,2,702,3.8,CSH,13.5 +CMT,1,1,171,1.2,CSH,5.5 +CMT,1,3,361,0.9,CRD,6.0 +CMT,1,1,661,5.4,CRD,16.5 +CMT,1,1,385,1.6,CRD,7.5 +CMT,1,2,450,1.9,CRD,8.5 +CMT,1,1,552,3.6,CSH,12.0 +CMT,1,2,1195,3.5,CSH,15.5 +CMT,1,1,502,1.8,CSH,8.5 +CMT,1,2,385,1.1,CRD,6.5 +CMT,1,4,516,1.6,CSH,8.0 +CMT,2,1,650,1.1,CSH,52.0 +CMT,1,1,410,1.8,CRD,8.0 +CMT,1,1,662,1.8,CRD,9.5 +CMT,1,2,244,0.7,CRD,5.0 +CMT,1,3,82,2.1,CRD,3.0 +CMT,1,1,524,11.9,CSH,8.0 +CMT,1,1,569,2.8,CRD,10.5 +CMT,1,1,1730,15.2,CSH,44.5 +CMT,1,2,222,0.8,CSH,5.0 +CMT,1,4,392,1.1,CSH,6.5 +CMT,1,1,432,2.3,CRD,9.0 +CMT,1,1,399,2.4,CRD,9.0 +CMT,1,2,757,4.9,CRD,16.5 +CMT,1,2,260,0.6,CSH,5.0 +CMT,1,1,226,0.8,CSH,5.0 +CMT,1,1,203,0.8,CSH,5.0 +CMT,1,1,439,1.0,CSH,6.5 +CMT,1,2,394,1.9,CSH,8.0 +CMT,1,1,1004,3.9,CRD,15.0 +CMT,1,3,535,2.1,CRD,9.0 +CMT,1,1,267,1.0,CSH,5.5 +CMT,1,2,524,2.3,CSH,9.5 +CMT,1,1,1096,5.9,CRD,19.5 +CMT,1,1,901,10.1,CRD,28.5 +CMT,1,3,175,0.7,CRD,4.5 +CMT,1,1,999,4.0,CRD,16.0 +CMT,1,4,362,1.5,CSH,7.0 +CMT,1,1,545,2.2,CRD,9.5 +CMT,4,1,520,2.2,CRD,9.5 +CMT,1,2,763,4.6,CRD,15.0 +CMT,1,1,620,3.4,CRD,12.0 +CMT,2,3,1729,1.8,CSH,52.0 +CMT,1,2,403,1.9,CRD,8.0 +CMT,1,1,1285,9.4,CRD,28.5 +CMT,1,1,571,1.7,CSH,9.0 +CMT,1,1,569,2.2,CRD,9.5 +CMT,1,2,629,4.3,CSH,14.5 +CMT,1,1,322,1.0,CRD,6.0 +CMT,1,2,497,2.3,CSH,9.5 +CMT,1,1,561,2.6,CRD,10.0 +CMT,1,1,274,1.7,CSH,7.0 +CMT,1,1,283,0.9,CSH,5.5 +CMT,1,3,889,3.5,CSH,14.0 +CMT,1,2,344,1.5,CSH,7.0 +CMT,1,2,329,1.3,CRD,6.5 +CMT,1,1,1331,6.1,CSH,21.0 +CMT,1,2,845,2.8,CSH,12.5 +CMT,1,2,384,1.9,CSH,8.0 +CMT,1,1,306,1.6,CSH,7.0 +CMT,1,1,913,3.7,CSH,14.5 +CMT,1,1,742,2.7,CRD,11.5 +CMT,1,1,386,1.6,CSH,7.5 +CMT,1,3,1034,8.5,CSH,26.0 +CMT,1,2,315,1.0,CRD,6.0 +CMT,1,1,266,0.9,CRD,5.5 +CMT,1,1,454,2.1,CRD,8.5 +CMT,1,1,344,1.8,CSH,7.5 +CMT,1,1,728,3.0,CRD,11.5 +CMT,1,2,434,2.1,CSH,8.5 +CMT,1,1,290,4.6,CSH,6.5 +CMT,1,2,2047,12.0,CSH,37.5 +CMT,1,2,709,1.7,CSH,9.5 +CMT,1,1,289,1.0,CSH,6.0 +CMT,1,2,341,1.0,CSH,6.0 +CMT,1,4,837,1.7,CSH,11.0 +CMT,1,1,875,3.5,CSH,13.5 +CMT,1,1,281,1.0,CRD,6.0 +CMT,1,1,187,1.0,CRD,5.0 +CMT,1,1,751,1.7,CRD,10.0 +CMT,1,2,487,1.3,CSH,7.5 +CMT,1,3,245,0.4,CSH,4.5 +CMT,1,1,1431,5.3,CRD,20.0 +CMT,1,1,1341,7.6,CSH,24.0 +CMT,1,1,724,4.6,CRD,15.0 +CMT,1,1,136,0.5,CSH,4.0 +CMT,1,1,987,1.9,CRD,11.5 +CMT,1,1,331,1.0,CRD,6.0 +CMT,1,2,392,1.7,CSH,7.5 +CMT,2,1,1694,17.3,CRD,52.0 +CMT,1,1,155,0.4,CSH,4.0 +CMT,1,1,762,2.1,CRD,10.0 +CMT,1,1,135,0.5,CRD,4.0 +CMT,1,3,1078,3.2,CRD,14.0 +CMT,1,2,596,1.7,CRD,9.0 +CMT,1,1,163,0.4,CSH,4.0 +CMT,1,1,247,1.6,CRD,6.5 +CMT,1,2,988,3.8,CRD,15.0 +CMT,1,1,236,0.7,CRD,5.0 +CMT,1,2,921,3.1,CRD,13.5 +CMT,1,1,361,1.5,CSH,7.0 +CMT,2,4,1467,1.9,CSH,52.0 +CMT,1,2,462,1.4,CRD,7.5 +CMT,1,1,553,1.9,CRD,9.0 +CMT,1,4,887,3.0,CSH,13.5 +CMT,1,1,1016,2.6,CRD,13.5 +CMT,1,1,379,1.2,CRD,6.5 +CMT,1,3,163,0.4,CSH,4.0 +CMT,1,1,260,1.2,CRD,6.0 +CMT,1,1,846,4.3,CSH,15.5 +CMT,1,3,978,4.9,CRD,17.0 +CMT,1,1,788,4.6,CRD,15.0 +CMT,1,1,1711,5.6,CRD,24.0 +CMT,1,2,439,0.8,CRD,6.5 +CMT,1,1,159,0.4,CSH,4.0 +CMT,1,1,372,1.8,CRD,7.5 +CMT,1,2,887,8.7,CRD,25.5 +CMT,1,1,365,1.6,CRD,7.5 +CMT,1,1,761,4.2,CSH,14.5 +CMT,1,1,670,0.7,CRD,8.0 +CMT,1,1,78,0.4,CSH,3.5 +CMT,1,1,265,0.7,CRD,5.0 +CMT,1,1,447,0.9,CRD,6.5 +CMT,1,1,384,1.3,CRD,7.0 +CMT,4,1,797,2.6,CRD,11.5 +CMT,1,1,708,2.9,CRD,11.5 +CMT,1,1,409,1.8,CRD,8.0 +CMT,1,1,197,0.5,CRD,4.5 +CMT,1,1,606,1.8,CSH,9.0 +CMT,1,1,136,1.3,CSH,3.5 +CMT,2,1,2092,6.1,CRD,52.0 +CMT,1,1,963,1.2,CRD,11.0 +CMT,1,1,441,0.9,CRD,6.5 +CMT,1,1,680,1.5,CRD,9.0 +CMT,1,1,762,1.8,CSH,10.0 +CMT,1,1,187,0.4,CSH,4.0 +CMT,1,1,1001,2.1,CRD,12.5 +CMT,1,1,171,0.7,CRD,4.5 +CMT,1,1,748,2.9,CSH,11.5 +CMT,1,1,651,2.8,CSH,11.0 +CMT,1,1,973,3.2,CRD,13.0 +CMT,1,1,1398,3.8,CSH,17.0 +CMT,1,1,823,0.9,CSH,9.5 +CMT,1,1,825,2.7,CRD,12.0 +CMT,1,1,446,1.9,NOC,8.5 +CMT,1,1,88,0.3,CSH,3.5 +CMT,1,1,433,2.4,CRD,9.5 +CMT,1,1,602,2.0,CRD,9.5 +CMT,1,1,639,2.2,CRD,10.0 +CMT,1,1,548,1.7,CRD,8.5 +CMT,1,1,442,1.9,CSH,8.0 +CMT,1,1,1149,4.4,CSH,17.5 +CMT,1,1,885,4.1,CSH,15.0 +CMT,1,1,338,1.4,CRD,7.0 +CMT,1,1,272,1.3,CRD,6.5 +CMT,1,1,396,0.8,CRD,6.0 +CMT,1,1,1919,10.0,CSH,31.5 +CMT,1,1,357,1.2,CRD,6.5 +CMT,1,3,1107,4.7,CRD,18.0 +CMT,1,1,1030,8.1,CRD,24.5 +CMT,1,1,1108,5.4,CRD,19.0 +CMT,1,3,545,2.5,CSH,10.0 +CMT,1,4,596,1.0,CSH,7.5 +CMT,1,1,423,1.0,CSH,6.5 +CMT,1,1,1099,5.0,CSH,18.0 +CMT,1,2,1435,6.1,CRD,22.0 +CMT,1,2,958,4.2,CRD,15.5 +CMT,1,2,377,1.1,CRD,6.5 +CMT,1,3,609,2.0,CRD,9.5 +CMT,1,1,930,4.5,CSH,16.0 +CMT,1,1,876,3.1,CSH,13.0 +CMT,1,1,190,0.7,CRD,4.5 +CMT,1,2,645,2.2,CRD,10.0 +CMT,1,1,357,1.2,CRD,6.5 +CMT,1,1,259,1.0,CSH,5.5 +CMT,1,1,551,1.5,CSH,8.0 +CMT,1,1,351,1.0,CRD,6.0 +CMT,1,1,666,2.1,CSH,10.0 +CMT,1,1,1266,3.8,CRD,16.5 +CMT,1,4,1851,4.5,CRD,22.0 +CMT,1,2,378,1.1,CSH,6.5 +CMT,4,1,631,1.5,CRD,9.0 +CMT,1,1,395,1.1,CRD,7.0 +CMT,2,1,1987,1.2,CRD,52.0 +CMT,1,1,747,2.5,CSH,11.5 +CMT,1,2,587,2.3,CSH,9.5 +CMT,1,2,484,1.1,CSH,7.0 +CMT,1,2,434,1.5,CRD,7.5 +CMT,1,2,472,1.1,CSH,7.0 +CMT,1,1,1195,16.6,CRD,44.5 +CMT,1,1,514,2.5,CRD,10.0 +CMT,1,1,362,1.1,CRD,6.5 +CMT,1,2,393,1.8,CSH,8.0 +CMT,1,2,531,2.8,CSH,10.5 +CMT,1,2,394,13.7,CSH,6.5 +CMT,1,1,813,3.7,CSH,13.5 +CMT,1,2,1033,4.7,CRD,16.5 +CMT,1,2,419,0.9,CRD,6.5 +CMT,1,1,276,2.6,CSH,9.0 +CMT,1,4,598,2.9,CSH,11.5 +CMT,1,1,559,1.0,CSH,7.5 +CMT,1,1,286,0.5,CRD,5.0 +CMT,1,1,599,2.1,CRD,9.5 +CMT,1,1,210,0.7,CRD,4.5 +CMT,1,1,241,0.8,CRD,5.0 +CMT,1,1,389,0.9,CRD,6.5 +CMT,5,3,35,9.0,CRD,50.0 +CMT,1,1,136,0.6,CSH,4.0 +CMT,1,1,1789,5.3,CSH,22.5 +CMT,1,2,690,2.7,CSH,11.0 +CMT,4,1,611,1.8,CRD,9.5 +CMT,1,2,463,1.1,CSH,7.0 +CMT,1,2,1091,5.2,CRD,18.5 +CMT,1,2,1190,3.4,CSH,15.5 +CMT,1,4,586,1.3,CRD,8.0 +CMT,1,1,76,0.1,CSH,3.0 +CMT,1,1,255,0.7,CSH,5.0 +CMT,1,3,608,2.3,CRD,10.0 +CMT,1,2,523,1.1,CSH,7.5 +CMT,1,1,1153,6.2,CRD,20.5 +CMT,1,1,401,2.2,CRD,8.5 +CMT,1,2,408,1.5,CRD,7.5 +CMT,1,1,382,1.0,CSH,6.5 +CMT,1,1,345,1.5,CRD,7.5 +CMT,1,1,1119,3.7,CSH,16.5 +CMT,1,1,173,0.8,CRD,4.5 +CMT,1,1,717,2.5,CSH,11.0 +CMT,1,2,141,0.3,CSH,3.5 +CMT,4,1,602,1.6,CSH,8.5 +CMT,1,1,1115,6.4,CSH,21.5 +CMT,1,2,522,2.0,CRD,9.0 +CMT,1,1,172,0.3,CSH,4.0 +CMT,1,1,317,0.8,CRD,5.5 +CMT,1,2,525,1.6,CSH,8.0 +CMT,1,1,991,6.7,CSH,20.5 +CMT,1,1,1191,8.5,CRD,26.5 +CMT,2,1,1867,2.7,CSH,52.0 +CMT,1,1,462,2.4,CRD,9.5 +CMT,1,1,356,3.0,CSH,10.0 +CMT,1,2,1189,5.6,CSH,19.5 +CMT,1,2,1470,7.7,CSH,25.5 +CMT,1,1,142,0.5,CSH,4.0 +CMT,1,1,386,0.9,CRD,6.5 +CMT,1,1,655,3.1,CRD,12.0 +CMT,1,2,739,2.4,CSH,11.5 +CMT,1,2,716,1.0,CSH,8.5 +CMT,1,2,530,0.6,CSH,7.0 +CMT,1,5,591,1.6,CSH,8.5 +CMT,1,3,246,0.7,CRD,5.0 +CMT,1,2,584,1.7,CRD,8.5 +CMT,1,1,216,0.5,CSH,4.5 +CMT,1,2,1476,6.2,CSH,22.0 +CMT,1,1,2128,9.3,CRD,31.5 +CMT,1,1,298,0.9,CRD,5.5 +CMT,1,1,1073,2.7,CRD,13.5 +CMT,1,2,1487,5.2,CRD,20.5 +CMT,1,1,659,6.0,CSH,18.0 +CMT,1,1,636,4.2,CRD,13.5 +CMT,1,1,710,2.2,CRD,10.5 +CMT,1,1,1049,3.0,CSH,13.5 +CMT,1,1,625,6.6,CRD,19.5 +CMT,1,1,673,4.6,CSH,14.0 +CMT,1,2,747,4.3,CRD,14.5 +CMT,1,2,737,4.4,CSH,14.5 +CMT,1,1,870,3.8,CRD,14.5 +CMT,1,5,1061,4.0,CSH,15.5 +CMT,1,2,327,0.7,CSH,5.5 +CMT,1,2,1436,8.5,CSH,27.0 +CMT,1,1,479,1.7,CSH,8.0 +CMT,1,1,156,0.4,CSH,4.0 +CMT,1,1,1527,8.6,CSH,27.5 +CMT,1,3,609,2.2,CSH,10.0 +CMT,1,1,1498,5.4,CSH,21.0 +CMT,1,2,912,3.2,NOC,13.0 +CMT,1,1,653,3.8,CRD,13.0 +CMT,1,2,543,1.5,CSH,8.0 +CMT,1,1,989,3.9,CRD,15.5 +CMT,1,3,260,0.7,CSH,5.0 +CMT,1,1,660,11.0,CSH,13.5 +CMT,1,2,1106,3.0,CSH,13.5 +CMT,1,2,1130,4.3,CSH,17.5 +CMT,1,2,640,2.8,CSH,11.0 +CMT,1,1,504,2.6,CRD,9.5 +CMT,1,1,456,1.5,CSH,8.0 +CMT,1,1,495,3.0,CRD,11.0 +CMT,1,4,359,1.2,CSH,6.5 +CMT,1,1,431,2.9,CSH,10.0 +CMT,1,1,134,0.1,CSH,3.5 +CMT,1,1,340,0.9,CSH,6.0 +CMT,1,1,163,0.3,CSH,4.0 +CMT,1,4,441,2.2,CSH,8.5 +CMT,1,1,643,2.2,CSH,9.5 +CMT,1,4,652,3.6,CSH,12.5 +CMT,1,2,2026,12.3,CRD,37.0 +CMT,1,2,314,1.0,CRD,6.0 +CMT,1,2,1929,6.4,CSH,25.5 +CMT,1,1,694,2.8,CRD,12.0 +CMT,1,1,1117,4.8,CSH,18.0 +CMT,1,1,482,2.1,CRD,9.0 +CMT,1,1,909,4.3,CRD,15.5 +CMT,1,2,886,2.7,CSH,12.5 +CMT,1,1,1024,2.5,CRD,12.5 +CMT,1,1,337,0.8,CRD,5.5 +CMT,1,1,583,0.9,CSH,8.0 +CMT,1,3,233,0.7,CSH,5.0 +CMT,1,1,679,1.8,CRD,9.5 +CMT,1,2,802,2.2,CSH,11.0 +CMT,1,1,380,1.3,CSH,7.0 +CMT,1,1,441,0.9,CSH,6.5 +CMT,1,1,127,0.5,CSH,4.0 +CMT,1,1,646,3.8,CRD,13.0 +CMT,1,1,662,3.1,CSH,11.5 +CMT,1,1,462,1.7,CSH,8.0 +CMT,1,1,403,29.0,CSH,7.5 +CMT,1,2,259,0.7,CRD,5.0 +CMT,1,1,820,1.8,CSH,10.5 +CMT,1,2,1129,3.6,CRD,15.5 +CMT,1,1,419,1.5,CRD,8.0 +CMT,1,2,297,1.0,CRD,6.0 +CMT,1,3,169,0.5,CSH,4.0 +CMT,1,4,1295,3.3,CSH,16.5 +CMT,1,2,293,0.5,CRD,5.0 +CMT,1,1,686,3.5,CRD,12.5 +CMT,1,1,296,1.4,CRD,6.5 +CMT,1,2,730,3.4,CRD,13.0 +CMT,4,2,644,15.6,CRD,9.5 +CMT,1,1,899,5.4,CSH,17.5 +CMT,1,2,431,1.6,CSH,7.5 +CMT,1,2,741,3.8,CRD,13.5 +CMT,1,1,1156,8.3,CSH,26.0 +CMT,2,2,1482,3.4,CRD,52.0 +CMT,1,3,392,1.1,CSH,6.5 +CMT,1,1,901,4.5,CRD,16.0 +CMT,1,2,150,0.4,CRD,4.0 +CMT,1,1,127,0.5,CSH,4.0 +CMT,1,2,2575,6.2,CRD,29.0 +CMT,1,1,213,0.7,CRD,4.5 +CMT,1,3,939,1.5,CRD,11.0 +CMT,1,1,263,0.6,CSH,5.0 +CMT,1,2,487,2.7,CRD,10.5 +CMT,1,1,805,1.3,CRD,10.0 +CMT,1,4,574,1.4,CRD,8.5 +CMT,1,2,1513,10.1,CSH,31.0 +CMT,1,1,922,4.8,CSH,16.0 +CMT,1,2,408,2.2,CSH,8.5 +CMT,1,1,1106,3.6,CSH,14.5 +CMT,1,2,890,3.6,CRD,14.0 +CMT,1,1,831,2.4,CRD,11.5 +CMT,1,3,638,1.3,CSH,8.5 +CMT,1,3,105,0.3,CSH,3.5 +CMT,1,1,296,0.7,CRD,5.5 +CMT,1,1,981,5.7,CRD,19.5 +CMT,1,2,680,1.7,CRD,9.0 +CMT,1,1,525,1.8,CRD,8.5 +CMT,1,1,976,5.1,CRD,17.5 +CMT,1,1,394,2.5,CSH,9.0 +CMT,1,1,337,1.2,CRD,6.5 +CMT,1,1,333,1.4,CRD,7.0 +CMT,1,1,256,0.5,CSH,5.0 +CMT,1,1,743,1.6,CRD,9.5 +CMT,1,2,453,1.2,CSH,7.0 +CMT,1,2,394,1.3,CRD,7.0 +CMT,1,1,1092,3.4,CRD,14.5 +CMT,1,1,524,1.0,CRD,7.5 +CMT,1,2,408,0.8,CRD,6.0 +CMT,1,1,837,2.8,CRD,12.0 +CMT,1,2,1551,3.8,CSH,18.5 +CMT,1,1,809,7.0,CRD,21.0 +CMT,1,1,308,2.4,CRD,8.5 +CMT,1,3,490,1.5,CSH,8.0 +CMT,1,3,572,1.9,CSH,9.5 +CMT,1,2,729,3.4,CRD,13.0 +CMT,1,2,865,4.5,CSH,16.0 +CMT,1,1,495,1.3,CSH,7.5 +CMT,1,1,314,0.8,CRD,5.5 +CMT,1,1,570,1.9,CRD,9.0 +CMT,1,1,344,0.6,CRD,5.5 +CMT,1,1,766,5.6,CRD,17.5 +CMT,1,1,300,1.0,CRD,5.5 +CMT,1,1,1339,2.4,CRD,15.0 +CMT,1,1,1244,8.3,CRD,26.5 +CMT,1,1,1351,13.5,CRD,38.0 +CMT,1,1,344,1.1,CSH,6.5 +CMT,1,1,384,0.8,CRD,6.5 +CMT,1,1,243,0.4,CSH,4.5 +CMT,1,1,543,1.2,CSH,7.5 +CMT,1,2,112,0.3,CRD,3.5 +CMT,1,2,1218,9.7,CRD,29.0 +CMT,1,1,1031,5.3,CRD,18.0 +CMT,1,1,538,3.3,CRD,11.5 +CMT,1,1,915,2.6,CSH,12.5 +CMT,1,1,333,1.0,CSH,6.0 +CMT,2,4,2666,9.8,CSH,52.0 +CMT,1,1,500,1.2,CRD,7.5 +CMT,1,1,827,3.6,CRD,13.5 +CMT,1,1,331,0.9,CSH,6.0 +CMT,1,2,232,0.6,CSH,4.5 +CMT,1,1,630,1.2,CRD,8.0 +CMT,1,1,1365,4.4,CRD,18.0 +CMT,1,2,143,0.2,CRD,3.5 +CMT,1,1,279,0.8,CSH,5.5 +CMT,1,1,210,1.0,CSH,5.0 +CMT,1,2,3434,25.8,CSH,74.0 +CMT,1,1,730,4.4,CRD,15.0 +CMT,1,2,788,4.5,CRD,14.5 +CMT,1,1,998,2.4,CSH,12.5 +CMT,1,1,714,1.8,CSH,10.0 +CMT,1,1,260,1.6,CRD,6.5 +CMT,1,1,795,2.4,CRD,11.0 +CMT,1,2,1048,7.9,CSH,24.0 +CMT,1,1,1312,5.3,CRD,21.5 +CMT,1,1,505,0.8,CRD,7.0 +CMT,1,1,408,1.4,CRD,7.0 +CMT,1,1,1443,2.4,CSH,15.5 +CMT,1,1,611,3.3,CRD,11.5 +CMT,1,2,686,3.7,CRD,13.0 +CMT,1,1,692,1.8,CRD,9.5 +CMT,1,1,276,1.4,CSH,6.5 +CMT,1,1,145,0.6,CRD,4.5 +CMT,1,2,1282,5.9,CRD,21.5 +CMT,1,3,349,2.3,CSH,8.5 +CMT,1,1,166,0.6,CRD,4.5 +CMT,1,1,170,0.4,CSH,4.0 +CMT,1,1,605,1.7,CSH,9.0 +CMT,1,2,336,1.3,CSH,6.5 +CMT,1,1,291,1.2,CSH,6.0 +CMT,1,1,1571,4.4,CSH,19.5 +CMT,1,1,429,2.2,CRD,9.0 +CMT,1,1,244,1.3,CSH,6.5 +CMT,1,1,732,2.5,CRD,11.5 +CMT,1,1,715,3.9,CSH,13.0 +CMT,1,1,1458,7.5,CSH,25.0 +CMT,1,1,856,4.3,CRD,15.0 +CMT,1,2,481,1.7,CRD,8.0 +CMT,1,2,2251,11.4,CRD,37.0 +CMT,1,1,1023,3.0,CSH,13.5 +CMT,1,1,695,1.9,CSH,9.5 +CMT,1,1,1465,2.6,CRD,16.0 +CMT,1,1,513,1.1,CSH,7.5 +CMT,1,1,897,1.7,CRD,11.0 +CMT,1,1,219,0.7,CSH,4.5 +CMT,1,1,391,1.6,CSH,7.5 +CMT,1,1,503,0.9,CSH,7.0 +CMT,1,1,672,1.4,CRD,9.0 +CMT,1,2,856,2.4,CRD,11.5 +CMT,1,1,494,2.0,CRD,9.0 +CMT,1,2,541,1.4,CSH,8.5 +CMT,1,1,369,0.6,CSH,5.5 +CMT,1,2,280,0.9,CSH,5.5 +CMT,1,1,537,1.1,CRD,7.5 +CMT,1,1,2060,8.6,CSH,29.5 +CMT,1,1,414,1.0,CRD,6.5 +CMT,1,2,270,1.0,CSH,5.5 +CMT,1,2,175,0.4,CRD,4.0 +CMT,1,1,580,2.0,CRD,9.0 +CMT,1,2,122,0.4,CSH,4.0 +CMT,1,1,315,2.3,CRD,8.5 +CMT,1,1,320,1.5,CRD,7.0 +CMT,1,1,352,1.4,CRD,7.0 +CMT,1,2,201,1.4,CSH,6.0 +CMT,1,2,88,0.1,CRD,3.0 +CMT,1,2,276,0.7,CSH,5.0 +CMT,1,1,754,3.7,CRD,13.0 +CMT,1,1,1029,4.8,CRD,17.5 +CMT,1,1,159,0.4,CSH,4.0 +CMT,1,1,591,2.8,CRD,10.5 +CMT,1,3,662,2.5,CRD,10.5 +CMT,1,1,425,1.3,CRD,7.0 +CMT,1,2,1418,7.9,CSH,26.0 +CMT,1,2,507,1.3,CSH,8.0 +CMT,1,1,828,2.1,CSH,11.0 +CMT,1,1,563,1.5,CSH,8.5 +CMT,5,1,28,0.0,CRD,120.0 +CMT,1,1,550,1.5,CSH,8.0 +CMT,1,1,1062,2.0,CRD,12.5 +CMT,1,1,635,2.0,CSH,10.0 +CMT,1,1,432,1.1,CRD,7.0 +CMT,1,1,1011,2.0,CSH,12.0 +CMT,1,1,275,0.4,CSH,4.5 +CMT,1,1,377,0.8,CSH,6.0 +CMT,1,1,426,1.8,CSH,8.0 +CMT,1,1,712,2.5,CRD,11.0 +CMT,1,1,425,0.7,CSH,6.0 +CMT,1,1,652,2.5,CSH,10.5 +CMT,1,1,607,2.7,CSH,10.5 +CMT,1,1,430,1.5,CRD,7.5 +CMT,1,1,1600,8.4,CSH,27.5 +CMT,1,2,857,3.6,CRD,14.0 +CMT,1,1,821,9.2,CRD,26.0 +CMT,1,1,115,0.3,CSH,3.5 +CMT,4,1,28,0.0,CSH,2.5 +CMT,2,1,1357,19.0,CRD,52.0 +CMT,1,1,240,1.1,CSH,5.5 +CMT,1,1,888,2.6,CSH,12.5 +CMT,1,1,523,2.9,CRD,10.0 +CMT,1,1,451,2.2,CSH,9.0 +CMT,1,2,234,0.9,CSH,5.0 +CMT,1,1,677,2.8,CRD,11.5 +CMT,1,1,266,1.3,CSH,6.0 +CMT,1,1,686,1.1,CSH,9.0 +CMT,1,1,367,1.6,CSH,7.5 +CMT,1,2,311,0.8,CRD,5.5 +CMT,1,2,635,2.6,CSH,11.0 +CMT,1,2,1194,4.4,CRD,17.5 +CMT,1,1,724,4.0,CRD,14.5 +CMT,1,1,260,0.6,CRD,5.0 +CMT,1,2,1860,12.1,CSH,37.5 +CMT,1,2,533,0.9,CSH,7.5 +CMT,1,1,1526,5.7,CRD,22.0 +CMT,1,2,480,1.5,CSH,8.0 +CMT,1,2,266,1.0,CRD,5.5 +CMT,1,2,473,1.0,CRD,6.5 +CMT,1,1,581,0.9,CSH,7.5 +CMT,1,1,517,1.4,CRD,8.0 +CMT,1,1,335,1.3,CRD,6.5 +CMT,1,1,493,2.0,CRD,9.0 +CMT,1,1,304,1.0,CSH,6.0 +CMT,1,1,546,1.8,CRD,8.5 +CMT,1,1,302,0.8,CSH,5.5 +CMT,1,1,651,2.3,CRD,10.0 +CMT,1,1,763,3.1,CRD,12.5 +CMT,1,1,376,1.7,CRD,7.5 +CMT,1,2,274,0.8,CRD,5.0 +CMT,1,1,702,2.9,CRD,11.5 +CMT,1,1,125,0.5,CRD,4.0 +CMT,1,2,346,1.1,CRD,6.0 +CMT,1,1,281,0.5,CSH,5.0 +CMT,1,1,736,1.4,CRD,9.5 +CMT,1,1,877,1.6,CSH,10.5 +CMT,1,1,420,1.5,CSH,7.5 +CMT,1,1,1559,5.9,CRD,23.0 +CMT,1,1,958,4.2,CRD,16.0 +CMT,1,1,370,1.4,CSH,7.0 +CMT,1,1,222,0.8,CSH,5.0 +CMT,1,1,970,4.4,CRD,17.0 +CMT,1,1,1166,3.9,CSH,16.0 +CMT,1,1,564,1.6,CRD,8.5 +CMT,1,1,793,2.6,CRD,11.5 +CMT,1,1,1346,3.8,CSH,17.0 +CMT,1,1,269,1.2,CRD,6.0 +CMT,1,2,121,0.5,CRD,4.0 +CMT,1,1,696,3.5,CRD,13.5 +CMT,1,1,540,1.7,CRD,9.0 +CMT,1,2,327,1.6,CSH,7.0 +CMT,1,2,1470,3.6,CSH,17.5 +CMT,1,1,188,0.4,CSH,4.0 +CMT,1,4,485,1.9,CRD,9.0 +CMT,1,1,450,1.7,CRD,8.0 +CMT,1,2,299,1.1,CRD,6.0 +CMT,1,1,2420,10.2,CRD,35.5 +CMT,1,1,140,0.4,CSH,4.0 +CMT,1,3,511,1.9,CRD,8.5 +CMT,1,1,536,1.4,CRD,8.0 +CMT,1,4,1278,5.9,CSH,21.0 +CMT,1,1,540,2.3,CRD,9.5 +CMT,1,1,876,3.0,CRD,13.0 +CMT,1,1,205,0.7,CRD,5.0 +CMT,1,1,605,0.7,CRD,7.5 +CMT,1,1,132,0.2,CSH,3.5 +CMT,1,2,357,0.7,CSH,6.0 +CMT,1,1,267,0.9,CSH,5.5 +CMT,1,2,665,1.8,CRD,9.5 +CMT,1,1,122,0.5,CRD,4.0 +CMT,1,1,1413,4.0,CSH,17.5 +CMT,1,1,1333,2.0,CSH,14.0 +CMT,1,1,524,1.4,CSH,8.0 +CMT,1,1,129,0.7,CSH,4.5 +CMT,1,1,164,0.6,CRD,4.5 +CMT,1,1,435,1.6,CRD,8.0 +CMT,1,1,658,1.9,CRD,9.5 +CMT,1,1,350,0.6,CRD,5.5 +CMT,1,2,1545,0.0,CSH,26.5 +CMT,1,1,266,0.7,CSH,5.0 +CMT,1,1,624,1.1,CRD,8.0 +CMT,1,2,295,0.6,CRD,5.0 +CMT,1,2,621,1.7,CRD,9.0 +CMT,1,1,645,2.1,CRD,9.5 +CMT,1,2,943,4.4,CSH,16.0 +CMT,1,1,623,1.1,CRD,8.0 +CMT,1,2,690,1.6,CSH,9.5 +CMT,1,3,362,1.3,CRD,6.5 +CMT,1,6,563,1.7,CRD,8.5 +CMT,1,3,235,1.1,CSH,5.5 +CMT,1,1,962,1.9,CRD,12.0 +CMT,1,1,248,0.8,CSH,5.5 +CMT,1,1,1425,3.4,CRD,17.0 +CMT,1,1,520,1.0,CRD,7.5 +CMT,1,1,1627,12.8,CSH,35.0 +CMT,1,1,939,6.0,CRD,19.5 +CMT,1,1,875,4.2,CSH,15.0 +CMT,1,1,521,1.1,CSH,7.5 +CMT,1,1,297,0.7,CRD,5.0 +CMT,1,1,903,2.0,CSH,11.5 +CMT,1,1,163,0.8,CSH,4.5 +CMT,1,1,383,1.2,CSH,6.5 +CMT,1,1,1137,8.6,CRD,26.0 +CMT,1,3,367,1.0,CSH,6.5 +CMT,1,2,871,2.6,CSH,11.5 +CMT,1,2,704,1.8,CSH,9.5 +CMT,1,1,712,1.5,CRD,9.5 +CMT,1,2,2060,9.1,CRD,32.0 +CMT,1,1,332,0.9,CSH,5.5 +CMT,1,1,209,0.8,CRD,5.0 +CMT,1,1,992,2.2,CRD,12.5 +CMT,1,4,477,1.9,CSH,9.0 +CMT,1,2,2115,5.9,CRD,27.0 +CMT,1,2,482,1.7,CSH,8.0 +CMT,1,2,857,2.5,CRD,11.5 +CMT,1,1,1093,1.9,CSH,13.0 +CMT,1,1,793,0.6,CRD,9.0 +CMT,1,1,254,0.9,CRD,5.0 +CMT,1,1,1261,5.8,CRD,20.5 +CMT,1,1,841,4.9,CRD,16.5 +CMT,1,1,1051,8.7,CSH,26.0 +CMT,1,1,899,2.3,CRD,11.0 +CMT,1,3,1669,9.1,CRD,29.5 +CMT,1,1,882,3.5,CRD,14.0 +CMT,1,2,101,0.2,CSH,3.0 +CMT,1,1,204,0.7,CSH,5.0 +CMT,1,1,451,0.8,CSH,6.5 +CMT,1,1,530,2.3,CRD,9.0 +CMT,1,1,488,1.4,CRD,7.5 +CMT,1,1,714,1.7,CRD,9.5 +CMT,1,1,598,1.6,CSH,8.5 +CMT,1,1,518,1.0,CSH,7.5 +CMT,1,1,246,0.7,CSH,5.0 +CMT,1,1,847,1.9,CRD,11.0 +CMT,1,1,859,2.3,CRD,11.5 +CMT,1,1,295,0.6,CSH,5.0 +CMT,1,1,304,0.6,CSH,5.0 +CMT,1,1,150,0.6,CSH,4.5 +CMT,1,1,39,0.3,CSH,3.0 +CMT,1,1,892,2.4,CSH,11.5 +CMT,1,1,453,1.4,CSH,7.5 +CMT,1,1,779,2.2,CRD,11.0 +CMT,1,2,1101,8.0,CRD,24.5 +CMT,1,2,447,1.0,CSH,7.0 +CMT,1,1,361,1.1,CRD,6.5 +CMT,1,2,355,0.7,CRD,6.0 +CMT,1,1,516,1.9,CSH,8.5 +CMT,1,1,552,1.4,CSH,8.5 +CMT,1,1,1359,10.2,CSH,31.0 +CMT,1,1,1486,7.9,CSH,26.0 +CMT,1,2,1396,6.3,CRD,23.5 +CMT,1,1,699,2.1,CRD,10.5 +CMT,1,1,178,0.7,CSH,4.5 +CMT,1,1,408,1.5,CRD,7.5 +CMT,1,1,669,3.1,CRD,12.0 +CMT,1,2,1394,11.2,CSH,33.0 +CMT,1,1,582,1.7,CRD,8.5 +CMT,1,1,1677,9.4,CSH,30.0 +CMT,1,1,401,2.0,CSH,8.0 +CMT,1,1,562,2.3,CSH,9.5 +CMT,1,1,702,3.7,CRD,13.5 +CMT,1,1,380,1.3,CRD,7.0 +CMT,1,1,811,2.3,CSH,11.0 +CMT,1,1,90,0.3,CSH,3.0 +CMT,1,1,438,1.7,CSH,7.5 +CMT,1,1,339,0.9,CRD,6.0 +CMT,1,1,317,1.4,CSH,6.5 +CMT,1,1,449,1.9,CRD,8.5 +CMT,1,1,145,0.7,CSH,4.5 +CMT,1,1,1219,2.9,CRD,16.0 +CMT,1,1,612,1.9,CSH,9.5 +CMT,1,1,530,2.8,CRD,10.0 +CMT,1,1,1250,4.3,CSH,18.0 +CMT,1,1,318,1.1,CSH,6.0 +CMT,1,1,1362,4.5,CSH,18.5 +CMT,1,1,1849,11.9,CSH,36.0 +CMT,1,1,506,1.9,CRD,8.5 +CMT,1,1,90,0.5,CSH,3.5 +CMT,1,1,723,2.8,CRD,11.5 +CMT,1,2,672,3.1,CSH,11.5 +CMT,1,1,506,2.0,CRD,9.0 +CMT,1,1,1053,4.7,CRD,16.5 +CMT,1,1,486,0.7,CRD,6.5 +CMT,1,2,992,3.9,CRD,15.0 +CMT,1,1,290,0.9,CRD,5.5 +CMT,1,3,625,1.5,CRD,9.0 +CMT,1,1,535,2.8,CRD,10.5 +CMT,1,1,671,2.5,CRD,10.5 +CMT,1,1,1683,6.7,CSH,24.0 +CMT,1,1,303,0.4,CSH,5.0 +CMT,1,1,960,1.4,CRD,11.0 +CMT,1,1,773,0.8,CRD,9.0 +CMT,2,1,1120,16.7,CRD,52.0 +CMT,2,1,2003,17.7,CSH,52.0 +CMT,1,1,320,0.8,CRD,5.5 +CMT,1,1,1062,3.1,CRD,14.0 +CMT,1,1,806,1.5,CSH,10.0 +CMT,1,1,379,1.3,CRD,7.0 +CMT,1,1,219,0.6,CSH,5.0 +CMT,1,1,606,1.3,CSH,7.0 +CMT,1,1,610,3.1,CRD,11.5 +CMT,1,1,926,2.3,CRD,12.0 +CMT,1,1,432,1.5,CSH,7.5 +CMT,1,1,1196,5.1,CRD,19.0 +CMT,1,1,314,1.6,CSH,7.0 +CMT,1,1,1203,1.3,CRD,13.0 +CMT,1,1,217,1.3,CRD,5.5 +CMT,1,1,511,2.3,CSH,9.5 +CMT,1,2,954,4.8,CSH,17.5 +CMT,1,1,656,2.0,CRD,10.0 +CMT,1,4,353,1.0,CSH,6.0 +CMT,1,1,204,0.6,CRD,4.5 +CMT,2,1,1430,16.1,CRD,52.0 +CMT,1,1,554,2.0,CRD,10.0 +CMT,1,1,350,1.7,CSH,8.0 +CMT,1,1,935,3.2,CSH,13.5 +CMT,1,1,321,1.1,CSH,6.0 +CMT,1,1,345,2.0,CSH,7.5 +CMT,1,1,1967,12.1,CRD,36.0 +CMT,1,2,1221,4.7,CSH,17.5 +CMT,1,1,1168,1.4,CSH,12.5 +CMT,1,4,338,0.8,CSH,5.5 +CMT,1,3,568,1.9,CRD,9.0 +CMT,1,1,262,1.2,CRD,6.0 +CMT,1,1,1304,1.5,CSH,13.5 +CMT,1,1,892,2.9,CRD,13.0 +CMT,1,1,524,1.2,CRD,7.5 +CMT,1,1,280,0.4,CSH,5.0 +CMT,1,1,544,3.7,CSH,13.0 +CMT,1,1,144,0.6,CSH,4.0 +CMT,1,1,670,2.5,CSH,10.5 +CMT,1,1,518,1.3,CSH,8.0 +CMT,1,1,407,0.7,CSH,6.5 +CMT,1,1,174,0.4,CRD,4.0 +CMT,1,1,244,0.8,CSH,5.0 +CMT,1,1,344,1.4,CRD,6.5 +CMT,1,1,898,4.4,CSH,15.5 +CMT,1,1,185,0.7,CRD,4.5 +CMT,1,1,324,0.9,CSH,6.0 +CMT,1,1,747,3.5,CRD,14.0 +CMT,1,1,555,1.6,CRD,9.0 +CMT,1,1,757,1.8,CRD,10.0 +CMT,1,4,682,2.2,CSH,10.0 +CMT,1,2,448,0.8,CRD,6.5 +CMT,1,1,1073,5.6,CRD,19.0 +CMT,1,1,1269,5.7,CSH,21.0 +CMT,1,1,470,1.2,CRD,7.5 +CMT,1,1,554,1.0,CSH,7.5 +CMT,1,1,743,3.0,CSH,12.5 +CMT,1,1,558,2.0,CSH,8.5 +CMT,1,1,553,2.4,CRD,10.5 +CMT,1,1,1071,3.6,CSH,15.5 +CMT,1,1,1283,5.7,CRD,21.0 +CMT,1,1,929,5.7,CSH,18.0 +CMT,1,1,197,0.5,CRD,4.0 +CMT,1,2,1151,2.5,CSH,13.5 +CMT,1,1,749,1.3,CSH,9.5 +CMT,1,1,858,3.5,CRD,13.5 +CMT,1,1,978,4.5,CRD,16.5 +CMT,1,1,165,0.5,CSH,4.0 +CMT,1,1,301,0.6,CSH,5.5 +CMT,1,1,259,0.6,CSH,5.0 +CMT,1,1,272,1.3,CRD,6.0 +CMT,1,1,57,0.3,CSH,3.0 +CMT,1,2,460,2.5,CRD,9.5 +CMT,1,1,679,4.0,CSH,13.5 +CMT,6,1,9771,2.4,CSH,2.5 +CMT,1,1,125,0.9,CSH,4.5 +CMT,1,1,520,1.7,CSH,8.5 +CMT,4,1,333,1.8,CSH,7.5 +CMT,1,2,444,1.2,CSH,6.5 +CMT,1,2,246,0.8,CRD,5.0 +CMT,4,4,1128,3.0,CRD,14.5 +CMT,1,2,645,2.0,CRD,9.5 +CMT,1,3,637,3.6,CSH,12.5 +CMT,1,3,442,1.8,CSH,8.0 +CMT,1,1,1485,6.3,CRD,22.5 +CMT,1,2,789,3.8,CRD,13.5 +CMT,1,3,719,15.7,CSH,22.0 +CMT,1,2,410,1.0,CSH,6.5 +CMT,1,1,354,1.4,CRD,7.0 +CMT,1,2,480,1.4,CRD,7.5 +CMT,1,2,853,2.0,CRD,11.0 +CMT,1,1,519,2.2,CSH,9.5 +CMT,1,2,383,2.0,CRD,8.0 +CMT,1,1,2116,5.3,CRD,23.5 +CMT,1,2,1596,12.0,CSH,35.5 +CMT,1,1,752,3.0,CSH,12.5 +CMT,1,1,1009,9.7,CRD,28.0 +CMT,1,1,424,1.5,CSH,7.5 +CMT,1,2,377,0.9,CSH,6.0 +CMT,1,2,1244,4.7,CRD,18.0 +CMT,1,1,711,3.3,CSH,12.5 +CMT,1,2,1372,4.9,CSH,19.5 +CMT,1,1,586,1.1,CRD,7.5 +CMT,1,2,1294,3.0,CSH,15.5 +CMT,1,1,918,1.3,CSH,10.5 +CMT,1,1,504,1.4,CSH,8.0 +CMT,1,1,550,1.9,CRD,9.0 +CMT,1,1,611,1.6,CRD,8.5 +CMT,1,2,773,3.5,CSH,13.0 +CMT,1,1,354,1.1,CSH,6.0 +CMT,1,1,254,0.7,CSH,5.5 +CMT,1,1,316,1.6,CSH,7.0 +CMT,1,1,408,0.9,CSH,6.5 +CMT,1,1,221,0.9,CSH,5.0 +CMT,1,1,213,0.9,CSH,5.0 +CMT,1,1,446,0.9,CRD,6.5 +CMT,1,4,591,1.1,CSH,8.0 +CMT,1,1,374,1.1,CSH,6.5 +CMT,1,2,561,2.0,CSH,9.0 +CMT,1,1,276,0.8,CRD,5.5 +CMT,1,1,278,0.7,CRD,5.0 +CMT,1,1,581,3.2,CRD,11.5 +CMT,1,2,60,0.4,CSH,3.5 +CMT,1,1,295,1.0,CRD,5.5 +CMT,1,2,861,3.8,CRD,14.0 +CMT,1,2,289,1.1,CSH,6.0 +CMT,1,2,134,0.5,CSH,4.0 +CMT,1,2,423,1.8,CRD,8.0 +CMT,1,1,276,0.9,CRD,5.5 +CMT,1,1,289,1.3,CSH,6.0 +CMT,1,1,337,0.9,CRD,5.5 +CMT,1,1,1040,3.9,CRD,15.0 +CMT,1,1,156,0.5,CSH,4.0 +CMT,1,1,1119,4.1,CRD,16.0 +CMT,1,1,240,1.0,CRD,5.5 +CMT,1,1,682,4.5,CSH,14.5 +CMT,1,1,533,2.2,CSH,10.0 +CMT,1,1,566,1.4,CRD,8.5 +CMT,1,1,186,0.9,CRD,5.0 +CMT,1,1,513,1.9,CRD,8.5 +CMT,1,2,351,0.8,CRD,6.0 +CMT,1,1,226,0.8,CRD,5.0 +CMT,1,4,1182,3.4,CSH,15.5 +CMT,1,1,853,2.6,CRD,12.0 +CMT,1,2,431,2.7,CRD,10.0 +CMT,1,1,783,3.8,CSH,14.5 +CMT,1,1,451,3.2,CRD,10.5 +CMT,1,1,444,0.4,CRD,6.0 +CMT,1,1,220,0.5,CRD,4.5 +CMT,1,1,1312,4.6,CRD,18.5 +CMT,1,1,1226,8.4,CSH,25.5 +CMT,1,1,646,1.8,CRD,9.0 +CMT,1,2,1217,10.3,CRD,29.5 +CMT,1,1,233,0.3,CSH,4.5 +CMT,1,1,175,0.7,CSH,4.5 +CMT,1,2,154,0.5,CSH,4.0 +CMT,1,2,447,2.1,CSH,9.0 +CMT,1,2,284,0.9,CSH,5.5 +CMT,1,1,508,2.0,CRD,8.5 +CMT,1,1,89,0.3,CSH,3.5 +CMT,1,1,234,0.8,CRD,5.0 +CMT,1,1,791,4.0,CSH,14.0 +CMT,1,1,2239,10.1,CRD,35.0 +CMT,1,1,1144,4.2,CRD,16.0 +CMT,1,1,986,3.9,CSH,15.0 +CMT,1,1,606,2.2,CRD,10.0 +CMT,1,1,675,3.9,CRD,13.5 +CMT,1,1,247,1.5,CRD,6.5 +CMT,1,1,55,0.4,CSH,3.5 +CMT,1,1,664,3.6,CRD,12.5 +CMT,1,1,596,1.4,CSH,8.5 +CMT,1,1,1707,2.1,CSH,17.0 +CMT,1,1,423,1.4,CSH,7.0 +CMT,1,1,293,1.1,CSH,6.0 +CMT,1,1,553,1.4,CSH,8.0 +CMT,1,1,361,1.2,CRD,6.5 +CMT,1,1,452,2.3,CRD,9.5 +CMT,1,1,255,1.1,CSH,6.0 +CMT,1,1,823,1.5,CRD,10.0 +CMT,1,1,243,0.5,CRD,4.5 +CMT,1,1,780,2.6,CRD,11.5 +CMT,1,1,213,0.8,CSH,5.0 +CMT,1,1,263,0.5,CSH,5.0 +CMT,1,1,525,1.6,CSH,8.5 +CMT,1,2,452,1.8,CSH,8.0 +CMT,1,2,721,4.7,CSH,16.0 +CMT,1,3,385,1.5,CSH,7.0 +CMT,1,3,1272,3.9,CSH,16.5 +CMT,1,1,538,1.2,CSH,7.5 +CMT,1,1,722,3.1,CRD,13.0 +CMT,1,1,203,0.6,CSH,4.5 +CMT,1,1,325,1.6,CRD,7.0 +CMT,1,1,867,3.4,CSH,13.0 +CMT,1,1,364,1.1,CSH,6.5 +CMT,1,2,568,1.5,CSH,8.5 +CMT,1,1,415,0.3,CRD,5.5 +CMT,1,1,570,1.7,CSH,9.0 +CMT,1,1,947,4.8,CSH,16.0 +CMT,1,1,146,0.6,CSH,4.0 +CMT,1,1,300,1.9,CSH,7.5 +CMT,1,1,889,1.6,CRD,10.5 +CMT,1,1,734,4.3,CSH,14.5 +CMT,1,1,336,1.4,CRD,7.0 +CMT,1,1,151,0.5,CSH,4.0 +CMT,1,3,521,2.2,CSH,9.0 +CMT,1,1,636,2.4,CSH,10.0 +CMT,1,2,423,2.0,CSH,8.0 +CMT,1,2,188,0.6,CSH,4.5 +CMT,1,1,237,0.8,CSH,5.0 +CMT,1,1,629,1.7,CSH,9.0 +CMT,1,1,313,1.7,CSH,7.0 +CMT,1,1,301,1.2,CSH,6.5 +CMT,1,1,431,1.1,CSH,7.0 +CMT,3,1,2371,19.4,CRD,74.5 +CMT,1,1,249,0.4,CSH,4.5 +CMT,1,1,1170,8.3,CSH,25.5 +CMT,1,1,318,1.6,CRD,6.5 +CMT,1,1,375,1.4,CRD,7.0 +CMT,1,1,733,3.2,CRD,12.5 +CMT,1,1,240,1.3,CRD,6.0 +CMT,1,1,341,0.6,CSH,5.5 +CMT,1,1,599,1.2,CSH,8.0 +CMT,1,1,581,1.6,CRD,8.5 +CMT,1,1,454,1.3,CSH,7.0 +CMT,1,1,677,2.5,CSH,11.0 +CMT,1,1,761,2.7,CSH,11.0 +CMT,1,1,1023,4.9,CSH,17.0 +CMT,1,1,265,0.7,CSH,5.0 +CMT,1,4,524,2.3,CSH,9.5 +CMT,1,1,889,1.9,CRD,11.0 +CMT,1,1,779,5.2,CSH,17.0 +CMT,1,1,876,2.9,CRD,13.0 +CMT,1,1,342,1.2,CSH,6.0 +CMT,1,1,1036,8.1,CRD,24.0 +CMT,1,1,487,1.7,CRD,8.5 +CMT,1,1,388,1.0,CSH,6.5 +CMT,1,2,220,0.6,CRD,4.5 +CMT,1,1,951,4.3,CRD,15.5 +CMT,1,1,331,1.1,CRD,6.5 +CMT,1,1,336,1.3,CRD,6.5 +CMT,1,1,292,1.2,CSH,6.0 +CMT,1,1,737,3.8,CRD,14.0 +CMT,1,1,539,2.7,CSH,10.5 +CMT,1,1,636,3.2,CSH,12.0 +CMT,1,1,123,0.9,CSH,5.0 +CMT,1,1,1190,1.7,CRD,13.0 +CMT,1,1,651,0.8,CRD,8.0 +CMT,1,1,686,1.6,CSH,9.5 +CMT,1,1,699,1.0,CRD,8.5 +CMT,1,1,1124,2.2,CRD,13.0 +CMT,1,1,696,3.8,CSH,14.0 +CMT,1,1,391,0.7,CRD,6.0 +CMT,1,2,607,1.7,CSH,8.5 +CMT,1,1,218,1.2,CRD,6.0 +CMT,1,1,1378,1.4,CRD,7.0 +CMT,1,1,206,0.7,CSH,4.5 +CMT,1,1,346,1.3,CSH,6.5 +CMT,1,1,254,0.6,CSH,4.5 +CMT,1,1,446,1.5,CSH,8.0 +CMT,1,1,273,1.3,CSH,6.0 +CMT,1,1,294,1.0,CSH,6.0 +CMT,1,1,363,2.9,CRD,10.0 +CMT,1,1,746,5.0,CSH,15.5 +CMT,1,1,361,1.7,CSH,7.5 +CMT,1,1,468,2.3,CRD,9.5 +CMT,1,1,174,0.5,CSH,4.0 +CMT,1,1,305,0.8,CSH,5.5 +CMT,1,1,186,0.5,CSH,4.5 +CMT,1,1,270,1.3,CSH,6.0 +CMT,1,1,850,2.4,CRD,11.5 +CMT,1,1,467,1.1,CSH,7.0 +CMT,1,1,948,2.7,CRD,13.0 +CMT,1,1,230,1.2,CRD,5.5 +CMT,1,1,333,0.6,CSH,5.5 +CMT,1,1,494,1.4,CRD,8.0 +CMT,1,1,567,1.1,CSH,8.0 +CMT,1,1,475,0.8,CRD,6.5 +CMT,1,1,1663,3.0,CRD,18.5 +CMT,1,1,596,1.5,CRD,9.0 +CMT,1,1,1159,4.7,CSH,17.5 +CMT,1,1,384,0.8,CRD,6.0 +CMT,1,1,482,1.6,CSH,8.5 +CMT,1,1,446,2.0,CRD,8.5 +CMT,1,1,646,1.6,CRD,9.0 +CMT,1,4,806,5.6,CSH,18.5 +CMT,1,4,1008,5.4,CSH,18.5 +CMT,1,1,892,1.7,CRD,10.5 +CMT,1,1,1881,13.1,CSH,40.0 +CMT,1,1,686,2.0,CRD,10.0 +CMT,1,1,277,1.1,CSH,6.0 +CMT,1,1,272,0.9,CSH,5.5 +CMT,1,1,772,5.2,CSH,17.0 +CMT,1,1,284,1.3,CRD,6.0 +CMT,1,3,322,0.8,CSH,5.5 +CMT,1,1,267,0.7,CRD,5.0 +CMT,1,1,177,1.1,CSH,5.5 +CMT,1,1,1022,3.2,CRD,14.5 +CMT,1,1,1302,6.0,CSH,20.5 +CMT,1,1,563,4.3,CSH,13.5 +CMT,1,1,1998,14.5,CSH,42.0 +CMT,1,1,1231,5.2,CRD,19.5 +CMT,5,2,1309,6.2,CSH,11.0 +CMT,1,1,428,1.6,CSH,8.0 +CMT,1,1,994,4.1,CRD,16.0 +CMT,1,2,848,2.4,CSH,11.5 +CMT,1,1,162,0.3,CRD,3.5 +CMT,1,1,445,0.8,CSH,6.5 +CMT,1,1,181,0.4,CRD,4.0 +CMT,1,2,1629,7.2,CRD,25.0 +CMT,5,1,1562,6.0,CSH,5.0 +CMT,1,1,442,1.2,CRD,7.0 +CMT,1,1,212,0.9,CSH,5.0 +CMT,1,1,316,1.2,CSH,6.0 +CMT,1,1,1123,4.1,CRD,17.0 +CMT,1,1,114,0.7,CSH,4.0 +CMT,1,2,135,0.8,CRD,4.5 +CMT,1,2,479,1.7,CSH,8.5 +CMT,1,1,423,1.1,CSH,6.5 +CMT,1,2,706,6.0,CRD,19.0 +CMT,1,2,186,0.7,CRD,4.5 +CMT,1,2,943,6.3,CRD,20.5 +CMT,1,1,395,1.2,CRD,6.5 +CMT,1,1,622,0.7,CSH,7.5 +CMT,1,2,531,1.8,CSH,8.5 +CMT,1,1,370,0.9,CSH,6.0 +CMT,1,1,664,3.4,CRD,12.5 +CMT,1,1,167,0.7,CSH,4.5 +CMT,1,1,433,0.7,CSH,6.0 +CMT,1,1,296,0.8,CRD,5.5 +CMT,1,2,704,2.4,CSH,11.0 +CMT,1,1,808,3.3,CRD,13.0 +CMT,1,1,754,5.2,CRD,17.0 +CMT,1,2,1016,5.3,CSH,17.5 +CMT,1,1,418,3.9,CSH,12.5 +CMT,1,1,916,8.3,CRD,24.5 +CMT,1,1,688,1.5,CSH,9.0 +CMT,1,1,260,0.5,CRD,5.0 +CMT,1,1,360,1.2,CSH,7.0 +CMT,1,1,100,0.2,CSH,3.5 +CMT,1,2,185,0.6,CSH,4.5 +CMT,1,2,298,0.6,CSH,5.0 +CMT,1,1,665,2.4,CSH,10.5 +CMT,1,1,267,1.5,CRD,6.5 +CMT,1,1,598,3.4,CRD,11.5 +CMT,1,1,159,0.7,CRD,4.5 +CMT,1,1,364,1.2,CSH,6.5 +CMT,1,1,623,3.2,CSH,12.0 +CMT,1,1,463,1.5,CSH,8.0 +CMT,1,1,732,1.8,CSH,10.0 +CMT,1,1,571,2.0,CSH,9.0 +CMT,1,1,467,3.1,CRD,10.5 +CMT,1,1,335,1.0,CSH,6.0 +CMT,1,1,1841,4.9,CRD,23.0 +CMT,1,1,689,1.8,CRD,9.5 +CMT,1,1,742,2.3,CSH,11.0 +CMT,1,1,664,1.6,CSH,9.0 +CMT,1,1,1123,2.4,CRD,14.0 +CMT,1,1,262,0.7,CSH,5.0 +CMT,1,1,731,2.1,CRD,10.5 +CMT,1,1,215,0.6,CSH,4.5 +CMT,1,1,961,4.9,CSH,17.5 +CMT,1,1,250,1.1,CRD,6.0 +CMT,1,2,975,3.0,CSH,14.0 +CMT,1,2,1079,5.3,CSH,19.5 +CMT,1,1,233,0.9,CRD,5.0 +CMT,1,1,1125,4.1,CRD,16.5 +CMT,1,1,866,1.6,CRD,10.5 +CMT,1,1,278,0.6,CSH,5.0 +CMT,1,1,182,0.9,CSH,5.0 +CMT,1,1,338,1.4,CRD,6.5 +CMT,1,1,478,1.4,CSH,7.5 +CMT,1,1,2276,9.9,CSH,34.5 +CMT,1,1,504,1.0,CRD,7.0 +CMT,1,1,739,2.3,CSH,11.0 +CMT,1,2,379,0.8,CSH,6.5 +CMT,1,1,1224,3.0,CSH,15.0 +CMT,1,1,806,1.6,CRD,10.0 +CMT,3,1,3,0.0,CRD,20.0 +CMT,1,1,432,1.8,CRD,8.0 +CMT,1,1,328,1.0,CRD,6.0 +CMT,1,2,1348,5.1,CSH,21.5 +CMT,1,3,277,0.7,CSH,5.5 +CMT,1,1,555,1.8,CSH,9.0 +CMT,1,1,403,1.5,CRD,7.5 +CMT,1,1,321,1.2,CSH,6.5 +CMT,1,1,500,2.0,CRD,8.5 +CMT,1,1,200,0.5,CSH,4.5 +CMT,1,2,1854,4.4,CRD,21.5 +CMT,1,1,758,5.4,CRD,17.5 +CMT,1,2,230,0.5,CRD,4.5 +CMT,1,1,107,0.4,CSH,3.5 +CMT,1,1,757,1.5,CSH,9.5 +CMT,1,1,508,1.0,CSH,7.0 +CMT,1,1,556,0.9,CSH,7.5 +CMT,1,1,276,0.4,CRD,5.0 +CMT,1,2,970,2.2,CRD,12.5 +CMT,1,2,1179,3.2,CRD,15.0 +CMT,1,2,418,1.5,CSH,7.5 +CMT,1,1,925,3.2,CSH,12.5 +CMT,1,1,605,1.6,CRD,8.5 +CMT,1,1,1108,4.8,CRD,17.0 +CMT,1,1,264,0.8,CRD,5.0 +CMT,1,1,557,0.6,CSH,7.0 +CMT,1,1,505,1.9,CRD,8.5 +CMT,1,2,131,0.4,CRD,4.0 +CMT,1,2,194,0.5,CSH,4.5 +CMT,1,2,315,1.5,CSH,7.0 +CMT,1,1,278,0.7,CRD,5.5 +CMT,1,1,685,2.2,CRD,10.5 +CMT,1,1,454,1.5,CSH,8.0 +CMT,1,1,232,1.3,CRD,6.0 +CMT,1,1,524,2.2,CRD,9.0 +CMT,1,1,216,0.6,CSH,5.0 +CMT,1,1,295,0.8,CRD,5.5 +CMT,1,1,891,9.0,CRD,26.0 +CMT,1,2,241,0.6,CRD,5.0 +CMT,1,1,280,0.5,CSH,5.0 +CMT,1,1,386,1.0,CRD,6.0 +CMT,1,2,835,2.5,CRD,11.5 +CMT,1,1,610,2.4,CSH,10.0 +CMT,1,1,558,1.7,CSH,9.0 +CMT,1,1,616,5.2,CRD,16.5 +CMT,1,1,759,3.0,CSH,12.0 +CMT,1,2,673,2.0,CRD,9.5 +CMT,1,2,296,1.1,CSH,6.0 +CMT,1,1,459,1.7,CRD,8.0 +CMT,1,1,365,2.5,CSH,9.0 +CMT,1,1,320,0.6,CSH,5.5 +CMT,1,1,324,1.2,CSH,6.0 +CMT,1,1,604,1.1,CSH,8.0 +CMT,1,1,421,2.4,CRD,9.0 +CMT,1,1,333,1.0,CRD,6.0 +CMT,1,1,956,1.0,CRD,10.5 +CMT,1,1,418,0.7,CRD,6.0 +CMT,1,1,950,2.4,CRD,12.5 +CMT,1,1,586,0.6,CSH,7.5 +CMT,1,3,1064,3.3,CRD,14.5 +CMT,1,1,392,1.0,CRD,6.5 +CMT,1,1,1222,5.0,CRD,18.5 +CMT,1,1,481,2.3,CSH,9.0 +CMT,1,1,565,1.4,CSH,8.0 +CMT,1,1,1240,4.9,CRD,19.5 +CMT,1,1,432,2.0,CRD,8.0 +CMT,1,1,1620,3.8,CRD,19.0 +CMT,1,1,1241,1.2,CRD,13.0 +CMT,1,1,497,1.0,CRD,7.0 +CMT,1,1,135,0.4,CSH,3.5 +CMT,1,1,1800,8.3,CRD,27.0 +CMT,1,1,663,4.2,CSH,14.5 +CMT,1,3,627,1.0,CRD,8.0 +CMT,1,1,782,2.7,CSH,11.5 +CMT,1,2,222,0.5,CSH,4.5 +CMT,1,1,668,1.3,CRD,8.5 +CMT,1,1,457,2.3,CRD,9.0 +CMT,1,1,201,0.7,CSH,4.5 +CMT,1,1,1631,2.2,CSH,17.0 +CMT,1,1,763,2.5,CSH,12.0 +CMT,1,1,1294,7.4,CRD,24.5 +CMT,1,1,126,0.8,CRD,4.5 +CMT,1,1,318,1.6,CRD,7.0 +CMT,1,1,1119,7.1,CRD,22.0 +CMT,1,2,822,1.7,CRD,10.5 +CMT,1,2,634,1.6,CRD,9.0 +CMT,1,1,317,1.1,CRD,6.0 +CMT,1,3,832,3.9,CSH,13.5 +CMT,1,1,165,0.8,CSH,4.5 +CMT,1,1,905,2.2,CSH,11.5 +CMT,1,1,794,1.9,CSH,10.5 +CMT,1,1,867,1.3,CRD,10.0 +CMT,1,1,472,1.1,CRD,7.0 +CMT,1,1,276,0.6,CSH,5.0 +CMT,1,3,452,1.3,CRD,7.0 +CMT,1,2,239,0.2,CSH,4.5 +CMT,1,1,328,1.3,CRD,6.5 +CMT,1,2,225,0.8,CSH,5.0 +CMT,1,3,886,2.4,CRD,12.0 +CMT,1,1,1173,5.9,CSH,19.5 +CMT,1,1,1397,4.7,CRD,19.0 +CMT,1,1,520,1.5,CSH,8.0 +CMT,1,1,2847,20.1,CSH,57.0 +CMT,1,1,390,0.8,CSH,6.0 +CMT,1,1,511,2.1,CRD,9.0 +CMT,1,1,311,0.7,CRD,5.5 +CMT,1,1,553,1.0,CRD,7.5 +CMT,1,1,1306,9.6,CRD,29.0 +CMT,1,1,384,0.8,CRD,6.0 +CMT,1,1,309,1.0,CRD,6.0 +CMT,1,1,224,0.8,CSH,5.0 +CMT,1,1,111,0.4,CRD,3.5 +CMT,1,1,382,1.7,CSH,7.5 +CMT,1,2,602,1.6,CSH,9.0 +CMT,1,1,208,0.9,CSH,5.0 +CMT,1,1,130,0.7,CRD,4.0 +CMT,1,2,253,0.7,CSH,5.0 +CMT,1,1,381,1.1,CSH,6.5 +CMT,1,1,364,0.7,CSH,6.0 +CMT,1,3,286,1.0,CSH,5.5 +CMT,1,2,919,4.4,CSH,16.5 +CMT,1,1,404,2.2,CRD,9.0 +CMT,1,2,360,1.9,CSH,8.0 +CMT,1,1,410,2.7,CRD,10.0 +CMT,1,1,771,2.0,CSH,10.5 +CMT,1,1,213,0.8,CSH,5.0 +CMT,1,1,565,2.3,CSH,10.0 +CMT,1,1,696,1.6,CRD,9.5 +CMT,1,1,284,0.8,CSH,5.5 +CMT,1,1,98,0.3,CSH,3.5 +CMT,1,1,441,1.6,CRD,7.5 +CMT,1,1,854,3.9,CRD,14.0 +CMT,5,1,682,4.2,CSH,11.0 +CMT,1,1,2395,12.7,CRD,41.5 +CMT,1,1,669,1.0,CSH,8.5 +CMT,1,2,1548,6.9,CRD,24.0 +CMT,1,2,324,1.5,CRD,7.0 +CMT,1,1,848,7.3,CRD,21.0 +CMT,1,1,144,0.8,CRD,4.5 +CMT,1,1,654,4.3,CSH,14.5 +CMT,1,1,563,1.5,CSH,8.5 +CMT,1,2,483,1.3,CSH,7.0 +CMT,1,1,425,1.8,CSH,8.5 +CMT,1,1,1180,8.4,CRD,26.0 +CMT,1,1,552,1.6,CSH,8.5 +CMT,1,1,509,1.7,CSH,8.5 +CMT,1,1,398,1.3,CRD,7.0 +CMT,1,1,202,0.8,CRD,4.5 +CMT,1,1,428,2.0,CRD,8.0 +CMT,1,1,1294,7.2,CRD,23.5 +CMT,1,1,244,0.6,CRD,4.5 +CMT,1,1,624,2.9,CRD,11.5 +CMT,1,1,118,0.4,CSH,3.5 +CMT,1,2,598,1.4,CRD,8.5 +CMT,3,1,2,0.0,CRD,20.0 +CMT,1,2,554,2.1,CSH,9.5 +CMT,1,1,438,0.8,CSH,6.5 +CMT,1,1,193,0.6,CSH,4.5 +CMT,1,2,1164,3.4,CRD,15.0 +CMT,1,1,366,0.9,CRD,6.5 +CMT,1,1,331,0.8,CSH,5.5 +CMT,1,2,487,0.9,CSH,7.0 +CMT,1,1,651,4.0,CRD,13.0 +CMT,1,1,608,3.4,CSH,12.5 +CMT,1,1,685,1.7,CSH,9.5 +CMT,1,1,352,1.5,CRD,7.0 +CMT,1,1,810,2.8,CSH,12.0 +CMT,1,1,898,3.0,CRD,12.5 +CMT,1,1,806,6.2,CRD,20.0 +CMT,1,1,610,1.4,CRD,8.5 +CMT,1,1,1178,3.9,CSH,16.5 +CMT,1,1,734,2.1,CSH,10.5 +CMT,1,1,541,1.2,CSH,8.0 +CMT,1,1,689,2.6,CRD,11.0 +CMT,1,1,426,1.1,CSH,6.5 +CMT,1,2,149,0.4,CSH,4.0 +CMT,1,1,288,0.9,CRD,5.5 +CMT,1,1,690,1.9,CSH,10.0 +CMT,1,1,249,1.2,CSH,6.0 +CMT,1,2,759,1.9,CSH,10.0 +CMT,1,1,354,1.0,CRD,6.0 +CMT,1,1,234,0.9,CSH,5.0 +CMT,1,1,2264,7.2,CSH,30.0 +CMT,1,1,411,1.8,CSH,8.0 +CMT,1,1,791,6.3,CRD,19.5 +CMT,1,1,384,1.0,CSH,6.5 +CMT,1,1,471,1.4,CSH,7.5 +CMT,1,4,787,2.1,CSH,10.5 +CMT,1,1,457,1.5,CRD,7.5 +CMT,1,1,246,1.4,CSH,6.0 +CMT,1,2,1827,14.1,CRD,41.0 +CMT,1,1,427,1.2,CSH,7.0 +CMT,1,1,794,2.9,CRD,12.5 +CMT,1,1,1385,7.0,CRD,24.0 +CMT,1,1,142,0.3,CRD,3.5 +CMT,1,1,488,1.4,CSH,7.5 +CMT,1,2,1351,2.8,CRD,15.5 +CMT,1,1,714,1.7,CSH,10.0 +CMT,1,2,734,1.8,CSH,9.5 +CMT,1,1,858,2.7,CSH,12.0 +CMT,1,1,651,1.5,CSH,9.0 +CMT,1,1,637,2.7,CRD,11.0 +CMT,1,1,844,4.2,CSH,14.5 +CMT,1,1,573,1.4,CRD,8.5 +CMT,1,1,1435,3.8,CRD,17.0 +CMT,1,1,354,1.1,CSH,6.0 +CMT,1,1,1306,2.3,CSH,14.0 +CMT,1,1,3227,7.0,CSH,34.0 +CMT,1,1,527,0.9,CRD,7.0 +CMT,1,1,243,0.9,CRD,5.5 +CMT,1,1,201,0.8,CSH,5.0 +CMT,1,1,94,0.5,CSH,3.5 +CMT,1,1,472,2.5,CSH,10.0 +CMT,1,1,856,4.8,CSH,16.0 +CMT,1,1,340,1.4,CRD,7.0 +CMT,1,2,1230,6.4,CSH,21.5 +CMT,1,1,311,1.2,CRD,6.5 +CMT,1,1,342,0.9,CRD,6.0 +CMT,1,1,1000,1.1,CRD,11.0 +CMT,1,2,1798,18.2,CSH,49.0 +CMT,1,1,490,1.1,CRD,7.0 +CMT,1,1,231,0.5,CRD,4.5 +CMT,1,1,1424,3.5,CRD,16.5 +CMT,1,2,342,1.0,CSH,6.0 +CMT,1,2,397,1.1,CRD,6.5 +CMT,1,2,1524,12.5,CRD,36.5 +CMT,1,1,850,1.5,CSH,10.0 +CMT,1,3,187,0.5,CSH,4.0 +CMT,1,2,265,0.5,CRD,5.0 +CMT,1,2,264,0.6,CSH,5.0 +CMT,1,1,902,1.4,CSH,11.0 +CMT,1,1,361,0.8,CSH,6.0 +CMT,1,1,362,0.8,CSH,6.0 +CMT,1,2,691,2.9,CRD,11.5 +CMT,1,1,324,0.4,CRD,5.0 +CMT,1,1,475,1.6,CRD,8.0 +CMT,1,1,279,1.0,CRD,5.5 +CMT,1,1,277,0.6,CRD,5.5 +CMT,1,1,230,0.6,CSH,5.0 +CMT,1,1,1827,4.9,CSH,23.0 +CMT,1,2,2077,4.1,CRD,22.5 +CMT,1,1,2463,12.1,CSH,41.0 +CMT,1,1,788,1.8,CRD,10.0 +CMT,1,1,1462,1.9,CRD,15.5 +CMT,1,1,1099,3.2,CSH,14.5 +CMT,1,2,800,1.2,CSH,9.5 +CMT,1,2,328,0.5,CRD,5.5 +CMT,1,1,827,2.6,CRD,11.5 +CMT,1,2,670,2.5,CSH,11.0 +CMT,1,1,355,1.5,CRD,6.5 +CMT,1,1,143,0.7,CRD,4.5 +CMT,1,1,958,6.8,CRD,20.5 +CMT,1,1,611,1.1,CSH,8.0 +CMT,1,2,906,2.7,CSH,12.5 +CMT,1,1,646,2.6,CSH,10.5 +CMT,1,1,404,0.7,CSH,6.5 +CMT,1,1,779,1.8,CRD,10.0 +CMT,1,2,205,0.8,CSH,5.0 +CMT,1,1,463,0.6,CSH,6.5 +CMT,1,1,1662,9.7,CRD,30.5 +CMT,1,2,949,8.7,CSH,25.0 +CMT,1,1,558,2.4,CRD,9.5 +CMT,1,1,289,1.6,CRD,7.0 +CMT,1,1,444,2.8,CRD,10.0 +CMT,1,1,318,1.4,CRD,6.5 +CMT,1,1,411,0.8,CRD,6.0 +CMT,1,1,966,4.9,CSH,17.0 +CMT,1,1,440,1.8,CRD,8.0 +CMT,1,1,556,1.4,CRD,8.0 +CMT,1,1,245,1.0,CRD,5.5 +CMT,1,1,630,2.2,CSH,10.0 +CMT,1,1,665,2.8,CRD,12.0 +CMT,1,1,470,2.1,CSH,9.0 +CMT,1,2,554,1.6,CSH,8.0 +CMT,1,1,1074,0.9,CSH,11.5 +CMT,1,1,518,2.4,CRD,9.0 +CMT,1,1,226,0.6,CSH,4.5 +CMT,1,1,207,0.7,CRD,4.5 +CMT,1,1,1186,3.3,CSH,15.5 +CMT,1,4,980,5.4,CSH,18.0 +CMT,2,1,2146,17.6,CSH,52.0 +CMT,1,1,143,0.5,CRD,4.0 +CMT,1,2,457,3.8,CRD,12.5 +CMT,1,1,551,2.0,CRD,9.0 +CMT,1,1,556,1.6,CRD,8.5 +CMT,1,3,549,1.2,CSH,8.0 +CMT,1,1,305,1.0,CRD,5.5 +CMT,1,1,372,1.3,CSH,6.5 +CMT,1,2,403,1.2,CSH,7.0 +CMT,1,1,646,2.6,CSH,11.0 +CMT,1,2,866,1.8,CSH,11.0 +CMT,1,2,842,3.7,CRD,14.0 +CMT,1,1,120,0.3,CSH,3.5 +CMT,1,1,270,0.8,CSH,5.5 +CMT,1,1,273,1.4,CSH,6.5 +CMT,1,1,647,2.3,CRD,10.0 +CMT,1,1,222,0.4,CRD,4.5 +CMT,1,1,1045,1.2,CSH,11.5 +CMT,1,1,1567,2.5,CRD,17.0 +CMT,1,1,1524,12.2,CRD,35.5 +CMT,1,2,649,1.4,CRD,9.0 +CMT,1,1,489,0.9,CRD,6.5 +CMT,1,1,330,0.7,CRD,5.5 +CMT,1,2,487,0.7,CSH,6.5 +CMT,1,3,677,4.1,CRD,14.0 +CMT,1,1,409,3.0,CRD,11.0 +CMT,1,1,523,3.1,CSH,10.5 +CMT,1,1,202,0.7,CSH,5.0 +CMT,1,1,884,1.9,CSH,11.0 +CMT,1,1,932,4.4,CSH,16.0 +CMT,1,1,219,0.8,CSH,5.0 +CMT,1,1,689,1.8,CSH,10.0 +CMT,1,1,811,1.8,CRD,10.5 +CMT,1,2,770,2.0,CRD,10.5 +CMT,1,1,203,1.0,CSH,5.0 +CMT,1,1,979,2.2,CRD,12.0 +CMT,1,1,530,0.3,NOC,6.0 +CMT,1,1,437,1.1,CRD,7.0 +CMT,1,1,343,1.5,CRD,7.0 +CMT,1,2,535,2.5,CSH,10.5 +CMT,1,2,802,2.4,CRD,11.0 +CMT,1,1,184,0.8,CSH,5.0 +CMT,1,1,375,1.5,CSH,7.0 +CMT,1,1,659,2.5,CRD,10.5 +CMT,1,2,717,2.8,CSH,11.0 +CMT,1,1,173,0.4,CSH,4.0 +CMT,1,1,1049,5.9,CRD,19.0 +CMT,1,1,192,0.6,CRD,4.5 +CMT,1,1,299,1.2,CSH,6.5 +CMT,1,1,464,1.3,CRD,7.0 +CMT,1,1,754,2.4,CSH,11.0 +CMT,1,1,1052,4.0,CRD,15.5 +CMT,1,2,669,1.2,CRD,8.5 +CMT,1,1,77,0.4,CSH,3.5 +CMT,1,2,229,0.9,CSH,5.0 +CMT,1,1,435,1.0,CRD,7.0 +CMT,1,1,948,4.1,CRD,15.0 +CMT,1,1,696,3.8,CRD,13.5 +CMT,1,2,775,3.8,CSH,13.0 +CMT,1,1,299,0.8,CRD,5.0 +CMT,1,1,386,0.8,CRD,6.0 +CMT,1,1,268,2.4,CRD,8.5 +CMT,1,1,474,2.0,CRD,8.5 +CMT,1,1,577,3.6,CSH,12.0 +CMT,1,2,650,1.5,CRD,9.0 +CMT,1,1,264,0.8,CSH,5.0 +CMT,1,1,446,2.0,CSH,8.5 +CMT,1,4,840,3.0,CSH,13.0 +CMT,1,1,1185,0.7,CRD,12.5 +CMT,1,1,325,1.1,CRD,6.0 +CMT,1,1,961,1.7,CSH,11.5 +CMT,1,1,441,1.9,CRD,8.0 +CMT,1,2,880,2.2,CSH,11.0 +CMT,1,3,872,3.4,CSH,13.5 +CMT,1,2,269,0.4,CRD,5.0 +CMT,1,2,468,0.9,CRD,7.0 +CMT,1,1,768,1.4,CRD,9.5 +CMT,1,1,569,1.4,CSH,8.0 +CMT,1,1,459,1.2,CSH,7.5 +CMT,1,1,547,2.0,CSH,9.0 +CMT,1,1,438,0.9,CSH,6.5 +CMT,1,1,506,0.7,CSH,7.0 +CMT,1,1,146,0.5,CRD,4.0 +CMT,1,1,204,0.7,CRD,5.0 +CMT,1,1,234,0.8,CRD,5.0 +CMT,1,2,406,1.2,CRD,7.0 +CMT,1,1,1280,11.6,CSH,33.0 +CMT,1,1,1097,7.8,CRD,23.5 +CMT,1,4,672,1.5,CSH,9.0 +CMT,1,2,772,2.2,CSH,10.5 +CMT,1,1,351,1.1,CRD,6.0 +CMT,1,2,680,2.9,CRD,11.5 +CMT,1,1,396,1.6,CSH,7.5 +CMT,1,1,954,4.0,CRD,15.0 +CMT,1,3,649,1.4,CSH,9.0 +CMT,1,1,497,1.0,CSH,7.0 +CMT,1,1,867,2.9,CRD,13.5 +CMT,1,1,386,0.8,CRD,6.0 +CMT,1,2,216,0.5,CRD,4.5 +CMT,1,2,81,0.4,CSH,3.5 +CMT,1,1,799,3.1,CSH,13.0 +CMT,1,1,366,1.4,CRD,6.5 +CMT,1,1,438,0.9,CRD,6.5 +CMT,1,1,765,2.3,CRD,11.0 +CMT,1,1,772,1.9,CRD,10.0 +CMT,1,1,1139,3.2,CSH,14.5 +CMT,1,2,210,0.9,CRD,5.5 +CMT,1,1,400,2.6,CSH,9.0 +CMT,1,1,815,3.0,CSH,12.5 +CMT,1,1,517,1.7,CSH,8.5 +CMT,1,1,800,1.8,CRD,10.5 +CMT,1,2,184,0.6,CSH,4.5 +CMT,1,1,420,0.7,CSH,6.0 +CMT,1,1,905,1.3,CSH,10.5 +CMT,1,1,565,1.7,CSH,8.5 +CMT,1,3,613,1.1,CSH,8.0 +CMT,1,1,637,2.7,CSH,10.5 +CMT,1,1,1026,3.6,CSH,14.5 +CMT,1,1,1125,2.7,CSH,14.0 +CMT,1,1,587,2.5,CSH,10.0 +CMT,1,2,558,1.4,CSH,8.5 +CMT,1,1,886,5.0,CRD,17.5 +CMT,1,1,1062,5.2,CRD,17.5 +CMT,4,1,1501,17.1,CRD,70.0 +CMT,1,1,1548,7.1,CSH,24.0 +CMT,1,1,1204,2.3,CRD,13.5 +CMT,1,1,482,2.5,CRD,9.5 +CMT,1,1,1514,10.4,CRD,31.5 +CMT,1,1,468,1.1,CSH,7.0 +CMT,1,1,277,0.6,CRD,5.0 +CMT,1,1,177,0.7,CSH,4.5 +CMT,1,1,2101,9.2,CRD,32.5 +CMT,1,1,695,2.4,CRD,11.0 +CMT,1,1,149,1.0,CSH,5.0 +CMT,1,1,644,1.6,CRD,9.0 +CMT,1,2,700,1.7,CRD,9.5 +CMT,1,1,206,0.7,CRD,4.5 +CMT,1,1,498,2.1,CRD,9.0 +CMT,1,1,151,0.4,CSH,4.0 +CMT,1,1,214,1.5,CSH,6.0 +CMT,1,1,578,1.3,CSH,8.0 +CMT,1,1,874,6.4,CSH,19.5 +CMT,1,1,1044,4.4,CSH,16.5 +CMT,1,1,335,1.0,CSH,6.0 +CMT,1,1,86,0.6,CSH,4.0 +CMT,1,1,78,0.5,CSH,3.5 +CMT,1,4,288,0.7,CSH,5.0 +CMT,4,4,661,1.3,CSH,8.5 +CMT,1,1,265,0.8,CSH,5.5 +CMT,1,1,268,0.3,CRD,5.0 +CMT,1,1,670,2.4,CSH,10.5 +CMT,1,2,411,1.6,CSH,7.5 +CMT,1,2,468,1.5,CRD,7.5 +CMT,1,1,1308,2.4,CRD,15.0 +CMT,1,1,793,2.6,CSH,12.5 +CMT,1,1,242,0.6,CSH,5.0 +CMT,1,2,373,2.4,CRD,9.0 +CMT,1,1,289,1.1,CSH,5.5 +CMT,1,1,748,2.7,CRD,12.0 +CMT,1,1,1696,4.0,CRD,19.5 +CMT,1,4,459,1.6,CSH,8.0 +CMT,1,1,406,2.1,CSH,8.5 +CMT,1,1,759,3.5,CRD,13.0 +CMT,1,1,489,1.8,CRD,9.0 +CMT,1,1,131,0.3,CRD,3.5 +CMT,1,1,360,1.3,CSH,7.0 +CMT,1,1,460,1.0,CSH,7.0 +CMT,1,1,1511,4.5,CRD,20.0 +CMT,1,1,867,1.4,CRD,10.5 +CMT,1,2,411,1.2,CSH,7.0 +CMT,1,1,287,2.0,CRD,7.5 +CMT,1,1,1398,6.0,CSH,21.5 +CMT,1,1,626,1.5,CSH,8.5 +CMT,1,1,408,2.3,CSH,8.5 +CMT,1,3,603,2.0,CRD,9.5 +CMT,1,2,853,2.0,CSH,11.0 +CMT,1,1,612,1.1,CRD,8.0 +CMT,1,1,929,1.9,CSH,11.5 +CMT,1,1,456,2.3,CRD,8.5 +CMT,1,1,1346,2.2,CSH,14.5 +CMT,1,1,529,1.3,CRD,8.0 +CMT,1,2,704,0.9,CRD,8.5 +CMT,1,1,810,1.7,CSH,10.0 +CMT,1,1,1097,2.9,CRD,14.5 +CMT,1,2,480,1.4,CSH,7.5 +CMT,1,1,446,1.1,CSH,7.0 +CMT,1,1,1383,4.6,CRD,19.5 +CMT,1,1,561,2.2,CRD,9.0 +CMT,1,2,530,1.4,CSH,8.0 +CMT,1,1,600,2.2,CSH,10.0 +CMT,1,1,1168,3.6,CRD,16.5 +CMT,1,1,444,2.2,CRD,9.0 +CMT,1,1,420,1.4,CRD,7.0 +CMT,1,1,858,1.5,CRD,10.5 +CMT,1,1,435,1.4,CRD,7.5 +CMT,1,1,849,4.1,CRD,15.0 +CMT,1,1,111,0.7,CRD,4.0 +CMT,1,2,215,0.6,CSH,5.0 +CMT,1,2,518,1.0,CRD,7.5 +CMT,1,1,318,0.5,CSH,5.0 +CMT,1,2,467,1.1,CSH,7.0 +CMT,1,1,263,1.1,CRD,5.5 +CMT,1,1,237,1.5,CSH,6.5 +CMT,1,1,1011,3.1,CRD,13.5 +CMT,1,1,44,0.2,CRD,3.0 +CMT,1,1,1751,4.0,CSH,20.0 +CMT,1,1,497,1.6,CRD,7.5 +CMT,1,3,297,0.7,CSH,5.5 +CMT,1,1,1222,5.2,CSH,18.0 +CMT,1,1,1558,5.5,CSH,21.0 +CMT,1,2,1757,2.9,CSH,18.5 +CMT,1,1,1809,2.4,CRD,18.5 +CMT,1,1,2295,8.6,CRD,33.5 +CMT,1,1,604,2.2,CRD,9.5 +CMT,1,1,444,1.6,CSH,8.0 +CMT,1,1,929,4.6,CRD,16.5 +CMT,1,1,283,1.1,CSH,5.5 +CMT,1,3,1261,2.9,CRD,14.5 +CMT,1,1,768,1.6,CRD,10.0 +CMT,1,2,1521,3.4,NOC,17.0 +CMT,1,1,480,1.1,CRD,7.0 +CMT,1,2,1267,4.6,CRD,18.0 +CMT,1,2,840,1.1,CSH,9.5 +CMT,1,1,895,2.2,CRD,11.5 +CMT,1,2,654,1.9,CRD,9.5 +CMT,1,1,608,1.1,CRD,8.0 +CMT,1,1,567,1.9,CRD,9.0 +CMT,1,2,158,0.4,CSH,4.0 +CMT,1,1,527,1.9,CRD,9.0 +CMT,1,2,673,2.7,CSH,11.0 +CMT,1,1,587,1.7,CRD,8.5 +CMT,1,1,1230,10.0,CRD,29.5 +CMT,1,1,315,1.2,CSH,6.5 +CMT,1,1,936,5.4,CSH,18.0 +CMT,1,1,363,0.9,CRD,6.0 +CMT,1,1,782,1.6,CSH,10.0 +CMT,1,1,193,0.6,CRD,4.5 +CMT,1,1,406,1.8,CSH,8.0 +CMT,1,4,916,2.3,CRD,11.5 +CMT,1,3,1677,7.9,CRD,26.5 +CMT,1,1,699,1.3,CRD,9.0 +CMT,1,1,199,0.5,CRD,4.5 +CMT,1,1,1439,4.2,CSH,18.5 +CMT,1,1,978,2.8,CRD,13.0 +CMT,1,1,933,3.6,CRD,13.5 +CMT,1,1,398,1.2,CRD,7.0 +CMT,1,1,396,1.3,CRD,7.5 +CMT,1,1,757,1.2,CSH,9.0 +CMT,1,1,116,0.2,CRD,3.5 +CMT,1,1,570,1.5,CSH,8.0 +CMT,1,1,1004,6.5,CRD,21.0 +CMT,1,1,222,0.8,CSH,5.0 +CMT,1,1,358,0.9,CSH,6.0 +CMT,1,1,475,1.4,CSH,7.0 +CMT,1,1,961,8.3,CSH,25.0 +CMT,1,1,216,0.9,CSH,5.0 +CMT,1,1,1604,6.3,CSH,23.0 +CMT,1,1,393,1.0,CRD,6.0 +CMT,1,1,422,1.2,CRD,6.5 +CMT,1,1,1363,9.9,CSH,29.0 +CMT,1,2,1157,3.2,CRD,14.5 +CMT,1,2,448,1.4,CSH,7.0 +CMT,1,1,1093,2.9,CSH,13.5 +CMT,1,1,738,3.3,CSH,12.5 +CMT,1,1,443,2.5,CSH,9.0 +CMT,1,3,267,1.1,CRD,5.5 +CMT,1,1,399,2.2,CRD,8.5 +CMT,1,1,756,1.8,CRD,10.0 +CMT,1,1,443,0.6,CSH,6.5 +CMT,1,2,1033,2.5,CSH,13.5 +CMT,1,1,527,1.0,CSH,7.5 +CMT,1,1,1266,6.2,CRD,21.0 +CMT,1,3,1131,4.4,CRD,16.5 +CMT,1,2,497,1.6,CSH,8.0 +CMT,1,1,421,1.4,CSH,7.5 +CMT,1,3,779,2.6,CRD,11.5 +CMT,1,1,198,0.8,CRD,4.5 +CMT,1,2,629,2.4,CSH,10.0 +CMT,1,1,219,0.7,CRD,4.5 +CMT,1,1,796,3.1,CRD,12.5 +CMT,1,1,510,2.9,CRD,11.5 +CMT,1,1,481,1.7,CSH,8.5 +CMT,1,1,407,1.6,CSH,7.5 +CMT,1,1,334,1.1,CRD,6.0 +CMT,1,1,516,1.4,CRD,8.0 +CMT,1,1,795,2.1,CSH,11.0 +CMT,1,1,283,0.4,CRD,5.0 +CMT,1,1,461,1.8,CSH,8.5 +CMT,1,1,345,1.1,CRD,6.5 +CMT,1,1,1728,3.5,CRD,19.0 +CMT,1,1,311,1.0,CRD,6.0 +CMT,1,1,807,2.5,CSH,11.0 +CMT,1,1,70,0.5,CRD,4.5 +CMT,1,1,629,2.0,CRD,9.5 +CMT,1,1,190,1.0,CSH,5.0 +CMT,1,1,465,1.9,CRD,8.0 +CMT,1,2,217,0.9,CRD,5.0 +CMT,1,1,620,2.6,CRD,10.5 +CMT,1,1,659,2.4,CSH,10.5 +CMT,1,1,1529,7.5,CRD,25.5 +CMT,1,1,1542,10.1,CRD,30.5 +CMT,1,1,479,1.6,CRD,8.0 +CMT,1,1,1012,0.7,CSH,5.0 +CMT,1,2,623,1.8,CRD,9.0 +CMT,1,3,188,0.8,CSH,5.0 +CMT,1,1,284,0.9,CSH,5.5 +CMT,1,1,333,1.6,CRD,7.0 +CMT,1,1,452,1.1,CRD,7.0 +CMT,1,1,497,1.6,CRD,8.0 +CMT,1,1,247,0.9,CRD,5.5 +CMT,1,1,112,0.7,CRD,4.0 +CMT,1,3,507,1.3,CRD,7.5 +CMT,1,1,526,1.9,CRD,8.5 +CMT,1,2,358,0.8,CRD,6.0 +CMT,1,1,1269,8.8,CSH,26.5 +CMT,1,2,623,2.8,CRD,10.5 +CMT,1,1,1063,3.8,CRD,15.5 +CMT,1,1,791,3.3,CSH,13.0 +CMT,1,2,315,0.8,CRD,5.5 +CMT,1,1,199,0.5,CRD,4.5 +CMT,1,1,249,0.7,CRD,5.0 +CMT,1,2,512,1.4,CSH,8.0 +CMT,1,1,305,1.1,CRD,6.0 +CMT,1,1,860,2.0,CRD,11.0 +CMT,1,1,1784,6.2,CSH,24.5 +CMT,1,1,224,0.9,CRD,5.0 +CMT,1,1,905,2.6,CRD,12.5 +CMT,1,1,788,2.0,CRD,10.5 +CMT,1,2,1552,2.6,CSH,17.0 +CMT,1,1,960,2.1,CRD,12.0 +CMT,1,1,539,1.5,CSH,8.0 +CMT,1,1,526,1.1,CRD,7.5 +CMT,1,1,340,1.8,CSH,7.5 +CMT,1,1,1322,3.0,CRD,15.5 +CMT,1,1,440,1.2,CRD,7.0 +CMT,1,1,889,3.4,CSH,13.0 +CMT,1,1,421,1.2,CSH,7.0 +CMT,1,1,579,4.2,CSH,13.5 +CMT,1,2,984,1.9,CSH,12.0 +CMT,1,1,951,4.5,CSH,15.5 +CMT,1,1,868,2.1,CRD,12.0 +CMT,1,2,755,3.0,CRD,12.5 +CMT,1,1,585,2.8,CRD,11.0 +CMT,1,1,989,8.2,CRD,24.5 +CMT,1,2,698,3.6,CRD,12.5 +CMT,1,1,437,2.1,CRD,8.5 +CMT,1,2,1015,3.9,CSH,15.0 +CMT,1,3,1239,3.8,CSH,16.5 +CMT,1,3,420,1.4,CRD,7.5 +CMT,1,4,535,1.6,CSH,8.0 +CMT,1,2,401,1.8,CSH,8.0 +CMT,1,2,336,1.0,CRD,6.0 +CMT,1,1,725,2.5,CRD,11.0 +CMT,1,2,952,5.0,CSH,17.5 +CMT,1,2,369,1.2,CRD,7.0 +CMT,1,2,1163,2.7,CSH,11.0 +CMT,1,1,310,0.7,CSH,5.5 +CMT,1,1,158,0.5,CRD,4.5 +CMT,1,1,459,3.2,CRD,11.5 +CMT,1,1,358,2.0,CSH,8.0 +CMT,1,1,528,1.3,CRD,7.5 +CMT,1,2,192,0.4,CRD,4.0 +CMT,1,1,476,1.7,CRD,8.5 +CMT,1,1,433,0.6,CSH,6.0 +CMT,1,2,396,0.9,CSH,6.5 +CMT,1,1,260,0.6,CRD,5.0 +CMT,1,2,251,0.6,CRD,5.0 +CMT,1,2,532,1.2,DIS,8.0 +CMT,1,1,504,1.1,CRD,7.0 +CMT,1,1,374,0.7,CRD,6.0 +CMT,1,1,351,2.1,CRD,8.0 +CMT,1,2,611,2.4,CRD,10.5 +CMT,1,2,415,1.9,CSH,8.0 +CMT,1,1,324,0.9,CSH,5.5 +CMT,1,1,389,1.6,CRD,7.0 +CMT,1,1,571,1.6,CSH,8.5 +CMT,1,1,965,1.6,CRD,11.5 +CMT,1,1,276,0.5,CSH,5.0 +CMT,1,1,1276,5.9,CRD,21.0 +CMT,1,2,171,0.4,CRD,4.0 +CMT,1,1,407,1.0,CSH,5.0 +CMT,1,1,1098,9.4,CSH,26.5 +CMT,1,1,1502,10.4,CSH,30.0 +CMT,1,1,1098,4.7,CRD,17.0 +CMT,1,2,171,0.6,CSH,4.0 +CMT,1,1,286,0.6,CSH,5.0 +CMT,1,2,357,1.4,CRD,6.5 +CMT,1,1,382,1.4,CRD,7.0 +CMT,1,3,83,0.2,CSH,3.0 +CMT,1,2,395,0.7,CSH,6.0 +CMT,1,1,447,1.4,CSH,7.0 +CMT,1,1,583,1.9,CRD,9.5 +CMT,1,1,350,1.2,CRD,6.5 +CMT,1,1,298,0.6,CRD,5.5 +CMT,1,1,381,1.1,CSH,6.5 +CMT,1,2,783,1.6,CRD,10.0 +CMT,1,1,443,1.0,CRD,6.5 +CMT,1,1,371,0.8,CSH,6.0 +CMT,1,1,497,1.8,CSH,8.0 +CMT,1,1,1984,5.7,CSH,25.0 +CMT,1,1,389,0.5,CSH,6.0 +CMT,1,1,1653,3.9,CRD,19.5 +CMT,1,2,858,1.6,CSH,10.5 +CMT,1,2,771,2.5,CRD,11.0 +CMT,1,1,444,2.0,CRD,8.5 +CMT,1,1,355,1.1,CRD,6.0 +CMT,1,1,671,2.5,CRD,10.5 +CMT,1,1,2115,5.2,CSH,25.5 +CMT,1,1,585,1.6,CSH,8.5 +CMT,1,1,115,0.2,CSH,3.5 +CMT,1,1,392,1.2,CSH,7.0 +CMT,1,1,322,0.6,CRD,5.5 +CMT,1,1,386,1.4,CRD,7.0 +CMT,1,1,544,1.3,CSH,7.5 +CMT,1,3,1068,2.7,CSH,13.5 +CMT,1,2,363,1.6,CRD,7.5 +CMT,1,2,294,1.8,CRD,7.5 +CMT,1,1,1406,4.7,CRD,19.5 +CMT,1,1,582,1.2,CRD,8.5 +CMT,1,1,865,1.8,CSH,11.5 +CMT,1,3,1486,5.3,CRD,21.0 +CMT,1,1,437,1.0,CRD,6.5 +CMT,1,1,547,2.4,CSH,9.5 +CMT,1,1,579,1.9,CRD,9.5 +CMT,1,1,367,0.9,CSH,6.0 +CMT,1,1,303,1.0,CSH,5.5 +CMT,1,1,530,1.1,CSH,7.5 +CMT,1,1,878,2.1,CSH,11.5 +CMT,1,1,749,1.7,CRD,10.0 +CMT,1,1,313,0.9,CSH,5.5 +CMT,1,1,378,0.6,CSH,6.0 +CMT,1,1,656,1.5,CRD,9.0 +CMT,1,1,571,1.6,CSH,8.5 +CMT,1,1,454,0.8,CSH,7.0 +CMT,1,2,280,0.8,CRD,5.0 +CMT,1,1,193,0.8,CSH,5.0 +CMT,1,2,175,1.0,CRD,5.0 +CMT,1,1,736,3.8,CRD,13.5 +CMT,1,3,206,0.9,CSH,5.0 +CMT,1,1,548,1.6,CRD,9.0 +CMT,1,3,467,0.9,CSH,7.0 +CMT,1,1,368,0.9,CSH,6.0 +CMT,1,1,1182,3.3,CSH,15.5 +CMT,1,1,442,1.2,CRD,7.0 +CMT,1,1,1259,2.2,CRD,14.0 +CMT,1,1,476,1.3,CSH,7.5 +CMT,1,1,1129,2.0,CSH,13.0 +CMT,1,1,468,1.0,CRD,7.0 +CMT,1,3,2202,11.1,CRD,37.0 +CMT,1,1,453,0.8,CRD,7.0 +CMT,1,1,225,0.6,CSH,4.5 +CMT,1,1,927,2.9,CRD,13.0 +CMT,1,2,734,2.3,CRD,10.5 +CMT,1,2,672,2.0,CRD,10.5 +CMT,1,1,1833,4.5,CSH,21.5 +CMT,1,2,805,2.1,CSH,10.5 +CMT,1,1,1290,8.3,CSH,26.5 +CMT,1,1,194,0.5,CSH,4.0 +CMT,1,1,545,1.7,CSH,8.5 +CMT,1,1,502,0.9,CSH,7.5 +CMT,1,1,345,1.3,CRD,6.5 +CMT,1,1,1325,2.2,CRD,14.5 +CMT,1,1,513,1.7,CRD,9.0 +CMT,1,1,695,1.9,CRD,9.5 +CMT,1,1,511,1.1,CRD,7.0 +CMT,1,1,1897,10.5,CSH,33.0 +CMT,1,1,623,1.3,CSH,8.0 +CMT,1,1,910,5.7,CSH,19.5 +CMT,1,1,680,1.9,CRD,9.5 +CMT,1,1,1536,3.7,CSH,18.5 +CMT,1,1,1366,3.4,CSH,17.0 +CMT,1,1,437,0.9,CSH,6.5 +CMT,1,1,296,0.7,CSH,5.0 +CMT,1,3,423,1.2,CRD,7.0 +CMT,1,1,917,2.6,CRD,12.0 +CMT,1,1,1587,4.0,CRD,19.0 +CMT,1,1,601,0.8,CRD,7.5 +CMT,1,1,230,0.6,CRD,4.5 +CMT,1,1,1104,4.1,CSH,16.5 +CMT,1,1,186,1.2,CSH,5.5 +CMT,1,1,727,4.0,CSH,14.0 +CMT,1,1,190,0.6,CSH,4.5 +CMT,1,1,722,2.9,CSH,12.5 +CMT,1,1,197,0.6,CRD,4.5 +CMT,1,1,448,1.1,CSH,6.5 +CMT,1,2,737,2.0,CSH,10.5 +CMT,1,2,360,1.3,CSH,7.0 +CMT,1,1,423,1.2,CSH,7.0 +CMT,1,1,423,1.8,CRD,8.0 +CMT,1,1,585,2.3,CSH,9.5 +CMT,1,1,795,1.0,CRD,9.5 +CMT,1,1,151,0.4,CRD,4.0 +CMT,1,3,380,1.2,CRD,6.5 +CMT,1,2,336,1.7,CRD,7.0 +CMT,1,2,173,0.6,CRD,4.0 +CMT,1,1,406,0.7,CRD,6.0 +CMT,1,1,460,1.1,CRD,7.0 +CMT,1,1,479,1.1,CRD,7.0 +CMT,1,1,792,2.8,CRD,11.5 +CMT,1,1,217,0.7,CSH,5.0 +CMT,1,2,917,1.5,CSH,10.5 +CMT,1,1,396,0.7,CRD,6.0 +CMT,1,1,372,1.1,CRD,6.5 +CMT,1,1,654,2.0,CSH,9.5 +CMT,1,1,2015,15.3,CSH,45.0 +CMT,1,2,1152,9.2,CSH,27.0 +CMT,1,2,566,3.8,CSH,12.5 +CMT,1,1,146,1.2,CRD,5.5 +CMT,1,1,612,3.8,CRD,13.0 +CMT,1,1,369,1.3,CSH,6.5 +CMT,1,1,2170,5.0,CRD,24.5 +CMT,1,2,365,0.9,CSH,6.0 +CMT,1,3,814,2.1,CSH,11.0 +CMT,1,2,733,1.7,CRD,9.5 +CMT,1,1,385,1.3,CSH,7.0 +CMT,1,1,375,0.7,CSH,6.0 +CMT,1,1,502,1.6,CRD,8.0 +CMT,1,1,1232,2.8,CRD,15.0 +CMT,1,1,723,2.4,CRD,11.0 +CMT,1,1,392,1.5,CSH,7.0 +CMT,1,1,305,0.8,CRD,5.5 +CMT,1,1,1345,2.6,CRD,15.5 +CMT,1,1,327,1.1,CSH,6.0 +CMT,1,1,1243,8.0,CSH,24.0 +CMT,1,1,831,2.8,CRD,12.0 +CMT,1,3,308,0.8,CSH,5.5 +CMT,1,1,400,0.9,CRD,6.5 +CMT,1,1,643,1.8,CSH,9.0 +CMT,1,1,492,1.5,CRD,7.5 +CMT,1,1,878,1.9,CSH,11.0 +CMT,1,1,574,2.6,CRD,10.5 +CMT,1,1,698,1.8,CRD,10.0 +CMT,1,1,390,0.9,CSH,6.5 +CMT,1,1,355,1.0,CSH,6.0 +CMT,1,1,578,1.9,CSH,9.0 +CMT,1,2,261,0.4,CRD,4.5 +CMT,1,2,561,2.1,CRD,9.0 +CMT,1,2,469,1.6,CRD,8.0 +CMT,1,3,423,1.0,CSH,7.0 +CMT,1,2,1222,8.6,CRD,26.0 +CMT,1,1,357,0.9,CRD,6.0 +CMT,1,1,589,2.8,CRD,10.5 +CMT,1,1,1536,8.1,CSH,27.0 +CMT,1,1,269,1.7,CRD,7.0 +CMT,1,1,565,1.5,CRD,8.5 +CMT,1,1,752,2.2,CRD,10.5 +CMT,1,2,293,0.7,CRD,5.0 +CMT,1,3,327,0.6,CSH,5.5 +CMT,1,2,450,1.1,CSH,7.0 +CMT,1,1,155,0.6,CSH,4.5 +CMT,1,1,431,1.0,CSH,7.0 +CMT,1,1,131,0.5,CSH,4.0 +CMT,1,1,949,3.6,CRD,14.0 +CMT,1,2,554,2.0,CSH,9.0 +CMT,1,1,274,0.4,CSH,5.0 +CMT,1,1,840,3.2,CRD,13.0 +CMT,1,1,1194,3.3,CRD,15.0 +CMT,1,1,479,1.2,CSH,7.5 +CMT,1,1,287,0.8,CSH,5.0 +CMT,1,1,1802,2.8,CRD,19.5 +CMT,1,1,1813,4.6,CRD,21.5 +CMT,1,1,515,0.7,CSH,7.0 +CMT,1,1,774,1.9,CRD,10.0 +CMT,1,2,473,1.5,CRD,8.0 +CMT,1,1,885,2.3,CSH,12.0 +CMT,1,1,198,0.5,CSH,4.5 +CMT,1,1,1776,12.7,CRD,37.5 +CMT,1,1,158,0.5,CSH,4.0 +CMT,1,1,405,1.8,CSH,7.5 +CMT,1,2,455,1.5,CSH,7.5 +CMT,1,1,727,2.7,CRD,11.0 +CMT,1,1,620,1.3,CRD,8.5 +CMT,1,1,836,2.0,CSH,11.5 +CMT,1,1,1050,2.8,CSH,14.0 +CMT,1,1,224,0.7,CSH,5.0 +CMT,1,1,222,0.5,CSH,4.5 +CMT,1,1,1690,2.6,CRD,18.0 +CMT,1,1,1168,4.8,CRD,17.5 +CMT,1,1,252,1.2,CRD,6.0 +CMT,1,1,323,1.2,CSH,6.0 +CMT,1,2,357,0.6,CRD,5.5 +CMT,1,1,1422,10.8,CRD,31.5 +CMT,1,2,243,0.9,CSH,5.5 +CMT,1,4,368,1.2,CSH,6.5 +CMT,1,3,477,2.0,CRD,8.5 +CMT,1,2,969,3.3,CRD,14.0 +CMT,1,4,846,2.7,CSH,12.5 +CMT,1,2,387,1.7,CRD,7.5 +CMT,1,1,718,2.5,CRD,11.0 +CMT,1,1,714,3.3,CSH,12.5 +CMT,1,2,712,2.0,CSH,10.0 +CMT,1,1,1481,6.3,CRD,22.5 +CMT,1,1,428,1.1,CRD,7.0 +CMT,1,1,1210,4.7,CSH,18.0 +CMT,1,1,829,4.7,CRD,16.5 +CMT,1,1,315,0.7,CRD,5.5 +CMT,1,1,513,1.8,CRD,8.5 +CMT,1,1,146,0.5,CSH,4.0 +CMT,1,1,939,3.5,CRD,14.0 +CMT,1,1,559,1.6,CRD,8.5 +CMT,1,1,282,0.8,CSH,5.5 +CMT,1,2,238,0.9,CSH,5.0 +CMT,2,1,3455,18.9,CSH,52.0 +CMT,1,1,515,0.8,CRD,7.0 +CMT,1,1,321,1.5,CSH,6.5 +CMT,1,2,664,1.2,CRD,8.5 +CMT,1,2,405,0.8,CSH,6.0 +CMT,1,1,536,1.2,CSH,7.5 +CMT,1,1,1065,3.3,CRD,14.5 +CMT,1,1,270,0.7,CSH,5.0 +CMT,1,1,536,1.4,CSH,8.0 +CMT,1,1,355,1.6,CSH,7.0 +CMT,1,1,1170,10.6,CRD,30.0 +CMT,1,1,275,1.3,CRD,6.5 +CMT,1,1,1012,3.8,CRD,14.5 +CMT,1,1,804,3.9,CSH,14.5 +CMT,1,1,1031,2.1,CRD,12.5 +CMT,1,1,337,0.8,CSH,5.5 +CMT,1,1,581,1.3,CRD,8.0 +CMT,1,1,4507,18.0,CSH,62.0 +CMT,1,1,374,0.9,CRD,6.0 +CMT,1,2,298,0.6,CRD,5.0 +CMT,1,2,543,1.4,CRD,8.0 +CMT,1,1,389,0.4,CRD,6.0 +CMT,1,1,469,1.9,CSH,8.0 +CMT,1,1,816,1.0,CSH,9.5 +CMT,1,1,556,1.6,CSH,8.5 +CMT,1,1,666,2.2,CSH,10.0 +CMT,1,2,453,1.8,CSH,8.0 +CMT,1,1,305,0.8,CRD,5.5 +CMT,1,3,550,1.9,CRD,8.5 +CMT,1,1,1175,8.9,CSH,26.5 +CMT,1,1,566,1.8,CSH,8.5 +CMT,1,1,593,1.5,CSH,9.0 +CMT,1,1,1351,3.4,CRD,16.5 +CMT,1,1,227,0.8,CSH,5.0 +CMT,1,3,1160,4.4,CRD,16.5 +CMT,1,1,459,2.6,CRD,10.0 +CMT,1,1,357,1.4,CRD,7.0 +CMT,1,1,153,0.5,CSH,4.0 +CMT,1,1,290,0.7,CSH,5.0 +CMT,1,1,415,0.5,CSH,6.0 +CMT,1,1,587,1.7,CSH,8.5 +CMT,1,1,833,2.9,CRD,12.5 +CMT,1,1,263,1.2,CRD,6.0 +CMT,1,1,352,1.2,CRD,6.5 +CMT,1,1,455,0.6,CSH,6.5 +CMT,1,1,443,1.3,CRD,7.5 +CMT,1,1,1001,1.6,CSH,12.0 +CMT,1,1,558,1.3,CRD,8.5 +CMT,1,1,242,0.8,CSH,5.0 +CMT,1,1,506,1.3,CRD,8.0 +CMT,1,1,277,0.6,CSH,5.0 +CMT,1,2,950,2.0,DIS,11.5 +CMT,1,1,706,1.9,CRD,10.0 +CMT,1,2,501,1.5,CRD,8.0 +CMT,1,1,462,1.2,CRD,7.5 +CMT,1,2,581,1.3,CSH,8.0 +CMT,1,3,763,1.5,CSH,9.5 +CMT,1,1,733,2.1,CSH,10.5 +CMT,1,1,130,0.4,CSH,4.0 +CMT,1,1,330,1.0,CRD,6.0 +CMT,1,1,513,0.8,CSH,6.5 +CMT,1,1,744,2.6,CRD,11.5 +CMT,1,1,121,0.6,CSH,4.0 +CMT,1,1,1115,5.3,CSH,19.0 +CMT,1,1,252,0.8,CSH,5.0 +CMT,1,2,214,0.6,CSH,4.5 +CMT,1,2,1616,4.9,CSH,22.5 +CMT,1,1,314,1.1,CSH,6.0 +CMT,1,1,407,1.1,CRD,6.5 +CMT,1,2,228,0.6,CRD,5.0 +CMT,1,1,620,1.5,CSH,8.5 +CMT,1,2,642,2.9,CRD,11.0 +CMT,1,1,239,0.8,CSH,5.5 +CMT,1,2,506,1.8,CSH,9.0 +CMT,1,1,655,2.3,CRD,10.5 +CMT,1,2,1182,2.5,CRD,14.0 +CMT,1,2,1547,6.3,CRD,23.0 +CMT,1,1,738,1.7,CRD,10.0 +CMT,1,1,470,1.4,CSH,7.5 +CMT,1,3,340,1.0,CSH,6.0 +CMT,1,3,1245,2.6,CRD,15.0 +CMT,1,1,263,0.4,CSH,4.5 +CMT,1,2,406,1.1,CSH,6.5 +CMT,1,1,1110,2.7,CSH,13.5 +CMT,1,1,333,0.5,CSH,5.5 +CMT,1,1,497,1.8,CSH,8.5 +CMT,1,1,302,0.6,CSH,5.0 +CMT,1,1,823,2.1,CSH,11.0 +CMT,1,1,167,0.3,CSH,4.0 +CMT,1,1,1294,11.0,CRD,32.0 +CMT,1,1,1364,4.4,CSH,18.0 +CMT,1,1,666,2.0,CSH,9.5 +CMT,1,2,353,0.5,CRD,5.5 +CMT,1,1,1419,3.4,CRD,17.5 +CMT,1,1,326,0.8,CRD,6.0 +CMT,1,1,552,1.1,CRD,7.5 +CMT,1,1,946,2.3,CRD,12.0 +CMT,1,1,517,4.7,CRD,14.5 +CMT,1,1,796,1.4,CSH,10.0 +CMT,1,1,424,1.5,CRD,7.0 +CMT,1,1,719,1.8,CRD,10.0 +CMT,1,1,2461,9.9,CSH,35.0 +CMT,1,1,247,0.9,CSH,5.0 +CMT,1,1,432,1.5,CSH,7.0 +CMT,1,1,548,2.5,CSH,10.0 +CMT,1,1,198,0.6,CRD,4.5 +CMT,1,1,303,0.9,CRD,5.5 +CMT,1,1,522,1.9,CSH,9.0 +CMT,1,1,313,0.7,CRD,5.5 +CMT,1,1,510,1.1,CRD,7.5 +CMT,1,2,650,1.0,CRD,8.0 +CMT,1,2,548,1.4,CSH,7.5 +CMT,1,1,1492,8.8,CRD,28.0 +CMT,1,1,230,1.0,CRD,5.5 +CMT,1,1,358,1.3,CRD,7.0 +CMT,1,1,727,1.5,CSH,9.5 +CMT,1,1,284,0.5,CSH,5.0 +CMT,1,3,336,0.9,CRD,6.0 +CMT,1,1,1758,5.2,CSH,21.5 +CMT,1,1,1433,7.6,CRD,25.5 +CMT,1,1,1358,5.8,CSH,21.0 +CMT,1,2,631,0.5,CRD,7.5 +CMT,1,1,247,1.0,CSH,5.5 +CMT,1,1,330,0.8,CRD,5.5 +CMT,1,1,652,2.3,CRD,10.5 +CMT,1,1,101,0.3,CSH,3.5 +CMT,1,1,226,0.6,CSH,4.5 +CMT,1,1,375,1.4,CRD,6.5 +CMT,1,1,229,0.5,CRD,5.0 +CMT,1,1,442,1.2,CSH,7.0 +CMT,1,1,554,1.2,CRD,7.5 +CMT,1,1,190,0.5,CRD,4.5 +CMT,1,1,294,0.8,CSH,5.5 +CMT,1,1,357,0.6,CSH,5.5 +CMT,1,2,1059,2.5,CRD,13.0 +CMT,1,1,1600,4.1,CRD,19.5 +CMT,1,1,292,0.7,CSH,5.0 +CMT,1,2,1238,3.6,CSH,16.0 +CMT,1,1,244,0.9,CSH,5.0 +CMT,1,3,189,0.4,CSH,4.0 +CMT,1,1,646,2.6,CRD,10.5 +CMT,1,2,1603,11.1,CRD,33.5 +CMT,1,2,1242,5.0,CSH,19.5 +CMT,1,1,647,1.2,CSH,8.5 +CMT,1,1,165,0.6,CRD,4.5 +CMT,1,1,348,1.2,CSH,6.5 +CMT,1,2,723,1.8,CSH,9.5 +CMT,1,1,701,1.6,CRD,9.0 +CMT,1,1,79,0.3,CSH,3.0 +CMT,1,1,1371,10.7,CRD,31.5 +CMT,1,1,1063,4.5,CRD,17.5 +CMT,1,2,716,2.1,CRD,10.0 +CMT,1,1,354,0.5,CSH,5.5 +CMT,1,2,402,1.4,CSH,7.5 +CMT,1,1,1137,5.4,CSH,19.5 +CMT,1,1,967,3.1,CRD,13.0 +CMT,1,1,141,0.8,CRD,4.5 +CMT,1,1,618,2.0,CRD,9.0 +CMT,1,1,568,1.2,CSH,8.0 +CMT,1,2,1191,3.3,DIS,14.5 +CMT,1,1,647,3.1,DIS,11.0 +CMT,1,1,441,1.3,CRD,7.0 +CMT,1,2,550,1.6,CSH,8.5 +CMT,1,1,140,0.7,CSH,4.0 +CMT,1,1,653,1.0,CSH,8.5 +CMT,1,2,407,1.3,CSH,7.0 +CMT,1,1,735,2.5,CSH,10.5 +CMT,1,1,516,1.8,CSH,8.5 +CMT,1,1,780,3.0,CRD,12.0 +CMT,1,1,583,0.8,CRD,7.5 +CMT,1,1,1955,6.7,CRD,26.5 +CMT,1,1,820,4.5,CRD,16.0 +CMT,1,2,399,1.5,CSH,7.5 +CMT,1,2,1663,7.1,CRD,25.0 +CMT,1,1,761,2.6,CRD,11.5 +CMT,1,1,212,0.6,CRD,4.5 +CMT,1,3,1536,11.0,CSH,32.0 +CMT,1,1,381,1.6,CRD,7.5 +CMT,1,1,468,1.5,CRD,7.5 +CMT,1,4,313,0.6,CSH,5.5 +CMT,1,1,871,3.2,CRD,13.5 +CMT,1,3,1064,5.2,CRD,18.0 +CMT,1,1,561,2.7,CRD,10.5 +CMT,1,2,641,2.6,CSH,11.0 +CMT,1,1,626,2.8,CSH,10.5 +CMT,1,1,1060,5.9,CSH,20.0 +CMT,1,1,1101,2.3,CRD,14.0 +CMT,1,1,597,3.4,CSH,13.0 +CMT,1,1,521,1.8,CSH,9.0 +CMT,1,1,239,1.0,CSH,5.5 +CMT,1,1,255,1.3,CSH,6.0 +CMT,1,1,687,1.6,CRD,9.0 +CMT,1,1,426,2.2,CRD,8.5 +CMT,1,1,393,1.0,CRD,6.5 +CMT,1,1,639,1.8,CSH,9.0 +CMT,1,1,1093,1.7,CRD,12.5 +CMT,1,1,725,1.3,CSH,9.5 +CMT,1,1,732,1.8,CSH,10.0 +CMT,1,1,383,1.2,CRD,6.5 +CMT,1,2,603,1.0,CSH,7.5 +CMT,1,1,788,2.0,CRD,10.5 +CMT,1,1,257,0.6,CSH,5.0 +CMT,1,1,308,0.9,CRD,6.0 +CMT,1,2,1106,3.3,CRD,14.5 +CMT,1,2,611,1.6,CSH,8.5 +CMT,1,1,1166,2.9,CSH,14.0 +CMT,1,1,147,0.5,CRD,4.5 +CMT,1,1,2569,7.0,CRD,31.0 +CMT,1,1,236,0.6,CRD,4.5 +CMT,1,1,802,2.0,CRD,11.0 +CMT,1,1,743,2.1,DIS,10.5 +CMT,1,1,345,1.5,CSH,7.0 +CMT,1,1,447,1.5,CRD,7.5 +CMT,1,1,1087,2.1,CRD,12.5 +CMT,1,1,230,0.3,DIS,4.0 +CMT,1,2,672,1.4,CRD,9.0 +CMT,1,2,976,2.7,CSH,13.0 +CMT,1,1,787,1.9,CSH,10.0 +CMT,1,1,676,0.8,CRD,8.0 +CMT,1,1,884,1.1,CRD,10.0 +CMT,1,1,349,0.7,CRD,6.0 +CMT,1,2,658,2.1,CRD,10.0 +CMT,1,2,1139,3.7,CRD,15.0 +CMT,1,1,796,2.7,CSH,11.5 +CMT,1,2,512,0.9,CSH,7.0 +CMT,1,1,336,1.2,CSH,6.5 +CMT,1,1,425,0.4,CRD,6.0 +CMT,1,1,577,1.0,CRD,8.0 +CMT,1,2,381,1.2,CSH,6.5 +CMT,1,1,355,0.7,CRD,5.5 +CMT,1,3,190,0.6,CSH,4.5 +CMT,1,1,388,2.0,CRD,8.0 +CMT,1,1,606,1.4,CRD,8.5 +CMT,1,1,349,0.5,CSH,5.5 +CMT,1,1,480,1.3,CSH,7.5 +CMT,1,1,346,1.1,CSH,6.5 +CMT,1,1,452,1.1,CSH,7.0 +CMT,1,1,198,1.0,CSH,5.0 +CMT,1,1,585,5.0,CRD,15.5 +CMT,1,1,1216,10.5,CRD,31.0 +CMT,1,2,601,2.1,DIS,9.5 +CMT,1,2,624,2.9,CSH,11.0 +CMT,1,1,333,1.3,CRD,6.5 +CMT,1,1,694,1.9,CSH,10.0 +CMT,1,1,210,0.6,CSH,4.5 +CMT,1,1,844,3.8,CRD,14.0 +CMT,1,2,1066,3.0,CSH,14.0 +CMT,1,1,495,1.1,CRD,7.0 +CMT,1,1,593,2.1,CRD,9.5 +CMT,1,1,540,2.1,CSH,9.0 +CMT,1,2,154,0.9,CRD,4.5 +CMT,1,1,327,0.9,CSH,6.0 +CMT,1,1,788,1.9,CSH,10.5 +CMT,1,1,495,1.1,CSH,7.5 +CMT,1,1,1228,3.1,CSH,15.5 +CMT,1,2,648,2.1,CRD,10.0 +CMT,1,2,338,0.9,CSH,6.0 +CMT,1,1,874,3.4,CRD,13.5 +CMT,1,2,812,1.9,CRD,10.0 +CMT,1,1,415,1.0,CSH,6.5 +CMT,1,2,925,2.6,DIS,12.0 +CMT,1,1,382,1.2,CRD,7.0 +CMT,1,2,1082,3.9,CSH,15.0 +CMT,1,1,1832,9.5,CSH,32.0 +CMT,1,2,978,1.8,CSH,12.0 +CMT,1,1,185,0.7,CSH,4.5 +CMT,1,1,961,2.3,CRD,12.0 +CMT,1,1,1090,2.5,CRD,13.0 +CMT,1,1,559,2.4,CRD,10.0 +CMT,1,1,1034,3.5,DIS,14.5 +CMT,1,2,3368,6.6,CSH,37.0 +CMT,1,1,190,0.7,CSH,4.5 +CMT,1,1,212,0.6,CSH,4.5 +CMT,1,2,181,0.6,CRD,4.5 +CMT,1,2,481,1.0,CSH,7.0 +CMT,1,2,735,1.4,CRD,9.0 +CMT,1,1,575,1.2,CRD,8.5 +CMT,1,1,298,0.5,CRD,5.0 +CMT,1,1,442,0.9,CSH,6.5 +CMT,1,2,1475,3.5,CRD,17.5 +CMT,1,1,474,0.6,CRD,6.5 +CMT,1,1,122,0.5,CRD,4.0 +CMT,1,3,787,1.9,CRD,10.5 +CMT,1,1,63,0.2,CSH,3.0 +CMT,1,2,766,1.2,CRD,9.0 +CMT,1,1,254,0.4,CRD,4.5 +CMT,1,1,486,0.8,CRD,6.5 +CMT,1,1,963,4.0,CRD,15.0 +CMT,1,1,763,2.0,CSH,10.5 +CMT,1,1,521,1.2,CSH,7.5 +CMT,1,1,625,1.1,CSH,8.5 +CMT,1,1,1473,7.8,CSH,26.0 +CMT,1,1,748,2.4,CRD,11.0 +CMT,1,3,626,1.5,CSH,9.0 +CMT,1,1,336,1.2,CRD,6.5 +CMT,1,2,1998,12.8,CRD,39.0 +CMT,1,1,957,2.4,CSH,12.5 +CMT,1,3,1011,1.7,CRD,12.0 +CMT,1,1,1734,10.9,CRD,33.0 +CMT,1,1,793,2.0,CRD,10.5 +CMT,1,2,414,1.8,CSH,8.0 +CMT,1,1,1281,4.7,CSH,19.0 +CMT,1,1,290,0.8,CRD,5.5 +CMT,1,1,1105,3.7,CRD,15.0 +CMT,1,2,1257,2.9,CSH,15.0 +CMT,1,1,922,1.9,CSH,11.5 +CMT,1,1,208,0.7,CRD,4.5 +CMT,1,1,559,1.6,CSH,8.5 +CMT,1,1,690,3.7,CRD,13.5 +CMT,1,1,336,1.0,CSH,6.0 +CMT,1,1,596,1.7,CSH,9.0 +CMT,1,1,425,1.1,CSH,7.0 +CMT,1,1,420,1.1,CRD,6.5 +CMT,1,1,624,2.3,CRD,10.0 +CMT,1,1,1000,1.8,CRD,12.0 +CMT,1,1,215,0.8,CRD,5.0 +CMT,1,3,495,1.7,CSH,8.0 +CMT,1,1,673,0.9,CRD,8.5 +CMT,1,3,219,0.6,CRD,4.5 +CMT,1,1,540,2.1,CSH,9.5 +CMT,1,1,517,1.1,CSH,7.5 +CMT,1,1,273,1.5,CRD,6.0 +CMT,1,1,817,2.8,CSH,12.0 +CMT,1,1,1259,8.7,CRD,25.5 +CMT,1,3,708,2.8,CSH,11.5 +CMT,1,1,159,0.7,CSH,4.5 +CMT,1,1,431,1.6,CSH,8.0 +CMT,1,1,1234,2.0,CRD,14.0 +CMT,1,1,1232,3.6,CRD,16.0 +CMT,1,2,411,1.6,CRD,7.5 +CMT,1,1,252,0.7,CSH,4.5 +CMT,1,1,910,3.4,CRD,13.0 +CMT,1,1,1589,3.3,CRD,17.5 +CMT,1,2,219,0.8,CSH,5.0 +CMT,1,1,359,0.6,CSH,5.5 +CMT,1,3,4007,14.4,CRD,55.5 +CMT,1,1,276,0.8,CSH,4.5 +CMT,1,2,1586,4.4,CSH,21.5 +CMT,1,1,1241,3.7,CRD,16.5 +CMT,1,1,110,0.3,CSH,3.5 +CMT,1,1,1655,6.9,CSH,25.0 +CMT,1,1,1033,3.3,CSH,14.0 +CMT,1,2,382,0.9,CRD,6.5 +CMT,1,3,892,8.3,CSH,24.0 +CMT,1,1,312,1.0,CRD,6.0 +CMT,1,3,267,1.0,CSH,5.5 +CMT,1,1,393,1.3,CRD,7.0 +CMT,1,1,430,1.3,CSH,7.5 +CMT,1,2,1069,4.6,CSH,17.0 +CMT,1,3,258,0.9,CRD,5.5 +CMT,1,2,1247,5.5,CRD,20.5 +CMT,1,1,1207,9.0,CRD,27.0 +CMT,1,1,184,0.7,CRD,4.5 +CMT,1,1,1675,6.2,CRD,23.0 +CMT,1,1,213,0.6,CSH,4.5 +CMT,1,1,643,1.9,CRD,9.5 +CMT,1,1,1506,6.9,CSH,23.5 +CMT,1,1,520,1.1,CSH,7.5 +CMT,1,1,813,1.7,CRD,10.0 +CMT,1,1,238,0.4,CRD,4.5 +CMT,1,1,220,0.7,CSH,4.5 +CMT,1,2,818,1.7,CRD,10.0 +CMT,1,1,257,0.7,CSH,5.0 +CMT,1,1,584,1.7,CRD,8.5 +CMT,1,1,210,0.7,CSH,4.5 +CMT,1,1,435,1.1,CSH,6.5 +CMT,1,1,866,2.8,CRD,12.5 +CMT,1,2,727,3.1,CRD,12.0 +CMT,1,1,2999,11.7,CRD,43.5 +CMT,1,1,616,2.5,CSH,11.0 +CMT,1,1,658,1.1,CRD,8.5 +CMT,1,1,384,1.3,CSH,7.0 +CMT,1,2,292,1.0,CSH,5.5 +CMT,1,1,256,0.3,CSH,4.5 +CMT,1,1,641,1.3,CSH,8.5 +CMT,1,1,971,2.8,CRD,13.0 +CMT,1,1,441,1.0,CSH,6.5 +CMT,1,1,1668,2.9,CSH,18.0 +CMT,1,1,291,0.8,CRD,5.0 +CMT,1,1,813,1.8,CRD,10.5 +CMT,1,1,650,1.2,CSH,8.5 +CMT,1,1,159,0.6,CSH,4.0 +CMT,1,2,613,1.4,CRD,8.5 +CMT,1,2,589,2.4,CSH,10.0 +CMT,1,2,649,1.2,CSH,9.0 +CMT,1,1,392,1.5,CSH,7.0 +CMT,1,1,219,0.3,CSH,4.5 +CMT,1,2,534,1.9,CSH,8.5 +CMT,1,1,254,0.6,CSH,5.0 +CMT,1,1,1790,5.5,CSH,23.0 +CMT,1,1,192,0.9,CSH,5.0 +CMT,1,1,1704,10.8,CSH,34.0 +CMT,1,1,583,2.1,CRD,9.5 +CMT,1,1,72,0.2,CRD,3.0 +CMT,1,1,412,1.3,CSH,6.5 +CMT,1,1,369,0.8,CRD,6.0 +CMT,1,1,864,1.8,CRD,11.0 +CMT,1,1,298,0.9,CSH,5.5 +CMT,1,2,785,3.2,CRD,13.0 +CMT,1,1,870,2.5,CRD,12.0 +CMT,1,3,1098,2.3,CSH,13.0 +CMT,1,1,271,0.8,CRD,5.5 +CMT,1,1,177,0.4,CSH,4.0 +CMT,1,2,160,0.5,CRD,4.0 +CMT,1,1,572,1.5,CRD,8.5 +CMT,1,1,217,1.0,CRD,5.0 +CMT,1,2,580,1.7,CRD,8.5 +CMT,1,2,509,2.1,CSH,9.0 +CMT,1,1,794,1.3,CSH,9.5 +CMT,1,2,192,0.3,CRD,4.0 +CMT,1,1,1315,3.4,CSH,16.0 +CMT,1,1,688,2.3,CSH,10.0 +CMT,1,3,552,0.7,CSH,7.0 +CMT,1,1,629,1.1,CSH,8.0 +CMT,1,1,883,2.1,CSH,11.0 +CMT,1,1,489,2.0,CRD,8.5 +CMT,1,1,805,0.9,CRD,9.5 +CMT,1,1,388,0.5,CSH,5.5 +CMT,1,1,312,1.0,CRD,6.0 +CMT,1,1,677,1.8,CSH,9.5 +CMT,1,1,1485,3.5,CRD,18.0 +CMT,1,1,709,1.5,CRD,9.0 +CMT,1,2,481,1.0,CSH,7.0 +CMT,1,1,544,1.1,CSH,7.5 +CMT,1,1,1143,2.9,CRD,14.0 +CMT,1,2,205,0.8,CSH,5.0 +CMT,1,1,154,0.6,CSH,4.0 +CMT,1,1,749,1.2,CSH,9.0 +CMT,1,1,382,1.0,CSH,6.0 +CMT,1,2,1755,2.0,CRD,17.5 +CMT,1,1,389,0.8,CRD,6.0 +CMT,1,2,2191,4.8,CSH,23.5 +CMT,1,3,701,1.2,CRD,9.0 +CMT,1,1,388,0.9,CSH,6.0 +CMT,1,1,182,0.5,CRD,4.0 +CMT,1,1,1585,10.7,CRD,33.0 +CMT,1,1,198,0.2,CSH,4.0 +CMT,1,1,377,1.3,CSH,6.5 +CMT,1,1,215,0.9,CSH,5.0 +CMT,1,1,509,1.1,CSH,7.5 +CMT,1,1,658,2.4,CRD,10.5 +CMT,1,1,252,0.2,CSH,4.5 +CMT,1,1,629,1.5,CSH,8.5 +CMT,1,1,379,0.6,CRD,5.5 +CMT,1,1,249,0.7,CRD,5.0 +CMT,1,1,617,3.5,CRD,12.5 +CMT,1,1,418,0.8,CRD,6.0 +CMT,1,2,400,1.6,CRD,7.5 +CMT,1,2,473,1.7,CRD,8.5 +CMT,1,1,214,1.2,CSH,5.5 +CMT,1,2,487,1.7,CSH,8.0 +CMT,1,2,370,0.9,CSH,6.0 +CMT,1,2,384,0.9,CRD,6.5 +CMT,1,2,478,1.5,CRD,8.0 +CMT,1,1,531,1.6,CRD,8.5 +CMT,1,1,784,2.0,CRD,11.0 +CMT,1,1,796,2.6,CRD,11.5 +CMT,1,1,711,1.5,CSH,9.5 +CMT,1,2,640,2.8,CRD,11.0 +CMT,1,1,169,0.5,CRD,4.0 +CMT,1,1,867,1.7,CRD,11.0 +CMT,1,1,507,1.4,DIS,7.5 +CMT,1,1,2270,5.1,CRD,26.0 +CMT,1,1,905,5.7,CSH,18.0 +CMT,1,2,670,2.3,CRD,10.5 +CMT,1,1,304,0.7,CSH,5.5 +CMT,1,1,412,1.9,CRD,8.0 +CMT,1,1,364,1.0,CSH,6.0 +CMT,1,3,568,1.5,CSH,8.5 +CMT,1,2,311,0.9,CRD,5.5 +CMT,1,1,558,2.0,CSH,9.5 +CMT,2,1,2273,16.7,CRD,52.0 +CMT,1,1,326,1.0,CRD,6.0 +CMT,1,1,402,1.4,DIS,7.0 +CMT,1,2,472,1.5,CSH,7.5 +CMT,1,1,443,0.7,CSH,6.5 +CMT,1,1,171,0.6,CSH,4.5 +CMT,1,3,211,0.6,CRD,5.0 +CMT,1,3,797,1.6,CRD,10.5 +CMT,1,2,455,0.6,CRD,6.5 +CMT,1,1,860,1.8,CRD,11.0 +CMT,1,1,303,0.8,CSH,5.5 +CMT,1,1,462,1.1,CSH,7.0 +CMT,1,1,280,0.7,CRD,5.0 +CMT,1,1,1010,3.0,CRD,13.5 +CMT,1,3,1131,2.5,CSH,13.5 +CMT,1,3,1341,4.2,CSH,18.0 +CMT,1,2,607,1.6,CRD,8.5 +CMT,1,1,919,0.8,CSH,10.0 +CMT,1,1,517,2.3,CRD,10.0 +CMT,1,1,338,1.3,CSH,6.5 +CMT,1,2,185,0.4,CSH,4.0 +CMT,1,2,203,0.6,CSH,4.5 +CMT,1,3,1188,4.7,CSH,18.0 +CMT,1,3,460,1.8,CSH,8.0 +CMT,1,2,505,1.8,CRD,8.5 +CMT,1,1,652,8.7,CRD,24.5 +CMT,1,1,624,3.3,CRD,12.0 +CMT,1,2,642,1.5,CRD,8.5 +CMT,1,2,1388,6.6,CRD,22.0 +CMT,1,1,937,2.8,CRD,13.0 +CMT,1,4,431,2.2,CRD,9.0 +CMT,1,4,1170,8.7,CSH,27.0 +CMT,1,3,561,2.2,CSH,10.0 +CMT,1,2,1033,0.9,CSH,11.0 +CMT,1,2,315,0.3,CSH,5.0 +CMT,1,2,464,0.4,CSH,6.5 +CMT,1,1,1274,2.6,CRD,14.5 +CMT,1,3,627,0.9,CSH,8.0 +CMT,1,1,678,1.7,CRD,9.0 +CMT,1,1,579,1.7,CRD,8.5 +CMT,1,2,327,0.9,CRD,6.0 +CMT,1,1,1652,9.2,CRD,28.5 +CMT,1,3,505,0.6,CSH,7.0 +CMT,1,1,1009,2.3,CSH,12.0 +CMT,1,4,934,1.2,CSH,11.0 +CMT,1,2,769,2.0,DIS,10.5 +CMT,1,1,397,0.7,CRD,6.0 +CMT,1,1,434,1.5,CSH,7.5 +CMT,1,1,659,1.1,CRD,8.5 +CMT,1,2,992,7.4,CRD,22.5 +CMT,1,1,1048,3.2,CRD,13.5 +CMT,1,1,450,0.7,CSH,6.0 +CMT,1,1,377,1.0,CRD,6.5 +CMT,1,1,811,1.3,CRD,9.5 +CMT,1,1,296,0.9,CRD,5.5 +CMT,1,1,392,1.0,CSH,6.5 +CMT,1,1,638,1.1,CRD,8.5 +CMT,1,1,455,2.2,CRD,8.5 +CMT,1,1,82,0.5,CRD,3.5 +CMT,1,1,590,2.5,CSH,10.0 +CMT,1,4,538,1.0,CSH,7.5 +CMT,1,4,227,0.7,CSH,5.0 +CMT,1,1,1391,3.5,CSH,17.0 +CMT,1,1,503,1.4,DIS,7.5 +CMT,1,1,1109,2.2,CSH,13.0 +CMT,1,2,1523,2.4,CSH,16.5 +CMT,1,1,129,0.3,CSH,3.5 +CMT,1,1,589,1.7,CRD,9.0 +CMT,1,1,211,0.8,CSH,5.0 +CMT,1,1,2244,10.2,CRD,34.5 +CMT,1,1,451,1.0,CSH,7.0 +CMT,1,1,495,2.0,CRD,9.0 +CMT,1,2,475,1.5,CSH,8.0 +CMT,1,2,308,0.7,CSH,5.5 +CMT,1,1,296,0.6,CRD,5.0 +CMT,1,1,633,1.4,CRD,8.5 +CMT,1,1,202,0.7,CSH,4.5 +CMT,1,1,2266,10.8,CRD,35.5 +CMT,1,1,632,1.2,CSH,8.5 +CMT,1,2,1521,2.9,CRD,17.5 +CMT,1,1,291,1.0,CSH,5.5 +CMT,1,2,426,0.8,CRD,6.5 +CMT,1,1,1092,2.4,CRD,13.5 +CMT,1,2,666,2.3,CRD,10.0 +CMT,1,1,180,1.3,CRD,5.5 +CMT,1,2,805,4.0,CSH,14.0 +CMT,1,1,973,1.2,CSH,6.0 +CMT,1,1,578,1.9,CRD,9.0 +CMT,1,2,455,0.4,CRD,6.5 +CMT,1,2,435,1.7,CRD,8.0 +CMT,1,1,172,0.7,CSH,4.0 +CMT,1,1,748,2.3,CSH,10.5 +CMT,1,2,783,2.0,CSH,10.5 +CMT,1,1,793,2.9,CRD,11.5 +CMT,1,1,252,0.5,CRD,4.5 +CMT,1,1,702,1.8,DIS,10.0 +CMT,1,1,226,0.8,CSH,5.5 +CMT,1,1,1064,2.7,CSH,14.0 +CMT,1,2,402,0.8,CSH,6.5 +CMT,1,1,592,0.5,CRD,7.0 +CMT,1,2,783,1.9,CRD,10.0 +CMT,1,1,681,2.1,CRD,10.0 +CMT,1,2,560,1.7,CSH,9.0 +CMT,1,1,255,0.6,CRD,5.0 +CMT,1,2,2053,9.2,CSH,31.0 +CMT,1,1,1919,5.0,CSH,22.5 +CMT,1,2,849,1.5,CRD,10.5 +CMT,1,1,536,1.1,CSH,8.0 +CMT,1,1,935,0.6,CSH,10.0 +CMT,1,1,544,1.3,CSH,8.0 +CMT,1,1,223,0.5,CRD,4.5 +CMT,1,1,329,1.0,CSH,6.0 +CMT,1,1,1787,13.0,CSH,37.0 +CMT,1,2,412,0.8,CSH,6.0 +CMT,1,1,663,0.6,CRD,8.0 +CMT,1,1,385,0.8,CRD,6.5 +CMT,1,1,157,0.8,CRD,4.5 +CMT,1,1,222,0.6,CSH,4.5 +CMT,1,2,1769,5.9,CSH,24.0 +CMT,1,1,913,2.0,CSH,11.0 +CMT,1,1,881,2.3,CSH,11.5 +CMT,1,2,840,1.3,CSH,10.0 +CMT,1,1,1318,3.3,CRD,15.5 +CMT,1,1,824,1.3,CSH,10.0 +CMT,1,1,866,2.2,CRD,11.0 +CMT,1,1,266,1.0,CRD,5.5 +CMT,1,1,758,2.5,CSH,11.0 +CMT,1,1,238,0.4,CSH,4.5 +CMT,1,2,364,1.4,CRD,7.0 +CMT,1,1,1142,1.6,CSH,13.0 +CMT,1,1,1303,3.3,CRD,16.5 +CMT,1,1,1359,6.7,CRD,23.5 +CMT,1,3,194,0.5,CSH,4.5 +CMT,1,1,526,1.9,CSH,8.5 +CMT,1,1,280,0.7,CSH,5.0 +CMT,1,1,255,0.7,CRD,5.0 +CMT,1,1,655,2.5,DIS,10.5 +CMT,1,1,2047,2.6,NOC,2.5 +CMT,1,4,747,2.8,CSH,11.5 +CMT,1,1,573,2.6,CSH,11.0 +CMT,1,4,314,0.8,CSH,5.5 +CMT,1,2,486,1.0,CRD,7.0 +CMT,1,1,900,1.4,CRD,10.5 +CMT,1,1,1369,6.0,CRD,21.5 +CMT,1,1,516,2.0,CRD,9.0 +CMT,1,1,316,1.5,CRD,6.5 +CMT,1,1,407,1.2,CSH,7.0 +CMT,1,1,164,0.7,CRD,4.5 +CMT,1,2,191,0.8,CSH,5.0 +CMT,1,1,271,0.6,CSH,5.0 +CMT,1,1,761,2.9,CRD,11.5 +CMT,1,2,223,0.4,CSH,4.5 +CMT,1,2,1090,3.6,CSH,15.0 +CMT,1,1,733,3.9,CRD,14.0 +CMT,1,1,618,1.3,CSH,8.5 +CMT,1,1,162,0.2,CSH,3.5 +CMT,1,2,436,1.4,CSH,7.0 +CMT,1,2,437,0.5,CRD,6.0 +CMT,1,4,442,1.0,CRD,7.0 +CMT,1,2,1170,5.8,CRD,19.0 +CMT,1,2,356,0.8,CRD,6.0 +CMT,1,1,375,0.7,CRD,6.0 +CMT,1,1,664,0.8,CSH,8.0 +CMT,1,4,565,1.3,CSH,8.0 +CMT,1,1,632,2.3,CSH,10.0 +CMT,1,1,513,2.6,CRD,10.0 +CMT,1,1,460,1.0,DIS,7.0 +CMT,1,1,304,0.8,CRD,5.5 +CMT,1,1,94,0.5,CSH,3.5 +CMT,1,1,524,1.2,CRD,8.0 +CMT,1,1,548,1.6,CRD,8.5 +CMT,1,2,137,0.5,CRD,4.0 +CMT,1,2,448,2.5,CSH,9.0 +CMT,1,3,706,2.7,CSH,10.5 +CMT,1,1,235,1.0,CRD,5.0 +CMT,1,1,1066,6.0,CRD,19.5 +CMT,1,2,375,1.3,CSH,6.5 +CMT,1,2,1561,8.1,CRD,27.5 +CMT,1,1,833,2.4,CRD,11.5 +CMT,1,2,461,0.9,CSH,7.0 +CMT,1,2,441,1.6,CRD,7.5 +CMT,1,3,547,1.4,CSH,8.0 +CMT,1,1,793,4.0,CSH,14.5 +CMT,1,4,414,1.4,CSH,7.5 +CMT,1,1,477,3.3,CRD,11.0 +CMT,1,1,313,0.7,CSH,5.5 +CMT,1,1,722,2.2,CRD,10.0 +CMT,1,1,869,3.8,CRD,14.0 +CMT,1,2,460,1.7,CRD,8.0 +CMT,1,1,304,0.8,CRD,5.5 +CMT,1,1,406,1.5,CSH,7.5 +CMT,1,2,267,0.9,CRD,5.5 +CMT,1,2,939,2.9,CRD,13.5 +CMT,1,2,345,0.5,CSH,5.5 +CMT,1,3,626,1.3,CSH,8.0 +CMT,1,2,1140,3.4,CSH,15.5 +CMT,1,2,952,3.1,CRD,13.0 +CMT,1,2,997,4.2,CSH,15.5 +CMT,1,2,395,1.9,CSH,8.0 +CMT,1,2,689,3.1,CSH,11.5 +CMT,1,1,421,0.7,CRD,6.5 +CMT,1,2,447,1.9,CSH,8.0 +CMT,1,1,784,2.2,CSH,11.5 +CMT,1,1,1085,4.9,CRD,17.0 +CMT,1,2,550,2.1,CSH,9.5 +CMT,1,1,286,0.6,CRD,5.0 +CMT,1,1,102,0.4,CSH,3.5 +CMT,1,1,1598,11.4,CRD,33.5 +CMT,1,1,907,2.6,CSH,12.5 +CMT,1,1,659,2.4,CRD,10.5 +CMT,1,2,924,3.9,CRD,14.5 +CMT,1,1,928,3.4,CRD,14.0 +CMT,1,1,409,1.5,CSH,7.0 +CMT,1,2,969,5.5,CSH,19.5 +CMT,1,1,1430,11.5,CRD,34.0 +CMT,1,3,441,0.9,CSH,6.5 +CMT,1,1,821,4.4,CRD,15.5 +CMT,1,1,508,1.9,CRD,8.5 +CMT,1,1,1158,2.2,CRD,13.5 +CMT,1,1,572,1.3,CRD,8.5 +CMT,1,1,261,0.7,CSH,5.0 +CMT,1,1,308,1.0,CSH,6.0 +CMT,1,3,495,1.5,CRD,7.5 +CMT,1,1,461,1.4,CRD,7.5 +CMT,1,1,1910,5.6,CRD,23.5 +CMT,1,1,948,3.3,CRD,13.5 +CMT,1,2,479,1.0,CRD,7.0 +CMT,1,1,500,1.1,CSH,7.5 +CMT,1,2,730,2.1,CSH,10.5 +CMT,1,1,1415,2.6,CRD,16.5 +CMT,1,1,225,0.7,CSH,4.5 +CMT,1,1,1485,11.4,CRD,33.0 +CMT,1,2,273,0.5,CSH,5.0 +CMT,1,1,630,1.9,CSH,9.0 +CMT,1,1,1194,3.8,CRD,16.5 +CMT,1,3,186,0.6,CSH,4.5 +CMT,1,1,1158,3.0,CSH,14.0 +CMT,1,1,2160,6.3,CSH,26.0 +CMT,1,1,907,2.8,CRD,12.0 +CMT,1,1,934,4.0,CRD,15.0 +CMT,1,1,338,0.6,CSH,5.5 +CMT,1,3,192,0.5,CSH,4.5 +CMT,1,1,317,0.4,CRD,5.0 +CMT,1,1,1240,1.7,CRD,13.5 +CMT,1,1,249,0.6,CSH,5.0 +CMT,1,2,558,0.8,CSH,7.0 +CMT,1,1,4768,16.9,CRD,62.5 +CMT,1,1,379,1.2,CRD,7.0 +CMT,1,1,371,0.8,CRD,6.0 +CMT,1,2,315,1.3,CRD,6.5 +CMT,1,2,666,1.9,CSH,9.5 +CMT,1,3,318,0.8,CSH,5.5 +CMT,2,2,3002,17.3,CRD,52.0 +CMT,1,1,930,3.5,CRD,14.0 +CMT,1,1,326,0.9,CSH,5.5 +CMT,1,2,894,3.0,CRD,12.5 +CMT,5,1,746,4.1,CRD,50.0 +CMT,1,1,822,1.6,CRD,10.5 +CMT,1,1,500,1.4,CSH,7.5 +CMT,1,1,226,0.6,CRD,4.5 +CMT,1,2,530,2.5,CRD,10.0 +CMT,1,1,1004,2.9,CRD,13.5 +CMT,1,2,275,0.8,CSH,5.5 +CMT,1,2,764,2.5,CSH,11.0 +CMT,1,4,2132,11.5,CSH,38.0 +CMT,1,1,627,3.7,CRD,12.5 +CMT,1,2,387,0.9,CSH,6.5 +CMT,1,1,978,2.3,CRD,12.0 +CMT,1,2,1493,11.3,CSH,33.5 +CMT,1,1,199,1.0,CRD,5.0 +CMT,1,1,200,0.8,CRD,5.0 +CMT,1,1,371,0.8,CSH,6.0 +CMT,1,1,438,1.8,CRD,8.0 +CMT,1,1,723,1.4,CSH,9.5 +CMT,1,1,514,2.0,CSH,8.5 +CMT,1,2,1873,3.4,CSH,20.0 +CMT,1,1,943,1.9,CSH,11.5 +CMT,1,2,996,4.3,CSH,16.0 +CMT,1,4,587,1.3,CSH,8.0 +CMT,1,1,601,1.5,CRD,9.0 +CMT,1,4,283,0.9,CSH,5.5 +CMT,1,1,280,1.1,CRD,6.0 +CMT,1,2,564,2.3,CSH,9.5 +CMT,1,1,465,1.2,CRD,7.5 +CMT,1,1,611,1.6,CSH,9.0 +CMT,1,1,769,4.0,CRD,14.0 +CMT,1,1,587,1.4,CRD,8.0 +CMT,1,2,388,0.6,CRD,5.5 +CMT,1,4,762,1.7,CSH,10.0 +CMT,1,1,198,0.6,CSH,4.5 +CMT,1,1,770,2.7,CSH,11.5 +CMT,1,1,430,1.1,CRD,7.0 +CMT,1,1,1040,7.2,CSH,21.0 +CMT,1,1,729,4.3,CRD,14.0 +CMT,1,1,1005,4.0,CSH,15.0 +CMT,1,1,616,1.6,CRD,8.5 +CMT,1,1,786,1.0,CRD,9.5 +CMT,1,2,884,2.0,CRD,11.0 +CMT,1,1,494,0.8,CRD,6.5 +CMT,1,1,618,1.1,CRD,8.0 +CMT,1,1,506,0.7,CRD,7.0 +CMT,1,1,474,1.2,CSH,7.0 +CMT,1,1,389,0.6,CRD,5.5 +CMT,1,2,2025,3.9,CSH,22.0 +CMT,1,4,129,0.6,CSH,4.0 +CMT,1,1,1417,2.6,CSH,10.0 +CMT,1,2,790,3.7,CRD,14.5 +CMT,1,2,567,2.7,CSH,10.5 +CMT,1,1,723,3.6,CRD,13.0 +CMT,1,1,125,0.2,CSH,3.5 +CMT,1,4,433,1.1,CSH,6.5 +CMT,1,4,363,0.4,CRD,5.5 +CMT,1,1,520,1.9,CRD,9.0 +CMT,1,1,1079,5.2,CRD,18.0 +CMT,1,2,93,0.4,CSH,3.5 +CMT,1,1,295,1.6,CRD,7.0 +CMT,1,2,757,2.7,CRD,12.0 +CMT,1,1,799,5.8,CRD,18.0 +CMT,1,2,506,1.5,CRD,8.0 +CMT,1,1,282,0.8,CRD,5.5 +CMT,1,1,324,1.0,CSH,6.0 +CMT,1,1,390,1.5,CRD,7.0 +CMT,1,4,522,1.7,CSH,8.5 +CMT,1,1,1123,7.9,CRD,25.5 +CMT,1,1,333,0.8,CSH,5.5 +CMT,1,1,628,2.4,CRD,10.0 +CMT,1,2,467,1.8,CRD,8.5 +CMT,1,4,270,1.1,CRD,5.5 +CMT,1,4,258,0.5,CSH,5.0 +CMT,1,1,152,0.6,CRD,4.5 +CMT,1,2,602,1.8,CSH,9.0 +CMT,1,1,664,1.9,CRD,9.5 +CMT,1,1,776,2.9,CRD,11.5 +CMT,1,2,407,0.9,CRD,6.5 +CMT,1,1,536,1.1,CRD,7.5 +CMT,1,2,259,0.3,CSH,4.5 +CMT,1,1,898,2.1,CRD,11.5 +CMT,1,1,418,1.5,CRD,7.0 +CMT,5,1,759,4.9,CRD,60.0 +CMT,1,1,298,1.6,CRD,7.0 +CMT,1,1,316,2.1,CSH,7.5 +CMT,1,4,309,0.6,CSH,5.0 +CMT,1,2,1319,3.7,CRD,17.5 +CMT,1,2,687,1.7,CRD,9.5 +CMT,1,4,519,1.7,CSH,8.5 +CMT,1,3,588,1.2,CSH,8.0 +CMT,1,1,269,0.9,CRD,5.5 +CMT,1,2,641,2.8,CRD,11.0 +CMT,1,2,1040,3.7,CRD,16.0 +CMT,1,2,569,1.9,CRD,9.0 +CMT,2,1,2251,19.4,CSH,52.0 +CMT,1,2,1134,3.9,CSH,16.0 +CMT,1,1,157,0.5,CSH,4.0 +CMT,1,2,754,1.2,CSH,9.5 +CMT,1,2,476,1.4,CRD,7.5 +CMT,1,2,514,1.5,CRD,8.5 +CMT,1,2,585,2.8,CRD,10.5 +CMT,1,1,153,0.8,CRD,4.5 +CMT,1,1,568,1.6,CRD,8.5 +CMT,1,1,797,1.6,CRD,10.5 +CMT,1,2,286,0.5,CRD,5.0 +CMT,5,1,1363,12.4,CRD,60.0 +CMT,1,2,293,0.8,CRD,5.5 +CMT,1,3,425,1.4,CSH,7.5 +CMT,1,1,177,0.3,CRD,4.0 +CMT,1,1,442,1.1,CRD,7.0 +CMT,1,1,335,1.1,CRD,6.0 +CMT,1,1,826,2.2,CRD,11.5 +CMT,1,1,807,2.9,CSH,12.0 +CMT,1,1,453,1.5,CSH,7.5 +CMT,1,1,550,2.2,CSH,9.5 +CMT,1,1,502,1.4,CRD,8.0 +CMT,1,1,729,3.1,CRD,12.0 +CMT,1,2,281,0.9,CSH,5.5 +CMT,1,1,253,0.9,CSH,5.5 +CMT,1,2,371,0.7,CRD,6.0 +CMT,1,1,664,0.9,CSH,8.5 +CMT,1,2,140,0.2,CSH,3.0 +CMT,1,1,469,1.1,CSH,6.5 +CMT,1,1,1418,12.4,CRD,35.5 +CMT,1,2,594,1.3,CRD,8.5 +CMT,1,2,403,1.3,CRD,7.0 +CMT,1,2,489,1.4,CRD,7.5 +CMT,1,1,376,0.8,CRD,6.0 +CMT,1,1,357,1.6,CRD,7.0 +CMT,1,3,310,0.7,CRD,5.5 +CMT,1,1,287,1.0,CSH,5.5 +CMT,1,1,783,3.3,CRD,13.5 +CMT,1,2,448,1.8,CRD,8.0 +CMT,1,2,204,0.7,CRD,4.5 +CMT,1,1,430,1.2,CRD,7.0 +CMT,1,1,830,1.8,CRD,10.5 +CMT,1,1,695,1.4,CSH,9.0 +CMT,1,3,325,0.7,CSH,5.5 +CMT,1,2,355,1.2,CSH,6.5 +CMT,1,2,475,0.7,CSH,7.0 +CMT,1,2,1506,3.6,CRD,18.0 +CMT,1,2,654,2.8,CSH,11.0 +CMT,1,3,473,1.6,CRD,8.0 +CMT,1,2,916,3.4,CRD,14.0 +CMT,1,2,1064,3.7,CSH,15.0 +CMT,1,3,1278,5.1,CSH,19.0 +CMT,1,2,927,7.9,CSH,23.5 +CMT,1,1,1197,4.4,CRD,18.5 +CMT,1,1,99,0.3,CRD,3.5 +CMT,1,1,148,0.6,CRD,4.0 +CMT,1,4,570,1.4,CSH,8.5 +CMT,1,2,468,0.5,CRD,6.5 +CMT,1,1,544,2.1,CSH,9.0 +CMT,1,2,118,0.4,CSH,3.5 +CMT,1,1,418,1.6,CSH,7.5 +CMT,1,2,430,1.3,CSH,7.0 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,4,420,1.0,CSH,6.5 +CMT,1,3,697,2.4,CSH,11.0 +CMT,1,1,309,0.9,CSH,6.0 +CMT,1,1,843,3.6,CRD,14.5 +CMT,1,1,573,1.9,CSH,9.0 +CMT,1,1,803,3.2,CRD,12.5 +CMT,1,3,171,0.4,CRD,4.0 +CMT,1,1,527,1.4,CRD,8.0 +CMT,1,2,925,4.0,CRD,14.5 +CMT,1,1,592,2.6,CSH,10.5 +CMT,1,2,776,4.1,CRD,15.0 +CMT,1,1,687,1.4,CRD,9.0 +CMT,1,1,846,1.9,CSH,11.0 +CMT,1,2,560,1.9,CSH,9.0 +CMT,1,1,730,2.8,CRD,11.5 +CMT,1,2,903,2.8,CSH,12.5 +CMT,1,1,778,3.5,CSH,13.5 +CMT,1,1,910,4.1,CRD,15.5 +CMT,1,2,996,6.9,CRD,22.0 +CMT,1,1,820,4.4,CRD,15.5 +CMT,1,1,1287,11.1,CRD,32.0 +CMT,1,1,339,1.1,CRD,6.0 +CMT,1,1,711,0.6,CSH,8.5 +CMT,1,1,327,0.9,CSH,5.5 +CMT,1,1,842,4.6,CRD,15.5 +CMT,1,1,531,1.3,CSH,8.0 +CMT,1,2,597,2.6,CSH,10.5 +CMT,1,2,345,1.1,CRD,6.0 +CMT,1,1,239,1.1,CRD,5.5 +CMT,1,3,678,5.2,CRD,16.5 +CMT,1,2,1856,10.8,CRD,34.5 +CMT,1,1,636,2.4,CSH,10.0 +CMT,1,2,604,2.0,CSH,9.0 +CMT,1,3,479,1.2,CRD,7.5 +CMT,1,1,626,2.5,CRD,10.5 +CMT,1,1,537,1.8,CRD,8.5 +CMT,1,1,480,0.9,CRD,7.0 +CMT,1,2,1432,6.8,CSH,22.5 +CMT,1,2,518,2.4,CRD,10.0 +CMT,1,1,762,1.7,CRD,10.0 +CMT,1,1,351,0.9,CRD,6.0 +CMT,1,3,687,1.9,CRD,9.5 +CMT,1,1,544,2.4,CRD,10.0 +CMT,1,4,1271,2.8,CSH,15.0 +CMT,1,3,695,2.9,CRD,11.5 +CMT,1,1,711,0.7,CSH,8.5 +CMT,1,1,910,2.8,CRD,12.5 +CMT,1,1,1283,9.6,CRD,28.5 +CMT,1,1,1217,4.9,CRD,17.5 +CMT,1,1,220,0.6,CRD,4.5 +CMT,1,1,402,1.1,CRD,7.0 +CMT,1,1,469,1.5,CRD,7.5 +CMT,1,1,546,1.7,CRD,9.0 +CMT,1,1,621,2.6,CRD,10.5 +CMT,1,1,276,0.7,CRD,5.0 +CMT,1,1,413,1.1,CRD,6.5 +CMT,1,1,463,1.2,CSH,7.0 +CMT,1,2,753,4.2,CSH,14.5 +CMT,1,1,1498,5.3,CRD,21.5 +CMT,1,1,397,1.2,CSH,7.0 +CMT,1,1,457,0.5,CRD,6.5 +CMT,1,2,1145,3.8,CRD,16.5 +CMT,1,1,1087,4.1,CRD,16.5 +CMT,1,4,485,1.6,CSH,8.0 +CMT,1,2,646,2.2,CRD,10.0 +CMT,1,2,708,1.7,CRD,10.0 +CMT,1,1,545,1.9,CSH,8.5 +CMT,1,2,916,4.2,CSH,15.0 +CMT,1,1,451,0.8,CSH,6.5 +CMT,1,1,577,1.6,CSH,8.5 +CMT,1,1,1126,8.2,CSH,25.5 +CMT,1,1,609,2.6,CSH,10.5 +CMT,1,1,527,1.1,CSH,8.0 +CMT,1,1,175,0.3,CRD,4.0 +CMT,1,2,952,4.1,CRD,16.0 +CMT,1,3,560,2.4,CSH,10.0 +CMT,1,2,1189,1.9,CSH,13.5 +CMT,1,2,926,2.3,CRD,12.0 +CMT,1,3,507,1.8,CSH,8.5 +CMT,1,1,354,1.2,CSH,6.5 +CMT,1,2,763,2.9,CRD,12.0 +CMT,1,1,341,1.6,CSH,7.0 +CMT,1,1,394,1.3,CRD,6.5 +CMT,1,1,240,0.8,CSH,5.5 +CMT,1,1,2226,9.7,CSH,33.0 +CMT,1,1,187,0.8,CRD,4.5 +CMT,1,1,227,1.3,CRD,6.0 +CMT,1,1,138,2.4,CRD,9.5 +CMT,1,3,1345,6.0,CSH,21.0 +CMT,1,2,546,1.6,CRD,8.5 +CMT,1,1,229,0.9,CRD,5.0 +CMT,1,1,330,0.8,CRD,5.5 +CMT,1,1,419,1.0,CRD,6.5 +CMT,1,2,1506,5.3,CSH,21.0 +CMT,1,1,693,2.0,CRD,10.0 +CMT,1,1,546,1.1,CSH,7.5 +CMT,1,2,642,1.7,CRD,9.0 +CMT,1,1,1665,14.2,CRD,41.5 +CMT,1,2,457,2.0,CRD,8.5 +CMT,1,2,1090,1.7,CSH,12.5 +CMT,1,1,377,1.4,CSH,7.0 +CMT,1,1,444,1.7,CRD,7.5 +CMT,1,1,527,1.0,CRD,7.5 +CMT,1,2,272,1.0,CSH,5.5 +CMT,1,1,1456,3.7,CRD,18.5 +CMT,1,1,184,0.4,CRD,4.0 +CMT,1,1,352,0.7,CSH,5.5 +CMT,1,1,688,3.0,CRD,11.0 +CMT,1,1,1270,6.3,CRD,21.5 +CMT,1,1,308,1.6,CRD,7.0 +CMT,1,2,334,1.1,CSH,6.0 +CMT,1,2,470,1.5,CSH,8.0 +CMT,1,1,569,1.9,CSH,9.0 +CMT,1,1,937,1.2,CSH,11.0 +CMT,1,1,656,1.7,CRD,9.0 +CMT,1,2,573,1.8,CRD,9.0 +CMT,1,2,804,2.7,CSH,12.0 +CMT,1,2,1106,3.5,CSH,15.0 +CMT,1,2,777,2.1,CRD,11.0 +CMT,1,2,439,1.7,CRD,7.5 +CMT,1,2,603,1.3,CRD,8.5 +CMT,1,2,150,0.3,CSH,4.0 +CMT,1,1,485,1.3,CRD,7.5 +CMT,1,1,250,1.4,CSH,6.0 +CMT,1,1,515,1.7,CRD,8.5 +CMT,1,1,250,0.6,CRD,5.0 +CMT,1,1,564,1.5,CSH,8.0 +CMT,1,2,1116,5.8,CRD,20.5 +CMT,1,1,930,3.5,CRD,13.5 +CMT,1,1,214,0.8,CSH,5.0 +CMT,1,2,500,1.3,CSH,8.0 +CMT,1,1,977,3.8,CRD,14.5 +CMT,1,1,201,0.8,CRD,5.0 +CMT,1,3,398,0.8,CSH,6.0 +CMT,1,2,226,0.7,CRD,4.5 +CMT,1,1,689,3.3,CRD,12.5 +CMT,1,1,294,0.7,CRD,5.5 +CMT,1,1,1107,4.1,CRD,17.5 +CMT,1,4,181,0.6,CRD,4.5 +CMT,1,1,680,2.2,CRD,10.0 +CMT,1,1,1116,3.9,CRD,15.5 +CMT,1,4,362,1.4,CSH,6.5 +CMT,1,2,1534,5.9,CRD,22.0 +CMT,1,1,848,3.5,CRD,14.0 +CMT,1,1,435,1.5,CRD,7.5 +CMT,1,2,204,0.6,CRD,4.5 +CMT,1,2,198,0.7,CRD,4.5 +CMT,1,1,860,3.4,CSH,13.0 +CMT,1,1,1524,13.0,CRD,37.5 +CMT,2,1,1220,16.8,CSH,52.0 +CMT,1,4,730,1.9,CRD,10.0 +CMT,1,1,749,2.0,CRD,11.0 +CMT,1,1,524,1.9,CRD,8.5 +CMT,1,2,365,1.5,CSH,7.5 +CMT,1,1,360,0.7,CRD,5.5 +CMT,1,2,455,0.9,CRD,7.0 +CMT,1,1,410,1.8,CRD,8.0 +CMT,1,2,864,3.8,CSH,14.5 +CMT,1,1,987,3.5,CRD,14.5 +CMT,1,1,554,2.5,CRD,10.0 +CMT,1,1,874,2.4,CSH,11.0 +CMT,1,1,592,1.8,CSH,8.5 +CMT,1,2,279,0.7,CSH,5.0 +CMT,1,1,1260,4.4,CRD,18.0 +CMT,1,1,337,0.9,CRD,5.5 +CMT,1,1,664,0.8,CRD,8.0 +CMT,1,2,187,0.4,CRD,4.0 +CMT,1,2,328,0.7,CRD,5.5 +CMT,1,1,326,1.1,CSH,6.0 +CMT,1,1,232,0.9,CRD,5.0 +CMT,1,1,1097,4.0,CSH,15.5 +CMT,1,1,508,1.2,CSH,7.5 +CMT,1,1,202,0.8,CRD,5.0 +CMT,1,1,255,0.9,CSH,5.5 +CMT,1,2,351,1.4,CSH,7.0 +CMT,1,1,255,0.6,CRD,5.0 +CMT,1,2,230,1.1,CSH,5.5 +CMT,1,2,582,1.9,CRD,9.0 +CMT,1,2,621,2.6,CSH,10.5 +CMT,1,2,473,1.5,CSH,7.5 +CMT,1,1,449,1.2,CSH,7.0 +CMT,1,1,697,2.8,CRD,12.0 +CMT,1,2,237,0.6,CRD,5.0 +CMT,1,1,1615,10.4,CSH,31.0 +CMT,1,2,937,6.9,CRD,21.5 +CMT,1,1,385,0.9,CRD,6.0 +CMT,1,1,701,2.9,CRD,11.5 +CMT,1,1,200,0.6,CSH,4.5 +CMT,1,1,292,0.8,CSH,5.5 +CMT,1,1,650,1.8,CRD,9.5 +CMT,1,2,489,1.4,CSH,8.0 +CMT,2,2,2036,16.5,CSH,52.0 +CMT,1,1,681,2.9,CSH,11.0 +CMT,1,1,559,2.1,CSH,9.0 +CMT,1,1,990,4.1,CSH,16.0 +CMT,1,1,867,2.3,CSH,12.0 +CMT,1,1,694,1.0,CRD,8.5 +CMT,1,1,822,7.0,CSH,21.0 +CMT,1,2,505,2.2,CSH,9.5 +CMT,1,1,289,0.8,CRD,5.0 +CMT,1,1,318,1.6,CSH,6.5 +CMT,1,1,592,1.1,CRD,7.5 +CMT,1,1,1629,6.2,CSH,23.5 +CMT,1,1,701,4.7,CSH,15.0 +CMT,1,1,256,0.9,CSH,5.5 +CMT,1,1,684,1.7,CRD,10.0 +CMT,1,1,320,1.5,CSH,6.5 +CMT,4,1,273,0.4,CSH,5.0 +CMT,1,1,825,2.8,CSH,12.0 +CMT,1,1,115,0.4,CSH,3.5 +CMT,1,1,569,1.9,CRD,9.0 +CMT,1,1,406,0.9,CRD,6.5 +CMT,1,1,358,1.2,CSH,7.0 +CMT,1,1,353,1.0,CSH,6.0 +CMT,1,1,688,4.8,CRD,15.5 +CMT,1,1,342,2.4,CSH,8.5 +CMT,1,1,979,5.7,CSH,18.5 +CMT,1,1,491,1.9,CRD,8.5 +CMT,1,1,339,1.5,CRD,7.0 +CMT,1,1,270,1.0,CSH,6.0 +CMT,1,1,112,0.7,CRD,4.0 +CMT,1,2,1281,4.2,CRD,17.0 +CMT,1,2,525,1.6,CSH,7.5 +CMT,1,1,473,1.4,CSH,7.5 +CMT,1,2,411,1.2,CRD,6.5 +CMT,1,1,579,1.7,CRD,9.0 +CMT,1,2,454,1.4,CSH,7.0 +CMT,1,1,664,1.6,CRD,9.0 +CMT,1,1,1272,5.6,CRD,20.5 +CMT,1,2,617,2.4,CRD,10.0 +CMT,1,2,346,1.1,CSH,6.0 +CMT,1,1,418,1.0,CSH,6.5 +CMT,1,1,793,2.5,CSH,11.0 +CMT,1,1,357,0.9,CRD,6.0 +CMT,1,1,469,1.1,CRD,7.0 +CMT,1,2,554,1.9,CSH,8.5 +CMT,1,2,466,0.9,CRD,7.0 +CMT,1,1,32,0.0,NOC,2.5 +CMT,1,2,1293,9.4,CRD,29.5 +CMT,1,1,383,1.9,CRD,8.0 +CMT,1,1,803,3.7,CSH,13.5 +CMT,1,1,616,3.4,CSH,13.0 +CMT,1,1,817,4.1,CSH,15.0 +CMT,1,1,760,1.6,CSH,10.0 +CMT,1,1,1253,5.4,CRD,19.0 +CMT,1,3,581,4.5,CSH,14.5 +CMT,1,2,704,1.5,CRD,9.5 +CMT,1,1,558,1.1,CRD,8.0 +CMT,1,2,813,2.8,CRD,12.0 +CMT,1,2,982,4.9,CSH,18.0 +CMT,1,4,149,0.3,CSH,4.0 +CMT,5,2,5370,6.2,CRD,110.0 +CMT,1,1,947,4.2,CSH,15.0 +CMT,1,1,1596,11.2,CSH,33.5 +CMT,1,1,681,0.9,CRD,8.5 +CMT,1,2,335,0.5,CSH,5.5 +CMT,1,3,199,0.7,CSH,4.5 +CMT,1,2,490,1.3,CRD,8.0 +CMT,1,1,351,0.8,CSH,6.0 +CMT,1,1,1398,4.8,CRD,18.5 +CMT,1,1,686,1.8,CRD,9.5 +CMT,1,1,288,0.7,CSH,5.0 +CMT,1,1,301,1.2,CRD,6.0 +CMT,1,2,253,0.7,CSH,5.0 +CMT,1,1,706,2.8,CRD,11.0 +CMT,1,1,516,1.9,CSH,8.5 +CMT,1,1,919,2.7,CRD,12.0 +CMT,1,2,209,0.8,CRD,4.5 +CMT,1,1,792,1.7,CRD,10.5 +CMT,1,2,686,2.4,CRD,10.5 +CMT,1,2,534,1.3,CSH,7.5 +CMT,1,2,1378,3.9,CSH,17.0 +CMT,1,1,543,0.9,CRD,7.5 +CMT,1,1,633,3.9,CSH,13.0 +CMT,1,1,717,3.3,CRD,13.0 +CMT,1,1,403,2.6,CRD,9.5 +CMT,1,3,478,1.0,CRD,7.0 +CMT,1,1,319,1.3,CRD,6.0 +CMT,1,1,345,1.5,CSH,7.0 +CMT,1,1,699,2.3,CSH,10.5 +CMT,1,2,310,0.9,CSH,5.5 +CMT,1,2,1112,2.7,CRD,13.5 +CMT,1,1,1333,6.5,CRD,22.5 +CMT,1,1,1064,5.1,CRD,17.5 +CMT,1,2,450,1.3,CRD,7.0 +CMT,1,2,1879,16.8,CSH,48.0 +CMT,1,2,622,3.0,CRD,11.5 +CMT,1,1,826,1.7,CRD,10.5 +CMT,1,3,1242,3.3,CSH,15.0 +CMT,1,3,542,0.9,CSH,7.0 +CMT,1,1,1552,2.9,CSH,17.0 +CMT,1,1,630,2.4,CRD,10.0 +CMT,1,2,685,2.4,CRD,10.5 +CMT,1,1,278,0.8,CSH,5.5 +CMT,1,2,289,0.9,CSH,5.5 +CMT,1,1,346,1.4,CSH,6.5 +CMT,1,1,468,2.4,CRD,9.5 +CMT,1,1,559,3.2,CSH,11.5 +CMT,1,1,626,3.0,CSH,12.0 +CMT,1,2,842,1.7,CSH,11.0 +CMT,1,1,617,2.6,CRD,11.0 +CMT,1,4,916,1.8,CSH,11.5 +CMT,1,1,504,1.7,CSH,8.5 +CMT,1,2,976,4.6,CRD,17.0 +CMT,1,2,1013,8.8,CRD,26.0 +CMT,1,1,641,1.2,CSH,8.5 +CMT,1,1,207,0.8,CRD,4.5 +CMT,1,2,228,1.3,CSH,6.0 +CMT,1,1,227,0.5,CRD,4.5 +CMT,1,1,217,0.9,CRD,5.0 +CMT,1,1,392,2.4,CRD,9.0 +CMT,1,1,272,0.9,CRD,6.0 +CMT,1,1,1032,4.8,CSH,17.0 +CMT,1,2,356,1.3,CRD,6.5 +CMT,1,1,650,3.1,CRD,11.5 +CMT,1,2,341,1.5,CSH,7.0 +CMT,1,1,303,0.7,CRD,5.0 +CMT,1,2,304,0.8,CRD,5.5 +CMT,1,2,807,2.4,CSH,11.5 +CMT,1,2,606,1.2,CSH,8.5 +CMT,1,1,518,1.9,CSH,9.0 +CMT,1,2,570,1.4,CRD,8.5 +CMT,1,1,1011,9.2,CRD,27.5 +CMT,1,1,1433,1.1,CSH,14.5 +CMT,1,1,1361,3.2,CSH,16.5 +CMT,1,1,438,3.0,CRD,11.0 +CMT,1,1,900,2.7,CSH,12.5 +CMT,1,2,473,2.4,CSH,9.5 +CMT,1,2,153,0.5,CRD,3.5 +CMT,1,2,1765,7.2,CSH,27.0 +CMT,1,4,231,0.7,CSH,5.0 +CMT,1,2,338,1.0,CSH,6.0 +CMT,1,2,259,0.5,CSH,4.5 +CMT,1,2,326,1.3,CRD,6.5 +CMT,1,3,477,1.5,CRD,7.5 +CMT,1,1,434,1.6,CRD,7.5 +CMT,1,1,987,1.8,CSH,11.5 +CMT,1,1,565,1.2,CRD,8.0 +CMT,1,1,177,0.3,CRD,4.0 +CMT,1,3,790,3.3,CSH,12.5 +CMT,1,4,481,1.6,CSH,8.0 +CMT,1,2,470,1.7,CRD,8.5 +CMT,1,1,804,1.5,CSH,10.0 +CMT,1,1,1283,3.7,CRD,16.0 +CMT,1,1,443,1.1,CRD,6.5 +CMT,1,1,100,0.6,CSH,4.0 +CMT,1,2,302,1.0,CSH,5.5 +CMT,1,1,1047,4.5,CSH,16.5 +CMT,1,1,1189,3.8,CRD,16.5 +CMT,1,3,619,1.8,CSH,9.0 +CMT,1,1,278,0.9,CRD,5.5 +CMT,1,2,430,1.6,CRD,7.5 +CMT,1,1,488,3.3,CRD,11.0 +CMT,1,1,338,1.5,CRD,7.0 +CMT,1,1,785,2.8,CSH,11.5 +CMT,1,1,245,0.5,CRD,5.0 +CMT,1,1,778,2.3,CRD,11.5 +CMT,1,1,399,0.7,CSH,6.0 +CMT,1,1,863,2.5,CRD,12.0 +CMT,1,2,306,0.8,CRD,5.5 +CMT,1,1,783,3.7,CSH,14.5 +CMT,1,1,362,1.2,CRD,6.5 +CMT,1,1,991,2.7,CSH,12.5 +CMT,1,1,798,1.9,CRD,10.0 +CMT,1,2,578,0.4,CRD,7.5 +CMT,1,2,148,0.1,NOC,3.0 +CMT,1,1,552,2.3,CSH,9.5 +CMT,1,1,354,1.0,CSH,6.5 +CMT,1,1,224,0.9,CRD,5.0 +CMT,1,1,835,6.8,CRD,21.0 +CMT,1,2,194,0.6,CRD,4.5 +CMT,1,1,1172,3.9,CSH,16.0 +CMT,1,1,42,0.2,NOC,3.0 +CMT,1,1,861,2.1,CRD,11.5 +CMT,1,2,229,0.6,CRD,5.0 +CMT,1,1,840,2.2,CRD,11.5 +CMT,1,1,469,1.3,CRD,7.5 +CMT,1,1,921,2.8,CSH,13.0 +CMT,1,1,161,0.5,CRD,4.0 +CMT,1,1,707,1.8,CRD,9.5 +CMT,1,1,972,3.7,CRD,14.5 +CMT,1,1,1014,4.7,CRD,17.0 +CMT,1,1,1016,4.3,CRD,16.0 +CMT,1,1,632,1.3,CSH,8.5 +CMT,1,1,1959,3.7,CRD,21.0 +CMT,1,2,979,3.9,CSH,14.5 +CMT,1,1,762,3.9,CRD,13.5 +CMT,1,1,317,0.9,CSH,6.0 +CMT,1,1,558,2.8,CSH,11.0 +CMT,1,1,356,1.6,CSH,7.0 +CMT,1,1,255,0.9,CRD,5.5 +CMT,1,1,133,0.8,CSH,4.5 +CMT,1,1,418,0.9,CSH,6.5 +CMT,1,1,1164,4.6,CRD,17.5 +CMT,1,1,825,2.2,CRD,11.0 +CMT,1,1,246,0.8,CSH,5.0 +CMT,1,1,554,0.9,CRD,7.5 +CMT,1,1,191,0.8,CSH,4.5 +CMT,1,1,209,0.6,CRD,4.5 +CMT,1,1,278,0.7,CRD,5.5 +CMT,1,1,1638,3.7,CSH,18.5 +CMT,1,1,373,0.8,CSH,5.5 +CMT,1,1,287,0.5,CRD,5.0 +CMT,2,2,53,0.1,NOC,52.0 +CMT,1,1,1269,3.8,CRD,16.5 +CMT,1,1,648,1.1,CRD,8.5 +CMT,1,3,392,1.0,CRD,6.5 +CMT,1,1,123,0.6,CSH,4.0 +CMT,1,1,243,0.6,CSH,4.5 +CMT,1,1,437,1.0,CRD,7.0 +CMT,1,3,810,1.7,CSH,10.0 +CMT,1,1,381,1.1,CRD,6.5 +CMT,1,1,528,2.4,CSH,9.5 +CMT,1,1,655,1.7,CRD,9.0 +CMT,1,1,368,0.9,CRD,6.0 +CMT,1,1,888,2.4,CSH,12.0 +CMT,1,2,644,1.9,CSH,9.5 +CMT,1,1,468,1.3,CRD,7.0 +CMT,1,1,500,1.9,CRD,8.5 +CMT,1,1,1122,5.5,CRD,19.5 +CMT,1,2,258,0.8,CSH,5.0 +CMT,1,1,454,1.5,CSH,7.5 +CMT,1,2,1094,8.9,CSH,26.5 +CMT,1,1,115,0.6,CSH,4.0 +CMT,1,1,240,1.0,CRD,5.5 +CMT,1,1,273,0.6,CSH,5.0 +CMT,1,1,457,2.9,CRD,10.5 +CMT,1,1,457,2.0,CRD,8.5 +CMT,1,1,985,2.7,CRD,13.0 +CMT,1,2,209,0.5,CRD,4.5 +CMT,1,2,401,1.3,CSH,6.5 +CMT,1,2,627,2.1,CRD,10.0 +CMT,1,2,1042,2.7,CSH,13.5 +CMT,1,2,755,3.1,CRD,12.0 +CMT,1,1,760,2.5,CSH,11.0 +CMT,1,1,328,0.6,CSH,5.5 +CMT,1,2,763,1.1,CSH,9.5 +CMT,1,1,333,0.9,CRD,6.0 +CMT,1,2,571,2.6,CRD,10.0 +CMT,1,2,232,0.9,CRD,5.0 +CMT,1,2,558,1.4,CSH,8.5 +CMT,1,2,794,3.8,CSH,14.5 +CMT,1,2,996,3.7,CRD,15.0 +CMT,1,1,178,1.0,CRD,5.0 +CMT,1,2,287,1.0,CSH,6.0 +CMT,1,1,378,1.5,CRD,7.0 +CMT,1,1,417,1.5,CRD,7.5 +CMT,1,1,276,0.9,CRD,5.5 +CMT,1,1,328,1.0,CRD,6.0 +CMT,1,2,526,1.8,CSH,9.0 +CMT,1,1,250,1.0,CSH,5.5 +CMT,1,1,291,1.2,CSH,6.0 +CMT,1,2,246,0.9,CSH,5.5 +CMT,1,3,887,9.5,CRD,27.5 +CMT,1,1,1099,3.9,CRD,16.5 +CMT,1,2,801,4.8,CRD,16.5 +CMT,1,2,961,3.3,CSH,13.0 +CMT,1,1,793,4.0,CSH,13.5 +CMT,1,2,486,1.7,CRD,8.0 +CMT,1,2,538,1.8,CSH,9.0 +CMT,1,2,831,3.2,CRD,13.0 +CMT,1,1,2238,9.0,CRD,34.5 +CMT,5,2,1921,22.8,CRD,80.0 +CMT,1,1,1171,3.8,CSH,16.5 +CMT,1,1,618,1.1,CRD,8.0 +CMT,1,1,307,0.8,CSH,5.5 +CMT,1,1,480,1.5,CRD,8.0 +CMT,1,1,840,2.2,CRD,11.0 +CMT,1,1,448,1.6,CSH,8.0 +CMT,1,2,138,0.5,CSH,4.0 +CMT,1,2,982,3.6,CSH,15.0 +CMT,1,1,181,0.6,CSH,4.5 +CMT,1,2,465,1.8,CSH,8.0 +CMT,1,1,515,1.6,CRD,8.5 +CMT,1,1,594,1.1,CRD,8.0 +CMT,1,2,594,1.9,CRD,9.0 +CMT,1,1,893,3.9,CSH,15.0 +CMT,1,1,527,0.7,CSH,7.0 +CMT,1,1,361,0.9,CRD,6.0 +CMT,1,1,846,2.1,CRD,11.5 +CMT,1,1,675,2.0,CRD,10.0 +CMT,1,1,1622,5.2,CRD,22.5 +CMT,1,2,919,1.3,CSH,10.5 +CMT,1,1,131,0.3,CSH,4.0 +CMT,1,1,906,1.2,CSH,10.0 +CMT,1,1,1088,6.4,CRD,21.0 +CMT,1,1,588,2.1,CRD,10.0 +CMT,1,2,835,4.1,CRD,14.5 +CMT,1,1,480,1.7,CSH,8.0 +CMT,1,1,274,0.7,CRD,5.5 +CMT,1,1,1428,4.6,CRD,19.0 +CMT,1,1,1055,6.1,CSH,19.5 +CMT,1,1,705,2.6,CRD,11.5 +CMT,1,2,468,0.9,CRD,6.5 +CMT,1,1,412,1.3,CSH,7.0 +CMT,1,1,304,1.2,CRD,6.0 +CMT,1,4,792,2.9,CRD,12.0 +CMT,1,1,1121,3.2,CRD,15.5 +CMT,1,4,566,1.2,CSH,8.0 +CMT,1,3,301,1.0,CSH,5.5 +CMT,1,1,732,2.1,CRD,10.0 +CMT,1,1,827,2.5,CRD,12.0 +CMT,1,1,492,2.2,CRD,9.5 +CMT,1,1,1602,5.3,CSH,22.0 +CMT,1,1,600,2.0,CSH,9.0 +CMT,1,1,1444,4.5,CRD,19.5 +CMT,1,1,788,1.6,CRD,10.0 +CMT,1,1,1061,5.3,CRD,19.5 +CMT,1,1,399,1.6,CRD,7.5 +CMT,1,1,426,1.9,CRD,8.0 +CMT,1,1,192,1.1,CSH,5.5 +CMT,1,1,243,1.0,CSH,5.5 +CMT,1,1,1367,6.7,CRD,22.5 +CMT,1,1,1626,4.6,CRD,20.5 +CMT,1,1,802,2.4,CRD,11.0 +CMT,1,1,592,0.9,CSH,8.0 +CMT,1,1,453,0.6,CRD,6.5 +CMT,2,1,2950,16.8,CRD,52.0 +CMT,1,1,247,0.7,CRD,5.0 +CMT,1,1,817,3.1,CSH,12.5 +CMT,1,1,719,4.4,CSH,15.5 +CMT,1,1,844,2.6,CSH,11.5 +CMT,1,1,716,2.8,CSH,11.5 +CMT,1,1,258,0.8,CRD,5.0 +CMT,1,1,502,2.0,CSH,9.0 +CMT,1,1,878,3.1,CSH,14.0 +CMT,1,1,255,0.5,CSH,5.0 +CMT,1,1,601,1.8,CRD,9.5 +CMT,1,1,172,0.7,CSH,4.5 +CMT,1,1,427,3.7,CRD,12.0 +CMT,1,1,496,1.0,CSH,7.0 +CMT,1,1,478,1.7,CSH,8.0 +CMT,1,1,272,0.3,CSH,4.5 +CMT,1,1,430,2.4,CSH,9.0 +CMT,1,3,667,1.8,CRD,9.5 +CMT,1,2,1032,2.3,CRD,12.5 +CMT,1,3,764,1.4,CRD,10.0 +CMT,1,2,639,1.0,CRD,8.0 +CMT,1,3,1561,7.4,CRD,25.0 +CMT,1,1,184,0.6,CRD,4.5 +CMT,1,1,327,0.9,CRD,6.0 +CMT,1,1,385,1.2,CRD,6.5 +CMT,1,1,446,2.0,CRD,8.0 +CMT,1,2,692,1.6,CRD,9.0 +CMT,1,2,282,0.9,CSH,5.5 +CMT,1,1,581,0.9,CRD,7.5 +CMT,1,1,777,2.6,CSH,11.0 +CMT,1,2,546,2.1,CRD,9.5 +CMT,1,1,456,1.1,CRD,7.0 +CMT,1,1,610,1.5,CRD,9.0 +CMT,1,1,391,2.1,CRD,8.0 +CMT,1,1,148,1.1,CRD,5.0 +CMT,1,1,240,0.9,CSH,5.5 +CMT,1,1,227,1.0,CSH,5.5 +CMT,1,1,221,0.6,CSH,5.0 +CMT,1,1,362,1.2,CSH,7.0 +CMT,1,1,181,0.8,CRD,5.0 +CMT,1,1,375,1.9,CRD,8.0 +CMT,1,1,176,0.5,CSH,4.0 +CMT,1,1,285,0.7,CRD,5.5 +CMT,1,1,131,0.5,CRD,4.0 +CMT,1,1,728,1.9,CRD,10.0 +CMT,1,4,1060,2.2,CSH,12.0 +CMT,1,1,1186,4.4,CRD,17.5 +CMT,1,1,259,0.9,CSH,5.0 +CMT,1,1,188,0.8,CSH,4.5 +CMT,1,1,299,1.5,CRD,6.5 +CMT,1,1,734,1.4,CRD,9.5 +CMT,1,1,1196,2.6,CSH,14.5 +CMT,1,1,766,1.3,CSH,9.5 +CMT,1,2,765,3.1,CRD,12.5 +CMT,1,2,979,4.8,CRD,16.0 +CMT,1,1,500,1.9,CRD,9.0 +CMT,1,1,1527,10.4,CRD,31.5 +CMT,1,1,442,2.0,CSH,8.5 +CMT,1,1,775,3.2,CSH,12.5 +CMT,1,1,216,0.7,CSH,5.0 +CMT,1,1,755,2.6,CSH,11.5 +CMT,1,1,733,3.4,CRD,13.5 +CMT,1,1,390,1.3,CRD,7.0 +CMT,1,1,638,1.9,CSH,9.5 +CMT,1,1,260,0.7,CRD,5.0 +CMT,1,1,269,0.8,CSH,5.5 +CMT,1,1,483,1.1,CRD,7.5 +CMT,1,1,248,1.0,CRD,5.5 +CMT,1,1,770,1.5,CSH,10.0 +CMT,1,1,925,4.8,CSH,16.5 +CMT,1,1,632,2.3,CRD,10.0 +CMT,1,1,115,0.8,CRD,4.5 +CMT,1,1,370,0.7,CSH,6.0 +CMT,1,1,1257,4.3,CSH,17.5 +CMT,1,1,259,1.6,CRD,6.5 +CMT,1,1,993,3.8,CRD,14.5 +CMT,1,1,426,1.0,CSH,6.5 +CMT,1,1,146,0.3,CRD,4.0 +CMT,1,1,684,1.8,CSH,9.5 +CMT,1,1,119,0.4,CRD,3.5 +CMT,1,1,617,2.0,CSH,9.5 +CMT,1,1,1205,1.3,CSH,13.0 +CMT,1,1,439,1.2,CSH,7.0 +CMT,1,1,549,2.1,CRD,9.0 +CMT,1,1,340,0.8,CSH,6.0 +CMT,1,1,740,1.6,CRD,10.0 +CMT,1,1,533,0.7,CRD,7.0 +CMT,1,1,132,0.7,CRD,4.0 +CMT,1,1,438,3.8,CRD,12.0 +CMT,1,1,924,6.1,CRD,20.0 +CMT,1,1,723,1.8,CRD,9.5 +CMT,1,1,547,1.6,CSH,8.0 +CMT,1,1,303,0.9,CSH,5.5 +CMT,1,1,654,2.7,CSH,11.5 +CMT,1,1,660,2.3,CRD,10.5 +CMT,1,1,367,1.8,CSH,7.5 +CMT,1,1,568,1.6,CRD,8.5 +CMT,1,1,594,1.3,CSH,8.5 +CMT,1,1,289,0.7,CSH,5.0 +CMT,1,1,215,0.6,CSH,4.5 +CMT,1,1,811,3.0,CRD,13.0 +CMT,1,1,854,5.1,CSH,17.0 +CMT,1,1,516,1.8,CRD,8.5 +CMT,1,1,794,4.9,CRD,16.5 +CMT,1,1,613,2.6,CRD,10.5 +CMT,1,1,838,4.3,CSH,15.0 +CMT,1,1,403,0.7,CSH,6.0 +CMT,1,1,424,1.1,CSH,7.0 +CMT,1,1,1104,3.2,CRD,14.0 +CMT,1,1,395,0.7,CRD,6.0 +CMT,1,1,198,0.7,CSH,4.5 +CMT,1,1,687,2.2,CSH,10.0 +CMT,1,1,333,1.3,CRD,6.5 +CMT,1,1,258,0.8,CSH,5.0 +CMT,1,1,841,1.3,CSH,10.5 +CMT,1,1,874,2.1,CRD,11.0 +CMT,1,1,392,1.5,CSH,7.0 +CMT,1,1,902,3.4,CRD,14.0 +CMT,1,1,221,0.8,CSH,5.0 +CMT,1,1,241,0.7,CSH,5.0 +CMT,1,2,916,4.1,CRD,15.0 +CMT,1,1,713,2.5,CRD,11.5 +CMT,3,1,1902,17.1,CRD,65.0 +CMT,1,3,746,1.9,CRD,10.0 +CMT,1,1,894,5.4,CRD,18.0 +CMT,1,1,609,2.2,CRD,10.0 +CMT,1,1,216,1.2,CSH,6.0 +CMT,1,1,258,1.0,CSH,5.5 +CMT,1,1,682,1.4,CRD,9.0 +CMT,1,1,577,2.1,CRD,9.0 +CMT,1,1,1139,10.1,CSH,29.0 +CMT,1,1,625,2.8,CRD,10.5 +CMT,1,1,281,0.6,CSH,5.0 +CMT,1,1,1065,6.9,CRD,22.5 +CMT,1,1,1369,6.3,CSH,23.5 +CMT,1,1,662,0.8,CSH,8.5 +CMT,1,1,569,1.6,CSH,8.5 +CMT,1,1,447,1.2,CSH,7.0 +CMT,1,1,640,2.2,CRD,10.0 +CMT,1,1,619,1.6,CRD,9.0 +CMT,1,1,690,2.2,CSH,10.5 +CMT,1,1,173,1.2,CSH,5.5 +CMT,1,1,264,0.2,CSH,4.5 +CMT,1,1,734,3.4,CRD,12.5 +CMT,1,1,514,1.2,CSH,7.5 +CMT,1,1,49,0.2,CSH,3.0 +CMT,1,1,427,1.1,CRD,7.0 +CMT,1,1,639,2.7,CRD,11.0 +CMT,1,1,302,0.5,CRD,5.0 +CMT,1,1,816,2.1,CRD,11.0 +CMT,1,1,145,0.3,CSH,3.5 +CMT,1,1,678,2.1,CRD,10.0 +CMT,1,1,310,1.2,CSH,6.5 +CMT,1,1,519,1.0,CRD,7.5 +CMT,1,1,637,1.5,CRD,8.5 +CMT,1,1,492,1.1,CRD,7.0 +CMT,1,1,94,0.2,CSH,3.5 +CMT,1,1,133,0.9,CRD,4.5 +CMT,1,1,616,1.6,CRD,9.0 +CMT,1,1,386,2.9,CSH,10.0 +CMT,1,1,479,3.9,CRD,13.0 +CMT,2,3,3249,21.0,CRD,52.0 +CMT,1,1,579,2.2,CRD,10.0 +CMT,1,1,709,2.7,CRD,11.5 +CMT,1,1,411,1.2,CSH,6.5 +CMT,1,1,622,1.2,CSH,8.0 +CMT,1,1,889,1.9,CSH,11.0 +CMT,1,1,295,1.7,CRD,7.0 +CMT,1,1,561,4.2,CRD,14.0 +CMT,1,1,400,0.9,CRD,6.5 +CMT,1,1,446,0.7,CSH,6.5 +CMT,1,1,88,0.4,CSH,3.5 +CMT,1,1,824,1.1,CRD,9.5 +CMT,1,2,951,7.1,CRD,22.0 +CMT,1,2,835,2.2,CSH,11.0 +CMT,1,3,294,1.2,CRD,6.5 +CMT,1,1,656,3.7,CRD,13.0 +CMT,1,1,358,1.1,CRD,6.5 +CMT,1,1,348,0.8,CSH,6.0 +CMT,1,2,961,0.9,CRD,10.5 +CMT,1,1,236,3.0,CSH,10.0 +CMT,1,3,706,1.5,CSH,9.5 +CMT,1,2,295,0.3,CRD,5.0 +CMT,1,2,682,2.0,CRD,10.0 +CMT,1,1,559,2.2,CRD,10.0 +CMT,1,2,213,0.7,CSH,5.0 +CMT,1,1,254,0.9,CRD,5.0 +CMT,1,1,501,1.7,CRD,8.5 +CMT,1,1,318,1.2,CRD,6.0 +CMT,1,2,582,1.0,CSH,7.5 +CMT,1,2,927,3.5,CRD,13.5 +CMT,1,1,1075,4.4,CRD,17.0 +CMT,1,1,725,2.0,CSH,10.5 +CMT,1,1,282,0.6,CRD,5.0 +CMT,1,1,153,0.5,CSH,4.0 +CMT,1,1,428,2.3,CSH,9.0 +CMT,1,1,573,3.2,CRD,11.0 +CMT,1,1,790,3.9,CSH,15.0 +CMT,1,2,1110,10.5,CRD,29.5 +CMT,1,1,298,0.8,CRD,5.5 +CMT,1,1,395,2.3,CSH,9.0 +CMT,1,1,908,2.0,CSH,11.5 +CMT,1,1,402,1.0,CRD,6.5 +CMT,1,1,1291,5.5,CSH,20.5 +CMT,1,1,999,9.2,CSH,26.5 +CMT,1,1,385,1.1,CSH,6.5 +CMT,1,1,700,2.1,CRD,10.0 +CMT,1,1,1199,3.9,CRD,15.5 +CMT,1,1,556,1.0,CSH,7.5 +CMT,1,1,713,1.7,CSH,9.5 +CMT,1,1,484,1.1,CRD,7.0 +CMT,1,1,821,2.1,CRD,11.5 +CMT,1,1,1040,2.6,CRD,13.0 +CMT,1,1,859,1.3,CSH,9.5 +CMT,1,1,223,1.0,CSH,5.5 +CMT,1,1,177,0.5,CSH,4.5 +CMT,1,1,405,0.9,CSH,6.5 +CMT,1,1,427,1.1,CRD,7.5 +CMT,1,1,441,1.5,CRD,7.5 +CMT,1,1,279,1.1,CSH,6.0 +CMT,1,1,272,1.0,CSH,5.5 +CMT,1,1,751,2.6,CSH,11.5 +CMT,1,1,179,0.6,CSH,4.0 +CMT,1,1,76,0.4,CRD,3.5 +CMT,1,1,619,2.1,CRD,9.5 +CMT,1,1,965,4.4,CRD,16.0 +CMT,1,1,348,1.2,CSH,6.5 +CMT,1,1,448,1.7,CSH,8.0 +CMT,1,1,757,4.6,CRD,15.0 +CMT,1,1,221,0.7,CSH,5.0 +CMT,1,1,657,2.1,CSH,9.5 +CMT,1,1,111,0.5,CRD,4.0 +CMT,1,1,515,1.5,CRD,8.0 +CMT,1,1,492,0.7,CRD,6.5 +CMT,1,1,676,1.9,CRD,9.5 +CMT,1,1,684,2.0,CRD,10.0 +CMT,1,1,1477,3.4,CSH,17.5 +CMT,1,1,360,0.9,CSH,6.0 +CMT,1,1,261,1.1,CSH,6.0 +CMT,1,1,124,0.4,CSH,3.5 +CMT,1,1,632,2.6,CSH,10.5 +CMT,1,1,631,1.1,CSH,8.5 +CMT,1,1,766,2.1,CSH,10.0 +CMT,1,1,441,1.8,CSH,8.0 +CMT,1,1,209,0.7,CRD,4.5 +CMT,1,1,18,0.3,CRD,2.5 +CMT,1,1,421,1.0,CSH,6.5 +CMT,1,1,455,0.9,CRD,6.5 +CMT,1,1,157,0.8,CSH,4.5 +CMT,1,1,765,1.0,CSH,9.0 +CMT,1,1,1034,2.3,CRD,12.5 +CMT,1,1,590,2.4,CRD,10.0 +CMT,1,2,1494,9.1,CSH,28.5 +CMT,1,1,1058,11.7,CSH,32.0 +CMT,1,1,205,0.8,CSH,5.0 +CMT,1,1,318,1.1,CRD,6.5 +CMT,1,1,569,1.9,CRD,9.5 +CMT,1,1,1458,10.2,CRD,30.5 +CMT,1,1,254,1.0,CSH,5.5 +CMT,2,3,2512,16.3,CRD,52.0 +CMT,1,1,579,3.4,CSH,11.5 +CMT,1,1,300,0.5,CRD,5.0 +CMT,1,1,238,1.1,CRD,5.5 +CMT,1,1,529,1.2,CRD,7.5 +CMT,1,1,842,2.8,CSH,12.0 +CMT,1,1,977,3.3,CSH,14.0 +CMT,1,1,468,2.0,CRD,8.5 +CMT,1,1,75,0.4,CRD,3.5 +CMT,1,1,818,3.0,CSH,12.0 +CMT,1,1,381,2.0,CRD,8.0 +CMT,1,1,66,0.2,CSH,3.0 +CMT,1,1,1680,11.1,CRD,33.0 +CMT,1,1,1213,4.4,CRD,17.5 +CMT,1,1,445,1.6,CRD,7.5 +CMT,1,1,886,8.8,CRD,25.0 +CMT,1,1,405,1.3,CRD,7.0 +CMT,1,1,410,0.9,CRD,6.5 +CMT,1,1,481,1.6,CSH,8.0 +CMT,1,1,429,1.4,CRD,7.0 +CMT,1,1,527,1.6,CSH,8.5 +CMT,1,1,944,1.9,CRD,12.0 +CMT,1,1,557,2.5,CSH,10.5 +CMT,1,1,488,1.2,CRD,7.5 +CMT,1,1,280,1.2,CRD,6.0 +CMT,1,1,623,1.4,CSH,8.5 +CMT,1,1,597,2.0,CSH,9.5 +CMT,1,1,97,0.6,CSH,4.0 +CMT,1,1,351,1.8,CRD,7.5 +CMT,1,1,179,0.4,CSH,4.0 +CMT,1,1,208,1.5,CRD,6.0 +CMT,1,1,866,3.3,CSH,13.5 +CMT,1,1,346,1.9,CRD,8.0 +CMT,1,1,339,0.9,CSH,6.0 +CMT,1,1,1215,4.1,CSH,17.0 +CMT,1,1,414,1.4,CSH,7.0 +CMT,1,1,290,0.4,CSH,5.0 +CMT,1,1,504,1.0,CRD,7.0 +CMT,1,1,593,1.3,CRD,8.0 +CMT,1,1,585,1.6,CSH,8.5 +CMT,1,1,1346,3.3,CRD,15.5 +CMT,1,1,106,0.6,CRD,4.0 +CMT,1,1,221,0.7,CSH,5.0 +CMT,1,1,135,0.9,CRD,5.0 +CMT,1,1,418,1.9,CRD,8.0 +CMT,2,1,2168,19.7,CSH,52.0 +CMT,1,1,1567,10.8,CRD,33.0 +CMT,1,1,680,1.9,CRD,9.5 +CMT,1,1,287,0.8,CSH,5.5 +CMT,1,1,431,0.6,CRD,6.0 +CMT,1,1,843,2.9,CSH,12.5 +CMT,1,1,915,2.3,CRD,12.0 +CMT,1,1,533,2.7,CSH,10.0 +CMT,1,1,102,0.6,CSH,4.0 +CMT,1,1,512,3.6,CSH,12.5 +CMT,1,1,1655,9.9,CRD,31.5 +CMT,1,1,640,2.2,CRD,10.0 +CMT,1,1,492,2.8,CRD,10.0 +CMT,1,1,278,1.0,CSH,5.5 +CMT,1,1,486,1.1,CSH,7.0 +CMT,1,1,556,1.6,CRD,8.5 +CMT,1,1,473,2.6,CRD,10.0 +CMT,1,1,856,1.9,CRD,11.0 +CMT,1,1,1029,1.9,CSH,12.5 +CMT,1,1,303,1.1,CSH,5.5 +CMT,1,1,548,1.4,CRD,8.0 +CMT,1,1,767,0.7,CRD,9.0 +CMT,1,1,1128,2.7,CRD,14.0 +CMT,1,1,2232,19.8,CSH,55.0 +CMT,1,1,382,2.0,CSH,8.0 +CMT,1,1,531,1.8,CRD,9.0 +CMT,1,1,312,1.6,CRD,7.0 +CMT,1,1,917,4.7,CSH,17.0 +CMT,1,1,504,2.4,CRD,9.0 +CMT,1,1,1601,2.2,CRD,17.5 +CMT,1,1,821,3.6,CRD,13.5 +CMT,1,1,569,1.9,CRD,9.0 +CMT,1,1,700,1.5,CSH,9.0 +CMT,1,1,863,3.1,CRD,13.0 +CMT,1,1,250,0.6,CSH,5.0 +CMT,2,1,1711,16.6,CRD,52.0 +CMT,1,1,736,5.3,CSH,17.5 +CMT,1,1,473,1.9,CRD,8.5 +CMT,1,1,1057,9.2,CSH,27.0 +CMT,1,1,359,1.3,CSH,6.5 +CMT,1,1,509,1.9,CRD,8.5 +CMT,1,1,453,0.7,CRD,6.5 +CMT,1,1,789,2.3,CRD,11.0 +CMT,1,1,881,3.5,CSH,14.0 +CMT,1,1,444,1.1,CRD,7.0 +CMT,1,1,345,1.2,CSH,6.5 +CMT,1,1,585,0.8,CRD,7.5 +CMT,1,1,139,0.6,CSH,4.0 +CMT,1,1,579,1.4,CRD,8.5 +CMT,1,1,351,2.1,CSH,8.0 +CMT,1,1,267,1.6,CRD,7.0 +CMT,1,1,185,0.6,CSH,4.5 +CMT,1,1,990,3.9,CRD,15.5 +CMT,1,1,412,0.7,CRD,6.0 +CMT,1,1,285,0.4,CSH,5.0 +CMT,1,1,228,1.1,CSH,5.5 +CMT,1,1,275,0.7,CSH,5.0 +CMT,1,1,817,4.7,CSH,16.0 +CMT,1,1,307,0.9,CSH,6.0 +CMT,1,1,379,1.2,CSH,6.5 +CMT,1,1,500,1.1,CRD,7.5 +CMT,1,1,640,3.0,CSH,11.5 +CMT,1,1,272,1.4,CSH,6.5 +CMT,1,1,247,0.8,CSH,5.0 +CMT,1,1,630,3.3,CSH,12.0 +CMT,1,1,447,1.6,CRD,8.0 +CMT,1,1,368,1.6,CRD,7.5 +CMT,1,1,565,2.5,CRD,10.0 +CMT,1,1,400,1.6,CSH,7.5 +CMT,1,1,305,0.9,CSH,5.5 +CMT,1,1,1272,2.9,CSH,15.5 +CMT,1,1,282,1.1,CSH,6.0 +CMT,1,1,469,1.9,CSH,8.5 +CMT,1,1,451,1.3,CRD,7.5 +CMT,1,1,457,1.0,CSH,7.0 +CMT,1,1,471,1.4,CRD,7.5 +CMT,1,1,697,1.8,CRD,10.5 +CMT,1,1,206,0.5,CRD,4.5 +CMT,1,1,239,0.9,CSH,5.5 +CMT,1,1,1512,4.1,CRD,18.5 +CMT,1,1,562,0.9,CRD,7.5 +CMT,1,1,476,1.3,CRD,7.0 +CMT,1,1,447,1.1,CRD,7.5 +CMT,1,1,1091,1.3,CSH,12.0 +CMT,1,1,422,1.2,CRD,7.0 +CMT,1,1,131,0.6,CRD,4.0 +CMT,1,1,607,1.1,CSH,8.0 +CMT,1,1,316,1.4,CSH,6.5 +CMT,2,1,2857,18.2,CSH,52.0 +CMT,1,1,258,0.8,CRD,5.0 +CMT,1,1,1298,3.9,CSH,17.5 +CMT,1,1,1068,3.0,CRD,14.5 +CMT,1,1,343,1.3,CSH,6.5 +CMT,1,1,131,0.7,CRD,4.0 +CMT,3,1,1949,18.0,CSH,68.0 +CMT,1,1,367,0.6,CRD,5.5 +CMT,1,1,293,0.8,CSH,5.5 +CMT,1,1,567,0.9,CSH,7.5 +CMT,1,1,507,0.9,CSH,7.0 +CMT,1,1,372,0.9,CRD,6.0 +CMT,1,1,1106,4.2,CSH,17.0 +CMT,2,1,2001,17.8,CRD,52.0 +CMT,1,1,1403,2.9,CRD,16.0 +CMT,1,1,881,0.6,CRD,9.5 +CMT,1,1,327,1.2,CSH,6.5 +CMT,1,1,398,1.6,CSH,7.5 +CMT,1,1,215,0.5,CSH,4.5 +CMT,1,1,483,1.9,CSH,8.5 +CMT,1,1,227,1.0,CSH,5.5 +CMT,1,1,326,1.4,CSH,6.5 +CMT,1,1,833,8.2,CRD,24.0 +CMT,1,1,1056,8.8,CRD,26.5 +CMT,2,1,1746,20.0,CRD,52.0 +CMT,1,1,444,0.7,CRD,6.5 +CMT,1,1,1293,3.5,CRD,16.5 +CMT,1,1,798,9.5,CRD,27.0 +CMT,1,1,174,0.7,CRD,4.5 +CMT,1,1,1010,1.5,CRD,11.5 +CMT,1,1,353,0.8,CRD,6.0 +CMT,1,1,1270,0.7,CRD,13.0 +CMT,1,1,65,0.2,CSH,3.0 +CMT,1,1,415,1.0,CSH,6.5 +CMT,1,1,887,1.6,CSH,10.5 +CMT,1,1,408,0.7,CRD,6.0 +CMT,1,1,1349,8.5,CSH,27.0 +CMT,1,1,1101,3.2,CRD,15.5 +CMT,1,1,244,0.4,CSH,4.5 +CMT,1,1,267,0.8,CSH,5.5 +CMT,2,4,2744,17.0,CSH,52.0 +CMT,1,1,727,1.6,CRD,9.5 +CMT,1,1,1356,6.0,CRD,22.0 +CMT,1,1,667,0.7,CSH,8.0 +CMT,1,1,606,2.1,CSH,9.5 +CMT,1,1,202,0.6,CRD,4.5 +CMT,1,1,565,2.5,CRD,10.0 +CMT,1,1,531,2.2,CRD,9.5 +CMT,1,1,370,0.9,CSH,6.5 +CMT,1,1,65,0.4,CSH,3.5 +CMT,1,1,202,0.8,CRD,5.0 +CMT,1,1,652,1.9,CRD,9.5 +CMT,1,1,199,1.4,CRD,6.0 +CMT,1,1,193,0.6,CSH,4.5 +CMT,1,2,2864,28.1,CRD,76.0 +VTS,1,5,840,2.9,CRD,12.5 +VTS,1,5,180,0.47,CRD,4.0 +VTS,1,5,360,1.42,CRD,6.5 +VTS,1,5,780,2.35,CRD,11.0 +VTS,1,5,240,0.76,CSH,5.0 +VTS,1,6,600,1.72,CSH,9.0 +VTS,1,5,420,1.01,CSH,6.5 +VTS,1,5,540,1.67,CRD,8.0 +VTS,1,5,1440,3.47,CSH,16.5 +VTS,1,1,660,2.47,CRD,10.5 +VTS,1,5,840,2.95,CRD,13.0 +CMT,1,1,561,1.8,CRD,9.0 +CMT,1,1,1449,5.3,CRD,21.0 +CMT,1,1,1051,7.8,CSH,24.0 +CMT,1,1,790,2.1,CRD,11.0 +CMT,1,1,216,0.6,CSH,4.5 +CMT,1,1,519,1.8,CSH,9.0 +CMT,1,1,625,1.4,CRD,8.5 +CMT,1,1,1414,3.7,CSH,17.5 +CMT,1,1,2107,3.1,CSH,22.0 +CMT,1,1,1222,2.9,CSH,15.0 +VTS,1,5,180,0.53,CSH,4.5 +VTS,1,5,360,1.85,CRD,8.0 +VTS,1,5,540,1.54,CRD,8.0 +VTS,1,5,540,1.51,CRD,8.5 +VTS,1,5,300,1.06,CSH,6.0 +VTS,1,5,660,3.12,CRD,12.5 +VTS,1,5,480,1.24,CRD,7.5 +VTS,1,5,420,1.23,CRD,7.0 +VTS,1,5,420,0.67,CRD,6.5 +VTS,1,5,420,0.79,CSH,6.0 +VTS,1,5,60,0.75,CSH,4.0 +VTS,1,5,840,2.32,CRD,11.5 +VTS,1,5,420,1.56,CSH,7.0 +VTS,1,5,480,1.62,CRD,7.5 +VTS,1,5,360,0.99,CRD,6.0 +VTS,1,5,900,1.13,CRD,10.5 +CMT,1,1,192,0.9,CSH,5.0 +CMT,1,1,1821,3.8,CRD,21.0 +CMT,1,1,365,1.3,CRD,7.0 +CMT,1,1,944,1.1,CSH,11.0 +CMT,1,1,336,1.9,CRD,7.5 +CMT,1,1,256,1.0,CSH,5.5 +CMT,1,1,429,1.7,CRD,8.0 +CMT,1,1,1429,10.2,CRD,31.0 +CMT,1,1,335,0.8,CSH,6.0 +CMT,1,1,354,1.3,CRD,7.0 +CMT,1,1,479,1.7,CRD,8.0 +CMT,1,1,721,1.6,CRD,9.5 +CMT,1,1,1419,7.2,CSH,24.0 +CMT,1,1,503,1.8,CRD,8.5 +CMT,1,1,905,2.4,CRD,12.0 +CMT,1,1,460,2.6,CSH,9.5 +CMT,1,1,725,3.3,CRD,13.0 +CMT,1,1,1290,3.7,CRD,17.0 +VTS,1,5,240,1.29,CRD,6.0 +VTS,1,5,300,1.22,CSH,6.5 +VTS,1,1,1080,2.98,CSH,14.5 +VTS,1,5,600,2.52,CRD,10.5 +VTS,1,5,300,0.63,CRD,5.0 +VTS,1,5,1380,7.94,CRD,26.0 +VTS,1,5,360,1.41,CRD,6.5 +VTS,1,5,780,1.84,CSH,10.0 +CMT,1,1,315,0.8,CRD,5.5 +CMT,1,1,338,1.1,CRD,6.0 +CMT,1,1,420,1.4,CSH,7.0 +CMT,1,1,702,1.5,CSH,9.0 +CMT,1,1,647,2.2,CRD,10.0 +CMT,1,1,347,0.7,CSH,5.5 +CMT,1,1,306,1.3,CRD,6.5 +CMT,1,1,261,0.8,CSH,5.0 +CMT,1,1,275,1.5,CSH,6.5 +CMT,1,1,500,1.7,CRD,8.5 +CMT,1,1,524,0.9,CRD,7.5 +CMT,1,1,346,0.7,CSH,5.5 +CMT,1,1,747,2.1,CRD,10.5 +CMT,1,1,315,0.8,CSH,5.5 +CMT,1,1,417,0.8,CRD,6.0 +CMT,1,1,1463,4.8,CRD,19.5 +CMT,1,1,763,2.2,CSH,10.5 +CMT,1,1,1305,6.1,CRD,21.5 +CMT,1,1,572,2.0,CSH,9.0 +CMT,1,1,349,1.1,CRD,6.0 +CMT,1,1,1125,6.7,CSH,22.5 +CMT,1,1,1084,2.7,CSH,15.0 +CMT,1,1,322,1.4,CSH,6.5 +CMT,1,1,563,2.6,CRD,10.0 +CMT,1,1,556,1.4,CRD,8.0 +CMT,1,1,1050,5.7,CSH,20.0 +CMT,1,1,139,0.3,CSH,4.0 +CMT,1,1,641,1.1,CRD,8.5 +CMT,1,1,220,1.1,CRD,5.5 +CMT,1,1,208,0.5,CSH,4.5 +CMT,1,1,1742,10.7,CRD,33.0 +CMT,1,1,1198,3.3,CRD,14.5 +CMT,1,1,842,1.2,CRD,10.0 +CMT,1,1,922,3.5,CSH,14.5 +CMT,1,1,169,1.7,CSH,6.5 +CMT,1,1,499,1.7,CRD,8.0 +CMT,1,1,261,0.9,CSH,5.5 +CMT,1,1,309,1.2,CSH,6.5 +CMT,1,1,1023,3.1,CRD,14.0 +CMT,1,1,264,0.6,CSH,5.0 +CMT,1,1,668,2.3,CRD,10.5 +CMT,1,1,1218,1.5,CRD,13.0 +CMT,1,1,139,0.6,CRD,4.0 +CMT,1,1,1368,10.0,CRD,30.5 +CMT,1,1,520,2.8,CSH,11.0 +CMT,1,1,1099,8.7,CRD,26.0 +CMT,1,1,882,1.2,CRD,10.5 +CMT,1,1,1007,5.4,CRD,18.5 +CMT,1,1,665,2.1,CSH,10.0 +CMT,1,1,333,1.5,CSH,7.0 +CMT,1,1,525,1.2,CRD,8.0 +CMT,1,1,1211,3.1,CRD,15.0 +CMT,1,1,365,0.9,CRD,6.0 +CMT,1,1,917,1.9,CRD,11.0 +CMT,1,1,512,1.5,CRD,8.0 +CMT,1,1,380,0.9,CRD,6.0 +CMT,1,1,1056,1.0,CSH,11.5 +CMT,1,1,407,1.2,CRD,6.5 +CMT,1,1,953,8.4,CRD,25.0 +CMT,1,1,541,2.0,CRD,9.0 +CMT,1,1,449,1.4,CSH,7.5 +CMT,1,2,811,8.9,CRD,25.0 +CMT,1,1,378,1.8,CRD,7.5 +CMT,1,1,311,1.1,CSH,6.5 +CMT,1,1,1212,4.5,CRD,18.5 +CMT,1,1,341,1.6,CRD,7.0 +CMT,1,1,239,0.8,CSH,5.0 +CMT,1,1,513,1.2,CSH,7.5 +CMT,1,1,264,0.7,CSH,5.0 +CMT,1,1,296,1.6,CSH,7.0 +CMT,1,1,737,3.1,CRD,12.0 +CMT,1,1,367,0.6,CSH,5.5 +CMT,1,1,565,1.7,CRD,9.0 +CMT,1,1,541,1.7,CRD,8.5 +CMT,1,1,669,2.8,CRD,11.0 +CMT,1,1,1007,1.6,CSH,12.0 +CMT,1,1,757,1.2,CRD,9.0 +CMT,1,1,447,2.0,CRD,8.5 +VTS,1,5,600,2.14,CRD,9.5 +VTS,1,5,600,1.58,CRD,8.5 +VTS,1,5,360,1.0,CSH,6.0 +VTS,1,5,480,1.18,CRD,7.0 +VTS,1,5,660,1.85,CRD,9.0 +VTS,1,5,300,0.58,CRD,4.5 +VTS,1,5,540,1.88,CSH,8.5 +VTS,1,5,720,3.59,CRD,12.5 +VTS,1,5,300,0.94,CRD,5.5 +VTS,1,5,600,1.37,CSH,8.5 +VTS,1,5,480,2.79,CSH,10.5 +VTS,1,5,660,1.58,CSH,9.0 +VTS,2,5,1920,18.83,CSH,52.0 +VTS,1,5,540,1.42,CRD,8.0 +VTS,1,5,120,0.51,CSH,4.0 +VTS,1,5,480,0.91,CSH,7.0 +VTS,1,1,1020,1.89,CSH,11.5 +VTS,1,5,1800,5.12,CSH,22.5 +VTS,1,1,660,1.26,CSH,8.5 +VTS,1,5,900,2.36,CRD,12.0 +VTS,1,1,780,2.32,CSH,11.5 +VTS,1,5,420,1.09,CRD,6.5 +VTS,1,5,300,1.03,CSH,6.0 +VTS,1,5,180,0.38,CSH,3.5 +VTS,1,5,780,2.63,CRD,11.5 +VTS,1,5,180,0.7,CRD,5.0 +VTS,1,5,660,2.51,CRD,10.5 +CMT,1,1,73,0.5,CSH,3.5 +CMT,1,1,415,0.7,CRD,6.5 +CMT,1,1,296,1.1,CSH,6.0 +CMT,1,1,738,1.5,CRD,9.5 +CMT,1,1,336,0.6,CSH,5.5 +CMT,1,1,354,1.9,CSH,7.5 +CMT,1,1,476,1.6,CRD,8.0 +CMT,1,1,213,0.8,CRD,5.0 +CMT,1,1,177,0.4,CRD,4.0 +CMT,1,1,249,0.7,CRD,5.0 +CMT,1,1,412,1.2,CSH,6.5 +VTS,1,1,1140,5.67,CSH,19.0 +VTS,1,5,900,5.65,CSH,19.5 +VTS,1,5,480,1.56,CSH,8.0 +VTS,1,5,120,0.56,CSH,4.0 +VTS,1,5,660,5.39,CSH,17.0 +VTS,1,5,960,2.13,CRD,12.5 +VTS,1,5,420,1.0,CRD,7.0 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,5,360,1.21,CSH,6.0 +VTS,1,5,1260,3.98,CSH,17.0 +VTS,1,5,600,1.6,CSH,9.0 +VTS,1,5,540,1.55,CSH,8.5 +VTS,1,5,240,0.77,CSH,5.0 +VTS,1,5,180,0.27,CRD,4.0 +VTS,1,5,900,3.55,CSH,14.5 +VTS,1,5,300,0.76,CRD,5.0 +VTS,1,5,1260,5.64,CRD,21.0 +VTS,1,5,480,1.63,CSH,7.5 +VTS,1,5,1200,2.79,CRD,14.0 +VTS,1,5,360,0.94,CRD,5.5 +VTS,1,5,840,2.15,CRD,11.0 +VTS,1,5,1020,2.11,CRD,12.0 +VTS,1,5,240,0.93,CSH,5.5 +VTS,1,5,480,0.41,CSH,6.5 +VTS,1,5,540,1.95,CRD,8.5 +VTS,1,5,360,1.2,CSH,6.0 +VTS,1,5,660,0.86,CSH,8.0 +VTS,1,5,300,1.17,CSH,6.0 +VTS,1,5,780,4.84,CRD,16.5 +VTS,1,5,420,1.62,CRD,7.5 +VTS,1,5,180,0.31,CSH,3.5 +VTS,1,1,480,2.63,CSH,9.5 +VTS,1,5,660,1.47,CRD,8.5 +VTS,1,5,1860,5.03,CRD,23.0 +VTS,1,5,180,0.53,CRD,4.5 +VTS,1,5,300,2.44,CRD,9.0 +VTS,1,5,840,2.32,CSH,11.5 +VTS,1,5,1920,8.62,CRD,30.0 +VTS,1,5,780,3.05,CSH,11.0 +VTS,1,5,420,1.43,CSH,7.0 +VTS,1,5,180,0.41,CSH,4.0 +VTS,1,5,1800,2.69,CRD,18.5 +CMT,1,1,852,1.9,CSH,11.0 +VTS,1,1,600,1.87,CSH,8.5 +VTS,1,5,600,1.89,CRD,9.0 +VTS,1,1,900,2.96,CSH,12.5 +VTS,1,5,780,3.87,CSH,14.0 +VTS,1,5,240,0.63,CSH,4.5 +VTS,1,5,840,1.76,CRD,10.5 +VTS,1,5,840,1.3,CSH,10.0 +VTS,1,5,780,2.67,CRD,11.5 +VTS,1,1,840,1.5,CRD,10.5 +VTS,1,1,600,1.43,CRD,8.0 +VTS,1,5,360,0.85,CSH,6.0 +VTS,1,5,420,1.22,CRD,6.5 +VTS,1,5,540,0.89,CSH,7.0 +VTS,1,5,720,2.9,CSH,11.5 +VTS,1,5,120,0.41,CSH,4.0 +VTS,1,5,600,1.46,CSH,8.5 +VTS,1,5,480,0.77,CRD,5.5 +VTS,1,5,1860,11.13,CRD,34.0 +VTS,1,5,420,0.84,CSH,6.5 +VTS,1,5,120,0.21,CRD,3.5 +VTS,1,5,780,1.99,CRD,11.0 +VTS,1,5,480,0.99,CRD,6.5 +VTS,1,5,120,0.25,CSH,3.5 +VTS,1,5,1380,4.39,CRD,19.0 +VTS,1,5,540,1.5,CRD,8.0 +VTS,1,5,420,1.42,CSH,7.0 +CMT,1,1,1237,3.3,CRD,15.5 +CMT,1,1,402,0.9,CRD,6.5 +CMT,1,1,117,0.7,CRD,4.0 +CMT,1,1,522,1.1,CRD,7.5 +CMT,1,1,986,4.1,CRD,14.5 +CMT,1,1,836,1.6,CRD,11.0 +CMT,1,1,1182,5.4,CRD,20.5 +CMT,1,1,833,3.8,CSH,14.5 +VTS,1,5,660,2.55,CSH,11.5 +VTS,1,5,180,0.47,CRD,4.5 +VTS,1,1,360,0.98,CSH,5.5 +VTS,1,5,420,1.65,CRD,7.0 +VTS,1,5,480,1.62,CSH,8.0 +VTS,1,5,660,2.15,CSH,9.5 +VTS,1,5,900,3.03,CRD,13.0 +VTS,1,5,900,2.03,CRD,11.5 +VTS,1,5,360,1.5,CRD,7.0 +VTS,1,5,240,1.57,CRD,6.5 +VTS,1,5,600,1.74,CSH,8.5 +VTS,1,5,1080,9.02,CRD,25.5 +VTS,1,5,1200,3.32,CRD,14.0 +VTS,1,5,1140,2.5,CRD,14.0 +VTS,1,5,1140,4.66,CRD,17.5 +VTS,1,5,180,0.56,CSH,4.0 +VTS,1,5,600,1.33,CSH,9.0 +VTS,1,5,480,1.61,CRD,8.0 +VTS,1,5,240,0.77,CSH,5.0 +VTS,1,5,840,1.48,CRD,10.5 +VTS,1,5,900,2.0,CSH,12.0 +VTS,1,5,1860,2.93,CRD,19.5 +VTS,1,5,180,0.59,CSH,4.5 +VTS,1,5,480,0.98,CRD,6.5 +VTS,1,5,840,2.1,CRD,11.5 +VTS,1,5,840,1.99,CRD,11.0 +VTS,1,5,1020,2.92,CRD,13.5 +VTS,1,5,120,0.81,CRD,4.5 +VTS,1,5,1140,1.82,CRD,13.0 +VTS,1,5,480,1.59,CRD,7.0 +VTS,1,5,720,2.41,CSH,11.0 +VTS,1,5,1320,6.61,CRD,23.0 +VTS,1,5,360,1.03,CSH,6.0 +VTS,1,5,360,1.01,CSH,6.0 +VTS,1,5,180,0.77,CSH,4.5 +VTS,1,5,180,1.26,CSH,5.5 +VTS,1,5,600,1.66,CSH,9.0 +VTS,1,5,720,2.31,CSH,10.5 +VTS,1,5,1020,1.37,CSH,11.5 +VTS,1,5,360,1.05,CRD,6.0 +VTS,1,5,240,0.61,CSH,4.5 +VTS,1,5,540,1.56,CRD,8.0 +VTS,1,5,1440,4.77,CSH,19.0 +VTS,1,1,180,0.92,CSH,5.0 +CMT,1,1,1337,4.3,CSH,18.0 +CMT,1,1,257,0.9,CSH,5.0 +CMT,1,1,481,2.0,CRD,8.5 +CMT,1,1,565,2.0,CRD,9.0 +CMT,1,1,306,0.9,CRD,5.5 +CMT,1,1,419,1.6,CSH,7.5 +CMT,1,1,438,1.3,CSH,7.0 +CMT,1,1,474,1.4,CRD,7.5 +CMT,1,1,617,1.1,CSH,8.0 +CMT,1,1,559,1.6,CSH,8.5 +CMT,1,1,245,1.0,CSH,5.5 +CMT,1,1,1337,3.7,CSH,16.5 +CMT,1,1,1844,2.1,CRD,19.0 +CMT,1,1,251,0.6,CRD,5.0 +CMT,1,1,304,1.0,CRD,6.0 +CMT,1,1,300,0.5,CSH,5.0 +CMT,1,1,535,2.0,CRD,8.5 +CMT,1,1,364,1.5,CRD,7.0 +CMT,1,1,333,1.0,CSH,6.0 +CMT,1,1,281,1.4,CSH,6.5 +CMT,1,1,472,1.4,CRD,8.0 +CMT,1,1,240,0.7,CRD,5.0 +CMT,1,1,207,0.8,CRD,5.0 +CMT,1,1,390,1.2,CRD,7.0 +CMT,1,1,830,2.0,CRD,11.0 +CMT,1,1,262,0.4,CSH,4.5 +CMT,1,1,192,0.4,CRD,4.0 +CMT,1,1,466,0.6,CSH,6.5 +CMT,1,1,330,0.9,CRD,6.0 +CMT,1,1,632,4.5,CSH,14.0 +CMT,1,1,705,2.4,CRD,11.0 +CMT,1,1,593,3.0,CRD,10.5 +CMT,1,1,466,0.9,CSH,6.5 +CMT,1,1,224,0.8,CRD,5.0 +CMT,1,1,271,1.3,CSH,6.0 +CMT,1,1,134,0.7,CSH,4.0 +CMT,1,1,236,0.7,CRD,5.0 +VTS,1,5,300,0.68,CSH,5.5 +VTS,1,5,360,1.19,CRD,6.0 +VTS,1,5,240,1.46,CSH,6.0 +VTS,1,5,480,1.85,CRD,8.5 +VTS,1,5,660,5.21,CSH,16.0 +VTS,1,5,420,1.11,CSH,6.5 +VTS,1,5,780,3.13,CSH,12.0 +VTS,1,6,780,1.84,CRD,10.0 +VTS,1,5,960,2.65,CRD,12.5 +VTS,1,5,1020,2.26,CRD,13.0 +VTS,1,5,540,1.13,CRD,7.0 +VTS,1,5,240,1.4,CSH,6.0 +VTS,1,5,1380,3.6,CRD,17.0 +VTS,1,5,540,1.21,CSH,7.0 +VTS,1,5,1200,2.8,CSH,14.5 +VTS,1,5,960,8.49,CRD,24.5 +VTS,1,5,540,2.09,CRD,9.0 +VTS,1,5,360,1.26,CRD,6.5 +VTS,1,5,840,2.47,CSH,11.0 +VTS,2,5,1980,14.86,CRD,52.0 +VTS,1,5,540,0.89,CRD,7.0 +VTS,1,5,360,1.31,CRD,6.5 +VTS,1,5,420,0.9,CRD,6.0 +VTS,1,5,840,2.21,CRD,11.0 +VTS,1,5,360,1.23,CRD,6.5 +VTS,1,5,180,0.6,CSH,4.5 +VTS,1,1,720,2.03,CSH,10.5 +VTS,1,1,240,1.09,CSH,5.5 +VTS,1,5,960,3.13,CSH,13.0 +VTS,1,5,360,1.03,CSH,6.0 +VTS,1,5,720,2.17,CSH,10.5 +VTS,1,5,540,1.4,CSH,8.0 +VTS,1,5,720,2.79,CRD,11.5 +VTS,1,5,1800,7.34,CRD,25.5 +VTS,1,5,840,1.36,CRD,9.5 +VTS,1,5,960,2.21,CRD,12.0 +VTS,1,5,720,1.7,CRD,10.0 +VTS,1,5,600,1.79,CRD,9.0 +VTS,1,5,900,5.57,CRD,19.0 +VTS,1,5,600,4.82,CSH,15.0 +VTS,1,1,540,0.57,CSH,7.0 +VTS,1,5,420,1.73,CRD,7.5 +VTS,1,5,780,3.28,CRD,12.5 +VTS,1,5,1140,3.29,CRD,14.0 +VTS,1,5,360,1.82,CSH,8.0 +VTS,1,5,960,3.84,CSH,15.0 +VTS,1,5,900,1.59,CRD,10.5 +VTS,1,5,240,0.58,CRD,4.5 +VTS,1,5,1020,2.17,CRD,12.0 +VTS,1,5,420,1.42,CSH,7.0 +VTS,1,5,420,1.41,CSH,7.0 +VTS,1,5,540,2.1,CSH,9.5 +VTS,1,5,840,3.04,CRD,12.0 +VTS,1,5,780,1.49,CSH,9.5 +VTS,1,5,1440,1.89,CSH,15.5 +VTS,1,5,1260,2.63,CSH,15.0 +VTS,1,5,540,1.38,CRD,8.0 +VTS,1,5,720,2.92,CRD,11.0 +VTS,1,5,600,0.94,CSH,7.5 +VTS,1,5,960,5.78,CSH,18.0 +VTS,1,5,180,0.89,CSH,4.5 +VTS,1,5,1080,8.62,CRD,25.0 +VTS,1,5,1080,2.01,CRD,12.5 +VTS,1,5,1020,2.78,CSH,13.0 +VTS,1,5,420,1.17,CRD,6.5 +VTS,1,5,540,1.74,CSH,8.5 +VTS,1,5,540,1.76,CRD,8.5 +VTS,1,5,720,5.39,CRD,17.5 +VTS,1,5,420,2.83,CSH,10.0 +VTS,1,5,540,1.65,CRD,8.0 +VTS,1,5,300,0.96,CSH,5.5 +VTS,1,5,540,1.11,CSH,8.0 +VTS,1,1,360,0.77,CSH,5.5 +VTS,1,5,240,0.8,CSH,5.0 +VTS,1,5,660,2.86,CRD,10.5 +VTS,1,5,1500,3.76,CSH,18.0 +VTS,1,5,600,1.3,CSH,8.0 +VTS,1,5,600,2.07,CSH,10.0 +VTS,1,5,480,1.13,CSH,7.0 +VTS,1,5,1500,4.64,CSH,19.5 +VTS,1,5,360,0.72,CSH,6.0 +VTS,1,5,600,1.38,CRD,8.0 +VTS,1,5,120,0.36,CSH,4.0 +VTS,1,5,660,1.87,CSH,9.5 +VTS,1,1,360,0.46,CSH,5.5 +VTS,1,5,1020,2.36,CRD,12.5 +VTS,1,5,420,3.5,CSH,11.5 +VTS,1,5,540,1.96,CSH,9.0 +VTS,1,5,960,2.8,CSH,13.0 +VTS,1,5,840,2.84,CRD,12.0 +VTS,1,5,300,0.82,CRD,5.5 +VTS,1,1,300,1.12,CSH,6.0 +VTS,1,5,420,0.99,CRD,7.0 +VTS,1,5,360,1.17,CRD,6.0 +VTS,1,5,360,1.22,CRD,6.5 +VTS,1,5,420,0.95,CSH,6.5 +VTS,1,5,600,1.49,CRD,8.5 +VTS,1,5,660,0.96,CRD,8.0 +VTS,1,5,360,0.63,CSH,5.5 +VTS,1,5,480,1.06,CSH,6.5 +VTS,1,5,600,2.65,CSH,10.5 +VTS,1,5,480,0.73,CSH,6.5 +VTS,1,5,720,1.1,CRD,9.0 +VTS,1,5,360,1.06,CRD,6.5 +VTS,1,5,960,3.09,CRD,13.0 +VTS,1,6,360,1.01,CSH,6.0 +VTS,1,5,420,1.33,CSH,7.0 +VTS,1,5,1320,6.3,CRD,21.0 +VTS,1,5,240,0.79,CSH,5.0 +VTS,2,5,2340,19.9,CRD,52.0 +VTS,1,5,420,1.86,CSH,8.0 +VTS,1,5,180,0.14,CSH,4.0 +VTS,1,5,1320,2.6,CSH,15.0 +VTS,1,5,660,3.91,CRD,13.5 +VTS,1,5,300,0.82,CRD,5.5 +VTS,1,5,1260,2.93,CSH,15.0 +VTS,1,5,300,1.24,CRD,6.0 +VTS,1,5,1320,5.03,CRD,19.5 +VTS,1,5,420,1.16,CRD,7.0 +VTS,1,5,840,1.81,CRD,10.5 +VTS,1,5,480,0.62,CRD,6.5 +VTS,1,5,960,1.21,CRD,10.5 +VTS,1,5,780,1.74,CSH,10.0 +VTS,1,5,840,0.85,CRD,9.5 +VTS,1,5,420,1.21,CRD,7.0 +VTS,1,5,420,1.14,CRD,6.5 +VTS,1,5,900,2.27,CRD,11.5 +VTS,1,5,600,2.01,CSH,9.0 +VTS,1,5,1200,7.9,CRD,24.5 +VTS,1,6,300,1.16,CSH,6.0 +VTS,1,5,720,4.41,CSH,14.5 +VTS,1,5,1380,2.53,CSH,16.0 +VTS,1,5,600,1.42,CRD,8.5 +VTS,1,5,900,3.38,CSH,13.0 +VTS,1,5,780,2.53,CRD,11.0 +VTS,1,5,180,0.69,CSH,4.5 +VTS,1,5,600,1.03,CRD,8.0 +VTS,1,5,1200,7.03,CRD,22.0 +VTS,1,5,420,1.29,CRD,7.0 +VTS,1,5,1140,6.68,CRD,22.5 +VTS,1,5,360,1.0,CSH,6.0 +VTS,1,5,720,1.25,CRD,9.0 +VTS,1,1,1320,3.28,CSH,15.5 +VTS,1,5,540,1.38,CRD,8.0 +VTS,1,5,360,0.85,CRD,5.5 +VTS,1,5,600,1.56,CRD,8.5 +VTS,1,5,360,1.49,CRD,6.5 +VTS,1,5,180,0.59,CRD,4.5 +VTS,1,5,240,1.0,CSH,5.0 +VTS,1,5,120,0.65,CSH,4.0 +VTS,1,5,1260,1.44,CSH,13.0 +VTS,1,5,960,5.31,CRD,18.5 +VTS,1,5,360,0.65,CRD,5.5 +VTS,1,5,840,2.45,CSH,11.5 +VTS,1,5,540,0.77,CRD,7.5 +VTS,1,5,300,0.7,CSH,5.0 +VTS,1,5,540,2.78,CRD,10.5 +VTS,1,5,960,3.07,CSH,13.0 +VTS,1,5,1260,2.08,CRD,14.0 +VTS,1,5,1020,2.9,CSH,13.5 +VTS,1,5,180,0.62,CSH,4.5 +VTS,1,5,300,0.69,CRD,5.5 +VTS,1,5,960,2.68,CSH,12.5 +VTS,1,5,180,0.8,CRD,5.0 +VTS,1,5,480,0.6,CSH,7.0 +VTS,1,5,600,1.5,CRD,9.0 +VTS,1,1,360,1.08,CSH,6.0 +VTS,1,5,720,2.51,CSH,11.0 +VTS,1,5,300,1.01,CRD,5.5 +VTS,1,5,360,0.67,CRD,5.5 +VTS,1,5,600,2.12,CRD,9.0 +VTS,1,5,360,1.1,CSH,6.5 +VTS,1,5,420,2.33,CSH,8.5 +VTS,1,5,60,0.3,CSH,3.0 +VTS,1,5,540,1.1,CSH,7.5 +VTS,1,5,480,1.06,CRD,7.0 +VTS,1,5,1200,2.42,CSH,14.0 +VTS,1,5,720,2.1,CSH,10.5 +VTS,1,5,420,1.34,CRD,7.5 +VTS,1,5,1680,4.65,CSH,21.0 +VTS,1,5,180,1.23,CRD,5.5 +VTS,1,1,660,1.71,CRD,9.0 +VTS,1,5,780,1.9,CSH,10.5 +VTS,1,2,540,2.3,CRD,10.0 +VTS,1,5,60,0.46,CSH,3.5 +VTS,1,1,420,1.09,CRD,7.0 +VTS,1,5,840,2.06,CSH,10.5 +VTS,1,5,1860,5.23,CSH,23.0 +VTS,1,5,3240,13.88,CSH,48.0 +VTS,1,5,180,0.9,CRD,5.0 +VTS,1,5,180,0.76,CRD,4.5 +VTS,1,5,900,1.19,CSH,10.5 +VTS,1,5,540,2.01,CRD,8.5 +VTS,1,5,1860,4.83,CRD,21.0 +VTS,1,5,600,1.71,CRD,8.5 +VTS,1,5,300,0.54,CRD,5.0 +VTS,1,5,180,0.77,CSH,4.5 +VTS,1,5,960,5.34,CRD,17.5 +VTS,1,1,600,0.87,CSH,7.5 +VTS,1,5,600,1.66,CRD,8.5 +VTS,1,5,480,1.32,CRD,7.0 +VTS,1,5,480,2.29,CSH,8.5 +VTS,1,5,420,1.59,CSH,7.5 +VTS,1,5,240,1.2,CRD,6.0 +VTS,1,1,960,5.1,CRD,17.5 +VTS,1,5,1920,2.02,CSH,20.0 +VTS,1,5,300,0.88,CRD,5.0 +VTS,1,5,960,2.55,CRD,12.5 +VTS,1,5,420,1.67,CSH,7.5 +VTS,1,5,660,3.76,CRD,13.0 +VTS,1,5,480,1.09,CRD,7.0 +VTS,1,5,240,0.6,CRD,5.0 +VTS,1,5,240,0.96,CRD,5.5 +VTS,1,5,1020,1.94,CRD,11.5 +VTS,1,5,660,1.67,CSH,9.5 +VTS,1,5,2280,15.05,CRD,45.0 +VTS,1,5,840,2.61,CRD,11.5 +VTS,1,5,720,1.55,CRD,9.0 +VTS,1,1,300,1.0,CSH,6.0 +VTS,1,5,360,1.18,CSH,6.0 +VTS,1,5,600,1.1,CSH,8.0 +VTS,1,5,1140,3.96,CSH,15.5 +VTS,1,1,660,3.29,CSH,11.5 +VTS,1,1,840,2.3,CSH,11.5 +VTS,1,5,420,0.66,CRD,6.0 +VTS,1,5,900,2.98,CSH,13.0 +VTS,1,5,360,1.08,CSH,6.0 +VTS,1,5,420,1.04,CRD,6.5 +VTS,1,5,480,2.91,CSH,10.5 +VTS,1,2,480,0.74,CSH,7.0 +VTS,1,5,300,0.9,CRD,5.0 +VTS,1,5,1560,3.59,CSH,18.5 +VTS,1,5,780,0.9,CSH,9.0 +VTS,1,5,1680,6.3,CSH,24.5 +VTS,1,5,420,1.01,CSH,6.5 +VTS,1,5,180,0.43,CSH,4.0 +VTS,1,5,1380,4.74,CSH,19.0 +VTS,1,5,600,1.07,CRD,8.0 +VTS,1,5,360,1.72,CRD,7.5 +VTS,1,5,1560,10.17,CSH,31.5 +VTS,1,5,540,1.72,CSH,8.0 +VTS,1,5,720,0.93,CRD,9.0 +VTS,1,5,300,1.09,CRD,5.5 +VTS,1,5,1200,3.67,CRD,16.0 +VTS,1,5,600,1.34,CSH,8.5 +VTS,1,5,900,1.58,CRD,11.0 +VTS,1,5,600,1.87,CSH,8.5 +VTS,1,5,420,0.99,CRD,6.5 +VTS,1,5,420,1.81,CSH,8.0 +VTS,1,5,120,0.38,CSH,4.0 +VTS,1,5,1320,3.57,CRD,17.0 +VTS,2,5,1680,18.88,CRD,52.0 +VTS,1,5,480,1.02,CSH,5.5 +VTS,1,5,300,0.92,CSH,5.5 +VTS,1,5,180,0.41,CSH,4.0 +VTS,1,5,360,1.34,CSH,7.0 +VTS,1,5,660,2.71,CRD,11.5 +VTS,1,5,900,1.41,CRD,10.5 +VTS,1,5,180,1.02,CSH,5.5 +VTS,1,5,180,0.69,CRD,4.0 +VTS,1,5,360,0.77,CSH,5.5 +VTS,1,5,360,0.94,CSH,6.0 +VTS,1,5,180,0.58,CRD,4.5 +VTS,1,5,780,4.18,CSH,14.0 +VTS,1,5,720,2.37,CSH,10.5 +VTS,1,5,240,0.76,CRD,5.0 +VTS,1,5,420,1.35,CRD,7.0 +VTS,1,5,240,0.89,CRD,5.5 +VTS,1,5,480,1.36,CRD,7.5 +VTS,1,5,960,1.93,CSH,11.5 +VTS,1,5,1800,3.81,CSH,19.5 +VTS,1,5,300,0.53,CSH,5.0 +VTS,1,5,480,1.33,CSH,7.0 +VTS,1,5,1020,2.85,CRD,13.0 +VTS,1,5,1380,10.19,CSH,30.0 +VTS,1,5,480,1.1,CRD,7.0 +CMT,1,1,1289,8.5,CRD,27.0 +CMT,1,1,1243,5.8,CRD,19.5 +CMT,1,1,411,1.2,CRD,7.0 +VTS,1,5,180,0.92,CSH,4.5 +VTS,1,5,420,1.19,CRD,7.0 +VTS,1,5,420,2.04,CRD,8.0 +VTS,1,5,1320,8.15,CSH,25.5 +VTS,1,5,660,1.69,CRD,9.0 +VTS,1,5,480,1.12,CSH,7.0 +VTS,1,1,1320,3.38,CSH,16.5 +VTS,1,5,840,8.35,CRD,23.5 +VTS,1,5,840,6.68,CSH,20.5 +VTS,1,5,540,1.82,CSH,8.5 +VTS,1,5,300,1.2,CRD,6.0 +VTS,1,5,240,0.44,CSH,4.5 +VTS,1,5,540,1.84,CRD,8.5 +VTS,1,5,300,0.76,CSH,5.5 +VTS,1,5,360,1.09,CRD,6.5 +VTS,1,5,600,1.79,CRD,9.0 +VTS,1,5,1200,4.82,CRD,18.5 +VTS,1,5,300,0.49,CRD,5.0 +VTS,1,5,660,1.96,CSH,9.0 +VTS,1,5,300,0.83,CSH,5.5 +VTS,1,5,1020,2.46,CRD,12.5 +VTS,1,5,840,1.26,CRD,10.0 +VTS,1,5,780,2.35,CSH,11.0 +VTS,1,5,420,0.47,CSH,6.0 +VTS,1,5,960,2.67,CSH,12.0 +VTS,1,5,480,1.52,CSH,7.5 +VTS,1,5,660,2.34,CRD,10.0 +VTS,1,1,1080,3.64,CSH,15.0 +VTS,1,5,1260,7.81,CRD,25.0 +VTS,1,5,1200,3.96,CRD,17.0 +VTS,1,5,960,3.52,CRD,14.0 +VTS,1,5,840,2.08,CRD,10.5 +VTS,1,5,240,0.99,CRD,5.0 +VTS,1,5,780,1.31,CSH,9.5 +VTS,1,5,360,1.4,CRD,7.0 +VTS,1,5,300,0.83,CSH,5.5 +VTS,1,5,1080,1.68,CSH,12.0 +VTS,1,1,780,2.74,CRD,11.0 +VTS,1,5,600,3.08,CRD,11.0 +VTS,1,5,300,1.03,CRD,5.5 +VTS,1,5,240,1.05,CRD,5.0 +VTS,1,5,1020,2.33,CRD,13.0 +VTS,1,5,480,1.12,CSH,7.0 +VTS,1,5,900,2.7,CSH,12.0 +VTS,1,5,120,0.51,CSH,3.5 +VTS,1,5,360,0.97,CRD,6.0 +VTS,1,5,720,2.43,CRD,10.5 +VTS,1,5,480,0.95,CSH,6.5 +VTS,1,5,1080,3.25,CSH,14.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,5,480,1.05,CSH,7.0 +VTS,1,5,1260,3.97,CRD,18.5 +VTS,1,5,540,1.67,CSH,8.5 +VTS,1,5,1320,4.15,CRD,16.5 +VTS,1,5,480,1.84,CRD,8.5 +VTS,1,1,420,1.05,CRD,7.0 +VTS,1,5,300,0.87,CRD,5.5 +VTS,1,5,1320,6.03,CSH,21.0 +VTS,1,1,1680,8.51,CSH,28.5 +VTS,1,5,540,2.09,CRD,9.0 +VTS,1,5,600,1.33,CRD,8.0 +VTS,1,5,420,2.7,CSH,9.5 +VTS,5,1,60,0.0,CRD,10.0 +VTS,1,5,240,0.61,CSH,5.0 +VTS,1,5,240,0.64,CRD,4.5 +VTS,1,5,180,0.65,CRD,4.5 +VTS,1,5,1260,4.57,CRD,18.5 +VTS,1,5,120,0.32,CSH,3.5 +VTS,1,5,180,0.5,CRD,4.5 +VTS,1,5,120,0.58,CRD,4.0 +VTS,1,5,360,0.98,CSH,6.0 +VTS,1,5,960,2.68,CRD,12.5 +VTS,1,5,720,1.93,CSH,9.5 +VTS,1,5,1260,2.76,CRD,15.0 +VTS,1,1,360,1.99,CSH,8.0 +VTS,1,5,420,1.15,CRD,6.5 +VTS,1,5,1320,2.83,CSH,16.0 +VTS,1,5,240,0.53,CRD,4.5 +VTS,1,5,1140,5.04,CRD,19.0 +VTS,1,5,420,1.19,CSH,7.0 +VTS,1,5,300,0.86,CSH,5.0 +VTS,1,5,240,0.78,CSH,5.0 +VTS,1,5,360,0.83,CRD,6.0 +VTS,1,5,960,2.67,CRD,12.5 +VTS,1,5,720,2.05,CSH,10.0 +VTS,1,5,600,1.6,CRD,8.0 +VTS,1,1,960,2.94,CSH,13.0 +VTS,1,5,540,2.17,CRD,9.0 +VTS,1,5,240,0.9,CSH,5.0 +VTS,1,5,420,3.13,CSH,10.5 +VTS,1,5,1320,6.69,CRD,21.5 +VTS,1,5,1200,2.65,CSH,14.0 +VTS,1,5,840,6.29,CRD,19.5 +VTS,1,5,1440,4.49,CRD,18.0 +VTS,1,5,780,4.12,CSH,15.0 +VTS,1,5,960,5.16,CRD,18.0 +VTS,1,5,960,1.84,CSH,11.5 +VTS,1,5,240,0.41,CSH,4.5 +VTS,1,5,1680,5.8,CRD,21.5 +VTS,1,5,900,2.24,CSH,11.5 +VTS,1,5,360,1.05,CRD,6.0 +VTS,1,5,540,1.42,CRD,8.0 +VTS,1,5,420,0.91,CSH,6.0 +VTS,1,5,300,0.99,CSH,5.5 +VTS,1,5,1200,3.05,CRD,15.0 +VTS,1,1,300,1.41,CRD,6.5 +VTS,1,5,120,0.62,CRD,4.5 +VTS,1,5,660,1.55,CRD,9.5 +VTS,1,5,420,1.11,CSH,6.5 +VTS,1,1,1620,10.93,CRD,33.0 +VTS,1,5,180,0.46,CSH,4.0 +VTS,1,5,600,1.16,CSH,7.5 +VTS,1,5,900,1.97,CRD,12.0 +VTS,1,5,540,0.88,CSH,7.5 +VTS,1,5,540,0.73,CRD,6.5 +VTS,1,5,600,1.9,CSH,8.5 +VTS,1,5,1080,3.18,CRD,14.0 +VTS,1,5,360,0.85,CSH,6.0 +VTS,1,5,180,0.76,CRD,5.0 +VTS,1,1,1080,1.59,CSH,11.5 +VTS,1,5,540,2.1,CRD,8.5 +VTS,1,5,1080,5.23,CSH,18.5 +VTS,1,5,240,0.9,CRD,5.0 +VTS,1,5,420,0.88,CSH,6.0 +VTS,1,5,300,1.05,CRD,5.5 +VTS,1,5,900,2.49,CSH,12.0 +VTS,1,5,540,1.77,CSH,8.5 +VTS,1,1,420,1.01,CRD,6.0 +VTS,1,5,1500,3.56,CSH,18.5 +VTS,1,5,240,0.59,CSH,5.0 +VTS,1,5,480,1.58,CSH,7.5 +VTS,1,5,240,0.9,CSH,5.5 +VTS,1,1,660,1.66,CSH,8.0 +VTS,1,5,360,0.7,CRD,5.5 +VTS,1,5,360,0.93,CSH,5.5 +VTS,1,5,960,2.54,CRD,12.5 +VTS,1,5,480,1.47,CRD,8.0 +VTS,1,5,660,1.36,CSH,8.5 +VTS,1,5,840,2.96,CRD,12.5 +VTS,1,1,420,0.87,CRD,6.5 +VTS,1,5,300,0.7,CSH,5.5 +VTS,1,5,240,0.73,CRD,5.0 +VTS,1,5,480,2.7,CRD,10.0 +VTS,1,5,540,1.23,CSH,7.5 +VTS,1,5,240,0.83,CSH,5.5 +VTS,1,5,840,2.79,CSH,10.5 +VTS,1,5,540,1.09,CSH,7.0 +VTS,1,5,780,2.27,CRD,11.0 +VTS,1,5,120,0.3,CSH,3.5 +VTS,1,5,300,1.05,CRD,6.0 +VTS,1,5,420,0.68,CRD,6.0 +VTS,1,5,780,1.56,CSH,8.5 +VTS,1,5,360,0.57,CRD,5.5 +VTS,1,5,1080,2.65,CRD,14.0 +VTS,1,5,540,1.26,CRD,7.5 +VTS,1,5,600,1.51,CRD,8.0 +VTS,1,5,720,2.01,CRD,10.0 +VTS,1,5,660,0.62,CSH,7.5 +VTS,1,1,660,1.12,CSH,8.0 +VTS,1,5,1080,2.72,CRD,13.5 +VTS,1,5,720,1.74,CSH,9.5 +VTS,1,1,1260,2.08,CSH,14.0 +VTS,1,5,1680,5.04,CSH,22.0 +VTS,1,5,780,3.16,CRD,12.5 +VTS,1,5,1500,4.47,CRD,18.5 +VTS,1,5,900,6.6,CRD,20.5 +VTS,1,5,660,0.95,CSH,8.5 +VTS,1,5,420,0.85,CRD,6.5 +VTS,1,5,420,0.32,CSH,5.5 +VTS,1,1,1260,3.33,CSH,15.5 +VTS,1,5,360,2.23,CSH,8.5 +VTS,1,5,720,2.55,CSH,11.5 +VTS,1,5,180,1.0,CSH,5.0 +VTS,1,5,1020,3.27,CSH,14.5 +VTS,1,5,1140,2.5,CSH,13.5 +VTS,1,5,900,1.9,CRD,11.0 +VTS,1,5,360,0.8,CRD,5.5 +VTS,1,5,540,1.24,CSH,7.5 +VTS,1,5,120,0.49,CRD,3.5 +VTS,1,5,900,1.87,CRD,11.5 +VTS,1,5,240,1.3,CSH,6.0 +VTS,1,5,300,1.12,CRD,6.5 +VTS,1,5,480,1.97,CSH,8.5 +VTS,1,5,1500,14.77,CSH,40.0 +VTS,1,5,720,2.59,CSH,11.5 +VTS,2,5,2520,17.22,CRD,52.0 +VTS,1,5,720,1.3,CRD,9.0 +VTS,1,5,720,3.39,CRD,13.0 +VTS,1,5,2160,4.71,CSH,23.5 +VTS,1,5,660,1.3,CRD,8.5 +VTS,1,5,900,6.58,CSH,21.0 +VTS,1,1,1080,2.75,CRD,13.5 +VTS,1,5,1560,7.68,CSH,25.0 +VTS,1,5,780,0.93,CSH,8.5 +VTS,1,5,240,0.88,CSH,5.0 +VTS,1,5,180,0.74,CRD,4.5 +VTS,1,5,720,0.99,CRD,8.5 +VTS,1,5,540,1.57,CRD,8.5 +VTS,1,5,420,1.75,CSH,7.5 +VTS,1,5,1200,2.57,CRD,14.5 +VTS,1,5,900,1.37,CSH,10.5 +VTS,1,5,780,3.26,CSH,11.5 +VTS,1,5,540,1.63,CRD,8.0 +VTS,1,5,900,2.15,CRD,11.5 +VTS,1,5,120,0.51,CSH,4.0 +VTS,1,5,420,0.45,CSH,5.5 +VTS,1,1,720,1.62,CRD,9.0 +VTS,1,1,1380,6.35,CSH,21.5 +VTS,1,1,1800,10.7,CRD,32.0 +VTS,1,1,780,2.16,CSH,10.5 +VTS,1,1,480,2.5,CRD,9.5 +VTS,1,1,720,3.2,CSH,11.5 +VTS,1,1,300,1.21,CSH,6.5 +VTS,1,1,960,4.67,CSH,16.5 +VTS,1,1,420,1.0,CSH,6.5 +VTS,1,1,480,1.17,CSH,7.0 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,1020,2.28,CRD,12.5 +VTS,1,1,60,0.52,CRD,3.5 +VTS,1,1,480,1.49,CSH,7.5 +VTS,1,1,1020,2.65,CRD,13.0 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,660,2.8,CRD,11.0 +VTS,1,1,720,1.84,CRD,9.5 +VTS,1,1,600,2.44,CRD,10.0 +VTS,1,1,600,2.05,CSH,9.0 +VTS,1,1,1080,2.47,CRD,13.0 +VTS,1,1,540,2.76,CSH,10.0 +VTS,1,1,780,1.74,CSH,9.0 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,1920,3.39,CSH,22.0 +VTS,1,1,960,1.97,CSH,11.5 +VTS,1,5,480,0.81,CSH,7.0 +VTS,1,5,600,2.39,CRD,10.0 +VTS,1,5,300,0.74,CRD,5.5 +VTS,1,5,240,0.49,CRD,4.5 +VTS,1,5,180,0.54,CSH,4.0 +VTS,1,5,1560,2.98,CRD,17.0 +VTS,1,1,1260,3.77,CRD,16.5 +VTS,1,1,480,1.44,CSH,7.5 +VTS,1,1,300,0.68,CSH,5.0 +VTS,1,1,660,1.67,CSH,9.0 +VTS,1,1,1260,4.08,CRD,16.5 +VTS,1,1,1080,5.0,CRD,17.5 +VTS,1,1,240,0.85,CRD,5.0 +VTS,1,1,660,3.27,CSH,12.5 +VTS,1,1,900,4.44,CSH,16.0 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,1380,6.3,CSH,22.0 +VTS,1,1,960,4.8,CRD,16.5 +VTS,1,1,780,2.26,CSH,10.5 +VTS,1,1,540,2.8,CRD,10.0 +VTS,1,1,360,1.69,CRD,7.0 +VTS,1,1,1140,6.11,CSH,20.0 +VTS,1,1,360,0.68,CSH,5.5 +VTS,1,1,1680,10.85,CRD,32.5 +VTS,1,1,180,0.56,CSH,4.0 +VTS,1,1,420,1.78,CRD,7.5 +VTS,1,5,300,0.62,CSH,5.0 +VTS,1,5,840,2.36,CSH,11.5 +VTS,1,5,480,1.26,CSH,6.5 +VTS,1,1,360,0.61,CSH,6.0 +VTS,1,5,240,0.71,CSH,4.5 +VTS,1,5,420,1.18,CRD,7.0 +VTS,1,5,660,1.89,CSH,9.5 +VTS,1,5,1140,2.88,CSH,14.0 +VTS,1,5,540,1.75,CRD,8.0 +VTS,1,5,1260,6.2,CRD,22.0 +VTS,1,5,180,0.5,CRD,4.5 +VTS,1,5,60,0.04,CSH,3.0 +VTS,1,5,480,1.16,CRD,7.0 +VTS,1,5,960,9.34,CRD,26.5 +VTS,1,5,540,1.31,CSH,8.0 +VTS,1,5,1020,4.16,CRD,15.5 +VTS,1,5,420,1.76,CSH,8.0 +VTS,1,1,420,1.45,CRD,7.0 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,840,1.61,CSH,10.0 +VTS,1,1,240,0.61,CSH,5.0 +VTS,1,1,420,2.24,CRD,8.5 +VTS,1,1,420,1.32,CSH,7.5 +VTS,1,1,600,1.58,CSH,7.5 +VTS,1,1,120,0.45,CRD,4.0 +VTS,1,1,360,1.18,CRD,6.0 +VTS,1,1,600,1.66,CRD,8.5 +VTS,1,5,240,0.76,CRD,4.5 +VTS,1,5,120,0.35,CSH,3.5 +VTS,1,5,1200,6.89,CSH,22.0 +VTS,1,5,300,0.88,CSH,5.5 +VTS,1,5,660,2.02,CRD,10.0 +VTS,1,5,660,1.87,CRD,9.0 +VTS,1,5,600,1.21,CRD,8.0 +VTS,1,5,420,1.23,CSH,6.5 +VTS,1,1,540,0.81,CSH,7.5 +VTS,1,1,840,1.85,CSH,10.5 +VTS,1,1,600,2.0,CSH,9.5 +VTS,1,1,1080,4.92,CRD,18.0 +VTS,1,1,420,1.12,CRD,6.5 +VTS,1,1,480,1.83,CRD,8.5 +VTS,1,1,480,1.79,CSH,8.5 +VTS,1,1,1200,3.75,CRD,16.0 +VTS,1,1,600,2.3,CRD,10.0 +VTS,1,1,660,1.35,CSH,8.0 +VTS,1,1,840,2.1,CSH,11.0 +VTS,1,1,540,1.77,CSH,8.5 +VTS,1,1,480,5.21,CSH,15.5 +VTS,1,1,600,1.14,CSH,8.5 +VTS,1,1,360,1.49,CRD,7.0 +VTS,1,1,540,1.85,CRD,8.0 +VTS,1,1,420,2.39,CRD,8.5 +VTS,1,1,420,1.35,CRD,7.0 +VTS,1,5,360,0.72,CSH,5.5 +VTS,1,1,300,1.15,CSH,6.0 +VTS,1,1,420,1.41,CSH,7.0 +VTS,1,1,600,1.78,CRD,8.5 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,1,660,2.51,CRD,10.5 +VTS,1,1,720,2.92,CSH,11.5 +VTS,1,1,600,1.34,CSH,8.0 +VTS,1,1,360,1.59,CSH,7.0 +VTS,1,1,420,1.09,CRD,7.0 +VTS,1,1,780,1.01,CSH,9.0 +VTS,1,1,120,0.3,CRD,3.5 +VTS,1,1,300,1.11,CSH,6.0 +VTS,1,1,600,2.9,CRD,10.5 +VTS,1,1,600,2.34,CRD,10.0 +VTS,1,1,240,1.06,CRD,5.5 +VTS,1,1,360,1.78,CSH,7.5 +VTS,1,1,360,0.93,CSH,6.0 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,300,0.6,CSH,5.5 +VTS,1,1,600,1.69,CSH,9.0 +VTS,1,1,360,1.42,CSH,6.5 +VTS,1,1,660,1.8,CSH,9.0 +VTS,1,1,420,0.6,CSH,6.0 +VTS,1,1,480,1.82,CRD,8.0 +VTS,1,1,420,1.1,CRD,6.5 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,720,1.35,CRD,8.5 +VTS,1,1,240,0.69,CRD,5.0 +VTS,1,1,1320,4.75,CRD,18.0 +VTS,1,1,360,1.82,CRD,7.5 +VTS,1,1,900,1.65,CRD,10.5 +VTS,1,1,540,1.73,CRD,8.0 +VTS,1,1,1200,7.84,CSH,25.0 +VTS,1,1,360,1.19,CSH,6.5 +VTS,1,1,1020,7.54,CSH,24.0 +VTS,1,1,660,2.4,CSH,10.5 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,600,3.76,CRD,12.5 +VTS,1,1,300,0.93,CRD,5.0 +VTS,1,1,120,0.33,CRD,4.0 +VTS,1,1,240,0.95,CRD,5.5 +VTS,1,1,420,1.29,CSH,7.0 +VTS,1,1,540,1.2,CSH,8.0 +VTS,1,1,720,2.64,CRD,11.0 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,540,3.43,CRD,11.5 +VTS,1,1,360,1.34,CRD,6.5 +VTS,1,1,480,3.08,CRD,10.5 +VTS,1,1,600,2.28,CSH,10.0 +VTS,1,1,900,3.66,CSH,13.5 +VTS,1,1,540,1.51,CRD,8.0 +VTS,1,1,300,1.94,CSH,7.0 +VTS,1,1,1080,4.82,CSH,17.5 +VTS,1,1,1320,9.84,CRD,29.5 +VTS,1,1,1080,2.05,CSH,12.5 +VTS,1,1,420,1.52,CSH,7.5 +VTS,1,1,780,1.57,CRD,10.0 +VTS,1,1,900,2.71,CRD,12.0 +VTS,1,1,1260,5.11,CRD,19.5 +VTS,1,1,480,1.35,CRD,8.0 +VTS,1,1,1980,8.24,CSH,28.5 +VTS,1,1,840,2.21,CRD,11.0 +VTS,1,1,660,1.04,CRD,8.0 +VTS,1,1,900,7.49,CRD,22.0 +VTS,1,1,960,2.56,CRD,12.5 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,1080,1.6,CSH,12.0 +VTS,1,1,540,1.48,CSH,8.0 +VTS,1,1,600,2.97,CSH,11.0 +VTS,1,1,960,2.25,CSH,12.0 +VTS,1,1,780,1.62,CRD,9.5 +VTS,1,1,240,0.63,CSH,5.0 +VTS,1,1,120,0.55,CSH,4.0 +VTS,1,1,3180,7.52,CRD,36.0 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,480,2.03,CRD,8.5 +VTS,1,1,300,1.15,CSH,6.0 +VTS,1,1,660,1.9,CRD,9.5 +VTS,1,1,900,0.6,CSH,9.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,660,1.56,CRD,8.5 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,240,1.69,CRD,6.5 +VTS,1,1,180,0.93,CRD,4.5 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,480,1.82,CRD,8.5 +VTS,1,1,840,2.38,CSH,11.5 +VTS,1,1,1320,4.18,CSH,17.5 +VTS,1,1,300,2.13,CRD,8.0 +VTS,1,1,2040,5.62,CRD,24.5 +VTS,1,1,1500,3.61,CRD,17.5 +VTS,1,1,360,1.0,CSH,6.5 +VTS,1,1,660,2.56,CRD,10.5 +VTS,1,1,480,1.17,CRD,7.0 +VTS,1,1,840,3.36,CRD,13.0 +VTS,1,1,360,1.17,CRD,6.5 +VTS,1,1,900,2.63,CRD,11.5 +VTS,1,1,360,1.04,CRD,6.0 +VTS,1,1,360,1.17,CRD,6.0 +VTS,1,1,2100,6.1,CSH,26.0 +VTS,1,1,300,0.59,CSH,5.0 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,1,1440,6.03,CRD,20.5 +VTS,1,1,900,4.56,CSH,16.0 +VTS,1,1,420,1.4,CRD,7.0 +VTS,1,1,1080,3.38,CRD,14.0 +VTS,1,1,840,3.41,CRD,13.5 +VTS,1,1,420,1.6,CSH,8.0 +VTS,1,1,960,2.93,CRD,13.5 +VTS,1,1,780,2.94,CRD,12.5 +VTS,2,1,1320,15.46,CRD,52.0 +VTS,1,1,960,2.48,CRD,12.0 +VTS,1,1,420,0.9,CRD,6.0 +VTS,1,1,720,1.45,CRD,9.0 +VTS,1,1,300,1.48,CRD,6.5 +VTS,1,1,600,1.4,CSH,8.0 +VTS,1,1,300,0.74,CSH,5.0 +VTS,1,1,2220,5.57,CRD,25.5 +VTS,1,1,720,2.2,CSH,10.0 +VTS,1,1,540,1.29,CRD,8.0 +VTS,1,1,420,1.31,CRD,7.0 +VTS,1,1,240,0.73,CSH,5.0 +VTS,1,1,960,1.57,CRD,10.5 +VTS,1,1,360,0.58,CSH,5.5 +VTS,1,1,360,1.57,CRD,6.5 +VTS,1,1,1200,6.1,CSH,20.5 +VTS,1,1,420,2.24,CRD,8.5 +VTS,1,1,420,2.82,CRD,9.5 +VTS,1,1,300,0.52,CSH,4.5 +VTS,1,5,1140,2.26,CRD,14.0 +VTS,1,5,480,0.9,CSH,6.5 +VTS,1,5,360,1.35,CSH,6.5 +VTS,1,5,300,1.0,CSH,5.5 +VTS,1,5,1260,2.12,CRD,14.0 +VTS,1,5,240,0.48,CSH,5.0 +VTS,1,5,660,2.05,CRD,9.5 +VTS,1,5,60,0.44,CSH,3.5 +VTS,1,1,300,1.84,CSH,7.0 +VTS,1,1,2880,6.66,CSH,32.0 +VTS,1,1,240,0.76,CRD,5.0 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,480,1.28,CRD,7.5 +VTS,1,1,900,1.8,CSH,10.5 +VTS,1,1,420,1.41,CRD,7.0 +VTS,1,1,360,1.75,CRD,7.5 +VTS,1,1,840,2.38,CRD,11.0 +VTS,1,1,360,1.21,CRD,6.5 +VTS,1,1,960,4.55,CSH,15.5 +VTS,1,1,840,2.12,CSH,11.5 +VTS,1,1,1140,4.09,CSH,16.5 +VTS,1,1,720,0.54,CRD,8.5 +VTS,1,1,720,2.94,CSH,11.5 +VTS,1,1,360,1.39,CRD,6.5 +VTS,1,1,360,1.81,CRD,7.5 +VTS,1,1,900,2.63,CSH,11.5 +VTS,1,1,900,3.83,CRD,15.0 +VTS,1,1,120,0.53,CSH,4.0 +VTS,1,1,240,0.46,CRD,4.5 +VTS,1,1,660,1.5,CRD,8.5 +VTS,1,1,1020,2.15,CSH,12.5 +VTS,1,1,1200,9.5,CSH,28.5 +VTS,1,1,600,2.26,CRD,9.5 +VTS,1,1,300,0.92,CRD,6.0 +VTS,1,1,840,3.24,CRD,13.5 +VTS,1,1,600,1.57,CRD,8.0 +VTS,1,1,780,2.5,CSH,11.0 +VTS,1,1,420,1.22,CRD,7.0 +VTS,1,1,840,1.73,CRD,10.5 +VTS,1,1,780,2.96,CRD,12.0 +VTS,1,1,720,2.63,CSH,11.0 +VTS,1,1,480,1.29,CRD,7.0 +VTS,1,2,780,1.28,CSH,9.5 +VTS,1,1,600,1.05,CSH,7.5 +VTS,1,1,480,1.0,CSH,7.0 +VTS,1,1,1560,5.02,CSH,20.0 +VTS,1,1,780,1.96,CSH,10.5 +VTS,1,1,960,2.81,CSH,13.0 +VTS,1,1,480,1.23,CRD,7.0 +VTS,1,1,420,1.35,CRD,7.0 +VTS,2,1,1800,16.48,CSH,52.0 +VTS,1,1,480,1.85,CRD,8.0 +VTS,1,1,720,1.81,CRD,9.5 +VTS,1,1,420,0.63,CSH,6.0 +VTS,1,1,840,3.14,CRD,12.5 +VTS,1,1,360,0.86,CSH,6.0 +VTS,1,1,540,1.63,CRD,8.0 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,1680,4.25,CRD,19.5 +VTS,1,1,480,1.55,CRD,7.5 +VTS,1,1,360,1.49,CRD,7.0 +VTS,1,1,180,0.52,CRD,4.5 +VTS,1,1,600,2.76,CRD,10.5 +VTS,1,1,420,2.1,CSH,8.0 +VTS,1,1,360,1.46,CRD,7.0 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,720,2.48,CSH,11.0 +VTS,1,1,480,2.35,CSH,8.5 +VTS,1,1,60,0.37,CSH,3.5 +VTS,1,1,720,3.12,CSH,12.0 +VTS,1,1,360,0.81,CRD,5.5 +VTS,1,1,300,1.01,CSH,6.0 +VTS,1,1,600,1.99,CSH,9.0 +VTS,1,1,780,2.17,CRD,11.0 +VTS,1,1,480,1.09,CRD,6.5 +VTS,1,1,240,0.49,CRD,4.5 +VTS,1,1,420,1.33,CRD,7.0 +VTS,1,1,120,0.62,CRD,4.0 +VTS,1,1,1320,2.36,CSH,14.5 +VTS,1,1,720,1.54,CRD,9.5 +VTS,1,1,600,1.64,CRD,8.0 +VTS,1,1,900,3.63,CSH,13.5 +VTS,1,1,360,0.65,CRD,5.5 +VTS,1,1,540,1.51,CSH,8.0 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,540,2.2,CRD,9.0 +VTS,1,1,120,0.86,CSH,4.5 +VTS,1,1,1560,3.13,CSH,17.5 +VTS,1,1,660,1.74,CSH,9.0 +VTS,1,1,1080,5.21,CRD,18.5 +VTS,1,1,720,3.68,CRD,13.5 +VTS,1,1,780,3.07,CSH,12.0 +VTS,1,1,1680,2.31,CSH,17.0 +VTS,1,1,1380,4.1,CRD,18.0 +VTS,1,1,900,1.92,CRD,10.5 +VTS,1,1,1260,3.58,CRD,16.5 +VTS,1,1,720,2.44,CRD,10.5 +VTS,1,1,1200,2.81,CRD,13.5 +VTS,1,1,480,0.61,CSH,6.5 +VTS,1,1,780,1.76,CRD,10.0 +VTS,1,1,300,1.15,CRD,6.0 +VTS,1,1,1140,4.51,CRD,16.5 +VTS,1,1,300,0.9,CSH,6.0 +VTS,1,1,180,1.07,CRD,5.0 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,600,1.7,CRD,8.5 +VTS,1,1,180,0.83,CRD,4.5 +VTS,1,1,600,2.35,CRD,9.5 +VTS,1,1,960,3.48,CSH,13.5 +VTS,1,1,480,2.35,CRD,9.0 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,1,720,2.49,CRD,10.5 +VTS,1,1,420,1.33,CSH,7.0 +VTS,1,1,1140,3.08,CSH,14.5 +VTS,1,1,1980,7.67,CRD,28.0 +VTS,1,1,1020,3.61,CRD,14.0 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,1,1620,4.0,CSH,19.0 +VTS,1,1,1380,4.36,CSH,18.0 +VTS,1,1,540,1.51,CRD,8.0 +VTS,1,1,120,0.73,CSH,4.5 +VTS,1,1,360,1.02,CRD,6.0 +VTS,1,1,660,1.77,CSH,9.0 +VTS,1,1,600,2.41,CSH,9.5 +VTS,1,1,540,3.47,CRD,11.5 +VTS,1,1,2100,6.88,CSH,27.5 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,840,2.07,CSH,11.0 +VTS,1,1,1260,5.14,CRD,18.5 +VTS,1,1,1320,2.84,CRD,15.5 +VTS,1,5,420,1.22,CSH,6.5 +VTS,1,5,420,1.19,CSH,7.0 +VTS,1,5,480,1.21,CRD,7.0 +VTS,1,5,360,1.18,CSH,6.5 +VTS,5,2,0,0.0,CRD,14.0 +VTS,1,5,1320,2.53,CRD,15.0 +VTS,1,5,960,2.78,CRD,13.0 +VTS,1,1,240,0.58,CRD,4.5 +VTS,1,5,480,1.4,CSH,8.0 +VTS,1,5,480,0.82,CRD,6.5 +VTS,1,5,600,4.62,CRD,15.0 +VTS,1,5,180,0.62,CSH,4.5 +VTS,1,5,1320,5.72,CSH,20.5 +VTS,1,5,420,1.19,CRD,7.0 +VTS,1,5,480,1.41,CRD,8.0 +VTS,1,5,1200,3.44,CRD,15.5 +VTS,1,5,1440,3.15,CRD,16.5 +VTS,1,5,840,1.49,CSH,10.0 +VTS,1,1,840,3.72,CSH,14.0 +VTS,1,1,480,1.57,CSH,8.0 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,900,2.38,CSH,11.5 +VTS,1,1,840,3.46,CRD,13.5 +VTS,1,1,720,3.06,CSH,12.0 +VTS,1,1,1320,9.93,CSH,30.0 +VTS,1,1,600,1.05,CSH,7.5 +VTS,1,1,360,1.23,CSH,7.0 +VTS,1,1,660,3.29,CSH,12.0 +VTS,1,1,360,1.01,CSH,6.5 +VTS,1,1,120,0.43,CSH,4.0 +VTS,1,1,480,1.7,CSH,8.0 +VTS,1,1,1440,4.12,CRD,18.0 +VTS,1,1,540,1.48,CRD,8.0 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,1,240,0.81,CSH,5.5 +VTS,1,1,420,1.12,CSH,6.5 +VTS,1,1,360,1.81,CSH,7.5 +VTS,1,1,540,1.91,CSH,8.5 +VTS,1,1,480,0.82,CSH,6.5 +VTS,1,1,480,2.04,CRD,8.5 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,780,4.02,CRD,14.0 +VTS,1,1,1200,12.35,CSH,34.5 +VTS,1,1,240,0.46,CRD,4.0 +VTS,1,1,720,3.47,CRD,12.5 +VTS,1,1,300,0.72,CRD,5.0 +VTS,1,1,420,0.72,CRD,5.5 +VTS,1,1,600,1.94,CSH,8.5 +VTS,1,1,300,1.33,CRD,6.0 +VTS,1,1,480,1.6,CSH,7.5 +VTS,1,1,360,0.74,CRD,5.5 +VTS,1,1,1020,3.58,CSH,15.0 +VTS,1,1,1500,6.61,CSH,23.0 +VTS,1,1,900,4.17,CRD,15.0 +VTS,1,1,420,1.32,CSH,7.0 +VTS,1,1,240,0.84,CRD,5.5 +VTS,1,1,300,0.48,CRD,5.0 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,480,1.08,CRD,7.0 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,480,0.71,CSH,6.5 +VTS,1,1,600,2.3,CSH,9.5 +VTS,1,1,120,0.47,CSH,3.5 +VTS,1,1,120,0.57,CSH,4.0 +VTS,1,1,420,0.9,CSH,6.0 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,720,2.02,CRD,10.0 +VTS,1,1,360,1.14,CRD,6.0 +VTS,1,1,420,1.56,CRD,7.5 +VTS,1,1,2520,5.67,CSH,25.5 +VTS,1,1,420,1.19,CRD,6.5 +VTS,1,1,180,1.66,CSH,6.5 +VTS,1,1,420,1.37,CSH,7.0 +VTS,1,1,480,1.3,CSH,7.5 +VTS,1,1,300,1.42,CRD,6.5 +VTS,1,1,540,1.69,CSH,8.0 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,240,0.63,CRD,4.5 +VTS,1,1,600,3.73,CRD,12.0 +VTS,1,1,480,1.11,CSH,7.5 +VTS,1,1,600,2.49,CSH,10.0 +VTS,1,1,600,2.58,CSH,10.0 +VTS,1,1,1500,6.07,CRD,21.5 +VTS,1,1,1080,4.28,CRD,15.5 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,1380,1.59,CSH,14.0 +VTS,1,1,420,0.96,CSH,6.0 +VTS,1,1,300,1.54,CSH,7.0 +VTS,1,1,720,3.96,CRD,13.5 +VTS,1,1,240,1.72,CRD,6.5 +VTS,1,1,900,4.18,CRD,15.0 +VTS,1,1,1200,5.1,CRD,18.5 +VTS,1,1,660,2.58,CSH,11.0 +VTS,1,1,600,1.78,CSH,8.5 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,180,0.72,CRD,4.0 +VTS,1,1,600,4.1,CSH,13.5 +VTS,1,1,1620,7.43,CRD,24.5 +VTS,1,1,840,2.83,CSH,12.5 +VTS,1,1,660,2.72,CRD,11.0 +VTS,1,1,180,0.82,CSH,5.0 +VTS,1,1,720,1.49,CSH,9.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,1020,3.02,CRD,13.5 +VTS,1,1,180,0.88,CSH,4.5 +VTS,1,1,1260,4.79,CRD,17.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,720,1.95,CSH,9.5 +VTS,1,1,780,3.0,CRD,11.5 +VTS,1,1,540,1.37,CRD,7.5 +VTS,1,1,360,0.84,CSH,6.0 +VTS,1,1,480,1.22,CRD,7.0 +VTS,1,1,1920,12.2,CRD,37.5 +VTS,1,1,840,3.5,CRD,12.5 +VTS,1,1,300,0.76,CSH,5.0 +VTS,1,1,1560,4.12,CSH,20.0 +VTS,1,1,900,3.84,CRD,14.0 +VTS,1,1,240,0.76,CSH,5.0 +VTS,1,1,600,2.29,CRD,9.5 +VTS,1,1,1140,6.65,CRD,22.0 +VTS,1,1,720,1.81,CSH,10.0 +VTS,1,1,180,0.44,CSH,4.0 +VTS,1,1,1200,7.97,CSH,24.5 +VTS,1,1,720,1.72,CSH,9.0 +VTS,1,1,420,0.88,CSH,6.0 +VTS,1,1,240,0.64,CSH,4.5 +VTS,1,1,900,2.99,CRD,13.5 +VTS,1,1,1440,4.66,CRD,19.0 +VTS,1,1,600,1.41,CSH,8.5 +VTS,1,1,540,2.05,CRD,9.0 +VTS,1,1,600,2.71,CRD,11.0 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,660,3.23,CRD,11.5 +VTS,1,1,780,2.31,CSH,10.5 +VTS,1,1,300,0.72,CRD,5.0 +VTS,1,1,360,1.04,CRD,6.0 +VTS,1,1,600,2.12,CSH,9.5 +VTS,1,1,420,1.71,CRD,7.0 +VTS,1,1,360,1.23,CRD,6.5 +VTS,1,1,600,0.8,CSH,7.0 +VTS,1,1,1080,1.02,CRD,11.5 +VTS,1,1,1200,6.88,CSH,22.5 +VTS,1,1,420,1.36,CSH,7.0 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,240,1.17,CRD,5.5 +VTS,1,1,600,3.16,CRD,12.0 +VTS,1,1,360,0.83,CSH,6.0 +VTS,1,1,300,1.36,CSH,6.5 +VTS,1,1,840,1.5,CRD,10.0 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,540,1.46,CSH,8.5 +VTS,1,1,360,0.94,CRD,6.0 +VTS,1,1,960,3.18,CRD,13.5 +CMT,1,1,613,2.8,CSH,10.5 +CMT,1,1,396,1.7,CRD,7.5 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,1020,3.08,CRD,13.5 +VTS,1,1,600,2.22,CSH,9.5 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,1,1620,7.02,CRD,25.5 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,660,1.61,CSH,8.5 +VTS,1,1,1860,2.74,CSH,18.5 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,1080,3.7,CRD,15.0 +VTS,1,1,720,2.55,CSH,11.0 +VTS,1,1,480,1.32,CRD,8.0 +VTS,1,1,60,0.58,CRD,3.5 +VTS,1,1,720,1.79,CRD,9.5 +VTS,2,1,1740,17.64,CRD,52.0 +VTS,1,1,900,4.52,CRD,15.5 +VTS,1,1,1080,3.46,CRD,14.5 +VTS,1,1,480,2.51,CRD,9.5 +VTS,1,1,540,2.25,CRD,9.0 +VTS,1,1,720,3.49,CSH,13.0 +VTS,1,1,900,2.92,CSH,12.5 +VTS,1,1,360,1.0,CRD,6.0 +VTS,1,1,600,1.7,CSH,9.0 +CMT,1,1,993,3.3,CRD,14.0 +CMT,1,1,283,1.4,CRD,6.5 +CMT,1,1,201,1.0,CSH,5.5 +VTS,1,1,420,1.72,CSH,8.0 +VTS,1,1,240,1.14,CSH,5.5 +VTS,1,1,540,2.46,CRD,10.0 +CMT,1,1,667,2.2,CSH,10.0 +CMT,1,1,864,3.1,CRD,13.0 +CMT,1,1,177,0.9,CSH,4.5 +CMT,1,1,293,1.5,CSH,7.0 +CMT,1,1,260,0.7,CSH,5.0 +CMT,1,1,708,2.4,CRD,10.5 +CMT,1,1,803,4.1,CSH,14.5 +CMT,1,1,217,1.1,CSH,5.5 +CMT,1,1,829,2.6,CSH,12.0 +CMT,1,1,138,0.3,CSH,3.5 +CMT,1,1,1062,5.1,CSH,17.0 +CMT,1,1,368,1.3,CSH,7.0 +CMT,1,1,293,1.6,CRD,7.0 +CMT,1,1,758,5.2,CSH,16.0 +CMT,1,1,486,1.7,CSH,8.0 +CMT,1,1,129,0.7,CSH,4.0 +CMT,1,1,1704,6.9,CSH,24.0 +CMT,1,1,1427,4.1,CRD,18.5 +CMT,1,1,490,1.7,CRD,8.0 +CMT,1,1,2176,12.8,CSH,41.0 +CMT,1,1,268,0.7,CRD,5.0 +CMT,1,1,403,1.2,CRD,7.0 +CMT,1,1,218,0.6,CRD,4.5 +VTS,2,1,2340,15.82,CRD,52.0 +VTS,1,1,180,0.47,CSH,4.0 +VTS,1,1,780,2.59,CRD,11.5 +CMT,1,1,564,2.3,CSH,10.0 +CMT,1,1,338,1.6,CRD,7.0 +CMT,1,1,237,1.2,CSH,5.5 +CMT,1,1,445,1.8,CRD,8.5 +CMT,1,1,273,0.8,CRD,5.0 +CMT,1,1,233,1.2,CSH,6.0 +CMT,1,1,413,2.4,CSH,8.5 +CMT,1,1,246,1.2,CSH,6.0 +CMT,1,1,316,1.2,CRD,6.5 +CMT,1,1,368,1.6,CRD,7.5 +CMT,1,1,104,0.7,CSH,4.0 +CMT,1,1,194,0.6,CSH,4.5 +CMT,1,1,381,1.3,CRD,6.5 +CMT,1,1,819,2.5,CRD,11.5 +CMT,1,1,485,2.4,CRD,9.5 +CMT,1,1,1370,5.9,CSH,21.0 +CMT,1,1,350,2.4,CRD,8.5 +CMT,1,1,1066,7.0,CRD,22.0 +CMT,1,1,839,4.3,CSH,14.5 +CMT,1,1,117,0.7,CSH,4.0 +CMT,1,1,383,3.2,CSH,11.0 +CMT,1,1,538,2.1,CSH,9.5 +CMT,1,1,560,2.1,CSH,9.0 +CMT,1,1,508,2.7,CSH,10.0 +CMT,1,1,143,0.4,CSH,4.0 +CMT,1,1,658,2.4,CSH,10.5 +CMT,1,1,266,0.8,CSH,5.0 +CMT,1,1,349,1.2,CSH,6.5 +CMT,1,1,268,1.3,CRD,6.0 +CMT,1,1,639,2.7,CRD,10.5 +CMT,1,1,3,0.0,CSH,2.5 +CMT,1,1,271,0.8,CRD,5.5 +CMT,1,1,1258,7.2,CSH,23.5 +CMT,1,1,422,2.1,CRD,8.5 +CMT,1,1,205,0.4,CSH,4.0 +CMT,1,1,646,1.7,CSH,9.5 +CMT,1,1,506,1.4,CSH,7.5 +CMT,1,1,1048,3.1,CRD,14.0 +CMT,1,1,1258,2.7,CRD,15.0 +CMT,1,1,414,0.9,CSH,6.5 +CMT,1,1,453,2.3,CRD,9.5 +CMT,1,1,1180,4.0,CRD,16.5 +CMT,1,1,954,2.7,CRD,12.5 +CMT,1,1,767,2.3,CSH,11.0 +CMT,1,1,607,1.7,CSH,8.5 +CMT,1,1,627,1.1,CSH,8.0 +CMT,1,1,515,0.8,CRD,7.0 +CMT,1,1,585,2.4,CRD,10.0 +CMT,1,1,368,0.9,CRD,6.0 +VTS,1,1,840,2.47,CSH,11.5 +VTS,1,1,1320,5.37,CRD,20.5 +VTS,1,1,720,3.55,CRD,12.5 +VTS,1,1,720,0.76,CRD,8.5 +VTS,1,1,840,2.49,CRD,11.5 +VTS,1,1,960,2.11,CRD,11.0 +VTS,1,1,180,0.96,CSH,5.0 +CMT,1,1,769,4.0,CSH,14.5 +CMT,1,1,1371,3.8,CRD,16.5 +CMT,1,1,477,1.3,CRD,7.5 +CMT,1,1,737,4.2,CSH,13.5 +CMT,1,1,135,0.6,CSH,4.0 +CMT,1,1,671,2.1,CRD,10.0 +CMT,1,1,1271,4.5,CRD,18.5 +CMT,1,1,564,2.8,CRD,10.5 +CMT,1,1,604,3.0,CRD,11.0 +CMT,1,1,1485,10.6,CRD,31.5 +CMT,1,1,1452,8.8,CSH,28.5 +CMT,1,1,191,0.8,CSH,5.0 +CMT,1,1,410,2.0,CSH,7.5 +CMT,1,1,793,1.8,CRD,10.0 +CMT,1,1,523,1.4,CRD,7.5 +CMT,1,1,201,0.6,CSH,4.5 +CMT,1,1,881,3.2,CSH,13.0 +CMT,1,1,834,2.7,CSH,12.0 +CMT,1,1,843,2.9,CRD,12.5 +VTS,1,1,780,2.31,CRD,10.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,960,2.78,CRD,12.5 +VTS,1,1,660,2.17,CRD,10.0 +VTS,1,1,540,2.41,CRD,9.0 +VTS,1,1,300,0.84,CRD,5.5 +VTS,1,1,780,3.46,CRD,13.5 +VTS,1,1,780,2.38,CSH,11.0 +VTS,1,1,480,2.16,CSH,9.0 +VTS,1,1,1020,2.87,CSH,13.0 +VTS,1,1,660,1.93,CSH,9.5 +VTS,1,1,540,1.18,CRD,7.0 +VTS,1,1,300,0.49,CRD,4.5 +VTS,1,1,1080,2.38,CSH,13.0 +VTS,1,1,480,0.76,CRD,6.5 +VTS,1,1,300,1.28,CSH,6.0 +VTS,1,1,60,0.04,CSH,2.5 +VTS,1,1,600,1.97,CRD,9.0 +VTS,1,1,720,1.89,CSH,10.0 +VTS,1,1,900,3.28,CRD,13.0 +VTS,1,1,1320,4.75,CSH,19.0 +VTS,1,1,60,0.0,CSH,2.5 +VTS,1,1,420,0.92,CRD,6.0 +VTS,1,1,1020,2.83,CRD,13.0 +VTS,1,1,420,1.7,CSH,8.0 +VTS,1,1,660,1.72,CSH,9.0 +VTS,1,1,1320,3.73,CSH,16.5 +VTS,1,1,1200,2.84,CSH,14.5 +VTS,1,1,840,3.18,CRD,13.0 +VTS,1,1,540,0.98,CRD,7.5 +VTS,1,1,1140,1.92,CSH,13.0 +VTS,1,1,960,4.43,CRD,15.0 +VTS,1,1,300,1.19,CSH,6.0 +VTS,1,1,720,3.55,CSH,12.5 +VTS,1,1,600,1.86,CSH,9.0 +VTS,1,1,1740,6.86,CRD,25.0 +VTS,1,1,660,0.8,CSH,8.0 +VTS,1,1,1440,8.02,CSH,25.5 +VTS,1,1,1020,4.51,CSH,16.0 +VTS,1,1,420,0.74,CRD,6.0 +CMT,1,1,401,1.4,CSH,7.0 +CMT,1,1,486,1.4,CRD,7.0 +CMT,1,1,253,0.9,CRD,5.5 +CMT,1,1,175,0.7,CRD,4.5 +CMT,1,1,485,2.0,CRD,9.0 +CMT,1,1,728,2.2,CRD,10.5 +CMT,1,1,181,0.8,CSH,5.0 +CMT,1,1,468,2.8,CRD,10.0 +CMT,1,1,331,1.3,CSH,6.5 +CMT,1,1,126,0.8,CRD,4.5 +CMT,1,1,884,2.2,CRD,12.0 +CMT,1,1,241,1.0,CSH,5.5 +CMT,1,1,294,1.8,CSH,7.0 +CMT,1,1,296,1.1,CRD,6.0 +CMT,1,1,6,0.0,NOC,2.5 +CMT,1,1,894,2.3,CSH,12.0 +CMT,1,1,535,2.0,CRD,9.0 +CMT,1,1,1582,5.4,CRD,22.5 +CMT,1,1,266,0.6,CSH,5.0 +CMT,1,1,458,1.1,CSH,7.0 +CMT,1,1,280,1.4,CRD,6.0 +CMT,1,1,404,1.8,CRD,8.0 +CMT,1,1,862,1.8,CSH,11.5 +CMT,2,2,2686,17.4,CRD,52.0 +CMT,1,1,290,0.5,CRD,5.0 +CMT,1,1,712,3.3,CRD,12.5 +CMT,1,1,429,0.8,CSH,6.5 +CMT,1,1,431,1.1,CSH,7.0 +CMT,1,1,361,1.2,CRD,6.5 +CMT,1,1,248,0.9,CRD,5.0 +CMT,1,1,189,0.4,CSH,4.0 +CMT,1,1,872,2.3,CRD,11.5 +CMT,1,1,439,1.6,CRD,7.5 +CMT,1,1,495,1.9,CSH,8.5 +CMT,1,1,543,0.7,CRD,7.0 +CMT,1,1,1162,5.1,CSH,19.5 +CMT,1,1,264,0.7,CRD,5.0 +CMT,1,1,1267,4.0,CRD,17.0 +VTS,1,1,1980,6.86,CRD,26.0 +VTS,1,1,540,1.57,CRD,8.0 +CMT,1,1,223,1.4,CSH,6.0 +CMT,1,1,206,1.0,CRD,5.0 +CMT,1,1,629,2.3,CSH,10.0 +CMT,1,1,252,1.6,CSH,6.5 +CMT,1,1,401,1.3,CSH,7.5 +CMT,1,1,1082,4.2,CRD,16.0 +CMT,1,1,762,2.1,CRD,10.5 +CMT,1,1,370,1.7,CSH,7.5 +CMT,1,1,742,3.9,CRD,13.5 +CMT,1,1,280,1.8,CRD,7.0 +CMT,1,1,452,1.2,CSH,7.5 +CMT,1,1,246,1.1,CSH,5.5 +CMT,1,1,444,2.2,CSH,9.0 +CMT,1,1,763,6.4,CSH,20.0 +CMT,1,1,933,3.1,CRD,13.5 +CMT,1,1,1877,5.1,CSH,23.0 +CMT,1,1,1283,5.3,CSH,19.5 +CMT,1,1,701,2.5,CSH,10.5 +CMT,1,1,2,0.0,NOC,2.5 +CMT,1,1,794,5.3,CSH,17.5 +CMT,1,1,465,1.5,CSH,7.5 +CMT,1,1,830,3.5,CRD,13.5 +CMT,1,1,3618,13.2,CSH,47.5 +CMT,1,1,281,0.6,CSH,5.0 +CMT,1,1,723,2.3,CRD,11.0 +CMT,1,1,332,0.8,CRD,5.5 +CMT,1,1,281,0.9,CRD,5.5 +CMT,1,1,736,2.7,CRD,11.0 +CMT,1,1,626,2.8,CRD,11.0 +CMT,1,1,78,0.6,CSH,4.0 +CMT,1,1,437,1.8,CSH,8.0 +CMT,1,1,808,2.0,CSH,10.0 +CMT,1,1,310,1.3,CRD,6.0 +CMT,1,1,445,1.2,CRD,7.0 +CMT,1,1,405,1.3,CRD,7.0 +CMT,1,1,350,1.2,CSH,6.5 +CMT,1,1,913,2.5,CSH,12.5 +CMT,1,1,649,4.9,CRD,15.5 +CMT,1,1,1412,4.6,CSH,20.5 +CMT,1,1,456,1.5,CRD,7.5 +CMT,1,1,530,1.6,CRD,8.0 +CMT,1,1,930,6.1,CRD,19.5 +CMT,1,1,127,0.5,CSH,4.0 +CMT,1,1,219,1.1,CRD,5.5 +CMT,1,1,1002,8.0,CRD,24.0 +CMT,1,2,1280,9.8,CSH,28.5 +CMT,1,1,137,0.3,CSH,3.5 +CMT,1,1,651,1.1,CRD,8.5 +CMT,1,1,669,3.1,CSH,11.5 +CMT,1,1,721,1.8,CRD,9.5 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,1080,5.95,CSH,19.0 +VTS,1,1,780,1.04,CRD,9.0 +VTS,1,1,600,1.72,CRD,9.0 +VTS,1,1,840,2.46,CSH,11.5 +VTS,1,1,420,0.99,CRD,6.5 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,1,360,0.92,CRD,6.0 +VTS,1,1,720,2.19,CRD,10.0 +CMT,1,1,685,3.2,CSH,12.0 +CMT,1,1,169,0.7,CSH,4.5 +CMT,1,1,502,2.5,CRD,10.5 +CMT,1,1,433,2.1,CSH,8.5 +CMT,1,1,147,0.4,CRD,4.0 +CMT,1,1,1121,5.6,CSH,18.5 +CMT,1,1,294,1.0,CRD,6.0 +CMT,1,1,455,1.8,CSH,8.0 +CMT,1,1,361,2.3,CSH,8.5 +CMT,1,1,640,3.4,CRD,12.5 +CMT,1,1,591,3.0,CSH,10.5 +CMT,1,1,358,0.9,CRD,6.5 +CMT,1,1,204,0.4,CSH,4.5 +CMT,1,1,826,2.4,CSH,11.5 +CMT,1,1,228,1.3,CSH,6.0 +CMT,1,1,84,0.5,CSH,3.5 +CMT,1,1,361,0.7,CSH,6.0 +CMT,1,1,177,0.7,CSH,4.5 +CMT,1,1,314,1.8,CSH,7.0 +CMT,1,1,409,1.4,CRD,7.0 +CMT,1,1,194,0.5,CSH,4.5 +CMT,1,1,284,1.1,CSH,5.5 +CMT,1,1,869,1.4,CRD,10.0 +CMT,1,1,135,0.5,CRD,4.0 +CMT,1,1,459,0.8,CSH,6.5 +CMT,1,1,1112,5.3,CRD,19.0 +CMT,1,1,491,1.4,CRD,7.5 +CMT,1,1,474,1.2,CRD,7.0 +CMT,1,1,552,1.1,CRD,7.5 +CMT,1,1,525,1.3,CRD,8.0 +CMT,1,1,315,0.2,CSH,5.0 +CMT,1,1,2180,9.4,CSH,33.0 +CMT,1,1,360,2.5,CRD,9.0 +CMT,1,1,1175,2.9,CRD,15.0 +CMT,1,1,629,2.0,CSH,9.5 +CMT,1,1,203,0.5,CRD,4.5 +CMT,1,1,676,1.9,CRD,9.5 +CMT,1,1,362,1.2,CSH,6.0 +CMT,1,1,180,0.5,CRD,4.0 +CMT,1,1,840,2.1,CSH,11.0 +CMT,1,1,1025,2.9,CSH,13.5 +CMT,1,1,1095,1.1,CSH,11.5 +CMT,1,1,213,0.5,CRD,4.5 +CMT,1,1,656,1.3,CSH,8.5 +CMT,1,1,581,1.0,CRD,7.5 +CMT,1,1,1444,9.9,CRD,31.0 +CMT,1,1,291,0.8,CSH,5.5 +CMT,1,1,275,0.5,CRD,5.0 +CMT,1,1,756,1.9,CSH,10.0 +CMT,1,1,435,1.8,CRD,8.0 +CMT,1,1,1462,10.0,CRD,30.5 +CMT,1,1,537,2.4,CRD,9.5 +CMT,1,1,191,1.1,CRD,5.5 +CMT,1,1,182,0.5,CRD,4.0 +CMT,1,1,743,2.1,CRD,10.5 +CMT,1,1,1189,3.3,CRD,15.0 +CMT,1,1,134,0.7,CSH,4.0 +CMT,1,1,1024,2.0,CSH,12.5 +CMT,1,1,140,0.5,CRD,3.5 +CMT,1,1,1137,1.3,CRD,12.0 +CMT,1,1,985,3.4,CSH,13.5 +CMT,1,1,1008,1.9,CRD,12.5 +CMT,1,1,2340,10.5,CRD,36.0 +CMT,1,1,571,2.7,CRD,11.0 +CMT,1,1,178,0.5,CSH,4.0 +CMT,1,1,563,1.5,CRD,8.5 +CMT,1,1,932,8.9,CRD,25.0 +CMT,1,1,131,0.5,CSH,4.0 +CMT,1,1,304,0.6,CSH,5.0 +CMT,1,1,2111,8.0,CSH,29.5 +CMT,1,1,191,0.7,CSH,4.5 +CMT,1,1,970,3.4,CRD,14.5 +CMT,1,1,778,3.6,CRD,13.5 +CMT,1,1,95,0.8,CSH,4.0 +CMT,1,1,235,1.2,CSH,5.5 +CMT,1,1,592,1.8,CSH,9.0 +CMT,1,1,660,1.5,CSH,9.0 +CMT,1,1,136,0.6,CRD,4.0 +CMT,1,1,983,2.6,CRD,13.0 +CMT,1,1,603,1.6,CRD,8.5 +CMT,1,1,355,1.4,CRD,6.5 +CMT,1,1,215,0.5,CSH,4.0 +CMT,1,1,1258,4.8,CRD,19.0 +CMT,1,1,204,0.8,CRD,4.5 +CMT,2,2,2209,19.1,CRD,52.0 +CMT,1,1,1432,6.4,CRD,22.5 +CMT,1,1,1010,4.6,CRD,17.0 +CMT,1,1,1485,4.3,CRD,19.5 +CMT,1,1,815,2.0,CRD,10.5 +CMT,1,1,611,0.8,CSH,8.0 +CMT,1,1,431,1.6,CSH,7.5 +CMT,1,1,161,0.8,CRD,4.5 +CMT,1,1,356,1.2,CSH,6.5 +CMT,1,1,231,0.7,CSH,4.5 +CMT,1,1,993,3.8,CSH,15.5 +CMT,1,1,310,0.6,CSH,5.0 +CMT,1,1,188,1.0,CSH,5.0 +CMT,1,1,786,1.6,CRD,10.0 +CMT,1,1,521,1.8,CRD,8.5 +CMT,1,1,241,0.7,CRD,5.0 +CMT,1,1,178,0.8,CSH,4.5 +CMT,1,1,254,0.8,CRD,5.0 +CMT,1,1,502,1.5,CSH,8.0 +CMT,1,1,602,1.6,CSH,9.0 +CMT,1,1,920,2.8,CRD,13.0 +CMT,1,1,497,2.0,CSH,8.5 +CMT,1,1,728,3.2,CRD,12.5 +CMT,1,1,1395,3.1,CSH,16.5 +CMT,1,1,405,1.2,CSH,6.5 +CMT,1,1,998,1.0,CSH,11.0 +CMT,1,1,499,1.1,CSH,7.5 +CMT,1,1,174,0.6,CSH,4.0 +CMT,1,1,788,1.8,CRD,10.0 +CMT,1,1,184,0.6,CSH,4.5 +CMT,1,1,1401,5.3,CSH,19.5 +CMT,1,1,772,2.2,CRD,11.0 +CMT,1,1,602,1.2,CRD,8.0 +CMT,1,1,883,6.8,CSH,22.0 +CMT,1,1,192,0.8,CRD,5.0 +CMT,1,1,434,1.6,CRD,7.5 +CMT,1,1,266,0.7,CRD,5.0 +CMT,1,1,663,1.0,CSH,8.0 +CMT,1,1,257,0.7,CRD,5.0 +CMT,1,1,1021,7.0,CRD,21.5 +CMT,1,1,459,1.5,CRD,7.5 +CMT,1,1,1230,3.2,CRD,15.5 +CMT,1,1,487,1.9,CRD,8.5 +CMT,1,1,282,0.6,CRD,5.0 +CMT,1,1,1253,5.1,CSH,19.0 +CMT,1,1,492,2.0,CRD,8.5 +CMT,1,1,1069,3.4,CRD,15.0 +CMT,1,2,971,9.0,CSH,26.0 +CMT,1,1,484,0.9,CSH,7.0 +CMT,1,1,928,1.6,CSH,11.0 +CMT,1,1,553,1.1,CRD,7.5 +CMT,1,1,616,3.1,CSH,11.5 +CMT,1,1,467,0.6,CSH,6.0 +CMT,1,1,363,0.8,CSH,5.5 +CMT,1,1,1499,2.8,CRD,16.5 +CMT,1,1,451,0.9,CSH,6.5 +CMT,1,1,244,0.6,CRD,4.5 +CMT,1,1,489,1.8,CSH,8.5 +CMT,1,1,643,1.8,CRD,9.0 +CMT,1,1,454,0.9,CSH,6.5 +CMT,1,1,1014,3.9,CSH,16.0 +CMT,1,1,243,0.7,CSH,5.0 +CMT,1,1,1300,4.1,CRD,17.0 +CMT,1,1,1115,2.8,CSH,14.5 +CMT,1,1,257,1.3,CRD,6.0 +CMT,1,1,736,2.0,CRD,10.5 +CMT,1,1,370,1.8,CRD,7.5 +CMT,1,1,563,1.7,CSH,8.5 +CMT,1,1,1103,4.8,CRD,17.0 +CMT,1,1,792,2.9,CRD,12.0 +CMT,1,1,958,3.8,CRD,15.0 +CMT,1,1,490,2.0,CRD,9.0 +CMT,1,1,899,2.4,CRD,12.0 +CMT,1,1,263,0.6,CRD,5.0 +CMT,1,1,970,2.0,CRD,11.5 +CMT,1,1,647,1.1,CSH,8.0 +CMT,1,1,655,2.0,CSH,9.5 +CMT,1,1,549,1.6,CSH,8.5 +CMT,1,1,542,1.3,CRD,8.0 +CMT,1,1,1274,2.6,CRD,15.0 +CMT,1,1,492,1.2,CRD,7.0 +CMT,1,1,156,0.6,CSH,4.0 +CMT,1,1,1228,6.8,CRD,22.0 +CMT,1,1,640,1.2,CRD,8.0 +CMT,1,1,731,0.5,CRD,8.5 +CMT,1,1,768,1.3,CSH,9.5 +CMT,1,1,592,1.5,CRD,8.0 +CMT,1,1,1207,2.2,CSH,13.5 +CMT,1,1,1205,6.3,CRD,21.5 +CMT,1,1,1718,4.6,CRD,20.5 +CMT,1,1,281,1.1,CRD,5.5 +CMT,1,1,357,1.3,CRD,6.5 +CMT,1,1,879,2.1,CRD,11.5 +CMT,1,1,489,0.9,CRD,7.0 +CMT,1,1,250,1.0,CRD,5.0 +CMT,1,1,157,0.8,CSH,4.5 +CMT,1,1,373,1.1,CRD,6.5 +CMT,1,1,443,1.4,CRD,7.5 +CMT,1,1,227,0.7,CSH,5.0 +CMT,1,1,683,1.8,CSH,9.5 +CMT,1,1,327,0.7,CSH,5.5 +CMT,1,1,1554,7.5,CRD,26.0 +CMT,1,1,215,0.8,CRD,5.0 +CMT,1,1,479,1.0,CRD,7.0 +CMT,1,1,529,1.3,CSH,8.0 +CMT,1,1,1420,9.8,CRD,29.0 +CMT,2,1,1798,18.8,CRD,52.0 +CMT,1,1,248,0.9,CSH,5.0 +CMT,1,1,379,1.8,CSH,7.5 +CMT,1,1,302,0.3,CRD,5.0 +CMT,1,1,980,4.4,CRD,15.5 +CMT,1,1,262,1.5,CSH,6.0 +CMT,1,1,630,2.8,CRD,11.0 +CMT,1,1,907,2.8,CRD,12.5 +CMT,1,1,811,2.6,CRD,11.5 +CMT,1,1,686,0.9,CSH,8.5 +CMT,1,1,1657,10.2,CRD,31.5 +CMT,1,1,595,1.1,CSH,8.0 +CMT,1,1,278,1.0,CSH,5.5 +CMT,1,1,154,0.9,CSH,4.5 +CMT,1,1,863,4.1,CSH,14.5 +CMT,2,1,1849,16.8,CRD,52.0 +CMT,1,1,398,1.2,CSH,6.5 +CMT,1,1,382,1.3,CRD,6.5 +CMT,1,1,659,2.6,CRD,11.0 +CMT,1,1,677,2.6,CRD,11.0 +CMT,1,1,732,2.3,CSH,10.5 +CMT,1,1,340,0.9,CSH,5.5 +CMT,2,1,3230,18.2,CRD,52.0 +CMT,1,1,970,5.4,CRD,17.5 +CMT,1,1,175,1.3,CRD,5.5 +CMT,1,1,242,0.9,CSH,5.0 +CMT,1,1,204,0.6,CRD,4.5 +CMT,1,1,1804,3.6,CRD,19.5 +CMT,1,1,536,0.6,CSH,7.0 +CMT,1,1,433,1.3,CRD,7.0 +CMT,1,1,554,0.9,CSH,7.0 +CMT,2,4,2371,17.6,CSH,52.0 +CMT,1,1,1317,4.1,CSH,17.5 +CMT,1,1,1762,4.3,CRD,20.5 +CMT,1,1,260,0.9,CSH,5.5 +CMT,1,1,1268,9.5,CRD,28.5 +CMT,1,1,502,2.7,CRD,10.0 +CMT,1,1,901,2.8,CRD,13.0 +CMT,1,1,1017,1.6,CSH,11.5 +CMT,1,1,557,1.0,CSH,7.5 +CMT,1,1,968,4.8,CSH,17.0 +CMT,1,1,916,1.8,CRD,11.0 +CMT,1,1,990,2.9,CSH,13.0 +CMT,1,1,924,3.3,CRD,13.5 +CMT,1,1,417,1.8,CSH,7.5 +CMT,1,1,730,2.1,CSH,10.0 +CMT,1,1,307,0.8,CRD,5.5 +CMT,1,1,875,1.6,CRD,10.5 +CMT,1,1,164,0.5,CSH,4.0 +CMT,1,1,418,0.8,CSH,6.5 +CMT,1,1,601,1.5,CRD,8.5 +CMT,1,1,2600,10.4,CSH,39.0 +CMT,1,1,1217,3.6,CRD,15.5 +CMT,1,1,474,0.8,CSH,6.5 +CMT,1,1,1087,3.1,CSH,14.0 +CMT,1,1,408,0.8,CSH,6.5 +CMT,1,1,450,1.2,CSH,7.0 +CMT,1,1,426,1.2,CSH,6.5 +CMT,1,1,141,0.4,CSH,4.0 +CMT,1,1,314,0.9,CSH,5.5 +CMT,1,1,285,0.7,CSH,5.0 +CMT,1,1,785,1.4,CRD,9.5 +CMT,1,1,717,1.2,CSH,9.5 +CMT,1,1,305,0.7,CSH,5.5 +CMT,1,1,342,0.8,CSH,5.5 +CMT,1,1,394,1.4,CSH,6.5 +CMT,1,1,382,1.0,CSH,6.5 +CMT,1,1,588,1.1,CRD,8.0 +CMT,1,1,1376,6.5,CRD,22.0 +CMT,1,1,1928,11.0,CSH,35.5 +CMT,1,1,224,1.0,CSH,5.0 +CMT,1,1,527,1.2,CSH,7.5 +CMT,1,1,475,1.1,CSH,7.0 +CMT,1,1,1191,2.9,CRD,15.5 +CMT,1,1,485,0.9,CSH,7.0 +CMT,1,1,452,1.1,CSH,6.5 +CMT,1,1,414,1.4,CSH,7.0 +CMT,1,1,410,1.5,CSH,7.5 +CMT,1,1,981,8.8,CRD,26.0 +CMT,1,1,623,0.8,CRD,7.5 +CMT,1,1,209,0.6,CRD,4.5 +CMT,1,1,593,2.7,CRD,10.5 +CMT,1,1,86,0.2,CSH,3.0 +CMT,1,1,558,1.2,CRD,7.5 +CMT,1,1,217,0.7,CSH,5.0 +CMT,1,1,90,0.4,CSH,3.5 +CMT,1,1,318,1.1,CSH,5.5 +CMT,1,1,329,1.2,CSH,6.5 +CMT,1,1,992,3.7,CSH,15.5 +CMT,1,1,334,1.0,CRD,6.0 +CMT,1,1,234,0.7,CRD,5.0 +CMT,1,1,229,0.5,CSH,4.5 +CMT,1,1,463,1.4,CRD,7.5 +CMT,1,1,2629,9.9,CRD,34.5 +CMT,1,1,1198,4.0,CSH,17.0 +CMT,1,1,2465,10.5,CRD,36.5 +CMT,1,1,708,3.2,CSH,12.5 +CMT,1,1,258,0.8,CSH,5.5 +CMT,1,1,267,0.8,CRD,5.0 +CMT,1,1,1067,3.0,CSH,14.0 +CMT,1,1,675,1.9,CSH,9.5 +CMT,1,1,1385,3.3,CRD,16.0 +CMT,1,1,2515,8.6,CSH,34.0 +CMT,1,1,195,0.8,CSH,5.0 +CMT,1,1,504,1.8,CSH,8.0 +CMT,1,1,493,1.7,CSH,8.0 +CMT,1,1,1164,3.6,CRD,15.5 +CMT,1,1,323,0.8,CSH,5.5 +CMT,1,1,529,1.0,CSH,7.5 +CMT,1,1,414,0.9,CSH,6.5 +CMT,1,1,265,1.0,CSH,5.5 +CMT,1,1,494,1.8,CSH,8.0 +CMT,1,1,393,1.8,CSH,7.5 +CMT,1,1,826,3.0,CSH,12.5 +CMT,1,1,669,1.8,CRD,9.5 +CMT,1,1,606,1.4,CRD,8.5 +CMT,1,1,188,0.7,CSH,4.5 +CMT,1,1,359,1.0,CRD,6.0 +CMT,1,1,234,0.6,CSH,4.5 +CMT,1,1,1286,2.8,CRD,15.5 +CMT,1,1,446,0.7,CSH,6.5 +CMT,1,1,280,1.2,CRD,5.5 +CMT,1,1,695,1.6,CRD,9.5 +CMT,1,1,618,4.5,CRD,15.0 +CMT,1,1,374,2.3,CRD,8.5 +CMT,1,1,675,2.9,CRD,12.0 +CMT,1,1,387,1.3,CRD,7.0 +CMT,1,1,452,1.3,CRD,7.0 +CMT,1,1,169,0.6,CSH,4.5 +CMT,1,1,412,1.2,CSH,7.0 +CMT,1,1,640,3.0,CSH,11.0 +CMT,1,1,804,1.9,CRD,10.0 +CMT,1,1,616,1.1,CRD,8.0 +CMT,1,1,628,1.4,CSH,8.5 +CMT,1,1,228,0.6,CRD,5.0 +CMT,1,1,424,1.2,CRD,6.5 +CMT,1,1,413,1.0,CSH,6.5 +CMT,1,1,1319,3.9,CSH,16.5 +CMT,1,1,2961,9.2,CRD,38.5 +CMT,1,1,752,1.6,CRD,9.5 +CMT,1,1,640,3.2,CSH,11.5 +CMT,1,1,903,2.3,CRD,12.0 +CMT,1,1,910,1.5,CSH,10.5 +CMT,1,1,679,1.4,CRD,9.0 +CMT,1,1,126,0.6,CRD,4.0 +CMT,1,1,309,0.8,CRD,5.5 +CMT,1,1,185,0.8,CSH,5.0 +CMT,1,1,533,2.1,CRD,9.0 +CMT,1,1,598,1.3,CSH,8.0 +CMT,1,1,349,1.0,CSH,6.0 +CMT,1,1,978,1.2,CSH,11.0 +CMT,1,1,544,1.3,CSH,8.0 +CMT,1,1,1089,8.6,CRD,25.5 +CMT,1,1,980,4.9,CSH,16.5 +CMT,1,1,1220,3.9,CRD,17.0 +CMT,1,1,422,1.7,CRD,8.0 +CMT,1,1,300,0.9,CSH,5.5 +CMT,1,1,540,1.2,CRD,7.5 +CMT,1,1,1015,0.8,CSH,11.0 +CMT,1,1,808,2.6,CSH,11.5 +CMT,1,1,594,2.5,CSH,10.0 +CMT,1,1,400,1.0,CRD,6.0 +CMT,1,1,964,4.8,CSH,17.5 +CMT,1,1,392,2.0,CRD,8.0 +CMT,1,1,422,1.8,CSH,7.5 +CMT,1,1,773,2.1,CSH,11.0 +CMT,1,1,1079,2.1,CRD,12.5 +CMT,1,1,569,1.0,CSH,7.5 +CMT,1,1,875,3.3,CRD,13.5 +CMT,1,1,586,1.2,CSH,8.0 +CMT,1,1,493,0.8,CSH,7.0 +CMT,1,1,810,1.7,CSH,10.5 +CMT,1,1,162,0.4,CSH,4.0 +CMT,1,1,550,1.8,CRD,8.5 +CMT,1,1,313,1.0,CSH,6.0 +CMT,1,1,194,0.7,CSH,4.5 +CMT,1,1,647,1.1,CRD,8.5 +CMT,1,1,383,1.0,CSH,6.5 +CMT,1,1,220,0.7,CSH,5.0 +CMT,1,1,624,1.8,CRD,9.0 +CMT,1,1,380,1.3,CSH,7.0 +CMT,1,1,1677,4.5,CRD,21.0 +CMT,1,1,709,1.9,CRD,10.0 +CMT,1,1,989,4.5,CSH,16.0 +CMT,1,1,359,0.9,CRD,5.5 +CMT,1,1,236,0.9,CSH,5.0 +CMT,1,1,57,0.3,CSH,3.0 +CMT,1,1,1049,3.5,CRD,15.0 +CMT,1,1,575,3.2,CRD,11.5 +CMT,1,1,243,0.9,CRD,5.0 +CMT,1,1,697,4.4,CSH,14.0 +CMT,1,1,627,1.8,CRD,9.0 +CMT,1,1,467,1.4,CRD,7.5 +CMT,1,1,619,0.8,CRD,8.0 +CMT,1,1,589,2.0,CSH,9.5 +CMT,1,1,526,1.7,CRD,8.0 +CMT,1,1,1257,5.5,CSH,20.0 +CMT,1,1,475,0.8,CSH,6.5 +CMT,1,1,1697,13.4,CRD,38.5 +CMT,1,1,897,3.0,CRD,13.0 +CMT,1,1,985,3.9,CRD,15.5 +CMT,1,1,153,0.3,CSH,3.5 +CMT,1,1,418,0.7,CRD,6.0 +CMT,1,1,348,1.1,CRD,6.0 +CMT,1,1,309,0.9,CRD,5.5 +CMT,1,1,722,2.2,CRD,10.0 +CMT,1,1,1649,7.4,CRD,26.5 +CMT,1,1,368,1.1,CSH,6.0 +CMT,1,1,489,1.3,CSH,7.0 +CMT,1,1,2287,8.4,CRD,30.0 +CMT,1,1,354,0.9,CSH,6.0 +CMT,1,1,581,1.0,CRD,7.5 +CMT,1,1,592,1.0,CSH,8.0 +CMT,1,1,460,1.2,CRD,7.0 +CMT,1,1,177,0.5,CSH,4.0 +CMT,1,1,1321,3.0,CSH,15.5 +CMT,1,1,1261,4.6,CRD,18.5 +CMT,1,1,335,1.4,CSH,6.5 +CMT,1,1,399,0.6,CSH,6.0 +CMT,1,1,703,2.2,CRD,10.5 +CMT,1,1,1004,3.9,CRD,16.0 +CMT,1,1,826,2.3,CRD,11.5 +CMT,1,1,792,2.7,CRD,11.5 +CMT,1,1,1365,3.7,CRD,17.5 +CMT,1,1,482,1.5,CSH,7.5 +CMT,1,1,951,2.0,CSH,12.0 +CMT,1,1,1408,3.9,CSH,18.5 +CMT,1,1,1448,11.9,CRD,35.0 +CMT,1,1,534,1.1,CSH,7.5 +CMT,1,1,1149,2.5,CSH,13.5 +CMT,1,1,450,1.2,CRD,7.0 +CMT,1,1,738,3.1,CSH,12.5 +CMT,1,1,825,3.1,CSH,12.5 +CMT,1,1,548,2.9,CRD,11.0 +CMT,1,1,740,2.6,CRD,11.5 +CMT,1,1,146,0.4,CRD,4.0 +CMT,1,1,403,1.3,CSH,6.5 +CMT,1,1,223,1.1,CSH,5.5 +CMT,1,1,492,1.2,CRD,7.0 +CMT,1,1,697,1.2,CRD,9.0 +CMT,1,1,393,1.3,CSH,7.0 +CMT,1,1,522,1.1,CSH,7.0 +CMT,1,1,784,1.9,CRD,10.5 +CMT,1,1,754,1.5,CRD,9.0 +CMT,1,1,2091,10.6,CRD,32.5 +CMT,1,1,2098,9.6,CRD,33.0 +CMT,1,1,359,1.6,CRD,7.5 +CMT,1,1,1489,4.7,CSH,20.5 +CMT,1,1,972,4.7,CSH,16.5 +CMT,1,1,449,1.8,CSH,8.0 +CMT,1,2,581,2.7,CSH,10.5 +CMT,1,1,1540,8.2,CSH,26.5 +CMT,1,1,490,2.0,CRD,9.5 +CMT,1,1,823,1.9,CRD,11.0 +CMT,1,1,94,0.4,CSH,3.5 +CMT,1,1,1499,3.0,CSH,17.0 +CMT,1,1,598,1.4,CRD,8.5 +CMT,1,1,812,1.3,CRD,9.5 +CMT,1,1,263,1.9,CSH,7.0 +CMT,1,1,466,1.8,CRD,8.5 +CMT,1,1,1048,5.3,CRD,18.5 +CMT,1,1,689,2.1,CRD,10.0 +CMT,1,1,328,1.2,CSH,6.5 +CMT,1,1,1321,2.6,CRD,15.0 +CMT,1,1,204,0.6,CSH,4.5 +CMT,1,1,362,1.1,CRD,6.0 +CMT,1,1,520,2.1,CSH,9.0 +CMT,1,1,266,1.0,CSH,5.5 +CMT,1,1,952,2.1,CRD,12.0 +CMT,1,1,365,0.9,CRD,6.0 +CMT,1,1,287,1.1,CSH,6.0 +CMT,1,1,489,1.3,CSH,7.5 +CMT,1,1,411,1.3,CRD,7.0 +CMT,1,1,389,0.6,CSH,6.0 +CMT,1,1,754,2.2,CSH,10.5 +CMT,1,1,187,0.9,CSH,5.0 +CMT,1,1,389,1.3,CSH,7.0 +CMT,1,1,1150,2.6,CSH,14.0 +CMT,1,1,412,1.0,CSH,6.0 +CMT,1,1,354,0.6,CSH,5.5 +CMT,1,1,779,2.5,CRD,11.5 +CMT,1,1,209,0.6,CSH,4.5 +CMT,1,1,2557,8.9,CSH,33.5 +CMT,1,1,568,2.1,CSH,9.0 +CMT,1,1,455,1.2,CRD,7.5 +CMT,1,1,401,1.2,CSH,6.5 +CMT,1,1,1209,6.7,CRD,22.0 +CMT,1,1,862,1.9,CSH,11.0 +CMT,1,1,623,1.3,CRD,8.0 +CMT,1,1,318,0.9,CSH,5.5 +CMT,1,1,332,1.2,CRD,6.0 +CMT,1,1,439,1.3,CRD,7.0 +CMT,1,1,479,2.0,CRD,8.5 +CMT,1,1,993,2.9,CRD,13.5 +CMT,1,1,1315,1.9,CRD,14.5 +CMT,1,1,563,1.8,CRD,9.0 +CMT,1,1,273,0.8,CSH,5.0 +CMT,1,1,994,2.1,CSH,12.5 +CMT,1,1,421,1.2,CRD,7.0 +CMT,1,1,632,1.3,CRD,8.0 +CMT,1,1,1296,1.6,CSH,14.0 +CMT,1,1,577,0.9,CSH,7.5 +CMT,1,1,1414,2.4,CSH,15.0 +CMT,1,1,191,0.7,CSH,4.5 +CMT,1,1,669,1.8,CRD,9.5 +CMT,1,1,508,2.0,CRD,8.5 +CMT,1,1,275,1.1,CSH,6.0 +CMT,1,1,961,3.6,CRD,14.0 +CMT,1,1,349,1.2,CRD,6.0 +CMT,1,1,360,0.7,CRD,6.0 +CMT,1,1,462,3.6,CRD,12.5 +CMT,1,1,469,1.8,CRD,8.5 +CMT,1,1,968,3.2,CRD,13.5 +CMT,1,1,548,2.0,CSH,9.0 +CMT,1,1,357,1.5,CRD,7.0 +CMT,1,1,1156,3.1,CSH,14.0 +CMT,1,1,456,0.8,CRD,6.5 +CMT,1,1,304,1.0,CSH,5.5 +CMT,1,1,1792,8.1,CSH,28.5 +CMT,1,1,412,1.8,CSH,8.0 +CMT,1,1,897,3.5,CSH,13.5 +CMT,1,1,610,0.8,CSH,7.5 +CMT,1,1,508,1.0,CSH,7.0 +CMT,1,1,405,0.6,CSH,6.0 +CMT,1,1,249,0.6,CRD,5.0 +CMT,1,1,560,2.0,CSH,9.0 +CMT,1,1,772,2.3,CRD,11.0 +CMT,1,2,1552,9.3,CRD,30.0 +CMT,1,1,1038,5.6,CSH,19.0 +CMT,1,1,311,1.3,CRD,6.0 +CMT,1,1,237,0.7,CRD,5.0 +CMT,1,1,667,1.5,CSH,9.0 +CMT,1,1,455,2.1,CRD,9.0 +CMT,1,1,799,2.3,CRD,11.0 +CMT,1,1,468,1.9,CSH,8.5 +CMT,1,1,1352,3.2,CSH,16.5 +CMT,1,1,1037,3.7,CSH,15.0 +CMT,1,1,262,0.9,CRD,5.0 +CMT,1,1,2193,9.4,CSH,31.5 +CMT,1,1,459,1.3,CSH,7.0 +CMT,1,1,308,1.1,CSH,6.0 +CMT,1,1,722,1.8,CRD,9.5 +CMT,1,1,1562,9.6,CRD,30.0 +CMT,1,1,959,3.2,CSH,13.5 +CMT,1,1,355,0.6,CSH,5.5 +CMT,1,1,488,1.3,CSH,7.5 +CMT,1,1,1194,4.2,CRD,16.5 +CMT,1,1,236,0.5,CSH,4.5 +CMT,1,1,413,1.3,CRD,7.0 +CMT,1,1,325,0.9,CRD,6.0 +CMT,1,1,675,1.6,CSH,9.5 +CMT,1,1,762,1.7,CRD,9.5 +CMT,1,1,890,7.2,CRD,22.0 +CMT,1,1,594,2.1,CSH,9.5 +CMT,1,1,188,1.0,CSH,5.0 +CMT,1,1,932,1.0,CSH,10.0 +CMT,1,1,729,1.3,CSH,9.0 +CMT,1,1,1162,5.4,CSH,19.5 +CMT,1,1,229,0.5,CRD,4.5 +CMT,1,1,812,7.3,CSH,21.5 +CMT,1,1,919,4.1,CSH,16.0 +CMT,1,1,446,1.7,CRD,7.5 +CMT,1,1,646,1.8,CSH,9.0 +CMT,1,1,595,3.3,CRD,12.0 +CMT,1,1,909,4.6,CRD,16.5 +CMT,1,1,700,3.3,CSH,12.5 +CMT,1,1,285,0.9,CRD,5.5 +CMT,1,1,689,3.2,CSH,12.0 +CMT,1,1,310,1.1,CSH,6.0 +CMT,1,1,216,1.1,CRD,5.5 +CMT,1,1,917,4.2,CSH,15.5 +CMT,1,1,319,0.7,CSH,5.5 +CMT,1,1,430,1.5,CRD,7.5 +CMT,1,1,1140,3.4,CRD,14.5 +CMT,1,1,841,2.5,CSH,11.5 +CMT,1,1,569,1.6,CRD,8.5 +CMT,1,1,708,2.1,CSH,10.0 +CMT,1,1,746,1.8,CSH,10.0 +CMT,1,1,245,0.7,CRD,4.5 +CMT,1,1,570,2.4,CRD,9.5 +CMT,1,1,1180,3.8,CRD,16.0 +CMT,1,1,778,3.3,CSH,13.0 +CMT,1,1,729,3.0,CSH,11.5 +CMT,1,1,165,0.6,CRD,4.0 +CMT,1,1,552,1.8,CSH,9.0 +CMT,1,1,959,3.4,CRD,14.0 +CMT,1,1,196,1.0,CRD,5.0 +CMT,1,1,345,1.4,CRD,6.5 +CMT,1,1,755,3.0,CRD,12.5 +CMT,1,1,162,0.8,CSH,4.5 +CMT,1,1,284,0.8,CSH,5.0 +CMT,1,1,297,0.8,CRD,5.5 +CMT,1,1,178,0.4,CSH,4.0 +CMT,1,1,499,0.6,CSH,6.5 +CMT,1,1,431,0.9,CSH,6.5 +CMT,1,1,582,2.9,CSH,11.5 +CMT,1,1,453,2.8,CRD,9.5 +CMT,1,1,304,0.7,CSH,5.5 +CMT,1,1,1059,5.4,CRD,18.5 +CMT,1,1,175,0.7,CRD,4.5 +CMT,1,1,6,0.0,CSH,2.5 +CMT,1,1,463,1.3,CSH,7.0 +CMT,1,1,615,2.0,CSH,9.0 +CMT,1,1,884,5.1,CSH,16.5 +CMT,1,1,798,3.0,CSH,12.5 +CMT,1,1,648,2.3,CRD,10.5 +CMT,1,1,341,1.5,CSH,6.5 +CMT,1,1,939,2.7,CSH,12.5 +CMT,1,1,873,3.6,CSH,13.5 +CMT,1,1,958,2.5,CRD,12.0 +CMT,1,1,874,2.9,CSH,12.5 +CMT,1,1,377,1.2,CSH,6.5 +CMT,1,1,425,1.8,CSH,8.0 +CMT,1,1,444,2.3,CSH,8.5 +CMT,1,1,672,2.0,CSH,10.0 +CMT,1,1,543,1.9,CSH,9.0 +CMT,1,1,928,4.2,CRD,14.5 +CMT,1,1,163,0.9,CRD,4.5 +CMT,1,1,569,1.4,CSH,8.0 +CMT,1,1,1001,4.8,CSH,16.5 +CMT,1,1,937,1.8,CRD,11.0 +CMT,1,1,1305,3.4,CRD,16.0 +CMT,1,1,851,3.8,CSH,14.0 +CMT,1,1,1259,4.8,CSH,18.5 +CMT,1,1,221,0.9,CSH,5.0 +CMT,1,1,846,1.1,CRD,10.0 +CMT,1,1,215,1.0,CRD,5.5 +CMT,1,1,686,4.8,CRD,15.5 +CMT,1,1,503,1.2,CRD,7.5 +CMT,1,1,293,0.9,CSH,5.5 +CMT,1,1,576,1.0,CSH,8.0 +CMT,1,1,831,4.3,CSH,15.5 +CMT,1,1,15,0.0,CSH,2.5 +CMT,1,1,423,1.3,CSH,7.0 +CMT,1,1,662,2.2,CSH,10.0 +CMT,1,1,397,1.3,CSH,6.5 +CMT,1,1,1506,4.5,CRD,19.0 +CMT,1,1,476,1.5,CSH,7.5 +CMT,1,1,669,1.7,CSH,9.0 +CMT,1,1,340,0.7,CSH,5.5 +CMT,1,1,231,0.5,CSH,4.5 +CMT,1,1,1614,8.3,CRD,28.0 +CMT,1,1,1001,3.3,CSH,13.5 +CMT,1,1,395,0.7,CSH,6.0 +CMT,1,1,654,1.7,CRD,9.0 +CMT,1,1,1176,6.5,CSH,22.0 +CMT,1,1,1576,3.0,CRD,17.0 +CMT,1,1,580,1.7,CRD,8.5 +CMT,1,1,207,0.9,CSH,5.0 +CMT,1,1,956,3.6,CSH,14.5 +CMT,1,1,1181,9.5,CSH,28.5 +CMT,1,1,87,0.0,CSH,3.0 +CMT,1,1,606,2.8,CSH,10.5 +CMT,1,1,863,1.7,CSH,10.5 +CMT,1,1,417,1.3,CSH,7.0 +CMT,1,1,310,0.8,CSH,5.5 +CMT,1,1,479,2.4,CSH,9.0 +CMT,1,2,2717,19.2,CSH,53.5 +CMT,1,1,211,0.6,CRD,4.5 +CMT,1,1,177,0.6,CRD,4.5 +CMT,1,1,507,1.5,CSH,8.0 +CMT,1,1,1160,6.1,CRD,21.0 +CMT,1,1,568,1.9,CRD,9.0 +CMT,1,1,208,0.5,CSH,4.5 +CMT,1,1,648,1.8,CSH,9.5 +CMT,1,1,564,1.8,CSH,8.5 +CMT,1,1,461,2.0,CSH,8.5 +CMT,1,1,422,1.3,CSH,7.5 +CMT,1,1,819,3.3,CSH,13.0 +CMT,1,1,640,3.0,CSH,11.0 +CMT,1,1,109,0.3,CSH,3.5 +CMT,1,1,759,2.1,CSH,10.0 +CMT,1,1,1166,2.5,CRD,13.5 +CMT,1,1,894,2.2,CRD,11.5 +CMT,1,1,294,1.2,CRD,6.5 +CMT,1,1,109,0.3,CRD,3.5 +CMT,1,1,682,2.2,CSH,10.0 +CMT,1,1,963,3.2,CRD,13.5 +CMT,1,1,421,1.4,CSH,7.5 +CMT,1,1,250,0.9,CRD,5.0 +CMT,1,1,778,4.3,CSH,14.5 +CMT,1,1,423,0.7,CSH,6.0 +CMT,1,1,484,1.4,CSH,7.5 +CMT,1,1,702,1.8,CSH,9.5 +CMT,1,1,447,1.5,CRD,7.5 +CMT,1,1,303,1.1,CSH,6.0 +CMT,1,1,254,0.5,CSH,4.5 +CMT,1,1,522,1.1,CSH,7.5 +CMT,1,1,169,0.9,CSH,4.5 +CMT,1,1,1810,7.9,CSH,28.0 +CMT,1,1,551,2.0,CRD,9.0 +CMT,1,1,635,4.3,CRD,14.5 +CMT,1,1,105,0.5,CRD,4.0 +CMT,1,1,702,3.3,CSH,12.5 +CMT,1,1,283,1.2,CRD,6.0 +CMT,1,1,464,1.5,CRD,7.5 +CMT,1,1,1279,5.8,CSH,21.5 +CMT,1,1,1799,7.4,CRD,26.5 +CMT,1,1,650,2.6,CSH,10.0 +CMT,1,1,955,3.4,CSH,13.5 +CMT,1,1,418,0.7,CSH,6.0 +CMT,1,1,1322,6.6,CRD,23.0 +CMT,1,1,851,4.4,CRD,15.0 +CMT,1,1,390,0.5,CRD,6.0 +CMT,1,1,548,3.1,CSH,10.5 +CMT,1,1,354,0.9,CRD,6.0 +CMT,1,1,535,2.1,CSH,9.0 +CMT,1,1,2268,8.9,CSH,31.5 +CMT,1,1,742,3.5,CSH,12.5 +CMT,1,1,570,1.6,CRD,8.5 +CMT,1,1,1179,5.0,CSH,18.5 +CMT,1,1,1102,4.6,CRD,16.5 +CMT,1,1,185,1.0,CSH,5.0 +CMT,1,1,394,0.9,CRD,6.0 +CMT,1,1,478,1.5,CRD,7.5 +CMT,1,1,524,2.1,CRD,9.0 +CMT,1,1,471,2.1,CSH,8.5 +CMT,1,1,692,1.8,CRD,9.5 +CMT,1,1,959,3.0,CRD,13.0 +CMT,1,1,656,2.7,CRD,10.5 +CMT,1,1,912,1.8,CSH,11.0 +CMT,1,1,475,1.3,CRD,7.5 +CMT,1,1,601,3.1,CRD,11.5 +CMT,1,1,960,5.8,CRD,18.0 +CMT,1,1,294,1.4,CSH,6.0 +CMT,1,1,471,1.5,CRD,7.5 +CMT,1,1,1910,7.3,CRD,27.5 +CMT,1,1,337,1.0,CRD,6.0 +CMT,1,1,224,1.2,CSH,5.5 +CMT,1,1,553,1.1,CSH,8.0 +CMT,1,1,483,1.6,CSH,7.5 +CMT,1,1,565,2.1,CRD,9.5 +CMT,1,1,483,1.2,CSH,7.5 +CMT,1,1,771,2.6,CRD,12.0 +CMT,1,1,1042,1.5,CRD,11.5 +CMT,1,1,163,0.3,CRD,4.0 +CMT,1,1,812,1.7,CRD,10.0 +CMT,1,1,658,0.8,CRD,8.0 +CMT,1,1,3597,19.3,CRD,60.0 +CMT,1,1,716,1.7,CSH,9.5 +CMT,1,1,333,0.9,CSH,5.5 +CMT,1,1,843,5.4,CRD,17.5 +CMT,1,1,532,1.5,CSH,8.0 +CMT,1,1,794,2.5,CRD,11.0 +CMT,1,1,210,0.8,CSH,5.0 +CMT,1,1,843,4.3,CSH,15.0 +CMT,1,1,70,0.6,CRD,3.5 +CMT,1,1,581,3.3,CRD,11.0 +CMT,1,1,654,1.1,CRD,8.5 +CMT,1,1,162,0.6,CRD,4.0 +CMT,1,1,860,3.7,CSH,14.0 +CMT,1,1,237,0.8,CRD,5.0 +CMT,1,1,743,2.3,CRD,10.5 +CMT,1,1,259,0.8,CSH,5.0 +CMT,1,1,874,3.7,CRD,13.5 +CMT,1,1,431,1.6,CSH,7.5 +CMT,1,1,393,1.3,CSH,6.5 +CMT,1,1,123,0.3,CRD,3.5 +CMT,1,1,610,3.0,CRD,11.5 +CMT,1,1,367,1.2,CRD,6.5 +CMT,1,1,256,0.6,CSH,4.5 +CMT,1,1,608,1.0,CSH,8.0 +CMT,1,1,842,4.2,CSH,15.0 +CMT,1,1,545,0.8,CSH,7.0 +CMT,1,1,400,3.3,CRD,11.5 +CMT,1,1,257,1.2,CRD,6.0 +CMT,1,1,971,4.0,CRD,15.5 +CMT,1,1,869,2.4,CSH,11.5 +CMT,1,1,954,2.9,CRD,13.0 +CMT,1,1,1172,5.6,CRD,20.0 +CMT,1,1,164,0.8,CSH,4.5 +CMT,1,1,1315,4.4,CRD,17.5 +CMT,1,1,215,1.1,CSH,5.5 +CMT,4,1,969,6.0,CRD,20.0 +CMT,1,1,266,1.0,CSH,6.0 +CMT,1,1,644,2.1,CSH,10.0 +CMT,1,1,636,3.6,CSH,12.5 +CMT,1,1,396,1.1,CSH,6.5 +CMT,1,1,473,1.4,CSH,7.5 +CMT,1,1,594,1.4,CRD,8.0 +CMT,1,1,442,1.5,CSH,7.5 +CMT,1,1,261,1.1,CRD,6.0 +CMT,1,1,571,2.9,CRD,10.5 +CMT,1,1,227,1.4,CSH,6.0 +CMT,1,1,66,0.4,CSH,3.0 +CMT,1,1,47,0.0,CSH,2.5 +CMT,1,1,258,0.9,CRD,5.5 +CMT,1,1,297,1.6,CRD,7.0 +CMT,1,1,624,2.4,CRD,10.5 +CMT,1,1,582,1.8,CRD,9.0 +CMT,1,1,1044,5.0,CRD,18.0 +CMT,1,1,839,2.5,CRD,11.5 +CMT,1,2,1053,6.5,CRD,20.5 +CMT,1,1,1267,6.7,CRD,22.0 +CMT,1,1,449,1.6,CSH,7.5 +CMT,1,1,1048,3.0,CSH,13.5 +CMT,1,1,1352,5.2,CSH,19.0 +CMT,1,1,683,1.9,CSH,9.5 +CMT,1,1,277,1.4,CSH,6.0 +CMT,1,1,598,1.7,CRD,9.0 +CMT,1,1,305,1.7,CRD,7.0 +CMT,1,1,430,1.5,CRD,7.5 +CMT,1,1,228,0.9,CSH,5.0 +CMT,1,1,290,1.1,CRD,6.0 +CMT,1,1,117,0.4,CRD,3.5 +CMT,1,1,613,2.2,CRD,9.5 +CMT,1,1,541,2.7,CSH,10.0 +CMT,1,1,932,3.9,CRD,14.5 +CMT,1,1,414,1.6,CSH,7.5 +CMT,1,1,404,1.7,CRD,7.5 +CMT,1,1,151,0.4,CSH,3.5 +CMT,1,1,348,2.5,CSH,9.5 +CMT,1,1,176,1.2,CRD,5.5 +CMT,1,1,790,2.5,CRD,11.0 +CMT,1,1,591,1.6,CRD,9.0 +CMT,1,1,475,1.5,CSH,8.0 +CMT,1,1,574,1.6,CRD,8.5 +CMT,1,1,1242,8.9,CRD,26.5 +CMT,1,1,378,1.6,CSH,7.0 +CMT,1,1,2018,7.1,CRD,28.0 +CMT,1,1,1143,8.4,CRD,24.5 +CMT,1,1,377,1.4,CSH,7.0 +CMT,1,1,373,1.3,CRD,7.0 +CMT,1,1,625,2.1,CSH,10.0 +CMT,1,1,293,0.9,CSH,5.5 +CMT,1,1,319,0.6,CRD,5.0 +CMT,1,1,297,0.9,CRD,5.5 +CMT,1,1,272,1.0,CSH,5.5 +CMT,1,1,1167,4.7,CSH,17.0 +CMT,1,2,1243,10.8,CRD,31.0 +CMT,1,1,192,1.1,CSH,5.0 +CMT,1,1,1413,11.0,CSH,32.0 +CMT,1,1,476,1.1,CSH,7.0 +CMT,1,1,1201,6.7,CRD,21.0 +CMT,1,1,415,1.5,CRD,7.5 +CMT,1,1,101,0.5,CRD,3.5 +CMT,1,1,302,2.5,CRD,8.5 +CMT,1,1,480,3.7,CSH,12.0 +CMT,1,1,370,1.2,CSH,6.5 +CMT,1,1,261,0.6,CSH,5.0 +CMT,1,1,850,3.1,CSH,13.5 +CMT,1,1,282,0.8,CSH,5.0 +CMT,1,1,753,2.7,CSH,11.0 +CMT,1,1,393,1.6,CSH,7.5 +CMT,1,1,256,1.0,CSH,5.5 +CMT,1,1,388,1.6,CSH,7.0 +CMT,1,1,916,3.2,CRD,13.0 +CMT,1,1,1125,2.8,CSH,14.0 +CMT,1,1,2197,7.4,CRD,29.0 +CMT,1,1,591,1.8,CRD,9.0 +CMT,1,1,1278,6.0,CRD,21.0 +CMT,1,1,437,2.0,CSH,8.5 +CMT,1,1,321,1.0,CRD,5.5 +CMT,1,1,375,1.5,CSH,7.0 +CMT,1,1,808,2.8,CRD,12.0 +CMT,1,1,1376,3.6,CRD,17.0 +CMT,1,1,692,2.5,CSH,10.5 +CMT,1,1,439,1.2,CRD,7.0 +CMT,1,1,380,0.9,CSH,6.0 +CMT,1,1,581,1.2,CRD,7.5 +CMT,1,1,514,2.3,CSH,10.0 +CMT,1,1,1103,4.3,CSH,16.0 +CMT,1,1,415,1.2,CRD,7.0 +CMT,1,1,662,2.7,CRD,11.0 +CMT,1,1,837,3.8,CSH,14.5 +CMT,1,1,560,1.2,CRD,7.5 +CMT,1,1,532,1.4,CRD,8.0 +CMT,1,1,94,0.3,CSH,3.0 +CMT,1,1,319,1.4,CRD,6.5 +CMT,1,1,789,2.7,CSH,11.0 +CMT,1,1,395,1.4,CSH,7.0 +CMT,1,1,588,4.0,CRD,13.5 +CMT,1,1,453,1.7,CSH,8.0 +CMT,1,2,933,9.0,CSH,25.5 +CMT,1,1,452,0.9,CSH,7.0 +CMT,1,1,615,3.3,CRD,11.5 +CMT,1,1,912,3.9,CRD,14.5 +CMT,1,1,970,4.1,CRD,15.5 +CMT,1,1,813,3.9,CRD,14.5 +CMT,1,1,1149,2.6,CRD,13.5 +CMT,1,1,2085,11.2,CSH,34.5 +CMT,1,1,808,3.9,CRD,14.5 +CMT,1,1,337,1.2,CRD,6.5 +CMT,1,1,517,2.3,CRD,9.0 +CMT,1,1,1417,2.8,CRD,16.0 +CMT,1,1,274,0.8,CRD,5.5 +CMT,1,1,426,0.6,CRD,6.5 +CMT,1,1,1415,3.4,CRD,17.0 +CMT,1,1,257,0.7,CSH,5.0 +CMT,1,1,1022,1.5,CSH,11.5 +CMT,1,1,283,0.7,CSH,5.5 +CMT,1,1,473,3.2,CRD,10.5 +CMT,1,1,1722,9.0,CRD,28.5 +CMT,1,1,624,4.8,CSH,15.5 +CMT,1,1,332,1.3,CRD,6.5 +CMT,1,1,373,1.0,CSH,6.5 +CMT,1,1,343,1.6,CSH,7.5 +CMT,1,1,740,3.6,CSH,13.5 +CMT,1,1,860,4.8,CRD,15.5 +CMT,1,1,624,4.1,CRD,13.5 +CMT,1,1,674,1.2,CSH,8.5 +CMT,1,1,653,2.8,CSH,10.5 +CMT,1,1,369,1.6,CSH,7.0 +CMT,1,1,147,0.5,CSH,4.0 +CMT,1,1,300,1.1,CSH,6.0 +CMT,1,1,137,0.9,CSH,4.5 +CMT,1,1,330,1.5,CRD,6.5 +CMT,1,1,157,1.2,CRD,5.0 +CMT,1,1,610,2.1,CSH,9.5 +CMT,1,1,608,2.5,CSH,10.5 +CMT,1,1,576,1.5,CRD,8.0 +CMT,1,1,1601,6.3,CSH,23.5 +CMT,1,1,1251,6.4,CRD,21.0 +CMT,1,1,455,2.0,CRD,8.5 +CMT,1,1,842,3.1,CRD,13.0 +CMT,1,1,258,1.5,CRD,6.5 +CMT,1,1,532,2.0,CRD,9.0 +CMT,1,1,386,1.0,CRD,6.0 +CMT,1,1,495,0.9,CSH,5.5 +CMT,1,1,610,1.6,CSH,8.5 +CMT,1,1,829,5.2,CRD,16.0 +CMT,1,1,323,1.0,CSH,6.0 +CMT,1,1,351,1.5,CRD,7.0 +CMT,1,1,1150,5.1,CRD,19.0 +CMT,1,1,312,0.6,CRD,5.0 +CMT,1,1,208,0.7,CSH,4.5 +CMT,1,1,319,1.4,CSH,6.5 +CMT,1,1,580,2.3,CRD,9.5 +CMT,1,1,540,2.1,CSH,9.5 +CMT,1,1,470,1.3,CSH,7.5 +CMT,1,1,717,2.1,CRD,10.0 +CMT,1,1,520,1.6,CSH,8.0 +CMT,1,1,725,1.7,CRD,10.0 +CMT,1,1,223,0.8,CSH,4.5 +CMT,1,1,490,1.5,CRD,8.0 +CMT,1,1,429,1.0,CRD,6.5 +CMT,1,1,200,0.9,CRD,5.0 +CMT,1,1,552,2.1,CSH,8.5 +CMT,1,1,445,1.5,CRD,7.5 +CMT,1,1,1313,9.0,CSH,27.5 +CMT,1,1,858,2.7,CRD,12.0 +CMT,1,1,672,2.1,CSH,10.0 +CMT,1,1,70,0.4,CSH,3.5 +CMT,1,1,387,0.7,CRD,5.5 +CMT,4,1,1439,15.5,CRD,58.0 +CMT,1,1,443,1.1,CRD,6.5 +CMT,1,1,863,1.7,CSH,10.5 +CMT,1,1,914,3.4,CRD,13.5 +CMT,1,1,412,1.0,CRD,6.5 +CMT,1,1,783,1.6,CRD,9.5 +CMT,1,1,285,0.5,CRD,5.0 +CMT,1,1,205,1.7,CRD,6.5 +CMT,1,1,795,2.8,CSH,12.0 +CMT,1,1,446,1.1,CRD,7.0 +CMT,1,1,689,1.6,CSH,10.0 +CMT,1,1,735,3.5,CRD,13.0 +CMT,1,1,370,1.7,CRD,7.0 +CMT,1,1,680,2.4,CRD,11.0 +CMT,1,1,825,2.9,CSH,13.0 +CMT,1,1,648,2.2,CSH,9.5 +CMT,1,1,443,2.2,CRD,8.5 +CMT,1,1,142,1.2,CSH,5.5 +CMT,1,1,213,0.7,CSH,4.5 +CMT,1,1,1256,5.6,CRD,20.0 +CMT,2,2,3253,18.5,CRD,52.0 +CMT,1,1,309,0.7,CSH,5.5 +CMT,1,1,976,6.0,CSH,20.0 +CMT,1,1,1077,5.1,CSH,17.5 +CMT,1,1,429,1.4,CSH,7.0 +CMT,1,1,454,1.1,CRD,7.0 +CMT,1,1,455,1.4,CSH,7.5 +CMT,1,1,726,3.1,CRD,11.0 +CMT,1,1,345,1.2,CSH,6.5 +CMT,1,1,592,5.2,CSH,16.5 +CMT,1,1,258,1.1,CSH,6.0 +CMT,1,1,188,0.9,CRD,5.0 +CMT,1,1,888,4.4,CRD,16.0 +CMT,1,1,266,0.8,CRD,5.0 +CMT,1,1,740,2.0,CRD,10.0 +CMT,1,1,1211,4.4,CSH,16.5 +CMT,1,1,796,1.9,CRD,10.5 +CMT,1,1,481,1.3,CSH,7.5 +CMT,1,1,251,0.8,CSH,5.0 +CMT,1,1,338,1.3,CSH,6.5 +CMT,1,1,547,1.0,CSH,7.0 +CMT,1,1,354,1.0,CRD,6.0 +CMT,1,1,398,1.1,CRD,6.5 +CMT,1,1,1100,3.1,CSH,14.5 +CMT,1,1,295,1.3,CSH,6.0 +CMT,2,1,3399,17.0,CSH,52.0 +CMT,1,1,1188,1.8,CRD,13.0 +CMT,1,1,1093,1.5,CRD,12.0 +CMT,1,1,327,0.7,CSH,5.5 +CMT,1,1,1161,4.5,CRD,17.5 +CMT,1,1,868,1.7,CRD,11.0 +CMT,1,1,776,5.7,CRD,18.0 +CMT,1,1,856,3.6,CSH,13.5 +CMT,1,1,541,5.8,CRD,17.5 +CMT,1,1,343,0.8,CRD,6.0 +CMT,1,1,114,0.4,CRD,3.5 +CMT,1,1,442,1.2,CRD,7.0 +CMT,1,1,1612,5.6,CRD,22.0 +CMT,1,1,193,0.4,CRD,4.0 +CMT,1,1,882,2.8,CRD,12.0 +CMT,1,1,1175,8.8,CSH,26.0 +CMT,1,1,725,4.1,CSH,14.0 +CMT,1,1,707,2.5,CRD,10.5 +CMT,1,1,896,2.2,CRD,11.5 +CMT,1,1,286,1.2,CRD,6.0 +CMT,1,1,598,1.5,CRD,8.5 +CMT,1,1,658,2.0,CRD,9.5 +CMT,1,1,320,1.3,CSH,6.5 +CMT,1,1,952,3.0,CRD,13.5 +CMT,1,1,482,1.6,CRD,8.0 +CMT,1,1,286,1.9,CSH,7.0 +CMT,1,1,702,2.0,CSH,9.5 +CMT,1,1,1540,3.3,CSH,17.5 +CMT,1,1,862,2.4,CRD,11.5 +CMT,1,1,385,1.4,CRD,7.0 +CMT,1,1,804,3.2,CSH,13.0 +CMT,1,1,266,0.7,CSH,5.0 +CMT,1,1,1174,3.9,CRD,16.0 +CMT,1,1,1043,3.9,CSH,14.5 +CMT,1,1,96,0.2,CSH,3.0 +CMT,1,1,301,0.9,CRD,5.5 +CMT,1,1,496,1.3,CSH,7.5 +CMT,1,1,380,1.2,CSH,6.5 +CMT,1,1,137,0.5,CSH,4.0 +CMT,1,1,662,3.5,CSH,12.5 +CMT,1,1,98,0.7,CSH,4.0 +CMT,1,1,501,1.6,CRD,8.0 +CMT,1,1,509,1.8,CRD,8.0 +CMT,1,1,704,1.9,CSH,9.5 +CMT,1,1,242,1.1,CSH,5.5 +CMT,1,1,527,2.5,CSH,9.5 +CMT,5,2,41,0.0,CRD,120.0 +CMT,1,1,854,3.8,CRD,14.0 +CMT,1,1,677,1.6,CSH,9.0 +CMT,1,1,218,0.8,CSH,4.5 +CMT,1,1,765,3.0,CSH,12.0 +CMT,1,1,447,1.7,CSH,7.5 +CMT,1,1,550,1.5,CRD,8.0 +CMT,1,1,473,1.3,CRD,7.5 +CMT,1,1,1194,6.0,CSH,20.0 +CMT,1,1,152,0.6,CSH,4.0 +CMT,1,2,918,8.5,CSH,24.5 +CMT,1,1,428,2.7,CRD,9.5 +CMT,1,1,778,2.1,CSH,10.5 +CMT,1,1,486,1.6,CRD,8.0 +CMT,1,1,599,1.6,CSH,8.5 +CMT,1,1,843,2.0,CSH,11.0 +CMT,1,1,289,0.8,CSH,5.5 +CMT,1,1,848,4.6,CSH,15.5 +CMT,1,1,979,4.3,CSH,16.5 +CMT,1,1,912,5.5,CRD,18.0 +CMT,1,1,317,1.0,CRD,6.0 +CMT,1,1,968,4.3,CRD,16.0 +CMT,1,1,488,1.6,CRD,8.0 +CMT,1,1,1988,24.8,CRD,65.0 +CMT,1,1,390,2.2,CRD,8.0 +CMT,1,1,1096,2.4,CRD,13.0 +CMT,1,1,568,1.5,CRD,8.5 +CMT,1,2,1331,8.3,CSH,26.0 +CMT,1,1,323,1.5,CRD,6.5 +CMT,1,1,264,0.8,CRD,5.5 +CMT,1,1,894,4.8,CSH,17.0 +CMT,1,1,296,0.5,CRD,5.0 +CMT,1,1,962,3.5,CRD,14.0 +CMT,1,1,341,1.3,CSH,6.5 +CMT,1,1,147,0.5,CRD,4.0 +CMT,1,1,360,1.2,CSH,6.5 +CMT,1,1,2085,9.2,CRD,32.0 +CMT,1,1,470,2.6,CRD,9.5 +CMT,1,1,342,0.9,CSH,6.0 +CMT,1,1,408,1.7,CSH,7.5 +CMT,1,1,1416,4.5,CRD,19.0 +CMT,1,1,634,3.3,CSH,12.0 +CMT,1,1,710,3.4,CRD,13.0 +CMT,1,1,208,0.8,CRD,4.5 +CMT,1,1,1006,3.5,CRD,14.0 +CMT,1,1,603,2.4,CSH,10.0 +CMT,1,1,853,4.2,CSH,15.0 +CMT,1,1,251,1.2,CSH,5.5 +CMT,1,1,897,4.9,CRD,17.0 +CMT,1,1,306,1.1,CRD,6.0 +CMT,1,1,468,2.8,CSH,10.0 +CMT,1,1,215,1.3,CSH,5.5 +CMT,1,1,516,1.8,CSH,8.5 +CMT,2,2,2190,18.5,CRD,52.0 +CMT,1,1,620,2.8,CRD,10.5 +CMT,1,1,770,2.3,CRD,11.0 +CMT,1,1,421,1.2,CSH,6.5 +VTS,1,1,420,2.21,CSH,8.5 +CMT,1,1,698,1.9,CRD,9.5 +CMT,1,1,753,4.1,CRD,14.0 +CMT,1,1,503,1.6,CSH,7.5 +CMT,1,1,755,1.8,CSH,10.0 +CMT,1,1,244,1.0,CSH,5.5 +CMT,1,1,940,5.7,CSH,18.5 +CMT,1,1,893,1.8,CRD,11.0 +CMT,1,1,540,1.3,CRD,8.0 +CMT,1,1,230,1.5,CSH,6.0 +CMT,1,1,233,0.8,CRD,5.0 +CMT,1,1,625,2.8,CSH,10.5 +CMT,1,1,522,1.6,CSH,8.0 +CMT,1,1,406,1.9,CRD,8.0 +CMT,1,1,556,1.3,CRD,8.0 +CMT,1,1,604,1.4,CRD,8.0 +CMT,1,1,1183,4.6,CSH,18.0 +CMT,1,1,259,0.7,CRD,5.0 +CMT,1,1,550,2.3,CRD,9.5 +CMT,1,1,891,4.1,CRD,15.0 +CMT,1,1,567,2.7,CSH,11.0 +CMT,1,1,182,1.0,CRD,5.0 +CMT,1,1,530,4.0,CRD,14.0 +CMT,1,1,1979,9.2,CSH,30.5 +CMT,1,1,417,1.9,CSH,8.0 +CMT,1,1,362,0.8,CSH,6.0 +CMT,1,1,443,0.8,CSH,6.5 +CMT,1,1,1239,1.5,CRD,13.0 +CMT,1,1,1033,8.3,CRD,25.0 +CMT,1,1,303,1.3,CRD,6.0 +CMT,1,1,309,1.3,CRD,6.5 +CMT,1,1,604,2.6,CSH,10.0 +CMT,1,1,837,4.0,CSH,14.5 +CMT,1,1,413,0.8,CRD,6.0 +CMT,1,1,479,1.6,CRD,7.5 +CMT,1,1,449,0.8,CRD,6.5 +CMT,1,1,792,3.5,CRD,13.5 +CMT,1,1,491,1.6,CSH,8.0 +CMT,1,1,589,1.5,CRD,8.5 +CMT,1,1,520,1.9,CRD,8.5 +CMT,1,1,85,0.2,CRD,3.0 +CMT,1,1,1664,5.3,CSH,22.0 +CMT,4,1,816,4.5,CSH,15.0 +CMT,1,1,666,2.5,CSH,10.5 +CMT,1,1,312,0.9,CSH,5.5 +CMT,1,1,1221,4.7,CRD,18.5 +CMT,1,1,431,1.5,CSH,7.5 +CMT,1,1,951,3.4,CRD,14.5 +CMT,1,1,318,1.1,CSH,6.0 +CMT,1,1,563,1.7,CRD,8.5 +CMT,1,1,402,1.4,CRD,7.5 +VTS,1,1,240,0.62,CRD,5.0 +VTS,1,1,840,3.52,CSH,13.5 +CMT,1,1,983,5.0,CSH,17.5 +CMT,1,1,486,1.7,CSH,8.0 +CMT,1,1,951,1.9,CSH,11.5 +CMT,1,1,291,0.9,CRD,5.5 +CMT,1,1,260,0.9,CRD,5.0 +CMT,1,2,969,8.0,CRD,24.0 +CMT,1,1,1681,6.5,CRD,24.5 +CMT,1,1,944,4.1,CSH,14.5 +CMT,1,1,1147,4.9,CRD,18.0 +CMT,1,1,543,1.9,CRD,9.0 +CMT,1,1,1472,18.3,CSH,50.0 +CMT,1,1,293,0.9,CSH,5.5 +CMT,1,1,655,3.9,CSH,13.0 +CMT,1,1,898,4.1,CSH,15.0 +CMT,1,1,271,1.4,CRD,6.0 +CMT,1,1,396,1.0,CSH,6.5 +CMT,1,1,742,2.2,CRD,11.0 +CMT,1,1,215,1.4,CSH,6.0 +CMT,1,1,150,0.4,CSH,3.5 +CMT,1,1,296,0.7,CRD,5.0 +VTS,1,1,660,5.93,CSH,18.0 +VTS,1,1,420,1.39,CSH,7.5 +VTS,1,1,420,0.85,CRD,6.5 +VTS,1,1,600,1.85,CRD,9.5 +VTS,1,1,1320,4.45,CRD,18.0 +VTS,1,1,1560,4.62,CRD,19.5 +CMT,1,1,204,0.6,CRD,4.5 +CMT,1,1,244,0.9,CSH,5.5 +CMT,1,1,263,0.7,CSH,5.0 +CMT,1,1,539,1.5,CRD,8.0 +CMT,1,1,167,0.4,CSH,4.0 +CMT,1,1,532,2.4,CSH,9.5 +CMT,1,1,707,2.4,CSH,10.5 +CMT,1,1,746,8.5,CSH,24.0 +CMT,1,1,270,1.0,CRD,5.5 +CMT,1,1,315,0.9,CSH,5.5 +CMT,1,1,701,2.8,CRD,11.5 +CMT,1,1,415,2.1,CRD,8.5 +CMT,1,1,203,0.7,CSH,4.5 +CMT,1,1,398,1.3,CSH,7.0 +CMT,1,1,280,1.6,CSH,7.0 +CMT,1,1,1285,9.6,CRD,28.0 +CMT,1,1,268,0.8,CRD,5.0 +CMT,1,1,141,0.8,CRD,4.5 +CMT,1,1,442,1.5,CSH,7.0 +CMT,1,1,298,1.1,CSH,5.5 +VTS,1,1,720,1.28,CSH,9.0 +VTS,1,1,660,1.76,CRD,8.5 +VTS,1,1,720,1.86,CSH,10.0 +VTS,1,1,780,3.04,CRD,12.5 +VTS,1,1,1380,11.11,CSH,33.0 +VTS,1,1,900,6.5,CRD,20.0 +CMT,1,1,275,1.6,CSH,6.5 +CMT,1,1,805,5.4,CRD,18.5 +CMT,1,1,239,1.1,CSH,5.5 +CMT,1,1,200,1.0,CSH,5.0 +CMT,1,1,808,2.9,CRD,12.0 +CMT,1,1,273,0.7,CSH,5.5 +CMT,1,1,197,0.9,CSH,5.0 +CMT,1,1,402,1.7,CRD,7.5 +CMT,1,1,274,0.7,CRD,5.0 +CMT,2,1,1745,16.8,CSH,52.0 +VTS,1,1,2100,15.15,CRD,43.5 +VTS,1,1,180,0.91,CSH,4.5 +VTS,1,1,240,0.77,CRD,4.5 +VTS,1,1,600,1.9,CRD,9.5 +VTS,1,1,360,0.98,CSH,6.5 +VTS,1,1,480,1.31,CSH,7.0 +VTS,1,1,240,0.69,CSH,5.0 +VTS,1,1,540,1.72,CRD,8.0 +VTS,1,1,540,1.98,CRD,9.0 +VTS,1,1,1320,2.78,CSH,15.5 +VTS,1,1,600,3.74,CSH,13.0 +VTS,1,1,600,3.49,CSH,11.5 +VTS,1,1,540,1.4,CRD,8.0 +VTS,1,1,420,2.14,CRD,8.5 +VTS,1,1,960,4.16,CRD,15.5 +VTS,1,1,600,2.37,CSH,10.0 +CMT,1,1,345,1.2,CSH,6.0 +CMT,1,1,825,3.9,CRD,14.0 +CMT,1,1,2005,6.4,CRD,24.5 +CMT,1,1,892,2.7,CSH,12.0 +CMT,1,1,765,1.7,CRD,10.0 +CMT,1,1,577,2.9,CRD,10.5 +CMT,1,1,460,1.8,CRD,8.0 +CMT,1,1,456,2.5,CRD,9.0 +CMT,1,1,566,3.4,CSH,11.0 +CMT,1,1,1052,3.4,CSH,15.0 +CMT,1,1,1048,5.2,CSH,18.0 +CMT,1,1,605,2.3,CRD,10.0 +CMT,1,1,967,2.3,CRD,12.5 +CMT,1,1,1026,5.1,CRD,18.0 +CMT,1,1,300,1.0,CSH,5.5 +CMT,1,1,1086,2.4,CRD,13.0 +CMT,1,1,274,0.6,CSH,5.0 +CMT,1,1,634,1.6,CRD,9.0 +CMT,1,1,483,2.5,CSH,9.0 +CMT,1,1,809,6.6,CSH,20.0 +CMT,1,1,2122,3.9,CRD,22.5 +CMT,1,1,248,1.0,CSH,5.5 +VTS,1,1,1800,12.62,CRD,38.0 +VTS,1,1,1320,5.95,CRD,21.0 +VTS,1,1,600,1.47,CSH,8.0 +VTS,1,1,1260,7.28,CRD,23.5 +VTS,1,1,1020,6.5,CRD,21.0 +VTS,1,1,2100,4.85,CRD,23.5 +VTS,1,1,360,1.61,CSH,7.0 +VTS,1,1,540,3.37,CRD,11.5 +VTS,1,1,360,1.08,CRD,6.5 +VTS,1,1,240,0.67,CSH,4.5 +VTS,1,1,960,4.52,CRD,16.0 +VTS,1,1,420,1.39,CRD,7.0 +VTS,1,1,360,0.96,CRD,6.0 +VTS,1,1,480,1.51,CSH,7.5 +VTS,1,1,900,4.14,CRD,15.5 +VTS,1,1,420,1.64,CSH,7.0 +VTS,1,1,600,1.63,CRD,8.5 +VTS,1,1,420,1.53,CSH,6.5 +VTS,1,1,480,1.79,CRD,8.0 +VTS,1,1,2100,14.61,CRD,44.0 +VTS,1,1,240,0.88,CSH,5.0 +VTS,1,1,600,2.31,CSH,10.0 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,1,1260,5.09,CRD,18.0 +VTS,1,1,1260,2.89,CSH,15.0 +VTS,1,1,360,0.92,CSH,6.0 +VTS,1,1,1620,4.66,CRD,20.5 +VTS,1,1,300,1.1,CRD,5.5 +VTS,1,1,840,2.61,CRD,12.0 +VTS,1,1,660,5.16,CRD,16.5 +VTS,1,1,540,2.23,CRD,9.5 +VTS,1,1,420,1.28,CRD,6.5 +VTS,1,1,900,4.0,CRD,15.0 +VTS,1,1,360,1.49,CSH,7.0 +VTS,1,1,660,2.73,CSH,11.0 +VTS,1,1,600,2.26,CSH,10.0 +VTS,2,1,2220,18.71,CRD,52.0 +VTS,1,1,480,2.13,CRD,8.5 +VTS,1,1,960,4.07,CSH,15.0 +VTS,1,1,1080,8.03,CSH,25.0 +VTS,1,1,480,1.97,CRD,8.5 +VTS,1,1,420,0.94,CRD,6.0 +VTS,1,1,780,2.78,CRD,11.5 +VTS,1,1,120,0.47,CSH,4.0 +VTS,1,1,240,0.93,CRD,5.5 +VTS,1,1,1680,4.83,CRD,23.0 +VTS,1,1,480,1.01,CSH,7.5 +VTS,1,1,1200,8.53,CRD,26.5 +VTS,1,1,780,3.54,CSH,13.5 +VTS,1,1,360,0.91,CRD,6.0 +VTS,1,1,1020,4.48,CRD,16.5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,2340,10.29,CRD,35.0 +VTS,1,1,180,0.54,CSH,4.0 +VTS,1,1,1140,3.56,CRD,15.0 +VTS,1,1,420,1.36,CRD,7.5 +CMT,1,1,376,1.3,CSH,7.0 +CMT,1,1,424,2.0,CSH,8.0 +CMT,1,1,279,1.2,CSH,6.0 +CMT,1,1,545,2.2,CSH,10.0 +CMT,1,1,281,0.8,CRD,5.5 +CMT,1,1,958,2.4,CRD,12.0 +CMT,1,1,282,1.4,CSH,6.5 +CMT,1,1,230,0.8,CSH,5.0 +CMT,1,1,571,1.7,CRD,8.5 +CMT,1,1,661,1.4,CSH,9.0 +CMT,1,1,1528,7.7,CSH,26.0 +CMT,1,1,213,1.0,CRD,5.0 +CMT,1,1,636,1.6,CSH,9.0 +CMT,1,1,499,2.1,CSH,8.5 +CMT,1,1,354,0.9,CSH,6.0 +CMT,1,1,1110,4.9,CRD,18.5 +CMT,1,1,525,2.5,CRD,9.5 +CMT,1,1,902,3.0,CRD,12.5 +CMT,1,1,1186,5.2,CSH,20.0 +CMT,1,1,400,1.7,CRD,7.5 +CMT,1,1,887,4.9,CSH,16.5 +CMT,1,1,411,3.6,CSH,12.0 +CMT,1,1,945,4.1,CSH,16.0 +CMT,1,1,545,0.9,CSH,7.5 +CMT,1,1,1664,2.7,CSH,17.0 +CMT,1,1,494,1.5,CRD,8.0 +VTS,1,1,1080,9.95,CSH,29.0 +VTS,1,1,1020,3.02,CRD,13.5 +VTS,1,1,480,1.26,CSH,7.5 +VTS,1,1,420,0.83,CSH,6.0 +VTS,1,1,960,2.64,CSH,12.0 +VTS,1,1,1020,3.54,CSH,12.5 +VTS,1,1,660,1.1,CSH,8.5 +VTS,1,1,420,1.08,CRD,7.0 +VTS,1,1,720,2.56,CRD,11.0 +VTS,1,1,360,2.39,CRD,8.5 +VTS,1,1,720,3.02,CRD,11.5 +VTS,1,1,1020,4.24,CRD,16.0 +VTS,1,1,480,1.95,CRD,8.0 +VTS,1,1,720,2.74,CSH,11.0 +VTS,1,1,780,3.49,CRD,13.0 +VTS,1,1,720,4.24,CRD,14.0 +VTS,1,1,780,2.11,CRD,10.0 +VTS,1,1,600,0.95,CRD,8.0 +VTS,1,1,600,1.48,CRD,8.0 +VTS,1,1,600,1.45,CRD,8.5 +VTS,1,1,480,2.47,CRD,9.5 +VTS,1,1,1080,2.63,CSH,13.5 +VTS,1,1,180,0.46,CSH,4.5 +VTS,1,1,300,1.28,CSH,6.0 +VTS,1,1,2100,11.16,CRD,36.0 +VTS,1,1,1260,4.7,CSH,19.0 +VTS,1,1,660,3.63,CSH,13.0 +VTS,1,1,300,1.51,CRD,6.5 +VTS,1,1,1200,3.68,CRD,16.5 +VTS,1,1,1680,5.77,CRD,22.5 +VTS,1,1,960,4.12,CSH,16.0 +VTS,1,1,1380,3.42,CSH,17.0 +VTS,1,1,720,1.62,CRD,10.0 +VTS,1,1,480,1.82,CRD,8.0 +VTS,1,1,960,8.0,CRD,24.5 +VTS,1,1,1200,2.35,CSH,15.0 +VTS,1,1,480,0.82,CSH,7.0 +VTS,1,1,780,1.34,CSH,9.5 +VTS,1,1,840,2.4,CRD,11.5 +VTS,1,1,960,1.96,CRD,11.5 +VTS,1,1,420,1.44,CRD,7.5 +VTS,1,1,540,2.34,CSH,9.5 +VTS,1,1,1020,3.82,CSH,15.5 +VTS,1,1,240,1.08,CSH,5.5 +VTS,1,1,480,1.27,CRD,7.0 +VTS,1,1,240,0.55,CSH,5.0 +VTS,1,1,600,1.59,CSH,8.0 +VTS,1,1,1020,4.14,CRD,16.0 +VTS,1,1,300,1.48,CRD,6.5 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,720,2.53,CRD,11.0 +VTS,1,1,900,3.64,CRD,14.0 +VTS,1,1,1440,10.96,CRD,32.0 +VTS,1,1,1140,2.45,CRD,14.0 +VTS,1,1,960,1.63,CSH,11.5 +VTS,1,1,360,1.02,CSH,6.0 +VTS,1,1,540,1.17,CRD,7.5 +VTS,1,1,1080,2.83,CRD,13.5 +VTS,1,1,660,1.98,CRD,9.5 +VTS,1,1,120,0.63,CRD,4.0 +VTS,1,1,540,2.12,CRD,9.0 +VTS,1,1,660,3.09,CRD,11.5 +VTS,1,1,1200,6.02,CSH,21.0 +VTS,1,1,660,1.55,CSH,9.0 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,1,540,1.37,CRD,7.5 +VTS,1,1,360,2.41,CSH,8.5 +VTS,1,1,780,1.62,CSH,10.0 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,480,1.27,CRD,7.0 +VTS,1,1,600,2.37,CRD,10.0 +VTS,1,1,1200,5.08,CSH,19.5 +VTS,1,1,720,2.73,CSH,11.5 +VTS,1,1,420,0.99,CSH,6.5 +VTS,1,1,780,1.42,CSH,9.5 +VTS,1,1,120,0.2,CSH,3.0 +VTS,1,1,780,2.76,CRD,12.0 +VTS,1,1,180,1.57,CRD,6.0 +VTS,1,1,1320,5.85,CSH,20.0 +VTS,1,1,1080,4.43,CSH,16.5 +VTS,1,1,480,1.81,CSH,8.0 +VTS,1,1,1260,5.69,CRD,20.0 +VTS,1,1,600,2.14,CSH,9.5 +VTS,1,1,840,1.88,CSH,11.0 +VTS,1,1,720,4.98,CRD,15.5 +VTS,1,1,900,3.97,CRD,14.5 +VTS,1,1,240,0.42,CSH,4.5 +VTS,1,1,1560,3.45,CRD,17.5 +VTS,1,1,300,1.12,CRD,6.0 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,1140,8.08,CSH,25.0 +VTS,1,1,660,1.57,CSH,9.0 +VTS,1,1,480,1.42,CSH,7.5 +VTS,1,1,420,1.38,CSH,7.0 +VTS,1,1,1260,3.07,CSH,15.0 +VTS,1,1,360,1.43,CSH,6.5 +VTS,1,1,780,3.35,CRD,13.0 +VTS,1,1,600,1.15,CRD,7.5 +VTS,1,1,600,1.72,CSH,9.0 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,480,2.34,CRD,9.0 +VTS,1,1,960,2.64,CRD,12.5 +VTS,1,1,60,0.18,CSH,3.0 +VTS,1,1,480,1.33,CSH,7.5 +VTS,1,1,1680,12.22,CRD,36.5 +VTS,1,1,1200,5.26,CSH,19.0 +VTS,1,1,960,3.14,CRD,14.0 +VTS,1,1,960,2.79,CSH,13.0 +VTS,1,1,660,2.32,CRD,10.0 +VTS,1,1,600,1.66,CRD,8.5 +VTS,1,1,1080,6.68,CRD,21.5 +VTS,1,1,360,1.48,CRD,7.0 +VTS,1,1,600,2.18,CRD,9.5 +VTS,1,1,600,1.52,CSH,8.5 +VTS,1,1,600,1.57,CRD,9.0 +VTS,1,1,660,1.72,CSH,9.5 +VTS,1,1,480,0.98,CRD,7.5 +VTS,1,1,720,2.81,CSH,11.5 +VTS,1,1,120,0.65,CRD,4.0 +VTS,1,1,1020,4.36,CRD,16.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,1320,2.94,CSH,16.0 +VTS,1,1,1440,4.45,CSH,19.5 +VTS,1,1,780,2.08,CSH,10.5 +VTS,1,1,420,1.24,CSH,7.0 +VTS,1,1,420,1.64,CRD,7.5 +VTS,1,1,1080,5.62,CSH,20.0 +VTS,1,1,360,0.51,CRD,5.5 +VTS,1,1,1440,8.74,CRD,27.5 +VTS,1,1,780,7.28,CSH,22.0 +VTS,1,1,360,0.88,CRD,6.0 +VTS,1,1,1140,3.67,CRD,15.0 +VTS,1,1,300,0.65,CRD,5.5 +VTS,1,1,720,2.28,CRD,11.0 +VTS,1,1,2040,19.12,CRD,53.5 +VTS,1,1,480,2.14,CRD,9.0 +VTS,1,1,1080,6.05,CSH,19.0 +VTS,1,1,360,0.99,CSH,6.0 +VTS,1,1,360,1.14,CRD,6.0 +VTS,1,1,60,0.1,CSH,3.0 +VTS,1,1,600,3.1,CRD,11.0 +VTS,1,1,1020,6.95,CRD,21.5 +VTS,1,1,480,1.24,CRD,7.5 +VTS,1,1,720,3.55,CRD,13.0 +VTS,1,1,1200,3.44,CSH,15.5 +VTS,1,1,480,2.45,CSH,9.5 +VTS,1,1,360,1.51,CRD,7.0 +VTS,1,1,600,1.72,CRD,9.0 +VTS,1,1,1080,8.69,CSH,26.0 +VTS,1,1,420,1.23,CSH,6.5 +VTS,1,1,540,1.65,CRD,8.0 +VTS,1,1,1140,3.43,CSH,16.0 +VTS,1,1,900,8.74,CRD,25.0 +VTS,1,1,360,1.17,CSH,6.0 +VTS,1,1,240,0.78,CSH,5.0 +VTS,1,1,660,2.69,CRD,12.0 +VTS,1,1,360,1.13,CRD,6.0 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,600,2.26,CRD,10.0 +VTS,1,1,720,1.29,CSH,9.5 +VTS,1,1,1080,5.59,CRD,19.5 +VTS,1,1,1020,3.31,CSH,14.5 +VTS,1,1,420,1.99,CRD,8.0 +VTS,1,1,420,1.66,CRD,7.5 +VTS,1,1,900,6.31,CRD,19.0 +VTS,5,1,0,0.0,CSH,30.0 +VTS,1,1,600,2.15,CRD,10.0 +VTS,5,1,1800,8.72,CRD,45.0 +VTS,1,2,600,1.74,CSH,9.0 +VTS,1,1,600,1.66,CRD,8.5 +VTS,1,1,1260,4.42,CRD,18.0 +VTS,1,1,1620,10.81,CRD,33.0 +VTS,1,1,180,0.78,CRD,4.5 +VTS,1,1,660,0.9,CSH,8.0 +VTS,1,1,720,1.46,CSH,9.0 +VTS,1,1,240,1.22,CSH,5.5 +VTS,1,1,960,4.45,CRD,16.5 +VTS,1,1,660,2.71,CRD,11.0 +VTS,1,1,360,0.91,CRD,5.5 +VTS,1,1,600,2.3,CRD,10.0 +VTS,1,1,420,1.35,CSH,7.0 +VTS,1,1,240,1.59,CSH,6.5 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,300,0.68,CSH,5.0 +VTS,1,1,480,0.79,CSH,6.5 +VTS,1,1,540,1.65,CRD,8.0 +VTS,1,1,1080,3.06,CSH,14.0 +VTS,1,1,600,3.06,CRD,11.5 +VTS,1,1,660,2.37,CSH,9.5 +VTS,1,1,540,1.12,CSH,7.5 +VTS,1,1,960,4.14,CSH,15.5 +VTS,1,1,600,2.03,CRD,9.5 +VTS,1,1,1260,10.46,CSH,30.5 +VTS,1,1,360,0.89,CRD,5.5 +VTS,1,1,1200,6.75,CRD,22.0 +VTS,1,1,720,1.03,CRD,8.5 +VTS,1,1,300,1.06,CRD,6.0 +VTS,1,1,420,1.39,CSH,7.0 +VTS,1,1,420,1.37,CSH,7.0 +VTS,1,1,540,1.55,CRD,8.5 +VTS,1,1,1560,5.69,CSH,22.0 +VTS,1,1,1020,5.46,CRD,18.5 +VTS,1,1,300,0.63,CSH,5.0 +VTS,1,1,840,4.6,CRD,16.0 +VTS,1,1,900,5.82,CSH,18.0 +VTS,1,1,720,1.6,CRD,9.0 +VTS,1,1,360,1.32,CRD,6.5 +VTS,1,1,660,3.31,CRD,11.5 +VTS,1,1,480,1.46,CRD,7.5 +VTS,1,1,420,1.22,CRD,6.5 +VTS,1,1,180,0.05,CSH,3.5 +VTS,1,1,540,0.47,CRD,7.0 +VTS,1,1,900,2.78,CRD,12.5 +VTS,1,1,600,0.98,CRD,7.5 +VTS,1,1,300,1.02,CRD,5.5 +VTS,1,1,900,2.17,CSH,11.5 +VTS,1,1,960,1.97,CSH,12.0 +VTS,1,1,600,2.4,CRD,9.5 +VTS,1,1,600,3.86,CRD,12.5 +VTS,1,1,1080,5.41,CRD,18.5 +VTS,1,1,480,1.63,CRD,8.0 +VTS,1,1,540,2.85,CSH,10.0 +VTS,1,1,360,0.8,CRD,6.0 +VTS,1,1,600,1.88,CRD,9.0 +VTS,1,1,540,1.61,CSH,8.5 +VTS,1,1,240,1.26,CRD,6.0 +VTS,1,1,720,3.67,CRD,13.0 +VTS,1,1,300,1.36,CSH,6.5 +VTS,1,1,840,3.05,CRD,12.0 +VTS,1,1,1020,3.92,CRD,16.0 +VTS,1,1,540,1.81,CRD,9.0 +VTS,5,1,0,0.0,CRD,150.0 +VTS,1,1,360,0.94,CSH,6.0 +VTS,1,1,1140,6.92,CRD,21.5 +VTS,1,1,1320,3.89,CRD,16.5 +VTS,1,1,420,1.27,CRD,7.0 +VTS,1,1,720,2.11,CRD,10.0 +VTS,1,1,360,1.71,CSH,7.5 +VTS,1,1,1200,9.27,CRD,27.5 +VTS,1,1,840,2.71,CRD,12.5 +VTS,1,1,480,1.23,CSH,7.5 +VTS,1,1,600,1.28,CRD,8.0 +VTS,1,1,840,2.61,CSH,12.0 +VTS,1,1,1020,3.07,CRD,14.0 +VTS,1,1,720,1.49,CRD,9.5 +VTS,1,1,480,1.16,CRD,7.5 +VTS,1,1,480,1.59,CSH,7.5 +VTS,1,1,840,4.39,CRD,15.5 +VTS,1,1,240,1.04,CSH,6.0 +VTS,1,1,540,1.41,CRD,8.0 +VTS,5,2,1080,4.99,CRD,35.0 +VTS,1,1,540,1.24,CRD,8.0 +VTS,1,1,180,0.53,CRD,4.5 +VTS,1,1,600,2.11,CRD,9.0 +VTS,1,1,420,0.9,CRD,6.5 +VTS,1,1,180,0.53,CRD,4.0 +VTS,1,1,1320,6.46,CSH,22.0 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,1380,3.94,CRD,18.0 +VTS,1,1,480,1.36,CSH,7.5 +VTS,1,1,660,1.32,CRD,8.5 +CMT,1,1,187,0.8,CSH,5.0 +CMT,1,1,586,3.5,CRD,12.0 +CMT,1,1,137,0.8,CRD,4.5 +CMT,1,1,294,1.0,CRD,6.0 +CMT,1,1,324,1.9,CSH,7.5 +CMT,1,1,557,2.0,CRD,8.5 +CMT,1,1,304,2.1,CSH,7.5 +CMT,1,1,341,1.8,CRD,7.5 +CMT,1,1,477,1.8,CRD,8.5 +CMT,1,1,652,1.6,CRD,9.0 +CMT,1,1,267,1.0,CRD,5.5 +CMT,1,1,516,2.7,CSH,11.0 +CMT,1,1,493,1.2,CSH,7.5 +CMT,1,1,168,0.9,CRD,5.0 +CMT,1,1,928,4.0,CRD,15.0 +CMT,1,1,572,3.2,CSH,11.0 +CMT,1,1,192,0.4,CSH,4.0 +CMT,1,1,410,2.3,CRD,8.5 +CMT,1,1,415,2.0,CSH,8.0 +CMT,1,1,114,0.6,CSH,4.0 +CMT,1,1,251,0.6,CRD,5.0 +CMT,1,1,901,2.0,CSH,12.0 +VTS,1,1,300,1.0,CSH,6.0 +VTS,1,1,60,0.04,CSH,3.0 +VTS,1,1,540,1.3,CSH,7.5 +VTS,1,1,240,0.54,CRD,4.5 +VTS,1,1,660,1.06,CRD,8.5 +VTS,1,1,360,1.86,CSH,7.5 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,1200,13.72,CRD,37.5 +VTS,1,1,420,0.57,CRD,6.0 +VTS,1,1,660,1.74,CRD,9.0 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,480,1.39,CSH,8.0 +VTS,1,1,1080,2.6,CSH,14.0 +VTS,1,1,480,0.8,CRD,7.0 +VTS,1,1,660,3.01,CSH,11.0 +VTS,1,1,840,3.82,CRD,13.5 +VTS,1,1,420,1.6,CSH,7.5 +VTS,1,1,780,4.91,CSH,15.5 +VTS,1,1,420,1.18,CRD,7.0 +VTS,1,1,540,1.71,CRD,8.5 +VTS,1,1,2760,12.29,CSH,42.0 +VTS,1,1,180,0.43,CSH,4.0 +VTS,1,1,840,1.73,CSH,9.5 +VTS,1,1,600,2.09,CRD,9.5 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,240,0.73,CSH,5.0 +VTS,1,1,300,1.18,CSH,6.0 +VTS,1,1,720,3.14,CRD,13.0 +VTS,1,1,2280,6.67,CSH,27.0 +VTS,1,1,360,0.79,CSH,5.5 +VTS,1,1,900,3.77,CRD,14.0 +VTS,1,1,240,0.69,CSH,5.0 +VTS,1,1,720,3.65,CRD,13.5 +VTS,1,1,300,0.98,CSH,6.0 +VTS,1,1,1860,7.2,CRD,26.0 +VTS,1,1,300,0.52,CSH,5.0 +VTS,1,1,600,0.89,CSH,7.5 +VTS,1,1,60,0.27,CSH,3.5 +VTS,1,1,1500,12.77,CSH,37.5 +VTS,1,1,900,3.36,CRD,14.0 +VTS,1,1,840,2.46,CSH,11.5 +VTS,1,1,720,3.17,CSH,12.0 +VTS,1,1,480,1.14,CRD,7.5 +VTS,1,1,300,1.13,CSH,6.0 +VTS,1,1,900,3.89,CRD,14.5 +VTS,1,1,1800,8.19,CRD,27.5 +VTS,1,1,780,3.51,CRD,13.5 +VTS,1,2,420,1.22,CRD,7.0 +VTS,1,1,1560,11.07,CSH,34.5 +VTS,1,1,420,1.63,CRD,7.5 +VTS,1,1,1080,3.15,CSH,14.0 +VTS,1,1,1320,8.35,CRD,25.0 +VTS,1,1,720,2.03,CRD,10.5 +VTS,1,1,300,0.74,CRD,5.5 +VTS,1,1,600,1.58,CSH,8.0 +VTS,1,1,600,1.57,CRD,8.5 +VTS,1,1,480,1.95,CRD,8.5 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,600,5.11,CRD,16.0 +VTS,1,1,960,6.3,CSH,20.0 +VTS,1,1,780,2.33,CSH,11.0 +VTS,1,1,420,1.22,CSH,7.0 +VTS,1,1,660,1.44,CSH,9.0 +VTS,1,1,660,1.81,CSH,9.5 +VTS,1,1,900,1.9,CSH,11.5 +VTS,1,1,1980,4.89,CRD,23.5 +VTS,1,1,360,0.59,CSH,5.0 +VTS,1,1,360,1.04,CSH,6.0 +VTS,1,1,300,1.19,CRD,6.5 +VTS,1,1,780,1.47,CSH,10.0 +VTS,1,1,360,1.22,CSH,6.5 +VTS,1,1,600,1.96,CRD,9.5 +VTS,1,1,840,4.0,CRD,15.0 +VTS,1,1,1080,7.58,CSH,23.5 +VTS,1,1,480,2.39,CRD,9.5 +VTS,1,1,360,1.55,CRD,7.0 +VTS,1,1,300,1.1,CRD,5.5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,1200,7.18,CRD,23.0 +VTS,1,1,420,1.08,CRD,7.0 +VTS,1,1,840,5.6,CSH,18.5 +VTS,1,1,540,2.27,CRD,9.5 +VTS,1,1,720,3.17,CRD,12.0 +VTS,1,1,1200,3.2,CRD,15.5 +VTS,1,1,1620,6.52,CRD,23.0 +VTS,1,1,720,5.27,CRD,16.5 +VTS,1,1,120,0.75,CSH,4.5 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,480,1.55,CRD,8.0 +VTS,1,1,420,1.56,CSH,7.5 +VTS,1,1,120,0.31,CSH,3.5 +VTS,1,1,600,1.64,CSH,8.5 +VTS,1,1,1920,7.59,CRD,27.5 +VTS,1,1,360,1.13,CSH,7.0 +VTS,1,1,1080,4.88,CSH,18.0 +VTS,1,1,1620,11.29,CRD,34.0 +VTS,1,1,660,1.41,CSH,8.5 +VTS,1,1,540,1.36,CRD,7.5 +VTS,1,1,840,2.3,CRD,11.0 +VTS,1,1,600,2.59,CSH,10.0 +VTS,1,1,480,0.84,CRD,7.0 +VTS,5,1,2700,24.72,CRD,70.0 +VTS,1,1,480,1.13,CSH,7.0 +VTS,1,1,600,1.38,CRD,8.5 +VTS,1,1,1020,9.46,CSH,28.0 +VTS,1,1,720,2.18,CSH,10.5 +VTS,2,1,2940,21.6,CSH,52.0 +VTS,1,1,1560,4.22,CSH,18.5 +VTS,1,1,420,1.07,CRD,6.5 +VTS,1,1,720,0.74,CRD,9.0 +VTS,1,1,240,0.92,CRD,5.0 +VTS,1,1,1440,3.75,CSH,18.5 +VTS,1,1,1560,6.08,CSH,22.5 +VTS,1,1,780,6.56,CSH,20.0 +VTS,1,1,840,4.57,CRD,16.0 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,1,300,1.09,CRD,5.5 +VTS,1,1,360,1.01,CSH,6.0 +VTS,1,1,1080,4.33,CSH,17.0 +VTS,1,1,1200,1.37,CSH,12.5 +VTS,1,1,720,1.07,CRD,9.5 +VTS,1,1,540,1.3,CSH,7.5 +VTS,1,1,720,2.18,CRD,10.0 +VTS,1,1,540,1.64,CSH,8.5 +VTS,1,1,600,2.56,CRD,10.0 +VTS,1,1,360,0.63,CSH,5.5 +VTS,1,1,300,1.18,CRD,6.0 +VTS,1,1,240,1.34,CRD,6.0 +VTS,1,1,720,1.54,CRD,9.5 +VTS,1,1,780,2.61,CSH,11.0 +VTS,1,1,540,2.11,CSH,9.0 +VTS,1,1,720,2.07,CRD,10.0 +VTS,1,1,660,1.63,CSH,9.0 +VTS,1,1,420,2.08,CRD,8.0 +VTS,1,1,840,1.47,CRD,10.5 +VTS,1,1,1020,2.15,CRD,12.5 +VTS,1,1,360,0.93,CRD,6.0 +VTS,1,1,600,2.29,CSH,10.0 +VTS,1,1,960,5.34,CRD,18.0 +VTS,1,1,840,3.13,CRD,12.5 +VTS,1,1,1380,10.29,CSH,31.0 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,1260,2.04,CRD,14.0 +VTS,1,1,900,4.8,CSH,16.5 +VTS,1,1,780,2.42,CSH,11.5 +VTS,1,1,1500,11.59,CRD,33.5 +VTS,1,1,420,0.73,CRD,6.0 +VTS,1,1,240,0.96,CRD,5.0 +VTS,1,1,720,2.45,CSH,11.0 +VTS,1,1,1620,11.69,CRD,35.5 +VTS,1,1,1260,8.61,CSH,27.0 +VTS,1,1,720,3.43,CRD,12.0 +VTS,1,1,1560,11.41,CRD,34.0 +VTS,1,1,960,4.28,CSH,16.0 +VTS,1,1,1260,3.7,CSH,16.0 +VTS,1,1,840,2.09,CRD,11.0 +VTS,1,1,480,0.72,CSH,6.5 +VTS,1,1,600,1.28,CRD,8.0 +VTS,1,1,600,3.12,CSH,11.5 +VTS,1,1,900,2.07,CRD,11.0 +VTS,1,1,480,1.21,CSH,7.0 +VTS,1,1,120,0.38,CSH,4.0 +VTS,1,1,300,0.77,CSH,5.5 +VTS,1,1,540,1.59,CSH,8.0 +VTS,1,1,600,1.56,CRD,9.0 +VTS,1,1,240,0.58,CSH,5.0 +VTS,1,1,660,1.92,CRD,9.5 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,660,2.96,CRD,12.0 +VTS,1,1,240,0.93,CRD,5.0 +VTS,1,1,1080,4.9,CRD,17.0 +VTS,1,1,540,2.17,CRD,9.5 +VTS,1,1,540,1.39,CSH,7.5 +VTS,1,1,60,0.02,CRD,2.5 +VTS,1,1,1500,8.32,CRD,27.0 +VTS,1,1,300,0.39,CRD,5.0 +VTS,1,1,1140,3.17,CRD,15.0 +VTS,1,1,1740,7.6,CRD,27.5 +VTS,1,1,780,2.14,CRD,10.5 +VTS,5,1,120,0.03,CRD,30.0 +VTS,1,1,1560,11.85,CRD,35.0 +VTS,1,1,240,1.48,CSH,6.0 +VTS,1,1,1080,1.53,CSH,12.5 +VTS,1,1,780,2.41,CRD,11.0 +VTS,1,1,600,3.03,CRD,11.5 +VTS,1,1,1620,6.59,CRD,24.0 +VTS,1,1,420,2.38,CRD,9.0 +VTS,1,1,1440,20.18,CRD,53.5 +VTS,1,1,1440,10.6,CRD,32.0 +VTS,1,1,780,7.7,CSH,22.0 +VTS,1,1,1440,8.77,CSH,27.5 +VTS,1,1,480,1.53,CRD,8.0 +VTS,1,1,600,4.14,CRD,14.0 +VTS,1,1,600,1.88,CSH,9.5 +VTS,1,1,780,1.67,CSH,10.0 +VTS,1,1,540,0.89,CRD,7.5 +VTS,1,1,600,2.38,CSH,10.0 +VTS,1,2,1020,6.63,CSH,21.5 +VTS,1,1,660,3.85,CRD,13.5 +VTS,1,1,240,0.76,CSH,4.5 +VTS,1,1,720,2.79,CSH,11.0 +VTS,1,1,1320,5.12,CRD,18.5 +VTS,1,1,1140,9.66,CRD,27.5 +VTS,1,1,540,1.69,CSH,8.0 +VTS,1,2,420,0.69,CSH,6.0 +VTS,1,1,840,2.32,CRD,11.5 +VTS,1,1,1320,8.58,CSH,27.5 +VTS,1,1,360,1.39,CRD,6.5 +VTS,1,1,420,1.4,CRD,7.0 +VTS,1,1,1980,11.51,CRD,35.5 +VTS,1,1,180,0.92,CRD,5.0 +VTS,1,1,180,0.86,CSH,4.5 +VTS,1,1,660,0.82,CRD,7.5 +VTS,2,1,1800,20.04,CRD,52.0 +VTS,1,1,780,2.52,CRD,11.0 +VTS,1,1,900,0.81,CSH,10.5 +VTS,1,1,660,2.39,CSH,10.5 +VTS,1,1,540,1.33,CRD,7.5 +VTS,1,1,240,0.9,CSH,5.0 +VTS,1,1,660,2.35,CSH,9.0 +VTS,1,1,1140,7.63,CRD,23.5 +VTS,1,1,360,1.2,CRD,6.0 +VTS,1,1,420,1.42,CSH,7.0 +VTS,1,1,1740,5.78,CRD,23.0 +VTS,1,1,540,1.49,CRD,8.0 +VTS,1,1,660,0.74,CRD,8.5 +VTS,1,1,960,3.22,CRD,13.5 +VTS,1,1,780,1.2,CSH,9.5 +VTS,1,1,960,2.64,CSH,13.0 +VTS,1,1,360,1.2,CSH,6.5 +VTS,1,1,420,1.19,CRD,6.5 +VTS,1,1,600,1.71,CRD,9.0 +VTS,2,1,1740,19.35,CRD,52.0 +VTS,1,1,1620,11.35,CSH,35.0 +VTS,1,1,1080,14.6,CSH,39.0 +VTS,1,1,720,6.45,CRD,19.5 +VTS,2,1,1800,17.59,CRD,52.0 +VTS,1,1,780,3.36,CSH,12.5 +VTS,1,2,240,0.58,CRD,4.5 +VTS,1,1,780,2.44,CSH,11.5 +VTS,1,1,660,1.32,CRD,8.5 +VTS,1,1,720,2.85,CRD,11.5 +VTS,1,1,1080,2.93,CSH,14.0 +VTS,1,1,1380,5.0,CRD,19.5 +VTS,1,1,180,0.46,CSH,4.0 +VTS,1,1,420,1.21,CSH,7.0 +VTS,1,1,300,0.75,CSH,5.0 +VTS,1,1,600,1.89,CRD,9.5 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,540,1.82,CRD,8.5 +VTS,1,1,1320,3.52,CRD,16.5 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,1,1380,7.22,CSH,24.5 +VTS,1,1,480,0.84,CSH,7.0 +VTS,1,1,720,2.29,CSH,11.0 +VTS,1,1,840,1.38,CSH,10.0 +VTS,1,1,780,1.69,CRD,10.5 +VTS,1,1,480,0.95,CSH,7.5 +VTS,1,1,600,1.34,CSH,7.5 +VTS,2,1,1200,17.24,CRD,52.0 +VTS,1,1,600,2.15,CSH,10.0 +VTS,1,1,360,1.57,CSH,7.0 +VTS,1,1,960,4.33,CRD,16.0 +VTS,1,1,960,5.23,CSH,17.5 +VTS,1,1,600,1.89,CSH,9.0 +VTS,1,1,660,2.73,CRD,11.0 +VTS,1,1,540,1.26,CRD,8.0 +VTS,1,1,1200,6.23,CRD,21.0 +VTS,1,1,300,1.05,CRD,5.5 +VTS,1,1,360,0.97,CRD,6.0 +VTS,1,1,300,1.1,CSH,6.0 +VTS,1,1,420,1.05,CRD,6.0 +VTS,1,1,360,0.86,CRD,6.0 +VTS,1,1,300,1.13,CSH,6.0 +VTS,1,1,360,1.24,CRD,7.0 +VTS,1,1,300,0.85,CRD,6.0 +VTS,1,1,600,2.5,CSH,10.5 +VTS,1,1,1500,2.53,CRD,15.5 +VTS,1,1,180,1.04,CSH,5.5 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,660,2.21,CRD,9.5 +VTS,1,1,1560,6.95,CRD,23.5 +VTS,1,2,300,0.65,CSH,5.0 +VTS,1,1,2520,8.26,CSH,32.5 +VTS,1,1,1020,1.51,CRD,11.5 +VTS,1,1,480,1.51,CRD,8.0 +VTS,1,1,540,0.86,CSH,7.0 +VTS,1,1,480,2.75,CRD,10.5 +VTS,1,1,540,1.17,CSH,7.5 +VTS,1,1,840,1.64,CRD,10.5 +VTS,1,1,420,0.59,CSH,5.5 +VTS,1,1,360,1.4,CRD,7.0 +VTS,1,1,780,3.58,CSH,13.5 +VTS,1,1,660,2.86,CRD,11.5 +VTS,1,1,840,1.72,CSH,10.5 +VTS,1,1,480,1.32,CSH,7.5 +VTS,1,1,360,0.92,CSH,6.5 +VTS,1,1,420,1.51,CSH,7.5 +VTS,1,1,720,2.41,CRD,11.0 +VTS,1,1,780,2.97,CRD,11.5 +VTS,1,1,900,4.62,CRD,16.0 +VTS,1,1,1080,5.28,CRD,18.5 +VTS,1,1,1980,8.21,CRD,29.0 +VTS,1,1,1020,6.04,CRD,20.5 +VTS,1,1,480,2.71,CRD,10.5 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,1,1020,7.0,CRD,21.5 +VTS,1,1,1440,5.12,CRD,20.0 +VTS,1,1,420,1.45,CSH,7.0 +VTS,1,1,1200,6.66,CRD,22.0 +VTS,1,1,1200,2.51,CSH,14.0 +VTS,1,1,480,0.93,CSH,6.5 +VTS,1,1,1500,9.23,CSH,29.5 +VTS,1,1,660,2.87,CSH,11.0 +VTS,1,1,600,3.01,CSH,11.5 +VTS,1,1,1020,3.1,CSH,13.5 +VTS,1,1,240,1.14,CSH,5.5 +VTS,1,1,600,2.04,CSH,9.0 +VTS,1,1,240,0.24,CRD,4.0 +VTS,1,1,900,6.38,CRD,20.0 +VTS,1,1,540,1.28,CSH,7.5 +VTS,1,1,1140,9.73,CRD,27.5 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,240,1.21,CSH,5.5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,240,1.42,CRD,6.0 +VTS,1,1,360,1.04,CSH,6.0 +VTS,1,1,1200,4.58,CSH,17.5 +VTS,1,1,900,4.97,CRD,16.5 +VTS,1,1,540,1.19,CSH,7.5 +VTS,1,1,540,2.95,CSH,10.5 +VTS,1,1,240,0.86,CSH,5.0 +VTS,1,1,1140,3.86,CRD,15.5 +VTS,1,1,480,4.0,CRD,13.5 +VTS,1,1,300,0.97,CSH,5.5 +VTS,1,1,360,0.41,CRD,5.5 +VTS,1,1,780,2.17,CRD,11.0 +VTS,1,1,180,1.06,CSH,5.5 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,660,2.44,CSH,10.0 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,780,1.71,CSH,10.0 +VTS,1,1,300,1.22,CRD,6.0 +VTS,1,1,660,2.96,CRD,11.5 +VTS,1,1,600,2.17,CRD,9.5 +VTS,1,1,360,0.88,CSH,6.0 +VTS,1,1,420,1.44,CRD,7.5 +VTS,1,1,240,0.43,CSH,4.5 +VTS,1,1,540,2.51,CRD,10.0 +VTS,1,1,120,0.76,CSH,4.5 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,480,1.07,CSH,7.5 +VTS,1,1,60,0.16,CRD,2.5 +VTS,1,1,1080,2.35,CRD,13.0 +VTS,1,1,360,0.81,CRD,5.5 +VTS,1,1,420,1.43,CSH,7.5 +VTS,1,1,900,5.96,CRD,19.5 +VTS,1,1,1680,10.64,CRD,32.5 +VTS,1,1,540,1.28,CRD,7.5 +VTS,1,1,960,3.37,CSH,14.0 +VTS,1,1,300,0.15,CSH,4.5 +VTS,1,1,600,1.99,CRD,9.0 +VTS,1,1,600,2.13,CSH,10.0 +VTS,1,1,720,5.12,CRD,16.5 +VTS,1,1,960,9.87,CRD,28.5 +VTS,1,2,360,1.03,CSH,6.0 +VTS,1,1,360,1.03,CRD,5.5 +VTS,1,1,960,2.91,CRD,13.0 +VTS,5,1,1140,5.06,CRD,58.0 +VTS,1,1,1380,7.81,CRD,26.0 +VTS,1,1,540,1.03,CRD,7.0 +VTS,1,1,240,0.73,CRD,5.0 +VTS,1,1,1680,4.08,CRD,19.5 +VTS,1,1,420,0.74,CSH,6.0 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,1,240,1.09,CSH,6.0 +VTS,1,1,180,0.44,CSH,4.5 +VTS,1,1,1740,6.06,CRD,23.0 +VTS,1,1,600,1.57,CRD,9.0 +VTS,1,1,180,0.28,CSH,4.0 +VTS,1,1,480,1.08,CSH,7.0 +VTS,1,1,660,3.98,CRD,13.0 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,1860,11.37,CSH,34.5 +VTS,1,1,1500,10.12,CRD,30.5 +VTS,1,1,660,3.32,CSH,12.0 +VTS,1,1,420,1.01,CSH,6.5 +VTS,1,1,120,0.53,CRD,4.0 +VTS,1,1,360,0.96,CSH,6.0 +VTS,1,2,1500,15.35,CSH,42.0 +VTS,1,1,180,0.66,CSH,4.0 +VTS,1,1,300,0.8,CSH,5.0 +VTS,1,1,1620,8.37,CSH,27.0 +VTS,1,1,1260,5.2,CRD,19.5 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,420,2.96,CRD,10.5 +VTS,1,1,540,2.85,CRD,10.5 +VTS,1,1,360,0.89,CRD,6.0 +VTS,1,1,240,1.05,CRD,5.5 +VTS,1,1,420,1.85,CSH,8.0 +VTS,1,1,360,1.49,CSH,7.0 +VTS,1,1,240,1.12,CSH,5.5 +VTS,1,1,420,2.67,CRD,10.0 +VTS,3,1,1620,17.43,CRD,65.5 +VTS,1,1,480,1.03,CRD,7.0 +VTS,1,1,600,2.16,CRD,9.5 +VTS,1,1,120,0.68,CSH,4.0 +VTS,1,1,960,2.01,CRD,11.5 +VTS,1,1,300,1.19,CRD,6.0 +VTS,1,1,1380,2.84,CSH,15.5 +VTS,1,1,660,0.81,CSH,8.0 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,240,0.66,CRD,5.0 +VTS,1,1,960,4.31,CRD,16.5 +VTS,1,1,480,1.7,CSH,7.5 +VTS,1,1,420,2.08,CSH,8.5 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,660,1.93,CRD,9.0 +VTS,1,1,720,1.37,CSH,9.0 +VTS,1,1,480,1.81,CRD,8.0 +VTS,1,1,360,0.94,CRD,6.5 +VTS,1,1,540,1.27,CRD,8.0 +VTS,1,1,1140,5.65,CRD,19.0 +VTS,1,1,1080,5.97,CRD,19.5 +VTS,1,1,420,1.16,CRD,6.5 +VTS,1,1,1320,5.19,CRD,19.5 +VTS,1,1,1020,3.41,CRD,13.5 +VTS,1,1,600,1.52,CRD,8.5 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,2,480,1.0,CSH,6.5 +VTS,1,1,660,1.54,CSH,8.5 +VTS,1,1,1620,11.99,CRD,36.0 +VTS,1,1,720,1.34,CSH,9.0 +VTS,1,2,360,1.03,CRD,6.5 +VTS,1,1,240,0.91,CSH,5.5 +VTS,1,2,2040,13.28,CRD,40.5 +VTS,1,1,240,0.35,CSH,4.5 +VTS,1,1,780,3.78,CSH,14.0 +VTS,1,1,240,1.09,CSH,6.0 +VTS,1,1,960,4.07,CSH,16.0 +VTS,1,1,1980,13.9,CSH,42.0 +VTS,2,1,2220,18.59,CRD,52.0 +VTS,1,1,120,0.23,CSH,3.0 +VTS,1,1,360,0.8,CSH,6.0 +VTS,1,1,900,3.26,CRD,13.0 +VTS,1,1,900,6.95,CSH,21.0 +VTS,1,1,180,0.56,CRD,4.0 +VTS,1,1,720,3.75,CRD,13.5 +VTS,1,1,600,3.16,CRD,12.0 +VTS,1,1,600,2.68,CRD,10.5 +VTS,1,1,1080,6.7,CRD,21.5 +VTS,1,1,660,1.34,CSH,8.5 +VTS,1,1,420,1.13,CRD,6.5 +VTS,5,1,0,0.0,CRD,58.5 +VTS,1,1,240,0.72,CSH,5.0 +VTS,1,1,120,0.42,CSH,4.0 +VTS,1,1,360,1.04,CRD,6.0 +VTS,1,1,660,1.2,CSH,8.0 +VTS,1,1,120,0.78,CSH,4.0 +VTS,1,1,720,0.01,CSH,8.0 +VTS,1,1,420,1.0,CRD,6.5 +VTS,1,1,360,0.88,CSH,6.0 +VTS,1,1,540,1.5,CSH,7.5 +VTS,1,1,540,1.2,CRD,7.5 +VTS,1,2,60,0.23,CSH,3.0 +VTS,1,1,420,1.91,CSH,7.5 +VTS,1,1,360,0.59,CRD,5.5 +VTS,1,1,1440,10.66,CRD,32.5 +VTS,1,1,2460,15.71,CSH,47.5 +VTS,1,1,1440,11.1,CRD,32.5 +VTS,1,1,600,1.61,CSH,8.5 +VTS,1,1,1680,10.37,CRD,31.0 +VTS,1,1,360,1.27,CSH,6.0 +VTS,1,1,1080,1.63,CSH,12.0 +VTS,1,1,660,3.25,CRD,11.5 +VTS,1,1,1800,9.8,CRD,32.0 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,840,5.98,CSH,19.0 +VTS,1,1,840,1.99,CRD,10.5 +VTS,1,1,360,0.65,CSH,5.5 +VTS,1,1,1320,9.98,CRD,29.5 +VTS,1,1,300,0.79,CSH,5.0 +VTS,1,1,600,1.53,CSH,9.0 +VTS,1,1,300,1.07,CSH,5.5 +VTS,4,1,1620,17.17,CSH,54.0 +VTS,1,1,240,1.25,CRD,6.0 +VTS,1,1,420,1.63,CSH,7.5 +VTS,1,1,540,2.2,CRD,9.0 +VTS,1,1,120,0.3,CRD,3.0 +VTS,1,1,840,3.0,CRD,12.5 +VTS,1,1,180,0.2,CRD,4.0 +VTS,1,1,1380,9.65,CSH,30.0 +VTS,1,1,300,0.69,CRD,5.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,900,1.17,CSH,10.0 +VTS,1,1,1200,9.13,CSH,27.5 +VTS,1,1,420,1.39,CSH,7.5 +VTS,1,1,420,1.58,CSH,7.5 +VTS,1,1,1500,7.69,CRD,24.5 +VTS,1,1,480,1.94,CSH,8.5 +VTS,1,1,480,1.08,CRD,6.5 +VTS,1,1,480,1.46,CRD,7.0 +VTS,1,1,780,4.13,CSH,14.5 +VTS,1,1,600,3.26,CRD,12.0 +VTS,1,1,360,1.57,CRD,6.5 +VTS,1,1,1140,7.0,CSH,23.0 +VTS,1,1,240,0.79,CRD,5.0 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,300,1.41,CSH,6.5 +VTS,1,1,360,1.4,CSH,6.5 +VTS,1,1,180,0.48,CSH,4.0 +VTS,1,1,900,2.48,CSH,12.0 +VTS,1,1,240,0.8,CSH,4.5 +VTS,1,1,360,0.91,CRD,5.5 +VTS,1,1,1620,7.18,CSH,26.0 +VTS,1,1,360,0.59,CRD,5.5 +VTS,1,1,840,3.22,CRD,13.5 +VTS,1,1,1020,0.8,CRD,10.5 +VTS,2,1,2520,17.31,CRD,52.0 +VTS,1,1,720,1.67,CRD,10.0 +VTS,1,1,360,1.27,CSH,6.0 +VTS,1,1,480,1.36,CSH,7.0 +VTS,1,2,3360,13.91,CSH,49.0 +VTS,1,1,480,1.19,CSH,7.5 +VTS,2,1,0,0.03,CRD,52.0 +VTS,1,1,360,1.36,CRD,7.0 +VTS,1,1,420,1.62,CRD,8.0 +VTS,1,1,360,0.9,CSH,6.0 +VTS,1,1,360,1.1,CRD,6.5 +VTS,1,1,840,2.08,CSH,11.0 +VTS,1,1,240,0.58,CRD,5.0 +VTS,1,1,240,0.5,CRD,4.5 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,1140,1.69,CRD,13.0 +VTS,1,1,240,0.8,CSH,5.0 +VTS,1,1,960,4.33,CRD,15.0 +VTS,1,1,540,3.57,CRD,12.5 +VTS,1,1,420,1.28,CRD,7.0 +VTS,1,1,1020,2.82,CSH,9.5 +VTS,1,1,720,1.43,CSH,9.5 +VTS,1,1,540,1.55,CRD,8.5 +VTS,1,1,240,0.84,CRD,5.0 +VTS,1,1,1320,3.65,CRD,16.0 +VTS,1,1,780,3.29,CRD,12.5 +VTS,1,1,480,1.64,CSH,8.5 +VTS,1,1,1020,2.56,CSH,13.5 +VTS,1,1,1260,1.93,CSH,14.0 +VTS,1,1,360,1.22,CSH,6.0 +VTS,1,1,780,2.53,CRD,11.0 +VTS,1,1,1800,4.6,CRD,21.0 +VTS,1,1,540,2.08,CRD,9.0 +VTS,1,1,240,0.53,CSH,4.5 +VTS,5,1,60,0.33,CRD,55.0 +VTS,1,1,1380,12.07,CRD,34.0 +VTS,1,1,960,4.37,CSH,16.5 +VTS,1,1,420,0.78,CSH,6.5 +VTS,1,1,1440,7.05,CRD,24.5 +VTS,1,2,1380,3.91,CSH,19.0 +VTS,1,1,180,0.6,CSH,4.0 +VTS,1,2,480,1.5,CSH,7.5 +VTS,1,1,420,1.67,CRD,7.5 +VTS,1,1,360,1.93,CSH,8.0 +VTS,1,1,1020,5.75,CSH,19.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,960,2.18,CSH,12.0 +VTS,1,1,780,4.07,CSH,14.5 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,1260,5.92,CRD,21.0 +VTS,1,1,960,4.96,CSH,17.5 +VTS,1,2,1620,11.55,CSH,34.5 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,1,480,1.36,CRD,7.5 +VTS,1,1,120,0.61,CRD,4.0 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,420,0.83,CSH,6.5 +VTS,1,1,420,0.96,CSH,5.5 +VTS,1,1,360,0.74,CRD,5.5 +VTS,1,1,1920,13.23,CRD,40.5 +VTS,1,1,780,2.01,CRD,10.5 +VTS,1,1,540,1.91,CRD,8.5 +VTS,1,1,840,2.27,CRD,11.0 +VTS,1,1,600,1.42,CRD,8.5 +VTS,1,1,1020,10.48,CRD,29.5 +VTS,1,1,600,3.16,CRD,11.5 +VTS,1,1,600,5.02,CRD,15.0 +VTS,1,1,420,1.9,CRD,8.0 +VTS,1,1,120,0.83,CSH,4.5 +VTS,1,1,540,0.85,CRD,7.0 +VTS,1,1,960,2.77,CRD,13.0 +VTS,1,1,1140,3.96,CRD,16.5 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,840,0.96,CSH,9.5 +VTS,1,1,420,0.86,CSH,6.0 +VTS,1,1,420,0.66,CRD,5.5 +VTS,1,1,420,1.09,CRD,6.5 +VTS,1,1,660,2.34,CRD,10.0 +VTS,1,1,3480,11.86,CRD,39.5 +VTS,1,1,1020,2.81,CRD,13.5 +VTS,1,1,960,2.12,CRD,12.0 +VTS,1,1,240,1.19,CSH,5.5 +VTS,1,1,720,2.72,CSH,11.0 +VTS,1,1,780,2.86,CRD,11.5 +VTS,1,1,720,2.57,CRD,11.0 +VTS,1,1,420,1.62,CSH,7.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,480,0.93,CSH,6.5 +VTS,1,1,780,1.42,CRD,9.5 +VTS,1,1,720,3.5,CRD,13.5 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,480,1.04,CRD,7.5 +VTS,1,1,540,1.79,CSH,8.0 +VTS,1,1,360,0.87,CRD,6.0 +VTS,1,1,660,1.82,CRD,9.0 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,1080,5.79,CRD,20.0 +VTS,1,1,780,1.27,CSH,9.5 +VTS,1,1,900,1.17,CRD,10.0 +VTS,3,1,3480,32.14,CRD,105.0 +VTS,1,1,2220,14.14,CRD,43.0 +VTS,1,1,960,4.31,CRD,16.0 +VTS,1,1,1380,11.64,CRD,33.0 +VTS,1,1,1740,12.68,CRD,38.0 +VTS,1,1,600,2.04,CSH,9.5 +VTS,1,1,120,0.36,CSH,3.5 +VTS,1,1,1080,4.49,CRD,17.0 +VTS,1,1,840,1.71,CRD,10.5 +VTS,1,1,540,1.11,CSH,7.5 +VTS,1,1,540,0.99,CSH,7.0 +VTS,1,1,1740,12.12,CRD,36.5 +VTS,1,1,720,0.28,CRD,8.5 +VTS,1,1,600,1.03,CSH,8.0 +VTS,1,1,780,3.35,CRD,12.0 +VTS,1,1,540,0.88,CSH,7.0 +VTS,1,1,240,0.78,CRD,5.0 +VTS,1,1,540,1.18,CRD,7.5 +VTS,1,1,540,1.04,CSH,7.0 +VTS,1,1,1020,2.88,CSH,13.0 +VTS,1,1,960,5.32,CRD,18.0 +VTS,1,1,1380,11.34,CSH,33.0 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,540,2.05,CSH,9.0 +VTS,1,1,1020,5.71,CSH,19.0 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,2,720,1.87,CRD,10.0 +VTS,1,1,1080,12.51,CRD,34.0 +VTS,1,1,120,0.63,CSH,4.0 +VTS,1,1,240,0.85,CRD,5.5 +VTS,1,1,180,1.08,CSH,5.5 +VTS,1,2,120,0.5,CSH,4.0 +VTS,1,1,240,0.73,CRD,5.0 +VTS,1,1,180,0.93,CSH,4.5 +VTS,1,1,360,1.46,CRD,7.0 +VTS,1,1,480,1.63,CSH,8.0 +VTS,1,1,1020,3.65,CRD,14.0 +VTS,1,1,1980,13.19,CRD,39.5 +VTS,1,1,1200,14.8,CRD,40.0 +VTS,5,2,0,0.0,CRD,58.0 +VTS,1,1,840,5.82,CRD,18.5 +VTS,1,1,420,0.89,CRD,6.0 +VTS,1,1,480,1.65,CSH,7.5 +VTS,1,1,840,3.19,CSH,13.0 +VTS,1,1,1620,11.91,CSH,36.0 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,420,1.53,CSH,7.5 +VTS,1,1,600,4.22,CRD,13.5 +VTS,1,1,1380,12.27,CSH,35.0 +VTS,1,1,240,1.14,CRD,5.5 +VTS,1,2,780,2.33,CSH,11.0 +VTS,1,1,540,1.36,CRD,8.0 +VTS,1,1,780,2.14,CSH,9.5 +VTS,1,1,660,1.8,CRD,9.5 +VTS,1,1,480,1.05,CSH,7.0 +VTS,1,1,660,2.51,CRD,10.0 +VTS,1,1,840,1.75,CRD,11.0 +VTS,1,1,480,1.64,CRD,8.0 +VTS,1,1,720,1.95,CRD,10.5 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,60,0.35,CRD,3.0 +VTS,1,1,240,1.35,CSH,6.0 +VTS,1,1,900,3.95,CRD,15.0 +VTS,1,1,480,1.18,CRD,6.5 +VTS,1,1,180,0.56,CSH,4.5 +VTS,1,1,420,0.88,CRD,6.0 +VTS,1,1,180,0.77,CRD,4.5 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,540,0.84,CSH,7.0 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,300,1.85,CSH,7.5 +VTS,2,1,1560,14.28,CSH,52.0 +VTS,1,1,600,2.9,CSH,10.5 +VTS,1,1,660,1.95,CRD,9.0 +VTS,1,1,240,0.35,CSH,3.5 +VTS,1,1,600,1.25,CSH,8.0 +VTS,1,1,240,0.88,CRD,5.0 +VTS,1,1,120,0.49,CRD,3.5 +VTS,1,1,1920,3.62,CSH,20.5 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,360,0.97,CSH,6.0 +VTS,1,1,720,2.63,CSH,11.0 +VTS,1,1,1020,2.23,CRD,13.0 +VTS,1,1,420,0.92,CSH,6.5 +VTS,1,1,1740,10.69,CRD,34.0 +VTS,1,1,420,1.27,CRD,6.5 +VTS,1,1,840,3.2,CRD,13.0 +VTS,1,1,1020,3.63,CRD,15.0 +VTS,1,1,1260,10.08,CRD,29.0 +VTS,1,1,1020,3.44,CRD,14.5 +VTS,1,1,480,1.38,CRD,7.0 +VTS,1,1,600,1.34,CSH,8.0 +VTS,1,1,720,6.05,CRD,18.5 +VTS,1,1,300,2.29,CSH,8.5 +VTS,2,1,2280,17.74,CRD,52.0 +VTS,1,1,120,0.82,CSH,4.5 +VTS,1,1,540,1.29,CRD,8.0 +VTS,1,1,480,2.63,CRD,9.5 +VTS,1,1,540,1.86,CRD,9.0 +VTS,1,1,900,3.19,CRD,13.0 +VTS,1,1,2160,7.8,CSH,31.0 +VTS,1,1,300,1.18,CRD,6.0 +VTS,1,1,60,0.07,CSH,3.0 +VTS,1,1,240,0.97,CSH,5.0 +VTS,1,1,300,1.22,CSH,6.0 +VTS,1,1,360,2.08,CRD,8.5 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,180,0.85,CSH,5.0 +VTS,1,1,780,3.56,CSH,13.0 +VTS,1,1,1140,11.4,CRD,32.0 +VTS,1,1,960,8.2,CSH,23.5 +VTS,1,1,540,1.19,CSH,7.5 +VTS,1,1,360,0.81,CSH,6.0 +VTS,1,1,660,2.57,CRD,10.5 +VTS,2,1,960,11.81,CRD,52.0 +VTS,1,1,1560,8.13,CRD,26.5 +VTS,1,1,360,1.02,CRD,6.5 +VTS,1,1,480,0.94,CSH,6.5 +VTS,1,1,540,1.27,CSH,8.0 +VTS,1,1,540,1.31,CRD,7.5 +VTS,1,1,480,1.4,CSH,7.0 +VTS,1,1,300,0.85,CRD,6.0 +VTS,1,1,180,0.53,CSH,4.0 +VTS,1,1,540,1.77,CRD,8.0 +VTS,1,1,1020,9.54,CRD,27.0 +VTS,1,1,720,2.84,CRD,11.0 +VTS,1,2,120,0.3,CSH,3.5 +VTS,1,1,1080,10.18,CRD,29.0 +VTS,1,1,960,5.44,CRD,18.5 +VTS,1,1,1680,10.88,CRD,31.5 +VTS,1,1,1200,8.88,CRD,26.0 +VTS,1,1,540,0.41,CRD,6.5 +VTS,1,1,900,1.37,CRD,10.5 +VTS,1,1,1320,9.64,CRD,29.5 +VTS,1,1,420,1.36,CSH,7.0 +VTS,1,1,1080,2.01,CSH,11.0 +VTS,1,1,1200,9.05,CSH,26.5 +VTS,1,1,180,1.15,CSH,5.0 +VTS,1,1,240,0.79,CRD,5.0 +VTS,1,1,1080,2.12,CSH,13.0 +VTS,1,1,540,0.89,CRD,6.5 +VTS,1,1,600,1.01,CSH,8.0 +VTS,1,1,1080,5.53,CSH,19.0 +VTS,1,1,420,1.38,CRD,7.0 +VTS,1,1,180,1.09,CSH,5.0 +VTS,1,1,360,1.41,CRD,7.0 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,180,0.37,CSH,4.0 +VTS,1,1,1320,2.98,CRD,16.0 +VTS,1,1,240,0.75,CSH,5.0 +VTS,1,1,1260,11.07,CRD,31.5 +VTS,1,1,180,0.54,CSH,4.0 +VTS,1,1,540,1.66,CRD,8.5 +VTS,1,1,720,2.31,CRD,10.5 +VTS,1,1,420,2.09,CSH,8.5 +VTS,1,1,180,1.48,CSH,6.0 +VTS,1,1,300,1.89,CSH,7.0 +VTS,1,1,240,1.14,CSH,5.5 +VTS,1,1,840,3.21,CRD,14.0 +VTS,1,1,780,1.55,CRD,9.5 +VTS,1,1,360,0.74,CSH,5.5 +VTS,1,1,660,1.32,CSH,8.5 +VTS,1,1,780,1.46,CRD,9.5 +VTS,1,1,420,1.13,CSH,6.5 +VTS,1,1,1560,7.98,CRD,26.0 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,120,0.35,CRD,3.5 +VTS,1,1,120,0.99,CSH,4.5 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,3180,15.58,CRD,52.0 +VTS,1,1,480,1.76,CRD,8.5 +VTS,1,1,480,1.93,CSH,8.0 +VTS,1,1,660,1.51,CSH,9.0 +VTS,1,1,780,3.49,CSH,12.0 +VTS,1,1,720,2.42,CSH,10.5 +VTS,1,1,540,0.99,CSH,7.0 +VTS,1,1,360,1.2,CSH,6.0 +VTS,1,1,300,0.4,CSH,4.5 +VTS,1,2,1440,10.55,CRD,32.0 +VTS,1,1,1020,2.64,CSH,13.0 +VTS,1,1,720,4.48,CRD,15.0 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,1560,9.49,CRD,30.5 +VTS,1,1,360,1.68,CSH,7.5 +VTS,1,2,540,2.45,CSH,9.5 +VTS,1,1,1140,3.01,CRD,14.5 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,1,720,4.36,CSH,14.0 +VTS,2,1,2040,17.25,CRD,52.0 +VTS,1,1,600,3.27,CRD,11.5 +VTS,1,1,1020,9.23,CSH,26.5 +VTS,1,1,720,3.73,CRD,12.5 +VTS,1,1,180,0.55,CRD,4.5 +VTS,1,1,420,1.86,CRD,8.0 +VTS,1,1,480,1.57,CSH,7.5 +VTS,1,1,1020,1.75,CRD,12.0 +VTS,1,1,420,2.0,CRD,8.5 +VTS,1,1,1860,13.93,CRD,40.0 +VTS,1,1,720,1.23,CRD,8.5 +VTS,1,1,1020,2.22,CSH,12.0 +VTS,1,1,900,1.43,CSH,10.5 +VTS,1,1,600,1.54,CSH,8.5 +VTS,1,1,1380,6.11,CRD,22.5 +VTS,1,1,780,1.21,CRD,9.0 +VTS,1,1,1020,3.37,CSH,15.0 +VTS,1,1,1020,10.13,CSH,28.5 +VTS,1,1,4020,28.65,CRD,84.0 +VTS,1,1,120,0.65,CSH,4.5 +VTS,1,1,240,1.47,CRD,6.0 +VTS,1,1,720,3.29,CRD,12.0 +VTS,1,1,720,1.9,CRD,9.5 +VTS,1,1,420,1.19,CRD,7.0 +VTS,2,1,2220,19.41,CSH,52.0 +VTS,1,1,720,2.16,CSH,10.0 +VTS,1,1,1440,6.64,CRD,23.5 +VTS,1,1,660,2.72,CSH,11.5 +VTS,1,1,420,2.05,CSH,8.0 +VTS,1,1,360,0.01,CSH,5.5 +VTS,1,1,840,1.92,CRD,10.5 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,1,660,2.69,CSH,11.0 +VTS,1,1,2220,9.03,CSH,33.5 +VTS,2,1,3060,15.33,CRD,52.0 +VTS,1,1,180,0.43,CSH,4.0 +VTS,1,1,960,2.84,CRD,13.0 +VTS,1,1,900,5.72,CSH,19.0 +VTS,1,1,1020,1.87,CRD,12.0 +VTS,1,1,540,1.75,CRD,8.0 +VTS,1,1,1680,4.91,CSH,20.5 +VTS,1,1,1980,4.93,CRD,24.0 +VTS,1,1,660,1.06,CSH,9.0 +VTS,1,1,1560,2.86,CRD,17.5 +VTS,1,1,660,2.1,CSH,10.0 +VTS,2,1,3360,16.77,CSH,52.0 +VTS,1,1,120,0.38,CSH,4.0 +VTS,1,1,3240,38.51,CSH,100.5 +VTS,2,2,1800,17.76,CRD,52.0 +VTS,1,1,1500,15.15,CRD,42.5 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,1,120,0.79,CRD,4.5 +VTS,1,1,840,6.69,CRD,19.5 +VTS,1,1,600,1.53,CRD,8.0 +VTS,2,2,3180,16.38,CSH,52.0 +VTS,1,1,780,2.41,CSH,11.0 +VTS,1,1,960,1.07,CSH,10.5 +VTS,1,1,600,2.53,CRD,10.0 +VTS,1,1,780,2.4,CSH,11.0 +VTS,1,1,1020,3.17,CRD,13.5 +VTS,1,1,840,3.71,CSH,13.5 +VTS,1,1,180,0.46,CSH,4.5 +VTS,1,1,420,0.96,CRD,6.5 +VTS,2,1,3000,19.04,CRD,52.0 +VTS,1,1,660,0.77,CSH,8.5 +VTS,1,1,1020,2.75,CRD,13.5 +VTS,1,1,480,1.67,CSH,8.5 +VTS,1,1,1140,5.13,CRD,18.5 +VTS,1,1,1680,18.35,CRD,49.5 +VTS,1,1,1020,7.77,CSH,22.5 +VTS,1,1,720,2.18,CRD,10.5 +VTS,2,2,1680,16.67,CSH,52.0 +VTS,2,1,1680,16.81,CRD,52.0 +VTS,1,1,480,1.41,CSH,7.5 +VTS,1,1,1380,2.01,CSH,14.0 +VTS,2,2,1740,17.34,CSH,52.0 +VTS,1,1,180,0.57,CSH,4.5 +VTS,2,2,3300,18.64,CRD,52.0 +VTS,1,1,1740,9.23,CSH,29.5 +VTS,1,1,480,1.11,CRD,6.5 +VTS,1,1,420,1.06,CRD,6.5 +VTS,2,2,2280,16.9,CSH,52.0 +VTS,1,1,1020,2.17,CSH,13.0 +VTS,1,1,840,2.13,CSH,11.0 +VTS,2,2,2040,17.39,CRD,52.0 +VTS,1,1,1620,4.21,CRD,19.5 +VTS,1,1,420,1.48,CSH,7.0 +VTS,1,1,1440,9.42,CRD,29.5 +VTS,1,1,600,6.2,CRD,18.5 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,1,1380,6.26,CSH,20.0 +VTS,1,1,1860,9.5,CRD,30.0 +VTS,1,1,720,2.73,CRD,11.0 +VTS,1,1,600,3.14,CSH,11.5 +VTS,5,1,0,0.0,CRD,40.0 +VTS,1,1,660,2.08,CRD,10.5 +VTS,1,1,420,1.01,CRD,6.5 +VTS,1,1,780,1.25,CSH,9.5 +VTS,1,1,540,1.65,CSH,8.0 +VTS,1,1,840,2.88,CRD,12.5 +VTS,1,1,1200,6.45,CRD,22.0 +VTS,1,1,1020,2.24,CSH,12.0 +VTS,1,1,1140,1.76,CSH,12.5 +VTS,1,1,480,1.23,CRD,7.0 +VTS,1,1,480,0.95,CRD,7.0 +VTS,1,1,840,1.9,CSH,11.0 +VTS,1,1,1620,4.92,CRD,20.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,960,4.72,CSH,17.5 +VTS,1,1,2940,12.73,CRD,43.0 +VTS,1,1,720,2.01,CRD,10.0 +VTS,1,1,420,1.53,CRD,7.5 +VTS,2,2,7320,18.46,CSH,52.0 +VTS,1,1,2280,12.33,CRD,39.5 +VTS,1,1,1320,10.77,CSH,31.0 +VTS,3,1,1560,19.51,CRD,70.0 +VTS,1,1,300,0.59,CRD,5.0 +VTS,1,1,1800,7.17,CSH,28.0 +VTS,1,1,1740,9.0,CRD,29.0 +VTS,1,1,600,1.58,CSH,8.5 +VTS,1,1,660,2.17,CRD,10.0 +VTS,1,1,780,3.4,CRD,13.0 +VTS,1,1,480,1.68,CSH,8.0 +VTS,1,1,360,2.6,CRD,9.0 +VTS,1,1,300,0.0,CRD,5.0 +VTS,1,1,1800,2.81,CRD,19.0 +VTS,1,1,720,2.11,CSH,10.0 +VTS,1,1,1200,3.36,CRD,15.5 +VTS,1,1,600,1.21,CRD,7.5 +VTS,1,1,1260,8.0,CSH,23.5 +VTS,2,2,1800,18.12,CSH,52.0 +VTS,1,1,2760,11.79,CSH,44.5 +VTS,1,1,600,2.68,CSH,10.0 +VTS,1,1,420,0.84,CRD,6.0 +VTS,1,1,840,1.85,CSH,11.0 +VTS,2,2,2040,19.79,CSH,52.0 +VTS,1,1,900,1.69,CSH,9.0 +VTS,1,1,360,0.77,CRD,6.0 +VTS,1,1,1080,3.1,CSH,14.5 +VTS,1,1,1740,13.97,CRD,40.0 +VTS,1,1,660,2.41,CSH,11.0 +VTS,1,1,660,1.62,CSH,9.0 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,1140,1.88,CRD,12.5 +VTS,1,1,1080,3.3,CRD,15.0 +VTS,1,1,720,1.62,CSH,9.5 +VTS,1,1,300,0.94,CSH,6.0 +VTS,1,1,2520,12.81,CRD,42.0 +VTS,1,1,900,3.43,CRD,13.5 +VTS,1,1,540,1.86,CRD,8.5 +VTS,1,1,660,1.02,CRD,8.0 +VTS,1,1,300,0.81,CSH,5.0 +VTS,1,1,540,1.63,CSH,8.0 +VTS,2,2,1920,18.52,CRD,52.0 +VTS,1,1,180,0.66,CSH,4.5 +VTS,2,2,3480,16.29,CSH,52.0 +VTS,1,1,3720,20.35,CRD,62.5 +VTS,1,1,540,2.03,CRD,9.0 +VTS,2,2,3120,17.85,CSH,52.0 +VTS,1,1,420,0.93,CRD,6.0 +VTS,1,1,600,1.63,CSH,8.5 +VTS,1,1,840,3.71,CRD,14.5 +VTS,1,1,540,2.09,CSH,8.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,2,2,2340,17.98,CRD,52.0 +VTS,2,2,1800,18.53,CSH,52.0 +VTS,1,1,1320,3.41,CRD,15.5 +VTS,2,2,1320,16.56,CSH,52.0 +VTS,1,1,1740,3.38,CSH,19.5 +VTS,1,1,120,0.31,CSH,3.5 +VTS,1,1,1020,8.14,CSH,24.5 +VTS,1,1,840,6.63,CSH,20.5 +VTS,1,1,1500,10.31,CRD,31.0 +VTS,1,1,120,0.3,CSH,3.5 +VTS,1,1,540,0.69,CRD,7.5 +VTS,1,1,480,1.44,CSH,7.5 +VTS,1,1,480,1.96,CRD,8.0 +VTS,1,1,420,1.12,CRD,6.5 +VTS,1,1,600,1.15,CSH,8.0 +VTS,1,1,900,1.99,CSH,11.5 +VTS,1,1,720,2.26,CRD,10.5 +VTS,1,1,1020,2.75,CRD,13.0 +VTS,1,1,120,0.67,CSH,4.0 +VTS,1,1,960,4.16,CSH,15.0 +VTS,1,1,660,2.28,CSH,10.5 +VTS,2,2,4200,17.8,CRD,52.0 +VTS,1,1,600,1.2,CSH,8.0 +VTS,1,1,780,5.44,CSH,17.5 +VTS,1,1,1200,8.32,CSH,25.0 +VTS,1,1,1440,4.55,CRD,18.5 +VTS,2,2,3300,16.52,CSH,52.0 +VTS,1,1,2100,9.78,CRD,33.0 +VTS,1,1,900,5.98,CSH,19.0 +VTS,1,1,780,3.32,CRD,13.0 +VTS,2,2,1680,17.26,CRD,52.0 +VTS,1,1,480,1.95,CSH,8.5 +VTS,2,2,120,0.0,CRD,52.0 +VTS,2,2,3060,15.73,CSH,52.0 +VTS,1,1,1680,18.93,CRD,50.5 +VTS,1,1,240,0.72,CRD,5.0 +VTS,1,1,0,0.02,CSH,2.5 +VTS,1,1,1800,9.65,CSH,32.0 +VTS,1,1,360,0.57,CRD,5.0 +VTS,1,1,1680,3.35,CSH,18.5 +VTS,1,1,660,2.18,CSH,10.0 +VTS,1,1,540,2.77,CRD,10.0 +VTS,1,1,360,1.1,CRD,6.0 +VTS,1,1,480,1.3,CRD,7.0 +VTS,1,1,480,1.3,CSH,7.5 +VTS,1,1,240,0.76,CSH,5.0 +VTS,1,1,300,0.73,CRD,5.0 +VTS,2,2,2160,13.13,CSH,52.0 +VTS,1,1,2220,12.66,CSH,39.0 +VTS,2,2,2400,19.38,CRD,52.0 +VTS,1,1,1740,11.59,CSH,35.0 +VTS,1,1,360,0.95,CRD,6.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,600,0.89,CSH,8.0 +VTS,1,1,120,0.28,CSH,3.5 +VTS,1,1,420,1.42,CRD,7.0 +VTS,1,1,720,3.06,CSH,12.0 +VTS,1,1,1440,6.29,CRD,21.5 +VTS,1,1,180,0.95,CSH,5.0 +VTS,1,1,660,3.18,CSH,11.5 +VTS,1,1,780,3.07,CRD,12.0 +VTS,1,1,1140,4.61,CRD,17.0 +VTS,1,1,900,1.07,CSH,10.0 +VTS,1,1,1020,3.66,CRD,15.0 +VTS,1,1,540,0.92,CRD,7.5 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,900,1.02,CSH,10.0 +VTS,1,1,540,0.85,CRD,7.0 +VTS,1,1,540,1.01,CSH,7.5 +VTS,1,1,420,0.65,CRD,6.5 +VTS,1,1,360,0.91,CSH,6.0 +VTS,1,1,660,1.68,CSH,9.0 +VTS,1,1,120,0.61,CSH,4.0 +VTS,1,1,660,2.42,CSH,10.5 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,1020,2.87,CRD,14.0 +VTS,1,1,2040,15.58,CSH,45.5 +VTS,1,1,1260,11.25,CRD,32.5 +VTS,1,1,420,0.94,CSH,6.5 +VTS,2,1,1620,17.2,CSH,52.0 +VTS,1,1,360,1.92,CRD,7.5 +VTS,1,1,720,6.1,CSH,19.0 +VTS,1,1,180,0.87,CSH,4.5 +VTS,1,1,1260,4.42,CSH,16.5 +VTS,1,1,720,1.88,CRD,9.5 +VTS,1,1,180,0.86,CRD,4.5 +VTS,1,1,960,1.75,CRD,11.0 +VTS,1,1,720,1.45,CRD,9.5 +VTS,2,2,1800,19.57,CSH,52.0 +VTS,1,1,660,2.53,CRD,11.0 +VTS,2,2,2160,16.65,CRD,52.0 +VTS,1,1,720,2.53,CRD,11.0 +VTS,2,2,3240,17.76,CSH,52.0 +VTS,1,1,120,0.44,CRD,3.5 +VTS,2,2,2640,15.68,CSH,52.0 +VTS,1,1,660,4.75,CSH,15.0 +VTS,2,2,3240,18.54,CRD,52.0 +VTS,1,1,720,1.83,CRD,10.0 +VTS,1,1,2400,17.98,CSH,48.5 +VTS,1,1,1800,9.8,CRD,31.0 +VTS,1,1,660,1.66,CSH,8.5 +VTS,1,1,360,1.69,CRD,7.5 +VTS,1,1,600,2.2,CRD,10.0 +VTS,2,1,1560,16.55,CSH,52.0 +VTS,1,1,660,1.52,CRD,8.5 +VTS,1,1,600,1.7,CSH,8.5 +VTS,1,1,840,2.84,CRD,12.0 +VTS,1,1,1320,7.67,CSH,26.0 +VTS,1,2,2160,13.92,CSH,40.0 +VTS,1,1,1920,3.93,CRD,22.5 +VTS,1,1,3000,6.87,CSH,38.0 +VTS,1,1,1320,15.95,CRD,42.5 +VTS,1,1,180,0.43,CRD,4.0 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,540,1.11,CSH,7.5 +VTS,2,1,660,2.32,CSH,52.0 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,240,0.89,CSH,5.0 +VTS,1,1,960,8.56,CSH,25.0 +VTS,1,1,1080,3.14,CRD,14.5 +VTS,1,1,1140,3.4,CSH,15.0 +VTS,1,1,420,1.51,CRD,7.5 +VTS,1,1,1200,3.65,CSH,16.5 +VTS,1,1,420,1.15,CRD,7.0 +VTS,1,1,540,1.08,CRD,7.5 +VTS,1,1,720,1.9,CRD,9.5 +VTS,1,1,420,1.12,CSH,7.0 +VTS,1,1,540,1.84,CRD,9.0 +VTS,1,1,720,3.76,CSH,13.5 +VTS,1,1,420,1.4,CRD,7.5 +VTS,1,1,360,2.67,CSH,9.5 +VTS,1,1,2040,6.71,CSH,26.5 +VTS,1,1,480,1.05,CRD,6.5 +VTS,1,1,1080,3.43,CRD,15.0 +VTS,1,1,840,3.32,CSH,13.5 +VTS,2,2,1980,19.1,CSH,52.0 +VTS,2,2,2340,11.93,CSH,52.0 +VTS,1,1,1200,4.58,CRD,17.5 +VTS,1,1,1260,3.19,CRD,15.0 +VTS,1,1,540,1.11,CSH,7.0 +VTS,1,1,420,1.12,CSH,7.0 +VTS,1,1,540,0.91,CSH,7.0 +VTS,1,1,1260,2.42,CRD,14.0 +VTS,1,1,1200,1.8,CSH,13.5 +VTS,1,1,900,4.11,CSH,14.5 +VTS,1,1,780,2.88,CRD,11.5 +VTS,1,1,240,1.47,CSH,6.0 +VTS,1,1,480,1.46,CSH,7.5 +VTS,1,1,1080,1.97,CRD,13.0 +VTS,1,1,420,0.49,CRD,6.0 +VTS,1,1,540,2.05,CRD,9.0 +VTS,1,1,1020,9.99,CRD,29.0 +VTS,1,1,900,2.34,CRD,12.0 +VTS,1,1,660,1.11,CRD,8.0 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,1,960,4.36,CRD,15.5 +VTS,1,1,840,3.86,CRD,14.0 +VTS,1,1,540,2.0,CSH,9.0 +VTS,1,1,780,1.32,CSH,9.0 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,1,360,1.29,CRD,6.5 +VTS,1,1,300,1.14,CSH,6.0 +VTS,1,1,300,1.1,CSH,5.5 +VTS,2,1,3060,17.52,CSH,52.0 +VTS,2,1,3120,17.81,CSH,52.0 +VTS,1,1,540,1.74,CSH,9.0 +VTS,1,1,1260,5.07,CSH,18.0 +VTS,1,1,1140,3.97,CRD,15.5 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,1500,1.48,CRD,15.5 +VTS,1,1,600,1.56,CSH,8.0 +VTS,1,1,360,0.76,CRD,5.5 +VTS,1,1,780,3.2,CRD,13.0 +VTS,1,1,1200,3.57,CSH,15.0 +VTS,1,1,900,3.39,CSH,13.0 +VTS,1,1,780,2.02,CRD,11.0 +VTS,1,1,480,0.54,CSH,6.0 +VTS,1,1,240,1.48,CSH,6.0 +VTS,1,1,720,1.93,CRD,10.0 +VTS,1,1,240,1.49,CRD,6.0 +VTS,1,1,1080,14.17,CSH,38.5 +VTS,1,1,1140,5.12,CRD,18.0 +VTS,1,1,240,0.88,CRD,5.0 +VTS,1,1,960,3.73,CRD,14.0 +VTS,1,1,540,0.88,CSH,7.5 +VTS,1,1,840,1.97,CSH,10.5 +VTS,1,1,2220,16.04,CRD,45.0 +VTS,1,1,360,0.69,CRD,5.5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,120,0.44,CRD,3.5 +VTS,2,1,3180,16.25,CRD,52.0 +VTS,1,1,720,6.86,CSH,20.5 +VTS,2,2,1920,17.35,CSH,52.0 +VTS,1,1,1860,9.6,CSH,32.5 +VTS,2,2,3720,17.48,CSH,52.0 +VTS,1,1,1440,4.14,CSH,18.5 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,360,1.42,CRD,6.5 +VTS,2,2,2520,17.04,CRD,52.0 +VTS,1,1,1080,2.38,CSH,13.5 +VTS,1,1,0,0.14,CSH,2.5 +VTS,2,2,2460,20.36,CRD,52.0 +VTS,1,1,420,1.27,CSH,6.5 +VTS,1,1,300,1.26,CRD,6.0 +VTS,1,1,420,1.94,CRD,8.0 +VTS,1,1,360,0.85,CRD,6.0 +VTS,1,1,660,1.41,CSH,8.5 +VTS,1,1,1680,10.15,CRD,31.0 +VTS,1,1,900,3.63,CRD,14.5 +VTS,1,1,180,0.35,CSH,3.5 +VTS,1,1,1320,4.63,CRD,17.5 +VTS,1,1,1020,5.04,CSH,18.0 +VTS,1,1,540,1.03,CRD,7.5 +VTS,1,1,1320,2.91,CRD,15.5 +VTS,1,1,1140,3.88,CRD,15.0 +VTS,1,1,660,2.94,CRD,11.5 +VTS,1,1,480,1.05,CSH,6.5 +VTS,1,1,1080,1.66,CRD,12.0 +VTS,2,1,3180,20.02,CRD,52.0 +VTS,1,1,300,0.62,CSH,5.0 +VTS,1,1,1020,4.3,CSH,16.0 +VTS,2,1,2220,18.26,CRD,52.0 +VTS,1,1,900,3.82,CRD,14.5 +VTS,1,1,1260,3.07,CRD,15.5 +VTS,1,1,780,3.08,CSH,13.0 +VTS,1,1,300,1.54,CSH,6.5 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,1500,4.0,CRD,18.5 +VTS,1,1,180,0.46,CSH,3.5 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,420,1.85,CRD,8.0 +VTS,1,1,1140,9.2,CSH,27.5 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,660,2.1,CRD,9.5 +VTS,1,1,1620,6.18,CSH,22.5 +VTS,1,1,1440,8.44,CSH,27.5 +VTS,1,1,600,1.31,CRD,8.0 +VTS,1,1,780,1.68,CRD,9.5 +VTS,1,1,600,3.89,CSH,13.5 +VTS,1,1,1440,4.98,CRD,19.5 +VTS,1,1,420,1.08,CRD,6.5 +VTS,1,1,120,0.58,CSH,4.0 +VTS,1,1,420,0.78,CRD,6.0 +VTS,1,1,660,1.36,CRD,8.5 +VTS,1,1,1320,9.41,CSH,29.0 +VTS,1,1,60,0.32,CRD,3.0 +VTS,1,1,420,1.22,CRD,6.5 +VTS,2,2,2100,19.08,CSH,52.0 +VTS,1,1,660,3.86,CRD,13.0 +VTS,1,1,1080,2.73,CRD,13.5 +VTS,1,1,360,1.02,CRD,5.5 +VTS,1,1,0,0.27,CSH,3.0 +VTS,1,1,840,2.54,CRD,11.5 +VTS,2,2,2760,22.93,CSH,52.0 +VTS,1,1,780,2.39,CSH,11.0 +VTS,1,1,720,0.97,CSH,8.5 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,600,2.76,CSH,10.0 +VTS,1,1,720,2.61,CRD,11.0 +VTS,1,1,780,2.37,CSH,10.5 +VTS,1,1,1080,2.8,CSH,13.0 +VTS,1,1,480,1.31,CSH,7.5 +VTS,2,2,3660,18.59,CSH,52.0 +VTS,1,1,360,1.02,CSH,6.5 +VTS,1,1,840,2.92,CSH,12.0 +VTS,1,1,900,1.99,CSH,11.0 +VTS,1,1,480,0.94,CRD,6.5 +VTS,1,1,480,0.99,CSH,7.0 +VTS,1,1,480,1.02,CSH,7.0 +VTS,1,1,660,1.24,CSH,8.0 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,240,1.01,CSH,5.5 +VTS,1,1,780,1.01,CSH,8.5 +VTS,1,1,1140,2.1,CRD,13.0 +VTS,1,1,240,0.75,CSH,5.0 +VTS,1,1,180,0.11,CSH,3.0 +VTS,1,1,600,2.4,CRD,10.5 +VTS,1,1,780,3.67,CRD,13.0 +VTS,1,1,1200,5.26,CRD,18.5 +VTS,1,1,1200,2.54,CSH,14.0 +VTS,1,1,420,1.36,CRD,7.0 +VTS,1,1,1200,2.46,CRD,14.0 +VTS,1,1,780,1.67,CSH,9.5 +VTS,1,1,1020,7.76,CRD,23.5 +VTS,1,1,480,1.57,CRD,7.5 +VTS,1,1,600,1.62,CRD,8.5 +VTS,1,1,300,0.69,CRD,5.0 +VTS,1,1,480,1.38,CRD,6.5 +VTS,1,1,300,1.57,CSH,6.5 +VTS,1,1,1260,3.69,CSH,15.0 +VTS,1,1,360,0.75,CSH,5.0 +VTS,1,1,480,1.49,CSH,7.5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,480,1.58,CRD,7.5 +VTS,1,1,480,1.11,CSH,7.0 +VTS,1,1,240,0.84,CSH,5.0 +VTS,2,1,3180,17.36,CSH,52.0 +VTS,1,1,900,3.57,CRD,14.5 +VTS,1,1,900,9.48,CRD,27.0 +VTS,1,1,540,2.22,CSH,8.5 +VTS,1,1,240,0.77,CRD,5.0 +VTS,1,1,660,2.28,CSH,9.5 +VTS,1,1,720,2.83,CRD,11.5 +VTS,1,1,540,1.88,CSH,8.5 +VTS,1,1,900,3.24,CSH,12.5 +VTS,1,1,300,0.69,CSH,4.5 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,420,2.25,CRD,8.5 +VTS,1,1,960,2.29,CRD,12.0 +VTS,1,1,240,0.55,CRD,5.0 +VTS,1,1,660,1.46,CRD,8.5 +VTS,1,1,480,1.21,CRD,7.5 +VTS,2,1,1500,16.75,CSH,52.0 +VTS,1,1,420,0.5,CRD,5.5 +VTS,1,1,480,1.2,CSH,7.5 +VTS,1,1,1140,5.47,CRD,20.0 +VTS,1,1,720,5.25,CSH,17.5 +VTS,1,1,180,0.85,CRD,5.0 +VTS,1,1,420,1.82,CSH,8.5 +VTS,1,1,360,1.67,CRD,7.5 +VTS,1,1,1620,10.74,CSH,33.0 +VTS,2,2,1440,16.62,CRD,52.0 +VTS,1,1,420,1.09,CRD,6.5 +VTS,2,2,2820,21.62,CSH,52.0 +VTS,1,1,540,0.87,CRD,7.5 +VTS,1,1,960,5.13,CSH,18.0 +VTS,5,1,4740,39.06,CSH,135.0 +VTS,1,1,1260,6.38,CSH,21.5 +VTS,1,1,900,2.67,CRD,12.5 +VTS,1,1,960,2.95,CRD,13.5 +VTS,1,1,300,0.8,CRD,5.0 +VTS,1,1,840,6.8,CSH,21.0 +VTS,1,1,2040,8.53,CSH,32.0 +VTS,1,1,180,0.34,CSH,4.0 +VTS,2,2,2400,18.45,CRD,52.0 +VTS,1,1,900,1.14,CRD,9.5 +VTS,2,2,2220,18.41,CSH,52.0 +VTS,1,1,420,0.93,CRD,6.5 +VTS,1,1,840,5.02,CRD,16.5 +VTS,1,1,900,2.99,CRD,12.5 +VTS,1,1,1200,11.6,CSH,32.5 +VTS,1,1,300,1.0,CRD,5.5 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,360,0.7,CSH,5.5 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,420,0.62,CSH,6.0 +VTS,1,1,360,0.83,CSH,5.5 +VTS,2,1,4080,18.35,CSH,52.0 +VTS,1,1,600,1.93,CSH,8.5 +VTS,1,1,180,0.84,CRD,5.0 +VTS,1,1,360,1.0,CRD,6.0 +VTS,1,1,300,0.88,CRD,6.0 +VTS,1,1,1380,3.67,CRD,16.5 +VTS,1,1,660,2.26,CSH,11.0 +VTS,2,1,1560,16.96,CSH,52.0 +VTS,1,1,660,0.61,CRD,7.5 +VTS,1,1,660,1.19,CSH,8.5 +VTS,1,1,2280,2.31,CRD,21.5 +VTS,1,1,960,4.4,CRD,15.5 +VTS,1,1,540,2.39,CSH,9.5 +VTS,2,1,2220,21.77,CSH,52.0 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,1,900,2.85,CRD,12.5 +VTS,1,1,1320,3.71,CRD,16.5 +VTS,1,1,540,1.13,CSH,7.5 +VTS,1,1,1080,3.93,CSH,15.5 +VTS,1,1,720,1.53,CRD,9.0 +VTS,1,1,480,1.39,CSH,7.0 +VTS,1,1,1320,3.85,CRD,16.5 +VTS,5,1,120,0.0,CRD,90.0 +VTS,1,1,540,1.89,CSH,8.5 +VTS,1,1,360,0.57,CRD,4.5 +VTS,1,1,480,1.36,CRD,7.0 +VTS,1,1,720,1.59,CRD,9.0 +VTS,1,1,1200,4.53,CRD,17.5 +VTS,1,1,540,1.93,CRD,8.5 +VTS,1,1,780,3.0,CSH,12.0 +VTS,1,1,1200,3.67,CSH,16.5 +VTS,1,1,240,0.55,CSH,4.0 +VTS,1,1,900,2.01,CSH,11.5 +VTS,1,1,1380,5.12,CSH,19.5 +VTS,1,1,540,1.68,CSH,8.5 +VTS,1,1,1680,8.76,CSH,29.0 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,360,0.57,CRD,5.0 +VTS,1,1,720,3.76,CRD,13.0 +VTS,1,1,1080,3.55,CRD,15.0 +VTS,1,1,2520,16.34,CRD,47.0 +VTS,1,1,660,1.77,CSH,9.5 +VTS,1,1,300,1.1,CRD,6.0 +VTS,1,1,1320,12.11,CSH,34.5 +VTS,1,1,1320,9.39,CSH,28.0 +VTS,2,1,3240,17.72,CRD,52.0 +VTS,1,1,1380,2.3,CSH,15.0 +VTS,1,1,240,0.59,CSH,5.0 +VTS,1,1,1440,5.55,CRD,22.0 +VTS,1,1,840,2.15,CRD,11.0 +VTS,1,1,960,3.41,CRD,13.0 +VTS,1,1,960,2.39,CRD,12.5 +VTS,1,1,300,1.0,CSH,5.5 +VTS,1,1,420,1.07,CRD,6.5 +VTS,2,2,660,2.89,CSH,52.0 +VTS,1,1,1620,9.46,CSH,29.0 +VTS,1,1,2100,20.38,CRD,55.5 +VTS,1,1,300,1.07,CSH,6.5 +VTS,1,1,900,7.04,CSH,21.5 +VTS,1,1,2040,14.73,CSH,42.0 +VTS,1,1,480,0.87,CRD,6.5 +VTS,1,1,660,2.06,CRD,9.0 +VTS,3,3,0,0.0,CSH,20.0 +VTS,2,2,2400,17.66,CRD,52.0 +VTS,1,1,1560,11.46,CRD,34.0 +VTS,1,1,600,3.6,CSH,12.5 +VTS,1,1,1620,8.27,CSH,29.0 +VTS,1,1,1320,2.71,CSH,15.5 +VTS,2,2,2100,16.88,CRD,52.0 +VTS,3,3,1920,13.69,CRD,58.0 +VTS,1,1,720,1.31,CRD,9.0 +VTS,1,1,1020,1.4,CSH,12.0 +VTS,2,2,2340,20.98,CRD,52.0 +VTS,1,1,780,2.1,CRD,10.5 +VTS,1,1,1500,4.67,CSH,19.5 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,540,2.96,CRD,10.5 +VTS,1,1,1740,8.75,CSH,28.5 +VTS,1,1,480,1.56,CRD,7.5 +VTS,1,1,1140,1.86,CRD,13.0 +VTS,1,1,420,1.02,CSH,6.5 +VTS,1,1,720,3.79,CSH,13.5 +VTS,2,1,1620,17.36,CSH,52.0 +VTS,1,1,720,1.58,CRD,9.5 +VTS,1,1,360,1.03,CRD,6.5 +VTS,1,1,660,2.9,CSH,11.0 +VTS,1,1,360,0.65,CSH,5.5 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,360,1.03,CSH,6.0 +VTS,1,1,1440,10.25,CSH,32.0 +VTS,1,1,240,0.66,CSH,4.5 +VTS,1,1,180,0.59,CRD,4.5 +VTS,1,1,540,2.75,CRD,10.0 +VTS,1,1,1620,6.1,CRD,24.5 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,540,2.32,CRD,9.5 +VTS,1,1,540,1.58,CRD,8.5 +VTS,1,1,1500,12.27,CRD,35.0 +VTS,1,1,480,2.73,CRD,9.5 +VTS,1,1,2100,12.56,CRD,39.5 +VTS,1,1,240,0.62,CSH,5.0 +VTS,1,1,1200,2.7,CRD,14.0 +VTS,1,1,360,0.14,CRD,5.5 +VTS,1,1,480,0.84,CSH,6.5 +VTS,1,1,540,2.56,CSH,10.5 +VTS,1,1,360,1.51,CSH,7.0 +VTS,2,1,3360,17.19,CSH,52.0 +VTS,1,1,600,2.59,CSH,10.0 +VTS,2,1,2640,17.79,CRD,52.0 +VTS,1,1,480,0.67,CSH,6.5 +VTS,1,1,1020,2.4,CRD,12.5 +VTS,1,1,240,0.81,CSH,5.0 +VTS,1,1,240,0.9,CSH,5.0 +VTS,1,1,180,0.98,CSH,5.0 +VTS,1,1,300,0.7,CRD,5.0 +VTS,1,1,300,0.6,CSH,5.0 +VTS,1,1,240,0.94,CSH,5.0 +VTS,1,1,900,1.65,CRD,11.5 +VTS,1,1,660,1.59,CSH,9.0 +VTS,1,1,1140,6.1,CSH,21.0 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,2280,9.16,CRD,32.5 +VTS,1,1,180,0.56,CSH,4.0 +VTS,1,1,1080,8.79,CSH,26.0 +VTS,1,1,420,1.42,CSH,7.0 +VTS,1,1,480,1.92,CRD,9.0 +VTS,1,1,540,1.17,CSH,7.5 +VTS,1,1,420,1.21,CRD,6.5 +VTS,1,1,480,1.85,CRD,8.5 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,360,0.95,CSH,6.0 +VTS,1,1,480,1.55,CRD,8.0 +VTS,1,1,1320,7.21,CRD,24.5 +VTS,1,1,480,1.42,CRD,7.5 +VTS,1,1,540,0.92,CSH,7.5 +VTS,2,2,2340,17.85,CSH,52.0 +VTS,1,1,660,1.82,CSH,9.0 +VTS,1,1,720,1.69,CRD,9.5 +VTS,2,2,3540,17.34,CSH,52.0 +VTS,2,2,2400,17.92,CRD,52.0 +VTS,2,2,1740,16.95,CSH,52.0 +VTS,1,1,1080,3.82,CRD,14.5 +VTS,1,1,900,3.83,CRD,14.0 +VTS,1,1,2460,9.51,CSH,34.0 +VTS,1,1,720,1.21,CSH,9.0 +VTS,2,2,1380,16.37,CSH,52.0 +VTS,1,1,1680,5.64,CSH,23.0 +VTS,1,1,240,0.95,CSH,5.0 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,1260,2.73,CRD,15.0 +VTS,1,1,840,2.29,CRD,11.0 +VTS,1,1,420,1.11,CSH,6.5 +VTS,1,1,1980,11.12,CRD,34.0 +VTS,1,1,300,0.61,CRD,4.5 +VTS,2,2,1740,18.09,CRD,52.0 +VTS,1,1,900,2.13,CRD,11.0 +VTS,1,1,600,2.02,CSH,9.0 +VTS,1,1,1560,7.4,CSH,25.5 +VTS,1,1,1020,2.76,CSH,13.0 +VTS,1,1,120,0.8,CRD,4.5 +VTS,1,1,300,0.46,CSH,5.0 +VTS,1,1,540,1.1,CSH,7.0 +VTS,1,1,420,1.11,CSH,7.0 +VTS,1,1,540,2.07,CSH,8.5 +VTS,1,1,1200,3.51,CSH,16.5 +VTS,1,1,240,0.48,CSH,4.5 +VTS,1,1,600,2.79,CRD,11.0 +VTS,1,1,1860,3.75,CRD,20.0 +VTS,1,1,1380,11.15,CRD,31.0 +VTS,1,1,1020,5.23,CRD,18.0 +VTS,1,1,360,1.11,CSH,6.0 +VTS,1,1,240,1.62,CSH,6.5 +VTS,1,1,420,1.48,CSH,7.0 +VTS,1,1,660,2.42,CSH,10.5 +VTS,1,1,300,0.64,CSH,4.5 +VTS,2,1,0,0.03,CSH,52.0 +VTS,1,1,240,0.86,CRD,5.0 +VTS,1,1,540,1.55,CSH,8.0 +VTS,1,1,360,1.46,CRD,6.5 +VTS,1,1,660,2.92,CRD,11.5 +VTS,1,1,120,0.47,CSH,3.5 +VTS,1,1,360,1.13,CRD,6.5 +VTS,1,1,600,3.44,CSH,12.0 +VTS,1,1,600,1.71,CSH,9.0 +VTS,1,1,780,2.89,CRD,12.0 +VTS,1,1,420,0.75,CSH,6.0 +VTS,1,1,240,0.85,CRD,5.5 +VTS,1,1,2160,5.48,CSH,26.5 +VTS,2,1,4980,20.9,CSH,52.0 +VTS,1,1,480,1.59,CSH,7.5 +VTS,1,1,600,3.85,CSH,13.0 +VTS,1,1,660,1.35,CRD,9.0 +VTS,1,1,660,1.66,CSH,9.0 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,360,1.02,CSH,5.5 +VTS,1,1,1860,7.86,CSH,28.0 +VTS,1,1,540,0.69,CRD,7.5 +VTS,1,1,1260,3.16,CSH,15.0 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,1260,4.38,CSH,17.5 +VTS,1,1,480,1.21,CSH,7.0 +VTS,1,1,360,0.75,CSH,6.0 +VTS,1,1,600,2.05,CRD,8.5 +VTS,1,1,600,1.66,CSH,8.5 +VTS,1,1,780,1.72,CSH,10.0 +VTS,1,1,600,2.06,CRD,9.0 +VTS,1,1,1320,6.24,CSH,21.5 +VTS,1,1,360,1.52,CRD,6.5 +VTS,1,1,1260,2.84,CRD,15.5 +VTS,1,1,780,7.96,CRD,22.5 +VTS,1,1,660,1.39,CRD,8.5 +VTS,1,1,660,1.34,CSH,8.5 +VTS,1,1,600,1.75,CRD,8.5 +VTS,1,1,840,3.56,CRD,13.0 +VTS,1,1,300,1.08,CSH,6.0 +VTS,1,1,1860,4.38,CSH,20.5 +VTS,1,1,360,1.62,CRD,7.0 +VTS,1,1,1260,2.2,CRD,14.0 +VTS,1,1,660,3.74,CRD,12.5 +VTS,1,1,720,6.4,CSH,19.5 +VTS,2,1,1740,17.29,CSH,52.0 +VTS,1,1,360,1.28,CSH,6.0 +VTS,2,1,1500,16.86,CSH,52.0 +VTS,1,1,2220,18.09,CSH,51.5 +VTS,1,1,3060,12.29,CSH,42.5 +VTS,1,1,360,0.89,CSH,5.5 +VTS,1,1,480,2.91,CRD,10.5 +VTS,1,1,420,1.76,CRD,7.5 +VTS,2,1,1860,18.47,CRD,52.0 +VTS,1,1,960,1.54,CRD,10.5 +VTS,1,1,300,1.44,CRD,6.0 +VTS,1,1,1020,3.83,CRD,15.5 +VTS,1,1,960,4.62,CRD,16.5 +VTS,1,1,1380,9.84,CRD,29.0 +VTS,1,1,300,0.9,CSH,5.0 +VTS,1,1,360,1.11,CRD,6.5 +VTS,1,1,1260,11.83,CRD,33.5 +VTS,1,1,720,3.7,CRD,12.5 +VTS,1,1,60,0.33,CSH,3.0 +VTS,1,1,720,2.81,CSH,12.0 +VTS,1,1,300,0.54,CSH,4.5 +VTS,1,1,2340,11.96,CSH,40.0 +VTS,1,1,660,2.73,CRD,10.5 +VTS,1,1,420,1.34,CRD,7.0 +VTS,1,1,720,1.86,CRD,9.5 +VTS,1,1,300,0.96,CRD,6.0 +VTS,1,1,420,1.44,CRD,7.5 +VTS,1,1,1020,5.23,CSH,18.5 +VTS,1,1,300,1.59,CRD,7.0 +VTS,1,1,120,0.46,CRD,4.0 +VTS,1,1,720,1.61,CSH,9.5 +VTS,1,1,720,0.71,CRD,9.0 +VTS,1,1,1080,8.59,CSH,25.5 +VTS,1,1,660,3.87,CSH,13.5 +VTS,1,1,840,3.21,CRD,13.0 +VTS,1,1,1200,7.49,CRD,22.5 +VTS,1,1,540,1.34,CRD,7.5 +VTS,1,1,780,3.15,CRD,12.5 +VTS,1,1,480,1.82,CSH,7.5 +VTS,1,1,540,1.62,CRD,8.5 +VTS,1,1,1500,5.22,CRD,21.5 +VTS,1,1,1560,7.27,CRD,24.5 +VTS,1,1,1680,5.76,CRD,22.5 +VTS,1,1,840,2.68,CRD,11.5 +VTS,1,1,1080,3.18,CRD,14.0 +VTS,1,1,3120,17.38,CRD,55.5 +VTS,1,1,420,0.78,CSH,5.5 +VTS,1,1,360,0.61,CSH,5.0 +VTS,1,1,1560,2.94,CRD,17.0 +VTS,1,1,2340,9.25,CRD,34.5 +VTS,2,1,1920,18.2,CSH,52.0 +VTS,2,1,1860,20.21,CRD,52.0 +VTS,1,1,840,3.45,CRD,12.5 +VTS,1,1,600,2.22,CSH,9.5 +VTS,1,1,420,1.2,CSH,7.0 +VTS,1,1,1320,12.53,CRD,35.0 +VTS,1,1,960,2.0,CSH,12.0 +VTS,1,1,780,1.55,CSH,10.0 +VTS,1,1,480,1.2,CRD,7.5 +VTS,1,1,600,4.25,CRD,14.0 +VTS,1,1,240,1.15,CRD,5.0 +VTS,1,1,3240,23.88,CRD,68.0 +VTS,1,1,660,1.06,CRD,8.5 +VTS,1,1,2220,10.86,CSH,34.5 +VTS,1,1,660,1.46,CSH,8.5 +VTS,1,1,1200,3.43,CSH,15.5 +VTS,1,1,660,2.24,CRD,10.0 +VTS,1,1,600,1.93,CRD,9.0 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,300,1.3,CSH,6.0 +VTS,1,1,780,3.65,CSH,13.5 +VTS,1,1,840,3.87,CRD,14.0 +VTS,1,1,300,1.06,CSH,5.5 +VTS,1,1,240,0.38,CSH,4.5 +VTS,1,1,600,2.49,CRD,10.0 +VTS,1,1,600,0.82,CSH,7.0 +VTS,2,1,3000,17.65,CSH,52.0 +VTS,1,1,420,1.12,CRD,7.0 +VTS,1,1,600,2.3,CSH,9.5 +VTS,2,1,2700,21.21,CRD,52.0 +VTS,1,1,1200,6.82,CSH,22.5 +VTS,1,1,1800,16.19,CSH,44.5 +VTS,1,1,300,1.17,CSH,5.5 +VTS,1,1,1500,9.63,CRD,30.5 +VTS,1,1,300,1.0,CSH,5.5 +VTS,1,1,780,3.64,CRD,13.0 +VTS,1,1,2280,11.1,CRD,35.0 +VTS,1,1,660,1.34,CRD,8.5 +VTS,1,1,840,2.22,CSH,10.5 +VTS,1,1,960,2.45,CRD,12.5 +VTS,1,1,240,1.4,CSH,6.0 +VTS,1,1,960,2.98,CSH,13.0 +VTS,1,1,600,2.31,CSH,10.0 +VTS,1,1,480,1.71,CSH,8.0 +VTS,1,1,480,1.93,CSH,8.5 +VTS,1,1,1320,10.17,CRD,31.5 +VTS,1,1,1080,3.96,CRD,15.5 +VTS,1,1,240,0.83,CRD,5.0 +VTS,1,1,960,3.17,CRD,13.0 +VTS,1,1,420,1.59,CRD,8.0 +VTS,1,1,360,1.12,CRD,6.0 +VTS,2,1,1500,20.41,CSH,52.0 +VTS,1,1,660,1.7,CSH,8.5 +VTS,1,1,1080,10.0,CRD,28.5 +VTS,1,1,720,2.64,CSH,11.0 +VTS,1,1,720,5.85,CRD,18.0 +VTS,1,1,540,1.4,CRD,8.0 +VTS,1,1,360,1.4,CRD,7.0 +VTS,1,1,240,0.83,CRD,5.0 +VTS,1,1,600,0.74,CRD,7.5 +VTS,2,1,2520,22.17,CSH,52.0 +VTS,1,1,660,1.54,CSH,9.0 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,1140,4.85,CRD,18.0 +VTS,1,1,600,1.66,CRD,9.0 +VTS,1,1,660,1.46,CSH,8.5 +VTS,1,1,1680,10.41,CSH,33.5 +VTS,1,1,180,0.58,CRD,4.0 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,1,480,1.12,CRD,7.0 +VTS,1,1,360,0.48,CRD,5.5 +VTS,1,1,480,1.9,CSH,8.5 +VTS,1,1,480,1.85,CSH,8.5 +VTS,1,1,420,1.34,CSH,7.0 +VTS,1,1,360,1.0,CRD,6.0 +VTS,1,1,420,1.6,CRD,8.0 +VTS,1,2,360,1.23,CSH,6.5 +VTS,2,3,2880,18.07,CRD,52.0 +VTS,1,3,1800,14.43,CSH,41.0 +VTS,1,3,2160,4.39,CSH,17.0 +VTS,1,2,780,2.42,CSH,11.0 +VTS,1,4,1140,4.03,CSH,16.0 +VTS,1,2,1080,8.63,CRD,25.5 +VTS,1,3,600,2.07,CSH,9.5 +VTS,1,3,660,3.67,CRD,12.5 +VTS,1,3,360,1.77,CSH,7.5 +VTS,1,2,600,2.81,CSH,10.5 +VTS,1,1,240,0.87,CRD,5.0 +VTS,2,1,2820,17.75,CRD,52.0 +VTS,1,1,240,1.01,CSH,5.0 +VTS,1,1,900,3.39,CRD,13.0 +VTS,1,1,360,1.27,CSH,6.5 +VTS,1,1,420,1.45,CSH,6.5 +VTS,1,1,300,0.54,CSH,4.5 +VTS,2,1,0,0.04,CSH,52.0 +VTS,1,1,780,2.61,CSH,11.5 +VTS,1,1,540,2.39,CSH,9.0 +VTS,1,1,1080,2.85,CSH,13.0 +VTS,1,1,480,1.33,CSH,7.5 +VTS,1,1,480,1.89,CRD,8.5 +VTS,1,1,720,1.73,CRD,8.5 +VTS,1,1,600,1.08,CSH,7.5 +VTS,1,1,480,2.1,CRD,8.5 +VTS,1,1,840,1.78,CRD,11.0 +VTS,1,1,1140,1.91,CSH,13.0 +VTS,1,1,420,1.84,CSH,8.0 +VTS,1,1,1200,2.91,CRD,15.0 +VTS,1,1,1140,2.76,CSH,14.0 +VTS,1,1,480,2.3,CSH,9.0 +VTS,1,1,420,1.98,CSH,8.0 +VTS,1,1,600,2.5,CSH,10.5 +VTS,1,1,240,0.44,CSH,4.5 +VTS,1,1,180,0.5,CSH,4.0 +VTS,1,1,480,1.76,CRD,8.0 +VTS,1,1,240,0.9,CSH,5.0 +VTS,1,1,480,1.7,CSH,8.5 +VTS,2,1,2220,18.65,CRD,52.0 +VTS,1,1,1380,4.63,CRD,19.0 +VTS,1,1,600,1.17,CSH,7.5 +VTS,1,1,720,0.49,CSH,4.0 +VTS,1,1,720,1.41,CSH,9.0 +VTS,1,1,600,1.57,CSH,8.5 +VTS,1,1,1980,5.94,CRD,24.0 +VTS,1,1,360,1.22,CRD,6.0 +VTS,2,1,1800,18.26,CRD,52.0 +VTS,1,1,2100,8.79,CRD,30.0 +VTS,1,1,1440,9.3,CSH,28.5 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,2580,9.78,CSH,33.0 +VTS,1,1,1800,18.51,CSH,49.5 +VTS,1,1,540,3.05,CRD,10.5 +VTS,1,1,540,2.83,CSH,10.0 +VTS,2,1,1560,17.25,CSH,52.0 +VTS,1,1,420,1.24,CSH,6.5 +VTS,1,1,600,1.41,CSH,8.5 +VTS,1,1,1380,7.67,CSH,24.5 +VTS,1,1,420,1.28,CRD,6.5 +VTS,1,2,1020,2.16,CRD,12.0 +VTS,1,1,720,2.89,CRD,11.5 +VTS,1,1,840,3.57,CRD,13.0 +VTS,1,1,780,1.64,CRD,10.5 +VTS,1,1,180,0.34,CSH,4.0 +VTS,1,1,540,1.75,CSH,8.5 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,1080,3.77,CRD,15.0 +VTS,1,1,600,1.8,CRD,9.0 +VTS,1,2,1140,4.49,CSH,16.5 +VTS,1,2,1440,8.11,CSH,26.5 +VTS,1,2,300,0.58,CRD,5.0 +VTS,1,3,960,1.74,CSH,11.5 +VTS,1,2,420,2.35,CRD,9.0 +VTS,1,2,360,1.38,CSH,6.5 +VTS,1,2,1860,4.25,CRD,21.5 +VTS,1,2,780,1.99,CSH,10.0 +VTS,2,3,1800,18.09,CRD,52.0 +VTS,1,2,1020,4.21,CRD,16.0 +VTS,1,3,420,0.98,CSH,4.5 +VTS,1,3,600,1.45,CRD,8.5 +VTS,1,2,1080,4.72,CSH,16.5 +VTS,1,2,900,1.46,CRD,10.5 +VTS,1,3,780,2.77,CRD,11.5 +VTS,1,3,240,0.75,CRD,4.5 +VTS,1,3,180,0.46,CSH,4.5 +VTS,1,2,240,1.41,CRD,6.0 +VTS,1,3,900,3.49,CSH,13.5 +VTS,1,2,240,1.18,CSH,5.5 +VTS,1,1,840,2.21,CRD,11.5 +VTS,1,1,300,0.76,CSH,5.0 +VTS,1,1,240,0.84,CSH,5.5 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,1320,2.8,CRD,16.5 +VTS,1,1,1080,5.08,CRD,17.5 +VTS,1,1,540,2.41,CRD,9.5 +VTS,1,1,960,7.35,CSH,22.0 +VTS,1,1,1260,10.04,CSH,29.5 +VTS,1,1,1020,3.98,CRD,14.5 +VTS,1,1,540,1.95,CRD,8.5 +VTS,1,1,480,3.02,CRD,10.5 +VTS,1,1,720,3.25,CRD,12.0 +VTS,1,1,840,1.97,CRD,10.5 +VTS,1,3,240,0.48,CRD,4.5 +VTS,1,2,1080,5.1,CSH,17.5 +VTS,1,2,1320,5.85,CSH,21.0 +VTS,1,3,360,0.97,CSH,6.0 +VTS,1,3,480,1.04,CSH,7.0 +VTS,1,2,1020,3.61,CRD,14.5 +VTS,1,2,540,1.87,CRD,8.5 +VTS,1,2,960,5.65,CRD,18.5 +VTS,1,2,720,1.88,CRD,9.5 +VTS,1,3,180,0.87,CSH,5.0 +VTS,1,2,360,1.23,CRD,6.5 +VTS,1,3,780,4.08,CSH,14.0 +VTS,2,1,3900,21.93,CRD,52.0 +VTS,1,1,960,4.13,CRD,15.5 +VTS,1,1,1320,10.35,CRD,30.5 +VTS,1,1,840,5.89,CRD,18.5 +VTS,1,1,1140,11.02,CRD,30.5 +VTS,1,1,780,6.01,CSH,19.0 +VTS,1,1,420,0.94,CSH,6.0 +VTS,1,1,960,2.91,CSH,13.5 +VTS,1,1,660,2.61,CSH,10.0 +VTS,1,1,480,0.92,CSH,6.5 +VTS,1,1,540,1.28,CSH,8.5 +VTS,1,1,780,4.42,CSH,15.0 +VTS,1,1,780,2.95,CSH,12.0 +VTS,1,1,480,0.88,CSH,7.0 +VTS,1,1,420,0.85,CSH,6.5 +VTS,1,1,1200,5.31,CSH,20.0 +VTS,2,1,3120,16.62,CRD,52.0 +VTS,1,1,600,1.67,CRD,8.5 +VTS,1,1,840,2.17,CRD,11.5 +VTS,1,1,720,1.27,CRD,9.0 +VTS,1,1,900,6.99,CRD,21.5 +VTS,1,1,1680,2.42,CSH,17.0 +VTS,1,1,1320,1.19,CRD,14.0 +VTS,1,1,480,1.51,CRD,7.5 +VTS,1,1,420,1.16,CSH,6.5 +VTS,1,1,1200,2.2,CSH,14.0 +VTS,1,1,720,1.18,CRD,9.0 +VTS,2,1,1500,17.41,CSH,52.0 +VTS,1,1,1620,4.69,CSH,21.0 +VTS,1,1,2940,13.49,CRD,45.5 +VTS,1,1,240,0.91,CRD,5.5 +VTS,1,1,360,0.93,CRD,6.0 +VTS,1,1,780,5.21,CSH,17.0 +VTS,1,1,540,1.99,CRD,9.0 +VTS,1,1,1140,6.32,CRD,21.5 +VTS,1,1,240,1.23,CSH,6.0 +VTS,1,1,120,0.64,CSH,4.0 +VTS,1,1,300,1.02,CSH,6.0 +VTS,1,1,960,3.28,CRD,15.0 +VTS,1,1,540,1.16,CSH,7.5 +VTS,1,1,720,1.88,CRD,9.5 +VTS,1,1,600,2.31,CRD,10.0 +VTS,1,1,1080,1.48,CRD,12.0 +VTS,1,1,660,2.06,CSH,10.0 +VTS,1,1,720,1.38,CRD,9.5 +VTS,1,1,240,0.82,CRD,5.0 +VTS,1,1,600,1.99,CRD,9.5 +VTS,1,1,420,1.57,CSH,7.5 +VTS,1,1,1260,9.34,CRD,28.5 +VTS,1,2,120,0.65,CSH,4.0 +VTS,1,4,720,2.7,CRD,11.0 +VTS,1,3,1380,4.06,CRD,18.0 +VTS,1,2,1020,3.19,CRD,13.5 +VTS,1,2,480,2.05,CRD,8.5 +VTS,1,2,1020,3.38,CRD,14.0 +VTS,1,3,240,0.75,CSH,4.5 +VTS,1,2,360,1.24,CRD,6.5 +VTS,1,2,660,1.4,CSH,7.5 +VTS,1,2,240,0.66,CSH,4.5 +VTS,1,2,480,3.46,CSH,12.0 +VTS,1,2,1260,8.26,CRD,25.5 +VTS,1,2,360,1.87,CRD,7.5 +VTS,1,2,1140,3.66,CRD,16.0 +VTS,1,2,180,0.68,CRD,4.5 +VTS,1,2,360,0.93,CSH,6.0 +VTS,2,2,2640,17.62,CRD,52.0 +VTS,1,3,360,1.71,CRD,7.0 +VTS,1,3,180,0.67,CSH,4.5 +VTS,1,2,780,1.95,CSH,10.5 +VTS,1,2,660,3.09,CSH,12.0 +VTS,1,3,480,2.2,CRD,8.5 +VTS,1,2,1020,8.25,CRD,24.0 +VTS,1,2,540,2.1,CRD,9.0 +VTS,1,2,600,1.18,CRD,8.0 +VTS,1,2,720,1.23,CRD,8.5 +VTS,1,3,420,0.89,CRD,6.5 +VTS,1,2,540,2.44,CSH,9.5 +VTS,1,3,240,0.7,CSH,5.0 +VTS,1,3,480,1.73,CSH,8.0 +VTS,1,3,480,1.07,CSH,7.0 +VTS,1,2,780,2.23,CSH,11.0 +VTS,4,2,1440,7.55,CSH,31.5 +VTS,1,3,840,2.79,CRD,12.0 +VTS,5,1,1080,5.7,CRD,50.0 +VTS,1,2,1920,6.5,CRD,26.0 +VTS,1,2,900,4.36,CSH,16.0 +VTS,1,3,540,3.09,CRD,11.0 +VTS,1,3,360,0.71,CSH,5.5 +VTS,1,2,360,1.12,CSH,6.5 +VTS,1,3,540,1.95,CSH,9.0 +VTS,1,2,1320,6.14,CRD,20.5 +VTS,1,3,1140,2.34,CSH,13.5 +VTS,1,2,660,2.54,CSH,10.0 +VTS,1,3,1080,5.99,CSH,20.0 +VTS,1,3,720,1.85,CRD,9.5 +VTS,1,2,780,3.12,CRD,12.0 +VTS,1,2,360,1.14,CRD,6.0 +VTS,1,3,660,2.61,CSH,11.0 +VTS,1,2,660,1.54,CSH,9.0 +VTS,1,3,1020,3.98,CSH,15.0 +VTS,1,2,300,0.77,CSH,5.0 +VTS,1,2,660,2.5,CSH,10.0 +VTS,1,4,900,7.89,CRD,23.5 +VTS,1,2,2100,12.16,CSH,36.5 +VTS,1,1,720,1.26,CRD,9.0 +VTS,1,1,180,1.76,CSH,6.5 +VTS,1,1,720,1.61,CSH,9.5 +VTS,1,1,720,1.3,CRD,9.0 +VTS,1,1,660,0.85,CSH,8.5 +VTS,1,1,240,1.1,CRD,6.0 +VTS,1,1,660,1.84,CSH,9.5 +VTS,1,1,60,0.3,CSH,3.0 +VTS,1,3,480,1.69,CSH,8.0 +VTS,1,3,240,0.67,CSH,4.5 +VTS,2,3,2100,17.39,CRD,52.0 +VTS,1,2,420,0.92,CRD,6.0 +VTS,1,3,480,2.32,CSH,9.5 +VTS,1,4,1080,8.83,CRD,26.0 +VTS,1,2,240,0.67,CSH,5.0 +VTS,1,2,480,1.51,CSH,7.5 +VTS,1,3,420,1.96,CRD,8.5 +VTS,1,3,780,3.69,CRD,13.5 +VTS,1,2,1020,4.58,CRD,17.5 +VTS,1,3,600,2.48,CSH,10.0 +VTS,1,2,960,2.59,CRD,12.5 +VTS,1,2,540,2.92,CRD,10.5 +VTS,1,3,1620,6.45,CRD,23.5 +VTS,2,2,3000,18.17,CRD,52.0 +VTS,1,2,480,2.02,CSH,8.5 +VTS,1,2,600,1.92,CSH,9.5 +VTS,1,2,1020,3.4,CRD,14.0 +VTS,1,1,300,0.55,CRD,5.0 +VTS,1,1,780,2.09,CSH,11.0 +VTS,1,1,180,0.12,CSH,4.0 +VTS,1,1,840,3.14,CSH,12.5 +VTS,1,1,840,1.01,CRD,10.0 +VTS,1,1,540,0.84,CRD,7.5 +VTS,1,1,840,2.92,CRD,12.5 +VTS,1,1,960,3.11,CRD,13.0 +VTS,1,1,480,1.46,CRD,7.0 +VTS,1,1,600,2.51,CSH,9.5 +VTS,1,1,660,1.07,CRD,8.5 +VTS,1,1,420,1.95,CSH,8.0 +VTS,1,1,780,2.31,CSH,11.0 +VTS,1,1,360,1.29,CRD,6.5 +VTS,1,1,240,0.82,CSH,5.5 +VTS,1,3,480,2.26,CRD,9.0 +VTS,1,3,480,1.27,CRD,7.5 +VTS,1,2,1320,15.49,CRD,41.5 +VTS,1,3,480,2.6,CSH,9.5 +VTS,1,3,960,5.35,CRD,18.5 +VTS,1,3,960,1.17,CSH,11.0 +VTS,1,2,480,1.56,CSH,8.0 +VTS,1,3,240,1.46,CRD,6.0 +VTS,1,2,540,2.23,CRD,9.0 +VTS,1,3,720,1.91,CSH,10.0 +VTS,1,2,1260,4.28,CRD,17.5 +VTS,1,3,480,1.87,CRD,8.5 +VTS,1,2,240,0.64,CSH,5.0 +VTS,1,2,0,0.03,CSH,2.5 +VTS,1,2,420,0.68,CSH,6.5 +VTS,1,3,660,3.29,CRD,12.0 +VTS,1,2,300,0.81,CRD,5.0 +VTS,1,2,480,1.9,CSH,8.5 +VTS,1,3,120,0.53,CSH,4.0 +VTS,1,2,420,1.95,CRD,8.0 +VTS,1,2,480,2.5,CRD,9.5 +VTS,1,2,120,0.68,CRD,4.0 +VTS,1,2,540,2.5,CRD,10.0 +VTS,1,2,600,1.85,CSH,8.5 +VTS,1,2,300,0.82,CRD,5.5 +VTS,1,3,300,1.59,CSH,6.5 +VTS,1,3,660,2.49,CSH,10.5 +VTS,1,3,780,5.17,CSH,17.0 +VTS,1,2,480,1.4,CSH,8.0 +VTS,1,3,1200,2.47,CSH,14.0 +VTS,1,3,1320,5.62,CSH,21.0 +VTS,1,3,300,0.65,CSH,5.5 +VTS,1,3,1020,3.44,CSH,14.5 +VTS,1,3,240,1.18,CRD,5.5 +VTS,1,2,540,2.75,CRD,10.0 +VTS,1,2,1560,7.27,CSH,25.0 +VTS,1,3,1140,9.27,CRD,27.0 +VTS,1,3,360,0.66,CSH,5.5 +VTS,1,3,480,1.2,CSH,7.5 +VTS,1,2,660,2.6,CRD,11.0 +VTS,1,3,240,0.97,CSH,5.5 +VTS,1,2,300,1.28,CRD,6.0 +VTS,2,2,2400,19.48,CRD,52.0 +VTS,1,3,600,1.95,CSH,9.0 +VTS,1,3,180,0.7,CSH,5.0 +VTS,1,2,480,1.78,CSH,8.0 +VTS,1,3,1020,4.31,CSH,16.0 +VTS,1,2,420,1.27,CRD,6.5 +VTS,1,3,1020,8.88,CSH,25.5 +VTS,1,2,240,0.51,CRD,4.5 +VTS,1,2,660,1.53,CRD,9.0 +VTS,1,2,600,0.87,CRD,8.0 +VTS,1,2,1380,6.04,CRD,21.5 +VTS,1,3,1140,1.62,CSH,12.5 +VTS,1,2,300,0.56,CSH,5.0 +VTS,1,3,1080,4.0,CRD,15.5 +VTS,1,2,1740,10.51,CRD,32.0 +VTS,1,2,240,1.37,CSH,5.5 +VTS,1,2,300,0.69,CSH,5.0 +VTS,1,2,300,1.02,CSH,5.5 +VTS,1,3,600,2.32,CRD,9.5 +VTS,1,2,720,3.2,CRD,12.0 +VTS,1,3,900,5.08,CRD,16.5 +VTS,1,2,600,1.22,CSH,8.0 +VTS,1,3,480,1.02,CSH,7.0 +VTS,1,2,1200,1.73,CRD,13.5 +VTS,1,2,600,2.26,CRD,10.0 +VTS,1,2,900,1.32,CRD,11.0 +VTS,1,2,660,1.41,CRD,9.0 +VTS,1,2,780,2.62,CRD,11.0 +VTS,2,2,2760,18.56,CRD,52.0 +VTS,1,2,420,1.79,CRD,8.0 +VTS,1,3,720,4.89,CSH,15.5 +VTS,1,2,600,1.87,CSH,9.5 +VTS,1,2,840,2.62,CSH,11.5 +VTS,1,2,300,1.08,CSH,5.5 +VTS,1,3,660,2.76,CRD,10.5 +VTS,1,2,2100,10.22,CRD,33.5 +VTS,1,2,180,0.64,CRD,4.5 +VTS,2,2,3480,21.09,CRD,52.0 +VTS,1,2,1200,3.49,CSH,15.5 +VTS,1,2,840,2.66,CRD,12.0 +VTS,1,3,480,1.5,CSH,7.5 +VTS,1,2,240,0.97,CSH,6.0 +VTS,1,2,360,0.59,CRD,5.5 +VTS,1,2,840,1.11,CRD,9.5 +VTS,1,3,840,4.45,CRD,15.0 +VTS,1,2,960,2.14,CSH,12.0 +VTS,1,2,840,3.41,CRD,13.0 +VTS,1,3,1260,7.75,CRD,25.0 +VTS,1,3,600,2.22,CSH,9.0 +VTS,1,2,1080,4.92,CRD,17.0 +VTS,1,2,540,1.93,CRD,8.5 +VTS,1,3,420,1.53,CRD,7.5 +VTS,1,2,180,0.55,CSH,4.5 +VTS,1,3,660,1.13,CRD,8.5 +VTS,1,2,480,1.13,CRD,7.0 +VTS,1,2,360,1.18,CRD,6.5 +VTS,1,2,900,3.99,CRD,15.0 +VTS,1,3,720,3.98,CRD,14.0 +VTS,1,2,240,0.95,CSH,5.5 +VTS,1,2,480,2.63,CRD,9.0 +VTS,1,2,780,2.68,CRD,11.5 +VTS,1,3,600,2.4,CRD,10.0 +VTS,1,2,1380,5.25,CRD,20.0 +VTS,1,3,360,1.15,CSH,6.0 +VTS,1,3,240,0.83,CRD,5.0 +VTS,1,2,480,1.35,CSH,6.5 +VTS,1,2,420,2.66,CSH,9.5 +VTS,1,3,840,4.53,CSH,14.5 +VTS,1,3,480,1.89,CRD,8.0 +VTS,1,2,1020,3.58,CRD,15.0 +VTS,1,2,600,2.0,CSH,9.0 +VTS,1,2,420,0.85,CSH,6.5 +VTS,1,2,360,1.62,CRD,7.0 +VTS,2,2,2460,17.63,CRD,52.0 +VTS,1,2,360,1.49,CSH,7.0 +VTS,1,2,720,1.54,CRD,9.5 +VTS,1,2,720,2.55,CRD,11.0 +VTS,1,3,660,2.99,CRD,11.0 +VTS,1,2,480,1.01,CRD,7.0 +VTS,1,2,1320,4.05,CSH,17.0 +VTS,1,2,1020,3.56,CSH,14.0 +VTS,1,2,960,4.1,CSH,15.0 +VTS,1,3,240,0.8,CSH,5.0 +VTS,1,3,780,1.47,CRD,9.5 +VTS,1,3,600,1.69,CSH,8.5 +VTS,1,3,840,2.81,CSH,11.5 +VTS,1,2,780,2.87,CRD,11.5 +VTS,1,2,660,1.69,CSH,9.0 +VTS,1,3,660,1.25,CRD,8.5 +VTS,1,3,300,0.6,CSH,5.0 +VTS,1,2,300,1.76,CRD,7.0 +VTS,1,2,300,1.55,CRD,7.0 +VTS,1,2,2100,8.63,CRD,31.0 +VTS,1,2,1380,4.75,CRD,19.0 +VTS,1,3,120,0.11,CSH,3.0 +VTS,1,2,60,0.23,CSH,3.0 +VTS,1,3,540,1.64,CSH,8.5 +VTS,1,3,240,0.53,CRD,4.5 +VTS,1,3,1800,10.31,CSH,31.5 +VTS,1,2,840,3.08,CRD,13.5 +VTS,1,1,360,0.86,CSH,6.0 +VTS,1,1,420,1.3,CRD,7.0 +VTS,1,1,360,0.83,CSH,5.5 +VTS,1,1,1980,3.6,CSH,21.0 +VTS,1,1,600,2.81,CRD,11.0 +VTS,1,1,1320,3.6,CRD,16.0 +VTS,1,1,540,1.39,CRD,8.0 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,1,420,0.73,CSH,6.0 +VTS,2,1,2220,18.33,CRD,52.0 +VTS,1,1,600,2.08,CRD,9.5 +VTS,1,1,660,2.38,CRD,10.5 +VTS,1,3,660,1.82,CSH,9.0 +VTS,2,2,2460,17.39,CRD,52.0 +VTS,1,2,600,2.31,CRD,10.0 +VTS,1,2,660,2.57,CSH,10.5 +VTS,1,3,1380,6.35,CRD,20.5 +VTS,1,2,120,0.53,CSH,4.0 +VTS,1,2,540,1.59,CRD,8.5 +VTS,1,2,240,0.6,CSH,4.5 +VTS,1,3,1020,2.97,CSH,13.5 +VTS,1,3,480,1.09,CRD,7.0 +VTS,1,3,300,0.85,CSH,5.5 +VTS,1,2,240,1.0,CSH,5.5 +VTS,1,2,1080,3.55,CSH,15.5 +VTS,1,3,240,0.53,CRD,4.5 +VTS,1,2,300,1.3,CRD,6.0 +VTS,1,2,420,1.18,CSH,6.5 +VTS,1,2,1080,9.51,CRD,27.5 +VTS,1,2,420,0.76,CSH,6.0 +VTS,1,2,600,2.15,CSH,8.5 +VTS,1,2,420,1.66,CSH,7.5 +VTS,1,3,900,3.46,CSH,13.0 +VTS,1,2,360,3.07,CRD,10.5 +VTS,1,3,1020,8.85,CSH,25.5 +VTS,1,2,1320,9.96,CRD,29.0 +VTS,1,3,420,1.39,CRD,7.5 +VTS,1,2,300,1.2,CRD,6.0 +VTS,1,2,780,3.63,CRD,13.0 +VTS,1,2,1020,4.0,CSH,15.0 +VTS,1,2,840,2.42,CRD,11.0 +VTS,1,2,1020,3.67,CSH,14.5 +VTS,1,2,300,0.88,CSH,5.0 +VTS,1,2,1080,4.88,CRD,17.5 +VTS,1,2,1500,4.73,CSH,19.0 +VTS,1,2,780,2.69,CSH,12.0 +VTS,1,2,180,0.75,CSH,4.5 +VTS,1,3,540,1.39,CRD,7.5 +VTS,1,3,240,1.03,CRD,6.0 +VTS,1,2,1500,4.6,CRD,20.5 +VTS,1,2,240,0.62,CSH,5.0 +VTS,1,3,540,1.08,CSH,7.0 +VTS,1,1,840,1.86,CSH,10.5 +VTS,1,1,420,0.88,CRD,6.0 +VTS,1,1,240,0.79,CRD,5.0 +VTS,1,1,780,3.36,CSH,12.5 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,240,0.54,CRD,5.0 +VTS,1,1,1020,2.21,CRD,12.5 +VTS,1,1,840,2.35,CRD,11.0 +VTS,1,1,960,4.65,CSH,15.5 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,120,0.63,CSH,4.0 +VTS,1,1,300,0.61,CSH,5.0 +VTS,1,1,720,2.01,CSH,10.0 +VTS,1,1,1500,14.01,CSH,39.0 +VTS,1,1,2460,13.79,CRD,42.5 +VTS,1,1,180,0.36,CSH,4.0 +VTS,1,1,2160,17.65,CRD,49.0 +VTS,1,1,480,1.46,CRD,7.5 +VTS,1,1,300,0.72,CRD,5.0 +VTS,1,1,1140,2.68,CSH,14.5 +VTS,1,1,1080,6.86,CRD,22.0 +VTS,1,1,540,1.76,CRD,8.5 +VTS,1,1,660,2.19,CRD,10.0 +VTS,1,1,1680,4.7,CRD,21.5 +VTS,1,1,840,3.3,CRD,13.5 +VTS,1,1,1320,6.18,CRD,21.5 +VTS,1,1,720,1.78,CRD,9.5 +VTS,1,1,540,0.89,CSH,7.0 +VTS,1,1,720,2.2,CRD,10.0 +VTS,1,1,1680,9.18,CSH,30.0 +VTS,1,1,780,1.8,CRD,10.5 +VTS,1,1,60,0.0,CSH,2.5 +VTS,1,1,3060,11.2,CSH,38.0 +VTS,1,1,420,1.74,CSH,8.0 +VTS,1,1,1500,12.02,CRD,34.5 +VTS,1,3,660,3.11,CRD,11.5 +VTS,1,3,660,1.1,CSH,8.5 +VTS,1,3,840,4.63,CRD,15.0 +VTS,1,2,120,0.33,CSH,3.5 +VTS,1,3,540,0.81,CSH,8.0 +VTS,1,3,540,1.24,CSH,8.0 +VTS,1,2,540,2.75,CRD,10.5 +VTS,1,3,480,1.78,CRD,8.5 +VTS,1,2,300,1.37,CSH,6.0 +VTS,1,3,180,0.72,CRD,4.5 +VTS,1,2,420,1.03,CSH,7.0 +VTS,1,2,540,1.92,CRD,9.0 +VTS,1,2,780,2.15,CRD,10.5 +VTS,1,2,1020,3.9,CRD,16.0 +VTS,1,2,360,1.31,CRD,6.5 +VTS,1,4,180,0.67,CSH,4.0 +VTS,1,2,840,6.71,CRD,20.5 +VTS,1,2,360,1.43,CSH,7.0 +VTS,1,2,1020,6.73,CSH,21.5 +VTS,1,2,360,0.95,CRD,5.5 +VTS,2,2,1620,17.06,CRD,52.0 +VTS,1,2,900,4.53,CRD,16.0 +VTS,1,2,1080,5.13,CSH,17.5 +VTS,1,2,120,0.46,CRD,3.5 +VTS,1,2,480,1.92,CSH,8.5 +VTS,1,3,960,1.43,CSH,10.5 +VTS,1,2,1200,2.85,CRD,14.5 +VTS,1,2,120,0.52,CSH,4.0 +VTS,1,2,660,3.52,CSH,12.0 +VTS,1,2,300,0.8,CSH,5.0 +VTS,1,2,420,1.23,CSH,7.0 +VTS,1,2,1620,6.72,CRD,24.0 +VTS,1,2,540,1.91,CSH,9.0 +VTS,1,2,1020,2.92,CRD,13.5 +VTS,1,2,660,2.56,CSH,10.5 +VTS,1,2,240,0.79,CRD,5.0 +VTS,1,2,240,0.7,CRD,4.5 +VTS,1,3,840,3.59,CSH,13.0 +VTS,1,3,840,2.31,CSH,11.5 +VTS,1,3,1560,6.7,CRD,23.5 +VTS,1,3,2220,11.65,CRD,36.5 +VTS,1,3,600,1.56,CSH,8.5 +VTS,1,3,300,0.86,CRD,6.0 +VTS,1,3,2040,8.56,CSH,31.5 +VTS,1,2,840,5.53,CRD,17.5 +VTS,1,2,240,1.19,CRD,5.5 +VTS,1,3,1860,7.4,CRD,26.0 +VTS,1,2,660,1.32,CSH,8.5 +VTS,1,2,840,2.99,CRD,12.5 +VTS,1,3,600,3.21,CSH,11.0 +VTS,1,2,600,2.64,CRD,10.0 +VTS,1,2,180,0.3,CSH,3.5 +VTS,1,3,420,1.0,CRD,6.0 +VTS,1,2,1020,3.46,CSH,14.0 +VTS,1,2,360,1.85,CRD,7.5 +VTS,1,3,480,1.93,CRD,8.0 +VTS,1,3,540,1.77,CSH,8.5 +VTS,1,2,180,0.57,CSH,4.0 +VTS,1,2,960,3.26,CRD,13.5 +VTS,1,2,600,3.04,CRD,11.0 +VTS,1,3,180,0.46,CRD,4.5 +VTS,1,2,720,1.78,CRD,9.5 +VTS,1,2,480,1.29,CSH,7.0 +VTS,1,2,240,0.86,CRD,5.0 +VTS,1,2,360,0.97,CRD,6.0 +VTS,1,2,1320,13.23,CSH,37.0 +VTS,1,3,600,5.43,CRD,16.5 +VTS,1,3,600,2.18,CRD,9.0 +VTS,1,2,840,5.57,CRD,17.0 +VTS,1,3,600,2.38,CSH,10.0 +VTS,1,4,900,4.9,CSH,17.0 +VTS,2,3,3180,17.85,CRD,52.0 +VTS,1,3,840,1.25,CRD,9.5 +VTS,1,2,660,2.58,CRD,10.5 +VTS,1,2,300,1.39,CSH,6.5 +VTS,1,2,120,0.38,CSH,3.5 +VTS,1,2,1200,3.95,CRD,17.0 +VTS,1,3,900,3.23,CRD,13.0 +VTS,1,3,780,4.18,CSH,14.0 +VTS,1,2,540,1.6,CRD,8.0 +VTS,1,2,180,0.76,CSH,4.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,3,900,3.84,CRD,14.5 +VTS,1,2,420,1.19,CSH,7.0 +VTS,1,3,600,1.92,CRD,9.0 +VTS,1,2,300,0.78,CRD,5.0 +VTS,1,2,1200,7.92,CRD,25.0 +VTS,1,2,600,0.85,CSH,7.5 +VTS,1,2,300,1.23,CRD,6.0 +VTS,1,2,600,2.35,CRD,9.5 +VTS,1,2,240,0.83,CRD,5.0 +VTS,1,3,780,2.81,CSH,11.5 +VTS,1,2,3420,12.75,CSH,39.0 +VTS,2,3,2040,18.23,CRD,52.0 +VTS,1,2,540,1.54,CRD,7.5 +VTS,1,2,240,0.88,CRD,5.0 +VTS,1,2,120,0.44,CSH,4.0 +VTS,1,2,900,1.6,CRD,11.0 +VTS,1,2,1200,6.18,CRD,21.0 +VTS,1,3,1260,13.29,CSH,36.0 +VTS,1,3,780,5.55,CSH,17.5 +VTS,1,2,240,0.83,CSH,5.0 +VTS,1,2,420,1.37,CRD,7.0 +VTS,1,2,360,1.17,CRD,6.5 +VTS,1,2,420,1.31,CRD,7.0 +VTS,1,2,1500,4.14,CRD,18.5 +VTS,1,2,1260,4.11,CSH,17.5 +VTS,1,2,660,2.49,CSH,10.0 +VTS,1,2,480,1.48,CRD,7.0 +VTS,1,2,900,7.2,CSH,22.0 +VTS,1,3,1080,3.62,CSH,15.0 +VTS,3,2,1740,17.07,CRD,64.5 +VTS,1,3,420,3.25,CRD,11.0 +VTS,1,3,420,1.78,CSH,7.5 +VTS,1,2,900,2.54,CSH,12.0 +VTS,1,2,300,1.26,CSH,6.0 +VTS,1,3,180,0.48,CSH,4.0 +VTS,1,2,300,0.94,CSH,5.5 +VTS,1,2,900,3.49,CSH,13.5 +VTS,1,2,420,1.96,CSH,8.5 +VTS,1,3,120,0.6,CRD,4.0 +VTS,1,3,900,2.67,CRD,12.5 +VTS,1,3,180,0.68,CRD,4.0 +VTS,1,2,960,3.96,CRD,14.5 +VTS,1,2,1260,3.55,CRD,16.5 +VTS,1,4,480,2.99,CSH,10.5 +VTS,1,3,1380,5.57,CSH,21.0 +VTS,1,3,300,0.86,CRD,5.5 +VTS,1,2,1620,15.25,CSH,43.0 +VTS,1,3,420,2.21,CSH,8.0 +VTS,1,2,540,2.61,CSH,10.0 +VTS,1,2,780,2.68,CSH,11.0 +VTS,1,2,1320,8.4,CRD,26.5 +VTS,1,3,840,5.87,CRD,19.0 +VTS,1,2,660,2.09,CRD,10.0 +VTS,1,3,360,1.92,CSH,8.0 +VTS,1,3,1140,3.12,CRD,14.5 +VTS,1,2,300,0.81,CRD,5.5 +VTS,1,3,540,1.47,CSH,7.5 +VTS,1,2,420,1.07,CSH,6.5 +VTS,1,3,1320,5.73,CSH,19.5 +VTS,1,2,420,1.21,CSH,7.0 +VTS,1,2,780,2.08,CRD,10.5 +VTS,1,2,2700,17.39,CSH,51.0 +VTS,1,3,360,1.08,CSH,6.0 +VTS,1,3,720,1.85,CRD,10.0 +VTS,1,3,1260,1.86,CRD,13.5 +VTS,1,2,480,2.27,CRD,9.0 +VTS,1,3,1080,3.11,CSH,14.5 +VTS,1,2,1320,5.17,CRD,18.5 +VTS,1,2,420,1.27,CRD,7.5 +VTS,1,2,540,1.11,CSH,7.0 +VTS,1,2,540,2.39,CSH,9.5 +VTS,1,3,360,1.08,CRD,6.0 +VTS,1,2,240,1.19,CSH,5.5 +VTS,1,2,1620,6.74,CRD,24.0 +VTS,1,2,720,2.62,CRD,11.0 +VTS,1,3,420,1.59,CSH,7.5 +VTS,1,3,480,1.12,CRD,6.5 +VTS,1,2,600,1.68,CRD,8.5 +VTS,1,3,1140,9.07,CRD,27.0 +VTS,1,2,240,0.65,CRD,4.5 +VTS,1,2,720,2.14,CSH,10.0 +VTS,1,2,180,0.48,CSH,4.0 +VTS,1,3,660,2.12,CSH,10.0 +VTS,1,3,600,2.12,CRD,9.0 +VTS,1,2,420,2.27,CRD,8.5 +VTS,1,2,300,0.84,CRD,5.5 +VTS,1,2,900,5.26,CSH,16.5 +VTS,1,2,420,2.36,CRD,8.5 +VTS,2,2,2220,22.78,CRD,52.0 +VTS,1,2,420,1.05,CSH,6.5 +VTS,2,2,2340,18.57,CRD,52.0 +VTS,1,1,780,3.56,CRD,13.5 +VTS,1,2,1140,3.65,CRD,16.0 +VTS,1,2,660,3.44,CSH,12.0 +VTS,1,2,960,6.98,CRD,22.0 +VTS,1,3,420,1.45,CRD,7.5 +VTS,1,2,180,0.6,CSH,4.5 +VTS,1,3,420,1.73,CRD,7.5 +VTS,1,2,480,2.04,CSH,8.5 +VTS,1,2,300,1.27,CRD,6.0 +VTS,1,3,120,0.26,CSH,3.5 +VTS,1,3,420,1.49,CRD,7.5 +VTS,1,2,1440,8.67,CRD,27.0 +VTS,1,2,480,1.05,CRD,7.0 +VTS,1,2,720,2.82,CSH,11.5 +VTS,1,2,540,2.05,CRD,9.0 +VTS,1,2,1380,5.41,CRD,20.5 +VTS,1,2,480,0.97,CRD,7.0 +VTS,1,2,720,2.22,CRD,10.5 +VTS,1,3,1320,5.31,CRD,20.0 +VTS,1,3,240,1.05,CRD,5.5 +VTS,1,3,540,1.41,CRD,8.0 +VTS,1,2,960,1.92,CSH,12.0 +VTS,1,3,300,1.19,CSH,6.0 +VTS,1,2,360,1.64,CRD,7.0 +VTS,1,3,2220,10.51,CSH,35.0 +VTS,1,3,480,0.82,CSH,5.0 +VTS,1,2,300,0.76,CRD,5.5 +VTS,1,2,1320,6.69,CRD,22.0 +VTS,1,2,1980,8.39,CRD,27.5 +VTS,1,2,1080,2.73,CSH,12.5 +VTS,1,3,300,0.98,CSH,5.5 +VTS,1,3,240,0.9,CSH,5.5 +VTS,1,2,1200,4.98,CSH,18.0 +VTS,1,3,780,3.03,CRD,12.0 +VTS,1,3,1080,7.06,CRD,22.5 +VTS,1,2,300,0.61,CSH,5.0 +VTS,1,2,300,1.33,CRD,6.0 +VTS,1,2,660,2.25,CRD,10.0 +VTS,1,2,480,1.58,CSH,8.0 +VTS,1,3,900,2.21,CRD,11.0 +VTS,2,3,2580,17.3,CRD,52.0 +VTS,1,2,300,0.99,CRD,5.5 +VTS,1,3,660,1.22,CRD,8.5 +VTS,1,2,600,1.95,CRD,9.5 +VTS,1,2,1320,5.33,CSH,19.0 +VTS,1,3,300,0.96,CSH,5.0 +VTS,1,2,1260,4.45,CSH,17.5 +VTS,1,2,840,2.05,CRD,10.5 +VTS,1,2,1200,6.92,CSH,23.0 +VTS,1,2,720,2.34,CSH,10.0 +VTS,1,3,780,2.92,CRD,12.0 +VTS,1,2,540,2.21,CRD,9.0 +VTS,1,3,420,1.49,CRD,7.5 +VTS,1,3,780,1.65,CRD,10.0 +VTS,1,2,360,1.56,CRD,7.5 +VTS,1,3,540,1.49,CSH,7.5 +VTS,2,2,2760,20.81,CRD,52.0 +VTS,1,3,1080,2.71,CRD,14.5 +VTS,1,2,780,3.6,CSH,12.5 +VTS,1,2,480,0.67,CRD,6.5 +VTS,1,3,240,0.56,CSH,5.0 +VTS,1,4,300,1.2,CSH,6.0 +VTS,1,3,840,3.83,CSH,14.0 +VTS,1,2,540,1.54,CRD,8.0 +VTS,1,3,1020,7.85,CRD,24.5 +VTS,1,3,720,7.44,CRD,21.0 +VTS,2,2,2520,18.07,CRD,52.0 +VTS,1,2,600,1.23,CRD,8.0 +VTS,1,3,420,1.39,CSH,6.5 +VTS,1,3,540,1.8,CRD,8.0 +VTS,1,2,420,0.67,CRD,6.0 +VTS,1,3,240,0.61,CSH,4.5 +VTS,1,3,300,0.83,CSH,5.5 +VTS,1,3,240,1.03,CRD,5.5 +VTS,1,2,660,1.72,CRD,9.0 +VTS,1,2,900,3.4,CRD,13.0 +VTS,1,3,2400,15.11,CRD,44.0 +VTS,1,2,1980,10.2,CRD,32.0 +VTS,1,3,840,5.51,CRD,17.5 +VTS,1,3,660,2.04,CRD,9.5 +VTS,1,3,840,3.58,CSH,13.5 +VTS,1,2,780,1.97,CSH,10.5 +VTS,1,2,780,1.93,CSH,10.5 +VTS,1,2,420,1.06,CRD,6.5 +VTS,1,2,1020,2.54,CRD,12.0 +VTS,1,1,660,1.61,CSH,8.5 +VTS,1,3,360,1.02,CSH,6.0 +VTS,1,3,2040,12.43,CRD,37.5 +VTS,1,3,540,1.29,CSH,7.5 +VTS,1,3,180,0.63,CSH,4.5 +VTS,1,2,660,2.97,CRD,12.0 +VTS,1,2,1380,7.57,CRD,24.5 +VTS,1,3,180,0.93,CRD,5.0 +VTS,1,2,1080,2.84,CSH,14.0 +VTS,1,3,480,1.52,CRD,8.0 +VTS,1,3,300,1.36,CRD,6.5 +VTS,1,2,1620,11.32,CRD,33.5 +VTS,1,2,360,1.5,CSH,7.0 +VTS,1,3,480,1.85,CRD,9.0 +VTS,1,3,240,0.62,CRD,4.5 +VTS,1,2,600,1.83,CRD,9.0 +VTS,1,3,540,1.21,CSH,7.5 +VTS,1,2,420,1.88,CRD,8.0 +VTS,1,3,180,0.92,CRD,5.0 +VTS,1,3,360,1.1,CRD,6.0 +VTS,1,2,240,0.62,CRD,5.0 +VTS,1,3,660,2.17,CSH,10.5 +VTS,1,2,600,1.39,CSH,8.0 +VTS,1,3,360,1.03,CRD,6.0 +VTS,1,3,1320,3.09,CRD,15.0 +VTS,1,2,420,0.61,CRD,6.0 +VTS,1,2,2040,10.21,CRD,32.5 +VTS,1,3,420,1.13,CSH,6.5 +VTS,1,3,540,2.97,CRD,11.0 +VTS,1,3,960,3.9,CRD,15.0 +VTS,1,2,1140,3.51,CSH,15.5 +VTS,1,2,960,2.6,CRD,12.5 +VTS,1,3,540,2.59,CSH,10.0 +VTS,1,2,600,1.65,CRD,8.5 +VTS,1,2,180,1.0,CRD,5.0 +VTS,1,3,1080,6.38,CSH,20.5 +VTS,1,2,900,3.97,CRD,14.0 +VTS,5,1,0,0.13,CRD,10.0 +VTS,1,2,420,1.33,CSH,7.0 +VTS,1,2,600,1.64,CRD,8.5 +VTS,1,2,540,1.71,CRD,8.5 +VTS,1,2,300,0.89,CRD,5.5 +VTS,1,3,420,0.84,CRD,6.0 +VTS,1,2,780,6.24,CRD,19.0 +VTS,1,3,180,0.4,CSH,4.5 +VTS,1,2,1020,1.92,CRD,12.0 +VTS,1,2,1020,2.8,CRD,13.5 +VTS,1,2,540,0.93,CRD,7.0 +VTS,1,2,2100,13.57,CSH,41.5 +VTS,1,4,360,1.28,CRD,6.5 +VTS,1,2,120,0.72,CSH,4.0 +VTS,1,2,240,0.65,CSH,4.5 +VTS,1,2,1080,3.78,CRD,15.0 +VTS,1,2,360,1.68,CRD,7.0 +VTS,1,2,180,0.75,CRD,4.5 +VTS,1,2,360,1.38,CSH,7.0 +VTS,1,3,540,1.29,CSH,7.5 +VTS,1,3,480,1.25,CSH,7.5 +VTS,1,2,780,6.33,CRD,19.5 +VTS,1,3,240,0.76,CRD,4.5 +VTS,1,2,180,0.74,CSH,4.5 +VTS,1,3,540,1.9,CRD,9.0 +VTS,1,3,240,0.71,CSH,5.0 +VTS,1,2,420,1.82,CRD,8.0 +VTS,1,4,420,0.84,CSH,6.5 +VTS,1,2,240,0.46,CRD,4.5 +VTS,1,3,960,3.3,CRD,13.5 +VTS,1,2,480,1.94,CRD,8.0 +VTS,1,2,480,1.27,CSH,7.5 +VTS,1,3,660,1.54,CRD,9.0 +VTS,1,3,1020,1.81,CSH,12.0 +VTS,1,2,660,2.08,CRD,10.0 +VTS,1,2,360,1.02,CRD,6.0 +VTS,1,2,1020,3.91,CRD,15.5 +VTS,1,2,360,1.53,CRD,7.0 +VTS,1,3,1320,5.02,CSH,18.5 +VTS,1,3,1140,4.31,CSH,17.0 +VTS,3,1,1680,12.92,CRD,55.0 +VTS,1,3,840,0.93,CRD,9.5 +VTS,1,2,780,2.53,CSH,11.5 +VTS,1,2,420,1.65,CRD,7.0 +VTS,1,2,780,3.14,CRD,12.0 +VTS,1,3,480,1.42,CSH,7.5 +VTS,1,2,1800,8.09,CRD,27.5 +VTS,1,1,180,0.95,CSH,5.0 +VTS,1,1,0,0.08,CSH,2.5 +VTS,2,1,1620,18.81,CRD,52.0 +VTS,1,3,1320,13.58,CSH,37.5 +VTS,1,2,540,4.54,CSH,14.5 +VTS,1,2,960,3.62,CSH,14.0 +VTS,1,1,960,5.58,CSH,19.0 +VTS,1,1,420,3.42,CRD,11.5 +VTS,1,2,240,0.54,CRD,4.5 +VTS,1,2,300,0.36,CSH,4.5 +VTS,1,2,420,0.96,CSH,6.5 +VTS,1,2,180,0.57,CSH,4.5 +VTS,1,1,540,1.15,CRD,7.0 +VTS,1,1,240,0.88,CSH,5.0 +VTS,1,2,840,3.55,CRD,13.0 +VTS,1,2,480,3.04,CRD,11.0 +VTS,1,2,1500,5.71,CSH,21.5 +VTS,1,2,1740,5.75,CSH,21.0 +VTS,1,2,240,1.39,CRD,6.0 +VTS,1,2,1980,20.69,CSH,56.0 +VTS,1,2,840,3.13,CSH,12.5 +VTS,1,2,360,1.8,CSH,7.5 +VTS,1,2,1140,2.65,CRD,14.0 +VTS,1,2,420,0.91,CRD,6.5 +VTS,1,2,1320,6.14,CSH,22.0 +VTS,1,2,1200,4.77,CRD,18.0 +VTS,1,2,1200,6.78,CRD,21.5 +VTS,1,2,840,3.1,CRD,13.0 +VTS,1,2,240,1.53,CRD,6.5 +VTS,1,4,480,1.28,CSH,7.5 +VTS,1,4,420,0.92,CSH,6.0 +VTS,1,2,180,0.45,CSH,3.5 +VTS,1,2,900,4.12,CRD,15.5 +VTS,1,2,180,1.08,CSH,5.0 +VTS,2,1,1980,19.19,CRD,52.0 +VTS,1,2,480,1.16,CRD,6.5 +VTS,1,2,240,1.35,CRD,6.0 +VTS,1,1,1320,11.61,CSH,32.5 +VTS,1,4,1920,9.3,CRD,31.0 +VTS,1,2,180,0.4,CRD,4.0 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,2,840,2.01,CSH,9.0 +VTS,1,1,1260,4.59,CSH,19.0 +VTS,1,3,600,1.54,CSH,8.5 +VTS,1,2,720,4.0,CRD,13.5 +VTS,1,2,660,1.85,CRD,9.5 +VTS,1,3,1200,3.31,CRD,15.5 +VTS,1,2,240,0.96,CRD,5.5 +VTS,1,3,1080,7.4,CRD,23.5 +VTS,1,3,360,0.9,CSH,6.0 +VTS,1,3,180,0.77,CSH,4.5 +VTS,1,3,420,1.13,CSH,7.0 +VTS,1,2,360,1.31,CRD,7.0 +VTS,1,2,1260,6.12,CRD,21.0 +VTS,1,3,540,1.54,CSH,8.0 +VTS,1,3,2100,10.81,CRD,34.5 +VTS,1,2,660,1.58,CSH,8.5 +VTS,1,3,180,0.75,CSH,5.0 +VTS,1,2,420,1.93,CRD,8.5 +VTS,1,3,1080,2.58,CRD,12.5 +VTS,1,2,480,2.37,CRD,9.0 +VTS,1,3,1260,2.78,CSH,15.0 +VTS,1,2,600,1.35,CSH,8.0 +VTS,1,3,360,1.37,CRD,7.0 +VTS,1,2,120,0.63,CSH,4.0 +VTS,1,2,660,2.23,CRD,10.0 +VTS,1,3,360,1.19,CRD,6.5 +VTS,1,2,360,1.39,CRD,7.0 +VTS,1,3,420,1.17,CRD,7.0 +VTS,1,2,660,1.2,CSH,8.5 +VTS,1,2,1140,8.25,CRD,25.0 +VTS,1,3,960,4.93,CRD,17.0 +VTS,1,1,240,0.82,CRD,5.0 +VTS,1,2,540,2.11,CSH,9.0 +VTS,1,1,720,2.05,CRD,10.0 +VTS,1,4,360,1.45,CRD,6.5 +VTS,1,2,840,1.59,CRD,10.5 +VTS,1,2,480,1.39,CRD,7.5 +VTS,1,2,720,3.16,CSH,12.5 +VTS,1,2,360,0.8,CSH,5.5 +VTS,1,2,300,1.03,CRD,5.5 +VTS,1,2,1440,12.48,CSH,36.0 +VTS,1,2,840,5.23,CSH,16.5 +VTS,1,2,480,1.35,CSH,7.5 +VTS,1,2,1140,5.94,CRD,20.0 +VTS,1,2,600,1.26,CRD,8.0 +VTS,1,1,720,1.61,CRD,9.0 +VTS,1,3,1320,5.42,CRD,20.0 +VTS,1,2,180,0.67,CSH,4.5 +VTS,2,2,180,0.0,CRD,52.0 +VTS,1,1,600,1.68,CRD,8.5 +VTS,1,2,120,0.3,CSH,3.5 +VTS,1,4,1500,2.61,CSH,16.0 +VTS,1,3,360,0.72,CRD,5.5 +VTS,1,2,960,8.69,CSH,24.5 +VTS,1,3,1080,4.21,CSH,16.0 +VTS,1,3,1440,6.61,CRD,23.0 +VTS,1,2,1320,7.96,CRD,24.5 +VTS,1,2,540,2.0,CSH,8.5 +VTS,2,1,1620,16.75,CRD,52.0 +VTS,1,2,720,2.05,CRD,10.0 +VTS,1,2,1320,10.02,CRD,29.5 +VTS,1,2,1320,3.39,CRD,16.0 +VTS,1,2,900,4.74,CSH,16.0 +VTS,1,2,480,1.88,CRD,8.0 +VTS,1,2,360,0.86,CRD,5.5 +VTS,1,3,540,1.23,CRD,7.5 +VTS,1,2,300,0.61,CSH,5.0 +VTS,1,4,420,1.36,CSH,7.0 +VTS,1,2,600,1.21,CRD,8.0 +VTS,1,2,660,3.13,CSH,12.5 +VTS,1,2,960,4.68,CRD,16.0 +VTS,1,2,1020,3.21,CSH,14.0 +VTS,1,2,900,4.24,CRD,15.5 +VTS,1,2,360,1.42,CSH,6.5 +VTS,1,1,660,2.91,CSH,11.5 +VTS,1,2,1140,3.4,CSH,14.0 +VTS,1,2,840,2.64,CRD,12.0 +VTS,1,2,360,0.71,CSH,5.0 +VTS,1,1,540,4.55,CSH,14.0 +VTS,1,1,540,1.67,CSH,8.5 +VTS,1,2,360,0.63,CSH,5.5 +VTS,1,4,780,2.72,CRD,11.0 +VTS,1,2,1140,9.54,CSH,27.5 +VTS,2,1,1560,19.51,CRD,52.0 +VTS,1,2,240,0.67,CRD,4.5 +VTS,1,2,660,3.37,CRD,12.0 +VTS,1,1,1320,11.03,CRD,31.5 +VTS,1,1,1320,9.93,CRD,29.5 +VTS,1,1,540,1.87,CRD,8.5 +VTS,1,1,240,0.84,CRD,5.0 +VTS,1,2,420,1.06,CRD,6.5 +VTS,1,2,420,1.21,CRD,6.5 +VTS,1,2,1020,4.55,CSH,16.5 +VTS,1,2,1380,5.9,CRD,21.5 +VTS,1,2,1260,9.06,CSH,28.0 +VTS,1,1,1620,9.33,CRD,30.0 +VTS,1,2,1080,3.58,CRD,16.0 +VTS,1,1,780,3.45,CRD,12.5 +VTS,1,3,2760,14.85,CSH,46.5 +VTS,1,2,660,2.14,CSH,10.0 +VTS,1,3,1140,5.69,CRD,17.5 +VTS,1,2,360,2.29,CSH,8.0 +VTS,1,2,240,2.19,CSH,8.0 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,1140,4.19,CRD,17.0 +VTS,1,1,420,0.97,CSH,6.0 +VTS,1,1,960,8.98,CRD,26.0 +VTS,1,2,720,3.05,CRD,12.0 +VTS,1,2,480,1.3,CSH,7.0 +VTS,1,2,1260,4.9,CRD,18.5 +VTS,1,2,420,0.95,CRD,6.5 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,2,840,2.12,CSH,11.5 +VTS,1,1,1560,5.03,CRD,21.0 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,180,0.58,CSH,4.0 +VTS,1,1,240,0.54,CSH,5.0 +VTS,1,1,2220,11.15,CRD,35.0 +VTS,1,4,480,1.21,CSH,7.5 +VTS,1,3,420,0.79,CSH,6.0 +VTS,1,1,600,1.77,CRD,9.0 +VTS,1,4,960,2.86,CSH,13.0 +VTS,1,2,240,0.51,CSH,4.5 +VTS,1,1,900,3.63,CRD,14.0 +VTS,1,3,180,0.74,CSH,4.5 +VTS,1,1,660,4.3,CSH,14.5 +VTS,1,1,600,2.7,CRD,10.0 +VTS,1,1,1200,2.68,CRD,13.5 +VTS,1,1,1200,3.83,CSH,16.0 +VTS,1,1,300,1.46,CRD,6.5 +VTS,1,1,300,1.17,CSH,5.5 +VTS,1,1,480,2.63,CSH,10.0 +VTS,1,2,900,2.82,CRD,12.5 +VTS,1,2,360,1.01,CRD,5.5 +VTS,1,2,540,1.74,CRD,8.5 +VTS,1,3,720,2.1,CSH,10.5 +VTS,1,2,420,1.55,CSH,7.5 +VTS,2,2,1740,14.05,CRD,52.0 +VTS,1,2,660,1.91,CRD,9.5 +VTS,1,3,540,1.73,CSH,8.5 +VTS,1,3,360,1.64,CRD,7.0 +VTS,1,2,780,1.93,CSH,10.5 +VTS,1,3,60,0.43,CRD,3.5 +VTS,1,2,480,0.98,CRD,7.0 +VTS,1,2,840,3.25,CRD,13.0 +VTS,1,3,420,1.25,CRD,7.0 +VTS,1,4,720,2.37,CSH,9.5 +VTS,1,3,1140,3.75,CRD,15.5 +VTS,1,2,1500,4.26,CSH,19.0 +VTS,1,2,1140,4.03,CSH,16.0 +VTS,1,1,120,0.41,CRD,3.5 +VTS,1,2,780,1.98,CRD,10.5 +VTS,1,2,300,0.98,CRD,5.5 +VTS,1,2,600,2.71,CRD,10.5 +VTS,1,2,660,2.14,CSH,9.5 +VTS,1,2,540,2.56,CSH,9.5 +VTS,1,2,540,1.73,CSH,8.0 +VTS,1,3,1140,10.51,CSH,30.5 +VTS,1,2,0,0.02,CSH,2.5 +VTS,1,3,1920,17.81,CSH,50.0 +VTS,1,2,120,0.23,CSH,3.5 +VTS,1,2,300,1.86,CRD,7.0 +VTS,1,3,780,2.0,CRD,10.0 +VTS,1,2,360,0.93,CSH,5.5 +VTS,1,2,780,3.29,CRD,13.0 +VTS,1,2,1080,3.03,CRD,14.0 +VTS,1,2,180,0.4,CRD,4.0 +VTS,1,3,480,2.09,CSH,9.0 +VTS,1,2,180,0.62,CSH,4.5 +VTS,1,3,1560,13.7,CSH,39.5 +VTS,1,2,360,1.11,CSH,6.0 +VTS,1,3,600,1.17,CSH,7.5 +VTS,1,3,300,1.07,CRD,6.0 +VTS,1,2,240,1.24,CSH,6.0 +VTS,1,2,780,3.43,CSH,12.5 +VTS,1,2,300,0.72,CRD,5.5 +VTS,1,3,480,1.65,CSH,8.0 +VTS,1,2,1380,6.14,CRD,21.0 +VTS,1,3,2100,10.52,CSH,34.0 +VTS,1,2,2520,12.24,CSH,41.0 +VTS,1,3,360,0.94,CSH,6.0 +VTS,1,2,540,1.33,CSH,8.0 +VTS,1,3,600,0.86,CRD,7.5 +VTS,1,2,660,2.45,CRD,10.0 +VTS,1,2,420,1.4,CRD,7.0 +VTS,1,1,1140,7.23,CRD,23.5 +VTS,1,1,360,1.32,CRD,6.5 +VTS,1,3,240,1.16,CRD,5.5 +VTS,1,1,240,0.82,CSH,5.0 +VTS,1,2,600,2.63,CSH,10.5 +VTS,1,1,1020,5.35,CSH,18.5 +VTS,1,2,480,1.38,CSH,7.0 +VTS,1,1,1080,4.46,CRD,17.0 +VTS,1,2,480,0.87,CRD,6.5 +VTS,1,2,60,0.02,CSH,2.5 +VTS,1,2,180,0.5,CSH,4.5 +VTS,1,2,420,1.05,CSH,6.5 +VTS,1,1,1740,8.4,CRD,28.0 +VTS,1,2,840,3.54,CSH,13.5 +VTS,1,2,240,0.09,CSH,4.5 +VTS,1,2,480,1.13,CSH,6.5 +VTS,1,2,180,0.57,CSH,4.0 +VTS,1,2,1080,2.36,CRD,13.5 +VTS,1,1,300,0.79,CRD,5.0 +VTS,1,1,300,1.07,CSH,6.0 +VTS,1,1,780,2.12,CRD,10.5 +VTS,1,4,540,1.87,CSH,9.0 +VTS,1,1,1020,4.38,CRD,16.0 +VTS,2,2,1980,17.72,CSH,52.0 +VTS,1,2,900,7.51,CRD,22.5 +VTS,1,1,720,3.0,CRD,11.5 +VTS,1,3,540,1.45,CRD,8.0 +VTS,1,2,360,1.85,CRD,7.5 +VTS,1,3,1740,5.23,CSH,22.0 +VTS,1,2,480,1.51,CRD,7.5 +VTS,1,4,1140,4.92,CRD,17.5 +VTS,1,2,240,0.7,CSH,4.5 +VTS,1,3,360,1.09,CSH,6.0 +VTS,4,3,1080,9.7,CSH,35.5 +VTS,1,2,1620,3.83,CSH,19.0 +VTS,1,2,300,0.89,CRD,5.5 +VTS,1,3,360,1.4,CRD,6.5 +VTS,1,2,600,1.48,CSH,8.5 +VTS,1,3,720,1.21,CRD,9.0 +VTS,1,2,660,0.87,CRD,8.0 +VTS,1,2,900,2.65,CRD,12.0 +VTS,1,2,480,2.06,CSH,8.5 +VTS,1,2,840,2.96,CRD,12.0 +VTS,1,3,960,2.73,CRD,13.5 +VTS,1,1,420,1.02,CRD,6.0 +VTS,1,2,540,2.21,CRD,9.0 +VTS,1,3,480,1.18,CRD,7.0 +VTS,4,1,1200,12.54,CSH,52.5 +VTS,1,3,1140,9.4,CRD,27.5 +VTS,1,4,2940,25.76,CSH,69.0 +VTS,1,2,60,0.09,CSH,3.0 +VTS,1,1,540,6.93,CSH,19.5 +VTS,1,2,1080,9.91,CRD,28.5 +VTS,1,2,360,1.07,CRD,6.0 +VTS,1,2,1020,3.92,CRD,15.5 +VTS,1,2,360,0.93,CSH,6.0 +VTS,1,2,1080,8.83,CRD,25.5 +VTS,1,1,840,8.02,CSH,23.0 +VTS,1,1,840,6.57,CSH,20.5 +VTS,2,1,1920,19.47,CRD,52.0 +VTS,1,1,180,0.58,CRD,4.0 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,300,1.09,CSH,6.0 +VTS,1,2,600,1.46,CSH,8.0 +VTS,1,1,780,1.31,CSH,9.5 +VTS,1,1,240,0.74,CRD,5.0 +VTS,1,1,780,1.92,CRD,10.0 +VTS,1,1,1560,5.98,CRD,23.0 +VTS,1,2,1200,3.07,CSH,15.5 +VTS,1,2,300,1.4,CSH,6.5 +VTS,1,1,660,1.63,CRD,8.5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,960,1.85,CRD,11.5 +VTS,1,1,480,1.65,CRD,7.5 +VTS,1,2,480,1.64,CSH,8.0 +VTS,1,2,1020,2.45,CRD,13.0 +VTS,1,2,720,2.17,CRD,10.0 +VTS,1,1,420,1.49,CRD,7.5 +VTS,1,1,300,1.54,CRD,7.0 +VTS,1,1,180,0.32,CSH,3.5 +VTS,1,4,600,1.31,CSH,8.0 +VTS,1,1,660,2.08,CRD,9.5 +VTS,1,3,660,1.83,CSH,9.5 +VTS,1,2,360,0.65,CSH,6.0 +VTS,1,2,540,2.44,CRD,9.5 +VTS,1,2,660,3.47,CSH,12.0 +VTS,1,4,1140,3.32,CSH,14.5 +VTS,1,3,360,1.36,CRD,6.5 +VTS,1,2,660,1.29,CSH,8.5 +VTS,1,1,1080,9.25,CRD,27.0 +VTS,1,2,1680,11.77,CSH,34.5 +VTS,1,3,360,1.02,CSH,6.0 +VTS,1,3,600,1.33,CRD,7.5 +VTS,1,1,1020,4.25,CRD,15.0 +VTS,1,2,600,1.94,CRD,9.0 +VTS,1,1,840,2.57,CSH,12.0 +VTS,1,1,180,0.3,CSH,4.0 +VTS,1,1,540,0.94,CSH,7.0 +VTS,1,3,720,0.82,CSH,8.5 +VTS,1,1,960,3.49,CSH,13.5 +VTS,1,1,600,1.86,CSH,9.0 +VTS,1,1,240,0.71,CSH,5.0 +VTS,1,1,720,1.95,CSH,9.5 +VTS,1,2,420,1.34,CSH,7.0 +VTS,1,2,120,0.58,CSH,4.0 +VTS,1,2,1140,5.59,CSH,19.5 +VTS,1,1,480,1.19,CSH,7.0 +VTS,1,1,660,2.45,CRD,10.0 +VTS,1,4,1320,5.43,CSH,20.5 +VTS,1,1,540,1.5,CSH,8.0 +VTS,1,1,600,1.62,CSH,9.0 +VTS,1,3,1020,2.49,CSH,12.5 +VTS,1,1,120,0.46,CRD,3.5 +VTS,1,1,960,2.08,CSH,12.5 +VTS,1,1,1140,9.68,CRD,28.5 +VTS,1,1,780,4.23,CSH,14.5 +VTS,1,1,480,0.69,CSH,6.0 +VTS,1,1,1440,8.52,CSH,26.5 +VTS,1,1,420,1.29,CSH,6.5 +VTS,1,1,600,2.32,CRD,10.0 +VTS,1,1,780,2.21,CSH,10.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,3,840,2.42,CRD,11.0 +VTS,1,2,300,0.88,CSH,5.5 +VTS,1,1,660,1.23,CSH,8.5 +VTS,1,1,1020,3.1,CRD,13.5 +VTS,1,3,1380,3.3,CRD,16.5 +VTS,1,2,900,2.52,CRD,11.5 +VTS,1,1,300,1.14,CRD,5.5 +VTS,1,1,240,1.04,CSH,5.0 +VTS,1,1,1380,9.83,CRD,30.0 +VTS,1,1,780,2.8,CRD,11.5 +VTS,1,1,420,1.95,CRD,8.0 +VTS,1,1,240,0.74,CRD,4.5 +VTS,1,1,600,1.54,CSH,8.5 +VTS,1,1,780,2.75,CSH,11.5 +VTS,1,1,840,3.09,CSH,13.0 +VTS,1,1,420,1.57,CSH,6.5 +VTS,1,1,1380,5.57,CSH,21.0 +VTS,1,1,420,1.51,CRD,7.0 +VTS,1,1,1620,12.28,CSH,36.5 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,3,1080,4.16,CSH,16.5 +VTS,1,1,360,1.17,CRD,6.0 +VTS,1,1,840,0.71,CRD,9.0 +VTS,1,1,780,2.12,CSH,11.0 +VTS,1,3,720,1.42,CSH,9.0 +VTS,1,1,180,0.37,CSH,3.5 +VTS,1,1,300,1.49,CRD,6.5 +VTS,1,2,360,0.96,CRD,5.5 +VTS,1,1,840,7.14,CRD,21.5 +VTS,1,1,300,1.36,CRD,6.5 +VTS,1,1,360,1.3,CSH,6.5 +VTS,5,1,60,0.0,CRD,470.0 +VTS,1,1,2100,6.09,CRD,26.5 +VTS,1,1,1620,8.34,CRD,26.0 +VTS,1,1,1020,4.44,CRD,16.0 +VTS,1,2,960,5.47,CSH,18.0 +VTS,2,1,1860,18.14,CRD,52.0 +VTS,1,2,360,0.64,CSH,5.5 +VTS,1,2,1440,11.34,CRD,33.0 +VTS,1,2,480,1.37,CSH,8.0 +VTS,1,1,480,1.51,CRD,7.5 +VTS,1,2,480,1.44,CRD,7.5 +VTS,1,2,240,1.13,CSH,5.5 +VTS,1,1,1140,13.29,CSH,36.0 +VTS,1,2,300,0.69,CSH,5.5 +VTS,1,1,1020,4.85,CRD,17.5 +VTS,1,1,60,0.18,CSH,2.5 +VTS,1,2,1200,2.45,CSH,13.5 +VTS,1,1,420,1.41,CRD,7.0 +VTS,1,1,360,0.56,CRD,5.5 +VTS,1,2,780,2.74,CRD,11.5 +VTS,1,2,1380,5.1,CRD,18.0 +VTS,1,1,660,1.65,CSH,9.0 +VTS,1,1,1260,9.36,CRD,28.0 +VTS,1,1,1020,9.03,CSH,26.0 +VTS,1,2,300,1.25,CSH,6.0 +VTS,1,1,180,0.57,CRD,4.5 +VTS,1,1,600,1.35,CRD,8.0 +VTS,1,1,120,0.64,CRD,4.5 +VTS,1,1,780,2.16,CRD,11.0 +VTS,1,1,840,2.38,CSH,12.0 +VTS,1,1,960,3.64,CSH,14.5 +VTS,1,3,1080,1.67,CRD,12.0 +VTS,1,1,720,2.98,CSH,11.5 +VTS,1,1,840,2.01,CRD,11.5 +VTS,1,1,660,2.74,CRD,11.0 +VTS,1,1,840,4.05,CRD,14.5 +VTS,1,1,1560,12.45,CSH,36.0 +VTS,1,2,720,1.71,CSH,9.5 +VTS,1,1,1620,13.07,CRD,37.5 +VTS,1,2,480,1.64,CRD,7.5 +VTS,1,1,540,1.32,CSH,7.0 +VTS,1,1,420,0.7,CRD,5.5 +VTS,1,1,840,1.58,CSH,10.0 +VTS,1,1,2160,5.4,CRD,26.5 +VTS,5,1,60,0.0,CRD,450.0 +VTS,5,1,0,0.0,CRD,450.0 +VTS,1,1,900,3.32,CRD,13.5 +VTS,1,1,240,0.47,CSH,4.0 +VTS,1,1,240,1.14,CSH,5.5 +VTS,1,1,540,2.27,CRD,9.5 +VTS,1,1,360,1.3,CRD,7.0 +VTS,5,1,0,0.0,CRD,470.0 +VTS,1,1,1560,3.1,CSH,17.0 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,660,4.49,CRD,15.5 +VTS,1,1,720,1.9,CRD,10.5 +VTS,1,1,480,2.0,CRD,8.5 +VTS,1,1,900,2.75,CRD,12.5 +VTS,1,1,1200,2.77,CRD,14.0 +VTS,1,2,600,1.33,CSH,8.5 +VTS,1,1,720,3.09,CRD,12.0 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,2,780,1.93,CSH,10.5 +VTS,1,1,1860,7.62,CSH,28.0 +VTS,1,4,420,1.37,CRD,7.0 +VTS,1,2,420,1.21,CRD,6.5 +VTS,1,1,2100,8.45,CRD,30.5 +VTS,1,1,1500,6.09,CRD,21.0 +VTS,1,1,960,1.15,CSH,11.0 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,2,360,1.07,CRD,6.0 +VTS,1,1,780,1.76,CRD,10.0 +VTS,1,1,960,2.71,CRD,12.5 +VTS,1,1,660,1.84,CSH,9.5 +VTS,1,1,420,1.54,CRD,7.0 +VTS,1,1,780,0.91,CRD,8.5 +VTS,1,3,840,2.07,CRD,10.5 +VTS,1,1,540,1.03,CRD,7.5 +VTS,1,1,660,1.94,CRD,9.5 +VTS,1,2,480,1.71,CSH,8.0 +VTS,1,1,300,1.08,CSH,6.0 +VTS,1,2,1860,8.38,CRD,28.5 +VTS,1,2,480,0.85,CSH,6.5 +VTS,1,2,1080,4.43,CRD,16.0 +VTS,1,2,1080,5.48,CRD,18.0 +VTS,1,2,600,2.8,CSH,11.0 +VTS,1,1,360,1.77,CRD,7.0 +VTS,1,1,900,5.6,CSH,18.5 +VTS,1,2,2580,9.08,CRD,37.0 +VTS,1,2,720,1.36,CRD,9.0 +VTS,1,3,960,4.21,CSH,14.5 +VTS,1,2,960,2.51,CSH,12.5 +VTS,1,2,480,0.4,CSH,6.0 +VTS,1,2,660,3.31,CSH,11.5 +VTS,1,1,60,0.37,CRD,3.0 +VTS,1,2,840,3.8,CSH,14.0 +VTS,1,2,1080,9.85,CRD,28.5 +VTS,1,2,900,3.27,CRD,12.5 +VTS,1,1,1260,8.09,CSH,25.5 +VTS,1,2,600,2.49,CSH,10.0 +VTS,1,1,480,2.67,CRD,10.0 +VTS,1,2,120,0.47,CRD,3.5 +VTS,1,1,540,2.96,CSH,10.5 +VTS,1,4,420,1.18,CRD,6.5 +VTS,1,2,1080,5.26,CSH,17.5 +VTS,1,1,960,5.28,CSH,17.5 +VTS,1,2,1320,7.35,CSH,23.5 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,300,0.77,CSH,5.5 +VTS,1,1,720,7.28,CSH,21.0 +VTS,1,1,420,2.07,CRD,8.5 +VTS,1,1,2100,9.54,CRD,32.0 +VTS,1,2,1080,1.57,CRD,12.0 +VTS,1,2,240,0.81,CSH,5.0 +VTS,1,1,420,1.59,CSH,8.0 +VTS,1,2,900,2.63,CSH,13.0 +VTS,1,1,720,2.6,CSH,11.5 +VTS,1,1,480,1.34,CSH,7.5 +VTS,1,1,600,1.82,CRD,9.0 +VTS,1,1,600,1.4,CRD,8.5 +VTS,1,1,480,1.44,CSH,7.0 +VTS,1,2,720,3.1,CRD,12.5 +VTS,1,1,660,3.04,CSH,11.5 +VTS,1,2,600,2.45,CRD,10.5 +VTS,1,1,180,0.49,CSH,4.0 +VTS,1,2,720,2.52,CRD,11.0 +VTS,1,2,660,2.62,CRD,11.0 +VTS,1,1,600,3.24,CRD,11.0 +VTS,1,1,900,3.13,CSH,13.0 +VTS,1,1,780,3.94,CRD,14.0 +VTS,1,1,240,0.94,CSH,5.0 +VTS,1,1,600,1.47,CSH,8.5 +VTS,1,1,960,9.29,CRD,26.0 +VTS,1,1,240,0.48,CSH,5.0 +VTS,1,1,1020,3.1,CRD,14.0 +VTS,1,1,900,1.63,CRD,10.5 +VTS,1,1,660,3.74,CSH,13.0 +VTS,1,1,480,1.71,CSH,8.0 +VTS,1,1,840,1.61,CRD,10.5 +VTS,1,1,1260,9.63,CSH,28.5 +VTS,1,1,540,2.52,CSH,10.0 +VTS,5,1,0,0.0,CRD,450.0 +VTS,5,1,60,0.0,CRD,450.0 +VTS,1,3,480,1.83,CSH,8.5 +VTS,5,1,60,0.0,CRD,470.0 +VTS,1,1,480,1.68,CRD,8.0 +VTS,1,1,720,2.69,CRD,11.0 +VTS,1,1,300,1.82,CRD,7.0 +VTS,1,2,660,3.57,CSH,12.5 +VTS,1,1,1680,14.99,CRD,40.5 +VTS,1,1,900,3.49,CSH,14.0 +VTS,1,1,2160,7.4,CRD,28.0 +VTS,1,3,420,1.83,CSH,8.0 +VTS,1,3,360,0.71,CSH,6.0 +VTS,1,1,1140,6.17,CSH,21.0 +VTS,1,1,720,2.77,CRD,11.0 +VTS,1,1,660,0.88,CSH,8.0 +VTS,1,1,420,1.38,CRD,7.0 +VTS,1,1,840,1.25,CSH,10.0 +VTS,1,1,540,1.75,CRD,8.0 +VTS,1,1,840,2.73,CSH,12.0 +VTS,1,2,300,0.95,CRD,5.5 +VTS,1,1,2100,10.26,CRD,34.5 +VTS,1,1,420,0.91,CSH,6.0 +VTS,1,2,240,0.7,CSH,4.5 +VTS,1,1,420,3.22,CSH,11.0 +VTS,1,1,480,2.72,CRD,10.0 +VTS,5,1,0,0.0,CRD,470.0 +VTS,5,1,60,0.0,CRD,470.0 +VTS,1,1,480,1.87,CSH,8.5 +VTS,1,2,420,1.58,CRD,8.0 +VTS,1,1,660,2.72,CRD,11.0 +VTS,1,4,1020,4.15,CSH,16.0 +VTS,1,1,600,1.0,CRD,8.0 +VTS,1,2,960,6.1,CRD,19.5 +VTS,1,1,840,2.3,CRD,12.0 +VTS,1,3,1020,3.18,CSH,14.5 +VTS,1,1,1020,2.4,CSH,12.0 +VTS,1,1,480,1.76,CSH,8.0 +VTS,1,2,600,0.68,CRD,7.5 +VTS,1,1,360,0.36,CSH,5.0 +VTS,1,2,1500,2.87,CRD,17.5 +VTS,1,1,600,1.69,CSH,8.5 +VTS,1,1,300,0.87,CRD,5.0 +VTS,1,2,1680,3.83,CRD,19.0 +VTS,1,1,540,1.65,CRD,8.5 +VTS,1,2,600,1.02,CSH,8.0 +VTS,1,1,720,3.02,CRD,11.5 +VTS,1,1,660,0.53,CSH,8.0 +VTS,1,1,240,1.01,CSH,5.0 +VTS,1,1,780,2.73,CSH,11.5 +VTS,1,1,300,1.22,CRD,6.0 +VTS,1,1,480,1.74,CSH,8.0 +VTS,1,1,360,0.87,CSH,6.0 +VTS,1,1,420,0.95,CSH,6.5 +VTS,1,1,960,4.0,CRD,15.5 +VTS,1,2,660,3.1,CRD,11.5 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,1380,3.14,CRD,15.5 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,480,0.84,CRD,6.5 +VTS,1,1,1500,3.99,CRD,18.0 +VTS,1,4,1200,4.64,CSH,18.5 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,1680,5.21,CSH,20.5 +VTS,1,2,1140,3.19,CSH,15.0 +VTS,1,1,780,4.18,CRD,14.0 +VTS,1,1,2340,3.56,CSH,23.5 +VTS,1,1,480,1.52,CSH,7.5 +VTS,1,1,540,0.84,CRD,7.0 +VTS,1,1,480,2.26,CSH,8.5 +VTS,1,1,900,2.78,CRD,12.5 +VTS,1,1,1440,4.66,CRD,19.5 +VTS,1,1,540,1.73,CRD,8.5 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,1680,4.35,CSH,20.5 +VTS,1,2,420,0.95,CSH,6.5 +VTS,1,4,960,1.87,CRD,11.5 +VTS,1,2,420,2.43,CRD,9.5 +VTS,1,1,600,2.63,CRD,10.5 +VTS,1,1,600,2.46,CRD,9.5 +VTS,1,1,1140,3.3,CRD,13.5 +VTS,1,1,840,1.99,CRD,11.0 +VTS,1,2,420,1.39,CRD,7.0 +VTS,1,1,720,1.54,CRD,9.0 +VTS,1,2,840,3.4,CRD,12.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,5,1,60,0.0,CRD,450.0 +VTS,1,1,420,1.56,CRD,7.5 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,360,1.55,CSH,7.0 +VTS,1,1,600,1.46,CSH,8.5 +VTS,1,1,960,2.53,CRD,12.5 +VTS,1,1,120,0.6,CSH,4.0 +VTS,1,2,420,1.5,CSH,7.5 +VTS,1,4,300,0.66,CRD,4.5 +VTS,1,1,1140,3.29,CSH,14.5 +VTS,1,1,900,2.87,CRD,13.0 +VTS,1,1,720,1.16,CRD,8.5 +VTS,1,1,540,0.58,CSH,7.0 +VTS,1,2,600,1.13,CSH,7.5 +VTS,1,1,240,1.01,CSH,5.5 +VTS,1,1,420,0.95,CRD,6.5 +CMT,1,1,661,1.9,CSH,9.5 +CMT,1,1,657,2.9,CRD,11.5 +CMT,1,1,494,3.5,CRD,11.0 +CMT,1,1,325,1.6,CSH,7.0 +CMT,1,1,1032,4.2,CRD,15.5 +CMT,1,1,515,2.6,CRD,10.5 +CMT,1,1,893,4.2,CSH,15.5 +CMT,1,1,172,1.1,CSH,5.5 +CMT,1,1,215,0.5,CSH,4.5 +CMT,1,1,389,1.2,CSH,6.5 +CMT,1,1,526,1.1,CSH,7.5 +CMT,1,1,176,0.4,CSH,4.0 +CMT,1,1,920,2.2,CRD,11.5 +CMT,1,1,979,2.5,CSH,13.0 +CMT,1,1,365,0.7,CRD,6.0 +CMT,1,1,966,3.8,CSH,14.5 +CMT,1,1,304,0.7,CSH,5.5 +CMT,1,1,981,3.0,CRD,14.0 +CMT,1,1,519,1.5,CSH,8.0 +CMT,1,1,268,1.1,CRD,6.0 +VTS,1,2,1080,6.05,CSH,20.5 +VTS,1,1,780,3.31,CRD,12.5 +VTS,1,4,900,1.67,CSH,11.0 +VTS,1,3,360,0.53,CRD,5.0 +VTS,1,1,840,2.01,CRD,11.0 +VTS,1,1,720,0.97,CRD,8.5 +VTS,1,1,360,0.95,CSH,6.0 +VTS,1,1,180,0.54,CRD,4.5 +VTS,1,1,540,1.42,CRD,8.0 +VTS,1,1,600,1.72,CSH,9.0 +VTS,1,1,300,1.15,CRD,5.5 +VTS,1,1,420,0.83,CRD,6.0 +VTS,1,1,420,1.14,CSH,7.0 +VTS,1,2,300,0.76,CSH,5.0 +VTS,1,1,360,1.2,CSH,7.0 +VTS,1,3,420,0.61,CSH,5.5 +VTS,1,2,960,3.65,CSH,14.5 +VTS,1,5,60,0.51,CRD,3.5 +VTS,1,3,900,2.88,CSH,13.0 +VTS,1,1,1080,3.23,CRD,14.5 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,600,0.99,CSH,8.0 +VTS,1,1,300,1.03,CRD,6.0 +VTS,1,2,540,1.9,CSH,8.5 +VTS,1,1,480,1.06,CRD,7.0 +VTS,1,1,180,0.91,CSH,4.5 +VTS,1,1,1200,9.55,CRD,28.0 +VTS,1,2,2040,2.69,CSH,21.0 +VTS,1,1,240,0.43,CRD,4.0 +VTS,1,4,420,1.22,CSH,6.5 +VTS,1,1,600,1.91,CSH,9.0 +VTS,1,4,540,2.36,CSH,9.5 +VTS,1,1,900,2.11,CRD,11.5 +VTS,1,1,780,1.53,CRD,8.5 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,1,480,1.84,CRD,8.0 +VTS,5,1,60,0.0,CRD,7.5 +VTS,1,1,600,1.23,CSH,8.0 +VTS,1,1,600,1.79,CSH,9.0 +VTS,1,1,2580,9.98,CRD,35.0 +VTS,1,1,540,1.59,CRD,8.5 +CMT,1,2,211,1.2,CRD,5.5 +CMT,1,1,257,1.0,CRD,5.5 +CMT,1,2,212,0.8,CSH,5.0 +CMT,1,2,338,0.6,CSH,5.5 +CMT,1,1,1041,2.6,CSH,13.0 +CMT,1,1,664,2.5,CSH,10.0 +CMT,1,1,314,1.0,CSH,5.5 +CMT,1,1,207,0.9,CRD,5.0 +CMT,1,1,488,2.3,CRD,9.5 +CMT,1,1,469,1.5,CSH,7.5 +VTS,1,1,540,2.23,CSH,9.5 +VTS,1,1,1020,7.36,CRD,23.0 +VTS,1,1,600,1.53,CSH,8.5 +VTS,1,1,780,3.17,CRD,13.0 +VTS,1,1,480,1.57,CRD,8.0 +VTS,1,1,1200,9.44,CRD,28.0 +VTS,1,1,720,2.82,CRD,11.0 +VTS,1,1,900,2.01,CRD,11.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,420,1.97,CRD,8.0 +VTS,1,2,300,0.89,CSH,5.5 +VTS,1,1,720,2.67,CSH,10.5 +VTS,1,1,1440,8.53,CSH,26.0 +VTS,1,1,900,3.07,CRD,12.5 +VTS,1,1,60,0.46,CRD,3.5 +VTS,1,1,1260,9.44,CRD,28.5 +VTS,1,1,1920,4.02,CRD,21.0 +VTS,1,1,720,1.43,CRD,8.5 +VTS,1,1,2520,5.52,CSH,27.0 +VTS,1,1,540,1.92,CSH,8.0 +VTS,1,1,240,0.8,CSH,5.0 +VTS,1,2,540,1.15,CSH,8.0 +CMT,1,1,775,2.6,CSH,11.5 +CMT,1,1,507,3.3,CSH,12.0 +CMT,1,1,329,0.2,CSH,5.0 +CMT,1,2,1404,5.0,CRD,19.5 +VTS,1,1,420,1.5,CSH,7.0 +VTS,1,1,1200,2.37,CRD,14.0 +VTS,1,2,720,1.77,CSH,9.5 +VTS,1,4,360,1.19,CSH,6.5 +VTS,1,3,540,0.95,CRD,7.5 +VTS,1,1,1320,4.34,CRD,17.5 +VTS,1,1,1440,4.05,CRD,18.5 +VTS,1,1,300,1.27,CRD,6.0 +VTS,1,2,1980,10.0,CRD,33.5 +VTS,1,1,1980,5.73,CRD,26.0 +VTS,1,1,300,1.43,CSH,6.5 +VTS,1,3,300,0.59,CRD,4.5 +VTS,1,1,900,2.07,CSH,11.5 +VTS,1,1,1020,2.29,CSH,12.0 +VTS,1,1,780,3.23,CSH,13.0 +VTS,1,3,360,0.82,CSH,6.0 +VTS,1,1,600,2.34,CRD,9.5 +CMT,1,1,982,4.7,CRD,16.0 +CMT,1,2,453,1.7,CRD,7.5 +CMT,1,2,303,1.2,CSH,6.0 +CMT,1,1,615,4.3,CRD,13.5 +CMT,1,2,503,2.8,CSH,10.0 +CMT,1,1,1031,4.0,CSH,15.0 +CMT,1,1,823,6.5,CSH,20.5 +CMT,1,1,241,0.9,CRD,5.5 +CMT,1,1,293,1.1,CRD,6.0 +VTS,1,2,720,1.64,CRD,9.5 +VTS,1,2,660,2.82,CRD,10.5 +VTS,1,2,1560,10.03,CSH,30.5 +VTS,1,4,1080,3.76,CSH,15.0 +VTS,1,2,1200,5.52,CRD,19.5 +VTS,1,1,1500,13.61,CRD,38.0 +VTS,1,3,360,1.17,CRD,6.5 +VTS,1,2,660,2.09,CSH,9.5 +VTS,1,1,360,1.38,CSH,7.0 +VTS,2,2,2100,18.68,CSH,52.0 +VTS,1,1,720,3.43,CRD,12.5 +VTS,1,2,420,0.93,CSH,6.5 +VTS,1,1,1140,3.38,CSH,15.0 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,1,120,0.36,CRD,3.5 +VTS,1,1,1740,12.05,CSH,36.5 +VTS,1,1,420,1.21,CSH,7.0 +VTS,1,1,240,0.81,CSH,5.0 +VTS,1,2,900,5.48,CSH,18.5 +VTS,1,2,360,1.41,CRD,7.0 +VTS,1,2,600,2.06,CSH,9.0 +VTS,1,2,960,4.55,CRD,16.0 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,420,2.04,CRD,8.0 +VTS,1,2,360,1.04,CRD,6.5 +VTS,1,1,300,0.52,CSH,5.0 +VTS,1,1,120,0.41,CRD,3.5 +VTS,1,1,660,1.01,CSH,8.0 +VTS,1,1,180,0.61,CSH,4.0 +VTS,1,2,420,1.01,CSH,6.5 +VTS,1,1,600,1.44,CSH,8.5 +VTS,1,3,360,1.25,CRD,6.5 +VTS,1,3,1440,4.06,CSH,17.5 +VTS,1,3,300,0.52,CRD,5.0 +VTS,1,1,1560,5.59,CRD,21.0 +VTS,1,1,480,1.04,CSH,7.0 +VTS,1,1,1560,13.21,CRD,36.5 +VTS,1,1,1440,7.24,CSH,23.5 +VTS,5,1,0,0.0,CRD,450.0 +VTS,5,1,60,0.0,CRD,450.0 +VTS,1,1,600,2.37,CRD,10.0 +VTS,1,1,1020,4.54,CRD,17.0 +VTS,1,1,720,4.27,CRD,14.5 +VTS,5,1,0,0.0,CRD,470.0 +VTS,1,1,780,1.24,CRD,9.5 +VTS,1,1,60,0.42,CSH,3.5 +VTS,1,2,540,2.25,CSH,9.0 +VTS,1,1,540,1.49,CSH,8.0 +VTS,1,1,720,2.38,CSH,10.5 +VTS,1,1,480,1.68,CSH,8.0 +VTS,1,1,1680,4.76,CRD,21.5 +VTS,1,2,900,2.17,CRD,11.0 +VTS,1,1,900,3.54,CSH,14.5 +CMT,1,1,116,0.2,NOC,3.5 +CMT,1,1,598,4.8,CRD,16.0 +CMT,1,1,170,0.6,CSH,4.5 +CMT,1,3,606,2.4,CSH,10.0 +CMT,1,2,1245,7.0,CRD,22.5 +CMT,1,1,218,0.6,CSH,4.5 +CMT,1,1,249,0.9,CRD,5.5 +CMT,1,1,975,3.5,CSH,14.5 +CMT,1,1,135,0.5,CSH,4.0 +CMT,1,1,157,0.5,CRD,4.0 +CMT,1,1,766,1.6,CRD,10.0 +CMT,1,1,230,0.4,CSH,4.5 +CMT,1,1,821,1.7,CRD,10.0 +CMT,1,1,1155,3.2,CSH,15.0 +CMT,1,1,614,0.9,CSH,7.5 +CMT,1,1,1472,3.6,CSH,17.5 +CMT,1,1,331,0.9,CRD,6.0 +CMT,1,1,823,2.3,CSH,12.0 +CMT,1,1,136,0.3,CSH,3.5 +CMT,1,1,256,0.4,CSH,4.5 +CMT,1,1,236,0.8,CRD,5.0 +CMT,1,1,661,2.8,CRD,11.0 +CMT,1,1,265,0.6,CRD,5.0 +CMT,1,1,345,1.0,CSH,6.0 +CMT,1,1,259,0.7,CRD,5.0 +VTS,1,2,480,1.87,CSH,8.0 +VTS,1,2,1440,13.94,CRD,39.0 +VTS,1,2,240,0.61,CRD,4.5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,1200,3.66,CSH,15.5 +VTS,1,1,420,0.77,CSH,6.0 +VTS,1,1,720,1.17,CSH,8.5 +VTS,1,2,360,1.65,CSH,7.0 +VTS,1,2,720,1.51,CRD,8.0 +VTS,2,2,3240,19.23,CSH,52.0 +VTS,1,1,1260,7.38,CRD,22.5 +VTS,1,1,960,5.09,CRD,17.0 +VTS,1,1,300,0.7,CRD,5.0 +VTS,1,1,480,2.69,CSH,10.0 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,900,1.45,CSH,10.0 +VTS,1,1,840,3.16,CSH,13.0 +VTS,1,2,180,0.47,CSH,4.0 +VTS,1,1,240,0.44,CSH,4.5 +VTS,1,1,1440,10.48,CRD,31.0 +VTS,1,1,180,0.36,CSH,4.0 +VTS,5,1,60,0.0,CRD,12.0 +VTS,1,1,540,2.08,CRD,9.0 +VTS,1,1,660,1.67,CRD,9.0 +VTS,1,2,540,1.84,CRD,8.5 +VTS,1,3,480,0.91,CSH,6.5 +CMT,1,1,378,0.7,CSH,5.5 +CMT,1,1,442,1.5,CSH,7.5 +CMT,1,1,302,0.9,CRD,5.5 +CMT,1,1,614,2.5,CRD,10.5 +CMT,1,1,1044,3.0,CRD,14.0 +CMT,1,1,985,3.0,CSH,13.5 +CMT,1,1,826,2.8,CSH,12.5 +CMT,1,1,1501,7.2,CRD,25.5 +CMT,1,1,722,1.3,CRD,9.0 +CMT,1,1,270,0.6,CSH,5.0 +CMT,1,1,637,1.4,CSH,8.5 +CMT,1,1,631,2.3,CSH,10.0 +CMT,1,1,1286,4.1,CRD,17.5 +CMT,1,1,488,1.5,CSH,8.0 +CMT,1,1,268,0.9,CRD,5.5 +CMT,1,1,721,2.5,CRD,11.5 +CMT,1,1,377,0.9,CRD,6.0 +CMT,1,1,398,0.8,CRD,6.0 +CMT,1,1,414,1.2,CRD,7.0 +CMT,1,1,818,1.7,CSH,10.5 +CMT,1,1,709,2.4,CSH,11.0 +CMT,1,1,420,0.9,CRD,6.5 +CMT,1,1,271,0.9,CRD,5.5 +CMT,1,1,173,0.9,CRD,5.0 +CMT,1,1,323,0.9,CRD,6.0 +CMT,1,1,190,0.8,CSH,5.0 +VTS,1,3,240,0.82,CSH,5.5 +VTS,1,1,1440,3.99,CRD,19.0 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,1320,10.76,CRD,31.0 +VTS,1,1,600,4.26,CSH,13.5 +VTS,1,1,360,1.55,CSH,7.0 +VTS,1,1,540,1.99,CRD,8.5 +VTS,1,1,960,1.06,CRD,10.5 +VTS,1,1,1020,2.77,CSH,13.0 +VTS,5,1,60,0.0,CRD,450.0 +VTS,1,1,300,1.59,CRD,7.0 +VTS,1,1,660,2.77,CSH,11.5 +VTS,5,1,60,0.0,CRD,470.0 +VTS,1,1,540,1.49,CRD,8.5 +VTS,1,1,300,2.27,CSH,8.0 +VTS,1,1,240,0.67,CSH,4.5 +VTS,2,2,3420,18.32,CSH,52.0 +VTS,1,1,780,8.83,CRD,24.5 +VTS,1,1,840,3.32,CRD,13.0 +VTS,1,3,660,2.19,CSH,10.0 +VTS,1,1,480,1.21,CRD,7.5 +VTS,1,1,1200,3.39,CRD,16.0 +VTS,1,2,540,1.75,CSH,8.5 +VTS,1,1,480,0.57,CSH,6.0 +VTS,1,2,600,2.16,CSH,9.5 +VTS,1,1,1020,3.95,CRD,15.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,900,1.12,CSH,11.0 +VTS,1,1,360,0.79,CRD,6.0 +VTS,1,2,480,1.57,CSH,7.5 +VTS,1,1,1140,5.47,CRD,18.5 +VTS,1,2,840,2.0,CRD,10.5 +VTS,1,1,660,0.82,CRD,7.5 +VTS,1,1,660,1.85,CSH,9.5 +VTS,1,1,2220,8.93,CRD,31.5 +VTS,1,1,840,2.48,CRD,11.5 +VTS,1,1,1500,7.69,CRD,25.5 +VTS,1,1,780,1.48,CRD,10.0 +VTS,1,1,360,1.48,CSH,7.0 +CMT,1,1,594,2.4,CSH,10.0 +CMT,1,1,1524,7.7,CRD,26.0 +CMT,1,1,629,6.7,CRD,19.5 +CMT,1,2,155,1.1,CSH,5.0 +CMT,1,2,943,4.1,CRD,16.0 +CMT,1,1,695,2.4,CRD,11.0 +CMT,1,3,595,3.2,CRD,12.0 +CMT,1,1,139,0.7,CSH,4.0 +CMT,1,1,308,1.0,CSH,5.5 +CMT,1,1,290,1.0,CRD,5.5 +CMT,1,1,428,1.9,CRD,8.0 +CMT,1,1,718,3.0,CSH,12.0 +CMT,1,1,292,1.1,CSH,5.5 +CMT,1,2,509,1.0,CRD,7.0 +CMT,1,1,418,1.2,CRD,7.0 +CMT,1,1,88,0.4,CSH,3.5 +CMT,1,1,982,8.5,CRD,25.5 +CMT,1,1,111,0.4,CSH,3.5 +CMT,1,1,177,0.6,CSH,4.0 +CMT,1,1,237,0.8,CSH,5.0 +CMT,1,1,953,2.7,CRD,13.0 +CMT,1,1,736,2.1,CSH,10.5 +CMT,1,1,250,0.6,CRD,5.0 +CMT,1,1,989,3.9,CRD,15.5 +CMT,2,1,1641,18.3,CSH,52.0 +CMT,1,1,318,1.1,CSH,6.0 +CMT,1,1,457,0.8,CSH,6.5 +CMT,1,1,749,3.9,CRD,14.0 +CMT,1,1,539,1.8,CRD,8.5 +CMT,1,1,891,2.9,CSH,13.0 +CMT,1,1,934,3.3,CSH,13.5 +CMT,1,1,337,1.1,CRD,6.0 +CMT,1,1,465,1.6,CSH,7.5 +CMT,1,1,404,0.6,CSH,6.0 +CMT,1,1,367,1.0,CSH,6.0 +CMT,1,1,408,0.7,CSH,6.0 +CMT,1,1,498,0.8,CRD,7.0 +CMT,1,1,577,1.4,CRD,8.5 +CMT,1,1,612,1.0,CSH,8.0 +VTS,1,1,540,1.46,CSH,8.0 +VTS,1,1,720,5.16,CSH,16.0 +VTS,1,1,300,0.51,CSH,5.0 +VTS,1,1,240,0.76,CSH,4.5 +CMT,1,2,271,1.0,CSH,5.5 +CMT,1,2,580,1.3,CSH,8.5 +CMT,1,1,1091,10.0,CRD,28.5 +CMT,1,1,149,0.7,CRD,4.5 +CMT,1,1,243,0.6,CRD,4.5 +CMT,1,1,766,7.7,CRD,23.0 +CMT,1,1,820,4.7,CRD,16.0 +CMT,2,1,1493,18.0,CSH,52.0 +CMT,1,1,304,1.6,CRD,7.0 +CMT,1,1,285,1.3,CRD,6.0 +CMT,1,1,618,2.3,CSH,9.5 +CMT,1,1,256,0.7,CRD,5.0 +CMT,1,1,641,1.5,CRD,9.0 +CMT,1,1,302,1.1,CSH,6.0 +CMT,1,1,1241,9.4,CRD,27.5 +CMT,1,1,455,1.4,CSH,7.5 +CMT,1,1,671,1.6,CRD,9.0 +CMT,1,1,356,1.1,CSH,6.5 +CMT,1,1,617,2.3,CRD,10.0 +CMT,1,1,1421,2.9,CRD,16.5 +CMT,1,1,118,0.4,CSH,3.5 +CMT,1,1,403,1.4,CSH,7.5 +CMT,1,1,926,2.6,CRD,12.5 +CMT,1,1,68,0.2,CSH,3.0 +CMT,1,1,637,2.8,CSH,11.0 +CMT,1,1,1015,3.6,CRD,15.0 +CMT,1,1,1311,3.1,CSH,16.0 +CMT,1,1,304,0.9,CSH,6.0 +CMT,1,1,259,1.0,CRD,5.5 +CMT,1,1,599,3.0,CRD,11.5 +CMT,1,1,653,4.3,CRD,14.5 +CMT,1,1,558,0.9,CRD,7.5 +CMT,1,1,447,2.0,CSH,8.5 +CMT,1,1,886,2.4,CRD,12.0 +CMT,1,1,385,1.1,CSH,6.5 +CMT,1,1,942,7.0,CSH,21.5 +CMT,1,1,503,1.5,CRD,8.0 +CMT,1,1,806,3.2,CSH,13.0 +CMT,1,1,461,2.5,CRD,9.5 +CMT,1,1,278,1.0,CSH,6.0 +CMT,1,1,158,0.2,CSH,3.5 +CMT,1,1,826,3.9,CSH,14.0 +CMT,1,1,176,0.4,CRD,4.0 +CMT,1,1,622,2.1,CRD,9.5 +CMT,1,1,264,0.7,CSH,5.0 +CMT,1,1,404,0.9,CSH,6.0 +CMT,1,1,197,0.4,CSH,4.0 +CMT,1,1,310,0.9,CSH,5.5 +CMT,1,1,723,2.2,CRD,11.0 +CMT,1,1,768,1.5,CRD,9.5 +CMT,1,1,479,1.7,CRD,8.5 +CMT,1,1,265,0.6,CSH,5.0 +CMT,1,1,367,2.3,CRD,9.0 +CMT,1,1,827,2.0,CRD,11.0 +CMT,1,1,592,2.8,CRD,11.5 +CMT,1,1,879,1.6,CSH,10.5 +CMT,1,1,388,1.0,CSH,6.5 +CMT,1,1,611,3.1,CRD,12.0 +CMT,1,1,775,2.5,CSH,11.5 +CMT,1,1,1323,5.6,CRD,20.5 +CMT,1,1,1014,6.2,CRD,20.5 +CMT,1,1,1034,3.3,CSH,14.0 +CMT,1,1,816,1.3,CSH,10.0 +CMT,1,1,1213,6.5,CRD,23.0 +CMT,1,1,399,1.0,CSH,6.5 +CMT,1,1,496,1.7,CRD,8.0 +CMT,1,1,244,1.2,CRD,6.0 +CMT,1,1,1088,2.6,CRD,13.5 +CMT,1,1,533,2.8,CRD,11.0 +CMT,1,1,1348,3.9,CRD,18.5 +CMT,1,1,218,0.6,CRD,4.5 +CMT,1,1,900,2.9,CSH,12.5 +CMT,1,1,771,7.4,CSH,21.5 +CMT,1,1,923,2.8,CRD,12.5 +VTS,1,1,540,1.18,CSH,8.0 +VTS,1,1,600,1.44,CSH,8.5 +VTS,1,2,900,2.2,CRD,11.0 +VTS,1,1,720,1.47,CRD,9.0 +VTS,1,1,600,1.75,CRD,8.5 +VTS,1,2,540,1.59,CRD,8.5 +VTS,1,1,180,0.49,CSH,4.0 +VTS,1,2,960,3.87,CSH,15.0 +VTS,1,2,420,1.48,CSH,7.0 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,360,1.05,CRD,6.0 +VTS,1,2,840,1.48,CSH,10.5 +VTS,1,1,600,1.67,CSH,8.0 +VTS,1,1,1440,3.94,CSH,18.0 +VTS,1,1,540,1.08,CRD,7.5 +VTS,1,2,300,0.81,CSH,5.0 +VTS,1,1,420,1.46,CSH,7.0 +VTS,1,2,1200,1.79,CRD,13.0 +VTS,1,1,780,3.72,CRD,14.0 +VTS,1,2,660,1.78,CSH,9.0 +VTS,1,2,360,1.12,CRD,6.0 +VTS,1,1,540,1.71,CRD,8.5 +VTS,1,1,300,1.09,CSH,6.0 +CMT,1,1,494,1.5,CRD,8.0 +CMT,1,1,162,0.5,CRD,4.0 +CMT,1,2,594,1.6,CSH,8.5 +CMT,1,1,222,0.6,CRD,5.0 +CMT,1,1,529,2.2,CRD,9.0 +CMT,1,1,890,5.8,CRD,19.5 +CMT,1,1,232,0.6,CSH,5.0 +CMT,1,1,346,0.8,CSH,5.5 +CMT,1,1,818,1.5,CRD,10.0 +CMT,1,1,711,1.7,CRD,10.0 +CMT,1,1,1808,2.9,CRD,19.5 +CMT,1,1,572,1.4,CSH,8.5 +CMT,1,1,262,0.9,CSH,5.5 +CMT,1,1,290,0.8,CRD,5.5 +CMT,1,1,992,2.9,CRD,13.5 +CMT,1,1,555,1.1,CSH,7.5 +CMT,1,1,1122,2.9,CRD,14.5 +CMT,1,1,378,0.4,CSH,5.5 +CMT,1,1,211,0.8,CRD,5.0 +CMT,1,1,265,0.7,CSH,5.5 +CMT,1,1,206,0.6,CSH,4.5 +CMT,1,1,309,0.8,CSH,5.5 +CMT,1,1,1375,2.9,CRD,15.5 +CMT,1,1,1019,3.0,CRD,13.5 +CMT,1,1,141,0.9,CSH,4.5 +CMT,1,1,653,2.6,CRD,10.5 +CMT,1,1,225,0.7,CRD,5.0 +CMT,1,1,113,0.5,CSH,3.5 +CMT,1,1,608,1.3,CRD,8.0 +CMT,1,1,261,1.0,CSH,5.5 +CMT,1,1,180,0.3,CSH,4.0 +CMT,1,1,907,4.4,CSH,16.5 +CMT,1,1,538,2.3,CRD,9.5 +CMT,1,1,712,3.8,CRD,13.5 +CMT,1,1,573,1.7,CSH,9.0 +CMT,1,1,635,1.8,CSH,9.0 +CMT,1,1,1281,2.7,CSH,15.0 +CMT,1,1,385,0.7,CRD,6.0 +CMT,1,1,269,0.8,CSH,5.5 +CMT,1,1,537,1.2,CSH,8.0 +CMT,1,1,624,4.2,CRD,13.5 +CMT,1,1,500,1.2,CSH,7.5 +CMT,1,1,440,1.6,CSH,8.0 +CMT,1,1,592,1.3,CSH,8.5 +CMT,1,1,946,1.8,CRD,11.5 +CMT,1,1,661,1.7,CRD,9.5 +CMT,1,1,891,9.9,CSH,27.5 +CMT,1,1,357,1.3,CSH,7.0 +CMT,1,1,517,1.3,CRD,7.5 +CMT,1,1,175,0.8,CRD,5.0 +CMT,1,1,287,0.7,CRD,5.5 +CMT,1,1,276,0.7,CSH,5.5 +CMT,1,1,369,1.7,CRD,7.0 +CMT,1,1,383,1.5,CSH,7.0 +CMT,1,1,760,2.5,CRD,11.5 +CMT,1,1,296,1.0,CRD,5.5 +CMT,1,1,535,1.3,CSH,8.0 +CMT,1,1,484,1.2,CRD,7.5 +CMT,1,1,520,1.2,CRD,7.5 +CMT,1,1,1665,3.5,CRD,18.5 +CMT,1,1,1330,4.7,CSH,19.0 +CMT,1,1,1424,6.2,CRD,23.5 +CMT,1,1,542,1.5,CRD,8.0 +CMT,1,1,894,2.7,CRD,12.5 +CMT,1,1,675,2.2,CSH,10.5 +CMT,1,1,1179,3.7,CRD,16.0 +CMT,1,1,918,2.1,CSH,12.0 +CMT,1,1,186,0.7,CSH,4.5 +CMT,1,1,865,3.4,CSH,13.5 +CMT,1,1,89,0.3,CRD,3.5 +CMT,1,1,888,3.3,CRD,13.5 +CMT,1,1,421,1.9,CSH,8.0 +CMT,1,1,250,2.3,CSH,4.5 +CMT,1,1,209,0.3,CSH,4.0 +CMT,1,1,312,0.8,CRD,5.5 +CMT,1,1,231,0.5,CSH,4.5 +CMT,1,1,114,0.2,CRD,3.5 +CMT,1,1,616,1.0,CSH,8.0 +CMT,1,1,114,0.4,CRD,3.5 +CMT,1,1,295,0.8,CRD,5.5 +CMT,1,1,437,1.0,CRD,6.5 +CMT,1,1,463,1.7,CSH,8.0 +CMT,1,1,676,2.2,CRD,10.0 +CMT,1,1,582,2.8,CSH,11.0 +CMT,1,1,1138,3.8,CSH,16.0 +CMT,1,1,501,1.5,CSH,8.0 +CMT,1,1,563,0.9,CRD,7.5 +CMT,1,1,571,1.2,CSH,8.0 +CMT,1,1,676,3.0,CSH,12.0 +CMT,1,1,944,3.7,CRD,15.0 +CMT,1,1,728,1.6,CSH,9.5 +CMT,1,1,636,1.2,CSH,8.0 +CMT,1,1,500,0.7,CRD,7.0 +CMT,1,1,812,2.0,CRD,10.5 +CMT,1,1,1724,8.9,CRD,29.5 +CMT,1,1,619,1.7,CSH,9.0 +CMT,1,1,1536,9.9,CRD,31.5 +CMT,1,1,177,0.3,CSH,4.0 +CMT,1,1,366,1.0,CSH,6.0 +CMT,1,1,687,4.4,CSH,15.0 +CMT,1,1,531,2.3,CSH,9.0 +CMT,1,1,134,0.6,CSH,4.0 +CMT,1,1,164,0.4,CSH,4.0 +CMT,1,1,302,1.0,CSH,6.0 +CMT,1,1,187,0.5,CSH,4.0 +CMT,1,1,190,0.7,CSH,5.0 +CMT,1,1,439,0.9,CRD,6.5 +CMT,1,1,360,1.1,CRD,6.0 +CMT,1,1,1642,9.6,CRD,31.0 +CMT,1,1,322,0.7,CRD,5.5 +CMT,1,1,187,0.6,CRD,4.5 +CMT,1,1,1087,2.3,CSH,13.0 +CMT,1,1,1417,4.5,CSH,18.5 +CMT,1,1,335,1.1,CSH,6.5 +CMT,1,1,350,0.6,CSH,5.5 +CMT,1,1,604,3.4,CSH,12.5 +CMT,1,1,835,3.4,CRD,13.5 +CMT,1,1,213,1.0,CSH,5.0 +CMT,1,1,823,2.0,CSH,11.0 +CMT,1,1,442,1.0,CSH,6.5 +CMT,1,1,746,3.2,CRD,12.5 +CMT,1,1,1091,9.9,CRD,27.5 +CMT,1,1,578,1.5,CRD,8.5 +CMT,1,1,110,0.3,CSH,3.5 +CMT,1,1,746,3.3,CRD,13.0 +CMT,1,1,926,2.1,CSH,12.0 +CMT,1,1,219,0.6,CSH,5.0 +CMT,1,1,542,0.8,CSH,7.5 +CMT,1,1,428,1.0,CSH,6.5 +CMT,1,1,162,0.4,CSH,4.0 +CMT,1,1,1181,3.0,CSH,14.5 +CMT,1,1,1855,6.4,CRD,26.5 +CMT,1,1,1104,4.0,CSH,16.0 +CMT,1,1,467,1.5,CSH,8.0 +CMT,1,1,229,0.7,CRD,5.0 +CMT,1,1,1240,7.4,CRD,24.0 +CMT,1,2,738,4.2,CSH,14.5 +CMT,5,1,1072,5.6,CRD,45.0 +CMT,1,1,256,0.4,CRD,4.5 +CMT,1,1,640,3.5,CSH,13.0 +CMT,1,1,1114,9.0,CRD,27.0 +CMT,1,1,523,1.8,CSH,8.0 +CMT,1,1,592,1.8,CSH,9.0 +CMT,1,1,847,2.0,CSH,11.5 +CMT,1,1,248,0.6,CRD,4.5 +CMT,1,1,820,1.3,CSH,10.0 +CMT,1,1,858,2.2,CSH,11.5 +CMT,1,1,557,0.6,CRD,7.0 +CMT,1,1,325,1.1,CSH,6.0 +CMT,1,1,248,1.0,CSH,6.0 +CMT,1,1,289,1.0,CSH,6.0 +CMT,1,1,1391,0.4,CSH,14.0 +CMT,1,1,419,1.0,CRD,6.5 +CMT,1,1,440,2.1,CRD,9.0 +CMT,1,1,786,2.4,CRD,11.0 +CMT,1,1,150,0.2,CSH,3.5 +CMT,1,1,649,1.6,CRD,9.0 +CMT,1,1,361,1.0,CSH,6.5 +CMT,1,1,586,3.0,CSH,11.5 +CMT,1,1,260,0.7,CRD,5.0 +CMT,1,1,1283,2.9,CRD,15.0 +CMT,1,1,327,0.7,CSH,5.5 +CMT,1,1,2429,9.6,CRD,35.0 +CMT,1,1,217,0.4,CSH,4.5 +CMT,1,1,887,2.6,CRD,12.5 +CMT,1,1,794,0.7,CSH,9.0 +CMT,1,1,486,1.3,CRD,7.5 +CMT,1,1,586,1.0,CRD,7.5 +CMT,1,1,1580,7.3,CRD,25.5 +CMT,1,1,1003,2.6,CRD,13.0 +CMT,1,1,251,0.8,CSH,5.0 +CMT,2,1,2811,23.9,CRD,52.0 +CMT,1,1,1356,9.3,CRD,29.0 +CMT,1,1,241,0.7,CSH,5.0 +CMT,1,1,787,2.8,CSH,12.0 +CMT,1,1,221,0.6,CRD,4.5 +CMT,1,1,259,0.7,CRD,5.0 +CMT,1,1,996,2.6,CRD,13.0 +CMT,1,1,501,2.1,CSH,9.0 +CMT,1,1,362,1.2,CRD,6.5 +CMT,1,1,1053,6.8,CSH,21.5 +CMT,1,1,589,2.0,CRD,9.5 +CMT,1,1,953,5.3,CSH,18.0 +CMT,1,1,1105,2.3,CRD,13.5 +CMT,1,1,689,1.6,CRD,9.0 +CMT,1,1,141,0.5,CSH,4.0 +CMT,1,1,104,0.2,CRD,3.0 +CMT,1,1,635,1.9,CSH,9.5 +CMT,1,1,445,2.1,CSH,8.5 +CMT,1,1,584,1.4,CSH,8.0 +CMT,1,1,475,1.6,CRD,8.0 +CMT,1,1,92,0.4,CRD,3.5 +CMT,1,1,148,0.3,CSH,3.5 +CMT,1,1,1112,3.2,CSH,14.5 +CMT,1,1,519,2.0,CRD,9.0 +CMT,1,1,1114,2.2,CRD,13.0 +CMT,1,1,342,1.6,CSH,7.0 +CMT,1,1,1042,2.7,CRD,13.5 +CMT,1,1,820,2.1,CSH,11.0 +CMT,1,1,279,0.7,CRD,5.5 +CMT,1,1,623,1.4,CSH,8.5 +CMT,1,1,872,1.1,CSH,10.5 +CMT,1,1,705,2.2,CSH,10.5 +CMT,1,1,197,0.7,CSH,4.5 +CMT,1,1,230,0.4,CSH,4.5 +CMT,1,1,290,0.6,CSH,5.0 +CMT,1,1,115,0.6,CRD,4.0 +CMT,1,1,468,1.6,CSH,8.0 +CMT,1,1,689,1.4,CRD,9.0 +CMT,1,1,469,1.8,CSH,8.0 +CMT,1,1,697,7.7,CRD,22.5 +CMT,1,1,30,0.0,CSH,2.5 +CMT,1,1,308,1.0,CSH,6.0 +CMT,1,1,1105,2.3,CRD,13.5 +CMT,1,1,899,2.3,CRD,11.5 +CMT,1,1,657,1.2,CRD,8.5 +CMT,1,1,403,1.2,CSH,6.5 +CMT,1,1,228,0.7,CSH,4.5 +CMT,1,1,1201,2.2,CSH,13.5 +CMT,1,1,955,1.7,CRD,11.5 +CMT,1,1,583,1.4,CSH,8.0 +CMT,1,1,530,2.8,CRD,10.0 +CMT,1,1,832,1.3,CRD,9.5 +CMT,1,1,761,2.5,CRD,11.0 +CMT,1,1,1019,2.7,CRD,13.0 +CMT,1,1,934,1.8,CSH,12.0 +CMT,1,1,488,0.9,CRD,7.0 +CMT,1,1,310,1.3,CRD,6.5 +CMT,1,1,1295,9.7,CRD,29.0 +CMT,1,1,403,1.0,CSH,6.5 +CMT,1,1,1418,3.5,CRD,18.0 +CMT,1,1,1355,6.8,CRD,24.5 +CMT,1,1,841,1.9,CRD,11.0 +CMT,1,1,405,0.7,CRD,6.0 +CMT,1,1,198,0.8,CSH,4.5 +CMT,1,1,758,2.3,CRD,11.0 +CMT,1,1,299,0.9,CSH,5.5 +CMT,1,1,1174,4.2,CRD,17.0 +CMT,1,1,1859,5.8,CSH,24.0 +CMT,1,1,574,3.0,CRD,11.5 +CMT,1,1,248,1.0,CRD,5.5 +CMT,1,1,496,1.2,CSH,7.5 +CMT,1,1,544,0.9,CSH,7.5 +CMT,1,1,429,1.0,CRD,6.5 +CMT,1,1,482,1.6,CRD,8.5 +CMT,1,1,391,0.5,CRD,5.5 +CMT,1,1,328,0.9,CRD,5.5 +CMT,1,1,886,3.8,CRD,14.5 +CMT,1,1,645,1.6,CSH,8.5 +CMT,1,1,417,1.3,CSH,6.5 +CMT,1,1,688,1.5,CRD,9.0 +CMT,1,1,1325,6.3,CRD,22.0 +CMT,1,1,425,0.4,CRD,6.0 +CMT,1,1,228,0.7,CSH,5.0 +CMT,1,1,1175,2.9,CSH,14.5 +CMT,1,1,483,2.8,CSH,10.0 +CMT,1,1,796,0.9,CRD,9.0 +CMT,1,1,444,1.7,CSH,8.5 +CMT,1,1,606,0.9,CRD,8.0 +CMT,1,1,1173,3.5,CSH,15.5 +CMT,1,1,654,2.7,CRD,11.0 +CMT,1,1,165,0.6,CSH,4.5 +CMT,1,1,504,2.0,CSH,9.0 +CMT,1,1,524,3.1,CSH,11.0 +CMT,1,1,268,1.7,CSH,7.0 +CMT,1,1,334,0.7,CSH,5.5 +CMT,1,1,104,0.6,CRD,4.0 +CMT,1,1,665,1.8,CRD,10.0 +CMT,1,1,330,0.9,CSH,6.0 +CMT,1,1,751,1.3,CSH,9.5 +CMT,1,1,318,0.9,CSH,6.0 +CMT,1,1,498,2.7,CRD,9.5 +CMT,1,1,312,1.0,CRD,6.0 +CMT,1,1,224,0.8,CRD,5.0 +CMT,1,1,1049,3.1,CRD,14.0 +CMT,1,1,228,0.7,CRD,4.5 +CMT,1,1,777,1.7,CRD,10.0 +CMT,1,1,792,2.0,CRD,10.5 +CMT,1,1,3,13.2,CSH,2.5 +CMT,1,1,476,1.3,CSH,7.0 +CMT,1,1,746,5.8,CSH,18.0 +CMT,1,1,1040,5.1,CRD,17.5 +CMT,1,1,126,0.4,CSH,3.5 +CMT,1,1,557,1.9,CRD,9.0 +CMT,1,1,724,1.8,CRD,10.0 +CMT,1,1,137,0.4,CSH,4.0 +CMT,1,1,314,1.1,CSH,5.5 +CMT,1,1,1494,5.6,CSH,20.5 +CMT,1,1,356,0.6,CRD,5.5 +CMT,1,1,744,2.1,CSH,10.5 +CMT,1,1,418,1.4,CRD,7.0 +CMT,1,1,252,0.6,CRD,5.0 +CMT,1,1,823,3.1,CSH,13.0 +CMT,1,1,317,0.5,CSH,5.0 +CMT,1,1,260,0.4,CSH,4.5 +CMT,1,1,1252,4.0,CRD,16.5 +CMT,1,1,1029,2.5,CSH,12.5 +CMT,1,1,1091,3.2,CSH,14.0 +CMT,1,1,370,0.9,CSH,6.0 +CMT,1,1,726,1.5,CRD,9.5 +CMT,1,1,1415,4.4,CSH,19.0 +CMT,1,1,1230,5.0,CRD,19.0 +CMT,1,1,835,1.7,CSH,10.5 +CMT,1,1,344,0.8,CRD,5.5 +CMT,1,1,1442,4.1,CSH,19.0 +CMT,1,1,261,0.7,CRD,5.0 +CMT,1,1,1012,7.4,CRD,22.5 +CMT,1,1,177,1.1,CSH,5.0 +CMT,1,1,1044,3.6,CSH,14.5 +CMT,1,1,209,1.8,CSH,7.0 +CMT,1,1,755,2.3,CRD,11.0 +CMT,1,1,173,0.5,CRD,4.0 +CMT,1,1,622,2.5,CRD,10.5 +CMT,1,1,719,1.5,CRD,9.5 +CMT,1,1,695,2.0,CRD,9.5 +CMT,1,1,327,0.5,CSH,5.5 +CMT,1,1,326,0.5,CRD,5.5 +CMT,1,1,905,1.9,CRD,11.0 +CMT,1,1,544,1.5,CSH,8.5 +CMT,1,1,555,1.3,CSH,8.0 +CMT,1,1,429,1.0,CSH,6.5 +CMT,1,1,254,0.7,CSH,5.0 +CMT,1,1,788,2.6,CSH,11.5 +CMT,1,1,489,0.7,CSH,6.5 +CMT,1,1,492,1.8,CSH,8.5 +CMT,1,1,185,0.5,CSH,4.0 +CMT,1,1,1047,4.2,CRD,15.0 +CMT,1,1,705,3.1,CRD,11.5 +CMT,1,1,881,2.5,CRD,12.0 +CMT,1,1,559,0.8,CRD,7.5 +CMT,1,1,786,3.4,CRD,13.0 +CMT,1,1,653,1.5,CSH,9.0 +CMT,1,1,339,1.3,CRD,6.5 +CMT,1,1,612,2.2,CRD,9.5 +CMT,1,1,1197,8.6,CRD,26.5 +CMT,1,1,629,1.3,CRD,8.5 +CMT,1,1,455,1.7,CSH,8.0 +CMT,1,1,340,1.0,CSH,6.0 +CMT,1,1,325,0.9,CSH,6.0 +CMT,1,1,765,4.4,CRD,15.5 +CMT,1,1,1110,1.8,CRD,12.5 +CMT,1,1,711,2.1,CRD,10.5 +CMT,1,1,500,1.0,CRD,7.0 +CMT,1,1,883,2.0,CRD,11.0 +CMT,1,1,36,0.2,CSH,3.0 +CMT,1,1,1499,2.3,CRD,16.0 +CMT,1,1,241,0.5,CSH,4.5 +CMT,1,1,237,1.2,CSH,5.5 +CMT,1,1,1662,1.3,CRD,16.5 +CMT,1,1,632,1.8,CRD,9.0 +CMT,1,1,296,1.0,CRD,6.0 +CMT,1,1,450,1.0,CRD,7.0 +CMT,1,1,820,9.0,CRD,25.5 +CMT,1,1,998,1.9,CSH,12.0 +CMT,1,1,644,1.6,CSH,9.0 +CMT,1,1,975,5.8,CRD,19.0 +CMT,1,1,770,1.6,CRD,10.0 +CMT,1,1,688,1.8,CSH,9.5 +CMT,1,1,272,1.0,CSH,6.0 +CMT,1,1,1144,1.5,CSH,12.5 +CMT,1,1,165,0.2,CSH,4.0 +CMT,1,1,1614,3.8,CRD,19.5 +CMT,1,1,915,2.2,CRD,12.0 +CMT,1,1,986,1.4,CRD,11.0 +CMT,1,1,984,5.4,CRD,19.5 +CMT,1,1,616,1.9,CSH,9.0 +CMT,1,1,832,1.9,CSH,11.0 +CMT,1,1,836,4.8,CSH,17.0 +CMT,1,1,127,0.4,CSH,3.5 +CMT,1,1,666,1.5,CRD,9.5 +CMT,1,1,237,0.6,CRD,4.5 +CMT,1,1,398,0.6,CRD,6.0 +CMT,1,1,80,0.1,CSH,3.0 +CMT,1,1,271,1.1,CSH,6.0 +CMT,1,1,999,1.7,CSH,11.5 +CMT,1,1,2084,2.8,CRD,21.5 +CMT,1,1,993,4.1,CRD,15.5 +CMT,1,1,288,1.0,CRD,6.0 +CMT,1,1,546,1.6,CRD,8.5 +CMT,1,1,719,2.9,CRD,12.0 +CMT,1,1,203,0.5,CSH,4.5 +CMT,1,1,1721,7.2,CRD,26.5 +CMT,1,1,120,0.5,CRD,4.0 +CMT,1,1,253,0.9,CSH,5.5 +CMT,1,1,1083,5.0,CRD,18.0 +CMT,1,1,482,2.5,CSH,9.5 +CMT,1,1,501,1.3,CRD,7.5 +CMT,1,1,1237,3.0,CRD,15.5 +CMT,1,1,493,1.1,CRD,7.5 +CMT,1,1,407,1.1,CSH,6.5 +CMT,1,1,520,1.2,CSH,7.5 +CMT,1,1,553,2.3,CSH,9.5 +CMT,1,1,356,2.0,CSH,8.0 +CMT,1,1,698,2.6,CSH,11.0 +CMT,1,1,659,1.3,CSH,8.5 +CMT,1,1,219,0.6,CSH,4.5 +CMT,1,1,1431,6.1,CRD,22.0 +CMT,1,1,308,0.8,CRD,5.5 +CMT,1,1,903,2.7,CRD,12.5 +CMT,1,1,385,1.5,CSH,7.0 +CMT,1,1,624,2.0,CSH,10.0 +CMT,1,1,687,2.0,CSH,9.5 +CMT,1,1,703,1.5,CRD,9.5 +CMT,1,1,906,2.3,CSH,12.0 +CMT,1,1,510,1.1,CRD,7.5 +CMT,1,1,831,2.1,CSH,11.0 +CMT,1,1,290,1.0,CRD,5.5 +CMT,1,1,286,0.7,CSH,5.5 +CMT,1,1,693,2.3,CRD,10.5 +CMT,1,1,697,2.5,CRD,10.5 +CMT,1,1,643,1.8,CSH,9.5 +CMT,1,1,748,1.3,CRD,9.5 +CMT,1,1,142,0.4,CSH,3.5 +CMT,1,1,513,1.9,CRD,8.5 +CMT,1,1,795,3.5,CSH,13.0 +CMT,1,1,866,2.1,CRD,11.5 +CMT,1,1,335,0.6,CSH,5.5 +CMT,1,1,633,2.6,CSH,10.5 +CMT,1,1,613,2.7,CSH,10.5 +CMT,1,1,362,1.1,CSH,6.5 +CMT,1,1,983,1.3,CRD,11.5 +CMT,1,1,572,1.5,CRD,8.0 +CMT,1,1,694,1.5,CRD,9.0 +CMT,1,1,1074,3.2,CSH,14.5 +CMT,1,1,299,0.8,CRD,5.5 +CMT,1,1,297,0.8,CRD,5.5 +CMT,1,1,806,1.9,CSH,10.5 +CMT,1,1,1484,2.6,CRD,16.5 +CMT,1,1,518,2.7,CSH,10.5 +CMT,1,1,75,0.4,CRD,3.5 +CMT,1,1,428,1.0,CSH,7.0 +CMT,1,1,335,1.1,CRD,6.5 +CMT,1,1,809,4.6,CRD,15.0 +CMT,1,1,153,0.4,CSH,4.0 +CMT,1,1,1253,8.5,CSH,26.0 +CMT,1,1,872,3.0,CSH,12.5 +CMT,1,1,2221,10.7,CRD,37.0 +CMT,1,1,555,1.0,CRD,8.0 +CMT,1,1,859,2.0,CRD,11.0 +CMT,1,1,1257,1.9,CRD,14.0 +CMT,1,1,631,1.3,CRD,8.5 +CMT,1,1,246,0.5,CRD,5.0 +CMT,1,1,1532,2.3,CRD,16.5 +CMT,1,1,437,1.3,CRD,7.0 +CMT,1,1,2215,4.9,CRD,25.5 +CMT,1,1,780,1.7,CRD,10.0 +CMT,1,1,258,0.9,CRD,5.0 +CMT,1,1,544,1.8,CRD,8.5 +CMT,1,1,358,1.0,CRD,6.0 +CMT,1,1,738,1.1,CSH,9.0 +CMT,1,1,431,0.8,CRD,6.5 +CMT,1,1,215,0.5,CSH,4.5 +CMT,1,1,462,0.9,CSH,7.0 +CMT,1,1,166,0.7,CSH,4.5 +CMT,2,1,1869,19.0,CSH,52.0 +CMT,1,1,198,0.5,CSH,4.5 +CMT,1,1,559,1.7,CRD,8.5 +CMT,1,2,1149,3.9,CSH,16.5 +CMT,1,1,2,6.8,CSH,2.5 +CMT,1,1,965,7.5,CSH,23.0 +CMT,1,1,275,1.4,CSH,6.5 +CMT,1,1,344,0.3,CSH,5.5 +CMT,1,1,965,4.2,CSH,16.5 +CMT,1,1,715,4.0,CSH,15.0 +CMT,1,3,635,1.0,CSH,8.0 +CMT,1,1,638,4.4,CSH,14.5 +CMT,1,2,750,5.3,CSH,17.5 +CMT,1,2,1203,5.3,CSH,18.5 +CMT,1,2,536,1.1,CRD,7.5 +CMT,1,1,738,1.7,CRD,9.5 +CMT,1,1,301,1.6,CRD,6.5 +CMT,1,1,422,1.1,CSH,6.5 +CMT,1,1,879,2.6,CSH,12.5 +CMT,1,1,497,0.7,CRD,7.0 +CMT,1,1,426,1.5,CRD,7.5 +CMT,1,1,1007,2.6,CRD,13.0 +CMT,1,1,1073,4.9,CSH,18.0 +CMT,1,1,408,1.0,CSH,6.5 +CMT,1,1,324,0.8,CSH,5.5 +CMT,1,1,907,2.8,CSH,12.5 +CMT,1,1,260,0.5,CSH,5.0 +CMT,1,1,1231,3.4,CRD,16.0 +CMT,1,1,482,0.8,CRD,6.5 +CMT,1,1,919,3.6,CRD,14.0 +CMT,1,1,1333,4.1,CSH,17.5 +CMT,1,1,288,1.0,CRD,6.0 +CMT,1,1,939,2.1,CRD,12.0 +CMT,1,1,201,1.0,CRD,5.5 +CMT,1,1,377,0.9,CSH,6.0 +CMT,1,1,821,3.1,CSH,13.0 +CMT,1,1,286,0.8,CSH,5.5 +CMT,1,1,703,2.8,CRD,11.5 +CMT,1,1,784,3.1,CSH,12.5 +CMT,1,1,893,2.5,CSH,12.0 +CMT,1,1,562,1.1,CRD,7.5 +CMT,1,1,475,1.0,CRD,7.0 +CMT,1,1,728,1.7,CSH,10.0 +CMT,1,1,504,3.1,CSH,11.0 +CMT,1,1,1380,3.1,CRD,16.0 +CMT,1,1,197,0.7,CRD,5.0 +CMT,1,1,466,1.2,CRD,7.0 +CMT,1,1,118,0.7,CSH,4.0 +CMT,1,1,834,5.7,CRD,19.0 +CMT,1,1,268,0.8,CSH,5.5 +CMT,1,1,778,1.7,CRD,10.0 +CMT,1,1,1126,2.5,CRD,13.5 +CMT,1,1,98,0.6,CSH,3.0 +CMT,1,1,946,1.3,CSH,10.5 +CMT,1,1,233,0.8,CRD,5.0 +CMT,1,1,910,4.0,CRD,15.0 +CMT,1,1,113,0.6,CSH,4.0 +CMT,1,1,1174,2.7,CSH,14.0 +CMT,1,1,939,1.3,CRD,10.5 +CMT,1,1,525,1.0,CSH,7.0 +CMT,1,1,456,0.7,CRD,6.5 +CMT,1,1,447,2.2,CRD,9.0 +CMT,1,1,593,1.6,CSH,8.5 +CMT,1,1,273,0.9,CSH,5.5 +CMT,1,1,878,3.9,CRD,15.5 +CMT,1,1,154,0.5,CSH,4.0 +CMT,1,1,340,1.2,CRD,6.5 +CMT,1,1,425,1.4,CRD,7.0 +CMT,1,1,711,1.4,CRD,9.5 +CMT,1,1,881,4.9,CRD,16.0 +CMT,1,1,584,1.9,CSH,9.0 +CMT,1,1,626,0.7,CRD,8.0 +CMT,1,1,390,0.9,CRD,6.5 +CMT,1,1,293,1.0,CSH,6.0 +CMT,1,1,286,1.2,CSH,6.0 +CMT,1,1,330,1.5,CRD,7.0 +CMT,1,1,797,2.1,CRD,11.0 +CMT,1,1,415,3.2,CRD,11.0 +CMT,1,1,190,0.6,CSH,4.5 +CMT,1,1,907,4.1,CRD,15.5 +CMT,1,1,864,2.6,CRD,11.5 +CMT,1,1,961,2.2,CSH,12.0 +CMT,1,1,464,0.9,CSH,6.5 +CMT,1,1,672,1.6,CSH,9.0 +CMT,1,1,582,1.6,CRD,9.0 +CMT,1,1,1055,2.4,CSH,12.5 +CMT,1,1,838,4.0,CRD,14.5 +CMT,1,1,816,2.7,CRD,12.0 +CMT,1,1,810,2.5,CSH,11.5 +CMT,1,1,659,1.1,CSH,8.0 +CMT,1,1,508,1.1,CSH,7.0 +CMT,1,1,574,1.6,CRD,8.5 +CMT,1,2,287,0.5,CSH,5.0 +CMT,1,1,614,2.7,CSH,10.5 +CMT,1,1,498,2.4,CRD,9.5 +CMT,1,1,622,1.8,CSH,9.5 +CMT,1,2,497,2.9,CSH,10.5 +CMT,1,1,447,2.6,CRD,9.5 +CMT,1,2,595,2.0,CSH,9.5 +CMT,1,2,397,1.9,CSH,8.0 +CMT,1,1,311,0.8,CSH,5.5 +CMT,1,1,267,1.4,CRD,6.5 +CMT,1,1,465,1.4,CSH,7.5 +CMT,1,1,249,1.7,CSH,7.0 +CMT,1,1,671,1.9,CSH,10.0 +CMT,1,2,1098,4.1,CRD,16.5 +CMT,1,2,665,2.3,CSH,10.0 +CMT,1,1,461,1.6,CRD,7.5 +CMT,1,1,306,0.6,CRD,5.0 +CMT,1,1,135,0.5,CSH,4.0 +CMT,1,3,1092,4.1,CRD,15.0 +CMT,1,1,910,3.3,CRD,13.5 +CMT,1,1,776,2.3,CSH,11.0 +CMT,1,2,286,0.8,CSH,5.5 +CMT,1,1,75,0.1,CSH,3.0 +CMT,1,1,390,1.2,CRD,6.5 +CMT,1,1,802,1.2,CSH,9.5 +CMT,1,1,921,5.7,CRD,19.0 +CMT,1,2,370,1.1,CSH,6.0 +CMT,1,1,451,1.9,CSH,8.5 +CMT,1,2,633,3.3,CSH,11.5 +CMT,1,1,313,0.9,CSH,5.5 +CMT,1,1,856,3.4,CRD,13.5 +CMT,1,1,497,2.2,CSH,9.0 +CMT,1,1,343,1.2,CRD,6.5 +CMT,1,1,838,7.4,CRD,22.5 +CMT,1,1,616,2.5,CSH,10.0 +CMT,1,1,416,1.0,CSH,6.5 +CMT,1,1,777,1.7,CRD,10.0 +CMT,1,1,474,1.7,CRD,8.5 +CMT,1,1,49,0.2,CSH,3.0 +CMT,1,1,289,0.7,CSH,5.5 +CMT,1,1,914,2.2,CRD,11.5 +CMT,1,1,972,2.4,CRD,12.5 +CMT,1,1,125,0.5,CRD,4.0 +CMT,1,1,179,0.5,CSH,4.5 +CMT,1,1,719,2.1,CSH,10.0 +CMT,1,1,289,0.7,CRD,5.5 +CMT,1,1,638,1.7,CSH,9.0 +CMT,1,1,580,2.1,CSH,9.5 +CMT,1,1,498,1.2,CSH,7.0 +CMT,1,1,537,2.3,CRD,9.0 +CMT,1,1,673,1.2,CRD,9.0 +CMT,1,1,460,3.0,CSH,10.0 +CMT,1,1,115,0.5,CRD,4.0 +CMT,1,1,339,1.1,CRD,6.0 +CMT,1,1,768,1.7,CRD,10.0 +CMT,1,1,303,0.8,CRD,5.5 +CMT,1,1,333,0.6,CSH,5.5 +CMT,1,1,246,0.8,CSH,5.0 +CMT,1,1,241,0.5,CRD,5.0 +CMT,1,1,339,0.7,CRD,6.0 +CMT,1,1,462,0.8,CSH,6.5 +CMT,1,1,268,0.8,CRD,5.0 +CMT,1,1,1783,6.3,CRD,24.5 +CMT,1,1,1263,2.9,CRD,15.0 +CMT,1,1,993,3.2,CRD,14.0 +CMT,1,1,850,4.4,CRD,15.0 +CMT,1,1,298,1.0,CRD,6.0 +CMT,1,1,321,0.8,CSH,6.0 +CMT,1,1,317,0.8,CSH,5.5 +CMT,1,1,468,1.0,CRD,7.0 +CMT,1,1,497,1.4,CSH,7.5 +CMT,1,1,1098,6.8,CSH,20.5 +CMT,1,1,264,1.2,CRD,6.0 +CMT,1,1,752,5.0,CRD,15.5 +CMT,1,1,351,1.6,CRD,7.0 +CMT,1,2,1133,5.8,CRD,19.5 +CMT,1,1,1318,9.2,CSH,28.5 +CMT,1,3,289,1.0,CSH,5.5 +CMT,1,3,558,1.4,CRD,8.5 +CMT,1,1,450,1.6,CSH,8.0 +CMT,1,1,841,3.8,CRD,14.5 +CMT,1,1,964,4.0,CSH,15.5 +CMT,1,1,1174,4.3,CSH,17.5 +CMT,1,1,452,1.2,CSH,7.0 +CMT,1,1,381,0.9,CRD,6.0 +CMT,1,1,1315,6.2,CRD,21.0 +CMT,1,1,925,1.6,CRD,11.0 +CMT,1,1,636,0.8,CSH,7.5 +CMT,1,1,582,2.1,CSH,9.0 +CMT,1,1,1034,2.7,CSH,13.0 +CMT,1,1,387,1.1,CRD,6.5 +CMT,1,1,706,1.6,CSH,9.0 +CMT,1,1,149,0.6,CSH,4.0 +CMT,1,1,375,1.8,CSH,7.5 +CMT,1,1,328,1.0,CSH,6.0 +CMT,1,1,644,2.0,CSH,9.5 +CMT,1,1,885,2.7,CSH,12.5 +CMT,1,1,868,2.3,CRD,11.5 +CMT,1,1,555,2.3,CSH,9.5 +CMT,1,1,883,2.8,CRD,12.5 +CMT,1,1,589,1.7,CSH,9.0 +CMT,1,1,1142,3.6,CRD,16.0 +CMT,1,1,350,0.6,CSH,5.5 +CMT,1,1,255,0.6,CSH,5.0 +CMT,1,1,342,0.9,CSH,6.0 +CMT,1,1,482,1.8,CRD,8.5 +CMT,1,1,637,2.0,CSH,9.5 +CMT,1,1,554,6.4,CSH,18.5 +CMT,1,2,625,1.7,CSH,9.0 +CMT,1,1,525,3.0,CRD,11.0 +CMT,1,1,369,2.5,CSH,9.0 +CMT,1,2,851,2.8,CRD,12.5 +CMT,1,2,181,0.7,CSH,4.5 +CMT,1,2,612,2.7,CSH,10.5 +CMT,1,1,1261,5.3,CSH,19.5 +CMT,1,1,530,2.0,CRD,9.0 +CMT,1,3,1285,5.7,CRD,20.0 +CMT,1,1,264,1.4,CRD,6.5 +CMT,1,2,352,1.7,CSH,7.5 +CMT,1,2,1777,5.8,CSH,24.0 +CMT,1,3,322,1.0,CSH,6.0 +CMT,1,1,817,4.6,CRD,15.5 +CMT,1,2,788,5.3,CRD,16.5 +CMT,1,1,258,0.5,CSH,4.5 +CMT,1,1,363,0.9,CSH,6.0 +CMT,1,2,250,0.8,CRD,5.0 +CMT,1,1,2318,7.4,CRD,29.0 +CMT,1,1,934,3.6,CRD,14.0 +CMT,1,1,1373,3.2,CRD,16.5 +CMT,1,3,824,2.4,CRD,11.0 +CMT,1,1,433,0.8,CSH,6.5 +CMT,1,1,546,1.9,CRD,8.5 +CMT,1,3,819,2.4,CSH,11.5 +CMT,1,1,950,1.4,CRD,11.0 +CMT,1,1,830,2.1,CRD,11.0 +CMT,1,1,806,1.9,CRD,10.0 +CMT,1,1,680,1.9,CRD,9.5 +CMT,1,1,286,0.8,CRD,5.5 +CMT,1,1,331,1.5,CRD,6.5 +CMT,1,1,543,1.0,CRD,7.5 +CMT,1,1,647,1.1,CSH,8.5 +CMT,1,1,565,0.9,CSH,7.5 +CMT,1,1,445,2.1,CRD,8.5 +CMT,1,1,680,1.7,CSH,9.5 +CMT,1,1,564,1.1,CRD,7.5 +CMT,1,1,950,3.1,CRD,13.5 +CMT,1,1,770,1.7,CRD,10.0 +CMT,1,1,1350,3.0,CSH,16.0 +CMT,1,1,1217,2.6,CRD,14.5 +CMT,1,1,752,5.0,CRD,17.0 +CMT,1,1,1039,1.0,CRD,11.0 +CMT,1,1,325,0.6,CRD,5.5 +CMT,1,1,408,0.9,CSH,6.0 +CMT,1,1,374,0.9,CRD,6.0 +CMT,1,1,350,1.3,CSH,6.5 +CMT,1,1,133,0.4,CSH,3.5 +CMT,1,1,2279,5.0,CRD,25.5 +CMT,1,1,244,0.8,CSH,4.5 +CMT,1,2,505,3.1,CSH,11.0 +CMT,1,1,960,8.1,CRD,24.0 +CMT,1,1,380,1.3,CSH,6.5 +CMT,1,1,226,0.7,CSH,5.0 +CMT,1,1,1579,3.1,CRD,18.0 +CMT,1,1,869,1.9,CRD,11.0 +CMT,1,1,411,2.2,CSH,9.0 +CMT,1,1,625,0.9,CSH,8.0 +CMT,1,1,138,0.6,CSH,4.0 +CMT,1,1,248,0.5,CSH,4.5 +CMT,1,2,814,3.4,CSH,13.0 +CMT,1,3,1014,4.8,CRD,18.0 +CMT,1,1,721,4.0,CSH,13.5 +CMT,1,1,1158,5.1,CRD,18.5 +CMT,1,1,344,1.6,CSH,7.0 +CMT,1,1,528,2.4,CSH,9.0 +CMT,1,2,1335,8.3,CSH,26.0 +CMT,1,1,240,0.9,CSH,5.5 +CMT,1,1,432,1.6,CSH,7.5 +CMT,1,1,404,2.5,CSH,9.0 +CMT,1,2,840,1.7,CRD,10.5 +CMT,1,1,362,1.1,CRD,6.5 +CMT,1,3,915,2.2,CSH,11.5 +CMT,1,2,1078,2.9,CRD,13.5 +CMT,1,2,540,2.5,CRD,10.0 +CMT,1,2,330,1.2,CSH,6.5 +CMT,1,1,445,1.2,CSH,7.0 +CMT,1,2,801,5.1,CSH,17.5 +CMT,1,1,1225,5.0,CSH,19.0 +CMT,1,1,662,3.2,CRD,12.0 +CMT,1,2,1358,7.8,CSH,25.0 +CMT,1,2,883,4.3,CRD,16.0 +CMT,1,1,607,1.0,CRD,7.5 +CMT,1,1,793,4.5,CSH,14.5 +CMT,1,1,589,0.7,CSH,7.5 +CMT,1,1,433,1.6,CRD,7.5 +CMT,1,2,327,0.6,CSH,5.5 +CMT,1,2,1186,6.4,CSH,21.0 +CMT,1,2,1086,3.9,CSH,16.0 +CMT,1,2,702,3.9,CSH,13.5 +CMT,1,1,743,4.9,CRD,15.5 +CMT,1,1,571,1.5,CRD,8.5 +CMT,1,1,178,1.1,CRD,5.5 +CMT,1,1,132,0.6,CSH,4.0 +CMT,1,1,673,4.0,CSH,13.5 +CMT,1,1,468,1.5,CRD,7.5 +CMT,1,1,301,1.2,CSH,6.0 +CMT,1,1,630,2.3,CSH,10.0 +CMT,1,1,352,1.8,CSH,8.0 +CMT,1,1,875,4.7,CRD,16.5 +CMT,1,2,810,2.9,CRD,12.5 +CMT,1,2,716,2.5,CRD,10.5 +CMT,1,3,287,1.0,CSH,5.5 +CMT,1,1,323,0.7,CRD,5.5 +CMT,1,1,827,2.8,CRD,12.0 +CMT,1,3,386,1.6,CSH,7.5 +CMT,1,1,158,0.8,CSH,4.5 +CMT,1,1,764,1.7,CRD,10.0 +CMT,1,3,1348,3.6,CRD,16.5 +CMT,1,2,379,0.5,CSH,5.5 +CMT,1,1,521,1.1,CSH,7.5 +CMT,1,1,711,3.4,CSH,12.0 +CMT,1,2,224,1.2,CRD,5.5 +CMT,1,1,1351,4.6,CSH,18.5 +CMT,1,3,645,1.9,CRD,9.5 +CMT,1,1,837,2.7,CSH,12.0 +CMT,1,1,221,1.1,CRD,5.5 +CMT,1,2,556,1.9,CRD,9.0 +CMT,1,2,751,1.5,CRD,9.5 +CMT,1,1,417,1.6,CSH,7.5 +CMT,1,1,995,7.3,CRD,22.5 +CMT,1,1,851,7.6,CRD,22.5 +CMT,1,1,944,3.5,CRD,14.0 +CMT,1,1,513,2.5,CRD,10.0 +CMT,1,1,608,1.6,CRD,8.5 +CMT,1,1,917,5.9,CSH,19.0 +CMT,1,1,707,2.9,CRD,11.0 +CMT,1,1,431,2.0,CRD,8.5 +CMT,1,1,707,3.0,CRD,12.5 +CMT,1,2,512,1.2,CSH,7.5 +CMT,1,2,324,1.0,CRD,6.0 +CMT,1,2,530,1.7,CRD,9.0 +CMT,1,1,330,1.3,CRD,6.5 +CMT,1,1,526,2.3,CRD,10.0 +CMT,1,1,492,2.7,CRD,10.5 +CMT,1,1,487,1.5,CRD,7.5 +CMT,1,1,336,1.5,CSH,7.0 +CMT,1,1,142,0.7,CSH,4.5 +CMT,1,1,680,1.5,CRD,9.0 +CMT,1,1,779,3.8,CRD,14.0 +CMT,1,3,371,1.0,CSH,6.0 +CMT,1,2,1433,3.1,CRD,17.5 +CMT,1,2,810,4.7,CRD,15.0 +CMT,1,1,824,5.0,CRD,16.0 +CMT,1,1,1025,6.9,CSH,21.0 +CMT,1,2,1246,2.4,CSH,14.0 +CMT,1,2,365,0.9,CRD,6.5 +CMT,1,1,825,4.1,CRD,14.0 +CMT,1,1,146,0.8,CRD,4.5 +CMT,1,1,1553,12.5,CSH,35.5 +CMT,1,1,971,4.2,CRD,15.5 +CMT,1,2,519,1.3,CRD,7.5 +CMT,1,1,283,0.9,CRD,5.5 +CMT,1,1,536,0.9,CSH,7.5 +CMT,1,1,380,1.9,CRD,8.5 +CMT,1,1,605,2.5,CRD,10.0 +CMT,1,1,391,0.9,CRD,6.5 +CMT,1,1,632,3.0,CSH,11.5 +CMT,1,1,254,1.9,CRD,7.0 +CMT,1,3,591,0.9,CRD,7.5 +CMT,1,1,1125,5.8,CSH,19.0 +CMT,1,2,633,2.4,CRD,10.5 +CMT,1,1,222,0.6,CSH,4.5 +CMT,1,2,529,0.8,CSH,7.0 +CMT,1,1,401,1.4,CRD,7.5 +CMT,1,1,594,1.3,CRD,8.0 +CMT,1,2,208,1.1,CSH,5.5 +CMT,1,1,820,3.1,CRD,12.5 +CMT,1,1,811,3.1,CRD,13.5 +CMT,1,1,425,1.3,CRD,7.0 +CMT,1,1,261,0.6,CRD,5.0 +CMT,1,2,590,2.3,CRD,9.5 +CMT,1,1,201,1.1,CRD,5.0 +CMT,1,1,303,0.9,CSH,5.5 +CMT,1,1,830,4.7,CRD,16.0 +CMT,1,1,1382,9.7,CRD,29.0 +CMT,1,2,1927,11.4,CRD,36.0 +CMT,2,1,2213,19.0,CRD,52.0 +CMT,1,1,566,2.8,CRD,10.5 +CMT,1,1,594,2.0,CRD,9.5 +CMT,1,1,636,2.4,CRD,9.5 +CMT,1,1,1257,2.7,CRD,14.5 +CMT,1,1,817,2.4,CRD,12.0 +CMT,1,1,490,0.9,CSH,7.0 +CMT,1,1,533,1.1,CSH,7.0 +CMT,1,1,952,7.4,CRD,23.0 +CMT,1,1,439,0.8,CSH,6.5 +CMT,1,1,243,0.5,CRD,5.0 +CMT,1,1,1021,2.2,CSH,12.5 +CMT,1,1,384,1.0,CSH,6.5 +CMT,1,1,213,0.8,CSH,5.0 +CMT,1,1,387,0.4,CSH,5.5 +CMT,1,1,525,3.1,CSH,11.0 +CMT,1,1,254,0.8,CSH,5.0 +CMT,1,1,1397,3.1,CRD,16.5 +CMT,1,1,916,1.6,CRD,10.5 +CMT,1,1,227,0.3,CSH,4.5 +CMT,1,1,141,0.3,CRD,3.5 +CMT,1,1,763,1.1,CSH,9.0 +CMT,1,1,679,2.6,CSH,11.5 +CMT,1,1,190,0.9,CRD,5.0 +CMT,1,1,259,1.3,CRD,6.0 +CMT,1,1,650,1.7,CRD,9.5 +CMT,1,1,1048,3.9,CRD,16.0 +CMT,1,1,753,3.8,CRD,13.5 +CMT,1,1,375,1.8,CRD,8.0 +CMT,1,1,1198,2.3,CRD,14.0 +CMT,1,1,932,1.9,CRD,11.5 +CMT,1,1,771,2.5,CRD,11.0 +CMT,1,1,454,0.7,CSH,6.5 +CMT,1,1,377,1.2,CSH,6.5 +CMT,1,1,173,1.3,CSH,5.5 +CMT,1,1,77,0.5,CRD,3.5 +CMT,1,1,210,0.7,CSH,4.5 +CMT,1,1,736,2.6,CRD,11.0 +CMT,1,1,674,2.2,CSH,10.0 +CMT,1,2,627,0.8,CSH,8.0 +CMT,1,1,765,2.1,CRD,10.0 +CMT,1,1,588,1.3,CRD,8.0 +CMT,1,2,262,0.8,CRD,5.0 +CMT,1,1,206,0.4,CRD,4.0 +CMT,1,1,343,1.2,CRD,6.0 +CMT,1,2,418,0.5,CSH,6.0 +CMT,1,3,889,2.5,CSH,12.0 +CMT,1,2,706,2.2,CRD,10.0 +CMT,1,1,550,1.0,CSH,7.5 +CMT,1,2,188,0.7,CSH,4.5 +CMT,1,1,496,2.5,CSH,9.5 +CMT,1,1,289,1.5,CSH,6.5 +CMT,1,1,164,1.2,CRD,5.5 +CMT,1,1,318,1.0,CSH,6.0 +CMT,1,1,654,1.1,CRD,8.5 +CMT,1,1,262,1.3,CRD,6.0 +CMT,1,1,1012,2.4,CRD,13.0 +CMT,1,1,1073,7.4,CRD,23.5 +CMT,1,1,410,2.0,CRD,8.0 +CMT,1,1,540,1.5,CRD,8.0 +CMT,1,4,528,2.9,CRD,10.5 +CMT,1,1,1101,5.3,CRD,18.5 +CMT,1,1,403,1.4,CRD,7.0 +CMT,1,1,1547,10.5,CRD,31.0 +CMT,1,2,779,1.6,CSH,9.5 +CMT,1,2,1298,2.4,CRD,14.5 +CMT,1,2,633,1.8,CRD,9.0 +CMT,1,1,721,2.3,CRD,11.0 +CMT,1,2,440,1.2,CRD,7.0 +CMT,1,1,392,1.8,CSH,7.5 +CMT,1,1,562,1.5,CRD,8.5 +CMT,1,1,1277,10.3,CRD,30.0 +CMT,1,2,998,1.8,CSH,11.5 +CMT,1,1,234,0.7,CRD,5.0 +CMT,1,1,1548,10.3,CSH,32.5 +CMT,1,2,1393,8.4,CRD,27.0 +CMT,1,1,829,4.0,CSH,14.5 +CMT,1,1,336,1.0,CSH,6.0 +CMT,1,1,1516,13.2,CSH,37.5 +CMT,1,1,994,5.0,CRD,17.0 +CMT,1,1,1353,2.3,CRD,14.5 +CMT,1,1,1498,4.1,CRD,17.5 +CMT,1,1,1536,4.4,CSH,19.5 +CMT,1,1,880,1.7,CRD,11.0 +CMT,1,1,309,0.7,CRD,5.5 +CMT,1,2,3248,11.3,CRD,41.5 +CMT,1,1,166,0.9,CSH,4.5 +CMT,1,1,1110,2.8,CRD,13.5 +CMT,1,1,288,1.3,CSH,6.5 +CMT,1,2,777,5.3,CSH,16.5 +CMT,1,2,832,2.2,CRD,11.0 +CMT,1,1,600,2.1,CRD,9.0 +CMT,1,1,146,0.6,CRD,4.5 +CMT,1,1,133,0.5,CSH,4.0 +CMT,1,1,636,4.0,CRD,13.5 +CMT,1,2,458,1.8,CRD,8.0 +CMT,1,1,382,2.4,CSH,9.5 +CMT,1,2,965,2.9,CSH,13.5 +CMT,1,2,318,0.9,CRD,5.5 +CMT,1,2,476,2.1,CRD,8.5 +CMT,1,1,1026,8.1,CRD,25.0 +CMT,1,4,347,1.9,CSH,7.5 +CMT,1,2,885,4.9,CRD,17.0 +CMT,1,1,648,3.7,CRD,13.0 +CMT,1,1,494,1.8,CRD,8.5 +CMT,1,1,228,0.7,CSH,5.0 +CMT,1,2,362,1.2,CSH,6.0 +CMT,1,1,253,0.9,CRD,5.5 +CMT,1,1,414,0.8,CSH,6.0 +CMT,1,1,431,1.0,CRD,6.5 +CMT,1,1,605,2.6,CRD,10.5 +CMT,1,1,890,8.3,CSH,23.5 +CMT,1,1,714,3.2,CSH,13.0 +CMT,1,1,141,0.4,CSH,3.5 +CMT,1,1,577,2.0,CRD,9.0 +CMT,1,1,538,2.8,CRD,10.5 +CMT,1,2,362,1.2,CRD,6.5 +CMT,1,2,1877,10.8,CSH,34.0 +CMT,1,2,99,0.2,CRD,3.0 +CMT,1,2,636,2.4,CRD,10.0 +CMT,1,3,503,1.7,CSH,8.0 +CMT,1,3,288,1.5,CSH,7.0 +CMT,1,2,265,0.6,CSH,5.0 +CMT,1,2,744,2.3,CRD,10.5 +CMT,1,1,263,1.2,CSH,5.5 +CMT,1,2,325,1.0,CRD,6.0 +CMT,1,3,358,1.7,CSH,7.5 +CMT,1,1,191,0.6,CSH,4.5 +CMT,1,1,159,0.9,CRD,4.5 +CMT,1,1,436,2.2,CSH,9.0 +CMT,1,2,654,2.2,CRD,10.0 +CMT,1,1,320,1.4,CRD,6.5 +CMT,1,2,238,0.7,CSH,4.5 +CMT,1,2,556,1.8,CSH,8.5 +CMT,1,2,687,3.9,CSH,13.5 +CMT,1,2,347,0.6,CSH,5.5 +CMT,1,2,759,2.8,CSH,11.5 +CMT,1,1,166,1.1,CSH,5.0 +CMT,1,1,170,0.8,CRD,4.5 +CMT,1,1,128,0.7,CSH,4.0 +CMT,1,1,949,5.1,CRD,17.5 +CMT,1,1,134,0.6,CSH,4.0 +CMT,1,3,261,0.7,CSH,5.0 +CMT,1,1,1477,6.7,CRD,23.5 +CMT,1,1,977,3.9,CSH,15.0 +CMT,1,1,350,1.1,CRD,6.0 +CMT,1,2,2021,3.5,CRD,22.0 +CMT,1,1,538,1.6,CRD,8.5 +CMT,1,3,595,2.5,CSH,11.0 +CMT,1,1,201,0.6,CSH,4.5 +CMT,1,1,1128,5.3,CSH,18.5 +CMT,1,3,170,0.6,CSH,4.5 +CMT,1,1,851,7.6,CRD,22.5 +CMT,1,1,1235,6.4,CSH,22.0 +CMT,1,1,284,0.6,CSH,5.0 +CMT,1,1,440,1.0,CSH,6.5 +CMT,1,1,606,2.3,CRD,10.0 +CMT,1,1,247,0.5,CSH,4.5 +CMT,1,2,288,0.9,CRD,5.5 +CMT,1,2,973,4.8,CRD,18.0 +CMT,1,1,202,1.4,CSH,6.0 +CMT,1,1,265,1.4,CRD,6.5 +CMT,1,1,480,1.5,CRD,8.0 +CMT,1,2,564,2.3,CSH,10.0 +CMT,1,2,774,3.6,CSH,13.0 +CMT,1,2,415,0.9,CRD,6.5 +CMT,1,1,437,1.6,CSH,7.5 +CMT,1,1,736,8.5,CSH,24.5 +CMT,1,2,319,0.8,CSH,5.5 +CMT,1,1,542,2.3,CRD,10.0 +CMT,1,1,182,0.9,CSH,5.0 +CMT,1,2,163,0.4,CSH,4.0 +CMT,1,3,1433,8.1,CRD,27.0 +CMT,1,2,648,1.6,CSH,8.5 +CMT,1,1,1077,1.8,CSH,12.5 +CMT,1,2,259,0.8,CSH,5.5 +CMT,1,3,749,3.2,CRD,12.5 +CMT,1,1,554,1.5,CSH,8.0 +CMT,1,1,755,2.9,CRD,12.0 +CMT,1,1,318,0.7,CRD,5.5 +CMT,1,1,924,5.0,CRD,17.0 +CMT,1,1,386,1.2,CRD,7.0 +CMT,1,1,161,0.7,CRD,4.5 +CMT,1,1,1379,8.9,CSH,28.0 +CMT,1,1,375,2.2,CRD,8.5 +CMT,1,2,731,2.6,CRD,11.0 +CMT,1,4,394,2.6,CRD,9.5 +CMT,1,1,144,1.1,CRD,5.0 +CMT,1,1,59,0.2,CSH,3.0 +CMT,1,1,418,1.2,CRD,7.0 +CMT,1,3,657,2.3,CSH,10.0 +CMT,1,2,384,1.2,CSH,7.0 +CMT,1,2,288,0.7,CSH,5.5 +CMT,1,2,545,1.3,CRD,7.5 +CMT,1,1,158,0.4,CSH,4.0 +CMT,1,2,1155,5.5,CSH,20.0 +CMT,1,2,495,1.7,CRD,8.0 +CMT,1,1,544,1.6,CRD,8.5 +CMT,1,1,114,0.4,CSH,3.5 +CMT,1,2,298,0.4,CRD,5.0 +CMT,1,1,790,3.4,CSH,13.0 +CMT,1,2,879,2.6,CRD,12.0 +CMT,1,1,463,3.0,CRD,10.0 +CMT,1,1,173,0.5,CSH,4.5 +CMT,1,3,955,2.9,CRD,12.5 +CMT,1,1,103,0.4,CSH,3.5 +CMT,1,2,1106,3.9,CSH,15.5 +CMT,1,3,1106,4.6,CRD,16.5 +CMT,1,3,1849,7.4,CSH,27.0 +CMT,1,2,1063,6.1,CSH,19.5 +CMT,1,2,563,2.3,CSH,9.5 +CMT,1,2,1112,9.8,CSH,29.0 +CMT,1,2,194,0.5,CSH,4.5 +CMT,1,1,614,3.5,CSH,12.5 +CMT,1,1,1085,3.2,CSH,14.0 +CMT,1,2,775,2.4,CRD,11.0 +CMT,1,2,206,0.7,CRD,4.5 +CMT,1,1,884,4.4,CSH,15.0 +CMT,1,1,1479,5.4,CRD,19.5 +CMT,1,1,311,1.2,CRD,6.0 +CMT,1,1,701,1.6,CSH,9.0 +CMT,1,2,651,1.9,CRD,9.5 +CMT,1,1,197,1.3,CSH,5.5 +CMT,1,1,300,0.8,CRD,5.5 +CMT,1,1,385,1.2,CRD,6.5 +CMT,1,2,266,1.2,CSH,6.0 +CMT,1,1,498,2.3,CRD,10.0 +CMT,1,3,751,2.1,CSH,10.5 +CMT,1,2,922,1.6,CRD,11.0 +CMT,2,1,71,6.5,CRD,52.0 +CMT,1,1,385,1.0,CRD,6.0 +CMT,1,1,260,1.3,CRD,6.0 +CMT,1,1,873,4.5,CSH,15.0 +VTS,1,5,780,3.01,CSH,12.5 +VTS,1,5,480,1.57,CRD,8.0 +VTS,1,5,360,1.05,CRD,6.5 +VTS,1,5,1080,12.79,CRD,35.0 +VTS,1,5,360,1.69,CRD,7.5 +CMT,1,1,599,2.4,CRD,10.0 +CMT,1,1,85,0.1,CSH,3.0 +CMT,1,2,878,3.6,CRD,14.0 +CMT,1,1,547,2.6,CRD,10.5 +CMT,1,1,562,2.8,CSH,10.5 +CMT,1,3,391,1.1,CSH,6.0 +CMT,1,2,328,1.5,CSH,7.0 +CMT,1,1,938,7.7,CRD,23.5 +CMT,1,1,857,4.4,CRD,15.5 +CMT,1,3,135,0.2,CSH,3.5 +CMT,1,1,489,1.4,CRD,7.5 +CMT,1,1,805,2.4,CRD,11.0 +CMT,1,2,799,3.0,CRD,12.5 +CMT,1,1,1381,7.4,CRD,26.0 +CMT,1,1,1138,3.8,CSH,17.0 +CMT,1,1,741,5.3,CRD,17.0 +CMT,1,2,339,1.5,CSH,6.5 +CMT,1,1,381,0.9,CSH,6.0 +CMT,1,1,185,0.6,CRD,4.5 +CMT,1,1,853,3.6,CRD,14.0 +CMT,1,2,182,0.5,CSH,4.5 +CMT,1,1,946,4.1,CSH,15.0 +CMT,1,3,802,1.2,CSH,9.5 +CMT,1,1,261,0.9,CSH,5.5 +CMT,1,1,1238,5.2,CRD,19.0 +CMT,1,1,741,5.4,CRD,17.0 +CMT,1,1,1337,9.6,CRD,29.0 +CMT,1,1,860,2.9,CRD,12.0 +CMT,1,1,381,2.1,CRD,8.0 +CMT,1,3,299,0.9,CRD,5.5 +CMT,1,2,169,0.6,CSH,4.0 +CMT,1,1,1263,2.0,CRD,13.5 +CMT,1,1,545,1.5,CRD,8.5 +CMT,1,1,490,3.0,CSH,11.5 +CMT,1,2,452,1.0,CRD,7.0 +CMT,1,4,196,1.1,CSH,5.5 +CMT,1,1,268,0.5,CSH,5.0 +CMT,1,1,569,1.8,CRD,8.5 +CMT,1,1,254,0.9,CSH,5.0 +CMT,1,1,308,1.1,CSH,6.5 +CMT,1,1,1277,12.9,CRD,36.0 +CMT,1,1,547,2.8,CSH,11.0 +CMT,1,1,535,1.6,CRD,8.0 +CMT,1,1,1014,4.2,CRD,15.5 +CMT,1,1,476,1.4,CSH,7.5 +CMT,1,3,873,2.9,CSH,12.0 +CMT,1,1,475,1.6,CRD,8.0 +CMT,1,3,321,0.5,CSH,5.0 +CMT,1,1,398,2.5,CSH,9.0 +CMT,1,1,608,1.7,CRD,9.0 +CMT,1,1,698,3.6,CSH,13.0 +CMT,1,1,270,1.0,CRD,5.5 +CMT,1,1,1087,5.3,CRD,18.5 +CMT,1,1,600,1.2,CRD,8.0 +CMT,1,1,1130,4.7,CSH,18.0 +CMT,1,2,335,0.7,CRD,5.5 +CMT,1,1,237,0.8,CRD,5.0 +CMT,1,2,852,3.5,CSH,13.0 +CMT,1,1,12,0.5,CSH,2.5 +CMT,1,1,488,1.6,CSH,8.0 +CMT,1,1,900,4.7,CRD,16.0 +CMT,1,1,1307,10.8,CSH,31.0 +CMT,1,2,847,4.6,CSH,15.5 +CMT,1,1,1039,3.0,CRD,13.5 +CMT,1,2,1062,3.2,CSH,14.5 +CMT,1,1,368,2.2,CSH,8.0 +CMT,1,2,188,0.6,CRD,4.5 +CMT,1,1,344,1.5,CSH,7.0 +CMT,2,1,1503,20.3,CRD,52.0 +CMT,1,1,327,1.4,CSH,6.5 +CMT,1,1,345,1.7,CRD,7.5 +CMT,1,1,408,0.9,CSH,6.0 +CMT,1,1,904,2.4,CRD,11.5 +CMT,1,1,753,8.6,CRD,24.0 +CMT,1,1,335,0.7,CRD,6.0 +CMT,1,1,883,2.1,CSH,11.0 +CMT,1,1,555,1.8,CRD,8.5 +CMT,1,1,686,3.9,CSH,13.0 +CMT,1,1,223,0.8,CSH,4.5 +CMT,1,2,410,0.9,CRD,6.5 +CMT,1,3,456,1.2,CSH,7.5 +CMT,1,1,70,0.4,CRD,3.5 +VTS,1,5,240,1.12,CSH,5.5 +VTS,1,5,600,5.29,CRD,16.5 +VTS,1,5,480,1.87,CSH,8.5 +VTS,1,5,660,2.68,CSH,11.0 +VTS,1,5,780,2.5,CSH,11.0 +VTS,1,5,540,1.92,CRD,9.0 +VTS,1,5,360,0.73,CSH,6.0 +VTS,1,5,300,0.86,CSH,5.5 +VTS,1,5,780,2.85,CRD,12.0 +VTS,1,5,960,1.27,CSH,10.5 +VTS,1,5,720,2.27,CSH,10.5 +VTS,1,5,180,0.33,CRD,4.0 +VTS,1,5,1440,12.07,CRD,34.5 +VTS,1,5,420,1.59,CRD,8.0 +VTS,1,4,300,1.27,CRD,6.0 +VTS,1,5,360,1.13,CRD,6.5 +VTS,1,5,1740,11.76,CRD,33.5 +VTS,1,5,900,1.7,CRD,11.0 +VTS,1,5,780,2.56,CSH,11.5 +VTS,1,5,900,3.35,CRD,14.0 +VTS,1,5,1140,4.07,CRD,16.0 +VTS,1,5,780,1.43,CRD,10.0 +CMT,1,1,161,0.4,CSH,4.0 +CMT,1,1,697,1.9,CRD,9.5 +CMT,1,1,449,2.1,CRD,8.5 +CMT,1,1,77,0.2,CRD,3.0 +CMT,1,1,647,2.1,CSH,10.0 +CMT,1,1,620,1.2,CRD,8.0 +CMT,1,3,414,1.3,CSH,7.0 +CMT,1,1,511,2.2,CRD,9.0 +CMT,1,2,162,0.1,CSH,3.5 +CMT,1,1,486,1.3,CRD,7.0 +CMT,1,1,549,1.9,CRD,8.5 +CMT,1,3,1301,6.3,CRD,21.0 +CMT,1,2,301,0.9,CRD,5.5 +CMT,1,1,1494,5.8,CRD,21.5 +CMT,1,1,172,0.6,CRD,4.0 +CMT,1,2,709,3.9,CSH,13.5 +CMT,1,3,270,0.7,CRD,5.0 +CMT,1,1,712,2.5,CSH,11.0 +CMT,1,1,225,0.8,CRD,5.0 +CMT,1,1,195,0.4,CSH,4.0 +CMT,1,2,1055,5.8,CRD,19.5 +CMT,1,1,844,7.1,CSH,22.0 +CMT,1,1,334,1.3,CRD,6.5 +CMT,1,1,1036,6.1,CRD,20.5 +CMT,1,1,526,1.8,CRD,8.5 +CMT,1,2,752,3.3,CRD,12.0 +CMT,1,1,396,2.8,CSH,9.5 +CMT,1,1,884,2.5,CRD,11.5 +CMT,1,2,601,2.8,CSH,10.5 +CMT,1,3,815,2.1,CRD,11.0 +CMT,1,1,215,0.6,CRD,4.5 +CMT,1,1,367,2.0,CRD,8.0 +CMT,1,1,1319,7.6,CRD,23.0 +CMT,1,1,549,1.4,CRD,8.5 +CMT,1,2,291,1.1,CSH,5.5 +CMT,1,1,471,1.4,CSH,7.5 +CMT,1,1,1184,15.0,CRD,41.0 +CMT,1,1,286,3.3,CSH,11.0 +CMT,1,1,629,5.3,CRD,16.5 +CMT,1,1,318,0.8,CSH,6.0 +CMT,1,1,209,0.6,CSH,4.5 +VTS,1,5,840,4.56,CRD,15.5 +VTS,1,5,240,1.26,CRD,6.0 +VTS,1,4,180,1.13,CRD,5.5 +VTS,1,5,300,0.75,CSH,5.5 +VTS,1,5,1920,2.89,CRD,20.5 +VTS,1,5,120,0.4,CSH,3.5 +VTS,1,5,360,0.76,CSH,5.5 +VTS,1,5,480,0.91,CRD,6.5 +VTS,1,5,240,0.96,CRD,5.0 +VTS,1,5,480,0.95,CSH,6.5 +VTS,1,5,540,1.86,CSH,8.5 +CMT,1,1,499,1.5,CSH,8.0 +CMT,1,1,676,1.9,CRD,10.0 +CMT,1,1,2096,2.3,CSH,20.5 +CMT,1,2,678,1.3,CRD,8.5 +CMT,1,2,390,0.8,CRD,6.0 +CMT,1,3,240,0.7,CRD,5.0 +CMT,1,1,213,0.5,CSH,4.5 +CMT,1,1,568,3.5,CRD,12.0 +CMT,1,3,544,2.9,CRD,10.5 +CMT,1,1,1204,3.7,CRD,16.0 +CMT,1,1,241,0.9,CSH,5.5 +CMT,1,1,393,2.8,CSH,9.5 +CMT,1,1,1701,8.0,CRD,27.5 +CMT,1,1,228,0.9,CRD,5.0 +CMT,1,1,386,1.6,CRD,7.5 +CMT,1,1,756,4.0,CSH,14.0 +CMT,1,1,1142,10.2,CSH,29.0 +CMT,1,1,536,2.6,CSH,10.0 +CMT,1,2,1094,5.1,CRD,18.0 +CMT,1,2,358,1.0,CSH,6.0 +CMT,1,3,993,2.6,CSH,13.0 +CMT,1,1,473,2.4,CRD,9.0 +CMT,1,2,824,3.5,CRD,13.0 +CMT,1,1,413,1.6,CSH,8.0 +CMT,1,2,1012,6.1,CSH,19.0 +CMT,1,1,366,1.1,CRD,6.0 +CMT,1,1,633,2.3,CSH,10.5 +CMT,1,3,401,1.6,CRD,7.5 +CMT,1,1,834,5.3,CRD,16.5 +CMT,1,1,564,4.3,CSH,13.5 +CMT,1,1,466,1.9,CRD,8.5 +CMT,1,1,1038,3.1,CSH,13.5 +CMT,1,1,943,2.4,CRD,12.5 +CMT,1,1,775,1.7,CSH,10.0 +CMT,1,2,410,1.0,CRD,6.5 +CMT,1,2,242,0.7,CRD,5.0 +CMT,1,3,741,4.7,CRD,15.5 +CMT,1,1,1214,6.7,CRD,22.5 +CMT,1,1,181,1.2,CRD,5.5 +CMT,1,2,1760,9.2,CSH,29.5 +CMT,1,1,469,1.0,CRD,6.5 +CMT,1,1,595,2.5,CRD,10.5 +CMT,1,1,294,1.0,CSH,5.5 +CMT,1,1,434,1.5,CRD,7.5 +CMT,1,1,333,1.2,CSH,6.5 +CMT,1,1,937,3.4,CSH,14.0 +CMT,1,1,228,0.7,CSH,5.0 +CMT,1,1,484,3.6,CRD,12.0 +CMT,1,3,1139,4.9,CSH,18.0 +CMT,1,1,2,4.9,CSH,2.5 +CMT,1,1,1588,8.9,CRD,28.5 +CMT,1,1,1315,5.3,CRD,19.0 +CMT,1,1,133,0.4,CRD,4.0 +CMT,1,2,555,1.7,CSH,8.5 +CMT,1,1,496,3.0,CRD,11.0 +CMT,1,1,494,2.9,CRD,10.5 +CMT,1,2,413,1.4,CRD,7.5 +CMT,1,1,169,0.4,CRD,4.0 +CMT,1,3,500,2.2,CSH,9.5 +CMT,1,3,1659,10.3,CRD,32.0 +CMT,1,1,363,1.8,CSH,7.5 +CMT,1,1,363,1.2,CRD,6.5 +CMT,1,3,1179,5.1,CSH,17.5 +CMT,1,1,681,1.8,CSH,10.0 +CMT,1,1,338,2.1,CSH,8.5 +CMT,1,3,629,1.9,CRD,9.0 +CMT,1,1,843,3.8,CRD,14.5 +CMT,1,2,285,1.9,CRD,7.5 +CMT,1,1,867,4.8,CRD,16.0 +CMT,1,1,1008,8.9,CRD,26.0 +CMT,1,1,390,1.4,CSH,7.0 +CMT,1,2,280,0.8,CSH,5.5 +CMT,1,1,182,0.8,CRD,5.0 +CMT,1,1,145,0.1,CSH,3.5 +CMT,1,1,293,1.2,CRD,6.0 +VTS,1,5,300,1.27,CRD,6.5 +VTS,1,5,780,3.38,CSH,13.5 +VTS,1,5,240,0.77,CSH,5.0 +CMT,1,1,548,1.6,CRD,8.5 +CMT,1,1,626,3.8,CSH,13.0 +CMT,1,1,78,0.5,CSH,3.5 +CMT,1,1,194,0.9,CSH,4.5 +CMT,1,1,1813,9.5,CSH,32.0 +VTS,1,5,1200,5.76,CRD,19.5 +VTS,1,5,300,1.46,CRD,6.5 +VTS,1,5,300,0.58,CRD,5.0 +VTS,1,5,540,2.45,CRD,10.0 +VTS,1,5,600,2.46,CRD,10.0 +VTS,1,5,300,0.95,CRD,5.5 +VTS,1,5,480,1.54,CSH,8.0 +VTS,1,5,660,2.94,CRD,11.0 +VTS,1,5,420,1.49,CRD,7.0 +VTS,1,5,180,1.13,CRD,5.5 +VTS,1,5,1440,2.96,CRD,17.0 +VTS,1,5,840,2.03,CSH,10.5 +VTS,1,5,360,1.59,CSH,7.0 +VTS,1,5,420,1.27,CSH,6.5 +VTS,1,5,840,3.2,CRD,13.0 +VTS,1,5,1200,8.97,CRD,26.5 +VTS,1,5,1320,3.95,CRD,17.0 +VTS,1,5,420,0.98,CSH,6.5 +VTS,1,5,480,1.21,CSH,7.5 +VTS,1,4,60,0.48,CRD,3.5 +VTS,1,5,1080,3.21,CSH,14.0 +CMT,1,1,935,4.3,CSH,16.5 +CMT,1,1,653,3.6,CRD,13.0 +CMT,1,1,110,0.6,CSH,4.0 +CMT,1,1,111,0.6,CSH,4.0 +CMT,1,1,390,2.1,CSH,8.5 +CMT,1,1,872,5.6,CSH,18.5 +VTS,1,5,600,2.91,CRD,11.5 +VTS,1,5,420,1.08,CSH,6.5 +VTS,1,5,1500,6.39,CRD,24.0 +VTS,1,5,420,1.59,CSH,7.5 +VTS,1,5,900,2.3,CSH,11.5 +VTS,1,4,660,2.7,CRD,11.0 +VTS,1,5,420,0.68,CSH,6.0 +VTS,1,5,1020,8.05,CRD,24.0 +VTS,1,5,240,0.75,CSH,5.0 +VTS,1,5,300,0.7,CRD,5.5 +VTS,1,5,360,0.9,CSH,6.0 +VTS,1,5,1320,10.97,CRD,31.5 +VTS,1,5,720,1.69,CRD,9.5 +VTS,1,5,720,1.85,CRD,10.0 +VTS,1,5,540,0.9,CRD,7.0 +VTS,1,5,300,0.98,CSH,6.0 +VTS,1,5,720,2.89,CRD,11.5 +VTS,1,5,540,1.31,CSH,8.0 +VTS,1,5,2700,10.44,CSH,38.5 +VTS,1,5,480,0.86,CRD,7.0 +VTS,1,5,480,0.83,CSH,6.5 +VTS,1,5,600,2.64,CRD,10.5 +VTS,1,5,300,0.48,CSH,5.0 +VTS,1,5,960,2.22,CSH,12.0 +VTS,1,5,840,1.25,CSH,10.0 +VTS,1,5,960,4.91,CSH,17.0 +VTS,1,5,900,3.08,CRD,12.5 +VTS,1,5,840,3.24,CSH,13.0 +VTS,1,5,780,1.8,CSH,10.0 +VTS,1,5,300,1.03,CRD,6.0 +VTS,1,5,180,0.68,CSH,4.5 +VTS,1,5,540,1.4,CSH,8.0 +VTS,1,5,540,2.88,CSH,10.5 +VTS,1,6,2220,6.37,CSH,27.0 +VTS,1,5,120,0.32,CSH,3.5 +VTS,1,5,960,4.03,CSH,15.0 +VTS,1,5,240,0.52,CSH,4.5 +VTS,1,5,420,1.11,CRD,6.5 +VTS,1,5,240,0.65,CSH,4.5 +VTS,1,5,300,1.48,CRD,7.0 +VTS,1,5,480,1.62,CSH,7.5 +VTS,1,5,1320,4.59,CRD,18.0 +VTS,1,5,240,0.57,CRD,4.5 +VTS,1,5,1020,4.26,CRD,16.0 +VTS,1,5,360,1.22,CSH,6.5 +VTS,1,5,720,3.32,CRD,13.0 +VTS,1,5,360,1.76,CRD,7.5 +VTS,1,5,360,1.87,CRD,7.5 +VTS,1,5,1320,4.92,CSH,18.5 +VTS,1,5,180,0.98,CSH,5.0 +VTS,1,5,660,1.22,CRD,8.5 +VTS,1,5,1620,16.24,CRD,44.0 +VTS,1,5,1920,15.8,CRD,44.0 +VTS,1,5,420,1.79,CRD,8.5 +VTS,1,5,780,1.96,CRD,10.5 +VTS,1,5,960,1.8,CRD,11.5 +VTS,1,5,840,2.0,CSH,11.0 +VTS,1,5,360,1.34,CRD,6.5 +VTS,1,5,660,1.7,CSH,9.0 +VTS,1,5,240,0.82,CRD,5.0 +VTS,1,5,540,2.24,CSH,9.0 +VTS,1,5,360,0.97,CSH,6.0 +VTS,1,5,480,0.86,CRD,7.0 +VTS,1,5,540,1.37,CSH,8.0 +VTS,1,5,360,0.83,CSH,6.0 +VTS,1,5,300,0.78,CSH,5.5 +VTS,1,5,600,2.24,CRD,10.0 +VTS,1,5,1080,3.34,CRD,14.5 +VTS,1,5,1920,12.1,CRD,37.5 +VTS,1,5,660,2.45,CSH,10.5 +VTS,1,5,780,4.06,CRD,14.5 +VTS,1,5,1140,5.39,CRD,19.5 +VTS,1,5,420,0.4,CSH,6.0 +VTS,1,5,360,1.15,CSH,6.0 +VTS,1,5,180,0.88,CSH,5.0 +VTS,1,5,840,2.23,CRD,11.0 +VTS,1,4,480,1.11,CSH,7.0 +VTS,1,5,660,2.46,CSH,10.5 +VTS,1,5,600,1.4,CSH,8.0 +VTS,1,5,660,1.89,CRD,9.5 +VTS,1,5,1320,3.54,CSH,16.5 +VTS,1,5,540,1.72,CSH,8.5 +VTS,1,5,900,1.31,CRD,10.5 +VTS,1,5,540,1.71,CSH,8.0 +VTS,1,5,780,2.47,CRD,11.0 +VTS,1,5,300,0.87,CSH,5.5 +VTS,1,5,540,2.64,CRD,10.0 +VTS,1,6,660,1.1,CSH,8.5 +VTS,1,5,300,0.64,CSH,5.0 +VTS,1,5,720,2.49,CRD,11.0 +VTS,1,5,3000,17.41,CSH,54.0 +VTS,1,5,300,1.16,CSH,6.0 +VTS,1,5,120,0.38,CRD,3.5 +VTS,1,5,300,0.94,CSH,6.0 +VTS,1,5,780,3.33,CRD,12.5 +VTS,1,5,420,1.22,CRD,7.0 +VTS,1,5,600,1.05,CSH,8.0 +VTS,1,6,2580,11.11,CSH,38.0 +CMT,1,2,947,5.2,CSH,17.5 +CMT,1,1,994,5.0,CSH,17.0 +CMT,1,1,351,1.2,CRD,6.0 +CMT,1,1,673,1.6,CRD,9.0 +CMT,1,1,313,1.1,CRD,6.5 +CMT,1,1,334,1.0,CRD,6.0 +CMT,1,2,886,1.7,CRD,10.5 +CMT,1,1,158,0.9,CSH,5.0 +CMT,1,1,1048,4.1,CSH,15.5 +CMT,1,1,367,1.7,CRD,7.5 +CMT,1,1,537,2.0,CRD,9.5 +CMT,1,1,269,1.5,CRD,6.5 +CMT,1,1,684,4.7,CRD,15.0 +CMT,1,1,585,1.3,CRD,8.0 +CMT,1,2,749,4.1,CRD,14.0 +CMT,1,1,783,5.0,CRD,15.5 +CMT,1,1,283,0.8,CRD,5.0 +CMT,1,1,1077,2.8,CRD,13.5 +CMT,1,1,148,0.5,CSH,4.0 +CMT,1,1,597,2.2,CRD,9.5 +CMT,1,1,1230,5.0,CRD,18.5 +CMT,1,1,506,1.6,CRD,8.0 +CMT,1,1,250,1.2,CSH,6.0 +CMT,1,1,664,2.2,CRD,10.5 +CMT,1,1,978,5.7,CRD,19.0 +CMT,1,2,530,1.8,CSH,8.5 +VTS,1,5,480,1.33,CRD,7.5 +VTS,1,5,420,0.94,CRD,6.0 +VTS,1,5,360,0.53,CRD,5.5 +VTS,1,5,1380,10.07,CRD,30.0 +VTS,1,5,600,1.3,CRD,8.0 +VTS,1,5,1380,6.02,CSH,21.0 +VTS,1,5,360,0.92,CSH,6.0 +VTS,1,5,540,1.49,CRD,8.0 +VTS,1,5,1020,2.68,CRD,13.5 +VTS,1,5,420,0.93,CRD,6.5 +VTS,1,5,420,1.75,CSH,8.0 +VTS,1,5,240,0.72,CSH,5.0 +VTS,1,5,300,1.02,CRD,5.5 +VTS,1,5,300,1.08,CSH,5.5 +VTS,1,5,780,2.83,CSH,12.0 +VTS,1,5,1020,3.95,CSH,15.5 +VTS,1,5,540,2.48,CRD,10.0 +VTS,1,5,1080,2.76,CRD,13.5 +VTS,1,5,360,1.52,CRD,7.0 +VTS,1,5,1740,4.11,CRD,20.0 +VTS,1,1,600,0.85,CSH,8.0 +VTS,1,1,360,1.12,CSH,6.0 +VTS,1,1,480,1.25,CRD,7.0 +VTS,1,1,1320,7.78,CRD,24.0 +VTS,1,1,600,1.42,CSH,9.0 +VTS,1,1,600,1.48,CRD,9.0 +CMT,1,4,390,1.3,CSH,7.0 +CMT,1,2,778,3.0,CSH,12.0 +CMT,1,1,6,6.5,DIS,2.5 +CMT,1,1,859,3.8,CRD,15.0 +VTS,1,5,1320,5.2,CSH,19.0 +VTS,1,5,1740,14.85,CSH,41.5 +VTS,1,5,300,1.31,CSH,6.0 +VTS,1,5,240,1.12,CSH,6.0 +VTS,1,5,660,1.79,CSH,9.0 +VTS,1,5,1500,11.63,CRD,33.0 +VTS,1,5,240,0.82,CRD,5.5 +VTS,1,5,900,5.35,CSH,17.5 +VTS,1,5,1080,6.27,CSH,20.0 +VTS,1,5,180,0.32,CRD,4.0 +VTS,1,5,900,3.33,CRD,13.0 +VTS,1,5,420,1.02,CRD,6.5 +VTS,1,5,900,7.09,CSH,21.0 +VTS,1,5,660,1.5,CRD,9.0 +VTS,1,5,600,1.79,CSH,9.0 +VTS,1,5,600,1.28,CRD,8.0 +VTS,1,5,120,0.37,CSH,4.0 +VTS,1,5,1680,3.53,CSH,19.5 +VTS,1,6,1320,10.54,CRD,30.0 +VTS,1,5,240,0.71,CRD,5.0 +VTS,1,5,780,0.92,CSH,9.5 +VTS,1,5,780,3.68,CSH,14.5 +CMT,1,4,1589,10.0,CSH,30.0 +CMT,1,3,716,2.1,CRD,10.5 +CMT,1,2,841,3.8,CRD,14.0 +CMT,1,1,925,3.1,CRD,13.0 +CMT,1,1,616,3.1,CSH,11.5 +CMT,1,1,296,1.0,CSH,5.5 +CMT,1,2,891,7.5,CSH,23.5 +CMT,1,1,232,0.7,CSH,5.0 +CMT,1,1,181,0.3,CRD,4.0 +CMT,1,1,190,0.5,CRD,4.5 +CMT,1,1,394,2.6,CSH,9.0 +CMT,1,1,637,7.7,CRD,22.0 +CMT,1,1,1482,11.0,CSH,32.5 +CMT,1,1,1422,9.2,CRD,28.5 +CMT,1,3,757,2.0,CRD,10.5 +CMT,1,1,193,1.2,CSH,5.5 +CMT,1,1,632,1.6,CRD,9.0 +CMT,1,1,402,1.6,CSH,7.5 +CMT,1,4,239,0.8,CSH,5.0 +CMT,1,1,471,1.3,CSH,7.0 +CMT,1,2,428,0.8,CSH,6.0 +CMT,1,3,738,1.9,CRD,10.0 +CMT,1,1,953,4.5,CRD,16.5 +CMT,1,3,705,1.4,CRD,8.5 +CMT,1,1,828,3.5,CSH,13.0 +CMT,1,1,329,1.5,CRD,7.0 +CMT,1,1,324,0.9,CSH,6.0 +CMT,1,1,381,1.2,CRD,7.0 +CMT,1,1,587,2.3,CRD,10.0 +CMT,1,1,706,2.1,CRD,10.5 +CMT,1,1,389,2.6,CSH,9.5 +CMT,1,1,734,3.2,CSH,12.5 +CMT,1,1,331,0.7,CRD,5.0 +CMT,1,1,394,2.1,CSH,8.0 +CMT,1,4,198,0.2,CSH,4.0 +CMT,1,4,215,0.8,CSH,5.0 +CMT,1,1,1086,6.5,CSH,20.5 +CMT,1,1,408,1.5,CSH,7.0 +CMT,1,1,1039,4.0,CSH,16.0 +VTS,1,5,360,1.86,CSH,7.5 +VTS,1,5,300,0.57,CSH,5.0 +VTS,1,5,840,3.5,CSH,13.0 +VTS,1,5,1020,2.89,CSH,13.5 +VTS,1,5,780,2.18,CSH,10.5 +VTS,1,5,420,1.18,CSH,7.0 +VTS,1,5,1020,1.96,CSH,12.0 +VTS,1,5,420,1.61,CRD,7.5 +VTS,1,5,600,2.09,CRD,9.0 +VTS,1,5,240,0.84,CSH,5.5 +VTS,1,5,960,3.08,CRD,13.5 +VTS,1,5,420,0.93,CSH,7.0 +VTS,1,5,660,1.4,CSH,8.5 +VTS,1,5,480,2.8,CRD,10.0 +VTS,1,5,660,1.19,CSH,8.5 +VTS,1,5,120,0.43,CSH,3.5 +VTS,1,5,480,1.56,CRD,8.0 +VTS,1,5,480,2.59,CSH,9.0 +VTS,1,5,780,1.55,CSH,9.5 +VTS,1,5,540,2.18,CSH,9.0 +VTS,2,5,2460,20.26,CSH,52.0 +VTS,1,5,1020,9.8,CRD,27.5 +VTS,1,5,540,2.15,CSH,9.0 +VTS,1,5,420,1.3,CRD,7.0 +VTS,1,5,480,1.51,CSH,8.0 +VTS,1,5,480,1.84,CRD,8.5 +VTS,1,5,900,7.81,CSH,23.5 +VTS,1,5,900,2.4,CRD,12.0 +VTS,1,4,480,1.69,CRD,7.5 +VTS,1,5,240,0.87,CSH,5.0 +VTS,1,5,660,1.47,CSH,8.5 +VTS,1,5,660,1.18,CSH,8.5 +VTS,1,5,300,1.88,CSH,7.0 +VTS,1,5,600,2.61,CSH,10.0 +VTS,1,5,180,0.53,CSH,4.5 +VTS,1,5,420,1.03,CRD,6.5 +VTS,1,5,420,1.08,CSH,6.5 +VTS,1,5,840,2.51,CRD,11.5 +VTS,1,5,360,0.82,CSH,6.0 +VTS,1,5,660,0.63,CSH,8.0 +VTS,1,5,660,1.56,CSH,9.0 +VTS,1,5,1500,4.94,CRD,20.0 +VTS,1,5,1800,5.16,CRD,22.5 +VTS,1,5,360,1.74,CRD,7.5 +VTS,1,5,240,0.43,CSH,4.5 +VTS,1,5,1080,9.53,CSH,28.0 +VTS,1,5,900,2.71,CSH,12.5 +VTS,1,5,1980,11.06,CRD,35.0 +VTS,1,5,1320,10.17,CRD,30.0 +VTS,1,5,300,0.82,CRD,5.5 +VTS,1,5,360,1.56,CSH,7.5 +VTS,1,5,780,1.62,CRD,10.0 +VTS,1,5,660,1.14,CRD,8.0 +VTS,1,5,480,0.92,CSH,7.0 +VTS,1,5,900,7.42,CRD,22.0 +VTS,1,5,540,1.55,CSH,8.0 +VTS,1,5,1260,9.9,CRD,28.5 +VTS,1,5,480,0.73,CRD,6.5 +VTS,1,5,600,2.32,CRD,9.5 +VTS,1,5,600,2.08,CRD,9.5 +VTS,1,5,660,1.91,CRD,10.0 +VTS,1,5,1080,2.96,CRD,14.0 +VTS,1,5,660,1.76,CSH,9.5 +VTS,1,5,420,0.74,CSH,6.0 +VTS,1,5,3180,14.04,CRD,47.0 +VTS,1,5,1440,2.95,CRD,16.0 +VTS,1,5,780,0.96,CSH,9.5 +VTS,1,5,1500,4.52,CSH,20.0 +VTS,1,5,1020,1.98,CSH,11.5 +VTS,1,5,480,1.66,CRD,8.0 +VTS,1,5,540,1.29,CSH,8.0 +VTS,1,5,1080,3.42,CRD,14.5 +VTS,1,5,1200,2.44,CRD,14.0 +VTS,1,5,180,0.77,CSH,4.5 +VTS,1,5,240,0.67,CSH,4.5 +VTS,1,5,600,1.64,CRD,8.5 +VTS,1,5,300,1.09,CRD,6.0 +VTS,1,5,1500,15.55,CRD,42.5 +VTS,1,5,780,2.19,CSH,11.0 +VTS,1,5,1200,3.06,CRD,15.5 +VTS,1,5,1020,1.63,CRD,11.5 +VTS,3,5,1680,13.04,CRD,56.5 +VTS,1,5,720,2.57,CSH,11.0 +VTS,1,5,540,1.45,CRD,8.0 +VTS,1,5,180,0.58,CSH,4.0 +VTS,1,5,180,0.63,CRD,4.5 +VTS,1,5,1800,11.99,CRD,37.5 +VTS,1,5,1080,3.68,CSH,15.5 +VTS,1,5,420,0.67,CRD,6.5 +VTS,1,5,900,6.22,CRD,20.0 +VTS,1,1,3000,9.79,CRD,39.5 +VTS,1,5,1320,6.16,CSH,21.5 +VTS,1,5,1140,9.61,CRD,27.5 +VTS,1,5,780,2.1,CSH,10.5 +VTS,1,5,660,1.43,CSH,9.0 +VTS,1,5,1140,7.43,CRD,23.5 +VTS,1,5,720,2.22,CRD,10.5 +VTS,1,5,780,1.77,CSH,10.5 +VTS,1,5,720,4.65,CSH,15.5 +VTS,1,5,1080,6.96,CRD,22.5 +VTS,1,5,1140,2.48,CRD,13.5 +VTS,1,5,1380,2.81,CRD,15.5 +VTS,1,1,840,1.68,CRD,10.0 +VTS,1,1,360,0.9,CRD,6.0 +VTS,1,1,720,5.19,CSH,16.5 +VTS,1,1,660,2.67,CRD,11.0 +VTS,1,1,1500,7.4,CSH,25.5 +VTS,1,1,1440,10.49,CSH,31.5 +VTS,1,1,540,1.53,CSH,8.0 +VTS,2,1,1980,18.48,CRD,52.0 +VTS,1,1,1560,5.64,CRD,22.0 +VTS,1,1,120,0.52,CRD,4.0 +VTS,1,1,300,1.28,CRD,6.0 +VTS,2,1,1920,18.39,CRD,52.0 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,900,1.91,CSH,11.5 +VTS,1,1,360,1.89,CSH,7.5 +VTS,1,1,600,1.44,CSH,8.0 +VTS,1,1,660,1.17,CSH,8.0 +VTS,1,1,600,1.52,CRD,8.0 +VTS,1,1,780,5.99,CRD,19.0 +VTS,1,1,540,1.86,CSH,9.0 +VTS,1,1,840,5.41,CSH,17.5 +VTS,1,1,540,1.24,CSH,7.5 +VTS,1,1,180,0.42,CRD,4.0 +VTS,1,1,420,2.3,CSH,8.5 +VTS,1,1,420,0.96,CSH,6.5 +VTS,2,1,2160,19.58,CSH,52.0 +VTS,1,1,540,1.37,CRD,7.5 +VTS,1,1,960,2.99,CSH,13.5 +VTS,1,1,540,1.84,CRD,8.0 +VTS,1,1,660,1.99,CRD,9.5 +VTS,1,1,720,3.85,CSH,13.5 +VTS,1,1,180,0.53,CRD,4.5 +VTS,1,1,780,2.62,CRD,11.5 +VTS,1,1,60,0.65,CRD,4.0 +VTS,1,1,1080,3.86,CSH,16.0 +VTS,1,1,660,1.8,CSH,9.0 +VTS,1,1,240,1.3,CSH,6.0 +VTS,1,1,180,0.53,CRD,4.0 +VTS,1,2,180,0.76,CSH,4.5 +VTS,1,1,1200,9.98,CSH,29.0 +VTS,1,1,1740,15.8,CRD,44.5 +VTS,1,5,600,1.12,CRD,8.0 +VTS,1,5,180,0.7,CSH,4.5 +VTS,1,5,540,2.23,CSH,9.5 +VTS,1,5,1080,6.17,CSH,20.5 +VTS,1,5,420,1.15,CRD,6.5 +VTS,1,5,1860,10.74,CRD,33.0 +VTS,1,5,1680,4.19,CRD,21.5 +VTS,1,5,900,2.48,CRD,11.5 +VTS,1,5,480,1.45,CSH,8.0 +VTS,1,5,300,0.94,CSH,5.5 +VTS,1,5,840,1.73,CRD,10.5 +VTS,1,5,420,1.6,CRD,7.5 +VTS,1,5,540,2.53,CRD,9.5 +VTS,1,5,540,2.38,CSH,9.5 +VTS,1,5,1020,4.9,CSH,18.0 +VTS,1,5,660,1.6,CRD,9.0 +VTS,1,5,720,2.01,CSH,10.0 +VTS,1,5,420,1.03,CRD,6.0 +VTS,1,5,1320,6.41,CSH,24.0 +VTS,1,5,420,0.93,CSH,6.5 +VTS,1,1,1860,4.39,CRD,21.0 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,360,2.64,CSH,9.5 +VTS,1,1,120,0.5,CSH,4.0 +VTS,1,1,900,2.42,CRD,12.0 +VTS,1,1,360,1.83,CRD,7.5 +VTS,1,1,480,1.51,CSH,8.0 +VTS,1,1,1140,6.56,CRD,21.5 +VTS,1,1,900,9.41,CSH,26.5 +VTS,1,1,420,1.7,CSH,7.5 +VTS,1,1,600,2.05,CRD,9.5 +VTS,1,1,660,1.11,CSH,8.0 +VTS,1,1,960,9.38,CRD,27.0 +VTS,1,1,660,2.18,CRD,10.0 +VTS,1,1,420,1.38,CSH,7.0 +VTS,1,1,1560,3.73,CSH,18.0 +VTS,1,1,480,2.1,CRD,8.5 +VTS,1,1,480,2.33,CSH,9.0 +VTS,1,1,240,0.31,CRD,4.0 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,1,360,0.99,CRD,6.0 +VTS,1,1,300,0.76,CSH,5.0 +VTS,1,1,660,5.5,CRD,17.0 +VTS,1,1,600,1.44,CRD,9.0 +VTS,1,1,780,3.24,CSH,12.5 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,1,1080,4.12,CRD,16.0 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,360,1.19,CSH,6.5 +VTS,1,1,600,1.37,CSH,8.5 +VTS,1,1,600,1.06,CSH,8.0 +VTS,1,1,540,1.65,CRD,8.0 +VTS,1,1,840,2.59,CRD,11.0 +VTS,1,1,660,2.23,CSH,9.5 +VTS,1,1,240,0.75,CSH,5.0 +VTS,1,1,1200,7.87,CRD,25.0 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,780,1.99,CSH,10.5 +VTS,1,1,1140,9.15,CRD,27.5 +VTS,1,1,1320,8.16,CRD,26.5 +VTS,1,1,1440,6.32,CSH,23.0 +VTS,1,1,420,1.17,CRD,7.0 +VTS,1,1,1140,4.01,CRD,16.0 +VTS,1,1,840,0.82,CSH,9.5 +VTS,1,1,240,1.43,CRD,6.0 +VTS,1,1,720,1.71,CSH,9.0 +VTS,1,1,240,0.58,CSH,5.0 +VTS,1,1,780,3.71,CRD,13.5 +VTS,1,1,240,1.22,CSH,6.0 +VTS,1,1,780,3.83,CSH,14.5 +VTS,1,1,540,2.03,CSH,9.5 +VTS,1,1,420,1.01,CSH,6.5 +VTS,1,1,240,0.83,CSH,5.0 +VTS,1,1,360,1.73,CSH,7.5 +VTS,1,1,660,2.77,CRD,11.5 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,780,3.8,CRD,14.0 +VTS,1,1,300,1.03,CSH,6.0 +VTS,1,5,300,0.77,CRD,5.5 +VTS,1,5,1860,4.57,CRD,21.5 +VTS,1,5,240,0.81,CRD,5.5 +VTS,1,5,600,1.16,CRD,8.0 +VTS,1,5,780,3.63,CRD,13.0 +VTS,1,5,360,1.18,CSH,6.5 +VTS,1,1,420,0.94,CSH,6.0 +VTS,1,1,60,0.02,CSH,2.5 +VTS,1,1,840,2.5,CSH,12.0 +VTS,1,1,2160,14.89,CRD,45.5 +VTS,1,1,660,2.14,CRD,10.0 +VTS,1,1,780,2.9,CSH,12.0 +VTS,1,1,840,2.39,CSH,11.0 +VTS,1,1,300,1.01,CRD,6.0 +VTS,1,1,540,1.58,CRD,7.5 +VTS,1,1,960,5.3,CRD,18.0 +VTS,1,1,300,1.11,CRD,6.0 +VTS,1,1,180,0.48,CSH,4.5 +VTS,1,1,1140,5.37,CRD,19.5 +VTS,1,1,540,1.56,CRD,8.5 +VTS,1,1,1680,5.31,CRD,22.5 +VTS,1,1,1020,2.04,CRD,11.5 +VTS,1,1,420,1.2,CSH,7.0 +VTS,1,1,240,0.98,CRD,5.5 +VTS,1,1,900,1.9,CRD,11.5 +VTS,1,1,360,1.59,CSH,7.0 +VTS,1,5,120,0.45,CSH,3.5 +VTS,1,5,240,1.03,CSH,5.5 +VTS,1,4,240,0.69,CSH,5.0 +VTS,1,5,1140,1.86,CSH,12.5 +VTS,1,5,300,0.49,CSH,5.0 +VTS,1,5,1500,16.02,CRD,44.0 +VTS,1,5,1080,3.49,CRD,15.0 +VTS,1,2,900,2.45,CRD,12.5 +VTS,1,5,1680,9.48,CRD,29.5 +VTS,1,5,1260,9.29,CRD,27.5 +VTS,1,5,600,1.43,CSH,8.5 +VTS,1,5,840,2.18,CRD,11.5 +VTS,1,6,540,1.87,CRD,8.5 +VTS,1,5,1860,10.63,CSH,33.0 +VTS,1,5,540,1.25,CSH,7.5 +VTS,1,5,480,1.26,CSH,7.5 +VTS,1,5,960,2.21,CRD,12.0 +VTS,1,5,240,1.8,CSH,7.0 +VTS,1,5,1260,7.27,CSH,23.5 +VTS,1,5,600,1.89,CSH,9.5 +VTS,1,5,1020,4.31,CSH,16.5 +VTS,1,5,1080,2.29,CSH,13.5 +VTS,1,5,120,0.35,CSH,3.5 +VTS,1,1,960,1.69,CSH,11.0 +VTS,1,1,420,0.56,CSH,5.5 +VTS,1,1,360,1.02,CRD,6.0 +VTS,1,5,720,1.32,CRD,9.0 +VTS,1,5,960,3.65,CRD,14.0 +VTS,1,5,420,1.65,CRD,7.5 +VTS,1,5,300,1.12,CRD,6.5 +VTS,1,5,660,1.69,CRD,9.0 +VTS,1,5,600,1.59,CRD,9.0 +VTS,1,5,840,2.94,CRD,13.0 +VTS,1,5,480,1.53,CSH,8.0 +VTS,1,5,360,1.12,CRD,6.5 +VTS,1,5,360,0.72,CRD,6.0 +VTS,1,4,360,1.44,CRD,6.5 +VTS,1,5,420,0.87,CRD,6.0 +VTS,1,5,240,0.72,CRD,5.0 +VTS,1,5,600,1.85,CSH,9.0 +VTS,1,5,480,1.22,CRD,7.5 +VTS,1,5,420,1.72,CSH,7.5 +VTS,1,5,480,1.81,CRD,8.0 +VTS,1,5,300,1.31,CRD,6.0 +VTS,1,5,300,0.84,CSH,5.5 +VTS,1,6,540,2.55,CRD,10.0 +VTS,1,5,2220,2.76,CSH,16.5 +VTS,1,5,600,1.4,CRD,8.5 +VTS,1,5,900,1.91,CRD,12.0 +VTS,1,5,480,1.21,CSH,7.5 +VTS,1,5,300,0.98,CSH,6.0 +VTS,1,5,600,1.47,CRD,8.5 +VTS,1,5,480,0.86,CRD,6.5 +VTS,1,5,600,0.97,CSH,7.5 +VTS,1,5,720,2.23,CRD,10.5 +VTS,1,5,1440,8.23,CSH,27.0 +VTS,1,5,300,0.73,CSH,5.0 +VTS,1,5,600,1.95,CRD,9.0 +VTS,1,5,1620,10.79,CSH,33.0 +VTS,1,5,300,1.14,CSH,6.0 +VTS,1,5,540,2.76,CRD,10.0 +VTS,1,5,300,1.01,CSH,5.5 +VTS,1,4,600,2.16,CSH,9.5 +VTS,1,5,1740,10.94,CRD,34.5 +VTS,1,5,660,1.79,CSH,9.5 +VTS,1,5,540,1.05,CSH,7.0 +VTS,1,1,720,0.87,CSH,8.5 +VTS,1,1,1320,8.72,CRD,26.0 +VTS,1,1,900,1.32,CSH,10.0 +VTS,1,1,360,1.22,CRD,6.0 +VTS,1,1,600,1.27,CSH,7.5 +VTS,1,1,900,4.64,CRD,16.5 +VTS,1,1,660,1.8,CSH,9.0 +VTS,1,1,840,2.31,CSH,11.5 +VTS,1,1,960,3.54,CRD,14.0 +VTS,1,1,360,1.45,CRD,6.5 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,1200,4.06,CSH,17.5 +VTS,1,1,300,1.02,CSH,5.5 +VTS,2,1,1680,17.45,CRD,52.0 +VTS,1,1,180,0.94,CRD,5.0 +VTS,1,1,420,1.22,CRD,6.5 +VTS,1,1,300,1.33,CRD,6.5 +VTS,1,1,1140,5.25,CSH,19.0 +VTS,1,1,780,2.72,CSH,11.5 +VTS,1,1,600,2.01,CSH,9.0 +VTS,1,1,180,0.49,CSH,4.0 +VTS,1,1,600,2.2,CSH,9.5 +VTS,1,1,720,1.89,CRD,10.0 +VTS,1,1,540,2.52,CSH,10.0 +VTS,1,1,1140,5.42,CRD,19.0 +VTS,1,1,360,0.7,CRD,5.5 +VTS,1,1,360,1.09,CSH,6.0 +VTS,1,1,300,1.2,CSH,6.0 +VTS,1,1,600,1.38,CRD,8.0 +VTS,1,1,1320,7.76,CRD,25.0 +VTS,1,1,780,2.09,CRD,10.5 +VTS,1,1,720,1.1,CSH,9.0 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,1200,4.72,CRD,18.5 +VTS,1,1,180,0.87,CRD,5.0 +VTS,1,1,540,1.97,CRD,8.5 +VTS,1,1,720,2.79,CSH,11.5 +VTS,1,1,540,4.56,CRD,14.5 +VTS,1,1,480,1.56,CRD,7.5 +VTS,1,1,300,1.2,CRD,6.0 +VTS,1,1,240,1.32,CRD,6.0 +VTS,1,1,480,1.04,CRD,7.0 +VTS,1,1,300,0.56,CSH,5.5 +VTS,1,1,840,2.71,CRD,12.5 +VTS,1,1,600,1.19,CRD,8.0 +VTS,1,1,240,1.17,CRD,6.0 +VTS,2,1,360,1.29,CRD,52.0 +VTS,1,1,600,2.05,CSH,9.0 +VTS,1,1,420,1.42,CRD,7.5 +VTS,1,1,780,1.47,CRD,10.0 +VTS,1,1,2220,10.02,CRD,35.0 +VTS,1,1,120,0.56,CRD,4.0 +VTS,1,1,480,1.9,CSH,8.5 +VTS,1,1,660,1.58,CRD,9.0 +VTS,1,1,420,2.14,CRD,8.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,480,0.98,CRD,7.0 +VTS,1,1,840,3.04,CRD,13.0 +VTS,1,1,480,1.1,CSH,7.0 +VTS,1,1,900,4.05,CSH,15.5 +VTS,1,1,1080,2.48,CSH,13.5 +VTS,1,1,480,1.07,CRD,7.0 +VTS,1,1,600,1.34,CRD,8.0 +VTS,1,1,240,0.82,CSH,5.0 +VTS,1,1,480,1.3,CRD,7.5 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,420,2.21,CSH,9.0 +VTS,1,1,720,1.0,CRD,8.5 +VTS,1,1,840,1.66,CSH,10.5 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,840,3.78,CRD,14.0 +VTS,1,1,1740,5.14,CRD,22.5 +VTS,1,1,360,0.59,CRD,5.5 +VTS,1,1,1080,3.8,CRD,16.5 +VTS,1,1,960,5.2,CSH,17.5 +VTS,1,1,780,2.67,CRD,11.0 +VTS,1,1,840,3.38,CSH,13.5 +VTS,1,1,240,1.97,CRD,7.5 +VTS,1,1,600,1.67,CRD,8.5 +VTS,1,1,900,1.37,CRD,10.5 +VTS,1,1,420,1.27,CRD,7.0 +VTS,1,1,1260,5.19,CSH,19.5 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,540,2.09,CRD,9.0 +VTS,1,1,780,5.64,CRD,18.0 +VTS,1,1,240,1.35,CSH,6.0 +VTS,1,1,780,3.9,CSH,13.5 +VTS,1,2,960,3.24,CRD,13.5 +VTS,1,1,1380,6.09,CRD,22.0 +VTS,1,1,660,1.19,CSH,8.5 +VTS,1,1,600,1.74,CSH,8.5 +VTS,1,1,840,5.11,CSH,17.0 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,960,4.26,CRD,16.0 +VTS,1,1,300,1.17,CRD,6.0 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,300,0.74,CSH,5.0 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,1140,4.46,CRD,17.5 +VTS,1,1,360,1.06,CSH,6.5 +VTS,1,1,600,2.66,CSH,10.5 +VTS,1,1,420,2.0,CRD,8.0 +VTS,1,1,360,1.75,CSH,8.0 +VTS,1,1,900,1.6,CSH,10.5 +VTS,1,1,1320,2.77,CRD,16.0 +VTS,1,1,180,0.41,CSH,4.0 +VTS,1,1,420,1.26,CSH,7.0 +VTS,1,1,1020,2.79,CRD,13.5 +VTS,1,1,420,1.1,CSH,7.0 +VTS,1,1,300,1.29,CRD,6.5 +VTS,1,1,600,1.28,CSH,8.0 +VTS,1,1,480,1.85,CRD,8.5 +VTS,1,1,540,2.08,CSH,9.0 +VTS,1,1,480,1.68,CRD,8.0 +VTS,1,1,240,0.84,CSH,5.0 +VTS,1,1,600,2.18,CSH,9.5 +VTS,1,1,240,0.47,CSH,4.5 +VTS,1,1,300,1.06,CRD,6.0 +VTS,1,1,1620,9.78,CRD,30.5 +VTS,1,1,660,2.43,CRD,10.5 +VTS,1,1,1260,5.61,CRD,20.0 +VTS,1,1,2460,7.28,CSH,31.0 +VTS,1,1,600,2.62,CRD,10.5 +VTS,1,1,720,4.01,CSH,13.0 +VTS,1,1,600,2.37,CSH,9.5 +VTS,1,1,480,1.86,CRD,8.5 +VTS,1,1,780,2.85,CRD,12.0 +VTS,1,1,120,0.75,CRD,4.5 +VTS,1,1,480,2.41,CSH,9.0 +VTS,1,1,1080,4.45,CSH,16.5 +VTS,1,1,1140,2.89,CSH,14.0 +VTS,1,1,120,0.67,CRD,4.5 +VTS,1,1,660,3.0,CSH,11.5 +VTS,1,1,540,1.8,CRD,8.5 +VTS,1,1,960,1.86,CSH,12.0 +VTS,1,1,1080,1.27,CSH,12.0 +VTS,1,1,780,1.74,CSH,10.0 +VTS,1,1,660,1.19,CSH,8.5 +VTS,1,1,1680,6.15,CRD,23.5 +VTS,1,1,1140,2.11,CSH,13.0 +VTS,1,1,780,0.87,CRD,9.0 +VTS,1,1,780,5.27,CRD,17.0 +VTS,1,1,660,3.27,CSH,12.0 +VTS,1,1,180,0.3,CSH,4.0 +VTS,1,1,840,2.47,CRD,11.5 +VTS,1,1,660,1.91,CRD,10.0 +VTS,1,1,720,4.14,CRD,14.5 +VTS,1,1,240,0.64,CSH,4.5 +VTS,1,1,660,1.4,CRD,8.5 +VTS,1,1,780,3.08,CSH,12.0 +VTS,1,1,900,3.03,CRD,13.0 +VTS,1,1,960,2.57,CSH,12.5 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,1260,8.45,CSH,26.0 +VTS,1,1,420,3.26,CRD,11.5 +VTS,1,1,480,3.08,CSH,10.5 +VTS,1,1,900,3.18,CRD,13.5 +VTS,1,1,840,3.22,CRD,14.0 +VTS,1,1,540,1.65,CRD,8.5 +VTS,1,1,660,1.62,CRD,8.5 +VTS,1,1,840,2.42,CSH,11.5 +VTS,1,1,540,1.71,CSH,8.5 +VTS,1,1,480,1.2,CRD,7.0 +VTS,1,1,600,0.84,CSH,7.5 +VTS,1,1,1200,2.78,CRD,14.5 +VTS,1,1,480,1.98,CRD,8.5 +VTS,1,1,960,8.66,CSH,24.5 +VTS,1,1,720,2.28,CSH,10.5 +VTS,1,1,300,1.02,CRD,6.0 +VTS,1,1,780,2.23,CRD,10.5 +VTS,1,1,360,2.68,CSH,9.0 +VTS,1,1,840,6.16,CSH,18.5 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,120,0.81,CSH,4.5 +VTS,1,1,540,1.68,CSH,8.5 +VTS,1,1,420,1.19,CSH,6.5 +VTS,1,1,840,6.91,CSH,20.5 +VTS,1,1,780,1.59,CSH,10.0 +VTS,1,1,1560,11.05,CRD,32.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,720,3.07,CSH,12.0 +VTS,1,1,540,1.32,CSH,7.5 +VTS,1,1,1020,1.89,CSH,12.0 +VTS,1,1,480,1.98,CSH,8.5 +VTS,1,1,660,4.11,CSH,14.0 +VTS,1,1,300,1.29,CRD,6.5 +VTS,1,1,240,0.88,CSH,5.0 +VTS,1,1,720,4.2,CRD,14.0 +VTS,1,1,780,2.11,CSH,11.0 +VTS,1,1,1020,7.68,CRD,24.0 +VTS,1,1,540,1.69,CSH,8.0 +VTS,1,1,240,0.81,CRD,5.0 +VTS,1,1,600,0.91,CRD,8.0 +VTS,1,1,420,0.69,CSH,6.0 +VTS,1,1,600,1.44,CSH,8.0 +VTS,1,5,540,1.55,CSH,8.0 +VTS,1,5,540,2.02,CSH,9.0 +VTS,1,5,780,4.12,CSH,14.0 +VTS,1,5,480,2.95,CRD,10.5 +VTS,1,5,420,1.51,CSH,7.5 +VTS,1,5,480,1.49,CRD,7.5 +VTS,1,5,720,3.0,CRD,11.5 +VTS,1,5,780,2.36,CRD,11.0 +VTS,1,1,720,1.46,CSH,9.0 +VTS,1,1,420,1.57,CSH,7.5 +VTS,1,1,480,1.64,CSH,8.0 +VTS,1,1,600,2.42,CRD,10.0 +VTS,1,1,300,1.21,CSH,6.5 +VTS,1,1,300,0.99,CSH,6.0 +VTS,1,1,960,3.0,CRD,13.0 +VTS,1,1,540,2.37,CRD,10.5 +VTS,1,1,660,0.68,CSH,8.0 +VTS,1,1,960,3.07,CRD,14.0 +VTS,1,1,1260,8.01,CSH,26.0 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,1,540,1.23,CSH,8.0 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,1440,8.39,CSH,26.5 +VTS,1,1,720,3.37,CRD,12.5 +VTS,2,1,3360,20.18,CSH,52.0 +VTS,1,2,180,0.84,CRD,5.0 +VTS,1,1,1080,4.53,CSH,17.5 +VTS,1,1,600,3.02,CRD,11.0 +VTS,1,1,600,1.99,CSH,9.0 +VTS,1,1,660,1.8,CSH,9.5 +VTS,1,1,660,1.53,CRD,8.5 +VTS,1,1,660,1.89,CRD,10.0 +VTS,1,1,360,1.08,CSH,6.0 +VTS,1,1,780,2.03,CRD,10.5 +VTS,1,1,600,2.22,CRD,9.5 +VTS,1,1,1080,5.43,CRD,19.0 +VTS,1,1,1560,14.1,CRD,40.0 +VTS,1,1,540,1.65,CRD,8.0 +VTS,1,1,1680,6.88,CSH,25.0 +VTS,1,1,540,1.36,CRD,8.0 +VTS,1,1,360,1.07,CRD,6.0 +VTS,1,1,840,1.71,CSH,10.5 +VTS,1,1,660,2.07,CSH,10.0 +VTS,1,1,180,0.92,CRD,5.0 +VTS,1,1,540,2.71,CSH,10.5 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,1,840,3.94,CRD,14.0 +VTS,1,1,960,5.48,CRD,18.5 +VTS,1,1,300,1.06,CSH,6.0 +VTS,2,1,1500,19.36,CRD,52.0 +VTS,1,1,540,1.78,CSH,9.0 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,540,1.6,CRD,8.0 +VTS,1,1,660,2.48,CRD,10.5 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,180,0.56,CSH,4.5 +VTS,1,1,720,1.42,CRD,9.5 +VTS,1,1,600,0.94,CRD,8.0 +VTS,1,1,480,0.61,CSH,6.0 +VTS,1,1,420,0.79,CRD,6.0 +VTS,1,1,420,0.99,CSH,6.0 +VTS,1,1,240,0.46,CRD,4.5 +VTS,1,1,420,1.6,CRD,7.5 +VTS,1,1,900,2.09,CSH,11.5 +VTS,1,1,1200,1.94,CRD,13.0 +VTS,1,1,840,1.03,CSH,9.5 +VTS,1,1,300,0.62,CSH,5.0 +VTS,1,1,840,1.62,CRD,10.0 +VTS,1,1,480,0.97,CRD,7.0 +VTS,1,1,660,1.1,CSH,8.5 +VTS,1,1,1620,7.1,CSH,24.5 +VTS,1,1,840,0.94,CSH,9.0 +VTS,1,1,480,0.68,CSH,6.0 +VTS,1,1,1140,3.75,CSH,16.5 +VTS,1,1,360,0.69,CRD,5.5 +VTS,1,1,720,3.73,CSH,13.5 +VTS,1,1,420,2.45,CRD,9.0 +VTS,1,1,1860,4.42,CRD,21.0 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,720,4.02,CSH,14.5 +VTS,1,1,180,0.44,CRD,4.5 +VTS,1,1,900,1.93,CRD,11.0 +VTS,1,1,660,2.1,CRD,9.5 +VTS,1,1,3120,14.2,CSH,47.0 +VTS,1,1,360,0.98,CSH,6.0 +VTS,1,1,360,0.55,CRD,5.5 +VTS,1,1,540,1.69,CRD,8.0 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,900,2.93,CRD,12.5 +VTS,1,1,1140,4.32,CRD,16.5 +VTS,1,1,1200,9.94,CSH,28.5 +VTS,1,1,120,0.65,CSH,4.0 +VTS,1,1,120,0.45,CSH,3.5 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,660,1.78,CSH,9.5 +VTS,1,1,540,1.65,CRD,8.0 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,1,540,1.62,CSH,8.5 +VTS,1,1,1560,7.21,CSH,24.0 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,600,2.24,CRD,10.0 +VTS,1,1,360,1.52,CRD,7.0 +VTS,1,1,300,0.83,CRD,5.0 +VTS,1,1,1140,2.95,CSH,15.0 +VTS,1,1,1200,8.94,CRD,27.0 +VTS,1,1,780,4.38,CSH,15.5 +VTS,1,1,360,1.9,CRD,8.0 +VTS,1,1,480,0.91,CRD,6.5 +VTS,1,1,480,2.37,CRD,9.0 +VTS,1,1,360,1.99,CRD,7.5 +VTS,1,1,660,2.68,CSH,11.0 +VTS,1,1,420,2.22,CRD,9.0 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,780,2.1,CRD,10.5 +VTS,1,1,420,1.5,CSH,7.5 +VTS,1,1,840,3.43,CSH,14.0 +VTS,1,1,840,3.12,CRD,12.0 +VTS,1,1,540,2.5,CRD,9.5 +VTS,2,1,1260,16.49,CSH,52.0 +VTS,1,1,180,1.18,CSH,5.5 +VTS,1,1,480,1.36,CRD,7.5 +VTS,1,1,900,4.14,CRD,15.0 +VTS,1,1,360,1.25,CSH,6.0 +VTS,1,1,540,0.99,CSH,7.0 +VTS,1,1,1200,10.95,CRD,31.5 +VTS,1,1,1080,7.16,CRD,22.5 +VTS,1,1,360,1.39,CSH,6.5 +VTS,1,1,480,1.54,CRD,7.5 +VTS,1,1,360,0.92,CRD,5.5 +VTS,1,1,120,0.06,CSH,3.0 +VTS,1,1,960,1.47,CRD,11.5 +VTS,1,1,300,1.42,CRD,6.5 +VTS,1,1,540,0.55,CSH,7.0 +VTS,1,1,720,4.25,CRD,14.0 +VTS,1,1,240,0.48,CRD,4.0 +VTS,1,1,660,1.3,CRD,9.0 +VTS,1,1,180,0.93,CRD,5.0 +VTS,5,2,60,0.0,CRD,17.0 +VTS,1,1,660,1.36,CSH,8.5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,300,0.84,CRD,5.5 +VTS,1,1,660,1.15,CSH,8.5 +VTS,1,1,540,1.5,CSH,8.5 +VTS,1,1,900,1.4,CRD,10.5 +VTS,1,1,1380,3.08,CRD,16.0 +VTS,1,1,840,1.06,CRD,9.5 +VTS,1,1,900,2.02,CRD,11.0 +VTS,1,1,660,1.85,CSH,9.5 +VTS,1,1,780,1.09,CRD,9.0 +VTS,1,1,540,1.45,CRD,8.0 +VTS,1,1,540,1.96,CRD,9.0 +VTS,1,1,660,1.66,CRD,9.0 +VTS,1,1,2760,7.77,CRD,32.0 +VTS,1,1,1020,7.31,CRD,23.0 +VTS,1,1,480,2.19,CRD,9.0 +VTS,1,1,540,1.77,CRD,8.5 +VTS,1,1,2100,9.2,CRD,33.0 +VTS,1,1,720,2.57,CSH,11.5 +VTS,1,1,480,1.95,CSH,8.5 +VTS,1,1,300,1.33,CSH,6.5 +VTS,1,1,540,1.57,CSH,8.5 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,1440,9.43,CRD,27.5 +VTS,1,1,600,1.37,CSH,8.0 +VTS,1,1,1320,5.59,CRD,21.0 +VTS,1,1,420,0.95,CSH,6.5 +VTS,1,1,900,3.08,CRD,13.0 +VTS,1,1,420,0.98,CSH,6.5 +VTS,1,1,720,1.4,CRD,9.0 +VTS,1,1,420,0.66,CRD,6.0 +VTS,1,1,180,0.43,CSH,4.0 +VTS,1,1,840,1.31,CRD,10.5 +VTS,1,1,360,0.71,CSH,5.5 +VTS,1,1,960,0.94,CSH,10.5 +VTS,1,1,540,1.58,CRD,8.0 +VTS,1,1,420,0.69,CRD,6.0 +VTS,1,1,960,4.4,CRD,16.5 +VTS,1,1,180,0.51,CRD,4.5 +VTS,1,1,840,1.92,CSH,10.5 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,540,1.31,CRD,8.0 +VTS,1,1,420,1.39,CRD,7.0 +VTS,1,1,540,1.34,CSH,7.5 +VTS,1,1,420,1.16,CSH,6.5 +VTS,1,1,420,1.72,CSH,7.5 +VTS,1,1,1260,6.53,CSH,22.5 +VTS,1,1,840,5.41,CSH,17.0 +VTS,1,1,660,1.93,CSH,9.5 +VTS,1,1,540,1.55,CSH,8.0 +VTS,1,1,840,3.47,CSH,13.5 +VTS,1,1,780,3.07,CRD,11.5 +VTS,1,1,600,2.76,CRD,11.0 +VTS,1,1,900,2.97,CRD,13.5 +VTS,1,1,240,0.99,CRD,5.5 +VTS,1,1,540,0.98,CSH,7.5 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,1,420,1.13,CRD,6.5 +VTS,1,1,420,0.92,CSH,7.0 +VTS,1,1,1560,9.77,CRD,29.5 +VTS,1,1,60,0.02,CSH,2.5 +VTS,1,1,360,2.42,CSH,8.5 +VTS,1,1,720,2.5,CRD,11.0 +VTS,1,1,180,1.12,CSH,5.5 +VTS,1,1,300,0.73,CSH,5.0 +VTS,1,1,480,1.83,CRD,8.0 +VTS,1,1,900,2.24,CRD,12.0 +VTS,1,1,1500,5.74,CSH,21.0 +VTS,1,1,840,3.13,CRD,12.5 +VTS,1,1,780,2.04,CRD,10.5 +VTS,1,1,960,3.1,CRD,14.0 +VTS,1,1,660,2.49,CRD,10.0 +VTS,1,1,780,0.88,CSH,9.0 +VTS,1,1,660,1.64,CSH,9.0 +VTS,1,1,420,0.81,CSH,6.5 +VTS,1,1,660,1.22,CRD,8.5 +VTS,1,1,660,0.74,CSH,8.0 +VTS,1,1,480,1.06,CSH,7.0 +VTS,1,1,300,0.86,CRD,5.0 +VTS,1,1,720,2.53,CRD,10.5 +VTS,1,1,600,1.46,CRD,8.5 +VTS,1,1,1020,2.71,CRD,13.0 +VTS,1,1,1860,7.3,CRD,26.5 +VTS,1,1,1020,2.53,CRD,12.5 +VTS,1,1,0,0.01,CSH,2.5 +VTS,1,1,1860,11.01,CRD,35.0 +VTS,1,1,780,1.6,CRD,10.5 +VTS,1,1,600,1.29,CRD,7.5 +VTS,1,1,1020,4.55,CSH,16.5 +VTS,1,1,300,0.84,CRD,6.0 +VTS,1,1,1020,9.58,CRD,28.0 +VTS,1,1,1320,1.86,CSH,14.0 +VTS,1,1,2400,8.83,CRD,33.0 +VTS,1,1,420,1.35,CRD,7.0 +VTS,1,1,420,1.39,CSH,7.0 +VTS,1,1,660,3.5,CRD,11.5 +VTS,1,1,1140,9.22,CRD,27.5 +VTS,1,1,840,2.57,CSH,11.5 +VTS,1,1,420,1.84,CSH,8.0 +VTS,1,1,180,0.76,CRD,4.5 +VTS,2,1,0,0.1,CSH,52.0 +VTS,1,1,480,2.07,CRD,9.0 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,480,1.12,CRD,7.0 +VTS,1,1,720,2.26,CRD,10.5 +VTS,1,1,120,0.27,CSH,3.0 +VTS,1,1,600,1.25,CRD,7.5 +VTS,1,1,1080,2.75,CRD,14.0 +VTS,1,1,420,1.76,CRD,7.5 +VTS,1,1,480,0.85,CRD,7.0 +VTS,1,1,720,0.82,CSH,8.5 +VTS,1,1,900,1.89,CRD,11.5 +VTS,1,1,900,3.53,CRD,14.0 +VTS,1,1,420,0.81,CSH,6.0 +VTS,1,1,1620,4.2,CSH,20.0 +VTS,1,1,660,2.46,CRD,10.5 +VTS,1,1,600,2.08,CRD,9.5 +VTS,1,1,540,2.48,CSH,9.5 +VTS,1,1,1320,4.71,CSH,19.0 +VTS,1,1,720,3.68,CRD,13.5 +VTS,1,1,660,3.75,CRD,12.5 +VTS,1,1,360,2.3,CRD,8.0 +VTS,1,1,300,1.7,CRD,7.0 +VTS,1,1,360,1.52,CSH,7.0 +VTS,1,1,1380,10.95,CRD,31.5 +VTS,1,1,1200,6.85,CSH,22.0 +VTS,1,1,420,1.83,CRD,8.0 +VTS,1,1,360,1.34,CRD,7.0 +VTS,1,1,300,0.86,CRD,5.5 +VTS,1,1,1020,3.14,CRD,14.0 +VTS,1,1,1080,3.7,CSH,15.0 +VTS,1,1,2040,9.11,CRD,33.5 +VTS,1,1,300,1.39,CSH,6.5 +VTS,1,1,1740,4.97,CSH,21.5 +VTS,1,1,420,0.67,CSH,6.0 +VTS,1,1,480,2.29,CSH,9.0 +VTS,1,1,480,1.59,CSH,8.0 +VTS,1,1,540,2.32,CSH,9.5 +VTS,1,1,1020,1.15,CRD,11.0 +VTS,1,1,780,3.01,CRD,12.5 +VTS,1,1,660,1.54,CSH,9.0 +VTS,1,1,780,2.86,CRD,12.0 +VTS,5,3,840,5.59,CSH,45.0 +VTS,1,1,1680,8.32,CRD,29.0 +VTS,1,1,180,0.36,CSH,4.0 +VTS,1,1,480,2.64,CRD,10.0 +VTS,1,1,1020,3.99,CRD,15.0 +VTS,1,1,540,2.27,CRD,9.0 +VTS,2,1,1620,17.42,CSH,52.0 +VTS,1,1,300,0.86,CSH,6.0 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,480,1.16,CSH,7.0 +VTS,1,1,180,0.48,CRD,4.5 +VTS,1,1,1380,2.31,CRD,15.0 +VTS,1,1,360,0.69,CRD,5.5 +VTS,1,1,1080,2.96,CRD,14.0 +VTS,1,1,420,1.21,CSH,6.5 +VTS,1,1,900,2.48,CSH,12.0 +VTS,1,1,1020,6.0,CRD,20.0 +VTS,1,1,900,8.78,CRD,25.0 +VTS,1,1,300,0.68,CRD,5.5 +VTS,1,1,360,1.73,CRD,7.5 +VTS,1,1,2520,9.85,CRD,34.5 +VTS,1,1,660,1.49,CRD,9.0 +VTS,1,1,780,1.85,CRD,10.5 +VTS,1,1,60,0.0,CRD,2.5 +VTS,1,1,360,1.67,CSH,7.5 +VTS,1,1,660,2.15,CRD,10.0 +VTS,1,1,540,1.86,CRD,8.5 +VTS,1,1,1140,7.13,CRD,22.5 +VTS,1,1,300,1.67,CSH,6.5 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,1,1320,4.24,CRD,17.5 +VTS,1,1,360,0.92,CRD,6.0 +VTS,1,1,120,0.49,CRD,3.5 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,840,2.38,CSH,11.5 +VTS,1,1,540,1.57,CSH,8.5 +VTS,2,1,2220,19.21,CSH,52.0 +VTS,1,1,960,4.55,CSH,15.5 +VTS,1,1,480,1.18,CRD,7.5 +VTS,1,1,360,1.35,CRD,7.0 +VTS,1,1,120,0.96,CRD,4.5 +VTS,1,1,420,1.46,CRD,7.5 +VTS,1,1,240,1.32,CSH,5.5 +VTS,1,1,840,2.27,CRD,11.0 +VTS,1,1,180,0.43,CRD,4.0 +VTS,1,1,900,6.67,CRD,20.5 +VTS,1,1,1020,3.86,CRD,14.5 +VTS,1,1,1200,5.64,CSH,19.5 +VTS,1,1,420,1.19,CRD,7.0 +VTS,1,1,300,1.26,CSH,6.0 +VTS,1,1,840,3.51,CRD,13.0 +VTS,1,1,240,1.26,CSH,5.5 +VTS,1,1,480,1.65,CRD,8.0 +VTS,1,1,300,1.36,CSH,6.5 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,480,1.26,CRD,7.5 +VTS,1,1,360,1.43,CRD,6.5 +VTS,1,1,540,2.14,CRD,9.5 +VTS,1,1,1140,4.29,CRD,15.5 +VTS,1,1,360,0.99,CSH,6.5 +VTS,1,1,1140,4.26,CRD,15.5 +VTS,1,1,480,1.25,CRD,7.5 +VTS,1,1,720,2.06,CSH,10.0 +VTS,1,1,1200,4.62,CRD,16.5 +VTS,1,1,780,2.34,CRD,11.0 +VTS,1,1,1080,3.13,CSH,14.5 +VTS,1,1,360,0.81,CRD,6.0 +VTS,1,1,660,1.46,CSH,9.0 +VTS,1,1,840,2.47,CSH,11.5 +VTS,1,1,720,4.99,CSH,16.5 +VTS,1,1,900,1.3,CRD,10.5 +VTS,1,1,240,0.84,CSH,5.0 +VTS,1,1,540,2.03,CSH,9.0 +VTS,1,1,360,0.86,CSH,6.0 +VTS,1,1,240,1.05,CSH,5.5 +VTS,1,1,120,1.23,CSH,5.5 +VTS,1,1,660,1.7,CRD,8.5 +VTS,1,1,600,1.41,CRD,8.5 +VTS,1,1,660,4.35,CRD,14.0 +VTS,1,1,780,2.59,CRD,11.5 +VTS,1,1,240,1.28,CSH,6.0 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,240,1.06,CSH,5.5 +VTS,1,1,1020,3.35,CRD,14.0 +VTS,1,1,360,1.35,CSH,7.0 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,600,1.21,CSH,8.0 +VTS,1,1,1080,2.09,CRD,13.0 +VTS,1,2,360,1.14,CSH,6.0 +VTS,1,1,480,0.69,CRD,6.5 +VTS,1,1,540,0.79,CSH,7.0 +VTS,1,1,1140,2.26,CRD,13.0 +VTS,1,1,720,0.92,CSH,8.5 +VTS,1,1,1080,1.36,CRD,12.0 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,540,0.77,CRD,7.0 +VTS,1,1,420,0.97,CSH,7.0 +VTS,1,1,840,1.96,CRD,11.0 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,1140,5.99,CRD,19.5 +VTS,1,1,240,1.06,CSH,5.5 +VTS,1,1,420,2.0,CRD,8.0 +VTS,1,1,840,4.24,CSH,15.5 +VTS,1,1,840,2.53,CRD,11.5 +VTS,1,1,540,1.15,CSH,8.0 +VTS,1,1,540,3.04,CSH,11.0 +VTS,1,1,720,4.11,CSH,14.0 +VTS,1,1,240,0.66,CSH,4.5 +VTS,1,1,360,1.32,CSH,7.0 +VTS,1,1,1020,4.92,CSH,17.0 +VTS,1,1,780,0.82,CRD,9.0 +VTS,1,1,420,1.82,CSH,8.0 +VTS,1,1,1020,1.83,CRD,12.0 +VTS,1,1,2280,8.28,CRD,30.5 +VTS,1,1,240,0.97,CSH,5.0 +VTS,1,1,360,1.53,CSH,7.0 +VTS,1,1,240,0.76,CSH,5.0 +VTS,1,1,1200,9.83,CRD,28.0 +VTS,1,1,420,1.69,CRD,7.5 +VTS,1,1,540,2.38,CSH,9.5 +VTS,1,1,720,2.18,CRD,10.0 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,660,2.51,CRD,10.5 +VTS,1,1,480,1.5,CRD,7.5 +VTS,1,1,300,1.17,CSH,6.0 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,420,0.86,CSH,6.0 +VTS,1,1,2340,11.29,CRD,36.5 +VTS,1,1,300,0.79,CSH,5.0 +VTS,1,1,240,0.79,CRD,5.0 +VTS,1,1,360,1.07,CRD,6.0 +VTS,1,1,120,0.45,CSH,3.5 +VTS,1,1,360,1.01,CSH,6.0 +VTS,1,1,120,0.74,CSH,4.5 +VTS,1,1,300,1.39,CRD,6.5 +VTS,1,1,600,3.14,CRD,11.5 +VTS,1,1,540,1.6,CRD,8.5 +VTS,1,2,600,2.97,CSH,11.5 +VTS,1,1,1860,7.21,CSH,26.0 +VTS,1,1,780,2.86,CRD,12.0 +VTS,1,1,720,2.86,CRD,11.5 +VTS,1,1,240,0.8,CRD,5.0 +VTS,1,1,420,0.94,CRD,6.0 +VTS,1,1,300,1.12,CRD,5.5 +VTS,1,1,960,6.01,CSH,19.5 +VTS,1,1,360,1.54,CSH,7.0 +VTS,1,1,300,1.07,CSH,6.0 +VTS,1,1,420,1.93,CSH,8.0 +VTS,1,1,180,0.55,CSH,4.0 +VTS,1,1,1860,1.9,CRD,18.5 +VTS,1,1,960,2.66,CSH,13.0 +VTS,1,1,600,3.38,CRD,11.5 +VTS,1,1,780,2.62,CSH,11.0 +VTS,1,1,120,0.48,CRD,3.5 +VTS,1,1,1200,4.62,CSH,18.0 +VTS,1,1,1260,9.18,CRD,27.5 +VTS,1,1,1140,3.88,CRD,16.5 +VTS,1,1,180,0.44,CRD,4.0 +VTS,1,1,180,0.9,CSH,4.5 +VTS,1,1,780,1.16,CRD,9.5 +VTS,1,1,360,0.96,CSH,6.0 +VTS,1,1,1080,3.53,CSH,15.0 +VTS,1,1,300,1.19,CSH,6.0 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,240,0.4,CSH,4.0 +VTS,1,1,480,1.61,CRD,8.0 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,600,2.48,CRD,10.0 +VTS,1,1,720,2.3,CRD,10.5 +VTS,1,1,600,1.55,CRD,9.0 +VTS,1,1,720,3.08,CSH,12.0 +VTS,1,1,300,1.04,CRD,6.0 +VTS,1,1,600,2.69,CRD,10.5 +VTS,1,1,1020,8.05,CRD,24.0 +VTS,1,1,900,3.89,CSH,14.0 +VTS,1,1,780,1.91,CSH,10.0 +VTS,1,1,780,2.93,CRD,12.0 +VTS,1,1,660,2.43,CSH,10.0 +VTS,1,1,240,1.54,CSH,6.5 +VTS,1,1,600,2.94,CRD,11.0 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,180,0.38,CRD,4.0 +VTS,1,1,960,3.15,CRD,13.5 +VTS,1,1,540,1.48,CSH,8.0 +VTS,1,1,660,2.2,CRD,10.0 +VTS,1,1,540,2.27,CRD,9.5 +VTS,1,1,180,0.78,CRD,4.5 +VTS,1,1,720,2.71,CSH,11.0 +VTS,1,1,780,2.86,CSH,11.5 +VTS,1,1,480,2.01,CSH,8.5 +VTS,1,1,540,1.47,CRD,8.0 +VTS,1,1,1200,3.69,CSH,16.0 +VTS,1,1,1140,4.26,CSH,16.0 +VTS,1,1,660,2.69,CRD,10.5 +VTS,1,1,780,3.99,CRD,13.5 +VTS,1,1,720,3.52,CSH,12.5 +VTS,1,1,60,0.31,CSH,3.0 +VTS,1,1,360,1.34,CRD,6.5 +VTS,1,1,540,1.2,CRD,7.5 +VTS,1,1,120,0.49,CRD,4.0 +VTS,1,1,120,0.47,CSH,3.5 +VTS,1,1,300,0.68,CRD,5.0 +VTS,1,1,900,4.16,CRD,14.5 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,600,1.51,CSH,8.5 +VTS,1,1,900,2.34,CSH,11.0 +VTS,1,1,360,0.79,CSH,5.5 +VTS,1,1,420,2.56,CSH,9.0 +VTS,1,1,360,1.48,CSH,7.0 +VTS,1,1,600,3.57,CRD,12.0 +VTS,1,1,360,1.09,CRD,6.5 +VTS,1,1,120,0.84,CRD,4.5 +VTS,1,1,1200,4.44,CRD,17.0 +VTS,1,1,2280,12.07,CRD,37.0 +VTS,1,1,540,1.17,CRD,7.5 +VTS,1,1,840,2.24,CRD,11.0 +VTS,1,1,360,1.24,CSH,6.0 +VTS,1,1,240,1.29,CRD,6.0 +VTS,1,1,360,2.17,CRD,8.5 +VTS,1,1,180,0.7,CRD,4.0 +VTS,1,1,540,1.47,CRD,8.0 +VTS,1,1,480,1.09,CRD,6.5 +VTS,1,1,1080,3.42,CRD,15.0 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,540,1.98,CSH,8.5 +VTS,1,1,420,1.53,CRD,7.0 +VTS,1,1,180,1.23,CRD,5.5 +VTS,1,1,360,0.59,CRD,5.0 +VTS,1,1,540,1.91,CRD,9.5 +VTS,1,1,300,1.24,CSH,6.5 +VTS,1,1,120,0.32,CRD,3.5 +VTS,1,1,120,0.56,CSH,3.5 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,300,1.24,CRD,6.0 +VTS,1,1,480,1.7,CSH,8.0 +VTS,1,1,360,1.39,CSH,7.0 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,720,1.01,CSH,8.5 +VTS,1,1,540,1.69,CRD,8.0 +VTS,1,1,300,0.52,CRD,5.0 +VTS,1,1,240,0.64,CSH,4.5 +VTS,1,1,360,0.72,CRD,5.5 +VTS,1,1,480,0.79,CRD,6.5 +VTS,1,1,360,1.5,CRD,6.5 +VTS,1,1,360,1.12,CSH,6.5 +VTS,1,1,480,2.02,CRD,8.0 +VTS,1,1,240,0.72,CSH,5.0 +VTS,1,1,1260,0.0,CSH,4.5 +VTS,1,1,600,1.98,CSH,9.0 +VTS,1,1,1080,2.64,CSH,13.0 +VTS,1,1,300,0.68,CSH,5.0 +VTS,1,1,840,1.95,CRD,11.0 +VTS,1,1,480,1.19,CSH,7.0 +VTS,1,1,1380,3.39,CSH,16.5 +VTS,1,1,180,0.44,CSH,4.0 +VTS,1,1,1020,1.65,CSH,11.0 +VTS,1,1,540,0.7,CRD,7.0 +VTS,1,1,360,1.02,CRD,6.5 +VTS,1,1,1320,3.72,CSH,16.0 +VTS,1,1,480,1.88,CRD,8.0 +VTS,1,1,180,0.85,CSH,5.0 +VTS,1,1,540,2.0,CRD,9.0 +VTS,1,1,240,0.83,CSH,5.5 +VTS,1,1,240,0.81,CSH,5.0 +VTS,1,1,600,2.02,CSH,9.0 +VTS,1,1,540,2.08,CRD,9.5 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,1,780,4.01,CSH,14.0 +VTS,1,1,600,1.62,CRD,8.5 +VTS,1,1,960,2.48,CRD,12.5 +VTS,1,1,180,0.58,CRD,4.0 +VTS,1,1,480,1.13,CRD,6.5 +VTS,1,1,780,2.97,CRD,12.5 +VTS,1,1,360,1.25,CSH,7.0 +VTS,1,1,480,2.38,CRD,9.0 +VTS,1,1,60,0.39,CSH,3.0 +VTS,1,1,420,1.42,CRD,7.0 +VTS,1,1,240,0.66,CRD,5.0 +VTS,1,1,720,1.45,CSH,9.0 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,1380,3.41,CSH,17.0 +VTS,1,1,1080,9.47,CSH,27.5 +VTS,1,1,960,8.85,CSH,26.0 +VTS,1,1,660,1.53,CSH,8.5 +VTS,1,1,1380,7.63,CRD,25.5 +VTS,1,1,360,1.34,CRD,6.5 +VTS,1,1,360,2.47,CRD,8.5 +VTS,1,1,540,1.26,CRD,7.0 +VTS,1,1,480,2.24,CRD,9.0 +VTS,1,1,120,0.62,CSH,4.0 +VTS,1,1,960,4.23,CSH,15.5 +VTS,1,1,420,1.35,CSH,7.0 +VTS,1,1,300,1.01,CSH,5.0 +VTS,1,1,1200,7.7,CRD,24.5 +VTS,1,1,240,1.16,CRD,6.0 +VTS,1,1,360,0.82,CSH,6.0 +VTS,1,1,840,4.48,CRD,15.5 +VTS,1,1,1200,4.35,CSH,17.5 +VTS,1,1,1200,5.11,CRD,17.5 +VTS,1,1,600,4.5,CRD,14.5 +VTS,1,1,1080,8.89,CSH,26.0 +VTS,1,1,1200,9.62,CSH,28.0 +VTS,1,1,1260,9.3,CRD,29.0 +VTS,1,1,360,0.99,CRD,5.5 +VTS,1,1,300,0.64,CRD,5.0 +VTS,1,1,1860,9.2,CSH,31.0 +VTS,5,1,60,0.0,CRD,38.0 +VTS,1,1,720,2.08,CSH,10.5 +VTS,1,1,360,0.84,CSH,6.0 +VTS,1,1,960,4.45,CRD,16.5 +VTS,1,1,600,2.85,CRD,11.0 +VTS,1,1,720,2.82,CRD,11.5 +VTS,1,1,540,1.87,CSH,9.0 +VTS,1,1,1020,9.47,CRD,26.5 +VTS,1,1,300,0.56,CSH,5.0 +VTS,1,1,1020,2.11,CRD,11.5 +VTS,1,1,600,1.99,CSH,9.5 +VTS,1,1,420,0.86,CRD,6.0 +VTS,1,1,540,2.6,CRD,10.0 +VTS,1,1,360,0.56,CSH,5.0 +VTS,1,1,360,1.74,CSH,7.0 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,1620,3.97,CRD,18.0 +VTS,1,1,420,1.65,CSH,7.5 +VTS,1,1,1080,3.52,CSH,14.5 +VTS,1,1,840,7.98,CRD,23.0 +VTS,1,1,1020,4.13,CSH,15.5 +VTS,1,1,360,1.5,CRD,7.0 +VTS,1,1,420,1.69,CRD,8.0 +VTS,1,1,540,1.21,CRD,7.5 +VTS,1,1,480,1.67,CRD,8.0 +VTS,1,2,660,3.52,CRD,12.5 +VTS,1,1,1500,9.69,CRD,30.5 +VTS,1,1,1080,4.42,CRD,16.0 +VTS,1,1,900,3.46,CSH,14.0 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,360,1.88,CSH,7.5 +VTS,1,1,300,1.59,CRD,6.5 +VTS,1,1,1020,3.58,CRD,15.0 +VTS,1,1,420,3.0,CSH,10.0 +VTS,1,1,840,1.16,CRD,10.0 +VTS,1,1,1140,5.82,CRD,20.0 +VTS,1,1,600,1.24,CRD,8.0 +VTS,1,1,480,1.45,CRD,7.5 +VTS,1,1,420,1.64,CRD,7.5 +VTS,1,1,1620,11.81,CRD,35.0 +VTS,1,1,900,3.51,CSH,14.0 +VTS,1,1,720,2.46,CRD,10.5 +VTS,1,1,840,2.94,CSH,12.0 +VTS,1,1,660,1.37,CRD,8.5 +VTS,1,1,840,1.66,CRD,10.5 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,840,2.13,CRD,11.0 +VTS,1,1,1020,4.13,CRD,16.0 +VTS,1,1,360,0.71,CRD,6.0 +VTS,1,1,120,0.75,CSH,4.0 +VTS,1,1,1020,5.08,CRD,18.0 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,420,1.1,CRD,6.0 +VTS,1,1,720,1.59,CRD,9.5 +VTS,1,1,540,1.68,CSH,8.0 +VTS,1,1,540,1.24,CRD,7.0 +VTS,1,1,960,4.31,CSH,15.5 +VTS,1,1,360,1.88,CRD,7.5 +VTS,1,1,540,1.74,CSH,8.5 +VTS,1,2,480,0.8,CSH,7.0 +VTS,1,1,660,0.72,CRD,8.0 +VTS,1,1,600,1.65,CRD,8.5 +VTS,1,1,1020,4.82,CRD,16.0 +VTS,1,1,420,0.88,CSH,6.0 +VTS,1,1,180,0.61,CRD,4.0 +VTS,1,1,420,1.93,CSH,8.0 +VTS,1,1,240,0.57,CRD,4.5 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,540,2.27,CRD,9.0 +VTS,1,1,1620,15.96,CRD,44.0 +VTS,1,1,420,2.07,CRD,8.0 +VTS,1,1,600,1.56,CSH,9.0 +VTS,1,1,60,0.42,CSH,3.5 +VTS,1,1,360,1.02,CSH,6.5 +VTS,1,1,540,1.87,CSH,8.5 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,360,1.28,CRD,7.0 +VTS,1,1,720,2.69,CRD,11.5 +VTS,1,1,480,1.11,CRD,7.0 +VTS,1,1,300,1.06,CRD,6.0 +VTS,1,1,600,3.07,CSH,11.0 +VTS,1,1,540,2.28,CSH,9.5 +VTS,1,1,360,0.35,CSH,5.5 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,780,2.98,CSH,12.0 +VTS,1,1,120,0.51,CRD,3.5 +VTS,1,1,1500,9.42,CRD,30.0 +VTS,1,1,120,0.61,CRD,4.0 +VTS,1,1,480,1.01,CSH,7.0 +VTS,1,1,1560,7.7,CRD,25.5 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,360,1.05,CRD,6.0 +VTS,1,1,360,1.22,CSH,6.5 +VTS,1,1,1080,10.67,CRD,30.0 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,840,4.26,CSH,14.5 +VTS,1,1,300,1.09,CRD,6.0 +VTS,1,1,120,0.78,CSH,4.0 +VTS,1,1,480,3.13,CSH,10.5 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,1200,8.66,CRD,26.0 +VTS,1,1,360,1.37,CRD,6.0 +VTS,1,1,420,0.86,CSH,6.0 +VTS,1,1,360,1.67,CSH,6.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,900,3.77,CSH,14.5 +VTS,1,1,300,0.64,CSH,5.0 +VTS,1,1,540,0.63,CSH,6.5 +VTS,1,1,1320,5.99,CSH,20.5 +VTS,1,1,600,1.93,CSH,9.0 +VTS,1,1,660,5.16,CSH,16.5 +VTS,1,1,1860,9.23,CRD,31.0 +VTS,1,1,300,1.52,CRD,6.5 +VTS,1,1,600,1.48,CSH,8.5 +VTS,1,1,660,1.56,CSH,9.0 +VTS,1,1,420,2.08,CRD,8.0 +VTS,1,1,1320,6.94,CRD,22.5 +VTS,1,1,480,0.84,CSH,6.5 +VTS,1,1,1020,5.04,CRD,17.0 +VTS,1,1,1500,1.22,CSH,15.5 +VTS,1,1,1260,4.4,CRD,17.5 +VTS,1,1,900,4.27,CRD,16.0 +VTS,1,1,960,9.96,CRD,28.5 +VTS,1,1,600,2.81,CRD,11.0 +VTS,1,1,360,1.33,CSH,6.5 +VTS,1,1,480,1.68,CRD,8.0 +VTS,1,1,360,1.38,CRD,7.0 +VTS,1,1,240,0.78,CRD,5.0 +VTS,1,1,960,4.21,CSH,15.5 +VTS,1,1,540,4.57,CSH,15.0 +VTS,1,1,1020,1.57,CRD,11.5 +VTS,1,1,600,1.05,CSH,8.0 +VTS,1,1,540,0.85,CSH,6.5 +VTS,1,1,840,2.69,CRD,11.5 +VTS,1,1,720,1.46,CSH,9.5 +VTS,1,1,480,2.04,CSH,8.0 +VTS,1,1,1200,5.1,CSH,19.0 +VTS,1,1,1080,2.18,CSH,12.5 +VTS,1,1,300,0.28,CRD,4.5 +VTS,1,1,600,0.35,CSH,7.0 +VTS,1,1,360,1.44,CSH,6.5 +VTS,1,1,360,0.62,CRD,5.0 +VTS,1,1,360,1.83,CRD,7.5 +VTS,1,1,60,0.52,CRD,3.5 +VTS,1,1,1080,3.26,CRD,14.5 +VTS,1,1,720,2.5,CSH,11.5 +VTS,1,1,300,0.33,CSH,4.0 +VTS,1,1,120,0.27,CSH,3.0 +VTS,1,1,600,2.24,CSH,10.0 +VTS,1,1,540,4.99,CRD,15.5 +VTS,1,1,480,1.18,CRD,6.5 +VTS,1,1,180,0.59,CRD,4.5 +VTS,1,1,1560,10.62,CRD,33.0 +VTS,1,1,780,2.28,CSH,10.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,420,1.47,CRD,7.0 +VTS,1,1,900,2.03,CSH,11.0 +VTS,1,1,360,2.22,CSH,8.0 +VTS,1,1,660,2.63,CRD,10.5 +VTS,1,1,840,3.53,CRD,13.5 +VTS,1,1,960,4.99,CSH,16.5 +VTS,1,1,480,1.8,CSH,8.0 +VTS,1,1,780,2.93,CRD,11.5 +VTS,1,1,360,1.28,CRD,6.5 +VTS,1,1,600,2.29,CRD,9.5 +VTS,1,1,540,3.59,CRD,12.0 +VTS,1,1,120,0.64,CRD,4.0 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,300,0.68,CSH,5.5 +VTS,1,1,360,0.45,CSH,5.5 +VTS,1,1,1200,10.64,CSH,31.0 +VTS,1,1,660,1.23,CRD,8.5 +VTS,1,1,360,2.33,CRD,8.0 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,840,0.97,CRD,9.5 +VTS,1,1,900,2.86,CSH,12.5 +VTS,1,1,1500,11.75,CSH,32.5 +VTS,1,2,780,6.85,CSH,20.0 +VTS,1,1,300,1.02,CRD,6.0 +VTS,1,1,540,1.36,CSH,8.0 +VTS,1,1,120,0.32,CSH,3.5 +VTS,1,1,1200,10.22,CRD,29.0 +VTS,1,1,660,2.48,CRD,10.0 +VTS,1,1,420,0.95,CRD,6.0 +VTS,1,1,420,1.2,CRD,6.5 +VTS,1,1,240,1.15,CRD,5.5 +VTS,1,1,1980,9.99,CRD,34.0 +VTS,1,1,1980,9.9,CSH,32.0 +VTS,1,1,240,0.86,CRD,5.0 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,1,1200,5.64,CRD,19.5 +VTS,1,1,240,0.65,CSH,4.5 +VTS,1,1,360,1.02,CSH,6.0 +VTS,1,1,1080,6.27,CRD,21.0 +VTS,1,1,420,1.22,CRD,7.0 +VTS,1,1,360,0.98,CRD,6.0 +VTS,1,1,660,2.51,CSH,10.5 +VTS,1,1,780,3.26,CRD,12.5 +VTS,1,1,2220,9.68,CRD,34.0 +VTS,1,1,720,2.7,CSH,11.0 +VTS,1,1,780,4.26,CSH,15.0 +VTS,1,1,900,4.42,CRD,15.0 +VTS,1,1,1020,10.77,CRD,30.5 +VTS,1,1,960,6.51,CSH,20.0 +VTS,1,1,960,1.56,CSH,10.5 +VTS,1,1,1800,6.82,CSH,25.0 +VTS,1,1,420,1.73,CRD,8.0 +VTS,1,1,300,0.38,CSH,4.5 +VTS,1,1,780,1.59,CSH,9.5 +VTS,1,1,420,1.11,CSH,6.0 +VTS,1,1,780,2.69,CSH,11.5 +VTS,1,1,780,5.12,CRD,16.5 +VTS,1,1,660,2.49,CRD,10.5 +VTS,1,1,720,2.61,CRD,11.0 +VTS,1,1,540,1.35,CRD,7.5 +VTS,1,1,0,0.22,CSH,3.0 +VTS,1,1,360,1.21,CSH,6.0 +VTS,1,1,660,1.84,CSH,10.0 +VTS,1,1,840,2.48,CRD,11.5 +VTS,1,1,1080,2.38,CSH,14.0 +VTS,1,1,660,2.15,CRD,10.5 +VTS,1,1,360,0.94,CSH,6.5 +VTS,2,1,1980,18.02,CRD,52.0 +VTS,1,1,300,1.38,CRD,6.5 +VTS,1,1,900,2.69,CRD,12.0 +VTS,1,1,780,1.77,CRD,9.5 +VTS,1,1,360,0.77,CSH,6.0 +VTS,1,1,900,1.66,CRD,10.5 +VTS,1,1,600,2.68,CRD,11.0 +VTS,1,1,1800,9.68,CRD,30.5 +VTS,1,1,1080,7.51,CRD,23.5 +VTS,1,1,1080,6.68,CRD,21.5 +VTS,1,1,300,1.46,CRD,6.5 +VTS,1,1,480,2.21,CRD,9.5 +VTS,1,1,840,3.31,CSH,12.5 +VTS,1,1,960,9.38,CSH,26.5 +VTS,1,1,300,1.37,CSH,6.5 +VTS,1,1,600,1.68,CSH,9.0 +VTS,1,1,120,0.46,CSH,4.0 +VTS,1,1,420,1.42,CSH,7.5 +VTS,1,1,660,3.56,CRD,12.5 +VTS,1,1,540,1.05,CSH,7.5 +VTS,1,1,600,1.14,CRD,8.5 +VTS,1,1,240,0.68,CSH,5.0 +VTS,1,1,480,0.76,CSH,6.0 +VTS,1,1,1560,9.25,CRD,29.0 +VTS,1,1,360,1.0,CSH,6.0 +VTS,1,1,480,1.32,CRD,7.0 +VTS,1,1,300,0.64,CRD,5.0 +VTS,1,1,480,1.62,CSH,8.0 +VTS,1,1,540,0.89,CRD,6.5 +VTS,1,1,720,5.35,CRD,17.0 +VTS,1,1,1620,17.0,CRD,46.0 +VTS,1,1,300,1.33,CRD,6.5 +VTS,1,1,420,0.89,CRD,6.0 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,1140,2.8,CRD,14.0 +VTS,1,1,600,0.94,CSH,7.5 +VTS,1,1,420,1.21,CSH,6.5 +VTS,1,1,600,2.92,CRD,11.5 +VTS,1,1,780,3.53,CSH,13.0 +VTS,1,1,1140,3.03,CRD,14.5 +VTS,1,1,840,2.65,CRD,11.5 +VTS,1,1,420,0.96,CRD,6.5 +VTS,1,1,960,2.96,CSH,13.0 +VTS,1,1,300,0.58,CSH,5.0 +VTS,1,1,300,1.46,CSH,6.5 +VTS,1,1,900,4.66,CSH,16.0 +VTS,1,1,180,1.11,CRD,5.0 +VTS,1,1,1200,5.41,CRD,19.5 +VTS,1,1,240,0.66,CRD,5.0 +VTS,1,1,720,3.45,CRD,12.5 +VTS,1,1,180,0.92,CRD,4.5 +VTS,1,1,780,2.13,CRD,10.5 +VTS,1,1,1200,3.01,CRD,15.0 +VTS,1,1,420,0.75,CSH,6.5 +VTS,1,1,720,1.76,CSH,9.5 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,120,0.32,CRD,3.5 +VTS,1,1,420,1.07,CRD,6.5 +VTS,1,1,1200,8.63,CRD,27.0 +VTS,1,1,1320,6.98,CSH,23.5 +VTS,1,1,360,0.89,CSH,6.0 +VTS,2,1,2940,17.18,CSH,52.0 +VTS,2,1,1560,12.23,CRD,52.0 +VTS,1,1,840,2.48,CSH,11.5 +VTS,1,1,1260,4.9,CSH,18.0 +VTS,1,1,840,3.79,CRD,14.0 +VTS,1,1,660,4.49,CSH,14.5 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,2,540,1.29,CSH,7.5 +VTS,1,1,1200,3.23,CSH,15.5 +VTS,1,1,540,1.77,CSH,8.5 +VTS,1,2,240,1.22,CSH,6.0 +VTS,1,1,420,0.83,CSH,6.5 +VTS,1,1,240,0.99,CSH,5.0 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,2,120,0.39,CSH,3.5 +VTS,1,1,300,0.7,CSH,4.5 +VTS,1,1,900,4.49,CRD,16.5 +VTS,1,1,420,1.41,CSH,7.5 +VTS,1,1,1620,3.72,CRD,18.5 +VTS,1,1,900,2.46,CRD,11.5 +VTS,1,1,1140,6.31,CSH,19.5 +VTS,1,1,180,1.43,CSH,6.0 +VTS,1,1,780,4.98,CSH,16.5 +VTS,1,1,300,0.88,CRD,5.0 +VTS,1,1,360,1.06,CRD,6.0 +VTS,1,1,420,1.25,CSH,6.5 +VTS,1,1,720,2.38,CRD,10.5 +VTS,1,1,480,0.88,CSH,6.0 +VTS,1,1,660,5.13,CSH,16.0 +VTS,1,1,660,1.37,CRD,9.0 +VTS,1,1,480,0.86,CRD,6.0 +VTS,1,2,720,1.13,CSH,8.5 +VTS,1,1,540,1.85,CRD,8.0 +VTS,1,1,840,3.51,CSH,13.0 +VTS,1,1,120,0.83,CRD,4.5 +VTS,1,1,360,0.72,CRD,5.5 +VTS,1,1,900,2.43,CRD,11.5 +VTS,1,1,840,2.78,CRD,12.0 +VTS,1,1,420,1.37,CRD,7.0 +VTS,1,1,1020,5.03,CRD,17.0 +VTS,1,1,1020,5.0,CRD,17.5 +VTS,1,1,420,1.57,CSH,7.5 +VTS,1,1,540,1.13,CSH,7.5 +VTS,1,1,540,2.05,CSH,8.5 +VTS,1,1,840,4.11,CRD,15.0 +VTS,1,1,480,1.06,CSH,7.5 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,420,0.85,CSH,6.0 +VTS,1,1,300,0.67,CSH,5.0 +VTS,1,1,900,4.08,CRD,15.0 +VTS,1,1,780,1.8,CRD,10.5 +VTS,1,1,600,1.72,CRD,8.5 +VTS,1,1,540,2.17,CSH,9.0 +VTS,1,1,420,1.82,CSH,8.0 +VTS,1,1,840,3.42,CRD,13.5 +VTS,1,1,1500,9.17,CSH,29.5 +VTS,1,1,240,1.13,CRD,5.5 +VTS,1,2,300,1.0,CSH,5.5 +VTS,1,1,180,0.55,CRD,4.5 +VTS,1,1,1380,2.96,CRD,16.5 +VTS,1,1,1080,3.98,CSH,15.0 +VTS,1,1,900,2.69,CRD,12.5 +VTS,1,1,300,1.06,CSH,5.5 +VTS,1,1,1500,1.39,CRD,11.0 +VTS,1,1,660,4.21,CSH,14.5 +VTS,1,1,420,2.22,CRD,8.5 +VTS,1,1,660,1.2,CRD,8.5 +VTS,1,1,480,1.81,CRD,8.5 +VTS,1,1,540,1.62,CRD,9.0 +VTS,1,1,1260,3.49,CRD,16.0 +VTS,1,1,60,0.5,CRD,3.5 +VTS,1,3,1020,5.97,CRD,19.5 +VTS,2,2,2160,17.23,CSH,52.0 +VTS,1,1,240,0.76,CRD,5.0 +VTS,2,1,1380,17.06,CRD,52.0 +VTS,1,1,1500,7.4,CRD,25.5 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,480,0.73,CSH,6.5 +VTS,1,1,420,0.72,CSH,6.5 +VTS,1,1,840,1.69,CSH,10.5 +VTS,1,1,420,1.97,CSH,8.0 +VTS,1,1,960,2.71,CRD,13.0 +VTS,1,1,900,5.31,CRD,17.5 +VTS,1,1,300,1.31,CRD,6.5 +VTS,1,2,840,2.74,CRD,12.0 +VTS,1,2,900,3.24,CRD,14.0 +VTS,1,1,120,0.76,CSH,4.0 +VTS,1,1,540,1.41,CRD,7.5 +VTS,1,1,360,0.58,CSH,5.5 +VTS,1,1,240,1.09,CSH,5.5 +VTS,1,1,600,1.94,CRD,9.5 +VTS,1,1,540,1.45,CRD,8.0 +VTS,1,2,1140,3.31,CSH,14.5 +VTS,1,1,480,1.16,CRD,7.0 +VTS,1,1,180,0.97,CRD,4.5 +VTS,1,1,1260,3.21,CSH,15.5 +VTS,1,1,960,3.9,CSH,14.5 +VTS,1,1,1380,6.4,CRD,22.0 +VTS,1,1,720,2.04,CRD,9.5 +VTS,1,1,840,3.53,CRD,13.5 +VTS,1,1,540,1.1,CRD,7.0 +VTS,1,1,660,1.26,CSH,8.5 +VTS,1,1,600,3.59,CSH,12.5 +VTS,1,1,960,3.91,CSH,14.5 +VTS,1,1,1080,5.28,CSH,18.5 +VTS,1,1,240,0.73,CRD,5.0 +VTS,1,1,900,2.47,CRD,11.0 +VTS,1,1,720,2.19,CRD,10.0 +VTS,1,1,900,2.47,CSH,12.0 +VTS,1,1,1680,3.73,CRD,19.5 +VTS,1,1,720,1.99,CRD,9.5 +VTS,1,1,480,0.79,CRD,6.5 +VTS,1,1,1560,7.35,CRD,24.5 +VTS,1,1,1080,4.45,CRD,16.5 +VTS,1,3,660,3.22,CSH,12.0 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,480,0.88,CSH,6.5 +VTS,1,2,720,2.76,CSH,11.5 +VTS,1,1,360,0.63,CSH,5.0 +VTS,1,1,720,5.1,CSH,16.0 +VTS,1,1,480,1.67,CRD,8.0 +VTS,1,1,1200,9.27,CSH,28.5 +VTS,1,1,180,0.55,CRD,4.0 +VTS,1,1,600,3.23,CRD,11.0 +VTS,1,1,300,0.69,CSH,5.0 +VTS,1,1,420,1.09,CRD,6.5 +VTS,1,1,420,1.4,CRD,6.5 +VTS,1,1,660,1.57,CRD,9.0 +VTS,1,1,1080,11.58,CRD,32.5 +VTS,1,1,480,1.32,CRD,8.0 +VTS,1,1,660,1.36,CSH,9.0 +VTS,1,1,420,1.63,CRD,7.5 +VTS,1,1,420,0.98,CSH,6.5 +VTS,1,1,240,0.97,CRD,5.0 +VTS,1,1,900,2.39,CRD,11.5 +VTS,1,1,1560,6.4,CSH,23.0 +VTS,1,1,900,2.11,CSH,12.0 +VTS,1,1,360,0.83,CSH,6.0 +VTS,1,1,600,1.22,CSH,8.5 +VTS,1,1,660,2.23,CRD,10.5 +VTS,1,1,900,1.67,CRD,11.0 +VTS,1,1,300,0.7,CRD,5.0 +VTS,1,1,420,3.0,CSH,10.5 +VTS,1,1,840,5.86,CRD,18.0 +VTS,1,2,600,0.51,CSH,7.5 +VTS,1,1,300,1.32,CSH,6.0 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,780,1.44,CSH,10.0 +VTS,1,1,1680,3.55,CRD,19.5 +VTS,1,1,1500,2.76,CRD,16.5 +VTS,1,2,600,1.59,CSH,8.5 +VTS,1,1,240,1.2,CRD,6.0 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,1,540,1.99,CRD,8.5 +VTS,1,2,180,0.41,CSH,4.0 +VTS,1,1,960,2.12,CRD,12.0 +VTS,1,1,360,1.09,CRD,6.5 +VTS,1,1,1200,2.4,CSH,14.0 +VTS,1,1,900,0.86,CRD,10.0 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,780,2.39,CRD,11.0 +VTS,1,1,720,3.22,CRD,12.5 +VTS,1,1,780,2.27,CSH,11.0 +VTS,1,1,540,2.13,CRD,9.0 +VTS,1,1,1860,3.27,CRD,19.5 +VTS,1,1,180,0.56,CRD,4.0 +VTS,1,1,1620,10.65,CRD,33.0 +VTS,1,2,1020,5.63,CRD,19.5 +VTS,1,1,420,1.31,CSH,7.0 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,2,300,1.01,CRD,5.5 +VTS,1,1,1020,1.22,CRD,11.0 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,420,2.09,CRD,8.5 +VTS,1,1,660,3.98,CSH,13.5 +VTS,1,1,480,2.33,CRD,8.5 +VTS,1,1,780,1.51,CSH,10.5 +VTS,1,1,300,1.18,CSH,6.0 +VTS,1,1,600,1.9,CRD,9.0 +VTS,1,1,480,2.26,CSH,8.5 +VTS,1,1,240,0.75,CSH,4.5 +VTS,1,1,1020,2.55,CRD,13.0 +VTS,1,1,1320,2.28,CRD,14.5 +VTS,1,1,180,0.57,CRD,4.0 +VTS,1,1,720,0.79,CRD,7.5 +VTS,1,1,1620,4.83,CRD,20.0 +VTS,1,1,840,2.98,CSH,12.5 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,600,3.22,CSH,12.0 +VTS,1,1,1920,12.06,CRD,35.5 +VTS,1,1,1020,4.2,CRD,15.5 +VTS,1,1,720,5.23,CRD,17.0 +VTS,1,1,1320,2.68,CRD,15.0 +VTS,1,1,120,0.53,CRD,4.0 +VTS,1,1,780,1.97,CSH,10.5 +VTS,1,1,780,1.85,CSH,9.5 +VTS,3,2,1560,14.74,CRD,59.5 +VTS,1,4,360,1.72,CSH,7.0 +VTS,1,1,360,0.64,CRD,5.0 +VTS,1,1,480,1.99,CRD,9.0 +VTS,1,4,900,3.52,CSH,13.5 +VTS,1,1,1320,16.04,CRD,42.5 +VTS,1,1,480,1.17,CRD,7.0 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,1800,8.71,CRD,29.5 +VTS,1,1,840,2.71,CRD,12.0 +VTS,1,1,240,1.06,CSH,5.5 +VTS,1,1,180,1.0,CSH,5.0 +VTS,1,2,420,0.62,CSH,6.0 +VTS,1,1,780,2.12,CSH,10.0 +VTS,1,1,300,2.14,CSH,8.0 +VTS,1,2,600,1.96,CSH,9.0 +VTS,1,2,300,0.73,CSH,5.0 +VTS,1,2,420,1.54,CRD,7.0 +VTS,1,1,480,0.98,CRD,7.0 +VTS,1,1,540,3.65,CRD,12.0 +VTS,1,1,180,0.6,CSH,4.0 +VTS,1,2,840,2.28,CRD,11.0 +VTS,1,1,360,1.02,CSH,5.5 +VTS,1,1,360,0.61,CRD,5.0 +VTS,1,1,240,0.91,CSH,5.0 +VTS,1,1,720,2.53,CRD,11.5 +VTS,1,1,420,0.96,CSH,6.0 +VTS,1,1,780,3.74,CRD,14.0 +VTS,1,1,1380,11.26,CRD,33.0 +VTS,1,1,360,2.12,CSH,8.0 +VTS,1,1,540,2.63,CRD,9.5 +VTS,1,1,360,2.06,CRD,8.0 +VTS,1,1,780,2.11,CRD,10.5 +VTS,1,1,600,1.99,CRD,9.0 +VTS,1,1,300,0.35,CRD,4.5 +VTS,5,1,60,0.0,CRD,6.0 +VTS,1,1,1200,3.43,CRD,15.5 +VTS,1,1,660,2.75,CRD,11.5 +VTS,1,1,900,2.4,CSH,11.5 +VTS,1,1,540,1.66,CRD,8.5 +VTS,1,1,480,1.33,CSH,7.0 +VTS,1,1,120,0.45,CRD,3.5 +VTS,1,1,1440,6.06,CRD,22.0 +VTS,1,1,1200,9.78,CRD,28.5 +VTS,1,1,420,0.86,CRD,6.5 +VTS,1,1,420,0.79,CSH,6.0 +VTS,1,1,960,3.1,CRD,13.0 +VTS,1,1,3600,7.68,CSH,38.5 +VTS,1,1,480,2.12,CSH,8.5 +VTS,1,1,600,1.92,CRD,9.5 +VTS,1,1,480,1.6,CSH,8.0 +VTS,2,1,1440,19.4,CRD,52.0 +VTS,1,1,480,2.29,CRD,9.5 +VTS,1,2,660,2.75,CSH,11.0 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,1560,4.18,CRD,19.0 +VTS,1,1,360,1.02,CSH,6.0 +VTS,1,1,960,1.41,CSH,10.5 +VTS,1,2,300,0.55,CRD,4.5 +VTS,1,1,360,1.11,CRD,6.5 +VTS,1,1,1020,4.18,CSH,16.0 +VTS,1,1,1080,2.91,CRD,14.0 +VTS,1,1,480,1.53,CSH,8.0 +VTS,1,2,1080,3.59,CRD,15.5 +VTS,1,1,420,1.06,CRD,6.0 +VTS,1,2,1200,6.41,CRD,22.0 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,1080,1.4,CSH,12.0 +VTS,1,1,1020,3.37,CRD,14.5 +VTS,1,2,3120,11.93,CSH,43.5 +VTS,1,1,180,0.6,CSH,4.0 +VTS,1,1,660,2.02,CRD,9.5 +VTS,1,1,300,0.72,CSH,5.0 +VTS,1,1,300,0.47,CRD,5.0 +VTS,1,1,720,3.52,CRD,13.0 +VTS,1,2,420,1.51,CSH,7.0 +VTS,1,1,420,1.72,CSH,8.0 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,2,420,1.91,CSH,8.0 +VTS,1,5,60,0.0,CRD,2.5 +VTS,1,1,480,1.31,CRD,7.0 +VTS,1,1,480,1.03,CRD,6.5 +VTS,1,1,1560,3.33,CRD,17.5 +VTS,1,1,540,0.88,CRD,7.5 +VTS,1,1,900,3.14,CSH,13.0 +VTS,1,1,660,1.8,CSH,9.0 +VTS,1,1,60,0.41,CRD,3.5 +VTS,1,1,1620,7.87,CSH,26.0 +VTS,1,1,600,3.23,CRD,11.5 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,360,1.59,CSH,7.0 +VTS,1,1,480,1.44,CRD,7.5 +VTS,3,1,0,0.0,CSH,20.0 +VTS,1,1,540,1.74,CRD,8.5 +VTS,1,1,480,0.89,CRD,6.5 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,540,2.67,CRD,10.0 +VTS,1,1,1500,7.15,CSH,26.0 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,540,0.9,CRD,7.5 +VTS,1,1,420,0.97,CSH,6.5 +VTS,1,1,300,0.85,CSH,5.0 +VTS,1,1,1020,5.07,CRD,17.0 +VTS,1,1,360,1.46,CSH,6.5 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,3,1020,2.57,CSH,14.0 +VTS,1,2,420,1.58,CSH,7.5 +VTS,1,3,960,3.56,CRD,15.0 +VTS,1,1,420,1.75,CRD,8.0 +VTS,1,1,360,0.89,CSH,6.0 +VTS,1,1,480,1.14,CSH,7.0 +VTS,1,4,300,0.8,CSH,5.5 +VTS,1,1,180,1.11,CSH,5.5 +VTS,1,1,660,1.68,CSH,9.0 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,360,0.96,CRD,6.5 +VTS,1,1,300,0.99,CSH,6.0 +VTS,1,1,120,0.23,CSH,3.0 +VTS,1,4,1440,2.86,CSH,16.5 +VTS,1,2,420,2.0,CRD,8.5 +VTS,1,3,300,0.72,CRD,5.5 +VTS,1,1,300,1.26,CSH,6.0 +VTS,1,1,540,1.79,CRD,8.5 +VTS,1,1,420,1.91,CRD,8.5 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,1260,4.59,CSH,17.5 +VTS,1,1,120,0.39,CSH,4.0 +VTS,1,1,1560,3.09,CRD,17.0 +VTS,1,2,840,2.94,CSH,12.5 +VTS,1,2,780,1.69,CSH,10.0 +VTS,1,1,540,1.2,CSH,7.5 +VTS,1,4,180,0.38,CSH,4.0 +VTS,1,1,660,2.88,CSH,10.0 +VTS,1,1,960,2.92,CSH,13.0 +VTS,1,1,420,1.23,CSH,6.5 +VTS,1,1,480,1.64,CSH,8.5 +VTS,1,1,1020,2.3,CRD,12.5 +VTS,1,1,960,2.59,CSH,12.5 +VTS,1,1,480,0.89,CRD,6.5 +VTS,1,1,600,1.09,CRD,8.0 +VTS,1,1,600,2.02,CSH,9.0 +VTS,1,1,600,1.29,CRD,7.5 +VTS,1,1,420,1.29,CSH,7.0 +VTS,1,1,960,5.22,CRD,16.5 +VTS,1,1,2160,19.35,CSH,54.0 +VTS,1,2,420,1.46,CSH,7.5 +VTS,1,1,600,2.88,CRD,11.0 +VTS,1,1,1620,6.44,CRD,24.5 +VTS,1,1,840,3.61,CRD,12.5 +VTS,1,1,600,4.5,CRD,14.5 +VTS,1,1,840,7.87,CSH,22.5 +VTS,1,2,600,1.78,CSH,9.5 +VTS,1,1,360,1.73,CSH,7.5 +VTS,1,1,1740,6.82,CRD,25.5 +VTS,1,2,720,1.13,CSH,8.5 +VTS,1,1,300,0.7,CSH,5.0 +VTS,1,1,240,0.75,CSH,5.0 +VTS,1,1,840,2.32,CRD,11.5 +VTS,1,1,480,1.36,CRD,8.0 +VTS,1,1,720,3.48,CSH,12.5 +VTS,1,1,660,3.22,CSH,12.5 +VTS,1,1,600,2.34,CSH,10.5 +VTS,1,2,660,4.13,CRD,14.0 +VTS,1,1,600,1.45,CSH,8.5 +VTS,1,3,780,3.52,CRD,13.5 +VTS,1,1,480,2.53,CRD,9.5 +VTS,1,2,240,0.22,CSH,4.0 +VTS,1,1,660,2.34,CSH,10.0 +VTS,1,1,480,1.6,CRD,7.5 +VTS,1,1,1080,4.46,CSH,17.0 +VTS,1,1,300,1.59,CRD,6.5 +VTS,1,1,900,2.25,CRD,12.0 +VTS,1,1,720,1.64,CRD,10.0 +VTS,1,1,120,0.98,CRD,4.5 +VTS,1,1,480,1.58,CSH,8.0 +VTS,1,1,420,2.47,CRD,9.5 +VTS,1,1,600,1.97,CRD,9.0 +VTS,1,1,480,1.0,CSH,7.5 +VTS,1,1,660,1.94,CRD,9.5 +VTS,1,1,480,1.9,CSH,8.5 +VTS,1,1,1260,3.39,CRD,15.5 +VTS,1,1,1200,4.93,CRD,19.5 +VTS,1,1,480,1.41,CRD,7.5 +VTS,1,1,480,0.91,CRD,7.0 +VTS,1,1,300,0.87,CSH,5.0 +VTS,1,1,480,1.23,CSH,7.0 +VTS,1,1,1020,3.04,CSH,14.0 +VTS,1,1,780,2.49,CRD,11.5 +VTS,1,1,660,1.69,CRD,9.0 +VTS,1,1,180,0.6,CRD,4.0 +VTS,1,1,540,1.18,CRD,7.0 +VTS,1,1,240,1.14,CSH,6.0 +VTS,1,1,660,2.05,CRD,10.0 +VTS,1,2,300,1.25,CSH,6.5 +VTS,1,1,600,1.47,CSH,8.5 +VTS,1,1,540,2.22,CRD,9.0 +VTS,1,1,420,1.71,CSH,7.5 +VTS,1,1,1140,10.44,CSH,30.5 +VTS,1,1,1320,5.1,CSH,19.5 +VTS,1,2,660,2.39,CSH,10.5 +VTS,1,1,1200,4.11,CSH,17.0 +VTS,1,2,360,0.98,CSH,6.0 +VTS,1,1,420,0.91,CRD,5.5 +VTS,1,1,780,1.31,CRD,9.5 +VTS,1,2,720,1.09,CSH,8.5 +VTS,1,1,1200,1.96,CSH,13.5 +VTS,1,1,300,1.07,CRD,6.0 +VTS,1,2,540,0.62,CRD,7.0 +VTS,1,1,720,1.17,CRD,9.0 +VTS,1,2,1140,1.87,CSH,13.0 +VTS,1,1,1560,6.19,CRD,23.0 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,1,780,8.11,CRD,23.0 +VTS,1,1,960,4.99,CSH,18.0 +VTS,1,1,480,1.7,CRD,8.0 +VTS,1,1,840,2.76,CSH,12.5 +VTS,1,1,180,0.83,CRD,4.5 +VTS,1,1,600,1.73,CRD,8.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,360,1.11,CRD,6.5 +VTS,1,1,300,1.22,CSH,5.5 +VTS,1,1,960,3.5,CRD,14.0 +VTS,1,1,300,1.05,CRD,6.0 +VTS,1,1,1140,3.42,CSH,15.0 +VTS,1,1,960,2.61,CSH,13.0 +VTS,1,1,600,1.28,CRD,8.5 +VTS,1,1,600,1.5,CRD,8.0 +VTS,1,1,300,1.91,CRD,7.5 +VTS,1,1,840,8.48,CRD,24.5 +VTS,1,1,720,2.26,CRD,10.5 +VTS,1,1,1020,4.38,CRD,16.0 +VTS,1,1,60,0.34,CSH,3.0 +VTS,1,1,600,1.76,CRD,9.0 +VTS,2,2,2820,16.78,CRD,52.0 +VTS,1,1,720,4.07,CRD,13.0 +VTS,1,2,840,4.52,CSH,16.0 +VTS,1,1,360,2.51,CSH,9.5 +VTS,1,2,660,2.78,CSH,11.0 +VTS,1,2,300,1.11,CSH,6.0 +VTS,1,2,300,1.25,CRD,6.0 +VTS,1,2,1800,5.64,CRD,23.5 +VTS,1,1,480,1.01,CRD,7.0 +VTS,1,1,840,2.07,CRD,11.5 +VTS,1,1,960,3.13,CSH,14.0 +VTS,1,1,840,3.68,CRD,14.0 +VTS,1,1,1140,2.13,CRD,12.5 +VTS,1,2,780,2.15,CSH,10.5 +VTS,1,1,480,1.0,CRD,7.0 +VTS,1,1,1080,8.81,CRD,26.0 +VTS,1,1,720,2.43,CSH,10.5 +VTS,1,1,1140,3.66,CRD,16.0 +VTS,1,3,600,2.93,CSH,10.5 +VTS,1,1,420,1.49,CSH,7.5 +VTS,1,1,420,1.78,CSH,8.0 +VTS,1,1,420,1.17,CSH,7.0 +VTS,1,1,720,1.88,CSH,9.5 +VTS,1,2,60,0.39,CRD,3.5 +VTS,1,1,720,2.61,CSH,11.0 +VTS,1,1,300,0.59,CSH,5.0 +VTS,1,4,540,1.51,CSH,7.5 +VTS,1,1,840,2.97,CRD,12.0 +VTS,1,1,180,0.54,CSH,4.5 +VTS,1,1,540,1.46,CRD,8.0 +VTS,1,1,840,1.23,CRD,10.0 +VTS,1,1,1020,2.49,CRD,12.5 +VTS,1,1,1200,2.21,CRD,13.5 +VTS,1,1,360,1.51,CSH,7.0 +VTS,1,1,840,2.15,CSH,10.5 +VTS,1,1,360,1.08,CSH,6.5 +VTS,1,1,1380,6.85,CRD,23.0 +VTS,1,1,780,3.77,CRD,13.5 +VTS,1,1,1020,1.97,CRD,12.5 +VTS,1,1,660,2.05,CSH,9.5 +VTS,1,1,420,0.96,CSH,6.5 +VTS,1,2,420,1.36,CSH,7.5 +VTS,1,2,840,2.89,CSH,13.0 +VTS,1,1,420,1.86,CSH,8.5 +VTS,1,1,900,6.49,CSH,20.0 +VTS,1,1,360,1.23,CRD,6.0 +VTS,1,1,780,4.99,CRD,16.0 +VTS,1,1,240,0.91,CSH,5.0 +VTS,1,1,1020,1.38,CRD,12.0 +VTS,1,1,300,1.23,CSH,6.0 +VTS,1,1,480,1.37,CSH,8.0 +VTS,1,1,660,1.66,CRD,9.5 +VTS,1,1,840,4.35,CSH,14.5 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,840,2.09,CSH,10.5 +VTS,1,1,240,1.08,CRD,5.5 +VTS,1,1,420,1.41,CRD,7.0 +VTS,1,1,960,3.92,CSH,15.0 +VTS,1,2,960,2.44,CSH,12.5 +VTS,1,1,600,2.59,CRD,10.5 +VTS,1,1,120,0.38,CRD,3.5 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,420,1.09,CRD,6.5 +VTS,1,2,240,0.44,CSH,4.5 +VTS,2,3,2040,16.85,CRD,52.0 +VTS,1,1,1080,9.9,CRD,28.0 +VTS,1,1,120,0.56,CSH,4.0 +VTS,1,1,480,0.9,CSH,6.5 +VTS,1,1,660,3.39,CRD,13.0 +VTS,1,1,540,1.04,CRD,7.5 +VTS,1,2,600,2.0,CSH,9.5 +VTS,1,1,1020,6.78,CRD,21.5 +VTS,1,1,840,2.92,CSH,12.5 +VTS,1,1,1680,5.87,CSH,24.0 +VTS,1,1,420,1.63,CSH,8.0 +VTS,1,1,900,3.74,CSH,13.5 +VTS,1,2,360,1.27,CSH,6.5 +VTS,1,1,840,3.83,CRD,13.5 +VTS,1,1,720,1.09,CRD,8.5 +VTS,1,1,360,0.74,CSH,5.5 +VTS,1,1,300,1.68,CRD,7.0 +VTS,1,2,780,2.03,CSH,10.0 +VTS,1,2,480,1.82,CSH,7.5 +VTS,1,3,1620,3.9,CSH,20.0 +VTS,1,2,360,1.07,CSH,6.0 +VTS,1,2,480,1.57,CRD,8.0 +VTS,1,1,1140,7.42,CRD,23.0 +VTS,1,1,300,0.87,CSH,5.0 +VTS,1,1,480,1.32,CRD,7.5 +VTS,1,1,1140,3.51,CRD,15.0 +VTS,1,1,300,0.73,CSH,5.0 +VTS,1,1,360,0.43,CSH,5.5 +VTS,1,1,660,1.65,CRD,9.0 +VTS,1,2,420,0.68,CSH,6.0 +VTS,1,2,1860,3.09,CRD,20.0 +VTS,1,1,1860,4.63,CSH,22.5 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,1080,2.26,CRD,12.5 +VTS,1,1,720,1.47,CSH,9.0 +VTS,1,1,780,3.19,CRD,12.5 +VTS,1,1,780,2.12,CRD,10.5 +VTS,1,2,840,5.12,CRD,16.5 +VTS,1,1,420,0.82,CSH,6.0 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,4,540,1.31,CRD,8.0 +VTS,1,1,1380,7.13,CRD,23.5 +VTS,1,1,480,1.85,CRD,8.0 +VTS,1,1,900,2.98,CRD,13.0 +VTS,1,1,360,1.42,CRD,6.5 +VTS,1,1,300,0.85,CRD,5.5 +VTS,1,2,300,1.13,CSH,6.0 +VTS,1,1,540,1.17,CRD,7.5 +VTS,1,1,360,0.88,CRD,6.0 +VTS,1,1,180,0.62,CSH,4.0 +VTS,1,2,900,1.93,CRD,11.0 +VTS,1,1,420,1.31,CRD,7.0 +VTS,1,1,780,2.43,CRD,11.0 +VTS,1,2,480,0.59,CSH,6.5 +VTS,1,1,840,3.39,CSH,14.0 +VTS,1,1,360,1.17,CRD,6.5 +VTS,1,2,360,1.23,CSH,7.0 +VTS,1,1,1680,4.9,CSH,21.5 +VTS,1,2,900,2.31,CSH,12.0 +VTS,1,1,360,0.92,CRD,6.0 +VTS,1,1,1200,6.31,CSH,20.5 +VTS,1,1,420,1.97,CRD,8.0 +VTS,1,1,300,1.43,CRD,6.5 +VTS,1,2,360,1.02,CRD,6.0 +VTS,1,2,780,3.02,CRD,12.0 +VTS,1,1,420,1.21,CRD,6.5 +VTS,1,2,780,2.58,CSH,11.0 +VTS,1,1,840,1.66,CRD,10.5 +VTS,1,1,540,1.85,CSH,8.5 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,1560,5.96,CRD,22.5 +VTS,1,1,300,1.21,CRD,5.5 +VTS,1,1,360,0.83,CRD,5.5 +VTS,1,1,900,3.34,CSH,13.5 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,960,6.36,CRD,20.5 +VTS,1,1,1260,2.15,CRD,14.0 +VTS,1,1,600,2.09,CRD,9.0 +VTS,1,1,240,0.73,CSH,5.0 +VTS,1,1,540,4.27,CRD,13.5 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,1200,4.68,CRD,17.5 +VTS,1,1,120,0.46,CRD,3.5 +VTS,1,1,420,0.58,CRD,6.0 +VTS,1,1,600,2.22,CRD,10.0 +VTS,1,1,1140,2.9,CRD,15.0 +VTS,1,1,1080,6.13,CRD,21.0 +VTS,1,1,300,0.71,CRD,5.5 +VTS,1,1,360,0.63,CSH,5.5 +VTS,2,1,3720,22.96,CRD,52.0 +VTS,1,1,600,2.56,CRD,10.5 +VTS,1,1,240,1.01,CSH,5.0 +VTS,1,1,480,1.94,CSH,8.0 +VTS,1,2,540,1.28,CSH,7.5 +VTS,1,1,1740,7.59,CRD,26.5 +VTS,1,1,360,0.92,CSH,6.0 +VTS,1,1,480,1.49,CSH,7.0 +VTS,1,1,180,0.23,CSH,4.0 +VTS,1,1,1140,4.83,CRD,18.0 +VTS,1,1,720,1.59,CRD,9.5 +VTS,1,1,540,1.29,CRD,8.0 +VTS,1,1,420,1.28,CRD,7.0 +VTS,1,1,960,2.6,CRD,13.0 +VTS,1,1,360,1.06,CRD,6.0 +VTS,1,1,840,1.28,CRD,10.0 +VTS,1,1,1020,2.31,CRD,13.0 +VTS,1,1,1020,2.7,CRD,13.5 +VTS,1,1,1140,4.01,CRD,16.5 +VTS,1,1,360,1.55,CRD,7.0 +VTS,1,1,540,1.4,CSH,8.0 +VTS,1,1,180,0.43,CRD,4.0 +VTS,1,1,540,2.34,CSH,9.5 +VTS,2,1,1860,18.68,CRD,52.0 +VTS,1,1,1620,3.11,CSH,18.0 +VTS,1,1,300,0.62,CRD,5.5 +VTS,1,1,660,2.17,CSH,10.0 +VTS,1,1,1080,3.85,CRD,16.0 +VTS,1,1,1380,3.21,CSH,16.5 +VTS,1,3,360,1.03,CSH,6.0 +VTS,1,1,360,1.03,CRD,6.5 +VTS,1,1,720,1.82,CRD,10.0 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,780,1.74,CSH,9.5 +VTS,1,1,240,0.72,CRD,5.0 +VTS,1,1,720,2.68,CSH,11.0 +VTS,1,1,960,2.21,CSH,11.5 +VTS,1,1,1020,8.11,CRD,24.5 +VTS,1,1,60,0.35,CRD,3.5 +VTS,1,1,420,1.64,CRD,7.5 +VTS,1,1,480,1.75,CSH,8.5 +VTS,1,1,540,2.28,CSH,9.0 +VTS,2,1,1980,18.91,CRD,52.0 +VTS,1,1,840,4.27,CRD,14.5 +VTS,1,1,420,1.32,CRD,7.0 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,1,600,1.83,CSH,8.5 +VTS,1,1,1020,2.13,CSH,12.5 +VTS,1,1,900,3.57,CRD,13.0 +VTS,1,1,1920,20.87,CRD,56.5 +VTS,5,1,0,0.0,CRD,52.0 +VTS,1,1,1680,11.05,CRD,34.5 +VTS,2,1,2040,16.61,CSH,52.0 +VTS,1,1,420,1.47,CSH,6.5 +VTS,1,1,1680,10.29,CSH,31.0 +VTS,5,1,0,0.0,CRD,52.0 +VTS,1,1,1080,5.81,CRD,20.0 +VTS,1,2,600,3.79,CRD,13.0 +VTS,1,1,300,0.92,CRD,6.0 +VTS,1,1,1080,8.83,CRD,25.0 +VTS,1,1,780,3.45,CRD,12.5 +VTS,1,1,120,0.35,CRD,4.0 +VTS,1,3,720,2.26,CSH,11.0 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,1,480,2.96,CRD,10.0 +VTS,1,1,660,1.69,CRD,8.5 +VTS,1,1,480,0.37,CRD,6.0 +VTS,1,1,480,1.32,CRD,7.0 +VTS,1,1,180,0.45,CSH,4.0 +VTS,2,1,1380,18.91,CRD,52.0 +VTS,1,1,1740,9.96,CRD,32.0 +VTS,1,1,720,3.9,CSH,14.0 +VTS,1,1,240,1.09,CRD,6.0 +VTS,1,1,1440,9.16,CRD,29.5 +VTS,1,1,600,2.4,CRD,10.0 +VTS,1,1,1320,2.64,CRD,15.0 +VTS,1,1,420,2.02,CSH,8.5 +VTS,1,1,1440,3.9,CSH,18.5 +VTS,1,1,480,1.73,CSH,8.0 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,1680,8.79,CSH,29.0 +VTS,1,1,180,0.51,CRD,4.0 +VTS,1,1,540,1.97,CSH,9.5 +VTS,1,1,840,4.17,CSH,14.5 +VTS,1,1,780,3.06,CSH,12.0 +VTS,1,1,540,1.09,CSH,7.5 +VTS,1,1,900,10.06,CRD,28.0 +VTS,1,1,360,2.08,CRD,7.5 +VTS,1,1,1080,0.95,CRD,11.5 +VTS,1,1,1200,2.18,CRD,13.5 +VTS,1,1,1080,2.4,CRD,13.0 +VTS,1,1,420,1.54,CSH,7.5 +VTS,1,1,1080,1.6,CRD,12.5 +VTS,1,1,1320,6.64,CRD,23.0 +VTS,1,1,300,0.61,CRD,5.0 +VTS,1,1,780,2.48,CRD,11.5 +VTS,1,1,1020,3.62,CRD,15.5 +VTS,1,1,1500,3.5,CRD,18.0 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,1080,3.08,CSH,14.0 +VTS,1,1,480,1.55,CSH,7.5 +VTS,1,1,1740,24.39,CRD,64.0 +VTS,1,1,600,1.78,CSH,9.0 +VTS,5,1,0,0.0,CRD,57.3 +VTS,2,1,1140,13.51,CRD,52.0 +VTS,2,1,1740,7.91,CSH,52.0 +VTS,1,1,960,5.93,CSH,19.5 +VTS,1,1,300,0.5,CSH,5.0 +VTS,1,2,360,1.36,CRD,7.0 +VTS,1,2,360,1.29,CRD,6.5 +VTS,1,1,480,1.91,CSH,8.5 +VTS,1,1,900,4.04,CRD,15.0 +VTS,1,1,1140,4.84,CRD,18.5 +VTS,1,2,1140,5.62,CSH,19.0 +VTS,1,2,360,0.93,CSH,6.0 +VTS,1,2,1200,3.6,CRD,16.0 +VTS,1,1,540,2.2,CRD,9.0 +VTS,1,2,1200,4.09,CRD,17.0 +VTS,1,1,840,3.12,CRD,12.5 +VTS,1,1,1260,6.82,CRD,24.0 +VTS,1,1,1020,1.8,CRD,12.0 +VTS,1,1,1260,5.12,CRD,20.5 +VTS,1,1,720,2.49,CRD,11.5 +VTS,1,1,540,2.57,CSH,10.5 +VTS,1,3,480,1.5,CRD,7.5 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,3,1200,2.87,CSH,14.5 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,2,1260,2.92,CRD,15.0 +VTS,1,1,420,2.12,CSH,9.0 +VTS,1,1,1140,7.63,CRD,23.0 +VTS,1,1,420,1.63,CRD,7.5 +VTS,1,1,1380,4.83,CRD,19.5 +VTS,1,2,1440,10.57,CRD,32.0 +VTS,1,1,360,2.14,CRD,8.0 +VTS,1,1,660,6.75,CSH,20.0 +VTS,1,1,1380,5.31,CSH,17.0 +VTS,1,1,300,0.94,CSH,6.0 +VTS,1,1,960,1.54,CSH,11.0 +VTS,1,1,660,2.77,CRD,11.0 +VTS,2,1,1440,10.84,CSH,52.0 +VTS,1,1,900,4.22,CSH,16.0 +VTS,1,1,1920,14.95,CRD,41.5 +VTS,1,1,1140,6.48,CRD,21.5 +VTS,1,1,900,4.47,CRD,16.5 +VTS,1,1,480,2.03,CRD,8.5 +VTS,1,1,300,0.64,CSH,5.0 +VTS,2,1,3900,17.55,CSH,52.0 +VTS,2,1,4560,33.97,CSH,52.0 +VTS,2,1,3000,17.92,CRD,52.0 +VTS,1,1,2100,11.11,CRD,38.5 +VTS,1,1,600,1.81,CRD,8.5 +VTS,1,1,600,1.96,CRD,9.5 +VTS,5,1,0,0.0,CRD,57.0 +VTS,5,1,0,0.0,CRD,52.0 +VTS,1,1,600,1.66,CSH,9.0 +VTS,1,1,1200,2.03,CRD,14.0 +VTS,1,1,1800,1.2,CSH,17.5 +VTS,1,1,780,2.51,CRD,11.5 +VTS,6,1,0,0.0,CSH,2.5 +VTS,1,1,1560,7.69,CRD,28.0 +VTS,1,1,900,1.17,CSH,10.0 +VTS,1,1,480,1.95,CSH,9.0 +VTS,1,1,60,0.5,CSH,3.5 +VTS,1,1,1140,5.02,CSH,17.0 +VTS,1,1,540,4.31,CSH,13.5 +VTS,2,1,2040,13.66,CRD,52.0 +VTS,1,1,600,4.51,CSH,15.0 +VTS,1,1,1620,11.69,CSH,36.0 +VTS,1,1,660,2.69,CRD,11.0 +VTS,5,1,0,0.0,CRD,100.0 +VTS,1,1,240,0.79,CRD,5.0 +VTS,5,3,0,0.0,CRD,10.0 +VTS,5,1,0,0.0,CRD,57.0 +VTS,1,1,180,1.24,CRD,5.5 +VTS,1,1,2580,12.16,CRD,41.0 +VTS,2,1,1260,15.67,CSH,52.0 +VTS,1,1,480,0.62,CRD,6.5 +VTS,1,1,1380,4.1,CSH,18.0 +VTS,1,1,1380,14.36,CSH,40.5 +VTS,2,1,1260,14.09,CRD,52.0 +VTS,1,1,720,2.69,CRD,11.0 +VTS,1,1,180,0.07,CSH,3.0 +VTS,1,1,1140,2.71,CRD,14.5 +VTS,1,1,120,0.63,CRD,4.5 +VTS,1,1,540,0.77,CRD,7.0 +VTS,1,1,480,0.91,CSH,6.5 +VTS,1,1,1200,8.76,CRD,26.5 +VTS,1,1,1260,5.8,CRD,21.0 +VTS,1,1,540,1.12,CSH,7.5 +VTS,1,1,0,0.03,CSH,2.5 +VTS,1,1,480,1.68,CRD,8.5 +VTS,1,1,360,1.15,CRD,6.0 +VTS,1,1,1080,2.5,CRD,13.5 +VTS,1,1,960,1.62,CRD,11.5 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,600,2.27,CSH,9.5 +VTS,1,1,780,1.99,CRD,10.5 +VTS,1,1,1260,12.21,CSH,34.5 +VTS,2,1,2160,17.68,CRD,52.0 +VTS,1,1,720,2.4,CSH,11.0 +VTS,2,1,1560,13.12,CRD,52.0 +VTS,5,1,60,0.0,CRD,57.5 +VTS,5,1,0,0.0,CRD,57.0 +VTS,1,1,0,0.01,CSH,2.5 +VTS,1,1,600,3.34,CRD,12.0 +VTS,1,1,360,0.76,CSH,6.0 +VTS,1,1,1140,8.04,CRD,25.0 +VTS,1,1,480,2.53,CSH,10.0 +VTS,1,1,1560,2.66,CSH,16.5 +VTS,1,1,840,2.51,CSH,11.5 +VTS,1,1,3120,12.66,CSH,45.0 +VTS,1,1,720,2.73,CRD,11.5 +VTS,5,3,0,0.0,CRD,95.0 +VTS,5,1,0,0.0,CRD,57.0 +VTS,1,1,480,1.97,CRD,9.0 +VTS,1,1,300,1.13,CSH,6.0 +VTS,4,1,660,2.43,CSH,10.0 +VTS,2,1,1440,11.73,CRD,52.0 +VTS,1,1,1800,15.56,CRD,43.5 +VTS,1,1,1680,19.51,CRD,53.0 +VTS,2,1,1800,18.29,CRD,52.0 +VTS,1,1,1080,2.52,CRD,13.5 +VTS,5,1,0,0.7,CRD,155.55 +VTS,2,1,2520,19.99,CSH,52.0 +VTS,1,1,1500,9.07,CRD,29.0 +VTS,1,1,900,5.84,CSH,18.5 +VTS,5,1,0,0.0,CRD,150.0 +VTS,1,1,1080,3.45,CRD,14.0 +VTS,1,1,240,0.56,CRD,4.5 +VTS,1,1,300,0.86,CRD,5.0 +VTS,1,1,1320,3.82,CRD,17.0 +VTS,1,1,60,0.33,CSH,3.5 +VTS,1,1,240,0.45,CSH,4.5 +VTS,5,1,0,0.0,CRD,59.0 +VTS,1,1,420,1.47,CRD,7.5 +VTS,1,1,1620,12.38,CRD,37.0 +VTS,2,1,2400,18.36,CSH,52.0 +VTS,1,1,1020,1.65,CSH,11.5 +VTS,1,1,1200,1.92,CSH,13.5 +VTS,1,1,1080,1.67,CSH,12.5 +VTS,1,1,840,2.69,CRD,11.5 +VTS,1,1,420,1.01,CRD,7.0 +VTS,1,1,120,0.62,CRD,4.0 +VTS,1,1,780,5.44,CSH,17.5 +VTS,5,1,0,1.21,CRD,148.0 +VTS,1,1,420,0.91,CSH,5.5 +VTS,1,1,360,2.1,CSH,8.0 +VTS,1,1,360,1.23,CRD,6.5 +VTS,5,1,0,0.08,CRD,40.0 +VTS,1,1,1080,2.99,CRD,14.0 +VTS,5,2,0,0.0,CRD,30.0 +VTS,1,1,2220,9.21,CSH,35.5 +VTS,1,1,1440,8.33,CRD,27.0 +VTS,1,1,3240,15.75,CSH,51.5 +VTS,1,1,840,1.62,CSH,10.0 +VTS,5,1,0,0.0,CRD,92.0 +VTS,1,1,1140,2.29,CSH,11.5 +VTS,1,1,660,0.91,CSH,8.0 +VTS,1,1,2460,6.43,CSH,30.5 +VTS,1,1,1140,10.31,CRD,29.5 +VTS,1,1,360,0.77,CSH,6.0 +VTS,2,1,900,3.32,CRD,52.0 +VTS,1,1,1800,19.2,CSH,52.5 +VTS,1,1,960,3.1,CSH,13.5 +VTS,1,1,600,1.01,CRD,8.0 +VTS,5,1,0,0.0,CRD,57.0 +VTS,1,1,540,2.28,CRD,9.5 +VTS,1,1,480,1.56,CSH,7.5 +VTS,1,1,660,1.71,CRD,9.5 +VTS,1,1,1680,4.49,CSH,20.0 +VTS,5,1,0,0.0,CRD,52.0 +VTS,1,1,360,1.96,CSH,7.5 +VTS,1,1,1200,14.29,CSH,39.5 +VTS,5,1,0,0.0,CRD,57.5 +VTS,1,1,540,1.0,CRD,8.0 +VTS,5,1,0,0.0,CRD,57.0 +VTS,1,1,780,6.46,CSH,19.5 +VTS,1,1,1380,10.45,CSH,30.5 +VTS,1,1,3000,11.45,CRD,44.5 +VTS,1,1,420,1.36,CSH,6.5 +VTS,5,1,0,0.0,CRD,57.0 +VTS,1,1,1560,7.76,CSH,26.0 +VTS,1,1,660,2.36,CRD,10.5 +VTS,5,1,0,0.0,CRD,60.0 +VTS,1,1,540,1.74,CSH,8.0 +VTS,5,1,60,0.0,CRD,57.3 +VTS,1,1,1920,8.61,CSH,29.5 +VTS,1,1,420,1.38,CRD,7.0 +VTS,1,1,1260,6.09,CSH,22.0 +VTS,5,1,60,0.0,CRD,57.0 +VTS,1,1,1560,6.51,CRD,22.5 +VTS,2,1,2220,14.99,CSH,52.0 +VTS,1,1,2640,12.46,CSH,42.5 +VTS,1,1,240,0.78,CRD,5.0 +VTS,1,1,2100,20.89,CSH,58.0 +VTS,5,2,0,0.0,CRD,20.0 +VTS,1,1,840,6.11,CRD,20.0 +VTS,1,1,1080,13.04,CRD,35.5 +VTS,1,1,1260,10.66,CRD,31.5 +VTS,1,1,1500,10.12,CRD,31.0 +VTS,1,1,780,4.53,CRD,15.5 +VTS,2,1,1980,20.44,CRD,52.0 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,420,1.69,CSH,8.0 +VTS,1,1,1500,11.32,CRD,33.0 +VTS,2,1,2580,17.61,CRD,52.0 +VTS,1,1,1500,12.22,CRD,36.5 +VTS,1,1,1140,4.45,CRD,17.0 +VTS,1,1,1560,9.18,CRD,28.0 +VTS,2,1,3420,20.19,CRD,52.0 +VTS,1,1,480,1.82,CSH,8.5 +VTS,2,1,3360,19.62,CSH,52.0 +VTS,1,1,300,0.63,CRD,5.5 +VTS,1,1,480,0.94,CSH,7.0 +VTS,1,1,420,0.93,CSH,6.5 +VTS,1,1,420,1.33,CRD,7.0 +VTS,1,1,660,4.26,CRD,14.5 +VTS,1,1,1380,3.81,CRD,17.0 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,480,1.28,CSH,7.0 +VTS,1,1,360,1.0,CSH,6.0 +VTS,1,1,240,0.76,CSH,4.5 +VTS,1,1,300,0.57,CSH,5.0 +VTS,2,1,3420,19.77,CRD,52.0 +VTS,1,1,1680,19.78,CSH,53.0 +VTS,1,1,420,3.36,CRD,11.5 +VTS,1,1,1140,9.27,CSH,28.5 +VTS,5,1,0,0.0,CRD,57.5 +VTS,5,1,0,0.1,CRD,57.0 +VTS,1,1,2220,17.76,CSH,50.5 +VTS,1,1,600,1.21,CRD,8.0 +VTS,1,1,1560,16.4,CRD,45.0 +VTS,1,1,1680,9.29,CSH,29.0 +VTS,2,1,1980,17.0,CRD,52.0 +VTS,1,1,1620,10.4,CRD,32.0 +VTS,1,1,540,2.44,CRD,10.0 +VTS,5,1,0,0.0,CRD,57.3 +VTS,1,1,1860,15.95,CSH,46.5 +VTS,2,1,840,10.92,CRD,52.0 +VTS,1,1,60,0.05,CSH,2.5 +VTS,2,1,1740,18.66,CRD,52.0 +VTS,5,2,0,0.0,CRD,57.0 +VTS,1,1,660,1.1,CSH,8.5 +VTS,1,1,240,0.9,CSH,5.5 +VTS,1,1,960,9.9,CRD,28.0 +VTS,1,1,540,1.65,CRD,8.5 +VTS,1,1,420,0.84,CSH,6.0 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,720,1.63,CRD,9.5 +VTS,1,1,780,2.72,CSH,12.0 +VTS,1,1,1320,4.96,CRD,18.5 +VTS,1,1,360,1.21,CSH,7.0 +VTS,1,1,1080,10.07,CSH,28.5 +VTS,1,1,1500,3.27,CRD,17.5 +VTS,1,1,2580,20.16,CRD,57.0 +VTS,2,1,1200,14.42,CRD,52.0 +VTS,5,2,0,0.0,CRD,57.0 +VTS,5,1,60,0.0,CRD,152.0 +VTS,5,2,0,0.0,CRD,150.0 +VTS,5,1,0,0.0,CRD,57.0 +VTS,2,1,1800,12.62,CSH,52.0 +VTS,2,1,120,0.0,CSH,52.0 +VTS,1,1,1200,13.95,CRD,38.0 +VTS,1,1,0,0.0,CSH,2.5 +VTS,2,1,2640,18.28,CRD,52.0 +VTS,1,1,1680,10.23,CSH,31.0 +VTS,2,1,1320,17.65,CSH,52.0 +VTS,1,1,480,1.71,CRD,8.0 +VTS,1,1,180,0.73,CSH,5.0 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,780,8.03,CSH,23.0 +VTS,1,1,660,1.52,CSH,9.0 +VTS,1,1,360,1.89,CRD,7.5 +VTS,1,1,240,1.19,CSH,5.5 +VTS,1,1,1020,4.62,CRD,16.5 +VTS,1,1,420,1.91,CRD,8.0 +VTS,1,1,240,1.26,CSH,5.5 +VTS,2,1,7380,33.3,CSH,52.0 +VTS,5,1,0,0.0,CRD,57.0 +VTS,1,1,960,7.04,CRD,22.0 +VTS,2,1,1680,5.98,CRD,52.0 +VTS,1,1,2160,10.71,CRD,35.5 +VTS,1,1,360,1.13,CRD,6.5 +VTS,1,1,780,2.03,CSH,10.0 +VTS,1,1,1380,1.6,CSH,15.0 +VTS,1,1,1020,3.39,CSH,14.5 +VTS,1,1,1020,8.32,CRD,25.0 +VTS,1,1,240,0.56,CSH,5.0 +VTS,1,1,1500,14.99,CSH,42.5 +VTS,1,1,1080,7.75,CSH,23.5 +VTS,5,1,0,0.0,CRD,57.3 +VTS,1,1,900,1.49,CSH,10.5 +VTS,2,1,3480,15.89,CRD,52.0 +VTS,1,1,840,1.65,CSH,9.5 +VTS,1,1,420,1.67,CRD,7.5 +VTS,1,1,600,1.67,CSH,9.0 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,420,2.04,CRD,8.0 +VTS,1,1,240,1.23,CSH,5.5 +VTS,1,1,540,1.32,CSH,7.5 +VTS,1,1,660,3.59,CRD,13.0 +VTS,1,1,480,1.71,CSH,8.0 +VTS,1,1,420,1.64,CRD,7.0 +VTS,1,2,960,3.8,CRD,14.0 +VTS,1,1,300,0.67,CSH,5.0 +VTS,1,1,840,5.46,CRD,18.0 +VTS,1,2,720,3.45,CRD,12.5 +VTS,1,1,240,0.98,CRD,5.0 +VTS,1,1,180,0.39,CRD,4.0 +VTS,1,1,240,0.51,CRD,4.0 +VTS,1,1,840,4.39,CRD,16.0 +VTS,1,1,660,2.15,CRD,10.5 +VTS,1,1,840,1.52,CRD,10.0 +VTS,1,1,1140,4.02,CRD,17.5 +VTS,1,1,480,3.57,CSH,12.0 +VTS,1,1,180,0.51,CRD,4.5 +VTS,1,1,1020,3.24,CRD,14.0 +VTS,1,1,540,1.56,CSH,8.0 +VTS,1,1,240,1.0,CSH,5.5 +VTS,1,1,60,0.48,CSH,3.5 +VTS,1,1,480,1.99,CSH,8.5 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,780,1.7,CRD,10.0 +VTS,1,1,180,0.83,CRD,5.0 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,360,1.6,CSH,7.5 +VTS,1,1,300,0.58,CSH,5.0 +VTS,1,1,720,3.05,CRD,12.5 +VTS,1,1,480,1.37,CRD,7.0 +VTS,2,1,780,7.76,CRD,52.0 +VTS,5,1,0,0.0,CRD,52.0 +VTS,1,1,720,0.99,CSH,9.0 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,1200,2.69,CRD,14.5 +VTS,1,1,1440,2.44,CRD,15.5 +VTS,1,1,1140,5.94,CRD,19.5 +VTS,1,1,1920,10.56,CSH,34.0 +VTS,1,1,3000,16.72,CRD,50.0 +VTS,1,1,300,0.61,CRD,5.0 +VTS,1,1,660,3.31,CRD,12.5 +VTS,1,1,1020,5.26,CRD,17.5 +VTS,5,2,0,0.07,CRD,20.0 +VTS,5,1,0,0.0,CRD,90.0 +VTS,1,1,1320,9.63,CSH,29.0 +VTS,1,1,420,1.41,CRD,7.0 +VTS,1,1,1560,5.18,CSH,20.5 +VTS,1,1,540,2.09,CRD,9.0 +VTS,1,1,540,1.6,CRD,8.0 +VTS,1,1,300,1.18,CRD,6.0 +VTS,1,1,540,0.73,CSH,7.0 +VTS,1,1,660,2.04,CRD,10.0 +VTS,1,1,300,0.53,CSH,5.0 +VTS,1,1,240,1.01,CSH,5.5 +VTS,1,1,2280,8.61,CRD,30.0 +VTS,1,1,1020,4.99,CRD,17.0 +VTS,1,1,780,6.58,CSH,20.5 +VTS,1,1,420,1.39,CSH,7.0 +VTS,1,1,360,0.6,CSH,5.0 +VTS,1,1,540,1.61,CSH,8.5 +VTS,1,1,1560,10.76,CSH,31.5 +VTS,1,1,360,0.98,CSH,6.0 +VTS,1,1,480,1.27,CRD,7.5 +VTS,1,1,1380,2.9,CSH,15.5 +VTS,1,1,1380,1.91,CSH,14.5 +VTS,1,1,480,0.97,CSH,6.5 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,600,1.93,CSH,9.5 +VTS,1,1,540,2.23,CSH,9.5 +VTS,1,1,2100,12.02,CSH,38.0 +VTS,5,1,0,0.0,CRD,57.0 +VTS,1,1,360,1.54,CRD,7.0 +VTS,1,1,480,0.81,CRD,6.5 +VTS,1,1,420,1.22,CRD,6.5 +VTS,1,1,240,0.71,CRD,4.5 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,1,600,2.91,CSH,11.0 +VTS,1,1,480,2.45,CRD,10.0 +VTS,3,1,2220,16.3,CSH,65.5 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,660,2.24,CRD,10.0 +VTS,1,1,660,3.08,CRD,11.5 +VTS,1,1,660,4.16,CSH,14.0 +VTS,1,1,540,1.46,CSH,7.5 +VTS,1,1,1020,2.2,CRD,12.5 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,840,2.07,CRD,10.0 +VTS,1,1,420,2.3,CSH,9.0 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,1,1860,9.91,CRD,31.0 +VTS,1,1,1320,3.78,CSH,17.0 +VTS,1,1,600,1.48,CRD,9.0 +VTS,1,1,480,0.78,CSH,6.5 +VTS,1,1,660,2.21,CSH,10.0 +VTS,1,1,720,2.24,CRD,10.5 +VTS,1,1,720,0.95,CSH,8.5 +VTS,1,1,840,2.16,CRD,10.5 +VTS,1,1,960,1.79,CRD,10.5 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,1,1020,2.72,CRD,13.0 +VTS,1,1,1080,3.16,CRD,15.0 +VTS,1,1,600,1.96,CRD,9.0 +VTS,1,1,900,2.47,CSH,11.5 +VTS,1,1,420,1.46,CSH,7.0 +VTS,1,1,300,0.64,CRD,5.0 +VTS,1,1,480,2.14,CSH,8.5 +VTS,1,1,1140,4.45,CSH,17.0 +VTS,1,1,1080,2.72,CSH,14.0 +VTS,1,1,1140,5.35,CSH,19.5 +VTS,1,1,900,2.82,CSH,13.0 +VTS,1,1,1500,8.24,CRD,25.5 +VTS,1,1,720,3.69,CRD,13.0 +VTS,1,1,480,1.31,CRD,7.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,720,6.42,CSH,19.5 +VTS,2,1,900,3.85,CSH,52.0 +VTS,1,1,780,5.14,CSH,16.5 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,240,1.08,CSH,5.5 +VTS,1,1,720,3.47,CSH,12.5 +VTS,1,1,0,0.15,CSH,2.5 +VTS,1,1,240,0.76,CSH,5.5 +VTS,1,1,1560,4.63,CRD,20.0 +VTS,1,1,1320,7.8,CRD,25.5 +VTS,1,1,360,1.3,CSH,7.0 +VTS,1,1,780,2.98,CRD,12.0 +VTS,1,1,480,1.57,CRD,8.0 +VTS,1,1,1680,4.28,CSH,19.5 +VTS,1,1,540,0.8,CSH,7.5 +VTS,1,1,480,1.64,CSH,8.0 +VTS,1,1,840,2.49,CRD,11.0 +VTS,1,1,420,0.62,CRD,6.5 +VTS,1,1,60,0.55,CSH,3.5 +VTS,2,1,2040,18.04,CRD,52.0 +VTS,1,1,660,1.83,CSH,9.0 +VTS,1,1,420,1.39,CSH,7.0 +VTS,1,1,420,1.0,CSH,6.5 +VTS,1,1,120,0.44,CSH,3.5 +VTS,1,1,480,1.26,CSH,7.5 +VTS,1,1,180,0.56,CSH,4.0 +VTS,1,1,420,0.99,CSH,6.5 +VTS,1,1,720,3.36,CRD,12.5 +VTS,1,1,840,1.56,CRD,9.0 +VTS,1,1,360,1.05,CRD,5.5 +VTS,1,1,360,1.34,CSH,6.0 +VTS,1,1,900,2.46,CSH,11.5 +VTS,1,1,360,0.77,CSH,5.5 +VTS,1,1,960,2.68,CRD,13.0 +VTS,1,1,780,2.25,CSH,10.5 +VTS,1,1,360,1.12,CSH,6.0 +VTS,1,1,300,1.3,CRD,6.0 +VTS,1,1,960,4.94,CRD,16.5 +VTS,1,1,960,4.05,CRD,14.5 +VTS,1,1,1080,1.44,CSH,12.0 +VTS,1,1,1440,3.46,CSH,17.0 +VTS,1,1,840,2.03,CRD,11.0 +VTS,1,1,420,1.36,CRD,7.0 +VTS,1,1,480,2.2,CRD,9.0 +VTS,1,1,660,2.6,CSH,10.5 +VTS,1,1,180,0.66,CRD,5.0 +VTS,1,1,120,0.86,CRD,4.5 +VTS,1,1,1020,4.24,CRD,16.5 +VTS,1,1,540,1.6,CSH,8.0 +VTS,5,1,0,0.0,CRD,22.0 +VTS,1,1,540,2.66,CRD,10.5 +VTS,2,1,1020,6.87,CSH,52.0 +VTS,1,1,1080,8.08,CSH,25.0 +VTS,1,1,1800,19.21,CRD,52.5 +VTS,1,1,180,0.82,CRD,5.0 +VTS,1,1,1080,2.94,CRD,14.0 +VTS,1,1,420,0.84,CRD,6.0 +VTS,1,1,1020,3.24,CSH,13.5 +VTS,1,1,60,0.0,CSH,2.5 +VTS,1,1,780,1.95,CRD,10.0 +VTS,5,1,0,0.0,CRD,152.0 +VTS,1,1,1740,6.98,CSH,26.0 +VTS,2,1,3960,26.32,CSH,52.0 +VTS,1,1,720,4.78,CSH,15.5 +VTS,1,1,3540,26.47,CSH,73.5 +VTS,1,1,2040,17.14,CRD,48.0 +VTS,2,1,2760,15.29,CSH,52.0 +VTS,1,1,1140,4.37,CSH,16.5 +VTS,1,1,480,0.84,CSH,7.0 +VTS,1,1,240,0.55,CSH,5.0 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,1620,8.25,CSH,25.5 +VTS,1,1,480,1.54,CSH,8.0 +VTS,1,1,600,1.12,CRD,8.0 +VTS,1,1,720,2.31,CSH,10.5 +VTS,1,1,720,3.01,CRD,12.0 +VTS,1,1,720,3.24,CRD,12.0 +VTS,1,1,660,2.75,CSH,10.5 +VTS,1,1,480,2.68,CRD,10.5 +VTS,1,1,480,2.27,CRD,9.5 +VTS,1,1,360,0.54,CSH,5.5 +VTS,1,1,420,1.3,CSH,6.5 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,1140,5.35,CRD,19.0 +VTS,1,1,840,1.34,CRD,10.5 +VTS,1,1,780,2.15,CRD,10.5 +VTS,1,1,480,1.07,CSH,6.5 +VTS,1,1,600,1.94,CRD,8.5 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,1,660,1.88,CSH,9.5 +VTS,1,1,420,1.43,CRD,6.5 +VTS,1,1,420,1.2,CRD,6.5 +VTS,1,1,540,1.43,CRD,8.0 +VTS,1,1,480,3.04,CRD,11.0 +VTS,1,1,360,0.57,CSH,5.5 +VTS,1,1,1140,2.69,CRD,14.0 +VTS,1,1,420,0.71,CRD,6.0 +VTS,1,1,720,2.37,CSH,10.5 +VTS,1,1,360,0.82,CRD,5.5 +VTS,1,1,1320,3.59,CRD,16.5 +VTS,1,1,180,0.54,CSH,4.0 +VTS,3,1,2280,17.87,CRD,67.5 +VTS,1,1,720,1.91,CRD,10.0 +VTS,1,1,180,1.0,CRD,5.0 +VTS,1,1,480,1.16,CSH,7.0 +VTS,2,1,900,6.25,CRD,52.0 +VTS,1,1,120,0.24,CSH,4.0 +VTS,1,1,240,1.33,CSH,6.0 +VTS,1,1,660,1.93,CRD,10.0 +VTS,5,1,0,0.0,CRD,52.5 +VTS,2,1,1800,9.05,CSH,52.0 +VTS,2,1,4800,38.2,CSH,52.0 +VTS,1,1,1560,19.53,CRD,52.5 +VTS,1,1,4020,19.3,CSH,63.5 +VTS,5,1,0,0.0,CRD,52.0 +VTS,1,1,480,1.8,CRD,8.0 +VTS,5,1,60,0.07,CRD,52.0 +VTS,1,1,600,3.36,CRD,12.0 +VTS,1,1,300,1.05,CSH,5.5 +VTS,1,1,360,1.08,CRD,6.0 +VTS,1,1,900,3.57,CRD,14.0 +VTS,5,1,0,0.0,CRD,57.3 +VTS,5,1,0,0.0,CRD,90.0 +VTS,1,1,2400,20.87,CSH,57.5 +VTS,1,1,480,2.38,CRD,9.0 +VTS,2,1,3360,18.43,CSH,52.0 +VTS,1,1,960,3.04,CRD,13.0 +VTS,1,1,1620,12.67,CRD,36.5 +VTS,1,1,300,1.71,CSH,7.0 +VTS,1,1,1080,2.02,CRD,11.5 +VTS,1,1,540,1.59,CSH,7.5 +VTS,1,1,900,2.57,CSH,11.5 +VTS,1,1,180,0.48,CRD,4.0 +VTS,1,1,360,1.03,CSH,6.0 +VTS,1,1,480,1.54,CSH,8.0 +VTS,2,1,2340,18.05,CSH,52.0 +VTS,1,1,540,1.51,CRD,8.5 +VTS,1,1,540,2.59,CRD,10.0 +VTS,1,1,720,1.74,CRD,8.5 +VTS,1,1,180,0.88,CSH,4.5 +VTS,1,1,120,0.83,CRD,4.5 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,780,1.74,CRD,10.5 +VTS,1,1,1140,9.62,CRD,27.0 +VTS,1,1,360,1.23,CSH,6.0 +VTS,1,1,300,1.05,CSH,6.0 +VTS,1,1,540,2.19,CRD,9.0 +VTS,1,1,780,2.69,CSH,11.0 +VTS,1,1,540,1.41,CRD,8.5 +VTS,1,1,180,0.62,CRD,4.0 +VTS,1,1,480,1.09,CSH,6.5 +VTS,1,1,420,0.69,CSH,6.5 +VTS,1,1,660,2.53,CRD,10.5 +VTS,1,1,360,1.28,CRD,7.0 +VTS,1,1,360,1.55,CSH,7.5 +VTS,1,1,420,1.18,CSH,6.5 +VTS,1,1,240,0.71,CRD,5.5 +VTS,1,1,1560,5.24,CSH,20.0 +VTS,1,1,240,0.37,CRD,4.0 +VTS,1,1,420,2.2,CSH,8.0 +VTS,1,1,60,0.52,CSH,3.5 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,660,2.17,CRD,10.0 +VTS,1,1,180,0.84,CRD,4.5 +VTS,1,1,840,3.09,CSH,12.5 +VTS,1,1,600,2.27,CRD,9.5 +VTS,1,1,300,1.1,CSH,6.0 +VTS,1,1,900,3.91,CSH,13.5 +VTS,1,1,660,2.22,CRD,10.0 +VTS,1,1,480,2.29,CRD,9.5 +VTS,1,1,60,0.68,CSH,4.0 +VTS,1,1,240,0.59,CRD,5.0 +VTS,1,1,1320,9.72,CRD,28.5 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,300,1.07,CSH,5.5 +VTS,1,1,480,0.77,CSH,6.5 +VTS,1,1,420,1.52,CRD,7.0 +VTS,2,1,2640,19.29,CRD,52.0 +VTS,1,1,480,1.73,CSH,8.0 +VTS,1,1,420,2.05,CSH,8.5 +VTS,1,1,600,1.81,CRD,9.0 +VTS,1,1,420,1.45,CRD,7.0 +VTS,1,1,240,0.99,CSH,6.0 +VTS,1,1,540,1.47,CSH,7.5 +VTS,1,1,420,1.58,CRD,7.0 +VTS,1,1,480,2.36,CRD,9.5 +VTS,1,1,1020,6.29,CSH,20.5 +VTS,1,1,840,1.66,CSH,10.5 +VTS,1,1,600,1.32,CSH,8.5 +VTS,1,1,780,2.02,CSH,10.0 +VTS,1,1,660,2.05,CSH,9.5 +VTS,2,1,2400,18.61,CSH,52.0 +VTS,1,1,360,0.96,CRD,6.0 +VTS,1,1,120,0.53,CSH,4.0 +VTS,1,1,1020,3.29,CSH,14.0 +VTS,1,1,840,2.52,CSH,12.5 +VTS,1,1,1020,7.11,CRD,21.5 +VTS,1,1,900,0.62,CRD,10.0 +VTS,1,1,180,0.83,CSH,5.0 +VTS,1,1,840,3.08,CRD,13.0 +VTS,1,1,660,1.99,CSH,9.5 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,1440,17.07,CRD,45.5 +VTS,1,1,900,4.68,CRD,15.5 +VTS,1,1,1200,2.84,CSH,14.0 +VTS,5,1,300,6.02,CRD,85.0 +VTS,1,1,300,0.82,CSH,5.5 +VTS,2,1,7380,24.34,CSH,52.0 +VTS,1,1,1380,12.1,CRD,34.0 +VTS,1,1,300,0.52,CRD,5.0 +VTS,1,1,300,1.06,CRD,5.5 +VTS,1,1,360,0.61,CRD,5.0 +VTS,1,1,720,1.82,CSH,10.0 +VTS,1,1,540,1.85,CRD,8.5 +VTS,1,1,840,8.29,CRD,24.0 +VTS,2,1,4860,17.85,CSH,52.0 +VTS,1,1,1380,6.82,CSH,24.0 +VTS,1,1,300,1.29,CRD,6.5 +VTS,1,1,660,1.38,CSH,7.0 +VTS,1,1,900,6.83,CRD,20.5 +VTS,1,1,780,2.66,CSH,12.0 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,1440,5.56,CRD,21.0 +VTS,2,1,2040,17.84,CSH,52.0 +VTS,1,1,960,6.08,CRD,18.5 +VTS,1,1,420,1.77,CSH,7.5 +VTS,1,1,720,2.75,CRD,12.0 +VTS,1,1,780,1.37,CSH,8.5 +VTS,1,1,360,0.92,CSH,5.5 +VTS,1,1,360,0.94,CSH,5.5 +VTS,1,1,900,7.04,CSH,21.5 +VTS,1,1,600,1.29,CSH,8.0 +VTS,1,1,360,0.69,CSH,6.0 +VTS,1,1,1800,3.23,CRD,19.0 +VTS,1,1,300,0.68,CRD,5.0 +VTS,1,1,540,1.72,CRD,8.0 +VTS,1,1,480,1.94,CSH,8.5 +VTS,1,1,480,1.9,CSH,8.0 +VTS,1,1,1440,4.01,CRD,19.0 +VTS,1,1,600,1.28,CSH,8.0 +VTS,1,1,1080,3.41,CRD,13.5 +VTS,1,1,1500,7.59,CRD,26.5 +VTS,1,1,960,3.96,CSH,15.0 +VTS,1,1,1200,2.35,CSH,14.0 +VTS,1,1,900,4.24,CSH,16.0 +VTS,1,1,420,0.8,CRD,6.5 +VTS,1,1,240,0.58,CRD,4.5 +VTS,1,1,480,0.74,CSH,7.0 +VTS,1,1,420,0.73,CSH,6.0 +VTS,1,1,720,2.59,CSH,10.5 +VTS,2,1,1680,17.74,CSH,52.0 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,840,1.74,CSH,10.0 +VTS,1,1,420,1.68,CRD,7.5 +VTS,1,1,1140,6.94,CSH,22.0 +VTS,1,1,2100,10.26,CSH,33.0 +VTS,1,1,300,0.83,CRD,5.0 +VTS,1,1,840,2.11,CRD,10.5 +VTS,1,1,780,4.28,CRD,14.5 +VTS,1,1,600,1.76,CSH,9.0 +VTS,1,1,480,1.71,CSH,7.5 +VTS,1,1,1080,1.78,CRD,11.0 +VTS,1,1,720,1.75,CRD,9.5 +VTS,1,1,720,2.87,CRD,12.0 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,300,1.17,CSH,6.0 +VTS,1,1,900,2.36,CRD,11.0 +VTS,1,1,660,1.97,CSH,9.0 +VTS,1,1,60,0.72,CRD,4.0 +VTS,1,1,480,0.88,CSH,7.0 +VTS,1,1,1560,3.57,CRD,18.5 +VTS,1,1,180,0.67,CRD,4.0 +VTS,1,1,1620,9.61,CRD,28.5 +VTS,1,1,300,0.75,CSH,5.5 +VTS,1,1,180,0.48,CRD,4.0 +VTS,1,1,960,0.71,CSH,10.0 +VTS,1,1,420,1.09,CSH,6.5 +VTS,1,1,420,1.73,CSH,7.5 +VTS,1,1,360,1.48,CRD,6.5 +VTS,1,1,360,0.63,CSH,5.5 +VTS,1,1,960,8.53,CRD,25.0 +VTS,1,1,480,1.02,CRD,7.5 +VTS,1,1,360,1.49,CRD,7.0 +VTS,1,1,600,2.1,CRD,9.5 +VTS,1,1,780,2.22,CRD,11.0 +VTS,1,1,1680,16.63,CSH,46.0 +VTS,1,1,660,2.0,CRD,10.0 +VTS,1,1,360,0.79,CRD,5.5 +VTS,1,1,1320,3.04,CRD,15.0 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,300,1.3,CSH,6.5 +VTS,1,1,480,2.59,CSH,10.0 +VTS,1,1,420,1.92,CSH,8.0 +VTS,1,1,1740,9.32,CRD,29.5 +VTS,1,1,240,1.28,CRD,5.5 +VTS,1,1,180,0.92,CSH,4.5 +VTS,1,1,480,1.53,CSH,7.5 +VTS,1,1,720,4.55,CSH,15.5 +VTS,1,1,780,2.69,CSH,11.5 +VTS,2,1,2460,19.05,CSH,52.0 +VTS,1,1,120,0.51,CRD,4.0 +VTS,1,1,1200,3.56,CSH,15.0 +VTS,1,1,480,0.61,CSH,6.0 +VTS,1,1,900,8.63,CRD,25.0 +VTS,1,1,540,2.3,CRD,9.5 +VTS,1,1,960,1.76,CRD,11.5 +VTS,2,1,3120,16.32,CSH,52.0 +VTS,1,1,420,2.48,CSH,9.0 +VTS,1,1,420,1.48,CSH,7.5 +VTS,1,1,600,1.6,CRD,9.0 +VTS,1,1,1440,5.22,CRD,20.5 +VTS,1,1,480,2.81,CRD,10.0 +VTS,1,1,240,0.98,CRD,5.0 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,720,1.64,CRD,9.5 +VTS,1,1,720,2.48,CSH,11.0 +VTS,1,1,300,1.35,CRD,6.5 +VTS,1,1,1020,2.66,CSH,13.5 +VTS,1,1,420,0.92,CSH,6.0 +VTS,1,1,360,1.77,CRD,7.0 +VTS,1,1,480,1.76,CSH,8.0 +VTS,1,1,1200,3.7,CSH,15.5 +VTS,1,1,180,0.6,CSH,4.0 +VTS,1,1,600,2.27,CSH,10.0 +VTS,1,1,1740,16.52,CRD,45.5 +VTS,1,1,420,0.73,CRD,6.0 +VTS,1,1,840,1.38,CSH,9.5 +VTS,1,1,660,3.45,CRD,13.0 +VTS,1,1,120,0.67,CSH,4.0 +VTS,1,1,120,1.04,CSH,5.0 +VTS,1,1,480,1.85,CRD,7.5 +VTS,1,1,600,1.44,CRD,8.5 +VTS,1,1,300,1.48,CRD,6.5 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,1020,2.8,CRD,13.5 +VTS,1,1,360,1.0,CRD,6.0 +VTS,1,1,360,0.87,CRD,6.0 +VTS,1,1,240,1.14,CSH,5.5 +VTS,1,1,420,1.44,CRD,7.5 +VTS,1,1,600,1.43,CSH,8.0 +VTS,1,1,660,0.98,CSH,7.5 +VTS,1,1,180,0.38,CSH,4.0 +VTS,1,1,420,2.18,CRD,8.5 +VTS,1,1,780,3.11,CSH,12.5 +VTS,1,1,960,1.88,CRD,11.5 +VTS,1,1,1200,4.34,CRD,18.0 +VTS,1,1,1020,9.12,CRD,26.5 +VTS,1,1,540,1.68,CRD,7.5 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,420,1.64,CSH,7.5 +VTS,1,1,660,2.04,CRD,9.5 +VTS,1,1,480,2.47,CRD,9.5 +VTS,1,1,1380,7.24,CSH,22.5 +VTS,1,1,1020,1.99,CRD,11.5 +VTS,1,1,360,1.79,CRD,7.5 +VTS,1,1,240,1.15,CRD,5.5 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,240,0.9,CRD,5.0 +VTS,1,1,1920,4.74,CRD,22.5 +VTS,1,1,480,1.19,CRD,7.0 +VTS,1,1,1140,4.11,CRD,15.0 +VTS,1,1,660,1.64,CRD,8.5 +VTS,1,1,180,0.87,CRD,4.5 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,960,4.51,CSH,16.0 +VTS,1,1,300,0.92,CSH,5.5 +VTS,2,1,2280,15.8,CRD,52.0 +VTS,2,1,2460,18.05,CRD,52.0 +VTS,1,1,1500,5.53,CRD,21.0 +VTS,1,1,420,1.98,CSH,8.5 +VTS,1,1,840,2.34,CRD,11.5 +VTS,1,1,540,1.94,CRD,9.0 +VTS,1,1,180,0.44,CSH,4.5 +VTS,1,1,1980,3.85,CRD,23.0 +VTS,1,1,960,3.53,CRD,14.0 +VTS,2,1,2460,24.01,CSH,52.0 +VTS,1,1,720,1.68,CSH,9.5 +VTS,1,1,60,0.06,CSH,3.0 +VTS,1,1,2220,11.62,CSH,37.5 +VTS,1,1,720,2.6,CSH,10.5 +VTS,1,1,1380,5.38,CRD,19.0 +VTS,1,1,1260,3.58,CSH,15.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,840,9.01,CRD,25.5 +VTS,1,1,660,2.45,CRD,10.0 +VTS,1,1,720,2.02,CSH,9.5 +VTS,1,1,660,3.67,CSH,14.0 +VTS,1,1,240,0.72,CRD,5.0 +VTS,1,1,600,1.37,CRD,7.5 +VTS,1,1,420,1.8,CRD,7.5 +VTS,1,1,780,1.18,CSH,8.5 +VTS,1,1,240,1.45,CRD,6.5 +VTS,1,1,420,1.0,CSH,6.5 +VTS,1,1,660,1.18,CRD,8.5 +VTS,1,1,660,0.93,CRD,8.0 +VTS,1,1,660,0.53,CRD,8.0 +VTS,3,1,2760,15.68,CRD,66.5 +VTS,1,1,1080,6.06,CSH,20.5 +VTS,1,1,240,0.7,CSH,5.0 +VTS,1,1,420,1.48,CRD,7.5 +VTS,1,1,600,1.88,CSH,9.5 +VTS,1,1,420,1.54,CRD,7.5 +VTS,1,1,480,1.36,CRD,7.5 +VTS,1,1,660,1.24,CRD,8.5 +VTS,1,1,780,1.73,CSH,9.5 +VTS,1,1,60,0.46,CRD,3.5 +VTS,1,1,540,1.4,CSH,7.5 +VTS,1,1,240,0.58,CRD,4.5 +VTS,1,1,1680,7.89,CSH,25.5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,540,1.41,CSH,8.0 +VTS,1,1,660,2.04,CSH,9.5 +VTS,1,1,360,2.17,CSH,8.0 +VTS,1,1,540,1.53,CRD,8.0 +VTS,1,1,420,0.84,CSH,6.0 +VTS,1,1,600,1.22,CRD,7.5 +VTS,1,1,1500,4.26,CRD,19.0 +VTS,1,1,1020,3.39,CRD,13.5 +VTS,1,1,180,0.86,CSH,4.5 +VTS,1,1,720,2.19,CRD,10.0 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,840,5.77,CSH,17.5 +VTS,1,1,960,1.58,CRD,11.5 +VTS,1,1,960,3.16,CRD,14.0 +VTS,1,1,300,1.24,CSH,6.5 +VTS,2,1,3120,19.45,CRD,52.0 +VTS,1,1,360,0.95,CSH,6.5 +VTS,1,1,1080,1.72,CSH,13.0 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,960,2.4,CRD,12.0 +VTS,1,1,720,1.9,CRD,10.0 +VTS,1,1,420,1.4,CSH,7.5 +VTS,1,1,420,1.31,CRD,7.0 +VTS,2,1,2700,20.77,CSH,52.0 +VTS,1,1,840,2.44,CSH,11.0 +VTS,1,1,420,0.96,CSH,6.0 +VTS,2,1,2820,17.98,CSH,52.0 +VTS,1,1,780,6.99,CRD,21.0 +VTS,1,1,420,1.13,CRD,6.5 +VTS,1,1,300,1.08,CRD,6.0 +VTS,1,1,900,3.47,CRD,13.5 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,840,2.29,CRD,10.5 +VTS,2,1,1860,19.36,CSH,52.0 +VTS,1,1,540,2.32,CSH,9.5 +VTS,1,1,360,0.67,CSH,6.0 +VTS,1,1,540,1.71,CRD,9.0 +VTS,1,1,780,1.75,CSH,9.5 +VTS,1,1,600,1.36,CRD,8.0 +VTS,1,1,180,0.64,CSH,4.0 +VTS,1,1,120,0.5,CSH,4.0 +VTS,1,1,240,1.05,CRD,5.5 +VTS,2,1,1920,17.44,CRD,52.0 +VTS,1,1,1260,3.98,CRD,17.0 +VTS,1,1,720,1.69,CRD,9.5 +VTS,1,1,960,4.7,CRD,16.5 +VTS,1,1,240,0.67,CRD,5.0 +VTS,5,1,0,0.0,CRD,7.0 +VTS,1,1,720,3.89,CRD,13.0 +VTS,1,1,600,2.06,CRD,9.5 +VTS,1,1,300,0.44,CSH,5.0 +VTS,1,1,360,1.0,CSH,6.5 +VTS,1,1,720,1.98,CSH,9.5 +VTS,1,1,120,0.62,CSH,4.0 +VTS,2,1,1740,15.98,CRD,52.0 +VTS,1,1,780,1.76,CRD,9.5 +VTS,1,1,120,0.71,CSH,4.5 +VTS,1,1,240,0.71,CSH,5.0 +VTS,1,1,360,1.52,CSH,7.5 +VTS,1,1,1380,3.25,CSH,16.0 +VTS,1,1,900,2.15,CRD,10.0 +VTS,1,2,960,4.23,CRD,16.0 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,1680,2.08,CRD,18.0 +VTS,1,1,420,1.2,CRD,6.5 +VTS,1,1,480,1.24,CRD,7.5 +VTS,1,1,1380,7.16,CRD,24.5 +VTS,1,1,1080,2.82,CRD,14.0 +VTS,1,1,1080,3.69,CRD,14.0 +VTS,1,1,660,2.23,CSH,9.5 +VTS,1,1,540,3.23,CRD,11.0 +VTS,1,1,420,1.62,CSH,7.0 +VTS,1,1,1860,7.52,CRD,28.0 +VTS,1,1,540,1.78,CSH,9.0 +VTS,1,1,840,3.95,CSH,14.0 +VTS,1,1,0,0.26,CSH,3.0 +VTS,1,1,1080,4.67,CRD,17.0 +VTS,1,1,420,1.74,CRD,8.0 +VTS,1,1,120,0.41,CRD,3.5 +VTS,1,1,1440,10.32,CRD,30.5 +VTS,1,1,420,1.57,CRD,7.0 +VTS,1,1,420,1.0,CRD,6.5 +VTS,1,1,420,1.68,CRD,7.5 +VTS,1,1,420,1.22,CRD,6.5 +VTS,1,1,600,1.4,CSH,7.5 +VTS,1,1,1380,16.13,CRD,43.0 +VTS,1,1,540,2.15,CSH,9.5 +VTS,1,1,1020,2.43,CRD,13.5 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,420,1.47,CRD,7.0 +VTS,1,1,840,3.72,CSH,13.5 +VTS,1,1,480,1.78,CSH,8.0 +VTS,1,1,360,1.2,CSH,6.5 +VTS,1,1,840,3.86,CSH,14.0 +VTS,1,1,420,2.35,CRD,9.0 +VTS,1,1,1560,3.63,CSH,18.5 +VTS,1,1,1080,2.99,CSH,13.5 +VTS,1,1,360,0.83,CRD,6.0 +VTS,1,1,180,0.95,CSH,5.0 +VTS,1,1,1620,3.79,CSH,17.0 +VTS,1,1,600,1.23,CSH,8.5 +VTS,1,1,720,2.55,CRD,11.5 +VTS,1,1,540,1.24,CSH,8.0 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,480,1.8,CRD,8.0 +VTS,1,1,420,1.79,CRD,8.0 +VTS,1,1,660,1.39,CSH,8.5 +VTS,1,1,420,0.7,CRD,5.5 +VTS,1,1,660,1.39,CRD,9.0 +VTS,1,1,660,2.87,CRD,11.0 +VTS,1,1,540,0.79,CSH,7.0 +VTS,1,1,420,1.2,CSH,6.5 +VTS,1,1,120,0.44,CRD,3.5 +VTS,1,1,900,2.86,CRD,13.5 +VTS,1,1,480,1.75,CRD,8.0 +VTS,1,1,180,1.0,CSH,5.0 +VTS,1,1,660,1.05,CSH,8.0 +VTS,1,1,240,0.93,CRD,5.0 +VTS,1,1,540,1.71,CSH,8.0 +VTS,1,1,540,1.44,CSH,8.0 +VTS,1,1,540,1.89,CSH,9.0 +VTS,1,1,840,4.03,CRD,15.0 +VTS,1,1,420,1.15,CSH,6.5 +VTS,1,1,420,1.07,CRD,6.5 +VTS,1,1,6600,34.0,CRD,106.5 +VTS,1,1,1680,11.54,CRD,34.5 +VTS,1,1,240,0.55,CRD,4.5 +VTS,1,1,300,0.49,CSH,5.0 +VTS,2,1,2700,19.24,CRD,52.0 +VTS,1,1,480,0.71,CSH,7.0 +VTS,1,1,780,1.74,CSH,10.0 +VTS,1,1,720,3.14,CSH,12.0 +VTS,1,1,840,1.75,CSH,10.5 +VTS,1,1,600,1.14,CSH,8.0 +VTS,1,1,960,1.6,CSH,11.0 +VTS,1,1,1080,2.59,CSH,13.0 +VTS,1,1,1200,4.28,CSH,17.0 +VTS,1,1,960,5.26,CRD,18.0 +VTS,1,1,360,2.03,CSH,8.5 +VTS,1,1,540,1.31,CRD,7.0 +VTS,1,1,480,2.41,CSH,9.5 +VTS,1,1,360,1.16,CRD,5.5 +VTS,1,1,600,2.51,CSH,10.5 +VTS,1,1,780,2.05,CSH,10.0 +VTS,1,1,480,1.89,CRD,8.0 +VTS,1,1,300,1.37,CSH,6.5 +VTS,1,1,1200,5.71,CRD,19.0 +VTS,1,1,1020,3.98,CRD,15.5 +VTS,1,1,300,1.15,CRD,6.0 +VTS,1,1,1680,15.02,CRD,43.5 +VTS,1,1,600,1.65,CSH,8.5 +VTS,1,1,420,1.2,CRD,6.5 +VTS,1,1,420,1.48,CRD,7.5 +VTS,1,1,480,2.0,CRD,8.5 +VTS,1,1,900,2.47,CRD,11.0 +VTS,2,1,3180,19.13,CSH,52.0 +VTS,1,1,1560,4.0,CRD,19.0 +VTS,1,1,840,2.15,CSH,11.0 +VTS,1,1,1200,4.26,CRD,17.5 +VTS,1,1,1440,4.83,CSH,20.5 +VTS,1,1,960,7.56,CRD,23.0 +VTS,1,1,1560,11.75,CRD,34.5 +VTS,1,1,600,1.29,CRD,8.5 +VTS,1,1,1860,6.03,CRD,26.5 +VTS,1,1,600,1.9,CRD,8.5 +VTS,1,1,1140,11.58,CRD,32.0 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,720,2.33,CRD,10.5 +VTS,1,1,180,0.44,CRD,4.5 +VTS,1,1,420,1.23,CSH,7.0 +VTS,1,1,420,0.99,CSH,6.0 +VTS,1,1,1800,1.68,CRD,15.5 +VTS,1,1,960,1.15,CSH,10.5 +VTS,1,1,900,1.28,CSH,10.0 +VTS,1,1,420,0.65,CRD,6.0 +VTS,1,1,1380,3.96,CRD,17.5 +VTS,1,1,660,1.56,CSH,9.0 +VTS,1,1,1080,3.8,CRD,15.5 +VTS,1,1,60,0.28,CRD,3.0 +VTS,1,1,1860,10.01,CRD,31.5 +VTS,1,1,2640,14.01,CRD,43.0 +VTS,1,1,2220,20.89,CSH,58.0 +VTS,1,1,300,0.89,CSH,6.0 +VTS,1,1,120,0.66,CSH,4.0 +VTS,1,1,1260,2.17,CSH,12.5 +VTS,1,1,240,0.69,CRD,4.5 +VTS,1,1,300,0.64,CSH,5.0 +VTS,1,1,1140,4.6,CSH,16.5 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,660,2.26,CRD,10.5 +VTS,1,1,480,1.1,CRD,7.0 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,540,1.15,CRD,7.5 +VTS,1,1,540,1.99,CSH,8.5 +VTS,1,1,720,2.24,CRD,10.5 +VTS,1,1,780,1.38,CRD,9.5 +VTS,1,1,480,1.46,CRD,7.5 +VTS,1,1,1080,8.28,CSH,25.0 +VTS,1,1,1380,5.08,CSH,20.0 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,540,1.2,CSH,7.5 +VTS,1,1,840,1.63,CRD,10.5 +VTS,1,1,840,1.1,CRD,10.0 +VTS,1,1,540,2.13,CRD,8.5 +VTS,1,1,600,2.59,CRD,10.0 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,1,900,2.8,CRD,11.5 +VTS,1,1,1080,3.24,CRD,14.5 +VTS,1,1,120,0.41,CRD,4.0 +VTS,1,1,540,0.71,CSH,7.0 +VTS,1,1,600,1.18,CSH,7.5 +VTS,1,1,360,0.91,CSH,5.5 +VTS,2,1,2640,17.99,CSH,52.0 +VTS,1,1,1080,2.94,CRD,14.0 +VTS,1,1,780,1.48,CRD,10.0 +VTS,1,1,960,1.21,CRD,11.0 +VTS,1,1,660,2.15,CSH,9.5 +VTS,2,1,2640,17.39,CSH,52.0 +VTS,1,1,660,1.22,CSH,8.5 +VTS,1,1,900,3.36,CSH,13.5 +VTS,1,1,780,1.5,CRD,10.0 +VTS,1,1,540,0.91,CRD,7.0 +VTS,1,1,720,1.77,CRD,9.0 +VTS,1,1,780,3.57,CSH,13.0 +VTS,1,1,720,6.73,CSH,20.0 +VTS,1,1,480,1.21,CRD,7.5 +VTS,1,1,540,1.19,CSH,8.0 +VTS,1,1,420,0.7,CRD,6.0 +VTS,1,1,300,1.66,CRD,7.0 +VTS,1,1,720,2.5,CRD,10.5 +VTS,1,1,180,0.53,CSH,4.0 +VTS,1,1,1020,9.31,CRD,26.5 +VTS,1,1,540,1.78,CSH,9.0 +VTS,1,1,1680,4.83,CRD,21.0 +VTS,1,1,180,1.07,CSH,5.0 +VTS,1,1,420,0.81,CSH,6.0 +VTS,1,1,180,0.6,CSH,4.0 +VTS,1,1,480,1.46,CSH,7.5 +VTS,1,1,420,1.36,CSH,7.0 +VTS,1,1,300,2.96,CRD,9.5 +VTS,1,1,1500,5.8,CRD,20.5 +VTS,1,1,720,2.32,CRD,10.0 +VTS,1,1,600,2.85,CSH,10.5 +VTS,2,1,3720,16.11,CSH,52.0 +VTS,1,1,360,1.16,CSH,6.5 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,720,1.45,CRD,8.5 +VTS,1,1,420,0.84,CRD,6.0 +VTS,1,1,720,5.67,CSH,17.5 +VTS,1,1,780,7.04,CRD,21.5 +VTS,1,1,240,0.98,CRD,5.0 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,540,1.58,CSH,7.5 +VTS,1,1,1020,2.72,CRD,12.5 +VTS,1,1,180,0.52,CSH,4.0 +VTS,1,1,420,1.67,CRD,8.0 +VTS,1,1,180,0.47,CSH,4.0 +VTS,1,1,1680,5.32,CRD,22.5 +VTS,1,1,900,5.73,CRD,18.0 +VTS,1,1,1320,9.53,CRD,29.0 +VTS,1,1,480,1.16,CSH,7.0 +VTS,2,1,2940,18.66,CSH,52.0 +VTS,1,1,840,2.19,CRD,11.0 +VTS,1,1,360,0.94,CSH,6.5 +VTS,1,1,780,2.12,CRD,11.0 +VTS,1,1,600,2.3,CRD,9.0 +VTS,1,1,960,2.9,CRD,12.0 +VTS,1,1,600,1.51,CSH,8.0 +VTS,1,1,840,1.99,CRD,10.0 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,480,1.58,CRD,7.5 +VTS,1,1,1860,9.88,CRD,30.5 +VTS,1,1,1980,4.09,CSH,22.0 +VTS,1,1,120,0.18,CRD,3.5 +VTS,1,1,1500,3.99,CSH,19.0 +VTS,3,1,3600,22.22,CRD,84.0 +VTS,1,1,600,0.98,CRD,7.0 +VTS,1,1,720,1.96,CSH,10.0 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,1020,4.33,CRD,15.5 +VTS,1,1,1200,3.6,CRD,15.5 +VTS,1,1,1080,10.07,CRD,28.5 +VTS,1,1,420,1.49,CSH,7.5 +VTS,1,1,420,1.15,CRD,6.5 +VTS,2,1,3120,17.67,CSH,52.0 +VTS,1,1,900,1.37,CRD,10.5 +VTS,1,1,0,0.27,CSH,3.0 +VTS,1,1,720,2.09,CRD,10.0 +VTS,1,1,480,1.7,CSH,8.0 +VTS,2,1,2100,19.2,CRD,52.0 +VTS,1,1,540,1.27,CRD,7.5 +VTS,1,1,600,1.05,CRD,8.0 +VTS,1,1,480,1.78,CSH,8.0 +VTS,1,1,120,0.55,CSH,3.5 +VTS,1,1,480,1.26,CSH,7.0 +VTS,1,1,1440,4.16,CRD,18.0 +VTS,1,1,300,1.1,CRD,6.0 +VTS,2,1,4260,21.28,CRD,52.0 +VTS,1,1,1200,8.03,CSH,24.5 +VTS,1,1,2040,6.88,CRD,27.0 +VTS,1,1,240,1.0,CRD,5.0 +VTS,1,1,660,1.88,CRD,8.5 +VTS,1,1,540,1.28,CRD,7.0 +VTS,1,1,960,4.06,CRD,14.5 +VTS,1,1,1020,6.75,CRD,22.0 +VTS,1,1,540,3.48,CSH,12.5 +VTS,1,1,960,2.2,CSH,11.5 +VTS,1,1,240,0.66,CSH,5.0 +VTS,1,1,240,1.26,CRD,6.0 +VTS,1,1,240,1.24,CSH,6.0 +VTS,1,1,300,1.13,CSH,6.0 +VTS,1,1,480,1.38,CRD,7.5 +VTS,1,1,660,1.1,CSH,8.0 +VTS,1,1,300,0.49,CRD,4.5 +VTS,1,1,300,1.22,CRD,6.5 +VTS,1,1,480,0.89,CRD,6.5 +VTS,1,1,1200,2.2,CSH,13.0 +VTS,1,1,1620,2.85,CSH,16.0 +VTS,2,1,1920,19.2,CRD,52.0 +VTS,1,1,240,1.26,CRD,5.5 +VTS,1,1,720,4.16,CRD,14.5 +VTS,1,1,1080,4.11,CSH,17.0 +VTS,1,1,1260,4.32,CRD,16.5 +VTS,1,1,600,2.11,CRD,9.5 +VTS,1,1,360,0.95,CRD,6.0 +VTS,1,1,600,3.07,CRD,11.5 +VTS,1,1,1020,3.09,CSH,12.5 +VTS,1,1,600,1.19,CRD,7.5 +VTS,1,1,360,0.8,CSH,5.5 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,660,2.09,CRD,9.0 +VTS,2,1,2640,19.0,CRD,52.0 +VTS,1,1,60,0.31,CRD,3.5 +VTS,1,1,1740,3.55,CRD,16.5 +VTS,1,1,300,1.35,CSH,6.0 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,660,2.49,CRD,11.0 +VTS,1,1,300,1.0,CRD,5.5 +VTS,1,1,960,3.63,CRD,15.0 +VTS,1,1,480,1.46,CSH,8.0 +VTS,1,1,1260,4.39,CSH,18.0 +VTS,1,1,1080,3.56,CRD,15.5 +VTS,1,1,420,1.38,CSH,7.0 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,1260,5.44,CRD,20.0 +VTS,1,1,600,4.66,CRD,14.5 +VTS,1,1,1980,8.04,CSH,28.5 +VTS,2,1,1920,17.03,CRD,52.0 +VTS,1,1,120,0.29,CSH,3.5 +VTS,1,1,1080,1.87,CSH,13.5 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,1560,4.99,CSH,20.5 +VTS,1,1,900,3.68,CRD,14.5 +VTS,1,1,1500,4.18,CRD,18.5 +VTS,1,1,420,1.09,CRD,6.5 +VTS,1,1,300,0.37,CSH,5.0 +VTS,1,1,180,0.58,CSH,4.0 +VTS,1,1,1800,4.09,CRD,20.5 +VTS,1,1,780,1.97,CRD,10.0 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,660,1.66,CRD,8.5 +VTS,1,1,1200,3.38,CSH,14.5 +VTS,1,1,720,1.91,CRD,9.0 +VTS,1,1,1380,12.88,CRD,36.0 +VTS,1,1,120,0.5,CRD,4.0 +VTS,1,1,60,0.3,CRD,3.5 +VTS,1,1,720,2.17,CSH,10.0 +VTS,1,1,120,0.52,CSH,3.5 +VTS,1,1,1200,6.01,CSH,20.5 +VTS,1,1,660,1.08,CSH,8.5 +VTS,1,1,540,1.17,CRD,7.5 +VTS,1,1,960,2.61,CSH,12.0 +VTS,1,1,1260,3.56,CRD,14.5 +VTS,1,1,480,2.35,CSH,9.0 +VTS,1,1,420,1.77,CRD,8.0 +VTS,1,1,900,5.81,CSH,19.0 +VTS,1,1,420,1.23,CRD,7.0 +VTS,1,1,660,2.8,CSH,11.0 +VTS,1,1,960,2.7,CSH,12.0 +VTS,1,1,1020,2.92,CSH,12.0 +VTS,1,1,1200,3.67,CRD,16.0 +VTS,1,5,240,0.81,CSH,5.5 +VTS,1,5,240,0.99,CSH,6.0 +VTS,1,1,780,3.24,CRD,12.5 +VTS,1,1,300,1.05,CSH,5.5 +VTS,1,1,480,2.0,CSH,9.0 +VTS,1,1,1140,3.15,CSH,14.5 +VTS,1,1,240,0.76,CSH,4.5 +VTS,1,1,1200,2.4,CSH,14.0 +VTS,1,1,900,3.76,CSH,14.5 +VTS,1,1,780,4.15,CRD,14.0 +VTS,1,5,360,1.06,CSH,6.0 +VTS,1,5,1020,2.76,CRD,12.0 +VTS,1,5,540,1.68,CRD,8.0 +VTS,1,1,420,1.01,CRD,6.0 +VTS,1,1,540,1.59,CSH,8.0 +VTS,1,1,240,0.77,CRD,4.5 +VTS,1,1,420,1.31,CSH,6.5 +VTS,1,1,780,1.9,CRD,9.0 +VTS,1,1,300,0.72,CRD,5.5 +VTS,2,1,2220,17.59,CRD,52.0 +VTS,1,1,180,0.44,CSH,4.0 +VTS,1,1,600,1.47,CRD,7.5 +VTS,1,1,480,1.74,CRD,8.5 +VTS,1,1,360,0.85,CRD,5.5 +VTS,1,1,900,1.58,CSH,10.0 +VTS,1,1,1800,7.76,CRD,27.0 +VTS,1,1,300,1.05,CSH,5.5 +VTS,1,6,60,0.13,CSH,2.5 +VTS,1,5,420,0.63,CSH,6.0 +VTS,1,5,540,1.95,CRD,9.0 +VTS,1,5,1380,3.73,CSH,16.5 +VTS,1,5,180,0.75,CSH,4.5 +VTS,1,5,240,0.85,CSH,5.5 +VTS,1,5,600,3.52,CRD,12.5 +VTS,1,5,300,0.76,CRD,5.5 +VTS,1,5,240,0.83,CRD,5.0 +VTS,1,5,720,1.88,CSH,10.0 +VTS,1,1,360,1.58,CSH,7.0 +VTS,1,1,600,3.0,CRD,11.5 +VTS,1,1,1680,15.63,CRD,42.0 +VTS,1,1,480,1.93,CRD,8.5 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,480,1.19,CRD,7.0 +VTS,1,1,480,1.04,CRD,7.5 +VTS,1,1,720,1.94,CSH,9.5 +VTS,1,1,540,1.38,CSH,8.0 +VTS,1,1,1680,4.43,CSH,20.0 +VTS,1,1,1080,5.32,CSH,19.0 +VTS,1,5,300,0.88,CSH,6.0 +VTS,1,5,120,0.51,CSH,4.0 +VTS,1,5,480,2.33,CRD,9.5 +VTS,1,5,1320,11.16,CSH,33.0 +VTS,1,1,180,0.57,CSH,4.0 +VTS,1,1,1980,5.95,CRD,25.0 +VTS,1,1,600,1.87,CSH,9.5 +VTS,1,1,2760,11.29,CSH,39.0 +VTS,1,1,720,2.53,CRD,11.0 +VTS,1,1,840,5.26,CRD,16.0 +VTS,1,1,1260,10.18,CSH,29.5 +VTS,1,1,360,1.12,CRD,6.0 +VTS,1,1,480,1.54,CSH,8.0 +VTS,1,1,420,1.71,CRD,7.5 +VTS,1,1,120,0.42,CSH,3.5 +VTS,1,1,300,2.02,CRD,7.5 +VTS,1,1,600,1.81,CRD,9.0 +VTS,1,1,960,6.08,CSH,20.0 +VTS,1,1,540,1.81,CRD,9.0 +VTS,1,1,180,0.35,CSH,4.0 +VTS,1,1,600,1.57,CRD,9.0 +VTS,1,1,480,2.05,CSH,8.5 +VTS,1,1,780,1.77,CRD,9.5 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,1,240,1.97,CRD,7.0 +VTS,3,1,1440,13.07,CRD,54.5 +VTS,1,1,720,1.35,CRD,9.0 +VTS,1,1,240,0.66,CSH,4.5 +VTS,1,1,300,1.59,CSH,7.0 +VTS,1,1,1200,4.71,CSH,19.0 +VTS,1,1,1200,5.54,CSH,20.0 +VTS,1,1,180,1.63,CRD,6.5 +VTS,1,1,240,1.44,CRD,6.0 +VTS,1,1,420,0.95,CSH,6.0 +VTS,1,1,900,1.47,CSH,10.5 +VTS,1,1,1320,4.67,CRD,19.0 +VTS,1,1,1080,3.58,CRD,15.0 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,900,2.35,CRD,12.0 +VTS,1,1,300,1.03,CRD,6.0 +VTS,2,1,2100,17.56,CRD,52.0 +VTS,1,1,1080,5.82,CRD,18.5 +VTS,1,1,1200,2.67,CSH,15.0 +VTS,1,1,540,0.57,CRD,7.0 +VTS,1,1,600,1.25,CSH,8.0 +VTS,1,1,360,1.03,CRD,6.0 +VTS,1,1,480,0.87,CSH,6.5 +VTS,1,1,360,1.41,CRD,6.5 +VTS,1,1,600,1.48,CRD,8.5 +VTS,1,1,660,2.08,CRD,9.5 +VTS,1,1,780,5.2,CRD,16.5 +VTS,1,1,2040,15.9,CRD,46.0 +VTS,2,1,2520,17.31,CSH,52.0 +VTS,1,1,900,2.36,CRD,11.5 +VTS,1,1,360,1.0,CRD,6.0 +VTS,5,1,1200,5.0,CRD,55.0 +VTS,1,1,240,1.56,CSH,6.5 +VTS,1,1,360,1.31,CSH,7.0 +VTS,1,1,540,2.36,CRD,9.0 +VTS,1,1,1200,5.71,CSH,18.0 +VTS,1,1,1620,7.14,CSH,22.5 +VTS,1,1,1080,5.45,CRD,18.5 +VTS,1,1,240,1.0,CSH,5.5 +VTS,1,1,1140,1.75,CRD,13.0 +VTS,1,1,480,1.56,CSH,7.5 +VTS,1,1,720,0.97,CSH,9.0 +VTS,1,1,120,0.55,CRD,4.0 +VTS,1,1,1020,4.41,CSH,16.0 +VTS,1,1,360,0.88,CRD,6.0 +VTS,1,1,600,1.0,CSH,7.5 +VTS,1,1,300,1.01,CSH,5.5 +VTS,1,1,600,2.31,CSH,10.0 +VTS,1,1,840,8.07,CRD,23.5 +VTS,1,1,3240,13.84,CSH,48.5 +VTS,1,1,540,1.5,CSH,8.5 +VTS,1,1,840,1.44,CRD,9.0 +VTS,1,1,180,0.52,CRD,4.0 +VTS,1,1,720,2.09,CRD,10.0 +VTS,1,1,420,1.27,CSH,6.5 +VTS,1,1,540,2.06,CSH,9.0 +VTS,1,1,780,4.1,CSH,15.0 +VTS,1,1,660,0.93,CRD,8.5 +VTS,1,1,1260,2.65,CRD,15.0 +VTS,1,1,240,0.73,CSH,5.0 +VTS,1,1,240,0.65,CSH,4.5 +VTS,1,1,900,3.0,CSH,12.0 +VTS,1,1,1020,8.48,CRD,25.0 +VTS,1,1,360,0.95,CSH,6.0 +VTS,1,1,300,0.97,CSH,5.5 +VTS,1,1,1680,4.58,CRD,19.5 +VTS,1,1,540,1.58,CRD,8.0 +VTS,1,1,120,0.79,CRD,4.5 +VTS,1,1,1080,2.2,CSH,11.5 +VTS,1,1,300,0.81,CSH,5.0 +VTS,1,5,300,0.81,CRD,5.5 +VTS,1,1,720,3.68,CRD,12.5 +VTS,1,1,840,5.08,CRD,16.5 +VTS,1,1,720,2.64,CRD,12.0 +VTS,1,1,480,1.62,CRD,8.0 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,420,1.82,CRD,8.5 +VTS,1,1,360,1.58,CSH,7.0 +VTS,1,1,900,2.62,CSH,11.5 +VTS,1,1,420,1.94,CSH,8.0 +VTS,1,1,1860,19.23,CSH,52.5 +VTS,1,5,1500,4.97,CSH,20.5 +VTS,1,5,900,2.53,CSH,11.5 +VTS,1,5,360,1.73,CRD,7.0 +VTS,1,5,300,1.14,CRD,5.5 +VTS,1,5,300,1.1,CRD,6.0 +VTS,1,5,480,1.96,CSH,9.0 +VTS,1,5,1260,9.54,CRD,28.5 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,540,0.84,CSH,7.0 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,840,4.56,CSH,16.5 +VTS,1,1,300,1.76,CSH,7.0 +VTS,1,1,600,1.77,CSH,9.0 +VTS,1,1,540,2.23,CRD,9.0 +VTS,1,1,900,1.6,CRD,11.0 +VTS,1,1,840,1.72,CSH,10.5 +VTS,1,5,360,0.98,CRD,6.0 +VTS,1,5,960,2.18,CSH,11.5 +VTS,1,5,480,1.28,CRD,7.0 +VTS,1,5,780,1.62,CRD,10.0 +VTS,1,5,300,0.67,CSH,5.0 +VTS,1,5,420,1.53,CSH,7.5 +VTS,1,5,600,2.47,CRD,10.0 +VTS,1,1,1320,4.45,CRD,19.0 +VTS,1,1,360,1.46,CSH,7.0 +VTS,1,1,660,2.24,CSH,10.0 +VTS,1,1,660,3.61,CRD,12.5 +VTS,1,5,420,1.62,CRD,7.0 +VTS,1,5,480,1.64,CRD,8.0 +VTS,1,5,840,4.43,CSH,15.5 +VTS,1,5,240,1.23,CRD,6.0 +VTS,1,5,900,5.44,CSH,17.5 +VTS,1,5,780,3.17,CRD,12.5 +VTS,1,5,1500,6.86,CSH,23.5 +VTS,1,5,180,0.86,CRD,5.0 +VTS,1,5,360,1.15,CRD,7.0 +VTS,1,5,420,1.32,CRD,7.0 +VTS,1,5,180,0.58,CSH,4.0 +VTS,1,5,360,1.35,CSH,7.0 +VTS,1,5,420,1.74,CSH,7.5 +VTS,1,5,540,1.91,CSH,8.5 +VTS,1,5,480,2.15,CRD,9.0 +VTS,1,5,480,1.52,CRD,7.5 +VTS,1,5,480,3.21,CSH,11.0 +VTS,1,5,660,2.45,CSH,11.0 +VTS,1,5,780,3.66,CSH,13.0 +VTS,1,1,180,0.54,CSH,4.0 +VTS,1,1,240,1.35,CSH,6.5 +VTS,1,1,1200,12.41,CRD,35.0 +VTS,1,1,300,1.34,CRD,6.5 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,360,0.41,CSH,5.5 +VTS,1,1,1440,3.08,CRD,16.5 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,5,300,0.89,CRD,5.5 +VTS,1,5,120,0.34,CSH,3.5 +VTS,1,5,120,0.46,CRD,3.5 +VTS,1,5,960,8.56,CRD,25.0 +VTS,1,5,0,0.03,CSH,2.5 +VTS,1,5,780,1.99,CRD,10.5 +VTS,1,5,480,0.86,CSH,6.5 +VTS,2,5,60,0.22,CSH,52.0 +VTS,1,5,780,3.6,CRD,12.5 +VTS,1,5,300,1.34,CSH,6.5 +VTS,1,5,360,1.0,CRD,6.0 +VTS,1,5,180,0.62,CRD,4.5 +VTS,1,5,360,1.01,CRD,6.0 +VTS,1,5,540,1.87,CSH,9.0 +VTS,1,5,840,3.51,CRD,13.5 +VTS,1,1,780,3.37,CSH,13.0 +VTS,1,1,840,4.65,CRD,15.5 +VTS,1,1,480,1.6,CSH,7.5 +VTS,1,1,660,3.7,CRD,12.0 +VTS,1,1,600,1.78,CRD,9.0 +VTS,1,1,480,0.74,CSH,6.5 +VTS,1,1,180,0.58,CRD,4.0 +VTS,1,1,480,1.59,CRD,8.0 +VTS,1,1,120,0.58,CSH,3.5 +VTS,1,1,240,0.89,CSH,4.5 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,900,2.77,CSH,13.0 +VTS,1,1,480,1.16,CRD,7.0 +VTS,1,1,360,0.67,CRD,5.5 +VTS,1,1,180,0.47,CSH,4.5 +VTS,1,1,540,1.74,CRD,8.5 +VTS,1,5,0,0.0,CSH,2.5 +VTS,1,5,300,2.24,CRD,8.0 +VTS,1,5,660,3.0,CSH,12.0 +VTS,1,5,660,1.91,CRD,9.0 +VTS,1,5,720,3.0,CSH,11.5 +VTS,1,5,420,2.32,CRD,8.5 +VTS,1,5,240,1.09,CSH,5.5 +VTS,2,5,3600,18.11,CRD,52.0 +VTS,1,5,720,2.26,CRD,10.5 +VTS,1,5,840,1.82,CRD,10.5 +VTS,1,5,1020,4.81,CRD,17.5 +VTS,1,1,1440,5.84,CSH,20.5 +VTS,1,5,660,2.28,CRD,10.0 +VTS,1,5,240,1.8,CSH,6.5 +VTS,1,5,420,1.14,CSH,7.0 +VTS,1,1,360,1.29,CSH,7.0 +VTS,1,1,780,2.61,CSH,11.5 +VTS,1,1,480,1.87,CRD,8.0 +VTS,1,1,540,3.58,CRD,12.5 +VTS,1,1,360,2.58,CRD,10.0 +VTS,1,1,360,0.81,CRD,5.5 +VTS,1,1,780,2.21,CSH,11.0 +VTS,1,1,600,1.01,CSH,8.5 +VTS,1,1,180,1.05,CSH,5.5 +VTS,1,1,840,3.03,CSH,12.5 +VTS,1,1,660,2.31,CSH,10.5 +VTS,1,1,180,0.83,CSH,5.0 +VTS,1,1,420,1.44,CRD,7.5 +VTS,1,1,420,1.28,CRD,7.5 +VTS,1,1,1200,3.4,CSH,16.0 +VTS,1,1,1260,3.46,CRD,16.0 +VTS,1,1,1140,4.44,CRD,17.0 +VTS,1,5,1620,14.71,CSH,41.0 +VTS,1,5,420,1.49,CRD,7.5 +VTS,1,5,180,0.49,CSH,4.0 +VTS,1,5,300,1.61,CSH,7.0 +VTS,1,5,360,1.3,CRD,6.5 +VTS,1,5,420,2.01,CRD,8.5 +VTS,1,5,240,1.17,CSH,5.5 +VTS,1,5,420,1.14,CSH,6.5 +VTS,1,5,540,1.95,CRD,9.0 +VTS,1,4,660,2.52,CSH,10.5 +VTS,1,5,780,2.5,CRD,11.0 +VTS,1,5,660,2.0,CSH,9.5 +VTS,1,5,480,0.81,CRD,6.5 +VTS,1,5,240,1.05,CRD,5.5 +VTS,1,5,540,2.04,CSH,9.0 +VTS,1,5,300,0.77,CSH,5.5 +VTS,1,5,900,3.72,CSH,14.0 +VTS,1,5,540,2.71,CRD,10.0 +VTS,1,5,240,0.7,CSH,5.0 +VTS,1,5,600,2.25,CRD,9.5 +VTS,1,5,180,0.56,CRD,4.5 +VTS,1,5,1620,2.33,CRD,17.0 +VTS,1,5,1020,5.1,CRD,17.5 +VTS,1,5,300,1.14,CRD,6.0 +VTS,1,5,240,0.91,CSH,5.5 +VTS,1,5,360,2.03,CSH,7.5 +VTS,1,5,300,1.17,CSH,5.5 +VTS,1,5,300,0.82,CRD,5.5 +VTS,1,5,1500,2.76,CRD,16.5 +VTS,1,5,540,2.02,CRD,9.0 +VTS,1,5,540,2.47,CRD,9.5 +VTS,1,1,60,0.3,CSH,3.5 +VTS,1,1,420,2.09,CSH,8.0 +VTS,1,1,540,1.68,CRD,8.5 +VTS,1,5,780,2.94,CRD,11.0 +VTS,1,5,780,2.83,CSH,12.0 +VTS,1,4,1320,5.7,CSH,20.5 +VTS,1,5,1380,14.67,CSH,40.0 +VTS,1,5,720,3.0,CRD,11.5 +VTS,1,5,720,1.99,CRD,10.5 +VTS,1,5,1440,9.17,CRD,28.5 +VTS,1,5,1260,9.67,CSH,29.0 +VTS,1,5,480,2.52,CRD,10.0 +VTS,1,5,360,1.3,CRD,7.0 +VTS,1,5,360,1.15,CRD,6.5 +VTS,1,5,480,1.58,CRD,8.0 +VTS,1,5,480,1.64,CRD,7.5 +VTS,1,5,360,1.58,CSH,7.0 +VTS,1,5,840,4.09,CRD,15.0 +VTS,1,5,1020,4.11,CRD,16.0 +VTS,1,5,660,2.07,CRD,10.0 +VTS,1,5,480,1.67,CRD,8.0 +VTS,1,5,840,2.72,CRD,12.0 +VTS,1,5,480,2.04,CSH,8.0 +VTS,1,5,900,3.85,CSH,14.5 +VTS,1,5,1140,3.3,CRD,15.0 +VTS,1,5,1020,2.91,CSH,13.0 +VTS,1,5,1140,8.23,CRD,25.5 +VTS,1,5,720,2.25,CSH,10.0 +VTS,1,5,240,0.83,CRD,5.0 +VTS,1,5,480,2.57,CRD,9.5 +VTS,1,5,300,1.07,CSH,5.5 +VTS,1,5,240,1.09,CRD,6.0 +VTS,1,5,300,0.78,CRD,5.5 +VTS,1,5,960,3.76,CSH,15.0 +VTS,1,5,900,2.83,CSH,12.5 +VTS,1,5,540,1.83,CSH,8.5 +VTS,1,5,1200,1.15,CRD,13.0 +VTS,1,5,1260,4.07,CRD,17.0 +VTS,1,5,1620,4.33,CSH,19.5 +VTS,1,5,600,1.29,CSH,8.0 +VTS,1,5,180,0.59,CSH,4.5 +VTS,1,5,600,2.58,CSH,10.5 +VTS,1,5,480,1.56,CSH,8.0 +VTS,1,5,180,0.41,CSH,4.5 +VTS,1,5,660,3.47,CSH,12.0 +VTS,1,5,240,0.5,CSH,5.0 +VTS,1,5,480,2.06,CRD,8.5 +VTS,1,5,480,1.38,CSH,7.5 +VTS,1,5,360,1.74,CRD,7.5 +VTS,1,5,120,0.32,CSH,3.5 +VTS,1,5,1260,4.38,CRD,18.0 +VTS,1,5,660,4.41,CSH,14.5 +VTS,1,5,540,2.04,CSH,9.0 +VTS,1,5,1080,10.79,CRD,30.5 +VTS,1,5,1020,4.54,CSH,15.5 +VTS,1,5,300,1.06,CSH,6.0 +VTS,1,5,1020,1.72,CRD,12.0 +VTS,1,5,420,0.89,CRD,6.5 +VTS,1,5,900,4.27,CRD,15.0 +VTS,1,5,720,2.27,CSH,10.0 +VTS,1,5,420,1.05,CSH,6.5 +VTS,1,5,600,2.29,CRD,10.5 +VTS,1,5,240,0.74,CSH,5.0 +VTS,1,5,600,2.09,CSH,9.0 +VTS,1,5,300,0.67,CRD,5.5 +VTS,1,5,420,1.11,CSH,6.5 +VTS,1,5,660,2.27,CSH,10.0 +VTS,1,5,900,2.07,CSH,11.5 +VTS,1,5,780,2.15,CRD,10.5 +VTS,1,5,1860,6.4,CRD,25.5 +VTS,1,5,420,1.89,CRD,8.0 +VTS,1,5,540,0.64,CSH,6.5 +VTS,1,5,540,1.12,CSH,7.0 +VTS,1,5,480,2.2,CRD,8.5 +VTS,1,5,420,1.08,CRD,6.5 +VTS,1,5,720,2.22,CRD,10.0 +VTS,1,5,660,2.61,CSH,10.5 +VTS,1,5,420,1.72,CRD,7.5 +VTS,1,1,420,1.09,CSH,6.5 +VTS,1,1,900,2.37,CSH,12.5 +VTS,1,1,2160,10.3,CRD,32.0 +VTS,2,1,2340,19.24,CRD,52.0 +VTS,1,1,1140,2.64,CRD,14.0 +VTS,1,1,1200,1.97,CSH,13.5 +VTS,1,1,600,2.79,CRD,10.0 +VTS,1,1,1260,4.09,CRD,17.0 +VTS,2,1,2700,18.17,CRD,52.0 +VTS,1,1,1140,4.95,CSH,17.0 +VTS,1,1,240,1.32,CRD,5.5 +VTS,1,1,300,1.34,CSH,6.0 +VTS,1,1,300,0.79,CRD,5.0 +VTS,1,1,600,1.05,CSH,7.5 +VTS,1,1,1380,2.1,CRD,15.0 +VTS,1,6,120,0.0,CSH,3.0 +VTS,1,5,420,0.87,CRD,6.5 +VTS,1,5,240,1.16,CRD,5.5 +VTS,1,5,960,4.47,CRD,16.5 +VTS,1,5,540,1.36,CSH,7.5 +VTS,1,5,1320,9.82,CSH,29.5 +VTS,1,5,60,0.49,CRD,3.5 +VTS,1,5,720,1.96,CRD,10.0 +VTS,1,1,600,2.57,CSH,11.0 +VTS,1,1,360,2.2,CRD,8.5 +VTS,1,1,60,0.41,CRD,3.5 +VTS,1,1,2160,9.7,CSH,34.0 +VTS,1,5,240,0.9,CSH,5.5 +VTS,1,5,2520,12.4,CSH,40.5 +VTS,1,5,360,1.04,CRD,6.0 +VTS,1,5,480,1.37,CRD,7.5 +VTS,1,5,840,2.97,CSH,12.0 +VTS,1,5,120,0.29,CRD,3.5 +VTS,1,5,600,3.53,CRD,12.5 +VTS,1,5,1860,4.59,CRD,21.5 +VTS,1,5,1080,2.63,CRD,13.5 +VTS,1,5,180,0.47,CSH,4.0 +VTS,1,5,720,2.01,CRD,10.0 +VTS,1,5,300,0.93,CSH,5.5 +VTS,1,5,240,0.99,CSH,5.0 +VTS,1,5,780,2.8,CRD,12.0 +VTS,1,5,420,2.97,CRD,10.0 +VTS,1,5,420,1.66,CRD,8.0 +VTS,1,5,240,0.72,CSH,4.5 +VTS,1,5,840,4.79,CRD,15.5 +VTS,1,5,660,3.09,CSH,11.5 +VTS,1,5,720,2.88,CRD,11.5 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,960,2.32,CSH,11.5 +VTS,1,1,660,1.99,CSH,8.5 +VTS,1,1,1800,5.92,CRD,23.0 +VTS,1,1,1440,9.34,CSH,29.5 +VTS,1,1,1320,13.54,CRD,37.0 +VTS,1,1,240,1.05,CSH,5.5 +VTS,1,1,600,2.23,CSH,9.5 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,900,3.41,CSH,14.0 +VTS,1,1,480,4.06,CRD,13.5 +VTS,1,1,540,1.55,CRD,8.5 +VTS,1,5,420,0.96,CSH,5.5 +VTS,1,5,600,2.39,CSH,10.0 +VTS,1,5,1020,7.6,CRD,23.0 +VTS,1,5,480,1.3,CRD,7.5 +VTS,1,5,300,1.06,CSH,6.0 +VTS,1,5,300,1.88,CRD,7.5 +VTS,1,5,300,1.68,CRD,7.0 +VTS,1,5,540,3.42,CRD,12.0 +VTS,1,5,900,4.18,CRD,15.5 +VTS,1,5,180,0.42,CRD,4.0 +VTS,1,5,1140,2.97,CRD,14.0 +VTS,1,5,720,3.56,CRD,12.5 +VTS,1,5,600,2.41,CRD,10.0 +VTS,1,5,1620,6.0,CRD,23.0 +VTS,1,5,600,2.03,CRD,9.0 +VTS,1,5,360,0.6,CRD,5.5 +VTS,1,5,420,1.13,CSH,6.5 +VTS,1,5,1380,3.52,CSH,16.5 +VTS,1,5,660,3.1,CRD,11.5 +VTS,1,5,780,4.27,CRD,15.5 +VTS,1,5,600,1.1,CSH,7.5 +VTS,1,4,720,2.24,CRD,10.5 +VTS,1,5,600,1.51,CSH,8.5 +VTS,1,5,240,0.67,CRD,5.0 +VTS,1,5,900,3.28,CRD,13.5 +VTS,1,5,300,0.76,CSH,5.5 +VTS,1,5,240,0.38,CRD,4.5 +VTS,1,5,540,1.71,CRD,8.5 +VTS,1,5,540,2.02,CSH,9.0 +VTS,1,5,240,0.63,CSH,5.0 +VTS,1,5,300,0.57,CRD,5.0 +VTS,1,5,360,1.05,CRD,6.0 +VTS,1,5,60,0.31,CSH,3.0 +VTS,1,5,360,1.68,CRD,7.5 +VTS,1,5,420,0.87,CRD,6.0 +VTS,1,5,600,2.4,CRD,10.0 +VTS,1,5,300,0.65,CRD,4.5 +VTS,1,5,120,0.44,CRD,3.5 +VTS,1,5,1620,3.64,CRD,18.5 +VTS,1,5,300,0.82,CSH,5.5 +VTS,1,5,420,1.81,CSH,8.0 +VTS,1,5,1020,4.7,CSH,16.5 +VTS,1,5,1680,8.24,CRD,28.0 +VTS,1,5,900,5.26,CRD,17.5 +VTS,1,5,1020,4.73,CRD,16.5 +VTS,1,5,360,1.69,CRD,7.5 +VTS,1,5,660,2.15,CRD,10.0 +VTS,1,5,420,1.49,CRD,7.5 +VTS,1,5,840,2.5,CRD,11.5 +VTS,1,5,960,2.37,CRD,12.0 +VTS,1,5,480,0.24,CSH,6.5 +VTS,1,5,600,1.13,CSH,8.0 +VTS,1,5,1080,1.53,CRD,12.5 +VTS,1,5,900,2.82,CRD,13.0 +VTS,1,5,420,2.61,CSH,9.0 +VTS,1,5,600,0.99,CRD,8.0 +VTS,1,5,300,0.96,CRD,5.5 +VTS,1,5,240,1.27,CSH,6.0 +VTS,1,5,720,2.5,CRD,11.0 +VTS,1,5,480,1.25,CSH,7.5 +VTS,1,5,420,0.68,CSH,6.0 +VTS,1,5,360,2.51,CRD,9.0 +VTS,1,5,240,1.11,CSH,5.5 +VTS,1,5,720,3.38,CRD,12.5 +VTS,1,5,0,0.0,CSH,2.5 +VTS,1,5,600,2.3,CRD,9.5 +VTS,1,5,420,1.72,CRD,8.0 +VTS,1,1,600,1.58,CSH,9.0 +VTS,1,1,1080,2.75,CRD,14.0 +VTS,1,1,60,0.06,CSH,2.5 +VTS,1,1,1800,4.27,CSH,20.0 +VTS,1,5,420,1.03,CRD,6.5 +VTS,1,5,720,5.11,CRD,16.0 +VTS,2,5,2400,21.48,CRD,52.0 +VTS,1,5,480,2.14,CSH,8.5 +VTS,1,5,900,5.36,CSH,18.0 +VTS,1,1,600,1.59,CRD,8.5 +VTS,1,1,540,1.33,CSH,8.0 +VTS,1,1,360,1.36,CRD,7.0 +VTS,1,1,1020,1.95,CSH,11.0 +VTS,1,1,1140,5.27,CSH,19.5 +VTS,1,1,120,0.47,CSH,4.0 +VTS,1,1,240,1.19,CSH,5.5 +VTS,1,1,240,0.7,CRD,4.5 +VTS,1,1,1080,3.8,CRD,16.0 +VTS,1,1,240,0.71,CRD,5.5 +VTS,1,1,540,1.68,CSH,9.0 +VTS,1,1,480,0.67,CSH,6.0 +VTS,2,1,2940,21.2,CRD,52.0 +VTS,2,1,1200,15.27,CRD,52.0 +VTS,1,1,600,2.75,CRD,10.5 +VTS,1,1,1440,6.84,CRD,23.5 +VTS,1,1,180,0.77,CRD,4.5 +VTS,1,1,660,2.55,CSH,11.0 +VTS,1,1,1320,4.25,CRD,18.5 +VTS,1,1,720,1.27,CRD,9.0 +VTS,1,1,1200,2.4,CSH,12.5 +VTS,1,2,600,1.29,CRD,8.0 +VTS,1,1,1380,3.76,CSH,18.0 +VTS,1,1,1140,6.85,CRD,22.5 +VTS,1,1,600,2.54,CRD,10.5 +VTS,1,1,540,2.04,CRD,9.0 +VTS,1,1,1320,5.13,CRD,19.0 +VTS,1,1,780,3.4,CRD,13.5 +VTS,1,1,420,0.98,CRD,6.5 +VTS,1,1,960,2.88,CSH,13.0 +VTS,1,1,780,1.58,CRD,9.5 +VTS,1,1,420,1.23,CSH,7.0 +VTS,1,1,1740,4.29,CSH,20.0 +VTS,1,1,840,2.03,CSH,8.0 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,1200,1.2,CRD,13.0 +VTS,1,1,720,1.37,CRD,9.0 +VTS,1,1,420,1.36,CRD,6.5 +VTS,1,1,300,0.25,CSH,4.5 +VTS,1,1,1800,14.49,CSH,42.5 +VTS,1,1,1740,15.34,CRD,44.0 +VTS,1,1,600,1.52,CRD,9.0 +VTS,1,1,1500,4.54,CSH,15.0 +VTS,1,1,540,1.38,CSH,7.5 +VTS,1,1,540,1.64,CSH,8.0 +VTS,1,1,1740,2.7,CSH,19.0 +VTS,1,1,540,1.72,CRD,8.0 +VTS,1,5,660,2.15,CSH,10.0 +VTS,1,5,240,0.42,CSH,4.0 +VTS,1,5,180,0.54,CSH,4.0 +VTS,1,5,660,2.95,CRD,11.5 +VTS,1,5,540,1.8,CSH,8.5 +VTS,1,5,780,2.54,CRD,11.0 +VTS,1,5,180,0.83,CRD,5.0 +VTS,1,5,360,0.72,CSH,5.5 +VTS,1,5,420,1.27,CRD,7.0 +VTS,1,5,480,1.69,CRD,8.0 +VTS,1,5,480,1.92,CSH,8.5 +VTS,1,5,540,2.29,CSH,9.5 +VTS,1,1,540,1.48,CRD,8.5 +VTS,1,1,660,2.1,CRD,10.0 +VTS,1,1,360,0.8,CRD,6.0 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,360,1.1,CRD,6.0 +VTS,1,1,600,1.36,CRD,8.5 +VTS,1,1,360,0.8,CSH,6.0 +VTS,1,1,780,1.8,CSH,10.0 +VTS,1,1,420,1.74,CSH,7.0 +VTS,1,1,840,2.45,CSH,11.5 +VTS,1,1,600,1.3,CSH,8.5 +VTS,1,1,900,1.24,CSH,10.0 +VTS,1,1,1080,2.15,CRD,12.5 +VTS,1,1,1800,12.38,CRD,36.0 +VTS,1,5,240,0.66,CRD,5.0 +VTS,1,5,720,2.05,CRD,10.0 +VTS,1,5,120,0.36,CSH,3.5 +VTS,1,5,360,1.46,CRD,7.0 +VTS,1,5,180,0.42,CSH,4.0 +VTS,1,5,540,1.65,CRD,8.0 +VTS,1,5,720,1.77,CRD,9.5 +VTS,1,5,480,1.43,CSH,7.5 +VTS,1,5,600,2.89,CRD,11.0 +VTS,1,5,600,2.26,CSH,9.5 +VTS,1,5,540,0.98,CRD,7.5 +VTS,1,5,840,4.99,CSH,16.0 +VTS,1,5,360,1.29,CSH,6.5 +VTS,1,5,1260,2.18,CRD,14.0 +VTS,1,5,660,3.31,CRD,11.5 +VTS,1,5,1260,8.89,CRD,27.0 +VTS,1,5,900,1.13,CRD,10.0 +VTS,1,5,600,2.07,CRD,9.5 +VTS,1,5,900,8.77,CRD,25.0 +VTS,1,5,720,2.89,CRD,12.0 +VTS,1,5,540,1.35,CRD,8.0 +VTS,1,5,60,0.0,CSH,2.5 +VTS,1,5,300,0.98,CSH,5.5 +VTS,1,5,420,1.12,CSH,6.5 +VTS,1,5,360,2.43,CRD,8.5 +VTS,1,5,660,2.01,CSH,10.0 +VTS,1,5,1500,9.46,CRD,30.0 +VTS,1,5,1320,6.82,CRD,23.0 +VTS,1,5,480,2.4,CRD,9.5 +VTS,1,5,240,0.89,CSH,5.5 +VTS,1,5,780,2.26,CSH,10.5 +VTS,1,5,240,1.14,CRD,5.5 +VTS,1,5,960,7.7,CRD,22.5 +VTS,1,1,780,2.02,CSH,10.5 +VTS,1,1,240,0.85,CRD,5.5 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,540,1.32,CRD,8.0 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,660,2.03,CSH,9.5 +VTS,1,1,1500,3.21,CRD,15.0 +VTS,1,1,240,0.46,CRD,4.5 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,1,720,1.21,CRD,9.0 +VTS,1,1,1140,4.28,CRD,16.0 +VTS,1,1,840,1.94,CSH,11.0 +VTS,1,1,360,0.51,CRD,5.0 +VTS,1,1,480,1.51,CRD,7.5 +VTS,1,1,2880,21.44,CRD,57.0 +VTS,1,1,600,2.99,CRD,10.5 +VTS,1,1,300,0.61,CSH,4.5 +VTS,1,1,1140,1.98,CRD,13.0 +VTS,1,1,480,1.18,CRD,7.0 +VTS,1,1,360,1.78,CSH,7.5 +VTS,1,1,420,0.9,CSH,6.5 +VTS,1,1,2100,8.06,CRD,28.5 +VTS,1,1,240,0.71,CRD,5.0 +VTS,1,1,840,3.62,CRD,13.5 +VTS,1,1,360,1.64,CSH,7.5 +VTS,1,1,540,1.44,CSH,8.0 +VTS,1,1,600,1.09,CRD,7.5 +VTS,1,1,660,0.97,CSH,8.0 +VTS,1,1,840,2.82,CRD,12.5 +VTS,1,1,2640,14.03,CSH,43.5 +VTS,2,1,2640,17.23,CRD,52.0 +VTS,1,1,840,1.58,CSH,10.0 +VTS,2,1,2040,16.96,CSH,52.0 +VTS,1,1,1020,2.23,CRD,12.5 +VTS,1,1,360,0.91,CRD,5.5 +VTS,1,1,600,0.94,CSH,7.0 +VTS,1,1,180,0.4,CSH,4.0 +VTS,1,1,1440,1.78,CSH,15.0 +VTS,2,1,2160,17.6,CSH,52.0 +VTS,1,1,1380,1.85,CSH,15.5 +VTS,2,1,3720,17.62,CSH,52.0 +VTS,1,1,360,1.17,CRD,6.5 +VTS,1,1,300,0.58,CRD,5.5 +VTS,1,1,1140,2.51,CRD,13.5 +VTS,1,1,1620,1.86,CSH,16.5 +VTS,1,1,540,1.7,CSH,8.5 +VTS,1,5,900,3.91,CRD,14.0 +VTS,1,5,840,4.16,CSH,14.0 +VTS,1,5,720,4.27,CRD,15.0 +VTS,1,5,660,1.39,CSH,8.5 +VTS,1,5,420,1.41,CRD,7.0 +VTS,1,5,1440,15.9,CRD,43.5 +VTS,1,5,480,1.26,CRD,7.5 +VTS,1,5,960,9.23,CSH,26.5 +VTS,1,5,480,1.96,CRD,8.5 +VTS,1,5,540,2.16,CRD,9.0 +VTS,5,1,60,0.0,CRD,10.0 +VTS,1,5,360,0.9,CRD,5.5 +VTS,1,5,1260,5.1,CRD,19.0 +VTS,1,5,660,3.79,CSH,14.0 +VTS,1,5,300,0.88,CSH,6.0 +VTS,1,5,900,3.9,CRD,14.0 +VTS,1,5,240,0.46,CSH,5.0 +VTS,1,5,300,1.95,CRD,7.5 +VTS,1,5,300,2.18,CRD,8.0 +VTS,1,5,540,1.06,CRD,7.5 +VTS,1,5,300,1.3,CSH,6.0 +VTS,1,5,480,1.68,CSH,8.0 +VTS,1,5,420,1.72,CSH,8.0 +VTS,1,5,0,0.0,CSH,2.5 +VTS,1,5,600,2.32,CRD,10.0 +VTS,1,5,600,1.96,CSH,9.0 +VTS,1,5,540,1.14,CRD,7.5 +VTS,1,5,1800,7.37,CRD,26.0 +VTS,1,5,480,1.23,CRD,7.0 +VTS,1,1,660,1.55,CSH,9.0 +VTS,1,1,1080,2.73,CRD,13.5 +VTS,1,1,960,1.31,CRD,11.0 +VTS,1,1,300,0.82,CRD,5.0 +VTS,1,1,300,0.83,CRD,5.0 +VTS,1,1,480,1.52,CSH,8.0 +VTS,1,1,480,0.81,CSH,6.5 +VTS,1,1,540,1.71,CSH,8.5 +VTS,1,1,840,1.54,CRD,10.0 +VTS,1,1,540,0.99,CSH,7.5 +VTS,1,1,900,2.13,CRD,11.5 +VTS,1,1,1740,3.76,CRD,20.0 +VTS,1,1,720,1.62,CRD,9.5 +VTS,1,1,420,1.24,CRD,7.0 +VTS,1,1,1320,8.49,CSH,26.5 +VTS,1,1,300,2.08,CRD,8.0 +VTS,1,1,1200,2.83,CRD,14.5 +VTS,1,1,900,2.43,CRD,11.5 +VTS,1,1,960,1.88,CSH,11.5 +VTS,1,1,1020,8.04,CRD,24.0 +VTS,1,1,660,1.36,CRD,9.0 +VTS,1,1,780,2.06,CRD,11.0 +VTS,1,1,1620,12.87,CRD,37.0 +VTS,1,1,480,1.09,CRD,7.0 +VTS,1,1,660,1.48,CRD,8.5 +VTS,1,1,1140,1.85,CRD,12.5 +VTS,1,1,480,1.1,CRD,7.5 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,300,1.05,CRD,5.5 +VTS,2,1,3240,18.53,CRD,52.0 +VTS,1,1,600,1.56,CSH,8.5 +VTS,1,1,840,2.66,CSH,12.0 +VTS,1,1,480,1.1,CRD,7.0 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,1260,8.5,CRD,26.5 +VTS,2,1,5640,18.02,CRD,52.0 +VTS,1,1,240,0.58,CRD,4.5 +VTS,1,1,1140,4.6,CRD,18.0 +VTS,1,1,540,0.81,CSH,6.0 +VTS,1,2,120,0.45,CRD,3.5 +VTS,1,1,300,0.98,CRD,6.0 +VTS,1,1,420,1.29,CSH,7.0 +VTS,1,1,720,1.7,CSH,9.0 +VTS,1,1,720,2.51,CRD,10.5 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,720,2.58,CSH,11.5 +VTS,1,1,1020,3.32,CSH,13.5 +VTS,1,1,480,0.51,CRD,6.5 +VTS,1,1,360,0.6,CSH,5.0 +VTS,1,1,1080,1.13,CRD,12.0 +VTS,1,5,960,7.52,CSH,22.5 +VTS,1,5,360,1.61,CSH,7.0 +VTS,1,5,360,1.43,CSH,7.0 +VTS,1,5,1200,3.43,CRD,15.0 +VTS,1,5,300,0.99,CRD,6.0 +VTS,1,5,0,0.0,CSH,2.5 +VTS,5,1,60,0.0,CRD,60.0 +VTS,1,5,1020,8.88,CRD,26.0 +VTS,1,5,600,0.53,CSH,7.5 +VTS,1,5,540,2.04,CRD,9.0 +VTS,1,5,660,1.94,CRD,9.5 +VTS,1,4,60,0.01,CSH,2.5 +VTS,1,5,900,4.79,CRD,15.5 +VTS,1,5,720,2.81,CSH,11.5 +VTS,1,5,720,4.05,CRD,14.5 +VTS,1,5,120,1.16,CSH,5.0 +VTS,1,5,2700,9.31,CSH,36.5 +VTS,1,5,660,2.68,CSH,11.0 +VTS,1,5,600,1.77,CRD,9.0 +VTS,1,1,1140,2.48,CRD,14.0 +VTS,1,1,1620,9.67,CRD,30.5 +VTS,1,1,1440,5.26,CRD,20.5 +VTS,1,1,1140,1.35,CRD,12.0 +VTS,1,1,540,1.46,CSH,6.5 +VTS,1,1,720,2.29,CRD,11.0 +VTS,1,1,480,1.35,CSH,8.0 +VTS,1,1,960,5.84,CSH,19.5 +VTS,1,5,1860,12.35,CSH,37.0 +VTS,1,5,1320,2.35,CSH,14.5 +VTS,1,5,600,1.65,CSH,9.0 +VTS,2,5,0,0.0,CRD,52.0 +VTS,1,5,480,1.56,CSH,7.5 +VTS,1,5,600,2.29,CSH,10.0 +VTS,1,5,240,0.55,CSH,4.5 +VTS,1,5,480,1.68,CRD,7.5 +VTS,1,1,420,1.5,CRD,7.0 +VTS,1,1,300,0.58,CRD,5.0 +VTS,1,1,1020,3.46,CRD,14.0 +VTS,1,1,1980,3.65,CRD,21.5 +VTS,1,1,720,1.69,CRD,9.5 +VTS,1,1,360,1.83,CRD,7.5 +VTS,1,1,840,2.63,CSH,12.0 +VTS,1,1,720,2.2,CRD,10.5 +VTS,1,1,1860,4.98,CSH,22.0 +VTS,2,1,1980,17.52,CRD,52.0 +VTS,1,1,540,0.82,CSH,7.0 +VTS,1,1,420,1.34,CRD,7.0 +VTS,1,1,840,1.38,CSH,10.0 +VTS,1,1,120,0.54,CRD,4.0 +VTS,1,1,600,2.79,CRD,10.5 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,1380,3.38,CSH,17.0 +VTS,1,1,420,0.87,CRD,6.5 +VTS,1,1,960,2.39,CRD,12.0 +VTS,2,1,3120,17.41,CRD,52.0 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,840,3.19,CSH,12.5 +VTS,1,1,600,2.41,CRD,10.0 +VTS,1,1,420,0.94,CSH,6.5 +VTS,1,1,420,1.36,CSH,7.0 +VTS,1,1,900,7.27,CRD,21.0 +VTS,1,1,960,2.36,CSH,12.0 +VTS,1,1,780,2.69,CRD,12.0 +VTS,1,1,300,0.82,CRD,5.0 +VTS,1,1,360,0.76,CRD,5.5 +VTS,1,1,420,0.99,CSH,6.5 +VTS,1,1,360,1.38,CRD,6.5 +VTS,1,1,660,1.69,CRD,9.0 +VTS,1,1,420,0.9,CSH,6.0 +VTS,1,1,960,2.66,CRD,12.0 +VTS,1,1,1800,5.73,CRD,23.0 +VTS,1,1,600,1.07,CRD,8.0 +VTS,1,1,420,1.16,CSH,6.5 +VTS,1,1,720,2.68,CRD,11.0 +VTS,1,1,720,1.14,CRD,8.5 +VTS,1,1,660,0.46,CSH,8.0 +VTS,1,1,600,1.8,CRD,9.0 +VTS,1,1,1920,5.32,CRD,23.5 +VTS,1,1,240,0.72,CRD,4.5 +VTS,1,1,1200,10.05,CRD,29.5 +VTS,1,1,420,0.76,CSH,6.0 +VTS,1,1,720,1.19,CSH,9.0 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,540,1.74,CSH,8.0 +VTS,1,1,300,0.3,CSH,4.5 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,300,0.54,CSH,5.0 +VTS,1,1,420,1.0,CRD,6.5 +VTS,1,1,1080,2.63,CRD,13.0 +VTS,1,1,420,1.12,CRD,7.0 +VTS,1,1,900,2.28,CSH,11.0 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,1140,4.1,CRD,16.0 +VTS,1,1,240,0.84,CRD,5.0 +VTS,1,1,360,0.94,CSH,6.0 +VTS,1,1,240,0.73,CSH,5.0 +VTS,1,2,840,1.97,CSH,11.0 +VTS,1,1,780,1.99,CSH,10.5 +VTS,1,1,420,0.93,CSH,6.5 +VTS,1,1,420,1.2,CRD,6.5 +VTS,1,1,480,1.03,CSH,7.0 +VTS,1,1,1500,3.96,CRD,18.5 +VTS,1,1,1440,3.47,CRD,17.0 +VTS,1,1,420,2.44,CSH,9.0 +VTS,1,1,420,2.41,CRD,9.0 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,840,1.47,CSH,10.0 +VTS,1,1,1140,9.23,CSH,27.0 +VTS,1,1,960,1.52,CRD,11.0 +VTS,1,1,600,4.74,CRD,15.0 +VTS,1,1,180,0.55,CRD,4.0 +VTS,1,1,1800,7.91,CRD,29.0 +VTS,1,1,420,1.14,CSH,7.0 +VTS,2,1,0,0.02,CSH,52.0 +VTS,1,1,600,0.78,CRD,7.5 +VTS,1,1,540,1.77,CRD,8.5 +VTS,1,1,720,1.19,CRD,9.0 +VTS,1,1,300,0.42,CRD,5.5 +VTS,1,1,360,0.92,CRD,6.0 +VTS,1,1,1320,3.3,CRD,15.5 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,0,0.0,CRD,2.5 +VTS,1,1,120,0.53,CSH,3.5 +VTS,1,2,240,0.61,CRD,5.0 +VTS,1,1,120,0.49,CSH,4.0 +VTS,1,1,780,2.02,CSH,10.0 +VTS,1,1,120,0.35,CRD,3.5 +VTS,1,1,180,0.54,CSH,4.0 +VTS,1,1,360,1.59,CSH,7.0 +VTS,1,1,600,1.79,CRD,9.0 +VTS,1,1,420,1.37,CSH,7.0 +VTS,1,1,480,1.02,CSH,7.0 +VTS,1,1,900,1.22,CSH,10.5 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,240,0.85,CSH,5.0 +VTS,1,1,1320,2.86,CRD,15.0 +VTS,1,1,300,1.87,CRD,7.5 +VTS,2,1,2400,17.63,CSH,52.0 +VTS,1,1,960,2.48,CRD,12.0 +VTS,1,1,540,0.89,CRD,7.5 +VTS,1,1,480,2.49,CSH,9.5 +VTS,1,1,480,1.24,CRD,7.0 +VTS,1,1,360,0.95,CSH,6.0 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,420,3.42,CRD,11.5 +VTS,1,1,600,3.21,CSH,12.0 +VTS,1,1,1020,9.25,CRD,26.5 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,660,1.93,CSH,9.5 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,420,1.07,CSH,7.0 +VTS,1,1,660,1.56,CRD,9.5 +VTS,1,1,480,1.99,CRD,8.5 +VTS,1,1,2400,8.32,CSH,34.0 +VTS,1,1,540,2.45,CSH,9.5 +VTS,1,1,420,1.74,CRD,7.5 +VTS,1,1,240,0.92,CSH,5.0 +VTS,1,1,600,3.54,CRD,12.0 +VTS,1,1,660,1.9,CSH,9.5 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,1,1920,8.37,CSH,28.5 +VTS,1,1,2220,12.91,CSH,40.5 +VTS,1,1,180,0.6,CSH,4.0 +VTS,1,1,780,2.75,CSH,11.5 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,1080,3.34,CRD,14.0 +VTS,1,1,2220,23.96,CRD,63.5 +VTS,1,1,780,2.43,CSH,11.5 +VTS,1,1,360,1.36,CSH,7.0 +VTS,1,1,480,0.83,CRD,6.5 +VTS,1,1,1620,5.01,CSH,21.0 +VTS,1,1,480,1.15,CSH,6.5 +VTS,1,1,660,3.76,CRD,13.5 +VTS,1,1,420,2.08,CSH,8.5 +VTS,1,2,900,2.5,CRD,12.0 +VTS,1,1,240,0.2,CSH,4.0 +VTS,1,1,300,0.68,CSH,5.5 +VTS,1,1,180,0.45,CSH,4.0 +VTS,1,1,1440,4.34,CSH,19.0 +VTS,1,2,360,1.23,CSH,7.0 +VTS,1,2,540,0.94,CRD,7.5 +VTS,1,1,960,3.84,CRD,15.0 +VTS,1,1,180,0.85,CRD,5.0 +VTS,1,1,180,1.22,CSH,5.5 +VTS,1,1,1860,5.13,CRD,23.5 +VTS,1,1,600,1.17,CSH,7.5 +VTS,1,1,240,0.81,CSH,5.0 +VTS,1,1,540,1.89,CRD,8.5 +VTS,1,1,540,1.65,CSH,8.0 +VTS,1,1,120,0.45,CRD,3.5 +VTS,1,1,1020,3.03,CSH,13.5 +VTS,1,1,780,2.64,CSH,11.5 +VTS,1,1,60,0.06,CSH,2.5 +VTS,1,1,1500,3.75,CRD,18.5 +VTS,1,1,300,1.08,CRD,5.5 +VTS,1,1,1440,4.81,CRD,20.0 +VTS,1,1,720,1.34,CRD,9.5 +VTS,1,1,1200,2.48,CSH,11.0 +VTS,1,1,1440,15.33,CRD,41.5 +VTS,1,1,600,1.48,CSH,8.5 +VTS,1,1,960,2.04,CSH,8.5 +VTS,1,1,480,1.15,CSH,5.5 +VTS,1,1,540,1.37,CRD,7.5 +VTS,1,1,720,1.37,CRD,9.0 +VTS,1,1,1260,2.17,CSH,14.5 +VTS,1,1,420,1.69,CRD,8.0 +VTS,1,1,240,0.82,CSH,5.0 +VTS,1,1,960,1.77,CRD,11.5 +VTS,2,1,2700,14.71,CSH,52.0 +VTS,1,1,600,2.3,CRD,9.5 +VTS,1,1,540,0.66,CRD,7.0 +VTS,1,1,720,1.37,CRD,9.0 +VTS,1,1,900,2.0,CRD,11.5 +VTS,1,1,2640,23.88,CSH,64.0 +VTS,1,1,240,1.07,CSH,5.5 +VTS,1,1,1500,3.66,CSH,18.0 +VTS,1,1,1080,2.34,CSH,12.5 +VTS,1,1,720,1.94,CSH,10.0 +VTS,1,1,960,3.28,CSH,13.5 +VTS,1,1,960,3.5,CRD,14.0 +VTS,1,1,2940,21.57,CSH,60.0 +VTS,1,1,540,1.18,CRD,7.5 +VTS,1,1,780,3.52,CSH,12.5 +VTS,1,1,900,4.34,CRD,15.5 +VTS,1,1,540,1.88,CRD,9.0 +VTS,1,1,480,1.2,CRD,7.0 +VTS,1,1,780,1.57,CSH,9.5 +VTS,1,1,180,0.46,CSH,4.0 +VTS,1,1,1320,9.61,CRD,28.5 +VTS,1,1,480,1.33,CRD,7.0 +VTS,1,1,1320,2.69,CRD,15.0 +VTS,1,1,720,1.34,CRD,9.0 +VTS,1,1,1620,4.45,CSH,18.5 +VTS,1,1,360,1.6,CRD,7.0 +VTS,1,1,840,1.86,CSH,10.5 +VTS,1,1,480,3.32,CRD,11.5 +VTS,1,1,300,1.08,CRD,6.0 +VTS,1,1,1320,2.84,CRD,16.0 +VTS,1,1,540,1.59,CSH,8.5 +VTS,1,1,300,0.6,CSH,5.5 +VTS,1,1,240,0.47,CSH,4.5 +VTS,1,1,360,1.18,CSH,6.0 +VTS,1,1,360,1.11,CSH,6.0 +VTS,1,1,2280,15.39,CSH,45.5 +VTS,2,1,3240,15.39,CRD,52.0 +VTS,1,1,960,2.41,CRD,12.5 +VTS,2,1,2160,19.32,CRD,52.0 +VTS,1,1,600,2.78,CRD,10.5 +VTS,1,1,420,1.19,CRD,6.5 +VTS,1,1,960,2.4,CRD,12.5 +VTS,1,1,600,1.94,CRD,9.0 +VTS,1,1,360,0.77,CRD,6.0 +VTS,1,1,480,0.5,CRD,6.0 +VTS,1,1,480,1.26,CSH,7.5 +VTS,2,1,2880,17.39,CSH,52.0 +VTS,1,1,960,1.78,CRD,11.0 +VTS,1,1,240,0.75,CRD,5.0 +VTS,1,1,660,1.97,CRD,9.0 +VTS,1,1,1320,6.08,CRD,21.0 +VTS,1,1,240,0.65,CRD,5.0 +VTS,1,1,240,0.73,CSH,5.0 +VTS,1,1,900,2.5,CRD,12.5 +VTS,1,2,1260,3.87,CRD,17.0 +VTS,1,1,420,1.42,CRD,7.0 +VTS,1,1,360,0.46,CSH,5.5 +VTS,1,1,180,1.02,CSH,5.0 +VTS,1,1,2700,5.19,CSH,30.0 +VTS,1,1,540,3.15,CRD,11.5 +VTS,1,1,780,4.31,CRD,14.5 +VTS,1,1,780,1.99,CRD,10.5 +VTS,1,1,1320,4.66,CRD,19.5 +VTS,1,1,60,0.58,CSH,3.5 +VTS,1,1,300,1.35,CSH,6.0 +VTS,1,1,780,4.07,CRD,13.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,600,2.59,CRD,10.0 +VTS,1,1,180,0.54,CSH,4.0 +VTS,1,1,780,1.95,CRD,10.5 +VTS,1,1,240,0.94,CRD,5.5 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,840,3.66,CRD,14.0 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,360,0.85,CSH,6.0 +VTS,1,1,480,1.07,CRD,7.5 +VTS,1,1,660,1.79,CSH,8.5 +VTS,1,1,300,1.64,CRD,7.0 +VTS,1,1,300,1.44,CRD,7.0 +VTS,1,1,240,1.81,CRD,7.0 +VTS,1,1,540,1.53,CRD,7.5 +VTS,1,1,480,1.72,CRD,8.0 +VTS,1,1,720,4.98,CSH,16.0 +VTS,1,1,540,2.37,CSH,9.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,1,360,1.64,CSH,7.5 +VTS,1,1,480,2.02,CRD,9.0 +VTS,1,1,600,1.26,CSH,8.0 +VTS,1,1,720,2.54,CSH,11.0 +VTS,1,1,540,2.26,CRD,9.5 +VTS,1,5,480,2.56,CRD,10.0 +VTS,1,5,180,0.84,CRD,5.0 +VTS,1,6,420,1.53,CSH,7.5 +VTS,1,6,180,1.02,CSH,5.0 +VTS,1,5,300,0.87,CRD,5.5 +VTS,1,5,900,4.96,CSH,16.5 +VTS,1,5,780,2.02,CSH,10.5 +VTS,1,1,1320,2.28,CSH,15.0 +VTS,1,1,240,1.06,CSH,5.5 +VTS,1,5,240,1.21,CRD,5.5 +VTS,1,5,420,1.22,CSH,7.0 +VTS,1,5,720,1.34,CRD,9.0 +VTS,1,5,960,1.65,CSH,11.5 +VTS,1,5,1380,3.54,CRD,17.0 +VTS,1,6,180,0.56,CRD,4.5 +VTS,1,1,960,2.0,CSH,11.5 +VTS,2,1,2040,17.43,CSH,52.0 +VTS,1,1,300,0.78,CSH,5.5 +VTS,2,1,2220,17.27,CRD,52.0 +VTS,1,1,960,2.18,CRD,11.5 +VTS,1,1,600,1.43,CRD,8.0 +VTS,1,1,180,0.47,CRD,4.0 +VTS,1,1,180,0.78,CRD,4.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,420,0.99,CSH,6.0 +VTS,2,1,3540,16.86,CSH,52.0 +VTS,1,1,60,0.76,CRD,4.0 +VTS,1,1,120,0.42,CRD,3.5 +VTS,1,1,0,0.05,CSH,2.5 +VTS,1,1,360,1.25,CSH,6.0 +VTS,1,2,1380,6.08,CSH,22.0 +VTS,1,1,360,0.66,CSH,5.5 +VTS,1,1,300,0.56,CSH,5.0 +VTS,1,1,420,0.98,CRD,6.5 +VTS,1,1,240,0.84,CRD,5.5 +VTS,1,1,600,1.05,CRD,7.5 +VTS,1,1,360,0.69,CRD,5.0 +VTS,1,1,960,4.77,CSH,16.5 +VTS,1,1,480,2.06,CSH,9.0 +VTS,1,1,960,2.53,CRD,12.5 +VTS,1,1,540,3.04,CRD,11.0 +VTS,1,1,480,0.7,CSH,6.5 +VTS,1,1,720,1.3,CSH,9.0 +VTS,1,1,1260,3.67,CSH,16.5 +VTS,1,1,720,1.82,CRD,10.0 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,1680,4.09,CRD,19.5 +VTS,1,1,2520,7.49,CSH,29.0 +VTS,1,1,1920,9.31,CRD,30.5 +VTS,1,1,3300,4.29,CSH,17.0 +VTS,1,1,180,0.45,CRD,4.0 +VTS,1,1,780,2.86,CSH,11.5 +VTS,1,1,900,1.43,CSH,10.5 +VTS,1,1,360,1.31,CSH,6.5 +VTS,1,1,300,1.16,CSH,6.0 +VTS,1,1,420,2.02,CRD,8.5 +VTS,1,1,420,1.26,CRD,7.0 +VTS,1,1,1140,3.83,CRD,16.5 +VTS,1,1,300,1.17,CRD,6.0 +VTS,1,1,960,6.97,CSH,21.0 +VTS,1,1,600,1.63,CSH,8.5 +VTS,1,1,780,3.63,CRD,13.5 +VTS,1,1,180,0.9,CSH,5.0 +VTS,1,1,840,5.41,CSH,16.5 +VTS,1,2,480,1.56,CRD,8.0 +VTS,1,1,540,2.37,CSH,10.0 +VTS,1,5,300,0.99,CSH,6.0 +VTS,1,5,480,1.23,CSH,7.0 +VTS,1,5,420,1.56,CSH,7.5 +VTS,1,6,60,0.45,CSH,3.5 +VTS,1,1,720,2.48,CRD,10.5 +VTS,1,6,900,1.86,CSH,11.0 +VTS,1,5,660,3.92,CSH,13.5 +VTS,1,5,660,1.81,CRD,9.0 +VTS,1,5,120,0.6,CRD,4.0 +VTS,1,6,420,1.92,CSH,8.0 +VTS,1,5,1140,1.96,CRD,13.5 +VTS,1,5,420,1.53,CSH,7.5 +VTS,1,5,1200,2.53,CRD,14.5 +VTS,1,5,900,4.37,CSH,17.0 +VTS,1,5,960,4.06,CSH,15.0 +VTS,1,5,600,0.66,CSH,8.0 +VTS,1,6,180,0.42,CSH,4.5 +VTS,1,5,720,1.53,CRD,9.5 +VTS,1,5,840,4.39,CRD,15.0 +VTS,1,5,420,0.7,CSH,6.5 +VTS,1,5,480,2.83,CRD,10.5 +VTS,1,5,840,2.39,CRD,11.5 +VTS,1,5,720,1.72,CRD,9.5 +VTS,1,5,600,1.23,CSH,8.0 +VTS,1,6,720,1.39,CSH,9.5 +VTS,1,5,1080,1.39,CRD,12.0 +VTS,1,5,1020,6.49,CRD,20.5 +VTS,1,5,1740,6.18,CRD,24.5 +VTS,1,5,780,2.71,CSH,11.5 +VTS,1,5,480,1.81,CRD,8.0 +VTS,1,5,240,0.64,CSH,5.0 +VTS,1,5,120,0.48,CSH,3.5 +VTS,1,5,780,2.57,CSH,11.0 +VTS,1,6,1800,4.72,CRD,21.5 +VTS,1,5,600,1.56,CRD,8.5 +VTS,1,5,360,1.03,CSH,6.5 +VTS,1,6,540,1.38,CRD,8.0 +VTS,1,5,360,0.81,CSH,6.0 +VTS,1,5,780,4.1,CSH,14.5 +VTS,1,5,960,2.75,CRD,13.0 +VTS,1,5,120,0.62,CSH,4.0 +VTS,1,5,780,1.15,CRD,9.5 +VTS,1,5,1140,3.34,CSH,16.5 +VTS,1,5,1200,4.07,CRD,16.5 +VTS,1,5,840,2.09,CRD,11.5 +VTS,1,5,1320,2.99,CRD,15.0 +VTS,1,5,300,1.38,CSH,6.5 +VTS,1,5,660,1.95,CSH,9.5 +VTS,1,6,1800,12.98,CRD,39.5 +VTS,1,6,420,1.69,CSH,7.5 +VTS,1,5,300,1.76,CRD,7.0 +VTS,1,5,660,2.44,CSH,10.5 +VTS,1,5,780,3.59,CSH,12.5 +VTS,1,5,840,3.06,CSH,12.5 +VTS,1,1,900,1.59,CRD,10.5 +VTS,1,1,360,0.65,CRD,5.5 +VTS,1,1,60,0.29,CSH,3.0 +VTS,1,1,240,1.57,CRD,6.0 +VTS,1,1,120,0.35,CRD,3.5 +VTS,1,1,1620,6.41,CRD,23.0 +VTS,1,1,360,1.05,CRD,6.5 +VTS,1,1,960,2.7,CRD,13.0 +VTS,1,1,1140,2.47,CRD,13.0 +VTS,1,1,480,0.74,CRD,7.0 +VTS,1,1,540,1.11,CRD,7.5 +VTS,1,1,420,1.06,CSH,6.0 +VTS,1,1,240,0.39,CRD,4.5 +VTS,1,2,660,3.9,CSH,13.0 +VTS,1,1,360,0.88,CRD,6.0 +VTS,1,1,540,1.28,CRD,8.0 +VTS,1,1,660,2.37,CSH,10.5 +VTS,1,1,960,2.68,CRD,13.5 +VTS,1,1,660,1.85,CSH,9.5 +VTS,1,1,180,0.99,CSH,5.0 +VTS,1,2,120,0.65,CRD,4.5 +VTS,1,2,240,0.84,CSH,5.0 +VTS,1,1,420,1.84,CSH,8.0 +VTS,1,1,1020,3.3,CRD,14.5 +VTS,1,1,1200,3.84,CSH,16.5 +VTS,1,1,960,1.58,CSH,11.0 +VTS,1,1,60,0.36,CRD,3.0 +VTS,1,1,360,0.91,CRD,6.0 +VTS,1,1,780,1.73,CRD,10.0 +VTS,1,1,1500,3.16,CRD,17.0 +VTS,1,1,420,1.56,CSH,7.5 +VTS,1,1,720,4.17,CSH,14.5 +VTS,1,1,480,0.42,CSH,6.5 +VTS,1,1,720,3.48,CRD,13.5 +VTS,1,1,900,1.52,CSH,10.5 +VTS,1,1,420,0.87,CSH,6.0 +VTS,1,1,1260,3.2,CSH,15.5 +VTS,1,1,840,1.52,CSH,10.0 +VTS,1,1,960,2.55,CSH,12.5 +VTS,1,1,1080,8.5,CSH,25.0 +VTS,1,1,1140,4.19,CSH,16.5 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,300,1.27,CSH,6.0 +VTS,1,1,600,0.84,CSH,5.5 +VTS,1,1,420,1.84,CRD,7.5 +VTS,1,2,360,2.1,CRD,8.0 +VTS,1,1,420,1.11,CSH,6.5 +VTS,1,1,660,1.29,CSH,8.5 +VTS,1,2,1080,2.77,CRD,13.5 +VTS,1,1,840,2.58,CRD,11.5 +VTS,1,1,360,1.0,CSH,6.0 +VTS,1,1,300,1.35,CRD,6.5 +VTS,1,1,840,2.28,CRD,11.5 +VTS,1,1,360,0.74,CRD,6.0 +VTS,1,1,660,3.58,CSH,12.0 +VTS,1,1,480,1.6,CSH,7.5 +VTS,1,1,840,2.11,CSH,10.5 +VTS,1,1,480,1.73,CRD,8.5 +VTS,1,1,360,2.25,CSH,8.5 +VTS,1,1,1440,3.93,CSH,16.0 +VTS,1,1,420,1.22,CSH,7.0 +VTS,1,1,1320,4.3,CRD,19.5 +VTS,1,1,240,1.77,CRD,6.5 +VTS,1,1,300,1.08,CSH,6.0 +VTS,1,1,480,1.73,CRD,8.0 +VTS,1,1,240,0.48,CSH,4.0 +VTS,1,1,1080,4.61,CRD,18.0 +VTS,1,6,240,1.32,CSH,5.5 +VTS,1,5,180,0.92,CSH,5.0 +VTS,1,5,900,3.21,CRD,13.5 +VTS,1,5,660,2.36,CRD,10.5 +VTS,1,5,360,1.11,CRD,6.0 +VTS,1,6,1440,3.76,CSH,17.0 +VTS,1,5,180,0.66,CSH,4.5 +VTS,1,5,2040,6.12,CRD,26.0 +VTS,1,5,240,1.16,CSH,5.5 +VTS,1,5,360,0.61,CRD,5.5 +VTS,1,5,120,0.73,CSH,4.0 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,1,300,1.25,CRD,6.0 +VTS,1,1,120,0.71,CSH,4.5 +VTS,1,1,600,1.15,CRD,8.0 +VTS,1,1,1140,6.04,CRD,20.0 +VTS,1,1,420,1.26,CSH,7.0 +VTS,1,1,1560,10.24,CSH,30.5 +VTS,1,1,540,2.76,CRD,10.0 +VTS,1,1,900,2.96,CSH,12.0 +VTS,1,1,180,0.83,CSH,5.0 +VTS,1,1,420,1.53,CSH,7.0 +VTS,1,1,360,1.11,CRD,6.0 +VTS,1,1,660,3.05,CRD,12.0 +VTS,1,1,720,6.0,CRD,18.5 +VTS,1,1,660,3.25,CRD,12.0 +VTS,1,1,420,0.84,CSH,6.5 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,2,300,1.34,CRD,6.0 +VTS,1,1,1020,2.62,CSH,10.0 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,6,600,1.94,CSH,9.5 +VTS,1,5,840,2.95,CSH,12.5 +VTS,1,6,600,2.18,CSH,9.5 +VTS,1,5,180,0.62,CSH,4.0 +VTS,1,6,480,0.54,CSH,6.0 +VTS,1,5,720,1.0,CRD,9.0 +VTS,1,5,960,2.42,CSH,12.5 +VTS,1,5,360,0.73,CSH,5.5 +VTS,1,5,780,1.8,CRD,10.5 +VTS,1,5,840,4.13,CSH,15.0 +VTS,1,6,480,1.54,CRD,7.5 +VTS,1,5,360,1.0,CRD,6.5 +VTS,1,6,120,0.4,CSH,3.5 +VTS,1,5,480,1.2,CSH,7.5 +VTS,1,5,180,0.76,CRD,4.5 +VTS,1,5,120,0.82,CSH,4.5 +VTS,1,5,420,1.01,CSH,7.0 +VTS,1,5,660,1.97,CRD,10.0 +VTS,1,5,960,2.69,CRD,12.5 +VTS,1,5,780,2.02,CSH,10.5 +VTS,1,6,1080,2.76,CRD,13.5 +VTS,1,5,1020,1.91,CRD,12.0 +VTS,1,5,180,0.77,CRD,4.5 +VTS,1,5,600,2.33,CSH,10.0 +VTS,1,6,1020,1.37,CSH,11.0 +VTS,1,6,300,1.29,CRD,6.5 +VTS,1,6,420,1.68,CRD,7.5 +VTS,1,5,780,2.92,CSH,12.5 +VTS,1,6,180,0.57,CSH,4.5 +VTS,1,6,660,1.63,CRD,9.5 +VTS,1,5,180,0.48,CSH,4.0 +VTS,1,5,900,2.38,CSH,11.5 +VTS,1,1,720,3.53,CSH,12.5 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,1560,4.33,CSH,20.0 +VTS,1,1,360,0.96,CSH,6.0 +VTS,1,1,180,0.32,CRD,4.0 +VTS,1,1,840,2.55,CSH,11.5 +VTS,1,1,180,1.04,CSH,5.5 +VTS,1,1,660,2.32,CRD,10.0 +VTS,1,1,480,1.93,CRD,8.0 +VTS,1,1,540,2.45,CRD,10.0 +VTS,1,1,480,2.44,CRD,9.0 +VTS,1,1,120,0.74,CRD,4.5 +VTS,1,1,780,2.76,CSH,12.0 +VTS,1,1,1020,3.88,CRD,15.0 +VTS,1,1,360,1.37,CRD,6.5 +VTS,1,1,960,3.05,CRD,13.0 +VTS,1,1,3120,12.56,CSH,43.0 +VTS,1,1,540,2.0,CRD,9.0 +VTS,1,1,660,1.89,CRD,9.5 +VTS,1,1,300,1.24,CSH,6.0 +VTS,1,1,240,0.58,CRD,5.0 +VTS,1,1,240,1.29,CRD,5.5 +VTS,1,1,180,0.85,CSH,4.5 +VTS,1,1,360,1.47,CRD,6.5 +VTS,1,5,180,0.96,CSH,5.0 +VTS,1,6,300,1.43,CSH,7.0 +VTS,1,5,480,0.89,CRD,7.0 +VTS,1,5,120,0.65,CSH,4.0 +VTS,1,5,540,1.65,CRD,9.0 +VTS,1,5,1080,7.29,CRD,24.0 +VTS,1,1,900,3.14,CSH,12.5 +VTS,1,5,780,2.47,CRD,11.5 +VTS,1,5,120,0.53,CSH,4.0 +VTS,1,5,180,0.71,CRD,5.0 +VTS,1,6,1080,5.22,CSH,18.5 +VTS,1,5,720,3.86,CSH,14.0 +VTS,1,5,540,2.4,CRD,9.5 +VTS,1,5,1380,2.88,CRD,15.5 +VTS,1,5,840,2.72,CSH,12.5 +VTS,1,5,240,0.78,CSH,5.0 +VTS,1,6,1200,2.47,CSH,14.5 +VTS,1,5,1500,4.33,CSH,14.5 +VTS,1,5,360,1.49,CRD,7.0 +VTS,1,5,660,2.19,CSH,10.0 +VTS,1,5,360,0.73,CRD,5.5 +VTS,1,5,900,2.03,CRD,11.5 +VTS,1,5,1560,6.2,CRD,23.0 +VTS,1,5,480,1.53,CSH,8.0 +VTS,1,5,420,1.4,CSH,7.0 +VTS,1,5,660,1.34,CRD,9.5 +VTS,1,5,300,0.73,CSH,5.0 +VTS,1,6,540,2.32,CSH,9.5 +VTS,1,5,1140,2.98,CSH,15.0 +VTS,1,5,2760,10.68,CRD,35.5 +VTS,1,6,420,1.33,CRD,7.0 +VTS,1,5,840,3.03,CSH,13.0 +VTS,1,5,900,10.06,CRD,27.5 +VTS,1,5,660,1.86,CSH,9.5 +VTS,1,5,180,0.65,CRD,4.5 +VTS,1,5,900,3.78,CRD,14.5 +VTS,1,5,600,1.94,CSH,9.0 +VTS,1,5,840,2.26,CRD,12.0 +VTS,1,5,600,1.28,CSH,8.5 +VTS,1,5,180,0.5,CRD,4.5 +VTS,1,5,1080,5.85,CSH,20.0 +VTS,1,5,480,1.05,CSH,7.0 +VTS,1,5,240,0.86,CSH,4.5 +VTS,1,5,600,3.28,CRD,12.0 +VTS,1,5,720,2.34,CRD,10.5 +VTS,1,5,720,2.5,CRD,11.0 +VTS,1,5,2400,10.94,CRD,32.5 +VTS,1,5,360,1.09,CRD,6.5 +VTS,1,5,480,1.54,CRD,8.0 +VTS,1,5,660,3.09,CRD,11.5 +VTS,1,5,1080,3.2,CSH,14.5 +VTS,1,5,480,1.54,CRD,8.0 +VTS,1,6,1620,8.89,CRD,29.0 +VTS,1,1,420,1.76,CSH,8.5 +VTS,1,5,840,1.5,CSH,10.5 +VTS,1,5,840,8.31,CSH,23.5 +VTS,1,6,180,0.76,CSH,4.5 +VTS,1,5,360,0.94,CRD,6.0 +VTS,1,5,360,1.23,CSH,6.5 +VTS,1,5,600,1.68,CSH,8.5 +VTS,1,5,720,2.07,CSH,10.5 +VTS,1,5,1200,6.1,CSH,21.0 +VTS,1,5,720,1.48,CRD,9.5 +VTS,1,5,1080,2.74,CRD,13.5 +VTS,1,1,780,1.72,CSH,10.0 +VTS,1,5,1140,3.03,CRD,14.5 +VTS,1,5,720,2.1,CSH,10.5 +VTS,1,6,780,1.28,CSH,9.5 +VTS,1,5,600,0.87,CRD,7.5 +VTS,1,6,660,2.54,CRD,10.5 +VTS,1,5,240,0.81,CSH,4.5 +VTS,1,5,300,0.91,CRD,5.5 +VTS,1,6,300,1.34,CRD,6.5 +VTS,1,1,240,1.37,CSH,6.0 +VTS,1,6,540,2.16,CSH,9.0 +VTS,1,5,780,1.55,CSH,10.0 +VTS,1,1,300,2.4,CRD,8.5 +VTS,1,5,960,2.04,CRD,12.0 +VTS,1,5,960,4.17,CRD,16.0 +VTS,1,5,420,1.35,CRD,7.0 +VTS,1,6,180,0.72,CRD,4.5 +VTS,1,5,360,1.13,CRD,6.5 +VTS,1,5,1140,7.1,CRD,23.0 +VTS,1,5,1260,1.67,CSH,14.0 +VTS,1,5,660,1.4,CRD,9.5 +VTS,1,5,240,0.83,CRD,5.0 +VTS,1,6,240,0.67,CSH,5.0 +VTS,1,5,120,0.41,CSH,3.5 +VTS,1,5,240,0.93,CRD,5.0 +VTS,1,5,660,2.19,CRD,10.0 +VTS,1,5,1020,2.38,CRD,12.5 +VTS,1,5,840,2.55,CRD,11.5 +VTS,1,5,780,3.41,CRD,13.0 +VTS,1,5,420,1.28,CRD,7.0 +VTS,1,5,540,1.44,CSH,8.0 +VTS,1,5,300,0.64,CRD,5.0 +VTS,1,5,900,3.05,CRD,13.5 +VTS,1,6,480,1.79,CSH,8.0 +VTS,1,5,240,0.84,CRD,5.0 +VTS,1,5,540,1.54,CRD,8.5 +VTS,1,5,480,2.1,CSH,8.5 +VTS,1,5,120,0.6,CSH,4.0 +VTS,1,5,360,1.04,CRD,6.0 +VTS,1,5,480,1.82,CSH,8.5 +VTS,1,5,1920,14.56,CSH,43.5 +VTS,2,6,3780,17.65,CRD,52.0 +VTS,1,1,120,0.45,CSH,3.5 +VTS,1,1,360,1.06,CRD,6.5 +VTS,1,1,120,0.69,CSH,4.0 +VTS,1,1,1200,5.65,CSH,19.0 +VTS,1,1,720,2.49,CRD,11.0 +VTS,1,1,720,3.2,CRD,13.0 +VTS,1,1,960,2.33,CRD,12.0 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,360,0.99,CSH,6.0 +VTS,1,1,240,0.69,CRD,4.5 +VTS,1,1,480,1.3,CSH,7.0 +VTS,1,1,360,1.11,CSH,6.5 +VTS,1,1,1080,3.06,CRD,14.0 +VTS,1,1,360,1.1,CRD,6.0 +VTS,1,1,300,1.54,CSH,7.0 +VTS,1,1,180,0.53,CSH,4.0 +VTS,1,1,1020,3.71,CRD,15.0 +VTS,1,1,420,0.69,CSH,6.0 +VTS,1,1,660,1.75,CRD,9.5 +VTS,1,1,840,3.71,CRD,14.0 +VTS,1,1,480,1.51,CRD,7.0 +VTS,1,1,540,2.49,CRD,10.0 +VTS,1,6,1380,8.69,CSH,28.0 +VTS,1,5,540,2.27,CRD,10.0 +VTS,1,5,420,2.07,CRD,9.0 +VTS,1,5,480,1.53,CSH,7.5 +VTS,1,6,1020,8.73,CSH,26.0 +VTS,1,5,120,0.43,CSH,4.0 +VTS,1,5,300,1.39,CRD,6.5 +VTS,1,5,780,1.51,CRD,9.5 +VTS,1,5,240,0.72,CSH,5.0 +VTS,1,6,1260,2.94,CRD,15.5 +VTS,1,5,600,1.9,CRD,9.5 +VTS,1,1,60,0.71,CSH,4.0 +VTS,1,5,840,2.19,CRD,11.5 +VTS,1,1,480,1.23,CRD,7.5 +VTS,1,5,420,1.37,CSH,7.5 +VTS,1,6,420,1.17,CSH,7.0 +VTS,1,1,540,1.2,CSH,8.0 +VTS,1,5,1920,11.47,CRD,37.5 +VTS,1,6,420,1.15,CSH,6.5 +VTS,1,5,420,1.21,CSH,7.0 +VTS,2,5,1920,16.39,CRD,52.0 +VTS,1,5,1260,9.59,CSH,28.0 +VTS,1,5,660,1.9,CRD,9.5 +VTS,1,5,240,0.77,CSH,5.0 +VTS,1,5,600,1.67,CRD,9.0 +VTS,1,5,480,1.03,CRD,7.5 +VTS,1,5,780,1.73,CRD,9.5 +VTS,1,5,180,0.89,CSH,5.0 +VTS,1,5,840,2.31,CSH,11.5 +VTS,1,5,2160,6.26,CRD,26.5 +VTS,1,6,900,3.2,CSH,13.5 +VTS,1,6,1500,3.41,CSH,13.5 +VTS,1,5,480,1.51,CRD,8.0 +VTS,1,5,660,2.48,CSH,11.0 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,5,120,0.28,CRD,3.5 +VTS,1,5,480,1.31,CSH,7.0 +VTS,1,6,240,1.03,CSH,5.5 +VTS,1,5,600,1.84,CRD,9.0 +VTS,1,5,240,1.01,CRD,5.5 +VTS,1,5,600,1.84,CRD,9.0 +VTS,1,5,480,1.37,CRD,8.0 +VTS,1,5,720,1.78,CSH,9.5 +VTS,1,5,660,1.04,CRD,8.5 +VTS,1,5,1020,2.28,CRD,12.5 +VTS,1,6,540,1.16,CSH,8.0 +VTS,1,1,900,2.01,CSH,10.5 +VTS,1,6,540,0.97,CRD,7.5 +VTS,1,5,540,1.0,CRD,7.5 +VTS,1,5,1680,6.75,CRD,25.0 +VTS,1,6,660,1.74,CRD,9.5 +VTS,1,5,600,0.7,CSH,7.5 +VTS,1,5,240,0.93,CSH,5.0 +VTS,1,5,960,2.71,CRD,13.0 +VTS,1,5,180,0.54,CRD,4.5 +VTS,1,5,540,1.89,CSH,9.5 +VTS,1,5,240,0.76,CSH,5.0 +VTS,1,5,720,3.03,CRD,12.0 +VTS,1,5,540,1.61,CRD,8.0 +VTS,1,5,1020,2.21,CRD,13.0 +VTS,1,6,240,1.14,CRD,5.5 +VTS,1,5,720,3.28,CRD,12.0 +VTS,1,5,2100,6.26,CRD,27.0 +VTS,1,1,540,1.5,CSH,8.0 +VTS,1,5,360,0.92,CSH,6.0 +VTS,1,6,1440,3.09,CRD,17.0 +VTS,1,5,480,0.88,CRD,6.5 +VTS,1,6,900,2.24,CRD,11.5 +VTS,1,5,720,1.72,CSH,10.0 +VTS,1,5,360,0.75,CSH,6.0 +VTS,1,5,1140,1.87,CSH,13.0 +VTS,1,6,540,1.02,CSH,7.5 +VTS,1,5,120,0.43,CSH,3.5 +VTS,1,5,960,2.15,CRD,11.5 +VTS,1,6,300,0.9,CSH,5.5 +VTS,1,5,780,1.83,CRD,10.0 +VTS,1,5,420,2.75,CRD,10.0 +VTS,1,5,480,1.7,CRD,8.0 +VTS,1,5,360,1.03,CRD,6.5 +VTS,1,5,660,1.99,CRD,9.5 +VTS,1,5,720,1.09,CSH,9.0 +VTS,1,5,900,2.07,CRD,11.5 +VTS,1,5,60,0.48,CSH,3.5 +VTS,1,6,540,1.23,CRD,7.5 +VTS,1,5,540,2.47,CRD,10.0 +VTS,1,5,300,0.9,CSH,5.5 +VTS,1,1,1380,3.35,CSH,16.0 +VTS,1,5,420,3.02,CRD,10.0 +VTS,1,5,180,0.56,CSH,4.5 +VTS,1,5,540,0.78,CRD,7.5 +VTS,1,6,840,3.42,CRD,14.0 +VTS,1,6,60,0.43,CSH,3.5 +VTS,1,5,480,0.98,CRD,6.5 +VTS,1,1,240,0.6,CSH,5.0 +VTS,1,5,300,1.06,CSH,5.5 +VTS,1,6,540,1.73,CSH,8.0 +VTS,1,5,420,0.76,CRD,6.0 +VTS,1,5,1140,2.34,CSH,14.0 +VTS,1,5,1140,4.23,CSH,16.5 +VTS,1,6,1200,1.16,CRD,13.0 +VTS,1,6,540,1.39,CRD,8.0 +VTS,1,5,420,1.62,CSH,7.5 +VTS,1,5,840,2.68,CSH,12.0 +VTS,1,6,540,0.94,CRD,7.0 +VTS,1,5,720,3.23,CSH,12.5 +VTS,1,5,300,1.21,CRD,6.5 +VTS,1,1,240,0.87,CSH,5.5 +VTS,1,5,360,0.65,CSH,5.5 +VTS,1,5,540,1.88,CRD,9.5 +VTS,1,5,960,2.36,CRD,12.5 +VTS,1,6,60,0.51,CSH,3.5 +VTS,1,5,1020,6.28,CSH,20.0 +VTS,1,5,660,1.87,CSH,9.5 +VTS,1,6,960,2.13,CRD,11.5 +VTS,1,5,120,0.39,CSH,4.0 +VTS,1,5,600,1.83,CRD,9.5 +VTS,1,6,180,0.64,CRD,4.5 +VTS,1,5,300,0.65,CSH,5.5 +VTS,1,5,480,1.95,CRD,8.0 +VTS,1,6,360,1.37,CSH,6.5 +VTS,1,5,180,0.72,CRD,4.5 +VTS,1,5,540,1.54,CSH,8.0 +VTS,1,5,420,1.5,CSH,7.0 +VTS,1,5,300,0.95,CRD,5.5 +VTS,1,5,1200,7.11,CSH,23.0 +VTS,1,6,720,1.61,CRD,9.5 +VTS,1,6,600,1.8,CRD,9.0 +VTS,1,5,420,1.22,CSH,7.0 +VTS,1,5,960,9.94,CRD,28.0 +VTS,1,1,1440,6.44,CSH,23.0 +VTS,1,5,360,0.97,CRD,6.0 +VTS,1,5,1320,8.25,CSH,27.0 +VTS,1,5,240,0.85,CRD,5.5 +VTS,1,5,660,1.78,CSH,9.5 +VTS,1,1,1680,8.35,CRD,28.5 +VTS,1,1,660,1.61,CSH,9.0 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,1380,3.2,CRD,16.5 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,1,660,4.28,CSH,13.5 +VTS,1,6,840,4.93,CSH,16.5 +VTS,1,6,240,1.38,CRD,6.0 +VTS,1,1,2940,8.68,CSH,30.5 +VTS,1,5,900,1.63,CSH,10.5 +VTS,1,5,240,1.11,CSH,5.5 +VTS,1,6,900,2.25,CSH,11.5 +VTS,1,5,360,1.65,CSH,7.5 +VTS,1,6,720,1.5,CSH,9.0 +VTS,1,5,600,1.25,CRD,8.5 +VTS,1,5,1200,2.37,CSH,14.0 +VTS,1,1,1080,2.75,CSH,13.5 +VTS,1,5,1020,10.52,CSH,29.5 +VTS,1,5,180,0.82,CSH,5.0 +VTS,1,5,1020,1.63,CRD,11.5 +VTS,1,1,840,1.77,CSH,10.5 +VTS,1,5,780,5.75,CRD,18.5 +VTS,1,5,480,1.1,CRD,7.0 +VTS,1,5,300,0.5,CSH,5.0 +VTS,1,5,540,1.28,CRD,8.0 +VTS,1,5,780,2.72,CSH,12.5 +VTS,1,6,600,2.11,CSH,9.5 +VTS,1,5,960,3.88,CSH,14.5 +VTS,1,5,1020,2.06,CRD,12.0 +VTS,1,5,540,1.04,CSH,7.5 +VTS,1,5,420,0.92,CRD,6.5 +VTS,1,5,360,1.87,CSH,7.5 +VTS,1,6,540,1.65,CSH,8.5 +VTS,1,5,540,1.15,CRD,7.5 +VTS,1,5,900,1.3,CRD,10.5 +VTS,1,5,600,1.44,CSH,8.5 +VTS,1,1,720,2.44,CSH,11.0 +VTS,1,5,180,0.6,CSH,4.0 +VTS,1,5,1800,10.72,CRD,33.5 +VTS,1,5,540,2.28,CRD,10.0 +VTS,1,5,600,1.9,CSH,9.5 +VTS,1,5,720,1.89,CRD,10.5 +VTS,1,5,720,1.85,CRD,10.0 +VTS,1,5,180,0.6,CRD,4.5 +VTS,1,6,1740,3.36,CSH,18.5 +VTS,1,5,720,1.31,CRD,9.0 +VTS,1,5,420,1.79,CRD,8.0 +VTS,2,1,2700,18.28,CSH,52.0 +VTS,1,5,660,2.64,CSH,11.0 +VTS,1,5,660,2.89,CRD,11.0 +VTS,1,5,120,0.52,CSH,3.5 +VTS,1,5,720,2.24,CRD,10.5 +VTS,1,5,360,1.19,CRD,6.5 +VTS,1,5,360,1.28,CRD,6.5 +VTS,1,1,540,2.22,CRD,9.0 +VTS,1,5,360,1.37,CSH,7.0 +VTS,1,5,300,1.9,CRD,7.5 +VTS,1,1,60,0.68,CSH,4.0 +VTS,1,5,540,2.3,CRD,9.5 +VTS,1,1,1020,7.43,CSH,23.5 +VTS,1,5,660,2.51,CRD,10.5 +VTS,1,5,180,0.39,CSH,4.0 +VTS,1,6,300,0.8,CRD,5.5 +VTS,1,1,780,1.85,CRD,10.5 +VTS,1,5,240,1.17,CSH,5.5 +VTS,1,5,300,0.73,CSH,5.0 +VTS,1,5,240,0.68,CRD,5.0 +VTS,1,5,1020,2.34,CSH,12.5 +VTS,1,5,720,2.64,CRD,11.5 +VTS,1,5,120,0.4,CSH,4.0 +VTS,1,5,120,0.19,CRD,3.0 +VTS,1,5,1020,3.51,CSH,14.5 +VTS,1,6,780,1.66,CSH,10.0 +VTS,1,6,120,0.76,CSH,4.5 +VTS,1,5,360,0.51,CSH,6.0 +VTS,1,6,1440,9.45,CSH,29.5 +VTS,1,6,960,3.99,CSH,15.5 +VTS,1,5,420,1.01,CSH,6.5 +VTS,1,5,720,2.41,CSH,10.5 +VTS,1,5,360,0.6,CSH,6.0 +VTS,1,6,240,0.8,CSH,5.0 +VTS,1,5,720,2.11,CRD,10.5 +VTS,1,5,60,0.22,CSH,3.0 +VTS,1,5,180,0.59,CSH,4.0 +VTS,1,1,420,0.85,CSH,6.5 +VTS,1,5,840,2.93,CRD,12.5 +VTS,1,5,1140,4.29,CSH,16.5 +VTS,1,6,1020,2.08,CSH,11.5 +VTS,1,5,660,1.74,CRD,9.5 +VTS,1,5,300,0.59,CSH,5.0 +VTS,1,5,1320,1.52,CRD,14.0 +VTS,1,5,360,1.51,CSH,6.0 +VTS,1,5,540,1.76,CRD,8.5 +VTS,2,6,2520,17.36,CRD,52.0 +VTS,1,5,840,2.26,CRD,11.5 +VTS,1,5,420,0.74,CSH,6.0 +VTS,1,5,300,0.79,CSH,5.5 +VTS,1,5,180,0.75,CSH,4.5 +VTS,1,5,300,1.01,CRD,6.0 +VTS,1,1,240,1.16,CSH,6.0 +VTS,1,5,840,4.46,CSH,16.0 +VTS,1,5,360,1.17,CSH,6.5 +VTS,1,5,120,0.99,CSH,5.0 +VTS,1,5,300,1.43,CSH,6.5 +VTS,1,5,420,1.79,CRD,8.0 +VTS,1,5,480,1.79,CSH,8.5 +VTS,1,5,720,1.68,CSH,9.5 +VTS,1,5,420,1.19,CSH,7.0 +VTS,1,5,360,1.3,CRD,6.5 +VTS,1,5,1020,1.58,CSH,11.5 +VTS,1,5,360,1.52,CSH,7.0 +VTS,1,6,900,2.49,CRD,12.5 +VTS,1,5,480,1.2,CSH,7.5 +VTS,1,5,420,1.81,CSH,7.5 +VTS,1,5,1020,3.01,CRD,13.5 +VTS,1,6,900,0.99,CSH,10.0 +VTS,1,5,60,0.0,CSH,2.5 +VTS,1,5,360,1.58,CRD,7.0 +VTS,1,6,480,1.02,CRD,7.0 +VTS,1,5,660,1.77,CRD,9.0 +VTS,1,5,60,0.28,CSH,3.5 +VTS,1,5,540,2.64,CRD,9.5 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,5,1860,6.65,CRD,26.5 +VTS,1,6,240,0.86,CSH,5.5 +VTS,1,6,360,1.63,CSH,7.5 +VTS,1,5,540,1.54,CSH,8.0 +VTS,1,5,420,1.47,CSH,7.5 +VTS,1,6,660,1.78,CSH,9.0 +VTS,1,6,240,1.06,CRD,5.5 +VTS,1,5,720,1.47,CRD,9.5 +VTS,1,5,480,1.18,CSH,7.0 +VTS,1,5,180,1.07,CRD,5.0 +VTS,1,5,720,2.42,CSH,10.5 +VTS,1,5,780,2.71,CRD,11.5 +VTS,1,5,120,0.45,CRD,4.0 +VTS,1,5,840,1.61,CRD,10.5 +VTS,1,5,120,0.71,CSH,4.5 +VTS,1,6,300,0.77,CSH,5.5 +VTS,1,5,300,0.75,CRD,5.5 +VTS,1,6,1020,2.6,CSH,13.0 +VTS,1,5,360,1.24,CSH,6.5 +VTS,1,5,480,1.3,CSH,7.5 +VTS,1,5,540,2.01,CRD,8.5 +VTS,1,6,180,0.75,CSH,5.0 +VTS,1,5,420,1.09,CRD,7.0 +VTS,1,5,1080,2.85,CRD,13.5 +VTS,1,1,300,0.59,CSH,5.5 +VTS,2,5,1980,17.58,CRD,52.0 +VTS,1,5,540,2.1,CSH,9.0 +VTS,1,6,360,1.05,CRD,6.5 +VTS,1,5,1320,2.01,CRD,14.5 +VTS,1,5,120,0.67,CSH,4.5 +VTS,1,5,960,1.36,CRD,11.5 +VTS,1,5,660,2.83,CSH,11.0 +VTS,1,5,480,1.48,CRD,7.5 +VTS,1,5,660,1.38,CRD,8.5 +VTS,1,5,720,2.12,CSH,10.5 +VTS,1,5,240,0.49,CSH,4.5 +VTS,1,6,120,0.35,CSH,3.5 +VTS,1,1,360,0.91,CRD,6.5 +VTS,1,6,420,1.32,CSH,7.5 +VTS,1,6,60,0.51,CSH,3.5 +VTS,1,5,960,2.07,CRD,12.0 +VTS,1,6,420,0.86,CSH,6.5 +VTS,1,5,180,0.76,CSH,4.5 +VTS,1,6,240,0.7,CSH,5.0 +VTS,1,5,1140,3.61,CRD,15.5 +VTS,1,1,660,2.15,CRD,9.5 +VTS,1,5,720,2.03,CSH,10.5 +VTS,1,5,480,1.32,CSH,7.5 +VTS,1,5,420,1.27,CSH,7.0 +VTS,1,6,480,1.27,CSH,7.5 +VTS,1,5,600,2.93,CRD,11.0 +VTS,1,5,180,0.64,CRD,4.5 +VTS,1,5,1020,4.18,CRD,16.5 +VTS,1,5,240,1.75,CRD,6.5 +VTS,1,6,480,1.46,CRD,8.0 +VTS,1,1,960,1.32,CRD,11.0 +VTS,1,1,600,1.98,CSH,9.0 +VTS,1,6,180,1.17,CRD,5.5 +VTS,1,6,540,2.59,CRD,10.0 +VTS,1,5,300,1.19,CSH,6.0 +VTS,1,5,720,2.37,CRD,10.5 +VTS,1,6,480,1.0,CSH,7.0 +VTS,1,4,600,2.64,CSH,10.5 +VTS,1,5,480,2.33,CRD,9.0 +VTS,1,5,180,0.56,CSH,4.5 +VTS,1,5,1020,3.3,CSH,15.0 +VTS,1,6,540,0.92,CSH,7.0 +VTS,1,5,960,2.29,CRD,11.5 +VTS,1,5,1680,11.18,CSH,34.5 +VTS,1,5,600,1.28,CRD,8.0 +VTS,1,5,780,1.9,CRD,10.5 +VTS,1,5,240,0.52,CSH,4.5 +VTS,1,5,360,1.06,CSH,6.0 +VTS,1,5,600,2.94,CRD,10.5 +VTS,1,5,960,2.35,CRD,12.5 +VTS,1,5,300,0.79,CRD,6.0 +VTS,1,5,240,0.56,CRD,4.5 +VTS,1,6,420,1.48,CSH,7.0 +VTS,1,5,240,0.32,CSH,4.0 +VTS,1,5,480,1.35,CSH,7.5 +VTS,1,5,1080,10.14,CSH,29.0 +VTS,1,6,240,0.91,CSH,5.5 +VTS,1,5,1140,2.55,CSH,14.0 +VTS,1,5,780,3.93,CSH,14.0 +VTS,1,5,540,1.8,CSH,8.5 +VTS,1,5,180,0.86,CRD,5.0 +VTS,1,5,480,3.77,CRD,13.5 +VTS,1,5,360,0.89,CSH,5.5 +VTS,1,6,360,1.09,CRD,6.5 +VTS,1,5,120,0.51,CSH,4.0 +VTS,1,5,480,0.91,CSH,7.0 +VTS,1,5,240,0.99,CSH,5.5 +VTS,1,5,600,1.12,CSH,8.0 +VTS,1,5,1380,10.44,CRD,30.5 +VTS,1,1,960,1.44,CRD,11.0 +VTS,1,5,360,1.0,CRD,6.5 +VTS,1,5,480,1.21,CRD,7.0 +VTS,1,1,1380,10.53,CRD,32.0 +VTS,1,5,840,1.62,CSH,10.5 +VTS,1,5,1200,2.75,CSH,11.0 +VTS,1,5,1380,4.16,CSH,19.0 +VTS,1,5,660,1.52,CRD,9.5 +VTS,1,5,900,4.3,CSH,15.5 +VTS,1,5,1140,3.01,CSH,15.0 +VTS,1,5,780,2.47,CSH,11.0 +VTS,1,6,180,0.77,CSH,4.5 +VTS,1,6,540,1.57,CSH,8.5 +VTS,1,5,840,4.22,CSH,15.0 +VTS,1,6,840,1.81,CRD,10.5 +VTS,1,6,240,0.76,CRD,5.0 +VTS,1,5,480,1.13,CRD,7.5 +VTS,1,5,1980,9.44,CRD,33.5 +VTS,1,5,660,1.88,CRD,9.0 +VTS,1,5,600,2.06,CSH,9.5 +VTS,1,5,540,0.91,CSH,7.5 +VTS,1,5,1380,2.9,CRD,14.0 +VTS,1,6,540,1.1,CSH,7.5 +VTS,1,5,1140,3.47,CSH,15.5 +VTS,1,1,1200,3.3,CSH,16.0 +VTS,1,6,660,1.73,CRD,9.0 +VTS,1,5,660,1.53,CRD,9.5 +VTS,1,1,660,3.01,CRD,11.5 +VTS,1,6,420,0.73,CSH,6.5 +VTS,1,5,180,0.54,CRD,4.0 +VTS,1,5,240,0.99,CRD,5.5 +VTS,1,5,720,1.74,CRD,9.5 +VTS,1,6,780,3.25,CRD,13.0 +VTS,1,5,660,1.36,CSH,9.0 +VTS,1,6,600,1.81,CRD,9.5 +VTS,1,5,660,1.24,CSH,8.5 +VTS,1,5,720,1.73,CRD,9.5 +VTS,1,5,480,0.83,CRD,7.0 +VTS,1,6,420,1.79,CSH,8.0 +VTS,1,6,300,0.69,CSH,5.5 +VTS,1,6,300,0.83,CRD,5.5 +VTS,1,6,420,1.62,CRD,7.5 +VTS,1,6,840,2.29,CSH,11.5 +VTS,1,6,900,4.8,CRD,16.0 +VTS,1,6,1080,4.18,CRD,15.5 +VTS,1,6,120,0.63,CRD,4.0 +VTS,1,6,840,4.54,CRD,15.0 +VTS,1,6,1260,2.73,CRD,15.0 +VTS,1,6,1440,6.89,CSH,23.5 +VTS,1,6,300,0.64,CSH,5.0 +VTS,1,6,300,1.54,CRD,7.0 +VTS,1,6,540,1.92,CRD,9.0 +VTS,1,6,300,1.05,CRD,6.0 +VTS,1,6,180,0.74,CSH,4.5 +VTS,1,1,300,0.63,CSH,5.0 +VTS,1,6,300,0.85,CRD,5.5 +VTS,1,6,120,0.51,CSH,4.0 +VTS,1,6,660,2.39,CRD,10.5 +VTS,1,6,300,1.34,CSH,6.5 +VTS,1,6,360,1.1,CSH,6.0 +VTS,1,6,180,1.07,CSH,5.0 +VTS,1,6,360,1.18,CSH,6.5 +VTS,1,6,420,1.46,CSH,7.5 +VTS,1,6,180,0.85,CRD,5.0 +VTS,1,6,480,1.49,CRD,8.0 +VTS,1,6,1200,9.84,CSH,29.5 +VTS,1,6,360,1.01,CRD,6.0 +VTS,1,6,600,1.31,CRD,8.0 +VTS,1,6,600,1.65,CRD,9.0 +VTS,1,5,780,1.58,CRD,10.0 +VTS,1,6,780,1.51,CRD,10.0 +VTS,1,6,540,2.27,CRD,9.5 +VTS,1,5,1020,2.6,CRD,13.0 +VTS,1,5,720,1.76,CRD,10.0 +VTS,1,5,120,0.65,CSH,4.0 +VTS,1,5,660,2.75,CSH,10.5 +VTS,1,6,1260,4.1,CRD,17.0 +VTS,1,6,120,0.42,CSH,3.5 +VTS,1,6,240,0.96,CSH,5.5 +VTS,1,6,420,1.58,CSH,7.0 +VTS,1,1,720,1.89,CSH,9.5 +VTS,1,6,360,1.15,CSH,6.5 +VTS,1,6,120,0.66,CRD,4.0 +VTS,1,6,300,1.4,CRD,6.5 +VTS,1,6,1620,6.93,CSH,25.0 +VTS,1,6,660,2.04,CSH,9.5 +VTS,1,6,420,1.05,CSH,6.5 +VTS,1,6,420,1.27,CSH,6.5 +VTS,1,6,1320,9.7,CRD,29.5 +VTS,1,6,1620,7.35,CSH,25.0 +VTS,1,6,720,2.82,CRD,11.5 +VTS,1,6,480,2.26,CSH,9.0 +VTS,1,6,720,2.86,CRD,11.0 +VTS,1,6,120,0.51,CRD,4.0 +VTS,1,6,180,0.84,CSH,5.0 +VTS,1,6,840,4.09,CRD,14.5 +VTS,1,6,720,3.69,CRD,12.5 +VTS,1,6,720,4.13,CRD,14.5 +VTS,1,6,840,3.09,CSH,13.0 +VTS,1,6,720,3.3,CSH,12.0 +VTS,1,6,300,0.45,CRD,5.0 +VTS,1,6,300,0.74,CSH,5.5 +VTS,1,6,540,1.45,CRD,7.5 +VTS,1,6,600,2.14,CRD,9.5 +VTS,1,6,360,1.19,CRD,6.5 +VTS,1,6,1080,7.21,CRD,22.5 +VTS,1,6,360,0.61,CSH,5.5 +VTS,1,6,900,1.64,CSH,10.5 +VTS,1,6,360,1.79,CRD,7.0 +VTS,1,6,660,2.87,CRD,11.5 +VTS,1,6,840,7.44,CSH,22.0 +VTS,1,6,300,0.6,CSH,5.0 +VTS,1,6,360,1.05,CSH,6.0 +VTS,1,6,660,1.79,CRD,9.0 +VTS,1,6,600,2.24,CRD,9.5 +VTS,1,6,240,0.65,CSH,5.0 +VTS,1,6,360,1.19,CRD,6.5 +VTS,1,6,600,0.74,CRD,7.5 +VTS,1,1,480,1.36,CRD,7.5 +VTS,1,6,600,1.67,CRD,8.5 +VTS,1,6,840,2.47,CRD,11.5 +VTS,1,6,780,2.83,CSH,11.5 +VTS,1,5,720,2.4,CSH,11.0 +VTS,1,5,480,1.13,CRD,7.0 +VTS,1,5,420,1.57,CSH,7.5 +VTS,1,5,1500,5.74,CRD,22.0 +VTS,1,5,540,1.2,CRD,8.0 +VTS,1,5,1140,4.16,CRD,17.5 +VTS,1,5,540,1.03,CSH,7.5 +VTS,1,5,420,1.66,CSH,7.5 +VTS,1,5,240,0.7,CRD,5.0 +VTS,1,5,120,0.8,CSH,4.5 +VTS,1,5,1080,2.02,CSH,12.5 +VTS,1,5,1500,2.94,CSH,17.0 +VTS,1,1,600,1.19,CRD,8.0 +VTS,1,5,720,1.3,CRD,9.5 +VTS,1,6,1140,4.82,CSH,17.5 +VTS,1,1,300,0.9,CSH,6.0 +VTS,1,6,4020,15.39,CSH,44.5 +VTS,1,6,420,1.25,CRD,6.5 +VTS,1,6,240,1.05,CRD,5.0 +VTS,1,6,660,3.22,CSH,12.0 +VTS,1,6,540,2.71,CRD,10.5 +VTS,1,6,240,1.25,CRD,5.5 +VTS,1,6,300,1.43,CSH,6.0 +VTS,1,6,660,1.9,CSH,9.5 +VTS,1,6,240,0.59,CRD,4.5 +VTS,1,5,360,1.36,CSH,7.0 +VTS,1,5,1140,2.32,CSH,13.5 +VTS,1,5,900,1.11,CSH,10.0 +VTS,1,6,180,0.85,CSH,5.0 +VTS,1,5,540,3.57,CRD,12.0 +VTS,1,5,780,2.42,CRD,11.0 +VTS,1,6,420,0.76,CRD,6.5 +VTS,1,6,420,1.7,CRD,7.5 +VTS,1,1,360,1.33,CSH,6.5 +VTS,1,6,1980,9.98,CSH,34.0 +VTS,1,5,840,2.47,CSH,11.5 +VTS,1,6,960,3.44,CRD,14.0 +VTS,1,5,480,1.68,CSH,8.0 +VTS,1,5,180,0.62,CSH,4.5 +VTS,1,5,960,3.44,CRD,14.0 +VTS,1,5,540,1.04,CSH,7.5 +VTS,1,5,240,0.47,CRD,5.0 +VTS,1,5,600,1.93,CRD,9.0 +VTS,1,5,480,1.11,CSH,7.0 +VTS,1,5,360,1.04,CSH,6.5 +VTS,1,5,420,1.33,CSH,7.0 +VTS,1,6,240,0.75,CRD,5.5 +VTS,1,6,900,2.48,CRD,12.0 +VTS,1,6,240,0.73,CSH,5.0 +VTS,1,6,1080,5.39,CRD,19.0 +VTS,1,6,180,0.77,CRD,4.5 +VTS,1,5,1080,6.25,CSH,20.5 +VTS,1,5,480,2.08,CSH,9.0 +VTS,1,5,480,2.03,CSH,9.0 +VTS,1,5,180,0.82,CSH,5.0 +VTS,1,6,900,1.04,CRD,10.0 +VTS,1,6,840,2.32,CRD,11.0 +VTS,1,5,480,1.58,CSH,8.0 +VTS,1,5,180,0.8,CSH,5.0 +VTS,1,5,180,0.55,CSH,4.0 +VTS,1,6,1080,1.96,CRD,13.0 +VTS,1,5,1800,3.31,CRD,19.0 +VTS,1,5,420,0.51,CSH,5.5 +VTS,1,5,540,2.54,CRD,10.0 +VTS,1,5,1320,2.29,CRD,15.0 +VTS,1,5,780,3.98,CSH,14.5 +VTS,1,6,720,1.93,CRD,10.0 +VTS,1,5,660,1.59,CRD,9.0 +VTS,1,5,780,2.13,CRD,10.5 +VTS,1,5,480,1.54,CSH,7.5 +VTS,1,5,420,1.5,CSH,7.5 +VTS,1,5,600,1.92,CRD,7.5 +VTS,1,5,900,2.78,CSH,12.0 +VTS,1,1,240,0.94,CRD,5.0 +VTS,1,6,840,2.97,CSH,12.0 +VTS,1,5,240,0.94,CRD,5.5 +VTS,1,5,240,0.83,CSH,5.0 +VTS,1,6,900,2.24,CSH,12.0 +VTS,1,6,1200,5.83,CRD,19.5 +VTS,1,6,480,1.37,CRD,7.5 +VTS,1,6,1440,10.94,CSH,32.5 +VTS,1,6,600,1.18,CSH,8.5 +VTS,1,6,780,1.85,CSH,9.5 +VTS,1,6,420,1.29,CRD,7.0 +VTS,1,6,120,0.88,CRD,4.5 +VTS,1,6,420,1.75,CSH,7.5 +VTS,1,6,300,1.28,CRD,6.0 +VTS,1,6,420,1.65,CSH,8.0 +VTS,1,6,360,1.6,CRD,7.5 +VTS,1,6,1080,8.81,CRD,26.0 +VTS,1,6,720,2.9,CRD,12.0 +VTS,1,1,780,1.61,CSH,9.5 +VTS,1,6,600,1.95,CRD,9.5 +VTS,1,6,540,2.27,CRD,9.0 +VTS,1,6,480,2.03,CSH,9.0 +VTS,1,6,540,0.98,CSH,7.0 +VTS,1,6,540,1.4,CRD,8.5 +VTS,1,6,720,1.11,CRD,8.5 +VTS,1,6,900,4.3,CSH,16.0 +VTS,1,1,420,1.31,CSH,7.0 +VTS,1,6,240,1.4,CRD,6.0 +VTS,1,6,300,1.02,CRD,5.5 +VTS,1,6,1080,4.22,CRD,15.5 +VTS,1,6,1620,10.85,CRD,33.5 +VTS,1,6,720,2.06,CRD,9.5 +VTS,1,6,180,0.86,CSH,5.0 +VTS,1,6,1200,4.64,CRD,18.5 +VTS,1,6,120,0.53,CSH,4.0 +VTS,1,1,360,1.77,CSH,7.5 +VTS,1,6,720,7.05,CRD,20.0 +VTS,1,6,1260,7.49,CSH,25.0 +VTS,1,6,300,0.84,CSH,5.5 +VTS,1,6,240,1.06,CRD,5.5 +VTS,1,6,360,1.44,CRD,6.5 +VTS,1,6,660,2.02,CSH,10.0 +VTS,1,6,420,1.15,CSH,7.0 +VTS,1,6,1380,10.36,CRD,31.0 +VTS,1,6,900,2.23,CSH,12.0 +VTS,1,6,1740,6.09,CRD,22.0 +VTS,1,6,180,1.09,CRD,5.0 +VTS,1,6,360,2.16,CRD,8.0 +VTS,2,6,1920,16.94,CSH,52.0 +VTS,1,6,180,0.92,CSH,5.0 +VTS,1,6,1500,8.04,CSH,26.0 +VTS,1,6,1020,8.71,CRD,25.5 +VTS,1,6,120,0.63,CRD,4.0 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,6,900,4.2,CRD,15.0 +VTS,1,1,1740,8.93,CRD,29.0 +VTS,1,5,300,0.54,CSH,5.5 +VTS,1,5,420,1.28,CRD,7.0 +VTS,1,5,1080,0.88,CRD,11.5 +VTS,1,5,1020,3.42,CRD,14.5 +VTS,1,6,900,1.8,CSH,11.0 +VTS,1,5,480,1.14,CRD,7.5 +VTS,1,5,1260,2.54,CRD,14.0 +VTS,1,5,540,1.32,CSH,8.0 +VTS,1,5,240,0.66,CSH,5.0 +VTS,1,5,600,1.49,CRD,8.5 +VTS,1,1,600,0.93,CSH,7.5 +VTS,1,5,840,2.82,CRD,12.5 +VTS,1,5,1380,4.25,CRD,18.0 +VTS,1,5,120,0.56,CSH,4.0 +VTS,1,6,780,1.77,CSH,10.0 +VTS,1,6,300,1.05,CRD,6.0 +VTS,1,6,660,3.37,CSH,12.0 +VTS,1,6,600,2.63,CRD,10.0 +VTS,1,6,720,3.2,CSH,12.5 +VTS,1,6,720,2.75,CRD,11.5 +VTS,1,6,480,2.19,CSH,9.0 +VTS,1,6,1260,3.36,CRD,16.5 +VTS,1,6,480,1.79,CRD,8.0 +VTS,1,1,300,1.0,CRD,6.0 +VTS,1,6,900,5.99,CRD,18.0 +VTS,1,6,540,3.23,CRD,11.5 +VTS,1,1,660,3.46,CRD,12.0 +VTS,1,6,420,1.25,CRD,7.0 +VTS,1,6,540,1.37,CSH,8.0 +VTS,1,6,1020,4.4,CRD,15.5 +VTS,1,6,120,0.36,CSH,3.5 +VTS,1,6,480,1.47,CRD,8.0 +VTS,1,6,540,1.37,CRD,8.0 +VTS,1,1,600,3.94,CRD,12.5 +VTS,1,6,360,1.64,CRD,7.0 +VTS,1,6,840,3.53,CSH,13.5 +VTS,1,6,240,1.01,CSH,5.5 +VTS,1,6,1020,3.46,CSH,12.0 +VTS,1,6,720,1.53,CRD,9.5 +VTS,1,6,660,1.55,CRD,9.0 +VTS,1,6,360,1.04,CRD,6.5 +VTS,1,6,300,1.7,CSH,7.0 +VTS,1,6,120,0.25,CSH,3.5 +VTS,1,6,360,0.93,CSH,5.5 +VTS,1,6,120,0.68,CSH,4.0 +VTS,1,6,240,0.7,CRD,5.0 +VTS,1,6,720,2.47,CSH,10.0 +VTS,1,6,1800,9.82,CRD,31.0 +VTS,1,1,480,1.32,CSH,7.5 +VTS,1,6,480,1.57,CSH,8.0 +VTS,1,6,1080,9.38,CRD,27.5 +VTS,1,6,600,1.53,CSH,8.0 +VTS,1,6,1200,5.03,CSH,18.5 +VTS,1,6,1440,7.22,CSH,23.5 +VTS,1,6,1260,6.13,CRD,20.5 +VTS,1,6,600,1.68,CRD,8.5 +VTS,1,6,1380,6.3,CRD,22.0 +VTS,1,6,780,2.4,CRD,11.0 +VTS,1,6,540,0.99,CSH,7.0 +VTS,1,6,960,4.07,CRD,15.0 +VTS,1,1,660,2.66,CRD,10.5 +VTS,1,6,1560,8.67,CRD,28.0 +VTS,1,6,540,1.15,CSH,7.5 +VTS,1,6,1320,9.78,CRD,29.0 +VTS,1,6,360,1.15,CSH,6.5 +VTS,1,6,420,1.6,CRD,7.5 +VTS,1,6,840,3.87,CRD,14.0 +VTS,1,6,540,2.46,CSH,9.5 +VTS,1,1,720,1.49,CSH,9.0 +VTS,1,6,420,1.38,CRD,8.0 +VTS,1,6,480,1.43,CRD,8.0 +VTS,1,6,840,4.64,CSH,15.5 +VTS,1,6,360,1.29,CSH,6.5 +VTS,1,1,900,5.79,CSH,19.0 +VTS,1,6,360,1.25,CRD,6.5 +VTS,1,6,180,1.08,CRD,5.0 +VTS,1,6,2460,9.69,CRD,34.0 +VTS,1,6,1200,4.18,CRD,16.5 +VTS,1,6,420,1.53,CRD,7.5 +VTS,1,6,420,1.08,CRD,6.5 +VTS,1,6,360,0.85,CRD,6.0 +VTS,1,6,300,0.67,CSH,5.0 +VTS,1,6,1020,3.03,CRD,14.0 +VTS,1,1,480,1.27,CSH,7.0 +VTS,1,6,420,0.87,CSH,6.5 +VTS,1,1,720,1.69,CRD,9.5 +VTS,1,6,240,0.77,CRD,5.0 +VTS,1,6,540,2.18,CSH,9.0 +VTS,1,6,180,0.75,CSH,4.5 +VTS,1,1,600,2.5,CRD,11.0 +VTS,1,6,780,4.21,CSH,13.5 +VTS,1,6,1380,5.68,CRD,21.0 +VTS,1,6,600,1.27,CSH,8.0 +VTS,1,6,660,2.28,CRD,10.0 +VTS,1,6,1020,6.03,CRD,19.5 +VTS,1,6,1320,7.85,CRD,24.5 +VTS,1,6,360,0.76,CRD,5.5 +VTS,1,6,480,1.39,CRD,7.5 +VTS,1,6,360,0.65,CSH,5.5 +VTS,1,6,120,0.72,CRD,4.0 +VTS,1,6,540,3.81,CRD,13.0 +VTS,1,6,180,0.45,CSH,4.0 +VTS,1,1,900,3.84,CSH,15.0 +VTS,1,1,1020,5.57,CRD,18.0 +VTS,1,6,720,2.59,CSH,10.5 +VTS,1,6,300,2.06,CSH,7.5 +VTS,1,6,3540,8.96,CRD,41.0 +VTS,1,6,600,1.99,CRD,9.0 +VTS,1,6,480,1.55,CSH,7.5 +VTS,1,6,180,0.52,CSH,4.0 +VTS,1,6,420,1.07,CRD,6.5 +VTS,1,6,660,1.63,CRD,8.5 +VTS,1,6,480,1.35,CRD,7.5 +VTS,1,6,780,3.23,CSH,13.0 +VTS,1,6,600,1.6,CSH,9.0 +VTS,1,6,300,1.12,CSH,6.0 +VTS,1,6,60,0.01,CSH,2.5 +VTS,1,6,360,1.28,CSH,7.0 +VTS,1,6,360,1.31,CSH,7.0 +VTS,1,6,240,0.88,CSH,5.0 +VTS,1,6,1020,6.67,CRD,20.5 +VTS,1,6,120,0.57,CSH,4.0 +VTS,1,6,540,1.44,CRD,7.5 +VTS,1,6,480,1.44,CSH,7.0 +VTS,1,6,720,2.26,CRD,10.5 +VTS,1,6,840,3.48,CRD,13.0 +VTS,1,6,780,3.09,CRD,12.5 +VTS,1,6,300,1.27,CRD,6.5 +VTS,1,6,840,1.71,CSH,10.0 +VTS,1,6,1200,3.66,CRD,16.5 +VTS,1,6,300,0.78,CSH,5.5 +VTS,1,6,300,0.88,CSH,5.5 +VTS,1,6,1320,11.73,CRD,34.0 +VTS,1,6,480,3.98,CRD,12.5 +VTS,1,6,180,0.65,CSH,4.5 +VTS,1,6,540,1.95,CSH,9.5 +VTS,1,1,960,1.58,CSH,11.5 +VTS,1,6,240,1.03,CRD,5.5 +VTS,1,6,420,1.69,CRD,7.5 +VTS,1,6,1380,9.42,CRD,29.0 +VTS,1,6,300,1.64,CRD,6.5 +VTS,1,6,360,1.24,CRD,6.0 +VTS,1,6,300,2.11,CRD,8.5 +VTS,1,1,1080,8.05,CRD,24.5 +VTS,1,6,480,2.04,CRD,8.5 +VTS,1,6,120,0.44,CSH,3.5 +VTS,1,6,480,1.55,CRD,8.0 +VTS,1,6,660,2.65,CSH,10.5 +VTS,1,6,720,2.26,CRD,10.0 +VTS,1,6,660,3.79,CSH,13.0 +VTS,1,6,780,3.45,CSH,12.5 +VTS,1,6,720,5.06,CRD,16.0 +VTS,1,1,900,3.04,CRD,13.5 +VTS,1,1,720,1.65,CSH,9.0 +VTS,1,6,420,1.0,CRD,6.0 +VTS,1,6,600,3.31,CRD,12.0 +VTS,1,6,300,0.74,CRD,5.0 +VTS,1,6,1560,13.71,CRD,39.5 +VTS,1,6,660,2.57,CSH,11.0 +VTS,1,6,300,1.08,CSH,6.0 +VTS,1,6,2100,12.51,CRD,38.0 +VTS,1,6,1020,8.94,CRD,27.0 +VTS,1,6,420,1.45,CRD,7.5 +VTS,1,6,360,1.39,CRD,7.0 +VTS,1,6,960,8.34,CRD,25.5 +VTS,1,6,540,0.9,CRD,7.0 +VTS,1,6,480,1.57,CRD,8.0 +VTS,1,6,300,0.8,CRD,5.5 +VTS,1,6,420,3.29,CSH,11.5 +VTS,1,6,840,2.93,CRD,12.0 +VTS,1,6,300,1.22,CSH,6.0 +VTS,1,6,660,3.01,CRD,12.0 +VTS,1,6,960,5.21,CSH,17.5 +VTS,1,6,1140,2.4,CRD,13.0 +VTS,1,6,180,0.83,CRD,4.5 +VTS,1,6,480,1.79,CSH,9.0 +VTS,1,6,1080,5.4,CSH,19.0 +VTS,1,6,120,0.39,CSH,4.0 +VTS,1,6,1140,2.84,CRD,14.0 +VTS,1,6,120,0.51,CSH,4.0 +VTS,1,1,300,0.99,CSH,6.0 +VTS,1,6,1440,9.65,CRD,29.0 +VTS,1,6,420,0.61,CRD,5.5 +VTS,1,1,420,1.59,CRD,7.5 +VTS,1,1,120,0.25,CRD,3.0 +VTS,1,6,1500,10.81,CRD,32.5 +VTS,1,6,660,3.06,CSH,11.5 +VTS,1,6,240,1.04,CRD,5.5 +VTS,1,6,300,0.94,CSH,5.5 +VTS,1,6,240,0.96,CSH,5.5 +VTS,1,6,300,0.79,CSH,5.0 +VTS,1,6,1080,6.38,CSH,20.5 +VTS,1,6,1080,5.69,CRD,18.0 +VTS,1,6,840,1.68,CSH,10.5 +VTS,1,6,1140,3.86,CRD,16.0 +VTS,1,6,360,1.32,CSH,7.0 +VTS,1,6,360,0.73,CRD,6.0 +VTS,1,6,540,1.8,CRD,8.0 +VTS,1,6,900,3.26,CRD,13.0 +VTS,1,6,660,2.01,CRD,9.5 +VTS,1,6,1320,3.9,CRD,17.5 +VTS,1,6,480,1.94,CSH,8.5 +VTS,1,6,420,1.18,CSH,6.5 +VTS,1,6,480,1.87,CRD,8.5 +VTS,1,6,1680,8.71,CRD,29.0 +VTS,1,6,1260,7.3,CSH,22.5 +VTS,1,6,960,7.58,CRD,23.0 +VTS,1,6,840,1.23,CSH,9.5 +VTS,1,6,480,1.7,CRD,8.0 +VTS,1,6,540,1.42,CRD,8.0 +VTS,1,6,1140,9.55,CRD,27.5 +VTS,1,6,600,1.3,CSH,8.5 +VTS,1,6,600,2.34,CSH,10.0 +VTS,1,1,480,1.55,CSH,8.0 +VTS,1,1,540,2.55,CRD,9.5 +VTS,1,6,960,5.82,CSH,18.0 +VTS,1,6,720,2.59,CRD,11.0 +VTS,1,6,0,0.09,CSH,2.5 +VTS,1,6,300,0.92,CSH,5.5 +VTS,1,6,840,2.36,CSH,11.5 +VTS,1,1,360,2.09,CRD,8.0 +VTS,1,6,1380,4.91,CRD,20.0 +VTS,1,6,480,2.03,CSH,8.5 +VTS,1,6,360,0.58,CRD,5.0 +VTS,1,6,1020,2.85,CRD,14.0 +VTS,1,6,600,1.68,CRD,8.5 +VTS,1,6,720,6.97,CSH,20.5 +VTS,1,6,360,1.05,CRD,6.0 +VTS,1,6,480,1.37,CRD,7.5 +VTS,1,6,180,0.72,CSH,4.5 +VTS,1,6,540,1.97,CSH,9.0 +VTS,1,6,2040,11.26,CSH,35.5 +VTS,1,6,840,2.46,CRD,11.5 +VTS,1,6,480,1.24,CRD,7.5 +VTS,1,5,360,1.58,CSH,7.0 +VTS,1,5,180,0.47,CSH,4.0 +VTS,1,5,240,1.33,CSH,6.0 +VTS,1,5,960,4.1,CRD,14.5 +VTS,1,5,480,1.26,CRD,8.0 +VTS,1,5,300,0.83,CRD,5.5 +VTS,1,5,660,1.08,CRD,8.5 +VTS,1,6,120,0.42,CSH,3.5 +VTS,1,5,300,1.44,CRD,6.5 +VTS,1,5,180,0.57,CSH,4.5 +VTS,1,6,600,1.01,CRD,8.0 +VTS,1,5,360,1.15,CRD,6.0 +VTS,1,6,1020,6.51,CSH,21.0 +VTS,1,6,960,8.58,CRD,24.5 +VTS,1,6,540,1.71,CRD,8.5 +VTS,1,1,660,2.74,CSH,11.0 +VTS,1,6,300,1.17,CSH,5.5 +VTS,1,6,1560,10.33,CRD,31.5 +VTS,1,6,600,2.64,CSH,10.5 +VTS,1,6,420,1.66,CRD,8.0 +VTS,1,6,540,1.71,CSH,8.5 +VTS,1,6,540,1.18,CSH,7.5 +VTS,1,6,420,1.1,CSH,6.5 +VTS,1,6,720,1.77,CRD,10.0 +VTS,1,6,300,0.96,CSH,5.5 +VTS,1,6,240,1.51,CRD,6.5 +VTS,1,6,1140,7.66,CSH,23.0 +VTS,1,6,180,0.73,CSH,4.5 +VTS,1,6,180,0.63,CSH,4.5 +VTS,1,6,660,2.73,CSH,10.5 +VTS,1,6,480,1.76,CSH,8.0 +VTS,1,6,300,1.45,CSH,6.0 +VTS,1,6,1140,4.81,CRD,18.5 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,6,300,1.14,CRD,6.0 +VTS,1,6,840,1.27,CSH,10.0 +VTS,1,6,360,1.19,CRD,6.5 +VTS,1,6,600,1.49,CRD,9.0 +VTS,1,1,660,1.71,CSH,9.5 +VTS,1,1,360,1.07,CSH,6.0 +VTS,1,6,180,1.22,CSH,5.5 +VTS,1,6,360,1.05,CSH,6.0 +VTS,1,6,540,1.88,CSH,9.0 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,6,480,1.54,CSH,7.5 +VTS,1,6,420,1.64,CRD,7.5 +VTS,1,6,660,2.77,CSH,11.0 +VTS,1,6,240,1.56,CRD,6.5 +VTS,1,6,780,2.87,CRD,11.5 +VTS,1,6,720,1.98,CRD,10.5 +VTS,1,6,360,1.12,CRD,6.5 +VTS,1,6,480,1.85,CRD,8.0 +VTS,1,6,1920,10.33,CRD,34.0 +VTS,1,6,480,1.4,CSH,7.0 +VTS,1,6,120,0.53,CRD,3.5 +VTS,1,6,720,4.1,CRD,13.5 +VTS,1,6,1200,1.85,CSH,13.0 +VTS,1,6,1320,8.61,CRD,26.0 +VTS,1,6,780,2.89,CRD,12.5 +VTS,1,6,240,0.78,CSH,4.5 +VTS,1,6,900,3.06,CRD,12.5 +VTS,1,6,780,3.97,CRD,15.0 +VTS,1,1,840,4.29,CSH,14.5 +VTS,1,6,660,3.28,CRD,12.5 +VTS,1,6,480,2.08,CRD,9.0 +VTS,1,6,1080,3.31,CRD,14.0 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,6,420,1.47,CRD,7.5 +VTS,1,6,420,1.15,CRD,7.0 +VTS,1,6,180,0.44,CRD,4.5 +VTS,1,6,900,6.57,CSH,19.5 +VTS,1,6,540,1.61,CRD,8.0 +VTS,1,6,180,0.74,CRD,4.5 +VTS,1,6,240,1.07,CSH,5.5 +VTS,1,6,660,2.54,CSH,11.0 +VTS,1,6,660,2.58,CSH,11.0 +VTS,1,6,480,1.32,CSH,7.5 +VTS,1,6,120,0.28,CSH,3.5 +VTS,1,6,120,0.29,CSH,3.5 +VTS,1,6,1320,11.88,CRD,34.5 +VTS,1,6,840,2.02,CRD,10.5 +VTS,1,6,600,1.69,CSH,9.0 +VTS,1,6,1080,2.32,CSH,12.5 +VTS,1,6,1080,3.86,CSH,15.5 +VTS,1,6,360,2.4,CRD,9.0 +VTS,1,6,240,0.75,CRD,5.0 +VTS,1,6,480,1.57,CSH,7.5 +VTS,1,1,780,3.78,CSH,14.0 +VTS,1,6,1260,4.76,CSH,19.5 +VTS,1,6,720,3.68,CRD,12.5 +VTS,1,6,1080,3.47,CSH,15.5 +VTS,1,6,480,3.96,CSH,13.0 +VTS,1,6,300,0.82,CSH,5.5 +VTS,1,6,300,1.81,CRD,7.0 +VTS,1,1,600,1.93,CRD,9.0 +VTS,1,6,240,1.15,CSH,5.5 +VTS,1,6,240,1.95,CSH,7.0 +VTS,1,6,660,1.33,CSH,8.0 +VTS,1,6,1080,4.96,CSH,17.0 +VTS,1,1,300,0.9,CRD,6.0 +VTS,1,6,1200,8.35,CRD,25.5 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,6,2040,13.78,CSH,41.5 +VTS,1,6,1440,4.59,CRD,19.5 +VTS,1,6,1500,5.69,CSH,22.0 +VTS,1,6,180,0.58,CSH,4.5 +VTS,1,6,480,1.38,CRD,7.5 +VTS,1,6,300,0.49,CSH,5.0 +VTS,1,6,1200,3.29,CRD,15.5 +VTS,1,6,600,3.6,CRD,12.0 +VTS,1,1,1260,3.7,CRD,16.5 +VTS,1,6,540,2.52,CRD,10.0 +VTS,1,1,1140,3.21,CSH,14.5 +VTS,1,1,300,1.3,CRD,6.0 +VTS,1,1,600,2.64,CRD,11.0 +VTS,1,1,540,1.17,CSH,7.5 +VTS,1,6,600,1.58,CRD,9.0 +VTS,1,6,420,3.14,CRD,10.5 +VTS,1,6,420,0.94,CRD,6.5 +VTS,1,6,540,2.8,CSH,10.5 +VTS,1,6,240,0.98,CRD,5.0 +VTS,1,6,780,3.71,CRD,13.0 +VTS,1,6,420,1.51,CSH,7.5 +VTS,1,6,1200,5.03,CRD,18.0 +VTS,1,6,540,2.1,CRD,8.5 +VTS,1,6,420,1.67,CRD,7.5 +VTS,1,6,360,1.49,CRD,7.5 +VTS,1,6,600,1.88,CSH,9.0 +VTS,1,6,480,2.53,CSH,9.0 +VTS,1,6,360,1.18,CRD,6.5 +VTS,1,6,720,1.81,CRD,9.0 +VTS,1,6,2220,11.26,CSH,35.5 +VTS,1,6,600,2.72,CRD,10.0 +VTS,1,6,360,1.9,CSH,7.5 +VTS,1,6,180,0.44,CSH,4.5 +VTS,1,6,1140,5.31,CSH,19.0 +VTS,1,6,600,2.7,CRD,11.0 +VTS,1,6,900,4.8,CRD,17.0 +VTS,1,6,1920,13.41,CRD,40.0 +VTS,1,6,420,2.23,CRD,8.5 +VTS,1,6,840,2.67,CSH,12.0 +VTS,1,6,1320,6.1,CRD,21.5 +VTS,1,6,360,1.38,CRD,6.5 +VTS,1,1,360,1.49,CRD,7.0 +VTS,1,6,240,0.71,CSH,5.0 +VTS,1,6,480,2.27,CRD,9.0 +VTS,1,6,1140,5.89,CSH,18.5 +VTS,1,6,720,2.52,CSH,11.0 +VTS,1,6,180,0.73,CSH,4.5 +VTS,1,6,180,0.91,CSH,5.0 +VTS,1,6,540,1.79,CSH,8.0 +VTS,1,6,240,0.71,CSH,5.0 +VTS,1,6,840,2.9,CSH,12.0 +VTS,1,6,780,6.37,CSH,19.5 +VTS,1,6,1200,10.2,CSH,29.5 +VTS,1,6,1200,3.09,CRD,14.0 +VTS,1,6,360,1.61,CSH,7.5 +VTS,1,6,840,1.68,CRD,10.0 +VTS,1,6,540,1.14,CSH,7.5 +VTS,1,1,480,2.04,CSH,9.0 +VTS,1,6,240,0.8,CSH,5.0 +VTS,1,6,420,1.74,CRD,7.5 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,300,1.11,CSH,5.5 +VTS,1,6,1140,4.9,CRD,18.0 +VTS,1,6,480,2.04,CRD,8.5 +VTS,1,6,1260,2.18,CSH,14.5 +VTS,1,6,1140,2.2,CSH,14.0 +VTS,1,6,240,0.63,CRD,4.5 +VTS,1,6,420,1.8,CRD,7.5 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,6,960,2.49,CSH,12.5 +VTS,1,6,360,1.16,CSH,6.5 +VTS,1,6,840,3.96,CSH,14.0 +VTS,1,6,360,1.81,CSH,7.5 +VTS,1,6,540,1.38,CRD,7.5 +VTS,1,6,540,1.66,CSH,8.5 +VTS,1,6,120,0.89,CSH,4.5 +VTS,1,6,1020,5.17,CRD,18.0 +VTS,1,6,780,4.42,CSH,15.0 +VTS,1,6,720,1.7,CRD,9.0 +VTS,1,6,420,0.67,CSH,5.5 +VTS,1,6,720,3.33,CRD,12.5 +VTS,1,6,360,1.35,CRD,7.0 +VTS,1,6,660,2.77,CSH,11.5 +VTS,5,1,0,0.0,CRD,15.0 +VTS,1,6,600,1.44,CRD,9.0 +VTS,1,6,420,1.6,CRD,7.5 +VTS,1,6,540,1.81,CSH,8.5 +VTS,1,6,420,1.92,CRD,8.0 +VTS,1,5,1140,4.85,CSH,18.0 +VTS,1,6,660,2.35,CRD,11.0 +VTS,1,6,600,2.22,CSH,9.5 +VTS,1,6,960,4.13,CRD,15.5 +VTS,1,6,1260,5.53,CSH,20.0 +VTS,1,6,480,1.27,CRD,7.5 +VTS,1,6,420,1.96,CSH,8.5 +VTS,1,6,420,1.11,CSH,6.5 +VTS,1,6,720,2.83,CRD,11.5 +VTS,1,6,240,0.81,CSH,5.0 +VTS,1,6,420,0.91,CSH,6.0 +VTS,1,6,180,0.63,CSH,4.0 +VTS,1,6,120,0.13,CSH,3.0 +VTS,1,6,420,1.37,CSH,7.0 +VTS,1,6,420,2.42,CSH,9.0 +VTS,1,6,1080,8.26,CRD,25.0 +VTS,1,6,480,2.1,CSH,8.5 +VTS,1,6,600,1.95,CRD,8.5 +VTS,1,6,720,1.55,CRD,8.5 +VTS,1,6,480,1.84,CSH,8.5 +VTS,1,6,420,1.61,CSH,7.5 +VTS,1,6,360,1.08,CSH,6.5 +VTS,1,6,240,1.32,CSH,6.0 +VTS,1,6,720,2.07,CRD,10.0 +VTS,1,6,180,0.54,CSH,4.5 +VTS,1,6,1380,5.72,CRD,19.5 +VTS,1,6,300,0.92,CRD,5.5 +VTS,1,6,480,1.77,CSH,8.0 +VTS,1,6,1080,4.11,CSH,15.5 +VTS,1,6,840,3.56,CRD,13.0 +VTS,1,6,780,3.43,CSH,13.0 +VTS,1,6,960,5.82,CRD,19.5 +VTS,1,6,240,1.25,CRD,5.5 +VTS,1,6,480,2.17,CRD,8.5 +VTS,1,6,420,1.9,CRD,8.0 +VTS,1,6,360,2.1,CRD,8.0 +VTS,1,6,420,1.33,CRD,6.5 +VTS,1,6,780,3.38,CRD,13.0 +VTS,1,6,1620,7.72,CSH,26.0 +VTS,1,6,1500,3.29,CRD,16.5 +VTS,1,6,600,1.29,CSH,8.5 +VTS,1,6,1440,5.6,CRD,21.0 +VTS,1,6,360,0.85,CRD,6.0 +VTS,1,6,900,4.98,CSH,16.0 +VTS,1,6,180,0.28,CSH,4.0 +VTS,1,6,180,1.01,CRD,5.0 +VTS,1,6,1680,5.95,CSH,23.5 +VTS,1,6,780,4.0,CSH,13.5 +VTS,1,6,1380,7.8,CRD,25.0 +VTS,1,6,900,3.93,CSH,15.0 +VTS,1,6,360,0.8,CRD,5.5 +VTS,1,6,480,2.61,CSH,9.5 +VTS,1,6,1020,6.64,CSH,21.0 +VTS,1,6,480,1.89,CSH,8.0 +VTS,1,6,780,2.8,CRD,11.0 +VTS,1,6,1080,6.1,CRD,21.0 +VTS,1,6,780,2.24,CSH,10.0 +VTS,1,6,1380,9.7,CRD,29.5 +VTS,1,6,2880,16.76,CRD,52.5 +VTS,1,6,360,1.01,CRD,5.5 +VTS,1,6,240,0.79,CSH,5.0 +VTS,1,6,840,4.42,CSH,14.5 +VTS,1,6,240,1.15,CRD,6.0 +VTS,1,6,240,0.8,CSH,4.5 +VTS,1,6,180,0.71,CSH,4.5 +VTS,1,6,240,1.23,CSH,6.0 +VTS,1,6,600,1.73,CSH,9.0 +VTS,1,6,420,1.29,CSH,6.5 +VTS,1,6,1860,7.35,CRD,26.0 +VTS,1,6,960,8.11,CRD,24.5 +VTS,1,6,540,2.75,CSH,10.5 +VTS,1,6,540,1.54,CRD,8.0 +VTS,1,6,240,0.91,CRD,5.5 +VTS,1,6,480,1.57,CRD,8.0 +VTS,1,6,540,1.81,CRD,9.0 +VTS,1,6,540,2.23,CRD,9.5 +VTS,1,1,180,0.35,CRD,4.0 +VTS,1,6,1200,6.31,CRD,21.0 +VTS,1,1,720,0.95,CSH,8.0 +VTS,1,6,1560,3.26,CRD,17.5 +VTS,1,6,720,2.97,CSH,12.0 +VTS,1,6,180,0.55,CSH,4.5 +VTS,1,6,360,0.88,CRD,5.5 +VTS,1,6,420,1.82,CSH,7.5 +VTS,1,6,1020,5.08,CSH,17.5 +VTS,1,6,480,1.63,CRD,8.0 +VTS,1,6,540,1.6,CRD,8.0 +VTS,1,6,780,2.33,CRD,10.5 +VTS,1,6,900,1.62,CSH,11.0 +VTS,1,6,120,0.52,CSH,3.5 +VTS,1,6,1080,5.49,CSH,19.0 +VTS,1,6,660,1.05,CRD,8.5 +VTS,1,6,120,0.37,CRD,3.5 +VTS,1,6,960,2.41,CSH,12.5 +VTS,1,6,780,2.96,CRD,11.5 +VTS,1,6,480,1.15,CSH,7.5 +VTS,1,6,540,1.95,CRD,9.0 +VTS,1,1,420,1.46,CSH,7.0 +VTS,1,6,360,1.37,CSH,6.5 +VTS,1,6,1320,2.41,CRD,14.5 +VTS,1,6,720,1.8,CRD,10.0 +VTS,1,6,840,2.92,CRD,12.5 +VTS,1,6,360,1.67,CRD,7.5 +VTS,1,6,840,5.12,CRD,16.5 +VTS,1,6,1860,18.96,CRD,51.0 +VTS,1,6,420,1.94,CSH,8.5 +VTS,1,6,900,3.24,CSH,14.0 +VTS,1,6,1560,4.18,CSH,19.0 +VTS,1,6,480,1.79,CRD,8.0 +VTS,1,6,420,1.84,CSH,8.5 +VTS,1,1,360,0.96,CRD,6.0 +VTS,1,6,360,1.14,CSH,6.0 +VTS,1,1,540,1.91,CRD,8.5 +VTS,1,1,1260,11.29,CRD,32.5 +VTS,1,6,480,2.1,CSH,8.5 +VTS,1,6,540,1.17,CSH,7.5 +VTS,1,6,480,1.11,CRD,6.5 +VTS,1,6,600,2.74,CRD,10.5 +VTS,1,6,600,2.05,CRD,9.0 +VTS,1,6,480,0.78,CRD,6.0 +VTS,1,6,360,1.06,CSH,6.0 +VTS,1,6,960,7.24,CRD,22.5 +VTS,1,6,1380,5.62,CSH,21.0 +VTS,1,6,240,0.99,CRD,5.5 +VTS,1,6,540,1.52,CSH,7.5 +VTS,1,6,1320,3.88,CRD,17.5 +VTS,1,6,480,1.36,CRD,7.0 +VTS,1,1,180,0.79,CRD,4.5 +VTS,1,6,660,2.02,CRD,9.5 +VTS,1,6,300,1.82,CRD,7.0 +VTS,1,6,1140,3.72,CRD,15.0 +VTS,1,6,600,2.62,CRD,10.5 +VTS,1,6,180,0.7,CRD,5.0 +VTS,1,6,240,0.71,CRD,4.5 +VTS,1,6,1500,4.85,CRD,20.0 +VTS,1,6,600,2.63,CRD,10.0 +VTS,1,6,1140,5.48,CRD,18.5 +VTS,1,6,420,1.65,CSH,7.5 +VTS,1,6,840,4.63,CRD,15.0 +VTS,1,6,480,0.99,CSH,6.0 +VTS,1,6,660,1.48,CSH,8.0 +VTS,1,6,780,3.01,CRD,12.0 +VTS,1,6,1380,7.43,CSH,24.0 +VTS,1,6,180,0.82,CRD,5.0 +VTS,1,6,1140,3.5,CRD,15.5 +VTS,1,6,120,0.55,CRD,4.0 +VTS,1,6,300,0.89,CSH,5.0 +VTS,1,6,420,1.27,CSH,7.0 +VTS,1,6,900,3.43,CSH,13.0 +VTS,1,6,420,1.75,CSH,7.5 +VTS,1,6,180,0.55,CRD,4.0 +VTS,1,6,540,1.13,CSH,7.5 +VTS,1,6,720,3.23,CRD,12.0 +VTS,1,6,1140,3.33,CRD,14.5 +VTS,1,6,360,1.12,CRD,6.5 +VTS,1,6,1260,3.97,CRD,17.0 +VTS,1,6,1320,5.0,CSH,18.5 +VTS,1,6,660,3.65,CRD,12.5 +VTS,1,6,660,3.67,CRD,13.0 +VTS,1,6,300,1.2,CSH,6.0 +VTS,1,6,840,2.89,CSH,12.0 +VTS,1,6,1500,6.16,CRD,22.5 +VTS,1,6,600,2.73,CRD,10.0 +VTS,1,6,720,3.49,CSH,12.5 +VTS,1,6,780,2.77,CRD,12.0 +VTS,1,6,660,1.7,CRD,9.5 +VTS,1,6,480,1.71,CSH,8.0 +VTS,1,6,540,3.99,CRD,13.0 +VTS,1,6,1020,7.05,CSH,21.0 +VTS,1,6,540,2.43,CSH,9.5 +VTS,1,6,1080,3.86,CRD,15.5 +VTS,1,6,600,2.4,CSH,10.0 +VTS,1,6,480,1.82,CRD,8.0 +VTS,1,6,480,1.55,CRD,7.5 +VTS,1,6,240,1.17,CSH,5.5 +VTS,1,6,2160,16.39,CRD,47.5 +VTS,1,6,780,7.73,CRD,22.5 +VTS,1,6,300,1.7,CSH,7.5 +VTS,1,6,180,0.83,CRD,5.0 +VTS,1,6,300,1.02,CRD,5.5 +VTS,1,6,600,1.93,CSH,9.0 +VTS,1,6,540,1.07,CRD,6.5 +VTS,1,6,1440,3.85,CSH,16.0 +VTS,1,6,420,1.36,CRD,6.5 +VTS,1,6,600,2.04,CRD,9.0 +VTS,1,6,540,2.43,CSH,10.0 +VTS,1,6,240,1.24,CSH,6.0 +VTS,1,6,300,1.31,CSH,6.5 +VTS,1,6,660,2.0,CSH,9.5 +VTS,1,6,1620,4.58,CRD,18.5 +VTS,1,6,540,2.27,CSH,9.0 +VTS,1,6,840,4.1,CRD,15.5 +VTS,1,6,240,0.74,CRD,5.0 +VTS,1,6,480,2.25,CSH,9.0 +VTS,1,6,180,0.58,CSH,4.0 +VTS,1,6,480,2.59,CSH,10.0 +VTS,1,6,300,0.98,CSH,5.5 +VTS,1,6,240,0.74,CSH,5.0 +VTS,1,6,300,0.99,CRD,6.0 +VTS,1,6,1260,2.39,CRD,13.0 +VTS,1,6,840,1.4,CSH,9.0 +VTS,1,6,1260,4.88,CRD,17.5 +VTS,1,6,600,2.39,CRD,9.5 +VTS,1,6,720,2.26,CRD,10.5 +VTS,1,6,300,0.55,CRD,5.5 +VTS,1,6,420,1.42,CRD,7.0 +VTS,1,6,60,0.29,CSH,3.0 +VTS,1,6,720,2.37,CSH,11.0 +VTS,1,6,300,1.02,CRD,5.5 +VTS,1,6,1080,6.85,CRD,22.5 +VTS,1,6,480,1.39,CRD,7.5 +VTS,1,6,660,4.11,CRD,13.5 +VTS,1,6,420,1.73,CSH,7.5 +VTS,1,6,720,0.9,CRD,7.5 +VTS,1,6,900,5.76,CRD,18.0 +VTS,1,6,120,0.53,CRD,3.5 +VTS,1,6,960,2.08,CRD,11.0 +VTS,1,6,360,0.96,CRD,6.0 +VTS,1,6,1140,3.86,CRD,16.5 +VTS,1,6,120,0.47,CSH,3.5 +VTS,1,6,480,1.68,CSH,8.0 +VTS,1,6,420,2.64,CSH,9.5 +VTS,1,6,840,2.49,CSH,11.5 +VTS,1,6,420,1.19,CRD,6.5 +VTS,1,6,840,2.63,CSH,11.5 +VTS,1,6,300,1.44,CSH,6.5 +VTS,1,6,720,2.59,CSH,10.5 +VTS,1,6,900,3.55,CRD,14.0 +VTS,1,6,660,3.6,CRD,12.5 +VTS,1,6,300,1.16,CSH,6.0 +VTS,1,6,420,1.63,CSH,7.0 +VTS,1,6,840,3.39,CSH,13.5 +VTS,1,6,720,4.28,CRD,14.5 +VTS,1,6,420,1.12,CRD,6.5 +VTS,1,6,360,3.08,CRD,10.5 +VTS,1,6,1260,9.77,CRD,28.5 +VTS,1,6,480,2.17,CRD,9.5 +VTS,1,6,180,0.38,CRD,4.0 +VTS,1,6,480,2.94,CRD,10.5 +VTS,1,6,1080,6.86,CSH,21.5 +VTS,1,6,240,0.59,CSH,4.5 +VTS,1,6,1320,5.91,CSH,20.5 +VTS,1,6,1140,8.83,CRD,26.5 +VTS,1,6,300,1.32,CRD,6.5 +VTS,1,6,480,1.31,CRD,7.5 +VTS,1,6,420,1.95,CSH,8.0 +VTS,1,6,900,2.22,CRD,10.5 +VTS,1,6,1920,5.98,CRD,23.0 +VTS,1,6,960,4.61,CSH,15.5 +VTS,1,6,120,0.65,CSH,4.0 +VTS,1,5,960,3.6,CSH,13.5 +VTS,1,6,780,4.03,CRD,14.5 +VTS,1,6,780,2.22,CRD,10.0 +VTS,1,6,1500,7.28,CSH,26.0 +VTS,1,6,840,4.12,CSH,15.0 +VTS,1,6,900,5.23,CRD,16.5 +VTS,1,6,780,2.6,CSH,11.5 +VTS,1,6,60,0.45,CSH,3.5 +VTS,1,6,420,2.05,CRD,8.5 +VTS,1,6,240,0.71,CSH,5.0 +VTS,1,6,780,3.48,CSH,13.0 +VTS,1,6,1140,6.29,CRD,20.5 +VTS,1,6,420,2.05,CSH,8.0 +VTS,1,6,960,3.99,CSH,14.0 +VTS,1,6,1740,11.11,CRD,33.5 +VTS,1,6,300,1.11,CRD,6.0 +VTS,1,6,420,1.89,CSH,7.5 +VTS,1,6,1020,3.67,CRD,14.5 +VTS,1,6,1140,5.8,CRD,19.0 +VTS,1,6,960,3.27,CRD,13.5 +VTS,1,6,900,4.4,CRD,15.0 +VTS,1,6,180,0.43,CSH,4.0 +VTS,1,6,300,1.25,CRD,6.0 +VTS,1,6,1560,7.24,CSH,24.5 +VTS,1,6,300,1.19,CRD,6.0 +VTS,1,6,420,2.05,CRD,8.0 +VTS,1,6,1140,5.4,CRD,19.0 +VTS,1,6,420,2.19,CRD,8.5 +VTS,1,6,840,3.67,CRD,13.5 +VTS,1,6,180,0.37,CSH,4.0 +VTS,1,6,960,4.67,CRD,15.5 +VTS,1,6,480,2.58,CSH,9.5 +VTS,1,6,480,2.41,CRD,9.0 +VTS,1,6,960,3.67,CSH,14.5 +VTS,1,6,300,0.86,CRD,5.5 +VTS,1,6,660,2.8,CSH,11.0 +VTS,1,6,420,1.38,CSH,7.0 +VTS,1,6,480,2.39,CRD,9.5 +VTS,1,6,240,0.57,CRD,4.5 +VTS,1,6,120,0.48,CSH,3.5 +VTS,1,6,480,2.8,CRD,10.5 +VTS,1,6,420,2.12,CSH,9.0 +VTS,1,6,1440,12.28,CRD,36.0 +VTS,1,6,420,1.11,CRD,6.5 +VTS,1,6,840,2.59,CRD,11.0 +VTS,1,6,900,2.18,CSH,11.5 +VTS,1,6,1140,3.78,CSH,15.5 +VTS,1,6,240,1.3,CRD,6.0 +VTS,1,6,600,0.9,CSH,7.5 +VTS,1,6,840,10.1,CRD,28.5 +VTS,1,6,900,5.17,CSH,17.5 +VTS,1,6,360,1.27,CRD,6.0 +VTS,1,6,420,1.23,CRD,7.0 +VTS,1,6,840,4.21,CRD,14.5 +VTS,1,6,480,3.16,CRD,11.0 +VTS,1,6,840,5.04,CRD,16.0 +VTS,1,6,1380,11.1,CSH,32.5 +VTS,1,6,2160,11.58,CRD,34.5 +VTS,1,6,420,1.48,CRD,7.0 +VTS,1,6,480,2.59,CRD,9.5 +VTS,1,6,1440,5.66,CRD,21.0 +VTS,1,6,780,3.17,CRD,12.0 +VTS,1,6,1200,4.83,CRD,18.0 +VTS,1,6,1320,3.52,CRD,15.0 +VTS,1,6,600,1.29,CRD,7.5 +VTS,1,6,240,0.74,CSH,5.0 +VTS,1,6,1260,5.19,CSH,19.0 +VTS,1,6,1020,5.14,CRD,17.0 +VTS,1,6,900,4.0,CRD,14.5 +VTS,1,6,1620,8.26,CSH,27.5 +VTS,1,6,660,4.64,CRD,15.0 +VTS,1,6,0,0.14,CSH,2.5 +VTS,1,6,780,3.63,CSH,13.0 +VTS,1,6,420,0.85,CSH,6.0 +VTS,1,6,1440,6.0,CRD,21.0 +VTS,1,6,780,1.72,CSH,10.0 +VTS,1,6,480,2.75,CSH,10.0 +VTS,1,6,720,4.4,CSH,14.5 +VTS,1,6,900,3.75,CRD,14.0 +VTS,1,6,420,1.1,CRD,6.5 +VTS,1,6,480,1.24,CSH,7.5 +VTS,1,6,540,1.33,CRD,7.5 +VTS,1,6,1200,7.4,CRD,23.5 +VTS,1,6,1440,10.4,CSH,31.5 +VTS,1,6,120,0.66,CSH,4.0 +VTS,1,6,480,2.44,CRD,9.5 +VTS,1,6,900,4.25,CSH,14.5 +VTS,1,6,840,2.76,CSH,12.0 +VTS,1,6,540,1.55,CSH,8.0 +VTS,1,6,360,1.49,CRD,6.5 +VTS,4,6,720,2.45,CRD,10.0 +VTS,1,6,240,0.42,CRD,4.0 +VTS,1,6,1080,3.08,CRD,13.0 +VTS,1,6,360,0.86,CRD,5.5 +VTS,1,6,1440,7.19,CSH,23.0 +VTS,1,6,240,0.78,CRD,5.0 +VTS,1,6,180,0.4,CRD,4.0 +VTS,1,6,1200,6.82,CRD,21.0 +VTS,1,6,600,2.4,CSH,9.0 +VTS,1,6,1440,4.47,CRD,17.0 +VTS,1,6,600,1.98,CRD,9.0 +VTS,1,6,600,2.21,CRD,9.5 +VTS,1,6,480,2.96,CSH,10.5 +VTS,1,6,1500,4.8,CSH,20.0 +VTS,1,6,600,2.67,CSH,10.0 +VTS,1,6,1080,3.53,CRD,15.0 +VTS,1,6,600,1.87,CRD,9.5 +VTS,1,6,360,1.02,CRD,6.5 +VTS,1,6,300,1.06,CRD,5.5 +VTS,1,6,360,2.35,CRD,8.0 +VTS,1,5,300,1.15,CSH,6.0 +VTS,1,6,1440,8.02,CRD,25.5 +VTS,1,6,900,3.52,CSH,14.0 +VTS,1,6,240,1.61,CRD,6.5 +VTS,1,6,660,2.41,CSH,10.5 +VTS,1,6,900,5.02,CRD,17.0 +VTS,1,6,1440,7.09,CRD,24.0 +VTS,1,6,240,1.02,CRD,5.5 +VTS,1,6,120,0.5,CSH,4.0 +VTS,1,6,960,4.31,CRD,15.5 +VTS,1,6,360,0.86,CSH,6.0 +VTS,1,6,360,0.83,CRD,6.0 +VTS,1,6,780,3.89,CRD,13.5 +VTS,1,6,840,2.23,CRD,11.5 +VTS,1,6,360,0.98,CSH,6.0 +VTS,1,6,900,2.57,CRD,12.0 +VTS,1,6,1020,6.72,CSH,20.0 +VTS,1,6,360,1.38,CRD,7.0 +VTS,1,6,1080,5.51,CSH,18.5 +VTS,1,6,1860,9.64,CRD,29.0 +VTS,1,6,1560,3.62,CSH,16.0 +VTS,1,6,240,0.68,CRD,4.5 +VTS,1,6,780,2.77,CRD,11.5 +VTS,1,6,600,2.87,CSH,11.0 +VTS,1,6,480,1.68,CSH,8.0 +VTS,1,6,720,4.03,CRD,14.0 +VTS,1,6,480,1.95,CSH,8.5 +VTS,1,6,420,1.06,CSH,6.5 +VTS,1,6,900,3.23,CRD,14.0 +VTS,1,6,600,2.87,CSH,11.0 +VTS,1,6,360,1.16,CRD,6.5 +VTS,1,6,1020,3.09,CSH,13.5 +VTS,1,6,840,4.45,CRD,15.5 +VTS,1,6,720,3.35,CRD,12.5 +VTS,1,6,180,0.73,CSH,4.5 +VTS,1,6,240,0.66,CSH,5.0 +VTS,1,6,480,1.83,CRD,8.0 +VTS,1,6,780,3.19,CSH,12.5 +VTS,1,6,180,0.9,CRD,4.5 +VTS,1,6,240,0.64,CRD,4.5 +VTS,1,6,720,4.22,CRD,14.0 +VTS,1,6,1200,5.75,CSH,19.0 +VTS,1,6,780,3.43,CRD,13.0 +VTS,1,6,660,1.95,CRD,9.5 +VTS,1,6,240,0.88,CSH,5.0 +VTS,1,6,540,2.39,CSH,9.5 +VTS,1,6,1080,4.26,CRD,15.5 +VTS,1,6,240,0.87,CRD,5.0 +VTS,1,6,420,2.0,CSH,8.5 +VTS,1,6,300,0.94,CSH,5.0 +VTS,1,6,1020,9.75,CRD,28.0 +VTS,1,6,480,1.54,CSH,7.0 +VTS,1,6,540,2.69,CRD,10.5 +VTS,1,6,540,1.13,CSH,6.5 +VTS,1,6,900,4.73,CRD,15.5 +VTS,1,6,780,3.02,CSH,11.5 +VTS,1,6,1920,8.59,CSH,28.5 +VTS,1,6,1200,6.09,CSH,19.5 +VTS,1,6,480,2.11,CSH,8.5 +VTS,1,6,1980,9.77,CRD,32.0 +VTS,1,6,240,0.77,CSH,4.5 +VTS,4,6,480,1.09,CRD,7.0 +VTS,1,6,540,1.67,CRD,8.5 +VTS,1,6,480,0.92,CSH,7.0 +VTS,1,6,540,1.37,CRD,8.0 +VTS,1,6,660,1.54,CRD,9.0 +VTS,1,6,300,1.29,CRD,6.5 +VTS,1,6,600,2.62,CSH,10.0 +VTS,1,6,1200,3.77,CRD,15.5 +VTS,1,6,780,2.11,CRD,10.0 +VTS,1,6,660,2.11,CRD,9.5 +VTS,1,6,720,2.35,CRD,10.5 +VTS,1,6,420,1.19,CRD,7.0 +VTS,1,6,480,2.04,CSH,8.5 +VTS,1,6,60,0.58,CSH,4.0 +VTS,1,6,120,0.8,CSH,4.5 +VTS,1,6,1200,2.22,CRD,13.5 +VTS,1,6,480,1.45,CRD,7.5 +VTS,1,6,660,1.96,CSH,9.0 +VTS,1,6,540,2.84,CSH,10.5 +VTS,1,6,600,1.9,CSH,9.0 +VTS,1,6,720,3.09,CSH,12.0 +VTS,1,6,240,1.51,CSH,6.5 +VTS,1,6,1020,3.6,CSH,14.0 +VTS,1,6,480,1.8,CSH,8.0 +VTS,1,6,480,2.18,CRD,9.0 +VTS,1,6,240,0.96,CRD,5.0 +VTS,1,6,300,1.36,CRD,6.0 +VTS,1,6,1080,2.45,CSH,11.5 +VTS,1,6,600,1.32,CRD,8.5 +VTS,1,6,240,1.19,CSH,5.5 +VTS,1,6,300,0.85,CRD,5.5 +VTS,1,6,600,2.97,CSH,11.0 +VTS,1,6,660,1.86,CSH,8.5 +VTS,1,6,480,1.78,CSH,8.5 +VTS,1,6,1080,3.35,CRD,14.0 +VTS,1,6,1140,4.71,CSH,17.0 +VTS,1,6,180,0.45,CRD,4.0 +VTS,1,6,780,3.88,CRD,15.0 +VTS,1,6,360,0.81,CRD,5.5 +VTS,1,6,360,3.61,CSH,11.5 +VTS,1,6,1200,4.56,CRD,17.0 +VTS,1,1,180,0.61,CRD,4.0 +VTS,1,1,180,0.51,CRD,4.0 +VTS,1,6,1260,5.38,CSH,20.0 +VTS,1,6,780,8.23,CSH,23.0 +VTS,1,6,780,3.06,CRD,12.0 +VTS,1,6,420,1.59,CRD,7.5 +VTS,1,6,420,2.04,CSH,8.5 +VTS,1,6,300,1.3,CSH,6.0 +VTS,1,6,60,0.58,CSH,4.0 +VTS,1,6,480,1.24,CSH,7.5 +VTS,1,6,540,1.67,CRD,8.0 +VTS,1,6,1560,8.92,CRD,29.5 +VTS,1,6,180,1.06,CSH,5.0 +VTS,1,6,780,4.11,CSH,14.0 +VTS,1,6,720,3.87,CSH,14.0 +VTS,1,6,360,1.44,CSH,6.5 +VTS,1,6,420,1.96,CSH,8.5 +VTS,1,6,480,0.99,CSH,7.0 +VTS,1,6,120,1.07,CRD,5.0 +VTS,1,6,240,0.56,CSH,4.5 +VTS,1,6,660,2.08,CRD,9.0 +VTS,1,6,240,1.13,CSH,5.5 +VTS,1,6,600,1.58,CRD,8.5 +VTS,1,6,360,1.11,CSH,6.5 +VTS,1,6,120,0.37,CRD,3.5 +VTS,1,6,1620,6.51,CRD,23.5 +VTS,1,6,420,1.19,CSH,7.0 +VTS,1,6,1200,6.41,CSH,20.5 +VTS,1,6,720,3.2,CRD,12.0 +VTS,1,6,300,1.05,CRD,5.5 +VTS,1,6,420,1.56,CRD,7.0 +VTS,1,6,660,2.56,CRD,10.5 +VTS,1,6,720,3.15,CRD,13.0 +VTS,1,6,1020,5.56,CRD,18.5 +VTS,1,6,660,3.16,CRD,11.5 +VTS,1,6,660,3.17,CRD,11.5 +VTS,1,6,480,2.7,CRD,10.5 +VTS,5,1,480,4.04,CRD,40.0 +VTS,1,6,480,1.66,CRD,8.0 +VTS,1,6,420,0.84,CSH,6.0 +VTS,1,6,900,4.65,CRD,15.0 +VTS,1,6,60,0.11,CSH,3.0 +VTS,1,6,180,0.86,CRD,4.5 +VTS,1,6,180,0.55,CSH,4.0 +VTS,1,6,420,1.7,CRD,8.0 +VTS,1,6,720,2.59,CRD,10.5 +VTS,1,6,900,3.33,CSH,13.0 +VTS,1,6,240,1.09,CSH,5.5 +VTS,1,6,240,0.59,CRD,5.0 +VTS,1,6,600,3.82,CSH,13.0 +VTS,1,6,480,1.31,CSH,7.5 +VTS,1,6,1080,3.84,CRD,15.0 +VTS,1,6,480,1.95,CSH,8.0 +VTS,1,6,60,0.3,CSH,3.0 +VTS,1,6,360,1.31,CRD,6.5 +VTS,1,6,300,0.78,CSH,5.0 +VTS,1,6,480,2.17,CRD,9.5 +VTS,1,6,0,0.0,CSH,2.5 +VTS,1,6,1080,4.87,CSH,18.5 +VTS,1,6,300,1.18,CRD,6.5 +VTS,1,6,540,3.65,CRD,12.5 +VTS,1,6,840,5.83,CSH,18.5 +VTS,1,6,660,1.9,CRD,9.0 +VTS,1,6,180,0.9,CSH,5.0 +VTS,1,6,1560,3.35,CRD,15.0 +VTS,1,5,600,0.9,CSH,7.5 +VTS,1,6,600,3.45,CSH,11.5 +VTS,1,6,240,1.32,CSH,5.5 +VTS,1,6,300,1.22,CRD,6.5 +VTS,1,6,1920,8.41,CRD,28.0 +VTS,1,6,1380,4.12,CRD,17.5 +VTS,1,6,120,0.42,CSH,3.5 +VTS,1,6,360,1.24,CRD,6.5 +VTS,1,6,480,2.56,CSH,9.0 +VTS,1,6,180,0.68,CRD,4.5 +VTS,1,6,300,0.8,CRD,5.0 +VTS,1,6,780,2.91,CSH,12.5 +VTS,1,6,780,2.84,CSH,11.5 +VTS,1,6,300,0.76,CRD,5.0 +VTS,1,6,360,1.83,CRD,7.5 +VTS,1,6,720,3.9,CSH,13.5 +VTS,1,6,1980,2.87,CSH,18.0 +VTS,1,6,1620,12.47,CRD,35.5 +VTS,1,6,1380,9.48,CRD,28.5 +VTS,1,6,360,1.65,CSH,7.0 +VTS,1,6,180,0.73,CSH,4.5 +VTS,1,6,600,5.08,CRD,15.5 +VTS,1,6,1080,3.76,CSH,14.5 +VTS,1,6,1140,4.4,CSH,16.5 +VTS,1,6,480,2.23,CRD,8.5 +VTS,1,6,1260,5.68,CRD,20.0 +VTS,1,6,240,0.57,CSH,4.5 +VTS,1,6,900,4.48,CRD,15.5 +VTS,1,6,1320,3.48,CRD,16.5 +VTS,1,6,960,3.57,CRD,14.5 +VTS,1,6,360,1.43,CSH,7.0 +VTS,1,6,360,1.88,CRD,7.5 +VTS,1,6,240,0.77,CSH,5.0 +VTS,1,6,960,3.03,CSH,12.5 +VTS,1,6,420,1.14,CSH,7.0 +VTS,1,6,840,4.72,CSH,15.5 +VTS,1,6,120,0.42,CSH,4.0 +VTS,1,6,720,3.46,CRD,12.5 +VTS,1,5,660,0.4,CRD,8.0 +VTS,1,6,720,3.52,CRD,12.5 +VTS,1,6,420,0.89,CRD,6.0 +VTS,1,6,840,2.52,CRD,11.0 +VTS,1,6,600,1.87,CRD,9.0 +VTS,1,6,360,1.79,CSH,7.5 +VTS,1,6,240,0.58,CRD,4.5 +VTS,1,6,240,1.43,CSH,6.0 +VTS,1,6,120,0.82,CSH,4.5 +VTS,1,6,840,3.6,CSH,13.5 +VTS,1,6,540,1.37,CSH,7.5 +VTS,1,6,420,2.38,CRD,9.0 +VTS,1,6,720,1.3,CSH,8.0 +VTS,1,6,600,1.32,CSH,7.5 +VTS,1,6,120,0.41,CRD,3.5 +VTS,1,6,180,0.74,CRD,4.5 +VTS,1,6,480,1.71,CRD,7.5 +VTS,1,6,180,1.19,CRD,5.5 +VTS,1,6,480,1.69,CSH,7.0 +VTS,1,6,480,1.15,CRD,6.5 +VTS,1,6,540,1.86,CRD,8.0 +VTS,1,6,480,1.38,CSH,6.5 +VTS,1,6,360,2.09,CRD,8.0 +VTS,1,6,180,0.38,CSH,4.0 +VTS,1,6,360,1.33,CRD,6.5 +VTS,1,6,240,0.7,CSH,5.0 +VTS,1,2,240,1.47,CRD,6.5 +VTS,1,6,1080,8.97,CSH,26.0 +VTS,1,6,300,1.4,CSH,6.5 +VTS,1,6,780,2.07,CRD,10.0 +VTS,1,6,180,0.28,CSH,3.5 +VTS,1,6,300,0.47,CSH,4.5 +VTS,1,6,600,2.77,CRD,10.0 +VTS,1,6,300,1.43,CRD,6.5 +VTS,1,6,1500,3.99,CRD,18.5 +VTS,1,6,180,0.84,CSH,5.0 +VTS,1,6,540,2.68,CRD,10.0 +VTS,5,2,1020,5.09,CSH,40.0 +VTS,1,6,420,1.11,CSH,6.5 +VTS,1,6,600,3.07,CSH,11.0 +VTS,1,6,720,2.14,CRD,10.0 +VTS,1,6,420,0.82,CRD,5.5 +VTS,1,6,300,1.07,CSH,5.5 +VTS,1,6,1440,3.54,CSH,15.0 +VTS,1,6,360,1.3,CSH,6.5 +VTS,1,6,420,1.05,CSH,6.0 +VTS,1,6,1200,3.08,CSH,14.0 +VTS,1,6,600,2.77,CSH,10.5 +VTS,1,6,120,0.61,CRD,4.0 +VTS,1,3,540,2.37,CSH,9.5 +VTS,1,2,360,1.16,CSH,6.5 +VTS,1,2,660,3.31,CRD,12.5 +VTS,1,2,300,0.81,CRD,5.0 +VTS,1,6,660,5.68,CRD,17.5 +VTS,1,6,540,1.88,CRD,8.0 +VTS,1,6,480,1.58,CSH,7.5 +VTS,1,6,180,1.0,CSH,5.0 +VTS,1,6,180,0.84,CSH,5.0 +VTS,1,6,420,2.04,CSH,8.0 +VTS,1,6,60,0.34,CSH,3.5 +VTS,1,6,360,2.47,CSH,9.0 +VTS,1,6,360,1.27,CSH,6.5 +VTS,1,6,600,2.15,CSH,9.5 +VTS,1,6,1440,10.49,CRD,31.0 +VTS,1,6,360,0.91,CRD,6.0 +VTS,1,6,540,1.62,CRD,8.0 +VTS,1,6,240,1.17,CRD,5.5 +VTS,1,6,600,1.8,CSH,8.5 +VTS,1,6,300,0.47,CRD,5.0 +VTS,1,6,1740,10.9,CSH,34.5 +VTS,1,6,1020,4.1,CRD,15.0 +VTS,1,6,780,2.79,CSH,12.0 +VTS,1,6,180,0.53,CRD,4.0 +VTS,1,6,480,3.06,CRD,10.5 +VTS,1,6,1080,4.25,CSH,17.0 +VTS,1,6,180,1.1,CRD,5.0 +VTS,1,6,900,4.3,CRD,14.5 +VTS,1,6,480,2.95,CSH,10.0 +VTS,1,6,660,4.57,CSH,15.0 +VTS,1,6,180,0.98,CSH,5.5 +VTS,1,6,60,0.27,CSH,3.5 +VTS,1,6,180,1.09,CRD,5.5 +VTS,1,6,780,3.14,CRD,11.5 +VTS,1,6,180,0.6,CRD,4.5 +VTS,4,6,600,1.56,CSH,7.5 +VTS,1,6,660,1.77,CRD,8.5 +VTS,1,6,660,1.69,CRD,9.0 +VTS,1,6,180,0.48,CRD,4.0 +VTS,1,6,1020,2.68,CRD,13.0 +VTS,1,6,360,1.59,CSH,7.0 +VTS,1,6,480,2.46,CRD,9.0 +VTS,1,6,480,1.12,CSH,7.0 +VTS,1,6,480,1.17,CSH,7.0 +VTS,1,6,420,0.89,CRD,6.5 +VTS,1,6,720,5.41,CSH,17.0 +VTS,1,6,420,2.99,CRD,10.0 +VTS,1,6,480,1.86,CSH,8.0 +VTS,1,6,540,1.36,CRD,8.0 +VTS,1,6,480,1.76,CRD,8.0 +VTS,1,6,960,3.76,CRD,14.5 +VTS,1,6,240,2.4,CSH,8.5 +VTS,1,6,360,1.79,CRD,7.0 +VTS,1,6,540,1.59,CSH,7.5 +VTS,1,6,1140,6.7,CRD,20.5 +VTS,1,6,360,1.14,CSH,6.5 +VTS,1,6,420,2.51,CRD,9.0 +VTS,1,6,540,1.91,CSH,9.0 +VTS,1,6,1500,3.63,CSH,17.5 +VTS,1,6,1320,4.36,CRD,17.5 +VTS,1,6,840,4.1,CRD,14.0 +VTS,1,6,600,2.2,CSH,9.5 +VTS,1,6,300,0.51,CSH,5.5 +VTS,1,6,300,0.66,CRD,5.0 +VTS,1,6,600,3.02,CSH,11.5 +VTS,1,6,840,5.63,CSH,17.5 +VTS,1,6,240,1.1,CRD,6.0 +VTS,1,6,300,0.82,CSH,5.5 +VTS,1,6,240,0.97,CRD,5.5 +VTS,1,6,180,0.54,CSH,3.5 +VTS,1,6,300,1.29,CRD,6.0 +VTS,1,6,240,0.68,CSH,4.5 +VTS,1,6,1140,3.95,CRD,15.0 +VTS,1,6,600,2.6,CSH,10.5 +VTS,1,6,420,1.66,CRD,7.0 +VTS,1,6,840,3.8,CRD,13.5 +VTS,1,6,360,1.18,CSH,6.5 +VTS,1,6,540,1.76,CRD,8.5 +VTS,1,3,360,2.4,CSH,8.5 +VTS,1,2,420,1.35,CSH,7.0 +VTS,1,2,600,0.65,CRD,8.0 +VTS,1,2,660,1.49,CRD,9.0 +VTS,1,6,900,5.46,CSH,18.0 +VTS,1,6,1620,3.27,CRD,16.0 +VTS,1,5,480,1.22,CRD,7.0 +VTS,1,6,660,2.16,CSH,9.5 +VTS,1,6,360,1.41,CRD,6.5 +VTS,1,6,360,1.04,CRD,6.0 +VTS,1,6,1740,3.68,CSH,18.0 +VTS,1,6,780,2.43,CRD,11.0 +VTS,1,6,120,0.52,CRD,4.0 +VTS,1,6,780,3.79,CRD,14.0 +VTS,1,2,120,0.47,CSH,3.5 +VTS,1,2,660,1.57,CSH,9.5 +VTS,1,2,240,1.33,CSH,6.5 +VTS,1,3,480,2.05,CSH,9.0 +VTS,1,2,480,2.59,CSH,9.5 +VTS,1,2,360,1.48,CSH,7.0 +VTS,1,2,540,2.08,CRD,9.0 +VTS,1,3,180,1.09,CSH,5.0 +VTS,1,2,840,4.63,CRD,16.0 +VTS,1,2,720,3.25,CSH,12.0 +VTS,1,3,420,1.08,CRD,6.5 +VTS,1,2,780,1.85,CRD,10.5 +VTS,1,2,900,2.01,CRD,11.5 +VTS,1,3,180,0.61,CSH,4.5 +VTS,1,3,960,4.13,CRD,15.0 +VTS,1,2,180,0.61,CSH,4.5 +VTS,1,6,300,0.93,CRD,5.5 +VTS,1,6,840,2.0,CRD,11.0 +VTS,1,6,480,1.91,CRD,8.0 +VTS,1,6,660,2.57,CRD,10.5 +VTS,1,6,720,2.26,CRD,10.0 +VTS,1,6,300,0.82,CRD,5.0 +VTS,1,6,240,1.05,CSH,5.5 +VTS,1,6,480,2.0,CRD,8.5 +VTS,1,6,480,1.35,CRD,6.5 +VTS,1,6,300,0.7,CRD,5.0 +VTS,1,6,360,1.02,CRD,6.0 +VTS,1,6,480,1.21,CRD,7.0 +VTS,1,6,180,0.47,CSH,4.5 +VTS,1,2,600,2.6,CRD,10.5 +VTS,1,6,180,0.79,CRD,5.0 +VTS,1,2,540,2.53,CSH,9.5 +VTS,1,2,300,1.36,CRD,6.5 +VTS,1,2,480,1.63,CSH,8.5 +VTS,1,2,720,3.64,CSH,13.0 +VTS,1,2,180,0.96,CSH,5.0 +VTS,1,2,300,0.42,CRD,5.0 +VTS,1,3,240,1.02,CSH,5.5 +VTS,1,3,180,0.84,CSH,5.0 +VTS,1,3,480,1.88,CSH,9.0 +VTS,1,1,600,1.91,CRD,9.0 +VTS,1,3,1080,3.62,CRD,15.5 +VTS,1,6,360,0.71,CSH,5.5 +VTS,1,6,300,0.97,CRD,5.5 +VTS,1,6,360,0.93,CRD,5.5 +VTS,1,6,2220,15.49,CRD,45.5 +VTS,1,6,1380,3.07,CRD,15.0 +VTS,1,6,300,1.52,CSH,6.5 +VTS,1,6,480,1.26,CRD,6.5 +VTS,1,6,600,2.89,CSH,10.5 +VTS,1,3,960,6.77,CRD,21.5 +VTS,1,3,540,1.49,CRD,8.0 +VTS,1,3,120,0.67,CRD,4.5 +VTS,1,2,420,1.77,CSH,7.5 +VTS,1,2,420,1.71,CRD,8.0 +VTS,1,3,780,3.02,CRD,12.0 +VTS,1,2,600,2.98,CRD,10.5 +VTS,1,2,180,0.56,CRD,4.0 +VTS,1,3,600,1.99,CRD,9.5 +VTS,1,2,480,0.97,CRD,6.5 +VTS,1,2,600,2.85,CRD,10.5 +VTS,1,6,420,0.97,CSH,6.0 +VTS,1,6,840,3.32,CSH,13.5 +VTS,1,6,720,3.89,CRD,13.0 +VTS,1,6,2220,4.54,CSH,26.0 +VTS,1,2,180,0.69,CRD,4.5 +VTS,1,2,180,0.71,CSH,4.5 +VTS,1,3,300,1.74,CRD,7.0 +VTS,1,6,240,0.96,CSH,5.5 +VTS,1,6,1260,4.93,CRD,18.0 +VTS,1,6,420,1.2,CRD,6.5 +VTS,1,6,840,4.38,CRD,14.5 +VTS,1,6,1080,4.57,CRD,16.5 +VTS,1,6,240,0.84,CRD,5.0 +VTS,1,6,1380,4.68,CRD,18.0 +VTS,1,6,360,0.87,CRD,5.5 +VTS,1,6,960,2.43,CRD,11.5 +VTS,1,6,300,0.86,CSH,5.0 +VTS,1,6,840,2.63,CRD,11.5 +VTS,1,6,420,1.21,CRD,6.5 +VTS,1,6,1380,4.79,CRD,19.0 +VTS,1,3,1500,10.51,CSH,32.0 +VTS,1,2,180,1.48,CRD,6.0 +VTS,1,3,360,0.93,CRD,6.0 +VTS,1,3,1380,3.16,CSH,17.0 +VTS,1,2,480,2.55,CSH,9.5 +VTS,1,2,720,7.11,CRD,21.0 +VTS,1,2,480,2.3,CSH,9.5 +VTS,1,6,660,1.52,CRD,9.0 +VTS,1,6,1020,3.32,CSH,13.5 +VTS,1,6,120,0.9,CRD,4.5 +VTS,1,6,780,3.92,CRD,14.5 +VTS,1,6,300,1.18,CRD,5.5 +VTS,1,2,300,1.08,CRD,5.5 +VTS,1,3,900,1.46,CRD,10.5 +VTS,1,1,240,0.87,CSH,5.5 +VTS,1,3,600,1.94,CSH,9.0 +VTS,1,2,780,3.01,CRD,12.0 +VTS,1,6,420,0.69,CRD,5.5 +VTS,1,6,1020,7.22,CRD,22.5 +VTS,1,6,360,1.25,CRD,6.0 +VTS,1,6,780,3.5,CSH,13.0 +VTS,1,6,360,1.49,CRD,7.0 +VTS,1,6,240,0.71,CRD,5.0 +VTS,1,3,480,1.95,CSH,8.0 +VTS,1,3,900,2.33,CRD,12.5 +VTS,1,2,540,3.45,CRD,12.0 +VTS,1,3,1020,2.06,CRD,12.0 +VTS,1,3,240,0.7,CSH,5.0 +VTS,1,2,720,1.11,CSH,8.5 +VTS,1,3,1140,2.69,CRD,14.5 +VTS,1,2,120,0.5,CRD,4.0 +VTS,1,2,540,2.51,CRD,10.5 +VTS,1,3,360,1.31,CSH,6.5 +VTS,1,2,240,0.73,CRD,5.0 +VTS,1,3,660,0.96,CRD,8.0 +VTS,1,2,480,1.37,CRD,7.5 +VTS,1,3,1680,7.1,CRD,25.5 +VTS,1,3,720,1.96,CSH,10.0 +VTS,1,2,1620,9.63,CRD,29.5 +VTS,1,2,420,0.95,CSH,6.5 +VTS,1,2,120,0.79,CSH,4.0 +VTS,1,2,600,0.77,CSH,8.0 +VTS,1,2,660,1.55,CSH,9.0 +VTS,1,2,240,1.73,CRD,6.5 +VTS,1,2,600,1.21,CRD,8.5 +VTS,1,3,180,0.52,CSH,4.5 +VTS,1,3,240,0.83,CSH,5.5 +VTS,1,3,1080,3.39,CRD,15.0 +VTS,1,2,1140,9.24,CRD,27.5 +VTS,1,3,540,3.22,CRD,12.0 +VTS,1,6,480,2.07,CSH,9.0 +VTS,1,6,1080,4.11,CSH,16.5 +VTS,1,6,720,3.5,CRD,12.5 +VTS,1,3,420,1.19,CSH,7.0 +VTS,1,2,300,0.67,CSH,5.5 +VTS,1,2,180,0.59,CRD,4.5 +VTS,1,3,840,1.28,CSH,10.5 +VTS,1,3,840,6.31,CRD,20.0 +VTS,1,3,240,0.72,CSH,5.0 +VTS,1,2,420,0.75,CSH,6.0 +VTS,1,3,480,1.68,CRD,8.0 +VTS,1,2,420,1.15,CSH,7.0 +VTS,1,3,720,2.08,CSH,10.5 +VTS,1,2,1800,3.8,CSH,20.5 +VTS,1,3,180,0.83,CSH,5.0 +VTS,1,2,780,4.54,CRD,14.5 +VTS,1,2,540,1.74,CRD,9.0 +VTS,1,3,300,0.82,CRD,5.5 +VTS,1,2,840,1.74,CRD,11.0 +VTS,1,2,120,0.76,CRD,4.5 +VTS,1,3,540,0.94,CSH,7.0 +VTS,1,3,240,0.57,CSH,4.5 +VTS,1,3,180,0.54,CRD,4.0 +VTS,1,2,540,1.93,CSH,9.0 +VTS,1,2,480,1.4,CRD,7.5 +VTS,1,6,840,2.34,CSH,11.5 +VTS,1,6,960,2.67,CRD,12.0 +VTS,1,6,240,0.57,CSH,4.5 +VTS,1,3,780,3.02,CSH,12.0 +VTS,1,2,780,2.26,CSH,11.0 +VTS,1,3,300,0.67,CRD,5.0 +VTS,1,3,360,1.26,CRD,6.5 +VTS,1,2,660,1.66,CSH,9.5 +VTS,1,2,1980,11.43,CRD,35.0 +VTS,1,3,780,2.2,CRD,11.0 +VTS,1,2,660,1.98,CRD,10.0 +VTS,1,3,120,0.85,CRD,4.5 +VTS,1,2,1260,2.87,CSH,15.0 +VTS,1,3,600,2.58,CRD,10.5 +VTS,1,3,480,1.62,CRD,8.0 +VTS,1,2,720,3.21,CRD,12.5 +VTS,1,2,840,1.72,CSH,10.5 +VTS,1,6,600,2.26,CRD,9.5 +VTS,1,6,420,1.48,CRD,7.5 +VTS,1,6,240,1.02,CSH,5.5 +VTS,1,3,600,1.37,CSH,8.0 +VTS,1,2,240,1.43,CSH,6.5 +VTS,1,3,960,1.88,CSH,12.0 +VTS,1,2,240,0.98,CRD,5.5 +VTS,1,3,480,1.21,CSH,7.5 +VTS,1,3,300,1.33,CSH,6.5 +VTS,1,3,540,1.78,CRD,9.0 +VTS,1,3,360,1.46,CRD,7.0 +VTS,1,3,540,2.45,CSH,10.0 +VTS,1,2,300,1.05,CRD,5.5 +VTS,1,3,1020,3.3,CSH,14.0 +VTS,1,2,600,2.32,CSH,10.0 +VTS,1,3,540,2.0,CRD,9.0 +VTS,1,1,360,1.47,CSH,7.0 +VTS,1,3,720,2.39,CRD,11.0 +VTS,1,2,360,1.08,CSH,6.0 +VTS,1,2,540,1.56,CSH,8.5 +VTS,1,2,120,0.67,CRD,4.5 +VTS,1,2,1740,7.15,CRD,25.5 +VTS,1,3,2340,5.34,CRD,26.0 +VTS,5,1,180,2.26,CRD,72.0 +VTS,1,2,540,1.42,CSH,8.0 +VTS,1,2,960,3.19,CSH,13.5 +VTS,1,3,300,1.03,CSH,5.5 +VTS,1,2,780,2.23,CRD,11.0 +VTS,1,2,960,3.18,CRD,13.5 +VTS,1,2,540,2.45,CSH,9.5 +VTS,1,6,480,1.2,CRD,7.5 +VTS,1,6,600,2.51,CRD,10.0 +VTS,1,6,540,1.63,CRD,8.0 +VTS,1,6,1080,6.01,CSH,19.5 +VTS,1,2,540,0.91,CRD,7.5 +VTS,1,3,480,1.12,CRD,7.0 +VTS,1,3,1560,4.05,CRD,19.0 +VTS,1,1,480,2.32,CRD,9.0 +VTS,1,2,240,0.8,CRD,5.0 +VTS,1,3,1500,6.8,CRD,24.5 +VTS,1,2,480,1.44,CSH,7.0 +VTS,1,2,780,1.38,CRD,9.5 +VTS,1,2,840,2.4,CSH,11.5 +VTS,1,3,240,0.5,CRD,4.5 +VTS,1,3,540,2.29,CRD,9.5 +VTS,1,2,300,1.9,CRD,7.5 +VTS,1,3,240,1.14,CSH,5.5 +VTS,1,2,900,5.47,CSH,18.0 +VTS,1,2,600,1.27,CRD,8.5 +VTS,1,2,120,0.4,CSH,3.5 +VTS,1,2,900,2.74,CRD,12.5 +VTS,1,2,1620,5.12,CSH,21.5 +VTS,1,3,420,1.12,CSH,7.0 +VTS,1,2,360,0.51,CSH,5.5 +VTS,1,3,1140,3.07,CRD,14.0 +VTS,1,3,240,0.74,CSH,5.0 +VTS,1,2,360,1.79,CRD,7.5 +VTS,2,1,60,0.11,CSH,52.0 +VTS,1,2,1260,8.49,CRD,25.5 +VTS,1,3,1020,9.12,CRD,26.5 +VTS,1,2,420,1.84,CSH,8.5 +VTS,1,3,1020,2.7,CSH,13.0 +VTS,1,2,360,1.2,CSH,6.5 +VTS,1,3,840,2.24,CSH,11.5 +VTS,1,2,840,1.28,CSH,10.0 +VTS,1,3,660,2.29,CSH,9.5 +VTS,5,1,0,0.0,CRD,28.0 +VTS,1,2,300,1.96,CRD,7.5 +VTS,1,2,540,4.5,CRD,13.5 +VTS,1,2,120,0.5,CSH,4.0 +VTS,1,2,180,0.58,CSH,4.5 +VTS,1,2,180,0.61,CRD,4.5 +VTS,1,3,780,2.25,CSH,11.5 +VTS,1,2,300,0.64,CRD,5.0 +VTS,1,2,300,1.16,CSH,6.0 +VTS,1,2,1200,3.22,CRD,15.5 +VTS,1,3,720,1.77,CSH,9.5 +VTS,1,3,1560,6.19,CSH,23.5 +VTS,1,3,600,2.95,CRD,11.0 +VTS,1,2,720,1.78,CRD,10.0 +VTS,1,2,240,1.05,CSH,5.5 +VTS,1,2,1860,8.97,CRD,29.0 +VTS,1,2,240,1.09,CSH,5.5 +VTS,1,3,1680,3.39,CRD,18.5 +VTS,1,2,1020,2.87,CSH,13.5 +VTS,1,2,300,0.73,CSH,5.0 +VTS,1,2,240,0.94,CSH,5.5 +VTS,1,2,600,2.27,CSH,10.0 +VTS,1,2,600,1.35,CSH,9.0 +VTS,1,3,540,1.4,CSH,8.0 +VTS,1,3,1020,3.74,CSH,15.0 +VTS,1,2,360,1.65,CRD,7.5 +VTS,1,2,360,0.84,CRD,6.0 +VTS,1,3,180,0.82,CSH,4.5 +VTS,1,2,240,1.72,CRD,7.0 +VTS,1,2,660,1.49,CSH,9.0 +VTS,1,2,1140,4.58,CSH,17.0 +VTS,1,2,660,1.79,CSH,9.5 +VTS,1,2,180,0.53,CSH,4.0 +VTS,1,2,240,1.06,CRD,5.5 +VTS,1,2,720,1.38,CSH,9.0 +VTS,1,2,1140,3.13,CRD,14.0 +VTS,1,2,120,0.82,CSH,4.5 +VTS,1,3,600,2.05,CSH,9.5 +VTS,1,2,600,1.73,CRD,9.0 +VTS,1,3,360,1.36,CRD,7.0 +VTS,1,3,1320,5.91,CRD,21.5 +VTS,1,2,600,1.79,CRD,9.0 +VTS,1,3,660,2.26,CSH,10.5 +VTS,1,3,240,1.24,CSH,6.0 +VTS,1,2,600,3.49,CRD,12.0 +VTS,1,2,480,1.45,CSH,7.5 +VTS,1,3,1020,3.22,CRD,13.0 +VTS,1,2,480,0.96,CSH,7.0 +VTS,1,3,360,0.94,CSH,6.0 +VTS,1,3,240,0.68,CRD,5.0 +VTS,1,3,720,2.89,CRD,11.5 +VTS,1,2,360,2.06,CRD,8.0 +VTS,1,2,240,1.51,CSH,6.5 +VTS,1,2,240,1.21,CRD,6.0 +VTS,1,2,1560,3.58,CRD,18.0 +VTS,1,2,1080,3.18,CSH,14.5 +VTS,1,2,1080,3.24,CSH,14.5 +VTS,1,2,540,1.45,CSH,8.0 +VTS,1,3,480,1.77,CSH,8.5 +VTS,1,2,1020,3.1,CRD,14.0 +VTS,1,2,300,1.08,CSH,6.0 +VTS,1,2,660,3.11,CRD,11.5 +VTS,1,3,240,0.59,CSH,4.5 +VTS,1,3,660,2.87,CRD,11.0 +VTS,1,2,540,1.27,CSH,7.5 +VTS,1,2,660,1.98,CRD,9.5 +VTS,1,2,1380,7.62,CSH,25.5 +VTS,1,3,420,0.96,CSH,6.5 +VTS,1,3,960,1.16,CRD,10.5 +VTS,1,3,1140,3.37,CSH,15.0 +VTS,1,3,780,2.77,CRD,11.5 +VTS,1,3,360,1.14,CRD,6.5 +VTS,1,2,480,2.45,CRD,9.0 +VTS,1,2,420,2.26,CRD,9.0 +VTS,1,2,360,1.38,CSH,6.5 +VTS,1,3,240,0.95,CRD,5.0 +VTS,1,3,660,2.17,CSH,9.0 +VTS,1,2,60,0.5,CSH,3.5 +VTS,1,2,600,2.75,CRD,10.5 +VTS,1,2,420,1.32,CSH,7.0 +VTS,1,2,300,0.44,CRD,4.5 +VTS,1,2,780,2.51,CSH,11.5 +VTS,1,2,480,1.52,CSH,8.0 +VTS,1,2,480,1.88,CSH,8.5 +VTS,1,2,420,1.68,CSH,7.5 +VTS,1,2,900,3.09,CRD,13.0 +VTS,1,2,420,1.88,CRD,8.5 +VTS,1,3,1500,10.75,CRD,32.5 +VTS,1,2,60,0.7,CRD,4.0 +VTS,1,3,540,1.45,CRD,8.5 +VTS,1,6,240,0.78,CRD,5.0 +VTS,1,6,480,1.73,CSH,8.0 +VTS,1,6,600,2.36,CSH,10.0 +VTS,1,6,1620,9.99,CRD,31.5 +VTS,1,6,240,1.11,CSH,5.5 +VTS,1,6,360,0.84,CSH,5.5 +VTS,1,6,2040,4.6,CRD,20.0 +VTS,1,6,720,1.41,CSH,8.5 +VTS,1,6,1140,2.54,CRD,12.5 +VTS,1,6,1020,5.12,CSH,17.5 +VTS,1,6,660,1.19,CRD,8.0 +VTS,1,6,600,2.37,CRD,10.0 +VTS,1,6,360,0.76,CSH,6.0 +VTS,1,6,1260,6.48,CRD,21.5 +VTS,1,6,480,2.68,CRD,9.5 +VTS,1,6,600,1.55,CSH,8.5 +VTS,1,6,480,2.12,CRD,9.0 +VTS,1,6,480,0.7,CSH,6.5 +VTS,1,6,120,0.73,CRD,4.5 +VTS,1,6,600,2.29,CRD,10.0 +VTS,1,6,600,2.6,CRD,10.5 +VTS,1,6,300,1.19,CRD,6.0 +VTS,1,6,420,1.31,CSH,6.5 +VTS,1,6,900,3.97,CRD,14.5 +VTS,1,6,360,2.02,CSH,8.0 +VTS,1,6,300,0.85,CSH,5.0 +VTS,1,3,240,0.6,CSH,4.5 +VTS,1,2,780,2.2,CSH,11.0 +VTS,1,2,240,0.93,CRD,5.5 +VTS,1,1,960,4.07,CRD,15.0 +VTS,1,2,600,1.67,CRD,9.0 +VTS,1,3,300,0.71,CSH,5.0 +VTS,1,2,180,0.67,CSH,4.0 +VTS,5,1,0,0.29,CRD,70.0 +VTS,1,2,2040,6.99,CRD,29.0 +VTS,1,2,300,1.42,CSH,6.5 +VTS,1,2,780,1.96,CSH,9.5 +VTS,1,2,240,0.78,CSH,4.5 +VTS,1,2,720,2.98,CSH,11.5 +VTS,1,3,1080,3.77,CSH,15.5 +VTS,1,2,300,0.71,CRD,5.0 +VTS,1,3,600,1.15,CSH,8.0 +VTS,1,2,360,2.27,CSH,8.5 +VTS,1,3,1500,12.54,CRD,36.0 +VTS,1,2,1500,4.95,CSH,20.0 +VTS,1,2,360,0.78,CSH,6.0 +VTS,1,2,780,2.78,CRD,11.5 +VTS,1,2,1080,2.35,CRD,13.0 +VTS,1,3,720,2.58,CSH,11.0 +VTS,1,2,660,1.94,CSH,10.0 +VTS,1,2,120,0.7,CSH,4.5 +VTS,1,2,480,0.78,CSH,7.0 +VTS,1,2,180,0.51,CSH,4.0 +VTS,1,2,420,1.21,CRD,7.0 +VTS,1,2,60,0.55,CSH,3.5 +VTS,1,2,480,1.04,CSH,7.0 +VTS,1,3,540,1.42,CRD,8.0 +VTS,1,2,240,0.7,CSH,5.0 +VTS,1,2,1440,3.74,CSH,18.0 +VTS,1,2,840,2.82,CRD,13.0 +VTS,1,2,300,0.78,CSH,5.5 +VTS,1,2,420,1.16,CSH,6.5 +VTS,1,2,300,0.99,CRD,5.5 +VTS,1,3,180,0.5,CRD,4.0 +VTS,1,2,360,1.24,CSH,6.5 +VTS,1,2,1380,8.9,CSH,27.5 +VTS,1,2,300,0.68,CSH,5.0 +VTS,1,2,1020,7.78,CRD,22.5 +VTS,1,2,720,1.58,CRD,9.5 +VTS,1,3,360,1.05,CRD,6.5 +VTS,1,2,120,0.39,CSH,3.5 +VTS,1,2,1320,3.45,CSH,16.5 +VTS,1,2,180,0.52,CRD,4.0 +VTS,1,2,600,1.27,CRD,8.5 +VTS,2,1,2280,20.87,CRD,52.0 +VTS,1,2,420,1.82,CRD,8.0 +VTS,1,2,480,1.73,CSH,8.5 +VTS,1,2,660,2.55,CRD,11.5 +VTS,1,3,240,1.26,CSH,5.5 +VTS,1,3,360,1.0,CSH,6.0 +VTS,1,2,600,0.85,CRD,7.5 +VTS,1,2,720,1.59,CRD,9.5 +VTS,1,3,1140,2.69,CSH,14.0 +VTS,1,2,1020,2.77,CRD,13.0 +VTS,1,2,240,0.7,CRD,5.0 +VTS,1,2,120,0.83,CRD,4.5 +VTS,1,2,360,0.94,CRD,6.0 +VTS,1,2,660,1.68,CRD,9.5 +VTS,1,2,120,0.6,CRD,4.0 +VTS,1,3,900,3.08,CSH,13.5 +VTS,1,3,540,1.65,CSH,8.5 +VTS,1,2,420,1.18,CRD,7.0 +VTS,1,2,360,1.69,CRD,7.5 +VTS,1,2,480,1.11,CSH,7.0 +VTS,1,3,240,0.86,CSH,5.0 +VTS,1,2,240,1.36,CSH,6.0 +VTS,1,2,1620,8.75,CSH,29.0 +VTS,1,3,2040,17.09,CSH,46.5 +VTS,1,3,660,2.31,CRD,10.5 +VTS,1,2,120,0.83,CRD,4.5 +VTS,1,2,600,2.92,CRD,11.0 +VTS,1,3,780,2.0,CSH,10.5 +VTS,1,3,120,0.8,CSH,4.5 +VTS,2,1,2160,17.16,CSH,52.0 +VTS,1,2,720,1.63,CSH,10.0 +VTS,1,2,60,0.53,CSH,3.5 +VTS,1,2,300,1.1,CRD,6.0 +VTS,1,3,180,0.85,CSH,5.0 +VTS,1,2,540,2.13,CRD,9.5 +VTS,1,2,1140,6.15,CSH,21.0 +VTS,1,2,720,2.96,CSH,12.0 +VTS,1,2,240,0.94,CSH,5.5 +VTS,1,2,720,1.74,CSH,9.5 +VTS,1,3,840,1.67,CRD,10.0 +VTS,1,1,480,2.49,CRD,9.5 +VTS,1,2,660,2.82,CRD,11.5 +VTS,1,3,540,2.37,CSH,10.0 +VTS,1,2,480,1.69,CSH,8.5 +VTS,1,2,540,2.89,CRD,10.5 +VTS,1,2,420,0.61,CSH,6.0 +VTS,1,2,120,0.81,CSH,4.5 +VTS,1,2,120,0.77,CSH,4.5 +VTS,1,3,480,1.59,CSH,8.0 +VTS,1,2,240,0.9,CSH,5.5 +VTS,1,2,180,0.58,CSH,4.5 +VTS,1,2,300,2.0,CRD,7.5 +CMT,1,1,1428,5.7,CRD,21.5 +CMT,1,2,961,1.6,CSH,11.0 +CMT,1,2,485,1.6,CSH,8.0 +CMT,1,4,844,3.4,CSH,13.0 +CMT,1,1,760,4.0,CSH,15.0 +VTS,1,2,540,2.0,CRD,9.5 +VTS,1,2,240,0.86,CSH,5.5 +VTS,1,2,180,1.12,CSH,5.5 +VTS,1,3,480,1.79,CSH,8.5 +VTS,1,2,360,0.75,CRD,6.0 +VTS,1,2,660,2.23,CSH,10.5 +VTS,1,2,900,1.45,CSH,8.0 +VTS,1,2,1020,5.81,CRD,18.5 +VTS,1,2,540,0.93,CSH,7.0 +VTS,1,2,420,0.74,CSH,6.0 +VTS,1,3,420,1.3,CRD,7.0 +VTS,1,2,180,0.81,CSH,4.5 +VTS,1,2,300,1.49,CSH,7.0 +VTS,1,2,1140,3.41,CRD,15.5 +VTS,1,2,840,1.12,CSH,10.0 +VTS,1,2,360,0.93,CSH,6.0 +VTS,5,2,1920,12.76,CRD,65.0 +VTS,1,1,540,1.65,CSH,8.5 +VTS,1,2,1080,2.98,CRD,14.5 +VTS,1,2,360,1.34,CSH,6.5 +VTS,1,2,720,2.15,CRD,10.5 +VTS,1,3,360,1.01,CSH,6.0 +VTS,4,2,1260,15.42,CRD,60.0 +VTS,1,2,480,2.09,CSH,9.0 +VTS,1,2,720,2.26,CRD,11.0 +VTS,1,2,360,1.44,CRD,7.0 +VTS,1,3,720,1.51,CSH,9.5 +VTS,1,2,540,1.95,CRD,9.0 +VTS,2,2,1920,17.63,CRD,52.0 +VTS,1,2,600,1.24,CSH,8.5 +VTS,1,3,660,4.25,CRD,14.5 +VTS,1,1,840,2.4,CRD,11.5 +VTS,1,2,600,2.24,CSH,9.5 +VTS,1,2,360,1.54,CRD,7.0 +CMT,1,4,747,1.5,CSH,9.0 +CMT,1,4,1618,6.4,CSH,24.0 +CMT,1,1,411,1.3,CRD,7.0 +CMT,1,1,691,1.1,CSH,8.5 +CMT,1,1,359,1.2,CSH,6.5 +CMT,1,2,1118,5.5,CRD,19.0 +CMT,1,1,717,3.0,CRD,12.5 +CMT,1,1,490,1.1,CRD,7.0 +CMT,1,2,507,1.4,CRD,8.0 +CMT,1,1,573,1.5,CRD,8.5 +CMT,1,1,564,1.1,CSH,7.5 +CMT,1,2,1005,3.0,CRD,13.5 +CMT,1,2,380,1.2,CRD,6.5 +CMT,1,2,1359,5.2,CRD,20.0 +CMT,1,2,2289,8.6,CRD,32.0 +CMT,1,1,242,1.9,CSH,7.0 +CMT,4,1,1055,4.2,CSH,15.0 +CMT,1,3,258,0.9,CSH,5.5 +VTS,1,2,600,2.12,CRD,9.5 +VTS,1,2,420,0.74,CSH,6.0 +VTS,1,2,900,2.7,CSH,12.5 +VTS,1,2,420,1.04,CRD,6.5 +VTS,1,2,420,2.2,CSH,8.0 +VTS,1,2,240,0.69,CSH,4.5 +VTS,1,2,1200,3.34,CSH,15.5 +VTS,1,2,1140,4.26,CRD,17.5 +VTS,1,3,1080,5.92,CRD,20.5 +VTS,1,2,300,0.7,CRD,5.0 +VTS,2,1,1380,17.96,CRD,52.0 +VTS,1,2,240,0.48,CRD,4.5 +VTS,2,1,3780,18.12,CRD,52.0 +VTS,1,2,300,1.56,CRD,7.0 +VTS,1,2,480,1.27,CSH,8.0 +VTS,1,2,960,2.66,CSH,13.0 +CMT,1,1,820,3.3,CRD,13.0 +CMT,1,1,454,1.3,CRD,7.5 +CMT,1,2,507,1.3,CSH,7.5 +CMT,1,1,602,2.3,CRD,9.5 +CMT,1,1,284,1.1,CSH,6.0 +CMT,1,1,761,1.5,CRD,10.0 +CMT,1,2,1226,4.4,CSH,17.5 +CMT,1,2,609,1.9,CSH,9.0 +CMT,1,2,763,4.4,CSH,14.5 +CMT,1,1,135,0.6,CSH,4.0 +VTS,1,2,660,5.57,CRD,17.5 +VTS,1,2,120,0.46,CRD,3.5 +VTS,1,2,300,1.48,CRD,6.5 +VTS,1,2,120,0.56,CSH,3.5 +VTS,1,3,600,1.67,CSH,9.0 +VTS,3,1,1440,15.63,CSH,60.0 +VTS,1,2,660,3.73,CRD,13.5 +VTS,1,2,300,0.8,CSH,5.5 +VTS,1,2,300,0.89,CSH,5.0 +VTS,1,3,1140,3.67,CSH,15.5 +VTS,1,2,480,1.34,CSH,7.5 +VTS,1,3,1080,3.69,CRD,15.5 +VTS,1,2,360,1.51,CSH,6.5 +VTS,1,3,660,1.94,CRD,9.5 +VTS,1,2,1080,4.2,CSH,16.0 +VTS,1,3,900,1.94,CRD,10.5 +VTS,1,3,420,1.3,CSH,7.0 +VTS,1,3,780,3.75,CRD,13.0 +VTS,1,2,660,5.36,CSH,16.5 +VTS,1,3,420,1.05,CRD,6.5 +VTS,1,3,480,1.31,CSH,7.5 +VTS,1,3,960,2.5,CSH,12.5 +VTS,1,3,480,0.94,CSH,7.5 +VTS,1,3,600,2.06,CSH,9.5 +VTS,1,3,780,2.48,CSH,11.0 +VTS,1,3,840,2.07,CRD,11.0 +VTS,1,2,960,2.92,CSH,13.0 +VTS,1,2,3480,5.49,CSH,31.0 +VTS,1,3,180,0.56,CSH,4.5 +VTS,1,3,1320,4.25,CRD,18.0 +VTS,1,2,540,1.42,CSH,8.5 +VTS,1,2,1020,1.23,CSH,11.5 +VTS,1,3,540,1.4,CRD,8.0 +VTS,1,2,300,0.87,CRD,5.5 +VTS,1,3,240,1.05,CRD,5.5 +VTS,1,2,420,1.96,CRD,8.5 +VTS,1,2,600,4.43,CSH,13.5 +VTS,1,3,180,0.79,CSH,4.5 +VTS,1,2,480,1.38,CRD,7.5 +VTS,1,3,420,1.36,CRD,7.0 +VTS,1,2,480,1.09,CSH,7.0 +VTS,1,2,780,2.0,CSH,9.5 +VTS,1,2,300,0.66,CSH,5.0 +VTS,1,3,360,0.91,CSH,6.0 +VTS,1,3,60,0.69,CSH,4.0 +VTS,1,2,180,0.64,CRD,4.0 +VTS,1,3,240,0.76,CRD,5.0 +VTS,1,1,60,0.5,CRD,3.5 +VTS,1,2,780,1.74,CRD,10.0 +VTS,1,2,600,1.66,CSH,9.5 +VTS,1,3,60,0.29,CRD,3.0 +VTS,1,2,480,1.74,CSH,8.0 +CMT,1,1,488,1.1,CSH,7.0 +CMT,1,1,946,1.6,CRD,11.0 +CMT,1,4,507,1.1,CSH,7.0 +CMT,1,1,995,2.0,CSH,12.0 +CMT,1,1,549,1.9,CSH,8.5 +CMT,1,1,349,0.5,CSH,5.5 +CMT,1,1,414,1.0,CRD,6.5 +CMT,1,2,341,0.8,CSH,5.5 +CMT,1,2,585,2.7,CRD,10.5 +CMT,1,2,1140,7.7,CSH,23.5 +CMT,1,1,346,1.0,CRD,6.0 +CMT,1,1,701,5.9,CRD,18.0 +CMT,1,1,502,2.2,CSH,9.0 +CMT,1,1,265,1.1,CSH,5.5 +CMT,1,2,491,3.6,CRD,11.5 +CMT,1,2,175,0.9,CSH,4.5 +CMT,1,1,449,1.8,CRD,7.5 +CMT,1,1,1797,7.7,CRD,26.0 +CMT,1,1,270,1.2,CSH,6.5 +CMT,1,1,645,5.9,CRD,18.0 +CMT,1,1,444,1.2,CRD,7.0 +CMT,1,1,126,0.3,CSH,3.5 +CMT,1,1,211,0.7,CSH,4.5 +CMT,1,1,550,2.1,CSH,9.5 +CMT,1,1,393,1.0,CSH,6.0 +CMT,1,1,962,2.2,CSH,13.0 +CMT,1,1,1017,4.0,CRD,15.0 +CMT,1,1,530,2.1,CRD,9.5 +CMT,1,2,683,2.5,CSH,10.5 +CMT,1,1,437,1.1,CRD,7.0 +CMT,1,1,712,2.5,CRD,11.0 +CMT,1,1,1537,3.7,CRD,18.5 +CMT,1,1,863,2.2,CRD,11.5 +CMT,1,2,459,0.8,CSH,6.0 +CMT,1,1,1453,6.4,CRD,24.0 +CMT,1,3,1316,3.3,CRD,16.5 +CMT,1,2,1029,5.4,CRD,18.5 +CMT,1,3,1269,2.9,CSH,14.5 +CMT,1,2,1234,5.4,CRD,19.0 +CMT,1,1,511,1.3,CSH,7.5 +CMT,1,2,1688,7.1,CRD,25.0 +CMT,1,1,440,2.1,CRD,8.5 +CMT,1,1,1155,8.7,CSH,26.0 +CMT,1,1,1756,6.5,CSH,25.0 +CMT,1,1,924,3.1,CRD,13.5 +CMT,1,1,228,1.3,CRD,6.0 +CMT,1,1,551,2.8,CRD,10.5 +CMT,1,1,1299,3.3,CRD,15.5 +CMT,1,2,856,2.2,CSH,11.0 +CMT,1,1,1057,4.2,CRD,15.5 +CMT,1,1,1023,3.8,CRD,15.5 +CMT,1,1,516,2.0,CRD,9.5 +CMT,1,2,952,2.4,CRD,12.5 +CMT,1,1,484,1.9,CSH,9.0 +CMT,1,1,235,1.5,CRD,6.0 +CMT,1,1,700,3.0,CSH,11.5 +CMT,1,1,198,0.4,CRD,4.0 +CMT,1,1,337,0.6,CSH,5.5 +CMT,1,1,1114,3.6,CRD,15.5 +CMT,1,2,232,0.5,CSH,4.5 +CMT,1,1,701,3.0,CSH,11.5 +CMT,1,1,640,2.0,CSH,10.0 +CMT,1,1,1626,17.0,CSH,46.5 +CMT,2,1,1482,19.4,CSH,52.0 +CMT,1,1,588,2.1,CRD,9.5 +CMT,1,1,833,3.5,CSH,14.0 +CMT,1,1,751,2.2,CRD,10.5 +CMT,1,1,209,0.5,CSH,4.5 +CMT,1,1,147,1.0,CRD,4.5 +CMT,1,2,186,0.6,CSH,4.5 +CMT,1,1,167,1.2,CSH,5.5 +CMT,1,1,676,3.1,CRD,11.5 +CMT,1,1,356,1.7,CRD,7.5 +CMT,1,1,573,1.5,CSH,8.5 +CMT,1,1,385,1.7,CSH,7.0 +CMT,1,1,597,2.7,CSH,10.5 +CMT,1,2,602,3.1,CSH,11.0 +CMT,1,1,934,1.8,CSH,11.5 +CMT,1,1,479,2.2,CRD,9.0 +CMT,1,2,297,1.2,CSH,6.0 +CMT,1,1,591,2.2,CRD,9.5 +CMT,1,1,891,2.2,CRD,11.5 +CMT,1,1,640,1.4,CRD,8.5 +CMT,1,2,673,3.3,CRD,12.0 +CMT,1,1,244,0.9,CSH,5.0 +CMT,1,1,587,2.3,CSH,10.0 +CMT,1,1,1056,5.5,CRD,19.5 +CMT,1,1,479,2.9,CRD,10.5 +CMT,1,1,218,0.8,CRD,5.0 +CMT,1,1,154,0.8,CSH,4.5 +CMT,1,1,319,1.1,CSH,6.0 +CMT,1,2,645,2.7,CSH,11.0 +CMT,1,2,293,1.0,CSH,5.5 +CMT,1,1,832,3.7,CSH,14.0 +CMT,1,1,200,0.6,CRD,4.5 +CMT,1,2,205,0.7,CRD,4.5 +CMT,1,2,203,1.5,CRD,6.0 +CMT,1,2,661,1.6,CRD,9.5 +CMT,1,4,745,2.1,CRD,10.5 +CMT,1,4,2156,3.4,CRD,22.5 +CMT,1,4,327,0.7,CSH,5.5 +CMT,1,4,1646,4.2,CSH,20.5 +CMT,1,4,446,1.6,CSH,7.5 +CMT,1,3,256,1.0,CSH,5.5 +VTS,1,2,660,1.5,CRD,9.0 +VTS,1,2,180,1.13,CRD,5.5 +VTS,1,2,300,1.66,CRD,7.0 +VTS,1,2,300,0.98,CSH,5.5 +VTS,1,3,300,0.87,CSH,5.5 +VTS,1,2,660,2.37,CRD,11.0 +VTS,1,2,360,0.97,CSH,6.0 +VTS,1,2,120,0.72,CRD,4.5 +VTS,1,2,300,0.62,CRD,5.0 +VTS,1,2,1020,2.24,CRD,12.5 +VTS,1,2,300,0.88,CRD,5.5 +VTS,1,3,120,0.83,CRD,4.5 +VTS,1,2,180,1.02,CRD,5.0 +VTS,1,2,420,0.91,CSH,6.5 +VTS,1,2,180,0.96,CRD,5.0 +CMT,1,2,313,0.9,CRD,5.5 +CMT,1,1,616,2.0,CSH,9.0 +CMT,1,1,331,1.4,CRD,6.5 +CMT,1,1,785,7.3,CRD,21.5 +CMT,1,1,763,3.4,CSH,13.0 +CMT,1,1,1273,9.6,CRD,28.5 +CMT,1,1,342,0.8,CSH,6.0 +CMT,1,2,374,1.3,CSH,7.0 +CMT,1,2,489,1.1,CRD,7.0 +CMT,1,2,651,1.8,CRD,9.0 +CMT,1,2,527,2.2,CRD,9.0 +VTS,1,2,1020,2.2,CRD,12.0 +VTS,1,2,120,0.32,CSH,3.5 +VTS,1,2,780,1.06,CSH,9.5 +VTS,1,1,480,3.72,CSH,12.0 +VTS,1,2,960,4.48,CRD,16.0 +VTS,1,2,240,0.91,CSH,5.5 +CMT,1,1,1052,4.3,CRD,16.0 +CMT,1,1,840,2.5,CRD,12.5 +CMT,1,1,382,0.7,CSH,5.5 +CMT,1,2,740,1.4,CRD,9.5 +CMT,1,1,216,1.4,CSH,6.0 +CMT,1,3,1093,3.4,CSH,15.0 +CMT,1,1,837,3.7,CSH,14.5 +CMT,1,1,141,0.6,CSH,4.0 +CMT,1,1,787,2.2,CSH,11.0 +CMT,1,4,1475,6.2,CRD,23.0 +CMT,1,2,1084,3.5,CRD,15.5 +CMT,1,2,359,1.4,CSH,6.5 +CMT,1,2,334,2.1,CSH,8.0 +CMT,1,2,497,3.2,CRD,11.0 +CMT,1,1,251,1.1,CSH,5.5 +CMT,1,1,403,1.9,CRD,8.0 +CMT,1,2,1123,4.3,CRD,17.5 +CMT,1,2,1338,3.9,CSH,17.5 +CMT,1,3,965,2.6,CRD,12.5 +CMT,1,1,1354,4.2,CRD,17.5 +CMT,1,1,573,1.8,CRD,8.5 +CMT,1,1,265,1.1,CRD,5.5 +CMT,1,1,558,5.1,CSH,15.5 +CMT,4,1,308,0.8,CSH,5.0 +CMT,1,3,230,1.2,CRD,5.5 +CMT,1,2,338,1.3,CRD,6.5 +CMT,1,1,558,3.3,CRD,11.5 +CMT,1,1,113,0.3,CRD,3.5 +CMT,1,1,700,3.2,CRD,12.0 +CMT,1,2,994,3.8,CRD,15.0 +CMT,1,1,589,2.9,CRD,11.0 +CMT,1,1,693,2.8,CRD,11.5 +CMT,1,1,1000,2.5,CSH,13.0 +CMT,1,2,541,2.9,CSH,11.0 +CMT,1,1,383,1.7,CSH,8.0 +CMT,1,1,714,1.4,CRD,9.5 +CMT,1,1,971,5.6,CSH,17.0 +CMT,1,1,422,1.3,CSH,7.0 +CMT,1,1,494,2.9,CSH,10.5 +CMT,1,2,254,0.8,CSH,5.0 +CMT,1,2,373,1.7,CSH,7.5 +CMT,1,2,1558,3.1,CSH,18.0 +CMT,1,1,513,2.1,CSH,9.0 +CMT,1,1,404,3.9,CSH,12.0 +CMT,1,1,435,1.3,CSH,7.0 +CMT,1,1,171,0.4,CRD,4.0 +CMT,1,1,342,1.3,CRD,6.5 +CMT,1,1,495,2.3,CSH,9.5 +CMT,1,1,1116,5.2,CRD,17.5 +CMT,1,1,1035,5.4,CRD,19.0 +CMT,1,1,306,2.0,CSH,7.5 +CMT,1,1,2029,9.4,CRD,32.0 +CMT,1,1,338,1.3,CRD,6.5 +CMT,1,1,562,2.8,CSH,10.5 +CMT,1,1,701,1.8,CSH,9.5 +CMT,1,1,634,2.1,CRD,10.0 +CMT,1,1,581,1.2,CSH,8.0 +CMT,1,1,1071,6.8,CRD,21.5 +CMT,1,1,781,3.4,CSH,13.0 +CMT,1,1,218,0.5,CRD,4.5 +CMT,1,1,605,1.6,CRD,8.5 +CMT,1,1,1071,3.4,CSH,15.0 +CMT,1,1,153,0.7,CRD,4.5 +CMT,1,1,436,1.1,CSH,6.5 +CMT,1,1,833,3.3,CRD,12.5 +CMT,1,2,950,1.4,CRD,11.0 +CMT,1,1,345,0.9,CSH,6.0 +CMT,1,1,1532,5.9,CRD,21.5 +CMT,1,2,577,1.5,CSH,8.5 +CMT,1,1,331,0.7,CSH,5.5 +CMT,1,3,937,2.0,CSH,11.5 +CMT,1,1,255,0.8,CSH,5.0 +CMT,1,1,774,2.9,CRD,11.5 +CMT,1,1,503,2.0,CRD,9.0 +CMT,1,1,853,4.2,CRD,15.5 +CMT,1,1,202,0.7,CSH,4.5 +CMT,1,1,413,1.3,CSH,7.5 +CMT,1,1,1046,1.7,CSH,12.5 +CMT,1,1,385,1.7,CRD,7.5 +CMT,1,1,280,1.2,CRD,6.0 +CMT,1,1,87,0.5,CSH,3.5 +CMT,1,1,220,1.7,CRD,6.5 +CMT,1,1,563,3.3,CSH,12.0 +CMT,1,1,448,2.1,CRD,8.5 +CMT,1,2,167,0.8,CSH,4.5 +CMT,1,2,1081,4.1,CRD,16.0 +CMT,1,3,691,1.6,CRD,9.0 +CMT,1,4,450,2.5,CSH,9.0 +CMT,1,4,500,2.4,CRD,9.5 +CMT,1,4,402,1.8,CRD,7.5 +CMT,1,1,491,1.9,CSH,8.5 +CMT,1,1,206,1.0,CRD,5.0 +CMT,1,1,322,0.7,CRD,5.5 +CMT,1,1,390,1.8,CSH,8.0 +CMT,1,1,637,4.2,CRD,14.5 +CMT,1,1,296,1.4,CSH,6.5 +CMT,1,1,651,1.9,CRD,9.5 +CMT,1,2,1676,7.5,CSH,27.5 +VTS,1,2,600,1.38,CRD,8.5 +VTS,1,2,900,1.81,CRD,11.0 +VTS,1,2,600,1.98,CSH,9.5 +VTS,1,2,540,1.99,CRD,8.5 +VTS,1,2,360,1.18,CSH,7.0 +VTS,1,3,660,2.7,CRD,11.0 +VTS,1,2,1080,2.81,CRD,13.5 +VTS,1,2,1080,3.04,CRD,14.0 +VTS,1,2,840,3.12,CSH,12.5 +VTS,1,3,720,1.4,CSH,9.5 +VTS,1,2,1440,3.43,CSH,17.5 +VTS,1,2,240,1.29,CSH,6.0 +VTS,1,3,300,0.68,CRD,5.5 +VTS,1,2,780,2.55,CSH,11.5 +VTS,1,2,300,0.97,CSH,5.5 +VTS,1,2,240,1.27,CSH,6.0 +VTS,1,2,480,1.51,CSH,7.5 +VTS,1,2,3180,12.37,CSH,45.0 +VTS,1,2,840,3.2,CSH,12.5 +VTS,1,3,660,1.04,CRD,8.5 +VTS,1,3,720,1.59,CSH,9.5 +VTS,1,2,480,2.25,CRD,9.5 +VTS,1,2,720,1.76,CRD,10.0 +VTS,1,2,240,1.31,CSH,6.0 +VTS,1,2,840,3.88,CSH,14.5 +CMT,1,1,325,1.2,CSH,6.0 +CMT,1,2,624,3.3,CSH,12.0 +CMT,1,1,909,7.2,CRD,22.0 +CMT,1,1,466,2.6,CRD,9.5 +CMT,1,1,227,1.4,CSH,6.0 +CMT,1,1,210,0.9,CSH,5.0 +CMT,1,1,222,0.5,CSH,4.5 +CMT,1,1,243,0.7,CRD,5.0 +CMT,1,1,518,1.3,CRD,7.5 +CMT,1,1,674,4.3,CSH,14.5 +CMT,1,1,545,1.5,CRD,8.5 +CMT,1,2,423,1.5,CRD,7.5 +CMT,1,2,401,1.0,CSH,6.0 +CMT,1,2,654,1.6,CSH,9.0 +CMT,1,1,486,2.2,CRD,9.0 +CMT,1,1,1107,5.1,CSH,18.0 +CMT,1,4,355,1.6,CSH,7.0 +CMT,1,4,1117,2.4,CRD,11.0 +CMT,1,4,928,2.5,CRD,12.0 +CMT,1,1,792,3.1,CSH,12.5 +CMT,1,1,1240,10.1,CRD,29.5 +CMT,1,1,237,0.7,CRD,5.0 +CMT,1,1,538,1.3,CSH,8.0 +CMT,1,1,360,1.3,CSH,6.5 +CMT,1,1,560,3.3,CRD,11.5 +CMT,1,1,488,1.7,CRD,8.0 +CMT,1,2,705,4.1,CSH,14.5 +CMT,1,1,323,1.1,CSH,6.0 +CMT,1,1,528,2.6,CRD,9.5 +CMT,1,1,875,2.0,CSH,11.5 +CMT,1,1,713,1.1,CSH,8.5 +CMT,1,1,276,0.8,CRD,5.0 +CMT,1,1,970,1.3,CRD,11.0 +CMT,1,1,1508,4.4,CRD,20.0 +CMT,1,1,375,0.8,CSH,6.0 +CMT,1,1,440,1.6,CSH,7.5 +CMT,1,1,578,2.1,CSH,9.0 +CMT,1,1,1046,3.1,CRD,14.0 +CMT,1,1,297,0.5,CSH,5.0 +CMT,1,1,341,2.4,CSH,8.0 +CMT,1,1,184,0.9,CRD,5.0 +CMT,1,1,703,2.0,CRD,10.0 +CMT,1,1,603,1.6,CRD,8.5 +CMT,1,1,468,0.9,CRD,6.5 +CMT,1,1,119,0.5,CRD,3.5 +CMT,1,1,611,1.6,CRD,9.0 +CMT,1,1,347,0.8,CSH,6.0 +CMT,1,1,1557,1.0,CSH,7.5 +CMT,1,1,199,0.5,CRD,4.0 +CMT,1,1,478,2.3,CRD,9.0 +CMT,1,1,150,0.6,CSH,4.0 +CMT,1,1,338,1.3,CSH,6.5 +CMT,1,1,362,1.4,CRD,6.5 +CMT,1,1,366,2.3,CSH,8.5 +CMT,1,1,343,1.4,CRD,6.5 +CMT,1,2,854,2.9,CSH,12.5 +CMT,1,2,121,0.7,CSH,4.0 +CMT,1,1,1593,14.8,CRD,42.0 +CMT,1,1,929,3.7,CSH,15.0 +CMT,1,2,586,2.5,CRD,10.0 +CMT,1,1,574,2.5,CSH,10.0 +CMT,1,1,1098,4.0,CRD,16.0 +CMT,1,2,841,4.1,CSH,14.5 +CMT,1,3,1184,3.4,CRD,15.5 +CMT,1,4,814,6.6,CSH,20.5 +CMT,1,4,1593,4.1,CRD,20.0 +CMT,1,3,791,3.5,CSH,13.0 +CMT,1,1,167,0.5,CSH,4.0 +CMT,1,1,664,3.2,CSH,11.5 +CMT,1,1,427,0.5,CSH,6.0 +CMT,1,1,202,0.6,CSH,4.5 +CMT,1,1,990,2.5,CRD,12.5 +CMT,1,1,1791,14.8,CRD,41.5 +CMT,1,1,732,2.1,CSH,10.0 +CMT,1,1,559,3.6,CRD,12.5 +CMT,1,1,1268,2.3,CSH,14.5 +CMT,1,1,1001,5.2,CRD,17.5 +CMT,1,1,533,1.8,CSH,8.0 +CMT,1,1,855,4.4,CRD,16.5 +CMT,1,3,454,1.3,CSH,7.0 +CMT,1,1,642,2.8,CSH,11.0 +CMT,1,3,811,7.4,CSH,22.5 +CMT,1,1,217,0.8,CSH,5.0 +CMT,1,1,553,1.8,CSH,8.5 +CMT,1,1,477,1.7,CRD,8.5 +CMT,1,1,528,1.7,CSH,8.5 +CMT,1,1,696,1.8,CSH,9.5 +CMT,1,1,902,2.0,CRD,11.5 +CMT,1,1,823,2.6,CSH,12.0 +CMT,1,1,464,1.4,CSH,7.5 +CMT,1,1,2560,4.2,CRD,26.5 +CMT,1,1,197,0.8,CSH,5.0 +CMT,1,2,394,1.0,CSH,6.5 +CMT,1,2,1462,5.9,CSH,20.5 +CMT,1,3,337,1.5,CSH,6.5 +CMT,1,1,822,8.2,CSH,23.5 +CMT,1,1,524,1.1,CRD,7.5 +CMT,1,1,268,1.2,CRD,6.0 +CMT,1,1,304,1.2,CRD,6.0 +CMT,1,1,356,0.5,CRD,5.5 +CMT,1,2,475,1.5,CSH,7.5 +CMT,1,1,736,2.2,CSH,10.5 +CMT,1,1,554,2.1,CSH,9.0 +CMT,1,1,514,1.7,CSH,8.5 +CMT,1,1,594,2.7,CRD,10.5 +CMT,1,1,666,2.5,CSH,11.0 +CMT,1,1,386,1.6,CRD,7.5 +CMT,1,1,96,0.3,CSH,3.5 +CMT,1,1,263,0.9,CSH,5.5 +CMT,1,2,593,3.3,CRD,12.0 +CMT,1,1,1039,4.3,CRD,17.0 +CMT,1,1,125,0.5,CRD,4.0 +CMT,1,1,1313,7.3,CRD,24.5 +CMT,1,2,560,2.1,CSH,9.5 +CMT,1,2,177,0.8,CSH,4.5 +CMT,1,1,426,2.1,CRD,8.5 +CMT,1,1,841,4.0,CSH,14.0 +CMT,1,1,766,2.4,CRD,11.0 +CMT,1,2,444,1.6,CRD,7.5 +CMT,1,1,206,1.3,CRD,6.0 +CMT,1,2,526,1.4,CRD,7.5 +CMT,1,4,730,1.2,CSH,9.0 +CMT,1,1,710,4.1,CSH,14.0 +CMT,1,1,551,2.5,CRD,10.0 +CMT,1,1,540,2.1,CSH,9.5 +CMT,1,1,556,3.5,CSH,11.5 +CMT,1,1,947,3.3,CRD,13.5 +CMT,1,1,1650,11.8,CRD,35.0 +CMT,1,1,321,1.0,CSH,6.0 +CMT,1,1,686,2.5,CRD,11.0 +CMT,1,1,389,2.2,CRD,8.5 +CMT,1,1,565,1.8,CSH,9.0 +CMT,1,2,935,4.4,CRD,15.5 +CMT,1,1,264,0.8,CSH,5.5 +CMT,1,1,143,0.9,CSH,4.5 +CMT,1,1,950,3.9,CSH,14.5 +CMT,1,4,1246,5.7,CRD,19.5 +CMT,1,4,439,2.2,CRD,8.5 +CMT,1,1,120,0.6,CSH,4.0 +CMT,1,2,517,2.3,CRD,9.5 +CMT,1,1,235,0.9,CSH,5.5 +CMT,1,1,242,0.6,CSH,4.5 +CMT,1,1,571,1.4,CSH,8.5 +CMT,1,1,302,0.9,CRD,6.0 +CMT,1,1,510,2.1,CRD,8.5 +CMT,1,1,830,2.5,CRD,11.5 +CMT,1,1,842,3.2,CRD,13.0 +CMT,1,1,214,1.2,CSH,5.5 +CMT,2,1,1624,17.5,CSH,52.0 +CMT,1,1,834,6.5,CRD,20.0 +CMT,1,1,1101,12.4,CRD,34.5 +CMT,1,1,1001,9.3,CRD,26.0 +CMT,1,1,730,3.7,CRD,13.0 +CMT,1,1,1263,3.8,CRD,17.5 +CMT,1,1,590,2.1,CRD,9.0 +CMT,1,1,522,0.8,CSH,7.0 +CMT,1,1,411,1.2,CRD,6.5 +CMT,1,1,179,0.5,CSH,4.0 +CMT,1,1,352,0.8,CRD,6.0 +CMT,1,1,551,1.3,CRD,8.0 +CMT,1,1,458,1.1,CRD,7.0 +CMT,1,1,565,1.9,CSH,9.0 +CMT,1,1,446,2.0,CSH,8.0 +CMT,1,1,913,3.9,CRD,14.5 +CMT,1,1,189,0.5,CSH,4.5 +CMT,1,1,492,1.9,CSH,8.5 +CMT,1,1,517,4.8,CSH,15.0 +CMT,1,1,132,0.9,CRD,4.5 +CMT,1,3,611,1.7,CRD,9.0 +CMT,1,2,184,0.5,CRD,4.0 +CMT,1,3,610,2.0,CSH,9.0 +CMT,1,2,346,0.7,CRD,5.5 +CMT,1,1,491,1.2,CSH,7.5 +CMT,1,1,872,1.8,CSH,11.0 +CMT,1,1,1364,3.7,CRD,17.0 +CMT,1,3,656,2.0,CRD,9.5 +CMT,1,2,461,0.9,CSH,6.5 +CMT,1,1,641,1.2,CRD,8.5 +CMT,1,1,343,1.2,CSH,6.5 +CMT,1,2,232,1.0,CRD,5.5 +CMT,1,2,567,2.7,CSH,10.0 +CMT,4,2,1039,8.9,CRD,32.5 +CMT,1,4,2142,3.8,CRD,23.0 +CMT,1,1,318,2.2,CRD,8.0 +CMT,1,1,1070,7.7,CSH,23.5 +CMT,1,3,560,2.5,CSH,10.0 +CMT,1,1,278,1.2,CRD,6.0 +CMT,1,1,610,3.2,CRD,11.5 +CMT,1,2,551,1.8,CRD,8.5 +CMT,1,2,718,2.5,CRD,11.0 +CMT,1,2,1431,4.7,CSH,19.0 +CMT,1,2,585,1.4,CSH,8.5 +CMT,1,1,228,1.1,CSH,5.5 +CMT,1,2,192,0.6,CSH,4.5 +CMT,1,2,888,4.0,CRD,14.0 +CMT,1,1,375,1.3,CSH,7.0 +CMT,1,1,773,3.3,CRD,12.5 +CMT,1,2,1217,3.2,CRD,15.0 +CMT,1,1,961,1.3,CRD,11.0 +CMT,1,1,1557,7.4,CRD,24.5 +CMT,1,1,412,1.1,CSH,7.0 +CMT,1,1,290,0.7,CSH,5.0 +CMT,1,2,1539,9.0,CRD,29.5 +CMT,1,1,486,3.3,CSH,11.0 +CMT,1,1,385,0.9,CSH,6.5 +CMT,1,1,389,0.9,CRD,6.5 +CMT,1,1,503,1.6,CRD,8.0 +CMT,4,2,804,1.7,CSH,10.5 +CMT,1,1,771,5.0,CSH,16.0 +CMT,1,2,789,3.8,CSH,14.0 +CMT,1,1,256,1.4,CRD,6.0 +CMT,1,1,704,2.7,CSH,11.5 +CMT,1,1,842,2.7,CRD,12.0 +CMT,1,4,708,2.0,CSH,10.0 +CMT,1,4,661,1.7,CSH,9.0 +CMT,1,1,452,1.5,CSH,7.5 +CMT,1,1,380,1.6,CSH,7.5 +CMT,1,3,619,1.2,CRD,8.0 +CMT,1,1,337,1.3,CSH,6.0 +CMT,1,1,347,1.9,CRD,7.5 +CMT,1,1,230,0.7,CSH,4.5 +CMT,1,1,999,4.6,CSH,16.5 +CMT,1,1,716,3.1,CRD,12.0 +CMT,1,1,351,1.0,CRD,6.0 +CMT,1,1,553,1.0,CSH,7.5 +CMT,1,1,313,0.8,CRD,5.5 +CMT,1,1,361,1.9,CRD,7.5 +CMT,1,1,701,1.6,CSH,9.0 +CMT,1,2,652,2.5,CRD,11.0 +CMT,1,1,397,1.2,CRD,6.5 +CMT,1,1,315,1.3,CRD,6.5 +CMT,1,1,380,1.0,CRD,6.0 +CMT,1,1,897,2.2,CSH,11.5 +CMT,1,1,383,1.8,CRD,7.5 +CMT,1,1,1187,4.3,CRD,17.0 +CMT,1,1,449,1.8,CSH,8.0 +CMT,1,1,710,1.8,CSH,10.0 +CMT,1,2,216,1.0,CSH,5.5 +CMT,1,2,647,1.9,CSH,10.0 +CMT,1,2,951,2.3,CSH,12.0 +CMT,1,1,618,2.7,CSH,10.5 +CMT,1,1,1395,6.0,CRD,23.0 +CMT,1,1,449,1.8,CSH,8.0 +CMT,1,1,280,0.8,CSH,5.5 +CMT,1,1,803,2.5,CRD,11.0 +CMT,1,1,956,10.7,CRD,29.5 +CMT,1,1,587,2.1,CSH,9.5 +CMT,1,1,1020,0.8,CSH,11.0 +CMT,1,1,603,2.3,CSH,9.5 +CMT,1,1,163,0.7,CSH,4.0 +CMT,1,1,1745,7.7,CSH,27.0 +CMT,1,1,295,0.6,CRD,5.0 +CMT,1,1,577,1.7,CRD,8.5 +CMT,1,2,483,1.4,CRD,7.5 +CMT,1,1,513,2.7,CRD,9.5 +CMT,1,1,892,2.3,CSH,11.5 +CMT,1,1,831,4.1,CRD,15.0 +CMT,1,1,1173,5.2,CRD,18.5 +CMT,1,1,651,2.7,CRD,10.5 +CMT,1,1,295,2.1,CRD,7.5 +CMT,1,2,824,4.8,CRD,16.0 +CMT,1,1,1011,4.6,CRD,16.5 +CMT,1,1,706,2.6,CSH,11.0 +CMT,1,1,385,1.2,CRD,6.5 +CMT,1,1,400,2.8,CSH,9.5 +CMT,1,1,83,0.5,CSH,3.5 +CMT,1,1,616,1.3,CSH,8.5 +CMT,1,1,368,0.6,CSH,5.5 +CMT,1,1,487,1.8,CRD,8.5 +CMT,1,1,297,1.2,CSH,6.0 +CMT,1,1,416,1.9,CSH,8.0 +CMT,1,1,660,6.5,CRD,19.5 +CMT,1,1,910,2.2,CSH,11.5 +CMT,1,2,2240,5.5,CRD,25.0 +CMT,1,1,402,1.2,CRD,7.0 +CMT,1,1,1632,7.0,CRD,24.5 +CMT,1,1,849,2.8,CSH,12.0 +CMT,1,1,954,3.7,CSH,14.0 +CMT,1,1,1787,6.2,CRD,24.5 +CMT,1,1,594,2.9,CSH,10.5 +CMT,1,1,184,1.1,CRD,5.0 +CMT,1,1,1628,4.8,CRD,20.5 +CMT,1,1,901,6.4,CRD,20.5 +CMT,1,1,503,1.5,CSH,8.0 +CMT,1,1,232,1.0,CRD,5.5 +CMT,1,1,714,1.5,CSH,9.0 +CMT,1,1,753,1.2,CRD,9.0 +CMT,1,1,840,1.8,CRD,10.5 +CMT,1,4,494,3.3,CSH,11.0 +CMT,1,1,182,0.6,CSH,4.5 +CMT,1,1,608,1.4,CSH,8.0 +CMT,1,1,1025,3.1,CRD,14.0 +CMT,1,1,988,2.9,CRD,13.0 +CMT,1,1,219,0.9,CRD,5.0 +CMT,1,1,890,1.6,CRD,11.0 +CMT,1,1,3579,1.0,CSH,2.5 +CMT,1,1,296,1.1,CRD,6.0 +CMT,1,1,1299,3.4,CRD,16.0 +CMT,1,1,752,2.4,CSH,11.0 +CMT,1,2,550,2.2,CSH,9.0 +CMT,1,1,317,0.8,CSH,5.5 +CMT,1,1,708,1.5,CRD,9.5 +CMT,1,1,422,0.6,CRD,6.0 +CMT,1,1,782,1.0,CRD,9.0 +CMT,1,1,689,1.8,CSH,9.5 +CMT,1,1,763,3.0,CRD,12.0 +CMT,1,1,537,1.3,CSH,7.5 +CMT,1,1,304,1.2,CSH,6.5 +CMT,1,1,640,1.8,CRD,9.0 +CMT,1,1,706,3.0,CSH,12.0 +CMT,1,1,200,0.6,CSH,4.5 +CMT,1,1,833,2.7,CSH,12.5 +CMT,1,1,376,1.4,CSH,7.0 +CMT,1,1,305,0.8,CSH,5.5 +CMT,1,1,1127,5.1,CRD,19.5 +CMT,1,1,1059,6.0,CSH,19.5 +CMT,1,1,1291,5.3,CSH,19.0 +CMT,1,1,537,2.1,CSH,9.5 +CMT,1,3,1350,2.8,CSH,15.0 +CMT,1,1,609,2.2,CSH,9.0 +CMT,1,1,1663,5.0,CRD,21.5 +CMT,1,1,1469,4.5,CSH,19.5 +CMT,1,1,1041,4.4,CRD,16.5 +CMT,1,1,275,1.1,CSH,5.5 +CMT,1,1,349,2.3,CRD,8.5 +CMT,1,3,922,3.0,CRD,13.5 +CMT,1,1,442,1.1,CRD,7.0 +CMT,1,1,496,1.8,CRD,8.5 +CMT,1,1,1116,1.8,CSH,12.5 +CMT,1,2,289,0.7,CRD,5.0 +CMT,1,1,433,0.9,CSH,6.5 +CMT,1,1,591,1.6,CSH,9.0 +CMT,1,3,657,0.9,CRD,8.5 +CMT,1,3,312,1.3,CSH,6.0 +CMT,1,1,784,2.6,CRD,11.5 +CMT,1,1,1634,4.3,CSH,20.0 +CMT,1,2,488,0.9,CSH,6.5 +CMT,1,2,178,0.2,CSH,3.5 +CMT,1,1,2151,4.1,CSH,24.5 +CMT,1,1,1211,4.3,CSH,16.5 +CMT,1,2,2227,9.7,CSH,30.5 +CMT,1,2,1180,4.7,CRD,18.0 +CMT,1,3,175,0.6,CRD,4.0 +CMT,1,1,216,0.8,CSH,5.0 +CMT,1,4,953,4.1,CRD,15.5 +CMT,1,3,1267,15.0,CSH,41.0 +CMT,1,2,208,0.6,CSH,4.5 +CMT,1,1,407,1.0,CSH,6.5 +CMT,1,1,459,0.9,CSH,6.5 +CMT,1,3,528,2.4,CSH,9.0 +CMT,1,1,1602,0.9,CSH,5.0 +CMT,1,1,5,0.0,CSH,2.5 +CMT,1,1,825,3.5,CSH,13.5 +CMT,1,1,179,0.6,CRD,4.5 +CMT,1,1,530,1.3,CRD,8.0 +CMT,1,1,474,1.6,CSH,8.0 +CMT,1,1,1750,9.9,CRD,32.5 +CMT,1,1,804,2.2,CRD,11.0 +CMT,1,1,659,1.8,CRD,9.0 +CMT,1,2,995,3.0,CSH,13.5 +CMT,1,2,1294,7.7,CSH,24.5 +CMT,1,1,835,3.9,CRD,14.5 +CMT,1,1,624,3.7,CRD,13.0 +CMT,1,1,894,4.5,CSH,16.0 +CMT,1,1,535,2.2,CSH,9.0 +CMT,1,2,954,3.3,CSH,14.0 +CMT,1,1,611,1.1,CRD,8.0 +CMT,1,1,556,2.4,CRD,9.5 +CMT,1,1,1246,4.5,CSH,18.5 +CMT,1,1,821,1.7,CRD,10.5 +CMT,1,1,494,0.9,CSH,7.0 +CMT,1,3,923,2.0,CSH,11.5 +CMT,1,3,507,0.9,CSH,7.0 +CMT,1,2,428,1.2,CRD,6.5 +CMT,1,2,217,0.9,CRD,5.0 +CMT,1,2,2022,6.7,CRD,27.0 +CMT,1,2,284,1.3,CSH,6.0 +CMT,1,1,380,0.5,CSH,5.5 +CMT,1,1,731,1.2,CRD,9.0 +CMT,1,2,556,1.6,CRD,8.5 +CMT,1,1,1232,2.8,CRD,14.5 +CMT,1,2,1341,5.3,CRD,19.0 +CMT,1,1,409,1.7,CRD,7.5 +CMT,1,1,145,0.7,CRD,4.5 +CMT,1,2,485,1.9,CRD,8.5 +CMT,1,1,741,3.4,CSH,12.5 +CMT,1,1,810,3.6,CSH,13.0 +CMT,1,1,212,1.0,CSH,5.0 +CMT,1,3,1163,2.1,CSH,14.0 +CMT,1,2,1573,6.5,CSH,23.5 +CMT,1,2,496,1.7,CSH,8.0 +CMT,1,2,2150,5.6,CSH,26.0 +CMT,1,1,257,0.9,CRD,5.5 +CMT,1,1,1446,8.4,CRD,26.5 +CMT,1,1,460,1.2,CSH,7.0 +CMT,1,1,620,1.0,CRD,8.0 +CMT,1,2,1948,9.9,CSH,32.5 +CMT,1,1,2099,13.7,CRD,40.5 +CMT,1,1,226,0.5,CSH,4.5 +CMT,1,1,518,2.8,CSH,10.0 +CMT,1,1,198,0.5,CSH,4.0 +CMT,1,1,970,2.1,CSH,12.0 +CMT,1,1,369,0.8,CSH,6.0 +CMT,1,1,1341,7.6,CSH,24.0 +CMT,1,1,788,5.9,CRD,18.0 +CMT,1,1,2909,20.3,CRD,61.5 +CMT,2,1,28,0.1,CRD,52.0 +CMT,1,1,177,0.8,CSH,5.0 +CMT,1,1,376,2.2,CSH,8.0 +CMT,1,1,148,1.2,CRD,5.0 +CMT,1,1,430,0.9,CSH,6.5 +CMT,1,1,222,0.8,CRD,5.0 +CMT,1,1,954,4.4,NOC,2.5 +CMT,1,1,887,2.6,CSH,11.5 +CMT,1,1,182,0.4,CSH,4.0 +CMT,1,1,1175,2.9,CSH,15.0 +CMT,3,1,3,0.0,CSH,20.0 +CMT,1,2,324,1.8,CSH,7.5 +CMT,1,4,1262,7.4,CSH,24.0 +CMT,1,1,297,0.6,CRD,5.0 +CMT,1,2,1400,2.0,CRD,14.5 +CMT,1,3,803,1.4,CSH,9.5 +CMT,1,1,321,0.8,CSH,5.5 +CMT,1,1,451,1.7,CRD,7.5 +CMT,1,1,489,1.5,CSH,7.5 +CMT,1,1,252,0.9,CSH,5.0 +CMT,1,1,268,0.6,CRD,4.5 +CMT,1,1,1524,4.1,CSH,20.5 +CMT,1,2,969,1.7,CSH,11.5 +CMT,1,1,655,6.1,CRD,18.0 +CMT,1,2,198,0.6,CSH,4.0 +CMT,1,1,494,1.7,CRD,8.5 +CMT,1,3,998,4.5,CSH,17.0 +CMT,1,4,654,2.1,CSH,9.5 +CMT,1,1,1795,11.7,CSH,35.5 +CMT,1,1,624,1.5,CRD,9.0 +CMT,1,1,624,2.5,CSH,9.5 +CMT,1,1,446,1.7,CSH,7.5 +CMT,1,1,1478,4.6,CRD,18.5 +CMT,1,1,163,0.6,CRD,4.0 +CMT,1,1,639,2.3,CSH,10.0 +CMT,1,1,231,0.9,CSH,5.0 +CMT,1,1,971,0.9,CSH,10.5 +CMT,1,1,463,3.0,CRD,10.0 +CMT,1,1,510,1.7,CSH,8.0 +CMT,1,1,775,1.9,CSH,10.5 +CMT,2,1,1545,19.4,CRD,52.0 +CMT,1,1,468,2.1,CSH,9.0 +CMT,1,1,1196,4.0,CSH,16.0 +CMT,1,1,1015,2.4,CRD,12.5 +CMT,1,1,540,0.5,CRD,7.0 +CMT,1,1,497,1.5,CRD,7.5 +CMT,1,1,299,1.0,CSH,6.0 +CMT,1,1,550,1.3,CRD,8.0 +CMT,1,1,1350,2.2,CRD,15.0 +CMT,1,1,394,1.0,CSH,6.0 +CMT,1,1,304,1.5,CSH,6.5 +CMT,1,1,1183,5.0,CSH,18.0 +CMT,1,1,389,1.0,CRD,6.5 +CMT,1,1,421,1.3,CRD,7.5 +CMT,1,1,580,1.2,CSH,8.0 +CMT,1,1,463,2.0,CSH,8.5 +CMT,1,1,238,0.7,CSH,5.0 +CMT,1,1,454,1.6,CRD,7.5 +CMT,1,1,912,6.3,CSH,20.5 +CMT,1,1,535,1.4,CSH,8.0 +CMT,1,2,1322,2.5,CSH,15.5 +CMT,1,1,541,2.6,CRD,10.0 +CMT,1,3,581,2.2,CSH,9.5 +CMT,1,1,148,0.4,CSH,4.0 +CMT,1,1,517,1.3,CSH,8.0 +CMT,1,1,372,0.9,CSH,6.5 +CMT,1,1,1003,3.4,CRD,13.5 +CMT,1,2,727,1.8,CRD,9.5 +CMT,1,1,625,1.0,CRD,8.0 +CMT,1,1,250,0.5,CSH,4.5 +CMT,1,1,466,0.9,CRD,6.5 +CMT,1,2,477,1.4,CRD,7.5 +CMT,1,2,496,0.9,CRD,7.0 +CMT,1,1,323,0.7,CRD,5.5 +CMT,1,1,1061,7.1,CRD,21.5 +CMT,1,1,641,2.6,CSH,10.5 +CMT,1,1,1161,2.4,CSH,14.5 +CMT,1,1,293,1.1,CRD,6.0 +CMT,1,1,555,2.2,CRD,9.5 +CMT,1,1,663,3.3,CRD,12.0 +CMT,1,1,571,2.9,CRD,11.0 +CMT,1,1,283,1.3,CRD,6.0 +CMT,1,1,856,1.8,CSH,11.5 +CMT,1,1,1357,3.3,CSH,16.0 +CMT,1,1,1393,13.5,CSH,37.0 +CMT,1,1,1026,8.8,CSH,26.0 +CMT,1,1,274,0.9,CRD,5.5 +CMT,1,3,363,1.5,CSH,7.5 +CMT,1,1,988,3.8,CRD,15.5 +CMT,1,1,331,0.6,CRD,5.5 +CMT,1,1,633,1.6,CRD,8.5 +CMT,1,1,476,1.6,CRD,8.0 +CMT,1,1,288,0.5,CRD,5.0 +CMT,1,1,534,2.6,CRD,10.0 +CMT,1,1,466,1.2,CRD,7.0 +CMT,1,1,1568,6.9,CRD,24.0 +CMT,1,1,468,1.7,CSH,8.0 +CMT,1,2,70,0.3,CSH,3.0 +CMT,1,3,998,3.0,CRD,14.0 +CMT,1,2,428,0.7,CSH,6.0 +CMT,1,2,682,0.9,CSH,8.0 +CMT,1,2,230,1.1,CRD,6.0 +CMT,1,3,470,1.9,CSH,8.0 +CMT,2,1,4426,18.1,CSH,52.0 +CMT,1,1,970,4.4,CRD,15.5 +CMT,1,1,1402,7.9,CSH,24.5 +CMT,1,2,721,3.7,CRD,13.0 +CMT,1,1,79,0.4,CSH,3.5 +CMT,2,1,1905,15.1,CRD,52.0 +CMT,1,1,1933,13.2,CRD,39.5 +CMT,1,1,247,1.0,CSH,5.0 +CMT,1,1,764,1.1,CRD,9.5 +CMT,1,1,394,0.8,CRD,6.0 +CMT,1,1,420,1.5,CRD,7.5 +CMT,1,1,1307,1.7,CSH,14.5 +CMT,1,1,598,2.2,CRD,9.5 +CMT,1,2,689,1.8,CRD,9.5 +CMT,1,1,115,0.9,CSH,4.5 +CMT,1,1,302,1.1,CRD,5.5 +CMT,1,1,578,1.7,CRD,8.5 +CMT,1,1,670,2.3,CRD,10.5 +CMT,1,1,1363,7.1,CRD,23.5 +CMT,1,1,1078,3.7,CRD,15.5 +CMT,1,1,1249,8.3,CRD,26.0 +CMT,1,1,1042,3.6,CRD,14.5 +CMT,1,3,667,1.9,CSH,9.5 +CMT,1,1,2576,15.6,CRD,47.0 +CMT,1,1,902,2.8,CRD,12.5 +CMT,1,1,617,0.9,CSH,8.0 +CMT,1,1,828,2.0,CSH,10.5 +CMT,1,2,1346,2.8,CSH,15.0 +CMT,1,2,1031,2.3,CRD,12.5 +CMT,1,1,677,2.4,CRD,11.0 +CMT,1,1,1033,2.1,CSH,12.5 +CMT,1,1,697,3.2,CSH,11.5 +CMT,1,2,616,3.4,CSH,12.0 +CMT,1,1,146,0.7,CRD,4.5 +CMT,1,1,323,0.7,CRD,5.5 +CMT,1,1,483,1.9,CRD,8.5 +CMT,1,1,1240,6.0,CRD,20.0 +CMT,1,1,1344,7.4,CRD,25.0 +CMT,1,1,567,2.5,CSH,10.0 +CMT,1,1,617,3.0,CSH,11.5 +CMT,1,1,357,0.7,CRD,5.5 +CMT,1,2,1931,4.6,CRD,22.5 +CMT,1,1,894,2.8,CRD,13.5 +CMT,1,1,2363,9.4,CSH,33.5 +CMT,1,1,2001,8.9,CRD,31.0 +CMT,1,1,1333,6.8,CSH,22.0 +CMT,1,2,512,1.6,CSH,8.0 +CMT,1,3,449,0.8,CSH,6.5 +CMT,1,2,946,3.3,CSH,13.5 +CMT,1,1,1982,5.6,CRD,23.5 +CMT,1,2,845,2.3,CRD,12.0 +CMT,1,1,279,0.9,CRD,5.5 +CMT,1,1,464,2.4,CRD,9.0 +CMT,1,1,179,0.7,CSH,4.5 +CMT,1,1,780,1.3,CSH,9.5 +CMT,1,2,410,1.4,CSH,6.5 +CMT,1,2,1210,4.9,CSH,18.0 +CMT,1,2,252,0.7,CSH,5.0 +CMT,1,1,660,2.4,CSH,10.5 +CMT,1,1,823,2.3,CSH,11.5 +CMT,1,1,155,0.7,CSH,4.5 +CMT,1,2,1215,8.9,CRD,27.0 +CMT,1,1,971,4.6,CSH,17.0 +CMT,1,1,313,2.2,CSH,8.0 +CMT,1,1,494,2.2,CSH,9.0 +CMT,2,1,3247,31.2,CRD,52.0 +CMT,1,2,1146,4.6,CSH,17.5 +CMT,1,1,146,0.6,CSH,4.5 +CMT,1,2,1920,4.0,CRD,20.5 +CMT,1,1,1253,3.5,CRD,16.0 +CMT,1,1,625,1.8,CRD,9.0 +CMT,1,4,162,0.4,CSH,4.0 +CMT,1,1,474,2.8,CRD,10.0 +CMT,1,3,508,0.8,CSH,7.0 +CMT,1,2,678,0.9,CSH,8.0 +CMT,1,2,11,0.0,NOC,2.5 +CMT,1,4,403,1.0,CRD,6.5 +CMT,1,2,705,2.3,CSH,10.5 +CMT,1,2,1370,12.8,CRD,36.5 +CMT,1,1,1152,9.3,CSH,27.0 +CMT,1,2,738,1.6,CSH,9.5 +CMT,1,1,318,0.7,CRD,5.5 +CMT,1,1,351,1.0,CRD,6.0 +CMT,1,1,1792,4.2,CSH,21.0 +CMT,1,1,458,1.1,CRD,7.0 +CMT,1,1,583,1.7,CSH,8.5 +CMT,1,1,1244,7.4,CSH,24.5 +CMT,1,1,99,0.3,CRD,3.5 +CMT,1,1,395,0.5,CRD,5.5 +CMT,1,1,1215,2.8,CRD,14.5 +CMT,2,1,2058,18.4,CRD,52.0 +CMT,1,2,1507,3.1,CSH,17.5 +CMT,1,1,955,4.0,CSH,15.0 +CMT,1,2,1450,6.6,CRD,23.0 +CMT,1,2,127,0.3,CSH,3.5 +CMT,1,1,521,1.8,CRD,8.5 +CMT,1,1,776,1.1,CSH,9.5 +CMT,1,1,1349,2.9,CRD,15.5 +CMT,1,1,349,2.1,CSH,8.0 +CMT,1,2,751,2.6,CRD,10.5 +CMT,1,2,359,0.8,CSH,6.0 +CMT,1,1,1313,3.9,CSH,16.5 +CMT,1,1,215,0.9,CRD,5.0 +CMT,1,1,564,2.3,CSH,10.0 +CMT,1,1,478,1.0,CSH,7.0 +CMT,1,1,1858,13.5,CRD,38.0 +CMT,1,1,1140,2.4,CRD,13.5 +CMT,1,1,612,1.5,CSH,9.0 +CMT,1,1,899,2.9,CSH,13.5 +CMT,1,2,409,1.1,CSH,6.5 +CMT,1,2,544,1.6,CRD,8.0 +CMT,1,1,571,3.4,CRD,11.5 +CMT,1,1,1089,10.3,CRD,29.5 +CMT,1,2,1043,9.4,CRD,27.0 +CMT,1,1,474,1.7,CSH,8.5 +CMT,1,1,561,2.9,CSH,11.0 +CMT,1,1,523,2.7,CRD,10.0 +CMT,1,1,719,5.0,CSH,15.5 +CMT,1,1,917,1.7,CRD,11.0 +CMT,1,1,570,1.7,CRD,9.0 +CMT,1,1,528,2.3,CSH,9.0 +CMT,1,2,410,1.8,CRD,8.0 +CMT,1,1,650,1.3,CSH,8.5 +CMT,1,1,272,0.6,CSH,5.0 +CMT,1,2,650,1.8,CSH,9.0 +CMT,1,2,1574,4.9,CRD,20.5 +CMT,1,2,1383,5.0,CSH,19.0 +CMT,1,4,322,1.6,CRD,7.0 +CMT,1,2,620,1.9,CSH,9.5 +CMT,1,1,1201,4.9,CRD,19.0 +CMT,1,1,344,1.6,CSH,7.0 +CMT,1,1,909,3.9,CRD,15.0 +CMT,1,1,2236,10.4,CRD,35.5 +CMT,1,1,1019,5.1,CRD,17.5 +CMT,1,1,201,0.9,CRD,5.0 +CMT,1,1,504,1.9,CRD,8.5 +CMT,1,1,421,1.1,CSH,7.0 +CMT,1,1,272,0.9,CRD,5.5 +CMT,1,1,1134,3.0,CSH,14.5 +CMT,1,1,413,1.1,CSH,6.5 +CMT,1,1,770,2.6,CRD,11.5 +CMT,1,1,195,0.5,CRD,4.0 +CMT,1,1,589,2.4,CSH,10.0 +CMT,1,1,185,0.7,CRD,4.5 +CMT,1,1,270,0.8,CRD,5.0 +CMT,1,1,456,0.6,CSH,6.0 +CMT,1,1,124,0.3,CSH,3.5 +CMT,1,1,767,2.6,CSH,11.5 +CMT,1,1,989,6.7,CSH,21.0 +CMT,1,1,664,1.8,CSH,9.5 +CMT,1,2,606,1.5,CSH,8.5 +CMT,1,2,1887,13.3,CRD,39.5 +CMT,1,1,993,3.6,CSH,14.5 +CMT,1,1,272,1.3,CSH,6.5 +CMT,1,1,968,3.6,CRD,15.0 +CMT,1,1,172,0.9,CSH,5.0 +CMT,1,4,53,0.0,CSH,2.5 +CMT,1,1,1149,2.3,CRD,13.5 +CMT,1,2,213,0.4,CSH,4.5 +CMT,1,2,260,0.9,CSH,5.0 +CMT,1,2,568,1.3,CSH,8.0 +CMT,1,1,1291,4.0,CRD,17.0 +CMT,1,1,877,2.4,CRD,12.0 +CMT,1,1,734,2.9,CSH,11.5 +CMT,1,1,285,1.3,CSH,6.5 +CMT,1,1,198,0.8,CSH,4.5 +CMT,1,1,284,1.1,CRD,5.5 +CMT,1,1,91,0.3,CSH,3.5 +CMT,1,1,323,0.7,CRD,5.5 +CMT,1,1,1105,6.0,CRD,21.0 +CMT,1,4,725,1.7,CSH,10.0 +CMT,1,1,570,2.9,CRD,11.0 +CMT,1,1,128,0.9,CRD,4.5 +CMT,1,4,912,3.4,CSH,13.5 +CMT,1,1,1094,2.9,CRD,14.0 +CMT,1,1,211,0.7,CSH,5.0 +CMT,1,1,458,2.0,CRD,8.5 +CMT,1,1,421,2.7,CSH,9.0 +CMT,1,1,343,0.6,CSH,5.5 +CMT,1,1,143,0.6,CSH,4.5 +CMT,1,1,494,1.0,CSH,7.0 +CMT,1,1,312,0.8,CRD,5.5 +CMT,1,1,783,1.0,CSH,9.5 +CMT,1,1,536,3.5,CSH,12.5 +CMT,1,1,2096,4.8,CRD,24.5 +CMT,1,1,1082,4.5,CSH,17.5 +CMT,1,1,409,0.6,CRD,6.0 +CMT,1,1,772,1.9,CSH,10.5 +CMT,1,1,927,3.5,CRD,14.0 +CMT,1,1,193,0.7,CRD,5.0 +CMT,1,1,741,1.2,CRD,9.0 +CMT,1,1,569,1.7,CSH,8.5 +CMT,1,1,966,3.6,CSH,14.0 +CMT,1,1,633,2.1,CRD,10.0 +CMT,1,1,887,1.7,CSH,11.0 +CMT,1,1,70,0.0,CSH,3.0 +CMT,1,1,599,1.4,CRD,8.0 +CMT,1,1,245,1.9,CRD,7.0 +CMT,1,1,609,1.7,CSH,9.0 +CMT,1,1,521,2.6,CRD,10.0 +CMT,1,1,309,1.0,CRD,6.0 +CMT,1,1,557,1.1,CRD,7.5 +CMT,1,1,428,1.1,CSH,6.5 +CMT,1,1,291,1.1,CSH,6.0 +CMT,1,1,956,4.3,CRD,15.0 +CMT,1,1,232,1.4,CRD,6.0 +CMT,1,1,172,0.9,CSH,4.5 +CMT,1,1,1283,3.6,CRD,16.0 +CMT,1,2,664,1.6,CRD,9.0 +CMT,1,1,550,2.6,CRD,10.0 +CMT,1,1,524,2.1,CSH,9.0 +CMT,1,1,545,2.3,CSH,9.5 +CMT,1,1,559,1.8,CRD,9.0 +CMT,1,1,898,3.9,CRD,15.5 +CMT,1,1,1498,8.9,CSH,28.0 +CMT,1,1,825,7.2,CRD,21.5 +CMT,1,1,165,0.7,CSH,4.5 +CMT,1,1,144,1.1,CRD,5.0 +CMT,1,1,274,0.8,CSH,5.5 +CMT,1,1,1170,2.6,CRD,14.5 +CMT,1,1,625,2.0,CSH,9.5 +CMT,1,1,173,0.7,CRD,4.5 +CMT,1,1,438,0.7,CRD,6.0 +CMT,1,1,960,3.1,CSH,13.5 +CMT,1,1,462,2.0,CRD,8.5 +CMT,1,2,842,4.0,CSH,15.0 +CMT,1,2,1026,11.2,CRD,31.0 +CMT,1,2,689,1.8,CSH,9.5 +CMT,1,1,509,2.1,CSH,9.0 +CMT,1,2,510,2.0,CRD,8.5 +CMT,1,3,395,1.9,CSH,8.0 +CMT,1,4,101,0.5,CSH,4.0 +CMT,1,1,308,1.2,CSH,6.0 +CMT,1,1,979,3.9,CRD,15.5 +CMT,1,2,579,0.8,CRD,7.5 +CMT,1,1,79,0.4,CSH,3.5 +CMT,1,1,375,1.7,CRD,8.0 +CMT,1,1,417,0.8,CSH,6.0 +CMT,1,1,771,7.1,CSH,22.0 +CMT,1,1,402,1.0,CRD,6.5 +CMT,1,1,1255,4.0,CSH,17.5 +CMT,1,1,296,0.9,CRD,5.5 +CMT,1,1,1009,4.0,CRD,16.0 +CMT,1,1,548,2.8,CRD,10.5 +CMT,1,1,403,1.2,CRD,6.5 +CMT,1,1,370,1.5,CSH,7.5 +CMT,1,1,1371,4.5,CRD,18.0 +CMT,1,3,620,2.2,CRD,10.0 +CMT,1,1,375,1.7,CSH,8.0 +CMT,1,1,429,0.9,CSH,6.0 +CMT,1,1,149,0.5,CRD,4.0 +CMT,1,1,101,0.3,CRD,3.0 +CMT,1,2,452,1.2,CSH,7.5 +CMT,1,1,199,1.1,CSH,5.5 +CMT,1,1,346,1.5,CSH,6.5 +CMT,1,1,574,1.3,CSH,8.0 +CMT,1,1,143,1.2,CSH,5.0 +CMT,1,1,440,1.6,CRD,7.5 +CMT,1,1,838,3.1,CRD,12.5 +CMT,1,1,879,3.3,CRD,13.5 +CMT,1,1,198,0.7,CSH,4.5 +CMT,1,1,467,1.1,CSH,7.0 +CMT,1,1,956,2.0,CRD,12.0 +CMT,1,1,2486,7.6,CRD,32.5 +CMT,1,1,460,1.6,CSH,8.0 +CMT,1,1,790,1.9,CSH,10.5 +CMT,1,1,1743,10.3,CRD,34.0 +CMT,1,1,329,0.6,CSH,5.5 +CMT,1,1,195,0.8,CSH,4.5 +CMT,1,1,748,4.7,CSH,16.0 +CMT,1,1,694,2.5,CSH,11.0 +CMT,1,1,639,1.1,CSH,8.0 +CMT,1,1,432,0.8,CRD,6.5 +CMT,1,1,478,1.6,CSH,8.0 +CMT,1,1,248,0.7,CSH,5.0 +CMT,1,1,696,3.5,CSH,13.0 +CMT,1,1,180,0.5,CRD,4.0 +CMT,1,1,357,0.6,CRD,5.5 +CMT,1,1,247,0.5,CSH,4.5 +CMT,1,1,1618,3.8,CSH,19.0 +CMT,1,1,1768,10.9,CSH,34.5 +CMT,1,1,343,1.6,CSH,7.0 +CMT,1,1,1207,5.2,CRD,18.5 +CMT,1,1,952,2.8,CRD,13.0 +CMT,1,1,289,1.8,CRD,7.0 +CMT,1,1,370,1.8,CRD,8.0 +CMT,1,1,1054,2.3,CRD,12.5 +CMT,1,1,330,1.7,CRD,7.5 +CMT,1,1,1270,4.6,CRD,19.0 +CMT,1,1,454,1.7,CSH,7.5 +CMT,1,1,359,0.7,CSH,5.5 +CMT,1,1,570,2.8,CRD,11.0 +CMT,1,1,479,2.1,CSH,8.5 +CMT,1,2,369,1.2,CSH,6.5 +CMT,1,2,1087,3.2,CRD,14.5 +CMT,1,2,494,1.1,CSH,7.0 +CMT,1,4,689,3.7,CSH,13.5 +CMT,1,1,391,2.1,CRD,8.0 +CMT,1,1,979,4.4,CSH,16.5 +CMT,1,1,391,1.2,CRD,6.5 +CMT,1,1,238,0.9,CSH,5.0 +CMT,1,1,514,1.1,CSH,7.0 +CMT,1,1,127,0.9,CRD,4.5 +CMT,1,1,442,1.4,CRD,7.5 +CMT,1,1,413,1.9,CRD,8.0 +CMT,1,1,674,2.5,CSH,10.5 +CMT,2,1,2070,18.3,CRD,52.0 +CMT,1,1,771,2.0,CSH,11.0 +CMT,1,1,262,1.1,CRD,5.5 +CMT,1,1,300,1.4,CRD,6.5 +CMT,1,1,390,1.2,CRD,7.0 +CMT,1,1,823,2.3,CRD,11.0 +CMT,1,1,301,1.1,CRD,6.0 +CMT,1,1,245,0.5,CRD,4.5 +CMT,1,1,945,3.1,CRD,13.0 +CMT,1,1,296,1.0,CSH,5.5 +CMT,1,2,460,1.3,CSH,7.0 +CMT,1,2,819,1.5,CRD,10.5 +CMT,1,2,922,1.2,CRD,10.5 +CMT,1,2,731,1.9,CRD,9.5 +CMT,1,1,888,2.5,CRD,12.0 +CMT,1,2,791,3.2,CRD,13.0 +CMT,1,4,1426,10.9,CSH,32.5 +CMT,1,3,895,4.1,CRD,15.5 +CMT,1,1,331,1.2,CSH,6.5 +CMT,1,1,488,3.8,CRD,12.5 +CMT,1,1,557,3.3,CRD,11.5 +CMT,1,1,587,1.7,CSH,9.0 +CMT,1,1,521,2.0,CRD,9.0 +CMT,1,1,528,1.2,CRD,7.5 +CMT,1,1,691,2.7,CRD,11.0 +CMT,1,1,160,0.5,CRD,4.0 +CMT,1,1,541,1.1,CRD,7.5 +CMT,1,1,828,1.9,CSH,10.0 +CMT,1,1,728,2.0,CRD,10.0 +CMT,1,1,352,1.4,CRD,7.0 +CMT,1,1,104,0.4,CSH,3.5 +CMT,1,1,1292,7.4,CRD,23.5 +CMT,1,1,473,1.7,CRD,8.0 +CMT,1,1,46,0.2,CRD,3.0 +CMT,1,1,766,4.8,CSH,15.5 +CMT,1,1,362,1.2,CRD,6.5 +CMT,1,1,264,0.4,CRD,4.5 +CMT,1,1,434,0.7,CRD,6.0 +CMT,1,1,298,1.0,CRD,5.5 +CMT,1,1,283,0.8,CSH,5.5 +CMT,1,1,977,2.7,CRD,12.5 +CMT,1,1,765,1.9,CRD,10.0 +CMT,1,2,1019,2.2,CRD,12.0 +CMT,1,2,522,1.2,CSH,7.5 +CMT,1,1,71,0.3,CSH,3.0 +CMT,1,1,930,3.4,CRD,14.5 +CMT,1,1,141,0.6,CRD,4.0 +CMT,1,1,317,1.3,CRD,6.5 +CMT,1,1,285,0.9,CSH,5.5 +CMT,1,1,434,1.4,CSH,7.0 +CMT,1,1,286,0.7,CRD,5.0 +CMT,1,1,103,0.3,CSH,3.5 +CMT,1,1,384,1.3,CRD,7.0 +CMT,1,1,649,1.6,CRD,9.0 +CMT,1,1,778,1.2,CRD,9.5 +CMT,1,1,425,1.5,CSH,7.5 +CMT,1,1,299,0.8,CRD,5.5 +CMT,1,1,573,2.1,CRD,9.0 +CMT,1,1,662,2.9,CRD,11.5 +CMT,1,1,608,1.3,CRD,8.5 +CMT,1,1,756,2.7,CRD,11.5 +CMT,1,1,394,1.0,CRD,6.5 +CMT,1,1,519,1.4,CSH,8.0 +CMT,1,1,335,0.8,CRD,5.5 +CMT,1,1,1575,5.6,CRD,22.5 +CMT,1,1,381,1.6,CSH,7.0 +CMT,1,1,246,0.8,CSH,5.0 +CMT,1,1,702,2.2,CSH,10.0 +CMT,1,1,569,1.2,CRD,8.0 +CMT,1,1,380,1.8,CRD,7.5 +CMT,1,2,780,2.8,CSH,12.0 +CMT,1,1,2940,16.2,CRD,49.5 +CMT,1,1,652,5.3,CSH,16.0 +CMT,1,1,534,1.8,CSH,8.5 +CMT,1,1,166,0.8,CSH,5.0 +CMT,1,1,445,4.0,CSH,12.5 +CMT,1,1,621,1.2,CSH,8.0 +CMT,1,1,1429,4.0,CSH,18.0 +CMT,1,2,690,1.9,CRD,9.5 +CMT,1,2,447,1.1,CRD,7.0 +CMT,1,1,496,2.2,CRD,9.0 +CMT,1,1,127,0.6,CSH,4.0 +CMT,1,2,637,6.7,CRD,20.0 +CMT,1,1,1141,3.2,CRD,14.5 +CMT,1,1,540,2.4,CRD,9.5 +CMT,1,1,889,6.5,CSH,19.5 +CMT,1,2,227,0.9,CSH,5.0 +CMT,1,1,641,2.8,CRD,11.0 +CMT,1,1,230,0.8,CSH,5.0 +CMT,1,2,1070,3.0,CSH,14.0 +CMT,1,1,247,0.6,CSH,4.5 +CMT,1,1,1413,5.2,CRD,20.0 +CMT,1,1,657,0.8,CRD,8.0 +CMT,1,1,248,0.6,CSH,5.0 +CMT,1,1,280,1.1,CRD,6.0 +CMT,1,3,933,5.3,CRD,17.5 +CMT,1,1,1219,4.5,CRD,18.0 +CMT,1,1,377,1.1,CRD,6.5 +CMT,1,1,552,1.0,CRD,7.5 +CMT,1,1,471,1.0,CSH,7.0 +CMT,1,1,261,0.7,CRD,5.0 +CMT,1,1,840,3.6,CRD,14.0 +CMT,1,1,955,3.0,CRD,13.0 +CMT,1,1,740,2.2,CRD,10.5 +CMT,1,1,137,0.7,CRD,4.0 +CMT,1,1,353,1.0,CSH,6.5 +CMT,1,1,527,1.3,CRD,7.5 +CMT,1,1,1261,4.3,CRD,17.5 +CMT,1,1,714,3.0,CRD,11.5 +CMT,1,1,578,2.2,CRD,9.0 +CMT,1,1,1435,4.0,CSH,18.0 +CMT,1,3,178,1.3,CSH,5.5 +CMT,1,1,512,1.9,CSH,8.5 +CMT,1,1,605,0.8,CSH,7.5 +CMT,1,1,376,1.2,CRD,6.5 +CMT,1,1,1806,3.9,CRD,20.5 +CMT,1,1,632,1.0,CSH,8.0 +CMT,1,1,554,1.9,CSH,9.5 +CMT,1,1,113,0.7,CRD,4.0 +CMT,1,2,517,2.0,CRD,9.0 +CMT,1,2,354,1.1,CRD,6.0 +CMT,1,2,581,1.4,CRD,8.5 +CMT,1,1,622,0.7,CSH,7.5 +CMT,1,1,564,1.9,CSH,9.0 +CMT,1,1,792,1.2,CSH,10.0 +CMT,1,1,611,2.1,CSH,9.5 +CMT,1,1,1104,2.4,CRD,13.5 +CMT,1,1,992,2.3,CRD,12.5 +CMT,1,1,594,2.1,CRD,9.0 +CMT,1,1,213,0.8,CRD,4.5 +CMT,1,1,359,0.7,CRD,6.0 +CMT,1,2,1111,11.4,CSH,31.5 +CMT,1,1,472,2.6,CRD,9.5 +CMT,1,3,416,0.8,CRD,6.0 +CMT,1,2,142,0.5,CRD,4.0 +CMT,1,1,1384,5.0,CSH,19.0 +CMT,1,4,780,2.2,CRD,10.5 +CMT,1,1,326,2.3,CRD,8.0 +CMT,1,1,894,4.8,CRD,16.5 +CMT,1,1,379,1.1,CRD,6.5 +CMT,1,5,643,5.0,CRD,16.0 +CMT,1,1,257,1.0,CRD,5.5 +CMT,1,1,1209,10.1,CSH,29.5 +CMT,1,1,638,4.5,CSH,14.5 +CMT,1,1,436,2.6,CRD,9.0 +CMT,1,1,689,1.7,CRD,9.5 +CMT,1,1,327,1.1,CSH,6.0 +CMT,1,1,648,1.7,CSH,9.0 +CMT,1,1,337,2.1,CSH,8.0 +CMT,1,1,424,2.0,CRD,8.5 +CMT,1,1,393,1.2,CSH,6.5 +CMT,1,1,579,2.4,CSH,10.0 +CMT,1,1,309,0.8,CRD,5.5 +CMT,1,1,1015,2.2,CRD,12.5 +CMT,1,1,273,1.1,CSH,6.0 +CMT,1,1,1271,2.0,CRD,14.0 +CMT,1,1,555,1.4,CSH,8.0 +CMT,1,2,753,1.8,CRD,10.0 +CMT,1,2,1277,2.8,CSH,12.0 +CMT,1,2,939,1.5,CRD,11.0 +CMT,1,2,389,2.5,CSH,9.5 +CMT,1,1,664,2.3,CRD,10.0 +CMT,1,1,627,1.5,CSH,8.5 +CMT,1,4,217,0.1,CSH,4.0 +CMT,1,2,2622,10.2,CRD,36.5 +CMT,1,1,539,2.1,CRD,9.0 +CMT,1,1,1374,3.8,CSH,18.5 +CMT,1,1,516,1.6,CSH,8.0 +CMT,1,2,719,1.7,CSH,9.5 +CMT,1,1,397,1.2,CRD,6.5 +CMT,1,1,731,4.3,CRD,15.0 +CMT,1,1,594,2.0,CRD,10.0 +CMT,1,2,990,1.5,CSH,11.5 +CMT,1,1,852,3.3,CSH,13.5 +CMT,1,1,415,1.5,CSH,7.0 +CMT,1,1,1136,5.8,CRD,19.5 +CMT,1,1,298,1.2,CRD,6.0 +CMT,1,1,274,0.9,CRD,5.5 +CMT,1,1,553,1.0,CRD,7.5 +CMT,1,1,198,0.5,CSH,4.5 +CMT,1,1,1436,6.3,CSH,23.0 +CMT,1,1,1055,6.8,CSH,22.0 +CMT,1,1,683,1.5,CRD,9.0 +CMT,1,1,547,1.4,CRD,8.0 +CMT,1,1,1610,6.4,CRD,23.5 +CMT,1,2,257,0.8,CSH,5.0 +CMT,1,2,316,0.9,CSH,6.0 +CMT,1,2,957,1.8,CRD,11.0 +CMT,1,1,342,1.1,CRD,6.0 +CMT,1,4,1030,3.5,CRD,15.0 +CMT,1,4,443,0.8,CSH,6.5 +CMT,1,1,530,2.2,CRD,9.0 +CMT,1,4,625,1.4,CRD,8.0 +CMT,1,1,297,1.0,CSH,5.5 +CMT,1,1,601,1.1,CRD,8.0 +CMT,1,1,313,0.5,CRD,5.0 +CMT,2,1,1511,18.3,CRD,52.0 +CMT,1,1,1168,2.6,CRD,14.0 +CMT,1,2,291,0.9,CSH,5.5 +CMT,1,3,596,1.6,CSH,8.5 +CMT,1,2,498,2.4,CRD,9.5 +CMT,1,1,274,0.8,CRD,5.0 +CMT,1,2,536,3.8,CRD,13.0 +CMT,1,2,335,0.7,CSH,5.5 +CMT,1,1,314,0.7,CRD,5.5 +CMT,1,1,342,1.8,CRD,7.5 +CMT,1,2,341,1.6,CSH,7.0 +CMT,1,2,673,2.9,CSH,11.5 +CMT,1,1,1128,5.6,CSH,19.5 +CMT,1,1,675,3.1,CRD,11.5 +CMT,1,1,209,0.9,CRD,5.5 +CMT,1,1,960,7.7,CRD,23.5 +CMT,1,1,870,4.2,CRD,16.0 +CMT,1,1,659,3.2,CRD,11.5 +CMT,1,1,407,2.1,CSH,8.5 +CMT,1,1,298,0.9,CSH,5.5 +CMT,1,1,695,2.8,CRD,11.0 +CMT,1,1,344,1.4,CSH,6.5 +CMT,1,1,499,1.1,CSH,7.5 +CMT,1,1,144,1.1,CSH,5.0 +CMT,1,1,82,0.3,CSH,3.0 +CMT,1,1,1837,5.9,CRD,25.5 +CMT,1,1,1312,2.6,CRD,15.0 +CMT,1,1,221,1.2,CSH,5.5 +CMT,1,1,251,0.6,CRD,5.0 +CMT,1,1,327,1.7,CRD,7.0 +CMT,1,2,828,1.5,CRD,10.0 +CMT,1,2,305,0.9,CRD,5.5 +CMT,1,2,307,0.5,CSH,5.0 +CMT,1,2,384,0.8,CRD,6.0 +CMT,1,1,1181,3.4,CRD,16.0 +CMT,1,1,410,1.6,CSH,7.5 +CMT,1,1,371,1.8,CRD,7.5 +CMT,1,1,737,1.9,CRD,10.0 +CMT,1,1,1067,3.8,CSH,15.0 +CMT,1,1,385,1.1,CSH,6.5 +CMT,1,1,423,1.4,CSH,7.0 +CMT,1,1,440,1.2,CRD,7.0 +CMT,1,1,699,1.3,CRD,9.0 +CMT,1,1,190,0.8,CSH,5.0 +CMT,1,4,313,1.2,CRD,6.5 +CMT,1,2,534,1.5,CRD,8.5 +CMT,1,1,468,1.5,CRD,7.5 +CMT,1,2,1164,8.2,CRD,25.5 +CMT,1,1,522,1.1,CSH,7.5 +CMT,1,1,1002,2.4,CRD,13.0 +CMT,1,1,1369,5.0,CRD,20.0 +CMT,1,1,819,1.7,CRD,10.5 +CMT,1,1,254,0.7,CSH,5.0 +CMT,1,1,570,2.3,CRD,10.0 +CMT,1,1,264,0.4,CRD,4.5 +CMT,1,1,170,0.6,CSH,4.5 +CMT,1,1,252,0.5,CRD,4.5 +CMT,1,1,815,2.1,CSH,11.0 +CMT,1,1,1371,3.3,CSH,16.5 +CMT,1,1,542,1.8,CSH,8.5 +CMT,1,1,899,4.4,CRD,15.5 +CMT,1,1,333,1.7,CRD,7.0 +CMT,1,1,668,2.2,CRD,10.0 +CMT,1,1,491,1.2,CSH,7.0 +CMT,1,1,1149,10.6,CRD,30.5 +CMT,1,1,953,5.2,CSH,17.0 +CMT,1,1,653,2.9,CRD,11.0 +CMT,1,2,746,2.2,CRD,11.0 +CMT,1,4,221,0.9,CSH,5.0 +CMT,1,1,192,0.5,CSH,4.0 +CMT,2,1,1942,17.0,CRD,52.0 +CMT,1,1,135,0.5,CSH,4.0 +CMT,1,1,381,0.8,CSH,6.0 +CMT,1,1,700,1.3,CRD,8.5 +CMT,1,1,353,0.9,CSH,6.0 +CMT,1,1,1127,11.0,CSH,30.5 +CMT,1,2,267,0.7,CSH,5.0 +CMT,1,2,340,0.6,CSH,5.5 +CMT,1,2,551,2.0,CSH,9.0 +CMT,1,2,932,2.0,CRD,11.5 +CMT,1,1,530,1.4,CSH,8.0 +CMT,1,2,473,0.9,CRD,7.0 +CMT,1,1,137,1.0,CSH,4.5 +CMT,1,1,820,4.0,CSH,14.0 +CMT,1,1,332,1.0,CSH,6.0 +CMT,1,1,416,1.1,CSH,7.0 +CMT,1,1,422,1.6,CRD,7.5 +CMT,1,1,788,2.2,CRD,11.0 +CMT,1,1,731,3.4,CRD,13.0 +CMT,1,1,355,1.9,CSH,7.5 +CMT,1,1,427,0.8,CSH,6.0 +CMT,1,1,719,2.2,CRD,10.0 +CMT,1,1,149,0.9,CSH,4.5 +CMT,1,1,2224,3.5,CRD,24.5 +CMT,1,1,544,1.4,CSH,8.0 +CMT,1,1,386,1.4,CRD,7.0 +CMT,1,1,957,1.8,CRD,11.5 +CMT,1,1,760,2.1,CRD,10.0 +CMT,1,1,885,1.6,CSH,10.5 +CMT,1,1,316,0.8,CRD,5.5 +CMT,1,1,163,1.0,CRD,5.0 +CMT,1,2,586,1.8,CRD,8.5 +CMT,1,1,701,2.9,CRD,11.5 +CMT,1,1,551,2.0,CRD,9.0 +CMT,1,1,367,0.6,CRD,5.5 +CMT,1,1,534,1.5,CRD,8.0 +CMT,1,1,326,1.3,CSH,6.5 +CMT,1,1,1558,3.1,CSH,17.5 +CMT,1,4,340,0.9,CSH,6.0 +CMT,1,1,342,0.9,CSH,6.0 +CMT,1,1,838,2.9,CRD,12.5 +CMT,1,1,980,4.8,CRD,17.5 +CMT,1,1,234,0.9,CRD,5.0 +CMT,1,1,654,2.7,CRD,10.5 +CMT,1,1,1149,4.3,CSH,16.0 +CMT,1,1,443,1.3,CRD,7.0 +CMT,1,1,321,0.6,CRD,5.5 +CMT,1,1,268,0.9,CRD,5.5 +CMT,1,1,1634,11.5,CSH,34.5 +CMT,1,1,283,1.0,CRD,6.0 +CMT,1,1,1156,4.0,CSH,16.5 +CMT,1,1,908,3.1,CRD,13.0 +CMT,1,1,1812,1.2,CRD,8.0 +CMT,1,1,284,1.0,CSH,5.5 +CMT,1,1,411,1.6,CSH,7.0 +CMT,1,2,165,0.7,CSH,4.5 +CMT,1,1,238,0.7,CRD,5.0 +CMT,1,1,849,3.2,CRD,13.5 +CMT,1,1,452,1.6,CRD,7.5 +CMT,1,1,519,1.4,CSH,8.0 +CMT,1,1,169,0.3,CSH,4.0 +CMT,1,1,843,1.3,CSH,10.0 +CMT,1,1,317,1.0,CSH,6.0 +CMT,1,1,1015,2.3,CSH,12.0 +CMT,1,1,265,1.1,CRD,6.0 +CMT,1,1,522,2.4,CRD,9.5 +CMT,1,1,1056,5.8,NOC,19.5 +CMT,1,1,1098,6.9,CSH,22.0 +CMT,1,1,258,1.1,CRD,6.0 +CMT,3,1,1512,15.0,CRD,59.0 +CMT,1,1,112,0.4,CSH,3.5 +CMT,1,1,1198,4.4,CRD,18.0 +CMT,1,1,456,1.7,CRD,8.0 +CMT,1,1,581,3.9,CRD,13.0 +CMT,1,1,1205,2.4,CSH,15.0 +CMT,1,1,657,1.9,CRD,10.0 +CMT,1,1,335,0.5,CRD,5.5 +CMT,1,1,673,1.4,CRD,9.0 +CMT,1,1,441,0.9,CSH,6.5 +CMT,1,1,666,2.1,CRD,9.5 +CMT,1,1,898,3.5,CRD,14.5 +CMT,1,1,521,1.9,CRD,8.5 +CMT,1,1,205,0.4,CRD,4.0 +CMT,1,1,1756,4.7,CSH,20.5 +CMT,1,1,184,0.6,CSH,4.5 +CMT,1,1,600,1.4,CSH,8.5 +CMT,1,1,385,1.5,CSH,7.0 +CMT,1,1,291,1.1,CRD,5.5 +CMT,1,1,207,0.9,CSH,5.5 +CMT,1,2,217,0.4,CSH,4.5 +CMT,1,1,418,1.5,CRD,7.0 +CMT,1,1,174,0.5,CSH,4.5 +CMT,1,3,733,2.1,CRD,10.5 +CMT,1,1,443,1.0,CSH,7.0 +CMT,1,1,373,1.3,CSH,6.5 +CMT,1,2,536,1.7,CSH,9.0 +CMT,1,1,892,1.9,CSH,11.5 +CMT,1,1,956,3.2,CSH,14.0 +CMT,1,1,219,0.5,CRD,4.5 +CMT,1,1,555,1.2,CSH,8.0 +CMT,1,1,351,1.1,CSH,6.5 +CMT,1,1,532,1.6,CRD,8.0 +CMT,1,1,496,2.6,CRD,9.5 +CMT,1,1,240,0.6,CSH,4.5 +CMT,1,1,654,0.9,CRD,8.0 +CMT,1,1,349,0.8,CSH,6.0 +CMT,1,1,277,1.0,CRD,5.5 +CMT,1,1,156,1.1,CRD,5.0 +CMT,1,1,836,1.5,CSH,10.0 +CMT,1,1,324,0.5,CSH,5.0 +CMT,1,1,745,4.9,CRD,16.0 +CMT,1,1,853,2.4,CRD,11.5 +CMT,1,1,1100,3.1,CRD,15.0 +CMT,1,1,720,2.6,CSH,11.5 +CMT,1,1,982,2.9,CRD,13.0 +CMT,1,1,550,2.0,CRD,9.0 +CMT,1,2,281,0.9,CSH,5.5 +CMT,1,1,702,3.0,CRD,12.0 +CMT,1,1,1160,7.9,CSH,25.0 +CMT,1,1,954,7.6,CSH,23.5 +CMT,1,1,338,0.7,CSH,6.0 +CMT,1,1,227,0.8,CRD,5.0 +CMT,2,2,1610,18.6,CRD,52.0 +CMT,1,1,367,0.9,CRD,6.0 +CMT,1,2,1069,5.5,CSH,20.5 +CMT,1,1,151,0.3,CRD,4.0 +CMT,1,1,566,1.4,CSH,6.5 +CMT,1,1,319,0.6,CSH,5.5 +CMT,1,1,995,2.4,CRD,13.0 +CMT,1,1,149,0.9,CSH,4.5 +CMT,1,1,1177,2.9,CRD,15.0 +CMT,1,1,1606,3.4,CSH,18.5 +CMT,1,1,453,0.5,CSH,6.0 +CMT,1,1,1206,3.0,CRD,15.0 +CMT,1,1,223,0.5,CRD,4.5 +CMT,1,1,193,0.5,CSH,4.0 +CMT,1,1,357,1.4,CSH,6.5 +CMT,1,1,588,1.2,CRD,8.0 +CMT,1,1,1289,9.1,CSH,28.5 +CMT,1,1,795,1.0,CRD,9.5 +CMT,1,1,1233,4.0,CRD,16.5 +CMT,1,1,1300,4.4,CRD,18.0 +CMT,1,1,956,4.9,CRD,17.5 +CMT,1,1,632,0.9,CSH,8.0 +CMT,1,1,752,1.1,CSH,9.0 +CMT,1,1,345,0.7,CRD,5.5 +CMT,1,1,678,2.0,CRD,10.0 +CMT,1,1,779,5.5,CSH,18.0 +CMT,1,2,614,2.6,CRD,10.5 +CMT,1,1,605,2.3,CRD,9.5 +CMT,1,1,1147,5.1,CSH,18.5 +CMT,1,1,1283,3.3,CSH,16.0 +CMT,1,1,815,1.4,CRD,10.0 +CMT,1,1,271,0.9,CSH,5.5 +CMT,1,1,527,1.1,CSH,7.5 +CMT,1,1,1164,5.0,CRD,19.0 +CMT,1,1,811,3.7,CRD,14.5 +CMT,1,1,569,2.2,CRD,9.5 +CMT,1,1,262,0.9,CSH,5.5 +CMT,1,1,715,2.5,CSH,11.5 +CMT,1,1,279,1.0,CSH,5.5 +CMT,1,3,283,0.4,CSH,4.0 +CMT,1,1,416,0.9,CRD,6.0 +CMT,1,1,712,1.6,CRD,9.5 +CMT,1,2,298,0.9,CRD,5.5 +CMT,1,1,614,2.6,CRD,10.0 +CMT,1,1,668,1.9,CRD,9.5 +CMT,1,1,366,0.7,CRD,5.5 +CMT,1,1,1649,3.3,CSH,18.5 +CMT,1,1,199,0.5,CRD,4.5 +CMT,1,1,717,1.2,CRD,9.0 +CMT,1,1,1008,2.4,CSH,13.0 +CMT,1,1,164,0.5,CSH,4.0 +CMT,1,1,282,0.9,CSH,5.5 +CMT,1,1,611,2.3,CRD,10.0 +CMT,2,1,1930,17.7,CRD,52.0 +CMT,1,1,1683,4.2,CRD,20.0 +CMT,1,1,519,2.6,CRD,10.0 +CMT,1,1,1453,2.7,CRD,16.0 +CMT,1,1,973,4.4,CRD,16.0 +CMT,1,2,1170,1.8,CSH,13.5 +CMT,1,1,916,2.0,CRD,12.0 +CMT,1,1,322,0.8,CSH,5.5 +CMT,1,3,853,2.2,CRD,12.0 +CMT,1,1,174,0.6,CSH,4.5 +CMT,1,1,309,0.8,CSH,5.5 +CMT,1,1,625,1.6,CSH,9.0 +CMT,1,1,252,0.5,CSH,5.0 +CMT,1,1,399,1.4,CRD,6.5 +CMT,1,1,254,0.6,CRD,4.5 +CMT,1,1,1080,8.8,CRD,26.0 +CMT,1,2,1755,12.1,CSH,36.5 +CMT,1,1,703,1.1,CRD,9.0 +CMT,1,1,499,2.2,CSH,9.5 +CMT,1,1,853,2.8,CRD,12.0 +CMT,1,1,564,1.7,CSH,8.5 +CMT,1,1,724,2.9,CSH,12.0 +CMT,1,1,2360,5.7,CRD,29.0 +CMT,1,1,458,1.0,CSH,6.5 +CMT,1,1,484,2.0,CSH,8.5 +CMT,1,1,1161,3.0,CRD,14.0 +CMT,1,1,338,0.5,CSH,5.5 +CMT,1,4,444,1.3,CSH,7.0 +CMT,1,1,517,1.4,CRD,8.0 +CMT,1,3,334,1.1,CSH,6.0 +CMT,1,1,863,6.8,CSH,20.5 +CMT,1,1,854,1.4,CSH,8.0 +CMT,1,1,209,0.6,CSH,4.5 +CMT,1,1,1208,0.9,CSH,13.5 +CMT,1,1,826,1.8,CRD,10.5 +CMT,1,1,1101,3.6,CRD,15.0 +CMT,1,1,531,1.4,CSH,8.0 +CMT,1,1,755,2.2,CSH,11.0 +CMT,1,1,808,5.3,CSH,16.0 +CMT,1,1,310,0.7,CSH,5.5 +CMT,1,1,528,2.0,CRD,9.0 +CMT,1,1,877,2.9,CRD,13.0 +CMT,1,1,230,0.4,CSH,4.5 +CMT,1,1,1448,10.5,CSH,31.5 +CMT,1,1,403,1.9,CSH,8.0 +CMT,1,1,192,0.8,CRD,4.5 +CMT,1,1,724,1.9,CRD,10.0 +CMT,1,1,1324,1.6,CSH,14.5 +CMT,1,2,551,1.5,CSH,8.5 +CMT,1,2,395,2.1,CRD,8.0 +CMT,1,2,572,1.5,CRD,8.0 +CMT,1,2,1396,4.5,CRD,18.0 +CMT,1,2,439,0.6,CRD,6.0 +CMT,1,1,914,2.5,CRD,12.5 +CMT,1,1,803,2.2,CSH,11.5 +CMT,1,3,478,1.3,CSH,7.5 +CMT,1,3,386,1.6,CRD,7.0 +CMT,1,4,478,1.4,CRD,7.5 +CMT,1,1,307,0.5,CRD,5.0 +CMT,1,1,1345,15.2,CRD,40.5 +CMT,1,1,487,0.9,CRD,7.0 +CMT,3,1,1485,17.2,CRD,63.0 +CMT,1,1,431,0.9,CSH,6.5 +CMT,1,1,358,0.8,CSH,5.5 +CMT,1,1,1009,2.3,CRD,12.5 +CMT,1,1,398,1.0,CRD,6.5 +CMT,1,1,928,2.3,CRD,12.0 +CMT,1,2,655,1.1,CRD,8.0 +CMT,1,1,342,0.8,CSH,5.5 +CMT,1,1,1122,3.1,CSH,13.5 +CMT,1,4,348,0.7,CRD,5.5 +CMT,1,1,803,4.9,CRD,16.5 +CMT,1,1,595,3.0,CRD,11.0 +CMT,1,1,524,0.9,CRD,7.5 +CMT,1,2,473,0.7,CRD,6.5 +CMT,1,1,121,0.4,CRD,3.5 +CMT,1,1,494,1.3,CSH,7.5 +CMT,1,1,487,1.2,CRD,7.5 +CMT,1,1,401,1.4,CRD,7.5 +CMT,1,1,411,1.0,CSH,6.0 +CMT,1,1,912,1.7,CSH,10.5 +CMT,1,1,298,0.7,CSH,5.5 +CMT,1,2,930,6.8,CRD,20.0 +CMT,1,1,1846,11.5,CSH,37.0 +CMT,1,1,797,3.3,CRD,13.0 +CMT,1,1,526,1.5,CSH,8.5 +CMT,1,1,651,3.5,CRD,13.0 +CMT,1,1,795,2.8,CRD,12.5 +CMT,1,1,471,1.6,CRD,8.0 +CMT,1,1,677,1.2,CRD,8.5 +CMT,1,1,1639,10.5,CRD,31.0 +CMT,1,1,289,1.4,CRD,6.5 +CMT,1,1,670,1.4,CSH,9.0 +CMT,1,1,363,0.8,CSH,6.0 +CMT,1,1,237,0.2,CSH,4.5 +CMT,1,1,1104,2.7,CRD,14.0 +CMT,1,1,496,1.7,CSH,8.0 +CMT,1,2,656,1.4,CSH,9.5 +CMT,1,1,250,0.6,CRD,5.0 +CMT,1,1,814,1.2,CRD,9.5 +CMT,1,1,532,1.4,CSH,8.5 +CMT,1,1,1503,8.4,CSH,28.0 +CMT,1,1,699,1.3,CRD,9.5 +CMT,1,1,494,1.6,CRD,7.5 +CMT,1,1,463,1.0,CSH,7.0 +CMT,1,1,433,1.3,CRD,7.0 +CMT,1,1,461,0.6,CRD,6.5 +CMT,1,1,217,0.5,CSH,4.5 +CMT,1,1,752,1.8,CSH,10.0 +CMT,1,1,479,0.7,CRD,6.5 +CMT,1,1,29,0.2,CSH,2.5 +CMT,1,1,488,1.8,CRD,8.5 +CMT,1,1,225,0.9,CRD,5.0 +CMT,1,2,685,2.4,CRD,10.0 +CMT,1,1,512,1.1,CSH,7.5 +CMT,1,2,302,1.1,CRD,6.0 +CMT,1,3,602,1.9,CSH,9.0 +CMT,1,1,1110,2.0,CRD,13.0 +CMT,1,1,384,1.3,CSH,7.0 +CMT,1,2,904,0.7,CSH,10.0 +CMT,1,1,218,0.6,CRD,4.5 +CMT,1,1,534,1.6,CRD,8.0 +CMT,1,1,388,1.2,CRD,7.0 +CMT,1,1,1360,3.9,CRD,16.5 +CMT,1,1,246,0.9,CSH,5.0 +CMT,1,1,514,2.0,CSH,8.5 +CMT,1,1,249,1.0,CSH,5.5 +CMT,1,1,1286,7.8,CRD,25.0 +CMT,1,1,391,1.2,CSH,7.0 +CMT,1,1,322,1.1,CRD,6.0 +CMT,1,1,220,0.8,CRD,5.0 +CMT,1,1,341,0.5,CSH,5.5 +CMT,1,1,285,0.6,CSH,5.0 +CMT,1,1,400,2.0,CSH,8.0 +CMT,1,1,385,1.1,CSH,6.5 +CMT,1,1,581,1.5,CRD,8.5 +CMT,1,1,1535,2.9,CRD,17.5 +CMT,1,1,315,2.1,CRD,8.0 +CMT,1,1,763,2.5,CRD,11.5 +CMT,1,1,1686,5.8,CRD,23.5 +CMT,1,1,324,1.1,CRD,6.0 +CMT,1,1,591,1.9,CRD,9.0 +CMT,1,1,419,2.4,CRD,9.0 +CMT,1,1,2786,8.3,CSH,36.0 +CMT,1,1,571,0.7,CRD,7.0 +CMT,1,1,674,1.6,CRD,9.5 +CMT,1,1,337,0.9,CSH,6.0 +CMT,1,1,472,1.3,CSH,7.0 +CMT,1,2,299,1.3,CRD,6.5 +CMT,1,1,502,1.3,CRD,8.0 +CMT,1,1,925,2.7,CSH,13.0 +CMT,1,4,893,6.2,CSH,19.0 +CMT,1,1,1053,3.1,CRD,14.0 +CMT,1,1,880,2.3,CRD,11.5 +CMT,1,2,480,1.4,CSH,8.0 +CMT,1,2,322,1.6,CRD,7.0 +CMT,1,1,1505,7.6,CSH,25.5 +CMT,1,1,737,1.8,CRD,10.0 +CMT,1,1,391,1.7,CRD,7.5 +CMT,1,4,983,2.2,CSH,12.0 +CMT,1,3,243,0.5,CSH,5.0 +CMT,1,1,944,3.0,CSH,13.5 +CMT,1,1,348,1.2,CSH,6.0 +CMT,1,1,698,1.5,CSH,9.5 +CMT,1,1,646,0.9,CSH,8.0 +CMT,1,1,272,0.7,CRD,5.0 +CMT,1,1,558,1.6,CRD,9.0 +CMT,1,1,605,1.4,CRD,8.5 +CMT,1,1,301,0.6,CSH,5.0 +CMT,1,1,386,1.0,CRD,6.5 +CMT,1,1,516,1.3,CRD,7.5 +CMT,1,1,614,3.0,CSH,11.0 +CMT,1,2,1342,2.5,CSH,15.5 +CMT,1,1,293,1.4,CSH,6.5 +CMT,1,1,280,1.0,CRD,6.0 +CMT,1,1,633,1.5,CRD,8.5 +CMT,1,1,143,0.4,CRD,4.0 +CMT,1,1,359,1.0,CSH,6.0 +CMT,1,1,545,1.3,CRD,8.0 +CMT,1,1,1455,4.9,CSH,19.5 +CMT,1,1,650,1.6,CSH,9.0 +CMT,1,1,595,1.9,CSH,9.0 +CMT,1,1,1405,10.9,CRD,32.0 +CMT,1,1,1110,4.6,CRD,16.5 +CMT,1,1,144,0.8,CRD,4.5 +CMT,1,1,198,0.5,CRD,4.5 +CMT,1,1,410,0.9,CSH,6.5 +CMT,1,2,87,0.3,CSH,3.0 +CMT,1,1,237,1.0,CSH,5.5 +CMT,1,1,758,3.8,CRD,13.5 +CMT,1,2,856,0.8,CRD,10.0 +CMT,1,1,401,0.7,CRD,6.0 +CMT,1,1,1218,3.5,CRD,16.5 +CMT,1,1,578,2.9,CRD,10.5 +CMT,1,1,962,2.7,CSH,13.0 +CMT,1,1,1080,4.0,CSH,16.5 +CMT,1,1,529,0.7,CSH,7.0 +CMT,1,1,548,1.8,CSH,9.0 +CMT,1,1,394,0.9,CSH,6.0 +CMT,1,1,732,1.6,CRD,10.0 +CMT,2,1,1339,4.4,CRD,52.0 +CMT,1,1,956,6.8,CRD,21.5 +CMT,1,1,479,2.8,CRD,10.5 +CMT,1,1,412,1.5,CSH,7.5 +CMT,1,1,531,1.1,CRD,7.5 +CMT,1,1,596,2.1,CSH,9.5 +CMT,1,1,196,0.4,CSH,4.0 +CMT,1,1,172,0.4,CSH,4.0 +CMT,1,1,628,1.7,CSH,9.0 +CMT,1,3,368,1.3,CSH,7.0 +CMT,1,1,241,1.6,CRD,7.0 +CMT,1,1,1277,4.6,CRD,18.5 +CMT,1,1,278,0.8,CRD,5.5 +CMT,1,1,801,2.0,CRD,11.0 +CMT,1,1,182,0.6,CRD,4.0 +CMT,1,1,441,1.8,CRD,8.0 +CMT,1,1,478,0.7,CRD,6.5 +CMT,1,1,862,2.8,CRD,12.5 +CMT,1,1,4309,3.0,CRD,15.0 +CMT,1,1,300,1.4,CRD,6.5 +CMT,1,1,242,1.7,CSH,6.5 +CMT,1,1,315,1.5,CSH,6.5 +CMT,1,1,651,2.4,CSH,10.5 +CMT,1,1,337,1.1,CRD,6.5 +CMT,1,3,166,0.6,CSH,4.5 +CMT,1,1,905,1.5,CRD,11.0 +CMT,1,1,939,2.6,CSH,12.5 +CMT,1,1,717,1.8,CRD,9.5 +CMT,1,1,154,0.6,CRD,4.5 +CMT,1,1,905,2.5,CRD,12.5 +CMT,1,1,1007,2.9,CSH,14.0 +CMT,1,1,396,0.8,CRD,6.0 +CMT,1,1,439,2.2,CRD,9.0 +CMT,1,2,478,1.7,CSH,8.0 +CMT,1,1,537,1.4,CRD,8.0 +CMT,1,1,1221,5.7,CRD,19.0 +CMT,1,1,701,1.6,CSH,9.5 +CMT,1,1,1334,5.4,CRD,19.5 +CMT,1,1,951,7.3,CSH,22.5 +CMT,1,1,885,1.7,CRD,11.0 +CMT,1,1,731,1.2,CRD,9.0 +CMT,1,1,1343,3.4,CRD,16.5 +CMT,1,1,286,0.5,CSH,5.0 +CMT,1,1,687,1.5,CRD,9.5 +CMT,1,1,1584,2.7,CRD,17.5 +CMT,1,1,488,0.9,CRD,6.5 +CMT,1,1,715,2.5,CRD,11.0 +CMT,1,2,712,1.7,CRD,10.0 +CMT,1,1,1364,10.1,CRD,30.5 +CMT,1,1,345,1.3,CSH,6.5 +CMT,1,1,125,0.2,CSH,3.5 +CMT,1,1,1099,2.2,CSH,13.0 +CMT,1,2,683,1.1,CRD,8.5 +CMT,1,1,678,2.2,CSH,10.0 +CMT,1,1,2287,6.2,CSH,27.5 +CMT,1,3,493,1.0,CRD,7.5 +CMT,1,1,268,1.2,CSH,6.0 +CMT,1,1,624,2.6,CRD,11.0 +CMT,1,1,409,2.0,CSH,8.0 +CMT,1,2,1791,4.8,CSH,22.0 +CMT,1,1,451,0.6,CRD,6.5 +CMT,1,1,1606,2.6,CSH,17.5 +CMT,1,1,740,5.0,CRD,17.0 +CMT,1,1,525,2.9,CSH,11.5 +CMT,1,1,807,2.8,CSH,11.5 +CMT,1,1,845,2.0,CSH,11.0 +CMT,1,1,521,2.9,CRD,10.5 +CMT,1,1,972,6.2,CSH,19.5 +CMT,1,1,884,3.6,CRD,14.0 +CMT,1,1,225,0.6,CRD,4.5 +CMT,1,2,78,0.4,CSH,3.5 +CMT,1,1,1126,4.0,CRD,16.0 +CMT,1,1,454,1.2,CRD,7.0 +CMT,1,1,1169,2.2,CSH,13.5 +CMT,1,1,3699,1.6,CSH,8.0 +CMT,1,1,187,1.4,CRD,6.0 +CMT,1,1,702,2.1,CRD,10.5 +CMT,1,2,430,0.8,CRD,6.5 +CMT,1,1,603,2.1,CSH,9.5 +CMT,1,1,163,0.7,CSH,4.5 +CMT,1,1,549,2.9,CRD,10.5 +CMT,1,1,1098,3.8,CSH,16.0 +CMT,1,1,676,2.2,CRD,11.0 +CMT,1,1,1052,2.8,CRD,13.5 +CMT,1,1,222,0.8,CSH,5.0 +CMT,1,1,444,1.1,CRD,6.5 +CMT,1,1,726,0.7,CRD,8.5 +CMT,1,1,654,1.9,CRD,9.5 +CMT,1,1,745,1.7,CSH,10.0 +CMT,1,1,177,0.8,CRD,5.0 +CMT,1,1,101,0.3,CSH,3.5 +CMT,1,1,1238,8.7,CRD,27.0 +CMT,1,3,278,0.9,CSH,5.5 +CMT,1,1,460,0.8,CRD,6.5 +CMT,1,1,1683,2.8,CSH,18.0 +CMT,1,1,531,1.6,CSH,8.5 +CMT,1,1,541,1.5,CRD,8.0 +CMT,1,1,978,5.2,CRD,17.5 +CMT,1,1,1230,4.6,CSH,17.5 +CMT,1,1,645,3.5,CRD,12.0 +CMT,1,2,431,1.5,CRD,7.5 +CMT,1,1,210,0.5,CRD,4.5 +CMT,1,1,572,4.2,CSH,13.5 +CMT,1,1,1062,8.0,CRD,24.5 +CMT,1,1,1409,10.3,CRD,31.5 +CMT,1,1,731,1.3,CSH,8.5 +CMT,1,2,601,1.4,CRD,8.5 +CMT,1,1,524,0.8,CRD,7.0 +CMT,1,1,554,1.2,CRD,8.0 +CMT,1,1,842,1.5,CSH,10.5 +CMT,1,1,454,0.6,CSH,6.5 +CMT,1,1,472,1.6,CSH,8.0 +CMT,1,1,1272,3.1,CRD,16.0 +CMT,1,1,663,1.3,CRD,9.0 +CMT,1,1,1523,5.1,CSH,20.0 +CMT,1,1,127,0.3,CSH,3.5 +CMT,1,1,1564,7.5,CRD,26.0 +CMT,1,1,867,2.4,CRD,12.0 +CMT,1,1,355,1.0,CRD,6.0 +CMT,3,1,2030,21.1,CRD,75.5 +CMT,1,1,1829,3.4,CRD,20.5 +CMT,1,1,234,1.1,CRD,5.5 +CMT,1,1,537,2.1,CRD,9.5 +CMT,1,1,1969,8.9,CRD,32.0 +CMT,1,1,878,2.2,CRD,11.5 +CMT,1,1,454,1.4,CRD,7.5 +CMT,1,1,458,0.7,CSH,6.5 +CMT,1,1,357,1.5,CSH,7.0 +CMT,1,2,323,1.8,CSH,7.5 +CMT,1,1,404,1.7,CRD,8.0 +CMT,1,2,304,0.6,CSH,5.5 +CMT,1,2,1279,10.0,CRD,29.5 +CMT,1,1,404,0.8,CSH,6.0 +CMT,1,1,272,0.6,CSH,5.0 +CMT,1,1,835,2.5,CRD,12.0 +CMT,1,1,457,1.7,CRD,8.0 +CMT,1,1,484,2.1,CSH,9.5 +CMT,1,1,530,2.6,CRD,10.0 +CMT,1,1,2192,5.8,CRD,27.0 +CMT,1,1,1262,3.7,CRD,16.5 +CMT,1,1,416,1.4,CSH,7.5 +CMT,1,1,1154,11.0,CRD,31.5 +CMT,1,1,171,1.3,CSH,5.5 +CMT,1,1,454,1.2,CRD,7.5 +CMT,1,1,1254,4.1,CRD,17.5 +CMT,1,1,654,1.3,CRD,8.5 +CMT,1,1,572,1.0,CRD,7.5 +CMT,1,1,909,1.1,CSH,10.5 +CMT,1,1,1438,4.4,CRD,18.5 +CMT,1,1,1608,2.7,CRD,17.5 +CMT,1,2,477,2.4,CSH,10.0 +CMT,1,3,657,1.1,CRD,8.5 +CMT,1,1,524,1.7,CRD,8.0 +CMT,1,1,360,1.0,CSH,6.5 +CMT,1,1,558,1.5,CSH,8.5 +CMT,1,1,660,1.1,CSH,8.5 +CMT,1,1,256,0.8,CSH,5.5 +CMT,1,2,465,1.2,CSH,7.0 +CMT,1,2,1410,4.1,CRD,18.0 +CMT,1,1,808,2.2,CSH,11.0 +CMT,1,1,315,0.9,CSH,5.5 +CMT,1,1,175,1.1,CRD,5.0 +CMT,1,1,2980,2.0,CSH,11.0 +CMT,1,1,716,3.6,CRD,13.0 +CMT,1,1,1119,12.2,CSH,34.0 +CMT,1,1,504,1.5,CSH,8.0 +CMT,1,1,2927,18.7,NOC,2.5 +CMT,1,1,447,0.6,CSH,6.5 +CMT,1,5,1240,10.2,CRD,30.0 +CMT,1,1,842,4.8,CRD,16.5 +CMT,1,2,507,1.6,CRD,8.5 +CMT,1,1,392,1.6,CSH,7.5 +CMT,1,2,181,0.2,CSH,4.0 +CMT,1,1,509,0.9,CSH,7.0 +CMT,1,1,624,1.8,CSH,9.0 +CMT,1,1,350,1.9,CSH,7.5 +CMT,1,1,222,1.1,CRD,5.5 +CMT,1,1,308,0.9,CSH,5.5 +CMT,1,1,370,1.1,CSH,6.5 +CMT,1,1,745,2.0,CRD,11.0 +CMT,1,1,870,2.2,CRD,11.5 +CMT,1,3,735,1.8,CRD,10.5 +CMT,1,1,363,1.1,CSH,6.5 +CMT,1,1,354,1.0,CRD,6.0 +CMT,1,1,429,2.2,CRD,9.0 +CMT,1,1,638,3.1,CSH,12.0 +CMT,1,4,538,1.4,CRD,8.0 +CMT,1,1,575,1.0,CSH,8.0 +CMT,1,1,526,0.4,CSH,7.0 +CMT,1,1,191,0.8,CRD,5.0 +CMT,1,1,705,1.2,CSH,9.0 +CMT,1,1,1209,1.9,CRD,13.0 +CMT,1,4,401,1.0,CSH,6.5 +CMT,1,2,764,1.8,CRD,10.0 +CMT,1,1,872,1.7,CRD,11.0 +CMT,1,1,210,0.7,CRD,4.5 +CMT,1,1,797,5.1,CRD,16.0 +CMT,1,1,911,4.1,CRD,15.5 +CMT,1,1,515,0.7,CRD,7.0 +CMT,1,1,641,1.5,CRD,9.0 +CMT,1,1,2360,10.0,CRD,36.0 +CMT,1,1,640,1.8,CSH,9.5 +CMT,1,1,1664,3.5,CSH,19.5 +CMT,1,1,723,2.4,CSH,11.0 +CMT,1,2,599,2.5,CRD,10.0 +CMT,1,2,1428,11.7,CRD,33.0 +CMT,1,1,428,3.0,CSH,11.0 +CMT,1,4,386,0.9,CSH,6.5 +CMT,1,3,1287,4.8,CRD,19.0 +CMT,1,2,555,1.4,CSH,8.0 +CMT,1,1,619,1.8,CRD,9.5 +CMT,1,1,827,0.9,CSH,9.5 +CMT,1,2,1686,3.0,CSH,18.5 +CMT,1,1,169,0.5,CRD,4.0 +CMT,1,1,1449,3.3,CRD,17.5 +CMT,1,1,2182,9.2,CRD,33.0 +CMT,1,1,214,0.9,CSH,5.0 +CMT,1,1,392,1.1,CRD,6.5 +CMT,1,1,589,1.0,CRD,8.0 +CMT,1,1,1619,3.3,CSH,19.0 +CMT,1,1,709,2.3,CRD,11.0 +CMT,1,1,498,1.0,CRD,7.0 +CMT,1,1,558,2.3,CRD,9.5 +CMT,1,1,560,2.5,CRD,10.0 +CMT,1,2,683,1.4,CRD,9.0 +CMT,1,1,347,1.1,CSH,6.5 +CMT,1,1,563,1.2,CRD,8.0 +CMT,1,1,323,1.0,CRD,6.0 +CMT,1,1,1545,7.8,CRD,26.5 +CMT,1,1,450,1.3,CRD,7.0 +CMT,1,1,638,2.4,CRD,10.5 +CMT,1,1,488,0.7,CRD,7.0 +CMT,1,1,678,1.5,CRD,9.0 +CMT,1,1,772,0.5,CRD,9.0 +CMT,1,1,170,0.5,CRD,4.0 +CMT,1,1,175,0.4,CSH,4.0 +CMT,1,1,338,0.9,CRD,6.0 +CMT,1,1,691,0.9,CSH,8.5 +CMT,1,1,553,0.9,CSH,7.5 +CMT,1,1,248,1.1,CSH,5.5 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,1,252,0.6,CSH,5.0 +CMT,1,1,1149,3.3,CRD,15.0 +CMT,1,1,545,1.2,CRD,8.0 +CMT,1,1,1415,5.3,CSH,20.5 +CMT,1,1,476,2.0,CRD,9.0 +CMT,1,1,923,3.2,CRD,14.0 +CMT,1,1,270,0.7,CSH,5.5 +CMT,1,1,388,1.3,CRD,6.5 +CMT,1,1,222,0.7,CRD,5.0 +CMT,1,1,185,0.5,CSH,4.0 +CMT,1,1,704,1.9,CRD,10.0 +CMT,1,1,718,1.6,CRD,9.5 +CMT,1,1,625,1.9,CSH,10.0 +CMT,1,1,1019,2.9,CSH,13.5 +CMT,1,2,387,0.7,CRD,6.0 +CMT,1,1,266,1.1,CRD,6.0 +CMT,1,1,767,2.0,CSH,10.5 +CMT,1,1,496,0.8,CSH,7.0 +CMT,1,1,824,2.2,CSH,11.0 +CMT,4,1,517,1.7,CRD,8.0 +CMT,1,1,804,1.3,CRD,10.0 +CMT,1,1,885,1.7,CRD,11.0 +CMT,1,2,336,0.8,CSH,6.0 +CMT,1,1,245,0.8,CRD,5.0 +CMT,1,2,361,0.8,CSH,6.0 +CMT,1,1,721,1.0,CSH,9.0 +CMT,1,1,865,4.4,CSH,16.0 +CMT,1,1,1568,3.2,CRD,18.5 +CMT,1,2,1035,2.5,CSH,13.0 +CMT,1,1,402,0.9,CRD,6.5 +CMT,1,2,823,3.9,CRD,14.0 +CMT,1,1,427,2.2,CSH,9.0 +CMT,1,3,1114,4.9,CSH,17.5 +CMT,1,2,883,5.1,CSH,17.0 +CMT,1,1,327,1.4,CSH,7.0 +CMT,1,2,363,1.4,CSH,7.0 +CMT,1,1,308,1.6,CSH,7.0 +CMT,1,2,641,2.0,CRD,9.5 +CMT,1,1,634,1.7,CSH,9.0 +CMT,1,2,253,0.5,CSH,5.0 +CMT,1,2,145,0.6,CSH,4.0 +CMT,1,3,768,3.2,CRD,13.0 +CMT,1,1,1043,2.9,CRD,13.5 +CMT,1,1,127,0.4,CSH,3.5 +CMT,2,1,1064,6.2,NOC,52.0 +CMT,1,1,669,1.4,CSH,8.5 +CMT,1,1,403,1.0,CRD,6.5 +CMT,1,2,224,0.5,CSH,4.5 +CMT,1,1,199,0.4,CSH,4.0 +CMT,1,2,1226,4.4,CRD,17.0 +CMT,1,1,548,2.2,CRD,10.0 +CMT,1,1,483,2.4,CSH,9.0 +CMT,1,1,421,2.1,CRD,8.0 +CMT,1,1,414,1.9,CRD,8.0 +CMT,1,1,195,0.8,CSH,5.0 +CMT,1,1,303,1.1,CSH,5.5 +CMT,1,2,808,1.4,CSH,9.5 +CMT,1,1,363,0.7,CSH,6.0 +CMT,1,1,931,5.1,CSH,16.5 +CMT,1,1,635,2.2,CRD,10.0 +CMT,1,1,314,1.8,CRD,7.5 +CMT,1,1,280,0.7,CSH,5.5 +CMT,1,1,107,0.3,CSH,3.5 +CMT,1,1,982,5.0,CRD,17.5 +CMT,1,1,161,0.3,CSH,4.0 +CMT,1,1,884,2.3,CRD,11.5 +CMT,1,1,428,0.8,CSH,6.5 +CMT,1,1,200,0.8,CSH,5.0 +CMT,1,2,459,0.5,CSH,6.5 +CMT,1,1,1064,3.5,CRD,15.5 +CMT,1,2,244,0.7,CSH,5.0 +CMT,1,1,273,1.2,CRD,6.0 +CMT,1,1,602,2.4,CRD,10.0 +CMT,1,1,712,2.5,CSH,10.5 +CMT,1,1,238,0.4,CSH,4.5 +CMT,1,1,455,1.3,CRD,7.5 +CMT,1,1,1329,6.9,CRD,22.0 +CMT,1,2,713,2.4,CRD,10.5 +CMT,1,2,122,0.4,CRD,3.5 +CMT,1,2,230,0.7,CSH,4.5 +CMT,1,2,595,2.4,CSH,10.0 +CMT,1,2,209,0.6,CSH,5.0 +CMT,1,3,363,1.4,CRD,7.0 +CMT,1,1,710,3.1,CSH,12.5 +CMT,1,1,758,3.5,CSH,13.0 +CMT,1,4,737,2.6,CSH,11.5 +CMT,1,1,599,1.7,CRD,9.0 +CMT,1,2,216,0.8,CRD,5.0 +CMT,1,1,760,3.9,CRD,14.5 +CMT,1,1,354,1.1,CRD,6.5 +CMT,1,1,444,1.0,CSH,7.0 +CMT,1,2,606,1.6,CSH,8.5 +CMT,1,2,168,0.4,CSH,4.0 +CMT,1,1,478,1.0,CSH,7.0 +CMT,1,1,638,3.8,CRD,13.0 +CMT,1,1,445,0.9,CSH,6.5 +CMT,1,1,404,1.1,CSH,7.0 +CMT,1,1,590,2.1,CRD,9.5 +CMT,1,1,278,0.8,CRD,5.5 +CMT,1,2,155,0.4,CSH,4.0 +CMT,1,1,1111,2.4,CRD,13.5 +CMT,1,1,1040,3.1,CRD,14.0 +CMT,1,2,844,4.2,CSH,14.0 +CMT,1,2,450,1.7,CRD,8.0 +CMT,1,2,766,2.5,CSH,11.5 +CMT,1,4,534,1.7,CSH,8.5 +CMT,1,2,380,2.2,CRD,8.5 +CMT,1,2,314,0.9,CSH,5.5 +CMT,1,2,296,0.8,CSH,5.5 +CMT,1,1,553,1.9,CSH,9.0 +CMT,1,2,701,2.6,CSH,11.0 +CMT,1,1,280,0.9,CSH,5.5 +CMT,1,2,269,0.5,CSH,5.0 +CMT,1,1,681,1.2,CSH,8.5 +CMT,1,3,903,1.1,CSH,10.5 +CMT,1,1,243,0.8,CSH,5.0 +CMT,1,3,247,0.9,CSH,5.5 +CMT,1,2,248,0.5,CSH,4.5 +CMT,1,1,254,0.7,CRD,5.0 +CMT,1,1,142,0.4,CSH,4.0 +CMT,1,2,535,1.3,CRD,8.5 +CMT,1,1,964,2.6,CRD,13.0 +CMT,1,1,1697,8.5,CRD,28.0 +CMT,1,1,504,1.3,CSH,7.5 +CMT,1,1,362,1.6,CRD,7.5 +CMT,1,2,819,2.8,CRD,12.5 +CMT,1,1,337,0.9,CRD,6.0 +CMT,1,1,203,0.6,CSH,4.5 +CMT,1,1,359,0.7,CSH,6.0 +CMT,1,1,542,2.3,CRD,9.5 +CMT,1,1,677,2.4,CRD,10.0 +CMT,1,1,136,0.3,CSH,3.5 +CMT,1,1,497,1.6,CSH,8.0 +CMT,1,1,203,0.8,CRD,4.5 +CMT,1,1,491,1.6,CRD,8.0 +CMT,4,1,464,1.3,CSH,7.0 +CMT,1,1,432,1.6,CSH,7.5 +CMT,1,1,572,3.0,CRD,11.5 +CMT,1,1,564,1.0,CSH,8.0 +CMT,1,1,458,0.5,CSH,6.0 +CMT,1,1,876,1.9,CRD,11.0 +CMT,1,1,429,0.9,CRD,6.5 +CMT,1,1,799,3.4,CSH,13.0 +CMT,1,1,288,0.8,CSH,5.5 +CMT,1,1,513,1.5,CSH,8.0 +CMT,1,1,134,0.5,CSH,4.0 +CMT,1,1,763,1.7,CRD,9.5 +CMT,1,1,617,1.8,CSH,9.0 +CMT,1,1,313,1.6,CSH,6.5 +CMT,1,1,558,1.4,CRD,7.5 +CMT,1,1,514,1.4,CSH,8.0 +CMT,1,1,673,2.0,CRD,10.0 +CMT,3,2,2073,21.5,CSH,76.0 +CMT,1,1,61,0.3,CSH,3.5 +CMT,1,1,223,1.0,CSH,5.5 +CMT,1,2,324,0.7,CRD,5.5 +CMT,1,3,482,0.9,CRD,7.0 +CMT,1,1,464,1.4,CSH,7.5 +CMT,1,1,411,1.0,CRD,7.0 +CMT,1,4,703,0.7,CSH,8.5 +CMT,1,1,495,1.8,CSH,8.0 +CMT,1,1,1421,5.7,CRD,21.5 +CMT,1,1,108,0.7,CSH,4.0 +CMT,1,1,1135,1.7,CSH,12.5 +CMT,1,1,754,3.7,CRD,13.5 +CMT,1,1,174,0.5,CRD,4.5 +CMT,1,1,350,1.3,CRD,7.0 +CMT,1,1,486,2.6,CSH,10.0 +CMT,1,1,302,1.1,CRD,6.0 +CMT,1,1,646,4.7,CRD,15.0 +CMT,1,1,662,2.3,CRD,10.0 +CMT,1,1,1078,4.7,CSH,18.0 +CMT,1,1,553,1.8,CRD,9.5 +CMT,1,1,575,3.6,CRD,12.0 +CMT,1,1,725,2.2,CRD,11.0 +CMT,1,1,268,0.7,CSH,5.0 +CMT,1,1,328,2.1,CSH,8.0 +CMT,1,1,4314,4.7,CSH,16.5 +CMT,1,1,377,1.2,CRD,6.5 +CMT,1,1,837,2.9,CRD,12.5 +CMT,1,1,1372,5.5,CRD,20.0 +CMT,1,1,586,3.1,CSH,11.0 +CMT,1,1,1021,5.7,CRD,18.0 +CMT,1,1,603,2.3,CRD,9.5 +CMT,1,1,715,2.5,CRD,10.5 +CMT,1,1,294,0.6,CRD,5.0 +CMT,1,1,336,0.9,CSH,6.0 +CMT,1,1,133,0.9,CSH,4.5 +CMT,1,2,670,1.1,CRD,8.5 +CMT,1,1,660,2.7,CSH,11.0 +CMT,1,2,1283,6.1,CSH,21.0 +CMT,1,4,146,0.4,CSH,4.0 +CMT,1,1,316,1.7,CSH,7.0 +CMT,1,1,814,3.1,CSH,12.5 +CMT,1,1,1154,4.5,CSH,17.0 +CMT,1,1,478,1.7,CRD,8.0 +CMT,1,1,863,3.1,CRD,13.0 +CMT,1,1,164,0.5,CSH,4.0 +CMT,1,1,1055,1.3,CSH,12.0 +CMT,1,1,423,0.9,CSH,6.5 +CMT,1,1,1221,3.0,CSH,14.5 +CMT,1,1,1100,7.6,CRD,23.5 +CMT,1,2,264,0.9,CSH,5.5 +CMT,1,1,96,0.2,CSH,3.5 +CMT,1,3,1393,2.9,CSH,16.5 +CMT,1,1,470,1.7,CRD,8.0 +CMT,1,1,899,2.9,CRD,13.0 +CMT,1,1,547,1.5,CSH,8.0 +CMT,1,1,1485,8.0,CRD,26.5 +CMT,1,1,544,1.5,CSH,9.0 +CMT,1,1,583,3.9,CSH,12.5 +CMT,1,2,1317,4.9,CRD,18.5 +CMT,1,2,268,0.6,CRD,5.0 +CMT,1,4,760,2.7,CRD,12.0 +CMT,1,2,663,4.2,CSH,14.0 +CMT,2,2,1310,17.0,CSH,52.0 +CMT,1,1,549,2.2,CSH,10.0 +CMT,1,1,804,1.0,CRD,5.5 +CMT,1,1,46,0.1,CSH,2.5 +CMT,1,1,694,2.8,CSH,11.5 +CMT,1,1,552,2.7,CRD,10.0 +CMT,1,1,762,4.1,CSH,14.5 +CMT,1,1,412,1.8,CSH,8.0 +CMT,1,1,337,0.7,CRD,5.5 +CMT,1,1,370,0.8,CSH,6.5 +CMT,1,3,943,2.5,CRD,12.5 +CMT,1,1,1168,0.9,CSH,4.5 +CMT,1,1,1117,3.5,CSH,15.5 +CMT,1,1,972,3.0,CRD,13.5 +CMT,1,1,624,2.7,CRD,11.0 +CMT,1,1,715,2.3,CRD,11.5 +CMT,1,1,729,2.1,CSH,10.0 +CMT,1,1,460,1.2,CSH,7.0 +CMT,1,1,589,2.9,CSH,11.0 +CMT,1,1,791,4.6,CSH,15.0 +CMT,1,1,395,1.3,CRD,7.0 +CMT,1,1,1635,7.6,CSH,26.5 +CMT,1,1,305,0.6,CSH,5.5 +CMT,1,1,947,3.7,CRD,14.5 +CMT,1,1,1096,5.8,CSH,20.5 +CMT,1,1,736,2.9,CSH,12.0 +CMT,1,1,610,4.3,CRD,14.0 +CMT,1,1,380,1.3,CRD,7.0 +CMT,1,1,1047,3.8,NOC,16.5 +CMT,1,1,541,2.4,CSH,10.0 +CMT,1,1,581,0.9,CRD,7.5 +CMT,1,1,1379,4.6,CRD,18.0 +CMT,1,1,1452,4.5,CRD,19.5 +CMT,1,2,305,1.1,CSH,6.0 +CMT,1,1,491,0.9,CRD,7.0 +CMT,1,2,794,2.4,CSH,11.5 +CMT,1,1,720,2.5,CRD,11.0 +CMT,1,1,543,2.4,CSH,10.0 +CMT,1,3,356,0.6,CRD,6.0 +CMT,1,1,217,0.5,CRD,4.5 +CMT,1,1,1869,10.1,CRD,33.5 +CMT,1,1,1319,3.6,CSH,16.5 +CMT,1,1,1227,5.5,CSH,20.0 +CMT,1,1,425,1.8,CRD,8.0 +CMT,1,1,352,1.1,CRD,6.0 +CMT,1,1,999,1.8,CRD,11.5 +CMT,1,1,186,0.5,CSH,4.0 +CMT,1,1,808,2.9,CRD,12.5 +CMT,1,1,654,2.7,CRD,11.0 +CMT,1,1,271,1.0,CRD,5.5 +CMT,1,1,535,2.4,CSH,9.5 +CMT,1,1,218,0.9,CSH,5.5 +CMT,1,1,1138,6.7,CRD,22.5 +CMT,1,1,228,0.9,CRD,5.5 +CMT,1,1,1056,5.1,CRD,17.5 +CMT,1,1,374,1.1,CRD,6.5 +CMT,1,1,561,1.6,CSH,8.0 +CMT,1,1,540,1.8,CSH,8.5 +CMT,1,1,445,1.3,CRD,7.5 +CMT,1,1,1111,6.0,CRD,20.0 +CMT,1,1,940,4.2,CRD,15.0 +CMT,1,1,247,0.7,CSH,5.0 +CMT,1,1,174,0.9,CSH,5.0 +CMT,1,1,132,0.4,CRD,3.5 +CMT,1,2,518,2.1,CRD,9.5 +CMT,1,1,1834,9.7,CSH,32.0 +CMT,1,2,1099,5.8,CRD,19.0 +CMT,1,1,300,1.1,CRD,6.0 +CMT,1,2,2063,9.8,CRD,34.0 +CMT,1,1,119,0.5,CSH,4.0 +CMT,1,1,2139,15.7,CRD,46.5 +CMT,1,1,464,1.8,CSH,8.0 +CMT,1,1,87,0.4,CSH,3.5 +CMT,1,1,783,2.5,CRD,11.0 +CMT,1,1,531,1.6,CSH,8.0 +CMT,1,1,541,2.2,CSH,9.0 +CMT,1,1,281,1.1,CSH,5.5 +CMT,1,1,596,2.1,CRD,9.5 +CMT,1,1,1066,1.7,CSH,12.5 +CMT,1,1,624,1.2,CRD,8.0 +CMT,1,1,551,2.4,CSH,9.5 +CMT,1,1,1086,1.9,CRD,12.5 +CMT,1,2,1279,3.6,CSH,16.0 +CMT,1,2,1622,5.1,CRD,20.5 +CMT,1,2,156,0.3,CSH,4.0 +CMT,1,2,200,0.7,CRD,5.0 +CMT,1,4,202,0.8,CSH,5.0 +CMT,1,1,263,1.0,CRD,5.5 +CMT,1,1,245,1.5,CSH,6.5 +CMT,1,1,513,1.3,CSH,8.0 +CMT,1,1,280,0.5,CSH,5.0 +CMT,1,1,1212,1.8,CRD,13.5 +CMT,1,1,1802,4.8,CSH,21.0 +CMT,1,1,744,2.6,CRD,11.0 +CMT,4,1,1067,7.0,CSH,23.0 +CMT,1,1,698,3.1,CRD,12.0 +CMT,1,1,393,1.4,CSH,7.0 +CMT,1,1,600,1.1,CRD,8.0 +CMT,4,1,1923,20.1,CSH,106.0 +CMT,1,1,228,0.2,CRD,4.5 +CMT,1,1,309,0.7,CSH,5.5 +CMT,1,1,476,2.0,CRD,9.0 +CMT,1,1,181,0.5,CSH,4.0 +CMT,1,1,196,0.6,CSH,4.5 +CMT,1,1,666,2.3,CSH,10.0 +CMT,1,1,461,2.3,CSH,9.0 +CMT,5,1,29,0.0,CRD,8.0 +CMT,1,2,584,2.6,CSH,11.0 +CMT,1,1,741,4.1,CRD,14.0 +CMT,1,1,477,1.3,CSH,7.5 +CMT,1,1,512,1.8,CRD,8.5 +CMT,1,1,561,1.8,CSH,9.0 +CMT,1,1,534,0.8,CSH,7.5 +CMT,1,1,502,1.4,CSH,8.0 +CMT,1,1,945,2.8,CRD,13.5 +CMT,1,1,1239,1.7,CRD,13.5 +CMT,1,1,846,2.4,CSH,11.5 +CMT,1,1,2273,8.7,CRD,31.5 +CMT,1,1,247,0.8,CRD,5.0 +CMT,1,1,1431,7.3,CRD,24.0 +CMT,1,2,289,1.1,CRD,6.0 +CMT,1,2,957,1.8,CRD,11.5 +CMT,1,2,165,0.3,CSH,4.0 +CMT,1,1,743,4.0,CSH,14.0 +CMT,1,1,460,1.1,CRD,7.0 +CMT,1,1,165,0.3,CRD,4.0 +CMT,1,1,342,0.9,CRD,6.0 +CMT,1,1,544,1.6,CSH,8.5 +CMT,1,1,444,1.5,CRD,7.5 +CMT,1,1,347,0.9,CSH,6.0 +CMT,1,1,567,0.9,CSH,7.0 +CMT,1,1,998,6.8,CRD,21.0 +CMT,1,1,347,1.1,CSH,6.5 +CMT,1,1,438,1.3,CSH,7.5 +CMT,1,1,437,1.2,CSH,7.0 +CMT,1,1,561,1.8,CSH,9.0 +CMT,1,1,301,1.2,CSH,6.0 +CMT,1,1,329,0.9,CRD,6.0 +CMT,1,1,523,1.6,CRD,8.5 +CMT,1,2,1169,2.5,CRD,14.5 +CMT,1,2,312,0.9,CRD,5.5 +CMT,1,1,469,1.8,CRD,8.5 +CMT,1,1,787,3.3,CSH,12.5 +CMT,1,1,1094,3.9,CRD,15.5 +CMT,1,2,1576,2.4,CRD,17.0 +CMT,1,1,1297,2.1,CSH,14.5 +CMT,1,1,1640,3.8,CRD,19.5 +CMT,1,1,2051,6.0,CSH,26.0 +CMT,1,1,569,1.5,CSH,8.5 +CMT,1,1,1103,2.5,CRD,13.0 +CMT,1,1,818,1.8,CRD,11.0 +CMT,1,1,1069,2.1,CRD,12.5 +CMT,1,1,322,1.7,CRD,7.0 +CMT,1,1,173,0.6,CSH,4.5 +CMT,1,1,665,1.7,CRD,9.0 +CMT,1,1,476,1.2,CRD,7.0 +CMT,1,1,458,1.4,CSH,7.5 +CMT,1,1,2136,4.8,CRD,23.0 +CMT,1,1,747,3.1,CRD,12.0 +CMT,1,1,1217,6.6,CRD,22.0 +CMT,1,3,1372,6.7,CSH,22.5 +CMT,1,1,399,2.1,CRD,8.5 +CMT,1,1,200,1.0,CSH,5.0 +CMT,1,1,346,1.3,CRD,6.5 +CMT,1,2,239,0.5,CSH,4.5 +CMT,1,1,427,1.0,CRD,6.5 +CMT,1,1,1191,2.3,CSH,14.0 +CMT,1,1,288,0.6,CRD,5.0 +CMT,1,1,830,2.1,CSH,11.5 +CMT,1,1,633,1.2,CSH,8.5 +CMT,1,1,138,0.3,CSH,3.5 +CMT,1,1,371,1.8,CRD,8.0 +CMT,1,1,389,0.8,CRD,6.0 +CMT,1,1,1392,5.9,CRD,21.0 +CMT,1,1,268,0.8,CRD,5.5 +CMT,1,2,1227,5.3,CRD,20.0 +CMT,1,4,325,0.9,CSH,5.5 +CMT,1,1,590,0.9,CRD,7.5 +CMT,1,4,550,1.7,CRD,9.0 +CMT,1,3,411,1.1,CSH,7.0 +CMT,1,1,378,2.1,CSH,8.0 +CMT,1,1,733,1.8,CRD,10.0 +CMT,1,1,714,2.5,CRD,11.0 +CMT,1,2,923,3.5,CRD,14.5 +CMT,1,1,1286,1.2,CRD,7.5 +CMT,1,1,700,2.8,CSH,11.5 +CMT,1,1,701,1.6,CSH,9.5 +CMT,1,1,204,0.4,CSH,4.0 +CMT,1,1,314,0.8,CSH,5.5 +CMT,1,1,399,1.4,CSH,7.0 +CMT,1,1,706,1.5,CSH,9.0 +CMT,1,1,220,0.8,CRD,5.0 +CMT,1,1,4,0.0,NOC,2.5 +CMT,1,1,677,3.8,CRD,12.5 +CMT,1,3,513,1.3,CRD,7.5 +CMT,1,1,181,0.4,CSH,4.0 +CMT,1,1,1076,5.2,CRD,17.5 +CMT,1,1,9,0.0,NOC,2.5 +CMT,1,1,227,0.6,CSH,5.0 +CMT,1,1,457,1.5,CSH,7.5 +CMT,1,1,523,2.3,CRD,9.5 +CMT,1,1,308,0.8,CSH,5.5 +CMT,1,1,441,2.6,CSH,9.5 +CMT,1,1,743,3.9,CRD,14.0 +CMT,1,1,1389,3.7,CSH,17.0 +CMT,1,1,641,1.1,CSH,8.0 +CMT,1,1,906,1.6,CRD,10.5 +CMT,1,1,366,1.5,CSH,7.0 +CMT,1,3,209,1.5,CSH,7.0 +CMT,1,2,627,0.6,CRD,7.5 +CMT,1,3,354,1.4,CRD,6.5 +CMT,1,1,1545,10.0,CRD,32.0 +CMT,1,1,474,3.2,CSH,11.0 +CMT,1,2,761,3.3,CRD,12.5 +CMT,1,1,281,0.7,CRD,5.0 +CMT,1,1,910,3.6,CRD,14.5 +CMT,1,2,562,1.7,CSH,8.5 +CMT,1,1,638,1.0,CSH,8.5 +CMT,1,1,637,3.6,CRD,13.0 +CMT,1,1,2091,1.0,CRD,5.5 +CMT,1,1,299,1.0,CRD,6.0 +CMT,1,1,971,3.2,CSH,13.5 +CMT,1,2,225,1.0,CSH,5.0 +CMT,1,1,709,2.1,CRD,10.5 +CMT,1,3,778,1.6,CSH,10.0 +CMT,1,2,800,1.6,CSH,10.0 +CMT,1,1,348,0.8,CSH,5.5 +CMT,1,3,633,1.5,CRD,9.0 +CMT,1,1,889,2.3,CRD,11.5 +CMT,1,1,911,3.1,CRD,13.0 +CMT,1,3,970,1.5,CRD,11.0 +CMT,1,2,251,1.2,CRD,6.0 +CMT,1,1,144,0.6,CSH,4.0 +CMT,1,1,580,1.0,CSH,8.0 +CMT,1,1,803,2.6,CSH,11.5 +CMT,1,1,821,1.9,CSH,10.5 +CMT,1,1,1146,5.7,CSH,19.5 +CMT,1,1,486,1.2,CRD,7.5 +CMT,1,4,375,0.9,CSH,6.0 +CMT,1,1,208,0.6,CSH,4.5 +CMT,1,2,369,2.2,CRD,8.0 +CMT,1,1,785,3.8,CRD,14.0 +CMT,1,1,4253,1.0,CRD,6.5 +CMT,1,2,483,2.4,CRD,10.0 +CMT,1,1,56,0.3,CSH,3.0 +CMT,1,1,1009,6.7,CRD,21.5 +CMT,1,1,1369,3.6,CSH,16.5 +CMT,1,2,286,1.4,CSH,6.5 +CMT,1,1,1923,9.4,CSH,31.5 +CMT,1,2,1165,5.0,CSH,18.0 +CMT,1,1,142,0.8,CRD,4.5 +CMT,1,2,289,1.1,CRD,6.0 +CMT,1,2,1473,7.1,CSH,24.0 +CMT,1,1,121,0.8,CSH,4.5 +CMT,1,1,479,0.7,CSH,6.5 +CMT,1,1,289,1.4,CSH,6.5 +CMT,1,1,444,1.8,CRD,8.0 +CMT,1,1,531,2.2,CRD,9.5 +CMT,1,1,295,1.5,CRD,6.5 +CMT,1,1,607,1.1,CSH,8.0 +CMT,1,1,252,0.4,CSH,4.5 +CMT,1,1,408,1.0,CSH,6.5 +CMT,1,1,664,1.4,CRD,9.0 +CMT,1,1,892,1.1,CRD,10.0 +CMT,1,1,302,1.0,CRD,5.5 +CMT,1,1,81,0.3,CSH,3.0 +CMT,1,1,1540,5.9,CSH,23.5 +CMT,1,1,417,1.6,CRD,7.5 +CMT,1,1,1057,2.3,CSH,13.0 +CMT,1,1,888,2.9,CRD,12.5 +CMT,1,1,575,1.4,CSH,8.5 +CMT,1,1,600,3.7,CSH,13.0 +CMT,1,1,642,1.8,CSH,9.0 +CMT,1,1,267,1.1,CSH,6.0 +CMT,1,1,567,0.6,CSH,7.0 +CMT,1,1,851,2.8,CRD,12.0 +CMT,1,1,293,1.0,CRD,6.0 +CMT,1,1,276,1.1,CSH,6.0 +CMT,1,1,1538,4.6,CRD,19.5 +CMT,1,2,2303,15.5,CRD,46.5 +CMT,1,2,979,4.7,CSH,16.5 +CMT,1,1,427,2.7,CRD,10.0 +CMT,1,1,471,1.4,CRD,8.0 +CMT,1,1,522,1.2,CRD,7.5 +CMT,1,1,417,1.6,CRD,7.5 +CMT,1,1,342,2.3,CRD,9.0 +CMT,1,1,675,2.8,CSH,11.0 +CMT,1,1,273,1.0,CRD,5.5 +CMT,1,1,606,2.7,CSH,10.5 +CMT,1,2,833,2.9,CSH,13.0 +CMT,1,2,392,1.1,CRD,6.5 +CMT,1,2,758,2.2,CRD,11.0 +CMT,1,2,338,0.8,CRD,5.5 +CMT,4,3,512,1.8,CSH,8.5 +CMT,1,3,480,1.4,CSH,7.5 +CMT,1,2,347,2.2,CSH,8.5 +CMT,1,2,482,2.6,CRD,10.0 +CMT,1,1,394,0.7,CRD,6.5 +CMT,1,1,486,2.0,CSH,8.5 +CMT,1,1,395,2.0,CRD,8.0 +CMT,1,1,366,1.7,CRD,7.5 +CMT,1,1,797,3.2,CRD,13.0 +CMT,1,1,214,1.0,CRD,5.5 +CMT,1,1,657,0.9,CSH,8.0 +CMT,1,1,352,0.7,CSH,6.0 +CMT,1,1,560,1.5,CSH,8.5 +CMT,1,2,585,2.1,CSH,9.0 +CMT,1,1,447,2.0,CSH,8.5 +CMT,1,4,537,1.0,CSH,7.5 +CMT,1,1,509,2.0,CRD,9.0 +CMT,1,2,870,2.9,CSH,12.0 +CMT,1,2,589,1.7,CSH,9.0 +CMT,1,1,323,0.8,CRD,6.0 +CMT,1,1,1358,3.5,CRD,17.0 +CMT,1,1,614,1.5,CSH,8.5 +CMT,1,1,819,2.7,CRD,12.0 +CMT,1,1,836,5.0,CRD,16.0 +CMT,1,1,300,1.4,CSH,6.5 +CMT,1,1,862,6.1,CRD,19.0 +CMT,1,1,246,0.8,CRD,5.0 +CMT,1,1,727,2.6,CRD,11.0 +CMT,2,2,2895,17.6,CRD,52.0 +CMT,1,1,731,2.6,CRD,12.0 +CMT,1,1,130,0.5,CSH,4.0 +CMT,1,1,644,2.0,CRD,9.5 +CMT,1,1,2678,12.6,CSH,45.0 +CMT,1,1,392,0.7,CRD,6.0 +CMT,1,1,289,0.7,CRD,5.0 +CMT,1,1,505,1.5,CRD,8.0 +CMT,1,1,435,1.6,CRD,7.5 +CMT,1,2,886,3.5,CSH,13.5 +CMT,1,2,389,0.5,CSH,5.5 +CMT,1,2,530,1.1,CSH,7.0 +CMT,1,1,122,1.0,CSH,5.5 +CMT,1,1,778,3.1,CSH,12.5 +CMT,1,1,1188,5.0,CRD,19.0 +CMT,1,1,629,3.1,CSH,11.5 +CMT,1,2,1234,11.1,CSH,31.5 +CMT,1,1,864,7.8,CRD,23.0 +CMT,1,1,738,2.4,CRD,10.5 +CMT,1,3,445,1.0,CSH,7.0 +CMT,1,1,591,2.4,CSH,9.5 +CMT,1,1,599,1.0,CRD,7.5 +CMT,1,1,409,1.4,CRD,7.0 +CMT,1,2,293,0.9,CRD,5.5 +CMT,5,1,844,4.2,CRD,45.0 +CMT,1,1,185,0.8,CSH,5.0 +CMT,1,1,588,1.8,CRD,9.0 +CMT,1,1,2209,4.6,CRD,24.5 +CMT,1,1,191,0.6,CSH,4.5 +CMT,1,2,177,0.5,CRD,4.0 +CMT,1,1,591,2.4,CSH,10.0 +CMT,1,1,896,2.7,CSH,12.5 +CMT,1,1,354,1.7,CSH,7.5 +CMT,1,1,319,1.3,CSH,6.5 +CMT,1,2,1072,5.3,CRD,18.5 +CMT,1,1,558,2.0,CRD,9.0 +CMT,1,2,359,0.6,CRD,5.5 +CMT,1,1,677,1.7,CRD,9.5 +CMT,1,3,391,0.8,CRD,6.0 +CMT,1,2,287,1.6,CRD,7.0 +CMT,1,3,912,3.6,CRD,14.5 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,1,218,1.3,CSH,5.5 +CMT,1,1,545,1.4,CSH,7.5 +CMT,1,2,792,2.1,CRD,10.5 +CMT,1,1,641,2.0,CSH,9.5 +CMT,1,1,1045,3.5,CSH,14.5 +CMT,1,2,2158,14.2,CSH,42.0 +CMT,1,2,2104,10.3,CSH,33.5 +CMT,1,1,498,2.5,CRD,10.0 +CMT,1,1,404,1.5,CSH,7.0 +CMT,1,2,1140,2.4,CSH,13.0 +CMT,1,1,960,4.8,CRD,16.5 +CMT,1,1,322,1.8,CSH,7.0 +CMT,1,1,350,1.8,CRD,7.5 +CMT,1,1,301,0.8,CSH,5.5 +CMT,1,1,227,0.9,CRD,5.0 +CMT,1,2,2760,16.0,CRD,50.0 +CMT,1,4,391,1.7,CRD,7.5 +CMT,1,1,208,0.7,CRD,4.5 +CMT,1,1,464,1.0,CRD,7.0 +CMT,1,1,652,2.0,CRD,9.5 +CMT,1,1,485,1.2,CRD,7.5 +CMT,1,1,528,2.1,CRD,9.5 +CMT,1,1,499,1.5,CSH,8.0 +CMT,1,1,450,0.6,CRD,6.5 +CMT,1,1,158,0.5,CSH,4.0 +CMT,1,1,948,2.1,CRD,12.0 +CMT,1,1,323,0.6,CSH,5.5 +CMT,1,1,1942,5.8,CSH,24.5 +CMT,1,3,715,1.9,CSH,10.0 +CMT,1,1,292,0.6,CSH,5.0 +CMT,1,2,200,0.6,CSH,4.5 +CMT,1,1,627,1.0,CSH,8.0 +CMT,2,1,2636,18.3,CRD,52.0 +CMT,1,2,676,3.9,CSH,14.0 +CMT,1,1,996,1.0,CSH,10.5 +CMT,1,1,962,3.8,CRD,14.5 +CMT,1,2,149,0.8,CSH,4.5 +CMT,1,1,957,3.1,CRD,12.5 +CMT,1,1,589,1.9,CRD,9.0 +CMT,1,3,190,0.4,CRD,4.0 +CMT,1,1,425,1.5,CRD,7.5 +CMT,1,1,222,0.7,CRD,5.0 +CMT,1,1,1230,3.4,CSH,15.0 +CMT,1,1,368,1.5,CSH,7.0 +CMT,1,1,357,1.0,CSH,6.0 +CMT,1,1,326,0.7,CRD,5.5 +CMT,1,1,1179,2.4,CRD,14.5 +CMT,1,2,1370,4.0,CSH,17.0 +CMT,1,1,244,0.9,CSH,5.5 +CMT,1,2,495,1.5,CRD,8.0 +CMT,1,3,690,3.0,CRD,11.5 +CMT,1,1,295,0.8,CSH,5.5 +CMT,1,2,306,0.6,CSH,5.5 +CMT,1,1,607,2.6,CSH,10.5 +CMT,1,1,681,1.5,CRD,9.5 +CMT,1,1,818,2.8,CSH,12.0 +CMT,1,3,813,2.6,CSH,11.5 +CMT,1,1,1497,3.8,CSH,18.0 +CMT,1,1,570,1.2,CSH,8.0 +CMT,1,2,1775,11.9,CSH,35.5 +CMT,1,1,761,1.0,CSH,9.0 +CMT,1,1,682,1.9,CRD,9.5 +CMT,1,2,677,1.8,CSH,9.5 +CMT,1,2,1088,3.7,CSH,15.5 +CMT,1,1,286,1.6,CSH,7.0 +CMT,1,1,535,1.5,CSH,8.5 +CMT,1,2,931,2.3,CSH,12.0 +CMT,1,2,823,4.7,CRD,15.5 +CMT,1,1,455,1.1,CRD,7.0 +CMT,1,1,157,0.6,CSH,4.0 +CMT,1,1,611,2.9,CRD,10.5 +CMT,1,1,423,2.0,CRD,8.5 +CMT,1,1,654,2.2,CRD,10.0 +CMT,1,1,790,4.0,CRD,14.0 +CMT,1,1,1308,8.5,CRD,27.0 +CMT,1,1,406,2.6,CSH,9.0 +CMT,1,1,347,1.0,CRD,6.0 +CMT,1,1,733,2.0,CRD,10.5 +CMT,1,1,783,2.3,CSH,11.5 +CMT,1,1,150,0.5,CRD,4.0 +CMT,1,2,686,2.4,CSH,10.5 +CMT,1,1,676,2.7,CSH,11.0 +CMT,1,1,581,1.9,CSH,9.0 +CMT,1,2,464,1.3,CRD,7.0 +CMT,1,1,401,0.8,CRD,6.0 +CMT,1,2,959,7.7,CSH,22.5 +CMT,1,1,577,1.6,CSH,8.0 +CMT,1,2,265,0.7,CRD,5.0 +CMT,1,1,1378,11.9,CSH,34.5 +CMT,1,1,1302,7.2,CSH,23.0 +CMT,1,1,452,1.5,CRD,7.5 +CMT,1,1,649,1.6,CSH,9.0 +CMT,1,1,471,1.9,CSH,8.5 +CMT,1,1,578,1.3,CSH,8.0 +CMT,1,1,249,1.3,CSH,6.0 +CMT,1,1,596,2.0,CRD,9.5 +CMT,1,1,1566,6.8,CRD,25.0 +CMT,1,1,1058,2.9,CSH,14.5 +CMT,1,1,190,0.4,CSH,4.0 +CMT,1,1,858,3.3,CRD,13.5 +CMT,1,1,1006,3.6,CSH,14.5 +CMT,1,1,236,0.6,CSH,4.5 +CMT,1,1,662,2.2,CRD,10.5 +CMT,1,1,681,2.6,CRD,11.5 +CMT,1,1,414,1.0,CSH,6.5 +CMT,1,1,961,2.3,CRD,12.0 +CMT,1,1,406,1.8,CSH,8.5 +CMT,1,2,1264,3.3,CRD,15.5 +CMT,1,1,229,0.9,CSH,5.0 +CMT,1,1,1385,11.1,CSH,33.0 +CMT,1,1,832,1.5,CSH,10.5 +CMT,1,1,607,1.7,CRD,9.0 +CMT,1,1,571,1.0,CSH,7.5 +CMT,1,1,491,2.2,CSH,9.0 +CMT,1,2,297,0.9,CRD,5.5 +CMT,1,1,216,0.9,CRD,5.5 +CMT,1,1,215,0.9,CSH,5.0 +CMT,1,2,621,1.0,CSH,8.0 +CMT,1,4,305,0.9,CSH,5.5 +CMT,1,1,600,3.1,CRD,11.5 +CMT,1,3,193,0.9,CSH,5.0 +CMT,1,1,1000,6.0,CSH,20.0 +CMT,1,1,222,1.1,CSH,5.5 +CMT,1,2,1057,3.4,CRD,14.5 +CMT,1,1,703,1.0,CSH,8.5 +CMT,1,1,681,4.8,CSH,16.0 +CMT,1,1,553,1.7,CRD,8.5 +CMT,1,4,771,3.1,CSH,12.5 +CMT,1,2,608,2.3,CSH,10.0 +CMT,1,1,210,1.7,CRD,7.0 +CMT,1,1,451,1.6,CSH,7.5 +CMT,1,1,711,1.6,CRD,10.0 +CMT,1,1,1281,5.8,CRD,21.0 +CMT,1,1,242,2.0,CSH,7.5 +CMT,1,1,423,2.1,CRD,8.5 +CMT,1,1,331,0.7,CRD,5.5 +CMT,1,1,502,1.1,CRD,7.5 +CMT,1,1,605,2.4,CRD,10.0 +CMT,1,1,1074,2.5,CSH,13.0 +CMT,3,1,2251,19.8,CRD,74.5 +CMT,1,1,288,0.8,CSH,5.5 +CMT,1,1,380,1.4,CRD,6.5 +CMT,1,1,196,0.8,CSH,5.0 +CMT,1,1,843,4.6,CSH,15.0 +CMT,1,1,603,1.6,CSH,8.5 +CMT,1,1,95,0.4,CSH,3.5 +CMT,1,1,268,1.0,CRD,5.5 +CMT,1,1,693,0.0,CSH,2.5 +CMT,1,1,538,2.0,CSH,9.5 +CMT,1,1,354,0.6,CRD,5.5 +CMT,1,1,612,2.8,CRD,11.5 +CMT,1,2,436,1.9,CSH,8.5 +CMT,1,2,657,2.2,CSH,11.0 +CMT,1,2,610,1.4,CRD,9.0 +CMT,1,1,644,2.5,CRD,10.5 +CMT,1,2,834,4.3,CRD,16.0 +CMT,1,2,768,4.1,CRD,14.5 +CMT,1,1,96,0.4,CSH,3.5 +CMT,1,2,2239,11.1,CSH,37.5 +CMT,1,1,567,1.3,CRD,8.0 +CMT,1,2,809,3.1,CSH,12.5 +CMT,1,2,479,2.2,CRD,8.5 +CMT,1,1,940,3.5,CSH,14.5 +CMT,1,4,736,4.1,CSH,14.5 +CMT,1,1,739,3.4,CSH,13.5 +CMT,1,1,797,3.6,CSH,13.5 +CMT,1,1,415,1.1,CSH,6.5 +CMT,1,1,315,0.8,CRD,5.5 +CMT,1,1,408,2.3,CSH,8.5 +CMT,1,1,1451,4.4,CRD,19.0 +CMT,1,1,324,0.6,CRD,5.5 +CMT,1,1,905,3.8,CSH,14.0 +CMT,1,1,708,2.9,CSH,11.5 +CMT,1,1,536,1.2,CRD,7.5 +CMT,1,1,500,1.0,CRD,7.0 +CMT,1,1,469,1.7,CRD,8.5 +CMT,1,1,419,1.5,CSH,7.5 +CMT,1,1,424,1.4,CRD,7.5 +CMT,1,1,441,1.5,CRD,7.5 +CMT,1,1,472,2.6,CRD,10.0 +CMT,1,1,224,1.4,CRD,6.0 +CMT,1,1,726,2.2,CSH,10.5 +CMT,1,1,783,4.2,CRD,14.5 +CMT,1,1,481,2.3,CSH,9.0 +CMT,1,2,358,1.1,CSH,6.5 +CMT,1,2,638,4.6,CSH,14.5 +CMT,1,1,709,2.2,CSH,10.5 +CMT,1,1,498,1.2,CRD,7.5 +CMT,1,1,533,2.4,CRD,10.0 +CMT,1,1,411,1.5,CRD,7.5 +CMT,1,1,923,1.3,CSH,10.5 +CMT,1,1,330,0.7,CRD,5.5 +CMT,1,1,771,2.0,CSH,10.0 +CMT,1,1,1305,1.4,CRD,14.0 +CMT,1,1,435,1.2,CRD,7.0 +CMT,1,1,397,1.8,CRD,8.0 +CMT,1,1,452,2.0,CSH,8.5 +CMT,1,1,462,1.6,CRD,8.0 +CMT,1,1,360,1.0,CRD,6.0 +CMT,1,1,446,1.6,CRD,7.5 +CMT,1,1,182,0.6,CRD,4.5 +CMT,1,2,499,1.7,CRD,8.0 +CMT,1,2,226,0.4,CSH,4.0 +CMT,1,2,844,2.8,CRD,12.5 +CMT,1,1,1006,4.3,CSH,15.5 +CMT,1,4,1093,2.2,CSH,13.0 +CMT,1,3,423,1.1,CSH,7.0 +CMT,1,1,127,0.7,CSH,4.5 +CMT,1,1,1540,5.5,CRD,22.0 +CMT,1,3,627,1.7,CRD,9.5 +CMT,1,1,459,1.2,CRD,7.0 +CMT,1,1,749,1.4,CSH,9.5 +CMT,1,1,1681,1.8,CSH,17.5 +CMT,1,1,1288,3.4,CRD,15.5 +CMT,1,1,167,0.3,CSH,4.0 +CMT,1,1,949,4.2,CRD,15.0 +CMT,1,1,976,3.6,CSH,14.0 +CMT,1,2,1187,2.9,CSH,14.5 +CMT,1,1,1226,3.1,CRD,15.0 +CMT,1,1,717,2.3,CSH,10.5 +CMT,1,1,1124,2.2,CRD,13.5 +CMT,1,1,623,1.0,CRD,8.5 +CMT,1,1,521,1.9,CRD,8.5 +CMT,1,1,440,1.5,CSH,7.5 +CMT,1,1,861,7.0,CRD,21.0 +CMT,1,1,532,2.8,CSH,11.0 +CMT,1,1,288,1.2,CSH,6.5 +CMT,1,1,809,4.7,CRD,15.5 +CMT,1,1,755,4.3,CSH,15.0 +CMT,1,1,548,2.3,CSH,10.0 +CMT,1,1,206,0.6,CRD,4.5 +CMT,1,1,791,2.1,CRD,10.5 +CMT,1,1,300,1.2,CSH,6.0 +CMT,1,1,362,0.8,CSH,6.0 +CMT,1,1,412,1.7,CSH,8.0 +CMT,1,1,218,1.1,CRD,5.5 +CMT,1,3,229,0.7,CSH,5.0 +CMT,1,2,2107,11.1,CSH,37.0 +CMT,1,3,1387,4.8,CSH,18.5 +CMT,1,3,180,0.6,CSH,4.5 +CMT,1,1,609,1.8,CRD,9.0 +CMT,1,4,950,2.4,CRD,12.5 +CMT,1,1,299,0.6,CSH,5.0 +CMT,1,1,413,1.6,CSH,7.5 +CMT,1,1,357,1.4,CSH,7.0 +CMT,1,1,467,1.4,CSH,7.5 +CMT,1,1,1187,4.7,CSH,18.0 +CMT,2,1,30,0.0,CRD,52.0 +CMT,1,1,434,1.9,CSH,8.5 +CMT,1,2,269,1.2,CRD,6.5 +CMT,1,1,991,8.8,CSH,26.5 +CMT,1,1,687,2.0,CRD,10.5 +CMT,1,1,415,2.0,CRD,8.5 +CMT,1,2,764,3.1,CRD,12.5 +CMT,1,2,339,0.9,CSH,6.0 +CMT,1,1,943,1.4,CRD,11.0 +CMT,1,1,576,1.5,CRD,8.5 +CMT,1,3,813,2.1,CRD,11.0 +CMT,1,1,896,5.0,CRD,17.5 +CMT,1,1,614,1.4,CRD,8.5 +CMT,1,2,417,1.1,CSH,7.0 +CMT,1,1,699,2.1,CRD,10.5 +CMT,1,1,386,1.8,CRD,8.0 +CMT,1,1,486,2.0,CRD,9.0 +CMT,1,1,2098,4.7,CRD,24.5 +CMT,1,1,367,1.8,CRD,7.5 +CMT,1,1,861,2.7,CSH,12.0 +CMT,1,2,794,1.7,CRD,10.5 +CMT,1,1,2786,10.7,CSH,39.0 +CMT,1,2,732,4.0,CSH,13.5 +CMT,1,1,1645,4.3,CSH,20.0 +CMT,1,1,725,0.4,CRD,8.5 +CMT,1,4,1332,3.4,CRD,16.5 +CMT,1,1,206,0.7,CSH,4.5 +CMT,1,1,412,1.1,CRD,7.0 +CMT,1,1,953,2.8,CSH,13.0 +CMT,1,1,455,1.2,CSH,7.5 +CMT,1,1,745,2.9,CSH,12.0 +CMT,1,1,1354,5.9,CRD,21.5 +CMT,1,1,740,6.8,CSH,20.5 +CMT,1,1,1018,3.1,CSH,14.0 +CMT,1,2,451,1.1,CSH,7.0 +CMT,1,1,762,0.8,CRD,9.0 +CMT,1,2,1262,2.5,CRD,14.0 +CMT,1,1,993,2.7,CRD,13.0 +CMT,1,1,257,0.5,CSH,4.5 +CMT,1,1,693,2.4,CSH,10.5 +CMT,1,1,628,1.7,CRD,9.0 +CMT,1,1,1174,4.3,CRD,18.0 +CMT,1,1,322,0.9,CSH,6.0 +CMT,1,1,889,2.7,CRD,12.0 +CMT,1,1,540,1.7,CSH,8.5 +CMT,1,1,1682,7.3,CSH,26.0 +CMT,1,3,524,0.9,CRD,7.0 +CMT,1,5,710,1.2,CSH,9.0 +CMT,1,1,304,0.9,CSH,5.5 +CMT,1,1,701,2.4,CSH,11.0 +CMT,1,3,266,1.0,CRD,5.5 +CMT,1,1,183,1.0,CRD,5.0 +CMT,1,1,210,0.8,CSH,5.0 +CMT,1,1,197,0.6,CRD,4.5 +CMT,1,1,1047,4.3,CSH,17.0 +CMT,1,1,788,1.9,CSH,10.5 +CMT,1,1,390,0.9,CRD,6.0 +CMT,1,1,1102,2.9,CSH,14.5 +CMT,1,1,616,2.2,CSH,10.5 +CMT,1,1,847,3.3,CRD,13.0 +CMT,1,1,1089,4.9,CRD,18.5 +CMT,1,1,871,3.4,CSH,13.5 +CMT,1,1,538,1.1,CSH,8.0 +CMT,1,1,1718,4.8,CSH,21.0 +CMT,1,1,552,2.1,CSH,9.5 +CMT,1,2,346,1.7,CRD,7.5 +CMT,1,1,757,1.4,CRD,9.5 +CMT,1,1,463,1.1,CRD,7.0 +CMT,1,1,438,2.0,CRD,8.0 +CMT,1,1,534,1.4,CSH,8.0 +CMT,1,2,556,0.9,CSH,7.5 +CMT,1,1,529,2.3,CSH,9.5 +CMT,1,2,606,1.5,CRD,9.0 +CMT,1,3,307,0.4,CSH,5.0 +CMT,1,1,515,2.1,CRD,9.0 +CMT,1,1,718,2.6,CRD,11.5 +CMT,2,1,2142,17.3,CSH,52.0 +CMT,1,1,467,0.5,CSH,6.0 +CMT,1,1,911,1.4,CRD,10.5 +CMT,1,1,348,1.3,CRD,6.5 +CMT,1,1,1070,2.6,CRD,13.0 +CMT,1,1,643,1.5,CRD,9.0 +CMT,1,1,451,1.6,CSH,8.0 +CMT,1,1,445,1.9,CSH,8.5 +CMT,1,3,663,2.2,CSH,10.0 +CMT,1,1,22,0.3,CSH,2.5 +CMT,1,1,316,1.1,CRD,6.0 +CMT,1,1,565,1.2,CSH,8.0 +CMT,1,1,1347,3.9,CSH,17.5 +CMT,1,1,155,0.7,CSH,4.5 +CMT,1,1,627,1.2,CRD,8.5 +CMT,1,1,515,1.4,CRD,8.0 +CMT,1,1,392,0.7,CRD,6.0 +CMT,1,2,284,1.4,CRD,6.5 +CMT,1,1,691,4.7,CRD,15.5 +CMT,1,1,601,2.3,CRD,9.5 +CMT,1,1,236,0.8,CRD,5.0 +CMT,1,1,135,0.3,CSH,3.5 +CMT,1,2,871,4.4,CSH,16.5 +CMT,1,1,1046,4.3,CRD,15.5 +CMT,1,1,578,1.3,CSH,8.0 +CMT,1,1,684,0.9,CSH,9.0 +CMT,1,2,700,1.6,CRD,9.5 +CMT,1,1,515,1.0,CRD,7.5 +CMT,1,1,1019,3.1,CSH,14.0 +CMT,1,1,1002,3.6,CSH,15.0 +CMT,1,1,339,0.9,CSH,6.0 +CMT,1,1,1197,2.2,CRD,14.0 +CMT,1,1,331,1.2,CSH,6.5 +CMT,1,1,1650,5.7,CSH,22.0 +CMT,1,1,445,1.6,CRD,8.0 +CMT,1,1,632,1.6,CRD,9.0 +CMT,1,3,875,3.3,CSH,13.5 +CMT,1,1,523,2.6,CSH,10.0 +CMT,1,1,818,6.7,CSH,21.0 +CMT,1,1,291,0.9,CRD,5.5 +CMT,1,2,911,4.3,CRD,16.0 +CMT,1,1,908,9.7,CRD,28.0 +CMT,1,1,409,1.7,CSH,8.0 +CMT,1,1,978,2.2,CRD,12.0 +CMT,4,1,166,0.6,CSH,4.5 +CMT,1,1,772,1.4,CSH,10.0 +CMT,1,1,352,1.4,CSH,6.5 +CMT,1,1,473,0.9,CSH,6.5 +CMT,1,3,720,1.3,CSH,9.0 +CMT,1,1,999,3.6,CRD,15.0 +CMT,1,1,781,2.6,CRD,11.0 +CMT,1,3,730,2.7,CRD,11.5 +CMT,1,1,1011,4.8,CSH,17.0 +CMT,1,2,105,0.5,CSH,3.5 +CMT,1,1,241,0.6,CRD,5.0 +CMT,1,1,541,0.6,CSH,7.0 +CMT,1,1,180,0.5,CSH,4.5 +CMT,1,2,230,0.7,CSH,5.0 +CMT,1,1,926,0.8,CSH,10.5 +CMT,1,1,724,1.6,CSH,9.5 +CMT,1,1,1221,3.6,CSH,15.5 +CMT,1,1,319,0.8,CSH,5.5 +CMT,1,1,397,0.9,CRD,6.5 +CMT,1,2,462,1.9,CRD,8.5 +CMT,1,2,928,3.7,CSH,14.5 +CMT,1,1,204,0.9,CRD,5.0 +CMT,1,1,881,5.2,CRD,16.5 +CMT,1,1,485,1.4,CRD,7.5 +CMT,1,1,976,3.7,CRD,14.5 +CMT,1,1,356,1.1,CRD,6.0 +CMT,1,4,695,1.4,CSH,9.0 +CMT,1,2,624,2.9,CSH,11.0 +CMT,1,4,754,2.4,CSH,10.5 +CMT,1,1,570,1.2,CSH,7.5 +CMT,1,3,797,3.0,CSH,11.5 +CMT,1,1,18,0.0,NOC,2.5 +CMT,1,1,829,2.4,CRD,11.5 +CMT,1,1,1193,3.5,CSH,15.5 +CMT,1,1,259,0.9,CSH,5.5 +CMT,1,4,1009,2.4,CRD,13.0 +CMT,1,1,740,2.8,CRD,11.5 +CMT,1,1,516,2.3,CRD,9.5 +CMT,1,1,443,2.1,CRD,8.5 +CMT,1,1,685,2.9,CRD,11.5 +CMT,1,1,242,0.7,CRD,5.0 +CMT,1,2,2148,7.0,CSH,28.5 +CMT,1,4,1056,1.9,CSH,12.5 +CMT,1,1,707,5.0,CRD,16.5 +CMT,1,2,1117,9.4,CRD,28.0 +CMT,1,1,627,3.9,CSH,13.0 +CMT,1,1,206,0.6,CSH,4.5 +CMT,1,2,2240,9.2,CSH,33.5 +CMT,1,1,514,1.4,CSH,7.5 +CMT,1,1,518,2.7,CRD,10.0 +CMT,1,1,1103,3.9,CRD,15.5 +CMT,1,2,1055,3.8,CSH,14.5 +CMT,1,2,2179,9.3,CRD,34.0 +CMT,1,1,663,3.6,CSH,12.5 +CMT,1,2,504,1.0,CSH,7.0 +CMT,1,1,864,3.8,CRD,14.0 +CMT,1,2,692,2.4,CSH,10.0 +CMT,1,1,925,6.5,CRD,20.5 +CMT,1,1,1621,9.1,CRD,29.5 +CMT,1,1,1291,3.2,CRD,16.0 +CMT,1,1,603,0.9,CSH,7.5 +CMT,1,1,722,3.1,CSH,11.5 +CMT,1,1,741,1.6,CRD,9.5 +CMT,1,1,514,3.2,CSH,10.5 +CMT,1,1,243,1.5,CSH,6.0 +CMT,1,1,804,1.8,CSH,10.5 +CMT,1,1,948,3.4,CSH,14.0 +CMT,1,1,366,1.6,CRD,7.0 +CMT,1,1,824,4.5,CRD,15.0 +CMT,1,1,293,0.6,CRD,5.0 +CMT,1,2,733,2.3,CRD,11.0 +CMT,1,1,312,0.7,CSH,5.5 +CMT,1,1,309,0.6,CRD,5.0 +CMT,1,1,855,2.1,CRD,11.5 +CMT,1,1,1025,2.3,CRD,12.5 +CMT,1,1,272,1.1,CSH,6.0 +VTS,1,6,840,6.35,CRD,20.0 +VTS,1,6,1260,12.42,CRD,35.0 +VTS,1,5,840,4.81,CSH,15.5 +VTS,1,5,240,0.94,CSH,5.5 +VTS,1,1,960,2.83,CSH,12.5 +VTS,1,1,480,2.77,CSH,10.0 +VTS,1,6,780,1.99,CSH,10.0 +VTS,1,2,840,5.19,CSH,17.5 +VTS,1,6,240,0.64,CSH,5.0 +VTS,1,6,1200,7.67,CRD,25.0 +VTS,1,5,420,1.89,CSH,8.0 +VTS,1,6,840,3.35,CRD,13.5 +VTS,1,5,420,3.44,CRD,11.5 +CMT,1,1,929,1.8,CSH,11.5 +CMT,1,1,106,0.5,CSH,3.5 +CMT,1,1,1214,5.4,CRD,20.0 +CMT,1,1,1083,3.0,CRD,14.5 +CMT,1,1,465,1.5,CSH,7.5 +CMT,1,1,586,1.6,CRD,8.5 +CMT,1,1,735,1.2,CSH,9.5 +VTS,1,5,420,1.56,CRD,7.5 +VTS,1,5,240,0.48,CRD,4.5 +VTS,1,6,540,2.55,CSH,9.5 +VTS,1,6,1020,6.07,CSH,19.0 +VTS,1,5,480,1.7,CSH,8.0 +VTS,1,6,720,3.02,CRD,12.0 +VTS,1,6,600,3.94,CRD,13.5 +VTS,1,6,420,1.53,CRD,7.5 +VTS,1,5,1320,4.64,CSH,18.0 +VTS,1,6,60,0.33,CSH,3.0 +VTS,1,5,720,2.41,CRD,10.5 +VTS,1,5,660,5.51,CRD,17.0 +VTS,1,5,960,2.45,CRD,12.0 +VTS,1,5,300,1.16,CSH,5.5 +VTS,1,5,300,1.73,CRD,7.0 +VTS,1,6,1020,3.93,CRD,15.0 +VTS,1,1,540,2.83,CRD,10.5 +VTS,1,6,780,2.94,CRD,11.5 +VTS,1,5,240,1.01,CRD,5.5 +CMT,1,2,468,2.4,CSH,9.0 +CMT,1,1,1020,2.5,CRD,12.5 +CMT,1,1,187,0.6,CRD,4.5 +CMT,1,1,1328,4.7,CSH,18.0 +CMT,1,2,396,3.1,CRD,11.0 +CMT,1,1,1199,6.2,CRD,21.0 +CMT,1,1,481,1.3,CSH,7.5 +CMT,1,2,631,2.4,CRD,10.0 +CMT,1,1,308,0.4,CSH,5.0 +CMT,1,1,281,1.3,CRD,6.0 +CMT,1,1,372,1.2,CRD,7.0 +CMT,1,3,988,1.9,CSH,12.0 +CMT,1,1,476,0.6,CSH,6.5 +CMT,1,1,551,1.0,CSH,7.5 +CMT,1,1,746,2.7,CRD,11.0 +CMT,1,1,696,2.7,CSH,11.0 +CMT,1,1,1045,5.5,CRD,18.0 +CMT,1,1,634,2.6,CSH,10.5 +CMT,1,1,381,1.0,CSH,6.5 +CMT,1,1,165,1.1,CSH,5.0 +CMT,1,1,1375,8.4,CRD,25.5 +VTS,1,6,1860,14.72,CRD,43.0 +VTS,1,1,960,2.5,CSH,12.0 +VTS,1,1,540,1.93,CRD,8.5 +VTS,1,6,660,2.92,CRD,11.5 +VTS,1,6,180,0.7,CRD,4.5 +CMT,1,1,246,0.6,CSH,5.0 +CMT,1,1,1328,5.8,CRD,21.5 +CMT,1,1,1086,2.5,CRD,13.0 +CMT,1,1,432,0.8,CSH,6.0 +CMT,1,1,1013,1.9,CRD,12.0 +CMT,1,1,300,1.6,CRD,6.5 +CMT,1,1,592,2.0,CSH,9.0 +CMT,1,1,832,3.6,CSH,14.0 +CMT,1,1,935,3.9,CRD,14.5 +CMT,1,1,579,2.0,CSH,9.0 +CMT,1,1,749,2.5,CSH,12.0 +CMT,1,1,315,0.5,CRD,5.5 +CMT,1,1,368,1.2,CSH,7.0 +VTS,1,6,540,1.89,CRD,9.0 +VTS,1,5,1200,12.21,CRD,34.5 +VTS,1,6,960,4.86,CRD,16.5 +VTS,1,1,300,1.07,CRD,5.5 +VTS,1,5,420,1.87,CRD,8.0 +VTS,1,5,240,2.17,CRD,7.5 +VTS,1,1,360,0.87,CSH,6.0 +VTS,1,5,1260,12.86,CRD,36.0 +VTS,1,6,480,1.24,CSH,7.0 +VTS,1,5,480,1.9,CSH,8.5 +VTS,1,5,120,0.32,CSH,3.5 +VTS,1,6,1800,11.44,CRD,35.5 +VTS,1,6,240,1.46,CRD,6.0 +CMT,1,1,747,2.3,CRD,11.5 +CMT,1,1,466,0.9,CRD,7.0 +CMT,1,1,222,0.7,CSH,5.0 +CMT,1,1,1487,7.7,CSH,26.0 +CMT,1,1,823,3.3,CRD,13.0 +CMT,1,1,887,2.3,CRD,11.5 +CMT,1,1,700,2.3,CRD,10.5 +VTS,1,4,480,2.22,CSH,9.0 +VTS,1,6,600,2.0,CRD,9.5 +VTS,1,5,600,3.75,CSH,13.0 +VTS,1,6,1200,10.24,CRD,30.0 +VTS,1,5,420,0.95,CSH,6.5 +VTS,1,5,300,1.31,CRD,6.5 +VTS,1,5,900,3.65,CSH,14.0 +VTS,1,5,360,1.53,CSH,6.5 +VTS,1,5,720,1.51,CSH,9.5 +VTS,1,5,720,1.84,CRD,10.0 +VTS,1,5,300,0.87,CRD,5.5 +VTS,1,5,540,3.03,CRD,10.5 +VTS,1,5,300,0.97,CSH,5.5 +VTS,1,5,180,0.52,CSH,4.5 +VTS,1,5,180,0.59,CRD,4.5 +VTS,1,5,660,3.86,CRD,13.5 +VTS,1,6,840,3.18,CRD,12.5 +VTS,1,5,1260,6.31,CRD,22.0 +VTS,1,1,240,1.1,CSH,5.5 +CMT,1,1,582,1.7,CRD,9.0 +CMT,1,1,2038,5.5,CRD,26.0 +CMT,1,1,321,1.9,CRD,7.5 +CMT,1,1,750,1.3,CSH,9.0 +CMT,1,1,818,2.5,CSH,11.5 +CMT,1,1,203,0.7,CSH,4.5 +CMT,1,1,572,3.0,CRD,11.5 +VTS,1,5,1680,6.62,CRD,24.0 +VTS,1,6,360,0.83,CSH,6.0 +VTS,1,6,840,3.94,CRD,14.5 +VTS,1,5,120,1.05,CSH,5.0 +VTS,1,6,120,0.63,CSH,4.0 +VTS,1,5,240,0.68,CSH,5.0 +VTS,1,5,420,1.46,CRD,7.5 +VTS,1,5,600,3.28,CRD,11.5 +VTS,1,1,1020,6.06,CSH,20.5 +VTS,1,5,360,1.28,CRD,6.5 +VTS,1,5,300,0.79,CSH,5.5 +VTS,1,5,480,1.63,CRD,8.0 +VTS,1,5,720,1.7,CRD,10.0 +VTS,1,5,960,2.14,CRD,12.0 +VTS,1,5,540,2.15,CRD,8.5 +VTS,1,5,420,0.79,CSH,6.0 +VTS,1,5,480,2.81,CRD,10.5 +VTS,1,6,480,2.53,CSH,9.5 +VTS,1,6,960,3.98,CSH,15.5 +CMT,1,1,150,0.6,CSH,4.0 +CMT,1,1,1768,5.5,CRD,23.5 +VTS,1,5,660,1.98,CSH,10.0 +VTS,1,6,360,1.47,CSH,6.5 +VTS,1,1,240,1.17,CRD,5.5 +VTS,1,5,1620,10.54,CSH,31.5 +VTS,1,6,300,1.06,CRD,5.5 +VTS,1,5,660,1.73,CSH,9.0 +VTS,1,5,300,0.95,CRD,5.5 +VTS,1,6,2640,16.69,CSH,50.0 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,5,1080,2.5,CSH,12.5 +VTS,1,6,180,0.91,CSH,4.5 +VTS,1,5,600,1.19,CSH,8.0 +VTS,1,6,660,1.85,CSH,9.5 +VTS,1,6,660,4.26,CSH,14.0 +VTS,1,5,420,1.16,CRD,7.0 +VTS,1,6,660,2.03,CSH,10.0 +VTS,1,5,180,0.81,CRD,4.5 +VTS,1,6,840,2.58,CSH,12.5 +VTS,1,5,360,1.51,CRD,7.0 +VTS,1,5,360,0.73,CSH,6.0 +VTS,1,6,660,2.77,CRD,10.5 +VTS,1,5,480,2.14,CSH,9.0 +VTS,1,5,1200,3.36,CRD,14.5 +VTS,1,5,180,1.01,CRD,5.0 +VTS,1,5,480,1.38,CRD,7.5 +VTS,1,6,480,1.54,CSH,7.5 +VTS,1,5,120,0.69,CRD,4.0 +VTS,1,6,240,1.04,CSH,5.5 +VTS,1,5,660,2.85,CSH,11.5 +VTS,1,6,900,10.62,CRD,29.5 +VTS,1,5,300,0.6,CRD,5.0 +VTS,1,1,360,1.0,CSH,6.0 +VTS,1,6,60,0.09,CRD,2.5 +VTS,1,5,360,0.83,CSH,5.5 +VTS,1,5,720,3.09,CRD,12.0 +VTS,1,5,120,0.4,CSH,3.5 +VTS,1,5,540,1.49,CRD,8.0 +VTS,1,5,540,1.7,CRD,8.5 +VTS,1,6,720,3.26,CRD,12.5 +VTS,1,1,480,1.63,CSH,7.5 +VTS,1,6,900,2.52,CRD,11.5 +VTS,1,6,660,1.07,CRD,8.5 +VTS,1,5,360,1.06,CSH,6.0 +VTS,1,5,1380,2.86,CRD,15.0 +VTS,1,6,480,0.82,CSH,6.5 +VTS,1,5,780,2.27,CRD,11.0 +VTS,1,1,600,2.01,CRD,9.0 +VTS,1,6,1080,2.3,CRD,13.0 +VTS,1,5,1080,3.28,CRD,14.0 +VTS,1,6,540,1.07,CRD,7.0 +VTS,1,5,1200,5.47,CSH,19.5 +VTS,1,6,600,4.18,CRD,13.5 +VTS,1,6,1440,7.31,CRD,24.0 +VTS,1,5,420,1.17,CSH,6.5 +VTS,1,5,1080,2.87,CSH,14.0 +VTS,1,6,1080,6.41,CRD,20.0 +VTS,1,5,300,1.43,CRD,6.5 +VTS,1,5,1260,7.07,CSH,22.5 +VTS,1,5,900,2.21,CRD,11.0 +VTS,1,4,420,1.77,CSH,7.5 +VTS,1,5,720,2.72,CRD,11.0 +VTS,1,6,300,1.29,CSH,6.0 +VTS,1,5,600,1.96,CRD,8.5 +VTS,1,6,1020,4.52,CSH,17.5 +VTS,1,5,300,1.02,CRD,5.5 +VTS,1,5,120,0.43,CSH,4.0 +VTS,1,5,480,2.11,CRD,8.0 +VTS,1,5,840,3.8,CRD,13.5 +VTS,1,5,480,1.71,CSH,8.5 +VTS,1,5,720,2.11,CRD,10.0 +VTS,1,6,1260,5.11,CRD,19.5 +VTS,1,5,300,1.58,CRD,6.5 +VTS,1,6,1800,5.62,CRD,23.0 +VTS,1,6,540,3.63,CRD,11.5 +VTS,1,1,480,1.41,CSH,8.0 +VTS,1,1,240,0.59,CRD,5.0 +VTS,1,5,480,1.63,CSH,8.0 +VTS,1,2,600,1.96,CSH,9.0 +VTS,1,1,300,1.05,CSH,6.0 +VTS,1,5,1020,6.05,CRD,19.5 +VTS,1,5,180,1.09,CSH,5.0 +VTS,1,6,1860,8.89,CSH,30.5 +VTS,1,6,840,3.25,CSH,13.0 +VTS,1,5,120,0.45,CRD,3.5 +VTS,1,6,360,1.18,CRD,6.5 +VTS,1,5,240,0.68,CRD,4.5 +VTS,1,6,1020,6.71,CRD,21.5 +VTS,1,5,1020,4.24,CRD,15.5 +VTS,1,5,720,2.47,CSH,11.0 +VTS,1,5,900,7.54,CSH,22.5 +VTS,1,5,480,1.46,CRD,7.5 +VTS,1,5,720,2.98,CRD,12.0 +VTS,1,6,960,4.22,CSH,15.5 +VTS,1,1,540,1.9,CSH,9.0 +VTS,1,6,540,2.0,CRD,8.5 +VTS,1,6,780,3.0,CRD,12.0 +VTS,1,6,300,1.08,CSH,5.5 +VTS,1,6,960,4.02,CSH,14.5 +VTS,1,5,720,3.51,CSH,12.5 +VTS,1,1,660,3.33,CSH,11.5 +VTS,1,1,540,3.06,CRD,11.0 +VTS,1,6,360,1.04,CRD,6.0 +VTS,1,1,660,1.55,CSH,9.0 +VTS,1,6,780,7.07,CRD,21.5 +VTS,1,5,300,0.78,CSH,5.5 +VTS,1,5,1080,6.16,CRD,19.5 +VTS,1,5,540,2.01,CSH,9.0 +VTS,1,6,540,2.01,CRD,9.0 +VTS,1,5,660,2.09,CRD,9.5 +VTS,1,5,360,1.34,CSH,6.5 +VTS,1,6,1020,3.92,CSH,15.5 +VTS,1,5,660,1.75,CRD,9.5 +VTS,1,5,720,6.45,CRD,19.5 +VTS,1,6,360,1.02,CRD,6.0 +VTS,1,5,720,3.45,CRD,13.0 +VTS,1,5,1200,12.11,CRD,34.0 +VTS,1,5,600,2.37,CSH,10.0 +VTS,1,6,360,2.17,CRD,8.5 +VTS,1,5,360,1.66,CRD,8.0 +VTS,1,6,600,3.58,CRD,12.5 +VTS,1,6,240,1.66,CRD,6.5 +VTS,1,5,240,1.11,CRD,5.5 +VTS,1,5,240,0.66,CSH,4.5 +VTS,1,6,660,1.32,CRD,8.5 +VTS,1,6,1080,4.82,CSH,17.5 +VTS,1,5,360,1.73,CRD,7.0 +VTS,1,6,300,0.78,CRD,5.5 +VTS,1,5,180,0.57,CRD,4.5 +VTS,1,6,180,0.85,CRD,4.5 +VTS,1,5,1500,8.69,CRD,27.5 +VTS,1,6,660,3.83,CRD,13.0 +VTS,1,6,780,4.64,CRD,15.5 +VTS,1,5,540,1.3,CSH,8.0 +VTS,1,6,1380,6.85,CRD,24.0 +VTS,1,6,420,1.26,CRD,7.0 +VTS,1,6,480,2.11,CRD,9.0 +VTS,1,1,1200,5.91,CSH,20.5 +VTS,1,6,1440,10.44,CRD,31.5 +VTS,1,2,900,3.8,CRD,14.5 +VTS,1,5,120,0.53,CSH,4.0 +VTS,1,5,300,0.71,CRD,5.0 +VTS,1,5,480,1.44,CSH,7.5 +VTS,1,6,1500,9.4,CRD,29.0 +VTS,1,5,360,1.17,CSH,6.5 +VTS,1,6,600,3.75,CRD,13.0 +VTS,1,6,360,0.67,CSH,5.5 +VTS,1,6,600,1.78,CSH,9.0 +VTS,1,6,420,1.77,CSH,8.0 +VTS,1,6,240,0.6,CSH,4.5 +VTS,1,1,240,0.43,CSH,4.5 +VTS,1,6,420,1.29,CRD,6.5 +VTS,1,1,420,1.37,CSH,7.0 +VTS,1,6,420,3.06,CRD,10.0 +VTS,1,1,1020,3.17,CRD,13.5 +VTS,1,5,120,0.44,CRD,3.5 +VTS,1,5,360,1.6,CSH,7.5 +VTS,1,6,540,4.48,CSH,14.0 +VTS,1,1,840,2.4,CSH,11.5 +VTS,1,6,840,1.83,CRD,10.5 +VTS,1,6,660,3.62,CRD,13.0 +VTS,1,6,540,1.98,CSH,9.0 +VTS,1,6,600,2.77,CRD,10.5 +VTS,1,6,780,6.49,CRD,20.0 +VTS,1,6,900,4.27,CRD,15.0 +VTS,1,5,300,0.85,CSH,5.5 +VTS,1,5,300,1.19,CRD,6.0 +VTS,1,1,300,2.06,CSH,7.5 +VTS,1,6,1260,6.12,CRD,20.5 +VTS,1,5,120,0.28,CSH,3.0 +VTS,1,5,420,1.17,CSH,6.5 +VTS,1,5,240,0.91,CRD,5.5 +VTS,1,5,1200,4.79,CSH,18.0 +VTS,1,1,420,2.21,CSH,8.5 +VTS,1,5,1140,7.85,CRD,24.5 +VTS,1,6,720,4.16,CRD,14.5 +VTS,1,5,420,1.35,CRD,6.5 +VTS,1,6,420,0.72,CSH,5.5 +VTS,1,6,840,2.62,CSH,11.5 +VTS,1,5,480,0.83,CSH,6.5 +VTS,1,5,420,3.16,CRD,11.0 +CMT,1,1,310,1.0,CRD,6.0 +CMT,1,1,1040,2.8,CSH,13.5 +CMT,1,1,357,1.2,CRD,6.5 +CMT,1,1,1796,13.4,CRD,38.5 +CMT,1,3,888,3.0,CSH,13.0 +CMT,1,1,102,0.3,CSH,3.5 +CMT,1,1,242,0.5,CRD,4.5 +CMT,1,1,978,13.9,CRD,37.0 +CMT,1,3,594,2.3,CSH,10.0 +CMT,1,1,1442,3.2,CSH,17.5 +CMT,1,1,604,2.5,CRD,10.0 +CMT,1,1,639,2.5,CSH,10.5 +CMT,1,1,239,1.4,CRD,6.0 +CMT,1,1,1497,13.0,CSH,37.0 +CMT,1,1,301,0.8,CSH,5.5 +CMT,1,1,194,0.6,CSH,4.5 +CMT,1,2,1473,10.5,CSH,31.5 +CMT,1,2,807,2.5,CSH,11.0 +CMT,1,1,859,3.3,CRD,13.0 +CMT,1,2,111,0.6,CSH,4.0 +CMT,1,1,279,0.9,CRD,5.5 +CMT,1,1,440,1.1,CSH,7.0 +CMT,1,1,456,0.9,CSH,6.5 +CMT,1,1,1074,2.2,CRD,13.0 +CMT,1,1,300,1.1,CRD,6.0 +CMT,1,2,327,1.3,CRD,6.5 +CMT,1,1,581,3.0,CRD,11.0 +CMT,1,3,309,1.5,CSH,6.5 +CMT,1,2,571,2.8,CSH,11.5 +CMT,1,2,863,3.0,CSH,12.5 +CMT,1,1,986,5.5,CRD,19.0 +CMT,1,1,1326,6.3,CSH,22.0 +CMT,1,1,1090,2.3,CSH,13.5 +CMT,1,1,31,0.0,CSH,2.5 +CMT,1,4,191,0.4,CSH,4.0 +CMT,1,3,1332,2.8,CSH,15.5 +CMT,1,2,1356,5.1,CRD,20.0 +CMT,1,3,1621,6.6,CRD,24.0 +CMT,1,1,178,1.1,CSH,5.0 +CMT,1,1,398,0.7,CRD,6.0 +CMT,1,1,787,1.2,CRD,9.5 +CMT,1,1,825,1.6,CSH,10.0 +CMT,1,1,608,1.9,CRD,9.5 +CMT,1,1,218,0.4,CSH,4.5 +CMT,1,1,603,3.2,CSH,11.5 +CMT,1,1,1070,4.4,CRD,16.5 +VTS,1,5,600,3.07,CRD,11.0 +VTS,1,6,120,0.13,CSH,3.0 +VTS,1,5,300,1.05,CRD,6.0 +VTS,1,5,780,8.23,CRD,23.0 +VTS,1,5,900,8.83,CRD,25.0 +VTS,1,1,1080,2.79,CSH,14.0 +VTS,1,6,600,4.77,CRD,15.0 +VTS,1,5,900,3.5,CRD,13.5 +VTS,1,5,420,0.93,CRD,6.5 +VTS,1,5,780,1.55,CSH,10.0 +VTS,1,6,300,1.5,CSH,6.5 +VTS,1,6,720,1.88,CSH,9.5 +VTS,1,5,120,0.39,CRD,3.5 +VTS,1,6,480,2.2,CRD,8.5 +VTS,1,6,360,1.54,CRD,7.0 +VTS,1,6,180,0.92,CSH,5.0 +VTS,1,6,600,1.86,CSH,8.5 +VTS,1,5,900,5.81,CRD,17.5 +VTS,1,5,720,6.95,CRD,20.5 +VTS,1,6,240,0.87,CRD,5.5 +VTS,1,6,840,2.71,CRD,11.0 +VTS,1,6,300,0.9,CRD,5.5 +VTS,1,6,420,1.17,CRD,6.5 +VTS,1,6,300,0.75,CRD,5.5 +VTS,1,6,540,2.63,CSH,9.5 +VTS,1,6,660,2.42,CRD,10.5 +VTS,1,6,180,0.49,CSH,4.0 +VTS,1,6,960,6.13,CSH,19.0 +VTS,1,5,720,2.61,CRD,11.0 +VTS,1,6,300,0.83,CRD,5.5 +VTS,1,6,720,4.14,CSH,14.0 +VTS,1,6,720,1.16,CSH,9.0 +VTS,1,6,1260,5.57,CRD,19.0 +VTS,1,5,1080,7.39,CSH,23.0 +VTS,1,1,1140,3.14,CSH,14.0 +VTS,1,6,480,1.8,CRD,8.5 +VTS,1,1,1500,5.52,CSH,17.0 +VTS,1,5,600,3.66,CSH,13.0 +VTS,1,5,420,1.41,CRD,7.0 +VTS,1,5,1680,10.44,CRD,31.5 +VTS,1,5,720,2.05,CRD,9.5 +VTS,1,5,900,4.48,CRD,16.0 +VTS,1,1,1380,5.94,CSH,20.5 +VTS,1,5,480,1.52,CRD,8.0 +VTS,1,5,300,0.96,CRD,5.5 +VTS,1,1,1320,7.14,CRD,24.0 +VTS,1,6,300,1.72,CSH,7.0 +VTS,1,5,240,0.76,CRD,5.0 +VTS,1,5,720,1.76,CRD,9.0 +VTS,1,6,540,2.25,CSH,10.0 +VTS,1,6,300,1.19,CRD,6.0 +VTS,1,5,180,0.71,CSH,4.5 +VTS,1,6,660,2.0,CRD,9.0 +VTS,1,6,240,0.48,CSH,5.0 +VTS,1,5,420,1.56,CSH,6.5 +VTS,1,6,240,1.09,CRD,5.5 +VTS,1,6,360,2.09,CSH,8.0 +VTS,1,5,900,3.5,CSH,13.5 +VTS,1,5,1560,7.52,CRD,25.5 +VTS,1,5,720,2.45,CRD,10.5 +VTS,1,5,1140,10.04,CRD,28.0 +VTS,1,6,600,1.01,CSH,7.5 +VTS,1,1,360,0.82,CRD,5.5 +VTS,1,5,1200,4.79,CRD,18.0 +VTS,1,6,660,1.52,CRD,9.0 +VTS,1,5,1680,16.06,CSH,44.0 +VTS,1,6,480,1.67,CRD,8.0 +VTS,1,5,1020,3.51,CSH,14.5 +VTS,1,6,420,1.04,CSH,6.5 +VTS,1,6,420,2.38,CSH,8.5 +VTS,1,6,240,0.91,CRD,5.5 +VTS,1,6,1680,6.15,CRD,22.5 +VTS,1,6,480,1.75,CRD,8.5 +VTS,1,6,840,2.11,CRD,10.5 +VTS,1,5,180,0.5,CRD,4.0 +VTS,1,5,1140,5.07,CSH,18.0 +VTS,1,6,240,0.67,CRD,5.0 +VTS,1,5,1560,7.09,CRD,24.5 +VTS,1,5,300,0.93,CRD,6.0 +VTS,1,5,720,1.42,CSH,8.5 +VTS,1,5,720,1.88,CRD,9.5 +VTS,1,5,720,3.1,CSH,12.0 +VTS,1,6,840,4.54,CRD,15.0 +VTS,1,5,1020,9.22,CSH,26.5 +VTS,1,6,780,3.32,CRD,13.0 +VTS,1,1,300,0.7,CSH,5.0 +VTS,1,6,900,2.92,CSH,12.5 +VTS,1,1,600,1.12,CSH,8.0 +VTS,1,6,660,4.87,CSH,15.5 +VTS,1,5,180,0.68,CRD,4.5 +VTS,1,5,360,1.15,CRD,6.5 +VTS,1,6,900,8.8,CRD,25.0 +VTS,1,5,1920,14.0,CRD,41.0 +VTS,1,6,1080,3.88,CRD,15.5 +VTS,1,6,1140,6.31,CSH,20.0 +VTS,1,6,240,1.08,CRD,5.0 +VTS,1,6,720,1.96,CRD,10.0 +VTS,1,5,660,2.18,CSH,10.0 +VTS,1,5,540,1.98,CRD,8.5 +VTS,1,6,300,1.07,CRD,6.0 +VTS,1,6,120,0.54,CRD,4.0 +VTS,1,6,480,1.3,CSH,7.0 +VTS,1,5,960,3.46,CRD,14.5 +VTS,1,6,540,2.63,CRD,10.0 +VTS,1,5,300,1.03,CRD,6.0 +VTS,1,6,900,2.24,CSH,11.5 +VTS,1,5,300,0.93,CRD,6.0 +VTS,1,6,420,2.19,CRD,8.5 +VTS,1,5,480,2.23,CRD,8.5 +VTS,1,5,420,1.34,CRD,6.5 +VTS,1,6,960,3.28,CRD,13.0 +VTS,1,6,300,0.78,CRD,5.5 +VTS,1,6,900,3.12,CSH,12.5 +VTS,1,6,120,0.88,CSH,4.5 +VTS,1,5,1740,6.75,CRD,25.0 +VTS,1,6,240,0.88,CRD,5.0 +VTS,1,5,120,0.51,CSH,4.0 +VTS,1,5,840,2.06,CRD,11.5 +VTS,1,1,1440,13.19,CRD,37.5 +VTS,1,6,600,0.92,CSH,7.5 +VTS,1,6,600,1.76,CSH,9.0 +VTS,1,6,300,0.82,CRD,5.5 +VTS,1,6,240,0.89,CRD,5.0 +VTS,1,5,660,2.14,CRD,10.0 +VTS,1,5,780,3.06,CRD,13.0 +VTS,1,1,420,0.96,CRD,6.0 +VTS,1,1,180,0.61,CRD,4.0 +VTS,1,6,660,4.52,CRD,15.0 +VTS,1,1,660,1.84,CSH,9.5 +VTS,1,5,1380,5.75,CSH,21.5 +VTS,1,6,900,5.58,CSH,17.5 +VTS,1,6,360,1.27,CRD,6.5 +VTS,1,5,540,1.43,CRD,8.0 +VTS,1,5,900,3.97,CRD,14.0 +VTS,1,5,360,1.38,CSH,6.5 +VTS,1,6,300,1.09,CRD,6.0 +VTS,1,6,300,1.12,CRD,5.5 +VTS,1,5,300,0.99,CSH,6.0 +VTS,1,5,240,1.19,CRD,5.5 +VTS,1,5,240,0.75,CRD,5.0 +VTS,1,6,480,2.32,CRD,9.0 +VTS,1,6,840,2.27,CRD,11.0 +VTS,1,5,540,1.71,CSH,8.5 +VTS,1,5,360,1.05,CRD,6.0 +VTS,1,5,600,2.1,CRD,9.5 +VTS,1,5,1500,3.59,CRD,17.5 +VTS,1,6,720,1.4,CSH,9.0 +VTS,1,5,300,1.51,CRD,7.0 +VTS,1,6,240,1.31,CSH,6.0 +VTS,1,5,1320,7.34,CSH,23.0 +VTS,1,5,240,0.87,CRD,5.0 +VTS,1,5,1020,5.01,CRD,17.5 +VTS,1,6,1020,6.59,CSH,21.5 +VTS,1,6,180,0.81,CRD,5.0 +VTS,1,5,240,0.51,CSH,4.5 +VTS,1,6,540,1.44,CRD,7.5 +VTS,1,5,120,0.52,CSH,3.5 +VTS,1,6,660,2.05,CSH,8.5 +VTS,1,6,780,2.41,CSH,11.0 +VTS,1,6,660,2.02,CRD,9.5 +VTS,1,1,360,1.01,CRD,5.5 +VTS,1,6,540,2.05,CRD,9.0 +VTS,1,6,60,0.83,CRD,4.5 +VTS,1,6,120,0.84,CSH,4.5 +VTS,1,1,300,1.09,CSH,5.5 +VTS,1,6,540,2.29,CSH,9.5 +VTS,1,5,1080,6.63,CRD,21.5 +VTS,1,6,600,4.24,CRD,13.5 +VTS,1,6,1560,6.32,CRD,22.0 +VTS,1,5,420,1.48,CRD,7.5 +VTS,1,5,420,1.7,CRD,7.5 +VTS,1,5,900,2.88,CSH,12.0 +VTS,1,5,1140,3.17,CRD,14.5 +VTS,1,5,480,1.16,CSH,7.5 +VTS,1,6,120,0.52,CSH,4.0 +VTS,1,5,540,1.87,CRD,8.5 +VTS,1,1,540,2.49,CRD,9.5 +VTS,1,5,900,4.14,CSH,14.5 +VTS,1,6,840,3.09,CRD,12.5 +VTS,1,6,1620,6.8,CRD,25.0 +VTS,1,6,660,2.05,CRD,10.0 +VTS,1,6,240,1.03,CRD,5.5 +VTS,1,5,360,0.79,CSH,5.5 +VTS,1,6,600,1.98,CRD,9.0 +VTS,1,1,360,0.83,CRD,5.5 +VTS,1,1,900,3.09,CSH,13.0 +VTS,1,5,480,1.32,CRD,7.0 +VTS,1,6,780,8.69,CRD,24.0 +VTS,1,6,660,2.0,CSH,9.0 +VTS,1,6,600,2.92,CRD,11.0 +VTS,1,6,420,2.57,CSH,10.0 +VTS,1,6,480,2.03,CRD,8.5 +VTS,1,5,780,3.1,CRD,12.5 +VTS,1,5,540,1.77,CRD,8.5 +VTS,1,5,180,0.72,CRD,4.5 +VTS,1,6,720,3.81,CSH,12.5 +VTS,1,5,1260,12.83,CSH,36.0 +VTS,1,5,120,0.53,CSH,3.5 +VTS,1,6,1020,9.06,CSH,26.0 +VTS,1,5,480,1.23,CSH,7.5 +VTS,1,5,300,1.28,CRD,6.5 +VTS,1,5,1260,2.54,CRD,13.5 +VTS,1,1,1620,4.15,CRD,18.5 +VTS,1,6,420,2.59,CRD,9.0 +VTS,1,6,300,1.45,CRD,7.0 +VTS,1,6,1200,1.12,CRD,13.5 +VTS,1,6,1440,5.94,CRD,22.5 +VTS,1,6,420,0.74,CRD,6.0 +VTS,1,6,900,3.49,CRD,13.5 +VTS,1,6,900,3.59,CRD,13.5 +VTS,1,5,720,3.58,CSH,12.5 +VTS,1,6,960,4.03,CRD,14.5 +VTS,1,5,1140,3.2,CRD,15.0 +VTS,1,6,300,1.05,CSH,5.5 +VTS,1,5,1260,4.39,CSH,17.0 +VTS,1,6,300,1.27,CRD,6.5 +VTS,1,6,420,1.72,CRD,7.5 +VTS,1,5,1080,3.62,CRD,15.5 +VTS,1,5,1080,3.79,CRD,16.5 +VTS,1,5,360,0.9,CRD,5.5 +VTS,1,6,360,0.92,CSH,6.0 +VTS,1,6,540,2.89,CRD,10.5 +VTS,1,6,1560,5.66,CRD,21.5 +VTS,1,6,1200,6.5,CRD,22.5 +VTS,1,6,600,1.67,CSH,9.0 +VTS,1,6,900,2.99,CRD,12.5 +VTS,1,5,660,2.76,CRD,11.0 +VTS,1,5,180,0.8,CSH,4.5 +VTS,1,5,300,0.63,CSH,5.0 +VTS,1,5,1140,4.25,CRD,16.5 +VTS,1,5,420,1.18,CRD,7.0 +VTS,1,6,1440,5.55,CRD,20.5 +VTS,1,5,360,1.78,CSH,7.5 +VTS,1,5,240,1.05,CRD,5.5 +VTS,1,6,840,4.62,CSH,15.5 +VTS,1,5,420,1.39,CSH,7.0 +VTS,1,6,240,0.87,CSH,5.5 +VTS,1,5,1260,7.96,CRD,25.0 +VTS,1,6,300,1.19,CRD,6.0 +VTS,1,6,60,0.38,CSH,3.5 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,6,540,2.49,CRD,9.0 +VTS,1,6,600,1.2,CSH,7.5 +VTS,1,5,1080,7.05,CRD,22.5 +VTS,1,6,600,1.25,CSH,7.5 +VTS,1,6,540,1.88,CRD,8.5 +VTS,1,6,1380,2.71,CRD,16.5 +VTS,1,6,840,2.33,CRD,11.5 +VTS,1,1,780,2.0,CRD,10.5 +VTS,1,6,540,2.27,CSH,9.5 +VTS,1,6,180,0.22,CSH,3.5 +VTS,1,5,540,1.95,CSH,9.0 +VTS,1,5,780,2.4,CRD,11.0 +VTS,1,6,660,1.52,CRD,9.0 +VTS,1,5,240,0.66,CRD,4.5 +VTS,1,6,1440,6.91,CRD,24.0 +VTS,1,6,960,4.33,CSH,15.5 +VTS,1,1,840,1.06,CSH,10.0 +VTS,1,6,360,0.88,CSH,5.5 +VTS,1,6,300,1.47,CRD,6.5 +VTS,1,6,480,2.46,CRD,10.0 +VTS,1,5,480,1.47,CRD,8.0 +VTS,1,6,720,4.1,CRD,13.5 +VTS,1,1,420,2.14,CSH,8.5 +VTS,1,6,480,1.31,CRD,7.5 +VTS,1,6,540,2.11,CSH,9.0 +VTS,5,1,1920,16.13,CRD,68.0 +VTS,1,5,360,1.01,CSH,6.0 +VTS,1,6,840,1.44,CRD,9.5 +VTS,1,6,1020,2.95,CSH,12.5 +VTS,1,6,540,1.45,CRD,8.0 +VTS,1,6,1260,3.19,CSH,14.5 +VTS,1,6,360,2.3,CRD,8.0 +VTS,1,5,240,0.64,CSH,4.5 +VTS,1,6,600,3.82,CSH,13.0 +VTS,1,6,1320,3.52,CSH,16.0 +VTS,1,5,1920,4.23,CRD,21.0 +VTS,1,6,480,1.54,CRD,7.5 +VTS,1,6,420,1.29,CSH,6.5 +VTS,1,5,480,1.27,CRD,7.5 +VTS,1,6,360,0.7,CRD,5.5 +VTS,1,6,780,2.74,CSH,11.5 +VTS,1,1,420,2.48,CSH,8.5 +VTS,1,6,420,1.67,CSH,7.5 +VTS,1,6,360,0.64,CRD,6.0 +VTS,5,1,1020,4.84,CRD,45.0 +VTS,1,6,600,2.45,CSH,10.0 +VTS,1,6,1200,3.33,CRD,14.5 +VTS,1,6,180,0.64,CRD,4.5 +VTS,1,6,1020,4.23,CRD,15.5 +VTS,1,6,540,1.79,CRD,8.5 +VTS,1,6,300,1.44,CRD,6.5 +VTS,1,6,240,0.55,CSH,5.0 +VTS,1,6,300,0.75,CSH,5.0 +VTS,1,6,420,1.21,CSH,6.5 +VTS,1,5,420,1.6,CSH,7.5 +VTS,1,6,660,1.84,CRD,9.5 +VTS,1,5,420,0.95,CSH,6.5 +VTS,1,5,1320,3.25,CRD,16.0 +VTS,1,6,780,3.05,CRD,12.0 +VTS,1,5,540,1.91,CSH,9.0 +VTS,1,6,600,4.52,CRD,14.0 +VTS,1,5,300,1.42,CRD,6.5 +VTS,1,6,240,0.83,CRD,5.5 +VTS,1,5,540,2.42,CRD,9.5 +VTS,1,6,420,2.81,CSH,9.5 +VTS,1,6,120,0.3,CRD,3.5 +VTS,1,6,600,2.54,CRD,10.0 +VTS,1,5,420,1.65,CSH,8.0 +VTS,1,6,120,0.6,CRD,4.0 +VTS,1,5,360,0.78,CRD,5.5 +VTS,1,6,240,1.02,CSH,5.5 +VTS,1,5,660,1.5,CSH,8.5 +VTS,5,1,0,0.0,CRD,5.0 +VTS,1,6,540,2.58,CSH,10.0 +VTS,1,5,600,4.33,CSH,14.0 +VTS,1,6,420,2.57,CRD,9.0 +VTS,1,6,420,1.29,CSH,6.5 +VTS,1,6,300,0.54,CRD,5.0 +VTS,1,6,720,3.46,CSH,13.0 +VTS,1,6,2100,15.87,CSH,45.5 +VTS,1,6,2160,11.74,CRD,37.5 +VTS,1,6,420,1.27,CRD,6.5 +VTS,1,5,600,1.54,CRD,8.0 +VTS,1,5,720,1.88,CSH,10.0 +VTS,1,6,240,0.88,CRD,4.5 +VTS,1,6,360,0.87,CRD,5.5 +VTS,1,6,1860,13.02,CRD,38.0 +VTS,1,6,960,1.97,CRD,11.5 +VTS,1,6,240,0.37,CRD,4.5 +VTS,1,5,240,1.01,CRD,5.0 +VTS,1,6,600,1.59,CRD,8.5 +VTS,1,1,840,5.38,CSH,17.0 +VTS,2,1,2160,19.47,CRD,52.0 +VTS,1,1,900,3.0,CSH,13.0 +VTS,1,1,420,2.22,CSH,9.5 +VTS,1,1,180,0.59,CSH,4.0 +VTS,1,1,1140,4.29,CRD,17.0 +VTS,1,1,1020,3.47,CRD,15.0 +VTS,1,1,240,0.89,CRD,5.0 +VTS,1,1,1080,4.46,CRD,17.5 +VTS,1,1,540,2.2,CRD,9.0 +VTS,1,1,900,4.22,CSH,15.5 +VTS,1,1,60,0.41,CSH,3.5 +VTS,1,1,420,1.31,CSH,7.0 +VTS,1,6,360,1.05,CSH,6.0 +VTS,1,6,300,1.52,CSH,6.5 +VTS,1,5,660,2.41,CRD,10.5 +VTS,1,5,840,5.05,CRD,16.0 +VTS,1,6,720,2.13,CRD,10.0 +VTS,1,6,1020,3.18,CRD,13.5 +VTS,1,6,540,2.52,CRD,10.0 +VTS,1,5,840,2.91,CRD,12.0 +VTS,1,6,1020,5.11,CRD,17.0 +VTS,1,5,960,4.59,CRD,16.0 +VTS,1,5,420,1.13,CRD,7.0 +VTS,1,6,720,3.91,CRD,13.5 +VTS,1,6,1500,9.12,CRD,29.0 +VTS,1,5,360,1.23,CSH,6.5 +VTS,1,5,900,6.59,CRD,20.5 +VTS,1,5,840,3.99,CRD,13.5 +VTS,1,6,1080,3.52,CSH,16.0 +VTS,1,6,480,3.16,CRD,10.5 +VTS,1,6,720,1.65,CSH,10.0 +VTS,1,6,660,2.14,CRD,10.0 +VTS,1,6,1080,7.04,CSH,22.0 +VTS,1,6,420,1.57,CRD,7.5 +VTS,1,5,780,0.75,CRD,9.0 +VTS,1,6,960,5.41,CRD,17.5 +VTS,1,5,420,1.88,CRD,8.0 +VTS,1,6,720,3.71,CRD,13.0 +VTS,1,6,240,1.02,CSH,5.0 +VTS,1,5,840,3.08,CSH,13.0 +VTS,1,5,240,0.38,CRD,4.5 +VTS,1,6,180,0.45,CSH,4.0 +VTS,1,5,720,3.89,CRD,14.0 +VTS,1,5,360,1.52,CRD,7.0 +VTS,1,6,300,0.95,CSH,5.5 +VTS,1,5,300,1.36,CSH,6.0 +VTS,1,5,360,3.26,CRD,11.0 +VTS,1,6,60,0.33,CSH,3.5 +VTS,1,6,780,3.53,CRD,12.5 +VTS,1,6,120,0.17,CSH,3.5 +VTS,1,6,1200,4.94,CRD,19.5 +VTS,1,6,180,0.49,CRD,4.0 +VTS,1,6,720,4.74,CRD,16.0 +VTS,1,1,1140,8.55,CRD,26.0 +VTS,1,5,900,6.8,CRD,21.0 +VTS,1,5,960,3.65,CRD,15.0 +VTS,1,1,120,0.3,CRD,3.5 +VTS,1,6,120,0.37,CRD,3.5 +VTS,1,6,540,2.05,CSH,9.0 +VTS,1,1,240,0.93,CSH,5.0 +VTS,1,6,240,0.59,CRD,4.5 +VTS,1,5,120,0.21,CSH,3.5 +VTS,1,5,840,2.18,CRD,10.5 +VTS,1,5,240,1.36,CSH,6.0 +VTS,1,5,840,2.25,CRD,11.5 +VTS,1,5,480,1.54,CRD,7.0 +VTS,1,5,360,1.06,CSH,5.5 +VTS,1,6,180,0.64,CRD,4.5 +VTS,1,5,480,1.21,CSH,7.0 +VTS,1,5,420,1.12,CRD,6.5 +VTS,1,5,540,1.17,CRD,7.0 +VTS,1,6,720,2.63,CRD,10.5 +VTS,1,5,480,1.96,CRD,9.0 +VTS,1,6,1140,4.8,CSH,18.0 +VTS,1,5,1200,5.43,CRD,19.5 +VTS,1,5,1260,6.99,CRD,22.5 +VTS,1,6,1080,3.24,CSH,13.5 +VTS,1,6,360,0.74,CSH,6.0 +VTS,1,6,780,4.12,CRD,14.0 +VTS,1,6,480,1.1,CSH,7.5 +VTS,1,6,1260,4.42,CRD,17.5 +VTS,1,5,840,3.26,CRD,12.0 +VTS,1,6,840,2.54,CSH,11.0 +VTS,1,6,600,1.88,CRD,9.0 +VTS,1,6,240,0.57,CRD,4.5 +VTS,1,1,660,4.24,CRD,14.0 +VTS,1,5,1020,2.77,CSH,12.5 +VTS,1,6,480,0.91,CRD,7.0 +VTS,1,5,540,1.18,CRD,7.5 +VTS,1,6,300,0.75,CRD,5.0 +VTS,1,5,300,0.77,CRD,5.5 +VTS,1,5,360,3.12,CSH,10.5 +VTS,1,6,600,1.54,CRD,8.5 +VTS,1,6,720,2.39,CRD,10.5 +VTS,1,6,660,2.32,CRD,10.5 +VTS,1,6,660,2.69,CRD,11.5 +VTS,1,6,480,2.17,CSH,9.0 +VTS,1,6,1380,10.71,CRD,31.0 +VTS,1,5,420,3.05,CSH,10.5 +VTS,1,6,180,1.43,CSH,6.0 +VTS,1,6,300,0.8,CRD,5.5 +VTS,1,5,1500,8.19,CRD,25.5 +VTS,1,6,840,3.63,CRD,13.0 +VTS,1,6,780,8.11,CRD,23.0 +VTS,1,6,480,1.56,CRD,7.5 +VTS,1,5,420,1.24,CSH,6.5 +VTS,1,5,840,2.95,CRD,12.0 +VTS,1,6,660,1.95,CRD,9.5 +VTS,1,5,900,7.9,CRD,23.5 +VTS,1,5,1560,2.57,CRD,16.5 +VTS,1,5,180,0.35,CRD,4.0 +VTS,1,5,360,0.61,CSH,5.0 +VTS,1,6,360,0.98,CRD,6.0 +VTS,1,6,420,0.98,CRD,6.5 +VTS,1,5,240,0.46,CSH,4.0 +VTS,1,6,1140,5.16,CRD,17.5 +VTS,1,1,660,1.99,CRD,9.5 +VTS,1,5,480,1.85,CSH,8.0 +VTS,1,5,1140,4.12,CRD,17.0 +VTS,1,6,420,0.91,CRD,6.5 +VTS,1,5,960,5.11,CRD,17.5 +VTS,1,6,2160,15.4,CSH,44.5 +VTS,1,6,660,2.02,CSH,9.5 +VTS,1,6,360,0.98,CRD,6.5 +VTS,1,6,540,2.23,CRD,9.5 +VTS,1,5,1020,4.33,CRD,16.0 +VTS,1,6,600,1.26,CRD,8.0 +VTS,1,5,600,1.7,CSH,8.5 +VTS,1,6,720,3.49,CRD,12.5 +VTS,1,6,480,1.32,CSH,7.5 +VTS,1,6,360,1.26,CRD,6.5 +VTS,1,1,1140,11.09,CSH,31.0 +VTS,1,1,1080,4.28,CSH,16.0 +VTS,1,1,720,2.17,CSH,10.5 +VTS,1,1,480,0.93,CRD,6.5 +VTS,1,1,600,1.88,CRD,9.0 +VTS,1,1,1200,2.5,CSH,13.5 +VTS,2,1,2700,18.53,CSH,52.0 +VTS,2,1,2280,14.61,CSH,52.0 +VTS,1,1,300,1.76,CRD,7.5 +VTS,1,1,360,1.04,CRD,6.0 +VTS,1,1,540,3.24,CRD,11.0 +VTS,1,6,300,1.37,CSH,6.0 +VTS,1,6,660,1.75,CSH,9.5 +VTS,1,5,420,1.39,CRD,7.0 +VTS,1,6,540,1.5,CRD,8.0 +VTS,1,6,1200,2.37,CSH,14.0 +VTS,1,6,600,2.69,CRD,10.0 +VTS,1,5,1200,4.68,CRD,18.0 +VTS,1,5,480,1.11,CRD,7.5 +VTS,1,6,540,1.19,CSH,8.0 +VTS,1,6,900,2.26,CRD,11.0 +VTS,1,6,660,3.97,CRD,12.5 +VTS,1,5,240,0.55,CSH,5.0 +VTS,1,6,360,0.89,CRD,5.5 +VTS,1,6,480,1.74,CRD,8.0 +VTS,1,1,660,8.14,CRD,23.0 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,120,0.72,CSH,4.5 +VTS,1,1,540,1.86,CSH,9.0 +VTS,2,1,2100,17.0,CSH,52.0 +VTS,1,1,1620,10.23,CRD,31.0 +VTS,1,1,360,1.27,CSH,6.5 +VTS,1,1,480,1.58,CRD,8.0 +VTS,1,1,1620,4.17,CRD,19.0 +VTS,1,1,1200,6.75,CSH,23.0 +VTS,1,1,360,1.03,CRD,6.5 +VTS,2,1,2280,17.67,CRD,52.0 +VTS,1,1,1080,5.54,CSH,19.5 +VTS,1,5,420,1.02,CRD,6.5 +VTS,1,6,900,1.35,CSH,10.5 +VTS,1,5,480,1.63,CRD,7.5 +VTS,1,6,1140,5.24,CRD,17.5 +VTS,1,5,60,0.57,CSH,3.5 +VTS,1,6,900,5.8,CRD,19.0 +VTS,1,1,900,4.08,CSH,15.0 +VTS,1,6,1080,10.35,CRD,29.5 +VTS,1,5,780,3.67,CRD,13.5 +VTS,1,6,360,1.73,CRD,7.0 +VTS,1,5,960,5.08,CRD,17.0 +VTS,1,6,360,1.42,CRD,6.5 +VTS,1,1,300,1.99,CRD,7.5 +VTS,1,6,360,0.97,CRD,6.5 +VTS,1,5,780,3.77,CRD,14.0 +VTS,1,5,360,1.07,CRD,6.0 +VTS,1,6,540,2.15,CSH,9.0 +VTS,1,6,240,1.03,CRD,5.5 +VTS,1,1,240,1.08,CSH,5.5 +VTS,1,1,1440,4.42,CSH,20.0 +VTS,1,1,1320,5.95,CSH,22.0 +VTS,1,1,360,1.3,CSH,7.0 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,420,1.46,CRD,7.5 +VTS,1,1,480,1.56,CRD,7.5 +VTS,1,1,480,1.75,CRD,8.0 +VTS,1,6,1080,4.19,CRD,15.5 +VTS,1,6,180,0.45,CSH,4.0 +VTS,1,6,360,1.22,CSH,6.5 +VTS,1,5,480,2.62,CRD,9.5 +VTS,1,6,540,1.18,CSH,7.5 +VTS,3,1,3240,26.23,CSH,90.5 +VTS,1,5,420,1.6,CRD,7.5 +VTS,1,6,240,0.6,CSH,4.5 +VTS,1,1,540,2.2,CRD,9.5 +VTS,1,1,420,1.51,CRD,7.5 +VTS,1,1,240,0.86,CRD,5.5 +VTS,1,1,1020,3.01,CRD,13.5 +VTS,1,1,780,2.74,CRD,12.0 +VTS,1,1,840,3.51,CRD,14.0 +VTS,1,1,360,1.06,CRD,6.5 +VTS,1,1,1080,6.04,CRD,20.0 +VTS,1,1,1020,5.71,CRD,18.5 +VTS,1,1,420,2.38,CRD,9.0 +VTS,1,1,780,4.4,CRD,15.5 +VTS,1,1,360,0.67,CSH,6.0 +VTS,1,1,300,1.53,CSH,6.0 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,1020,8.41,CRD,25.0 +VTS,1,1,1260,9.32,CRD,28.0 +VTS,1,1,960,1.52,CRD,11.5 +VTS,1,1,660,2.73,CSH,11.0 +VTS,1,1,600,2.08,CRD,10.0 +VTS,1,6,780,4.25,CRD,15.0 +VTS,1,6,240,0.34,CSH,4.5 +VTS,1,5,180,1.01,CRD,5.0 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,6,420,1.67,CSH,7.5 +VTS,1,6,780,2.5,CRD,11.0 +VTS,1,5,540,2.72,CRD,10.5 +VTS,1,5,420,1.26,CSH,6.5 +VTS,1,5,1200,5.61,CRD,18.5 +VTS,1,6,300,1.15,CRD,6.5 +VTS,1,5,780,2.57,CSH,11.0 +VTS,1,5,540,0.99,CSH,7.0 +VTS,1,6,840,5.3,CRD,18.0 +VTS,1,1,1320,7.25,CRD,23.0 +VTS,1,6,840,3.19,CRD,12.5 +VTS,1,5,420,1.33,CSH,7.0 +VTS,1,5,360,0.66,CRD,5.5 +VTS,1,6,900,3.18,CRD,12.5 +VTS,1,5,660,2.39,CRD,10.5 +VTS,1,6,360,1.94,CRD,7.5 +VTS,1,5,960,2.34,CSH,11.5 +VTS,1,5,1140,1.65,CSH,9.0 +VTS,1,6,780,2.41,CRD,10.5 +VTS,1,6,900,7.84,CRD,23.0 +VTS,1,6,360,1.38,CSH,6.0 +VTS,1,6,180,0.61,CSH,4.0 +VTS,1,1,300,1.2,CSH,6.0 +VTS,1,1,960,9.39,CRD,27.0 +VTS,1,1,600,2.91,CSH,10.5 +VTS,1,1,840,7.89,CSH,23.0 +VTS,1,1,1140,8.33,CRD,25.0 +VTS,1,1,900,1.77,CRD,11.0 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,780,2.47,CSH,11.5 +VTS,1,1,360,1.31,CRD,7.0 +VTS,1,1,600,2.14,CSH,9.5 +VTS,1,1,360,0.96,CRD,6.0 +VTS,1,1,360,1.39,CSH,7.0 +VTS,1,1,120,0.92,CSH,4.5 +VTS,1,1,480,1.43,CSH,7.0 +VTS,1,1,300,0.62,CSH,5.0 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,540,1.74,CSH,8.5 +VTS,1,1,360,0.91,CSH,6.0 +VTS,1,1,600,1.33,CSH,8.0 +VTS,1,1,900,1.31,CRD,10.5 +VTS,1,1,240,0.75,CSH,5.0 +VTS,1,1,2580,5.04,CRD,28.0 +VTS,1,1,360,1.36,CRD,6.5 +VTS,1,1,900,1.73,CRD,11.0 +VTS,1,1,960,3.25,CSH,14.0 +VTS,1,1,660,2.75,CSH,11.0 +VTS,1,1,420,1.18,CRD,7.0 +VTS,1,1,720,2.08,CSH,10.5 +VTS,1,1,720,4.95,CSH,16.0 +VTS,1,1,360,0.95,CRD,6.5 +VTS,1,1,360,1.09,CSH,6.0 +VTS,1,1,120,0.54,CRD,4.0 +VTS,1,1,240,1.04,CRD,5.5 +VTS,1,1,900,1.26,CRD,10.0 +VTS,1,1,660,1.44,CRD,9.0 +VTS,1,1,2220,9.61,CSH,34.5 +VTS,1,1,1020,10.11,CRD,28.0 +VTS,1,1,960,5.03,CSH,18.0 +VTS,1,1,780,2.9,CRD,12.0 +VTS,1,1,300,1.07,CRD,5.5 +VTS,1,1,240,0.87,CRD,5.5 +VTS,1,1,720,1.75,CRD,10.0 +VTS,1,1,480,2.92,CRD,10.5 +VTS,1,1,1740,5.17,CRD,21.5 +VTS,1,1,840,2.68,CRD,12.0 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,1080,1.61,CRD,12.0 +VTS,1,1,1260,7.18,CRD,24.0 +VTS,1,1,780,2.08,CRD,10.0 +VTS,1,1,360,1.4,CRD,7.0 +VTS,1,1,840,1.87,CSH,10.0 +VTS,1,1,600,1.55,CSH,9.0 +VTS,1,1,600,1.53,CSH,8.5 +VTS,1,1,120,0.32,CSH,3.5 +VTS,1,1,120,0.45,CRD,4.0 +VTS,1,1,1260,5.18,CRD,18.5 +VTS,1,1,60,0.5,CSH,3.5 +VTS,1,1,1200,3.28,CSH,15.0 +VTS,1,1,1800,10.53,CRD,32.5 +VTS,1,1,600,0.98,CRD,7.5 +VTS,1,1,720,2.15,CRD,10.0 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,1680,3.63,CRD,19.0 +VTS,1,1,420,1.35,CRD,7.0 +VTS,1,1,1020,3.15,CRD,14.5 +VTS,1,1,960,8.07,CRD,24.5 +VTS,1,1,1440,6.39,CRD,22.5 +VTS,1,1,360,0.7,CSH,5.5 +VTS,1,1,240,1.14,CSH,5.5 +VTS,1,1,780,2.8,CRD,12.0 +VTS,1,1,1320,7.14,CRD,23.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,840,1.6,CSH,10.5 +VTS,1,1,1500,5.21,CRD,20.5 +VTS,2,1,2820,17.17,CRD,52.0 +VTS,1,1,1140,2.45,CRD,13.5 +VTS,1,1,1020,2.64,CRD,13.0 +VTS,1,1,720,1.99,CSH,10.5 +VTS,1,1,300,0.72,CSH,5.5 +VTS,1,1,840,1.84,CRD,10.5 +VTS,1,1,720,0.93,CSH,8.5 +VTS,1,1,1380,9.26,CRD,30.0 +VTS,1,1,1320,5.31,CRD,21.0 +VTS,1,1,540,0.66,CRD,7.0 +VTS,1,1,240,1.07,CSH,5.5 +VTS,1,1,660,1.54,CRD,9.0 +VTS,1,1,720,1.54,CRD,9.0 +VTS,1,1,900,6.75,CRD,21.0 +VTS,1,1,540,1.38,CRD,8.0 +VTS,1,1,360,1.88,CRD,7.5 +VTS,1,1,300,1.19,CSH,6.0 +VTS,1,1,300,1.1,CSH,5.5 +VTS,1,1,420,1.5,CRD,8.0 +VTS,1,1,480,1.48,CSH,8.0 +VTS,1,1,660,2.18,CSH,10.0 +VTS,1,1,480,0.97,CSH,7.0 +VTS,1,1,120,0.34,CRD,3.5 +VTS,1,1,420,0.77,CSH,6.0 +VTS,1,1,600,1.69,CSH,9.0 +VTS,1,1,900,2.84,CRD,13.0 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,660,1.62,CSH,9.0 +VTS,1,1,240,0.67,CSH,5.0 +VTS,1,1,720,2.25,CRD,10.5 +VTS,1,5,540,1.53,CRD,8.0 +VTS,1,1,900,8.82,CSH,26.5 +VTS,1,1,360,1.97,CRD,8.0 +VTS,1,1,840,4.02,CRD,15.0 +VTS,1,1,540,1.32,CSH,7.5 +VTS,1,1,480,1.25,CSH,7.5 +VTS,1,1,300,1.49,CRD,6.5 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,540,2.03,CRD,9.0 +VTS,1,1,240,2.41,CRD,8.5 +VTS,1,1,240,1.12,CRD,5.5 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,1,900,1.4,CSH,11.0 +VTS,1,1,540,0.78,CSH,7.5 +VTS,1,1,240,0.67,CRD,5.0 +VTS,1,1,180,0.49,CRD,4.0 +VTS,1,1,780,3.17,CRD,12.0 +VTS,1,1,420,0.87,CSH,6.5 +VTS,1,1,1200,2.05,CRD,13.5 +VTS,1,1,720,2.28,CSH,11.0 +VTS,1,1,360,0.97,CSH,6.0 +VTS,1,1,1140,2.3,CRD,14.0 +VTS,1,1,1800,9.73,CRD,32.0 +VTS,1,1,300,0.96,CSH,6.0 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,900,4.0,CSH,14.0 +VTS,1,1,180,0.38,CSH,4.0 +VTS,1,1,840,2.96,CSH,12.0 +VTS,1,1,900,3.25,CRD,14.0 +VTS,1,1,360,1.22,CSH,6.5 +VTS,1,1,1620,4.92,CSH,21.5 +VTS,1,1,840,5.27,CSH,16.5 +VTS,1,1,180,0.56,CSH,4.0 +VTS,1,1,420,1.34,CSH,6.5 +VTS,1,1,720,4.16,CRD,14.5 +VTS,1,1,240,0.89,CSH,5.0 +VTS,1,1,1080,4.57,CSH,17.5 +VTS,1,1,600,4.2,CRD,14.0 +VTS,1,1,960,2.33,CSH,13.5 +VTS,1,1,360,1.3,CRD,6.5 +VTS,1,1,300,0.41,CSH,5.0 +VTS,1,1,840,2.29,CRD,11.0 +VTS,1,1,960,3.58,CRD,14.5 +VTS,1,1,720,1.7,CRD,9.5 +VTS,1,1,540,0.75,CSH,7.0 +VTS,1,1,540,2.4,CRD,10.5 +VTS,1,1,600,2.23,CRD,9.5 +VTS,1,1,660,7.09,CRD,21.0 +VTS,1,1,720,3.25,CSH,12.0 +VTS,1,1,780,2.32,CSH,11.0 +VTS,1,1,720,2.39,CRD,11.5 +VTS,1,1,420,0.88,CRD,6.5 +VTS,1,6,1500,12.98,CSH,36.5 +VTS,1,6,360,0.36,CRD,5.5 +VTS,1,5,540,2.07,CSH,9.0 +VTS,1,5,780,3.43,CRD,12.5 +VTS,1,5,780,3.09,CRD,12.5 +VTS,1,6,2640,13.08,CRD,43.0 +VTS,1,5,420,1.41,CRD,7.0 +VTS,1,5,180,0.63,CSH,4.5 +VTS,1,1,480,3.5,CRD,11.5 +VTS,1,6,480,1.46,CRD,8.0 +VTS,1,5,360,1.56,CRD,7.0 +VTS,1,6,660,2.94,CRD,11.5 +VTS,1,5,720,4.44,CRD,15.0 +VTS,1,6,600,2.24,CSH,9.5 +VTS,1,6,1680,10.96,CRD,33.5 +VTS,1,6,300,1.61,CSH,7.0 +VTS,1,5,1260,7.91,CRD,25.5 +VTS,1,6,720,2.61,CRD,11.0 +VTS,1,6,1260,13.11,CRD,36.0 +VTS,1,6,120,0.62,CRD,4.0 +VTS,1,6,360,1.56,CSH,7.0 +VTS,1,1,840,2.3,CSH,10.5 +VTS,1,5,720,2.61,CSH,11.0 +VTS,1,6,240,0.41,CSH,4.5 +VTS,1,6,1320,5.98,CSH,21.0 +VTS,1,5,360,0.76,CSH,5.5 +VTS,1,1,360,0.89,CRD,6.0 +VTS,1,1,1200,1.89,CRD,13.0 +VTS,1,1,1020,4.27,CSH,16.0 +VTS,1,1,660,1.8,CSH,9.5 +VTS,1,1,420,1.58,CRD,7.5 +VTS,1,1,300,0.7,CSH,5.0 +VTS,1,1,480,1.0,CRD,6.5 +VTS,1,1,480,1.02,CSH,7.0 +VTS,1,1,540,1.55,CRD,8.0 +VTS,1,1,240,0.83,CSH,5.0 +VTS,1,1,540,1.33,CSH,8.0 +VTS,1,1,540,1.1,CRD,7.5 +VTS,1,1,720,4.15,CSH,13.5 +VTS,1,1,360,0.57,CSH,5.5 +VTS,1,1,720,2.27,CRD,10.5 +VTS,1,1,900,1.74,CRD,11.0 +VTS,1,1,600,0.7,CRD,7.0 +VTS,1,1,1380,6.75,CRD,23.5 +VTS,1,1,840,3.17,CRD,13.0 +VTS,1,1,960,2.17,CRD,12.0 +VTS,1,1,420,0.77,CRD,6.0 +VTS,1,1,480,1.21,CSH,7.5 +VTS,1,1,1140,2.25,CRD,12.5 +VTS,1,1,1440,3.26,CRD,16.5 +VTS,1,1,660,2.36,CRD,10.0 +VTS,1,1,300,1.14,CRD,6.0 +VTS,1,6,480,1.3,CRD,7.5 +VTS,1,6,1020,4.58,CRD,16.5 +VTS,1,6,300,0.64,CRD,5.5 +VTS,1,6,360,1.2,CSH,6.0 +VTS,1,6,1020,7.07,CRD,21.5 +VTS,1,6,840,2.61,CRD,11.5 +VTS,1,6,420,1.32,CRD,7.0 +VTS,1,6,300,0.6,CSH,5.0 +VTS,1,6,960,9.18,CRD,26.0 +VTS,1,6,180,0.69,CRD,4.5 +VTS,1,5,180,0.4,CSH,4.0 +VTS,1,6,840,0.97,CSH,10.0 +VTS,1,6,900,6.19,CSH,20.0 +VTS,1,1,240,1.22,CSH,6.0 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,540,2.14,CSH,9.0 +VTS,3,1,1440,16.33,CSH,61.0 +VTS,1,1,660,2.52,CRD,10.5 +VTS,1,1,540,2.98,CRD,10.5 +VTS,1,1,300,0.96,CRD,6.0 +VTS,1,1,240,1.18,CSH,5.5 +VTS,1,1,120,0.27,CRD,3.5 +VTS,1,1,480,2.29,CRD,9.5 +VTS,1,1,120,0.77,CSH,4.0 +VTS,1,1,420,3.39,CRD,11.0 +VTS,1,1,780,1.92,CRD,10.5 +VTS,1,1,540,1.85,CRD,9.0 +VTS,1,1,480,0.91,CSH,7.0 +VTS,1,1,300,1.0,CSH,5.5 +VTS,1,1,480,1.11,CSH,7.0 +VTS,1,1,960,3.17,CRD,14.0 +VTS,1,1,600,1.25,CRD,8.0 +VTS,1,1,360,0.84,CSH,5.5 +VTS,1,1,240,0.67,CRD,4.5 +VTS,1,1,660,3.2,CRD,11.5 +VTS,1,1,540,2.37,CRD,9.5 +VTS,1,1,840,1.46,CRD,10.0 +VTS,1,1,840,2.06,CSH,10.5 +VTS,1,1,2160,4.59,CRD,24.5 +VTS,1,1,780,1.24,CRD,9.5 +VTS,1,1,600,1.29,CRD,8.5 +VTS,1,1,360,0.77,CSH,6.0 +VTS,1,1,1020,6.61,CRD,21.0 +VTS,1,1,240,0.76,CSH,5.0 +VTS,1,1,360,0.92,CSH,6.0 +VTS,1,1,600,2.1,CSH,10.0 +VTS,1,1,1680,13.17,CSH,38.0 +VTS,1,1,960,2.02,CRD,11.5 +VTS,1,1,900,5.24,CRD,18.0 +VTS,1,1,420,0.76,CSH,6.0 +VTS,1,1,1020,1.72,CSH,11.5 +VTS,1,1,840,1.04,CSH,9.5 +VTS,1,1,420,1.42,CRD,7.5 +VTS,1,1,900,4.66,CRD,15.5 +VTS,1,1,240,1.21,CRD,5.5 +VTS,1,1,660,2.4,CRD,10.5 +VTS,1,1,600,3.04,CRD,12.0 +VTS,1,1,720,2.99,CRD,12.5 +VTS,1,1,480,2.8,CRD,10.0 +VTS,1,1,180,0.87,CSH,5.0 +VTS,1,1,1080,3.57,CRD,15.5 +VTS,1,1,1020,3.49,CSH,14.0 +VTS,1,1,840,2.38,CSH,12.0 +VTS,1,1,900,6.51,CRD,20.5 +VTS,1,1,840,1.81,CSH,11.0 +VTS,1,1,900,1.97,CRD,11.5 +VTS,1,1,1980,7.74,CRD,28.5 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,480,3.84,CRD,13.0 +VTS,1,1,660,5.87,CRD,18.0 +VTS,1,1,120,0.75,CSH,4.5 +VTS,1,1,360,1.48,CRD,7.0 +VTS,1,1,480,2.07,CRD,9.0 +VTS,1,1,720,2.86,CSH,12.0 +VTS,1,1,720,2.96,CSH,11.5 +VTS,1,1,840,2.66,CRD,11.5 +VTS,1,1,240,0.56,CRD,5.0 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,420,1.46,CSH,7.5 +VTS,1,1,300,0.42,CSH,5.0 +VTS,1,1,1080,1.84,CRD,12.5 +VTS,1,1,480,1.42,CRD,7.0 +VTS,1,1,840,1.49,CRD,10.0 +VTS,1,1,480,1.2,CSH,7.0 +VTS,1,1,300,1.16,CSH,6.5 +VTS,1,1,60,0.3,CRD,3.5 +VTS,1,1,240,0.47,CRD,5.0 +VTS,1,1,480,1.41,CSH,7.5 +VTS,1,1,420,1.3,CRD,7.0 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,1140,4.06,CRD,17.0 +VTS,1,1,240,0.73,CRD,5.0 +VTS,1,1,660,2.5,CRD,10.5 +VTS,1,1,360,1.21,CRD,6.5 +VTS,1,1,600,0.85,CSH,7.5 +VTS,1,1,780,3.31,CRD,12.5 +VTS,1,1,360,0.94,CRD,6.0 +VTS,1,1,1620,3.03,CRD,18.0 +VTS,1,1,360,0.85,CSH,6.0 +VTS,1,1,1800,3.52,CSH,20.0 +VTS,1,1,900,6.66,CRD,20.5 +VTS,1,1,480,1.65,CSH,8.0 +VTS,1,1,1080,2.25,CRD,13.0 +VTS,1,1,780,1.44,CRD,10.0 +VTS,1,1,360,1.08,CRD,6.5 +VTS,1,1,1080,2.99,CRD,14.0 +VTS,1,1,720,3.89,CRD,13.0 +VTS,1,1,420,0.72,CSH,6.0 +VTS,1,1,540,1.63,CRD,8.0 +VTS,1,1,720,2.71,CRD,11.5 +VTS,1,1,1500,8.73,CRD,29.0 +VTS,1,1,480,1.85,CRD,8.5 +VTS,1,1,540,1.65,CSH,8.5 +VTS,1,1,600,1.32,CRD,8.0 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,600,1.05,CRD,8.0 +VTS,1,1,600,2.18,CRD,9.5 +VTS,1,6,1380,2.93,CSH,15.5 +VTS,1,1,1080,2.27,CRD,13.0 +VTS,1,1,900,1.8,CRD,10.5 +VTS,1,1,540,1.86,CRD,9.0 +VTS,1,1,480,0.84,CRD,6.5 +VTS,1,1,240,0.84,CSH,5.0 +VTS,1,1,780,3.26,CRD,12.5 +VTS,1,1,720,1.44,CRD,9.5 +VTS,1,1,360,1.33,CRD,7.0 +VTS,1,1,360,1.11,CRD,6.5 +VTS,1,1,1080,2.55,CRD,13.5 +VTS,1,1,660,1.11,CSH,9.0 +VTS,1,1,1200,2.88,CRD,14.5 +VTS,1,1,660,1.02,CSH,8.5 +VTS,1,1,480,2.93,CSH,11.0 +VTS,1,1,660,4.36,CSH,14.5 +VTS,1,1,2160,7.74,CSH,29.5 +VTS,1,1,240,1.33,CRD,6.0 +VTS,1,1,660,1.57,CSH,8.0 +VTS,1,1,1320,5.48,CRD,20.5 +VTS,1,1,960,2.71,CRD,12.5 +VTS,1,1,600,1.04,CSH,8.0 +VTS,1,1,180,0.97,CSH,5.0 +VTS,1,1,2040,9.55,CSH,33.5 +VTS,1,1,300,1.03,CRD,6.0 +VTS,1,1,480,1.3,CRD,7.5 +VTS,1,1,540,0.72,CRD,7.0 +VTS,1,1,540,1.03,CRD,7.5 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,600,1.56,CRD,8.5 +VTS,1,1,1320,9.46,CRD,29.0 +VTS,1,1,840,2.59,CRD,11.5 +VTS,1,1,480,1.93,CRD,8.5 +VTS,1,1,720,1.09,CSH,9.0 +VTS,1,1,900,2.8,CSH,13.0 +VTS,1,1,240,0.69,CSH,5.5 +VTS,1,1,540,1.28,CRD,8.0 +VTS,1,1,1320,2.81,CRD,14.5 +VTS,1,1,1500,7.05,CRD,24.5 +VTS,1,1,240,0.66,CRD,5.0 +VTS,1,1,120,0.58,CRD,4.0 +VTS,1,1,780,2.05,CRD,10.5 +VTS,1,1,420,1.19,CRD,6.5 +VTS,1,1,120,0.77,CSH,4.5 +VTS,1,1,1200,4.84,CRD,18.5 +VTS,1,1,240,0.86,CRD,5.0 +VTS,1,1,480,1.3,CRD,7.0 +VTS,1,1,480,0.97,CSH,6.5 +VTS,1,1,240,0.61,CRD,5.0 +VTS,1,1,840,2.9,CSH,12.0 +VTS,1,1,660,2.04,CSH,10.0 +VTS,1,1,1020,1.91,CRD,12.0 +VTS,1,1,900,2.35,CRD,11.5 +VTS,1,1,1440,7.64,CSH,26.0 +VTS,1,1,540,1.37,CSH,8.0 +VTS,1,1,1440,8.25,CRD,26.5 +VTS,1,1,2040,12.93,CSH,38.5 +VTS,1,1,1320,2.61,CRD,15.0 +VTS,1,1,480,1.83,CRD,8.5 +VTS,1,1,660,2.33,CSH,11.0 +VTS,1,1,840,3.33,CRD,13.5 +VTS,1,1,1080,6.01,CRD,19.5 +VTS,1,1,180,0.54,CSH,4.5 +VTS,1,1,1140,4.55,CRD,17.5 +VTS,1,1,1860,9.24,CRD,29.0 +VTS,1,1,1320,3.81,CRD,16.5 +VTS,1,1,1380,8.85,CRD,28.5 +VTS,1,1,1500,4.77,CRD,19.5 +VTS,1,1,1140,3.06,CSH,14.5 +VTS,2,1,3120,17.42,CRD,52.0 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,480,1.44,CRD,7.0 +VTS,1,1,600,1.51,CSH,9.0 +VTS,1,1,240,0.63,CRD,4.5 +VTS,1,1,180,0.85,CRD,5.0 +VTS,1,1,540,2.31,CSH,9.5 +VTS,1,1,600,1.34,CSH,8.5 +VTS,1,1,240,1.4,CRD,6.0 +VTS,1,1,660,1.72,CSH,7.5 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,1,600,1.2,CSH,8.0 +VTS,1,1,240,0.81,CRD,4.5 +VTS,1,1,540,1.54,CRD,8.0 +VTS,1,1,120,0.46,CRD,3.5 +VTS,1,1,1320,1.88,CSH,14.5 +VTS,1,1,240,0.75,CRD,4.5 +VTS,1,1,300,0.32,CSH,5.0 +VTS,1,1,360,0.73,CRD,5.5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,1,1200,3.87,CRD,18.0 +VTS,1,1,840,8.68,CRD,24.5 +VTS,1,1,720,2.24,CRD,10.5 +VTS,1,1,1020,6.52,CSH,21.0 +VTS,1,1,780,1.55,CSH,10.0 +VTS,1,1,120,0.69,CRD,4.0 +VTS,1,1,180,0.87,CSH,4.5 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,300,0.89,CRD,6.0 +VTS,1,1,1680,3.56,CRD,19.0 +VTS,1,1,240,0.88,CSH,5.0 +VTS,1,1,420,0.92,CSH,6.0 +VTS,1,1,600,1.39,CSH,8.0 +VTS,1,1,240,0.48,CSH,4.5 +VTS,1,1,2160,3.99,CSH,23.5 +VTS,2,1,2100,17.28,CRD,52.0 +VTS,1,1,540,1.23,CRD,8.0 +VTS,1,1,480,2.07,CRD,9.0 +VTS,1,1,1020,1.6,CRD,11.5 +VTS,1,1,360,1.33,CSH,7.0 +VTS,1,1,300,1.23,CRD,5.5 +VTS,1,1,180,0.99,CRD,5.0 +VTS,1,1,900,1.44,CRD,11.0 +VTS,1,5,360,0.84,CRD,5.5 +VTS,1,5,780,3.18,CSH,12.0 +VTS,1,5,300,1.73,CRD,6.5 +VTS,1,5,840,2.7,CSH,12.0 +VTS,1,1,1140,4.75,CRD,18.0 +VTS,1,1,660,1.55,CRD,9.0 +VTS,1,1,1560,11.14,CSH,32.0 +VTS,1,1,1440,9.53,CRD,29.5 +VTS,1,1,300,1.02,CRD,5.5 +VTS,1,1,900,6.01,CRD,19.0 +VTS,1,1,420,1.42,CSH,7.5 +VTS,1,1,660,4.58,CSH,15.0 +VTS,1,1,840,2.44,CRD,11.5 +VTS,1,1,420,1.33,CSH,7.0 +VTS,1,1,960,3.57,CRD,14.5 +VTS,1,1,660,1.79,CRD,9.5 +VTS,1,1,960,1.63,CRD,11.5 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,1500,4.03,CRD,18.0 +VTS,2,1,2160,17.05,CRD,52.0 +VTS,1,1,1740,18.71,CSH,50.5 +VTS,1,1,540,2.61,CSH,10.5 +VTS,1,1,600,1.47,CRD,8.0 +VTS,1,1,120,0.04,CSH,3.0 +VTS,1,1,600,1.18,CSH,8.0 +VTS,1,2,420,0.93,CSH,6.5 +VTS,1,5,600,2.72,CRD,10.5 +VTS,1,5,720,2.26,CSH,10.5 +VTS,1,5,360,0.73,CSH,5.5 +VTS,1,5,660,2.76,CRD,11.0 +VTS,1,1,420,2.25,CRD,9.0 +VTS,1,1,1200,8.15,CSH,24.5 +VTS,1,1,1140,3.76,CSH,15.5 +VTS,1,1,300,0.92,CRD,6.0 +VTS,1,1,180,0.54,CSH,4.5 +VTS,1,1,420,1.02,CRD,6.0 +VTS,1,1,360,0.7,CSH,5.5 +VTS,1,1,720,1.98,CRD,10.5 +VTS,1,1,720,3.92,CRD,14.0 +VTS,1,1,480,1.48,CRD,8.0 +VTS,1,1,300,0.71,CRD,5.0 +VTS,1,1,900,1.84,CRD,11.5 +VTS,1,1,420,1.12,CRD,6.5 +VTS,1,1,840,2.91,CSH,12.5 +VTS,1,1,1080,2.31,CRD,12.5 +VTS,1,1,540,1.36,CRD,7.5 +VTS,1,1,1020,2.05,CSH,12.5 +VTS,1,6,1860,2.37,CSH,19.0 +VTS,1,1,1200,4.77,CRD,17.5 +VTS,1,1,480,2.12,CSH,9.0 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,480,1.17,CRD,7.5 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,660,2.79,CSH,11.0 +VTS,1,1,300,1.78,CRD,7.0 +VTS,1,1,1440,10.7,CSH,32.5 +VTS,1,5,240,0.95,CSH,5.0 +VTS,1,5,900,3.58,CSH,14.0 +VTS,1,5,720,2.58,CRD,11.0 +VTS,1,1,900,3.35,CRD,15.0 +VTS,1,1,660,3.71,CRD,13.0 +VTS,1,1,420,0.78,CRD,6.0 +VTS,1,1,540,1.44,CRD,8.0 +VTS,1,2,660,2.07,CSH,9.5 +VTS,1,2,1740,11.0,CSH,35.0 +VTS,1,5,540,0.75,CRD,7.0 +VTS,1,5,1320,2.19,CRD,14.5 +VTS,1,5,1020,3.45,CSH,14.5 +VTS,1,1,360,1.52,CRD,7.0 +VTS,1,1,420,1.44,CRD,7.0 +VTS,1,1,960,5.82,CRD,19.5 +VTS,1,1,180,0.57,CRD,4.0 +VTS,1,1,1020,2.43,CRD,12.0 +VTS,1,1,660,1.85,CRD,9.5 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,600,1.03,CSH,8.0 +VTS,1,1,1080,3.05,CSH,14.0 +VTS,1,1,360,1.88,CRD,8.0 +VTS,1,1,1200,10.88,CRD,31.0 +VTS,1,2,840,2.89,CRD,12.5 +VTS,1,2,240,0.98,CSH,5.5 +VTS,1,1,360,1.77,CRD,8.0 +VTS,1,1,540,5.49,CSH,16.5 +VTS,1,1,900,6.35,CRD,20.5 +VTS,1,1,360,0.93,CRD,6.0 +VTS,1,1,420,1.04,CSH,7.0 +VTS,1,1,720,1.1,CSH,9.0 +VTS,1,1,480,1.21,CSH,7.0 +VTS,1,1,1200,3.34,CSH,15.0 +VTS,1,1,840,4.49,CRD,15.0 +VTS,1,1,420,2.2,CRD,9.0 +VTS,1,2,360,1.92,CSH,7.5 +VTS,1,2,120,0.58,CSH,4.0 +VTS,1,1,180,0.52,CSH,4.0 +VTS,1,1,720,2.53,CSH,11.5 +VTS,1,1,480,1.15,CRD,7.0 +VTS,1,1,840,0.9,CRD,9.5 +VTS,1,2,540,0.68,CRD,7.0 +VTS,1,1,1440,3.89,CRD,18.0 +VTS,1,5,780,2.1,CRD,10.0 +VTS,1,5,540,1.3,CRD,8.0 +VTS,1,5,840,3.0,CSH,12.0 +VTS,1,5,1260,8.63,CRD,27.0 +VTS,1,5,1620,5.94,CSH,21.5 +VTS,1,5,300,0.44,CSH,5.0 +VTS,1,5,1680,6.08,CRD,23.5 +VTS,1,5,360,0.9,CRD,6.0 +VTS,1,1,120,0.95,CSH,4.5 +VTS,1,1,1860,8.36,CRD,29.0 +VTS,1,1,2040,8.24,CRD,29.0 +VTS,1,1,240,1.04,CRD,5.5 +VTS,1,1,180,0.87,CRD,4.5 +VTS,1,1,420,0.75,CSH,6.5 +VTS,1,1,1740,7.13,CRD,25.5 +VTS,1,2,1440,12.53,CRD,35.0 +VTS,1,2,300,1.11,CRD,6.0 +VTS,1,1,480,1.26,CRD,7.0 +VTS,1,1,480,1.82,CRD,8.5 +VTS,1,5,360,0.95,CRD,5.5 +VTS,1,5,360,1.06,CRD,6.0 +VTS,1,5,480,1.35,CRD,7.0 +VTS,1,5,300,0.47,CRD,5.0 +VTS,1,5,1140,5.67,CSH,18.5 +VTS,1,5,540,1.07,CSH,7.5 +VTS,1,5,480,1.39,CRD,7.0 +VTS,1,1,600,1.65,CRD,8.5 +VTS,1,1,240,0.98,CSH,6.0 +VTS,1,1,360,1.7,CRD,7.0 +VTS,1,1,960,4.54,CRD,17.0 +VTS,1,2,660,2.12,CRD,9.5 +VTS,1,5,840,1.9,CRD,10.5 +VTS,1,6,540,1.24,CRD,7.5 +VTS,1,6,480,1.34,CSH,7.5 +VTS,1,6,1560,6.06,CRD,23.0 +VTS,1,1,780,1.82,CSH,10.0 +VTS,1,1,300,0.55,CRD,5.0 +VTS,1,1,480,1.3,CRD,7.5 +VTS,5,1,0,0.0,CRD,17.0 +VTS,1,1,840,4.45,CSH,15.5 +VTS,1,1,540,2.55,CRD,10.0 +VTS,1,1,480,1.32,CRD,7.5 +VTS,1,1,480,1.65,CSH,8.0 +VTS,1,1,480,1.27,CSH,7.5 +VTS,1,1,420,0.99,CRD,6.0 +VTS,1,1,1380,8.85,CRD,28.0 +VTS,1,1,960,2.74,CRD,12.5 +VTS,1,1,300,1.02,CRD,6.0 +VTS,1,1,420,1.66,CSH,7.5 +VTS,1,1,420,2.33,CRD,9.0 +VTS,1,2,540,0.67,CRD,7.0 +VTS,1,1,480,0.69,CSH,6.5 +VTS,1,1,840,2.63,CRD,12.5 +VTS,1,5,480,1.52,CRD,7.5 +VTS,1,5,900,2.81,CRD,12.5 +VTS,1,5,240,0.94,CSH,5.0 +VTS,1,5,240,0.77,CSH,5.0 +VTS,1,5,420,1.41,CRD,7.5 +VTS,1,5,660,7.63,CSH,22.0 +VTS,1,5,60,0.01,CSH,2.5 +VTS,1,1,1080,6.65,CRD,21.0 +VTS,1,1,1080,3.54,CRD,14.5 +VTS,1,5,480,1.55,CRD,7.5 +VTS,1,5,540,1.28,CRD,8.0 +VTS,1,5,720,2.45,CRD,10.5 +VTS,1,5,720,2.21,CSH,10.0 +VTS,1,5,480,1.44,CRD,7.5 +VTS,1,5,120,0.53,CRD,4.0 +VTS,1,5,360,1.2,CRD,6.5 +VTS,1,5,1140,10.08,CSH,30.0 +VTS,1,1,540,1.51,CRD,8.0 +VTS,1,1,240,0.37,CSH,4.0 +VTS,1,1,780,2.19,CRD,11.0 +VTS,1,1,120,0.5,CSH,4.0 +VTS,1,1,300,1.36,CRD,6.5 +VTS,1,2,480,2.27,CRD,9.0 +VTS,1,2,1560,13.3,CRD,38.0 +VTS,1,1,480,1.52,CRD,7.5 +VTS,1,1,600,1.55,CSH,8.0 +VTS,1,1,600,2.65,CRD,10.0 +VTS,1,5,420,0.57,CRD,6.0 +VTS,1,5,540,0.94,CSH,7.0 +VTS,1,5,360,1.28,CRD,6.5 +VTS,1,5,900,1.65,CRD,10.5 +VTS,1,5,360,1.21,CSH,7.0 +VTS,1,5,600,2.6,CRD,10.5 +VTS,1,1,300,1.21,CRD,6.5 +VTS,1,1,300,0.53,CSH,5.0 +VTS,1,1,660,1.04,CRD,8.5 +VTS,1,1,540,1.54,CSH,8.5 +VTS,1,1,1080,3.55,CSH,14.5 +VTS,1,1,60,0.44,CSH,3.5 +VTS,1,1,960,3.2,CSH,13.5 +VTS,1,1,1020,3.76,CSH,15.0 +VTS,1,1,240,0.41,CSH,4.0 +VTS,1,1,420,1.12,CSH,6.5 +VTS,1,1,180,0.88,CRD,5.0 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,840,2.82,CRD,12.5 +VTS,1,1,1380,7.13,CSH,24.0 +VTS,1,1,360,1.06,CRD,6.0 +VTS,1,1,540,1.13,CSH,7.5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,720,1.72,CRD,9.0 +VTS,1,1,1440,1.97,CRD,15.5 +VTS,1,1,1440,9.05,CRD,28.5 +VTS,1,1,240,1.08,CRD,5.5 +VTS,1,1,540,2.43,CSH,10.0 +VTS,1,1,1080,10.23,CRD,29.5 +VTS,1,1,360,1.74,CSH,7.5 +VTS,1,1,900,3.87,CSH,15.0 +VTS,1,1,360,1.37,CRD,7.0 +VTS,1,1,360,1.61,CSH,7.0 +VTS,1,1,900,3.41,CRD,13.5 +VTS,1,1,1560,9.59,CRD,30.5 +VTS,1,1,1380,3.5,CSH,17.0 +VTS,1,1,240,0.69,CSH,4.5 +VTS,1,1,840,2.19,CRD,11.0 +VTS,1,1,1620,3.25,CRD,19.0 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,5,1200,9.13,CSH,27.0 +VTS,1,5,660,2.08,CRD,9.0 +VTS,1,5,1020,4.04,CRD,16.5 +VTS,1,5,180,0.97,CSH,5.0 +VTS,1,5,1260,3.56,CRD,16.5 +VTS,1,5,600,0.99,CRD,8.0 +VTS,1,5,300,0.81,CSH,5.5 +VTS,1,5,600,1.76,CRD,9.0 +VTS,1,5,600,1.57,CSH,8.5 +VTS,1,5,360,2.23,CSH,8.0 +VTS,1,1,600,2.26,CSH,9.0 +VTS,1,1,480,0.95,CRD,6.5 +VTS,1,1,780,2.86,CSH,11.5 +VTS,1,1,840,3.09,CRD,12.5 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,1,780,4.56,CRD,15.0 +VTS,1,1,600,1.59,CRD,8.5 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,1200,4.31,CRD,18.0 +VTS,1,2,1080,2.35,CRD,13.5 +VTS,1,1,240,0.74,CRD,4.5 +VTS,1,1,120,0.51,CSH,3.5 +VTS,1,1,600,1.64,CSH,8.5 +VTS,1,1,600,2.52,CSH,10.5 +VTS,1,1,420,1.42,CRD,7.5 +VTS,1,1,540,1.96,CRD,9.0 +VTS,1,5,840,0.92,CRD,9.5 +VTS,1,5,480,1.72,CSH,8.0 +VTS,1,5,420,0.89,CRD,6.0 +VTS,1,5,420,1.26,CSH,7.0 +VTS,1,5,480,2.03,CSH,8.0 +VTS,1,5,240,0.7,CSH,4.5 +VTS,1,5,780,3.0,CRD,12.0 +VTS,1,5,480,1.7,CSH,8.0 +VTS,1,5,960,3.03,CSH,13.0 +VTS,1,5,600,1.21,CSH,8.0 +VTS,1,5,900,2.2,CSH,11.5 +VTS,1,5,120,0.31,CSH,3.5 +VTS,1,1,1200,4.41,CRD,18.0 +VTS,1,1,900,5.36,CSH,17.5 +VTS,1,1,360,1.03,CSH,6.0 +VTS,1,1,480,0.56,CSH,6.5 +VTS,1,1,360,1.4,CRD,6.5 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,480,1.73,CRD,8.0 +VTS,1,1,120,0.57,CSH,4.0 +VTS,1,1,240,0.75,CRD,5.0 +VTS,1,2,1140,5.1,CRD,18.0 +VTS,1,2,1020,7.93,CRD,23.5 +VTS,1,1,120,0.66,CSH,4.0 +VTS,1,1,540,1.44,CRD,7.5 +VTS,1,1,1380,4.31,CRD,18.0 +VTS,1,1,840,2.07,CSH,11.0 +VTS,1,1,1020,3.31,CRD,13.5 +VTS,1,1,420,1.21,CRD,7.0 +VTS,1,1,420,2.16,CSH,8.5 +VTS,1,5,480,1.47,CSH,7.5 +VTS,1,5,720,4.44,CSH,15.0 +VTS,1,5,300,0.75,CRD,5.0 +VTS,1,5,480,1.34,CRD,7.5 +VTS,1,1,600,3.88,CSH,12.5 +VTS,1,1,840,3.08,CRD,12.5 +VTS,1,1,1080,3.52,CRD,15.0 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,1,300,0.36,CSH,4.0 +VTS,1,1,480,1.2,CRD,7.0 +VTS,1,1,360,1.28,CRD,6.5 +VTS,1,1,180,0.41,CRD,4.0 +VTS,1,1,420,1.25,CRD,7.5 +VTS,1,2,660,1.58,CRD,8.5 +VTS,1,2,300,0.67,CRD,5.0 +VTS,1,2,720,2.56,CRD,11.0 +VTS,1,1,660,1.8,CSH,9.0 +VTS,1,5,420,1.26,CRD,6.5 +VTS,1,5,600,1.76,CRD,8.5 +VTS,1,5,540,1.1,CSH,7.5 +VTS,1,5,540,0.71,CRD,7.0 +VTS,1,5,420,0.91,CRD,6.5 +VTS,1,5,420,1.62,CRD,7.5 +VTS,1,1,240,1.15,CRD,5.5 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,660,1.63,CSH,7.5 +VTS,1,1,360,1.39,CSH,7.0 +VTS,1,1,960,2.41,CSH,13.0 +VTS,1,1,300,0.77,CRD,5.0 +VTS,1,1,540,1.83,CSH,8.5 +VTS,1,2,1380,2.02,CRD,14.5 +VTS,1,2,1260,2.04,CSH,14.0 +VTS,1,3,780,2.01,CRD,10.0 +VTS,1,1,600,1.42,CRD,8.0 +VTS,1,1,420,1.27,CRD,6.5 +VTS,1,1,1020,4.96,CRD,17.5 +VTS,1,5,900,3.25,CRD,13.5 +VTS,1,6,420,0.97,CRD,6.5 +VTS,1,6,660,2.84,CRD,11.0 +VTS,1,6,780,4.87,CRD,16.5 +VTS,1,1,420,1.01,CSH,6.0 +VTS,1,1,360,1.71,CSH,7.5 +VTS,1,1,660,2.67,CSH,11.0 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,480,0.91,CRD,7.0 +VTS,1,1,900,2.76,CRD,12.5 +VTS,1,1,660,1.71,CRD,9.5 +VTS,1,1,360,1.52,CRD,7.0 +VTS,1,1,420,1.73,CRD,8.0 +VTS,1,1,720,3.77,CRD,13.5 +VTS,1,2,300,0.89,CRD,5.5 +VTS,1,1,420,0.92,CRD,6.5 +VTS,1,1,1620,13.48,CRD,39.5 +VTS,1,5,960,2.14,CRD,11.5 +VTS,1,5,420,1.25,CRD,6.5 +VTS,1,5,540,1.63,CRD,8.0 +VTS,1,5,1020,3.71,CSH,15.5 +VTS,1,1,180,0.46,CSH,4.5 +VTS,1,1,120,0.65,CSH,4.0 +VTS,1,1,840,2.12,CSH,10.5 +VTS,1,1,780,2.72,CRD,11.5 +VTS,1,2,1500,4.71,CSH,21.0 +VTS,1,5,540,1.84,CRD,8.5 +VTS,1,5,720,1.9,CSH,10.5 +VTS,1,6,600,1.56,CRD,9.5 +VTS,1,6,420,1.91,CRD,8.0 +VTS,1,6,780,3.13,CRD,12.0 +VTS,1,3,60,0.0,CRD,2.5 +VTS,2,1,0,0.0,CSH,52.0 +VTS,1,1,840,3.2,CSH,13.0 +VTS,1,1,780,2.15,CRD,10.5 +VTS,1,1,900,3.9,CSH,14.5 +VTS,1,1,780,1.54,CRD,9.5 +VTS,1,1,1200,2.12,CSH,14.0 +VTS,1,5,540,1.89,CRD,8.5 +VTS,1,5,1860,5.96,CRD,23.0 +VTS,1,5,720,1.79,CRD,9.5 +VTS,1,5,180,0.56,CSH,4.5 +VTS,1,5,720,3.95,CRD,13.0 +VTS,1,5,60,0.3,CSH,3.0 +VTS,1,5,480,1.17,CRD,7.5 +VTS,1,5,1320,12.4,CRD,35.5 +VTS,1,1,1260,2.57,CSH,14.5 +VTS,1,1,840,1.3,CSH,9.5 +VTS,1,1,360,0.81,CSH,6.0 +VTS,1,1,720,3.12,CRD,12.0 +VTS,1,1,600,1.53,CSH,8.5 +VTS,1,1,300,0.64,CRD,5.5 +VTS,1,1,240,0.54,CSH,4.0 +VTS,1,1,1200,7.08,CRD,22.5 +VTS,1,2,1080,1.76,CRD,12.5 +VTS,1,2,360,0.84,CSH,6.0 +VTS,1,2,480,1.35,CRD,7.5 +VTS,1,2,480,2.69,CRD,10.0 +VTS,1,1,960,5.63,CSH,18.5 +VTS,1,1,720,2.64,CSH,10.5 +VTS,1,1,540,2.11,CSH,9.0 +VTS,1,1,960,4.55,CSH,16.5 +VTS,1,1,60,0.36,CSH,3.0 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,5,660,1.66,CSH,9.0 +VTS,1,5,540,1.88,CRD,8.5 +VTS,1,5,480,1.06,CSH,7.0 +VTS,1,5,720,1.65,CRD,9.5 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,780,1.24,CRD,9.5 +VTS,1,1,960,2.57,CRD,12.0 +VTS,1,1,120,0.54,CSH,4.0 +VTS,1,1,600,2.79,CRD,10.5 +VTS,1,1,660,2.37,CSH,10.5 +VTS,1,2,1320,3.01,CRD,15.0 +VTS,1,1,840,2.5,CRD,11.5 +VTS,1,1,240,0.96,CRD,5.5 +VTS,2,1,2100,16.03,CSH,52.0 +VTS,1,5,420,1.73,CSH,8.0 +VTS,1,6,360,1.06,CSH,6.0 +VTS,1,6,240,0.76,CRD,4.5 +VTS,1,6,900,1.77,CSH,11.0 +VTS,1,6,600,2.44,CRD,10.0 +VTS,1,1,240,0.92,CRD,5.5 +VTS,1,1,1680,5.11,CSH,22.0 +VTS,1,1,480,1.42,CSH,8.0 +VTS,1,1,660,1.5,CRD,9.0 +VTS,1,1,1320,9.15,CSH,27.0 +VTS,1,1,840,3.46,CSH,13.5 +VTS,1,1,180,0.38,CRD,4.0 +VTS,1,1,420,1.17,CSH,6.5 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,1,660,1.83,CSH,9.5 +VTS,1,1,2700,11.5,CSH,39.5 +VTS,1,1,660,2.18,CRD,10.0 +VTS,1,1,360,1.07,CRD,6.0 +VTS,1,1,360,0.87,CSH,6.0 +VTS,1,1,120,0.52,CSH,4.0 +VTS,1,1,480,1.27,CSH,7.0 +VTS,1,1,720,2.12,CSH,10.0 +VTS,1,1,420,0.75,CRD,6.0 +VTS,1,1,1080,3.69,CSH,15.5 +VTS,1,1,540,0.95,CRD,7.0 +VTS,1,1,1860,3.89,CSH,20.5 +VTS,1,1,540,1.45,CRD,8.0 +VTS,1,1,960,2.31,CRD,12.5 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,5,540,1.9,CSH,8.5 +VTS,1,5,600,1.6,CSH,8.5 +VTS,1,1,660,0.96,CSH,8.0 +VTS,1,1,1260,6.21,CSH,21.5 +VTS,1,2,540,1.23,CSH,8.0 +VTS,1,2,480,1.49,CSH,7.5 +VTS,1,2,960,2.73,CRD,12.5 +VTS,1,2,540,1.59,CSH,8.5 +VTS,1,2,600,1.12,CSH,8.0 +VTS,1,1,480,1.83,CSH,8.0 +VTS,1,1,300,0.99,CSH,6.0 +VTS,1,1,480,1.92,CSH,8.0 +VTS,1,6,540,1.01,CRD,7.0 +VTS,1,5,1260,6.91,CSH,22.5 +VTS,1,6,120,0.4,CSH,3.5 +VTS,1,6,180,0.84,CSH,5.0 +VTS,1,6,60,0.42,CSH,3.5 +VTS,1,6,1260,4.01,CRD,17.0 +VTS,1,1,540,1.94,CSH,8.5 +VTS,1,1,180,0.54,CSH,4.0 +VTS,1,1,1080,2.36,CRD,13.5 +VTS,1,1,240,1.46,CRD,6.0 +VTS,2,1,1500,17.5,CRD,52.0 +VTS,1,3,540,1.72,CRD,8.5 +VTS,1,3,540,1.36,CSH,8.5 +VTS,1,3,1440,2.11,CRD,15.5 +VTS,1,3,480,1.09,CSH,7.0 +VTS,1,3,900,3.08,CSH,13.5 +VTS,1,1,960,2.19,CRD,11.5 +VTS,1,1,480,0.88,CSH,7.0 +VTS,1,1,1080,4.58,CRD,17.5 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,1,420,1.97,CSH,7.5 +VTS,1,1,540,2.19,CSH,9.0 +VTS,1,3,300,1.48,CSH,6.5 +VTS,1,4,780,1.76,CSH,10.0 +VTS,1,3,540,1.66,CRD,8.5 +VTS,1,1,720,1.59,CRD,9.5 +VTS,1,1,720,1.68,CRD,9.5 +VTS,1,1,1620,4.35,CRD,20.0 +VTS,1,1,840,0.97,CRD,9.5 +VTS,1,1,720,1.72,CRD,9.5 +VTS,1,1,840,1.88,CRD,10.5 +VTS,1,1,1260,2.82,CRD,14.5 +VTS,1,1,1320,9.45,CRD,28.5 +VTS,1,3,540,1.03,CSH,7.0 +VTS,1,1,360,2.28,CSH,8.0 +VTS,1,1,900,1.47,CSH,10.5 +VTS,1,1,960,2.03,CSH,11.5 +VTS,2,1,4020,26.5,CRD,52.0 +VTS,1,1,2640,9.06,CSH,34.5 +VTS,1,2,1020,2.57,CRD,12.5 +VTS,1,2,1080,1.46,CSH,11.5 +VTS,1,2,1560,4.01,CSH,19.0 +VTS,1,6,660,2.57,CRD,10.5 +VTS,1,6,1140,4.29,CSH,16.5 +VTS,1,1,600,1.12,CSH,7.5 +VTS,1,1,240,0.89,CSH,5.0 +VTS,1,1,660,0.98,CRD,8.5 +VTS,1,1,240,0.81,CRD,5.0 +VTS,1,1,1140,5.63,CRD,19.5 +VTS,1,1,540,1.89,CRD,8.0 +VTS,1,4,480,2.36,CRD,9.5 +VTS,1,4,300,1.09,CRD,6.0 +VTS,1,3,1080,3.07,CRD,14.5 +VTS,1,5,120,0.52,CSH,4.0 +VTS,1,1,900,3.83,CRD,14.0 +VTS,1,2,1440,9.04,CRD,28.0 +VTS,1,1,960,5.16,CRD,17.0 +VTS,1,1,360,1.02,CRD,6.5 +VTS,1,1,300,1.14,CRD,6.0 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,2,600,1.14,CSH,7.5 +VTS,1,1,660,1.84,CRD,9.5 +VTS,1,1,480,1.3,CRD,7.5 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,2,780,2.94,CRD,11.5 +VTS,1,1,600,2.23,CSH,9.5 +VTS,1,1,720,2.1,CSH,10.0 +VTS,1,1,1680,6.89,CSH,25.0 +VTS,1,6,420,2.81,CRD,10.0 +VTS,1,1,1380,4.05,CRD,17.5 +VTS,1,1,660,2.48,CRD,10.0 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,480,2.99,CRD,10.5 +VTS,1,1,180,0.61,CSH,4.0 +VTS,1,3,420,1.34,CRD,7.5 +VTS,1,3,1080,3.16,CSH,14.5 +VTS,1,3,660,2.7,CRD,10.5 +VTS,1,1,900,3.39,CSH,13.5 +VTS,1,1,840,2.66,CRD,11.5 +VTS,1,1,240,0.85,CSH,5.0 +VTS,1,1,480,1.01,CSH,6.5 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,780,1.5,CSH,9.0 +VTS,1,1,1020,5.39,CRD,18.0 +VTS,1,2,600,1.64,CRD,8.5 +VTS,1,1,540,2.02,CRD,9.0 +VTS,1,1,480,2.3,CRD,9.0 +VTS,2,1,1680,15.68,CRD,52.0 +VTS,1,1,720,1.98,CRD,9.5 +VTS,1,2,3900,9.55,CSH,43.0 +VTS,1,2,420,1.8,CRD,7.5 +VTS,1,1,360,0.03,CSH,3.5 +VTS,1,1,660,2.34,CSH,10.0 +VTS,1,2,420,2.31,CRD,8.5 +VTS,1,1,480,1.52,CSH,7.5 +VTS,1,5,480,1.47,CRD,7.5 +VTS,1,5,480,1.87,CSH,9.0 +VTS,1,5,1620,16.69,CSH,45.5 +VTS,1,5,1320,13.67,CSH,37.0 +VTS,1,6,300,1.24,CRD,6.5 +VTS,1,6,1260,8.36,CRD,25.5 +VTS,1,6,840,5.62,CRD,18.0 +VTS,1,1,420,1.93,CRD,8.0 +VTS,1,1,240,0.9,CRD,5.0 +VTS,1,1,1500,4.88,CRD,20.0 +VTS,1,1,780,3.4,CSH,13.0 +VTS,1,1,780,2.42,CRD,11.0 +VTS,1,1,1020,8.3,CRD,25.0 +VTS,1,1,480,1.98,CSH,8.0 +VTS,1,3,540,1.18,CSH,8.0 +VTS,1,4,480,1.56,CRD,8.0 +VTS,1,1,900,4.0,CRD,15.0 +VTS,1,1,720,2.71,CSH,11.0 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,1,120,0.29,CSH,3.0 +VTS,1,1,300,0.61,CSH,5.0 +VTS,1,1,180,0.4,CRD,4.0 +VTS,1,1,1200,5.18,CRD,19.0 +VTS,1,1,660,1.25,CSH,8.5 +VTS,1,1,540,1.86,CRD,8.5 +VTS,1,1,780,2.02,CRD,10.0 +VTS,1,1,1020,3.96,CSH,14.5 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,120,0.67,CRD,4.0 +VTS,1,1,540,3.05,CRD,10.5 +VTS,1,3,1200,3.79,CSH,16.0 +VTS,1,1,960,5.73,CSH,19.0 +VTS,1,1,540,4.77,CSH,15.0 +VTS,1,1,180,0.8,CRD,5.0 +VTS,1,1,600,2.94,CRD,10.5 +VTS,1,1,720,1.39,CSH,9.0 +VTS,1,1,1320,7.74,CSH,25.0 +VTS,1,1,480,1.28,CRD,7.0 +VTS,1,2,660,1.5,CRD,8.5 +VTS,5,1,0,0.0,CRD,11.11 +VTS,1,1,780,1.73,CRD,10.0 +VTS,1,1,60,0.0,CRD,2.5 +VTS,1,1,840,1.5,CRD,10.0 +VTS,1,1,180,0.51,CRD,4.0 +VTS,1,1,1260,15.45,CRD,41.5 +VTS,1,1,360,0.61,CSH,5.0 +VTS,1,1,420,1.75,CRD,7.5 +VTS,1,1,420,1.04,CSH,6.0 +VTS,1,2,480,0.7,CSH,6.5 +VTS,1,2,240,0.53,CSH,4.5 +VTS,1,5,420,1.21,CRD,7.0 +VTS,1,5,360,1.06,CSH,6.0 +VTS,1,6,600,2.33,CSH,10.0 +VTS,1,6,1140,4.18,CRD,17.0 +VTS,1,6,420,1.51,CRD,7.0 +VTS,1,6,120,0.56,CRD,4.0 +VTS,1,6,300,0.67,CSH,5.0 +VTS,1,1,900,2.81,CRD,12.0 +VTS,1,1,900,2.31,CRD,11.5 +VTS,1,3,660,2.61,CRD,11.0 +VTS,1,3,660,3.17,CSH,11.5 +VTS,1,4,300,0.86,CSH,5.0 +VTS,1,4,420,0.86,CRD,6.5 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,960,4.12,CRD,15.0 +VTS,1,1,660,1.3,CSH,8.5 +VTS,1,2,420,1.6,CRD,7.5 +VTS,1,2,420,1.33,CRD,7.0 +VTS,1,1,660,1.68,CSH,8.5 +VTS,1,1,600,2.2,CSH,9.5 +VTS,1,1,540,2.16,CRD,9.5 +VTS,1,2,1200,3.03,CSH,15.0 +VTS,1,2,300,0.95,CRD,5.0 +VTS,1,1,1140,4.07,CRD,15.5 +VTS,1,2,540,1.18,CSH,7.5 +VTS,1,1,600,2.19,CSH,9.5 +VTS,1,2,300,1.02,CSH,5.5 +VTS,1,2,600,4.36,CRD,13.5 +VTS,1,1,2100,13.02,CRD,40.0 +VTS,1,1,1980,9.93,CRD,33.5 +VTS,1,1,600,1.26,CRD,7.5 +VTS,1,1,420,0.98,CRD,6.5 +VTS,1,1,360,1.16,CSH,6.0 +VTS,1,1,300,1.19,CSH,5.5 +VTS,1,1,600,3.07,CRD,11.0 +VTS,1,2,660,2.44,CRD,10.0 +VTS,1,1,420,1.78,CRD,7.5 +VTS,1,2,180,0.91,CSH,4.5 +VTS,1,2,900,2.79,CSH,12.0 +VTS,1,1,660,2.17,CRD,9.5 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,120,0.5,CSH,3.5 +VTS,1,1,600,1.92,CRD,9.0 +VTS,1,3,1740,6.58,CSH,24.5 +VTS,1,3,300,0.97,CRD,5.0 +VTS,1,3,480,2.19,CRD,8.5 +VTS,1,3,360,1.31,CSH,7.0 +VTS,1,4,1200,3.22,CRD,15.0 +VTS,1,3,300,0.86,CSH,5.0 +VTS,1,1,900,4.03,CRD,14.5 +VTS,1,1,1500,7.22,CSH,24.5 +VTS,1,1,1080,6.94,CRD,22.0 +VTS,1,2,360,0.94,CRD,6.0 +VTS,1,1,360,1.41,CSH,7.0 +VTS,1,1,300,1.66,CRD,6.5 +VTS,1,2,720,2.7,CSH,11.0 +VTS,1,1,1680,3.94,CRD,19.0 +VTS,1,1,1740,5.2,CRD,21.0 +VTS,1,1,960,3.15,CSH,13.5 +VTS,1,1,600,1.98,CRD,9.0 +VTS,1,1,300,1.73,CRD,7.0 +VTS,1,1,1380,5.32,CSH,18.5 +VTS,1,1,720,2.06,CSH,10.0 +VTS,1,1,240,1.28,CSH,6.0 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,2,600,2.6,CRD,10.5 +VTS,1,2,360,0.65,CSH,5.5 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,360,1.02,CSH,6.0 +VTS,1,1,720,2.04,CRD,10.0 +VTS,1,1,540,1.2,CRD,8.0 +VTS,1,2,300,1.03,CRD,5.5 +VTS,1,2,120,0.71,CSH,4.5 +VTS,1,2,240,0.8,CRD,5.0 +VTS,1,2,420,1.69,CRD,7.5 +VTS,1,2,420,1.48,CRD,7.0 +VTS,1,2,960,4.56,CSH,15.5 +VTS,1,1,1560,19.13,CSH,51.0 +VTS,1,5,480,1.91,CSH,8.0 +VTS,1,5,480,1.02,CSH,6.5 +VTS,1,5,480,1.45,CRD,7.5 +VTS,1,5,360,1.37,CSH,7.0 +VTS,1,5,300,0.88,CSH,5.5 +VTS,1,5,420,2.47,CRD,9.5 +VTS,1,5,720,1.83,CSH,9.0 +VTS,1,5,1320,6.85,CRD,23.5 +VTS,1,5,1200,3.63,CSH,15.5 +VTS,1,1,360,1.21,CSH,6.0 +VTS,1,1,1380,4.53,CRD,19.0 +VTS,1,1,120,0.33,CSH,3.0 +VTS,1,1,480,1.08,CRD,7.0 +VTS,1,1,1260,4.44,CSH,18.0 +VTS,1,1,420,1.88,CRD,8.0 +VTS,1,2,240,0.64,CSH,5.0 +VTS,1,2,180,0.61,CRD,4.5 +VTS,1,2,720,3.19,CRD,12.0 +VTS,1,1,840,2.05,CSH,11.0 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,360,1.41,CSH,6.5 +VTS,1,5,540,0.98,CRD,7.5 +VTS,1,5,360,0.83,CSH,6.0 +VTS,1,5,240,1.5,CRD,6.5 +VTS,1,5,840,3.25,CSH,13.5 +VTS,1,5,600,2.67,CSH,10.0 +VTS,1,3,1680,8.89,CSH,28.0 +VTS,1,2,840,1.7,CRD,10.5 +VTS,1,1,1560,10.15,CRD,30.5 +VTS,1,1,720,2.89,CSH,11.5 +VTS,1,1,900,2.25,CRD,12.0 +VTS,1,2,120,0.65,CSH,4.5 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,2,360,0.85,CRD,5.5 +VTS,1,1,360,0.91,CSH,6.0 +VTS,1,2,180,0.85,CRD,4.5 +VTS,1,1,900,3.76,CRD,14.0 +VTS,1,1,300,1.17,CSH,6.0 +VTS,1,1,240,1.18,CSH,5.5 +VTS,1,1,660,2.58,CSH,10.5 +VTS,1,1,1380,4.36,CRD,18.0 +VTS,1,1,660,1.16,CSH,8.5 +VTS,1,2,300,0.88,CSH,5.5 +VTS,1,2,540,0.97,CSH,7.0 +VTS,2,1,0,0.0,CSH,52.0 +VTS,1,1,1080,4.77,CRD,18.0 +VTS,1,1,420,1.33,CSH,7.0 +VTS,1,1,1200,3.66,CRD,15.5 +VTS,1,1,720,1.94,CSH,10.5 +VTS,1,1,420,2.11,CSH,8.5 +VTS,1,1,420,0.79,CSH,6.0 +VTS,1,4,420,1.94,CRD,8.0 +VTS,1,1,1200,3.86,CSH,16.5 +VTS,1,1,120,0.42,CSH,3.5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,2,1260,2.43,CSH,14.5 +VTS,1,2,360,2.17,CSH,7.5 +VTS,1,2,120,0.41,CSH,3.5 +VTS,1,1,360,0.76,CSH,5.5 +VTS,1,1,360,0.62,CSH,4.5 +VTS,1,1,960,2.96,CRD,12.5 +VTS,1,1,300,0.59,CRD,4.5 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,600,1.41,CSH,8.5 +VTS,1,2,720,2.1,CRD,10.0 +VTS,1,1,780,1.39,CRD,10.0 +VTS,1,1,900,2.32,CSH,12.0 +VTS,1,1,420,2.27,CSH,8.5 +VTS,1,1,960,3.42,CRD,14.0 +VTS,1,3,420,0.53,CSH,5.5 +VTS,1,3,960,0.63,CRD,10.5 +VTS,1,3,120,0.15,CSH,3.0 +VTS,1,3,1200,2.49,CRD,14.0 +VTS,1,4,600,1.11,CRD,8.0 +VTS,1,4,360,1.18,CSH,6.5 +VTS,1,3,180,0.88,CRD,4.5 +VTS,1,1,480,1.57,CSH,8.0 +VTS,1,1,960,4.37,CSH,16.0 +VTS,1,1,600,3.72,CRD,12.5 +VTS,1,1,540,1.92,CRD,9.0 +VTS,1,1,480,1.22,CRD,7.0 +VTS,1,1,900,4.43,CRD,15.0 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,540,2.01,CRD,8.5 +VTS,1,3,2280,11.24,CSH,35.5 +VTS,1,3,720,1.79,CRD,9.5 +VTS,1,3,240,0.81,CSH,5.5 +VTS,1,4,300,2.25,CRD,8.0 +VTS,1,3,1020,4.31,CRD,16.0 +VTS,1,3,480,2.51,CSH,10.0 +VTS,1,1,360,1.23,CSH,6.5 +VTS,1,1,660,1.28,CRD,8.5 +VTS,1,1,900,7.67,CSH,23.0 +VTS,1,5,600,3.12,CSH,11.5 +VTS,1,5,1980,11.75,CRD,37.0 +VTS,1,5,360,0.7,CSH,5.5 +VTS,1,5,480,1.66,CSH,8.0 +VTS,1,5,600,1.51,CRD,8.0 +VTS,1,5,300,0.55,CSH,5.0 +VTS,1,5,780,2.07,CSH,8.5 +VTS,1,5,240,0.95,CSH,5.0 +VTS,1,5,1200,5.29,CSH,19.5 +VTS,1,5,120,0.55,CRD,4.0 +VTS,1,5,1200,2.79,CSH,14.5 +VTS,1,1,1260,2.77,CRD,15.0 +VTS,1,1,1020,1.99,CSH,11.5 +VTS,1,1,840,1.21,CSH,9.0 +VTS,1,1,2220,10.05,CSH,34.0 +VTS,1,1,660,1.68,CSH,9.0 +VTS,1,1,1500,3.67,CRD,17.5 +VTS,1,2,900,4.97,CRD,16.5 +VTS,1,2,420,1.74,CRD,8.0 +VTS,1,2,300,0.56,CSH,5.0 +VTS,1,2,1080,3.39,CSH,15.0 +VTS,1,2,300,0.97,CSH,6.0 +VTS,1,1,300,0.67,CRD,5.0 +VTS,1,1,360,1.68,CRD,7.0 +VTS,1,1,660,1.98,CRD,9.5 +VTS,1,1,540,1.35,CRD,7.5 +VTS,1,1,300,0.75,CSH,5.0 +VTS,1,1,1260,3.83,CSH,16.5 +VTS,1,1,600,1.08,CRD,7.5 +VTS,1,2,840,1.81,CSH,11.0 +VTS,1,1,720,2.16,CRD,10.5 +VTS,1,2,600,2.7,CSH,10.5 +VTS,1,1,240,0.85,CSH,5.0 +VTS,1,4,420,1.43,CSH,7.5 +VTS,1,2,240,1.06,CRD,5.5 +VTS,1,3,300,1.42,CSH,7.0 +VTS,1,2,780,1.34,CRD,9.0 +VTS,1,2,60,0.46,CSH,3.5 +VTS,1,2,360,1.68,CSH,6.5 +VTS,1,1,540,1.4,CRD,8.0 +VTS,1,1,480,1.15,CSH,7.0 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,420,1.61,CSH,8.0 +VTS,1,1,720,3.41,CRD,12.5 +VTS,1,1,420,1.27,CSH,7.0 +VTS,1,1,600,1.92,CRD,9.0 +VTS,1,1,540,1.87,CSH,8.5 +VTS,1,1,300,1.08,CRD,6.0 +VTS,1,1,180,1.51,CRD,6.0 +VTS,1,1,960,1.61,CRD,11.0 +VTS,1,1,660,2.91,CRD,11.0 +VTS,1,1,300,1.36,CSH,6.0 +VTS,1,3,660,1.41,CRD,8.5 +VTS,1,4,480,2.21,CSH,9.0 +VTS,1,1,900,2.28,CRD,11.5 +VTS,1,5,540,1.79,CSH,8.0 +VTS,1,5,600,1.24,CSH,8.0 +VTS,1,5,1560,11.33,CSH,34.0 +VTS,1,5,900,2.37,CSH,11.0 +VTS,1,5,1680,4.02,CSH,20.5 +VTS,1,5,240,0.36,CSH,4.5 +VTS,1,5,1200,2.16,CRD,14.0 +VTS,1,5,1140,3.8,CRD,16.5 +VTS,1,1,420,1.12,CRD,6.5 +VTS,1,1,360,2.26,CSH,8.0 +VTS,1,3,540,1.68,CSH,8.5 +VTS,1,1,240,1.12,CSH,5.5 +VTS,1,1,60,0.3,CSH,3.0 +VTS,1,5,300,1.35,CRD,6.5 +VTS,1,5,1920,3.46,CRD,20.0 +VTS,1,5,780,2.19,CRD,11.0 +VTS,2,5,2880,17.95,CSH,52.0 +VTS,1,5,1380,11.74,CRD,35.0 +VTS,1,5,540,1.66,CRD,8.0 +VTS,1,5,300,0.53,CSH,5.0 +VTS,1,5,300,0.81,CSH,5.0 +VTS,1,5,240,1.07,CSH,5.5 +VTS,1,5,840,2.63,CSH,12.5 +VTS,1,5,1440,5.64,CRD,21.5 +VTS,1,5,1200,9.25,CSH,28.0 +VTS,2,5,2280,17.76,CSH,52.0 +VTS,1,5,420,0.98,CSH,6.5 +VTS,1,5,1140,3.05,CSH,14.5 +VTS,1,5,540,1.04,CRD,7.5 +VTS,1,5,300,0.77,CSH,5.5 +VTS,1,5,960,2.84,CRD,13.0 +VTS,1,5,780,3.63,CSH,13.5 +VTS,1,5,600,2.32,CSH,10.0 +VTS,1,5,960,4.48,CRD,16.0 +VTS,1,1,360,1.93,CSH,8.0 +VTS,1,1,540,2.52,CRD,10.0 +VTS,1,5,1200,2.1,CRD,13.5 +VTS,1,5,540,2.01,CSH,8.0 +VTS,1,5,780,2.98,CRD,12.5 +VTS,1,5,660,2.44,CRD,10.5 +VTS,1,5,300,0.88,CSH,5.5 +VTS,1,5,240,0.69,CSH,4.5 +VTS,1,5,0,0.02,CSH,2.5 +VTS,1,5,300,0.75,CRD,5.0 +VTS,2,5,2460,18.15,CSH,52.0 +VTS,1,5,180,0.62,CRD,4.5 +VTS,1,5,1020,2.7,CRD,12.5 +VTS,1,5,360,0.48,CSH,5.5 +VTS,1,5,780,1.67,CSH,10.0 +VTS,2,5,2520,17.2,CSH,52.0 +VTS,1,5,780,1.44,CSH,10.0 +VTS,1,5,780,1.67,CRD,10.0 +VTS,1,5,1380,2.82,CRD,15.5 +VTS,1,5,1200,2.63,CSH,14.5 +VTS,1,5,600,3.34,CSH,12.0 +VTS,1,5,660,3.37,CRD,12.0 +VTS,1,5,480,1.31,CSH,8.0 +VTS,1,5,420,1.26,CRD,7.0 +VTS,1,5,1020,3.5,CRD,14.5 +VTS,1,5,360,0.97,CSH,6.5 +VTS,1,2,600,1.83,CRD,9.0 +VTS,1,1,300,1.09,CSH,6.0 +VTS,1,1,360,0.93,CRD,6.0 +VTS,1,3,300,0.87,CSH,5.5 +VTS,1,2,420,1.9,CSH,8.0 +VTS,1,2,900,4.22,CSH,15.5 +VTS,1,3,300,1.15,CSH,6.0 +VTS,1,3,600,2.19,CRD,9.5 +VTS,1,4,360,1.44,CRD,7.0 +VTS,1,4,300,0.78,CSH,5.5 +VTS,1,1,60,0.49,CRD,3.5 +VTS,1,5,420,1.5,CSH,7.5 +VTS,1,5,480,1.03,CRD,7.0 +VTS,1,5,540,1.86,CRD,9.0 +VTS,1,5,240,0.49,CSH,4.5 +VTS,1,5,540,3.2,CSH,11.5 +VTS,1,5,360,1.53,CRD,7.0 +VTS,1,5,900,8.48,CRD,24.5 +VTS,1,5,1680,9.79,CSH,31.0 +VTS,1,5,1080,2.44,CRD,13.0 +VTS,1,5,480,2.48,CSH,9.5 +VTS,1,5,300,1.18,CSH,6.5 +VTS,1,5,420,0.89,CSH,6.0 +VTS,1,5,300,0.38,CSH,4.5 +VTS,1,5,660,4.58,CSH,15.0 +VTS,1,5,1740,4.25,CRD,20.0 +VTS,1,1,660,1.74,CRD,8.5 +VTS,1,2,540,1.73,CSH,8.5 +VTS,1,2,480,1.31,CRD,7.0 +VTS,1,3,840,5.69,CRD,18.0 +VTS,1,1,780,3.31,CRD,12.5 +VTS,1,1,900,3.26,CRD,13.0 +VTS,1,1,1020,3.11,CRD,14.0 +VTS,1,1,480,1.56,CSH,7.5 +VTS,1,1,420,0.89,CSH,6.5 +VTS,1,1,420,2.7,CRD,10.0 +VTS,1,1,300,0.47,CSH,5.0 +VTS,1,2,360,0.64,CSH,5.5 +VTS,1,2,780,1.31,CSH,9.0 +VTS,1,2,660,2.46,CSH,10.5 +VTS,1,2,1320,5.93,CSH,21.5 +VTS,1,2,180,0.87,CRD,4.5 +VTS,1,2,660,2.66,CRD,10.5 +VTS,1,2,420,2.84,CSH,9.5 +VTS,2,1,60,0.04,CRD,52.0 +VTS,1,1,240,1.21,CSH,6.0 +VTS,1,1,780,1.69,CRD,10.0 +VTS,1,1,300,1.23,CSH,6.0 +VTS,1,1,1500,3.51,CRD,17.0 +VTS,1,1,840,5.68,CRD,17.5 +VTS,1,3,360,1.39,CSH,6.5 +VTS,1,1,540,0.97,CRD,7.0 +VTS,1,2,360,0.96,CSH,6.0 +VTS,1,1,360,2.05,CSH,8.0 +VTS,1,1,120,0.78,CRD,4.0 +VTS,1,2,420,1.11,CRD,6.5 +VTS,1,1,1260,9.64,CRD,28.5 +VTS,1,3,780,3.23,CRD,13.5 +VTS,1,3,720,2.76,CRD,11.0 +VTS,1,3,480,0.82,CSH,7.0 +VTS,1,3,600,2.2,CSH,9.5 +VTS,1,4,360,1.47,CSH,7.0 +VTS,1,4,300,0.41,CSH,4.5 +VTS,1,1,660,1.47,CSH,9.0 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,600,3.36,CRD,11.5 +VTS,1,1,120,0.77,CSH,4.5 +VTS,1,1,1440,7.34,CSH,24.5 +VTS,1,5,1140,10.44,CSH,29.5 +VTS,1,5,840,2.44,CRD,11.5 +VTS,1,5,1080,2.57,CSH,13.5 +VTS,1,5,1800,4.09,CSH,20.0 +VTS,1,5,540,1.01,CSH,7.0 +VTS,1,5,480,1.06,CSH,7.0 +VTS,1,5,1200,3.12,CSH,14.5 +VTS,1,5,720,3.32,CSH,12.5 +VTS,5,1,1560,16.99,CRD,68.5 +VTS,5,1,1860,6.76,CSH,20.0 +VTS,1,1,600,3.26,CSH,11.0 +VTS,1,1,540,1.2,CRD,7.5 +VTS,1,1,1800,6.37,CSH,24.0 +VTS,1,1,1800,19.4,CSH,52.5 +VTS,1,1,960,2.47,CRD,13.0 +VTS,1,1,720,2.47,CSH,10.5 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,720,2.23,CRD,10.5 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,2,120,0.37,CSH,3.5 +VTS,1,1,420,0.91,CSH,6.5 +VTS,1,1,900,4.05,CRD,13.0 +VTS,1,1,480,1.17,CSH,7.0 +VTS,1,5,180,0.58,CSH,4.5 +VTS,1,6,300,0.84,CRD,5.5 +VTS,1,6,360,0.48,CSH,5.5 +VTS,1,6,120,0.26,CRD,3.5 +VTS,1,6,180,0.44,CSH,4.0 +VTS,1,1,960,2.99,CRD,13.0 +VTS,1,1,180,1.23,CRD,5.5 +VTS,1,1,0,0.08,CSH,2.5 +VTS,1,1,720,3.59,CRD,13.5 +VTS,1,3,840,7.7,CRD,22.0 +VTS,1,3,960,3.97,CRD,15.0 +VTS,1,3,780,1.76,CSH,10.0 +VTS,1,3,840,2.58,CRD,11.5 +VTS,1,1,600,3.33,CSH,12.0 +VTS,1,1,240,1.04,CRD,5.5 +VTS,1,1,480,2.4,CRD,9.0 +VTS,1,1,840,1.72,CRD,10.5 +VTS,1,1,420,1.22,CRD,7.0 +VTS,1,1,480,1.3,CSH,7.0 +VTS,1,1,1740,5.5,CSH,23.0 +VTS,1,1,300,0.51,CRD,5.0 +VTS,1,1,660,1.48,CSH,9.0 +VTS,1,1,780,2.19,CSH,11.0 +VTS,1,2,540,2.96,CRD,10.5 +VTS,1,1,660,1.25,CSH,9.0 +VTS,1,1,480,1.17,CSH,7.0 +VTS,1,2,480,1.48,CRD,7.5 +VTS,1,1,300,1.03,CRD,5.5 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,780,3.16,CRD,12.0 +VTS,1,1,300,0.33,CSH,4.5 +VTS,1,1,480,0.76,CSH,6.0 +VTS,1,1,600,1.58,CRD,9.0 +VTS,1,1,720,1.45,CRD,9.0 +VTS,1,1,960,2.43,CRD,11.5 +VTS,1,1,120,0.41,CRD,3.5 +VTS,1,2,360,0.68,CSH,5.5 +VTS,1,2,780,2.52,CRD,11.0 +VTS,1,2,780,2.48,CRD,11.5 +VTS,1,5,720,1.23,CRD,9.0 +VTS,1,5,720,1.45,CSH,9.0 +VTS,1,5,360,1.44,CSH,7.0 +VTS,1,5,600,1.06,CSH,8.0 +VTS,1,5,660,1.74,CRD,9.0 +VTS,1,5,720,1.8,CSH,9.0 +VTS,2,5,2340,19.43,CSH,52.0 +VTS,1,5,420,1.39,CSH,7.5 +VTS,1,5,1680,11.89,CRD,36.5 +VTS,1,5,840,2.42,CRD,11.0 +VTS,1,5,540,2.7,CSH,10.0 +VTS,1,5,720,1.86,CSH,10.0 +VTS,1,5,1080,2.44,CRD,13.0 +VTS,1,5,420,0.51,CSH,5.5 +VTS,1,5,360,0.86,CSH,6.0 +VTS,1,5,960,3.01,CRD,13.0 +VTS,1,5,480,1.43,CSH,7.0 +VTS,1,5,2040,7.46,CRD,28.5 +VTS,2,5,2100,17.21,CSH,52.0 +VTS,2,5,2880,17.72,CRD,52.0 +VTS,1,5,840,2.59,CSH,12.0 +VTS,1,5,840,1.03,CRD,9.5 +VTS,1,5,1800,7.45,CRD,27.5 +VTS,1,5,600,2.05,CRD,9.5 +VTS,1,5,1020,2.42,CRD,12.5 +VTS,1,5,480,1.05,CSH,6.5 +VTS,1,5,780,1.52,CSH,9.5 +VTS,1,5,1020,3.27,CSH,14.0 +VTS,1,5,480,0.78,CSH,6.5 +VTS,1,5,660,1.7,CRD,9.0 +VTS,1,5,1440,2.92,CSH,16.0 +VTS,1,5,1140,2.96,CRD,14.5 +VTS,1,5,1080,1.91,CRD,12.5 +VTS,1,5,840,8.58,CRD,25.0 +VTS,2,5,2340,19.01,CSH,52.0 +VTS,2,5,2220,20.12,CSH,52.0 +VTS,1,5,420,0.82,CSH,6.0 +VTS,1,5,480,1.88,CSH,8.0 +VTS,1,5,240,0.81,CRD,5.0 +VTS,1,5,600,1.66,CRD,8.5 +VTS,1,5,2460,11.19,CRD,38.0 +VTS,1,5,900,2.05,CRD,11.5 +VTS,1,5,720,1.3,CRD,8.5 +VTS,1,5,960,1.29,CRD,11.0 +VTS,1,5,1140,3.7,CRD,15.5 +VTS,1,5,1200,6.51,CRD,21.5 +VTS,1,5,180,0.46,CSH,4.0 +VTS,1,5,420,1.33,CSH,7.0 +VTS,1,5,900,3.34,CSH,13.0 +VTS,1,5,1620,5.33,CRD,22.5 +VTS,1,5,900,2.43,CRD,11.0 +VTS,1,1,420,2.68,CRD,9.5 +VTS,1,5,1380,8.63,CRD,27.0 +VTS,1,5,1620,2.28,CSH,10.0 +VTS,1,5,1320,5.04,CSH,19.5 +VTS,1,5,360,0.79,CRD,5.5 +VTS,1,5,180,0.46,CSH,4.0 +VTS,1,5,780,2.42,CRD,11.0 +VTS,1,5,1380,5.05,CSH,19.5 +VTS,1,5,2040,4.83,CSH,24.0 +VTS,1,5,360,1.31,CSH,6.5 +VTS,1,5,300,0.75,CRD,5.5 +VTS,1,5,1140,2.49,CSH,13.5 +VTS,1,5,1200,4.71,CRD,17.5 +VTS,1,5,2160,2.9,CRD,21.5 +VTS,1,5,1200,4.46,CSH,18.5 +VTS,1,5,180,0.5,CRD,4.0 +VTS,1,5,720,2.15,CSH,10.0 +VTS,1,5,1140,3.3,CRD,15.0 +VTS,1,5,240,1.11,CSH,5.5 +VTS,1,5,840,2.55,CSH,11.0 +VTS,1,5,540,1.06,CRD,7.0 +VTS,1,5,1500,3.53,CSH,17.5 +VTS,1,1,900,5.05,CSH,16.5 +VTS,1,1,60,0.54,CSH,3.5 +VTS,1,1,480,1.75,CRD,8.0 +VTS,1,1,540,1.85,CRD,8.5 +VTS,1,1,1200,4.93,CRD,18.0 +VTS,1,5,120,0.33,CSH,3.5 +VTS,1,5,1200,10.61,CRD,31.5 +VTS,1,5,600,1.61,CRD,8.5 +VTS,1,5,420,0.92,CSH,6.0 +VTS,1,5,1560,11.76,CRD,35.0 +VTS,2,5,2100,18.64,CRD,52.0 +VTS,1,5,720,2.13,CRD,10.0 +VTS,1,5,180,0.58,CRD,4.0 +VTS,1,5,600,1.93,CSH,9.0 +VTS,1,5,600,2.14,CRD,9.5 +VTS,1,5,840,1.42,CSH,10.5 +VTS,2,5,2220,17.14,CRD,52.0 +VTS,1,5,180,0.45,CSH,4.0 +VTS,1,5,420,2.01,CRD,8.0 +VTS,1,5,600,1.82,CRD,9.0 +VTS,1,5,300,1.36,CSH,6.5 +VTS,1,5,600,2.21,CRD,9.5 +VTS,1,5,1680,5.12,CRD,21.5 +VTS,1,5,960,2.23,CSH,12.0 +VTS,1,5,780,1.75,CSH,10.0 +VTS,1,5,960,1.92,CRD,11.5 +VTS,1,5,300,1.1,CRD,6.5 +VTS,1,5,720,0.85,CSH,8.5 +VTS,1,5,240,0.66,CSH,5.0 +VTS,1,5,720,1.35,CSH,9.0 +VTS,1,5,600,2.2,CSH,10.0 +VTS,1,5,120,0.53,CSH,3.5 +VTS,1,5,360,0.95,CSH,6.0 +VTS,1,5,540,1.27,CSH,7.5 +VTS,1,5,300,0.76,CSH,5.0 +VTS,1,5,720,1.78,CRD,9.5 +VTS,1,5,480,1.23,CRD,7.0 +VTS,1,5,660,0.86,CRD,8.0 +VTS,1,5,420,1.11,CSH,7.0 +VTS,1,5,540,3.07,CRD,10.5 +VTS,1,5,300,1.07,CSH,6.0 +VTS,1,5,2100,8.03,CRD,30.5 +VTS,1,5,960,1.25,CSH,11.0 +VTS,1,5,360,1.35,CSH,6.5 +VTS,1,5,600,1.59,CSH,8.5 +VTS,1,5,1500,4.19,CRD,18.5 +VTS,1,5,1020,3.29,CRD,14.0 +VTS,1,5,900,7.95,CSH,23.5 +VTS,1,5,300,0.67,CRD,5.0 +VTS,1,5,840,1.56,CRD,10.5 +VTS,1,5,1080,2.63,CSH,13.5 +VTS,1,5,1080,3.29,CRD,15.0 +VTS,1,5,0,0.0,CSH,2.5 +VTS,1,5,960,2.56,CRD,12.5 +VTS,1,5,840,1.65,CRD,10.5 +VTS,1,1,1560,15.87,CSH,44.0 +VTS,1,1,660,5.3,CRD,17.0 +VTS,1,5,2040,10.61,CSH,35.5 +VTS,1,5,300,1.7,CSH,7.5 +VTS,1,5,780,2.01,CSH,11.0 +VTS,1,5,900,2.49,CRD,11.5 +VTS,1,5,660,1.4,CRD,8.5 +VTS,1,5,420,1.61,CRD,7.5 +VTS,1,5,1140,3.31,CRD,15.5 +VTS,1,5,1140,2.91,CRD,14.5 +VTS,1,5,300,0.57,CSH,5.5 +VTS,1,5,660,0.88,CSH,8.0 +VTS,1,5,120,0.54,CSH,3.5 +VTS,1,5,720,2.22,CRD,10.5 +VTS,1,5,180,0.37,CRD,4.0 +VTS,1,5,780,1.7,CRD,10.0 +VTS,1,1,300,1.05,CSH,5.5 +VTS,1,5,720,2.54,CSH,11.0 +VTS,1,5,960,4.38,CRD,16.5 +VTS,1,5,300,1.31,CRD,6.0 +VTS,1,5,600,1.76,CSH,8.5 +VTS,1,5,600,1.75,CSH,9.0 +VTS,1,5,300,1.12,CSH,6.0 +VTS,1,5,420,1.18,CSH,7.0 +VTS,1,1,180,0.57,CRD,4.5 +VTS,1,1,660,1.3,CRD,8.5 +VTS,1,1,840,1.94,CSH,10.5 +VTS,1,1,1260,6.76,CRD,21.0 +VTS,1,1,360,1.61,CSH,7.0 +VTS,1,1,300,1.25,CRD,6.0 +VTS,1,1,480,1.52,CRD,8.0 +VTS,1,1,300,1.33,CRD,6.0 +VTS,1,1,600,1.67,CSH,9.0 +VTS,1,5,1080,1.8,CSH,12.0 +VTS,1,5,1200,2.47,CRD,14.0 +VTS,1,5,300,0.76,CSH,5.0 +VTS,1,5,1260,5.93,CRD,21.0 +VTS,1,5,420,1.05,CSH,6.5 +VTS,1,1,480,2.53,CSH,9.5 +VTS,1,1,360,1.11,CSH,6.0 +VTS,1,2,600,1.61,CRD,8.5 +VTS,1,1,240,0.69,CRD,5.0 +VTS,1,1,1140,4.89,CRD,18.0 +VTS,1,1,420,0.86,CRD,6.0 +VTS,1,1,2820,11.8,CRD,42.0 +VTS,1,1,600,1.92,CSH,9.0 +VTS,1,1,720,1.58,CSH,9.0 +VTS,1,1,480,1.48,CSH,7.5 +VTS,1,1,120,0.36,CRD,3.5 +VTS,1,1,360,0.59,CSH,6.0 +VTS,1,2,540,2.91,CRD,11.0 +VTS,1,2,1440,2.14,CSH,15.5 +VTS,1,3,120,0.5,CSH,4.0 +VTS,1,4,480,1.73,CSH,8.0 +VTS,1,5,420,0.41,CSH,5.5 +VTS,1,5,1920,14.07,CSH,40.0 +VTS,1,5,600,2.21,CRD,10.0 +VTS,1,5,900,1.6,CRD,10.5 +VTS,1,5,540,1.09,CSH,7.5 +VTS,1,5,240,0.59,CRD,4.5 +VTS,1,1,480,2.11,CRD,9.0 +VTS,1,1,300,0.71,CSH,5.0 +VTS,1,5,780,2.23,CSH,10.5 +VTS,1,5,360,1.08,CSH,6.5 +VTS,1,5,780,2.6,CSH,11.0 +VTS,1,1,300,0.66,CRD,5.5 +VTS,1,1,720,4.61,CSH,15.0 +VTS,1,1,420,1.09,CRD,6.5 +VTS,1,1,1080,4.07,CSH,17.0 +VTS,1,1,600,1.96,CSH,9.0 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,420,0.9,CSH,6.0 +VTS,1,1,1140,4.42,CSH,17.0 +VTS,2,5,1140,15.54,CRD,52.0 +VTS,1,2,1440,10.16,CRD,31.0 +VTS,5,1,1680,4.58,CRD,65.0 +VTS,1,1,720,1.08,CSH,9.0 +VTS,1,4,420,0.49,CSH,5.5 +VTS,1,3,180,0.99,CSH,5.0 +VTS,1,3,660,1.96,CSH,9.5 +VTS,1,5,900,1.33,CRD,10.5 +VTS,1,5,420,1.02,CRD,6.5 +VTS,1,1,480,1.24,CRD,7.5 +VTS,1,1,180,0.43,CRD,4.0 +VTS,1,1,1140,3.01,CSH,14.5 +VTS,1,1,420,1.49,CRD,7.5 +VTS,1,5,900,2.61,CSH,11.5 +VTS,1,5,420,0.66,CSH,5.5 +VTS,1,5,960,2.41,CRD,12.0 +VTS,1,5,180,0.23,CSH,4.0 +VTS,1,5,360,0.98,CSH,6.0 +VTS,1,5,900,4.72,CRD,15.5 +VTS,1,5,720,4.49,CRD,14.0 +VTS,1,4,420,0.62,CSH,6.0 +VTS,1,1,360,0.92,CSH,6.0 +VTS,1,1,1080,5.38,CRD,18.5 +VTS,1,1,480,1.38,CRD,7.5 +VTS,1,1,300,1.37,CSH,6.0 +VTS,1,1,660,1.42,CSH,8.0 +VTS,1,1,540,1.47,CSH,8.0 +VTS,1,1,660,1.87,CRD,9.5 +VTS,1,1,720,1.8,CRD,9.5 +VTS,1,1,780,3.73,CRD,13.5 +VTS,1,1,300,1.17,CRD,6.0 +VTS,1,1,1020,4.67,CRD,17.5 +VTS,1,2,1080,10.98,CRD,30.5 +VTS,1,2,1620,4.22,CSH,20.0 +VTS,1,1,720,2.38,CRD,10.5 +VTS,1,4,420,1.22,CSH,7.0 +VTS,1,4,1500,4.07,CRD,18.0 +VTS,1,3,660,4.17,CSH,14.0 +VTS,1,4,540,2.47,CRD,9.5 +VTS,1,3,660,4.13,CSH,14.5 +VTS,1,4,540,1.64,CSH,8.5 +VTS,1,4,840,2.15,CSH,11.0 +VTS,1,4,240,0.93,CSH,5.5 +VTS,1,4,660,2.54,CRD,10.5 +VTS,1,3,1740,10.49,CSH,32.0 +VTS,1,6,900,3.22,CRD,13.5 +VTS,1,6,960,2.6,CRD,12.0 +VTS,1,6,420,0.87,CSH,6.5 +VTS,1,6,720,1.65,CSH,9.5 +VTS,1,6,960,4.0,CSH,16.0 +VTS,1,1,960,4.33,CSH,16.5 +VTS,1,1,240,0.67,CRD,5.0 +VTS,1,1,720,3.76,CRD,13.0 +VTS,1,1,1440,6.64,CRD,22.5 +VTS,1,1,300,0.56,CSH,4.0 +VTS,1,1,720,3.96,CRD,14.0 +VTS,1,1,540,2.23,CSH,9.0 +VTS,1,1,840,2.6,CSH,11.5 +VTS,1,1,360,0.99,CRD,6.0 +VTS,2,1,60,0.0,CRD,52.0 +VTS,1,1,480,1.69,CSH,7.5 +VTS,1,1,900,5.06,CSH,16.5 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,720,3.49,CRD,12.0 +VTS,1,1,540,1.92,CSH,8.5 +VTS,1,1,420,2.4,CRD,9.0 +VTS,1,3,300,1.12,CSH,6.0 +VTS,1,4,300,1.01,CRD,5.5 +VTS,1,4,300,1.08,CRD,6.0 +VTS,1,1,540,3.17,CRD,11.0 +VTS,1,5,840,2.13,CRD,11.5 +VTS,1,5,780,1.52,CRD,10.0 +VTS,1,5,480,1.35,CSH,7.0 +VTS,2,5,2580,17.11,CSH,52.0 +VTS,1,5,840,1.65,CSH,10.0 +VTS,1,5,720,1.66,CSH,9.0 +VTS,1,5,780,1.9,CRD,10.5 +VTS,1,5,900,1.03,CRD,10.0 +VTS,1,5,180,0.66,CRD,4.5 +VTS,1,5,420,1.47,CRD,7.0 +VTS,1,5,600,2.11,CRD,9.5 +VTS,1,5,360,0.95,CSH,5.0 +VTS,1,5,300,0.92,CSH,6.0 +VTS,1,5,2280,10.19,CSH,29.5 +VTS,1,5,360,0.68,CSH,5.5 +VTS,1,5,240,1.39,CRD,6.0 +VTS,1,5,240,1.43,CSH,6.0 +VTS,1,5,840,2.3,CRD,11.5 +VTS,1,5,900,5.26,CRD,17.5 +VTS,1,5,780,1.45,CRD,9.5 +VTS,1,5,660,2.06,CRD,9.5 +VTS,1,5,0,0.0,CSH,2.5 +VTS,1,5,480,1.31,CSH,7.0 +VTS,1,5,600,1.38,CRD,8.0 +VTS,1,5,600,1.54,CSH,8.5 +VTS,1,5,1200,2.24,CSH,14.0 +VTS,1,5,960,2.38,CRD,12.0 +VTS,1,1,660,1.54,CRD,9.0 +VTS,1,1,420,1.1,CSH,6.0 +VTS,1,1,360,0.96,CRD,6.5 +VTS,1,5,360,1.01,CRD,6.0 +VTS,1,5,420,0.69,CRD,6.0 +VTS,1,5,1200,5.55,CSH,19.5 +VTS,1,1,1140,7.85,CRD,24.0 +VTS,1,1,240,0.47,CSH,4.5 +VTS,1,1,180,0.76,CSH,5.0 +VTS,1,1,1980,6.41,CRD,26.0 +VTS,1,1,1080,3.02,CSH,14.5 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,120,0.8,CSH,4.5 +VTS,1,1,1020,4.03,CRD,16.0 +VTS,1,1,600,6.53,CSH,19.0 +VTS,1,1,240,1.17,CRD,5.5 +VTS,1,1,420,1.17,CRD,7.0 +VTS,1,1,480,1.75,CRD,8.0 +VTS,1,5,1020,3.04,CRD,13.5 +VTS,1,5,180,0.67,CSH,4.0 +VTS,1,5,600,1.96,CRD,8.5 +VTS,1,5,480,2.4,CRD,9.5 +VTS,1,2,360,1.0,CSH,6.0 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,480,1.62,CRD,8.0 +VTS,1,1,1140,1.59,CRD,12.0 +VTS,1,1,480,1.53,CRD,8.0 +VTS,1,1,300,1.16,CRD,6.0 +VTS,1,1,540,2.37,CSH,10.0 +VTS,1,4,540,1.57,CSH,8.0 +VTS,1,3,660,1.36,CSH,8.5 +VTS,1,4,240,0.92,CRD,5.0 +VTS,1,4,660,1.73,CSH,9.0 +VTS,1,3,1320,5.41,CRD,19.0 +VTS,1,3,120,0.48,CSH,3.5 +VTS,1,6,1500,7.86,CSH,26.5 +VTS,1,1,420,1.36,CRD,7.0 +VTS,1,1,360,1.76,CRD,7.5 +VTS,1,1,900,3.7,CRD,14.5 +VTS,1,1,300,0.76,CSH,5.0 +VTS,1,1,180,0.76,CSH,5.0 +VTS,1,1,240,0.85,CRD,5.0 +VTS,1,1,1020,3.54,CSH,14.5 +VTS,1,1,420,1.26,CRD,7.0 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,660,2.24,CRD,9.5 +VTS,1,1,1320,5.72,CRD,21.5 +VTS,1,1,1320,2.55,CRD,16.0 +VTS,1,1,120,0.9,CRD,4.5 +VTS,1,1,780,2.02,CSH,11.0 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,720,2.4,CRD,11.0 +VTS,1,1,720,1.76,CRD,10.0 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,540,1.1,CSH,7.5 +VTS,1,1,840,2.82,CRD,11.5 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,480,0.87,CRD,6.5 +VTS,1,1,900,2.69,CSH,12.0 +VTS,1,1,420,1.47,CRD,7.0 +VTS,1,1,480,1.75,CSH,8.5 +VTS,1,1,780,2.74,CRD,11.5 +VTS,1,1,420,1.27,CRD,7.5 +VTS,1,1,1080,2.82,CRD,13.5 +VTS,1,1,240,0.67,CSH,5.0 +VTS,1,1,720,2.23,CRD,11.0 +VTS,1,1,540,2.41,CSH,9.0 +VTS,1,1,960,3.91,CRD,14.5 +VTS,1,5,960,5.2,CSH,17.5 +VTS,1,1,120,0.3,CSH,3.5 +VTS,1,1,480,1.07,CSH,7.0 +VTS,1,2,360,2.02,CSH,8.0 +VTS,1,1,900,1.73,CRD,10.5 +VTS,1,1,360,1.13,CSH,6.0 +VTS,1,1,3240,7.73,CRD,33.5 +VTS,1,1,1380,3.88,CRD,16.5 +VTS,1,1,1020,4.97,CRD,17.5 +VTS,1,1,840,2.35,CRD,11.5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,1020,4.49,CRD,15.5 +VTS,1,4,1500,4.53,CSH,20.0 +VTS,1,3,900,4.24,CSH,15.0 +VTS,1,3,360,1.51,CRD,7.0 +VTS,1,4,1140,5.24,CSH,17.5 +VTS,1,6,360,1.24,CRD,6.5 +VTS,1,6,1140,8.21,CSH,26.0 +VTS,1,6,240,0.73,CRD,5.0 +VTS,1,1,240,1.04,CRD,5.0 +VTS,1,1,780,3.55,CRD,13.0 +VTS,1,1,1560,8.63,CRD,28.0 +VTS,1,1,480,1.29,CRD,7.0 +VTS,1,1,840,2.06,CSH,11.0 +VTS,1,6,540,2.51,CRD,9.5 +VTS,1,6,480,1.99,CRD,8.5 +VTS,1,6,1800,5.72,CRD,23.0 +VTS,1,6,120,0.55,CRD,4.0 +VTS,1,6,540,1.74,CSH,8.5 +VTS,1,6,360,0.76,CRD,6.0 +VTS,1,1,1200,1.94,CRD,13.5 +VTS,1,1,360,1.65,CSH,7.5 +VTS,1,1,600,1.44,CRD,8.5 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,240,1.17,CSH,5.5 +VTS,1,1,480,1.12,CRD,7.0 +VTS,1,1,720,1.7,CSH,9.5 +VTS,1,1,1920,4.85,CRD,23.0 +VTS,1,1,660,1.48,CSH,8.5 +VTS,1,1,240,0.69,CRD,4.5 +VTS,1,1,360,1.41,CSH,7.0 +VTS,1,1,300,0.78,CRD,5.0 +VTS,1,1,600,1.95,CSH,9.5 +VTS,1,1,720,1.79,CSH,10.0 +VTS,1,1,600,1.18,CSH,8.0 +VTS,1,1,420,0.88,CSH,6.5 +VTS,1,1,360,0.86,CSH,5.5 +VTS,1,1,1020,5.0,CRD,18.0 +VTS,1,1,660,1.41,CRD,8.5 +VTS,1,1,720,1.78,CRD,10.0 +VTS,1,1,960,4.2,CRD,15.5 +VTS,1,1,540,0.63,CSH,7.0 +VTS,1,1,540,1.95,CRD,9.0 +VTS,1,1,660,1.91,CSH,8.5 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,480,0.73,CSH,6.0 +VTS,1,1,600,1.55,CSH,8.0 +VTS,1,1,660,2.84,CRD,11.0 +VTS,1,1,1680,5.63,CRD,23.0 +VTS,1,3,780,4.27,CSH,14.0 +VTS,1,3,300,1.02,CRD,5.5 +VTS,1,4,3000,12.08,CRD,44.0 +VTS,1,5,300,1.16,CSH,6.0 +VTS,1,6,660,1.36,CSH,8.5 +VTS,1,6,660,1.87,CRD,9.5 +VTS,1,6,1260,9.15,CRD,28.0 +VTS,1,1,360,0.87,CSH,6.0 +VTS,1,1,240,1.95,CRD,7.0 +VTS,2,1,1620,17.22,CRD,52.0 +VTS,1,1,1140,1.22,CSH,11.5 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,1,1080,1.74,CSH,12.0 +VTS,1,1,480,0.72,CRD,6.5 +VTS,1,1,540,1.54,CSH,8.0 +VTS,1,1,1140,3.51,CRD,16.0 +VTS,1,1,360,1.23,CRD,6.5 +VTS,1,2,420,1.43,CRD,7.5 +VTS,1,6,480,1.59,CSH,8.0 +VTS,1,6,540,1.4,CRD,8.0 +VTS,1,6,240,0.78,CSH,5.0 +VTS,1,6,960,3.68,CSH,15.0 +VTS,1,1,900,3.62,CRD,14.0 +VTS,1,1,420,2.32,CRD,8.5 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,420,1.8,CRD,8.0 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,660,5.82,CRD,17.5 +VTS,1,1,300,1.29,CRD,6.5 +VTS,1,1,360,1.21,CSH,6.0 +VTS,1,1,600,1.4,CSH,8.0 +VTS,1,1,420,1.52,CSH,8.0 +VTS,1,1,360,1.12,CSH,6.0 +VTS,1,1,1500,8.15,CSH,27.5 +VTS,1,1,1200,1.95,CRD,13.5 +VTS,1,1,540,1.71,CRD,8.5 +VTS,1,1,720,2.31,CSH,11.0 +VTS,1,1,540,1.83,CSH,9.0 +VTS,1,1,660,2.08,CSH,9.5 +VTS,1,1,1080,3.76,CRD,15.0 +VTS,1,1,300,1.27,CRD,6.0 +VTS,1,1,660,1.59,CSH,9.0 +VTS,1,1,900,3.38,CRD,13.5 +VTS,1,1,900,3.86,CRD,14.5 +VTS,1,4,420,1.61,CRD,8.0 +VTS,1,3,1380,7.16,CSH,24.0 +VTS,1,3,660,5.33,CSH,17.0 +VTS,1,4,1620,8.62,CSH,28.5 +VTS,1,6,660,2.87,CRD,11.5 +VTS,1,6,1500,6.14,CRD,23.0 +VTS,1,6,300,1.4,CRD,6.0 +VTS,1,6,840,1.59,CSH,10.5 +VTS,1,6,720,3.14,CSH,12.0 +VTS,1,6,180,0.69,CRD,4.5 +VTS,1,1,420,1.95,CRD,8.0 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,300,1.29,CRD,6.5 +VTS,1,1,540,1.68,CSH,8.0 +VTS,1,1,540,1.57,CRD,8.0 +VTS,1,1,720,1.38,CSH,10.0 +VTS,1,1,2640,10.76,CRD,34.5 +VTS,1,1,300,0.78,CRD,5.0 +VTS,1,1,300,0.39,CSH,5.5 +VTS,1,1,720,2.81,CSH,11.5 +VTS,1,1,1680,5.54,CSH,22.0 +VTS,1,1,1020,2.11,CRD,12.5 +VTS,1,1,420,0.68,CRD,6.0 +VTS,1,1,1440,2.61,CSH,14.5 +VTS,1,1,600,2.33,CRD,9.0 +VTS,1,1,480,1.36,CRD,7.5 +VTS,1,1,540,1.5,CSH,8.5 +VTS,1,1,2220,10.13,CRD,36.0 +VTS,1,1,600,1.34,CRD,8.0 +VTS,1,1,660,2.55,CSH,11.0 +VTS,1,1,720,1.13,CSH,8.5 +VTS,1,1,1140,4.82,CRD,18.5 +VTS,1,1,300,1.16,CRD,5.5 +VTS,1,1,1020,1.86,CRD,12.5 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,360,0.59,CSH,5.5 +VTS,1,1,1140,3.02,CSH,14.5 +VTS,1,1,240,0.98,CRD,5.5 +VTS,1,1,1140,1.38,CRD,13.0 +VTS,1,1,1380,4.41,CRD,18.5 +VTS,1,2,600,1.86,CRD,9.5 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,300,1.09,CRD,6.0 +VTS,1,1,720,1.42,CSH,9.0 +VTS,1,1,540,0.78,CSH,7.0 +VTS,1,1,540,0.87,CRD,7.5 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,780,1.8,CRD,10.5 +VTS,1,1,1260,3.14,CRD,15.0 +VTS,1,1,1380,2.2,CRD,15.5 +VTS,1,1,960,2.47,CRD,12.5 +VTS,1,5,480,1.07,CRD,7.0 +VTS,1,5,360,1.03,CSH,6.0 +VTS,1,5,420,1.31,CRD,7.0 +VTS,1,5,360,0.99,CSH,6.0 +VTS,1,5,660,1.2,CSH,9.0 +VTS,1,5,360,0.75,CSH,5.5 +VTS,1,5,720,1.05,CSH,8.5 +VTS,1,5,300,1.02,CSH,6.0 +VTS,1,5,180,0.92,CSH,5.0 +VTS,1,5,300,0.87,CRD,5.5 +VTS,1,5,480,1.61,CRD,7.5 +VTS,1,5,540,0.94,CRD,7.5 +VTS,1,5,480,1.31,CSH,7.0 +VTS,1,5,1200,3.21,CRD,15.0 +VTS,1,5,1500,5.11,CRD,21.0 +VTS,1,5,1260,3.98,CRD,16.0 +VTS,1,5,720,1.84,CRD,9.5 +VTS,1,5,900,1.93,CRD,11.0 +VTS,1,5,420,1.61,CRD,7.5 +VTS,1,5,660,4.51,CRD,15.0 +VTS,1,5,1560,7.99,CSH,27.0 +VTS,1,5,180,0.44,CRD,4.0 +VTS,1,5,1200,2.11,CRD,13.5 +VTS,1,5,540,2.04,CSH,9.0 +VTS,1,5,1440,3.72,CRD,17.0 +VTS,1,1,120,0.82,CSH,4.5 +VTS,1,1,360,2.18,CSH,8.0 +VTS,1,1,240,1.1,CRD,5.0 +VTS,1,1,420,2.74,CSH,9.5 +VTS,1,5,300,0.76,CSH,5.0 +VTS,1,5,780,2.03,CSH,9.5 +VTS,1,5,960,3.63,CSH,14.0 +VTS,1,5,420,1.83,CRD,8.0 +VTS,1,5,240,1.15,CRD,5.5 +VTS,1,3,1020,2.1,CSH,11.5 +VTS,1,1,360,0.74,CSH,5.5 +VTS,5,2,1440,6.86,CRD,50.0 +VTS,1,1,900,4.85,CRD,17.0 +VTS,1,1,2640,5.0,CRD,28.0 +VTS,1,1,840,2.86,CSH,11.5 +VTS,1,4,600,3.36,CSH,11.0 +VTS,1,4,480,3.36,CRD,11.0 +VTS,1,4,600,2.85,CRD,11.0 +VTS,1,3,420,1.46,CSH,6.5 +VTS,1,4,1020,2.98,CSH,13.5 +VTS,1,4,240,1.0,CSH,5.0 +VTS,1,6,1020,2.9,CSH,13.5 +VTS,1,6,480,2.0,CSH,8.5 +VTS,1,6,780,2.26,CSH,10.5 +VTS,1,6,960,3.32,CSH,14.5 +VTS,1,1,180,1.09,CSH,5.0 +VTS,1,1,420,1.57,CRD,7.5 +VTS,1,1,1920,10.9,CSH,32.0 +VTS,1,1,1440,3.98,CRD,17.5 +VTS,1,1,720,2.19,CSH,10.5 +VTS,1,1,300,0.82,CRD,5.0 +VTS,1,1,480,0.95,CRD,7.0 +VTS,1,1,360,1.11,CRD,6.0 +VTS,1,1,780,1.87,CRD,10.5 +VTS,1,1,360,0.9,CRD,5.5 +VTS,1,1,360,0.74,CSH,5.5 +VTS,1,1,1020,3.13,CRD,13.5 +VTS,1,1,660,2.42,CRD,10.0 +VTS,1,1,420,0.88,CSH,6.5 +VTS,1,1,660,2.37,CRD,10.5 +VTS,1,1,780,3.26,CRD,13.0 +VTS,1,1,900,2.56,CSH,13.0 +VTS,1,1,1440,4.0,CRD,18.0 +VTS,1,1,300,0.46,CRD,5.0 +VTS,1,1,240,0.81,CSH,5.0 +VTS,1,1,600,1.6,CSH,8.5 +VTS,1,1,480,1.32,CSH,7.0 +VTS,1,1,780,1.26,CRD,9.5 +VTS,1,1,1740,3.34,CRD,19.0 +VTS,1,1,180,0.52,CSH,4.5 +VTS,1,1,2280,6.71,CRD,27.5 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,300,0.65,CSH,5.5 +VTS,1,1,1680,8.47,CSH,28.5 +VTS,1,1,720,2.14,CSH,10.0 +VTS,1,1,900,2.6,CRD,12.0 +VTS,1,1,420,0.87,CRD,6.0 +VTS,1,1,180,0.99,CSH,5.0 +CMT,1,1,2129,10.2,CRD,36.0 +CMT,1,1,302,1.3,CSH,6.0 +CMT,1,1,667,2.8,CRD,11.5 +CMT,1,2,537,2.0,CRD,8.5 +CMT,1,4,904,1.8,CSH,11.0 +CMT,1,2,659,3.2,CRD,12.0 +CMT,1,2,712,1.9,CRD,9.5 +CMT,1,1,376,1.3,CSH,6.5 +CMT,1,1,181,0.8,CRD,5.0 +CMT,1,1,794,1.7,CRD,10.5 +CMT,2,2,1713,16.3,CRD,52.0 +CMT,1,1,851,1.8,CSH,10.5 +CMT,1,3,1637,12.3,CRD,36.0 +CMT,1,2,456,2.6,CSH,9.0 +CMT,1,4,379,1.0,CSH,6.0 +CMT,1,3,571,1.2,CSH,8.0 +CMT,1,2,118,0.6,CRD,4.0 +CMT,1,1,1374,7.2,CSH,24.0 +CMT,1,1,1385,6.1,CRD,22.0 +CMT,1,4,655,1.7,CRD,9.0 +CMT,1,1,2509,8.7,CSH,34.0 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,600,1.85,CRD,9.0 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,420,1.26,CRD,7.0 +VTS,1,1,720,1.77,CRD,9.5 +VTS,1,1,240,0.64,CSH,5.0 +VTS,1,1,660,1.54,CSH,9.0 +VTS,1,1,360,2.03,CSH,8.5 +VTS,1,1,780,2.05,CSH,11.0 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,1,1320,2.77,CRD,15.0 +VTS,1,1,360,1.16,CSH,6.0 +VTS,1,1,600,1.8,CSH,9.0 +VTS,1,1,540,2.01,CSH,9.0 +CMT,1,4,260,1.4,CSH,6.0 +CMT,1,1,580,1.5,CRD,8.5 +CMT,1,1,1020,6.5,CRD,21.5 +CMT,1,2,830,6.2,CSH,19.5 +CMT,1,2,360,1.1,CRD,6.5 +CMT,1,1,1035,2.9,CRD,13.5 +CMT,1,2,662,1.8,CRD,9.0 +CMT,1,1,902,2.0,CSH,11.5 +CMT,1,3,987,1.8,CSH,11.5 +CMT,1,1,418,1.0,CRD,7.0 +CMT,1,1,269,0.4,CRD,5.0 +CMT,1,3,766,1.4,CSH,9.5 +VTS,1,1,1740,9.51,CRD,31.5 +VTS,1,1,720,3.2,CSH,11.5 +VTS,1,1,660,2.11,CRD,10.0 +VTS,1,1,540,1.3,CSH,8.0 +VTS,1,1,1500,7.79,CRD,27.0 +VTS,1,1,1980,4.72,CRD,22.5 +VTS,1,1,780,2.07,CSH,10.5 +VTS,1,1,720,1.65,CSH,10.0 +VTS,1,1,420,1.0,CRD,6.0 +VTS,1,1,120,0.66,CRD,4.0 +VTS,1,1,840,1.78,CRD,11.0 +VTS,1,1,900,1.32,CRD,10.5 +VTS,1,1,60,0.08,CSH,2.5 +VTS,1,1,720,1.51,CSH,10.0 +VTS,1,1,540,1.32,CRD,7.5 +VTS,1,1,480,1.49,CRD,8.0 +VTS,1,1,240,0.41,CSH,5.0 +CMT,1,1,791,3.6,CRD,13.5 +CMT,1,1,1187,5.9,CRD,21.0 +CMT,1,1,897,2.5,CRD,12.0 +CMT,1,1,228,0.8,CRD,5.0 +CMT,1,1,411,1.1,CRD,7.0 +CMT,1,2,1143,5.8,CSH,20.0 +CMT,1,2,576,1.9,CSH,9.0 +CMT,1,1,153,0.6,CSH,4.0 +CMT,1,2,1728,17.0,CRD,46.0 +VTS,1,1,900,2.3,CSH,12.0 +VTS,1,1,780,2.98,CRD,12.0 +CMT,1,2,470,2.0,CRD,8.5 +CMT,1,4,374,1.1,CSH,6.5 +CMT,1,1,29,12.9,NOC,2.5 +CMT,1,1,362,1.0,CRD,6.0 +CMT,1,1,1048,4.3,CSH,16.5 +CMT,1,1,598,1.2,CRD,8.0 +CMT,1,1,730,1.7,CRD,9.5 +CMT,1,1,1099,6.9,CRD,22.5 +CMT,1,1,616,1.6,CSH,9.0 +CMT,1,1,1277,11.5,CSH,32.5 +CMT,1,2,757,3.4,CRD,13.0 +CMT,1,1,243,0.6,CRD,5.0 +CMT,1,1,1076,3.6,CSH,15.0 +CMT,1,1,787,1.5,CRD,10.0 +CMT,3,1,1161,13.4,CRD,54.0 +CMT,1,1,526,1.4,CSH,7.5 +CMT,1,1,1800,6.3,CRD,25.5 +CMT,1,1,1021,2.6,CSH,13.0 +CMT,1,4,1804,2.1,CSH,18.5 +CMT,1,1,668,1.6,CSH,9.0 +CMT,1,1,2109,16.5,CSH,47.0 +CMT,1,4,1029,6.2,CRD,20.0 +CMT,1,3,342,1.1,CSH,6.0 +CMT,1,1,371,0.8,CSH,6.0 +VTS,1,1,600,2.78,CRD,11.0 +VTS,1,1,480,1.52,CRD,8.0 +VTS,1,1,300,1.12,CRD,5.5 +VTS,1,1,1020,1.13,CSH,11.5 +VTS,1,1,660,1.2,CSH,8.0 +VTS,1,1,840,3.11,CSH,12.5 +VTS,1,1,600,1.59,CRD,8.5 +VTS,1,1,540,1.41,CSH,8.5 +VTS,1,1,240,0.95,CSH,5.5 +VTS,1,1,300,0.84,CSH,5.0 +VTS,1,1,360,1.55,CRD,7.5 +VTS,1,1,600,1.56,CSH,9.0 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,1,1320,3.36,CSH,16.0 +VTS,1,1,1620,10.4,CRD,30.5 +VTS,1,1,480,1.42,CRD,8.0 +VTS,1,1,480,1.27,CRD,7.0 +VTS,1,1,1080,4.58,CRD,16.5 +VTS,1,1,240,0.56,CSH,5.0 +VTS,1,1,780,2.4,CRD,11.0 +VTS,1,1,720,1.28,CSH,9.0 +VTS,1,1,480,1.18,CSH,7.0 +VTS,1,1,360,1.08,CRD,6.5 +VTS,1,1,540,1.13,CSH,7.0 +VTS,1,1,300,0.89,CRD,5.5 +CMT,1,1,323,0.7,CSH,5.5 +CMT,1,1,1971,10.5,CRD,34.5 +CMT,1,1,318,0.9,CSH,6.0 +CMT,1,1,406,0.7,CSH,6.0 +CMT,1,1,1007,1.5,CRD,11.5 +CMT,1,1,2491,9.5,CRD,36.0 +CMT,1,1,255,0.8,CSH,5.0 +CMT,1,1,191,0.4,CSH,4.0 +CMT,1,1,1021,4.0,CSH,15.5 +CMT,1,1,466,3.0,CRD,11.0 +CMT,1,1,871,5.1,CRD,17.0 +CMT,1,1,1702,12.1,CRD,36.5 +CMT,1,3,1170,7.1,CRD,24.0 +CMT,1,2,194,0.3,CSH,4.0 +CMT,1,1,561,1.1,CRD,7.5 +CMT,1,2,861,1.5,CRD,10.5 +CMT,1,1,867,3.3,CSH,13.5 +CMT,1,1,521,1.7,CRD,8.0 +CMT,1,1,448,1.1,CSH,7.0 +CMT,1,1,1075,2.7,CSH,13.0 +CMT,1,1,503,0.8,CSH,7.0 +CMT,1,2,1313,4.6,CSH,18.0 +CMT,1,1,413,1.1,CSH,6.5 +CMT,1,2,371,1.2,CRD,6.5 +CMT,1,1,1797,9.2,CRD,29.5 +CMT,1,1,1315,11.3,CSH,32.5 +CMT,1,1,1388,15.9,CRD,42.5 +CMT,1,1,504,1.6,CSH,8.5 +CMT,1,1,904,5.7,CSH,19.0 +CMT,1,2,995,6.3,CRD,20.0 +CMT,1,1,1114,1.6,CSH,12.5 +CMT,1,1,555,2.2,CRD,9.0 +CMT,1,1,1548,12.4,CSH,36.5 +CMT,1,1,578,0.9,CSH,7.5 +CMT,1,2,240,0.7,CRD,5.0 +CMT,1,1,885,1.9,CSH,11.0 +CMT,1,1,592,1.0,CSH,8.0 +CMT,1,1,781,2.8,CRD,12.0 +CMT,1,1,1095,2.8,CRD,14.0 +CMT,1,1,904,1.7,CRD,11.0 +CMT,1,1,265,1.2,CSH,6.0 +CMT,1,1,1103,7.9,CSH,23.5 +CMT,2,1,1828,18.4,CRD,52.0 +CMT,1,2,257,0.6,CSH,5.0 +CMT,1,2,404,0.8,CSH,6.0 +CMT,1,1,659,0.9,CRD,8.5 +CMT,1,1,576,1.8,CSH,9.0 +CMT,1,1,872,2.6,CSH,11.5 +CMT,1,2,434,1.2,CSH,7.0 +CMT,1,3,550,0.8,CSH,7.5 +CMT,1,1,277,1.1,CRD,5.5 +CMT,1,1,681,1.3,CRD,8.5 +CMT,1,2,637,1.9,CRD,9.0 +CMT,1,1,875,2.6,CSH,12.0 +CMT,1,1,749,2.4,CSH,10.5 +CMT,1,1,269,0.6,CSH,5.0 +CMT,1,1,797,2.3,CRD,10.5 +CMT,1,1,709,1.7,CRD,9.5 +CMT,1,1,929,2.5,CRD,12.0 +CMT,1,1,175,0.5,CSH,4.0 +CMT,1,1,1058,3.3,CRD,15.0 +CMT,1,1,1110,4.6,CRD,18.0 +CMT,1,1,1426,4.1,CRD,18.5 +CMT,1,1,479,2.5,CSH,10.0 +CMT,1,1,575,1.8,CRD,9.0 +CMT,1,1,566,1.4,CRD,8.0 +CMT,1,1,1081,5.0,CSH,18.5 +CMT,1,4,2186,12.8,CSH,40.0 +CMT,2,1,2166,22.2,CSH,52.0 +CMT,1,1,511,2.4,CSH,10.0 +CMT,1,2,1297,15.5,CSH,42.0 +CMT,1,1,286,0.6,CRD,5.5 +CMT,1,1,921,3.1,CRD,13.5 +CMT,1,1,804,4.4,CRD,15.0 +CMT,1,1,2099,14.9,CRD,43.5 +CMT,1,1,738,3.2,CSH,13.0 +CMT,1,1,465,1.4,CRD,8.0 +CMT,1,1,754,2.7,CRD,12.0 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,2040,9.39,CRD,33.0 +VTS,1,1,1680,4.36,CSH,19.5 +VTS,1,1,600,1.03,CRD,7.5 +VTS,1,1,900,2.38,CRD,12.0 +VTS,1,1,600,1.73,CRD,9.0 +VTS,1,1,1200,4.8,CSH,18.5 +VTS,1,1,840,1.87,CRD,9.5 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,2160,10.44,CSH,35.0 +VTS,1,1,360,1.4,CSH,7.0 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,240,0.86,CRD,5.0 +VTS,1,1,720,1.33,CSH,9.0 +VTS,1,1,480,1.1,CSH,7.0 +VTS,1,1,420,0.8,CRD,6.0 +VTS,1,1,120,0.68,CSH,4.0 +VTS,1,1,960,1.93,CRD,12.0 +VTS,1,1,300,0.7,CRD,5.5 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,960,1.9,CSH,11.5 +VTS,1,1,780,1.82,CSH,10.0 +VTS,1,1,1080,5.47,CSH,18.5 +VTS,1,1,540,0.82,CSH,7.0 +VTS,1,1,300,0.84,CSH,5.5 +CMT,1,1,505,2.0,CSH,8.5 +VTS,1,1,900,1.76,CRD,11.0 +VTS,1,1,360,0.75,CSH,5.5 +VTS,1,1,420,1.22,CSH,6.5 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,900,3.3,CSH,13.5 +VTS,1,1,660,2.31,CSH,10.0 +VTS,1,1,1140,3.19,CSH,15.0 +VTS,1,1,780,2.06,CSH,11.0 +VTS,1,1,360,1.39,CSH,6.5 +VTS,1,1,600,2.55,CSH,10.0 +VTS,1,1,1200,4.38,CSH,17.0 +VTS,1,1,1200,3.49,CSH,15.5 +VTS,1,1,480,1.65,CRD,8.0 +VTS,1,1,480,0.86,CRD,7.0 +VTS,1,1,720,1.46,CRD,9.0 +VTS,1,1,480,1.5,CRD,8.0 +VTS,1,1,240,0.86,CRD,5.0 +VTS,1,1,1080,3.13,CSH,14.0 +VTS,1,1,420,1.28,CSH,7.0 +VTS,1,1,480,1.77,CSH,8.0 +VTS,1,1,600,3.18,CRD,11.5 +VTS,1,1,360,0.77,CSH,5.5 +VTS,1,1,360,0.63,CRD,5.5 +VTS,1,1,1020,2.7,CRD,13.0 +VTS,1,1,600,1.55,CRD,8.5 +VTS,1,1,180,0.37,CSH,4.0 +CMT,2,1,2226,18.2,CRD,52.0 +CMT,1,1,766,2.1,CRD,11.0 +CMT,1,1,124,0.4,CRD,3.5 +CMT,1,1,652,2.5,CRD,10.5 +CMT,1,1,849,1.2,CRD,10.0 +CMT,1,2,429,0.5,CRD,6.0 +CMT,1,2,2473,2.7,CRD,24.0 +CMT,1,1,1145,2.7,CRD,14.5 +CMT,1,1,1187,6.1,CRD,20.0 +CMT,1,1,617,1.4,CRD,8.5 +CMT,1,1,531,1.1,CSH,7.5 +CMT,1,1,495,0.7,CSH,6.5 +CMT,1,1,576,1.1,CSH,7.5 +CMT,1,1,817,0.9,CRD,9.5 +CMT,1,1,254,0.7,CSH,5.0 +CMT,1,1,577,0.7,CRD,7.5 +CMT,1,2,722,1.3,CSH,9.0 +CMT,1,2,758,2.9,CSH,12.0 +CMT,1,2,283,1.1,CRD,6.0 +CMT,1,4,782,2.2,CRD,11.0 +CMT,1,1,221,0.7,CRD,4.5 +CMT,1,1,1208,3.1,CRD,15.0 +CMT,1,2,1067,2.9,CRD,14.0 +CMT,1,1,1151,4.6,CRD,18.5 +CMT,1,1,958,2.7,CRD,13.0 +CMT,1,1,366,1.3,CRD,7.0 +VTS,1,1,720,1.83,CRD,9.0 +VTS,1,1,360,1.82,CRD,7.5 +VTS,1,1,600,1.33,CSH,8.0 +VTS,1,1,420,1.4,CRD,7.5 +VTS,1,1,420,1.44,CRD,7.5 +VTS,1,1,600,5.69,CRD,17.0 +VTS,1,1,600,2.47,CRD,10.0 +VTS,1,1,1440,3.24,CSH,16.0 +VTS,1,1,60,0.0,CRD,2.5 +VTS,1,1,900,2.31,CRD,11.5 +VTS,1,1,1380,2.93,CSH,16.0 +VTS,1,1,600,0.79,CSH,7.5 +VTS,1,1,420,1.82,CRD,7.5 +VTS,1,1,720,0.97,CRD,8.5 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,180,0.38,CSH,4.0 +VTS,1,1,360,1.16,CSH,6.5 +CMT,1,3,821,3.2,CSH,13.0 +CMT,1,2,764,3.3,CRD,13.5 +CMT,1,1,1602,12.9,CRD,37.0 +CMT,1,1,769,1.5,CSH,10.0 +CMT,1,1,301,0.6,CRD,5.0 +CMT,1,4,1253,5.0,CSH,19.0 +CMT,1,1,278,1.1,CSH,6.0 +CMT,1,1,1887,11.6,CRD,36.0 +CMT,1,1,754,1.3,CRD,9.5 +VTS,1,1,540,1.62,CSH,8.0 +VTS,1,1,540,1.75,CRD,8.5 +VTS,1,1,540,1.62,CSH,8.5 +VTS,1,1,600,2.23,CSH,10.0 +VTS,1,1,360,1.08,CSH,6.0 +VTS,1,1,720,2.27,CRD,10.5 +VTS,1,1,240,0.73,CRD,5.0 +VTS,1,1,900,1.5,CRD,10.5 +VTS,1,1,360,3.5,CSH,11.5 +VTS,1,1,1020,3.49,CSH,15.0 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,720,3.47,CRD,12.0 +VTS,1,1,1920,7.46,CSH,27.0 +VTS,1,1,900,1.67,CSH,11.5 +VTS,1,1,300,0.67,CSH,5.5 +VTS,1,1,300,1.35,CSH,6.5 +VTS,1,1,1080,2.32,CRD,12.5 +VTS,1,1,1020,1.81,CSH,12.0 +VTS,4,1,540,0.7,CRD,6.5 +VTS,1,1,420,1.35,CRD,7.0 +VTS,1,1,540,0.76,CRD,7.0 +VTS,1,1,360,0.91,CSH,6.0 +VTS,1,1,780,4.59,CRD,16.0 +VTS,1,1,780,3.22,CRD,13.0 +VTS,1,1,1320,3.8,CSH,17.5 +VTS,1,1,120,0.54,CSH,4.0 +CMT,1,2,879,0.8,CSH,10.0 +CMT,1,1,1319,4.4,CRD,18.5 +CMT,1,1,375,0.9,CSH,6.0 +CMT,1,3,1180,10.1,CSH,29.5 +CMT,1,1,256,0.8,CRD,5.0 +CMT,1,1,1396,2.3,CSH,15.5 +CMT,1,3,1158,10.1,CRD,28.5 +CMT,1,1,1450,3.3,CRD,16.0 +CMT,1,1,600,1.3,CRD,8.0 +CMT,1,2,392,0.8,CSH,6.0 +CMT,1,1,855,7.7,CSH,22.5 +CMT,1,1,1229,3.6,CSH,15.5 +CMT,1,1,356,1.4,CSH,6.5 +CMT,1,1,478,0.8,CRD,7.0 +CMT,1,1,383,0.7,CSH,5.5 +CMT,1,3,607,1.6,CRD,8.5 +CMT,1,1,1698,11.0,CRD,33.0 +CMT,1,1,291,0.7,CSH,5.0 +CMT,1,1,470,0.7,CRD,6.5 +CMT,1,4,327,0.6,CSH,5.5 +CMT,1,1,597,2.7,CRD,10.5 +CMT,2,1,2710,20.8,CRD,52.0 +CMT,1,1,321,0.5,CSH,5.5 +CMT,1,1,471,1.3,CRD,7.5 +CMT,1,1,394,1.3,CSH,6.5 +CMT,1,2,1322,6.8,CRD,22.0 +CMT,1,1,305,0.6,CRD,5.0 +CMT,1,1,880,2.0,CRD,11.0 +CMT,1,1,352,1.2,CSH,6.5 +CMT,1,1,278,0.7,CSH,5.5 +CMT,1,1,1687,15.5,CRD,43.0 +CMT,1,1,1665,12.1,CRD,34.0 +CMT,1,1,1079,4.8,CRD,18.5 +CMT,1,1,224,0.6,CRD,4.5 +CMT,1,1,420,2.3,CSH,8.5 +CMT,1,1,495,1.8,CRD,8.5 +CMT,1,1,873,1.3,CSH,10.5 +CMT,1,2,1072,2.8,CSH,13.5 +CMT,1,1,614,1.2,CSH,8.5 +CMT,1,1,555,2.1,CSH,9.5 +CMT,1,1,552,1.7,CSH,8.0 +CMT,1,1,2622,11.3,CSH,37.0 +CMT,1,1,357,0.5,CSH,5.5 +CMT,1,1,337,0.6,CSH,5.5 +CMT,1,1,637,1.0,CRD,8.0 +CMT,1,1,862,1.2,CRD,10.0 +CMT,1,1,1698,3.9,CSH,19.5 +CMT,1,1,576,1.6,CRD,8.0 +CMT,1,1,335,0.7,CRD,5.5 +CMT,1,1,395,2.8,CRD,10.0 +CMT,1,2,782,2.3,CSH,10.5 +CMT,1,1,1337,5.6,CRD,20.5 +VTS,1,1,960,3.26,CRD,13.5 +VTS,1,1,120,0.59,CRD,4.0 +VTS,1,1,300,1.03,CRD,6.0 +VTS,1,1,1260,3.95,CRD,17.0 +VTS,1,1,720,1.72,CSH,9.5 +VTS,2,1,2940,16.78,CRD,52.0 +VTS,1,1,1980,15.76,CRD,43.5 +VTS,1,1,1560,5.72,CRD,20.5 +CMT,1,1,184,0.5,CSH,4.5 +CMT,1,1,189,0.7,CRD,4.5 +CMT,1,1,805,4.8,CSH,16.5 +CMT,1,1,919,2.2,CSH,12.0 +CMT,1,2,195,0.5,CSH,4.0 +CMT,1,1,434,2.5,CRD,9.5 +CMT,1,2,461,0.8,CSH,6.5 +CMT,1,1,1468,14.2,CRD,39.5 +CMT,1,1,145,0.6,CRD,4.0 +CMT,1,1,568,0.8,CRD,7.5 +CMT,1,2,512,1.6,CRD,7.5 +CMT,1,1,376,0.9,CRD,6.0 +CMT,1,1,837,1.2,CRD,9.5 +CMT,1,1,1252,3.4,CRD,16.0 +CMT,1,2,349,0.8,CSH,5.5 +CMT,1,1,1126,2.6,CRD,14.0 +CMT,1,1,393,0.9,CSH,6.5 +CMT,1,1,202,0.4,CRD,4.5 +VTS,1,1,1500,3.56,CRD,18.5 +VTS,1,1,360,1.13,CRD,6.0 +VTS,1,1,660,2.53,CRD,10.5 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,840,4.24,CSH,15.0 +VTS,1,1,840,1.56,CSH,11.0 +CMT,1,2,303,1.2,CSH,6.5 +CMT,1,1,1894,12.1,CRD,37.5 +CMT,1,1,938,1.4,CSH,11.5 +CMT,1,1,558,1.4,CRD,8.0 +CMT,1,1,134,0.8,CRD,4.5 +CMT,1,1,250,0.9,CRD,5.0 +CMT,1,1,363,0.6,CSH,5.5 +CMT,1,2,348,1.3,CSH,6.0 +CMT,1,1,1149,2.7,CRD,14.5 +CMT,1,1,390,1.3,CSH,6.5 +CMT,1,1,308,2.6,CRD,9.0 +CMT,1,1,1207,2.0,CRD,14.0 +CMT,2,2,1298,15.2,CRD,52.0 +CMT,1,1,650,1.3,CSH,8.5 +CMT,1,2,1280,10.2,CRD,30.5 +CMT,1,3,1704,12.2,CRD,36.5 +CMT,1,3,93,0.3,CRD,3.5 +CMT,1,1,295,0.7,CSH,5.0 +CMT,1,2,670,1.7,CSH,9.0 +CMT,1,1,982,2.5,CSH,12.5 +CMT,1,2,2125,13.3,CRD,41.0 +CMT,1,1,167,0.5,CSH,4.0 +CMT,1,1,1129,2.0,CRD,13.0 +CMT,1,1,1537,7.5,CRD,26.5 +CMT,1,1,627,1.2,CRD,8.5 +CMT,1,1,357,0.8,CSH,6.0 +CMT,1,1,669,2.0,CSH,10.0 +CMT,1,3,499,0.8,CSH,7.0 +CMT,1,1,1991,12.3,CRD,38.0 +CMT,1,2,443,1.1,CRD,7.0 +CMT,1,2,747,3.7,CRD,13.5 +CMT,1,1,653,3.0,CRD,11.0 +CMT,1,1,892,5.0,CSH,17.5 +CMT,1,1,1402,2.3,CSH,15.0 +CMT,1,1,479,0.9,CSH,7.0 +CMT,1,1,743,1.8,CRD,10.0 +CMT,1,1,2020,8.1,CRD,28.5 +CMT,1,1,2060,9.9,CRD,33.5 +CMT,1,1,1514,11.3,CSH,33.5 +CMT,1,1,654,2.2,CRD,9.5 +CMT,1,1,132,0.7,CSH,4.5 +CMT,1,2,529,1.7,CSH,8.5 +CMT,1,1,1313,5.5,CRD,21.0 +CMT,1,1,657,1.8,CRD,9.0 +CMT,1,2,1716,7.1,CRD,25.5 +CMT,2,4,2153,18.4,CSH,52.0 +CMT,1,1,1203,10.4,CRD,30.5 +CMT,1,1,2028,10.8,CRD,35.0 +CMT,1,1,410,0.7,CSH,6.0 +CMT,1,1,1012,6.8,CSH,22.0 +CMT,1,1,1708,12.1,CRD,36.5 +CMT,1,2,326,1.0,CSH,6.0 +CMT,1,1,653,2.6,CSH,8.5 +CMT,1,1,801,1.8,CRD,10.5 +CMT,2,1,2858,18.1,CRD,52.0 +CMT,1,1,1565,7.4,CRD,27.0 +CMT,3,4,1677,19.4,CRD,70.0 +CMT,1,3,271,1.8,CRD,7.5 +CMT,1,1,2225,16.4,CRD,47.0 +CMT,1,1,522,1.4,CSH,8.0 +CMT,1,1,1217,11.3,CRD,31.5 +CMT,1,1,1843,2.1,CSH,18.5 +CMT,1,4,1091,7.2,CRD,23.0 +CMT,1,1,411,1.2,CSH,7.5 +CMT,1,1,540,1.4,CSH,8.0 +CMT,1,1,1466,13.1,CSH,37.5 +CMT,1,1,816,3.5,CSH,13.5 +CMT,1,1,281,1.0,CRD,5.5 +CMT,1,2,942,4.7,CRD,17.0 +CMT,2,1,3560,19.0,CSH,52.0 +CMT,1,1,303,1.0,CSH,5.5 +CMT,1,1,723,3.5,CSH,13.0 +CMT,1,1,1247,11.3,CSH,32.5 +CMT,1,1,1249,3.1,CRD,15.0 +CMT,1,1,319,0.9,CRD,6.0 +CMT,1,1,477,0.6,CSH,6.5 +CMT,1,1,1185,2.3,CRD,14.0 +CMT,1,1,441,1.1,CSH,7.0 +CMT,1,1,339,1.1,CSH,6.0 +CMT,1,1,762,2.9,CRD,12.0 +CMT,1,1,1680,6.1,CSH,23.0 +CMT,1,2,537,1.3,CSH,7.5 +CMT,1,1,867,5.0,CRD,16.5 +CMT,1,1,397,2.3,CSH,9.0 +CMT,1,1,446,0.9,CSH,6.5 +CMT,1,1,1098,7.3,CSH,21.5 +CMT,1,1,667,1.9,CSH,10.0 +CMT,1,1,439,1.5,CRD,7.5 +CMT,1,1,274,0.6,CRD,5.0 +CMT,1,1,1126,5.2,CRD,19.0 +CMT,1,1,1755,11.6,CSH,35.0 +CMT,1,1,417,0.9,CRD,6.5 +CMT,1,1,190,0.3,CSH,4.0 +CMT,1,1,403,1.1,CRD,7.0 +CMT,1,1,798,4.6,CSH,16.0 +CMT,1,1,597,1.5,CSH,8.5 +CMT,1,1,1640,11.4,CRD,33.5 +CMT,1,1,1000,1.3,CRD,11.0 +CMT,1,1,966,2.0,CRD,11.5 +CMT,1,1,435,1.1,CSH,7.0 +CMT,1,1,959,2.4,CSH,12.5 +CMT,2,1,2275,16.6,CRD,52.0 +CMT,1,1,1368,10.8,CSH,31.5 +CMT,1,2,591,2.3,CSH,9.5 +CMT,1,2,942,4.2,CRD,15.5 +CMT,1,1,587,1.6,CSH,8.5 +CMT,1,1,773,5.2,CRD,17.0 +CMT,1,1,354,0.4,CSH,5.0 +CMT,1,1,458,1.6,CSH,8.0 +CMT,1,1,363,1.0,CRD,6.0 +CMT,1,2,558,1.1,CSH,8.0 +CMT,1,1,577,1.6,CSH,8.5 +CMT,1,1,611,1.4,CRD,8.5 +CMT,1,1,1403,11.2,CRD,33.5 +CMT,1,1,638,1.0,CRD,8.0 +CMT,1,1,535,1.4,CRD,8.0 +CMT,1,2,915,1.9,CSH,11.0 +CMT,1,1,715,1.2,CSH,8.5 +CMT,1,1,283,0.8,CSH,5.0 +CMT,2,1,1835,19.2,CRD,52.0 +CMT,2,3,3413,19.0,CSH,52.0 +CMT,1,2,521,1.3,CSH,7.5 +CMT,1,1,971,2.5,CSH,13.0 +CMT,5,1,1436,6.3,CRD,45.0 +CMT,1,1,511,1.4,CRD,7.5 +CMT,1,1,524,1.1,CRD,7.5 +CMT,1,1,618,1.4,CSH,8.5 +CMT,1,1,1068,1.2,CSH,11.5 +CMT,1,1,547,1.7,CRD,8.5 +CMT,1,4,432,1.2,CSH,7.0 +CMT,1,2,827,4.2,CSH,15.5 +CMT,1,1,306,0.7,CSH,5.5 +CMT,1,1,1316,6.2,CSH,21.5 +CMT,1,2,734,3.8,CRD,14.0 +CMT,1,1,267,1.2,CSH,6.0 +CMT,2,1,2775,20.0,CRD,52.0 +CMT,1,1,294,0.9,CRD,5.5 +CMT,1,1,991,4.8,CRD,17.5 +CMT,1,1,1382,3.8,CRD,17.5 +CMT,1,1,193,0.5,CSH,4.5 +CMT,1,1,198,0.8,CRD,5.0 +CMT,1,1,946,3.5,CRD,14.5 +CMT,1,1,855,2.5,CRD,11.5 +CMT,1,1,429,1.4,CRD,7.0 +CMT,1,1,564,2.0,CRD,9.0 +CMT,1,1,116,0.3,CSH,3.5 +CMT,1,1,495,2.1,CSH,9.0 +CMT,1,1,660,1.5,CSH,8.5 +CMT,1,1,478,1.5,CSH,7.5 +CMT,1,1,445,1.6,CRD,7.5 +CMT,1,1,694,3.5,CSH,13.5 +CMT,1,2,1335,5.4,CRD,21.0 +CMT,1,1,1102,6.0,CSH,20.0 +CMT,1,1,980,2.0,CRD,11.5 +CMT,1,2,1094,3.5,CRD,14.5 +CMT,1,1,1169,3.4,CSH,15.5 +CMT,1,2,715,1.5,CRD,9.5 +CMT,1,1,599,3.0,CRD,11.5 +CMT,2,4,3373,17.7,CSH,52.0 +CMT,1,1,611,1.8,CRD,9.0 +CMT,1,1,688,2.5,CSH,11.5 +CMT,1,1,530,1.2,CRD,7.5 +CMT,1,1,188,0.5,CSH,4.0 +CMT,1,2,185,0.2,CSH,4.0 +CMT,1,3,645,2.0,CRD,9.5 +CMT,1,4,1767,5.8,CSH,23.5 +CMT,1,1,1222,7.6,CRD,24.0 +CMT,1,1,649,2.5,CRD,11.0 +CMT,1,1,331,0.9,CRD,5.5 +CMT,1,1,506,1.6,CRD,8.5 +CMT,1,2,517,2.1,CRD,9.0 +CMT,1,1,374,1.2,CRD,6.5 +CMT,1,1,206,0.6,CSH,4.5 +CMT,1,1,241,0.4,CRD,4.5 +CMT,1,2,510,0.8,CRD,7.0 +CMT,1,1,166,0.6,CRD,4.5 +CMT,1,1,477,1.2,CSH,7.0 +CMT,1,2,217,0.6,CRD,4.5 +CMT,1,1,449,0.8,CRD,6.5 +CMT,1,1,362,0.9,CRD,6.5 +CMT,1,1,1013,1.7,CRD,11.5 +CMT,1,1,683,1.5,CSH,9.5 +CMT,1,3,232,0.3,CRD,4.5 +CMT,1,2,791,6.2,CSH,19.0 +CMT,1,1,1965,11.3,CRD,36.0 +CMT,1,3,1185,2.1,CRD,13.5 +CMT,1,1,1273,2.5,CRD,14.5 +CMT,1,1,620,1.5,CRD,8.5 +CMT,1,1,993,5.7,CRD,19.5 +CMT,1,2,2938,17.2,CRD,52.5 +CMT,1,1,646,1.7,CRD,9.0 +CMT,1,1,265,0.8,CSH,5.0 +CMT,1,1,1182,4.0,CRD,17.0 +CMT,1,2,2204,13.7,CRD,42.0 +CMT,1,1,703,1.3,CSH,9.0 +CMT,1,1,555,2.7,CSH,10.5 +CMT,2,1,1462,16.2,CRD,52.0 +CMT,1,1,423,1.0,CSH,6.5 +CMT,1,1,59,0.4,CSH,3.5 +CMT,1,1,2020,12.6,CRD,38.5 +CMT,1,2,594,1.0,CSH,8.0 +CMT,1,1,352,1.0,CRD,6.0 +CMT,1,1,547,1.9,CRD,9.0 +CMT,1,1,951,1.5,CRD,11.0 +CMT,1,3,1118,3.2,CSH,14.5 +CMT,1,1,916,4.2,CRD,15.5 +CMT,1,1,361,0.9,CSH,6.0 +CMT,1,2,760,2.8,CRD,11.5 +CMT,1,4,504,1.0,CRD,7.5 +CMT,1,1,209,0.7,CSH,5.0 +CMT,1,1,437,1.2,CSH,7.0 +CMT,2,2,2493,20.3,CRD,52.0 +CMT,1,1,696,1.7,CRD,10.0 +CMT,1,1,553,2.3,CRD,9.5 +CMT,1,1,346,0.9,CSH,6.0 +CMT,1,1,1692,4.1,CRD,19.5 +CMT,1,1,673,2.8,CSH,11.0 +CMT,1,1,367,1.3,CRD,6.5 +CMT,1,1,757,3.2,CSH,12.0 +CMT,1,1,280,0.7,CSH,5.0 +CMT,1,1,391,2.2,CSH,8.5 +CMT,1,1,302,0.7,CSH,5.5 +CMT,1,1,90,0.2,CSH,3.0 +CMT,1,1,520,1.4,CRD,7.5 +CMT,1,1,713,2.9,CRD,11.0 +CMT,1,3,453,1.5,CRD,7.5 +CMT,1,2,821,3.4,CRD,13.0 +CMT,1,1,991,4.9,CRD,16.5 +CMT,1,1,1396,2.0,CSH,15.0 +CMT,1,1,1443,5.1,CRD,21.0 +CMT,1,2,1014,4.6,CRD,17.5 +CMT,1,2,516,1.6,CRD,8.0 +CMT,1,1,383,1.5,CRD,7.0 +CMT,1,2,979,2.9,CSH,13.0 +CMT,1,1,410,0.6,CSH,6.0 +CMT,1,4,154,0.2,CSH,3.5 +CMT,1,1,1005,2.5,CRD,13.0 +CMT,1,1,507,1.0,CRD,7.0 +CMT,1,1,1472,10.7,CRD,31.0 +CMT,1,1,168,0.9,CRD,5.0 +CMT,1,1,899,2.5,CRD,12.0 +CMT,1,1,637,4.0,CSH,12.5 +CMT,1,3,820,2.4,CSH,11.5 +CMT,1,1,537,1.8,CSH,9.0 +CMT,1,1,2712,19.0,CSH,56.0 +CMT,1,2,458,1.3,CSH,7.0 +CMT,1,2,358,1.5,CSH,7.0 +CMT,1,1,522,1.9,CSH,8.5 +CMT,1,2,623,3.8,CSH,13.0 +CMT,1,1,410,1.0,CRD,6.5 +CMT,1,1,450,1.9,CRD,8.5 +CMT,1,1,263,1.0,CRD,5.5 +CMT,1,1,228,0.8,CSH,5.0 +CMT,1,1,301,1.9,CRD,7.5 +CMT,1,1,666,4.1,CRD,14.0 +CMT,1,2,925,4.2,CSH,16.0 +CMT,1,1,121,0.8,CSH,4.5 +CMT,1,2,2023,13.7,CRD,41.5 +CMT,1,1,1537,12.2,CRD,35.5 +CMT,1,1,770,1.7,CRD,10.0 +CMT,1,2,1088,10.3,CSH,29.0 +CMT,1,1,312,0.6,CSH,5.0 +CMT,1,2,645,2.3,CSH,10.0 +CMT,1,1,1132,4.1,CRD,16.5 +CMT,1,1,2296,16.1,CRD,45.5 +CMT,1,1,186,0.7,CRD,4.5 +CMT,1,2,1305,2.8,CRD,15.5 +CMT,1,1,535,1.7,CSH,8.0 +CMT,1,3,402,1.3,CSH,6.5 +CMT,1,4,2359,11.4,CSH,39.0 +CMT,2,1,1557,17.1,CRD,52.0 +CMT,1,1,1440,4.1,CSH,17.5 +CMT,1,1,493,1.2,CRD,7.5 +CMT,1,1,0,0.0,CSH,2.5 +CMT,1,1,709,3.5,CRD,13.5 +CMT,1,2,195,0.7,CSH,4.5 +CMT,1,1,314,0.8,CRD,5.5 +CMT,1,4,793,3.7,CSH,14.0 +CMT,1,1,348,1.0,CRD,6.0 +CMT,1,1,407,1.3,CRD,7.5 +CMT,1,1,397,1.8,CRD,8.0 +CMT,1,1,221,0.5,CRD,4.5 +CMT,1,2,421,1.2,CRD,7.0 +CMT,1,1,649,1.0,CSH,8.0 +CMT,1,2,630,2.1,CRD,9.5 +CMT,2,3,2336,17.8,CSH,52.0 +CMT,1,4,1449,4.6,CRD,19.5 +CMT,1,1,465,0.9,CRD,7.0 +CMT,1,1,401,1.3,CRD,7.0 +CMT,1,2,484,1.3,CSH,7.5 +CMT,1,2,656,3.1,CSH,11.5 +CMT,2,1,1850,19.4,CRD,52.0 +CMT,1,1,709,1.3,CRD,9.0 +CMT,1,1,367,1.1,CSH,6.5 +CMT,1,1,833,3.5,CRD,13.0 +CMT,1,1,477,3.0,CRD,10.5 +CMT,1,1,87,0.4,CSH,3.5 +CMT,1,2,768,1.1,CSH,9.0 +CMT,1,1,846,5.1,CRD,17.5 +CMT,1,1,229,0.7,CSH,5.0 +CMT,2,1,2103,18.2,CRD,52.0 +CMT,1,1,378,1.9,CRD,7.5 +CMT,1,1,1331,4.0,CRD,17.5 +CMT,1,1,702,3.1,CSH,12.5 +CMT,4,3,1162,7.6,CSH,29.5 +CMT,1,2,139,0.6,CSH,4.0 +CMT,1,4,655,1.6,CRD,9.0 +CMT,1,1,471,1.0,CRD,6.5 +CMT,1,1,237,1.2,CRD,5.5 +CMT,1,1,548,1.4,CSH,8.0 +CMT,1,4,516,2.7,CSH,10.0 +CMT,1,4,165,0.6,CSH,4.5 +CMT,2,2,1661,18.7,CRD,52.0 +CMT,1,2,380,1.3,CRD,7.0 +CMT,1,1,714,1.8,CRD,9.5 +CMT,1,2,1252,4.8,CRD,19.0 +CMT,1,2,739,5.4,CSH,16.5 +CMT,1,1,369,1.3,CRD,6.5 +CMT,1,2,1237,4.4,CRD,17.5 +CMT,1,1,309,0.8,CSH,5.5 +CMT,1,1,583,2.4,CSH,10.0 +CMT,1,1,310,1.0,CRD,6.0 +CMT,1,1,518,1.8,CSH,8.5 +CMT,1,1,436,1.1,CRD,7.0 +CMT,1,3,932,4.7,CRD,16.0 +CMT,1,1,512,1.2,CSH,7.0 +CMT,1,1,282,0.8,CRD,5.5 +CMT,1,1,247,0.5,CSH,4.5 +CMT,2,1,3128,19.0,CRD,52.0 +CMT,1,1,457,0.8,CSH,6.5 +CMT,1,1,630,2.9,CRD,11.5 +CMT,1,2,192,0.4,CSH,4.0 +CMT,1,1,690,1.8,CRD,9.5 +CMT,1,1,359,0.9,CRD,6.0 +CMT,1,1,438,1.7,CRD,8.0 +CMT,1,1,804,3.0,CRD,12.5 +CMT,1,1,771,1.2,CRD,9.0 +CMT,1,1,700,2.1,CRD,10.0 +CMT,1,1,605,1.8,CRD,9.0 +CMT,1,1,1220,1.6,CRD,13.0 +CMT,1,1,1091,2.8,CSH,13.5 +CMT,1,1,527,1.9,CSH,8.5 +CMT,1,1,696,0.9,CSH,8.5 +CMT,1,1,226,1.3,CSH,6.0 +CMT,2,2,2051,16.7,CRD,52.0 +CMT,1,1,879,8.5,CRD,24.5 +CMT,2,2,2076,15.5,CRD,52.0 +CMT,1,1,623,1.5,CRD,8.5 +CMT,1,1,589,1.6,CSH,9.0 +CMT,5,1,757,3.5,CRD,50.0 +CMT,1,2,1232,6.1,CRD,21.0 +CMT,2,1,3154,17.8,CSH,52.0 +CMT,1,1,113,0.3,CSH,3.5 +CMT,1,1,794,2.4,CRD,11.0 +CMT,1,1,281,0.7,CSH,5.5 +CMT,1,1,303,1.2,CSH,6.0 +CMT,1,2,649,1.4,CRD,9.0 +CMT,1,1,642,2.8,CSH,11.0 +CMT,1,2,742,3.1,CSH,12.5 +CMT,1,1,174,0.6,CRD,4.5 +CMT,1,1,349,1.7,CRD,7.5 +CMT,2,3,2308,18.3,CRD,52.0 +CMT,1,1,147,0.5,CSH,4.0 +CMT,1,1,456,0.9,CSH,6.5 +CMT,1,1,867,2.4,CRD,11.5 +CMT,1,4,387,1.0,CSH,6.0 +CMT,1,2,597,2.7,CSH,11.5 +CMT,2,2,3585,16.8,CRD,52.0 +CMT,1,1,310,0.4,CSH,5.0 +CMT,1,1,214,0.8,CSH,5.0 +CMT,1,3,406,0.5,CRD,6.0 +CMT,1,2,607,1.7,CSH,9.0 +CMT,1,1,707,2.6,DIS,11.0 +CMT,1,1,1114,7.8,CRD,24.0 +CMT,2,1,1983,17.2,CSH,52.0 +CMT,1,2,930,2.8,CSH,13.0 +CMT,1,2,533,2.1,CRD,9.5 +CMT,1,1,899,9.5,CSH,26.5 +CMT,1,1,325,0.8,CRD,6.0 +CMT,1,1,478,1.9,CSH,8.5 +CMT,1,1,795,1.7,CSH,10.0 +CMT,1,1,807,1.3,CRD,9.5 +CMT,1,2,674,1.2,CRD,8.5 +CMT,1,1,794,1.5,CRD,10.0 +CMT,1,2,922,2.9,CSH,13.5 +CMT,1,2,963,4.8,CRD,16.5 +CMT,1,1,1642,5.2,CRD,22.0 +CMT,1,1,1489,6.6,CRD,25.0 +CMT,2,1,13,2.1,CRD,52.0 +CMT,1,1,1088,2.9,CSH,14.0 +CMT,1,1,443,1.8,CRD,8.0 +CMT,1,1,188,0.7,CRD,4.5 +CMT,2,2,1695,20.5,CRD,52.0 +CMT,1,1,894,11.6,CSH,32.0 +CMT,1,1,549,2.0,CRD,9.0 +CMT,1,2,480,1.7,CRD,8.5 +CMT,1,2,628,1.6,CSH,9.0 +CMT,1,1,199,0.3,CSH,4.0 +CMT,2,1,1638,19.2,CSH,52.0 +CMT,2,2,3388,18.0,CRD,52.0 +CMT,1,1,201,0.6,CSH,4.5 +CMT,1,1,79,0.4,CSH,3.5 +CMT,1,1,486,1.4,CRD,8.0 +CMT,1,1,492,0.6,CRD,6.5 +CMT,1,1,5,1.4,DIS,2.5 +CMT,1,1,248,1.0,CSH,5.5 +CMT,1,1,2376,10.3,CSH,35.0 +CMT,1,1,1097,4.3,CSH,17.0 +CMT,2,1,2031,19.7,CRD,52.0 +CMT,1,2,547,1.3,CSH,8.0 +CMT,1,2,368,1.8,CRD,8.0 +CMT,1,1,363,1.0,CRD,6.5 +CMT,1,1,288,1.1,CRD,6.0 +CMT,1,1,724,2.5,CRD,11.0 +CMT,1,1,673,1.9,CRD,10.0 +CMT,1,1,548,1.5,CSH,8.0 +CMT,1,1,315,0.6,CRD,5.5 +CMT,1,1,398,1.0,CSH,6.0 +CMT,1,1,574,1.0,CSH,7.5 +CMT,1,2,346,0.9,CSH,6.0 +CMT,1,2,826,3.1,CRD,12.5 +CMT,1,3,280,0.7,CRD,5.5 +CMT,1,1,293,0.8,CSH,5.5 +CMT,1,2,1530,16.1,CRD,44.0 +CMT,1,1,1466,10.7,CRD,32.0 +CMT,1,4,490,3.0,CSH,10.5 +CMT,1,2,449,1.6,CSH,7.5 +CMT,1,1,412,0.7,CRD,6.5 +CMT,1,1,1021,2.8,CRD,13.0 +CMT,2,2,3967,18.6,CRD,52.0 +CMT,1,2,734,2.4,CSH,10.5 +CMT,1,1,720,1.9,CRD,10.5 +CMT,1,1,1028,8.9,CRD,26.5 +CMT,1,2,524,1.7,CRD,8.0 +CMT,1,2,549,1.0,CRD,7.5 +CMT,1,2,1351,5.1,CSH,20.0 +CMT,1,1,1454,4.1,CSH,18.5 +CMT,1,2,879,3.6,CSH,13.5 +CMT,1,1,550,1.6,CSH,8.5 +CMT,1,1,588,1.9,CRD,9.0 +CMT,1,1,2730,12.8,CRD,42.0 +CMT,1,1,650,3.2,CSH,12.0 +CMT,1,1,376,1.3,CRD,7.0 +CMT,1,2,632,1.9,CSH,9.5 +CMT,1,2,339,1.0,CRD,6.5 +CMT,1,1,1056,1.8,CSH,12.5 +CMT,1,1,708,3.1,CRD,12.0 +CMT,1,1,489,1.7,CRD,8.5 +CMT,1,1,630,2.4,CRD,10.5 +CMT,1,1,984,8.6,CRD,25.0 +CMT,1,2,253,0.7,CSH,5.0 +CMT,1,2,258,0.9,CSH,5.5 +CMT,1,1,253,0.8,CSH,5.0 +CMT,1,2,1090,2.9,CSH,13.5 +CMT,1,2,527,1.4,CSH,8.0 +CMT,1,1,547,1.6,CRD,8.0 +CMT,1,1,1926,9.1,CSH,29.5 +CMT,1,2,778,2.4,CRD,11.0 +CMT,1,4,175,0.6,CRD,4.5 +CMT,1,1,702,1.5,CRD,9.5 +CMT,1,3,340,0.9,CSH,6.0 +CMT,1,1,523,1.3,CSH,7.5 +CMT,1,1,717,3.9,CRD,13.5 +CMT,1,1,1284,8.5,CSH,25.0 +CMT,1,1,124,0.6,CSH,4.0 +CMT,1,1,806,4.8,CSH,16.5 +CMT,1,4,466,1.0,CSH,7.0 +CMT,1,1,154,0.6,CSH,4.0 +CMT,1,1,538,1.8,CRD,9.0 +CMT,1,1,539,1.3,CSH,8.0 +CMT,1,1,536,1.3,CSH,8.0 +CMT,1,1,914,5.7,CSH,18.5 +CMT,1,1,367,1.6,CRD,7.5 +CMT,1,2,1153,6.4,CRD,21.5 +CMT,1,4,256,0.5,CSH,5.0 +CMT,1,1,1204,9.3,CRD,27.0 +CMT,1,1,176,0.4,CSH,4.0 +CMT,1,1,1297,4.2,CSH,17.0 +CMT,1,1,1112,6.6,CSH,21.0 +CMT,1,1,1200,9.3,CRD,27.5 +CMT,1,2,373,1.0,CSH,6.0 +CMT,1,1,498,1.8,CSH,8.5 +CMT,1,1,83,0.4,CSH,3.5 +CMT,1,1,468,0.9,CSH,7.0 +CMT,1,1,1151,9.8,CSH,29.0 +CMT,1,1,1306,5.4,CRD,20.0 +CMT,1,1,457,1.6,CRD,7.5 +CMT,1,1,512,1.9,CRD,8.5 +CMT,1,1,226,0.7,CRD,5.0 +CMT,1,1,726,3.0,CRD,12.5 +CMT,1,2,403,1.7,CSH,7.5 +CMT,1,1,902,4.4,CRD,15.5 +CMT,1,1,200,0.9,CRD,5.0 +CMT,1,1,1764,20.6,CSH,55.0 +CMT,1,1,1263,3.0,CSH,15.0 +CMT,1,1,113,0.9,CSH,4.5 +CMT,1,1,1029,9.3,CRD,27.5 +CMT,1,1,334,0.8,CRD,5.5 +CMT,1,1,868,3.8,CRD,14.5 +CMT,1,1,394,1.6,CRD,6.5 +CMT,2,1,3298,18.4,CSH,52.0 +CMT,1,2,526,0.8,CSH,7.0 +CMT,1,1,294,0.5,CRD,5.0 +CMT,1,1,366,0.8,CRD,6.0 +CMT,2,1,1613,18.0,CRD,52.0 +CMT,2,1,1690,18.3,CRD,52.0 +CMT,1,1,571,2.1,CRD,9.5 +CMT,2,1,2823,20.9,CRD,52.0 +CMT,1,1,665,2.1,CRD,10.5 +CMT,1,2,238,0.7,CSH,5.0 +CMT,1,2,552,1.1,CRD,7.5 +CMT,1,2,715,3.5,CRD,13.0 +CMT,1,1,2394,20.0,CRD,58.0 +CMT,1,1,784,5.8,CSH,18.5 +CMT,1,1,299,0.7,CRD,5.5 +CMT,1,1,1095,3.8,CRD,15.5 +CMT,1,1,507,2.2,CRD,9.0 +CMT,1,1,514,1.8,CSH,8.5 +CMT,1,1,459,0.6,CRD,6.5 +CMT,1,1,1068,3.4,CRD,15.0 +CMT,1,1,358,1.6,CSH,7.0 +CMT,1,1,500,1.6,CRD,8.5 +CMT,1,1,197,0.8,CRD,5.0 +CMT,1,3,246,0.6,CSH,4.5 +CMT,1,1,455,1.6,CSH,7.5 +CMT,1,1,640,2.0,CSH,9.5 +CMT,1,1,303,1.1,CSH,6.0 +CMT,1,1,841,2.9,CRD,12.5 +CMT,1,1,526,2.2,CSH,9.5 +CMT,1,1,611,1.7,CSH,9.0 +CMT,1,2,2439,11.7,CSH,40.0 +CMT,1,1,306,1.0,CSH,5.5 +CMT,1,1,186,0.7,CSH,4.5 +CMT,1,1,300,1.1,DIS,6.0 +CMT,1,1,510,1.1,CRD,7.5 +CMT,1,1,1934,14.0,CSH,42.5 +CMT,1,1,355,0.8,CSH,5.5 +CMT,1,1,835,7.6,CRD,22.5 +CMT,1,1,387,0.6,CRD,6.0 +CMT,1,2,1104,8.7,CSH,26.0 +CMT,1,1,938,6.5,CRD,20.5 +CMT,1,2,454,1.3,CRD,7.0 +CMT,1,1,162,0.3,CRD,4.0 +CMT,1,1,612,1.6,CRD,8.5 +CMT,1,1,2308,11.1,CRD,36.0 +CMT,1,2,1018,2.5,CSH,12.5 +CMT,1,1,469,1.6,CRD,7.5 +CMT,1,1,285,1.0,CRD,5.5 +CMT,1,2,485,2.0,CRD,8.0 +CMT,1,1,354,1.1,CSH,6.0 +CMT,1,1,1144,3.5,CRD,15.0 +CMT,1,2,131,0.4,CRD,3.5 +CMT,1,1,952,3.6,CRD,14.5 +CMT,1,3,581,1.0,CRD,7.5 +CMT,1,4,505,1.5,CRD,8.0 +CMT,1,2,586,2.5,CSH,10.5 +CMT,1,4,1284,7.4,CRD,24.0 +CMT,1,2,553,1.8,CRD,9.0 +CMT,1,1,618,0.8,CSH,8.0 +CMT,1,1,149,0.5,CSH,4.0 +CMT,1,3,1260,3.7,CSH,16.0 +CMT,1,3,464,1.7,CSH,8.0 +CMT,1,3,1150,8.0,CSH,25.5 +CMT,1,1,1155,2.7,CSH,13.5 +CMT,1,2,544,1.1,CSH,7.5 +CMT,1,2,207,0.6,CSH,4.5 +CMT,1,1,392,1.9,CRD,7.5 +CMT,1,2,1031,4.3,CSH,17.0 +CMT,1,1,354,1.1,CRD,6.5 +CMT,1,3,669,2.5,CSH,10.5 +CMT,1,3,1654,10.5,CRD,31.5 +CMT,1,4,1259,7.9,CSH,24.0 +CMT,1,1,1095,1.9,CRD,12.5 +CMT,1,1,836,2.5,CSH,11.5 +CMT,1,1,378,0.5,CSH,5.5 +CMT,2,2,3281,18.7,CRD,52.0 +CMT,1,1,245,0.8,CRD,5.0 +CMT,1,1,1741,4.7,CSH,21.0 +CMT,1,1,317,0.8,CSH,5.5 +CMT,1,1,167,0.5,CSH,4.5 +CMT,1,1,323,0.6,CSH,5.5 +CMT,1,1,270,0.7,CRD,5.5 +CMT,1,1,499,1.1,CSH,7.5 +CMT,2,1,1634,17.7,CRD,52.0 +CMT,1,2,862,9.1,CSH,26.0 +CMT,1,2,1115,9.0,CSH,27.0 +CMT,1,1,1036,7.3,CRD,22.5 +CMT,1,1,560,2.5,CRD,10.0 +CMT,1,1,966,5.0,CRD,18.0 +CMT,1,2,1049,2.5,CRD,13.0 +CMT,1,1,212,0.7,CRD,4.5 +CMT,1,1,584,3.1,CRD,11.5 +CMT,1,1,254,0.4,CRD,4.5 +CMT,2,1,3073,19.6,CSH,52.0 +CMT,1,1,668,2.0,CRD,10.0 +CMT,1,1,882,2.3,CRD,11.5 +CMT,1,1,317,1.7,CRD,7.0 +CMT,1,2,164,0.3,CRD,4.0 +CMT,1,2,501,1.3,CSH,7.5 +CMT,1,1,186,0.6,CSH,4.5 +CMT,1,3,531,0.9,CRD,7.0 +CMT,1,2,524,1.0,CSH,7.0 +CMT,1,1,491,2.0,CRD,9.0 +CMT,1,1,440,0.8,CSH,6.5 +CMT,1,1,270,0.9,CRD,5.5 +CMT,1,2,867,2.5,CSH,11.5 +CMT,1,1,323,1.9,CRD,7.5 +CMT,1,2,1099,2.4,CRD,13.5 +CMT,1,1,501,1.9,CSH,8.5 +CMT,1,2,1494,10.9,CSH,32.5 +CMT,1,3,1243,3.5,CSH,15.0 +CMT,1,2,1417,3.6,CSH,17.5 +CMT,1,2,919,1.6,CRD,11.0 +CMT,1,2,456,1.6,CSH,8.0 +CMT,1,1,394,1.3,CRD,7.0 +CMT,1,1,365,1.2,CRD,6.5 +CMT,1,1,509,1.7,CSH,8.5 +CMT,1,1,769,3.1,CSH,12.0 +CMT,1,2,1344,8.4,CRD,27.0 +CMT,1,2,772,1.7,CRD,10.0 +CMT,1,4,1021,8.1,CRD,23.5 +CMT,1,1,995,7.4,CSH,22.5 +CMT,1,2,1223,8.9,CSH,27.0 +CMT,1,1,1034,8.5,CRD,25.5 +CMT,1,1,1547,8.7,CRD,27.5 +CMT,1,1,604,0.7,CSH,7.5 +CMT,1,1,425,1.6,CRD,7.0 +CMT,1,4,1995,14.4,CSH,41.5 +CMT,1,4,1123,3.0,CSH,14.5 +CMT,1,2,724,2.2,CRD,10.5 +CMT,1,1,441,1.1,CRD,6.5 +CMT,1,3,2138,5.2,CSH,26.0 +CMT,1,1,529,1.6,CSH,8.0 +CMT,1,1,160,1.0,CRD,5.0 +CMT,1,1,221,0.7,CRD,5.0 +CMT,1,1,146,0.9,CRD,5.0 +CMT,1,1,408,1.8,CRD,8.0 +CMT,1,1,1202,3.1,CRD,15.0 +CMT,1,1,569,1.6,CRD,8.5 +CMT,1,3,696,3.0,CRD,12.0 +CMT,1,1,1624,5.8,CRD,22.5 +CMT,1,1,853,2.7,CSH,12.0 +CMT,1,1,88,0.4,CRD,3.5 +CMT,1,1,1483,6.2,CRD,22.0 +CMT,1,1,576,2.4,CRD,10.0 +CMT,1,2,857,3.7,CRD,14.5 +CMT,1,1,367,1.1,CRD,6.5 +CMT,1,4,207,1.0,CRD,5.0 +CMT,1,1,180,0.9,CSH,5.0 +CMT,1,1,888,2.3,CSH,11.5 +CMT,1,1,468,1.8,CRD,8.5 +CMT,1,1,341,1.2,CRD,6.5 +CMT,1,1,423,1.4,CSH,7.0 +CMT,1,1,378,0.9,CSH,5.5 +CMT,1,2,398,0.6,CRD,5.5 +CMT,1,2,1594,4.7,CSH,20.0 +CMT,1,3,981,3.2,CRD,13.5 +CMT,1,2,854,3.3,CSH,13.5 +CMT,1,1,1049,8.2,CSH,24.5 +CMT,1,1,831,2.6,CSH,12.5 +CMT,1,2,1480,6.9,DIS,23.5 +CMT,1,1,318,1.2,CSH,6.5 +CMT,1,2,1012,3.1,CSH,14.0 +CMT,1,1,356,1.4,CRD,6.5 +CMT,1,4,393,1.4,CRD,7.0 +CMT,1,2,496,1.9,CRD,8.5 +CMT,1,1,978,4.4,CSH,17.0 +CMT,1,2,637,2.2,CRD,9.5 +CMT,1,2,1082,5.2,CSH,18.0 +CMT,1,1,1695,10.7,CRD,33.5 +CMT,1,1,992,4.5,CRD,16.0 +CMT,1,3,1015,3.5,CSH,14.5 +CMT,1,2,250,1.3,CSH,6.0 +CMT,1,1,395,2.9,CSH,10.5 +CMT,1,1,183,1.0,CSH,5.0 +CMT,1,1,495,0.8,CSH,7.0 +CMT,1,2,1019,3.7,CRD,15.0 +CMT,1,2,478,1.6,CRD,7.5 +CMT,1,1,737,3.0,CRD,12.0 +CMT,1,3,636,2.3,CRD,10.0 +CMT,1,1,1448,5.7,CRD,20.5 +CMT,1,1,955,3.5,CRD,14.5 +CMT,1,1,912,4.3,CRD,15.5 +CMT,1,2,295,0.5,CRD,5.0 +CMT,1,1,831,2.6,CRD,12.0 +CMT,1,1,661,1.6,CRD,9.5 +CMT,1,2,694,2.4,CRD,10.5 +CMT,2,1,1890,17.0,CRD,52.0 +CMT,1,2,1438,10.3,CSH,31.5 +CMT,1,1,125,0.5,CRD,4.0 +CMT,1,3,223,0.9,CSH,5.0 +CMT,1,1,639,1.4,CSH,8.5 +CMT,5,1,899,4.6,CRD,50.0 +CMT,2,1,2442,15.7,CRD,52.0 +CMT,1,1,390,1.3,CRD,7.0 +CMT,1,1,409,1.9,CSH,8.0 +CMT,1,1,846,1.5,CRD,10.5 +CMT,1,1,1363,7.0,CSH,23.5 +CMT,1,2,1090,2.6,CSH,14.0 +CMT,1,1,194,0.5,CRD,4.0 +CMT,1,3,587,1.7,CRD,8.5 +CMT,1,1,690,2.5,CSH,10.5 +CMT,1,1,1234,5.4,CSH,18.5 +CMT,1,2,284,0.8,CRD,5.5 +CMT,1,1,904,2.9,CRD,13.0 +CMT,1,1,199,0.5,CSH,4.5 +CMT,1,1,269,0.7,CSH,5.0 +CMT,1,1,1817,9.7,CRD,33.5 +CMT,1,1,390,1.0,CRD,6.5 +CMT,1,2,2208,8.2,CRD,29.5 +CMT,1,3,686,2.1,CRD,10.0 +CMT,1,1,165,0.4,CSH,4.0 +CMT,1,3,663,2.4,CSH,10.5 +CMT,1,2,898,2.6,CSH,12.0 +CMT,1,1,262,0.8,CRD,5.0 +CMT,1,1,1367,11.6,CSH,33.5 +CMT,1,3,680,2.2,CSH,10.0 +CMT,1,1,519,2.1,CRD,9.0 +CMT,1,1,658,1.5,CRD,9.0 +CMT,1,1,723,1.0,CRD,9.0 +CMT,1,1,905,3.7,CRD,15.0 +CMT,1,1,1494,12.3,CRD,36.0 +CMT,1,1,1096,8.1,CRD,24.5 +CMT,1,1,408,0.9,CRD,6.5 +CMT,1,3,2249,6.9,CSH,28.5 +CMT,1,2,681,0.9,CRD,8.5 +CMT,1,1,795,3.1,CRD,12.5 +CMT,1,2,124,0.4,CSH,3.5 +CMT,1,2,482,1.3,CRD,7.5 +CMT,1,1,758,2.3,CSH,10.5 +CMT,1,2,410,1.0,CSH,7.0 +CMT,1,1,331,1.1,CRD,6.0 +CMT,1,4,568,2.4,CSH,10.0 +CMT,1,1,1312,4.1,CRD,17.0 +CMT,1,1,1056,10.2,CRD,29.5 +CMT,1,2,1005,3.4,CRD,14.5 +CMT,1,1,837,1.7,CSH,10.5 +CMT,1,1,1066,5.4,CSH,19.5 +CMT,1,1,807,2.8,CSH,12.5 +CMT,1,1,902,3.7,CRD,14.0 +CMT,1,2,514,2.0,CSH,9.0 +CMT,1,1,621,2.3,CSH,10.5 +CMT,1,2,716,2.3,CRD,10.5 +CMT,1,2,380,0.8,CRD,6.0 +CMT,1,1,962,4.1,CRD,15.0 +CMT,1,2,1178,8.6,CSH,26.5 +CMT,1,1,283,1.0,CSH,5.5 +CMT,1,2,1269,10.8,CSH,31.0 +CMT,1,1,838,3.2,CSH,12.5 +CMT,1,1,209,0.5,CSH,4.5 +CMT,1,3,774,6.7,CSH,20.0 +CMT,1,2,184,0.6,CSH,4.5 +CMT,1,2,432,0.8,CRD,6.5 +CMT,1,2,1834,11.8,CRD,36.0 +CMT,1,3,254,0.8,CRD,5.0 +CMT,1,3,1201,2.5,CRD,14.0 +CMT,1,1,1642,7.0,CSH,24.5 +CMT,1,2,1936,10.5,CRD,34.0 +CMT,1,1,355,1.2,CSH,6.5 +CMT,1,1,206,0.7,CSH,4.5 +CMT,1,1,620,2.2,CRD,9.5 +CMT,1,2,632,2.6,CSH,10.5 +CMT,1,1,1148,3.0,CRD,14.5 +CMT,1,1,605,2.3,CSH,10.0 +CMT,1,1,1091,5.4,CRD,18.0 +CMT,1,1,665,2.3,CRD,10.0 +CMT,1,1,728,1.9,CSH,10.0 +CMT,1,1,530,1.5,CRD,8.5 +CMT,1,1,856,2.8,CSH,12.5 +CMT,1,2,1724,6.8,CRD,24.0 +CMT,1,2,1713,6.3,CSH,24.5 +CMT,1,1,448,1.2,CRD,7.0 +CMT,1,1,512,1.0,CRD,7.0 +CMT,1,1,1263,11.0,CRD,32.5 +CMT,1,1,575,1.8,CSH,9.0 +CMT,1,1,129,0.8,CSH,4.5 +CMT,1,1,239,0.6,CSH,4.5 +CMT,1,1,1382,8.6,CRD,27.5 +CMT,1,2,431,1.0,CRD,7.0 +CMT,1,1,621,2.1,CRD,9.5 +CMT,1,1,604,1.0,CSH,8.0 +CMT,1,1,318,0.8,CRD,5.5 +CMT,1,1,571,1.7,CSH,8.5 +CMT,1,1,1044,4.3,CRD,16.5 +CMT,1,1,1282,5.6,CSH,20.5 +CMT,1,1,1522,3.6,CRD,18.5 +CMT,1,4,1030,2.7,CRD,13.0 +CMT,1,1,1132,8.4,CRD,25.5 +CMT,1,2,543,1.8,CRD,8.5 +CMT,1,2,542,2.8,CSH,10.0 +CMT,1,1,487,1.1,CSH,7.5 +CMT,1,2,829,2.1,CRD,10.5 +CMT,1,1,200,0.2,CSH,4.0 +CMT,1,1,542,2.2,CSH,9.0 +CMT,1,4,197,0.4,CSH,4.0 +CMT,1,2,408,0.7,CSH,6.0 +CMT,1,1,436,2.3,CSH,9.5 +CMT,1,1,1408,9.6,CRD,29.0 +CMT,1,1,503,1.3,CRD,7.5 +CMT,1,1,1038,6.9,CSH,21.5 +CMT,1,1,218,0.9,CSH,5.0 +CMT,1,1,583,1.5,CSH,8.5 +CMT,1,1,1687,6.3,CRD,24.0 +CMT,1,1,1339,9.8,CRD,29.0 +CMT,1,1,2002,9.1,CRD,30.0 +CMT,1,1,1657,8.9,CRD,29.0 +CMT,1,1,659,7.0,CRD,20.0 +CMT,1,2,847,1.3,CRD,10.0 +CMT,1,1,762,2.3,CRD,11.0 +CMT,1,1,515,3.0,CRD,11.0 +CMT,1,1,1285,8.9,CRD,27.0 +CMT,1,1,840,8.0,CRD,23.0 +CMT,1,1,412,2.1,CRD,8.0 +CMT,1,1,513,1.8,CRD,8.5 +CMT,1,2,487,1.5,CRD,7.5 +CMT,1,1,274,0.5,CSH,5.0 +CMT,1,2,796,0.8,CSH,9.0 +CMT,1,1,351,1.4,CRD,7.0 +CMT,1,1,679,3.9,CSH,14.0 +CMT,1,1,520,2.1,CSH,9.5 +CMT,1,1,207,0.8,CSH,5.0 +CMT,1,1,475,1.5,CRD,7.5 +CMT,1,1,627,2.7,CRD,11.0 +CMT,1,1,1090,8.4,CRD,25.0 +CMT,1,2,631,1.3,CRD,8.5 +CMT,1,1,393,0.9,CRD,6.5 +CMT,1,1,692,1.6,CSH,9.0 +CMT,1,1,569,4.6,CRD,14.5 +CMT,1,2,950,3.7,CSH,15.0 +CMT,1,1,478,0.7,CRD,6.5 +CMT,1,2,1389,9.0,CRD,28.0 +CMT,1,1,420,1.6,CRD,7.5 +CMT,1,1,476,2.2,CSH,9.0 +CMT,1,1,1389,7.0,CRD,22.0 +CMT,1,1,338,0.9,CRD,5.5 +CMT,1,1,929,8.9,CRD,25.5 +CMT,1,2,604,1.8,CSH,9.0 +CMT,1,2,354,1.0,CSH,6.0 +CMT,1,1,258,0.9,CSH,5.5 +CMT,1,4,347,0.6,CRD,5.5 +CMT,1,2,594,2.6,CSH,10.5 +CMT,1,1,860,7.3,CSH,22.0 +CMT,1,2,651,1.4,CSH,9.0 +CMT,1,1,805,1.9,CSH,10.5 +CMT,1,1,515,1.8,CRD,8.0 +CMT,1,2,284,0.3,CSH,5.0 +CMT,1,1,1277,2.5,CRD,15.0 +CMT,1,1,175,0.3,CSH,4.0 +CMT,1,2,857,4.4,CSH,16.5 +CMT,1,1,1024,4.4,CRD,16.5 +CMT,1,1,174,0.9,CRD,5.0 +CMT,1,1,1342,8.9,CRD,26.0 +CMT,1,2,2560,10.6,CSH,36.0 +CMT,1,1,1451,3.2,CSH,17.0 +CMT,1,2,947,2.3,CRD,12.5 +CMT,1,1,1227,5.5,CRD,19.5 +CMT,1,1,847,5.9,CRD,18.5 +CMT,1,2,977,2.8,CRD,13.0 +CMT,1,4,374,0.7,CRD,6.0 +CMT,1,3,765,1.6,CRD,10.0 +CMT,1,2,493,1.1,CRD,7.0 +CMT,1,1,1370,9.4,CRD,28.5 +CMT,1,2,574,1.8,CSH,9.0 +CMT,1,2,519,1.5,CRD,8.0 +CMT,1,4,365,1.0,CSH,6.0 +CMT,1,1,390,1.1,CRD,6.5 +CMT,1,2,749,7.3,CRD,21.5 +CMT,1,2,852,1.9,CRD,11.0 +CMT,1,2,1159,10.2,CSH,30.0 +CMT,1,1,1071,5.2,CSH,18.0 +CMT,1,2,1527,8.1,CSH,26.5 +CMT,1,1,549,1.1,CSH,7.5 +CMT,1,1,850,3.0,CRD,12.5 +CMT,1,1,344,0.9,CRD,6.0 +CMT,1,4,654,1.7,CSH,9.5 +CMT,1,1,1248,5.4,CRD,20.0 +CMT,1,4,629,1.1,CSH,8.0 +CMT,1,2,445,1.2,CSH,7.0 +CMT,1,2,791,2.3,CRD,11.0 +CMT,1,1,129,0.5,CSH,4.0 +CMT,1,1,988,3.3,CRD,14.0 +CMT,2,1,3375,18.6,CRD,52.0 +CMT,1,1,805,1.9,CSH,10.0 +CMT,1,1,778,1.5,CRD,9.5 +CMT,1,1,639,2.1,CRD,10.0 +CMT,1,1,292,1.2,CRD,6.0 +CMT,1,2,286,1.0,CRD,5.5 +CMT,1,1,2,4.6,DIS,2.5 +CMT,1,1,845,2.6,CRD,12.0 +CMT,1,1,573,1.8,CSH,9.0 +CMT,1,1,1164,10.9,CSH,31.0 +CMT,1,2,274,0.8,CRD,5.5 +CMT,1,1,331,0.9,CRD,6.0 +CMT,1,1,610,3.0,CRD,11.5 +CMT,1,2,284,0.9,CSH,5.5 +CMT,1,1,1209,8.4,CRD,26.0 +CMT,1,2,354,1.6,CSH,7.0 +CMT,1,1,1467,6.3,CRD,21.5 +CMT,1,3,514,1.7,CSH,8.5 +CMT,1,1,604,2.8,CRD,10.5 +CMT,1,1,3826,12.2,CRD,51.0 +CMT,1,2,289,0.8,CRD,5.5 +CMT,1,2,254,0.7,CSH,5.0 +CMT,1,1,100,0.0,CSH,3.0 +CMT,1,1,1070,2.9,CRD,14.0 +CMT,1,1,697,2.0,CRD,10.0 +CMT,1,1,694,2.3,CRD,10.5 +CMT,1,2,857,5.4,CRD,17.5 +CMT,1,1,231,0.8,CSH,5.0 +CMT,1,1,1092,7.1,CSH,23.0 +CMT,1,2,1153,3.6,CRD,15.5 +CMT,1,2,961,2.2,CSH,12.0 +CMT,1,1,227,0.3,CSH,4.5 +CMT,1,1,735,4.0,CSH,13.5 +CMT,1,2,449,1.2,CRD,7.0 +CMT,1,1,404,1.2,CSH,7.0 +CMT,1,1,1296,8.9,CRD,27.5 +CMT,1,1,921,9.9,CRD,27.5 +CMT,1,2,485,1.3,CSH,7.5 +CMT,1,1,279,0.7,CRD,5.5 +CMT,1,1,152,1.0,CRD,5.0 +CMT,1,1,114,0.4,CRD,3.5 +CMT,1,2,503,1.1,CSH,7.5 +CMT,1,1,819,2.6,CSH,11.5 +CMT,1,1,617,1.7,CRD,8.5 +CMT,1,1,1006,8.2,CSH,24.0 +CMT,1,1,886,3.5,CSH,13.5 +CMT,1,1,428,1.4,CSH,7.0 +CMT,1,1,163,0.4,CRD,4.0 +CMT,1,1,813,3.9,CRD,14.5 +CMT,1,1,548,1.8,CSH,8.5 +CMT,1,1,210,0.7,CRD,4.5 +CMT,1,1,664,1.3,CSH,8.5 +CMT,1,1,566,1.5,CSH,8.5 +CMT,1,2,1403,10.9,CRD,32.0 +CMT,1,1,1000,11.8,CRD,33.0 +CMT,1,4,1096,4.4,CSH,16.5 +CMT,1,1,2595,7.2,CRD,30.5 +CMT,1,2,366,0.8,CSH,6.0 +CMT,1,2,706,1.0,CRD,9.0 +CMT,1,2,1326,3.6,CRD,16.5 +CMT,1,1,1627,7.1,CRD,25.0 +CMT,1,1,880,1.5,CRD,10.5 +CMT,1,1,411,1.0,CSH,6.5 +CMT,1,1,523,1.5,CSH,8.0 +CMT,1,1,821,1.9,CRD,10.5 +CMT,1,1,966,4.4,CRD,15.5 +CMT,1,1,261,1.1,CRD,5.5 +CMT,1,2,280,0.9,CSH,5.5 +CMT,1,1,900,9.9,CRD,27.5 +CMT,1,1,2731,5.5,CRD,18.5 +CMT,1,1,281,0.9,CSH,5.5 +CMT,1,2,270,1.1,CSH,6.0 +CMT,1,3,583,1.6,CRD,9.0 +CMT,1,1,478,2.3,CRD,9.5 +CMT,1,3,1546,3.5,CSH,18.0 +CMT,1,1,188,0.6,CRD,4.5 +CMT,1,1,1251,2.0,CRD,13.5 +CMT,1,1,322,0.8,CRD,5.5 +CMT,1,1,973,3.9,CRD,15.5 +CMT,1,1,506,1.0,CSH,6.5 +CMT,1,1,326,1.4,CSH,6.5 +CMT,1,1,256,0.7,CSH,5.0 +CMT,1,2,2070,10.5,CSH,33.5 +CMT,1,1,300,0.9,CRD,5.5 +CMT,1,1,657,1.5,CRD,9.0 +CMT,1,2,150,0.5,CSH,4.0 +CMT,1,3,335,0.4,CSH,5.0 +CMT,1,1,525,2.0,CRD,9.5 +CMT,1,1,323,0.7,CSH,5.5 +CMT,1,2,478,1.8,CRD,8.5 +CMT,1,1,1132,9.5,CSH,28.0 +CMT,1,1,822,2.1,CSH,11.5 +CMT,1,1,755,2.6,CSH,12.0 +CMT,1,1,759,3.2,CSH,13.0 +CMT,1,1,270,0.5,CSH,5.0 +CMT,1,4,614,1.7,CSH,9.0 +CMT,1,1,841,2.4,CRD,12.0 +CMT,1,1,382,0.9,CSH,6.0 +CMT,1,4,656,1.8,CSH,10.0 +CMT,1,1,170,0.6,CRD,4.5 +CMT,1,1,651,2.6,CSH,11.0 +CMT,1,1,1063,7.8,CRD,23.0 +CMT,1,1,578,2.1,CRD,9.0 +CMT,1,2,933,2.4,CSH,12.0 +CMT,1,3,1673,5.6,CSH,23.0 +CMT,1,1,463,1.0,CSH,7.0 +CMT,1,1,428,2.2,CRD,9.0 +CMT,1,1,1270,3.9,CRD,17.0 +CMT,1,2,612,1.0,CRD,8.0 +CMT,1,1,437,1.8,CRD,8.5 +CMT,1,1,353,1.6,CRD,7.0 +CMT,1,1,639,3.4,CRD,12.0 +CMT,1,1,1384,5.7,CSH,21.5 +CMT,1,2,869,2.5,CRD,11.5 +CMT,1,1,1089,8.7,CSH,26.0 +CMT,1,1,715,2.9,CRD,12.0 +CMT,1,1,536,1.7,CSH,9.0 +CMT,1,2,1629,8.9,CRD,28.5 +CMT,1,1,345,0.8,CRD,6.0 +CMT,1,1,600,0.8,CSH,7.5 +CMT,1,1,1099,3.1,CRD,14.5 +CMT,1,4,650,1.9,CSH,9.5 +CMT,1,1,436,1.0,CSH,6.5 +CMT,1,1,1182,7.2,CSH,23.0 +CMT,1,1,795,1.7,CRD,10.0 +CMT,1,1,421,0.8,CRD,6.0 +CMT,1,1,819,4.1,CSH,14.0 +CMT,1,2,312,0.7,CSH,5.5 +CMT,1,1,472,1.9,CSH,8.5 +CMT,1,3,586,2.2,CRD,9.5 +CMT,1,2,1404,10.4,CSH,31.0 +CMT,1,3,498,1.2,CSH,7.5 +CMT,1,1,1364,11.3,CRD,33.0 +CMT,1,1,550,1.3,CRD,7.5 +CMT,1,3,1059,3.2,CRD,14.5 +CMT,1,1,827,1.9,CRD,10.5 +CMT,1,2,1910,10.8,CSH,34.5 +CMT,1,1,707,2.7,CSH,11.0 +CMT,1,2,1319,9.8,CRD,31.0 +CMT,1,1,555,1.7,CSH,8.5 +CMT,1,1,1005,1.5,CSH,11.0 +CMT,1,3,1631,4.8,CRD,20.5 +CMT,1,1,670,1.8,CRD,9.5 +CMT,1,1,1262,4.6,CRD,18.0 +CMT,1,1,784,1.6,CRD,10.0 +CMT,1,1,691,0.8,CSH,8.5 +CMT,1,2,948,8.3,CRD,24.5 +CMT,1,1,2064,8.7,CRD,31.5 +CMT,1,1,279,0.4,CRD,4.5 +CMT,1,1,876,1.6,CRD,10.5 +CMT,1,1,1064,4.4,CRD,15.5 +CMT,1,4,405,1.6,CSH,7.5 +CMT,1,1,487,1.0,CRD,7.0 +CMT,1,1,1025,3.6,CSH,15.0 +CMT,1,1,640,2.2,CRD,10.5 +CMT,1,1,689,1.8,CRD,9.5 +CMT,2,1,1748,18.4,CRD,52.0 +CMT,1,1,996,1.5,CRD,11.5 +CMT,1,1,389,0.5,CSH,6.0 +CMT,1,1,809,2.5,CRD,11.5 +CMT,1,1,1872,7.3,CSH,26.0 +CMT,1,2,927,2.4,CSH,11.5 +CMT,1,1,967,3.5,CRD,14.0 +CMT,1,1,683,1.3,CSH,9.0 +CMT,1,2,562,1.5,CRD,8.5 +CMT,1,1,803,2.5,CSH,11.5 +CMT,1,1,1091,2.4,CRD,13.5 +CMT,1,1,1536,8.6,CRD,28.5 +CMT,1,1,493,1.2,CRD,7.0 +CMT,1,1,454,2.2,CRD,9.0 +CMT,1,2,290,1.1,CRD,6.0 +CMT,1,1,375,1.5,CRD,7.0 +CMT,1,1,639,4.0,CRD,14.0 +CMT,1,1,726,1.9,CRD,10.5 +CMT,1,1,889,2.3,CRD,11.5 +CMT,1,1,1031,4.7,CRD,18.0 +CMT,1,1,1452,3.0,CRD,17.0 +CMT,1,3,452,0.9,CRD,7.0 +CMT,1,1,449,1.1,CSH,7.0 +CMT,1,2,693,2.0,CRD,10.0 +CMT,1,2,831,2.3,CRD,11.5 +CMT,1,4,631,2.3,CSH,10.5 +CMT,1,3,1025,1.6,CRD,11.5 +CMT,1,1,618,3.4,CRD,13.0 +CMT,1,2,1247,8.5,CRD,26.0 +CMT,1,1,115,0.4,CRD,3.5 +CMT,1,1,1262,9.0,CSH,27.5 +CMT,1,1,494,1.7,CSH,8.0 +CMT,1,2,167,0.4,CSH,4.0 +CMT,1,1,1008,3.4,CRD,14.5 +CMT,1,1,670,1.8,CRD,9.5 +CMT,1,1,650,2.1,CRD,10.0 +CMT,1,1,1366,4.1,CRD,17.5 +CMT,1,1,1389,10.1,CSH,30.5 +CMT,1,4,270,0.7,CSH,5.0 +CMT,1,1,456,1.0,CSH,7.0 +CMT,1,3,443,0.9,CRD,6.5 +CMT,1,1,751,4.4,CSH,15.0 +CMT,1,1,505,2.5,CRD,9.5 +CMT,1,3,762,1.4,CSH,9.5 +CMT,1,2,329,0.7,CSH,5.5 +CMT,1,1,573,1.1,CSH,7.5 +CMT,1,1,269,1.6,CRD,7.0 +CMT,1,4,279,0.7,CSH,5.0 +CMT,1,1,563,1.2,CRD,8.0 +CMT,1,1,1632,14.5,CRD,40.5 +CMT,1,1,696,1.4,CRD,9.0 +CMT,1,1,378,2.1,CSH,8.0 +CMT,1,3,159,0.6,CSH,4.5 +CMT,1,1,283,0.8,CSH,5.0 +CMT,1,2,774,2.6,CRD,11.5 +CMT,1,1,472,1.6,CSH,8.0 +CMT,1,1,722,1.6,CRD,9.5 +CMT,1,1,220,1.2,CRD,5.5 +CMT,1,1,638,1.0,CSH,8.0 +CMT,1,1,296,0.9,CRD,5.5 +CMT,1,2,1612,10.3,CSH,32.0 +CMT,1,1,684,2.0,CSH,10.0 +CMT,1,1,423,1.4,CSH,7.5 +CMT,1,1,777,6.0,CRD,19.0 +CMT,1,1,1050,3.4,CSH,14.5 +CMT,1,1,423,1.3,CSH,7.0 +CMT,1,1,207,0.7,CSH,4.5 +CMT,1,2,222,0.8,CSH,5.0 +CMT,1,1,711,2.1,CSH,10.5 +CMT,1,1,1595,4.0,CSH,20.0 +CMT,1,1,1444,7.2,CRD,24.5 +CMT,1,1,607,1.8,CRD,9.5 +CMT,2,2,2051,20.6,CRD,52.0 +CMT,1,2,268,1.1,CSH,6.0 +CMT,1,1,400,2.3,CSH,8.5 +CMT,1,1,241,1.0,CSH,5.0 +CMT,1,2,129,0.2,CRD,3.5 +CMT,1,1,953,8.6,CRD,25.0 +CMT,1,1,210,1.5,CSH,6.5 +CMT,1,1,661,2.2,CRD,10.0 +CMT,1,1,230,0.6,CRD,4.5 +CMT,1,1,295,1.0,CSH,5.5 +CMT,1,1,371,0.9,CSH,6.0 +CMT,1,1,1584,3.7,CSH,18.5 +CMT,1,1,773,2.6,CRD,12.0 +CMT,1,2,568,2.6,CRD,9.5 +CMT,1,1,201,0.6,CSH,4.5 +CMT,1,2,1324,9.2,CSH,28.5 +CMT,1,1,1212,8.8,CSH,27.0 +CMT,1,1,1018,4.8,CSH,17.5 +CMT,1,1,603,1.3,CSH,8.5 +CMT,1,2,1238,3.4,CRD,16.0 +CMT,1,1,359,0.6,CSH,5.5 +CMT,1,1,1493,10.8,CRD,32.0 +CMT,1,2,986,8.5,CRD,25.0 +CMT,1,3,253,0.4,CRD,4.5 +CMT,1,4,925,2.4,CSH,12.0 +CMT,1,1,1050,1.9,CRD,12.0 +CMT,1,1,616,1.5,CRD,8.0 +CMT,1,1,684,2.0,CRD,9.5 +CMT,1,1,853,2.1,CSH,11.0 +CMT,1,1,808,1.5,CSH,9.5 +CMT,1,1,1549,3.8,CRD,17.5 +CMT,1,2,922,1.0,CSH,10.5 +CMT,1,2,1631,5.3,CRD,21.5 +CMT,1,1,624,2.2,CRD,9.5 +CMT,1,2,1077,2.6,CRD,13.0 +CMT,1,1,1865,10.1,CRD,31.0 +CMT,1,1,162,0.6,CRD,4.0 +CMT,1,1,549,2.3,CRD,9.5 +CMT,1,1,1962,6.0,CSH,24.0 +CMT,1,1,998,8.1,CSH,23.5 +CMT,1,2,1780,3.3,CRD,20.0 +CMT,1,1,517,1.4,CSH,8.0 +CMT,1,3,815,0.9,CSH,9.5 +CMT,1,1,212,0.9,CSH,5.0 +CMT,1,2,193,0.8,CSH,5.0 +CMT,1,1,1142,5.8,CSH,20.5 +CMT,1,1,524,2.2,CRD,9.5 +CMT,1,1,412,1.9,CSH,8.0 +CMT,1,2,385,1.4,CSH,7.5 +CMT,1,1,160,0.5,CSH,4.5 +CMT,1,1,408,1.8,CRD,8.0 +CMT,1,1,729,2.5,CRD,11.5 +CMT,1,1,269,0.8,CSH,5.0 +CMT,1,2,540,1.1,CSH,7.5 +CMT,1,1,542,0.9,CSH,7.5 +CMT,1,1,285,0.8,CRD,5.5 +CMT,1,2,798,2.5,CSH,11.0 +CMT,1,1,297,0.7,CSH,5.0 +CMT,1,3,316,1.0,CSH,6.0 +CMT,1,1,1431,2.0,CRD,15.5 +CMT,1,1,1465,9.1,CSH,28.0 +CMT,1,2,537,1.4,CRD,7.5 +CMT,1,1,1098,8.7,CSH,25.5 +CMT,1,1,314,1.3,CSH,6.5 +CMT,1,2,506,1.3,CRD,7.5 +CMT,1,1,865,6.5,CRD,20.5 +CMT,1,1,470,1.9,CRD,8.0 +CMT,1,1,902,2.8,CRD,13.0 +CMT,1,1,324,0.9,CRD,5.5 +CMT,1,2,1300,9.0,CRD,28.0 +CMT,1,1,798,6.0,CSH,19.0 +CMT,1,1,676,5.2,CRD,16.5 +CMT,1,1,364,0.7,CSH,5.5 +CMT,1,3,1126,5.0,CRD,17.5 +CMT,1,2,1197,1.8,CSH,13.5 +CMT,1,2,994,2.6,CRD,12.5 +CMT,1,4,368,1.7,CRD,7.5 +CMT,1,2,365,1.0,CSH,6.0 +CMT,1,1,182,0.4,CSH,4.0 +CMT,1,1,1125,8.6,CRD,26.0 +CMT,1,2,2050,10.1,CSH,34.0 +CMT,1,1,458,1.3,CRD,7.5 +CMT,1,1,1406,10.5,CRD,31.5 +CMT,1,2,2347,11.7,CSH,35.5 +CMT,1,3,589,2.1,CSH,9.5 +CMT,1,1,1092,4.8,CRD,18.0 +CMT,1,4,158,0.4,CSH,4.0 +CMT,1,2,1047,5.5,CRD,18.5 +CMT,1,2,699,2.4,CRD,10.0 +CMT,1,4,368,1.0,CRD,6.0 +CMT,1,2,346,1.3,CSH,6.5 +CMT,1,3,1016,4.7,CRD,17.5 +CMT,1,1,215,0.7,CSH,5.0 +CMT,1,1,875,1.6,CSH,11.0 +CMT,1,1,846,3.5,CRD,13.5 +CMT,1,1,1738,16.5,CRD,44.5 +CMT,1,1,838,1.4,CSH,10.0 +CMT,2,1,2487,19.2,CRD,52.0 +CMT,1,3,844,6.6,CRD,21.0 +CMT,1,1,78,0.5,CSH,4.0 +CMT,1,1,184,1.0,CSH,5.5 +CMT,1,1,352,1.0,CSH,6.0 +CMT,1,1,230,0.6,CSH,4.5 +CMT,1,1,282,1.6,CSH,7.0 +CMT,1,1,387,1.6,CRD,7.5 +CMT,1,1,268,0.8,CRD,5.5 +CMT,1,1,483,1.3,CSH,7.5 +CMT,1,2,468,1.8,CRD,8.5 +CMT,1,1,681,1.7,CRD,9.5 +CMT,1,1,1359,4.1,CSH,18.5 +CMT,1,1,445,3.0,CSH,10.0 +CMT,1,1,196,0.6,CSH,4.5 +CMT,1,1,915,4.8,CRD,16.0 +CMT,1,1,100,0.4,CRD,3.5 +CMT,1,1,496,1.2,CRD,7.5 +CMT,1,2,456,1.4,CRD,7.5 +CMT,1,1,934,2.2,CRD,12.0 +CMT,1,1,789,2.0,CRD,10.5 +CMT,1,3,994,3.7,CRD,15.0 +CMT,1,1,741,1.6,CRD,9.5 +CMT,1,1,267,1.1,CSH,6.0 +CMT,1,1,668,2.4,CSH,11.0 +CMT,1,1,480,1.6,CRD,8.0 +CMT,1,1,298,0.6,CSH,5.0 +CMT,1,1,1121,3.4,CRD,15.5 +CMT,2,1,2650,17.9,CRD,52.0 +CMT,1,1,1803,10.7,CRD,34.0 +CMT,1,1,528,1.8,CSH,9.0 +CMT,1,1,687,6.2,CSH,19.0 +CMT,1,1,448,1.3,CRD,7.0 +CMT,1,1,586,2.0,CRD,9.0 +CMT,1,1,653,3.9,CRD,13.0 +CMT,1,1,1081,3.9,CSH,16.0 +CMT,1,1,282,0.9,CRD,5.5 +CMT,1,1,286,0.9,CSH,5.5 +CMT,1,1,473,2.7,CSH,10.0 +CMT,1,1,1019,3.3,CRD,15.0 +CMT,1,1,271,0.9,CRD,5.5 +CMT,1,1,443,1.6,CRD,7.5 +CMT,1,1,1213,5.9,CSH,21.0 +CMT,1,1,777,2.0,CRD,10.5 +CMT,1,1,382,1.0,CSH,6.5 +CMT,1,2,1308,9.6,CSH,30.0 +CMT,1,2,911,2.2,CRD,11.5 +CMT,1,1,353,0.6,CRD,5.5 +CMT,1,2,329,0.5,CSH,5.5 +CMT,1,1,180,1.5,CRD,6.0 +CMT,1,1,649,3.1,CSH,12.0 +CMT,1,2,351,2.1,CRD,8.5 +CMT,1,1,698,4.0,CSH,13.5 +CMT,1,1,355,1.5,CSH,7.5 +CMT,1,1,417,2.0,CSH,8.0 +CMT,1,1,228,1.3,CRD,5.5 +CMT,1,1,1237,2.0,CSH,14.0 +CMT,1,1,693,4.1,CRD,14.0 +CMT,1,1,741,2.1,CSH,10.5 +CMT,1,2,1066,3.4,CRD,14.5 +CMT,1,1,1365,6.2,CSH,21.0 +CMT,1,1,672,4.1,CSH,14.5 +CMT,1,1,401,1.3,CRD,7.0 +CMT,1,1,145,0.3,CSH,3.5 +CMT,1,1,280,1.1,CRD,6.0 +CMT,1,1,370,0.6,CRD,5.5 +CMT,1,1,1341,14.4,CRD,39.5 +CMT,1,1,291,0.6,CRD,5.0 +CMT,1,1,8,0.0,CSH,2.5 +CMT,1,1,656,2.7,CRD,11.0 +CMT,1,1,501,1.8,CRD,8.5 +CMT,1,1,144,0.4,CSH,4.0 +CMT,1,1,885,2.3,CRD,12.0 +CMT,1,1,565,1.5,CSH,8.0 +CMT,1,1,1005,2.7,CRD,13.0 +CMT,1,1,489,2.7,CSH,10.0 +CMT,1,1,580,2.5,CSH,10.5 +CMT,1,1,216,1.2,CRD,5.5 +CMT,1,1,908,2.9,CSH,13.0 +CMT,1,2,290,1.1,CSH,6.0 +CMT,1,1,252,1.6,CRD,7.0 +CMT,1,1,171,0.9,CSH,4.5 +CMT,1,2,848,1.7,CRD,11.0 +CMT,1,1,1087,2.1,CRD,12.5 +CMT,1,1,167,0.7,CRD,4.5 +CMT,1,1,333,0.5,CSH,5.5 +CMT,1,1,941,8.3,CSH,24.0 +CMT,1,1,592,1.4,CRD,8.5 +CMT,1,1,1279,2.9,CRD,15.0 +CMT,1,1,589,1.6,CSH,8.5 +CMT,1,1,491,2.0,CRD,9.5 +CMT,1,1,104,0.4,CSH,4.0 +CMT,1,1,439,2.0,CSH,9.0 +CMT,1,1,852,2.4,CRD,11.5 +CMT,1,1,945,2.0,CSH,12.0 +CMT,1,1,184,0.6,CRD,4.5 +CMT,1,1,229,0.8,CSH,5.0 +CMT,1,2,786,0.9,CRD,9.0 +CMT,1,1,291,0.9,CSH,5.5 +CMT,1,1,1160,2.7,CRD,14.0 +CMT,1,1,313,0.9,CRD,5.5 +CMT,1,1,481,0.6,CSH,6.5 +CMT,1,1,804,3.1,CRD,13.0 +CMT,1,2,451,1.1,CSH,7.0 +CMT,1,1,882,7.0,CRD,21.5 +CMT,1,1,1680,3.4,CRD,19.0 +CMT,1,3,1410,8.3,CSH,27.0 +CMT,1,1,363,1.4,CRD,7.0 +CMT,1,3,244,1.2,CRD,6.0 +CMT,1,1,869,3.5,CRD,14.0 +CMT,1,1,432,2.4,CSH,9.0 +CMT,1,1,641,1.1,CSH,8.5 +CMT,1,1,268,0.7,CRD,5.0 +CMT,1,1,324,1.0,CRD,6.0 +CMT,1,1,544,1.0,CRD,7.5 +CMT,1,4,275,1.0,CSH,5.5 +CMT,1,1,769,2.6,CSH,12.0 +CMT,1,1,146,0.3,CSH,3.5 +CMT,1,2,119,0.5,CSH,4.0 +CMT,1,2,1234,9.3,CRD,28.0 +CMT,1,1,1398,4.1,CSH,18.5 +CMT,1,1,152,0.8,CRD,4.5 +CMT,1,1,684,2.6,CRD,10.5 +CMT,1,1,1749,10.7,CRD,34.5 +CMT,1,1,231,0.5,CRD,4.5 +CMT,1,1,1794,2.3,CSH,18.5 +CMT,1,2,1433,2.3,CSH,15.5 +CMT,1,1,136,0.7,CSH,4.0 +CMT,1,1,793,2.0,CRD,10.5 +CMT,1,1,726,1.5,CRD,9.5 +CMT,1,2,600,3.3,CSH,12.0 +CMT,1,2,212,0.9,CRD,5.0 +CMT,1,1,247,0.7,CSH,5.0 +CMT,1,1,128,0.5,CRD,4.0 +CMT,1,1,2285,8.9,CRD,32.5 +CMT,1,1,106,0.6,CRD,4.0 +CMT,1,1,713,1.5,CSH,9.5 +CMT,1,1,2664,9.9,CSH,37.0 +CMT,1,1,407,1.1,CRD,6.5 +CMT,1,1,613,1.1,CSH,8.0 +CMT,1,2,221,0.5,CSH,4.5 +CMT,1,1,904,3.0,CRD,12.5 +CMT,1,2,444,1.6,CSH,8.0 +CMT,1,1,4929,8.1,CRD,51.5 +CMT,1,2,1333,6.5,CSH,22.0 +CMT,1,1,461,1.2,CSH,7.0 +CMT,1,2,1434,7.8,CRD,25.5 +CMT,1,1,978,3.2,CRD,14.0 +CMT,1,2,374,1.0,CRD,6.0 +CMT,1,2,780,2.2,CSH,10.5 +CMT,1,2,999,2.6,CRD,12.5 +CMT,1,1,1155,7.1,CSH,23.0 +CMT,1,1,374,0.8,CRD,6.0 +CMT,1,1,449,1.0,CRD,6.5 +CMT,1,1,1516,10.6,CRD,32.0 +CMT,1,1,638,3.9,CRD,13.0 +CMT,1,1,980,3.9,CRD,15.5 +CMT,1,1,1133,8.0,CRD,24.5 +CMT,1,1,605,2.9,CSH,11.0 +CMT,1,1,556,1.5,CRD,8.5 +CMT,1,1,380,1.2,CRD,6.5 +CMT,1,1,622,2.8,CRD,11.0 +CMT,2,2,2345,17.8,CRD,52.0 +CMT,1,1,1208,4.6,CSH,18.5 +CMT,1,2,708,2.8,CRD,12.0 +CMT,1,1,278,1.0,CRD,6.0 +CMT,1,1,474,1.4,CSH,8.0 +CMT,1,1,326,0.5,CRD,5.0 +CMT,1,1,1448,3.7,CRD,17.5 +CMT,1,1,407,0.8,CRD,6.0 +CMT,1,3,476,1.2,CSH,7.0 +CMT,1,2,405,1.1,CSH,6.5 +CMT,1,1,1075,3.4,CRD,14.5 +CMT,1,1,178,0.5,CSH,4.0 +CMT,1,1,406,2.5,CRD,9.0 +CMT,1,2,230,0.8,CSH,5.0 +CMT,1,2,629,2.1,CRD,9.5 +CMT,1,3,632,1.7,CRD,8.5 +CMT,1,1,904,1.7,CRD,11.5 +CMT,1,1,208,0.5,CRD,4.5 +CMT,1,2,596,1.6,CSH,9.0 +CMT,1,1,1342,9.3,CSH,28.0 +CMT,1,1,523,0.9,CSH,7.5 +CMT,1,3,1220,2.4,CSH,14.5 +CMT,1,1,656,2.8,CSH,11.0 +CMT,1,1,1563,6.2,CRD,24.5 +CMT,1,2,646,1.4,CSH,9.0 +CMT,1,1,510,2.1,CRD,9.5 +CMT,1,2,1210,2.3,CRD,14.5 +CMT,1,1,418,0.9,CRD,6.5 +CMT,1,1,915,7.3,CRD,22.5 +CMT,1,1,335,1.0,CRD,6.0 +CMT,1,1,445,2.1,CRD,8.5 +CMT,1,1,376,1.9,CSH,7.5 +CMT,1,1,1231,5.2,CSH,18.5 +CMT,1,2,604,1.2,CRD,8.0 +CMT,1,1,1154,9.1,CRD,27.0 +CMT,1,1,264,1.0,CRD,5.5 +CMT,1,1,147,0.5,CSH,4.0 +CMT,1,1,1267,4.5,CRD,18.5 +CMT,1,1,389,1.7,CRD,7.5 +CMT,1,1,832,3.0,CSH,12.0 +CMT,1,1,220,0.6,CSH,4.5 +CMT,1,2,406,1.0,CSH,6.5 +CMT,1,1,369,0.6,CSH,5.5 +CMT,1,2,584,2.1,CSH,10.0 +CMT,1,1,379,1.4,CSH,7.0 +CMT,1,1,858,2.3,CRD,11.5 +CMT,1,1,147,0.3,CSH,3.5 +CMT,1,1,1535,3.6,CRD,18.5 +CMT,1,1,455,1.6,CSH,8.0 +CMT,1,1,736,2.5,CSH,11.0 +CMT,1,2,259,0.7,CRD,5.0 +CMT,1,1,552,1.7,CSH,9.0 +CMT,1,3,406,1.5,CSH,8.0 +CMT,1,1,725,3.0,CRD,11.5 +CMT,1,1,426,1.7,CSH,8.0 +CMT,1,1,298,1.6,CRD,7.0 +CMT,1,1,900,1.8,CSH,10.5 +CMT,1,1,321,0.8,CSH,5.5 +CMT,1,1,549,0.4,CRD,7.0 +CMT,1,1,696,1.5,CSH,9.0 +CMT,1,1,1166,5.7,CRD,20.5 +CMT,1,2,390,0.8,CRD,6.0 +CMT,1,1,403,1.7,CRD,7.5 +CMT,1,1,75,0.4,CRD,3.5 +CMT,1,1,890,2.7,CRD,12.5 +CMT,1,1,1059,1.6,CRD,12.5 +CMT,1,1,247,1.6,CSH,6.5 +CMT,1,1,755,6.0,CRD,19.0 +CMT,1,1,746,1.9,CSH,10.5 +CMT,1,1,388,1.7,CRD,7.0 +CMT,1,1,522,0.9,CSH,7.0 +CMT,1,1,212,0.6,CSH,4.5 +CMT,1,2,316,0.8,CSH,5.5 +CMT,1,1,340,1.3,CSH,6.5 +CMT,1,1,452,2.5,CRD,9.5 +CMT,1,1,433,1.7,CSH,8.0 +CMT,1,2,125,0.4,CSH,3.5 +CMT,1,1,557,1.2,CSH,8.0 +CMT,1,1,1149,7.6,CRD,24.5 +CMT,1,1,396,2.0,CRD,8.0 +CMT,1,1,636,2.3,CRD,10.0 +CMT,1,3,1121,2.6,CSH,13.5 +CMT,1,1,238,1.3,CRD,6.0 +CMT,1,1,146,0.7,CSH,4.5 +CMT,1,1,1031,2.4,CRD,13.0 +CMT,1,1,471,1.8,CSH,8.5 +CMT,1,1,994,1.7,CSH,12.0 +CMT,1,1,1169,2.6,CRD,14.0 +CMT,1,1,381,1.0,CSH,6.0 +CMT,1,1,698,1.7,CRD,9.5 +CMT,1,1,1689,10.2,CRD,33.5 +CMT,1,3,589,5.0,CSH,16.0 +CMT,1,1,784,3.1,CRD,12.5 +CMT,1,3,890,4.1,CRD,15.5 +CMT,1,1,135,0.6,CSH,4.0 +CMT,1,1,133,0.3,CRD,3.5 +CMT,1,1,243,0.4,CSH,4.5 +CMT,1,1,844,2.7,CSH,12.0 +CMT,1,1,305,0.9,CRD,5.5 +CMT,1,1,1389,4.9,CRD,20.5 +CMT,1,2,508,1.6,CSH,8.5 +CMT,1,2,921,1.8,CRD,11.5 +CMT,1,1,1512,8.0,CRD,27.5 +CMT,1,1,534,0.8,CSH,7.0 +CMT,1,1,411,1.2,CSH,6.5 +CMT,1,1,727,1.7,CRD,10.0 +CMT,1,2,248,0.7,CSH,5.0 +CMT,1,3,232,1.0,CRD,5.5 +CMT,1,1,681,0.9,CSH,8.5 +CMT,1,1,210,0.8,CRD,5.0 +CMT,1,1,281,1.1,CSH,5.5 +CMT,1,1,857,2.0,CSH,11.0 +CMT,1,1,506,1.8,CSH,8.5 +CMT,1,1,249,1.2,CSH,6.0 +CMT,1,1,542,3.2,CRD,11.5 +CMT,1,1,170,0.4,CSH,4.0 +CMT,1,1,241,0.5,CSH,4.5 +CMT,1,1,258,0.5,CSH,4.5 +CMT,1,1,744,1.1,CSH,9.0 +CMT,1,1,1053,3.6,CSH,15.5 +CMT,1,2,1503,8.9,CSH,29.0 +CMT,1,2,853,2.0,CRD,11.0 +CMT,1,1,187,0.7,CSH,5.0 +CMT,1,1,465,2.8,CRD,10.0 +CMT,1,2,672,2.4,CSH,10.5 +CMT,1,1,910,1.5,CRD,11.0 +CMT,1,1,328,1.3,CSH,6.5 +CMT,1,3,1112,2.8,CRD,14.0 +CMT,1,1,728,1.5,CRD,9.5 +VTS,1,1,960,3.71,CSH,14.0 +VTS,1,3,1260,3.19,CRD,16.5 +VTS,1,2,180,0.51,CSH,4.0 +VTS,1,2,660,1.42,CSH,9.5 +VTS,1,2,420,1.23,CSH,7.0 +CMT,1,1,388,2.2,CRD,9.0 +CMT,1,1,291,0.9,CRD,6.0 +CMT,1,1,1031,1.7,CRD,12.0 +CMT,1,1,1083,3.0,CSH,14.5 +CMT,1,1,673,3.3,CSH,11.5 +VTS,1,2,360,1.03,CSH,6.5 +VTS,1,1,600,1.93,CRD,9.0 +VTS,1,2,240,1.13,CRD,5.0 +VTS,1,2,600,2.78,CRD,10.0 +VTS,1,1,1140,3.3,CSH,15.5 +VTS,1,1,900,2.21,CSH,11.5 +VTS,1,1,120,0.52,CRD,3.5 +VTS,1,1,1140,5.54,CSH,18.5 +VTS,1,2,240,0.6,CRD,4.5 +VTS,1,2,840,3.17,CSH,12.5 +VTS,1,1,420,1.37,CSH,7.0 +VTS,1,1,600,1.93,CRD,9.5 +VTS,1,1,240,1.44,CSH,6.0 +VTS,1,2,780,4.3,CSH,15.5 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,3,240,0.93,CSH,5.0 +VTS,1,4,1800,8.12,CSH,28.0 +VTS,1,1,540,1.29,CRD,7.0 +VTS,1,2,300,0.96,CRD,5.5 +VTS,1,1,600,2.14,CSH,9.0 +VTS,1,1,840,1.56,CSH,9.5 +CMT,1,1,507,1.1,CSH,7.5 +CMT,1,1,618,2.6,CSH,10.5 +CMT,1,3,482,1.3,CSH,7.5 +CMT,1,1,374,1.1,CSH,6.5 +CMT,1,1,736,5.2,CRD,17.0 +CMT,1,1,1166,4.1,CSH,17.0 +CMT,1,1,534,2.1,CRD,9.0 +CMT,1,2,1860,9.4,CSH,31.5 +CMT,1,1,1088,2.2,CRD,13.0 +CMT,1,1,1620,4.4,CSH,20.5 +CMT,1,2,356,0.8,CSH,6.0 +CMT,1,2,854,2.9,CSH,12.5 +CMT,1,1,473,2.1,CSH,8.5 +CMT,1,3,1483,2.9,CRD,16.5 +CMT,1,1,717,2.2,CSH,10.0 +CMT,1,1,1174,10.2,CSH,29.0 +CMT,1,1,96,0.9,CSH,4.5 +CMT,1,1,618,1.3,CSH,8.5 +CMT,1,1,460,1.0,CSH,7.0 +CMT,1,1,1233,7.4,CRD,24.5 +CMT,1,1,166,0.5,CRD,4.0 +CMT,1,1,364,1.5,CSH,7.0 +CMT,1,1,1444,7.9,CRD,27.0 +CMT,1,1,1254,4.0,CSH,17.0 +CMT,1,1,342,0.7,CSH,5.5 +CMT,1,1,959,1.9,CRD,11.5 +CMT,1,1,798,8.8,CRD,25.0 +CMT,1,1,329,0.9,CSH,6.0 +CMT,1,2,236,0.6,CSH,4.5 +CMT,1,1,1102,2.4,CRD,13.5 +CMT,1,1,620,2.0,CSH,9.5 +CMT,1,1,308,1.7,CRD,7.5 +CMT,1,1,594,2.2,CSH,10.0 +CMT,1,1,272,1.0,CSH,5.5 +CMT,1,1,592,1.9,CRD,9.5 +CMT,1,1,433,2.1,CRD,8.5 +CMT,1,1,403,1.2,CRD,7.0 +CMT,1,1,458,1.0,CSH,7.0 +CMT,1,1,303,0.7,CSH,5.5 +CMT,1,1,856,7.5,CSH,22.0 +CMT,1,1,1250,10.5,CRD,30.5 +CMT,1,1,398,2.9,CRD,10.0 +CMT,1,2,674,4.8,CSH,14.5 +CMT,1,1,650,2.9,CRD,11.5 +CMT,1,2,246,0.8,CSH,5.0 +CMT,1,1,777,2.7,CSH,12.0 +CMT,3,1,1795,12.7,CSH,54.0 +CMT,1,1,1228,5.1,CSH,18.5 +CMT,1,1,1222,6.5,CSH,22.0 +CMT,1,1,481,1.2,CRD,7.5 +CMT,1,1,136,0.8,CRD,4.5 +CMT,1,1,474,1.2,CSH,7.5 +CMT,1,3,1334,5.4,CSH,20.5 +CMT,1,1,474,1.5,CSH,8.0 +CMT,1,1,723,2.5,CSH,11.5 +CMT,1,1,424,1.5,CRD,7.5 +CMT,1,1,1037,3.3,CSH,14.5 +CMT,1,2,257,0.8,CSH,5.5 +CMT,1,1,407,1.7,CSH,7.5 +CMT,1,1,731,4.4,CRD,15.5 +CMT,1,1,1428,5.6,CRD,21.5 +CMT,1,1,663,2.2,CRD,10.0 +CMT,1,1,375,1.3,CSH,7.0 +CMT,1,1,184,0.7,CSH,4.5 +CMT,1,1,444,2.5,CRD,9.0 +CMT,1,2,1116,3.6,CRD,15.0 +CMT,1,2,231,0.5,CRD,4.5 +CMT,1,1,842,4.3,CRD,15.0 +CMT,1,1,230,0.6,CRD,4.5 +CMT,1,2,181,0.6,CSH,4.5 +CMT,1,4,289,0.8,CRD,5.0 +CMT,1,1,798,1.6,CRD,9.5 +CMT,1,2,106,0.5,CSH,4.0 +CMT,1,1,847,2.1,CSH,11.0 +CMT,1,2,925,1.7,CRD,11.5 +CMT,1,1,1862,11.0,CRD,36.0 +CMT,1,1,146,0.3,CSH,3.5 +CMT,1,1,921,5.8,CRD,19.0 +CMT,1,1,926,4.6,CSH,16.0 +CMT,1,1,141,0.7,CRD,4.0 +CMT,1,1,541,2.2,CRD,9.5 +CMT,1,1,429,1.6,CSH,7.5 +CMT,1,1,60,0.5,CSH,3.5 +CMT,1,3,554,1.9,CRD,9.0 +CMT,1,1,301,0.6,CSH,5.5 +CMT,1,1,700,2.6,CSH,11.0 +CMT,1,1,698,1.2,CRD,8.5 +CMT,1,1,328,1.2,CSH,6.5 +CMT,1,1,1639,4.7,CRD,21.0 +CMT,1,1,70,0.2,CSH,3.0 +CMT,1,1,428,1.3,CSH,7.0 +CMT,1,1,962,3.6,CRD,14.5 +CMT,1,2,923,2.8,CSH,13.0 +CMT,1,1,526,2.4,CSH,10.0 +CMT,1,1,275,0.7,CRD,5.0 +CMT,1,1,608,1.3,CSH,8.5 +CMT,1,1,727,1.9,CRD,10.0 +VTS,1,1,300,0.54,CRD,4.5 +VTS,1,1,660,1.53,CRD,9.0 +VTS,1,1,1200,2.78,CSH,15.0 +VTS,1,1,240,0.69,CSH,5.0 +VTS,1,2,1080,3.68,CRD,15.5 +VTS,1,1,360,1.13,CRD,6.5 +VTS,1,1,1020,8.43,CRD,25.0 +CMT,1,1,394,1.4,CSH,7.0 +CMT,1,2,896,2.1,CRD,11.5 +CMT,1,1,1346,4.6,CSH,19.5 +CMT,1,1,450,0.8,CRD,6.5 +CMT,1,1,1024,4.5,CRD,17.0 +CMT,1,1,348,1.1,CSH,6.0 +CMT,1,2,411,1.3,CSH,7.0 +CMT,1,1,1217,6.7,CSH,22.5 +CMT,1,1,128,0.5,CSH,4.0 +CMT,1,1,869,2.9,CRD,13.0 +CMT,1,2,2611,5.4,CSH,29.0 +CMT,1,1,392,1.1,CSH,6.5 +CMT,1,1,138,0.3,CSH,4.0 +CMT,1,3,1561,2.1,CSH,16.5 +CMT,1,1,1817,11.1,CSH,33.5 +CMT,1,1,577,1.7,CRD,8.5 +CMT,1,1,314,0.6,CSH,5.5 +CMT,1,2,366,1.6,CSH,7.5 +CMT,1,1,414,1.2,CRD,7.0 +CMT,1,4,838,8.1,CRD,23.5 +CMT,1,1,371,5.2,CRD,15.5 +CMT,1,1,413,1.9,CSH,8.0 +CMT,1,1,548,2.2,CRD,9.5 +CMT,1,1,713,1.6,CSH,9.5 +CMT,1,2,381,0.9,CRD,6.0 +CMT,1,1,1108,2.8,CRD,14.5 +CMT,1,1,1577,3.2,CRD,18.5 +CMT,1,1,934,2.9,CRD,13.5 +CMT,1,1,1218,7.9,CSH,24.5 +CMT,1,1,611,2.9,CRD,12.0 +CMT,1,1,338,2.1,CSH,8.0 +CMT,1,1,453,1.0,CRD,7.0 +CMT,1,1,432,1.0,CRD,7.0 +CMT,1,1,233,0.5,CRD,4.5 +CMT,1,1,640,3.0,CRD,11.0 +CMT,1,1,843,2.4,CSH,11.5 +CMT,1,3,193,1.1,CSH,5.5 +CMT,1,1,329,1.2,CRD,6.5 +CMT,1,1,726,2.0,CSH,10.0 +CMT,1,1,724,2.6,CRD,11.5 +CMT,1,1,348,0.8,CSH,6.0 +CMT,1,1,901,3.4,CRD,14.0 +CMT,1,1,364,0.7,CSH,6.0 +CMT,1,1,486,1.6,CSH,8.0 +CMT,1,1,317,0.9,CSH,6.0 +CMT,1,1,343,1.2,CSH,6.0 +CMT,1,1,554,0.9,CSH,7.5 +CMT,1,1,1048,4.3,CSH,17.0 +CMT,1,2,411,1.9,CRD,8.5 +CMT,1,1,327,1.5,CSH,7.0 +CMT,1,1,502,1.7,CSH,8.0 +CMT,1,1,377,2.3,CRD,8.5 +CMT,1,1,222,1.1,CSH,5.5 +CMT,1,2,913,1.9,CSH,11.0 +CMT,1,1,1552,10.0,CRD,29.5 +VTS,1,2,780,2.66,CRD,11.5 +VTS,1,2,540,1.76,CSH,8.0 +VTS,1,1,1440,6.12,CRD,22.0 +VTS,1,1,2100,12.59,CRD,38.0 +VTS,1,1,120,0.59,CSH,4.0 +VTS,1,1,600,1.57,CSH,8.5 +VTS,1,1,240,0.8,CSH,5.0 +VTS,1,2,120,0.64,CSH,4.0 +VTS,1,1,300,1.41,CRD,6.5 +VTS,1,1,420,1.43,CSH,7.0 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,2,480,1.71,CRD,8.5 +VTS,1,1,660,3.35,CRD,11.5 +VTS,1,2,420,1.21,CSH,6.5 +VTS,1,3,1920,11.79,CSH,36.0 +VTS,1,1,720,2.42,CSH,10.5 +VTS,1,1,600,3.41,CRD,11.5 +VTS,1,2,960,4.0,CSH,15.0 +VTS,1,1,540,1.17,CSH,7.5 +VTS,1,1,540,2.28,CSH,9.5 +VTS,1,1,180,1.47,CSH,6.0 +VTS,1,1,1200,3.22,CRD,15.0 +VTS,1,1,360,1.35,CSH,6.5 +CMT,1,1,1093,2.3,CRD,13.0 +CMT,1,2,294,0.8,CSH,5.5 +CMT,1,1,919,2.9,CRD,13.0 +VTS,1,1,720,1.91,CSH,10.0 +VTS,1,1,420,2.02,CSH,8.5 +VTS,1,1,300,0.54,CRD,5.0 +VTS,1,1,600,2.21,CRD,9.5 +VTS,1,1,1140,2.65,CRD,14.0 +VTS,1,1,240,0.73,CSH,5.0 +VTS,1,1,660,1.24,CSH,8.0 +VTS,1,2,420,1.23,CSH,6.5 +VTS,1,1,960,3.97,CRD,14.0 +VTS,1,2,240,1.28,CSH,6.0 +VTS,1,2,240,0.66,CSH,5.0 +VTS,1,2,1140,8.38,CRD,25.5 +VTS,1,2,780,3.3,CRD,13.0 +VTS,1,1,840,5.34,CRD,16.5 +VTS,1,1,900,2.34,CRD,9.5 +VTS,1,1,300,1.49,CSH,6.5 +VTS,1,1,1620,6.2,CRD,23.5 +VTS,1,2,900,3.4,CRD,13.5 +VTS,1,2,240,0.39,CSH,4.5 +VTS,1,1,540,1.2,CRD,7.0 +VTS,1,2,900,3.43,CSH,13.5 +VTS,1,2,540,1.56,CSH,8.0 +VTS,1,1,360,0.63,CSH,5.5 +CMT,1,1,391,1.3,CRD,7.0 +CMT,1,1,288,2.1,CRD,8.0 +CMT,1,1,842,5.2,CRD,17.5 +CMT,1,1,1283,9.1,CSH,28.0 +CMT,1,1,480,1.3,CRD,7.5 +CMT,1,1,652,1.3,CRD,8.5 +CMT,1,1,285,1.2,CSH,6.0 +CMT,1,1,137,0.2,CRD,3.5 +CMT,1,1,912,2.7,CSH,13.0 +CMT,1,1,517,2.7,CRD,10.0 +CMT,1,1,1363,6.4,CSH,22.5 +CMT,1,2,947,2.3,CSH,12.5 +CMT,1,1,415,1.4,CSH,7.5 +VTS,1,1,540,3.54,CRD,11.5 +VTS,1,1,420,1.9,CRD,8.5 +VTS,1,1,360,0.84,CSH,6.0 +VTS,1,1,660,2.13,CRD,10.0 +VTS,1,2,540,2.67,CSH,10.5 +VTS,1,1,360,1.96,CRD,7.5 +VTS,1,2,1260,10.63,CRD,30.5 +VTS,1,1,540,2.73,CRD,10.5 +VTS,1,3,600,2.41,CSH,9.5 +VTS,1,2,240,0.73,CSH,5.0 +VTS,1,1,420,1.55,CRD,7.0 +VTS,1,2,960,4.23,CSH,15.5 +VTS,1,2,3180,12.83,CSH,44.5 +VTS,1,1,360,0.96,CRD,6.0 +VTS,1,1,840,4.54,CRD,16.0 +VTS,1,2,300,0.99,CRD,5.5 +VTS,1,1,120,0.61,CSH,4.0 +VTS,1,1,2460,13.02,CSH,40.5 +VTS,1,2,240,1.13,CRD,5.5 +VTS,1,2,180,0.72,CRD,4.5 +VTS,1,3,720,1.98,CSH,10.0 +VTS,2,1,840,7.96,CSH,52.0 +VTS,1,3,600,2.22,CSH,9.5 +VTS,1,3,600,2.01,CRD,9.0 +VTS,1,3,660,3.22,CRD,12.5 +VTS,1,2,300,0.79,CRD,5.5 +VTS,1,1,360,1.08,CRD,6.0 +VTS,1,1,600,2.92,CRD,10.5 +VTS,1,3,540,1.82,CRD,8.0 +VTS,1,4,540,1.39,CRD,7.5 +VTS,1,2,180,0.58,CSH,4.0 +VTS,1,2,720,2.05,CRD,10.0 +VTS,1,3,240,0.77,CRD,4.5 +VTS,1,1,540,1.71,CRD,8.0 +VTS,1,1,240,0.7,CRD,4.5 +VTS,1,1,720,1.45,CRD,8.5 +VTS,1,1,1260,4.04,CRD,16.5 +VTS,1,1,900,3.16,CRD,12.5 +VTS,1,1,1200,4.65,CSH,17.5 +VTS,1,1,300,1.73,CSH,7.0 +VTS,1,3,960,2.44,CSH,12.5 +VTS,1,1,540,0.9,CSH,7.0 +VTS,1,1,240,0.74,CSH,4.5 +VTS,1,2,2040,8.49,CRD,28.5 +VTS,1,2,420,0.94,CSH,6.5 +VTS,1,4,480,1.2,CSH,7.0 +VTS,1,4,1200,4.44,CSH,17.0 +VTS,1,4,1020,1.08,CSH,11.5 +VTS,1,2,720,1.23,CRD,8.5 +VTS,1,1,720,2.09,CRD,10.0 +VTS,1,1,2160,16.14,CSH,47.0 +VTS,1,1,1140,4.77,CRD,17.0 +VTS,1,2,360,1.39,CSH,6.5 +VTS,1,1,480,2.43,CSH,9.0 +VTS,1,2,360,1.29,CSH,6.5 +VTS,1,1,420,2.37,CSH,9.0 +VTS,1,1,300,1.25,CRD,6.0 +VTS,1,1,360,0.84,CSH,6.0 +VTS,1,1,720,2.35,CSH,10.0 +VTS,1,1,360,0.67,CRD,5.5 +VTS,1,1,840,3.01,CRD,12.0 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,2,300,1.3,CRD,6.0 +VTS,1,1,780,2.94,CRD,12.0 +VTS,1,1,1140,6.58,CRD,21.0 +VTS,1,1,780,2.2,CSH,10.5 +VTS,1,2,300,0.81,CSH,5.0 +VTS,1,1,960,7.26,CSH,22.0 +VTS,1,1,960,4.22,CRD,15.5 +VTS,1,2,240,1.01,CSH,5.0 +VTS,1,2,300,0.94,CRD,6.0 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,1200,7.61,CRD,23.5 +VTS,1,2,300,1.17,CRD,5.5 +VTS,1,3,900,1.75,CRD,10.5 +VTS,1,1,180,0.46,CSH,4.0 +VTS,1,4,900,3.73,CSH,13.5 +VTS,1,2,600,1.75,CRD,9.0 +VTS,1,4,120,0.36,CRD,3.5 +VTS,1,1,300,0.67,CSH,5.5 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,720,3.54,CRD,13.0 +VTS,1,1,840,2.25,CSH,11.0 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,360,0.97,CRD,6.0 +VTS,1,1,240,0.67,CSH,4.5 +VTS,1,2,780,1.84,CSH,10.0 +VTS,1,1,360,1.12,CRD,6.0 +VTS,1,1,480,1.55,CRD,8.0 +VTS,1,1,2280,16.6,CRD,48.5 +VTS,1,2,540,2.09,CRD,9.5 +VTS,1,1,1080,5.23,CSH,18.5 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,600,1.0,CRD,8.0 +VTS,1,1,660,1.68,CSH,8.0 +VTS,1,1,1140,2.15,CSH,13.5 +VTS,1,1,420,1.32,CRD,6.5 +VTS,1,2,1560,7.57,CRD,25.5 +VTS,2,1,60,0.24,CRD,52.0 +VTS,1,1,600,0.95,CRD,7.5 +VTS,1,2,300,0.63,CSH,5.0 +VTS,1,4,540,1.69,CSH,7.5 +VTS,1,2,420,1.45,CRD,7.0 +VTS,1,2,540,1.78,CSH,9.0 +VTS,1,1,960,4.83,CSH,16.5 +VTS,1,2,540,1.09,CRD,7.0 +VTS,1,1,300,0.75,CSH,5.5 +VTS,1,1,360,1.01,CSH,5.5 +VTS,1,1,300,1.34,CSH,6.5 +VTS,1,1,540,2.39,CRD,9.5 +VTS,1,2,300,1.03,CSH,5.5 +VTS,1,1,1020,3.84,CRD,14.5 +VTS,1,1,1860,4.94,CRD,21.0 +VTS,1,2,300,1.26,CSH,6.0 +VTS,1,3,180,0.62,CSH,4.0 +VTS,1,2,1500,5.65,CRD,20.5 +VTS,1,1,0,0.04,CSH,2.5 +VTS,1,2,240,0.4,CSH,4.5 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,2,1140,3.59,CRD,15.0 +VTS,1,1,720,4.32,CRD,14.0 +VTS,1,1,840,2.33,CRD,11.5 +VTS,1,2,540,2.85,CSH,10.0 +VTS,1,1,480,2.17,CRD,9.0 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,420,1.47,CRD,7.5 +VTS,1,2,240,0.48,CSH,4.0 +VTS,1,1,180,0.43,CRD,3.5 +VTS,1,2,360,0.88,CRD,5.5 +VTS,1,1,1440,8.22,CSH,26.0 +VTS,1,2,1200,3.79,CSH,15.5 +VTS,1,2,1260,9.11,CSH,28.0 +VTS,1,1,840,3.32,CRD,12.5 +VTS,1,2,1440,9.45,CRD,29.0 +VTS,1,1,540,3.89,CRD,12.0 +VTS,1,4,600,1.08,CSH,8.0 +VTS,1,2,1080,4.06,CSH,14.5 +VTS,1,1,420,1.38,CRD,7.0 +VTS,1,1,1260,6.95,CSH,23.0 +VTS,1,1,600,2.78,CSH,10.5 +VTS,1,1,1920,13.09,CRD,38.5 +VTS,1,3,660,2.5,CRD,10.5 +CMT,1,1,261,1.4,CSH,6.0 +CMT,1,1,516,1.3,CRD,7.5 +CMT,1,1,935,2.0,CRD,11.5 +CMT,1,1,676,1.8,CSH,9.5 +CMT,1,1,357,0.6,CSH,6.0 +CMT,1,1,1282,3.4,CRD,16.0 +CMT,1,1,203,0.6,CRD,4.5 +CMT,1,1,1294,3.1,CRD,16.0 +CMT,1,1,747,1.5,CSH,9.5 +VTS,1,3,300,1.54,CSH,6.5 +VTS,1,2,480,1.81,CSH,8.0 +VTS,1,1,540,1.84,CSH,8.5 +VTS,1,1,540,2.32,CRD,10.0 +VTS,1,1,360,1.4,CSH,7.0 +VTS,1,1,1500,12.39,CSH,36.5 +VTS,1,1,420,1.5,CRD,8.0 +VTS,1,1,1200,4.82,CSH,19.5 +VTS,1,1,360,1.1,CSH,6.0 +VTS,1,1,960,1.81,CSH,11.0 +VTS,1,2,240,0.58,CSH,4.5 +VTS,1,1,660,1.82,CRD,8.5 +VTS,1,2,420,0.69,CSH,6.0 +VTS,1,1,720,2.66,CRD,11.0 +VTS,1,1,300,1.34,CRD,6.5 +VTS,1,2,1500,7.68,CRD,25.5 +VTS,1,1,420,1.25,CRD,6.5 +VTS,1,1,420,1.11,CSH,6.5 +VTS,1,1,420,1.11,CSH,6.0 +VTS,1,1,300,1.2,CSH,6.0 +VTS,1,1,780,2.12,CRD,10.0 +VTS,1,1,360,0.98,CRD,6.0 +VTS,1,1,600,1.71,CRD,8.5 +VTS,1,2,780,3.4,CSH,12.5 +VTS,1,1,240,0.56,CRD,4.0 +VTS,1,1,540,1.08,CSH,8.0 +VTS,1,1,600,1.29,CSH,7.5 +VTS,1,1,300,0.77,CRD,5.0 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,540,1.08,CSH,7.0 +VTS,1,1,1140,4.62,CSH,16.5 +VTS,1,3,720,3.85,CSH,13.5 +VTS,1,4,420,2.28,CRD,9.0 +VTS,1,2,360,1.01,CRD,5.5 +VTS,1,1,660,2.22,CRD,9.0 +VTS,1,1,780,5.61,CRD,17.5 +VTS,1,1,1020,4.23,CRD,16.5 +VTS,1,2,540,1.92,CSH,8.5 +VTS,1,4,1200,6.18,CRD,20.5 +VTS,1,3,960,5.15,CSH,16.0 +VTS,1,4,1560,5.82,CSH,20.0 +VTS,1,1,600,1.23,CSH,8.0 +VTS,1,4,1020,2.27,CRD,13.0 +CMT,1,1,1188,5.6,CRD,19.5 +CMT,1,1,158,0.8,CRD,4.5 +CMT,1,1,80,0.3,CSH,3.0 +CMT,1,1,1043,2.8,CSH,13.5 +CMT,1,1,592,1.0,CRD,8.0 +CMT,1,1,511,2.6,CRD,9.5 +CMT,1,1,1251,5.8,CSH,20.5 +CMT,1,1,1057,4.2,CRD,16.0 +CMT,1,1,434,1.2,CRD,7.0 +CMT,1,2,356,1.0,CSH,6.0 +CMT,1,2,1364,2.1,CSH,15.0 +CMT,1,1,236,1.1,CSH,6.0 +CMT,1,1,225,1.3,CRD,6.0 +CMT,1,1,232,1.0,CSH,5.5 +CMT,1,1,506,1.8,CRD,9.0 +CMT,1,3,663,1.4,CRD,9.0 +CMT,1,2,188,0.7,CSH,4.5 +CMT,1,1,345,1.2,CSH,6.5 +CMT,1,2,448,1.0,CSH,7.0 +CMT,1,1,793,4.2,CRD,15.0 +CMT,1,1,404,2.1,CRD,8.0 +CMT,1,1,515,1.8,CRD,8.5 +CMT,1,2,638,1.9,CRD,9.5 +CMT,1,1,412,1.2,CSH,6.5 +CMT,2,1,1207,0.1,NOC,52.0 +CMT,1,1,776,1.6,CRD,10.5 +VTS,1,1,720,3.26,CRD,12.5 +VTS,1,3,480,1.26,CSH,7.0 +VTS,1,2,660,1.74,CRD,9.0 +VTS,1,1,720,2.28,CSH,10.5 +VTS,1,1,300,0.72,CRD,5.0 +VTS,1,1,780,1.02,CSH,9.0 +VTS,1,2,420,1.27,CRD,6.5 +VTS,1,3,360,0.92,CRD,5.5 +VTS,1,1,720,2.79,CRD,11.5 +VTS,1,2,840,2.25,CSH,10.5 +VTS,1,1,420,2.27,CSH,8.5 +VTS,1,2,900,3.2,CSH,12.5 +VTS,1,4,480,1.95,CSH,8.5 +VTS,1,2,780,1.89,CSH,10.0 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,3,360,0.82,CSH,5.5 +VTS,1,2,480,1.25,CRD,7.0 +VTS,1,1,420,1.05,CRD,6.0 +VTS,1,1,660,2.14,CRD,10.0 +VTS,1,1,720,1.91,CRD,10.0 +VTS,1,1,1140,5.57,CRD,19.5 +VTS,1,2,660,2.37,CRD,9.5 +VTS,1,1,180,0.5,CSH,4.0 +VTS,1,1,960,3.54,CRD,13.5 +VTS,1,1,300,1.39,CRD,6.0 +VTS,1,2,600,2.76,CSH,11.0 +VTS,1,1,1080,4.07,CRD,15.0 +VTS,1,1,1080,4.78,CSH,17.0 +VTS,1,1,1080,5.03,CSH,17.0 +VTS,1,1,180,0.56,CSH,4.0 +VTS,1,1,120,0.34,CSH,3.5 +VTS,1,2,1560,5.06,CRD,20.0 +VTS,1,2,540,1.43,CSH,7.5 +VTS,1,2,960,2.42,CSH,12.0 +VTS,1,1,840,1.38,CRD,10.0 +VTS,1,2,360,1.35,CSH,6.5 +VTS,1,1,120,0.16,CSH,3.0 +VTS,1,1,180,0.65,CSH,4.0 +VTS,1,1,1440,7.23,CSH,24.0 +VTS,1,1,480,2.03,CRD,8.5 +VTS,1,2,360,0.66,CSH,5.5 +VTS,1,4,240,0.53,CSH,4.5 +VTS,1,1,840,4.61,CSH,15.0 +VTS,1,1,480,1.02,CRD,7.0 +VTS,1,1,600,1.84,CSH,9.0 +VTS,1,1,840,3.42,CRD,13.5 +VTS,1,2,780,1.81,CRD,10.0 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,2,1560,10.1,CSH,30.0 +VTS,1,2,420,1.62,CSH,7.5 +VTS,1,1,1320,5.22,CRD,20.0 +VTS,1,1,780,1.53,CSH,10.0 +CMT,1,1,1510,5.1,CRD,19.5 +CMT,1,1,2653,11.8,CRD,40.0 +VTS,1,1,180,0.56,CRD,4.0 +VTS,1,2,600,1.62,CSH,8.0 +VTS,1,1,360,1.02,CSH,6.0 +VTS,1,1,300,0.74,CRD,5.0 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,1980,11.69,CRD,35.5 +VTS,1,2,300,0.97,CSH,5.5 +VTS,1,2,540,1.19,CSH,7.5 +VTS,1,1,600,6.21,CRD,18.5 +VTS,1,1,1200,4.06,CRD,17.0 +VTS,1,2,1380,3.86,CRD,18.0 +VTS,1,1,780,3.89,CSH,14.5 +VTS,1,2,240,0.62,CRD,4.5 +VTS,1,1,540,2.8,CRD,10.5 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,1320,7.13,CRD,23.0 +VTS,1,2,1020,2.76,CRD,13.5 +VTS,1,2,420,1.63,CSH,7.5 +VTS,1,2,480,1.89,CRD,8.5 +VTS,1,1,1260,6.96,CSH,23.0 +VTS,1,2,960,2.26,CRD,12.0 +VTS,1,1,1380,6.61,CRD,22.5 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,2,1020,8.55,CSH,25.5 +VTS,1,1,180,0.94,CRD,5.0 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,2,240,0.98,CSH,5.5 +VTS,1,3,540,1.96,CSH,9.0 +VTS,1,1,480,0.88,CSH,6.5 +VTS,1,1,420,2.39,CRD,9.0 +VTS,1,2,1140,5.79,CSH,20.5 +VTS,1,2,360,1.49,CSH,7.0 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,2,420,0.79,CRD,5.5 +VTS,1,2,600,2.18,CSH,9.5 +VTS,1,1,360,1.7,CRD,7.0 +VTS,1,3,600,1.32,CRD,8.0 +VTS,1,1,1260,6.3,CSH,20.5 +VTS,1,3,1260,4.3,CSH,17.5 +VTS,1,1,480,1.26,CSH,7.0 +VTS,2,1,1200,13.93,CRD,52.0 +VTS,1,1,360,0.83,CSH,5.5 +VTS,1,1,1200,9.19,CRD,27.5 +VTS,1,3,120,0.31,CSH,3.5 +VTS,1,1,480,1.42,CSH,7.0 +VTS,1,3,720,3.31,CSH,12.0 +VTS,1,2,780,0.91,CSH,9.0 +VTS,1,1,360,1.57,CRD,7.0 +VTS,1,1,420,1.86,CSH,8.0 +VTS,1,1,60,0.3,CRD,3.0 +VTS,1,1,960,3.65,CRD,13.5 +VTS,1,1,420,1.86,CRD,8.0 +VTS,1,1,780,2.89,CRD,11.5 +VTS,1,1,300,1.02,CRD,5.0 +VTS,1,1,300,1.0,CRD,5.5 +VTS,1,2,540,1.91,CRD,9.0 +VTS,1,1,300,1.35,CRD,6.0 +VTS,1,1,360,0.91,CSH,6.0 +VTS,1,1,1020,2.92,CSH,12.5 +VTS,2,1,1440,17.16,CRD,52.0 +VTS,1,4,300,0.6,CSH,5.0 +VTS,1,1,240,0.87,CRD,5.0 +VTS,1,2,480,1.5,CRD,7.5 +VTS,1,3,420,1.03,CSH,6.0 +VTS,1,2,660,1.29,CSH,8.5 +VTS,1,1,1260,9.1,CSH,27.5 +VTS,1,1,300,0.7,CRD,5.0 +VTS,1,1,420,1.21,CRD,6.5 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,420,0.98,CSH,7.0 +VTS,1,3,960,3.33,CRD,13.5 +VTS,1,2,1140,4.18,CRD,16.0 +VTS,1,2,660,2.0,CSH,9.5 +VTS,1,4,1320,2.37,CSH,15.5 +VTS,1,2,420,1.6,CRD,7.5 +VTS,1,2,600,2.41,CRD,9.5 +VTS,1,2,780,2.16,CSH,9.5 +VTS,1,1,1020,4.56,CRD,17.0 +VTS,1,1,600,1.73,CRD,9.0 +VTS,1,2,480,0.89,CSH,6.5 +VTS,1,3,240,0.62,CSH,4.5 +VTS,1,1,480,1.26,CRD,7.0 +VTS,1,1,840,3.98,CRD,13.5 +VTS,1,3,540,2.05,CSH,8.5 +VTS,1,2,1920,3.17,CRD,19.0 +VTS,1,1,120,0.49,CSH,4.0 +VTS,1,1,1440,6.38,CRD,22.0 +VTS,1,1,540,1.04,CSH,7.5 +VTS,1,4,1080,4.05,CSH,16.5 +VTS,1,2,300,0.91,CRD,5.5 +VTS,1,1,360,0.7,CRD,5.5 +VTS,1,4,840,2.15,CSH,11.5 +VTS,1,2,360,1.07,CRD,6.0 +VTS,1,3,420,1.57,CSH,7.5 +VTS,1,4,1200,2.27,CSH,13.0 +VTS,1,1,480,0.9,CRD,6.5 +VTS,1,1,660,2.74,CRD,10.5 +VTS,1,4,300,0.86,CSH,5.5 +VTS,1,1,420,1.19,CRD,6.5 +VTS,1,2,1080,4.57,CSH,16.0 +VTS,1,1,1500,9.64,CRD,29.5 +VTS,1,1,300,1.01,CSH,6.0 +VTS,1,3,1320,5.74,CSH,21.0 +VTS,1,2,300,1.04,CRD,5.5 +VTS,1,3,900,3.73,CRD,14.0 +VTS,1,1,660,3.74,CSH,12.5 +VTS,1,1,960,6.64,CSH,21.0 +VTS,1,2,180,1.22,CSH,5.5 +VTS,1,2,660,1.43,CSH,8.5 +VTS,1,2,180,0.35,CSH,4.0 +VTS,1,3,540,1.64,CSH,8.0 +VTS,1,2,540,2.51,CSH,9.5 +VTS,1,1,420,1.34,CRD,6.5 +VTS,1,1,480,0.82,CSH,6.5 +VTS,1,2,1500,4.07,CRD,19.0 +VTS,1,1,840,3.41,CRD,13.0 +VTS,1,1,960,2.52,CRD,12.0 +VTS,1,2,1500,4.71,CSH,19.0 +VTS,1,2,600,2.71,CSH,10.5 +VTS,1,1,720,2.63,CRD,11.0 +VTS,1,2,960,6.65,CRD,21.0 +VTS,1,4,1500,9.91,CRD,30.5 +VTS,1,1,120,0.23,CSH,3.5 +VTS,1,2,600,2.57,CRD,10.0 +VTS,1,1,540,2.51,CSH,9.5 +VTS,1,2,840,1.16,CRD,9.5 +VTS,1,1,780,4.35,CRD,14.0 +VTS,1,1,300,1.15,CRD,6.0 +VTS,1,1,300,0.72,CSH,5.0 +VTS,1,1,660,1.98,CRD,9.0 +VTS,1,2,660,3.52,CRD,12.0 +VTS,1,2,240,0.99,CSH,5.5 +VTS,1,2,180,0.48,CRD,4.0 +VTS,1,3,540,1.23,CSH,7.5 +VTS,1,1,780,2.28,CSH,10.5 +VTS,1,1,540,2.02,CRD,9.0 +VTS,1,1,420,2.04,CSH,8.0 +VTS,1,2,1020,2.98,CSH,13.0 +VTS,1,2,600,1.97,CRD,9.0 +VTS,1,1,480,2.47,CRD,9.0 +VTS,1,2,1020,3.49,CRD,14.5 +VTS,1,2,360,1.0,CSH,6.5 +VTS,1,1,1620,13.49,CSH,38.0 +VTS,1,2,1500,9.24,CRD,28.5 +VTS,1,3,840,2.59,CSH,12.0 +VTS,1,1,300,0.6,CRD,5.0 +VTS,1,1,960,2.22,CSH,12.0 +VTS,1,2,1500,9.71,CRD,29.0 +VTS,1,1,600,2.54,CRD,10.0 +VTS,1,2,1860,11.0,CSH,35.5 +VTS,1,2,540,1.47,CSH,8.0 +VTS,1,1,480,1.61,CRD,7.5 +VTS,1,2,240,1.01,CRD,5.5 +VTS,1,1,180,0.48,CSH,4.0 +VTS,1,2,840,3.6,CSH,13.5 +VTS,1,1,660,1.65,CRD,9.0 +VTS,1,1,720,2.27,CRD,10.5 +VTS,1,1,660,3.76,CRD,12.5 +VTS,1,2,360,1.27,CSH,6.5 +VTS,1,1,300,1.12,CRD,6.0 +VTS,1,1,1560,6.21,CSH,23.5 +VTS,1,1,420,1.4,CRD,7.0 +VTS,1,1,1680,8.01,CRD,26.0 +VTS,1,1,780,1.92,CSH,10.0 +VTS,1,1,540,1.47,CRD,8.0 +VTS,1,1,840,2.22,CSH,10.5 +VTS,1,3,1020,3.67,CSH,15.0 +VTS,1,2,2220,13.77,CRD,43.0 +VTS,1,2,180,0.49,CRD,4.0 +VTS,1,2,480,1.2,CRD,7.5 +VTS,1,2,420,1.12,CSH,6.5 +VTS,1,2,780,4.97,CRD,16.5 +VTS,1,2,240,0.96,CSH,5.5 +VTS,1,2,540,0.99,CRD,7.0 +VTS,1,2,840,3.06,CSH,12.5 +VTS,1,2,420,1.96,CSH,8.5 +VTS,1,2,420,1.59,CSH,8.0 +VTS,1,2,480,1.79,CSH,8.0 +VTS,1,2,900,4.5,CSH,16.0 +VTS,1,2,420,0.45,CRD,5.5 +VTS,1,1,1200,3.49,CSH,15.0 +VTS,1,4,480,1.12,CRD,7.0 +VTS,1,2,900,2.68,CSH,11.5 +VTS,1,1,600,1.97,CRD,9.5 +VTS,1,1,660,1.82,CRD,9.0 +VTS,1,1,600,1.3,CSH,8.0 +VTS,1,1,360,1.39,CSH,6.5 +VTS,1,1,780,2.67,CRD,11.0 +VTS,1,1,780,6.8,CRD,20.0 +VTS,1,2,540,5.46,CSH,16.5 +VTS,1,2,1020,7.59,CRD,24.0 +VTS,1,1,300,1.47,CRD,6.5 +VTS,1,1,780,2.25,CRD,11.5 +VTS,1,2,480,1.72,CSH,8.0 +VTS,1,1,360,0.97,CSH,6.0 +VTS,1,2,540,1.54,CSH,8.5 +VTS,1,1,180,0.55,CSH,4.5 +VTS,1,2,360,1.32,CSH,7.0 +VTS,1,2,240,1.14,CSH,5.5 +VTS,1,1,1800,11.26,CRD,33.0 +VTS,1,4,540,0.9,CSH,7.0 +VTS,1,2,720,2.57,CSH,11.5 +VTS,1,4,1200,6.77,CSH,23.0 +VTS,1,2,1020,2.56,CSH,12.5 +VTS,1,2,300,1.62,CRD,6.5 +VTS,1,2,660,2.47,CRD,10.5 +VTS,1,1,480,0.96,CRD,6.5 +VTS,1,2,420,2.05,CSH,9.0 +VTS,1,2,720,3.31,CRD,12.5 +VTS,1,1,720,2.72,CRD,11.0 +VTS,1,2,720,4.04,CSH,14.5 +VTS,1,2,600,1.87,CRD,9.0 +VTS,1,2,420,1.02,CSH,6.5 +VTS,1,1,780,0.74,CSH,9.0 +VTS,1,2,360,0.62,CSH,6.0 +VTS,1,1,300,0.58,CSH,5.0 +VTS,1,2,780,2.03,CSH,10.5 +VTS,1,2,1080,3.15,CSH,14.5 +VTS,1,2,1260,2.83,CRD,15.0 +VTS,1,4,300,0.9,CSH,5.5 +VTS,1,2,1860,8.65,CRD,28.5 +VTS,1,2,2640,11.96,CRD,39.5 +VTS,1,2,720,1.43,CRD,9.5 +VTS,1,1,720,1.76,CRD,9.5 +VTS,1,1,420,0.85,CRD,6.0 +VTS,1,2,660,2.01,CSH,9.5 +VTS,1,2,1080,7.16,CRD,22.0 +VTS,1,2,1560,10.75,CRD,32.0 +VTS,1,1,600,2.64,CRD,10.5 +VTS,1,2,660,0.85,CSH,7.5 +VTS,1,2,420,1.48,CRD,7.5 +VTS,1,2,180,0.96,CSH,5.0 +VTS,1,1,300,0.58,CRD,5.0 +VTS,1,1,180,1.49,CSH,6.0 +VTS,1,1,300,0.99,CSH,6.0 +VTS,1,1,720,0.53,CSH,8.5 +VTS,1,1,600,2.12,CSH,8.5 +VTS,1,2,2520,10.46,CRD,36.0 +VTS,1,1,660,1.07,CSH,8.0 +VTS,1,3,480,1.16,CSH,6.5 +VTS,1,2,180,0.6,CRD,4.0 +VTS,1,2,420,0.89,CSH,6.0 +VTS,1,1,540,2.18,CRD,9.5 +VTS,1,1,660,2.14,CRD,10.5 +VTS,1,2,1080,5.53,CSH,18.5 +VTS,1,1,600,1.54,CRD,8.0 +VTS,1,1,1560,10.83,CRD,32.0 +VTS,1,1,540,3.47,CSH,12.0 +VTS,1,3,780,1.03,CRD,9.5 +VTS,1,1,180,0.35,CSH,4.0 +VTS,1,1,1200,5.85,CRD,20.5 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,1,540,1.41,CRD,7.5 +VTS,1,1,660,2.4,CRD,9.5 +VTS,1,2,540,1.3,CRD,7.5 +VTS,1,1,840,2.29,CRD,11.0 +VTS,1,2,900,4.86,CSH,17.0 +VTS,1,2,1020,6.85,CSH,21.0 +VTS,1,2,600,1.45,CSH,8.0 +VTS,1,2,1200,3.91,CSH,15.5 +VTS,1,1,720,1.92,CSH,9.0 +VTS,1,1,540,1.9,CRD,8.5 +VTS,1,2,1200,2.22,CSH,14.0 +VTS,1,1,420,1.16,CRD,6.5 +VTS,1,1,780,3.63,CSH,12.5 +VTS,1,2,540,2.59,CSH,9.5 +VTS,1,2,1140,8.68,CRD,26.0 +VTS,1,1,1080,9.38,CSH,26.0 +VTS,1,1,360,0.99,CRD,5.5 +VTS,1,2,480,0.98,CRD,7.0 +VTS,1,2,600,2.5,CRD,10.0 +VTS,1,1,420,0.94,CSH,6.0 +VTS,1,1,1260,4.75,CRD,17.5 +VTS,1,1,420,1.23,CSH,6.5 +VTS,1,2,420,1.54,CSH,7.5 +VTS,1,1,1380,2.73,CRD,16.0 +VTS,1,2,420,1.85,CSH,7.5 +VTS,1,2,600,2.69,CRD,10.5 +VTS,1,1,360,0.57,CSH,5.5 +VTS,1,1,600,3.02,CRD,11.5 +VTS,1,1,600,3.11,CSH,11.0 +VTS,1,1,480,2.12,CSH,9.0 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,1080,8.56,CRD,25.0 +VTS,1,1,0,0.06,CSH,2.5 +VTS,1,1,540,1.93,CSH,8.5 +VTS,1,1,420,1.65,CRD,7.0 +VTS,1,1,480,0.65,CSH,6.5 +VTS,1,1,1080,3.27,CRD,14.0 +VTS,1,1,120,0.32,CSH,3.0 +VTS,1,1,1020,4.64,CRD,17.0 +VTS,1,2,480,1.16,CRD,7.0 +VTS,1,1,480,1.6,CSH,7.5 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,2,420,1.22,CRD,7.0 +VTS,1,2,600,1.74,CRD,8.5 +VTS,1,1,720,5.06,CRD,16.5 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,720,2.15,CRD,10.0 +VTS,1,1,1200,3.12,CRD,14.5 +VTS,2,1,2340,19.86,CRD,52.0 +VTS,1,1,840,6.14,CSH,19.5 +VTS,1,2,1020,5.58,CSH,19.0 +VTS,1,2,540,1.94,CSH,9.0 +VTS,1,2,420,1.08,CSH,7.0 +VTS,1,2,1080,11.41,CRD,31.5 +VTS,1,2,240,0.68,CRD,5.0 +VTS,1,2,600,0.98,CRD,8.0 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,2,540,1.85,CRD,8.5 +VTS,1,1,180,0.46,CRD,4.0 +VTS,1,1,540,3.36,CRD,11.5 +VTS,1,1,240,0.95,CRD,5.0 +VTS,1,1,360,1.51,CSH,7.0 +VTS,1,1,960,4.52,CRD,16.0 +VTS,1,2,900,2.62,CRD,11.5 +VTS,1,1,420,0.95,CRD,6.0 +VTS,1,1,240,0.37,CSH,4.5 +VTS,1,2,60,0.26,CSH,3.0 +VTS,1,2,540,2.18,CSH,9.5 +VTS,1,2,600,1.98,CRD,9.5 +VTS,1,2,540,1.42,CSH,8.0 +VTS,1,2,360,1.05,CRD,6.0 +VTS,1,3,540,1.67,CSH,9.0 +VTS,1,2,420,1.78,CSH,8.0 +VTS,1,4,240,1.17,CSH,6.0 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,420,0.91,CSH,6.5 +VTS,4,1,180,0.56,CRD,4.5 +VTS,1,2,600,0.79,CSH,7.0 +VTS,1,2,660,1.83,CSH,9.0 +VTS,1,1,720,2.7,CRD,12.0 +VTS,1,2,1260,8.63,CRD,26.5 +VTS,1,2,1500,3.95,CRD,19.0 +VTS,1,2,840,1.5,CRD,10.5 +VTS,1,1,780,3.67,CRD,13.5 +VTS,1,2,300,2.16,CSH,8.0 +VTS,1,2,420,2.0,CSH,8.0 +VTS,1,1,180,1.08,CSH,5.0 +VTS,1,2,720,2.16,CRD,10.5 +VTS,1,2,1620,12.57,CRD,36.0 +VTS,1,1,1920,11.16,CRD,35.0 +VTS,1,2,960,4.11,CRD,16.0 +VTS,1,2,360,1.45,CSH,7.5 +VTS,1,2,720,2.16,CRD,10.0 +VTS,1,2,1920,7.27,CRD,24.5 +VTS,1,2,600,1.49,CRD,9.0 +VTS,1,2,240,0.96,CSH,5.0 +VTS,1,2,300,1.54,CSH,6.5 +VTS,1,2,180,0.9,CSH,5.0 +VTS,1,4,420,1.35,CSH,7.0 +VTS,1,2,540,1.43,CRD,8.0 +VTS,1,2,540,1.13,CRD,7.5 +VTS,1,2,1740,11.53,CRD,35.0 +VTS,1,1,1140,10.6,CRD,29.5 +VTS,1,2,180,0.78,CSH,4.5 +VTS,1,2,600,2.25,CRD,10.0 +VTS,3,2,3360,16.11,CSH,72.0 +VTS,1,1,540,1.44,CRD,7.5 +VTS,1,2,1200,3.16,CSH,15.5 +VTS,1,4,1020,3.05,CSH,13.5 +VTS,1,2,1440,4.24,CRD,19.0 +VTS,1,2,840,2.56,CSH,11.5 +VTS,1,1,960,1.98,CSH,11.5 +VTS,1,1,1140,9.27,CRD,27.0 +VTS,1,2,1140,3.71,CRD,14.5 +VTS,1,4,600,0.87,CSH,7.5 +VTS,1,2,720,2.3,CSH,10.0 +VTS,1,2,1380,7.02,CSH,22.5 +VTS,1,2,240,0.56,CSH,4.0 +VTS,1,3,300,0.87,CSH,5.5 +VTS,1,1,540,1.94,CSH,8.5 +VTS,1,4,480,1.91,CSH,8.0 +VTS,1,1,1740,5.7,CSH,22.5 +VTS,1,2,300,0.97,CRD,5.5 +VTS,1,1,660,3.31,CRD,11.5 +VTS,1,1,60,0.25,CSH,3.0 +VTS,1,1,1080,3.52,CSH,15.0 +VTS,1,2,1620,2.58,CRD,16.5 +VTS,1,1,1620,10.14,CRD,31.5 +VTS,1,2,300,1.21,CRD,6.0 +VTS,1,1,780,2.48,CRD,11.0 +VTS,1,2,840,1.59,CRD,10.0 +VTS,1,1,960,4.33,CSH,15.0 +VTS,1,1,180,0.53,CSH,4.5 +VTS,1,1,900,2.62,CRD,12.0 +VTS,1,1,600,2.19,CSH,9.0 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,1,2700,22.39,CRD,62.0 +VTS,1,1,360,1.24,CSH,6.0 +VTS,1,3,540,2.14,CSH,9.5 +VTS,1,2,1380,10.44,CSH,31.0 +VTS,1,2,1080,4.42,CSH,17.0 +VTS,1,2,240,0.5,CSH,4.5 +VTS,1,2,1440,6.76,CRD,24.5 +VTS,4,2,960,2.87,CRD,13.5 +VTS,3,1,1260,13.11,CRD,53.5 +VTS,1,3,1440,13.71,CSH,38.0 +VTS,1,2,1080,5.18,CSH,18.5 +VTS,1,2,240,0.49,CSH,4.5 +VTS,1,2,1200,4.89,CRD,19.0 +VTS,1,2,720,1.93,CRD,10.5 +VTS,1,2,780,4.08,CRD,14.5 +VTS,1,4,2340,6.42,CRD,29.5 +VTS,1,2,360,1.41,CRD,7.0 +VTS,1,4,1380,6.47,CSH,23.0 +VTS,1,1,600,1.46,CRD,8.0 +VTS,1,1,1020,2.93,CRD,13.5 +VTS,1,1,480,1.2,CRD,7.5 +VTS,1,2,720,1.96,CRD,10.0 +VTS,1,2,900,1.45,CRD,10.0 +VTS,1,2,780,2.48,CSH,11.5 +VTS,1,1,960,3.09,CRD,13.0 +VTS,1,2,480,1.04,CSH,7.0 +VTS,1,2,840,4.88,CRD,16.0 +VTS,1,3,780,2.84,CRD,11.5 +VTS,1,2,360,1.72,CSH,7.5 +VTS,1,4,480,1.48,CRD,7.5 +VTS,1,1,1320,8.13,CRD,25.0 +VTS,1,3,780,2.84,CRD,11.0 +VTS,1,1,660,3.65,CRD,13.0 +VTS,1,1,180,0.36,CSH,3.5 +VTS,1,1,780,3.13,CRD,11.5 +VTS,1,1,540,1.54,CRD,8.0 +VTS,1,1,420,1.37,CRD,7.0 +VTS,1,1,240,0.72,CRD,5.0 +VTS,1,1,120,0.3,CSH,3.5 +VTS,1,2,480,1.92,CSH,8.5 +VTS,1,2,780,1.55,CRD,9.5 +VTS,1,1,420,1.39,CRD,7.0 +VTS,1,1,480,1.15,CSH,7.0 +VTS,1,1,1080,9.45,CRD,26.5 +VTS,1,1,600,1.66,CSH,8.5 +VTS,1,2,240,0.74,CRD,5.0 +VTS,1,1,600,2.39,CRD,10.0 +VTS,1,1,1260,5.08,CRD,18.5 +VTS,1,1,1380,11.03,CRD,31.0 +VTS,1,1,360,0.89,CSH,6.0 +VTS,1,2,600,1.78,CRD,9.0 +VTS,1,1,780,4.06,CRD,13.5 +VTS,1,1,600,1.81,CRD,9.5 +VTS,1,2,240,1.47,CRD,6.0 +VTS,1,2,360,0.97,CSH,6.0 +VTS,1,2,300,0.72,CSH,5.5 +VTS,1,2,480,2.05,CSH,8.5 +VTS,1,2,1140,9.92,CSH,29.0 +VTS,1,4,180,0.69,CRD,4.5 +VTS,1,2,720,1.35,CSH,9.0 +VTS,1,2,840,1.58,CSH,10.0 +VTS,1,2,720,3.69,CRD,13.5 +VTS,1,2,3060,11.01,CSH,42.0 +VTS,1,1,540,1.36,CRD,7.5 +VTS,1,1,420,0.54,CRD,5.5 +VTS,1,2,960,5.87,CRD,19.0 +VTS,1,4,300,1.53,CSH,7.0 +VTS,1,2,660,2.04,CSH,10.0 +VTS,1,2,840,2.37,CSH,11.5 +VTS,1,1,540,1.55,CSH,8.5 +VTS,1,2,960,10.28,CRD,28.5 +VTS,1,2,240,0.79,CSH,5.0 +VTS,1,2,900,1.45,CRD,10.5 +VTS,1,1,840,2.41,CSH,11.0 +VTS,1,2,600,1.5,CRD,8.0 +VTS,1,1,420,3.02,CRD,11.0 +VTS,1,2,1080,3.13,CSH,15.0 +VTS,1,2,1800,5.31,CRD,23.5 +VTS,1,2,420,1.67,CSH,7.0 +VTS,1,2,360,1.01,CSH,6.0 +VTS,1,2,1320,5.66,CSH,21.5 +VTS,1,2,240,1.18,CSH,5.5 +VTS,1,2,540,0.83,CRD,7.0 +VTS,1,1,120,0.51,CSH,4.0 +VTS,1,2,780,1.36,CSH,10.0 +VTS,1,2,360,0.86,CSH,5.5 +VTS,1,2,1020,8.48,CRD,24.5 +VTS,1,2,420,1.19,CRD,6.5 +VTS,1,1,780,1.77,CRD,10.5 +VTS,1,2,1200,3.88,CSH,15.5 +VTS,1,2,840,2.1,CRD,10.5 +VTS,1,2,300,0.72,CRD,5.0 +VTS,1,2,480,2.07,CRD,8.5 +VTS,1,2,540,1.26,CRD,8.0 +VTS,1,2,360,1.47,CSH,7.0 +VTS,1,2,240,0.89,CRD,5.5 +VTS,1,2,420,1.28,CSH,7.0 +VTS,1,2,840,1.95,CRD,11.0 +VTS,1,2,660,3.43,CRD,12.0 +VTS,1,2,180,0.58,CRD,4.5 +VTS,1,2,1560,8.98,CRD,29.0 +VTS,1,2,480,1.5,CRD,7.5 +VTS,1,2,720,0.98,CSH,8.5 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,2100,13.12,CSH,40.0 +VTS,1,2,420,0.72,CSH,6.0 +VTS,1,2,600,1.09,CSH,8.0 +VTS,1,2,660,1.8,CSH,9.0 +VTS,1,2,720,2.45,CSH,10.0 +VTS,1,2,240,1.13,CSH,5.5 +VTS,1,2,720,1.94,CRD,10.0 +VTS,1,2,960,4.57,CRD,16.5 +VTS,1,2,540,1.93,CSH,8.5 +VTS,1,2,300,1.12,CRD,5.5 +VTS,1,2,480,1.84,CRD,8.5 +VTS,1,2,1920,6.36,CRD,25.0 +VTS,1,2,240,1.5,CRD,6.0 +VTS,1,2,780,2.96,CRD,12.5 +VTS,1,4,780,2.85,CSH,11.5 +VTS,1,2,780,4.01,CSH,14.5 +VTS,1,2,2160,12.31,CRD,36.0 +VTS,1,3,1200,3.98,CRD,16.0 +VTS,1,2,540,1.9,CSH,8.0 +VTS,1,2,240,0.65,CRD,5.0 +VTS,1,2,1020,1.67,CSH,11.5 +VTS,1,2,360,0.96,CSH,6.0 +VTS,1,2,960,2.65,CSH,13.0 +VTS,1,1,540,1.44,CRD,8.0 +VTS,1,2,960,2.98,CRD,13.0 +VTS,1,2,840,2.19,CRD,11.0 +VTS,1,2,1020,5.92,CRD,19.5 +VTS,1,2,420,1.92,CRD,8.0 +VTS,1,2,180,0.65,CSH,4.5 +VTS,4,2,180,0.63,CSH,4.5 +VTS,1,2,1020,2.91,CRD,13.5 +VTS,1,2,360,1.09,CSH,6.0 +VTS,1,2,1200,2.26,CSH,14.0 +VTS,1,1,1440,3.8,CSH,18.0 +VTS,1,4,720,0.96,CSH,8.5 +VTS,1,4,1080,2.87,CRD,13.5 +VTS,1,2,120,0.78,CSH,4.5 +VTS,1,2,720,1.17,CRD,9.0 +VTS,1,2,540,1.82,CSH,8.0 +VTS,1,1,1020,8.76,CRD,26.0 +VTS,1,2,180,0.53,CSH,4.0 +VTS,1,1,360,1.09,CRD,6.5 +VTS,1,2,780,3.78,CRD,13.5 +VTS,1,2,300,0.84,CRD,5.5 +VTS,1,1,360,1.51,CSH,7.0 +VTS,1,2,180,0.66,CSH,4.5 +VTS,1,2,120,0.62,CRD,4.0 +VTS,1,2,1140,6.86,CRD,22.5 +VTS,1,2,420,1.83,CSH,8.0 +VTS,1,2,240,0.54,CSH,4.5 +VTS,1,2,480,0.76,CSH,7.0 +VTS,1,1,240,0.6,CRD,5.0 +VTS,1,2,600,2.65,CSH,11.0 +VTS,1,2,1680,8.65,CSH,28.5 +VTS,1,2,1080,2.64,CSH,14.0 +VTS,1,2,180,0.61,CRD,4.5 +VTS,1,2,180,0.64,CRD,4.5 +VTS,1,1,540,3.72,CSH,12.5 +VTS,1,2,1080,6.18,CSH,20.5 +VTS,1,2,180,0.9,CRD,5.0 +VTS,1,2,420,1.18,CRD,6.5 +VTS,1,2,1200,3.88,CRD,16.5 +VTS,1,2,120,0.4,CRD,3.5 +VTS,1,2,1020,6.89,CRD,22.0 +VTS,1,2,1620,9.87,CSH,31.5 +VTS,1,1,540,1.29,CSH,7.5 +VTS,1,1,600,2.04,CRD,9.0 +VTS,1,2,540,0.89,CRD,7.5 +VTS,1,2,300,1.25,CRD,6.5 +VTS,1,2,840,1.49,CRD,10.0 +VTS,1,2,540,1.65,CSH,8.5 +VTS,1,2,840,3.27,CSH,14.0 +VTS,1,2,300,0.57,CSH,5.0 +VTS,1,1,300,1.17,CSH,6.0 +VTS,1,2,540,3.26,CRD,11.5 +VTS,1,1,960,3.79,CSH,15.5 +VTS,1,2,1260,2.71,CSH,15.0 +VTS,1,2,960,5.65,CRD,18.5 +VTS,1,2,900,2.47,CRD,11.5 +VTS,1,3,1500,4.82,CRD,20.0 +VTS,1,2,660,1.89,CSH,9.5 +VTS,1,2,720,1.76,CRD,9.5 +VTS,1,2,840,2.24,CSH,11.5 +VTS,1,1,540,1.89,CRD,9.0 +VTS,1,1,420,0.83,CSH,6.0 +VTS,1,2,840,0.94,CRD,9.5 +VTS,1,2,600,1.58,CSH,8.5 +VTS,1,2,240,0.58,CRD,4.5 +VTS,1,2,1020,4.69,CRD,16.0 +VTS,1,2,480,0.92,CRD,6.5 +VTS,1,2,300,1.14,CSH,6.0 +VTS,1,2,1740,3.63,CRD,19.5 +VTS,1,2,360,1.3,CRD,6.5 +VTS,1,2,2400,10.54,CRD,36.0 +VTS,1,2,420,1.82,CRD,7.5 +VTS,1,1,360,0.77,CSH,5.0 +VTS,1,2,360,1.09,CRD,6.0 +VTS,1,1,420,1.17,CRD,7.0 +VTS,1,2,1680,5.58,CSH,23.0 +VTS,1,2,840,1.84,CSH,11.0 +VTS,1,2,840,1.35,CRD,10.0 +VTS,1,2,1140,4.26,CSH,16.5 +VTS,1,2,900,2.06,CRD,11.0 +VTS,1,2,660,2.52,CRD,10.0 +VTS,1,1,660,2.96,CRD,11.0 +VTS,1,1,360,1.48,CRD,7.0 +VTS,1,4,360,0.96,CSH,6.5 +VTS,1,3,1800,8.19,CSH,28.0 +VTS,1,1,720,1.55,CRD,9.5 +VTS,1,1,660,1.81,CRD,9.0 +VTS,1,1,3420,12.13,CRD,45.5 +VTS,1,2,180,0.42,CSH,4.0 +VTS,1,1,1140,7.67,CRD,23.0 +VTS,1,2,3000,12.5,CRD,40.0 +VTS,1,2,420,1.16,CSH,6.5 +VTS,1,2,1500,2.03,CRD,14.0 +VTS,1,3,540,0.83,CRD,7.0 +VTS,1,2,900,1.89,CRD,11.0 +VTS,1,2,1200,3.16,CSH,15.0 +VTS,1,2,660,2.27,CRD,10.0 +VTS,1,1,600,2.4,CSH,10.0 +VTS,1,2,1380,3.94,CSH,17.0 +VTS,1,1,780,5.91,CRD,18.5 +VTS,1,2,360,1.25,CRD,6.5 +VTS,1,2,600,1.28,CSH,8.5 +VTS,1,1,1020,3.17,CRD,13.5 +VTS,1,2,720,1.24,CSH,9.0 +VTS,1,1,840,1.74,CSH,10.0 +VTS,1,2,300,0.69,CRD,5.0 +VTS,1,2,900,3.13,CRD,13.5 +VTS,1,1,1320,5.12,CRD,18.5 +VTS,1,1,600,0.8,CRD,7.5 +VTS,1,2,1500,9.04,CRD,29.5 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,2,300,0.87,CRD,5.5 +VTS,1,2,240,0.6,CRD,4.5 +VTS,1,2,1440,13.87,CRD,39.0 +VTS,1,2,600,1.41,CSH,8.5 +VTS,1,2,1200,3.17,CRD,15.0 +VTS,1,2,480,1.78,CSH,8.5 +VTS,1,2,1380,3.84,CRD,16.5 +VTS,1,2,180,0.57,CSH,4.5 +VTS,1,1,420,1.14,CSH,6.5 +VTS,1,2,480,1.65,CSH,8.0 +VTS,1,1,360,1.0,CRD,5.5 +VTS,1,2,1860,11.04,CSH,34.0 +VTS,1,2,1020,4.75,CSH,17.0 +VTS,1,2,360,1.13,CRD,6.0 +VTS,1,2,300,0.6,CRD,5.0 +VTS,1,4,840,2.38,CSH,12.0 +VTS,1,2,600,1.29,CRD,8.0 +VTS,1,1,300,0.43,CSH,4.5 +VTS,1,2,840,2.86,CSH,12.5 +VTS,1,1,540,1.2,CRD,7.5 +VTS,1,2,300,1.5,CSH,7.0 +VTS,1,2,780,3.32,CSH,12.5 +VTS,1,1,360,0.77,CRD,5.5 +VTS,1,2,540,1.39,CRD,8.0 +VTS,1,2,300,0.76,CSH,5.0 +VTS,1,1,300,1.1,CRD,6.0 +VTS,1,2,1320,10.5,CRD,30.5 +VTS,1,1,660,0.97,CSH,8.0 +VTS,1,2,1140,4.57,CSH,17.0 +VTS,1,2,420,0.67,CRD,6.0 +VTS,1,2,900,3.13,CRD,14.0 +VTS,1,1,480,1.03,CRD,7.0 +VTS,1,2,660,2.29,CSH,10.5 +VTS,1,2,1800,5.47,CRD,24.5 +VTS,1,2,360,0.82,CRD,5.5 +VTS,1,2,600,2.42,CRD,10.0 +VTS,1,2,1440,8.17,CRD,27.5 +VTS,1,2,360,0.85,CSH,6.0 +VTS,1,2,300,0.85,CRD,5.0 +VTS,1,4,120,0.44,CSH,3.5 +VTS,1,2,420,1.22,CSH,6.5 +VTS,1,2,600,2.39,CSH,11.0 +VTS,1,2,360,0.87,CSH,6.0 +VTS,1,2,540,1.2,CRD,7.5 +VTS,1,1,600,0.84,CSH,7.5 +VTS,1,1,420,0.93,CRD,6.5 +VTS,1,5,840,6.55,CSH,20.0 +VTS,1,2,480,1.93,CSH,8.5 +VTS,1,5,600,1.23,CSH,8.0 +VTS,1,2,960,1.4,CRD,11.5 +VTS,1,1,360,0.92,CRD,6.0 +VTS,1,2,420,1.49,CRD,7.5 +VTS,1,2,720,1.21,CSH,8.5 +VTS,1,5,1080,6.75,CRD,22.0 +VTS,1,5,720,1.57,CSH,9.0 +VTS,1,3,600,2.04,CSH,9.5 +VTS,1,2,660,3.45,CRD,12.5 +VTS,1,3,1020,3.73,CSH,15.0 +VTS,1,2,120,0.8,CSH,4.5 +VTS,1,2,540,1.85,CRD,8.5 +VTS,1,1,420,1.06,CRD,6.5 +VTS,1,4,960,3.69,CSH,15.0 +VTS,1,2,780,2.24,CSH,11.5 +VTS,1,1,600,1.34,CRD,8.5 +VTS,1,1,480,0.43,CSH,6.0 +VTS,1,1,780,1.26,CRD,9.0 +VTS,1,2,480,1.55,CSH,8.0 +VTS,1,2,900,3.8,CRD,14.5 +VTS,1,2,120,0.63,CRD,4.0 +VTS,1,2,1680,11.58,CRD,34.0 +VTS,1,2,600,1.48,CRD,9.0 +VTS,1,2,120,0.4,CSH,3.5 +VTS,1,3,1200,3.16,CSH,15.0 +VTS,1,2,420,1.12,CRD,6.5 +VTS,1,1,420,1.07,CRD,6.0 +VTS,1,2,360,1.19,CSH,6.5 +VTS,1,2,960,1.93,CRD,11.5 +VTS,1,2,1020,4.46,CSH,16.0 +VTS,1,2,540,2.62,CSH,10.0 +VTS,1,2,480,1.71,CSH,8.5 +VTS,1,1,840,1.52,CRD,10.0 +VTS,1,2,420,1.25,CSH,7.0 +VTS,1,1,480,1.07,CRD,7.5 +VTS,1,2,420,1.51,CSH,7.5 +VTS,1,2,420,1.28,CSH,7.0 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,2,180,0.83,CSH,4.5 +VTS,1,1,240,0.66,CRD,5.0 +VTS,1,2,360,1.0,CRD,6.0 +VTS,1,1,300,1.18,CRD,5.5 +VTS,1,4,2400,11.57,CRD,40.0 +VTS,1,2,240,1.85,CRD,7.0 +VTS,1,2,360,0.82,CSH,6.0 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,2,720,1.88,CSH,10.5 +VTS,1,1,600,1.76,CRD,9.0 +VTS,1,2,360,0.93,CSH,6.5 +VTS,1,2,1440,1.86,CRD,14.5 +VTS,1,2,1140,4.44,CRD,16.5 +VTS,1,2,60,0.15,CSH,2.5 +VTS,1,2,240,0.46,CSH,4.5 +VTS,1,2,540,2.57,CSH,10.5 +VTS,1,2,240,0.65,CSH,4.5 +VTS,1,2,960,2.94,CRD,14.0 +VTS,1,2,360,0.78,CRD,5.5 +VTS,1,2,1140,3.23,CRD,14.5 +VTS,1,2,480,1.55,CRD,8.0 +VTS,1,2,1020,1.75,CSH,12.0 +VTS,1,2,660,1.8,CSH,10.0 +VTS,1,5,540,1.06,CSH,7.0 +VTS,1,2,1200,3.58,CSH,16.0 +VTS,1,2,360,1.99,CSH,8.0 +VTS,1,2,360,0.97,CRD,6.0 +VTS,1,2,480,1.29,CRD,7.0 +VTS,1,4,1380,4.68,CSH,19.0 +VTS,1,2,300,1.1,CRD,5.5 +VTS,1,2,600,1.22,CRD,8.0 +VTS,1,2,480,1.84,CSH,8.5 +VTS,1,2,480,1.25,CRD,7.0 +VTS,1,1,1080,10.93,CRD,30.0 +VTS,1,2,600,1.43,CSH,8.0 +VTS,1,2,1080,1.89,CSH,12.0 +VTS,1,2,960,3.06,CSH,14.0 +VTS,1,2,420,1.55,CRD,7.5 +VTS,1,2,960,3.48,CRD,13.5 +VTS,1,2,1320,5.86,CSH,20.0 +VTS,1,2,780,3.03,CSH,12.5 +VTS,1,2,180,1.27,CSH,5.5 +VTS,1,1,900,3.06,CSH,13.5 +VTS,1,2,240,1.38,CSH,6.0 +VTS,1,2,240,0.52,CSH,4.5 +VTS,1,2,360,1.63,CSH,7.5 +VTS,1,2,480,1.84,CSH,8.0 +VTS,1,2,480,1.24,CSH,7.5 +VTS,1,5,1560,11.63,CSH,33.5 +VTS,1,2,180,0.43,CSH,4.0 +VTS,1,1,840,2.25,CRD,11.0 +VTS,1,4,1140,5.31,CSH,18.5 +VTS,1,1,600,1.38,CSH,8.0 +VTS,1,1,540,0.58,CSH,7.0 +VTS,1,2,780,1.77,CSH,10.0 +VTS,1,3,360,1.83,CRD,7.0 +VTS,1,1,360,0.64,CSH,6.0 +VTS,1,2,840,2.9,CSH,12.0 +VTS,1,2,1080,7.1,CRD,22.5 +VTS,1,2,720,2.44,CRD,10.5 +VTS,1,2,240,0.62,CRD,4.5 +VTS,1,2,1200,10.88,CSH,31.0 +VTS,1,1,900,6.68,CRD,21.0 +VTS,4,4,360,1.02,CSH,6.0 +VTS,1,2,420,1.32,CRD,7.0 +VTS,1,2,300,0.96,CRD,5.5 +VTS,1,2,540,1.59,CSH,8.0 +VTS,1,1,660,1.7,CRD,9.0 +VTS,1,2,1260,2.92,CRD,15.0 +VTS,1,2,780,2.08,CRD,10.5 +VTS,1,2,480,1.88,CRD,8.0 +VTS,1,2,540,2.58,CRD,9.5 +VTS,1,2,540,0.87,CSH,7.0 +VTS,1,2,240,0.48,CSH,4.5 +VTS,1,2,720,2.83,CSH,11.5 +VTS,1,2,540,1.61,CRD,8.5 +VTS,1,1,120,0.62,CSH,4.0 +VTS,1,1,420,1.16,CSH,7.0 +VTS,1,2,480,1.33,CRD,7.5 +VTS,1,2,480,2.35,CSH,9.0 +VTS,1,2,480,1.17,CSH,7.0 +VTS,1,2,600,2.2,CSH,9.5 +VTS,1,2,480,0.85,CRD,7.0 +VTS,1,1,420,1.0,CRD,6.0 +VTS,1,1,240,0.8,CSH,5.0 +VTS,1,2,600,1.8,CRD,9.0 +VTS,1,2,300,1.44,CSH,6.5 +VTS,1,1,720,1.69,CSH,10.0 +VTS,1,2,480,1.03,CSH,6.5 +VTS,1,2,1260,3.34,CRD,15.5 +VTS,1,1,480,1.34,CSH,7.5 +VTS,1,2,1320,2.94,CSH,16.0 +VTS,1,2,540,1.51,CSH,8.5 +VTS,1,1,600,1.1,CSH,7.5 +VTS,1,2,420,1.18,CSH,6.5 +VTS,1,2,540,1.19,CSH,7.0 +VTS,1,2,420,0.67,CSH,6.0 +VTS,1,2,420,1.54,CRD,6.5 +VTS,1,4,660,1.3,CSH,9.0 +VTS,1,2,420,1.72,CSH,8.0 +VTS,1,3,300,0.92,CSH,5.5 +VTS,1,5,600,2.29,CSH,10.0 +VTS,1,2,360,0.79,CRD,5.0 +VTS,1,1,420,1.2,CRD,7.0 +VTS,1,4,420,1.16,CSH,7.0 +VTS,1,2,660,2.49,CSH,10.5 +VTS,1,2,420,2.28,CSH,9.0 +VTS,1,1,300,1.05,CRD,6.0 +VTS,1,2,300,0.89,CRD,5.5 +VTS,1,2,240,0.77,CSH,5.0 +VTS,1,1,360,1.21,CRD,6.5 +VTS,1,1,900,3.76,CSH,14.0 +VTS,1,2,360,1.13,CRD,6.0 +VTS,1,2,1440,4.59,CRD,19.5 +VTS,1,2,960,6.86,CSH,21.5 +VTS,1,2,840,3.08,CRD,13.0 +VTS,1,2,600,2.97,CRD,11.5 +VTS,1,2,960,1.55,CRD,11.0 +VTS,1,2,1380,2.28,CSH,15.0 +VTS,1,2,840,2.61,CSH,12.0 +VTS,1,1,1620,11.44,CRD,34.5 +VTS,4,2,300,1.66,CRD,7.0 +VTS,1,2,1560,4.77,CSH,21.0 +VTS,1,2,420,1.46,CSH,7.5 +VTS,1,2,180,0.66,CSH,4.5 +VTS,1,2,1080,1.92,CRD,12.0 +VTS,1,2,540,1.28,CSH,8.0 +VTS,1,4,300,0.65,CSH,5.0 +VTS,1,2,420,1.17,CRD,6.5 +VTS,1,2,660,2.43,CSH,10.5 +VTS,1,2,960,6.34,CRD,20.0 +VTS,1,3,1080,4.79,CRD,17.5 +VTS,1,5,720,1.72,CSH,10.0 +VTS,1,2,180,0.79,CSH,4.5 +VTS,1,2,300,0.85,CRD,5.5 +VTS,1,2,240,0.84,CSH,5.0 +VTS,1,2,180,1.02,CSH,5.0 +VTS,1,3,1020,9.05,CRD,25.5 +VTS,1,2,360,1.01,CSH,6.0 +VTS,1,2,1020,6.85,CRD,22.0 +VTS,1,2,600,1.62,CRD,9.0 +VTS,1,2,660,0.95,CRD,7.5 +VTS,1,2,660,1.4,CSH,8.5 +VTS,1,3,1020,4.34,CRD,17.0 +VTS,1,3,480,0.74,CSH,6.5 +VTS,1,2,840,2.03,CRD,11.0 +VTS,1,2,660,1.63,CSH,9.0 +VTS,1,2,960,3.33,CRD,13.5 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,2,420,1.58,CRD,8.0 +VTS,1,1,780,2.41,CRD,11.0 +VTS,1,2,660,0.8,CSH,8.0 +VTS,1,2,900,1.39,CSH,11.0 +VTS,1,2,960,1.85,CRD,11.5 +VTS,1,2,960,4.18,CSH,16.0 +VTS,1,4,480,1.47,CSH,8.0 +VTS,1,2,360,1.12,CRD,6.0 +VTS,1,2,1560,3.22,CRD,18.0 +VTS,1,2,360,0.9,CSH,6.0 +VTS,1,2,1620,3.39,CSH,17.5 +VTS,1,3,240,0.9,CSH,5.5 +VTS,1,2,960,3.26,CRD,14.0 +VTS,1,2,420,1.31,CRD,6.5 +VTS,1,2,360,0.69,CSH,6.0 +VTS,1,2,120,0.59,CSH,4.0 +VTS,1,3,240,1.16,CRD,5.5 +VTS,1,3,360,1.95,CSH,8.0 +VTS,1,1,240,1.24,CRD,5.5 +VTS,1,2,360,0.61,CRD,5.0 +VTS,1,2,420,2.13,CRD,8.5 +VTS,1,2,1680,9.57,CSH,30.0 +VTS,1,2,120,0.57,CRD,4.0 +VTS,1,2,180,0.66,CRD,4.0 +VTS,1,2,780,2.01,CRD,10.5 +VTS,1,2,1020,2.97,CRD,13.5 +VTS,1,2,120,0.67,CSH,4.0 +VTS,1,2,60,0.37,CSH,3.5 +VTS,1,2,360,1.44,CSH,6.5 +VTS,1,2,420,0.91,CSH,6.5 +VTS,1,2,480,1.77,CRD,8.5 +VTS,1,2,2220,7.29,CSH,29.5 +VTS,1,2,300,1.09,CSH,6.0 +VTS,1,2,1020,1.68,CRD,11.5 +VTS,1,2,1080,1.31,CRD,12.0 +VTS,1,2,420,1.57,CSH,7.5 +VTS,1,2,840,3.95,CRD,14.0 +VTS,1,2,1260,5.85,CRD,20.5 +VTS,1,2,600,1.61,CRD,8.5 +VTS,1,2,780,0.64,CRD,8.5 +VTS,1,2,300,0.94,CRD,5.5 +VTS,1,2,2040,7.4,CRD,27.5 +VTS,1,2,1920,11.45,CSH,35.5 +VTS,1,2,900,1.56,CSH,11.0 +VTS,1,3,480,2.66,CRD,9.5 +VTS,1,3,360,0.79,CSH,6.0 +VTS,1,5,1200,5.31,CRD,18.5 +VTS,1,2,480,1.68,CRD,8.0 +VTS,1,2,600,2.11,CRD,9.5 +VTS,1,2,300,1.55,CSH,7.0 +VTS,1,3,720,1.9,CRD,10.0 +VTS,1,2,360,0.78,CSH,5.5 +VTS,1,2,480,1.7,CRD,8.0 +VTS,1,2,480,1.66,CRD,8.0 +VTS,1,3,540,1.67,CSH,8.5 +VTS,1,2,300,0.88,CSH,5.5 +VTS,1,2,240,1.07,CSH,5.5 +VTS,1,2,540,3.35,CRD,11.5 +VTS,1,2,2220,7.72,CRD,30.0 +VTS,1,2,540,0.98,CSH,7.5 +VTS,1,2,1440,2.25,CRD,15.5 +VTS,1,2,540,1.19,CSH,7.5 +VTS,1,3,240,0.57,CRD,4.5 +VTS,1,2,600,2.03,CRD,9.0 +VTS,1,2,540,1.12,CSH,7.5 +VTS,1,2,360,0.84,CSH,6.0 +VTS,1,2,360,0.91,CSH,6.0 +VTS,1,1,420,0.9,CSH,6.5 +VTS,1,2,360,0.83,CRD,5.5 +VTS,1,2,300,0.52,CRD,5.0 +VTS,1,2,600,1.63,CRD,8.5 +VTS,1,2,120,0.69,CSH,4.5 +VTS,1,2,240,0.86,CSH,5.5 +VTS,1,2,1200,4.24,CSH,17.0 +VTS,1,2,240,0.85,CRD,5.0 +VTS,1,2,840,3.39,CRD,13.5 +VTS,1,2,360,1.25,CRD,6.5 +VTS,1,2,420,0.95,CRD,6.5 +VTS,1,2,480,1.47,CRD,7.5 +VTS,1,2,1200,4.53,CRD,18.0 +VTS,1,2,540,1.23,CRD,7.5 +VTS,1,2,900,2.24,CRD,12.0 +VTS,1,2,360,0.98,CSH,6.0 +VTS,1,2,840,2.85,CSH,12.0 +VTS,1,4,900,3.15,CSH,13.0 +VTS,1,2,240,0.29,CRD,4.0 +VTS,1,2,300,0.43,CSH,5.0 +VTS,1,2,360,1.62,CRD,7.5 +VTS,1,2,780,3.67,CRD,14.0 +VTS,1,2,540,0.78,CSH,7.0 +VTS,1,2,120,0.55,CSH,4.0 +VTS,1,2,480,1.22,CRD,7.0 +VTS,1,2,1620,4.31,CRD,19.0 +VTS,1,2,1140,5.95,CRD,20.5 +VTS,1,2,1320,2.49,CSH,15.0 +VTS,1,2,840,2.26,CRD,11.5 +VTS,1,2,1440,7.81,CRD,25.5 +VTS,1,2,1200,6.59,CSH,22.5 +VTS,1,3,600,1.77,CSH,9.0 +VTS,1,2,780,2.94,CSH,11.5 +VTS,1,2,780,1.34,CSH,9.5 +VTS,1,1,360,0.73,CSH,6.0 +VTS,1,2,1020,2.74,CRD,13.0 +VTS,1,2,720,3.1,CSH,12.0 +VTS,1,2,1260,4.07,CRD,17.0 +VTS,1,2,540,1.69,CSH,8.0 +VTS,1,2,840,3.5,CRD,13.0 +VTS,1,2,840,3.58,CSH,14.5 +VTS,1,2,540,1.15,CRD,7.5 +VTS,1,3,300,0.86,CSH,5.5 +VTS,1,2,480,1.96,CRD,8.5 +VTS,1,2,1440,9.0,CRD,28.5 +VTS,1,2,420,1.24,CSH,7.0 +VTS,1,2,840,3.47,CRD,14.0 +VTS,1,2,180,0.45,CSH,4.0 +VTS,1,2,540,1.06,CSH,7.5 +VTS,1,2,180,0.45,CSH,3.5 +VTS,1,2,360,1.06,CSH,6.0 +VTS,1,2,480,0.92,CSH,7.0 +VTS,1,2,540,1.24,CSH,7.5 +VTS,1,2,720,1.83,CSH,10.0 +VTS,1,2,360,1.35,CRD,7.0 +VTS,1,2,240,0.76,CRD,5.0 +VTS,1,2,360,1.26,CSH,6.5 +VTS,1,2,1680,9.66,CSH,31.0 +VTS,1,2,300,0.89,CSH,5.5 +VTS,1,2,180,0.98,CRD,4.5 +VTS,1,1,420,1.91,CRD,8.0 +VTS,1,2,840,3.21,CRD,13.0 +VTS,1,3,420,1.24,CSH,7.0 +VTS,1,2,1080,3.23,CRD,14.0 +VTS,1,2,480,2.09,CSH,9.0 +VTS,1,2,420,0.96,CSH,6.5 +VTS,1,2,300,1.34,CSH,6.5 +VTS,1,2,960,2.65,CRD,12.5 +VTS,1,2,660,2.24,CRD,10.5 +VTS,1,3,600,2.36,CRD,9.5 +VTS,1,2,840,1.58,CRD,10.5 +VTS,1,2,180,0.73,CRD,5.0 +VTS,1,2,180,0.92,CSH,5.0 +VTS,1,2,1380,4.85,CRD,19.0 +VTS,1,2,1740,2.34,CRD,18.5 +VTS,1,1,1620,11.32,CRD,34.0 +VTS,1,2,420,0.84,CSH,6.5 +VTS,1,2,240,0.68,CSH,5.0 +VTS,1,2,720,2.78,CRD,11.5 +VTS,1,2,660,1.34,CRD,8.5 +VTS,1,2,780,2.09,CSH,11.0 +VTS,1,2,720,1.21,CRD,9.0 +VTS,1,2,420,0.69,CRD,6.5 +VTS,1,3,240,1.01,CRD,5.5 +VTS,1,2,960,2.79,CRD,13.0 +VTS,1,2,300,1.01,CSH,6.0 +VTS,1,2,240,1.5,CSH,6.5 +VTS,1,2,780,2.01,CRD,10.5 +VTS,1,2,600,1.4,CSH,8.5 +VTS,1,4,1080,4.9,CRD,18.0 +VTS,1,4,420,1.4,CRD,7.0 +VTS,1,3,600,1.42,CRD,8.5 +VTS,1,3,420,2.23,CSH,8.5 +VTS,1,3,1260,4.64,CRD,19.0 +VTS,1,5,720,4.2,CSH,15.0 +VTS,1,5,780,4.16,CRD,15.0 +VTS,2,5,1980,21.02,CRD,52.0 +VTS,1,1,360,0.57,CRD,5.0 +VTS,1,1,300,0.44,CRD,4.5 +VTS,1,1,420,1.67,CRD,7.5 +VTS,1,1,420,1.27,CRD,7.0 +VTS,1,1,480,1.45,CRD,8.0 +VTS,1,1,480,1.25,CSH,7.0 +VTS,1,1,960,2.89,CRD,13.5 +VTS,1,1,720,2.7,CRD,11.0 +VTS,1,1,660,4.43,CRD,13.5 +VTS,1,1,660,1.71,CRD,9.0 +VTS,1,1,840,3.84,CRD,14.0 +VTS,1,1,480,1.05,CSH,7.0 +VTS,1,1,480,1.76,CSH,8.0 +VTS,1,2,1380,4.88,CRD,19.0 +VTS,1,2,780,1.89,CRD,10.5 +VTS,1,3,240,0.86,CSH,5.0 +VTS,1,4,180,0.68,CSH,4.0 +VTS,1,3,180,0.47,CSH,4.0 +VTS,1,3,540,2.88,CRD,10.5 +VTS,1,5,840,2.48,CRD,11.5 +VTS,1,1,600,1.44,CSH,7.0 +VTS,1,1,3060,6.78,CRD,34.5 +VTS,1,1,600,1.54,CRD,8.0 +VTS,1,1,420,1.6,CSH,7.5 +VTS,1,1,660,1.9,CSH,9.5 +VTS,1,1,1020,3.56,CRD,15.0 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,1,1500,6.64,CRD,24.0 +VTS,1,1,120,0.8,CRD,4.5 +VTS,1,1,960,7.79,CSH,23.5 +VTS,1,1,240,0.13,CSH,4.0 +VTS,4,1,240,0.43,CRD,4.5 +VTS,1,1,540,1.08,CRD,7.5 +VTS,1,1,600,1.61,CRD,8.5 +VTS,1,1,420,1.51,CRD,7.0 +VTS,1,1,420,1.01,CSH,6.5 +VTS,1,1,720,2.82,CSH,11.0 +VTS,1,1,660,1.65,CRD,9.5 +VTS,1,1,840,3.67,CSH,14.0 +VTS,2,2,2880,21.45,CRD,52.0 +VTS,1,5,180,0.61,CRD,4.0 +VTS,1,3,420,1.51,CRD,7.5 +VTS,1,3,300,1.47,CSH,6.0 +VTS,1,3,840,2.89,CRD,12.5 +VTS,1,4,660,2.26,CRD,10.0 +VTS,1,3,1260,12.62,CRD,35.0 +VTS,1,5,660,4.11,CSH,14.0 +VTS,1,1,180,0.44,CSH,4.0 +VTS,1,1,900,2.38,CSH,11.5 +VTS,1,1,360,1.08,CRD,6.0 +VTS,1,1,360,1.52,CSH,7.0 +VTS,1,1,540,1.71,CRD,8.0 +VTS,1,1,720,2.75,CRD,11.0 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,960,4.45,CRD,17.0 +VTS,1,1,540,1.93,CRD,8.5 +VTS,1,1,540,0.83,CSH,7.0 +VTS,1,1,540,0.92,CRD,6.5 +VTS,4,1,1620,4.55,CSH,19.0 +VTS,1,1,720,2.69,CRD,11.0 +VTS,1,1,1080,2.16,CRD,13.5 +VTS,1,1,1140,2.78,CRD,14.0 +VTS,1,1,1260,11.05,CSH,32.0 +VTS,1,1,840,2.54,CRD,11.5 +VTS,1,5,1020,9.93,CRD,28.0 +VTS,1,3,300,0.87,CRD,5.5 +VTS,1,3,900,3.24,CSH,14.5 +VTS,2,5,1980,20.88,CRD,52.0 +VTS,1,5,240,0.74,CSH,5.0 +VTS,2,1,2040,18.61,CRD,52.0 +VTS,1,1,600,1.88,CSH,8.0 +VTS,1,1,1200,3.99,CRD,16.5 +VTS,1,1,420,1.07,CRD,6.5 +VTS,1,1,660,3.34,CRD,11.5 +VTS,1,1,1440,7.17,CRD,24.0 +VTS,1,1,780,3.18,CSH,12.5 +VTS,1,2,600,1.54,CRD,8.0 +VTS,1,1,480,0.57,CRD,6.5 +VTS,1,1,1560,6.17,CRD,22.5 +VTS,4,1,720,2.79,CSH,11.0 +VTS,1,1,840,3.52,CSH,14.0 +VTS,4,1,180,0.46,CSH,4.0 +VTS,4,1,540,1.64,CRD,8.0 +VTS,1,1,360,1.4,CSH,7.0 +VTS,1,1,1200,1.43,CRD,12.5 +VTS,1,1,480,1.29,CRD,6.5 +VTS,1,1,660,1.19,CRD,8.0 +VTS,1,1,1020,1.59,CRD,11.5 +VTS,1,1,660,1.52,CRD,9.0 +VTS,1,1,600,3.39,CSH,12.0 +VTS,1,1,540,2.14,CRD,9.0 +VTS,1,2,60,0.52,CSH,3.5 +VTS,1,2,780,3.65,CRD,13.5 +VTS,1,2,900,1.91,CSH,11.5 +VTS,1,2,840,1.37,CSH,10.0 +VTS,1,2,1080,1.95,CSH,13.0 +VTS,1,2,1320,3.37,CSH,15.5 +VTS,1,2,660,2.02,CSH,10.0 +VTS,1,2,420,2.27,CSH,9.0 +VTS,4,2,660,3.49,CRD,12.5 +VTS,1,2,840,1.76,CSH,10.5 +VTS,1,2,1140,2.53,CRD,14.0 +VTS,2,2,3240,22.08,CSH,52.0 +VTS,1,1,60,0.0,CRD,2.5 +VTS,1,3,360,1.23,CSH,6.0 +VTS,1,5,1320,8.15,CSH,25.0 +VTS,1,1,1260,1.82,CSH,14.5 +VTS,1,1,3120,4.96,CSH,31.5 +VTS,1,1,1440,5.08,CRD,21.0 +VTS,1,1,2400,10.38,CRD,35.5 +VTS,1,1,1320,6.08,CRD,22.0 +VTS,1,1,1200,7.24,CRD,23.5 +VTS,1,1,1200,5.42,CSH,20.0 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,540,1.95,CSH,9.0 +VTS,1,1,120,0.33,CRD,3.5 +VTS,1,1,960,2.55,CRD,12.0 +VTS,1,3,2640,6.65,CRD,30.0 +VTS,1,2,120,0.87,CSH,4.5 +VTS,1,2,720,2.43,CSH,11.0 +VTS,1,2,660,2.57,CRD,10.5 +VTS,1,5,540,1.92,CRD,9.0 +VTS,1,2,720,2.16,CRD,10.5 +VTS,1,2,780,1.77,CRD,10.0 +VTS,1,2,1140,3.08,CRD,14.5 +VTS,1,2,1320,4.64,CSH,18.5 +VTS,1,2,420,1.76,CRD,7.5 +VTS,1,2,1500,4.23,CSH,19.0 +VTS,1,2,1260,2.57,CSH,14.5 +VTS,1,2,360,0.32,CSH,5.5 +VTS,1,2,480,1.44,CRD,7.5 +VTS,1,2,600,1.71,CRD,9.0 +VTS,1,1,300,0.56,CSH,5.0 +VTS,1,1,1140,2.89,CRD,14.0 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,2,1200,1.99,CSH,13.5 +VTS,1,2,480,0.75,CSH,6.5 +VTS,1,2,420,1.08,CRD,6.5 +VTS,1,3,120,0.37,CRD,3.5 +VTS,1,2,900,2.14,CSH,11.0 +VTS,1,2,300,0.8,CRD,5.5 +VTS,1,2,480,0.89,CRD,6.5 +VTS,1,2,1080,3.76,CRD,15.0 +VTS,1,2,300,1.05,CRD,5.5 +VTS,1,2,2400,11.47,CRD,35.0 +VTS,1,1,960,4.37,CRD,16.5 +VTS,1,2,1800,14.51,CRD,40.5 +VTS,1,2,1740,11.4,CRD,34.0 +VTS,1,2,540,1.11,CSH,7.5 +VTS,1,2,900,2.34,CRD,12.0 +VTS,1,2,840,1.47,CSH,10.0 +VTS,1,2,240,0.75,CSH,5.0 +VTS,1,2,240,1.04,CRD,5.0 +VTS,1,2,180,0.81,CSH,4.5 +VTS,1,2,660,2.5,CSH,11.0 +VTS,1,1,1200,4.55,CRD,17.5 +VTS,1,2,660,2.15,CRD,10.0 +VTS,1,2,600,1.22,CRD,8.0 +VTS,1,2,420,1.19,CRD,6.5 +VTS,1,2,180,0.53,CRD,4.0 +VTS,1,2,1440,4.87,CRD,19.0 +VTS,1,2,780,0.77,CRD,9.0 +VTS,1,2,420,1.04,CSH,6.5 +VTS,1,5,1080,1.97,CSH,13.0 +VTS,1,3,360,0.86,CRD,6.0 +VTS,1,3,840,5.45,CRD,17.5 +VTS,1,1,420,0.89,CRD,6.0 +VTS,1,1,540,1.2,CSH,8.0 +VTS,1,1,540,1.67,CSH,8.5 +VTS,1,1,660,2.36,CRD,10.5 +VTS,1,1,360,0.69,CSH,5.5 +VTS,1,1,900,3.05,CRD,12.5 +VTS,1,1,1200,3.25,CSH,15.5 +VTS,1,1,1260,7.27,CRD,22.5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,660,2.37,CSH,10.5 +VTS,1,1,1260,5.07,CRD,19.5 +VTS,1,1,960,2.44,CRD,12.0 +VTS,1,1,1260,5.76,CSH,20.5 +VTS,1,1,1020,4.34,CRD,15.5 +VTS,1,1,1680,6.82,CRD,25.5 +VTS,1,1,540,1.64,CSH,8.5 +VTS,1,1,360,1.63,CSH,7.5 +VTS,1,1,540,3.87,CRD,12.0 +VTS,1,4,1680,5.21,CRD,20.5 +VTS,1,5,540,3.46,CRD,11.5 +VTS,1,5,600,1.96,CRD,9.0 +VTS,1,1,600,2.82,CSH,10.5 +VTS,1,1,180,0.45,CSH,4.5 +VTS,1,1,300,0.99,CSH,6.0 +VTS,1,1,600,0.77,CSH,7.5 +VTS,1,1,960,2.28,CRD,11.5 +VTS,1,1,720,1.33,CRD,9.0 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,1,360,1.13,CRD,7.0 +VTS,1,2,1260,2.57,CSH,14.0 +VTS,1,1,360,0.74,CSH,5.0 +VTS,1,1,780,1.35,CRD,9.5 +VTS,1,1,420,1.79,CSH,8.0 +VTS,1,1,360,1.81,CRD,7.5 +VTS,5,1,60,0.0,CRD,25.0 +VTS,1,1,600,2.01,CRD,9.0 +VTS,1,1,420,0.76,CSH,6.0 +VTS,1,1,1020,4.41,CRD,15.5 +VTS,1,5,480,1.67,CSH,7.5 +VTS,1,1,480,1.17,CRD,7.0 +VTS,1,1,240,0.83,CRD,5.0 +VTS,1,1,900,1.28,CSH,10.0 +VTS,1,1,600,2.55,CSH,10.5 +VTS,1,1,1080,1.5,CSH,11.5 +VTS,1,1,660,1.72,CRD,9.0 +VTS,1,1,480,2.7,CSH,10.0 +VTS,1,1,300,0.64,CRD,5.0 +VTS,1,1,1500,4.22,CSH,19.5 +VTS,1,1,480,1.04,CRD,7.0 +VTS,1,1,480,1.91,CSH,8.0 +VTS,1,1,300,1.11,CSH,5.5 +VTS,1,1,660,2.03,CRD,9.5 +VTS,1,1,780,2.09,CSH,10.0 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,360,0.95,CSH,5.5 +VTS,1,2,420,1.23,CRD,6.5 +VTS,1,3,300,0.99,CSH,5.5 +VTS,1,5,960,6.98,CRD,21.5 +VTS,1,1,420,1.88,CSH,8.0 +VTS,1,1,120,0.49,CRD,3.5 +VTS,1,1,600,1.29,CSH,7.5 +VTS,1,1,240,0.74,CRD,5.0 +VTS,1,1,300,0.87,CSH,5.0 +VTS,1,1,600,2.42,CRD,9.5 +VTS,1,1,240,0.83,CRD,5.0 +VTS,1,1,360,1.37,CRD,6.5 +VTS,1,1,840,3.67,CRD,14.0 +VTS,1,1,420,0.77,CRD,6.0 +VTS,1,1,300,1.69,CSH,6.5 +VTS,1,1,900,2.54,CRD,12.0 +VTS,1,1,1560,6.45,CRD,23.5 +VTS,4,1,180,0.22,CSH,4.0 +VTS,1,1,600,1.87,CRD,8.5 +VTS,1,1,240,0.82,CRD,5.0 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,360,1.75,CRD,7.5 +VTS,1,5,360,1.13,CSH,6.0 +VTS,1,5,900,1.94,CRD,10.5 +VTS,1,4,720,3.92,CRD,13.5 +VTS,1,4,1020,4.02,CRD,15.5 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,240,1.06,CRD,5.5 +VTS,1,5,540,2.03,CRD,9.0 +VTS,1,5,1380,10.29,CRD,30.0 +VTS,1,4,180,0.61,CRD,4.0 +VTS,1,4,1080,2.3,CRD,12.5 +VTS,1,5,480,2.1,CRD,8.5 +VTS,1,4,660,2.68,CRD,10.0 +VTS,1,1,360,1.27,CSH,7.0 +VTS,1,1,480,0.7,CSH,6.5 +VTS,1,1,420,0.89,CRD,6.5 +VTS,1,1,960,6.58,CSH,20.5 +VTS,1,1,360,0.92,CRD,5.5 +VTS,1,1,240,1.08,CRD,5.5 +VTS,1,1,1380,9.39,CRD,29.0 +VTS,1,1,120,0.48,CRD,3.5 +VTS,1,1,720,1.11,CSH,8.5 +VTS,1,1,1020,5.93,CRD,18.5 +VTS,1,1,240,1.08,CSH,5.5 +VTS,1,1,180,0.92,CSH,5.0 +VTS,1,1,600,2.55,CSH,10.5 +VTS,1,1,720,1.59,CSH,9.0 +VTS,1,1,360,0.53,CSH,5.0 +VTS,1,1,420,1.43,CSH,7.0 +VTS,1,1,540,1.66,CRD,8.5 +VTS,1,1,240,0.7,CRD,5.0 +VTS,1,1,300,0.82,CRD,5.0 +VTS,1,1,1140,2.91,CSH,14.5 +VTS,1,1,240,0.53,CRD,4.0 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,360,1.17,CSH,6.0 +VTS,1,1,540,1.96,CSH,9.0 +VTS,1,1,840,3.37,CSH,13.0 +VTS,1,5,300,0.61,CSH,5.0 +VTS,1,5,600,1.86,CRD,9.0 +VTS,1,5,780,3.75,CSH,13.0 +VTS,1,5,360,1.71,CRD,7.0 +VTS,1,4,540,1.61,CRD,8.5 +VTS,1,1,900,2.76,CRD,13.0 +VTS,1,1,900,2.08,CSH,11.5 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,540,1.09,CRD,7.0 +VTS,1,1,360,1.78,CRD,7.5 +VTS,1,1,300,1.2,CRD,6.0 +VTS,1,1,540,2.35,CSH,9.0 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,300,1.13,CRD,5.5 +VTS,1,1,600,1.79,CRD,9.0 +VTS,1,1,780,2.54,CSH,11.5 +VTS,1,1,1200,2.87,CRD,15.0 +VTS,1,1,1080,1.53,CSH,12.0 +VTS,1,5,660,1.52,CRD,9.0 +VTS,1,1,420,1.13,CSH,7.0 +VTS,1,1,180,0.89,CSH,5.0 +VTS,1,1,1140,2.69,CRD,14.5 +VTS,1,1,420,0.81,CRD,6.0 +VTS,1,1,480,1.57,CSH,8.0 +VTS,1,1,540,1.61,CRD,8.0 +VTS,1,1,600,1.95,CSH,9.5 +VTS,1,1,480,1.13,CRD,7.0 +VTS,1,1,720,2.5,CRD,10.5 +VTS,1,1,840,1.94,CRD,11.0 +VTS,1,1,1440,8.52,CRD,28.0 +VTS,1,1,1260,5.47,CRD,19.5 +VTS,1,1,660,1.99,CRD,10.0 +VTS,1,1,840,1.14,CSH,9.5 +VTS,1,1,540,1.36,CSH,8.0 +VTS,1,1,720,4.34,CSH,14.5 +VTS,1,1,600,0.81,CSH,7.5 +VTS,1,1,480,0.8,CRD,6.5 +VTS,1,1,360,0.89,CSH,6.0 +VTS,1,1,420,1.77,CSH,8.0 +VTS,1,5,300,1.39,CRD,6.5 +VTS,1,5,1380,3.96,CRD,18.0 +VTS,1,5,240,0.47,CSH,4.5 +VTS,1,5,840,5.62,CRD,18.0 +VTS,1,1,960,1.95,CRD,11.5 +VTS,4,1,600,1.48,CSH,7.5 +VTS,1,1,1860,3.26,CRD,19.5 +VTS,1,1,720,2.32,CRD,10.5 +VTS,1,1,240,1.15,CRD,5.5 +VTS,1,1,480,1.54,CRD,7.5 +VTS,1,1,1500,7.46,CRD,25.5 +VTS,1,4,480,1.74,CSH,8.0 +VTS,1,5,540,0.89,CRD,7.0 +VTS,1,5,480,1.02,CSH,7.0 +VTS,1,4,480,1.75,CRD,7.5 +VTS,1,1,420,1.02,CRD,6.5 +VTS,1,1,660,1.84,CRD,9.5 +VTS,1,1,840,1.81,CRD,10.5 +VTS,1,1,240,0.37,CSH,4.0 +VTS,1,1,300,0.77,CRD,5.0 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,1020,3.54,CSH,14.5 +VTS,1,1,120,1.2,CSH,5.5 +VTS,1,1,1080,8.03,CSH,23.5 +VTS,1,1,360,0.92,CSH,6.0 +VTS,1,1,660,1.15,CRD,8.0 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,360,1.12,CRD,6.0 +VTS,1,1,960,3.05,CSH,13.5 +VTS,1,1,1080,3.11,CSH,14.0 +VTS,1,1,660,2.12,CRD,9.5 +VTS,1,1,1320,2.7,CRD,15.0 +VTS,1,1,360,0.57,CRD,5.5 +VTS,1,1,480,1.4,CRD,7.0 +VTS,1,1,600,1.76,CRD,9.0 +VTS,1,1,840,2.97,CRD,12.5 +VTS,1,1,1920,6.09,CRD,23.5 +VTS,1,1,300,0.44,CRD,5.0 +VTS,1,1,420,1.31,CSH,6.5 +VTS,1,1,1080,5.03,CSH,18.5 +VTS,1,1,660,2.92,CRD,11.0 +VTS,1,1,480,0.87,CRD,7.0 +VTS,1,1,420,0.91,CSH,6.0 +VTS,1,1,420,1.22,CSH,7.0 +VTS,1,1,540,2.41,CRD,9.5 +VTS,1,1,540,2.76,CSH,10.0 +VTS,1,1,720,1.34,CSH,9.0 +VTS,1,5,240,1.1,CRD,5.5 +VTS,1,5,900,2.18,CSH,12.0 +VTS,1,5,420,0.85,CRD,6.5 +VTS,1,5,360,0.37,CSH,5.0 +VTS,1,5,180,0.84,CSH,5.0 +VTS,1,5,120,0.37,CSH,3.5 +VTS,1,1,600,4.14,CRD,13.0 +VTS,1,1,600,1.34,CSH,8.5 +VTS,1,1,780,1.89,CSH,10.5 +VTS,1,1,600,1.4,CRD,8.0 +VTS,1,1,780,1.51,CRD,10.0 +VTS,1,1,240,0.81,CRD,5.0 +VTS,1,1,180,1.02,CSH,5.0 +VTS,1,1,720,1.94,CRD,9.5 +VTS,1,1,180,0.95,CSH,5.0 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,1,1140,2.73,CRD,14.5 +VTS,2,1,2580,16.88,CRD,52.0 +VTS,1,1,600,3.5,CSH,11.5 +VTS,1,1,540,1.67,CSH,8.0 +VTS,1,1,240,0.59,CSH,5.0 +VTS,1,1,600,2.5,CSH,10.0 +VTS,1,1,300,0.69,CSH,5.5 +VTS,1,1,60,0.66,CSH,4.0 +VTS,1,1,240,0.8,CRD,5.0 +VTS,1,1,840,1.76,CSH,10.5 +VTS,1,1,540,0.84,CSH,8.0 +VTS,1,1,840,1.51,CRD,10.0 +VTS,1,1,1020,1.99,CSH,12.0 +VTS,1,1,1080,1.91,CSH,12.5 +VTS,1,1,300,0.62,CSH,5.0 +VTS,1,1,600,1.72,CRD,8.0 +VTS,1,1,780,2.91,CSH,12.5 +VTS,1,1,240,1.46,CRD,6.0 +VTS,1,1,360,0.82,CSH,6.5 +VTS,1,1,840,1.92,CRD,10.5 +VTS,1,1,300,0.96,CRD,6.0 +VTS,1,1,480,1.59,CSH,8.0 +VTS,1,1,660,1.69,CSH,9.0 +VTS,1,1,480,1.44,CRD,7.5 +VTS,1,1,780,3.98,CSH,15.0 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,780,2.33,CSH,11.5 +VTS,1,1,1080,8.91,CRD,26.5 +VTS,1,1,720,1.21,CRD,9.0 +VTS,1,1,240,0.86,CRD,5.0 +VTS,1,1,660,1.98,CSH,10.0 +VTS,1,1,540,2.1,CRD,9.0 +VTS,1,1,1920,7.65,CRD,29.0 +VTS,1,1,300,0.61,CRD,5.0 +VTS,1,1,540,1.09,CSH,6.5 +VTS,1,1,300,1.64,CSH,6.5 +VTS,1,1,420,1.31,CRD,6.5 +VTS,1,1,540,1.0,CSH,7.5 +VTS,1,1,600,0.65,CRD,7.5 +VTS,1,1,780,2.55,CSH,11.0 +VTS,4,1,660,2.03,CSH,9.0 +VTS,1,1,480,1.7,CRD,8.0 +VTS,1,1,480,1.04,CRD,7.0 +VTS,1,1,480,1.18,CRD,7.0 +VTS,1,1,780,5.25,CRD,17.5 +VTS,1,1,180,0.45,CRD,4.0 +VTS,1,1,1200,3.5,CSH,16.0 +VTS,1,5,240,0.52,CRD,4.0 +VTS,1,5,840,5.0,CSH,17.5 +VTS,1,5,660,2.3,CRD,10.0 +VTS,1,1,840,1.8,CRD,10.0 +VTS,1,1,420,1.46,CRD,7.0 +VTS,1,1,960,3.02,CSH,13.5 +VTS,1,1,180,0.4,CSH,4.0 +VTS,1,1,1920,8.44,CRD,30.5 +VTS,1,1,240,0.79,CRD,5.5 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,420,1.45,CRD,7.0 +VTS,2,1,600,2.24,CSH,52.0 +VTS,1,1,240,0.98,CRD,5.0 +VTS,1,1,1740,6.82,CRD,25.5 +VTS,1,1,600,0.79,CRD,7.5 +VTS,1,1,1080,6.28,CSH,20.5 +VTS,1,1,300,2.06,CRD,7.5 +VTS,1,1,180,0.78,CRD,4.5 +VTS,4,1,720,2.22,CSH,10.0 +VTS,1,1,1020,2.1,CSH,12.5 +VTS,1,1,960,5.18,CRD,17.5 +VTS,5,1,60,0.0,CRD,35.55 +VTS,1,1,1860,2.54,CRD,18.5 +VTS,1,1,180,0.54,CSH,4.0 +VTS,1,1,300,1.57,CSH,7.0 +VTS,1,1,300,1.03,CRD,5.5 +VTS,1,1,540,2.85,CRD,11.0 +VTS,1,1,540,1.89,CRD,8.5 +VTS,1,1,720,2.71,CRD,11.5 +VTS,1,1,600,2.87,CSH,10.5 +VTS,1,1,240,1.35,CRD,6.0 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,1,300,1.15,CSH,6.0 +VTS,1,1,420,1.17,CRD,6.5 +VTS,1,1,480,2.08,CSH,9.5 +VTS,1,1,180,0.93,CSH,5.0 +VTS,1,1,420,0.93,CRD,6.0 +VTS,1,1,300,1.03,CRD,5.5 +VTS,1,1,600,0.87,CSH,8.0 +VTS,1,1,360,0.69,CRD,6.0 +VTS,1,1,540,1.53,CSH,7.5 +VTS,1,1,960,1.93,CRD,11.0 +VTS,1,1,1020,3.84,CSH,15.5 +VTS,1,1,300,1.22,CRD,6.0 +VTS,1,1,360,0.77,CRD,5.5 +VTS,1,1,420,0.9,CSH,6.5 +VTS,1,1,600,1.69,CRD,8.5 +VTS,1,1,420,1.65,CSH,7.5 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,420,1.47,CSH,7.5 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,720,2.32,CRD,10.0 +VTS,1,1,180,0.6,CSH,4.0 +VTS,1,1,1620,4.88,CRD,21.0 +VTS,1,1,420,1.26,CRD,7.0 +VTS,1,1,1620,7.28,CRD,24.5 +VTS,1,5,420,1.58,CSH,7.5 +VTS,1,1,540,1.29,CSH,8.0 +VTS,1,1,540,1.89,CSH,8.5 +VTS,1,1,780,3.31,CSH,13.5 +VTS,1,1,300,0.74,CRD,5.0 +VTS,1,1,1500,10.43,CSH,31.5 +VTS,1,1,1500,9.54,CSH,31.0 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,780,2.5,CRD,11.5 +VTS,1,1,180,1.19,CRD,5.5 +VTS,1,1,120,0.63,CSH,4.0 +VTS,1,1,360,0.78,CSH,6.0 +VTS,1,1,240,0.76,CRD,5.0 +VTS,1,1,1200,4.85,CRD,18.5 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,180,0.58,CRD,4.0 +VTS,2,1,2700,16.92,CRD,52.0 +VTS,1,1,1080,8.84,CRD,25.5 +VTS,1,1,300,1.71,CRD,7.0 +VTS,1,1,600,1.54,CRD,8.5 +VTS,1,1,480,1.85,CSH,8.0 +VTS,1,5,1320,5.29,CRD,19.5 +VTS,1,4,540,2.77,CRD,10.0 +VTS,1,1,840,1.59,CRD,10.5 +VTS,1,1,60,0.33,CSH,3.5 +VTS,1,1,660,1.11,CRD,8.0 +VTS,1,1,480,1.38,CSH,7.0 +VTS,1,1,600,0.54,CSH,7.0 +VTS,1,1,900,3.27,CSH,14.0 +VTS,1,1,420,1.6,CRD,7.5 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,120,0.61,CSH,4.0 +VTS,1,1,420,1.66,CSH,7.5 +VTS,1,1,180,0.47,CSH,4.0 +VTS,1,1,960,3.29,CSH,13.0 +VTS,1,1,300,0.33,CSH,4.5 +VTS,1,1,540,1.36,CRD,7.5 +VTS,1,1,540,1.46,CSH,7.5 +VTS,1,1,1200,2.26,CRD,14.0 +VTS,1,1,1500,7.07,CSH,24.0 +VTS,1,1,720,1.43,CRD,9.0 +VTS,1,1,1200,2.59,CSH,14.0 +VTS,1,1,360,1.34,CRD,6.5 +VTS,1,1,360,1.74,CRD,7.0 +VTS,1,1,240,0.7,CRD,5.0 +VTS,1,1,660,3.61,CSH,13.0 +VTS,1,1,660,3.64,CRD,12.5 +VTS,1,3,600,2.35,CRD,9.5 +VTS,1,4,540,1.85,CSH,8.5 +VTS,1,5,1620,13.67,CSH,38.5 +VTS,1,5,540,2.76,CRD,10.5 +VTS,1,1,900,1.52,CSH,10.5 +VTS,1,1,720,2.92,CRD,11.5 +VTS,1,1,420,1.39,CSH,7.5 +VTS,1,1,480,2.05,CRD,8.5 +VTS,1,1,300,0.65,CRD,5.0 +VTS,1,1,960,4.1,CSH,15.5 +VTS,1,1,240,1.13,CSH,6.0 +VTS,1,1,300,0.58,CSH,5.0 +VTS,1,1,660,1.7,CSH,9.5 +VTS,4,1,300,0.51,CSH,5.0 +VTS,4,1,300,0.77,CSH,5.0 +VTS,1,1,1200,5.93,CRD,20.5 +VTS,1,1,360,2.48,CRD,9.0 +VTS,1,1,300,1.17,CSH,6.0 +VTS,1,1,1200,5.07,CRD,18.5 +VTS,1,1,600,2.73,CSH,10.5 +VTS,1,1,120,0.68,CSH,4.0 +VTS,1,1,2640,6.28,CRD,28.5 +VTS,1,1,660,1.75,CRD,9.5 +VTS,1,5,600,2.63,CRD,10.0 +VTS,1,5,480,2.16,CSH,8.5 +VTS,1,4,720,4.39,CSH,15.0 +VTS,1,1,780,9.71,CSH,26.5 +VTS,1,5,300,0.89,CRD,5.5 +VTS,1,5,960,1.87,CRD,11.5 +VTS,1,5,720,1.91,CSH,10.5 +VTS,1,1,240,0.87,CSH,5.0 +VTS,1,1,540,1.85,CSH,8.5 +VTS,1,1,120,0.13,CRD,3.0 +VTS,1,1,600,2.4,CSH,10.0 +VTS,1,1,420,1.58,CSH,7.5 +VTS,1,1,1380,9.9,CSH,30.5 +VTS,1,1,480,1.65,CSH,8.0 +VTS,1,1,840,2.2,CSH,11.5 +VTS,1,1,240,1.0,CSH,5.0 +VTS,1,1,720,2.78,CRD,12.0 +VTS,4,1,480,1.27,CSH,7.0 +VTS,1,1,660,1.8,CSH,9.5 +VTS,1,1,420,1.35,CSH,7.0 +VTS,1,1,240,1.03,CRD,5.0 +VTS,1,1,600,2.84,CRD,10.5 +VTS,1,1,600,1.04,CRD,8.0 +VTS,1,1,540,1.76,CRD,8.5 +VTS,1,1,720,2.76,CSH,11.5 +VTS,1,1,300,1.36,CRD,6.0 +VTS,1,1,240,1.01,CSH,5.5 +VTS,1,1,960,3.59,CRD,14.0 +VTS,1,1,1320,8.99,CRD,28.0 +VTS,1,1,420,1.57,CRD,8.0 +VTS,1,1,420,1.31,CSH,7.0 +VTS,1,1,540,1.57,CRD,8.0 +VTS,1,1,540,1.79,CSH,8.5 +VTS,1,1,420,1.82,CSH,8.0 +VTS,1,1,180,0.67,CSH,4.0 +VTS,1,1,1860,3.37,CSH,20.5 +VTS,1,1,540,0.89,CSH,7.0 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,1080,1.58,CRD,12.0 +VTS,1,1,540,1.53,CSH,8.0 +VTS,1,1,1440,3.92,CRD,17.5 +VTS,1,1,300,0.62,CSH,5.0 +VTS,1,1,300,1.12,CRD,5.5 +VTS,1,1,840,4.04,CRD,15.0 +VTS,1,1,1980,10.52,CRD,35.0 +VTS,1,1,420,1.54,CSH,7.0 +VTS,1,1,1080,5.03,CRD,18.0 +VTS,1,1,1320,6.91,CRD,22.5 +VTS,4,1,540,1.25,CRD,7.0 +VTS,1,5,120,0.73,CRD,4.0 +VTS,1,5,360,1.22,CRD,6.0 +VTS,1,5,600,1.57,CRD,8.5 +VTS,1,5,1080,10.19,CSH,29.0 +VTS,1,5,180,0.4,CRD,4.0 +VTS,1,5,540,1.11,CRD,7.0 +VTS,1,1,660,1.95,CRD,9.5 +VTS,1,1,1080,3.19,CRD,13.5 +VTS,1,1,480,0.68,CSH,6.5 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,540,1.83,CSH,8.5 +VTS,1,1,900,7.23,CSH,22.0 +VTS,1,1,540,1.74,CRD,8.0 +VTS,1,1,180,0.92,CSH,5.0 +VTS,1,1,540,2.01,CRD,8.5 +VTS,1,1,1860,12.71,CRD,38.5 +VTS,1,1,1260,11.35,CRD,32.0 +VTS,1,1,660,4.19,CRD,13.5 +VTS,1,1,300,0.69,CRD,5.5 +VTS,1,1,840,1.93,CSH,9.0 +VTS,1,1,660,2.33,CRD,10.5 +VTS,1,1,420,0.86,CSH,6.5 +VTS,1,1,300,0.7,CRD,5.0 +VTS,1,1,300,0.69,CSH,5.0 +VTS,1,1,180,0.43,CSH,4.0 +VTS,1,1,480,1.07,CRD,7.0 +VTS,1,1,780,1.35,CSH,10.0 +VTS,1,1,780,1.41,CSH,9.5 +VTS,1,1,900,3.03,CRD,12.5 +VTS,1,1,360,0.89,CSH,6.0 +VTS,1,1,720,1.21,CSH,9.0 +VTS,1,1,960,4.91,CRD,17.0 +VTS,1,1,300,0.79,CSH,5.5 +VTS,1,1,180,0.59,CRD,4.0 +VTS,1,1,660,1.65,CRD,9.0 +VTS,1,1,780,3.95,CRD,14.0 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,480,1.24,CSH,7.0 +VTS,1,1,540,3.47,CRD,11.5 +VTS,1,1,600,1.44,CRD,8.5 +VTS,1,1,480,1.11,CRD,7.0 +VTS,1,1,960,1.13,CRD,10.5 +VTS,1,1,300,0.76,CSH,5.5 +VTS,1,1,600,0.96,CRD,8.0 +VTS,1,1,1080,3.12,CSH,14.0 +VTS,1,1,840,2.81,CRD,12.5 +VTS,1,1,1680,9.48,CSH,32.0 +VTS,1,1,1200,8.03,CRD,25.0 +VTS,1,1,1200,3.79,CSH,16.0 +VTS,1,1,120,0.77,CSH,4.0 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,180,0.73,CSH,5.0 +VTS,1,1,420,1.41,CRD,7.0 +VTS,2,1,1560,17.04,CSH,52.0 +VTS,1,1,780,2.64,CRD,11.5 +VTS,1,1,180,0.6,CSH,4.0 +VTS,1,1,660,2.13,CRD,10.0 +VTS,2,1,0,0.04,CSH,52.0 +VTS,1,1,420,1.73,CRD,7.5 +VTS,1,1,300,1.1,CSH,5.5 +VTS,1,1,360,2.13,CSH,8.0 +VTS,1,1,1440,11.95,CRD,35.5 +VTS,1,1,240,1.11,CSH,5.0 +VTS,1,5,600,1.59,CSH,8.5 +VTS,1,1,1260,6.53,CRD,21.0 +VTS,1,1,360,0.82,CRD,5.5 +VTS,1,1,420,1.25,CRD,7.0 +VTS,1,1,780,1.36,CRD,10.0 +VTS,1,1,540,1.12,CRD,7.0 +VTS,1,1,540,1.83,CSH,8.5 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,240,0.89,CRD,5.0 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,480,1.44,CRD,7.5 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,120,0.47,CSH,3.5 +VTS,1,1,1800,12.99,CRD,39.0 +VTS,1,1,240,1.15,CRD,5.5 +VTS,1,1,780,3.2,CSH,12.5 +VTS,1,1,720,1.29,CRD,9.0 +VTS,1,1,540,0.78,CSH,7.0 +VTS,1,1,420,1.05,CRD,6.0 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,660,2.33,CRD,10.5 +VTS,1,1,780,1.04,CRD,9.0 +VTS,1,1,900,9.21,CRD,25.5 +VTS,1,1,1680,11.8,CSH,35.0 +VTS,1,1,1560,3.87,CRD,18.0 +VTS,1,1,720,1.87,CRD,10.0 +VTS,1,1,1020,1.43,CRD,11.5 +VTS,1,1,120,0.43,CSH,4.0 +VTS,1,1,1320,1.81,CRD,14.5 +VTS,1,1,780,1.11,CRD,9.0 +VTS,1,1,1320,3.57,CRD,16.5 +VTS,1,2,1080,6.26,CSH,20.0 +VTS,1,1,360,1.51,CRD,6.5 +VTS,1,1,600,1.59,CSH,9.0 +VTS,1,1,1440,2.07,CSH,15.5 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,480,1.01,CSH,6.0 +VTS,1,1,540,1.31,CSH,7.5 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,420,1.7,CSH,7.5 +VTS,1,1,660,2.6,CSH,10.5 +VTS,1,1,240,0.52,CRD,4.5 +VTS,1,1,1020,3.73,CRD,15.0 +VTS,1,1,840,2.51,CSH,12.0 +VTS,1,3,660,2.28,CRD,10.0 +VTS,1,3,360,1.34,CRD,6.5 +VTS,1,3,420,2.61,CRD,9.0 +VTS,1,1,360,2.26,CSH,8.5 +VTS,1,1,900,1.29,CRD,10.5 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,840,4.69,CSH,16.5 +VTS,1,1,300,1.41,CSH,7.0 +VTS,1,1,300,1.24,CSH,6.5 +VTS,1,1,780,2.64,CRD,11.0 +VTS,1,1,840,6.18,CSH,19.0 +VTS,1,1,900,4.33,CRD,16.0 +VTS,1,1,600,2.81,CSH,10.0 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,840,3.2,CRD,13.0 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,1500,3.69,CRD,17.5 +VTS,1,1,540,1.6,CSH,8.5 +VTS,1,1,600,1.38,CSH,8.5 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,1,660,2.0,CSH,9.5 +VTS,1,1,540,1.6,CSH,8.0 +VTS,1,1,780,2.31,CRD,11.0 +VTS,1,1,120,0.57,CRD,4.0 +VTS,1,1,300,0.7,CSH,5.0 +VTS,1,1,720,2.8,CRD,11.5 +VTS,1,1,660,3.3,CRD,11.5 +VTS,1,1,420,1.75,CRD,7.5 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,360,0.82,CRD,5.5 +VTS,1,1,660,1.44,CSH,8.5 +VTS,1,1,540,1.3,CSH,8.0 +VTS,1,1,660,1.93,CRD,9.5 +VTS,1,1,240,0.98,CSH,5.0 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,1020,4.66,CRD,17.0 +VTS,1,1,0,0.0,CSH,2.5 +VTS,1,3,1200,3.91,CRD,16.5 +VTS,1,3,420,2.1,CSH,8.5 +VTS,1,3,2220,3.77,CSH,24.0 +VTS,1,1,360,1.04,CSH,5.5 +VTS,1,1,60,0.26,CSH,3.5 +VTS,1,2,240,0.96,CSH,5.0 +VTS,1,1,1080,2.73,CRD,13.5 +VTS,1,1,360,0.37,CSH,5.5 +VTS,5,1,0,0.0,CRD,6.5 +VTS,1,1,840,2.26,CSH,11.0 +VTS,1,1,720,4.03,CRD,14.0 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,180,0.97,CSH,5.0 +VTS,1,1,660,1.77,CRD,6.5 +VTS,1,1,360,1.82,CRD,7.0 +VTS,4,1,60,0.42,CSH,3.5 +VTS,1,1,480,1.75,CRD,8.0 +VTS,1,2,600,2.51,CRD,10.0 +VTS,1,2,720,2.78,CRD,11.5 +VTS,1,1,180,0.64,CSH,5.0 +VTS,1,1,540,1.34,CSH,8.0 +VTS,1,1,840,1.61,CSH,10.5 +VTS,1,1,960,2.65,CRD,12.5 +VTS,1,1,420,0.61,CSH,6.0 +VTS,1,1,540,1.76,CRD,8.0 +VTS,1,1,780,1.78,CRD,10.0 +VTS,1,1,780,2.0,CRD,10.5 +VTS,1,1,720,2.49,CSH,11.0 +VTS,1,1,660,2.09,CSH,10.0 +VTS,1,1,660,2.49,CRD,10.5 +VTS,1,1,180,1.03,CSH,5.0 +VTS,1,1,60,0.3,CSH,3.0 +VTS,1,1,540,1.09,CSH,7.5 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,1,840,1.0,CRD,9.5 +VTS,1,1,120,0.87,CSH,4.5 +VTS,1,1,300,1.06,CRD,6.0 +VTS,1,1,960,2.82,CRD,13.0 +VTS,1,1,780,2.8,CRD,11.5 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,1,360,0.72,CSH,6.0 +VTS,1,1,120,0.47,CSH,3.5 +VTS,1,1,540,3.6,CSH,12.5 +VTS,1,1,540,1.09,CSH,7.0 +VTS,1,1,600,1.04,CSH,8.0 +VTS,1,1,1140,2.56,CSH,14.0 +VTS,1,1,360,0.77,CRD,6.0 +VTS,1,1,1200,7.01,CRD,23.0 +VTS,1,1,840,2.6,CRD,12.0 +VTS,1,1,720,1.49,CRD,9.5 +VTS,1,1,1320,5.24,CSH,20.5 +VTS,1,1,1320,5.42,CSH,20.5 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,540,1.47,CRD,8.0 +VTS,1,1,60,0.71,CRD,4.0 +VTS,1,1,360,1.79,CRD,7.5 +VTS,1,1,120,0.51,CSH,4.0 +VTS,1,1,480,2.97,CRD,10.5 +VTS,1,1,420,1.29,CRD,6.5 +VTS,1,1,480,1.42,CSH,7.5 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,420,1.59,CRD,7.5 +VTS,1,1,480,0.56,CRD,6.5 +VTS,1,1,540,1.4,CRD,8.0 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,1,1200,3.62,CSH,16.0 +VTS,1,1,1080,1.76,CSH,12.5 +VTS,1,1,540,1.6,CSH,8.5 +VTS,1,1,480,0.96,CRD,6.5 +VTS,1,1,660,1.98,CRD,10.0 +VTS,1,1,480,1.19,CSH,6.5 +VTS,1,1,840,2.38,CRD,11.0 +VTS,1,1,480,1.15,CRD,6.5 +VTS,1,1,360,1.37,CSH,7.0 +VTS,1,1,540,1.02,CRD,7.0 +VTS,1,1,660,1.64,CRD,9.0 +VTS,1,1,1020,3.94,CRD,15.5 +VTS,1,1,960,9.41,CRD,26.5 +VTS,1,1,360,1.56,CSH,7.0 +VTS,1,1,840,2.92,CRD,12.5 +VTS,1,1,660,1.79,CSH,10.0 +VTS,1,1,420,2.67,CSH,10.0 +VTS,1,1,1200,5.12,CSH,18.5 +VTS,1,1,240,0.65,CRD,5.0 +VTS,1,1,420,1.23,CRD,7.0 +VTS,1,1,300,0.99,CRD,5.5 +VTS,4,1,60,0.04,CSH,2.5 +VTS,1,1,660,3.4,CRD,11.5 +VTS,1,1,480,1.15,CRD,7.0 +VTS,1,1,240,1.21,CSH,5.5 +VTS,1,1,180,0.27,CSH,4.0 +VTS,1,1,840,1.58,CRD,10.5 +VTS,1,1,1320,2.74,CRD,15.5 +VTS,1,1,480,1.18,CRD,7.5 +VTS,1,1,540,1.11,CRD,7.5 +VTS,1,1,360,0.64,CSH,6.0 +VTS,1,1,600,3.56,CRD,12.5 +VTS,1,2,1380,13.66,CRD,38.5 +VTS,1,2,300,2.06,CRD,8.0 +VTS,1,3,300,0.84,CRD,5.5 +VTS,1,3,1020,3.94,CRD,15.0 +VTS,1,3,900,4.27,CRD,14.5 +VTS,1,2,1680,14.11,CSH,40.0 +VTS,1,5,300,0.89,CSH,5.0 +VTS,1,5,540,1.19,CSH,7.0 +VTS,1,5,480,1.08,CRD,6.5 +VTS,1,5,720,1.55,CRD,9.0 +VTS,1,5,480,2.1,CSH,8.0 +VTS,1,5,600,1.38,CRD,8.0 +VTS,1,1,300,1.42,CSH,6.5 +VTS,1,1,1020,2.42,CRD,13.0 +VTS,1,1,720,0.63,CSH,8.0 +VTS,1,1,720,1.84,CRD,10.0 +VTS,1,1,1020,3.13,CRD,14.0 +VTS,1,1,3300,15.43,CSH,45.0 +VTS,1,1,840,2.27,CSH,10.5 +VTS,1,1,120,0.68,CRD,4.0 +VTS,1,1,1320,6.21,CSH,21.0 +VTS,1,1,1200,3.18,CRD,14.0 +VTS,1,1,480,3.48,CRD,11.5 +VTS,1,2,600,1.24,CRD,8.0 +VTS,1,2,720,2.17,CSH,10.5 +VTS,1,2,1560,10.2,CRD,31.0 +VTS,1,1,420,1.95,CRD,8.0 +VTS,1,1,120,0.52,CSH,4.0 +VTS,1,1,540,1.31,CRD,8.0 +VTS,1,1,780,1.47,CSH,9.5 +VTS,1,1,1200,2.76,CRD,15.0 +VTS,1,1,360,1.47,CRD,7.5 +VTS,1,1,360,0.92,CSH,6.0 +VTS,1,1,600,1.23,CSH,8.0 +VTS,1,1,480,1.25,CRD,7.5 +VTS,1,1,720,2.99,CRD,11.5 +VTS,1,1,780,2.61,CRD,12.0 +VTS,1,1,540,1.44,CRD,8.0 +VTS,1,3,900,3.35,CRD,13.0 +VTS,1,4,480,0.79,CSH,6.0 +VTS,1,3,360,0.96,CSH,6.0 +VTS,1,3,540,1.13,CRD,7.0 +VTS,1,3,840,2.81,CRD,12.0 +VTS,1,1,360,1.62,CRD,7.5 +VTS,1,1,840,3.27,CSH,14.0 +VTS,1,1,300,1.23,CSH,5.5 +VTS,1,1,1020,1.98,CRD,11.5 +VTS,1,2,780,3.06,CRD,12.0 +VTS,1,3,420,1.59,CSH,7.5 +VTS,1,2,360,0.81,CSH,5.5 +VTS,1,1,600,2.99,CSH,11.5 +VTS,1,2,780,3.7,CSH,13.5 +VTS,1,2,840,3.22,CSH,13.0 +VTS,1,2,1680,6.96,CRD,25.5 +VTS,1,3,780,3.16,CSH,12.0 +VTS,1,5,1560,2.11,CRD,16.0 +VTS,4,5,720,1.44,CSH,9.0 +VTS,1,5,180,0.59,CSH,4.0 +VTS,1,5,180,0.9,CRD,4.5 +VTS,1,5,180,1.12,CRD,5.5 +VTS,1,5,60,0.0,CSH,3.0 +VTS,1,1,300,0.79,CSH,5.0 +VTS,1,1,480,1.13,CSH,7.0 +VTS,1,1,360,0.73,CSH,5.5 +VTS,1,1,60,0.37,CRD,3.0 +VTS,1,1,480,1.07,CRD,6.5 +VTS,1,1,660,2.84,CRD,11.5 +VTS,1,1,660,2.43,CSH,11.0 +VTS,1,1,480,1.39,CRD,7.0 +VTS,1,1,300,0.73,CSH,5.5 +VTS,1,2,960,2.68,CRD,12.5 +VTS,1,2,480,0.68,CRD,6.5 +VTS,1,3,480,1.15,CSH,7.0 +VTS,1,2,720,1.1,CRD,9.0 +VTS,1,6,600,1.28,CRD,8.5 +VTS,1,6,660,1.99,CSH,9.5 +VTS,1,6,300,0.91,CRD,5.5 +VTS,1,6,300,1.4,CSH,7.0 +VTS,1,1,420,0.92,CRD,6.0 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,540,1.59,CRD,8.0 +VTS,1,1,360,1.05,CRD,6.0 +VTS,1,1,600,1.86,CRD,9.0 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,660,1.84,CRD,9.5 +VTS,1,1,420,0.72,CRD,6.0 +VTS,1,1,1020,2.71,CSH,13.5 +VTS,1,1,180,0.58,CSH,4.0 +VTS,1,1,300,0.65,CSH,5.0 +VTS,1,1,720,1.7,CSH,9.5 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,600,2.8,CRD,11.0 +VTS,1,3,780,3.81,CRD,14.0 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,660,1.59,CSH,8.5 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,420,1.33,CRD,6.5 +VTS,1,1,540,1.91,CSH,8.5 +VTS,1,1,840,3.27,CRD,12.5 +VTS,1,1,540,1.87,CSH,8.5 +VTS,1,1,300,1.49,CSH,7.0 +VTS,4,1,180,0.62,CSH,5.5 +VTS,1,1,420,1.64,CRD,8.0 +VTS,1,1,600,2.13,CRD,9.0 +VTS,1,1,360,0.7,CRD,5.5 +VTS,1,1,1200,2.96,CRD,15.0 +VTS,1,1,540,1.13,CSH,7.5 +VTS,1,1,600,0.96,CSH,8.0 +VTS,1,1,540,1.28,CSH,8.0 +VTS,1,1,360,0.76,CSH,5.5 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,120,0.3,CRD,3.0 +VTS,1,1,480,0.97,CSH,7.0 +VTS,1,1,480,1.09,CRD,7.0 +VTS,1,1,780,2.2,CSH,11.0 +VTS,1,1,420,1.22,CRD,6.5 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,1320,5.08,CSH,20.0 +VTS,1,1,240,1.81,CSH,7.0 +VTS,1,1,360,0.91,CSH,6.0 +VTS,1,1,300,0.64,CSH,5.5 +VTS,1,1,240,0.83,CSH,5.5 +VTS,1,1,1200,2.64,CSH,14.5 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,600,3.02,CRD,11.5 +VTS,1,1,180,0.77,CRD,4.5 +VTS,1,1,360,2.21,CSH,8.0 +VTS,1,1,360,1.16,CRD,6.5 +VTS,1,1,360,0.89,CRD,6.0 +VTS,1,3,900,0.89,CSH,5.0 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,1020,2.79,CRD,13.5 +VTS,1,1,480,1.09,CRD,7.0 +VTS,1,1,1980,5.98,CRD,24.0 +VTS,1,1,1620,4.29,CSH,20.5 +VTS,1,1,240,0.91,CSH,5.0 +VTS,1,1,1080,2.37,CRD,13.0 +VTS,1,1,840,1.88,CRD,11.0 +VTS,1,1,300,0.99,CRD,6.0 +VTS,1,1,720,1.89,CRD,10.0 +VTS,1,1,840,2.12,CRD,11.5 +VTS,1,1,540,3.25,CSH,11.5 +VTS,1,1,300,1.19,CSH,6.0 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,1,240,0.94,CRD,5.0 +VTS,1,1,720,2.16,CRD,10.0 +VTS,1,1,420,1.36,CRD,7.0 +VTS,2,1,1680,17.39,CRD,52.0 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,1,120,0.69,CSH,4.0 +VTS,1,1,480,2.46,CSH,9.5 +VTS,1,1,540,1.74,CRD,8.0 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,660,1.82,CSH,9.5 +VTS,1,1,840,2.81,CRD,12.5 +VTS,1,1,600,1.75,CRD,8.5 +VTS,1,1,360,0.73,CSH,5.5 +VTS,1,1,480,2.67,CRD,10.0 +VTS,1,1,900,2.9,CRD,13.0 +VTS,1,1,120,0.38,CSH,4.0 +VTS,1,1,540,1.29,CSH,8.5 +VTS,1,1,420,0.81,CRD,6.5 +VTS,1,1,420,0.92,CRD,6.5 +VTS,1,1,660,1.26,CRD,8.0 +VTS,1,1,300,0.77,CSH,5.0 +VTS,1,1,660,1.47,CSH,9.0 +VTS,1,1,540,1.7,CSH,8.5 +VTS,1,1,540,1.57,CRD,7.5 +VTS,1,1,960,2.23,CSH,11.5 +VTS,1,1,840,2.38,CRD,11.0 +VTS,1,1,660,1.52,CSH,9.0 +VTS,1,1,480,1.14,CSH,7.0 +VTS,1,1,240,1.27,CRD,6.0 +VTS,1,1,360,1.17,CSH,6.0 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,540,1.85,CRD,8.5 +VTS,1,1,780,2.12,CSH,10.5 +VTS,2,1,2880,16.69,CRD,52.0 +VTS,2,1,2820,17.74,CRD,52.0 +VTS,1,1,780,2.22,CSH,10.5 +VTS,1,1,480,0.9,CSH,6.5 +VTS,1,1,360,1.01,CRD,6.5 +VTS,1,1,840,3.68,CRD,14.5 +VTS,1,1,120,0.57,CSH,4.0 +VTS,1,1,360,1.13,CRD,6.5 +VTS,1,1,780,1.93,CRD,10.5 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,1,900,8.23,CSH,23.5 +VTS,1,1,360,0.95,CSH,5.5 +VTS,1,1,960,2.84,CRD,13.0 +VTS,1,1,360,0.87,CSH,5.5 +VTS,1,1,720,2.25,CSH,11.0 +VTS,1,1,480,2.86,CSH,10.0 +VTS,1,1,1140,5.29,CRD,19.0 +VTS,1,1,540,1.66,CRD,8.5 +VTS,1,1,1560,10.94,CRD,33.0 +VTS,1,1,420,2.04,CRD,8.5 +VTS,1,1,300,1.5,CRD,7.0 +VTS,1,1,300,0.72,CSH,5.5 +VTS,1,1,420,1.53,CRD,7.0 +VTS,1,1,480,1.26,CSH,7.5 +VTS,1,1,660,2.13,CRD,9.5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,240,1.62,CRD,6.5 +VTS,1,1,600,0.94,CRD,8.0 +VTS,4,1,1200,3.34,CSH,12.5 +VTS,1,1,840,2.55,CRD,11.0 +VTS,1,1,180,0.72,CRD,4.5 +VTS,4,1,1380,11.04,CRD,32.0 +VTS,1,1,780,1.83,CRD,10.0 +VTS,1,1,1440,5.91,CRD,21.5 +VTS,1,1,420,2.48,CRD,9.0 +VTS,1,1,480,0.92,CSH,6.5 +VTS,1,1,480,1.14,CRD,7.0 +VTS,1,1,180,0.93,CSH,5.0 +VTS,1,1,420,0.79,CSH,6.0 +VTS,1,1,660,1.09,CSH,8.5 +VTS,1,1,600,0.55,CSH,7.0 +VTS,1,1,420,1.14,CSH,7.0 +VTS,1,1,720,2.2,CSH,10.0 +VTS,1,1,540,1.2,CRD,8.0 +VTS,1,1,540,1.9,CSH,8.5 +VTS,1,1,240,0.92,CSH,5.0 +VTS,1,1,60,0.56,CSH,3.5 +VTS,1,1,600,2.14,CSH,9.5 +VTS,1,1,180,1.02,CRD,5.0 +VTS,1,1,840,2.29,CSH,11.0 +VTS,1,1,900,2.96,CRD,12.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,3,1260,5.08,CSH,19.5 +VTS,1,3,660,4.23,CRD,14.0 +VTS,1,3,1140,8.99,CRD,26.5 +VTS,1,1,600,1.96,CSH,9.0 +VTS,1,1,360,0.65,CSH,5.0 +VTS,1,3,360,0.78,CSH,5.5 +VTS,1,3,600,1.6,CRD,9.0 +VTS,1,4,720,4.36,CRD,14.0 +VTS,1,1,420,1.5,CRD,7.5 +VTS,1,1,540,0.98,CSH,7.5 +VTS,1,1,360,1.83,CRD,7.5 +VTS,1,1,240,0.91,CSH,5.5 +VTS,1,1,360,1.01,CRD,6.0 +VTS,4,1,360,1.08,CSH,6.5 +VTS,1,1,840,1.84,CRD,10.5 +VTS,1,2,420,3.77,CRD,12.0 +VTS,1,3,600,1.31,CSH,8.5 +VTS,1,2,720,8.05,CSH,22.5 +VTS,1,3,360,0.94,CSH,6.0 +VTS,1,2,600,4.37,CSH,14.5 +VTS,1,3,1800,10.47,CSH,32.5 +VTS,1,3,1500,10.62,CRD,31.0 +VTS,4,1,60,0.0,CSH,2.5 +VTS,1,5,1020,2.23,CRD,11.5 +VTS,1,5,900,2.05,CSH,10.5 +VTS,1,5,300,1.22,CRD,5.5 +VTS,1,5,60,0.26,CSH,3.0 +VTS,2,1,2160,20.84,CSH,52.0 +VTS,1,1,1020,3.18,CRD,13.5 +VTS,1,1,240,0.61,CRD,5.0 +VTS,1,1,1680,5.17,CRD,21.5 +CMT,1,1,134,0.3,CSH,3.5 +CMT,1,1,1195,2.7,CSH,14.5 +CMT,1,1,150,0.6,CSH,4.0 +CMT,1,1,581,1.0,CSH,7.5 +CMT,1,1,1310,4.1,CSH,17.5 +CMT,1,1,937,4.0,CRD,15.0 +CMT,1,1,515,1.2,CSH,7.5 +CMT,1,1,118,0.3,CSH,3.5 +CMT,1,1,1394,5.6,CSH,21.0 +CMT,1,2,901,2.1,CSH,11.5 +CMT,1,4,1527,6.3,CSH,23.0 +CMT,1,1,855,6.5,CSH,20.5 +CMT,1,2,555,2.3,CSH,9.5 +CMT,1,2,463,1.5,CSH,7.5 +CMT,1,2,799,4.9,CRD,16.5 +CMT,1,1,296,1.0,CSH,6.0 +CMT,1,2,766,1.2,CSH,9.5 +CMT,1,2,429,1.0,CSH,7.0 +CMT,1,1,819,2.7,CRD,12.0 +CMT,1,1,714,2.9,CSH,11.5 +CMT,1,2,552,1.5,CSH,8.0 +CMT,1,1,353,1.3,CSH,6.5 +CMT,1,1,542,2.1,CRD,8.5 +CMT,1,1,1146,7.0,CRD,22.5 +CMT,1,1,436,1.6,CRD,7.5 +CMT,1,1,573,2.1,CRD,9.0 +VTS,1,2,720,2.23,CSH,10.0 +VTS,1,2,300,0.66,CRD,5.5 +VTS,1,1,660,2.59,CSH,10.5 +VTS,1,1,660,1.98,CRD,10.0 +VTS,1,1,300,0.68,CRD,4.5 +VTS,1,1,420,0.83,CSH,6.0 +VTS,1,1,240,0.65,CRD,4.5 +VTS,1,2,540,1.28,CRD,7.0 +VTS,1,2,300,0.7,CRD,5.0 +VTS,1,6,900,4.64,CRD,16.0 +VTS,1,6,240,0.77,CSH,5.0 +VTS,1,6,180,1.27,CSH,5.5 +VTS,1,6,300,0.91,CRD,6.0 +CMT,4,1,1666,11.4,CRD,34.0 +CMT,4,1,379,0.4,CSH,4.0 +CMT,1,1,296,1.3,CSH,6.5 +CMT,1,1,745,1.9,CSH,10.0 +CMT,4,1,590,2.0,CRD,9.0 +CMT,1,1,804,3.0,CSH,12.5 +CMT,1,1,876,2.5,CSH,11.5 +CMT,1,1,347,1.2,CRD,6.5 +CMT,1,1,429,1.5,CSH,7.5 +CMT,1,1,581,3.0,CSH,10.5 +CMT,1,1,504,1.6,CSH,8.0 +CMT,1,1,477,1.2,CRD,7.0 +CMT,1,1,569,1.7,CSH,8.5 +CMT,1,1,1016,3.3,CSH,14.5 +CMT,4,1,1214,3.8,CRD,16.0 +CMT,1,1,255,0.8,CSH,5.0 +CMT,1,1,72,0.5,CSH,3.0 +CMT,1,1,1444,3.0,CRD,16.5 +CMT,1,1,307,0.9,CSH,6.0 +CMT,1,1,1388,5.6,CRD,20.5 +CMT,1,1,575,1.7,CRD,9.0 +CMT,1,2,942,3.0,CSH,12.5 +CMT,1,1,314,1.5,CSH,6.5 +CMT,1,2,526,1.1,CSH,7.5 +CMT,1,1,1043,3.0,CRD,14.0 +CMT,1,1,846,3.0,CSH,12.5 +CMT,1,1,797,4.2,CRD,14.0 +CMT,1,2,442,2.1,CSH,8.5 +CMT,1,1,720,1.9,CSH,10.0 +CMT,1,2,191,1.0,CSH,5.0 +CMT,1,4,631,1.1,CSH,8.0 +CMT,1,1,593,3.0,CRD,11.0 +CMT,1,1,1202,2.9,CRD,14.5 +CMT,1,2,1338,6.0,CRD,20.5 +CMT,1,1,878,2.1,CSH,11.0 +CMT,1,3,786,3.1,CSH,12.5 +CMT,1,1,574,2.2,CSH,10.0 +CMT,1,2,1241,6.3,CRD,20.5 +CMT,1,2,769,3.4,CRD,12.5 +VTS,1,1,420,0.97,CSH,6.5 +VTS,1,3,300,1.18,CRD,6.0 +VTS,1,3,780,3.72,CSH,14.0 +VTS,1,3,720,2.46,CRD,11.0 +VTS,1,1,180,1.34,CRD,5.5 +VTS,1,1,360,1.57,CRD,6.5 +VTS,1,1,780,2.67,CRD,12.0 +VTS,1,1,240,0.96,CSH,5.0 +VTS,1,1,780,1.98,CRD,10.0 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,3,480,1.76,CRD,8.0 +VTS,1,4,480,2.27,CRD,9.0 +VTS,1,2,780,2.88,CRD,11.0 +VTS,1,2,720,1.79,CSH,9.5 +VTS,1,3,660,2.5,CSH,10.5 +VTS,1,3,240,1.24,CRD,5.5 +VTS,1,2,600,4.74,CSH,15.5 +VTS,1,1,900,2.76,CRD,12.5 +VTS,1,5,1980,6.44,CSH,24.5 +VTS,1,5,900,2.33,CSH,11.0 +VTS,1,5,540,1.14,CSH,7.5 +VTS,1,5,540,2.59,CRD,10.0 +VTS,1,5,300,1.88,CRD,7.0 +VTS,1,5,1500,9.96,CRD,29.5 +VTS,1,1,180,0.98,CRD,5.5 +VTS,1,1,900,6.41,CSH,20.0 +VTS,1,1,540,1.62,CRD,7.5 +VTS,1,2,1980,5.86,CRD,24.5 +VTS,1,2,540,1.41,CRD,8.5 +VTS,1,2,480,0.54,CRD,6.5 +VTS,1,1,660,2.12,CSH,10.0 +VTS,1,1,840,2.35,CSH,11.0 +VTS,1,1,1200,3.76,CRD,15.5 +VTS,1,2,600,1.09,CRD,7.5 +VTS,1,2,2220,9.6,CRD,33.5 +CMT,4,1,1063,3.6,CSH,14.0 +CMT,4,1,619,2.5,CSH,10.5 +CMT,4,1,700,2.3,CRD,9.5 +CMT,1,1,737,2.2,CRD,10.5 +CMT,1,1,346,1.9,CSH,7.5 +CMT,1,1,1029,3.3,CSH,14.0 +CMT,1,3,398,1.1,CSH,7.0 +CMT,1,2,271,0.8,CSH,5.0 +CMT,1,1,685,2.1,CSH,10.0 +CMT,1,1,1159,3.7,CRD,15.5 +CMT,1,2,787,3.6,CRD,13.5 +CMT,1,2,607,1.8,CRD,9.5 +CMT,1,2,931,4.9,CSH,16.5 +CMT,1,1,394,1.4,CRD,7.0 +CMT,1,2,1371,4.1,CSH,17.5 +CMT,1,2,501,1.0,CRD,7.0 +CMT,1,1,472,1.8,CRD,8.5 +VTS,1,1,240,0.82,CSH,5.0 +VTS,1,1,1560,3.68,CRD,18.0 +VTS,1,1,780,2.56,CRD,11.0 +VTS,1,1,960,3.51,CRD,14.0 +VTS,1,1,720,1.13,CSH,9.0 +VTS,1,1,1320,4.25,CSH,17.5 +VTS,1,1,360,0.6,CSH,6.0 +VTS,1,1,360,0.99,CSH,6.0 +VTS,1,1,960,2.66,CSH,12.5 +VTS,1,1,420,1.81,CRD,8.0 +VTS,1,1,540,1.49,CRD,8.0 +VTS,1,1,1020,3.05,CSH,14.0 +VTS,1,1,660,1.93,CSH,9.5 +VTS,1,1,180,0.54,CSH,4.5 +VTS,1,1,660,1.49,CRD,8.5 +VTS,1,1,240,0.58,CRD,4.5 +VTS,1,3,180,0.75,CRD,4.5 +VTS,1,3,960,2.52,CSH,12.0 +VTS,1,3,840,2.17,CSH,11.5 +VTS,1,1,420,0.7,CRD,5.5 +VTS,1,1,1140,2.21,CSH,12.5 +VTS,1,1,1320,9.35,CSH,27.5 +VTS,1,1,1080,6.03,CSH,19.0 +VTS,1,1,300,0.56,CRD,4.5 +VTS,1,1,120,0.84,CRD,4.5 +VTS,1,3,780,3.04,CRD,12.5 +VTS,1,1,360,0.82,CRD,6.0 +VTS,1,1,540,1.24,CRD,7.5 +VTS,1,1,1320,2.05,CSH,15.0 +VTS,1,1,120,0.85,CSH,4.5 +VTS,1,1,240,1.12,CSH,5.0 +VTS,1,1,1680,9.44,CSH,30.5 +VTS,1,2,720,1.71,CRD,9.5 +VTS,1,1,540,1.19,CRD,7.5 +VTS,1,3,720,0.97,CSH,8.5 +VTS,1,6,420,1.13,CRD,7.0 +CMT,1,1,775,1.7,CSH,10.0 +CMT,4,1,430,0.8,CSH,6.5 +CMT,1,1,171,0.5,CSH,4.0 +CMT,1,1,1263,7.4,CSH,23.5 +CMT,1,1,339,0.6,CRD,5.5 +CMT,1,1,497,1.3,CSH,7.5 +CMT,1,1,232,0.5,CRD,4.5 +CMT,1,1,338,0.7,CSH,5.5 +CMT,1,1,247,0.4,CSH,4.0 +CMT,4,1,474,1.1,CSH,6.5 +CMT,1,1,1473,1.3,CRD,14.5 +CMT,1,1,280,0.8,CSH,5.0 +CMT,1,1,696,0.6,CSH,8.5 +CMT,1,2,988,1.8,CSH,12.0 +CMT,1,2,1238,3.0,CSH,15.5 +CMT,1,2,287,0.9,CRD,5.5 +VTS,1,1,120,0.5,CRD,4.0 +VTS,1,1,240,0.96,CSH,5.0 +VTS,1,1,720,2.45,CSH,10.5 +VTS,1,1,300,1.71,CSH,7.0 +VTS,1,1,360,2.25,CRD,8.5 +VTS,1,1,60,0.71,CSH,4.0 +VTS,4,1,60,0.1,CSH,2.5 +VTS,1,1,420,1.71,CRD,7.5 +VTS,1,1,1320,3.08,CRD,16.0 +VTS,1,1,1140,2.15,CRD,9.5 +VTS,1,3,600,3.01,CSH,11.0 +VTS,1,2,240,0.93,CRD,4.5 +VTS,1,4,540,2.02,CRD,8.5 +VTS,1,3,300,1.9,CRD,8.0 +VTS,1,2,720,2.57,CRD,11.0 +VTS,1,2,360,1.03,CRD,6.0 +VTS,1,3,360,1.58,CRD,7.5 +VTS,1,3,240,0.9,CRD,5.5 +VTS,1,5,1920,6.14,CSH,26.5 +VTS,1,5,600,1.78,CSH,9.5 +VTS,1,5,540,1.54,CSH,7.5 +VTS,1,5,1080,2.72,CSH,13.0 +VTS,1,5,1080,3.37,CRD,14.5 +VTS,1,5,480,1.55,CSH,7.5 +VTS,1,5,360,0.86,CSH,5.5 +VTS,1,5,540,1.28,CSH,7.5 +VTS,1,5,720,4.17,CRD,14.0 +VTS,1,5,120,0.56,CRD,4.0 +VTS,1,5,1680,8.57,CRD,27.5 +VTS,1,1,360,1.05,CRD,6.0 +VTS,1,1,60,0.42,CSH,3.5 +VTS,1,1,600,1.02,CRD,8.0 +VTS,1,1,720,1.84,CSH,10.0 +VTS,1,1,1140,1.92,CRD,12.5 +VTS,1,1,720,5.32,CRD,16.0 +VTS,1,2,2280,14.64,CRD,43.5 +VTS,1,2,900,1.88,CRD,10.5 +VTS,1,1,720,2.26,CSH,10.5 +VTS,1,1,600,1.39,CRD,8.5 +VTS,1,1,600,1.85,CRD,9.0 +VTS,1,1,1140,2.07,CSH,12.0 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,2,1140,2.6,CSH,13.5 +VTS,1,2,1440,2.09,CRD,15.0 +VTS,1,6,1680,4.97,CSH,17.5 +VTS,1,6,480,1.62,CSH,7.5 +CMT,1,1,377,1.2,CRD,6.5 +CMT,1,1,654,1.1,CSH,7.5 +CMT,1,1,588,1.4,CSH,8.5 +CMT,1,1,692,1.7,CRD,9.5 +CMT,1,2,414,2.8,CSH,10.0 +CMT,1,1,381,0.7,CSH,6.0 +VTS,1,3,360,1.77,CSH,7.0 +VTS,1,2,1200,6.49,CRD,21.0 +VTS,1,3,420,1.5,CSH,7.5 +VTS,1,5,480,0.96,CSH,6.5 +VTS,1,5,0,0.0,CSH,2.5 +VTS,1,5,1620,7.39,CRD,25.0 +VTS,1,5,120,0.22,CSH,3.0 +VTS,1,5,360,1.47,CSH,7.0 +VTS,1,1,60,0.42,CSH,3.5 +VTS,1,1,600,2.39,CSH,9.5 +VTS,1,1,420,2.26,CRD,8.5 +VTS,1,2,540,0.93,CSH,7.0 +VTS,1,2,1140,3.11,CSH,15.0 +VTS,1,1,840,1.59,CRD,10.5 +VTS,1,1,300,0.56,CRD,5.0 +VTS,1,1,420,1.38,CSH,7.0 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,2,360,0.87,CSH,5.5 +VTS,1,2,1860,8.49,CRD,29.5 +VTS,1,6,240,0.5,CSH,4.5 +VTS,1,6,360,1.03,CRD,6.5 +VTS,1,6,1380,4.64,CSH,18.5 +CMT,4,1,515,1.0,CSH,6.5 +CMT,1,1,447,1.1,CRD,7.0 +CMT,1,1,690,2.5,CSH,11.0 +CMT,4,1,541,1.6,CSH,8.0 +VTS,1,3,720,2.5,CRD,10.5 +VTS,1,3,840,2.19,CRD,11.0 +VTS,1,1,420,1.2,CSH,6.5 +VTS,1,1,720,1.65,CSH,9.5 +VTS,1,1,660,2.46,CSH,11.5 +VTS,1,1,600,2.25,CRD,9.5 +VTS,1,1,600,2.43,CRD,10.0 +VTS,1,4,480,2.29,CRD,8.5 +VTS,1,3,540,1.56,CRD,7.5 +VTS,1,3,1260,4.97,CRD,18.0 +VTS,1,3,180,0.92,CSH,5.0 +VTS,1,2,1140,6.67,CSH,22.0 +VTS,1,3,660,3.23,CRD,12.0 +VTS,1,2,480,2.85,CRD,10.5 +VTS,1,3,720,2.54,CRD,11.0 +VTS,1,2,180,0.88,CSH,5.0 +VTS,1,3,360,1.4,CRD,7.0 +VTS,1,3,240,1.44,CRD,6.0 +VTS,1,2,420,0.82,CRD,6.0 +VTS,1,5,300,0.95,CRD,5.5 +VTS,1,5,420,1.95,CRD,7.5 +VTS,1,5,2340,9.56,CSH,35.5 +VTS,1,1,840,2.16,CRD,10.5 +VTS,1,1,960,2.22,CRD,11.5 +VTS,1,1,240,0.76,CSH,4.5 +VTS,1,1,120,0.23,CSH,3.5 +VTS,1,1,900,4.82,CSH,16.0 +VTS,1,1,660,1.99,CRD,10.0 +VTS,1,1,1140,7.41,CSH,23.0 +VTS,1,2,240,0.51,CRD,4.5 +VTS,1,1,180,0.36,CSH,4.0 +VTS,1,2,300,0.6,CSH,5.0 +VTS,1,2,840,2.05,CSH,11.0 +VTS,1,2,1080,2.28,CRD,12.5 +VTS,1,2,360,0.41,CSH,5.5 +VTS,1,6,480,1.12,CSH,7.5 +VTS,1,6,540,1.02,CRD,7.5 +VTS,1,6,1380,3.32,CSH,17.0 +CMT,4,1,3,9.1,CSH,2.5 +CMT,1,1,574,1.2,CSH,8.0 +CMT,4,2,2110,5.0,CRD,24.0 +CMT,4,1,358,1.0,CRD,6.0 +CMT,1,1,1235,2.6,CSH,14.5 +CMT,1,1,591,1.6,CSH,8.5 +CMT,1,1,659,1.4,CRD,8.5 +CMT,1,1,1435,6.4,CSH,21.5 +CMT,4,1,730,1.8,CSH,9.5 +CMT,1,1,662,2.3,CSH,9.5 +CMT,4,1,1177,5.3,CRD,19.5 +CMT,1,1,590,2.4,CSH,10.0 +CMT,1,1,2015,10.0,CSH,32.5 +CMT,1,4,939,2.5,CSH,12.0 +VTS,1,1,1080,3.9,CSH,15.0 +VTS,1,1,540,1.08,CSH,7.0 +VTS,1,4,1620,4.95,CSH,20.0 +VTS,1,3,300,0.67,CRD,4.5 +VTS,1,3,540,2.32,CSH,9.5 +VTS,1,3,480,1.09,CRD,7.0 +VTS,1,2,1260,10.44,CSH,30.5 +VTS,1,2,720,2.4,CSH,10.5 +VTS,1,2,180,0.89,CSH,5.0 +VTS,1,3,420,2.88,CSH,10.0 +VTS,1,3,240,0.81,CSH,5.0 +VTS,1,2,600,1.81,CSH,9.0 +VTS,1,2,1140,3.3,CSH,15.0 +VTS,1,3,540,2.3,CRD,9.5 +VTS,1,5,720,1.81,CRD,9.5 +VTS,1,5,360,0.46,CSH,4.5 +VTS,1,5,1440,3.58,CRD,17.5 +VTS,1,5,480,1.32,CRD,7.5 +VTS,1,5,1140,3.89,CRD,15.5 +VTS,1,5,660,1.12,CSH,9.0 +VTS,1,5,420,1.25,CSH,7.0 +VTS,1,1,2460,14.83,CRD,45.5 +VTS,1,1,1080,2.78,CRD,13.5 +VTS,1,1,900,3.34,CRD,13.5 +VTS,1,2,600,1.44,CRD,9.0 +VTS,1,2,300,0.77,CSH,5.5 +CMT,4,1,446,1.7,CSH,7.5 +CMT,4,1,1289,2.4,CSH,14.0 +CMT,4,2,275,0.4,CRD,4.0 +CMT,1,1,209,0.5,CRD,4.5 +CMT,1,2,1140,4.5,CRD,18.0 +CMT,1,1,1571,5.3,CSH,20.5 +CMT,1,1,335,0.4,CSH,5.0 +CMT,1,2,951,3.7,CRD,14.0 +CMT,1,1,436,1.0,CSH,6.5 +CMT,1,1,825,3.7,CRD,13.5 +CMT,1,1,771,2.6,CSH,11.5 +CMT,1,1,267,1.0,CSH,5.5 +CMT,1,1,265,0.9,CRD,5.5 +CMT,1,1,994,9.9,CRD,27.5 +CMT,1,1,571,2.3,CSH,9.5 +CMT,2,1,2112,16.9,CRD,52.0 +CMT,1,2,778,4.2,CRD,14.0 +CMT,1,2,537,1.3,CRD,7.5 +CMT,1,1,998,3.6,CSH,15.0 +CMT,1,3,644,2.5,CSH,10.5 +CMT,1,2,509,1.7,CRD,8.0 +CMT,1,1,445,1.4,CRD,7.5 +CMT,1,1,345,0.8,CSH,5.5 +CMT,1,2,816,5.6,CSH,18.0 +CMT,1,2,584,2.0,CRD,9.5 +CMT,1,1,874,3.3,CRD,14.0 +CMT,1,1,286,1.1,CSH,5.5 +CMT,1,1,79,0.4,CSH,3.5 +CMT,1,1,471,1.6,CRD,8.0 +CMT,1,3,219,0.9,CRD,5.5 +CMT,1,2,415,1.3,CRD,7.5 +CMT,1,2,235,0.8,CRD,5.0 +CMT,1,2,969,3.0,CSH,14.0 +CMT,1,2,260,0.7,CSH,5.0 +CMT,1,2,535,1.8,CRD,8.5 +CMT,1,2,182,0.5,CRD,4.5 +CMT,1,1,341,1.0,CSH,6.0 +CMT,1,3,441,1.6,CRD,8.0 +CMT,1,1,346,0.9,CRD,6.0 +CMT,1,2,434,1.0,CRD,7.0 +CMT,1,1,714,2.9,CRD,12.0 +CMT,1,1,215,0.7,CSH,5.0 +CMT,1,1,759,2.6,CRD,11.5 +CMT,1,1,451,1.4,CSH,7.5 +CMT,1,1,45,1.3,NOC,2.5 +CMT,1,2,311,1.6,CSH,7.0 +CMT,1,2,1192,3.5,CRD,16.5 +CMT,1,2,523,1.5,CRD,8.0 +CMT,1,2,1273,5.7,CRD,19.5 +CMT,1,2,584,1.3,CRD,8.5 +CMT,1,2,362,2.6,CRD,9.0 +CMT,1,2,571,1.4,CSH,8.0 +CMT,1,1,582,1.2,CRD,8.0 +CMT,1,2,163,0.6,CSH,4.0 +CMT,1,2,477,1.2,CRD,7.5 +CMT,1,1,1130,6.1,CRD,20.5 +CMT,1,2,841,1.8,CRD,10.5 +CMT,1,2,472,1.2,CRD,7.5 +CMT,1,2,1141,3.2,CSH,14.0 +CMT,1,1,323,0.9,CSH,6.0 +CMT,1,1,752,2.4,CRD,10.5 +CMT,1,1,524,1.4,CSH,8.0 +CMT,1,2,1167,2.5,CRD,14.0 +CMT,1,1,776,2.2,CRD,10.5 +CMT,1,1,447,1.7,CRD,7.5 +CMT,1,2,954,2.1,CRD,12.0 +CMT,1,1,535,1.8,CRD,8.5 +CMT,1,1,696,1.3,CRD,9.0 +CMT,1,1,302,0.6,CSH,5.0 +CMT,1,2,684,2.6,CRD,11.0 +CMT,1,5,180,0.6,CSH,4.5 +CMT,1,2,1086,4.1,CRD,15.5 +CMT,1,1,622,1.1,CSH,8.0 +CMT,1,1,441,1.2,CRD,7.0 +CMT,1,2,702,2.2,CSH,10.5 +CMT,1,2,206,0.7,CSH,4.5 +CMT,1,2,432,1.2,CRD,7.0 +CMT,1,1,427,0.8,CRD,6.5 +CMT,1,1,4,0.9,NOC,2.5 +CMT,1,2,597,1.7,CSH,9.0 +CMT,1,2,429,0.9,CSH,6.5 +CMT,1,1,294,0.9,CSH,5.5 +CMT,1,1,750,6.2,CRD,19.0 +CMT,1,1,188,0.4,CSH,4.0 +CMT,1,2,271,0.7,CRD,5.0 +CMT,1,1,572,2.7,CSH,10.5 +CMT,1,1,385,1.8,CSH,7.5 +CMT,1,1,1155,5.2,CSH,18.0 +CMT,1,2,617,1.5,CRD,8.5 +CMT,1,1,598,1.5,CRD,8.5 +CMT,1,1,820,2.9,CSH,12.5 +CMT,1,2,832,3.0,CRD,13.0 +CMT,1,2,610,1.6,CRD,9.0 +CMT,1,1,412,0.8,CSH,6.0 +CMT,1,1,768,2.3,CSH,10.5 +CMT,1,1,363,0.9,CRD,6.0 +CMT,1,1,512,2.2,CRD,9.0 +CMT,1,1,650,2.4,CRD,10.5 +CMT,1,3,640,2.8,CRD,11.0 +CMT,1,1,1018,3.1,CRD,14.0 +CMT,1,1,789,1.8,CRD,10.0 +CMT,1,1,232,0.6,CRD,4.5 +CMT,1,2,372,1.1,CSH,6.5 +CMT,1,1,287,1.0,CSH,6.0 +CMT,1,1,366,0.7,CRD,6.0 +CMT,4,1,1872,4.2,CSH,20.5 +CMT,4,1,1042,2.1,CSH,11.0 +CMT,1,1,680,2.2,CSH,10.0 +CMT,4,1,874,2.8,CRD,12.5 +CMT,1,1,285,1.0,CRD,5.5 +CMT,1,1,209,0.7,CSH,4.5 +CMT,1,1,557,1.3,CSH,8.0 +CMT,1,1,490,1.0,CSH,7.0 +CMT,1,2,801,2.6,CSH,11.5 +CMT,1,1,111,0.5,CSH,3.5 +CMT,1,1,705,2.6,CSH,11.0 +CMT,1,2,900,3.5,CRD,14.0 +CMT,1,2,656,2.9,CRD,11.0 +CMT,1,1,279,0.5,CSH,5.0 +CMT,1,1,527,0.9,CRD,7.0 +CMT,1,1,458,2.3,CSH,9.0 +CMT,1,1,274,1.0,CRD,5.5 +CMT,1,2,419,1.4,CSH,7.0 +CMT,1,2,235,1.1,CSH,5.5 +CMT,1,2,659,2.6,CRD,11.0 +CMT,1,1,166,1.2,CRD,5.5 +CMT,1,1,342,1.5,CSH,7.0 +CMT,1,2,740,3.7,CRD,13.0 +CMT,1,1,968,2.9,CSH,13.5 +CMT,1,1,677,1.9,CSH,10.0 +CMT,1,1,304,0.8,CRD,5.5 +CMT,1,1,240,0.5,CRD,4.5 +CMT,1,1,236,1.0,CRD,5.5 +CMT,1,1,460,1.6,CRD,8.0 +CMT,1,1,1668,4.5,CRD,20.0 +CMT,1,2,1372,10.6,CSH,30.5 +CMT,1,1,859,2.7,CRD,12.0 +CMT,1,2,449,1.2,CSH,6.5 +CMT,1,1,940,3.1,CSH,13.5 +CMT,1,1,884,3.0,CSH,12.5 +CMT,1,1,1164,3.2,CSH,15.0 +CMT,1,1,474,1.0,CRD,6.5 +CMT,1,1,1644,5.2,CSH,22.5 +CMT,1,2,482,0.8,CSH,6.5 +CMT,1,2,258,1.1,CSH,5.5 +CMT,1,1,690,2.6,CRD,11.0 +CMT,1,2,1582,10.1,CSH,31.5 +CMT,1,2,691,3.3,CSH,12.0 +CMT,1,3,757,2.3,CRD,10.5 +CMT,1,2,423,1.7,CSH,8.0 +CMT,1,1,550,1.9,CSH,8.5 +CMT,1,1,731,2.2,CSH,10.5 +CMT,1,1,346,1.0,CSH,6.0 +CMT,1,1,1016,3.4,CSH,14.0 +CMT,1,1,438,1.4,CRD,7.0 +CMT,1,2,174,0.4,CRD,4.0 +CMT,1,1,1083,8.3,CRD,25.0 +CMT,1,1,372,1.4,CRD,7.0 +CMT,1,4,444,1.0,CSH,6.5 +CMT,1,2,420,1.5,CRD,7.5 +CMT,1,2,1095,2.7,CSH,13.5 +CMT,1,3,1450,3.2,CSH,17.0 +CMT,1,1,1035,2.7,CRD,13.0 +CMT,1,2,886,3.1,CSH,12.5 +CMT,1,2,137,0.6,CRD,4.0 +CMT,1,2,964,8.9,CRD,25.5 +CMT,1,1,1350,3.4,CRD,17.5 +CMT,1,2,432,1.8,CSH,8.0 +CMT,1,1,429,1.1,CRD,6.5 +CMT,1,3,363,0.8,CSH,5.5 +CMT,1,2,562,0.8,CSH,7.5 +CMT,1,2,825,2.3,CRD,11.0 +CMT,1,1,893,2.9,CRD,12.0 +CMT,1,1,439,1.3,CRD,7.5 +CMT,1,2,344,1.2,CRD,6.0 +CMT,1,1,1640,4.7,CRD,21.0 +CMT,1,1,979,3.8,CRD,14.5 +CMT,1,1,671,4.3,CRD,14.5 +CMT,1,1,582,2.5,CSH,10.5 +CMT,1,1,633,1.9,CRD,9.0 +CMT,1,1,626,1.5,CRD,8.5 +CMT,1,2,1394,3.8,CSH,17.5 +CMT,1,1,277,1.2,CSH,6.0 +CMT,1,4,499,1.0,CRD,6.0 +CMT,4,1,663,1.8,CRD,9.0 +CMT,1,1,992,3.0,CRD,13.0 +CMT,1,1,443,1.4,CRD,7.0 +CMT,1,1,624,2.4,CSH,10.0 +CMT,1,2,1836,4.0,CSH,21.0 +CMT,1,2,1065,3.8,CSH,16.0 +CMT,1,1,333,1.5,CRD,7.0 +CMT,1,2,632,2.7,CRD,11.0 +CMT,1,2,667,3.5,CRD,12.0 +CMT,1,1,271,0.9,CSH,5.5 +CMT,1,3,462,0.9,CSH,6.5 +CMT,1,1,771,2.0,CRD,10.5 +CMT,1,1,573,1.5,CRD,8.5 +CMT,1,1,856,2.7,CRD,12.5 +CMT,1,1,217,0.7,CRD,5.0 +CMT,1,1,644,1.4,CSH,8.5 +CMT,1,3,446,1.5,CSH,7.5 +CMT,1,3,1111,3.2,CSH,15.5 +CMT,1,2,992,3.5,CSH,14.0 +CMT,1,1,284,0.6,CSH,5.0 +CMT,1,2,528,2.1,CRD,9.0 +CMT,1,1,288,1.2,CSH,6.0 +CMT,1,1,302,1.2,CRD,6.0 +CMT,1,1,248,1.7,CRD,6.5 +CMT,1,1,588,2.4,CRD,9.5 +CMT,1,3,799,2.3,CSH,11.0 +CMT,1,2,359,1.3,CSH,6.5 +CMT,1,1,349,2.2,CSH,8.0 +CMT,1,2,420,1.3,CRD,7.0 +CMT,1,3,554,1.3,CSH,8.0 +CMT,1,1,272,1.4,CSH,6.0 +CMT,1,1,802,2.2,CRD,11.0 +CMT,1,2,499,1.6,CRD,8.0 +CMT,1,1,631,2.4,CRD,10.0 +CMT,1,1,704,2.7,CRD,11.0 +CMT,1,2,531,1.6,CSH,8.5 +CMT,1,1,1353,8.7,CSH,27.0 +CMT,1,1,827,1.9,CRD,10.5 +CMT,1,1,523,1.4,CRD,8.0 +CMT,1,2,1016,3.2,CSH,14.0 +CMT,1,1,1033,4.0,CRD,15.5 +CMT,1,1,530,1.4,CRD,8.0 +CMT,1,2,626,0.8,CRD,7.5 +CMT,1,1,663,2.0,CSH,9.5 +CMT,1,4,146,0.4,CSH,4.0 +CMT,1,3,1016,5.6,CSH,19.0 +CMT,1,1,1315,3.7,CRD,17.0 +CMT,1,2,1457,1.8,CRD,15.5 +CMT,1,3,415,1.2,CSH,7.0 +CMT,1,1,166,0.7,CRD,4.5 +VTS,1,2,360,0.69,CSH,5.5 +VTS,4,1,300,1.25,CRD,6.0 +VTS,1,1,840,2.73,CRD,12.5 +VTS,1,1,480,1.34,CSH,7.5 +VTS,1,2,420,0.35,CSH,6.0 +VTS,1,6,900,2.63,CSH,12.0 +VTS,1,6,900,2.41,CRD,12.0 +CMT,4,1,8,0.0,CSH,2.5 +CMT,1,1,1485,9.1,CSH,28.0 +CMT,4,1,746,1.2,CSH,7.5 +CMT,1,1,588,1.5,CRD,8.0 +CMT,4,1,1520,6.2,CSH,22.0 +CMT,4,1,982,3.5,CSH,15.0 +CMT,1,1,1647,5.5,CRD,21.5 +CMT,4,1,2539,3.8,CSH,26.0 +CMT,1,1,544,1.5,CSH,8.0 +CMT,1,1,1127,2.6,CSH,13.0 +CMT,4,1,291,0.9,CRD,5.5 +CMT,1,1,318,0.8,CRD,5.0 +CMT,1,1,1077,6.4,CRD,22.0 +CMT,1,2,682,1.6,CSH,9.5 +CMT,1,2,732,3.9,CSH,14.0 +CMT,1,1,441,0.9,CRD,6.5 +CMT,1,1,1096,4.5,CRD,15.5 +CMT,1,3,1408,3.6,CSH,17.5 +CMT,1,1,1079,4.3,CRD,17.0 +CMT,1,1,185,0.7,CRD,4.5 +CMT,1,3,721,1.9,CRD,9.5 +CMT,1,3,447,1.2,CSH,7.0 +CMT,1,2,223,0.9,CSH,5.5 +CMT,1,1,547,1.4,CRD,8.0 +CMT,1,1,1213,4.0,CSH,17.0 +CMT,1,1,1064,4.4,CRD,17.0 +CMT,1,1,415,0.7,CSH,6.0 +CMT,1,2,977,3.6,CRD,14.5 +CMT,1,2,563,4.6,CRD,14.5 +CMT,1,2,961,3.8,CSH,15.0 +CMT,1,2,486,2.0,CRD,8.5 +CMT,1,1,381,1.2,CRD,6.5 +CMT,1,1,773,1.3,CRD,9.5 +CMT,1,1,491,1.9,CRD,8.5 +CMT,1,2,873,6.8,CSH,20.5 +CMT,1,1,2151,7.7,CRD,29.0 +CMT,1,1,399,1.0,CSH,6.5 +CMT,1,1,383,1.0,CRD,6.0 +CMT,1,1,366,1.1,CRD,6.5 +CMT,1,1,594,1.4,CSH,8.0 +CMT,1,2,569,1.2,CSH,8.0 +CMT,1,1,488,1.2,CRD,7.0 +CMT,1,1,137,0.4,CSH,3.5 +CMT,1,1,784,2.2,CRD,11.0 +CMT,1,4,878,1.4,CRD,10.0 +CMT,1,1,194,1.2,CSH,5.5 +CMT,1,2,418,1.3,CRD,7.0 +CMT,1,1,601,2.4,CRD,10.0 +CMT,1,2,803,3.3,CRD,12.0 +CMT,1,4,970,3.0,CRD,13.5 +CMT,1,1,824,1.7,CRD,10.5 +CMT,1,1,259,0.8,CRD,5.5 +CMT,1,1,293,1.0,CRD,5.5 +CMT,1,2,720,2.9,CRD,11.5 +CMT,1,1,527,2.5,CRD,10.0 +CMT,1,1,1199,5.2,CRD,19.5 +CMT,1,1,507,1.2,CRD,7.5 +CMT,1,1,711,2.8,CSH,11.5 +CMT,1,2,507,1.5,CSH,7.5 +CMT,1,1,852,1.2,CRD,10.0 +CMT,1,1,1137,5.9,CRD,20.5 +CMT,1,2,1203,4.8,CRD,18.0 +CMT,1,1,644,2.5,CSH,11.0 +CMT,1,3,1000,4.1,CSH,15.0 +CMT,1,1,922,4.5,CRD,15.5 +CMT,1,3,1501,6.3,CRD,23.0 +CMT,1,2,356,1.2,CSH,7.0 +CMT,1,1,208,0.7,CSH,4.5 +CMT,1,1,574,2.3,CRD,10.0 +CMT,1,2,405,1.4,CRD,7.0 +CMT,1,2,594,1.8,CRD,9.0 +CMT,1,1,575,0.9,CSH,7.5 +CMT,1,3,211,0.8,CSH,5.0 +CMT,1,1,417,1.3,CSH,7.0 +CMT,1,1,806,2.5,CSH,11.0 +CMT,1,2,607,2.6,CRD,10.0 +CMT,1,2,110,0.3,CSH,3.5 +CMT,1,2,283,0.9,CRD,5.5 +CMT,1,1,424,1.9,CRD,8.5 +CMT,1,1,538,2.2,CRD,9.5 +CMT,1,1,1174,7.5,CRD,24.0 +CMT,1,2,1102,3.9,CSH,15.0 +CMT,1,1,479,1.3,CRD,7.0 +CMT,1,2,217,0.6,CRD,4.5 +CMT,1,2,459,1.7,CRD,8.0 +CMT,1,2,302,1.0,CSH,6.0 +CMT,1,2,608,1.1,CSH,8.0 +CMT,1,1,890,4.7,CRD,16.0 +CMT,1,2,696,2.6,CRD,10.5 +CMT,1,1,686,2.3,CRD,10.5 +CMT,1,1,725,2.7,CRD,11.5 +CMT,1,2,641,1.5,CSH,8.5 +CMT,1,1,288,1.5,CRD,6.5 +CMT,1,1,864,2.7,CRD,12.0 +CMT,1,1,725,3.7,CSH,14.0 +CMT,1,1,380,1.0,CRD,6.5 +CMT,1,2,542,1.8,CSH,8.5 +CMT,1,1,257,1.0,CRD,5.5 +CMT,1,1,500,1.1,CSH,7.5 +CMT,1,1,184,0.8,CSH,5.0 +CMT,1,2,212,0.5,CSH,4.5 +CMT,1,1,272,0.5,CSH,5.0 +CMT,1,1,298,0.9,CSH,5.5 +CMT,1,1,539,1.9,CRD,8.5 +CMT,1,2,209,0.9,CRD,5.0 +CMT,1,2,1768,6.1,CRD,24.0 +CMT,1,2,416,1.2,CSH,7.0 +CMT,1,2,619,2.0,CRD,9.5 +CMT,1,1,649,3.2,CRD,12.5 +CMT,1,1,541,1.5,CRD,8.5 +CMT,1,1,958,3.0,CSH,13.0 +CMT,1,1,1159,9.8,CRD,28.5 +CMT,1,2,340,1.0,CRD,6.0 +CMT,1,2,443,1.5,CSH,7.5 +CMT,1,2,612,2.4,CRD,10.0 +CMT,1,3,737,2.8,CRD,11.5 +CMT,1,1,822,3.6,CSH,13.5 +CMT,1,1,292,0.8,CRD,5.5 +CMT,1,1,1433,2.7,CRD,16.0 +CMT,1,2,344,1.0,CRD,6.0 +CMT,1,2,272,0.5,CRD,5.0 +CMT,1,1,442,1.0,CSH,6.5 +CMT,1,2,580,1.0,CRD,7.5 +CMT,1,2,567,1.3,CRD,8.0 +CMT,1,3,1281,6.1,CRD,22.0 +CMT,1,1,312,1.2,CRD,6.0 +CMT,1,1,286,1.8,CRD,7.0 +CMT,1,1,789,2.4,CRD,11.5 +CMT,1,2,271,0.9,CRD,5.0 +CMT,1,1,1358,13.0,CRD,36.5 +CMT,1,2,900,3.0,CSH,12.5 +CMT,1,2,271,0.5,CSH,4.5 +CMT,1,2,818,3.5,CRD,12.5 +CMT,1,1,873,3.5,CSH,13.5 +CMT,1,1,433,1.8,CRD,8.0 +CMT,1,1,429,1.0,CSH,6.5 +CMT,1,1,260,1.1,CSH,6.0 +CMT,1,2,609,1.3,CRD,8.0 +CMT,1,2,333,1.0,CRD,6.0 +CMT,1,1,441,1.3,CRD,7.5 +CMT,1,2,310,1.6,CSH,6.5 +CMT,1,2,822,2.1,CRD,11.0 +CMT,1,2,467,1.0,CSH,7.0 +CMT,1,2,1173,4.4,CRD,16.0 +CMT,1,1,947,2.0,CSH,11.5 +CMT,1,2,508,2.1,CRD,9.5 +CMT,1,1,193,0.4,CSH,4.0 +CMT,1,5,1083,4.9,CRD,17.0 +CMT,1,2,971,5.6,CRD,19.0 +CMT,1,2,239,0.8,CSH,5.0 +CMT,1,1,596,3.1,CRD,11.0 +CMT,1,1,174,0.9,CSH,5.0 +CMT,1,3,836,3.1,CSH,12.5 +CMT,1,2,860,3.5,CRD,13.0 +CMT,1,2,1067,3.8,CRD,16.0 +CMT,1,2,158,0.7,CRD,4.5 +CMT,1,4,1200,3.3,CSH,16.0 +CMT,1,2,108,0.5,CRD,3.5 +CMT,1,2,1024,7.1,CRD,21.5 +CMT,1,1,199,0.9,CSH,5.0 +CMT,1,1,682,2.1,CRD,10.0 +CMT,1,1,254,0.8,CRD,5.0 +CMT,1,2,1115,2.2,CSH,13.5 +CMT,1,1,1233,3.9,CRD,16.5 +CMT,1,1,866,2.9,CSH,12.5 +CMT,1,2,197,0.6,CSH,4.5 +CMT,1,1,324,1.2,CRD,6.5 +CMT,1,1,653,1.8,CSH,9.5 +CMT,1,1,677,1.7,CRD,9.5 +CMT,1,2,255,0.7,CRD,5.0 +CMT,1,3,677,1.3,CRD,9.0 +CMT,1,1,236,0.9,CSH,5.0 +CMT,1,1,833,5.1,CRD,17.0 +CMT,1,3,216,1.1,CRD,5.5 +CMT,1,1,595,4.0,CRD,13.5 +CMT,1,1,385,1.1,CRD,6.0 +CMT,1,1,845,2.6,CRD,11.5 +CMT,1,2,639,2.8,CSH,10.5 +CMT,1,2,323,1.3,CRD,6.0 +CMT,1,1,495,1.3,CSH,7.5 +CMT,1,1,1024,2.6,CRD,12.5 +CMT,1,1,822,1.3,CSH,10.0 +CMT,1,1,613,1.5,CSH,8.5 +CMT,1,2,414,1.1,CRD,6.5 +CMT,1,1,732,2.3,CRD,11.0 +CMT,1,1,701,2.6,CRD,11.0 +CMT,1,2,1301,1.4,CSH,14.0 +CMT,1,1,111,0.7,CSH,4.0 +CMT,1,1,869,4.3,CSH,15.0 +CMT,1,2,336,1.0,CRD,6.0 +CMT,1,2,160,0.5,CRD,4.0 +CMT,1,1,125,0.4,CRD,3.5 +CMT,1,2,1395,4.0,CRD,18.0 +CMT,1,2,139,0.5,CSH,4.0 +CMT,1,2,1080,3.8,CRD,15.0 +CMT,1,1,1281,5.5,CRD,20.0 +CMT,1,1,780,1.7,CRD,10.5 +CMT,1,2,451,2.3,CSH,9.0 +CMT,1,5,241,1.2,CRD,5.5 +CMT,1,1,546,3.2,CSH,11.0 +CMT,1,1,597,1.2,CSH,8.0 +CMT,1,2,337,1.1,CRD,6.5 +CMT,1,2,608,1.4,CSH,8.5 +CMT,1,1,469,1.0,CSH,7.0 +CMT,1,1,386,1.2,CRD,6.5 +CMT,1,1,1476,4.5,CRD,19.5 +CMT,1,2,1253,9.3,CRD,28.0 +CMT,1,3,160,0.4,CRD,4.0 +CMT,1,1,785,1.2,CRD,9.5 +CMT,1,1,360,1.2,CRD,7.0 +CMT,1,2,853,1.2,CRD,10.0 +CMT,1,2,1006,3.0,CRD,14.5 +CMT,1,1,1290,5.7,CRD,20.0 +CMT,1,2,1125,3.5,CRD,15.0 +CMT,1,1,668,3.7,CRD,12.5 +CMT,1,2,484,1.4,CRD,7.5 +CMT,1,1,612,2.9,CRD,11.0 +CMT,1,2,944,5.4,CSH,17.5 +CMT,1,1,371,0.9,CRD,6.0 +CMT,1,1,972,5.2,CSH,18.5 +CMT,1,1,460,0.9,CSH,6.5 +CMT,1,1,245,0.6,CSH,5.0 +CMT,1,2,194,0.7,CSH,5.0 +CMT,1,1,523,1.7,CSH,8.0 +CMT,1,2,216,0.6,CRD,4.5 +CMT,1,1,904,6.5,CRD,20.0 +CMT,1,1,298,1.6,CSH,7.0 +CMT,1,1,1124,3.7,CRD,15.5 +CMT,1,2,1230,2.8,CRD,15.0 +CMT,1,2,675,2.1,CSH,10.0 +CMT,1,3,503,2.3,CSH,9.0 +CMT,1,1,768,3.4,CSH,12.0 +CMT,1,1,369,0.8,CRD,6.0 +CMT,1,2,226,0.5,CRD,4.5 +CMT,1,2,549,2.2,CRD,9.5 +CMT,1,2,784,3.4,CRD,12.5 +CMT,1,1,428,1.0,CSH,6.5 +CMT,1,1,550,1.7,CRD,8.5 +CMT,1,1,290,0.5,CRD,5.0 +CMT,1,1,519,1.2,CSH,7.5 +CMT,2,1,1827,18.9,CSH,52.0 +CMT,1,1,282,0.6,CRD,5.0 +CMT,1,2,418,1.6,CRD,7.5 +CMT,1,1,153,0.6,CRD,4.0 +CMT,1,2,1288,3.7,CSH,17.0 +CMT,1,2,479,2.6,CSH,9.5 +CMT,1,3,1075,6.0,CRD,20.5 +CMT,1,2,523,1.5,CSH,8.0 +CMT,1,2,308,1.1,CRD,6.0 +CMT,1,1,645,1.5,CSH,9.0 +CMT,1,2,484,1.3,CSH,7.5 +CMT,2,1,1,0.4,NOC,52.0 +CMT,1,2,708,1.1,CSH,9.0 +CMT,1,1,249,1.1,CRD,5.5 +CMT,1,2,711,1.9,CRD,9.5 +CMT,1,1,225,1.3,CSH,5.5 +CMT,1,2,477,2.1,CSH,9.0 +CMT,1,1,689,2.9,CRD,11.5 +CMT,1,1,209,0.9,CSH,5.0 +CMT,1,1,1920,6.0,CRD,24.0 +CMT,1,1,949,2.9,CRD,12.5 +CMT,1,2,580,1.0,CRD,8.0 +CMT,1,1,219,0.5,CRD,4.5 +CMT,1,1,581,2.1,CSH,9.0 +CMT,1,2,501,1.9,CRD,8.5 +CMT,1,2,547,1.8,CSH,8.5 +CMT,1,1,638,1.4,CRD,9.0 +CMT,1,1,340,0.9,CSH,6.0 +CMT,1,1,576,1.8,CRD,8.5 +CMT,1,2,766,1.8,CSH,10.0 +CMT,1,2,533,1.0,CSH,7.0 +CMT,1,1,182,0.5,CRD,4.0 +CMT,1,2,1117,3.7,CRD,16.0 +CMT,1,1,931,7.5,CRD,23.0 +CMT,1,2,513,1.7,CRD,8.5 +CMT,1,2,724,1.5,CSH,9.0 +CMT,1,1,932,6.9,CRD,21.5 +CMT,1,1,282,0.7,CSH,5.0 +CMT,1,2,311,1.2,CSH,6.0 +CMT,1,1,1166,5.4,CRD,19.0 +CMT,1,1,220,0.5,CRD,4.5 +CMT,1,1,28,0.1,CRD,2.5 +CMT,1,1,1211,6.9,CSH,23.0 +CMT,1,1,1446,6.8,CRD,23.0 +CMT,1,1,1023,3.0,CRD,13.5 +CMT,1,1,493,1.1,CRD,7.5 +CMT,1,2,294,1.0,CRD,5.5 +CMT,1,1,224,0.7,CRD,4.5 +CMT,1,1,3,0.7,NOC,2.5 +CMT,1,3,1020,3.7,CRD,15.0 +CMT,1,1,317,0.9,CRD,6.0 +CMT,1,2,487,1.5,CSH,8.0 +CMT,1,1,195,0.3,CSH,4.0 +CMT,1,2,806,2.0,CRD,11.0 +CMT,1,1,623,2.2,CRD,10.0 +CMT,1,3,815,3.2,CSH,12.0 +CMT,1,1,528,0.8,CSH,7.0 +CMT,1,3,335,0.7,CSH,5.5 +CMT,1,2,278,0.6,CSH,5.0 +CMT,1,2,743,2.2,CRD,10.5 +CMT,1,2,622,1.6,CRD,8.5 +CMT,1,1,396,0.6,CSH,5.5 +CMT,1,3,735,2.2,CRD,10.0 +CMT,1,1,1038,2.1,CSH,12.0 +CMT,1,2,546,1.5,CRD,7.5 +CMT,1,3,343,1.0,CRD,6.0 +CMT,1,2,567,1.5,CSH,8.0 +CMT,1,3,518,2.9,CRD,10.0 +CMT,1,2,469,2.1,CRD,8.5 +CMT,1,1,95,0.4,CSH,3.5 +CMT,1,2,551,2.7,CRD,10.0 +CMT,1,2,244,0.6,CRD,5.0 +CMT,1,2,278,1.2,CRD,6.0 +CMT,1,2,820,4.7,CRD,16.0 +CMT,1,2,2743,12.7,CRD,42.5 +CMT,1,1,451,1.2,CRD,7.5 +CMT,1,1,448,1.4,CSH,7.5 +CMT,1,2,470,1.7,CSH,8.0 +CMT,1,2,246,1.0,CSH,5.5 +CMT,1,1,367,0.7,CRD,6.0 +CMT,1,1,386,1.2,CRD,6.5 +CMT,1,1,504,1.1,CSH,7.0 +CMT,1,3,549,1.5,CRD,8.0 +CMT,1,1,993,4.4,CRD,15.5 +CMT,1,2,593,2.2,CRD,10.0 +CMT,1,1,139,0.3,CRD,3.5 +CMT,1,1,448,1.1,CSH,6.5 +CMT,1,1,439,0.6,CSH,6.0 +CMT,1,1,285,0.8,CSH,5.0 +CMT,1,1,909,3.8,CSH,14.5 +CMT,1,1,1288,5.4,CRD,19.5 +CMT,1,2,522,1.5,CRD,8.0 +CMT,1,2,494,1.9,CSH,9.0 +CMT,1,1,563,1.4,CRD,8.5 +CMT,1,1,735,2.5,CSH,11.0 +CMT,1,1,299,0.9,CSH,5.5 +CMT,1,2,1881,6.2,CRD,25.0 +CMT,1,2,985,3.5,CSH,13.5 +CMT,1,1,135,0.6,CRD,4.0 +CMT,1,2,348,1.0,CSH,6.0 +CMT,1,2,439,0.8,CRD,7.0 +CMT,1,2,437,1.8,CRD,8.0 +CMT,1,3,606,1.7,CSH,9.0 +CMT,1,2,448,1.2,CRD,7.0 +CMT,1,1,513,1.1,CRD,7.5 +CMT,1,2,324,1.2,CSH,6.0 +CMT,1,1,863,1.2,CSH,10.0 +CMT,1,3,472,1.0,CSH,7.0 +CMT,1,1,290,1.1,CSH,6.0 +CMT,1,2,751,3.0,CRD,11.5 +CMT,1,1,828,1.7,CSH,10.0 +CMT,1,2,939,4.5,CRD,16.5 +CMT,1,1,675,3.6,CRD,12.5 +CMT,1,1,165,1.0,CSH,5.0 +CMT,1,1,439,1.5,CSH,7.5 +CMT,1,1,335,1.3,CRD,6.0 +CMT,1,1,475,1.0,CRD,7.0 +CMT,1,1,331,0.7,CSH,5.5 +CMT,1,1,725,1.0,CSH,8.5 +CMT,1,1,857,2.1,CRD,12.0 +CMT,1,3,659,2.4,CRD,10.5 +CMT,1,1,517,2.0,CRD,9.0 +CMT,1,2,289,1.0,CRD,5.5 +CMT,1,2,157,0.5,CSH,4.0 +CMT,1,1,1792,6.6,CRD,25.5 +CMT,1,2,830,2.5,CRD,11.5 +CMT,1,2,303,0.9,CSH,5.5 +CMT,1,1,287,0.9,CRD,5.5 +CMT,1,1,918,4.3,CSH,15.5 +CMT,1,1,1021,5.4,CSH,18.5 +CMT,1,2,683,2.1,CSH,10.0 +CMT,1,2,791,4.1,CRD,15.0 +CMT,1,1,323,1.1,CSH,6.5 +CMT,1,1,254,0.4,CSH,4.5 +CMT,1,1,549,1.2,CSH,7.5 +CMT,1,1,343,0.9,CRD,6.0 +CMT,1,2,242,1.3,CRD,6.0 +CMT,1,2,379,1.5,CSH,7.0 +CMT,1,1,173,0.9,CSH,4.5 +CMT,1,1,116,0.6,CSH,4.0 +CMT,1,1,171,0.4,CSH,4.0 +CMT,1,1,799,2.6,CRD,11.5 +CMT,1,1,54,0.7,CRD,2.5 +CMT,1,2,227,1.0,CSH,5.5 +CMT,2,1,1885,16.6,CSH,52.0 +CMT,1,1,451,0.6,CRD,6.5 +CMT,1,5,455,1.0,CSH,7.0 +CMT,1,1,990,3.4,CSH,14.5 +CMT,1,1,1204,4.3,CRD,17.5 +CMT,1,2,199,0.6,CSH,4.5 +CMT,1,1,392,1.2,CRD,7.0 +CMT,1,2,274,0.4,CSH,5.0 +CMT,1,2,153,0.2,CSH,3.5 +CMT,1,3,154,0.4,CSH,4.0 +CMT,1,1,529,1.6,CSH,8.0 +CMT,1,1,520,1.6,CSH,8.5 +CMT,1,2,572,1.9,CSH,8.5 +CMT,1,2,275,0.7,CRD,5.0 +CMT,1,2,558,1.0,CRD,7.5 +CMT,1,1,577,1.9,CRD,8.5 +CMT,1,1,461,0.9,CRD,6.5 +CMT,1,2,240,0.6,CRD,4.5 +CMT,1,2,400,0.7,CSH,6.0 +CMT,1,2,205,0.7,CRD,4.5 +CMT,1,2,821,1.3,CRD,10.0 +CMT,1,2,477,1.2,CRD,7.0 +CMT,1,2,1691,3.3,CRD,18.5 +CMT,1,2,676,2.2,CSH,10.0 +CMT,1,3,985,5.1,CRD,16.5 +CMT,1,1,288,1.4,CRD,6.5 +CMT,1,3,587,2.5,CSH,10.0 +CMT,1,1,959,6.1,CRD,19.5 +CMT,1,1,1127,3.9,CRD,16.5 +CMT,1,2,1035,5.1,CRD,18.0 +CMT,1,2,662,2.1,CRD,9.5 +CMT,1,2,809,2.7,CRD,11.5 +CMT,1,2,302,1.1,CSH,6.0 +CMT,1,2,542,1.7,CRD,8.5 +CMT,1,5,769,0.9,CSH,9.0 +CMT,1,2,256,0.6,CSH,5.0 +CMT,1,2,488,1.3,CRD,7.5 +CMT,1,2,630,1.5,CRD,9.0 +CMT,1,2,744,1.6,CRD,9.5 +CMT,1,3,1319,3.1,CSH,16.5 +CMT,1,2,706,2.0,CRD,10.0 +CMT,1,2,1770,5.6,CRD,22.5 +CMT,1,1,1527,5.2,CSH,20.0 +CMT,1,2,684,3.2,CRD,12.0 +CMT,1,1,397,0.9,CRD,6.5 +CMT,1,1,614,1.3,CRD,8.0 +CMT,1,2,263,1.0,CRD,5.5 +CMT,1,2,365,1.0,CRD,6.0 +CMT,1,2,665,2.5,CRD,10.0 +CMT,1,1,92,0.3,CSH,3.0 +CMT,1,1,942,2.2,CRD,11.5 +CMT,1,1,795,1.6,CSH,10.0 +CMT,1,3,580,0.9,CSH,7.5 +CMT,1,3,823,2.5,CSH,12.0 +CMT,1,2,1163,4.7,CSH,18.0 +CMT,1,3,621,1.5,CRD,8.5 +CMT,1,2,510,1.4,CRD,8.0 +CMT,1,1,550,1.5,CRD,8.0 +CMT,1,3,519,1.5,CRD,8.0 +CMT,1,2,692,1.2,CSH,8.5 +CMT,1,2,638,2.7,CRD,10.0 +CMT,1,2,847,2.5,CSH,11.5 +CMT,1,2,761,4.1,CRD,14.5 +CMT,1,2,263,0.5,CSH,4.5 +CMT,1,2,156,0.4,CRD,4.0 +CMT,1,2,276,0.5,CRD,5.0 +CMT,1,3,1590,12.1,CRD,34.5 +CMT,1,3,341,1.2,CSH,6.5 +CMT,1,1,453,1.2,CRD,7.0 +CMT,1,1,289,0.9,CSH,5.5 +CMT,1,1,542,1.3,CRD,7.5 +CMT,1,1,947,1.4,CRD,11.0 +CMT,1,1,599,1.4,CRD,8.5 +CMT,1,1,804,1.9,CSH,10.5 +CMT,1,1,677,2.3,CRD,10.0 +CMT,1,1,870,4.1,CRD,15.0 +CMT,1,1,568,1.5,CRD,8.5 +CMT,1,1,708,1.5,CRD,9.0 +CMT,1,1,771,3.5,CSH,13.0 +CMT,1,1,782,2.7,CSH,12.0 +CMT,1,3,136,0.5,CRD,4.0 +CMT,1,2,604,1.7,CRD,9.0 +CMT,1,1,35,6.1,NOC,2.5 +CMT,1,1,1030,4.0,CRD,15.5 +CMT,1,2,207,0.6,CSH,4.5 +CMT,1,2,709,2.0,CRD,10.0 +CMT,1,1,388,1.6,CRD,7.5 +CMT,1,2,453,2.1,CSH,8.5 +CMT,1,1,912,5.2,CSH,18.0 +CMT,1,1,724,1.4,CSH,9.5 +CMT,1,1,655,2.1,CSH,10.0 +CMT,1,2,884,2.6,CSH,12.0 +CMT,1,1,792,4.5,CRD,15.5 +CMT,1,1,508,1.1,CRD,7.5 +CMT,1,1,644,1.5,CSH,9.0 +CMT,1,1,363,0.8,CSH,6.0 +CMT,1,1,322,1.2,CRD,6.0 +CMT,1,2,312,0.9,CRD,6.0 +CMT,1,4,334,1.0,CSH,6.0 +CMT,1,1,481,1.1,CRD,7.0 +CMT,1,1,471,1.6,CRD,8.0 +CMT,1,1,485,1.1,CRD,7.0 +CMT,1,1,707,1.3,CRD,9.0 +CMT,1,2,929,2.4,CRD,12.0 +CMT,1,2,185,0.5,CSH,4.5 +CMT,1,1,291,0.6,CSH,5.0 +CMT,1,1,488,1.1,CRD,7.0 +CMT,1,1,1469,4.5,CRD,18.5 +CMT,1,2,1137,2.2,CRD,13.5 +CMT,1,2,563,1.5,CSH,8.0 +CMT,1,3,541,1.6,CRD,8.5 +CMT,1,2,630,1.2,CSH,8.5 +CMT,1,3,1981,5.1,CRD,23.0 +CMT,1,2,194,0.3,CRD,4.0 +CMT,1,2,477,2.5,CSH,9.0 +CMT,1,1,750,3.7,CSH,14.0 +CMT,1,1,1066,3.1,CRD,14.5 +CMT,1,2,909,2.0,CRD,11.0 +CMT,1,1,164,0.4,CRD,4.0 +CMT,1,2,954,2.8,CSH,12.5 +CMT,1,4,286,0.7,CRD,5.0 +CMT,1,2,243,0.4,CSH,4.5 +CMT,1,2,548,1.3,CRD,7.5 +CMT,1,1,339,1.3,CSH,6.5 +CMT,1,1,103,0.6,CSH,4.0 +CMT,1,1,1033,3.9,CRD,15.5 +CMT,1,1,922,2.6,CSH,12.5 +CMT,1,1,8,3.7,CSH,2.5 +CMT,1,1,256,0.7,CSH,5.0 +CMT,1,1,523,1.1,CRD,7.5 +CMT,1,1,1086,2.6,CRD,14.0 +CMT,1,1,1939,8.3,CRD,30.0 +CMT,1,2,521,2.1,CRD,8.5 +CMT,1,2,1725,6.3,CRD,25.0 +CMT,1,1,524,1.8,CSH,8.5 +CMT,1,2,259,0.9,NOC,5.0 +CMT,1,1,369,0.9,CSH,6.0 +CMT,1,2,107,0.3,CRD,3.5 +CMT,1,2,634,2.0,CSH,9.5 +CMT,1,2,125,0.4,CSH,4.0 +CMT,1,3,249,0.4,CSH,4.5 +CMT,1,3,1140,4.1,CRD,16.5 +CMT,1,2,798,2.4,CRD,11.5 +CMT,1,2,408,1.4,CRD,7.0 +CMT,1,1,814,3.4,CRD,12.5 +CMT,1,1,444,1.2,CRD,7.0 +CMT,1,2,599,1.8,CSH,9.0 +CMT,1,1,465,1.0,CSH,7.0 +CMT,1,2,1381,7.2,CRD,24.5 +CMT,1,1,587,2.3,CRD,9.5 +CMT,1,2,128,0.4,CRD,4.0 +CMT,1,2,1217,5.5,CRD,20.0 +CMT,1,2,1469,6.9,CRD,24.5 +CMT,1,1,352,0.9,CRD,6.0 +CMT,1,3,627,1.5,CSH,9.0 +CMT,1,1,410,1.2,CRD,7.0 +CMT,1,1,619,1.7,CRD,9.0 +CMT,1,1,722,2.4,CRD,11.0 +CMT,1,1,703,3.4,CRD,12.5 +CMT,1,1,405,2.9,CRD,9.5 +CMT,1,1,640,2.3,CSH,9.5 +CMT,1,1,988,6.6,CSH,19.5 +CMT,1,1,279,0.5,CSH,5.0 +CMT,1,1,1239,3.2,CSH,16.0 +CMT,1,1,810,1.1,CRD,10.0 +CMT,1,1,597,2.4,CSH,10.0 +CMT,1,1,619,1.4,CSH,8.5 +CMT,1,1,772,3.0,CRD,11.5 +CMT,1,1,566,1.5,CSH,8.5 +CMT,1,1,305,1.2,CRD,6.0 +CMT,1,1,296,1.2,CRD,6.0 +CMT,1,1,805,1.8,CRD,10.5 +CMT,1,1,525,1.8,CRD,8.5 +CMT,1,1,73,0.2,CSH,3.0 +CMT,1,1,206,1.2,CSH,5.5 +CMT,1,1,644,1.6,CRD,9.0 +CMT,1,1,799,1.7,CSH,10.0 +CMT,1,1,322,1.1,CRD,6.0 +CMT,1,1,615,1.0,CRD,8.0 +CMT,1,1,366,0.6,CRD,5.5 +CMT,1,1,161,0.5,CRD,4.0 +CMT,1,1,959,3.0,CRD,13.0 +CMT,1,2,492,1.9,CSH,9.0 +CMT,1,1,537,1.3,CSH,7.5 +CMT,1,1,492,1.1,CRD,7.5 +CMT,1,1,324,0.9,CRD,6.0 +CMT,1,2,1157,2.5,CRD,13.5 +CMT,1,1,1007,3.2,CRD,14.0 +CMT,1,3,467,1.9,CSH,8.5 +CMT,1,1,372,1.7,CSH,7.0 +CMT,1,1,851,1.2,CRD,10.0 +CMT,1,1,683,2.8,CSH,11.5 +CMT,1,1,156,0.9,CSH,4.5 +CMT,1,1,1109,3.0,CSH,14.5 +CMT,1,1,827,3.2,CRD,12.5 +CMT,1,1,2057,11.2,CSH,36.5 +CMT,1,1,244,1.2,CSH,6.0 +CMT,1,1,142,0.5,CSH,4.0 +CMT,1,1,229,0.9,CSH,5.0 +CMT,1,1,197,1.1,CSH,5.5 +CMT,1,1,443,1.4,CRD,7.5 +CMT,1,1,148,0.6,CSH,4.5 +CMT,1,1,430,1.7,CSH,7.5 +CMT,1,1,730,1.1,CRD,9.0 +CMT,1,1,228,0.7,CRD,5.0 +CMT,1,1,585,0.7,CSH,7.5 +CMT,1,1,435,0.7,CSH,6.5 +CMT,1,2,351,0.9,CSH,6.0 +CMT,1,1,538,1.4,CSH,8.0 +CMT,1,1,342,1.7,CRD,7.0 +CMT,1,1,694,1.7,CSH,9.0 +CMT,1,1,445,1.4,CSH,7.0 +CMT,1,2,365,0.8,CSH,6.0 +CMT,1,1,908,3.4,CRD,13.0 +CMT,1,1,326,1.7,CRD,7.0 +CMT,1,1,156,0.8,CRD,4.5 +CMT,1,2,274,0.7,CSH,5.0 +CMT,1,2,490,0.4,CSH,6.5 +CMT,1,1,445,2.0,CRD,8.5 +CMT,1,2,768,2.3,CSH,11.0 +CMT,1,2,1161,5.1,CSH,18.0 +CMT,1,1,180,0.7,CSH,4.5 +CMT,1,1,353,2.3,CRD,8.5 +CMT,1,1,980,2.8,CRD,13.0 +CMT,1,1,619,3.7,CSH,12.5 +CMT,1,1,1074,3.3,CRD,14.5 +CMT,1,1,559,2.0,CRD,9.0 +CMT,1,1,389,1.0,CSH,6.0 +CMT,1,1,391,1.9,CRD,7.5 +CMT,1,1,232,0.8,CRD,5.0 +CMT,1,1,1406,2.3,CSH,15.5 +CMT,1,1,456,1.7,CSH,7.5 +CMT,1,1,420,1.1,CRD,6.5 +CMT,1,1,3221,22.0,CSH,65.0 +CMT,1,1,364,1.1,CSH,6.5 +CMT,1,1,285,1.3,CSH,6.0 +CMT,1,1,861,3.2,CRD,14.0 +CMT,1,1,280,0.7,CRD,5.0 +CMT,1,1,306,1.0,CRD,5.5 +CMT,1,1,470,1.9,CSH,8.5 +CMT,1,1,346,1.2,CRD,6.5 +CMT,1,1,651,0.8,CRD,8.0 +CMT,1,1,528,1.3,CSH,8.0 +CMT,1,1,890,2.0,CRD,11.5 +CMT,1,1,174,0.5,CSH,4.0 +CMT,1,1,424,0.8,CRD,6.5 +CMT,1,1,255,0.7,CSH,5.0 +CMT,1,1,730,1.2,CRD,9.0 +CMT,1,1,409,2.1,CSH,8.5 +CMT,1,1,150,1.0,CSH,5.0 +CMT,1,1,481,1.5,CRD,8.0 +CMT,1,1,321,0.7,CSH,5.5 +CMT,1,1,661,2.8,CRD,11.0 +CMT,1,1,390,1.2,CSH,6.5 +CMT,1,1,1156,3.2,CRD,15.5 +CMT,1,1,94,0.3,CRD,3.5 +CMT,1,1,1020,2.8,CSH,13.5 +CMT,1,1,371,1.4,CSH,7.0 +CMT,1,1,599,1.3,CRD,8.5 +CMT,1,2,172,0.8,CSH,4.5 +CMT,1,2,424,1.1,CSH,7.0 +CMT,1,2,348,1.0,CRD,6.5 +CMT,1,2,1445,1.7,CSH,15.0 +CMT,1,3,532,1.5,CRD,7.5 +CMT,1,2,948,5.7,CSH,18.0 +CMT,1,3,819,2.2,CRD,11.0 +CMT,1,2,319,0.7,CSH,5.5 +CMT,1,2,923,3.1,CRD,13.0 +CMT,1,3,619,2.4,CRD,10.0 +CMT,1,1,650,2.5,CRD,10.5 +CMT,1,1,250,0.5,CSH,4.5 +CMT,1,2,406,1.3,CSH,7.0 +CMT,1,1,187,0.8,CRD,4.5 +CMT,1,2,338,1.1,CSH,6.5 +CMT,1,2,547,2.1,CSH,9.5 +CMT,1,1,391,1.3,CRD,7.5 +CMT,1,2,549,2.2,CSH,9.5 +CMT,1,2,319,0.5,CSH,5.0 +CMT,1,1,766,1.8,CRD,10.0 +CMT,1,2,355,1.2,CSH,6.0 +CMT,1,1,340,1.2,CSH,6.5 +CMT,1,2,241,0.6,CSH,4.5 +CMT,1,2,331,1.1,CRD,6.0 +CMT,1,2,976,1.7,CSH,11.5 +CMT,1,2,479,1.9,CRD,8.5 +CMT,1,1,138,0.9,CRD,4.5 +CMT,1,1,1005,3.4,CSH,14.0 +CMT,1,1,452,1.3,CSH,7.0 +CMT,1,1,380,0.9,CRD,6.0 +CMT,1,1,406,1.1,CSH,6.5 +CMT,1,1,371,0.9,CSH,6.0 +CMT,1,1,133,0.9,CSH,4.5 +CMT,1,1,334,1.9,CRD,7.5 +CMT,1,1,519,1.3,CSH,7.5 +CMT,1,1,363,1.1,CSH,6.0 +CMT,1,1,768,0.8,CSH,9.0 +CMT,1,1,429,1.1,CRD,6.5 +CMT,1,1,381,0.7,CRD,6.0 +CMT,1,1,241,1.2,CRD,6.0 +CMT,1,1,1190,4.4,CRD,17.5 +CMT,1,1,1258,2.5,CRD,14.5 +CMT,1,1,716,1.3,CRD,9.0 +CMT,1,1,720,2.7,CRD,12.0 +CMT,1,1,434,1.1,CSH,6.5 +CMT,1,1,578,1.2,CSH,8.0 +CMT,1,1,428,1.1,CRD,6.5 +CMT,1,1,616,1.1,CSH,8.0 +CMT,1,1,531,1.4,CRD,7.5 +CMT,1,1,145,0.6,CSH,4.5 +CMT,1,1,366,0.8,CSH,5.5 +CMT,1,1,1227,2.5,CSH,14.0 +CMT,1,1,400,1.3,CSH,7.5 +CMT,1,1,423,1.1,CRD,7.0 +CMT,1,1,94,0.4,CSH,3.5 +CMT,1,1,125,0.6,CSH,4.0 +CMT,1,1,129,0.3,CSH,3.5 +CMT,1,1,116,0.9,CSH,4.5 +CMT,1,1,201,1.2,CSH,5.5 +CMT,1,1,175,0.7,CSH,4.5 +CMT,1,1,789,3.3,CSH,13.5 +CMT,1,1,382,1.5,CRD,7.0 +CMT,1,1,748,2.0,CRD,10.0 +CMT,1,1,452,1.3,CRD,7.5 +CMT,1,1,817,1.4,CSH,9.5 +CMT,1,1,439,2.5,CSH,9.5 +CMT,1,1,1044,2.8,CSH,13.5 +CMT,1,1,340,1.1,CSH,6.0 +CMT,1,1,361,1.1,CSH,6.5 +CMT,1,1,703,2.5,CRD,11.0 +CMT,1,1,1531,3.4,CRD,18.0 +CMT,1,1,280,0.4,CSH,4.5 +CMT,1,1,741,2.1,CSH,10.0 +CMT,1,1,294,1.3,CRD,6.0 +CMT,1,1,502,1.4,CRD,7.5 +CMT,1,1,1646,3.7,CRD,19.0 +CMT,1,1,857,1.2,CRD,10.0 +CMT,1,1,1929,8.0,CRD,30.0 +CMT,1,1,256,1.0,CSH,5.5 +CMT,1,1,1372,6.0,CSH,22.5 +CMT,1,1,322,1.2,CRD,6.0 +CMT,1,1,917,2.8,CRD,12.5 +CMT,1,1,799,1.2,CSH,9.5 +CMT,1,1,693,1.8,CRD,9.5 +CMT,1,1,1001,2.4,CSH,12.0 +CMT,1,1,211,0.9,CSH,5.0 +CMT,1,1,920,2.9,CSH,13.0 +CMT,1,1,401,0.9,CRD,6.5 +CMT,1,1,502,0.8,CRD,7.0 +CMT,1,1,467,1.3,CSH,7.5 +CMT,1,1,1100,2.3,CSH,13.5 +CMT,1,1,76,0.5,CRD,3.5 +CMT,1,1,264,1.3,CSH,6.0 +CMT,1,1,154,0.9,CSH,4.5 +CMT,1,1,240,0.7,CSH,5.0 +CMT,1,1,1027,3.4,CRD,14.5 +CMT,1,1,582,0.6,CSH,7.0 +CMT,1,1,1056,4.8,CRD,17.5 +CMT,1,1,374,1.1,CRD,6.0 +CMT,1,1,713,0.9,CSH,8.5 +CMT,1,1,500,1.9,CSH,8.5 +CMT,1,1,551,2.0,CRD,9.0 +CMT,1,1,1249,3.2,CRD,16.0 +CMT,1,1,627,1.2,CRD,8.0 +CMT,1,1,658,2.3,CSH,10.0 +CMT,1,1,683,2.0,CSH,10.0 +CMT,1,1,1036,4.1,CSH,16.5 +CMT,1,1,239,1.2,CSH,5.5 +CMT,1,1,441,1.4,CSH,7.5 +CMT,1,1,223,1.0,CSH,5.5 +CMT,1,1,754,2.2,CSH,11.0 +CMT,1,1,180,0.6,CSH,4.5 +CMT,1,1,112,0.5,CSH,4.0 +CMT,1,1,156,0.7,CSH,4.0 +CMT,1,1,689,2.3,CSH,10.5 +CMT,1,1,512,1.5,CSH,8.0 +CMT,1,1,1147,3.6,CSH,15.0 +CMT,1,1,516,2.4,CSH,9.5 +CMT,1,1,278,0.7,CSH,5.0 +CMT,1,1,185,1.1,CRD,5.0 +CMT,1,1,413,2.6,CSH,9.5 +CMT,1,1,439,1.6,CSH,7.5 +CMT,1,1,605,1.4,CSH,8.5 +CMT,1,1,276,0.5,CSH,5.0 +CMT,1,1,1018,2.1,CRD,12.5 +CMT,1,1,447,1.1,CRD,7.0 +CMT,1,1,695,1.2,CRD,9.0 +CMT,1,1,397,1.0,CRD,6.5 +CMT,1,1,1493,6.0,CRD,23.5 +CMT,1,1,411,0.7,CRD,6.5 +CMT,1,1,164,0.8,CSH,4.5 +CMT,1,1,173,1.1,CSH,5.0 +CMT,1,1,471,1.3,CSH,7.5 +CMT,1,1,3250,7.2,CRD,38.5 +CMT,1,1,319,1.6,CSH,7.0 +CMT,1,1,436,1.1,CRD,6.5 +CMT,1,1,638,1.4,CSH,8.5 +CMT,1,1,78,0.3,CSH,3.5 +CMT,1,1,125,0.7,CSH,4.0 +CMT,1,1,365,1.0,CRD,6.0 +CMT,1,1,1607,3.2,CRD,18.0 +CMT,1,1,246,0.4,CSH,4.5 +CMT,1,1,228,0.7,CRD,4.5 +CMT,1,1,399,1.0,CSH,6.5 +CMT,1,1,403,0.5,CSH,5.5 +CMT,1,1,944,1.1,CRD,10.5 +CMT,1,1,940,1.1,CSH,10.5 +CMT,1,1,499,0.7,CSH,7.0 +CMT,1,1,289,0.5,CSH,5.0 +CMT,1,1,886,1.7,CSH,11.0 +CMT,1,1,583,2.0,CSH,9.0 +CMT,1,1,1150,2.7,CRD,14.0 +CMT,1,1,600,1.3,CRD,8.5 +CMT,1,1,297,1.0,CRD,6.0 +CMT,1,1,243,1.2,CSH,5.5 +CMT,1,1,536,1.6,CSH,8.5 +CMT,1,1,261,0.6,CRD,5.0 +CMT,1,1,890,3.2,CSH,13.0 +CMT,1,1,345,1.0,CRD,6.0 +CMT,1,1,425,1.1,CSH,7.0 +CMT,1,1,1107,1.4,CRD,12.5 +CMT,1,1,398,0.9,CSH,6.0 +CMT,1,1,201,0.9,CSH,5.0 +CMT,1,1,280,1.8,CSH,7.0 +CMT,1,1,193,1.1,CSH,5.5 +CMT,1,1,574,2.0,CSH,9.0 +CMT,1,1,466,1.3,CSH,7.5 +CMT,1,1,464,1.4,CRD,8.0 +CMT,1,1,195,0.4,CSH,4.0 +CMT,1,1,1066,2.2,CRD,12.5 +CMT,1,1,282,1.1,CRD,6.0 +CMT,1,1,70,0.4,CSH,3.5 +CMT,1,1,865,1.9,CSH,10.5 +CMT,1,1,320,1.1,CSH,6.5 +CMT,1,1,198,0.5,CRD,4.5 +CMT,1,1,603,0.9,CRD,8.0 +CMT,1,1,1534,4.1,CRD,19.5 +CMT,1,1,345,1.5,CSH,6.5 +CMT,1,1,465,2.0,CRD,8.5 +CMT,1,1,942,2.3,CSH,12.0 +CMT,1,1,335,1.5,CRD,6.5 +CMT,1,1,678,1.6,CRD,9.0 +CMT,1,1,164,0.5,CRD,4.0 +CMT,1,1,512,0.9,CRD,7.0 +CMT,1,1,805,1.0,CSH,9.5 +CMT,1,1,385,0.7,CRD,5.5 +CMT,1,1,480,1.3,CSH,7.0 +CMT,1,1,1048,1.9,CRD,12.0 +CMT,1,1,486,1.5,CRD,7.5 +CMT,1,1,602,1.0,CSH,7.5 +CMT,1,1,614,1.2,CSH,8.0 +CMT,1,1,1471,2.8,CRD,16.0 +CMT,1,1,310,0.5,CSH,5.0 +CMT,1,1,502,1.4,CSH,7.5 +CMT,1,1,266,1.2,CRD,5.5 +CMT,1,1,271,1.3,CSH,6.0 +CMT,1,1,528,1.4,CSH,8.0 +CMT,1,1,586,1.8,CSH,8.5 +CMT,1,1,1075,3.2,CSH,14.5 +CMT,1,1,810,3.4,CSH,13.5 +CMT,1,1,1310,4.2,CSH,16.5 +CMT,1,1,106,0.6,CSH,4.0 +CMT,1,1,278,1.5,CRD,6.5 +CMT,1,1,379,0.7,CSH,6.0 +CMT,1,1,197,0.6,CSH,4.0 +CMT,1,1,1341,3.0,CSH,16.0 +CMT,1,1,609,2.1,CRD,9.5 +CMT,1,1,441,1.2,CSH,7.0 +CMT,1,1,974,2.2,CRD,12.0 +CMT,1,3,667,1.7,CRD,9.0 +CMT,1,2,1219,3.4,CSH,15.0 +CMT,1,1,389,0.8,CSH,6.0 +CMT,1,1,420,1.2,CRD,6.5 +CMT,1,1,644,3.3,CRD,12.0 +CMT,1,1,669,2.5,CSH,10.5 +CMT,1,1,288,0.7,CRD,5.5 +CMT,1,1,1175,2.9,CSH,15.0 +CMT,1,1,682,2.6,CSH,10.5 +CMT,1,1,761,1.5,CSH,9.5 +CMT,1,1,620,2.3,CRD,9.5 +CMT,1,1,209,1.3,CRD,6.0 +CMT,1,1,273,1.2,CRD,6.0 +CMT,1,1,171,0.5,CSH,4.5 +CMT,1,1,490,0.9,CSH,6.5 +CMT,1,1,657,1.4,CSH,8.5 +CMT,1,1,141,0.5,CSH,4.0 +CMT,1,1,479,1.3,CSH,7.5 +CMT,1,1,593,1.6,CRD,8.5 +CMT,1,1,812,1.0,CSH,9.5 +CMT,1,1,920,2.3,CSH,12.0 +CMT,1,1,137,0.8,CSH,4.5 +CMT,1,1,668,2.1,CRD,10.0 +CMT,1,1,1193,2.9,CSH,15.0 +CMT,1,1,374,0.9,CRD,6.0 +CMT,1,1,255,0.9,CRD,5.5 +CMT,1,1,1654,5.7,CSH,22.0 +CMT,1,1,407,2.6,CSH,9.5 +CMT,1,1,3,1.3,CSH,2.5 +CMT,1,1,1484,10.0,CRD,30.5 +CMT,1,1,160,1.1,CSH,5.0 +CMT,1,1,425,1.3,CSH,7.0 +CMT,1,1,307,0.7,CRD,5.5 +CMT,1,1,230,1.0,CRD,5.5 +CMT,1,1,512,0.9,CRD,7.0 +CMT,1,1,507,1.3,CSH,7.5 +CMT,1,1,276,1.3,CRD,6.0 +CMT,1,1,824,1.1,CSH,9.5 +CMT,1,1,458,1.1,CSH,7.0 +CMT,1,1,652,1.8,CSH,9.0 +CMT,1,1,439,2.3,CRD,9.0 +CMT,1,1,276,1.1,CSH,5.5 +CMT,1,1,747,1.7,CRD,10.0 +CMT,1,1,205,0.9,CSH,5.0 +CMT,1,1,322,0.9,CRD,5.5 +CMT,1,1,503,1.7,CSH,8.5 +CMT,1,1,317,0.7,CSH,5.5 +CMT,1,1,1598,3.6,CSH,18.0 +CMT,1,1,263,1.0,CSH,5.5 +CMT,1,1,1115,9.1,CRD,26.5 +CMT,1,1,415,0.7,CRD,6.0 +CMT,1,1,882,1.8,CSH,11.0 +CMT,1,1,72,0.4,CSH,3.5 +CMT,1,1,526,0.8,CSH,7.0 +CMT,1,1,878,1.3,CSH,10.5 +CMT,1,1,827,1.2,CSH,10.0 +CMT,1,1,311,0.3,CSH,5.0 +CMT,1,1,200,0.7,CSH,4.5 +CMT,1,1,106,0.4,CSH,3.5 +CMT,1,1,233,0.9,CSH,5.0 +CMT,1,1,116,0.6,CRD,4.0 +CMT,1,1,612,2.4,CRD,10.0 +CMT,1,1,441,1.1,CSH,6.5 +CMT,1,1,523,1.1,CRD,7.5 +CMT,1,1,802,1.4,CRD,9.5 +CMT,1,1,723,1.4,CRD,9.0 +CMT,1,1,1615,4.1,CRD,19.0 +CMT,1,1,733,1.9,CRD,10.0 +CMT,1,1,161,0.5,CSH,4.0 +CMT,1,1,373,1.3,CSH,7.0 +CMT,1,1,320,1.0,CSH,6.0 +CMT,1,1,204,1.0,CSH,5.0 +CMT,1,1,1226,4.5,CSH,18.0 +CMT,1,1,481,1.5,CRD,7.5 +CMT,1,1,744,2.5,CRD,11.5 +CMT,1,1,668,2.9,CRD,11.5 +CMT,1,1,1570,2.8,CSH,17.5 +CMT,1,2,157,0.7,CSH,4.5 +CMT,1,2,320,1.1,CSH,6.0 +CMT,1,3,458,2.3,CSH,9.0 +CMT,1,1,1872,2.7,CRD,19.0 +CMT,1,2,607,1.5,CRD,8.5 +CMT,1,2,1731,3.5,CSH,18.5 +CMT,1,2,601,1.2,CSH,7.5 +CMT,1,2,585,1.2,CRD,8.0 +CMT,1,2,964,3.8,CSH,15.5 +CMT,1,4,1427,5.7,CSH,21.0 +CMT,1,2,1416,7.3,CRD,24.0 +CMT,1,2,299,0.8,CRD,5.5 +CMT,1,2,219,1.0,CSH,5.0 +CMT,1,3,384,1.2,CRD,6.5 +CMT,1,2,297,0.4,CRD,5.0 +CMT,1,1,412,0.7,CSH,6.0 +CMT,1,2,524,1.1,CSH,7.5 +CMT,1,2,871,3.1,CSH,12.5 +CMT,1,2,1273,2.8,CRD,14.5 +CMT,1,2,451,1.7,CRD,8.0 +CMT,1,1,686,3.7,CSH,13.5 +CMT,1,1,559,1.8,CSH,8.5 +CMT,1,1,353,0.8,CSH,6.0 +CMT,1,4,799,3.2,CRD,12.0 +CMT,1,1,315,0.9,CSH,6.0 +CMT,1,1,352,1.3,CRD,7.0 +CMT,1,1,671,2.1,CSH,10.0 +CMT,1,1,635,0.5,CRD,8.0 +CMT,1,1,370,0.9,CSH,6.0 +CMT,1,1,100,0.7,CSH,4.0 +CMT,1,1,1647,4.5,CRD,20.0 +CMT,1,1,1335,3.9,CSH,16.5 +CMT,1,1,608,1.2,CRD,8.0 +CMT,1,1,496,1.7,CRD,8.5 +CMT,1,1,444,1.1,CRD,7.0 +CMT,1,1,1508,2.6,CSH,16.5 +CMT,1,1,879,1.8,CSH,11.0 +CMT,1,1,242,1.1,CSH,5.5 +CMT,1,1,1306,3.6,CSH,16.5 +CMT,1,1,693,1.4,CRD,9.0 +CMT,1,1,329,0.8,CRD,5.5 +CMT,1,1,869,1.4,CRD,10.0 +CMT,1,1,439,0.6,CRD,6.0 +CMT,1,1,425,1.4,CSH,7.0 +CMT,1,1,609,1.5,CSH,8.5 +CMT,1,1,365,0.9,CRD,6.0 +CMT,1,1,104,0.3,CSH,3.5 +CMT,1,1,291,0.9,CRD,5.5 +CMT,1,1,905,1.5,CRD,10.5 +CMT,1,1,391,1.0,CSH,6.5 +CMT,1,1,1113,4.0,CRD,16.0 +CMT,1,1,1504,3.6,CSH,17.5 +CMT,1,1,310,0.6,CRD,5.5 +CMT,1,1,575,1.1,CSH,8.5 +CMT,1,1,224,0.7,CRD,5.0 +CMT,1,1,675,2.1,CRD,10.0 +CMT,2,1,1333,15.7,CRD,52.0 +CMT,1,1,171,0.8,CSH,5.0 +CMT,1,1,151,0.7,CSH,4.5 +CMT,1,1,903,1.0,CRD,10.0 +CMT,1,1,311,1.0,CSH,5.5 +CMT,1,1,107,0.4,CRD,3.5 +CMT,1,1,1200,4.1,CRD,16.5 +CMT,1,1,384,1.1,CSH,6.5 +CMT,1,1,289,1.1,CSH,6.0 +CMT,1,1,213,0.8,CSH,5.0 +CMT,1,1,540,1.2,CRD,7.0 +CMT,1,1,379,1.4,CRD,7.0 +CMT,1,1,316,0.5,CSH,5.0 +CMT,1,1,248,0.5,CSH,4.5 +CMT,1,1,64,0.4,CSH,3.5 +CMT,1,1,247,0.9,CSH,5.5 +CMT,1,4,1050,4.8,CSH,17.5 +CMT,1,1,720,3.4,CRD,13.0 +CMT,1,1,1135,9.8,CSH,28.0 +CMT,1,1,73,0.4,CSH,3.5 +CMT,1,2,1150,4.7,CSH,18.0 +CMT,1,2,284,0.9,CRD,5.5 +CMT,1,1,441,1.0,CSH,7.0 +CMT,1,1,510,1.7,CSH,8.5 +CMT,1,1,623,1.8,CRD,9.0 +CMT,1,1,700,0.9,CRD,8.5 +CMT,1,1,272,1.0,CRD,5.5 +CMT,1,1,424,0.9,CRD,6.5 +CMT,1,1,548,3.3,CRD,12.0 +CMT,1,1,345,1.3,CRD,6.5 +CMT,1,1,557,2.0,CRD,8.5 +CMT,1,2,1272,5.1,CSH,18.5 +CMT,1,1,262,0.9,CSH,5.0 +CMT,1,1,373,1.8,CRD,7.5 +CMT,1,1,296,1.7,CRD,7.0 +CMT,1,1,975,5.0,CRD,16.5 +CMT,1,1,1422,5.3,CSH,20.5 +CMT,1,1,195,0.7,CSH,4.5 +CMT,1,1,1070,5.8,CSH,19.0 +CMT,1,1,253,0.6,CSH,5.0 +CMT,1,2,378,1.4,CSH,7.0 +CMT,1,1,393,0.8,CSH,6.0 +CMT,1,1,782,3.6,CSH,14.0 +VTS,1,1,600,3.99,CRD,13.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,240,0.88,CSH,5.5 +VTS,1,1,180,0.22,CSH,4.0 +VTS,1,1,300,0.73,CRD,5.5 +CMT,1,1,730,1.0,CRD,9.0 +CMT,1,1,199,1.2,CSH,5.5 +CMT,1,1,1079,1.8,CRD,12.5 +CMT,1,1,662,2.3,CRD,10.0 +CMT,1,1,244,1.8,CRD,7.0 +CMT,1,2,298,0.7,CSH,5.0 +CMT,1,1,433,1.7,CSH,8.0 +CMT,1,1,105,0.6,CSH,4.0 +CMT,1,1,550,1.0,CRD,7.5 +CMT,1,2,168,0.5,CRD,4.0 +CMT,1,1,482,1.1,CSH,7.0 +CMT,1,1,880,3.6,CRD,14.5 +CMT,1,1,493,0.9,CRD,7.0 +CMT,1,2,1041,2.5,CSH,13.0 +VTS,1,1,720,2.9,CSH,11.0 +VTS,1,1,540,1.75,CRD,8.0 +VTS,1,1,660,1.39,CRD,8.5 +VTS,1,1,420,1.62,CRD,7.0 +VTS,1,1,420,1.58,CRD,7.5 +VTS,1,1,1200,3.4,CSH,16.0 +VTS,1,1,540,1.53,CSH,8.0 +VTS,1,1,660,1.43,CRD,9.0 +VTS,1,1,1200,3.46,CRD,15.5 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,1,600,2.71,CRD,10.5 +VTS,1,1,540,1.72,CSH,9.0 +CMT,1,1,1256,2.3,CRD,14.5 +CMT,1,1,217,0.7,CSH,4.5 +CMT,1,1,196,0.4,CRD,4.0 +CMT,1,1,678,1.1,CSH,8.5 +CMT,1,1,730,1.1,CRD,9.0 +CMT,1,1,891,0.7,CRD,10.0 +CMT,1,1,854,2.0,CRD,11.0 +CMT,1,1,808,1.6,CRD,9.5 +CMT,1,1,1174,1.7,CSH,12.5 +CMT,1,1,348,0.7,CRD,5.5 +CMT,1,1,174,0.8,CSH,5.0 +CMT,1,1,296,1.2,CSH,6.0 +CMT,1,1,339,1.1,CRD,6.0 +CMT,1,1,288,1.0,CSH,5.0 +CMT,1,1,788,3.4,CSH,14.0 +CMT,1,1,534,1.6,CSH,8.0 +CMT,1,1,790,2.0,CRD,10.5 +CMT,1,1,285,1.1,CSH,6.0 +CMT,1,1,224,0.7,CRD,5.0 +CMT,1,1,375,1.3,CRD,6.5 +CMT,1,1,1160,2.8,CRD,14.0 +CMT,1,1,1011,1.8,CRD,11.5 +CMT,1,1,983,1.7,CRD,11.5 +CMT,1,1,627,1.7,CSH,9.0 +CMT,1,1,346,2.3,CRD,8.5 +CMT,1,1,362,2.7,CRD,9.5 +CMT,1,1,715,1.3,CSH,9.0 +CMT,1,1,879,3.3,CRD,14.0 +CMT,1,2,664,1.8,CSH,9.0 +CMT,1,1,1311,5.8,CSH,20.5 +CMT,1,1,1080,3.1,CSH,14.5 +CMT,2,1,1985,17.5,CRD,52.0 +CMT,1,1,427,1.1,CRD,6.5 +CMT,1,3,468,2.1,CSH,8.5 +CMT,1,1,683,4.4,CRD,15.0 +CMT,1,3,925,2.2,CRD,12.0 +CMT,1,2,215,0.6,CSH,4.5 +VTS,1,1,300,1.46,CSH,6.5 +VTS,1,1,120,0.38,CRD,3.5 +VTS,1,1,900,2.55,CRD,12.5 +VTS,1,1,780,2.74,CSH,11.5 +VTS,2,1,3300,18.32,CSH,52.0 +VTS,1,1,180,0.83,CRD,4.5 +VTS,1,1,540,1.79,CSH,8.5 +VTS,1,1,840,2.45,CRD,12.5 +VTS,1,1,300,0.71,CSH,5.0 +VTS,1,1,180,0.82,CRD,4.5 +VTS,1,1,240,1.04,CRD,5.5 +VTS,1,1,300,0.73,CSH,5.5 +VTS,1,1,600,2.73,CSH,11.0 +VTS,1,1,420,1.48,CSH,7.5 +VTS,1,1,600,2.07,CRD,9.5 +CMT,1,1,494,1.6,CSH,8.0 +CMT,1,1,934,1.2,CSH,10.5 +CMT,1,1,1097,1.7,CSH,12.5 +CMT,1,1,1343,3.1,CRD,16.0 +CMT,1,1,397,1.3,CSH,7.0 +CMT,1,1,470,1.5,CRD,7.5 +CMT,1,1,1086,2.6,CRD,14.0 +CMT,1,1,992,2.9,CRD,13.0 +CMT,1,1,1212,3.1,CRD,14.5 +CMT,1,1,515,1.3,CSH,7.5 +CMT,1,1,1199,2.1,CRD,13.5 +CMT,1,1,167,0.3,CRD,4.0 +CMT,1,1,146,0.6,CSH,4.0 +CMT,1,1,134,0.5,CRD,4.0 +CMT,1,1,812,2.3,CRD,11.0 +CMT,1,1,1689,9.6,CRD,32.0 +CMT,1,1,1195,3.8,CRD,16.0 +CMT,1,1,397,0.9,CRD,6.5 +CMT,1,1,145,0.9,CRD,4.5 +CMT,1,1,737,2.9,CRD,12.0 +CMT,1,1,473,1.1,CRD,7.0 +CMT,1,1,1002,2.5,CRD,13.0 +CMT,1,1,1162,2.8,CSH,14.0 +CMT,1,1,345,0.4,CRD,5.5 +CMT,1,1,515,0.6,CSH,6.5 +CMT,1,1,699,1.1,CRD,8.5 +CMT,1,1,605,1.1,CSH,8.0 +CMT,1,1,158,0.6,CRD,4.5 +CMT,1,1,560,2.2,CSH,9.5 +CMT,1,1,461,1.5,CRD,7.5 +CMT,1,1,2,3.1,CSH,2.5 +CMT,1,1,1200,2.5,CRD,14.5 +CMT,1,1,632,2.1,CRD,9.5 +CMT,1,1,535,2.1,CRD,9.5 +CMT,1,1,217,0.9,CRD,5.0 +CMT,1,1,392,1.0,CSH,6.5 +CMT,1,1,327,0.6,CRD,5.5 +CMT,1,1,216,0.7,CSH,5.0 +CMT,1,1,204,0.5,CSH,4.5 +CMT,1,1,77,0.4,CRD,3.5 +CMT,1,1,258,1.0,CSH,5.5 +CMT,1,1,418,1.3,CRD,7.0 +CMT,1,1,1387,3.4,CRD,16.5 +CMT,1,1,440,1.1,CRD,7.0 +CMT,2,1,2600,15.9,CRD,52.0 +CMT,1,1,251,1.0,CRD,5.5 +CMT,1,1,598,2.0,CRD,9.5 +CMT,1,1,1252,2.3,CSH,14.5 +CMT,1,1,635,1.8,CRD,9.0 +CMT,1,1,313,0.5,CSH,5.0 +CMT,1,1,820,1.9,CRD,11.0 +CMT,1,1,464,2.9,CRD,10.5 +CMT,1,3,1131,4.3,CRD,17.0 +CMT,1,1,322,1.2,CSH,6.5 +CMT,1,4,163,0.3,CSH,4.0 +CMT,1,1,229,0.6,CRD,4.5 +CMT,1,1,424,1.5,CSH,7.5 +CMT,1,4,613,1.0,CSH,8.0 +CMT,1,1,465,1.3,CRD,7.0 +CMT,1,2,364,0.5,CSH,5.5 +CMT,1,4,304,1.0,CSH,6.0 +CMT,1,3,378,1.0,CRD,6.0 +CMT,1,4,1017,2.2,CRD,12.5 +CMT,1,1,699,2.0,CRD,10.0 +CMT,1,2,745,2.4,CRD,10.5 +CMT,1,2,599,2.0,CSH,9.0 +VTS,1,1,420,1.26,CSH,7.0 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,180,0.82,CRD,5.0 +VTS,1,1,480,2.13,CRD,8.5 +VTS,1,1,780,3.05,CRD,12.0 +VTS,1,2,180,0.84,CRD,4.5 +VTS,1,1,1440,8.24,CSH,26.0 +VTS,1,1,540,1.21,CRD,8.0 +VTS,1,1,1560,6.73,CRD,25.0 +VTS,1,1,600,3.57,CSH,12.0 +VTS,1,1,180,0.61,CSH,4.0 +VTS,1,1,1200,4.64,CSH,17.5 +CMT,1,1,557,1.0,CRD,7.5 +CMT,1,1,779,3.1,CRD,12.0 +CMT,1,1,1012,1.4,CRD,11.5 +CMT,1,1,402,0.3,CSH,5.5 +CMT,1,1,1201,4.0,CSH,17.0 +CMT,1,1,515,0.9,CSH,7.0 +CMT,1,1,537,2.1,CRD,9.0 +CMT,1,1,82,0.6,CSH,4.0 +CMT,1,2,615,1.8,CSH,9.0 +CMT,1,1,270,1.3,CRD,6.0 +CMT,1,1,384,1.2,CSH,6.5 +CMT,1,1,775,5.2,CRD,16.5 +CMT,1,1,364,1.3,CSH,7.0 +CMT,1,2,521,1.3,CRD,7.5 +CMT,1,1,935,2.6,CRD,13.0 +CMT,1,1,585,1.1,CSH,8.0 +CMT,1,1,443,2.0,CRD,8.5 +CMT,1,1,638,2.3,CRD,10.5 +CMT,1,1,556,1.4,CSH,8.0 +CMT,1,1,645,2.4,CRD,10.0 +CMT,1,1,603,1.9,CSH,9.0 +VTS,1,1,240,1.11,CRD,6.0 +VTS,1,1,540,1.94,CSH,9.5 +VTS,1,1,120,0.67,CSH,4.0 +VTS,1,1,360,1.12,CSH,6.5 +VTS,1,1,660,2.48,CSH,11.0 +CMT,1,1,188,0.6,CSH,4.5 +CMT,1,1,464,1.1,CSH,7.0 +CMT,1,1,1627,5.7,CRD,22.0 +CMT,1,1,282,1.8,CRD,7.0 +CMT,1,1,117,0.4,CSH,4.0 +CMT,1,1,1012,1.7,CRD,11.5 +CMT,1,1,523,1.6,CRD,8.0 +CMT,1,1,392,0.9,CRD,6.5 +CMT,1,1,273,0.7,CSH,5.0 +CMT,1,1,861,2.3,CSH,11.5 +CMT,1,3,493,1.4,CRD,7.5 +CMT,1,1,220,1.1,CSH,5.5 +CMT,1,1,702,2.4,CRD,11.5 +CMT,1,4,1179,4.7,CSH,18.0 +CMT,1,2,476,1.1,CRD,7.0 +CMT,1,1,576,2.5,CRD,10.0 +CMT,1,1,203,0.4,CRD,4.5 +CMT,1,1,208,1.5,CRD,6.0 +VTS,1,1,660,1.79,CSH,9.5 +VTS,1,1,900,3.09,CSH,13.0 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,240,0.47,CSH,4.5 +VTS,1,1,300,1.02,CSH,5.5 +VTS,1,1,240,0.72,CRD,4.5 +VTS,1,2,1200,2.64,CSH,13.5 +VTS,1,1,420,2.89,CRD,10.0 +CMT,1,1,907,1.5,CSH,10.5 +CMT,1,1,1122,3.2,CSH,14.5 +CMT,1,1,694,1.5,CSH,9.0 +CMT,3,1,1533,16.3,CRD,62.0 +CMT,1,1,403,1.4,CRD,7.0 +CMT,1,1,481,0.9,CRD,7.0 +CMT,1,1,87,0.4,CRD,3.5 +CMT,1,1,668,1.7,CSH,9.0 +CMT,1,1,600,1.9,CSH,9.0 +CMT,1,1,988,1.0,CRD,11.0 +CMT,1,1,780,1.7,CSH,10.0 +CMT,1,1,333,1.5,CSH,6.5 +CMT,1,1,277,0.7,CRD,5.0 +CMT,1,1,524,1.6,CRD,8.0 +CMT,1,1,503,1.6,CSH,8.0 +CMT,1,1,672,1.3,CSH,9.0 +CMT,1,1,1859,3.5,CSH,20.0 +CMT,1,1,949,2.7,CRD,13.0 +CMT,1,1,790,2.3,CSH,11.0 +CMT,1,1,446,0.9,CSH,7.0 +CMT,1,1,342,0.9,CRD,6.0 +CMT,1,1,521,0.8,CSH,7.0 +CMT,1,1,68,2.5,CSH,3.0 +CMT,1,1,594,1.7,CSH,9.0 +CMT,1,1,364,0.8,CRD,6.0 +CMT,1,1,428,0.4,CSH,6.0 +VTS,1,1,900,4.38,CSH,15.0 +VTS,1,1,120,0.44,CSH,3.5 +VTS,1,1,780,1.55,CRD,10.0 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,720,2.18,CRD,10.5 +VTS,2,1,2100,17.92,CRD,52.0 +VTS,2,1,2400,21.99,CSH,52.0 +VTS,1,1,360,1.77,CSH,7.5 +VTS,1,1,900,5.25,CRD,18.5 +VTS,1,1,360,0.95,CSH,6.0 +VTS,1,5,840,1.79,CRD,10.5 +VTS,1,5,660,2.96,CSH,11.5 +VTS,1,4,240,0.74,CRD,5.0 +VTS,1,5,240,0.81,CRD,5.0 +VTS,1,5,360,0.93,CRD,6.0 +VTS,1,5,360,0.86,CRD,6.0 +VTS,1,5,360,0.95,CRD,6.0 +VTS,1,5,900,2.41,CRD,12.0 +VTS,1,5,600,1.24,CSH,8.0 +VTS,1,5,480,2.12,CSH,9.0 +VTS,1,5,480,1.13,CRD,7.0 +VTS,1,5,60,0.6,CSH,4.0 +VTS,1,5,840,3.44,CRD,13.0 +VTS,1,5,240,1.69,CRD,6.5 +VTS,1,5,300,0.76,CRD,5.0 +VTS,1,5,300,1.79,CSH,7.0 +CMT,1,1,558,0.9,CRD,7.5 +CMT,1,1,381,0.8,CRD,6.0 +CMT,1,1,216,1.1,CSH,5.5 +CMT,2,1,1776,16.8,CRD,52.0 +CMT,1,1,1044,4.7,CSH,17.0 +CMT,1,1,1042,3.1,CRD,13.5 +CMT,2,1,2469,17.8,CRD,52.0 +CMT,1,1,257,0.6,CSH,5.0 +CMT,1,1,331,1.2,CSH,6.5 +CMT,1,1,452,1.7,CSH,8.0 +CMT,1,1,582,2.3,CRD,10.0 +CMT,1,1,225,0.4,CRD,4.5 +CMT,1,1,396,1.0,CSH,6.0 +CMT,1,1,249,0.4,CRD,4.5 +CMT,1,1,1055,3.1,CRD,14.5 +CMT,1,1,327,0.8,CRD,5.5 +CMT,1,1,293,1.3,CSH,6.5 +CMT,1,1,564,1.4,CRD,8.0 +CMT,1,1,504,0.4,CRD,6.5 +CMT,1,1,483,0.9,CSH,7.0 +CMT,1,1,432,1.9,CRD,8.0 +CMT,1,1,335,1.6,CRD,7.0 +CMT,2,1,2043,16.3,CRD,52.0 +CMT,1,1,174,0.2,CSH,4.0 +CMT,1,1,294,1.1,CRD,6.0 +CMT,1,1,406,1.4,CRD,7.0 +CMT,1,1,1080,5.8,CSH,20.0 +CMT,1,2,770,1.9,CRD,10.5 +CMT,1,1,515,2.5,CSH,9.5 +CMT,1,2,346,1.3,CRD,6.5 +CMT,1,1,889,5.2,CSH,17.5 +CMT,1,1,913,3.0,CRD,14.0 +CMT,1,1,82,0.4,CRD,3.5 +CMT,1,4,423,1.3,CSH,6.5 +CMT,1,1,1253,4.9,CRD,18.5 +CMT,1,3,739,2.2,CRD,10.5 +CMT,1,2,306,1.0,CSH,5.5 +CMT,1,4,749,1.9,CRD,10.0 +VTS,1,1,660,1.45,CSH,9.0 +VTS,1,1,1140,3.15,CRD,15.5 +VTS,1,1,960,6.18,CRD,20.5 +VTS,1,1,240,1.38,CSH,6.0 +VTS,1,5,0,0.08,CSH,2.5 +VTS,1,5,1500,12.26,CRD,35.5 +VTS,2,5,1680,19.1,CRD,52.0 +VTS,1,5,300,0.87,CRD,5.5 +VTS,1,5,1260,2.72,CRD,14.5 +VTS,1,5,360,1.56,CRD,7.0 +VTS,1,1,540,1.32,CSH,7.5 +VTS,1,5,360,1.38,CRD,7.0 +VTS,1,5,240,0.89,CSH,5.5 +VTS,1,5,120,0.53,CSH,4.0 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,660,2.19,CRD,10.0 +VTS,1,1,1140,6.65,CRD,22.5 +VTS,2,5,2880,18.16,CRD,52.0 +VTS,1,5,600,0.87,CRD,7.5 +VTS,1,5,840,3.92,CRD,16.0 +VTS,1,5,60,0.4,CRD,3.5 +VTS,1,5,1200,2.08,CRD,14.0 +VTS,1,5,600,1.16,CRD,8.5 +VTS,1,5,120,0.84,CSH,4.5 +VTS,1,5,180,1.33,CSH,6.0 +VTS,1,5,240,0.78,CSH,5.0 +VTS,1,4,360,2.75,CRD,9.5 +VTS,1,5,120,0.57,CRD,4.0 +VTS,1,5,900,1.89,CRD,11.5 +VTS,1,5,420,1.87,CRD,8.0 +VTS,1,5,480,0.73,CSH,6.5 +VTS,1,5,180,1.92,CRD,7.0 +VTS,1,5,180,0.42,CRD,4.0 +VTS,1,5,480,1.28,CSH,7.5 +VTS,1,5,180,0.79,CSH,4.5 +VTS,1,5,720,2.48,CRD,11.0 +VTS,2,5,2100,17.79,CRD,52.0 +VTS,1,5,180,0.6,CSH,4.5 +VTS,1,5,540,2.04,CRD,9.5 +VTS,1,5,960,1.42,CRD,11.0 +VTS,1,5,420,0.86,CRD,6.5 +VTS,1,1,660,2.44,CSH,11.0 +VTS,1,1,720,3.84,CSH,14.0 +VTS,1,5,1680,9.18,CSH,29.5 +VTS,1,5,600,1.45,CSH,8.0 +VTS,1,5,600,1.63,CSH,9.0 +VTS,1,5,780,1.74,CRD,10.0 +VTS,1,5,480,2.82,CSH,10.0 +VTS,1,5,300,2.27,CRD,8.0 +VTS,1,5,180,0.58,CRD,4.0 +VTS,1,5,480,0.9,CSH,7.0 +VTS,1,5,420,1.53,CSH,7.5 +VTS,1,5,780,3.94,CRD,14.5 +VTS,1,5,480,2.75,CRD,10.0 +VTS,1,5,540,1.8,CRD,8.5 +VTS,1,5,900,1.86,CRD,11.5 +VTS,1,5,180,0.82,CSH,5.0 +VTS,1,5,300,1.28,CRD,6.0 +VTS,1,5,240,0.67,CSH,5.0 +VTS,1,5,840,1.8,CRD,10.5 +VTS,1,5,420,1.27,CRD,7.0 +VTS,1,5,360,1.19,CRD,6.0 +VTS,1,5,540,1.56,CRD,8.0 +VTS,1,5,300,0.79,CRD,5.0 +VTS,1,5,240,0.57,CRD,5.0 +VTS,1,5,480,2.08,CSH,8.5 +VTS,1,5,840,3.24,CSH,13.5 +VTS,1,1,900,5.65,CRD,19.0 +VTS,1,1,660,1.72,CSH,9.0 +VTS,1,1,300,1.26,CRD,6.0 +VTS,1,1,180,0.58,CSH,4.0 +VTS,1,1,360,0.89,CSH,5.5 +VTS,1,1,420,0.82,CSH,6.0 +VTS,1,1,420,1.3,CSH,7.5 +VTS,1,1,360,0.97,CSH,6.0 +VTS,1,1,480,1.86,CRD,9.0 +VTS,1,1,420,1.41,CRD,7.0 +VTS,1,1,300,0.66,CSH,5.5 +VTS,1,5,600,2.64,CRD,10.5 +VTS,1,5,480,1.07,CSH,7.0 +VTS,1,5,600,1.21,CSH,8.5 +VTS,1,5,300,1.3,CSH,6.5 +VTS,1,5,900,1.95,CRD,11.5 +VTS,1,5,600,1.98,CRD,9.5 +VTS,1,5,300,0.46,CRD,5.0 +VTS,1,5,780,1.94,CRD,10.0 +VTS,1,5,360,0.65,CSH,5.5 +VTS,1,5,1020,2.3,CRD,12.0 +VTS,1,5,960,3.52,CSH,14.5 +VTS,1,5,1200,6.63,CSH,21.5 +VTS,1,5,360,1.47,CSH,7.0 +VTS,1,5,660,1.8,CRD,9.5 +VTS,1,5,480,1.37,CRD,7.5 +VTS,1,1,480,1.95,CRD,8.5 +VTS,1,1,600,1.73,CRD,8.5 +VTS,1,5,660,1.37,CSH,8.5 +VTS,1,5,960,3.64,CRD,14.0 +VTS,1,5,1020,3.77,CSH,15.0 +VTS,1,5,1200,2.7,CSH,14.5 +VTS,1,5,1020,2.88,CRD,13.0 +VTS,1,5,300,2.06,CRD,7.5 +VTS,1,5,660,5.01,CRD,16.0 +VTS,1,5,2940,5.03,CSH,15.5 +VTS,1,5,720,3.13,CSH,12.0 +VTS,1,5,300,1.13,CRD,6.5 +VTS,1,5,480,1.84,CRD,8.5 +VTS,1,5,360,0.84,CSH,6.0 +VTS,1,5,120,0.42,CSH,3.5 +VTS,1,5,240,1.07,CSH,6.0 +VTS,1,5,540,1.29,CSH,8.0 +VTS,1,5,840,4.94,CSH,16.0 +VTS,1,5,1020,3.98,CSH,16.0 +VTS,1,5,720,3.43,CRD,13.5 +VTS,1,5,240,1.06,CRD,5.5 +VTS,1,5,900,2.54,CSH,12.5 +VTS,1,5,480,1.36,CSH,7.0 +VTS,1,5,480,1.24,CRD,7.5 +VTS,1,5,660,1.39,CRD,8.5 +VTS,1,5,420,1.87,CRD,8.0 +VTS,1,5,300,0.98,CSH,5.5 +VTS,1,1,300,0.65,CSH,5.0 +VTS,1,1,420,0.81,CSH,6.5 +VTS,1,5,480,1.45,CSH,7.5 +VTS,1,5,600,1.83,CSH,9.0 +VTS,1,5,660,1.23,CSH,9.0 +VTS,1,5,420,1.81,CRD,8.5 +VTS,1,5,360,1.26,CSH,6.5 +VTS,1,5,1920,5.53,CSH,25.0 +VTS,1,5,960,2.66,CRD,12.5 +VTS,1,5,900,1.9,CSH,11.0 +VTS,1,5,1740,12.73,CSH,38.0 +VTS,1,5,840,2.52,CRD,12.0 +VTS,1,1,120,0.52,CSH,4.0 +VTS,1,5,960,4.96,CRD,17.5 +VTS,1,5,240,1.01,CRD,5.5 +VTS,1,5,360,2.2,CRD,8.0 +VTS,1,5,780,3.1,CRD,13.0 +VTS,1,5,360,1.51,CSH,7.0 +VTS,2,5,1800,17.54,CRD,52.0 +VTS,1,5,1080,6.38,CRD,21.5 +VTS,1,5,420,0.64,CRD,6.0 +VTS,1,5,300,0.7,CSH,5.0 +VTS,1,5,1200,12.54,CSH,34.5 +VTS,1,5,300,0.9,CSH,5.0 +VTS,1,5,300,0.94,CSH,5.5 +VTS,1,5,660,1.55,CRD,9.0 +VTS,1,5,420,2.01,CRD,8.5 +VTS,1,5,240,1.1,CRD,5.5 +VTS,1,5,240,1.06,CRD,5.5 +VTS,1,5,240,0.66,CSH,5.0 +VTS,1,5,780,3.54,CSH,13.5 +VTS,1,5,240,1.17,CRD,6.0 +VTS,1,5,240,1.12,CRD,5.5 +VTS,1,5,420,1.14,CSH,7.0 +VTS,1,5,960,2.99,CSH,13.5 +VTS,1,5,960,1.63,CRD,11.5 +VTS,1,5,360,0.68,CRD,5.5 +VTS,1,5,480,2.22,CSH,9.0 +VTS,1,5,360,1.61,CRD,7.0 +VTS,1,5,1080,1.85,CRD,13.0 +VTS,1,5,1140,3.03,CRD,15.0 +VTS,1,5,540,1.64,CRD,8.5 +VTS,1,4,420,0.94,CRD,6.5 +VTS,1,5,480,2.46,CRD,9.5 +VTS,1,5,420,0.97,CSH,6.5 +VTS,1,5,360,1.07,CRD,7.0 +VTS,1,5,480,2.72,CRD,10.0 +VTS,1,5,660,4.43,CSH,15.5 +VTS,1,5,300,1.49,CRD,6.5 +VTS,1,5,1680,11.27,CRD,35.0 +VTS,1,5,1020,3.39,CSH,15.0 +VTS,1,5,240,1.78,CSH,6.5 +VTS,1,5,180,1.01,CRD,5.0 +VTS,1,5,1380,2.71,CSH,14.0 +VTS,1,5,480,1.75,CSH,8.0 +VTS,1,5,240,0.61,CSH,4.5 +VTS,1,5,1020,8.09,CRD,24.5 +VTS,1,5,480,1.74,CRD,8.0 +VTS,1,5,360,1.34,CRD,7.0 +VTS,1,5,900,4.23,CRD,15.0 +VTS,1,5,480,1.72,CRD,8.0 +VTS,1,5,180,0.83,CRD,5.0 +VTS,1,5,840,3.55,CRD,13.5 +VTS,1,5,360,2.05,CRD,8.0 +VTS,1,5,300,1.09,CSH,5.5 +VTS,1,5,720,4.4,CRD,15.0 +VTS,1,5,180,0.66,CRD,5.0 +VTS,1,5,180,1.54,CSH,6.0 +VTS,1,5,660,3.46,CRD,12.0 +VTS,1,5,600,2.39,CRD,10.5 +VTS,1,5,480,1.3,CRD,7.0 +VTS,1,5,300,1.68,CRD,7.0 +VTS,1,5,1080,2.76,CRD,13.5 +VTS,1,5,180,0.28,CRD,4.5 +VTS,1,5,540,1.45,CRD,8.0 +VTS,1,5,60,0.45,CSH,3.5 +VTS,1,5,180,0.74,CRD,4.5 +VTS,1,5,420,1.34,CRD,7.0 +CMT,1,1,1578,4.3,CSH,19.5 +CMT,1,1,283,1.1,CRD,6.0 +CMT,1,1,495,0.5,CRD,6.5 +CMT,1,1,541,2.2,CSH,9.0 +CMT,1,1,452,1.9,CSH,8.0 +CMT,1,1,771,2.2,CRD,10.5 +CMT,1,1,352,1.3,CSH,6.5 +CMT,1,1,390,1.4,CSH,7.0 +CMT,1,1,554,1.6,CSH,8.0 +CMT,1,1,855,1.3,CRD,10.0 +CMT,1,1,400,1.0,CRD,6.5 +CMT,1,1,625,1.2,CRD,8.0 +CMT,1,1,605,2.5,CSH,10.5 +CMT,1,1,949,1.8,CSH,11.5 +CMT,1,1,739,1.7,CSH,10.0 +CMT,1,1,298,0.8,CRD,5.5 +CMT,1,1,218,0.7,CRD,4.5 +CMT,1,1,839,5.1,CRD,17.5 +CMT,1,1,437,1.6,CRD,8.0 +CMT,1,1,899,6.2,CSH,18.5 +CMT,1,1,167,0.5,CRD,4.0 +CMT,1,2,1408,6.1,CSH,23.0 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,840,3.11,CSH,13.0 +VTS,1,1,960,1.02,CSH,10.5 +VTS,1,1,480,1.9,CSH,8.5 +VTS,1,5,720,1.99,CRD,10.0 +VTS,1,5,240,0.73,CRD,5.0 +VTS,1,5,480,0.97,CSH,7.0 +VTS,1,5,660,2.81,CRD,11.0 +VTS,1,5,720,2.37,CRD,11.0 +VTS,1,5,180,0.63,CRD,4.5 +VTS,1,5,900,9.46,CRD,27.5 +VTS,1,5,300,0.72,CSH,5.5 +VTS,1,5,720,2.41,CSH,11.0 +VTS,1,5,540,1.16,CRD,7.5 +VTS,1,5,240,0.72,CRD,5.0 +VTS,1,5,660,2.14,CSH,9.0 +VTS,1,5,1020,2.81,CSH,13.5 +VTS,1,5,360,0.99,CRD,6.0 +VTS,1,5,60,0.58,CSH,3.5 +VTS,1,5,900,2.91,CSH,12.5 +VTS,1,5,360,1.91,CSH,8.0 +VTS,1,5,540,3.01,CSH,11.0 +VTS,1,5,240,0.69,CRD,4.5 +VTS,1,5,960,1.7,CSH,11.5 +VTS,1,5,300,0.45,CSH,5.0 +VTS,2,5,2220,19.25,CRD,52.0 +VTS,1,5,300,1.41,CRD,6.5 +VTS,1,5,300,0.94,CRD,5.5 +VTS,1,5,240,0.53,CRD,4.5 +VTS,1,5,300,0.65,CSH,5.0 +VTS,1,5,480,2.21,CSH,9.5 +VTS,1,5,480,1.59,CSH,8.0 +VTS,1,5,300,0.96,CSH,6.0 +VTS,1,5,900,2.63,CRD,12.5 +VTS,1,5,720,1.49,CSH,9.5 +VTS,1,5,780,1.33,CRD,9.5 +VTS,1,5,180,0.78,CRD,4.5 +VTS,1,5,900,5.9,CRD,19.0 +VTS,1,5,300,0.82,CRD,5.5 +VTS,1,5,420,1.54,CRD,7.5 +VTS,1,5,600,1.17,CRD,8.0 +VTS,1,5,1380,2.76,CSH,16.0 +VTS,1,5,420,1.03,CRD,6.5 +VTS,1,5,480,1.37,CSH,7.5 +VTS,1,5,1140,4.15,CRD,17.0 +VTS,1,5,540,1.42,CRD,8.0 +VTS,1,5,120,0.75,CSH,4.0 +VTS,1,5,1020,4.67,CRD,17.5 +VTS,1,5,420,0.86,CSH,6.5 +VTS,1,5,720,2.54,CRD,11.0 +VTS,1,5,540,1.92,CSH,9.5 +VTS,1,5,300,1.25,CSH,6.0 +VTS,1,5,420,1.04,CRD,6.5 +VTS,1,5,1020,1.89,CSH,12.0 +VTS,1,5,480,1.6,CRD,8.0 +VTS,1,5,420,1.55,CRD,7.5 +VTS,1,5,420,1.88,CRD,8.0 +VTS,1,5,360,2.31,CRD,8.5 +VTS,1,5,240,1.02,CRD,5.0 +VTS,1,5,600,2.07,CRD,9.5 +VTS,1,5,480,1.31,CSH,8.0 +VTS,1,5,840,1.98,CRD,10.5 +VTS,1,5,180,0.69,CRD,4.5 +VTS,1,5,600,1.63,CRD,9.0 +VTS,1,5,540,2.7,CSH,10.5 +VTS,1,5,300,1.06,CSH,6.0 +VTS,1,5,540,2.96,CRD,11.0 +VTS,1,5,120,0.38,CRD,3.5 +VTS,1,5,1140,8.31,CRD,25.0 +VTS,1,5,1620,16.9,CSH,47.0 +VTS,1,5,240,1.27,CSH,6.0 +VTS,1,5,900,5.77,CRD,19.0 +VTS,1,5,60,0.57,CSH,3.5 +VTS,1,5,960,5.93,CSH,19.0 +VTS,1,5,420,0.87,CRD,6.5 +VTS,1,5,420,1.8,CRD,7.5 +VTS,1,5,480,1.52,CRD,8.0 +VTS,1,5,780,3.05,CSH,12.5 +VTS,1,5,840,4.91,CSH,16.5 +VTS,1,5,120,0.44,CSH,3.5 +VTS,1,5,360,1.02,CRD,6.0 +VTS,1,5,180,0.75,CSH,4.5 +VTS,1,5,960,1.4,CRD,11.5 +VTS,1,5,240,0.87,CSH,5.0 +VTS,1,5,720,4.75,CSH,16.5 +VTS,1,5,360,1.12,CSH,6.0 +VTS,1,5,1020,4.11,CSH,14.0 +VTS,1,5,240,0.85,CRD,5.0 +VTS,1,5,900,3.9,CRD,14.5 +VTS,1,5,240,1.22,CRD,5.5 +VTS,1,5,480,2.44,CSH,10.0 +VTS,1,5,540,1.87,CRD,8.5 +VTS,1,5,180,1.03,CSH,5.5 +VTS,1,5,480,1.59,CRD,8.5 +VTS,1,5,540,1.64,CSH,8.5 +VTS,1,5,1080,12.54,CRD,35.0 +VTS,1,5,660,2.65,CSH,11.5 +VTS,1,5,780,1.14,CRD,9.5 +VTS,2,5,2880,17.89,CRD,52.0 +VTS,1,5,480,1.75,CSH,8.5 +VTS,1,5,300,1.18,CRD,6.0 +VTS,1,1,480,1.83,CRD,8.5 +VTS,1,5,480,1.27,CRD,7.0 +VTS,1,5,240,0.45,CRD,4.5 +VTS,1,5,360,2.27,CSH,8.5 +VTS,1,5,240,0.96,CSH,5.0 +VTS,1,5,780,1.64,CSH,9.5 +VTS,1,5,360,1.55,CRD,7.0 +VTS,1,5,360,1.14,CSH,7.0 +VTS,2,5,1860,19.43,CRD,52.0 +VTS,2,5,3540,18.67,CRD,52.0 +VTS,1,5,180,0.75,CRD,4.5 +VTS,1,5,420,1.09,CRD,7.0 +VTS,1,5,780,1.54,CSH,10.0 +VTS,1,5,600,2.43,CRD,10.0 +VTS,1,5,240,1.64,CRD,7.0 +VTS,1,5,600,1.92,CRD,9.5 +VTS,1,5,1500,6.14,CRD,23.5 +VTS,1,5,720,1.2,CRD,9.0 +VTS,1,5,660,3.43,CRD,13.0 +VTS,1,5,300,2.11,CRD,7.5 +VTS,1,5,1200,9.06,CRD,28.0 +VTS,1,5,120,0.43,CRD,3.5 +VTS,1,5,300,1.04,CRD,6.0 +VTS,1,5,1740,4.5,CRD,21.0 +VTS,1,5,300,0.66,CRD,5.0 +VTS,1,5,780,1.63,CRD,10.5 +VTS,1,5,360,2.36,CRD,8.5 +VTS,1,5,1620,9.85,CRD,32.0 +VTS,1,5,300,0.93,CRD,6.0 +VTS,1,5,1080,8.64,CRD,26.5 +VTS,1,5,180,0.81,CRD,4.5 +VTS,1,5,480,2.0,CRD,8.5 +VTS,1,5,480,1.57,CRD,7.5 +VTS,1,5,600,1.41,CSH,8.5 +VTS,1,5,780,7.37,CSH,22.0 +VTS,1,5,240,0.93,CSH,5.0 +VTS,1,5,480,1.78,CSH,8.5 +VTS,1,5,780,1.65,CRD,10.0 +VTS,1,5,600,4.04,CRD,13.5 +VTS,1,5,540,1.93,CSH,8.5 +VTS,1,5,480,1.87,CSH,8.5 +VTS,1,5,720,2.24,CRD,10.5 +VTS,1,5,120,0.61,CRD,4.0 +VTS,1,5,540,1.91,CRD,9.0 +VTS,1,5,180,0.67,CSH,5.0 +VTS,1,5,1140,4.4,CRD,17.5 +VTS,1,5,480,1.22,CSH,7.0 +VTS,1,5,960,3.04,CSH,13.0 +VTS,1,5,1320,3.25,CRD,16.0 +VTS,1,5,900,4.07,CRD,15.0 +VTS,1,5,540,1.0,CSH,8.0 +VTS,1,5,660,1.36,CSH,8.5 +VTS,1,5,360,1.2,CSH,6.5 +VTS,1,5,480,0.95,CSH,6.5 +VTS,1,5,1080,2.31,CSH,13.5 +VTS,1,5,1200,1.53,CSH,13.0 +VTS,1,5,1440,5.01,CSH,21.0 +VTS,1,5,900,1.6,CRD,11.0 +VTS,1,5,1020,7.36,CRD,22.5 +VTS,1,5,300,0.81,CRD,5.5 +VTS,1,5,540,1.06,CSH,7.5 +VTS,1,5,240,1.13,CRD,6.0 +VTS,1,5,1020,1.85,CRD,12.0 +VTS,1,5,480,1.17,CSH,7.0 +VTS,1,5,720,1.88,CRD,10.0 +VTS,1,5,240,1.47,CRD,6.0 +VTS,1,5,720,2.65,CRD,11.0 +VTS,1,5,180,0.43,CSH,3.5 +VTS,1,5,540,0.93,CRD,7.0 +VTS,1,5,360,0.51,CSH,5.5 +VTS,1,5,1680,8.3,CRD,28.0 +VTS,1,5,240,0.97,CRD,5.5 +VTS,1,5,300,0.51,CRD,5.0 +VTS,1,5,1680,11.81,CSH,36.5 +VTS,1,5,660,1.39,CRD,9.5 +VTS,1,5,1140,9.53,CRD,29.0 +VTS,1,5,420,1.19,CRD,7.0 +VTS,1,5,1020,7.34,CSH,23.0 +VTS,1,5,180,0.57,CSH,4.0 +VTS,1,5,600,1.52,CSH,9.0 +VTS,1,5,720,2.91,CSH,12.0 +VTS,1,5,480,2.16,CRD,9.0 +VTS,1,5,480,1.69,CSH,8.0 +VTS,1,5,420,0.92,CSH,6.5 +VTS,1,5,420,2.11,CRD,8.5 +VTS,1,5,300,0.92,CSH,6.0 +VTS,1,1,540,1.53,CSH,8.0 +VTS,1,1,720,3.69,CSH,13.5 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,1,60,0.63,CSH,4.0 +VTS,1,5,480,1.59,CSH,7.5 +VTS,1,5,540,2.12,CSH,9.0 +VTS,1,5,360,1.09,CRD,6.0 +VTS,1,5,1140,3.94,CRD,16.0 +VTS,1,5,300,0.41,CSH,5.0 +VTS,1,5,420,1.19,CSH,7.0 +VTS,1,5,420,0.73,CSH,6.0 +VTS,1,5,1080,4.01,CRD,16.5 +VTS,1,4,1500,4.62,CSH,20.0 +VTS,1,5,420,0.93,CSH,6.5 +VTS,1,5,240,0.99,CSH,5.5 +VTS,1,5,360,1.1,CSH,6.5 +VTS,1,5,120,0.67,CSH,4.5 +VTS,1,5,900,4.39,CRD,16.5 +VTS,1,5,420,0.98,CRD,6.5 +VTS,1,5,1620,19.41,CRD,51.5 +VTS,1,5,240,0.49,CRD,4.0 +VTS,1,5,420,1.57,CSH,7.5 +VTS,1,5,420,1.43,CRD,7.5 +VTS,1,5,360,0.97,CSH,6.0 +VTS,1,5,300,0.82,CRD,5.5 +VTS,1,5,480,1.96,CSH,9.0 +VTS,1,5,1920,11.87,CSH,37.0 +VTS,1,5,240,1.33,CSH,6.0 +VTS,1,5,480,1.61,CSH,8.0 +VTS,1,5,720,4.3,CRD,15.0 +VTS,1,5,360,1.56,CRD,7.0 +VTS,1,5,720,2.15,CRD,10.5 +VTS,1,5,660,1.74,CRD,9.5 +VTS,1,5,180,1.04,CRD,5.0 +VTS,1,5,360,1.49,CRD,7.0 +VTS,1,5,120,0.75,CSH,4.5 +VTS,1,5,720,7.14,CRD,21.0 +VTS,1,5,120,0.76,CSH,4.5 +VTS,1,5,360,2.08,CSH,8.0 +VTS,1,5,240,1.22,CRD,5.5 +VTS,1,5,360,1.63,CRD,7.0 +VTS,1,5,180,1.16,CSH,5.0 +VTS,1,5,120,0.43,CSH,3.5 +VTS,1,5,1260,3.85,CRD,16.5 +VTS,1,5,180,0.75,CRD,5.0 +VTS,1,5,420,0.8,CSH,6.5 +VTS,1,5,240,0.52,CRD,4.5 +VTS,1,5,1260,3.71,CRD,16.5 +VTS,2,5,3480,19.54,CRD,52.0 +VTS,1,5,420,2.62,CSH,9.5 +VTS,1,5,360,1.46,CSH,7.0 +VTS,1,5,1080,7.18,CRD,22.5 +VTS,1,5,360,0.61,CSH,5.5 +VTS,1,5,600,1.26,CSH,8.0 +VTS,1,5,1800,11.71,CRD,35.5 +VTS,1,5,420,0.83,CRD,6.0 +VTS,1,5,480,2.95,CSH,10.5 +VTS,1,5,300,0.9,CRD,5.5 +VTS,1,5,540,0.92,CSH,7.5 +VTS,1,5,780,3.48,CRD,13.5 +VTS,1,5,600,1.98,CRD,9.5 +VTS,1,5,1020,5.25,CRD,18.0 +VTS,1,5,780,1.37,CSH,9.5 +VTS,1,5,1320,3.77,CRD,16.5 +VTS,1,5,1080,3.72,CRD,16.5 +VTS,1,5,600,1.62,CRD,8.5 +VTS,1,5,420,1.95,CRD,8.0 +VTS,1,5,1080,1.34,CRD,11.5 +VTS,1,5,300,1.8,CRD,7.5 +VTS,1,5,600,2.18,CSH,9.5 +VTS,1,5,540,0.84,CRD,7.5 +VTS,1,5,900,2.54,CSH,10.0 +VTS,1,5,960,2.63,CSH,12.5 +VTS,1,5,720,1.84,CRD,10.0 +VTS,1,5,1860,5.08,CSH,22.5 +VTS,1,5,660,1.67,CRD,9.5 +VTS,1,5,420,0.74,CSH,6.0 +VTS,1,5,360,1.8,CSH,7.5 +VTS,1,5,420,1.03,CSH,7.0 +VTS,1,5,420,1.18,CSH,6.5 +VTS,1,5,300,1.47,CSH,7.0 +VTS,1,5,1800,7.02,CRD,26.5 +VTS,1,5,300,1.14,CRD,6.0 +VTS,1,5,120,0.67,CRD,4.0 +VTS,1,5,300,1.27,CSH,6.0 +VTS,1,2,780,1.5,CRD,10.0 +VTS,1,2,2160,5.45,CSH,26.0 +VTS,1,2,180,0.63,CSH,4.5 +VTS,1,2,360,0.81,CRD,6.0 +VTS,1,2,360,1.38,CSH,7.0 +VTS,1,2,240,0.67,CSH,5.0 +VTS,1,2,240,0.98,CRD,5.0 +VTS,1,2,180,0.83,CRD,5.0 +VTS,1,2,600,3.29,CSH,11.0 +VTS,1,2,360,0.94,CSH,6.0 +VTS,1,2,480,1.92,CSH,8.0 +VTS,1,2,180,0.35,CSH,4.0 +VTS,1,2,360,1.48,CRD,7.0 +VTS,1,2,240,0.92,CSH,5.5 +VTS,1,2,540,1.67,CSH,8.0 +VTS,1,2,540,2.02,CRD,9.0 +VTS,1,2,840,1.47,CRD,10.0 +VTS,1,3,300,0.58,CSH,4.5 +VTS,1,2,300,1.78,CSH,7.0 +VTS,1,2,540,1.99,CRD,9.0 +VTS,1,2,420,1.05,CRD,6.5 +VTS,1,2,780,2.38,CSH,11.0 +VTS,1,2,360,1.54,CSH,7.5 +VTS,1,2,360,1.54,CRD,7.0 +VTS,1,2,1140,3.27,CSH,15.0 +VTS,1,2,360,0.92,CRD,6.0 +VTS,1,2,480,2.53,CSH,10.0 +VTS,1,2,360,1.28,CRD,6.5 +VTS,1,2,360,1.39,CSH,7.0 +VTS,1,2,300,1.54,CSH,7.0 +VTS,1,2,300,1.0,CRD,6.0 +VTS,1,1,300,0.73,CRD,5.0 +VTS,1,2,540,2.73,CSH,10.0 +VTS,1,2,480,0.92,CSH,6.5 +VTS,1,2,240,0.92,CSH,5.5 +VTS,1,2,120,0.41,CSH,3.5 +VTS,1,2,900,4.37,CRD,15.0 +VTS,1,2,600,2.42,CSH,10.5 +VTS,1,2,480,2.48,CRD,9.5 +VTS,1,2,900,5.64,CRD,17.5 +VTS,1,2,420,1.6,CRD,7.5 +VTS,1,2,180,0.88,CSH,5.0 +VTS,1,2,720,2.34,CRD,10.5 +VTS,1,2,360,1.47,CRD,7.5 +VTS,1,2,240,0.71,CRD,5.0 +VTS,1,2,780,3.41,CRD,12.5 +VTS,1,2,720,3.07,CRD,11.5 +VTS,1,2,720,3.87,CRD,14.0 +VTS,1,2,480,1.15,CRD,7.0 +VTS,1,2,660,4.39,CSH,14.0 +VTS,1,2,120,0.31,CSH,3.5 +VTS,1,2,300,1.19,CSH,6.0 +VTS,1,2,300,1.34,CSH,6.5 +VTS,1,2,300,0.76,CRD,5.0 +VTS,1,2,480,1.14,CRD,7.0 +VTS,1,2,120,0.78,CSH,4.5 +VTS,1,1,240,0.76,CRD,5.0 +VTS,1,2,900,1.68,CRD,11.0 +VTS,1,2,480,2.21,CRD,9.0 +VTS,1,2,600,1.12,CSH,7.5 +VTS,1,2,660,2.1,CSH,9.5 +VTS,1,2,360,0.75,CRD,5.5 +VTS,1,2,300,0.63,CRD,5.0 +VTS,1,2,240,1.15,CSH,6.0 +VTS,1,2,960,3.95,CSH,14.5 +VTS,1,2,600,2.09,CSH,10.0 +VTS,1,2,1440,4.92,CRD,19.5 +VTS,1,2,480,1.15,CSH,7.0 +VTS,1,2,300,0.9,CRD,5.5 +VTS,1,2,240,0.6,CRD,4.5 +VTS,1,2,720,1.83,CRD,10.0 +VTS,1,5,1020,2.14,CSH,12.0 +VTS,1,5,840,4.25,CSH,16.0 +VTS,1,5,540,0.82,CRD,7.5 +VTS,1,5,900,8.55,CRD,24.5 +VTS,1,5,540,1.72,CSH,8.5 +VTS,1,5,840,1.98,CSH,11.0 +VTS,1,5,600,1.54,CSH,8.5 +VTS,1,5,180,0.66,CSH,4.5 +VTS,1,5,420,1.49,CRD,7.5 +VTS,1,5,660,1.96,CRD,9.5 +VTS,1,5,300,1.03,CRD,5.5 +VTS,1,5,360,2.05,CSH,7.5 +VTS,1,5,360,2.48,CSH,8.5 +VTS,2,5,1920,17.54,CRD,52.0 +VTS,1,5,480,1.39,CSH,8.0 +VTS,1,5,360,2.24,CRD,8.0 +VTS,1,5,900,2.28,CRD,12.0 +VTS,1,2,540,2.07,CSH,9.5 +VTS,1,2,180,0.47,CRD,4.0 +VTS,1,2,1260,5.16,CRD,19.5 +VTS,1,2,240,0.44,CSH,4.5 +VTS,1,2,480,2.17,CSH,8.5 +VTS,1,2,300,1.02,CSH,6.0 +VTS,1,2,540,1.65,CSH,8.5 +VTS,3,2,1860,16.41,CRD,64.0 +VTS,1,2,300,0.84,CRD,5.5 +VTS,3,5,2220,14.69,CRD,62.0 +VTS,1,5,780,6.19,CRD,20.0 +VTS,1,5,120,0.66,CSH,4.0 +VTS,1,5,600,0.86,CSH,7.0 +VTS,1,5,600,2.0,CRD,10.0 +VTS,1,5,240,0.74,CSH,5.0 +VTS,1,5,600,2.93,CRD,11.0 +VTS,1,5,660,2.02,CRD,10.0 +VTS,1,5,480,1.51,CSH,8.0 +VTS,1,5,1200,4.7,CSH,18.0 +VTS,1,5,1680,6.99,CRD,27.0 +VTS,1,5,600,3.11,CSH,11.5 +VTS,1,5,660,3.21,CRD,12.5 +VTS,1,5,780,1.44,CRD,10.0 +VTS,1,5,900,2.18,CRD,11.5 +VTS,1,5,480,1.79,CRD,8.0 +VTS,1,5,360,1.59,CRD,7.5 +VTS,1,5,720,2.18,CRD,10.5 +VTS,1,5,720,1.58,CRD,9.5 +VTS,1,5,1320,6.23,CSH,22.5 +VTS,1,5,840,3.73,CRD,13.5 +VTS,1,5,3180,9.64,CRD,38.0 +VTS,1,5,540,1.62,CRD,8.5 +VTS,1,5,360,1.5,CSH,7.0 +VTS,1,5,900,2.71,CRD,12.5 +VTS,1,5,420,1.35,CRD,7.0 +VTS,1,1,180,1.28,CRD,5.5 +VTS,1,2,180,0.72,CSH,4.5 +VTS,1,2,360,1.43,CSH,6.5 +VTS,1,2,60,0.2,CRD,3.0 +VTS,1,2,660,1.47,CSH,9.5 +VTS,1,2,420,1.65,CSH,7.5 +VTS,1,2,1380,4.81,CRD,19.0 +VTS,1,2,600,1.57,CSH,9.0 +VTS,1,2,540,1.29,CRD,7.5 +VTS,1,2,420,1.58,CRD,8.0 +VTS,1,2,960,5.59,CSH,18.5 +VTS,1,3,120,0.57,CSH,4.0 +VTS,1,2,180,0.65,CRD,4.0 +VTS,2,3,2640,17.79,CSH,52.0 +VTS,1,2,360,1.21,CSH,6.5 +VTS,1,2,960,4.23,CRD,15.0 +VTS,1,2,300,0.95,CSH,5.5 +VTS,1,2,1020,2.81,CSH,13.5 +VTS,1,2,300,1.67,CSH,7.0 +VTS,1,3,480,1.87,CRD,8.5 +VTS,1,2,240,0.92,CRD,5.5 +VTS,1,2,300,1.15,CRD,6.5 +VTS,1,2,360,2.33,CSH,8.5 +VTS,1,2,780,2.29,CRD,10.5 +VTS,1,2,840,3.56,CRD,13.0 +VTS,1,2,1560,3.85,CRD,19.0 +VTS,1,2,180,0.81,CRD,5.0 +VTS,1,2,300,0.28,CSH,4.5 +VTS,1,2,1140,2.37,CSH,14.0 +VTS,1,2,1440,6.3,CSH,20.5 +VTS,1,2,300,0.69,CRD,5.0 +VTS,1,2,240,0.51,CRD,4.5 +VTS,1,2,1260,6.78,CRD,22.0 +VTS,1,2,480,2.86,CRD,10.5 +VTS,3,2,3360,15.54,CRD,71.5 +VTS,1,2,360,1.15,CRD,6.0 +VTS,1,2,180,0.73,CSH,4.5 +VTS,1,2,840,3.41,CRD,13.0 +VTS,1,2,600,1.39,CSH,8.0 +VTS,1,2,660,1.23,CRD,8.0 +VTS,1,2,240,1.03,CRD,5.5 +VTS,1,2,420,1.72,CSH,7.5 +VTS,1,2,360,1.45,CSH,7.0 +VTS,1,3,300,0.77,CSH,5.5 +VTS,1,2,840,5.24,CRD,17.5 +VTS,1,2,480,1.8,CRD,8.0 +VTS,1,2,780,2.32,CRD,11.5 +VTS,1,2,240,1.03,CSH,5.5 +VTS,1,2,660,3.97,CRD,14.0 +VTS,1,2,660,1.34,CRD,8.5 +VTS,1,3,780,1.88,CRD,10.0 +VTS,1,2,180,0.66,CRD,4.5 +VTS,1,5,420,1.03,CRD,7.0 +VTS,1,2,1080,5.58,CSH,19.5 +VTS,1,2,720,3.17,CRD,12.0 +VTS,2,2,2040,20.52,CSH,52.0 +VTS,1,2,1140,5.24,CSH,18.5 +VTS,1,2,360,0.8,CSH,5.5 +VTS,1,2,660,2.54,CSH,10.5 +VTS,1,2,1380,9.31,CRD,29.0 +VTS,1,2,480,1.81,CRD,8.0 +VTS,1,2,660,2.01,CRD,9.5 +VTS,1,2,180,1.0,CRD,5.5 +VTS,1,2,840,1.82,CRD,10.5 +VTS,1,2,1200,6.43,CRD,21.0 +VTS,1,2,840,3.96,CRD,14.0 +VTS,1,2,480,2.18,CSH,9.0 +VTS,1,2,180,1.05,CSH,5.0 +VTS,1,2,480,1.99,CRD,8.5 +VTS,1,2,600,4.95,CRD,15.5 +VTS,1,2,300,0.78,CSH,5.0 +VTS,1,2,180,0.88,CRD,5.0 +VTS,1,2,420,1.22,CRD,7.0 +VTS,1,2,1320,3.07,CRD,15.5 +VTS,1,2,900,5.54,CSH,18.0 +VTS,1,2,720,3.31,CRD,12.5 +VTS,1,3,480,1.07,CSH,6.5 +VTS,1,2,420,1.4,CSH,7.0 +VTS,1,5,480,2.08,CRD,9.0 +VTS,1,5,780,1.78,CRD,10.5 +VTS,1,5,300,1.07,CRD,6.0 +VTS,1,5,540,1.65,CSH,8.0 +VTS,1,5,300,0.88,CRD,6.0 +VTS,1,5,300,1.43,CRD,7.0 +VTS,1,5,780,2.61,CRD,11.5 +VTS,1,5,1380,3.63,CSH,17.5 +VTS,1,5,600,1.18,CRD,8.0 +VTS,1,5,420,0.91,CRD,6.5 +VTS,1,5,600,1.92,CRD,9.5 +VTS,1,5,600,2.61,CRD,10.5 +VTS,1,5,720,1.56,CSH,9.0 +VTS,1,5,1080,3.67,CRD,15.5 +VTS,1,5,420,0.81,CSH,6.5 +VTS,1,5,240,0.96,CRD,5.5 +VTS,1,5,240,0.98,CRD,5.5 +VTS,1,5,480,1.7,CSH,8.0 +VTS,1,5,180,0.48,CRD,4.5 +VTS,1,5,1380,3.63,CRD,17.5 +VTS,1,5,420,0.81,CSH,6.0 +VTS,1,5,240,1.77,CSH,6.5 +VTS,1,5,1440,7.63,CSH,25.5 +VTS,1,5,360,1.56,CRD,7.0 +VTS,1,5,300,0.81,CSH,5.0 +VTS,1,5,1080,1.83,CSH,12.5 +VTS,1,5,360,0.77,CSH,6.0 +VTS,1,5,120,0.35,CRD,3.5 +VTS,1,5,660,2.33,CRD,10.0 +VTS,1,5,720,2.57,CSH,11.0 +VTS,1,2,1140,5.19,CSH,19.0 +VTS,2,3,1920,19.07,CSH,52.0 +VTS,1,2,660,1.7,CRD,9.5 +VTS,1,2,660,3.35,CRD,13.0 +VTS,1,2,1020,3.97,CSH,15.5 +VTS,1,2,180,0.86,CRD,5.0 +VTS,1,2,300,1.44,CSH,6.0 +VTS,1,2,480,1.25,CSH,6.5 +VTS,1,2,720,6.16,CRD,18.5 +VTS,1,2,1800,7.22,CSH,26.0 +VTS,1,2,300,1.09,CSH,5.5 +VTS,1,2,300,0.76,CSH,5.5 +VTS,1,2,360,1.14,CSH,6.0 +VTS,1,2,660,3.31,CRD,12.0 +VTS,1,2,660,2.7,CSH,11.0 +VTS,1,2,240,0.97,CSH,5.0 +VTS,1,2,600,1.78,CSH,9.0 +VTS,1,2,1560,4.06,CSH,18.5 +VTS,1,1,240,0.82,CSH,5.0 +VTS,1,2,480,1.08,CRD,7.0 +VTS,1,2,600,1.43,CRD,8.5 +VTS,1,2,720,1.38,CSH,9.0 +VTS,1,2,300,1.03,CRD,6.0 +VTS,1,2,600,3.31,CRD,11.5 +VTS,1,2,540,4.3,CRD,14.0 +VTS,1,2,660,1.86,CSH,9.5 +VTS,1,2,180,0.59,CSH,4.0 +VTS,1,3,480,2.14,CRD,9.0 +VTS,1,2,360,2.3,CSH,8.5 +VTS,1,2,480,1.88,CSH,8.0 +VTS,1,2,240,0.57,CSH,4.5 +VTS,1,2,240,0.87,CRD,5.0 +VTS,1,2,300,0.59,CRD,5.0 +VTS,1,2,600,1.26,CSH,8.0 +VTS,1,2,600,2.06,CRD,9.0 +VTS,1,2,120,0.67,CSH,4.0 +VTS,1,2,360,0.62,CRD,5.5 +VTS,1,2,1080,2.91,CRD,14.0 +VTS,1,2,1140,6.29,CRD,20.5 +VTS,1,2,240,1.67,CRD,6.5 +VTS,1,2,540,1.67,CSH,8.0 +VTS,1,2,180,1.0,CSH,5.0 +VTS,1,2,1500,4.08,CSH,19.0 +VTS,1,2,840,2.91,CSH,12.5 +VTS,1,2,240,1.53,CSH,6.5 +VTS,1,2,420,1.02,CSH,6.5 +VTS,1,2,600,3.5,CSH,12.5 +VTS,1,2,360,0.89,CRD,5.5 +VTS,1,2,840,3.41,CSH,13.5 +VTS,1,2,120,0.82,CRD,4.5 +VTS,1,2,120,0.58,CRD,4.0 +VTS,1,2,600,1.93,CRD,9.0 +VTS,1,2,660,1.29,CRD,8.0 +VTS,1,2,1380,5.53,CRD,21.0 +VTS,1,2,660,2.51,CSH,10.5 +VTS,1,2,480,1.42,CRD,7.5 +VTS,1,2,480,1.22,CRD,7.5 +VTS,1,2,180,1.22,CRD,5.5 +VTS,1,2,720,2.23,CRD,10.5 +VTS,1,2,540,1.56,CSH,8.5 +VTS,1,2,300,0.73,CRD,5.5 +VTS,1,2,1020,4.68,CSH,16.0 +VTS,1,2,1680,4.17,CSH,20.5 +VTS,1,2,300,0.93,CSH,5.0 +VTS,1,2,540,1.42,CRD,7.5 +VTS,1,2,660,2.5,CSH,10.0 +VTS,1,2,900,2.97,CRD,12.5 +VTS,1,2,480,1.3,CSH,7.5 +VTS,1,2,300,0.67,CRD,5.0 +VTS,1,3,360,1.47,CRD,7.0 +VTS,1,1,360,0.72,CRD,5.5 +VTS,1,2,600,1.62,CSH,9.0 +VTS,1,2,1260,6.75,CSH,22.0 +VTS,1,2,1320,5.59,CRD,22.0 +VTS,1,2,240,1.2,CSH,5.5 +VTS,1,2,660,4.64,CSH,15.5 +VTS,1,2,1320,9.29,CRD,28.5 +VTS,1,2,300,1.74,CSH,7.0 +VTS,1,2,420,2.08,CRD,8.5 +VTS,1,2,120,0.73,CRD,4.5 +VTS,1,2,660,1.87,CSH,9.5 +VTS,1,3,420,1.12,CRD,6.5 +VTS,1,2,660,1.96,CRD,9.5 +VTS,1,2,900,1.73,CRD,11.5 +VTS,1,2,1320,5.07,CRD,20.0 +VTS,1,2,360,2.27,CRD,8.5 +VTS,1,2,600,2.81,CSH,11.5 +VTS,1,2,900,3.09,CSH,13.0 +VTS,1,2,480,0.85,CRD,6.5 +VTS,1,2,900,4.62,CSH,15.0 +VTS,1,2,480,1.98,CRD,8.5 +VTS,1,2,480,1.69,CRD,8.0 +VTS,1,2,300,1.1,CRD,5.5 +VTS,1,2,1260,6.6,CSH,22.0 +VTS,1,2,240,0.8,CRD,5.0 +VTS,1,2,480,1.38,CSH,7.0 +VTS,1,2,420,1.49,CSH,7.5 +VTS,1,2,420,1.99,CRD,8.5 +VTS,1,2,720,4.46,CRD,14.0 +VTS,1,2,660,2.18,CRD,10.0 +VTS,1,2,420,1.22,CRD,7.0 +VTS,1,5,960,1.77,CRD,12.0 +VTS,1,5,300,1.09,CSH,6.0 +VTS,1,5,420,2.01,CSH,8.0 +VTS,1,5,540,1.94,CRD,9.0 +VTS,1,5,660,1.82,CSH,9.5 +VTS,1,5,1260,4.59,CSH,19.0 +VTS,1,5,420,1.2,CSH,6.5 +VTS,1,5,540,1.73,CSH,8.5 +VTS,1,5,900,3.94,CSH,14.5 +VTS,1,5,660,4.76,CRD,15.0 +VTS,1,5,1080,1.88,CSH,12.5 +VTS,1,5,480,1.45,CSH,7.5 +VTS,1,5,360,1.98,CRD,8.0 +VTS,1,5,900,1.55,CRD,11.0 +VTS,1,5,300,0.73,CSH,5.5 +VTS,1,5,720,1.72,CSH,9.5 +VTS,1,5,300,1.29,CSH,6.0 +VTS,1,2,960,4.99,CRD,17.0 +VTS,1,2,660,1.41,CSH,9.0 +VTS,1,2,720,4.52,CSH,14.5 +VTS,1,2,660,4.24,CSH,13.5 +VTS,1,2,240,0.74,CSH,5.0 +VTS,1,3,360,1.05,CSH,6.0 +VTS,1,2,240,1.96,CRD,7.0 +VTS,1,3,1140,5.02,CSH,17.5 +VTS,1,2,1620,8.99,CRD,28.0 +VTS,1,2,840,3.37,CRD,12.5 +VTS,1,2,660,2.7,CSH,11.5 +VTS,1,2,960,3.01,CSH,13.0 +VTS,1,2,480,2.28,CSH,9.0 +VTS,1,2,180,0.34,CRD,4.0 +VTS,1,3,900,3.97,CRD,14.0 +VTS,1,2,1380,3.83,CSH,17.0 +VTS,1,2,660,3.68,CRD,12.5 +VTS,1,2,360,2.54,CRD,9.0 +VTS,1,2,540,1.48,CRD,8.0 +VTS,1,2,300,1.09,CSH,6.0 +VTS,1,2,120,0.6,CSH,4.0 +VTS,1,2,540,2.53,CRD,9.5 +VTS,1,2,240,1.33,CSH,6.0 +VTS,1,2,480,2.44,CRD,9.0 +VTS,1,2,420,1.01,CSH,6.5 +VTS,1,2,1620,3.46,CSH,13.0 +VTS,1,1,540,0.89,CSH,7.0 +VTS,1,2,360,1.5,CSH,6.5 +VTS,1,2,240,0.51,CRD,4.5 +VTS,1,2,420,1.51,CSH,7.0 +VTS,1,2,780,2.05,CRD,10.5 +VTS,1,2,480,1.4,CSH,7.5 +VTS,1,2,240,0.77,CRD,5.0 +VTS,1,3,900,3.52,CRD,13.0 +VTS,1,1,480,2.45,CRD,9.5 +VTS,1,2,300,0.84,CRD,5.5 +VTS,1,2,540,1.76,CSH,8.0 +VTS,1,2,240,1.92,CRD,7.5 +VTS,1,2,60,0.02,CSH,3.0 +VTS,1,2,360,1.99,CSH,8.0 +VTS,1,2,1020,9.12,CSH,26.5 +VTS,1,2,420,1.51,CSH,7.5 +VTS,1,2,1200,8.83,CSH,26.0 +VTS,1,2,420,1.68,CSH,8.0 +VTS,1,2,360,1.05,CRD,6.5 +VTS,1,2,1020,3.2,CRD,13.5 +VTS,1,2,780,1.39,CSH,9.0 +VTS,1,2,840,4.32,CSH,15.0 +VTS,1,2,540,1.17,CSH,8.0 +VTS,1,2,420,1.18,CRD,7.0 +VTS,1,2,480,1.54,CRD,8.0 +VTS,1,2,300,0.9,CSH,5.5 +VTS,1,2,420,1.29,CRD,6.5 +VTS,1,2,720,1.66,CSH,9.5 +VTS,1,2,720,1.86,CSH,9.5 +VTS,1,2,360,0.73,CSH,6.0 +VTS,1,2,240,1.14,CRD,5.5 +VTS,1,2,2280,9.09,CRD,32.0 +VTS,1,3,420,1.2,CSH,7.0 +VTS,1,2,2160,10.3,CRD,33.0 +VTS,1,2,480,0.87,CRD,6.5 +VTS,1,2,600,1.41,CSH,8.5 +VTS,1,2,840,2.41,CSH,12.0 +VTS,1,2,660,1.12,CRD,8.5 +VTS,1,2,120,0.63,CSH,4.0 +VTS,1,2,240,0.98,CSH,5.5 +VTS,1,2,300,0.62,CRD,5.5 +VTS,1,2,1620,9.6,CSH,30.5 +VTS,1,2,1260,5.33,CSH,22.0 +VTS,1,2,180,0.34,CSH,3.5 +VTS,1,2,1380,5.97,CRD,21.0 +VTS,1,2,540,0.95,CRD,7.0 +VTS,1,2,720,6.51,CRD,20.0 +VTS,1,2,420,1.52,CSH,7.0 +VTS,1,2,360,0.79,CRD,5.5 +VTS,1,2,480,2.56,CRD,9.5 +VTS,1,2,1260,5.29,CRD,19.5 +VTS,1,2,1020,4.4,CSH,16.5 +VTS,1,1,300,2.45,CRD,8.5 +VTS,1,2,600,5.27,CRD,16.5 +VTS,1,2,60,0.33,CRD,3.0 +VTS,1,4,660,4.46,CRD,14.5 +VTS,1,2,540,1.74,CRD,8.5 +VTS,1,2,60,0.47,CSH,3.5 +VTS,1,2,540,1.88,CRD,8.5 +VTS,1,2,360,0.86,CRD,5.5 +VTS,1,2,180,0.82,CRD,4.5 +VTS,1,5,540,2.59,CRD,10.0 +VTS,1,5,420,2.28,CRD,9.0 +VTS,1,5,420,1.02,CRD,7.0 +VTS,1,5,1080,2.81,CRD,13.0 +VTS,1,5,780,1.04,CSH,9.0 +VTS,1,5,1200,5.26,CRD,19.5 +VTS,1,5,120,0.58,CSH,4.0 +VTS,1,5,360,3.01,CRD,10.0 +VTS,1,5,840,3.07,CSH,12.5 +VTS,1,5,180,0.68,CRD,4.5 +VTS,1,5,480,1.3,CRD,7.5 +VTS,1,5,660,2.04,CSH,10.0 +VTS,1,5,480,2.04,CSH,8.5 +VTS,1,5,540,0.71,CSH,6.5 +VTS,1,2,240,0.73,CRD,5.0 +VTS,1,3,480,1.57,CSH,7.5 +VTS,1,2,720,2.35,CRD,10.5 +VTS,1,2,720,2.42,CRD,10.5 +VTS,1,2,240,1.04,CSH,5.5 +VTS,1,2,1020,1.98,CRD,12.5 +VTS,1,2,840,2.81,CSH,12.5 +VTS,1,2,1500,4.95,CSH,20.5 +VTS,1,2,1320,5.78,CRD,20.5 +VTS,1,2,120,0.39,CSH,3.5 +VTS,1,2,540,0.83,CSH,7.0 +VTS,1,2,300,0.73,CSH,5.5 +VTS,1,2,1080,2.92,CRD,13.5 +VTS,1,2,180,0.52,CSH,4.0 +VTS,1,2,180,1.15,CRD,5.5 +VTS,1,2,1020,4.04,CRD,15.5 +VTS,1,2,300,1.59,CRD,6.5 +VTS,1,2,900,4.91,CSH,16.5 +VTS,1,2,600,2.0,CSH,9.5 +VTS,1,2,300,0.64,CRD,5.5 +VTS,1,2,900,3.5,CSH,14.0 +VTS,1,2,1440,9.53,CRD,30.0 +VTS,1,2,1320,3.77,CRD,16.0 +VTS,1,2,600,1.98,CSH,9.0 +VTS,1,2,720,3.02,CSH,11.5 +VTS,1,2,900,6.64,CSH,20.0 +VTS,2,2,3000,16.16,CRD,52.0 +VTS,1,2,1200,3.63,CRD,15.5 +VTS,1,2,240,1.37,CRD,6.0 +VTS,1,2,480,1.34,CRD,7.5 +VTS,1,2,540,1.12,CRD,7.0 +VTS,1,2,180,0.5,CRD,4.0 +VTS,1,2,180,0.61,CRD,4.5 +VTS,1,2,960,0.95,CRD,10.5 +VTS,1,2,420,1.23,CRD,7.0 +VTS,1,2,420,1.66,CRD,7.5 +VTS,1,2,360,2.22,CSH,8.5 +VTS,1,3,480,1.18,CRD,7.0 +VTS,1,2,840,4.26,CSH,15.5 +VTS,1,2,360,2.07,CRD,8.0 +VTS,1,2,300,0.88,CSH,5.5 +VTS,1,2,840,1.49,CSH,10.0 +VTS,1,2,180,0.98,CSH,5.0 +VTS,1,2,780,4.73,CRD,16.0 +VTS,1,2,360,1.29,CRD,6.5 +VTS,1,2,600,1.57,CRD,8.5 +VTS,1,2,840,1.2,CSH,10.0 +VTS,1,2,540,2.03,CSH,8.5 +VTS,1,2,780,2.09,CRD,10.5 +VTS,1,2,960,3.61,CRD,15.0 +VTS,1,2,420,1.94,CRD,8.0 +VTS,1,2,240,0.89,CSH,5.0 +VTS,1,2,1020,1.89,CSH,11.5 +VTS,1,2,1080,2.19,CSH,12.5 +VTS,1,2,840,3.45,CSH,13.5 +VTS,1,2,300,0.84,CRD,5.0 +VTS,1,2,540,3.68,CSH,12.5 +VTS,1,2,1860,6.18,CRD,22.5 +VTS,1,2,240,0.59,CRD,4.5 +VTS,1,2,540,0.64,CRD,6.5 +VTS,1,2,480,3.23,CRD,11.0 +VTS,1,2,300,0.9,CRD,5.5 +VTS,1,2,840,3.97,CRD,14.0 +VTS,1,2,1080,6.96,CRD,23.0 +VTS,1,2,960,2.18,CRD,11.5 +VTS,1,2,300,1.47,CRD,6.5 +VTS,1,2,300,0.77,CRD,5.5 +VTS,1,2,1020,2.96,CRD,13.5 +VTS,1,2,300,1.13,CSH,6.0 +VTS,1,2,780,1.98,CRD,10.5 +VTS,1,2,1140,8.06,CSH,24.5 +VTS,1,2,900,3.22,CRD,13.0 +VTS,1,2,480,1.48,CRD,8.0 +VTS,1,2,720,2.01,CRD,10.0 +VTS,1,2,480,1.35,CSH,7.5 +VTS,1,2,360,1.15,CSH,6.5 +VTS,1,2,300,0.9,CSH,5.0 +VTS,1,1,660,4.16,CRD,14.5 +VTS,1,2,300,1.0,CRD,5.5 +VTS,1,2,240,0.48,CRD,4.5 +VTS,1,2,960,3.52,CRD,14.5 +VTS,1,2,780,2.8,CSH,11.5 +VTS,1,2,480,1.76,CRD,8.5 +VTS,1,2,900,3.95,CSH,15.0 +VTS,1,2,600,2.26,CRD,10.0 +VTS,1,2,600,2.13,CSH,10.0 +VTS,1,2,1260,3.89,CSH,16.0 +VTS,1,1,240,0.76,CRD,5.0 +VTS,1,2,1200,2.82,CRD,14.0 +VTS,1,2,960,3.28,CRD,14.0 +VTS,1,2,240,0.78,CRD,5.0 +VTS,1,2,180,0.86,CSH,5.0 +VTS,1,2,540,2.12,CRD,9.0 +VTS,1,2,240,1.08,CRD,5.5 +VTS,1,2,780,2.37,CSH,10.5 +VTS,1,2,480,1.07,CRD,7.5 +VTS,1,2,420,1.61,CSH,7.5 +VTS,1,2,1440,3.63,CRD,17.5 +VTS,1,2,1140,3.66,CSH,15.0 +VTS,1,2,360,1.11,CRD,6.5 +VTS,1,2,480,1.74,CSH,7.5 +VTS,1,2,600,0.82,CRD,7.5 +VTS,1,3,660,2.58,CRD,10.5 +VTS,1,2,60,0.42,CRD,3.5 +VTS,1,2,420,1.48,CRD,7.0 +VTS,1,2,960,3.54,CRD,14.0 +VTS,1,2,360,0.46,CRD,5.5 +VTS,1,2,480,0.62,CSH,6.5 +VTS,1,2,120,0.48,CSH,3.5 +VTS,1,2,660,1.99,CSH,9.5 +VTS,1,3,780,4.68,CRD,16.0 +VTS,1,2,360,1.38,CSH,7.0 +VTS,1,2,720,1.03,CRD,9.0 +VTS,1,2,240,0.97,CRD,5.5 +VTS,1,2,600,2.81,CRD,10.5 +VTS,1,2,600,1.83,CRD,9.0 +VTS,1,2,540,2.11,CSH,9.5 +VTS,1,2,720,2.35,CSH,10.5 +VTS,1,2,60,0.22,CSH,3.0 +VTS,1,2,480,1.92,CRD,8.0 +VTS,1,2,540,2.52,CRD,10.5 +VTS,1,2,540,0.93,CRD,7.5 +VTS,1,2,480,1.45,CRD,7.5 +VTS,1,2,1140,5.52,CSH,18.5 +VTS,1,2,840,1.17,CRD,9.5 +VTS,1,2,900,3.9,CRD,14.0 +VTS,1,2,300,0.95,CSH,5.5 +VTS,1,2,1020,3.82,CSH,15.0 +VTS,1,2,1080,4.27,CRD,16.0 +VTS,1,2,360,1.37,CSH,7.0 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,2,60,0.3,CSH,3.0 +VTS,1,2,840,2.56,CRD,12.5 +VTS,1,2,780,3.55,CSH,13.0 +VTS,1,2,180,0.47,CRD,4.0 +VTS,1,2,1200,5.65,CSH,20.0 +VTS,1,2,240,1.14,CSH,5.5 +VTS,1,2,600,0.79,CSH,8.0 +VTS,1,2,420,1.01,CSH,6.5 +VTS,1,2,360,0.95,CRD,5.5 +VTS,1,3,1140,2.97,CSH,14.5 +VTS,1,2,300,0.31,CSH,4.5 +VTS,1,2,960,2.37,CRD,12.0 +VTS,1,2,1260,8.42,CRD,26.5 +VTS,1,2,840,2.92,CRD,12.5 +VTS,1,2,780,3.34,CRD,12.0 +VTS,1,2,360,1.22,CRD,6.5 +VTS,1,2,1440,8.03,CRD,26.5 +VTS,1,2,660,2.11,CRD,9.5 +VTS,1,2,480,6.25,CSH,18.0 +VTS,1,2,780,6.72,CRD,20.0 +VTS,1,2,120,0.41,CSH,3.5 +VTS,1,2,720,3.03,CSH,12.0 +VTS,1,2,840,6.37,CSH,19.5 +VTS,1,2,720,2.9,CSH,11.5 +VTS,1,2,420,1.95,CSH,8.0 +VTS,1,2,240,1.23,CSH,6.0 +VTS,1,2,420,1.58,CRD,7.5 +VTS,1,2,540,2.41,CRD,9.5 +VTS,1,2,180,0.66,CSH,4.0 +VTS,1,2,720,1.95,CSH,10.0 +VTS,1,2,360,0.65,CRD,5.5 +VTS,1,2,300,1.1,CRD,6.0 +VTS,1,2,420,1.56,CRD,7.0 +VTS,1,2,840,1.67,CRD,11.0 +VTS,1,2,540,0.67,CRD,7.0 +VTS,1,2,840,1.55,CSH,10.5 +VTS,1,2,660,0.79,CRD,8.0 +VTS,1,2,540,1.95,CRD,9.0 +VTS,1,2,300,1.53,CRD,7.0 +VTS,1,2,780,6.47,CRD,20.0 +VTS,1,2,480,3.06,CRD,11.5 +VTS,1,2,600,4.61,CSH,14.5 +VTS,1,2,540,1.13,CSH,8.0 +VTS,1,2,660,1.23,CRD,8.5 +VTS,1,2,540,2.02,CSH,9.0 +VTS,2,2,1380,18.48,CRD,52.0 +VTS,1,2,1080,9.07,CRD,27.0 +VTS,1,2,120,0.53,CRD,3.5 +VTS,1,2,660,1.96,CSH,9.5 +VTS,1,2,720,2.17,CRD,10.0 +VTS,1,2,600,1.85,CSH,9.0 +VTS,1,2,960,3.7,CRD,14.5 +VTS,1,2,480,2.01,CSH,8.5 +VTS,1,2,300,1.0,CSH,5.5 +VTS,1,2,300,1.07,CSH,6.0 +VTS,1,1,540,2.84,CRD,10.5 +VTS,1,2,120,0.48,CSH,3.5 +VTS,1,2,360,0.95,CSH,6.0 +VTS,1,2,660,1.74,CSH,9.5 +VTS,1,2,600,2.23,CSH,9.5 +VTS,1,2,600,2.04,CRD,9.5 +VTS,1,2,480,1.15,CRD,7.5 +VTS,1,1,600,1.63,CSH,9.0 +VTS,1,2,1440,6.89,CSH,24.5 +VTS,1,2,1260,5.39,CSH,20.0 +VTS,1,2,900,4.03,CRD,14.5 +VTS,1,2,540,1.39,CSH,8.0 +VTS,1,2,1260,2.99,CSH,15.5 +VTS,1,2,300,0.85,CRD,5.5 +VTS,1,2,1020,2.3,CRD,12.5 +VTS,1,2,1860,7.12,CRD,27.0 +VTS,1,2,360,1.49,CSH,7.0 +VTS,1,2,720,1.24,CSH,9.0 +VTS,1,1,300,0.93,CSH,6.0 +VTS,1,2,1260,6.45,CRD,21.0 +VTS,1,2,780,4.37,CSH,15.0 +VTS,1,2,240,1.51,CSH,6.5 +VTS,1,2,540,2.41,CRD,9.0 +VTS,1,2,1140,4.82,CRD,17.0 +VTS,1,2,480,2.28,CRD,9.0 +VTS,1,2,1020,5.78,CRD,19.5 +VTS,1,2,1080,5.09,CRD,19.0 +VTS,1,2,480,1.62,CSH,8.0 +VTS,1,1,780,4.14,CRD,14.5 +VTS,1,1,1740,3.67,CSH,19.5 +VTS,1,2,1200,6.47,CSH,22.0 +VTS,1,2,900,1.08,CRD,10.0 +VTS,1,2,420,1.79,CSH,7.5 +VTS,1,2,840,1.83,CSH,10.0 +VTS,1,2,420,1.23,CSH,7.0 +VTS,1,2,720,5.14,CRD,16.5 +VTS,1,2,360,1.15,CRD,6.5 +VTS,1,2,240,1.94,CRD,7.0 +VTS,1,2,840,3.37,CRD,13.0 +VTS,1,2,780,2.46,CRD,11.5 +VTS,1,2,300,1.3,CRD,6.0 +VTS,1,2,420,1.1,CRD,6.5 +VTS,1,2,540,1.76,CRD,8.5 +VTS,1,2,960,4.39,CRD,15.5 +VTS,1,2,480,1.48,CSH,7.5 +VTS,1,2,360,1.82,CRD,8.0 +VTS,1,2,420,1.1,CRD,6.5 +VTS,1,2,660,2.33,CSH,10.0 +VTS,1,2,300,1.0,CSH,5.5 +VTS,1,2,480,1.59,CRD,8.5 +VTS,1,2,420,1.14,CSH,7.0 +VTS,1,2,900,5.77,CSH,18.5 +VTS,1,1,960,2.83,CSH,13.0 +VTS,1,2,180,0.94,CRD,5.0 +VTS,1,2,1020,2.16,CSH,12.5 +VTS,1,2,600,0.8,CRD,7.5 +VTS,1,2,540,1.63,CSH,8.0 +VTS,1,2,180,0.77,CRD,4.5 +VTS,2,2,2640,16.73,CRD,52.0 +VTS,1,2,900,2.79,CRD,11.5 +VTS,1,2,660,4.76,CRD,15.0 +VTS,1,2,1080,6.84,CSH,22.0 +VTS,1,2,360,1.38,CSH,6.5 +VTS,1,2,240,0.83,CSH,5.0 +VTS,1,2,300,1.69,CSH,7.0 +VTS,1,2,1320,3.23,CRD,16.5 +VTS,1,2,480,0.97,CSH,7.0 +VTS,1,2,240,1.1,CSH,5.5 +VTS,1,2,720,2.46,CSH,10.5 +VTS,1,2,1020,4.26,CRD,15.5 +VTS,1,3,420,1.89,CRD,7.5 +VTS,1,2,180,0.55,CRD,4.0 +VTS,1,2,180,0.57,CSH,4.0 +VTS,1,2,660,5.55,CRD,17.5 +VTS,1,2,780,2.07,CSH,10.5 +VTS,1,2,780,2.49,CSH,11.0 +VTS,1,2,420,0.74,CSH,6.0 +VTS,1,2,1440,6.7,CRD,22.0 +VTS,1,2,600,1.24,CSH,8.0 +VTS,1,2,120,0.65,CSH,4.0 +VTS,1,2,1440,10.52,CRD,31.0 +VTS,1,2,960,4.0,CSH,15.0 +VTS,1,2,1620,4.6,CSH,20.0 +VTS,1,2,240,0.53,CRD,4.5 +VTS,1,2,900,4.13,CSH,15.0 +VTS,1,2,1560,6.09,CRD,23.5 +VTS,1,2,600,2.41,CRD,9.5 +VTS,1,2,600,2.92,CSH,11.0 +VTS,1,2,180,0.7,CRD,4.5 +VTS,1,2,420,1.67,CSH,8.0 +VTS,1,2,180,0.66,CRD,4.5 +VTS,1,2,900,2.94,CRD,12.5 +VTS,1,2,660,2.52,CSH,10.5 +VTS,1,2,1320,7.75,CRD,24.5 +VTS,1,2,2100,12.67,CRD,38.5 +VTS,1,2,300,0.67,CRD,5.0 +VTS,1,2,420,0.95,CRD,6.5 +VTS,1,2,300,0.95,CRD,5.5 +VTS,1,2,240,0.76,CSH,4.5 +VTS,1,1,900,2.05,CRD,11.5 +VTS,1,1,300,0.7,CRD,5.5 +VTS,1,2,960,3.64,CRD,14.0 +VTS,1,2,540,2.03,CRD,9.0 +VTS,1,2,900,3.48,CRD,14.0 +VTS,1,2,420,0.91,CRD,6.5 +VTS,1,2,480,1.53,CSH,8.0 +VTS,1,2,360,2.07,CRD,8.0 +VTS,1,2,720,2.63,CSH,11.0 +VTS,1,2,840,2.3,CSH,11.5 +VTS,1,2,1380,4.79,CRD,19.0 +VTS,1,2,240,1.45,CRD,6.5 +VTS,1,2,1200,5.34,CSH,19.5 +VTS,1,2,900,2.43,CRD,11.0 +VTS,1,2,300,1.05,CRD,5.5 +VTS,1,2,1800,6.83,CSH,24.0 +VTS,1,2,120,0.4,CSH,3.5 +VTS,1,2,420,1.21,CRD,6.5 +VTS,1,2,1560,4.88,CRD,20.5 +VTS,1,1,480,1.44,CSH,7.5 +VTS,1,2,1080,4.61,CRD,16.5 +VTS,1,2,600,2.81,CRD,11.0 +VTS,1,2,300,0.86,CRD,5.5 +VTS,1,2,720,2.94,CSH,11.5 +VTS,1,2,600,3.47,CSH,12.5 +VTS,1,2,540,0.95,CSH,7.5 +VTS,2,2,2400,18.7,CRD,52.0 +VTS,1,2,540,2.76,CRD,10.5 +VTS,1,2,300,1.96,CSH,7.5 +VTS,1,2,300,0.63,CRD,5.0 +VTS,1,2,780,1.35,CSH,9.5 +VTS,1,2,1440,7.82,CSH,24.0 +VTS,1,2,720,2.29,CRD,11.0 +VTS,1,2,840,7.12,CSH,21.5 +VTS,1,2,240,0.72,CRD,4.5 +VTS,1,2,480,1.4,CSH,8.0 +VTS,1,2,900,3.11,CSH,13.0 +CMT,1,1,476,1.2,CSH,7.5 +CMT,1,4,149,0.5,CSH,4.0 +VTS,1,2,180,0.69,CRD,4.5 +VTS,1,2,1860,3.48,CSH,19.0 +VTS,1,2,2220,12.57,CRD,38.5 +VTS,1,2,540,1.14,CRD,7.5 +VTS,3,3,1560,17.9,CRD,65.5 +VTS,1,2,840,4.62,CRD,16.0 +VTS,1,2,300,1.2,CSH,6.0 +VTS,1,2,180,0.75,CRD,4.5 +VTS,1,2,780,1.98,CSH,10.0 +VTS,1,2,1020,2.83,CSH,12.5 +VTS,1,2,420,1.82,CRD,8.5 +VTS,1,2,780,3.14,CSH,12.0 +VTS,1,2,1320,7.88,CRD,25.5 +VTS,1,2,1020,2.58,CRD,12.5 +VTS,1,2,360,1.35,CRD,6.5 +VTS,1,2,600,2.34,CRD,10.0 +VTS,1,2,120,0.36,CSH,3.5 +VTS,1,2,1320,4.01,CRD,17.5 +VTS,1,2,780,2.0,CRD,10.5 +VTS,1,2,720,2.09,CSH,10.5 +VTS,1,2,780,4.83,CSH,16.0 +CMT,1,1,975,4.1,CRD,15.0 +CMT,1,1,566,1.7,CSH,8.0 +CMT,1,1,189,0.6,CSH,4.5 +CMT,1,1,1220,3.9,CSH,15.5 +CMT,1,4,769,2.5,CSH,11.5 +VTS,1,1,480,2.02,CRD,8.5 +VTS,1,2,780,4.15,CRD,15.0 +VTS,1,2,600,1.6,CRD,8.5 +VTS,1,2,240,0.94,CRD,5.5 +VTS,1,2,540,1.24,CRD,7.5 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,2,1260,3.81,CSH,16.0 +VTS,1,2,720,1.52,CRD,9.5 +VTS,1,2,240,1.06,CRD,5.5 +VTS,1,2,360,1.85,CSH,7.5 +VTS,1,2,660,2.15,CRD,9.5 +VTS,1,2,660,2.45,CSH,10.5 +VTS,1,2,420,1.16,CSH,7.0 +VTS,1,2,360,1.43,CSH,7.0 +VTS,1,2,660,3.26,CRD,12.0 +VTS,1,2,900,2.54,CSH,12.0 +VTS,1,2,2100,19.57,CRD,53.0 +VTS,1,2,900,5.16,CSH,17.5 +VTS,1,2,300,0.92,CSH,5.5 +VTS,1,2,300,2.41,CRD,9.0 +VTS,1,2,1020,3.48,CRD,14.0 +CMT,1,1,549,2.7,CRD,10.0 +CMT,1,1,224,0.8,CSH,5.0 +CMT,1,1,798,3.7,CRD,13.5 +CMT,1,1,380,2.1,CSH,8.5 +CMT,1,3,1478,3.1,CSH,16.5 +CMT,1,3,1437,3.0,CSH,16.5 +CMT,1,4,857,4.2,CSH,14.5 +CMT,1,1,323,1.5,CSH,6.5 +CMT,1,2,507,1.3,CRD,7.5 +CMT,1,1,199,0.9,CSH,5.0 +CMT,1,2,535,2.0,CSH,9.0 +CMT,1,2,1689,8.9,CRD,28.0 +CMT,1,1,746,2.6,CSH,11.5 +CMT,1,1,625,2.8,CRD,11.0 +CMT,1,1,1598,10.3,CRD,30.0 +CMT,1,1,1306,3.6,CRD,17.5 +CMT,1,1,1010,7.2,CSH,22.0 +CMT,1,2,2907,20.1,CRD,59.5 +CMT,1,1,451,2.0,CSH,8.5 +CMT,1,2,1706,4.2,CRD,19.0 +CMT,1,1,2806,7.1,CRD,34.0 +CMT,1,2,486,1.5,CRD,8.0 +CMT,1,2,949,4.8,CRD,16.5 +CMT,1,1,568,1.1,CRD,7.5 +CMT,1,1,914,9.9,CRD,28.0 +CMT,1,2,312,1.7,CSH,6.5 +CMT,1,3,918,2.4,CRD,13.5 +CMT,1,1,330,1.5,CRD,7.0 +CMT,1,2,1367,5.0,CRD,19.0 +CMT,1,1,296,0.6,CSH,5.0 +CMT,1,1,611,1.9,CRD,9.0 +VTS,1,2,600,1.28,CSH,8.5 +VTS,1,2,600,1.3,CRD,8.0 +VTS,1,2,480,1.96,CSH,8.5 +VTS,1,2,1140,3.49,CSH,12.0 +VTS,1,2,1020,5.83,CSH,18.0 +VTS,1,2,480,2.15,CSH,8.5 +VTS,1,2,120,0.46,CRD,3.5 +VTS,1,2,60,0.39,CRD,3.5 +VTS,1,2,60,0.45,CRD,3.5 +VTS,1,2,300,0.78,CRD,5.5 +VTS,1,2,420,1.12,CRD,7.0 +VTS,1,2,1260,6.34,CRD,20.0 +VTS,1,2,600,2.32,CRD,9.5 +VTS,1,1,540,2.49,CRD,10.5 +VTS,1,2,660,1.48,CRD,9.0 +VTS,1,2,360,0.86,CRD,6.0 +VTS,1,2,480,1.79,CSH,8.0 +VTS,1,2,1260,4.95,CRD,18.5 +VTS,1,2,960,4.18,CRD,16.0 +VTS,1,2,120,0.73,CRD,4.0 +VTS,1,2,1980,8.29,CSH,25.0 +VTS,1,2,240,0.81,CSH,5.0 +VTS,1,2,240,0.67,CSH,5.0 +VTS,1,2,720,1.82,CRD,9.5 +VTS,1,2,900,2.93,CRD,12.5 +VTS,1,1,1440,1.68,CSH,14.5 +VTS,1,2,1260,3.73,CRD,16.0 +VTS,1,2,540,1.57,CRD,8.5 +VTS,1,2,480,1.51,CSH,7.5 +VTS,1,2,2160,3.9,CSH,18.5 +VTS,1,2,1020,3.23,CSH,15.5 +VTS,1,2,900,2.52,CSH,13.0 +VTS,1,2,780,2.82,CRD,12.5 +VTS,1,2,240,1.13,CSH,5.5 +VTS,1,2,840,8.43,CRD,24.0 +VTS,1,2,240,0.69,CSH,4.5 +VTS,1,2,360,0.62,CSH,5.5 +VTS,1,2,120,0.35,CRD,3.5 +VTS,1,2,600,2.31,CRD,9.5 +VTS,1,2,540,1.11,CRD,7.5 +VTS,1,2,540,0.75,CSH,7.0 +VTS,1,2,600,1.51,CRD,8.5 +VTS,1,2,660,1.41,CSH,8.5 +VTS,1,2,840,3.44,CSH,13.0 +VTS,1,2,720,4.52,CRD,15.0 +CMT,1,1,1629,8.4,CRD,27.5 +CMT,1,3,811,3.7,CSH,13.5 +CMT,1,2,1337,9.3,CRD,28.5 +CMT,1,1,1485,13.9,CRD,39.0 +CMT,1,1,578,3.0,CSH,11.5 +CMT,1,2,323,0.7,CSH,5.5 +CMT,1,4,650,3.1,CRD,11.0 +VTS,1,2,120,0.51,CSH,4.0 +VTS,1,2,540,2.6,CSH,10.5 +VTS,1,2,420,1.92,CSH,8.0 +VTS,1,2,960,1.89,CSH,11.5 +VTS,1,2,2340,3.91,CSH,23.0 +VTS,2,2,1980,17.61,CSH,52.0 +VTS,1,2,1500,3.98,CRD,17.5 +VTS,1,2,120,0.49,CRD,3.5 +VTS,1,2,120,0.5,CSH,4.0 +VTS,3,2,1680,14.78,CRD,59.5 +VTS,1,2,420,0.98,CSH,6.5 +VTS,1,2,360,0.7,CSH,6.0 +VTS,1,2,1440,19.42,CRD,52.0 +VTS,1,2,420,1.39,CSH,7.0 +VTS,1,2,300,1.25,CSH,6.5 +VTS,1,2,240,0.49,CSH,4.5 +VTS,1,2,720,2.13,CSH,10.0 +VTS,1,2,60,0.68,CSH,4.0 +VTS,1,2,180,0.45,CSH,4.0 +VTS,1,2,540,1.27,CRD,7.5 +VTS,1,2,360,0.79,CSH,5.5 +VTS,1,2,480,1.69,CRD,7.5 +CMT,1,1,693,3.8,CRD,13.5 +CMT,1,1,991,7.0,CSH,22.0 +CMT,1,1,366,1.1,CSH,6.5 +CMT,1,2,248,0.6,CSH,4.5 +VTS,1,2,780,4.11,CSH,13.5 +VTS,1,2,1560,4.46,CSH,19.5 +VTS,1,2,480,1.98,CRD,8.5 +CMT,1,1,510,1.5,CSH,8.0 +CMT,2,1,20,0.0,CRD,52.0 +CMT,1,1,775,1.6,CSH,10.0 +CMT,1,4,721,3.5,CSH,13.0 +CMT,1,1,268,0.5,CRD,4.5 +CMT,1,2,252,0.6,CSH,5.0 +CMT,1,2,970,3.8,CSH,15.0 +CMT,1,1,506,1.7,CRD,8.0 +CMT,1,2,315,1.2,CRD,6.0 +CMT,1,1,366,3.0,CRD,10.5 +CMT,1,1,904,3.2,CRD,13.0 +CMT,1,1,781,4.2,CSH,14.0 +CMT,1,1,1769,7.7,CSH,26.0 +CMT,1,4,1643,13.2,CRD,39.0 +CMT,1,1,212,0.9,CSH,4.5 +CMT,1,1,302,1.2,CRD,6.0 +CMT,1,1,174,0.8,CRD,4.5 +CMT,1,2,391,0.9,CRD,6.0 +CMT,1,1,765,4.4,CRD,14.0 +CMT,1,2,684,3.0,CRD,11.5 +CMT,1,1,1122,3.2,CRD,14.5 +CMT,1,1,717,2.5,CRD,11.0 +CMT,1,1,1182,5.9,CRD,19.5 +VTS,1,2,300,2.03,CRD,8.5 +VTS,1,2,1200,5.46,CSH,20.0 +VTS,1,2,600,2.84,CSH,10.5 +VTS,1,2,1080,4.1,CRD,15.5 +VTS,1,1,240,1.14,CSH,5.5 +VTS,1,2,180,0.84,CSH,5.0 +VTS,1,2,540,1.41,CSH,7.5 +VTS,1,2,840,3.33,CRD,13.5 +VTS,1,2,420,1.86,CRD,8.0 +VTS,1,2,1260,4.28,CRD,17.0 +VTS,1,2,480,1.49,CSH,8.0 +VTS,1,2,120,0.55,CRD,4.0 +VTS,1,2,720,3.85,CRD,13.5 +VTS,1,2,360,1.1,CRD,6.5 +VTS,1,2,360,0.67,CSH,5.5 +VTS,1,2,660,0.79,CSH,7.5 +VTS,1,2,780,1.04,CRD,9.0 +VTS,1,2,1140,6.75,CRD,21.0 +VTS,1,2,1200,5.01,CSH,18.0 +VTS,1,2,240,0.82,CRD,5.5 +VTS,1,2,720,0.79,CSH,8.5 +VTS,1,2,540,1.55,CRD,8.0 +VTS,1,2,60,0.24,CRD,3.0 +VTS,1,2,480,2.9,CSH,10.5 +VTS,1,2,1080,4.41,CRD,16.0 +VTS,1,2,480,1.23,CSH,7.5 +CMT,1,4,1104,4.8,CRD,17.0 +CMT,1,1,195,0.4,CRD,4.0 +CMT,1,1,1895,10.9,CRD,34.5 +CMT,1,3,710,3.3,CSH,11.5 +CMT,1,3,376,1.0,CRD,6.0 +CMT,1,1,723,1.7,CSH,9.5 +CMT,1,2,1135,3.6,CSH,15.5 +CMT,1,2,720,1.8,CSH,9.5 +CMT,1,2,224,0.7,CRD,4.5 +CMT,2,1,1605,17.5,CSH,52.0 +CMT,1,1,752,4.8,CRD,15.0 +CMT,1,1,1372,3.8,CRD,17.5 +CMT,1,1,431,2.8,CRD,10.0 +CMT,1,1,1088,4.4,CSH,16.5 +CMT,1,1,460,1.9,CRD,8.0 +CMT,2,1,1618,17.6,CRD,52.0 +CMT,1,1,767,3.5,CSH,12.5 +CMT,1,1,716,3.1,CRD,11.5 +CMT,1,1,206,1.0,CRD,5.5 +CMT,1,3,608,0.7,CRD,7.5 +CMT,1,1,307,0.8,CRD,5.5 +CMT,1,1,393,1.5,CRD,7.0 +CMT,1,1,276,1.0,CRD,6.0 +CMT,1,1,280,1.8,CRD,7.5 +CMT,1,2,381,1.1,CRD,6.5 +CMT,1,2,588,1.5,CRD,8.0 +CMT,1,2,396,2.3,CSH,8.0 +CMT,1,3,422,2.1,CSH,8.0 +CMT,1,2,502,1.0,CRD,7.0 +CMT,1,1,1362,7.7,CSH,24.5 +CMT,1,3,771,1.4,CSH,9.5 +CMT,1,1,568,2.6,CRD,10.5 +CMT,1,2,106,0.4,CRD,3.5 +CMT,1,2,281,1.2,CRD,6.0 +CMT,1,1,498,1.0,CSH,7.0 +CMT,1,1,1175,5.3,CSH,18.5 +CMT,1,2,609,2.7,CRD,10.0 +CMT,1,2,739,2.6,CRD,11.5 +CMT,1,1,731,3.4,CRD,12.0 +CMT,1,3,1264,4.6,CSH,17.0 +CMT,2,1,2081,19.0,CRD,52.0 +CMT,1,1,1015,9.5,CRD,27.0 +CMT,1,1,459,2.5,CRD,9.0 +CMT,1,1,496,1.1,CSH,6.5 +CMT,1,3,327,1.1,CSH,6.0 +CMT,1,2,1359,6.0,CRD,21.0 +CMT,2,1,3207,19.3,CRD,52.0 +CMT,1,1,601,2.5,CRD,10.0 +CMT,1,1,1284,3.2,CRD,15.0 +CMT,1,1,677,2.3,CRD,10.5 +CMT,2,3,1453,17.3,CRD,52.0 +CMT,1,1,338,0.8,CSH,5.5 +CMT,1,3,681,2.2,CSH,10.0 +CMT,1,3,445,1.6,CRD,7.5 +CMT,1,1,399,1.5,CSH,7.5 +CMT,1,1,884,6.1,CRD,18.5 +CMT,1,1,200,1.2,CRD,5.5 +CMT,1,1,440,1.3,CSH,7.5 +CMT,1,4,533,2.1,CSH,9.5 +CMT,1,2,479,1.6,CRD,8.0 +CMT,1,1,499,1.3,CRD,7.5 +CMT,2,1,523,1.6,CRD,52.0 +CMT,1,1,490,1.3,CSH,7.5 +CMT,1,1,444,1.1,CRD,7.0 +CMT,1,1,215,0.7,CSH,5.0 +CMT,1,4,1053,4.3,CRD,15.5 +CMT,1,1,1401,13.7,CRD,38.5 +CMT,1,2,968,2.0,CRD,11.5 +CMT,1,1,213,0.4,CRD,4.0 +CMT,1,2,808,4.5,CSH,15.5 +CMT,1,1,494,0.9,CSH,7.0 +CMT,1,1,422,1.5,CRD,7.0 +CMT,2,1,1964,18.5,CSH,52.0 +CMT,1,1,121,0.5,CSH,3.5 +CMT,1,1,929,3.7,CSH,14.5 +CMT,1,1,803,3.1,CRD,12.0 +CMT,1,2,1306,5.8,CRD,20.0 +CMT,1,1,705,2.4,CRD,10.5 +CMT,1,2,406,1.3,CRD,7.0 +CMT,2,1,1447,17.4,CRD,52.0 +CMT,1,2,375,1.4,CRD,7.0 +CMT,1,1,565,1.8,CSH,8.5 +CMT,1,2,1176,6.5,CRD,21.5 +CMT,1,1,513,2.3,CRD,9.0 +CMT,1,1,527,1.9,CRD,9.0 +CMT,1,1,1104,3.9,CRD,16.0 +CMT,1,1,211,0.6,CSH,4.5 +CMT,1,2,1324,6.1,CSH,20.5 +CMT,1,1,577,1.6,CRD,8.5 +CMT,1,1,572,1.7,CRD,9.0 +CMT,1,1,303,1.1,CSH,6.0 +CMT,1,4,1007,4.2,CSH,16.0 +CMT,2,1,1957,20.4,CRD,52.0 +CMT,2,1,1478,17.3,CRD,52.0 +CMT,1,1,647,3.0,CRD,11.0 +CMT,1,1,172,0.3,CRD,4.0 +CMT,2,1,6,0.0,CSH,52.0 +CMT,1,2,486,1.3,CRD,7.0 +CMT,1,1,549,2.0,CSH,9.0 +CMT,1,1,754,3.8,CRD,13.5 +CMT,1,1,722,6.6,CRD,20.0 +CMT,1,1,531,1.8,CRD,8.5 +CMT,1,3,743,2.4,CRD,11.0 +CMT,1,1,1248,5.2,CSH,19.0 +CMT,1,1,384,1.1,CSH,6.5 +CMT,1,1,785,1.4,CRD,9.5 +CMT,1,2,749,1.4,CSH,9.5 +CMT,1,1,454,1.1,CRD,7.0 +CMT,1,2,195,0.4,CSH,4.0 +CMT,1,1,209,0.5,CRD,4.5 +CMT,1,1,877,3.6,CRD,14.0 +CMT,1,1,169,0.6,CRD,4.0 +CMT,1,1,1264,5.4,CSH,19.0 +CMT,1,1,436,1.5,CSH,7.5 +CMT,1,1,673,2.1,CRD,10.0 +CMT,1,2,165,0.5,CRD,4.0 +CMT,2,1,1607,18.3,CRD,52.0 +CMT,1,1,456,1.5,CRD,7.5 +CMT,1,4,170,0.7,CSH,4.5 +CMT,1,1,1030,3.0,CSH,13.5 +CMT,1,1,299,1.1,CRD,6.0 +CMT,1,1,493,2.4,CRD,9.0 +CMT,1,1,282,1.1,CRD,5.5 +CMT,1,1,321,1.9,CRD,7.5 +CMT,1,1,142,0.3,CSH,3.5 +CMT,1,2,1172,3.1,CRD,14.5 +CMT,1,2,260,1.0,CSH,5.0 +CMT,1,2,1612,3.7,CRD,19.5 +CMT,1,2,1163,2.4,CRD,13.5 +CMT,1,1,412,1.1,CRD,6.5 +CMT,1,4,702,1.7,CSH,9.0 +CMT,1,1,507,2.4,CRD,9.5 +CMT,1,1,636,2.3,CRD,10.0 +CMT,1,3,1241,1.7,CRD,13.0 +CMT,1,1,348,1.4,CRD,6.5 +CMT,1,2,643,2.6,CRD,11.0 +CMT,1,1,431,2.2,CSH,8.5 +CMT,1,1,549,3.1,CRD,12.0 +CMT,1,2,860,2.5,CSH,12.0 +CMT,1,1,388,0.9,CRD,6.0 +CMT,1,1,724,2.2,CRD,10.0 +CMT,1,1,289,1.1,CSH,6.0 +CMT,2,1,1285,17.1,CSH,52.0 +CMT,1,1,1029,4.6,CSH,17.0 +CMT,1,1,852,6.4,CRD,19.5 +CMT,1,1,459,1.0,CSH,7.0 +CMT,1,1,731,2.1,CRD,10.0 +CMT,1,1,407,1.2,CRD,6.5 +CMT,1,2,272,0.7,CRD,5.0 +CMT,1,2,434,1.4,CRD,7.5 +CMT,1,1,702,2.4,CRD,10.5 +CMT,1,1,377,0.8,CRD,6.0 +CMT,1,1,1596,11.7,CSH,35.0 +CMT,1,1,307,1.5,CRD,6.5 +CMT,1,1,602,2.2,CRD,9.5 +CMT,1,2,588,1.5,CSH,8.5 +VTS,1,2,420,1.39,CRD,7.5 +VTS,2,2,2400,16.77,CSH,52.0 +VTS,1,2,1920,13.2,CSH,38.0 +VTS,1,2,360,1.51,CRD,7.0 +VTS,1,2,780,2.05,CSH,10.0 +VTS,1,2,420,1.17,CSH,6.5 +VTS,1,2,1260,3.12,CRD,14.5 +VTS,1,2,300,0.98,CRD,5.5 +VTS,1,2,540,1.37,CSH,7.5 +VTS,1,2,2160,8.8,CRD,31.0 +VTS,1,2,480,1.68,CSH,8.0 +VTS,1,2,480,2.61,CRD,9.5 +VTS,1,2,720,2.81,CSH,11.5 +VTS,1,2,720,4.29,CRD,14.5 +VTS,1,2,420,1.64,CRD,7.5 +CMT,1,1,1127,3.0,CSH,14.0 +CMT,1,1,183,0.6,CSH,4.5 +CMT,1,1,1590,9.0,CSH,29.5 +CMT,1,2,142,0.9,CRD,4.5 +CMT,5,1,2013,7.6,CRD,50.0 +CMT,1,1,441,1.3,CRD,7.0 +CMT,1,2,664,2.0,CSH,9.5 +CMT,1,1,303,3.0,CSH,10.0 +CMT,1,2,652,1.3,CRD,8.5 +CMT,1,1,228,0.8,CSH,5.0 +CMT,1,1,495,1.4,CRD,7.5 +CMT,1,1,716,4.6,CSH,15.5 +CMT,1,1,731,2.0,CSH,9.5 +CMT,1,2,345,2.2,CSH,8.0 +CMT,1,1,923,5.6,CRD,18.0 +CMT,1,2,848,3.9,CRD,14.0 +CMT,1,3,467,1.7,CSH,8.0 +CMT,1,1,2639,18.2,CSH,52.0 +CMT,1,1,374,1.4,CRD,6.5 +CMT,1,1,585,1.6,CRD,8.5 +CMT,1,3,300,1.1,CRD,6.0 +CMT,1,1,1153,2.1,CRD,13.0 +CMT,1,1,1292,9.5,CRD,28.5 +CMT,1,1,525,2.6,CSH,9.5 +CMT,1,2,818,1.5,CRD,10.0 +CMT,1,3,401,1.3,CRD,6.5 +CMT,4,2,1273,4.1,CRD,17.0 +CMT,1,3,485,1.5,CRD,7.5 +CMT,1,1,419,1.8,CSH,7.5 +CMT,1,1,314,0.9,CRD,5.5 +CMT,1,1,1092,4.4,CRD,15.5 +CMT,1,1,1138,10.4,CRD,29.5 +CMT,1,1,353,1.0,CRD,6.0 +CMT,1,2,406,1.4,CSH,7.0 +CMT,1,1,469,1.7,CRD,7.5 +CMT,1,1,170,0.5,CSH,4.0 +CMT,1,2,1303,3.4,CRD,16.0 +CMT,1,2,885,5.0,CRD,16.0 +CMT,1,4,404,1.7,CSH,7.5 +CMT,1,3,424,1.9,CRD,8.0 +CMT,1,2,449,2.0,CRD,8.0 +CMT,1,1,312,1.0,CRD,6.0 +CMT,2,4,1839,18.5,CSH,52.0 +CMT,1,1,1341,6.7,CSH,22.5 +CMT,1,1,435,1.7,CRD,7.5 +CMT,1,1,463,1.6,CSH,7.5 +CMT,1,1,245,0.9,CSH,5.0 +CMT,1,1,1280,10.6,CRD,31.0 +CMT,1,2,1575,6.1,CRD,22.5 +CMT,1,1,233,0.6,CRD,4.5 +CMT,1,1,1008,5.2,CSH,17.5 +CMT,1,3,357,1.8,CRD,7.5 +CMT,1,2,800,1.7,CSH,10.0 +CMT,1,4,810,2.5,CSH,11.0 +CMT,1,2,359,1.6,CRD,7.0 +CMT,1,1,500,2.7,CRD,10.0 +CMT,1,1,1326,4.2,CRD,18.5 +CMT,1,1,579,3.7,CRD,12.5 +CMT,1,1,190,0.5,CRD,4.0 +CMT,1,1,522,1.7,CSH,8.0 +CMT,1,2,293,1.3,CSH,6.0 +CMT,1,1,421,1.8,CSH,8.0 +CMT,1,2,886,2.0,CRD,11.5 +CMT,1,1,897,5.4,CRD,17.0 +CMT,1,3,448,1.3,CSH,7.0 +CMT,1,3,610,1.5,CRD,8.5 +CMT,1,3,170,0.5,CRD,4.0 +CMT,1,3,572,1.7,CRD,8.5 +CMT,1,1,461,1.5,CSH,7.5 +CMT,1,1,2613,13.6,CRD,44.0 +CMT,1,1,796,4.4,CRD,14.5 +CMT,1,1,930,4.7,CRD,17.5 +CMT,1,2,590,2.0,CSH,9.0 +CMT,1,1,806,2.3,CRD,11.0 +CMT,1,1,624,3.8,CRD,13.0 +CMT,1,1,205,0.8,CSH,5.0 +CMT,1,1,597,1.0,CRD,7.5 +CMT,1,1,317,1.9,CRD,7.5 +CMT,1,1,629,2.1,CRD,9.5 +CMT,1,1,283,1.0,CRD,5.5 +CMT,1,2,773,1.9,CSH,10.5 +CMT,1,1,1351,12.0,CRD,34.5 +CMT,1,1,769,3.8,CSH,13.5 +CMT,1,1,1449,15.5,CSH,42.0 +CMT,1,2,1379,3.8,CSH,17.0 +CMT,1,1,1336,4.9,CRD,19.0 +CMT,1,3,1206,4.2,CSH,17.5 +CMT,1,2,1184,2.9,CRD,14.0 +CMT,1,2,239,0.4,CRD,4.5 +CMT,1,1,1128,5.7,CRD,18.0 +CMT,1,1,478,1.8,CSH,8.0 +CMT,1,1,582,2.8,CRD,10.5 +CMT,1,1,1088,4.8,CRD,17.5 +CMT,1,1,215,1.0,CRD,5.5 +CMT,1,1,1186,3.3,CSH,15.0 +CMT,1,1,1291,5.6,CSH,19.5 +CMT,1,1,1110,6.0,CRD,20.0 +CMT,1,4,512,5.1,CRD,15.0 +CMT,1,1,587,3.0,CSH,11.5 +CMT,1,1,497,4.3,CSH,14.0 +CMT,1,2,576,1.4,CSH,8.0 +CMT,1,1,795,5.6,CSH,18.0 +CMT,1,1,663,3.3,CRD,12.0 +CMT,1,2,1604,5.8,CSH,22.0 +CMT,1,1,284,1.0,CRD,5.0 +CMT,1,1,1025,5.2,CRD,17.5 +CMT,1,1,191,0.9,CRD,5.0 +CMT,1,1,129,0.3,CRD,3.5 +CMT,1,3,506,2.0,CRD,8.5 +CMT,1,2,2549,2.2,CSH,24.0 +CMT,1,1,1944,4.5,CRD,22.5 +CMT,1,3,1132,6.1,CRD,21.0 +CMT,5,1,741,34.7,CRD,150.0 +CMT,1,1,386,1.2,CRD,6.5 +CMT,1,2,977,4.2,CRD,15.0 +CMT,1,3,306,1.3,CRD,6.0 +CMT,1,3,1735,13.1,CSH,38.5 +CMT,1,1,216,1.0,CSH,5.0 +CMT,1,1,234,0.7,CRD,4.5 +CMT,1,2,1071,4.8,CRD,17.5 +CMT,1,3,402,1.5,CRD,7.0 +CMT,1,2,846,3.5,CSH,12.5 +CMT,1,1,279,1.2,CSH,6.0 +CMT,1,1,924,9.3,CRD,27.0 +CMT,1,1,270,0.9,CRD,5.5 +CMT,1,1,296,0.7,CRD,5.5 +CMT,1,1,620,2.5,CRD,10.0 +CMT,1,2,1938,9.8,CSH,31.5 +CMT,1,1,318,1.0,CRD,5.5 +CMT,1,4,646,1.0,CRD,8.0 +CMT,1,3,200,0.6,CRD,4.5 +CMT,1,1,1011,2.1,CSH,11.5 +CMT,1,1,181,0.3,CRD,4.0 +CMT,1,3,1321,5.4,CRD,19.5 +CMT,1,1,269,1.2,CRD,6.0 +CMT,1,3,568,3.5,CSH,12.5 +CMT,1,1,671,1.2,CSH,8.5 +CMT,1,1,315,1.3,CRD,6.5 +CMT,1,4,863,2.8,CRD,12.5 +CMT,1,1,427,1.5,CRD,7.0 +CMT,1,2,356,0.8,CRD,6.0 +CMT,1,1,375,1.2,CRD,6.5 +CMT,1,2,1054,4.1,CRD,16.0 +CMT,1,1,754,3.4,CSH,13.0 +CMT,1,1,884,1.3,CSH,10.0 +CMT,1,1,164,0.4,CSH,4.0 +CMT,1,1,519,1.2,CSH,7.5 +CMT,1,1,758,3.3,CSH,12.5 +CMT,1,1,1007,5.0,CRD,17.5 +CMT,1,2,803,1.2,CRD,9.5 +CMT,1,3,1010,5.4,CSH,17.5 +CMT,1,1,1849,11.7,CSH,37.5 +CMT,1,2,650,1.3,CSH,8.5 +CMT,2,3,3850,18.5,CSH,52.0 +CMT,1,1,318,0.9,CSH,5.5 +CMT,1,2,513,1.4,CSH,7.5 +CMT,1,1,181,0.8,CRD,4.5 +CMT,1,1,1374,15.6,CRD,42.0 +CMT,1,1,236,0.9,CSH,5.0 +CMT,1,1,1502,5.2,CSH,21.0 +CMT,1,2,527,0.7,CSH,7.0 +CMT,1,1,779,1.3,CRD,10.0 +CMT,1,1,500,1.3,CSH,7.5 +CMT,1,3,645,1.4,CRD,8.5 +CMT,1,4,1196,4.9,CRD,17.0 +CMT,1,1,1025,2.0,CSH,12.0 +CMT,2,2,1495,18.4,CRD,52.0 +CMT,1,2,890,3.5,CSH,13.5 +CMT,1,1,276,1.5,CRD,6.0 +CMT,1,1,1194,5.9,CRD,19.5 +CMT,1,1,1281,5.6,CRD,20.0 +CMT,1,1,740,1.2,CRD,9.0 +CMT,1,1,1094,5.3,CRD,18.0 +CMT,1,3,392,1.6,CRD,7.0 +CMT,1,1,250,1.0,CSH,5.5 +CMT,1,3,1130,2.6,CSH,13.5 +CMT,1,1,1525,4.6,CRD,20.0 +CMT,1,2,396,1.7,CRD,8.0 +CMT,1,1,1461,12.1,CRD,35.5 +CMT,1,1,662,3.3,CRD,12.0 +CMT,1,1,484,2.2,CSH,9.0 +CMT,1,2,1352,10.7,CRD,31.0 +CMT,1,1,509,2.6,CSH,10.0 +CMT,1,2,321,0.4,CSH,5.0 +CMT,1,1,173,0.5,CRD,4.0 +CMT,1,1,573,1.9,CRD,9.0 +CMT,1,1,771,2.2,CRD,11.0 +CMT,1,1,958,7.6,CRD,23.0 +CMT,1,1,143,0.8,CRD,4.5 +CMT,1,1,477,3.4,CRD,12.0 +CMT,1,1,667,3.7,CRD,13.0 +CMT,1,3,367,1.4,CRD,6.5 +CMT,1,1,494,1.2,CRD,7.5 +VTS,1,2,540,2.19,CRD,9.5 +VTS,1,2,600,2.02,CRD,9.0 +VTS,1,1,1380,7.91,CSH,25.5 +VTS,1,2,780,1.72,CRD,10.0 +VTS,1,2,840,1.3,CRD,10.0 +VTS,1,2,660,0.98,CSH,8.5 +VTS,1,2,300,0.83,CRD,5.5 +VTS,1,2,900,2.66,CSH,12.0 +VTS,1,2,420,1.8,CRD,7.5 +VTS,1,2,120,0.39,CSH,3.5 +VTS,1,2,420,1.27,CSH,7.0 +VTS,1,2,300,0.76,CRD,5.0 +CMT,1,1,241,1.2,CSH,5.5 +CMT,1,3,478,1.6,CSH,7.5 +CMT,1,1,456,1.2,CSH,7.0 +CMT,1,1,1286,10.1,CRD,30.0 +CMT,1,2,1446,5.8,CRD,21.0 +CMT,1,1,334,0.9,CRD,5.5 +CMT,1,3,681,3.9,CSH,13.5 +CMT,1,1,178,0.6,CSH,4.5 +CMT,1,1,144,0.3,CRD,3.5 +CMT,1,1,779,4.1,CRD,14.0 +CMT,1,1,110,0.6,CSH,3.5 +CMT,1,1,426,1.0,CRD,6.5 +CMT,1,1,1264,3.9,CRD,16.5 +CMT,1,1,717,2.8,CSH,11.0 +CMT,1,1,1161,7.0,CSH,22.0 +CMT,1,1,217,0.9,CSH,5.0 +CMT,1,3,844,3.3,CSH,13.5 +CMT,1,4,272,0.6,CRD,5.0 +CMT,1,1,369,2.0,CRD,8.0 +CMT,1,1,340,1.2,CRD,6.0 +CMT,1,1,1058,3.5,CRD,15.0 +CMT,1,1,1259,5.2,CRD,18.0 +CMT,1,1,991,2.0,CRD,11.5 +CMT,1,1,737,1.2,CSH,9.0 +CMT,1,1,443,2.3,CSH,9.0 +CMT,1,1,227,0.7,CRD,4.5 +CMT,1,1,889,2.4,CSH,12.0 +CMT,1,1,672,2.6,CRD,11.0 +CMT,1,1,572,2.1,CRD,9.0 +CMT,1,2,623,1.7,CSH,9.0 +CMT,1,1,446,1.3,CRD,7.0 +CMT,1,1,674,1.8,CRD,9.5 +CMT,1,3,269,1.5,CSH,6.5 +CMT,1,3,1568,6.9,CRD,24.0 +CMT,1,1,447,2.1,CSH,8.0 +CMT,1,1,13,0.0,CSH,2.5 +CMT,1,1,373,2.2,CRD,8.5 +CMT,1,1,605,1.7,CSH,8.5 +CMT,1,1,776,2.6,CRD,11.0 +CMT,1,1,656,3.5,CRD,12.0 +CMT,1,1,325,0.7,CSH,5.5 +CMT,1,1,470,1.5,CRD,7.5 +CMT,1,1,326,0.7,CRD,5.5 +CMT,1,1,640,1.0,CRD,8.5 +CMT,1,1,1049,4.0,CRD,15.5 +CMT,1,1,496,2.1,CRD,9.5 +CMT,1,1,468,1.6,CRD,8.0 +CMT,1,2,175,0.7,CSH,4.5 +CMT,1,1,323,1.0,CRD,6.0 +CMT,1,3,1775,4.7,CSH,21.0 +CMT,1,1,593,1.5,CSH,8.5 +CMT,1,1,485,1.2,CSH,7.0 +CMT,1,1,454,1.1,CRD,7.0 +CMT,1,3,240,0.7,CSH,5.0 +CMT,1,1,358,1.5,CRD,7.0 +CMT,1,1,514,2.6,CSH,10.0 +CMT,1,1,534,3.7,CSH,12.5 +CMT,1,1,227,1.3,CSH,6.0 +CMT,1,1,629,2.6,CSH,10.5 +CMT,1,1,774,2.8,CSH,11.5 +CMT,1,1,202,0.8,CSH,4.5 +CMT,1,1,264,1.3,CSH,6.0 +CMT,1,1,257,0.6,CRD,5.0 +CMT,1,1,754,3.0,CRD,12.5 +CMT,1,2,292,1.5,CRD,6.5 +CMT,1,1,387,2.0,CSH,8.0 +CMT,1,1,408,0.6,CSH,6.0 +CMT,1,2,663,0.5,CRD,8.0 +CMT,1,1,40,0.1,DIS,2.5 +CMT,1,1,419,1.1,NOC,6.5 +CMT,1,1,859,1.8,CRD,10.5 +CMT,1,1,159,0.4,CSH,4.0 +CMT,1,1,446,1.3,CRD,7.0 +CMT,1,1,782,3.1,CRD,12.5 +CMT,1,1,259,1.3,CSH,6.0 +CMT,1,1,212,0.5,CRD,4.5 +CMT,1,3,392,1.0,CRD,6.5 +CMT,1,1,184,0.9,CRD,5.0 +CMT,1,1,1306,4.5,CSH,18.5 +CMT,1,1,814,3.1,CSH,12.5 +CMT,1,1,1425,11.2,CSH,32.5 +CMT,1,1,189,0.9,CRD,5.0 +CMT,1,2,497,1.3,CSH,7.5 +CMT,1,1,589,2.6,CRD,11.0 +CMT,1,1,438,0.9,CSH,6.5 +CMT,1,1,1310,10.3,CSH,30.5 +CMT,1,1,501,2.1,CRD,9.0 +CMT,1,1,1059,1.8,CRD,12.5 +CMT,1,1,662,3.2,CSH,12.0 +CMT,1,1,425,1.2,CRD,7.0 +CMT,1,1,719,3.4,CSH,13.0 +CMT,1,1,252,0.9,CSH,5.5 +CMT,1,1,708,1.9,CSH,10.0 +CMT,1,1,1063,1.7,CRD,12.5 +CMT,1,1,876,2.2,CSH,11.0 +CMT,1,2,1136,6.8,CSH,21.5 +CMT,1,1,210,0.8,CRD,5.0 +CMT,1,3,362,1.0,CRD,6.0 +CMT,1,1,114,0.4,CSH,3.5 +CMT,1,1,730,3.0,CRD,12.0 +CMT,1,1,697,3.1,CRD,12.0 +CMT,1,2,593,2.6,CSH,10.5 +CMT,1,2,614,2.4,CRD,10.5 +CMT,1,1,277,1.4,CSH,6.5 +CMT,1,1,1596,5.3,CSH,21.5 +CMT,1,1,124,0.6,CSH,4.0 +CMT,1,1,712,3.6,CRD,13.0 +CMT,5,2,43,0.0,CRD,30.0 +CMT,1,1,260,0.8,CSH,5.0 +CMT,1,1,1466,3.5,CSH,17.5 +CMT,1,1,249,0.7,CSH,5.0 +CMT,1,1,339,0.8,CSH,5.5 +CMT,1,1,175,0.7,CSH,4.5 +CMT,1,1,396,1.7,CRD,7.5 +CMT,1,1,279,0.7,CRD,5.0 +CMT,1,1,332,1.3,CSH,6.5 +CMT,1,1,235,0.7,CSH,5.0 +CMT,1,1,1069,3.2,CSH,15.0 +CMT,1,1,360,1.2,CRD,6.5 +CMT,1,1,642,1.8,CSH,9.0 +CMT,1,2,258,0.7,CSH,5.0 +CMT,1,1,442,0.8,CRD,6.5 +CMT,1,1,681,3.8,CRD,13.0 +CMT,1,2,466,1.2,CSH,7.0 +CMT,1,1,574,1.1,CRD,7.5 +CMT,1,1,493,0.5,CRD,6.5 +CMT,1,1,1149,5.8,CRD,20.0 +CMT,1,1,212,0.7,CRD,4.5 +CMT,1,1,562,3.5,CRD,12.5 +CMT,1,2,805,2.4,CRD,11.5 +CMT,1,1,323,0.7,CSH,5.5 +CMT,1,1,1057,4.8,CSH,17.0 +CMT,1,1,548,1.9,CSH,8.5 +CMT,1,1,932,5.2,CRD,17.0 +CMT,1,2,977,5.9,CRD,19.5 +CMT,1,1,522,3.3,CRD,11.0 +CMT,1,1,595,3.1,CSH,11.0 +CMT,1,1,123,0.8,CSH,4.0 +CMT,1,1,222,0.7,CSH,5.0 +CMT,1,1,429,1.3,CRD,7.5 +CMT,1,1,4080,0.5,CSH,4.5 +CMT,1,1,511,1.2,CSH,8.0 +CMT,1,1,809,2.8,CSH,12.0 +CMT,1,1,909,5.2,CRD,17.5 +CMT,1,2,727,2.6,CRD,11.5 +CMT,1,1,1059,7.9,CSH,24.0 +CMT,1,2,297,0.7,CRD,5.5 +CMT,1,1,1201,4.8,CRD,18.0 +CMT,1,1,687,1.7,CRD,9.5 +CMT,1,1,396,1.3,CRD,7.0 +CMT,1,1,1029,2.8,CRD,13.5 +CMT,1,1,396,1.5,CRD,7.0 +CMT,1,1,645,3.1,CSH,11.5 +CMT,1,2,781,2.0,CRD,10.0 +CMT,1,1,954,3.0,CSH,13.5 +CMT,1,1,1964,6.7,CSH,26.0 +CMT,1,1,446,2.8,CSH,10.0 +CMT,1,1,601,3.1,CSH,11.5 +CMT,1,2,718,3.6,CRD,13.5 +CMT,1,3,497,1.6,CSH,8.0 +CMT,1,2,97,0.4,CRD,3.5 +CMT,1,2,566,1.3,CSH,8.0 +CMT,1,1,200,0.9,CRD,5.0 +CMT,1,1,962,5.2,CSH,18.0 +CMT,1,1,296,1.6,CSH,7.0 +CMT,1,1,2,0.0,NOC,2.5 +CMT,1,1,594,1.4,CRD,8.5 +CMT,1,1,608,3.0,CRD,11.0 +CMT,1,1,617,1.5,CSH,9.0 +CMT,1,1,627,1.9,CSH,9.5 +CMT,1,1,734,3.1,CRD,13.0 +CMT,1,1,534,4.4,CSH,13.5 +CMT,1,1,426,1.0,CRD,7.0 +CMT,1,1,322,1.3,CRD,6.5 +CMT,1,1,513,5.2,CSH,15.5 +CMT,1,1,688,1.4,CSH,9.0 +CMT,1,1,482,0.9,CRD,6.5 +CMT,1,1,273,0.7,CSH,5.0 +CMT,1,1,293,0.9,CRD,5.5 +CMT,1,1,1094,11.0,CRD,31.0 +CMT,1,1,1255,5.3,CRD,21.0 +CMT,1,1,924,1.7,CSH,11.0 +CMT,1,1,345,1.2,CRD,6.0 +CMT,1,1,631,3.0,CSH,11.5 +CMT,1,1,1338,3.7,CRD,16.5 +CMT,5,1,1369,16.7,CRD,75.0 +CMT,1,1,172,0.6,CSH,4.5 +CMT,1,1,443,2.3,CRD,8.5 +CMT,1,1,352,0.7,CRD,6.0 +CMT,1,1,790,1.1,CSH,9.5 +CMT,1,1,294,1.4,CSH,6.5 +CMT,1,1,1604,13.5,CRD,38.5 +CMT,1,1,615,2.7,CSH,11.0 +CMT,1,1,1021,3.4,CRD,14.5 +CMT,1,1,164,1.0,CRD,5.0 +CMT,1,1,1009,7.0,CRD,22.0 +CMT,1,1,357,1.3,CRD,6.5 +CMT,1,1,737,2.1,CSH,10.0 +CMT,1,1,594,3.1,CRD,11.5 +CMT,1,1,694,3.3,CRD,12.0 +CMT,1,1,303,1.2,CRD,6.5 +CMT,1,1,1830,16.6,CRD,46.5 +CMT,1,1,585,2.3,CRD,9.5 +CMT,1,1,102,0.5,CSH,3.5 +CMT,1,2,214,0.6,CSH,4.5 +CMT,1,2,1867,13.9,CSH,41.0 +CMT,1,1,451,1.2,CSH,7.0 +CMT,1,4,325,1.3,CSH,6.5 +CMT,1,4,270,0.7,CRD,5.0 +CMT,1,1,919,1.6,CRD,11.0 +CMT,1,1,550,2.5,CRD,9.5 +CMT,1,1,513,1.6,CSH,8.0 +CMT,1,1,738,3.0,CSH,11.5 +CMT,1,1,1241,10.2,CRD,29.0 +CMT,1,1,1212,5.4,CRD,19.5 +CMT,1,1,837,8.8,CRD,24.5 +CMT,1,1,543,3.1,CSH,11.0 +CMT,1,1,727,3.6,CRD,13.0 +CMT,1,1,517,2.0,CRD,9.0 +CMT,1,1,809,2.5,CSH,11.5 +CMT,1,2,223,0.8,CRD,5.0 +CMT,1,1,372,1.1,CSH,6.0 +CMT,1,1,417,1.2,CRD,6.5 +CMT,1,1,144,0.7,CSH,4.0 +CMT,1,1,765,2.7,CRD,11.5 +CMT,1,1,248,1.1,CRD,5.5 +CMT,1,1,752,1.6,CRD,9.5 +CMT,1,1,918,3.2,CSH,13.0 +CMT,1,1,200,0.3,CRD,4.0 +CMT,1,1,212,0.5,CRD,4.5 +CMT,1,1,727,1.6,CRD,9.5 +CMT,1,1,380,1.3,CRD,6.5 +CMT,1,1,446,2.5,CSH,9.5 +CMT,1,1,1295,8.1,CRD,26.0 +CMT,1,1,486,1.2,CSH,7.0 +CMT,3,1,19,0.1,NOC,20.0 +CMT,1,1,1042,4.2,CRD,16.5 +CMT,1,1,642,1.1,CRD,8.5 +CMT,1,1,315,1.1,CRD,6.0 +CMT,1,1,915,2.7,CSH,12.5 +CMT,1,1,1331,3.3,CSH,16.0 +CMT,1,1,595,1.3,CSH,8.5 +CMT,1,1,1152,4.8,CRD,17.0 +CMT,1,1,853,5.8,CRD,18.5 +CMT,1,1,336,1.6,CRD,7.0 +CMT,1,1,573,3.0,CSH,11.0 +CMT,1,1,444,1.4,CSH,7.0 +CMT,1,1,310,1.5,CSH,6.5 +CMT,1,1,150,0.4,CSH,4.0 +CMT,1,1,655,1.5,CSH,9.0 +CMT,1,1,244,0.9,CRD,5.0 +CMT,1,1,788,2.6,CRD,12.0 +CMT,1,1,1198,10.9,CRD,31.0 +CMT,1,1,199,0.7,CRD,4.5 +CMT,1,1,570,2.4,CRD,9.5 +CMT,1,1,648,1.6,CRD,9.0 +CMT,1,1,742,2.3,CRD,11.0 +CMT,1,1,193,0.4,CRD,4.0 +CMT,1,1,405,0.9,CRD,6.5 +CMT,1,1,415,1.5,CRD,7.5 +CMT,1,1,498,2.4,CRD,9.0 +CMT,1,1,134,0.5,CRD,4.0 +CMT,1,1,335,1.4,CRD,6.5 +CMT,1,1,1415,11.5,CSH,33.5 +CMT,1,1,310,0.7,CSH,5.5 +CMT,1,1,382,1.2,CRD,7.0 +CMT,1,1,103,0.5,CRD,4.0 +CMT,1,1,795,4.3,CRD,15.0 +CMT,1,1,823,3.1,CRD,13.0 +CMT,1,1,1393,2.8,CSH,15.5 +CMT,1,1,728,1.4,CRD,9.5 +CMT,2,2,1830,16.6,CSH,52.0 +CMT,1,1,311,0.8,CSH,6.0 +CMT,1,1,467,1.5,CSH,7.5 +CMT,1,1,794,5.4,CSH,18.0 +CMT,1,1,369,1.3,CSH,7.0 +CMT,1,1,1837,18.7,CRD,52.0 +CMT,1,1,1447,12.3,CSH,36.0 +CMT,1,1,316,1.3,CSH,6.5 +CMT,1,1,200,0.8,CRD,4.5 +CMT,1,1,340,0.6,CSH,5.5 +CMT,1,1,716,5.7,CRD,17.5 +CMT,1,1,138,0.8,CRD,4.5 +CMT,1,1,1187,9.4,CRD,27.5 +CMT,1,1,337,1.9,CRD,8.5 +CMT,1,2,1150,9.2,CSH,27.5 +CMT,1,1,918,3.7,CSH,14.0 +CMT,1,1,222,0.8,CRD,5.0 +CMT,1,1,831,6.4,CRD,20.0 +CMT,1,1,286,1.0,CRD,5.5 +CMT,1,1,499,1.8,CRD,8.0 +CMT,1,1,725,1.4,CRD,9.0 +CMT,1,1,125,0.8,CSH,4.5 +CMT,2,2,1527,17.4,CRD,52.0 +CMT,1,1,1101,3.0,CRD,14.0 +CMT,1,1,385,1.2,CRD,6.5 +CMT,1,1,374,1.0,CRD,6.5 +CMT,1,1,311,0.9,CSH,6.0 +CMT,1,1,889,1.5,CRD,10.5 +CMT,1,1,568,1.3,CSH,8.0 +CMT,1,1,700,2.1,CSH,10.0 +CMT,1,2,1319,10.0,CSH,30.0 +CMT,5,1,45,0.0,CRD,100.0 +CMT,1,1,653,1.8,CSH,9.5 +CMT,1,1,893,1.2,CRD,10.5 +CMT,1,1,1922,12.8,CSH,39.0 +CMT,1,1,1806,11.0,CRD,32.0 +CMT,1,1,889,6.0,CRD,19.5 +CMT,1,1,538,1.6,CSH,8.5 +CMT,1,1,1868,10.3,CRD,32.5 +CMT,1,1,559,3.0,CSH,11.5 +CMT,1,1,261,1.4,CRD,6.0 +CMT,1,1,332,1.6,CRD,7.0 +CMT,1,1,176,0.7,CSH,4.5 +CMT,1,1,1057,7.4,CSH,23.5 +CMT,1,1,902,2.7,CRD,12.5 +CMT,1,1,758,1.8,CSH,10.0 +CMT,1,1,511,0.8,CSH,7.0 +CMT,1,1,466,1.5,CSH,7.5 +CMT,1,1,1136,1.7,CRD,12.5 +CMT,1,1,125,0.6,CSH,4.0 +CMT,1,1,194,0.5,CSH,4.5 +CMT,1,1,428,1.1,CSH,6.5 +CMT,1,1,1248,3.2,CRD,15.5 +CMT,1,1,1411,4.9,CRD,20.5 +CMT,1,1,2432,4.9,CRD,27.0 +CMT,1,1,796,1.7,CSH,10.5 +CMT,1,1,515,1.4,CSH,7.5 +CMT,1,1,743,2.6,CSH,11.5 +CMT,1,1,601,3.7,CSH,13.0 +CMT,1,1,615,1.6,CRD,9.0 +CMT,1,2,1533,9.9,CRD,31.0 +CMT,1,1,755,7.8,CRD,22.5 +CMT,1,2,1602,11.0,CSH,33.5 +CMT,1,1,636,1.4,CSH,8.5 +CMT,1,1,180,0.9,CRD,5.0 +CMT,1,1,259,1.3,CRD,6.0 +CMT,1,1,533,2.4,CRD,10.0 +CMT,1,1,765,4.0,CSH,15.0 +CMT,1,1,18,0.2,CSH,3.0 +CMT,5,1,2934,27.7,CRD,118.75 +CMT,1,1,1711,10.3,CSH,32.5 +CMT,1,1,314,0.9,CSH,6.0 +CMT,1,1,488,1.3,CRD,7.0 +CMT,1,1,676,1.8,CSH,9.5 +CMT,1,1,274,1.2,CSH,6.0 +CMT,1,1,271,1.2,CSH,6.0 +CMT,1,3,1319,8.9,CRD,26.5 +CMT,1,1,1117,10.5,CRD,30.5 +CMT,1,1,211,0.7,CRD,5.0 +CMT,1,1,1261,5.6,CSH,20.0 +CMT,1,1,318,0.6,CRD,5.5 +CMT,1,1,386,1.4,CRD,7.0 +CMT,1,1,440,1.0,CRD,7.0 +CMT,2,1,2321,17.5,CRD,52.0 +CMT,1,1,1806,11.4,CRD,33.0 +CMT,1,1,398,1.0,CSH,6.5 +CMT,1,1,1253,1.5,CSH,13.5 +CMT,1,1,449,1.8,CRD,8.0 +CMT,1,1,763,6.5,CRD,19.5 +CMT,1,1,539,1.6,CSH,8.5 +CMT,1,1,477,1.3,CRD,7.5 +CMT,1,1,217,0.8,CRD,5.0 +CMT,1,1,741,1.1,CRD,9.0 +CMT,1,1,313,1.0,CRD,6.0 +CMT,1,1,140,0.5,CSH,4.0 +CMT,1,1,241,0.3,CSH,4.5 +CMT,1,1,112,0.5,CSH,3.5 +CMT,1,1,29,0.2,CSH,3.0 +CMT,1,1,236,0.9,CSH,5.0 +CMT,1,1,429,1.5,CSH,7.5 +CMT,1,1,1034,7.4,CRD,23.0 +CMT,1,1,429,1.5,CSH,7.5 +CMT,1,1,852,5.1,CSH,17.0 +CMT,1,2,2289,11.7,CSH,38.0 +CMT,1,1,949,4.9,CSH,17.5 +CMT,1,1,424,1.5,CSH,7.5 +CMT,1,1,1260,4.2,CSH,16.5 +CMT,1,1,204,0.7,CRD,5.0 +CMT,1,2,1255,12.0,CSH,33.5 +CMT,1,1,807,2.8,CSH,12.5 +CMT,1,1,503,3.3,CRD,11.5 +CMT,1,1,407,1.6,CSH,7.5 +CMT,1,1,980,12.1,CRD,33.0 +CMT,1,1,633,3.7,CRD,13.0 +CMT,1,1,713,3.8,CRD,13.5 +CMT,1,1,223,1.0,CSH,5.5 +CMT,1,1,653,1.7,CSH,9.5 +CMT,1,1,602,1.1,CSH,8.0 +CMT,1,1,269,0.6,CSH,5.0 +CMT,1,2,1342,9.9,CRD,30.0 +CMT,1,1,710,2.5,CSH,10.5 +CMT,1,1,1224,6.8,CRD,23.0 +CMT,1,1,427,1.8,CSH,7.5 +CMT,1,1,637,2.5,CSH,11.0 +CMT,1,1,659,3.5,CSH,12.5 +CMT,1,1,719,1.0,CSH,9.0 +CMT,1,1,2071,5.6,CRD,24.5 +CMT,1,1,786,4.1,CSH,14.5 +CMT,2,2,1583,17.1,CRD,52.0 +CMT,1,1,509,1.3,CRD,7.5 +CMT,1,1,466,2.0,CRD,9.0 +CMT,1,1,1181,9.4,CRD,27.5 +CMT,1,1,491,1.6,CSH,8.0 +CMT,1,1,619,1.9,CSH,9.5 +CMT,1,2,1985,11.8,CSH,37.0 +CMT,1,1,691,1.6,CRD,9.0 +CMT,1,1,657,3.0,CSH,12.0 +CMT,1,1,939,2.4,CSH,13.0 +CMT,1,1,970,5.7,CRD,18.0 +CMT,1,1,335,2.2,CRD,8.0 +CMT,1,1,186,0.7,CSH,4.5 +CMT,1,1,775,2.1,CRD,10.5 +CMT,1,1,857,3.4,CRD,13.5 +CMT,1,1,263,0.8,CRD,5.0 +CMT,1,1,549,1.5,CSH,8.0 +CMT,1,1,398,1.2,CRD,6.5 +CMT,1,1,171,1.2,CSH,5.5 +CMT,1,1,801,1.3,CRD,10.0 +CMT,1,1,616,0.9,CSH,8.0 +CMT,1,1,750,3.7,CSH,13.5 +CMT,1,1,303,1.9,CRD,8.0 +CMT,1,1,159,0.7,CSH,4.5 +CMT,2,1,1569,17.2,CRD,52.0 +CMT,5,1,47,0.0,CRD,105.0 +CMT,2,1,1988,16.9,CRD,52.0 +CMT,1,1,797,5.1,CSH,17.5 +CMT,1,1,531,1.5,CRD,8.0 +CMT,1,1,568,0.8,CRD,7.0 +CMT,1,1,342,1.1,CRD,6.5 +CMT,1,1,70,0.3,CSH,3.0 +CMT,1,1,586,1.5,CSH,8.5 +CMT,1,1,530,3.9,CSH,12.5 +CMT,1,1,413,2.1,CRD,8.0 +CMT,1,1,313,0.8,CRD,5.5 +CMT,1,1,1083,7.2,CRD,23.5 +CMT,1,1,839,4.0,CRD,14.5 +CMT,1,1,840,3.3,CRD,13.5 +CMT,1,1,363,0.7,CRD,6.0 +CMT,1,1,226,0.7,CSH,5.0 +CMT,1,1,188,0.6,CSH,4.5 +CMT,1,1,519,1.3,CRD,7.5 +CMT,1,1,452,0.6,CRD,6.0 +CMT,1,1,761,1.1,CRD,9.0 +CMT,1,1,544,1.2,CSH,8.0 +CMT,1,1,187,0.8,CSH,4.5 +CMT,1,1,140,0.4,CSH,4.0 +CMT,1,1,212,0.5,CSH,4.5 +CMT,1,1,368,0.9,CSH,6.0 +CMT,1,1,570,0.8,CSH,7.0 +CMT,1,1,894,1.2,CSH,10.5 +CMT,1,1,634,1.4,CSH,8.5 +CMT,1,1,114,0.6,CSH,4.0 +CMT,1,1,201,0.5,CSH,4.5 +CMT,1,1,1907,4.2,CRD,22.0 +CMT,1,1,657,1.7,CSH,9.0 +CMT,1,1,277,1.1,CSH,5.5 +CMT,1,1,3950,12.4,CRD,49.5 +CMT,1,1,1267,10.5,CRD,29.5 +CMT,1,1,321,1.5,CSH,6.5 +CMT,1,1,352,0.7,CRD,6.0 +CMT,1,1,919,4.5,CRD,16.5 +CMT,1,1,266,1.5,CSH,6.5 +CMT,1,1,523,1.7,CSH,8.5 +CMT,1,1,1498,8.9,CSH,28.0 +CMT,1,1,1081,2.9,CSH,14.5 +CMT,1,1,2526,11.9,CRD,38.5 +VTS,1,1,600,1.63,CSH,8.5 +VTS,1,1,360,1.22,CRD,6.0 +VTS,1,1,1020,5.47,CSH,18.5 +VTS,1,1,540,2.77,CRD,10.5 +VTS,1,1,300,1.6,CRD,7.0 +VTS,1,1,600,1.7,CRD,8.5 +VTS,1,1,720,1.58,CSH,9.0 +VTS,1,1,540,1.47,CRD,8.0 +VTS,1,1,60,0.46,CSH,3.5 +VTS,1,1,540,1.73,CSH,8.5 +VTS,1,1,1140,4.72,CRD,17.5 +VTS,1,1,300,0.99,CRD,6.0 +VTS,1,1,240,1.15,CRD,5.5 +VTS,1,1,480,3.23,CRD,11.0 +VTS,1,1,420,1.42,CSH,7.5 +CMT,1,1,1181,3.8,CSH,16.5 +CMT,1,1,392,1.4,CRD,7.5 +CMT,1,1,1115,5.0,CRD,18.5 +CMT,1,1,1108,9.4,CSH,27.5 +CMT,1,2,2559,11.0,CRD,37.5 +CMT,1,1,600,1.6,CSH,9.0 +CMT,1,1,310,0.8,CSH,5.5 +CMT,1,1,253,2.1,CSH,7.5 +CMT,1,1,1031,7.2,CSH,22.5 +CMT,2,1,2259,19.4,CRD,52.0 +CMT,1,1,267,0.6,CSH,5.0 +CMT,1,1,208,0.5,CRD,4.5 +CMT,1,2,1863,11.9,CRD,36.5 +CMT,1,1,311,1.3,CRD,6.0 +CMT,1,1,518,1.5,CSH,8.0 +CMT,1,1,239,0.7,CSH,5.0 +CMT,1,1,285,1.6,CSH,6.5 +CMT,1,1,521,1.8,CSH,8.5 +CMT,1,1,665,1.2,CSH,9.0 +CMT,1,1,1541,11.7,CRD,35.0 +CMT,1,1,262,0.6,CRD,5.0 +CMT,1,1,453,1.6,CSH,7.5 +CMT,1,1,992,3.9,CRD,15.0 +CMT,1,1,226,0.9,CSH,5.5 +CMT,1,1,449,1.3,CRD,7.5 +CMT,1,1,375,1.3,CRD,6.5 +CMT,1,1,279,0.9,CRD,5.5 +CMT,1,1,1177,9.9,CRD,29.0 +CMT,1,1,582,2.2,CSH,10.0 +CMT,1,1,171,0.9,CSH,4.5 +CMT,1,1,1341,2.9,CSH,15.5 +CMT,1,1,259,1.1,CSH,5.5 +CMT,1,1,548,1.6,CSH,8.5 +CMT,1,1,805,3.0,CSH,12.0 +CMT,1,1,411,1.0,CSH,6.5 +CMT,1,1,135,0.4,CSH,4.0 +CMT,1,1,394,1.4,CSH,7.5 +CMT,1,1,988,3.3,CRD,15.0 +CMT,1,1,441,1.0,CRD,7.0 +CMT,1,1,240,0.8,CSH,5.0 +CMT,1,1,276,1.2,CSH,6.0 +CMT,1,1,1016,1.9,CSH,12.5 +CMT,2,2,1538,16.4,CRD,52.0 +CMT,1,1,1184,2.8,CRD,14.5 +CMT,1,1,1290,2.5,CSH,15.0 +CMT,1,1,181,0.5,CRD,4.5 +CMT,1,1,207,1.0,CRD,5.0 +CMT,1,1,1310,10.0,CRD,30.0 +CMT,1,1,212,1.3,CRD,6.0 +CMT,1,1,1385,10.1,CSH,30.0 +CMT,2,1,18,0.0,CRD,52.0 +VTS,1,1,540,1.64,CSH,8.5 +CMT,1,1,1719,11.9,CSH,36.0 +VTS,1,1,720,1.55,CSH,9.5 +VTS,1,1,480,1.4,CRD,7.5 +VTS,1,1,480,2.2,CSH,9.0 +VTS,1,1,1380,5.31,CRD,20.5 +VTS,1,1,780,2.67,CRD,11.5 +VTS,1,1,1200,5.46,CRD,18.5 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,600,3.26,CSH,11.5 +VTS,1,1,180,0.36,CSH,4.0 +VTS,1,1,900,1.5,CRD,10.0 +VTS,1,1,1500,2.81,CRD,17.0 +VTS,1,1,480,2.21,CSH,9.0 +VTS,1,1,1020,2.66,CRD,13.5 +VTS,1,1,1320,9.47,CRD,28.5 +VTS,1,6,540,1.46,CRD,8.5 +VTS,1,6,420,1.89,CRD,8.5 +VTS,1,1,780,1.9,CSH,10.0 +VTS,1,6,360,1.46,CRD,6.5 +VTS,1,6,1320,6.65,CRD,23.0 +VTS,1,1,1020,3.31,CSH,14.5 +VTS,1,6,300,1.73,CRD,7.0 +VTS,1,6,180,0.28,CSH,4.0 +VTS,1,6,300,2.67,CSH,9.5 +VTS,1,6,1140,2.35,CSH,13.0 +VTS,1,6,1080,3.4,CSH,14.0 +CMT,1,1,244,1.2,CSH,5.5 +CMT,1,1,958,2.7,CSH,12.5 +CMT,1,1,278,1.4,CSH,6.0 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,3540,6.49,CSH,36.5 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,720,2.49,CRD,10.5 +VTS,1,1,420,1.51,CRD,7.0 +VTS,1,1,360,1.85,CSH,8.0 +VTS,1,1,360,1.29,CSH,6.5 +VTS,1,1,420,0.72,CSH,6.0 +VTS,1,1,1500,6.68,CRD,23.0 +VTS,1,1,840,2.78,CSH,12.0 +VTS,1,1,1260,9.67,CRD,28.0 +VTS,1,1,660,3.25,CSH,12.0 +VTS,1,1,480,2.26,CSH,9.0 +VTS,1,6,420,1.57,CSH,7.5 +VTS,1,1,540,2.03,CRD,9.0 +VTS,1,6,120,0.76,CRD,4.5 +VTS,1,1,720,1.52,CRD,9.5 +VTS,1,1,1200,3.95,CRD,16.5 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,120,0.54,CSH,4.0 +VTS,1,6,720,2.5,CRD,11.0 +VTS,1,6,540,1.68,CSH,9.0 +VTS,1,6,480,1.42,CSH,7.5 +CMT,1,1,820,3.9,CSH,14.0 +CMT,1,1,771,3.9,CSH,14.5 +CMT,1,1,2132,12.6,CSH,40.0 +CMT,1,1,476,1.9,CRD,8.0 +CMT,1,1,1110,3.6,CRD,16.0 +CMT,1,1,342,1.0,CRD,6.0 +CMT,1,1,1202,2.9,CSH,15.0 +CMT,2,1,1641,17.4,CRD,52.0 +CMT,1,1,175,0.6,CRD,4.5 +CMT,1,1,1096,2.9,CRD,13.5 +CMT,1,1,447,0.7,CSH,6.5 +CMT,1,1,1233,3.5,CRD,15.5 +CMT,1,1,484,2.3,CRD,9.0 +CMT,1,3,1838,11.7,CSH,37.0 +CMT,1,1,581,1.5,CSH,8.5 +CMT,1,1,1539,4.2,CRD,19.5 +CMT,1,1,342,0.9,CRD,6.0 +CMT,1,1,253,1.2,CSH,5.5 +CMT,1,1,357,0.8,CSH,6.0 +CMT,1,1,586,1.6,CRD,8.5 +CMT,1,1,1009,2.0,CSH,12.0 +CMT,2,1,27,0.0,CSH,52.0 +CMT,1,1,1424,9.4,CRD,29.5 +CMT,1,1,669,1.8,CRD,9.5 +CMT,1,1,387,1.0,CRD,6.5 +CMT,1,1,1109,2.9,CRD,14.0 +CMT,1,1,1351,9.9,CRD,30.0 +CMT,1,1,82,0.3,CRD,3.5 +CMT,1,1,367,1.8,CSH,7.5 +CMT,1,1,288,0.8,CSH,5.5 +CMT,1,1,429,1.2,CRD,7.0 +CMT,1,1,1144,10.2,CRD,29.0 +CMT,1,1,718,2.1,CRD,10.0 +CMT,1,1,1290,15.5,CSH,42.5 +CMT,1,1,531,2.2,CRD,9.0 +CMT,1,2,1126,4.6,CRD,17.0 +CMT,1,1,898,3.4,CSH,13.5 +CMT,1,1,145,0.4,CRD,4.0 +CMT,1,1,393,1.0,CSH,6.5 +CMT,1,1,962,2.4,CRD,12.5 +CMT,1,1,328,1.0,CSH,6.0 +CMT,1,1,94,0.3,CRD,3.5 +CMT,1,1,1320,4.7,CSH,18.5 +CMT,1,1,235,0.8,CRD,5.0 +CMT,1,1,264,0.8,CRD,5.0 +CMT,1,1,1309,5.3,CSH,19.5 +CMT,1,1,471,0.8,CRD,6.5 +CMT,1,1,1430,3.7,CRD,18.0 +CMT,1,1,448,1.0,CRD,7.0 +CMT,1,1,778,1.3,CRD,9.5 +CMT,2,1,1361,16.9,CRD,52.0 +CMT,1,1,816,3.8,CRD,14.0 +CMT,1,1,633,1.2,CRD,8.5 +VTS,1,1,240,0.83,CSH,5.0 +VTS,1,1,540,1.81,CRD,8.5 +VTS,1,1,240,1.44,CRD,6.5 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,540,3.08,CSH,11.5 +VTS,1,1,1020,4.2,CRD,17.0 +VTS,1,1,540,1.69,CRD,8.5 +VTS,1,1,660,1.65,CRD,9.0 +VTS,1,1,1320,4.85,CSH,18.0 +VTS,1,1,960,5.87,CRD,18.5 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,600,1.62,CSH,9.0 +VTS,1,6,240,0.99,CSH,5.5 +VTS,1,6,540,2.11,CSH,9.5 +VTS,1,6,660,2.6,CSH,10.5 +VTS,1,6,1620,6.5,CRD,23.5 +VTS,1,1,480,1.14,CSH,7.0 +VTS,1,1,180,0.98,CRD,5.0 +VTS,1,1,660,2.65,CRD,10.5 +VTS,1,1,360,1.19,CSH,6.5 +VTS,1,1,540,1.88,CSH,8.5 +VTS,1,1,120,0.63,CSH,4.5 +VTS,1,1,1440,6.39,CSH,22.0 +VTS,1,1,840,3.99,CSH,14.5 +VTS,1,6,300,1.87,CSH,7.5 +VTS,1,1,480,1.92,CSH,8.5 +VTS,1,1,780,1.34,CSH,10.0 +VTS,1,1,600,1.91,CSH,9.0 +VTS,1,1,420,1.53,CSH,7.5 +VTS,1,1,600,1.59,CRD,8.5 +VTS,1,1,1320,8.43,CRD,27.0 +VTS,1,1,240,0.9,CRD,5.0 +VTS,1,1,1560,5.84,CRD,21.5 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,540,2.51,CRD,9.5 +VTS,1,1,600,1.73,CRD,9.0 +VTS,1,1,420,1.25,CSH,7.0 +VTS,1,1,1020,2.98,CSH,13.5 +VTS,1,1,120,0.62,CSH,4.0 +VTS,1,1,540,2.24,CRD,9.5 +VTS,1,6,300,0.56,CRD,5.5 +VTS,1,6,360,1.09,CRD,6.5 +VTS,1,1,660,2.75,CRD,11.0 +VTS,1,6,540,2.19,CRD,9.5 +VTS,1,6,1080,5.66,CSH,19.5 +VTS,1,6,540,2.97,CRD,11.0 +VTS,1,6,300,1.01,CSH,5.5 +VTS,1,6,780,2.74,CSH,11.5 +VTS,1,6,420,0.71,CRD,6.5 +VTS,1,6,300,1.09,CSH,5.5 +VTS,1,6,180,0.65,CSH,4.5 +VTS,1,1,1440,5.41,CRD,21.5 +VTS,1,1,420,1.32,CRD,7.0 +VTS,1,1,240,0.7,CRD,4.5 +VTS,1,1,480,1.32,CSH,7.5 +VTS,1,1,1260,9.87,CSH,29.0 +VTS,1,1,240,1.18,CRD,5.5 +VTS,1,6,600,1.14,CSH,8.0 +VTS,1,1,360,1.84,CSH,7.5 +VTS,1,1,720,2.93,CSH,11.5 +VTS,1,1,480,2.7,CSH,9.5 +VTS,1,6,540,2.24,CRD,9.0 +VTS,1,6,240,0.81,CSH,5.0 +VTS,1,6,420,1.05,CSH,6.5 +VTS,1,6,780,3.51,CRD,12.5 +VTS,1,6,660,3.6,CRD,13.0 +VTS,1,6,1080,11.57,CRD,32.5 +VTS,1,6,240,1.01,CSH,5.5 +VTS,1,6,180,0.55,CSH,4.0 +VTS,1,6,420,1.27,CSH,7.0 +VTS,1,6,480,1.19,CSH,7.0 +VTS,1,6,300,1.07,CSH,5.0 +VTS,1,6,900,2.79,CSH,12.5 +VTS,1,6,960,2.95,CSH,12.5 +VTS,1,6,780,2.36,CRD,11.0 +VTS,1,6,300,1.01,CSH,5.5 +VTS,1,6,360,1.18,CSH,6.5 +CMT,1,1,245,0.6,CRD,5.0 +CMT,1,1,1381,11.5,CRD,33.5 +CMT,1,1,619,5.0,CRD,15.5 +CMT,1,1,1738,1.5,CSH,17.0 +CMT,1,1,323,0.7,CRD,5.5 +CMT,1,1,907,2.0,CSH,11.5 +CMT,1,1,360,1.1,CSH,6.0 +CMT,1,1,606,1.8,CSH,9.0 +CMT,1,1,505,2.9,CRD,10.5 +CMT,1,1,354,1.1,CSH,6.0 +CMT,1,1,131,0.5,CSH,4.0 +CMT,1,1,1168,9.6,CRD,28.0 +CMT,1,1,1243,4.9,CSH,19.0 +CMT,1,1,432,0.8,CRD,6.5 +CMT,1,1,487,1.0,CSH,7.0 +CMT,1,2,1441,9.5,CRD,29.5 +CMT,2,1,1361,16.5,CRD,52.0 +CMT,1,1,253,0.7,CRD,5.0 +CMT,1,1,883,2.8,CSH,12.5 +CMT,1,1,701,2.4,CSH,10.5 +CMT,1,1,462,1.1,CRD,6.5 +CMT,1,1,822,2.5,CRD,11.5 +CMT,1,1,464,1.6,CRD,7.5 +CMT,1,1,637,2.1,CSH,10.0 +CMT,1,1,330,1.0,CSH,6.0 +CMT,1,1,721,2.2,CRD,10.5 +CMT,1,1,900,9.9,CRD,28.5 +CMT,1,1,890,1.4,CRD,10.5 +CMT,1,1,1215,3.8,CSH,17.0 +CMT,1,1,279,1.8,CSH,7.0 +CMT,1,1,472,1.9,CRD,8.5 +CMT,1,1,155,0.3,CRD,4.0 +CMT,1,1,414,1.2,CSH,7.0 +CMT,1,1,93,0.3,CSH,3.5 +CMT,1,1,661,1.4,CSH,9.0 +CMT,1,1,651,2.4,CSH,10.0 +CMT,1,1,261,0.9,CRD,5.5 +CMT,1,1,894,7.8,CSH,23.0 +CMT,1,1,449,2.1,CSH,8.5 +CMT,1,1,716,1.8,CSH,9.5 +CMT,1,1,964,9.2,CSH,26.5 +CMT,1,1,879,5.2,CSH,18.0 +CMT,1,1,1309,3.1,CRD,15.5 +CMT,1,1,670,1.4,CRD,9.0 +CMT,1,1,1240,9.2,CRD,27.5 +CMT,1,1,1420,10.5,CSH,31.5 +CMT,1,1,545,1.1,CSH,7.5 +CMT,1,1,1193,3.9,CSH,16.5 +CMT,1,1,920,1.8,CSH,11.5 +CMT,1,1,246,0.4,CSH,4.5 +VTS,1,1,60,0.37,CRD,3.5 +VTS,1,1,1380,4.19,CSH,18.5 +CMT,1,1,113,0.5,CSH,4.0 +CMT,2,1,12,0.0,CRD,52.0 +CMT,1,1,606,0.8,CSH,7.5 +CMT,1,1,651,5.0,CRD,16.0 +CMT,1,1,328,1.3,CSH,6.5 +CMT,1,1,682,2.0,CRD,9.5 +CMT,1,1,1009,3.0,CRD,13.5 +CMT,1,1,508,0.7,CRD,7.0 +CMT,1,1,863,1.0,CSH,10.0 +CMT,1,1,372,0.7,CRD,6.0 +CMT,1,1,401,0.6,CSH,6.0 +CMT,1,1,548,1.1,CRD,8.0 +CMT,1,1,1365,9.8,CRD,30.5 +CMT,1,1,433,1.1,CRD,7.0 +CMT,1,1,810,2.5,CSH,11.5 +CMT,1,1,607,2.8,CRD,11.0 +CMT,1,1,280,0.8,CRD,5.5 +CMT,1,1,1074,3.4,CRD,14.5 +CMT,1,1,1251,6.7,CRD,23.5 +CMT,1,1,559,1.4,CRD,8.0 +CMT,1,1,409,1.3,CRD,6.5 +CMT,1,1,200,0.6,CSH,4.5 +CMT,1,1,592,0.8,CSH,7.5 +CMT,2,1,1412,16.3,CRD,52.0 +CMT,1,1,811,1.3,CSH,10.0 +CMT,1,1,478,2.0,CRD,8.5 +VTS,1,6,720,2.09,CRD,9.5 +VTS,1,6,300,1.72,CRD,7.0 +VTS,1,6,360,0.73,CRD,6.0 +VTS,1,6,480,1.14,CRD,7.0 +VTS,1,6,540,1.29,CRD,8.0 +VTS,1,6,360,0.82,CSH,5.5 +VTS,1,6,360,1.51,CRD,7.0 +VTS,1,6,600,1.91,CRD,9.0 +VTS,1,6,300,0.85,CRD,5.0 +VTS,1,6,840,2.29,CRD,11.0 +VTS,1,6,240,0.92,CRD,5.0 +VTS,1,6,420,1.59,CSH,7.5 +VTS,1,6,780,3.25,CSH,12.0 +VTS,1,6,600,2.63,CRD,10.0 +VTS,1,6,480,1.78,CSH,8.0 +VTS,1,6,360,0.92,CRD,5.5 +VTS,1,6,360,1.16,CSH,6.5 +VTS,1,6,300,0.91,CRD,5.0 +VTS,1,6,480,1.37,CSH,7.5 +VTS,1,6,960,2.94,CRD,13.5 +VTS,1,6,480,3.01,CSH,10.5 +VTS,1,6,120,0.17,CSH,3.5 +VTS,1,6,240,1.14,CSH,5.5 +VTS,1,6,1320,1.92,CSH,14.0 +VTS,1,6,660,1.55,CSH,8.5 +VTS,1,3,780,2.14,CRD,10.0 +VTS,1,6,960,1.85,CRD,12.0 +VTS,1,6,600,2.02,CRD,9.0 +VTS,1,6,600,2.81,CRD,10.5 +VTS,1,6,780,2.13,CRD,10.5 +VTS,1,6,840,5.23,CRD,17.0 +VTS,1,6,1260,2.72,CSH,14.5 +VTS,1,6,840,2.37,CSH,11.5 +VTS,1,6,600,2.73,CSH,10.5 +VTS,1,6,240,0.7,CSH,4.5 +VTS,1,6,1440,6.47,CSH,22.0 +VTS,1,6,240,0.58,CSH,4.5 +VTS,1,6,480,1.93,CSH,8.0 +VTS,1,6,0,0.0,CSH,2.5 +VTS,1,6,360,1.88,CSH,7.0 +VTS,1,6,780,1.72,CSH,10.0 +VTS,1,6,180,0.14,CSH,4.0 +VTS,1,6,900,1.74,CSH,11.0 +VTS,1,6,360,1.27,CRD,6.5 +VTS,1,6,360,1.66,CRD,7.0 +VTS,1,6,300,0.83,CRD,5.5 +VTS,1,6,840,2.39,CRD,11.0 +VTS,1,6,540,0.76,CRD,7.0 +VTS,1,6,420,1.05,CSH,6.5 +VTS,1,6,120,0.41,CSH,3.5 +VTS,1,6,1140,2.51,CRD,13.5 +VTS,1,6,660,2.03,CSH,9.5 +CMT,1,1,675,1.0,CRD,8.5 +CMT,1,1,732,1.7,CRD,9.5 +CMT,1,1,193,0.7,CSH,4.5 +CMT,1,1,318,1.4,CSH,6.5 +CMT,1,1,607,3.1,CSH,12.0 +CMT,1,1,400,1.0,CRD,6.5 +CMT,2,1,2438,16.7,CRD,52.0 +CMT,1,1,1177,2.4,CRD,14.0 +CMT,1,1,484,1.5,CRD,8.0 +CMT,1,1,504,0.9,CRD,7.0 +CMT,1,1,1237,15.1,CSH,40.5 +CMT,1,1,861,4.2,CSH,15.0 +CMT,1,1,344,0.4,CRD,5.5 +VTS,1,1,840,2.37,CRD,11.5 +VTS,1,1,300,1.18,CRD,6.0 +VTS,1,1,900,3.85,CSH,13.5 +VTS,1,1,420,1.78,CSH,7.5 +VTS,1,1,1200,6.24,CSH,22.0 +VTS,1,1,660,1.67,CRD,9.5 +VTS,1,6,480,2.22,CRD,9.0 +VTS,1,6,1020,2.88,CRD,13.5 +VTS,1,1,720,2.41,CRD,10.5 +VTS,1,1,480,2.06,CRD,9.0 +VTS,1,6,240,0.78,CRD,5.0 +VTS,1,6,180,0.44,CRD,4.0 +VTS,1,6,420,1.68,CRD,8.0 +VTS,1,6,1080,3.1,CRD,14.0 +VTS,1,6,360,0.91,CRD,5.5 +VTS,1,6,720,2.24,CSH,10.0 +VTS,1,6,360,1.02,CSH,6.5 +VTS,1,6,540,2.92,CSH,10.0 +VTS,1,6,840,3.87,CSH,13.5 +VTS,1,6,300,1.28,CSH,6.5 +VTS,1,6,1800,4.09,CRD,20.0 +VTS,1,6,780,2.02,CRD,10.5 +VTS,1,6,540,1.16,CRD,7.5 +VTS,1,6,780,2.46,CRD,11.0 +VTS,1,6,300,1.0,CRD,6.0 +VTS,1,6,360,0.8,CRD,6.0 +VTS,1,6,180,0.59,CSH,4.5 +VTS,1,6,840,3.47,CRD,13.5 +VTS,1,6,180,0.41,CSH,4.0 +VTS,1,6,780,1.28,CSH,9.5 +VTS,1,6,600,1.78,CSH,8.5 +VTS,1,6,960,3.69,CSH,14.5 +VTS,1,6,720,2.39,CRD,11.0 +VTS,1,6,480,0.53,CSH,6.5 +VTS,1,6,540,1.41,CSH,7.5 +VTS,1,6,540,1.3,CSH,7.5 +VTS,1,6,300,0.52,CRD,5.0 +VTS,1,6,240,0.95,CSH,5.5 +VTS,1,6,300,0.75,CSH,5.0 +VTS,1,6,240,1.1,CRD,5.5 +VTS,1,6,660,2.29,CRD,10.5 +VTS,1,6,600,1.95,CSH,9.0 +VTS,1,6,480,1.18,CSH,7.5 +VTS,1,6,660,1.8,CRD,9.5 +VTS,1,6,360,0.91,CSH,6.0 +VTS,1,6,420,1.49,CSH,7.0 +VTS,1,6,1020,2.38,CRD,12.5 +VTS,1,6,1020,2.71,CRD,13.0 +VTS,1,6,900,3.88,CRD,14.0 +VTS,1,6,1020,2.7,CRD,13.0 +VTS,1,6,180,0.47,CSH,4.0 +VTS,1,6,540,2.06,CSH,9.0 +VTS,1,6,480,1.66,CRD,7.5 +VTS,1,6,420,2.21,CRD,8.5 +VTS,1,6,600,1.93,CSH,8.5 +VTS,2,6,4380,19.5,CRD,52.0 +VTS,1,6,540,1.7,CRD,8.5 +VTS,1,6,300,0.99,CRD,5.5 +VTS,1,6,1020,2.62,CRD,13.0 +VTS,1,6,1260,2.63,CSH,13.5 +VTS,1,6,720,2.06,CSH,10.0 +VTS,1,6,60,0.14,CSH,3.0 +VTS,1,6,660,1.13,CRD,8.5 +VTS,1,6,840,1.25,CRD,10.0 +VTS,1,6,600,2.66,CSH,9.5 +VTS,1,1,180,1.29,CRD,5.5 +VTS,1,1,960,4.06,CSH,16.0 +VTS,1,1,480,1.66,CSH,8.0 +VTS,1,1,360,1.68,CRD,7.5 +VTS,1,1,960,2.39,CRD,12.5 +VTS,1,1,1020,2.8,CRD,13.5 +VTS,1,1,960,1.78,CRD,11.5 +VTS,1,1,600,1.46,CRD,9.0 +VTS,1,1,420,1.16,CSH,6.5 +VTS,1,1,540,1.26,CSH,8.0 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,1260,6.34,CRD,21.5 +VTS,1,1,780,1.73,CSH,10.0 +VTS,1,1,600,1.45,CSH,9.0 +VTS,1,1,540,1.82,CRD,9.0 +VTS,1,6,660,3.0,CSH,11.0 +VTS,1,6,360,1.48,CRD,7.0 +VTS,1,6,240,0.71,CSH,5.0 +VTS,1,1,720,3.34,CRD,12.5 +VTS,1,1,660,6.86,CSH,20.5 +VTS,1,6,600,2.18,CRD,9.5 +VTS,1,6,600,3.17,CRD,11.5 +VTS,1,6,720,4.39,CRD,15.0 +VTS,1,6,360,1.12,CSH,6.0 +VTS,1,6,840,1.83,CSH,10.0 +VTS,1,6,600,0.78,CRD,7.5 +VTS,1,6,120,0.64,CSH,4.0 +VTS,1,6,1620,6.38,CRD,23.0 +VTS,1,6,1080,8.52,CSH,25.5 +VTS,1,6,420,0.87,CRD,6.5 +VTS,1,6,240,1.26,CRD,5.5 +VTS,1,6,420,2.03,CRD,8.0 +VTS,1,6,300,1.18,CSH,6.0 +VTS,1,6,600,1.23,CSH,8.0 +VTS,1,6,240,0.88,CRD,5.0 +VTS,1,6,480,1.26,CRD,7.5 +VTS,1,6,300,0.81,CSH,5.0 +VTS,1,6,660,1.74,CSH,9.0 +VTS,1,6,240,0.77,CRD,5.0 +VTS,1,6,780,1.54,CSH,9.5 +VTS,1,6,540,1.15,CSH,7.0 +VTS,1,6,540,1.51,CRD,8.0 +VTS,1,6,780,2.67,CRD,11.5 +VTS,1,6,1260,5.8,CRD,19.5 +VTS,1,6,300,0.74,CSH,5.0 +VTS,1,6,840,3.13,CRD,12.5 +VTS,1,6,600,2.47,CSH,10.0 +VTS,1,6,180,0.36,CSH,4.0 +VTS,1,6,300,0.67,CSH,5.0 +VTS,1,6,540,2.04,CSH,9.0 +VTS,1,6,420,1.22,CSH,7.0 +VTS,1,6,600,1.81,CRD,9.0 +VTS,1,6,300,0.93,CRD,6.0 +VTS,1,6,360,0.86,CSH,5.5 +VTS,1,6,600,1.72,CRD,8.5 +VTS,1,6,960,3.3,CRD,13.5 +VTS,1,6,240,1.26,CSH,5.5 +VTS,1,6,1380,5.46,CSH,19.0 +VTS,1,6,480,0.86,CSH,6.5 +VTS,1,5,600,1.87,CRD,9.0 +VTS,1,6,180,0.5,CSH,4.5 +VTS,1,5,1260,6.19,CRD,20.0 +VTS,1,3,1020,1.47,CSH,11.5 +VTS,1,6,2280,3.13,CSH,22.5 +VTS,1,5,1500,2.43,CSH,16.0 +VTS,1,4,840,1.44,CRD,10.5 +VTS,1,6,180,0.58,CSH,4.5 +VTS,1,6,1020,3.97,CRD,15.0 +VTS,1,5,1560,4.52,CRD,20.0 +VTS,1,6,600,1.68,CRD,8.5 +VTS,1,6,360,1.6,CRD,7.5 +VTS,1,6,300,0.87,CRD,5.5 +VTS,1,5,300,1.15,CRD,5.5 +VTS,1,5,540,1.84,CSH,9.0 +VTS,1,6,1020,2.42,CSH,12.5 +VTS,1,4,960,2.57,CRD,12.0 +VTS,1,5,1440,10.36,CRD,30.0 +VTS,1,6,1440,9.52,CRD,29.0 +CMT,1,1,214,0.7,CSH,5.0 +CMT,1,1,551,2.0,CRD,9.0 +CMT,1,1,272,0.7,CSH,5.0 +CMT,1,1,771,2.2,CRD,10.5 +CMT,1,1,750,2.9,CRD,11.5 +CMT,1,1,532,0.9,CSH,7.5 +CMT,1,1,1172,3.0,CRD,14.5 +CMT,1,1,1138,3.5,CSH,15.0 +CMT,1,1,310,0.9,CSH,5.5 +CMT,1,1,583,1.7,CRD,8.5 +VTS,1,1,420,1.23,CRD,7.0 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,600,1.97,CSH,9.0 +VTS,1,1,1080,5.73,CRD,20.0 +VTS,1,1,540,1.29,CSH,7.5 +VTS,1,1,540,1.97,CSH,9.0 +VTS,1,1,780,2.43,CSH,11.5 +VTS,1,1,480,1.65,CSH,8.5 +VTS,1,1,960,8.1,CSH,24.5 +VTS,1,1,1200,7.98,CRD,26.0 +VTS,1,1,780,2.08,CRD,10.5 +VTS,1,1,360,1.71,CRD,7.0 +VTS,1,1,240,0.56,CRD,5.0 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,540,2.02,CRD,9.0 +VTS,1,6,300,1.21,CRD,6.0 +VTS,1,6,780,2.32,CSH,11.0 +VTS,1,6,480,1.27,CSH,7.5 +VTS,1,6,480,1.87,CSH,8.0 +VTS,1,6,180,0.66,CRD,4.5 +VTS,1,6,720,2.01,CRD,10.0 +VTS,1,6,360,1.15,CSH,6.5 +VTS,1,6,600,1.78,CSH,9.0 +VTS,1,6,480,1.03,CSH,7.0 +VTS,1,6,360,0.99,CRD,5.5 +VTS,1,6,120,0.67,CSH,4.0 +VTS,1,6,1200,2.22,CSH,13.5 +VTS,1,6,240,0.9,CRD,5.5 +VTS,1,6,600,2.11,CSH,9.5 +VTS,1,6,1020,3.19,CSH,13.5 +VTS,1,6,900,2.49,CSH,11.5 +VTS,1,6,360,1.72,CRD,7.5 +VTS,1,6,240,0.91,CSH,5.0 +VTS,1,6,480,0.88,CSH,6.5 +VTS,1,6,900,3.45,CSH,13.0 +VTS,1,6,840,2.78,CRD,11.5 +VTS,1,4,540,1.66,CSH,8.5 +VTS,1,6,900,3.21,CRD,13.0 +VTS,1,4,600,2.49,CRD,10.0 +VTS,1,5,600,2.48,CRD,10.5 +VTS,1,3,780,5.36,CRD,17.5 +VTS,1,5,540,1.18,CSH,8.0 +VTS,1,6,240,1.12,CSH,5.5 +VTS,1,6,1380,5.84,CRD,21.5 +VTS,1,6,840,3.21,CRD,12.5 +VTS,1,1,480,2.43,CRD,9.5 +VTS,1,1,480,1.86,CSH,8.5 +VTS,1,1,660,2.34,CSH,10.5 +VTS,1,6,660,2.12,CSH,9.5 +VTS,1,6,240,0.84,CRD,5.0 +VTS,1,6,240,0.98,CSH,5.0 +VTS,1,6,240,0.5,CSH,4.0 +VTS,1,6,1920,3.9,CRD,20.5 +VTS,1,6,480,1.5,CRD,7.5 +VTS,1,6,780,1.92,CRD,10.0 +VTS,1,6,600,1.71,CSH,9.0 +VTS,1,6,660,1.73,CRD,9.5 +VTS,1,6,660,2.24,CRD,9.5 +VTS,1,6,1080,2.61,CSH,13.0 +VTS,1,6,660,2.72,CSH,10.5 +VTS,1,6,1320,6.66,CRD,21.5 +VTS,1,6,1320,3.01,CSH,15.5 +VTS,1,6,780,5.28,CSH,17.0 +VTS,1,6,1740,4.63,CSH,20.5 +VTS,1,6,720,1.95,CSH,9.5 +VTS,1,6,480,1.36,CRD,7.5 +VTS,2,6,2280,20.34,CRD,52.0 +VTS,1,6,540,1.62,CRD,8.0 +VTS,1,4,840,1.78,CRD,10.5 +VTS,1,6,300,1.09,CRD,5.5 +VTS,1,6,840,2.32,CSH,11.5 +VTS,1,6,540,0.94,CRD,7.0 +VTS,1,6,780,1.28,CSH,9.0 +VTS,1,6,300,0.75,CSH,5.0 +VTS,1,5,360,0.86,CSH,5.5 +VTS,1,6,600,1.04,CSH,7.5 +VTS,1,5,780,3.62,CSH,13.5 +VTS,1,6,420,1.38,CSH,7.0 +VTS,1,2,120,0.28,CSH,3.0 +VTS,1,6,300,0.47,CRD,4.5 +VTS,1,4,420,1.14,CRD,7.0 +VTS,1,5,180,0.74,CRD,4.5 +VTS,1,6,1200,2.41,CRD,13.5 +VTS,1,6,780,1.91,CRD,10.0 +VTS,1,6,480,0.89,CSH,6.5 +VTS,1,5,540,2.04,CRD,9.0 +VTS,1,5,660,1.32,CRD,8.5 +VTS,1,5,1620,3.41,CRD,18.5 +VTS,1,5,1020,1.92,CRD,11.5 +VTS,1,6,60,0.02,CSH,3.0 +VTS,1,5,1020,2.85,CRD,13.5 +VTS,1,5,840,3.21,CRD,13.0 +VTS,1,6,420,0.94,CRD,6.5 +VTS,1,4,300,1.16,CRD,6.0 +VTS,1,6,1080,3.58,CRD,15.0 +VTS,1,6,720,2.06,CSH,10.0 +VTS,1,6,420,0.96,CRD,6.5 +VTS,1,6,1080,4.18,CSH,16.0 +VTS,1,6,300,1.07,CSH,5.5 +VTS,1,6,480,0.96,CSH,6.5 +VTS,1,6,480,1.16,CSH,7.0 +VTS,1,6,360,0.8,CRD,6.0 +VTS,1,3,660,1.72,CRD,9.5 +VTS,1,6,300,0.56,CSH,5.0 +VTS,1,4,480,5.61,CSH,16.5 +VTS,1,5,840,2.56,CRD,11.5 +VTS,1,6,840,0.96,CRD,9.5 +VTS,1,6,720,1.78,CRD,9.5 +VTS,1,5,300,0.75,CSH,5.0 +VTS,1,6,120,0.45,CSH,3.5 +VTS,1,4,780,2.99,CSH,12.0 +VTS,1,5,420,1.24,CRD,7.0 +VTS,1,4,480,1.88,CRD,8.0 +VTS,1,6,960,1.75,CSH,11.0 +VTS,1,5,480,1.93,CRD,8.0 +VTS,1,5,300,0.94,CSH,5.5 +VTS,1,3,1200,1.74,CSH,12.5 +VTS,1,4,840,2.26,CRD,11.0 +VTS,1,6,1080,1.86,CRD,11.5 +VTS,1,4,660,2.38,CSH,10.5 +VTS,1,6,480,1.06,CSH,6.5 +VTS,1,6,3720,9.51,CRD,41.5 +VTS,1,6,420,1.68,CRD,7.5 +VTS,1,6,420,1.58,CRD,7.0 +VTS,1,6,360,1.5,CRD,7.0 +VTS,1,6,660,2.48,CRD,10.0 +VTS,1,6,540,1.14,CSH,7.5 +VTS,1,6,180,0.01,CSH,3.5 +VTS,1,6,1020,1.67,CSH,11.5 +VTS,1,6,1020,2.67,CSH,13.0 +VTS,1,4,540,2.22,CRD,9.5 +VTS,1,6,240,1.08,CRD,6.0 +VTS,1,3,540,2.03,CRD,8.5 +VTS,1,5,240,0.73,CSH,4.5 +VTS,1,3,1020,2.09,CRD,12.0 +VTS,1,6,1020,3.36,CSH,14.0 +VTS,1,6,600,1.73,CSH,8.5 +VTS,1,6,1020,3.69,CSH,14.5 +VTS,1,3,480,1.09,CRD,7.0 +VTS,1,5,540,1.0,CSH,7.0 +VTS,1,6,300,0.8,CRD,5.0 +VTS,1,3,900,3.75,CRD,14.0 +VTS,1,5,540,2.75,CRD,10.5 +VTS,1,6,780,1.64,CSH,9.5 +VTS,1,4,420,0.8,CSH,6.0 +VTS,1,3,300,0.8,CSH,5.5 +VTS,1,4,480,1.85,CSH,8.5 +VTS,1,6,360,1.05,CSH,6.0 +VTS,1,6,240,0.58,CSH,4.5 +VTS,1,6,1080,2.83,CRD,14.0 +VTS,1,6,540,2.19,CSH,9.0 +VTS,1,6,1560,3.6,CRD,17.5 +VTS,1,6,300,0.73,CSH,5.0 +VTS,1,5,300,1.46,CSH,7.0 +VTS,1,6,360,1.34,CRD,7.0 +VTS,1,6,360,0.93,CSH,5.5 +VTS,1,6,1080,2.32,CRD,12.5 +VTS,1,6,1620,6.18,CRD,22.5 +VTS,1,6,1140,3.99,CSH,12.5 +VTS,1,6,540,2.48,CRD,9.0 +VTS,1,6,540,2.3,CRD,9.5 +VTS,1,4,120,0.25,CRD,3.5 +VTS,1,6,240,1.19,CRD,6.0 +VTS,1,6,540,2.15,CSH,9.0 +VTS,1,6,240,1.07,CSH,5.0 +VTS,1,6,300,1.23,CRD,6.0 +VTS,1,3,360,0.83,CRD,5.5 +VTS,1,3,240,0.55,CSH,4.5 +VTS,1,3,2400,9.49,CSH,33.5 +VTS,1,6,420,1.79,CSH,8.0 +VTS,1,6,960,2.05,CRD,11.5 +VTS,1,3,300,1.66,CSH,6.5 +VTS,1,5,540,1.19,CRD,7.5 +VTS,1,6,1020,2.31,CRD,13.0 +VTS,1,6,840,1.98,CRD,10.0 +VTS,1,4,240,0.93,CSH,5.0 +VTS,1,4,240,0.13,CSH,4.5 +VTS,1,6,660,1.68,CSH,9.5 +VTS,1,6,960,1.29,CRD,11.0 +VTS,1,6,960,1.24,CSH,10.5 +VTS,1,6,660,1.2,CRD,8.5 +VTS,1,5,480,0.88,CRD,6.5 +VTS,1,5,540,1.72,CRD,8.0 +VTS,1,6,600,2.6,CSH,10.0 +VTS,1,6,1200,2.47,CRD,13.5 +VTS,1,4,480,1.98,CSH,8.0 +VTS,1,6,540,1.92,CRD,9.0 +VTS,1,5,480,1.7,CSH,8.0 +VTS,1,5,540,1.13,CSH,7.0 +VTS,1,6,1020,1.99,CRD,11.5 +VTS,1,6,720,1.24,CRD,9.0 +VTS,1,4,360,0.82,CSH,5.5 +VTS,1,6,180,0.9,CSH,5.0 +VTS,1,4,180,0.38,CRD,4.0 +VTS,1,6,300,0.85,CRD,5.5 +VTS,1,6,1440,13.16,CSH,37.0 +VTS,1,6,1140,7.98,CRD,24.5 +VTS,1,6,1020,3.87,CSH,16.0 +VTS,1,6,660,3.21,CRD,11.5 +VTS,1,4,780,2.96,CSH,12.0 +VTS,1,5,1080,2.2,CRD,12.5 +VTS,1,4,360,1.44,CRD,7.0 +VTS,1,6,540,3.68,CRD,12.0 +VTS,1,6,1020,3.59,CRD,14.5 +VTS,1,5,1260,6.66,CRD,22.5 +VTS,1,4,780,1.73,CRD,9.5 +VTS,1,5,420,1.61,CRD,7.0 +VTS,1,6,1500,3.27,CRD,17.0 +VTS,1,6,480,1.19,CSH,7.0 +VTS,1,4,1560,4.42,CRD,18.5 +VTS,1,6,900,3.38,CRD,12.5 +VTS,1,4,720,2.3,CSH,11.0 +VTS,1,3,660,0.82,CSH,8.0 +VTS,1,4,660,1.29,CRD,8.5 +VTS,1,5,1920,2.87,CRD,19.5 +VTS,1,4,1200,1.93,CRD,13.0 +VTS,1,5,1080,4.63,CRD,17.0 +VTS,1,4,480,1.26,CRD,7.0 +VTS,1,6,2220,7.22,CSH,24.0 +VTS,1,6,360,1.0,CSH,6.0 +VTS,1,5,180,0.3,CSH,4.0 +VTS,1,5,1200,1.46,CRD,13.0 +VTS,1,3,360,1.91,CSH,8.0 +VTS,1,3,420,2.2,CRD,8.5 +VTS,1,3,300,1.68,CRD,7.0 +VTS,1,5,240,0.78,CRD,4.5 +VTS,1,4,120,0.22,CSH,3.5 +VTS,1,5,180,0.47,CRD,4.0 +VTS,1,5,1140,2.41,CSH,13.5 +VTS,1,5,780,3.76,CSH,13.5 +VTS,1,5,1260,3.91,CSH,17.0 +VTS,1,4,540,1.51,CSH,8.5 +VTS,1,6,1080,1.94,CRD,12.0 +VTS,1,6,900,5.0,CRD,17.0 +VTS,1,6,120,0.54,CRD,4.0 +VTS,1,6,600,1.69,CSH,8.5 +VTS,1,6,420,2.07,CRD,8.5 +VTS,1,3,240,0.91,CSH,5.0 +VTS,1,3,840,2.48,CRD,11.0 +VTS,3,2,2040,17.49,CSH,68.0 +VTS,1,2,1020,4.4,CSH,16.0 +VTS,1,3,600,3.55,CRD,12.5 +VTS,1,3,360,2.45,CSH,8.5 +VTS,1,3,300,0.68,CRD,5.0 +VTS,1,3,1260,8.08,CSH,25.5 +VTS,1,3,180,1.12,CSH,5.0 +VTS,1,3,300,2.14,CSH,8.0 +VTS,1,3,300,1.86,CRD,7.0 +VTS,1,3,120,0.55,CSH,4.0 +VTS,1,4,600,3.93,CSH,14.0 +VTS,1,3,360,1.47,CRD,7.0 +VTS,1,6,2040,3.85,CSH,21.5 +VTS,1,6,480,1.57,CSH,8.0 +VTS,1,6,1680,10.2,CSH,32.0 +VTS,1,6,780,2.26,CRD,10.5 +VTS,1,6,780,2.55,CRD,11.5 +VTS,1,6,1080,2.44,CRD,13.0 +VTS,1,6,720,1.83,CRD,9.5 +VTS,1,6,1140,4.17,CRD,16.0 +VTS,1,6,420,1.32,CSH,7.0 +VTS,1,6,240,1.43,CSH,6.0 +VTS,1,6,660,2.08,CSH,10.0 +VTS,1,6,540,2.53,CSH,10.0 +VTS,1,6,360,1.65,CSH,7.0 +VTS,1,6,660,1.33,CSH,9.0 +VTS,1,6,1020,3.54,CSH,15.0 +VTS,1,6,360,1.31,CSH,6.5 +VTS,1,6,180,1.04,CSH,5.5 +VTS,1,6,240,0.86,CRD,5.0 +VTS,1,6,1080,2.26,CSH,12.5 +VTS,1,6,420,0.9,CSH,6.5 +VTS,1,4,1380,4.45,CRD,18.0 +VTS,1,6,60,0.31,CSH,3.5 +VTS,1,4,480,1.05,CSH,7.0 +VTS,1,6,180,0.96,CSH,5.0 +VTS,1,5,1800,2.59,CSH,19.0 +VTS,1,6,960,3.74,CRD,14.5 +VTS,1,6,1320,2.73,CRD,15.5 +VTS,1,6,240,0.87,CRD,5.0 +VTS,1,6,840,1.46,CRD,9.5 +VTS,1,6,720,1.84,CRD,9.5 +VTS,1,6,420,0.81,CSH,6.0 +VTS,1,4,360,0.84,CRD,6.0 +VTS,1,5,420,1.24,CSH,6.5 +VTS,1,6,1020,2.35,CRD,12.5 +VTS,1,6,1260,3.69,CRD,16.5 +VTS,1,5,900,2.04,CSH,11.0 +VTS,1,6,180,0.42,CSH,4.0 +VTS,1,4,600,0.85,CRD,7.5 +VTS,1,5,600,1.7,CRD,8.5 +VTS,1,6,600,1.15,CSH,7.5 +VTS,1,4,540,0.96,CRD,7.5 +VTS,1,4,60,0.22,CSH,3.0 +VTS,1,6,1260,2.79,CSH,9.5 +VTS,1,6,540,1.41,CSH,8.0 +VTS,1,6,720,3.42,CRD,12.5 +VTS,1,4,480,1.67,CSH,8.0 +VTS,1,3,1140,2.86,CSH,14.0 +VTS,1,3,1020,6.7,CSH,21.5 +VTS,1,3,660,1.74,CSH,9.0 +VTS,1,3,480,1.02,CSH,6.5 +VTS,1,3,840,4.94,CRD,16.0 +VTS,1,2,300,1.69,CSH,7.0 +VTS,1,3,780,4.97,CRD,16.0 +VTS,1,3,300,1.87,CRD,7.0 +VTS,1,3,720,2.36,CRD,10.5 +VTS,1,3,420,1.42,CSH,7.0 +VTS,1,3,300,0.85,CSH,5.0 +VTS,1,3,840,1.99,CRD,10.5 +VTS,1,2,360,1.38,CRD,7.0 +VTS,1,4,720,3.91,CRD,13.5 +VTS,1,3,480,2.03,CSH,8.5 +VTS,1,3,1020,4.73,CRD,17.0 +VTS,1,3,120,0.4,CRD,4.0 +VTS,1,3,120,0.4,CSH,3.5 +VTS,1,3,180,0.35,CRD,3.5 +VTS,1,3,300,0.57,CRD,5.0 +VTS,1,3,300,0.79,CSH,5.0 +VTS,1,3,240,0.94,CRD,5.5 +VTS,1,3,540,1.54,CSH,8.5 +VTS,1,3,420,0.86,CSH,6.5 +VTS,1,3,180,0.56,CSH,4.0 +VTS,1,3,1260,2.41,CRD,14.5 +VTS,1,4,720,4.58,CRD,14.5 +VTS,1,3,600,1.27,CRD,8.5 +VTS,1,3,120,0.78,CSH,4.0 +VTS,1,3,720,2.94,CRD,11.5 +VTS,1,4,1920,7.72,CRD,28.0 +VTS,1,3,420,1.2,CSH,7.0 +VTS,1,4,240,0.73,CSH,5.0 +VTS,1,6,1020,7.21,CRD,22.5 +VTS,1,5,480,1.72,CRD,8.0 +VTS,1,5,540,1.66,CRD,8.5 +VTS,1,6,180,0.79,CSH,4.5 +VTS,1,3,360,1.2,CRD,6.5 +VTS,1,3,360,1.97,CRD,8.0 +VTS,1,3,180,0.78,CSH,4.5 +VTS,1,4,540,2.2,CSH,9.5 +VTS,1,3,900,3.22,CSH,11.5 +VTS,1,3,420,1.65,CSH,7.5 +VTS,1,3,360,1.13,CSH,6.5 +VTS,1,3,240,0.8,CSH,5.0 +VTS,1,3,420,1.38,CRD,7.5 +VTS,1,3,660,2.95,CSH,11.5 +VTS,1,3,300,1.01,CSH,6.0 +VTS,1,3,900,6.14,CSH,19.0 +VTS,1,3,780,7.62,CRD,22.5 +VTS,1,2,420,1.22,CSH,7.0 +VTS,1,3,540,2.05,CSH,9.5 +VTS,1,2,240,1.05,CRD,5.5 +VTS,1,3,360,0.81,CRD,6.0 +VTS,2,3,1980,17.32,CSH,52.0 +VTS,1,3,900,2.39,CSH,11.5 +VTS,1,2,360,1.1,CSH,6.5 +VTS,1,2,780,1.77,CRD,10.5 +VTS,1,6,360,0.56,CRD,5.5 +VTS,1,6,180,0.77,CSH,4.5 +VTS,1,6,960,5.63,CSH,17.5 +VTS,1,6,540,3.76,CSH,12.5 +VTS,1,6,180,0.55,CRD,4.5 +VTS,1,6,1440,11.13,CSH,33.0 +VTS,1,6,600,2.33,CSH,10.0 +VTS,1,6,900,4.52,CRD,16.5 +VTS,1,3,60,0.63,CSH,4.0 +VTS,1,3,180,0.82,CSH,4.5 +VTS,1,3,600,1.81,CRD,9.0 +VTS,1,3,480,0.84,CRD,7.0 +VTS,1,3,1080,5.53,CRD,19.5 +VTS,1,3,720,1.89,CRD,10.0 +VTS,1,3,480,1.63,CRD,8.5 +VTS,1,3,360,2.25,CRD,8.5 +VTS,1,3,660,3.77,CRD,12.5 +VTS,1,3,300,1.55,CRD,7.0 +VTS,1,2,300,1.5,CSH,6.5 +VTS,1,2,420,1.7,CRD,8.0 +VTS,1,3,3360,19.44,CSH,54.5 +VTS,1,3,2280,19.68,CRD,54.0 +VTS,1,3,120,0.52,CSH,4.0 +VTS,1,3,540,2.02,CRD,9.0 +VTS,1,3,1200,2.78,CRD,14.5 +VTS,1,3,480,1.31,CSH,7.5 +VTS,1,6,600,1.15,CSH,7.5 +VTS,1,4,1500,4.73,CRD,19.0 +VTS,1,6,300,0.66,CSH,5.5 +VTS,1,6,420,1.86,CRD,8.0 +VTS,1,6,600,1.99,CSH,9.0 +VTS,1,6,720,1.35,CRD,9.0 +VTS,1,6,540,0.85,CSH,7.0 +VTS,1,4,540,1.58,CRD,8.5 +VTS,1,5,540,1.89,CRD,9.0 +VTS,1,5,240,0.76,CRD,5.0 +VTS,1,4,420,0.86,CRD,5.5 +VTS,1,5,360,1.49,CRD,7.0 +VTS,1,6,480,0.78,CSH,6.5 +VTS,1,6,480,1.44,CSH,7.5 +VTS,1,5,60,0.4,CSH,3.5 +VTS,1,5,300,1.08,CRD,5.5 +VTS,1,5,540,1.48,CRD,8.0 +VTS,1,2,900,2.88,CRD,12.5 +VTS,1,4,300,0.86,CSH,5.0 +VTS,1,5,600,1.81,CRD,9.0 +VTS,1,6,120,0.66,CSH,4.0 +VTS,1,6,600,2.25,CRD,10.0 +VTS,1,6,300,0.96,CRD,5.5 +VTS,1,3,540,2.16,CSH,9.0 +VTS,1,3,240,0.72,CSH,5.0 +VTS,1,3,480,3.66,CRD,11.5 +VTS,1,6,120,0.13,CSH,3.0 +VTS,1,6,600,1.92,CRD,9.0 +VTS,1,6,720,1.43,CSH,9.0 +VTS,1,6,780,1.74,CRD,9.5 +VTS,1,6,600,1.09,CRD,7.5 +VTS,1,6,2220,10.79,CSH,34.5 +VTS,1,6,420,0.91,CSH,6.0 +VTS,1,6,420,0.53,CSH,6.0 +VTS,1,6,420,1.11,CSH,7.0 +VTS,1,6,240,1.15,CSH,5.5 +VTS,1,6,480,0.93,CSH,6.5 +VTS,1,6,1140,4.59,CSH,17.5 +VTS,1,6,420,1.44,CSH,6.5 +VTS,1,5,240,0.85,CSH,4.5 +VTS,1,6,300,0.78,CSH,5.5 +VTS,1,6,420,1.44,CSH,7.0 +VTS,1,6,540,0.98,CRD,7.0 +VTS,1,4,720,4.0,CRD,13.0 +VTS,1,3,600,1.94,CSH,9.0 +VTS,1,4,840,2.4,CRD,11.5 +VTS,1,4,720,1.69,CSH,9.5 +VTS,1,5,900,1.48,CSH,10.0 +VTS,1,6,900,3.88,CSH,15.0 +VTS,1,6,720,5.68,CSH,17.5 +VTS,1,6,720,2.68,CSH,11.5 +VTS,1,4,720,2.23,CRD,10.0 +VTS,1,4,600,1.24,CSH,8.0 +VTS,1,3,360,1.19,CRD,6.5 +VTS,1,3,240,0.52,CRD,4.5 +VTS,1,3,120,0.53,CSH,4.0 +VTS,1,3,660,2.35,CRD,10.5 +VTS,1,3,1020,3.23,CSH,14.0 +VTS,1,4,360,2.16,CSH,8.0 +VTS,1,3,300,1.53,CSH,7.0 +VTS,1,3,1020,3.03,CRD,14.0 +VTS,1,2,420,1.12,CRD,7.0 +VTS,1,3,300,1.66,CSH,7.0 +VTS,1,2,480,1.0,CRD,7.0 +VTS,1,3,840,8.95,CRD,25.5 +VTS,1,3,240,0.7,CSH,5.0 +VTS,1,3,480,2.31,CRD,9.0 +VTS,1,2,1140,2.24,CRD,13.0 +VTS,1,2,600,1.48,CSH,8.5 +VTS,1,3,300,1.21,CSH,6.5 +VTS,1,3,420,2.83,CSH,9.5 +VTS,1,3,180,0.58,CSH,4.5 +VTS,1,3,300,0.76,CSH,5.5 +VTS,1,4,300,2.13,CSH,7.5 +VTS,1,3,480,1.02,CSH,7.5 +VTS,1,3,1800,10.91,CSH,34.0 +VTS,1,3,1260,2.62,CRD,14.5 +VTS,1,4,1800,7.0,CRD,27.0 +VTS,1,3,180,1.48,CRD,6.0 +VTS,1,3,360,0.82,CSH,5.5 +VTS,1,3,240,0.55,CSH,4.5 +VTS,1,4,1500,3.78,CSH,18.0 +VTS,1,3,900,3.22,CRD,13.0 +VTS,1,3,780,5.62,CSH,18.0 +VTS,1,3,540,1.87,CRD,8.5 +VTS,1,3,300,0.89,CSH,5.5 +VTS,1,3,300,1.16,CSH,6.0 +VTS,1,2,240,0.9,CRD,5.5 +VTS,1,4,420,1.36,CSH,7.0 +VTS,1,3,480,2.15,CSH,9.0 +VTS,1,3,540,1.74,CRD,8.5 +VTS,1,3,600,1.24,CRD,8.0 +VTS,1,3,420,1.43,CSH,7.0 +VTS,1,2,660,3.56,CSH,12.5 +VTS,1,3,720,2.89,CRD,12.0 +VTS,1,2,960,2.53,CRD,12.5 +VTS,1,3,360,1.19,CRD,6.0 +VTS,1,3,540,1.38,CSH,7.5 +VTS,1,3,180,0.51,CSH,4.5 +VTS,1,4,420,0.89,CRD,6.0 +VTS,1,3,300,1.0,CRD,5.5 +VTS,1,3,240,0.66,CSH,5.0 +VTS,2,3,2640,20.27,CRD,52.0 +VTS,1,3,480,1.33,CSH,7.5 +VTS,1,4,360,1.03,CSH,6.0 +VTS,1,6,900,2.46,CRD,12.0 +VTS,1,5,180,0.24,CSH,4.0 +VTS,1,6,540,4.45,CRD,14.0 +VTS,1,5,180,0.58,CSH,4.0 +VTS,1,6,240,1.0,CSH,5.0 +VTS,1,6,420,0.78,CSH,6.0 +VTS,1,5,300,0.9,CRD,5.5 +VTS,1,6,900,2.89,CSH,12.0 +VTS,1,5,60,0.31,CRD,3.0 +VTS,1,6,900,2.09,CRD,10.5 +VTS,1,5,600,1.2,CSH,8.0 +VTS,1,4,840,3.91,CSH,14.0 +VTS,1,6,240,0.49,CRD,4.5 +VTS,1,3,360,0.96,CRD,5.5 +VTS,1,5,180,0.22,CSH,3.5 +VTS,1,4,1260,0.92,CSH,13.5 +VTS,1,4,720,2.21,CRD,10.0 +VTS,1,4,720,2.62,CSH,10.5 +VTS,1,6,540,2.01,CSH,9.0 +VTS,1,4,60,0.13,CSH,3.0 +VTS,1,3,1020,3.0,CRD,13.5 +VTS,1,4,1380,3.69,CSH,16.5 +VTS,1,6,300,0.95,CRD,5.5 +VTS,1,5,900,3.43,CSH,13.5 +VTS,1,6,780,1.02,CSH,9.5 +VTS,1,3,1200,5.99,CSH,20.0 +VTS,1,3,660,1.45,CRD,9.0 +VTS,1,3,420,1.23,CSH,7.0 +VTS,1,3,300,1.24,CSH,6.0 +VTS,1,3,180,0.61,CRD,4.0 +VTS,1,3,240,1.29,CSH,6.0 +VTS,1,3,120,0.42,CRD,3.5 +VTS,1,3,660,1.38,CSH,8.0 +VTS,1,3,360,2.55,CRD,9.0 +VTS,1,3,300,1.19,CSH,6.0 +VTS,1,2,420,3.09,CRD,10.0 +VTS,1,3,420,1.96,CRD,8.5 +VTS,1,3,600,1.43,CRD,8.0 +VTS,1,3,720,2.1,CSH,10.5 +VTS,1,2,1860,8.91,CRD,30.5 +VTS,1,3,540,1.82,CSH,9.0 +VTS,1,2,420,1.87,CRD,7.5 +VTS,1,3,840,4.47,CRD,15.5 +VTS,1,2,180,0.62,CSH,4.5 +VTS,1,3,240,1.03,CRD,5.5 +VTS,1,3,420,1.44,CSH,7.5 +VTS,1,3,540,4.2,CSH,13.0 +VTS,1,3,480,1.71,CRD,8.5 +VTS,1,3,300,0.7,CSH,5.5 +VTS,1,3,960,1.81,CRD,11.0 +VTS,1,3,360,2.09,CRD,8.0 +VTS,1,3,2460,8.42,CSH,27.0 +VTS,1,3,420,1.43,CSH,7.0 +VTS,1,3,900,7.84,CRD,23.5 +VTS,1,3,180,0.78,CRD,5.0 +VTS,1,4,480,1.91,CSH,8.5 +VTS,1,3,1560,3.65,CRD,17.5 +VTS,1,2,540,1.74,CSH,8.0 +VTS,1,3,240,1.09,CSH,5.5 +VTS,1,3,1020,3.3,CRD,14.0 +VTS,1,3,480,1.12,CSH,7.0 +VTS,1,2,1500,7.1,CRD,25.0 +VTS,1,1,240,0.84,CSH,5.0 +VTS,1,2,1080,2.27,CRD,13.0 +VTS,1,2,840,1.54,CRD,11.0 +VTS,1,3,660,2.77,CSH,11.5 +VTS,1,3,300,0.49,CSH,4.5 +VTS,1,4,240,0.86,CSH,5.5 +VTS,1,3,660,4.05,CSH,13.5 +VTS,1,3,600,2.95,CSH,11.0 +VTS,1,3,120,0.63,CSH,4.0 +VTS,1,3,780,2.36,CSH,11.5 +VTS,1,3,1560,11.51,CSH,35.0 +VTS,1,3,120,0.65,CSH,4.0 +VTS,1,3,240,0.49,CSH,4.5 +VTS,1,3,300,1.71,CSH,7.0 +VTS,1,3,300,0.93,CSH,6.0 +VTS,1,3,780,3.4,CRD,13.0 +VTS,1,2,300,0.41,CSH,5.0 +VTS,1,2,360,0.78,CSH,6.0 +VTS,1,3,180,1.24,CRD,5.5 +VTS,1,3,840,1.94,CRD,10.5 +VTS,1,3,240,0.74,CSH,5.0 +VTS,1,3,480,0.98,CSH,7.0 +VTS,1,3,600,1.36,CSH,8.0 +VTS,1,3,1140,8.51,CSH,25.5 +VTS,1,3,300,0.81,CSH,6.0 +VTS,1,3,540,1.87,CSH,9.0 +VTS,1,3,600,1.8,CRD,8.5 +VTS,1,3,780,1.57,CRD,9.5 +VTS,1,3,540,0.83,CSH,7.0 +VTS,1,3,960,2.38,CRD,12.5 +VTS,1,3,300,0.68,CRD,5.0 +VTS,1,3,840,7.79,CSH,22.5 +VTS,1,3,1020,3.75,CRD,15.0 +VTS,1,3,180,0.76,CSH,4.5 +VTS,1,3,540,2.68,CSH,10.0 +VTS,1,3,240,0.58,CSH,4.5 +VTS,2,3,1260,16.53,CRD,52.0 +VTS,1,3,180,1.47,CRD,6.0 +VTS,1,2,600,3.42,CRD,11.5 +VTS,1,3,420,1.49,CRD,7.5 +VTS,1,3,420,1.57,CRD,7.5 +VTS,1,3,720,1.92,CSH,10.0 +VTS,1,3,240,0.59,CRD,5.0 +VTS,1,3,480,2.01,CSH,8.5 +VTS,1,3,540,1.32,CSH,7.5 +VTS,1,3,540,2.05,CRD,9.0 +VTS,1,3,720,2.97,CRD,12.5 +VTS,1,3,1140,8.38,CSH,25.5 +VTS,1,3,420,2.82,CRD,10.0 +VTS,1,4,720,3.5,CRD,13.0 +VTS,1,3,240,1.09,CSH,5.5 +VTS,1,3,660,2.43,CSH,10.5 +VTS,1,3,420,1.0,CSH,5.5 +VTS,1,3,240,0.54,CSH,4.5 +VTS,1,3,1260,8.3,CRD,25.5 +VTS,1,3,1080,6.93,CRD,20.5 +VTS,1,3,600,1.78,CRD,9.0 +VTS,1,4,840,2.24,CRD,11.5 +VTS,1,3,420,0.77,CSH,6.5 +VTS,1,3,300,0.95,CSH,5.5 +VTS,1,3,600,2.07,CRD,9.5 +VTS,1,3,960,4.4,CRD,15.0 +VTS,1,4,960,3.08,CRD,13.0 +VTS,1,3,660,1.28,CSH,8.5 +VTS,1,3,1200,8.48,CRD,25.5 +VTS,1,3,540,2.31,CRD,9.5 +VTS,1,4,240,0.8,CRD,4.5 +VTS,1,2,540,2.43,CSH,9.0 +VTS,1,2,600,2.8,CSH,10.5 +VTS,1,3,420,1.49,CSH,7.5 +VTS,1,3,360,0.72,CRD,5.5 +VTS,1,3,420,0.82,CSH,6.5 +VTS,1,2,1500,3.21,CSH,17.0 +VTS,1,2,660,1.34,CRD,8.5 +VTS,1,3,480,2.1,CSH,8.5 +VTS,1,3,660,1.68,CRD,9.0 +VTS,1,3,720,5.32,CRD,16.0 +VTS,1,3,180,0.99,CSH,5.0 +VTS,1,3,600,4.51,CRD,14.5 +VTS,1,3,660,2.37,CSH,10.5 +VTS,1,3,240,0.6,CRD,5.0 +VTS,1,2,540,1.4,CRD,8.0 +VTS,1,3,240,0.51,CRD,4.5 +VTS,1,4,540,1.56,CSH,8.0 +VTS,1,3,1500,4.64,CSH,20.0 +VTS,1,3,360,1.1,CSH,6.5 +VTS,1,3,240,0.58,CSH,4.5 +VTS,1,3,240,0.82,CSH,5.0 +VTS,1,3,840,1.55,CRD,10.0 +VTS,1,4,1020,2.95,CSH,11.0 +VTS,1,3,960,2.34,CRD,12.5 +VTS,1,3,360,0.96,CSH,6.0 +VTS,1,3,900,3.43,CSH,14.0 +VTS,1,3,600,2.02,CRD,9.5 +VTS,1,3,840,7.79,CRD,23.0 +VTS,1,3,180,0.71,CRD,4.5 +VTS,1,3,600,1.93,CRD,9.0 +VTS,1,3,1500,8.39,CRD,28.0 +VTS,1,4,360,1.09,CSH,6.0 +VTS,1,3,300,1.72,CRD,7.0 +VTS,1,3,180,0.48,CSH,4.5 +VTS,1,3,720,2.45,CRD,11.0 +VTS,1,3,600,1.72,CSH,8.5 +VTS,1,3,960,3.55,CRD,13.5 +VTS,1,4,480,0.57,CSH,6.0 +VTS,1,3,480,1.58,CRD,7.5 +VTS,1,3,780,4.24,CRD,14.5 +VTS,1,2,540,2.9,CRD,10.5 +VTS,1,3,1260,2.49,CRD,14.5 +VTS,1,3,120,0.42,CSH,3.5 +VTS,1,3,240,0.65,CSH,5.0 +VTS,1,3,300,2.01,CSH,7.5 +VTS,1,3,1200,5.41,CSH,18.5 +VTS,1,2,600,3.08,CRD,11.0 +VTS,1,3,120,0.37,CSH,3.5 +VTS,1,2,780,1.75,CRD,10.0 +VTS,1,3,120,0.4,CRD,3.5 +VTS,1,3,60,0.49,CSH,3.5 +VTS,1,3,600,1.67,CRD,9.0 +VTS,1,2,540,1.77,CRD,8.5 +VTS,1,3,180,0.96,CRD,5.0 +VTS,1,3,300,1.17,CRD,6.0 +VTS,1,3,240,1.22,CRD,6.0 +VTS,1,3,420,1.91,CSH,8.0 +VTS,1,3,660,2.05,CRD,10.0 +VTS,1,3,360,1.1,CRD,6.5 +VTS,1,4,360,1.06,CRD,6.0 +VTS,1,3,360,0.98,CSH,6.0 +VTS,1,3,360,1.31,CRD,7.0 +VTS,1,3,300,0.56,CSH,5.0 +VTS,1,3,420,0.9,CRD,6.0 +VTS,1,3,660,2.48,CSH,10.5 +VTS,1,3,120,0.55,CSH,4.0 +VTS,1,4,240,1.12,CSH,6.0 +VTS,1,3,480,1.96,CSH,8.5 +VTS,1,2,180,0.53,CRD,4.0 +VTS,1,3,960,2.44,CRD,12.0 +VTS,1,3,1080,3.21,CRD,13.5 +VTS,1,3,780,1.56,CSH,9.5 +VTS,1,3,540,0.95,CRD,7.0 +VTS,1,3,540,0.83,CRD,6.5 +VTS,1,3,720,2.16,CRD,10.5 +VTS,1,3,600,2.56,CSH,10.0 +VTS,2,3,2040,16.86,CRD,52.0 +VTS,1,3,120,0.33,CSH,3.5 +VTS,1,3,180,0.69,CSH,4.5 +VTS,1,2,660,2.09,CRD,9.5 +VTS,1,3,1020,2.38,CRD,12.5 +VTS,1,3,360,0.79,CRD,6.0 +VTS,1,3,240,0.82,CSH,5.5 +VTS,1,2,300,1.1,CSH,6.0 +VTS,1,3,360,1.61,CRD,7.5 +VTS,1,3,600,1.49,CSH,8.5 +VTS,1,3,600,3.0,CSH,10.5 +VTS,1,3,300,1.33,CRD,6.5 +VTS,1,3,360,2.66,CSH,9.0 +VTS,1,4,720,2.28,CSH,10.5 +VTS,1,3,1200,3.94,CSH,17.0 +VTS,1,3,420,0.9,CSH,6.5 +VTS,1,3,1260,2.81,CSH,15.0 +VTS,1,3,420,2.46,CRD,9.0 +VTS,1,3,480,2.54,CSH,10.0 +VTS,1,3,360,1.13,CRD,6.5 +VTS,1,3,840,2.32,CRD,10.5 +VTS,1,3,360,0.71,CSH,5.5 +VTS,1,3,780,2.27,CRD,11.0 +VTS,1,3,1200,2.35,CRD,14.0 +VTS,1,3,780,2.0,CSH,10.5 +VTS,1,3,840,1.17,CRD,9.5 +VTS,1,2,300,0.74,CSH,5.5 +VTS,1,3,1020,1.41,CRD,11.5 +VTS,1,6,360,1.67,CRD,7.0 +VTS,1,3,420,1.26,CRD,7.0 +VTS,1,3,600,1.18,CSH,8.0 +VTS,1,3,1020,1.62,CSH,11.0 +VTS,1,3,240,1.18,CRD,5.5 +VTS,1,3,180,0.9,CSH,5.0 +VTS,1,2,300,0.65,CSH,5.5 +VTS,1,3,1140,6.4,CRD,20.5 +VTS,1,2,600,1.41,CSH,8.0 +VTS,1,3,420,1.36,CRD,7.0 +VTS,1,3,420,1.83,CSH,8.0 +VTS,1,3,360,1.47,CSH,7.0 +VTS,1,3,840,4.18,CRD,14.5 +VTS,1,4,540,1.93,CSH,8.5 +VTS,1,3,420,2.16,CRD,8.5 +VTS,1,3,360,1.5,CSH,7.0 +VTS,1,4,600,3.46,CSH,11.5 +VTS,1,3,240,1.27,CSH,5.5 +VTS,1,3,360,1.86,CRD,7.5 +VTS,1,2,300,0.7,CRD,5.5 +VTS,1,2,660,2.21,CSH,9.5 +VTS,1,3,960,4.78,CRD,17.0 +VTS,1,3,900,6.01,CRD,19.5 +VTS,1,3,240,0.73,CSH,5.0 +VTS,1,3,960,2.59,CRD,13.0 +VTS,1,3,660,4.35,CRD,14.5 +VTS,1,3,480,0.84,CRD,7.0 +VTS,1,4,1020,1.75,CSH,11.5 +VTS,1,3,600,1.51,CSH,8.0 +VTS,1,3,1800,8.09,CRD,28.5 +VTS,1,3,420,1.3,CSH,7.5 +VTS,1,3,780,1.88,CRD,10.5 +VTS,1,3,600,1.24,CSH,8.0 +VTS,1,3,240,1.3,CRD,6.0 +VTS,1,3,360,0.76,CSH,6.0 +VTS,1,3,240,0.7,CSH,5.0 +VTS,1,3,720,2.07,CRD,10.5 +VTS,1,3,900,8.28,CRD,23.0 +VTS,1,3,360,1.32,CSH,6.5 +VTS,1,3,300,1.0,CSH,5.5 +VTS,1,3,1440,8.15,CRD,26.0 +VTS,1,3,1320,5.65,CRD,21.0 +VTS,1,3,1020,6.82,CSH,21.0 +VTS,1,3,840,6.13,CRD,19.5 +VTS,1,3,420,1.21,CSH,6.5 +VTS,1,2,720,1.49,CRD,10.0 +VTS,1,3,1080,11.27,CSH,31.5 +VTS,1,3,720,3.21,CRD,12.0 +VTS,1,3,1080,2.33,CSH,13.5 +VTS,1,3,240,0.64,CSH,4.5 +VTS,1,4,840,4.67,CSH,16.0 +VTS,1,3,660,1.55,CRD,9.0 +VTS,1,4,240,1.11,CSH,5.5 +VTS,1,3,960,2.97,CSH,13.0 +VTS,1,3,420,3.19,CSH,10.5 +VTS,1,3,420,1.73,CSH,7.5 +VTS,1,3,840,2.4,CSH,11.5 +VTS,1,4,780,3.03,CRD,12.5 +VTS,1,3,1020,4.11,CRD,15.5 +VTS,1,3,480,1.66,CSH,8.5 +VTS,1,4,1080,9.0,CSH,26.5 +VTS,1,3,660,3.06,CSH,10.5 +VTS,1,3,1680,4.73,CRD,21.5 +VTS,1,3,300,1.37,CSH,6.5 +VTS,1,4,60,0.33,CSH,3.0 +VTS,1,3,660,3.36,CRD,12.5 +VTS,1,3,960,2.74,CRD,13.0 +VTS,1,3,780,1.97,CRD,10.5 +VTS,1,3,1200,6.8,CRD,23.0 +VTS,1,4,1440,6.96,CRD,23.0 +VTS,1,3,1380,6.27,CSH,21.5 +VTS,1,4,660,3.71,CRD,13.0 +VTS,1,3,960,3.31,CRD,14.0 +VTS,1,3,2280,6.37,CSH,21.0 +VTS,1,4,660,1.6,CRD,9.0 +VTS,1,3,360,1.08,CSH,6.0 +VTS,1,3,420,1.45,CSH,7.0 +VTS,1,3,360,0.86,CSH,6.0 +VTS,1,3,1500,5.47,CRD,22.5 +VTS,1,3,1380,3.0,CRD,16.0 +VTS,1,3,600,1.35,CRD,8.0 +VTS,1,4,720,4.61,CSH,14.5 +VTS,1,3,600,2.81,CSH,11.5 +VTS,1,3,900,3.86,CRD,14.5 +VTS,1,4,480,2.32,CRD,9.0 +VTS,1,3,480,1.55,CSH,7.5 +VTS,1,3,420,1.06,CRD,6.0 +VTS,1,3,240,1.1,CRD,5.5 +VTS,1,3,900,2.43,CRD,12.5 +VTS,1,3,600,2.1,CSH,9.0 +VTS,1,3,180,0.39,CSH,4.0 +VTS,1,4,540,2.73,CRD,10.5 +VTS,1,4,840,1.51,CRD,10.0 +VTS,1,3,720,1.37,CSH,9.5 +VTS,1,3,60,0.52,CSH,3.5 +VTS,1,4,1380,2.64,CRD,15.5 +VTS,1,3,360,0.63,CSH,5.5 +VTS,1,3,780,1.91,CRD,10.5 +VTS,1,4,960,1.24,CRD,10.5 +VTS,1,4,1200,4.22,CRD,16.5 +VTS,1,4,600,3.5,CRD,13.0 +VTS,1,3,360,2.46,CRD,9.0 +VTS,1,3,360,1.69,CSH,8.0 +VTS,1,3,240,0.68,CSH,5.0 +VTS,1,4,240,1.11,CRD,5.5 +VTS,1,3,540,1.92,CSH,9.0 +VTS,1,4,120,0.36,CSH,4.0 +VTS,1,3,420,0.96,CSH,6.5 +VTS,1,3,360,1.2,CSH,6.5 +VTS,1,4,540,1.71,CRD,8.5 +VTS,1,3,360,0.73,CSH,5.5 +VTS,1,3,240,0.9,CSH,5.0 +VTS,1,3,300,1.42,CRD,6.5 +VTS,1,3,180,1.0,CSH,5.0 +VTS,1,3,1920,4.72,CRD,22.0 +VTS,1,3,780,2.27,CRD,11.0 +VTS,1,4,480,0.72,CSH,6.5 +VTS,1,4,420,1.0,CRD,7.0 +VTS,1,3,180,0.71,CRD,4.5 +VTS,1,3,60,0.41,CSH,3.5 +VTS,1,4,720,4.5,CRD,14.5 +VTS,1,3,300,1.54,CSH,7.0 +VTS,1,4,360,1.4,CRD,7.0 +VTS,1,3,360,0.77,CRD,5.5 +VTS,1,3,300,0.45,CRD,4.5 +VTS,1,4,300,1.75,CSH,7.0 +VTS,1,3,480,0.91,CSH,6.5 +VTS,1,4,1500,5.84,CRD,21.0 +VTS,1,3,960,4.07,CRD,15.0 +VTS,1,3,540,2.61,CRD,10.0 +VTS,1,2,1440,6.31,CSH,22.5 +VTS,1,3,660,2.3,CRD,10.0 +VTS,1,3,360,0.9,CSH,6.0 +VTS,1,3,660,0.84,CRD,8.0 +VTS,1,3,1800,4.23,CSH,21.0 +VTS,1,3,360,1.14,CSH,6.5 +VTS,1,3,300,2.0,CRD,7.5 +VTS,1,3,180,0.86,CSH,4.5 +VTS,1,3,300,1.27,CRD,6.0 +VTS,1,4,360,1.33,CRD,6.5 +VTS,1,4,480,0.82,CRD,6.5 +VTS,1,3,1080,3.22,CRD,15.0 +VTS,1,3,300,0.78,CSH,5.5 +VTS,1,4,600,1.58,CRD,8.0 +VTS,1,4,1140,3.12,CRD,14.5 +VTS,1,3,1380,2.4,CRD,15.0 +VTS,1,4,420,1.11,CSH,6.5 +VTS,2,3,1920,18.51,CRD,52.0 +VTS,1,4,840,2.14,CRD,10.5 +VTS,1,3,180,0.63,CSH,4.0 +VTS,1,3,180,0.56,CRD,4.0 +VTS,1,3,420,2.01,CRD,8.5 +VTS,1,3,360,0.78,CSH,5.5 +VTS,1,3,300,1.1,CRD,6.0 +VTS,1,4,180,0.96,CRD,5.0 +VTS,1,3,960,8.9,CRD,25.5 +VTS,1,3,1140,5.58,CSH,20.0 +VTS,1,3,1680,10.73,CSH,32.0 +VTS,1,3,600,2.7,CRD,10.5 +VTS,1,3,120,0.88,CRD,4.5 +VTS,1,3,420,1.44,CRD,7.0 +VTS,1,3,420,0.82,CSH,6.5 +VTS,1,4,840,6.15,CSH,18.5 +VTS,1,4,720,2.16,CSH,11.0 +VTS,1,3,300,0.85,CSH,5.5 +VTS,1,3,420,1.27,CRD,7.0 +VTS,1,4,1140,4.68,CRD,17.5 +VTS,1,3,1380,3.29,CRD,17.5 +VTS,1,3,660,1.2,CRD,8.0 +VTS,1,4,480,1.49,CSH,7.5 +VTS,1,3,540,1.24,CRD,8.0 +VTS,1,3,240,0.88,CSH,5.0 +VTS,1,3,180,0.9,CSH,5.0 +VTS,1,4,420,1.55,CRD,7.5 +VTS,1,3,300,1.3,CSH,6.5 +VTS,1,3,900,8.45,CRD,24.5 +VTS,1,3,720,3.21,CSH,12.0 +VTS,1,3,480,1.44,CRD,7.5 +VTS,1,3,180,0.52,CRD,4.0 +VTS,1,3,660,1.2,CSH,8.0 +VTS,1,3,900,2.2,CRD,11.5 +VTS,1,3,300,1.13,CSH,6.0 +VTS,1,3,480,1.6,CRD,7.5 +VTS,1,3,600,1.89,CRD,9.0 +VTS,1,3,1320,3.86,CRD,17.5 +VTS,1,3,600,1.73,CRD,9.0 +VTS,1,3,120,0.33,CSH,3.5 +VTS,1,3,960,2.88,CRD,13.0 +VTS,1,3,900,1.93,CRD,11.0 +VTS,1,3,480,0.96,CRD,7.0 +VTS,1,3,240,0.72,CRD,4.5 +VTS,1,3,900,1.47,CSH,11.0 +VTS,1,3,420,1.48,CSH,7.5 +VTS,1,3,540,1.35,CSH,7.5 +VTS,1,3,600,1.41,CRD,8.5 +VTS,1,4,600,1.59,CRD,8.0 +VTS,1,3,780,2.04,CSH,10.5 +VTS,1,3,720,4.11,CRD,14.0 +VTS,1,3,1200,3.16,CSH,14.5 +VTS,1,3,120,0.29,CSH,3.5 +VTS,1,3,780,1.61,CSH,9.5 +VTS,1,2,300,1.91,CRD,7.5 +VTS,1,4,600,3.95,CRD,13.5 +VTS,1,4,480,1.47,CSH,8.0 +VTS,1,3,360,1.32,CRD,6.5 +VTS,1,3,300,0.85,CSH,5.5 +VTS,1,4,420,1.82,CSH,7.5 +VTS,1,3,300,0.62,CRD,5.5 +VTS,1,4,1140,2.37,CSH,13.5 +VTS,1,3,1140,3.52,CSH,16.5 +VTS,1,3,600,1.35,CRD,8.5 +VTS,1,4,840,3.8,CRD,14.0 +VTS,1,4,1260,7.6,CRD,24.0 +VTS,1,3,60,0.37,CRD,3.5 +VTS,1,4,1200,1.9,CRD,13.0 +VTS,1,4,960,2.01,CRD,11.5 +VTS,1,4,900,1.7,CRD,11.0 +VTS,1,3,120,0.59,CRD,4.0 +VTS,1,3,300,0.78,CRD,5.5 +VTS,1,4,420,1.44,CSH,6.5 +VTS,1,4,300,0.84,CRD,5.5 +VTS,1,4,1020,2.7,CRD,13.0 +VTS,1,3,420,1.31,CSH,7.5 +VTS,1,3,540,2.38,CRD,10.0 +VTS,1,4,1140,3.18,CRD,14.5 +VTS,1,3,720,2.14,CSH,9.5 +VTS,1,4,720,2.63,CSH,11.5 +VTS,1,3,1860,4.58,CRD,21.5 +VTS,1,3,660,2.55,CSH,10.5 +VTS,1,3,240,0.95,CSH,5.0 +VTS,1,3,660,2.43,CSH,11.0 +VTS,1,3,780,2.42,CRD,11.5 +VTS,1,3,1020,7.75,CRD,23.0 +VTS,1,3,300,0.78,CRD,5.5 +VTS,1,3,960,2.16,CRD,12.0 +VTS,1,4,360,1.12,CRD,6.5 +VTS,1,4,300,0.99,CRD,6.0 +VTS,1,4,420,1.11,CRD,6.5 +VTS,1,4,1020,3.99,CRD,15.5 +VTS,1,3,1500,8.29,CSH,27.0 +VTS,1,3,480,1.06,CSH,7.0 +VTS,1,3,240,0.75,CRD,5.0 +VTS,1,3,660,1.27,CRD,8.5 +VTS,1,4,600,1.41,CSH,8.0 +VTS,2,3,1500,16.3,CSH,52.0 +VTS,1,4,300,1.17,CSH,6.0 +VTS,1,4,180,0.53,CRD,4.0 +VTS,1,4,840,3.86,CRD,14.5 +VTS,1,3,540,4.57,CRD,15.0 +VTS,1,4,840,4.27,CSH,15.0 +VTS,1,3,480,1.14,CRD,7.0 +VTS,1,3,1140,1.93,CRD,14.0 +VTS,1,3,1020,4.6,CRD,16.5 +VTS,1,5,720,4.24,CRD,14.5 +VTS,1,4,180,0.55,CSH,4.5 +VTS,1,5,300,2.38,CRD,8.0 +VTS,1,4,420,1.8,CSH,8.0 +VTS,1,6,540,2.14,CRD,9.0 +VTS,1,6,300,1.25,CRD,6.0 +VTS,1,6,1080,11.09,CSH,31.5 +VTS,1,3,900,3.19,CSH,13.5 +VTS,1,3,480,0.75,CSH,5.0 +VTS,1,3,120,0.13,CSH,3.0 +VTS,1,6,1200,9.45,CRD,28.0 +VTS,1,5,480,1.84,CRD,8.5 +VTS,1,6,540,1.83,CRD,9.0 +VTS,1,6,360,1.24,CSH,6.5 +VTS,1,6,240,0.84,CSH,5.0 +VTS,1,6,300,0.77,CSH,5.5 +VTS,1,5,120,0.39,CSH,4.0 +VTS,1,6,480,1.58,CSH,8.0 +VTS,1,1,360,1.8,CRD,7.0 +VTS,1,1,1080,4.33,CRD,17.0 +VTS,1,1,600,1.61,CSH,8.5 +VTS,1,1,720,2.47,CRD,10.5 +VTS,1,1,1740,4.79,CSH,20.0 +VTS,1,1,1560,11.55,CRD,35.0 +VTS,1,1,300,0.67,CRD,5.5 +VTS,1,1,360,1.44,CRD,7.0 +VTS,1,1,780,2.69,CRD,11.5 +VTS,1,6,660,1.56,CRD,9.0 +VTS,1,6,600,4.84,CSH,15.0 +VTS,1,6,360,1.46,CRD,7.0 +VTS,1,6,540,2.44,CRD,9.5 +VTS,1,6,780,2.53,CRD,11.5 +VTS,1,6,540,2.91,CSH,11.0 +VTS,1,3,240,0.8,CSH,5.0 +VTS,1,3,660,1.8,CSH,9.5 +VTS,1,3,1140,3.09,CRD,14.5 +VTS,1,3,300,0.98,CRD,5.5 +VTS,2,3,2640,17.83,CRD,52.0 +VTS,2,4,2520,17.45,CSH,52.0 +VTS,1,2,240,1.36,CSH,6.0 +VTS,1,3,360,2.24,CRD,8.5 +VTS,1,3,540,1.13,CSH,7.5 +VTS,1,3,960,5.39,CRD,18.5 +VTS,1,3,240,0.71,CSH,5.0 +VTS,1,3,360,1.64,CSH,7.5 +VTS,1,3,960,3.02,CRD,13.0 +VTS,1,3,960,3.14,CRD,12.5 +VTS,1,5,540,1.73,CSH,9.0 +VTS,1,5,660,1.49,CSH,9.0 +VTS,1,6,600,2.55,CRD,10.0 +VTS,1,5,1080,6.68,CSH,21.0 +VTS,1,6,540,2.54,CRD,10.5 +VTS,1,6,180,0.83,CRD,5.0 +VTS,1,6,1020,4.34,CSH,16.0 +VTS,1,6,480,2.37,CSH,9.5 +VTS,1,5,360,1.48,CRD,7.0 +VTS,1,6,360,1.12,CSH,6.5 +VTS,1,5,480,1.49,CRD,8.0 +VTS,1,1,660,2.78,CSH,10.5 +VTS,1,3,420,0.88,CSH,6.5 +VTS,1,3,360,1.43,CSH,7.0 +VTS,1,4,540,1.67,CSH,8.5 +VTS,1,4,600,1.62,CSH,9.0 +VTS,1,4,600,1.16,CSH,8.5 +VTS,1,3,540,1.0,CSH,7.0 +VTS,1,3,120,0.83,CRD,4.5 +VTS,1,4,600,2.33,CSH,10.0 +VTS,1,3,1080,1.84,CSH,12.5 +VTS,1,3,1080,1.95,CSH,13.0 +VTS,2,3,3000,18.74,CRD,52.0 +VTS,1,3,420,1.37,CSH,7.5 +VTS,1,4,120,0.54,CRD,4.0 +VTS,1,3,360,0.65,CRD,5.5 +VTS,1,3,180,0.71,CRD,4.5 +VTS,1,3,660,1.87,CRD,9.5 +VTS,1,2,600,1.28,CSH,8.5 +VTS,1,3,180,0.33,CRD,3.5 +VTS,1,4,1140,3.94,CRD,15.5 +VTS,1,3,960,1.24,CRD,10.5 +VTS,1,3,1020,6.26,CSH,20.0 +VTS,1,4,1020,3.64,CRD,14.5 +VTS,1,3,420,1.48,CRD,7.0 +VTS,1,3,1260,1.15,CRD,13.0 +VTS,1,3,2460,4.37,CRD,26.5 +VTS,1,4,360,1.14,CRD,6.5 +VTS,1,3,1020,3.5,CRD,15.0 +VTS,1,4,540,2.42,CRD,9.5 +VTS,1,3,600,2.07,CSH,9.0 +VTS,1,4,480,1.49,CSH,7.5 +VTS,1,3,540,2.7,CRD,10.5 +VTS,1,3,300,0.81,CRD,5.5 +VTS,1,3,1080,2.39,CRD,13.0 +VTS,1,3,180,0.86,CSH,5.0 +VTS,1,3,1440,2.95,CRD,16.0 +VTS,1,3,900,2.27,CSH,12.0 +VTS,1,5,240,1.08,CRD,5.5 +VTS,1,4,960,4.7,CSH,16.5 +VTS,1,6,420,2.09,CRD,9.0 +VTS,1,6,240,1.33,CSH,6.0 +VTS,1,6,960,2.71,CSH,13.5 +VTS,1,6,600,1.87,CRD,9.5 +VTS,1,6,660,1.92,CRD,9.0 +VTS,1,6,900,3.31,CSH,14.0 +VTS,1,6,600,1.93,CSH,10.0 +VTS,1,6,300,0.83,CSH,5.5 +VTS,1,6,360,1.31,CRD,6.5 +VTS,1,6,420,1.38,CSH,7.5 +VTS,1,1,300,1.78,CSH,7.0 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,240,1.13,CRD,5.5 +VTS,1,1,600,2.49,CRD,10.5 +VTS,1,3,660,1.12,CRD,8.5 +VTS,1,4,720,2.87,CSH,12.0 +VTS,1,4,660,1.12,CRD,8.5 +VTS,1,4,240,0.68,CRD,5.0 +VTS,1,4,600,1.74,CRD,8.5 +VTS,1,4,840,1.5,CRD,10.0 +VTS,1,4,480,1.7,CRD,8.0 +VTS,1,3,540,1.14,CSH,7.5 +VTS,1,3,720,1.78,CRD,9.5 +VTS,1,5,360,1.21,CRD,6.5 +VTS,1,5,1680,10.84,CRD,33.0 +VTS,1,6,900,3.79,CRD,13.5 +VTS,1,6,360,0.77,CSH,6.0 +VTS,1,6,540,2.62,CRD,10.0 +VTS,1,6,840,4.3,CSH,15.0 +VTS,1,6,660,2.43,CSH,10.5 +VTS,1,1,600,2.57,CSH,10.0 +VTS,1,1,1080,4.79,CRD,17.0 +VTS,1,1,420,0.84,CRD,6.0 +VTS,1,1,660,2.16,CRD,10.5 +VTS,1,6,360,1.16,CSH,6.5 +VTS,1,6,840,3.39,CSH,12.5 +VTS,1,6,1200,5.26,CRD,19.5 +VTS,1,6,240,0.49,CSH,4.5 +VTS,1,6,300,1.59,CRD,6.5 +VTS,1,6,600,2.69,CRD,10.5 +VTS,1,1,420,1.96,CSH,8.0 +VTS,1,1,780,2.94,CRD,12.0 +VTS,1,1,420,1.86,CRD,8.0 +VTS,1,1,660,1.13,CSH,8.5 +VTS,1,1,900,1.42,CSH,10.0 +VTS,1,1,480,0.81,CRD,6.5 +VTS,1,1,1140,9.03,CRD,26.5 +VTS,1,1,480,1.41,CSH,7.5 +VTS,1,1,1020,2.85,CSH,13.5 +VTS,1,1,2580,11.53,CSH,39.0 +VTS,1,1,1440,20.76,CSH,54.5 +VTS,1,1,60,0.13,CSH,2.5 +VTS,1,6,1260,6.99,CSH,23.0 +VTS,1,6,480,1.9,CSH,8.5 +VTS,1,1,720,2.32,CSH,10.5 +VTS,1,1,480,0.91,CSH,7.0 +VTS,1,6,60,0.0,CSH,2.5 +VTS,1,1,1500,3.5,CSH,16.0 +VTS,1,1,1020,3.41,CSH,13.0 +VTS,1,1,1440,4.22,CSH,17.0 +VTS,1,1,480,1.06,CSH,6.5 +VTS,1,1,300,2.14,CSH,8.0 +VTS,1,1,900,3.49,CSH,14.0 +VTS,1,1,840,1.36,CSH,10.0 +VTS,1,1,540,1.29,CRD,8.0 +VTS,1,1,360,0.96,CSH,6.0 +VTS,1,3,240,1.45,CSH,6.5 +VTS,1,3,900,3.06,CSH,13.0 +VTS,1,2,240,1.11,CRD,5.0 +VTS,1,3,300,0.52,CSH,4.5 +VTS,1,3,240,0.51,CSH,4.5 +VTS,1,3,600,1.4,CRD,8.0 +VTS,1,3,1500,3.79,CSH,16.0 +VTS,1,3,1380,8.87,CRD,28.0 +VTS,1,3,480,2.2,CSH,9.5 +VTS,1,3,1380,9.78,CSH,29.0 +VTS,1,3,660,1.49,CSH,9.5 +VTS,1,3,540,0.94,CRD,7.0 +VTS,1,3,600,1.64,CSH,8.5 +VTS,1,3,780,6.36,CSH,19.5 +VTS,1,3,300,0.92,CSH,5.5 +VTS,1,3,480,1.17,CSH,7.5 +VTS,2,3,1440,18.3,CRD,52.0 +VTS,1,3,1200,6.74,CRD,22.5 +VTS,1,3,1020,5.71,CSH,19.0 +VTS,1,3,360,3.78,CSH,12.0 +VTS,1,3,1800,14.04,CSH,39.0 +VTS,1,4,180,0.6,CSH,4.0 +VTS,1,3,300,0.94,CRD,5.5 +VTS,1,3,180,0.4,CRD,3.5 +VTS,1,4,780,2.64,CSH,12.0 +VTS,1,3,1080,2.77,CSH,14.0 +VTS,1,3,360,0.63,CSH,6.0 +VTS,1,3,600,1.56,CSH,8.5 +VTS,1,3,600,5.08,CSH,15.0 +VTS,1,3,240,0.45,CSH,4.5 +VTS,1,3,540,1.31,CSH,8.0 +VTS,1,3,720,2.98,CRD,12.5 +VTS,1,3,1620,8.75,CSH,29.5 +VTS,1,3,480,2.36,CSH,9.5 +VTS,1,2,360,1.03,CSH,6.0 +VTS,1,2,480,1.86,CRD,8.5 +VTS,2,3,1320,18.75,CRD,52.0 +VTS,1,3,180,0.66,CRD,4.5 +VTS,1,4,240,1.65,CRD,6.5 +VTS,1,3,420,1.29,CSH,7.0 +VTS,1,3,180,0.64,CSH,4.5 +VTS,1,3,420,1.92,CSH,8.5 +VTS,1,4,600,1.97,CSH,9.0 +VTS,1,3,600,1.48,CRD,8.5 +VTS,1,4,300,0.89,CRD,6.0 +VTS,1,3,180,0.94,CRD,5.0 +VTS,1,4,420,1.53,CRD,7.5 +VTS,3,3,2220,17.96,CSH,69.0 +VTS,1,3,660,3.67,CRD,12.5 +VTS,1,3,360,0.59,CSH,5.5 +VTS,1,3,420,1.33,CSH,7.0 +VTS,1,4,360,1.29,CSH,7.0 +VTS,1,3,1320,2.58,CSH,15.5 +VTS,1,3,660,1.65,CRD,9.5 +VTS,1,3,1020,4.1,CRD,16.5 +VTS,1,3,420,1.69,CRD,7.5 +VTS,1,3,240,0.88,CSH,5.0 +VTS,1,3,120,0.53,CRD,4.0 +VTS,1,3,780,2.76,CRD,11.5 +VTS,1,3,780,2.15,CRD,11.0 +VTS,1,3,180,0.74,CRD,5.0 +VTS,1,5,360,1.76,CRD,7.5 +VTS,1,5,1140,5.12,CRD,18.5 +VTS,1,4,900,3.85,CSH,14.5 +VTS,1,5,660,4.66,CRD,14.0 +VTS,1,5,480,1.49,CSH,7.5 +VTS,1,6,300,1.22,CSH,6.0 +VTS,1,5,1680,3.69,CSH,19.0 +VTS,1,6,660,1.71,CRD,8.5 +VTS,1,1,360,1.23,CSH,6.5 +VTS,1,1,540,1.13,CSH,7.5 +VTS,1,1,540,1.27,CSH,7.5 +VTS,1,1,1200,9.45,CRD,28.5 +VTS,1,1,900,5.44,CSH,16.5 +VTS,1,6,840,3.6,CRD,13.0 +VTS,1,6,300,1.67,CRD,7.0 +VTS,1,6,1320,4.84,CSH,18.5 +VTS,1,6,300,1.1,CRD,6.0 +VTS,1,3,420,1.72,CSH,8.0 +VTS,1,3,180,0.79,CSH,5.0 +VTS,1,3,180,0.66,CSH,4.5 +VTS,1,4,480,2.68,CSH,10.0 +VTS,1,3,660,3.81,CRD,13.0 +VTS,2,2,1620,19.12,CRD,52.0 +VTS,1,3,1200,4.96,CRD,18.5 +VTS,1,4,600,1.46,CRD,8.5 +VTS,1,3,1080,2.9,CSH,14.0 +VTS,1,3,300,0.68,CRD,5.5 +VTS,1,4,1320,4.0,CRD,17.5 +VTS,1,4,180,1.57,CSH,6.0 +VTS,1,3,840,1.59,CRD,10.0 +VTS,1,3,960,2.46,CRD,12.0 +VTS,1,5,300,0.97,CRD,5.5 +VTS,1,5,180,0.46,CSH,4.5 +VTS,1,5,60,0.75,CSH,4.0 +VTS,1,6,480,1.59,CSH,8.0 +VTS,1,6,900,7.11,CRD,21.5 +VTS,1,6,600,2.02,CSH,9.5 +VTS,1,1,600,1.47,CSH,8.5 +VTS,1,1,540,0.72,CSH,7.0 +VTS,1,1,420,2.16,CRD,8.5 +VTS,1,1,1920,7.43,CRD,28.0 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,300,0.6,CRD,5.0 +VTS,1,6,120,0.5,CSH,3.5 +VTS,1,6,300,0.91,CRD,5.5 +VTS,1,4,300,0.89,CSH,5.5 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,660,2.59,CSH,10.0 +VTS,1,1,1620,4.74,CSH,20.5 +VTS,1,1,840,3.51,CRD,13.5 +VTS,1,1,420,1.83,CRD,7.5 +VTS,1,1,420,1.06,CRD,7.0 +VTS,2,1,1320,17.64,CRD,52.0 +VTS,1,6,600,1.98,CRD,9.5 +VTS,1,6,660,2.76,CSH,11.0 +VTS,1,6,1020,5.3,CSH,18.0 +VTS,1,6,1080,6.84,CSH,21.5 +VTS,1,6,1260,3.15,CRD,15.5 +VTS,1,6,660,2.22,CRD,10.0 +VTS,1,1,480,1.74,CRD,8.5 +VTS,1,1,300,0.63,CSH,5.0 +VTS,1,1,300,1.32,CRD,6.0 +VTS,1,1,480,1.58,CSH,7.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,540,2.15,CSH,9.0 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,900,3.8,CSH,14.0 +VTS,1,1,540,0.89,CSH,7.0 +VTS,1,1,540,3.29,CSH,11.5 +VTS,1,1,360,0.97,CRD,6.0 +VTS,1,1,780,3.47,CSH,13.0 +VTS,1,1,360,1.13,CSH,6.0 +VTS,1,6,180,0.55,CRD,4.0 +VTS,1,6,300,1.08,CSH,6.0 +VTS,1,6,540,1.77,CRD,8.5 +VTS,1,6,240,1.3,CRD,6.5 +VTS,1,1,600,2.04,CRD,10.0 +VTS,1,1,540,1.63,CRD,8.5 +VTS,1,1,540,1.64,CSH,8.5 +VTS,1,1,120,0.0,CRD,3.0 +VTS,1,1,480,1.38,CSH,7.0 +VTS,1,1,540,2.08,CSH,9.0 +VTS,1,1,420,1.25,CSH,6.5 +VTS,1,1,300,1.42,CRD,6.0 +VTS,1,1,840,2.06,CRD,11.0 +VTS,1,1,300,0.62,CSH,5.0 +VTS,1,1,780,1.72,CSH,10.0 +VTS,1,6,300,0.82,CRD,5.5 +VTS,1,6,1020,2.97,CRD,13.5 +VTS,1,2,1020,2.7,CSH,13.0 +VTS,1,1,1020,3.35,CRD,14.0 +VTS,1,1,420,1.12,CSH,6.0 +VTS,1,3,420,1.1,CSH,6.5 +VTS,1,1,1020,3.69,CSH,14.0 +VTS,1,6,240,1.08,CRD,5.5 +VTS,1,1,240,1.21,CSH,6.0 +VTS,1,1,720,4.23,CSH,13.5 +VTS,1,1,600,1.63,CRD,8.0 +VTS,1,1,960,2.48,CRD,11.5 +VTS,1,1,600,1.21,CSH,8.5 +VTS,1,1,300,1.05,CRD,6.0 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,240,0.7,CSH,4.5 +VTS,1,1,780,2.49,CRD,11.0 +VTS,1,6,1320,2.52,CRD,15.0 +VTS,1,3,360,0.87,CRD,5.5 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,2,300,1.02,CSH,5.5 +VTS,1,2,600,2.37,CRD,10.0 +VTS,1,6,540,2.66,CRD,9.5 +VTS,1,6,180,0.3,CSH,3.5 +VTS,1,6,180,0.82,CRD,5.0 +VTS,1,1,300,0.68,CRD,5.0 +VTS,1,1,840,4.0,CRD,14.5 +VTS,1,1,180,0.55,CSH,4.5 +VTS,1,1,600,6.63,CSH,19.0 +VTS,1,1,300,0.36,CSH,4.5 +VTS,1,1,420,1.13,CRD,6.5 +VTS,1,1,1320,6.65,CRD,22.5 +VTS,1,1,180,0.64,CRD,4.0 +VTS,1,6,900,6.25,CRD,20.0 +VTS,1,6,60,0.32,CSH,3.0 +VTS,1,1,720,2.33,CRD,11.0 +VTS,1,1,720,1.33,CRD,9.0 +VTS,1,1,240,0.85,CSH,5.0 +VTS,1,1,180,0.64,CRD,4.0 +VTS,1,1,420,1.45,CSH,7.0 +VTS,1,1,840,8.24,CRD,23.5 +VTS,1,1,1080,2.84,CRD,13.5 +VTS,1,1,1020,1.53,CRD,11.0 +VTS,1,1,960,3.16,CSH,14.5 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,660,1.47,CSH,9.0 +VTS,1,6,720,0.9,CSH,9.0 +VTS,1,6,360,1.14,CSH,6.5 +VTS,1,3,480,1.18,CSH,7.0 +VTS,1,3,480,0.97,CSH,6.5 +VTS,1,4,540,1.98,CSH,8.5 +VTS,1,4,540,1.15,CRD,7.0 +VTS,1,4,720,1.72,CRD,9.5 +VTS,1,2,1200,10.68,CRD,30.5 +VTS,1,2,300,0.96,CSH,5.5 +VTS,1,1,480,1.91,CSH,8.5 +VTS,1,6,1080,3.88,CSH,16.0 +VTS,1,1,960,2.89,CRD,13.5 +VTS,1,1,420,1.14,CSH,7.0 +VTS,1,6,360,1.43,CRD,7.0 +VTS,1,6,240,1.35,CSH,6.0 +VTS,1,1,240,1.56,CRD,6.5 +VTS,1,1,1020,1.24,CRD,11.5 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,600,2.93,CSH,11.0 +VTS,1,1,600,1.43,CRD,8.0 +VTS,1,1,180,0.47,CRD,4.5 +VTS,1,1,420,1.56,CRD,7.5 +VTS,1,1,720,1.73,CRD,9.5 +VTS,1,1,600,2.88,CRD,11.0 +VTS,1,1,480,2.83,CSH,10.5 +VTS,1,1,660,0.84,CSH,8.0 +VTS,1,6,900,1.91,CRD,11.5 +VTS,1,6,420,1.18,CRD,6.5 +VTS,1,6,3180,7.98,CRD,36.0 +VTS,1,1,1080,2.69,CSH,13.5 +VTS,1,2,1020,3.8,CRD,14.5 +VTS,1,2,300,0.94,CSH,6.0 +VTS,1,2,900,2.61,CRD,12.5 +VTS,1,3,480,0.84,CSH,6.5 +VTS,1,6,540,1.0,CSH,7.0 +VTS,1,6,540,1.74,CSH,9.0 +VTS,1,6,480,0.79,CRD,6.5 +VTS,1,6,780,1.98,CSH,9.5 +VTS,1,1,660,2.51,CRD,10.5 +VTS,1,6,660,1.47,CRD,8.5 +VTS,1,6,720,2.25,CSH,11.0 +VTS,1,6,1080,3.34,CRD,14.0 +VTS,2,1,4380,17.09,CSH,52.0 +VTS,2,1,1620,17.23,CRD,52.0 +VTS,1,2,1080,3.53,CRD,14.5 +VTS,1,3,480,1.59,CSH,8.0 +VTS,1,2,300,0.98,CRD,5.5 +VTS,1,2,300,0.57,CRD,5.0 +VTS,1,6,660,3.01,CSH,11.5 +VTS,1,6,360,0.59,CSH,5.5 +VTS,1,6,1800,3.46,CRD,20.0 +VTS,1,6,660,1.81,CSH,9.0 +VTS,1,6,900,2.32,CRD,11.0 +VTS,1,1,2400,10.57,CRD,36.0 +VTS,1,1,420,1.3,CSH,7.0 +VTS,1,1,780,1.38,CSH,9.5 +VTS,1,1,1140,5.61,CRD,18.5 +VTS,1,1,300,1.25,CSH,6.5 +VTS,1,1,600,1.8,CSH,8.0 +VTS,1,1,840,2.85,CSH,12.5 +VTS,1,1,600,2.09,CRD,9.0 +VTS,1,1,1380,5.63,CSH,21.5 +VTS,1,1,1380,4.07,CRD,19.0 +VTS,1,1,540,1.65,CRD,8.5 +VTS,1,1,300,1.59,CSH,7.0 +VTS,1,1,840,3.16,CRD,12.0 +VTS,1,1,1440,3.99,CSH,18.5 +VTS,1,1,420,0.97,CRD,6.5 +VTS,2,1,3120,16.13,CSH,52.0 +VTS,1,6,300,0.83,CRD,5.0 +VTS,1,6,480,1.51,CSH,7.5 +VTS,1,6,1740,7.73,CSH,27.0 +VTS,1,6,1500,8.91,CRD,27.5 +VTS,1,6,1140,5.11,CSH,19.0 +VTS,1,6,360,1.99,CSH,8.0 +VTS,1,6,360,2.56,CRD,9.0 +VTS,1,1,300,0.97,CRD,6.0 +VTS,1,1,60,0.62,CSH,4.0 +VTS,1,1,480,1.0,CSH,6.5 +VTS,1,1,1200,1.23,CRD,11.0 +VTS,1,1,720,2.02,CSH,9.5 +VTS,1,1,1140,3.33,CSH,14.5 +VTS,1,1,360,2.08,CRD,8.0 +VTS,1,1,600,2.62,CRD,10.5 +VTS,1,1,840,3.98,CRD,14.5 +VTS,1,1,300,1.65,CRD,7.0 +VTS,1,1,840,6.37,CRD,20.0 +VTS,1,1,540,1.49,CRD,8.0 +VTS,1,1,480,1.34,CSH,7.5 +VTS,1,6,240,0.64,CRD,4.5 +VTS,1,6,720,2.56,CRD,11.0 +VTS,1,6,360,0.91,CRD,5.5 +VTS,1,6,600,1.51,CSH,9.0 +VTS,1,6,1500,6.38,CSH,23.0 +VTS,1,6,300,0.68,CRD,5.0 +VTS,1,6,240,0.55,CSH,4.5 +VTS,1,1,1560,5.69,CRD,21.0 +VTS,1,1,480,1.69,CRD,8.0 +VTS,1,1,300,0.79,CRD,5.0 +VTS,1,1,1200,3.74,CSH,16.0 +VTS,1,1,780,2.35,CRD,11.5 +VTS,1,1,600,1.61,CSH,9.0 +VTS,1,1,420,0.79,CRD,6.0 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,600,1.12,CSH,8.0 +VTS,1,1,660,1.81,CRD,9.5 +VTS,1,1,960,2.18,CRD,12.0 +VTS,1,1,1140,2.22,CRD,13.5 +VTS,1,1,2280,6.31,CRD,28.0 +VTS,1,1,960,3.44,CSH,14.5 +VTS,1,1,1380,5.01,CRD,19.5 +VTS,1,1,120,0.75,CSH,4.0 +VTS,1,1,240,0.78,CSH,5.0 +VTS,1,1,900,2.5,CRD,12.5 +VTS,1,1,600,2.15,CSH,9.5 +VTS,1,1,480,1.66,CRD,8.0 +VTS,1,1,480,1.68,CSH,8.0 +VTS,1,1,600,2.04,CRD,9.0 +VTS,1,1,420,0.91,CRD,6.0 +VTS,1,4,300,1.1,CRD,6.0 +VTS,1,3,720,1.49,CSH,7.5 +VTS,1,3,3660,29.5,CSH,82.5 +VTS,1,2,420,1.62,CRD,7.5 +VTS,1,2,600,0.78,CSH,8.0 +VTS,1,6,780,2.14,CRD,11.0 +VTS,1,6,240,0.45,CSH,4.5 +VTS,1,1,300,1.33,CRD,6.5 +VTS,1,1,900,3.29,CSH,13.0 +VTS,1,1,1140,2.86,CSH,14.0 +VTS,1,1,420,1.7,CSH,8.0 +VTS,1,1,840,1.26,CRD,10.0 +VTS,1,1,300,0.47,CSH,4.5 +VTS,1,1,720,1.82,CRD,9.5 +VTS,1,1,780,2.27,CRD,10.5 +VTS,1,1,300,0.68,CRD,5.0 +VTS,1,1,1320,5.23,CSH,20.0 +VTS,1,1,540,1.65,CSH,8.5 +VTS,1,1,420,1.08,CRD,7.0 +VTS,1,1,660,2.95,CSH,11.0 +VTS,1,1,360,1.16,CSH,6.5 +VTS,1,1,720,2.63,CSH,9.5 +VTS,1,1,360,2.04,CSH,8.0 +VTS,1,1,720,1.83,CSH,10.0 +VTS,1,6,120,0.61,CRD,4.0 +VTS,1,4,120,0.38,CSH,3.5 +VTS,1,6,1080,6.37,CRD,21.0 +VTS,1,6,1860,6.54,CSH,25.5 +VTS,1,6,1200,3.21,CRD,15.5 +VTS,1,1,660,1.66,CRD,9.5 +VTS,1,1,1020,2.83,CSH,13.5 +VTS,1,1,600,2.13,CSH,9.5 +VTS,1,1,180,0.49,CRD,4.5 +VTS,1,1,720,4.26,CSH,14.5 +VTS,1,1,360,2.04,CSH,8.0 +VTS,1,1,420,1.19,CSH,5.5 +VTS,1,1,1500,9.7,CRD,30.5 +VTS,1,1,480,0.6,CRD,7.0 +VTS,1,1,2040,13.91,CRD,42.0 +VTS,1,6,780,1.42,CRD,9.5 +VTS,1,6,540,1.78,CSH,9.0 +VTS,1,6,1440,8.74,CRD,28.5 +VTS,1,6,840,1.31,CRD,10.0 +VTS,1,6,540,1.53,CSH,8.5 +VTS,1,1,300,0.54,CRD,5.0 +VTS,1,1,360,1.03,CRD,6.5 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,1260,3.98,CRD,17.0 +VTS,1,1,1080,5.11,CSH,18.0 +VTS,1,1,60,0.36,CRD,3.5 +VTS,2,1,1980,20.36,CRD,52.0 +VTS,1,1,840,1.95,CRD,11.0 +VTS,1,1,1140,2.35,CRD,13.0 +VTS,1,1,1080,4.02,CRD,16.5 +VTS,1,1,420,1.11,CSH,6.5 +VTS,1,1,1260,3.18,CSH,15.0 +VTS,2,1,5160,19.64,CRD,52.0 +VTS,1,1,300,1.24,CRD,6.0 +VTS,1,1,480,1.22,CSH,7.5 +VTS,1,1,1320,4.92,CSH,19.5 +VTS,1,1,180,0.34,CRD,3.5 +VTS,1,1,600,1.36,CRD,8.5 +VTS,1,1,60,0.24,CSH,3.0 +VTS,1,1,840,2.16,CSH,11.0 +VTS,1,1,420,1.37,CSH,7.0 +VTS,1,1,840,3.97,CSH,15.0 +VTS,1,1,240,0.8,CRD,5.0 +VTS,1,1,1560,4.8,CRD,18.5 +VTS,1,1,240,1.42,CRD,6.0 +VTS,1,1,240,0.76,CSH,5.0 +VTS,1,1,840,2.77,CRD,12.5 +VTS,1,1,180,0.46,CSH,4.0 +VTS,1,1,480,0.7,CSH,5.5 +VTS,1,1,240,0.67,CRD,4.5 +VTS,1,6,120,0.36,CSH,3.5 +VTS,1,6,540,0.88,CSH,5.0 +VTS,1,1,240,1.04,CRD,5.5 +VTS,1,1,900,1.73,CSH,10.5 +VTS,1,1,1620,4.4,CSH,20.0 +VTS,1,1,660,1.92,CSH,9.5 +VTS,1,1,240,0.59,CSH,5.0 +VTS,1,1,1260,3.21,CRD,15.5 +VTS,1,1,780,3.09,CSH,12.0 +VTS,1,1,480,1.45,CRD,7.5 +VTS,1,1,1140,3.25,CRD,14.5 +VTS,1,1,240,1.13,CRD,5.5 +VTS,1,1,480,1.34,CRD,7.0 +VTS,1,1,360,0.68,CSH,5.5 +VTS,1,1,960,4.42,CRD,16.0 +VTS,1,1,480,1.6,CRD,7.5 +VTS,1,1,660,0.75,CSH,7.0 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,1,180,0.95,CSH,5.0 +VTS,1,6,480,1.71,CSH,8.0 +VTS,1,6,180,0.83,CRD,4.5 +VTS,1,6,780,2.77,CRD,12.0 +VTS,1,6,420,1.36,CRD,7.0 +VTS,1,6,360,0.97,CRD,6.0 +VTS,1,6,1560,2.01,CRD,16.0 +VTS,1,6,1080,4.46,CSH,16.5 +VTS,1,6,240,1.48,CSH,6.0 +VTS,1,6,300,1.33,CRD,6.5 +VTS,1,1,360,0.65,CSH,6.0 +VTS,1,1,720,2.28,CRD,11.0 +VTS,1,1,420,2.13,CRD,8.0 +VTS,1,1,240,1.33,CRD,6.0 +VTS,1,1,540,1.63,CSH,8.0 +VTS,1,1,1020,2.18,CRD,11.5 +VTS,1,1,540,1.18,CSH,8.0 +VTS,1,1,180,0.33,CSH,4.0 +VTS,1,1,1080,2.73,CSH,14.0 +VTS,1,1,1140,4.11,CSH,16.0 +VTS,1,1,1080,5.07,CRD,18.0 +VTS,1,1,120,0.65,CRD,4.0 +VTS,1,1,960,2.97,CSH,13.5 +VTS,1,1,420,1.65,CRD,8.0 +VTS,1,1,540,1.08,CRD,7.0 +VTS,1,1,180,0.9,CSH,4.5 +VTS,1,1,540,1.3,CSH,8.0 +VTS,1,1,960,3.98,CRD,15.0 +VTS,1,1,480,1.8,CRD,8.0 +VTS,1,1,420,1.42,CRD,7.0 +VTS,1,1,660,2.18,CSH,9.5 +VTS,1,1,600,3.25,CRD,11.5 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,540,1.83,CSH,8.0 +VTS,1,6,240,0.99,CRD,5.5 +VTS,1,6,360,1.11,CRD,6.5 +VTS,1,6,1140,2.75,CRD,14.0 +VTS,1,6,420,1.36,CSH,7.0 +VTS,1,1,180,0.35,CSH,4.0 +VTS,1,2,600,2.14,CRD,10.0 +VTS,1,6,240,1.02,CRD,5.5 +VTS,1,1,660,1.65,CSH,9.0 +VTS,1,6,2520,6.53,CSH,30.5 +VTS,1,6,420,0.89,CSH,6.5 +VTS,1,1,1200,3.44,CRD,15.5 +VTS,1,1,240,0.79,CRD,5.5 +VTS,1,1,480,1.76,CRD,8.0 +VTS,1,1,480,2.57,CSH,9.5 +VTS,1,1,600,3.16,CRD,11.5 +VTS,1,1,480,0.84,CSH,6.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,660,1.13,CSH,9.0 +VTS,1,1,540,3.16,CSH,11.5 +VTS,1,1,780,7.1,CSH,21.0 +VTS,1,1,660,1.5,CRD,8.5 +VTS,1,1,720,1.7,CSH,9.0 +VTS,1,1,660,1.48,CSH,9.0 +VTS,2,1,2280,21.58,CSH,52.0 +VTS,1,1,840,1.5,CRD,10.5 +VTS,1,1,300,0.76,CSH,5.0 +VTS,1,1,780,3.44,CRD,13.5 +VTS,1,1,780,3.07,CRD,12.0 +VTS,1,6,120,0.67,CRD,4.0 +VTS,1,6,1320,5.41,CRD,20.0 +VTS,1,6,600,2.35,CSH,9.5 +VTS,1,6,240,0.62,CRD,5.0 +VTS,1,6,300,0.94,CRD,5.5 +VTS,1,6,180,0.54,CSH,4.5 +VTS,1,6,180,0.33,CSH,4.0 +VTS,1,6,1080,8.62,CRD,25.0 +VTS,1,1,480,1.98,CSH,8.5 +VTS,1,1,480,2.11,CSH,8.5 +VTS,1,1,1020,4.73,CSH,17.0 +VTS,1,1,960,6.17,CSH,19.5 +VTS,1,1,780,0.87,CSH,8.0 +VTS,1,6,600,2.18,CRD,9.5 +VTS,1,6,1140,7.02,CRD,22.5 +VTS,1,6,1020,2.3,CSH,13.0 +VTS,1,6,600,1.05,CRD,8.0 +VTS,1,2,900,8.54,CRD,24.0 +VTS,1,2,660,4.7,CRD,16.0 +VTS,1,2,480,1.99,CSH,8.0 +VTS,1,1,600,0.88,CRD,7.5 +VTS,1,1,240,0.72,CSH,5.0 +VTS,1,1,960,3.18,CSH,13.5 +VTS,1,1,900,7.77,CRD,23.5 +VTS,1,1,900,2.62,CSH,12.0 +VTS,1,1,600,1.38,CSH,8.5 +VTS,1,1,1020,7.71,CRD,23.5 +VTS,1,1,720,3.52,CRD,12.5 +VTS,1,1,1080,4.64,CRD,17.5 +VTS,1,1,420,1.13,CRD,6.5 +VTS,1,1,600,2.03,CRD,9.0 +VTS,1,1,300,1.12,CSH,5.5 +VTS,1,1,480,1.68,CRD,8.0 +VTS,1,1,480,1.56,CRD,8.0 +VTS,1,6,300,1.18,CSH,5.5 +VTS,1,6,540,1.28,CRD,8.0 +VTS,1,6,360,0.74,CSH,5.5 +VTS,1,2,180,0.44,CSH,4.0 +VTS,1,3,720,6.06,CRD,18.0 +VTS,1,3,480,2.42,CSH,9.0 +VTS,1,3,360,0.71,CSH,4.5 +VTS,1,2,480,1.23,CRD,7.5 +VTS,1,6,1260,4.57,CRD,18.0 +VTS,1,6,840,1.96,CRD,11.0 +VTS,1,6,720,1.99,CSH,10.5 +VTS,1,1,2040,5.64,CRD,25.0 +VTS,1,1,420,1.78,CSH,8.5 +VTS,1,1,300,1.56,CSH,7.0 +VTS,1,1,600,1.82,CRD,9.0 +VTS,1,1,420,1.36,CRD,7.5 +VTS,1,1,240,0.67,CSH,5.0 +VTS,1,1,360,1.07,CSH,6.0 +VTS,1,1,180,0.51,CSH,4.0 +VTS,1,1,2280,12.47,CSH,39.5 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,1,360,1.38,CRD,7.0 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,420,2.88,CSH,10.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,4,1,60,0.01,CSH,2.5 +VTS,1,1,1200,5.56,CRD,20.0 +VTS,1,6,120,0.17,CSH,3.5 +VTS,1,6,120,0.47,CRD,4.0 +VTS,1,6,360,1.15,CSH,6.5 +VTS,1,6,420,0.88,CSH,6.5 +VTS,1,6,300,0.76,CRD,5.5 +VTS,1,6,180,0.91,CSH,5.0 +VTS,1,6,300,0.92,CSH,6.0 +VTS,1,6,300,0.92,CSH,5.5 +VTS,1,6,540,1.57,CRD,8.5 +VTS,1,6,480,1.15,CRD,7.5 +VTS,1,6,540,2.73,CRD,10.5 +VTS,1,6,420,3.41,CSH,12.0 +VTS,1,6,360,0.8,CRD,6.0 +VTS,1,6,480,2.18,CRD,8.5 +VTS,1,6,300,0.9,CSH,5.0 +VTS,1,6,480,3.14,CRD,11.0 +VTS,1,1,1080,4.52,CSH,16.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,420,1.2,CRD,7.0 +VTS,1,1,900,1.94,CRD,11.0 +VTS,1,1,1140,3.06,CSH,14.5 +VTS,1,1,900,2.77,CRD,12.5 +VTS,1,1,900,4.31,CRD,16.0 +VTS,1,1,780,4.38,CSH,14.0 +VTS,1,1,600,3.3,CRD,11.5 +VTS,1,5,300,1.03,CSH,5.5 +VTS,1,5,780,2.63,CSH,11.5 +VTS,1,5,240,0.91,CSH,5.0 +VTS,1,5,180,0.55,CSH,4.0 +VTS,1,1,900,9.14,CRD,26.5 +VTS,1,1,660,1.06,CRD,8.5 +VTS,1,1,240,0.57,CRD,4.5 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,1,660,1.06,CSH,8.5 +VTS,1,1,540,1.2,CRD,7.5 +VTS,1,5,600,1.11,CSH,7.5 +VTS,1,5,720,2.26,CRD,9.5 +VTS,1,5,1140,2.8,CSH,12.5 +VTS,1,5,480,1.1,CRD,7.0 +VTS,1,5,840,3.53,CRD,13.5 +VTS,1,2,600,1.34,CSH,8.5 +VTS,1,1,420,1.54,CSH,7.0 +VTS,1,1,300,1.37,CSH,6.5 +VTS,1,6,180,0.58,CRD,4.5 +VTS,1,6,180,0.53,CRD,4.5 +VTS,1,6,240,0.84,CSH,5.0 +VTS,1,6,540,1.9,CRD,8.5 +VTS,1,6,360,0.81,CSH,6.0 +VTS,1,6,240,1.06,CSH,5.5 +VTS,1,6,480,1.66,CSH,9.0 +VTS,1,6,1020,4.03,CSH,16.0 +VTS,1,6,660,1.87,CSH,9.0 +VTS,1,6,300,1.35,CSH,6.5 +VTS,1,6,120,0.45,CSH,3.5 +VTS,1,6,240,0.6,CSH,5.0 +VTS,1,6,840,4.23,CRD,14.5 +VTS,1,6,480,1.93,CSH,8.5 +VTS,1,1,1200,3.09,CSH,15.0 +VTS,1,1,1020,2.9,CRD,13.0 +VTS,1,1,660,1.85,CSH,9.0 +VTS,1,6,900,2.91,CRD,13.0 +VTS,1,6,600,1.15,CRD,8.0 +VTS,1,2,1140,1.29,CRD,12.5 +VTS,1,2,1080,2.09,CSH,13.0 +VTS,1,2,540,1.13,CSH,7.5 +VTS,1,1,900,1.68,CSH,11.5 +VTS,1,1,1440,6.93,CRD,24.5 +VTS,1,1,540,1.82,CRD,9.0 +VTS,1,1,840,1.84,CSH,11.0 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,1,1020,4.22,CSH,16.5 +VTS,1,1,300,0.99,CRD,5.0 +VTS,1,1,240,0.49,CSH,5.0 +VTS,1,6,1500,9.84,CRD,31.0 +VTS,1,6,540,1.51,CRD,8.0 +VTS,1,6,360,1.32,CRD,6.5 +VTS,1,6,540,1.86,CRD,9.0 +VTS,1,6,420,0.74,CRD,6.0 +VTS,1,6,420,0.98,CSH,6.5 +VTS,2,6,3180,17.92,CRD,52.0 +VTS,1,6,180,0.43,CSH,4.0 +VTS,1,6,180,0.48,CRD,4.0 +VTS,1,6,180,0.95,CSH,5.0 +VTS,1,6,840,2.79,CSH,12.5 +VTS,1,6,360,0.96,CRD,6.0 +VTS,1,6,180,0.74,CSH,4.5 +VTS,1,6,1440,6.11,CRD,22.0 +VTS,1,6,420,3.36,CRD,11.5 +VTS,1,6,780,5.77,CSH,19.0 +VTS,1,6,540,2.83,CRD,11.0 +VTS,1,1,1200,6.32,CSH,22.0 +VTS,1,6,1260,1.49,CSH,13.5 +VTS,1,6,1260,1.51,CSH,13.0 +VTS,1,6,540,1.73,CRD,8.0 +VTS,1,1,600,1.86,CSH,9.5 +VTS,1,1,540,2.25,CRD,10.0 +VTS,1,1,420,1.04,CSH,6.0 +VTS,2,6,2520,19.7,CRD,52.0 +VTS,1,6,420,2.29,CSH,9.5 +VTS,1,6,360,1.17,CRD,6.5 +VTS,1,6,660,1.32,CRD,8.5 +VTS,1,6,1140,5.02,CRD,18.5 +VTS,1,2,540,1.87,CSH,9.0 +VTS,1,2,840,2.29,CRD,11.0 +VTS,1,2,540,2.0,CRD,9.5 +VTS,1,1,300,0.5,CSH,4.5 +VTS,1,1,600,0.71,CRD,7.5 +VTS,1,1,420,2.37,CSH,9.0 +VTS,1,1,480,1.31,CRD,7.5 +VTS,1,1,300,1.84,CRD,7.0 +VTS,1,1,720,1.09,CSH,8.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,600,1.66,CSH,9.0 +VTS,1,1,240,0.82,CRD,5.0 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,720,2.42,CSH,9.0 +VTS,1,1,1560,3.72,CSH,18.5 +VTS,1,1,300,1.02,CRD,5.5 +VTS,1,1,1680,9.17,CSH,30.5 +VTS,1,5,480,1.87,CRD,8.5 +VTS,1,5,540,1.61,CSH,8.5 +VTS,1,5,420,1.32,CSH,7.0 +VTS,1,1,360,1.6,CRD,7.0 +VTS,1,1,420,1.64,CSH,7.5 +VTS,1,1,1080,3.16,CRD,14.0 +VTS,1,1,360,1.31,CRD,6.5 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,1,240,1.34,CRD,6.0 +VTS,1,1,480,2.06,CRD,9.0 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,1,300,0.54,CSH,4.5 +VTS,1,1,480,1.42,CSH,7.0 +VTS,1,1,240,1.13,CSH,5.5 +VTS,1,1,360,0.95,CSH,5.5 +VTS,1,1,360,1.67,CSH,6.5 +VTS,1,1,600,1.38,CSH,8.5 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,1,540,1.31,CRD,7.0 +VTS,1,1,420,1.51,CSH,7.0 +VTS,1,1,840,3.52,CRD,12.5 +VTS,1,1,1020,3.14,CRD,13.5 +VTS,1,1,600,2.9,CRD,11.0 +VTS,1,1,1020,3.23,CSH,14.5 +VTS,1,6,840,4.29,CRD,14.5 +VTS,1,6,540,2.13,CSH,9.5 +VTS,1,6,360,1.08,CSH,6.0 +VTS,1,6,60,0.18,CSH,3.0 +VTS,1,6,480,1.24,CSH,7.5 +VTS,1,6,240,1.05,CSH,5.5 +VTS,1,6,240,0.8,CSH,5.0 +VTS,1,6,540,3.26,CSH,11.0 +VTS,1,6,1020,2.83,CRD,13.5 +VTS,1,6,300,0.53,CRD,5.0 +VTS,1,6,540,2.44,CSH,9.5 +VTS,1,6,540,3.06,CRD,10.5 +VTS,1,6,360,1.27,CRD,7.0 +VTS,1,6,600,2.41,CSH,10.5 +VTS,1,6,660,3.37,CRD,12.0 +VTS,1,1,600,2.02,CSH,9.0 +VTS,1,1,360,0.86,CSH,6.0 +VTS,1,6,660,1.39,CRD,9.0 +VTS,1,6,900,1.9,CSH,11.0 +VTS,1,6,120,0.44,CSH,3.5 +VTS,1,2,600,1.21,CRD,7.5 +VTS,1,2,600,2.07,CRD,9.5 +VTS,1,1,1740,8.94,CRD,29.5 +VTS,1,1,900,2.2,CRD,11.5 +VTS,1,1,720,1.85,CRD,9.5 +VTS,1,1,180,1.06,CSH,5.0 +VTS,1,1,720,2.01,CSH,10.5 +VTS,1,1,540,0.33,CSH,7.0 +VTS,1,1,240,0.99,CSH,5.0 +VTS,1,1,480,0.88,CRD,7.0 +VTS,1,1,1140,3.23,CSH,15.0 +VTS,1,1,480,2.03,CRD,9.0 +VTS,1,1,960,4.31,CSH,15.5 +VTS,1,1,1080,2.78,CSH,14.0 +VTS,1,1,360,0.67,CSH,6.0 +VTS,1,1,1020,3.63,CRD,14.5 +VTS,1,1,480,1.2,CRD,7.0 +VTS,1,1,540,1.14,CRD,8.0 +VTS,1,1,1020,2.6,CSH,13.0 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,720,1.92,CRD,10.0 +VTS,1,1,480,1.27,CSH,7.0 +VTS,1,1,1080,4.98,CSH,17.5 +VTS,1,1,480,1.49,CSH,8.0 +VTS,1,1,480,1.9,CSH,8.5 +VTS,1,5,360,0.8,CSH,6.0 +VTS,1,5,180,0.58,CRD,4.5 +VTS,1,1,360,1.43,CSH,7.0 +VTS,1,1,540,1.63,CSH,8.5 +VTS,1,1,420,0.74,CSH,6.0 +VTS,1,1,360,1.38,CSH,7.0 +VTS,1,1,1260,8.96,CSH,26.5 +VTS,1,1,1200,5.61,CSH,19.5 +VTS,1,1,360,1.72,CRD,8.0 +VTS,1,1,300,1.17,CSH,6.0 +VTS,1,1,540,0.7,CRD,7.0 +VTS,1,1,600,2.1,CRD,9.0 +VTS,1,6,480,2.48,CRD,10.0 +VTS,1,6,360,1.89,CSH,7.5 +VTS,1,6,1260,11.26,CSH,32.5 +VTS,1,6,420,2.19,CRD,8.5 +VTS,1,6,420,1.41,CRD,7.0 +VTS,1,6,420,1.33,CRD,7.0 +VTS,1,6,480,1.25,CRD,7.5 +VTS,1,6,540,1.81,CRD,8.0 +VTS,1,6,780,2.41,CSH,10.5 +VTS,1,6,720,3.08,CRD,12.0 +VTS,1,6,720,2.58,CRD,11.0 +VTS,1,6,480,1.77,CSH,9.0 +VTS,1,1,900,6.2,CRD,20.0 +VTS,1,1,480,2.51,CRD,9.5 +VTS,1,1,900,2.74,CRD,12.0 +VTS,1,1,660,1.17,CSH,8.5 +VTS,1,1,360,1.55,CSH,7.0 +VTS,1,6,60,0.37,CSH,3.5 +VTS,1,6,1320,5.68,CRD,22.0 +VTS,1,6,180,0.45,CRD,4.0 +VTS,1,6,660,2.53,CRD,10.5 +VTS,1,2,960,1.93,CSH,11.5 +VTS,1,2,540,1.98,CRD,9.0 +VTS,1,2,1260,9.2,CSH,28.5 +VTS,1,1,1080,2.12,CRD,13.0 +VTS,1,1,180,0.94,CSH,5.0 +VTS,1,1,420,1.5,CSH,7.0 +VTS,1,1,540,1.51,CSH,7.5 +VTS,1,1,1140,5.12,CRD,18.0 +VTS,1,1,1080,6.16,CSH,20.5 +VTS,1,5,240,1.22,CSH,5.5 +VTS,1,2,2700,7.15,CSH,28.5 +VTS,1,3,840,3.74,CSH,14.5 +VTS,1,2,300,0.68,CSH,5.0 +VTS,1,1,240,0.59,CRD,5.0 +VTS,1,1,900,3.08,CSH,13.0 +VTS,1,1,420,1.63,CRD,7.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,2,180,0.58,CRD,4.5 +VTS,1,5,1380,5.54,CRD,21.5 +VTS,1,5,480,0.4,CSH,6.5 +VTS,1,5,840,2.47,CRD,11.5 +VTS,1,5,480,2.43,CSH,9.5 +VTS,1,5,660,0.71,CSH,7.5 +VTS,1,5,420,1.04,CRD,6.5 +VTS,1,1,1200,8.19,CSH,24.5 +VTS,1,1,480,1.41,CSH,7.5 +VTS,1,1,420,1.36,CSH,7.0 +VTS,1,1,900,2.75,CRD,12.5 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,960,4.6,CSH,15.5 +VTS,1,1,720,3.63,CRD,13.0 +VTS,1,5,420,1.48,CSH,7.0 +VTS,1,1,60,0.39,CSH,3.5 +VTS,1,1,420,0.76,CSH,5.5 +VTS,1,1,360,0.87,CSH,6.0 +VTS,1,1,300,1.36,CSH,6.5 +VTS,1,1,1320,4.04,CSH,17.0 +VTS,1,1,540,1.6,CRD,8.0 +VTS,1,1,240,0.7,CSH,5.0 +VTS,1,1,900,1.64,CRD,10.0 +VTS,1,1,300,1.33,CRD,6.0 +VTS,1,1,540,1.71,CRD,8.5 +VTS,1,1,540,1.46,CSH,8.0 +VTS,1,1,720,2.66,CRD,11.0 +VTS,1,1,540,2.89,CSH,11.0 +VTS,1,5,600,2.64,CRD,10.5 +VTS,1,5,480,1.81,CRD,8.0 +VTS,1,5,360,0.75,CRD,5.5 +VTS,1,5,960,4.81,CSH,17.0 +VTS,1,2,420,1.02,CRD,6.0 +VTS,1,2,180,0.66,CSH,4.5 +VTS,1,3,420,1.93,CSH,8.0 +VTS,1,2,660,3.62,CSH,12.5 +VTS,5,1,0,0.0,CRD,9.5 +VTS,1,1,360,1.33,CSH,7.0 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,480,1.77,CRD,8.5 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,540,1.67,CSH,8.5 +VTS,1,1,420,0.68,CSH,6.5 +VTS,1,1,360,0.74,CSH,5.5 +VTS,1,1,180,0.37,CSH,4.0 +VTS,1,1,300,0.47,CSH,5.0 +VTS,1,1,480,1.36,CSH,7.0 +VTS,1,1,360,0.91,CSH,6.5 +VTS,1,1,960,5.16,CRD,18.0 +VTS,1,1,540,2.54,CSH,10.0 +VTS,1,1,420,1.72,CRD,7.5 +VTS,1,5,180,0.94,CSH,5.0 +VTS,1,1,600,3.04,CRD,11.5 +VTS,2,1,2100,19.87,CSH,52.0 +VTS,1,1,120,0.59,CSH,4.0 +VTS,1,1,1080,4.42,CSH,17.0 +VTS,1,1,660,1.39,CRD,8.5 +VTS,1,1,540,1.52,CRD,8.5 +VTS,1,1,960,1.42,CRD,11.0 +VTS,1,1,720,0.84,CRD,9.0 +VTS,1,1,1200,2.77,CRD,13.0 +VTS,1,1,900,3.97,CRD,15.0 +VTS,1,1,480,2.24,CRD,9.5 +VTS,1,5,180,0.56,CSH,4.0 +VTS,1,2,1980,9.88,CRD,32.5 +VTS,1,1,2340,6.28,CRD,27.5 +VTS,1,1,540,0.55,CSH,7.0 +VTS,1,1,720,3.7,CRD,13.5 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,420,1.69,CRD,8.0 +VTS,1,1,1380,5.73,CRD,21.5 +VTS,1,1,600,2.8,CSH,10.5 +VTS,1,5,540,1.56,CSH,8.5 +VTS,1,5,180,0.63,CSH,4.5 +VTS,1,5,300,1.16,CRD,6.0 +VTS,1,5,840,3.37,CRD,13.0 +VTS,1,1,420,1.75,CRD,7.5 +VTS,1,1,180,0.19,CSH,3.5 +VTS,1,1,600,1.33,CSH,9.0 +VTS,1,1,180,0.93,CRD,5.0 +VTS,1,1,1140,2.27,CRD,13.5 +VTS,1,1,240,1.15,CSH,6.0 +VTS,1,1,660,1.79,CSH,9.5 +VTS,1,1,240,1.27,CSH,6.0 +VTS,1,1,1020,2.74,CRD,12.5 +VTS,1,1,1260,3.51,CSH,14.5 +VTS,1,1,660,1.35,CSH,7.5 +VTS,1,1,840,2.2,CSH,11.0 +VTS,1,1,1080,2.81,CRD,13.5 +VTS,1,5,300,0.17,CRD,4.5 +VTS,1,5,780,1.77,CRD,10.5 +VTS,1,5,1440,5.09,CSH,20.5 +VTS,1,3,540,1.94,CSH,8.5 +VTS,1,1,480,1.62,CRD,7.5 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,1080,4.1,CSH,16.5 +VTS,1,1,540,1.76,CRD,9.0 +VTS,1,1,120,0.58,CRD,4.0 +VTS,1,1,360,1.54,CRD,7.0 +VTS,1,1,180,0.79,CSH,5.0 +VTS,1,1,960,2.44,CRD,11.5 +VTS,1,1,1080,3.44,CSH,14.5 +VTS,1,6,360,1.03,CSH,6.5 +VTS,1,6,480,1.39,CRD,8.0 +VTS,2,6,2280,18.85,CSH,52.0 +VTS,1,6,540,2.44,CRD,10.0 +VTS,1,6,840,1.69,CRD,10.5 +VTS,1,6,960,4.51,CSH,16.0 +VTS,1,6,840,4.61,CSH,16.5 +VTS,1,6,420,0.73,CRD,6.0 +VTS,1,6,180,0.83,CSH,5.0 +VTS,1,6,1080,4.84,CSH,18.5 +VTS,1,6,540,1.09,CSH,7.5 +VTS,1,6,240,0.75,CRD,5.0 +VTS,1,6,540,2.09,CSH,9.0 +VTS,1,6,840,1.9,CSH,10.5 +VTS,1,6,360,1.41,CSH,7.0 +VTS,1,6,960,3.18,CRD,13.5 +VTS,1,6,1920,4.36,CSH,13.5 +VTS,1,1,420,2.37,CRD,9.0 +VTS,1,1,1200,5.35,CSH,19.5 +VTS,1,1,540,0.88,CSH,7.0 +VTS,1,1,840,1.55,CSH,10.5 +VTS,1,1,420,0.65,CRD,6.0 +VTS,1,1,660,1.69,CRD,9.5 +VTS,1,1,660,1.8,CRD,9.5 +VTS,1,1,1800,4.59,CRD,21.5 +VTS,2,1,4260,17.23,CSH,52.0 +VTS,1,1,780,2.08,CSH,11.0 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,900,1.21,CSH,10.5 +VTS,1,1,540,1.53,CRD,8.5 +VTS,1,1,960,4.31,CSH,16.0 +VTS,1,5,300,1.07,CSH,6.0 +VTS,1,5,240,0.68,CSH,4.5 +VTS,1,5,360,1.35,CSH,7.0 +VTS,1,1,420,1.86,CSH,8.5 +VTS,1,1,1140,2.63,CRD,14.0 +VTS,1,1,240,0.42,CSH,4.5 +VTS,1,1,360,0.92,CRD,6.5 +VTS,1,1,1620,2.05,CRD,16.5 +VTS,1,1,480,0.81,CSH,7.0 +VTS,1,1,660,1.21,CSH,8.0 +VTS,1,5,1560,3.92,CRD,17.0 +VTS,1,5,1320,5.24,CRD,19.0 +VTS,1,5,720,1.68,CRD,10.0 +VTS,1,2,1380,1.94,CRD,13.5 +VTS,1,3,240,0.84,CSH,5.0 +VTS,1,2,600,2.41,CRD,9.5 +VTS,1,3,420,1.17,CRD,7.0 +VTS,1,2,600,2.56,CRD,10.0 +VTS,1,2,720,7.36,CSH,21.5 +VTS,1,1,300,0.67,CRD,5.5 +VTS,1,1,240,0.75,CSH,5.0 +VTS,1,2,1080,2.21,CSH,13.0 +VTS,1,2,600,1.33,CSH,8.0 +VTS,1,5,2040,7.67,CRD,29.0 +VTS,1,5,480,2.19,CSH,9.5 +VTS,1,5,840,1.46,CRD,10.5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,1440,6.11,CSH,21.5 +VTS,1,1,840,8.1,CRD,23.5 +VTS,1,1,2760,23.42,CRD,65.5 +VTS,1,1,420,1.64,CSH,7.5 +VTS,1,1,720,2.23,CRD,10.0 +VTS,1,1,300,0.68,CSH,5.0 +VTS,1,1,420,1.57,CSH,7.5 +VTS,1,1,720,6.3,CSH,18.5 +VTS,1,1,660,1.85,CRD,9.5 +VTS,1,1,300,1.43,CSH,6.0 +VTS,1,5,720,1.95,CSH,10.0 +VTS,1,6,420,1.72,CRD,8.0 +VTS,1,1,420,1.69,CRD,8.0 +VTS,1,1,360,0.88,CSH,5.5 +VTS,1,6,1680,5.84,CRD,23.0 +VTS,1,6,1680,8.34,CRD,28.0 +VTS,1,6,960,2.76,CRD,13.0 +VTS,1,2,840,1.64,CRD,10.0 +VTS,1,1,540,1.11,CRD,8.0 +VTS,1,1,360,0.91,CSH,6.0 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,840,1.4,CSH,9.5 +VTS,1,1,540,2.06,CRD,9.5 +VTS,1,1,540,1.47,CRD,8.5 +VTS,1,1,900,1.97,CSH,11.5 +VTS,1,1,360,0.98,CSH,6.0 +VTS,1,1,480,2.17,CRD,8.5 +VTS,1,1,120,1.07,CRD,5.0 +VTS,1,1,960,7.07,CRD,22.0 +VTS,1,1,360,1.37,CRD,7.0 +VTS,1,5,660,2.32,CRD,10.5 +VTS,1,5,420,1.54,CRD,7.0 +VTS,1,5,240,0.46,CSH,4.5 +VTS,1,5,180,0.79,CRD,4.5 +VTS,1,1,540,3.33,CRD,11.5 +VTS,1,1,540,3.43,CRD,12.0 +VTS,2,1,1980,17.68,CSH,52.0 +VTS,1,1,720,1.44,CRD,9.5 +VTS,1,1,1800,10.75,CRD,34.5 +VTS,1,1,960,9.19,CSH,26.5 +VTS,1,1,420,1.24,CSH,6.5 +VTS,1,1,1320,3.38,CSH,16.0 +VTS,1,1,300,0.69,CRD,5.5 +VTS,1,1,1980,4.57,CRD,22.5 +VTS,1,1,120,0.41,CRD,3.5 +VTS,1,1,300,1.17,CSH,5.5 +VTS,1,1,240,0.76,CSH,5.0 +VTS,1,1,360,0.52,CRD,5.0 +VTS,1,1,720,2.07,CSH,10.5 +VTS,1,1,1080,3.88,CRD,15.5 +VTS,1,1,1200,4.91,CSH,18.5 +VTS,1,1,1080,3.84,CRD,15.5 +VTS,1,5,420,0.86,CRD,6.5 +VTS,1,5,600,1.47,CRD,8.0 +VTS,1,3,660,2.22,CSH,9.5 +VTS,1,3,480,2.59,CRD,9.5 +VTS,1,3,900,6.2,CRD,20.5 +VTS,1,1,660,2.77,CRD,11.0 +VTS,1,1,840,4.15,CSH,14.5 +VTS,1,3,360,1.51,CRD,7.0 +VTS,1,3,120,0.36,CRD,4.0 +VTS,1,2,540,1.27,CRD,8.0 +VTS,1,2,660,1.95,CSH,10.0 +VTS,1,1,780,2.82,CRD,11.5 +VTS,1,1,780,1.04,CSH,9.5 +VTS,1,1,1560,4.43,CRD,19.5 +VTS,1,1,600,1.81,CRD,9.0 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,240,1.42,CRD,6.0 +VTS,1,1,660,1.96,CSH,9.5 +VTS,1,1,900,2.41,CSH,12.0 +VTS,1,1,420,0.63,CRD,6.5 +VTS,1,1,480,2.02,CSH,8.5 +VTS,1,1,960,1.87,CSH,12.0 +VTS,1,1,1140,3.15,CSH,14.5 +VTS,1,1,2340,5.44,CRD,27.0 +VTS,1,1,480,1.08,CRD,7.0 +VTS,1,1,420,1.31,CRD,7.0 +VTS,1,1,600,1.46,CSH,8.0 +VTS,1,1,780,4.34,CSH,14.5 +VTS,1,1,660,2.64,CSH,10.5 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,780,2.13,CRD,11.0 +VTS,1,1,4920,23.55,CSH,74.5 +VTS,1,1,480,1.1,CSH,7.0 +VTS,1,1,1020,3.13,CRD,13.5 +VTS,1,1,360,0.6,CSH,5.0 +VTS,1,1,720,3.18,CSH,12.5 +VTS,1,1,600,1.4,CRD,8.0 +VTS,1,1,660,2.19,CSH,9.5 +VTS,1,1,240,0.82,CRD,5.0 +VTS,1,1,1200,4.21,CRD,16.5 +VTS,1,1,720,4.35,CSH,14.0 +VTS,1,1,480,1.67,CRD,8.0 +VTS,1,1,300,1.26,CSH,6.0 +VTS,1,1,900,2.46,CRD,11.0 +VTS,1,1,240,1.1,CSH,5.0 +VTS,1,1,360,1.29,CRD,6.0 +VTS,1,6,300,0.76,CRD,5.5 +VTS,1,6,360,1.2,CRD,6.5 +VTS,1,6,120,0.62,CSH,4.0 +VTS,1,6,1260,5.09,CRD,20.0 +VTS,1,6,1140,4.07,CSH,14.5 +VTS,1,6,420,1.32,CRD,7.0 +VTS,1,6,300,1.63,CSH,7.0 +VTS,1,6,300,1.19,CRD,6.0 +VTS,1,6,300,1.38,CRD,6.0 +VTS,1,1,1980,6.79,CRD,27.0 +VTS,1,1,660,2.54,CRD,10.5 +VTS,1,1,420,0.98,CRD,6.5 +VTS,1,6,480,2.13,CRD,9.0 +VTS,1,6,600,1.47,CRD,8.5 +VTS,2,2,2700,18.65,CRD,52.0 +VTS,1,2,180,0.38,CSH,4.0 +VTS,1,1,240,1.01,CSH,5.0 +VTS,1,1,360,0.95,CRD,6.0 +VTS,1,1,420,1.63,CRD,7.5 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,120,0.82,CSH,4.5 +VTS,1,2,360,0.91,CSH,6.0 +VTS,1,5,300,0.84,CRD,5.5 +VTS,1,5,360,1.99,CSH,8.0 +VTS,1,5,1260,9.35,CRD,27.5 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,1620,5.33,CSH,21.0 +VTS,1,1,540,1.4,CSH,7.5 +VTS,1,1,480,1.41,CSH,7.5 +VTS,1,1,0,0.01,CSH,2.5 +VTS,1,1,600,1.55,CSH,8.5 +VTS,1,1,960,4.42,CRD,15.5 +VTS,1,1,840,2.24,CRD,11.0 +VTS,1,1,240,1.06,CRD,5.5 +VTS,1,1,1080,1.79,CSH,12.5 +VTS,1,1,300,0.69,CRD,5.0 +VTS,1,1,420,1.71,CRD,7.0 +VTS,1,1,360,1.29,CSH,7.0 +VTS,1,5,360,1.96,CSH,8.0 +VTS,1,1,780,1.63,CRD,8.5 +VTS,1,3,540,1.27,CRD,7.5 +VTS,1,2,1380,3.55,CSH,16.5 +VTS,1,2,720,3.27,CRD,12.5 +VTS,1,3,960,4.95,CSH,17.0 +VTS,1,1,960,4.03,CRD,15.0 +VTS,2,5,2100,17.52,CSH,52.0 +VTS,1,5,600,1.52,CRD,8.5 +VTS,1,5,1080,1.88,CRD,12.5 +VTS,1,5,780,2.03,CRD,10.5 +VTS,1,5,1500,9.03,CRD,29.0 +VTS,1,2,780,2.29,CSH,11.0 +VTS,1,2,480,0.81,CRD,7.0 +VTS,1,1,1020,2.65,CSH,13.5 +VTS,1,4,720,0.88,CRD,9.0 +VTS,1,3,480,1.58,CSH,7.5 +VTS,1,3,660,1.58,CSH,9.0 +VTS,1,3,1020,3.18,CRD,13.5 +VTS,1,3,120,0.54,CSH,4.0 +VTS,1,3,480,1.16,CRD,7.0 +VTS,1,3,1320,6.49,CRD,22.0 +VTS,1,3,600,2.24,CRD,9.5 +VTS,1,3,1620,9.83,CRD,30.0 +VTS,1,6,240,0.69,CRD,4.5 +VTS,1,6,660,1.16,CRD,8.5 +VTS,1,6,360,1.02,CRD,6.0 +VTS,1,6,120,0.6,CSH,4.0 +VTS,1,6,540,1.75,CRD,8.5 +VTS,1,6,360,0.7,CSH,5.5 +VTS,1,1,720,2.29,CRD,10.5 +CMT,1,2,620,1.3,CSH,8.5 +VTS,1,2,360,1.28,CSH,7.0 +VTS,1,5,1680,3.33,CRD,18.0 +VTS,3,5,1980,17.77,CSH,67.0 +VTS,1,1,120,0.42,CSH,4.0 +VTS,1,1,720,1.43,CSH,9.0 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,1980,8.95,CRD,30.0 +VTS,1,1,720,3.12,CRD,12.0 +VTS,1,1,660,2.03,CRD,9.5 +VTS,1,1,540,2.0,CRD,9.0 +VTS,1,1,240,0.62,CRD,5.0 +VTS,1,1,780,2.22,CSH,11.0 +VTS,1,1,120,0.91,CRD,4.5 +VTS,1,1,180,0.55,CRD,4.0 +VTS,1,1,780,4.21,CRD,14.0 +VTS,1,1,1260,4.93,CRD,18.0 +VTS,1,1,480,1.97,CSH,8.5 +VTS,1,5,960,2.04,CRD,11.5 +VTS,1,5,1860,4.11,CRD,20.5 +VTS,1,5,180,0.69,CRD,4.5 +VTS,1,1,240,0.81,CRD,5.0 +VTS,1,3,1080,4.96,CSH,18.0 +VTS,1,3,540,1.41,CRD,7.5 +VTS,1,4,720,1.96,CSH,10.0 +VTS,1,3,1260,2.62,CRD,14.0 +VTS,1,3,480,1.04,CSH,7.0 +VTS,1,2,840,3.13,CSH,13.5 +VTS,1,1,660,1.99,CSH,9.0 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,1,480,1.6,CSH,7.5 +VTS,1,1,960,3.72,CSH,15.0 +VTS,1,1,540,1.77,CSH,8.5 +VTS,1,1,1260,6.58,CSH,21.0 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,2,360,1.6,CSH,6.5 +VTS,1,2,1020,3.78,CRD,14.5 +VTS,1,2,540,2.44,CSH,10.0 +VTS,1,5,1140,2.33,CSH,12.5 +VTS,1,1,480,1.49,CRD,8.0 +VTS,1,1,300,1.05,CRD,6.0 +VTS,1,1,420,0.91,CSH,6.5 +VTS,1,1,240,0.65,CSH,5.0 +VTS,1,1,600,2.76,CRD,10.5 +VTS,1,5,660,3.06,CRD,11.5 +VTS,1,5,180,0.61,CRD,4.0 +VTS,1,5,1560,2.97,CRD,17.5 +VTS,1,5,840,3.92,CSH,14.0 +VTS,1,5,480,1.83,CSH,8.0 +VTS,1,1,540,1.93,CRD,8.0 +VTS,1,2,720,2.22,CSH,10.0 +VTS,1,2,1020,1.95,CSH,12.0 +VTS,1,2,600,4.8,CSH,14.5 +VTS,1,5,360,0.68,CSH,5.5 +VTS,1,5,180,0.65,CSH,4.5 +VTS,1,3,600,2.49,CRD,10.0 +VTS,1,3,1740,21.19,CRD,56.5 +VTS,1,4,780,2.22,CSH,11.0 +VTS,1,3,840,2.43,CSH,12.0 +VTS,1,3,60,0.3,CSH,3.0 +VTS,1,3,420,1.11,CRD,6.5 +VTS,1,3,120,0.56,CRD,4.0 +VTS,1,4,900,4.18,CSH,14.5 +VTS,1,3,420,1.32,CRD,7.0 +VTS,1,3,420,1.13,CSH,6.5 +VTS,1,3,1440,4.93,CRD,20.0 +VTS,3,3,2640,17.09,CRD,69.5 +VTS,1,3,1080,1.72,CRD,12.0 +VTS,1,3,1200,3.15,CRD,14.5 +VTS,1,6,780,1.69,CRD,9.5 +VTS,1,6,1200,3.2,CRD,15.5 +VTS,1,6,960,2.96,CSH,13.0 +VTS,1,1,360,0.77,CSH,5.5 +VTS,1,1,240,0.58,CSH,5.0 +VTS,1,1,540,1.72,CSH,8.5 +VTS,1,1,540,1.67,CSH,8.5 +CMT,1,3,1534,9.2,CSH,28.0 +CMT,1,2,738,2.6,CSH,11.0 +CMT,1,1,482,1.3,CSH,7.5 +VTS,1,3,720,3.61,CRD,13.0 +VTS,1,1,480,1.21,CRD,7.5 +VTS,1,3,360,1.06,CRD,6.5 +VTS,1,3,300,0.62,CSH,5.0 +VTS,1,3,180,0.48,CSH,4.0 +VTS,1,3,660,1.16,CSH,7.5 +VTS,1,3,660,2.47,CRD,10.5 +VTS,1,6,660,2.11,CRD,10.0 +VTS,1,6,480,1.58,CSH,8.0 +VTS,1,1,1020,2.73,CSH,12.5 +VTS,1,1,900,1.42,CSH,10.5 +VTS,1,1,720,2.27,CSH,10.0 +VTS,1,1,420,1.99,CSH,8.0 +CMT,1,1,607,2.3,CSH,10.0 +CMT,1,2,306,1.2,CSH,6.5 +CMT,1,1,394,2.5,CSH,9.5 +CMT,1,2,359,1.8,CSH,7.5 +CMT,1,1,525,1.8,CSH,8.0 +CMT,1,1,897,2.6,CRD,12.0 +CMT,1,2,561,1.4,CSH,7.5 +CMT,1,1,335,0.9,CRD,5.5 +CMT,1,1,1058,5.1,CSH,17.5 +CMT,1,1,597,1.8,CRD,8.5 +CMT,1,1,807,2.6,CSH,11.0 +CMT,1,2,702,1.7,CRD,9.0 +CMT,1,2,856,5.5,CSH,16.5 +VTS,1,1,120,0.75,CSH,4.0 +VTS,1,2,1920,8.3,CRD,30.0 +VTS,1,2,420,2.22,CRD,8.5 +VTS,1,2,1080,7.94,CRD,25.0 +VTS,1,5,240,1.14,CRD,5.5 +VTS,1,6,1260,6.53,CSH,22.0 +VTS,1,5,360,1.07,CSH,6.5 +VTS,1,5,960,2.94,CSH,13.5 +VTS,1,5,1020,4.15,CRD,16.0 +VTS,1,1,240,1.05,CRD,5.0 +VTS,1,1,960,2.75,CRD,12.5 +VTS,1,1,600,1.5,CRD,8.0 +VTS,1,1,900,3.27,CRD,13.0 +VTS,1,1,960,8.05,CRD,24.0 +VTS,1,2,720,1.49,CRD,9.5 +VTS,1,1,360,1.53,CRD,7.0 +VTS,1,1,360,1.68,CSH,6.5 +VTS,1,5,1260,2.75,CRD,15.5 +VTS,1,5,1320,2.25,CRD,15.0 +VTS,1,5,1500,6.61,CRD,22.0 +VTS,1,2,420,0.9,CRD,6.0 +VTS,1,2,900,1.24,CSH,10.0 +VTS,1,2,420,0.89,CSH,6.5 +VTS,1,4,540,1.73,CRD,8.5 +VTS,1,3,480,1.26,CSH,6.5 +VTS,1,3,840,2.54,CSH,12.0 +VTS,1,1,1020,5.47,CSH,18.5 +VTS,1,2,1320,4.82,CRD,19.0 +VTS,1,2,360,1.18,CRD,6.5 +VTS,1,2,300,1.54,CSH,6.5 +VTS,1,5,300,0.89,CSH,5.5 +VTS,1,5,420,0.68,CRD,6.5 +VTS,1,1,1200,7.59,CSH,23.0 +VTS,1,1,180,1.61,CRD,6.5 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,540,2.01,CSH,9.0 +VTS,1,1,1560,3.97,CRD,18.5 +VTS,1,1,780,1.27,CSH,10.0 +VTS,1,1,240,1.1,CRD,5.5 +VTS,1,1,1980,10.82,CSH,34.0 +VTS,1,1,480,1.76,CRD,8.0 +VTS,1,1,480,1.18,CSH,7.5 +VTS,1,1,480,1.74,CRD,8.0 +VTS,1,5,1380,4.07,CSH,18.0 +VTS,1,5,480,1.26,CSH,7.0 +VTS,1,5,420,0.93,CSH,6.0 +VTS,1,1,1320,4.97,CRD,18.5 +VTS,1,1,1080,4.51,CRD,16.5 +VTS,1,1,1200,4.24,CRD,17.0 +VTS,1,1,1380,3.35,CSH,16.5 +VTS,1,3,900,1.35,CRD,10.5 +VTS,1,3,420,0.83,CRD,6.0 +VTS,1,3,540,1.54,CRD,8.0 +VTS,1,3,720,1.84,CSH,10.0 +VTS,1,3,660,2.08,CSH,10.0 +VTS,1,3,1020,1.98,CRD,12.5 +VTS,1,3,240,0.66,CRD,4.5 +VTS,1,3,720,1.0,CRD,8.5 +VTS,1,3,840,1.74,CSH,10.5 +VTS,1,3,780,2.4,CRD,10.5 +VTS,1,3,1800,3.61,CRD,19.5 +VTS,1,3,1500,4.1,CRD,18.0 +VTS,1,1,1680,4.46,CRD,20.0 +VTS,1,1,780,2.69,CRD,11.5 +CMT,1,3,846,2.1,CSH,11.0 +CMT,1,2,812,3.6,CSH,13.0 +CMT,1,1,836,6.9,CSH,20.5 +CMT,1,1,616,0.9,CSH,7.5 +CMT,1,1,619,2.6,CRD,10.5 +CMT,1,1,372,0.7,CSH,5.5 +CMT,1,1,220,0.9,CSH,5.0 +CMT,1,1,1118,1.5,CSH,13.0 +CMT,1,1,137,0.5,CSH,4.0 +CMT,1,2,461,1.4,CSH,7.5 +CMT,1,2,1206,4.8,CSH,17.5 +CMT,1,1,290,0.5,CRD,5.0 +CMT,1,1,1247,5.0,CSH,19.0 +VTS,1,3,660,1.65,CRD,9.5 +VTS,1,6,180,0.52,CRD,4.0 +VTS,1,6,660,1.36,CRD,8.5 +VTS,1,6,240,0.78,CSH,5.0 +VTS,1,6,480,1.56,CRD,7.5 +VTS,1,6,1380,5.76,CRD,21.0 +VTS,1,1,180,0.55,CSH,4.0 +VTS,1,1,480,1.71,CRD,8.0 +CMT,1,2,1038,3.5,CSH,14.5 +CMT,1,1,599,3.3,CRD,11.5 +CMT,1,1,842,3.9,CSH,13.5 +CMT,1,1,501,1.7,CSH,8.5 +CMT,1,2,169,0.5,CSH,4.0 +CMT,1,1,1762,15.7,CRD,44.0 +CMT,1,1,1118,2.8,CRD,14.5 +CMT,1,1,1289,6.5,CSH,21.0 +CMT,1,1,494,1.5,CSH,7.5 +CMT,1,2,776,2.4,CRD,11.0 +CMT,1,1,719,2.4,CSH,10.5 +CMT,1,3,560,1.8,CSH,8.5 +CMT,1,1,579,2.2,CSH,9.5 +CMT,1,2,775,2.9,CRD,11.5 +CMT,1,2,650,3.5,CSH,13.0 +CMT,1,1,377,1.1,CRD,6.5 +CMT,1,1,1299,10.7,CRD,31.5 +CMT,1,1,332,1.4,CSH,6.5 +VTS,1,1,600,3.4,CSH,11.5 +VTS,1,1,1140,3.1,CSH,14.5 +VTS,1,1,420,0.72,CRD,6.0 +VTS,1,1,600,1.86,CSH,9.0 +VTS,1,1,240,0.41,CRD,5.0 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,780,2.56,CSH,12.0 +VTS,1,1,120,0.47,CRD,4.0 +VTS,1,1,900,1.88,CSH,11.0 +VTS,1,5,840,1.64,CSH,8.5 +VTS,1,5,300,1.24,CRD,6.0 +VTS,1,5,960,4.93,CRD,17.5 +VTS,1,2,240,0.54,CSH,5.0 +VTS,1,5,420,0.86,CSH,6.5 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,1,1020,1.93,CSH,12.5 +VTS,1,1,840,1.68,CRD,10.5 +VTS,1,1,600,1.47,CRD,8.5 +VTS,1,1,540,0.96,CSH,7.5 +VTS,1,1,840,1.31,CRD,10.0 +VTS,1,1,1020,2.76,CRD,14.0 +VTS,1,1,420,0.93,CSH,6.5 +VTS,1,5,540,0.74,CRD,7.0 +VTS,1,5,900,3.38,CRD,14.0 +VTS,1,5,2040,20.81,CRD,57.0 +VTS,1,3,1260,7.96,CRD,24.5 +VTS,5,1,0,0.0,CRD,60.0 +VTS,1,3,300,0.97,CRD,6.0 +VTS,1,2,540,4.26,CSH,13.0 +VTS,1,1,180,0.42,CSH,4.0 +VTS,1,1,600,2.37,CRD,10.0 +VTS,1,1,840,5.57,CRD,18.5 +VTS,1,2,600,1.33,CRD,8.0 +VTS,1,2,660,1.45,CRD,8.5 +VTS,1,2,300,1.59,CRD,6.5 +VTS,1,2,720,2.67,CSH,11.5 +VTS,1,2,600,1.79,CSH,8.5 +VTS,1,5,420,1.38,CSH,7.5 +VTS,1,1,360,1.56,CRD,7.0 +VTS,1,1,420,1.36,CRD,7.5 +VTS,1,1,1200,6.58,CRD,21.0 +VTS,1,5,1380,4.15,CSH,19.5 +VTS,1,5,1140,1.7,CSH,12.5 +VTS,1,5,780,4.26,CRD,14.5 +VTS,1,2,420,0.78,CSH,6.5 +VTS,1,2,1020,8.21,CSH,24.5 +VTS,1,3,1260,2.37,CSH,15.0 +VTS,1,3,300,0.79,CSH,5.0 +VTS,1,3,1200,3.26,CSH,14.0 +VTS,1,4,1200,3.34,CSH,15.5 +VTS,1,5,240,0.67,CRD,5.0 +VTS,1,6,300,1.27,CRD,6.0 +VTS,1,6,660,1.6,CRD,9.0 +VTS,1,3,420,1.32,CSH,6.5 +VTS,1,3,720,1.84,CRD,10.0 +VTS,1,3,360,0.53,CSH,6.0 +VTS,1,6,480,1.94,CSH,9.0 +VTS,1,5,660,2.38,CSH,10.0 +VTS,1,6,120,0.89,CSH,4.5 +VTS,1,1,1080,3.21,CSH,14.0 +VTS,1,1,540,0.88,CRD,7.5 +VTS,1,1,720,3.34,CRD,11.5 +VTS,1,1,1020,5.72,CRD,19.0 +VTS,1,1,1260,8.04,CRD,25.0 +CMT,1,1,248,0.4,CSH,4.5 +CMT,1,1,786,2.1,CRD,10.5 +CMT,1,1,218,0.6,CSH,4.5 +CMT,1,1,707,3.0,CSH,11.5 +CMT,1,1,671,1.8,CRD,9.0 +CMT,1,1,347,0.9,CRD,6.0 +CMT,1,1,744,4.1,CRD,14.5 +CMT,1,2,511,1.5,CSH,7.5 +CMT,1,1,1124,3.4,CRD,15.0 +CMT,1,1,639,1.9,CRD,9.5 +CMT,1,1,344,0.8,CSH,5.5 +CMT,1,2,330,1.9,CRD,7.5 +CMT,1,1,1760,6.6,CSH,25.0 +CMT,1,1,534,2.7,CRD,10.5 +CMT,1,1,601,1.0,CRD,7.5 +CMT,1,2,1394,6.7,CSH,23.5 +CMT,1,1,172,0.7,CRD,4.5 +CMT,1,1,174,0.8,CSH,4.5 +CMT,1,4,968,5.8,CSH,18.0 +CMT,1,1,535,1.7,CRD,8.5 +CMT,1,1,120,0.8,CRD,4.5 +CMT,1,1,705,2.1,CRD,10.0 +CMT,1,1,672,2.3,CSH,10.0 +CMT,1,1,872,2.3,CRD,11.5 +CMT,1,1,618,0.7,CRD,8.0 +CMT,1,1,336,1.0,CRD,6.0 +CMT,1,1,811,2.6,CSH,12.5 +CMT,1,1,957,4.2,CSH,15.5 +CMT,1,1,741,1.6,CRD,9.5 +CMT,1,1,518,1.7,CSH,8.0 +CMT,1,1,410,1.0,CRD,6.5 +CMT,1,1,472,2.3,CRD,9.0 +CMT,1,1,396,1.7,CRD,7.5 +CMT,1,1,352,1.8,CRD,7.5 +CMT,1,1,785,2.0,CRD,10.5 +CMT,1,3,268,0.7,CSH,5.0 +CMT,1,1,154,0.3,CSH,4.0 +CMT,1,1,377,1.3,CRD,6.5 +CMT,1,1,508,1.4,CSH,7.5 +CMT,1,1,361,2.2,CRD,8.5 +CMT,1,2,1060,4.5,CSH,16.5 +VTS,1,6,300,0.64,CSH,5.5 +VTS,1,6,120,0.42,CSH,4.0 +VTS,1,1,480,1.47,CSH,7.5 +CMT,1,1,2248,5.7,CRD,26.0 +CMT,1,1,1200,4.9,CRD,18.0 +CMT,1,1,383,0.8,CRD,6.0 +CMT,1,1,899,2.7,CSH,12.0 +CMT,1,1,993,6.4,CSH,20.0 +CMT,1,1,840,5.0,CRD,16.0 +CMT,1,1,682,1.6,CRD,9.5 +CMT,1,1,413,1.2,CRD,6.5 +CMT,1,1,642,2.0,CSH,9.5 +CMT,1,1,339,1.0,CRD,6.0 +CMT,1,1,581,3.0,CSH,10.5 +CMT,1,2,571,2.3,CRD,9.5 +CMT,1,1,219,0.7,CSH,5.0 +CMT,1,1,981,5.6,CSH,18.0 +CMT,1,2,397,1.4,CSH,7.0 +CMT,1,1,801,2.8,CSH,11.5 +CMT,1,1,539,0.5,CSH,7.0 +CMT,1,2,308,0.9,CSH,5.5 +CMT,1,1,317,0.7,CSH,5.5 +CMT,1,1,176,0.9,CSH,4.5 +CMT,1,1,990,2.6,CSH,13.0 +CMT,1,1,365,0.9,CRD,6.0 +CMT,1,2,352,1.5,CRD,7.0 +VTS,1,3,180,1.05,CRD,5.0 +VTS,1,3,480,1.18,CSH,7.0 +VTS,1,3,180,0.94,CSH,4.5 +VTS,1,3,540,1.7,CSH,8.0 +VTS,1,3,480,1.81,CRD,8.5 +VTS,1,3,180,0.75,CRD,4.5 +VTS,1,3,1140,6.58,CSH,21.0 +VTS,1,3,1020,1.45,CRD,11.0 +VTS,1,3,120,0.47,CRD,3.5 +VTS,1,3,360,0.47,CRD,5.5 +VTS,1,3,840,1.96,CSH,11.0 +VTS,1,6,840,3.35,CRD,13.0 +VTS,1,6,300,1.11,CRD,6.0 +VTS,1,6,720,1.2,CRD,8.5 +VTS,1,6,300,1.27,CSH,6.0 +VTS,1,5,960,3.71,CSH,14.0 +CMT,1,2,344,1.0,CSH,6.0 +CMT,1,2,787,3.3,CRD,13.0 +CMT,1,1,171,0.7,CRD,4.5 +CMT,1,1,707,2.4,CRD,10.5 +CMT,1,1,601,2.6,CRD,10.0 +CMT,1,2,256,0.6,CSH,4.5 +CMT,1,1,286,0.9,CSH,5.5 +CMT,1,2,539,3.9,CSH,13.0 +CMT,1,3,227,0.9,CRD,5.0 +CMT,1,2,392,1.2,CRD,6.5 +CMT,1,1,338,2.1,CRD,7.5 +CMT,1,1,829,3.5,CRD,13.0 +CMT,1,1,576,2.2,CRD,9.0 +CMT,1,1,556,2.5,CSH,10.0 +CMT,1,1,915,5.2,CRD,17.0 +CMT,1,1,1426,5.7,CRD,21.0 +CMT,1,1,222,1.1,CSH,5.0 +CMT,1,1,661,2.4,CRD,10.5 +CMT,1,1,710,2.7,CRD,10.5 +CMT,1,1,442,1.1,CSH,6.5 +CMT,1,1,949,4.0,CRD,15.0 +CMT,1,1,1079,6.2,CRD,20.5 +CMT,1,1,1068,2.8,CRD,13.0 +CMT,1,1,477,0.9,CRD,7.0 +CMT,1,1,530,2.0,CSH,8.5 +CMT,1,1,607,2.0,CRD,9.5 +CMT,1,1,670,2.0,CRD,9.5 +CMT,1,2,510,1.4,CSH,8.0 +CMT,1,2,195,0.8,CRD,4.5 +CMT,1,2,458,1.0,CRD,6.5 +CMT,1,1,582,1.5,CSH,8.5 +CMT,1,1,824,2.6,CRD,11.0 +CMT,1,2,901,4.0,CRD,15.0 +CMT,1,2,783,2.5,CRD,11.0 +CMT,1,1,376,0.8,CSH,6.0 +CMT,1,1,922,2.8,CRD,12.0 +CMT,1,1,659,2.6,CRD,10.5 +CMT,1,1,1678,6.4,CRD,22.5 +CMT,1,1,224,0.8,CSH,5.0 +CMT,1,1,280,1.2,CSH,6.0 +CMT,1,1,142,0.9,CRD,4.5 +CMT,1,1,597,2.1,CRD,9.5 +CMT,1,2,343,0.9,CRD,5.5 +CMT,1,1,225,0.5,CSH,4.5 +CMT,1,1,175,0.3,CSH,4.0 +CMT,1,1,365,1.0,CSH,6.0 +CMT,1,1,579,2.3,CRD,9.5 +CMT,1,2,1000,4.7,CSH,16.5 +CMT,1,2,903,4.3,CRD,15.5 +CMT,1,1,273,0.8,CSH,5.0 +CMT,1,1,332,1.3,CSH,6.0 +CMT,1,1,681,2.3,CSH,10.0 +CMT,1,2,581,2.7,CSH,10.5 +CMT,1,1,968,2.0,CSH,12.0 +CMT,1,2,965,4.0,CRD,14.5 +CMT,1,3,399,1.7,CSH,7.5 +CMT,1,4,1106,6.1,CSH,21.0 +CMT,1,1,486,1.2,CSH,7.0 +CMT,1,1,565,2.4,CRD,10.0 +CMT,1,1,273,0.7,CRD,5.0 +CMT,1,1,927,3.8,CSH,15.0 +CMT,1,1,720,2.6,CRD,11.0 +CMT,1,1,1610,3.7,CRD,18.5 +CMT,1,1,173,0.6,CRD,4.0 +CMT,1,1,314,1.7,CSH,7.0 +CMT,1,1,166,0.9,CRD,4.5 +CMT,1,1,1445,7.4,CRD,23.5 +CMT,1,1,790,4.4,CRD,15.0 +CMT,1,1,1145,4.4,CSH,17.0 +CMT,1,1,2652,11.4,CRD,41.0 +CMT,1,1,341,1.1,CSH,6.0 +CMT,1,1,466,1.4,CSH,7.0 +CMT,1,2,817,2.4,CRD,11.0 +CMT,1,2,872,3.3,CSH,13.0 +CMT,1,1,1207,5.0,CRD,18.0 +CMT,1,2,421,1.8,CSH,7.5 +CMT,1,2,292,1.8,CSH,7.0 +CMT,1,2,513,2.1,CRD,8.5 +CMT,1,2,107,0.7,CSH,4.0 +CMT,1,1,818,3.8,CSH,14.0 +CMT,1,2,266,1.2,CRD,6.0 +CMT,1,1,163,0.6,CSH,4.0 +CMT,1,1,813,2.8,CSH,11.5 +CMT,1,1,779,2.6,CRD,12.0 +CMT,1,1,571,1.7,CRD,8.5 +CMT,1,1,1215,3.8,CRD,16.5 +CMT,1,1,681,1.9,CRD,9.5 +CMT,1,3,1143,2.7,CSH,13.5 +CMT,1,1,451,1.1,CSH,7.0 +CMT,1,3,707,2.0,CRD,9.5 +CMT,1,2,225,0.7,CSH,4.5 +CMT,1,1,184,0.5,CRD,4.0 +CMT,1,2,1139,5.5,CRD,18.5 +CMT,1,1,858,3.9,CRD,14.0 +CMT,1,1,397,1.3,CRD,7.0 +CMT,1,1,432,1.4,CSH,7.0 +CMT,1,3,337,0.7,CSH,5.5 +CMT,1,1,171,1.2,CSH,5.5 +CMT,1,1,568,0.8,CRD,7.5 +CMT,1,1,948,3.4,CRD,14.0 +CMT,1,1,778,4.6,CSH,14.5 +CMT,1,1,337,1.0,CSH,6.0 +CMT,1,1,427,2.0,CSH,8.0 +CMT,1,1,288,0.6,CSH,5.0 +CMT,1,1,616,2.1,CSH,9.0 +CMT,1,1,626,2.2,CRD,9.5 +CMT,1,1,645,2.5,CRD,10.5 +CMT,1,1,227,0.6,CSH,4.5 +CMT,1,2,1797,3.9,CRD,20.0 +CMT,1,1,1612,4.4,CSH,21.0 +CMT,1,2,1863,13.9,CSH,40.0 +CMT,1,1,564,1.2,CSH,7.5 +CMT,1,1,1380,3.2,CSH,16.5 +CMT,1,2,1146,3.2,CRD,14.5 +CMT,1,1,212,0.9,CSH,5.0 +CMT,1,1,516,1.5,CSH,8.0 +CMT,1,1,594,1.6,CRD,8.5 +CMT,1,1,463,1.7,CSH,8.0 +CMT,1,1,338,1.9,CRD,7.5 +CMT,1,1,162,0.7,CSH,4.5 +CMT,1,1,892,3.4,CSH,14.0 +CMT,1,1,529,1.5,CRD,7.5 +CMT,1,1,192,0.6,CRD,4.0 +CMT,1,2,2380,9.2,CRD,32.5 +CMT,1,1,1601,5.0,CSH,20.0 +CMT,1,3,789,3.1,CRD,12.5 +CMT,1,1,201,0.7,CRD,4.5 +CMT,1,1,418,1.4,CSH,7.0 +CMT,1,4,363,1.2,CRD,6.5 +CMT,1,1,632,2.1,CRD,9.0 +CMT,1,1,918,2.8,CSH,12.0 +CMT,1,2,552,1.7,CSH,8.5 +CMT,1,1,253,0.9,CRD,5.5 +CMT,1,1,931,2.2,CRD,12.0 +CMT,1,1,768,5.3,CSH,17.0 +CMT,1,1,502,1.5,CSH,8.0 +CMT,1,1,364,1.2,CRD,6.5 +CMT,1,1,387,1.6,CRD,7.0 +CMT,1,1,977,2.8,CRD,12.5 +CMT,1,2,224,0.5,CSH,4.5 +CMT,1,2,422,1.3,CRD,7.0 +CMT,1,1,546,2.6,CSH,10.0 +CMT,1,1,1055,5.8,CRD,19.0 +CMT,1,1,297,1.0,CRD,6.0 +CMT,1,1,419,1.3,CSH,7.0 +CMT,1,1,360,1.1,CSH,6.0 +CMT,1,1,346,1.8,CSH,7.5 +CMT,1,1,411,1.3,CSH,7.5 +CMT,1,1,809,2.0,CSH,11.0 +CMT,1,3,791,3.3,CSH,12.5 +CMT,1,2,357,1.2,CSH,6.5 +CMT,1,1,826,4.6,CSH,15.0 +CMT,1,1,876,2.2,CRD,11.5 +CMT,1,2,803,2.8,CRD,11.5 +CMT,1,1,324,1.2,CRD,6.0 +CMT,1,1,828,1.8,CRD,10.5 +CMT,1,1,204,1.1,CSH,5.5 +CMT,1,1,980,4.7,CSH,16.5 +CMT,1,1,725,1.0,CRD,9.0 +CMT,1,1,702,4.0,CSH,13.5 +CMT,1,1,773,2.9,CRD,12.5 +CMT,1,2,1179,3.4,CSH,14.5 +CMT,1,1,717,2.1,CRD,10.0 +CMT,1,2,517,2.3,CRD,9.0 +CMT,1,1,973,3.9,CRD,15.0 +CMT,1,1,684,2.4,CSH,10.5 +CMT,1,1,927,3.8,CRD,14.0 +CMT,1,1,870,4.3,CSH,15.5 +CMT,1,1,723,2.7,CRD,11.5 +CMT,1,1,587,3.1,CRD,11.5 +CMT,1,1,471,1.5,CSH,7.5 +CMT,1,1,999,4.9,CRD,17.0 +CMT,1,2,902,6.2,CRD,19.5 +CMT,1,3,156,0.5,CSH,4.0 +CMT,1,1,1166,3.7,CRD,15.0 +CMT,1,2,778,2.9,CRD,12.0 +CMT,1,1,583,1.4,CRD,8.5 +CMT,1,1,221,0.9,CRD,5.0 +CMT,1,1,615,2.4,CRD,9.5 +CMT,1,1,626,2.7,CSH,10.5 +CMT,1,1,850,2.6,CRD,12.0 +CMT,1,1,1013,3.8,CSH,15.0 +CMT,1,1,1096,4.2,CRD,17.0 +CMT,1,2,838,1.4,CRD,10.0 +CMT,1,2,1084,3.4,CSH,14.5 +CMT,1,1,384,1.3,CSH,7.0 +CMT,1,1,821,2.5,CSH,11.5 +CMT,1,1,231,0.9,CRD,5.0 +CMT,1,1,670,3.5,CSH,12.5 +CMT,1,2,998,4.2,CRD,15.0 +CMT,1,1,557,2.2,CSH,9.5 +CMT,1,1,185,0.8,CSH,4.5 +CMT,1,1,566,3.3,CRD,11.0 +CMT,1,1,519,2.1,CSH,9.0 +CMT,1,2,258,0.7,CSH,5.0 +CMT,1,1,672,2.2,CSH,10.5 +CMT,1,2,609,2.2,CRD,9.5 +CMT,1,1,642,2.2,CRD,10.5 +CMT,1,1,573,1.5,CRD,8.5 +CMT,1,1,374,1.6,CSH,7.0 +CMT,1,1,621,2.3,CRD,10.0 +CMT,1,1,786,1.3,CRD,9.0 +CMT,1,1,321,0.7,CRD,5.5 +CMT,1,2,1006,2.5,CRD,12.0 +CMT,1,1,989,3.0,CRD,13.5 +CMT,1,1,219,0.7,CSH,4.5 +CMT,1,1,335,0.5,CRD,5.0 +CMT,1,1,230,0.8,CSH,4.5 +CMT,1,1,809,3.2,CSH,13.0 +CMT,1,1,878,3.5,CRD,13.5 +CMT,1,1,219,0.7,CSH,4.5 +CMT,1,1,1299,6.2,CSH,21.0 +CMT,1,2,422,1.4,CRD,7.0 +CMT,1,1,650,2.1,CRD,9.5 +CMT,1,2,407,1.6,CRD,7.0 +CMT,1,1,1028,6.4,CSH,21.5 +CMT,1,2,340,1.7,CRD,7.0 +CMT,1,1,908,3.3,CSH,13.0 +CMT,1,1,705,2.4,CRD,11.0 +CMT,1,1,268,0.9,CRD,5.5 +CMT,1,2,512,1.4,CRD,7.5 +CMT,1,1,412,1.0,CRD,6.5 +CMT,1,1,1189,9.2,CRD,26.5 +CMT,1,1,327,1.0,CSH,6.0 +CMT,1,4,592,1.9,CSH,9.0 +CMT,1,1,938,3.8,CRD,15.0 +CMT,1,2,690,2.4,CSH,10.5 +CMT,1,1,437,0.5,CRD,6.0 +CMT,1,1,238,1.2,CSH,5.5 +CMT,1,1,184,0.6,CRD,4.0 +CMT,1,4,506,1.1,CSH,7.0 +CMT,1,2,309,1.4,CSH,6.0 +CMT,1,1,889,4.0,CRD,14.5 +CMT,1,1,787,3.6,CRD,13.0 +CMT,1,2,112,0.3,CSH,3.5 +CMT,1,1,323,1.4,CSH,6.5 +CMT,1,1,750,2.8,CSH,11.0 +CMT,1,1,306,0.9,CRD,5.5 +CMT,1,1,1009,1.0,CSH,11.0 +CMT,1,1,625,0.6,CSH,7.5 +CMT,1,1,605,1.0,CRD,8.0 +CMT,1,2,192,0.7,CRD,4.5 +CMT,1,1,2092,15.2,CSH,41.0 +CMT,1,1,397,1.3,CRD,6.5 +CMT,1,4,1091,3.5,CSH,14.5 +CMT,1,1,761,2.5,CSH,11.0 +CMT,1,1,200,0.7,CSH,4.5 +CMT,1,1,335,0.9,CSH,5.5 +CMT,1,4,357,0.7,CRD,5.5 +CMT,1,1,798,4.4,CSH,14.5 +CMT,1,1,159,0.6,CSH,4.0 +CMT,1,1,350,0.9,CSH,6.0 +CMT,1,1,524,1.8,CRD,8.0 +CMT,1,1,602,2.6,CSH,10.5 +CMT,1,1,1210,6.2,CSH,20.5 +CMT,1,1,1335,4.2,CRD,17.5 +CMT,1,1,343,0.9,CRD,6.0 +CMT,1,1,465,1.9,CSH,8.5 +CMT,1,1,451,0.9,CSH,7.0 +CMT,1,2,1073,3.7,CSH,14.5 +CMT,1,1,1043,4.4,CRD,16.5 +CMT,1,1,2592,12.0,CRD,39.5 +CMT,1,1,427,0.8,CRD,6.5 +CMT,1,1,1271,6.8,CRD,23.0 +CMT,1,1,207,0.7,CRD,4.5 +CMT,1,1,518,2.1,CRD,9.0 +CMT,1,1,190,0.5,CSH,4.5 +CMT,1,1,725,1.8,CRD,10.0 +CMT,1,2,426,1.3,CRD,7.0 +CMT,1,1,955,4.0,CRD,15.5 +CMT,1,1,575,1.5,CRD,8.0 +CMT,1,1,1629,5.1,CRD,21.5 +CMT,1,1,323,0.6,CRD,5.5 +CMT,1,1,1125,5.0,CSH,16.5 +CMT,1,1,554,1.2,CRD,7.5 +CMT,1,1,538,1.7,CRD,8.5 +CMT,1,1,885,2.1,CRD,11.0 +CMT,1,2,453,1.6,CSH,7.5 +CMT,1,1,745,3.0,CSH,11.5 +CMT,1,1,486,2.0,CRD,8.5 +CMT,1,1,283,0.8,CSH,5.5 +CMT,1,1,1351,3.2,CSH,15.5 +CMT,1,1,395,1.2,CSH,6.5 +CMT,1,1,1047,4.5,CSH,17.0 +CMT,1,1,1548,8.2,CRD,27.0 +CMT,1,1,190,0.4,CSH,4.0 +CMT,1,1,728,2.5,CSH,11.0 +CMT,1,2,430,1.4,CRD,7.5 +CMT,1,2,472,2.6,CSH,9.5 +CMT,1,1,575,2.3,CSH,9.5 +CMT,1,1,651,2.1,CSH,10.0 +CMT,1,3,892,5.5,CRD,17.0 +CMT,1,1,305,0.8,CRD,5.5 +CMT,1,1,676,2.6,CRD,11.0 +CMT,1,1,351,1.4,CSH,7.0 +CMT,1,1,878,6.4,CSH,19.5 +CMT,1,1,456,1.8,CSH,8.0 +CMT,1,1,1123,6.0,CRD,20.5 +CMT,1,1,531,1.6,CSH,8.0 +CMT,1,1,660,3.0,CRD,11.5 +CMT,1,1,288,0.5,CSH,5.0 +CMT,1,1,988,6.1,CRD,18.5 +CMT,1,1,1171,4.4,CRD,17.0 +CMT,1,1,283,0.7,CSH,5.0 +CMT,1,1,530,1.4,CRD,8.0 +CMT,1,3,251,0.8,CSH,5.0 +CMT,1,1,550,1.6,CSH,8.0 +CMT,1,2,247,1.1,CSH,5.5 +CMT,1,1,519,1.5,CRD,8.0 +CMT,1,1,845,3.3,CSH,13.0 +CMT,1,1,237,0.5,CSH,4.5 +CMT,1,1,1031,3.1,CRD,13.5 +CMT,1,1,124,0.7,CRD,4.0 +CMT,1,1,411,0.8,CSH,6.0 +CMT,1,1,1220,8.2,CSH,25.5 +CMT,1,1,478,1.7,CSH,7.5 +CMT,1,1,1126,1.4,CSH,12.0 +CMT,1,1,822,2.5,CSH,11.5 +CMT,1,1,434,0.9,CRD,6.5 +CMT,1,1,333,0.8,CRD,5.5 +CMT,1,1,574,1.5,CRD,8.0 +CMT,1,2,2447,13.3,CSH,39.5 +CMT,1,1,604,2.9,CRD,11.0 +CMT,1,1,565,1.6,CRD,8.0 +CMT,1,1,780,1.9,CSH,10.5 +CMT,1,1,2102,6.9,CRD,25.5 +CMT,1,1,259,0.6,CRD,4.5 +CMT,1,1,355,0.8,CRD,6.0 +CMT,1,1,672,2.5,CSH,10.5 +CMT,1,2,985,6.9,CSH,21.0 +CMT,1,1,223,0.7,CRD,4.5 +CMT,1,1,740,3.3,CRD,12.5 +CMT,1,1,1155,4.0,CRD,16.5 +CMT,1,1,359,0.5,CRD,5.5 +CMT,1,3,607,0.8,CSH,7.5 +CMT,1,2,280,0.7,CRD,5.0 +CMT,1,1,718,1.7,CSH,9.5 +CMT,1,1,786,0.9,CRD,9.0 +CMT,1,2,1506,2.9,CRD,17.0 +CMT,1,1,693,2.2,CSH,10.0 +CMT,1,1,432,0.8,CRD,6.0 +CMT,1,1,1006,5.4,CSH,17.5 +CMT,1,1,740,1.7,CSH,10.0 +CMT,1,1,1012,3.9,CSH,15.0 +CMT,1,1,624,1.8,CSH,9.0 +CMT,1,1,312,0.8,CRD,5.5 +CMT,1,1,181,0.7,CRD,4.5 +CMT,1,1,789,2.9,CRD,12.0 +CMT,1,2,798,3.5,CRD,12.5 +CMT,1,2,1400,5.3,CSH,20.5 +CMT,1,1,573,2.5,CRD,10.0 +CMT,1,1,322,0.9,CSH,5.5 +CMT,1,1,357,1.6,CSH,7.0 +CMT,1,1,576,1.9,CRD,9.0 +CMT,1,4,1303,8.0,CSH,25.5 +CMT,1,1,735,1.3,CSH,9.0 +CMT,1,1,503,0.9,CRD,6.5 +CMT,1,1,739,3.2,CRD,12.0 +CMT,1,1,691,3.0,CRD,11.5 +CMT,1,1,603,2.5,CSH,10.0 +CMT,1,1,442,1.1,CRD,7.0 +CMT,1,1,839,3.4,CRD,13.0 +CMT,1,2,604,2.1,CRD,9.0 +CMT,1,2,272,0.9,CRD,5.5 +CMT,1,1,360,1.2,CSH,6.5 +CMT,1,1,393,1.0,CRD,6.5 +CMT,1,1,349,1.0,CRD,6.0 +CMT,1,1,217,0.8,CSH,5.0 +CMT,1,1,546,1.7,CSH,8.5 +CMT,1,1,467,1.4,CSH,7.5 +CMT,1,2,1118,2.2,CRD,13.0 +CMT,1,2,706,2.2,CSH,10.0 +CMT,1,1,506,1.7,CRD,8.0 +CMT,1,1,872,2.7,CRD,13.0 +CMT,1,1,269,0.5,CSH,5.0 +CMT,1,1,629,1.7,CSH,9.0 +CMT,1,2,706,1.4,CRD,9.5 +CMT,1,1,276,1.0,CSH,5.5 +CMT,1,1,642,3.3,CRD,12.0 +CMT,1,1,678,3.4,CSH,12.5 +CMT,1,1,1415,5.7,CSH,21.0 +CMT,1,1,249,0.6,CSH,4.5 +CMT,1,1,224,0.7,CRD,5.0 +CMT,1,1,1447,3.3,CSH,16.5 +CMT,1,2,694,3.3,CSH,12.0 +CMT,1,1,1019,5.1,CSH,17.5 +CMT,1,2,608,0.7,CSH,7.5 +CMT,1,2,961,2.5,CRD,12.0 +CMT,1,1,729,6.7,CRD,19.5 +CMT,1,1,878,2.7,CSH,12.0 +CMT,1,1,907,3.6,CRD,14.0 +CMT,1,1,243,0.4,CSH,4.5 +CMT,1,1,112,0.4,CSH,3.5 +CMT,1,1,558,1.0,CRD,7.5 +CMT,1,4,369,1.4,CSH,6.5 +CMT,1,1,1467,4.8,CRD,20.0 +CMT,1,2,517,1.5,CSH,7.5 +CMT,1,1,729,2.4,CRD,10.5 +CMT,1,2,713,2.0,CRD,10.0 +CMT,1,1,640,3.4,CSH,12.0 +CMT,1,1,1187,10.3,CSH,29.0 +CMT,1,2,387,1.5,CSH,7.0 +CMT,1,1,216,0.7,CRD,4.5 +CMT,1,2,743,2.6,CRD,11.5 +CMT,1,1,2047,9.4,CRD,31.5 +CMT,1,2,1916,8.8,CRD,30.0 +CMT,1,1,791,3.1,CSH,13.0 +CMT,1,1,340,1.1,CSH,6.0 +CMT,1,3,463,2.3,CSH,9.0 +CMT,1,1,331,1.8,CRD,8.0 +CMT,5,1,46,0.0,CRD,10.0 +CMT,1,1,301,0.9,CSH,5.0 +CMT,1,1,226,0.6,CRD,4.5 +CMT,1,1,1259,4.2,CRD,16.5 +CMT,1,1,826,2.3,CRD,11.0 +CMT,1,1,244,1.0,CRD,5.5 +CMT,1,1,324,2.1,CRD,7.5 +CMT,1,1,1668,7.7,CRD,25.5 +CMT,1,1,154,0.4,CRD,4.0 +CMT,1,1,537,0.7,CRD,7.0 +CMT,1,1,1863,8.3,CRD,27.5 +CMT,1,1,358,1.0,CSH,6.0 +CMT,1,1,579,1.2,CSH,8.0 +CMT,1,4,1262,8.5,CRD,26.0 +CMT,1,1,1507,9.0,CRD,28.5 +CMT,1,3,1407,12.1,CRD,35.0 +CMT,1,1,863,3.3,CSH,13.0 +CMT,1,1,1070,4.5,CSH,16.5 +CMT,1,1,174,0.4,CSH,4.0 +CMT,1,1,912,1.4,CRD,11.0 +CMT,1,1,590,2.0,CSH,9.0 +CMT,1,1,820,3.3,CSH,12.5 +CMT,1,1,644,3.1,CRD,11.5 +CMT,1,1,138,0.4,CRD,3.5 +CMT,5,3,35,0.0,CRD,65.0 +CMT,1,1,785,2.3,CRD,10.5 +CMT,1,1,1506,7.1,CSH,24.5 +CMT,1,1,333,0.9,CRD,6.0 +CMT,1,1,676,3.7,CRD,12.5 +CMT,1,1,1179,3.4,CSH,15.0 +CMT,1,2,1339,5.6,CRD,20.5 +CMT,1,1,446,1.2,CRD,7.0 +CMT,1,1,347,1.1,CRD,6.0 +CMT,1,1,583,1.2,CSH,7.5 +CMT,1,1,956,1.5,CRD,11.0 +CMT,1,1,524,1.7,CRD,8.0 +CMT,2,3,17,0.0,CRD,52.0 +CMT,1,1,434,1.9,CRD,8.5 +CMT,1,1,1631,10.6,CRD,32.5 +CMT,1,1,1415,5.5,CSH,22.0 +CMT,1,2,2562,0.7,CSH,2.5 +CMT,1,1,1096,3.5,CSH,14.5 +CMT,1,1,539,0.9,CSH,7.0 +CMT,1,1,1321,3.1,CSH,14.5 +CMT,1,1,859,2.1,CSH,11.0 +CMT,1,3,357,0.9,CSH,6.0 +CMT,1,2,425,1.3,CSH,7.0 +CMT,1,1,512,1.6,CSH,8.0 +CMT,1,1,1718,13.5,CSH,38.0 +CMT,1,4,460,0.2,CSH,5.5 +CMT,1,1,392,1.3,CSH,6.5 +CMT,1,2,667,2.2,CSH,10.0 +CMT,1,1,354,1.0,CRD,6.0 +CMT,1,1,1025,3.8,CRD,15.0 +CMT,1,1,721,3.9,CRD,14.0 +CMT,1,1,1091,5.7,CRD,19.5 +CMT,1,2,698,3.3,CSH,12.0 +CMT,1,1,373,1.0,CRD,6.0 +CMT,2,2,2349,16.5,CRD,52.0 +CMT,2,2,1319,16.6,CRD,52.0 +CMT,1,2,1036,10.6,CRD,30.0 +CMT,1,1,1356,12.3,CRD,35.0 +CMT,1,3,583,1.8,CSH,9.0 +CMT,1,1,829,1.9,CRD,11.0 +CMT,1,1,1697,11.2,CRD,35.0 +CMT,2,1,1616,17.3,CRD,52.0 +CMT,1,1,1549,11.7,CRD,35.5 +CMT,1,1,520,0.1,CSH,6.5 +CMT,1,1,806,6.6,CSH,19.5 +CMT,1,1,1109,3.2,CRD,14.0 +CMT,1,1,1582,5.9,CSH,23.0 +CMT,1,1,494,1.6,CRD,7.5 +CMT,1,1,431,1.0,CRD,6.0 +CMT,1,2,714,1.8,CSH,10.0 +CMT,1,2,779,1.7,CSH,9.5 +CMT,1,1,73,0.4,CRD,3.0 +CMT,1,2,521,1.6,CSH,8.0 +CMT,1,1,436,1.5,CRD,7.0 +CMT,1,1,299,1.0,CRD,5.5 +CMT,1,1,721,3.2,CRD,12.0 +CMT,1,1,864,1.0,CSH,10.0 +CMT,1,1,295,0.7,CSH,5.0 +CMT,1,1,497,1.2,CSH,7.5 +CMT,1,1,2061,6.1,CRD,26.0 +CMT,1,1,509,1.4,CSH,7.5 +CMT,1,2,1563,11.7,CRD,35.5 +CMT,1,1,1522,10.2,CRD,30.0 +CMT,2,2,2371,16.4,CRD,52.0 +CMT,1,1,1391,10.7,CRD,31.0 +CMT,1,2,1021,4.4,CRD,17.0 +CMT,1,2,1292,12.3,CRD,35.0 +CMT,1,1,1495,2.8,CRD,17.0 +CMT,1,2,1319,12.1,CSH,34.5 +CMT,1,2,1002,10.5,CSH,29.5 +CMT,1,1,292,0.8,CSH,5.5 +CMT,1,1,338,1.0,CRD,6.0 +CMT,1,2,333,0.6,CSH,5.0 +CMT,1,1,665,1.7,CSH,9.5 +CMT,1,1,296,1.2,CSH,6.0 +CMT,1,1,789,2.0,CSH,10.5 +CMT,1,1,241,0.9,CRD,5.0 +CMT,1,1,762,2.5,CRD,11.0 +CMT,1,3,863,2.6,CRD,12.0 +CMT,1,1,818,2.3,CRD,11.5 +CMT,1,1,644,4.6,CRD,14.5 +CMT,1,1,514,1.2,CRD,7.5 +CMT,1,1,439,2.1,CRD,8.5 +CMT,1,3,459,1.0,CRD,7.0 +CMT,1,1,229,0.7,CSH,5.0 +CMT,1,2,418,1.3,CRD,7.0 +CMT,1,2,638,2.0,CSH,9.5 +CMT,1,1,152,0.6,CRD,4.0 +CMT,1,1,314,1.1,CRD,6.0 +CMT,1,1,277,1.1,CRD,5.5 +CMT,1,1,309,0.9,CSH,5.5 +CMT,1,1,500,1.2,CRD,7.0 +CMT,1,1,288,1.1,CRD,6.0 +CMT,1,1,1431,8.6,CRD,27.5 +CMT,1,1,921,5.6,CSH,18.5 +CMT,1,1,342,1.1,CRD,6.0 +CMT,1,1,355,0.8,CSH,5.5 +CMT,1,1,1145,10.4,CRD,29.5 +CMT,1,1,1793,11.0,CRD,34.0 +CMT,1,1,1637,11.7,CRD,35.0 +CMT,1,2,997,10.6,CRD,29.5 +CMT,1,1,2071,9.3,CRD,31.0 +CMT,5,1,41,0.0,CRD,92.0 +CMT,2,1,1433,17.1,CRD,52.0 +CMT,5,2,1538,14.4,CRD,93.0 +CMT,1,1,569,1.2,CRD,8.0 +CMT,1,1,452,1.0,CRD,7.0 +CMT,1,1,596,0.8,CRD,7.5 +CMT,2,1,1530,17.2,CRD,52.0 +CMT,1,1,1180,4.3,CRD,17.0 +CMT,2,1,2508,16.9,CRD,52.0 +CMT,2,1,2348,17.5,CRD,52.0 +CMT,2,3,1652,17.1,CRD,52.0 +CMT,5,1,36,0.0,CRD,92.0 +CMT,1,1,351,3.1,CSH,10.5 +CMT,1,2,1698,12.3,CRD,37.5 +CMT,1,1,2399,10.3,CRD,36.5 +CMT,2,1,2696,22.3,CRD,52.0 +CMT,1,1,542,1.8,CSH,8.5 +CMT,2,1,2737,17.2,CRD,52.0 +CMT,2,1,1732,17.7,CRD,52.0 +CMT,1,1,1997,12.8,CRD,38.5 +CMT,1,4,319,1.0,CSH,5.5 +CMT,1,2,212,0.6,CSH,4.5 +CMT,1,2,457,2.0,CSH,8.5 +CMT,1,1,229,0.7,CRD,4.5 +CMT,1,1,495,1.4,CRD,7.5 +CMT,1,1,814,2.1,CSH,11.0 +CMT,1,1,862,3.3,CRD,13.0 +CMT,1,1,114,0.7,CSH,4.0 +CMT,1,1,403,2.0,CSH,8.0 +CMT,1,1,237,0.4,CRD,4.5 +CMT,1,4,540,2.0,CRD,9.0 +CMT,1,2,1224,2.9,CSH,14.5 +CMT,1,1,725,2.3,CRD,10.0 +CMT,1,1,330,0.9,CSH,5.5 +CMT,1,1,354,1.2,CRD,6.0 +CMT,1,1,361,1.1,CRD,6.5 +CMT,1,1,453,1.3,CSH,7.0 +CMT,1,1,1386,3.0,CSH,16.0 +CMT,1,1,192,0.8,CRD,5.0 +CMT,1,1,512,1.7,CRD,8.0 +CMT,1,2,1379,12.5,CSH,35.5 +CMT,1,2,2483,12.4,CRD,38.0 +CMT,1,1,813,2.2,CSH,11.0 +CMT,1,2,1543,4.0,CSH,18.5 +CMT,2,1,1404,17.4,CRD,52.0 +CMT,2,1,2133,17.0,CRD,52.0 +CMT,1,1,296,1.5,CSH,6.0 +CMT,1,1,387,0.9,CSH,6.0 +CMT,1,1,897,2.8,CSH,12.0 +CMT,1,1,741,1.9,CRD,9.5 +CMT,1,2,1297,4.1,CRD,17.0 +CMT,1,1,291,0.7,CRD,5.0 +CMT,1,1,553,1.8,CRD,8.5 +CMT,1,1,1379,11.6,CRD,34.0 +CMT,1,2,1426,12.3,CSH,35.0 +CMT,1,2,1415,10.6,CSH,31.0 +CMT,1,1,612,1.7,CRD,9.5 +CMT,1,1,475,1.7,CRD,8.0 +CMT,1,1,1873,9.1,CRD,31.0 +CMT,2,1,2076,16.9,CRD,52.0 +CMT,2,2,1500,17.6,CRD,52.0 +CMT,2,1,1291,17.0,CRD,52.0 +CMT,1,1,2189,11.0,CRD,35.0 +CMT,1,1,844,1.4,CSH,10.5 +CMT,1,2,1902,12.7,CRD,38.5 +CMT,1,1,2434,12.7,CSH,42.0 +CMT,1,1,904,2.7,CSH,12.5 +CMT,1,1,99,0.3,CSH,3.5 +CMT,2,1,1948,17.4,CRD,52.0 +CMT,1,1,3009,16.6,CRD,53.0 +CMT,2,1,2897,16.3,CRD,52.0 +CMT,1,1,449,1.0,CSH,7.0 +CMT,2,1,2567,18.2,CRD,52.0 +CMT,1,1,1261,11.7,CSH,33.5 +CMT,1,1,2208,13.0,CRD,42.5 +CMT,1,1,1639,16.6,CSH,46.0 +CMT,1,1,1460,12.3,CRD,36.0 +CMT,1,1,1269,11.7,CSH,33.5 +CMT,1,1,363,0.8,CSH,6.0 +CMT,2,1,16,0.0,CRD,52.0 +CMT,2,1,1644,17.5,CRD,52.0 +CMT,1,1,165,0.3,CRD,4.0 +CMT,1,2,326,0.6,CSH,5.5 +CMT,5,1,35,0.0,CRD,92.0 +CMT,1,1,2016,11.7,CRD,39.5 +CMT,1,2,1672,12.3,CRD,37.0 +CMT,1,1,384,2.1,CSH,8.0 +CMT,1,1,712,1.5,CSH,9.5 +CMT,1,1,1164,3.8,CSH,15.0 +CMT,1,1,1026,4.1,CSH,16.0 +CMT,1,1,526,1.4,CRD,7.5 +CMT,1,1,1458,7.5,CRD,24.0 +CMT,1,1,174,0.6,CRD,4.0 +CMT,1,1,1357,6.9,CRD,22.5 +CMT,1,1,518,2.4,CSH,9.5 +CMT,1,1,1222,6.6,CRD,21.0 +CMT,1,1,1545,6.8,CRD,24.0 +CMT,1,1,432,1.0,CSH,6.5 +CMT,1,1,1932,12.2,CSH,37.5 +CMT,2,1,1328,17.0,CRD,52.0 +CMT,1,1,85,0.1,CSH,3.0 +CMT,1,1,274,0.9,CRD,5.5 +CMT,1,1,588,0.9,CSH,8.0 +CMT,1,1,538,1.1,CRD,7.5 +CMT,1,1,654,3.7,CRD,13.0 +CMT,1,1,179,1.0,CSH,5.0 +CMT,1,1,947,4.0,CRD,15.0 +CMT,1,1,435,1.4,CSH,7.5 +CMT,1,1,308,1.1,CSH,6.0 +CMT,1,1,718,2.9,CRD,11.5 +CMT,1,1,169,0.6,CRD,4.0 +CMT,1,1,740,2.9,CSH,11.5 +CMT,1,1,385,1.0,CRD,6.5 +CMT,1,1,234,0.7,CSH,4.5 +CMT,1,1,122,0.6,CRD,4.0 +CMT,1,1,1709,5.8,CSH,21.5 +CMT,1,1,202,0.7,CSH,4.5 +CMT,1,1,663,2.0,CRD,9.5 +CMT,1,1,386,1.2,CSH,6.5 +CMT,1,1,181,0.5,CRD,4.0 +CMT,4,1,997,5.2,CSH,18.5 +CMT,1,1,182,0.3,CSH,4.0 +CMT,1,1,902,3.0,CRD,13.0 +CMT,1,1,342,1.3,CRD,6.5 +CMT,2,2,16,0.0,CRD,52.0 +CMT,1,1,1283,10.7,CSH,31.5 +CMT,1,2,1397,11.7,CSH,34.0 +CMT,1,1,1459,2.9,CRD,17.0 +CMT,1,3,654,4.5,CRD,15.0 +CMT,1,1,460,1.6,CSH,8.0 +CMT,1,2,1502,12.3,CRD,36.0 +CMT,1,1,507,1.8,CRD,8.5 +CMT,1,1,1287,11.1,CSH,31.5 +CMT,1,1,2124,11.8,CRD,39.0 +CMT,1,1,1870,11.6,CRD,36.0 +CMT,1,1,1111,8.4,CRD,24.5 +CMT,1,1,832,2.3,CSH,11.0 +CMT,1,2,1488,11.9,CRD,35.0 +CMT,1,1,1645,11.0,CRD,32.5 +CMT,2,1,2689,17.8,CRD,52.0 +CMT,1,1,177,0.4,CSH,4.0 +CMT,1,1,809,5.9,CSH,18.5 +CMT,1,1,1109,4.1,CRD,16.0 +CMT,1,1,789,3.3,CSH,13.5 +CMT,1,1,748,2.4,CSH,11.5 +CMT,1,1,1380,5.5,CSH,20.5 +CMT,1,1,329,2.2,CSH,8.5 +CMT,1,1,204,0.6,CSH,4.5 +CMT,1,1,1002,2.5,CSH,13.0 +CMT,2,1,1765,18.4,CRD,52.0 +CMT,2,1,1397,17.1,CRD,52.0 +CMT,1,1,353,0.5,CSH,5.5 +CMT,1,3,844,3.5,CRD,14.5 +CMT,2,1,1595,17.1,CRD,52.0 +CMT,1,1,317,3.2,CSH,10.5 +CMT,1,1,1637,12.5,CRD,36.5 +CMT,1,1,557,4.0,CSH,13.0 +CMT,1,2,1460,10.3,CSH,30.5 +CMT,1,1,972,2.8,CRD,13.0 +CMT,1,1,1765,11.9,CRD,36.0 +CMT,1,1,1134,2.0,CSH,13.5 +CMT,2,1,1470,17.6,CRD,52.0 +CMT,1,1,344,1.0,CRD,6.0 +CMT,1,1,307,0.7,CRD,5.0 +CMT,1,1,691,1.8,CSH,10.0 +CMT,1,1,369,1.1,CRD,6.0 +CMT,1,1,451,1.1,CSH,7.0 +CMT,1,1,514,2.4,CRD,9.5 +CMT,1,1,283,0.7,CRD,5.0 +CMT,1,1,577,2.2,CSH,9.0 +CMT,1,1,454,1.3,CRD,7.0 +CMT,1,1,461,1.6,CRD,8.0 +CMT,1,1,487,1.6,CSH,8.0 +CMT,5,1,578,3.8,CRD,50.0 +CMT,1,1,589,1.6,CSH,8.5 +CMT,1,1,364,1.3,CSH,7.0 +CMT,1,1,943,4.2,CRD,15.0 +CMT,1,1,537,1.1,CSH,7.5 +CMT,1,1,632,2.0,CSH,9.5 +CMT,1,1,1486,13.7,CRD,39.0 +CMT,1,1,484,0.8,CSH,6.5 +CMT,1,1,117,0.5,CSH,3.5 +CMT,1,1,1805,6.9,CRD,25.0 +CMT,1,1,304,1.0,CRD,6.0 +CMT,1,1,250,0.7,CRD,5.0 +CMT,1,1,846,2.4,CSH,12.0 +CMT,1,1,188,0.9,CRD,5.0 +CMT,1,1,98,0.4,CSH,3.5 +CMT,1,1,225,1.0,CSH,5.0 +CMT,1,1,572,1.6,CRD,8.5 +CMT,1,1,805,1.4,CRD,10.0 +CMT,1,1,195,1.0,CRD,5.0 +CMT,1,1,871,4.5,CRD,16.0 +CMT,1,1,457,1.7,CRD,8.0 +CMT,1,1,377,1.8,CSH,7.5 +CMT,1,1,396,1.0,CSH,6.5 +CMT,1,1,220,1.0,CSH,5.0 +CMT,1,1,264,0.9,CRD,5.0 +CMT,1,1,480,1.8,CRD,8.0 +CMT,1,1,1031,3.2,CRD,14.0 +CMT,1,1,593,2.1,CSH,9.5 +CMT,1,1,749,1.5,CRD,9.5 +CMT,1,2,1624,12.8,CRD,38.0 +CMT,2,1,1540,17.2,CRD,52.0 +CMT,1,1,3106,11.4,CRD,43.5 +CMT,1,1,548,1.8,CRD,9.0 +CMT,1,1,2160,16.5,CRD,47.5 +CMT,1,1,721,1.5,CSH,9.5 +CMT,1,1,1636,12.3,CSH,36.5 +CMT,1,1,376,1.3,CSH,6.5 +CMT,1,1,2089,10.7,CRD,33.0 +CMT,1,1,2139,13.0,CSH,40.0 +CMT,1,1,937,1.5,CRD,11.0 +CMT,1,1,280,0.9,CSH,5.5 +CMT,1,1,1784,12.1,CSH,37.0 +CMT,1,1,1791,10.1,CRD,33.0 +CMT,1,1,864,4.2,CSH,14.0 +CMT,1,1,397,1.7,CSH,7.0 +CMT,1,1,2611,7.3,CRD,32.5 +CMT,1,1,214,0.7,CRD,4.5 +CMT,1,1,1365,4.8,CRD,19.0 +CMT,1,1,316,0.6,CRD,5.5 +CMT,1,1,441,1.0,CRD,6.5 +CMT,1,1,942,5.0,CRD,16.5 +CMT,1,1,589,2.1,CRD,9.5 +CMT,1,1,615,2.2,CRD,10.0 +CMT,1,1,683,2.7,CRD,10.5 +CMT,1,1,737,2.3,CRD,10.5 +CMT,1,1,365,1.5,CRD,7.0 +CMT,1,1,292,1.0,CRD,6.0 +CMT,1,2,229,0.8,CRD,4.5 +CMT,1,1,446,2.6,CRD,9.5 +CMT,1,2,562,2.2,CSH,9.5 +CMT,1,4,205,0.7,CSH,4.5 +CMT,1,1,1463,5.5,CRD,21.5 +CMT,1,1,372,1.8,CRD,7.5 +CMT,1,1,689,5.3,CRD,16.5 +CMT,1,1,1019,2.7,CSH,13.0 +CMT,1,1,606,2.1,CSH,9.5 +CMT,1,1,480,1.2,CRD,7.0 +CMT,1,1,301,0.7,CSH,5.5 +CMT,1,1,638,1.5,CSH,8.5 +CMT,1,1,275,0.6,CSH,5.0 +CMT,1,1,732,2.3,CSH,10.0 +CMT,1,1,949,3.0,CSH,13.0 +CMT,1,1,216,0.7,CSH,5.0 +CMT,1,1,476,1.3,CSH,7.5 +CMT,1,3,527,1.2,CRD,7.5 +CMT,1,1,1182,5.1,CRD,18.0 +CMT,1,1,116,0.7,CSH,4.0 +CMT,1,1,245,0.8,CSH,5.0 +CMT,1,1,559,1.0,CSH,7.5 +CMT,1,1,306,0.7,CRD,5.0 +CMT,1,1,730,3.6,CRD,12.5 +CMT,1,1,2040,16.3,CRD,46.0 +CMT,1,2,207,0.6,CSH,4.5 +CMT,1,1,1041,3.1,CSH,14.5 +CMT,1,2,550,1.8,CSH,8.5 +CMT,1,1,837,2.5,CRD,11.5 +CMT,1,1,460,2.3,CSH,8.5 +CMT,1,2,536,1.5,CSH,8.0 +CMT,1,1,1417,9.0,CSH,28.5 +CMT,1,2,582,3.4,CRD,11.5 +CMT,1,1,378,1.2,CRD,6.0 +CMT,1,1,776,2.0,CRD,10.5 +CMT,1,1,1209,5.2,CSH,18.5 +CMT,1,1,722,2.5,CSH,11.0 +CMT,1,1,1407,10.6,CSH,30.5 +CMT,1,1,841,2.7,CSH,12.0 +CMT,1,1,1324,4.6,CSH,18.0 +CMT,1,1,332,0.8,CRD,5.5 +CMT,1,1,1269,5.8,CRD,21.0 +CMT,1,1,666,1.6,CRD,9.0 +CMT,1,1,181,0.8,CRD,4.5 +CMT,1,1,1037,9.6,CSH,27.5 +CMT,1,1,315,1.2,CSH,6.0 +CMT,1,1,365,0.7,CRD,6.0 +CMT,1,1,962,8.2,CRD,24.0 +CMT,1,1,892,1.9,CSH,11.5 +CMT,1,2,1475,11.7,CSH,35.0 +CMT,1,1,1878,12.4,CSH,37.5 +CMT,1,1,1343,9.0,CRD,28.0 +CMT,1,1,1766,12.3,CRD,37.5 +CMT,1,1,656,2.3,CSH,10.0 +CMT,1,1,2097,13.0,CSH,39.5 +CMT,1,2,1762,12.5,CRD,37.0 +CMT,1,2,1610,6.3,CRD,23.5 +CMT,1,1,949,8.7,CRD,25.0 +CMT,1,1,160,1.1,CSH,5.5 +CMT,2,3,33,0.0,CRD,52.0 +CMT,1,1,625,2.9,CSH,11.5 +CMT,1,1,436,1.7,CRD,7.5 +CMT,1,1,193,0.6,CSH,4.0 +CMT,1,1,1446,2.8,CSH,16.5 +CMT,1,1,438,1.7,CSH,7.5 +CMT,1,1,268,0.7,CSH,5.0 +CMT,1,1,385,0.9,CSH,6.5 +CMT,1,1,741,3.2,CRD,12.5 +CMT,1,1,521,2.3,CSH,9.5 +CMT,1,1,608,2.3,CSH,9.5 +CMT,1,1,804,2.4,CSH,11.5 +CMT,1,1,311,1.0,CSH,6.0 +CMT,1,1,318,2.0,CSH,7.5 +CMT,1,1,663,1.8,CSH,9.0 +CMT,1,1,296,1.2,CRD,6.0 +CMT,1,1,428,1.7,CSH,7.5 +CMT,1,1,288,0.7,CRD,5.0 +CMT,1,1,333,1.5,CSH,6.5 +CMT,1,1,337,1.0,CSH,6.0 +CMT,1,1,277,1.2,CRD,6.0 +CMT,1,1,419,2.1,CSH,8.5 +CMT,1,1,227,0.8,CRD,5.0 +CMT,1,1,601,1.6,CSH,8.5 +CMT,1,1,445,2.3,CRD,8.5 +CMT,4,1,670,1.8,CRD,9.5 +CMT,1,1,418,1.8,CSH,8.0 +CMT,1,1,650,3.2,CRD,12.5 +CMT,1,1,298,1.1,CSH,6.0 +CMT,1,1,842,2.3,CRD,11.0 +CMT,1,1,139,0.4,CSH,3.5 +CMT,1,1,531,1.9,CSH,9.0 +CMT,1,1,503,2.7,CRD,10.5 +CMT,1,1,565,1.4,CSH,8.0 +CMT,1,1,613,2.0,CRD,9.5 +CMT,1,1,880,6.7,CRD,20.5 +CMT,1,1,217,1.5,CRD,6.0 +CMT,1,1,326,1.7,CSH,7.0 +CMT,1,1,437,0.9,CSH,6.5 +CMT,1,1,202,1.1,CSH,5.5 +CMT,1,1,555,2.8,CRD,10.0 +CMT,1,1,1644,5.3,CRD,21.0 +CMT,1,1,789,1.4,CRD,9.5 +CMT,1,1,165,0.5,CSH,4.0 +CMT,1,1,748,2.7,CSH,11.5 +CMT,1,1,1325,5.6,CRD,20.5 +CMT,1,1,219,1.2,CRD,5.5 +CMT,1,1,249,1.2,CSH,5.5 +CMT,1,1,1444,7.6,CRD,24.5 +CMT,1,1,998,6.7,CSH,20.0 +CMT,1,1,717,1.5,CRD,9.5 +CMT,1,1,694,1.8,CSH,9.5 +CMT,1,1,567,1.6,CRD,8.5 +CMT,1,1,222,0.6,CRD,4.5 +CMT,1,1,796,5.6,CRD,18.0 +CMT,1,1,975,9.3,CRD,27.0 +CMT,1,1,304,1.4,CSH,6.5 +CMT,1,1,1336,10.3,CRD,31.5 +CMT,1,1,347,1.0,CSH,6.0 +CMT,2,1,2470,17.7,CRD,52.0 +CMT,1,1,1040,1.6,CRD,11.0 +CMT,1,1,359,0.5,CRD,5.5 +CMT,1,1,454,1.2,CRD,6.5 +CMT,1,1,648,2.1,CRD,10.0 +CMT,1,1,365,1.1,CRD,6.5 +CMT,1,1,229,0.6,CSH,4.5 +CMT,1,1,1233,3.8,CRD,16.0 +CMT,1,1,492,1.0,CSH,7.5 +CMT,1,1,140,0.4,CSH,4.0 +CMT,1,1,366,0.7,CRD,5.5 +CMT,1,1,1595,5.2,CSH,20.0 +CMT,1,1,630,3.4,CRD,12.5 +CMT,1,1,580,2.7,CSH,10.5 +CMT,1,1,916,3.4,CRD,14.0 +CMT,1,1,650,3.8,CRD,13.5 +CMT,1,1,309,1.1,CSH,5.5 +CMT,1,1,337,0.9,CSH,6.0 +CMT,1,1,371,0.9,CRD,6.5 +CMT,1,1,470,2.3,CSH,9.5 +CMT,1,1,977,4.9,CSH,16.5 +CMT,1,1,1085,6.9,CRD,22.0 +CMT,1,1,1785,6.4,CRD,24.5 +CMT,1,1,526,1.4,CRD,8.0 +CMT,1,1,546,1.7,CSH,8.5 +CMT,1,1,606,2.6,CRD,10.5 +CMT,1,1,984,4.1,CSH,15.5 +CMT,1,1,281,0.9,CSH,5.5 +CMT,1,1,444,1.1,CRD,7.0 +CMT,1,1,780,6.7,CSH,20.5 +CMT,1,1,416,1.0,CSH,6.5 +CMT,1,1,1259,9.1,CRD,27.5 +CMT,1,1,1465,9.9,CRD,30.5 +CMT,1,1,246,0.7,CSH,4.5 +CMT,1,1,699,0.8,CSH,8.0 +CMT,1,1,1617,3.4,CRD,17.0 +CMT,1,1,639,2.1,CRD,9.0 +CMT,1,1,186,0.7,CRD,4.5 +CMT,1,1,674,3.7,CSH,13.0 +CMT,1,1,376,1.0,CSH,6.0 +CMT,1,1,949,3.9,CSH,15.5 +CMT,1,1,841,2.0,CRD,11.0 +CMT,1,1,708,2.5,CRD,10.5 +CMT,1,1,498,1.7,CRD,8.0 +CMT,1,1,793,2.7,CRD,11.0 +CMT,1,1,326,1.4,CRD,6.5 +CMT,1,1,395,1.9,CRD,8.0 +CMT,1,1,553,1.4,CSH,8.0 +CMT,1,1,568,1.5,CSH,8.5 +CMT,1,1,938,2.0,CRD,11.5 +CMT,1,1,300,0.9,CRD,5.5 +CMT,1,1,524,2.6,CSH,10.0 +CMT,1,1,703,2.4,CRD,10.5 +CMT,1,1,417,4.0,CRD,12.5 +CMT,1,1,409,2.0,CRD,8.0 +CMT,1,1,251,0.8,CRD,5.0 +CMT,1,1,998,1.0,CSH,11.0 +CMT,1,1,757,2.0,CRD,10.5 +CMT,1,1,778,2.4,CRD,11.0 +CMT,1,1,566,4.0,CRD,13.0 +CMT,1,1,817,3.8,CRD,14.0 +CMT,1,1,363,1.2,CRD,6.5 +CMT,1,1,901,2.2,CSH,12.0 +CMT,1,1,503,1.9,CSH,8.5 +CMT,1,1,742,3.3,CSH,12.5 +CMT,1,1,983,7.0,CSH,21.5 +CMT,1,1,820,1.9,CRD,10.5 +CMT,1,1,1108,5.4,CRD,19.0 +CMT,1,1,238,0.7,CRD,5.0 +CMT,1,1,171,0.7,CRD,4.5 +CMT,1,1,405,0.9,CSH,6.0 +CMT,1,1,1268,3.7,CSH,16.0 +CMT,1,1,1714,10.8,CRD,33.0 +CMT,1,1,284,0.7,CRD,5.5 +CMT,1,1,967,2.1,CRD,12.0 +CMT,1,1,385,1.0,CSH,6.0 +CMT,1,1,937,4.4,CRD,15.5 +CMT,1,1,247,0.9,CRD,5.0 +CMT,1,1,323,0.6,CSH,5.0 +CMT,1,1,381,1.1,CRD,6.5 +CMT,1,1,505,1.7,CSH,8.5 +CMT,1,1,569,1.6,CSH,8.5 +CMT,1,1,429,1.8,CRD,7.5 +CMT,1,1,443,1.8,CSH,8.0 +CMT,1,1,158,0.6,CRD,4.0 +CMT,1,1,673,2.3,CSH,10.0 +CMT,1,1,596,4.1,CSH,12.5 +CMT,1,1,531,1.9,CRD,9.0 +CMT,1,1,510,0.7,CRD,7.0 +CMT,1,1,43,0.1,CSH,2.5 +CMT,1,1,900,4.4,CSH,15.0 +CMT,1,1,281,0.8,CRD,5.5 +CMT,1,1,474,0.9,CRD,6.5 +CMT,1,1,128,0.5,CRD,3.5 +CMT,1,1,177,0.5,CRD,4.0 +CMT,1,1,271,0.7,CSH,5.0 +CMT,1,1,1516,8.4,CRD,28.0 +CMT,1,1,346,1.2,CSH,6.5 +CMT,1,1,545,1.5,CSH,8.0 +CMT,1,1,1341,3.1,CRD,15.5 +CMT,1,1,481,2.1,CSH,9.0 +CMT,1,1,1072,1.8,CRD,12.5 +CMT,1,1,213,0.6,CSH,4.5 +CMT,1,1,1303,4.6,CRD,17.5 +CMT,1,1,294,0.5,CRD,5.0 +CMT,1,1,363,0.9,CRD,6.0 +CMT,1,1,230,0.4,CSH,4.5 +CMT,1,1,1274,3.2,CRD,16.0 +CMT,1,1,245,0.6,CRD,5.0 +CMT,1,1,514,2.1,CSH,9.0 +CMT,1,1,188,0.8,CSH,4.5 +CMT,1,1,270,0.7,CSH,5.0 +CMT,3,1,1741,15.8,CRD,62.0 +CMT,1,1,1379,5.0,CSH,20.0 +CMT,1,1,1003,3.5,CRD,14.0 +CMT,1,1,274,0.8,CRD,5.5 +CMT,1,1,414,0.8,CRD,6.0 +CMT,1,1,1069,3.7,CRD,15.0 +CMT,1,1,808,3.7,CRD,14.5 +CMT,1,1,311,1.2,CRD,6.0 +CMT,1,1,236,1.5,CSH,6.0 +CMT,1,1,508,2.0,CRD,8.5 +CMT,1,1,147,0.4,CRD,4.0 +CMT,1,1,915,2.7,CRD,12.0 +CMT,1,1,243,0.9,CSH,5.0 +CMT,1,1,478,2.3,CSH,9.0 +CMT,1,1,558,2.4,CSH,9.5 +CMT,1,1,661,1.6,CRD,9.0 +CMT,1,1,910,2.7,CSH,12.5 +CMT,1,1,381,1.1,CRD,6.0 +CMT,1,1,476,1.8,CSH,8.5 +CMT,1,1,118,0.5,CRD,4.0 +CMT,1,1,317,1.0,CRD,6.0 +CMT,1,1,391,1.8,CRD,7.5 +CMT,1,1,362,1.1,CSH,6.5 +CMT,1,1,482,1.1,CSH,7.0 +CMT,1,1,1397,3.8,CRD,17.0 +CMT,1,1,434,1.2,CRD,7.0 +CMT,1,1,162,0.7,CSH,4.5 +CMT,1,1,411,1.4,CRD,7.0 +CMT,1,1,285,0.2,CRD,4.5 +CMT,1,1,375,0.4,CSH,5.5 +CMT,1,1,252,0.5,CSH,4.5 +CMT,1,1,814,2.0,CRD,10.5 +CMT,1,1,593,2.3,CRD,9.5 +CMT,1,1,787,2.3,CRD,11.0 +CMT,1,1,264,0.7,CSH,5.0 +CMT,1,1,699,2.5,CRD,10.5 +CMT,1,1,270,1.3,CRD,6.0 +CMT,1,1,513,1.8,CRD,8.0 +CMT,1,1,494,1.9,CRD,8.0 +CMT,1,1,277,1.0,CRD,6.0 +CMT,1,1,347,1.1,CSH,6.0 +CMT,1,1,838,2.2,CRD,11.0 +CMT,2,1,1931,18.1,CRD,52.0 +CMT,1,1,882,7.8,CSH,23.5 +CMT,1,1,198,0.9,CRD,5.0 +CMT,1,1,445,1.1,CRD,7.0 +CMT,1,1,379,1.0,CRD,6.5 +CMT,1,1,162,0.4,CSH,4.0 +CMT,1,1,115,0.5,CSH,3.5 +CMT,1,1,474,0.9,CSH,7.0 +CMT,1,1,278,0.9,CRD,5.5 +CMT,1,1,298,1.0,CRD,5.5 +CMT,1,1,478,1.5,CSH,8.0 +CMT,1,1,328,1.1,CRD,6.0 +CMT,1,1,472,1.8,CRD,8.5 +CMT,1,1,360,1.6,CRD,7.0 +CMT,1,1,751,3.5,CRD,13.0 +CMT,1,1,796,3.5,CSH,13.0 +CMT,1,1,434,1.3,CSH,7.0 +CMT,1,1,1627,7.5,CSH,26.0 +CMT,1,1,704,3.0,CRD,12.0 +CMT,1,1,392,0.7,CSH,6.0 +CMT,1,1,1085,9.4,CSH,27.0 +CMT,1,1,1076,6.9,CSH,21.5 +CMT,1,1,673,3.4,CRD,12.0 +CMT,1,1,650,3.3,CRD,12.0 +CMT,1,1,398,1.9,CSH,8.5 +CMT,1,1,401,1.2,CRD,6.5 +CMT,1,1,1490,5.8,CSH,20.5 +CMT,1,1,213,0.8,CSH,5.0 +CMT,1,1,372,1.8,CSH,7.5 +CMT,1,1,515,1.4,CSH,7.5 +CMT,1,1,1429,4.8,CSH,18.0 +CMT,1,1,416,2.1,CRD,8.5 +CMT,1,1,1205,2.7,CRD,13.5 +CMT,1,1,793,2.1,CRD,10.0 +CMT,1,1,1714,10.7,CRD,32.0 +CMT,1,1,979,4.2,CSH,16.0 +CMT,1,1,915,3.7,CRD,15.0 +CMT,1,1,734,2.9,CSH,11.5 +CMT,1,1,961,3.2,CRD,13.5 +CMT,1,1,565,1.6,CRD,8.5 +CMT,1,1,547,2.6,CRD,10.0 +CMT,1,1,403,2.0,CSH,8.0 +CMT,1,1,443,1.5,CSH,7.0 +CMT,1,1,839,2.2,CSH,11.0 +CMT,1,1,928,2.4,CRD,12.0 +CMT,1,1,970,3.3,CRD,14.0 +CMT,1,1,559,1.4,CRD,8.0 +CMT,1,1,878,2.9,CRD,12.5 +CMT,1,1,1593,5.8,CRD,22.5 +CMT,1,1,535,3.7,CRD,12.5 +CMT,1,1,435,1.4,CSH,7.5 +CMT,1,1,1005,4.0,CRD,16.0 +CMT,1,1,795,3.9,CSH,14.0 +CMT,1,1,170,0.5,CSH,4.0 +CMT,1,1,659,2.0,CSH,9.5 +CMT,1,1,341,1.1,CSH,6.0 +CMT,1,1,1286,4.5,CRD,18.0 +CMT,1,1,742,3.5,CRD,12.5 +CMT,1,1,1674,5.9,CRD,22.5 +CMT,1,1,230,0.8,CRD,5.0 +CMT,1,1,1344,3.3,CRD,17.0 +CMT,1,1,1070,4.6,CSH,16.0 +CMT,1,1,1034,4.2,CSH,15.5 +CMT,1,1,645,1.8,CSH,9.0 +CMT,2,1,3531,18.2,CSH,52.0 +CMT,1,1,446,1.3,CSH,7.5 +CMT,1,1,518,1.9,CRD,8.5 +CMT,1,1,54,0.1,CSH,3.0 +CMT,1,1,353,0.9,CSH,6.0 +CMT,1,1,601,2.0,CRD,9.5 +CMT,1,1,257,1.1,CRD,5.5 +CMT,1,1,383,1.2,CSH,6.0 +CMT,1,1,645,0.9,CSH,8.0 +CMT,1,1,243,0.6,CRD,4.5 +CMT,1,1,405,2.2,CSH,8.5 +CMT,1,1,834,3.8,CRD,14.0 +CMT,1,1,562,1.2,CRD,8.0 +CMT,1,1,1103,1.1,CRD,12.0 +CMT,1,1,1290,3.3,CSH,15.5 +CMT,1,1,1714,3.9,CSH,20.0 +CMT,1,1,264,0.6,CRD,5.0 +CMT,1,1,549,1.6,CSH,8.0 +CMT,1,1,369,0.8,CRD,6.0 +CMT,1,1,259,0.5,CSH,5.0 +CMT,1,1,160,0.5,CRD,4.0 +CMT,1,1,780,2.7,CSH,11.5 +CMT,1,1,671,1.9,CRD,9.5 +CMT,1,1,311,0.7,CSH,5.5 +CMT,1,1,559,2.7,CRD,10.0 +CMT,1,1,412,1.3,CSH,7.0 +CMT,1,1,482,1.5,CSH,8.0 +CMT,1,1,331,1.2,CSH,6.0 +CMT,1,1,216,0.5,CRD,4.5 +CMT,1,1,744,2.7,CSH,11.0 +CMT,1,1,563,2.4,CRD,9.5 +CMT,1,1,365,1.3,CRD,6.5 +CMT,1,1,45,0.3,CSH,3.0 +CMT,1,1,634,2.0,CRD,9.5 +CMT,1,1,421,1.0,CSH,6.5 +CMT,1,1,319,1.2,CRD,6.0 +CMT,1,1,447,1.0,CRD,7.0 +CMT,1,1,1353,4.0,CSH,16.5 +CMT,1,1,452,1.4,CRD,7.0 +CMT,1,1,1266,3.6,CSH,16.0 +CMT,1,1,245,0.7,CRD,5.0 +CMT,1,1,1077,3.4,CRD,14.0 +CMT,1,1,403,1.0,CSH,6.5 +CMT,1,1,1036,3.8,CRD,14.5 +CMT,1,1,550,4.8,CRD,15.0 +CMT,1,1,1081,1.7,CSH,12.0 +CMT,1,1,1119,2.6,CRD,13.5 +CMT,1,1,366,0.9,CSH,6.0 +CMT,1,1,574,0.8,CRD,7.5 +CMT,1,1,386,1.2,CRD,6.5 +CMT,1,1,336,1.0,CSH,5.5 +CMT,1,1,576,1.4,CRD,8.5 +CMT,1,1,529,1.9,CSH,8.5 +CMT,1,1,821,3.3,CSH,13.5 +CMT,1,1,345,1.3,CSH,6.5 +CMT,1,1,997,1.9,CRD,12.0 +CMT,1,1,256,0.7,CSH,5.0 +CMT,1,1,342,1.4,CRD,6.5 +CMT,1,1,166,0.7,CSH,4.5 +CMT,1,1,68,0.2,CRD,3.0 +CMT,1,1,754,3.2,CRD,12.5 +CMT,1,1,965,5.2,CRD,18.0 +CMT,1,1,564,2.9,CRD,11.0 +CMT,1,1,602,1.9,CSH,9.0 +CMT,1,1,1052,2.0,CRD,12.0 +CMT,1,1,592,2.2,CSH,9.5 +CMT,1,1,1304,4.5,CRD,18.5 +CMT,1,1,532,1.8,CRD,8.5 +CMT,1,1,602,1.9,CRD,9.5 +CMT,1,1,617,1.8,CSH,9.5 +CMT,1,1,1077,7.0,CRD,22.5 +CMT,1,1,387,1.3,CRD,6.5 +CMT,1,1,1042,3.1,CRD,13.5 +CMT,1,1,316,0.9,CSH,5.5 +CMT,1,1,874,3.0,CSH,12.5 +CMT,1,1,472,1.5,CSH,7.5 +CMT,1,1,629,2.0,CRD,9.5 +CMT,1,1,1032,3.5,CRD,15.0 +CMT,1,1,619,1.4,CRD,8.5 +CMT,1,1,416,1.3,CRD,7.0 +CMT,2,1,2170,22.2,CSH,52.0 +CMT,1,1,711,3.2,CSH,11.5 +CMT,1,1,495,2.2,CRD,9.0 +CMT,1,1,281,1.2,CRD,6.0 +CMT,1,1,448,2.1,CRD,8.5 +CMT,1,1,287,0.9,CSH,5.5 +CMT,1,1,213,0.5,CSH,4.5 +CMT,1,1,499,1.1,CRD,7.5 +CMT,1,1,189,0.8,CRD,4.5 +CMT,1,1,396,1.0,CRD,6.5 +CMT,1,1,365,2.1,CRD,8.0 +CMT,1,1,763,2.0,CRD,10.5 +CMT,1,1,451,1.5,CSH,7.5 +CMT,1,1,575,1.7,CRD,8.5 +CMT,1,1,347,1.2,CSH,6.5 +CMT,1,1,645,2.0,CSH,9.5 +CMT,1,1,266,0.8,CRD,5.5 +CMT,1,1,906,3.4,CSH,13.5 +CMT,1,1,897,2.8,CSH,12.5 +CMT,1,1,678,2.1,CRD,9.5 +CMT,1,1,286,0.4,CSH,5.0 +CMT,1,1,1499,10.7,CRD,32.0 +CMT,1,1,701,2.4,CSH,10.5 +CMT,1,1,1048,2.8,CRD,13.5 +CMT,1,1,495,1.4,CRD,7.5 +CMT,1,1,514,1.4,CRD,8.0 +CMT,1,1,1128,3.2,CSH,14.5 +CMT,1,1,511,1.8,CSH,8.5 +CMT,1,1,513,1.5,CSH,8.0 +CMT,1,1,521,1.8,CRD,8.5 +CMT,1,1,468,1.3,CRD,7.0 +CMT,1,1,763,4.1,CRD,14.5 +CMT,1,1,295,1.0,CRD,6.0 +CMT,1,1,863,4.9,CSH,16.5 +CMT,1,1,221,1.0,CSH,5.5 +CMT,1,1,572,1.5,CRD,8.0 +CMT,1,1,249,1.0,CSH,5.5 +CMT,1,1,319,0.8,CSH,5.5 +CMT,1,1,128,0.6,CSH,4.0 +CMT,1,1,359,0.8,CSH,6.0 +CMT,1,1,223,0.9,CSH,5.0 +CMT,1,1,212,0.3,CSH,4.0 +CMT,1,1,158,0.5,CSH,4.0 +CMT,1,1,476,1.6,CRD,8.0 +CMT,1,1,489,1.2,CSH,7.0 +CMT,1,1,333,1.4,CRD,6.5 +CMT,1,1,564,2.1,CRD,9.0 +CMT,1,1,331,1.0,CRD,6.0 +CMT,1,1,367,0.6,CSH,6.0 +CMT,1,1,621,1.7,CSH,9.0 +CMT,1,1,897,2.9,CRD,12.5 +CMT,1,1,536,1.4,CRD,7.5 +CMT,1,1,775,3.0,CRD,11.5 +CMT,1,1,819,2.8,CSH,11.5 +CMT,1,1,922,5.2,CSH,18.0 +CMT,1,1,232,0.7,CRD,4.5 +CMT,1,1,168,0.7,CSH,4.5 +CMT,1,1,1216,7.8,CRD,24.5 +CMT,1,1,617,1.6,CRD,8.5 +CMT,1,1,818,2.2,CSH,11.0 +CMT,1,1,468,1.8,CRD,8.0 +CMT,1,1,292,1.2,CSH,6.5 +CMT,1,1,578,1.5,CRD,8.5 +CMT,1,1,1897,9.2,CRD,31.5 +CMT,1,1,465,1.4,CRD,7.0 +CMT,1,1,1050,3.9,CSH,15.5 +CMT,1,1,364,1.1,CSH,6.5 +CMT,1,1,840,2.0,CSH,11.0 +CMT,1,1,942,4.7,CSH,17.0 +CMT,1,1,852,2.7,CSH,12.0 +CMT,1,1,315,0.8,CSH,5.5 +CMT,1,1,394,1.8,CSH,7.5 +CMT,1,1,327,1.3,CRD,6.0 +CMT,1,1,713,1.8,CRD,10.0 +CMT,1,1,289,0.6,CRD,5.0 +CMT,1,1,289,1.2,CSH,6.0 +CMT,1,1,291,1.3,CRD,6.0 +CMT,1,1,269,1.0,CSH,5.5 +CMT,1,1,235,0.9,CRD,5.0 +CMT,1,1,145,0.6,CRD,4.0 +CMT,1,1,318,0.7,CRD,5.0 +CMT,1,1,85,0.5,CRD,3.5 +CMT,1,1,231,0.9,CRD,5.0 +CMT,1,1,1835,4.6,CSH,21.0 +CMT,1,1,254,1.0,CSH,5.0 +CMT,1,1,307,0.8,CSH,5.5 +CMT,1,1,309,1.1,CRD,6.0 +CMT,1,1,639,1.4,CRD,9.0 +CMT,1,1,416,0.9,CRD,6.5 +CMT,1,1,261,0.8,CRD,5.0 +CMT,1,1,665,2.5,CSH,10.0 +CMT,1,1,532,1.2,CRD,7.5 +CMT,1,1,324,1.5,CRD,6.5 +CMT,1,1,675,0.9,CRD,8.5 +CMT,1,1,649,2.4,CRD,10.0 +CMT,1,1,364,0.8,CSH,6.0 +CMT,1,1,277,1.0,CRD,5.5 +CMT,1,1,1203,3.1,CRD,15.0 +CMT,1,1,557,1.9,CSH,9.0 +CMT,1,1,700,1.7,CRD,9.5 +CMT,1,1,740,1.3,CRD,9.0 +CMT,1,1,671,2.2,CSH,2.5 +CMT,1,1,362,1.2,CSH,6.5 +CMT,5,1,989,4.1,CSH,60.0 +CMT,1,1,313,0.9,CRD,5.5 +CMT,1,1,483,1.2,CRD,7.5 +CMT,1,1,607,1.6,CSH,8.0 +CMT,1,1,823,3.4,CRD,13.0 +CMT,1,1,225,0.6,CSH,4.5 +CMT,1,1,504,1.2,CSH,7.5 +CMT,1,1,1715,7.4,CRD,25.5 +CMT,1,1,207,1.0,CSH,5.5 +CMT,1,1,484,1.6,CRD,8.0 +CMT,1,1,666,1.8,CRD,9.5 +CMT,1,1,776,2.3,CSH,10.5 +CMT,1,1,552,1.8,CSH,8.5 +CMT,1,1,612,2.0,CSH,9.0 +CMT,1,1,694,2.3,CSH,10.5 +CMT,1,1,338,1.4,CRD,6.5 +CMT,1,1,232,0.7,CSH,5.0 +CMT,1,1,517,1.9,CSH,8.5 +CMT,1,1,889,1.6,CSH,10.5 +CMT,1,1,459,1.0,CSH,6.5 +CMT,1,1,1735,6.2,CRD,24.5 +CMT,1,1,714,2.2,CSH,10.0 +CMT,1,1,1049,3.1,CSH,14.0 +CMT,1,1,880,2.4,CSH,11.5 +CMT,1,1,365,1.3,CSH,6.5 +CMT,1,1,962,3.5,CRD,13.5 +CMT,1,1,207,0.6,CSH,4.5 +CMT,1,1,722,2.0,CSH,10.0 +CMT,1,1,308,1.3,CSH,6.5 +CMT,1,1,154,0.5,CSH,4.0 +CMT,1,1,422,1.4,CRD,7.0 +CMT,1,1,188,0.8,CSH,5.0 +CMT,1,1,581,1.7,CRD,8.5 +CMT,1,1,372,1.2,CRD,6.5 +CMT,1,1,1364,7.4,CRD,25.0 +CMT,1,1,1212,3.0,CRD,15.0 +CMT,1,1,1239,4.5,CSH,18.0 +CMT,1,1,1013,4.1,CRD,15.5 +CMT,1,1,698,2.7,CRD,10.5 +CMT,1,1,1177,6.9,CRD,22.5 +CMT,1,1,392,2.1,CSH,8.0 +CMT,1,1,635,1.7,CRD,9.5 +CMT,1,1,1246,5.0,CRD,19.0 +CMT,1,1,429,1.0,CSH,6.5 +CMT,1,1,315,0.8,CRD,6.0 +CMT,1,1,617,1.7,CRD,9.0 +CMT,1,1,230,0.4,CRD,4.5 +CMT,1,1,527,1.1,CRD,7.5 +CMT,1,1,159,0.4,CSH,4.0 +CMT,1,1,617,1.0,CSH,8.0 +CMT,1,1,184,0.6,CSH,4.0 +CMT,1,1,1010,3.8,CRD,15.5 +CMT,1,1,174,0.9,CSH,4.5 +CMT,1,1,709,1.8,CSH,9.5 +CMT,1,1,535,1.7,CRD,8.5 +CMT,1,1,1547,11.8,CSH,35.5 +CMT,1,1,621,1.4,CSH,8.5 +CMT,1,1,400,1.5,CRD,7.0 +CMT,1,1,506,1.3,CSH,8.0 +CMT,1,1,429,1.6,CSH,8.0 +CMT,1,1,252,0.8,CSH,5.5 +CMT,1,1,134,0.4,CSH,3.5 +CMT,1,1,229,0.8,CSH,5.0 +CMT,1,1,670,2.2,CSH,10.0 +CMT,1,1,393,0.8,CRD,6.0 +CMT,1,1,444,1.5,CSH,7.5 +CMT,1,1,860,5.0,CRD,17.5 +CMT,1,1,796,8.4,CRD,24.0 +CMT,1,1,481,2.9,CRD,10.0 +CMT,1,1,857,2.2,CRD,11.0 +CMT,1,1,429,1.5,CSH,7.5 +CMT,1,1,164,0.9,CSH,4.5 +CMT,1,1,1405,15.6,CRD,42.5 +CMT,1,1,648,2.1,CSH,9.0 +CMT,1,1,433,1.1,CRD,6.5 +CMT,1,1,847,1.7,CRD,10.5 +CMT,1,1,896,1.7,CRD,10.5 +CMT,1,1,551,1.3,CRD,7.5 +CMT,1,1,422,1.1,CRD,6.5 +CMT,1,1,1007,3.5,CSH,14.5 +CMT,1,1,167,0.9,CSH,4.5 +CMT,1,1,1173,2.1,CRD,13.5 +CMT,1,1,527,1.9,CSH,8.5 +CMT,1,1,539,1.3,CRD,8.0 +CMT,1,1,620,1.4,CSH,8.5 +CMT,1,1,495,1.2,CSH,7.5 +CMT,1,1,1696,7.9,CRD,27.0 +CMT,1,1,422,1.8,CSH,7.5 +CMT,1,1,372,1.2,CSH,6.5 +CMT,1,1,516,0.8,CSH,7.0 +CMT,1,1,795,1.9,CSH,10.0 +CMT,1,1,855,1.9,CSH,11.0 +CMT,1,1,869,2.2,CSH,11.0 +CMT,1,1,351,1.0,CSH,6.0 +CMT,1,1,1396,11.4,CRD,33.0 +CMT,1,1,181,1.0,CRD,5.0 +CMT,1,1,1521,10.8,CRD,32.5 +CMT,1,1,256,0.7,CRD,5.0 +CMT,1,1,407,1.3,CRD,6.5 +CMT,1,1,538,1.3,CSH,8.0 +CMT,1,1,466,1.5,CRD,8.0 +CMT,1,1,2188,4.3,CSH,24.0 +CMT,1,1,347,0.7,CSH,5.5 +CMT,1,1,59,0.3,CSH,3.0 +CMT,1,1,558,1.2,CSH,7.5 +CMT,1,1,755,1.2,CRD,9.0 +CMT,1,1,265,0.6,CRD,5.0 +CMT,1,1,562,1.3,CRD,8.0 +CMT,1,1,769,3.0,CRD,12.0 +CMT,1,1,423,0.9,CRD,6.5 +CMT,1,1,558,2.4,CRD,10.0 +CMT,1,1,981,9.3,CRD,26.5 +CMT,1,1,576,2.5,CSH,10.0 +CMT,1,1,535,1.8,CSH,8.5 +CMT,1,1,879,2.5,CRD,12.0 +CMT,1,1,345,1.1,CRD,6.0 +CMT,1,1,331,0.6,CRD,5.5 +CMT,1,1,1032,3.7,CRD,15.5 +CMT,1,1,506,1.4,CSH,7.5 +CMT,1,1,805,1.2,CRD,9.5 +CMT,1,1,832,2.5,CSH,11.5 +CMT,1,1,638,2.7,CRD,11.0 +CMT,1,1,369,0.7,CRD,5.5 +CMT,1,1,806,2.6,CSH,11.5 +CMT,1,1,681,3.2,CSH,12.0 +CMT,1,1,983,2.1,CSH,12.0 +CMT,1,1,303,0.7,CRD,5.5 +CMT,1,1,448,1.9,CRD,8.5 +CMT,1,1,489,0.9,CSH,7.0 +CMT,1,1,289,1.1,CSH,6.0 +CMT,1,1,653,4.4,CSH,14.5 +CMT,1,1,235,0.7,CSH,4.5 +CMT,1,1,183,0.8,CRD,4.5 +CMT,1,1,871,1.4,CRD,10.0 +CMT,1,1,320,0.6,CRD,5.5 +CMT,1,1,1182,3.6,CSH,16.0 +CMT,1,1,282,0.8,CSH,5.0 +CMT,1,1,752,6.9,CRD,20.0 +CMT,1,1,199,0.6,CRD,4.5 +CMT,1,1,457,1.7,CRD,8.0 +CMT,1,1,542,1.7,CRD,8.5 +CMT,1,1,346,1.1,CRD,6.0 +CMT,1,1,545,0.6,CSH,7.0 +CMT,1,1,1495,3.9,CSH,18.5 +CMT,1,1,466,1.0,CSH,6.5 +CMT,1,1,877,2.3,CSH,11.5 +CMT,1,1,257,0.4,CRD,4.5 +CMT,1,1,326,1.3,CRD,6.5 +CMT,1,1,681,1.7,CRD,9.0 +CMT,1,1,712,3.5,CRD,12.0 +CMT,1,1,923,1.7,CSH,11.0 +CMT,1,1,197,0.8,CSH,5.0 +CMT,1,1,814,1.5,CRD,10.0 +CMT,1,1,325,1.2,CSH,6.0 +CMT,1,1,1052,9.4,CRD,26.5 +CMT,1,1,511,1.3,CSH,7.5 +CMT,1,1,327,0.6,CRD,5.5 +CMT,1,1,375,1.8,CRD,7.0 +CMT,1,1,878,3.3,CSH,13.5 +CMT,1,1,367,1.3,CSH,6.5 +CMT,1,1,1227,10.3,CSH,29.5 +CMT,1,1,704,3.0,CSH,11.5 +CMT,1,1,517,1.5,CRD,7.5 +CMT,1,1,571,2.1,CRD,9.0 +CMT,1,1,665,2.7,CSH,10.5 +CMT,1,1,439,0.9,CSH,6.5 +CMT,1,1,600,1.2,CSH,8.5 +CMT,1,1,969,1.3,CRD,11.0 +CMT,1,1,1493,3.8,CSH,18.0 +CMT,1,1,390,1.2,CSH,6.5 +CMT,1,1,546,2.4,CRD,9.5 +CMT,1,1,293,1.1,CRD,6.0 +CMT,1,1,229,0.5,CSH,4.5 +CMT,1,1,410,1.3,CRD,7.0 +CMT,1,1,1575,5.2,CRD,20.0 +CMT,1,1,1244,3.3,CRD,15.5 +CMT,1,1,742,2.1,CRD,10.5 +CMT,1,1,322,1.4,CRD,6.5 +CMT,1,1,507,1.8,CRD,8.5 +CMT,1,1,261,0.7,CSH,5.0 +CMT,1,1,324,0.9,CSH,6.0 +CMT,1,1,359,1.6,CSH,6.5 +CMT,1,1,514,1.1,CRD,7.5 +CMT,1,1,767,3.4,CRD,12.5 +CMT,1,1,133,0.5,CSH,4.0 +CMT,1,1,757,2.2,CSH,10.5 +CMT,1,1,732,1.5,CRD,9.5 +CMT,1,1,719,2.6,CRD,10.5 +CMT,1,1,710,2.2,CSH,10.0 +CMT,1,1,382,1.4,CRD,7.0 +CMT,1,1,97,0.5,CSH,3.5 +CMT,1,1,182,0.3,CSH,4.0 +CMT,1,1,233,0.6,CRD,5.0 +CMT,1,1,507,1.2,CSH,7.5 +CMT,1,1,364,1.2,CRD,6.5 +CMT,1,1,1551,8.8,CRD,28.0 +CMT,1,1,554,1.3,CSH,8.0 +CMT,1,1,261,0.7,CSH,5.0 +CMT,1,1,592,1.5,CSH,8.5 +CMT,1,1,617,1.8,CRD,9.0 +CMT,1,1,282,1.3,CRD,6.0 +CMT,1,1,334,0.8,CRD,5.5 +CMT,1,1,920,2.2,CRD,11.0 +CMT,1,1,685,2.3,CRD,10.0 +CMT,1,1,971,1.7,CRD,11.5 +CMT,1,1,389,1.0,CRD,6.5 +CMT,1,1,1053,2.5,CSH,13.0 +CMT,1,1,289,1.1,CRD,6.0 +CMT,1,1,655,2.8,CRD,11.0 +CMT,1,1,948,4.0,CRD,14.5 +CMT,1,1,345,0.8,CRD,5.5 +CMT,1,1,712,2.9,CSH,11.5 +CMT,1,1,187,0.4,CRD,4.0 +CMT,1,1,795,1.7,CSH,10.0 +CMT,1,1,882,2.6,CRD,12.5 +CMT,1,1,1170,8.0,CSH,25.0 +CMT,1,1,441,1.1,CRD,7.0 +CMT,1,1,169,0.5,CSH,4.0 +CMT,1,1,1262,2.9,CSH,14.5 +CMT,1,1,286,0.8,CRD,5.0 +CMT,1,1,1561,2.5,CRD,16.5 +CMT,1,1,938,2.6,CRD,12.5 +CMT,1,1,479,1.1,CSH,7.0 +CMT,1,1,352,0.5,CSH,5.5 +CMT,1,1,470,1.3,CSH,7.5 +CMT,1,1,823,2.4,CRD,11.5 +CMT,1,1,270,0.9,CRD,5.5 +CMT,1,1,457,0.9,CRD,6.5 +CMT,1,1,1341,4.6,CRD,18.5 +CMT,1,1,1704,9.4,CRD,29.5 +CMT,1,1,476,1.3,CSH,7.5 +CMT,1,1,420,0.9,CRD,6.0 +CMT,1,1,1075,6.2,CSH,21.0 +CMT,1,1,4,0.0,CRD,2.5 +CMT,1,1,624,1.9,CRD,9.0 +CMT,1,1,255,0.8,CRD,5.0 +CMT,1,1,338,0.6,CRD,5.5 +CMT,1,1,143,0.7,CRD,4.0 +CMT,1,1,633,0.7,CRD,7.5 +CMT,1,1,153,0.7,CSH,4.5 +CMT,1,1,1170,4.3,CRD,16.5 +CMT,1,1,137,0.5,CSH,4.0 +CMT,1,1,67,0.4,CSH,3.5 +CMT,1,1,609,1.4,CRD,8.5 +CMT,1,1,865,1.7,CSH,10.5 +CMT,1,1,600,2.4,CRD,9.5 +CMT,1,1,388,1.4,CSH,6.5 +CMT,1,1,590,1.3,CSH,8.0 +CMT,1,1,660,1.9,CSH,9.0 +CMT,3,1,1730,18.1,CRD,66.5 +CMT,1,1,296,0.9,CSH,5.5 +CMT,1,1,511,0.9,CRD,7.0 +CMT,1,1,774,3.0,CRD,12.0 +CMT,1,1,456,1.9,CRD,8.0 +CMT,1,1,799,4.9,CSH,16.5 +CMT,1,1,582,2.0,CSH,9.0 +CMT,1,1,336,0.6,CSH,5.5 +CMT,1,1,544,1.0,CSH,7.5 +CMT,1,1,722,1.6,CSH,9.5 +CMT,1,1,241,0.7,CSH,5.0 +CMT,1,1,674,2.3,CSH,10.0 +CMT,1,1,494,1.7,CSH,8.5 +CMT,1,1,1016,2.9,CSH,13.0 +CMT,1,1,391,1.0,CSH,6.5 +CMT,1,1,569,1.7,CSH,9.0 +CMT,1,1,323,1.0,CSH,6.0 +CMT,1,1,101,0.3,CRD,3.5 +CMT,1,1,803,6.1,CSH,19.0 +CMT,1,1,610,1.4,CRD,8.5 +CMT,1,1,740,2.3,CSH,11.0 +CMT,1,1,300,1.1,CSH,6.0 +CMT,1,1,477,1.6,CSH,8.0 +CMT,1,1,949,3.8,CRD,15.0 +CMT,1,1,609,2.2,CSH,10.0 +CMT,1,1,1303,2.8,CSH,14.5 +CMT,1,1,1261,2.1,CRD,14.5 +CMT,1,1,467,1.0,CSH,7.0 +CMT,1,1,1117,2.3,CRD,13.0 +CMT,1,1,879,1.4,CRD,10.5 +CMT,1,1,1240,3.8,CSH,16.5 +CMT,1,1,519,1.4,CRD,7.5 +CMT,1,1,1100,2.2,CRD,13.0 +CMT,1,1,164,0.6,CSH,4.0 +CMT,1,1,281,0.9,CSH,5.0 +CMT,1,1,54,0.3,CSH,3.0 +CMT,1,1,748,1.8,CRD,10.0 +CMT,1,1,259,0.7,CRD,4.5 +CMT,1,1,240,0.6,CRD,4.5 +CMT,1,1,412,1.1,CSH,6.5 +CMT,1,1,235,0.7,CRD,5.0 +CMT,1,1,646,2.5,CSH,10.5 +CMT,1,1,455,1.5,CSH,7.5 +CMT,1,1,783,1.4,CSH,10.0 +CMT,1,1,638,1.7,CRD,9.0 +CMT,1,1,448,1.6,CRD,8.0 +CMT,1,1,430,1.7,CRD,7.5 +CMT,1,1,978,5.1,CSH,17.5 +CMT,1,1,647,2.0,CSH,9.5 +CMT,1,1,522,1.2,CRD,7.5 +CMT,1,1,281,1.1,CSH,6.0 +CMT,1,1,58,0.0,CSH,2.5 +CMT,1,1,452,1.3,CSH,7.0 +CMT,1,1,325,0.7,CRD,5.5 +CMT,1,1,678,1.6,CSH,9.0 +CMT,1,1,1075,2.9,CSH,14.0 +CMT,1,1,1181,3.8,CSH,15.0 +CMT,1,1,122,0.9,CRD,4.5 +CMT,1,1,1204,2.6,CSH,14.5 +CMT,1,1,1002,3.0,CRD,13.0 +CMT,1,1,275,1.1,CRD,5.5 +CMT,1,1,164,0.3,CSH,3.5 +CMT,1,1,774,2.0,CRD,10.5 +CMT,1,1,149,1.2,CSH,5.5 +CMT,1,1,714,4.0,CRD,14.0 +CMT,1,1,1047,10.0,CSH,28.5 +CMT,1,1,593,1.6,CRD,8.5 +CMT,1,1,730,2.4,CRD,11.0 +CMT,1,1,776,1.9,CRD,10.5 +CMT,1,1,948,1.2,CSH,11.0 +CMT,1,1,428,0.9,CSH,6.5 +CMT,1,1,241,1.3,CRD,6.0 +CMT,1,1,347,1.2,CRD,6.5 +CMT,1,1,275,1.6,CRD,7.0 +CMT,1,1,239,0.9,CRD,5.0 +CMT,1,1,1012,1.2,CRD,11.5 +CMT,1,1,1051,2.7,CRD,13.0 +CMT,1,1,187,0.6,CSH,4.5 +CMT,1,1,615,0.8,CSH,7.5 +CMT,1,1,500,2.3,CSH,9.0 +CMT,1,1,157,0.4,CRD,4.0 +CMT,1,1,804,2.0,CSH,10.5 +CMT,1,1,799,1.8,CRD,10.0 +CMT,1,1,337,0.8,CRD,5.5 +CMT,1,1,222,0.5,CSH,4.5 +CMT,1,1,882,1.7,CRD,10.5 +CMT,1,1,392,0.7,CRD,6.0 +CMT,1,1,427,2.0,CSH,8.5 +CMT,1,1,294,1.1,CSH,5.5 +CMT,1,1,389,0.7,CSH,6.0 +CMT,1,1,359,1.4,CSH,6.5 +CMT,1,1,266,1.1,CRD,5.5 +CMT,1,1,585,1.4,CRD,8.5 +CMT,1,1,986,1.1,CSH,10.5 +CMT,1,1,353,1.3,CRD,6.5 +CMT,1,1,847,1.6,CRD,10.0 +CMT,1,1,576,2.6,CRD,10.5 +CMT,1,1,699,1.7,CRD,9.5 +CMT,1,1,805,3.7,CRD,13.5 +CMT,1,1,821,2.4,CSH,11.0 +CMT,1,1,529,2.2,CSH,9.5 +CMT,1,1,256,1.0,CSH,5.5 +CMT,1,1,210,0.9,CSH,5.0 +CMT,1,1,196,0.7,CSH,4.5 +CMT,1,1,296,0.9,CRD,5.5 +CMT,1,1,724,2.1,CRD,10.5 +CMT,1,1,490,1.4,CRD,7.5 +CMT,1,1,599,1.0,CRD,8.0 +CMT,1,1,194,0.7,CRD,4.5 +CMT,1,1,475,1.8,CRD,8.5 +CMT,1,1,794,2.1,CRD,10.5 +CMT,1,1,605,1.3,CRD,8.5 +CMT,1,1,748,3.3,CRD,13.0 +CMT,1,1,227,0.8,CRD,5.0 +CMT,1,1,344,0.8,CRD,6.0 +CMT,1,1,664,2.3,CSH,10.0 +CMT,1,1,458,1.9,CSH,8.0 +CMT,1,1,305,1.3,CSH,6.0 +CMT,1,1,327,0.9,CSH,6.0 +CMT,1,1,900,2.7,CSH,11.5 +CMT,1,1,837,1.4,CSH,10.0 +CMT,1,1,87,0.4,CRD,3.5 +CMT,1,1,1620,7.0,CRD,25.5 +CMT,1,1,516,1.7,CRD,8.5 +CMT,1,1,488,2.0,CRD,8.5 +CMT,1,1,369,0.7,CRD,6.0 +CMT,1,1,494,1.2,CSH,7.0 +CMT,1,1,319,1.4,CRD,6.5 +CMT,1,1,468,1.5,CSH,7.5 +CMT,1,1,865,1.8,CRD,10.5 +CMT,1,1,293,0.9,CRD,5.5 +CMT,1,1,407,0.9,CRD,6.0 +CMT,1,1,360,0.6,CSH,5.5 +CMT,1,1,312,0.8,CSH,5.5 +CMT,1,1,602,0.9,CRD,7.5 +CMT,1,1,1107,2.7,CSH,13.5 +CMT,1,1,632,2.2,CRD,9.5 +CMT,1,1,351,1.1,CRD,6.0 +CMT,1,1,591,1.4,CRD,8.5 +CMT,1,1,643,3.1,CRD,12.5 +CMT,1,1,114,0.4,CRD,3.5 +CMT,1,1,794,3.1,CSH,12.0 +CMT,1,1,269,0.8,CSH,5.5 +CMT,1,1,454,2.3,CRD,8.5 +CMT,1,1,461,1.2,CRD,7.0 +CMT,1,1,1607,5.1,CRD,20.5 +CMT,1,1,626,0.8,CSH,7.5 +CMT,1,1,289,0.6,CRD,5.0 +CMT,1,1,474,1.6,CRD,7.5 +CMT,1,1,315,0.9,CSH,5.5 +CMT,1,1,395,1.1,CSH,6.5 +CMT,1,1,144,0.6,CRD,4.0 +CMT,1,1,788,1.3,CSH,9.5 +CMT,1,1,299,1.0,CSH,6.0 +CMT,1,1,310,0.5,CRD,5.0 +CMT,1,1,432,1.4,CRD,7.0 +CMT,1,1,900,2.9,CRD,12.5 +CMT,1,1,1660,8.7,CRD,29.0 +CMT,1,1,812,2.5,CRD,12.0 +CMT,1,1,501,1.7,CSH,8.0 +CMT,1,1,530,2.2,CSH,9.5 +CMT,1,1,498,1.2,CRD,7.5 +CMT,1,1,838,1.8,CRD,10.5 +CMT,1,1,293,0.8,CSH,5.5 +CMT,1,1,668,1.6,CRD,9.0 +CMT,1,1,792,4.5,CRD,15.0 +CMT,1,1,489,1.4,CRD,7.5 +CMT,1,1,424,1.1,CRD,7.0 +CMT,1,1,918,7.1,CSH,22.0 +CMT,1,1,218,0.7,CSH,5.0 +CMT,1,1,150,0.5,CRD,4.0 +CMT,1,1,896,2.3,CRD,11.5 +CMT,1,1,456,0.9,CSH,6.5 +CMT,1,1,46,0.3,CSH,3.0 +CMT,1,1,163,0.7,CRD,4.0 +CMT,1,1,335,0.7,CSH,5.5 +CMT,1,1,1442,1.9,CRD,15.5 +CMT,1,1,924,2.2,CSH,11.5 +CMT,1,1,329,0.6,CRD,5.5 +CMT,1,1,634,2.2,CRD,9.5 +CMT,1,1,195,0.5,CSH,4.5 +CMT,1,1,1113,3.6,CRD,16.0 +CMT,3,1,1921,20.3,CRD,72.5 +CMT,1,1,181,0.6,CSH,4.5 +CMT,1,1,404,0.9,CSH,6.0 +CMT,1,1,896,3.2,CSH,12.5 +CMT,1,1,282,0.9,CRD,5.5 +CMT,1,1,894,1.5,CRD,10.5 +CMT,1,1,345,1.2,CRD,6.5 +CMT,1,1,525,1.3,CRD,7.5 +CMT,1,1,963,2.9,CRD,12.5 +CMT,1,1,573,1.9,CRD,9.0 +CMT,1,1,767,2.1,CRD,10.5 +CMT,1,1,1011,1.8,CRD,12.0 +CMT,1,1,581,0.0,CSH,2.5 +CMT,1,1,639,1.6,CSH,9.0 +CMT,1,1,201,0.9,CRD,5.0 +CMT,1,1,229,0.6,CRD,4.5 +CMT,1,1,601,1.5,CRD,8.5 +CMT,1,1,329,1.0,CSH,6.0 +CMT,1,1,512,1.7,CSH,8.5 +CMT,1,1,428,1.8,CRD,7.5 +CMT,1,1,378,0.6,CRD,6.0 +CMT,1,1,470,1.5,CSH,7.5 +CMT,1,1,282,0.8,CSH,5.5 +CMT,1,1,334,1.4,CRD,6.5 +CMT,1,1,1306,3.2,CRD,17.0 +CMT,1,1,360,1.3,CSH,6.5 +CMT,1,1,272,0.8,CRD,5.0 +CMT,1,1,564,1.3,CRD,8.0 +CMT,1,1,269,0.7,CRD,5.0 +CMT,1,1,307,0.9,CRD,5.5 +CMT,1,1,100,0.3,CSH,3.5 +CMT,1,1,533,0.9,CRD,7.0 +CMT,1,1,852,2.1,CSH,10.5 +CMT,1,1,282,0.9,CSH,5.5 +CMT,1,1,318,0.5,CRD,5.0 +CMT,1,1,635,2.3,CRD,10.0 +CMT,1,1,250,0.9,CSH,5.5 +CMT,1,1,389,1.3,CSH,7.0 +CMT,1,1,139,0.5,CSH,4.0 +CMT,1,1,477,1.0,CSH,7.0 +CMT,1,1,351,0.9,CSH,6.0 +CMT,1,1,958,3.3,CRD,14.0 +CMT,1,1,693,2.9,CSH,11.0 +CMT,1,1,325,0.9,CRD,6.0 +CMT,1,1,247,0.6,CRD,5.0 +CMT,1,1,682,1.8,CRD,9.0 +CMT,1,1,137,0.4,CSH,4.0 +CMT,1,1,304,1.1,CSH,6.0 +CMT,1,1,1767,4.9,CSH,22.0 +CMT,1,1,359,1.3,CSH,7.0 +CMT,1,1,650,3.5,CRD,12.0 +CMT,1,1,194,0.6,CSH,4.5 +CMT,1,1,1028,3.6,CRD,14.5 +CMT,1,1,1215,3.1,CRD,15.0 +CMT,1,1,856,1.5,CSH,10.0 +CMT,1,1,836,2.3,CSH,11.0 +CMT,1,1,427,1.0,CRD,6.5 +CMT,1,1,257,1.0,CSH,5.5 +CMT,1,1,498,2.1,CRD,8.5 +CMT,1,1,369,0.8,CRD,6.0 +CMT,1,1,310,1.3,CRD,6.0 +CMT,1,1,600,1.5,CRD,8.5 +CMT,1,1,239,1.0,CSH,5.0 +CMT,1,1,624,1.4,CRD,8.5 +CMT,1,1,388,1.5,CRD,7.0 +CMT,1,1,1330,2.6,CRD,15.0 +CMT,1,1,956,2.5,CRD,12.5 +CMT,1,1,1441,6.8,CRD,24.5 +CMT,1,1,336,1.1,CSH,6.0 +CMT,1,1,1010,1.8,CRD,11.5 +CMT,1,1,655,2.2,CSH,10.0 +CMT,1,1,911,2.0,CRD,11.5 +CMT,1,1,423,1.2,CSH,6.5 +CMT,1,1,194,0.7,CRD,4.5 +CMT,1,1,528,1.0,CRD,7.5 +CMT,1,1,66,0.3,CSH,3.0 +CMT,1,1,473,2.5,CRD,9.5 +CMT,1,1,814,1.8,CSH,10.5 +CMT,1,1,668,1.8,CRD,9.0 +CMT,1,1,131,0.7,CRD,4.0 +CMT,1,1,101,0.6,CSH,4.0 +CMT,1,1,306,1.4,CRD,6.0 +CMT,1,1,892,0.9,CSH,10.0 +CMT,1,1,837,3.0,CRD,12.0 +CMT,1,1,313,1.6,CRD,7.0 +CMT,1,1,825,1.9,CSH,11.0 +CMT,1,1,930,3.2,CRD,13.0 +CMT,1,1,313,1.1,CRD,6.0 +CMT,1,1,163,0.6,CRD,4.0 +CMT,1,1,450,1.2,CRD,7.0 +CMT,1,1,94,0.6,CSH,3.5 +CMT,1,1,217,0.7,CSH,4.5 +CMT,1,1,101,0.5,CSH,3.5 +CMT,1,1,733,1.9,CRD,10.0 +CMT,1,1,1177,6.2,CSH,21.0 +CMT,1,1,756,2.1,CRD,10.5 +CMT,1,1,366,1.0,CSH,6.0 +CMT,1,1,306,1.0,CRD,5.5 +CMT,1,1,398,1.3,CRD,7.0 +CMT,1,1,638,1.1,CSH,8.5 +CMT,1,1,884,1.7,CRD,10.5 +CMT,1,1,115,0.6,CSH,4.0 +CMT,1,1,134,0.6,CSH,4.0 +CMT,1,1,387,1.1,CSH,6.5 +CMT,1,1,276,0.6,CSH,5.0 +CMT,1,1,758,2.1,CRD,10.5 +CMT,1,2,1344,7.6,CSH,25.0 +CMT,1,1,1286,4.2,CSH,17.5 +CMT,1,1,398,1.2,CSH,6.5 +CMT,1,1,971,4.1,CRD,15.5 +CMT,1,1,412,1.3,CRD,7.0 +CMT,5,1,33,0.0,CRD,75.0 +CMT,1,1,99,0.5,CSH,3.5 +CMT,1,1,529,1.7,CSH,8.0 +CMT,1,1,318,0.7,CSH,5.5 +CMT,1,1,177,0.5,CRD,4.0 +CMT,1,1,193,0.8,CRD,4.5 +CMT,1,1,682,2.3,CSH,10.0 +CMT,1,1,174,0.6,CSH,4.5 +CMT,1,1,314,1.1,CRD,6.0 +CMT,1,1,675,1.0,CRD,8.5 +CMT,1,1,1959,5.5,CRD,24.5 +CMT,1,1,664,2.4,CSH,10.5 +CMT,1,1,714,1.9,CRD,10.0 +CMT,1,1,409,1.6,CRD,7.5 +CMT,1,1,102,0.3,CRD,3.5 +CMT,1,1,654,1.6,CRD,9.0 +CMT,1,1,201,0.7,CRD,4.5 +CMT,1,1,530,2.2,CRD,9.0 +CMT,1,1,401,1.1,CSH,6.5 +CMT,1,1,739,1.8,CSH,10.0 +CMT,1,1,523,1.5,CSH,8.0 +CMT,1,1,1150,2.9,CRD,14.5 +CMT,1,1,868,2.5,CSH,11.5 +CMT,1,1,669,1.8,CRD,9.5 +CMT,1,1,197,0.7,CRD,4.5 +CMT,1,1,604,1.6,CRD,8.0 +CMT,1,1,572,2.4,CSH,10.0 +CMT,1,1,1183,2.5,CRD,14.0 +CMT,1,1,718,2.3,CRD,10.0 +CMT,1,1,398,1.3,CSH,6.5 +CMT,1,1,204,0.9,CSH,5.0 +CMT,1,1,495,1.4,CSH,7.5 +CMT,1,1,499,1.3,CSH,7.5 +CMT,1,1,710,1.6,CRD,9.5 +CMT,1,1,985,1.9,CRD,11.5 +CMT,1,1,283,1.6,CSH,6.5 +CMT,1,1,628,0.9,CSH,8.0 +CMT,1,1,607,1.9,CRD,9.5 +CMT,1,1,1015,3.8,CSH,15.5 +CMT,1,1,815,3.0,CSH,12.5 +CMT,1,1,545,1.2,CRD,8.0 +CMT,1,1,374,0.8,CSH,6.0 +CMT,1,1,379,1.3,CRD,6.5 +CMT,1,1,1443,4.0,CRD,18.5 +CMT,1,1,505,2.3,CSH,9.5 +CMT,1,1,137,0.7,CSH,4.5 +CMT,1,1,827,2.4,CRD,11.0 +CMT,1,1,617,2.2,CRD,10.0 +CMT,1,1,525,1.6,CRD,8.0 +CMT,1,1,1259,2.3,CRD,14.5 +CMT,1,1,702,1.3,CRD,8.5 +CMT,1,1,410,1.4,CSH,7.5 +CMT,1,1,271,0.3,CSH,4.5 +CMT,1,1,307,0.9,CSH,6.0 +CMT,1,1,825,1.8,CRD,10.5 +CMT,1,1,445,1.3,CSH,7.0 +CMT,1,1,689,1.8,CRD,9.0 +CMT,1,1,306,1.3,CRD,6.0 +CMT,1,1,770,1.6,CSH,10.0 +CMT,1,1,580,1.5,CRD,8.5 +CMT,1,1,462,1.7,CRD,8.0 +CMT,1,1,200,0.8,CSH,5.0 +CMT,1,1,122,0.3,CRD,3.5 +CMT,1,1,1067,2.8,CSH,13.5 +CMT,1,1,321,0.7,CRD,5.5 +CMT,1,1,152,0.6,CRD,4.0 +CMT,1,1,308,1.0,CSH,5.5 +CMT,1,1,326,0.9,CRD,6.0 +CMT,1,1,275,0.9,CSH,5.5 +CMT,1,1,414,1.1,CRD,6.5 +CMT,1,1,646,2.1,CRD,10.0 +CMT,1,1,262,0.4,CRD,4.5 +CMT,1,1,803,1.6,CRD,10.5 +CMT,1,1,826,2.4,CSH,11.0 +CMT,1,1,617,1.5,CSH,8.5 +CMT,1,1,1085,3.0,CSH,14.0 +CMT,1,1,423,2.4,CRD,9.0 +CMT,1,1,451,1.8,CSH,8.0 +CMT,1,1,1182,2.6,CRD,14.0 +CMT,1,1,1341,4.3,CSH,18.0 +CMT,1,1,721,4.4,CSH,15.0 +CMT,1,1,828,1.5,CRD,10.0 +CMT,1,1,1741,3.3,CRD,19.5 +CMT,1,1,659,1.7,CSH,9.0 +CMT,1,1,429,1.7,CSH,7.5 +CMT,1,1,381,1.7,CRD,7.5 +CMT,1,1,460,2.1,CSH,9.0 +CMT,1,1,619,1.7,CRD,8.5 +CMT,1,1,510,3.4,CRD,12.0 +CMT,1,1,485,1.7,CRD,8.0 +CMT,1,1,296,1.0,CRD,5.5 +CMT,1,1,266,1.2,CRD,6.0 +CMT,1,1,266,0.9,CRD,5.0 +CMT,1,1,523,1.8,CRD,8.5 +CMT,1,1,774,2.5,CRD,11.0 +CMT,1,1,376,0.9,CRD,6.0 +CMT,1,1,574,1.7,CSH,8.5 +CMT,1,1,684,2.1,CSH,9.5 +CMT,1,1,465,1.2,CRD,7.0 +CMT,1,1,358,0.5,CRD,5.5 +CMT,1,1,384,2.1,CRD,8.0 +CMT,1,1,746,1.4,CRD,9.5 +CMT,1,1,182,0.2,CSH,4.0 +CMT,1,1,584,1.9,CSH,9.0 +CMT,1,1,124,0.5,CSH,4.0 +CMT,1,1,217,0.8,CRD,5.0 +CMT,1,1,510,1.7,CRD,8.0 +CMT,1,1,1233,4.3,CSH,17.0 +CMT,1,1,742,2.6,CSH,11.5 +CMT,1,1,824,5.1,CSH,16.5 +CMT,1,1,602,1.4,CSH,8.0 +CMT,1,1,625,1.2,CSH,8.5 +CMT,1,1,735,1.8,CRD,10.0 +CMT,1,1,650,1.2,CSH,8.5 +CMT,1,1,420,1.2,CRD,6.5 +CMT,1,1,989,2.2,CSH,12.0 +CMT,1,1,860,2.0,CSH,11.0 +CMT,1,1,412,1.8,CRD,7.5 +CMT,1,1,391,2.4,CRD,9.0 +CMT,1,1,447,1.0,CSH,6.5 +CMT,1,1,253,1.1,CRD,5.5 +CMT,1,1,560,2.1,CSH,9.0 +CMT,1,1,332,1.1,CRD,6.0 +CMT,1,1,357,1.2,CSH,6.5 +CMT,1,1,434,1.1,CRD,6.5 +CMT,1,1,1831,7.5,CSH,26.5 +CMT,1,1,418,1.4,CRD,7.5 +CMT,1,1,578,1.6,CRD,8.5 +CMT,1,1,1368,9.9,CRD,30.0 +VTS,1,5,420,0.36,CSH,5.5 +VTS,1,5,1860,3.04,CSH,20.5 +VTS,1,5,240,1.06,CRD,5.5 +VTS,1,5,720,4.46,CRD,14.5 +CMT,1,1,1209,3.2,CRD,15.5 +CMT,1,1,676,1.8,CRD,9.5 +CMT,1,1,798,1.8,CRD,10.5 +CMT,1,1,634,2.7,CSH,10.5 +CMT,1,1,509,2.0,CSH,8.5 +CMT,1,1,149,0.9,CSH,5.0 +CMT,1,1,1043,4.8,CRD,16.5 +CMT,1,1,1028,3.8,CSH,14.5 +CMT,1,1,1002,3.1,CRD,14.0 +VTS,1,5,120,0.75,CSH,4.5 +VTS,1,5,540,2.09,CSH,9.0 +VTS,1,5,720,5.16,CRD,16.5 +VTS,1,5,780,3.92,CRD,13.5 +VTS,1,5,1320,4.98,CRD,19.0 +VTS,1,5,840,1.03,CSH,10.0 +VTS,1,5,1260,9.53,CSH,29.0 +VTS,1,5,480,1.27,CSH,7.0 +VTS,1,5,1680,12.56,CRD,37.0 +VTS,1,5,240,1.35,CRD,5.5 +VTS,1,5,1020,8.95,CRD,26.0 +VTS,1,5,1140,6.25,CSH,22.0 +VTS,1,5,1320,3.1,CSH,15.5 +VTS,1,5,1740,6.86,CRD,26.0 +VTS,1,5,1620,15.82,CRD,43.5 +VTS,1,5,420,1.1,CSH,7.0 +VTS,1,5,600,1.61,CSH,8.5 +CMT,1,1,365,1.1,CSH,6.0 +CMT,1,1,110,0.5,CRD,3.5 +CMT,1,1,400,1.0,CRD,6.5 +CMT,1,1,620,2.8,CRD,10.5 +CMT,1,1,478,1.1,CSH,7.0 +CMT,1,1,1121,5.0,CSH,17.5 +CMT,1,1,307,1.1,CRD,5.5 +CMT,1,1,127,0.4,CRD,3.5 +CMT,1,1,762,1.6,CSH,9.5 +CMT,1,1,293,1.2,CSH,6.0 +CMT,1,1,1589,3.7,CRD,18.0 +CMT,1,1,778,3.2,CRD,12.0 +CMT,1,1,438,2.6,CRD,10.0 +CMT,1,1,136,0.7,CRD,4.0 +CMT,1,1,730,4.7,CRD,15.5 +CMT,2,1,2340,19.3,CRD,52.0 +VTS,1,5,600,1.67,CSH,9.0 +VTS,1,5,420,3.36,CSH,10.5 +VTS,1,5,180,0.83,CSH,5.0 +VTS,1,5,1680,11.33,CSH,34.5 +VTS,1,5,420,1.5,CRD,7.0 +VTS,2,5,1680,17.22,CSH,52.0 +VTS,1,5,360,1.05,CSH,6.5 +VTS,1,5,300,0.99,CRD,6.0 +VTS,1,5,480,0.99,CSH,6.5 +VTS,2,5,2760,18.35,CRD,52.0 +CMT,1,1,1150,2.9,CSH,14.0 +CMT,1,1,319,2.1,CSH,8.0 +VTS,1,5,300,0.53,CSH,5.0 +VTS,1,5,720,3.31,CSH,12.5 +VTS,5,1,60,0.0,CRD,31.3 +VTS,1,5,1200,9.37,CRD,27.5 +VTS,1,5,360,0.85,CRD,5.5 +VTS,1,5,780,1.62,CRD,10.0 +VTS,1,5,540,1.64,CRD,8.0 +VTS,1,5,720,1.86,CSH,10.5 +VTS,1,5,540,1.32,CSH,7.5 +VTS,1,5,1620,4.32,CSH,20.0 +VTS,1,5,240,0.7,CRD,4.5 +VTS,1,5,360,1.31,CRD,6.5 +VTS,1,5,720,2.2,CSH,10.5 +VTS,1,5,420,1.32,CSH,6.5 +VTS,1,5,1860,9.97,CRD,31.0 +VTS,1,5,1260,2.84,CRD,14.5 +VTS,1,5,600,1.37,CSH,8.0 +VTS,1,5,420,1.46,CRD,7.5 +VTS,1,5,660,2.17,CRD,9.5 +VTS,1,5,360,0.85,CRD,5.5 +VTS,1,5,300,0.69,CSH,5.0 +VTS,1,5,900,7.38,CRD,22.0 +VTS,1,5,360,1.89,CSH,7.5 +VTS,1,5,180,0.83,CSH,5.0 +CMT,1,1,894,2.2,CRD,11.5 +CMT,1,1,647,5.9,CRD,17.5 +CMT,1,1,215,1.1,CSH,5.5 +CMT,1,1,306,1.2,CSH,6.0 +CMT,1,1,593,2.1,CSH,9.5 +CMT,1,1,967,5.1,CRD,17.5 +CMT,1,1,561,2.1,CSH,9.5 +CMT,1,1,161,0.7,CRD,4.5 +CMT,1,1,437,1.5,CRD,7.0 +CMT,1,1,893,3.3,CRD,13.0 +VTS,1,5,1620,3.27,CSH,18.0 +VTS,1,5,1200,13.54,CSH,37.0 +VTS,1,5,1080,6.83,CSH,22.0 +VTS,1,5,1020,1.55,CSH,11.0 +VTS,1,5,1080,8.52,CSH,25.5 +VTS,1,5,1500,15.49,CSH,42.5 +VTS,1,5,1260,2.19,CRD,14.0 +VTS,1,5,480,1.71,CRD,8.0 +VTS,1,5,840,7.55,CRD,23.0 +VTS,1,5,720,1.5,CRD,9.0 +VTS,1,5,660,1.62,CSH,9.0 +VTS,1,5,360,1.09,CSH,6.0 +VTS,1,5,360,0.93,CRD,6.5 +VTS,1,5,1680,6.72,CRD,24.0 +VTS,1,5,1320,10.55,CRD,30.5 +VTS,1,5,180,0.73,CSH,4.0 +VTS,1,5,540,2.52,CRD,9.5 +VTS,1,5,1320,4.33,CSH,17.5 +VTS,1,5,420,2.04,CSH,8.0 +VTS,1,5,360,1.08,CSH,6.0 +VTS,1,5,1200,4.85,CRD,17.5 +VTS,1,5,480,0.8,CSH,6.5 +VTS,1,5,660,1.54,CSH,9.0 +VTS,1,5,900,1.54,CSH,10.5 +VTS,2,5,2340,18.41,CSH,52.0 +VTS,1,5,1140,4.81,CSH,18.5 +VTS,1,5,840,2.39,CSH,11.5 +VTS,1,5,1380,11.81,CSH,33.5 +VTS,1,5,960,4.72,CSH,17.0 +VTS,1,5,1200,5.81,CRD,21.5 +VTS,1,5,600,1.33,CSH,8.0 +VTS,1,5,900,0.15,CSH,10.0 +VTS,1,5,240,0.81,CSH,5.0 +VTS,1,5,1920,11.19,CRD,35.5 +VTS,1,5,1380,3.12,CRD,15.5 +VTS,1,5,960,2.19,CRD,11.5 +VTS,1,5,360,0.75,CSH,6.0 +VTS,1,5,1020,3.69,CSH,15.0 +VTS,1,5,480,1.15,CSH,7.0 +VTS,1,5,660,1.87,CRD,9.5 +VTS,1,5,180,0.79,CSH,4.5 +VTS,1,5,540,0.41,CSH,6.5 +CMT,1,1,158,0.6,CSH,4.0 +CMT,1,1,1154,2.3,CRD,13.5 +CMT,1,1,351,1.0,CSH,6.0 +CMT,1,1,102,0.5,CSH,3.5 +CMT,1,1,1185,6.1,CRD,20.5 +CMT,1,1,78,0.4,CSH,3.5 +CMT,1,1,569,1.0,CRD,7.5 +CMT,1,1,45,0.0,CSH,2.5 +CMT,1,1,1319,3.8,CRD,17.5 +CMT,1,1,704,2.4,CRD,10.5 +CMT,1,1,1179,3.0,CRD,15.0 +CMT,1,1,795,2.9,CSH,12.0 +CMT,1,1,696,1.4,CRD,9.0 +CMT,1,1,780,3.4,CSH,12.0 +CMT,1,1,1673,14.9,CRD,42.5 +CMT,2,1,1389,16.6,CRD,52.0 +CMT,1,1,1217,3.3,CSH,15.0 +CMT,1,1,308,1.8,CRD,7.0 +CMT,1,1,831,1.1,CSH,10.0 +CMT,1,1,263,0.7,CRD,5.0 +CMT,1,1,850,2.2,CRD,11.0 +CMT,1,1,934,2.9,CRD,12.5 +CMT,1,1,395,1.2,CSH,6.5 +CMT,1,1,292,0.9,CSH,5.5 +CMT,1,1,286,1.3,CRD,6.0 +CMT,1,1,742,2.2,CSH,10.5 +VTS,1,5,1020,5.44,CRD,18.5 +VTS,1,5,240,1.1,CRD,5.5 +VTS,1,5,300,1.1,CSH,6.0 +VTS,1,5,1500,3.46,CRD,18.5 +VTS,1,5,540,1.95,CSH,9.0 +VTS,1,5,480,1.26,CSH,7.0 +VTS,1,5,240,0.65,CRD,4.5 +VTS,1,5,600,1.86,CSH,9.0 +VTS,1,5,660,2.08,CSH,9.5 +VTS,1,5,1500,5.43,CRD,20.5 +VTS,1,5,660,8.31,CRD,23.0 +VTS,1,5,1860,10.98,CSH,34.0 +VTS,1,5,240,0.69,CRD,4.0 +VTS,1,5,2280,7.74,CRD,28.5 +VTS,1,5,1080,2.63,CRD,13.0 +VTS,1,5,660,1.85,CRD,9.0 +VTS,1,5,960,3.01,CRD,12.5 +VTS,1,5,1440,12.88,CRD,36.0 +VTS,1,5,300,1.02,CSH,5.5 +VTS,1,5,840,1.84,CRD,10.5 +VTS,1,5,660,1.5,CSH,9.0 +VTS,1,5,540,1.5,CRD,7.5 +VTS,1,5,300,0.86,CSH,5.5 +VTS,1,5,3960,14.34,CSH,52.0 +VTS,1,5,2100,16.0,CSH,43.5 +VTS,2,5,1740,18.92,CRD,52.0 +VTS,1,5,660,1.01,CSH,8.0 +VTS,1,5,300,0.82,CSH,5.0 +VTS,1,5,1680,13.05,CRD,37.5 +VTS,1,5,1560,11.46,CRD,33.5 +VTS,1,5,1140,4.02,CSH,16.5 +VTS,1,5,960,2.96,CRD,13.5 +VTS,1,5,780,2.85,CRD,12.0 +VTS,1,5,1020,2.45,CSH,12.5 +VTS,1,5,720,2.83,CSH,11.5 +VTS,1,5,300,0.56,CSH,4.5 +VTS,1,5,540,1.6,CSH,8.0 +VTS,1,5,420,1.66,CSH,8.0 +VTS,1,5,420,0.88,CRD,6.0 +VTS,1,5,180,0.6,CSH,4.5 +VTS,1,5,1860,6.76,CRD,25.0 +VTS,1,5,480,1.38,CRD,7.0 +VTS,1,5,180,0.52,CRD,4.0 +VTS,1,5,480,3.34,CRD,11.0 +VTS,1,5,720,0.78,CRD,8.0 +VTS,1,5,2400,8.06,CRD,31.0 +VTS,1,5,1140,6.26,CSH,21.5 +VTS,1,5,240,1.15,CRD,5.5 +VTS,2,5,1920,18.73,CSH,52.0 +VTS,1,5,420,1.5,CSH,7.0 +VTS,1,5,1020,6.28,CRD,20.5 +VTS,1,5,300,0.8,CSH,5.0 +CMT,1,1,1057,4.7,CSH,17.0 +CMT,1,1,745,2.6,CSH,11.5 +CMT,1,1,839,2.3,CRD,12.0 +CMT,1,1,469,2.0,CRD,8.5 +CMT,1,1,411,2.3,CSH,8.5 +CMT,1,1,517,2.0,CRD,8.5 +CMT,1,1,200,0.6,CSH,4.5 +CMT,1,1,791,1.5,CSH,10.0 +CMT,1,1,566,1.6,CSH,8.5 +CMT,1,1,427,1.4,CRD,7.0 +CMT,1,1,373,1.7,CRD,7.5 +CMT,1,1,502,1.1,CSH,7.0 +CMT,1,1,823,1.1,CSH,9.5 +CMT,1,1,489,1.6,CRD,8.0 +CMT,1,1,210,0.8,CRD,4.5 +CMT,1,1,773,2.8,CSH,12.0 +CMT,1,1,328,1.6,CRD,7.0 +CMT,1,1,812,4.1,CSH,14.0 +CMT,1,1,276,0.9,CSH,5.5 +CMT,1,1,943,8.3,CSH,23.5 +CMT,1,1,757,3.5,CRD,13.5 +VTS,1,5,900,4.7,CSH,17.0 +VTS,1,5,300,0.87,CRD,5.5 +VTS,1,5,120,0.8,CSH,4.5 +VTS,1,5,180,0.82,CSH,4.5 +VTS,1,5,1500,11.29,CSH,33.0 +VTS,1,5,480,1.88,CSH,8.0 +VTS,1,5,600,1.46,CRD,8.5 +VTS,1,5,840,2.62,CRD,11.5 +VTS,1,5,660,1.98,CSH,9.0 +VTS,1,5,240,0.49,CSH,4.0 +VTS,1,5,240,0.65,CRD,5.0 +VTS,1,5,540,1.85,CSH,8.5 +VTS,1,5,540,1.11,CRD,7.5 +VTS,2,5,1500,16.97,CRD,52.0 +VTS,1,5,480,1.87,CSH,8.0 +VTS,1,5,1500,11.21,CRD,33.5 +VTS,1,5,1080,3.37,CRD,14.0 +VTS,2,5,1980,17.94,CSH,52.0 +VTS,1,5,420,1.7,CRD,7.5 +VTS,1,5,1920,9.3,CRD,30.5 +VTS,1,5,1740,8.29,CRD,27.5 +VTS,1,5,1140,2.69,CRD,13.5 +VTS,1,5,540,1.59,CRD,8.0 +VTS,1,5,360,1.22,CSH,6.5 +VTS,1,5,780,1.87,CSH,10.5 +VTS,1,5,480,1.22,CSH,7.0 +VTS,1,5,420,1.77,CSH,7.5 +VTS,1,5,480,1.19,CSH,7.5 +VTS,1,5,1020,4.65,CSH,17.5 +VTS,1,5,900,3.62,CSH,14.0 +VTS,1,5,660,1.19,CRD,8.5 +VTS,1,5,660,1.47,CSH,8.5 +VTS,1,5,840,3.32,CRD,12.5 +VTS,1,5,1200,7.44,CRD,23.5 +VTS,1,5,540,2.74,CSH,11.0 +VTS,1,5,120,0.75,CRD,4.0 +VTS,1,5,600,2.87,CSH,10.5 +VTS,1,5,1620,11.9,CRD,35.0 +VTS,1,5,720,2.0,CRD,10.0 +VTS,1,5,600,1.67,CSH,8.0 +VTS,1,5,180,0.5,CSH,4.5 +VTS,1,5,420,1.4,CSH,7.0 +VTS,1,5,1500,5.53,CRD,20.0 +VTS,1,5,1020,2.05,CSH,12.0 +VTS,1,5,360,0.8,CSH,5.5 +VTS,1,5,600,1.65,CSH,8.5 +VTS,1,5,1500,9.55,CSH,29.5 +VTS,1,5,840,2.01,CSH,10.5 +VTS,1,5,1140,2.07,CRD,13.0 +VTS,1,5,420,2.02,CSH,8.5 +VTS,1,5,780,2.65,CRD,11.0 +VTS,2,5,0,0.0,CSH,52.0 +VTS,1,5,1740,4.79,CSH,21.0 +VTS,1,5,600,1.26,CRD,7.5 +VTS,1,5,720,1.34,CSH,8.5 +VTS,1,5,300,0.78,CSH,5.5 +VTS,1,5,600,1.58,CSH,8.5 +VTS,1,5,1800,2.16,CSH,18.0 +VTS,1,5,1260,1.76,CRD,12.5 +VTS,1,5,600,1.02,CRD,7.5 +VTS,1,5,540,1.21,CRD,7.5 +VTS,1,5,780,2.92,CRD,12.5 +VTS,1,5,1080,8.42,CRD,24.0 +VTS,1,5,1500,7.66,CRD,25.5 +VTS,1,5,480,3.33,CSH,10.5 +VTS,1,5,180,0.82,CSH,4.5 +VTS,1,5,420,1.02,CSH,6.0 +VTS,2,5,2040,18.33,CRD,52.0 +VTS,1,5,1260,11.44,CSH,32.5 +VTS,1,5,480,1.87,CRD,8.5 +VTS,1,5,240,0.55,CRD,4.0 +VTS,1,5,540,1.79,CSH,8.5 +VTS,1,5,1560,5.74,CRD,21.0 +VTS,1,5,720,3.39,CRD,12.5 +VTS,1,5,660,4.11,CSH,14.0 +VTS,1,5,540,1.34,CSH,8.0 +VTS,1,5,300,0.33,CSH,4.5 +VTS,1,5,780,2.49,CRD,11.5 +VTS,1,5,120,0.41,CSH,3.5 +VTS,1,5,600,1.81,CRD,9.0 +VTS,1,5,480,0.96,CRD,6.5 +VTS,1,5,660,2.24,CRD,9.5 +VTS,1,5,780,1.59,CRD,9.5 +VTS,1,5,480,1.23,CRD,7.0 +VTS,1,5,540,1.18,CRD,7.0 +VTS,1,5,720,1.31,CRD,9.0 +VTS,1,5,240,0.43,CSH,4.5 +VTS,1,5,420,1.27,CSH,6.5 +VTS,1,5,840,4.03,CRD,14.5 +VTS,1,5,1200,10.48,CRD,30.0 +VTS,1,5,1680,5.67,CRD,22.0 +VTS,1,5,600,2.12,CRD,9.5 +VTS,1,5,660,2.17,CSH,9.5 +VTS,1,5,360,0.65,CRD,6.0 +VTS,2,5,2220,18.59,CRD,52.0 +VTS,1,5,1380,11.45,CSH,34.0 +VTS,1,5,420,1.06,CRD,6.5 +VTS,1,5,1020,2.96,CSH,13.0 +VTS,1,5,1380,9.21,CSH,28.5 +VTS,1,5,360,0.88,CRD,5.5 +VTS,2,5,1200,4.82,CSH,52.0 +VTS,1,5,1140,9.26,CRD,26.5 +VTS,1,5,1500,5.43,CSH,22.0 +VTS,1,5,540,1.74,CSH,8.5 +VTS,1,5,480,0.89,CSH,6.5 +VTS,1,5,1080,3.05,CRD,13.5 +VTS,1,5,300,1.16,CSH,6.0 +VTS,1,5,780,2.26,CRD,10.5 +VTS,1,5,1980,11.48,CSH,33.5 +VTS,1,5,1380,9.61,CSH,29.0 +VTS,1,5,1200,3.68,CRD,15.5 +VTS,1,5,300,0.75,CSH,5.0 +VTS,1,5,1200,3.95,CSH,16.0 +VTS,1,5,180,0.45,CSH,4.0 +VTS,1,5,540,1.43,CRD,8.0 +VTS,1,5,1080,9.63,CRD,27.0 +VTS,1,5,300,1.53,CSH,7.0 +VTS,2,5,1620,17.28,CSH,52.0 +VTS,1,5,480,2.5,CRD,9.0 +VTS,1,5,660,3.49,CRD,12.5 +VTS,1,5,120,0.7,CRD,4.0 +VTS,1,5,660,1.24,CSH,8.5 +VTS,1,5,960,7.29,CSH,22.5 +VTS,1,5,1020,2.46,CSH,12.5 +VTS,1,5,300,1.32,CRD,6.0 +VTS,1,5,240,0.59,CSH,4.5 +VTS,1,5,480,1.59,CSH,7.5 +VTS,1,5,480,1.55,CSH,7.5 +VTS,1,5,840,2.43,CRD,11.5 +VTS,1,5,600,3.09,CRD,10.5 +VTS,1,5,480,1.38,CRD,7.5 +VTS,1,5,600,3.86,CSH,13.0 +VTS,1,5,480,2.38,CRD,10.0 +VTS,1,5,600,1.56,CRD,8.0 +VTS,1,5,4260,10.78,CSH,49.0 +VTS,5,1,0,0.0,CRD,6.5 +VTS,1,5,720,1.21,CRD,8.5 +VTS,1,5,540,0.84,CSH,6.0 +VTS,1,5,540,1.41,CRD,8.0 +VTS,1,5,2580,15.46,CRD,47.5 +VTS,1,5,360,1.26,CRD,6.0 +VTS,1,5,600,1.2,CSH,8.0 +VTS,1,5,240,0.57,CSH,4.5 +VTS,1,5,480,1.55,CRD,7.0 +VTS,1,5,240,0.9,CSH,4.5 +VTS,1,5,600,1.77,CRD,9.0 +VTS,1,5,600,0.89,CRD,7.5 +VTS,1,5,360,1.33,CSH,7.0 +VTS,1,5,360,1.6,CSH,7.0 +VTS,1,5,600,2.59,CRD,10.0 +VTS,1,5,480,1.69,CRD,7.5 +VTS,1,5,120,0.63,CRD,4.5 +VTS,1,5,240,0.77,CRD,4.5 +VTS,1,5,780,2.78,CRD,11.0 +VTS,1,5,300,1.48,CRD,7.0 +VTS,1,5,480,1.7,CSH,8.0 +VTS,1,5,840,3.88,CRD,14.0 +VTS,1,5,420,1.29,CRD,6.5 +VTS,1,5,420,0.98,CRD,6.5 +VTS,1,5,600,0.93,CSH,8.0 +VTS,1,5,300,0.8,CSH,5.0 +VTS,1,5,900,2.9,CRD,12.5 +VTS,1,5,360,1.44,CSH,7.0 +VTS,1,5,480,1.61,CRD,7.5 +VTS,1,5,660,2.43,CRD,10.0 +VTS,1,5,1200,2.71,CSH,14.5 +VTS,1,5,480,1.02,CSH,6.5 +VTS,1,5,1140,3.05,CSH,14.5 +VTS,1,5,960,1.73,CRD,11.0 +VTS,1,5,240,0.61,CSH,4.5 +VTS,1,5,480,1.35,CRD,7.5 +VTS,1,5,480,1.56,CSH,7.5 +VTS,1,5,540,2.31,CRD,9.0 +VTS,1,5,720,3.56,CSH,12.5 +VTS,1,5,1080,2.94,CRD,13.0 +VTS,1,5,900,5.02,CRD,17.0 +VTS,1,5,300,0.65,CRD,5.5 +VTS,1,5,300,1.58,CRD,6.5 +VTS,1,5,660,4.17,CSH,14.0 +VTS,1,5,540,1.71,CSH,8.0 +VTS,1,5,1020,2.71,CSH,13.0 +VTS,4,5,600,1.75,CSH,8.5 +VTS,1,5,1500,8.2,CRD,27.0 +VTS,1,5,1860,10.63,CRD,33.0 +VTS,1,5,480,0.58,CRD,6.5 +VTS,1,5,300,0.66,CSH,4.0 +VTS,1,5,240,0.42,CSH,4.0 +VTS,1,5,780,2.49,CSH,11.0 +VTS,1,5,240,0.93,CSH,5.0 +VTS,1,5,540,1.85,CRD,9.0 +VTS,1,5,1380,9.98,CRD,30.0 +VTS,1,5,240,1.14,CSH,5.5 +VTS,1,5,1860,14.77,CSH,42.0 +VTS,1,5,1440,14.07,CSH,39.5 +VTS,1,5,1920,7.3,CRD,27.0 +VTS,1,5,1080,3.0,CRD,13.5 +VTS,1,5,1380,2.75,CRD,16.0 +VTS,1,5,720,2.31,CSH,10.5 +VTS,1,5,480,0.82,CSH,7.0 +VTS,1,5,180,0.39,CRD,4.0 +VTS,1,5,1140,3.93,CRD,15.5 +VTS,1,5,1080,3.43,CRD,15.0 +VTS,1,5,180,0.3,CSH,4.0 +VTS,1,5,960,2.13,CRD,11.5 +VTS,1,5,300,0.65,CSH,5.0 +VTS,1,5,420,1.45,CSH,7.0 +VTS,1,5,1440,3.02,CRD,16.5 +VTS,1,5,360,1.09,CRD,6.0 +VTS,1,5,420,1.12,CSH,6.5 +VTS,1,5,1620,15.46,CSH,43.5 +VTS,1,5,1500,5.25,CSH,21.5 +VTS,1,5,600,1.3,CSH,7.5 +VTS,1,5,1020,2.72,CSH,13.0 +VTS,1,5,2220,8.72,CSH,31.0 +VTS,1,5,360,1.13,CSH,6.5 +VTS,1,5,540,1.21,CSH,8.0 +VTS,1,5,840,1.87,CRD,10.0 +VTS,1,5,540,1.01,CRD,7.0 +VTS,1,5,180,0.55,CSH,4.0 +VTS,1,5,240,0.72,CRD,5.0 +VTS,1,5,420,0.71,CSH,6.0 +VTS,1,5,480,0.6,CRD,6.5 +VTS,1,5,900,1.9,CRD,11.0 +VTS,1,5,720,1.64,CRD,9.0 +VTS,1,5,660,1.0,CSH,8.0 +VTS,1,5,780,2.69,CRD,11.5 +VTS,1,5,120,0.58,CSH,4.0 +VTS,2,5,2040,22.4,CSH,52.0 +VTS,1,5,1200,5.46,CRD,18.5 +VTS,1,5,600,0.52,CSH,6.5 +VTS,1,5,960,4.99,CRD,17.5 +VTS,1,5,960,8.55,CRD,24.5 +VTS,1,5,840,1.71,CRD,10.5 +VTS,1,5,360,1.18,CRD,6.5 +VTS,1,5,480,0.57,CRD,6.0 +VTS,1,5,300,0.81,CRD,5.5 +VTS,1,5,780,2.05,CRD,10.0 +VTS,1,5,660,1.83,CSH,9.5 +VTS,1,5,660,3.36,CSH,12.0 +VTS,1,5,1560,3.8,CRD,18.0 +VTS,3,5,2160,13.45,CSH,61.0 +VTS,1,5,840,2.49,CSH,11.5 +VTS,1,5,1500,6.92,CRD,24.0 +VTS,1,5,720,2.83,CSH,11.0 +VTS,1,5,720,3.3,CRD,11.5 +VTS,1,5,840,8.49,CSH,24.0 +VTS,1,5,540,0.87,CRD,6.5 +VTS,1,5,480,1.77,CRD,8.0 +VTS,1,5,540,1.53,CSH,8.5 +VTS,1,5,1080,2.21,CSH,12.5 +VTS,1,5,300,0.82,CSH,5.0 +VTS,1,5,420,0.9,CSH,6.0 +VTS,1,5,540,1.69,CSH,8.5 +VTS,1,5,1980,19.08,CRD,53.0 +VTS,1,5,540,2.09,CRD,9.5 +VTS,1,5,480,1.61,CRD,7.5 +VTS,1,5,720,1.61,CSH,9.0 +VTS,1,5,120,0.24,CSH,3.0 +VTS,1,5,660,2.56,CRD,10.5 +VTS,1,5,540,1.61,CRD,8.0 +VTS,1,5,1500,4.3,CSH,18.5 +VTS,1,5,960,2.03,CRD,11.5 +VTS,1,5,660,1.57,CRD,8.5 +VTS,1,5,480,1.31,CSH,7.5 +VTS,1,5,1260,1.83,CRD,13.5 +VTS,1,5,480,1.28,CRD,7.5 +VTS,1,5,300,1.01,CSH,6.0 +VTS,1,5,180,0.71,CRD,4.5 +VTS,1,5,600,3.28,CRD,11.0 +VTS,1,5,180,0.68,CRD,4.5 +VTS,1,5,420,1.79,CSH,8.0 +VTS,1,5,600,1.86,CSH,8.5 +VTS,1,5,840,4.72,CSH,16.5 +VTS,1,5,840,5.39,CSH,17.5 +VTS,1,5,540,2.4,CSH,9.5 +VTS,1,5,420,0.85,CSH,5.5 +VTS,1,5,480,2.25,CRD,9.0 +VTS,1,5,540,1.76,CSH,9.0 +VTS,1,5,1860,14.58,CRD,40.5 +VTS,1,5,2340,12.1,CRD,36.0 +VTS,1,5,660,1.29,CSH,8.5 +VTS,1,5,1260,6.21,CRD,21.0 +VTS,1,5,600,1.36,CSH,8.5 +VTS,1,5,540,1.73,CSH,8.5 +VTS,1,5,660,2.27,CSH,10.0 +VTS,1,5,180,0.58,CRD,4.0 +VTS,1,5,1680,10.32,CRD,32.0 +VTS,1,5,1080,4.49,CSH,16.0 +VTS,1,5,480,0.98,CRD,7.0 +VTS,1,5,360,1.47,CRD,6.5 +VTS,1,5,960,3.05,CRD,14.0 +VTS,1,5,900,8.25,CRD,24.0 +VTS,1,5,420,1.54,CRD,7.0 +VTS,1,5,1380,9.43,CRD,28.5 +VTS,1,5,660,1.68,CRD,9.0 +VTS,1,5,900,1.5,CRD,10.5 +VTS,1,5,1440,6.53,CRD,24.0 +VTS,1,5,480,0.65,CSH,6.5 +VTS,5,1,60,0.02,CRD,30.0 +VTS,1,5,1320,10.66,CSH,30.5 +VTS,1,5,480,1.27,CSH,7.5 +VTS,1,5,480,1.2,CRD,7.5 +VTS,1,5,600,0.86,CRD,7.5 +VTS,1,5,960,1.13,CSH,10.5 +VTS,1,5,1200,3.5,CSH,15.0 +VTS,1,5,600,2.98,CSH,11.0 +VTS,1,5,1080,3.72,CSH,15.0 +VTS,1,5,780,3.02,CRD,11.5 +VTS,1,5,1320,10.16,CSH,29.5 +VTS,1,5,660,1.79,CRD,9.0 +VTS,1,5,480,1.5,CSH,7.5 +VTS,1,5,1800,7.82,CRD,27.5 +VTS,1,5,300,0.74,CRD,5.5 +VTS,1,5,1440,5.26,CSH,19.0 +VTS,1,5,420,1.69,CSH,7.5 +VTS,1,5,720,3.48,CSH,13.0 +VTS,1,5,660,3.01,CRD,11.0 +VTS,1,5,1380,10.72,CSH,31.5 +VTS,1,5,300,0.67,CSH,5.5 +VTS,1,5,720,3.23,CRD,11.5 +VTS,1,5,900,4.69,CSH,15.0 +VTS,1,5,900,3.47,CSH,13.5 +VTS,1,5,600,1.85,CRD,9.0 +VTS,1,5,1020,3.92,CSH,14.5 +VTS,1,5,780,3.07,CSH,12.5 +VTS,1,5,780,2.51,CSH,11.5 +VTS,2,5,2460,17.16,CRD,52.0 +VTS,1,5,480,2.17,CRD,9.0 +VTS,1,5,1080,9.07,CRD,26.0 +VTS,1,5,300,0.59,CRD,4.5 +VTS,1,5,1380,4.0,CRD,18.0 +VTS,1,5,900,3.79,CRD,15.0 +VTS,1,5,1620,11.35,CRD,33.0 +VTS,1,5,540,1.16,CSH,8.0 +VTS,1,5,240,0.5,CRD,4.5 +VTS,1,5,1620,4.03,CRD,19.5 +VTS,1,5,360,0.82,CRD,5.5 +VTS,1,5,420,0.83,CRD,6.5 +VTS,1,5,660,1.93,CSH,8.5 +VTS,1,5,780,2.53,CSH,11.5 +VTS,1,5,360,1.18,CRD,6.5 +VTS,1,5,840,2.52,CRD,11.0 +VTS,1,5,480,2.22,CRD,8.5 +VTS,1,5,360,0.84,CSH,6.0 +VTS,1,5,900,1.6,CRD,11.0 +VTS,1,5,840,1.07,CRD,9.5 +VTS,1,5,1080,9.55,CRD,26.5 +VTS,1,5,360,1.34,CRD,6.5 +VTS,1,5,600,1.22,CSH,8.0 +VTS,1,5,240,0.77,CRD,5.0 +VTS,1,5,840,4.18,CSH,14.5 +VTS,1,5,780,3.18,CSH,13.0 +VTS,1,5,180,0.88,CRD,5.0 +VTS,1,5,1020,1.88,CRD,12.0 +VTS,1,5,840,1.54,CRD,9.5 +VTS,1,5,1440,5.44,CSH,20.5 +VTS,1,5,480,1.09,CSH,7.0 +VTS,1,5,240,1.21,CSH,5.5 +VTS,1,5,360,1.74,CRD,7.0 +VTS,1,5,180,0.88,CRD,5.0 +VTS,1,5,420,1.72,CRD,7.5 +VTS,2,5,2160,19.86,CRD,52.0 +VTS,1,5,1860,10.73,CSH,34.0 +VTS,1,5,780,2.28,CRD,10.5 +VTS,1,5,540,1.08,CSH,7.0 +VTS,1,5,2580,12.42,CRD,41.0 +VTS,1,5,300,1.08,CSH,6.0 +VTS,1,5,360,1.0,CRD,6.0 +VTS,1,5,1140,6.28,CSH,21.5 +VTS,1,5,660,4.08,CSH,13.5 +VTS,1,5,600,0.74,CRD,7.0 +VTS,1,5,600,2.7,CSH,11.0 +VTS,1,5,480,0.99,CSH,6.0 +VTS,1,5,1260,5.05,CRD,18.5 +VTS,1,5,180,0.67,CSH,4.0 +VTS,1,5,540,1.18,CSH,7.5 +VTS,1,5,900,5.23,CRD,18.0 +VTS,1,5,1440,11.36,CSH,33.5 +VTS,1,5,720,3.25,CSH,12.0 +VTS,1,5,1740,11.15,CRD,33.5 +VTS,1,5,780,1.78,CRD,10.0 +VTS,1,5,1860,5.46,CRD,23.5 +VTS,1,5,1080,3.41,CRD,14.5 +VTS,1,5,600,1.28,CRD,8.0 +VTS,1,5,360,0.48,CSH,5.0 +VTS,1,5,300,1.34,CSH,6.0 +VTS,1,5,780,2.57,CRD,11.0 +VTS,1,5,1980,9.81,CRD,31.0 +VTS,1,5,540,1.57,CSH,8.0 +VTS,1,5,540,0.88,CRD,6.5 +VTS,1,5,540,1.54,CRD,8.0 +VTS,1,5,1620,8.28,CSH,27.0 +VTS,1,5,900,5.65,CSH,18.5 +VTS,1,5,240,0.47,CSH,4.0 +VTS,1,5,300,0.56,CRD,5.0 +CMT,1,1,517,1.3,CRD,8.0 +CMT,2,1,2112,16.3,CRD,52.0 +CMT,1,1,465,1.4,CRD,7.0 +CMT,1,1,752,1.9,CRD,10.0 +CMT,1,1,259,1.1,CSH,5.5 +CMT,1,1,943,3.2,CRD,13.5 +CMT,1,1,493,1.3,CSH,7.5 +CMT,1,1,208,0.5,CRD,4.5 +CMT,1,1,251,0.5,CRD,4.5 +CMT,1,1,390,0.4,CRD,6.0 +CMT,1,1,768,2.2,CRD,11.0 +CMT,1,1,250,1.4,CRD,6.0 +CMT,1,1,1047,2.2,CRD,12.5 +CMT,1,1,544,2.1,CSH,9.0 +CMT,1,1,352,1.9,CSH,7.5 +CMT,1,1,741,2.5,CRD,11.5 +CMT,1,1,922,2.4,CSH,11.5 +CMT,1,1,331,1.3,CRD,6.0 +CMT,1,1,350,0.7,CSH,5.5 +CMT,1,1,1721,10.3,CRD,32.0 +CMT,1,1,454,1.5,CRD,7.5 +CMT,1,1,1092,5.0,CSH,19.0 +CMT,1,1,1211,5.3,CSH,20.5 +CMT,1,1,623,2.0,CRD,9.5 +CMT,1,1,958,2.1,CSH,11.5 +CMT,1,1,410,0.9,CRD,6.5 +CMT,1,1,237,1.5,CRD,6.0 +CMT,1,1,1062,4.4,CRD,17.0 +CMT,1,1,206,0.6,CSH,4.5 +CMT,1,1,306,1.4,CRD,6.5 +CMT,1,1,1037,7.7,CRD,24.0 +CMT,1,1,483,1.9,CSH,8.5 +VTS,1,5,1260,9.44,CRD,28.0 +VTS,1,5,900,2.86,CSH,12.0 +VTS,1,5,660,2.13,CSH,9.5 +VTS,1,5,240,0.48,CSH,4.5 +VTS,1,5,720,1.85,CRD,9.5 +VTS,1,5,420,1.57,CSH,7.5 +VTS,1,5,240,0.39,CSH,4.5 +VTS,1,5,780,3.24,CSH,12.5 +VTS,1,5,480,1.34,CSH,7.5 +VTS,1,5,480,1.74,CSH,7.5 +VTS,1,5,420,0.74,CSH,6.0 +VTS,1,5,180,1.17,CRD,5.5 +VTS,1,5,1200,3.39,CRD,15.0 +VTS,1,5,1080,3.45,CRD,15.0 +VTS,1,5,600,2.69,CRD,10.0 +VTS,1,5,720,3.97,CSH,14.0 +VTS,1,5,1020,3.91,CRD,15.0 +VTS,1,5,120,0.32,CRD,3.0 +VTS,1,5,1260,3.83,CRD,16.5 +VTS,1,5,1800,9.55,CRD,30.0 +VTS,1,5,300,0.58,CSH,4.5 +VTS,1,5,420,0.86,CRD,6.0 +VTS,1,5,1680,18.6,CRD,50.0 +VTS,1,5,840,6.71,CSH,20.5 +VTS,1,5,480,1.09,CSH,7.0 +VTS,1,5,240,0.61,CSH,4.5 +VTS,1,5,1620,4.19,CRD,18.5 +VTS,1,5,600,1.04,CSH,7.5 +VTS,1,5,360,0.54,CRD,5.5 +VTS,1,5,960,3.37,CRD,13.5 +VTS,1,5,600,1.11,CSH,7.5 +VTS,1,5,180,0.54,CSH,4.0 +VTS,1,5,300,1.71,CSH,7.0 +VTS,1,5,360,2.25,CRD,8.0 +VTS,1,5,420,1.85,CSH,7.5 +VTS,1,5,600,1.99,CRD,9.5 +VTS,1,5,660,1.32,CRD,8.5 +VTS,1,5,360,0.92,CSH,6.0 +VTS,1,5,300,1.33,CRD,6.0 +VTS,1,5,120,0.75,CRD,4.5 +VTS,1,5,120,0.65,CSH,4.0 +VTS,1,5,240,0.51,CRD,4.0 +VTS,1,5,780,2.19,CRD,11.0 +VTS,1,5,360,0.46,CRD,5.0 +VTS,1,5,600,2.01,CRD,9.5 +VTS,1,5,1680,10.89,CRD,33.0 +VTS,1,5,600,1.2,CRD,7.5 +VTS,2,5,60,0.0,CRD,52.0 +VTS,1,5,660,2.16,CSH,9.5 +VTS,1,5,180,0.42,CSH,4.0 +VTS,1,5,180,0.22,CSH,3.5 +VTS,1,5,780,3.65,CRD,13.0 +VTS,1,5,480,1.24,CSH,7.0 +VTS,1,5,780,3.71,CSH,13.0 +VTS,1,5,420,1.79,CSH,7.5 +VTS,1,5,600,2.53,CRD,11.0 +VTS,1,5,1380,4.62,CRD,19.0 +VTS,1,5,1080,2.91,CRD,14.0 +VTS,1,5,540,0.91,CRD,6.5 +VTS,1,5,1200,4.12,CRD,16.5 +VTS,1,5,240,0.74,CRD,4.5 +VTS,1,5,1800,2.11,CSH,18.0 +VTS,1,5,900,1.46,CRD,10.5 +VTS,1,5,360,0.85,CSH,5.5 +VTS,1,5,1560,2.89,CRD,17.0 +VTS,1,5,1440,1.87,CRD,15.0 +VTS,1,5,960,2.07,CSH,11.5 +VTS,1,5,360,0.55,CRD,5.0 +VTS,1,5,480,1.58,CSH,7.5 +VTS,1,5,780,2.11,CSH,10.5 +VTS,1,5,720,2.39,CRD,10.0 +VTS,1,5,600,2.03,CRD,9.5 +VTS,1,5,1320,1.36,CSH,13.5 +VTS,1,5,420,0.87,CRD,6.0 +VTS,1,5,480,1.98,CSH,8.0 +VTS,1,5,540,1.84,CSH,8.5 +VTS,1,5,480,1.04,CRD,6.5 +VTS,1,5,1080,3.12,CSH,14.0 +VTS,1,5,840,3.38,CRD,13.0 +VTS,1,5,240,1.25,CSH,5.5 +VTS,1,5,420,2.83,CSH,9.5 +VTS,1,5,180,0.45,CRD,4.0 +VTS,1,5,360,1.24,CSH,6.5 +VTS,1,5,600,2.53,CSH,10.5 +VTS,1,5,300,1.2,CSH,6.0 +VTS,1,5,420,2.13,CSH,8.0 +VTS,1,5,1200,3.5,CSH,15.0 +VTS,1,5,1020,3.32,CRD,14.0 +VTS,1,5,420,0.99,CRD,6.5 +VTS,1,5,780,2.5,CRD,11.0 +VTS,1,5,660,2.1,CRD,9.0 +VTS,1,5,540,1.48,CRD,7.5 +VTS,1,5,240,0.82,CSH,5.0 +VTS,1,5,60,0.16,CSH,3.0 +VTS,1,5,600,2.48,CRD,10.5 +VTS,1,5,840,3.2,CSH,13.0 +VTS,1,5,660,2.23,CRD,9.5 +VTS,1,5,1080,5.47,CSH,18.5 +VTS,1,5,1500,3.46,CSH,18.5 +VTS,1,5,840,1.96,CSH,11.0 +VTS,1,5,300,0.11,CRD,5.0 +VTS,1,5,600,2.99,CRD,10.5 +VTS,1,5,600,0.82,CRD,7.5 +VTS,1,5,300,0.39,CRD,4.5 +VTS,1,5,180,0.67,CRD,4.5 +VTS,1,5,780,3.72,CRD,13.5 +VTS,1,5,180,0.55,CRD,4.0 +VTS,1,5,720,2.08,CRD,10.5 +VTS,1,5,300,1.13,CSH,6.0 +VTS,1,5,540,1.82,CSH,8.0 +VTS,1,5,480,0.81,CSH,6.5 +VTS,1,5,1380,3.07,CRD,15.0 +VTS,1,5,480,1.62,CRD,7.5 +VTS,1,5,1440,3.15,CSH,16.5 +VTS,1,5,720,1.95,CSH,10.0 +VTS,1,5,660,4.05,CRD,13.5 +VTS,1,5,180,1.27,CRD,5.5 +VTS,1,5,180,0.53,CSH,4.0 +VTS,1,5,420,0.77,CSH,6.0 +VTS,1,5,780,1.55,CSH,9.5 +VTS,5,1,0,0.0,CRD,70.0 +VTS,1,5,600,3.24,CSH,11.5 +VTS,1,5,1740,11.21,CRD,34.0 +VTS,1,5,780,2.36,CRD,11.0 +VTS,1,5,480,0.99,CSH,6.5 +VTS,1,5,540,1.09,CSH,7.5 +VTS,1,5,1380,3.66,CSH,17.5 +VTS,1,5,1020,4.05,CRD,15.5 +VTS,1,5,360,1.02,CSH,6.0 +VTS,1,5,360,0.94,CSH,6.5 +VTS,1,5,600,1.56,CRD,8.5 +VTS,1,5,420,1.24,CRD,6.5 +VTS,1,5,660,2.08,CRD,10.0 +VTS,1,5,1620,4.64,CSH,21.0 +VTS,1,5,900,2.49,CRD,11.5 +VTS,1,5,720,1.58,CRD,9.0 +VTS,1,5,180,0.55,CRD,4.5 +VTS,1,5,300,0.67,CSH,5.5 +VTS,1,5,600,1.23,CSH,8.0 +VTS,1,5,660,0.46,CSH,8.0 +VTS,1,5,1620,2.88,CSH,14.5 +VTS,1,5,720,0.58,CRD,8.0 +VTS,1,5,840,2.83,CRD,12.0 +VTS,1,5,660,4.04,CRD,13.0 +VTS,5,1,60,0.0,CRD,58.0 +VTS,1,5,240,0.61,CRD,4.5 +VTS,1,5,1920,7.79,CRD,27.0 +VTS,1,5,360,1.06,CRD,6.0 +VTS,1,5,720,2.31,CSH,10.0 +VTS,1,5,480,1.99,CRD,8.5 +VTS,1,5,960,1.91,CRD,11.5 +VTS,1,5,2400,14.35,CRD,44.5 +VTS,1,5,120,0.42,CSH,3.5 +VTS,1,5,480,2.27,CSH,9.0 +VTS,1,5,600,1.62,CSH,8.5 +VTS,1,5,660,2.77,CSH,11.0 +VTS,1,5,480,1.41,CRD,7.5 +VTS,1,5,600,1.43,CRD,8.0 +VTS,1,5,1200,4.76,CSH,18.0 +VTS,5,1,60,0.0,CRD,45.0 +VTS,1,5,1920,15.39,CSH,44.0 +VTS,1,5,240,0.96,CRD,5.0 +VTS,1,5,900,4.75,CSH,15.5 +VTS,1,5,420,1.15,CSH,6.5 +VTS,1,5,420,1.28,CSH,7.0 +VTS,1,5,480,1.73,CSH,8.0 +VTS,1,5,780,2.77,CRD,12.0 +VTS,1,5,660,1.16,CSH,8.5 +VTS,1,5,180,0.41,CRD,4.0 +VTS,1,5,540,1.58,CRD,8.0 +VTS,1,5,540,1.31,CSH,8.0 +VTS,1,5,900,3.53,CRD,14.5 +VTS,1,5,180,0.46,CRD,3.5 +VTS,1,5,780,1.41,CSH,10.0 +VTS,1,5,600,2.19,CSH,9.5 +VTS,1,5,300,1.34,CSH,6.0 +VTS,1,5,1380,9.62,CRD,28.5 +VTS,1,5,1380,14.24,CRD,39.0 +VTS,1,5,1020,2.08,CRD,11.5 +VTS,1,5,660,1.34,CSH,8.5 +VTS,1,5,1260,8.38,CRD,26.5 +VTS,1,5,900,3.23,CRD,13.0 +VTS,2,5,1800,18.88,CRD,52.0 +VTS,1,5,1140,5.89,CSH,20.5 +VTS,1,5,1140,8.1,CSH,24.5 +VTS,1,5,120,0.37,CSH,3.5 +VTS,1,5,840,3.81,CSH,13.5 +VTS,1,5,1560,11.01,CRD,32.5 +VTS,1,5,960,4.88,CRD,16.0 +VTS,1,5,1200,4.03,CRD,16.5 +VTS,1,5,540,1.34,CSH,7.5 +VTS,1,5,180,1.05,CSH,5.0 +VTS,1,5,180,1.06,CSH,5.5 +VTS,1,5,360,0.91,CSH,5.5 +VTS,1,5,1020,1.43,CSH,11.0 +VTS,1,5,2820,14.79,CRD,46.5 +VTS,1,5,780,3.65,CRD,14.0 +VTS,1,5,660,2.13,CRD,9.5 +VTS,1,5,1080,3.0,CRD,13.5 +VTS,1,5,420,1.03,CSH,6.5 +VTS,1,5,600,0.85,CSH,7.5 +VTS,1,5,1080,2.78,CRD,13.5 +VTS,1,5,1620,13.47,CSH,37.0 +VTS,1,5,360,1.14,CRD,6.5 +VTS,1,5,1320,10.26,CRD,30.0 +VTS,1,5,600,1.02,CRD,7.5 +VTS,1,5,240,0.93,CRD,5.0 +VTS,1,5,840,2.08,CRD,11.0 +VTS,1,5,540,1.3,CRD,8.0 +VTS,1,5,780,2.48,CRD,11.0 +VTS,1,5,1260,4.61,CSH,18.5 +VTS,1,5,1080,2.95,CRD,14.0 +VTS,1,5,1920,5.78,CRD,23.5 +VTS,5,1,0,0.0,CRD,58.0 +VTS,1,5,2400,19.89,CRD,56.0 +VTS,1,5,1320,14.18,CRD,38.5 +VTS,1,5,1020,4.98,CRD,17.5 +VTS,1,5,1800,10.01,CRD,31.0 +VTS,1,5,1200,1.89,CRD,13.0 +VTS,1,5,360,1.29,CRD,6.5 +VTS,1,5,600,1.89,CRD,8.5 +VTS,1,5,660,1.79,CRD,9.0 +VTS,1,5,540,1.81,CSH,8.5 +VTS,1,5,1020,3.92,CRD,15.0 +VTS,1,5,1080,2.33,CRD,13.0 +VTS,1,5,240,0.91,CRD,5.0 +VTS,1,5,780,2.2,CSH,11.0 +VTS,1,5,780,2.71,CSH,12.0 +VTS,1,5,780,4.62,CSH,16.0 +VTS,1,5,600,1.9,CRD,9.5 +VTS,1,5,180,0.53,CSH,4.0 +VTS,1,5,420,1.47,CRD,7.0 +VTS,1,5,360,0.5,CRD,5.0 +VTS,1,5,840,1.52,CRD,10.5 +VTS,1,5,660,2.44,CSH,10.5 +VTS,1,5,540,2.71,CRD,9.5 +VTS,1,5,360,0.79,CRD,5.5 +VTS,1,5,900,2.28,CRD,11.5 +VTS,1,5,960,1.46,CRD,10.0 +VTS,1,5,600,1.87,CRD,8.5 +VTS,1,5,900,2.44,CSH,12.0 +VTS,1,5,360,2.15,CRD,8.0 +VTS,1,5,660,1.22,CRD,8.5 +VTS,1,5,1200,5.19,CRD,18.0 +VTS,1,5,900,2.57,CSH,12.5 +VTS,1,5,300,0.63,CRD,5.0 +VTS,1,5,960,1.56,CSH,10.5 +VTS,5,1,60,0.0,CRD,15.5 +VTS,1,5,420,1.17,CSH,6.5 +VTS,1,5,180,0.44,CRD,4.5 +VTS,1,5,360,0.54,CRD,5.5 +VTS,5,1,60,0.02,CRD,58.0 +VTS,1,5,720,3.01,CRD,12.0 +VTS,1,5,900,1.55,CSH,11.0 +VTS,1,5,360,0.89,CRD,6.0 +VTS,1,5,960,2.87,CRD,13.0 +VTS,1,5,660,1.47,CSH,9.0 +VTS,1,5,120,0.25,CSH,3.0 +VTS,1,5,540,1.36,CRD,7.5 +VTS,1,5,240,0.51,CSH,4.5 +VTS,1,5,2220,14.54,CSH,42.5 +VTS,1,5,420,0.98,CSH,6.0 +VTS,1,5,900,4.46,CSH,15.0 +VTS,1,5,1020,2.63,CSH,13.5 +VTS,1,5,480,1.19,CRD,7.0 +VTS,1,5,540,1.22,CRD,7.5 +VTS,1,5,780,2.91,CRD,12.0 +VTS,1,5,480,0.91,CSH,7.0 +VTS,1,5,720,1.42,CRD,9.5 +VTS,1,5,720,1.61,CSH,9.0 +VTS,1,5,180,0.51,CRD,4.0 +VTS,1,5,360,1.04,CSH,6.0 +VTS,1,5,780,3.6,CSH,13.5 +VTS,1,5,600,2.01,CRD,9.0 +VTS,1,5,1920,19.41,CRD,53.5 +VTS,1,5,600,2.6,CRD,10.0 +VTS,1,5,360,0.99,CRD,6.0 +VTS,1,5,1080,2.15,CSH,12.0 +VTS,1,5,420,0.97,CSH,6.0 +VTS,1,5,300,0.8,CRD,5.5 +VTS,1,5,300,1.1,CSH,6.0 +VTS,1,5,960,3.29,CRD,13.5 +VTS,1,5,900,1.67,CRD,10.0 +VTS,1,5,600,1.19,CSH,8.0 +VTS,1,5,120,0.58,CSH,4.0 +VTS,1,5,480,0.63,CSH,6.5 +VTS,1,5,300,0.57,CSH,5.0 +VTS,1,5,480,1.63,CRD,7.5 +VTS,1,5,1680,0.66,CSH,16.5 +VTS,1,5,1140,3.67,CSH,16.0 +VTS,1,5,180,0.41,CSH,4.0 +VTS,1,5,2100,7.32,CSH,28.5 +VTS,1,5,300,0.7,CRD,5.0 +VTS,1,5,600,2.37,CRD,9.5 +VTS,1,5,360,1.19,CRD,5.5 +VTS,1,5,420,0.73,CSH,6.5 +VTS,1,5,1140,3.05,CRD,14.0 +VTS,2,5,120,0.0,CRD,52.0 +VTS,1,5,60,0.38,CRD,3.0 +VTS,1,5,1020,3.24,CRD,13.5 +VTS,1,5,360,0.76,CSH,5.5 +VTS,1,5,660,2.09,CRD,9.5 +VTS,1,5,780,3.23,CRD,13.0 +VTS,1,5,840,2.84,CRD,12.0 +VTS,1,5,1560,7.17,CRD,24.5 +VTS,1,5,540,0.95,CSH,7.0 +VTS,1,5,780,2.4,CRD,11.0 +VTS,1,5,780,2.86,CSH,12.0 +VTS,1,5,960,1.95,CRD,11.5 +VTS,1,5,660,2.39,CSH,10.5 +VTS,1,5,180,0.08,CSH,2.5 +VTS,1,5,600,1.46,CSH,8.5 +VTS,1,5,300,0.85,CRD,5.0 +VTS,1,5,120,0.47,CRD,4.0 +VTS,1,5,300,1.04,CSH,6.0 +VTS,4,5,2280,8.83,CRD,31.5 +VTS,1,5,420,1.62,CSH,7.0 +VTS,1,5,600,1.61,CSH,8.5 +VTS,1,5,300,1.39,CRD,6.5 +VTS,1,5,480,1.5,CSH,7.5 +VTS,1,5,840,2.05,CSH,11.0 +VTS,1,5,600,1.31,CSH,8.5 +VTS,1,5,720,2.32,CRD,10.5 +VTS,1,5,1080,10.45,CRD,30.0 +VTS,1,5,360,0.68,CRD,5.5 +VTS,1,5,720,1.67,CSH,9.5 +VTS,1,5,420,1.21,CRD,7.0 +VTS,1,5,1260,4.79,CRD,18.0 +VTS,1,5,660,0.97,CSH,7.5 +VTS,1,5,1080,4.39,CSH,17.0 +VTS,1,5,480,1.58,CRD,8.0 +VTS,1,5,300,1.08,CSH,5.5 +VTS,1,5,300,0.74,CRD,5.0 +VTS,1,5,480,2.55,CRD,9.5 +VTS,1,5,660,1.34,CRD,8.5 +VTS,1,5,540,1.67,CRD,8.0 +VTS,1,5,1020,3.59,CRD,14.5 +VTS,1,5,600,1.45,CRD,8.0 +VTS,1,5,600,1.11,CRD,8.0 +VTS,1,5,840,5.97,CSH,19.0 +VTS,1,5,420,1.32,CSH,6.5 +VTS,1,5,1620,13.08,CSH,37.0 +VTS,1,5,300,0.85,CRD,5.5 +VTS,1,5,420,1.39,CRD,7.5 +VTS,1,5,180,0.46,CSH,4.5 +VTS,1,5,600,1.31,CRD,8.0 +VTS,1,5,780,2.68,CSH,11.5 +VTS,1,5,540,1.82,CRD,8.5 +VTS,1,5,300,2.04,CSH,7.5 +VTS,4,5,120,0.03,CSH,4.0 +VTS,1,5,240,0.65,CSH,4.5 +VTS,1,5,360,0.91,CSH,6.0 +VTS,1,5,1260,4.28,CSH,16.5 +VTS,1,5,1200,6.54,CRD,21.5 +VTS,1,5,480,1.65,CRD,8.0 +VTS,1,5,360,1.39,CSH,6.5 +VTS,1,5,660,2.5,CSH,11.0 +VTS,1,5,1440,6.31,CRD,22.5 +VTS,1,5,660,2.4,CRD,10.0 +VTS,1,5,540,3.38,CRD,11.5 +VTS,1,5,480,1.92,CSH,8.0 +VTS,1,5,780,2.69,CRD,11.5 +VTS,1,5,240,0.76,CSH,5.0 +VTS,1,5,240,0.55,CSH,4.5 +VTS,1,5,480,0.67,CRD,6.5 +VTS,1,5,660,1.65,CRD,8.5 +VTS,1,5,240,0.77,CSH,4.5 +VTS,1,5,420,1.19,CSH,7.0 +VTS,1,5,420,0.69,CSH,6.0 +VTS,5,1,0,0.0,CRD,68.0 +VTS,1,5,120,0.2,CSH,3.5 +VTS,1,5,360,2.01,CSH,7.5 +VTS,1,5,480,1.61,CSH,7.5 +VTS,1,5,960,4.2,CRD,15.0 +VTS,1,5,600,1.48,CSH,8.5 +VTS,1,5,540,1.33,CSH,8.0 +VTS,1,5,360,1.28,CRD,6.0 +VTS,1,5,960,0.52,CRD,10.0 +VTS,1,5,1620,10.57,CSH,31.5 +VTS,1,5,960,3.08,CSH,13.0 +VTS,1,5,600,2.16,CSH,9.0 +VTS,1,5,660,2.18,CSH,10.0 +VTS,1,5,720,3.22,CSH,13.0 +VTS,1,1,360,1.04,CSH,6.0 +VTS,1,5,600,2.92,CRD,10.5 +VTS,1,5,360,1.83,CSH,7.5 +VTS,1,5,660,5.85,CSH,17.5 +VTS,1,5,360,0.73,CSH,5.5 +VTS,1,5,300,0.01,CSH,2.5 +VTS,1,5,480,0.52,CSH,7.0 +VTS,1,5,300,0.97,CRD,6.0 +VTS,1,5,1020,9.04,CRD,26.5 +VTS,5,1,60,0.0,CRD,70.0 +VTS,1,5,2580,11.98,CSH,42.0 +VTS,1,5,600,1.21,CRD,8.0 +VTS,1,5,240,0.57,CSH,4.5 +VTS,1,5,780,1.99,CRD,10.0 +VTS,1,5,900,4.41,CSH,15.0 +VTS,1,5,480,1.35,CRD,7.5 +VTS,1,5,660,2.67,CSH,11.0 +VTS,1,5,840,3.83,CSH,14.0 +VTS,1,5,180,0.74,CSH,4.5 +VTS,1,5,1920,5.87,CRD,23.5 +VTS,1,5,600,2.23,CRD,9.5 +VTS,1,5,1140,4.62,CSH,18.0 +VTS,1,5,420,0.58,CRD,5.5 +VTS,1,5,480,1.42,CRD,7.5 +VTS,1,5,1440,2.2,CSH,16.0 +VTS,1,5,1020,11.78,CRD,32.5 +VTS,1,5,1020,2.86,CRD,13.0 +VTS,1,1,480,1.79,CSH,8.0 +VTS,1,1,1380,9.1,CRD,29.0 +VTS,1,1,1380,8.98,CRD,28.5 +VTS,1,1,360,0.68,CSH,6.0 +VTS,1,1,900,6.0,CRD,19.5 +VTS,5,1,0,0.1,CRD,9.0 +VTS,1,1,360,1.59,CSH,7.5 +VTS,1,1,720,4.21,CRD,14.0 +VTS,1,1,600,2.06,CRD,9.0 +VTS,1,1,120,1.35,CRD,5.5 +VTS,1,1,540,2.8,CRD,10.0 +VTS,1,1,1020,6.02,CRD,19.5 +VTS,1,1,660,1.77,CSH,9.0 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,600,1.83,CRD,9.0 +VTS,1,1,600,2.02,CRD,9.5 +VTS,1,1,420,2.41,CSH,9.0 +VTS,1,1,480,1.16,CSH,7.5 +VTS,1,1,660,2.14,CSH,9.5 +VTS,1,1,660,3.34,CRD,12.0 +VTS,1,1,480,1.76,CSH,8.0 +VTS,1,1,840,2.27,CRD,11.0 +VTS,1,1,480,2.24,CSH,9.0 +VTS,1,1,480,1.56,CSH,8.0 +VTS,1,1,900,2.72,CRD,12.5 +VTS,1,1,660,2.92,CSH,11.0 +VTS,1,1,720,1.43,CRD,9.5 +VTS,1,5,600,1.03,CSH,6.5 +VTS,1,5,240,0.42,CRD,4.0 +VTS,1,5,600,2.29,CRD,10.0 +VTS,1,5,840,3.69,CRD,13.5 +VTS,1,5,1380,6.95,CRD,23.0 +VTS,1,1,540,2.02,CSH,9.0 +VTS,1,1,480,1.07,CRD,7.0 +VTS,1,1,420,2.24,CSH,8.5 +VTS,1,1,1080,10.36,CSH,29.0 +VTS,1,1,780,2.72,CSH,11.0 +VTS,1,1,600,1.7,CSH,9.0 +VTS,1,1,480,1.68,CSH,8.0 +VTS,1,1,480,1.68,CSH,8.0 +VTS,1,1,360,0.63,CSH,5.5 +VTS,1,1,420,1.8,CSH,8.0 +VTS,1,1,240,0.81,CSH,5.0 +VTS,1,1,840,1.39,CSH,10.0 +VTS,1,1,840,1.54,CSH,10.0 +VTS,1,1,180,1.07,CRD,5.0 +VTS,1,1,120,0.37,CRD,3.5 +VTS,1,1,480,1.12,CSH,7.0 +VTS,1,2,420,3.94,CRD,12.5 +VTS,1,1,1080,3.03,CRD,14.5 +VTS,1,1,480,1.19,CSH,7.0 +VTS,1,1,780,2.84,CSH,12.0 +VTS,1,1,480,2.18,CSH,8.5 +VTS,1,5,720,3.93,CRD,13.0 +VTS,1,5,1200,8.41,CRD,25.0 +VTS,1,5,1740,4.54,CSH,21.0 +VTS,1,5,60,0.3,CSH,3.0 +VTS,1,5,600,0.98,CRD,7.5 +VTS,1,5,600,1.47,CSH,8.5 +VTS,1,5,660,1.39,CRD,9.0 +VTS,1,5,1380,4.8,CSH,19.0 +VTS,1,5,840,4.6,CSH,15.5 +VTS,1,5,360,1.19,CSH,6.0 +VTS,1,5,600,3.28,CSH,11.5 +VTS,1,5,840,2.7,CSH,12.0 +VTS,1,5,900,3.93,CSH,14.5 +VTS,1,5,300,0.59,CSH,5.0 +VTS,1,5,360,1.04,CRD,6.0 +VTS,1,5,660,1.06,CRD,7.5 +VTS,1,5,480,1.18,CSH,7.0 +VTS,1,5,360,1.14,CSH,6.5 +VTS,1,5,720,3.14,CSH,12.0 +VTS,1,5,720,2.9,CSH,11.5 +VTS,1,5,660,2.02,CSH,9.5 +VTS,1,5,420,0.93,CSH,6.0 +VTS,1,5,1380,4.98,CRD,19.0 +VTS,1,5,420,0.92,CRD,6.0 +VTS,1,5,1080,4.07,CSH,16.5 +VTS,1,5,420,2.39,CSH,9.0 +VTS,1,5,240,0.96,CRD,5.0 +VTS,1,5,840,3.12,CSH,12.5 +VTS,1,5,900,1.57,CRD,10.5 +VTS,1,5,1500,10.89,CRD,32.0 +VTS,1,5,1080,4.08,CRD,16.0 +VTS,1,5,1260,5.46,CRD,19.5 +VTS,1,5,840,1.96,CRD,10.5 +VTS,1,5,840,4.29,CRD,15.5 +VTS,1,5,360,1.2,CRD,6.5 +VTS,1,5,540,1.19,CSH,7.5 +VTS,1,5,840,1.61,CRD,10.5 +VTS,1,5,360,0.86,CRD,6.0 +VTS,1,5,900,3.83,CRD,14.5 +VTS,1,5,300,0.84,CSH,5.5 +VTS,1,5,1440,8.12,CSH,27.0 +VTS,1,5,840,1.5,CSH,10.0 +VTS,1,5,1800,8.28,CSH,27.5 +VTS,1,5,600,0.93,CSH,8.0 +VTS,1,5,360,1.28,CRD,6.5 +VTS,1,5,480,0.83,CRD,7.0 +VTS,1,5,600,1.52,CSH,8.5 +VTS,1,5,1080,4.55,CRD,16.0 +VTS,1,5,540,1.36,CSH,7.5 +VTS,1,5,1260,5.89,CRD,20.0 +VTS,1,5,420,0.8,CSH,6.0 +VTS,1,5,1200,2.69,CSH,12.5 +VTS,1,1,600,1.89,CSH,8.5 +VTS,1,2,900,7.12,CSH,20.5 +VTS,1,1,900,2.3,CRD,11.5 +VTS,1,1,240,1.48,CRD,6.5 +VTS,1,1,1260,9.37,CSH,28.0 +VTS,1,1,600,1.4,CRD,8.0 +VTS,1,1,660,1.62,CSH,7.0 +VTS,5,1,0,0.17,CRD,79.0 +VTS,1,1,900,3.65,CRD,15.0 +VTS,1,1,840,8.6,CRD,25.0 +VTS,1,1,480,1.93,CRD,8.5 +VTS,1,1,1140,13.51,CSH,36.5 +VTS,1,1,660,2.77,CSH,11.0 +VTS,1,1,420,0.84,CRD,6.5 +VTS,1,1,840,8.23,CRD,24.0 +VTS,5,1,0,0.28,CRD,40.0 +VTS,1,1,180,0.52,CRD,4.0 +VTS,1,1,180,0.58,CSH,4.0 +VTS,1,1,1080,6.01,CSH,19.5 +VTS,1,1,240,1.28,CSH,6.0 +VTS,1,1,480,1.33,CRD,7.5 +VTS,1,1,360,1.49,CSH,6.5 +VTS,1,1,660,6.64,CSH,19.5 +VTS,1,1,420,0.92,CSH,6.5 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,780,2.64,CRD,11.5 +VTS,1,1,420,0.98,CSH,7.0 +VTS,2,5,60,0.0,CRD,52.0 +VTS,1,5,660,1.25,CSH,8.0 +VTS,1,5,2220,5.42,CRD,26.5 +VTS,1,5,480,3.0,CRD,10.0 +VTS,1,5,660,1.44,CRD,9.0 +VTS,1,5,1020,3.58,CRD,15.0 +VTS,1,5,480,0.59,CSH,6.5 +VTS,1,5,840,2.33,CRD,11.0 +VTS,1,5,360,0.91,CSH,5.5 +VTS,1,5,360,1.15,CRD,6.0 +VTS,1,5,420,1.45,CRD,7.0 +VTS,1,5,720,2.3,CSH,10.5 +VTS,1,5,360,2.13,CRD,8.5 +VTS,1,5,1920,11.44,CRD,36.0 +VTS,1,5,420,0.96,CRD,6.5 +VTS,1,5,900,3.88,CRD,14.5 +VTS,1,5,300,0.66,CSH,5.0 +VTS,1,5,1200,6.24,CRD,20.5 +VTS,1,5,1140,3.02,CRD,14.0 +VTS,5,1,360,0.94,CRD,58.0 +VTS,2,5,0,0.0,CRD,52.0 +VTS,1,5,1020,3.75,CRD,15.0 +VTS,1,5,480,1.6,CRD,8.0 +VTS,1,5,360,1.33,CSH,7.0 +VTS,1,5,720,3.17,CSH,11.5 +VTS,1,5,300,0.76,CRD,5.0 +VTS,1,5,1260,14.24,CSH,39.5 +VTS,1,5,480,2.59,CRD,9.5 +VTS,1,5,1380,3.31,CSH,17.0 +VTS,1,5,960,2.53,CRD,13.0 +VTS,1,5,1260,4.14,CSH,17.5 +VTS,1,5,540,2.68,CRD,10.5 +VTS,1,5,540,2.44,CRD,9.5 +VTS,1,5,540,1.62,CRD,8.0 +VTS,1,5,360,1.04,CSH,6.0 +VTS,1,5,1020,3.03,CRD,14.0 +VTS,1,5,480,2.21,CRD,9.0 +VTS,1,5,840,3.59,CRD,13.5 +VTS,1,5,120,0.7,CSH,4.5 +VTS,1,5,360,0.93,CSH,5.5 +VTS,1,5,1080,3.57,CSH,15.0 +VTS,1,5,300,0.86,CSH,5.5 +VTS,1,5,840,3.54,CRD,13.5 +VTS,1,5,300,1.51,CSH,6.5 +VTS,1,5,120,0.65,CSH,4.0 +VTS,1,5,2520,12.82,CSH,40.0 +VTS,1,5,1380,12.98,CRD,37.0 +VTS,1,5,720,2.29,CRD,10.0 +VTS,1,5,780,3.84,CSH,13.5 +VTS,1,5,1200,3.75,CRD,16.0 +VTS,1,5,780,1.82,CSH,10.5 +VTS,1,5,360,0.87,CSH,5.5 +VTS,1,5,780,5.36,CSH,17.0 +VTS,1,5,720,2.26,CRD,10.5 +VTS,1,5,540,1.92,CRD,8.5 +VTS,1,5,1260,4.8,CRD,18.0 +VTS,1,5,1200,5.38,CRD,19.5 +VTS,1,5,1020,4.62,CRD,16.5 +VTS,1,5,240,0.59,CRD,4.5 +VTS,1,5,1320,1.63,CRD,14.0 +VTS,1,5,420,1.08,CRD,6.5 +VTS,1,5,780,2.1,CRD,10.5 +VTS,1,1,240,0.92,CSH,5.5 +VTS,1,2,1020,9.4,CSH,27.5 +VTS,1,1,840,1.01,CSH,10.0 +VTS,1,1,480,1.33,CRD,6.5 +VTS,1,2,480,1.45,CRD,7.5 +VTS,1,2,840,1.93,CSH,11.0 +VTS,1,1,600,2.18,CSH,9.5 +VTS,1,1,180,0.33,CSH,4.0 +VTS,1,1,540,1.34,CRD,8.0 +VTS,1,1,420,1.33,CSH,7.0 +VTS,1,1,420,1.49,CRD,7.5 +VTS,1,1,1200,11.52,CRD,32.5 +VTS,1,1,660,2.9,CRD,11.5 +VTS,1,2,1800,6.31,CSH,25.0 +VTS,1,1,660,2.63,CRD,10.0 +VTS,1,1,360,1.48,CRD,7.0 +VTS,1,5,720,2.04,CRD,9.5 +VTS,1,5,780,3.34,CSH,12.5 +VTS,1,5,900,4.45,CRD,16.0 +VTS,1,5,360,1.45,CRD,6.5 +VTS,1,2,600,2.27,CSH,9.5 +VTS,1,1,660,1.76,CRD,8.5 +VTS,1,1,780,1.62,CSH,10.0 +VTS,1,1,840,8.43,CSH,23.5 +VTS,1,1,3480,19.54,CRD,61.0 +VTS,1,1,300,1.57,CRD,6.5 +VTS,1,1,60,0.02,CSH,3.0 +VTS,1,1,540,1.6,CSH,8.5 +VTS,1,1,420,1.33,CRD,7.0 +VTS,1,1,660,3.98,CRD,13.5 +VTS,1,2,180,1.16,CRD,5.5 +VTS,1,2,360,1.19,CSH,7.0 +VTS,1,1,1140,6.41,CRD,21.5 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,120,0.66,CSH,4.0 +VTS,1,1,420,0.86,CRD,6.0 +VTS,1,1,480,2.42,CSH,9.0 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,1,480,2.06,CRD,9.0 +VTS,1,1,840,2.73,CRD,12.0 +VTS,1,1,660,2.1,CSH,9.5 +VTS,1,2,720,2.85,CRD,11.0 +VTS,1,5,900,5.45,CRD,18.0 +VTS,1,5,1200,3.99,CSH,17.0 +VTS,1,1,240,0.45,CRD,4.5 +VTS,1,1,540,1.15,CRD,7.5 +VTS,1,1,720,2.01,CRD,10.0 +VTS,1,1,360,1.33,CSH,7.0 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,840,2.43,CRD,11.5 +VTS,1,1,600,1.9,CSH,9.0 +VTS,5,1,0,0.0,CRD,15.0 +VTS,1,1,120,0.79,CSH,4.5 +VTS,1,1,540,2.23,CSH,9.0 +VTS,1,2,360,1.19,CRD,6.5 +VTS,1,1,2160,9.53,CRD,32.5 +VTS,1,1,540,1.47,CSH,8.5 +VTS,1,1,60,0.3,CSH,3.5 +VTS,1,1,840,1.41,CRD,10.5 +VTS,1,1,420,0.89,CSH,6.5 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,360,0.83,CRD,6.0 +VTS,1,1,1320,3.44,CRD,16.0 +VTS,1,1,240,0.69,CRD,5.0 +VTS,1,1,540,2.01,CRD,9.0 +VTS,1,2,600,4.13,CRD,13.5 +VTS,5,1,0,0.0,CRD,70.0 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,2,780,8.42,CRD,24.0 +VTS,1,5,600,1.63,CRD,8.5 +VTS,1,1,180,0.56,CSH,4.0 +VTS,1,1,840,5.69,CSH,18.0 +VTS,1,2,360,1.31,CSH,6.5 +VTS,1,1,420,1.79,CRD,7.5 +VTS,1,1,1200,2.78,CRD,14.5 +VTS,1,1,780,2.39,CSH,11.0 +VTS,1,2,780,2.6,CRD,11.0 +VTS,1,1,480,2.7,CRD,9.5 +VTS,1,1,240,0.58,CSH,4.5 +VTS,4,1,0,0.07,CSH,2.5 +VTS,1,1,120,0.61,CSH,4.0 +VTS,1,1,360,1.23,CRD,6.5 +VTS,1,1,1020,4.05,CRD,16.0 +VTS,1,1,300,1.19,CSH,6.0 +VTS,1,1,360,1.45,CSH,6.5 +VTS,1,1,240,0.77,CSH,5.0 +VTS,1,1,360,1.38,CSH,6.5 +VTS,1,1,1080,3.73,CRD,15.5 +VTS,1,2,420,2.11,CSH,8.5 +VTS,1,1,360,0.94,CRD,5.5 +VTS,1,1,720,2.33,CSH,10.5 +VTS,1,1,540,1.56,CSH,8.0 +VTS,1,1,1140,10.66,CRD,30.0 +VTS,1,1,1380,5.77,CSH,20.5 +VTS,1,1,1080,4.0,CRD,16.5 +VTS,1,1,1140,3.12,CRD,14.0 +VTS,1,1,480,0.94,CRD,7.0 +VTS,1,1,1080,4.25,CRD,16.0 +VTS,1,1,0,0.02,CSH,2.5 +VTS,1,1,1320,10.39,CRD,30.0 +VTS,1,1,2220,9.88,CSH,34.0 +VTS,1,1,840,2.76,CRD,12.5 +VTS,1,1,780,2.39,CRD,11.0 +VTS,1,1,420,1.06,CRD,6.5 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,780,4.7,CRD,15.5 +VTS,1,1,300,1.83,CSH,7.0 +VTS,1,2,480,1.37,CRD,7.5 +VTS,1,1,1440,5.56,CRD,20.5 +VTS,1,1,420,0.66,CRD,6.0 +VTS,1,1,300,1.47,CSH,6.5 +VTS,1,1,540,2.59,CSH,9.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,5,1,0,0.0,CRD,6.0 +VTS,1,2,300,1.15,CRD,6.0 +VTS,1,1,780,2.74,CRD,11.5 +VTS,1,2,960,4.55,CSH,16.0 +VTS,1,1,480,1.86,CRD,8.0 +VTS,1,1,360,1.41,CSH,7.0 +VTS,1,2,420,1.83,CRD,8.0 +VTS,1,1,480,2.02,CSH,8.5 +VTS,1,1,300,0.61,CSH,5.5 +VTS,1,1,1140,4.86,CSH,17.5 +VTS,1,1,1080,10.49,CSH,30.0 +VTS,1,2,840,1.15,CSH,9.5 +VTS,1,1,300,0.68,CRD,5.0 +VTS,1,1,180,0.81,CSH,5.0 +VTS,1,1,1020,6.07,CSH,20.0 +VTS,1,1,300,1.44,CRD,6.5 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,1,900,7.14,CSH,22.0 +VTS,1,1,60,0.59,CSH,3.5 +VTS,1,1,960,2.49,CSH,10.0 +VTS,1,1,300,0.66,CRD,5.0 +VTS,1,1,600,2.68,CRD,10.0 +VTS,1,1,1140,9.21,CSH,27.0 +VTS,1,1,720,1.71,CSH,9.5 +VTS,1,1,900,3.21,CSH,13.0 +VTS,1,2,540,1.7,CRD,8.0 +VTS,1,1,300,1.1,CSH,5.5 +VTS,1,1,540,1.55,CSH,8.0 +VTS,1,1,900,2.97,CRD,12.5 +VTS,1,1,300,0.75,CSH,5.5 +VTS,1,1,1320,1.85,CSH,14.5 +VTS,1,2,480,2.27,CRD,9.5 +VTS,1,2,1140,5.27,CSH,17.5 +VTS,1,1,1020,3.07,CRD,13.5 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,840,3.84,CSH,14.5 +VTS,1,1,360,1.09,CRD,6.0 +VTS,1,1,840,3.39,CRD,13.5 +VTS,1,1,960,2.75,CSH,12.5 +VTS,1,2,480,1.8,CSH,8.0 +VTS,1,1,180,0.5,CSH,4.0 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,600,2.02,CRD,9.5 +VTS,1,1,180,0.32,CRD,3.5 +VTS,1,1,360,2.5,CRD,9.0 +VTS,1,1,300,1.36,CRD,6.0 +VTS,1,1,600,3.38,CRD,12.5 +VTS,1,1,120,0.57,CSH,4.0 +VTS,1,1,240,0.9,CRD,5.0 +VTS,1,2,360,1.42,CRD,6.5 +VTS,1,1,420,1.27,CSH,7.0 +VTS,1,1,540,1.21,CSH,7.5 +VTS,1,1,540,1.66,CRD,8.5 +VTS,1,2,420,0.59,CRD,6.0 +VTS,1,1,1440,4.21,CRD,17.5 +VTS,1,2,2100,3.61,CSH,23.0 +VTS,1,2,1920,10.09,CSH,32.5 +VTS,1,1,1560,3.55,CSH,18.5 +VTS,1,1,60,0.33,CSH,3.0 +VTS,1,1,540,1.17,CRD,7.5 +VTS,1,1,600,2.39,CSH,10.0 +VTS,1,1,780,2.38,CRD,11.0 +VTS,1,1,480,1.52,CSH,8.0 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,1800,4.1,CRD,20.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,2,720,0.99,CSH,8.5 +VTS,1,1,120,0.25,CSH,3.5 +VTS,1,2,240,0.77,CSH,4.5 +VTS,1,1,540,2.61,CSH,10.0 +VTS,1,1,240,0.71,CRD,5.0 +VTS,1,1,300,2.46,CRD,8.5 +VTS,1,2,300,1.2,CRD,6.0 +VTS,1,1,660,4.3,CSH,13.5 +VTS,1,1,300,0.73,CSH,5.0 +VTS,1,2,540,2.3,CSH,9.5 +VTS,1,1,360,0.94,CSH,6.0 +VTS,1,1,240,1.34,CSH,6.0 +VTS,1,1,1740,10.55,CSH,32.5 +VTS,1,1,60,0.69,CSH,4.0 +VTS,1,1,600,3.02,CSH,11.0 +VTS,1,1,540,1.24,CRD,7.5 +VTS,1,1,1440,9.2,CRD,29.0 +VTS,1,2,300,0.88,CSH,5.0 +VTS,1,1,420,1.38,CRD,7.0 +VTS,1,1,660,1.1,CRD,8.5 +VTS,1,1,360,0.56,CSH,5.5 +VTS,1,1,540,1.2,CSH,8.0 +VTS,2,1,0,0.0,CRD,52.0 +VTS,1,1,360,0.91,CSH,6.0 +VTS,1,1,540,2.8,CSH,10.5 +VTS,1,1,480,2.22,CRD,9.0 +VTS,1,2,480,1.93,CSH,8.5 +VTS,1,2,840,2.54,CRD,12.0 +VTS,1,1,60,0.25,CSH,3.0 +VTS,1,1,300,1.38,CSH,6.5 +VTS,1,1,840,8.72,CSH,24.5 +VTS,2,1,1080,15.68,CRD,52.0 +VTS,1,1,1140,7.6,CRD,22.5 +VTS,1,1,840,3.81,CSH,13.5 +VTS,1,1,1260,2.45,CSH,14.5 +VTS,1,1,360,0.97,CSH,6.5 +VTS,1,1,180,0.63,CRD,4.5 +VTS,1,1,660,3.69,CRD,12.5 +VTS,1,1,360,1.4,CRD,6.5 +VTS,1,2,660,2.39,CSH,10.0 +VTS,1,2,420,0.64,CSH,6.0 +VTS,1,2,420,0.92,CSH,6.5 +VTS,1,2,480,1.6,CRD,7.5 +VTS,1,2,180,0.78,CRD,4.5 +VTS,1,1,780,2.51,CRD,11.5 +VTS,1,2,420,3.25,CRD,10.5 +VTS,1,2,900,3.3,CSH,13.5 +VTS,1,1,180,0.9,CRD,5.0 +VTS,1,5,660,1.75,CRD,9.0 +VTS,1,5,840,2.7,CSH,11.5 +VTS,1,5,240,0.75,CSH,5.0 +VTS,1,5,480,0.85,CSH,6.0 +VTS,1,5,540,2.18,CSH,9.5 +VTS,1,5,420,1.57,CSH,7.5 +VTS,1,5,1080,8.96,CRD,27.0 +VTS,1,1,480,3.89,CRD,12.5 +VTS,1,2,180,0.62,CSH,4.5 +VTS,1,1,1500,11.51,CSH,34.0 +VTS,1,1,600,1.46,CRD,8.5 +VTS,1,1,300,1.13,CRD,6.0 +VTS,1,1,480,1.11,CRD,7.5 +VTS,1,1,720,2.13,CSH,10.5 +VTS,1,1,240,0.69,CRD,4.5 +VTS,1,1,540,2.4,CSH,9.5 +VTS,1,1,480,1.39,CSH,7.5 +VTS,1,1,360,1.08,CRD,6.0 +VTS,1,1,360,1.31,CRD,6.5 +VTS,1,1,2460,12.49,CRD,39.5 +VTS,1,1,780,2.42,CRD,10.5 +VTS,1,1,420,1.35,CRD,7.0 +VTS,1,2,540,1.23,CSH,7.5 +VTS,1,1,540,2.3,CRD,9.5 +VTS,1,1,300,1.21,CRD,5.5 +VTS,1,1,1140,8.11,CSH,24.0 +VTS,1,1,660,0.91,CRD,8.0 +VTS,1,2,1860,5.86,CRD,24.0 +VTS,1,1,1380,7.1,CRD,23.5 +VTS,1,1,60,0.34,CRD,3.0 +VTS,1,1,780,2.55,CSH,11.5 +VTS,1,1,480,1.79,CSH,8.0 +VTS,1,1,600,2.78,CSH,11.0 +VTS,1,1,420,1.31,CRD,7.0 +VTS,1,2,2100,10.52,CRD,35.0 +VTS,1,2,360,0.77,CRD,6.0 +VTS,1,1,300,0.73,CSH,5.5 +VTS,1,2,960,9.13,CSH,26.0 +VTS,1,2,180,0.48,CSH,4.5 +VTS,1,2,1620,12.25,CSH,34.0 +VTS,1,2,780,8.27,CRD,23.5 +VTS,1,1,480,1.44,CSH,8.0 +VTS,1,2,540,2.92,CRD,11.5 +VTS,1,1,120,0.56,CSH,4.0 +VTS,1,2,540,1.56,CRD,7.5 +VTS,1,2,660,4.38,CSH,14.5 +VTS,1,2,480,1.85,CSH,8.0 +VTS,1,1,840,3.44,CRD,13.0 +VTS,1,2,780,4.18,CRD,14.0 +VTS,1,2,540,2.72,CSH,10.0 +VTS,1,1,1200,7.78,CRD,24.0 +VTS,1,2,480,1.11,CRD,7.5 +VTS,1,1,480,1.17,CRD,7.0 +VTS,1,1,540,2.68,CSH,10.0 +VTS,1,1,420,1.6,CSH,7.5 +VTS,1,1,1080,2.42,CSH,13.5 +VTS,1,2,1020,1.96,CRD,12.5 +VTS,1,1,360,1.31,CRD,6.5 +VTS,1,2,180,0.78,CRD,4.5 +VTS,1,1,840,3.34,CRD,13.0 +VTS,1,1,420,2.49,CRD,9.0 +VTS,1,1,540,2.55,CRD,10.0 +VTS,1,1,300,0.74,CRD,5.5 +VTS,1,1,840,2.64,CSH,11.5 +VTS,1,1,840,3.12,CSH,12.5 +VTS,1,1,900,2.26,CRD,11.5 +VTS,1,2,300,1.02,CRD,5.5 +VTS,1,1,360,0.99,CSH,6.0 +VTS,1,1,1020,3.09,CSH,14.0 +VTS,1,1,240,0.88,CRD,5.0 +VTS,1,1,240,1.6,CSH,6.5 +VTS,1,1,840,1.82,CSH,11.0 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,660,1.98,CRD,10.0 +VTS,1,1,360,1.04,CRD,6.0 +VTS,1,1,600,3.14,CRD,12.0 +VTS,1,1,300,1.82,CRD,7.0 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,2,1140,2.25,CRD,13.5 +VTS,1,2,240,0.41,CSH,4.0 +VTS,1,1,720,3.11,CSH,11.5 +VTS,1,1,660,1.35,CRD,9.0 +VTS,1,1,1020,4.03,CRD,15.5 +VTS,1,1,900,2.39,CSH,12.0 +VTS,1,1,420,0.57,CRD,5.5 +VTS,1,1,1740,7.49,CRD,27.0 +VTS,1,1,660,3.42,CRD,12.5 +VTS,1,1,1200,7.32,CRD,23.0 +VTS,1,2,1020,2.71,CRD,13.0 +VTS,1,1,900,3.12,CRD,13.5 +VTS,1,2,660,1.98,CSH,9.5 +VTS,1,2,480,1.82,CSH,8.0 +VTS,1,1,1320,9.04,CRD,28.0 +VTS,1,1,180,0.92,CSH,5.0 +VTS,1,2,660,3.46,CSH,12.0 +VTS,1,1,300,1.88,CRD,7.5 +VTS,1,1,1920,7.58,CSH,28.0 +VTS,1,1,540,1.89,CRD,8.0 +VTS,1,1,240,1.08,CRD,5.5 +VTS,1,1,540,2.48,CSH,10.0 +VTS,1,2,660,1.4,CSH,8.5 +VTS,1,1,540,3.24,CRD,11.5 +VTS,1,1,540,6.51,CRD,19.0 +VTS,1,2,480,0.99,CRD,6.5 +VTS,1,2,540,1.94,CRD,9.0 +VTS,1,1,480,1.21,CSH,7.0 +VTS,1,1,360,1.64,CRD,7.5 +VTS,1,1,720,3.68,CRD,13.5 +VTS,1,2,1080,10.05,CRD,29.0 +VTS,1,1,120,0.38,CSH,4.0 +VTS,1,2,780,1.0,CSH,9.5 +VTS,1,2,360,1.01,CSH,6.5 +VTS,1,2,540,1.2,CSH,7.5 +VTS,1,1,300,1.16,CRD,6.0 +VTS,1,1,300,0.92,CRD,6.0 +VTS,1,2,300,0.83,CRD,5.5 +VTS,1,1,240,0.93,CSH,5.0 +VTS,1,2,540,1.56,CSH,8.5 +VTS,1,2,780,2.99,CRD,11.5 +VTS,1,1,480,0.61,CRD,6.5 +VTS,1,2,960,1.26,CRD,10.5 +VTS,1,1,240,0.69,CSH,4.5 +VTS,1,1,300,1.12,CSH,6.0 +VTS,1,1,780,2.59,CRD,11.5 +VTS,1,2,1560,10.3,CRD,32.0 +VTS,1,2,840,2.43,CSH,11.0 +VTS,1,1,180,0.87,CSH,4.5 +VTS,1,1,840,6.09,CRD,19.0 +VTS,1,2,780,2.96,CRD,11.5 +VTS,1,1,600,2.28,CSH,9.5 +VTS,1,1,1080,9.26,CRD,26.5 +VTS,1,1,2340,10.83,CSH,36.5 +VTS,1,2,480,1.2,CRD,6.5 +VTS,1,1,420,1.07,CRD,7.0 +VTS,1,2,420,1.61,CSH,8.0 +VTS,1,1,900,3.02,CSH,12.5 +VTS,1,1,1020,3.16,CRD,14.5 +VTS,1,1,360,1.05,CSH,6.0 +VTS,1,2,480,1.88,CRD,8.0 +VTS,1,2,600,2.97,CRD,10.5 +VTS,1,1,900,4.36,CRD,15.5 +VTS,1,1,660,3.85,CRD,12.5 +VTS,1,1,360,1.55,CSH,7.5 +VTS,1,1,300,2.23,CRD,8.0 +VTS,1,1,480,1.12,CRD,7.0 +VTS,1,1,240,0.53,CSH,5.0 +VTS,1,2,1440,7.39,CSH,25.0 +VTS,1,1,540,1.26,CRD,8.0 +VTS,1,2,960,2.22,CRD,12.0 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,1,540,2.49,CSH,10.0 +VTS,1,1,480,0.85,CRD,6.5 +VTS,1,2,540,1.42,CRD,8.0 +VTS,1,1,240,0.74,CRD,5.0 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,960,2.18,CSH,11.5 +VTS,1,2,480,2.47,CSH,9.5 +VTS,1,1,240,0.98,CRD,5.0 +VTS,1,1,120,0.41,CRD,3.5 +VTS,1,1,480,1.35,CRD,7.5 +VTS,1,1,1200,3.4,CSH,17.0 +VTS,1,1,600,1.54,CSH,8.5 +VTS,1,1,240,0.77,CRD,5.0 +VTS,1,1,540,1.49,CSH,8.0 +VTS,1,1,1020,2.11,CRD,12.0 +VTS,1,1,300,0.65,CRD,5.5 +VTS,1,1,420,1.69,CRD,7.5 +VTS,1,1,180,0.54,CRD,4.0 +VTS,1,1,240,0.8,CSH,5.0 +VTS,1,1,300,0.53,CSH,5.0 +VTS,1,1,360,2.92,CRD,10.5 +VTS,1,2,420,1.63,CRD,7.5 +VTS,1,2,300,1.36,CRD,6.0 +VTS,1,1,1440,5.55,CSH,21.0 +VTS,1,1,600,1.93,CSH,8.5 +VTS,1,1,180,0.54,CSH,4.5 +VTS,1,1,360,1.02,CSH,6.0 +VTS,1,1,360,0.75,CSH,6.0 +VTS,1,1,1140,2.77,CSH,14.0 +VTS,1,1,960,1.25,CSH,10.5 +VTS,1,1,780,2.11,CRD,10.5 +VTS,1,1,840,2.34,CSH,11.5 +VTS,1,2,900,3.33,CSH,14.0 +VTS,1,2,300,0.79,CSH,5.5 +VTS,1,2,300,1.53,CRD,6.5 +VTS,1,1,600,1.46,CSH,8.5 +VTS,1,1,660,2.06,CRD,10.0 +VTS,1,1,1380,9.09,CRD,28.0 +VTS,1,1,1380,8.23,CSH,25.5 +VTS,1,2,420,1.11,CSH,7.0 +VTS,1,1,1080,2.95,CRD,13.5 +VTS,1,2,780,3.23,CSH,12.5 +VTS,1,1,1500,14.14,CRD,39.0 +VTS,1,2,600,1.6,CRD,8.5 +VTS,1,1,1080,1.73,CSH,12.5 +VTS,1,2,300,1.52,CSH,6.5 +VTS,1,1,240,0.73,CSH,5.0 +VTS,1,2,660,1.25,CSH,8.5 +VTS,5,1,0,0.0,CRD,130.0 +VTS,1,2,60,0.21,CRD,3.0 +VTS,1,2,180,1.01,CRD,5.0 +VTS,1,1,480,1.41,CRD,7.0 +VTS,1,1,300,1.08,CRD,5.5 +VTS,1,1,180,0.56,CSH,4.0 +VTS,1,1,1380,3.97,CRD,18.0 +VTS,1,1,600,1.14,CRD,7.5 +VTS,1,2,660,2.16,CSH,10.0 +VTS,1,2,360,0.97,CRD,6.0 +VTS,1,1,360,0.9,CRD,6.0 +VTS,1,2,960,2.07,CSH,11.5 +VTS,1,1,240,1.52,CSH,6.5 +VTS,1,1,360,1.74,CRD,7.5 +VTS,1,1,660,1.67,CSH,9.0 +VTS,1,1,1320,10.33,CRD,30.5 +VTS,1,1,540,1.04,CSH,7.0 +VTS,1,1,780,4.63,CRD,15.0 +VTS,1,1,2100,10.34,CRD,34.5 +VTS,1,1,300,1.06,CSH,5.5 +VTS,1,1,900,2.06,CSH,11.5 +VTS,1,1,420,2.16,CSH,8.5 +VTS,1,1,360,1.85,CSH,7.5 +VTS,1,1,120,0.59,CRD,4.0 +VTS,1,1,600,2.8,CSH,10.5 +VTS,1,1,540,2.09,CRD,9.0 +VTS,1,1,360,1.61,CRD,7.0 +VTS,1,1,360,1.64,CSH,7.5 +VTS,1,1,720,3.58,CSH,13.0 +VTS,1,1,300,1.07,CRD,5.5 +VTS,1,1,1260,5.2,CSH,19.5 +VTS,1,1,480,1.82,CRD,7.5 +VTS,1,1,1380,2.75,CRD,15.0 +VTS,1,2,420,1.78,CRD,7.5 +VTS,1,1,480,1.28,CRD,7.5 +VTS,1,1,360,0.89,CRD,6.0 +VTS,1,1,240,0.58,CSH,5.0 +VTS,1,1,1200,2.95,CSH,14.5 +VTS,1,1,1260,2.18,CRD,14.5 +VTS,1,2,1920,10.99,CRD,33.5 +VTS,1,1,1500,7.01,CSH,25.0 +VTS,1,6,1080,6.6,CRD,22.0 +VTS,1,6,540,1.21,CSH,7.5 +VTS,1,6,360,0.71,CSH,5.5 +VTS,1,6,480,2.41,CRD,9.0 +VTS,1,6,540,1.28,CRD,7.5 +VTS,1,6,180,0.48,CRD,4.0 +VTS,1,6,420,1.08,CSH,6.5 +VTS,1,6,960,3.06,CSH,13.0 +VTS,1,6,240,0.58,CRD,5.0 +VTS,1,6,1140,4.95,CRD,17.0 +VTS,1,6,420,1.63,CSH,7.5 +VTS,1,6,780,2.0,CSH,10.0 +VTS,1,6,480,1.32,CSH,7.5 +VTS,1,6,480,1.35,CSH,7.5 +VTS,1,6,1140,2.7,CSH,14.5 +VTS,1,6,420,1.53,CSH,7.5 +VTS,1,6,240,0.74,CSH,5.0 +VTS,1,6,720,1.85,CSH,9.5 +VTS,1,6,1320,3.37,CSH,16.0 +VTS,1,6,360,1.21,CRD,6.5 +VTS,1,6,540,1.6,CSH,8.5 +VTS,1,6,780,1.94,CSH,10.5 +VTS,1,2,420,0.83,CRD,6.0 +VTS,1,1,720,1.01,CRD,9.0 +VTS,1,1,480,2.5,CRD,9.0 +VTS,1,1,420,1.03,CSH,6.0 +VTS,1,1,360,1.35,CSH,7.0 +VTS,1,2,540,2.91,CRD,10.5 +VTS,1,1,120,0.18,CSH,3.0 +VTS,1,1,1740,12.58,CRD,36.5 +VTS,1,1,1020,3.44,CSH,14.5 +VTS,1,1,720,2.95,CSH,11.5 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,2,180,0.54,CSH,4.5 +VTS,1,2,60,0.38,CSH,3.0 +VTS,1,1,240,0.68,CRD,5.0 +VTS,1,1,300,1.23,CSH,5.5 +VTS,1,2,1620,10.66,CSH,33.0 +VTS,1,1,240,0.98,CRD,5.5 +VTS,1,2,960,2.63,CRD,12.0 +VTS,1,1,660,1.74,CRD,9.0 +VTS,1,1,300,0.51,CSH,5.0 +VTS,1,1,660,1.31,CRD,8.5 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,600,4.96,CRD,15.5 +VTS,1,1,660,1.9,CRD,9.5 +VTS,1,6,720,2.2,CSH,10.0 +VTS,1,6,360,1.95,CRD,7.5 +VTS,1,2,180,0.54,CRD,4.5 +VTS,1,2,660,0.92,CRD,8.0 +VTS,1,2,1260,4.66,CSH,18.0 +VTS,1,1,1680,10.17,CSH,33.5 +VTS,1,2,2040,11.56,CSH,38.5 +VTS,1,1,1320,4.76,CRD,19.0 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,300,1.59,CSH,6.5 +VTS,5,1,0,0.0,CRD,11.11 +VTS,1,1,480,2.31,CRD,9.0 +VTS,1,1,420,1.65,CRD,8.0 +VTS,1,2,360,1.63,CSH,7.5 +VTS,1,1,480,1.46,CRD,7.0 +VTS,1,1,780,2.35,CRD,11.0 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,900,1.45,CRD,10.0 +VTS,1,1,1020,3.05,CRD,14.0 +VTS,1,1,420,0.85,CSH,6.5 +VTS,1,1,960,3.65,CRD,14.0 +VTS,1,2,660,2.19,CSH,10.5 +VTS,1,1,600,1.04,CSH,8.0 +VTS,1,1,600,1.68,CSH,8.5 +VTS,1,1,960,2.49,CRD,12.0 +VTS,1,1,180,1.05,CRD,5.0 +VTS,1,1,360,1.36,CSH,6.5 +VTS,1,1,780,2.4,CSH,11.0 +VTS,1,2,420,0.64,CSH,6.0 +VTS,1,2,420,1.01,CRD,6.5 +VTS,1,2,1020,5.21,CSH,18.0 +VTS,1,1,120,0.5,CSH,3.5 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,1,420,1.39,CSH,7.5 +VTS,1,1,480,1.01,CSH,7.0 +VTS,1,1,780,7.43,CRD,22.0 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,60,0.26,CSH,3.0 +VTS,1,1,240,1.04,CRD,5.0 +VTS,1,1,720,2.18,CSH,10.5 +VTS,1,2,1020,2.68,CRD,13.0 +VTS,1,2,240,0.64,CRD,4.5 +VTS,1,2,120,0.32,CSH,3.5 +VTS,1,2,240,0.67,CSH,4.5 +VTS,2,1,1740,16.82,CRD,52.0 +VTS,1,2,360,0.63,CSH,5.5 +VTS,1,2,2040,11.3,CRD,34.5 +VTS,1,1,540,1.36,CSH,7.5 +VTS,1,2,1020,5.55,CRD,19.0 +VTS,1,1,420,1.52,CRD,7.5 +VTS,1,1,360,1.73,CSH,7.5 +VTS,1,2,1020,7.98,CSH,24.0 +VTS,1,1,660,1.72,CRD,9.0 +VTS,1,2,780,2.48,CSH,11.0 +VTS,1,2,1380,10.25,CRD,30.5 +VTS,1,1,600,1.48,CSH,9.0 +VTS,1,1,780,1.25,CRD,9.5 +VTS,1,1,240,0.65,CSH,4.5 +VTS,1,1,540,1.07,CRD,7.5 +VTS,1,1,480,1.42,CRD,7.5 +VTS,1,1,540,0.99,CRD,7.5 +VTS,1,1,540,1.01,CSH,7.5 +VTS,1,1,1140,5.63,CRD,20.0 +VTS,1,1,600,2.34,CSH,9.5 +VTS,1,1,1020,2.47,CRD,12.5 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,780,2.06,CRD,10.5 +VTS,1,1,300,1.4,CRD,6.0 +VTS,1,1,180,0.47,CSH,4.0 +VTS,1,1,180,0.83,CSH,4.5 +VTS,1,1,900,8.68,CSH,25.0 +VTS,1,1,660,2.49,CSH,10.5 +VTS,1,1,840,2.86,CRD,12.5 +VTS,1,2,300,1.83,CRD,7.5 +VTS,1,1,240,0.65,CSH,5.0 +VTS,1,1,240,0.92,CRD,5.5 +VTS,1,1,600,0.89,CSH,7.0 +VTS,1,2,1500,10.72,CRD,31.5 +VTS,1,1,540,1.94,CSH,8.5 +VTS,1,2,900,2.6,CRD,11.5 +VTS,1,2,840,1.16,CSH,10.0 +VTS,1,1,420,1.29,CSH,7.0 +VTS,1,6,240,0.68,CSH,5.0 +VTS,1,6,540,1.94,CSH,9.0 +VTS,1,6,1440,8.04,CSH,27.0 +VTS,1,6,180,0.75,CRD,4.5 +VTS,1,6,840,4.54,CSH,16.0 +VTS,1,6,840,3.09,CSH,12.5 +VTS,1,6,420,1.66,CSH,7.5 +VTS,1,6,600,2.54,CRD,10.0 +VTS,1,6,300,0.68,CRD,5.5 +VTS,1,6,600,1.87,CSH,9.0 +VTS,1,6,300,1.02,CSH,5.5 +VTS,1,6,240,0.85,CSH,5.0 +VTS,1,6,780,2.26,CSH,10.5 +VTS,1,6,480,0.93,CSH,7.0 +VTS,1,6,840,5.74,CSH,18.0 +VTS,1,6,360,1.26,CRD,7.0 +VTS,1,6,300,0.66,CSH,5.0 +VTS,1,6,660,1.68,CRD,9.0 +VTS,1,6,720,1.89,CRD,9.5 +VTS,1,6,180,0.43,CSH,4.5 +VTS,1,6,1260,4.34,CRD,17.5 +VTS,1,6,240,1.15,CRD,6.0 +VTS,1,6,240,0.63,CRD,4.5 +VTS,1,6,600,1.52,CRD,8.5 +VTS,1,1,360,0.93,CRD,6.0 +VTS,1,2,240,0.59,CSH,4.5 +VTS,1,1,840,3.74,CRD,14.5 +VTS,5,1,0,0.05,CRD,16.0 +VTS,1,2,540,1.57,CSH,8.0 +VTS,1,1,1320,8.33,CRD,26.5 +VTS,1,2,300,1.2,CRD,6.0 +VTS,1,2,300,0.99,CRD,6.0 +VTS,2,1,60,0.0,CRD,52.0 +VTS,1,1,1380,2.97,CSH,16.0 +VTS,1,1,540,1.25,CRD,7.5 +VTS,1,2,1260,2.37,CRD,15.0 +VTS,1,1,240,0.85,CRD,5.0 +VTS,1,1,540,1.65,CRD,7.5 +VTS,1,1,240,0.79,CSH,5.0 +VTS,1,1,960,2.12,CSH,11.5 +VTS,1,2,480,0.91,CSH,6.5 +VTS,1,1,720,1.49,CRD,9.5 +VTS,1,1,420,0.8,CRD,6.0 +VTS,1,1,660,2.73,CRD,11.0 +VTS,1,2,720,2.14,CSH,10.0 +VTS,1,1,360,0.89,CSH,6.0 +VTS,1,1,300,0.79,CSH,5.5 +VTS,1,1,240,0.67,CSH,5.0 +VTS,1,1,540,1.59,CSH,8.0 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,780,3.25,CSH,12.5 +VTS,1,6,600,1.68,CRD,8.5 +VTS,1,6,120,0.77,CSH,4.5 +VTS,1,6,240,0.85,CSH,5.0 +VTS,1,6,300,0.76,CSH,5.5 +VTS,1,6,360,1.64,CSH,7.0 +VTS,1,6,1320,5.05,CRD,18.0 +VTS,1,6,360,1.54,CSH,7.0 +VTS,1,6,1920,12.4,CRD,38.0 +VTS,1,6,120,1.03,CRD,5.0 +VTS,1,6,660,3.26,CRD,12.0 +VTS,1,6,480,0.79,CRD,7.0 +VTS,1,6,420,1.14,CRD,7.0 +VTS,1,6,1500,6.41,CRD,23.0 +VTS,1,6,480,3.39,CRD,11.5 +VTS,1,6,840,4.16,CSH,15.0 +VTS,1,6,360,1.6,CRD,7.0 +VTS,1,6,720,2.04,CSH,10.5 +VTS,1,6,360,1.42,CSH,6.5 +VTS,1,6,480,2.44,CRD,9.5 +VTS,1,6,1920,9.05,CRD,31.0 +VTS,1,6,1260,2.68,CSH,15.0 +VTS,1,6,660,3.96,CSH,13.0 +VTS,1,6,1620,4.47,CSH,19.5 +VTS,1,6,720,2.95,CSH,11.5 +VTS,1,6,1080,4.4,CSH,16.5 +VTS,1,6,1020,7.27,CRD,22.5 +VTS,1,6,840,2.21,CRD,11.0 +VTS,1,6,540,1.49,CSH,8.0 +VTS,1,6,1080,4.42,CRD,16.0 +VTS,1,6,180,0.91,CSH,5.0 +VTS,1,6,420,2.16,CSH,8.0 +VTS,1,6,1200,7.7,CRD,24.5 +VTS,1,6,540,0.99,CRD,7.5 +VTS,1,6,480,2.08,CRD,8.5 +VTS,1,6,1560,6.3,CRD,23.0 +VTS,1,6,1200,7.14,CSH,23.0 +VTS,1,6,300,1.58,CRD,7.0 +VTS,1,6,1980,6.02,CSH,25.0 +VTS,1,6,540,0.99,CSH,7.5 +VTS,1,6,360,0.96,CSH,6.0 +VTS,1,6,660,2.96,CSH,11.0 +VTS,1,6,480,2.88,CRD,11.0 +VTS,1,6,360,1.43,CSH,7.0 +VTS,1,6,720,4.18,CSH,14.5 +VTS,1,6,1020,4.14,CRD,15.5 +VTS,1,6,240,0.66,CSH,4.5 +VTS,1,6,480,2.39,CRD,9.0 +VTS,1,6,300,0.68,CRD,5.5 +VTS,1,6,1080,1.95,CRD,12.5 +VTS,1,6,1380,5.48,CRD,19.5 +VTS,1,6,360,1.03,CSH,6.0 +VTS,1,6,1200,3.69,CRD,15.5 +VTS,1,6,840,1.79,CRD,10.5 +VTS,1,1,1560,3.87,CRD,19.0 +VTS,1,1,480,1.44,CSH,7.5 +VTS,1,1,900,2.7,CRD,12.0 +VTS,1,1,420,0.92,CRD,6.5 +VTS,1,2,600,1.32,CRD,8.0 +VTS,1,1,1020,2.57,CRD,13.0 +VTS,1,1,840,2.24,CSH,11.5 +VTS,1,2,180,0.42,CRD,4.0 +VTS,1,2,720,1.96,CSH,10.0 +VTS,1,1,720,2.42,CRD,10.5 +VTS,1,1,660,1.96,CRD,10.0 +VTS,1,6,1260,8.86,CRD,27.0 +VTS,1,6,1020,2.72,CSH,13.0 +VTS,1,6,600,1.43,CRD,8.0 +VTS,1,6,1920,3.31,CSH,19.0 +VTS,1,6,840,8.67,CRD,24.5 +VTS,1,6,1320,8.03,CRD,26.0 +VTS,1,6,360,1.45,CRD,6.5 +VTS,1,6,840,2.53,CRD,11.5 +VTS,1,6,300,1.47,CSH,6.5 +VTS,1,6,780,3.05,CSH,12.0 +VTS,1,6,180,0.44,CRD,4.0 +VTS,1,6,720,2.42,CRD,10.0 +VTS,1,6,180,0.52,CSH,4.0 +VTS,1,6,960,3.57,CSH,14.5 +VTS,1,6,420,2.06,CSH,8.0 +VTS,1,1,360,1.07,CSH,6.0 +VTS,1,1,300,1.22,CRD,6.5 +VTS,1,1,360,2.39,CRD,8.5 +VTS,1,1,420,2.2,CSH,8.5 +VTS,1,1,180,0.46,CSH,4.0 +VTS,1,1,420,1.16,CRD,6.5 +VTS,1,1,1440,8.28,CSH,27.0 +VTS,1,1,780,3.57,CRD,12.5 +VTS,1,1,480,1.19,CSH,7.0 +VTS,1,2,120,0.74,CRD,4.0 +VTS,1,1,300,1.68,CSH,7.0 +VTS,1,2,480,1.12,CSH,7.0 +VTS,1,1,540,1.61,CSH,8.0 +VTS,1,1,300,0.72,CSH,5.0 +VTS,1,1,360,1.17,CRD,6.5 +VTS,1,1,1260,3.66,CRD,16.0 +VTS,1,1,1380,11.12,CRD,32.0 +VTS,1,2,240,0.41,CSH,4.0 +VTS,1,1,540,1.76,CRD,9.0 +VTS,1,1,1380,5.34,CSH,20.5 +VTS,1,2,660,1.91,CRD,9.5 +VTS,1,6,360,1.54,CSH,7.0 +VTS,1,6,300,1.38,CSH,6.5 +VTS,1,6,540,2.24,CSH,9.0 +VTS,1,6,540,3.47,CSH,11.5 +VTS,1,6,240,1.03,CRD,5.5 +VTS,1,6,1080,3.17,CRD,14.0 +VTS,1,6,780,4.28,CRD,15.0 +VTS,1,6,1380,3.73,CRD,17.0 +VTS,1,6,360,0.97,CRD,6.0 +VTS,1,6,180,0.58,CSH,4.0 +VTS,1,6,1260,9.68,CRD,29.0 +VTS,1,6,360,1.14,CRD,6.5 +VTS,1,6,420,1.23,CSH,7.0 +VTS,1,6,300,1.02,CRD,5.5 +VTS,1,6,900,2.25,CSH,12.5 +VTS,1,6,900,3.59,CRD,13.5 +VTS,1,6,180,0.68,CRD,4.5 +VTS,1,6,180,0.87,CSH,5.0 +VTS,1,6,240,1.36,CSH,6.0 +VTS,1,6,240,1.08,CRD,5.5 +VTS,1,6,600,3.25,CSH,12.5 +VTS,1,6,1140,3.92,CRD,15.5 +VTS,1,6,420,1.92,CRD,8.0 +VTS,1,6,1560,3.98,CRD,19.0 +VTS,1,6,300,1.08,CSH,5.5 +VTS,1,6,360,1.48,CRD,6.5 +VTS,1,6,780,2.93,CRD,12.0 +VTS,1,6,300,1.38,CSH,6.5 +VTS,1,6,240,0.73,CRD,4.5 +VTS,1,6,840,2.03,CRD,11.0 +VTS,1,6,360,2.29,CSH,8.5 +VTS,1,6,600,2.01,CRD,9.0 +VTS,1,6,960,3.04,CSH,13.0 +VTS,1,6,840,1.51,CSH,10.0 +VTS,1,6,1020,3.03,CSH,13.0 +VTS,1,6,420,0.66,CRD,6.0 +VTS,1,6,180,0.7,CRD,4.0 +VTS,1,6,600,4.29,CRD,13.5 +VTS,1,6,720,3.8,CSH,13.5 +VTS,1,6,900,2.88,CSH,13.0 +VTS,1,6,780,1.5,CRD,10.0 +VTS,1,6,540,2.18,CRD,9.5 +VTS,1,6,240,0.62,CSH,4.5 +VTS,1,6,780,2.11,CSH,10.5 +VTS,1,6,540,1.38,CRD,8.0 +VTS,1,1,540,1.68,CRD,8.0 +VTS,5,1,0,0.0,CRD,60.0 +VTS,1,6,540,2.02,CRD,9.0 +VTS,1,6,780,3.11,CSH,12.0 +VTS,1,6,720,2.82,CSH,11.5 +VTS,1,6,1500,3.06,CRD,17.5 +VTS,1,6,600,2.29,CRD,9.5 +VTS,1,6,660,3.24,CRD,12.0 +VTS,1,6,360,1.09,CRD,6.0 +VTS,1,6,900,4.09,CSH,14.5 +VTS,1,6,720,3.31,CRD,12.0 +VTS,1,6,240,0.91,CRD,5.5 +VTS,1,6,1380,3.75,CRD,16.5 +VTS,1,6,660,2.24,CRD,10.0 +VTS,1,6,480,1.65,CSH,8.0 +VTS,1,6,660,1.32,CSH,9.0 +VTS,1,6,1140,3.62,CSH,15.0 +VTS,1,6,660,3.77,CRD,13.0 +VTS,1,6,1980,8.98,CSH,29.5 +VTS,1,6,600,2.36,CRD,10.0 +VTS,1,6,240,1.23,CRD,6.0 +VTS,1,6,840,2.57,CRD,12.0 +VTS,1,1,780,1.71,CSH,10.0 +VTS,1,6,660,2.53,CSH,11.0 +VTS,1,6,480,1.12,CSH,7.0 +VTS,1,6,360,0.72,CSH,6.0 +VTS,1,6,960,4.41,CSH,16.0 +VTS,1,6,720,1.93,CRD,10.5 +VTS,1,6,540,1.64,CSH,8.5 +VTS,1,6,480,1.16,CSH,7.0 +VTS,1,6,780,1.79,CRD,10.5 +VTS,1,6,2640,6.44,CRD,30.5 +VTS,1,6,360,0.9,CSH,6.0 +VTS,1,6,1140,4.76,CSH,18.0 +VTS,1,6,120,0.49,CSH,3.5 +VTS,1,6,600,1.65,CSH,8.5 +VTS,1,6,360,1.11,CRD,6.5 +VTS,1,6,360,1.03,CSH,6.0 +VTS,1,6,120,0.58,CSH,4.0 +VTS,1,2,660,1.19,CRD,8.5 +VTS,1,2,240,0.89,CSH,5.0 +VTS,1,2,420,1.29,CSH,6.5 +VTS,1,2,660,1.13,CRD,8.5 +VTS,1,2,360,0.66,CSH,5.5 +VTS,1,1,480,1.94,CRD,8.0 +VTS,1,1,1320,4.01,CSH,16.5 +VTS,1,1,540,1.35,CRD,8.0 +VTS,1,1,360,0.88,CRD,6.0 +VTS,1,1,180,0.48,CSH,4.0 +VTS,1,1,120,0.79,CRD,4.5 +VTS,1,1,540,1.45,CSH,8.0 +VTS,1,1,300,1.41,CSH,7.0 +VTS,1,1,1560,4.23,CRD,19.5 +VTS,1,1,420,1.56,CSH,7.0 +VTS,1,1,540,0.81,CRD,7.0 +VTS,1,1,1560,3.71,CRD,19.0 +VTS,1,6,1260,5.31,CSH,19.5 +VTS,1,6,540,2.17,CSH,9.5 +VTS,1,6,1080,8.2,CRD,25.0 +VTS,1,6,1440,6.57,CRD,22.0 +VTS,1,6,180,0.57,CSH,4.0 +VTS,1,6,180,0.54,CSH,4.0 +VTS,1,6,720,2.9,CRD,11.5 +VTS,1,6,1320,10.06,CRD,29.5 +VTS,1,6,1200,7.15,CSH,23.5 +VTS,1,6,300,0.77,CSH,5.5 +VTS,1,6,300,1.05,CSH,6.0 +VTS,1,6,900,3.53,CSH,14.5 +VTS,1,6,660,1.95,CSH,9.5 +VTS,1,6,780,6.66,CRD,20.5 +VTS,1,6,1020,1.73,CSH,11.5 +VTS,1,6,540,1.61,CRD,8.0 +VTS,1,6,1140,3.79,CRD,16.0 +VTS,1,6,1320,4.28,CSH,17.5 +VTS,1,6,1020,2.22,CRD,12.5 +VTS,1,6,360,1.5,CRD,7.0 +VTS,1,6,360,0.89,CSH,6.0 +VTS,1,6,540,1.81,CRD,8.5 +VTS,1,6,600,0.47,CSH,7.5 +VTS,1,6,720,0.86,CSH,8.5 +VTS,1,6,1380,9.02,CRD,26.5 +VTS,1,6,240,1.16,CSH,5.5 +VTS,1,6,600,1.38,CSH,8.0 +VTS,1,6,240,1.33,CSH,6.0 +VTS,1,6,300,0.46,CSH,5.5 +VTS,1,6,480,0.95,CRD,7.0 +VTS,1,6,780,2.48,CSH,11.5 +VTS,1,6,660,1.88,CRD,9.0 +VTS,1,6,420,1.43,CRD,7.0 +VTS,1,6,240,0.58,CRD,4.5 +VTS,1,6,960,10.19,CRD,28.0 +VTS,1,6,480,1.38,CRD,7.5 +VTS,1,6,120,0.52,CSH,3.5 +VTS,1,6,1140,4.39,CRD,16.5 +VTS,1,6,900,3.65,CRD,14.5 +VTS,1,6,300,1.35,CSH,6.5 +VTS,1,6,600,3.56,CSH,12.5 +VTS,1,6,780,2.22,CRD,11.0 +VTS,1,6,540,1.3,CRD,7.5 +VTS,1,6,480,1.63,CRD,8.0 +VTS,1,6,420,1.13,CRD,6.5 +VTS,1,6,900,2.38,CRD,12.0 +VTS,1,6,540,1.72,CRD,8.0 +VTS,1,6,540,1.64,CRD,8.5 +VTS,1,6,1980,9.93,CSH,32.0 +VTS,1,6,180,0.53,CRD,4.0 +VTS,1,6,360,1.93,CSH,8.0 +VTS,1,6,540,1.92,CRD,8.0 +VTS,1,6,660,1.71,CSH,9.5 +VTS,1,6,1140,7.44,CRD,23.5 +VTS,1,6,480,1.3,CRD,7.5 +VTS,1,6,360,1.54,CSH,7.5 +VTS,1,6,540,2.25,CRD,9.0 +VTS,1,6,420,1.81,CSH,8.0 +VTS,1,6,180,0.67,CSH,4.5 +VTS,1,6,240,0.62,CSH,4.5 +VTS,5,2,2940,22.77,CRD,85.0 +VTS,1,2,1740,14.62,CRD,40.0 +VTS,1,2,1020,2.1,CRD,12.5 +VTS,1,1,1440,2.61,CRD,16.0 +VTS,1,2,360,1.32,CRD,6.5 +VTS,1,2,900,3.45,CRD,13.5 +VTS,1,1,360,1.08,CRD,6.5 +VTS,1,2,660,1.43,CRD,8.5 +VTS,1,1,1440,2.78,CRD,15.5 +VTS,1,2,840,0.82,CSH,9.5 +VTS,2,1,2040,17.27,CSH,52.0 +VTS,1,2,480,1.95,CRD,9.0 +VTS,1,1,480,3.61,CSH,11.5 +VTS,1,1,120,0.95,CSH,4.5 +VTS,1,2,960,2.09,CSH,11.5 +VTS,1,1,1620,5.92,CSH,23.0 +VTS,1,1,360,1.05,CSH,6.0 +VTS,1,1,300,2.24,CRD,8.0 +VTS,1,1,120,0.57,CSH,4.0 +VTS,1,1,420,2.07,CSH,8.0 +VTS,1,1,660,2.58,CSH,10.5 +VTS,1,2,120,0.62,CRD,4.0 +VTS,1,1,420,1.02,CRD,6.5 +VTS,1,1,780,2.83,CSH,12.0 +VTS,1,1,3420,10.42,CRD,42.0 +VTS,1,1,720,0.88,CSH,8.0 +VTS,1,1,660,1.62,CRD,9.0 +VTS,1,1,420,0.78,CSH,6.0 +VTS,1,1,600,2.63,CRD,10.0 +VTS,1,1,240,0.63,CSH,5.0 +VTS,1,1,600,1.81,CSH,9.0 +VTS,1,2,240,0.82,CSH,5.0 +VTS,1,1,360,1.32,CSH,6.0 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,240,1.18,CRD,6.0 +VTS,1,1,540,1.86,CRD,8.0 +VTS,1,2,300,1.0,CRD,5.5 +VTS,1,2,180,0.63,CRD,4.0 +VTS,1,1,300,1.11,CSH,6.0 +VTS,1,1,840,2.12,CSH,11.5 +VTS,1,1,180,0.55,CSH,4.5 +VTS,1,1,600,0.86,CSH,8.0 +VTS,1,1,660,1.53,CRD,9.0 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,240,0.46,CRD,4.5 +VTS,1,1,780,2.86,CSH,12.0 +VTS,1,1,1020,3.63,CRD,14.5 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,1560,3.93,CRD,19.0 +VTS,1,1,540,0.73,CSH,7.5 +VTS,1,6,360,1.12,CRD,6.5 +VTS,1,6,360,1.01,CRD,6.0 +VTS,1,6,240,1.44,CSH,6.5 +VTS,1,1,600,1.15,CSH,7.5 +VTS,1,6,480,0.67,CRD,6.5 +VTS,1,6,1140,2.49,CSH,13.5 +VTS,1,6,600,2.26,CRD,9.5 +VTS,1,6,420,1.1,CRD,6.5 +VTS,1,6,240,0.82,CSH,5.0 +VTS,1,1,1620,3.43,CSH,18.0 +VTS,1,6,660,1.66,CRD,9.0 +VTS,1,6,960,4.0,CRD,15.0 +VTS,1,6,180,0.76,CSH,4.5 +VTS,1,6,540,1.32,CSH,7.5 +VTS,1,6,360,1.18,CRD,6.5 +VTS,1,6,900,3.58,CSH,13.5 +VTS,1,6,1260,3.11,CSH,16.5 +VTS,1,6,1500,4.5,CRD,19.5 +VTS,1,6,360,1.39,CRD,7.0 +VTS,1,6,180,0.26,CRD,3.5 +VTS,1,6,120,0.45,CRD,3.5 +VTS,1,6,960,3.42,CSH,14.0 +VTS,1,6,420,1.33,CRD,7.0 +VTS,1,6,1080,3.74,CSH,16.0 +VTS,1,6,480,1.36,CSH,7.5 +VTS,1,6,240,0.56,CSH,4.5 +VTS,1,6,600,3.12,CSH,11.0 +VTS,1,6,840,3.43,CRD,12.5 +VTS,1,6,180,1.12,CRD,5.5 +VTS,1,6,360,1.49,CSH,7.0 +VTS,1,6,1260,9.26,CRD,28.0 +VTS,1,6,1200,1.83,CSH,13.5 +VTS,1,6,300,1.46,CSH,6.5 +VTS,1,6,540,1.92,CRD,9.0 +VTS,1,6,1260,5.12,CRD,19.0 +VTS,1,6,420,0.85,CSH,6.0 +VTS,1,6,180,0.71,CSH,4.5 +VTS,1,6,780,2.24,CRD,11.0 +VTS,1,6,780,1.97,CRD,10.5 +VTS,1,6,180,0.63,CRD,4.5 +VTS,1,6,600,1.54,CRD,9.0 +VTS,1,6,660,2.81,CSH,10.5 +VTS,1,6,480,1.2,CRD,7.5 +VTS,1,6,780,4.6,CSH,15.0 +VTS,1,6,780,1.26,CSH,9.5 +VTS,1,6,660,2.2,CRD,10.0 +VTS,1,6,1740,5.03,CSH,21.5 +VTS,1,6,480,1.56,CRD,7.5 +VTS,1,6,180,0.68,CSH,4.0 +VTS,1,6,1080,6.35,CRD,21.0 +VTS,1,6,360,0.81,CRD,5.5 +VTS,1,6,600,2.7,CRD,10.5 +VTS,1,6,360,1.04,CSH,6.0 +VTS,1,6,600,2.15,CRD,9.5 +VTS,1,6,840,2.6,CSH,11.5 +VTS,1,6,480,1.33,CRD,7.5 +VTS,1,6,1380,4.15,CRD,17.5 +VTS,1,6,540,1.42,CSH,8.0 +VTS,1,6,300,0.73,CRD,5.0 +VTS,1,6,540,1.35,CSH,8.0 +VTS,1,6,900,2.37,CSH,12.0 +VTS,1,6,840,2.49,CRD,11.5 +VTS,1,6,780,2.23,CRD,11.0 +VTS,1,6,660,1.91,CRD,9.5 +VTS,1,6,1140,3.6,CRD,14.5 +VTS,1,6,840,5.24,CRD,17.0 +VTS,1,6,360,0.69,CSH,5.5 +VTS,1,6,300,0.81,CSH,5.5 +VTS,1,6,300,0.75,CSH,5.5 +VTS,1,6,180,0.53,CSH,4.5 +VTS,1,6,240,0.79,CSH,5.0 +VTS,1,6,180,1.06,CSH,5.5 +VTS,1,6,540,1.45,CSH,8.0 +VTS,1,6,480,3.75,CRD,12.5 +VTS,2,6,1500,17.07,CRD,52.0 +VTS,1,6,360,1.69,CRD,7.0 +VTS,1,6,360,1.0,CRD,6.0 +VTS,1,6,360,1.3,CSH,6.5 +VTS,2,6,1320,16.58,CSH,52.0 +VTS,1,6,360,1.63,CSH,7.0 +VTS,1,6,660,1.12,CRD,8.5 +VTS,1,6,1020,7.44,CRD,23.0 +VTS,1,6,600,1.16,CRD,7.5 +VTS,1,6,2460,9.78,CRD,35.0 +VTS,1,6,1320,3.81,CRD,16.5 +VTS,1,6,600,5.63,CRD,17.0 +VTS,1,6,840,3.74,CSH,13.0 +VTS,1,6,360,1.23,CSH,6.0 +VTS,1,6,420,1.55,CSH,7.0 +VTS,1,6,300,1.4,CRD,6.0 +VTS,1,6,720,2.14,CRD,10.0 +VTS,1,6,900,2.35,CSH,12.5 +VTS,1,6,420,1.83,CRD,7.5 +VTS,1,6,600,6.0,CRD,18.0 +VTS,1,6,1140,4.08,CRD,16.0 +VTS,1,6,660,1.96,CSH,10.0 +VTS,1,6,360,2.23,CRD,8.0 +VTS,1,6,600,2.4,CRD,10.5 +VTS,1,6,540,1.7,CRD,8.0 +VTS,1,6,240,1.32,CSH,5.5 +VTS,1,6,180,0.6,CSH,4.5 +VTS,1,6,480,3.44,CRD,11.0 +VTS,1,6,900,5.35,CRD,18.0 +VTS,1,6,2340,12.89,CRD,40.5 +VTS,1,6,2460,5.28,CRD,27.5 +VTS,1,6,480,1.38,CSH,7.5 +VTS,1,6,1020,4.12,CRD,15.5 +VTS,1,6,360,2.11,CRD,8.0 +VTS,1,6,60,0.3,CRD,3.0 +VTS,1,6,600,2.48,CRD,9.5 +VTS,1,5,300,0.75,CSH,5.5 +VTS,1,6,360,1.39,CSH,6.5 +VTS,1,6,420,1.65,CSH,7.5 +VTS,1,6,1200,3.75,CRD,15.5 +VTS,1,6,360,1.28,CRD,7.0 +VTS,1,6,540,3.6,CRD,11.5 +VTS,1,6,1260,3.46,CRD,16.0 +VTS,1,6,120,0.45,CSH,4.0 +VTS,1,6,300,0.69,CRD,5.5 +VTS,1,6,660,1.22,CRD,8.5 +VTS,1,1,300,1.37,CSH,6.5 +VTS,1,6,720,3.2,CRD,12.0 +VTS,1,6,540,3.39,CRD,11.5 +VTS,1,6,420,1.0,CRD,6.5 +VTS,1,6,720,3.57,CSH,13.5 +VTS,1,6,840,3.55,CRD,13.5 +VTS,1,6,480,1.34,CRD,7.5 +VTS,1,6,240,0.59,CRD,4.5 +VTS,1,6,420,0.98,CSH,6.5 +VTS,1,6,1260,6.52,CRD,21.0 +VTS,1,6,720,9.18,CRD,25.5 +VTS,1,6,720,7.19,CSH,21.0 +VTS,1,6,1020,1.67,CSH,11.5 +VTS,1,6,1020,3.64,CSH,15.5 +VTS,1,6,180,0.58,CRD,4.0 +VTS,1,6,780,2.67,CSH,11.5 +VTS,1,6,240,0.7,CSH,5.0 +VTS,1,6,1200,5.48,CSH,19.0 +VTS,1,6,600,1.39,CRD,8.0 +VTS,1,6,960,4.23,CRD,14.5 +VTS,1,6,360,1.32,CRD,6.0 +VTS,1,6,1440,6.39,CRD,22.5 +VTS,1,6,120,0.77,CRD,4.0 +VTS,1,6,780,5.51,CRD,17.5 +VTS,1,6,1440,5.33,CSH,20.0 +VTS,1,6,1080,3.01,CRD,13.5 +VTS,1,1,2400,3.86,CRD,25.5 +VTS,1,6,120,0.67,CRD,4.0 +VTS,1,6,1200,3.58,CRD,15.5 +VTS,1,6,240,0.63,CSH,4.5 +VTS,1,6,120,0.84,CSH,4.5 +VTS,1,1,480,1.35,CRD,7.0 +VTS,1,6,780,2.73,CRD,12.0 +VTS,1,6,360,0.86,CSH,6.0 +VTS,1,6,540,1.58,CRD,8.5 +VTS,1,6,360,0.94,CRD,5.5 +VTS,1,6,60,0.49,CRD,3.5 +VTS,1,6,240,0.78,CSH,4.5 +VTS,1,6,480,2.23,CRD,8.5 +VTS,1,6,300,1.25,CRD,6.0 +VTS,1,6,1140,5.17,CRD,18.0 +VTS,1,6,300,1.03,CRD,5.5 +VTS,1,6,2160,11.12,CRD,36.0 +VTS,1,6,840,1.6,CSH,10.5 +VTS,1,6,240,1.07,CRD,5.5 +VTS,1,6,720,1.22,CSH,9.0 +VTS,1,6,240,0.74,CRD,5.0 +VTS,1,6,420,2.14,CRD,8.0 +VTS,1,6,180,0.94,CRD,5.0 +VTS,1,6,720,1.42,CRD,9.0 +VTS,1,6,780,2.09,CRD,10.5 +VTS,1,6,540,1.28,CSH,7.5 +VTS,1,6,540,1.05,CSH,7.5 +VTS,1,6,1620,4.66,CRD,20.0 +VTS,1,6,1020,4.53,CRD,16.0 +VTS,1,6,1140,4.86,CRD,18.0 +VTS,1,6,540,1.48,CRD,7.5 +VTS,1,6,480,1.31,CSH,7.0 +VTS,1,6,1080,10.84,CSH,30.5 +VTS,1,6,480,1.54,CRD,8.0 +VTS,1,6,960,7.74,CSH,23.5 +CMT,1,1,197,1.3,CSH,6.5 +CMT,1,1,970,1.8,CSH,11.5 +CMT,1,1,426,1.4,CSH,7.5 +CMT,1,1,504,1.5,CSH,7.5 +VTS,1,6,1500,5.12,CRD,20.0 +VTS,1,6,360,0.56,CRD,5.0 +VTS,1,6,1680,6.66,CRD,25.5 +VTS,1,6,540,1.45,CRD,8.0 +VTS,1,6,600,3.25,CRD,11.5 +VTS,1,6,180,0.45,CSH,3.5 +VTS,1,6,180,0.72,CRD,4.5 +VTS,1,6,600,2.74,CRD,10.5 +VTS,1,6,600,1.03,CRD,7.5 +VTS,1,6,660,2.82,CSH,11.5 +VTS,1,6,660,2.13,CRD,10.0 +VTS,1,6,840,2.78,CRD,12.0 +VTS,1,6,660,3.15,CSH,11.5 +VTS,1,6,1200,7.98,CRD,25.5 +VTS,1,6,540,1.44,CRD,8.0 +VTS,1,6,1260,4.21,CRD,17.5 +VTS,1,6,180,0.73,CSH,4.5 +VTS,1,6,300,1.03,CRD,6.0 +VTS,1,6,780,1.19,CRD,9.0 +VTS,1,6,240,0.58,CRD,4.5 +VTS,1,6,240,0.72,CSH,5.0 +VTS,1,6,240,0.81,CSH,5.0 +VTS,1,6,240,0.78,CRD,5.0 +VTS,1,6,360,0.64,CSH,5.5 +VTS,1,6,660,1.56,CRD,9.0 +VTS,1,6,240,0.8,CSH,5.0 +VTS,1,6,840,2.3,CSH,12.0 +VTS,1,6,180,1.03,CRD,5.0 +VTS,1,6,1620,17.38,CRD,46.5 +VTS,1,6,960,2.62,CSH,13.0 +VTS,1,6,1080,5.72,CRD,19.0 +VTS,1,6,180,1.03,CRD,5.0 +VTS,1,6,1440,7.93,CRD,25.5 +VTS,1,6,180,0.71,CSH,4.5 +VTS,1,6,960,2.05,CRD,11.5 +VTS,1,6,1080,2.94,CRD,13.5 +VTS,1,6,360,0.87,CRD,5.5 +VTS,1,6,900,3.41,CRD,13.5 +VTS,1,6,780,1.7,CSH,10.0 +VTS,1,6,300,0.73,CSH,5.5 +VTS,1,6,420,1.44,CRD,7.5 +VTS,1,6,660,2.94,CSH,11.5 +VTS,1,6,540,1.75,CRD,8.5 +VTS,1,6,240,1.45,CSH,6.0 +VTS,1,6,1080,3.09,CRD,14.0 +VTS,1,6,720,2.56,CRD,11.0 +VTS,1,6,600,3.01,CRD,10.5 +VTS,1,6,420,3.0,CRD,10.5 +VTS,1,6,1980,9.85,CSH,32.0 +VTS,1,6,300,0.9,CRD,5.5 +VTS,1,6,600,1.62,CRD,9.0 +VTS,1,6,720,1.87,CRD,10.0 +VTS,1,6,1980,10.44,CSH,33.5 +VTS,1,6,540,1.9,CSH,8.5 +VTS,1,6,360,1.32,CSH,6.5 +VTS,1,6,1020,2.71,CSH,13.5 +VTS,1,6,1080,4.18,CRD,15.5 +VTS,1,6,240,0.73,CRD,5.0 +VTS,1,6,660,2.47,CSH,10.5 +VTS,1,6,1140,4.24,CRD,15.5 +VTS,1,6,660,0.7,CSH,8.5 +VTS,1,6,180,0.67,CSH,4.5 +VTS,1,6,840,4.22,CRD,15.5 +VTS,1,6,960,7.32,CRD,22.5 +VTS,1,6,960,6.15,CRD,19.5 +VTS,1,6,360,0.92,CSH,6.0 +VTS,1,1,900,5.66,CSH,19.0 +VTS,1,6,660,3.38,CSH,12.5 +VTS,1,6,1140,1.89,CRD,12.5 +VTS,1,6,1260,2.89,CRD,14.5 +VTS,1,6,1020,5.14,CRD,17.5 +VTS,1,6,480,2.34,CSH,9.0 +VTS,1,6,420,1.09,CSH,6.5 +VTS,1,6,420,1.48,CSH,7.5 +VTS,1,6,120,0.81,CRD,4.5 +VTS,1,6,360,1.54,CRD,7.0 +VTS,1,6,660,2.15,CSH,9.5 +VTS,1,6,780,3.44,CRD,13.0 +VTS,1,6,660,2.13,CRD,10.0 +VTS,1,6,540,2.12,CRD,9.0 +VTS,1,6,60,0.3,CSH,3.0 +VTS,1,6,960,2.83,CRD,12.5 +VTS,1,6,660,3.33,CSH,12.0 +VTS,1,6,420,2.53,CRD,9.0 +VTS,1,6,960,6.71,CRD,20.5 +VTS,1,6,1020,5.82,CRD,19.0 +VTS,1,6,840,4.66,CRD,16.0 +VTS,1,6,660,3.38,CSH,12.0 +VTS,1,6,480,2.54,CSH,9.5 +VTS,2,6,1560,16.68,CRD,52.0 +VTS,1,6,780,4.54,CRD,15.5 +VTS,1,6,1020,2.14,CSH,12.5 +VTS,1,6,720,2.87,CRD,11.0 +VTS,1,6,300,0.9,CRD,5.0 +VTS,1,6,780,4.02,CRD,14.0 +VTS,1,6,2220,9.75,CRD,31.0 +VTS,1,6,540,1.77,CRD,8.5 +VTS,1,6,540,2.26,CRD,9.0 +VTS,1,6,240,0.85,CRD,5.0 +VTS,1,6,1980,8.62,CRD,30.0 +VTS,1,6,180,0.67,CRD,5.0 +VTS,1,6,660,2.28,CRD,10.0 +VTS,1,6,780,2.0,CSH,10.0 +VTS,1,6,780,3.21,CRD,12.0 +VTS,1,6,360,1.15,CSH,6.5 +VTS,1,6,900,3.09,CSH,12.5 +VTS,1,6,1500,6.11,CRD,22.5 +VTS,1,6,1380,9.31,CRD,27.5 +VTS,1,6,540,2.06,CRD,9.0 +VTS,1,6,660,3.67,CRD,13.5 +VTS,1,6,420,1.24,CSH,7.0 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,6,360,0.92,CRD,6.0 +VTS,1,6,540,1.8,CRD,8.5 +VTS,1,6,1020,4.18,CRD,16.0 +VTS,1,6,960,2.29,CSH,12.0 +VTS,1,6,660,2.01,CSH,9.5 +VTS,1,6,300,1.01,CRD,5.5 +VTS,1,6,180,0.4,CSH,4.5 +VTS,1,6,540,1.44,CRD,8.0 +VTS,1,6,240,1.06,CSH,5.5 +VTS,1,6,660,2.63,CRD,10.5 +VTS,1,6,120,0.35,CSH,3.5 +VTS,1,6,420,2.59,CSH,9.5 +VTS,1,6,960,4.32,CSH,15.5 +VTS,1,6,1200,2.32,CSH,14.0 +VTS,1,6,420,0.71,CRD,6.0 +VTS,1,6,300,1.82,CSH,7.0 +VTS,1,5,480,1.75,CRD,8.5 +VTS,1,6,120,0.41,CRD,3.5 +VTS,1,6,540,2.65,CRD,10.0 +VTS,1,6,1320,5.66,CRD,20.5 +VTS,1,6,1020,2.31,CRD,12.0 +VTS,1,6,600,1.36,CRD,8.5 +VTS,1,6,360,0.79,CSH,5.5 +CMT,1,2,515,0.9,CRD,7.5 +CMT,1,1,340,1.0,CRD,6.0 +CMT,1,1,268,0.7,CSH,5.5 +CMT,1,1,307,0.7,CSH,5.5 +CMT,1,1,268,1.2,CSH,6.0 +CMT,1,1,259,1.1,CRD,5.5 +CMT,1,1,335,0.3,CSH,5.0 +CMT,1,1,1220,1.3,CRD,13.0 +CMT,1,1,891,3.6,CRD,14.5 +CMT,1,1,796,4.7,CRD,16.5 +CMT,1,1,481,1.7,CSH,8.0 +CMT,1,1,271,0.9,CSH,5.5 +CMT,1,2,1788,4.3,CRD,20.5 +CMT,1,1,421,1.4,CRD,7.0 +CMT,1,1,392,1.3,CRD,6.5 +CMT,1,2,518,4.1,CSH,13.0 +CMT,1,1,219,0.5,CRD,4.5 +CMT,1,1,1107,13.6,CSH,37.0 +CMT,1,1,2316,3.5,CSH,23.0 +CMT,1,2,857,2.9,CSH,12.5 +CMT,1,2,163,0.4,CRD,4.0 +VTS,1,6,360,1.68,CRD,7.0 +VTS,4,6,2520,16.28,CRD,50.5 +VTS,1,6,2040,16.83,CSH,49.0 +CMT,1,1,900,3.1,CRD,13.5 +CMT,1,1,647,2.0,CRD,9.5 +CMT,1,1,1235,3.9,CRD,16.5 +CMT,1,1,386,0.9,CRD,6.0 +CMT,1,2,875,3.0,CSH,13.5 +CMT,1,1,963,1.9,CRD,11.5 +CMT,1,1,409,1.0,CRD,6.5 +CMT,1,1,2010,15.7,CRD,45.0 +CMT,1,1,348,1.9,CSH,7.5 +CMT,1,1,225,0.7,CSH,5.0 +CMT,1,1,75,0.5,CRD,3.5 +CMT,1,1,445,1.5,CSH,8.0 +CMT,1,2,968,2.6,CSH,13.0 +CMT,1,3,1810,3.6,CSH,19.5 +CMT,1,1,127,0.2,CSH,3.5 +CMT,1,2,549,0.9,CRD,7.5 +CMT,5,1,505,3.5,CRD,65.0 +CMT,1,1,285,0.9,CSH,5.5 +CMT,1,1,395,1.7,CRD,7.5 +CMT,1,1,296,0.7,CSH,5.5 +CMT,1,3,1573,4.7,CRD,20.0 +CMT,1,1,280,1.0,CRD,5.5 +CMT,1,1,1737,4.6,CSH,21.5 +VTS,1,6,780,1.53,CRD,9.5 +VTS,1,6,1260,2.52,CRD,15.0 +VTS,1,6,600,2.24,CRD,10.0 +VTS,1,6,1260,9.96,CRD,29.0 +VTS,2,6,1620,17.68,CRD,52.0 +VTS,1,6,1260,3.27,CRD,15.0 +VTS,1,6,780,4.17,CRD,14.0 +VTS,1,6,60,0.25,CSH,3.0 +VTS,1,6,720,3.62,CRD,12.5 +VTS,1,6,540,1.5,CRD,8.0 +CMT,1,1,270,1.0,CRD,6.0 +CMT,1,1,192,0.5,CSH,4.5 +CMT,1,1,164,0.5,CSH,4.0 +CMT,1,1,551,2.8,CRD,11.0 +CMT,1,1,269,0.5,CRD,5.0 +CMT,1,1,2335,3.4,CSH,23.5 +CMT,1,1,315,0.9,CRD,6.0 +CMT,1,1,918,4.4,CSH,15.5 +CMT,1,1,963,3.6,CRD,14.5 +CMT,1,1,1083,3.7,CRD,16.5 +CMT,1,1,343,1.5,CRD,7.0 +CMT,1,1,415,2.0,CRD,8.0 +CMT,1,1,666,2.8,CRD,11.0 +CMT,1,1,636,2.0,CRD,9.5 +CMT,1,2,1507,4.2,CSH,18.5 +CMT,1,2,1261,4.1,CRD,17.0 +VTS,1,6,840,1.33,CRD,10.0 +VTS,1,6,1320,6.79,CRD,21.5 +VTS,1,6,3240,8.61,CRD,40.0 +VTS,1,6,480,1.62,CRD,8.0 +VTS,1,6,180,0.53,CSH,4.5 +VTS,1,6,900,4.49,CRD,15.5 +VTS,1,6,660,2.79,CRD,11.0 +VTS,1,6,1200,5.48,CSH,19.5 +VTS,1,6,540,0.56,CRD,6.5 +VTS,1,6,660,1.61,CRD,9.0 +VTS,1,6,1320,1.7,CSH,14.5 +VTS,1,6,960,3.69,CSH,15.0 +VTS,1,6,240,0.65,CSH,5.0 +VTS,1,6,420,1.4,CRD,7.0 +VTS,1,6,180,1.01,CSH,5.0 +VTS,1,6,720,3.17,CRD,12.5 +VTS,1,6,2460,9.27,CRD,34.5 +CMT,1,1,671,4.8,CSH,16.0 +CMT,1,1,1833,6.9,CRD,26.0 +CMT,1,1,751,0.0,NOC,2.5 +CMT,1,1,356,1.1,CSH,6.0 +CMT,1,1,170,0.6,CRD,4.5 +CMT,1,1,714,3.2,CRD,12.5 +CMT,1,1,458,1.7,CRD,8.5 +CMT,1,1,441,1.8,CSH,8.0 +CMT,1,1,489,2.1,CRD,8.5 +VTS,1,6,420,1.37,CRD,6.5 +VTS,1,6,180,0.6,CSH,4.5 +VTS,1,6,660,2.14,CRD,10.0 +VTS,1,6,180,0.97,CRD,5.0 +VTS,1,6,360,0.85,CSH,6.0 +VTS,1,6,900,3.16,CSH,12.0 +VTS,1,6,840,3.73,CSH,14.0 +VTS,1,6,1080,8.9,CSH,26.0 +VTS,1,6,1740,8.8,CRD,30.0 +VTS,1,6,480,1.36,CSH,7.0 +VTS,1,6,480,1.86,CSH,8.5 +VTS,1,6,360,1.2,CSH,6.0 +VTS,1,6,1380,11.56,CRD,33.5 +VTS,1,6,2460,10.79,CRD,36.5 +VTS,1,6,660,2.09,CRD,9.5 +VTS,1,6,180,0.53,CSH,4.0 +VTS,1,6,360,1.23,CSH,6.5 +VTS,1,6,300,2.31,CSH,8.0 +VTS,1,6,780,2.22,CSH,10.5 +VTS,1,6,240,0.95,CRD,5.0 +VTS,1,6,1800,8.47,CRD,28.5 +VTS,1,6,300,1.15,CSH,6.0 +VTS,1,6,360,1.19,CRD,6.5 +VTS,1,6,1140,3.44,CRD,16.0 +VTS,1,6,240,0.79,CSH,5.0 +VTS,1,6,660,2.21,CSH,9.5 +CMT,1,1,343,1.3,CRD,6.5 +CMT,1,1,1456,2.6,CSH,16.0 +CMT,1,1,58,0.3,NOC,2.5 +CMT,1,1,588,1.9,CSH,9.0 +CMT,1,1,1346,3.4,CRD,17.0 +CMT,1,1,734,2.6,CRD,11.5 +CMT,1,1,377,1.6,CRD,7.0 +CMT,1,1,380,1.9,CSH,8.0 +CMT,1,1,1190,4.7,CRD,18.5 +CMT,1,1,129,0.3,CRD,3.5 +CMT,1,1,237,0.9,CSH,5.5 +CMT,1,1,811,2.1,CRD,10.5 +CMT,1,2,987,2.1,CSH,12.5 +CMT,1,2,818,1.7,CRD,10.5 +CMT,1,2,876,1.4,CRD,10.5 +CMT,1,2,969,2.2,CSH,12.5 +CMT,1,1,1287,8.8,CSH,26.5 +CMT,1,1,238,0.8,CSH,5.0 +CMT,1,1,195,0.6,CSH,4.5 +CMT,1,2,1430,3.1,CRD,16.5 +CMT,1,1,141,0.2,CSH,3.5 +CMT,1,1,507,3.9,CSH,12.5 +CMT,1,4,788,4.1,CSH,14.5 +CMT,1,2,1846,4.9,CRD,21.5 +CMT,1,1,826,3.4,CSH,13.0 +CMT,1,1,328,1.4,CSH,6.5 +CMT,1,2,1076,9.7,CSH,27.5 +CMT,1,1,1847,7.8,CSH,2.5 +CMT,1,1,764,1.6,NOC,10.0 +CMT,1,1,1143,3.2,CRD,14.5 +CMT,1,1,503,1.8,CSH,8.5 +CMT,1,1,844,2.3,CSH,11.5 +CMT,1,1,302,1.0,CRD,6.0 +CMT,1,1,517,2.0,CSH,9.0 +CMT,1,1,531,1.3,CRD,8.0 +CMT,1,1,285,0.4,CSH,5.0 +CMT,1,1,116,0.8,CRD,4.5 +CMT,1,1,785,3.0,CRD,12.0 +CMT,1,1,646,1.8,CSH,9.5 +CMT,1,1,610,1.9,CRD,9.5 +CMT,1,1,424,1.2,CSH,7.5 +CMT,1,3,222,1.4,CRD,6.0 +CMT,1,1,620,3.3,CRD,11.5 +CMT,1,1,530,1.5,CRD,7.5 +CMT,1,1,379,1.2,CRD,6.5 +CMT,1,1,1898,12.4,CRD,37.5 +CMT,1,2,1042,2.8,CSH,13.5 +CMT,1,2,424,1.9,CSH,8.0 +CMT,1,2,210,0.7,CRD,5.0 +CMT,1,1,697,2.3,CSH,10.5 +CMT,1,1,234,0.7,CRD,4.5 +CMT,1,1,599,2.5,CRD,10.5 +CMT,1,1,826,1.4,CRD,10.0 +CMT,1,3,597,1.6,CRD,9.0 +CMT,1,3,385,2.2,CSH,8.5 +CMT,1,2,95,0.3,CSH,3.5 +CMT,1,1,212,0.9,CSH,5.0 +CMT,1,1,632,2.0,CRD,9.5 +CMT,1,1,1414,6.1,CRD,22.0 +CMT,1,1,133,0.5,CSH,4.0 +CMT,1,1,723,3.4,CSH,12.5 +CMT,1,1,1137,7.3,CRD,24.0 +CMT,1,1,521,3.3,CSH,12.0 +CMT,1,2,337,0.5,CSH,5.5 +CMT,1,1,418,1.4,CRD,7.5 +CMT,1,1,272,0.8,CSH,5.0 +CMT,1,1,882,9.0,CSH,25.5 +CMT,1,1,1047,9.6,CSH,27.5 +CMT,1,2,538,1.0,CRD,7.5 +CMT,1,1,718,2.0,CRD,10.0 +CMT,1,1,450,1.5,CRD,7.5 +CMT,1,1,812,1.4,CRD,10.0 +CMT,1,1,414,1.2,CSH,7.0 +CMT,1,1,1763,4.7,CRD,21.0 +CMT,1,1,1030,3.3,CRD,14.5 +CMT,1,1,354,0.6,CSH,5.5 +CMT,1,1,463,1.1,CRD,7.0 +CMT,1,1,126,0.4,CSH,3.5 +CMT,1,1,128,0.3,CSH,4.0 +CMT,1,1,419,1.5,CSH,7.5 +CMT,1,1,4648,4.7,CSH,16.5 +CMT,1,1,304,1.0,CRD,6.0 +CMT,1,2,838,4.3,CRD,15.5 +CMT,1,1,97,0.7,CSH,4.0 +CMT,1,1,326,1.8,CSH,7.5 +CMT,1,1,946,8.7,CSH,25.5 +CMT,1,1,1066,5.2,CRD,19.0 +CMT,1,1,772,1.5,CRD,10.0 +CMT,1,1,229,0.7,CSH,4.5 +CMT,1,1,199,0.6,CRD,5.0 +CMT,1,1,510,1.9,CRD,8.5 +CMT,1,1,617,1.4,CSH,8.5 +CMT,1,1,651,2.4,CRD,10.5 +CMT,1,1,618,2.7,CRD,11.0 +CMT,1,1,2515,6.6,CRD,30.5 +CMT,1,2,761,5.6,CRD,18.5 +CMT,1,1,521,2.7,CSH,10.0 +CMT,1,2,386,0.9,CRD,6.5 +CMT,1,2,559,3.1,CRD,11.0 +CMT,1,2,1673,3.9,CRD,20.0 +CMT,1,2,1395,11.4,CRD,33.0 +CMT,1,1,357,0.8,CSH,6.0 +CMT,1,1,696,1.7,CSH,10.0 +CMT,1,1,817,3.1,CRD,12.5 +CMT,1,2,1058,2.9,CRD,14.0 +CMT,1,1,189,0.4,CSH,4.0 +CMT,1,1,1004,2.4,CRD,12.5 +CMT,1,2,409,0.7,CSH,6.0 +CMT,1,1,188,0.7,CSH,4.5 +CMT,1,1,183,1.1,CSH,5.5 +CMT,1,1,71,0.1,CSH,3.0 +CMT,1,2,94,0.3,CSH,3.5 +CMT,1,1,203,0.3,CRD,3.5 +CMT,1,1,735,3.1,CRD,12.0 +CMT,1,1,126,0.4,CSH,3.5 +CMT,1,1,359,1.8,CSH,7.5 +CMT,1,1,246,0.6,CSH,5.0 +CMT,1,1,468,1.4,CRD,7.0 +CMT,1,1,311,1.5,CRD,7.0 +CMT,1,1,170,0.5,CSH,4.0 +CMT,1,1,724,4.6,CRD,14.5 +CMT,1,1,759,1.3,CSH,9.5 +CMT,1,1,264,1.0,CRD,5.5 +CMT,1,1,574,3.5,CRD,12.0 +CMT,1,2,455,1.0,CSH,7.0 +CMT,2,1,1926,17.6,CSH,52.0 +CMT,1,2,155,0.8,CRD,4.5 +CMT,1,3,796,2.2,CSH,11.0 +CMT,1,4,208,0.9,CRD,5.0 +CMT,1,2,1214,2.9,CSH,15.0 +CMT,1,1,1687,5.6,CRD,21.5 +CMT,1,2,2281,15.6,CRD,47.0 +CMT,1,1,188,0.7,CRD,4.5 +CMT,1,1,492,2.0,CRD,8.5 +CMT,1,1,393,1.0,CSH,6.5 +CMT,1,1,218,0.6,CRD,5.0 +CMT,1,2,406,1.5,CSH,7.5 +CMT,1,2,549,1.8,CRD,9.0 +CMT,1,2,538,2.1,CRD,9.0 +CMT,1,2,137,0.7,CRD,4.0 +CMT,1,1,1140,4.3,CRD,16.5 +CMT,1,1,214,0.7,CRD,4.5 +CMT,1,1,607,1.5,CRD,8.5 +CMT,1,2,202,0.5,CRD,4.5 +CMT,1,3,506,1.4,CSH,7.5 +CMT,1,2,666,2.7,CRD,11.0 +CMT,1,1,994,2.7,CSH,13.0 +CMT,1,1,349,0.9,CRD,6.0 +CMT,1,1,614,1.6,CRD,9.0 +CMT,1,1,1692,10.0,CRD,31.0 +CMT,1,2,729,6.2,CSH,19.0 +CMT,1,1,482,1.7,CSH,8.5 +CMT,1,1,279,0.9,CRD,5.5 +CMT,1,1,569,1.2,CSH,8.0 +CMT,1,1,91,0.4,CSH,3.5 +CMT,1,1,381,1.0,CSH,6.5 +VTS,1,6,420,1.41,CRD,6.5 +VTS,1,6,1380,5.43,CRD,19.5 +VTS,1,6,240,0.47,CSH,4.5 +VTS,1,6,780,1.65,CRD,9.5 +VTS,1,6,540,2.03,CRD,9.5 +VTS,1,6,540,2.5,CRD,10.0 +VTS,1,6,300,2.24,CRD,8.0 +VTS,1,6,540,2.22,CRD,9.0 +VTS,1,6,300,0.81,CSH,5.5 +VTS,1,6,300,1.38,CRD,6.0 +VTS,1,1,780,0.6,CRD,9.0 +VTS,1,6,540,3.57,CRD,12.5 +VTS,1,6,300,1.12,CSH,6.0 +VTS,1,6,720,3.32,CRD,12.0 +VTS,1,6,300,1.37,CSH,6.5 +VTS,1,1,120,0.56,CRD,3.5 +VTS,1,6,540,1.07,CRD,7.0 +VTS,1,6,540,2.79,CRD,10.0 +VTS,1,6,180,0.65,CSH,4.5 +VTS,1,6,1020,2.54,CRD,12.5 +VTS,1,6,1020,4.02,CRD,15.0 +VTS,1,6,420,0.95,CRD,6.5 +VTS,1,6,540,2.03,CSH,8.5 +VTS,1,6,1200,5.78,CRD,21.0 +VTS,1,6,240,1.68,CRD,7.0 +VTS,1,6,1740,4.03,CRD,19.0 +VTS,1,1,1320,1.91,CRD,14.5 +VTS,1,6,480,1.29,CRD,7.0 +CMT,1,1,952,1.7,CSH,11.0 +CMT,1,1,738,2.1,CSH,10.5 +CMT,1,1,433,1.1,CSH,7.0 \ No newline at end of file diff --git a/src/Samples/Data/taxi-fare-train.csv b/src/Samples/Data/taxi-fare-train.csv new file mode 100644 index 0000000000..618ac7a74f --- /dev/null +++ b/src/Samples/Data/taxi-fare-train.csv @@ -0,0 +1,100001 @@ +vendor_id,rate_code,passenger_count,trip_time_in_secs,trip_distance,payment_type,fare_amount +CMT,1,1,1271,3.8,CRD,17.5 +CMT,1,1,474,1.5,CRD,8 +CMT,1,1,637,1.4,CRD,8.5 +CMT,1,1,181,0.6,CSH,4.5 +CMT,1,1,661,1.1,CRD,8.5 +CMT,1,1,935,9.6,CSH,27.5 +CMT,1,1,869,2.3,CRD,11.5 +CMT,1,1,454,1.4,CRD,7.5 +CMT,1,1,366,1.5,CSH,7.5 +CMT,1,1,252,0.6,CSH,5 +CMT,1,1,314,1.2,CRD,6 +CMT,1,1,480,0.7,CRD,7 +CMT,1,1,386,1.3,CRD,7 +CMT,1,2,351,0.8,CSH,5.5 +CMT,1,1,407,1.1,CSH,7 +CMT,1,2,970,5.6,CSH,19 +CMT,1,3,371,0.6,CRD,6 +CMT,1,2,367,1.3,CSH,6.5 +CMT,1,1,621,1.7,CSH,9 +CMT,1,1,243,0.6,CSH,4.5 +CMT,2,1,3,0,NOC,52 +CMT,1,3,485,0.8,CSH,6.5 +CMT,1,1,88,0.4,CSH,3.5 +CMT,1,2,160,0.6,CSH,4.5 +CMT,1,2,596,1.4,CSH,8.5 +CMT,1,1,270,0.8,CSH,5.5 +CMT,1,1,1728,9.8,CRD,32 +CMT,1,1,493,1.4,CSH,8.5 +CMT,1,1,655,1.4,CSH,8.5 +CMT,1,1,571,2,CRD,9 +CMT,1,2,144,0.5,CRD,4 +CMT,1,1,453,1.3,CSH,7 +CMT,1,2,1074,3.8,CSH,16 +CMT,1,1,470,1.4,CRD,7.5 +CMT,1,1,821,2.5,CSH,11.5 +CMT,1,2,539,1.4,CSH,8 +CMT,1,1,397,0.4,CRD,5.5 +CMT,1,1,223,0.8,CSH,5 +CMT,1,1,457,1,CSH,7 +CMT,1,1,1527,4.7,CSH,19.5 +CMT,2,1,1785,16.4,CSH,52 +CMT,1,2,612,2.1,CSH,10 +CMT,1,2,467,1.3,CSH,7 +CMT,1,2,262,0.6,CSH,5 +CMT,1,1,1603,6.5,CSH,24.5 +CMT,1,1,659,1.7,CSH,9.5 +CMT,1,4,1069,2.4,CSH,12.5 +CMT,1,1,139,0.4,CSH,4 +CMT,1,1,411,1.1,CSH,7 +CMT,1,1,340,0.5,CSH,5.5 +CMT,1,1,1439,3.6,CSH,17.5 +CMT,1,2,425,1.1,CSH,7 +CMT,1,1,2561,9.3,CRD,33.5 +CMT,1,1,308,0.9,CRD,5.5 +CMT,1,2,385,1.3,CRD,7 +CMT,1,1,1267,6.9,CRD,23 +CMT,1,1,829,2.6,CRD,11.5 +CMT,1,1,319,1.1,CRD,6.5 +CMT,1,1,390,0.9,CRD,6.5 +CMT,1,3,820,2.6,CRD,11.5 +CMT,1,1,702,3.7,CSH,13 +CMT,1,1,771,0.9,CSH,9 +CMT,1,1,850,2,CRD,10.5 +CMT,1,1,846,6.3,CSH,18.5 +CMT,1,1,697,2.4,CRD,11 +CMT,1,1,244,1.1,CRD,5.5 +CMT,1,1,299,1.4,CRD,6.5 +CMT,1,2,338,1.6,CRD,7 +CMT,1,1,177,0.8,CRD,4.5 +CMT,1,1,356,1.5,CRD,7.5 +CMT,1,1,778,3.4,CRD,13 +CMT,1,1,514,1.6,CRD,8 +CMT,1,1,372,1.1,CRD,6.5 +CMT,2,2,2104,18.8,CRD,52 +CMT,1,1,489,1.6,CSH,8.5 +CMT,1,1,1000,1.8,CSH,12 +CMT,1,1,840,1,CRD,10 +CMT,1,1,123,0.7,CSH,4 +CMT,1,2,1070,5.9,CRD,20 +CMT,1,1,427,1.2,CSH,7 +CMT,1,1,1120,3.7,CRD,16 +CMT,1,1,241,0.4,CSH,4.5 +CMT,1,1,677,1.8,CRD,10 +CMT,1,1,1151,4.5,CRD,17.5 +CMT,1,1,176,0.6,CRD,4.5 +CMT,1,1,133,0.8,CRD,4.5 +CMT,1,2,302,0.8,CSH,5.5 +CMT,1,2,284,0.6,CRD,5 +CMT,1,1,543,1.3,CRD,8 +CMT,1,1,668,4.2,CRD,15 +CMT,1,1,402,0.8,CRD,6 +CMT,1,2,887,3.3,CSH,13 +CMT,1,1,1906,5.2,CSH,23.5 +CMT,1,1,357,1.6,CRD,7 +CMT,1,1,143,0.9,CSH,4.5 +CMT,1,1,135,0.4,CRD,4 +CMT,1,1,332,1.3,CRD,6.5 +CMT,1,1,460,1.7,CRD,8 +CMT,1,1,421,1,CSH,6.5 +CMT,1,2,482,1.5,CSH,7.5 +CMT,1,1,765,1.9,CRD,10.5 +CMT,1,1,543,0.8,CSH,7 +CMT,1,1,879,2.1,CRD,11.5 +CMT,1,2,384,0.6,CSH,5.5 +CMT,1,1,633,1.2,CSH,8.5 +CMT,1,1,348,1,CRD,6 +CMT,1,1,736,7.2,CSH,21 +CMT,1,3,257,1,CSH,5.5 +CMT,1,2,1600,3.6,CSH,19 +CMT,1,1,74,0.4,CSH,3.5 +CMT,1,1,275,0.9,CRD,5.5 +CMT,1,1,1531,10.8,CRD,31 +CMT,1,1,902,2.4,CSH,12 +CMT,1,1,813,2.4,CRD,11 +CMT,1,1,1357,3.8,CRD,17 +CMT,1,2,433,1.2,CSH,7 +CMT,1,1,194,0.9,CRD,5 +CMT,1,2,453,2.1,CSH,8.5 +CMT,1,1,979,2,CSH,12 +CMT,1,2,233,0.7,CRD,5 +CMT,1,1,715,2.8,CRD,11.5 +CMT,1,1,433,1.3,CSH,7 +CMT,1,1,934,1.9,CRD,11.5 +CMT,1,1,1047,3.2,CRD,15 +CMT,1,1,186,0.3,CSH,4 +CMT,1,2,1086,2,CRD,12.5 +CMT,1,2,910,4,CRD,15.5 +CMT,1,1,1220,9.2,CSH,28.5 +CMT,1,1,462,0.6,CSH,6.5 +CMT,1,1,1931,10.2,CRD,31.5 +CMT,1,1,731,3.6,CRD,13.5 +CMT,1,2,381,0.8,CRD,6 +CMT,1,1,542,1.4,CSH,8 +CMT,1,1,254,0.9,CRD,5.5 +CMT,1,1,408,1.1,CSH,6.5 +CMT,1,4,569,1,CSH,7.5 +CMT,1,2,325,0.8,CRD,5.5 +CMT,1,3,629,1.8,CRD,9 +CMT,1,1,1603,5,CSH,20.5 +CMT,1,1,572,3,CRD,12 +CMT,1,1,485,1.8,CRD,8 +CMT,1,1,415,1.5,CSH,7.5 +CMT,1,1,1445,2.5,CRD,16 +CMT,1,1,721,1.3,CSH,9.5 +CMT,1,1,1149,3.6,CRD,15 +CMT,1,2,386,1.3,CSH,7 +CMT,1,1,65,0.3,CSH,3.5 +CMT,1,2,525,1.5,CSH,8 +CMT,1,2,355,1.3,CRD,7 +CMT,1,1,775,3.2,CRD,12.5 +CMT,1,1,1029,2.8,CSH,13.5 +CMT,1,1,972,3.5,CRD,14 +CMT,1,1,214,0.6,CSH,4.5 +CMT,1,1,552,1.1,CRD,7.5 +CMT,1,1,235,0.7,CSH,5 +CMT,1,1,341,0.8,CRD,6 +CMT,1,1,574,1.8,CRD,9 +CMT,1,1,549,1.5,CRD,8.5 +CMT,1,1,205,0.3,CSH,4 +CMT,1,1,1605,5.7,CSH,22 +CMT,1,2,210,0.9,CSH,5 +CMT,1,1,696,1.7,CSH,9.5 +CMT,1,1,397,1.3,CSH,7 +CMT,1,1,224,0.6,CSH,4.5 +CMT,1,1,632,1.1,CRD,8.5 +CMT,1,2,529,1,CSH,7.5 +CMT,1,1,208,0.8,CRD,5 +CMT,1,1,177,0.5,CSH,4 +CMT,1,1,377,0.4,CSH,5.5 +CMT,1,2,859,1.5,CRD,10.5 +CMT,1,2,361,1.3,CRD,7 +CMT,1,2,320,2.1,CSH,8 +CMT,1,1,162,0.6,CSH,4 +CMT,1,1,386,2.2,CRD,8.5 +CMT,1,1,1461,1.4,CRD,14.5 +CMT,1,1,289,0.5,CRD,5 +CMT,1,1,95,0.3,CSH,3 +CMT,1,1,2129,8.7,CRD,29.5 +CMT,1,1,893,2.3,CSH,11.5 +CMT,1,1,876,1,CRD,10 +CMT,1,2,371,0.8,CRD,6 +CMT,1,2,430,1.1,CSH,7 +CMT,1,1,491,2.4,CRD,10 +CMT,1,1,981,4.3,CRD,16 +CMT,1,2,591,2,CSH,9.5 +CMT,1,1,377,1.2,CSH,6.5 +CMT,1,1,554,1.1,CRD,7.5 +CMT,1,1,865,2.4,CRD,11.5 +CMT,1,1,374,0.5,CRD,5 +CMT,1,2,945,1.6,CRD,11 +CMT,1,2,615,1.6,CSH,9 +CMT,1,3,758,2.3,CRD,11 +CMT,1,1,668,2.7,CRD,11 +CMT,1,1,128,0.9,CRD,4.5 +CMT,1,1,429,1,CSH,6.5 +CMT,1,1,1023,4.5,CSH,16.5 +CMT,1,1,1789,0,NOC,2.5 +CMT,1,1,214,0.9,CSH,5.5 +CMT,1,3,370,1.2,CSH,6.5 +CMT,1,1,1055,3.8,CRD,15 +CMT,1,2,593,1.9,CSH,9 +CMT,1,2,681,2,CSH,10.5 +CMT,1,1,665,2.4,CRD,10 +CMT,2,2,2638,17.7,CSH,52 +CMT,1,1,562,3.2,CRD,11 +CMT,1,1,1005,1.6,CRD,11.5 +CMT,1,1,373,0.9,CRD,6 +CMT,1,1,587,1.6,CRD,8.5 +CMT,1,1,682,1.5,CRD,9 +CMT,1,1,380,1.2,CRD,7 +CMT,1,1,248,0.6,CSH,4.5 +CMT,1,1,878,3.4,CSH,13 +CMT,1,1,271,0.5,CRD,5 +CMT,1,1,307,0.7,CSH,5.5 +CMT,1,1,303,0.9,CRD,5.5 +CMT,1,1,397,1.4,CRD,7 +CMT,1,1,1393,3.6,CRD,17 +CMT,1,2,671,1.1,CSH,8.5 +CMT,3,1,2528,18.1,CSH,71 +CMT,1,1,249,0.8,CSH,5 +CMT,1,1,378,1.2,CSH,6.5 +CMT,1,1,666,1.6,CRD,9.5 +CMT,1,2,553,1.5,CRD,8.5 +CMT,1,1,966,1.8,CRD,11.5 +CMT,1,1,850,3.6,CRD,13.5 +CMT,1,1,369,1.1,CRD,6.5 +CMT,1,2,1775,10.4,CRD,34 +CMT,1,2,173,0.6,CSH,4 +CMT,1,1,539,1.7,CRD,8.5 +CMT,1,2,483,1.5,CRD,8 +CMT,1,1,720,1.5,CRD,9.5 +CMT,1,2,674,1.1,CSH,9 +CMT,1,1,208,0.8,CRD,5 +CMT,1,2,263,2.2,CSH,8 +CMT,1,1,417,1.5,CRD,7.5 +CMT,2,1,1218,17.3,CRD,52 +CMT,1,1,1315,6.1,CSH,22 +CMT,1,1,448,1.9,CRD,8.5 +CMT,1,1,497,0.9,CSH,7 +CMT,1,1,1151,3.8,CSH,15.5 +CMT,1,1,815,1.6,CSH,10 +CMT,1,1,599,1.6,CSH,8.5 +CMT,1,1,516,2.1,CSH,9 +CMT,1,1,1273,4.3,CRD,17 +CMT,1,1,332,0.5,CRD,5.5 +CMT,1,1,1524,5.2,CRD,20.5 +CMT,1,1,670,1.2,CRD,8.5 +CMT,1,1,816,1.4,CSH,10 +CMT,1,3,822,1.1,CRD,10 +CMT,1,1,180,0.3,CSH,4 +CMT,1,2,462,1.5,CRD,7.5 +CMT,1,1,65,0.2,CRD,3 +CMT,1,1,1338,5.5,CRD,20.5 +CMT,1,1,621,1.2,CRD,8.5 +CMT,1,1,387,1,CSH,6.5 +CMT,1,1,1029,3.1,CSH,14.5 +CMT,1,3,537,1.5,CRD,8 +CMT,1,1,764,2.3,CRD,11 +CMT,1,2,510,1.3,CSH,7.5 +CMT,1,2,805,2.2,CRD,11 +CMT,1,1,1006,2,CSH,12 +CMT,1,1,403,1.5,CSH,7.5 +CMT,1,1,890,3.2,CRD,13 +CMT,1,1,499,0.7,CRD,6.5 +CMT,1,2,741,0.8,CSH,9 +CMT,1,1,263,0.6,CSH,5 +CMT,1,1,731,2,CRD,10.5 +CMT,1,1,879,2.1,CRD,11.5 +CMT,1,1,396,1.1,CRD,6.5 +CMT,1,1,361,1.3,CSH,7 +CMT,1,1,289,1.4,CSH,6.5 +CMT,1,1,701,3.2,CRD,12 +CMT,3,2,1369,16.6,CSH,62 +CMT,1,1,272,0.7,CRD,5 +CMT,1,1,886,2.3,CRD,11.5 +CMT,1,1,1033,4.2,CSH,16 +CMT,1,1,345,1.5,CRD,6.5 +CMT,1,1,893,2.7,CSH,12 +CMT,1,1,876,1.6,CSH,11 +CMT,1,1,581,0.8,CRD,7.5 +CMT,1,2,299,0.7,CSH,5 +CMT,1,1,655,1.4,CSH,8.5 +CMT,1,1,883,1.2,CSH,10.5 +CMT,1,1,363,0.8,CRD,6 +CMT,1,1,363,1,CRD,6 +CMT,1,1,724,1.8,CSH,9.5 +CMT,1,1,999,2.4,CRD,13 +CMT,1,1,90,0.4,CSH,3.5 +CMT,1,1,813,2.4,CRD,11.5 +CMT,1,2,934,2.5,CSH,12.5 +CMT,1,1,1006,2.8,CRD,13 +CMT,1,1,368,0.8,CSH,6 +CMT,1,1,1431,3.2,CRD,17 +CMT,1,1,691,1.2,CSH,9 +CMT,2,1,3633,18.7,CRD,52 +CMT,1,1,867,4,CSH,14.5 +CMT,1,2,446,0.8,CRD,6.5 +CMT,1,2,304,1.1,CSH,6 +CMT,1,1,217,0.8,CRD,5 +CMT,1,2,1535,9.2,CRD,29.5 +CMT,1,1,107,0.5,CSH,3.5 +CMT,1,1,1102,5.2,CSH,19.5 +CMT,1,1,395,0.5,CRD,5.5 +CMT,1,1,229,0.7,CRD,5 +CMT,1,1,1101,2.7,CRD,13.5 +CMT,1,2,759,2.5,CSH,11 +CMT,1,1,250,0.6,CSH,5 +CMT,1,3,599,1.6,CSH,8.5 +CMT,1,1,523,1.7,CRD,8.5 +CMT,1,1,596,3,CSH,11 +CMT,1,1,594,2.5,CRD,10 +CMT,1,1,397,1,CSH,6.5 +CMT,1,1,443,1,CRD,6.5 +CMT,1,1,1164,3.8,CSH,16.5 +CMT,1,1,511,1.4,CSH,8 +CMT,1,2,638,2,CSH,10 +CMT,1,2,1093,2.7,CRD,13.5 +CMT,1,1,1504,5.3,CRD,20 +CMT,1,2,1309,3.2,CSH,15.5 +CMT,1,1,183,0.7,CSH,4.5 +CMT,1,1,749,2.1,CRD,10.5 +CMT,1,1,661,1,CRD,8.5 +CMT,1,1,537,1.5,CRD,8 +CMT,1,1,84,0.3,CSH,3 +CMT,1,2,688,1.1,CRD,8.5 +CMT,1,1,1054,3.5,CSH,14.5 +CMT,1,2,549,1.7,CSH,8.5 +CMT,1,1,193,0.5,CSH,4.5 +CMT,1,1,689,1.5,CRD,9 +CMT,1,1,369,0.7,CSH,5.5 +CMT,1,1,495,1.3,CSH,7.5 +CMT,1,1,581,1.1,CRD,8 +CMT,1,1,329,1.3,CRD,6.5 +CMT,1,1,147,0.5,CSH,4 +CMT,1,3,686,1.5,CRD,9.5 +CMT,1,1,493,2,CRD,9 +CMT,1,1,1018,3.8,CRD,15.5 +CMT,1,1,918,5.8,CRD,19.5 +CMT,1,1,1667,2.7,CRD,18 +CMT,1,1,396,0.5,CRD,6 +CMT,1,1,801,4,CRD,14 +CMT,1,3,362,1,CSH,6 +CMT,1,1,733,1.5,CSH,9.5 +CMT,1,1,153,0.7,CSH,4 +CMT,1,2,188,0.9,CRD,5 +CMT,1,1,167,0.3,CSH,4 +CMT,1,2,198,1.2,CSH,5.5 +CMT,1,2,137,0.3,CSH,3.5 +CMT,1,1,443,0.9,CSH,6.5 +CMT,2,1,2962,17,CRD,52 +CMT,1,2,874,6.6,CRD,20.5 +CMT,1,1,1147,4.4,CSH,17 +CMT,1,2,577,1.5,CSH,8 +CMT,1,1,566,0.8,CSH,7.5 +CMT,1,1,648,0.8,CRD,8 +CMT,1,1,1016,2.7,CSH,13 +CMT,1,4,502,1.2,CSH,7 +CMT,1,2,822,1.6,CSH,10 +CMT,1,1,886,7.9,CSH,23.5 +CMT,1,1,196,0.7,CSH,4.5 +CMT,1,2,476,1.8,CRD,8.5 +CMT,1,1,971,3.2,CRD,14 +CMT,1,1,241,0.5,CSH,4.5 +CMT,1,4,605,1.2,CRD,8.5 +CMT,1,2,1034,3.2,CRD,13.5 +CMT,1,1,794,1.5,CRD,9.5 +CMT,1,2,198,0.5,CSH,4 +CMT,1,1,959,1.4,CSH,11 +CMT,1,1,331,1,CSH,5.5 +CMT,1,2,374,1.2,CSH,6.5 +CMT,1,1,390,1.1,CRD,6.5 +CMT,1,1,333,0.6,CSH,5.5 +CMT,1,1,443,1.2,CSH,7 +CMT,1,1,991,2.4,CSH,12.5 +CMT,1,1,1263,8.6,CSH,25.5 +CMT,1,1,598,2,CSH,9 +CMT,1,1,313,1,CRD,6 +CMT,1,2,285,0.9,CSH,5.5 +CMT,1,1,487,0.9,CSH,7 +CMT,1,3,464,1.2,CSH,7 +CMT,1,2,340,1.4,CSH,6.5 +CMT,1,2,457,1.9,CSH,8.5 +CMT,1,2,612,3.2,CRD,11.5 +CMT,1,2,155,0.7,CSH,4.5 +CMT,1,1,869,3.1,CRD,13 +CMT,1,2,1117,2.2,CSH,13.5 +CMT,1,1,234,0.8,CSH,5.5 +CMT,1,1,471,2,CRD,8.5 +CMT,1,1,483,1.2,CRD,7.5 +CMT,1,1,570,1.1,CSH,7.5 +CMT,1,1,826,2.6,CRD,12 +CMT,1,1,670,0.5,CSH,6.5 +CMT,1,1,852,1.9,CRD,11 +CMT,1,1,2,0,NOC,2.5 +CMT,1,2,646,1.6,CRD,9 +CMT,1,1,180,0.9,CSH,5 +CMT,1,1,655,2.6,CRD,11 +CMT,1,2,404,1.3,CSH,7 +CMT,1,1,264,0.5,CRD,5 +CMT,1,1,1492,3.7,CRD,18 +CMT,1,2,261,0.7,CSH,5 +CMT,1,2,343,1.2,CSH,6 +CMT,1,1,812,2,CRD,10.5 +CMT,1,1,271,0.9,CSH,5.5 +CMT,1,1,680,2,CSH,10 +CMT,1,1,1645,1.7,CRD,17 +CMT,1,1,497,1.4,CSH,8 +CMT,1,1,169,0.8,CSH,4.5 +CMT,1,1,689,1.7,CSH,9.5 +CMT,1,1,828,2.1,CRD,11 +CMT,1,1,1788,10.3,CSH,31.5 +CMT,1,1,274,1.3,CSH,6.5 +CMT,1,1,553,1.2,CRD,8 +CMT,1,1,469,0.9,CRD,7 +CMT,1,1,385,1.4,CRD,7.5 +CMT,1,1,745,2.1,CSH,11 +CMT,1,1,825,2.1,CRD,11 +CMT,1,1,1815,7.2,CRD,27 +CMT,1,2,524,1.5,CSH,8 +CMT,1,2,1037,2.2,CRD,12.5 +CMT,1,1,358,1.4,CSH,7 +CMT,1,1,837,2,CSH,11.5 +CMT,1,1,490,0.9,CSH,7 +CMT,1,1,479,0.9,CSH,7 +CMT,1,1,863,2.4,CRD,11.5 +CMT,1,1,117,0.1,CSH,3.5 +CMT,1,1,863,5.7,CRD,18.5 +CMT,1,1,294,1,CRD,6 +CMT,1,1,505,1.6,CSH,8 +CMT,1,1,282,0.7,CRD,5 +CMT,1,1,494,1.2,CSH,7.5 +CMT,1,3,453,1.7,CSH,8 +CMT,1,1,992,2.4,CRD,12.5 +CMT,1,1,1124,2.4,CRD,13.5 +CMT,1,2,598,2.1,CSH,10 +CMT,1,1,375,0.9,CRD,6.5 +CMT,1,1,740,1.1,CSH,9 +CMT,1,1,400,0.6,CRD,6 +CMT,1,1,321,1.1,CRD,6 +CMT,1,1,95,0.6,CSH,4 +CMT,1,1,513,1.5,CSH,8 +CMT,1,1,477,1.4,CSH,7.5 +CMT,1,1,725,1.3,CSH,9 +CMT,1,1,296,0.6,CRD,5 +CMT,1,1,542,0.8,CRD,7 +CMT,1,2,392,1.3,CRD,7 +CMT,1,2,451,1,CRD,7 +CMT,1,2,116,0.4,CSH,4 +CMT,1,1,122,0.6,CSH,4 +CMT,1,1,233,1.1,CSH,5.5 +CMT,1,1,1231,6.5,CSH,22 +CMT,1,1,594,1.7,CSH,8.5 +CMT,1,1,827,2.4,CRD,11.5 +CMT,1,2,461,1.2,CSH,7 +CMT,1,2,883,1.5,CRD,10 +CMT,1,1,290,0.8,CRD,5.5 +CMT,1,1,695,2.3,CRD,10.5 +CMT,1,1,643,0.9,CSH,8 +CMT,1,1,1015,2.7,CRD,13 +CMT,1,2,656,1.7,CRD,9 +CMT,1,2,734,1.2,CRD,9 +CMT,1,1,1187,3.9,CRD,15.5 +CMT,1,2,332,1.2,CRD,6.5 +CMT,1,2,435,1.3,CRD,7 +CMT,1,2,202,0.3,CSH,4 +CMT,1,1,302,1.2,CSH,6 +CMT,1,1,252,1.2,CSH,6 +CMT,1,2,597,2,CSH,9 +CMT,1,1,566,1.9,CSH,9 +CMT,1,1,553,2.2,CRD,9.5 +CMT,1,1,350,1.2,CSH,6.5 +CMT,1,1,955,2.5,CRD,12.5 +CMT,1,1,961,2,CSH,11.5 +CMT,1,1,592,1.3,CRD,8 +CMT,1,1,301,0.7,CSH,5.5 +CMT,1,1,376,2.2,CSH,8.5 +CMT,1,1,670,1.6,CRD,9.5 +CMT,1,1,220,0.9,CSH,5 +CMT,1,1,273,0.7,CRD,5 +CMT,1,2,651,0.9,CSH,8 +CMT,1,2,397,1.1,CSH,7 +CMT,1,1,397,1.2,CSH,7 +CMT,1,1,564,2,CRD,9.5 +CMT,1,1,515,0.9,CSH,7 +CMT,1,1,535,1.7,CRD,8.5 +CMT,1,2,491,1.2,CSH,7.5 +CMT,1,2,1448,4,CSH,17.5 +CMT,1,1,838,2.8,CRD,12 +CMT,1,1,156,0.4,CSH,4 +CMT,1,1,368,2.1,CRD,8 +CMT,1,1,610,1.1,CRD,8 +CMT,1,1,742,2.1,CSH,10.5 +CMT,1,1,352,1.7,CSH,7.5 +CMT,1,1,1090,4.4,CRD,16 +CMT,1,1,530,1.8,CRD,8.5 +CMT,1,2,621,1.6,CSH,8.5 +CMT,1,1,1249,6.5,CSH,23 +CMT,1,1,349,0.7,CRD,5.5 +CMT,1,1,592,2.3,CSH,10 +CMT,1,1,511,1.4,CSH,8 +CMT,1,1,656,1.5,CRD,9 +CMT,1,1,186,0.3,CRD,4 +CMT,1,1,472,1.6,CSH,8 +CMT,1,2,461,1.1,CRD,7 +CMT,1,2,547,1.8,CSH,8.5 +CMT,1,1,553,2,CSH,9 +CMT,1,1,1467,4.8,CRD,19.5 +CMT,1,1,564,1.8,CSH,9 +CMT,1,1,720,1.3,CSH,9.5 +CMT,1,1,673,1.4,CRD,9 +CMT,2,1,3847,22.9,CRD,52 +CMT,1,2,458,1.3,CSH,7 +CMT,1,1,375,1.6,CRD,7.5 +CMT,1,1,960,1.7,CRD,11.5 +CMT,1,2,608,1.5,CRD,8.5 +CMT,1,1,368,0.9,CSH,6 +CMT,1,1,188,0.7,CSH,4.5 +CMT,1,1,560,1.3,CSH,8 +CMT,1,1,463,1.5,CSH,8 +CMT,1,1,931,8.3,CRD,24 +CMT,1,1,487,1.2,CRD,7.5 +CMT,1,1,439,0.6,CSH,6 +CMT,1,1,724,1.4,CSH,9 +CMT,1,1,321,1,CRD,6 +CMT,1,1,587,0.8,CSH,7.5 +CMT,1,1,420,1.5,CRD,7 +CMT,1,1,1108,4.6,CSH,18 +CMT,1,1,1740,9.8,CRD,32.5 +CMT,1,1,113,0.4,CSH,3.5 +CMT,1,2,618,1.3,CRD,8.5 +CMT,1,1,331,1.2,CSH,6.5 +CMT,1,1,489,1,CRD,7 +CMT,1,1,99,0.4,CSH,3.5 +CMT,1,1,419,1.1,CSH,7 +CMT,1,2,367,1.5,CSH,7 +CMT,1,1,686,2.5,CRD,10.5 +CMT,1,1,234,0.5,CSH,4.5 +CMT,1,1,985,5.8,CRD,19.5 +CMT,1,1,418,1.4,CRD,7.5 +CMT,1,1,775,1.4,CSH,9.5 +CMT,1,1,1161,1.4,CRD,12.5 +CMT,1,2,491,1.1,CSH,7.5 +CMT,1,1,340,0.9,CSH,6 +CMT,1,1,315,1,CRD,6 +CMT,1,1,756,2.4,CRD,11 +CMT,1,2,353,1.3,CRD,6.5 +CMT,1,3,223,0.3,CSH,4.5 +CMT,1,1,320,1.1,CSH,6.5 +CMT,1,1,437,1,CRD,6.5 +CMT,1,1,609,1.5,CRD,8.5 +CMT,1,1,726,1.8,CRD,9.5 +CMT,1,1,758,1.8,CRD,10 +CMT,1,1,586,1,CSH,8 +CMT,1,1,608,2.1,CRD,9.5 +CMT,1,1,728,3.5,CRD,12.5 +CMT,1,1,592,2.6,CSH,10.5 +CMT,1,1,965,2.4,CRD,12.5 +CMT,1,4,794,2.3,CSH,10.5 +CMT,1,4,1034,2.7,CSH,13 +CMT,1,2,1086,2.8,CSH,13.5 +CMT,1,2,1277,3.3,CSH,15.5 +CMT,1,1,261,1.1,CRD,5.5 +CMT,1,2,544,1.1,CSH,7.5 +CMT,1,1,413,1.5,CSH,7 +CMT,1,1,628,1.8,CRD,9.5 +CMT,1,1,55,0.2,CSH,3 +CMT,1,1,496,1.7,CSH,8.5 +CMT,1,2,1279,4.3,CSH,17.5 +CMT,1,2,516,1.6,CSH,8 +CMT,1,2,339,0.8,CRD,5.5 +CMT,1,2,609,3.4,CRD,12 +CMT,1,1,922,2.9,CRD,12.5 +CMT,1,1,131,0.6,CRD,4 +CMT,1,1,681,1.4,CRD,9.5 +CMT,1,1,478,0.7,CSH,7 +CMT,1,1,959,2.9,CRD,13 +CMT,1,1,169,1.1,CSH,5 +CMT,1,1,845,1.9,CRD,10 +CMT,1,1,197,0.7,CRD,4 +CMT,1,1,187,1.1,CRD,5 +CMT,1,1,988,1.8,CRD,12 +CMT,1,1,831,1.3,CRD,10 +CMT,1,2,732,1.7,CSH,9.5 +CMT,1,1,145,0.9,CSH,4.5 +CMT,1,1,457,1.3,CSH,7 +CMT,1,2,89,0.6,CSH,4 +CMT,1,1,731,2.2,CRD,10.5 +CMT,1,1,413,2.6,CRD,9.5 +CMT,1,3,143,0.5,CSH,4 +CMT,1,3,1128,2.6,CSH,14 +CMT,1,1,529,1.3,CSH,7.5 +CMT,1,1,134,0.6,CSH,4 +CMT,1,1,1024,1,CRD,11.5 +CMT,1,2,219,0.6,CSH,4.5 +CMT,1,1,1141,7.5,CRD,24 +CMT,1,1,1512,9.3,CRD,29.5 +CMT,1,2,738,1.5,CRD,9.5 +CMT,1,1,1396,3.9,CSH,17.5 +CMT,1,1,1102,2.3,CRD,13.5 +CMT,1,4,649,2.8,CSH,10.5 +CMT,1,1,349,0.9,CSH,6 +CMT,1,1,673,0.8,CSH,8 +CMT,1,1,911,2.8,CSH,13 +CMT,1,1,310,1.1,CRD,6 +CMT,1,1,533,1.1,CRD,7.5 +CMT,1,1,232,0.7,CSH,5 +CMT,1,1,89,0.5,CRD,3.5 +CMT,1,2,707,1.9,CSH,10 +CMT,1,3,354,0.7,CSH,6 +CMT,1,2,477,0.8,CSH,6.5 +CMT,1,3,745,2.9,CSH,11.5 +CMT,1,2,1799,11.1,CSH,35 +CMT,1,1,267,0.9,CSH,5.5 +CMT,1,2,836,2.3,CSH,11.5 +CMT,1,2,871,2.5,CRD,12 +CMT,1,2,545,1.4,CRD,8 +CMT,1,1,1430,3.8,CRD,17.5 +CMT,1,1,230,0.6,CSH,5 +CMT,1,1,346,1.1,CSH,6.5 +CMT,1,1,426,0.9,CRD,6.5 +CMT,1,1,257,0.7,CSH,5 +CMT,1,1,1167,1.6,CSH,13 +CMT,1,1,681,2.7,CSH,11 +CMT,1,1,1412,10.6,CRD,32.5 +CMT,1,1,689,3.1,CRD,12 +CMT,1,1,644,2.6,CSH,11 +CMT,1,1,526,1.1,CSH,7.5 +CMT,1,1,550,1.1,CRD,8 +CMT,1,2,782,2.8,CSH,11.5 +CMT,1,1,219,1.3,CSH,6 +CMT,1,1,633,2.6,CSH,11 +CMT,1,1,1282,2.5,CRD,15 +CMT,1,2,1020,2.7,CRD,13 +CMT,1,1,541,2.2,CSH,9.5 +CMT,1,1,1106,8.4,CRD,25 +CMT,1,1,566,2.1,CRD,9.5 +CMT,1,2,443,1.3,CSH,7 +CMT,1,1,172,0.6,CSH,4.5 +CMT,1,1,300,1.3,CRD,6.5 +CMT,1,1,604,2.5,CRD,10 +CMT,1,1,339,1.4,CSH,7 +CMT,1,1,487,0.8,CSH,7 +CMT,1,1,1510,7.8,CSH,26.5 +CMT,1,1,449,1.6,CSH,7.5 +CMT,1,1,805,1.5,CSH,10 +CMT,1,1,299,1.9,CSH,7 +CMT,1,4,594,2.4,CSH,10 +CMT,1,2,668,2.7,CSH,11.5 +CMT,1,1,194,0.5,CSH,4 +CMT,1,2,411,1.9,CSH,8 +CMT,1,1,931,2.3,CRD,12 +CMT,1,1,157,0.5,CSH,4 +CMT,1,1,283,1,CSH,5.5 +CMT,1,1,664,1.5,CSH,9.5 +CMT,1,1,1340,2.7,CSH,15.5 +CMT,1,1,435,1.2,CRD,7 +CMT,1,1,1435,2.2,CRD,15.5 +CMT,1,1,114,0.4,DIS,3.5 +CMT,1,1,33,0,DIS,2.5 +CMT,1,1,473,2.3,CSH,9 +CMT,1,1,215,0.7,CSH,5 +CMT,1,1,272,1.2,CRD,6 +CMT,1,1,302,0.9,CSH,5.5 +CMT,1,1,1471,9.8,CRD,30.5 +CMT,1,1,68,0.1,CSH,3 +CMT,1,1,905,4.4,CSH,16 +CMT,1,1,467,1.1,CSH,7 +CMT,1,1,290,1,CRD,5.5 +CMT,1,1,2471,11.7,CRD,39.5 +CMT,1,1,1511,11.8,CRD,35 +CMT,1,2,237,0.9,CSH,5.5 +CMT,1,1,116,0.3,CSH,3.5 +CMT,1,1,581,1.7,CSH,8.5 +CMT,1,2,759,3,CSH,12 +CMT,1,1,536,1.1,CRD,8 +CMT,1,1,336,1.7,CRD,7 +CMT,1,1,302,1.9,CRD,7.5 +CMT,1,1,510,1.2,CSH,7.5 +CMT,1,1,1052,3.4,CSH,14.5 +CMT,1,1,463,1.2,CSH,7 +CMT,1,1,1212,5.6,CSH,20.5 +CMT,1,1,1095,6.8,CSH,21.5 +CMT,1,1,330,0.9,CSH,6 +CMT,1,1,442,0.6,CSH,6.5 +CMT,1,1,383,1,CRD,6.5 +CMT,1,3,537,1.6,CSH,8 +CMT,1,1,644,3.6,CRD,13.5 +CMT,1,2,287,0.8,CSH,5.5 +CMT,1,1,2087,13.2,CRD,39 +CMT,1,1,271,1.3,CSH,6 +CMT,1,1,1312,4.1,NOC,17 +CMT,1,1,816,3,CSH,12.5 +CMT,1,1,900,8.4,CSH,24.5 +CMT,1,1,673,2.8,CRD,11 +CMT,1,1,439,2.7,CRD,10 +CMT,1,2,380,1.5,CSH,7 +CMT,1,1,1045,3.7,CRD,15.5 +CMT,1,1,784,1.4,CRD,9.5 +CMT,1,1,1396,6,CRD,22 +CMT,1,1,861,4.7,CRD,17 +CMT,1,2,330,2,CSH,8 +CMT,1,2,694,7.3,CRD,22 +CMT,1,2,397,1.5,CSH,7 +CMT,1,1,527,1.5,CSH,8 +CMT,1,1,1447,2.3,CSH,15.5 +CMT,1,1,1150,1.3,CRD,12 +CMT,1,1,54,1,CRD,3 +CMT,1,1,526,1.9,CSH,9 +CMT,1,1,1043,3.3,CRD,14.5 +CMT,1,1,952,4.4,CRD,16.5 +CMT,1,2,396,1,CSH,6.5 +CMT,1,2,828,3.4,CSH,13.5 +CMT,1,2,317,2.1,CRD,7.5 +CMT,1,1,817,8.9,CRD,25.5 +CMT,1,1,999,2.6,CRD,13 +CMT,1,1,875,3.4,CRD,14 +CMT,1,1,1156,3.4,CRD,15.5 +CMT,1,1,276,1,CSH,5.5 +CMT,1,1,197,0.9,CRD,5 +CMT,1,1,1225,2.7,CSH,14.5 +CMT,1,1,443,2.2,CSH,9 +CMT,1,1,283,0.7,CRD,5 +CMT,1,2,374,1.1,CRD,6.5 +CMT,1,1,267,0.5,CRD,4.5 +CMT,1,1,539,1.9,CRD,8.5 +CMT,1,1,916,3.5,CSH,14 +CMT,1,1,1848,14.2,CSH,40 +CMT,1,1,230,0.8,CRD,5 +CMT,1,2,600,2.6,CRD,10.5 +CMT,1,1,301,1.1,CSH,6 +CMT,1,1,569,1.2,CSH,8 +CMT,1,1,2245,9.4,CSH,34 +CMT,1,1,723,2.3,CRD,11 +CMT,1,1,447,1,CSH,6.5 +CMT,1,1,437,0.5,CSH,6 +CMT,1,2,769,0.9,CSH,9 +CMT,1,1,413,1.3,CSH,7 +CMT,1,1,906,1.2,CSH,10.5 +CMT,1,1,1203,3,CSH,15 +CMT,1,1,646,1.1,CSH,8 +CMT,1,1,221,0.5,CRD,4.5 +CMT,1,1,857,1.9,CRD,11 +CMT,1,1,211,1.3,CSH,6 +CMT,1,1,537,2.7,CSH,10.5 +CMT,1,1,766,2.5,CRD,12 +CMT,1,1,1210,3.8,CSH,17 +CMT,1,2,203,0.8,CSH,5 +CMT,1,1,149,1,CRD,5 +CMT,1,1,708,2.3,CSH,11.5 +CMT,1,2,771,8.5,CRD,24.5 +CMT,2,1,526,7.4,CSH,52 +CMT,1,1,203,0.7,CRD,4.5 +CMT,1,1,125,0.4,CRD,4 +CMT,1,1,326,1,CRD,6 +CMT,1,1,1014,3.1,CRD,14 +CMT,1,1,266,0.8,CSH,5 +CMT,1,1,654,1,CRD,8 +CMT,1,1,992,2,CRD,12 +CMT,1,1,289,0.7,CSH,5 +CMT,1,1,1023,3,CRD,14 +CMT,1,1,290,1.6,CSH,7 +CMT,1,1,872,3.2,CRD,14 +CMT,1,1,430,1.2,CSH,7 +CMT,1,1,501,2.7,CRD,9.5 +CMT,1,1,375,2.5,CRD,9.5 +CMT,1,2,774,3,CSH,12 +CMT,1,2,1256,6,CSH,20 +CMT,1,1,337,1.2,CSH,6 +CMT,1,1,847,3,CSH,12.5 +CMT,1,2,415,1.5,CRD,7.5 +CMT,1,2,171,0.7,CSH,4.5 +CMT,1,1,1790,6.7,CRD,25.5 +CMT,1,1,185,0.7,CRD,4.5 +CMT,1,2,1183,2.2,CRD,14 +CMT,1,2,679,2,CSH,10 +CMT,1,2,621,3.1,CSH,12.5 +CMT,1,2,405,1.5,CSH,7.5 +CMT,1,1,607,1.8,CRD,9 +CMT,1,2,313,1.4,CRD,6.5 +CMT,1,1,525,1.8,CSH,8.5 +CMT,1,1,165,0.7,CSH,4 +CMT,1,1,592,1.4,CSH,8.5 +CMT,1,1,158,0.5,CRD,4 +CMT,1,1,395,1.3,CRD,7 +CMT,1,1,1858,12.2,CSH,37.5 +CMT,1,1,1208,5.3,CRD,20 +CMT,1,1,1344,2.8,CRD,15.5 +CMT,1,2,266,0.7,CRD,5 +CMT,1,1,422,1.7,CRD,8.5 +CMT,1,1,515,1.3,CRD,7.5 +CMT,1,1,1310,3.1,CSH,15.5 +CMT,1,2,1223,1.9,CSH,13.5 +CMT,1,1,409,1,CSH,6.5 +CMT,1,1,651,1,CRD,8.5 +CMT,1,1,99,0.4,CSH,3.5 +CMT,1,1,650,1.3,CRD,8.5 +CMT,1,1,405,1.8,CRD,7.5 +CMT,1,1,381,1.1,CSH,6.5 +CMT,1,2,324,0.7,CSH,5.5 +CMT,1,3,1404,4,CRD,18 +CMT,1,2,377,1.3,CRD,7 +CMT,1,1,744,5.3,CSH,16 +CMT,1,1,1180,9.5,CSH,28 +CMT,1,2,579,2.2,CRD,9.5 +CMT,1,1,1224,3,CRD,15 +CMT,1,1,251,1.4,CSH,6.5 +CMT,1,1,1364,10.9,CRD,31.5 +CMT,1,2,334,0.1,CSH,5 +CMT,1,3,1594,9.9,CSH,30.5 +CMT,1,1,302,0.9,CRD,5.5 +CMT,1,1,749,2.2,CSH,11 +CMT,1,1,1126,2.8,CRD,14.5 +CMT,1,1,856,1.5,CSH,10.5 +CMT,1,1,413,1.1,CSH,7 +CMT,1,2,1958,10.2,CRD,34 +CMT,1,1,815,1.5,CSH,10 +CMT,1,1,760,1.2,CSH,9 +CMT,1,2,789,2.1,CRD,11.5 +CMT,1,1,373,0.8,CSH,5 +CMT,4,2,11,0,CSH,2.5 +CMT,1,1,209,0.9,CSH,5 +CMT,1,1,473,2,CSH,8.5 +CMT,1,4,185,0.5,CSH,4.5 +CMT,1,2,663,2.7,CSH,11 +CMT,1,1,276,1.2,CSH,6 +CMT,1,2,1133,7.3,CRD,23.5 +CMT,1,1,580,3,CSH,11.5 +CMT,1,1,7,0,CSH,2.5 +CMT,1,1,768,1.2,CSH,9.5 +CMT,1,1,888,2.1,CSH,11.5 +CMT,1,1,858,8.5,CRD,24.5 +CMT,1,1,1190,7.8,CSH,25 +CMT,1,1,752,4,CSH,14 +CMT,1,1,725,2.5,CSH,11.5 +CMT,1,1,713,1.1,CSH,9 +CMT,1,1,767,1.9,CRD,10.5 +CMT,1,1,1345,2.8,CRD,15.5 +CMT,1,2,1894,6.7,CSH,26.5 +CMT,1,2,1122,3.4,CSH,15 +CMT,1,1,228,1.4,CRD,6 +CMT,1,1,731,2.7,CRD,11.5 +CMT,1,2,641,2.1,CRD,9.5 +CMT,1,1,2300,4.2,CRD,25 +CMT,1,2,709,2,CRD,9.5 +CMT,1,1,390,0.7,CRD,6 +CMT,1,1,320,1.1,CSH,6.5 +CMT,1,2,356,1.3,CRD,6.5 +CMT,1,1,180,0.3,CSH,4 +CMT,1,1,384,1,CSH,6.5 +CMT,1,3,1133,2.7,CSH,13.5 +CMT,1,2,670,2.3,CSH,10.5 +CMT,1,1,507,2.2,CSH,9 +CMT,1,1,532,1.9,CRD,9 +CMT,1,1,152,0.6,CSH,4 +CMT,1,2,214,0.6,CSH,4.5 +CMT,1,1,542,1.8,CRD,8.5 +CMT,1,2,994,3.3,CSH,13.5 +CMT,1,2,252,0.8,CSH,5 +CMT,1,3,1280,5.3,CRD,19 +CMT,1,1,921,4.2,CRD,15.5 +CMT,1,1,566,1.8,CSH,9 +CMT,1,1,220,0.5,CSH,4.5 +CMT,1,1,920,5.2,CSH,17.5 +CMT,1,1,408,1.3,CSH,7 +CMT,1,2,2323,10,CRD,34.5 +CMT,1,1,487,2.6,CSH,10 +CMT,1,2,1142,6,CRD,21 +CMT,1,4,665,2.6,CRD,11 +CMT,1,4,669,2.4,CSH,10 +CMT,1,2,1066,5.4,CSH,19.5 +CMT,1,1,1036,4,CSH,15.5 +CMT,1,1,496,1.3,CRD,7.5 +CMT,1,1,265,0.8,CSH,5 +CMT,1,1,498,1.1,CRD,7.5 +CMT,1,2,306,0.8,CSH,5.5 +CMT,1,1,757,3.8,CRD,13.5 +CMT,1,1,417,2.2,CRD,8.5 +CMT,1,2,747,4.6,CSH,15 +CMT,1,1,186,1.1,CRD,5.5 +CMT,1,1,229,0.8,CRD,5 +CMT,1,2,489,3.1,CRD,11 +CMT,1,2,417,0.8,CRD,6.5 +CMT,1,1,170,0.5,CSH,4 +CMT,1,2,142,0.6,CRD,4 +CMT,1,1,615,1.5,CRD,8.5 +CMT,1,1,431,1.7,CRD,8 +CMT,1,1,276,1.3,CSH,6 +CMT,1,1,464,2,CRD,8.5 +CMT,1,1,1055,4.2,CRD,17 +CMT,1,1,553,2,CSH,9.5 +CMT,1,1,1314,8.8,CRD,26.5 +CMT,1,1,158,0.4,CRD,4 +CMT,1,2,194,0.9,CSH,5 +CMT,1,1,212,1.7,CRD,6.5 +CMT,1,1,414,1.2,CRD,7 +CMT,1,1,549,1.7,CRD,8.5 +CMT,1,1,1628,9,CRD,28.5 +CMT,1,1,216,0.8,CSH,5 +CMT,1,1,469,1.2,CSH,7 +CMT,1,3,421,1.3,CRD,7 +CMT,1,2,167,0.5,CSH,4.5 +CMT,1,3,765,2.2,CRD,10.5 +CMT,1,2,860,3.4,CRD,13.5 +CMT,1,1,461,1.7,CSH,8 +CMT,1,2,172,0.7,CSH,4.5 +CMT,1,2,852,3.9,CRD,15 +CMT,1,1,409,1.6,CRD,7.5 +CMT,1,1,641,2.8,CRD,11 +CMT,1,2,243,0.8,CRD,5.5 +CMT,1,1,315,1.3,CSH,6.5 +CMT,1,1,1213,5.3,CSH,19.5 +CMT,1,1,208,0.8,CSH,5 +CMT,1,1,392,1.4,CSH,6.5 +CMT,1,1,206,0.6,CSH,4.5 +CMT,1,3,517,1.6,CRD,8 +CMT,1,2,854,3.5,CRD,14 +CMT,1,1,380,2.5,CRD,9 +CMT,1,1,1349,7.5,CRD,24 +CMT,1,1,387,1.1,CSH,6.5 +CMT,1,2,689,3.4,CSH,13 +CMT,1,2,203,0.8,CRD,5 +CMT,1,1,834,2.5,CRD,12 +CMT,1,1,219,0.5,CSH,4.5 +CMT,1,1,575,1.4,CRD,8 +CMT,1,2,1680,10.6,CSH,32.5 +CMT,1,2,1386,6.1,CRD,21.5 +CMT,1,1,390,1,CRD,6.5 +CMT,1,1,204,0.9,CRD,5 +CMT,1,1,9,0,NOC,2.5 +CMT,1,2,1249,3.7,CSH,16.5 +CMT,1,1,545,2,CRD,9.5 +CMT,1,1,637,1.3,CSH,8.5 +CMT,1,3,591,1.3,CSH,8.5 +CMT,1,3,696,2.1,CRD,10.5 +CMT,1,1,369,1.3,CRD,7 +CMT,1,4,916,3,CSH,13 +CMT,1,1,1166,3.1,CRD,15 +CMT,1,1,405,0.8,CSH,6.5 +CMT,1,4,750,3.4,CSH,13 +CMT,1,1,293,0.9,CRD,5.5 +CMT,1,2,912,3,CRD,13 +CMT,1,1,596,1.3,CRD,8 +CMT,1,1,1165,7.9,CRD,24.5 +CMT,1,4,821,2.4,CSH,12 +CMT,1,1,414,1.6,CSH,7.5 +CMT,1,2,472,1.7,CSH,8 +CMT,1,2,470,1.4,CRD,7.5 +CMT,1,2,646,2.8,CSH,11 +CMT,1,2,510,2.7,CRD,11 +CMT,1,2,540,2.3,CRD,9.5 +CMT,1,2,285,1.7,CRD,7 +CMT,1,1,197,0.3,CRD,4 +CMT,1,1,353,1.3,CSH,6.5 +CMT,1,2,762,4.1,CRD,14.5 +CMT,1,2,562,2.3,CRD,10 +CMT,1,1,617,1.4,CRD,8.5 +CMT,1,1,341,1.5,CRD,7 +CMT,1,2,390,1.3,CRD,6.5 +CMT,1,3,318,0.7,CRD,5.5 +CMT,1,1,999,2.9,CSH,14 +CMT,1,1,103,0.2,CSH,3.5 +CMT,1,2,669,2.5,CRD,11 +CMT,1,1,503,1.5,CRD,8 +CMT,1,1,470,1.1,CRD,7 +CMT,1,2,826,2.8,CSH,12 +CMT,1,1,233,0.6,CSH,5 +CMT,1,2,529,0.5,CSH,6.5 +CMT,1,3,512,1.6,CSH,8.5 +CMT,1,2,698,4.1,CRD,14 +CMT,1,1,292,1.3,CRD,6 +CMT,1,2,534,2.5,CSH,10 +CMT,1,2,1002,3.4,CSH,14 +CMT,1,1,727,2.5,CRD,11 +CMT,1,1,796,3,CSH,12 +CMT,1,1,167,0.8,CRD,4.5 +CMT,1,3,283,1.2,CRD,6 +CMT,1,2,1346,3.3,CSH,16 +CMT,1,1,1224,5.5,CSH,19 +CMT,1,1,1403,3.2,CRD,16 +CMT,1,1,592,1.2,CSH,8 +CMT,1,1,359,0.9,CSH,6 +CMT,1,2,336,1.5,CSH,7 +CMT,1,1,1178,6.9,CRD,22.5 +CMT,1,1,120,0.3,CSH,3.5 +CMT,1,1,500,1.3,CRD,7.5 +CMT,1,1,304,1.7,CRD,7 +CMT,1,1,227,1.3,CRD,5.5 +CMT,1,1,697,3,CRD,11.5 +CMT,1,1,97,0.5,CSH,4 +CMT,1,2,413,2.1,CSH,8.5 +CMT,1,1,872,3.6,CSH,14.5 +CMT,1,2,652,3,CSH,11.5 +CMT,1,2,292,0.6,CSH,5.5 +CMT,1,2,516,3.1,CSH,11.5 +CMT,1,3,301,1.2,CSH,6 +CMT,1,3,586,3,CSH,11 +CMT,1,1,571,2.4,CRD,9.5 +CMT,1,1,717,6.5,CRD,19.5 +CMT,1,1,426,2.7,CRD,9.5 +CMT,1,1,313,2.3,CSH,8.5 +CMT,1,1,474,1.6,CSH,8 +CMT,1,1,468,0.9,CRD,6.5 +CMT,1,1,413,2.4,CRD,9.5 +CMT,1,1,571,2.6,CRD,10.5 +CMT,1,2,392,1,CRD,6.5 +CMT,1,2,1034,6.9,CSH,22 +CMT,1,1,874,4,CRD,14.5 +CMT,1,1,852,3,CRD,13 +CMT,1,1,559,2.5,CSH,10 +CMT,1,1,630,2.9,CRD,11 +CMT,1,3,513,1.2,CSH,7.5 +CMT,1,1,539,2.6,CSH,10 +CMT,1,1,1440,10.6,CSH,32 +CMT,1,1,789,2.3,CSH,11 +CMT,1,1,657,4.1,CRD,14 +CMT,1,2,621,2.6,CRD,10.5 +CMT,1,3,899,7.6,CSH,22.5 +CMT,1,2,809,1.7,CSH,10.5 +CMT,1,1,1469,6.4,CSH,23 +CMT,1,1,218,0.7,CSH,5 +CMT,1,1,1350,5.5,CSH,20.5 +CMT,1,2,347,1.3,CSH,6.5 +CMT,1,1,257,0.8,CRD,5.5 +CMT,1,1,666,4,CSH,13.5 +CMT,1,1,740,2.7,CRD,11.5 +CMT,1,1,202,0.5,CSH,4.5 +CMT,1,2,772,2.9,CRD,12 +CMT,1,1,513,1.7,CRD,8.5 +CMT,1,1,291,0.8,CRD,5.5 +CMT,1,1,475,1.6,CSH,7.5 +CMT,1,2,869,2.8,CRD,12.5 +CMT,1,2,860,5,CRD,17.5 +CMT,1,1,139,0.3,CSH,3.5 +CMT,1,1,301,0.9,CRD,5.5 +CMT,1,2,729,2.4,CSH,11 +CMT,1,1,363,0.9,CRD,6 +CMT,1,1,194,0.7,CSH,5 +CMT,1,1,912,5.1,CSH,17.5 +CMT,1,2,422,1.8,CSH,8.5 +CMT,1,1,1198,5.3,CRD,19.5 +CMT,1,1,206,0.9,CSH,5 +CMT,1,1,236,1.2,CRD,6 +CMT,1,1,173,0.4,CSH,4 +CMT,1,1,530,2,CRD,9.5 +CMT,1,1,416,1.5,CSH,7 +CMT,1,1,1217,7.5,CRD,23 +CMT,1,1,523,1.5,CRD,8.5 +CMT,1,1,553,1.4,CRD,8.5 +CMT,1,1,506,2.2,CSH,9.5 +CMT,1,2,474,2.4,CRD,9.5 +CMT,1,2,242,0.8,CSH,5 +CMT,1,2,603,1.7,CSH,8.5 +CMT,1,1,503,1.3,CRD,7.5 +CMT,1,2,432,2.3,CSH,9 +CMT,1,1,189,0.7,CSH,4.5 +CMT,1,2,1568,6,CSH,21.5 +CMT,1,3,356,1,CRD,6 +CMT,1,2,352,1.4,CRD,6.5 +CMT,1,3,902,2.8,CRD,13 +CMT,1,1,208,1.5,CRD,6 +CMT,1,2,985,6.6,CSH,20.5 +CMT,1,1,503,2.3,CRD,9 +CMT,1,1,657,3.2,CSH,12 +CMT,1,1,554,2.6,CRD,10 +CMT,1,2,482,1.5,CRD,7.5 +CMT,1,1,166,0.7,CRD,4.5 +CMT,1,1,1193,4.7,CRD,18 +CMT,1,2,570,1.2,CRD,8 +CMT,1,1,337,0.8,CSH,6 +CMT,1,1,332,1.8,CRD,7.5 +CMT,1,1,644,1.9,CRD,9 +CMT,1,1,915,4.3,CRD,15.5 +CMT,1,3,251,1.1,CSH,5.5 +CMT,1,1,719,2.2,CRD,10.5 +CMT,1,1,451,1.2,CSH,7.5 +CMT,1,1,619,1.3,CRD,8.5 +CMT,1,1,430,1.3,CSH,7 +CMT,1,1,426,4.8,CRD,14.5 +CMT,1,2,425,2,CRD,8.5 +CMT,1,3,320,1.1,CRD,6.5 +CMT,1,1,838,2.1,CRD,11 +CMT,1,1,996,3.5,CRD,14.5 +CMT,1,1,850,1.6,CSH,10.5 +CMT,1,1,201,0.9,CRD,5 +CMT,1,2,335,0.9,CRD,5.5 +CMT,1,3,428,1.4,CSH,7 +CMT,1,1,696,3.1,CSH,12.5 +CMT,1,2,329,1,CSH,6.5 +CMT,1,2,332,0.6,CSH,5.5 +CMT,1,1,167,0.6,CSH,4 +CMT,1,3,1334,6.6,CRD,22 +CMT,1,1,183,0.6,CSH,4.5 +CMT,1,2,418,1.9,CSH,8 +CMT,1,1,597,3.1,CSH,11.5 +CMT,1,1,489,1.7,CRD,8.5 +CMT,1,1,135,0.4,CSH,4 +CMT,1,1,567,2.7,CRD,10.5 +CMT,1,1,1040,8.9,CRD,26.5 +CMT,1,3,2388,7.7,CRD,31.5 +CMT,1,1,394,1.2,CSH,6.5 +CMT,1,3,107,0.3,CSH,3.5 +CMT,1,1,345,1.6,CRD,7 +CMT,1,2,494,2.6,CSH,10 +CMT,1,1,159,0.7,CRD,4.5 +CMT,1,4,470,2.5,CRD,10 +CMT,1,2,577,1.4,CSH,7.5 +CMT,1,1,680,1.9,CRD,9.5 +CMT,1,2,940,3.9,CSH,15 +CMT,1,3,634,1.3,CSH,8.5 +CMT,1,1,723,3.2,CSH,11.5 +CMT,1,2,701,2.1,CRD,10 +CMT,1,2,1140,6.2,CSH,21 +CMT,1,3,720,2.8,CSH,11.5 +CMT,1,2,777,2,CRD,10 +CMT,1,1,131,0.4,CSH,3.5 +CMT,1,2,1019,4.7,CSH,17 +CMT,1,1,674,3.7,CRD,13 +CMT,1,1,263,1.2,CSH,6 +CMT,1,1,1501,10.8,CRD,31 +CMT,1,2,1359,4.4,CRD,18 +CMT,1,1,366,1.1,CRD,6 +CMT,1,2,618,1.5,CSH,9 +CMT,1,1,247,0.7,CRD,5 +CMT,1,1,293,0.5,CSH,5 +CMT,1,1,485,1.5,CSH,8 +CMT,1,2,358,0.6,CSH,6 +CMT,1,1,797,3.7,CRD,13.5 +CMT,1,1,424,1.2,CRD,7 +CMT,1,1,568,2,CRD,9 +CMT,1,1,537,1.4,CRD,8 +CMT,1,1,386,0.7,CSH,6 +CMT,1,1,476,1.1,CRD,7.5 +CMT,1,1,481,1.1,CRD,7 +CMT,1,1,124,0.3,CSH,3.5 +CMT,1,1,484,1.7,CSH,8.5 +CMT,1,1,184,0.8,CSH,5 +CMT,1,1,441,1.1,CSH,7 +CMT,1,1,558,2.3,CSH,10 +CMT,1,1,282,0.9,CRD,5.5 +CMT,1,2,422,1.1,CSH,7 +CMT,1,2,212,0.9,CRD,5 +CMT,1,1,489,1.2,CSH,7.5 +CMT,1,1,609,1.8,CRD,9 +CMT,1,1,350,1,CRD,6 +CMT,1,1,1099,2.7,CRD,13.5 +CMT,1,1,1010,2.6,CRD,13 +CMT,1,1,290,0.7,CSH,5 +CMT,1,1,322,0.8,CRD,5.5 +CMT,1,1,247,0.6,CRD,5 +CMT,1,1,532,2.2,CSH,9.5 +CMT,1,1,138,0.3,CSH,4 +CMT,1,1,306,0.9,CSH,5.5 +CMT,1,2,562,1.5,CSH,8.5 +CMT,1,1,255,1.1,CSH,6 +CMT,1,2,425,1.8,CRD,8 +CMT,1,1,1557,7,CRD,23.5 +CMT,1,2,738,3.4,CSH,13 +CMT,1,4,2085,6.9,CSH,27 +CMT,1,2,748,1.5,CSH,9.5 +CMT,1,2,784,2.9,CRD,13 +CMT,1,3,400,1.7,CRD,7.5 +CMT,1,1,714,1.9,CRD,10 +CMT,1,2,293,0.9,CRD,5.5 +CMT,1,1,318,1.2,CRD,6.5 +CMT,1,1,1170,5.6,CSH,19.5 +CMT,1,1,373,1.8,CRD,8 +CMT,1,2,1234,6.6,CSH,22 +CMT,1,1,522,2.1,CRD,9 +CMT,1,3,299,1.1,CSH,6 +CMT,1,1,755,3.2,CRD,13 +CMT,1,1,71,0.2,CSH,3 +CMT,1,2,608,2.2,CRD,9.5 +CMT,1,1,146,0.4,CRD,4 +CMT,1,1,275,1.1,CRD,6 +CMT,1,1,456,1.6,CSH,7.5 +CMT,1,1,1030,5.9,CRD,19.5 +CMT,1,1,320,1,CRD,6 +CMT,1,2,627,2,CRD,9.5 +CMT,1,2,1078,5.4,CRD,19.5 +CMT,1,1,199,0.9,CRD,5 +CMT,1,1,766,3.7,CSH,13 +CMT,1,2,542,3.6,CRD,12 +CMT,1,3,512,2.3,CSH,9.5 +CMT,1,1,502,2.1,CRD,9 +CMT,1,2,258,1.6,CRD,6.5 +CMT,1,1,140,0.6,CRD,4 +CMT,1,1,778,3.4,CSH,13 +CMT,1,1,859,2.4,CRD,12 +CMT,1,1,433,2.3,CSH,9 +CMT,1,1,387,1,CSH,6 +CMT,1,1,865,6.5,CRD,19.5 +CMT,1,2,1090,5.9,CRD,20.5 +CMT,1,1,279,1.2,CRD,6 +CMT,1,1,905,3.9,CRD,14.5 +CMT,1,2,581,2.4,CRD,10.5 +CMT,1,1,563,0.9,CRD,7.5 +CMT,1,2,190,0.4,CRD,4.5 +CMT,1,1,309,1.4,CRD,6.5 +CMT,1,3,657,1.8,CRD,9.5 +CMT,1,1,1194,9.2,CRD,27.5 +CMT,1,1,718,1,CRD,9 +CMT,1,1,254,0.8,CRD,5.5 +CMT,1,1,198,1.2,CRD,5.5 +CMT,1,2,380,1.1,CSH,6.5 +CMT,1,1,1,0,NOC,2.5 +CMT,1,1,1783,4.6,CRD,21 +CMT,1,4,621,2.9,CSH,11.5 +CMT,1,2,1304,4.3,CRD,18 +CMT,1,1,635,3,CRD,11.5 +CMT,1,2,921,5.1,CSH,17.5 +CMT,1,1,91,0.5,CSH,3.5 +CMT,1,1,887,3.1,CRD,13.5 +CMT,1,1,482,1.7,CSH,8 +CMT,1,1,1901,9.3,CRD,31 +CMT,1,1,652,2.1,CRD,10 +CMT,1,3,296,0.5,CSH,5 +CMT,1,1,907,3,CRD,12.5 +CMT,1,2,606,1.1,CRD,7.5 +CMT,1,1,1782,9.1,CRD,29.5 +CMT,1,1,940,3.6,CRD,13.5 +CMT,1,1,323,0.7,CRD,5.5 +CMT,1,1,465,1.5,CRD,7.5 +CMT,1,1,384,2,CSH,8.5 +CMT,1,1,529,1.9,CRD,8.5 +CMT,1,1,1472,3.6,CRD,18 +CMT,1,2,1042,4.7,CRD,17.5 +CMT,1,2,927,4.3,CSH,15 +CMT,1,1,421,1.8,CRD,8 +CMT,1,1,680,3,CRD,12 +CMT,1,3,328,1.2,CRD,6.5 +CMT,1,2,905,2.7,CSH,12.5 +CMT,1,1,144,0.4,CSH,4 +CMT,1,1,656,2,CSH,9.5 +CMT,1,1,673,4.9,CRD,15.5 +CMT,1,1,666,1.4,CSH,9 +CMT,1,1,464,1.4,CSH,7.5 +CMT,1,2,298,1.3,CSH,6.5 +CMT,1,2,104,0.2,CSH,3.5 +CMT,1,2,208,1,CSH,5.5 +CMT,1,1,355,1.8,CRD,7.5 +CMT,1,1,608,2.6,CSH,10.5 +CMT,1,2,972,3.9,CSH,15 +CMT,1,1,1066,7.6,CRD,23.5 +CMT,1,1,229,0.7,CSH,5 +CMT,1,2,723,2.7,CRD,11.5 +CMT,1,1,264,0.9,CRD,5.5 +CMT,1,2,420,2.1,CSH,8.5 +CMT,1,2,305,0.7,CSH,5.5 +CMT,1,2,958,3.4,CRD,14 +CMT,1,1,440,1.5,CSH,7.5 +CMT,1,3,843,1.8,CRD,10.5 +CMT,1,1,394,2,CRD,8 +CMT,1,1,489,3,CRD,10.5 +CMT,1,1,558,3.7,CRD,12 +CMT,1,2,767,3.4,CSH,13 +CMT,1,2,430,1.5,CSH,7.5 +CMT,1,1,208,0.7,CRD,5 +CMT,1,1,428,1.4,CSH,7.5 +CMT,1,1,477,0.7,CSH,6.5 +CMT,1,1,626,1.3,CRD,8.5 +CMT,1,1,653,1.3,CRD,8.5 +CMT,1,1,528,2.5,CSH,10.5 +CMT,1,1,384,0.7,CSH,5.5 +CMT,1,1,749,1.7,CSH,9.5 +CMT,1,1,523,1.1,CSH,7.5 +CMT,1,1,226,0.5,CSH,4.5 +CMT,1,3,763,2.5,CRD,11.5 +CMT,1,1,418,1.1,CSH,7 +CMT,1,1,395,1.6,CRD,7 +CMT,1,1,849,2.7,CSH,12 +CMT,1,1,715,1.7,CRD,10 +CMT,1,1,463,1.2,CSH,7.5 +CMT,1,2,885,3.3,CSH,13 +CMT,1,3,520,2.1,CSH,9 +CMT,1,2,763,5.4,CSH,17.5 +CMT,1,1,205,0.8,CRD,5 +CMT,1,1,162,0.5,CRD,4 +CMT,1,1,403,1.2,CRD,7 +CMT,1,3,527,0.8,CSH,7 +CMT,1,1,373,1,CSH,6 +CMT,1,1,398,0.9,CRD,6 +CMT,1,1,264,1,CRD,5.5 +CMT,1,1,882,5.2,CSH,16.5 +CMT,1,1,296,0.8,CRD,5.5 +CMT,1,2,605,5.7,CRD,17.5 +CMT,1,1,41,0.3,CSH,3 +CMT,1,4,368,1.1,CSH,6.5 +CMT,1,2,475,1.5,CSH,8 +CMT,1,1,771,3.7,CRD,13.5 +CMT,1,1,452,1.1,CRD,7 +CMT,1,1,478,0.9,CRD,6.5 +CMT,1,1,566,1.9,CRD,9.5 +CMT,1,1,352,1,CSH,6 +CMT,1,2,596,1.3,CSH,8 +CMT,1,1,381,1,CSH,6.5 +CMT,1,1,847,2.8,CRD,12 +CMT,1,1,559,1.2,CRD,8 +CMT,1,1,493,0.8,CRD,7 +CMT,1,1,609,0.7,CRD,7.5 +CMT,1,1,247,0.7,CSH,5 +CMT,1,1,224,0.1,CRD,4 +CMT,1,2,519,1.9,CRD,9 +CMT,1,1,1485,19.8,CSH,52.5 +CMT,1,1,120,0.5,CSH,4 +CMT,1,1,2071,17.1,CRD,49 +CMT,1,1,836,3.4,CRD,13 +CMT,1,1,267,0.7,CSH,5 +CMT,1,1,631,1.3,CSH,8.5 +CMT,1,1,392,0.9,CRD,6.5 +CMT,1,1,423,2,CSH,8.5 +CMT,1,1,700,1.3,CSH,9 +CMT,1,1,692,1.9,CSH,10 +CMT,1,1,304,0.7,CSH,5.5 +CMT,1,1,1182,2.3,CSH,13.5 +CMT,1,1,217,0.6,CRD,4.5 +CMT,1,2,378,1.6,CSH,7.5 +CMT,1,1,854,4,CRD,14.5 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,1,240,0.93,CSH,5 +VTS,1,1,900,3.43,CSH,13.5 +VTS,1,6,720,3.1,CRD,13 +VTS,1,6,720,4.82,CSH,16 +VTS,1,6,780,2.26,CSH,11.5 +VTS,1,6,300,1.77,CSH,7 +VTS,1,6,1200,4.86,CSH,19.5 +VTS,2,6,1980,21.58,CRD,52 +CMT,1,1,176,0.5,CSH,4.5 +CMT,1,1,504,1.1,CRD,7.5 +CMT,1,2,323,1.1,CSH,6.5 +CMT,1,1,111,0.4,CRD,3.5 +CMT,1,1,274,1,CSH,5.5 +CMT,1,1,845,2.8,CRD,12 +CMT,1,2,509,1.5,CRD,8 +CMT,1,2,339,0.9,CRD,6 +CMT,1,2,1551,6.1,CSH,23 +CMT,1,1,580,3.4,CRD,12 +CMT,1,1,719,2.2,CSH,10.5 +CMT,1,1,1260,3.9,CSH,17.5 +CMT,1,2,650,3.8,CRD,12.5 +CMT,2,1,1772,17.8,CSH,52 +CMT,1,2,2584,10.8,CRD,38 +CMT,1,1,463,0.7,CRD,6.5 +CMT,1,1,264,1.8,CRD,7.5 +CMT,1,1,991,3.3,CSH,14.5 +CMT,1,1,405,0.8,CRD,6.5 +CMT,1,1,618,1.5,CRD,8.5 +CMT,1,2,506,1.4,CSH,8 +CMT,1,2,1005,5.4,CRD,17.5 +VTS,1,1,780,2,CRD,10.5 +VTS,1,1,60,0.48,CRD,3.5 +VTS,1,1,3000,23.87,CRD,68 +VTS,1,1,180,0.72,CRD,5 +VTS,1,6,780,4.79,CSH,16 +CMT,1,1,579,1.6,CRD,8.5 +CMT,1,1,442,1.6,CRD,8 +CMT,1,1,807,4.1,CSH,15 +CMT,1,1,402,2,CRD,8.5 +CMT,1,2,341,0.6,CSH,5.5 +CMT,1,1,742,2.7,CSH,11 +CMT,1,2,1462,4.9,CRD,20 +CMT,1,2,528,1.6,CRD,8.5 +CMT,1,1,829,2.9,CRD,12.5 +CMT,1,1,511,1.5,CRD,8 +CMT,1,1,425,0.7,CRD,6 +CMT,1,1,380,1.1,CSH,6.5 +CMT,1,1,191,0.5,CSH,4 +CMT,1,1,1393,4,CSH,17.5 +CMT,1,2,260,1.6,CSH,6.5 +CMT,1,2,561,1.4,CSH,8 +CMT,1,1,1056,2,CRD,12.5 +CMT,1,1,799,2.1,CRD,10.5 +CMT,1,1,1445,9.8,CSH,30 +CMT,1,2,613,2.2,CRD,10 +CMT,1,1,143,0.5,CSH,4 +CMT,1,1,608,6.6,CRD,19 +CMT,1,3,184,0.6,CSH,4.5 +CMT,2,2,1733,17.3,CRD,52 +CMT,1,1,537,1.1,CRD,7.5 +CMT,1,2,955,5.6,CRD,19 +CMT,1,1,286,0.9,CRD,5.5 +CMT,1,1,346,1.1,CSH,6 +CMT,1,1,680,1,CRD,8.5 +CMT,1,1,786,2.5,CRD,11.5 +CMT,1,2,706,3.7,CRD,13 +CMT,1,1,916,6.7,CSH,21 +CMT,1,1,117,0.4,CSH,3.5 +CMT,1,2,584,1.4,CSH,8 +CMT,1,1,520,1.9,CSH,8.5 +CMT,1,1,797,3,CRD,12.5 +CMT,1,1,427,1.1,CRD,6.5 +CMT,1,1,367,1.8,CRD,7.5 +CMT,1,1,460,3.3,CSH,11 +CMT,5,2,38,0,CRD,53 +CMT,1,1,287,0.9,CRD,5.5 +CMT,1,1,818,2.2,CSH,11 +CMT,1,2,309,0.6,CRD,5 +CMT,1,1,359,1.2,CSH,7 +CMT,1,1,763,1.7,CRD,9.5 +CMT,1,1,1294,10.1,CRD,31 +CMT,1,1,512,3,CSH,11 +CMT,1,1,752,4.8,CSH,15.5 +CMT,1,2,182,0.5,CSH,4.5 +VTS,1,1,780,3.03,CRD,12 +VTS,1,6,300,1.79,CRD,7 +VTS,1,6,120,0.59,CSH,4 +CMT,1,2,457,2.3,CSH,9.5 +CMT,1,2,319,0.6,CSH,5.5 +CMT,1,1,582,2.8,CRD,10 +CMT,1,1,938,3.2,CRD,13.5 +CMT,1,3,268,1,CSH,6 +CMT,1,4,1595,6.4,CSH,22.5 +CMT,1,2,280,0.8,CSH,5.5 +CMT,1,2,735,3.5,CRD,13 +CMT,1,1,1145,6.5,CSH,20.5 +CMT,1,1,277,1.2,CRD,6 +CMT,1,2,377,1.2,CRD,7 +CMT,1,1,1035,3.8,CRD,15 +CMT,1,2,639,1.5,CSH,8.5 +CMT,1,1,1045,9.6,CRD,27.5 +CMT,1,1,353,1.6,CSH,7 +CMT,1,2,883,2.6,CRD,12 +CMT,1,1,484,2.8,CRD,10.5 +CMT,1,1,314,0.9,CSH,6 +CMT,1,2,507,1.4,CSH,8 +CMT,1,2,1068,3.8,CRD,15.5 +CMT,1,1,998,7.2,CRD,22 +CMT,1,1,863,1.5,CSH,10.5 +CMT,1,1,251,1.7,CSH,7 +CMT,1,1,276,1.8,CRD,7 +CMT,1,1,338,1.4,CRD,6.5 +CMT,1,1,446,1,CRD,6.5 +CMT,1,2,721,3,CSH,11.5 +CMT,1,1,841,4.2,CSH,16 +CMT,1,1,922,3.3,CRD,13.5 +CMT,1,1,149,1.5,CRD,6 +CMT,1,2,962,2,CRD,12 +CMT,1,1,369,1.4,CSH,7 +CMT,1,1,525,1.4,CSH,8 +CMT,1,1,981,4.9,CSH,17.5 +CMT,1,1,1204,11,CSH,31 +CMT,1,1,487,2,CSH,8.5 +CMT,1,1,585,1.1,CSH,8 +CMT,1,1,490,1.5,CRD,7.5 +CMT,1,2,145,0.5,CSH,4 +CMT,1,2,533,2.4,CRD,10 +CMT,1,1,456,1.3,CSH,7 +CMT,1,1,381,1.1,CRD,6.5 +CMT,1,2,415,1.1,CSH,6.5 +CMT,1,1,536,1.9,CSH,8.5 +CMT,1,2,374,0.8,CRD,6 +CMT,1,1,568,2,CSH,9.5 +CMT,1,1,881,2.2,CRD,11.5 +CMT,1,1,155,0.3,CSH,3.5 +CMT,1,1,845,4.1,CSH,14 +CMT,1,1,245,0.9,CRD,5 +CMT,1,1,777,1.8,CRD,10.5 +CMT,1,1,953,3.3,CRD,14 +CMT,1,1,613,3.2,CSH,11.5 +CMT,1,1,301,1.1,CSH,5.5 +CMT,1,1,119,0.5,CSH,3.5 +CMT,2,1,1686,16.7,CRD,52 +CMT,1,1,354,1.9,CSH,7.5 +CMT,1,1,731,1.7,CSH,9.5 +CMT,1,4,845,2.7,CSH,11.5 +CMT,1,1,1563,2.6,CRD,17.5 +CMT,1,1,415,2.1,CRD,8 +CMT,1,1,706,3.8,CRD,14 +CMT,1,1,319,1.1,CRD,6 +CMT,1,3,1020,4.9,CSH,16.5 +CMT,1,1,172,0.5,CSH,4 +CMT,1,1,693,2.4,CSH,10.5 +CMT,1,2,309,0.8,CSH,5.5 +CMT,1,1,113,0.4,CRD,4 +CMT,1,1,1118,4.5,CRD,18.5 +CMT,1,2,594,2.3,CRD,10 +CMT,1,2,261,0.6,CRD,5 +CMT,1,2,358,1.4,CSH,7 +CMT,1,2,675,2.4,CSH,10.5 +CMT,1,1,738,3.6,CSH,13 +CMT,1,2,1358,6,CSH,21.5 +CMT,1,3,547,1.7,CRD,8.5 +CMT,1,1,737,1.7,CSH,10 +CMT,1,2,455,1.5,CSH,7.5 +CMT,1,1,957,7.7,CSH,23 +CMT,1,1,1168,3.7,CRD,16 +CMT,1,1,431,1.3,CRD,7 +CMT,1,1,366,2.7,CRD,9 +CMT,1,1,806,6.2,CRD,19 +CMT,1,1,412,2.1,CSH,8.5 +CMT,1,1,313,1.2,CSH,6 +CMT,1,1,505,1,CRD,7.5 +CMT,1,2,449,0.8,CRD,6.5 +CMT,1,1,521,1.4,CRD,8 +CMT,1,1,313,0.7,CRD,5.5 +CMT,1,1,932,3.1,CRD,13 +CMT,1,1,391,0.9,CSH,6 +CMT,1,1,518,1.3,CSH,8 +CMT,1,2,540,1.5,CSH,8 +CMT,1,1,1077,3.8,CRD,15.5 +CMT,1,1,845,1.4,CRD,10 +CMT,1,3,1447,6.8,CSH,24 +CMT,1,1,268,1,CSH,5.5 +CMT,1,1,708,2.1,CRD,10 +CMT,1,1,171,0.5,CRD,4 +CMT,1,1,706,1.7,CRD,9.5 +CMT,1,1,806,0.9,CRD,9.5 +CMT,1,1,307,1.3,CRD,6 +CMT,1,4,370,1,CSH,6 +CMT,1,1,196,1.1,CSH,5 +CMT,1,1,1636,9.8,CRD,32 +CMT,1,1,583,1.6,CSH,8.5 +CMT,1,1,1175,4.4,CRD,17.5 +CMT,1,1,193,0.7,CSH,5 +CMT,1,1,577,1.1,CRD,7.5 +CMT,1,1,484,1.1,CSH,7 +CMT,1,3,745,0.9,CSH,9 +VTS,1,1,720,2.34,CRD,10.5 +VTS,1,1,1320,5.44,CSH,21 +VTS,1,1,420,2.29,CRD,8.5 +VTS,1,6,600,2.53,CRD,10 +VTS,1,6,180,1.29,CRD,5.5 +VTS,1,6,480,2.84,CRD,10 +VTS,1,6,240,0.77,CRD,5 +VTS,1,6,240,1.46,CSH,6 +VTS,1,6,1560,7.38,CRD,25 +VTS,1,6,2280,14.41,CRD,41.5 +VTS,1,6,2580,5.82,CRD,28.5 +VTS,1,6,1260,5.39,CSH,20 +VTS,1,6,420,1.62,CSH,7.5 +VTS,1,6,300,1.34,CRD,6 +VTS,1,6,900,3.15,CRD,13.5 +VTS,1,6,1260,1.44,CRD,14 +VTS,1,6,960,3.01,CSH,13.5 +VTS,1,6,420,2.14,CRD,8.5 +VTS,1,6,60,0.48,CSH,3.5 +VTS,1,5,480,2.59,CSH,10 +VTS,1,6,840,4.29,CRD,15 +CMT,1,1,181,0.9,CSH,5 +CMT,1,1,1126,2.6,CSH,14 +CMT,1,3,210,0.7,CSH,5 +CMT,1,2,411,1.3,CSH,7 +CMT,1,2,874,2.9,CSH,12.5 +VTS,1,6,780,2.84,CSH,12 +VTS,1,6,900,5.43,CSH,18.5 +VTS,1,6,720,3.28,CRD,12.5 +VTS,1,6,660,2.57,CRD,10.5 +VTS,1,6,1140,7.01,CRD,23 +VTS,1,6,120,0.88,CSH,5 +VTS,1,6,780,3.16,CRD,12.5 +VTS,1,6,300,0.82,CSH,5.5 +VTS,1,6,660,2,CSH,9.5 +VTS,1,6,840,5.72,CRD,19 +VTS,1,6,900,6.21,CRD,20 +VTS,1,6,540,5.22,CSH,16.5 +VTS,1,6,120,0.58,CSH,4 +VTS,1,6,1020,4.23,CSH,16 +VTS,1,6,60,0.41,CRD,3.5 +VTS,1,6,720,5.15,CRD,15.5 +VTS,1,6,240,0.92,CRD,5 +VTS,1,6,720,3.72,CSH,12.5 +VTS,1,6,660,4.23,CSH,14.5 +VTS,1,6,660,2.19,CRD,10.5 +VTS,1,6,360,0.82,CRD,5.5 +VTS,1,6,780,3.25,CRD,12.5 +CMT,1,3,724,2.5,CRD,11 +CMT,1,2,546,2.4,CRD,10 +VTS,1,1,480,1.13,CRD,7 +VTS,1,1,420,2.04,CRD,9 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,6,600,2.14,CSH,9.5 +VTS,1,6,840,3.63,CRD,13.5 +VTS,1,6,360,1.01,CRD,6 +VTS,1,6,300,0.95,CSH,6 +VTS,1,6,240,0.72,CRD,5 +VTS,1,6,1260,5.34,CSH,19 +VTS,1,6,720,8.49,CSH,24 +VTS,1,6,180,0.94,CSH,5 +VTS,1,6,420,2.63,CRD,10 +VTS,1,6,720,1.04,CSH,8.5 +VTS,1,6,600,1.4,CSH,7.5 +VTS,1,6,1080,4.85,CSH,17.5 +VTS,1,6,960,3.67,CRD,14 +VTS,1,6,420,1.98,CSH,8.5 +VTS,1,6,1200,4.92,CSH,19 +VTS,1,6,1320,5.5,CSH,20 +VTS,1,6,120,0.72,CRD,4.5 +VTS,1,6,300,1.58,CRD,7 +VTS,1,6,360,0.75,CSH,6 +VTS,1,6,480,1.42,CRD,7.5 +VTS,1,6,120,0.94,CRD,4.5 +VTS,1,6,1020,8.16,CSH,25 +VTS,1,6,720,2.25,CRD,10.5 +VTS,1,6,660,2.34,CRD,10.5 +VTS,1,6,840,8.89,CSH,25 +VTS,1,6,780,2.74,CRD,11.5 +VTS,1,6,120,0.62,CRD,4 +VTS,1,6,420,3.57,CSH,12 +VTS,1,6,1380,6.33,CRD,23.5 +VTS,1,6,360,0.9,CRD,6.5 +VTS,1,6,120,0.39,CRD,3.5 +VTS,1,6,720,2.79,CRD,11.5 +VTS,1,6,720,2.51,CRD,11.5 +VTS,1,6,2400,7.72,CRD,31.5 +VTS,1,6,900,1.46,CSH,10.5 +VTS,1,6,240,1.24,CRD,6 +VTS,1,6,120,0.72,CRD,4.5 +VTS,1,6,600,2,CSH,9 +VTS,1,6,780,6.3,CRD,19.5 +VTS,1,6,660,2.31,CSH,10.5 +VTS,1,6,420,1.21,CRD,7 +VTS,1,6,1200,13.14,CRD,36.5 +VTS,1,6,480,3.76,CSH,12.5 +VTS,1,6,240,1.54,CSH,6.5 +VTS,1,6,300,1.45,CRD,7 +VTS,1,6,300,1.23,CRD,6 +VTS,1,6,480,2.02,CSH,9 +VTS,1,6,600,3.77,CRD,13 +VTS,1,6,720,2.31,CRD,10 +VTS,1,6,180,1.18,CSH,5.5 +VTS,1,6,480,1.64,CSH,8 +VTS,1,6,600,3.82,CSH,13.5 +VTS,1,6,2220,8.08,CRD,29 +VTS,1,6,720,2.54,CSH,11.5 +VTS,1,6,1260,10.11,CSH,29.5 +VTS,1,6,240,0.99,CRD,5 +VTS,1,6,900,7.1,CSH,22 +VTS,1,6,600,3.66,CRD,13 +VTS,1,6,1440,12.8,CSH,37.5 +VTS,1,6,480,1.08,CRD,7.5 +VTS,1,6,540,1.88,CRD,8.5 +VTS,1,6,600,3.08,CRD,11.5 +VTS,1,6,1980,7.52,CRD,26.5 +VTS,1,6,1500,3.76,CRD,18.5 +VTS,1,6,1020,5.35,CRD,19 +VTS,1,6,300,1.22,CRD,6.5 +VTS,1,6,420,2.5,CRD,9 +VTS,1,6,420,1.4,CSH,7.5 +VTS,1,6,300,1.66,CSH,7 +VTS,1,6,1380,8.54,CRD,26.5 +VTS,1,6,420,2.34,CSH,8.5 +VTS,1,6,360,1.14,CSH,6 +VTS,1,6,540,2.15,CRD,9 +VTS,1,6,720,6.97,CSH,20 +VTS,1,6,180,0.49,CSH,4 +VTS,1,6,780,7,CRD,21 +VTS,1,6,300,1.8,CSH,7 +VTS,1,6,720,1.91,CRD,10 +VTS,1,1,1080,3.67,CRD,15 +VTS,1,1,780,3.63,CSH,14 +VTS,1,6,840,3.54,CRD,13.5 +VTS,1,6,1080,4.06,CRD,16 +VTS,1,6,840,3.11,CRD,13 +VTS,1,6,660,4.24,CSH,14.5 +VTS,1,6,900,3.25,CSH,13 +VTS,1,6,480,1.85,CSH,8.5 +VTS,1,6,360,1.19,CSH,6 +VTS,1,6,1200,9.21,CSH,28 +VTS,1,6,1140,2.19,CRD,13.5 +VTS,1,6,540,1.51,CSH,8 +VTS,1,6,780,2.27,CRD,11.5 +VTS,1,6,420,2.04,CRD,8.5 +VTS,1,6,240,2.07,CRD,8 +VTS,1,6,240,0.85,CSH,5 +VTS,1,6,300,1.57,CRD,6.5 +VTS,1,6,540,1.46,CRD,8 +VTS,1,6,420,0.85,CSH,6 +VTS,1,6,600,1.13,CSH,8 +VTS,1,6,660,3.23,CRD,12 +VTS,1,6,420,1.01,CRD,6.5 +VTS,1,6,420,1.31,CSH,6.5 +VTS,1,6,1140,2.42,CSH,13.5 +VTS,1,6,660,3.92,CRD,14 +VTS,1,6,480,1.81,CRD,8 +VTS,1,6,660,2.13,CSH,10 +VTS,1,6,540,2.9,CSH,11 +VTS,1,6,480,3.65,CSH,11.5 +VTS,1,6,180,0.73,CSH,4.5 +VTS,1,6,540,1.69,CSH,8 +VTS,1,6,240,1.26,CRD,6 +VTS,1,6,360,1.96,CSH,8.5 +VTS,1,6,600,5.69,CSH,17 +VTS,1,6,840,3.46,CSH,13.5 +VTS,1,6,600,2.96,CSH,11.5 +VTS,1,6,60,0.62,CRD,4 +VTS,1,6,1320,3.29,CRD,17 +VTS,1,6,1020,2.69,CRD,13 +VTS,1,6,720,3.02,CSH,11.5 +VTS,1,6,720,4.8,CSH,16 +VTS,1,6,1200,3.54,CRD,16.5 +VTS,1,6,1200,5.52,CRD,19.5 +VTS,1,6,780,4.6,CRD,15 +VTS,1,6,120,0.47,CSH,4 +VTS,1,6,780,4.23,CSH,15 +VTS,1,6,900,2.59,CRD,12.5 +VTS,1,6,420,1.65,CSH,7.5 +VTS,1,6,1140,5.23,CRD,18 +VTS,1,5,600,1.21,CRD,8 +VTS,1,6,240,0.99,CRD,5 +VTS,1,6,420,2.06,CSH,8 +VTS,1,6,420,1.97,CRD,8.5 +VTS,1,6,540,1.85,CRD,9.5 +VTS,1,6,720,3,CRD,12.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,6,540,2.11,CSH,9 +VTS,1,6,1800,7.64,CRD,27 +VTS,1,6,480,2,CRD,9 +VTS,1,6,60,0.31,CRD,3 +VTS,1,6,420,2.37,CRD,9 +VTS,1,6,1200,3.89,CRD,17 +VTS,1,6,300,1.69,CSH,6.5 +VTS,1,6,480,1.69,CRD,8 +VTS,1,6,2340,17.92,CSH,51.5 +VTS,1,6,1560,18.89,CRD,50.5 +VTS,1,6,840,2.65,CRD,12 +VTS,1,6,660,2.96,CSH,12 +VTS,1,6,600,2.62,CSH,11 +VTS,1,6,540,2.05,CSH,9.5 +VTS,1,6,60,0,CSH,3 +VTS,1,6,480,1.63,CRD,8 +VTS,1,6,180,0.57,CRD,4.5 +VTS,1,6,300,0.87,CRD,5.5 +VTS,1,6,1320,10.48,CSH,30 +VTS,1,6,420,1.48,CRD,7.5 +VTS,1,6,1080,3.35,CRD,15 +VTS,1,6,180,0.45,CSH,4 +VTS,1,6,240,0.58,CRD,4.5 +VTS,1,6,240,0.78,CSH,5 +VTS,1,6,360,0.92,CSH,5.5 +VTS,1,6,1080,5.17,CSH,18 +VTS,1,6,480,1.14,CRD,7 +VTS,1,6,600,2.68,CSH,10.5 +VTS,1,6,420,1.38,CRD,7.5 +VTS,1,6,900,7.25,CSH,22.5 +VTS,1,6,240,1.25,CRD,6 +VTS,1,6,120,0.39,CSH,3.5 +VTS,1,6,480,1.64,CSH,8 +VTS,1,6,780,0.88,CRD,9 +VTS,1,6,900,3.83,CRD,14 +VTS,1,6,900,2.23,CRD,12 +VTS,1,6,780,2.78,CRD,12 +VTS,1,6,180,0.41,CSH,4.5 +VTS,1,6,360,1.25,CSH,6 +VTS,1,6,600,1.63,CRD,9 +VTS,1,6,300,1.05,CSH,6 +VTS,1,6,1200,6.8,CSH,22 +VTS,1,6,1320,13.87,CRD,38 +VTS,1,6,960,6.2,CSH,20.5 +VTS,1,6,300,0.87,CSH,5.5 +VTS,1,6,840,2.83,CRD,13.5 +VTS,1,6,180,0.97,CSH,5 +VTS,1,6,480,3.52,CSH,12.5 +VTS,1,6,240,1.19,CSH,5.5 +VTS,1,6,420,1.49,CRD,7.5 +VTS,1,6,240,0.74,CRD,5 +VTS,1,6,180,0.67,CSH,4.5 +VTS,1,1,2100,8.1,CRD,28 +VTS,1,1,960,4.66,CSH,17 +VTS,1,6,420,1.58,CSH,7.5 +VTS,1,6,600,1.88,CSH,9 +VTS,1,6,840,2.5,CSH,10 +VTS,1,6,720,2.12,CRD,10 +VTS,1,6,420,2.81,CRD,9.5 +VTS,1,6,420,2,CSH,8 +VTS,1,6,540,2.74,CSH,10.5 +VTS,1,6,420,2.14,CRD,8.5 +VTS,1,6,360,1.65,CSH,7 +VTS,1,6,1140,7.01,CSH,22 +VTS,1,6,420,1.47,CRD,7.5 +VTS,1,6,720,2.74,CSH,11.5 +VTS,1,6,360,0.84,CRD,6 +VTS,1,6,660,2.08,CRD,9.5 +VTS,1,6,240,0.84,CRD,5 +VTS,1,6,240,1.16,CRD,6 +VTS,1,6,1020,5.71,CSH,18.5 +VTS,1,6,120,0.94,CRD,5 +VTS,1,6,300,0.88,CSH,5.5 +VTS,1,6,420,1.87,CSH,7.5 +VTS,1,6,300,0.91,CRD,5.5 +VTS,1,6,900,4.97,CRD,17 +VTS,1,6,600,3.42,CSH,11.5 +VTS,1,6,600,2.9,CRD,11.5 +VTS,1,6,720,1.96,CRD,10 +VTS,1,6,300,0.76,CRD,5.5 +VTS,1,6,600,3.11,CRD,11.5 +VTS,1,6,900,2.79,CSH,12 +VTS,1,6,180,0.74,CSH,4.5 +VTS,1,6,1320,6.87,CSH,23 +VTS,1,6,540,3.18,CRD,10.5 +VTS,1,6,360,0.57,CSH,5.5 +VTS,1,6,360,1.19,CRD,6.5 +VTS,1,6,300,1.38,CRD,6.5 +VTS,1,6,540,2.65,CSH,10 +VTS,1,6,660,1.48,CSH,8.5 +VTS,1,6,1080,2.53,CRD,13.5 +VTS,1,6,300,1.4,CRD,6.5 +VTS,1,6,360,1.45,CSH,7 +VTS,1,6,360,1.65,CRD,7 +VTS,1,6,240,1.03,CRD,5 +VTS,1,6,360,1.2,CSH,6 +VTS,1,6,120,0.71,CSH,4 +VTS,1,6,780,2.31,CRD,11 +VTS,1,6,2220,8.02,CSH,30.5 +VTS,1,6,720,2.98,CRD,11.5 +VTS,1,6,420,0.76,CRD,6.5 +VTS,1,6,420,2.5,CRD,9.5 +VTS,1,6,1080,4.87,CRD,17 +VTS,1,6,1080,7.18,CSH,22 +VTS,1,6,300,1.35,CRD,6.5 +VTS,1,6,420,2.97,CRD,10 +VTS,1,1,240,0.65,CRD,4.5 +VTS,1,1,420,1.38,CRD,7 +VTS,1,1,960,2.62,CRD,13 +VTS,1,1,300,1.2,CRD,5.5 +VTS,1,6,420,1.25,CRD,7 +VTS,1,6,540,1.9,CSH,9 +VTS,1,6,300,2.51,CSH,8.5 +VTS,1,6,1380,6.02,CSH,22 +VTS,1,6,360,1.43,CSH,7 +VTS,1,6,1020,3.14,CSH,13.5 +VTS,1,6,480,1.1,CSH,7 +VTS,1,6,660,1.82,CRD,9.5 +VTS,1,6,720,6.66,CRD,19.5 +VTS,1,6,420,1.1,CRD,6.5 +VTS,1,6,360,0.81,CSH,6 +VTS,1,6,960,1.13,CSH,10.5 +VTS,1,6,360,1.19,CSH,6.5 +VTS,1,6,240,1.18,CRD,6 +VTS,1,6,780,8.1,CSH,23.5 +VTS,1,6,1440,6.39,CSH,22 +VTS,1,6,660,5.75,CSH,17.5 +VTS,1,6,1140,4.9,CRD,18 +VTS,1,1,720,2.8,CRD,12 +VTS,1,1,660,2.72,CSH,10.5 +VTS,1,1,1140,2.38,CRD,14 +VTS,1,1,420,1.33,CSH,7 +VTS,1,1,420,1.41,CSH,7 +VTS,1,1,540,1.62,CSH,8 +VTS,1,2,180,0.74,CSH,4.5 +VTS,1,1,600,2.96,CRD,10.5 +VTS,1,1,540,2.48,CRD,10 +VTS,1,1,1140,2.24,CSH,13.5 +CMT,1,2,1058,5.3,CRD,18 +CMT,1,1,571,2.6,CSH,10.5 +CMT,1,2,431,1.5,CSH,7.5 +CMT,1,2,253,0.8,CRD,5 +CMT,1,1,600,1.5,CRD,9 +CMT,1,1,116,0.3,CRD,3.5 +CMT,1,3,421,1.6,CSH,7.5 +CMT,1,2,737,1.9,CRD,10 +CMT,1,1,921,2.8,CRD,13 +CMT,1,2,266,0.7,CSH,5 +CMT,1,1,312,0.9,CRD,6 +CMT,1,1,412,2.1,CRD,8.5 +CMT,1,1,360,1.1,CSH,6.5 +CMT,2,1,1685,17.7,CRD,52 +CMT,1,1,513,4,CRD,13.5 +CMT,1,2,936,4.2,CRD,15.5 +CMT,1,1,857,1.5,CRD,10.5 +CMT,1,1,1238,3.3,CRD,15.5 +CMT,1,1,457,1.2,CSH,7.5 +CMT,1,1,148,0.7,CSH,4.5 +CMT,1,2,422,1.3,CSH,7.5 +CMT,1,1,871,2.8,CRD,12 +CMT,1,1,654,1.5,CSH,9 +CMT,1,1,839,3.3,CRD,13 +CMT,1,1,965,4.2,CSH,15.5 +CMT,1,1,1521,4.9,CSH,20 +VTS,1,6,240,0.54,CSH,4.5 +VTS,1,6,360,0.64,CSH,5.5 +VTS,1,6,1020,2.89,CRD,13.5 +VTS,1,6,1980,9.62,CSH,31.5 +VTS,1,6,300,1.07,CRD,6 +VTS,1,6,180,0.55,CSH,4.5 +VTS,1,6,1020,5.54,CSH,19.5 +VTS,1,6,180,0.78,CRD,4.5 +VTS,1,6,720,5.49,CRD,16.5 +VTS,1,6,180,0.79,CRD,5 +VTS,1,1,1800,3.5,CRD,19.5 +VTS,1,1,300,1.13,CSH,5.5 +VTS,5,1,0,0,CRD,40 +VTS,1,1,1440,4.14,CRD,18 +VTS,1,1,840,1.72,CSH,10.5 +VTS,1,1,420,1.42,CRD,6.5 +VTS,1,1,480,1.26,CSH,7 +VTS,1,1,960,4.82,CRD,18 +VTS,1,1,540,1.86,CSH,8.5 +VTS,1,1,780,5.27,CSH,17 +VTS,1,1,480,3.17,CRD,11 +VTS,1,1,720,1.91,CSH,9.5 +VTS,1,1,660,3.54,CRD,13 +VTS,1,1,360,1.94,CSH,7.5 +VTS,1,1,120,0.28,CRD,3 +VTS,1,1,960,7.21,CSH,22 +VTS,1,1,120,0.49,CSH,4 +VTS,1,5,720,1.82,CRD,9.5 +VTS,1,6,540,0.99,CSH,7.5 +VTS,1,6,540,2.6,CRD,10.5 +VTS,1,6,480,2.21,CRD,9.5 +VTS,1,6,120,0.93,CSH,5 +VTS,1,6,840,8.25,CRD,24.5 +VTS,1,6,240,0.44,CSH,4 +VTS,1,6,840,4.39,CSH,15 +VTS,1,6,420,0.76,CRD,6.5 +VTS,1,6,120,0.72,CSH,4 +VTS,1,6,600,5,CSH,16 +VTS,1,6,1200,3.83,CRD,16 +VTS,1,6,180,0.45,CSH,3.5 +VTS,1,6,540,2.97,CRD,11 +VTS,1,6,900,2.67,CRD,12.5 +VTS,1,6,780,3.15,CRD,13 +VTS,1,6,540,2.14,CRD,9 +VTS,1,6,120,0.61,CRD,4 +VTS,1,6,60,0.72,CRD,4 +VTS,1,6,420,2,CRD,8.5 +VTS,1,6,300,0.87,CRD,5.5 +VTS,1,1,480,1.05,CSH,6.5 +VTS,1,1,540,1.54,CSH,8 +VTS,1,1,540,1.65,CRD,8.5 +VTS,1,1,480,2.06,CRD,8.5 +VTS,3,1,1740,20.51,CRD,72.5 +VTS,1,1,180,0.62,CSH,4 +VTS,1,1,660,2.32,CRD,10.5 +VTS,1,1,1080,2.76,CRD,14 +VTS,1,1,840,2.93,CRD,12.5 +VTS,1,2,780,4.07,CSH,14.5 +VTS,1,2,480,1.86,CRD,8.5 +VTS,1,5,840,3.14,CSH,12 +VTS,1,5,600,2.5,CRD,10.5 +VTS,1,5,360,1.96,CRD,8 +VTS,1,5,1020,1.37,CSH,11.5 +VTS,1,5,120,0.37,CSH,3 +VTS,1,5,1740,12.16,CRD,36.5 +VTS,1,5,360,1.47,CRD,7.5 +VTS,1,5,1140,4.38,CSH,17.5 +VTS,1,1,360,1.09,CRD,6.5 +VTS,1,1,180,1.09,CSH,5.5 +VTS,1,1,1140,5.01,CRD,18 +VTS,1,1,480,1.66,CRD,7.5 +VTS,1,1,240,0.78,CRD,4.5 +VTS,1,1,180,1.04,CSH,5 +VTS,1,1,180,0.36,CSH,4 +VTS,1,1,300,1.54,CSH,6.5 +VTS,1,5,360,1.81,CRD,7.5 +VTS,1,5,1080,10.87,CSH,30.5 +VTS,1,5,420,1.22,CSH,7 +VTS,1,5,780,3.42,CRD,13 +VTS,1,5,1380,10.76,CRD,32.5 +VTS,1,6,1380,2.38,CRD,15 +VTS,1,6,840,5.76,CRD,19 +VTS,1,6,780,5.91,CSH,19 +VTS,1,6,540,1.28,CSH,7.5 +VTS,1,1,720,3.01,CSH,11.5 +VTS,2,2,2820,17.4,CRD,52 +VTS,2,1,2340,20.51,CRD,52 +VTS,1,1,600,2.41,CRD,10 +VTS,1,1,180,1.3,CRD,5.5 +VTS,1,1,660,3.78,CRD,13 +VTS,1,1,960,2.06,CSH,11.5 +VTS,1,2,420,1.63,CRD,8 +VTS,1,2,480,2.19,CRD,9 +VTS,1,2,240,0.95,CSH,5 +VTS,1,1,60,0,CSH,3 +VTS,1,5,720,2.58,CRD,11 +VTS,1,5,180,0.72,CRD,5 +VTS,1,5,660,1.1,CRD,8 +VTS,1,5,720,2.05,CRD,10.5 +VTS,1,5,780,5.06,CRD,16.5 +VTS,1,5,840,3.85,CRD,14.5 +VTS,1,5,360,1.07,CSH,6.5 +VTS,1,5,360,1.73,CSH,7.5 +VTS,1,5,600,1.75,CRD,8.5 +VTS,1,5,240,0.9,CRD,5 +VTS,1,1,900,2.5,CSH,11.5 +VTS,1,1,600,2.64,CRD,10.5 +VTS,1,1,420,1.29,CSH,6.5 +VTS,1,1,360,1.31,CSH,7 +VTS,1,1,480,1.13,CRD,7.5 +VTS,1,1,360,1.39,CRD,6.5 +VTS,1,1,1080,5.66,CSH,19.5 +CMT,1,1,334,0.9,CSH,6 +CMT,1,1,264,1.2,CSH,6 +CMT,1,1,315,1.4,CSH,6.5 +CMT,1,1,396,1,CSH,6.5 +CMT,1,3,858,4.9,CSH,16 +CMT,1,1,129,0.5,CSH,4 +VTS,1,1,1440,5.75,CSH,20.5 +VTS,1,1,240,0.89,CRD,5 +VTS,1,1,1140,5.31,CRD,18 +VTS,1,6,600,2.77,CSH,11.5 +VTS,1,6,660,2.81,CRD,10.5 +VTS,1,6,600,2.85,CSH,11.5 +VTS,1,6,300,1.11,CSH,6 +VTS,1,6,120,0.85,CSH,4.5 +VTS,1,6,720,7.17,CRD,21.5 +VTS,1,6,600,2.84,CRD,11 +VTS,1,6,720,2.75,CRD,11 +VTS,1,6,180,0.7,CSH,4.5 +VTS,1,6,1380,9.15,CRD,29 +VTS,1,6,480,1.01,CRD,6.5 +VTS,1,6,300,1.38,CSH,7 +VTS,1,6,420,1.56,CRD,7 +VTS,1,6,1680,3.91,CSH,19.5 +VTS,1,6,960,4.49,CSH,16.5 +VTS,1,6,420,1.26,CRD,7 +VTS,1,6,540,1.35,CSH,7.5 +VTS,1,6,1560,9.5,CRD,29.5 +VTS,1,6,180,0.8,CSH,5 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,540,2.68,CRD,10.5 +VTS,1,1,240,0.7,CRD,4.5 +VTS,1,1,600,2.36,CRD,10 +VTS,1,1,840,2.47,CRD,12 +VTS,1,1,600,2.46,CSH,10.5 +VTS,1,1,660,2.27,CSH,9.5 +VTS,1,1,360,1.43,CRD,7 +VTS,1,1,480,2.46,CRD,9.5 +VTS,1,1,540,3.16,CRD,11.5 +VTS,1,1,660,1.8,CRD,10 +VTS,1,1,300,1,CSH,5.5 +VTS,1,1,240,0.72,CSH,4.5 +VTS,1,1,360,0.84,CSH,6 +VTS,1,2,480,0.84,CRD,6.5 +VTS,1,1,960,2.44,CSH,12.5 +VTS,1,1,720,1.82,CRD,9.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,5,300,1.04,CRD,5.5 +VTS,1,5,240,1.06,CSH,5 +VTS,1,5,540,2.32,CSH,9 +VTS,1,5,660,1.6,CRD,9 +VTS,1,5,480,1.78,CSH,8 +VTS,1,5,360,1.5,CSH,7.5 +VTS,1,5,360,1.05,CRD,6 +VTS,1,5,420,1.69,CRD,8 +VTS,1,5,600,2.95,CSH,10.5 +VTS,1,5,660,1.89,CRD,9.5 +VTS,1,6,300,1.21,CRD,6 +VTS,1,6,660,2.27,CRD,10.5 +VTS,1,6,720,2,CRD,10 +VTS,1,6,840,3.02,CSH,13 +VTS,1,6,300,2.11,CSH,7.5 +VTS,1,6,300,1.13,CSH,6.5 +VTS,1,6,120,0.51,CSH,4 +VTS,1,6,1020,2.97,CSH,13 +VTS,1,6,540,2.41,CRD,9.5 +VTS,1,6,360,1.28,CSH,7 +VTS,1,6,840,5.03,CRD,16.5 +VTS,1,6,300,2.01,CRD,7.5 +VTS,1,6,420,2.7,CRD,10 +VTS,1,6,780,7.89,CRD,23 +VTS,1,6,600,2.63,CRD,10 +VTS,1,6,1080,4.54,CRD,17 +VTS,1,6,240,1.32,CRD,6 +VTS,1,6,480,1.36,CRD,7.5 +VTS,1,6,360,1.06,CRD,6 +VTS,1,6,240,1.34,CRD,6 +VTS,1,6,840,5.24,CRD,17 +VTS,2,6,1440,18.13,CRD,52 +VTS,1,6,360,1.39,CRD,7 +VTS,1,6,540,2.98,CRD,10.5 +VTS,1,6,180,0.77,CSH,4.5 +VTS,1,6,180,0.72,CRD,5 +VTS,1,6,300,1.67,CSH,7 +VTS,1,6,480,1.29,CRD,7.5 +VTS,1,6,780,2.76,CRD,12.5 +VTS,1,6,960,5.37,CRD,17.5 +VTS,1,6,960,9.89,CRD,27.5 +VTS,1,6,600,1.51,CSH,8.5 +VTS,1,6,780,3.79,CSH,13.5 +VTS,1,6,840,5.41,CSH,17 +VTS,1,6,540,2.14,CRD,9.5 +VTS,1,6,360,0.81,CRD,6 +VTS,1,6,1200,3.99,CRD,16.5 +VTS,4,6,0,0,CSH,2.5 +VTS,1,6,600,1.91,CSH,9.5 +VTS,1,6,720,1.19,CSH,9 +VTS,1,6,1740,12.1,CSH,36.5 +VTS,1,6,720,3.6,CRD,13 +VTS,1,6,420,2.22,CSH,8.5 +VTS,1,6,540,2.11,CRD,8.5 +VTS,1,6,660,3.01,CRD,11.5 +VTS,1,6,360,1.75,CRD,7.5 +VTS,1,1,300,0.66,CSH,5 +VTS,1,1,840,2.74,CRD,12 +VTS,1,1,840,5.55,CSH,18 +VTS,1,1,720,3.55,CRD,13 +VTS,1,1,360,1.12,CSH,6 +VTS,1,1,240,0.91,CSH,5.5 +VTS,1,1,120,0.36,CRD,3.5 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,600,2.98,CRD,11 +VTS,1,5,780,1.83,CSH,10.5 +VTS,1,5,540,1.66,CRD,9 +VTS,1,5,1500,4.22,CRD,18.5 +VTS,1,5,1920,9.66,CSH,32 +VTS,1,5,540,2.12,CSH,9.5 +VTS,1,5,240,0.85,CSH,5 +VTS,1,5,1860,5.37,CRD,22.5 +VTS,1,5,720,2.98,CSH,11.5 +VTS,1,5,300,0.79,CSH,5.5 +VTS,1,5,1080,3.01,CRD,13.5 +VTS,1,5,240,0.72,CRD,5 +VTS,1,5,780,2.52,CSH,11.5 +VTS,1,5,600,1.37,CRD,8.5 +VTS,1,5,840,2.31,CRD,12 +VTS,1,1,240,0.89,CRD,5 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,1,120,0.6,CSH,4 +VTS,1,1,240,1.63,CSH,6.5 +VTS,1,1,240,0.87,CRD,5 +VTS,1,1,300,1.41,CSH,6.5 +VTS,1,1,420,2.09,CRD,8.5 +VTS,1,1,600,2.67,CRD,10.5 +VTS,1,1,1140,3.95,CRD,16 +VTS,1,1,720,1.84,CRD,10 +VTS,1,1,540,0.76,CSH,7.5 +VTS,1,1,240,0.79,CSH,4.5 +VTS,1,5,480,2.41,CRD,9.5 +VTS,1,5,240,0.79,CRD,5 +VTS,1,5,1920,10.88,CRD,35 +VTS,1,5,120,0.51,CRD,4 +VTS,1,5,1560,15.89,CSH,44 +VTS,1,5,300,0.89,CSH,5 +VTS,1,5,300,1.2,CRD,6 +VTS,1,5,360,1.5,CSH,7 +VTS,1,5,180,0.33,CRD,4 +VTS,1,1,360,0.91,CRD,6 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,300,0,CSH,5 +VTS,1,1,480,0.76,CRD,6.5 +VTS,1,1,660,2.39,CRD,10.5 +VTS,1,1,540,1.65,CSH,8.5 +VTS,1,1,240,0.48,CRD,4.5 +VTS,1,1,420,1.95,CSH,7.5 +VTS,1,1,780,1.82,CSH,10.5 +VTS,1,1,480,1.61,CRD,8 +VTS,1,1,240,0.9,CRD,5 +VTS,5,2,0,0,CRD,83 +VTS,1,5,540,2.8,CSH,10.5 +VTS,1,5,120,0.66,CSH,4 +VTS,1,5,1140,1.31,CSH,12 +VTS,1,5,540,1.67,CSH,8 +VTS,1,5,240,1,CSH,5.5 +VTS,1,5,2220,10.17,CSH,34 +VTS,1,5,1500,20.56,CRD,54 +VTS,1,5,1140,5.3,CSH,18 +VTS,1,5,840,2.39,CRD,11.5 +VTS,1,1,360,1.11,CSH,6.5 +VTS,1,1,300,1.23,CSH,6.5 +VTS,1,1,420,1.34,CSH,7.5 +VTS,1,1,300,0.56,CRD,5 +VTS,1,2,780,2.92,CSH,12 +VTS,1,2,840,4.46,CSH,16 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,480,2.25,CRD,9 +VTS,1,1,240,0.19,CRD,4.5 +VTS,1,2,180,0.51,CSH,4 +VTS,1,1,540,1.69,CSH,8 +VTS,1,1,600,1.3,CSH,8 +VTS,1,5,840,2.46,CSH,12 +VTS,1,5,420,1.29,CRD,7.5 +VTS,1,5,300,0.89,CSH,6 +VTS,1,5,420,1.89,CSH,8 +VTS,1,5,1620,5.35,CRD,21.5 +VTS,1,5,240,0.71,CRD,5 +VTS,1,5,1020,5.53,CSH,18 +VTS,1,5,420,0.93,CRD,6.5 +VTS,1,5,180,0.84,CRD,4.5 +VTS,1,5,1980,7.04,CSH,27.5 +VTS,1,5,1560,16,CSH,44 +VTS,1,5,540,1.72,CSH,8.5 +VTS,1,5,900,3.35,CRD,14 +VTS,1,5,300,0.91,CRD,5.5 +VTS,1,1,180,0.67,CSH,4 +VTS,1,1,420,1.77,CRD,7.5 +VTS,1,1,120,0.34,CRD,3.5 +VTS,1,2,300,1.16,CRD,6.5 +VTS,1,1,60,0.04,CSH,2.5 +VTS,1,1,480,1.6,CRD,8 +VTS,1,1,360,1.41,CRD,7 +VTS,1,1,660,2.4,CRD,10 +VTS,1,1,840,5.93,CSH,19.5 +VTS,1,2,780,6.73,CSH,20.5 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,2,360,0.62,CSH,5.5 +VTS,1,1,600,1.98,CRD,9.5 +VTS,1,2,2160,9.71,CRD,34.5 +VTS,1,5,960,3.18,CRD,13.5 +VTS,1,5,720,2.19,CRD,11 +VTS,1,5,1440,12.5,CSH,36 +VTS,1,5,1920,9.45,CRD,32.5 +VTS,1,5,480,0.89,CSH,6.5 +VTS,1,5,840,3.29,CRD,13 +VTS,1,5,360,0.93,CRD,6 +VTS,1,5,840,1.62,CSH,10.5 +VTS,1,5,780,2.07,CSH,10.5 +VTS,1,1,180,0.74,CSH,4 +VTS,1,1,120,0.72,CRD,4 +VTS,1,1,600,0.95,CRD,8 +VTS,1,1,1020,2.22,CSH,12 +VTS,1,5,480,1.47,CRD,7.5 +VTS,1,5,300,1.3,CSH,6.5 +VTS,1,5,0,0.02,CSH,2.5 +VTS,1,5,900,7.43,CSH,22.5 +VTS,1,6,1020,4.71,CRD,17.5 +VTS,1,6,2100,18.86,CRD,52.5 +VTS,1,6,840,2.71,CSH,12 +VTS,1,6,420,2.37,CRD,9.5 +VTS,1,6,120,0.43,CSH,4 +VTS,1,6,900,9.03,CRD,26 +VTS,1,6,1980,8.62,CRD,30 +VTS,1,6,1020,4.16,CSH,15.5 +VTS,1,6,840,8.72,CRD,24.5 +VTS,1,6,840,3.68,CSH,14 +VTS,1,6,1740,16.02,CRD,45.5 +VTS,1,6,180,0.58,CRD,4 +VTS,1,1,1320,6.47,CSH,22 +VTS,1,1,1380,9.74,CRD,30 +VTS,1,1,1620,9.18,CSH,29 +VTS,1,1,420,1.85,CSH,8 +VTS,1,1,960,7.48,CSH,23 +VTS,1,1,1080,4.45,CSH,16.5 +VTS,1,1,780,4.18,CRD,15 +VTS,1,2,1620,4.11,CSH,19 +VTS,1,1,240,0.75,CRD,5 +VTS,1,2,600,4.39,CSH,14 +VTS,1,1,240,1.66,CRD,6.5 +VTS,1,2,780,2.69,CRD,12.5 +VTS,1,2,240,1.1,CSH,5.5 +VTS,1,1,900,1.16,CRD,10 +VTS,1,1,0,0,CSH,2.5 +VTS,1,5,180,0.45,CSH,4 +VTS,1,1,240,0.98,CRD,5 +VTS,1,1,360,0.7,CSH,5.5 +VTS,1,1,420,1.42,CRD,7.5 +VTS,1,5,540,1.04,CSH,8 +VTS,1,5,1140,12.2,CRD,34.5 +VTS,1,5,540,1.61,CSH,8.5 +VTS,1,5,540,1.48,CRD,8 +VTS,1,5,420,1.79,CSH,7.5 +VTS,1,5,660,1.95,CRD,9.5 +VTS,1,6,780,2.19,CSH,11 +VTS,1,6,300,0.99,CSH,5.5 +VTS,1,6,600,1.94,CSH,9 +VTS,1,6,120,0.98,CRD,5 +VTS,1,6,1380,5.16,CSH,20.5 +VTS,1,6,420,0.7,CRD,6 +VTS,1,6,540,2.03,CSH,9 +VTS,1,6,1740,5.77,CSH,22.5 +VTS,1,6,1200,2.75,CRD,15 +VTS,1,6,360,0.85,CSH,6 +VTS,1,6,180,0.94,CRD,5 +VTS,1,6,420,0.72,CSH,6 +VTS,1,6,180,0.78,CSH,4.5 +VTS,1,6,900,1.91,CRD,11 +VTS,1,6,420,1.29,CSH,7 +VTS,1,6,780,1.51,CRD,9.5 +VTS,1,6,240,1.33,CRD,6 +VTS,1,6,360,1.09,CRD,6.5 +VTS,1,5,660,3.05,CSH,12 +VTS,1,6,1020,3.73,CRD,15 +VTS,1,6,360,1.13,CRD,6.5 +VTS,1,6,300,0.68,CSH,5 +VTS,1,6,420,1.4,CRD,7.5 +VTS,1,6,960,3.4,CRD,14 +VTS,1,6,1080,2.46,CRD,13 +VTS,1,6,720,1.58,CSH,9.5 +VTS,1,6,300,1.01,CRD,6 +VTS,1,6,420,0.92,CRD,6.5 +VTS,1,6,300,0.9,CSH,6 +VTS,1,6,360,1.69,CRD,7 +VTS,1,6,600,1.96,CSH,9.5 +VTS,1,6,240,0.87,CSH,5 +VTS,1,6,540,1.65,CRD,8.5 +VTS,1,6,180,0.49,CSH,4 +VTS,1,6,720,2.02,CRD,10.5 +VTS,1,6,540,1.11,CSH,7.5 +VTS,1,6,360,1.57,CSH,7 +VTS,1,6,660,2.29,CSH,10 +VTS,1,6,960,3.1,CRD,13 +VTS,1,6,720,2.61,CRD,11 +VTS,1,6,300,0.71,CRD,5 +VTS,1,6,1140,7.32,CRD,23 +VTS,1,6,660,2.2,CSH,10 +VTS,1,6,240,0.62,CRD,5 +VTS,1,6,2160,4.49,CSH,24.5 +VTS,1,5,900,3.92,CSH,15.5 +VTS,1,5,120,0.22,CSH,3 +VTS,1,5,300,0.78,CRD,5.5 +VTS,1,5,360,1.34,CRD,6 +VTS,1,5,1020,1.89,CSH,12.5 +VTS,1,5,120,0.57,CSH,4 +VTS,1,5,420,1.58,CSH,7.5 +VTS,1,5,1200,4.99,CRD,18 +VTS,1,5,1140,3.23,CSH,15 +VTS,1,5,360,0.81,CSH,5.5 +VTS,1,5,360,1.36,CRD,7 +VTS,1,1,540,3.32,CRD,12 +VTS,1,1,300,0.97,CSH,5.5 +VTS,1,1,480,1.58,CSH,8 +VTS,1,1,360,1.36,CSH,6 +VTS,1,1,1200,3.82,CRD,15.5 +VTS,1,1,540,2.11,CSH,9.5 +VTS,1,5,300,1.17,CRD,6 +VTS,1,5,480,1.32,CSH,7.5 +VTS,1,5,900,2.9,CSH,13 +VTS,1,5,840,1.63,CSH,10.5 +VTS,1,6,720,1.29,CRD,9 +VTS,1,6,600,1.71,CRD,8.5 +VTS,1,6,420,0.63,CSH,5.5 +VTS,1,6,780,2.34,CSH,10.5 +VTS,1,6,600,1.79,CSH,9 +VTS,1,6,1620,2.88,CRD,18 +VTS,1,6,240,1.25,CSH,6.5 +VTS,1,6,600,1.38,CRD,8.5 +VTS,1,6,240,0.53,CSH,4.5 +VTS,1,6,360,1.21,CSH,7 +VTS,1,6,1920,7.41,CSH,27.5 +VTS,1,6,1260,4.9,CRD,19 +VTS,1,6,720,2.14,CRD,10.5 +VTS,1,6,420,0.95,CRD,6 +VTS,1,6,600,2.17,CSH,9.5 +VTS,1,6,540,1.38,CSH,8 +VTS,1,6,1920,5.83,CRD,25 +VTS,1,6,360,0.95,CRD,6 +VTS,1,6,180,0.52,CSH,4 +VTS,1,6,420,0.75,CRD,6.5 +VTS,1,6,780,2.12,CSH,10.5 +VTS,1,6,1680,5.86,CRD,23.5 +VTS,1,6,420,1.63,CSH,7 +VTS,1,6,420,0.63,CSH,6 +VTS,1,6,1020,2.04,CSH,12 +VTS,1,6,300,1.09,CSH,6 +VTS,1,6,1140,2.92,CRD,14.5 +VTS,1,6,420,0.76,CRD,6 +VTS,1,6,660,1.87,CSH,10 +VTS,1,6,0,0.05,CSH,2.5 +VTS,1,6,180,0.59,CRD,4 +VTS,1,6,240,0.54,CRD,4.5 +VTS,1,6,1500,5.05,CRD,20 +VTS,1,6,720,1.56,CRD,9 +VTS,1,6,780,2.6,CSH,11 +VTS,1,6,600,2.37,CRD,10 +VTS,1,6,480,1.82,CSH,8.5 +VTS,1,6,840,4.99,CSH,16 +VTS,1,6,540,1.78,CSH,8.5 +VTS,1,6,300,1.54,CSH,7 +VTS,1,6,660,2.18,CRD,9.5 +VTS,1,6,960,1.23,CSH,11 +VTS,1,6,660,3.48,CSH,12 +VTS,1,6,1080,6.49,CSH,20.5 +VTS,1,6,240,1.06,CRD,5.5 +VTS,1,6,720,4.71,CRD,16 +VTS,1,6,1680,7.04,CRD,27 +VTS,1,6,780,3.69,CRD,13.5 +VTS,1,6,240,0.61,CRD,5 +VTS,1,6,840,5.38,CRD,16.5 +VTS,1,6,840,5.62,CRD,17.5 +VTS,1,1,120,0.65,CRD,4 +VTS,1,1,1440,3.01,CRD,16.5 +VTS,1,1,660,2.56,CSH,10.5 +VTS,1,1,1620,11.66,CRD,34.5 +VTS,1,1,480,0.99,CSH,7 +VTS,1,1,600,1.41,CSH,8.5 +VTS,1,1,300,0.56,CRD,4.5 +VTS,1,1,840,2.24,CRD,11 +VTS,1,1,240,1.31,CSH,6 +VTS,1,1,420,2.12,CRD,8.5 +VTS,1,2,780,4.32,CRD,15 +VTS,1,1,240,1.09,CRD,5.5 +VTS,2,1,1740,18.74,CRD,52 +VTS,1,1,900,1.43,CSH,11 +VTS,1,1,480,0.9,CRD,7 +VTS,1,2,900,2.24,CRD,11.5 +VTS,1,2,1200,2.37,CRD,13.5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,600,1.62,CSH,8.5 +VTS,1,1,1260,9.34,CRD,28 +VTS,1,2,180,0.68,CSH,4.5 +VTS,1,5,240,0.67,CRD,5.5 +VTS,1,5,480,1.58,CRD,7.5 +VTS,1,5,480,2.76,CRD,10.5 +VTS,1,5,480,0.84,CRD,7 +VTS,1,5,540,1.56,CSH,8 +VTS,1,5,1140,1.9,CRD,12.5 +VTS,1,5,660,2.03,CSH,9.5 +VTS,1,5,420,1.98,CSH,8 +VTS,1,5,1140,4.76,CRD,18 +VTS,1,5,420,1.06,CRD,7 +VTS,1,5,1740,5.59,CRD,22.5 +VTS,1,5,720,1.69,CSH,9.5 +VTS,1,5,300,0.79,CRD,5 +VTS,1,5,1320,2.66,CSH,15 +VTS,1,5,900,1.49,CRD,11 +VTS,1,1,540,2.29,CRD,9.5 +VTS,1,1,120,0.5,CSH,4 +VTS,1,1,900,2.39,CRD,11.5 +VTS,1,5,420,1.84,CRD,8 +VTS,1,5,1320,15.59,CRD,42 +VTS,1,6,660,1.56,CRD,9 +VTS,1,6,1080,3.84,CSH,15.5 +VTS,1,6,420,0.75,CRD,6.5 +VTS,1,6,900,2.69,CRD,12.5 +VTS,1,6,660,4.8,CRD,15.5 +VTS,1,6,480,1.16,CSH,7 +VTS,1,6,360,1.15,CSH,6 +VTS,1,6,180,0.58,CRD,4.5 +VTS,1,6,600,1.62,CSH,9 +VTS,1,6,1500,7.44,CSH,26.5 +VTS,1,6,1020,8.99,CSH,26 +VTS,1,6,1080,1.62,CSH,12 +VTS,1,6,360,1.23,CSH,6.5 +VTS,1,6,1440,10.44,CSH,31 +VTS,1,6,360,1.16,CRD,6 +VTS,1,6,360,1.4,CSH,6.5 +VTS,1,6,720,2.51,CSH,11 +VTS,1,6,1560,4.41,CRD,20.5 +VTS,1,6,420,1.09,CSH,7 +VTS,1,6,1200,3.43,CRD,15.5 +VTS,1,6,1020,3.01,CSH,13.5 +VTS,1,6,300,0.99,CSH,6 +VTS,1,6,720,2.74,CSH,11.5 +VTS,1,6,360,1.39,CSH,6.5 +VTS,1,6,1380,5.75,CSH,20.5 +VTS,1,6,300,0.89,CSH,5.5 +VTS,1,6,480,1.49,CRD,7.5 +VTS,1,5,480,2.57,CRD,10 +VTS,1,5,360,1.82,CSH,8 +VTS,1,6,300,1.34,CSH,6 +VTS,1,6,540,2.35,CRD,9.5 +VTS,1,6,420,1.4,CRD,7 +VTS,1,6,360,0.88,CSH,6 +VTS,1,6,600,1.42,CSH,8.5 +VTS,1,6,1380,3.44,CSH,17 +VTS,1,6,300,1,CRD,5.5 +VTS,1,6,1020,2.2,CSH,12.5 +VTS,1,6,540,1.82,CSH,8.5 +VTS,1,6,300,0.36,CSH,5 +VTS,1,6,660,3.14,CSH,11 +VTS,1,6,300,1.34,CRD,6 +VTS,1,6,360,1.16,CRD,6.5 +VTS,1,6,180,0.61,CSH,4.5 +VTS,2,6,2160,17.59,CRD,52 +VTS,1,6,360,0.89,CRD,6 +VTS,1,6,1080,2.93,CRD,13.5 +VTS,1,6,1080,2.55,CRD,13 +VTS,1,6,600,1.5,CSH,8.5 +VTS,1,6,240,0.64,CSH,5 +VTS,1,6,300,1.11,CRD,6 +VTS,1,1,120,0.55,CSH,4 +VTS,1,1,360,0.97,CRD,6 +VTS,1,1,240,1.81,CRD,7 +VTS,1,6,240,1.38,CSH,6 +VTS,1,6,180,0.51,CSH,4 +VTS,1,6,900,6.46,CRD,20.5 +VTS,1,6,420,1.04,CRD,6.5 +VTS,1,6,540,1.32,CSH,7.5 +VTS,1,6,480,1.17,CSH,7 +VTS,1,6,540,1.69,CSH,8.5 +VTS,1,6,300,0.63,CRD,5 +VTS,1,6,540,1.76,CSH,8.5 +VTS,1,1,540,2.01,CRD,9 +VTS,1,1,480,2.03,CRD,8.5 +VTS,1,1,180,0.79,CSH,5 +VTS,1,1,840,6.82,CRD,20.5 +VTS,1,6,780,3.2,CRD,13 +VTS,1,6,540,1.45,CRD,8.5 +VTS,1,6,1440,6.13,CSH,22.5 +VTS,1,6,1080,5.41,CRD,19 +VTS,1,6,540,1.93,CSH,8.5 +VTS,1,6,600,2.36,CSH,9.5 +VTS,1,6,540,1.49,CRD,8 +VTS,2,6,3060,20.19,CRD,52 +VTS,1,6,1500,10.39,CRD,31 +VTS,1,6,120,0.44,CRD,4 +CMT,1,1,1022,4.9,CSH,18 +CMT,1,1,1302,10,CSH,29 +CMT,1,1,626,4.1,CRD,14 +CMT,1,1,297,1.3,CRD,6 +CMT,1,1,202,1,CRD,5 +CMT,1,1,752,2.5,CSH,11.5 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,960,2.38,CSH,12 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,1200,0.06,CSH,12 +VTS,1,5,480,1.48,CSH,7 +VTS,5,1,0,11.06,CSH,120 +VTS,1,5,240,1.4,CSH,6.5 +VTS,1,5,180,0.73,CSH,4.5 +VTS,1,5,600,1.35,CRD,8.5 +VTS,1,5,840,2.07,CSH,10.5 +VTS,1,6,360,0.84,CSH,6 +VTS,1,6,780,1.03,CRD,9.5 +VTS,1,6,360,0.92,CRD,6 +VTS,1,6,180,0.46,CSH,4.5 +VTS,1,6,360,0.83,CSH,6 +VTS,1,6,240,0.77,CSH,5 +VTS,1,6,480,1.39,CSH,7.5 +VTS,1,6,480,0.72,CRD,6.5 +VTS,1,6,1560,9.78,CSH,30 +VTS,1,6,240,0.75,CSH,5 +VTS,1,6,540,2.25,CRD,9.5 +VTS,1,6,720,1.13,CRD,8.5 +VTS,1,6,360,0.78,CRD,6 +VTS,1,6,600,1.35,CSH,8.5 +VTS,1,6,600,1.35,CSH,8 +VTS,1,6,480,1.56,CRD,7.5 +VTS,1,6,300,0.67,CRD,5.5 +VTS,1,6,480,0.94,CSH,7 +VTS,1,6,600,1.74,CRD,8.5 +VTS,1,6,360,1.36,CRD,6.5 +VTS,1,6,480,1.07,CSH,7 +VTS,1,6,840,2.09,CRD,11 +VTS,1,6,420,1.12,CRD,6.5 +VTS,1,6,300,1.02,CSH,5.5 +VTS,1,6,300,0.93,CSH,5.5 +VTS,1,6,1740,6.48,CRD,24 +VTS,1,6,360,0.93,CRD,6 +CMT,1,1,320,1.8,CSH,7.5 +CMT,1,1,858,3.7,CRD,14 +CMT,1,1,230,1,CRD,5.5 +CMT,1,1,454,3.5,CRD,11.5 +CMT,2,1,1911,20.4,CRD,52 +CMT,1,1,244,0.8,CRD,5 +CMT,1,1,490,4,CRD,12.5 +CMT,1,1,71,0.5,CSH,3.5 +CMT,1,1,318,0.7,CSH,5.5 +CMT,1,1,256,1.2,CSH,6 +CMT,1,1,597,2.2,CSH,9.5 +CMT,1,1,773,3.2,CSH,12.5 +CMT,1,1,521,1.9,CSH,8.5 +CMT,1,1,220,0.9,CRD,5.5 +CMT,1,1,263,0.8,CSH,5.5 +VTS,1,5,900,2.76,CSH,12.5 +VTS,1,5,960,8.56,CSH,26 +VTS,1,6,120,0.22,CSH,3 +VTS,1,6,360,0.71,CSH,5.5 +VTS,1,6,540,1.55,CSH,8.5 +VTS,1,6,720,2.63,CRD,12 +VTS,1,6,720,1.62,CSH,9.5 +VTS,1,6,240,0.42,CSH,4.5 +VTS,1,6,300,1.17,CSH,6.5 +VTS,1,6,960,3.09,CRD,13 +VTS,1,6,300,1.19,CRD,6 +VTS,1,6,480,1.93,CRD,8.5 +VTS,1,6,660,2.25,CRD,10 +VTS,1,6,360,0.84,CRD,6 +VTS,1,6,480,1.54,CSH,7.5 +VTS,1,6,660,1.93,CSH,9.5 +VTS,1,6,720,1.47,CRD,9.5 +VTS,1,6,480,1.2,CSH,7 +VTS,1,6,840,2.12,CSH,12 +VTS,1,6,420,1.06,CRD,6.5 +VTS,1,6,300,0.8,CRD,5 +VTS,1,6,1080,5.2,CRD,18.5 +VTS,1,6,180,0.73,CRD,5 +VTS,1,6,960,1.51,CSH,11 +VTS,1,6,720,1.51,CRD,9.5 +VTS,1,6,120,0.38,CSH,3.5 +VTS,1,6,120,0.5,CRD,4 +VTS,1,6,540,2.13,CRD,9 +VTS,1,6,600,0.97,CRD,7.5 +VTS,1,6,240,1.02,CSH,5.5 +VTS,1,1,1200,8.19,CRD,25 +VTS,2,1,2220,18.04,CSH,52 +VTS,1,1,540,3.09,CRD,11 +VTS,1,1,240,0.95,CRD,5.5 +VTS,1,1,180,1.18,CSH,5.5 +VTS,1,1,660,3.89,CRD,13 +VTS,1,6,1680,6.86,CRD,24 +VTS,1,6,780,2.57,CSH,12 +VTS,1,6,540,1.67,CRD,8.5 +VTS,1,6,240,0.5,CRD,4.5 +VTS,1,6,180,0.71,CSH,4.5 +VTS,1,6,540,1.35,CSH,7.5 +VTS,1,6,420,0.98,CRD,6.5 +VTS,1,6,780,2.94,CRD,12 +VTS,1,6,600,1.84,CRD,9 +VTS,1,6,540,2.03,CSH,9.5 +VTS,1,6,480,1.77,CSH,8 +VTS,1,6,300,0.71,CSH,5 +VTS,1,6,1080,3.17,CRD,14 +VTS,1,6,600,1.56,CRD,9 +CMT,1,1,455,1.4,CRD,7.5 +CMT,1,1,841,9,CRD,25.5 +CMT,1,1,706,2.6,CSH,11 +CMT,1,1,613,2.7,CRD,11 +CMT,1,1,405,2.1,CRD,8.5 +VTS,1,1,180,1.53,CSH,6 +VTS,1,1,480,1.96,CSH,8.5 +VTS,1,1,540,2.39,CRD,9.5 +VTS,1,1,420,1.94,CRD,8.5 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,6,540,1.05,CRD,7.5 +VTS,1,6,1320,4.56,CSH,17.5 +VTS,1,6,600,3.36,CRD,12 +VTS,1,6,660,1.12,CRD,8 +VTS,1,6,480,0.93,CRD,7 +VTS,1,6,660,1.31,CSH,8.5 +VTS,1,6,600,1.58,CSH,8.5 +VTS,1,6,360,0.59,CSH,5.5 +VTS,1,6,360,2.11,CRD,8 +CMT,1,1,537,2,CRD,9 +CMT,1,1,441,2,CSH,8.5 +CMT,1,1,470,1.8,CSH,8.5 +CMT,1,1,610,3,CSH,11 +CMT,1,1,1110,2.2,CSH,13 +CMT,1,1,922,2.2,CSH,12 +CMT,1,2,766,5.7,CSH,18 +CMT,1,2,263,0.7,CRD,5.5 +CMT,1,1,1202,9.9,CRD,29.5 +CMT,1,2,668,2.3,CRD,11 +CMT,1,1,457,1.1,CRD,7 +CMT,1,1,350,0.9,CSH,6 +CMT,1,2,966,1.2,CRD,11 +VTS,1,5,480,1.61,CSH,8 +VTS,1,5,240,1.09,CSH,5.5 +VTS,1,5,180,1.17,CRD,5 +VTS,1,5,1260,5.45,CRD,20 +VTS,1,5,720,7.15,CSH,21.5 +VTS,1,5,180,1.55,CSH,6.5 +VTS,1,6,1020,3.38,CSH,14 +VTS,1,6,300,0.92,CSH,5.5 +VTS,1,6,480,1.23,CRD,7 +VTS,1,6,120,0.4,CSH,3.5 +VTS,1,6,540,2.39,CRD,10 +VTS,1,6,540,1.15,CSH,7.5 +VTS,1,6,540,0.72,CSH,7 +VTS,1,6,480,1.59,CRD,7.5 +VTS,1,6,1140,4.26,CRD,16.5 +VTS,1,6,300,0.94,CSH,5.5 +VTS,1,6,420,1.23,CSH,6.5 +VTS,1,6,660,1.36,CRD,8.5 +VTS,1,6,480,0.8,CRD,6.5 +VTS,1,6,300,0.78,CRD,5.5 +VTS,1,6,840,3.17,CRD,13 +VTS,1,6,600,1.74,CSH,9 +VTS,1,6,600,1.06,CRD,8 +VTS,1,6,960,2.49,CSH,12 +VTS,1,6,1080,1.3,CRD,12 +VTS,1,6,480,1.71,CSH,8 +VTS,1,6,1320,3.62,CSH,17 +CMT,1,1,732,8.1,CRD,23.5 +CMT,1,1,1811,3.9,CSH,2.5 +CMT,1,1,249,1,CSH,5.5 +CMT,1,1,553,1.5,CSH,8 +CMT,1,1,107,0.6,CSH,4 +CMT,1,1,544,1.6,CSH,8 +CMT,1,1,405,1,CRD,6.5 +CMT,1,1,933,8,CRD,24 +CMT,1,2,565,1.6,CRD,8.5 +CMT,1,1,481,2.1,CSH,9 +CMT,1,1,296,0.8,CRD,5.5 +CMT,1,2,807,4.9,CSH,16.5 +CMT,1,4,1167,6.8,CSH,23 +CMT,1,2,233,0.9,CSH,5.5 +CMT,1,2,408,2,CSH,8 +CMT,1,1,610,0.8,CSH,7.5 +CMT,1,2,237,0.6,CSH,5 +CMT,1,3,481,2.8,CRD,10 +CMT,1,3,440,1.4,CSH,7.5 +CMT,1,1,559,3.3,CSH,12 +CMT,1,1,398,1.6,CSH,8 +CMT,1,2,809,3,CRD,13 +CMT,1,2,743,1.3,CSH,9.5 +CMT,1,3,364,0.7,CSH,5.5 +CMT,1,1,1291,5.7,CSH,20.5 +CMT,1,1,938,2.2,CSH,12 +VTS,1,6,240,0.68,CRD,5 +VTS,1,6,960,4.18,CRD,16 +VTS,1,6,360,1.81,CSH,7.5 +VTS,1,6,900,3.2,CSH,13.5 +VTS,1,6,900,2.92,CSH,12.5 +VTS,1,6,1080,5.1,CRD,18.5 +VTS,1,6,660,2.41,CSH,10 +VTS,1,6,1380,10.39,CRD,30.5 +VTS,1,6,780,5.08,CSH,16 +VTS,1,6,540,2.21,CSH,9 +VTS,1,6,300,0.91,CSH,5.5 +VTS,1,6,780,2.36,CRD,11 +VTS,1,6,300,1.03,CRD,5.5 +CMT,1,1,2014,6.2,CSH,25.5 +CMT,1,1,691,2.7,CSH,11 +CMT,1,1,269,0.7,CRD,5 +CMT,1,1,242,0.7,CRD,5 +CMT,1,1,89,0.5,CSH,3.5 +CMT,1,1,806,5.6,CSH,18.5 +CMT,1,1,970,5,CSH,16.5 +CMT,1,1,521,2.7,CSH,10.5 +CMT,1,1,239,0.8,CRD,5 +CMT,1,1,85,0.5,CSH,3.5 +CMT,1,1,440,1.5,CSH,7.5 +CMT,1,1,460,1.2,CSH,7 +CMT,1,1,688,1.9,CSH,10 +VTS,1,1,720,4.41,CRD,14.5 +VTS,1,1,240,1.52,CSH,6.5 +VTS,1,1,480,2.4,CSH,10 +VTS,1,1,1140,11.81,CSH,33 +VTS,1,6,300,1.87,CRD,8 +VTS,1,6,360,2.85,CRD,9.5 +VTS,1,6,600,1.44,CSH,9 +VTS,1,6,540,1.36,CSH,7.5 +VTS,1,6,540,1.98,CRD,9 +VTS,1,6,660,2.68,CRD,10.5 +VTS,1,6,240,1.16,CSH,5.5 +VTS,1,6,660,2.81,CRD,10.5 +VTS,1,6,240,1.07,CRD,5.5 +VTS,1,6,300,0.51,CSH,5 +CMT,1,1,252,0.7,CSH,5 +CMT,1,1,613,1.9,CRD,9.5 +CMT,1,1,454,1.9,CRD,8.5 +CMT,1,1,287,1.3,CSH,6 +CMT,1,1,167,0.4,CSH,4 +CMT,1,1,509,1.4,CSH,8 +CMT,1,3,417,1.3,CRD,7 +CMT,1,4,516,1.2,CSH,7.5 +CMT,1,2,662,2.2,CSH,10.5 +CMT,1,2,537,1.2,CSH,7.5 +CMT,1,2,342,1.2,CSH,6.5 +CMT,1,2,415,1.3,CRD,7 +CMT,1,2,298,1.4,CSH,6.5 +CMT,1,2,806,3,CRD,12.5 +CMT,1,1,321,1.1,CRD,6 +CMT,1,2,1126,6.2,CSH,20.5 +CMT,1,1,2423,2.4,CRD,11.5 +CMT,1,2,1137,3.6,CSH,16.5 +CMT,1,1,407,1.2,CRD,6.5 +CMT,1,4,172,0.6,CSH,4.5 +CMT,1,1,153,0.7,CSH,4.5 +CMT,1,1,781,5.5,CSH,18 +CMT,1,2,455,1.4,CRD,7.5 +CMT,1,1,496,3.3,CSH,11.5 +CMT,1,2,717,2.2,CRD,10.5 +CMT,1,3,710,2.9,CSH,11.5 +CMT,1,3,390,0.7,CSH,6 +CMT,1,2,409,1.8,CSH,8 +CMT,1,1,932,3.3,CRD,14.5 +CMT,1,2,285,0.6,CSH,5 +CMT,1,4,831,1.9,CRD,10.5 +CMT,1,2,387,1.5,CRD,7 +CMT,1,2,884,3.7,CRD,14 +CMT,1,1,423,1.3,CRD,7 +CMT,1,1,765,1.7,CSH,10 +CMT,1,1,1480,5.2,CSH,20 +CMT,1,1,535,2.3,CRD,9.5 +CMT,1,2,256,0.9,CSH,5.5 +CMT,1,4,685,2.9,CSH,12 +VTS,1,6,540,1.25,CRD,7.5 +VTS,1,6,1140,2.01,CSH,13 +VTS,1,6,660,2.62,CRD,11 +VTS,1,6,360,0.73,CSH,5.5 +VTS,1,6,960,3.37,CRD,13.5 +VTS,1,6,1380,3.23,CRD,16 +VTS,1,6,360,0.92,CRD,6 +VTS,1,6,300,1.04,CSH,5.5 +VTS,1,1,960,5.4,CRD,18.5 +VTS,1,1,600,1.8,CRD,9 +VTS,1,6,480,1.37,CSH,7.5 +VTS,1,6,600,1.45,CRD,8.5 +VTS,1,6,420,1.46,CSH,7.5 +VTS,1,6,180,0.54,CSH,4.5 +VTS,1,6,240,0.63,CSH,4.5 +VTS,1,6,360,1.51,CSH,7 +VTS,1,6,120,0.35,CSH,3.5 +VTS,1,6,1440,5.27,CSH,19.5 +VTS,1,6,420,1.49,CRD,7.5 +VTS,1,6,660,1.84,CSH,9.5 +VTS,1,6,120,0.64,CRD,4 +VTS,1,6,540,1.65,CRD,8.5 +VTS,1,6,600,1.94,CRD,9 +VTS,1,6,300,1.83,CSH,7 +VTS,1,6,540,1.58,CSH,8 +VTS,1,6,540,2.04,CRD,9 +VTS,1,6,1440,9.65,CRD,29.5 +VTS,1,6,360,1.57,CSH,7.5 +CMT,1,1,1076,5.2,CSH,18.5 +CMT,1,1,524,2,CRD,9 +CMT,1,1,807,4.1,CSH,14 +CMT,1,1,92,0.5,CSH,3.5 +CMT,1,1,189,1.1,CSH,5.5 +CMT,1,1,354,1.9,CRD,7.5 +CMT,1,1,734,2.9,CRD,12 +CMT,1,1,449,1.8,CSH,8 +CMT,1,1,534,1.2,CSH,7.5 +CMT,1,1,587,1.1,CRD,8 +CMT,1,1,212,0.9,CRD,5 +CMT,1,2,195,0.8,CSH,5 +CMT,1,1,2426,10.5,CRD,37.5 +CMT,1,2,510,2.4,CSH,9.5 +CMT,2,1,1925,20.5,CRD,52 +CMT,1,1,800,4.1,CRD,14.5 +CMT,1,2,103,0.3,CSH,3.5 +CMT,1,1,214,0.7,CRD,4.5 +CMT,1,1,465,1.9,CRD,8.5 +CMT,1,4,798,2.4,CSH,11.5 +CMT,1,1,308,0.9,CRD,6 +CMT,1,1,716,3.1,CRD,12.5 +CMT,1,1,961,3.4,CRD,14 +CMT,1,2,712,2.1,CSH,10 +CMT,1,1,934,6.3,CSH,20 +VTS,1,6,780,2.89,CRD,12.5 +VTS,1,6,600,1.79,CRD,9 +VTS,1,6,540,2.4,CRD,9.5 +VTS,1,6,900,2.73,CRD,12.5 +VTS,1,6,480,1.47,CRD,7.5 +VTS,1,6,180,0.28,CSH,3.5 +VTS,1,6,180,0.64,CRD,4.5 +VTS,1,6,480,1.2,CRD,7.5 +VTS,1,6,1020,1.38,CRD,11.5 +VTS,1,6,300,1.21,CSH,6.5 +VTS,1,6,120,0.79,CSH,4.5 +VTS,1,6,300,0.82,CSH,5.5 +VTS,1,6,840,2.29,CRD,11.5 +VTS,1,6,360,1.23,CRD,6.5 +VTS,1,6,360,1.35,CRD,6.5 +VTS,1,6,420,2.46,CSH,9 +VTS,1,6,240,0.4,CRD,4 +VTS,1,6,240,0.77,CRD,5 +VTS,1,6,540,0.47,CSH,7 +VTS,2,1,2100,17.65,CSH,52 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,1440,6.32,CRD,22.5 +VTS,1,1,600,4.12,CRD,13.5 +VTS,1,1,420,3.21,CRD,10.5 +VTS,1,1,720,4.29,CSH,14 +VTS,3,6,1800,18.05,CSH,66.5 +VTS,1,6,180,0.84,CRD,4.5 +VTS,1,6,660,3.24,CSH,11.5 +CMT,1,1,353,1.1,CSH,6.5 +CMT,1,1,424,0.9,CSH,6.5 +CMT,1,1,138,0.7,CSH,4 +CMT,1,1,441,1.2,CSH,7 +CMT,1,1,536,2.1,CRD,9 +CMT,1,1,489,2.6,CSH,9.5 +CMT,1,2,549,1.9,CRD,9 +CMT,1,1,1372,11,CRD,31.5 +CMT,1,1,680,2.9,CSH,11.5 +CMT,1,2,316,1.2,CSH,6 +CMT,1,4,789,3,CSH,13 +CMT,1,2,125,0.4,CSH,3.5 +CMT,1,2,1117,6.7,CRD,22.5 +CMT,1,2,309,0.6,CSH,5 +CMT,1,1,204,0.6,CSH,4.5 +CMT,1,1,201,1,CSH,5 +CMT,1,1,744,3,CSH,12 +CMT,1,1,994,5.8,CSH,19.5 +CMT,1,1,816,3.7,CRD,13.5 +CMT,1,1,318,1.2,CRD,6.5 +CMT,1,2,813,2.6,CRD,12 +CMT,1,1,808,1.3,CRD,9.5 +CMT,1,2,167,0.5,CRD,4 +CMT,1,4,357,0.9,CSH,6 +CMT,1,2,667,2.3,CRD,10.5 +CMT,1,2,272,0.6,CRD,5 +CMT,1,1,268,0.6,CRD,5 +CMT,1,1,616,2.1,CRD,9.5 +CMT,1,1,156,0.9,CRD,4.5 +CMT,1,4,235,0.5,CSH,4.5 +CMT,1,3,522,1.1,CRD,7.5 +CMT,1,1,242,0.9,CRD,5.5 +CMT,1,3,742,2.9,CRD,12 +CMT,1,2,278,1.2,CSH,6 +CMT,1,1,499,1.3,CSH,7.5 +CMT,1,1,515,2.1,CSH,9.5 +CMT,1,2,784,1.5,CRD,10 +CMT,1,1,981,2.7,CSH,13 +CMT,1,1,2077,7.5,CSH,27.5 +CMT,2,2,1701,17.3,CSH,52 +CMT,1,1,1127,2.1,CRD,13 +CMT,1,1,767,1.9,CRD,10 +CMT,1,2,656,1.9,CSH,9.5 +CMT,1,1,771,1.6,CSH,10 +CMT,1,1,718,1.9,CSH,10 +CMT,1,2,266,1.1,CRD,5.5 +CMT,1,4,171,0.9,CSH,4.5 +CMT,1,1,868,3.3,CRD,13.5 +CMT,1,1,686,1.9,CRD,10 +CMT,1,1,385,1,CRD,6.5 +CMT,1,2,199,0.7,CSH,5 +CMT,1,1,871,2.3,CRD,11 +CMT,1,1,197,0.5,CRD,4.5 +CMT,1,1,269,1,CSH,5.5 +CMT,1,1,885,2.6,CSH,12.5 +CMT,1,1,358,1.3,CSH,7 +CMT,1,1,236,0.9,CSH,5.5 +CMT,1,1,351,0.9,CRD,6 +CMT,1,1,360,1.6,CRD,7 +CMT,1,1,754,2.5,CSH,11 +CMT,1,1,1628,5.2,CSH,21.5 +CMT,1,2,120,0.3,CRD,3.5 +CMT,1,2,542,2.8,CSH,10 +CMT,1,2,1206,3.9,CSH,17 +CMT,1,1,609,2.4,CSH,10.5 +CMT,1,1,1227,8.4,CRD,26.5 +CMT,1,1,728,4,CSH,14 +CMT,1,1,315,1.2,CSH,6 +CMT,1,1,1414,4.7,CRD,20 +CMT,1,1,207,0.6,CRD,4.5 +CMT,1,2,339,1.6,CSH,7.5 +CMT,1,2,409,0.7,CSH,6 +CMT,1,1,404,1.7,CSH,7.5 +CMT,1,2,172,0.7,CSH,4.5 +CMT,1,3,789,6.6,CSH,21 +CMT,1,3,1494,8.5,CRD,28 +CMT,1,2,3770,13.4,CRD,47 +CMT,1,1,1267,4.4,CRD,18.5 +CMT,1,1,937,8.2,CRD,24.5 +CMT,1,1,906,1.2,CRD,11 +CMT,1,1,648,2.2,CRD,10 +CMT,1,1,487,1.1,CRD,7.5 +CMT,1,1,777,3.9,CRD,14 +CMT,1,1,520,1.8,CRD,8.5 +CMT,1,1,133,0.7,CRD,4 +CMT,1,1,1567,8.6,CRD,29 +CMT,1,2,1412,5.5,CRD,20.5 +CMT,1,1,649,2.6,CRD,10.5 +CMT,1,1,532,1.8,CSH,8.5 +CMT,1,1,380,1,CSH,6.5 +CMT,1,1,225,1.1,CRD,5.5 +CMT,1,1,2236,8.1,CRD,31.5 +CMT,1,1,814,4.2,CSH,15 +CMT,1,4,437,1.8,CSH,8 +CMT,1,3,220,0.4,CSH,4.5 +CMT,1,3,1016,2.7,CSH,13.5 +CMT,1,3,145,0.4,CSH,4 +CMT,1,1,835,3.2,CRD,13.5 +CMT,1,1,1481,7.2,CRD,25 +CMT,1,1,201,0.7,CSH,4.5 +CMT,1,1,1334,5.7,CSH,21.5 +CMT,1,1,1284,2.2,CSH,15 +CMT,1,2,295,0.7,CRD,5.5 +CMT,1,1,968,2.3,CSH,12.5 +CMT,1,2,2018,10.2,CRD,35 +CMT,1,1,878,4.6,CSH,16.5 +CMT,1,1,978,4.9,CRD,17.5 +CMT,1,2,523,2.2,CRD,9 +CMT,1,1,560,1,CRD,7.5 +CMT,1,1,604,1.9,CSH,9 +CMT,1,1,460,1.1,CSH,7.5 +CMT,1,1,1037,2.7,CSH,13.5 +CMT,1,1,502,1,CRD,7 +CMT,1,1,412,1.3,CRD,7 +CMT,1,1,756,4.6,CRD,15.5 +CMT,1,2,673,1.5,CRD,9 +CMT,1,2,677,1.7,CSH,9 +CMT,1,1,250,0.7,CRD,5 +CMT,1,2,871,6.3,CRD,20 +CMT,1,2,281,0.7,CSH,5 +CMT,1,1,154,0.6,CSH,4.5 +CMT,1,1,650,2,CRD,10.5 +CMT,1,1,755,2.1,CSH,10.5 +CMT,1,1,839,4.5,CSH,15 +CMT,1,2,563,2.3,CRD,10 +CMT,1,1,373,1.1,CSH,6.5 +CMT,1,1,162,0.6,CRD,4 +CMT,1,2,404,1,CSH,6.5 +CMT,1,1,855,3.4,CSH,13.5 +CMT,1,1,692,1.8,CRD,9.5 +CMT,1,1,438,1.9,CSH,8.5 +CMT,1,2,745,3,CRD,12 +CMT,1,1,776,2.7,CRD,11 +CMT,1,1,277,0.8,CSH,5 +CMT,1,2,693,3.9,CSH,13.5 +CMT,1,1,414,2,CSH,8.5 +CMT,1,1,924,1.6,CRD,11.5 +CMT,1,1,252,0.8,CRD,5 +CMT,1,1,913,4.6,CRD,16.5 +CMT,1,2,676,2.4,CRD,10.5 +CMT,1,2,290,0.6,CSH,5.5 +CMT,1,2,486,2.8,CRD,10 +CMT,1,1,329,0.4,CSH,5 +CMT,1,1,1104,4.5,CRD,17 +CMT,1,4,746,2.6,CRD,12 +CMT,1,1,652,3.3,CSH,12 +CMT,1,4,761,1,CRD,9.5 +CMT,1,1,207,0.7,CRD,5 +CMT,1,1,1234,4.7,CRD,19 +CMT,1,1,152,0.4,CSH,4 +CMT,1,2,835,6.4,CRD,20 +CMT,1,1,926,3.4,CRD,14 +CMT,1,1,922,6.3,CRD,20.5 +CMT,1,2,1093,4.6,CRD,17.5 +CMT,1,2,923,3.5,CRD,14 +CMT,1,1,284,1.1,CRD,5.5 +CMT,1,1,1295,4.1,CSH,17.5 +CMT,1,4,748,5.4,CSH,17 +CMT,1,2,359,0.7,CRD,6 +CMT,1,3,264,1.1,CSH,5.5 +CMT,1,2,369,0.4,CRD,5.5 +CMT,1,1,387,0.9,CSH,6 +CMT,1,2,394,1.3,CSH,7 +CMT,1,1,384,0.8,CRD,6 +CMT,1,3,665,3,CSH,12 +CMT,1,1,424,1,CRD,6.5 +CMT,1,3,379,0.8,CRD,6 +CMT,1,1,601,1.9,CRD,9.5 +CMT,1,1,581,2.5,CRD,10.5 +CMT,1,3,755,2.1,CRD,10.5 +CMT,1,1,526,1.4,CSH,7.5 +CMT,1,2,1236,4.9,CRD,18.5 +CMT,1,1,680,2,CRD,10 +CMT,1,2,678,1.6,CRD,9 +CMT,1,1,728,2,CRD,10 +CMT,1,2,283,0.7,CSH,5.5 +CMT,1,3,818,4.6,CRD,15.5 +CMT,1,1,786,2.5,CSH,11.5 +CMT,1,1,1361,4.6,CSH,19 +CMT,1,1,688,4.1,CRD,14.5 +CMT,1,1,1004,3.7,CSH,15 +CMT,1,2,486,1.5,CSH,8 +CMT,1,2,118,0.4,CRD,3.5 +CMT,1,2,592,2.9,CRD,11.5 +CMT,1,1,289,0.7,CRD,5.5 +CMT,1,1,742,3,CRD,12 +CMT,1,2,332,0.9,CRD,6 +CMT,1,1,273,0.6,CSH,5 +CMT,1,1,343,1.6,CSH,7 +CMT,1,1,902,8.8,CRD,24.5 +CMT,1,2,661,2.9,CSH,11 +CMT,1,2,405,1,CRD,6.5 +CMT,1,2,251,0.6,CRD,5 +CMT,1,1,490,1,CSH,7 +CMT,1,1,584,2.2,CRD,9.5 +CMT,1,2,270,1,CRD,5.5 +CMT,1,1,425,0.8,CSH,6.5 +CMT,1,1,317,1.1,CSH,6.5 +CMT,1,1,1125,4.1,CRD,18 +CMT,1,1,227,0.7,CRD,5 +CMT,1,1,383,0.9,CRD,6.5 +CMT,1,1,576,1.8,CRD,8.5 +CMT,1,2,1406,8,CSH,26.5 +CMT,1,1,816,2.3,CRD,11.5 +CMT,1,2,635,1.4,CRD,8.5 +CMT,1,2,1313,4.7,CRD,19 +CMT,1,1,255,0.7,CRD,5 +CMT,1,1,1607,8.7,CRD,29 +CMT,1,1,452,2.2,CRD,8.5 +CMT,1,1,1093,2.9,CRD,14 +CMT,1,1,1555,7.4,CRD,25 +CMT,1,1,1227,2,CRD,14 +CMT,1,1,678,3.3,CSH,12 +CMT,1,1,625,2.8,CSH,11 +CMT,1,1,440,1.9,CRD,8 +CMT,1,2,575,3.1,CRD,12 +CMT,1,2,388,0.7,CRD,6 +CMT,1,2,1394,6.8,CRD,22.5 +CMT,1,4,775,3.3,CRD,12.5 +CMT,1,2,400,2.2,CRD,8.5 +CMT,1,1,604,1.1,CRD,8 +CMT,1,1,628,1.8,CSH,9.5 +CMT,1,1,862,3.8,CRD,14.5 +CMT,1,2,955,3.5,CSH,14 +CMT,1,2,442,0.9,CRD,6.5 +CMT,1,1,326,0.7,CRD,5.5 +CMT,1,1,277,0.5,CRD,5 +CMT,1,1,646,1.5,CSH,9 +CMT,1,2,1178,4,CRD,16 +CMT,1,2,1472,10.3,CRD,31 +CMT,1,1,317,0.8,CSH,6 +CMT,1,1,449,1.3,CRD,7 +CMT,1,1,223,0.6,CRD,4.5 +CMT,1,1,671,3.4,CRD,12 +CMT,1,1,809,1.8,CSH,10.5 +CMT,1,1,529,1.1,CSH,7.5 +CMT,1,2,1220,5.1,CRD,19 +CMT,1,1,750,1.9,CRD,10 +CMT,1,2,510,1.2,CRD,7.5 +CMT,1,1,457,1.6,CSH,8 +CMT,1,1,423,2.3,CRD,9 +CMT,1,4,418,1.9,CSH,8 +CMT,1,2,251,0.7,CRD,5 +CMT,1,3,510,1.4,CSH,8 +CMT,1,1,734,2.5,CSH,11 +CMT,1,1,268,0.6,CSH,5 +CMT,1,2,644,3.3,CSH,12.5 +CMT,1,3,290,0.8,CRD,5.5 +CMT,1,1,265,0.8,CSH,5.5 +CMT,1,1,236,0.8,CRD,5 +CMT,1,1,181,1.1,CRD,5 +CMT,1,1,371,0.9,CRD,6 +CMT,1,1,810,3,CSH,12 +CMT,1,2,1271,3.4,CRD,16 +CMT,1,1,435,1.2,CSH,7 +CMT,1,2,1571,4.4,CSH,19 +CMT,1,1,1292,4.9,CSH,20 +CMT,1,3,646,2.3,CRD,10.5 +CMT,1,1,914,1.5,CRD,10.5 +CMT,1,1,118,0.5,CSH,4 +CMT,1,1,533,1.4,CRD,7.5 +CMT,1,2,688,2.2,CRD,10.5 +CMT,1,2,411,1.7,CRD,8 +CMT,1,1,366,0.8,CSH,6 +CMT,1,1,966,2.2,CRD,12 +CMT,1,1,385,0.8,CSH,6 +CMT,1,1,2044,9.4,CSH,31.5 +CMT,1,1,343,1.1,CSH,6 +CMT,1,2,261,0.8,CRD,5 +CMT,1,1,457,1.2,CRD,7.5 +CMT,1,1,407,1.3,CRD,7 +CMT,1,1,718,2.5,CRD,11 +CMT,1,2,954,2.9,CSH,12.5 +CMT,1,1,340,0.8,CRD,6 +CMT,1,2,1174,9.3,CSH,28.5 +CMT,1,1,260,0.5,CRD,5 +CMT,1,2,305,0.7,CSH,5.5 +CMT,1,2,914,2.6,CRD,12.5 +CMT,1,1,587,2.3,CRD,10 +CMT,1,1,155,0.5,CSH,4 +CMT,1,1,539,1.4,CRD,8 +CMT,1,1,237,1.2,CRD,5.5 +CMT,1,1,325,1.1,CSH,6.5 +CMT,1,2,870,2.4,CSH,11.5 +CMT,1,2,1340,5.9,CSH,21.5 +CMT,1,1,953,6.5,CRD,21 +VTS,1,6,120,0.31,CSH,3.5 +VTS,1,6,300,0.72,CRD,5.5 +VTS,1,6,480,1.34,CRD,7.5 +VTS,1,6,480,0.9,CRD,6.5 +VTS,1,6,420,0.84,CSH,6.5 +VTS,1,6,360,0.98,CSH,6 +VTS,1,6,420,1.14,CRD,6.5 +VTS,1,6,300,1.07,CRD,6 +VTS,1,6,840,2.39,CRD,11.5 +CMT,1,1,853,4.6,CRD,15.5 +CMT,1,1,277,0.6,CSH,5 +CMT,1,1,257,0.9,CRD,5.5 +CMT,1,1,974,6.6,CSH,21 +CMT,1,1,353,1,CSH,6.5 +CMT,1,1,349,1.1,CRD,6.5 +CMT,1,1,543,2.1,CRD,9.5 +CMT,1,1,348,2.2,CRD,8.5 +CMT,1,1,486,1.2,CSH,7.5 +CMT,1,1,486,1.9,CSH,8.5 +CMT,1,1,516,1.4,CSH,8 +CMT,1,1,655,2.2,CSH,10 +CMT,1,1,627,1.4,CRD,8.5 +CMT,1,1,143,0.5,CSH,4 +CMT,1,2,115,0.6,CRD,4 +CMT,1,1,456,2.8,CRD,10 +CMT,1,1,764,5.2,CRD,17 +CMT,1,1,677,3.5,CSH,12.5 +CMT,1,1,679,2.8,CRD,11.5 +CMT,1,1,508,2.6,CSH,10 +CMT,1,2,562,1.7,CRD,9.5 +CMT,1,2,246,0.7,CSH,5 +CMT,1,1,357,1.2,CSH,7 +CMT,1,1,134,0.4,CSH,3.5 +CMT,1,2,826,2.6,CSH,12 +CMT,1,2,743,2.6,CSH,11 +CMT,1,1,166,0.5,CSH,4 +CMT,1,2,265,1,CSH,5.5 +CMT,1,1,1135,5.2,CRD,19 +CMT,1,1,548,2.9,CRD,11 +CMT,1,1,616,2.5,CSH,10 +CMT,1,1,532,1.9,CSH,9 +CMT,1,1,1260,6.2,CSH,21 +CMT,1,1,223,0.7,CSH,4.5 +CMT,1,1,98,0.2,CRD,3 +CMT,1,1,1320,6.5,CRD,22.5 +CMT,1,1,549,3,CSH,11.5 +CMT,1,3,551,1.9,CSH,8.5 +CMT,1,2,1302,6.5,CRD,21.5 +CMT,1,1,204,0.9,CRD,5 +CMT,1,1,823,2.3,CSH,11 +CMT,1,1,491,1.5,CRD,7.5 +CMT,1,1,951,3.1,CRD,14 +CMT,1,2,410,1.2,CRD,7 +CMT,1,1,924,1.8,CSH,11 +CMT,1,1,774,5.2,CSH,17.5 +CMT,1,1,1229,8.4,CRD,26.5 +CMT,1,1,651,2.2,CRD,10 +CMT,1,2,652,3.5,CSH,12 +CMT,1,1,249,1,CSH,5.5 +CMT,1,2,461,3.2,CRD,10.5 +CMT,1,4,283,1.1,CSH,6 +CMT,1,1,1624,5.8,CRD,23 +CMT,1,1,927,3.9,CRD,14.5 +CMT,1,1,576,2.6,CRD,10.5 +CMT,1,1,275,0.8,CSH,5 +CMT,1,1,187,0.7,CSH,4.5 +CMT,1,1,172,0.4,CSH,4 +CMT,1,1,455,1.7,CSH,8.5 +CMT,1,2,1169,3.2,CRD,16 +CMT,1,3,1178,4.7,CRD,18.5 +CMT,1,1,396,0.9,CSH,6 +CMT,1,1,1055,2.9,CRD,13.5 +CMT,1,1,439,2.1,CSH,9 +CMT,1,1,435,0.8,CSH,6 +CMT,1,1,639,1.4,CSH,9 +CMT,1,1,217,0.8,CSH,5 +CMT,1,1,78,0.3,CRD,3 +CMT,1,1,159,0.3,CRD,4 +CMT,1,1,1327,3.9,CRD,17 +CMT,1,1,512,1.3,CSH,7.5 +CMT,1,2,1196,5.2,CRD,19.5 +CMT,1,1,1226,1.5,CRD,13.5 +CMT,1,3,1453,3.6,CSH,17 +CMT,1,1,417,1.3,CRD,7 +CMT,1,1,447,1.6,CRD,8 +CMT,1,1,759,2.6,CSH,11.5 +CMT,1,1,598,1,CSH,8 +CMT,1,1,315,0.7,CRD,5.5 +CMT,1,1,818,2.5,CSH,11.5 +CMT,1,1,716,3.3,CRD,13 +CMT,1,1,902,2.4,CRD,12 +CMT,1,1,1960,5.3,CRD,24 +CMT,1,2,831,2.2,CSH,11 +CMT,1,2,1233,6.5,CRD,22.5 +CMT,1,4,696,2.6,CRD,11 +CMT,1,2,632,1.6,CRD,9 +CMT,1,4,1177,3.7,CSH,16 +CMT,1,1,968,4.7,CSH,17.5 +CMT,1,1,1071,6.3,CRD,20.5 +CMT,1,1,523,1.6,CRD,8 +CMT,1,1,359,1.1,CRD,6 +CMT,1,3,369,1.6,CRD,7.5 +CMT,1,1,739,1.8,CRD,9.5 +CMT,1,1,456,1.8,CSH,8.5 +CMT,1,1,713,2.1,CSH,10.5 +CMT,1,4,257,0.6,CSH,4.5 +CMT,1,1,387,1.1,CSH,6.5 +CMT,1,1,595,1.4,CSH,8.5 +CMT,1,1,512,1.9,CSH,8.5 +CMT,1,2,766,2.6,CRD,11.5 +CMT,1,3,377,0.9,CSH,6 +CMT,1,1,837,2.9,CSH,13 +CMT,1,1,444,1.9,CRD,8.5 +CMT,1,2,703,2.3,CRD,10.5 +CMT,1,1,529,1.8,CSH,8.5 +CMT,1,1,623,2.4,CSH,10 +CMT,1,2,285,0.7,CRD,5 +CMT,1,2,343,0.9,CRD,6 +CMT,1,2,308,0.8,CRD,5.5 +CMT,1,2,746,3.9,CRD,14.5 +CMT,1,1,370,1.7,CRD,7.5 +CMT,1,1,502,1.8,CRD,8.5 +CMT,1,1,1274,4,CRD,17 +CMT,1,1,976,4,CSH,15.5 +CMT,1,1,429,1.7,CRD,8 +CMT,1,1,810,2.4,CSH,11.5 +CMT,1,2,950,4.6,CRD,17 +CMT,1,2,658,1.3,CSH,9 +CMT,1,2,268,0.6,CRD,5 +CMT,1,2,348,0.2,CRD,5 +CMT,1,1,1227,6.2,CRD,21.5 +CMT,1,2,453,1.3,CRD,7.5 +CMT,1,1,358,1,CSH,6 +CMT,1,2,529,1.9,CSH,8 +CMT,1,2,876,3,CSH,13 +CMT,1,3,396,0.8,CSH,6 +CMT,1,1,599,3,CRD,11.5 +CMT,1,2,496,1.6,CRD,8 +CMT,1,2,587,2,CRD,9 +CMT,1,1,370,1.5,CRD,7 +CMT,1,2,947,3.7,CRD,14 +CMT,1,1,547,3.2,CSH,11 +CMT,1,1,855,5.7,CRD,18.5 +CMT,1,1,544,1.9,CRD,8.5 +CMT,1,1,98,0.6,CSH,4 +CMT,1,1,116,0.6,CRD,4.5 +CMT,1,1,969,1.4,CSH,11.5 +CMT,1,4,357,1,CRD,6.5 +CMT,1,2,1021,5.3,CRD,19 +CMT,1,1,2921,4.4,CRD,29 +CMT,1,4,519,1.4,CSH,7.5 +CMT,1,1,386,1,CSH,6 +CMT,1,2,137,0.4,CRD,4 +CMT,1,2,991,5.4,CRD,18 +CMT,1,1,492,1.1,CRD,7.5 +CMT,1,2,1556,5.8,CRD,22.5 +CMT,1,1,196,0.2,CSH,4 +CMT,1,1,331,0.7,CRD,5.5 +CMT,1,1,391,1.2,CSH,6.5 +CMT,1,1,771,1.8,CSH,10 +CMT,1,2,339,1.1,CRD,6 +CMT,1,1,462,1.2,CRD,7.5 +CMT,1,1,421,1.1,CRD,7 +CMT,1,2,1066,3.9,CRD,15.5 +CMT,1,1,1270,2.5,CRD,13.5 +CMT,1,2,1610,3.9,CSH,18 +CMT,1,4,642,0.9,CSH,8 +CMT,1,2,410,1.8,CRD,8 +CMT,1,1,1899,13.1,CRD,38 +CMT,1,3,1476,9.1,CRD,29 +CMT,1,1,622,2,CRD,9 +CMT,1,3,455,1.4,CSH,7 +CMT,1,1,94,0.5,CRD,3.5 +CMT,1,2,247,0.6,CSH,5 +CMT,1,2,537,1.4,CSH,8 +CMT,1,1,78,0.2,CRD,3 +CMT,1,1,728,1.8,CRD,10 +CMT,1,1,989,4.4,CSH,17 +CMT,1,2,717,3.1,CRD,12 +CMT,1,1,357,1.3,CRD,6.5 +CMT,1,2,344,1.4,CSH,7 +CMT,1,3,790,2,CSH,10.5 +CMT,1,1,301,0.6,CSH,5 +CMT,1,1,252,1,CSH,6 +CMT,1,2,200,0.5,CSH,4.5 +CMT,1,1,1411,5.9,CSH,22 +CMT,1,1,471,0.9,CSH,7 +CMT,1,1,369,1,CSH,6.5 +CMT,1,1,431,2.3,CSH,9 +CMT,1,1,328,0.3,CSH,5 +CMT,1,2,455,0.9,CRD,7 +CMT,1,1,605,2,CSH,9 +CMT,1,3,378,1.6,CSH,7.5 +CMT,1,2,1445,3.4,CRD,17.5 +CMT,1,1,2497,17.5,CRD,51.5 +CMT,1,1,645,1.3,CSH,8 +CMT,1,3,767,2.1,CRD,10.5 +CMT,1,4,457,0.4,CRD,6 +CMT,1,3,593,3.3,CRD,11.5 +CMT,1,2,826,3.6,CRD,13.5 +CMT,1,1,807,2,CRD,10.5 +CMT,1,3,947,1,CSH,10.5 +CMT,1,2,373,1.3,CRD,6.5 +CMT,1,3,398,1.7,CSH,7.5 +CMT,1,2,270,0.9,CRD,5.5 +CMT,1,1,902,1.9,CSH,11 +CMT,1,3,376,0.5,CSH,5.5 +CMT,1,1,518,1.4,CRD,8 +CMT,1,1,828,3.3,CRD,13 +CMT,1,1,393,1.5,CRD,7 +CMT,1,2,469,1.8,CRD,8 +CMT,1,2,333,0.8,CSH,5.5 +CMT,1,1,427,1.5,CSH,7.5 +CMT,1,1,542,2.5,CRD,10 +CMT,1,1,1654,14.3,CRD,40.5 +CMT,1,2,666,2,CRD,10.5 +CMT,1,1,809,4.6,CRD,15.5 +CMT,1,2,1187,5.3,CSH,20 +CMT,1,1,393,1.8,CRD,8 +CMT,1,1,1210,4.5,CRD,18 +CMT,1,1,600,0.6,CSH,7.5 +CMT,1,2,245,0.5,CSH,4.5 +CMT,1,1,234,0.7,CRD,5 +CMT,1,2,167,0.9,CRD,5 +CMT,1,2,336,1,CRD,6.5 +CMT,1,1,1221,9,CRD,27.5 +CMT,1,3,654,3.6,CSH,13.5 +CMT,1,1,777,1.6,CRD,9.5 +CMT,1,1,667,1.5,CSH,9 +CMT,1,2,423,0.6,CSH,6 +CMT,1,2,1209,3.7,CSH,16 +CMT,1,3,317,0.7,CRD,5.5 +CMT,1,2,330,0.9,CRD,5.5 +CMT,1,2,512,1.7,CSH,8.5 +CMT,1,2,588,0.9,CSH,7.5 +CMT,1,1,1301,5.3,CSH,20 +CMT,1,1,359,1.5,CRD,7 +CMT,1,3,215,0.9,CRD,5.5 +CMT,1,1,605,1.6,CSH,9 +CMT,1,1,635,1.3,CRD,8.5 +CMT,1,1,1589,4.3,CSH,20 +CMT,5,1,38,0,CRD,82 +CMT,1,2,2148,6,CSH,26.5 +CMT,1,1,125,0.3,CRD,3.5 +CMT,1,3,228,0.6,CRD,4.5 +CMT,1,2,552,1.8,CRD,8.5 +CMT,1,2,917,4.5,CRD,16.5 +CMT,1,1,335,0.6,CRD,5.5 +CMT,1,2,340,1.2,CSH,6.5 +CMT,1,1,437,1.2,CSH,7 +CMT,1,1,1564,7.5,CRD,25.5 +CMT,1,1,470,2.6,CRD,10.5 +CMT,1,1,671,1.9,CSH,9.5 +CMT,1,1,362,1.9,CRD,7.5 +CMT,1,1,808,4.6,CRD,15 +CMT,1,1,974,7.5,CSH,22.5 +CMT,1,1,582,1.6,CSH,8.5 +CMT,1,1,830,2.5,CSH,11.5 +CMT,1,1,999,2.2,CSH,12.5 +CMT,1,2,1012,2.3,CRD,12.5 +CMT,1,1,426,1.9,CSH,8 +CMT,1,2,940,3.9,CRD,15.5 +CMT,1,2,621,2.4,CRD,10 +CMT,1,1,212,0.8,CSH,5 +CMT,1,4,1727,13.3,CSH,39 +CMT,1,1,960,2.1,CRD,12 +CMT,1,2,1096,3.7,CRD,15.5 +CMT,1,1,119,0.7,CSH,4 +CMT,1,2,557,1.5,CSH,8 +CMT,1,1,335,0.9,CSH,6 +CMT,1,1,933,6,CRD,19.5 +CMT,1,1,451,1.1,CSH,7 +CMT,1,1,155,0.5,CSH,4 +CMT,1,1,738,2,CRD,10.5 +CMT,1,1,476,1.4,CRD,7.5 +CMT,1,2,358,0.7,CRD,6 +CMT,1,2,503,2.3,CRD,9.5 +CMT,1,1,523,1.6,CSH,8.5 +CMT,1,1,548,1.8,CRD,9 +CMT,1,1,110,0.7,CSH,4 +CMT,1,1,432,1.4,CRD,7 +CMT,1,1,530,1.4,CSH,8 +CMT,1,1,1096,9.2,CSH,27 +CMT,1,2,460,1.3,CRD,7.5 +CMT,1,2,886,2.8,CSH,12 +CMT,1,1,529,2.1,CSH,9.5 +CMT,1,1,301,0.5,CSH,4 +CMT,1,2,395,0.7,CSH,6 +CMT,1,3,505,0.9,CSH,7 +CMT,1,2,489,1.2,CRD,7.5 +CMT,1,1,1133,9.2,CRD,28 +CMT,1,2,1455,3.8,CSH,17.5 +CMT,1,3,255,0.7,CRD,4.5 +CMT,1,1,329,1,CRD,6 +CMT,1,2,391,0.9,CSH,6.5 +CMT,1,2,1487,2.9,CSH,16.5 +CMT,1,2,715,1.7,CSH,9.5 +CMT,1,1,726,3.7,CSH,14 +CMT,1,2,1448,3.4,CSH,16.5 +CMT,1,1,481,0.8,CRD,6.5 +CMT,1,1,547,3.7,CRD,12.5 +CMT,1,2,733,2.9,CRD,11.5 +CMT,1,4,403,1.2,CRD,7 +CMT,1,1,1040,3.3,CRD,14 +CMT,1,1,346,1.1,CSH,6 +CMT,1,1,472,2.2,CSH,9 +CMT,1,1,206,0.3,CRD,4 +CMT,1,2,936,1.5,CSH,10.5 +CMT,1,1,238,0.4,CSH,4.5 +CMT,1,1,579,1.4,CRD,8.5 +CMT,1,1,379,1,CRD,6 +CMT,1,1,372,1.2,CSH,6.5 +CMT,1,2,487,0.7,CRD,6.5 +CMT,1,2,803,2.2,CRD,11 +CMT,1,1,108,0.3,CSH,3.5 +CMT,1,2,1265,6.8,CSH,23.5 +CMT,1,2,455,1.3,CRD,7.5 +CMT,1,1,2709,14.6,CRD,45 +CMT,1,1,323,1,CRD,6 +CMT,1,3,570,3,CRD,10.5 +CMT,1,2,180,0.6,CSH,4.5 +CMT,1,1,530,1.2,CRD,7.5 +CMT,1,2,469,3,CRD,10.5 +CMT,1,4,604,2.2,CRD,9.5 +CMT,1,2,107,0.3,CSH,3.5 +CMT,1,2,285,0.8,CRD,5 +CMT,1,4,1037,2.4,CSH,12.5 +CMT,1,1,530,2.9,CRD,10 +CMT,1,1,172,0.6,CSH,4.5 +CMT,1,1,215,1,CRD,5.5 +CMT,1,1,359,1.7,CRD,7 +CMT,1,2,804,2.2,CSH,11 +CMT,1,2,479,5.1,CRD,15.5 +CMT,1,1,216,0.5,CSH,4.5 +CMT,1,2,308,0.6,CRD,5 +CMT,1,1,400,1.1,CRD,6.5 +CMT,1,1,1893,11.6,CRD,36.5 +CMT,1,2,118,0.7,CRD,4 +CMT,1,1,878,2.9,CRD,12 +CMT,1,1,268,0.6,CSH,5 +CMT,1,1,364,1.2,CSH,6.5 +CMT,1,1,1044,2.9,CRD,14 +CMT,1,1,544,2.3,CRD,9.5 +CMT,1,1,456,2.9,CRD,10 +CMT,1,2,297,1,CRD,6 +CMT,1,2,424,1.6,CRD,7.5 +CMT,1,4,670,3.2,CSH,12 +CMT,1,1,492,1.7,CRD,8 +CMT,1,1,371,1.7,CSH,7.5 +CMT,1,2,1136,4.7,CSH,18 +CMT,1,1,737,1.7,CSH,9.5 +CMT,1,1,291,0.7,CSH,5 +CMT,1,1,1048,4.2,CRD,16.5 +CMT,1,2,769,3.2,CRD,13 +CMT,1,1,307,2,CRD,7.5 +CMT,1,2,716,3.3,CRD,12.5 +CMT,1,1,639,1.5,CSH,8.5 +CMT,1,2,214,0.4,CSH,4.5 +CMT,1,1,553,1.6,CRD,8.5 +CMT,1,2,482,0.8,CRD,7 +CMT,1,2,509,1.6,CSH,8 +CMT,1,2,494,1.4,CSH,8 +CMT,1,1,106,0.3,CRD,3.5 +CMT,1,1,209,0.9,CRD,5 +CMT,1,1,419,0.7,CRD,6 +CMT,1,1,843,2,CSH,10.5 +CMT,1,2,730,2.2,CSH,10 +CMT,1,2,1100,3.2,CSH,14 +CMT,1,1,217,0.9,CSH,5 +CMT,1,2,1028,3.5,CRD,14.5 +CMT,1,2,906,3.2,CRD,13.5 +CMT,1,2,588,1,CSH,8 +CMT,1,1,762,1.7,CSH,10.5 +CMT,1,1,189,0.8,CSH,5 +CMT,1,1,310,1,CSH,6 +CMT,1,1,318,0.9,CSH,5.5 +CMT,1,1,529,1.5,CSH,8.5 +CMT,1,1,320,1.2,CSH,6 +CMT,1,1,675,1.8,CRD,9 +CMT,1,2,534,1.7,CRD,8 +CMT,1,1,218,1.7,CRD,6.5 +CMT,1,1,897,8.2,CRD,23.5 +CMT,1,1,115,0.5,CSH,3.5 +CMT,1,2,644,2,CRD,9.5 +CMT,2,1,1767,17.2,CRD,52 +CMT,1,1,1218,7.5,CSH,2.5 +CMT,1,2,118,0.5,CSH,4 +CMT,1,1,227,0.9,CSH,5 +CMT,1,1,478,1.4,CSH,7.5 +CMT,1,1,539,1.6,CSH,8 +CMT,1,1,957,3.8,CRD,14.5 +CMT,1,1,829,2.5,CRD,11.5 +CMT,1,1,973,4.3,CSH,15 +CMT,1,1,191,0.9,CRD,5 +CMT,1,1,186,0.8,CRD,5 +CMT,1,1,392,1.1,CSH,6.5 +CMT,1,1,847,2.3,CSH,12 +CMT,1,1,309,0.6,CSH,5.5 +CMT,1,4,686,1.6,CRD,9.5 +CMT,1,4,767,2.4,CSH,10.5 +CMT,1,1,608,2.8,CRD,10.5 +CMT,1,3,488,1.9,CSH,8.5 +CMT,1,4,25,0,CSH,2.5 +CMT,1,1,1479,9.3,CRD,30 +CMT,1,1,1042,6.6,CRD,21 +CMT,1,1,565,2.4,CRD,9.5 +CMT,1,1,411,1.8,CSH,8 +CMT,1,1,126,0.3,CSH,3.5 +CMT,1,1,377,1,CRD,6 +CMT,1,4,168,0.5,CSH,4.5 +CMT,1,1,294,0.9,CSH,5.5 +CMT,1,1,467,0.9,CRD,7 +CMT,1,1,175,0.6,CSH,4.5 +CMT,1,1,350,1.2,CSH,6.5 +CMT,1,2,1158,3.3,CSH,15.5 +CMT,1,1,808,2.1,CRD,11 +CMT,1,2,900,3.9,CSH,15 +CMT,1,1,1422,5.8,CRD,20.5 +CMT,1,3,239,1.1,CSH,5.5 +CMT,1,1,961,2.5,CRD,12 +CMT,1,1,1266,3.8,CRD,17 +CMT,1,1,1139,9.5,CRD,27.5 +CMT,1,1,354,1.5,CRD,7 +CMT,1,1,201,0.6,CSH,4.5 +CMT,1,1,444,1.7,CRD,7.5 +CMT,1,2,710,1.1,CRD,8.5 +CMT,1,4,791,2.6,CRD,12 +CMT,1,1,623,2.8,CRD,10.5 +CMT,1,1,341,1.2,CRD,6 +CMT,1,1,261,0.3,CSH,4.5 +CMT,1,1,419,0.9,CRD,6.5 +CMT,1,1,1051,2.7,CRD,13.5 +CMT,1,2,638,1.2,CSH,8.5 +CMT,1,2,931,2.6,CSH,12.5 +CMT,2,4,2153,19.1,CRD,52 +CMT,1,1,294,1,CSH,6 +CMT,1,2,260,1.8,CSH,7 +CMT,1,1,843,5.1,CRD,17 +CMT,1,1,609,3.3,CRD,12 +CMT,1,3,189,0.3,CRD,4 +CMT,1,1,142,0.5,CSH,4 +CMT,1,3,782,2.4,CRD,11 +CMT,1,2,711,2.7,CRD,11.5 +CMT,1,1,252,0.8,CSH,5 +CMT,1,1,737,2.4,CRD,10.5 +CMT,1,1,1228,8.3,CRD,25.5 +CMT,1,1,2714,17.7,CRD,52.5 +CMT,1,1,432,1.1,CSH,7 +CMT,1,2,273,1,CSH,5.5 +CMT,1,3,665,1.9,CSH,9.5 +CMT,1,1,389,1.3,CRD,7 +CMT,1,1,793,2.8,CRD,12 +CMT,1,4,255,0.6,CRD,5 +CMT,1,1,777,2.2,CRD,11 +CMT,1,1,551,0.7,CSH,7.5 +CMT,1,2,405,0.9,CRD,6 +CMT,1,3,317,1.1,CSH,6 +CMT,1,1,937,9,CSH,26 +CMT,1,1,557,1.4,CRD,8 +CMT,1,1,217,0.6,CRD,4.5 +CMT,1,1,333,1.4,CRD,6.5 +CMT,1,1,278,1.7,CSH,7 +CMT,1,3,695,2.3,CSH,10 +CMT,1,2,448,1.3,CRD,7.5 +CMT,1,2,1001,3.8,CSH,15.5 +CMT,1,1,386,1.2,CSH,7 +CMT,1,1,648,1.5,CRD,9 +CMT,1,1,322,0.7,CRD,5.5 +CMT,1,1,544,2.5,CRD,10.5 +CMT,1,1,306,1.2,CSH,6.5 +CMT,1,1,546,1.4,CRD,8 +CMT,1,1,248,0.6,CSH,5 +CMT,1,2,329,0.9,CRD,6 +CMT,1,1,854,2.3,CRD,11.5 +CMT,1,1,266,0.9,CRD,5.5 +CMT,1,1,626,1.7,CRD,9 +CMT,1,1,117,0.5,CRD,4 +CMT,1,1,808,2.7,CSH,11 +CMT,1,2,139,0.3,CRD,3.5 +CMT,1,2,1600,5.1,CRD,20.5 +CMT,1,1,865,3.4,CSH,13.5 +CMT,1,2,1095,4.8,CRD,18 +CMT,1,1,773,3.1,CSH,12 +CMT,1,1,733,2.3,CRD,10.5 +CMT,1,1,154,0.3,CSH,4 +CMT,1,1,358,1.2,CSH,6.5 +CMT,1,4,192,0.4,CSH,4 +CMT,1,2,358,1.5,CSH,7 +CMT,1,2,276,1,CSH,5.5 +CMT,1,3,418,1.5,CRD,7 +CMT,1,1,769,2.3,CRD,11 +CMT,1,2,842,5.7,CSH,18.5 +CMT,1,1,241,1,CRD,5.5 +CMT,1,1,1242,4.8,CSH,18 +CMT,1,1,866,7.4,CRD,22.5 +CMT,1,2,252,0.5,CSH,4.5 +CMT,1,2,115,0.4,CRD,3.5 +CMT,1,1,1519,8.3,CRD,27.5 +CMT,1,1,272,0.6,CRD,5 +CMT,1,1,531,1.3,CSH,8 +CMT,1,1,261,0.4,CRD,4.5 +CMT,1,1,303,0.6,CRD,5.5 +CMT,1,1,273,0.6,CSH,5 +CMT,1,4,1603,3.5,CRD,18.5 +CMT,1,1,1326,4.4,CSH,18.5 +CMT,1,1,687,2.1,CSH,9.5 +CMT,1,1,360,1.4,CSH,7 +CMT,1,1,483,1.4,CRD,7.5 +CMT,1,1,295,0.7,CRD,5 +CMT,1,1,639,2.7,CRD,11 +CMT,1,2,768,3.7,CSH,14 +CMT,1,1,288,1,CSH,6 +CMT,1,1,1148,10.3,CRD,29 +CMT,1,1,363,1.4,CRD,7 +CMT,1,1,1121,7.3,CRD,23.5 +CMT,1,1,886,2.4,CSH,12 +CMT,1,1,450,1.1,CRD,6.5 +CMT,1,1,528,1.1,CSH,7.5 +CMT,1,2,695,1.6,CSH,9.5 +CMT,1,1,178,0.5,CRD,4 +CMT,1,2,548,2.5,CSH,9.5 +CMT,1,1,545,1,CRD,7.5 +CMT,1,1,1104,6.8,CRD,21 +CMT,1,1,343,2.2,CSH,8.5 +CMT,1,2,247,0.7,CSH,5 +CMT,1,1,336,1.7,CRD,7.5 +CMT,1,1,745,3.2,CSH,12.5 +CMT,1,1,150,0.3,CSH,4 +CMT,1,1,490,3.5,CSH,12 +CMT,1,1,628,1.1,CSH,8.5 +CMT,1,1,608,1.3,CRD,8 +CMT,1,1,1027,2.4,CSH,13.5 +CMT,1,1,1493,6.2,CRD,23.5 +CMT,1,1,369,0.6,CSH,6 +CMT,1,1,382,1.5,CSH,7 +CMT,1,1,749,2.5,CRD,12 +CMT,1,1,1343,8.1,CRD,25.5 +CMT,1,1,762,1.7,CRD,10 +CMT,1,1,642,0.9,CSH,8 +CMT,1,2,451,1.3,CSH,7 +CMT,1,1,933,4.8,CRD,17 +CMT,1,1,1215,2.2,CSH,13.5 +CMT,1,1,233,0.8,CRD,5 +CMT,1,1,73,0.3,CSH,3.5 +CMT,1,2,932,1.9,CSH,11.5 +CMT,1,1,303,1.1,CRD,6 +CMT,1,1,803,3.9,CSH,14.5 +CMT,1,1,288,0.6,CSH,5 +CMT,1,1,203,0.4,CRD,4 +CMT,1,1,300,1.1,CSH,6 +CMT,1,1,270,0.6,CSH,5 +CMT,1,1,1032,1.8,CSH,12 +CMT,1,1,606,1.5,CRD,9 +CMT,1,1,1095,3.5,CSH,15 +CMT,1,2,554,1.9,CSH,9 +CMT,1,2,540,2.7,CRD,10 +CMT,1,2,608,1.7,CSH,9 +CMT,1,1,778,3.7,CSH,13.5 +CMT,1,1,1053,4.5,CRD,16.5 +CMT,1,1,584,3.6,CSH,13 +CMT,1,1,388,2,CRD,8 +CMT,1,1,439,1.1,CRD,7 +CMT,1,2,155,0.9,CRD,5 +CMT,1,1,836,2.1,CRD,11.5 +CMT,1,1,340,2.5,CRD,9 +CMT,1,1,1751,5.3,CRD,22.5 +CMT,1,1,1026,4.4,CRD,16 +CMT,1,1,1133,8.2,CRD,25.5 +CMT,1,1,711,3.9,CRD,13.5 +CMT,1,1,442,1.7,CRD,8 +CMT,1,1,1085,6.6,CRD,21.5 +CMT,1,1,1408,8.6,CSH,27.5 +CMT,1,1,476,1.5,CSH,7.5 +CMT,1,1,840,4.8,CRD,16.5 +CMT,1,1,892,3.1,CRD,13 +CMT,1,1,830,5,CSH,17.5 +CMT,1,1,418,0.9,CRD,6.5 +CMT,1,1,396,1.3,CRD,7 +CMT,1,1,460,1.1,CSH,7.5 +CMT,1,1,855,2.4,CRD,11.5 +CMT,1,2,1269,2.4,CSH,14.5 +CMT,1,1,847,1.7,CSH,10.5 +CMT,1,2,120,0.7,CSH,4.5 +CMT,1,1,890,2.7,CSH,12.5 +CMT,1,4,552,1.4,CSH,8 +CMT,1,1,583,2,CRD,9 +CMT,1,3,775,2.5,CRD,11.5 +CMT,1,2,923,2,CSH,11.5 +CMT,1,1,1054,4.8,CSH,17 +CMT,1,1,745,1.9,CRD,10 +CMT,1,1,343,0.9,CRD,6 +CMT,1,1,558,1.7,CSH,8.5 +CMT,1,1,621,1.3,CSH,8.5 +CMT,1,1,399,1.3,CRD,7 +CMT,1,1,587,1.8,CRD,9 +CMT,1,1,580,0.8,CRD,7.5 +CMT,1,1,271,0.6,CSH,5 +CMT,1,1,483,1.3,CRD,7.5 +CMT,1,2,446,0.9,CSH,6.5 +CMT,1,2,398,0.6,CSH,6 +CMT,1,1,1195,6.3,CRD,22 +CMT,1,1,254,1.1,CSH,5.5 +CMT,1,4,1183,4.3,CRD,17 +CMT,1,1,748,2.6,CRD,11 +CMT,1,1,524,1.5,CRD,8 +CMT,5,1,1429,5.7,CRD,25 +CMT,1,1,406,1.3,CRD,7.5 +CMT,1,1,1255,4.9,CRD,19.5 +CMT,1,1,240,0.5,CSH,5 +CMT,1,1,481,1.7,CSH,8 +CMT,1,1,193,0.5,CRD,4 +CMT,1,1,554,2.2,CRD,9.5 +CMT,1,2,405,1.2,CRD,6.5 +CMT,1,1,448,1.5,CSH,7.5 +CMT,1,1,469,1.4,CSH,7.5 +CMT,1,1,420,0.8,CRD,6.5 +CMT,1,1,1255,2.7,CRD,15 +CMT,1,1,1234,5.8,CRD,19.5 +CMT,1,2,238,1,CRD,5.5 +CMT,1,2,522,2.2,CSH,9.5 +CMT,1,3,335,1.5,CSH,7 +CMT,1,3,639,1.5,CSH,8.5 +CMT,1,2,363,0.9,CRD,6 +CMT,1,2,922,4.7,CSH,16.5 +CMT,1,2,493,1.4,CRD,7.5 +CMT,1,2,1217,4.1,CSH,16.5 +CMT,1,2,668,2.6,CRD,11 +CMT,1,2,323,1.3,CRD,6.5 +CMT,1,1,314,0.8,CRD,5.5 +CMT,1,1,1055,5.1,CRD,18 +CMT,1,1,552,2.8,CRD,10.5 +CMT,1,1,1311,5,CRD,19 +CMT,1,1,1142,5.1,CSH,18.5 +CMT,1,2,500,1.5,CRD,8 +CMT,1,2,797,2.9,CSH,12.5 +CMT,1,1,210,1.5,CRD,6 +CMT,1,1,901,4.1,CRD,14.5 +CMT,1,1,920,0.7,CRD,10 +CMT,1,1,313,0.7,CSH,5.5 +CMT,1,2,335,1.4,CSH,7 +CMT,1,2,306,1.3,CRD,6.5 +CMT,1,1,411,0.9,CSH,6.5 +CMT,1,1,357,1,CSH,6 +CMT,1,2,217,0.6,CRD,4.5 +CMT,1,1,767,6.3,CRD,19.5 +CMT,1,1,204,0.5,CRD,4.5 +CMT,1,1,415,1.7,CSH,8 +CMT,1,1,468,1.4,CSH,7.5 +CMT,1,1,125,0.5,CSH,3.5 +CMT,1,1,614,3.1,CRD,11.5 +CMT,1,1,418,1.5,CSH,7.5 +CMT,1,1,359,1.2,CSH,6.5 +CMT,1,1,256,0.4,CRD,4.5 +CMT,1,1,434,1.7,CRD,8 +CMT,1,1,413,2,CRD,8 +CMT,1,1,330,1,CSH,6 +CMT,1,1,534,2.3,CRD,9.5 +CMT,1,1,1000,2.5,CSH,12.5 +CMT,1,1,939,1.6,CRD,11 +CMT,1,1,105,0.3,CSH,3.5 +CMT,1,1,741,1.8,CRD,10.5 +CMT,1,1,371,1.2,CRD,6.5 +CMT,1,1,1702,5.8,CRD,22.5 +CMT,1,1,1178,4.8,CSH,17.5 +CMT,1,1,774,2.1,CSH,11 +CMT,1,1,356,0.5,CSH,5.5 +CMT,1,2,315,1.8,CSH,7 +CMT,1,1,500,1.7,CRD,8.5 +CMT,1,1,1761,10,CRD,32 +CMT,1,1,740,3.8,CRD,13 +CMT,1,1,871,3.6,CRD,14 +CMT,1,2,704,3.1,CRD,12.5 +CMT,1,1,453,1.3,CSH,7 +CMT,1,1,278,1,CRD,6 +CMT,1,1,689,7.5,CSH,21 +CMT,1,1,1031,3.3,CRD,14 +CMT,1,1,441,0.9,CSH,6.5 +CMT,1,1,651,2.3,CRD,10.5 +CMT,1,1,539,2.1,CRD,9.5 +CMT,1,1,825,1.1,CRD,9.5 +CMT,1,1,170,0.7,CRD,4.5 +CMT,1,4,1438,3.6,CSH,18 +CMT,1,1,421,1.5,CRD,7.5 +CMT,1,1,2142,6.5,CRD,27 +CMT,1,1,697,2.3,CSH,11 +CMT,1,1,1109,1.8,CSH,12.5 +CMT,1,1,1235,5.8,CSH,21 +CMT,1,1,397,0.5,CRD,5.5 +CMT,1,1,251,0.6,CRD,5 +CMT,1,1,865,3.1,CRD,12.5 +CMT,1,1,923,5.9,CRD,19 +CMT,1,1,300,0.6,CSH,5 +CMT,1,1,475,1.2,CRD,7 +CMT,1,1,871,4.1,CSH,14 +CMT,1,1,364,1.1,CSH,6.5 +CMT,1,1,748,1.9,CRD,10 +CMT,1,1,950,1.5,CSH,11.5 +CMT,1,1,524,1.5,CSH,8.5 +CMT,1,1,1267,2.4,CSH,14 +CMT,1,1,865,2.7,CRD,12.5 +CMT,1,1,535,1.5,CRD,8.5 +CMT,1,1,388,1,CSH,6.5 +CMT,1,2,277,1.4,CRD,6 +CMT,1,1,509,1,CRD,7.5 +CMT,1,1,1045,9.3,CRD,27 +CMT,1,1,165,0.7,CSH,4.5 +CMT,1,1,272,0.6,CRD,5 +CMT,1,1,865,2.1,CRD,11 +CMT,1,1,382,0.5,CSH,6 +CMT,1,2,296,1,CRD,5.5 +CMT,1,2,437,1.3,CRD,7 +CMT,1,1,732,4,CRD,14 +CMT,1,1,295,0.8,CRD,5.5 +CMT,1,1,275,0.8,CSH,5.5 +CMT,1,1,610,1.6,CSH,9 +CMT,1,1,2049,10.6,CRD,34 +CMT,1,1,1730,1.7,CSH,17.5 +CMT,1,1,126,0.4,CRD,3.5 +CMT,1,1,138,0.4,CSH,3.5 +CMT,1,2,987,1.9,CRD,12 +CMT,1,1,543,2.1,CSH,9 +CMT,1,1,576,1.8,CRD,9 +CMT,1,1,578,2,CSH,9 +CMT,1,1,1060,2,CRD,12 +CMT,1,1,683,0.8,CSH,8.5 +CMT,1,1,503,1,CRD,7.5 +CMT,1,1,596,0.7,CRD,7.5 +CMT,1,1,533,1.4,CRD,8 +CMT,1,2,450,0.8,CRD,6.5 +CMT,1,1,653,3.4,CSH,12.5 +CMT,1,1,588,3.3,CRD,12 +CMT,1,1,807,1.7,CRD,10 +CMT,1,2,815,2.4,CSH,11.5 +CMT,1,1,584,1.5,CRD,8.5 +CMT,1,2,296,0.6,CRD,5.5 +CMT,1,1,718,3.9,CRD,13.5 +CMT,1,1,987,2.6,CRD,13.5 +CMT,1,1,1110,1.1,CRD,12 +CMT,1,1,663,1.2,CRD,8.5 +CMT,1,1,799,2.4,CRD,11 +CMT,1,1,359,1.2,CRD,6.5 +CMT,1,2,837,2.1,CRD,11 +CMT,1,1,555,1.9,CRD,9 +CMT,1,1,1083,3.3,CRD,14.5 +CMT,1,2,384,1,CSH,6.5 +CMT,1,2,638,1.3,CRD,8 +CMT,1,1,140,0.8,CSH,4.5 +CMT,1,1,1749,11.8,CRD,36.5 +CMT,1,1,184,0.7,CRD,4.5 +CMT,4,1,241,0.6,CSH,4.5 +CMT,1,1,874,1.6,CRD,10.5 +CMT,1,1,471,1.4,CSH,7.5 +CMT,1,2,471,1.3,CSH,7.5 +CMT,1,1,409,0.8,CRD,6 +CMT,1,1,297,1.1,CSH,6 +CMT,1,1,305,1.1,CRD,6 +CMT,1,1,875,3.4,CRD,13.5 +CMT,1,1,438,1.1,CRD,6.5 +CMT,1,1,408,0.9,CRD,6.5 +CMT,1,1,1092,6.1,CSH,21 +CMT,1,1,1914,8.3,CSH,29.5 +CMT,1,1,841,2.5,CRD,12 +CMT,1,1,392,0.9,CSH,6.5 +CMT,1,1,726,2,CRD,10 +CMT,1,1,562,2.1,CRD,10 +CMT,1,1,691,1.9,CSH,9.5 +CMT,1,1,1583,2.6,CRD,17.5 +CMT,1,1,805,3.4,CRD,12.5 +CMT,1,1,312,0.8,CRD,5.5 +CMT,1,1,328,1.1,CSH,6.5 +CMT,1,1,483,1.5,CRD,8 +CMT,1,1,678,2.5,CRD,10 +CMT,1,1,742,3,CRD,12.5 +CMT,1,2,405,1,CRD,6.5 +CMT,1,1,1273,4.8,CSH,18.5 +CMT,1,1,800,1.8,CSH,10.5 +CMT,1,1,1456,5.9,CRD,22.5 +CMT,1,2,518,2.1,CRD,9 +CMT,1,1,378,1.2,CRD,6.5 +CMT,1,1,708,1.8,CRD,9.5 +CMT,1,1,73,0.4,CSH,3.5 +CMT,1,1,602,1.1,CRD,8 +CMT,1,1,65,0.3,CSH,3 +CMT,1,1,1504,1.6,CSH,15.5 +CMT,1,1,228,0.8,CRD,5 +CMT,1,1,473,1.3,CRD,7.5 +CMT,1,1,250,0.7,CRD,5 +CMT,1,1,818,1.4,CSH,10 +CMT,1,1,280,1,CRD,6 +CMT,1,1,158,0.4,CRD,4 +CMT,1,1,418,1.3,CSH,7 +CMT,1,2,500,1.7,CRD,8 +CMT,1,1,157,0.7,CSH,4.5 +CMT,1,1,483,0.3,CSH,6.5 +CMT,1,1,835,6.8,CSH,20.5 +CMT,1,1,356,1.1,CSH,6.5 +CMT,1,1,633,2.5,CRD,10 +CMT,1,1,237,1,CSH,5.5 +CMT,1,1,631,1.5,CSH,9 +CMT,1,1,1530,5.2,CRD,22.5 +CMT,1,1,715,1.6,CSH,9.5 +CMT,1,1,1201,4.6,CSH,17.5 +CMT,1,1,732,1.4,CSH,9.5 +CMT,1,1,2508,21.4,CSH,58.5 +CMT,1,1,803,5.7,CSH,18.5 +CMT,1,1,1055,4.9,CRD,17.5 +CMT,1,1,1140,6.6,CRD,22 +CMT,1,2,473,1,CSH,7 +CMT,1,1,79,0.4,CSH,3.5 +CMT,1,1,462,1.2,CRD,7.5 +CMT,1,1,751,4.3,CRD,15 +CMT,1,1,375,0.6,CSH,6 +CMT,1,1,197,0.8,CRD,5 +CMT,1,1,373,0.7,CRD,5.5 +CMT,1,1,726,1.9,CSH,10 +CMT,1,1,159,0.9,CSH,4.5 +CMT,1,1,708,2.4,CSH,10.5 +CMT,1,2,418,1,CRD,6.5 +CMT,1,1,789,3,CSH,12.5 +CMT,1,1,328,0.9,CSH,6 +CMT,1,1,1111,7,CSH,23 +CMT,1,1,263,1,CSH,5.5 +CMT,1,1,583,2.2,CRD,9.5 +CMT,1,1,1368,15.9,CRD,42 +CMT,2,2,2869,18.9,CSH,52 +CMT,1,1,716,2.5,CRD,11 +CMT,1,1,316,0.8,CRD,5.5 +CMT,1,2,891,2.2,CRD,12 +CMT,1,2,441,0.8,CRD,6.5 +CMT,1,2,1016,3,CRD,14 +CMT,1,1,444,0.9,CSH,6.5 +CMT,1,1,1165,4.8,CSH,18.5 +CMT,1,1,555,1,CRD,7.5 +CMT,1,1,539,0.8,CSH,7.5 +CMT,1,2,565,1.6,CRD,8.5 +CMT,1,1,673,3.5,CSH,12.5 +CMT,1,1,568,1.2,CRD,8 +CMT,1,1,443,0.8,CSH,6.5 +CMT,1,1,227,0.6,CRD,4.5 +CMT,1,1,70,0.1,CSH,3 +CMT,1,1,219,0.7,CSH,4.5 +CMT,1,1,127,0.7,CSH,4.5 +CMT,1,1,222,1.1,CSH,5.5 +CMT,1,1,1285,5.6,CRD,20.5 +CMT,1,1,227,0.9,CRD,5 +CMT,1,1,411,1.4,CRD,7.5 +CMT,1,1,1042,2.2,CSH,12.5 +CMT,1,1,1364,2.6,CRD,16 +CMT,1,1,141,0.7,CSH,4 +CMT,1,2,409,0.9,CRD,6.5 +CMT,1,1,390,1.6,CSH,7.5 +CMT,1,1,1002,2.3,CSH,12.5 +CMT,1,1,769,2.3,CRD,11 +CMT,1,1,350,1.8,CSH,7.5 +CMT,1,1,618,2,CRD,9 +CMT,1,1,544,1.3,CSH,8 +CMT,1,1,702,1.9,CRD,10 +CMT,1,1,764,2,CRD,11 +CMT,1,1,622,1.5,CRD,8.5 +CMT,1,2,1110,3,CSH,14 +CMT,1,1,299,1.2,CSH,6.5 +CMT,1,1,700,1.9,CRD,10 +CMT,1,1,672,2,CRD,9.5 +CMT,1,1,263,0.9,CSH,5 +CMT,1,1,495,1.6,CSH,8 +CMT,1,1,1371,3.5,CRD,17 +CMT,1,1,515,1.2,CRD,8 +CMT,1,1,837,2.7,CSH,12 +CMT,1,1,852,3.8,CSH,14.5 +CMT,1,1,789,2.4,CSH,11 +CMT,1,2,144,0.6,CRD,4 +CMT,1,1,211,0.8,CSH,5 +CMT,1,1,626,1.4,CRD,8.5 +CMT,1,1,336,0.6,CSH,5.5 +CMT,1,1,1120,4.8,CSH,18 +CMT,1,1,666,1.1,CRD,8.5 +CMT,1,1,270,0.5,CRD,5 +CMT,1,1,972,2.4,CSH,12.5 +CMT,1,1,1194,3.6,CRD,15.5 +CMT,1,1,599,1.1,CSH,8 +CMT,1,1,387,0.9,CRD,6 +CMT,1,4,1103,3.7,CSH,16.5 +CMT,1,2,331,1.1,CRD,6 +CMT,1,1,323,0.6,CSH,5.5 +CMT,1,1,168,0.2,CSH,3.5 +CMT,1,1,961,6.6,CSH,21.5 +CMT,1,1,65,0.3,CRD,3 +CMT,1,2,548,1.7,CSH,8.5 +CMT,1,1,408,1,CSH,6 +CMT,1,1,182,0.6,CRD,4.5 +CMT,1,1,367,0.7,CSH,6 +CMT,1,2,313,0.7,CSH,5.5 +CMT,1,1,254,0.8,CRD,5.5 +CMT,1,1,152,0.5,CRD,4 +CMT,1,2,788,5.5,CSH,17.5 +CMT,1,2,816,5.2,CRD,17.5 +CMT,1,1,796,3.9,CRD,14 +CMT,1,1,391,1.5,CSH,7.5 +CMT,1,1,383,0.5,CRD,5.5 +CMT,1,2,228,0.7,CSH,5 +CMT,1,1,791,2.5,CSH,11.5 +CMT,1,2,240,0.6,CRD,5 +CMT,1,1,1330,10.4,CRD,31.5 +CMT,1,1,622,1.2,CSH,8.5 +CMT,1,1,501,0.8,CSH,7 +CMT,1,1,1124,1.7,CRD,13 +CMT,1,1,499,1.8,CSH,8.5 +CMT,1,1,1113,5.4,CSH,19 +CMT,1,1,779,2,CRD,11 +CMT,1,1,708,1.4,CSH,9 +CMT,1,1,605,2.2,CRD,9.5 +CMT,1,2,803,4.6,CRD,16 +CMT,1,1,889,2.2,CRD,11.5 +CMT,1,1,698,1.4,CSH,9 +CMT,1,1,321,0.8,CRD,5.5 +CMT,1,1,703,1.2,CRD,9 +CMT,1,1,431,1.9,CSH,8.5 +CMT,1,1,963,2.9,CSH,13 +CMT,1,1,749,4.1,CSH,14.5 +CMT,1,1,1025,5.9,CRD,19.5 +CMT,1,1,866,1.6,CSH,10.5 +CMT,1,1,476,1.9,CRD,8.5 +CMT,1,1,372,1.3,CRD,7 +CMT,1,1,482,1.5,CSH,7.5 +CMT,1,1,424,1,CRD,7 +CMT,1,1,961,6.8,CRD,21.5 +CMT,1,1,987,2.8,CRD,13 +CMT,1,1,492,1,CRD,7 +CMT,1,1,480,1.7,CSH,8 +CMT,4,1,995,7.4,CRD,23 +CMT,1,1,504,1.2,CRD,7.5 +CMT,1,1,328,0.9,CSH,5.5 +CMT,1,1,186,1,CRD,5 +CMT,1,3,262,0.6,CSH,5 +CMT,1,1,1247,5.4,CSH,20.5 +CMT,1,1,818,5.1,CRD,17.5 +CMT,1,1,99,0.3,CSH,3 +CMT,1,3,1316,4.6,CSH,19 +CMT,1,1,302,0.7,CSH,5.5 +CMT,1,1,649,2.5,CRD,10.5 +CMT,1,1,321,0.4,CRD,5 +CMT,1,1,1008,2.7,CRD,13 +CMT,1,2,316,1,CSH,6 +CMT,1,1,597,2.5,CRD,10.5 +CMT,1,1,1071,4.5,CRD,17 +CMT,1,1,445,1.6,CSH,7.5 +CMT,1,1,432,1.1,CRD,7 +CMT,1,1,505,1.1,CSH,7 +CMT,1,1,903,2.2,CSH,11.5 +CMT,1,1,722,1.7,CRD,9.5 +CMT,1,2,938,2,CSH,12 +CMT,1,1,575,1.5,CSH,8 +CMT,1,1,514,1.9,CRD,8.5 +CMT,1,1,1411,4.2,CSH,18 +CMT,1,1,796,1.6,CRD,10 +CMT,1,1,503,1.3,CSH,7.5 +CMT,1,1,713,1.1,CSH,8.5 +CMT,1,2,334,0.8,CRD,6 +CMT,1,1,500,2.1,CSH,9 +CMT,1,1,415,3.3,CSH,11 +CMT,1,1,593,1.7,CRD,9 +CMT,1,1,656,1.5,CSH,9 +CMT,1,1,382,1.2,CRD,7 +CMT,1,1,783,3.3,CRD,12.5 +CMT,1,1,1029,7.9,CSH,24.5 +CMT,1,1,213,0.9,CSH,5 +CMT,1,1,1551,5.1,CSH,21 +CMT,1,1,1148,3.6,CSH,16.5 +CMT,1,1,787,2.5,CRD,11 +CMT,1,1,557,1.8,CSH,9 +CMT,1,1,313,1.1,CSH,6 +CMT,1,1,370,0.8,CRD,6 +CMT,1,1,395,0.9,CRD,6.5 +CMT,1,1,347,1.1,CRD,6 +CMT,1,1,589,3.7,CRD,13 +CMT,2,1,1911,18.1,CRD,52 +CMT,1,1,372,0.7,CSH,6 +CMT,1,1,566,2.1,CRD,9.5 +CMT,1,1,480,1.6,CRD,8 +CMT,1,1,1904,3.5,CRD,20.5 +CMT,1,1,963,2.5,CRD,12.5 +CMT,1,1,157,0.3,CSH,3.5 +CMT,1,1,1165,3,CSH,14.5 +CMT,1,1,169,0.6,CRD,4 +CMT,1,1,301,0.7,CRD,5.5 +CMT,1,1,942,2.3,CRD,12 +CMT,1,1,547,1.1,CRD,7.5 +CMT,1,1,969,1.7,CSH,11.5 +CMT,1,1,313,0.4,CSH,5 +CMT,1,1,898,1.2,CRD,10.5 +CMT,1,1,1051,2.4,CSH,13.5 +CMT,1,1,606,2.3,CRD,9.5 +CMT,1,1,346,0.9,CRD,6 +CMT,1,1,342,1,CRD,6.5 +CMT,1,1,495,1.7,CRD,8 +CMT,1,1,176,1,CSH,5 +CMT,3,1,1851,19.9,CSH,71 +CMT,1,1,306,0.6,CRD,5 +CMT,1,1,249,1.5,CSH,6.5 +CMT,1,1,77,0.2,CSH,3 +CMT,1,1,217,1.1,CSH,5.5 +CMT,1,1,165,0.8,CRD,4.5 +CMT,1,1,183,0.5,CSH,4 +CMT,1,1,323,0.3,CRD,5 +CMT,1,1,145,0.4,CSH,4 +CMT,1,1,231,1.2,CRD,6 +CMT,1,1,176,0.9,CRD,5 +CMT,1,1,375,1.5,CRD,7.5 +CMT,1,1,240,0.8,CSH,5 +CMT,1,1,330,0.5,CRD,5 +CMT,1,1,446,0.9,CRD,6.5 +CMT,1,2,483,2.6,CRD,9.5 +CMT,1,3,182,0.4,CSH,4 +CMT,1,1,838,2.7,CSH,12 +CMT,1,1,145,0.4,CRD,4 +CMT,1,1,888,3,CSH,13.5 +CMT,1,1,1470,3.2,CRD,18 +CMT,1,1,407,0.8,CRD,6.5 +CMT,1,1,666,1.5,CSH,9 +CMT,1,1,639,1,CSH,8 +CMT,1,1,398,1.4,CRD,7 +CMT,1,1,348,1.3,CSH,6.5 +CMT,1,1,161,0.9,CRD,4.5 +CMT,1,1,1377,2.8,CRD,15.5 +CMT,1,1,308,0.9,CSH,6 +CMT,1,1,1099,2.9,CRD,14.5 +CMT,1,1,740,2.5,CRD,11 +CMT,1,2,267,1,CSH,5.5 +CMT,1,3,209,0.6,CRD,4.5 +CMT,1,1,156,0.3,CRD,3.5 +CMT,1,1,709,3.7,CRD,13 +CMT,1,1,485,2.1,CSH,9 +CMT,1,1,965,8.3,CSH,24 +CMT,2,1,1629,19.1,CRD,52 +CMT,1,1,413,2.2,CSH,8.5 +CMT,1,1,680,1,CSH,8 +CMT,1,1,986,1.9,CSH,12 +CMT,1,1,1249,4.7,CSH,18 +CMT,1,1,1193,4.2,CRD,17.5 +CMT,1,4,450,1,CSH,6.5 +CMT,1,1,733,1.9,CRD,10 +CMT,1,1,316,0.6,CSH,5.5 +CMT,1,1,1468,4.8,CSH,19 +CMT,1,3,296,1,CRD,5.5 +CMT,1,1,898,2.4,CRD,12 +CMT,1,1,278,0.9,CRD,5.5 +CMT,1,1,214,0.6,CRD,4.5 +CMT,1,1,278,0.7,CSH,5.5 +CMT,1,2,268,1.5,CRD,6.5 +CMT,1,1,1293,5.4,CSH,20.5 +CMT,1,1,340,1.2,CRD,6.5 +CMT,1,1,1909,1.2,CSH,6.5 +CMT,1,1,410,0.9,CRD,6.5 +CMT,1,1,283,0.6,CSH,5 +CMT,1,1,140,0.6,CSH,4.5 +CMT,1,1,236,0.7,CRD,5 +CMT,1,1,447,1.2,CSH,7 +CMT,1,1,165,0.8,CRD,4.5 +CMT,1,1,505,3.2,CSH,10.5 +CMT,1,1,889,4,CSH,15.5 +CMT,1,1,593,1,CSH,8 +CMT,1,1,281,0.8,CSH,5 +CMT,1,1,190,0.6,CSH,4.5 +CMT,1,1,907,3,CRD,13 +CMT,1,1,185,0.5,CRD,4.5 +CMT,1,1,710,2.1,CRD,10 +CMT,1,1,1035,2.4,CRD,13 +CMT,1,1,740,2,CSH,10 +CMT,1,2,1345,3.3,CSH,16 +CMT,1,1,938,4.3,CSH,16.5 +CMT,1,1,391,1.1,CRD,6.5 +CMT,1,1,678,1.4,CRD,9 +CMT,1,2,430,1.2,CRD,7 +CMT,1,1,126,0.3,CSH,3.5 +CMT,1,1,516,1.6,CRD,8 +CMT,1,1,567,1.5,CSH,8.5 +CMT,1,1,1154,2.4,CRD,14 +CMT,1,3,379,0.7,CRD,6 +CMT,1,1,462,1.8,CRD,8 +CMT,1,1,312,1,CSH,6 +CMT,1,1,1090,3.5,CSH,15 +CMT,1,1,945,6,CSH,19.5 +CMT,1,1,386,0.7,CRD,6 +CMT,1,2,247,0.7,CRD,5 +CMT,1,1,490,1.3,CRD,7.5 +CMT,1,1,220,0.6,CSH,4.5 +CMT,1,1,491,1.8,CRD,8.5 +CMT,1,1,384,1.4,CSH,7 +CMT,3,1,30,0.8,CSH,52 +CMT,1,1,422,1.9,CSH,7.5 +CMT,1,1,308,1.2,CRD,6.5 +CMT,1,1,170,0.7,CSH,4.5 +CMT,1,1,530,1,CSH,7.5 +CMT,1,1,1983,10.3,CRD,33.5 +CMT,1,1,870,4.4,CRD,15.5 +CMT,1,1,287,0.8,CRD,5.5 +CMT,2,1,2283,17.3,CSH,52 +CMT,1,1,858,2.7,CRD,12 +CMT,1,1,235,0.3,CRD,4.5 +CMT,1,1,306,0.6,CRD,5.5 +CMT,1,1,415,1.1,CRD,6.5 +CMT,1,1,495,1.8,CRD,8 +CMT,1,2,406,1.7,CRD,7.5 +CMT,1,1,1055,2.4,CSH,13 +CMT,1,1,954,4.5,CRD,16 +CMT,1,1,829,4.6,CSH,15.5 +CMT,1,1,601,2.7,CSH,10.5 +CMT,1,1,586,1.7,CRD,8.5 +CMT,1,1,265,0.8,CSH,5 +CMT,1,1,190,1,CSH,5 +CMT,1,1,368,0.4,CSH,5.5 +CMT,2,1,1742,19.4,CRD,52 +CMT,1,1,322,1.3,CRD,6.5 +CMT,1,1,201,1.1,CRD,5.5 +CMT,1,1,457,2.1,CSH,8.5 +CMT,1,1,499,1.1,CSH,7 +CMT,1,1,276,0.6,CSH,5 +CMT,1,1,1134,7.6,CSH,24 +CMT,1,1,501,0.7,CSH,7 +CMT,1,1,382,0.7,CSH,6 +CMT,1,1,461,0.6,CRD,6.5 +CMT,1,1,265,1.2,CRD,6 +CMT,1,1,359,1.3,CSH,7 +CMT,1,1,440,1.4,CRD,7 +CMT,1,1,194,0.4,CSH,4.5 +CMT,1,1,344,0.8,CRD,5.5 +CMT,1,1,140,0.6,CSH,4 +CMT,1,1,491,2.2,CRD,8.5 +CMT,1,1,746,1.3,CSH,9.5 +CMT,1,1,251,1.2,CSH,5.5 +CMT,1,1,26,0.1,CSH,2.5 +CMT,1,1,1115,5.5,CSH,19.5 +CMT,1,1,426,1.2,CSH,7.5 +CMT,1,1,289,1,CSH,6 +CMT,1,1,314,1.5,CRD,7 +CMT,1,1,767,3.8,CRD,14 +CMT,1,1,138,0.4,CSH,4 +CMT,1,1,316,1.2,CRD,6 +CMT,1,1,541,2.1,CRD,9 +CMT,1,1,440,1.7,CRD,8 +CMT,1,1,498,2.1,CRD,9 +CMT,1,1,694,1.7,CSH,9.5 +CMT,1,1,239,0.8,CRD,5 +CMT,1,1,430,1.8,CSH,7.5 +CMT,1,1,280,0.5,CRD,5 +CMT,1,2,555,1.4,CSH,8.5 +CMT,1,1,155,0.6,CSH,4.5 +CMT,1,1,294,1.2,CSH,6.5 +CMT,1,1,1575,6,CRD,23 +CMT,1,1,152,0.2,CSH,3.5 +CMT,1,1,544,1.2,CSH,7.5 +CMT,1,1,495,1.7,CRD,8.5 +CMT,1,1,615,1.7,CRD,9 +CMT,1,1,209,1.5,CSH,6 +CMT,1,1,78,0.6,CRD,4 +CMT,1,1,758,3.1,CSH,12.5 +CMT,1,1,1133,8.8,CRD,26.5 +CMT,1,1,393,2.6,CRD,9 +CMT,1,1,393,1.3,CRD,7 +CMT,1,1,671,2,CRD,10 +CMT,1,1,1194,3.5,CSH,16 +CMT,1,1,578,3.8,CRD,13 +CMT,1,1,1554,12.5,CRD,36.5 +CMT,1,1,178,0.7,CSH,4.5 +CMT,1,1,1010,3.7,CRD,15.5 +CMT,1,1,654,1.7,CRD,9 +CMT,1,2,819,3.3,CRD,12.5 +CMT,1,1,239,0.8,CSH,5 +CMT,1,1,358,1,CSH,6 +CMT,1,1,785,4.5,CSH,15 +CMT,1,1,1293,10.3,CSH,30.5 +CMT,1,1,1530,8.8,CSH,29 +CMT,1,1,283,1.7,CRD,7 +CMT,1,1,169,1,CRD,5 +CMT,1,1,993,6,CSH,19.5 +CMT,1,1,933,2.8,CSH,12.5 +CMT,1,1,270,0.7,CSH,5 +CMT,1,1,557,6.3,CSH,18.5 +CMT,1,1,978,9,CRD,26.5 +CMT,1,1,1662,5.4,CSH,21.5 +CMT,1,1,1076,4.7,CSH,17.5 +CMT,1,1,530,1,CSH,7 +CMT,1,1,727,3.2,CSH,13 +CMT,1,1,489,1.5,CRD,8 +CMT,1,1,368,0.8,CRD,6 +CMT,1,1,532,2.2,CRD,9.5 +CMT,1,1,655,2.5,CRD,10.5 +CMT,1,1,199,0.8,CSH,5 +CMT,1,1,529,2.5,CSH,10 +CMT,1,1,754,3.4,CRD,13.5 +CMT,1,1,1087,3.9,CSH,16 +CMT,1,1,302,0.9,CSH,6 +CMT,1,1,261,1.2,CSH,6 +CMT,1,1,422,2.6,CSH,9.5 +CMT,1,1,293,1.2,CRD,6 +CMT,1,1,337,1.2,CRD,6.5 +CMT,1,1,726,3.2,CRD,12 +CMT,1,1,1251,5,CRD,19.5 +CMT,1,1,251,0.9,CSH,5.5 +CMT,1,1,418,1,CSH,6.5 +CMT,1,1,1838,7.8,CSH,29.5 +CMT,1,1,206,1.4,CRD,6 +CMT,1,1,606,3.1,CSH,11.5 +CMT,1,1,181,0.6,CSH,4.5 +CMT,1,1,91,0.4,CSH,3.5 +CMT,1,1,265,1.2,CRD,6.5 +CMT,1,1,349,1.3,CSH,7 +CMT,1,1,185,0.7,CRD,4.5 +CMT,1,1,163,0.7,CRD,4.5 +CMT,1,1,1522,7.8,CSH,27 +CMT,1,1,1335,3.9,CRD,17 +CMT,1,1,1628,7.4,CRD,25.5 +CMT,1,1,743,3.7,CSH,13.5 +CMT,1,1,738,3,CSH,11.5 +CMT,1,1,302,0.9,CSH,5.5 +CMT,1,1,359,1.1,CRD,6 +CMT,1,1,716,3.7,CSH,12.5 +CMT,1,1,709,2.3,CSH,10.5 +CMT,1,1,114,0.5,CSH,4 +CMT,1,1,434,2.4,CRD,9.5 +CMT,1,1,467,1.9,CRD,8.5 +CMT,1,1,466,1.3,CRD,7 +CMT,1,1,617,2.3,CSH,10.5 +CMT,1,1,368,1,CSH,6.5 +CMT,1,1,341,0.6,CRD,5.5 +CMT,1,1,332,0.8,CRD,6 +CMT,1,1,773,2.2,CSH,11 +CMT,1,1,311,1.4,CSH,7 +CMT,1,1,438,1.4,CRD,7 +CMT,1,1,304,0.8,CRD,5.5 +CMT,1,1,378,1.5,CSH,7 +CMT,1,1,539,2.3,CSH,9.5 +CMT,1,1,743,4.2,CSH,13.5 +CMT,1,1,749,2.4,CSH,11.5 +CMT,1,1,305,0.9,CSH,5.5 +CMT,1,1,243,0.6,CRD,5 +CMT,1,1,283,0.6,CSH,5 +CMT,1,1,669,3.5,CRD,12.5 +CMT,1,1,339,1.3,CSH,7 +CMT,1,1,1656,5.6,CRD,23 +CMT,1,1,265,0.6,CRD,4.5 +CMT,1,1,368,1.1,CSH,6.5 +CMT,1,1,299,0.5,CRD,5 +CMT,1,1,272,1.4,CRD,6.5 +CMT,1,1,567,0.9,CSH,7.5 +CMT,1,1,1332,7.8,CRD,25.5 +CMT,1,1,651,3.1,CSH,11.5 +CMT,1,1,592,1.7,CRD,9 +CMT,1,1,411,1.5,CRD,7.5 +CMT,1,1,437,1.8,CRD,8.5 +CMT,1,1,319,1.1,CRD,6 +CMT,1,1,352,1.2,CRD,6.5 +CMT,1,1,487,1.5,CRD,7.5 +CMT,1,1,228,0.4,CRD,4.5 +CMT,1,1,209,0.8,CSH,5 +CMT,1,1,429,1.8,CRD,8.5 +CMT,1,1,217,0.6,CRD,5 +CMT,1,1,354,1,CSH,6.5 +CMT,1,1,1138,3.5,CSH,15 +CMT,1,1,316,1,CSH,5.5 +CMT,1,1,835,2.1,CRD,10.5 +CMT,1,1,450,1.9,CRD,8 +CMT,1,1,881,5.4,CSH,18 +CMT,1,1,762,2.4,CRD,11 +CMT,1,1,189,0.7,CSH,4.5 +CMT,1,1,713,3.6,CSH,13.5 +CMT,1,1,496,2.7,CRD,10 +CMT,1,1,611,1.9,CSH,9.5 +CMT,1,1,823,2.6,CRD,11.5 +CMT,1,1,250,0.8,CSH,5 +CMT,1,1,588,2.5,CSH,10 +CMT,1,1,306,1.5,CRD,6.5 +CMT,1,1,208,0.4,CSH,4 +CMT,1,1,901,4.8,CSH,16 +CMT,1,1,262,0.8,CSH,5 +CMT,1,1,609,5.4,CSH,17 +CMT,1,1,227,0.7,CSH,5 +CMT,1,1,321,0.6,CSH,5.5 +CMT,1,1,632,2.9,CRD,11 +CMT,1,1,795,3.8,CRD,14 +CMT,1,1,437,1.2,CRD,7 +CMT,1,1,647,1.5,CSH,8.5 +CMT,1,1,1180,3.9,CSH,16 +CMT,1,1,745,2.1,CRD,10.5 +CMT,1,1,349,0.6,CSH,5.5 +CMT,1,1,811,4.9,CRD,15.5 +CMT,1,1,732,1.9,CSH,9.5 +CMT,1,1,888,7.7,CRD,23 +CMT,1,1,423,1.3,CSH,7 +CMT,1,1,413,1.5,CSH,7 +CMT,1,1,496,2.3,CRD,9.5 +CMT,1,1,367,1.5,CSH,7 +CMT,1,1,570,2.9,CRD,11 +CMT,1,1,575,2.2,CRD,10 +CMT,1,1,208,0.8,CSH,5 +CMT,1,1,968,7.4,CRD,23 +CMT,1,1,258,0.8,CSH,5 +CMT,1,1,723,3.7,CRD,13.5 +CMT,1,1,315,1.6,CSH,7 +CMT,1,1,476,1.4,CSH,7.5 +CMT,1,2,328,1.4,CSH,6.5 +CMT,1,1,954,7.7,CSH,23 +CMT,1,1,756,2.3,CRD,11 +CMT,1,1,384,0.5,CSH,5.5 +CMT,1,3,1175,3.1,CRD,15 +CMT,1,1,339,1,CSH,6 +CMT,1,1,416,0.9,CRD,6.5 +CMT,1,1,2935,27.1,CRD,75.5 +CMT,1,1,356,0.9,CSH,6 +CMT,1,1,267,0.9,CSH,5 +CMT,1,2,1027,7.3,CRD,22 +CMT,1,1,599,2.1,CRD,9.5 +CMT,1,1,913,2.8,CSH,12.5 +CMT,1,1,1038,2.2,CRD,13 +CMT,1,2,1647,7.9,CSH,28.5 +CMT,1,1,230,0.6,CRD,4.5 +CMT,1,2,740,2,CSH,10.5 +CMT,1,1,434,0.8,CRD,6.5 +CMT,1,1,1414,4,CRD,17 +CMT,1,2,651,0.7,CSH,8 +CMT,1,1,136,0.6,CSH,4 +CMT,1,1,518,1.5,CRD,8.5 +CMT,1,1,359,1.7,CSH,7.5 +CMT,1,1,491,1.8,CRD,8.5 +CMT,1,1,400,1.2,CRD,7 +CMT,1,1,412,1.3,CSH,7 +CMT,1,2,48,0,CSH,2.5 +CMT,1,1,197,1,CRD,5 +CMT,1,4,296,0.9,CSH,5.5 +CMT,1,1,1142,3.1,CRD,14.5 +CMT,2,1,1548,16.6,CRD,52 +CMT,1,1,389,1.3,CSH,7 +CMT,1,1,631,4.6,CRD,14 +CMT,1,1,517,2.7,CRD,10 +CMT,1,1,589,2.2,CSH,10 +CMT,1,1,228,0.9,CSH,5 +CMT,1,1,434,2.5,CSH,9 +CMT,1,1,198,1.1,CRD,5.5 +CMT,1,1,880,4.1,CSH,15 +CMT,1,1,559,1.1,CSH,7.5 +CMT,1,1,563,1.8,CSH,8.5 +CMT,1,1,611,2.5,CRD,10.5 +CMT,1,1,2158,9.5,CSH,33.5 +CMT,1,1,919,5.3,CSH,17.5 +CMT,1,1,744,2.6,CSH,11 +CMT,1,1,430,0.7,CRD,6.5 +CMT,1,1,581,1.8,CRD,9 +CMT,1,1,447,1.8,CSH,8.5 +CMT,1,1,1102,9,CSH,27.5 +CMT,1,1,1070,4.9,CSH,17.5 +CMT,1,1,303,1.3,CSH,6 +CMT,1,1,983,4.4,CRD,16 +CMT,1,1,332,0.6,CSH,5.5 +CMT,1,1,1365,5,CSH,18.5 +CMT,1,1,729,2.1,CRD,10.5 +CMT,1,1,371,1.3,CRD,7 +CMT,1,1,885,2.1,CRD,11.5 +CMT,1,1,330,0.8,CSH,5.5 +CMT,1,1,443,1.9,CSH,8 +CMT,1,1,661,2.6,CSH,10.5 +CMT,1,1,1236,5.4,CRD,19 +CMT,1,1,757,3.6,CRD,13 +CMT,1,1,931,4.1,CRD,15 +CMT,1,1,86,0.6,CSH,4 +CMT,1,1,610,1.7,CRD,9 +CMT,1,1,552,2.3,CRD,10 +CMT,1,1,160,0.6,CSH,4.5 +CMT,1,1,350,1,CSH,6 +CMT,1,1,490,1.4,CSH,7.5 +CMT,1,1,856,2.2,CSH,11 +CMT,1,1,306,0.8,CRD,5.5 +CMT,1,1,505,3.1,CRD,11 +CMT,1,1,419,1,CRD,6.5 +CMT,1,1,1677,6.1,CRD,25 +CMT,1,1,1194,4.9,CRD,18 +CMT,1,1,200,0.9,CSH,5 +CMT,1,1,739,3.3,CSH,12.5 +CMT,1,1,548,3.6,CSH,12.5 +CMT,1,1,1224,6.6,CRD,21.5 +CMT,1,1,195,0.6,CSH,4.5 +CMT,1,1,658,3.7,CSH,13 +CMT,1,1,299,1.4,CRD,6.5 +CMT,1,1,667,6.9,CSH,20.5 +CMT,1,1,1082,6.9,CSH,22 +CMT,1,1,1105,4.6,CSH,16.5 +CMT,1,1,199,0.7,CRD,4.5 +CMT,1,1,137,0.2,CSH,3.5 +CMT,1,1,619,1.8,CSH,9 +CMT,1,1,958,5.7,CRD,19 +CMT,1,1,1160,5.8,CSH,19.5 +CMT,1,1,316,1.2,CSH,6 +CMT,1,1,1241,7,CSH,22 +CMT,1,1,211,0.7,CSH,5 +CMT,1,1,359,2.1,CSH,8 +CMT,1,1,656,1.9,CRD,9.5 +CMT,1,1,283,1.2,CSH,6 +CMT,1,1,491,1.4,CRD,7.5 +CMT,1,1,231,0.9,CRD,5.5 +CMT,1,1,129,0.5,CRD,4 +CMT,1,1,365,1.2,CSH,6.5 +CMT,1,1,1210,6.6,CSH,22 +CMT,1,1,529,2.4,CSH,9.5 +CMT,1,1,321,1,CRD,5.5 +CMT,1,1,1196,5.6,CRD,20 +CMT,2,1,1949,17.5,CRD,52 +CMT,1,1,204,0.7,CSH,4.5 +CMT,1,1,838,3.9,CSH,14 +CMT,1,1,804,3.3,CSH,12.5 +CMT,1,1,762,3.9,CRD,14.5 +CMT,1,1,497,1.3,CRD,8 +CMT,1,1,612,1.7,CSH,8.5 +CMT,1,1,117,0.5,CRD,4 +CMT,1,1,798,1.7,CRD,10 +CMT,1,1,424,0.8,CSH,6 +CMT,1,1,600,2.4,CSH,10 +CMT,1,1,735,2.6,CRD,11 +CMT,1,1,528,1.7,CRD,8.5 +CMT,1,1,1016,3.6,CSH,14.5 +CMT,1,1,491,3.1,CSH,10.5 +CMT,1,1,1043,9.2,CSH,28 +CMT,1,1,331,1.1,CSH,6.5 +CMT,1,1,634,2.8,CSH,11 +CMT,1,1,380,1.6,CSH,7.5 +CMT,1,1,515,6.2,CRD,18 +CMT,1,1,755,3.7,CSH,14 +CMT,1,1,806,4.4,CRD,16 +CMT,1,1,388,1.6,CRD,8 +CMT,1,1,352,0.8,CSH,6 +CMT,1,1,703,2.3,CSH,10.5 +CMT,1,1,708,3.5,CSH,12 +CMT,1,1,888,4,CSH,15 +CMT,1,1,860,6.4,CRD,20 +CMT,1,1,181,0.9,CSH,5 +CMT,1,1,351,1.7,CRD,7.5 +CMT,1,1,1171,7.5,CSH,24.5 +CMT,1,1,184,0.8,CSH,4.5 +CMT,1,1,457,2.5,CRD,9.5 +CMT,1,1,476,1.7,CSH,8 +CMT,1,1,847,5.7,CRD,18.5 +CMT,1,1,1183,7.7,CSH,25.5 +CMT,1,1,689,3.2,CRD,12.5 +CMT,1,1,299,1.2,CSH,6.5 +CMT,1,1,208,0.6,CSH,4.5 +CMT,1,1,485,2.1,CSH,9 +CMT,1,1,320,1.4,CSH,6.5 +CMT,1,1,350,1.6,CRD,7 +CMT,1,1,520,1.3,CSH,7.5 +CMT,5,1,60,0,CRD,13.5 +CMT,1,1,1807,5.6,CSH,23.5 +CMT,1,1,235,0.5,CSH,4.5 +CMT,1,1,356,0.8,CRD,6 +CMT,1,1,863,3,CSH,12.5 +CMT,1,1,489,1.4,CSH,7.5 +CMT,1,1,820,3.8,CRD,14.5 +CMT,1,1,220,0.6,CSH,4.5 +CMT,1,1,217,0.5,CSH,4 +CMT,1,1,511,1.3,CRD,7.5 +CMT,1,2,612,1.9,CRD,9 +CMT,1,1,845,1.6,CRD,10.5 +CMT,1,2,982,1.9,CSH,12 +CMT,1,2,1442,6.2,CRD,22 +CMT,1,4,374,1.6,CSH,7 +CMT,1,1,907,3.4,CRD,13.5 +CMT,1,1,812,4.4,CRD,15.5 +CMT,1,1,349,1.5,CSH,7 +CMT,1,1,504,1.7,CRD,8 +CMT,1,1,415,2.5,CSH,9 +CMT,1,1,670,2.4,CSH,10.5 +CMT,1,1,215,0.4,CRD,4.5 +CMT,1,1,594,2.8,CRD,11 +CMT,1,1,406,1.6,CRD,7.5 +CMT,1,1,637,3.7,CRD,13.5 +CMT,1,1,765,2.8,CRD,11.5 +CMT,1,1,594,2.1,CRD,9.5 +CMT,1,1,515,1.6,CRD,8 +CMT,1,1,1160,3.9,CRD,17 +CMT,1,1,1405,8,CRD,26.5 +CMT,1,1,1270,5.2,CSH,19.5 +CMT,1,1,193,0.9,CSH,5 +CMT,1,1,520,1.3,CRD,8 +CMT,1,1,552,1.8,CRD,8.5 +CMT,1,1,587,1.6,CRD,8.5 +CMT,1,1,250,1,CRD,5.5 +CMT,1,1,372,1,CSH,6.5 +CMT,1,1,178,0.5,CRD,4 +CMT,1,1,501,1.5,CSH,8 +CMT,1,1,384,2.5,CRD,9 +CMT,1,1,121,0.8,CSH,4.5 +CMT,1,1,386,1.9,CRD,7.5 +CMT,1,1,309,0.6,CSH,5.5 +CMT,1,1,369,1.1,CRD,6.5 +CMT,1,1,245,0.9,CRD,5.5 +CMT,1,1,691,2.4,CRD,10 +CMT,1,1,291,0.7,CRD,5 +CMT,1,1,490,1.1,CRD,7 +CMT,1,1,603,1.9,CSH,9 +CMT,1,1,771,5.3,CSH,17.5 +CMT,1,1,501,2.3,CRD,9.5 +CMT,1,1,599,3.1,CSH,11.5 +CMT,1,1,146,1.1,CSH,5 +CMT,1,1,577,1.2,CSH,7.5 +CMT,1,1,873,4.9,CSH,16 +CMT,1,1,606,1.6,CSH,8.5 +CMT,1,1,987,2.7,CSH,13.5 +CMT,1,1,317,0.8,CRD,5.5 +CMT,1,1,249,0.6,CSH,4.5 +CMT,1,1,841,4.6,CSH,15.5 +CMT,1,1,932,6.6,CSH,20.5 +CMT,1,1,147,0.6,CSH,4.5 +CMT,1,1,496,1.7,CSH,8 +CMT,1,1,238,0.5,CSH,4 +CMT,1,1,488,1.2,CSH,7.5 +CMT,1,1,579,1.5,CRD,8.5 +CMT,1,1,651,2.1,CRD,10 +CMT,1,1,844,1.9,CSH,11 +CMT,1,1,711,1.9,CRD,10 +CMT,1,1,667,2.8,CSH,12 +CMT,1,1,894,2.2,CSH,11.5 +CMT,1,1,782,3.4,CRD,13 +CMT,1,1,1577,4.3,CSH,19.5 +CMT,1,1,829,3.5,CSH,13 +CMT,1,1,698,2.3,CSH,10.5 +CMT,1,1,293,0.7,CRD,5.5 +CMT,1,1,291,0.6,CSH,5 +CMT,1,1,806,1.5,CSH,10 +CMT,1,1,381,0.9,CSH,6 +CMT,1,1,592,2.3,CRD,10.5 +CMT,1,1,616,2.6,CRD,11 +CMT,1,1,162,0.7,CSH,4.5 +CMT,1,1,836,5,CRD,16.5 +CMT,1,1,981,5,CSH,17 +CMT,1,1,712,3.2,CSH,12 +CMT,1,1,401,1.8,CSH,8 +CMT,1,1,322,2.2,CRD,8 +CMT,1,1,392,1.5,CRD,7.5 +CMT,1,1,217,1.2,CSH,5.5 +CMT,1,1,1444,0.5,CSH,4 +CMT,1,1,246,0.8,CSH,5 +CMT,1,1,766,3.9,CRD,14 +CMT,1,1,385,1.3,CRD,7 +CMT,1,1,470,1.6,CSH,7.5 +CMT,1,1,1237,4,CRD,16.5 +CMT,1,1,203,0.7,CSH,4.5 +CMT,1,1,617,4.1,CRD,13.5 +CMT,1,1,650,2.7,CSH,10.5 +CMT,1,1,176,0.3,CSH,3.5 +CMT,1,1,691,6.1,CSH,18.5 +CMT,1,1,142,0.4,CSH,3.5 +CMT,1,1,993,4.7,CRD,16.5 +CMT,1,1,507,3.5,CRD,11.5 +CMT,1,1,2347,15.9,CRD,49 +CMT,1,1,288,1,CSH,6 +CMT,1,1,340,1.3,CRD,7 +CMT,1,1,217,1,CRD,5.5 +CMT,1,1,917,9.3,CRD,26.5 +CMT,1,1,133,0.5,CSH,4 +CMT,1,1,1106,6.1,CRD,20 +CMT,1,1,433,1.3,CSH,7.5 +CMT,1,1,472,0.9,CSH,6.5 +CMT,1,1,214,0.8,CSH,5 +CMT,1,1,327,0.8,CSH,6 +CMT,1,1,934,3.5,CRD,14 +CMT,1,1,1151,6.5,CRD,22.5 +CMT,1,1,286,0.9,CSH,5 +CMT,1,1,2921,3.3,CSH,12.5 +CMT,1,1,1026,4.6,CRD,17.5 +CMT,1,1,518,2.5,CRD,10 +CMT,1,1,1345,10.8,CRD,31.5 +CMT,1,1,1427,4.4,CRD,19.5 +CMT,1,1,641,2.1,CSH,9.5 +CMT,1,1,240,1.2,CSH,5.5 +CMT,1,1,751,3.3,CSH,12.5 +CMT,1,1,981,5.8,CSH,18.5 +CMT,1,1,939,7.7,CRD,23.5 +CMT,1,1,983,3.1,CRD,13.5 +CMT,1,1,446,1.8,CSH,8.5 +CMT,1,1,1160,5.3,CRD,18.5 +CMT,1,1,257,0.6,CSH,5 +CMT,1,1,627,2.2,CSH,10 +CMT,1,1,257,1,CRD,5.5 +CMT,1,1,170,1,CRD,5 +CMT,1,1,920,5.7,CRD,18 +CMT,1,1,378,1.2,CSH,7 +CMT,1,1,471,1.7,CRD,8 +CMT,1,1,599,2.7,CRD,10.5 +CMT,1,1,326,1.3,CRD,6.5 +CMT,1,1,689,2.2,CSH,10 +CMT,1,1,394,1.1,CSH,6.5 +CMT,1,1,148,0.6,CSH,4.5 +CMT,1,1,1248,6,CRD,21.5 +CMT,1,1,612,2.1,CSH,10 +CMT,1,1,43,0.3,CSH,3 +CMT,1,1,681,2.4,CSH,10.5 +CMT,1,1,281,1.2,CSH,6 +CMT,1,1,1412,8.6,CRD,26.5 +CMT,1,1,743,2.5,CSH,10.5 +CMT,1,1,206,0.7,CSH,4.5 +CMT,1,1,433,2,CRD,8 +CMT,1,1,239,0.9,CRD,5 +CMT,1,1,611,2.5,CSH,10 +CMT,1,1,1040,5.2,CSH,18 +CMT,1,1,535,1.7,CSH,8.5 +CMT,1,1,735,2.2,CSH,10 +CMT,1,1,731,1.8,CSH,9.5 +CMT,1,1,166,0.4,CSH,3.5 +CMT,1,1,480,1,CSH,6.5 +CMT,1,1,490,0.9,CRD,7 +CMT,1,1,1456,8.4,CRD,26.5 +CMT,1,1,212,0.9,CSH,5 +CMT,1,1,506,1.6,CRD,8 +CMT,1,1,74,0.5,CRD,3.5 +CMT,1,1,808,4.6,CRD,15.5 +CMT,1,1,61,0,CSH,2.5 +CMT,1,1,461,1.7,CSH,8 +CMT,1,1,433,1.4,CRD,7.5 +CMT,1,1,675,1.4,CSH,8.5 +CMT,1,1,1041,3.8,CRD,15 +CMT,1,1,2088,9.7,CSH,33 +CMT,1,1,497,1.9,CSH,8.5 +CMT,1,4,649,1.8,CSH,8 +CMT,1,1,307,1.1,CSH,6 +CMT,1,1,106,0.9,CSH,4.5 +CMT,1,1,111,0.6,CSH,4 +CMT,1,1,184,0.7,CSH,4.5 +CMT,1,1,142,0.4,CSH,4 +CMT,1,1,263,1.2,CSH,5.5 +CMT,1,1,615,1.6,CSH,8.5 +CMT,1,1,852,3.5,CRD,14 +CMT,1,1,381,1.1,CSH,6.5 +CMT,1,1,564,1.6,CSH,8.5 +CMT,1,1,1528,2.4,CRD,16 +CMT,1,1,519,1.1,CRD,7.5 +CMT,1,1,973,3.5,CSH,14 +CMT,1,1,1186,5.1,CSH,18 +CMT,1,1,761,2.7,CSH,11.5 +CMT,1,1,442,1.7,CRD,8 +CMT,1,1,433,1.7,CRD,7.5 +CMT,1,1,910,2.4,CRD,12 +CMT,1,1,247,1,CSH,5 +CMT,1,1,457,1.4,CSH,7 +CMT,1,1,634,3.6,CRD,13.5 +CMT,1,1,915,2.1,CSH,11.5 +CMT,1,1,963,3.2,CRD,14 +CMT,1,1,281,1.6,CRD,7 +CMT,1,1,126,0.5,CSH,4 +CMT,1,1,553,2.5,CSH,10 +CMT,1,1,467,2.8,CSH,10 +CMT,1,1,195,1.1,CSH,5.5 +CMT,1,1,80,0.4,CSH,3.5 +CMT,1,1,239,1,CRD,5.5 +CMT,1,1,514,3.5,CSH,12.5 +CMT,1,1,776,4.8,CSH,16.5 +CMT,1,1,478,2,CRD,9 +CMT,1,1,651,2,CSH,9.5 +CMT,1,1,399,0.9,CSH,6 +CMT,1,1,1030,4.5,CRD,16.5 +CMT,1,1,312,1.5,CSH,7 +CMT,1,1,879,3.9,CRD,15 +CMT,1,1,911,3.2,CSH,13.5 +CMT,1,1,1000,1.9,CSH,12 +CMT,1,1,499,0.9,CSH,6.5 +CMT,1,1,1179,4.7,CSH,17.5 +CMT,1,1,709,1.8,CRD,10 +CMT,1,1,374,1.7,CRD,7.5 +CMT,1,1,207,1.1,CSH,5.5 +CMT,1,1,461,1.7,CSH,8.5 +CMT,1,1,307,1.2,CRD,6 +CMT,1,1,820,4.3,CSH,14.5 +CMT,1,1,644,3.4,CRD,12 +CMT,1,1,937,4.2,CSH,15.5 +CMT,1,1,213,0.4,CSH,4 +CMT,1,1,1160,7,CSH,23.5 +CMT,1,1,756,2.3,CSH,10.5 +CMT,1,1,856,3.3,CSH,13.5 +CMT,1,1,2077,14.3,CRD,41.5 +CMT,1,1,727,2.1,CRD,10 +CMT,1,1,202,0.5,CRD,4.5 +CMT,1,1,243,1.5,CRD,6.5 +CMT,1,1,633,2.2,CSH,10 +CMT,1,1,489,2.4,CSH,9.5 +CMT,1,1,920,5.6,CSH,18 +CMT,1,1,44,0.2,CSH,3 +CMT,1,1,131,0.6,CRD,4 +CMT,1,1,1231,6.8,CRD,22.5 +CMT,1,1,444,2.3,CRD,9 +CMT,1,1,278,1,CSH,5.5 +CMT,1,1,251,1.1,CSH,5.5 +CMT,1,1,715,2.5,CSH,11 +CMT,1,1,796,2.1,CSH,10 +CMT,1,1,580,0.9,CSH,7.5 +CMT,1,1,398,1.3,CSH,6.5 +CMT,1,1,489,1.4,CSH,8 +CMT,1,1,435,1.4,CSH,7.5 +CMT,1,1,641,2.7,CRD,11 +CMT,1,1,326,1.1,CSH,6 +CMT,1,1,544,1.3,CRD,8 +CMT,1,1,526,1,CSH,7.5 +CMT,1,1,688,3.3,CSH,12.5 +CMT,1,1,453,1.1,CSH,7.5 +CMT,1,1,600,2,CRD,9 +CMT,1,1,724,4.7,CSH,16 +CMT,1,1,778,2.6,CRD,11.5 +CMT,1,1,567,2,CSH,9 +CMT,1,1,1008,3.4,CRD,14 +CMT,1,1,1430,12.9,CRD,36.5 +CMT,1,1,165,0.8,CSH,4.5 +CMT,1,1,798,8.3,CSH,24.5 +CMT,1,1,566,3.7,CRD,12.5 +CMT,1,1,523,2.5,CRD,10 +CMT,1,1,581,5.4,CSH,16.5 +CMT,1,1,226,1.5,CSH,6.5 +CMT,1,1,270,1.8,CSH,7.5 +CMT,1,1,1726,4.1,CRD,20.5 +CMT,1,1,238,0.5,CSH,4.5 +CMT,1,1,667,1.9,CSH,10 +CMT,1,1,1005,9.4,CRD,28 +CMT,1,1,736,4.7,CSH,16.5 +CMT,1,1,335,1.4,CSH,7 +CMT,1,1,366,1.7,CSH,7.5 +CMT,1,1,381,1.1,CRD,7 +CMT,1,1,428,1,CRD,7 +CMT,1,1,404,1.1,CRD,6.5 +CMT,1,1,916,5.4,CSH,17 +CMT,1,1,110,0.6,CRD,4 +CMT,1,1,751,2.1,CSH,10 +CMT,1,1,1356,4.9,CRD,19.5 +CMT,1,1,437,1.1,CSH,7 +CMT,1,1,2271,5.8,CSH,27 +CMT,1,1,191,1,CSH,5 +CMT,1,1,736,2.9,CSH,12 +CMT,1,1,775,3.5,CRD,14 +CMT,1,1,1545,10.3,CSH,31 +CMT,1,1,743,2.5,CSH,11 +CMT,1,1,510,2.4,CRD,10 +CMT,1,1,358,1.4,CRD,6.5 +CMT,1,1,317,1.1,CSH,5.5 +CMT,1,1,623,1.5,CRD,8.5 +CMT,1,1,602,2.5,CRD,10 +CMT,1,1,461,0.7,CRD,6.5 +CMT,1,1,902,1.8,CSH,10 +CMT,1,1,215,0.8,CSH,4.5 +CMT,1,1,565,2.4,CSH,9.5 +CMT,1,1,802,3.3,CSH,13.5 +CMT,1,1,736,2.8,CRD,11.5 +CMT,1,1,298,0.8,CRD,5.5 +CMT,1,1,744,1.9,CRD,10 +CMT,1,1,371,1.2,CRD,6.5 +CMT,1,1,464,1.1,CSH,7 +CMT,1,1,383,1.4,CSH,7 +CMT,1,1,767,4.2,CRD,14.5 +CMT,1,1,228,0.6,CSH,4.5 +CMT,1,1,213,0.7,CSH,4.5 +CMT,1,1,627,2.2,CSH,9.5 +CMT,1,1,330,1.2,CRD,6 +CMT,1,1,831,3.8,CRD,14.5 +CMT,1,1,819,1.8,CSH,10.5 +CMT,1,1,1411,8.2,CSH,26.5 +CMT,1,1,623,3.6,CSH,12.5 +CMT,1,1,705,4.9,CRD,15.5 +CMT,1,1,336,1.5,CSH,7 +CMT,1,1,480,1.2,CSH,7 +CMT,1,1,685,2.8,CSH,11 +CMT,1,1,387,0.9,CRD,6 +CMT,1,1,985,4.4,CRD,16 +CMT,1,1,269,0.8,CSH,5.5 +CMT,1,1,615,1,CSH,8 +CMT,1,1,456,1,CSH,6.5 +CMT,1,1,447,1.5,CSH,7.5 +CMT,1,1,767,1.9,CRD,10 +CMT,1,1,310,0.4,CRD,5 +CMT,1,1,178,0.3,CRD,4 +CMT,1,1,935,5,CRD,17 +CMT,1,1,687,2.6,CSH,11 +CMT,1,1,141,0.4,CRD,4 +CMT,1,1,403,1.3,CRD,7 +CMT,1,1,1277,4.9,CRD,18.5 +CMT,1,1,590,2.3,CRD,9.5 +CMT,1,1,633,3.6,CRD,12.5 +CMT,1,1,658,3.1,CRD,12 +CMT,1,1,727,4.2,CSH,14 +CMT,1,1,171,0.9,CRD,4.5 +CMT,1,1,220,0.8,CSH,5 +CMT,1,1,609,3.5,CSH,12 +CMT,1,1,500,1.3,CSH,8 +CMT,1,1,673,2.1,CRD,10 +CMT,1,1,280,0.7,CRD,5.5 +CMT,1,1,507,1.7,CSH,8 +CMT,1,1,27,0,CSH,2.5 +CMT,1,1,1098,5.4,CRD,19.5 +CMT,1,2,214,0.9,CSH,5 +CMT,1,1,375,0.6,CSH,5.5 +CMT,1,1,113,0.7,CRD,4 +CMT,1,1,198,1.2,CSH,5.5 +CMT,1,1,1626,4.3,CSH,19.5 +CMT,1,1,329,2.3,CRD,9 +CMT,1,1,352,1.1,CRD,6.5 +CMT,1,1,617,2.1,CSH,9 +CMT,1,1,1438,5.7,CSH,21 +CMT,1,1,1307,4.7,CSH,18 +CMT,1,1,609,2.8,CRD,11 +CMT,1,1,789,3.4,CRD,13 +CMT,1,1,848,2,CSH,10.5 +CMT,1,1,1382,2.5,CRD,14.5 +CMT,1,1,605,1.7,CRD,9 +CMT,1,1,250,1,CRD,5 +CMT,1,1,523,1.2,CRD,7.5 +CMT,1,1,785,3,CRD,11.5 +CMT,1,1,897,2.8,CRD,12.5 +CMT,1,1,551,1.9,CRD,9 +CMT,1,1,1336,10.9,CSH,31.5 +CMT,1,1,320,0.9,CSH,5.5 +CMT,1,1,688,4.2,CRD,14 +CMT,1,1,443,1.6,CSH,7.5 +CMT,1,1,601,1.7,CRD,9 +CMT,1,1,394,3,CSH,10.5 +CMT,1,1,835,4.6,CRD,16 +CMT,4,1,473,1.7,CRD,7.5 +CMT,1,1,866,4.7,CRD,15.5 +CMT,1,1,356,1.1,CRD,6.5 +CMT,1,1,713,3.6,CSH,12.5 +CMT,1,1,279,1,CRD,6 +CMT,1,1,471,1.3,CRD,7.5 +CMT,1,1,247,0.8,CRD,5 +CMT,1,1,443,2.3,CSH,9 +CMT,1,1,1013,2.7,CSH,13.5 +CMT,1,1,209,0.9,CSH,5.5 +CMT,1,1,991,5.2,CSH,17.5 +CMT,1,1,1058,2.2,CRD,12.5 +CMT,1,1,271,1.1,CSH,5.5 +CMT,1,1,471,1.5,CRD,7.5 +CMT,1,1,485,1.6,CRD,8 +CMT,1,1,533,2.3,CSH,9.5 +CMT,1,1,1178,5.4,CRD,19.5 +CMT,1,1,710,1.7,CSH,10 +CMT,1,1,234,1,CRD,5.5 +CMT,1,1,937,5.7,CRD,19.5 +CMT,1,1,350,1.4,CRD,6.5 +CMT,1,1,1088,5.3,CRD,18.5 +CMT,1,1,1096,6.5,CRD,21.5 +CMT,1,1,720,1.9,CRD,10.5 +CMT,1,1,674,2.5,CRD,10.5 +CMT,1,1,220,1.2,CRD,5.5 +CMT,1,1,290,0.8,CRD,5.5 +CMT,1,1,909,5.1,CSH,18 +CMT,1,1,657,3.3,CRD,12 +CMT,1,1,118,1,CSH,5 +CMT,1,1,436,2.1,CRD,8.5 +CMT,1,1,268,1.1,CSH,6 +CMT,1,1,894,7.7,CRD,23.5 +CMT,1,1,632,2.4,CRD,10.5 +CMT,1,1,472,2.4,CSH,9.5 +CMT,1,1,2094,4.2,CRD,23.5 +CMT,1,1,564,1.2,CSH,8 +CMT,1,1,283,0.8,CSH,5.5 +CMT,1,1,592,1.6,CSH,9 +CMT,1,1,1292,3.1,CRD,16 +CMT,1,1,253,0.5,CSH,4.5 +CMT,1,1,634,2.5,CSH,10 +CMT,1,1,738,3.2,CRD,12.5 +CMT,1,1,301,1.2,CSH,6 +CMT,1,1,392,1.5,CSH,7.5 +CMT,1,1,616,3,CSH,11 +CMT,1,1,913,2.5,CRD,9 +CMT,1,1,400,1.9,CSH,8.5 +CMT,1,1,385,1.6,CSH,7.5 +CMT,1,1,354,2,CSH,8 +CMT,1,1,382,1.9,CRD,8 +CMT,1,1,219,0.6,CSH,4.5 +CMT,1,1,157,0.5,CRD,4 +CMT,1,1,297,1,CSH,5.5 +CMT,1,1,527,2.1,CRD,9.5 +CMT,1,1,672,0.9,CSH,8.5 +CMT,1,1,584,3.6,CRD,12 +CMT,1,1,96,0.6,CRD,4 +CMT,1,1,454,1.6,CSH,8 +CMT,1,1,309,1.3,CRD,6.5 +CMT,1,1,177,0.6,CRD,4.5 +CMT,1,1,653,1.9,CSH,10 +CMT,1,1,616,3.6,CRD,12 +CMT,1,1,834,7,CSH,21.5 +CMT,1,1,402,1,CSH,6.5 +CMT,1,1,486,2.1,CRD,8.5 +CMT,1,1,235,0.8,CSH,5 +CMT,1,1,776,2.6,CSH,11.5 +CMT,1,1,430,1.9,CSH,8 +CMT,1,1,410,1.4,CRD,7.5 +CMT,1,1,357,1.1,CRD,6 +CMT,1,1,791,3.7,CRD,14 +CMT,1,1,714,2.3,CSH,10.5 +CMT,1,1,1120,3.5,CRD,15.5 +CMT,1,1,800,2.8,CRD,12 +CMT,1,1,230,0.6,CSH,4.5 +CMT,1,1,922,2.6,CRD,12.5 +CMT,1,1,257,1,CSH,6 +CMT,1,1,655,4.2,CRD,14 +CMT,1,1,486,2.7,CSH,10 +CMT,1,1,367,1.2,CRD,6.5 +CMT,1,1,822,3.2,CRD,13 +CMT,1,1,383,0.9,CSH,6.5 +CMT,1,1,1756,8.2,CRD,27 +CMT,1,1,1509,3.4,CSH,17.5 +CMT,1,1,496,1.2,CSH,7.5 +CMT,1,1,145,0.3,CSH,3.5 +CMT,1,1,697,1.6,CRD,9.5 +CMT,1,1,468,1.7,CRD,8 +CMT,1,1,29,0.2,CSH,3 +CMT,1,1,546,1.4,CSH,8 +CMT,1,1,400,1.1,CSH,6 +CMT,1,1,644,1.9,CRD,9.5 +CMT,1,1,365,1.8,CSH,7.5 +CMT,1,1,378,0.8,CRD,6 +CMT,1,1,288,1.1,CSH,5.5 +CMT,1,1,570,1.9,CSH,9 +CMT,1,1,1295,2.1,CSH,14.5 +CMT,1,1,544,2.1,CSH,9.5 +CMT,1,1,249,1.2,CRD,6 +CMT,1,1,385,1.5,CRD,7.5 +CMT,1,1,647,2.9,CRD,11.5 +CMT,1,1,103,0.4,CSH,3.5 +CMT,1,1,575,4.4,CSH,14 +CMT,1,1,784,2.1,CSH,11 +CMT,1,1,215,1,CRD,5.5 +CMT,1,1,527,2.1,CRD,9 +CMT,1,1,584,3.5,CRD,12 +CMT,1,1,399,1.5,CRD,7 +CMT,1,1,997,7.6,CSH,24 +CMT,1,1,254,0.9,CSH,5.5 +CMT,1,1,285,1.6,CSH,7 +CMT,1,1,149,0.5,CRD,4 +CMT,1,1,424,0.9,CSH,6.5 +CMT,1,1,428,1.2,CSH,6.5 +CMT,1,1,866,2.5,CSH,11 +CMT,1,1,483,1.5,CRD,8 +CMT,1,1,704,3.1,CSH,12.5 +CMT,1,1,411,0.7,CRD,6 +CMT,1,1,642,1.3,CSH,8 +CMT,1,1,638,1.4,CRD,8.5 +CMT,1,1,642,0.8,CSH,8 +CMT,1,1,212,0.6,CSH,4.5 +CMT,1,1,926,9,CRD,26.5 +CMT,1,1,1244,7.6,CRD,23 +CMT,1,1,495,2.8,CRD,10.5 +CMT,1,1,1579,13.8,CRD,39.5 +CMT,1,1,682,3.1,CRD,11.5 +CMT,1,1,928,5.2,CRD,18 +CMT,1,1,675,1.7,CRD,9.5 +CMT,1,1,251,1.5,CSH,6 +CMT,1,1,596,2,CRD,9.5 +CMT,1,1,226,0.6,CSH,4.5 +CMT,1,1,398,1.4,CSH,7 +CMT,1,1,631,3.1,CRD,11 +CMT,1,1,562,3.2,CSH,11.5 +CMT,1,1,187,1,CRD,5.5 +CMT,1,1,1161,5.4,CRD,19 +CMT,1,1,98,0.3,CSH,3.5 +CMT,1,1,514,2.1,CRD,9 +CMT,1,1,1186,5.8,CRD,21 +CMT,1,1,1004,2.4,CSH,12.5 +CMT,1,1,461,1.9,CSH,9 +CMT,1,1,238,1.2,CRD,5.5 +CMT,1,1,845,9.8,CRD,27 +CMT,1,1,336,1.4,CRD,6.5 +CMT,1,3,394,2.8,CRD,9.5 +CMT,1,3,831,4.2,CSH,15 +CMT,1,3,2332,8.7,CRD,32 +CMT,1,1,107,0.4,CSH,3.5 +CMT,1,1,474,2,CRD,9 +CMT,1,1,510,1.4,CSH,8 +CMT,1,1,226,0.6,CRD,5 +CMT,1,1,276,1.4,CSH,6.5 +CMT,1,1,1405,2.8,CSH,16 +CMT,1,1,333,2,CRD,8 +CMT,1,1,1176,5.2,CSH,18.5 +CMT,1,1,899,4.4,CSH,15.5 +CMT,1,1,1568,3.7,CRD,19 +CMT,1,1,888,1.2,CRD,10.5 +CMT,1,1,1174,5.7,CSH,19 +CMT,1,1,497,1.9,CSH,9 +CMT,1,1,881,3.1,CRD,13 +CMT,1,1,228,1,CSH,5.5 +CMT,1,1,733,2.6,CSH,11 +CMT,1,1,586,1,CRD,8 +CMT,1,1,374,1.5,CSH,7 +CMT,1,1,1133,14,CSH,38.5 +CMT,1,1,318,1.8,CRD,7 +CMT,1,1,328,1.1,CRD,6.5 +CMT,1,1,706,5.3,CRD,16.5 +CMT,1,1,1476,8.2,CSH,26.5 +CMT,1,1,299,1.1,CRD,6.5 +CMT,1,1,500,1.3,CSH,7.5 +CMT,1,1,820,2.4,CSH,11.5 +CMT,1,1,437,1.7,CRD,8 +CMT,1,1,615,2.6,CRD,10 +CMT,1,1,1690,4.9,CSH,22 +CMT,1,1,1029,8.3,CRD,25 +CMT,1,1,630,2,CRD,9.5 +CMT,1,1,1643,6.3,CRD,23.5 +CMT,1,1,825,1.6,CRD,10 +CMT,1,1,273,1.7,CSH,7 +CMT,1,1,558,2.5,CSH,10.5 +CMT,1,1,273,1.7,CRD,7.5 +CMT,1,2,918,3.3,CSH,14 +CMT,1,1,432,2,CSH,8 +CMT,1,1,270,0.7,CSH,5 +CMT,1,1,657,1.7,CSH,9.5 +CMT,1,1,295,2.1,CSH,8 +CMT,1,1,427,2.1,CSH,8.5 +CMT,1,1,84,0.5,CSH,3.5 +CMT,2,1,28,0,CRD,52 +CMT,1,1,1029,3.8,CSH,15.5 +CMT,1,1,727,1.1,CRD,9.5 +CMT,1,1,1009,3.4,CSH,14.5 +CMT,1,1,911,8.4,CRD,24.5 +CMT,1,1,324,0.6,CSH,5.5 +CMT,1,1,444,1.5,CRD,7.5 +CMT,1,1,467,1.1,CSH,7 +CMT,1,1,370,1.1,CSH,6.5 +CMT,1,1,2254,0.4,CSH,4 +CMT,1,2,1574,8.4,CSH,27.5 +CMT,1,1,855,2.2,CRD,11.5 +CMT,1,1,50,0.3,CRD,3 +CMT,1,1,698,2.2,CRD,10 +CMT,1,1,695,2.2,CSH,10 +CMT,1,1,1201,10.4,CSH,30 +CMT,1,1,455,0.9,CRD,6.5 +CMT,1,2,612,2.3,CRD,10 +CMT,1,1,1339,12.3,CRD,36 +CMT,1,1,789,3.6,CRD,13.5 +CMT,1,1,189,0.6,CRD,4.5 +CMT,1,1,325,1.3,CSH,6.5 +CMT,1,1,521,2.7,CSH,10 +CMT,1,1,296,0.6,CRD,5 +CMT,1,1,776,2.7,CSH,11.5 +CMT,1,1,579,2.4,CRD,9.5 +CMT,1,1,443,1.6,CRD,7.5 +CMT,1,1,556,1.4,CSH,8 +CMT,1,1,647,2.4,CSH,10 +CMT,1,1,195,0.4,CSH,4 +CMT,1,1,681,4.7,CSH,15 +CMT,1,1,966,5.9,CSH,19.5 +CMT,1,1,945,11.5,CSH,32.5 +CMT,1,1,307,0.8,CRD,5.5 +CMT,1,1,580,2.3,CSH,9.5 +CMT,1,1,511,1.9,CRD,9 +CMT,1,1,749,7.7,CRD,22 +CMT,1,1,588,1.4,CSH,8.5 +CMT,1,1,285,1.9,CRD,7.5 +CMT,1,1,1783,11,CSH,34.5 +CMT,1,1,302,0.6,CRD,5 +CMT,1,1,502,1.7,CRD,8 +CMT,1,1,1199,3.4,CSH,16 +CMT,1,1,186,0.9,CRD,5 +CMT,1,1,540,2.4,CRD,10.5 +CMT,1,1,507,3.3,CRD,11.5 +CMT,1,1,337,2,CRD,7.5 +CMT,1,1,240,1.2,CSH,5.5 +CMT,1,1,174,0.7,CRD,4.5 +CMT,1,1,590,2.6,CSH,11 +CMT,1,1,298,0.9,CSH,6 +CMT,1,1,832,2.3,CRD,11.5 +CMT,1,1,772,2.6,CRD,11.5 +CMT,1,1,729,1.4,CRD,9 +CMT,1,1,511,1.5,CSH,8 +CMT,1,1,318,0.7,CSH,5.5 +CMT,1,1,1042,6.5,CRD,21.5 +CMT,1,1,743,2.8,CRD,12.5 +CMT,1,1,278,1.3,CRD,6 +CMT,1,1,759,1.9,CRD,10 +CMT,1,1,120,0.5,CSH,3.5 +CMT,1,1,992,3.2,CSH,14 +CMT,1,1,723,4.3,CSH,15 +CMT,1,1,405,1.1,CSH,6.5 +CMT,1,1,356,0.8,CRD,6 +CMT,1,1,672,2.2,CRD,10 +CMT,2,2,1456,18.4,NOC,52 +CMT,1,1,940,2.7,CSH,12.5 +CMT,1,1,533,1.7,CRD,8.5 +CMT,1,1,409,0.7,CSH,6.5 +CMT,1,1,1267,3.4,CRD,16.5 +CMT,1,4,751,5,CRD,16 +CMT,1,1,478,1.8,CSH,7.5 +CMT,1,1,182,0.5,CSH,4 +CMT,1,1,944,3.1,CRD,13.5 +CMT,1,1,193,1,CSH,5 +CMT,1,1,773,3.2,CSH,12.5 +CMT,1,1,1058,2.9,CRD,14 +CMT,1,1,834,3.6,CRD,13.5 +CMT,1,2,74,0,CSH,3 +CMT,1,1,111,0.3,CSH,3.5 +CMT,1,1,566,0.8,CSH,7.5 +CMT,1,1,828,8.1,CSH,24 +CMT,1,1,156,0.4,CRD,4 +CMT,1,1,491,3.2,CSH,11 +CMT,1,1,982,10,CRD,29 +CMT,1,1,135,0.8,CRD,4.5 +CMT,1,1,1549,8.2,CRD,27 +CMT,1,3,379,1.7,CRD,7.5 +CMT,1,3,397,2.5,CRD,9 +CMT,1,3,489,2.3,CSH,9.5 +CMT,1,4,586,1.5,CSH,8.5 +CMT,1,4,675,5.4,CRD,17 +CMT,1,2,179,0.5,CSH,4.5 +CMT,1,1,292,0.8,CSH,5.5 +CMT,1,1,97,0.3,CSH,3.5 +CMT,1,1,77,0.4,CRD,3.5 +CMT,1,1,451,1.6,CSH,7.5 +CMT,1,1,764,1.6,CSH,10 +CMT,1,1,1315,5.1,CRD,19.5 +CMT,1,1,1915,8,CSH,29 +CMT,1,1,703,1.9,CRD,9.5 +CMT,1,1,980,2.2,CRD,11.5 +CMT,1,1,736,1.3,CSH,9 +CMT,1,1,622,1.9,CSH,9 +CMT,1,1,566,1.5,CSH,8 +CMT,1,1,375,1,CRD,6.5 +CMT,1,1,692,2.1,CSH,10 +CMT,1,1,755,5.1,CSH,16.5 +CMT,1,1,588,1,CSH,7.5 +CMT,1,1,1356,11.2,CSH,32.5 +CMT,1,1,353,1.6,CRD,7.5 +CMT,1,1,717,4.3,CRD,15 +CMT,1,1,1103,10.8,CSH,30.5 +CMT,1,1,332,1.7,CRD,7.5 +CMT,1,1,446,2.9,CSH,10.5 +CMT,1,1,956,3.1,CRD,14 +CMT,1,1,490,1.5,CRD,8 +CMT,1,1,498,1.4,CRD,8 +CMT,1,1,902,1.7,CRD,11 +CMT,1,1,479,2.5,CRD,9.5 +CMT,1,1,1001,1.4,CRD,11.5 +CMT,1,1,584,1.5,CRD,8.5 +CMT,1,1,328,1.3,CRD,6 +CMT,1,3,624,1.9,CRD,9.5 +CMT,1,2,243,1.1,CSH,6 +CMT,1,1,483,2.4,CRD,10 +CMT,1,1,789,1.5,CRD,10 +CMT,1,1,366,1.9,CSH,8 +CMT,1,1,936,3.4,CSH,14 +CMT,1,1,634,2.4,CRD,10 +CMT,1,1,79,0.2,CRD,3 +CMT,1,1,296,0.8,CRD,5.5 +CMT,1,1,77,0.5,CSH,3.5 +CMT,1,4,355,0.9,CSH,6 +CMT,1,1,771,1.9,CRD,10.5 +CMT,1,1,877,6.6,CSH,20.5 +CMT,1,1,932,1.2,CRD,11 +CMT,1,1,654,2.5,CRD,10.5 +CMT,1,1,427,1.2,CSH,7 +CMT,1,1,397,1.5,CRD,7.5 +CMT,1,1,215,1,CSH,5.5 +CMT,1,1,503,3.2,CSH,11 +CMT,1,1,640,1,CRD,8 +CMT,1,1,731,1.7,CRD,9 +CMT,1,4,1138,3.7,CSH,16.5 +CMT,1,4,604,2,CRD,9 +CMT,1,4,185,0.6,CSH,4.5 +CMT,1,3,453,1,CRD,7 +CMT,1,1,397,1.1,CSH,6.5 +CMT,1,1,617,2.2,CSH,9.5 +CMT,1,1,261,0.7,CSH,5 +CMT,1,1,256,1.4,CSH,6 +CMT,1,1,623,1.5,CSH,8.5 +CMT,1,1,567,1.3,CSH,8 +CMT,1,1,2,0,DIS,2.5 +CMT,2,1,2632,19.5,CRD,52 +CMT,1,2,132,0.5,CRD,4 +CMT,1,1,119,0.7,CSH,4 +CMT,1,1,1362,9.5,CRD,28.5 +CMT,1,1,323,1.1,CRD,6 +CMT,1,1,330,0.9,CRD,5.5 +CMT,1,1,458,1.3,CRD,7 +CMT,1,1,311,0.3,CSH,5 +CMT,1,1,710,2,CRD,10 +CMT,1,1,139,0.7,CSH,4.5 +CMT,1,2,498,5.4,CSH,16.5 +CMT,1,3,450,2.3,CSH,9.5 +CMT,1,3,405,3.3,CSH,10.5 +CMT,1,1,275,1.3,CSH,6 +CMT,1,2,326,1.2,CSH,6.5 +CMT,1,1,456,1.9,CRD,8 +CMT,1,1,881,1.4,CSH,10.5 +CMT,1,2,503,1.2,CRD,7.5 +CMT,1,1,371,0.8,CRD,6 +CMT,1,1,811,6.1,CSH,19 +CMT,1,1,1201,3.3,CSH,16 +CMT,1,1,349,1.4,CSH,6.5 +CMT,1,2,162,0.5,CSH,4 +CMT,1,1,281,1.7,CSH,7 +CMT,1,1,464,1,CSH,7 +CMT,1,1,259,0.6,CSH,5 +CMT,1,2,645,5.8,CRD,18.5 +CMT,1,3,347,1.7,CRD,7.5 +CMT,1,3,369,1,CSH,6.5 +CMT,1,4,866,2.8,CSH,12.5 +CMT,1,2,1450,5,CSH,19 +CMT,1,1,152,1.2,CSH,5.5 +CMT,1,1,1429,3.7,CSH,17.5 +CMT,1,1,265,0.9,CSH,5.5 +CMT,1,1,462,1.4,CRD,7.5 +CMT,1,2,260,0.7,CSH,5 +CMT,2,1,1874,21,CSH,52 +CMT,1,1,183,0.6,CRD,4.5 +CMT,1,1,305,1.1,CRD,6.5 +CMT,1,3,486,0.9,CRD,7.5 +CMT,1,1,477,1.2,CRD,7.5 +CMT,1,1,203,0.5,CSH,4.5 +CMT,1,1,401,1.4,CRD,7 +CMT,1,2,533,1,CSH,7.5 +CMT,1,1,473,1.5,CSH,8 +CMT,1,1,874,1.6,CSH,10.5 +CMT,1,1,853,1.9,CRD,11 +CMT,1,1,567,3.1,CRD,11.5 +CMT,5,2,3504,41.6,CRD,80 +CMT,1,1,808,4.8,CRD,15.5 +CMT,1,1,621,1.4,CSH,8.5 +CMT,1,2,184,0.6,CSH,4.5 +CMT,1,1,651,2.1,CSH,10.5 +CMT,1,1,277,0.8,CRD,5.5 +CMT,1,1,190,0.9,CSH,5 +CMT,1,1,494,1,CSH,7 +CMT,1,1,723,2.9,CSH,11.5 +CMT,1,1,695,1.8,CRD,10 +CMT,1,1,547,1.7,CSH,9 +CMT,1,4,1259,10.9,CSH,31.5 +CMT,1,4,724,3.3,CSH,12.5 +CMT,1,3,1140,3.6,CSH,15 +CMT,1,1,948,6.9,CSH,21 +CMT,1,1,866,2,CSH,12 +CMT,1,1,228,0.9,CRD,5.5 +CMT,1,1,1444,1,CRD,14.5 +CMT,1,1,351,0.9,CRD,6 +CMT,1,1,897,6.6,CRD,19.5 +CMT,1,1,754,0.8,CSH,9 +CMT,1,3,546,1.6,CRD,8.5 +CMT,1,1,759,2.4,CRD,11 +CMT,1,1,68,0.3,CSH,3 +CMT,1,1,694,8.8,CSH,25 +CMT,1,1,2056,6.5,CRD,26.5 +CMT,1,1,432,1.7,CRD,7.5 +CMT,1,1,634,1.9,CRD,9.5 +CMT,1,2,454,2,CRD,8.5 +CMT,1,1,2512,0,NOC,2.5 +CMT,1,1,312,1.1,CRD,6 +CMT,1,1,222,0.5,CSH,4.5 +CMT,1,1,419,1.5,CRD,7.5 +CMT,1,1,861,1,CRD,10 +CMT,1,1,400,1.3,CRD,7 +CMT,1,4,651,4.9,CRD,16 +CMT,1,4,1220,5.6,CSH,20.5 +CMT,1,4,186,0.8,CRD,4.5 +CMT,1,2,810,1.9,CSH,10.5 +CMT,1,1,203,0.6,CRD,4.5 +CMT,1,2,195,0.7,CSH,4.5 +CMT,1,1,670,2.6,CRD,11 +CMT,1,1,1141,1.9,CRD,13 +CMT,1,1,330,1.3,CRD,6.5 +CMT,1,2,210,0.7,CSH,4.5 +CMT,1,1,1642,7.9,CSH,28 +CMT,1,1,537,1.5,CSH,8.5 +CMT,1,2,418,1.3,CSH,7.5 +CMT,1,1,348,1.3,CRD,6.5 +CMT,1,1,289,0.3,CSH,5 +CMT,1,1,1376,9.6,CSH,30 +CMT,1,1,324,2.9,CSH,10 +CMT,1,1,800,2.3,CSH,11 +CMT,1,1,946,3.1,CRD,13.5 +CMT,1,1,1290,6.4,CSH,21.5 +CMT,1,1,229,0.6,CSH,4.5 +CMT,1,1,635,1.5,CRD,9 +CMT,1,1,846,2.5,CRD,11 +CMT,1,1,526,2.8,CSH,10.5 +CMT,1,1,1803,3.6,CSH,19.5 +CMT,1,1,698,0.9,CSH,8.5 +CMT,1,1,607,2.8,CRD,11 +CMT,1,1,1008,4.3,CSH,15.5 +CMT,1,1,949,3.7,CSH,14.5 +CMT,1,1,1031,2.3,CSH,12.5 +CMT,1,1,461,0.5,CRD,6 +CMT,1,1,843,2.7,CRD,12 +CMT,1,1,287,1.3,CRD,6 +CMT,1,1,691,3,CRD,12 +CMT,1,1,684,5.5,CSH,17 +CMT,1,1,114,0.4,CSH,3.5 +CMT,1,1,235,1,CRD,5.5 +CMT,1,1,898,4.1,CSH,15.5 +CMT,1,1,261,1.1,CSH,6 +CMT,1,1,186,0.8,CSH,5 +CMT,1,1,784,2.6,CSH,11.5 +CMT,1,1,240,0.7,CSH,5 +CMT,1,1,820,2.2,CSH,10.5 +CMT,1,1,1038,1.9,CSH,12.5 +CMT,1,1,903,2.5,CSH,12.5 +CMT,1,1,184,0.6,CSH,4.5 +CMT,1,2,1116,9.8,CRD,29 +CMT,1,1,294,1.5,CRD,6.5 +CMT,1,1,948,2.3,CRD,12.5 +CMT,1,1,722,2.3,CSH,10.5 +CMT,1,3,692,3.4,CSH,12.5 +CMT,1,1,914,3.6,CRD,14.5 +CMT,1,1,612,1.3,CRD,8.5 +CMT,1,1,349,1.4,CSH,7 +CMT,1,1,495,1.9,CRD,8 +CMT,1,2,334,1,CRD,5.5 +CMT,1,1,706,1.8,CSH,9.5 +CMT,1,1,486,1.4,CSH,7.5 +CMT,1,1,201,0.8,CRD,5 +CMT,2,3,1889,18.8,CRD,52 +CMT,1,1,1293,2.9,CRD,15 +CMT,1,1,396,1.2,CRD,7 +CMT,1,2,317,0.6,CRD,5.5 +CMT,1,1,198,0.5,CSH,4.5 +CMT,1,1,939,3.2,CRD,13.5 +CMT,1,3,650,3.2,CRD,11.5 +CMT,1,1,140,0.6,CSH,4.5 +CMT,1,1,1344,3.9,CRD,18 +CMT,1,1,391,2.5,CSH,9 +CMT,1,1,308,2,CRD,8 +CMT,1,1,325,1.6,CRD,7.5 +CMT,1,1,287,0.6,CRD,5 +CMT,1,1,821,2.2,CRD,11 +CMT,1,1,59,0.3,CSH,3 +CMT,1,1,471,1.1,CRD,7 +CMT,1,1,374,1.2,CRD,7 +CMT,1,2,652,1.8,CSH,9.5 +CMT,1,1,434,1.8,CRD,8.5 +CMT,1,1,665,2.6,CRD,11 +CMT,1,1,185,0.7,CSH,5 +CMT,1,1,1924,6.6,CRD,25 +CMT,1,1,662,1.6,CRD,9.5 +CMT,1,1,169,0.6,CSH,4.5 +CMT,5,1,526,3.1,CRD,45 +CMT,1,1,551,0.7,CRD,7 +CMT,1,1,753,2.2,CRD,11 +CMT,1,2,594,1.4,CSH,8.5 +CMT,1,1,558,1.4,CRD,8 +CMT,1,1,341,0.9,CSH,6 +CMT,1,1,521,2.7,CSH,10.5 +CMT,1,1,299,0.9,CRD,5.5 +CMT,2,1,1269,4.9,CRD,52 +CMT,1,1,557,1.5,CSH,8.5 +CMT,1,2,477,1.4,CSH,7.5 +CMT,1,3,89,0.2,CSH,3.5 +CMT,1,1,378,1.6,CSH,7.5 +CMT,1,1,302,0.8,CSH,5.5 +CMT,1,1,554,1.3,CRD,8 +CMT,1,3,476,1.4,CRD,7.5 +CMT,1,1,589,1.4,CRD,8.5 +CMT,1,1,374,2.1,CRD,8 +CMT,1,1,912,4.4,CSH,16 +CMT,1,1,319,0.9,CSH,6 +CMT,1,1,338,1.3,CSH,6.5 +CMT,1,1,243,1.2,CRD,6 +CMT,1,2,507,1.4,CSH,7.5 +CMT,1,2,774,3.7,CSH,14.5 +CMT,1,1,949,3.2,CRD,13.5 +CMT,1,1,241,0.9,CRD,5 +CMT,1,1,197,0.3,CRD,4 +CMT,1,1,741,2.7,CSH,12 +CMT,1,1,266,1.4,CSH,6.5 +CMT,1,1,765,2.7,CRD,12.5 +CMT,1,1,325,1.2,CSH,6.5 +CMT,1,1,363,1.8,CRD,7.5 +CMT,1,1,437,1.3,CSH,7.5 +CMT,1,2,545,3.2,CRD,11 +CMT,1,3,444,2.1,CRD,8.5 +CMT,1,4,96,0.5,CSH,3.5 +CMT,1,1,952,3.5,CSH,13.5 +CMT,1,1,175,1.1,CSH,5 +CMT,1,1,299,1.1,CSH,6 +CMT,1,1,1263,7.9,CSH,24.5 +CMT,1,3,764,1.4,CRD,9.5 +CMT,1,1,863,9.1,CRD,26 +CMT,1,1,693,1.7,CSH,9.5 +CMT,1,1,152,0.7,CRD,4.5 +CMT,1,1,368,1.1,CRD,6.5 +CMT,1,4,177,0.9,CSH,5 +CMT,1,3,711,2.4,CSH,11 +CMT,1,4,925,1.7,CRD,11.5 +CMT,1,3,257,0.9,CSH,5 +CMT,1,4,1020,3,CSH,13.5 +CMT,1,3,546,2.5,CSH,10 +CMT,1,3,481,1.8,CSH,8 +CMT,1,3,525,1.5,CRD,8.5 +CMT,1,4,1018,2.8,CRD,14 +CMT,1,1,499,2.5,CSH,10 +CMT,1,1,609,1,CRD,8 +CMT,1,1,866,2.2,CRD,11 +CMT,1,1,449,2,CRD,8 +CMT,1,1,229,0.6,CRD,5 +CMT,1,1,324,1.5,CRD,7 +CMT,1,1,247,1.2,CRD,6 +CMT,1,1,133,0.6,CSH,4 +CMT,1,3,369,1.8,CSH,7.5 +CMT,1,4,527,2,CRD,9 +CMT,1,1,427,1.3,CRD,7 +CMT,1,1,324,0.8,CSH,5.5 +CMT,1,1,143,0.6,CSH,4 +CMT,1,1,198,0.7,CRD,4.5 +CMT,1,1,320,1,CRD,6 +CMT,1,1,455,1.3,CRD,7 +CMT,1,1,376,0.8,CSH,6 +CMT,1,1,545,3.8,CSH,12.5 +CMT,2,1,1290,16.2,CRD,52 +CMT,1,1,1609,8.2,CSH,26 +CMT,2,1,2559,8.4,CRD,52 +CMT,1,1,742,0.9,CRD,9 +CMT,1,1,304,0.7,CRD,5.5 +CMT,1,1,146,0.7,CRD,4.5 +CMT,1,4,363,1,CSH,6 +CMT,1,1,654,1.1,CRD,8 +CMT,1,2,666,2.2,CRD,10 +CMT,1,1,786,4.2,CSH,14.5 +CMT,1,1,470,1.6,CSH,8 +CMT,1,1,417,0.8,CSH,6 +CMT,1,1,319,1,CRD,6 +CMT,1,2,471,1.9,CRD,8 +CMT,1,1,415,2.1,CRD,8.5 +CMT,1,1,433,2.2,CRD,9.5 +CMT,1,1,409,0.9,CSH,6.5 +CMT,1,1,707,0.9,CSH,8.5 +CMT,1,1,1018,2.9,CSH,13.5 +CMT,1,1,718,1.9,CSH,10.5 +CMT,1,2,503,2.2,CSH,9.5 +CMT,1,1,232,0.6,CRD,5 +CMT,1,1,339,0.9,CSH,6 +CMT,1,1,131,1.1,CRD,5 +CMT,1,1,503,1.6,CRD,8.5 +CMT,1,4,627,1.5,CSH,9 +CMT,1,2,1252,4.1,CRD,17 +CMT,1,1,611,4.3,CRD,14.5 +CMT,1,1,1386,3.3,CRD,16.5 +CMT,1,1,282,0.7,CSH,5 +CMT,1,1,101,0.2,CRD,3.5 +CMT,1,1,173,0.4,CSH,4 +CMT,1,1,102,0.2,CSH,3.5 +CMT,1,1,571,3,CRD,11 +CMT,1,1,92,0.4,CSH,4 +CMT,1,1,1024,8.8,CRD,26.5 +CMT,1,1,587,3.1,CSH,11 +CMT,1,1,595,1.2,CRD,8 +CMT,1,1,535,1.7,CRD,8.5 +CMT,1,2,165,1.1,CRD,5 +CMT,1,3,139,0.4,CSH,4 +CMT,1,2,576,1.6,CRD,8.5 +CMT,1,1,221,1.1,CSH,5.5 +CMT,1,1,994,1.3,CSH,11.5 +CMT,1,1,908,6,CSH,18.5 +CMT,1,1,470,2,CSH,8.5 +CMT,1,1,290,0.8,CSH,5.5 +CMT,1,1,358,1.7,CRD,7.5 +CMT,1,1,324,0.5,CSH,5.5 +CMT,1,1,82,0.2,CRD,3 +CMT,1,2,377,1.2,CRD,7 +CMT,1,1,393,1.5,CSH,7.5 +CMT,1,1,261,0.9,CSH,5.5 +CMT,1,1,250,0.8,CSH,5 +CMT,1,1,583,2.6,CSH,10 +CMT,1,1,900,2,CRD,12 +CMT,1,1,1249,1.2,CSH,13.5 +CMT,1,3,586,4.2,CRD,13.5 +CMT,1,3,423,0.9,CSH,6.5 +CMT,1,1,788,3,CSH,12.5 +CMT,1,1,350,1.3,CSH,7 +CMT,1,2,687,1.9,CSH,9.5 +CMT,1,2,327,0.8,CRD,5.5 +CMT,1,1,164,0.4,CSH,4 +CMT,1,2,533,1.3,CSH,7.5 +CMT,2,1,1486,17.6,CRD,52 +CMT,1,1,369,2.1,CRD,8.5 +CMT,1,1,231,1.1,CRD,6 +CMT,1,1,83,0.2,CSH,3 +CMT,1,1,480,2.4,CRD,9 +CMT,1,3,502,2.1,CSH,9 +CMT,1,3,782,3.2,CSH,12.5 +CMT,1,3,593,1.1,CRD,8 +CMT,1,4,650,1.7,CSH,9.5 +CMT,1,1,404,1.7,CRD,8 +CMT,1,1,135,0.4,CSH,4 +CMT,1,2,728,2.8,CSH,11.5 +CMT,1,1,306,1,CSH,6 +CMT,1,1,485,3.2,CSH,11.5 +CMT,1,1,868,2.3,CSH,11.5 +CMT,1,1,1929,8.5,CRD,28.5 +CMT,1,1,251,0.9,CRD,5.5 +CMT,2,1,1202,16.7,CSH,52 +CMT,1,3,666,1,CRD,8.5 +CMT,1,1,701,1.8,CSH,10 +CMT,1,3,1491,10.3,CRD,32.5 +CMT,1,1,773,2.8,CRD,12.5 +CMT,1,1,324,1.1,CSH,6 +CMT,1,1,545,1.7,CRD,9 +CMT,1,1,640,2.6,CSH,11 +CMT,1,1,871,2.7,CSH,12.5 +CMT,1,1,276,1,CRD,5.5 +CMT,1,1,302,1,CRD,5.5 +CMT,1,1,15,0.2,CSH,2.5 +CMT,1,1,244,0.9,CRD,5.5 +CMT,1,1,191,0.6,CRD,4.5 +CMT,1,1,658,3,CSH,11.5 +CMT,1,3,680,3.5,CRD,12.5 +CMT,1,3,320,1.7,CRD,7 +CMT,1,4,907,2.9,CRD,13 +CMT,1,3,656,2.8,CSH,11 +CMT,1,4,795,2.9,CSH,12.5 +CMT,1,3,219,1,CRD,5.5 +CMT,1,1,568,3.9,CSH,13 +CMT,1,1,470,2.3,CSH,9.5 +CMT,1,1,348,0.8,CSH,6 +CMT,1,2,405,1,CRD,6.5 +CMT,1,1,371,1,CSH,6.5 +CMT,1,1,1126,3.2,CSH,15 +CMT,1,1,140,0.9,CSH,5 +CMT,1,1,240,1.2,CRD,6 +CMT,1,1,164,0.6,CSH,4.5 +CMT,1,2,723,2.4,CSH,10.5 +CMT,1,1,307,1,CRD,5.5 +CMT,1,1,165,0.5,CSH,4 +CMT,1,1,599,2.5,CSH,10.5 +CMT,1,1,333,1.4,CSH,7 +CMT,1,1,1152,3.6,CRD,16 +CMT,1,3,511,2,CSH,9 +CMT,1,3,490,2.2,CRD,9 +CMT,1,1,549,1.4,CRD,8 +CMT,1,1,806,2.6,CRD,11 +CMT,1,1,321,0.9,CRD,6 +CMT,1,2,665,1.7,CSH,9 +CMT,1,2,168,0.5,CSH,4 +CMT,1,1,606,1.2,CRD,8 +CMT,1,1,392,1.2,CRD,6.5 +CMT,1,1,714,1.7,CRD,10 +CMT,1,1,140,0.5,CSH,4 +CMT,1,1,518,2.6,CRD,10 +CMT,1,1,669,1.4,CSH,9 +CMT,1,1,264,0.9,CSH,5.5 +CMT,1,1,923,4.6,CSH,16 +CMT,1,1,1161,1.4,CSH,12.5 +CMT,1,2,175,0.5,CRD,4.5 +CMT,1,1,530,1.8,CSH,9 +CMT,1,1,500,1.2,CRD,7 +CMT,1,1,425,3.2,CRD,10.5 +CMT,1,1,343,1.5,CSH,7 +CMT,1,1,567,0.3,CSH,7 +CMT,1,1,420,0.9,CSH,6.5 +CMT,1,1,464,2.5,CRD,9 +CMT,1,1,797,5.7,CSH,18 +CMT,1,1,512,2.4,CRD,9.5 +CMT,1,1,727,2.4,CSH,11 +CMT,1,1,1171,3.8,CSH,16.5 +CMT,1,4,1775,3.7,CSH,20 +CMT,1,1,848,3.1,CSH,12.5 +CMT,1,1,96,0.2,CSH,3.5 +CMT,1,1,187,1.2,CSH,5.5 +CMT,1,2,261,0.8,CSH,5.5 +CMT,1,1,605,1.3,CSH,8.5 +CMT,1,1,686,1.8,CRD,10 +CMT,1,1,494,3.4,CSH,11 +CMT,1,1,670,6.6,CRD,19.5 +CMT,1,1,640,1.9,CRD,9.5 +CMT,1,2,1587,5,CRD,21.5 +CMT,1,1,266,0.5,CSH,5 +CMT,1,1,685,6.3,CRD,19 +CMT,1,2,486,2,CRD,8.5 +CMT,1,1,341,1.2,CRD,6 +CMT,1,1,616,2.4,CRD,10 +CMT,1,1,1365,6.9,CSH,2.5 +CMT,1,1,232,0.7,CRD,4.5 +CMT,1,1,806,5,CSH,15.5 +CMT,1,2,606,1.6,CRD,8.5 +CMT,1,4,615,1.8,CSH,9.5 +CMT,1,1,614,2.1,CRD,9.5 +CMT,1,2,1086,9.9,CRD,28.5 +CMT,1,2,959,3.7,CRD,14.5 +CMT,1,1,1324,8,CRD,25 +CMT,1,1,470,2.2,CSH,9 +CMT,1,1,230,0.7,CSH,5 +CMT,1,1,273,1.6,CRD,7 +CMT,1,1,530,1.3,CRD,8 +CMT,1,1,116,0.3,CSH,3.5 +CMT,1,1,342,0.8,CRD,6 +CMT,1,1,343,1.1,CRD,6 +CMT,1,4,360,1.2,CSH,6.5 +CMT,1,1,295,0.8,CRD,5.5 +CMT,1,1,673,1.9,CRD,9.5 +CMT,1,4,1583,6.1,CSH,21.5 +CMT,1,3,154,0.6,CRD,4 +CMT,1,1,573,1.9,CSH,9 +CMT,1,2,620,2.5,CSH,10.5 +CMT,1,1,374,1,CRD,6 +CMT,1,1,888,1.2,CRD,10.5 +CMT,1,1,865,1.9,CRD,11 +CMT,1,1,298,1.4,CSH,7 +CMT,1,1,1236,14.9,CRD,40.5 +CMT,1,1,563,5.1,CSH,16 +CMT,1,1,226,1.2,CSH,6 +CMT,1,1,831,3.3,CRD,13 +CMT,1,1,882,5.3,CRD,17.5 +CMT,1,1,250,1.9,CRD,7.5 +CMT,1,2,125,0.5,CSH,4 +CMT,1,1,799,2.2,CRD,11 +CMT,1,1,387,0.8,CSH,6 +CMT,1,1,479,1.2,CSH,7.5 +CMT,1,1,604,1.8,CSH,9.5 +CMT,1,1,428,0.9,CRD,6.5 +CMT,1,1,1212,3.7,CRD,16 +CMT,1,1,161,0.9,CSH,4.5 +CMT,1,1,415,1.2,CSH,6.5 +CMT,1,2,739,1.7,CRD,9.5 +CMT,1,1,680,3.1,CSH,12 +CMT,1,1,254,1,CRD,6 +CMT,1,1,293,0.7,CSH,5 +CMT,1,1,682,1.6,CRD,9.5 +CMT,1,1,1282,4.1,CSH,18 +CMT,1,2,345,0.9,CSH,6 +CMT,1,2,903,4.4,CSH,15 +CMT,1,2,489,1.3,CSH,7.5 +CMT,1,1,535,2.4,CSH,10 +CMT,1,1,540,1.9,CRD,9 +CMT,1,2,974,3.1,CSH,14 +CMT,1,1,981,5.9,CRD,19 +CMT,1,1,804,4,CSH,14.5 +CMT,1,1,1414,11.8,CRD,34 +CMT,1,2,508,1.9,CRD,8.5 +CMT,1,1,234,0.9,CSH,5 +CMT,1,1,276,1.6,CSH,6.5 +CMT,1,3,703,2.3,CSH,10.5 +CMT,1,2,825,3.7,CSH,13.5 +CMT,1,1,659,1.9,CRD,9 +CMT,1,1,605,2.1,CSH,9.5 +CMT,1,1,558,2.4,CSH,10.5 +CMT,1,1,188,0.6,CSH,4.5 +CMT,1,1,113,0.6,CRD,4 +CMT,1,1,254,0.8,CRD,5.5 +CMT,1,1,1427,2.8,CRD,16.5 +CMT,1,1,131,0.4,CRD,4 +CMT,1,1,275,0.9,CRD,5.5 +CMT,1,1,1073,5.3,CRD,19 +CMT,1,1,467,1.9,CSH,8 +CMT,1,3,895,2,CRD,12 +CMT,1,1,986,2.8,CRD,13.5 +CMT,1,1,287,0.9,CRD,5.5 +CMT,1,1,677,2.1,CRD,10 +CMT,1,1,590,2.1,CSH,10 +CMT,1,1,113,0.5,CSH,3.5 +CMT,1,2,471,1.6,CSH,8 +CMT,1,1,1771,10.2,CRD,34 +CMT,1,1,580,1.9,CRD,9.5 +CMT,1,1,743,1.5,CSH,10 +CMT,1,1,316,0.6,CSH,5.5 +CMT,1,1,1485,4.4,CSH,19.5 +CMT,1,1,396,1.1,CSH,6.5 +CMT,1,1,822,7.6,CRD,22.5 +CMT,1,1,321,2.7,CSH,9 +CMT,1,1,722,2.2,CRD,10.5 +CMT,1,1,569,2.1,CRD,9.5 +CMT,1,1,415,0.8,CSH,6.5 +CMT,1,1,1028,3.2,CSH,14.5 +CMT,1,1,532,1.4,CRD,7.5 +CMT,1,1,573,1.5,CRD,8 +CMT,1,3,1119,2.5,CSH,14 +CMT,1,1,423,2.3,CSH,9 +CMT,1,1,557,1.4,CRD,8 +CMT,1,1,687,2.1,CRD,10 +CMT,1,1,470,2.1,CSH,9 +CMT,1,1,2,0,CSH,2.5 +CMT,1,1,817,4.4,CRD,16 +CMT,1,1,176,0.7,CSH,4.5 +CMT,1,1,1043,3.2,CRD,14.5 +CMT,1,1,508,2.5,CSH,9.5 +CMT,1,1,1084,3.9,CSH,16.5 +CMT,1,3,676,1.9,CRD,9.5 +CMT,1,3,638,0.3,CSH,7.5 +CMT,1,3,454,0.9,CRD,6.5 +CMT,1,1,415,1.3,CSH,7 +CMT,1,1,283,0.8,CSH,5 +CMT,1,1,1043,9.3,CRD,26.5 +CMT,1,1,1659,8.9,CRD,28 +CMT,1,1,923,2.2,CSH,12 +CMT,1,1,827,1.8,CRD,10.5 +CMT,1,1,1184,2.7,CRD,14 +CMT,1,1,578,2.8,CSH,10.5 +CMT,1,1,692,3,CRD,11.5 +CMT,1,1,426,1.3,CSH,6 +CMT,1,1,365,1.3,CSH,7 +CMT,1,3,964,2.6,CSH,13 +CMT,1,3,587,1.1,CRD,8 +CMT,1,4,1192,3.3,CSH,15.5 +CMT,1,1,471,2.6,CRD,10 +CMT,1,1,508,1.8,CRD,8.5 +CMT,1,1,460,0.9,CSH,6.5 +CMT,1,1,269,0.8,CSH,5 +CMT,1,1,596,1.4,CRD,8.5 +CMT,1,1,660,2.2,CSH,10 +CMT,1,1,317,0.7,CSH,5.5 +CMT,1,1,386,1.5,CSH,7 +CMT,1,1,385,2,CRD,8 +CMT,1,1,587,1.2,CSH,8.5 +CMT,1,1,1244,4.4,CRD,17 +CMT,1,1,826,3.1,CRD,12.5 +CMT,1,2,126,0.4,CRD,3.5 +CMT,1,1,428,1.3,CSH,7.5 +CMT,1,3,844,5.4,CSH,18 +CMT,1,1,181,0.8,CSH,4.5 +CMT,1,1,328,1,CRD,6 +CMT,1,4,497,2.3,CSH,9 +CMT,1,1,269,0.3,CSH,4.5 +CMT,1,1,513,1.2,CSH,7.5 +CMT,1,1,815,5,CSH,17 +CMT,1,1,225,0.9,CRD,5 +CMT,1,1,864,2.5,CSH,12 +CMT,1,1,154,0.6,CRD,4 +CMT,1,1,766,4.3,CRD,14.5 +CMT,1,1,580,1.8,CRD,9 +CMT,1,1,826,4.9,CRD,16 +CMT,1,1,276,1.6,CSH,7 +CMT,1,1,520,1.9,CRD,9 +CMT,1,1,279,0.6,CRD,5 +CMT,1,3,570,1.9,CSH,9 +CMT,1,3,1172,5.3,CSH,19.5 +CMT,1,3,591,1.6,CRD,9 +CMT,1,3,863,3.4,CRD,13 +CMT,1,1,1876,1.6,CSH,10 +CMT,1,1,377,0.5,CSH,5.5 +CMT,1,1,197,0.8,CSH,5 +CMT,1,1,473,1,CSH,7 +CMT,1,1,658,2.2,CRD,10 +CMT,1,1,1365,10.5,CSH,31.5 +CMT,1,1,430,0.9,CSH,6.5 +CMT,1,1,726,1.6,CRD,9.5 +CMT,1,1,198,0.7,CSH,4.5 +CMT,1,1,577,2.7,CRD,10.5 +CMT,1,1,196,0.7,CRD,4.5 +CMT,1,1,167,0.7,CSH,4.5 +CMT,1,2,974,1.7,CSH,11.5 +CMT,1,1,215,1.2,CRD,5.5 +CMT,1,1,543,3.3,CSH,11.5 +CMT,1,2,384,1.7,CSH,7.5 +CMT,1,1,807,3.6,CSH,13.5 +CMT,1,3,473,2.7,CRD,10 +CMT,1,1,1010,4.9,CRD,16.5 +CMT,1,2,764,3.4,CSH,13 +CMT,1,1,869,4,CSH,14.5 +CMT,1,2,450,1.8,CRD,8 +CMT,1,2,955,4.4,CRD,16 +CMT,1,2,454,2.1,CRD,8.5 +CMT,1,2,61,0.3,CRD,3 +CMT,1,1,686,3.1,CRD,12 +CMT,1,1,365,1.3,CRD,6.5 +CMT,1,2,486,2,CSH,8.5 +CMT,1,1,720,8.7,CSH,24 +CMT,1,1,959,3.6,CRD,14 +CMT,1,2,754,2.8,CRD,11.5 +CMT,1,1,596,2.4,CSH,10 +CMT,1,2,233,1,CSH,5 +CMT,2,1,2031,21,CRD,52 +CMT,1,2,210,0.9,CRD,5 +CMT,2,1,2259,18.2,CSH,52 +CMT,1,1,1750,5.6,CRD,23 +CMT,1,2,385,1.5,CRD,7 +CMT,1,1,816,3.1,CRD,12 +CMT,1,2,118,0.3,CSH,3.5 +CMT,1,1,648,3,CSH,12 +CMT,1,3,705,3.5,CSH,12.5 +CMT,1,1,547,2.6,CRD,10 +CMT,1,3,502,3.2,CSH,10.5 +CMT,1,1,908,9.2,CSH,26 +CMT,1,1,441,1.5,CSH,7.5 +CMT,1,2,829,4,CRD,14.5 +CMT,1,1,215,0.5,CSH,4.5 +CMT,1,1,243,1.2,CSH,5.5 +CMT,1,2,794,4.1,CRD,14.5 +CMT,1,1,1622,10,CSH,31.5 +CMT,1,1,136,0.5,CRD,4 +CMT,1,2,651,2.1,CRD,10 +CMT,1,1,923,4.8,CRD,17 +CMT,1,1,167,0.4,CSH,4 +CMT,1,1,842,4.1,CRD,14.5 +CMT,1,1,613,1.5,CRD,8.5 +CMT,1,1,802,3.4,CRD,13 +CMT,1,1,2023,7.2,CRD,27.5 +CMT,1,2,2008,8.3,CSH,29.5 +CMT,1,2,315,1.3,CSH,6.5 +CMT,1,2,606,4.1,CSH,13 +CMT,1,1,273,0.8,CSH,5.5 +CMT,1,1,473,1.8,CSH,8.5 +CMT,1,4,1344,4.7,CRD,18 +CMT,1,1,183,0.9,CSH,5 +CMT,1,1,617,1.2,CSH,8.5 +CMT,1,1,812,2.5,CSH,11.5 +CMT,1,1,783,1,CRD,10 +CMT,1,1,373,0.7,CRD,6 +CMT,1,1,702,2.2,CSH,10 +CMT,1,3,132,0.6,CSH,4 +CMT,1,1,668,1,CSH,8.5 +CMT,1,1,998,3.4,CRD,14 +CMT,1,1,364,2.1,CRD,8 +CMT,1,1,430,2.1,CRD,9 +CMT,1,1,526,2.1,CRD,9 +CMT,1,1,465,1,CSH,7 +CMT,1,3,922,3,CRD,12.5 +CMT,1,3,934,3.7,CSH,13.5 +CMT,1,1,352,1.9,CRD,7.5 +CMT,1,1,782,1.6,CRD,10 +CMT,1,2,348,0.6,CRD,5.5 +CMT,1,1,402,1.9,CSH,8 +CMT,1,1,39,0.2,CSH,3 +CMT,1,2,248,1.7,CSH,6.5 +CMT,1,1,791,5.4,CRD,16.5 +CMT,2,1,2203,19.4,CRD,52 +CMT,1,1,218,1.2,CSH,5.5 +CMT,1,1,269,1.2,CRD,6 +CMT,1,2,495,1.8,CSH,8 +CMT,1,2,282,1.3,CRD,6 +CMT,3,1,1966,30.6,CRD,96.5 +CMT,1,2,685,1.5,CSH,9.5 +CMT,4,1,836,6.8,CSH,21 +CMT,1,1,651,1.9,CSH,9.5 +CMT,1,1,739,3.1,CSH,12 +CMT,1,1,428,1.4,CRD,7 +CMT,1,3,263,1.3,CSH,6 +CMT,1,3,521,1.5,CRD,8 +CMT,1,3,631,2.7,CSH,10.5 +CMT,1,3,1468,5.3,CRD,21.5 +CMT,1,4,781,2.1,CSH,10 +CMT,1,1,1155,5.9,CRD,20 +CMT,1,1,715,1.8,CSH,10 +CMT,1,1,314,0.8,CRD,5.5 +CMT,1,1,701,1,CRD,8.5 +CMT,1,1,826,2.7,CSH,12 +CMT,1,1,907,9.6,CRD,27 +CMT,1,2,1069,2.6,CRD,13.5 +CMT,1,1,878,5.3,CRD,17.5 +CMT,1,1,717,2.6,CSH,11.5 +CMT,1,1,271,0.8,CRD,5.5 +CMT,1,3,123,0.5,CSH,4 +CMT,1,1,290,0.9,CSH,5.5 +CMT,1,3,619,2.8,CSH,10.5 +CMT,1,1,1613,7.7,CRD,25.5 +CMT,1,2,849,4,CSH,14 +CMT,1,2,444,1.6,CRD,7.5 +CMT,1,1,738,3.9,CRD,13.5 +CMT,1,3,644,1.7,CRD,9.5 +CMT,1,2,1050,6.3,CSH,19.5 +CMT,1,1,1305,6.2,CRD,21 +CMT,1,2,1132,6.6,CSH,20.5 +CMT,1,2,1226,6,CRD,20.5 +CMT,1,1,2050,11.7,CRD,36.5 +CMT,1,1,588,2.1,CRD,9.5 +CMT,1,1,369,1.1,CSH,6.5 +CMT,1,1,108,0.6,CRD,4 +CMT,1,2,592,2.2,CSH,9.5 +CMT,1,2,431,1.5,CRD,7.5 +CMT,1,1,584,2.8,CRD,10.5 +CMT,1,1,1712,7.9,CSH,27 +CMT,1,1,1190,3.4,CRD,15.5 +CMT,1,1,851,3.7,CSH,13 +CMT,1,3,722,3.8,CRD,13 +CMT,1,1,875,9.2,CSH,26 +CMT,1,1,1291,10,CSH,30 +CMT,1,1,770,3.2,CSH,12.5 +CMT,1,1,675,1.8,CSH,9.5 +CMT,1,2,329,1.9,CRD,7.5 +CMT,1,1,1191,6.7,CSH,20.5 +CMT,1,2,359,0.8,CSH,6 +CMT,1,1,472,2.7,CSH,9.5 +CMT,1,2,236,1,CSH,5.5 +CMT,1,2,792,2.5,CRD,11.5 +CMT,1,1,1329,9.6,CRD,29 +CMT,1,2,510,2.1,CRD,9 +CMT,1,2,1035,4.1,CRD,15 +CMT,1,1,273,0.8,CSH,5.5 +CMT,1,1,1362,6.4,CRD,21 +CMT,1,4,669,1.4,CRD,9 +CMT,1,3,452,1.4,CRD,7.5 +CMT,2,2,1983,18.2,CSH,52 +CMT,1,1,634,2.7,CRD,11 +CMT,1,2,546,1.7,CSH,8.5 +CMT,1,1,1078,6.4,CSH,20 +CMT,1,1,737,6,CRD,19 +CMT,1,2,399,1.5,CRD,7.5 +CMT,1,1,254,0.7,CSH,5 +CMT,1,1,208,0.9,CSH,5 +CMT,1,1,255,0.6,CRD,4.5 +CMT,1,3,209,0.6,CSH,4.5 +CMT,1,1,474,1.5,CSH,7.5 +CMT,1,1,528,2.3,CRD,9 +CMT,1,2,951,3.3,CSH,13.5 +CMT,1,3,1741,3.7,CSH,21.5 +CMT,1,1,310,1.4,CSH,6.5 +CMT,1,4,465,2.2,CSH,9 +CMT,1,1,852,4.2,CRD,14.5 +CMT,1,3,1079,5.1,CSH,17.5 +CMT,1,2,439,1.2,CSH,7 +CMT,1,2,1521,10.2,CRD,31 +CMT,1,2,290,1,CSH,5.5 +CMT,4,1,1866,25.4,CSH,101 +CMT,1,1,716,4.2,CSH,14.5 +CMT,1,1,582,2.7,CRD,10 +CMT,1,1,1253,12.3,CRD,34.5 +CMT,1,3,571,2.8,CSH,10.5 +CMT,1,4,945,1.4,CSH,11 +CMT,1,3,453,1.9,CRD,8 +CMT,1,1,1174,10.7,CRD,31 +CMT,1,1,1316,7,CSH,22.5 +CMT,2,1,2029,17.7,CRD,52 +CMT,1,1,438,1.8,CRD,8 +CMT,1,2,600,2.1,CRD,9.5 +CMT,1,2,1228,8.6,CSH,26.5 +CMT,1,2,279,0.8,CSH,5.5 +CMT,1,1,644,2.2,CSH,10 +CMT,1,1,739,3.6,CSH,13.5 +CMT,1,2,548,1.3,CRD,8 +CMT,1,1,1253,9.5,CRD,28 +CMT,1,1,918,3.2,CRD,13 +CMT,1,2,319,0.9,CRD,5.5 +CMT,1,2,1145,6.2,CRD,20 +CMT,1,3,92,0.3,CSH,3.5 +CMT,2,1,2417,18.6,CRD,52 +CMT,1,1,907,3.4,CRD,13.5 +CMT,1,1,703,2.6,CRD,11 +CMT,1,1,738,4.8,CSH,15.5 +CMT,1,2,254,1,CSH,5.5 +CMT,1,2,153,0.3,CSH,4 +CMT,1,2,919,4,CSH,15 +CMT,1,2,366,1.9,CSH,7.5 +CMT,1,2,238,1.1,CSH,5.5 +CMT,1,1,785,5.6,CSH,17 +CMT,1,1,1059,3.6,CRD,14.5 +CMT,1,2,340,2,CSH,7.5 +CMT,1,1,1429,15.8,CSH,42 +CMT,2,2,1872,17.4,CSH,52 +CMT,1,1,1152,6.5,CRD,20.5 +CMT,1,2,547,1.9,CRD,8.5 +CMT,1,2,333,1.1,CSH,6 +CMT,1,2,914,3.8,CSH,14 +CMT,1,1,454,1.4,CRD,7.5 +CMT,1,1,614,3.1,CRD,11 +CMT,1,1,578,1.9,CRD,9.5 +CMT,1,1,156,0.8,CSH,4.5 +CMT,1,1,1543,8.3,CRD,27.5 +CMT,1,1,1577,16.2,CSH,44.5 +CMT,1,3,1411,15.8,CRD,43 +CMT,1,1,1378,6.4,CRD,23 +CMT,1,2,918,4.2,CSH,15.5 +CMT,1,1,883,8.5,CRD,24 +CMT,1,2,979,4.8,CSH,16.5 +CMT,1,1,447,1.7,CRD,8 +CMT,1,1,201,0.9,CRD,5 +CMT,1,1,1407,10.4,CSH,31.5 +CMT,1,1,469,3.1,CRD,11 +CMT,1,3,660,3.2,CRD,12 +CMT,1,2,294,1.2,CSH,6 +CMT,1,1,756,2.1,CRD,10.5 +CMT,1,1,974,4.9,CRD,17 +CMT,1,1,396,0.9,CRD,6 +CMT,1,3,262,0.9,CRD,5.5 +CMT,1,1,272,1.7,CSH,7 +CMT,1,1,285,1.3,CRD,6 +CMT,1,1,241,0.9,CRD,5 +CMT,1,1,1101,3.7,CSH,15.5 +CMT,1,1,949,9.6,CSH,27.5 +CMT,1,2,1487,5.7,CRD,22 +CMT,1,1,523,3.7,CSH,11.5 +CMT,1,1,634,2.9,CSH,11 +CMT,1,2,410,1.8,CSH,7.5 +CMT,1,1,440,1.9,CSH,8.5 +CMT,2,1,1443,17.5,CRD,52 +CMT,1,1,382,2,CSH,8 +CMT,1,1,1479,4,CRD,19 +CMT,1,1,1952,12.9,CRD,38.5 +CMT,1,2,272,1.5,CSH,6.5 +CMT,1,1,554,2.1,CSH,9.5 +CMT,1,2,475,2.5,CRD,9.5 +CMT,1,2,334,1.2,CSH,6 +CMT,1,3,362,1.8,CRD,7.5 +CMT,1,2,1233,3.6,CSH,15.5 +CMT,1,2,159,0.9,CSH,4.5 +CMT,1,3,965,5.1,CRD,17 +CMT,1,1,935,5.6,CRD,18 +CMT,1,1,227,0.8,CRD,5 +CMT,1,2,929,6,CSH,18.5 +CMT,1,1,184,0.7,CRD,4.5 +CMT,1,4,390,1.7,CSH,7.5 +CMT,1,1,272,1.1,CSH,6 +CMT,1,1,698,2.8,CRD,11 +CMT,1,1,889,3.7,CRD,14.5 +CMT,1,1,159,0.6,CSH,4 +CMT,1,2,909,1.6,CSH,11 +CMT,1,2,198,0.5,CRD,4.5 +CMT,1,1,568,2,CSH,9 +CMT,1,1,273,1,CRD,5.5 +CMT,1,1,416,1.9,CRD,8 +CMT,1,1,461,1.9,CRD,8.5 +CMT,1,3,297,0.9,CRD,5.5 +CMT,1,3,417,1.9,CSH,7.5 +CMT,1,2,439,1.6,CSH,8 +CMT,1,2,611,4.2,CSH,13.5 +CMT,1,1,670,4.1,CSH,14 +CMT,1,1,541,1.6,CRD,8 +CMT,1,4,970,4.2,CSH,15 +CMT,1,1,729,4.4,CSH,15 +CMT,1,1,434,2.1,CSH,8.5 +CMT,1,4,1567,6.5,CSH,24 +CMT,1,2,223,1.5,CRD,6 +CMT,1,3,185,0.3,CRD,4 +CMT,1,2,1062,5.5,CRD,18 +CMT,1,2,1050,10.8,CSH,30 +CMT,1,1,181,0.3,CSH,4 +CMT,1,1,443,1.6,CRD,7.5 +CMT,1,1,624,2.5,CSH,10 +CMT,1,1,744,4.8,CRD,15 +CMT,1,2,455,1.8,CRD,7.5 +CMT,1,1,518,2.2,CSH,9 +CMT,1,1,1154,8.4,CRD,25.5 +CMT,1,1,357,1,CRD,6 +CMT,1,1,1924,10.3,CRD,32 +CMT,1,1,482,1.6,CSH,8 +CMT,1,2,1456,4.2,CRD,19 +CMT,1,2,705,3.6,CRD,13 +CMT,1,1,399,2.6,CRD,9 +CMT,1,3,331,1.1,CSH,6 +CMT,1,3,1161,2.4,CSH,14 +CMT,1,1,506,2.4,CRD,10 +CMT,1,1,314,0.8,CRD,5.5 +CMT,1,1,1198,10.8,CRD,31 +CMT,1,1,1672,11.1,NOC,2.5 +CMT,5,1,57,0,CRD,34 +CMT,1,2,294,0.9,CSH,5.5 +CMT,1,2,297,0.9,CRD,5.5 +CMT,1,2,1017,4.4,CRD,15.5 +CMT,1,1,1102,3.5,CRD,16 +CMT,1,2,583,2.7,CRD,10 +CMT,1,1,299,0.9,CRD,5.5 +CMT,1,1,645,2.7,CRD,10.5 +CMT,1,1,321,0.9,CSH,6 +CMT,1,2,255,0.7,CSH,5 +CMT,1,4,1049,2,CRD,12.5 +CMT,1,1,563,1.5,CSH,8.5 +CMT,1,2,1390,13.4,CSH,37.5 +CMT,1,4,167,0.8,CSH,4.5 +CMT,1,3,607,1.8,CRD,9 +CMT,1,2,2643,8.8,CRD,33.5 +CMT,1,1,463,2.1,CRD,8.5 +CMT,5,1,2330,30.1,CRD,85 +CMT,1,2,513,1.1,CSH,7 +CMT,1,4,328,1.3,CRD,6.5 +CMT,1,1,535,2.6,CSH,9.5 +CMT,1,1,908,3.3,CRD,13 +CMT,1,2,1188,4,CSH,16.5 +CMT,1,1,1192,10.7,CSH,31 +CMT,1,1,323,1.1,CSH,6 +CMT,1,2,466,1,CRD,7 +CMT,1,1,490,1.1,CSH,7 +CMT,1,1,122,0.4,CRD,4 +CMT,1,1,1980,10.9,CRD,35 +CMT,1,1,1203,2.2,CRD,13 +CMT,1,1,230,0.5,CRD,4.5 +CMT,1,1,423,1.1,CSH,7 +CMT,1,1,392,0.9,CSH,6 +CMT,1,1,508,1,CRD,7 +CMT,1,2,441,1.6,CRD,7.5 +CMT,1,1,396,1.2,CSH,6.5 +CMT,1,1,1112,3.5,CSH,15 +CMT,1,2,893,2.1,CRD,11.5 +CMT,1,1,357,1.7,CSH,7.5 +CMT,1,1,1424,10.8,CRD,32.5 +CMT,1,1,170,0.6,CSH,4 +CMT,1,1,16,0.1,CSH,2.5 +CMT,1,1,180,0.6,CSH,4 +CMT,1,1,557,4.5,CRD,14 +CMT,1,1,425,2.7,CSH,9.5 +CMT,1,1,528,3.4,CSH,11.5 +CMT,1,1,339,1.7,CSH,7.5 +CMT,1,1,1173,4.2,CSH,17.5 +CMT,1,1,520,1.9,CSH,9 +CMT,1,1,373,1,CRD,6.5 +CMT,1,3,679,3.8,CRD,13.5 +CMT,1,3,568,2,CSH,9.5 +CMT,4,4,1134,1.9,CRD,10 +CMT,1,2,358,0.7,CSH,5.5 +CMT,1,1,486,1.3,CRD,7.5 +CMT,1,1,411,2.3,CSH,9 +CMT,1,3,865,2,CSH,11.5 +CMT,1,1,270,1.1,CRD,5.5 +CMT,1,1,540,1.3,CRD,8 +CMT,1,1,593,2.4,CRD,10.5 +CMT,1,1,853,5.2,CRD,17 +CMT,1,1,502,3.1,CSH,11 +CMT,1,1,502,0.8,CRD,6.5 +CMT,1,1,2411,6.1,CRD,28 +CMT,1,2,860,6.3,CRD,20 +CMT,1,4,1042,5.7,CRD,19.5 +CMT,1,1,1243,8.8,CRD,26 +CMT,1,2,572,1.5,CRD,8 +CMT,1,2,651,1.7,CRD,9.5 +CMT,1,2,333,1.1,CRD,6.5 +CMT,1,1,1005,5.6,CSH,18 +CMT,1,1,331,0.9,CSH,6 +CMT,1,1,1005,4.9,CRD,17.5 +CMT,1,2,441,0.7,CRD,6.5 +CMT,1,1,128,0.6,CSH,4 +CMT,1,1,2127,4.9,CRD,22.5 +CMT,1,1,1309,4.7,CRD,17.5 +CMT,1,2,621,2.7,CRD,10 +CMT,1,1,372,1.6,CRD,7.5 +CMT,1,2,184,0.6,CSH,4.5 +CMT,2,1,1992,18.1,CRD,52 +CMT,1,1,1084,9.6,CSH,28 +CMT,1,2,185,1.1,CRD,5 +CMT,1,1,539,2.7,CRD,10 +CMT,1,1,192,0.5,CSH,4.5 +CMT,1,1,708,3.2,CRD,12 +CMT,1,1,398,0.7,CSH,6 +CMT,1,1,1099,8.2,CSH,24.5 +CMT,1,2,1210,3.7,CSH,16 +CMT,1,1,238,0.8,CRD,5 +CMT,1,3,464,1,CSH,6.5 +CMT,1,1,965,6.5,CRD,21 +CMT,1,1,714,3,CRD,12 +CMT,2,1,2261,18.2,CRD,52 +CMT,1,1,608,1.7,CRD,9 +CMT,1,4,524,2,CRD,8.5 +CMT,1,2,1461,4.5,CRD,18.5 +CMT,1,2,1049,7.5,CSH,23.5 +CMT,1,1,719,3,CSH,12.5 +CMT,1,2,210,0.9,CRD,5 +CMT,1,1,1083,5,CRD,17 +CMT,1,1,650,1.6,CRD,9 +CMT,1,2,1058,8.8,CSH,26.5 +CMT,1,1,341,1.1,CSH,6.5 +CMT,1,2,183,0.4,CSH,4 +CMT,1,1,458,2.1,CRD,8.5 +CMT,1,3,522,1.4,CSH,8 +CMT,1,2,387,0.6,CRD,6 +CMT,1,2,399,1.2,CSH,7 +CMT,1,1,810,2.3,CRD,11 +CMT,1,1,414,1.7,CRD,7.5 +CMT,1,1,641,1.9,CRD,9.5 +CMT,1,3,1299,6.7,CRD,22 +CMT,1,1,688,2.8,CSH,11 +CMT,1,2,430,1.6,CSH,7.5 +CMT,1,1,206,0.8,CSH,4.5 +CMT,1,2,342,1.3,CRD,6.5 +CMT,1,1,740,2.2,CRD,10.5 +CMT,1,2,1237,6.2,CRD,20.5 +CMT,1,2,1041,7.7,CRD,24 +CMT,1,1,496,1.6,CSH,8.5 +CMT,1,1,803,3.9,CSH,14.5 +CMT,1,4,1118,4.2,CSH,16.5 +CMT,1,1,568,3.9,CSH,13 +CMT,1,2,277,1,CSH,5.5 +CMT,1,3,1327,8,CRD,25.5 +CMT,1,2,615,2.7,CSH,11 +CMT,1,1,642,3.5,CRD,13 +CMT,1,1,835,4.2,CRD,15 +CMT,1,1,348,1.6,CSH,7 +CMT,1,2,145,0.5,CRD,4 +CMT,1,1,288,1,CRD,5.5 +CMT,1,3,299,0.6,CSH,5.5 +CMT,1,1,487,1.8,CSH,8 +CMT,1,1,370,0.8,CRD,6 +CMT,1,1,405,1,CSH,6.5 +CMT,1,2,1027,9.7,CRD,27.5 +CMT,1,1,831,3.2,CSH,12.5 +CMT,1,1,366,1.3,CRD,6.5 +CMT,1,1,290,0.8,CSH,5.5 +CMT,1,3,312,1,CRD,6 +CMT,1,1,408,0.8,CRD,6 +CMT,1,1,441,1.3,CRD,7.5 +CMT,1,1,1185,11.6,CRD,32.5 +CMT,1,1,724,1.2,CRD,9 +CMT,1,1,607,1.4,CSH,8.5 +CMT,1,1,418,0.9,CSH,6 +CMT,1,1,458,1.4,CRD,7 +CMT,1,4,522,1.4,CRD,8 +CMT,1,2,248,1.1,CSH,5.5 +CMT,1,2,985,4.4,CRD,15.5 +CMT,1,4,799,4.7,CSH,16 +CMT,1,1,502,1.7,CRD,8.5 +CMT,2,4,1829,18.1,CRD,52 +CMT,1,1,70,0.2,CSH,3 +CMT,1,1,321,1.7,CRD,7 +CMT,1,2,1209,2.5,CRD,14 +CMT,1,3,1299,6.3,CSH,21.5 +CMT,1,2,401,1.1,CSH,6.5 +CMT,1,2,650,4.9,CRD,14.5 +CMT,1,3,808,5.2,CSH,16.5 +CMT,1,2,808,1.4,CRD,10 +CMT,1,1,585,2.6,CSH,10.5 +CMT,1,1,983,5.2,CSH,18.5 +CMT,1,1,716,2.7,CRD,11 +CMT,1,1,498,2.8,CRD,10 +CMT,1,1,738,2,CRD,10 +CMT,1,3,566,3.6,CRD,12 +CMT,1,1,982,3.8,CSH,15.5 +CMT,1,4,849,2.2,CSH,11 +CMT,1,1,234,0.7,CRD,4.5 +CMT,1,1,1162,6.2,CRD,20 +CMT,1,1,872,2.8,CRD,11.5 +CMT,1,3,453,3.2,CRD,11 +CMT,1,2,325,1.3,CRD,6.5 +CMT,1,1,1260,10.8,CRD,32 +CMT,1,1,575,3.4,CRD,11.5 +CMT,1,1,371,1.9,CRD,8 +CMT,1,1,487,2,CRD,8 +CMT,1,1,561,2.2,CRD,9 +CMT,1,1,497,1.4,CRD,7.5 +CMT,1,1,98,0.2,CSH,3.5 +CMT,1,1,664,3.2,CRD,12 +CMT,1,1,1086,10.9,CSH,30 +CMT,1,2,183,0.8,CRD,4.5 +CMT,1,1,1023,4.2,CSH,16 +CMT,1,1,158,0.5,CSH,4 +CMT,1,2,970,3.1,CRD,14 +CMT,1,2,288,0.8,CRD,5 +CMT,1,1,685,2,CRD,10 +CMT,1,1,860,3.6,CRD,13.5 +CMT,1,2,553,1.5,CSH,8 +CMT,1,1,407,2.2,CRD,8.5 +CMT,1,2,587,2,CRD,9 +CMT,1,1,520,1.5,CSH,8 +CMT,1,1,257,0.8,CSH,5 +CMT,1,1,370,1.5,CSH,7.5 +CMT,1,1,157,0.8,CSH,4.5 +CMT,1,2,1005,4.3,CSH,16 +CMT,1,1,372,1.8,CRD,7.5 +CMT,1,1,204,0.7,CSH,5 +CMT,1,1,710,3.4,CRD,12.5 +CMT,1,2,223,0.9,CRD,5 +CMT,1,2,1510,9.6,CRD,30 +CMT,1,1,1227,3.9,CRD,17 +CMT,1,1,905,3.5,CSH,13 +CMT,1,4,582,0.8,CSH,7.5 +CMT,1,4,523,1.6,CSH,8 +CMT,1,1,1484,5.4,CRD,21.5 +CMT,1,4,692,3,CRD,11.5 +CMT,1,1,567,3.5,CRD,12 +CMT,1,1,578,1.1,CRD,8 +CMT,1,1,1341,12.6,CRD,35.5 +CMT,1,1,278,0.8,CSH,5 +CMT,1,1,319,1.1,CSH,6 +CMT,1,1,287,0.9,CRD,5.5 +CMT,1,1,870,2.3,CRD,11.5 +CMT,1,1,838,3.7,CRD,14 +CMT,1,1,1051,6.9,CRD,22.5 +CMT,1,1,868,1.7,CSH,10.5 +CMT,1,1,393,1.4,CSH,6.5 +CMT,1,3,682,1.4,CSH,9 +CMT,1,1,1445,3.7,CRD,17 +CMT,1,1,861,2.7,CRD,12 +CMT,1,1,1063,2.5,CRD,13 +CMT,1,2,561,1.7,CRD,8.5 +CMT,1,1,260,0.5,CSH,5 +CMT,1,2,367,0.9,CRD,6.5 +CMT,1,1,1243,9.7,CRD,28.5 +CMT,1,2,1990,9.2,CRD,30.5 +CMT,1,1,149,0.6,CSH,4 +CMT,1,1,453,1.5,CSH,7.5 +CMT,1,1,262,1,CSH,5.5 +CMT,1,1,1522,11.4,CRD,34.5 +CMT,1,1,1469,9.8,CRD,28.5 +CMT,1,1,320,1,CRD,5.5 +CMT,1,2,735,1.7,CRD,9.5 +CMT,1,1,367,1,CRD,6 +CMT,1,4,92,0.3,CSH,3.5 +CMT,1,1,708,3,CRD,12 +CMT,1,1,684,4.2,CSH,13.5 +CMT,1,1,143,0.6,CRD,4.5 +CMT,1,1,399,2.3,CSH,8.5 +CMT,1,4,1035,4.2,CRD,16 +CMT,1,2,1215,5.8,CSH,20.5 +CMT,1,1,219,1.3,CRD,5.5 +CMT,1,4,641,1.8,CSH,9.5 +CMT,1,1,717,3.6,CRD,13 +CMT,1,1,1038,5.2,CSH,18 +CMT,1,1,286,1,CSH,6 +CMT,2,4,2145,19.6,CRD,52 +CMT,1,1,121,0.3,CRD,3.5 +CMT,1,1,438,1.1,CRD,7 +CMT,1,3,936,2.8,CSH,12.5 +CMT,1,1,398,1.6,CRD,7.5 +CMT,1,1,1146,11,CRD,31 +CMT,1,2,568,2.3,CRD,9.5 +CMT,1,2,774,1.5,CRD,10 +CMT,1,1,319,0.6,CSH,5.5 +CMT,1,1,676,1.7,CSH,9 +CMT,1,1,697,0.9,CRD,8.5 +CMT,1,1,495,2.8,CSH,10.5 +CMT,1,1,75,0.4,CRD,3.5 +CMT,1,1,417,1.7,CRD,7.5 +CMT,1,2,504,1.4,CSH,7.5 +VTS,1,1,360,1.68,CSH,7 +VTS,1,2,420,1.47,CSH,7 +VTS,1,2,840,5.39,CSH,18 +VTS,1,1,480,0.52,CRD,6.5 +VTS,1,1,360,1.94,CSH,8 +VTS,1,1,300,1.36,CRD,6.5 +VTS,1,1,360,1,CRD,6 +VTS,1,5,840,2.62,CRD,11.5 +VTS,1,5,1860,11.95,CRD,37 +CMT,1,1,115,0.7,CSH,4 +CMT,1,1,267,1.6,CRD,6.5 +CMT,1,1,121,0.3,CSH,3.5 +CMT,1,1,480,1.1,CRD,7 +CMT,1,1,493,1.5,CRD,8 +CMT,1,1,316,0.8,CSH,5.5 +CMT,1,1,689,1.2,CRD,8.5 +CMT,1,2,773,1.8,CSH,10.5 +CMT,1,1,1316,9.8,CRD,28 +CMT,1,1,455,1,CRD,7 +CMT,1,1,1599,6.1,CSH,25 +CMT,1,1,1041,2.1,CRD,12.5 +CMT,1,1,645,2.2,CRD,10 +CMT,1,3,939,5.8,CRD,19 +CMT,1,1,215,0.5,CSH,4.5 +CMT,1,1,676,1.9,CSH,9.5 +CMT,2,1,2238,16.9,CSH,52 +CMT,1,1,1641,8.5,CRD,28 +CMT,1,1,324,1.7,CRD,7 +CMT,1,1,599,2.3,CSH,9.5 +CMT,1,3,305,1.7,CSH,6.5 +CMT,1,1,705,1.9,CSH,8 +CMT,1,3,642,3.3,CSH,11.5 +VTS,1,2,180,1.26,CRD,5.5 +VTS,1,1,480,1.07,CSH,7 +VTS,1,1,420,2.74,CSH,10 +VTS,1,1,300,1.33,CRD,6 +VTS,1,1,480,1.62,CRD,8 +VTS,1,1,180,0.69,CRD,4.5 +CMT,1,1,1008,2,CSH,11.5 +CMT,1,1,402,0.7,CRD,6 +CMT,1,1,864,2,CSH,11 +CMT,1,1,274,0.7,CSH,5 +CMT,1,1,1484,10.2,CRD,30 +CMT,1,2,571,1.7,CSH,8.5 +VTS,1,1,240,0.65,CRD,5 +VTS,1,2,120,0.22,CSH,3.5 +VTS,1,1,420,1.63,CSH,7.5 +VTS,1,1,1140,6.94,CSH,23 +VTS,1,1,360,0.86,CSH,6 +VTS,1,1,180,0.6,CSH,4 +VTS,1,2,840,1.92,CRD,11 +VTS,1,1,1140,3.43,CRD,15.5 +VTS,1,2,420,1.03,CSH,6.5 +VTS,1,1,840,1.88,CRD,10.5 +VTS,1,2,900,2.96,CSH,13 +VTS,1,1,720,3.5,CRD,12.5 +VTS,1,1,540,1.51,CRD,8 +CMT,1,1,132,0.6,CSH,4.5 +CMT,1,1,305,1.3,CRD,6.5 +CMT,1,2,347,0.8,CSH,5.5 +CMT,1,1,609,2.1,CRD,9.5 +CMT,1,1,664,1.9,CSH,10 +CMT,1,1,820,1.5,CSH,10 +CMT,1,1,187,0.6,CSH,4.5 +CMT,1,1,1774,8.7,CRD,30 +CMT,1,2,3500,12.8,CRD,46 +CMT,1,1,1188,10,CRD,29 +CMT,1,1,1469,6.8,CSH,24.5 +CMT,1,1,180,1.4,CRD,6 +CMT,1,1,967,5.2,CSH,17.5 +CMT,1,1,550,2.3,CSH,9 +VTS,1,1,480,1.02,CSH,7 +VTS,1,1,960,4.65,CRD,16.5 +VTS,1,1,1080,7.95,CSH,24 +VTS,1,2,540,1.75,CSH,8 +VTS,1,2,840,1.6,CRD,10.5 +VTS,1,2,780,1.61,CRD,9.5 +VTS,2,1,2520,17.73,CRD,52 +VTS,1,1,1440,8.55,CSH,26 +VTS,1,1,60,0.58,CSH,3.5 +VTS,1,1,600,1.5,CRD,8.5 +VTS,1,1,1080,4.7,CRD,18 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,5,780,3.1,CSH,13 +VTS,1,5,1680,7.3,CSH,27 +VTS,1,5,600,2.64,CRD,10.5 +CMT,1,1,491,1.2,CSH,7.5 +CMT,1,1,272,0.8,CRD,5.5 +CMT,1,1,1663,9.6,CSH,30 +CMT,1,1,642,1.7,CRD,9.5 +CMT,1,1,1572,10,CRD,31.5 +CMT,1,1,277,1.2,CSH,6 +CMT,1,1,305,1.2,CSH,6 +CMT,1,1,1544,5.7,CRD,22 +CMT,1,2,1131,2.7,CRD,14 +CMT,1,1,1837,15.6,CRD,43 +CMT,1,1,742,1.4,CSH,9.5 +CMT,1,1,1247,4.3,CRD,17.5 +CMT,1,4,178,0.4,CSH,4 +CMT,1,1,523,1.8,CSH,8.5 +CMT,1,1,289,0.7,CSH,5.5 +CMT,1,1,686,2.6,CSH,10 +CMT,1,1,664,2.1,CRD,9.5 +CMT,1,3,763,1.5,CRD,9.5 +CMT,1,4,1422,7.3,CSH,24 +CMT,1,1,356,1.1,CSH,6 +CMT,1,1,701,2.9,CSH,12 +CMT,1,1,233,1.2,CRD,5.5 +CMT,1,1,179,0.4,CRD,4 +CMT,1,1,250,0.5,CRD,5 +CMT,1,1,731,3.4,CRD,13 +CMT,1,1,563,2.9,CRD,10.5 +CMT,1,1,770,1.6,CRD,9.5 +CMT,1,2,405,0.7,CRD,6 +CMT,4,1,2072,18.4,CSH,63.5 +CMT,1,1,1102,5.5,CRD,19.5 +CMT,1,2,293,1.6,CSH,6.5 +CMT,1,2,856,7,CRD,21.5 +CMT,1,1,359,1.2,CSH,6.5 +CMT,1,2,329,1.4,CRD,6.5 +VTS,1,1,360,1.48,CRD,7 +VTS,1,1,600,1.21,CRD,8.5 +VTS,1,1,720,1.78,CRD,10 +VTS,1,1,240,0.95,CSH,5.5 +VTS,1,5,900,2.52,CRD,12 +VTS,1,5,1140,5.9,CRD,19.5 +CMT,1,1,672,3,CSH,12 +CMT,1,2,215,0.6,CSH,5 +CMT,1,2,1831,6.4,CRD,26 +CMT,1,1,685,4.3,CSH,14 +CMT,1,1,521,1.9,CSH,9 +CMT,1,1,256,1.2,CSH,6 +CMT,1,1,1310,4.3,CRD,17.5 +CMT,1,1,271,1.2,CRD,6 +CMT,1,1,290,1.1,CSH,6 +CMT,1,1,1026,3.9,CSH,15.5 +CMT,1,3,1245,5.8,CRD,19.5 +CMT,1,1,1056,5.2,CRD,18 +CMT,1,1,509,1.5,CRD,7.5 +CMT,1,3,181,0.7,CRD,4.5 +CMT,1,1,895,3.1,CSH,13 +CMT,1,1,577,2,CSH,9 +CMT,1,1,584,1.7,CRD,8.5 +CMT,1,3,1003,2,CSH,11.5 +CMT,1,1,416,1.3,CSH,7 +CMT,1,1,1566,7.6,CSH,25 +CMT,1,1,188,0.6,CRD,4.5 +CMT,1,1,383,1.1,CSH,6.5 +CMT,1,1,918,4,CRD,15.5 +CMT,1,2,1120,4.2,CRD,16.5 +CMT,1,1,413,2.3,CRD,9 +CMT,1,3,740,2.3,CSH,11 +CMT,1,1,480,1.7,CRD,8 +CMT,1,1,975,4.8,CRD,16 +CMT,1,1,254,0.7,CSH,5 +CMT,1,1,1056,4.7,CRD,16.5 +CMT,1,1,639,2.1,CSH,9.5 +CMT,1,2,947,2.2,CSH,11.5 +CMT,1,1,291,1.2,CRD,6 +CMT,1,1,508,1.1,CRD,7 +CMT,1,1,1037,4.4,CRD,17 +CMT,1,1,645,2.2,CSH,9.5 +CMT,1,2,722,2.6,CSH,11 +CMT,1,3,223,1,CRD,5 +CMT,1,1,556,1.6,CRD,8.5 +CMT,1,1,246,1,CSH,5.5 +CMT,1,1,400,1.4,CRD,7 +CMT,1,1,569,2.5,CSH,9.5 +VTS,1,2,840,2.2,CSH,11.5 +VTS,1,5,2040,6.05,CRD,26 +VTS,1,5,960,2.02,CRD,12 +CMT,2,1,1911,19.1,CSH,52 +CMT,1,1,603,3.2,CSH,11.5 +CMT,1,1,687,2.5,CSH,11 +CMT,1,1,346,1.1,CRD,6.5 +CMT,1,1,304,1.5,CSH,6.5 +CMT,1,4,2014,3.2,CRD,21.5 +CMT,1,2,60,0.2,CSH,3 +CMT,1,1,186,0.3,CRD,4 +CMT,1,1,193,0.6,CRD,4.5 +CMT,1,3,312,1.2,CRD,6 +CMT,1,1,564,2.7,CRD,10.5 +CMT,1,1,510,2.7,CRD,10.5 +CMT,1,2,784,2.5,CRD,11 +CMT,1,1,384,0.8,CSH,6 +CMT,1,1,643,2.4,CSH,10.5 +CMT,1,2,360,2.2,CSH,8.5 +CMT,1,1,928,6,CRD,19 +CMT,1,1,990,5.2,CRD,18 +CMT,1,3,882,2.4,CSH,11.5 +CMT,1,1,738,3.2,CSH,12.5 +CMT,1,2,272,0.8,CRD,5 +CMT,1,1,1234,5.2,CSH,19 +CMT,1,1,667,4.2,CRD,13.5 +CMT,1,1,286,1.1,CRD,6 +CMT,1,1,336,1.5,CSH,7 +CMT,1,1,376,1.1,CRD,6.5 +CMT,1,1,1760,5.4,CSH,22 +CMT,1,1,502,0.7,CRD,7 +CMT,1,1,1227,3.2,CSH,14.5 +CMT,1,1,898,2.2,CRD,11.5 +CMT,1,2,1119,3.1,CSH,14.5 +CMT,1,1,390,1.2,CSH,6.5 +CMT,1,1,855,1.6,CRD,10.5 +CMT,1,1,627,2.1,CSH,9.5 +CMT,1,1,584,1.7,CSH,8.5 +CMT,1,1,427,2.2,CRD,8.5 +CMT,1,3,507,1.2,CRD,7.5 +CMT,1,2,1327,11.4,CSH,33 +CMT,1,2,1619,16.7,CRD,45.5 +VTS,1,2,300,0.96,CSH,5.5 +VTS,1,2,960,3.91,CSH,15.5 +VTS,1,1,960,2.41,CSH,13 +VTS,1,2,120,0.49,CSH,4 +VTS,1,1,780,4.68,CRD,16 +VTS,1,1,480,1.1,CRD,7.5 +VTS,1,5,300,0.99,CRD,5.5 +VTS,1,5,480,1.45,CRD,8 +VTS,1,5,1200,4.28,CRD,17.5 +VTS,1,5,1260,5.11,CRD,19.5 +CMT,1,1,436,1,CSH,6.5 +CMT,1,2,699,2.8,CRD,11 +CMT,1,1,331,1.4,CSH,6.5 +CMT,1,3,393,1.5,CSH,7 +CMT,1,1,657,6.3,CSH,18.5 +CMT,1,1,540,3.6,CRD,12.5 +CMT,1,1,506,1.1,CRD,7 +CMT,1,1,696,2,CSH,10 +CMT,1,1,1020,2.5,CSH,12.5 +CMT,1,2,2651,11.8,CRD,37.5 +CMT,1,1,1411,8.6,CSH,26 +CMT,1,1,972,2.8,CSH,13 +CMT,1,1,263,1,CRD,5.5 +CMT,1,2,458,2,CSH,8 +CMT,1,3,205,0.5,CSH,4.5 +VTS,1,2,300,0.83,CRD,6 +VTS,1,2,960,3.82,CRD,15.5 +VTS,1,1,840,6.11,CRD,19 +VTS,1,2,420,0.83,CSH,6.5 +VTS,1,1,300,1.55,CRD,6.5 +VTS,1,1,540,1.8,CSH,9 +VTS,1,1,420,1.09,CSH,6.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,1020,4.83,CRD,18 +VTS,1,1,720,2.59,CSH,10.5 +VTS,1,1,240,0.47,CSH,4.5 +CMT,1,1,346,2,CRD,7.5 +CMT,1,1,554,2.1,CRD,9.5 +CMT,1,1,129,0.4,CRD,4 +CMT,1,1,91,0.5,CSH,3.5 +CMT,1,1,327,0.9,CRD,6 +CMT,1,2,895,4.1,CRD,14.5 +CMT,1,2,1151,9.5,CSH,27 +CMT,1,2,677,2.5,CSH,10.5 +CMT,1,1,758,3.9,CSH,14 +CMT,1,3,741,2.4,CSH,10.5 +CMT,1,1,244,0.9,CSH,5 +CMT,1,1,243,0.9,CRD,5 +CMT,1,3,285,0.8,CSH,5.5 +CMT,1,2,834,4.2,CSH,14.5 +CMT,1,1,309,0.6,CSH,5 +CMT,1,3,464,1.2,CSH,7 +CMT,1,1,499,1.1,CSH,7 +CMT,1,1,423,1.1,CSH,6.5 +CMT,1,2,414,0.9,CSH,6.5 +CMT,1,1,528,1.7,CRD,8.5 +CMT,1,1,264,0.7,CRD,5 +CMT,1,4,569,1.5,CSH,8 +CMT,1,1,726,1.1,CRD,9 +CMT,1,1,326,0.8,CSH,6 +CMT,1,3,2239,7.6,CRD,29.5 +CMT,1,4,394,1.1,CSH,6.5 +VTS,1,2,720,2.65,CRD,11.5 +CMT,1,1,173,0.5,CSH,4.5 +CMT,1,1,743,2.6,CSH,11 +CMT,1,1,521,1.1,CSH,7 +CMT,1,1,1824,8.3,CRD,27.5 +CMT,1,1,709,2.1,CRD,10 +CMT,1,1,1693,7.3,CRD,25 +CMT,1,1,206,1,CSH,5.5 +CMT,1,2,319,0.8,CSH,5.5 +CMT,1,1,913,2.9,CRD,13 +CMT,1,1,725,3.3,CSH,12.5 +CMT,1,1,677,1.8,CRD,9.5 +CMT,1,2,749,2.2,CSH,11 +CMT,1,1,240,1,CSH,5.5 +CMT,1,3,392,1.5,CRD,7 +CMT,1,1,362,0.7,CSH,5.5 +CMT,1,1,1067,3.5,CSH,14.5 +CMT,1,2,505,2.6,CRD,10 +CMT,1,2,685,2.3,CRD,10.5 +CMT,1,1,952,5.3,CSH,17 +CMT,1,1,366,1.2,CSH,6.5 +CMT,1,1,1131,8.1,CRD,24 +CMT,1,1,762,1.9,CRD,10 +CMT,1,1,322,0.8,CRD,5.5 +CMT,1,1,153,0.9,CRD,4.5 +CMT,1,1,524,1.8,CRD,8.5 +CMT,1,1,148,1,CRD,5 +CMT,1,1,1139,5.3,CRD,19 +CMT,1,1,601,2.4,CRD,10 +CMT,1,1,224,1,CSH,5 +CMT,1,2,1388,4.6,CRD,19 +CMT,1,1,479,2.3,CRD,9 +CMT,1,1,713,1.4,CRD,9.5 +CMT,1,1,427,3,CRD,10 +CMT,1,1,118,0.3,CSH,3.5 +CMT,1,2,836,3.9,CRD,14.5 +CMT,1,2,524,3.1,CSH,11 +CMT,1,1,792,3.4,CSH,12.5 +CMT,1,2,773,4.1,CRD,14 +CMT,1,3,581,2.2,CRD,9.5 +CMT,1,2,245,0.6,CSH,5 +CMT,1,2,1178,6,CRD,20.5 +CMT,1,1,774,4.8,CSH,15.5 +CMT,1,2,521,3,CSH,10.5 +CMT,1,1,302,0.9,CRD,5.5 +CMT,1,1,767,4.7,CSH,16 +CMT,1,1,891,8.3,CRD,24 +CMT,1,2,149,1,CRD,5 +CMT,1,2,456,1.4,CRD,7.5 +CMT,1,1,1059,5.7,CRD,19.5 +CMT,1,1,480,2.9,CSH,10.5 +CMT,1,1,211,1.1,CRD,5 +CMT,1,1,306,1.2,CRD,6.5 +CMT,1,1,296,0.9,CSH,5.5 +CMT,1,4,386,1.9,CSH,7.5 +CMT,1,1,493,2.3,CRD,9.5 +CMT,1,1,567,1.5,CRD,8.5 +CMT,1,1,157,0.5,CSH,4 +CMT,1,2,864,3.1,CRD,13 +CMT,1,1,1146,3.3,CRD,14.5 +CMT,1,2,908,5.5,CSH,18 +CMT,1,2,845,2.3,CRD,11 +CMT,1,1,416,1.4,CSH,7.5 +CMT,1,1,537,1.7,CRD,8 +CMT,1,1,297,0.5,CSH,5 +CMT,1,4,380,1.6,CRD,7 +CMT,1,3,960,3.4,CSH,14 +CMT,1,1,402,1.8,CRD,8 +CMT,1,1,401,1.1,CSH,6.5 +CMT,1,1,898,6.3,CSH,20 +CMT,1,1,279,1.6,CSH,7 +CMT,1,1,336,0.9,CRD,5.5 +CMT,1,1,494,0.9,CSH,7 +CMT,1,1,1476,5.5,CRD,22 +CMT,1,2,217,0.7,CSH,4.5 +CMT,1,1,934,5.6,CSH,17 +CMT,1,1,722,2.5,CSH,10.5 +CMT,1,1,678,2,CRD,9.5 +CMT,1,3,1266,2.7,CSH,15 +CMT,1,2,974,3.6,CSH,14.5 +CMT,1,1,634,1.8,CRD,9.5 +CMT,1,1,287,1.3,CRD,6 +CMT,1,2,527,1.8,CRD,8.5 +CMT,1,1,128,0.1,CSH,3.5 +CMT,1,1,395,0.8,CSH,6 +CMT,1,1,868,2.8,CSH,13 +CMT,1,1,819,2.7,CRD,11.5 +CMT,1,1,143,0.8,CSH,4.5 +CMT,1,1,751,3.5,CRD,13.5 +CMT,1,1,632,1.8,CRD,9 +CMT,1,3,1566,12.7,CSH,36.5 +CMT,1,1,660,2.6,CSH,11 +CMT,1,1,434,1.9,CRD,8 +CMT,1,2,702,2.2,CSH,9.5 +CMT,1,1,260,0.6,CSH,5 +CMT,1,1,539,1.7,CSH,8 +CMT,1,2,542,2.1,CSH,9 +CMT,1,2,101,0.6,CRD,4 +CMT,1,1,437,2.5,CSH,9 +CMT,1,1,912,8.6,CRD,25 +CMT,1,1,339,1.3,CSH,6.5 +CMT,1,2,664,3.2,CSH,12 +CMT,1,1,482,1.5,CSH,8 +CMT,1,1,947,4,CRD,14.5 +CMT,1,1,477,0.5,CRD,6.5 +CMT,1,1,544,3.3,CSH,11.5 +CMT,1,1,1254,4.2,CSH,17 +CMT,1,1,321,0.6,CRD,5.5 +CMT,1,1,798,3.1,CSH,12.5 +CMT,1,1,228,1.2,CSH,5.5 +CMT,1,1,230,0.8,CSH,5 +CMT,5,1,641,3.6,CRD,52 +CMT,1,1,514,1.5,CRD,8 +CMT,1,1,504,2,CRD,9 +CMT,1,1,638,1,CRD,8.5 +CMT,1,1,460,1.5,CRD,7.5 +CMT,1,1,564,2.7,CRD,10 +CMT,1,1,71,0.4,CSH,3.5 +CMT,1,1,805,3.9,CRD,13.5 +CMT,1,1,930,2.8,CSH,12.5 +CMT,1,1,463,1.6,CSH,7.5 +CMT,1,1,278,1.4,CRD,6 +CMT,1,1,338,2.4,CSH,8.5 +CMT,1,1,524,2,CSH,8.5 +CMT,1,2,233,0.8,CSH,5 +CMT,1,1,157,0.9,CSH,4.5 +CMT,1,1,715,1.7,CRD,9.5 +CMT,1,3,146,0.4,CSH,4 +CMT,1,2,722,2.2,CRD,11 +CMT,1,1,461,0.8,CSH,6.5 +CMT,1,1,266,0.6,CSH,5 +CMT,1,2,612,2.3,CSH,10 +CMT,1,1,611,2.5,CSH,10.5 +CMT,1,2,604,1.2,CSH,8 +CMT,1,1,486,1.4,CRD,7.5 +CMT,1,1,416,1.1,CRD,6.5 +CMT,1,1,577,1.6,CRD,8.5 +CMT,1,1,1559,6.1,CSH,22 +CMT,1,1,1974,7.3,CRD,26 +CMT,1,2,504,1.4,CSH,8 +CMT,1,1,677,2.7,CRD,11.5 +CMT,1,1,324,1.3,CRD,6.5 +CMT,1,2,81,0.3,CSH,3.5 +CMT,1,1,327,0.9,CSH,6 +CMT,1,4,406,1.2,CSH,7 +CMT,1,1,725,2.5,CSH,11.5 +CMT,1,1,1843,8.4,CSH,28.5 +CMT,1,1,335,1,CSH,6 +CMT,1,3,251,0.7,CRD,5 +CMT,1,1,889,3.3,CRD,13.5 +CMT,1,1,809,3.1,CSH,13 +CMT,1,1,285,1.1,CSH,6 +CMT,1,2,535,3,CRD,11 +CMT,1,4,666,2.8,CRD,11 +CMT,1,1,1128,7.8,CSH,24 +CMT,1,1,283,0.7,CSH,5 +CMT,1,1,727,1.1,CRD,8.5 +CMT,1,2,868,2.6,CSH,12 +CMT,1,1,839,3.7,CSH,13.5 +CMT,1,1,704,2.9,CSH,11.5 +CMT,1,1,834,4.1,CRD,14.5 +CMT,1,1,403,1.7,CSH,8 +CMT,1,1,823,2.5,CRD,11 +CMT,1,1,810,2.7,CSH,11.5 +CMT,1,4,1641,6.4,CRD,23 +CMT,1,1,919,1.6,CRD,10.5 +CMT,1,2,553,1.9,CRD,9 +CMT,1,1,379,1.2,CRD,6.5 +CMT,1,1,229,0.8,CRD,5 +CMT,1,1,589,2.6,CRD,10 +CMT,1,2,687,3.5,CSH,12.5 +CMT,1,1,284,1.4,CRD,6.5 +CMT,1,1,669,1.9,CSH,9 +CMT,1,1,875,2.7,CRD,11.5 +CMT,1,1,100,0.5,CRD,3.5 +CMT,1,1,412,1.9,CRD,8 +CMT,1,1,174,0.6,CRD,4.5 +CMT,1,1,373,1.5,CSH,7 +CMT,1,1,497,3,CSH,10.5 +CMT,1,1,427,1.7,CSH,7.5 +CMT,1,1,301,1.6,CRD,6.5 +CMT,1,1,298,0.8,CRD,5.5 +CMT,1,1,1295,7.5,CRD,24 +CMT,1,1,286,1,CRD,5.5 +CMT,1,1,542,2.7,CRD,10.5 +CMT,1,1,205,1.2,CRD,5.5 +CMT,1,1,406,0.8,CSH,6 +CMT,1,1,782,2.6,CRD,11 +CMT,1,1,457,1.8,CRD,8 +CMT,1,1,147,0.9,CSH,4.5 +CMT,1,1,685,2.3,CSH,10.5 +CMT,1,2,224,1.1,CSH,5.5 +CMT,1,1,2072,6.8,CSH,27 +CMT,1,2,977,3,CRD,13 +CMT,1,2,198,0.6,CSH,4.5 +CMT,1,1,1846,8.4,CSH,29.5 +CMT,1,2,186,0.4,CSH,4 +CMT,1,2,284,0.7,CSH,5 +CMT,1,1,201,0.7,CSH,5 +CMT,1,1,508,2.1,CRD,9 +CMT,1,1,1747,3.7,CRD,18.5 +CMT,1,1,1256,3.2,CSH,15.5 +CMT,1,1,659,3.4,CRD,12 +CMT,1,1,783,1.5,CRD,9.5 +CMT,1,2,465,1.1,CRD,7 +CMT,1,1,718,2.2,CSH,10.5 +CMT,1,1,195,0.8,CSH,4.5 +CMT,1,1,800,2.7,CRD,11 +CMT,1,2,206,0.5,CSH,4.5 +CMT,1,1,609,1.1,CRD,8 +CMT,1,1,1546,17.5,CRD,47 +CMT,1,1,155,0.6,CRD,4 +CMT,1,1,866,2.3,CRD,11 +CMT,1,1,546,2.9,CRD,10.5 +CMT,1,2,998,5.4,CRD,18 +CMT,1,1,550,1.3,CRD,8 +CMT,1,1,384,2.8,CSH,9.5 +CMT,1,1,1344,11.2,CRD,33 +CMT,1,1,817,3.9,CRD,14 +CMT,1,1,374,1.7,CRD,7 +CMT,1,1,150,0.4,CSH,3.5 +CMT,1,1,1098,4.1,CRD,16 +CMT,1,2,276,1.4,CRD,6 +CMT,1,2,576,1.3,CRD,8 +CMT,1,2,487,1.2,CSH,7 +CMT,1,1,757,2.7,CRD,12 +CMT,1,1,683,2.6,CSH,11 +CMT,1,1,1963,8.1,CRD,28.5 +CMT,1,1,678,2.5,CRD,11 +CMT,1,1,1127,10.2,CRD,30 +CMT,1,3,316,0.9,CSH,6 +CMT,1,1,396,1.6,CSH,7.5 +CMT,1,1,211,1,CRD,5.5 +CMT,1,1,1864,15.9,CSH,44.5 +CMT,1,1,303,1.1,CSH,5.5 +CMT,1,1,383,1.2,CRD,6.5 +VTS,1,2,840,4.01,CSH,15.5 +VTS,1,1,600,3.14,CSH,11.5 +VTS,1,1,480,1.4,CSH,7.5 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,2,780,2.99,CSH,12 +VTS,1,1,1380,6.05,CRD,22.5 +VTS,1,2,960,2.35,CSH,11.5 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,1,240,1.49,CSH,6.5 +VTS,1,2,360,1.05,CSH,6 +CMT,1,1,693,2.6,CRD,11.5 +CMT,1,1,1347,11.3,CSH,33.5 +CMT,1,1,459,0.8,CSH,6.5 +CMT,1,1,786,1.5,CRD,9.5 +CMT,1,1,1480,9.6,CRD,28 +CMT,1,1,333,1,CRD,6 +CMT,1,1,1093,1.5,CSH,12 +CMT,1,1,767,1.5,CSH,7.5 +CMT,1,1,320,0.9,CSH,5.5 +CMT,1,1,401,1.2,CRD,6.5 +CMT,1,1,523,1.4,CSH,8 +CMT,1,2,191,0.3,CSH,4 +CMT,1,1,166,0.4,CSH,4 +CMT,1,4,1485,5.4,CRD,20.5 +CMT,1,1,504,2.5,CRD,9.5 +CMT,1,1,289,1.4,CSH,6.5 +CMT,1,1,542,1.3,CSH,8 +CMT,1,1,251,0.7,CSH,5 +CMT,1,2,953,2.9,CSH,13 +CMT,1,1,1726,3.1,CRD,19 +CMT,1,1,888,1.8,CRD,10.5 +CMT,1,1,298,0.9,CSH,5.5 +CMT,1,1,358,1,CRD,6 +CMT,1,1,609,2.1,CSH,9.5 +CMT,1,2,695,2,CRD,9.5 +CMT,1,1,383,2,CSH,7.5 +CMT,1,1,878,3.5,CSH,13.5 +CMT,1,1,178,1.4,CSH,6 +CMT,1,2,229,0.5,CRD,4.5 +CMT,1,1,867,1.8,CRD,10.5 +CMT,1,2,830,1.5,CSH,10 +CMT,1,1,977,1,CRD,10.5 +CMT,1,2,1169,10.6,CSH,30.5 +CMT,1,1,233,0.6,CSH,4.5 +CMT,1,1,334,0.8,CSH,5.5 +CMT,1,1,608,1.7,CRD,9 +CMT,1,1,255,1.1,CRD,5.5 +CMT,1,1,835,2.9,CRD,12.5 +CMT,1,1,173,0.6,CSH,4 +CMT,1,1,442,1.1,CSH,6.5 +CMT,1,2,304,0.8,CRD,5.5 +CMT,1,1,847,3.9,CSH,14 +CMT,1,1,576,3,CSH,11 +CMT,1,1,850,4.8,CSH,16 +CMT,1,1,1551,3.8,CRD,18 +CMT,1,1,662,1.7,CSH,9.5 +CMT,1,2,1318,4.1,CSH,17 +CMT,1,1,118,0.7,CSH,4.5 +CMT,1,2,677,2.2,CRD,10 +CMT,1,3,1305,2.9,CSH,15.5 +CMT,1,1,570,1.1,CSH,7.5 +CMT,1,1,277,1,CSH,5.5 +CMT,1,1,591,1.6,CRD,8.5 +CMT,1,1,1351,7.3,CRD,24 +CMT,1,1,489,0.6,CRD,6.5 +CMT,1,1,446,2.4,CRD,9 +CMT,1,2,766,3.1,CSH,12 +CMT,1,1,770,4.1,CRD,14 +CMT,1,1,1180,4.4,CSH,17 +CMT,1,1,935,2.2,CSH,12 +CMT,1,1,777,3.8,CSH,14 +CMT,1,2,333,1.5,CRD,7 +CMT,1,1,1015,4.5,CSH,16 +CMT,1,1,1189,6.3,CRD,20 +CMT,1,1,261,1.3,CRD,6 +CMT,1,1,284,0.9,CSH,5.5 +CMT,1,1,718,2.1,CSH,10 +CMT,1,1,1705,2.5,CSH,17.5 +CMT,1,2,541,2.3,CSH,9.5 +CMT,1,1,632,2.1,CSH,9.5 +CMT,1,1,1066,3.9,CRD,16.5 +CMT,1,1,957,1.9,CRD,12 +CMT,1,1,909,4.7,CSH,16 +CMT,1,2,249,1.2,CRD,5.5 +CMT,1,2,559,1,CSH,7.5 +CMT,1,1,516,0.7,CSH,7 +CMT,1,1,308,0.8,CSH,5.5 +CMT,1,1,185,0.6,CSH,4.5 +CMT,1,1,281,1.2,CRD,6 +CMT,1,1,344,1.2,CSH,6.5 +CMT,1,1,284,0.6,CSH,5 +CMT,1,1,135,0.5,CRD,4 +CMT,1,1,104,0.5,CRD,3.5 +CMT,1,2,401,1.5,CRD,7 +CMT,1,2,932,4.8,CRD,17.5 +CMT,1,1,977,4.4,CRD,16.5 +CMT,1,2,1000,6.3,CSH,20.5 +CMT,1,1,449,3.3,CRD,11.5 +CMT,1,2,473,1.8,CSH,8.5 +CMT,1,2,1330,4,CSH,17 +CMT,1,2,412,1.1,CSH,6.5 +CMT,1,1,284,1.1,CSH,6 +CMT,1,1,214,0.5,CRD,4.5 +CMT,1,2,602,1.7,CRD,9 +CMT,1,1,396,2,CSH,8.5 +CMT,1,1,220,0.9,CSH,5 +CMT,1,1,237,0.8,CRD,5 +CMT,1,1,553,3.1,CSH,11 +CMT,1,1,1028,5,CRD,16.5 +CMT,1,1,254,0.8,CSH,5 +CMT,1,1,1275,6,CSH,21 +CMT,1,2,877,3.3,CSH,13 +CMT,1,2,710,1.7,CSH,9.5 +CMT,1,3,599,1.4,CRD,8 +CMT,1,1,565,1.2,CSH,7.5 +CMT,1,1,883,1.9,CSH,11.5 +CMT,1,1,413,1.2,CSH,6.5 +CMT,1,1,1220,5.7,CSH,20 +CMT,1,1,937,4.6,CSH,16 +CMT,1,1,215,0.8,CSH,5 +CMT,1,2,584,1.5,CSH,8.5 +CMT,1,1,736,1.8,CSH,9.5 +CMT,1,1,1113,5,CSH,18.5 +CMT,1,1,374,1.1,CRD,6 +CMT,1,1,443,1.3,CSH,7 +CMT,1,1,1913,15.2,CRD,43 +CMT,1,2,721,2.2,CRD,10 +CMT,1,1,93,0.3,CRD,3.5 +CMT,1,1,656,1.8,CRD,9 +CMT,1,1,481,1.3,CSH,7 +CMT,1,2,390,1,CRD,6.5 +CMT,1,1,832,3,CRD,12 +CMT,1,1,107,0.6,CSH,4 +CMT,1,1,532,1.7,CSH,8 +CMT,1,1,525,1.9,CSH,8.5 +CMT,1,2,238,0.4,CSH,4.5 +CMT,1,1,1231,4.3,CRD,16.5 +CMT,1,1,352,1.4,CRD,6.5 +CMT,1,1,461,2.3,CSH,9 +CMT,1,2,700,1.2,CSH,9 +CMT,1,1,299,1,CSH,6 +CMT,1,1,247,1,CRD,5.5 +CMT,1,1,546,2.5,CRD,9.5 +CMT,1,1,105,0.4,CSH,3.5 +CMT,1,2,651,3.2,CRD,11.5 +CMT,1,1,760,1.3,CSH,9.5 +CMT,1,1,180,0.8,CSH,5 +CMT,1,1,1206,4.7,CRD,18 +CMT,1,1,296,1.7,CSH,7 +CMT,1,1,579,2.7,CSH,10.5 +CMT,1,2,1068,4.2,CSH,16.5 +CMT,1,1,537,2,CRD,9 +CMT,1,2,532,1.2,CRD,8 +CMT,1,1,624,1.9,CRD,9.5 +CMT,1,1,719,1.5,CRD,9 +CMT,1,3,946,5.1,CSH,16.5 +CMT,1,3,1251,3.5,CRD,15.5 +CMT,1,1,573,1.1,CSH,7.5 +CMT,1,1,678,2.6,CSH,11 +CMT,1,1,748,2.2,CSH,10.5 +CMT,1,1,220,0.4,CRD,4.5 +CMT,1,1,1002,4.2,CSH,15 +CMT,1,1,434,1.5,CRD,7.5 +CMT,1,1,323,0.7,CSH,5.5 +CMT,1,1,1510,3.8,CRD,19 +CMT,1,3,1225,3.9,CRD,16.5 +CMT,1,1,384,0.9,CRD,6 +CMT,1,1,230,1.2,CSH,6 +CMT,1,1,980,3.3,CSH,14 +CMT,1,1,870,2.2,CRD,10.5 +CMT,1,1,656,1,CSH,8 +CMT,1,1,1931,3.9,CRD,21 +CMT,1,1,1965,5.7,CSH,24.5 +CMT,1,2,358,1.3,CSH,6.5 +CMT,1,1,638,3.2,CRD,11.5 +CMT,1,1,295,1.7,CRD,7 +CMT,1,1,415,1.7,CSH,7.5 +CMT,1,1,843,3.1,CSH,12.5 +CMT,1,2,228,0.7,CRD,5 +CMT,1,1,335,0.9,CRD,6 +CMT,1,1,520,2.1,CRD,8.5 +CMT,1,1,817,2.2,CRD,10.5 +CMT,1,1,606,3.6,CSH,12 +CMT,1,2,644,1.5,CSH,9 +CMT,1,1,879,2,CRD,11 +CMT,1,1,746,3.5,CSH,13 +CMT,1,2,281,0.6,CSH,5 +CMT,1,1,576,1.3,CSH,8.5 +CMT,1,1,562,1.2,CRD,8 +CMT,1,1,797,2.6,CRD,12 +CMT,1,2,701,1.8,CRD,10 +CMT,1,1,285,1.1,CRD,6 +CMT,1,1,837,7.5,CSH,22.5 +CMT,1,3,847,3.1,CSH,13 +CMT,1,3,669,3.1,CSH,12 +CMT,1,1,877,2,CRD,11.5 +CMT,1,1,337,1.1,CSH,6.5 +CMT,1,1,509,2.6,CRD,10 +CMT,1,2,988,2.9,CRD,13 +CMT,1,2,913,3.2,CRD,13.5 +CMT,1,1,436,1.5,CSH,8 +CMT,1,1,1106,5.7,CRD,20.5 +CMT,1,1,468,1.4,CSH,8 +CMT,1,3,450,1.5,CSH,7.5 +CMT,1,2,552,2.2,CSH,10 +CMT,1,3,744,2.7,CRD,12 +CMT,1,1,433,0.5,CSH,6 +CMT,1,1,575,1.8,CRD,8.5 +CMT,1,1,615,1.8,CRD,9 +CMT,1,1,393,1,CSH,6.5 +CMT,1,1,426,2.2,CSH,8.5 +CMT,1,1,866,2.1,CRD,11.5 +CMT,1,1,691,2.6,CRD,11 +CMT,1,1,314,0.5,CRD,5 +CMT,1,1,231,0.7,CSH,5 +CMT,1,1,549,1.3,CRD,8 +CMT,1,1,317,1.7,CSH,7 +CMT,1,1,1085,5.1,CRD,18.5 +CMT,1,1,356,1.4,CSH,7 +CMT,1,1,325,0.5,CSH,5 +CMT,1,2,299,0.6,CSH,5 +CMT,1,1,814,2.1,CRD,11.5 +CMT,1,2,221,1,CSH,5 +CMT,1,1,265,0.7,CSH,5 +CMT,1,2,505,2,CSH,9.5 +CMT,1,2,1040,2.6,CSH,14 +CMT,1,2,341,0.8,CRD,5.5 +CMT,1,2,555,1.7,CSH,9 +CMT,1,2,730,2.3,CRD,11 +CMT,1,1,401,1.4,CSH,7.5 +CMT,1,1,306,1.3,CSH,6.5 +CMT,1,1,528,3.3,CRD,11.5 +CMT,1,2,121,0.4,CSH,4 +CMT,1,1,296,0.8,CRD,5.5 +CMT,1,1,601,1.3,CRD,8 +CMT,1,1,391,1.7,CSH,7.5 +CMT,1,1,184,0.8,CRD,4.5 +CMT,1,1,132,0.7,CSH,4 +CMT,1,3,1537,3.7,CRD,18.5 +CMT,1,1,979,2.7,CRD,13 +CMT,1,1,478,1.3,CSH,7.5 +CMT,1,1,241,1.1,CRD,5.5 +CMT,1,1,789,4.6,CSH,16 +CMT,1,1,555,1.5,CRD,8 +CMT,1,3,770,2.1,CRD,10.5 +CMT,1,1,309,1.5,CSH,6.5 +CMT,1,1,211,1.2,CSH,5.5 +CMT,1,1,309,1.2,CSH,6.5 +CMT,1,2,342,0.7,CRD,5.5 +CMT,1,1,108,0.3,CRD,3.5 +CMT,1,4,853,2.9,CSH,12.5 +CMT,1,1,316,1.2,CRD,6 +CMT,1,2,242,0.7,CRD,5 +CMT,1,1,556,2.6,CSH,10 +CMT,1,1,397,1.5,CRD,7.5 +CMT,1,2,377,1.8,CRD,7.5 +CMT,1,2,618,4.1,CRD,13.5 +CMT,1,1,517,1.7,CRD,8.5 +CMT,1,1,398,2.2,CRD,8.5 +CMT,1,4,1712,9.9,CRD,30.5 +CMT,1,1,370,0.8,CRD,6 +CMT,1,1,427,1.6,CSH,7.5 +CMT,1,1,956,6.8,CRD,22 +CMT,1,1,172,0.7,CSH,4.5 +CMT,1,1,628,2.2,CSH,10 +CMT,1,4,931,3.3,CSH,13.5 +CMT,1,1,370,1.7,CRD,7.5 +CMT,2,1,1363,16.9,CRD,52 +CMT,1,1,271,0.5,CRD,5 +CMT,1,1,740,2.3,CRD,11 +CMT,1,2,420,1.6,CSH,7.5 +CMT,1,1,1027,4,CRD,15.5 +CMT,1,2,597,3.3,CSH,12.5 +CMT,1,1,812,3.2,CRD,13 +CMT,1,1,306,1.5,CRD,7 +CMT,1,2,471,2.1,CRD,9 +CMT,1,3,253,0.7,CSH,5 +CMT,1,1,274,0.8,CRD,5.5 +CMT,1,1,1163,7.9,CSH,24.5 +CMT,1,1,547,1,CRD,7.5 +CMT,1,1,1375,9.2,CRD,28 +CMT,1,1,551,1.1,CRD,8 +CMT,1,1,714,2,CRD,9 +CMT,1,1,256,0.6,CRD,4.5 +CMT,1,2,118,0.7,CSH,4 +CMT,1,1,867,4.9,CRD,17.5 +CMT,1,1,228,0.7,CSH,4.5 +CMT,1,1,766,2.6,CSH,11.5 +CMT,1,1,162,0.4,CRD,4 +CMT,1,3,236,1,CSH,5.5 +CMT,2,2,1495,17.3,CSH,52 +CMT,1,1,260,0.6,CSH,5 +CMT,1,4,246,1,CSH,5.5 +CMT,1,2,876,8.5,CRD,24.5 +CMT,1,2,553,2.4,CRD,10 +CMT,1,2,875,4.3,CRD,15 +CMT,1,1,844,7.1,CRD,21 +CMT,1,2,963,5.7,CRD,18 +CMT,1,1,778,3.1,CRD,12.5 +CMT,1,1,174,0.5,CSH,4 +CMT,1,1,727,1.9,CSH,10 +CMT,1,1,666,0.5,CSH,8 +CMT,1,1,457,1.4,CRD,7.5 +CMT,1,1,808,1.3,CRD,9.5 +CMT,1,1,447,0.6,CRD,6 +CMT,1,1,943,1.4,CRD,10.5 +CMT,1,1,1174,6.3,CSH,22 +CMT,1,1,772,1.4,CSH,9.5 +CMT,1,1,3063,11.4,CSH,43 +CMT,1,1,691,1.7,CRD,9.5 +CMT,1,1,1260,4.7,CRD,18 +CMT,1,1,323,1,CRD,6 +CMT,1,1,437,1,CSH,6.5 +CMT,1,1,1551,3.7,CRD,18 +CMT,1,1,158,0.4,CSH,4 +CMT,1,1,299,1,CSH,5.5 +CMT,1,1,1024,8.7,CRD,24.5 +CMT,1,2,711,2.4,CRD,11 +CMT,1,1,1097,2.3,CRD,13 +CMT,1,1,749,2.2,CRD,10.5 +CMT,1,1,1227,6.7,CSH,22 +CMT,1,1,150,0.6,CSH,4 +CMT,1,1,188,0.8,CRD,4.5 +CMT,1,1,298,1.1,CRD,6 +CMT,1,1,952,3.8,CRD,14 +CMT,1,1,341,0.9,CRD,6 +CMT,1,1,301,0.9,CRD,5.5 +CMT,1,1,380,0.8,CRD,6 +CMT,1,1,799,1.7,CRD,10 +CMT,1,1,1704,6.1,CSH,23.5 +CMT,1,2,525,1.4,CSH,7.5 +CMT,1,1,481,1.5,CSH,7.5 +CMT,1,1,520,1.6,CRD,8 +CMT,1,2,955,4.1,CSH,15.5 +CMT,1,1,453,1,CRD,7 +CMT,1,1,1416,4.2,CRD,19 +CMT,1,1,194,0.4,CRD,4 +CMT,1,1,945,1.7,CRD,11.5 +CMT,1,1,275,0.8,CRD,5 +CMT,1,1,1144,3.2,CRD,15 +CMT,1,1,640,2.2,CRD,10 +CMT,1,1,931,2.4,CRD,12.5 +CMT,1,1,506,2.1,CRD,9 +CMT,1,1,490,0.5,CRD,6.5 +CMT,1,1,407,1.2,CRD,7 +CMT,1,1,1109,3.6,CSH,15 +CMT,1,1,422,1.1,CRD,6.5 +CMT,1,1,894,2,CRD,11.5 +CMT,1,1,167,0.5,CRD,4 +CMT,1,1,515,2,CSH,8.5 +CMT,1,1,146,0.5,CSH,4 +CMT,1,1,463,1.2,CSH,7 +CMT,1,1,632,1.3,CRD,8.5 +CMT,1,1,1161,2.7,CRD,14.5 +CMT,1,1,608,1.2,CRD,8 +CMT,1,1,431,1.3,CSH,7 +CMT,1,1,909,2.2,CRD,12 +CMT,1,1,164,0.7,CSH,4.5 +CMT,1,1,145,0.4,CRD,4 +CMT,1,1,902,1.5,CSH,11 +CMT,1,1,862,1.9,CRD,11 +CMT,1,1,299,1,CRD,6 +CMT,1,1,488,2.5,CSH,10 +CMT,1,1,471,2.2,CSH,9 +CMT,1,1,419,1.5,CRD,7.5 +CMT,1,1,297,0.8,CRD,5.5 +CMT,1,3,1224,2.9,CSH,15 +CMT,1,1,415,1.4,CSH,7 +CMT,1,2,620,2.9,CSH,11 +CMT,1,1,332,1.3,CRD,6.5 +CMT,1,1,330,0.9,CSH,6 +CMT,1,1,1420,7.5,CSH,25.5 +CMT,1,1,937,2.4,CSH,12 +CMT,1,1,813,1.5,CSH,9.5 +CMT,1,1,544,1.5,CRD,8 +CMT,1,1,310,0.8,CRD,6 +CMT,1,1,410,0.9,CSH,6.5 +CMT,1,1,316,0.9,CRD,6 +CMT,1,1,645,2.1,CSH,10 +CMT,1,1,856,1.9,CRD,11 +CMT,1,1,268,0.2,CSH,4.5 +CMT,1,1,116,0.5,CRD,3.5 +CMT,1,1,661,1.2,CSH,8.5 +CMT,1,1,660,2.1,CSH,10 +CMT,1,1,183,0.6,CSH,4.5 +CMT,1,1,371,1.2,CSH,6.5 +CMT,1,1,1146,2.9,CSH,14.5 +CMT,1,1,543,1.9,CSH,9 +CMT,1,1,843,3.2,CRD,12.5 +CMT,1,1,364,1.8,CRD,7.5 +CMT,1,2,672,2.8,CRD,11 +CMT,1,2,1061,3.8,CSH,15.5 +CMT,1,1,778,2.8,CRD,11 +CMT,1,2,838,1.6,CRD,10 +CMT,1,1,251,1,CRD,5.5 +CMT,1,2,620,1.2,CSH,8 +CMT,1,1,1046,2,CRD,12.5 +CMT,1,1,325,0.7,CSH,5.5 +CMT,1,1,816,2.6,CSH,12 +CMT,1,1,240,0.6,CRD,5 +CMT,1,1,140,0.9,CRD,4.5 +CMT,1,1,259,1.7,CRD,7 +CMT,1,1,669,2.1,CRD,10.5 +CMT,1,1,455,1.4,CRD,7.5 +CMT,3,1,1502,14.7,CRD,58.5 +CMT,1,2,376,1.3,CSH,7 +CMT,1,1,102,0.7,CRD,4 +CMT,1,1,181,0.6,CRD,4.5 +CMT,1,1,415,1.6,CSH,7 +CMT,4,2,776,4,CRD,14.5 +CMT,1,1,218,1,CRD,5.5 +CMT,1,1,291,1.6,CSH,7 +CMT,1,1,1148,4.7,CRD,17.5 +CMT,1,3,447,1.7,CSH,8 +CMT,1,1,1349,4.1,CSH,17.5 +CMT,1,1,496,1.4,CSH,8 +CMT,1,1,697,1.5,CRD,9 +CMT,1,1,182,0.4,CSH,4 +CMT,1,1,1296,5.5,CRD,20 +CMT,1,1,640,1.4,CRD,8.5 +CMT,1,1,548,1.3,CSH,8 +CMT,1,1,295,0.8,CSH,5 +CMT,1,1,87,0.2,CSH,3 +CMT,1,1,1520,2.6,CSH,16.5 +CMT,1,1,762,1.2,CRD,9 +CMT,1,1,863,1.9,CRD,11 +CMT,1,1,687,1,CSH,8.5 +CMT,1,1,1337,2.8,CRD,15.5 +CMT,1,1,654,1.3,CSH,8.5 +CMT,1,1,714,1.1,CRD,9 +CMT,1,1,1078,2.9,CSH,13.5 +CMT,1,1,707,2.1,CSH,10.5 +CMT,1,1,1078,1.3,CRD,12 +CMT,1,1,428,1.4,CRD,7 +CMT,1,1,432,1,CSH,6.5 +CMT,1,1,876,2.1,CSH,11 +CMT,1,1,564,1,CRD,7.5 +CMT,1,1,694,2.3,CRD,11 +CMT,1,1,687,1,CSH,8.5 +CMT,1,1,377,0.7,CRD,6 +CMT,1,1,573,1.2,CSH,8 +CMT,1,1,452,0.7,CRD,6 +CMT,1,1,186,0.5,CSH,4.5 +CMT,1,1,641,1.3,CSH,9 +CMT,1,1,337,0.7,CSH,5.5 +CMT,1,1,1480,3.8,CRD,17.5 +CMT,1,1,951,3.5,CRD,14.5 +CMT,1,1,244,0.9,CSH,5 +CMT,1,1,201,1.1,CRD,5.5 +CMT,1,1,1097,3.5,CRD,16 +CMT,1,1,323,1.5,CSH,7 +CMT,1,1,130,0.4,CSH,4 +CMT,1,1,824,1.5,CSH,10 +CMT,1,2,581,2,CRD,9 +CMT,1,1,301,0.9,CRD,5.5 +CMT,1,2,339,1.1,CSH,6 +CMT,1,2,1280,11.2,CSH,32 +CMT,1,1,481,2.1,CRD,8.5 +CMT,2,1,28,0,CSH,52 +CMT,1,1,459,2.5,CRD,9.5 +CMT,1,1,722,5.3,CSH,16 +CMT,1,3,522,1.7,CSH,8 +CMT,1,2,179,1,CSH,5 +CMT,1,1,1246,12.7,CRD,35.5 +CMT,1,1,2319,15.3,CSH,43.5 +CMT,1,2,1616,5.7,CRD,22 +CMT,1,2,608,1.6,CRD,9 +CMT,1,1,478,1.4,CSH,7.5 +CMT,1,1,645,2.2,CRD,10 +CMT,1,2,744,2.3,CSH,10.5 +CMT,1,1,214,0.8,CRD,5 +CMT,1,3,948,2.4,CSH,13 +CMT,1,2,1530,10.3,CRD,32 +CMT,1,2,139,0.3,CRD,4 +CMT,1,2,1089,1.2,CRD,12 +CMT,1,1,500,1.1,CSH,7.5 +CMT,1,2,504,2.1,CSH,9.5 +CMT,1,2,759,2.1,CSH,10.5 +CMT,1,1,981,3,CRD,13.5 +CMT,1,2,364,1.1,CSH,6.5 +CMT,1,1,752,3.6,CRD,13 +CMT,1,1,1027,4.9,CSH,17 +CMT,1,2,154,0.4,CRD,4 +CMT,1,1,483,2,CSH,8.5 +CMT,1,1,709,2.6,CRD,11 +CMT,1,1,270,0.8,CSH,5.5 +CMT,1,1,386,1.2,CSH,7 +CMT,1,2,570,1.4,CSH,8 +CMT,1,1,667,1.4,CSH,8.5 +CMT,1,2,618,0.8,CSH,7.5 +CMT,1,3,307,0.6,CRD,5.5 +CMT,1,1,253,0.7,CSH,5 +CMT,1,1,1385,5.5,CSH,20 +CMT,1,2,420,1.4,CSH,7 +CMT,1,1,297,0.6,CSH,5 +CMT,1,2,660,1.6,CRD,9 +CMT,1,1,357,0.9,CRD,5.5 +CMT,1,1,608,2.5,CRD,10 +CMT,1,1,1012,5.1,CRD,18 +CMT,1,1,1170,2.6,CSH,14 +CMT,1,1,1033,2.6,CSH,13 +CMT,1,1,561,2.7,CRD,10.5 +CMT,1,1,443,1.4,CSH,7 +CMT,1,1,210,0.4,CSH,4.5 +CMT,1,1,347,0.9,CSH,6 +CMT,1,1,376,1.3,CRD,6.5 +CMT,1,1,837,3.7,CRD,14.5 +CMT,1,1,622,1,CRD,8 +CMT,1,1,486,1.2,CSH,7 +CMT,1,1,414,1.4,CSH,7 +CMT,1,1,250,0.8,CSH,5 +CMT,1,1,1056,3,CSH,14.5 +CMT,1,1,1188,3.1,CSH,14.5 +CMT,1,1,548,3.1,CRD,11 +CMT,1,2,631,1.2,CRD,8.5 +CMT,1,2,1094,7.3,CRD,23.5 +CMT,1,1,685,1.5,CSH,9 +CMT,1,1,102,0.1,CSH,3 +CMT,1,3,887,1.1,CRD,10.5 +CMT,1,1,228,1.1,CRD,5.5 +CMT,1,1,227,0.9,CSH,5.5 +CMT,1,2,875,4.8,CRD,16.5 +CMT,1,1,637,1,CSH,8 +CMT,1,1,479,1.3,CSH,7.5 +CMT,1,1,1430,1.4,CSH,15 +CMT,1,1,1427,4.6,CSH,19.5 +CMT,1,1,702,1.5,CSH,9.5 +CMT,1,1,254,0.6,CSH,5 +CMT,1,1,574,2.3,CRD,10 +CMT,1,1,1627,9.8,CRD,30.5 +CMT,1,1,1453,3.8,CRD,18.5 +CMT,1,1,159,0.2,CSH,3.5 +CMT,1,1,912,2.2,CRD,11.5 +CMT,1,1,812,1.7,CSH,10 +CMT,1,1,408,0.8,CRD,6 +CMT,1,1,1285,2.1,CSH,14 +CMT,1,1,633,1,CSH,8 +CMT,1,1,1166,2.7,CRD,14 +CMT,1,1,1847,16.9,CRD,46.5 +CMT,1,1,106,0.4,CRD,3.5 +CMT,1,1,561,1.1,CRD,7.5 +CMT,1,1,958,3.1,CRD,13.5 +CMT,1,1,665,2.1,CRD,9.5 +CMT,1,1,406,0.4,CSH,5.5 +CMT,1,1,1935,8.5,CRD,29 +CMT,1,1,2354,10.6,CSH,35 +CMT,1,1,2486,8,CSH,31.5 +CMT,1,1,830,2,CRD,11 +CMT,1,1,401,0.7,CSH,6 +CMT,1,1,748,1.7,CRD,10 +CMT,1,1,1409,4.3,CRD,18.5 +CMT,1,1,235,0.6,CSH,5 +CMT,1,1,334,0.6,CSH,5.5 +CMT,1,1,1910,5.5,CSH,24 +CMT,1,1,1398,3.5,CRD,16.5 +CMT,1,1,372,1.4,CRD,7 +CMT,1,1,650,1.1,CRD,8.5 +CMT,1,1,624,1.6,CRD,8.5 +CMT,1,1,1108,3.7,CSH,14.5 +CMT,1,2,1406,4.4,CSH,18 +CMT,1,1,621,1,CSH,8 +CMT,1,1,614,1.6,CSH,9 +CMT,1,1,628,2,CSH,9.5 +CMT,1,1,864,1.8,CSH,10.5 +CMT,1,1,466,1.3,CSH,7.5 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,1,899,1.6,CSH,11 +CMT,1,1,1224,2.9,CSH,15 +CMT,1,1,863,2.2,CSH,11.5 +CMT,1,1,728,1.7,CRD,9.5 +CMT,1,1,1913,5.3,CRD,24 +CMT,1,1,94,0.7,CRD,4 +CMT,1,1,131,0.7,CSH,4.5 +CMT,1,1,1038,3.5,CSH,14.5 +CMT,1,2,420,1.5,CSH,7.5 +CMT,1,2,210,0.8,CSH,5 +CMT,1,2,789,3.3,CRD,13.5 +CMT,1,3,1364,5.1,CSH,19.5 +CMT,1,1,820,2.5,CRD,11.5 +CMT,1,1,578,4.3,CSH,13.5 +CMT,1,1,1133,3,CSH,14.5 +CMT,1,1,482,1.2,CSH,7.5 +CMT,1,1,581,1,CRD,7.5 +CMT,1,1,317,1.1,CSH,6 +CMT,1,1,624,1.6,CSH,9 +CMT,1,1,428,0.9,CSH,6.5 +CMT,1,1,621,0.8,CSH,7.5 +CMT,1,1,593,1,CRD,7.5 +CMT,1,1,1347,2.5,CRD,15.5 +CMT,1,1,553,1.4,CSH,8.5 +CMT,1,1,451,0.8,CSH,6.5 +CMT,1,1,917,3.3,CRD,13 +CMT,1,1,2275,5.9,CRD,26.5 +CMT,1,1,798,2,CRD,10 +CMT,1,1,1105,1.8,CSH,12.5 +CMT,1,1,797,2.7,CRD,11 +CMT,1,1,1173,2.8,CRD,14.5 +CMT,1,1,174,0.7,CSH,4.5 +CMT,1,1,1124,3.4,CRD,14.5 +CMT,1,1,1192,7.5,CSH,24 +CMT,1,1,1524,8.7,CSH,28 +CMT,1,1,2369,7.5,CRD,30.5 +CMT,1,1,640,1.4,CSH,8.5 +CMT,1,1,632,1.1,CRD,8 +CMT,1,1,766,1.1,CRD,9 +CMT,1,1,391,0.9,CRD,6.5 +CMT,1,1,880,1.4,CSH,10.5 +CMT,1,1,397,0.8,CRD,6 +CMT,1,1,722,1.7,CSH,9.5 +CMT,1,1,2019,5.7,CRD,25 +CMT,1,1,381,1.4,CRD,7 +CMT,1,1,1497,5.9,CRD,22.5 +CMT,1,1,616,1.2,CRD,8 +CMT,1,1,505,1.6,CRD,8 +CMT,1,1,829,2.2,CRD,11.5 +CMT,1,1,471,1.1,CSH,7 +CMT,1,1,566,1.1,CSH,7.5 +CMT,1,1,716,2.3,CSH,10.5 +CMT,1,1,411,1.2,CSH,7 +CMT,1,1,117,0.5,CSH,4 +CMT,2,2,3508,17.1,CSH,52 +CMT,1,1,2171,11.3,CRD,37 +CMT,1,1,712,0.9,CRD,8.5 +CMT,1,1,302,0.6,CSH,5.5 +CMT,1,1,63,0.1,CSH,3 +CMT,1,1,917,1.5,CSH,11 +CMT,1,1,1837,5.3,CSH,22 +CMT,1,1,1971,5.5,CRD,23.5 +CMT,1,1,1813,8.9,CRD,29.5 +CMT,1,1,840,1.3,CRD,10 +CMT,1,1,450,0.5,CSH,6 +CMT,1,1,610,1.6,CSH,8.5 +CMT,1,1,556,1.7,CRD,9 +CMT,1,1,632,1.2,CRD,8 +CMT,1,1,1197,2.6,CRD,14 +CMT,1,1,437,1,CRD,7 +CMT,1,1,171,0.3,CSH,4 +CMT,1,1,2456,14.9,CSH,44 +CMT,1,1,368,0.5,CSH,5.5 +CMT,1,1,1054,2.5,CSH,12.5 +CMT,1,1,392,1.2,CRD,6.5 +CMT,1,1,1566,5,CSH,21 +CMT,1,1,919,2.1,CRD,11 +CMT,1,1,434,1.1,CRD,7 +CMT,1,1,709,1.2,CRD,9 +CMT,1,1,1806,3.1,CSH,19 +CMT,1,1,730,2.6,CSH,11 +CMT,1,1,871,2.3,CSH,11.5 +CMT,1,1,257,0.5,CSH,5 +CMT,1,1,319,0.8,CRD,5.5 +CMT,1,1,504,1.7,CRD,8.5 +CMT,1,1,289,0.6,CSH,5 +CMT,1,1,961,2.4,CRD,12.5 +CMT,1,1,261,0.6,CSH,5 +CMT,1,1,316,0.8,CSH,5.5 +CMT,1,1,300,1,CSH,6 +CMT,1,1,704,1.8,CSH,10 +CMT,1,1,279,0.8,CRD,5.5 +CMT,1,1,929,4.7,CRD,16.5 +CMT,1,1,678,3.1,CRD,12 +CMT,1,1,183,0.5,CSH,4.5 +CMT,1,1,299,1.3,CRD,6.5 +CMT,1,1,334,1,CSH,6 +CMT,1,1,572,1.4,CRD,8.5 +CMT,1,3,814,2,CSH,11.5 +CMT,1,1,3652,8.1,CSH,2.5 +CMT,1,1,1093,4.1,CSH,16.5 +CMT,1,1,573,1.7,CRD,8.5 +CMT,1,1,837,1.9,CSH,10.5 +CMT,1,1,225,0.7,CSH,5 +CMT,1,2,1315,9.6,CRD,29 +CMT,1,1,384,0.8,CRD,6 +CMT,1,1,619,1.8,CSH,9 +CMT,1,2,687,2.4,CRD,10.5 +CMT,1,3,324,1,CSH,5.5 +CMT,1,1,187,0.7,CSH,4.5 +CMT,1,2,424,0.7,CSH,6 +CMT,1,1,605,1.9,CRD,9.5 +CMT,1,1,1546,3.9,CRD,18.5 +CMT,1,2,314,1.1,CSH,6 +CMT,1,2,194,0.6,CSH,4.5 +CMT,1,1,1119,4.4,CRD,17 +CMT,1,1,245,0.7,CRD,5 +CMT,1,1,1468,5.7,CSH,22 +CMT,1,2,476,2.8,CRD,10 +CMT,1,1,573,1.3,CSH,8 +CMT,1,1,103,0.6,CRD,4 +CMT,1,1,217,0.5,CSH,4.5 +CMT,1,1,556,1.5,CSH,8.5 +CMT,1,1,1159,3.4,CSH,15 +CMT,1,1,820,1.4,CRD,10 +CMT,1,1,454,1.4,CRD,7.5 +CMT,1,1,1348,8.8,CRD,27 +CMT,1,1,529,0.9,CRD,7.5 +CMT,1,1,755,2,CSH,10 +CMT,1,1,427,0.8,CRD,6 +CMT,1,1,658,1,CRD,8.5 +CMT,1,1,2129,9.5,CSH,32.5 +CMT,1,1,680,1.9,CRD,9.5 +CMT,1,1,556,1.4,CRD,8 +CMT,1,1,350,0.8,CRD,6 +CMT,1,1,394,1.2,CSH,7 +CMT,1,1,835,2.1,CRD,11.5 +CMT,1,1,470,1.3,CRD,7.5 +CMT,1,1,657,1.3,CSH,8.5 +CMT,1,1,386,0.7,CRD,6 +CMT,1,1,408,1.1,CRD,6.5 +CMT,1,1,602,2.1,CRD,9.5 +CMT,1,1,313,0.9,CRD,5.5 +CMT,1,1,1582,5.5,CRD,21.5 +CMT,1,1,740,0.8,CSH,8.5 +CMT,1,1,329,0.8,CSH,6 +CMT,1,1,334,0.8,CRD,6 +CMT,1,1,1943,7.1,CSH,26.5 +CMT,1,1,981,2.6,CSH,12.5 +CMT,1,1,613,1.6,CSH,8.5 +CMT,1,1,900,2.6,CRD,12.5 +CMT,1,1,225,0.3,CRD,4.5 +CMT,1,1,824,0.7,CRD,9 +CMT,1,1,277,1.3,CSH,6.5 +CMT,1,1,2181,9.5,CSH,32.5 +CMT,1,1,423,1.2,CSH,6.5 +CMT,1,1,189,0.5,CSH,4 +CMT,1,1,649,1.4,CRD,8.5 +CMT,1,1,213,1.4,CRD,6 +CMT,1,1,711,0.7,CSH,8.5 +CMT,1,2,1369,7.1,CRD,24.5 +CMT,1,2,335,1,CSH,6 +CMT,1,1,992,1.6,CSH,12 +CMT,1,2,152,0.5,CRD,4 +CMT,1,2,220,0.8,CSH,5 +CMT,1,1,479,2.3,CSH,9 +CMT,4,1,42,0,CSH,3 +CMT,1,1,607,2.4,CRD,11 +CMT,1,1,255,0.8,CRD,5.5 +CMT,1,1,309,1.2,CSH,6 +CMT,1,1,321,2.2,CRD,8.5 +CMT,1,1,1510,8.8,CRD,29 +CMT,1,2,554,1.3,CSH,8 +CMT,1,1,576,1.7,CSH,8.5 +CMT,1,2,339,1.3,CRD,7 +CMT,1,2,480,2,CSH,9 +CMT,1,1,1078,3.3,CRD,14 +CMT,1,1,2014,7.3,CSH,27.5 +CMT,1,1,259,0.3,CSH,4.5 +CMT,1,1,500,1.1,CRD,7 +CMT,1,1,1502,3.3,CRD,18 +CMT,1,1,688,1.4,CSH,9 +CMT,1,1,796,2,CSH,10.5 +CMT,1,1,192,0.5,CRD,4 +CMT,1,1,549,1.7,CSH,8.5 +CMT,1,1,597,1.4,CRD,8 +CMT,1,1,879,3.4,CSH,14 +CMT,1,1,348,0.8,CSH,6 +CMT,1,1,2640,6.4,CSH,29.5 +CMT,1,1,500,1,CRD,7 +CMT,1,1,1001,4,CRD,16 +CMT,1,1,1511,3.1,CSH,17 +CMT,1,1,1478,4.7,CSH,20 +CMT,1,1,113,0.2,CSH,3.5 +CMT,1,1,286,0.7,CSH,5 +CMT,1,1,547,2.7,CRD,10.5 +CMT,1,1,598,2.1,CRD,9 +CMT,1,1,224,0.4,CSH,4.5 +CMT,1,1,1187,6.8,CRD,22 +CMT,1,1,748,1.3,CSH,9 +CMT,1,1,373,1,CRD,6 +CMT,1,1,563,1.9,CSH,9.5 +CMT,1,1,732,2.3,CSH,11 +CMT,1,1,400,1,CSH,6.5 +CMT,1,1,295,0.8,CSH,5.5 +CMT,1,1,330,1.4,CSH,6.5 +CMT,1,1,740,2.5,CRD,11.5 +CMT,1,1,936,5,CSH,18 +CMT,1,1,878,2.6,CSH,12.5 +CMT,1,1,208,0.5,CSH,4.5 +CMT,1,1,371,0.6,CSH,6 +CMT,1,1,459,1,CSH,7 +CMT,1,1,397,1.3,CRD,7 +CMT,1,1,514,1.7,CRD,8.5 +CMT,1,1,538,2.2,CRD,9.5 +CMT,1,3,1074,3.1,CRD,14.5 +CMT,1,1,579,1.5,CRD,8 +CMT,2,1,2600,19.8,CSH,52 +CMT,1,1,1397,13.6,CSH,38.5 +CMT,1,2,160,0.5,CRD,4 +CMT,1,1,1379,6.7,CRD,22.5 +CMT,1,1,489,2.8,CSH,10 +CMT,2,2,2970,17.6,CRD,52 +CMT,2,2,2518,19.8,CSH,52 +CMT,1,1,978,8.7,CRD,26 +CMT,1,1,1218,12.5,CRD,35 +CMT,1,4,521,2,CSH,9.5 +CMT,1,1,355,1.7,CRD,7.5 +CMT,1,1,532,1.8,CRD,8.5 +CMT,1,3,1396,4.6,CSH,18.5 +CMT,1,1,420,1.5,CSH,7 +CMT,1,1,279,0.6,CRD,5.5 +CMT,1,1,540,1.3,CRD,8 +CMT,1,1,464,1.4,CRD,7 +CMT,1,1,1046,3.1,CRD,14 +CMT,1,2,544,4.2,CRD,13 +CMT,1,1,451,1.7,CSH,8 +CMT,1,1,1166,2.5,CSH,13.5 +CMT,1,1,1034,3.5,CRD,14 +CMT,1,1,1032,2.4,CRD,13 +CMT,1,1,325,0.6,CRD,5.5 +CMT,1,1,545,1.5,CRD,8.5 +CMT,1,1,755,1.8,CRD,10 +CMT,1,1,421,0.9,CRD,6.5 +CMT,1,1,617,1.1,CRD,8 +CMT,1,1,283,0.8,CRD,5.5 +CMT,1,1,417,1.2,CRD,7 +CMT,1,1,772,3.8,CSH,13.5 +CMT,1,1,868,2.4,CRD,12 +CMT,1,1,1385,6.7,CRD,23.5 +CMT,1,1,241,0.6,CSH,4.5 +CMT,1,1,394,0.8,CSH,6 +CMT,1,1,390,1.2,CSH,7 +CMT,1,1,630,1.1,CSH,8.5 +CMT,1,1,541,1.2,CSH,7.5 +CMT,1,1,496,1.4,CRD,8 +CMT,1,1,1022,3.4,CRD,14.5 +CMT,1,1,192,0.4,CSH,4.5 +CMT,1,1,1188,3.1,CSH,15 +CMT,1,1,674,2.7,CRD,11 +CMT,1,1,724,3.6,CSH,13.5 +CMT,1,2,283,1,CRD,6 +CMT,1,1,1772,8.2,CRD,28.5 +CMT,1,4,573,2.3,CRD,9.5 +CMT,1,1,965,2,CSH,12 +CMT,1,1,341,0.9,CSH,6 +CMT,1,1,264,0.4,CRD,4.5 +CMT,1,1,1202,3.1,CSH,15 +CMT,1,1,873,3.2,CSH,13 +CMT,1,1,422,1.1,CSH,6.5 +CMT,1,2,212,0.6,CSH,4.5 +CMT,1,1,599,2.1,CRD,9.5 +CMT,1,1,717,3.5,CRD,13.5 +CMT,1,1,345,1.7,CSH,7.5 +CMT,1,1,430,1.2,CSH,7 +CMT,1,1,202,0.5,CSH,3.5 +CMT,1,1,572,1.1,CRD,8 +CMT,1,1,665,1.3,CSH,8.5 +CMT,1,1,106,0.6,CSH,4 +CMT,1,2,500,2,CSH,9 +CMT,1,1,457,4.8,CSH,14.5 +CMT,1,1,1200,4,CRD,17 +CMT,1,2,468,1.4,CRD,7.5 +CMT,1,1,507,2.2,CSH,9 +CMT,1,1,386,2,CSH,8 +CMT,1,1,418,1.3,CSH,7 +CMT,1,1,756,2.2,CRD,11 +CMT,1,1,398,1,CRD,6.5 +CMT,1,1,255,1,CRD,5.5 +CMT,1,1,356,1.1,CRD,6.5 +CMT,1,1,733,2.5,CRD,11.5 +CMT,1,1,628,1.7,CSH,9 +CMT,1,1,774,2.2,CSH,10.5 +CMT,1,1,547,0.8,CRD,7 +CMT,1,1,428,1.3,CRD,7 +CMT,1,1,285,0.5,CSH,5 +CMT,1,1,885,1,CRD,10 +CMT,1,1,744,2.1,CSH,10 +CMT,1,1,2424,8.9,CRD,33 +CMT,1,1,2517,7,CRD,30 +CMT,1,1,3518,8.3,CRD,39 +CMT,1,1,329,0.4,CRD,5 +CMT,1,1,675,1.2,CRD,8.5 +CMT,1,1,249,0.5,CSH,4.5 +CMT,1,1,1715,10.4,CRD,32.5 +CMT,1,1,243,0.6,CSH,5 +CMT,1,1,574,1.6,CRD,8 +CMT,1,1,573,1.7,CRD,8.5 +CMT,1,1,616,0.8,CSH,8 +CMT,1,1,636,1.4,CSH,9 +CMT,1,1,685,1.3,CSH,8.5 +CMT,1,1,1483,2,CSH,15.5 +CMT,1,1,420,1.3,CSH,7 +CMT,1,1,469,0.9,CRD,7 +CMT,1,1,737,1.6,NOC,10 +CMT,1,1,876,1.6,CRD,10.5 +CMT,1,1,856,1.6,CSH,10.5 +CMT,1,1,522,2.1,CRD,9 +CMT,1,1,537,0.6,CSH,7 +CMT,1,1,888,2.9,CSH,13.5 +CMT,1,1,737,2,CSH,10 +CMT,1,1,459,1.4,CRD,8 +CMT,1,1,145,0.5,CSH,4 +CMT,1,1,1246,4.1,CRD,17.5 +CMT,1,1,340,2.4,CSH,8.5 +CMT,1,1,636,3.1,CRD,11 +CMT,1,1,339,1.3,CSH,6.5 +CMT,1,1,279,0.7,CSH,5.5 +CMT,1,1,332,1.1,CSH,6.5 +CMT,2,2,2527,16.5,CSH,52 +CMT,1,1,424,1.7,CRD,8 +CMT,1,3,271,0.9,CRD,5.5 +CMT,1,3,978,2.9,CRD,14 +CMT,1,2,385,1.4,CSH,7 +CMT,1,1,1116,9.8,CRD,28 +CMT,1,1,898,2.9,CSH,13 +CMT,1,1,1458,8.3,CRD,28 +CMT,1,1,898,3.3,CSH,13.5 +CMT,1,2,1056,4.2,CRD,16 +CMT,1,2,334,1.3,CSH,6 +CMT,1,1,741,3.7,CRD,13 +CMT,1,1,659,2.9,CRD,11.5 +CMT,1,1,517,1.3,CSH,8 +CMT,1,1,449,1.1,CSH,7 +CMT,1,1,1013,9.6,CRD,27.5 +CMT,1,1,992,4.8,CSH,17 +CMT,1,1,1263,5.5,CSH,19.5 +CMT,1,1,524,1.6,CRD,8 +CMT,1,1,807,2.5,CSH,11.5 +CMT,1,1,590,3.5,CSH,11.5 +CMT,1,1,349,1.2,CSH,6 +CMT,4,1,535,3.3,CSH,11.5 +CMT,1,2,448,1.4,CRD,7 +CMT,1,4,488,1.6,CRD,8 +CMT,1,1,299,1.2,CRD,6 +CMT,1,1,264,1.1,CRD,5.5 +CMT,1,1,266,0.8,CRD,5 +CMT,1,3,655,1.9,CRD,9.5 +CMT,1,1,369,1.4,CRD,7 +CMT,1,1,158,0.8,CSH,4.5 +CMT,1,1,78,6.5,NOC,22.5 +CMT,1,1,245,1.2,CRD,6 +CMT,1,2,1113,4.2,CSH,16.5 +CMT,1,2,668,4.4,CRD,14 +CMT,1,1,1169,5.7,CRD,19.5 +CMT,1,1,404,0.8,CSH,6 +CMT,1,1,339,0.9,CSH,6 +CMT,1,1,1460,13.1,CRD,37 +CMT,1,1,795,2.2,CSH,11 +CMT,1,2,1230,3.2,CRD,15.5 +CMT,1,1,512,2,CSH,8.5 +CMT,1,1,1398,6.3,CRD,22 +CMT,1,2,1985,3.5,CRD,21.5 +CMT,1,1,598,2.3,CRD,9.5 +CMT,1,1,338,1.3,CRD,6.5 +CMT,1,1,501,1.8,CRD,8.5 +CMT,1,2,559,4,CSH,12.5 +CMT,1,2,710,2.6,CRD,12 +CMT,1,2,187,1.1,CSH,5.5 +CMT,1,1,1018,5.4,CRD,18 +CMT,1,2,603,2.4,CSH,10 +CMT,1,1,736,2.8,CRD,11.5 +CMT,1,3,324,1.1,CSH,6 +CMT,1,1,616,2.8,CRD,11 +CMT,1,1,292,0.9,CRD,5.5 +CMT,1,1,1996,4.8,CSH,2.5 +CMT,1,2,327,1.7,CRD,7 +CMT,1,1,445,3.6,CSH,12 +CMT,1,2,320,1.3,CRD,6.5 +CMT,1,2,580,2,CSH,9 +CMT,1,1,1025,4.6,CSH,17 +CMT,2,1,1933,21.3,CSH,52 +CMT,1,1,844,3.1,CRD,13 +CMT,1,1,388,1,CRD,7 +CMT,1,1,295,0.7,CRD,5.5 +CMT,1,1,681,0,CSH,8 +CMT,1,1,1251,2.8,CRD,15 +CMT,1,1,462,0.8,CRD,6.5 +CMT,1,1,339,0.5,CSH,5.5 +CMT,1,1,605,1,CSH,8 +CMT,1,1,412,0.8,CRD,6.5 +CMT,1,1,329,0.2,CRD,5 +CMT,1,1,277,0.5,CRD,5 +CMT,1,1,277,0.8,CSH,5.5 +CMT,1,1,172,0.4,CRD,4 +CMT,1,1,968,2.2,NOC,12 +CMT,1,1,304,1.1,CRD,6 +CMT,1,1,141,0.4,CSH,4 +CMT,1,1,822,1.7,CSH,10.5 +CMT,1,1,1093,3.4,CRD,14.5 +CMT,1,1,917,8.6,CSH,24.5 +CMT,1,2,710,3.1,CSH,12 +CMT,1,1,1348,6.4,CRD,22 +CMT,1,1,746,4.7,CSH,15 +CMT,1,1,487,2.1,CSH,9 +CMT,1,1,275,1.2,CRD,6 +CMT,1,1,772,1.7,CSH,10 +CMT,1,1,131,0.4,CSH,3.5 +CMT,1,4,805,2.1,CSH,11 +CMT,1,1,211,0.7,CSH,4.5 +CMT,1,4,828,2,CSH,11 +CMT,1,1,1961,22.9,CSH,61 +CMT,1,2,689,2.4,CSH,10.5 +CMT,1,3,761,3.6,CRD,13.5 +CMT,3,3,1913,18.4,CRD,68.5 +CMT,1,1,1016,4.4,CSH,16.5 +CMT,1,2,1290,2.2,CSH,14.5 +CMT,1,1,988,3.3,CSH,15 +CMT,1,1,534,2.7,CSH,10 +CMT,1,1,50,0.4,CRD,3 +CMT,1,1,1503,8.5,CRD,28 +CMT,1,1,565,1.9,CRD,9 +CMT,1,1,974,3.2,CSH,13.5 +CMT,1,1,876,2.9,CRD,13 +CMT,1,2,498,1,CRD,7 +CMT,1,1,344,1,CRD,6 +CMT,1,1,360,1.9,CSH,7.5 +CMT,1,1,546,1.8,CRD,8.5 +CMT,1,1,221,1,CSH,5 +CMT,1,1,872,2.3,CRD,11.5 +CMT,1,2,223,0.9,CSH,5 +CMT,1,1,369,1.1,CSH,6.5 +CMT,1,1,279,1.2,CRD,6 +CMT,1,2,168,0.4,CSH,4 +CMT,1,2,223,1,CRD,5.5 +CMT,1,2,825,1.7,CSH,10 +CMT,1,4,932,3.5,CSH,14 +CMT,1,1,1137,4.1,CRD,17 +CMT,1,2,78,0.3,CSH,3 +CMT,1,1,99,0.5,CRD,3.5 +CMT,1,2,230,0.7,CSH,5 +CMT,2,1,3565,17.7,CRD,52 +CMT,1,1,992,7.5,CRD,23 +CMT,1,1,209,0.6,CSH,4.5 +CMT,1,2,799,1.7,CRD,10 +CMT,1,1,720,3,CRD,11.5 +CMT,1,1,2014,18,CSH,49.5 +CMT,1,2,1113,6,CSH,19.5 +CMT,1,2,356,1,CSH,6 +CMT,1,4,272,0.6,CSH,5 +CMT,1,3,644,2.2,CSH,10 +CMT,1,1,313,1.6,CRD,6.5 +CMT,1,1,451,1.5,CSH,7.5 +CMT,1,1,1541,9.7,CRD,30.5 +CMT,1,1,1600,10.6,CSH,33.5 +CMT,1,2,799,3.2,CRD,13 +CMT,1,1,116,0.4,CSH,3.5 +CMT,1,4,361,1.7,CRD,7.5 +CMT,1,1,834,3.3,CSH,13 +CMT,1,1,1208,3.4,CRD,15.5 +CMT,1,1,335,0.8,CRD,5.5 +CMT,1,2,639,2,CSH,9.5 +CMT,1,1,642,2,CRD,10 +CMT,1,1,1277,1.4,CSH,13.5 +CMT,1,1,770,3.4,CSH,13 +CMT,1,1,966,2.6,CRD,12.5 +CMT,1,1,511,1.7,CSH,8 +CMT,1,3,239,0.7,CSH,5 +CMT,1,2,796,2.6,CSH,11.5 +CMT,1,1,496,2.6,CRD,10 +CMT,1,2,808,4.7,CRD,15 +CMT,1,1,80,0.2,CRD,3 +CMT,1,3,1386,5.2,CRD,20 +CMT,1,1,853,3.8,CSH,14 +CMT,1,2,898,3.1,CRD,13.5 +CMT,1,1,412,1.3,CSH,7 +CMT,1,1,329,0.4,CSH,5 +CMT,1,1,716,2.5,CRD,11 +CMT,1,1,902,4.5,CSH,15.5 +CMT,1,1,776,1.5,CRD,9.5 +CMT,1,1,859,6.1,CRD,19 +CMT,1,2,229,1.1,CRD,5.5 +CMT,1,1,943,7.1,CRD,21.5 +CMT,1,2,474,1.2,CSH,7 +CMT,1,3,252,1.1,CRD,5.5 +CMT,1,1,397,1.4,CSH,7 +CMT,1,4,119,0.6,CSH,4 +CMT,1,2,571,1.2,CRD,8 +CMT,1,2,179,1.6,CSH,6.5 +CMT,1,1,263,1.3,CRD,6 +CMT,1,1,810,1.1,CSH,9.5 +CMT,1,1,1164,2.5,CRD,13 +CMT,1,1,1785,11.9,CRD,35.5 +CMT,1,2,368,2.6,CRD,9 +CMT,1,2,515,3.5,CRD,12 +CMT,1,2,888,1.5,CSH,10.5 +CMT,1,3,290,0.8,CRD,5.5 +CMT,1,1,335,1.6,CSH,7 +CMT,1,1,535,1.7,CRD,8.5 +CMT,1,1,263,0.5,CRD,5 +CMT,1,2,251,0.7,CRD,5 +CMT,1,1,760,1.4,CRD,9.5 +CMT,1,1,331,1.4,CSH,6.5 +CMT,1,2,654,1.7,CRD,9 +CMT,1,1,492,1.1,CRD,7.5 +CMT,1,1,273,0.7,CRD,5 +CMT,1,1,1132,10.4,CRD,30 +CMT,1,1,166,0.4,CRD,4 +CMT,1,1,430,1.3,CRD,7 +CMT,1,1,1047,2.9,CRD,13.5 +CMT,1,1,525,1,CRD,7.5 +CMT,1,1,704,1.6,CSH,9.5 +CMT,1,1,729,1.8,CSH,10 +CMT,1,1,691,2.2,CSH,10 +CMT,1,2,532,1.8,CRD,8 +CMT,1,1,345,1.8,CSH,7 +CMT,1,1,382,0.7,CSH,6 +CMT,1,1,162,0.9,CRD,5 +CMT,1,1,61,4.1,NOC,2.5 +CMT,1,2,480,1,CRD,7 +CMT,1,1,1332,6.7,CRD,23 +CMT,1,2,303,1.1,CSH,6 +CMT,1,3,783,1.9,CRD,10.5 +CMT,1,1,164,1,CSH,5 +CMT,1,1,1283,12,CSH,33.5 +CMT,1,1,871,4.7,CRD,16 +CMT,1,2,847,3.4,CRD,13.5 +CMT,1,1,52,0.2,CSH,3 +CMT,1,2,203,0.9,CSH,5 +CMT,1,2,235,0.7,CSH,5 +CMT,1,1,1240,13.9,CRD,38 +CMT,1,1,569,1.9,CSH,9 +CMT,1,1,667,2.1,CRD,9.5 +CMT,1,1,155,0.7,CSH,4.5 +CMT,1,1,110,0.7,CSH,4 +CMT,1,1,336,1.5,CRD,7 +CMT,1,1,464,1.4,CSH,7.5 +CMT,1,1,855,4.8,CRD,16 +CMT,1,1,538,1.2,CSH,7.5 +CMT,1,1,1254,2.8,CRD,15 +CMT,1,2,1187,5,CRD,18 +CMT,2,3,3451,26.6,CSH,52 +CMT,1,2,1443,7.4,CSH,24 +CMT,1,1,1171,9,CSH,26.5 +CMT,1,2,639,2,CSH,10 +CMT,1,1,1493,10.7,CRD,32.5 +CMT,1,3,598,2.1,CSH,9.5 +CMT,1,1,367,1.5,CRD,7 +CMT,1,2,171,0.4,CRD,4 +CMT,1,1,810,1.9,CSH,11 +CMT,1,1,556,1.8,CSH,8.5 +CMT,1,1,399,1.8,CRD,8 +CMT,1,1,319,0.7,CSH,5.5 +CMT,1,1,411,1.8,CRD,7.5 +CMT,1,1,390,1.3,CRD,7 +CMT,1,2,871,3.8,CRD,14 +CMT,1,1,1053,8.5,CRD,24.5 +CMT,1,1,946,2.4,CSH,12.5 +CMT,1,1,322,0.8,CSH,5.5 +CMT,1,1,1099,2.7,CRD,13.5 +CMT,1,3,290,0.7,CSH,5 +CMT,1,1,1166,10.8,CRD,31 +CMT,1,1,440,1.6,CSH,7.5 +CMT,1,1,686,2.1,CSH,10 +CMT,1,1,296,1,CRD,6 +CMT,1,1,237,1,CSH,5.5 +CMT,1,2,1328,5.4,CRD,20 +CMT,1,3,218,0.9,CSH,5 +CMT,1,2,803,3.3,CSH,13 +CMT,1,3,370,1.3,CSH,6.5 +CMT,1,2,612,1.4,CRD,8.5 +CMT,1,1,216,0.8,CSH,5 +CMT,1,1,571,2.4,CRD,9.5 +CMT,1,1,318,0.8,CRD,5.5 +CMT,1,1,57,0,NOC,2.5 +CMT,1,1,895,3.5,CSH,13 +CMT,1,1,1089,5.1,CRD,18 +CMT,1,1,1967,15.4,CRD,44 +CMT,2,1,1430,16.5,CRD,52 +CMT,1,1,414,1.7,CSH,7.5 +CMT,1,1,1087,11.3,CSH,32 +CMT,1,2,944,3.2,CSH,14 +CMT,1,1,2550,8.7,CRD,35 +CMT,1,1,592,2.5,CRD,10 +CMT,1,1,1061,6,CSH,19 +CMT,1,2,452,1.8,CRD,8 +CMT,1,1,716,1.6,CRD,9.5 +CMT,1,1,688,2,CRD,10 +CMT,1,2,814,2.6,CSH,12 +CMT,1,1,1066,4.8,CRD,17.5 +CMT,1,1,870,4.6,CRD,15 +CMT,1,1,469,1.3,CSH,7 +CMT,1,1,99,0.4,CSH,3.5 +CMT,1,1,427,1.4,CRD,7 +CMT,1,2,1061,3.3,CSH,14 +CMT,1,2,433,1.9,CSH,8 +CMT,1,2,392,1.3,CRD,6.5 +CMT,1,1,738,5.6,CSH,17.5 +CMT,1,1,481,2.3,CRD,9.5 +CMT,1,1,868,6.1,CSH,18.5 +CMT,2,2,2293,22.8,CRD,52 +CMT,1,3,449,0.9,CSH,6.5 +CMT,1,1,1096,5.3,CSH,18 +CMT,1,1,880,6.7,CRD,21 +CMT,1,1,767,2,CRD,10.5 +CMT,1,2,1289,5.3,CRD,20 +CMT,1,1,160,1.4,CSH,6 +CMT,1,1,244,1.7,CSH,6.5 +CMT,1,1,1491,2.8,CRD,16.5 +CMT,1,1,680,2.9,CSH,11 +CMT,1,2,1159,3.7,CSH,15.5 +CMT,1,1,554,1.9,CRD,8.5 +CMT,1,1,665,2.1,CRD,10 +CMT,1,1,1179,3.8,CSH,16.5 +CMT,1,1,611,1.5,CRD,8.5 +CMT,1,1,515,1.8,CSH,8 +CMT,1,1,668,1.7,CSH,9.5 +CMT,1,3,545,1.1,CSH,8 +CMT,1,2,1016,7.6,CSH,23.5 +CMT,1,2,78,0.4,CSH,3.5 +CMT,1,2,388,1.5,CSH,7 +CMT,1,1,686,2.2,CRD,10.5 +CMT,1,2,475,1.4,CSH,7.5 +CMT,1,1,1287,4.8,CRD,19.5 +CMT,1,1,1293,3.7,CSH,17 +CMT,1,1,466,1.9,CRD,8.5 +CMT,1,1,563,2.3,CRD,9.5 +CMT,1,1,1191,4.1,CRD,17 +CMT,1,1,261,1.1,CRD,5.5 +CMT,1,1,339,1.1,CRD,6 +CMT,1,3,270,0.9,CRD,5.5 +CMT,1,2,819,2.7,CRD,12 +CMT,1,2,638,0.8,CRD,7.5 +CMT,1,1,363,1.2,CSH,6.5 +CMT,1,1,648,3.1,CSH,12 +CMT,1,1,1399,6.5,CRD,22 +CMT,1,1,390,1.4,CRD,7 +CMT,1,2,470,2,CSH,9 +CMT,1,1,468,1.2,CRD,7 +CMT,1,1,673,3.2,CRD,12 +CMT,1,1,339,0.8,CSH,5.5 +CMT,1,1,741,3.2,CRD,12 +CMT,1,1,618,2.1,CRD,10 +CMT,1,2,1032,9.6,CSH,28 +CMT,1,1,1167,11.5,NOC,32.5 +CMT,1,2,348,1,CSH,6 +CMT,1,1,221,0.8,CRD,5 +CMT,1,1,1401,11.8,CSH,34.5 +CMT,1,2,1037,2.9,CRD,13.5 +CMT,1,1,672,3.5,CSH,12.5 +CMT,1,1,836,4.5,CRD,15.5 +CMT,1,1,1099,1.8,CRD,12.5 +CMT,1,1,587,0.9,CRD,7.5 +CMT,1,1,883,3.8,CRD,14 +CMT,1,1,1000,2.5,CSH,12.5 +CMT,1,1,1164,3.4,CRD,15 +CMT,1,1,905,4.4,CRD,15.5 +CMT,1,3,389,1.4,CRD,7 +CMT,1,2,172,0.3,CSH,4 +CMT,1,3,121,0.4,CRD,4 +CMT,1,3,590,1.9,CSH,9 +CMT,1,3,974,3.4,CRD,14 +CMT,1,3,1362,8.7,CSH,27 +CMT,1,3,362,1.8,CSH,7.5 +CMT,1,3,828,2.5,CSH,11.5 +CMT,1,3,369,0.7,CRD,6 +CMT,1,3,198,0.9,CRD,5 +CMT,1,3,275,0.4,CRD,5 +CMT,1,3,1607,13,CSH,38 +CMT,1,3,903,2.1,CRD,11.5 +CMT,1,1,164,0.7,CRD,4.5 +CMT,1,1,1301,3.6,CRD,17 +CMT,1,1,510,1.2,CRD,7.5 +CMT,1,1,666,3.5,CSH,12.5 +CMT,1,2,589,2.5,CRD,10 +CMT,1,3,1170,3.9,CRD,16 +CMT,1,2,1059,3.4,CRD,15 +CMT,1,2,315,0.9,CRD,5.5 +CMT,1,3,271,0.8,CSH,5 +CMT,1,2,397,1.2,CRD,7 +CMT,1,3,876,3.1,CRD,13 +CMT,1,3,185,0.5,CSH,4.5 +CMT,1,2,326,1.8,CSH,7.5 +CMT,1,3,488,0.7,CSH,7 +CMT,1,2,401,1.6,CRD,7 +CMT,1,3,365,1.3,CRD,7 +CMT,1,4,528,1.7,CRD,8 +CMT,1,2,465,1,CRD,7 +CMT,1,3,393,0.9,CSH,6.5 +CMT,1,3,1432,12.4,CRD,34.5 +CMT,1,2,1152,5.3,CRD,19 +CMT,1,2,359,1.7,CRD,7.5 +CMT,1,3,1005,4.7,CSH,18 +CMT,1,2,235,0.9,CSH,5.5 +CMT,1,2,1140,4.6,CRD,17.5 +CMT,1,3,121,0.3,CSH,3.5 +CMT,1,1,439,1.1,CRD,6.5 +CMT,1,1,508,2.2,CRD,9 +CMT,1,1,306,0.8,CSH,5.5 +CMT,1,1,703,2.2,CRD,10.5 +CMT,1,1,665,1.6,CSH,8.5 +CMT,1,1,20,0.3,NOC,2.5 +CMT,1,1,794,2.3,CSH,11 +CMT,1,1,780,0.9,CRD,9 +CMT,1,1,537,1.1,CSH,7.5 +CMT,1,1,344,0.8,CRD,5.5 +CMT,1,1,671,2.1,CRD,9.5 +CMT,1,1,467,0.9,CSH,6.5 +CMT,1,1,1194,6.5,CRD,21 +CMT,1,1,571,1.4,CSH,8 +CMT,1,3,517,3.1,CRD,10.5 +CMT,1,2,1582,17.4,CSH,47.5 +CMT,1,3,479,1.3,CSH,7.5 +CMT,1,3,391,1.1,CRD,6.5 +CMT,1,1,181,1.1,CRD,5.5 +CMT,1,2,523,1.9,CSH,8.5 +CMT,1,4,346,1.5,CSH,7 +CMT,1,1,2081,3.7,CRD,15 +CMT,1,3,157,0.4,CSH,4 +CMT,1,2,1825,4.8,CSH,21.5 +CMT,1,2,834,1.6,CSH,10.5 +CMT,1,3,433,1.5,CSH,7.5 +CMT,1,1,1195,3.5,CRD,15 +CMT,1,3,676,2.5,CRD,10.5 +CMT,1,3,536,2.3,CRD,9.5 +CMT,1,2,766,1.9,CRD,10 +CMT,1,2,336,0.4,CSH,5 +CMT,2,2,15,0,CRD,52 +CMT,1,3,392,1.2,CRD,6.5 +CMT,1,3,504,2.2,CSH,9.5 +CMT,1,3,389,1.5,CRD,7.5 +CMT,1,2,300,1,CSH,5.5 +CMT,1,3,717,3,CRD,11.5 +CMT,1,1,562,1.7,CRD,8.5 +CMT,1,3,577,2.2,CSH,9.5 +CMT,1,3,913,6.2,CRD,20 +CMT,1,3,752,2.8,CRD,11.5 +CMT,1,2,1465,11.3,CRD,34.5 +CMT,1,3,314,1,CRD,6.5 +CMT,1,2,344,1.4,CRD,6.5 +CMT,1,3,909,2.3,CSH,12 +CMT,1,2,333,0.5,CRD,5.5 +CMT,1,3,805,3.9,CRD,14.5 +CMT,1,2,339,0.6,CRD,5.5 +CMT,1,3,316,1.3,CRD,6.5 +CMT,1,2,1195,2.7,CRD,14.5 +CMT,1,2,1076,5.2,CRD,17.5 +CMT,1,3,259,1,CRD,5.5 +CMT,1,3,2252,14.8,CRD,45 +CMT,1,2,384,1.4,CRD,7 +CMT,1,3,519,1.2,CSH,7.5 +CMT,1,3,2710,10.6,CRD,39.5 +CMT,1,3,394,1.3,CRD,7 +CMT,1,1,348,0.5,CRD,5.5 +CMT,1,2,441,1,CSH,7 +CMT,1,3,547,2,CSH,9 +CMT,1,2,534,2.5,CRD,9.5 +CMT,1,3,768,2.8,CRD,11.5 +CMT,1,3,312,0.8,CSH,5.5 +CMT,1,3,332,0.9,CRD,5.5 +CMT,1,3,310,1.1,CSH,6 +CMT,1,3,938,4.9,CRD,17 +CMT,1,3,1677,12.1,CSH,36.5 +CMT,1,3,673,2.9,CSH,11.5 +CMT,1,2,428,1.7,CRD,8 +CMT,1,3,338,0.9,CSH,6 +CMT,1,3,568,1.1,CRD,8 +CMT,1,2,568,1.5,CSH,8 +CMT,1,3,395,1.8,CRD,7.5 +CMT,1,3,1314,7.2,CSH,23.5 +CMT,1,2,1543,4.1,CSH,18.5 +CMT,1,3,566,1.8,CSH,8.5 +CMT,1,2,1004,2.9,CRD,13.5 +CMT,1,3,1011,6.2,CRD,21.5 +CMT,1,1,681,1.7,CRD,9 +CMT,1,1,438,1,CSH,6.5 +CMT,1,1,654,1.7,CRD,9 +CMT,1,1,2069,4.7,CRD,23.5 +CMT,1,1,482,1.6,CSH,8.5 +CMT,1,1,336,1.2,CRD,7 +CMT,1,1,133,0.5,CSH,4 +CMT,1,1,376,1.3,CSH,7 +CMT,1,1,88,0.6,CSH,4 +CMT,1,1,178,0.3,CRD,4 +CMT,5,4,1438,18,CSH,70 +CMT,1,1,1045,9.5,CSH,27.5 +CMT,2,1,1420,16.8,CSH,52 +CMT,1,1,407,1.6,CSH,7.5 +CMT,1,2,262,1.2,CSH,6 +CMT,1,1,320,1,CSH,6 +CMT,1,2,206,0.8,CRD,5 +CMT,1,1,2939,8.9,CSH,34.5 +CMT,1,2,391,1.9,CSH,7.5 +CMT,1,4,611,2.5,CRD,10.5 +CMT,1,1,869,1.9,CRD,10.5 +CMT,1,1,1080,5.1,CRD,18.5 +CMT,1,1,533,1.4,CSH,8 +CMT,1,1,319,1.4,CRD,6.5 +CMT,1,1,465,1.3,CRD,7.5 +CMT,1,1,411,4.3,CRD,13.5 +CMT,1,1,375,1.1,CSH,6.5 +CMT,1,1,1110,2.4,CRD,13 +CMT,4,1,283,0.9,CSH,5.5 +CMT,1,2,1504,6.1,CRD,22 +CMT,1,1,1361,10.3,CRD,30 +CMT,1,1,549,1.7,CRD,8.5 +CMT,1,1,1219,5.6,CRD,20 +CMT,1,1,290,1.2,CRD,6 +CMT,1,2,212,0.9,CSH,5 +CMT,1,1,2930,13.5,CRD,45.5 +CMT,1,1,263,0.6,CSH,5 +CMT,1,1,670,2.4,CRD,10 +CMT,1,1,669,1.9,CSH,9 +CMT,1,1,828,5.3,CRD,16.5 +CMT,1,1,331,1.4,CSH,6.5 +CMT,1,1,989,2.2,CSH,12.5 +CMT,1,1,111,0.9,CSH,4.5 +CMT,1,1,795,2.7,CSH,12 +CMT,1,1,806,1.5,CRD,10.5 +CMT,1,1,969,3.9,CRD,15 +CMT,1,1,221,0.7,CSH,4.5 +CMT,1,1,174,0.7,CRD,4.5 +CMT,1,1,538,1.4,CRD,8 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,3,682,2.1,CRD,9.5 +CMT,1,2,736,1.8,CSH,9.5 +CMT,1,3,475,1,CRD,7 +CMT,1,3,837,1.6,CRD,10.5 +CMT,1,3,1292,5.3,CRD,20 +CMT,1,3,304,1.2,CSH,6 +CMT,1,3,532,3,CSH,11 +CMT,1,3,435,0.8,CSH,6 +CMT,1,4,980,6.7,CSH,21.5 +CMT,1,3,539,1.3,CRD,8 +CMT,1,2,519,4.8,CSH,15 +CMT,1,2,544,0.6,CRD,7 +CMT,1,3,1840,5,CSH,24 +CMT,1,3,280,0.5,CSH,5 +CMT,1,2,173,0.7,CRD,4.5 +CMT,1,2,697,1.8,CRD,10 +CMT,1,2,836,5.3,CSH,16.5 +CMT,1,3,217,0.6,CRD,4.5 +CMT,1,2,1402,5.6,CRD,21.5 +CMT,1,3,766,2.4,CSH,11 +CMT,1,3,1341,15.4,CRD,42 +CMT,1,2,597,5,CSH,15.5 +CMT,1,3,320,0.5,CRD,5.5 +CMT,1,3,190,0.5,CSH,4 +CMT,1,3,1389,5.4,CRD,20 +CMT,1,3,785,1.7,CSH,10 +CMT,1,2,864,1.5,CRD,10 +CMT,1,3,1801,14.9,CRD,42.5 +CMT,1,1,542,3.2,CRD,11 +CMT,1,1,380,1.2,CRD,6.5 +CMT,1,1,227,0.5,CSH,4.5 +CMT,1,2,1046,5.1,CSH,17 +CMT,1,1,1176,3.5,CRD,15.5 +CMT,1,2,762,2.2,CSH,11 +CMT,1,1,384,1.3,CRD,7 +CMT,1,2,405,2.6,CRD,9.5 +CMT,1,3,554,1.9,CRD,9 +CMT,1,2,433,1.5,CRD,7.5 +CMT,1,2,1938,16,CRD,47 +CMT,1,3,1191,6.1,CRD,21 +CMT,1,1,737,2.6,CRD,11.5 +CMT,1,1,327,1.2,CRD,6.5 +CMT,1,1,3892,10,CRD,46.5 +CMT,1,1,198,0.6,CSH,4.5 +CMT,1,1,402,1.9,CRD,8 +CMT,1,1,910,6.5,CRD,20.5 +CMT,1,2,136,0.4,CSH,4 +CMT,1,1,922,2,CSH,11.5 +CMT,1,1,269,0.8,CSH,5 +CMT,1,2,530,1.4,CRD,8 +CMT,1,1,539,2.1,CRD,9 +CMT,1,3,756,2.6,CRD,11.5 +CMT,1,4,224,0.6,CSH,4.5 +CMT,1,1,296,1.2,CSH,6 +CMT,1,1,402,0.7,CSH,6 +CMT,1,1,488,1.9,CRD,8.5 +CMT,5,1,840,4.4,CRD,56 +CMT,1,3,817,3.9,CRD,15 +CMT,5,2,42,0,CRD,57.3 +CMT,1,2,148,0.9,CRD,5 +CMT,1,3,262,0.6,CSH,5 +CMT,1,3,857,1.6,CSH,10.5 +CMT,1,3,577,2.8,CRD,11.5 +CMT,1,3,531,1.7,CSH,8 +CMT,1,3,424,2,CSH,8.5 +CMT,1,3,1000,8.7,CRD,25.5 +CMT,1,3,1065,6.6,CRD,22 +CMT,1,2,284,1,CSH,6 +CMT,1,3,156,0.7,CSH,4.5 +CMT,1,2,1020,4.7,CRD,17 +CMT,1,2,692,1.4,CSH,9 +CMT,1,3,1057,2.5,CRD,13 +CMT,1,3,1670,11.2,CRD,34 +CMT,1,3,653,1.5,CRD,9 +CMT,1,3,1744,4.7,CRD,21 +CMT,1,3,477,1.8,CRD,8.5 +CMT,1,2,1384,11.8,CSH,34 +CMT,1,2,271,0.6,CSH,5 +CMT,1,3,358,0.7,CSH,5.5 +CMT,1,3,1680,14.2,CRD,41 +CMT,1,1,490,1.9,CRD,8.5 +CMT,1,1,439,1.9,CRD,8 +CMT,1,2,168,0.7,CSH,4.5 +CMT,1,1,195,0.8,CRD,4.5 +CMT,1,1,1929,7.7,CRD,28 +CMT,1,2,565,1.7,CRD,8.5 +CMT,1,2,253,0.6,CSH,4.5 +CMT,1,3,1519,16.5,CSH,45 +CMT,1,2,1912,5.2,CSH,23 +CMT,1,2,48,0.3,CSH,3 +CMT,1,4,826,3.9,CSH,13.5 +CMT,1,2,261,0.6,CRD,5 +CMT,1,3,1011,3.5,CRD,15 +CMT,1,2,986,4.4,CRD,17 +CMT,1,3,218,1.1,CRD,5.5 +CMT,1,2,296,0.7,CSH,5.5 +CMT,1,3,726,1.5,CRD,9.5 +CMT,1,3,275,0.4,CRD,5 +CMT,1,3,542,2,CRD,9 +CMT,1,3,1175,5.2,CSH,19.5 +CMT,1,3,1012,2.1,CSH,12 +CMT,1,3,113,0.4,CSH,3.5 +CMT,1,2,390,1.7,CRD,7.5 +CMT,1,2,573,2.6,CRD,10 +CMT,1,3,265,0.5,CSH,4.5 +CMT,1,3,1478,3.1,CRD,16.5 +CMT,1,3,226,0.7,CSH,5 +CMT,1,2,785,5.9,CRD,18.5 +CMT,1,2,1537,6.3,CRD,24 +CMT,1,3,622,1.7,CRD,9 +CMT,1,3,1058,6.2,CRD,21 +CMT,1,3,808,8.8,CRD,25 +CMT,1,2,320,1.1,CRD,6 +CMT,1,2,220,0.5,CRD,4.5 +CMT,1,3,2284,19.8,CSH,53 +CMT,1,3,828,3.7,CSH,14 +CMT,1,3,524,2.7,CRD,10 +CMT,1,3,423,1.7,CSH,7.5 +CMT,1,2,1295,4.8,CRD,18 +CMT,1,2,218,0.8,CRD,5 +CMT,1,1,680,1.4,CRD,9 +CMT,1,2,1052,3.1,CRD,14.5 +CMT,1,3,1086,4.2,CRD,17 +CMT,1,2,878,2.2,CRD,11.5 +CMT,1,3,801,4.5,CRD,16 +CMT,1,2,237,0.4,CRD,4.5 +CMT,1,3,1013,2.1,CSH,12.5 +CMT,1,3,1880,13.9,CRD,40 +CMT,1,1,643,0.9,CSH,8 +CMT,1,2,271,1.1,CSH,6 +CMT,1,3,545,0.7,CSH,7 +CMT,1,1,723,1.5,CSH,9 +CMT,1,3,1260,5.4,CSH,19.5 +CMT,1,3,1332,6.6,CRD,23 +CMT,1,3,749,3.7,CSH,13 +CMT,1,3,390,1,CSH,6.5 +CMT,1,3,787,2.5,CSH,11 +CMT,1,3,832,2.1,CRD,10.5 +CMT,1,3,328,1.1,CSH,6 +CMT,1,3,688,1.1,CRD,9 +CMT,1,2,347,0.7,CSH,6 +CMT,1,3,1046,1.3,CRD,11.5 +CMT,1,3,878,1.4,CRD,10.5 +CMT,1,2,875,3.4,CRD,13 +CMT,1,3,144,0.5,CSH,4 +CMT,1,3,983,10.1,CSH,29 +CMT,1,2,855,2.9,CSH,13 +CMT,1,3,791,8.8,CRD,24.5 +CMT,2,2,15,0,CRD,52 +CMT,1,3,413,0.8,CRD,6.5 +CMT,1,2,487,1.9,CRD,8.5 +CMT,1,2,820,1.9,CRD,10.5 +CMT,1,3,622,1.4,CRD,8.5 +CMT,1,3,895,2.8,CRD,12 +CMT,1,2,392,0.9,CSH,6 +CMT,1,3,805,3,CSH,12.5 +CMT,5,2,72,0,CSH,13.5 +CMT,1,3,485,1.9,CRD,8.5 +CMT,1,3,219,0.4,CSH,4.5 +CMT,1,3,310,0.6,CSH,5.5 +CMT,1,3,511,1.3,CRD,7.5 +CMT,1,3,1007,4,CRD,15 +CMT,1,3,709,2.3,CRD,10.5 +CMT,1,3,505,4.5,CRD,14.5 +CMT,1,4,814,4.6,CSH,16 +CMT,2,3,1316,14.3,CRD,52 +CMT,1,3,193,0.5,CSH,4 +CMT,1,3,51,0.3,CSH,3 +CMT,1,3,1400,14.2,CRD,40 +CMT,1,2,946,3.1,CSH,13 +CMT,1,2,965,3.6,CSH,14 +CMT,1,2,691,1.6,CRD,9 +CMT,1,2,3871,20.8,CSH,66 +CMT,1,3,207,0.9,CRD,5 +CMT,1,2,710,1.7,CSH,10 +CMT,1,2,602,1.6,CSH,9 +CMT,1,2,424,0.9,CSH,6.5 +CMT,1,3,376,0.7,CRD,6 +CMT,1,2,883,3.8,CRD,14.5 +CMT,1,3,830,1.5,CSH,10 +CMT,1,3,433,1.7,CSH,8 +CMT,5,2,73,0,CRD,78 +CMT,1,3,395,1.1,CRD,6.5 +CMT,1,3,933,1.7,CRD,11.5 +CMT,1,3,529,1.5,CRD,8.5 +CMT,1,2,284,0.5,CRD,5 +CMT,1,2,249,1.7,CSH,7 +CMT,1,3,355,1.1,CRD,6.5 +CMT,1,3,894,3.3,CSH,14 +CMT,1,3,597,2.8,CRD,11 +CMT,1,2,348,1.1,CRD,6 +CMT,1,3,1661,15.1,CSH,42.5 +CMT,1,2,455,1.3,CSH,7.5 +CMT,1,2,249,0.7,CSH,5 +CMT,1,2,837,2.3,CRD,11.5 +CMT,1,3,1157,4.4,CRD,17.5 +CMT,1,2,516,2.5,CRD,9.5 +CMT,1,2,478,1.1,CSH,7 +CMT,1,3,480,1,CSH,7 +CMT,1,2,1260,2.8,CRD,15 +CMT,1,2,318,0.9,CRD,5.5 +CMT,1,1,422,1,CSH,7 +CMT,1,1,542,0.8,CSH,7 +CMT,1,1,375,0.6,CRD,5.5 +CMT,1,2,537,1,CRD,7.5 +CMT,1,1,1037,3.2,CSH,14.5 +CMT,1,1,427,1.8,CSH,7.5 +CMT,1,1,530,0.4,CSH,6.5 +CMT,1,1,1342,3.1,CRD,15.5 +CMT,1,1,394,1.5,CRD,7 +CMT,1,2,1334,2.9,CRD,15.5 +CMT,1,1,375,0.6,CSH,5.5 +CMT,1,2,198,0.6,CSH,4.5 +CMT,1,1,458,0.5,CSH,6.5 +CMT,1,1,864,1.6,CSH,11 +CMT,1,1,324,1.1,CRD,6 +CMT,1,1,246,0.6,CSH,4.5 +CMT,1,1,746,1.5,CSH,9.5 +CMT,1,1,250,0.7,CSH,5 +CMT,1,1,682,1.1,CRD,8.5 +CMT,1,1,164,0.5,CSH,4 +CMT,1,1,598,3.2,CRD,11.5 +CMT,1,1,316,1.1,CSH,6.5 +CMT,1,1,387,1.1,CSH,6.5 +CMT,1,1,342,1.1,CRD,6.5 +CMT,1,1,440,0.7,CSH,6.5 +CMT,1,1,215,0.5,CSH,4.5 +CMT,1,1,259,0.7,CRD,5 +CMT,1,3,599,2.2,CRD,10 +CMT,1,3,548,1.9,CRD,9 +CMT,1,2,1590,11.4,CSH,34.5 +CMT,1,1,919,3,CSH,13 +CMT,1,2,432,1,CSH,7 +CMT,1,1,482,0.9,CSH,7 +CMT,1,1,322,0.6,CSH,5.5 +CMT,1,1,531,1.8,CSH,8.5 +CMT,1,3,729,2,CRD,10 +CMT,2,2,2822,17,CSH,52 +CMT,1,2,615,2.4,CSH,10 +CMT,1,1,2145,14.9,CSH,42 +CMT,1,1,1564,4.2,CSH,19 +CMT,1,1,165,0.7,CSH,4.5 +CMT,1,2,849,1.6,CSH,10 +CMT,1,3,395,1,CSH,6 +CMT,1,1,234,0.5,CSH,4.5 +CMT,1,1,870,1,CSH,9.5 +CMT,1,1,413,0.8,CRD,6 +CMT,1,1,412,0.9,CRD,6.5 +CMT,1,1,232,0.7,CRD,5 +CMT,1,1,455,1.4,CSH,7 +CMT,1,1,583,1.3,CRD,8 +CMT,1,1,753,1.6,CSH,10 +CMT,1,1,1087,4.4,CRD,17.5 +CMT,1,1,895,2.1,CSH,11.5 +CMT,1,1,393,0.7,CSH,6 +CMT,1,3,1145,7.4,CSH,23.5 +CMT,1,1,643,2.8,CRD,10.5 +CMT,1,1,585,1.7,CRD,9 +CMT,1,2,1116,4.2,CRD,16 +CMT,1,1,493,1.6,CRD,8 +CMT,1,1,140,0.6,CSH,4 +CMT,1,1,903,2.7,CSH,12.5 +CMT,1,3,968,2.4,CRD,12.5 +CMT,1,3,305,0.9,CSH,5.5 +CMT,1,3,184,0.7,CRD,5 +CMT,1,3,101,0.3,CSH,3.5 +CMT,1,2,603,3.5,CSH,12 +CMT,1,1,990,3.2,CSH,13.5 +CMT,1,1,597,1,CRD,7.5 +CMT,1,1,97,0.1,CSH,3 +CMT,1,2,2789,14.9,CRD,46 +CMT,1,1,152,0.4,CSH,4 +CMT,1,1,178,0.7,CSH,4.5 +CMT,1,1,325,1,CSH,6 +CMT,1,1,185,0.4,CSH,4.5 +CMT,1,1,858,1,CRD,9.5 +CMT,1,1,340,1.2,CSH,6.5 +CMT,2,2,1907,17.1,CSH,52 +CMT,1,1,430,1.8,CRD,8 +CMT,1,1,19,0,DIS,2.5 +CMT,5,1,39,0,CSH,17 +CMT,1,1,1135,8.6,CRD,26.5 +CMT,1,1,538,3.3,CRD,11.5 +CMT,1,1,1355,12.5,CRD,35.5 +CMT,1,1,441,0.7,CRD,6.5 +CMT,1,1,311,1.3,CRD,6.5 +CMT,1,1,963,1.9,CRD,12 +CMT,1,2,431,1,CSH,6.5 +CMT,1,1,1065,4.2,CSH,17 +CMT,1,1,1441,10.3,CRD,30 +CMT,1,2,734,3.4,CRD,13 +CMT,1,1,703,1.8,CRD,10 +CMT,1,1,731,1.8,CSH,10 +CMT,1,1,234,0.5,CSH,4.5 +CMT,1,1,793,5.2,CRD,16.5 +CMT,1,1,472,0.7,CRD,6.5 +CMT,1,1,701,1.2,CRD,9 +CMT,1,1,754,2.1,CRD,10.5 +CMT,1,1,868,3.7,CRD,14.5 +CMT,1,2,567,1.9,CSH,9 +CMT,1,3,361,0.8,CSH,6 +CMT,1,3,1460,13.4,CSH,38 +CMT,1,3,327,1,CSH,6 +CMT,1,3,500,3,CRD,11.5 +CMT,1,3,359,1.2,CRD,6.5 +CMT,1,3,384,1.3,CSH,7 +CMT,1,3,1065,8.9,CRD,26 +CMT,1,2,463,1.1,CRD,7 +CMT,1,2,819,1.7,CRD,10.5 +CMT,1,2,272,0.5,CRD,5 +CMT,1,2,916,5,CSH,17.5 +CMT,1,2,1090,4.4,CRD,16 +CMT,1,2,175,0.6,CRD,4.5 +CMT,1,3,750,2.4,CRD,11 +CMT,1,3,265,0.7,CRD,5 +CMT,1,3,431,1.5,CRD,7.5 +CMT,1,3,468,1,CRD,7 +CMT,1,3,337,1.3,CSH,6.5 +CMT,1,3,591,1.2,CSH,8 +CMT,1,3,1212,1.4,CRD,13 +CMT,1,2,1072,3.7,CRD,15 +CMT,1,3,548,2.7,CRD,10.5 +CMT,1,3,573,2.1,CRD,9.5 +CMT,1,3,250,0.6,CSH,5 +CMT,2,2,1315,8.4,CSH,52 +CMT,1,2,478,1.3,CRD,7.5 +CMT,1,3,709,1.8,CRD,9.5 +CMT,1,3,729,2.3,CRD,10.5 +CMT,1,2,358,1,CSH,6 +CMT,1,3,357,1.2,CRD,6.5 +CMT,1,3,289,0.8,CSH,5.5 +CMT,1,3,677,1.9,CRD,9.5 +CMT,4,2,14,0,CSH,2.5 +CMT,1,3,860,2.5,CRD,11.5 +CMT,1,2,1012,2.9,CRD,13.5 +CMT,1,3,850,1.7,CRD,11 +CMT,2,2,7,0,CRD,52 +CMT,1,3,271,1.1,CRD,5.5 +CMT,5,2,40,0,CRD,57 +CMT,1,3,533,1.5,CRD,8 +CMT,1,2,1263,9.2,CRD,28 +CMT,1,3,1081,5.1,CRD,19 +CMT,1,3,535,1,CSH,7.5 +CMT,1,3,56,0.2,CSH,3 +CMT,1,3,1871,15.1,CRD,44 +CMT,1,2,226,0.4,CSH,4.5 +CMT,1,2,488,1.4,CRD,7.5 +CMT,1,2,445,1.4,CSH,7.5 +CMT,1,3,1644,4.1,CRD,19.5 +CMT,1,2,1401,1.8,CRD,15 +CMT,1,2,1303,4.7,CRD,19 +CMT,1,3,1342,3,CSH,15.5 +CMT,2,1,1693,17.6,CSH,52 +CMT,1,2,814,1.3,CSH,10 +CMT,1,1,210,0.6,CSH,4.5 +CMT,1,3,1366,4.2,CRD,18 +CMT,1,1,734,5.5,CRD,17.5 +CMT,1,1,388,0.9,CSH,6.5 +CMT,1,1,1129,2.2,CRD,13 +CMT,1,1,327,0.6,CRD,5.5 +CMT,1,1,222,0.5,NOC,4.5 +CMT,1,1,871,1.3,CSH,10.5 +CMT,1,1,552,2.6,CSH,10 +CMT,1,1,344,0.7,CSH,5.5 +CMT,1,2,285,0.4,CRD,5 +CMT,1,1,849,1.8,CRD,10.5 +CMT,1,2,198,0.4,CRD,4 +CMT,1,1,1944,8.6,CRD,30 +CMT,1,1,884,4.4,CSH,15 +CMT,1,1,208,0.6,CSH,4.5 +CMT,1,1,751,4,CRD,14 +CMT,1,1,551,0.9,CRD,7.5 +CMT,1,3,164,0.7,CSH,4.5 +CMT,1,2,1785,7.5,CRD,27 +CMT,1,1,18,0,CSH,2.5 +CMT,1,1,233,0.6,CRD,5 +CMT,1,1,707,4,CRD,14.5 +CMT,1,1,869,1.9,NOC,11.5 +CMT,1,1,482,1.6,DIS,8.5 +CMT,1,3,539,1.6,CSH,8.5 +CMT,1,1,406,1.7,CSH,7.5 +CMT,1,1,2336,12.2,CSH,38.5 +CMT,1,1,325,1.1,CRD,6 +CMT,1,2,802,3.3,CSH,13 +CMT,1,1,405,1.1,CRD,6.5 +CMT,1,2,522,1.5,CSH,8 +CMT,1,1,1366,5.4,CSH,20 +CMT,1,2,1274,5.4,CSH,20.5 +CMT,1,1,972,3.4,CSH,13.5 +CMT,1,1,497,2.1,CSH,9 +CMT,1,1,979,3.5,CRD,14.5 +CMT,1,2,367,0.5,CSH,5.5 +CMT,1,1,481,1.6,CSH,8 +CMT,1,1,503,2.1,CRD,9 +CMT,2,1,716,5.2,CSH,52 +CMT,1,1,647,1,CSH,8.5 +CMT,1,1,1311,2.1,CSH,11.5 +CMT,1,1,399,0.6,CSH,6 +CMT,1,2,446,1.2,CSH,7 +CMT,1,2,1857,10.7,CSH,34.5 +CMT,1,1,1366,8.1,CRD,26 +CMT,1,4,1542,6,CRD,23.5 +CMT,1,1,511,2.5,CRD,9.5 +CMT,1,1,787,4.5,CSH,15 +CMT,1,2,480,1.4,CRD,7.5 +CMT,1,1,956,8.3,CSH,24 +CMT,1,1,1077,4.3,CRD,16 +CMT,1,4,166,0.7,CSH,4.5 +CMT,1,2,513,2.1,CRD,9 +CMT,1,2,2197,7.1,CRD,27.5 +CMT,1,2,1211,3.4,CRD,15.5 +CMT,1,2,755,2.8,CRD,12 +CMT,1,1,520,2.4,CRD,10 +CMT,1,1,1222,9.1,CRD,27 +CMT,1,2,1449,6.9,CSH,24 +CMT,1,1,474,1.2,CRD,7.5 +CMT,1,2,1068,5.3,CSH,18.5 +CMT,1,1,398,0.7,CRD,6 +CMT,1,1,644,1.7,CSH,9 +CMT,1,1,1138,5.7,CRD,19.5 +CMT,1,1,738,2.1,CRD,10.5 +CMT,1,2,374,0.9,CRD,6 +CMT,1,3,482,1.2,CSH,7.5 +CMT,1,1,1477,10,CSH,31 +CMT,5,2,273,1,DIS,55 +CMT,1,1,568,2.1,CRD,9.5 +CMT,1,3,1062,3.1,CSH,14 +CMT,1,1,1717,9.6,CRD,29.5 +CMT,1,1,799,3.2,CSH,12.5 +CMT,1,3,683,3.7,CRD,13 +CMT,1,2,410,1.3,CSH,7 +CMT,1,2,658,3.1,CRD,11.5 +CMT,1,1,822,4.4,CSH,16 +CMT,1,2,805,2.9,CSH,12 +CMT,1,1,521,1.1,CRD,7.5 +CMT,1,1,83,0.5,CSH,3.5 +CMT,1,1,850,3.1,CSH,12.5 +CMT,1,2,1082,7.1,CSH,22.5 +CMT,1,4,1353,13.5,CRD,37.5 +CMT,1,1,887,2.7,CRD,12 +CMT,1,1,232,0.7,CRD,5 +CMT,1,1,425,1.5,CSH,7.5 +CMT,1,1,851,5.4,CRD,17 +CMT,1,1,844,3.1,CSH,13.5 +CMT,1,1,389,1.6,CSH,7.5 +CMT,1,2,1523,6.6,CSH,23.5 +CMT,1,2,427,1.6,CRD,7.5 +CMT,1,2,1150,5.2,CSH,18.5 +CMT,1,1,493,1.1,CSH,7 +CMT,1,1,711,1.7,CRD,9.5 +CMT,1,1,271,0.5,CSH,5 +CMT,1,1,1799,8.8,CSH,29 +CMT,1,1,199,1.2,CRD,5.5 +CMT,1,1,437,2.2,CSH,8.5 +CMT,5,2,1598,3.1,CRD,55 +CMT,1,1,255,0.8,CRD,5 +CMT,1,1,467,0.8,CRD,6.5 +CMT,1,1,740,1.4,CRD,9.5 +CMT,1,3,1727,6.3,CRD,23.5 +CMT,1,1,738,3.1,CRD,11.5 +CMT,1,1,622,1.7,CRD,9 +CMT,1,2,741,1.7,CRD,10 +CMT,1,1,247,0.7,CSH,5 +CMT,1,4,397,1.2,CRD,7 +CMT,1,2,451,1.6,CRD,8 +CMT,1,1,312,1.5,CSH,7 +CMT,1,1,264,2.8,CSH,9.5 +CMT,1,1,252,1.1,CRD,6 +CMT,1,3,1388,7.6,CRD,26 +CMT,1,3,859,2.5,CRD,11.5 +CMT,1,1,185,0.5,CSH,4.5 +CMT,1,1,1049,3.1,CSH,14 +CMT,1,4,450,0.7,CSH,6.5 +CMT,1,4,376,0.8,CRD,6 +CMT,1,1,803,2.2,CRD,10.5 +CMT,1,2,156,0.6,CSH,4 +CMT,1,1,372,1,CSH,6 +CMT,1,1,706,3.9,CSH,14 +CMT,1,1,578,3.4,CRD,12.5 +CMT,1,1,181,0.3,CSH,4 +CMT,1,1,425,0.5,CSH,6 +CMT,1,1,841,2.2,CSH,11 +CMT,1,1,737,2.2,CSH,11 +CMT,1,1,692,1,CRD,9 +CMT,1,1,1436,14.2,CRD,39.5 +CMT,1,1,2769,1.3,NOC,2.5 +CMT,2,1,2180,54.7,NOC,52 +CMT,1,2,629,2,CSH,10 +CMT,1,1,708,2.8,CSH,11.5 +CMT,1,2,494,2.2,CSH,9 +CMT,1,1,796,6.3,CSH,19.5 +CMT,1,1,576,2.8,CSH,11 +CMT,1,1,313,1.1,CRD,6 +CMT,1,1,424,1.3,CRD,7 +CMT,1,2,1056,4.6,CRD,17 +CMT,1,2,349,1.1,CSH,6.5 +CMT,1,1,795,7.9,CSH,23 +CMT,1,1,289,0.8,CRD,5.5 +CMT,1,1,861,2.7,CSH,12.5 +CMT,1,1,311,1.6,CRD,6.5 +CMT,1,1,532,1.4,CRD,8 +CMT,1,1,159,0.8,CRD,4.5 +CMT,1,1,567,2.1,CRD,9 +CMT,1,1,514,2.2,CSH,9 +CMT,1,1,135,0.3,CSH,3.5 +CMT,1,1,1245,2.8,CSH,14.5 +CMT,1,1,217,0.9,CSH,5 +CMT,1,3,516,2,CSH,9 +CMT,1,4,513,2.4,CRD,10 +CMT,1,1,1696,9,CRD,29.5 +CMT,1,2,348,0.9,CRD,6 +CMT,1,1,309,1.5,CRD,7 +CMT,1,1,442,1.2,CRD,7 +CMT,1,1,699,2.8,CRD,11.5 +CMT,1,1,1571,9.1,CSH,29 +CMT,1,3,704,1.8,CSH,9.5 +CMT,1,1,665,2.8,CRD,11 +CMT,1,2,744,3.5,CRD,13 +CMT,2,1,1619,17.2,CRD,52 +CMT,1,1,452,3,CSH,10.5 +CMT,5,1,1221,5.1,CRD,55 +CMT,1,1,1613,4.5,CRD,21.5 +CMT,1,3,508,1.7,CSH,8.5 +CMT,1,1,360,1.2,CRD,6.5 +CMT,1,1,597,4.2,CRD,14 +CMT,1,1,698,2.1,CSH,10.5 +CMT,1,1,1491,9.9,CRD,29.5 +CMT,1,1,1382,11.1,CSH,32.5 +CMT,1,1,904,5.3,CSH,17.5 +CMT,1,1,301,1.9,CSH,7.5 +CMT,1,2,584,2.5,CSH,10.5 +CMT,1,1,1580,19.6,CSH,51.5 +CMT,1,2,1410,9.1,CRD,29.5 +CMT,1,1,1092,3.6,CRD,15.5 +CMT,1,1,425,1.5,CRD,7.5 +CMT,1,2,324,1.8,CRD,7.5 +CMT,1,1,216,0.5,CRD,4.5 +CMT,1,1,1257,5.7,CRD,21 +CMT,1,3,285,0.5,CRD,5 +CMT,1,1,251,0.9,CRD,5.5 +CMT,1,1,1253,11.9,CSH,33.5 +CMT,1,1,652,5.3,CRD,16.5 +CMT,1,1,2196,9.5,CRD,33.5 +CMT,1,4,1733,10.5,CSH,32 +CMT,1,1,924,5.2,CSH,17.5 +CMT,1,2,410,1.2,CSH,6.5 +CMT,1,1,1515,12.2,CRD,35.5 +CMT,1,3,305,0.8,CSH,5.5 +CMT,1,1,846,2.9,CRD,12.5 +CMT,1,1,1165,1,CRD,12.5 +CMT,1,3,713,1.9,CRD,9 +CMT,1,2,806,2.3,CRD,10.5 +CMT,1,1,567,3.7,CRD,12.5 +CMT,1,2,1007,4.4,CRD,15.5 +CMT,1,1,381,1.7,CSH,7 +CMT,1,3,358,1.3,CSH,6.5 +CMT,1,2,13,0.5,CSH,2.5 +CMT,1,1,731,2.7,CRD,11 +CMT,1,1,145,0.6,CSH,4.5 +CMT,1,1,393,1.5,CRD,7 +CMT,1,1,259,0.8,CSH,5 +CMT,1,2,651,2.6,CRD,11.5 +CMT,1,1,181,0.6,CSH,4.5 +CMT,1,1,1061,3.7,CRD,15 +CMT,1,1,337,1.1,CSH,6 +CMT,1,1,501,1.4,CSH,8 +CMT,1,1,797,6.4,CRD,19.5 +CMT,1,1,278,0.6,CRD,5 +CMT,1,1,820,1.8,CSH,10.5 +CMT,1,1,1145,3.9,CSH,15.5 +CMT,1,1,721,3.5,CRD,13.5 +CMT,1,1,489,2.6,CRD,9.5 +CMT,1,1,573,1.2,CSH,8 +CMT,1,3,318,0.5,CSH,5 +CMT,1,2,1283,4.6,CSH,19 +CMT,1,3,707,3.7,CSH,13 +CMT,1,1,941,4.1,CRD,14.5 +CMT,1,1,561,2.3,CRD,10 +CMT,1,1,868,5.2,CRD,17 +CMT,1,4,596,1.3,CSH,8.5 +CMT,1,1,165,0.7,CSH,4.5 +CMT,1,1,654,2.9,CRD,11.5 +CMT,1,1,480,2.8,CRD,10.5 +CMT,1,1,489,1.6,CSH,8 +CMT,1,1,828,3.4,CRD,13.5 +CMT,1,1,314,1.5,CSH,6.5 +CMT,1,2,1418,7.6,CRD,25.5 +CMT,1,1,811,3.8,CSH,14 +CMT,1,2,598,3.3,CRD,12 +CMT,1,1,95,0.4,CRD,3.5 +CMT,1,4,456,1.2,CRD,7 +CMT,1,2,703,3,CRD,12 +CMT,1,1,1041,9.3,CRD,27 +CMT,1,1,743,2.2,CRD,10.5 +CMT,1,1,258,0.9,CSH,5.5 +CMT,1,1,669,3.5,CRD,13.5 +CMT,1,1,896,1.4,CRD,10.5 +CMT,1,2,315,0.9,CSH,6 +CMT,1,1,568,3.2,CRD,11.5 +CMT,1,1,871,3.5,CRD,14.5 +CMT,1,1,544,0.9,CSH,7 +CMT,1,1,506,1.2,CRD,7.5 +CMT,1,1,204,1.2,CSH,5.5 +CMT,1,2,496,1.3,CSH,7 +CMT,1,1,606,1.9,CSH,9.5 +CMT,1,1,328,0.8,CRD,5.5 +CMT,1,1,913,2.9,CSH,12.5 +CMT,2,1,2674,17.8,CRD,52 +CMT,1,1,642,1.4,CRD,8.5 +CMT,1,1,303,1.2,CRD,6 +CMT,1,1,292,1.2,CRD,6 +CMT,1,1,807,0,CSH,2.5 +CMT,1,1,614,0.4,CRD,7.5 +CMT,1,1,938,4.3,CRD,15.5 +CMT,1,1,1139,2.5,CRD,13.5 +CMT,1,1,376,1.2,CSH,6.5 +CMT,1,1,420,0.9,CRD,6.5 +CMT,1,1,702,1.9,CRD,10 +CMT,1,1,257,0.6,CSH,5 +CMT,1,1,210,1.1,CSH,5.5 +CMT,1,1,257,1,CSH,5.5 +CMT,1,1,660,1.4,CSH,9 +CMT,1,1,402,1,CRD,6.5 +CMT,1,1,314,1.8,CRD,7 +CMT,1,1,919,6.4,CSH,20.5 +CMT,1,1,612,2.1,CRD,9.5 +CMT,1,3,163,0.5,CSH,4 +CMT,1,2,564,1.7,CSH,8.5 +CMT,1,3,710,1.2,CRD,9 +CMT,1,3,855,1.1,CSH,10 +CMT,1,3,333,1.3,CSH,6 +CMT,1,2,1977,5.1,CSH,24.5 +CMT,1,3,1487,4.6,CRD,20 +CMT,1,3,1484,4.1,CSH,19 +CMT,1,3,744,3,CRD,12 +CMT,1,3,810,3.1,CRD,12.5 +CMT,1,3,182,0.6,CRD,4.5 +CMT,1,3,1287,7.6,CSH,25 +CMT,1,3,585,2.4,CRD,10 +CMT,1,3,158,0.9,CRD,4.5 +CMT,1,2,755,3.1,CRD,12.5 +CMT,1,2,343,1.9,CSH,7.5 +CMT,2,3,2190,20.7,CRD,52 +CMT,1,2,557,1.6,CSH,8 +CMT,1,3,277,1.4,CRD,6 +CMT,1,3,436,0.8,CRD,6.5 +CMT,1,3,701,2.2,CRD,11 +CMT,1,2,282,0.3,CSH,4.5 +CMT,1,3,571,2.5,CSH,9.5 +CMT,1,3,668,2.1,CSH,10 +CMT,1,1,676,0.6,CSH,8 +CMT,1,1,819,1.1,CSH,9.5 +CMT,1,1,843,3.7,CRD,14.5 +CMT,1,1,1556,9.9,CSH,30.5 +CMT,1,1,947,1.6,CRD,11.5 +CMT,1,1,875,4.1,CRD,16 +CMT,1,3,2224,12.2,CSH,38.5 +CMT,1,2,343,0.7,CSH,5.5 +CMT,1,1,714,3.4,CSH,13 +CMT,1,1,665,3,CSH,12 +CMT,1,1,512,1.7,CRD,8.5 +CMT,1,1,474,1.3,CRD,7 +CMT,1,1,846,7,CSH,21 +CMT,1,1,1096,4.3,CRD,16.5 +CMT,1,1,730,1.2,CSH,9 +CMT,1,2,1808,6.6,CSH,24 +CMT,1,1,843,1.2,CSH,10 +CMT,1,1,304,2.1,CRD,7.5 +CMT,1,1,1573,5.6,CSH,22.5 +CMT,1,2,711,2.4,CSH,10.5 +CMT,1,2,417,1.8,CRD,8 +CMT,1,2,352,1.3,CRD,6.5 +CMT,1,1,222,1.5,CRD,6 +CMT,1,1,593,2.3,CSH,9.5 +CMT,1,1,904,2.2,CSH,11.5 +CMT,1,1,367,1.7,CRD,7.5 +CMT,1,1,197,0.8,CSH,5 +CMT,1,1,458,1.9,CSH,8 +CMT,1,1,747,3.9,CRD,14.5 +CMT,1,1,1441,10.2,CSH,31 +CMT,1,1,947,8.6,CRD,25 +CMT,1,1,183,0.7,CRD,4.5 +CMT,1,2,718,3.7,CRD,13 +CMT,1,1,1240,10.3,CRD,30 +CMT,1,1,95,0.1,CSH,3 +CMT,1,2,286,1.2,CSH,6 +CMT,1,1,665,2.6,CRD,11 +CMT,1,1,401,1.5,CSH,7 +CMT,1,1,1580,8.1,CRD,27.5 +CMT,1,1,1718,11.1,CRD,33 +CMT,1,1,797,1.8,CRD,10 +CMT,1,3,190,0.5,CSH,4 +CMT,1,2,836,2.9,CRD,12.5 +CMT,1,1,480,1,CRD,7 +CMT,1,1,799,1.3,CRD,10 +CMT,1,1,830,2.7,CSH,12.5 +CMT,1,1,301,0.8,CRD,5.5 +CMT,1,1,255,0.8,CSH,5 +CMT,1,1,586,1.6,CRD,9 +CMT,1,2,1166,3.3,CRD,15.5 +CMT,1,1,707,2.7,CRD,11.5 +CMT,1,1,420,2,CRD,8 +CMT,1,1,171,0.6,CRD,4.5 +CMT,1,2,929,4.8,CRD,16.5 +CMT,1,1,552,1.7,CRD,8 +CMT,1,1,509,1.5,CRD,7.5 +CMT,1,2,1094,9.9,CSH,29 +CMT,1,2,521,1.4,CRD,8 +CMT,1,1,574,2.4,CSH,10 +CMT,1,1,695,2.2,CSH,10.5 +CMT,1,4,316,1.4,CRD,7 +CMT,1,2,764,6.7,CSH,20.5 +CMT,1,2,885,3.5,CRD,13.5 +CMT,1,1,715,6.8,CRD,20 +CMT,1,1,1350,9.9,CRD,30 +CMT,1,1,873,8,CRD,23.5 +CMT,1,1,1276,6.7,CSH,22.5 +CMT,1,1,405,1.7,CSH,7.5 +CMT,1,1,809,3.3,CRD,12.5 +CMT,1,1,328,1.6,CSH,7.5 +CMT,1,2,564,2.1,CRD,9.5 +CMT,1,1,438,1.5,CSH,7.5 +CMT,1,2,335,1.4,CRD,7 +CMT,1,1,129,0.5,CSH,3.5 +CMT,1,1,1274,9.3,CRD,28 +CMT,1,1,1226,10.3,CRD,29.5 +CMT,1,1,899,4.3,CRD,14.5 +CMT,1,1,448,1.1,CRD,7 +CMT,1,1,646,2.5,CSH,11 +CMT,1,1,417,2.3,CRD,8.5 +CMT,1,3,416,1.2,CSH,7 +CMT,1,1,940,6.3,CRD,20 +CMT,1,1,697,2.1,CRD,10.5 +CMT,1,1,257,1.4,CRD,6.5 +CMT,1,1,676,5.1,CSH,15.5 +CMT,1,1,305,1,CRD,6 +CMT,1,2,899,5.1,CRD,17.5 +CMT,1,1,261,1.5,CRD,6.5 +CMT,1,2,1629,11.1,CSH,34 +CMT,1,2,2272,15.5,CRD,48 +CMT,1,1,607,3.5,CRD,12 +CMT,1,1,876,3.3,CSH,14 +CMT,1,4,361,1.9,CSH,7.5 +CMT,1,2,348,1.3,CRD,7 +CMT,1,1,353,0.8,CRD,6 +CMT,1,1,102,0.4,CRD,3.5 +CMT,1,2,478,1.4,CSH,7.5 +CMT,1,1,573,2.6,CRD,10.5 +CMT,1,1,256,0.9,CRD,5.5 +CMT,1,4,285,0.7,CSH,5.5 +CMT,1,1,1679,9.2,CRD,30 +CMT,1,1,377,0.6,CSH,5.5 +CMT,1,1,228,1,CSH,5 +CMT,1,3,696,2.8,CSH,11 +CMT,1,1,1625,7.8,CSH,26 +CMT,5,1,43,0,CRD,73 +CMT,1,2,684,2.7,CRD,10.5 +CMT,1,3,1416,5.4,CSH,20 +CMT,1,2,442,3.3,CRD,11.5 +CMT,1,1,799,2,CRD,10.5 +CMT,1,1,188,0.7,CSH,4.5 +CMT,1,1,2047,10.4,CRD,35.5 +CMT,1,1,1072,2.2,CRD,12.5 +CMT,1,1,705,1.4,CSH,9.5 +CMT,1,2,1318,2.9,CSH,15.5 +CMT,1,1,1372,8.4,CSH,27 +CMT,5,1,2782,18.3,CRD,69 +CMT,1,1,641,2.9,CRD,11 +CMT,1,1,1236,4.1,CRD,17 +CMT,1,1,844,2.2,CRD,11 +CMT,1,1,266,1,CSH,5.5 +CMT,1,1,752,1.4,CSH,9.5 +CMT,1,1,369,1.2,CSH,6.5 +CMT,1,1,889,3.2,CRD,13.5 +CMT,1,1,965,4.4,CSH,16 +CMT,1,1,582,2.2,CRD,9.5 +CMT,1,1,345,0.9,CSH,6 +CMT,1,1,226,0.7,CSH,4.5 +CMT,1,1,427,1.4,CSH,7.5 +CMT,1,1,404,1.1,CRD,6.5 +CMT,1,1,895,2.2,CSH,11.5 +CMT,1,1,734,2.6,CSH,11 +CMT,1,2,1635,6.9,CSH,25 +CMT,1,1,373,0.5,CRD,5.5 +CMT,1,1,557,1.5,CSH,8.5 +CMT,1,1,805,1.8,CSH,10.5 +CMT,1,1,149,1,CRD,5 +CMT,1,1,987,4.5,CRD,15 +CMT,1,1,535,0.6,CRD,7 +CMT,1,1,789,1.5,CRD,10 +CMT,1,1,461,0.9,CSH,7 +CMT,1,1,302,0.8,CSH,5.5 +CMT,1,2,1704,2.7,CSH,13 +CMT,1,1,460,1.9,CSH,8.5 +CMT,1,1,92,0.3,CSH,3.5 +CMT,1,1,1159,2.8,CSH,14.5 +CMT,1,1,476,1.2,CSH,7.5 +CMT,1,1,613,0.9,CRD,8 +CMT,1,1,764,1.6,CSH,10 +CMT,1,1,1310,4.8,CRD,20 +CMT,1,3,463,1.2,CSH,7 +CMT,1,3,813,1.5,CSH,10 +CMT,1,1,412,1.8,CRD,7.5 +CMT,1,4,453,0.8,CSH,6.5 +CMT,1,1,640,1.3,CRD,8.5 +CMT,1,1,551,1.6,CSH,9 +CMT,1,1,841,7.6,CSH,22.5 +CMT,1,1,261,0.8,CSH,5.5 +CMT,1,1,1249,2.7,CSH,14 +CMT,1,2,628,3,CRD,11.5 +CMT,1,1,2178,7.2,CRD,28.5 +CMT,1,1,662,2,CRD,10.5 +CMT,1,1,900,2.6,CRD,13 +CMT,1,3,155,0.3,CSH,4 +CMT,1,1,546,2.2,CRD,9 +CMT,1,1,625,3.7,CSH,12 +CMT,1,1,346,1.1,CRD,6 +CMT,1,2,287,1.1,CRD,6 +CMT,1,1,998,5.9,CRD,19.5 +CMT,1,1,233,0.9,CSH,5 +CMT,1,3,327,1,CSH,6 +CMT,1,1,136,0.7,CRD,4.5 +CMT,1,1,634,1.1,CRD,8 +CMT,1,1,706,1.4,CRD,9 +CMT,1,1,560,1.6,CRD,8 +CMT,1,1,744,1,CRD,9 +CMT,1,1,67,0.1,CSH,3 +CMT,1,1,342,0.6,CSH,5.5 +CMT,1,1,124,0.5,CSH,4 +CMT,1,4,288,1.1,CSH,6 +CMT,1,1,484,0.8,CRD,7 +CMT,1,1,1086,3.5,CRD,15.5 +CMT,1,1,348,1.1,CRD,6 +CMT,1,1,1149,5.1,CRD,18 +CMT,1,2,748,3.5,CRD,13 +CMT,1,2,896,2.3,CRD,11.5 +CMT,1,3,534,2,CSH,9 +CMT,1,2,1793,12.9,CSH,39 +CMT,1,2,1153,7.5,CSH,23.5 +CMT,1,2,530,2.1,CRD,10 +CMT,1,1,193,1.1,CRD,5.5 +CMT,1,2,283,1.8,CSH,7 +CMT,1,1,654,6.8,CSH,20 +CMT,1,1,1704,10.9,CRD,34.5 +CMT,1,1,1147,10.5,CRD,30 +CMT,1,1,373,0.7,CSH,6 +CMT,1,1,189,0.8,CSH,5 +CMT,1,2,1150,4.9,CRD,18.5 +CMT,1,1,619,4.9,CRD,16 +CMT,1,1,450,1.4,CSH,7.5 +CMT,1,3,816,3.4,CRD,13 +CMT,1,1,265,1,CSH,5.5 +CMT,1,1,1412,10,CRD,30.5 +CMT,1,3,147,0.4,CSH,4 +CMT,1,1,1178,8.6,CSH,26.5 +CMT,1,4,1067,3.3,CSH,14 +CMT,1,1,213,0.4,CSH,4.5 +CMT,1,2,1165,3.6,CRD,16.5 +CMT,1,1,323,0.7,CRD,5.5 +CMT,1,1,1217,4.6,CSH,18.5 +CMT,1,1,1107,4.8,CRD,17.5 +CMT,1,3,771,3.5,CRD,13 +CMT,1,1,823,3.6,CRD,14 +CMT,1,1,1653,8,CSH,26.5 +CMT,1,1,1898,8.8,CSH,28 +CMT,1,1,1038,5.7,CRD,18.5 +CMT,1,1,350,2,CSH,8 +CMT,1,1,366,0.8,CRD,6 +CMT,1,2,698,1.5,CSH,9 +CMT,1,3,551,0.8,CRD,7 +CMT,1,1,861,3.1,CRD,12.5 +CMT,1,1,737,3.3,CRD,13 +CMT,1,1,397,1.4,CSH,7 +CMT,1,1,162,0.6,CRD,4.5 +CMT,1,1,905,5.7,CRD,18.5 +CMT,1,1,591,3.4,CSH,12 +CMT,1,3,466,1.6,CRD,7.5 +CMT,1,1,635,3.1,CRD,11.5 +CMT,1,1,795,2.7,CSH,12 +CMT,1,1,594,2.4,CRD,10 +CMT,1,1,889,2.3,CRD,11 +CMT,1,1,937,5.1,CRD,17.5 +CMT,1,2,907,4.1,CRD,15.5 +CMT,1,1,182,0.6,CSH,4.5 +CMT,1,1,340,1,CRD,6 +CMT,1,1,412,1,CRD,6.5 +CMT,1,1,276,1.2,CSH,6 +CMT,1,1,442,1.5,CSH,7.5 +CMT,1,1,1081,1,CSH,11.5 +CMT,1,1,1233,5.5,CSH,18.5 +CMT,1,2,690,1.2,CSH,8.5 +CMT,1,1,2503,12.8,CRD,41.5 +CMT,1,1,398,1.1,CSH,7 +CMT,1,1,185,0.7,CSH,4.5 +CMT,1,1,368,1.2,CSH,7 +CMT,1,1,1264,2.8,CRD,15.5 +CMT,1,1,610,2,CSH,10 +CMT,1,1,324,0.6,CRD,5 +CMT,1,1,417,0.8,CRD,6.5 +CMT,1,1,804,3.4,CRD,13 +CMT,1,2,494,1.6,CRD,8 +CMT,1,1,287,1.5,CSH,7 +CMT,1,1,447,1.5,CRD,7.5 +CMT,1,1,998,3.8,CRD,15.5 +CMT,1,1,566,1.4,CRD,8 +CMT,1,1,199,0,NOC,4 +CMT,1,1,679,2.1,CRD,9.5 +CMT,1,1,289,0.7,CRD,5.5 +CMT,1,1,653,1.7,CRD,9 +CMT,1,2,795,4.1,CSH,15 +CMT,1,1,940,4.4,CRD,16.5 +CMT,1,1,391,1.6,CRD,8 +CMT,1,1,542,1.8,CRD,9 +CMT,1,1,1016,8.2,CRD,25 +CMT,1,3,425,1.3,CRD,7 +CMT,1,1,833,4.3,CRD,15 +CMT,1,2,1007,2.8,CRD,13 +CMT,1,2,638,0.8,CSH,8 +CMT,1,1,797,2.2,CRD,11 +CMT,1,4,665,2.5,CRD,11 +CMT,1,1,103,0.2,CSH,3.5 +CMT,1,1,1071,8.8,CRD,26 +CMT,1,1,1339,10.2,CSH,29 +CMT,1,1,521,1.4,CSH,8 +CMT,1,1,904,7.7,CSH,22.5 +CMT,1,1,938,7.7,CRD,23.5 +CMT,1,1,636,2,CRD,10 +CMT,1,1,909,4.6,CRD,17 +CMT,1,1,1114,4.5,CRD,18 +CMT,1,1,643,6.3,CRD,19 +CMT,1,2,1071,5,CRD,18.5 +CMT,1,3,2705,12.5,CSH,35 +CMT,1,1,366,1.2,CRD,6.5 +CMT,1,3,2130,12.3,CRD,38 +CMT,1,1,928,4.6,CRD,16.5 +CMT,1,1,392,0.7,CSH,6 +CMT,1,1,417,1.3,CSH,7 +CMT,1,2,1250,2.9,CRD,14 +CMT,1,2,282,1,CRD,5.5 +CMT,1,1,1359,3.4,CRD,17 +CMT,1,1,302,0.9,CSH,6 +CMT,1,1,377,1.1,CSH,6.5 +CMT,1,1,276,0.5,CRD,5 +CMT,1,1,292,1.3,CSH,6 +CMT,1,1,351,1.3,CSH,7 +CMT,1,1,926,3.8,CSH,14.5 +CMT,1,1,619,2.3,CSH,10 +CMT,1,1,497,2.7,CRD,10 +CMT,1,2,862,5.6,CSH,18.5 +CMT,1,1,476,0.8,CSH,7 +CMT,1,1,663,1.4,CRD,9 +CMT,1,1,134,0.8,CSH,4.5 +CMT,1,1,807,5.6,CSH,17.5 +CMT,1,1,846,1.2,CRD,10 +CMT,1,1,674,1.8,CSH,9.5 +CMT,1,1,1000,2.6,CRD,13 +CMT,1,1,1091,3.6,CRD,15.5 +CMT,1,1,494,0.9,CSH,7 +CMT,1,1,1016,1.7,CRD,12 +CMT,1,1,411,0.6,CSH,6 +CMT,1,1,25,0.3,CSH,2.5 +CMT,1,2,368,1.5,CSH,7 +CMT,1,1,290,1,CSH,5.5 +CMT,1,1,485,2,CRD,8.5 +CMT,1,1,389,1.4,CRD,7 +CMT,1,1,868,2.6,CRD,12.5 +CMT,1,2,1272,2.9,CRD,15.5 +CMT,1,1,481,1.9,CRD,8.5 +CMT,1,2,346,1.2,CRD,6 +CMT,1,3,579,1.2,CSH,8 +CMT,1,1,499,1.1,CRD,7 +CMT,1,3,437,1.5,CRD,7.5 +CMT,1,1,636,1.7,CSH,9 +CMT,1,1,2433,7.5,CSH,29.5 +CMT,1,3,268,0.8,CSH,5.5 +CMT,1,3,1023,3.1,CRD,14 +CMT,1,1,947,5.3,CRD,18 +CMT,1,4,1368,5.2,CSH,20 +CMT,1,4,322,1.1,CSH,6 +CMT,1,1,510,1.8,CSH,8.5 +CMT,1,1,793,1.2,CSH,9.5 +CMT,1,1,888,3.5,CRD,14 +CMT,1,1,172,0.7,CRD,4.5 +CMT,1,1,700,0.9,CRD,8.5 +CMT,1,1,946,6.6,CRD,22 +CMT,1,1,454,1.3,CSH,7.5 +CMT,1,1,482,1.3,CRD,7.5 +CMT,1,1,1665,3.4,CSH,17.5 +CMT,1,1,474,1.1,CRD,7 +CMT,1,2,567,2.1,CRD,10 +CMT,1,1,1097,9.2,CRD,27.5 +CMT,1,2,529,1.7,CSH,8.5 +CMT,1,1,927,1.7,CRD,11.5 +CMT,1,1,248,0.8,CRD,5 +CMT,1,2,342,0.5,CRD,5.5 +CMT,1,1,130,0.3,CRD,3.5 +CMT,1,1,95,0.3,CSH,3.5 +CMT,1,3,866,3.5,CSH,14 +CMT,1,1,622,1.6,CRD,9.5 +CMT,1,1,396,1.6,CSH,7.5 +CMT,1,1,555,1.8,CSH,8.5 +CMT,1,1,1030,4.1,CSH,15.5 +CMT,1,1,1286,9.9,CRD,29.5 +CMT,1,1,638,3.4,CRD,12 +CMT,1,2,419,0.9,CRD,6.5 +CMT,1,4,1518,3.6,CSH,17.5 +CMT,1,4,1323,3.3,CSH,16.5 +CMT,1,1,415,1,CSH,7 +CMT,1,3,490,0.6,CSH,6.5 +CMT,1,1,1811,15.2,CRD,44.5 +CMT,1,2,2083,8.4,CSH,32 +CMT,1,1,2074,10.7,CSH,35 +CMT,1,1,914,3.1,CRD,13 +CMT,1,1,1117,3.9,CRD,16 +CMT,1,1,2277,8.7,CRD,31 +CMT,1,2,1470,9,CSH,27.5 +CMT,1,1,1,0,CSH,2.5 +CMT,1,1,796,7.9,CRD,23 +CMT,1,1,1117,4.9,CRD,17.5 +CMT,1,1,656,3,CRD,11 +CMT,1,2,217,0.7,CRD,5 +CMT,1,1,412,1.4,CRD,7 +CMT,1,1,939,1.2,CRD,10.5 +CMT,1,2,283,0.8,CRD,5.5 +CMT,1,3,223,0.7,CRD,5 +CMT,1,2,230,1.4,CRD,6 +CMT,1,1,352,0.6,CSH,5.5 +CMT,1,1,302,1.4,CRD,6.5 +CMT,1,1,153,0.8,CSH,4.5 +CMT,1,2,202,0.6,CRD,4.5 +CMT,4,1,484,2.5,CSH,9.5 +CMT,1,1,614,2.9,CSH,10.5 +CMT,1,2,1134,4.6,CRD,16 +CMT,1,1,125,0.4,CSH,3.5 +CMT,1,1,123,0.3,CSH,3.5 +CMT,1,1,1156,6.2,CSH,21 +CMT,1,1,1405,4.1,CRD,18 +CMT,1,1,291,0.8,CRD,5.5 +CMT,1,1,813,2.4,CSH,11.5 +CMT,1,1,287,0.6,CSH,5 +CMT,1,2,1636,13.8,CSH,39.5 +CMT,1,1,172,0.6,CRD,4.5 +CMT,1,1,365,0.5,CRD,5.5 +CMT,1,1,190,0.4,CRD,4.5 +CMT,1,3,619,1.6,CRD,9 +CMT,1,1,606,1.8,CRD,9 +CMT,1,1,925,2.2,CRD,11.5 +CMT,1,1,147,0.4,CSH,3.5 +CMT,1,1,214,0.8,CSH,5 +CMT,1,4,1153,3,CSH,13.5 +CMT,1,2,1617,6.6,CSH,24.5 +CMT,1,1,396,1.1,CSH,6.5 +CMT,1,1,782,2.1,CSH,11 +CMT,1,2,1239,11,CRD,32 +CMT,1,1,354,1,CRD,6 +CMT,1,1,1009,1.6,CRD,12 +CMT,1,1,1678,11.2,CRD,33 +CMT,1,1,279,1.4,CSH,6.5 +CMT,1,1,1094,4.7,CRD,17.5 +CMT,1,1,551,2.1,CRD,9 +CMT,1,1,2282,14,CSH,42 +CMT,1,1,1615,10.4,CSH,32.5 +CMT,1,1,413,1,CSH,6.5 +CMT,1,1,50,0.1,CRD,2.5 +CMT,1,2,656,1.1,CRD,8.5 +CMT,1,2,677,1.7,CRD,9.5 +CMT,1,1,208,0.7,CRD,4.5 +CMT,1,1,821,1.8,CSH,10.5 +CMT,1,1,1558,3.9,CSH,18.5 +CMT,1,2,138,0.5,CSH,4 +CMT,1,2,571,1.9,CSH,9 +CMT,1,1,249,1,CSH,5.5 +CMT,1,1,625,1.4,CSH,8.5 +CMT,1,1,503,1.2,CSH,7.5 +CMT,1,1,510,1.3,CRD,8 +CMT,1,1,530,1.6,CRD,8.5 +CMT,1,1,377,0.9,CSH,6 +CMT,1,2,216,0.6,CRD,4.5 +CMT,1,2,528,2,CSH,9 +CMT,1,4,1654,11.6,CSH,35 +CMT,1,1,1186,1.9,CSH,13.5 +CMT,1,1,147,0.3,CSH,3.5 +CMT,1,2,1780,11.7,CRD,35.5 +CMT,1,1,1259,4.3,CRD,18 +CMT,1,1,1309,4.1,CRD,18 +CMT,1,1,921,5.8,CRD,19.5 +CMT,1,1,1153,8.1,CSH,25.5 +CMT,1,2,560,1.2,CSH,8 +CMT,1,1,290,0.8,CSH,5 +CMT,1,1,1043,1.4,CRD,12 +CMT,1,1,1321,5,CSH,19 +CMT,1,1,701,2.1,CRD,10.5 +CMT,1,1,564,1.8,CSH,9 +CMT,1,2,582,0.7,CRD,7.5 +CMT,1,4,962,2,CSH,11.5 +CMT,1,1,297,1,CSH,6 +CMT,1,1,1389,12.5,CRD,34.5 +CMT,1,1,655,2.6,CSH,10.5 +CMT,2,1,2399,21.5,CRD,52 +CMT,1,2,2035,11.3,CSH,35 +CMT,1,1,768,2.4,CRD,11 +CMT,1,1,783,2.9,CRD,12 +CMT,1,1,136,1,CSH,5 +CMT,1,3,671,1.4,CSH,9 +CMT,1,2,419,1.2,CRD,6.5 +CMT,1,2,1024,1.2,CRD,11.5 +CMT,1,2,591,1.4,CRD,8.5 +CMT,1,1,314,1.3,CRD,6.5 +CMT,1,3,1305,4.5,CSH,17.5 +CMT,1,3,2258,19.2,NOC,53 +CMT,2,1,3749,19.3,CRD,52 +CMT,1,1,1673,10.4,CSH,31.5 +CMT,3,3,2480,17.7,CRD,70.5 +CMT,2,4,2977,18.4,CRD,52 +CMT,2,2,3851,21.8,CSH,52 +CMT,1,2,645,1.2,CRD,8.5 +CMT,1,1,1525,1.8,CSH,16.5 +CMT,1,2,681,2.2,CRD,10 +CMT,1,1,544,1,CRD,7.5 +CMT,1,2,268,1,CRD,5.5 +CMT,1,2,617,2,CSH,9.5 +CMT,1,1,615,2.5,CSH,10.5 +CMT,1,2,934,2.1,CSH,11.5 +CMT,1,1,1394,9.4,CRD,28 +CMT,1,1,970,3.1,CRD,13.5 +CMT,1,1,407,1.1,CSH,6.5 +CMT,1,1,395,0.8,CRD,6 +CMT,1,2,331,0.8,CRD,5.5 +CMT,1,1,451,1,CRD,6.5 +CMT,1,1,800,8.3,CRD,23.5 +CMT,1,1,532,1.2,CRD,7.5 +CMT,1,1,385,0.8,CSH,6 +CMT,1,2,946,3.4,CSH,13.5 +CMT,1,1,278,0.7,CRD,5 +CMT,1,1,1201,10.8,CRD,30.5 +CMT,1,1,1557,10.2,CRD,32 +CMT,1,1,1475,5.1,CSH,20.5 +CMT,2,2,2244,17.5,CRD,52 +CMT,1,1,1029,3,CSH,14 +CMT,1,1,1387,6.2,CRD,21.5 +CMT,1,2,193,0.5,CSH,4 +CMT,1,2,886,3.1,CSH,12.5 +CMT,1,1,1075,9.9,CRD,27.5 +CMT,1,1,289,1.1,CRD,6 +CMT,1,1,1058,2.8,CRD,13.5 +CMT,1,1,1756,11.2,CRD,33.5 +CMT,1,1,1775,9.6,CRD,30.5 +CMT,1,2,1131,2.3,CRD,13.5 +CMT,1,1,77,0.3,CRD,3 +CMT,1,2,732,1,CSH,8.5 +CMT,1,2,1024,3.7,CSH,14.5 +CMT,1,2,589,2,CSH,9.5 +CMT,1,1,803,2.2,CRD,11 +CMT,1,1,437,1,CSH,6.5 +CMT,1,1,175,0.7,CSH,4.5 +CMT,1,4,427,0.8,CSH,6.5 +CMT,1,1,1022,2.4,CRD,12.5 +CMT,1,1,252,0.9,CSH,5.5 +CMT,1,1,440,1.4,CRD,8 +CMT,1,1,1675,5.2,CSH,22 +CMT,1,1,123,0.4,CRD,3.5 +CMT,1,1,1198,4.4,CRD,17.5 +CMT,3,3,2469,18.6,CSH,72 +CMT,1,1,759,1.9,CRD,10.5 +CMT,1,1,750,2.2,CSH,11 +CMT,1,1,219,0.9,CSH,5 +CMT,1,3,1808,9.3,CSH,30 +CMT,1,4,304,0.8,CSH,5.5 +CMT,1,1,1480,7.2,CRD,26 +CMT,3,1,2270,19.3,CSH,71 +CMT,1,1,959,1.7,CRD,11.5 +CMT,1,1,1000,9,CRD,26.5 +CMT,1,1,292,0.6,CRD,5 +CMT,1,1,717,1.8,CSH,10 +CMT,1,1,976,2.5,CRD,12.5 +CMT,1,1,741,1.5,CRD,10 +CMT,1,1,918,2.2,CSH,12 +CMT,1,3,424,1.1,CRD,7 +CMT,1,1,908,1.2,CSH,10.5 +CMT,1,2,948,2.9,CSH,13 +CMT,1,1,1374,1.5,CRD,14.5 +CMT,1,1,877,3.3,CSH,13 +CMT,1,3,727,2.1,CRD,10 +CMT,2,2,2050,17.4,CSH,52 +CMT,1,1,1125,3.9,CSH,15.5 +CMT,1,1,704,1.8,CRD,10 +CMT,1,1,1874,10.7,CRD,34 +CMT,1,1,339,1.9,CRD,7.5 +CMT,1,1,341,1.2,CRD,6 +CMT,1,1,401,1.5,CSH,7.5 +CMT,1,4,753,1.6,CRD,9.5 +CMT,1,4,1180,2.9,CSH,15 +CMT,1,1,1579,11,CRD,34.5 +CMT,1,1,431,1.1,CRD,7 +CMT,1,2,1810,3.9,CRD,21 +CMT,1,1,249,0.9,CSH,5.5 +CMT,1,1,539,1.2,CRD,7.5 +CMT,1,1,475,1.1,CSH,7 +CMT,1,1,240,0.6,CSH,5 +CMT,1,3,1194,3.1,CSH,15 +CMT,1,1,1989,7.1,CRD,26.5 +CMT,1,1,632,2.1,CSH,9.5 +CMT,1,2,966,4,CRD,16 +CMT,1,1,258,0.6,CSH,5 +CMT,1,2,475,1.5,CSH,7.5 +CMT,1,1,322,0.7,CSH,5.5 +CMT,1,2,1121,6.6,CRD,22 +CMT,1,3,416,0.6,CSH,6 +CMT,1,2,479,0.9,CRD,7 +CMT,1,4,848,5.3,CSH,17.5 +CMT,1,1,721,2.4,CRD,10.5 +CMT,1,1,309,0.8,CSH,5.5 +CMT,1,1,681,1.2,CRD,9 +CMT,1,2,578,1.3,CRD,8 +CMT,1,2,434,1.3,CSH,7 +CMT,1,1,853,2.9,CRD,12.5 +CMT,2,1,2527,21.7,CSH,52 +CMT,1,1,869,2.2,CRD,11 +CMT,1,2,269,0.6,CRD,5 +CMT,1,1,966,1.4,CSH,11.5 +CMT,1,2,1193,4.6,CSH,18.5 +CMT,1,1,218,0.7,CRD,4.5 +CMT,1,1,705,1.4,CSH,9 +CMT,1,1,2011,6.2,CSH,26.5 +CMT,1,1,95,0.3,CRD,3.5 +CMT,1,1,1532,10.5,CRD,33.5 +CMT,1,2,1532,11.1,CRD,34 +CMT,1,1,654,1.5,CSH,9 +CMT,1,1,750,5.6,CRD,17.5 +CMT,1,1,806,7.5,CSH,21.5 +CMT,1,2,483,1.3,CSH,7.5 +CMT,1,1,418,1.1,CRD,6.5 +CMT,1,2,843,2.8,CSH,12 +CMT,1,1,534,2,CSH,8.5 +CMT,1,1,837,1.3,CSH,10 +CMT,1,1,145,0.4,CSH,4 +VTS,1,1,1920,11.01,CRD,35 +VTS,1,1,960,3.22,CSH,14 +VTS,1,1,420,1.25,CRD,6.5 +VTS,1,1,660,1.92,CSH,9.5 +VTS,1,1,840,2.04,CRD,10 +VTS,1,1,360,1.24,CRD,7 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,1200,3.35,CSH,16 +VTS,1,1,420,1.22,CRD,7 +VTS,2,1,2700,28.55,CRD,52 +VTS,1,1,660,1.9,CRD,9.5 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,720,2.71,CRD,11.5 +VTS,1,1,60,0.36,CSH,3 +CMT,1,1,276,0.6,CRD,5 +CMT,1,1,299,1.4,CRD,6.5 +CMT,1,1,1289,3.8,CSH,16.5 +CMT,1,1,945,2.6,CRD,12.5 +CMT,1,1,391,2.2,CRD,8.5 +CMT,1,1,505,1.5,CRD,8 +CMT,1,1,763,2.7,CRD,12 +CMT,1,2,1464,7.2,CRD,25.5 +CMT,1,1,910,1.5,CSH,10.5 +CMT,1,1,1253,3.3,CRD,15.5 +CMT,1,1,1264,9.3,CRD,28 +CMT,1,2,262,1,CRD,5.5 +CMT,1,1,1008,2.4,CSH,13 +CMT,1,2,2329,12,CSH,39 +CMT,1,4,463,1,CSH,7 +CMT,1,1,688,2.1,CRD,10 +CMT,1,1,468,1.6,CSH,7.5 +CMT,1,1,1744,11.5,CRD,35 +CMT,1,1,728,3,CSH,12.5 +CMT,1,2,1426,3.1,CSH,17 +CMT,1,1,286,0.9,CSH,5.5 +CMT,1,1,642,1.3,CRD,8.5 +CMT,1,2,396,1.2,CRD,7 +VTS,1,1,240,0.54,CSH,4.5 +VTS,2,1,1740,18.39,CSH,52 +VTS,1,1,480,1.91,CRD,8.5 +CMT,1,2,1694,11.2,CRD,33 +CMT,1,2,403,0.9,CRD,6 +CMT,1,2,319,0.8,CSH,5.5 +CMT,1,1,580,0.9,CSH,7.5 +CMT,1,1,1065,2.2,CRD,12.5 +CMT,1,1,821,2.2,CRD,11.5 +CMT,1,4,978,3.4,CSH,14 +CMT,1,1,689,1.9,CRD,9.5 +CMT,1,1,365,0.9,CRD,6 +CMT,1,2,908,4.2,CSH,15.5 +CMT,1,1,575,1.4,CSH,8 +CMT,1,1,253,1.1,CRD,6 +CMT,1,1,470,1.2,CRD,7 +CMT,1,2,399,1.3,CSH,7 +VTS,2,1,1500,16.94,CSH,52 +VTS,1,1,3420,22.39,CRD,64.5 +VTS,1,1,1200,3.65,CRD,16 +VTS,1,1,360,1.47,CSH,7 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,600,1.55,CSH,8.5 +VTS,1,1,360,0.91,CRD,6 +VTS,1,1,900,3.18,CRD,13.5 +VTS,1,1,300,0.64,CSH,5.5 +VTS,1,1,720,3.05,CSH,12 +VTS,1,1,360,0.6,CSH,6 +VTS,1,1,300,1.27,CSH,6 +CMT,1,1,690,5.1,NOC,16.5 +CMT,1,2,849,1.7,CRD,10.5 +CMT,1,1,336,0.7,CSH,5.5 +CMT,1,1,495,1.2,CRD,7.5 +CMT,1,1,688,1.8,NOC,9.5 +CMT,1,2,431,2,CRD,8.5 +CMT,1,1,132,0.4,CRD,3.5 +CMT,1,4,531,1.5,CSH,8 +CMT,1,1,446,1.8,CSH,8.5 +CMT,1,1,473,1.3,CSH,7.5 +CMT,1,1,546,1.3,CSH,8 +CMT,3,1,2417,17.6,CRD,70 +CMT,1,1,115,0.3,CSH,3.5 +CMT,1,1,624,1.4,CSH,8.5 +VTS,1,1,840,1.83,CRD,11 +VTS,1,1,240,1.45,CSH,6 +VTS,1,1,1080,12.39,CSH,34 +VTS,1,1,660,3.34,CRD,12.5 +VTS,1,1,600,4.78,CSH,15.5 +VTS,1,1,360,0.78,CSH,6 +VTS,1,1,3060,18.84,CSH,55.5 +VTS,1,1,840,2.74,CSH,12 +VTS,1,1,1320,4.05,CRD,17 +VTS,1,1,480,0.62,CSH,6.5 +VTS,1,1,1140,3.44,CSH,15 +VTS,1,1,600,2.82,CSH,11 +CMT,1,1,303,0.7,CRD,5 +CMT,1,1,292,0.8,CRD,5.5 +CMT,1,2,440,1.3,CSH,7 +CMT,1,1,1365,12.3,CRD,35 +CMT,1,1,633,2.3,CSH,10.5 +CMT,1,2,640,2.1,CSH,10 +CMT,1,1,531,1.5,CSH,8.5 +VTS,1,1,240,1.21,CRD,5.5 +VTS,1,1,480,2.85,CRD,10 +VTS,1,1,1380,11.36,CRD,33.5 +VTS,1,1,2880,17.22,CRD,54 +VTS,1,1,480,2.4,CSH,9.5 +VTS,1,1,1440,6.31,CSH,22 +VTS,1,1,660,2.83,CRD,11.5 +VTS,1,1,960,2.76,CSH,12.5 +VTS,1,1,1380,5.54,CRD,21 +VTS,1,1,2100,17.05,CRD,49.5 +VTS,1,1,2280,15.35,CRD,47 +VTS,1,1,1200,3.76,CSH,15.5 +VTS,1,1,840,2.04,CSH,11.5 +VTS,1,1,300,0.69,CRD,5 +VTS,1,1,540,1.5,CSH,8 +VTS,1,1,480,1.35,CSH,7.5 +VTS,1,1,420,1.17,CSH,7 +VTS,1,1,660,1.98,CRD,10 +VTS,1,1,300,0.84,CRD,5.5 +CMT,1,2,187,0.3,CRD,4 +CMT,1,1,1389,6.5,CSH,24 +CMT,1,1,1080,1.7,CRD,12.5 +CMT,1,2,826,0.8,CRD,9.5 +CMT,1,2,1158,8.9,CSH,27.5 +CMT,1,1,1598,5.3,CRD,22 +CMT,1,4,358,1,CSH,6.5 +CMT,1,1,607,1.8,CRD,9.5 +CMT,1,1,351,0.9,CRD,6 +CMT,1,1,782,2.3,CSH,10.5 +CMT,1,1,648,1,CSH,8 +CMT,1,1,122,0.3,CRD,3.5 +CMT,1,1,488,1.1,CRD,7 +CMT,1,1,562,1,CRD,7.5 +CMT,1,2,757,2.3,CSH,11.5 +CMT,1,1,1338,5.1,CSH,19.5 +CMT,1,2,744,2.4,CRD,11 +CMT,1,1,302,0.8,CSH,6 +CMT,1,1,429,1.5,CSH,7.5 +CMT,1,1,1114,1.2,CRD,12 +VTS,1,1,780,2.23,CSH,11 +VTS,1,1,1500,9.95,CSH,30.5 +VTS,1,1,1020,8.77,CRD,25.5 +VTS,1,1,780,7.28,CRD,21.5 +VTS,1,1,720,2.63,CSH,10.5 +VTS,2,1,3420,16.54,CRD,52 +VTS,1,1,900,2.86,CSH,12.5 +VTS,1,1,720,5.01,CSH,16.5 +VTS,1,1,1080,6.13,CSH,19.5 +VTS,1,1,1800,8.82,CSH,28.5 +VTS,1,1,180,0.42,CSH,4 +VTS,1,1,1080,4.14,CRD,16 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,300,1.68,CSH,7 +VTS,1,1,600,1.15,CRD,8 +VTS,1,1,540,1.26,CSH,7.5 +VTS,1,1,300,0.76,CSH,5 +VTS,1,1,420,1.54,CRD,7.5 +VTS,1,1,540,0.98,CRD,7 +VTS,1,1,720,2.63,CRD,11 +VTS,1,1,120,0.35,CRD,3.5 +VTS,1,1,1200,5.87,CRD,20 +VTS,1,1,420,0.96,CRD,6.5 +VTS,1,1,660,2.36,CSH,10.5 +VTS,1,1,720,2.63,CRD,10.5 +VTS,1,1,840,1.71,CSH,10.5 +VTS,1,1,1260,2.78,CSH,15 +VTS,1,1,540,0.96,CSH,7.5 +VTS,1,1,540,0.84,CRD,7.5 +VTS,1,1,1020,1.93,CRD,12 +VTS,1,1,420,1.56,CRD,7 +VTS,1,1,720,1.43,CRD,9.5 +VTS,1,1,420,1.3,CRD,6.5 +VTS,1,1,660,2.14,CRD,10 +VTS,1,1,600,2.59,CSH,10 +VTS,1,1,960,4.74,CSH,16 +VTS,1,1,420,0.97,CSH,6.5 +VTS,1,1,840,0.73,CSH,9.5 +VTS,1,1,1200,3.02,CSH,15 +VTS,1,1,1080,3.44,CRD,14 +VTS,1,1,420,1.43,CRD,7 +VTS,1,1,660,1.67,CRD,9 +VTS,1,1,600,1.17,CSH,8.5 +VTS,1,1,360,1,CSH,6 +VTS,1,1,480,1.03,CSH,7 +VTS,1,1,1500,5.6,CSH,23 +VTS,1,1,360,1.08,CSH,6.5 +VTS,1,1,240,0.72,CSH,4.5 +VTS,1,1,420,1.44,CRD,7 +VTS,1,1,1440,9.67,CRD,30 +VTS,1,1,2040,10.61,CSH,35 +VTS,1,1,1200,3.66,CRD,16 +VTS,1,1,720,1.77,CRD,9.5 +VTS,1,1,1020,3.64,CRD,15 +VTS,1,1,720,2.77,CRD,11.5 +VTS,1,1,600,2.59,CSH,10 +VTS,1,1,720,2.49,CRD,10.5 +VTS,1,1,660,1.58,CRD,9 +VTS,1,1,600,1.63,CSH,8 +VTS,1,1,420,1.44,CSH,7 +VTS,1,1,1080,4.98,CRD,17 +VTS,1,1,1200,2.58,CSH,14.5 +VTS,1,1,240,1.08,CSH,5.5 +VTS,1,1,900,2.72,CSH,12.5 +VTS,1,1,1140,2.73,CRD,14 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,420,1.4,CRD,7.5 +VTS,1,1,540,0.7,CRD,7 +VTS,1,1,660,1.13,CRD,8.5 +VTS,1,1,720,1.72,CRD,9.5 +VTS,1,1,540,1.07,CRD,7 +VTS,1,1,1620,6.62,CSH,23.5 +VTS,1,1,720,1.73,CRD,9.5 +VTS,1,1,840,1.68,CRD,10 +VTS,1,1,2340,6.25,CRD,28.5 +VTS,1,1,600,1.75,CRD,9 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,1,660,1.23,CRD,9 +VTS,1,1,180,0.9,CSH,4.5 +VTS,1,1,540,0.9,CRD,7.5 +VTS,1,1,360,1.5,CRD,7 +VTS,1,1,840,8.22,CRD,23 +VTS,1,1,780,2.15,CSH,11 +VTS,1,1,240,0.88,CRD,5 +VTS,1,1,600,1.76,CSH,9 +VTS,1,1,600,1.62,CRD,8.5 +VTS,1,1,900,3.92,CRD,14.5 +VTS,1,1,300,1.2,CSH,6 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,480,1.36,CRD,7.5 +VTS,1,1,540,2.46,CRD,10 +VTS,1,1,2700,14.23,CRD,45.5 +VTS,1,1,540,1.66,CSH,8.5 +VTS,1,1,840,1.45,CRD,9.5 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,900,2.84,CSH,13 +VTS,1,1,1080,5.75,CRD,18 +VTS,1,1,420,2.24,CRD,8.5 +VTS,1,1,480,2.95,CRD,11 +VTS,1,1,600,2.04,CRD,9.5 +VTS,1,1,240,0.81,CSH,5.5 +VTS,1,1,600,1.53,CSH,8.5 +VTS,1,1,480,2.23,CRD,9 +VTS,1,1,900,2.64,CRD,12 +VTS,1,1,3300,12.04,CRD,46 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,1560,5.23,CSH,21.5 +VTS,1,1,1440,9.16,CSH,28.5 +VTS,1,1,900,10.2,CRD,28 +VTS,1,1,420,0.72,CRD,6 +VTS,1,1,480,2.01,CSH,8.5 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,720,3.82,CRD,13.5 +VTS,1,1,480,0.76,CSH,7 +VTS,1,1,780,2.59,CSH,11.5 +VTS,1,1,540,1.72,CRD,8 +VTS,1,1,720,2.12,CSH,10.5 +VTS,1,1,1260,4.73,CRD,18 +VTS,1,1,1680,8.61,CSH,25.5 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,780,3.04,CRD,12.5 +VTS,1,1,720,3.8,CRD,13 +VTS,1,1,1920,8.04,CRD,26.5 +VTS,1,1,2400,5.13,CSH,25 +VTS,1,1,300,0.55,CRD,5 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,840,3.17,CRD,13 +VTS,1,1,960,9.23,CSH,26.5 +VTS,1,1,660,1.84,CRD,9.5 +VTS,1,1,1320,8.59,CRD,27 +VTS,1,1,600,1.62,CRD,8.5 +VTS,1,1,300,0.64,CRD,5.5 +VTS,1,1,780,4.53,CRD,15 +VTS,1,1,2040,12.12,CRD,37 +VTS,1,1,1380,3.29,CRD,16.5 +VTS,1,1,1320,3.22,CRD,16 +VTS,1,1,900,2.51,CRD,11.5 +VTS,1,1,600,1.15,CSH,8 +VTS,1,1,420,1.01,CSH,6.5 +VTS,1,1,2040,5.05,CSH,24 +VTS,1,1,1020,0.85,CSH,11.5 +VTS,1,1,1080,4.04,CSH,16 +VTS,1,1,1140,6.74,CSH,21.5 +VTS,1,1,300,1,CSH,5.5 +VTS,1,1,240,1.34,CRD,6 +VTS,1,1,720,7.43,CSH,21 +VTS,1,1,1740,5.88,CRD,23.5 +VTS,1,1,660,1.55,CRD,9 +VTS,1,1,540,1.49,CRD,8 +VTS,1,1,1140,2.26,CSH,13.5 +VTS,1,1,480,1.02,CRD,6.5 +VTS,1,1,660,2.08,CSH,10 +VTS,1,1,540,1.79,CSH,9 +VTS,1,1,660,2.62,CRD,10.5 +VTS,1,1,540,2.33,CRD,9.5 +VTS,1,1,660,2.07,CRD,10 +VTS,1,1,720,2.21,CSH,10 +VTS,1,1,780,2.84,CRD,12 +VTS,1,1,540,2.31,CSH,9.5 +VTS,1,1,420,1,CRD,6.5 +VTS,1,1,540,1.79,CRD,8.5 +VTS,1,1,720,1.75,CRD,9.5 +CMT,1,1,1919,11.5,CSH,35 +CMT,1,1,662,1,CRD,8 +CMT,1,1,548,1.9,CRD,8.5 +CMT,1,1,1453,1.5,CRD,15.5 +CMT,1,4,1452,11.2,CSH,32 +CMT,1,1,427,0.6,CRD,6 +CMT,1,1,1579,5.4,CRD,22 +CMT,1,1,1203,4.7,CRD,18.5 +CMT,1,1,699,1.8,CRD,9.5 +CMT,1,1,602,2,CSH,9 +CMT,1,1,584,1.1,CRD,8 +CMT,1,1,1070,9,CRD,26.5 +CMT,1,1,255,0.7,CSH,5 +CMT,1,1,1257,3.5,CSH,16 +CMT,1,1,443,0.7,CRD,6.5 +CMT,1,1,556,1.6,CSH,8 +CMT,1,1,612,1.2,CRD,8 +CMT,1,1,258,0.6,CSH,5 +CMT,1,2,1086,2.5,CSH,13.5 +CMT,1,1,1243,4.3,CSH,17 +CMT,1,1,669,1.7,CRD,9.5 +CMT,1,2,943,3.3,CRD,14 +CMT,1,1,631,2.4,CRD,10 +CMT,1,1,254,0.3,CSH,4.5 +CMT,1,1,654,1.8,CRD,9.5 +CMT,1,1,905,7.4,CRD,22 +CMT,1,1,389,1,CSH,6 +CMT,1,1,1523,7.5,CRD,27 +CMT,1,1,858,2.4,CRD,12 +CMT,1,1,1127,5,CSH,18.5 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,900,3.98,CRD,14.5 +VTS,1,1,180,1.19,CSH,5.5 +VTS,1,1,300,1.31,CSH,6.5 +VTS,1,1,960,2.82,CRD,13 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,480,1.98,CSH,8.5 +VTS,1,1,840,1.37,CRD,10 +VTS,1,1,1440,12.21,CRD,35.5 +VTS,1,1,600,2.28,CRD,10 +VTS,1,1,540,2.71,CSH,11 +VTS,1,1,720,1.9,CSH,9.5 +VTS,1,1,360,0.89,CRD,6 +VTS,1,1,660,1.46,CRD,8.5 +VTS,1,1,300,1.27,CRD,6 +VTS,1,1,480,1.59,CSH,7.5 +VTS,1,1,660,2.32,CSH,10.5 +VTS,1,1,660,1.27,CSH,8.5 +VTS,1,1,360,0.74,CRD,5.5 +VTS,1,1,420,1.46,CSH,7 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,1,240,0.82,CSH,5 +CMT,1,1,438,1.3,CRD,7.5 +CMT,1,1,889,5.1,CRD,18 +CMT,1,1,433,1.6,CSH,7.5 +CMT,1,1,403,1.2,CRD,7 +CMT,1,1,1288,2.8,CRD,15 +CMT,1,1,113,0.8,CSH,4.5 +CMT,1,1,1383,6.4,CRD,22.5 +CMT,1,1,926,2.6,CSH,12.5 +CMT,1,2,1556,11.3,CSH,34.5 +CMT,1,3,569,2.8,CSH,10.5 +CMT,1,1,1520,2.1,CSH,16 +CMT,1,1,144,0.6,CSH,4 +CMT,1,1,553,2.2,CSH,9.5 +CMT,1,4,1215,1.5,CSH,13 +CMT,1,2,1049,1,CSH,11.5 +CMT,1,2,409,0.9,CRD,6.5 +CMT,1,1,1503,8.2,CSH,27.5 +CMT,1,1,401,1.2,CSH,7 +CMT,1,2,825,1.7,CSH,10.5 +CMT,1,2,475,1.5,CRD,8 +CMT,1,1,436,1.9,CSH,8 +CMT,1,1,539,1.4,CRD,7.5 +CMT,1,2,374,1.2,CSH,6.5 +CMT,1,2,764,0.8,CSH,9 +CMT,1,2,843,1.7,CSH,10.5 +CMT,1,2,908,1.9,CRD,11 +CMT,1,1,1416,3.6,CSH,17 +CMT,1,1,240,1.1,CRD,5.5 +CMT,1,1,2350,5.8,CRD,27.5 +VTS,1,1,180,0.58,CRD,4 +VTS,1,1,420,0.92,CSH,6.5 +VTS,1,1,480,1.53,CRD,8 +VTS,1,1,720,1.82,CRD,10 +VTS,2,1,4680,19.35,CRD,52 +VTS,1,1,600,1.9,CRD,9.5 +VTS,1,1,480,1.83,CRD,8 +VTS,1,1,660,1.24,CSH,8.5 +VTS,1,1,1080,3.04,CSH,14 +VTS,1,1,1260,12.37,CRD,34.5 +VTS,1,1,780,2.25,CRD,11 +VTS,1,1,1080,2.87,CRD,13.5 +VTS,1,1,960,3.27,CRD,14 +VTS,1,1,540,1.73,CRD,8 +VTS,1,1,1500,5.17,CRD,20 +VTS,1,1,840,3.38,CSH,13.5 +VTS,1,1,360,1.43,CSH,6.5 +VTS,1,1,300,1.01,CRD,6 +VTS,1,1,240,1.24,CSH,5.5 +VTS,1,1,600,1.67,CRD,8 +VTS,1,1,720,1.45,CSH,9.5 +VTS,1,1,960,2.45,CRD,12.5 +VTS,1,1,2100,6.18,CRD,26 +VTS,1,1,120,0.4,CRD,4 +VTS,1,1,1200,2.87,CSH,15 +VTS,1,1,600,1.95,CRD,8.5 +VTS,1,1,360,0.61,CSH,5 +VTS,1,1,1140,4.4,CRD,17.5 +VTS,1,1,1680,6.02,CRD,23 +VTS,1,1,360,1.04,CSH,6 +VTS,1,1,480,1.92,CSH,8 +VTS,1,1,840,2.91,CRD,12.5 +VTS,1,1,1260,5.67,CSH,20 +VTS,1,1,720,3.13,CSH,12.5 +VTS,1,1,720,2.93,CSH,12.5 +VTS,1,1,660,1.88,CSH,9.5 +VTS,1,1,1260,2.82,CRD,15 +VTS,1,1,1080,2.4,CSH,14 +VTS,1,1,780,1.94,CSH,10.5 +VTS,1,1,240,0.96,CSH,5 +VTS,1,1,360,0.95,CRD,6 +VTS,1,1,600,1.92,CRD,9 +VTS,1,1,1080,2.49,CSH,13.5 +VTS,1,1,720,3.41,CRD,13 +VTS,1,1,1380,5.09,CRD,20 +VTS,1,1,540,1.89,CSH,9 +VTS,1,1,660,1.74,CRD,9 +VTS,1,1,780,2.18,CRD,10.5 +VTS,1,1,480,1.07,CRD,7 +VTS,1,1,60,0.49,CSH,3.5 +VTS,1,1,1020,2.9,CRD,13.5 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,1380,5.24,CRD,20 +VTS,1,1,900,3.15,CRD,12.5 +VTS,1,1,480,1.72,CRD,8 +VTS,1,1,420,1.16,CRD,6.5 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,1140,8.26,CRD,25 +VTS,1,1,2700,6.04,CRD,30.5 +VTS,1,1,1200,2.53,CSH,14 +VTS,1,1,300,0.62,CSH,5.5 +VTS,1,1,180,0.44,CRD,4 +VTS,1,1,540,1.86,CSH,9 +VTS,1,1,480,1.26,CRD,7.5 +VTS,1,1,360,0.48,CRD,5.5 +VTS,1,1,240,0.88,CRD,5.5 +VTS,1,1,720,2.66,CRD,10.5 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,660,1.31,CRD,8 +VTS,1,1,720,1.85,CRD,10 +VTS,1,1,420,1.51,CRD,7 +VTS,1,1,120,0.52,CSH,4 +VTS,1,1,420,1.24,CSH,7 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,420,1.26,CSH,7 +VTS,1,1,1080,2.33,CRD,13 +VTS,1,1,960,5.23,CSH,16.5 +VTS,1,1,660,2.64,CSH,11 +VTS,1,1,660,1.32,CRD,8.5 +VTS,1,1,720,1.41,CRD,9 +VTS,1,1,720,2.23,CSH,10.5 +VTS,1,1,120,0.51,CSH,4 +VTS,1,1,720,1.94,CSH,10 +VTS,1,1,120,0.46,CSH,4 +VTS,1,1,420,1.54,CSH,7 +VTS,1,1,300,1.14,CRD,6 +VTS,1,1,1080,3.71,CRD,15.5 +VTS,1,1,360,1.56,CSH,7 +VTS,1,1,660,1.73,CSH,9.5 +VTS,1,1,2460,9.17,CRD,33.5 +VTS,1,1,780,3.02,CRD,12 +VTS,1,1,420,2.03,CRD,8.5 +VTS,1,1,780,1.34,CSH,9 +VTS,1,1,480,1.06,CSH,7 +VTS,1,1,780,2.02,CSH,10.5 +VTS,1,1,480,1.06,CSH,7 +VTS,1,1,1080,2.02,CRD,12.5 +VTS,1,1,2100,8.85,CSH,31 +VTS,1,1,240,0.62,CSH,5 +VTS,1,1,600,0.81,CSH,8 +VTS,1,1,660,1.51,CRD,9 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,720,1.8,CRD,10 +VTS,1,1,240,0.98,CRD,5.5 +VTS,1,1,600,1.82,CSH,8.5 +VTS,1,1,360,0.76,CRD,6 +VTS,1,1,540,2.05,CRD,9 +VTS,1,1,900,2.34,CRD,11.5 +VTS,1,1,300,1,CSH,6 +VTS,1,1,1020,1.57,CRD,11.5 +VTS,1,1,780,1.66,CSH,9.5 +VTS,1,1,2340,6.81,CRD,25.5 +VTS,1,1,1080,1.52,CSH,11.5 +VTS,1,1,360,0.92,CRD,6 +VTS,1,1,600,1.19,CSH,8 +VTS,1,1,240,0.43,CSH,4.5 +VTS,1,1,120,0.42,CRD,3.5 +VTS,1,1,1080,4.05,CRD,16.5 +VTS,1,1,900,2.36,CRD,11.5 +VTS,1,1,120,0.45,CSH,3.5 +VTS,1,1,960,3.69,CSH,15 +VTS,1,1,600,2.1,CSH,9.5 +VTS,1,1,780,2.15,CSH,10.5 +VTS,1,1,300,1.1,CRD,6 +VTS,1,1,600,2.37,CRD,10 +VTS,1,1,1320,9.18,CRD,28 +VTS,1,1,660,1.32,CRD,9 +VTS,1,1,1620,4.55,CRD,20 +VTS,1,1,540,1.43,CRD,7.5 +VTS,1,1,1080,3.29,CRD,14.5 +VTS,1,1,480,1.2,CRD,7.5 +VTS,1,1,240,0.72,CRD,5 +VTS,1,1,1020,4.34,CSH,15.5 +VTS,1,1,840,3.73,CSH,14 +VTS,1,1,720,2.53,CRD,11 +VTS,1,1,540,1.13,CRD,7.5 +VTS,1,1,300,0.87,CRD,6 +VTS,1,1,1320,5.53,CRD,20 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,540,1.56,CRD,8 +VTS,1,1,480,1.15,CSH,7 +VTS,1,1,420,1.3,CRD,6.5 +VTS,1,1,1260,4.67,CRD,17.5 +VTS,1,1,1200,2.5,CRD,14.5 +VTS,1,1,420,1.86,CSH,8 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,120,0.35,CSH,3.5 +VTS,1,1,1320,7.13,CRD,23.5 +VTS,1,1,1560,5.27,CSH,20.5 +VTS,1,1,960,2.48,CSH,12.5 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,540,2.58,CRD,10 +VTS,1,1,600,0.39,CRD,7.5 +VTS,1,1,180,0.42,CSH,4 +VTS,1,1,1440,1.65,CSH,14 +VTS,1,1,720,2.07,CRD,10 +VTS,1,1,540,1.88,CRD,8.5 +VTS,1,1,540,1.18,CRD,7.5 +VTS,1,1,660,1.38,CRD,8.5 +VTS,1,1,1020,5.42,CRD,17.5 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,900,1.92,CSH,11 +VTS,1,1,1680,7.72,CRD,26 +VTS,1,1,1140,2.94,CSH,14.5 +VTS,1,1,480,1.99,CRD,8 +VTS,1,1,540,2.22,CRD,9.5 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,420,2.04,CRD,8 +VTS,1,1,300,1.13,CRD,6 +VTS,1,1,360,0.64,CRD,5.5 +VTS,1,1,1800,10.43,CRD,32.5 +VTS,1,1,360,1.53,CRD,7 +VTS,1,1,300,1.3,CRD,6 +VTS,1,1,420,1.67,CSH,7.5 +VTS,1,1,360,0.91,CRD,5.5 +VTS,1,1,1200,3.85,CSH,16.5 +VTS,1,1,600,2.57,CRD,10 +VTS,1,1,420,0.88,CSH,6.5 +VTS,1,1,1200,2.6,CRD,14 +VTS,1,1,720,4.47,CRD,15.5 +VTS,1,1,1740,10.04,CRD,32.5 +VTS,1,1,1020,5.14,CRD,19 +VTS,1,1,660,1.56,CSH,9 +VTS,1,1,2220,6.34,CSH,28 +VTS,1,1,1080,2.4,CSH,13.5 +VTS,1,1,960,3.54,CSH,13.5 +VTS,1,1,720,3.68,CRD,13 +VTS,1,1,180,0.56,CSH,4 +VTS,1,1,120,0.63,CRD,4 +VTS,1,1,900,3.85,CSH,15 +VTS,1,1,1020,3.02,CRD,13 +VTS,1,1,180,0.62,CRD,4 +VTS,1,1,960,3.23,CSH,13.5 +VTS,1,1,660,1.69,CRD,9.5 +VTS,1,1,720,2.24,CRD,10 +VTS,1,1,840,2.58,CRD,12 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,240,0.69,CSH,5 +VTS,1,1,1140,2.23,CSH,12 +VTS,1,1,360,1.44,CRD,7 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,1560,5.22,CRD,21.5 +VTS,1,1,240,1.15,CSH,5.5 +VTS,1,1,1740,3.36,CRD,19.5 +VTS,1,1,1320,2.59,CRD,15.5 +VTS,1,1,360,0.91,CRD,6 +VTS,1,1,1380,3.13,CRD,15.5 +VTS,1,1,1020,2.93,CRD,14 +VTS,1,1,420,1.14,CRD,7 +VTS,1,1,480,0.84,CSH,6.5 +VTS,1,1,420,1.16,CRD,7 +VTS,1,1,480,1.49,CSH,7.5 +VTS,1,1,540,1.57,CRD,8 +VTS,1,1,720,1.98,CRD,9.5 +VTS,1,1,360,0.72,CRD,6 +VTS,1,1,960,5.43,CRD,18 +VTS,1,1,120,0.76,CSH,4.5 +VTS,1,1,120,0.02,CRD,3 +VTS,1,1,600,2.32,CSH,10 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,300,1.3,CRD,6.5 +VTS,1,1,540,1.66,CRD,8 +VTS,1,1,300,0.75,CSH,5.5 +VTS,1,1,780,3.18,CRD,12.5 +VTS,1,1,1320,2.74,CRD,15.5 +VTS,1,1,780,2.05,CSH,10.5 +VTS,1,1,300,1.82,CRD,7.5 +VTS,1,1,420,1.58,CSH,7 +VTS,1,1,360,0.94,CRD,6.5 +VTS,1,1,960,1.58,CSH,11 +VTS,1,1,480,1.42,CRD,7.5 +VTS,1,1,780,1.94,CRD,10.5 +VTS,1,1,600,2,CRD,9.5 +VTS,1,1,420,0.84,CSH,6.5 +VTS,1,1,480,1.89,CSH,8 +VTS,1,1,240,0.91,CRD,5.5 +VTS,1,1,660,1.46,CRD,9 +VTS,1,1,600,1.08,CSH,8 +VTS,1,1,660,1.5,CRD,9 +VTS,1,1,1140,3.43,CRD,15.5 +VTS,1,1,660,1.44,CSH,9 +VTS,1,1,1320,4.22,CSH,17.5 +VTS,1,1,0,0.02,CRD,2.5 +VTS,1,1,1080,8.1,CRD,24 +VTS,1,1,840,2.09,CSH,11 +VTS,1,1,600,1.82,CSH,8 +VTS,1,1,720,3.02,CSH,11 +VTS,1,1,540,1.35,CSH,8 +VTS,1,1,540,1.9,CRD,8.5 +VTS,1,1,720,1.02,CSH,8.5 +VTS,1,1,1080,3.35,CRD,15 +VTS,1,1,2100,9.74,CRD,34 +VTS,1,1,600,2.53,CRD,10 +VTS,1,1,1020,2.25,CSH,12.5 +VTS,1,1,480,1.23,CRD,7.5 +VTS,1,1,360,1.59,CRD,7.5 +VTS,1,1,420,1.47,CRD,7.5 +VTS,1,1,420,1.94,CSH,8 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,1080,3.92,CRD,16 +VTS,1,1,120,0.57,CSH,4 +VTS,1,1,780,2.33,CRD,11 +VTS,1,1,660,1.75,CRD,9.5 +VTS,1,1,540,1.73,CRD,8.5 +VTS,1,1,1500,3.62,CSH,18 +VTS,1,1,1560,7.58,CRD,24 +VTS,1,1,660,2.29,CSH,9.5 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,420,1.11,CRD,7 +VTS,1,1,480,1.15,CSH,7.5 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,1080,5.21,CSH,17.5 +VTS,1,1,1680,4.88,CSH,20.5 +VTS,1,1,960,2.84,CRD,12.5 +VTS,1,1,1140,4.03,CRD,15.5 +VTS,1,1,1140,4.49,CRD,17 +VTS,1,1,480,0.99,CSH,6.5 +VTS,1,1,660,1.32,CRD,8.5 +VTS,1,1,240,0.79,CSH,5 +VTS,1,1,960,3.11,CRD,13.5 +VTS,1,1,900,2.29,CRD,12 +VTS,1,1,300,1.16,CSH,6.5 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,840,2.7,CRD,12 +VTS,1,1,480,1.64,CSH,8 +VTS,1,1,1140,3.78,CRD,15.5 +VTS,1,1,1260,4.05,CSH,17 +VTS,1,1,180,0.89,CSH,5 +VTS,1,1,660,3.42,CSH,12.5 +VTS,1,1,2040,12.86,CRD,37 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,600,0.93,CRD,8 +VTS,1,1,420,0.82,CSH,6.5 +VTS,1,1,1560,5.82,CSH,22 +VTS,1,1,600,1.5,CRD,8.5 +VTS,1,1,360,0.83,CSH,5.5 +VTS,1,1,840,2.13,CRD,11 +VTS,1,1,240,0.56,CRD,4.5 +VTS,1,1,240,0.78,CRD,5 +VTS,1,1,1800,3.95,CSH,20 +VTS,1,1,600,1.51,CRD,9 +VTS,1,1,600,2.32,CRD,10 +VTS,1,1,1200,2.05,CRD,13.5 +VTS,1,1,960,2.91,CRD,13 +VTS,1,1,540,2.03,CRD,9.5 +VTS,1,1,660,1.92,CSH,9.5 +VTS,1,1,780,1.75,CSH,10.5 +VTS,1,1,900,3.74,CSH,14.5 +VTS,1,1,1200,2.32,CSH,14.5 +VTS,1,1,720,1.41,CSH,9.5 +VTS,1,1,720,0.71,CSH,9 +VTS,1,1,300,1.41,CRD,6.5 +VTS,1,1,1380,7.99,CRD,26 +VTS,1,1,420,1.23,CRD,7 +VTS,1,1,1380,4.87,CRD,19.5 +VTS,1,1,420,0.92,CSH,6.5 +VTS,1,1,600,2.23,CSH,9.5 +VTS,1,1,480,1.4,CSH,8 +VTS,1,1,480,1.3,CRD,7.5 +VTS,1,1,480,0.48,CSH,6 +VTS,1,1,1440,2.19,CRD,15.5 +VTS,1,1,900,2.07,CRD,11.5 +VTS,1,1,900,2.87,CRD,12.5 +VTS,1,1,540,1.62,CRD,8 +VTS,1,1,720,1.47,CRD,9 +VTS,1,1,840,2.2,CSH,11 +VTS,1,1,60,0.53,CSH,3.5 +VTS,1,1,120,0.65,CRD,4 +VTS,1,1,840,2.17,CRD,11.5 +VTS,1,1,1560,2.29,CRD,17 +VTS,1,1,360,0.89,CSH,6 +VTS,1,1,540,1.99,CSH,9.5 +VTS,1,1,1320,9.78,CRD,28.5 +VTS,1,1,840,3.37,CSH,12.5 +VTS,1,1,600,2.64,CRD,10 +VTS,1,1,1020,2.54,CRD,12.5 +VTS,1,1,900,1.82,CRD,11 +VTS,1,1,780,1.39,CRD,9.5 +VTS,1,1,600,2.31,CRD,9.5 +VTS,1,1,840,3.3,CSH,13 +VTS,1,1,840,1.95,CSH,10.5 +VTS,1,1,720,1.96,CRD,10 +VTS,1,1,1020,2.37,CRD,12.5 +VTS,1,1,720,1.15,CSH,8.5 +VTS,1,1,540,1.05,CRD,7.5 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,720,1.61,CSH,10 +VTS,1,1,780,3.31,CRD,13 +VTS,1,1,1800,15.84,CSH,44.5 +VTS,1,1,720,3.35,CSH,12.5 +VTS,1,1,540,2.34,CSH,10 +VTS,1,1,1140,12.61,CRD,34.5 +VTS,1,1,780,1.79,CRD,10 +VTS,1,1,360,0.82,CRD,6 +VTS,1,1,1380,10.99,CSH,32.5 +VTS,1,1,1800,10.32,CRD,33.5 +VTS,1,1,360,1.99,CSH,8 +VTS,1,1,1440,5.51,CRD,21.5 +VTS,1,1,720,5.6,CSH,16.5 +VTS,1,1,900,7.43,CRD,22 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,1620,2.8,CRD,18.5 +VTS,1,1,1560,12.45,CSH,35.5 +VTS,1,1,240,0.4,CSH,4.5 +VTS,1,1,360,1.2,CSH,6.5 +VTS,1,1,360,1.13,CRD,6 +VTS,1,1,240,1.05,CRD,5.5 +VTS,1,1,300,1.19,CRD,6 +VTS,1,1,840,4.13,CRD,15 +VTS,1,1,1680,12.33,CSH,36.5 +VTS,1,1,1320,1.81,CRD,14.5 +VTS,1,1,960,2.16,CRD,12 +VTS,1,1,1140,1.18,CSH,12 +VTS,1,1,420,0.98,CRD,6.5 +VTS,1,1,480,1.92,CSH,8.5 +VTS,1,1,1800,8.81,CSH,27.5 +VTS,1,1,840,2.96,CRD,12.5 +VTS,1,1,2280,6.44,CSH,27 +VTS,1,1,360,0.6,CRD,5.5 +VTS,1,1,420,1.61,CRD,8 +VTS,1,1,780,2.82,CRD,13 +VTS,1,1,360,1.39,CRD,7 +VTS,1,1,960,4.56,CSH,17 +VTS,1,1,720,1.86,CSH,9.5 +VTS,1,1,240,1.17,CRD,5.5 +VTS,1,1,1140,3.08,CRD,14.5 +VTS,1,1,360,0.99,CSH,5.5 +VTS,1,1,480,0.92,CSH,6.5 +VTS,1,1,2340,3.09,CRD,23.5 +VTS,1,1,420,1.3,CSH,7 +VTS,1,1,240,0.84,CRD,5 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,3240,10.77,CRD,42.5 +VTS,1,1,960,2.69,CSH,12.5 +VTS,1,1,1080,4.42,CRD,16 +VTS,1,1,360,1.08,CSH,6 +VTS,1,1,900,2.47,CRD,12 +VTS,1,1,480,1.57,CRD,8 +VTS,1,1,1200,4.89,CSH,17.5 +VTS,1,1,720,2.4,CSH,10 +VTS,1,1,1620,6.23,CRD,23 +VTS,1,1,480,2.31,CSH,9 +VTS,1,1,1800,7.18,CSH,27 +VTS,1,1,120,0.43,CSH,4 +VTS,1,1,720,1.76,CRD,9.5 +VTS,1,1,960,3.08,CSH,13 +VTS,1,1,1800,5.93,CRD,24 +VTS,1,1,1500,9.08,CRD,29.5 +VTS,1,1,480,3.14,CSH,11.5 +VTS,1,1,1980,11.08,CSH,34.5 +VTS,1,1,2160,10.09,CSH,35 +VTS,1,1,960,3.79,CSH,15 +VTS,1,1,240,1.11,CRD,5.5 +VTS,1,1,180,1.43,CSH,6 +VTS,1,1,540,1.52,CRD,8 +VTS,1,1,600,1.96,CSH,9 +VTS,1,1,480,0.89,CSH,6.5 +VTS,1,1,1500,18,CSH,48.5 +VTS,1,1,1320,4,CRD,17.5 +VTS,1,1,1320,2.22,CRD,14.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,540,1.34,CSH,8 +VTS,1,1,540,1.12,CSH,7.5 +VTS,1,1,1140,9.68,CRD,28 +VTS,1,1,840,2.91,CSH,12 +VTS,1,1,420,1.22,CSH,7 +VTS,1,1,120,0.46,CSH,4 +VTS,1,1,300,0.92,CSH,6 +VTS,1,1,540,1.33,CSH,8 +VTS,1,1,1320,5.31,CSH,20.5 +VTS,1,1,660,2.19,CRD,9.5 +VTS,1,1,240,0.55,CSH,5 +VTS,1,1,660,3,CSH,12 +VTS,1,1,1260,5.12,CRD,18.5 +VTS,1,1,840,1.88,CRD,10 +VTS,1,1,600,2.3,CSH,9.5 +VTS,1,1,1020,1.97,CRD,12 +VTS,1,1,780,1.97,CSH,10 +VTS,1,1,1320,2.89,CRD,15.5 +VTS,1,1,660,1.35,CSH,8.5 +VTS,1,1,480,1.82,CRD,8 +VTS,1,1,780,2.62,CRD,11 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,1,1800,3.83,CSH,20 +VTS,1,1,240,1.04,CSH,6 +VTS,1,1,420,1.75,CSH,7.5 +VTS,1,1,900,2.73,CSH,12.5 +VTS,1,1,480,0.86,CSH,6.5 +VTS,1,1,600,2.7,CRD,10.5 +VTS,1,1,660,1.37,CRD,9 +VTS,1,1,660,2.94,CRD,11 +VTS,1,1,1320,2.44,CRD,14.5 +VTS,1,1,720,1.64,CRD,9 +VTS,1,1,1080,2.84,CRD,14.5 +VTS,1,1,180,1.17,CRD,5 +VTS,1,1,900,5.2,CRD,18 +VTS,1,1,1260,8.69,CRD,26.5 +VTS,1,1,780,4.61,CRD,16 +VTS,1,1,1500,9.87,CSH,31 +VTS,1,1,660,3.8,CSH,12.5 +VTS,1,1,540,2.16,CRD,9 +VTS,1,1,1020,5.3,CSH,19 +VTS,1,1,1440,7.15,CRD,24.5 +VTS,1,1,540,2.71,CSH,10 +VTS,1,1,900,2.64,CRD,12.5 +VTS,1,1,240,0.56,CRD,4.5 +VTS,1,1,480,2.06,CRD,8.5 +VTS,1,1,3000,8.46,CRD,34 +VTS,1,1,900,2.7,CRD,12.5 +VTS,1,1,660,1.91,CRD,9.5 +VTS,1,1,240,0.93,CRD,5.5 +VTS,1,1,240,1.46,CRD,6.5 +VTS,1,1,540,1.71,CSH,8.5 +VTS,1,1,240,0.85,CSH,5 +VTS,1,1,1200,5.96,CRD,20.5 +VTS,1,1,1020,5.74,CRD,19 +VTS,1,1,540,1.58,CSH,8.5 +VTS,1,1,420,1.92,CSH,8 +VTS,1,1,180,1.13,CRD,5 +VTS,1,1,240,0.98,CSH,5 +VTS,1,1,720,1.79,CRD,10 +VTS,1,1,420,1.87,CSH,8 +VTS,1,1,720,6.26,CRD,19 +VTS,1,1,1440,11.6,CSH,34.5 +VTS,1,1,780,4,CRD,15 +VTS,1,1,600,1.71,CRD,8.5 +VTS,1,1,720,1.21,CSH,9 +VTS,1,1,1920,3.74,CRD,21 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,1320,5.05,CRD,19.5 +VTS,1,1,60,0.45,CRD,3.5 +VTS,1,1,720,1.95,CSH,10 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,660,1.62,CSH,9 +VTS,1,1,840,2.63,CRD,11.5 +VTS,1,1,540,2.1,CRD,9 +VTS,1,1,960,2.59,CRD,12 +VTS,1,1,420,1.42,CRD,7 +VTS,1,1,660,2.4,CSH,10 +VTS,1,1,780,2.04,CRD,10 +VTS,1,1,420,0.98,CRD,7 +VTS,1,1,480,1.68,CRD,7.5 +VTS,1,1,1680,3.4,CSH,14 +VTS,1,1,180,0.34,CRD,4 +VTS,1,1,600,2.09,CSH,9 +VTS,1,1,540,2.48,CSH,10 +VTS,1,1,480,3.35,CSH,11.5 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,300,1.07,CRD,6 +VTS,1,1,420,2.46,CRD,9 +VTS,1,1,300,1.42,CRD,6.5 +VTS,1,1,2040,9.95,CSH,34.5 +VTS,1,1,720,5.74,CRD,18 +VTS,1,1,420,1.02,CSH,6.5 +VTS,1,1,720,1.37,CRD,9 +VTS,1,1,1920,10.79,CRD,34.5 +VTS,1,1,360,0.43,CSH,5 +VTS,1,1,1440,2.43,CRD,15.5 +VTS,1,1,300,0.7,CRD,5 +VTS,1,1,480,4.41,CRD,14 +VTS,1,1,300,1.53,CSH,6.5 +VTS,2,1,2400,20.52,CRD,52 +VTS,1,1,0,0.06,CSH,2.5 +VTS,1,1,780,6.41,CRD,19.5 +VTS,1,1,1320,6.35,CSH,21.5 +VTS,1,1,1260,4.76,CSH,18.5 +VTS,1,1,360,1,CRD,6 +VTS,1,1,960,4.28,CRD,16 +VTS,1,1,1260,6.25,CSH,21.5 +VTS,2,1,2040,19.82,CRD,52 +VTS,1,1,1320,12.7,CRD,35 +VTS,1,1,840,5.83,CSH,18.5 +VTS,1,1,1380,8.63,CSH,26.5 +VTS,1,1,660,1.15,CSH,8.5 +VTS,1,1,540,2.35,CRD,10 +VTS,1,1,720,3.31,CSH,12 +VTS,1,1,660,3.9,CSH,13.5 +VTS,1,1,120,0.41,CRD,4 +VTS,1,1,600,3.26,CSH,12 +VTS,1,1,840,2.56,CRD,11.5 +VTS,1,1,360,2.15,CSH,8.5 +VTS,1,1,540,2.01,CSH,9.5 +VTS,1,1,1680,8.81,CSH,28.5 +VTS,1,1,660,3.6,CRD,13 +VTS,1,1,720,4.06,CRD,14 +VTS,1,1,360,2.26,CRD,8 +VTS,1,1,480,0.95,CRD,6.5 +VTS,1,1,600,1.12,CRD,7.5 +VTS,1,1,960,2.78,CRD,13 +VTS,1,1,2460,26.53,CSH,70 +VTS,1,1,780,1.83,CSH,10.5 +VTS,1,1,1020,4.47,CSH,16.5 +VTS,1,1,420,1.18,CRD,7 +VTS,1,1,600,1.24,CRD,8 +VTS,1,1,1920,11.13,CSH,34.5 +VTS,1,1,360,1.35,CRD,7 +VTS,1,1,660,3.53,CRD,13 +VTS,1,1,1380,10.09,CRD,29.5 +VTS,1,1,1200,6.19,CRD,21 +VTS,1,1,660,3.59,CSH,12.5 +VTS,1,1,0,0,CRD,2.5 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,600,4.8,CRD,15 +VTS,1,1,1620,9.91,CRD,30.5 +VTS,1,1,840,1.08,CSH,10 +VTS,1,1,1740,3.05,CSH,17.5 +VTS,1,1,720,1.89,CRD,9.5 +VTS,2,1,1800,20.39,CRD,52 +VTS,2,1,2640,18.73,CRD,52 +VTS,1,1,180,0.28,CSH,3.5 +VTS,1,1,480,2.28,CRD,9 +VTS,1,1,1200,3.16,CRD,14.5 +VTS,1,1,1080,1.29,CRD,12 +VTS,1,1,1380,3.01,CSH,16.5 +VTS,1,1,1140,3.07,CRD,15 +VTS,1,1,1020,3.41,CRD,14.5 +VTS,1,1,1380,3.96,CSH,17.5 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,540,1.09,CRD,7.5 +VTS,1,1,3180,11.24,CSH,43.5 +VTS,1,1,360,0.77,CSH,6 +VTS,1,1,240,0.95,CSH,5.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,1260,4.25,CRD,17 +VTS,1,1,60,0.07,CSH,2.5 +VTS,1,1,1080,3.08,CRD,14 +VTS,1,1,540,1.23,CRD,7.5 +VTS,1,1,1500,4.06,CRD,18.5 +VTS,1,1,780,2.39,CSH,11 +VTS,1,1,360,1.04,CRD,6.5 +VTS,1,1,360,1.01,CSH,6.5 +VTS,1,1,1020,2.94,CRD,14.5 +VTS,1,1,1140,3.57,CSH,15.5 +VTS,1,1,1560,3.54,CSH,19 +VTS,1,1,1740,10.66,CRD,34 +VTS,1,1,360,1.14,CRD,7 +VTS,2,1,2280,21.65,CRD,52 +VTS,2,1,4140,21.68,CRD,52 +VTS,1,1,1380,4.71,CRD,19.5 +VTS,1,1,660,5.2,CRD,16 +VTS,1,1,660,4.76,CRD,15 +VTS,1,1,660,2.73,CRD,11.5 +VTS,1,1,960,3.25,CSH,14 +VTS,1,1,300,1.13,CRD,6 +VTS,1,1,1080,5.86,CSH,19 +VTS,1,1,900,3.24,CSH,13.5 +VTS,1,1,1200,6.6,CSH,22 +VTS,1,1,720,1.85,CRD,9.5 +VTS,1,1,720,3.68,CRD,13 +VTS,1,1,300,1.8,CRD,7 +VTS,1,1,480,1.56,CSH,7.5 +VTS,1,1,900,1.89,CRD,11 +VTS,1,1,240,1.68,CRD,6.5 +VTS,1,1,1080,2.4,CSH,13.5 +VTS,1,1,540,1.7,CSH,8.5 +VTS,1,1,1440,8.09,CRD,26 +VTS,1,1,540,2.19,CRD,9.5 +VTS,1,1,480,4.89,CSH,14.5 +VTS,1,1,780,6.07,CRD,19 +VTS,1,1,2100,14.45,CRD,43 +VTS,1,1,1440,17.61,CRD,47 +VTS,1,1,960,8.76,CSH,25 +VTS,1,1,840,3.48,CRD,13.5 +VTS,1,1,720,3.23,CRD,12 +VTS,1,1,840,4.02,CSH,14.5 +VTS,1,1,240,1.24,CRD,5.5 +VTS,1,1,1080,6.48,CSH,20.5 +VTS,1,1,720,1.17,CSH,8.5 +VTS,1,1,480,0.92,CRD,7 +VTS,1,1,1920,10.01,CRD,33.5 +VTS,1,1,540,1.46,CSH,8 +VTS,1,1,240,0.55,CRD,4.5 +VTS,1,1,660,2.77,CRD,11 +VTS,1,1,540,3.38,CSH,12 +VTS,1,1,1440,4.17,CRD,19.5 +VTS,1,1,840,3.49,CSH,13.5 +VTS,1,1,660,3.49,CSH,12.5 +VTS,1,1,1560,8.36,CSH,27.5 +VTS,1,1,1020,5.23,CSH,18.5 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,2580,10.99,CRD,39.5 +VTS,1,1,480,0.92,CRD,6.5 +VTS,1,1,2460,2.17,CSH,23.5 +VTS,1,1,1440,7.41,CRD,25 +VTS,1,1,1080,4.83,CRD,17.5 +VTS,1,1,960,3.52,CRD,14.5 +VTS,1,1,1080,6.33,CSH,20 +VTS,1,1,660,1.07,CRD,8 +VTS,1,1,180,0.22,CSH,3.5 +VTS,1,1,60,0.49,CRD,3.5 +VTS,1,1,1440,8.77,CRD,27 +VTS,1,1,780,4.86,CSH,15.5 +VTS,1,1,60,0.52,CRD,3.5 +VTS,1,1,1500,9.13,CSH,28 +VTS,1,1,660,3.77,CRD,13 +VTS,1,1,1680,13.38,CSH,39.5 +VTS,1,1,480,1.41,CRD,7.5 +VTS,1,1,120,0.65,CRD,4 +VTS,1,2,540,2.3,CRD,9.5 +VTS,1,1,240,0.87,CSH,5 +VTS,1,1,1260,4.24,CRD,17 +VTS,2,1,1920,16.83,CRD,52 +VTS,2,1,3660,23.03,CSH,52 +VTS,1,1,600,1.81,CRD,9 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,300,0.67,CSH,5.5 +VTS,1,1,1800,9.92,CRD,32.5 +VTS,1,1,600,2.31,CRD,9.5 +VTS,1,1,3120,23.47,CRD,68.5 +VTS,1,1,360,0.76,CSH,5.5 +VTS,1,1,2940,4.04,CSH,28 +VTS,1,1,780,1.32,CRD,9.5 +VTS,1,1,120,0.15,CRD,3.5 +VTS,1,1,780,1.86,CRD,9.5 +VTS,1,1,660,1.37,CSH,8.5 +VTS,1,1,600,2.46,CRD,10.5 +VTS,1,1,480,1.94,CSH,8.5 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,180,0.97,CRD,4.5 +VTS,1,1,360,1.07,CRD,6 +VTS,2,1,2160,21.42,CRD,52 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,720,2.47,CRD,11 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,660,2.82,CRD,11 +VTS,1,1,1320,4.85,CRD,18 +VTS,1,1,900,2.43,CSH,11.5 +VTS,2,1,1800,19.74,CSH,52 +VTS,1,1,660,2.56,CRD,10.5 +VTS,1,1,180,0.96,CRD,5 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,720,2.66,CRD,11.5 +VTS,1,1,540,4.15,CRD,13.5 +VTS,1,1,2400,22.72,CSH,63 +VTS,1,1,1260,6.97,CRD,24 +VTS,1,1,420,1.4,CRD,7 +VTS,2,1,0,0,CRD,52 +VTS,1,1,780,1.05,CRD,9.5 +VTS,1,1,900,5.75,CRD,18.5 +VTS,1,1,360,0.86,CRD,5.5 +VTS,1,1,600,2.98,CRD,11 +VTS,1,1,540,1.24,CSH,8 +VTS,1,1,660,1.66,CSH,8 +VTS,1,1,1080,3.08,CSH,14 +VTS,1,1,780,2.25,CRD,11.5 +VTS,1,1,840,2.27,CRD,11.5 +VTS,1,1,1200,3.23,CSH,15.5 +VTS,1,1,2280,6.82,CSH,28.5 +VTS,1,1,600,4.69,CRD,14 +VTS,1,1,1260,7.09,CRD,24 +VTS,1,1,780,0.93,CRD,9.5 +VTS,1,1,900,2.43,CRD,12 +VTS,1,1,660,5.79,CRD,18 +VTS,1,1,180,1.17,CSH,5.5 +VTS,1,1,1380,7.71,CSH,24.5 +VTS,1,1,600,3.32,CRD,11.5 +VTS,1,1,1920,9.3,CRD,32 +VTS,1,1,2160,9.63,CRD,33.5 +VTS,1,1,840,1.01,CSH,9.5 +VTS,1,1,120,0.69,CSH,4 +VTS,1,1,420,0.77,CRD,6 +VTS,1,1,1260,5.14,CSH,18 +VTS,1,1,300,1.32,CRD,6.5 +VTS,1,1,960,3.87,CSH,14.5 +VTS,1,1,1680,14.16,CRD,40 +VTS,1,1,840,3.42,CSH,13.5 +VTS,1,1,540,2.79,CRD,10.5 +VTS,1,1,720,5.28,CRD,17 +VTS,1,1,240,0.85,CRD,5 +VTS,1,1,180,0.34,CSH,3.5 +VTS,1,1,300,1.12,CRD,6 +VTS,1,1,360,1.43,CSH,6.5 +VTS,2,1,3480,19.27,CSH,52 +VTS,1,1,1200,1.29,CRD,13 +VTS,1,1,1080,6.16,CRD,21 +VTS,2,1,1620,20.24,CRD,52 +VTS,1,1,840,1.72,CRD,10 +VTS,1,1,1140,6.01,CRD,21 +VTS,1,1,1320,9.16,CRD,27.5 +VTS,1,1,420,2.34,CRD,9.5 +VTS,1,1,480,1.58,CRD,8 +VTS,1,1,420,0.86,CRD,6.5 +VTS,1,1,1620,10.26,CSH,31.5 +VTS,1,1,840,3.45,CRD,14 +VTS,2,1,2100,20.1,CRD,52 +VTS,1,1,1500,5.94,CRD,22 +VTS,1,1,900,2.43,CRD,12 +VTS,1,1,540,1.86,CSH,8.5 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,1440,11.38,CSH,34 +VTS,1,1,780,2.47,CRD,11 +VTS,1,1,960,2.5,CSH,12 +VTS,1,1,300,0.67,CSH,5.5 +VTS,1,1,660,1.96,CSH,9.5 +VTS,1,1,1980,9.46,CSH,32.5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,900,2.03,CRD,11.5 +VTS,1,1,3420,9.34,CRD,42.5 +VTS,1,1,1800,6.52,CSH,25 +VTS,1,1,120,0.52,CSH,3.5 +VTS,1,1,480,1.21,CRD,7 +VTS,1,1,1740,7.28,CRD,26 +VTS,1,1,360,1.28,CRD,6.5 +VTS,1,1,840,4.75,CRD,17 +VTS,1,1,480,1.15,CSH,7 +VTS,1,1,420,1.25,CSH,6.5 +VTS,1,1,1140,3.64,CRD,14.5 +VTS,1,1,420,1.34,CRD,6.5 +VTS,1,1,1620,4.93,CRD,20.5 +VTS,1,1,660,2.36,CRD,10.5 +VTS,1,1,360,0.94,CSH,6 +VTS,1,1,900,1.56,CSH,10.5 +VTS,1,1,1080,4.94,CRD,17.5 +VTS,1,1,660,0.87,CSH,8 +VTS,1,1,120,0.94,CSH,4.5 +VTS,1,1,720,2.94,CRD,11.5 +VTS,1,1,1200,9.05,CRD,26.5 +VTS,1,1,1740,15.63,CRD,43.5 +VTS,1,1,900,2.81,CRD,12.5 +VTS,5,1,360,2.56,CRD,45 +VTS,1,1,1920,5.94,CSH,24 +VTS,1,1,600,1.95,CSH,9.5 +VTS,1,1,1080,11.27,CSH,32 +VTS,2,1,1500,18.29,CRD,52 +VTS,1,1,2460,21.41,CRD,59.5 +VTS,1,1,600,4.1,CRD,13.5 +VTS,1,1,1380,6.91,CSH,24 +VTS,1,1,300,1.52,CSH,7 +VTS,1,1,780,2.05,CRD,10.5 +VTS,1,1,660,0.9,CRD,8 +VTS,1,1,360,1.46,CSH,7 +VTS,1,1,300,1.07,CRD,6 +VTS,1,1,120,0.56,CRD,4 +VTS,1,1,720,1.81,CSH,10 +VTS,1,1,1500,5.02,CSH,19.5 +VTS,1,1,900,1.59,CRD,10.5 +VTS,1,1,960,6.13,CRD,20 +VTS,1,1,840,1.6,CSH,10 +VTS,1,1,780,1.46,CRD,9.5 +VTS,1,1,1200,4.02,CRD,17 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,660,1.87,CRD,10 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,480,1.28,CRD,7 +VTS,1,1,780,3.09,CSH,12 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,960,4.19,CRD,16 +VTS,1,1,720,2.07,CRD,11 +VTS,1,1,840,2.41,CRD,11.5 +VTS,2,1,2640,18.99,CRD,52 +VTS,1,1,960,1.76,CSH,10.5 +VTS,1,1,540,1.71,CRD,8.5 +VTS,1,1,420,0.68,CRD,6 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,240,0.76,CSH,5 +VTS,1,1,240,1.33,CRD,6 +VTS,1,1,240,1.07,CSH,5 +VTS,1,1,1380,9.99,CSH,29.5 +VTS,1,1,480,1.02,CSH,7 +VTS,1,1,1260,3.19,CRD,15 +VTS,1,1,360,1.52,CSH,7.5 +VTS,1,1,1200,8.13,CRD,25.5 +VTS,1,1,0,0,CRD,2.5 +VTS,1,1,0,0,CRD,2.5 +VTS,1,1,720,1.9,CRD,9.5 +VTS,1,1,1680,13.22,CRD,38.5 +VTS,2,1,1500,16.85,CRD,52 +VTS,1,2,1740,11.52,CRD,35 +VTS,1,1,1200,3.01,CSH,14.5 +VTS,1,1,660,1,CRD,8 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,120,0.52,CSH,4 +VTS,1,1,660,2.62,CRD,11 +VTS,1,1,360,1.09,CRD,6 +VTS,2,1,2400,19.67,CRD,52 +VTS,1,1,480,0.56,CSH,7 +VTS,1,1,1620,6,CRD,22.5 +VTS,1,1,1500,2.1,CRD,15.5 +VTS,1,1,240,0.96,CSH,5.5 +VTS,1,1,540,3.31,CSH,11.5 +VTS,1,1,840,3.36,CRD,13 +VTS,1,1,660,3.29,CRD,12.5 +VTS,1,1,900,2.86,CRD,12.5 +VTS,1,1,420,0.7,CSH,5.5 +VTS,1,1,420,1.11,CSH,6.5 +VTS,1,1,960,4.02,CSH,15 +VTS,1,1,300,0.61,CSH,5 +VTS,1,1,300,0.57,CSH,5 +VTS,1,1,300,1.06,CRD,6 +VTS,1,1,480,0.84,CSH,6.5 +VTS,1,1,480,0.71,CRD,6.5 +VTS,1,1,780,4.27,CSH,15.5 +VTS,1,1,480,0.98,CRD,7 +VTS,1,1,600,1.96,CSH,9 +VTS,1,1,660,4.09,CSH,13.5 +VTS,1,1,420,0.76,CSH,6 +VTS,1,1,720,0.97,CSH,8.5 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,1,660,1.54,CRD,9 +VTS,1,1,1860,9.5,CRD,31.5 +VTS,1,1,1320,8.96,CSH,28 +VTS,1,1,960,3.93,CRD,16 +VTS,1,1,900,5.15,CRD,18 +VTS,1,1,180,0.93,CSH,5 +VTS,1,1,480,1.95,CRD,8 +VTS,1,1,840,4.47,CRD,15.5 +VTS,1,1,180,1.07,CSH,5 +VTS,1,1,1020,1.39,CRD,11.5 +VTS,1,1,1140,9.09,CRD,27 +VTS,1,1,1320,10,CRD,29 +VTS,1,1,1740,9.87,CRD,32 +VTS,1,1,720,2.21,CRD,11 +VTS,1,1,1380,7.09,CRD,24 +VTS,1,1,180,0.26,CSH,4 +VTS,1,1,1380,3.39,CRD,16.5 +VTS,1,1,540,1.48,CSH,8 +VTS,1,1,180,0.62,CRD,4 +VTS,2,1,2640,22.72,CSH,52 +VTS,1,1,780,1.34,CSH,10 +VTS,1,1,720,3.55,CRD,12.5 +VTS,1,1,540,1.36,CRD,8 +VTS,4,1,0,0,CSH,2.5 +VTS,1,1,420,0.94,CRD,6 +VTS,1,1,660,2.04,CRD,9 +VTS,1,1,840,4.91,CRD,16.5 +VTS,1,1,240,0.84,CRD,5 +VTS,1,1,420,1.86,CRD,8 +VTS,1,1,1320,11.17,CSH,31.5 +VTS,1,1,600,5.83,CRD,17 +VTS,1,1,540,1.23,CSH,8 +VTS,1,1,300,0.75,CRD,5 +VTS,1,1,300,0.7,CRD,5 +VTS,1,1,1320,13.25,CRD,36 +VTS,1,1,720,1.76,CSH,9.5 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,300,0.81,CSH,5 +VTS,1,1,960,4.83,CSH,18 +VTS,1,1,900,4.82,CRD,16.5 +VTS,1,1,300,0.8,CRD,5 +VTS,1,1,1140,3.58,CSH,15 +VTS,1,1,3960,12.64,CRD,48.5 +VTS,1,1,1140,9.63,CRD,27.5 +VTS,1,1,720,2.39,CSH,10.5 +VTS,1,1,300,1.28,CSH,6.5 +VTS,2,1,2100,17.48,CSH,52 +VTS,1,2,1620,11.23,CSH,34.5 +VTS,2,1,2100,18.93,CRD,52 +VTS,2,1,1020,2.12,CSH,52 +VTS,1,1,900,2.31,CRD,11.5 +VTS,1,2,1440,4.38,CRD,18.5 +VTS,1,1,780,2.45,CRD,11 +VTS,1,1,1560,7.4,CRD,27 +VTS,1,1,360,0.9,CSH,5.5 +VTS,1,1,540,1.18,CSH,7.5 +VTS,1,1,540,3.02,CRD,10.5 +VTS,1,1,180,1.3,CSH,5.5 +VTS,1,1,1680,11.64,CSH,34.5 +VTS,1,1,660,3.13,CSH,11.5 +VTS,1,1,1200,3.81,CSH,16.5 +VTS,1,1,540,2.38,CRD,9.5 +VTS,1,1,480,3.4,CRD,11.5 +VTS,2,1,3120,20.36,CRD,52 +VTS,1,1,1440,3.82,CSH,17.5 +VTS,1,1,180,0.53,CSH,4.5 +VTS,1,1,720,1.36,CRD,9.5 +VTS,1,1,600,5.35,CRD,16 +VTS,1,1,300,1.57,CSH,6.5 +VTS,1,1,840,6.42,CRD,20 +VTS,1,1,120,1.02,CSH,5 +VTS,1,1,2520,13.44,CSH,43.5 +VTS,1,1,1320,11.35,CRD,32.5 +VTS,1,1,1080,8.35,CSH,25 +VTS,1,1,2100,10.43,CRD,35 +VTS,1,1,360,1.55,CRD,7 +VTS,1,1,480,1.25,CSH,7 +VTS,1,1,1320,5.3,CRD,20 +VTS,1,1,540,1.18,CSH,8 +VTS,1,1,540,1.03,CSH,7 +VTS,1,1,720,1.41,CSH,8.5 +VTS,1,1,1200,3.9,CSH,17.5 +VTS,1,1,780,1.15,CRD,9 +VTS,1,1,240,0.88,CRD,5.5 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,420,1.48,CSH,7.5 +VTS,1,1,480,1.9,CSH,8.5 +VTS,1,1,960,7.97,CRD,24 +VTS,1,1,600,3.42,CSH,12.5 +VTS,1,1,420,1.59,CRD,7.5 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,240,0.67,CRD,5 +VTS,1,1,1800,10.79,CRD,34.5 +VTS,1,1,1020,7.92,CRD,23.5 +VTS,1,1,1440,10.51,CRD,30.5 +VTS,1,1,480,1.98,CSH,8.5 +VTS,1,1,480,0.99,CRD,6.5 +VTS,1,1,900,1.61,CRD,11 +VTS,1,1,840,2.79,CSH,11.5 +VTS,1,1,540,1.05,CSH,7.5 +VTS,1,1,540,1.81,CRD,8.5 +VTS,1,1,720,2.14,CRD,10.5 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,1,660,2.39,CRD,10 +VTS,2,1,3060,19.48,CSH,52 +VTS,1,1,1500,4.43,CRD,19.5 +VTS,1,1,480,1.33,CRD,7 +VTS,1,1,1620,9.84,CRD,31 +VTS,1,1,240,0.83,CSH,4.5 +VTS,1,1,1260,7.39,CSH,24.5 +VTS,1,1,360,0.75,CRD,5.5 +VTS,1,1,1140,4.07,CSH,15.5 +VTS,1,1,780,7.95,CSH,22.5 +VTS,1,1,1380,6.54,CSH,22.5 +VTS,1,1,420,0.89,CSH,6 +VTS,1,1,300,0.52,CSH,5 +VTS,1,1,600,1.09,CSH,7.5 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,2400,14.33,CRD,44 +VTS,1,1,480,0.97,CSH,7 +VTS,1,1,660,1.91,CRD,10 +VTS,1,1,600,2.23,CRD,9.5 +VTS,1,1,180,0.75,CSH,5 +VTS,1,1,420,1.07,CSH,7 +VTS,2,1,2820,17.02,CRD,52 +VTS,1,1,240,0.77,CRD,5 +VTS,1,1,660,1.45,CRD,9 +VTS,1,1,540,2.04,CSH,9 +VTS,2,1,1860,17.57,CRD,52 +VTS,1,1,720,0.86,CRD,8.5 +VTS,1,1,2280,11.9,CRD,39 +VTS,1,1,1620,3.81,CRD,19 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,600,1.02,CSH,7.5 +VTS,1,1,840,3.15,CSH,13 +VTS,1,1,1860,11.35,CSH,36.5 +VTS,1,1,540,1.4,CSH,8 +VTS,2,1,3600,17.37,CSH,52 +VTS,1,1,780,1.78,CSH,9.5 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,1,1140,6.65,CSH,23 +VTS,1,1,660,1.43,CSH,8.5 +VTS,1,1,60,0.03,CSH,2.5 +VTS,1,1,1500,4.98,CRD,19.5 +VTS,1,1,1020,7.01,CSH,22 +VTS,1,1,780,5.62,CRD,17.5 +VTS,1,1,900,2.2,CSH,12 +VTS,1,1,1080,4.44,CSH,17 +VTS,1,1,540,1.93,CSH,9 +VTS,2,1,1920,18.99,CSH,52 +VTS,1,1,600,1.75,CSH,8.5 +VTS,1,1,1020,3.96,CRD,15 +VTS,1,1,1020,2.56,CSH,13 +VTS,1,1,600,1.15,CSH,7.5 +VTS,1,1,900,1.28,CRD,10 +VTS,1,1,660,1.54,CSH,8.5 +VTS,1,1,840,3.29,CSH,13 +VTS,1,1,600,4.44,CRD,14 +VTS,1,1,1080,3.35,CSH,16 +VTS,1,1,420,1.09,CRD,6.5 +VTS,1,1,300,1.04,CRD,6 +VTS,1,1,1320,9.6,CRD,29.5 +VTS,2,1,1620,17.49,CRD,52 +VTS,1,1,420,0.88,CSH,6.5 +VTS,1,1,360,1.37,CRD,6 +VTS,1,1,360,0.8,CRD,5.5 +VTS,1,1,480,2.47,CSH,9 +VTS,1,1,360,0.71,CSH,5.5 +VTS,1,1,480,1.19,CSH,7.5 +VTS,1,1,1620,11.35,CRD,35 +VTS,1,1,2460,14.32,CSH,45.5 +VTS,2,1,3000,16.89,CSH,52 +VTS,1,1,360,1.35,CRD,7 +VTS,1,1,360,0.75,CSH,6 +VTS,1,1,840,2.76,CRD,11.5 +VTS,1,1,360,1.05,CRD,6.5 +VTS,1,1,600,1.31,CRD,8.5 +VTS,1,1,1560,5.19,CRD,22.5 +VTS,1,1,1020,3.92,CRD,15 +VTS,1,1,240,1.17,CRD,5.5 +VTS,1,1,660,2.58,CRD,10.5 +VTS,1,1,360,0.76,CSH,5.5 +VTS,1,1,360,0.9,CRD,6 +VTS,1,1,540,1.24,CSH,8 +VTS,1,1,2100,11.36,CSH,36.5 +VTS,1,1,780,6.84,CSH,20 +VTS,2,1,1980,17.55,CRD,52 +VTS,1,1,1380,6.62,CRD,22 +VTS,1,1,1140,2.16,CRD,13 +VTS,1,1,420,1.85,CRD,8 +VTS,1,1,1200,8.19,CRD,25 +VTS,1,1,1920,16.98,CSH,45.5 +VTS,2,1,1800,20.18,CRD,52 +VTS,1,1,720,1.62,CSH,9 +VTS,1,1,1740,8.4,CRD,28.5 +VTS,1,1,960,3.23,CRD,13.5 +VTS,1,1,180,1.27,CSH,5.5 +VTS,1,1,840,1.28,CSH,10.5 +VTS,1,1,600,1.62,CRD,8.5 +VTS,1,1,660,1.92,CRD,10 +VTS,1,1,420,1.28,CSH,7.5 +VTS,1,1,720,1.34,CRD,8.5 +VTS,1,1,600,1.19,CSH,8.5 +VTS,1,1,1380,5.42,CRD,19.5 +VTS,1,1,420,2.42,CSH,9 +VTS,1,1,1500,5.86,CRD,22.5 +VTS,1,1,840,2.86,CSH,12 +VTS,1,1,960,2.43,CRD,12 +VTS,1,1,720,1.31,CRD,9 +VTS,1,1,540,1.56,CSH,8 +VTS,1,1,240,0.5,CSH,4.5 +VTS,2,1,1680,17.6,CRD,52 +VTS,1,1,600,1.53,CRD,8.5 +VTS,1,1,480,1.02,CRD,7 +VTS,1,1,480,1.62,CSH,7.5 +VTS,1,1,300,0.86,CRD,5 +VTS,1,2,720,2.72,CSH,11.5 +VTS,2,1,1560,17.31,CRD,52 +VTS,1,1,1500,4.1,CSH,19.5 +VTS,1,1,600,2.43,CRD,9.5 +VTS,1,1,660,3.11,CRD,11 +VTS,1,1,240,0.63,CRD,4.5 +VTS,1,1,1140,2.38,CRD,13 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,240,0.65,CSH,5 +VTS,1,1,720,3.44,CRD,12.5 +VTS,1,1,960,2.77,CRD,12.5 +VTS,1,1,780,2.4,CSH,11 +VTS,1,1,900,2.83,CRD,11.5 +VTS,1,1,720,1.72,CRD,9.5 +VTS,1,1,3000,37.1,CRD,95.5 +VTS,1,1,900,2.46,CRD,11.5 +VTS,1,1,600,1.19,CSH,8 +VTS,2,1,2520,18.84,CRD,52 +VTS,2,1,3000,17.4,CSH,52 +VTS,2,1,2760,18.5,CSH,52 +VTS,1,1,1080,4.1,CSH,16.5 +VTS,1,1,300,0.97,CSH,5.5 +VTS,2,1,2160,19.39,CSH,52 +VTS,1,1,660,1.3,CSH,8.5 +VTS,1,1,540,2.6,CRD,10 +VTS,1,1,1140,6.66,CSH,21.5 +VTS,5,1,1140,15.4,CSH,85 +VTS,5,1,60,0,CRD,80 +VTS,1,1,240,1.59,CRD,7 +VTS,1,1,420,0.91,CSH,6.5 +VTS,1,1,900,3.51,CSH,14 +VTS,1,1,600,1.38,CRD,8 +VTS,1,1,420,1.23,CSH,6.5 +VTS,1,1,900,4.32,CSH,15.5 +VTS,1,1,600,2.4,CRD,10 +VTS,1,1,360,1.36,CSH,6.5 +VTS,2,1,1800,18.1,CRD,52 +VTS,2,1,2460,20.06,CSH,52 +VTS,2,1,2400,17.86,CRD,52 +VTS,1,1,900,3.44,CSH,14 +VTS,1,1,900,2.11,CRD,11 +VTS,1,1,2400,10.25,CRD,36.5 +VTS,1,1,660,2.51,CRD,10.5 +VTS,1,1,480,1.88,CSH,8 +VTS,1,1,780,1.61,CSH,9.5 +VTS,1,1,360,0.48,CRD,5 +VTS,1,1,1020,4.11,CSH,16 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,300,0.58,CSH,5 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,1,180,0.71,CRD,4 +VTS,1,1,1620,10.52,CRD,33.5 +VTS,1,1,300,0.86,CRD,5 +VTS,1,1,300,0.58,CSH,4.5 +VTS,1,1,720,1.89,CSH,9.5 +VTS,1,1,480,1.72,CRD,8 +VTS,1,1,720,3.72,CSH,12.5 +VTS,1,1,480,2.23,CRD,9 +VTS,1,1,1200,5,CRD,19 +VTS,1,1,720,1.91,CSH,10 +VTS,1,1,780,2.88,CSH,11.5 +VTS,1,1,240,1.19,CSH,5.5 +VTS,1,1,240,1.07,CSH,5.5 +VTS,2,1,1380,17.36,CSH,52 +VTS,1,1,480,1.29,CSH,7 +VTS,1,1,540,1.68,CSH,8 +VTS,1,1,660,1.93,CSH,9 +VTS,1,1,720,0.71,CRD,8.5 +VTS,1,1,1380,10.58,CSH,30.5 +VTS,1,1,480,1.11,CSH,6.5 +VTS,1,1,240,0.86,CRD,5 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,360,1.01,CSH,5.5 +VTS,1,1,300,0.62,CRD,5 +VTS,1,1,180,0.22,CRD,3.5 +VTS,1,1,1680,5.71,CRD,22.5 +VTS,1,1,900,6,CRD,19.5 +VTS,1,1,660,1.39,CRD,8.5 +VTS,1,1,180,0.57,CSH,4 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,240,0.67,CSH,4.5 +VTS,1,1,2460,19.2,CSH,55 +VTS,1,1,420,1.16,CSH,6.5 +VTS,1,1,540,1.26,CRD,7.5 +VTS,1,1,420,1.4,CSH,7 +VTS,1,1,420,1.47,CRD,7.5 +VTS,1,1,180,0.41,CRD,4 +VTS,1,1,2220,13.54,CRD,41 +VTS,1,1,420,0.61,CRD,6 +VTS,1,1,1200,4.04,CRD,16 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,720,2.25,CRD,10.5 +VTS,1,1,660,2.26,CSH,10 +VTS,1,1,1800,13.41,CSH,40 +VTS,1,1,840,2.49,CSH,11.5 +VTS,1,1,600,2.01,CSH,9 +VTS,1,1,1200,3.8,CSH,16.5 +VTS,1,2,1500,11.28,CSH,33 +VTS,1,1,900,2.99,CSH,13.5 +VTS,1,1,300,1.39,CSH,6 +VTS,1,1,3000,13.83,CRD,47.5 +VTS,1,2,3600,22.97,CRD,64.5 +VTS,1,1,1260,4.13,CSH,16.5 +VTS,1,1,240,0.95,CSH,5 +VTS,1,1,720,1.47,CRD,9 +VTS,1,1,720,1.71,CSH,9.5 +VTS,1,1,660,2.34,CSH,11 +VTS,1,1,540,2.16,CSH,9 +VTS,2,1,1860,18.93,CRD,52 +VTS,2,1,1800,18.44,CRD,52 +VTS,1,1,240,0.77,CRD,5 +VTS,1,1,1020,2.26,CRD,12 +VTS,1,1,480,1.35,CRD,7 +VTS,1,1,360,1.37,CRD,6.5 +VTS,1,1,300,0.71,CRD,5 +VTS,1,1,1380,3.59,CSH,17.5 +VTS,1,1,540,1.41,CSH,8 +VTS,1,1,300,1.08,CRD,6 +VTS,1,1,1380,4.1,CRD,18 +VTS,1,1,900,3.63,CRD,14.5 +VTS,1,1,600,3.18,CSH,11.5 +VTS,1,1,660,1.42,CSH,8.5 +VTS,1,1,540,1.05,CSH,7.5 +VTS,1,1,1260,4.97,CRD,18.5 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,1020,3.01,CSH,14 +VTS,1,2,4020,20.8,CRD,63.5 +VTS,1,1,420,1.02,CRD,6.5 +VTS,1,1,900,1.89,CRD,11.5 +VTS,1,1,480,1.7,CSH,8 +VTS,1,1,780,2.02,CSH,10.5 +VTS,1,1,540,2.5,CRD,9.5 +VTS,1,1,480,1.42,CRD,7.5 +VTS,1,1,540,1.27,CRD,8 +VTS,1,1,1200,3.85,CRD,16 +VTS,1,1,180,0.5,CRD,4 +VTS,1,1,1920,9.48,CRD,30 +VTS,2,1,3180,33.47,CSH,52 +VTS,1,1,1740,5.76,CRD,23 +VTS,1,1,1680,2.02,CRD,17 +VTS,1,1,840,1.45,CRD,9.5 +VTS,2,1,1860,20.62,CRD,52 +VTS,1,1,360,0.6,CRD,5.5 +VTS,1,1,360,0.88,CSH,5.5 +VTS,1,1,660,1.44,CSH,8.5 +VTS,1,1,2100,5.45,CRD,26 +VTS,1,1,1740,12.85,CSH,38 +VTS,2,1,1620,17.66,CSH,52 +VTS,1,1,900,6.8,CSH,21.5 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,1200,3.13,CRD,15 +VTS,1,1,300,1.13,CRD,6 +VTS,1,1,420,0.69,CSH,6.5 +VTS,1,1,120,0.5,CRD,4 +VTS,1,1,1380,3.74,CRD,17 +VTS,1,1,540,1.86,CRD,8.5 +VTS,1,1,360,0.73,CRD,6 +VTS,1,1,720,3.05,CSH,12 +VTS,1,1,540,0.89,CRD,7 +VTS,1,1,180,0.77,CRD,4.5 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,420,1.07,CRD,6.5 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,2040,3.26,CRD,21 +VTS,1,1,780,1.45,CRD,9.5 +VTS,1,1,600,1.84,CRD,8.5 +VTS,1,1,840,2.9,CRD,12 +VTS,1,1,780,2.71,CRD,11.5 +VTS,1,1,600,1.6,CSH,8.5 +VTS,1,1,960,2.09,CSH,11.5 +VTS,1,1,360,0.7,CSH,6 +VTS,1,1,1020,2.52,CRD,12 +VTS,1,1,1380,4.47,CSH,18.5 +VTS,2,1,1860,18.86,CRD,52 +VTS,1,1,240,0.93,CRD,5.5 +VTS,1,1,480,1.75,CSH,8.5 +VTS,1,1,360,1.36,CSH,6.5 +VTS,2,1,1980,20.1,CRD,52 +VTS,2,1,3420,18.57,CRD,52 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,720,1.93,CSH,10 +VTS,1,1,780,1.81,CRD,10.5 +VTS,1,1,360,0.87,CRD,6 +VTS,1,1,1260,4.94,CRD,18 +VTS,1,1,1260,4.02,CRD,17.5 +VTS,1,1,360,0.77,CRD,5.5 +VTS,1,1,540,1.63,CSH,8.5 +VTS,2,1,2760,19.02,CSH,52 +VTS,1,1,1080,2.38,CRD,13 +VTS,1,1,960,2.59,CSH,12 +VTS,1,1,1740,4.32,CSH,20.5 +VTS,1,1,540,1.81,CRD,8 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,1,300,2.02,CRD,7.5 +VTS,1,1,420,1.02,CSH,6.5 +VTS,1,1,840,3.17,CRD,12.5 +VTS,1,1,960,3.58,CRD,13.5 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,1440,5.84,CSH,22 +VTS,2,1,1440,17,CRD,52 +VTS,1,1,780,6.2,CSH,19.5 +VTS,1,1,660,1.53,CSH,9 +VTS,1,1,720,2.73,CRD,11 +VTS,1,1,1140,2.94,CRD,14.5 +VTS,1,1,360,0.86,CRD,6 +VTS,1,1,960,2.6,CSH,12 +VTS,1,1,1440,1.45,CRD,15 +VTS,1,1,780,2.03,CRD,10.5 +VTS,1,1,660,1.46,CRD,8 +VTS,1,1,720,3.92,CRD,14 +VTS,1,1,420,1.4,CSH,7 +VTS,1,1,300,1.52,CRD,6.5 +VTS,1,1,1620,10.65,CRD,32 +VTS,1,1,720,1.97,CRD,9.5 +VTS,1,1,780,2.07,CRD,10.5 +VTS,1,2,420,1.06,CSH,7 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,1200,3.74,CRD,16 +VTS,1,1,2160,9.96,CSH,34 +VTS,1,1,300,1.03,CRD,5.5 +VTS,1,1,1020,2.47,CRD,12.5 +VTS,1,1,480,0.91,CRD,6.5 +VTS,1,1,420,1.17,CRD,6.5 +VTS,1,2,120,0.41,CSH,4 +VTS,2,1,1620,19.16,CRD,52 +VTS,1,1,720,2.83,CRD,11.5 +VTS,1,1,300,0.54,CRD,5 +VTS,1,1,300,0.38,CRD,5 +VTS,1,1,480,2.03,CRD,8.5 +VTS,1,1,540,2,CRD,9 +VTS,1,1,540,0.88,CRD,7.5 +VTS,1,1,960,3.09,CRD,13 +VTS,2,1,3600,17.76,CRD,52 +VTS,1,1,120,0.57,CSH,4 +VTS,1,1,300,0.52,CRD,5 +VTS,1,1,780,1.06,CRD,9 +VTS,1,1,240,1.5,CSH,6.5 +VTS,1,1,1860,12.84,CRD,39 +VTS,5,1,2580,17.42,CRD,85 +VTS,1,1,720,1.87,CRD,9.5 +VTS,1,1,540,1.37,CRD,7.5 +VTS,1,1,480,1.59,CRD,7.5 +VTS,1,1,1080,4.61,CRD,17 +VTS,2,1,1680,16.84,CRD,52 +VTS,5,1,1980,17.96,CRD,85 +VTS,1,1,600,1.62,CSH,8 +VTS,1,1,480,1.74,CSH,8 +VTS,1,1,720,2.39,CSH,10.5 +VTS,1,1,420,2.2,CSH,8 +VTS,1,1,1560,4.5,CRD,20.5 +VTS,1,1,300,0.84,CRD,5.5 +VTS,1,1,1440,3.41,CRD,16.5 +VTS,1,1,660,1.55,CSH,8.5 +VTS,1,1,1020,3.08,CRD,13 +VTS,4,1,1440,5.41,CRD,20.5 +VTS,1,1,360,0.65,CSH,5.5 +VTS,1,1,480,1.11,CRD,6.5 +VTS,1,1,900,4,CRD,14.5 +VTS,2,1,3360,19.06,CRD,52 +VTS,1,1,480,1.76,CRD,8 +VTS,1,1,1140,3.23,CRD,14.5 +VTS,1,1,780,2.14,CRD,10.5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,1320,4,CRD,18 +VTS,1,1,780,1.43,CRD,9.5 +VTS,1,1,240,1.42,CSH,6 +VTS,1,1,780,2.05,CRD,11 +VTS,1,1,420,1.15,CSH,7 +VTS,1,1,540,0.99,CRD,7.5 +VTS,1,1,540,0.25,CSH,6.5 +VTS,2,1,2040,22.34,CRD,52 +VTS,1,1,600,3.53,CRD,11.5 +VTS,1,1,180,0.48,CRD,4 +VTS,1,1,480,1.47,CSH,7.5 +VTS,1,1,1440,6.36,CRD,22 +VTS,1,1,600,1.5,CRD,8.5 +VTS,1,1,420,0.89,CSH,6 +VTS,1,1,540,1.26,CSH,8 +VTS,1,1,720,1.95,CRD,9.5 +VTS,1,1,420,0.9,CRD,6 +VTS,2,1,3420,18.29,CSH,52 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,540,2.42,CRD,9.5 +VTS,1,1,660,1.8,CRD,9.5 +VTS,1,1,1260,5.21,CSH,19.5 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,660,2.75,CRD,10.5 +VTS,1,1,1080,2.48,CRD,13.5 +VTS,1,1,540,1.44,CSH,8 +VTS,4,1,1860,13.35,CSH,43 +VTS,2,1,2100,20.84,CRD,52 +VTS,1,1,840,3.87,CSH,14 +VTS,1,1,1020,5.82,CRD,19 +VTS,1,1,900,5.27,CRD,17.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,780,2.83,CSH,12 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,1080,2.71,CSH,13.5 +VTS,1,1,1020,2.88,CRD,13 +VTS,1,1,540,1.54,CSH,8.5 +VTS,1,1,660,6.61,CRD,19.5 +VTS,1,1,600,3.61,CRD,12.5 +VTS,1,1,2160,14.09,CRD,42 +VTS,1,1,540,1.81,CRD,8 +VTS,1,1,720,3.08,CRD,11.5 +VTS,1,1,2040,11.55,CSH,36.5 +VTS,1,1,480,1.81,CSH,8 +VTS,1,1,840,2.89,CSH,12.5 +VTS,1,1,2940,8.85,CSH,35 +VTS,1,1,480,0.74,CRD,6 +VTS,2,1,2460,15.52,CSH,52 +VTS,1,1,420,1.75,CRD,8 +VTS,1,1,720,3.47,CSH,12.5 +VTS,1,1,360,1.86,CSH,7.5 +VTS,1,1,960,3.62,CRD,13.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,420,1.44,CRD,7 +VTS,1,1,660,1.3,CRD,9 +VTS,1,1,840,2.39,CRD,11 +VTS,1,1,420,1.85,CRD,8 +VTS,1,1,1560,13,CRD,38 +VTS,1,1,600,1.4,CRD,8 +VTS,1,1,1440,3.03,CRD,17 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,900,2.87,CSH,12.5 +VTS,5,1,60,0,CRD,60 +VTS,1,1,780,1.73,CRD,10 +VTS,1,1,960,10.96,CSH,30.5 +VTS,1,1,1020,1.63,CRD,12 +VTS,1,1,420,1.06,CSH,6 +VTS,1,1,360,1.21,CRD,6.5 +VTS,1,1,360,1.52,CSH,7 +VTS,1,1,900,1.44,CSH,10.5 +VTS,1,1,300,1.19,CRD,6 +VTS,1,1,1140,6.64,CRD,21 +VTS,1,1,660,0.95,CSH,8.5 +VTS,1,1,540,1.79,CSH,8.5 +VTS,1,1,660,1.09,CSH,8 +VTS,1,1,180,1.07,CRD,5 +VTS,1,1,720,2.22,CSH,10.5 +VTS,1,1,1080,5.34,CRD,18.5 +VTS,1,1,240,0.64,CSH,5 +VTS,1,1,420,1.83,CSH,8 +VTS,1,1,540,2.71,CRD,10 +VTS,1,1,480,1.35,CSH,7.5 +VTS,1,1,420,0.69,CSH,6.5 +VTS,1,1,480,1.38,CRD,7.5 +VTS,1,1,1140,3.26,CRD,15.5 +VTS,1,1,660,2.58,CRD,10 +VTS,1,1,660,1.55,CSH,9 +VTS,1,1,1260,2.79,CRD,14.5 +VTS,1,1,960,1.99,CRD,11.5 +VTS,1,1,900,2.02,CSH,11 +VTS,2,1,1620,17.34,CSH,52 +VTS,1,1,540,2.65,CSH,10 +VTS,1,1,240,0.73,CRD,5 +VTS,1,1,180,0.55,CSH,4 +VTS,1,1,1320,3.15,CRD,15.5 +VTS,1,1,300,1.55,CSH,6.5 +VTS,1,1,960,4.3,CSH,15 +VTS,1,1,420,1.05,CRD,6 +VTS,2,1,2580,18.89,CRD,52 +VTS,1,1,240,0.57,CRD,4.5 +VTS,1,1,240,0.64,CRD,4.5 +VTS,1,1,540,1.22,CRD,7 +VTS,1,1,1200,5.91,CRD,20.5 +VTS,1,1,1080,3.27,CRD,15 +VTS,1,1,360,1.16,CRD,6.5 +VTS,1,1,660,5.24,CRD,15.5 +VTS,1,1,1560,10.28,CRD,32 +VTS,1,1,1140,3.31,CRD,16 +VTS,1,1,960,3.54,CRD,14 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,480,1.31,CRD,7 +VTS,1,1,900,3.94,CRD,14.5 +VTS,1,1,300,1.57,CRD,6.5 +VTS,1,2,420,0.87,CSH,6 +VTS,1,1,120,0.16,CSH,3 +VTS,1,1,360,0.85,CSH,5.5 +VTS,1,1,720,1.95,CSH,10 +VTS,1,1,900,4.11,CRD,15 +VTS,1,1,840,1.35,CSH,10 +VTS,1,1,360,1.07,CSH,6 +VTS,1,1,660,2.84,CRD,10.5 +VTS,1,1,600,4.03,CRD,13.5 +VTS,4,1,420,1.5,CRD,7.5 +VTS,1,1,1200,10,CSH,29.5 +VTS,1,1,420,0.91,CSH,6 +VTS,1,1,780,2.98,CRD,12.5 +VTS,1,1,840,0.85,CRD,9.5 +VTS,1,1,960,3.24,CSH,14 +VTS,1,1,900,2.68,CRD,11.5 +VTS,1,1,840,2.08,CRD,10.5 +VTS,1,1,420,0.97,CRD,6 +VTS,1,1,420,1.09,CSH,7 +VTS,1,1,360,0.88,CSH,6 +VTS,1,1,600,3.11,CSH,11.5 +VTS,1,1,840,4.34,CRD,14.5 +VTS,2,1,3240,21.18,CRD,52 +VTS,1,1,1260,2.59,CSH,14.5 +VTS,1,1,1320,4.09,CRD,17 +VTS,1,1,240,0.62,CRD,5 +VTS,1,1,780,3.12,CRD,12.5 +VTS,1,1,240,0.93,CRD,5 +VTS,1,1,840,1.27,CRD,9.5 +VTS,1,1,540,1.46,CRD,8 +VTS,1,1,180,1.35,CSH,5.5 +VTS,1,1,120,0.54,CSH,4 +VTS,1,1,300,0.7,CRD,5 +VTS,1,1,1020,4.8,CRD,18 +VTS,1,1,240,0.84,CRD,5 +VTS,1,1,420,1.32,CSH,6.5 +VTS,1,1,420,1.76,CSH,8 +VTS,1,1,600,3.17,CSH,11.5 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,600,2.03,CSH,9 +VTS,1,1,1080,2.84,CSH,14 +VTS,2,1,2580,17.48,CSH,52 +VTS,1,1,900,5.3,CRD,17 +VTS,1,1,240,0.49,CRD,5 +VTS,1,1,840,1.64,CRD,10.5 +VTS,1,1,300,1.24,CRD,5.5 +VTS,1,1,1140,3.94,CSH,16 +VTS,1,1,300,1.28,CRD,6 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,300,0.63,CRD,5 +VTS,1,1,480,1.15,CRD,7 +VTS,2,1,1980,18.53,CSH,52 +VTS,1,1,1140,2.97,CRD,14 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,300,1.55,CSH,6.5 +VTS,1,1,540,1.41,CRD,8 +VTS,1,1,360,1.2,CRD,7 +VTS,2,1,1800,18.6,CRD,52 +VTS,2,1,1680,19.37,CSH,52 +VTS,1,1,720,0.96,CRD,8.5 +VTS,1,1,600,0.99,CSH,7.5 +VTS,1,1,1140,1.99,CRD,13 +VTS,1,1,900,1.63,CSH,10.5 +VTS,2,1,1860,18.4,CSH,52 +VTS,1,1,300,1.09,CRD,5.5 +VTS,1,1,1620,3.01,CRD,18 +VTS,1,1,840,2.7,CRD,12 +VTS,1,1,1500,3.6,CRD,17.5 +VTS,1,1,720,2.18,CRD,10 +VTS,1,1,1500,7.05,CRD,24 +VTS,1,1,240,0.72,CRD,5 +VTS,2,1,1440,17.55,CRD,52 +VTS,1,1,360,1.62,CSH,7 +VTS,1,1,660,3.22,CSH,12 +VTS,1,1,540,0.85,CSH,7 +VTS,1,1,420,1.49,CSH,7 +VTS,1,1,420,1.28,CSH,7 +VTS,1,1,300,0.61,CSH,5.5 +VTS,1,1,600,1.48,CSH,8.5 +VTS,1,1,660,1.88,CRD,9.5 +VTS,1,1,120,0.19,CSH,3.5 +VTS,1,1,900,2.57,CSH,12 +VTS,2,1,3420,17.85,CSH,52 +VTS,1,1,1860,2.79,CRD,19.5 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,300,0.66,CSH,5.5 +VTS,1,1,1080,4.23,CSH,16.5 +VTS,1,1,900,4.98,CRD,17 +VTS,1,1,240,0.55,CRD,4.5 +VTS,1,1,480,1.29,CRD,7 +VTS,1,1,1080,1.92,CRD,9.5 +VTS,1,1,1980,8.22,CRD,27 +VTS,1,1,480,1.83,CRD,8.5 +VTS,1,1,120,0.23,CSH,3.5 +VTS,1,1,300,1.11,CRD,6 +VTS,1,1,1020,4.42,CRD,16 +VTS,1,1,60,0.64,CRD,4 +VTS,1,1,480,1.24,CSH,7.5 +VTS,1,1,780,2.98,CSH,12.5 +VTS,1,1,300,1.66,CRD,7 +VTS,1,1,540,1.35,CRD,8 +VTS,1,1,780,3.11,CRD,13 +VTS,1,1,1020,1.82,CSH,11.5 +VTS,1,1,300,1.1,CRD,5.5 +VTS,4,1,3960,12.74,CSH,53 +VTS,1,1,600,2.31,CRD,9.5 +VTS,1,1,660,1.39,CSH,8 +VTS,1,1,300,1.45,CRD,6.5 +VTS,1,1,660,3.41,CRD,11.5 +VTS,1,1,1020,5.33,CRD,18 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,360,0.97,CRD,6 +VTS,1,1,540,2.23,CRD,9 +VTS,1,1,960,3.71,CRD,14 +VTS,1,1,600,2.13,CRD,9 +VTS,1,1,180,1.5,CRD,6 +VTS,1,1,900,2.75,CRD,12.5 +VTS,1,1,1020,3.09,CSH,14 +VTS,1,1,840,6.12,CRD,18 +VTS,1,1,780,2.23,CSH,11 +VTS,1,1,720,1.89,CSH,10 +VTS,1,1,720,1.94,CRD,10 +VTS,1,1,480,0.58,CRD,6.5 +VTS,1,1,960,3.16,CRD,13.5 +VTS,1,1,540,1.65,CSH,8.5 +VTS,1,1,240,0.94,CRD,5 +VTS,1,1,240,1.13,CSH,5.5 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,1,240,1.13,CSH,5.5 +VTS,1,1,300,1.36,CRD,6 +VTS,1,1,300,0.61,CSH,5 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,480,2,CRD,8.5 +VTS,1,1,1680,7.6,CRD,26 +VTS,1,1,840,3.52,CRD,13.5 +VTS,1,1,180,0.37,CRD,3.5 +VTS,1,1,780,3.2,CRD,12.5 +VTS,1,1,660,2.85,CSH,11 +VTS,1,1,420,2.33,CRD,8.5 +VTS,1,1,420,1.99,CRD,8 +VTS,1,1,660,2.17,CSH,9.5 +VTS,1,1,540,1.45,CSH,8 +VTS,1,1,660,4.58,CRD,15 +VTS,1,1,840,4.02,CRD,15 +VTS,1,1,300,0.8,CSH,5 +VTS,1,1,1140,5.49,CRD,18.5 +VTS,1,1,420,0.95,CRD,6 +VTS,1,1,600,1.54,CRD,8.5 +VTS,1,1,900,1.74,CSH,11 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,240,0.87,CRD,5 +VTS,1,1,480,2.82,CSH,10 +VTS,1,1,1140,10.07,CSH,29.5 +VTS,1,1,360,1.15,CSH,6 +VTS,1,1,1140,4.28,CRD,16 +VTS,1,1,420,2.78,CRD,10.5 +VTS,1,1,840,1.49,CSH,10.5 +VTS,1,1,1500,3.95,CRD,17.5 +VTS,1,1,480,1.22,CSH,7 +VTS,1,1,840,1.96,CRD,11 +VTS,1,1,360,1.16,CSH,6.5 +VTS,1,1,480,1.11,CRD,7 +VTS,1,1,1920,12.04,CRD,35.5 +VTS,2,1,60,0.17,CSH,52 +VTS,1,1,1020,3.76,CSH,15 +VTS,1,1,360,1.01,CSH,6.5 +VTS,1,1,180,0.73,CSH,4 +VTS,1,1,1020,7.6,CRD,23 +VTS,1,1,360,0.62,CRD,5.5 +VTS,1,1,1200,5.77,CRD,20 +VTS,1,1,300,0.8,CRD,5 +VTS,1,1,360,1.14,CSH,6 +VTS,1,2,480,1.01,CRD,6.5 +VTS,1,1,480,1.31,CSH,7 +VTS,1,1,660,2.56,CSH,10 +VTS,1,1,1140,1.77,CRD,13.5 +VTS,1,1,900,1.66,CRD,11 +VTS,1,1,2040,9.87,CRD,32.5 +VTS,2,1,3420,22.26,CSH,52 +VTS,1,1,600,1.48,CSH,8.5 +VTS,1,1,600,1.03,CRD,8 +VTS,1,1,840,2.48,CRD,12 +VTS,1,1,600,1.75,CSH,8.5 +VTS,1,1,240,0.46,CRD,4 +VTS,1,1,660,1.96,CRD,9.5 +VTS,1,1,840,2.9,CSH,12 +VTS,1,1,1020,2.33,CSH,13 +VTS,1,1,1020,3.99,CSH,15.5 +VTS,1,1,480,0.94,CSH,7 +VTS,1,1,180,0.47,CSH,4 +VTS,1,1,660,2.26,CSH,10.5 +VTS,1,1,780,2.05,CRD,10 +VTS,1,1,1080,3.37,CRD,14.5 +VTS,1,1,1020,3.95,CSH,15 +VTS,1,1,420,2.7,CRD,9 +VTS,1,1,360,0.91,CRD,6 +VTS,1,1,1320,3.28,CSH,16 +VTS,1,1,360,1.61,CRD,7 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,720,2.95,CSH,11 +VTS,1,1,480,0.76,CSH,6.5 +VTS,1,1,180,0.31,CRD,3.5 +VTS,1,1,600,2.47,CSH,10 +VTS,1,1,840,2.59,CSH,11.5 +VTS,1,1,720,1.74,CSH,9.5 +VTS,1,1,660,3.97,CRD,13 +VTS,1,1,600,1.57,CRD,8 +VTS,1,1,660,1.83,CRD,9.5 +VTS,1,1,360,0.58,CSH,5.5 +VTS,1,1,720,3.01,CSH,12 +VTS,1,1,240,0.54,CRD,4.5 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,1,660,2.94,CSH,11 +VTS,1,1,540,1.42,CRD,8 +VTS,1,1,900,4.22,CSH,15 +VTS,1,1,720,2.93,CSH,11.5 +VTS,1,1,180,1.8,CSH,7 +VTS,2,1,1680,16.85,CRD,52 +VTS,1,1,960,3.61,CSH,15.5 +VTS,1,1,1680,12.53,CRD,34.5 +VTS,1,1,1020,8.8,CRD,25.5 +VTS,1,1,120,0.91,CRD,4.5 +VTS,1,1,360,0.83,CRD,5.5 +VTS,1,1,360,0.92,CSH,6 +VTS,1,1,1380,8.49,CRD,26.5 +VTS,1,1,900,2.49,CSH,12.5 +VTS,1,1,720,1.88,CRD,10 +VTS,1,1,480,2.4,CRD,9.5 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,720,6.58,CSH,20 +VTS,2,1,1620,17.13,CSH,52 +VTS,1,1,660,2.56,CRD,10 +VTS,1,1,960,2.28,CRD,12 +VTS,1,1,660,3.68,CRD,13.5 +VTS,1,1,480,1.07,CRD,6.5 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,540,0.65,CSH,7.5 +VTS,1,1,180,0.96,CSH,5 +VTS,1,1,660,3.75,CRD,12.5 +VTS,1,1,300,1.33,CRD,6 +VTS,1,1,240,1.01,CSH,5 +VTS,1,1,960,3.61,CRD,15 +VTS,1,1,960,4.05,CRD,15 +VTS,1,1,420,1.33,CRD,6.5 +VTS,1,1,1380,15.04,CRD,41 +VTS,1,1,360,1.49,CRD,7 +VTS,1,1,180,0.95,CSH,5 +VTS,1,1,2400,9.36,CRD,33 +VTS,1,1,600,1.2,CSH,7.5 +VTS,1,1,720,2.46,CRD,10.5 +VTS,1,1,780,3.48,CSH,13 +VTS,1,1,120,0.4,CRD,3.5 +VTS,1,1,420,1.22,CSH,7 +VTS,1,1,1620,9.6,CRD,29 +VTS,1,1,300,1.4,CRD,6.5 +VTS,1,1,840,5.25,CRD,17.5 +VTS,1,1,960,6.24,CSH,20.5 +VTS,1,1,840,2.35,CRD,11.5 +VTS,1,1,600,1.35,CRD,8.5 +VTS,1,1,540,2.78,CSH,11 +VTS,1,1,960,4.34,CRD,16 +VTS,1,1,660,1.36,CRD,8.5 +VTS,1,1,600,1.14,CRD,8 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,840,3.48,CRD,13.5 +VTS,1,1,420,1.16,CSH,7 +VTS,1,1,1020,5.09,CRD,17.5 +VTS,1,1,720,1.18,CSH,8.5 +VTS,1,1,420,1.18,CSH,7 +VTS,1,1,180,0.53,CSH,4 +VTS,1,1,480,0.62,CSH,6.5 +VTS,1,1,1080,2.9,CSH,13.5 +VTS,1,1,720,2.45,CSH,10.5 +VTS,1,1,720,3.69,CRD,13.5 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,300,1.08,CSH,5.5 +VTS,2,1,2400,17.22,CRD,52 +VTS,1,1,840,2.08,CRD,11 +VTS,1,1,840,2.63,CSH,11 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,300,1.41,CSH,6.5 +VTS,1,1,300,1.61,CRD,6.5 +VTS,1,1,420,1.23,CSH,7 +VTS,1,1,720,0.99,CSH,8.5 +VTS,1,1,960,1.89,CSH,11 +VTS,1,1,480,1.96,CRD,8 +VTS,1,1,840,2.96,CRD,13 +VTS,1,1,1200,3.9,CSH,16.5 +VTS,1,1,1080,5.66,CRD,18.5 +VTS,1,1,600,1.66,CSH,8.5 +VTS,1,1,600,1.65,CRD,9 +VTS,1,1,420,1.54,CRD,7 +VTS,1,1,420,1.12,CRD,7 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,180,0.81,CSH,5 +VTS,1,1,240,0.75,CRD,4.5 +VTS,1,1,600,2.07,CSH,9 +VTS,1,1,780,6.58,CRD,19.5 +VTS,1,1,120,0.59,CRD,3.5 +VTS,1,1,300,0.85,CRD,5 +VTS,1,1,420,1.87,CRD,8 +VTS,1,1,720,1.43,CSH,9 +VTS,1,1,1080,9.11,CRD,26 +VTS,1,1,540,2.01,CRD,8.5 +VTS,1,1,1800,13.18,CRD,38.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,600,0.73,CRD,7.5 +VTS,1,1,600,1.66,CRD,9 +VTS,1,1,240,0.83,CRD,4.5 +VTS,1,1,300,1.15,CSH,5.5 +VTS,1,1,1260,9.17,CRD,27.5 +VTS,2,1,1560,17.2,CRD,52 +VTS,1,1,960,4.24,CSH,16 +VTS,1,1,420,3.05,CSH,10 +VTS,1,1,660,2.17,CSH,10 +VTS,1,1,180,0.89,CSH,5 +VTS,1,1,240,0.84,CSH,5.5 +VTS,1,1,1080,2.59,CRD,13.5 +VTS,1,1,540,1.19,CRD,7.5 +VTS,1,1,660,1.06,CSH,8 +VTS,1,1,420,1.23,CRD,6.5 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,1200,1.52,CRD,13 +VTS,1,1,780,2.63,CRD,12 +VTS,1,1,300,1.14,CRD,6 +VTS,1,1,420,1.3,CRD,7.5 +VTS,1,1,300,1.43,CSH,6.5 +VTS,1,1,180,0.31,CRD,4 +VTS,1,1,840,2.01,CRD,11 +VTS,1,1,120,0.09,CSH,3 +VTS,1,1,900,1.83,CRD,10.5 +VTS,1,1,240,0.55,CSH,4 +VTS,1,1,1440,6.43,CRD,22 +VTS,1,1,1200,4.7,CRD,18 +VTS,1,1,360,1.22,CSH,6.5 +VTS,1,1,600,1.44,CRD,8.5 +VTS,1,1,540,2.26,CSH,9 +VTS,1,1,360,1,CRD,5.5 +VTS,1,1,780,1.85,CRD,10.5 +VTS,2,1,3720,16.44,CSH,52 +VTS,2,1,3120,17.33,CRD,52 +VTS,2,1,2040,18.23,CRD,52 +VTS,1,1,540,0.74,CSH,7 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,2,420,1.25,CRD,7 +VTS,1,1,960,1.83,CRD,11.5 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,1,660,2.17,CRD,10 +VTS,1,1,600,1.38,CRD,8 +VTS,1,1,540,2.83,CRD,10.5 +VTS,1,1,840,3.24,CSH,12.5 +VTS,1,1,480,1.24,CRD,7 +VTS,1,1,840,3.12,CSH,12.5 +VTS,1,1,480,2.48,CSH,9.5 +VTS,1,1,240,0.98,CRD,5 +VTS,1,1,1260,4.35,CRD,18 +VTS,1,1,240,0.75,CSH,5 +VTS,1,1,300,1.5,CSH,6.5 +VTS,1,1,1560,6.02,CRD,22.5 +VTS,1,1,720,2.51,CSH,11.5 +VTS,1,1,600,3.01,CRD,11 +VTS,2,1,3120,17.85,CRD,52 +VTS,1,1,60,0.05,CSH,3 +VTS,1,1,960,1.59,CSH,11 +VTS,1,1,420,0.5,CRD,6 +VTS,1,1,600,1.46,CSH,8.5 +VTS,1,1,1200,1.88,CRD,13.5 +VTS,1,1,780,4.01,CRD,14 +VTS,1,1,420,1.74,CSH,7.5 +VTS,1,1,900,2.34,CRD,11.5 +VTS,1,1,540,2.59,CRD,10.5 +VTS,1,1,540,3.03,CRD,11 +VTS,1,1,480,1.56,CSH,7.5 +VTS,1,1,840,4.37,CRD,15 +VTS,1,1,180,0.44,CSH,4.5 +VTS,1,1,660,1.93,CRD,9.5 +VTS,1,1,1200,17.67,CRD,47 +VTS,1,1,900,0.88,CRD,9.5 +VTS,1,1,120,0.57,CSH,4 +VTS,1,1,480,1.83,CRD,8 +VTS,1,1,1200,3.93,CSH,16.5 +VTS,1,1,420,1.17,CRD,6.5 +VTS,1,1,840,7.81,CRD,22 +VTS,1,1,480,1.68,CRD,8 +VTS,1,1,1200,4.6,CSH,17.5 +VTS,1,1,720,3.9,CRD,13.5 +VTS,1,1,1440,12.84,CRD,37 +VTS,1,1,540,1.84,CSH,9 +VTS,1,1,660,1.87,CSH,9.5 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,1440,4.43,CRD,19 +VTS,1,1,300,0.69,CSH,5 +VTS,1,1,480,1.35,CRD,7 +VTS,1,1,540,1.69,CRD,8.5 +VTS,1,1,1440,8.28,CRD,26 +VTS,1,1,1380,9.51,CSH,28 +VTS,1,1,900,3.46,CRD,13 +VTS,1,1,780,0.9,CRD,9 +VTS,1,1,600,2.4,CRD,10.5 +VTS,1,1,540,1.74,CSH,8.5 +VTS,1,1,1020,1.79,CRD,11.5 +VTS,1,1,720,2.32,CRD,10.5 +VTS,2,1,3480,21.97,CRD,52 +VTS,1,1,1380,4.05,CRD,17.5 +VTS,1,1,360,1.04,CSH,6 +VTS,1,1,240,0.64,CSH,4.5 +VTS,1,1,300,0.63,CRD,4.5 +VTS,1,1,720,2.17,CSH,10 +VTS,1,1,120,0.7,CSH,4 +VTS,1,1,60,0.47,CSH,3.5 +VTS,1,1,120,0.76,CRD,4 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,1680,5.63,CRD,23 +VTS,1,1,660,1.85,CSH,9 +VTS,1,1,180,0.3,CSH,3.5 +VTS,1,1,1080,2.46,CSH,13.5 +VTS,1,1,1140,6.72,CSH,20.5 +VTS,1,1,360,1.16,CRD,6 +VTS,1,1,660,1.76,CRD,9.5 +VTS,1,2,1020,3.92,CRD,15.5 +VTS,1,1,420,0.7,CRD,6.5 +VTS,1,1,840,2.1,CSH,11 +VTS,1,1,240,0.75,CSH,5 +VTS,1,1,660,4.46,CSH,15 +VTS,1,1,1080,3.31,CRD,14.5 +VTS,1,1,960,5.25,CRD,18 +VTS,2,1,2400,21.8,CRD,52 +VTS,1,1,1080,1.93,CSH,12.5 +VTS,1,1,600,1.32,CSH,8 +VTS,1,1,900,2.86,CRD,12.5 +VTS,1,1,540,3.32,CSH,12 +VTS,1,1,180,0.62,CRD,4 +VTS,1,1,660,3.26,CSH,12 +VTS,2,1,3300,17.89,CRD,52 +VTS,1,1,1080,2.08,CRD,12 +VTS,1,1,540,2.4,CRD,10 +VTS,1,1,420,1.37,CSH,7 +VTS,1,1,1260,5.16,CRD,19 +VTS,1,1,540,1.54,CSH,8 +VTS,1,1,540,1.28,CRD,8 +VTS,1,1,540,1.41,CSH,7.5 +VTS,1,1,360,1.29,CRD,6 +VTS,1,1,540,1.34,CRD,7.5 +VTS,1,1,360,0.82,CRD,6 +VTS,1,1,840,2.98,CRD,12.5 +VTS,1,1,180,0.51,CSH,4.5 +VTS,1,1,300,0.84,CSH,5 +VTS,1,1,840,3.28,CRD,13 +VTS,1,1,540,1.5,CRD,8 +VTS,1,1,840,3.34,CRD,13.5 +VTS,1,1,420,1.1,CSH,7 +VTS,1,1,300,1.55,CSH,7 +VTS,1,1,300,0.86,CSH,5 +VTS,1,1,240,0.85,CRD,5 +VTS,1,1,720,3.7,CSH,13.5 +VTS,1,1,480,2.67,CSH,9.5 +VTS,2,1,3600,22.32,CRD,52 +VTS,1,1,1020,1.85,CSH,12 +VTS,1,1,900,1.15,CRD,9.5 +VTS,1,1,780,1.56,CRD,9.5 +VTS,3,1,2040,15.7,CSH,62.5 +VTS,3,1,1560,16.14,CSH,61.5 +VTS,1,1,660,2.62,CRD,10.5 +VTS,1,1,480,0.93,CRD,7 +VTS,1,1,1320,4.5,CRD,19 +VTS,1,1,300,1.15,CRD,6 +VTS,1,1,540,1.51,CSH,8.5 +VTS,1,1,780,1.48,CRD,9.5 +VTS,1,1,360,1.01,CRD,6.5 +VTS,1,1,600,1.73,CRD,9 +VTS,1,1,780,1.4,CSH,10 +VTS,1,1,180,0.78,CRD,4.5 +VTS,1,1,420,1.59,CRD,7.5 +VTS,1,1,1020,3.26,CRD,13.5 +VTS,1,1,1560,5.96,CRD,23 +VTS,1,1,240,0.73,CSH,4.5 +VTS,1,1,1800,6.95,CSH,26.5 +VTS,1,1,600,2.09,CRD,9.5 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,540,1.78,CSH,8.5 +VTS,1,1,1020,4,CSH,15.5 +VTS,1,1,300,0.81,CSH,5 +VTS,1,1,180,0.56,CRD,4 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,300,0.71,CRD,5 +VTS,1,1,1320,6.76,CRD,23.5 +VTS,1,1,480,1.53,CSH,7.5 +VTS,1,1,240,0.65,CSH,4.5 +VTS,1,1,480,1.71,CSH,8 +VTS,1,1,600,3.24,CSH,11.5 +VTS,1,1,1440,7.23,CSH,22.5 +VTS,1,1,660,1.16,CSH,9 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,480,1.5,CSH,7.5 +VTS,1,1,840,3.06,CRD,12.5 +VTS,1,1,840,2.76,CSH,12 +VTS,1,1,1200,5.98,CRD,21 +VTS,1,1,300,1.18,CRD,6 +VTS,1,1,480,1.06,CRD,7 +VTS,1,1,840,3.23,CSH,13.5 +VTS,1,1,720,2.27,CRD,10 +VTS,1,1,660,1.83,CRD,9 +VTS,1,1,1020,2.77,CSH,13 +VTS,1,1,240,1.05,CSH,5 +VTS,1,1,720,1.82,CRD,10 +VTS,1,1,780,2.23,CRD,11 +VTS,1,1,900,4.54,CSH,16 +VTS,1,1,420,1.53,CRD,6.5 +VTS,1,1,120,0.15,CRD,3 +VTS,1,1,180,0.57,CRD,4.5 +VTS,1,1,900,3.09,CRD,13 +VTS,1,1,1320,3.08,CSH,15.5 +VTS,1,1,780,1.57,CRD,10 +VTS,1,1,240,0.85,CRD,5.5 +VTS,1,1,1200,1.77,CSH,13 +VTS,1,1,480,1.35,CRD,7.5 +VTS,1,1,600,1.46,CRD,8.5 +VTS,1,1,1140,1.33,CRD,12 +VTS,1,1,1560,2.43,CRD,16.5 +VTS,1,1,720,1.38,CSH,9 +VTS,1,1,1260,4.19,CSH,17.5 +VTS,1,1,1980,8.16,CSH,30 +VTS,1,1,420,0.68,CRD,6 +VTS,1,1,720,1.99,CRD,10.5 +VTS,1,1,480,1.39,CSH,7.5 +VTS,1,1,780,1.16,CSH,9.5 +VTS,1,1,600,1.93,CRD,9 +VTS,1,1,540,2.88,CRD,10 +VTS,1,1,360,0.45,CSH,5.5 +VTS,1,1,1080,1.54,CSH,12 +VTS,1,1,1020,5.18,CSH,18 +VTS,1,1,60,0.49,CSH,3.5 +VTS,1,1,480,0.57,CSH,6.5 +VTS,1,1,1200,5.54,CSH,19.5 +VTS,1,1,240,0.54,CRD,4 +VTS,1,1,660,1.42,CSH,8.5 +VTS,1,1,480,1.4,CSH,7.5 +VTS,1,1,780,3.63,CRD,13.5 +VTS,1,1,660,3.16,CRD,12.5 +VTS,1,1,720,3.84,CRD,12.5 +VTS,1,1,960,3.89,CRD,14.5 +VTS,1,1,840,6.07,CSH,19.5 +VTS,5,1,60,0,CRD,60 +VTS,1,1,780,1.25,CRD,9 +VTS,1,1,540,2.33,CSH,9.5 +VTS,1,1,900,1.41,CSH,11 +VTS,1,1,180,0.5,CRD,4 +VTS,1,1,180,1.16,CSH,5.5 +VTS,1,1,960,3.4,CSH,13.5 +VTS,1,1,300,0.74,CRD,5 +VTS,1,1,720,1.86,CSH,10 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,1560,2.53,CSH,16.5 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,2340,8.06,CRD,31 +VTS,2,1,2400,19.66,CSH,52 +VTS,1,1,420,0.92,CRD,6 +VTS,1,1,60,0.24,CSH,3 +VTS,1,1,360,1.21,CRD,6.5 +VTS,1,1,660,2.23,CRD,10 +VTS,1,1,420,1.03,CSH,6 +VTS,1,1,540,1.9,CRD,8.5 +VTS,1,1,960,8.88,CRD,25.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,360,1.51,CRD,7 +VTS,1,1,420,2.28,CSH,8.5 +VTS,1,1,120,0.56,CSH,4 +VTS,1,1,1200,2.48,CRD,14 +VTS,1,1,180,1.06,CSH,5.5 +VTS,1,1,480,1.64,CSH,8 +VTS,1,1,240,1.37,CRD,6 +VTS,1,1,60,0.1,CSH,3 +VTS,1,1,1080,5.99,CRD,20.5 +VTS,1,1,300,0.79,CSH,5.5 +VTS,1,1,900,5.21,CRD,17 +VTS,1,1,300,0.74,CRD,5 +VTS,1,1,840,1.76,CSH,10 +VTS,4,1,0,0.01,CSH,2.5 +VTS,1,1,1200,2.93,CSH,15.5 +VTS,1,1,480,1.46,CSH,7.5 +VTS,1,1,480,1.3,CSH,7 +VTS,1,1,660,1.91,CRD,9.5 +VTS,1,1,360,0.94,CRD,6 +VTS,1,1,840,4.69,CSH,16 +VTS,1,1,480,2.05,CRD,8.5 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,420,0.79,CRD,6 +VTS,1,1,1260,2.1,CSH,14 +VTS,1,1,1080,1.26,CSH,12 +VTS,1,1,840,2.28,CRD,11.5 +VTS,1,1,1020,3.45,CRD,14.5 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,60,0.25,CSH,3 +VTS,1,1,1140,2.87,CSH,14.5 +VTS,1,1,840,2.31,CSH,11.5 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,120,0.83,CSH,4.5 +VTS,1,1,900,2.18,CSH,11.5 +VTS,1,1,600,1.29,CRD,8 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,1380,5.28,CRD,19 +VTS,1,1,420,0.65,CRD,6 +VTS,1,1,480,1.1,CSH,7 +VTS,1,1,240,0.98,CRD,5.5 +VTS,1,1,780,1.55,CRD,10 +VTS,1,1,600,2.32,CRD,10 +VTS,1,1,480,1.88,CSH,8 +VTS,4,1,660,3.38,CSH,12 +VTS,1,1,240,0.26,CSH,4.5 +VTS,1,1,840,2.36,CSH,11 +VTS,1,1,1260,2.55,CSH,14.5 +VTS,1,1,300,0.83,CSH,5 +VTS,1,1,360,0.84,CRD,5.5 +VTS,1,1,420,0.89,CRD,6 +VTS,1,1,540,1.09,CRD,7.5 +VTS,1,1,420,0.52,CRD,5.5 +VTS,1,1,1680,7.69,CRD,26.5 +VTS,1,1,420,0.88,CRD,6.5 +VTS,1,1,540,1.32,CSH,8 +VTS,1,1,600,0.56,CSH,7 +VTS,1,1,660,1.85,CRD,9.5 +VTS,1,1,360,1.77,CRD,7 +VTS,1,1,720,7.02,CSH,21 +VTS,1,1,360,0.96,CSH,6 +VTS,1,1,1020,2.57,CRD,12.5 +VTS,1,1,840,2.32,CSH,10.5 +VTS,1,1,360,0.84,CRD,5.5 +VTS,1,1,540,1.11,CSH,7.5 +VTS,1,1,480,1.46,CRD,7.5 +VTS,1,1,420,1.09,CSH,6.5 +VTS,1,1,720,1.72,CRD,9.5 +VTS,1,1,840,3,CRD,12 +VTS,1,1,1080,2.33,CSH,13 +VTS,1,1,180,0.89,CRD,5 +VTS,1,1,300,0.57,CRD,4.5 +VTS,1,1,540,1.02,CSH,7 +VTS,3,1,2100,18.1,CRD,68 +VTS,1,1,240,0.95,CRD,5.5 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,1620,7.97,CSH,28 +VTS,1,1,120,0.83,CSH,4.5 +VTS,1,1,600,2.23,CRD,10 +VTS,1,1,780,1.09,CSH,9.5 +VTS,1,1,1500,1.55,CSH,16 +VTS,1,1,480,0.76,CRD,6.5 +VTS,1,1,1080,1.45,CRD,11.5 +VTS,2,1,0,0,CRD,52 +VTS,1,1,480,1.1,CRD,7.5 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,480,1.52,CRD,7.5 +VTS,1,1,660,2.61,CRD,10.5 +VTS,1,1,300,0.71,CRD,5.5 +VTS,1,1,1500,5.81,CRD,22 +VTS,1,1,600,2.22,CSH,9.5 +VTS,1,1,540,0.78,CRD,6.5 +VTS,1,1,300,0.8,CSH,6 +VTS,1,1,1680,10.48,CRD,33 +VTS,1,1,780,2.92,CRD,11.5 +VTS,1,1,480,0.55,CRD,6 +VTS,1,1,60,0.49,CSH,3.5 +VTS,1,1,720,5.56,CRD,17.5 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,480,1.71,CRD,8 +VTS,1,1,1320,5.39,CRD,20.5 +VTS,1,1,660,2.44,CRD,10.5 +VTS,1,1,900,5.26,CRD,18 +VTS,1,1,1020,3.49,CRD,14 +VTS,1,1,720,2.26,CSH,10.5 +VTS,1,1,420,1.62,CRD,8 +VTS,1,1,900,4.66,CRD,16 +VTS,1,1,780,1.8,CRD,10 +VTS,1,1,540,1.05,CRD,7 +VTS,1,1,660,1.78,CSH,9 +VTS,1,1,420,1.92,CSH,8.5 +VTS,1,1,420,2.62,CSH,9 +VTS,1,1,360,1.1,CSH,6 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,720,1.71,CSH,9 +VTS,1,1,960,2.71,CRD,12.5 +VTS,1,1,240,0.51,CSH,4 +VTS,1,1,240,0.79,CSH,5 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,1,240,0.49,CRD,4.5 +VTS,1,1,1380,3.47,CRD,18 +VTS,1,1,1320,12.99,CRD,36.5 +VTS,1,1,420,0.83,CRD,6 +VTS,1,1,420,0.76,CRD,6 +VTS,1,1,300,0.71,CSH,5 +VTS,1,1,1140,2.59,CSH,13 +VTS,1,1,840,2.9,CSH,12.5 +VTS,1,1,840,3.05,CSH,12.5 +VTS,1,1,1140,2.62,CSH,14 +VTS,1,1,900,4.42,CRD,15 +VTS,1,1,960,4.1,CRD,14.5 +VTS,1,1,720,3.41,CRD,12.5 +VTS,1,1,600,1.82,CRD,9 +VTS,1,1,480,1.45,CRD,7.5 +VTS,1,1,360,0.92,CSH,6 +VTS,1,1,540,0.75,CRD,7 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,1,660,1.28,CSH,8.5 +VTS,1,1,480,1.39,CRD,7.5 +VTS,1,1,1380,4.14,CSH,18.5 +VTS,1,1,360,1.08,CSH,6 +VTS,1,1,1980,10.76,CRD,34 +VTS,1,1,1440,9.06,CRD,28.5 +VTS,1,1,840,1.71,CRD,10.5 +VTS,1,1,1020,3.08,CRD,13.5 +VTS,1,1,1620,7.61,CRD,25.5 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,1020,1.75,CRD,11.5 +VTS,1,1,660,1.9,CSH,9.5 +VTS,1,1,300,1.23,CSH,6.5 +VTS,1,1,540,0.97,CSH,7.5 +VTS,1,1,900,3.37,CSH,13 +VTS,1,1,900,2.12,CRD,11.5 +VTS,1,1,660,1.45,CRD,9 +VTS,1,1,360,1.09,CRD,6.5 +VTS,1,1,780,1.43,CSH,9 +VTS,1,1,300,1.5,CRD,6.5 +VTS,1,1,240,0.69,CRD,4.5 +VTS,1,1,480,1.58,CRD,8 +VTS,1,1,1320,2.41,CRD,14.5 +VTS,1,1,720,1.52,CSH,9.5 +VTS,1,1,960,2.44,CRD,11.5 +VTS,1,1,420,1.21,CRD,7 +VTS,1,1,600,0.7,CRD,7.5 +VTS,1,1,720,1.59,CRD,9 +VTS,1,1,1200,2.28,CRD,14 +VTS,1,1,1620,7.52,CSH,25.5 +VTS,1,1,840,1.28,CSH,10 +VTS,1,1,1080,3.57,CRD,15.5 +VTS,1,1,1800,5.53,CRD,23 +VTS,1,1,780,1.28,CSH,9.5 +VTS,1,1,660,2.47,CSH,11 +VTS,1,1,540,1.63,CRD,8 +VTS,1,1,480,1.86,CRD,8 +VTS,1,1,960,1.93,CRD,11.5 +VTS,1,1,3120,4.34,CRD,30.5 +VTS,1,1,360,0.87,CRD,5.5 +VTS,1,1,960,4.86,CRD,17 +VTS,1,1,600,1.57,CRD,8 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,420,0.53,CRD,6 +VTS,1,1,780,8.1,CSH,23.5 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,1,1320,15.26,CRD,41 +VTS,1,1,420,1.62,CSH,7.5 +VTS,1,1,420,1.43,CSH,7 +VTS,1,1,600,1.79,CRD,9 +VTS,1,1,900,4.33,CRD,15 +VTS,1,1,1380,5.62,CSH,22 +VTS,1,1,300,1.1,CRD,6 +VTS,1,1,840,2.51,CRD,11.5 +VTS,1,1,1680,8.07,CRD,27.5 +VTS,1,1,240,0.93,CRD,5 +VTS,1,1,1020,4.98,CRD,17.5 +VTS,1,1,480,1.34,CSH,8 +VTS,1,1,900,4.38,CRD,16 +VTS,1,1,300,0.83,CRD,5 +VTS,1,1,900,1.78,CSH,11 +VTS,1,2,840,3.86,CSH,14.5 +VTS,1,1,480,1.02,CSH,7 +VTS,1,1,480,1.35,CRD,7 +VTS,1,1,720,2.68,CRD,11 +VTS,5,1,0,0.01,CRD,45 +VTS,1,1,480,0.65,CSH,6.5 +VTS,1,1,1320,3.61,CSH,16 +VTS,1,1,1680,4.87,CSH,20.5 +VTS,1,1,420,1.13,CRD,7 +VTS,1,1,600,2.3,CRD,10 +VTS,1,1,840,3.54,CRD,13.5 +VTS,1,1,660,3.17,CRD,12 +VTS,1,1,540,1.64,CSH,8 +VTS,1,1,1200,1.99,CSH,13.5 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,1,600,1.39,CRD,8 +VTS,1,1,420,0.77,CSH,6 +VTS,1,1,600,2.07,CRD,9.5 +VTS,1,1,660,1.41,CSH,8.5 +VTS,1,1,720,1.62,CSH,9 +VTS,1,1,240,0.69,CSH,5 +VTS,1,1,840,2.16,CSH,11 +VTS,1,1,540,0.99,CRD,7 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,1,660,2.23,CSH,10 +VTS,1,1,360,1.07,CSH,6 +VTS,1,1,660,1.81,CRD,9 +VTS,1,1,180,0.47,CRD,4 +VTS,1,1,300,0.75,CSH,5 +VTS,1,1,1020,7.21,CRD,22.5 +VTS,1,1,240,0.91,CRD,5 +VTS,2,1,60,0,CRD,52 +VTS,1,1,780,1.65,CRD,9.5 +VTS,1,1,420,0.68,CRD,5.5 +VTS,1,1,1320,2.86,CSH,15.5 +VTS,1,1,900,11.82,CSH,32.5 +VTS,1,1,780,2.25,CRD,10.5 +VTS,1,1,1740,3.01,CSH,18.5 +VTS,2,1,60,0,CRD,52 +VTS,1,1,1440,5.79,CRD,20 +VTS,1,1,1500,1.47,CRD,15 +VTS,1,1,300,1.24,CSH,5.5 +VTS,1,1,1200,4.09,CSH,15.5 +VTS,1,1,480,1.07,CSH,6.5 +VTS,1,1,240,0.78,CSH,4.5 +VTS,1,1,1260,2.59,CRD,14.5 +VTS,1,1,3780,9.87,CRD,43 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,1,240,0.52,CSH,5 +VTS,1,1,1260,3.27,CRD,15.5 +VTS,1,1,480,1.19,CRD,7.5 +VTS,1,1,180,0.54,CSH,4 +VTS,1,1,780,1.22,CRD,9 +VTS,1,1,840,2.67,CRD,12 +VTS,1,1,540,1.9,CRD,8.5 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,240,1.07,CRD,5.5 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,660,2.36,CRD,11 +VTS,1,1,1080,3.7,CSH,15.5 +VTS,1,1,1020,8.03,CSH,24.5 +VTS,1,1,900,2.38,CRD,12 +VTS,1,1,1500,4.93,CRD,19.5 +VTS,1,1,420,2.66,CRD,9.5 +VTS,1,1,900,1.45,CRD,10.5 +VTS,1,1,780,1.12,CSH,9 +VTS,1,1,420,0.32,CSH,6 +VTS,1,1,480,1.1,CRD,7 +VTS,1,1,420,1.81,CRD,7.5 +VTS,1,1,1380,6.66,CSH,24.5 +VTS,1,1,900,1.16,CRD,10.5 +VTS,1,1,420,0.93,CSH,6 +VTS,1,1,360,1.22,CRD,7 +VTS,1,1,480,0.95,CSH,6.5 +VTS,1,1,1440,8.78,CRD,28 +VTS,1,1,720,1.81,CRD,10 +VTS,1,1,840,2.25,CRD,11.5 +VTS,1,1,1260,2.13,CRD,13.5 +VTS,1,1,1020,2.87,CRD,13 +VTS,1,1,480,1.35,CRD,7 +VTS,1,1,660,1.62,CRD,9 +VTS,1,1,1320,3.1,CRD,15.5 +VTS,1,1,1500,10.92,CRD,32.5 +VTS,1,1,1860,10.47,CSH,33 +VTS,1,1,1320,3.19,CRD,15 +VTS,1,1,600,0.97,CSH,8 +VTS,1,1,1740,3.92,CRD,19 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,300,1,CSH,5.5 +VTS,1,1,1080,1.95,CSH,10 +VTS,1,1,600,1.22,CRD,8 +VTS,1,1,1320,10.91,CSH,32 +VTS,1,1,960,3.54,CRD,14 +VTS,1,1,240,0.76,CRD,5 +VTS,1,1,360,0.97,CSH,6 +VTS,1,1,240,0.63,CRD,4.5 +VTS,1,1,660,1.1,CRD,8 +VTS,1,1,180,0.38,CSH,4 +VTS,1,1,960,2.22,CRD,11.5 +VTS,1,1,240,0.91,CRD,5 +VTS,1,1,720,2.55,CRD,10.5 +VTS,1,1,660,1.54,CSH,8.5 +VTS,1,1,1200,6.44,CRD,21 +VTS,1,1,600,1.26,CRD,8.5 +VTS,1,1,960,2.59,CSH,11.5 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,360,1.21,CRD,6.5 +VTS,1,1,660,1.12,CRD,9 +VTS,1,1,540,1.2,CSH,7.5 +VTS,1,1,1620,8.38,CRD,27 +VTS,1,1,1140,2.54,CRD,14 +VTS,1,1,6360,1.2,CSH,6 +VTS,1,1,1260,7.03,CRD,23 +VTS,1,1,300,0.56,CRD,5 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,480,0.67,CRD,6.5 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,540,1.58,CSH,8.5 +VTS,1,1,600,3.18,CRD,11.5 +VTS,1,1,540,1.65,CSH,8.5 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,240,0.61,CSH,5 +VTS,1,1,1080,1.83,CRD,12.5 +VTS,1,1,540,0.92,CSH,7 +VTS,1,1,600,1.74,CRD,8.5 +VTS,1,1,300,0.42,CRD,5 +VTS,1,1,1260,6.36,CRD,21.5 +VTS,1,1,720,3.01,CRD,12 +VTS,1,1,420,1.29,CRD,6.5 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,420,1.27,CRD,7 +VTS,1,1,1500,3.52,CSH,17.5 +VTS,1,1,960,3,CRD,13 +VTS,1,1,480,0.98,CSH,7 +VTS,1,1,1020,3.78,CSH,15.5 +VTS,1,1,540,0.91,CRD,7 +VTS,1,1,300,1,CRD,5.5 +VTS,1,1,240,0.63,CRD,4.5 +VTS,1,1,660,1.56,CRD,9 +VTS,2,1,2340,17.5,CSH,52 +VTS,1,1,1380,7.54,CRD,25.5 +VTS,1,1,960,4.28,CRD,15 +VTS,1,1,840,3.5,CSH,13.5 +VTS,1,1,420,1.4,CSH,7 +VTS,1,1,300,0.88,CRD,5.5 +VTS,2,1,3180,19.22,CSH,52 +VTS,1,1,300,1.01,CSH,5.5 +VTS,1,1,60,0.21,CSH,3 +VTS,1,1,900,3.83,CRD,14.5 +VTS,1,1,900,2.92,CRD,12.5 +VTS,1,2,360,1.42,CSH,7 +VTS,1,1,480,1.72,CSH,7.5 +VTS,1,1,540,1.77,CSH,8 +VTS,1,1,1080,2.87,CRD,13 +VTS,1,1,2700,4.83,CRD,28 +VTS,1,1,600,1.13,CRD,8 +VTS,1,1,660,1.58,CSH,8.5 +VTS,1,1,480,1.24,CRD,7 +VTS,1,1,240,0.9,CSH,5 +VTS,1,1,720,2.27,CSH,9.5 +VTS,1,1,420,1.6,CSH,7 +VTS,1,1,660,2.16,CSH,10.5 +VTS,1,1,840,2.12,CSH,11.5 +VTS,1,1,1440,3.31,CRD,17 +VTS,1,1,960,1.47,CRD,10.5 +VTS,1,1,780,1.32,CSH,9.5 +VTS,1,1,600,1.7,CRD,8.5 +VTS,1,1,1380,3.8,CRD,17.5 +VTS,1,1,1080,11.8,CSH,32.5 +VTS,1,1,1620,9.29,CSH,29 +VTS,1,1,780,1.53,CRD,9.5 +VTS,1,1,1260,2.13,CSH,13 +VTS,1,1,480,0.97,CRD,7 +VTS,1,1,1140,2.63,CRD,14 +VTS,1,1,240,1.74,CSH,7 +VTS,1,1,360,1,CRD,6 +VTS,1,1,1200,2.01,CRD,14 +VTS,1,1,900,1.21,CRD,10 +VTS,1,1,360,0.67,CSH,5.5 +VTS,1,1,1140,2.84,CRD,14.5 +VTS,1,1,1320,7.76,CRD,24 +VTS,1,1,1080,5.37,CRD,19 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,420,0.51,CSH,6 +VTS,4,1,540,1.35,CSH,8 +VTS,1,1,1020,1.84,CRD,11.5 +VTS,1,1,720,1.5,CSH,9 +VTS,2,1,0,0,CRD,52 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,660,1.32,CRD,9 +VTS,1,1,600,0.42,CSH,7.5 +VTS,1,1,540,0.65,CSH,7 +VTS,1,1,1440,5.42,CSH,19.5 +VTS,1,1,660,1.68,CRD,9 +VTS,1,1,960,2.18,CSH,12 +VTS,1,1,2160,12.82,CRD,39.5 +VTS,1,1,240,0.83,CSH,5 +VTS,1,1,600,2.71,CRD,10.5 +VTS,1,1,720,3.79,CRD,13 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,420,1.87,CSH,8 +VTS,1,1,420,1.83,CRD,8 +VTS,2,1,1980,18.06,CSH,52 +VTS,1,1,1320,6.42,CSH,22.5 +VTS,1,1,720,1.06,CSH,8.5 +VTS,1,1,360,1.06,CRD,6 +VTS,1,1,240,1.47,CSH,6 +VTS,1,1,1380,3.79,CRD,17.5 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,1320,2.29,CSH,14.5 +VTS,1,1,420,0.85,CRD,6 +VTS,1,1,300,0.7,CRD,5 +VTS,1,1,720,1.44,CSH,8.5 +VTS,2,1,1500,17.28,CSH,52 +VTS,1,1,720,3.02,CRD,11 +VTS,1,1,780,1.52,CSH,10 +VTS,1,1,1380,6.88,CRD,23.5 +VTS,1,1,720,3.57,CSH,12.5 +VTS,1,1,300,1.19,CRD,6 +VTS,1,1,300,0.89,CRD,5.5 +VTS,2,1,1380,18.08,CSH,52 +VTS,1,1,120,0.54,CRD,4 +VTS,1,1,780,2.98,CRD,12 +VTS,1,1,660,2.66,CRD,11 +VTS,1,1,360,1.59,CSH,7.5 +VTS,1,1,960,3.6,CSH,14.5 +VTS,1,1,420,1.45,CSH,7 +VTS,2,1,1740,18.61,CRD,52 +VTS,1,1,900,0.98,CRD,10 +VTS,1,1,480,1.04,CSH,7 +VTS,2,1,1680,17.89,CRD,52 +VTS,1,1,540,1.65,CSH,8 +VTS,1,1,1020,9.83,CRD,28.5 +VTS,1,1,1440,2.78,CRD,15.5 +VTS,1,1,1800,3.04,CRD,19.5 +VTS,1,1,900,3.11,CRD,13.5 +VTS,1,1,720,4.02,CRD,14.5 +VTS,1,1,600,1.59,CRD,8.5 +VTS,1,1,840,1.99,CRD,10.5 +VTS,1,1,240,0.45,CSH,4.5 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,840,1.75,CRD,10.5 +VTS,1,1,1800,5,CRD,21.5 +VTS,1,1,600,1.22,CSH,8 +VTS,1,1,420,1.09,CSH,7 +VTS,1,1,540,1.96,CSH,9.5 +VTS,1,1,1140,2.92,CRD,14 +VTS,1,1,360,0.57,CRD,6 +VTS,1,1,540,1.48,CSH,8.5 +VTS,1,1,900,0.89,CSH,9.5 +VTS,1,1,1140,2,CRD,13.5 +VTS,1,1,1260,2.16,CRD,14 +VTS,1,1,1740,1.8,CRD,17 +VTS,1,1,540,3.15,CSH,10.5 +VTS,1,1,1020,8.55,CSH,25.5 +VTS,1,1,300,1.14,CSH,5.5 +VTS,1,1,780,2.53,CSH,11 +VTS,1,1,660,2.24,CRD,11 +VTS,1,1,1020,4.58,CRD,16.5 +VTS,1,1,60,0.37,CRD,3.5 +VTS,1,1,840,4.19,CSH,15 +VTS,1,1,1020,4.18,CRD,15 +VTS,1,1,480,1.71,CSH,8 +VTS,1,1,120,0.71,CSH,4 +VTS,1,1,480,1.74,CRD,8 +VTS,1,1,660,2.02,CSH,10 +VTS,1,1,600,2.33,CRD,9.5 +VTS,1,1,1500,16.2,CRD,44 +VTS,1,1,360,1.44,CRD,6.5 +VTS,2,1,1500,18.2,CRD,52 +VTS,1,1,960,5.62,CSH,19 +VTS,1,1,660,4.96,CSH,16 +VTS,1,1,360,1.07,CSH,6 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,780,3.1,CSH,13 +VTS,1,1,180,0.86,CRD,5 +VTS,1,1,1440,4.45,CRD,19 +VTS,1,1,1980,24.88,CSH,66 +VTS,1,1,780,2.62,CRD,11 +VTS,1,1,360,1.82,CRD,7.5 +VTS,1,1,780,3.68,CSH,13 +VTS,1,1,420,1.98,CRD,7.5 +VTS,1,1,240,1.13,CSH,5.5 +VTS,1,1,840,2.72,CSH,11.5 +VTS,1,1,900,1.67,CRD,11 +VTS,1,1,540,0.94,CSH,7 +VTS,1,1,2280,5.26,CSH,24.5 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,1320,3.54,CSH,16 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,540,1.64,CRD,8 +VTS,1,1,240,0.85,CSH,5 +VTS,1,1,420,1.02,CRD,6.5 +VTS,1,1,960,2.59,CRD,12.5 +VTS,1,1,120,0.33,CRD,3.5 +VTS,1,1,180,0.47,CSH,4.5 +VTS,1,1,600,0.82,CRD,7.5 +VTS,1,1,1080,2.91,CSH,13.5 +VTS,1,1,1740,2.64,CRD,18 +VTS,1,1,300,1.12,CRD,6 +VTS,1,1,240,0.96,CRD,5 +VTS,1,1,660,1.04,CSH,7 +VTS,1,1,1500,3.87,CRD,18 +VTS,1,1,240,0.83,CSH,4.5 +VTS,1,1,600,2.81,CRD,11 +VTS,1,1,420,1.72,CSH,7.5 +VTS,1,1,240,1.05,CSH,5.5 +VTS,1,1,300,1.74,CRD,7.5 +VTS,1,1,840,9.14,CRD,26 +VTS,1,1,1320,2.39,CRD,14.5 +VTS,1,1,240,1.58,CSH,6 +VTS,1,1,540,1.66,CRD,8.5 +VTS,1,1,660,2.3,CSH,9.5 +VTS,1,1,1020,5.36,CSH,18.5 +VTS,1,1,960,2.04,CRD,11.5 +VTS,1,1,960,5.11,CRD,17 +VTS,1,1,420,1.16,CRD,6.5 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,360,0.78,CSH,6 +VTS,1,1,900,2.54,CSH,11.5 +VTS,1,1,540,1.46,CRD,8 +VTS,1,1,1020,1.45,CRD,11.5 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,540,2.41,CSH,9.5 +VTS,1,1,960,2.32,CRD,12 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,900,2.54,CSH,11 +VTS,1,1,60,0.58,CSH,3.5 +VTS,1,1,360,1.31,CRD,6.5 +VTS,1,1,420,0.74,CSH,6.5 +VTS,1,1,1440,1.9,CSH,15 +VTS,1,1,120,0.68,CSH,4.5 +VTS,1,1,1140,2.49,CSH,13.5 +VTS,1,1,720,3.99,CSH,14 +VTS,1,1,480,1.57,CRD,7.5 +VTS,1,1,1980,6.97,CSH,25.5 +VTS,1,1,840,1.98,CSH,11 +VTS,1,1,1260,3.4,CSH,15.5 +VTS,1,1,720,1.08,CSH,9 +VTS,1,1,720,2.32,CSH,10.5 +VTS,1,1,840,3.03,CRD,12.5 +VTS,1,1,540,1.55,CSH,8 +VTS,1,1,600,1.69,CRD,8.5 +VTS,1,1,660,1.77,CRD,9.5 +VTS,1,1,420,1.42,CRD,6.5 +VTS,1,1,960,2.62,CRD,13 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,1260,3.81,CSH,16.5 +VTS,1,1,120,0.67,CSH,4 +VTS,1,1,660,1.11,CRD,8 +VTS,1,1,1380,3.61,CSH,16 +VTS,1,1,480,0.77,CSH,7 +VTS,1,1,420,1.49,CRD,7.5 +VTS,1,1,1440,4.54,CRD,18 +VTS,1,1,1740,9.97,CRD,32.5 +VTS,1,1,1860,4.13,CRD,21 +VTS,1,1,1080,2.21,CRD,13 +VTS,1,1,660,1.23,CRD,9 +VTS,1,1,180,1.56,CSH,6 +VTS,1,1,540,2.49,CRD,9.5 +VTS,1,1,900,1.74,CSH,11 +VTS,1,1,660,4.63,CRD,15 +VTS,1,1,480,1.35,CRD,7.5 +VTS,1,1,420,1.44,CSH,7 +VTS,1,1,600,2.27,CSH,9.5 +VTS,1,1,720,2.05,CRD,10 +VTS,1,1,960,1.99,CRD,12 +VTS,1,1,600,1,CSH,8 +VTS,2,1,1560,18.15,CSH,52 +VTS,1,1,300,1.78,CSH,7 +VTS,1,1,540,1.08,CSH,7 +VTS,2,1,1680,18.29,CRD,52 +VTS,1,1,840,3.36,CRD,13 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,660,0.78,CRD,8 +VTS,1,1,1140,14.22,CSH,38.5 +VTS,1,1,720,2.06,CSH,10 +VTS,1,1,840,3.75,CSH,14 +VTS,1,1,300,0.66,CSH,5 +VTS,1,1,780,2.86,CRD,12.5 +VTS,1,1,1380,3.35,CRD,17.5 +VTS,1,1,480,1.06,CRD,6.5 +VTS,1,1,1080,5.14,CSH,17.5 +VTS,1,1,120,0.6,CRD,4 +VTS,1,1,1800,4.59,CRD,22 +VTS,1,1,300,1.02,CSH,5.5 +VTS,1,1,360,1.29,CRD,6.5 +VTS,1,1,420,1.17,CRD,6 +VTS,1,1,600,1.82,CRD,8.5 +VTS,1,1,1080,2.7,CSH,13.5 +VTS,1,1,240,0.76,CSH,5 +VTS,1,1,540,1.36,CSH,8 +VTS,1,1,60,0.41,CSH,3.5 +VTS,1,1,540,1.29,CSH,7.5 +VTS,1,1,780,1.96,CRD,10.5 +VTS,1,1,480,1.62,CRD,8 +VTS,1,1,120,0.11,CSH,3 +VTS,1,1,1740,11.63,CRD,34.5 +VTS,1,1,300,0.4,CRD,4.5 +VTS,1,1,240,0.64,CRD,4.5 +VTS,1,1,840,1.46,CRD,10.5 +VTS,1,1,240,0.58,CSH,5 +VTS,1,1,360,0.79,CRD,6 +VTS,1,1,480,1.42,CRD,7.5 +VTS,1,1,960,2.06,CRD,11.5 +VTS,1,1,360,0.74,CSH,5.5 +VTS,1,1,720,1.62,CSH,9.5 +VTS,1,1,120,0.45,CRD,3.5 +VTS,1,1,600,0.58,CRD,7 +VTS,1,1,240,0.64,CSH,5 +VTS,1,1,1260,2.31,CSH,14 +VTS,2,1,2340,20.63,CRD,52 +VTS,1,1,720,4.3,CRD,14.5 +VTS,1,1,1440,16.32,CRD,44.5 +VTS,1,1,720,1.8,CSH,10 +VTS,1,1,600,0.49,CSH,7 +VTS,1,1,900,1.47,CRD,10 +VTS,1,1,120,0.3,CSH,3 +VTS,1,1,480,1.38,CSH,7 +VTS,1,1,360,1.4,CRD,6.5 +VTS,1,1,660,3.2,CRD,12.5 +VTS,1,1,240,0.55,CRD,4.5 +VTS,1,1,180,0.5,CRD,4 +VTS,2,1,1680,21.23,CRD,52 +VTS,1,1,1620,18.09,CRD,49.5 +VTS,2,1,1680,18.18,CSH,52 +VTS,1,1,540,2.94,CRD,11 +VTS,1,1,900,1.85,CRD,10.5 +VTS,1,1,120,0.72,CRD,4.5 +VTS,1,1,900,4.6,CSH,17 +VTS,1,1,720,4.93,CRD,15.5 +VTS,1,1,1200,5.73,CRD,19.5 +VTS,1,1,240,1.06,CSH,5.5 +VTS,1,1,120,0.65,CSH,4.5 +VTS,1,1,420,1.46,CRD,7.5 +VTS,1,1,120,0.57,CSH,4 +VTS,1,1,180,0.59,CSH,4.5 +VTS,1,1,480,1.98,CRD,9 +VTS,1,1,1020,8.13,CSH,24.5 +VTS,1,1,360,1.6,CSH,7.5 +VTS,1,1,1020,3.07,CSH,12.5 +VTS,1,1,360,0.97,CSH,6.5 +VTS,1,1,180,0.57,CRD,4 +VTS,1,1,1320,5.89,CRD,20.5 +VTS,1,1,120,0.75,CRD,4.5 +VTS,1,1,420,2.13,CRD,8.5 +VTS,1,1,180,0.47,CRD,4.5 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,1380,5.57,CRD,20.5 +VTS,1,1,360,2.15,CSH,8 +VTS,1,1,1260,5.4,CRD,19.5 +VTS,1,1,840,3.87,CSH,14.5 +VTS,1,1,300,1.15,CSH,6 +VTS,1,1,1080,4.5,CRD,17 +VTS,1,1,360,1.35,CSH,7 +VTS,1,1,480,2.9,CRD,10 +VTS,1,1,60,0.63,CRD,4 +VTS,1,1,960,4.56,CSH,16 +VTS,1,1,900,5.53,CRD,17.5 +VTS,1,1,660,2.92,CRD,11.5 +VTS,1,1,420,1.35,CRD,7 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,1500,10.39,CSH,31.5 +VTS,1,1,540,2.34,CRD,9.5 +VTS,1,1,1680,10.21,CRD,32 +VTS,1,1,780,7.79,CSH,22.5 +VTS,1,1,1140,15.47,CSH,42 +VTS,1,1,240,1.4,CRD,6 +VTS,1,1,360,1.97,CRD,8.5 +VTS,1,1,780,3.43,CSH,12.5 +VTS,1,1,960,5.74,CRD,17.5 +VTS,1,1,1140,4.6,CRD,17.5 +VTS,1,1,120,0.45,CSH,3.5 +VTS,1,1,300,1.09,CSH,5.5 +VTS,1,1,240,1.71,CRD,7 +VTS,1,1,480,1.19,CRD,7.5 +VTS,1,1,60,0.28,CRD,3.5 +VTS,1,1,600,1.33,CRD,8.5 +VTS,1,1,840,4.47,CRD,15 +VTS,1,1,1260,10.14,CSH,29.5 +VTS,1,1,660,2.18,CRD,9.5 +VTS,1,1,540,2.1,CRD,9 +VTS,1,1,480,2.41,CSH,9 +VTS,1,1,900,3.19,CRD,12 +VTS,1,1,360,1.11,CSH,6 +VTS,1,1,1200,8.3,CSH,25.5 +VTS,1,1,300,1.15,CSH,6 +VTS,1,1,420,1.35,CRD,6.5 +VTS,1,1,600,1.84,CRD,9.5 +VTS,2,1,1680,19.88,CSH,52 +VTS,1,1,900,4.1,CSH,15.5 +VTS,1,2,1200,3.2,CSH,15 +VTS,1,1,360,2.24,CSH,8.5 +VTS,1,1,360,1.9,CRD,7.5 +VTS,1,1,720,2.92,CRD,11.5 +VTS,1,1,1020,4.38,CSH,15.5 +VTS,1,1,780,5.38,CSH,17 +VTS,1,1,600,3.03,CRD,10.5 +VTS,1,1,240,0.86,CRD,5 +VTS,1,1,300,1.12,CRD,5.5 +VTS,1,1,420,1.77,CSH,7.5 +VTS,1,1,420,2.05,CSH,8.5 +VTS,1,1,720,2.66,CSH,10.5 +VTS,1,1,660,2.76,CRD,11 +VTS,1,1,1020,6.41,CRD,20 +VTS,2,1,1980,19.26,CSH,52 +VTS,1,1,420,2.08,CRD,8.5 +VTS,1,1,300,0.67,CSH,5.5 +VTS,1,1,480,2.44,CRD,9.5 +VTS,1,1,360,2.28,CRD,8.5 +VTS,1,1,600,3.26,CRD,12 +VTS,1,1,480,1.31,CRD,7.5 +VTS,1,1,540,1.71,CRD,8.5 +VTS,2,1,1680,18.16,CRD,52 +VTS,1,1,600,1.54,CSH,8 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,960,1.17,CRD,11.5 +VTS,1,1,1080,4.63,CRD,17 +VTS,1,1,1260,14.3,CSH,39.5 +VTS,1,1,600,1.59,CRD,8.5 +VTS,1,1,420,1.44,CRD,7.5 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,660,6.97,CRD,20.5 +VTS,2,1,1320,17.12,CRD,52 +VTS,1,1,840,4.77,CRD,15.5 +VTS,1,1,540,1.12,CRD,7 +VTS,1,1,960,4.41,CRD,16 +VTS,1,1,660,3.63,CRD,13 +VTS,1,1,840,3.28,CSH,14 +VTS,1,1,840,9.59,CRD,26.5 +VTS,1,1,900,2.72,CSH,12 +VTS,1,1,240,1.31,CRD,6.5 +VTS,1,1,240,1.84,CRD,7 +VTS,1,1,1020,6.09,CSH,19 +VTS,1,1,360,2.11,CSH,8 +VTS,2,1,1920,17.27,CRD,52 +VTS,2,1,1500,18.04,CRD,52 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,120,0.45,CRD,4 +VTS,1,1,300,1.07,CSH,5.5 +VTS,1,1,480,1.34,CSH,8 +VTS,1,1,720,2.9,CRD,11.5 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,420,1.86,CSH,8 +VTS,1,1,1620,14.11,CSH,39.5 +VTS,2,1,1560,19.22,CRD,52 +VTS,1,1,900,4.85,CSH,16 +VTS,1,1,420,1.6,CRD,8 +VTS,1,1,1260,3.49,CRD,17 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,300,0.35,CRD,4.5 +VTS,1,1,300,0.92,CRD,6 +VTS,1,1,420,1.77,CSH,7.5 +VTS,1,1,660,4.11,CRD,14.5 +VTS,1,1,840,7.39,CRD,21 +VTS,1,1,840,2.11,CSH,11 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,300,1.66,CRD,6.5 +VTS,1,1,1860,9.68,CRD,31.5 +VTS,1,1,480,1.79,CRD,8 +VTS,1,1,780,2.27,CRD,10.5 +VTS,1,1,300,0.74,CSH,5 +VTS,1,1,240,1.45,CSH,6 +VTS,1,1,420,0.55,CRD,6 +VTS,1,1,660,2.58,CSH,10.5 +VTS,2,1,1620,18.25,CSH,52 +VTS,1,1,420,3.01,CRD,10 +VTS,1,1,2100,13.82,CSH,40.5 +VTS,1,1,600,2.04,CRD,9 +VTS,1,1,300,1.13,CRD,6 +VTS,1,1,840,2.16,CRD,11 +VTS,1,1,780,3.16,CRD,12 +VTS,1,1,240,1.22,CSH,6 +VTS,1,1,480,1.53,CSH,8 +VTS,1,1,180,1.77,CSH,6.5 +VTS,1,1,840,2.44,CSH,11.5 +VTS,1,1,600,1.46,CRD,8.5 +VTS,1,1,1020,3.53,CSH,14.5 +VTS,1,1,1500,6.3,CRD,22 +VTS,1,1,720,4.36,CRD,14 +VTS,1,1,720,3.45,CRD,13 +VTS,3,5,1560,17.34,CRD,64 +VTS,1,5,540,2.25,CRD,9.5 +VTS,1,5,960,10.34,CRD,29 +VTS,1,5,1020,4.66,CSH,16.5 +VTS,1,5,420,1.23,CRD,7 +VTS,1,5,480,1.08,CSH,7 +VTS,1,5,720,0.76,CSH,8.5 +VTS,1,5,660,1.46,CSH,9 +VTS,1,5,360,0.73,CRD,6 +VTS,1,5,480,1.27,CSH,7 +VTS,1,5,1080,2.71,CRD,14 +VTS,1,5,240,1.08,CRD,5.5 +VTS,1,5,240,1.03,CRD,5.5 +VTS,2,1,1800,17.38,CRD,52 +VTS,1,1,960,4.12,CRD,14.5 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,1,1380,5.25,CSH,20.5 +VTS,1,1,180,1.07,CSH,5 +VTS,1,1,480,1.04,CRD,7 +VTS,1,1,180,1.26,CRD,5.5 +VTS,2,1,60,0.23,CSH,52 +VTS,1,1,1200,4.13,CSH,16.5 +VTS,1,1,420,1.26,CRD,7 +VTS,1,1,960,2.15,CSH,12 +VTS,1,1,420,1.24,CRD,7 +VTS,1,1,540,1.04,CSH,7.5 +VTS,1,1,480,2.83,CRD,10.5 +VTS,1,1,720,3.61,CSH,13.5 +VTS,1,2,1080,6.23,CSH,21 +VTS,1,1,1920,22.97,CRD,60.5 +VTS,1,1,540,1.93,CRD,9 +VTS,1,1,960,2.69,CSH,12.5 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,1200,7.24,CRD,23.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,240,0.91,CRD,5 +VTS,1,1,300,1.2,CRD,6 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,1,720,2.41,CRD,10 +VTS,1,1,240,0.85,CSH,5 +VTS,1,1,720,3.08,CRD,12 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,360,0.84,CRD,6 +VTS,1,1,720,4.26,CSH,14.5 +VTS,1,1,540,1.81,CRD,8 +VTS,1,1,240,0.47,CSH,4 +VTS,1,1,120,0.89,CSH,4.5 +VTS,1,1,540,1.86,CRD,8.5 +VTS,1,1,540,1.63,CSH,8.5 +VTS,2,1,1920,18.25,CSH,52 +VTS,1,5,720,7.05,CRD,21 +VTS,1,5,360,2.09,CSH,8 +VTS,2,5,2160,17.54,CSH,52 +VTS,1,5,960,6.49,CSH,20.5 +VTS,1,5,240,0.78,CRD,5 +VTS,1,5,1260,10.85,CRD,31 +VTS,1,5,720,0.52,CRD,8 +VTS,1,5,780,2.3,CRD,10.5 +VTS,1,5,540,0.96,CSH,7 +VTS,1,5,660,1.74,CRD,9 +VTS,1,5,300,1.45,CRD,6.5 +VTS,1,5,900,3.32,CSH,13 +VTS,1,5,180,0.46,CSH,4 +VTS,1,5,780,2.83,CSH,12 +VTS,1,5,1080,3.71,CRD,16.5 +VTS,1,1,420,1.24,CSH,7 +VTS,1,1,1140,4.38,CSH,17 +VTS,1,1,180,0.79,CSH,5 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,240,1.21,CRD,6 +VTS,1,1,300,0.78,CSH,5 +VTS,1,1,360,1.69,CSH,7 +VTS,1,1,180,0.69,CSH,4 +VTS,1,1,780,3.63,CSH,13.5 +VTS,1,1,360,0.35,CSH,5.5 +VTS,1,1,1020,5.04,CRD,17.5 +VTS,1,1,660,3.51,CRD,12 +VTS,1,1,240,0.76,CRD,5 +VTS,1,1,720,2.37,CSH,10.5 +VTS,1,1,420,1.22,CRD,7 +VTS,1,1,840,2.04,CRD,11 +VTS,1,1,720,2.59,CRD,10 +VTS,1,1,780,5.16,CSH,17 +VTS,1,1,360,1.48,CRD,7 +VTS,1,1,1020,4.65,CRD,17 +VTS,1,1,660,4.09,CRD,14 +VTS,1,1,420,1.85,CRD,8 +VTS,1,1,840,3.95,CRD,14.5 +VTS,1,1,180,1.59,CRD,6 +VTS,1,1,360,1.7,CSH,7.5 +VTS,1,1,480,1.89,CRD,8.5 +VTS,1,1,1620,5.17,CRD,21.5 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,180,0.56,CRD,4 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,900,3.29,CSH,14 +VTS,1,1,1200,11.72,CSH,33 +VTS,2,1,2520,18.51,CSH,52 +VTS,1,1,780,3.1,CSH,12.5 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,1,1020,3.12,CSH,14 +VTS,1,1,300,2.32,CSH,8.5 +VTS,2,1,2760,21.15,CSH,52 +VTS,1,1,1140,3.24,CRD,14.5 +VTS,1,1,660,2.54,CRD,10.5 +VTS,1,1,240,0.9,CRD,5 +VTS,1,5,1140,10.82,CSH,30.5 +VTS,1,5,720,2.79,CSH,11.5 +VTS,1,5,480,1.31,CRD,7.5 +VTS,1,5,360,0.71,CSH,5.5 +VTS,1,5,1200,3.8,CSH,16.5 +VTS,1,5,540,1.18,CRD,7.5 +VTS,1,5,360,1.34,CSH,7 +VTS,1,5,480,1.47,CRD,8 +VTS,1,5,2340,6.57,CSH,24.5 +VTS,1,5,1740,10.32,CRD,33 +VTS,1,5,180,0.81,CRD,4.5 +VTS,1,5,240,0.64,CRD,4.5 +VTS,1,5,540,2.1,CSH,8.5 +VTS,1,5,960,7.74,CRD,23.5 +VTS,1,5,1380,5.92,CSH,20.5 +VTS,1,5,180,0.75,CSH,4.5 +VTS,1,5,360,1.76,CSH,7.5 +VTS,1,5,1380,3.71,CRD,16.5 +VTS,1,5,960,4.12,CRD,15 +VTS,1,5,780,3.3,CRD,12.5 +VTS,1,5,540,1.67,CSH,8 +VTS,1,5,1080,4.37,CSH,17 +VTS,1,5,1860,12.27,CRD,38 +VTS,1,1,600,1.9,CRD,9.5 +VTS,1,1,300,0.64,CSH,5 +VTS,1,1,420,1.5,CRD,7 +VTS,1,1,360,1.56,CSH,6.5 +VTS,1,1,780,2.62,CSH,11.5 +VTS,1,1,540,1.14,CRD,7.5 +VTS,1,1,240,0.85,CRD,5 +VTS,1,1,840,2.71,CRD,12 +VTS,1,1,600,1.57,CRD,8.5 +VTS,1,1,240,0.76,CSH,4.5 +VTS,1,1,1200,2.15,CRD,13.5 +VTS,1,1,1020,5.43,CRD,18 +VTS,1,1,240,0.53,CRD,4.5 +VTS,1,1,420,0.93,CSH,6.5 +VTS,1,1,240,0.54,CSH,5 +VTS,2,1,2160,18.71,CRD,52 +VTS,1,1,480,2.83,CSH,10 +VTS,1,1,240,1.13,CSH,5.5 +VTS,1,1,360,1.96,CSH,8 +VTS,1,1,120,0.55,CRD,4 +VTS,1,1,960,4.49,CRD,16.5 +VTS,1,1,600,1.67,CSH,9 +VTS,1,1,420,1.47,CRD,7 +VTS,1,1,780,3.26,CRD,13 +VTS,1,1,600,1.29,CRD,8 +VTS,1,1,1200,4.95,CSH,18 +VTS,1,1,900,5.25,CRD,17.5 +VTS,1,1,120,0.24,CRD,3.5 +VTS,2,1,0,0.01,CSH,52 +VTS,1,1,2100,5.53,CSH,25 +VTS,1,5,1080,10.95,CSH,31 +VTS,1,5,1560,11.65,CRD,34 +VTS,1,5,300,0.99,CRD,5.5 +VTS,1,5,240,1.03,CSH,5.5 +VTS,1,5,600,1.73,CRD,8.5 +VTS,1,5,540,2.22,CRD,9 +VTS,1,5,2160,8.06,CRD,30 +VTS,1,5,660,2.53,CRD,10.5 +VTS,1,5,1920,7.6,CRD,28 +VTS,1,5,480,2.98,CSH,10.5 +VTS,1,5,900,2.87,CSH,13 +VTS,1,1,120,0.55,CSH,4 +VTS,1,1,600,2.95,CSH,12 +VTS,1,1,300,1.11,CRD,6 +VTS,1,1,480,2.96,CRD,10 +VTS,1,1,1620,16.23,CRD,44 +VTS,1,1,660,3.73,CSH,12 +VTS,1,1,300,1.24,CRD,6 +VTS,1,1,600,2.62,CRD,10.5 +VTS,1,1,660,2.73,CSH,11 +VTS,1,1,360,1.04,CRD,6.5 +VTS,1,1,1140,5.58,CRD,18 +VTS,1,1,960,1.78,CRD,10.5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,360,1.27,CRD,7 +VTS,1,1,540,2.4,CRD,9.5 +VTS,1,1,1860,13.68,CRD,40 +VTS,1,5,420,1.39,CRD,7 +VTS,1,5,660,2.04,CRD,9.5 +VTS,1,5,480,1.32,CRD,7.5 +VTS,1,5,600,1.03,CRD,7.5 +VTS,1,5,960,1.06,CSH,10.5 +VTS,2,5,4020,21.48,CSH,52 +VTS,1,5,1140,3.12,CSH,14.5 +VTS,1,5,420,0.84,CRD,6.5 +VTS,1,5,600,2.34,CRD,9.5 +VTS,1,5,960,5.45,CRD,17.5 +VTS,1,1,480,2.38,CRD,9 +VTS,1,1,780,4.07,CRD,14 +VTS,1,1,300,0.68,CRD,5.5 +VTS,1,5,720,0.71,CRD,8.5 +VTS,1,5,1920,11.87,CSH,36.5 +VTS,1,5,1020,7.93,CSH,24.5 +VTS,1,5,720,2.43,CSH,10.5 +VTS,1,5,660,2.32,CSH,10.5 +VTS,1,5,300,0.63,CSH,5 +VTS,1,5,1440,10.09,CSH,29 +VTS,1,5,840,2.49,CSH,11.5 +VTS,1,5,600,2.04,CRD,9 +VTS,1,5,480,1.8,CRD,8 +VTS,1,5,180,0.25,CSH,3.5 +VTS,1,5,780,1.71,CSH,8.5 +VTS,1,5,360,1.4,CRD,7 +VTS,1,5,840,3.17,CRD,12.5 +VTS,1,5,420,1.93,CSH,8 +VTS,1,5,1140,2.84,CSH,14.5 +VTS,1,5,1440,5.86,CSH,22 +VTS,1,5,480,1.95,CRD,9 +VTS,1,5,660,3.94,CRD,13 +VTS,1,1,480,0.96,CRD,6.5 +VTS,1,1,180,0.51,CSH,4.5 +VTS,1,1,540,2.39,CRD,10 +VTS,1,1,1320,2.37,CRD,15.5 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,1140,3.08,CSH,13 +VTS,1,1,300,1.36,CRD,6.5 +VTS,1,1,1620,8.25,CRD,26.5 +VTS,1,1,1080,7.08,CRD,22 +VTS,1,5,60,0.53,CSH,3.5 +VTS,1,5,720,3.72,CSH,13 +VTS,1,5,420,0.95,CSH,6.5 +VTS,1,5,1800,4.31,CSH,22 +VTS,1,5,2160,11.59,CSH,36 +VTS,1,5,720,2.34,CSH,10.5 +VTS,1,5,540,1.3,CRD,7.5 +VTS,1,5,420,0.77,CSH,6 +VTS,2,5,3480,17.78,CRD,52 +VTS,2,5,3600,19.19,CSH,52 +VTS,1,4,1260,1.92,CSH,14 +VTS,1,5,540,3.11,CSH,10.5 +VTS,1,5,1320,8.02,CRD,25 +VTS,1,5,1620,5.57,CRD,21.5 +VTS,1,5,2220,6.51,CSH,26.5 +VTS,1,5,1260,3.86,CSH,15 +VTS,1,5,540,3.35,CSH,11.5 +VTS,4,5,600,3.37,CRD,11.5 +VTS,1,5,840,3.56,CSH,13.5 +VTS,1,5,780,3.99,CRD,14.5 +VTS,1,1,300,1.25,CSH,6 +VTS,1,1,1260,5.42,CRD,19 +VTS,1,1,480,2.82,CRD,10 +VTS,1,1,720,1.87,CSH,10 +VTS,1,1,780,1.68,CSH,10 +VTS,1,1,780,3.01,CSH,12.5 +VTS,1,1,1260,3.76,CSH,16.5 +VTS,1,1,420,1.25,CSH,6.5 +VTS,1,1,900,2.14,CSH,11.5 +VTS,1,1,900,1.86,CRD,11.5 +VTS,1,1,420,1.76,CRD,8 +VTS,1,1,2100,10.13,CRD,34 +VTS,1,1,780,2.38,CSH,10.5 +VTS,1,1,540,1.13,CSH,7.5 +VTS,1,1,480,0.83,CSH,7 +VTS,1,1,1080,2.59,CRD,13.5 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,420,1.18,CSH,7 +VTS,1,1,780,3.06,CRD,13 +VTS,1,1,360,0.92,CSH,6 +VTS,1,1,480,0.87,CRD,7 +VTS,1,1,600,3.08,CRD,11 +VTS,1,1,3000,19.54,CRD,54.5 +VTS,1,1,960,5.41,CSH,17.5 +VTS,1,2,1260,3.7,CSH,16 +VTS,1,2,780,2.24,CRD,11 +VTS,1,2,1080,2.14,CSH,13 +VTS,1,1,720,1.38,CSH,9.5 +VTS,1,1,900,2.08,CRD,11.5 +VTS,1,1,120,0.26,CSH,4 +VTS,1,1,360,0.84,CSH,6 +VTS,1,1,1260,6.61,CSH,21.5 +VTS,1,1,240,0.69,CSH,5 +VTS,1,1,1200,3.28,CSH,15.5 +VTS,1,1,420,1.47,CRD,7 +VTS,1,1,1200,3.39,CRD,15 +VTS,1,1,1980,4.98,CRD,23 +VTS,1,1,300,1.18,CSH,6 +VTS,1,1,120,0.48,CRD,3.5 +VTS,1,1,660,1.81,CRD,9 +VTS,1,1,840,7.31,CRD,22 +VTS,1,1,540,2.66,CRD,10 +VTS,1,1,960,4.48,CRD,16 +VTS,2,1,1740,19.04,CRD,52 +VTS,1,1,1020,5.24,CRD,18 +VTS,1,1,1440,5.31,CSH,20 +VTS,1,1,420,1.42,CSH,7.5 +VTS,1,1,300,1.19,CSH,6 +VTS,1,1,720,3.03,CSH,12 +VTS,1,1,1920,8.19,CRD,30 +VTS,1,1,420,1.36,CRD,7.5 +VTS,1,1,1020,6.32,CRD,20 +VTS,1,2,840,3.67,CRD,13.5 +VTS,1,5,420,1.32,CSH,7 +VTS,1,5,1080,8.95,CSH,27 +VTS,1,5,300,0.49,CSH,5 +VTS,1,5,1020,3.98,CSH,16 +VTS,1,1,960,3.69,CRD,15 +VTS,1,1,780,1.98,CRD,10.5 +VTS,1,1,540,0.91,CSH,7.5 +VTS,1,1,720,2.25,CSH,10.5 +VTS,1,1,1020,7.39,CRD,22.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,420,0.8,CSH,6 +VTS,1,1,240,0.64,CRD,4.5 +VTS,1,1,1320,5.01,CSH,19.5 +VTS,1,1,1560,3.91,CSH,18 +VTS,1,1,1200,7,CSH,23 +VTS,1,1,720,1.81,CRD,10 +VTS,1,1,720,2.28,CRD,10.5 +VTS,1,1,540,0.93,CSH,7.5 +VTS,1,1,660,1.1,CSH,8.5 +VTS,1,1,780,1.27,CSH,9.5 +VTS,1,1,840,2.54,CSH,12 +VTS,1,1,180,0.62,CSH,4 +VTS,1,1,1020,3.02,CSH,13.5 +VTS,1,1,1260,6.64,CSH,22 +VTS,1,1,600,1.68,CRD,8.5 +VTS,1,1,660,1.61,CSH,9 +VTS,1,5,960,3.9,CSH,14 +VTS,1,5,600,2.25,CRD,10 +VTS,1,5,540,0.94,CRD,7 +VTS,1,5,480,1.24,CSH,7 +VTS,1,5,960,9.13,CRD,26 +VTS,1,5,480,1.26,CRD,7.5 +VTS,1,5,1320,6.65,CRD,22 +VTS,1,5,360,0.64,CSH,5.5 +VTS,1,5,720,3.08,CSH,12.5 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,1,420,1.39,CRD,6.5 +VTS,1,1,600,3.72,CRD,12.5 +VTS,1,1,720,1.5,CSH,9.5 +VTS,1,1,600,1.5,CRD,8.5 +VTS,1,1,120,0.32,CSH,3.5 +VTS,1,1,240,0.62,CRD,4.5 +VTS,2,1,2580,18.03,CSH,52 +VTS,1,1,1080,2.8,CRD,13.5 +VTS,1,1,720,2.44,CRD,10.5 +VTS,1,1,420,0.6,CSH,5.5 +VTS,1,1,720,2.83,CSH,12 +VTS,1,1,780,3.41,CRD,13.5 +VTS,1,1,120,0.47,CRD,4 +VTS,1,1,240,0.57,CRD,5 +VTS,1,1,300,1.38,CSH,6 +VTS,1,1,840,2.84,CRD,13 +VTS,1,1,480,1.21,CSH,7 +VTS,1,1,1860,5.54,CSH,23 +VTS,1,1,240,1.14,CRD,6 +VTS,1,1,180,0.35,CRD,4 +VTS,1,1,720,1.83,CRD,10 +VTS,1,1,600,1.16,CSH,7.5 +VTS,1,1,900,2.59,CSH,12 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,0,0,CSH,2.5 +VTS,4,1,360,0.53,CSH,5 +VTS,1,1,360,3.23,CRD,11 +VTS,2,1,1500,17.04,CRD,52 +VTS,1,1,1080,3.53,CSH,15 +VTS,1,1,600,2.34,CSH,10 +VTS,1,1,120,0.62,CSH,4 +VTS,1,1,360,1.51,CRD,7 +VTS,1,1,660,1.36,CRD,8.5 +VTS,1,2,180,0.58,CRD,4 +VTS,1,1,960,4.05,CRD,15.5 +VTS,1,2,1200,3.66,CRD,15.5 +VTS,1,2,780,2.47,CSH,11.5 +VTS,1,2,960,4.82,CRD,17.5 +VTS,1,2,600,3.17,CSH,11.5 +VTS,4,2,960,6.9,CSH,26 +VTS,1,2,300,0.82,CSH,5.5 +VTS,1,2,540,1.16,CRD,8 +VTS,1,2,540,1.64,CRD,8 +VTS,1,5,1020,4.17,CSH,16 +VTS,1,5,360,0.99,CSH,6.5 +VTS,1,5,480,1.28,CRD,7 +VTS,1,5,900,1.46,CSH,10.5 +VTS,1,5,840,3.32,CRD,13.5 +VTS,1,5,180,0.39,CRD,4 +VTS,1,5,360,1.1,CRD,6.5 +VTS,1,5,660,2.08,CSH,9.5 +VTS,1,5,540,1,CRD,7 +VTS,1,5,360,1.18,CSH,6.5 +VTS,1,1,2700,13.03,CSH,43.5 +VTS,1,1,600,1.71,CRD,8.5 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,420,1.07,CRD,7 +VTS,1,1,720,2.06,CSH,10 +VTS,1,1,600,1.08,CSH,8 +VTS,1,1,360,0.79,CRD,6 +VTS,1,1,840,1.25,CSH,9.5 +VTS,1,1,780,1.64,CRD,9.5 +VTS,2,1,2460,17.13,CSH,52 +VTS,1,1,960,1.6,CRD,11 +VTS,1,1,480,1.1,CSH,7 +VTS,1,1,600,2.48,CRD,10 +VTS,1,1,1980,9.4,CRD,31 +VTS,1,1,60,0.38,CSH,3.5 +VTS,1,1,240,0.54,CSH,5 +VTS,1,1,660,4.91,CRD,15.5 +VTS,1,1,120,0.61,CSH,4 +VTS,1,1,360,2.48,CSH,8.5 +VTS,1,1,660,3.95,CRD,13 +VTS,1,1,480,2.06,CRD,8.5 +VTS,2,1,1500,17.27,CRD,52 +VTS,1,1,900,7.06,CSH,22 +VTS,1,1,1560,6.75,CRD,24.5 +VTS,1,1,540,1.33,CRD,7.5 +VTS,1,1,420,1.34,CRD,7 +VTS,1,1,1320,7.8,CSH,25 +VTS,1,1,600,3.4,CRD,11.5 +VTS,1,1,660,2.26,CRD,10 +VTS,1,1,540,2.87,CSH,10.5 +VTS,1,1,900,3.83,CRD,14 +VTS,2,1,1500,18.6,CRD,52 +VTS,1,5,1500,9.6,CRD,30 +VTS,1,5,420,1.81,CSH,7.5 +VTS,1,5,480,1.5,CRD,7.5 +VTS,1,5,900,2.86,CRD,12.5 +VTS,1,5,120,0.39,CSH,3.5 +VTS,1,5,2160,8.54,CSH,32 +VTS,1,5,900,2.44,CSH,11 +VTS,1,5,1200,2.28,CRD,13.5 +VTS,1,5,720,2.63,CRD,11 +VTS,1,5,720,2.18,CRD,10 +VTS,1,1,960,2.68,CRD,12.5 +VTS,1,1,900,1.94,CRD,11 +VTS,1,1,1200,3.63,CRD,16 +VTS,1,1,1140,8.14,CSH,25.5 +VTS,1,1,1200,8.33,CRD,26.5 +VTS,1,1,420,1.18,CSH,7 +VTS,1,1,720,1.24,CSH,9 +VTS,1,1,180,0.39,CSH,4 +VTS,1,1,900,2.03,CSH,11.5 +VTS,1,1,360,1.01,CSH,6 +VTS,1,1,840,3.12,CSH,12.5 +VTS,1,1,1440,6.28,CSH,20.5 +VTS,1,1,360,0.89,CSH,6 +VTS,1,1,540,0.87,CRD,7.5 +VTS,1,1,1200,4.01,CSH,16 +VTS,1,1,360,0.9,CRD,5.5 +VTS,1,1,420,1.28,CRD,6.5 +VTS,1,1,540,1.85,CRD,8.5 +VTS,1,1,180,0.47,CSH,4 +VTS,1,1,1200,7.25,CRD,22.5 +VTS,1,1,540,2.2,CSH,9.5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,600,1.55,CRD,8.5 +VTS,1,1,660,2.49,CSH,10.5 +VTS,1,2,480,1.89,CSH,9 +VTS,1,2,840,3.27,CSH,12.5 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,1680,13.4,CRD,39 +VTS,1,1,1320,3.43,CSH,16.5 +VTS,1,1,1980,6.82,CRD,27 +VTS,1,1,1080,5.53,CRD,19.5 +VTS,1,1,1020,6.54,CRD,21 +VTS,1,1,480,1.71,CSH,8 +VTS,1,1,180,0.54,CRD,4 +VTS,1,1,360,1.22,CSH,6.5 +VTS,1,1,1080,2.93,CRD,14 +VTS,1,2,660,1.89,CSH,9.5 +VTS,1,2,420,1.9,CSH,8 +VTS,1,2,540,2.42,CRD,10 +VTS,1,2,960,5.97,CSH,19 +VTS,1,2,480,1.39,CSH,7.5 +VTS,1,2,540,1.76,CRD,8.5 +VTS,1,2,660,1.95,CRD,9.5 +VTS,1,2,480,1.14,CRD,7 +VTS,1,2,240,1.44,CRD,6 +VTS,1,2,180,0.65,CRD,4.5 +VTS,2,2,2280,19.91,CRD,52 +VTS,1,1,1140,5.82,CSH,19 +VTS,1,2,540,2.06,CRD,8.5 +VTS,1,2,120,0.75,CSH,4 +VTS,1,2,660,0.65,CSH,8 +VTS,1,2,480,1.01,CRD,7 +VTS,1,2,1500,8.59,CRD,27.5 +VTS,1,2,480,1.42,CRD,8 +VTS,1,2,540,2.16,CRD,9.5 +VTS,1,2,600,1.72,CRD,8.5 +VTS,1,2,540,1.84,CSH,9 +VTS,1,2,1380,6.97,CRD,23 +VTS,1,2,360,2.29,CRD,8.5 +VTS,2,2,1620,16.51,CSH,52 +VTS,1,2,180,0.98,CSH,5 +VTS,1,2,720,2.05,CSH,10 +VTS,1,2,480,1.18,CRD,7.5 +VTS,1,2,360,0.98,CSH,6 +VTS,1,2,960,2.52,CRD,12.5 +VTS,1,2,600,1.59,CSH,8.5 +VTS,1,2,480,1.76,CRD,8 +VTS,1,2,480,0.58,CSH,6.5 +VTS,1,2,900,2.21,CSH,11.5 +VTS,1,2,1260,14.13,CSH,38.5 +VTS,1,2,900,2.84,CRD,12.5 +VTS,1,2,1020,5.57,CRD,19 +VTS,1,2,420,0.72,CSH,6 +VTS,1,2,660,1.97,CRD,10 +VTS,1,2,240,1.15,CRD,5.5 +VTS,1,2,480,1.92,CRD,8.5 +VTS,1,2,480,2.11,CRD,8.5 +VTS,1,2,240,0.76,CSH,5 +VTS,1,1,2040,8.17,CRD,29 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,840,5.31,CRD,18 +VTS,1,2,240,0.91,CRD,5.5 +VTS,1,1,1260,4.82,CRD,19 +VTS,1,2,600,1.76,CRD,9 +VTS,1,2,180,0.94,CSH,4.5 +VTS,1,2,540,1.09,CRD,7.5 +VTS,1,2,1020,2.18,CRD,12.5 +VTS,1,2,240,0.79,CRD,5.5 +VTS,1,2,600,3.17,CRD,11.5 +VTS,1,2,1200,11.33,CSH,32 +VTS,1,2,780,1.98,CSH,10.5 +VTS,1,2,600,2.03,CRD,9.5 +VTS,1,2,1920,14.34,CRD,42 +VTS,1,2,1380,3.69,CRD,17 +VTS,1,2,420,0.98,CSH,6.5 +VTS,1,2,720,2.64,CRD,11 +VTS,1,2,600,1.73,CRD,9 +VTS,1,2,1680,7.4,CSH,25.5 +VTS,1,2,180,0.63,CRD,4.5 +VTS,1,2,360,1.12,CRD,6 +VTS,1,2,480,1.64,CRD,8.5 +VTS,1,2,600,1.58,CSH,8.5 +VTS,1,2,240,0.6,CRD,4.5 +VTS,1,2,300,0.85,CSH,5.5 +VTS,1,2,420,1.42,CSH,7 +VTS,1,2,600,2.18,CSH,9.5 +VTS,1,2,240,0.57,CRD,4.5 +VTS,1,2,120,0.36,CSH,3.5 +VTS,1,2,360,1.29,CRD,6.5 +VTS,1,2,720,2.38,CRD,10.5 +VTS,1,2,300,1.71,CSH,7 +VTS,1,2,420,1.8,CRD,8 +VTS,1,2,600,1.43,CRD,8.5 +VTS,1,2,600,2.36,CSH,9.5 +VTS,1,2,1080,7.68,CRD,23.5 +VTS,1,2,1560,6.49,CRD,22 +VTS,1,2,900,1.93,CRD,11 +VTS,1,2,900,6.36,CSH,19.5 +VTS,1,2,360,0.66,CSH,5.5 +VTS,1,2,720,2.44,CRD,11 +VTS,1,2,780,2.65,CSH,11.5 +VTS,1,2,960,4.34,CRD,15.5 +VTS,1,2,720,1.77,CSH,9.5 +VTS,1,2,360,1.15,CSH,6.5 +VTS,1,1,960,3.69,CSH,15 +VTS,1,1,0,0,CSH,2.5 +VTS,1,2,480,1.96,CSH,8.5 +VTS,1,1,180,0.4,CSH,4 +VTS,1,1,780,5.15,CRD,17 +VTS,1,1,1020,2.69,CRD,13 +VTS,1,1,900,3.06,CRD,13 +VTS,1,5,660,2.31,CRD,10 +VTS,1,5,1140,4.43,CRD,14.5 +VTS,1,5,60,0.42,CSH,3.5 +VTS,1,5,1800,10.91,CSH,34.5 +VTS,1,5,1020,5.3,CRD,19.5 +VTS,1,5,300,1.34,CSH,6.5 +VTS,1,1,1320,5.53,CRD,21.5 +VTS,1,1,360,0.97,CSH,6 +VTS,1,1,900,2.36,CRD,12 +VTS,1,1,1200,4.24,CRD,17 +VTS,1,1,1260,10.36,CRD,30 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,1,720,2.43,CSH,11 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,120,0.89,CSH,4.5 +VTS,1,1,540,1.09,CRD,7.5 +VTS,1,1,660,1.88,CSH,9.5 +VTS,1,1,900,5.4,CRD,18 +VTS,2,1,1980,17.27,CSH,52 +VTS,1,1,1380,4.16,CRD,18 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,1440,3.79,CRD,16.5 +VTS,1,1,960,6.26,CSH,19.5 +VTS,1,1,540,2.03,CSH,9 +VTS,1,1,60,0.26,CSH,3 +VTS,1,1,780,3.02,CRD,12.5 +VTS,1,1,720,1.84,CSH,10 +VTS,1,1,540,1.17,CSH,7 +VTS,1,1,720,3.7,CRD,13.5 +VTS,1,1,720,1.54,CRD,9.5 +VTS,1,1,420,0.56,CRD,6 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,900,1.36,CRD,10.5 +VTS,1,1,360,0.52,CSH,5 +VTS,1,1,180,0.89,CSH,5 +VTS,1,1,480,0.97,CSH,7 +VTS,1,1,540,0.93,CRD,7.5 +VTS,1,1,420,0.96,CRD,6.5 +VTS,1,1,780,2.06,CRD,11 +VTS,1,1,960,2.31,CRD,12 +VTS,1,1,1080,9.39,CRD,26.5 +VTS,1,1,1500,4.35,CRD,20 +VTS,1,1,60,0.41,CSH,3.5 +VTS,1,1,900,7.6,CRD,22.5 +VTS,1,1,300,0.54,CSH,5 +VTS,1,1,1980,7.14,CRD,26.5 +VTS,2,1,0,0,CRD,52 +VTS,1,1,540,2.06,CRD,9.5 +VTS,1,1,960,2.11,CRD,12 +VTS,1,1,840,2.01,CSH,11 +VTS,1,1,720,3.36,CSH,12.5 +VTS,1,1,900,3.38,CSH,13 +VTS,1,1,60,0.08,CSH,2.5 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,1,1860,6.57,CRD,25.5 +VTS,1,1,420,1.28,CRD,7 +VTS,1,1,360,1.5,CRD,6.5 +VTS,1,1,840,2.73,CRD,12 +VTS,1,1,900,3.4,CRD,14 +VTS,1,1,1200,4.49,CRD,17.5 +VTS,1,1,240,0.9,CSH,5 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,1020,3.11,CRD,13.5 +VTS,1,1,60,0.11,CSH,2.5 +VTS,1,1,120,0.16,CSH,3 +VTS,1,1,720,2.63,CRD,11 +VTS,1,1,540,2.82,CRD,10.5 +VTS,1,1,420,2.06,CRD,8 +VTS,1,2,360,1.13,CSH,6.5 +VTS,1,2,660,4.05,CRD,14.5 +VTS,1,2,4260,20.86,CSH,62 +VTS,1,2,720,3.13,CRD,12 +VTS,1,2,1020,7.78,CSH,23 +VTS,1,2,420,1.55,CSH,7.5 +VTS,1,2,1080,5.26,CRD,17.5 +VTS,1,2,120,0.29,CSH,3.5 +VTS,1,2,300,0.99,CRD,5.5 +VTS,1,2,720,5.44,CRD,17.5 +VTS,1,2,480,2.02,CRD,8.5 +VTS,1,2,420,1.36,CRD,7 +VTS,1,2,1260,4.04,CSH,17 +VTS,1,1,780,2.03,CSH,10.5 +VTS,1,1,660,2.02,CRD,10 +VTS,1,1,120,0.47,CRD,4 +VTS,1,1,300,1.11,CRD,6 +VTS,1,1,600,1.5,CSH,8 +VTS,1,1,480,4.37,CRD,13.5 +VTS,1,1,0,0.03,CSH,2.5 +VTS,1,3,300,0.87,CRD,5.5 +VTS,1,3,480,1.66,CRD,7.5 +VTS,1,1,780,3.59,CRD,12.5 +VTS,1,1,300,1.19,CSH,6 +VTS,1,1,780,3.76,CSH,13 +VTS,1,1,1080,5.79,CSH,20.5 +VTS,1,1,1020,2.42,CSH,13 +VTS,1,1,600,2.6,CSH,11 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,120,0.34,CSH,3.5 +VTS,1,1,600,2,CRD,9 +VTS,1,1,1440,4.61,CRD,18.5 +VTS,1,1,420,1.37,CSH,7.5 +VTS,1,1,1200,5.56,CRD,20 +VTS,1,1,2100,11.84,CRD,37 +VTS,1,1,420,0.85,CSH,6 +VTS,1,1,480,1.73,CRD,7.5 +VTS,1,2,60,0.42,CSH,3.5 +VTS,1,2,540,1.31,CSH,8 +VTS,1,2,420,2.38,CSH,9 +VTS,1,2,420,2.99,CRD,10 +VTS,1,2,0,0,CSH,2.5 +VTS,1,1,240,0.88,CSH,5 +VTS,1,1,1140,5.38,CRD,18.5 +VTS,1,1,660,3.22,CSH,12.5 +VTS,1,1,960,2.41,CSH,12 +VTS,1,1,480,1.75,CRD,8 +VTS,1,1,240,1.23,CSH,6 +VTS,1,1,1800,7.84,CSH,28.5 +VTS,1,1,660,1.41,CSH,8.5 +VTS,1,1,360,0.84,CSH,5.5 +VTS,1,1,1140,3.87,CRD,16 +VTS,1,1,240,0.75,CSH,5 +VTS,1,1,1920,4.97,CRD,24.5 +VTS,1,1,780,1.09,CSH,9.5 +VTS,1,1,1620,10.9,CSH,33 +VTS,1,1,2280,2.15,CSH,22.5 +VTS,1,1,840,2.11,CSH,11.5 +VTS,1,1,780,2.07,CRD,10 +VTS,1,1,1080,4.52,CRD,16.5 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,240,0.76,CRD,4.5 +VTS,1,1,420,1.1,CRD,7 +VTS,1,1,300,1.09,CSH,5.5 +VTS,1,5,480,2.35,CRD,9 +VTS,1,5,240,0.51,CSH,4.5 +VTS,1,5,600,2.74,CRD,11 +VTS,1,5,480,1.95,CSH,8.5 +VTS,1,5,120,0.58,CSH,4 +VTS,1,5,660,2.71,CRD,11 +VTS,1,1,600,0.97,CSH,7.5 +VTS,1,1,360,1.16,CRD,7 +VTS,1,1,780,0.96,CRD,9 +VTS,1,1,720,2,CSH,10 +VTS,1,1,600,0.83,CRD,7.5 +VTS,1,1,420,1.55,CSH,7.5 +VTS,1,1,120,0.5,CSH,3.5 +VTS,1,1,600,2.05,CRD,9.5 +VTS,1,1,960,3.81,CRD,14 +VTS,1,1,540,1.79,CRD,8.5 +VTS,1,1,660,0.69,CRD,7.5 +VTS,1,1,600,2.22,CSH,9 +VTS,1,1,1320,1.88,CSH,14.5 +VTS,1,1,1320,3.86,CSH,17 +VTS,1,1,960,2.39,CRD,12 +VTS,1,1,420,1.88,CSH,8 +VTS,1,1,840,2.89,CSH,12.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,240,0.63,CSH,5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,240,0.96,CSH,5.5 +VTS,1,2,1380,5,CRD,20 +VTS,2,2,2160,14.7,CRD,52 +VTS,1,2,480,1.48,CRD,8.5 +VTS,1,2,1680,3.44,CSH,19 +VTS,1,2,840,3.37,CRD,13 +VTS,1,2,660,2.14,CRD,9.5 +VTS,1,2,360,1.1,CRD,6.5 +VTS,1,2,420,2.3,CRD,9.5 +VTS,1,1,1020,2.72,CSH,13 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,840,2.44,CRD,11.5 +VTS,1,1,660,1.74,CSH,9 +VTS,1,1,900,5.03,CRD,17.5 +VTS,1,1,300,0.69,CRD,5.5 +VTS,1,2,780,4.68,CRD,16 +VTS,1,1,660,1.63,CRD,9.5 +VTS,1,1,600,1.28,CSH,8.5 +VTS,1,3,600,1.83,CSH,9.5 +VTS,1,1,420,1.57,CSH,7.5 +VTS,1,1,540,0.98,CSH,7 +VTS,1,1,900,6.14,CSH,19.5 +VTS,1,1,660,3.25,CSH,11.5 +VTS,1,1,900,2.23,CSH,11.5 +VTS,1,1,300,1.1,CRD,6.5 +VTS,1,1,780,1.43,CRD,9 +VTS,1,1,540,1.44,CSH,8 +VTS,1,2,1140,5.87,CSH,19.5 +VTS,1,2,600,1.4,CSH,8 +VTS,1,2,480,2.03,CSH,9 +VTS,1,2,1620,6.83,CRD,24.5 +VTS,1,1,420,1.13,CRD,6.5 +VTS,1,1,840,2.48,CRD,12 +VTS,1,1,720,2.01,CRD,10 +VTS,1,1,60,0,CSH,2.5 +VTS,1,1,1500,2.35,CSH,16.5 +VTS,1,1,1020,8.51,CRD,25 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,420,1.3,CSH,7 +VTS,1,3,180,0.68,CSH,4.5 +VTS,1,1,540,0.82,CSH,7 +VTS,1,1,300,0.51,CRD,5 +VTS,1,1,1620,2.87,CRD,17.5 +VTS,1,1,660,1.49,CSH,9 +VTS,1,1,660,1.7,CRD,9.5 +VTS,1,1,780,4.35,CSH,15 +VTS,1,1,420,1.18,CSH,7 +VTS,2,1,2520,16.3,CRD,52 +VTS,1,1,120,0.34,CRD,3.5 +VTS,1,1,600,1.69,CSH,8.5 +VTS,1,1,2400,10.45,CSH,37 +VTS,1,1,1980,4.18,CSH,22 +VTS,1,1,240,0.56,CRD,4.5 +VTS,1,2,420,1.45,CSH,7 +VTS,1,2,660,1.61,CSH,8 +VTS,1,2,840,2.9,CSH,12.5 +VTS,1,2,420,0.82,CRD,6.5 +VTS,1,2,720,2.67,CSH,11 +VTS,2,2,2460,17.49,CRD,52 +VTS,2,2,1620,19.12,CRD,52 +VTS,1,2,1080,2.88,CRD,13.5 +VTS,1,2,180,0.84,CSH,5 +VTS,1,2,1440,3.56,CSH,17 +VTS,1,2,900,10.34,CRD,28.5 +VTS,1,2,480,1.32,CSH,7.5 +VTS,1,2,420,0.88,CSH,6 +VTS,1,2,720,6.41,CSH,18.5 +VTS,1,2,660,2.84,CSH,11 +VTS,1,1,960,2.66,CRD,12.5 +VTS,1,1,300,0.76,CSH,5 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,600,1.71,CRD,9 +VTS,1,1,1320,3.73,CRD,16 +VTS,1,1,1080,2,CSH,13 +VTS,1,1,780,2.84,CRD,11.5 +VTS,1,1,360,0.64,CSH,5.5 +VTS,1,1,420,1.02,CSH,7 +VTS,1,1,360,1.79,CSH,7.5 +VTS,1,1,840,2.48,CRD,11.5 +VTS,1,2,720,1.76,CSH,9.5 +VTS,1,2,420,3.25,CRD,10.5 +VTS,1,2,2940,16.14,CRD,48.5 +VTS,1,2,300,0.83,CRD,5.5 +VTS,1,2,900,4.59,CRD,15.5 +VTS,1,2,1560,3.97,CSH,20 +VTS,1,1,2280,10.46,CRD,34.5 +VTS,1,3,1140,5.2,CRD,19 +VTS,1,1,840,4.59,CRD,16.5 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,420,0.93,CSH,6 +VTS,1,1,540,1.13,CRD,7.5 +VTS,1,1,780,2.98,CRD,11.5 +VTS,1,1,1200,1.56,CRD,12.5 +VTS,1,1,1260,2.96,CRD,15.5 +VTS,1,1,900,2.77,CSH,13 +VTS,1,1,720,3.62,CSH,13.5 +VTS,1,1,540,1.47,CSH,8 +VTS,1,1,780,1.55,CSH,10.5 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,540,2.4,CRD,9.5 +VTS,1,1,960,3.74,CRD,15 +VTS,1,1,420,0.69,CSH,6 +VTS,1,1,360,0.81,CRD,6 +VTS,1,1,900,1.19,CSH,10 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,180,1.52,CRD,6 +VTS,1,1,660,2.04,CRD,10 +VTS,1,1,360,1.83,CRD,7.5 +VTS,1,1,720,1.82,CRD,10 +VTS,1,1,1500,7.53,CSH,24.5 +VTS,1,1,840,1.99,CSH,11 +VTS,1,1,480,0.71,CRD,6.5 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,180,1.42,CRD,6 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,960,3.12,CRD,14 +VTS,1,1,1140,2.87,CRD,14.5 +VTS,1,1,180,1.05,CSH,5 +VTS,1,1,1260,4.54,CSH,18 +VTS,1,1,720,3.72,CRD,13.5 +VTS,1,1,300,1.52,CRD,7 +VTS,1,1,420,1.51,CSH,8 +VTS,1,1,240,1.2,CRD,6 +VTS,1,1,300,1.05,CSH,6 +VTS,1,1,1140,3.6,CRD,16.5 +VTS,1,1,720,3.03,CSH,11.5 +VTS,1,1,480,2.44,CSH,9.5 +VTS,1,1,300,1.43,CSH,6.5 +VTS,1,1,360,1.95,CRD,8 +VTS,1,1,480,1.63,CSH,8 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,120,0.56,CSH,4 +VTS,1,1,480,1.28,CRD,8 +VTS,1,1,180,0.76,CSH,5 +VTS,1,1,1500,5.16,CRD,20 +VTS,1,1,540,1.57,CSH,8 +VTS,1,1,840,2.18,CRD,11 +VTS,1,1,240,0.71,CRD,5 +VTS,1,1,360,1.81,CRD,7.5 +VTS,1,1,600,1.28,CRD,8.5 +VTS,1,1,600,2.46,CRD,10.5 +VTS,1,1,900,6.13,CRD,19.5 +VTS,1,1,840,4.54,CRD,16 +VTS,1,1,600,0.79,CSH,7.5 +VTS,1,1,540,1.07,CSH,7.5 +VTS,1,1,1200,13.46,CRD,37 +VTS,1,1,300,1.81,CSH,7 +VTS,1,1,1440,3.51,CRD,18 +VTS,1,1,720,2.43,CSH,10.5 +VTS,1,1,780,3.09,CRD,12.5 +VTS,1,1,360,1.01,CSH,6 +VTS,1,1,180,0.85,CSH,4.5 +VTS,1,1,600,1.69,CSH,9 +VTS,1,1,360,2.12,CSH,8 +VTS,1,1,60,0.37,CSH,3.5 +VTS,1,1,420,1.43,CRD,7.5 +VTS,1,1,1320,5.98,CRD,20.5 +VTS,1,1,360,1.55,CSH,7 +VTS,4,1,180,0.61,CRD,4 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,660,1.6,CSH,9.5 +VTS,1,1,720,3.01,CRD,11.5 +VTS,1,1,360,1.44,CSH,7 +VTS,1,1,120,0.92,CSH,4.5 +VTS,1,1,1020,4.63,CRD,16 +VTS,1,1,900,4.08,CRD,14.5 +VTS,1,1,720,2.62,CSH,10.5 +VTS,1,1,300,1.23,CRD,6 +VTS,1,1,1080,2.66,CRD,13 +VTS,1,1,420,2.38,CRD,9 +VTS,1,1,300,1.01,CRD,6 +VTS,1,1,1740,9.61,CSH,31.5 +VTS,1,1,960,3.51,CSH,15 +VTS,1,1,360,1.9,CRD,8 +VTS,1,1,840,3.93,CSH,14 +VTS,1,1,540,2.29,CSH,9.5 +VTS,1,1,720,3.82,CSH,14 +VTS,1,1,660,3.55,CSH,12.5 +VTS,1,1,660,1.94,CRD,9.5 +VTS,1,1,540,1.51,CRD,7.5 +VTS,1,1,900,3.23,CRD,13 +VTS,1,1,1080,5.96,CRD,19 +VTS,1,1,1440,2.99,CRD,16.5 +VTS,1,1,600,1.7,CRD,9 +VTS,1,1,240,0.38,CSH,4.5 +VTS,1,1,480,2.44,CRD,9.5 +VTS,1,1,420,1.15,CRD,7 +VTS,2,1,1680,13.94,CRD,52 +VTS,1,1,180,0.55,CRD,4.5 +VTS,1,1,1260,2.8,CRD,15.5 +VTS,1,1,60,0.27,CSH,3 +VTS,1,1,780,5.07,CSH,16.5 +VTS,1,1,720,1.64,CRD,10 +VTS,1,1,360,1.17,CRD,6.5 +VTS,1,1,360,1,CSH,6 +VTS,1,1,360,0.91,CRD,6.5 +VTS,1,1,1860,4.42,CRD,22 +VTS,1,1,480,1.3,CRD,7.5 +VTS,1,1,540,2.16,CSH,9.5 +VTS,1,1,900,2.83,CRD,12.5 +VTS,1,1,360,1.2,CRD,6.5 +VTS,1,1,300,1.75,CSH,7.5 +VTS,1,1,1620,5.41,CRD,22 +VTS,1,1,120,0.63,CSH,4 +VTS,1,1,420,1.52,CRD,8 +VTS,1,1,60,0.35,CSH,3 +VTS,1,1,360,0.84,CRD,6 +VTS,1,1,660,1.48,CRD,8.5 +VTS,1,1,540,1.23,CSH,7 +VTS,1,1,360,1.03,CSH,6.5 +VTS,1,1,900,1.42,CRD,11 +VTS,1,1,360,1.35,CSH,6.5 +VTS,1,2,240,0.73,CRD,4.5 +VTS,1,2,660,1.45,CRD,9 +VTS,1,2,420,0.9,CRD,6.5 +VTS,1,2,1020,4.34,CRD,16 +VTS,1,2,240,0.52,CSH,4.5 +VTS,1,2,900,3.93,CRD,14 +VTS,1,2,420,2.27,CRD,9 +VTS,1,2,1800,15.42,CSH,43.5 +VTS,1,2,480,1.57,CRD,8 +VTS,1,2,1020,3.35,CSH,14.5 +VTS,1,2,1020,3.43,CRD,14.5 +VTS,1,2,120,0.54,CRD,4 +VTS,1,2,180,0.83,CSH,5 +VTS,1,2,120,0.61,CSH,4 +VTS,1,2,1020,2.06,CRD,12 +VTS,1,2,360,0.73,CSH,5.5 +VTS,1,2,360,1.42,CSH,6.5 +VTS,1,2,480,2.4,CSH,9.5 +VTS,1,2,120,0.63,CSH,4 +VTS,1,2,480,1.31,CRD,7.5 +VTS,1,2,660,1.92,CRD,9.5 +VTS,1,2,780,8.76,CSH,25 +VTS,1,2,240,1.49,CSH,6.5 +VTS,1,2,1500,13.37,CSH,39 +VTS,1,1,1440,10.19,CRD,31.5 +VTS,1,1,480,1.34,CSH,7.5 +VTS,1,1,1080,1.64,CRD,13 +VTS,1,1,180,0.48,CRD,4 +VTS,1,1,420,1.4,CSH,7.5 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,420,1.01,CRD,7 +VTS,1,1,1920,4.04,CRD,22.5 +VTS,1,1,480,1.25,CSH,7.5 +VTS,1,1,840,3.91,CRD,14.5 +VTS,1,1,540,1.35,CSH,7.5 +VTS,1,1,420,1.09,CRD,6.5 +VTS,1,1,360,1.33,CRD,7 +VTS,1,1,780,2.63,CSH,12 +VTS,1,1,1080,6.68,CSH,21 +VTS,1,1,1140,2.62,CRD,13.5 +VTS,4,1,480,1.22,CSH,7.5 +VTS,1,1,600,1.77,CRD,9 +VTS,1,1,180,0.42,CSH,4 +VTS,1,1,300,0.65,CSH,5 +VTS,1,1,420,1.03,CRD,6 +VTS,1,1,660,1.58,CRD,9 +VTS,1,1,660,1.44,CRD,9 +VTS,1,1,900,1.98,CRD,10.5 +VTS,1,1,540,1.56,CRD,8.5 +VTS,1,1,1260,2.5,CRD,14.5 +VTS,1,1,540,1.95,CSH,8.5 +VTS,1,1,480,2.26,CSH,9 +VTS,1,1,540,2.06,CRD,9.5 +VTS,1,1,1140,3.43,CSH,15.5 +VTS,1,1,360,1.42,CRD,6.5 +VTS,1,1,480,2.04,CSH,9 +VTS,1,1,720,1.87,CRD,10 +VTS,1,1,1020,4.28,CRD,16.5 +VTS,1,1,1560,11.59,CSH,34 +VTS,1,1,660,2.36,CRD,10 +VTS,1,1,360,1.14,CSH,6 +VTS,1,1,180,0.3,CSH,3.5 +VTS,1,1,900,2.65,CRD,12.5 +VTS,1,1,480,1.52,CRD,8 +VTS,1,1,480,1.73,CRD,8 +VTS,1,1,360,0.61,CRD,5.5 +VTS,1,1,660,1.82,CSH,9.5 +VTS,1,1,600,1.26,CSH,8 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,840,1.83,CSH,11.5 +VTS,1,1,60,0.05,CSH,3 +VTS,1,1,420,1.6,CRD,7.5 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,240,0.76,CRD,5 +VTS,1,1,660,2.03,CSH,10 +VTS,1,1,180,0.77,CRD,4.5 +VTS,1,1,1260,4.42,CRD,17.5 +VTS,1,1,600,1.64,CSH,8.5 +VTS,1,1,1320,5.15,CRD,19.5 +VTS,1,1,480,1.46,CSH,8 +VTS,1,1,1080,3.36,CSH,13.5 +VTS,1,1,900,5.28,CRD,17 +VTS,1,1,300,0.61,CSH,5 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,960,4.13,CSH,15 +VTS,1,1,480,1.94,CSH,8 +VTS,5,2,1200,6.18,CRD,40 +VTS,1,1,660,2.49,CRD,10.5 +VTS,1,1,840,3.55,CRD,14 +VTS,1,1,1380,4.55,CSH,18.5 +VTS,1,1,720,3.15,CSH,12 +VTS,1,1,420,1.74,CRD,8 +VTS,1,1,1320,3.84,CRD,17 +VTS,1,1,1020,3.59,CRD,15 +VTS,1,1,360,1.54,CRD,7 +VTS,1,1,540,1.92,CSH,8.5 +VTS,1,1,840,3.46,CSH,13.5 +VTS,1,1,1320,6.78,CSH,22 +VTS,1,1,420,2.27,CRD,8.5 +VTS,1,1,480,0.92,CSH,7 +VTS,1,1,780,1.99,CSH,11 +VTS,1,1,360,1.56,CRD,7.5 +VTS,1,1,300,0.81,CRD,6 +VTS,1,1,420,2.24,CRD,8.5 +VTS,1,1,1080,6.76,CSH,21.5 +VTS,1,1,900,2.82,CSH,12.5 +VTS,1,1,300,1.92,CSH,7.5 +VTS,1,1,600,3.28,CSH,12 +VTS,1,1,420,0.71,CSH,6 +VTS,2,1,1740,17.4,CSH,52 +VTS,1,1,180,0.35,CSH,3.5 +VTS,1,1,780,2.73,CSH,12 +VTS,1,1,480,0.98,CRD,7 +VTS,1,1,480,2.2,CRD,9 +VTS,1,1,600,1.62,CRD,8.5 +VTS,1,1,840,4.51,CRD,15.5 +VTS,1,1,360,0,CSH,5.5 +VTS,1,1,660,3.44,CSH,12.5 +VTS,1,1,900,3.31,CSH,13.5 +VTS,1,1,300,1.54,CSH,7 +VTS,1,1,660,1.94,CRD,9.5 +VTS,1,1,360,1,CSH,6.5 +VTS,1,1,300,1.45,CSH,6.5 +VTS,1,1,1620,14.06,CRD,39.5 +VTS,1,1,720,1.11,CRD,8.5 +VTS,1,1,1140,6.05,CRD,20.5 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,240,0.82,CRD,5 +VTS,1,1,360,1.89,CRD,7.5 +VTS,1,1,300,1.62,CRD,7 +VTS,1,1,600,2.34,CRD,10 +VTS,1,1,720,3.83,CSH,13 +VTS,1,1,240,1.31,CRD,6 +VTS,1,1,60,0.48,CSH,4 +VTS,1,1,660,1.71,CSH,9.5 +VTS,1,1,420,1.17,CSH,7 +VTS,1,1,540,2.58,CRD,10.5 +VTS,1,1,600,3.67,CSH,12 +VTS,1,1,240,0.57,CRD,5 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,180,0.66,CSH,4 +VTS,1,1,420,1.39,CSH,7.5 +VTS,1,1,420,1.35,CSH,7 +VTS,1,1,540,1.17,CSH,8.5 +VTS,1,1,300,1.58,CRD,6.5 +VTS,1,1,1080,7.74,CSH,24 +VTS,1,1,480,2.31,CSH,9 +VTS,1,1,540,2.18,CRD,9 +VTS,1,1,600,3.78,CRD,12.5 +VTS,1,1,1440,17.21,CSH,46.5 +VTS,1,1,240,1,CSH,5.5 +VTS,1,1,1740,18.04,CRD,49 +VTS,1,1,300,1.29,CRD,6 +VTS,1,1,840,2.54,CSH,11.5 +VTS,1,1,300,1.11,CSH,5.5 +VTS,1,1,360,0.69,CRD,5.5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,240,1.01,CSH,5.5 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,420,1.67,CSH,7.5 +VTS,1,1,480,1.01,CSH,7 +VTS,1,1,1260,5.15,CRD,18.5 +VTS,1,1,360,0.61,CSH,5 +VTS,1,1,900,5.26,CRD,18 +VTS,1,1,840,4.99,CSH,16.5 +VTS,1,1,600,2.97,CRD,11 +VTS,1,1,420,0.85,CSH,6 +VTS,1,1,720,2.55,CRD,11.5 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,1,540,1.63,CRD,8.5 +VTS,1,1,900,2.37,CRD,11.5 +VTS,1,1,960,5.91,CRD,19.5 +VTS,1,1,1560,6.67,CRD,24.5 +VTS,1,1,1080,2.46,CSH,13 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,1,240,0.44,CRD,4.5 +VTS,1,1,360,1.66,CRD,7.5 +VTS,1,1,900,3.86,CSH,15.5 +VTS,1,1,660,1.35,CSH,9 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,180,0.43,CRD,4 +VTS,1,1,360,1.28,CSH,7 +VTS,1,1,780,3.44,CRD,13 +VTS,1,1,780,4.27,CSH,14 +VTS,1,1,120,0.56,CSH,4 +VTS,1,1,840,3.53,CRD,13.5 +VTS,1,1,720,4.83,CRD,16 +VTS,1,1,180,0.48,CRD,4 +VTS,1,1,600,2.26,CSH,10 +VTS,1,1,480,0.36,CRD,6.5 +VTS,1,1,600,1.2,CSH,8 +VTS,1,1,600,2.08,CRD,9.5 +VTS,1,1,60,0.19,CRD,3 +VTS,1,1,2280,5.92,CSH,27.5 +VTS,1,1,1080,1.27,CRD,12 +VTS,1,1,360,1.3,CSH,7 +VTS,1,1,540,2.53,CRD,10 +VTS,1,1,300,1.69,CRD,7 +VTS,1,1,960,8.17,CRD,24 +VTS,1,1,240,0.68,CRD,5 +VTS,1,1,900,3.08,CSH,12.5 +VTS,1,1,720,2.17,CSH,10 +VTS,1,1,540,2.71,CRD,10.5 +VTS,1,1,840,1.59,CRD,10.5 +VTS,1,1,120,0.58,CRD,4 +VTS,1,1,1020,9,CRD,26.5 +VTS,1,1,660,3.49,CSH,13 +VTS,1,1,300,0.68,CSH,5 +VTS,1,1,900,9.21,CSH,26.5 +VTS,1,1,1200,6.4,CRD,21.5 +VTS,1,1,480,1.78,CRD,8 +VTS,1,1,420,1.78,CSH,8 +VTS,1,1,480,1.42,CSH,7.5 +VTS,1,1,720,4.86,CSH,16 +VTS,1,1,660,3.34,CSH,12.5 +VTS,1,1,600,1.54,CRD,8.5 +VTS,1,1,540,1.99,CRD,9 +VTS,1,1,600,1.93,CRD,9.5 +VTS,1,1,420,2.26,CSH,8.5 +VTS,1,1,120,0.52,CSH,4 +VTS,1,1,420,1.22,CRD,7 +VTS,1,1,1380,11.97,CRD,35 +VTS,1,1,1440,4.01,CSH,19 +VTS,1,1,240,1.19,CSH,6 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,5,840,2.33,CSH,11.5 +VTS,1,2,1440,4.83,CSH,19.5 +VTS,1,2,420,1.03,CSH,6.5 +VTS,1,5,540,1.46,CSH,8 +VTS,1,2,660,2.52,CRD,10.5 +VTS,1,4,1020,3.31,CSH,13.5 +VTS,1,1,1320,4.01,CSH,18 +VTS,1,1,300,1.25,CRD,6 +VTS,1,1,240,1.2,CSH,6 +VTS,1,1,360,0.9,CSH,5.5 +VTS,1,1,900,4.22,CRD,14.5 +VTS,1,1,660,2.74,CSH,11 +VTS,1,1,600,1.48,CSH,8.5 +VTS,1,1,420,1.19,CRD,7 +VTS,1,1,360,1.33,CSH,7 +VTS,1,1,480,1.55,CRD,7.5 +VTS,1,1,720,2.56,CRD,11 +VTS,1,1,1500,3.43,CRD,18 +VTS,1,1,300,0.96,CRD,6 +VTS,1,1,600,2.34,CSH,10 +VTS,1,1,420,1.43,CRD,7 +VTS,1,1,360,1.55,CSH,7 +VTS,1,1,600,3.98,CSH,12.5 +VTS,1,1,360,2.31,CRD,8.5 +VTS,1,1,1020,3.3,CSH,15 +VTS,1,1,660,3.67,CSH,12.5 +VTS,1,1,780,4.02,CRD,14.5 +VTS,1,1,240,1.39,CSH,6 +VTS,1,1,480,1.92,CSH,8.5 +VTS,1,1,420,1.61,CSH,7.5 +VTS,1,1,1560,5.17,CSH,20.5 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,780,2.08,CSH,10 +VTS,1,1,420,0.95,CRD,6 +VTS,1,1,420,2.17,CRD,8.5 +VTS,1,1,540,1.12,CRD,7.5 +VTS,1,1,240,0.58,CRD,5 +VTS,1,1,660,3.28,CRD,12 +VTS,1,1,1020,4.93,CSH,17 +VTS,1,1,1020,5.3,CSH,18 +VTS,2,1,1320,17.34,CSH,52 +VTS,1,1,960,3.15,CSH,14 +VTS,1,1,1140,9.68,CRD,28.5 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,900,4.54,CRD,16 +VTS,1,1,120,0.6,CSH,4 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,840,2.35,CSH,11 +VTS,1,1,960,4.43,CRD,15 +VTS,1,1,240,0.92,CRD,5.5 +VTS,1,1,540,2.29,CRD,10 +VTS,1,1,660,2.17,CSH,9.5 +VTS,1,1,240,0.96,CSH,5.5 +VTS,1,1,120,0.79,CRD,4.5 +VTS,1,1,1080,8.77,CRD,26 +VTS,1,1,480,2.07,CRD,9 +VTS,1,1,600,1.11,CRD,8 +VTS,1,1,360,1.05,CRD,6 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,780,2.1,CRD,10.5 +VTS,1,1,300,0.74,CRD,5.5 +VTS,1,1,60,0.02,CSH,2.5 +VTS,1,1,120,0.72,CSH,4.5 +VTS,1,1,240,0.67,CRD,4.5 +VTS,1,1,480,2.09,CSH,9 +VTS,1,1,300,1.17,CSH,6.5 +VTS,1,1,840,3.54,CRD,14 +VTS,1,1,180,1.08,CRD,5 +VTS,1,1,120,0.76,CRD,4.5 +VTS,1,1,180,1,CSH,5 +VTS,1,1,240,1.2,CSH,6 +VTS,1,1,480,3.13,CSH,11.5 +VTS,1,1,360,1.16,CRD,6.5 +VTS,1,1,720,3.73,CSH,13.5 +VTS,2,1,1260,17.66,CRD,52 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,240,0.39,CRD,4.5 +VTS,1,1,540,1.34,CRD,7.5 +VTS,1,1,780,3.5,CRD,12.5 +VTS,1,1,960,4.6,CSH,15.5 +VTS,1,1,180,0.99,CRD,5 +VTS,1,1,300,1.07,CRD,6 +VTS,1,1,240,0.55,CRD,4.5 +VTS,1,1,360,1,CRD,6.5 +VTS,1,1,780,2.1,CRD,10.5 +VTS,1,2,780,2.44,CRD,11.5 +VTS,1,2,0,0.09,CSH,2.5 +VTS,1,3,180,0.91,CSH,5 +VTS,1,2,1080,2.84,CRD,14 +VTS,1,2,660,1.43,CRD,9 +VTS,1,2,240,0.76,CRD,5 +VTS,1,2,780,2.66,CSH,12 +VTS,1,5,900,2.74,CRD,12 +VTS,1,3,1800,7.69,CRD,27.5 +VTS,1,3,240,0.91,CRD,5.5 +VTS,1,2,180,0.9,CSH,5 +VTS,1,5,240,0.76,CSH,5 +VTS,1,4,600,1.05,CSH,8 +VTS,1,2,540,1.71,CRD,8.5 +VTS,1,2,420,1.7,CRD,7.5 +VTS,1,4,1020,2.45,CRD,13 +VTS,1,3,480,2.07,CSH,8.5 +VTS,1,2,420,0.95,CRD,6.5 +VTS,1,2,840,2.74,CRD,12 +VTS,1,2,240,1.62,CSH,7 +VTS,1,3,480,1.66,CRD,8 +VTS,1,2,180,0.54,CSH,4.5 +VTS,1,2,600,1.13,CSH,8 +VTS,1,3,1080,4.24,CSH,15.5 +VTS,1,2,420,1.06,CRD,7 +VTS,1,2,720,2.38,CSH,11 +VTS,1,3,600,1.33,CRD,8.5 +VTS,1,1,1800,2.32,CRD,19 +VTS,1,1,480,1.6,CSH,8 +VTS,1,1,240,0.93,CRD,5.5 +VTS,1,1,540,1.26,CRD,7.5 +VTS,1,1,480,1.27,CRD,7.5 +VTS,1,1,1440,12.57,CSH,36.5 +VTS,1,1,540,1.63,CSH,9 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,600,1.65,CSH,9 +VTS,1,1,420,2.32,CRD,8.5 +VTS,1,1,300,1.06,CRD,5.5 +VTS,1,1,420,1.22,CSH,7 +VTS,1,1,660,3.17,CRD,11.5 +VTS,1,1,600,1.99,CSH,9.5 +VTS,1,1,240,1.14,CRD,6 +VTS,1,1,660,3.15,CRD,12 +VTS,1,1,660,1.41,CRD,9 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,600,1.84,CSH,9 +VTS,1,1,420,2.52,CSH,9 +VTS,1,1,900,3.25,CRD,13 +VTS,1,1,480,2.54,CRD,9.5 +VTS,1,1,180,1.16,CSH,5 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,1200,2.31,CSH,14 +VTS,1,1,540,2.02,CSH,8 +VTS,1,1,420,2.83,CRD,10 +VTS,1,1,180,0.89,CSH,5 +VTS,1,1,1200,5.18,CSH,19 +VTS,1,1,1560,4.45,CRD,20 +VTS,1,1,660,2.06,CRD,9.5 +VTS,1,1,240,1.06,CSH,5.5 +VTS,1,2,600,2.3,CRD,10 +VTS,1,2,480,1.03,CRD,7 +VTS,1,2,360,0.66,CRD,5.5 +VTS,1,2,540,1.61,CRD,8.5 +VTS,1,2,360,1.34,CRD,7 +VTS,1,2,780,2.62,CSH,11.5 +VTS,1,3,420,3.01,CRD,10.5 +VTS,2,2,1260,16.48,CRD,52 +VTS,1,2,240,0.68,CRD,4.5 +VTS,1,2,660,1.22,CRD,9 +VTS,1,3,780,4.05,CSH,14 +VTS,1,2,420,1.82,CRD,8 +VTS,1,3,720,2.27,CRD,10.5 +VTS,1,2,480,2.33,CSH,9 +VTS,1,3,1020,2.2,CRD,12.5 +VTS,1,3,780,3.12,CSH,12 +VTS,1,4,420,1.12,CSH,7 +VTS,1,3,600,2.72,CSH,10.5 +VTS,1,5,420,2.15,CSH,8.5 +VTS,1,2,240,1.28,CRD,6 +VTS,1,1,1440,5.74,CRD,21 +VTS,1,1,480,1.58,CSH,8 +VTS,1,1,840,2.32,CSH,11 +VTS,1,1,420,3.51,CRD,11 +VTS,1,1,300,1.52,CRD,7 +VTS,1,1,360,0.79,CSH,5.5 +VTS,1,1,660,2.19,CSH,9.5 +VTS,1,1,600,2.48,CSH,10 +VTS,1,1,1200,3.94,CSH,15.5 +VTS,1,1,540,0.87,CRD,7.5 +VTS,1,1,360,1.2,CRD,6.5 +VTS,1,1,300,1.6,CRD,7 +VTS,1,1,60,0.28,CSH,3 +VTS,1,1,1140,4.61,CRD,17.5 +VTS,1,1,120,1.07,CSH,5 +VTS,2,2,2640,19,CSH,52 +VTS,1,2,300,0.67,CRD,5 +VTS,1,3,660,3.47,CSH,12.5 +VTS,1,2,1140,5.3,CRD,19 +VTS,1,2,1860,12.13,CSH,33 +VTS,1,2,300,1.07,CRD,6 +VTS,1,3,600,1.67,CSH,8.5 +VTS,1,5,1140,3.66,CSH,15 +VTS,1,5,720,2.75,CRD,11 +VTS,1,2,420,1.4,CRD,7 +VTS,1,5,300,0.76,CRD,5.5 +VTS,1,1,900,2.95,CRD,12.5 +VTS,1,1,1200,3,CSH,15 +VTS,1,1,360,1.47,CRD,7 +VTS,1,4,480,0.8,CSH,7 +VTS,1,5,60,0,CSH,2.5 +VTS,1,2,600,2.56,CSH,10 +VTS,1,3,1380,10.92,CRD,31.5 +VTS,1,3,480,1.46,CRD,7.5 +VTS,1,4,420,1.72,CSH,8 +VTS,1,2,300,1,CSH,5.5 +VTS,1,3,300,1.23,CRD,6 +VTS,1,3,480,1.41,CRD,7.5 +VTS,1,2,780,2.7,CSH,11.5 +VTS,1,2,420,1.7,CRD,8 +VTS,1,2,180,0.77,CRD,5 +VTS,1,2,300,0.59,CSH,5 +VTS,1,3,1260,4.35,CSH,18.5 +VTS,1,3,960,2.47,CSH,12.5 +VTS,1,2,360,1.14,CSH,6.5 +VTS,1,2,360,1.25,CRD,7 +VTS,1,4,300,0.83,CSH,5.5 +VTS,1,2,480,1.33,CSH,8 +VTS,1,2,660,1.73,CRD,9 +VTS,1,2,1680,9.11,CRD,29 +VTS,1,3,660,2.29,CSH,10 +VTS,1,2,660,2.62,CRD,10.5 +VTS,1,2,420,1.25,CRD,7 +VTS,1,3,420,0.58,CSH,6 +VTS,1,2,540,2.58,CRD,10 +VTS,1,5,480,2.25,CRD,9 +VTS,1,2,360,1.23,CSH,6.5 +VTS,1,2,240,1.15,CRD,5.5 +VTS,1,2,600,1.28,CRD,8.5 +VTS,1,2,1080,3.73,CRD,15 +VTS,1,2,540,1.13,CSH,7.5 +VTS,1,3,480,1.93,CRD,8.5 +VTS,1,2,480,2.09,CRD,9 +VTS,1,2,600,0.91,CSH,8 +VTS,1,2,1500,4.45,CRD,20.5 +VTS,1,2,480,2.03,CRD,8.5 +VTS,1,2,360,1.15,CRD,6.5 +VTS,1,2,480,1.49,CRD,8 +VTS,1,2,240,0.63,CRD,4.5 +VTS,2,2,2220,18.43,CSH,52 +VTS,1,5,360,1.17,CRD,6.5 +VTS,1,2,180,1.13,CRD,5.5 +VTS,1,2,600,2.3,CRD,10 +VTS,1,2,840,1.79,CRD,10.5 +VTS,1,2,420,1.75,CSH,8 +VTS,1,2,660,2.66,CRD,10.5 +VTS,1,2,360,1.91,CRD,7.5 +VTS,1,2,840,1.45,CRD,10 +VTS,1,2,540,2.86,CSH,10.5 +VTS,1,1,660,2.06,CSH,9.5 +VTS,1,1,540,0.86,CSH,7 +VTS,1,1,120,0.45,CRD,4 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,3,720,2.3,CSH,11 +VTS,1,3,840,7.99,CRD,23 +VTS,1,2,360,1.85,CRD,7.5 +VTS,1,2,360,0.89,CRD,6 +VTS,1,3,960,2.51,CRD,12.5 +VTS,1,2,300,1.22,CSH,6.5 +VTS,1,4,720,2.09,CRD,10 +VTS,1,2,840,5.83,CSH,18.5 +VTS,1,3,1500,14.07,CRD,40 +VTS,1,3,660,1.48,CSH,9 +VTS,1,3,540,1.36,CRD,8 +VTS,1,3,1020,7.9,CRD,24.5 +VTS,1,2,540,1.7,CRD,8.5 +VTS,1,5,420,2.15,CRD,9 +VTS,1,2,300,1.46,CRD,7 +VTS,1,2,360,1.53,CSH,7 +VTS,1,2,360,1.29,CSH,6.5 +VTS,1,2,420,1.2,CSH,7 +VTS,1,2,720,2.3,CSH,10.5 +VTS,1,2,960,2.79,CRD,13 +VTS,1,2,120,0.66,CRD,4.5 +VTS,1,2,1380,3.47,CSH,17 +VTS,1,1,360,1.43,CSH,7 +VTS,1,1,660,3.69,CSH,13 +VTS,1,1,540,2.41,CRD,9.5 +VTS,1,1,540,3.33,CRD,11 +VTS,1,2,780,3,CRD,12 +VTS,1,3,600,1.67,CSH,9 +VTS,1,2,960,4.82,CRD,17.5 +VTS,1,3,1440,3.47,CSH,16.5 +VTS,1,3,1080,1.6,CRD,12.5 +VTS,1,3,1140,2.7,CRD,14.5 +VTS,1,4,1020,3.07,CSH,14.5 +VTS,1,2,240,1.52,CSH,6.5 +VTS,1,4,360,1.29,CRD,7 +VTS,1,2,840,3.79,CRD,15 +VTS,1,2,840,8.06,CRD,22.5 +VTS,1,2,540,1.24,CSH,8 +VTS,1,2,1020,3.12,CRD,14 +VTS,1,2,840,6.09,CRD,19 +VTS,1,2,480,0.99,CRD,7 +VTS,1,2,660,2.09,CRD,10 +VTS,1,2,960,3.36,CSH,14 +VTS,1,2,600,2.62,CSH,10 +VTS,1,2,420,1.57,CSH,7.5 +VTS,1,2,480,2.05,CRD,9 +VTS,1,2,240,0.68,CRD,5 +VTS,1,3,840,3.24,CSH,12.5 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,1,780,1.24,CSH,9.5 +VTS,1,1,420,1.18,CRD,7 +VTS,1,1,540,0.96,CRD,7 +VTS,1,1,180,0.84,CRD,4.5 +VTS,1,1,600,1.24,CRD,8 +VTS,1,1,480,1.28,CRD,7 +VTS,1,1,1140,4.55,CRD,17.5 +VTS,1,1,660,1.92,CRD,9.5 +VTS,1,1,1380,11.3,CSH,32.5 +VTS,1,1,1320,4.19,CRD,18.5 +VTS,1,1,1080,5.76,CRD,19 +VTS,1,1,360,1.69,CRD,7.5 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,240,0.67,CSH,5 +VTS,5,1,300,1.64,CRD,60 +VTS,1,1,1920,8.25,CSH,30 +VTS,1,1,780,7.75,CRD,22 +VTS,1,1,540,1.89,CRD,9 +VTS,1,1,660,2.14,CRD,10 +VTS,1,1,660,2.64,CRD,11 +VTS,1,1,300,0.6,CSH,5.5 +VTS,1,1,840,3.57,CSH,13 +VTS,1,2,840,9.06,CSH,25.5 +VTS,1,3,600,1.79,CSH,9 +VTS,1,3,900,7.12,CSH,21.5 +VTS,1,3,960,3.6,CRD,14 +VTS,1,4,960,2.38,CRD,12.5 +VTS,1,2,540,2.05,CSH,9 +VTS,1,2,660,1.73,CSH,9.5 +VTS,1,2,240,0.78,CSH,5 +VTS,1,4,600,3.83,CSH,13 +VTS,1,2,240,0.6,CRD,5 +VTS,1,4,540,1.38,CRD,8.5 +VTS,1,5,300,1.61,CRD,7 +VTS,1,2,480,1.96,CRD,8.5 +VTS,1,3,360,1.73,CSH,7.5 +VTS,1,2,540,1.62,CSH,8 +VTS,1,2,360,0.92,CRD,6 +VTS,1,2,420,2.34,CSH,9 +VTS,1,2,1020,2.95,CSH,13 +VTS,1,2,660,1.74,CSH,10 +VTS,1,3,600,2.22,CRD,9.5 +VTS,1,2,900,3.94,CRD,15 +VTS,1,2,480,0.54,CRD,6.5 +VTS,1,2,540,1.62,CSH,7.5 +VTS,1,2,1440,3.62,CSH,16.5 +VTS,1,2,120,0.57,CSH,4 +VTS,1,2,1140,4.4,CSH,17 +VTS,1,2,480,1.18,CSH,7 +VTS,1,3,480,1.39,CRD,7.5 +VTS,1,2,600,1.97,CSH,9.5 +VTS,1,2,720,1.92,CSH,10 +VTS,1,1,1260,9.61,CRD,28.5 +VTS,1,1,720,3.83,CSH,13.5 +VTS,1,1,540,1.29,CSH,8 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,1,540,1.69,CSH,8.5 +VTS,1,1,300,0.48,CSH,5 +VTS,1,1,660,1.25,CRD,8.5 +VTS,1,1,660,3.74,CSH,13 +VTS,1,1,1500,3.36,CSH,16.5 +VTS,1,1,360,0.95,CSH,6 +VTS,1,1,720,2.91,CRD,11.5 +VTS,1,1,900,2.81,CRD,12.5 +VTS,1,1,780,3.91,CSH,14 +VTS,1,1,240,1.08,CRD,6 +VTS,1,1,360,1.05,CRD,6.5 +VTS,1,1,180,0.53,CSH,4 +VTS,1,1,300,1.07,CSH,6 +VTS,1,1,420,1.13,CSH,7 +VTS,1,1,720,1.78,CRD,10 +VTS,1,1,120,0.69,CRD,4.5 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,840,1.95,CRD,11 +VTS,1,1,840,3.23,CRD,13 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,1260,6.24,CRD,20 +VTS,1,1,1020,11.87,CRD,33 +VTS,1,1,540,1.05,CRD,7 +VTS,1,1,1020,4.93,CSH,17 +VTS,1,1,600,1.81,CRD,9 +VTS,1,1,1380,7.03,CRD,24 +VTS,1,1,480,1.77,CRD,8 +VTS,1,1,1080,5.18,CRD,18 +VTS,1,1,840,4.2,CSH,15.5 +VTS,1,1,660,3.05,CRD,11 +VTS,1,1,120,0.45,CRD,3.5 +VTS,1,1,300,1.24,CRD,6 +VTS,1,1,360,0.66,CSH,5.5 +VTS,1,1,180,1.52,CSH,6.5 +VTS,1,1,1560,5.31,CSH,20.5 +VTS,1,1,600,2.47,CRD,10.5 +VTS,1,2,480,0.87,CSH,7 +VTS,1,3,1740,4.54,CRD,21 +VTS,1,3,840,3.57,CRD,14 +VTS,1,2,180,0.3,CSH,4 +VTS,1,2,540,2.38,CRD,9.5 +VTS,1,4,540,3.62,CSH,12 +VTS,1,2,720,2.91,CRD,11.5 +VTS,1,2,240,1.32,CSH,6 +VTS,1,2,480,2.58,CSH,9.5 +VTS,1,3,120,0.68,CSH,4.5 +VTS,1,3,480,1.77,CRD,8 +VTS,1,2,780,2.9,CRD,12 +VTS,1,2,300,0.75,CSH,5.5 +VTS,1,2,420,0.43,CSH,5.5 +VTS,1,3,660,1.65,CRD,9 +VTS,1,2,240,0.8,CRD,5 +VTS,1,2,1080,3.1,CRD,14.5 +VTS,1,2,900,4.54,CRD,17 +VTS,1,2,1500,3.82,CRD,18 +VTS,1,2,840,2.16,CRD,11 +VTS,1,3,660,1.82,CRD,9 +VTS,1,2,840,2.24,CRD,11.5 +VTS,1,2,2040,11.41,CRD,36.5 +VTS,1,2,1260,6.77,CRD,23 +VTS,1,2,600,1.03,CRD,8 +VTS,1,2,240,0.53,CSH,4.5 +VTS,1,2,780,1.17,CRD,9 +VTS,1,2,720,3.25,CSH,12 +VTS,1,2,600,1.97,CSH,9.5 +VTS,1,3,540,1.45,CSH,8 +VTS,1,3,660,1.08,CSH,8.5 +VTS,1,3,420,1.61,CRD,7 +VTS,1,2,600,3.59,CSH,12 +VTS,1,2,240,0.69,CRD,5 +VTS,1,3,540,1.99,CRD,9 +VTS,1,2,540,1.12,CRD,7.5 +VTS,1,2,300,0.85,CRD,5.5 +VTS,1,2,540,2.04,CSH,9 +VTS,1,2,240,0.57,CSH,4.5 +VTS,1,3,600,1.94,CRD,9.5 +VTS,1,2,420,1.58,CRD,7.5 +VTS,1,2,180,0.44,CSH,3.5 +VTS,1,2,720,3.16,CRD,13.5 +VTS,1,2,1380,9.59,CSH,28.5 +VTS,1,2,360,1.1,CRD,6.5 +VTS,1,2,600,1.4,CRD,8.5 +VTS,1,2,600,1.73,CRD,9 +VTS,1,2,1560,3.66,CSH,18.5 +VTS,1,3,360,1.54,CRD,7 +VTS,1,2,480,3.42,CRD,12 +VTS,1,2,360,1.15,CRD,6 +VTS,1,2,300,0.8,CSH,5.5 +VTS,1,2,660,2.63,CRD,10.5 +VTS,1,3,480,2.16,CRD,9 +VTS,1,3,1380,4.6,CRD,18.5 +VTS,1,2,660,2.59,CSH,10.5 +VTS,1,4,360,0.77,CSH,6 +VTS,1,2,300,0.21,CSH,4.5 +VTS,1,2,960,1.36,CRD,11 +VTS,1,2,120,0.56,CSH,4 +VTS,1,3,300,0.89,CSH,5.5 +VTS,1,3,900,4.15,CRD,15 +VTS,1,2,180,0.79,CSH,4.5 +VTS,1,2,960,2.12,CSH,12.5 +VTS,1,2,1380,6.48,CSH,21 +VTS,1,2,360,1.38,CRD,6.5 +VTS,1,3,660,1.48,CSH,9.5 +VTS,1,2,480,1.76,CSH,8 +VTS,1,2,840,1.01,CSH,10 +VTS,1,2,540,1.6,CRD,8.5 +VTS,1,2,240,1.18,CSH,5.5 +VTS,1,3,420,1.51,CRD,7.5 +VTS,1,4,360,1.05,CSH,6 +VTS,1,3,720,2.79,CRD,11.5 +VTS,1,2,300,1.2,CSH,6 +VTS,1,2,300,0.89,CSH,5.5 +VTS,1,2,420,1.08,CRD,6.5 +VTS,1,2,900,2.33,CRD,12 +VTS,1,2,180,0.87,CSH,4.5 +VTS,1,2,420,1.88,CSH,8 +VTS,1,2,360,0.38,CSH,5 +VTS,1,2,420,1.68,CSH,7.5 +VTS,1,3,960,1.58,CRD,11 +VTS,1,2,960,3.91,CSH,15.5 +VTS,1,2,840,2.65,CRD,12 +VTS,1,2,1140,2.06,CSH,13 +VTS,1,2,900,1.13,CSH,10.5 +VTS,1,2,120,0.54,CSH,4 +VTS,1,2,420,1.6,CRD,8 +VTS,1,3,360,0.77,CRD,6 +VTS,1,2,1020,4.66,CRD,16.5 +VTS,1,4,180,0.8,CSH,4.5 +VTS,1,3,1140,2.63,CRD,14 +VTS,1,2,1980,4.78,CSH,23 +VTS,1,5,1080,8.22,CSH,24.5 +VTS,1,2,240,1,CRD,5 +VTS,1,2,840,2.38,CSH,11 +VTS,1,2,1020,2.91,CRD,14.5 +VTS,1,3,1140,3.03,CRD,14 +VTS,1,2,600,1.6,CRD,8.5 +VTS,1,3,300,1.3,CSH,6.5 +VTS,1,2,900,3.62,CRD,15 +VTS,1,2,480,2.18,CSH,9 +VTS,1,3,240,0.65,CRD,5 +VTS,1,3,420,1.43,CSH,7 +VTS,1,2,60,0.4,CRD,3.5 +VTS,1,5,360,1.37,CRD,6.5 +VTS,1,4,780,2.14,CSH,11 +VTS,1,4,780,1.85,CRD,10.5 +VTS,1,2,180,1.06,CRD,5 +VTS,1,2,180,0.72,CRD,4.5 +VTS,1,4,420,1.32,CRD,7 +VTS,1,2,960,3.22,CRD,13.5 +VTS,1,2,300,1,CSH,5.5 +VTS,1,2,480,1.34,CRD,8 +VTS,1,2,360,0.63,CRD,5.5 +VTS,1,2,420,1.2,CRD,6.5 +VTS,1,2,660,1.81,CRD,9.5 +VTS,1,2,360,0.73,CSH,5.5 +VTS,1,2,420,1.2,CRD,7 +VTS,1,3,360,0.91,CRD,6 +VTS,1,2,420,1.24,CRD,7 +VTS,1,2,540,1.44,CRD,7.5 +VTS,1,2,840,3.88,CSH,15 +VTS,1,2,1020,7.55,CRD,22 +VTS,1,2,660,2.2,CRD,10.5 +VTS,1,2,420,1.24,CSH,7 +VTS,1,3,600,2.37,CSH,10.5 +VTS,1,2,660,3.67,CRD,12.5 +VTS,1,2,780,1.87,CSH,10 +VTS,1,2,360,1.34,CSH,6.5 +VTS,1,3,720,1.2,CRD,9 +VTS,1,2,360,0.55,CRD,5.5 +VTS,1,3,1380,9.34,CRD,29.5 +VTS,1,2,1140,2.69,CRD,14 +VTS,1,4,1080,3.48,CSH,15 +VTS,1,2,540,2.86,CSH,10.5 +VTS,1,3,1200,3.79,CSH,15.5 +VTS,1,2,1440,3.2,CSH,16.5 +VTS,1,2,480,2.19,CRD,9 +VTS,1,2,720,2.35,CSH,11 +VTS,1,5,540,2.21,CSH,9 +VTS,1,3,360,1.55,CRD,7 +VTS,1,2,900,4.42,CSH,16 +VTS,1,2,720,3.72,CRD,13 +VTS,1,3,240,0.34,CRD,4 +VTS,1,2,660,3.14,CSH,12 +VTS,1,2,480,1.75,CRD,8.5 +VTS,1,2,360,0.92,CRD,6.5 +VTS,1,2,660,1.94,CRD,10 +VTS,1,2,300,1.15,CSH,5.5 +VTS,1,2,720,1.99,CRD,10 +VTS,1,2,1080,4.68,CRD,17 +VTS,1,2,600,1.77,CSH,9 +VTS,1,2,1560,9.12,CRD,29 +VTS,1,2,240,1.04,CSH,5.5 +VTS,1,2,540,0.99,CSH,7.5 +VTS,2,3,2400,17.55,CSH,52 +VTS,1,2,420,1.01,CRD,6.5 +VTS,1,2,420,1.61,CRD,7.5 +VTS,1,2,420,1.39,CSH,7 +VTS,1,2,600,0.91,CSH,7.5 +VTS,1,2,660,1.17,CRD,8.5 +VTS,1,3,180,0.73,CSH,4.5 +VTS,1,2,720,3.46,CRD,13 +VTS,1,2,780,4.39,CSH,14.5 +VTS,1,2,480,1.82,CSH,8 +VTS,1,2,360,0.82,CRD,6 +VTS,1,4,1080,4.81,CRD,17.5 +VTS,1,2,600,3.4,CSH,11.5 +VTS,1,2,180,1.75,CRD,7 +VTS,1,2,300,0.74,CRD,5.5 +VTS,1,2,600,2.25,CSH,10 +VTS,1,4,180,0.44,CSH,4 +VTS,1,2,480,2.17,CRD,8.5 +VTS,1,3,1380,4.05,CRD,17.5 +VTS,1,2,300,1.21,CRD,6 +VTS,1,3,540,2.37,CSH,9.5 +VTS,1,2,360,1.08,CRD,6 +VTS,1,3,240,0.94,CSH,5.5 +VTS,1,3,780,2.37,CRD,11.5 +VTS,1,2,1080,5.21,CRD,17.5 +VTS,1,2,360,1.11,CSH,6 +VTS,1,2,840,3.57,CSH,13.5 +VTS,1,4,300,1.22,CSH,6 +VTS,1,3,480,1.28,CSH,7 +VTS,1,2,600,1.59,CSH,8.5 +VTS,1,2,900,2.29,CSH,12 +VTS,1,2,300,1.38,CRD,6.5 +VTS,1,2,180,1.17,CSH,5.5 +VTS,1,3,720,1.31,CSH,9 +VTS,1,2,600,3.03,CSH,11 +VTS,1,2,360,1.87,CSH,7.5 +VTS,1,2,660,3.13,CRD,12 +VTS,1,2,60,0.53,CSH,3.5 +VTS,1,5,1320,4.26,CSH,18 +VTS,1,2,240,1.09,CRD,6 +VTS,1,2,600,1.82,CRD,9 +VTS,1,2,420,1.75,CSH,8 +VTS,1,4,300,0.83,CSH,5.5 +VTS,1,2,1500,8.14,CRD,26 +VTS,1,2,1380,5.14,CRD,20 +VTS,1,2,420,1.23,CRD,7 +VTS,1,2,1380,6.06,CRD,21 +VTS,1,2,360,1.49,CSH,7.5 +VTS,2,3,2040,17.4,CRD,52 +VTS,1,2,900,2.82,CRD,12.5 +VTS,1,2,960,3.58,CSH,14 +VTS,1,2,600,1.32,CSH,6.5 +VTS,1,3,1080,3.98,CSH,15.5 +VTS,1,2,1200,2.35,CSH,14 +VTS,1,2,60,0.7,CSH,4 +VTS,1,5,480,1.38,CSH,7.5 +VTS,1,4,660,2.08,CSH,9.5 +VTS,1,4,540,1.68,CSH,8.5 +VTS,1,2,600,2.63,CRD,10.5 +VTS,1,2,780,4.92,CSH,15.5 +VTS,1,2,540,1.75,CRD,8.5 +VTS,1,2,1020,3.04,CRD,13.5 +VTS,1,2,480,1.49,CSH,8 +VTS,1,2,360,1.06,CSH,6.5 +VTS,1,2,780,3.23,CSH,12.5 +VTS,1,2,180,0.71,CSH,4.5 +VTS,1,2,420,1.47,CRD,7.5 +VTS,1,3,300,0.99,CSH,6 +VTS,1,2,420,1.09,CSH,6.5 +VTS,1,2,480,1.34,CSH,7.5 +VTS,1,2,420,0.97,CSH,7 +VTS,1,3,1080,9.55,CRD,27.5 +VTS,1,2,900,3.11,CRD,13 +VTS,1,2,420,2,CRD,8 +VTS,1,3,540,1.41,CSH,8 +VTS,1,2,900,3.59,CSH,14 +VTS,1,2,540,2.28,CSH,9 +VTS,1,2,780,4.6,CRD,15.5 +VTS,1,2,60,0.37,CSH,3 +VTS,1,2,840,3.8,CSH,14 +VTS,1,5,900,2.63,CRD,12.5 +VTS,1,3,240,0.78,CSH,5 +VTS,1,3,840,2.48,CRD,11.5 +VTS,1,2,1320,5.25,CRD,19.5 +VTS,1,2,240,1.26,CSH,5.5 +VTS,1,2,360,0.96,CRD,6.5 +VTS,1,2,480,1.96,CRD,8.5 +VTS,1,2,540,1.73,CRD,8.5 +VTS,1,2,900,1.82,CRD,11 +VTS,1,2,180,0.65,CRD,4.5 +VTS,1,4,480,1.26,CSH,7.5 +VTS,1,2,120,0.64,CSH,4 +VTS,1,2,240,1.12,CSH,5.5 +VTS,1,2,180,0.96,CRD,5 +VTS,1,2,1020,3.32,CSH,14 +VTS,1,2,1200,3.59,CRD,16 +VTS,1,2,900,1.42,CRD,10.5 +VTS,1,2,300,1.07,CRD,6.5 +VTS,1,2,480,1.4,CSH,7.5 +VTS,1,2,180,0.53,CSH,4 +VTS,1,2,720,3.15,CRD,12 +VTS,1,2,540,1.39,CRD,8 +VTS,1,3,300,0.85,CSH,5.5 +VTS,1,2,240,1.17,CSH,5.5 +VTS,1,4,780,2.12,CRD,10.5 +VTS,1,2,540,2.57,CSH,9.5 +VTS,1,2,600,1.47,CSH,8.5 +VTS,1,2,1500,3.97,CRD,18 +VTS,1,2,840,2.37,CRD,11.5 +VTS,1,2,1080,2.85,CSH,14.5 +VTS,1,2,600,2.47,CRD,10 +VTS,1,3,420,0.97,CSH,7 +VTS,1,3,360,1.01,CSH,6 +VTS,1,2,780,0.88,CRD,9 +VTS,1,2,720,2.56,CSH,11.5 +VTS,1,2,900,3.05,CRD,13 +VTS,1,3,1260,9.81,CSH,29 +VTS,1,2,540,0.89,CSH,7 +VTS,1,2,480,1.84,CSH,8 +VTS,1,3,660,3.92,CSH,13 +VTS,1,3,1380,9.76,CRD,29.5 +VTS,1,3,780,0.79,CSH,9 +VTS,1,2,1080,3.63,CRD,15.5 +VTS,1,2,600,1.75,CSH,8.5 +VTS,1,2,420,0.91,CRD,6.5 +VTS,1,2,540,1.22,CRD,8 +VTS,1,3,1020,4.35,CRD,15.5 +VTS,1,3,360,1,CRD,6.5 +VTS,1,2,120,0.55,CSH,4 +VTS,1,2,900,5.21,CSH,17 +VTS,1,2,240,1.27,CRD,6 +VTS,1,2,360,2,CRD,8 +VTS,1,2,300,0.89,CSH,5.5 +VTS,1,2,480,2.08,CRD,8.5 +VTS,1,2,480,1.9,CSH,8.5 +VTS,1,3,240,0.68,CSH,5 +VTS,1,3,420,2.15,CRD,9 +VTS,1,2,1200,3.16,CRD,15 +VTS,1,3,1020,5.76,CRD,19 +VTS,1,2,360,1.27,CSH,7 +VTS,1,3,240,0.8,CRD,5 +VTS,1,2,600,2.25,CSH,9.5 +VTS,1,2,300,0.61,CRD,5 +VTS,1,2,1020,1.75,CSH,11.5 +VTS,1,2,1200,2.59,CSH,14.5 +VTS,1,2,1020,3.43,CRD,15 +VTS,1,2,1200,2.56,CRD,14.5 +VTS,1,2,420,1.84,CRD,8 +VTS,1,2,1020,3.64,CRD,14.5 +VTS,1,2,540,1.86,CSH,8.5 +VTS,1,2,180,0.67,CSH,4.5 +VTS,1,2,600,2.27,CRD,9.5 +VTS,1,3,900,1.36,CRD,10.5 +VTS,1,2,240,1.24,CSH,6 +VTS,1,2,420,0.98,CRD,6.5 +VTS,1,3,840,1.59,CRD,10 +VTS,1,2,360,0.69,CRD,5.5 +VTS,1,2,600,1.43,CRD,8 +VTS,1,2,600,2.02,CRD,9.5 +VTS,1,2,480,1.14,CRD,7 +VTS,1,2,1020,2.33,CRD,12.5 +VTS,1,3,660,2.28,CRD,10 +VTS,1,3,780,1.69,CRD,10 +VTS,1,2,780,1.21,CRD,9.5 +VTS,1,2,180,0.74,CRD,4.5 +VTS,1,2,480,1.8,CSH,8.5 +VTS,1,2,540,0.96,CSH,8 +VTS,1,3,1020,2.29,CRD,12.5 +VTS,1,2,300,1.08,CRD,6 +VTS,1,2,900,2.15,CRD,11.5 +VTS,1,1,780,3.76,CSH,14 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,2,780,1.49,CRD,10.5 +VTS,1,2,540,1.98,CRD,9 +VTS,1,5,960,2.48,CRD,12.5 +VTS,1,2,780,1.71,CRD,10.5 +VTS,1,2,300,1.79,CSH,6.5 +VTS,1,2,960,3.04,CSH,14 +VTS,1,2,180,0.46,CRD,4 +VTS,1,2,1440,10.28,CRD,32 +VTS,1,2,300,1.32,CSH,6 +VTS,1,2,840,3.11,CRD,13 +VTS,1,3,180,0.76,CSH,4.5 +VTS,1,3,600,1.13,CRD,8 +VTS,1,3,720,3.67,CSH,13 +VTS,1,2,480,2.39,CSH,9 +VTS,1,2,240,0.62,CRD,5 +VTS,1,5,360,0.96,CRD,5.5 +VTS,1,2,540,1.17,CRD,7.5 +VTS,1,4,1320,3.36,CRD,16 +VTS,1,2,900,2.53,CSH,12.5 +VTS,1,2,660,1.18,CSH,8.5 +VTS,1,2,480,1.6,CSH,8 +VTS,1,2,360,1.19,CSH,6.5 +VTS,1,2,180,0.7,CRD,4.5 +VTS,1,2,780,1.85,CRD,11 +VTS,1,3,420,0.95,CRD,6.5 +VTS,1,2,1500,10.36,CRD,30 +VTS,1,2,240,1.52,CRD,6.5 +VTS,1,2,240,0.91,CRD,5.5 +VTS,1,5,360,2.4,CRD,8.5 +VTS,1,2,300,0.55,CRD,5 +VTS,1,2,1080,3.02,CRD,14.5 +VTS,1,3,1440,7.03,CSH,24 +VTS,1,2,1500,2.96,CRD,16.5 +VTS,1,2,1020,2.35,CRD,13 +VTS,1,2,420,1,CRD,7 +VTS,1,3,840,1.08,CRD,10 +VTS,1,2,720,2.09,CSH,10.5 +VTS,1,2,180,0.39,CRD,4.5 +VTS,1,2,720,2.53,CSH,11.5 +VTS,1,2,480,1.13,CSH,7 +VTS,1,1,720,2.01,CSH,10.5 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,960,1.96,CSH,12 +VTS,1,1,300,0.41,CSH,5 +VTS,1,1,900,1.89,CRD,11 +VTS,1,6,240,1.02,CSH,5.5 +VTS,1,6,120,0.2,CSH,3 +VTS,1,6,840,3.59,CRD,13.5 +VTS,1,6,900,5,CSH,16.5 +VTS,1,1,1140,6.02,CRD,21 +VTS,1,1,1740,1.92,CRD,17 +VTS,1,1,1260,5.15,CSH,19.5 +VTS,1,2,120,0.83,CRD,4.5 +VTS,1,2,480,1.91,CSH,8.5 +VTS,1,2,840,2.14,CSH,10.5 +VTS,1,2,420,0.96,CSH,6.5 +VTS,1,2,360,0.71,CSH,6 +VTS,1,2,1080,1.17,CRD,11.5 +VTS,1,3,480,1.43,CSH,7.5 +VTS,1,2,540,2.8,CSH,10 +VTS,1,3,1380,3.98,CRD,18 +VTS,1,3,180,0.82,CSH,5 +VTS,1,3,360,1.21,CRD,6 +VTS,1,2,360,0.59,CSH,6 +VTS,1,2,600,3.23,CRD,12.5 +VTS,1,2,240,1.28,CRD,6.5 +VTS,1,2,180,0.85,CRD,5 +VTS,1,2,660,2.64,CRD,11 +VTS,1,3,540,1.84,CSH,8.5 +VTS,1,4,300,0.6,CSH,5 +VTS,1,3,720,1.42,CRD,9 +VTS,1,5,840,2.2,CSH,11 +VTS,1,5,540,1.77,CSH,9 +VTS,1,2,1260,6.03,CRD,21 +VTS,1,2,180,0.56,CRD,4.5 +VTS,1,2,840,1.88,CRD,10 +VTS,1,3,720,3.25,CSH,12.5 +VTS,1,2,1260,2.9,CRD,15 +VTS,1,1,2520,10.77,CSH,38 +VTS,1,1,300,0.6,CRD,5 +VTS,1,1,600,1.71,CSH,9.5 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,3,360,1.19,CSH,6.5 +VTS,1,6,1200,4.95,CSH,18 +VTS,1,1,660,0.64,CRD,8 +VTS,1,1,840,1.85,CRD,10.5 +VTS,1,1,1020,2.66,CRD,13 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,660,1.7,CSH,9 +VTS,1,1,1020,1.57,CSH,11.5 +VTS,1,1,720,3.77,CRD,13.5 +VTS,1,1,480,2.99,CSH,10 +VTS,1,1,780,4.29,CSH,14.5 +VTS,1,1,600,2.85,CRD,11 +VTS,1,1,600,2.65,CRD,10 +VTS,1,1,600,1.73,CRD,9 +VTS,1,1,420,2.55,CSH,9 +VTS,1,1,600,2.41,CSH,10 +VTS,1,1,180,0.52,CRD,4 +VTS,1,1,1560,11.14,CRD,33.5 +VTS,1,1,900,2.28,CSH,11 +VTS,1,1,1140,5.41,CSH,19 +VTS,1,1,120,0.58,CSH,4 +VTS,1,1,720,2.17,CRD,9.5 +VTS,1,2,900,2.7,CSH,12.5 +VTS,1,2,780,2.15,CRD,11 +VTS,1,2,2940,10.82,CRD,44 +VTS,1,2,120,0.53,CRD,4 +VTS,1,5,300,1.07,CSH,6.5 +VTS,1,2,420,0.94,CSH,5 +VTS,1,3,960,2.04,CSH,12 +VTS,1,3,540,2.59,CRD,9.5 +VTS,1,3,480,1.6,CSH,7.5 +VTS,1,2,300,1.02,CSH,6 +VTS,1,2,360,0.48,CSH,5 +VTS,1,2,960,4.15,CSH,16 +VTS,1,2,780,3.91,CSH,13.5 +VTS,1,3,240,0.92,CRD,5.5 +VTS,1,3,540,1.57,CRD,8.5 +VTS,1,2,420,2.05,CRD,8 +VTS,1,2,480,0.82,CSH,6.5 +VTS,1,2,960,4.12,CRD,15 +VTS,1,2,1260,3.84,CSH,16.5 +VTS,1,2,300,0.96,CRD,5.5 +VTS,1,2,1020,2.71,CRD,13.5 +VTS,1,1,480,2.01,CRD,8.5 +VTS,1,1,1200,3.89,CSH,15.5 +VTS,1,1,900,7.74,CSH,22.5 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,4,360,1.3,CSH,7 +VTS,1,2,1440,3.34,CSH,17 +VTS,1,3,900,3.32,CRD,13 +VTS,2,2,1860,19.96,CRD,52 +VTS,1,2,540,1.37,CRD,8 +VTS,1,2,360,0.85,CRD,6 +VTS,1,2,240,0.68,CRD,4.5 +VTS,1,3,840,3.27,CRD,13 +VTS,1,2,540,2.05,CRD,9 +VTS,1,3,1320,2.2,CSH,15 +VTS,1,2,540,1.52,CSH,8 +VTS,1,2,120,0.51,CRD,4 +VTS,1,2,720,3.25,CRD,12 +VTS,1,4,780,4.74,CRD,15 +VTS,1,3,360,1.78,CRD,7.5 +VTS,1,2,600,2.06,CSH,9.5 +VTS,1,2,1800,5.45,CRD,22.5 +VTS,1,2,1380,2.79,CRD,15 +VTS,1,3,480,1.33,CRD,7.5 +VTS,2,3,2220,17.48,CSH,52 +VTS,1,2,360,0.85,CSH,6 +VTS,1,2,480,3.02,CRD,10 +VTS,1,3,240,0.94,CRD,5.5 +VTS,1,2,540,1.02,CRD,7 +VTS,1,2,840,2.71,CSH,12 +VTS,1,2,480,1.31,CSH,7.5 +VTS,1,2,420,1.14,CSH,6 +VTS,1,3,600,1.5,CSH,8.5 +VTS,1,1,300,1.3,CSH,6 +VTS,1,1,180,0.62,CRD,4.5 +VTS,1,1,660,2.77,CRD,11 +VTS,1,5,480,0.91,CRD,7 +VTS,1,5,3300,16.85,CSH,51 +VTS,1,3,540,1.72,CSH,8.5 +VTS,1,4,660,2.88,CRD,11 +VTS,1,6,360,0.97,CSH,6 +VTS,1,6,540,1.15,CSH,7.5 +VTS,1,6,600,1.45,CSH,8.5 +VTS,1,6,540,1.29,CSH,7.5 +VTS,1,6,660,2.59,CRD,10.5 +VTS,1,6,840,4.24,CRD,15.5 +VTS,1,6,720,6.44,CSH,19 +VTS,1,6,960,4.1,CSH,15.5 +VTS,1,1,1380,2.36,CSH,13.5 +VTS,1,1,180,0.64,CSH,4 +VTS,1,1,1080,4.31,CRD,16 +VTS,1,1,540,1.56,CRD,8.5 +VTS,3,1,1560,15.51,CRD,59.5 +VTS,1,1,1440,3.9,CRD,17.5 +VTS,1,1,420,0.71,CRD,6 +VTS,1,1,1260,6.63,CSH,21 +VTS,1,1,720,2.16,CSH,10.5 +VTS,1,1,540,1.16,CRD,7.5 +VTS,1,1,240,0.77,CRD,5 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,300,1.08,CSH,6 +VTS,1,1,660,2.16,CRD,9.5 +VTS,1,5,660,1.09,CSH,8 +VTS,1,5,840,1.6,CRD,10.5 +VTS,1,5,1020,4.01,CRD,15.5 +VTS,1,6,900,1.64,CSH,10.5 +VTS,1,6,360,1.05,CSH,6.5 +VTS,1,6,360,3.19,CRD,10.5 +VTS,1,6,1440,7.96,CRD,26 +VTS,1,1,540,1.2,CSH,7.5 +VTS,1,1,1260,9.33,CSH,27.5 +VTS,1,1,1980,11.31,CSH,34.5 +VTS,1,1,1260,1.97,CRD,13.5 +VTS,1,1,1020,2.87,CRD,13.5 +VTS,1,1,600,1.28,CRD,8.5 +VTS,1,1,780,4.2,CRD,14 +VTS,1,1,720,1.43,CSH,9 +VTS,1,1,480,1.44,CRD,7 +VTS,1,1,420,1.3,CRD,7.5 +VTS,1,1,600,1.58,CRD,9 +VTS,1,1,2220,5.35,CRD,25.5 +VTS,1,1,480,1.33,CRD,7.5 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,3,300,0.63,CRD,5 +VTS,2,3,2280,17.5,CSH,52 +VTS,1,2,300,0.95,CSH,6 +VTS,1,2,420,0.89,CSH,6.5 +VTS,1,2,360,1.27,CRD,7 +VTS,1,3,300,0.64,CRD,5 +VTS,1,2,120,0.9,CRD,4.5 +VTS,1,2,720,3.59,CRD,13 +VTS,1,3,600,1.37,CSH,8 +VTS,1,2,420,1.07,CRD,6.5 +VTS,1,2,600,1.54,CRD,8.5 +VTS,1,2,1320,3,CSH,15.5 +VTS,1,2,1440,3.85,CRD,17.5 +VTS,1,4,1140,3.18,CRD,15.5 +VTS,1,2,120,0.49,CSH,4 +VTS,1,3,420,1.79,CRD,8 +VTS,1,3,300,0.98,CRD,6 +VTS,1,3,660,1.84,CSH,9 +VTS,1,3,180,0.83,CRD,4.5 +VTS,1,2,660,2.46,CRD,10.5 +VTS,1,2,1620,6.43,CRD,25 +VTS,1,2,1680,3.84,CRD,19 +VTS,1,2,780,1.63,CSH,9.5 +VTS,1,2,600,1.93,CRD,9.5 +VTS,1,2,600,2.24,CSH,9.5 +VTS,1,2,660,1.3,CSH,9 +VTS,1,1,240,0.93,CRD,5 +VTS,1,1,600,1.82,CSH,9 +VTS,1,1,360,0.67,CSH,5 +VTS,1,1,960,2.87,CSH,13 +VTS,1,1,960,2.36,CRD,12 +VTS,1,1,180,0.3,CSH,4 +VTS,1,1,240,0.7,CSH,5.5 +VTS,1,1,900,1.7,CRD,11 +VTS,1,1,1380,3.97,CRD,18 +VTS,1,1,720,2.36,CRD,11 +VTS,1,1,1140,2.35,CRD,14 +VTS,1,1,1620,5.08,CRD,21 +VTS,1,1,480,1.76,CRD,8.5 +VTS,1,1,300,0.42,CRD,5 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,1560,13.09,CRD,38 +VTS,1,1,1920,6.58,CRD,26 +VTS,1,1,840,1.7,CSH,10.5 +VTS,1,1,660,2.87,CRD,10.5 +VTS,1,1,360,0.91,CRD,6 +VTS,1,1,240,0.71,CRD,4.5 +VTS,1,5,720,1.64,CSH,9 +VTS,1,5,600,1.79,CSH,8.5 +VTS,1,5,420,1.65,CRD,7.5 +VTS,1,6,1080,2.82,CSH,13 +VTS,1,5,360,0.57,CSH,5 +VTS,1,3,540,2.37,CSH,9.5 +VTS,1,4,960,4.97,CRD,16.5 +VTS,1,5,1080,6.36,CSH,20.5 +VTS,1,6,300,0.62,CSH,5 +VTS,1,6,780,1.72,CRD,10.5 +VTS,1,6,660,1.85,CRD,9 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,780,1.83,CRD,10 +VTS,1,1,120,0.58,CRD,4 +VTS,1,1,1500,3.87,CSH,18.5 +VTS,1,1,660,2.12,CSH,10 +VTS,1,1,120,0.76,CRD,4.5 +VTS,1,1,720,2.15,CSH,10 +VTS,1,1,540,1.7,CRD,8 +VTS,1,1,420,0.56,CRD,6 +VTS,1,1,420,1.13,CSH,6.5 +VTS,1,1,240,0.73,CRD,4.5 +VTS,1,1,840,1.28,CSH,9.5 +VTS,1,1,180,0.81,CRD,4.5 +VTS,2,1,3060,18.67,CRD,52 +VTS,1,1,600,2.76,CSH,10.5 +VTS,1,1,1500,2.07,CSH,15.5 +VTS,1,1,540,1.38,CSH,8 +VTS,1,5,540,1.65,CRD,8 +VTS,1,5,480,1.32,CRD,7.5 +VTS,1,5,420,1,CSH,6.5 +VTS,1,1,420,1.76,CSH,8 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,1380,5.19,CSH,20 +VTS,1,1,600,1.96,CSH,9.5 +VTS,1,1,360,1.88,CSH,7.5 +VTS,1,1,300,0.83,CRD,5 +VTS,1,1,960,3.21,CRD,14 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,420,0.7,CSH,6 +VTS,1,1,240,0.63,CRD,4.5 +VTS,1,1,300,0.42,CRD,5 +VTS,1,1,300,0.69,CRD,5 +VTS,1,1,840,2.2,CRD,11 +VTS,1,1,120,0.54,CSH,4 +VTS,1,1,1140,1.86,CRD,13 +VTS,1,5,300,0.88,CSH,5.5 +VTS,1,5,360,0.56,CRD,5 +VTS,1,5,1380,2.62,CRD,16 +VTS,1,5,240,0.63,CSH,4.5 +VTS,1,5,780,3.36,CSH,12.5 +VTS,1,5,540,0.87,CSH,7 +VTS,1,5,300,0.79,CSH,5.5 +VTS,1,5,1860,10.8,CRD,35 +VTS,1,6,1080,4.28,CRD,15.5 +VTS,5,1,0,0,CRD,17 +VTS,1,5,540,1.64,CRD,8.5 +VTS,1,5,1500,4.69,CRD,19.5 +VTS,1,1,900,2.52,CRD,12.5 +VTS,1,1,720,1.69,CRD,9.5 +VTS,1,1,840,1.75,CRD,11 +VTS,1,1,960,2.52,CSH,12.5 +VTS,1,1,180,0.41,CSH,4 +VTS,1,1,240,0.64,CSH,5 +VTS,1,1,360,0.59,CSH,5.5 +VTS,1,1,780,1.36,CRD,9.5 +VTS,1,1,660,1.44,CSH,9 +VTS,1,1,1560,9.19,CRD,30.5 +VTS,1,1,2280,4.98,CRD,26.5 +VTS,1,1,240,0.77,CRD,5 +VTS,1,1,1080,1.73,CRD,12.5 +VTS,1,1,600,1.89,CSH,9 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,720,2.13,CRD,10 +VTS,1,1,480,0.98,CSH,7 +VTS,1,5,480,1.41,CSH,7 +VTS,1,5,300,1.3,CSH,6 +VTS,1,5,540,1.46,CSH,8 +VTS,1,5,600,1.83,CRD,8.5 +VTS,1,5,1740,4.98,CSH,24 +VTS,1,6,600,2.52,CRD,10.5 +VTS,1,5,600,2.69,CRD,10.5 +VTS,1,5,840,2.84,CSH,12.5 +VTS,1,5,720,4.35,CSH,14.5 +VTS,1,5,360,1.1,CSH,6.5 +VTS,1,5,720,5.28,CSH,17 +VTS,1,5,540,1.7,CSH,8 +VTS,1,5,720,2.51,CSH,11 +VTS,1,5,420,1.14,CSH,6.5 +VTS,1,5,180,0.89,CSH,4.5 +VTS,1,5,1920,10.43,CRD,33.5 +VTS,1,5,1980,15.27,CRD,44.5 +VTS,1,5,300,1.14,CRD,6 +VTS,1,5,240,0.79,CRD,5 +VTS,1,5,1560,11.79,CSH,35.5 +VTS,1,5,180,1.44,CSH,6 +VTS,1,5,360,2.35,CRD,8.5 +VTS,1,5,360,1.17,CRD,6.5 +VTS,1,5,720,2.57,CSH,11 +VTS,1,5,360,2.27,CSH,8.5 +VTS,1,5,780,3.09,CRD,11.5 +VTS,1,5,480,2.03,CSH,9 +VTS,1,5,120,0.77,CRD,4.5 +VTS,1,6,480,1.55,CRD,8 +VTS,1,5,180,0.68,CRD,4.5 +VTS,1,5,840,3.7,CSH,13.5 +VTS,1,5,300,1.75,CRD,7 +VTS,1,5,60,0.21,CSH,3 +VTS,1,1,60,0.37,CSH,3.5 +VTS,1,1,480,1.78,CRD,9 +VTS,1,3,360,1.5,CSH,7 +VTS,1,2,420,0.98,CRD,6.5 +VTS,1,2,300,2.02,CSH,7.5 +VTS,1,2,840,4.93,CRD,16.5 +VTS,1,2,120,0.9,CSH,4.5 +VTS,1,2,360,1.25,CSH,6.5 +VTS,1,1,600,2.78,CRD,11 +VTS,1,1,360,1.29,CSH,7 +VTS,1,1,480,1.28,CSH,7 +VTS,1,5,540,1.3,CRD,8.5 +VTS,1,3,480,1.74,CSH,8 +VTS,1,6,840,1.5,CRD,10 +VTS,1,6,420,2.06,CRD,8.5 +VTS,1,6,660,7.43,CRD,21 +VTS,1,6,1020,5.1,CRD,17.5 +VTS,1,1,480,0.72,CRD,6.5 +VTS,1,1,480,0.75,CSH,6.5 +VTS,3,1,2580,14.59,CRD,63 +VTS,1,1,780,1.74,CRD,10 +VTS,1,1,720,1.86,CSH,9.5 +VTS,1,1,480,2.4,CRD,9 +VTS,1,1,900,2.24,CRD,12 +VTS,1,1,420,1.23,CSH,7.5 +VTS,1,1,420,1.02,CRD,7 +VTS,1,1,600,2.59,CRD,10 +VTS,1,1,1140,3.28,CSH,15 +VTS,1,2,180,0.77,CSH,4.5 +VTS,1,5,1440,9.46,CRD,29 +VTS,1,2,1440,8.28,CSH,27 +VTS,1,2,240,0.9,CSH,5 +VTS,1,2,840,4.32,CRD,15 +VTS,1,3,120,0.53,CSH,4 +VTS,1,2,240,0.96,CSH,5 +VTS,1,3,60,0.48,CSH,3.5 +VTS,1,2,600,0.51,CSH,7.5 +VTS,1,3,840,2.4,CSH,11 +VTS,1,3,300,1.23,CSH,6.5 +VTS,1,2,300,0.69,CSH,5 +VTS,1,3,660,1.98,CRD,9 +VTS,1,2,780,1.68,CSH,10.5 +VTS,1,2,120,0.62,CSH,4.5 +VTS,1,2,420,1.87,CSH,8 +VTS,1,2,900,1.39,CRD,11 +VTS,1,1,180,0.67,CRD,4 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,1380,4.37,CRD,19.5 +VTS,1,1,1020,1.02,CRD,10.5 +VTS,1,1,360,0.54,CSH,6 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,3,480,1.61,CRD,8 +VTS,1,3,660,1.75,CRD,9.5 +VTS,1,3,1080,4.48,CSH,16 +VTS,1,5,960,7.37,CRD,22 +VTS,1,5,1320,11.18,CRD,32 +VTS,1,5,420,1.36,CRD,7 +VTS,1,5,420,1.99,CRD,8.5 +VTS,1,5,360,2.62,CSH,9 +VTS,1,5,1020,10.26,CRD,28.5 +VTS,1,5,600,2.14,CRD,8.5 +VTS,1,5,480,0.95,CSH,6.5 +VTS,1,5,960,3.61,CRD,14 +VTS,1,5,360,1.15,CSH,6 +VTS,1,5,120,0.52,CRD,4 +VTS,1,5,180,0.77,CSH,5 +VTS,1,5,960,3.01,CRD,13 +VTS,1,5,600,1.39,CSH,8 +VTS,1,5,180,0.93,CSH,5 +VTS,1,5,1080,6.27,CRD,20.5 +VTS,1,5,600,1.39,CRD,8.5 +VTS,1,5,420,1.79,CRD,7.5 +VTS,1,5,240,1.22,CRD,5.5 +VTS,1,5,1080,9.9,CSH,28.5 +VTS,1,5,60,0.36,CSH,3.5 +VTS,1,5,720,3.37,CRD,12 +VTS,1,5,600,1.82,CSH,9.5 +VTS,1,6,240,0.48,CRD,4.5 +VTS,1,5,720,3.67,CSH,13.5 +VTS,1,5,300,1.47,CSH,6.5 +VTS,1,1,960,1.53,CRD,11 +VTS,1,1,420,1.49,CSH,7.5 +VTS,1,1,900,2.35,CRD,11.5 +VTS,1,1,720,2.05,CRD,10.5 +VTS,1,1,480,1.11,CRD,7 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,420,1.16,CRD,7 +VTS,1,1,1080,2.15,CSH,12.5 +VTS,1,1,840,1.77,CRD,10.5 +VTS,1,1,840,1.14,CSH,10 +VTS,1,1,540,1.7,CSH,8.5 +VTS,1,1,780,1.8,CSH,10 +VTS,1,5,420,0.99,CRD,6.5 +VTS,1,5,1380,3.07,CRD,16.5 +VTS,1,5,540,1.1,CRD,7.5 +VTS,1,5,840,1.57,CRD,10 +VTS,1,5,960,3.16,CRD,13.5 +VTS,1,5,120,0.28,CSH,3.5 +VTS,1,5,1200,3.77,CSH,16.5 +VTS,1,5,420,1.27,CRD,7 +VTS,1,5,660,2.24,CRD,10 +VTS,1,5,480,2.27,CSH,9 +VTS,1,5,1140,5.1,CRD,18.5 +VTS,2,5,60,0.1,CSH,52 +VTS,1,6,660,3.79,CRD,12.5 +VTS,1,6,960,3.87,CRD,14.5 +VTS,1,5,480,1.43,CSH,7.5 +VTS,1,5,660,1.82,CRD,9 +VTS,1,5,540,2.93,CSH,11.5 +VTS,1,5,180,0.61,CSH,4.5 +VTS,1,5,1020,2.66,CSH,13 +VTS,1,5,420,2.22,CSH,8 +VTS,1,5,840,2.05,CRD,11 +VTS,1,5,660,3.01,CRD,11.5 +VTS,1,5,420,1.66,CRD,7.5 +VTS,1,5,180,0.79,CRD,4.5 +VTS,1,5,360,1.39,CRD,6.5 +VTS,1,5,1920,23.21,CRD,61.5 +VTS,1,5,1500,4.25,CSH,19.5 +VTS,1,5,360,2.08,CRD,7.5 +VTS,1,5,120,0.57,CSH,3.5 +VTS,1,5,960,4.77,CRD,16.5 +VTS,1,5,780,4.59,CSH,15 +VTS,1,5,900,2.33,CRD,12 +VTS,1,5,780,2.92,CRD,11.5 +VTS,1,6,960,2.27,CRD,12 +VTS,1,5,300,1.08,CSH,6 +VTS,1,5,300,0.9,CRD,6 +VTS,1,5,780,2.54,CRD,11 +VTS,1,5,1620,6.26,CRD,23 +VTS,1,5,840,3.56,CRD,13.5 +VTS,1,5,960,5.87,CSH,19 +VTS,1,5,540,1.39,CSH,8 +VTS,1,5,420,1.77,CRD,7.5 +VTS,1,5,600,2.11,CRD,9 +VTS,1,5,840,2.82,CRD,12 +VTS,1,5,540,1.28,CRD,8 +VTS,1,5,900,8.82,CSH,25.5 +VTS,1,5,420,2.02,CRD,8 +VTS,1,5,300,0.81,CSH,5.5 +VTS,1,5,840,3.72,CRD,14 +VTS,1,5,300,0.96,CSH,6 +VTS,1,5,240,0.76,CSH,5 +VTS,1,5,720,2.71,CRD,11 +VTS,1,5,960,3.69,CRD,14 +VTS,1,5,1140,4.03,CSH,16 +VTS,1,1,900,1.74,CRD,11 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,840,9.68,CRD,27 +VTS,1,1,540,2.39,CSH,9.5 +VTS,1,1,360,1.8,CSH,7.5 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,420,1.54,CRD,7.5 +VTS,1,1,1800,12.02,CRD,35.5 +VTS,1,1,900,2.93,CSH,12.5 +VTS,1,1,600,2.12,CRD,9.5 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,1,360,1.56,CRD,7 +VTS,1,5,600,1.3,CRD,8 +VTS,1,5,1260,11.4,CSH,33.5 +VTS,1,5,1020,4.21,CSH,16 +VTS,1,6,480,1.76,CSH,8.5 +VTS,1,6,240,1.2,CRD,5.5 +VTS,1,5,240,0.99,CRD,5.5 +VTS,1,5,300,1.14,CRD,6 +VTS,1,6,420,2.3,CRD,8.5 +VTS,2,5,2760,16.67,CSH,52 +VTS,2,5,1740,17.56,CRD,52 +VTS,1,5,180,0.68,CSH,4.5 +VTS,1,5,420,1.41,CRD,7 +VTS,1,5,660,3.31,CRD,12 +VTS,1,5,720,3.26,CSH,11.5 +VTS,1,5,60,0.19,CSH,3 +VTS,1,5,900,2.09,CSH,12 +VTS,1,5,540,1.14,CRD,7.5 +VTS,1,5,480,2.43,CSH,9 +VTS,1,6,300,1.13,CRD,6.5 +VTS,1,6,360,1.46,CSH,7 +VTS,1,5,540,3.25,CSH,11.5 +VTS,1,5,1920,10.82,CRD,35 +VTS,1,5,420,1.34,CSH,7 +VTS,1,5,1140,6.77,CRD,21.5 +VTS,1,5,300,0.88,CSH,5.5 +VTS,1,5,120,0.4,CSH,4 +VTS,1,1,1380,4.63,CSH,18 +VTS,1,1,180,0.39,CSH,4 +VTS,1,1,600,2.54,CRD,10 +VTS,1,1,360,1.01,CRD,5.5 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,360,1.09,CRD,6 +VTS,1,1,840,2.31,CRD,11 +VTS,1,1,120,0.44,CSH,4 +VTS,2,1,2460,17.01,CRD,52 +VTS,1,1,960,3.9,CRD,15 +VTS,1,1,480,1.19,CSH,7.5 +VTS,1,1,1920,9.07,CSH,32 +VTS,1,1,300,0.64,CRD,5 +VTS,1,1,3780,6.44,CSH,38 +VTS,1,1,1260,2.53,CSH,14.5 +VTS,1,5,540,1.99,CSH,9 +VTS,1,5,780,1.26,CSH,9.5 +VTS,1,5,960,2.56,CRD,12.5 +VTS,1,5,1320,4.83,CRD,18.5 +VTS,1,5,120,0.34,CRD,3.5 +VTS,1,5,420,2.3,CRD,8.5 +VTS,1,5,540,1.7,CSH,8.5 +VTS,1,5,420,1.89,CRD,8 +VTS,1,5,960,7.1,CSH,22 +VTS,1,5,600,1.9,CRD,9 +VTS,1,5,540,2.14,CSH,8.5 +VTS,1,2,360,1.15,CSH,6.5 +VTS,1,2,480,2.1,CRD,9 +VTS,1,1,660,1.84,CSH,9.5 +VTS,1,1,240,1.13,CSH,6 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,5,240,0.89,CRD,5.5 +VTS,1,5,900,4.39,CRD,15.5 +VTS,1,5,480,1.76,CRD,8.5 +VTS,1,5,300,1.15,CRD,6 +VTS,1,6,480,1.72,CSH,8.5 +VTS,1,6,1140,3.98,CRD,16 +VTS,1,6,780,3.56,CRD,13.5 +VTS,1,6,300,0.66,CRD,5.5 +VTS,1,1,1200,4.62,CRD,18 +VTS,1,1,600,1.45,CRD,8 +VTS,1,1,1020,1.74,CRD,11.5 +VTS,1,1,420,1.09,CSH,7 +VTS,1,1,900,3.65,CRD,14.5 +VTS,1,1,1920,2.94,CRD,19.5 +VTS,1,1,360,0.94,CSH,5.5 +VTS,1,1,360,0.97,CSH,6 +VTS,1,1,240,0.76,CSH,4.5 +VTS,1,1,540,2.38,CRD,10 +VTS,1,1,420,1.11,CRD,7 +VTS,1,1,1380,2.81,CRD,16 +VTS,1,1,480,1.32,CRD,7.5 +VTS,1,1,1380,4.76,CRD,18.5 +VTS,1,1,660,1.78,CSH,9.5 +VTS,1,1,540,1.58,CRD,8 +VTS,1,1,900,4.76,CSH,15.5 +VTS,1,6,180,0.75,CSH,4.5 +VTS,1,5,360,0.59,CRD,5.5 +VTS,1,5,240,0.55,CRD,4.5 +VTS,1,5,840,1.78,CRD,11 +VTS,1,5,540,1.21,CSH,7.5 +VTS,1,5,300,1.48,CRD,6.5 +VTS,1,5,1140,4.41,CRD,16.5 +VTS,1,5,180,0.52,CSH,4 +VTS,1,5,300,1.01,CSH,6 +VTS,1,5,1140,4.36,CRD,17.5 +VTS,1,5,300,0.9,CRD,5.5 +VTS,1,5,60,0.41,CSH,3.5 +VTS,1,5,600,2.9,CRD,11 +VTS,1,5,660,5.22,CRD,17 +VTS,1,5,540,3,CSH,11.5 +VTS,1,5,720,2.03,CSH,10.5 +VTS,1,5,720,2.61,CSH,11 +VTS,1,5,600,2.1,CRD,9.5 +VTS,1,5,660,4.15,CRD,14 +VTS,1,5,420,1.67,CRD,7.5 +VTS,1,5,360,1.83,CSH,7.5 +VTS,1,5,600,2.15,CSH,9.5 +VTS,1,4,180,0.98,CRD,5.5 +VTS,1,6,600,2.3,CRD,9.5 +VTS,1,6,300,0.8,CSH,5.5 +VTS,1,1,1680,3.88,CRD,18.5 +VTS,1,1,600,0.65,CSH,7.5 +VTS,1,1,840,1.53,CSH,10 +VTS,1,1,240,0.53,CSH,5 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,1,180,0.29,CSH,4 +VTS,1,1,360,0.92,CRD,6 +VTS,1,1,1260,2.61,CRD,14.5 +VTS,1,1,420,1.2,CRD,6.5 +VTS,1,1,540,1.36,CSH,7.5 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,360,1.49,CRD,7 +VTS,1,1,780,2.53,CSH,11.5 +VTS,1,1,1200,5.57,CRD,20.5 +VTS,1,1,840,1.31,CSH,10 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,780,1.15,CRD,9 +VTS,1,1,1080,2.53,CSH,13.5 +VTS,1,1,780,2.77,CRD,12 +VTS,1,1,420,2.5,CSH,9 +VTS,1,1,360,1.39,CSH,7 +VTS,1,1,660,1.04,CRD,8.5 +VTS,1,1,840,2,CRD,10.5 +VTS,1,1,120,0.56,CSH,4 +VTS,1,1,780,4.35,CSH,15.5 +VTS,1,1,480,1.19,CSH,7.5 +VTS,1,1,840,2.86,CSH,13 +VTS,1,1,660,4.13,CSH,14.5 +VTS,1,1,660,1.3,CRD,8.5 +VTS,1,1,1140,6.64,CRD,21 +VTS,1,1,360,1.86,CRD,8 +VTS,1,1,180,1.38,CRD,5.5 +VTS,1,1,900,4.95,CSH,16.5 +VTS,1,1,900,5.22,CRD,17.5 +VTS,1,1,1680,13.9,CSH,39 +VTS,1,1,360,1.84,CRD,7.5 +VTS,1,1,120,1.04,CSH,5 +VTS,1,1,1020,4.57,CRD,16 +VTS,1,1,780,3.8,CSH,14.5 +VTS,1,1,180,0.4,CSH,4.5 +VTS,1,1,360,1.64,CRD,7 +VTS,1,1,240,0.85,CSH,5.5 +VTS,1,1,600,2.26,CRD,9.5 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,960,4.35,CRD,16 +VTS,1,1,2340,7.28,CRD,31 +VTS,1,1,600,1.04,CSH,8 +VTS,1,1,1020,7.05,CRD,20.5 +VTS,1,1,1080,9.43,CSH,28 +VTS,1,1,1500,6.09,CRD,22 +VTS,1,1,240,0.63,CSH,5 +VTS,1,1,1260,8.98,CSH,27.5 +VTS,1,1,600,1.88,CSH,9 +VTS,1,1,360,1.66,CSH,7 +VTS,1,1,1320,8.78,CSH,27 +VTS,1,1,3900,17.27,CRD,53.5 +VTS,1,1,300,1.55,CSH,7 +VTS,1,2,60,0.24,CRD,3 +VTS,1,1,600,1.86,CRD,9 +VTS,1,1,720,5.07,CSH,16.5 +VTS,1,1,1680,12.41,CRD,35.5 +VTS,1,1,840,9.22,CRD,25.5 +VTS,1,1,360,1.35,CSH,6.5 +VTS,1,1,960,3.09,CRD,13.5 +VTS,1,1,960,3.12,CRD,13.5 +VTS,1,1,1080,2.84,CSH,13.5 +VTS,1,1,660,2.71,CRD,11 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,420,2.48,CSH,10 +VTS,1,1,360,1.53,CRD,7 +VTS,1,1,240,1.17,CRD,5.5 +VTS,1,1,840,2.59,CSH,11.5 +VTS,1,1,720,2.49,CRD,10.5 +VTS,1,1,420,1.44,CRD,7 +VTS,1,1,720,3.43,CSH,13 +VTS,1,1,600,1.23,CSH,8 +VTS,1,5,660,2.57,CSH,10.5 +VTS,1,5,240,0.68,CSH,5 +VTS,1,5,120,0.99,CRD,5 +VTS,1,1,660,2.64,CSH,10.5 +VTS,1,1,420,2.56,CRD,9.5 +VTS,1,1,1440,11.84,CRD,34 +VTS,1,1,660,2.6,CSH,10.5 +VTS,1,1,480,2.29,CRD,9.5 +VTS,1,1,420,1.27,CRD,7 +VTS,1,1,420,2.01,CSH,8 +VTS,1,1,780,4.49,CSH,15.5 +VTS,1,1,660,1.45,CRD,8.5 +VTS,1,1,1800,11.6,CRD,36 +VTS,1,1,960,5.83,CRD,18 +VTS,1,1,300,0.84,CRD,6 +VTS,1,1,120,0.98,CSH,5 +VTS,1,1,660,2.97,CRD,11.5 +VTS,1,2,360,1.94,CRD,7.5 +VTS,1,1,900,8.47,CSH,24.5 +VTS,1,1,300,1.23,CSH,6 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,1260,3.15,CRD,15.5 +VTS,1,1,1200,4.58,CSH,17 +VTS,1,1,300,0.88,CSH,5 +VTS,1,1,300,1.3,CSH,6 +VTS,1,1,480,3.19,CRD,11 +VTS,1,5,2460,22.14,CSH,62 +VTS,1,5,300,1.41,CRD,6.5 +VTS,1,5,600,3.14,CSH,11.5 +VTS,1,5,540,2,CSH,9 +VTS,1,5,1380,5.5,CRD,21 +VTS,1,5,480,1.07,CRD,7 +VTS,1,5,840,1.71,CRD,10 +VTS,1,5,600,1.32,CSH,8.5 +VTS,1,5,480,1.83,CSH,8.5 +VTS,1,5,1260,6.27,CRD,21.5 +VTS,1,5,240,0.63,CSH,5 +VTS,1,5,360,1.51,CRD,7 +VTS,1,5,1080,5.03,CRD,17 +VTS,1,5,1320,9.88,CRD,30 +VTS,1,5,360,1.1,CRD,6.5 +VTS,1,5,180,0.91,CRD,5 +VTS,1,5,180,0.82,CSH,5 +VTS,1,5,1020,2.86,CRD,13 +VTS,1,1,480,1.62,CRD,8 +VTS,1,1,1440,8.23,CRD,27.5 +VTS,1,1,600,2.38,CRD,10 +VTS,1,1,900,9.24,CSH,27 +VTS,1,1,1020,3.72,CSH,15.5 +VTS,1,1,780,1.84,CRD,10.5 +VTS,1,1,1200,4.79,CRD,19 +VTS,1,1,720,2.3,CRD,10.5 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,480,1.69,CSH,8.5 +VTS,1,1,840,5.56,CRD,17 +VTS,1,1,1200,4.58,CRD,17.5 +VTS,1,1,480,2.35,CRD,9.5 +VTS,1,1,540,1.75,CSH,8 +VTS,1,1,240,0.98,CSH,5 +VTS,1,1,360,1.58,CRD,7 +VTS,1,1,540,1.47,CRD,7.5 +VTS,1,1,720,3.02,CSH,12 +VTS,1,1,1560,11.24,CRD,34.5 +VTS,1,1,420,1.1,CRD,6.5 +VTS,1,1,360,1.43,CRD,6.5 +VTS,1,1,540,2.13,CSH,9 +VTS,1,1,1260,6.81,CRD,22 +VTS,1,1,1200,6.38,CRD,21 +VTS,1,1,960,2.78,CRD,12.5 +VTS,1,1,1080,3.41,CSH,14 +VTS,1,1,720,2.95,CSH,12 +VTS,1,1,1140,3.92,CRD,16 +VTS,1,1,960,4.37,CRD,16 +VTS,1,1,300,1.06,CSH,5.5 +VTS,1,1,540,1.04,CSH,7.5 +VTS,1,1,1020,6.35,CRD,19.5 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,1,900,3.75,CRD,14 +VTS,1,1,1020,4.45,CRD,17.5 +VTS,1,1,780,2.8,CRD,12 +VTS,1,1,720,4.92,CSH,16.5 +VTS,1,1,120,0.77,CRD,4 +VTS,1,1,840,3.74,CSH,14 +VTS,1,1,540,3.88,CSH,12 +VTS,1,1,1560,8.57,CRD,26.5 +VTS,1,1,1440,13.12,CRD,37.5 +VTS,1,1,480,2.22,CRD,9 +VTS,1,1,540,2.24,CSH,9.5 +VTS,1,1,480,1.85,CRD,8.5 +VTS,1,1,1080,5.51,CRD,19 +VTS,1,1,480,1.25,CRD,7.5 +VTS,1,1,240,0.72,CSH,5 +VTS,1,1,300,1.16,CRD,6 +VTS,1,2,420,2.11,CSH,8.5 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,1320,12.46,CSH,35 +VTS,1,1,300,0.64,CSH,5.5 +VTS,1,1,900,3.93,CSH,15.5 +VTS,1,1,420,1.09,CSH,6.5 +VTS,1,1,900,3.31,CRD,13.5 +VTS,1,1,1140,9,CSH,26 +VTS,1,1,300,0.65,CRD,5 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,480,1.94,CRD,8 +VTS,1,1,300,1.23,CRD,6.5 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,420,1.89,CRD,8 +VTS,1,1,360,2.11,CRD,9 +VTS,1,1,480,1.7,CRD,8.5 +VTS,1,1,600,2.95,CRD,11 +VTS,1,1,240,0.93,CRD,5.5 +VTS,1,1,960,5.25,CRD,16.5 +VTS,1,1,960,3.13,CRD,13 +VTS,1,1,780,2.54,CRD,11 +VTS,1,1,840,3.7,CSH,13.5 +VTS,1,1,660,2.55,CRD,11 +VTS,1,2,360,1.18,CRD,6.5 +VTS,1,1,540,2.15,CRD,9 +VTS,1,1,240,0.7,CRD,5 +VTS,1,1,1260,9.37,CSH,28 +VTS,1,1,240,1.16,CRD,5.5 +VTS,1,1,780,9.58,CSH,27 +VTS,1,1,1620,10.83,CRD,32.5 +VTS,1,1,780,3.28,CRD,13 +VTS,1,1,900,2.45,CSH,12 +VTS,1,1,600,2.53,CSH,10.5 +VTS,1,1,660,2.7,CRD,11 +VTS,1,1,1860,22.58,CSH,60.5 +VTS,1,1,720,1.6,CSH,9.5 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,240,0.87,CSH,5 +VTS,1,1,1020,5.21,CRD,18.5 +VTS,1,1,660,1.6,CRD,9 +VTS,1,1,1440,8.18,CSH,26.5 +VTS,1,1,480,1.64,CRD,8 +VTS,1,1,360,1.3,CSH,7 +VTS,1,1,180,1.42,CRD,6 +VTS,1,1,1320,1.94,CSH,14 +VTS,1,1,720,7.94,CSH,23 +VTS,1,1,300,1.19,CRD,6 +VTS,1,1,420,1.59,CRD,7.5 +VTS,1,1,240,0.69,CRD,5 +VTS,1,1,180,0.3,CSH,4 +VTS,1,1,840,3.61,CSH,14 +VTS,1,1,780,2.02,CRD,10 +VTS,1,1,180,0.88,CRD,5 +VTS,1,1,600,2.23,CSH,9.5 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,300,1.31,CSH,6 +VTS,1,1,600,6.94,CRD,20 +VTS,1,1,360,0.85,CRD,6 +VTS,1,1,960,5.29,CSH,17.5 +VTS,1,1,300,1.38,CSH,6.5 +VTS,1,1,180,0.99,CRD,5 +VTS,1,1,720,2.11,CSH,10.5 +VTS,1,1,1260,4.7,CRD,19 +VTS,1,5,780,8.14,CRD,23.5 +VTS,1,5,180,1.3,CSH,5.5 +VTS,1,5,240,0.91,CRD,5.5 +VTS,1,1,420,1.33,CRD,7 +VTS,1,1,360,1.73,CSH,7.5 +VTS,1,1,840,10.5,CRD,29 +VTS,1,1,660,7.82,CRD,22.5 +VTS,1,1,240,0.65,CSH,5 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,600,1.96,CRD,9 +VTS,1,1,960,4.93,CSH,17 +VTS,1,1,420,1.32,CSH,6.5 +VTS,1,1,540,1.75,CRD,8.5 +VTS,1,1,360,2,CSH,8 +VTS,1,1,180,0.54,CRD,4.5 +VTS,1,1,660,4.42,CSH,14.5 +VTS,1,1,1080,5.83,CRD,20 +VTS,1,1,1140,8.37,CRD,25.5 +VTS,1,1,720,3.12,CRD,12.5 +VTS,1,1,1320,4.26,CRD,17.5 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,2,180,0.51,CRD,4.5 +VTS,1,1,1380,3.9,CSH,17.5 +VTS,1,1,2400,10.54,CSH,33.5 +VTS,1,1,1080,5.9,CRD,20 +VTS,1,1,240,0.98,CSH,5.5 +VTS,1,1,420,2.52,CSH,9 +VTS,1,1,1020,2.21,CRD,12.5 +VTS,1,1,840,4.72,CSH,16 +VTS,1,1,480,2.22,CRD,9 +VTS,1,1,360,0.93,CRD,6 +VTS,1,2,180,0.57,CSH,4.5 +VTS,1,1,1380,10.22,CRD,30.5 +VTS,2,1,1500,17.82,CRD,52 +VTS,1,1,240,0.84,CSH,5 +VTS,1,1,120,0.47,CSH,3.5 +VTS,1,1,300,0.83,CSH,5 +VTS,1,1,360,1.32,CRD,7 +VTS,1,1,660,1.68,CSH,9 +VTS,1,1,720,3.41,CRD,13 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,120,0.36,CRD,3.5 +VTS,1,1,1020,4.25,CRD,16 +VTS,1,1,660,1.74,CRD,10 +VTS,1,1,1080,4.78,CRD,17 +VTS,1,1,1140,8.65,CRD,27 +VTS,1,1,480,3.7,CSH,12.5 +VTS,1,1,600,1.55,CRD,9 +VTS,1,1,780,2.47,CRD,11 +VTS,1,1,780,1.08,CRD,9.5 +VTS,1,1,240,0.45,CSH,4.5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,6,360,1.81,CRD,7.5 +VTS,1,5,780,2.03,CSH,10 +VTS,1,5,480,0.88,CSH,6.5 +VTS,1,5,720,2.7,CRD,11 +VTS,1,5,240,0.49,CSH,5 +VTS,1,5,360,1.73,CRD,7.5 +VTS,1,5,1500,4.6,CSH,20.5 +VTS,1,5,180,0.76,CSH,4.5 +VTS,1,5,120,0.33,CSH,3.5 +VTS,1,5,1440,6.25,CSH,23 +VTS,1,6,180,0.83,CRD,5 +VTS,1,5,1140,8.04,CRD,24.5 +VTS,1,5,780,3.34,CRD,13 +VTS,1,5,960,5.73,CRD,17.5 +VTS,1,5,480,1.19,CRD,7.5 +VTS,1,5,480,1.86,CRD,8 +VTS,1,5,780,2.71,CRD,12 +VTS,1,5,180,0.55,CSH,4.5 +VTS,1,5,720,2.69,CSH,11 +VTS,1,5,420,1.32,CSH,7 +VTS,1,5,540,2.09,CRD,8.5 +VTS,1,5,300,1.5,CRD,7 +VTS,1,5,300,1.18,CSH,5.5 +VTS,1,5,900,6.92,CRD,22 +VTS,1,5,1320,11.45,CSH,33 +VTS,1,5,240,0.96,CRD,5.5 +VTS,1,1,480,2.43,CSH,10 +VTS,1,1,300,1.57,CSH,7 +VTS,1,1,600,2.76,CSH,10.5 +VTS,1,1,240,0.81,CSH,5 +VTS,1,1,2580,13.06,CRD,42.5 +VTS,1,1,300,1.06,CRD,6 +VTS,1,1,360,2.91,CSH,9.5 +VTS,1,1,720,8.49,CRD,24 +VTS,1,1,120,0.56,CSH,3.5 +VTS,1,1,1080,10.04,CSH,29.5 +VTS,1,1,960,4.31,CRD,16.5 +VTS,1,1,240,1.13,CSH,6 +VTS,1,1,180,0.61,CSH,4 +VTS,1,1,1140,3.6,CRD,15 +VTS,1,1,360,0.98,CRD,5.5 +VTS,1,1,420,3.21,CSH,10.5 +VTS,1,1,300,1.5,CRD,6.5 +VTS,1,1,780,3.46,CRD,13 +VTS,1,1,180,0.53,CSH,4 +VTS,1,1,540,1.56,CSH,8.5 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,780,3.87,CRD,13.5 +VTS,1,1,1500,7.32,CRD,24.5 +VTS,1,1,720,3.09,CSH,11.5 +VTS,1,1,1380,4.44,CRD,18.5 +VTS,1,1,960,2.55,CSH,12.5 +VTS,1,1,180,1.08,CRD,5 +VTS,1,1,720,7.71,CRD,22.5 +VTS,1,2,840,4.58,CRD,15.5 +VTS,1,1,1380,12.17,CSH,37.5 +VTS,1,1,300,1.29,CSH,6 +VTS,1,1,2580,12.63,CRD,39 +VTS,1,1,660,1.51,CSH,8.5 +VTS,1,1,360,1.8,CRD,7.5 +VTS,1,1,420,1.68,CRD,7.5 +VTS,1,1,420,1.49,CSH,7.5 +VTS,1,1,720,5.52,CRD,17 +VTS,1,1,1380,9.99,CRD,29 +VTS,1,1,900,1.92,CRD,11.5 +VTS,1,1,480,1.74,CRD,7.5 +VTS,1,1,420,1.08,CRD,6.5 +VTS,1,1,480,0.73,CRD,6.5 +VTS,1,1,840,7.68,CSH,22 +VTS,1,1,1260,9.08,CRD,27 +VTS,1,1,240,1.36,CRD,6 +VTS,1,1,300,2.07,CSH,8 +VTS,1,1,480,1.12,CSH,7.5 +VTS,1,1,240,1.08,CRD,5.5 +VTS,1,1,720,2.26,CRD,10.5 +VTS,1,1,360,1.71,CRD,7 +VTS,1,1,660,1.72,CRD,9 +VTS,1,1,480,3.17,CSH,10.5 +VTS,1,1,780,5.3,CRD,17.5 +VTS,1,1,420,1,CRD,6 +VTS,1,1,1260,9.98,CSH,30 +VTS,1,1,1620,13.68,CRD,38.5 +VTS,1,1,420,1.93,CRD,8 +VTS,1,1,720,3.11,CSH,12 +VTS,1,1,180,1.41,CRD,6 +VTS,1,1,240,1.57,CRD,6 +VTS,1,1,1260,7.77,CRD,23.5 +VTS,1,1,540,1.82,CRD,8.5 +VTS,1,1,720,4.57,CRD,15.5 +VTS,1,1,1560,2.58,CRD,17 +VTS,2,1,1380,17.66,CRD,52 +VTS,1,1,420,1.93,CRD,8 +VTS,1,1,300,1.53,CRD,6.5 +VTS,1,1,300,1.26,CRD,6 +VTS,1,1,420,2.22,CRD,9 +VTS,1,1,480,2.3,CSH,9 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,960,4.7,CRD,17 +VTS,1,2,1320,3.46,CRD,16.5 +VTS,1,1,420,2.02,CSH,8.5 +VTS,1,1,480,2.04,CSH,9 +VTS,1,1,1260,4.83,CRD,19 +VTS,1,1,660,7.58,CRD,22 +VTS,1,1,240,0.44,CSH,4 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,600,1.44,CSH,8 +VTS,1,1,300,0.95,CSH,6 +VTS,1,1,360,0.81,CSH,6 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,1080,6.73,CRD,21.5 +VTS,1,1,840,2.77,CRD,11.5 +VTS,1,1,300,1.67,CRD,7.5 +VTS,1,1,420,0.88,CSH,6.5 +VTS,1,1,360,1.1,CRD,6 +VTS,1,1,300,1.02,CSH,6 +VTS,1,1,660,1.87,CSH,8.5 +VTS,1,1,1140,8.97,CRD,26.5 +VTS,1,1,780,1.99,CRD,10.5 +VTS,1,1,2280,7.76,CRD,30 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,900,8.58,CSH,25 +VTS,1,1,660,1.55,CSH,9 +VTS,1,1,720,3.09,CRD,11.5 +VTS,1,1,480,1.85,CRD,8.5 +VTS,1,1,360,0.9,CRD,6.5 +VTS,1,1,240,0.9,CRD,5 +VTS,1,1,480,1.04,CSH,6.5 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,960,2.15,CSH,12 +VTS,1,1,660,2.79,CRD,11 +VTS,1,1,540,0.94,CSH,7 +VTS,1,1,1620,5.39,CRD,22.5 +VTS,1,1,780,8.25,CRD,23.5 +VTS,1,1,420,0.84,CSH,6 +VTS,2,1,1740,19.57,CRD,52 +VTS,1,1,480,1.91,CRD,8.5 +VTS,1,1,2400,11.42,CRD,38.5 +VTS,1,1,1080,15.76,CSH,42.5 +VTS,1,1,720,2.84,CRD,12 +VTS,1,1,660,1.71,CSH,9 +VTS,1,1,900,2.5,CRD,12 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,240,0.94,CSH,5 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,1020,10.44,CRD,30 +VTS,1,1,240,1.45,CRD,6 +VTS,1,1,600,1.08,CSH,7.5 +VTS,1,1,420,1.01,CRD,6 +VTS,1,1,480,2.25,CRD,9 +VTS,1,1,660,2.08,CSH,10 +VTS,1,1,540,2.37,CSH,9 +VTS,1,2,480,1.88,CRD,8.5 +VTS,1,1,420,0.94,CRD,6 +VTS,1,1,2580,6.14,CSH,28.5 +VTS,1,1,540,1.47,CRD,8.5 +VTS,1,1,660,2.9,CSH,12 +VTS,1,1,1200,7.54,CSH,24 +VTS,1,1,780,2.63,CRD,11.5 +VTS,1,1,1920,10.99,CSH,34 +VTS,1,1,960,3.38,CRD,13 +VTS,1,1,1140,7.09,CSH,23.5 +VTS,1,1,1080,1.32,CSH,11.5 +VTS,1,1,300,1.15,CSH,6 +VTS,1,1,180,0.45,CRD,4 +VTS,1,1,300,1.81,CSH,7.5 +VTS,3,1,1860,17.83,CSH,67.5 +VTS,1,1,960,3.51,CRD,13.5 +VTS,1,1,180,0.99,CSH,5.5 +VTS,1,1,960,3.87,CRD,14.5 +VTS,1,1,780,2.71,CRD,11.5 +VTS,1,1,660,2.56,CRD,10.5 +VTS,1,2,300,1.34,CRD,6 +VTS,1,1,420,1.54,CSH,8 +VTS,1,1,360,1.16,CRD,6.5 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,420,0.72,CSH,6 +VTS,1,1,480,1.79,CRD,8.5 +VTS,1,1,240,1.27,CSH,6 +VTS,1,1,360,2.18,CSH,8 +VTS,1,1,480,1.5,CRD,8 +VTS,1,1,2400,10.37,CRD,36 +VTS,1,1,1200,4.14,CSH,16.5 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,1,1200,4.27,CRD,17 +VTS,1,1,240,1.01,CSH,5.5 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,120,0.92,CSH,4.5 +VTS,1,1,480,1.52,CSH,8 +VTS,2,1,2040,17.84,CRD,52 +VTS,1,1,360,1.23,CSH,6 +VTS,1,1,900,7.87,CSH,24 +VTS,1,1,840,6.45,CRD,20 +VTS,1,2,300,1.22,CSH,6 +VTS,1,1,600,0.86,CRD,7.5 +VTS,1,1,480,1.87,CRD,8.5 +VTS,1,1,240,0.91,CSH,5 +VTS,1,1,780,2.03,CRD,10.5 +VTS,1,1,660,1.73,CSH,9 +VTS,1,1,720,2.7,CRD,11 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,1,1440,5.05,CRD,20 +VTS,1,1,480,1.8,CRD,8 +VTS,1,1,1380,9.54,CRD,29 +VTS,1,1,480,1.83,CSH,8 +VTS,1,1,780,3.04,CRD,12 +VTS,1,1,540,2.85,CSH,10 +VTS,1,1,840,4,CSH,14 +VTS,1,1,540,3.5,CRD,11.5 +VTS,1,1,420,1.37,CSH,6.5 +VTS,1,1,1980,4.88,CRD,23.5 +VTS,1,1,840,2.17,CSH,10.5 +VTS,1,1,1980,6.06,CRD,25.5 +VTS,1,1,1140,10.14,CRD,29.5 +VTS,1,1,720,2.38,CRD,10.5 +VTS,1,1,1320,3.4,CRD,17 +VTS,1,1,120,0.42,CRD,4 +VTS,1,1,420,1.84,CSH,7.5 +VTS,1,1,1080,4.08,CSH,16.5 +VTS,1,1,780,2.04,CRD,10.5 +VTS,1,1,540,0.81,CRD,7.5 +VTS,1,1,240,1.57,CSH,6.5 +VTS,1,1,300,1.02,CSH,5.5 +VTS,1,1,180,0.75,CSH,5 +VTS,1,1,480,2.08,CRD,9 +VTS,1,1,420,1.6,CSH,8 +VTS,1,1,300,1.41,CSH,6.5 +VTS,1,1,480,1.51,CRD,8 +VTS,1,1,840,3.54,CRD,13 +VTS,2,2,1740,21.8,CRD,52 +VTS,1,1,780,2.9,CRD,12 +VTS,1,1,240,0.66,CSH,5 +VTS,1,1,540,1.92,CSH,8.5 +VTS,1,1,1380,6.51,CSH,23.5 +VTS,1,3,960,6.92,CSH,21 +VTS,1,1,480,1.78,CSH,8 +VTS,1,1,300,1.25,CRD,6 +VTS,1,1,360,1.58,CRD,7.5 +VTS,1,1,1560,7.54,CRD,25.5 +VTS,1,1,960,4.1,CRD,15.5 +VTS,1,1,3240,13.04,CRD,48.5 +VTS,1,1,420,2.48,CRD,9.5 +VTS,1,1,300,1.2,CSH,6.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,480,2.49,CSH,9.5 +VTS,1,1,360,1.3,CRD,6.5 +VTS,1,1,600,1.21,CRD,8 +VTS,1,1,480,1.26,CSH,7 +VTS,1,1,480,1.64,CRD,8 +VTS,1,1,480,1.8,CRD,8 +VTS,1,1,600,1.94,CSH,9 +VTS,1,1,600,1.24,CSH,8 +VTS,1,1,240,1.06,CRD,5.5 +VTS,1,4,480,1.71,CSH,8 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,3,240,0.96,CRD,5.5 +VTS,1,5,120,0.46,CSH,4 +VTS,1,5,600,0.84,CSH,8 +VTS,1,1,1020,4.4,CSH,16.5 +VTS,1,1,840,1.78,CRD,11 +VTS,1,1,1920,11.19,CRD,34 +VTS,1,1,660,1.87,CRD,9.5 +VTS,1,1,420,1.26,CRD,7 +VTS,1,1,480,2.14,CSH,9 +VTS,1,3,420,0.84,CRD,6.5 +VTS,1,1,300,1.58,CRD,6.5 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,1320,10,CRD,29.5 +VTS,1,1,660,1.65,CSH,9.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,360,1.09,CSH,6 +VTS,1,1,540,1.76,CRD,8.5 +VTS,1,1,660,2.93,CRD,11.5 +VTS,1,1,1320,5.08,CSH,19.5 +VTS,1,1,240,1.37,CRD,6 +VTS,1,1,540,1.41,CRD,8 +VTS,1,1,900,5.28,CRD,16.5 +VTS,1,1,840,3.3,CRD,13 +VTS,1,1,720,2.45,CRD,10.5 +VTS,1,1,300,0.94,CSH,6 +VTS,1,1,480,1.13,CRD,7.5 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,1680,17.26,CRD,47 +VTS,1,1,240,0.65,CRD,4.5 +VTS,1,1,840,1.73,CRD,10.5 +VTS,1,1,1380,2.89,CRD,16 +VTS,1,1,600,2.67,CSH,11 +VTS,1,1,240,0.89,CSH,5.5 +VTS,1,1,180,0.57,CRD,4 +VTS,1,1,420,0.84,CRD,6 +VTS,1,1,720,2.07,CRD,10.5 +VTS,1,1,780,3.73,CRD,13.5 +VTS,1,1,300,1.04,CRD,6 +VTS,1,1,660,1.82,CRD,9 +VTS,1,1,1680,4.67,CSH,21 +VTS,1,1,120,0.5,CSH,4 +VTS,1,1,900,4.76,CRD,16.5 +VTS,1,1,360,3.11,CRD,10 +VTS,1,1,720,2.19,CSH,10.5 +VTS,1,1,480,2.31,CRD,9 +VTS,1,1,360,1.42,CSH,6.5 +VTS,1,1,360,0.92,CRD,5.5 +VTS,1,1,780,6.34,CRD,19.5 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,1560,10.14,CRD,31 +VTS,1,1,540,2.38,CRD,9 +VTS,1,1,1200,3.28,CSH,15 +VTS,1,1,1260,10.72,CRD,31.5 +VTS,1,1,1080,2.15,CRD,13 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,180,1.02,CSH,5 +VTS,1,4,360,1.17,CSH,6.5 +VTS,1,1,300,0.78,CSH,6 +VTS,1,1,780,3.58,CRD,13.5 +VTS,1,1,360,1.61,CSH,7.5 +VTS,1,1,1920,10.52,CRD,32 +VTS,1,1,300,0.37,CSH,5 +VTS,1,1,600,1.73,CRD,9 +VTS,1,1,600,3.52,CRD,13 +VTS,1,1,120,0.56,CRD,4 +VTS,1,1,720,6.67,CRD,19.5 +VTS,1,1,660,2.02,CRD,9.5 +VTS,1,1,420,2.58,CRD,9.5 +VTS,1,1,360,1.75,CRD,7.5 +VTS,1,1,300,2.53,CSH,9 +VTS,1,1,600,1.44,CSH,8 +VTS,1,1,660,1.7,CRD,9 +VTS,1,1,1440,10.81,CRD,31.5 +VTS,1,1,480,2.07,CSH,9 +VTS,1,1,780,2.05,CRD,10.5 +VTS,1,1,540,4.28,CSH,14 +VTS,1,2,1620,7.23,CRD,26 +VTS,1,1,120,0.34,CSH,3.5 +VTS,1,1,900,5.76,CRD,19 +VTS,1,2,480,1.11,CRD,7 +VTS,1,2,300,0.77,CRD,5.5 +VTS,1,1,360,1.97,CRD,7.5 +VTS,1,1,1320,4.21,CRD,17 +VTS,1,1,420,1.26,CRD,7 +VTS,1,1,240,1.23,CSH,6 +VTS,1,1,1380,14.2,CSH,40 +VTS,1,1,1020,2.62,CRD,13 +VTS,1,1,900,3.91,CRD,14.5 +VTS,1,1,780,3.46,CSH,13.5 +VTS,1,1,540,2.12,CSH,8.5 +VTS,1,1,900,1.46,CSH,11 +VTS,1,1,540,2.2,CRD,9 +VTS,1,1,960,3.61,CSH,14 +VTS,1,1,1140,4.89,CRD,17 +VTS,1,2,1200,5.02,CRD,18 +VTS,1,3,720,2.27,CSH,11 +VTS,1,2,300,1.11,CSH,5.5 +VTS,1,2,720,2.47,CSH,10.5 +VTS,1,1,960,3.2,CSH,14 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,840,2.4,CRD,11.5 +VTS,1,4,480,1.64,CSH,8.5 +VTS,1,1,1020,8.97,CRD,26 +VTS,1,1,300,0.64,CSH,5.5 +VTS,1,1,720,2.39,CRD,11 +VTS,1,1,720,1.47,CSH,9 +VTS,1,1,1080,0.64,CRD,11.5 +VTS,1,1,660,5.18,CSH,16.5 +VTS,1,2,660,2.38,CRD,10 +VTS,1,1,360,0.62,CSH,6 +VTS,1,3,960,3.39,CSH,14 +VTS,1,1,900,5.84,CRD,19 +VTS,1,1,780,2.25,CSH,10.5 +VTS,1,1,960,2.9,CSH,13.5 +VTS,1,1,840,2.22,CSH,10.5 +VTS,1,1,420,1.02,CRD,6 +VTS,3,1,1680,17.51,CSH,64.5 +VTS,1,1,240,1.55,CRD,6.5 +VTS,1,1,600,1.64,CRD,9 +VTS,2,1,1560,18,CSH,52 +VTS,1,1,780,3.15,CRD,12.5 +VTS,1,2,660,1.86,CSH,9.5 +VTS,1,1,360,1.1,CRD,6 +VTS,1,1,180,0.47,CSH,4 +VTS,1,1,1020,10.63,CRD,30 +VTS,1,2,660,2.17,CSH,9.5 +VTS,1,1,240,0.63,CSH,5 +VTS,1,1,1080,6.49,CSH,21.5 +VTS,1,1,600,1.92,CSH,9.5 +VTS,1,1,420,1.11,CRD,7 +VTS,1,1,1260,4.28,CRD,17.5 +VTS,1,1,480,0.77,CRD,6 +VTS,1,3,420,1.08,CRD,6.5 +VTS,1,1,1080,2.96,CRD,13.5 +VTS,1,1,780,1.78,CRD,10.5 +VTS,1,1,780,2.74,CRD,11.5 +VTS,1,1,720,3.64,CRD,13 +VTS,1,1,720,1.64,CRD,9.5 +VTS,1,1,240,0.69,CSH,5 +VTS,1,1,180,1.33,CSH,5.5 +VTS,1,1,600,2.72,CSH,10.5 +VTS,1,1,780,2.73,CRD,12 +VTS,1,1,660,2.38,CSH,10 +VTS,1,1,180,0.42,CSH,4 +VTS,1,1,600,7.24,CRD,20.5 +VTS,1,1,600,0.84,CSH,7.5 +VTS,1,1,1080,4.62,CRD,17 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,720,2.92,CRD,12 +VTS,1,1,420,1.34,CRD,7.5 +VTS,1,1,180,0.5,CSH,4 +VTS,1,1,900,4.3,CSH,15 +VTS,1,1,300,1.6,CRD,7 +VTS,1,1,360,0.91,CRD,6 +VTS,1,1,540,0.97,CRD,7.5 +VTS,1,1,360,1.53,CSH,7 +VTS,1,1,1080,5.76,CRD,19 +VTS,1,1,600,2.14,CRD,9 +VTS,1,2,420,1.25,CRD,7 +VTS,1,1,420,1.9,CSH,8 +VTS,1,4,180,0.63,CSH,4.5 +VTS,1,1,660,2.38,CRD,10 +VTS,1,1,720,2.9,CRD,12 +VTS,1,1,420,1.24,CRD,7 +VTS,1,1,420,1.58,CRD,7.5 +VTS,1,1,540,2.52,CSH,10 +VTS,1,1,360,1.26,CSH,7 +VTS,1,1,300,0.58,CRD,5 +VTS,1,2,960,2.64,CSH,12.5 +VTS,1,1,420,1.34,CSH,7 +VTS,2,3,2400,14.41,CSH,52 +VTS,1,2,540,1.26,CSH,8 +VTS,1,2,360,1.37,CSH,6.5 +VTS,1,1,480,1.62,CRD,8 +VTS,1,1,120,0.64,CSH,4 +VTS,1,3,240,0.63,CRD,5 +VTS,1,1,600,0.91,CSH,8 +VTS,1,1,240,0.58,CRD,4.5 +VTS,1,1,1260,3.71,CRD,16 +VTS,1,1,780,2.65,CSH,11.5 +VTS,1,1,720,8.13,CSH,23 +VTS,1,1,960,2.94,CRD,13.5 +VTS,1,2,600,5.7,CSH,17 +VTS,1,1,420,1.42,CRD,7.5 +VTS,1,1,660,2.13,CRD,9.5 +VTS,1,1,300,0.63,CSH,5 +VTS,1,2,480,1.71,CRD,8.5 +VTS,1,1,60,0.27,CRD,3.5 +VTS,1,1,300,0.52,CSH,5.5 +VTS,1,1,360,0.96,CSH,6 +VTS,1,1,480,2.3,CSH,9.5 +VTS,1,1,480,2.4,CRD,9.5 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,2,420,1.63,CSH,7 +VTS,1,1,300,1.17,CSH,6.5 +VTS,1,2,60,0,CSH,2.5 +VTS,1,2,480,0.96,CSH,7 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,720,1.59,CRD,9.5 +VTS,1,1,1500,5.06,CRD,20 +VTS,1,2,780,2.17,CRD,10.5 +VTS,1,1,360,0.56,CRD,5.5 +VTS,1,1,600,2.01,CRD,9.5 +VTS,1,1,420,1.09,CSH,6.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,660,1.93,CRD,9.5 +VTS,1,2,900,6.88,CRD,21.5 +VTS,1,1,420,1.64,CRD,7.5 +VTS,1,1,1440,3.82,CRD,17.5 +VTS,1,1,600,1.49,CRD,8 +VTS,1,3,480,0.86,CSH,6.5 +VTS,1,1,1560,7.81,CRD,25 +VTS,1,2,480,1.35,CRD,7.5 +VTS,1,1,360,1.31,CSH,7 +VTS,1,1,660,1.71,CSH,9.5 +VTS,1,1,300,0.78,CRD,6 +VTS,1,1,1020,5.31,CSH,18.5 +VTS,1,1,840,3.78,CSH,14 +VTS,1,1,960,3.94,CRD,15 +VTS,1,1,660,4.86,CRD,15.5 +VTS,1,1,660,1.34,CRD,9 +VTS,1,1,480,2.44,CRD,9 +VTS,1,1,240,0.81,CSH,5.5 +VTS,1,1,780,4.15,CSH,14 +VTS,1,1,540,1.79,CRD,8.5 +VTS,1,1,240,0.85,CSH,5 +VTS,1,1,480,4.1,CRD,14 +VTS,1,1,1560,8.46,CRD,27.5 +VTS,1,1,120,0.35,CRD,3.5 +VTS,1,1,780,3.38,CRD,13 +VTS,1,1,420,1.66,CSH,7.5 +VTS,1,1,300,0.71,CRD,5 +VTS,1,1,60,0.78,CSH,4 +VTS,1,1,540,1.22,CRD,7.5 +VTS,1,1,240,0.92,CRD,5.5 +VTS,1,1,420,2.16,CRD,8.5 +VTS,1,1,600,3.28,CSH,12 +VTS,1,1,1320,11.27,CRD,31.5 +VTS,1,1,1800,6.96,CRD,26.5 +VTS,1,1,600,2.47,CRD,10 +VTS,1,1,900,9,CRD,26 +VTS,1,1,480,1.23,CRD,7.5 +VTS,1,2,600,1.63,CSH,8.5 +VTS,1,1,1020,4.4,CRD,16.5 +VTS,1,1,480,1.05,CSH,7 +VTS,1,1,540,2.01,CSH,9 +VTS,1,1,660,1.41,CSH,8.5 +VTS,1,1,60,0.36,CSH,3.5 +VTS,1,1,840,3,CRD,13.5 +VTS,1,1,600,1.86,CRD,9 +VTS,1,1,420,0.72,CSH,6 +VTS,1,1,720,1.62,CSH,9 +VTS,1,1,1140,1.29,CSH,12.5 +VTS,1,1,300,0.76,CSH,5 +VTS,1,1,300,0.68,CRD,5.5 +VTS,1,1,420,1.58,CSH,7 +VTS,1,1,2340,7.46,CSH,29 +VTS,1,1,180,0.51,CSH,4.5 +VTS,1,1,360,0.86,CSH,6 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,480,1.12,CRD,7.5 +VTS,1,1,540,1.26,CRD,8 +VTS,1,1,780,2.34,CRD,11.5 +VTS,1,1,480,1.14,CSH,7.5 +VTS,1,1,840,2.47,CSH,12 +VTS,1,1,2400,12.32,CRD,40.5 +VTS,1,1,720,2.57,CRD,11.5 +VTS,1,1,420,1.75,CRD,8 +VTS,1,4,600,1.86,CRD,8.5 +VTS,1,1,660,2.74,CSH,11.5 +VTS,1,1,1380,4.63,CRD,19 +VTS,1,3,840,1.46,CSH,10 +VTS,1,2,720,1.89,CRD,9.5 +VTS,1,1,660,1.6,CRD,9 +VTS,1,1,960,3.21,CRD,13.5 +VTS,1,1,360,1.14,CRD,7 +VTS,1,1,240,0.75,CSH,4.5 +VTS,1,1,840,4.77,CSH,16.5 +VTS,1,3,900,5.81,CRD,18.5 +VTS,1,1,960,6.65,CSH,21 +VTS,1,2,540,1.58,CSH,8 +VTS,1,3,120,0.56,CSH,4 +VTS,1,1,540,2.54,CRD,10 +VTS,1,1,840,3.21,CRD,13 +VTS,1,2,1200,3.84,CSH,16 +VTS,1,3,300,1.19,CSH,6 +VTS,1,1,300,0.54,CRD,5 +VTS,1,3,420,1.22,CRD,7 +VTS,1,1,180,0.45,CSH,4.5 +VTS,1,1,300,0.66,CRD,5 +VTS,1,2,480,1.16,CSH,7.5 +VTS,1,3,1560,10.82,CRD,33 +VTS,1,1,1560,9.22,CRD,29 +VTS,1,1,1140,4.03,CRD,15.5 +VTS,1,1,420,1.55,CRD,7 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,3,660,1.57,CRD,9 +VTS,1,1,960,5.26,CRD,18 +VTS,1,1,540,2.51,CRD,9 +VTS,1,1,540,2.7,CRD,10 +VTS,1,1,720,1.87,CSH,10 +VTS,1,3,1020,4.65,CRD,18 +VTS,1,3,1740,8.62,CRD,30 +VTS,1,1,240,0.39,CSH,4.5 +VTS,1,1,780,1.66,CRD,10 +VTS,1,1,660,1.34,CRD,9 +VTS,1,1,1020,4.36,CRD,16.5 +VTS,1,1,540,1.05,CSH,7.5 +VTS,1,1,960,3.15,CRD,13 +VTS,1,1,420,1.38,CRD,7 +VTS,1,2,540,2.16,CRD,10 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,60,0.33,CRD,3 +VTS,1,1,600,5.17,CRD,16 +VTS,1,4,720,2.86,CRD,11.5 +VTS,1,1,1320,4.22,CRD,18 +VTS,1,1,180,0.5,CSH,4 +VTS,1,1,600,1.95,CSH,9 +VTS,1,1,600,1.57,CRD,8.5 +VTS,1,1,1140,5.23,CRD,19.5 +VTS,1,1,900,3.55,CRD,13.5 +VTS,1,1,420,0.78,CRD,6 +VTS,1,1,480,1.08,CRD,7.5 +VTS,1,1,360,0.83,CRD,5.5 +VTS,1,1,660,5.48,CRD,17 +VTS,1,1,240,0.58,CSH,5 +VTS,1,1,660,0.92,CRD,8 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,3,840,2.41,CRD,11.5 +VTS,1,1,480,0.99,CSH,7 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,300,0.68,CRD,5.5 +VTS,1,1,1200,0.86,CRD,13 +VTS,1,1,1020,3.62,CSH,14.5 +VTS,1,1,600,2.54,CSH,10.5 +VTS,1,1,960,1.86,CRD,11.5 +VTS,1,2,720,1.81,CSH,10 +VTS,1,2,480,2.4,CRD,9.5 +VTS,1,1,660,1.19,CSH,8.5 +VTS,1,1,780,1.96,CSH,11 +VTS,1,1,1140,9.78,CRD,28.5 +VTS,1,1,660,2.97,CRD,11.5 +VTS,1,1,420,0.8,CRD,6.5 +VTS,1,1,540,1.41,CSH,8 +VTS,1,2,300,0.83,CSH,5.5 +VTS,1,1,780,2.13,CRD,10.5 +VTS,1,2,600,1.59,CRD,8 +VTS,1,2,600,0.6,CSH,7.5 +VTS,1,2,540,0.83,CRD,7.5 +VTS,1,1,300,1.09,CRD,6 +VTS,1,1,420,1.11,CSH,7 +VTS,1,2,900,2.6,CRD,12 +VTS,1,1,780,1.59,CRD,10 +VTS,1,1,960,5.4,CSH,18 +VTS,1,1,480,2.26,CRD,9.5 +VTS,1,1,720,3.28,CSH,12 +VTS,1,1,300,1.28,CSH,7 +VTS,1,1,840,2.86,CSH,12 +VTS,1,1,420,0.91,CSH,6.5 +VTS,1,1,1020,2.84,CSH,14 +VTS,1,1,420,0.9,CRD,6 +VTS,1,1,780,2,CRD,10.5 +VTS,1,1,540,1.08,CSH,7.5 +VTS,1,3,1140,2.57,CRD,14 +VTS,1,1,720,4.96,CSH,16.5 +VTS,1,1,300,0.91,CRD,6 +VTS,1,2,180,0.79,CSH,5 +VTS,1,1,180,0.45,CRD,4 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,420,1.04,CRD,7 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,1080,3.62,CSH,15.5 +VTS,1,1,360,1.29,CSH,7 +VTS,1,1,1440,3.28,CSH,16.5 +VTS,1,2,660,2.02,CRD,10 +VTS,1,1,780,2.49,CRD,11 +VTS,1,1,240,0.76,CSH,5 +VTS,1,1,180,0.51,CRD,4 +VTS,1,3,840,2.73,CRD,11.5 +VTS,1,1,300,0.82,CRD,5 +VTS,1,1,840,4.85,CRD,16.5 +VTS,1,2,1140,2.41,CRD,13.5 +VTS,1,1,840,2.56,CSH,11.5 +VTS,1,1,960,5.44,CRD,19 +VTS,1,2,1140,5.87,CSH,20 +VTS,1,1,540,1.93,CRD,8.5 +VTS,1,1,360,1.2,CSH,6 +VTS,1,1,300,0.66,CSH,5.5 +VTS,1,2,540,1.09,CRD,8 +VTS,1,1,720,1.11,CRD,9 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,480,2.19,CSH,9 +VTS,1,1,1080,9.58,CRD,27.5 +VTS,1,1,1020,2.19,CRD,12.5 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,180,0.75,CRD,5 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,1500,6.51,CRD,24 +VTS,1,1,600,1.24,CRD,8 +VTS,1,4,480,0.95,CRD,6.5 +VTS,1,1,540,1.7,CRD,8.5 +VTS,1,1,660,0.81,CSH,4.5 +VTS,1,1,3960,11.3,CRD,47 +VTS,1,1,900,5.91,CSH,19 +VTS,1,2,660,1.36,CRD,9 +VTS,1,1,780,1.82,CSH,10 +VTS,1,1,360,0.86,CRD,6 +VTS,1,1,900,2.81,CRD,12.5 +VTS,1,1,540,1.3,CRD,7.5 +VTS,1,2,1020,2.3,CRD,12.5 +VTS,1,1,120,0.53,CSH,4 +VTS,1,2,480,3.05,CRD,10.5 +VTS,1,2,1140,8.83,CSH,26.5 +VTS,1,1,1140,4.5,CRD,17 +VTS,1,2,360,1.16,CRD,7 +VTS,1,2,720,1.36,CRD,9.5 +VTS,1,1,780,1.64,CRD,9.5 +VTS,1,1,660,2.56,CSH,11 +VTS,1,2,300,0.88,CRD,5 +VTS,1,2,360,1.89,CRD,7.5 +VTS,1,1,600,3.49,CSH,12 +VTS,1,1,900,3.79,CRD,14 +VTS,1,1,1560,5.45,CSH,21.5 +VTS,1,1,1080,2.14,CSH,13 +VTS,1,2,1140,9.71,CSH,28 +VTS,1,1,420,0.68,CSH,6.5 +VTS,1,3,420,1.26,CRD,7 +VTS,1,1,660,1.45,CSH,9 +VTS,1,1,540,1.61,CRD,8.5 +VTS,1,1,660,4.25,CSH,14.5 +VTS,1,2,360,1.08,CRD,6 +VTS,1,1,1020,5.99,CSH,19 +VTS,1,1,720,1.36,CRD,9 +VTS,1,3,1260,2.73,CRD,15 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,660,4.63,CSH,15.5 +VTS,1,2,1380,7.27,CSH,24.5 +VTS,1,1,120,0.3,CRD,3.5 +VTS,1,1,1320,1.23,CRD,14 +VTS,4,5,2340,7.4,CSH,32.5 +VTS,1,5,240,0.49,CSH,5 +VTS,1,5,360,1.5,CSH,6.5 +VTS,1,5,300,1.31,CRD,6 +VTS,1,5,1140,3.57,CRD,15 +VTS,1,5,1320,2.46,CSH,14.5 +VTS,1,1,1500,10.12,CRD,30.5 +VTS,1,1,1200,4.69,CSH,18 +VTS,1,1,840,1.72,CRD,10.5 +VTS,1,1,480,0.91,CSH,6.5 +VTS,5,2,0,0,CRD,17 +VTS,1,1,600,1.37,CSH,8 +VTS,1,1,120,1.14,CSH,5 +VTS,1,3,480,2.02,CSH,9 +VTS,1,1,1740,3.81,CRD,20 +VTS,1,1,300,1.09,CSH,5.5 +VTS,1,1,840,1.18,CSH,9.5 +VTS,1,1,1140,3.97,CRD,15.5 +VTS,1,1,180,0.38,CRD,4 +VTS,1,1,840,4.41,CSH,16 +VTS,1,5,360,0.99,CRD,6 +VTS,1,5,300,1.56,CRD,6.5 +VTS,1,5,180,0.93,CSH,5 +VTS,1,5,240,0.88,CRD,5 +VTS,1,5,540,2.36,CRD,9 +VTS,1,5,420,1.36,CRD,7 +VTS,1,5,660,2.87,CSH,10.5 +VTS,1,5,240,0.86,CSH,5.5 +VTS,1,5,360,1.32,CSH,6.5 +VTS,1,5,1080,3.16,CRD,14 +VTS,1,5,360,0.47,CSH,5 +VTS,1,5,420,0.9,CSH,6.5 +VTS,1,5,840,3.26,CSH,12.5 +VTS,1,1,1440,7.91,CRD,26 +VTS,1,1,780,2,CSH,10.5 +VTS,1,1,2640,6.25,CRD,29.5 +VTS,1,4,1200,4.33,CSH,17.5 +VTS,1,1,900,2.99,CSH,13 +VTS,1,5,420,1.37,CRD,7 +VTS,1,5,1140,3.29,CSH,14.5 +VTS,1,5,360,1.14,CSH,6.5 +VTS,1,5,2520,16.19,CRD,48.5 +VTS,1,5,300,1.13,CSH,6.5 +VTS,1,5,600,2.11,CSH,9.5 +VTS,1,5,300,1.23,CSH,6 +VTS,1,5,660,1.7,CSH,9.5 +VTS,1,5,300,0.7,CSH,5 +VTS,1,5,180,0.41,CSH,3.5 +VTS,1,5,840,3.06,CRD,12 +VTS,1,5,360,0.46,CRD,5 +VTS,1,5,120,0.7,CSH,4 +VTS,1,5,540,1.7,CRD,8 +VTS,1,5,660,2.13,CRD,9.5 +VTS,1,5,840,1.9,CSH,10.5 +VTS,1,5,540,1.44,CRD,8 +VTS,1,5,1380,8.17,CSH,25.5 +VTS,1,5,540,0.91,CSH,7 +VTS,1,5,540,1.45,CRD,8 +VTS,1,5,420,0.92,CSH,6 +VTS,1,1,180,0.44,CRD,4 +VTS,1,1,300,1.12,CRD,6 +VTS,1,1,480,1.21,CRD,7 +VTS,1,1,240,0.83,CRD,5 +VTS,1,1,780,2.17,CRD,10.5 +VTS,1,2,600,1.02,CSH,7.5 +VTS,1,1,480,1.01,CSH,7.5 +VTS,1,2,300,0.65,CRD,5 +VTS,1,1,600,1.54,CRD,8.5 +VTS,1,2,840,4.78,CSH,16 +VTS,1,1,2700,7.23,CRD,35 +VTS,1,1,780,3.58,CRD,13 +VTS,1,2,1620,10.07,CSH,32 +VTS,1,1,600,1.8,CSH,9 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,1,960,2.62,CRD,12.5 +VTS,1,2,840,0.91,CRD,9 +VTS,1,1,600,2.63,CRD,10.5 +VTS,1,1,420,1.22,CRD,7 +VTS,1,1,300,0.44,CRD,4.5 +VTS,1,1,300,0.55,CRD,5 +VTS,1,1,600,0.91,CRD,8 +VTS,1,5,540,2.09,CSH,9 +VTS,1,5,180,0.61,CRD,4.5 +VTS,1,5,420,1.42,CRD,7 +VTS,1,5,120,0.57,CRD,3.5 +VTS,1,2,1140,5.21,CRD,19 +VTS,1,1,2100,12,CSH,36 +VTS,1,1,960,3.9,CSH,15 +VTS,1,1,660,4.17,CSH,14.5 +VTS,1,2,600,1.3,CSH,8 +VTS,1,1,1260,3.04,CRD,15.5 +VTS,1,1,840,1.58,CSH,10.5 +VTS,1,1,660,3.39,CRD,12.5 +VTS,1,1,780,1.24,CRD,9.5 +VTS,1,3,1740,2.37,CSH,18.5 +VTS,1,1,1140,3.3,CRD,15 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,1080,7.2,CSH,23 +VTS,1,1,720,3.65,CSH,13.5 +VTS,1,2,60,0.54,CRD,3.5 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,720,2.31,CRD,10.5 +VTS,1,2,240,1.08,CRD,5.5 +VTS,1,1,240,0.94,CRD,5.5 +VTS,1,1,660,1.27,CSH,8.5 +VTS,1,1,780,2.14,CSH,11 +VTS,1,1,1620,4.48,CRD,20 +VTS,1,1,840,7.74,CSH,23 +VTS,1,1,480,1.26,CRD,7.5 +VTS,1,1,420,1.42,CSH,7 +VTS,1,1,660,1.32,CRD,9 +VTS,1,1,780,1.69,CRD,9.5 +VTS,1,1,420,0.92,CRD,6 +VTS,1,2,360,1.13,CSH,6 +VTS,1,1,480,1.44,CSH,7.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,900,1.83,CRD,11 +VTS,1,1,360,1.36,CSH,7.5 +VTS,1,2,840,3.7,CSH,13.5 +VTS,1,1,600,2.52,CSH,10 +VTS,1,1,540,1.24,CRD,8 +VTS,1,5,660,3.57,CRD,12 +VTS,1,5,360,2.28,CRD,8 +VTS,1,5,420,1.05,CSH,6.5 +VTS,1,5,480,1.4,CSH,7 +VTS,1,5,1140,3.6,CSH,15.5 +VTS,1,5,1020,2.61,CRD,13 +VTS,1,5,840,2.48,CSH,11 +VTS,1,5,240,0.57,CSH,4.5 +VTS,1,5,960,1.04,CSH,10.5 +VTS,1,5,540,1.43,CSH,8 +VTS,1,5,480,1.55,CRD,8 +VTS,1,5,720,0.81,CSH,8.5 +VTS,1,5,1200,5.11,CRD,18.5 +VTS,1,5,360,1.12,CRD,6 +VTS,1,5,1140,3.97,CRD,16 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,600,2.04,CSH,9.5 +VTS,1,1,420,1.54,CSH,7 +VTS,1,1,840,2.76,CSH,11.5 +VTS,1,1,660,2.32,CRD,10.5 +VTS,1,1,960,6.31,CSH,20 +VTS,1,1,360,3.45,CSH,11.5 +VTS,1,1,480,1.33,CSH,7.5 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,1,1440,9.71,CRD,30 +VTS,1,1,1440,6.7,CRD,23.5 +VTS,1,1,300,2.09,CRD,8 +VTS,1,1,60,0.25,CSH,3 +VTS,1,1,540,3.39,CSH,11 +VTS,1,2,240,0.92,CRD,5 +VTS,1,4,240,0.75,CSH,5 +VTS,1,1,180,0.4,CRD,4 +VTS,1,1,660,1.73,CSH,9.5 +VTS,1,1,480,1.86,CRD,8.5 +VTS,1,1,900,5.36,CSH,18 +VTS,1,1,900,3.59,CSH,14.5 +VTS,1,1,180,0.76,CRD,5 +VTS,1,1,540,1.44,CSH,8 +VTS,1,2,1200,3.38,CSH,15 +VTS,1,1,660,2.56,CSH,10.5 +VTS,1,1,540,3.47,CRD,12 +VTS,1,2,1080,5.51,CSH,20 +VTS,1,1,720,2.72,CRD,11 +VTS,1,1,420,0.95,CRD,6 +VTS,1,1,1680,7.07,CSH,26.5 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,2,420,1.15,CSH,7 +VTS,1,1,60,0.33,CRD,3.5 +VTS,1,1,780,1.2,CRD,9.5 +VTS,1,1,960,0.96,CRD,10.5 +VTS,1,2,1200,2.53,CSH,14.5 +VTS,1,1,360,0.56,CSH,5.5 +VTS,1,2,1320,10.51,CRD,30.5 +VTS,1,3,1500,10.84,CRD,33.5 +VTS,1,3,780,2.47,CRD,11 +VTS,1,1,1740,5.77,CRD,23.5 +VTS,1,2,1020,1.63,CSH,11.5 +VTS,1,1,240,1.2,CSH,5.5 +VTS,1,1,420,1.92,CSH,8.5 +VTS,1,1,1020,5.46,CRD,18.5 +VTS,1,1,240,0.74,CRD,5 +VTS,1,1,60,0.36,CSH,3.5 +VTS,1,2,360,1.02,CRD,6 +VTS,1,1,1020,4.46,CSH,16 +VTS,1,1,1020,3.31,CSH,14.5 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,2,540,2.33,CRD,9.5 +VTS,1,1,720,1.38,CSH,9.5 +VTS,1,1,900,2.44,CSH,12 +VTS,1,1,780,2.09,CRD,10.5 +VTS,1,1,1020,2.66,CRD,13 +VTS,1,1,540,2.16,CRD,9 +VTS,1,1,120,0.45,CSH,3.5 +VTS,1,1,720,3.85,CSH,13 +VTS,1,4,780,1.1,CRD,9 +VTS,1,1,180,0.45,CSH,4 +VTS,1,1,420,0.69,CRD,6 +VTS,1,2,960,1.44,CRD,11 +VTS,1,1,780,0.93,CSH,9 +VTS,1,2,360,0.72,CRD,6 +VTS,1,2,300,0.78,CSH,5.5 +VTS,1,1,1080,4.41,CRD,16.5 +VTS,1,3,600,2.26,CRD,9.5 +VTS,1,1,360,1.48,CRD,7 +VTS,1,1,1200,3.43,CSH,15.5 +VTS,1,1,2340,15.36,CRD,45 +VTS,1,1,180,0.84,CSH,5 +VTS,1,1,480,1.04,CRD,7 +VTS,1,5,420,1.98,CRD,8.5 +VTS,1,5,780,2.57,CSH,11.5 +VTS,1,5,360,0.56,CRD,5 +VTS,1,5,720,1.5,CRD,9.5 +VTS,1,1,660,3.53,CRD,12.5 +VTS,1,1,780,3.49,CSH,13 +VTS,1,2,1080,4.73,CSH,18 +VTS,1,3,660,1.15,CSH,8 +VTS,1,1,900,1.83,CSH,11.5 +VTS,1,3,1140,1.49,CRD,12.5 +VTS,1,1,780,1.35,CSH,9.5 +VTS,1,1,540,2.26,CSH,9 +VTS,1,4,1020,1.91,CRD,12 +VTS,1,1,900,3.01,CRD,13 +VTS,1,1,240,0.38,CSH,5 +VTS,1,5,600,2.22,CRD,9.5 +VTS,1,5,540,2.5,CRD,9.5 +VTS,2,5,2100,19.99,CRD,52 +VTS,1,5,300,0.92,CRD,5.5 +VTS,1,5,1140,3.08,CSH,14.5 +VTS,1,5,240,0.41,CSH,4 +VTS,1,5,420,0.9,CSH,6.5 +VTS,1,5,480,1.6,CSH,7.5 +VTS,1,1,180,0,CSH,2.5 +VTS,1,5,300,0.61,CSH,5 +VTS,1,5,540,1.45,CSH,8 +VTS,1,5,720,2.22,CSH,10.5 +VTS,1,5,480,1.67,CRD,7.5 +VTS,1,5,840,3.3,CRD,12.5 +VTS,1,5,360,1.25,CRD,6.5 +VTS,1,5,1080,2.24,CSH,13 +VTS,1,5,360,0.81,CSH,5.5 +VTS,1,5,540,1.49,CRD,8 +VTS,1,5,60,0,CRD,2.5 +VTS,1,5,300,0.55,CRD,5 +VTS,1,5,1020,2.5,CSH,13 +VTS,1,5,480,1.64,CRD,8 +VTS,1,5,480,1.32,CSH,7 +VTS,1,5,120,0.25,CRD,3 +VTS,1,5,540,1.63,CRD,8 +VTS,1,5,720,2.2,CRD,10 +VTS,1,5,240,0.9,CSH,5 +VTS,1,5,420,1.16,CSH,6.5 +VTS,1,5,240,1.06,CRD,5.5 +VTS,1,5,960,2.75,CRD,12.5 +VTS,1,5,600,1.97,CSH,9 +VTS,1,5,240,0.91,CRD,5 +VTS,1,5,1320,3.97,CRD,17.5 +VTS,1,5,600,3.12,CSH,11 +VTS,1,5,540,1.4,CRD,8 +VTS,1,5,660,0.88,CSH,8.5 +VTS,1,5,540,1.73,CRD,8 +VTS,1,5,600,0.71,CSH,7.5 +VTS,1,5,780,2.34,CRD,11 +VTS,1,5,240,0.8,CRD,5 +VTS,1,5,360,2.16,CRD,8 +VTS,1,5,360,1.49,CRD,6.5 +VTS,1,5,600,1.22,CRD,8 +VTS,1,5,720,2.07,CSH,10.5 +VTS,1,5,780,2.64,CRD,11 +VTS,1,5,180,0.48,CSH,4 +VTS,1,5,300,0.7,CSH,5 +VTS,1,5,540,1.4,CRD,8 +VTS,1,5,660,2.11,CRD,10 +VTS,1,5,1140,3.02,CSH,14.5 +VTS,1,5,1140,2.76,CRD,14.5 +VTS,1,5,480,1.42,CRD,7.5 +VTS,1,5,1020,2.05,CSH,11.5 +VTS,1,5,1140,3,CSH,14 +VTS,1,5,780,2.08,CRD,10 +VTS,1,5,300,1.1,CSH,6 +VTS,1,5,360,0.57,CRD,5.5 +VTS,1,5,420,1.21,CRD,6.5 +VTS,1,5,540,1.01,CRD,7.5 +VTS,1,5,780,1.63,CRD,10.5 +VTS,1,5,600,1.63,CSH,8.5 +VTS,1,5,540,2.64,CSH,10.5 +VTS,1,6,660,1.23,CRD,8.5 +VTS,1,5,540,2.31,CRD,10 +VTS,1,5,1260,4.9,CRD,17.5 +VTS,1,5,480,1.58,CSH,6.5 +VTS,1,5,900,2.72,CRD,12.5 +VTS,1,5,480,1.05,CSH,7 +VTS,1,5,360,1.3,CRD,6.5 +VTS,1,5,900,2.3,CSH,12 +VTS,1,5,240,0.74,CSH,5 +VTS,1,5,480,1.16,CSH,7.5 +VTS,1,5,480,1.03,CSH,7 +VTS,1,5,1320,2.67,CSH,15 +VTS,1,5,900,1.98,CRD,11.5 +VTS,1,5,780,1.76,CRD,10.5 +VTS,1,5,240,0.6,CSH,5 +VTS,1,5,960,2.64,CRD,12.5 +VTS,1,5,420,0.77,CRD,6 +VTS,1,5,240,1.23,CSH,6.5 +VTS,1,6,480,1.32,CSH,7 +VTS,1,5,1080,8.11,CSH,24 +VTS,1,5,960,3.07,CSH,13.5 +VTS,1,5,300,0.61,CSH,5 +VTS,1,5,540,2.31,CRD,9.5 +VTS,1,5,1200,2.61,CSH,14 +VTS,1,5,900,1.5,CSH,10.5 +VTS,1,5,360,0.51,CSH,5.5 +VTS,1,5,540,1.59,CRD,8 +VTS,1,5,360,0.95,CSH,6.5 +VTS,1,5,180,0.95,CSH,5 +VTS,1,5,1620,7.28,CRD,26 +VTS,1,5,1080,2.98,CRD,13.5 +VTS,1,5,840,4.3,CSH,14.5 +VTS,1,5,60,0.26,CSH,3 +VTS,1,5,180,1.22,CSH,5.5 +VTS,1,5,900,2.29,CRD,11 +VTS,1,5,540,2.02,CRD,9 +VTS,1,5,240,0.31,CSH,4.5 +VTS,1,5,660,2.05,CSH,9.5 +VTS,1,5,540,1.2,CRD,7.5 +VTS,1,5,600,1.33,CRD,8.5 +VTS,1,5,1140,1.46,CRD,12.5 +VTS,1,5,1200,2.82,CRD,14 +VTS,1,5,360,0.64,CSH,5.5 +VTS,1,5,540,0.8,CRD,7 +VTS,1,5,480,1.1,CSH,7 +VTS,1,5,240,1.08,CSH,5.5 +VTS,1,5,900,3.44,CSH,13.5 +VTS,1,5,3120,11.3,CRD,43 +VTS,1,5,480,0.72,CSH,7 +VTS,1,5,240,0.9,CSH,5 +VTS,1,5,1320,4.06,CRD,17 +VTS,1,5,960,3.3,CSH,13.5 +VTS,1,5,900,1.93,CSH,11 +VTS,1,5,420,2.11,CSH,8.5 +VTS,1,5,1380,6.5,CSH,22.5 +VTS,1,5,120,0.41,CSH,3.5 +VTS,1,5,240,0.45,CSH,4 +VTS,1,5,600,1.25,CSH,8 +VTS,1,5,1320,3.57,CRD,16 +VTS,1,5,1200,5.87,CRD,20.5 +VTS,1,5,1080,2.69,CSH,13 +VTS,1,5,180,0.57,CSH,4 +VTS,1,5,780,2.79,CRD,11.5 +VTS,1,5,660,1.66,CSH,9 +VTS,1,5,660,2.63,CRD,11.5 +VTS,1,5,540,2.08,CSH,9 +VTS,1,5,600,1.83,CSH,9 +VTS,1,5,360,0.91,CSH,6 +VTS,1,5,180,0.41,CRD,4 +VTS,1,5,1260,3.14,CSH,15 +VTS,1,5,1920,3.56,CSH,20 +VTS,1,5,840,1.86,CRD,10.5 +VTS,1,5,1200,7.37,CRD,23 +VTS,1,5,1200,2.65,CSH,14.5 +VTS,1,5,840,4.01,CRD,14 +VTS,1,5,300,0.76,CRD,5 +VTS,1,5,360,1.03,CSH,6 +VTS,1,5,960,1.84,CRD,11.5 +VTS,1,5,420,1,CRD,6 +VTS,1,5,840,3.64,CRD,13 +VTS,1,5,600,1.99,CSH,9.5 +VTS,1,5,180,1.09,CSH,5 +VTS,1,5,480,1.19,CSH,7 +VTS,1,5,660,1.6,CSH,9 +VTS,1,5,840,1.66,CSH,9.5 +VTS,1,5,660,1.62,CSH,8.5 +VTS,1,5,600,1.58,CSH,8 +VTS,1,5,360,0.94,CSH,5.5 +VTS,1,5,1140,3.46,CRD,14.5 +VTS,1,5,840,2,CRD,10.5 +VTS,1,5,1140,2.86,CRD,14.5 +VTS,1,5,420,0.7,CRD,5.5 +VTS,1,5,960,2.14,CSH,11.5 +VTS,1,5,660,2.62,CSH,10.5 +VTS,1,1,60,0,CRD,2.5 +VTS,1,5,180,0.47,CRD,4 +VTS,1,5,180,0.72,CRD,4.5 +VTS,1,5,1260,2.76,CRD,14.5 +VTS,1,5,600,3.1,CRD,11 +VTS,1,5,360,1.11,CSH,6.5 +VTS,1,5,420,1.05,CSH,6.5 +VTS,1,5,540,1.82,CRD,9 +VTS,1,5,180,0.67,CSH,4.5 +VTS,1,5,600,2.95,CRD,11 +VTS,1,5,720,2.09,CRD,10 +VTS,1,6,720,1.17,CRD,9 +VTS,1,5,480,1.1,CSH,7 +VTS,1,5,480,1.28,CRD,7 +VTS,1,5,1020,1.92,CRD,11.5 +VTS,1,5,780,1.14,CSH,9 +VTS,1,5,360,0.78,CRD,5.5 +VTS,1,5,1080,2.37,CRD,13 +VTS,1,5,600,0.97,CSH,8 +VTS,1,5,1140,7.21,CRD,22.5 +VTS,1,5,240,0.91,CSH,5 +VTS,1,5,180,0.73,CSH,4.5 +VTS,1,5,900,3.15,CRD,13 +VTS,1,5,360,0.81,CRD,6 +VTS,1,5,240,0.52,CSH,4.5 +VTS,1,5,900,2.06,CRD,11 +VTS,1,5,660,1.42,CRD,9 +VTS,1,5,2760,16.04,CSH,50 +VTS,1,5,480,1.4,CRD,8 +VTS,1,5,180,0.3,CSH,3.5 +VTS,1,5,540,2.22,CSH,9.5 +VTS,1,5,720,1.46,CSH,9.5 +VTS,1,5,180,0.83,CRD,4.5 +VTS,1,5,480,1.42,CRD,7.5 +VTS,1,5,540,1.27,CSH,8 +VTS,1,5,480,0.78,CSH,7 +VTS,1,5,1380,4.57,CRD,18.5 +VTS,1,5,600,1.91,CRD,9 +VTS,1,5,420,1.04,CSH,6.5 +VTS,1,5,360,1.08,CRD,6.5 +VTS,1,5,420,1.11,CSH,7 +VTS,1,1,480,1.4,CRD,7.5 +VTS,1,1,2040,6.04,CRD,25.5 +VTS,1,1,660,1.95,CSH,9.5 +VTS,1,2,420,0.92,CSH,6.5 +VTS,1,2,480,0.93,CRD,6.5 +VTS,1,2,780,2.18,CRD,10 +VTS,1,3,300,1.98,CSH,8 +VTS,1,1,480,1.08,CRD,7 +VTS,1,1,720,2.17,CRD,10.5 +VTS,1,1,1500,5.82,CRD,22.5 +VTS,1,1,360,1.53,CSH,7 +VTS,1,1,1320,4.52,CRD,18.5 +VTS,1,1,480,1.08,CSH,7 +VTS,1,1,720,2.01,CSH,11 +VTS,1,1,720,2.03,CSH,11 +VTS,1,1,780,1.8,CSH,10.5 +VTS,1,1,360,1.54,CSH,7 +VTS,1,1,540,1.45,CRD,8 +VTS,1,1,480,1.19,CSH,7 +VTS,1,1,900,2.62,CRD,12 +VTS,1,1,480,1,CSH,7 +VTS,1,1,540,2.11,CSH,8.5 +VTS,1,1,1020,2.77,CSH,13 +VTS,1,2,600,1.34,CRD,8.5 +VTS,1,1,420,1.89,CRD,7.5 +VTS,1,1,420,1.08,CSH,6 +VTS,1,1,1140,8.91,CRD,26.5 +VTS,1,1,540,0.72,CSH,7 +VTS,1,1,1560,11.58,CRD,35 +VTS,1,2,900,2.17,CRD,11.5 +VTS,1,2,300,1.07,CRD,6 +VTS,1,1,2220,11.84,CSH,37 +VTS,1,5,720,1.91,CSH,9.5 +VTS,1,5,360,1.38,CSH,7.5 +VTS,1,5,180,1.05,CSH,5 +VTS,1,5,120,0.21,CSH,3 +VTS,1,5,960,2.76,CSH,13 +VTS,1,5,720,1.69,CSH,9.5 +VTS,1,5,480,1.83,CSH,8.5 +VTS,1,5,1500,5.17,CRD,20 +VTS,1,5,1500,6.75,CRD,23.5 +VTS,1,5,480,0.98,CRD,7 +VTS,1,5,240,0.45,CSH,4 +VTS,1,5,360,0.89,CRD,6 +VTS,1,5,240,0.76,CSH,5 +VTS,1,5,720,2.63,CRD,11 +VTS,1,5,600,1.59,CRD,8.5 +VTS,1,5,360,1,CSH,5.5 +VTS,1,5,1500,3.78,CRD,18 +VTS,1,5,420,1.1,CSH,6.5 +VTS,1,5,600,1.73,CSH,9 +VTS,1,5,300,1.1,CSH,6.5 +VTS,1,5,480,0.94,CSH,6.5 +VTS,1,5,540,1.62,CRD,8 +VTS,1,5,300,0.79,CRD,5.5 +VTS,1,5,900,2.34,CRD,11.5 +VTS,1,5,420,0.76,CRD,6 +VTS,1,5,900,1.82,CRD,10.5 +VTS,1,5,240,0.38,CSH,4.5 +VTS,1,5,1080,2.5,CRD,13.5 +VTS,1,5,240,1.2,CSH,5.5 +VTS,1,5,600,1.81,CSH,9 +VTS,1,5,180,0.52,CRD,4.5 +VTS,1,5,900,4.81,CRD,17.5 +VTS,1,5,300,0.98,CSH,5.5 +VTS,1,5,1380,3.99,CRD,17.5 +VTS,1,5,660,1.56,CRD,9.5 +VTS,1,5,660,2.36,CRD,10 +VTS,1,5,360,1.15,CRD,6.5 +VTS,1,5,180,0.77,CSH,4.5 +VTS,1,5,540,1.11,CSH,7.5 +VTS,1,5,540,0.75,CRD,7.5 +VTS,1,5,480,1.23,CSH,7.5 +VTS,1,5,300,0.96,CRD,6 +VTS,1,5,420,0.71,CSH,6 +VTS,1,5,180,0.53,CSH,4.5 +VTS,1,5,360,1.03,CRD,6.5 +VTS,1,5,180,0.5,CSH,4 +VTS,1,5,1260,6.25,CRD,21.5 +VTS,1,5,1140,2.72,CRD,13.5 +VTS,1,5,3240,18.1,CRD,56 +VTS,1,5,420,0.95,CRD,6.5 +VTS,1,5,1620,5.05,CRD,22.5 +VTS,1,5,1620,2.43,CSH,17 +VTS,1,5,360,1.15,CRD,6.5 +VTS,2,5,1800,19.32,CRD,52 +VTS,1,5,540,1.99,CSH,9 +VTS,1,5,420,0.91,CSH,6.5 +VTS,1,5,420,1.4,CSH,7.5 +VTS,1,5,480,1.87,CRD,8 +VTS,1,5,600,2.76,CRD,10.5 +VTS,1,5,900,3.5,CSH,14 +VTS,1,5,480,1.63,CRD,8.5 +VTS,1,5,660,1.6,CRD,9.5 +VTS,1,5,600,1.36,CRD,8 +VTS,1,5,240,0.52,CRD,4.5 +VTS,1,5,300,0.93,CRD,5.5 +VTS,1,5,360,0.7,CSH,5.5 +VTS,1,5,840,1.67,CRD,10.5 +VTS,1,5,540,1.92,CRD,8.5 +VTS,1,5,660,0.82,CSH,8 +VTS,1,5,240,0.98,CRD,5.5 +VTS,1,5,180,0.18,CSH,4 +VTS,1,5,360,1.49,CSH,6.5 +VTS,1,5,600,2.57,CRD,10 +VTS,1,5,240,0.46,CSH,4.5 +VTS,1,5,180,0.98,CRD,5 +VTS,1,5,2580,7.52,CSH,32.5 +VTS,1,5,1080,1.51,CRD,12 +VTS,1,5,180,0.39,CSH,4 +VTS,1,5,300,1.33,CSH,6 +VTS,1,5,420,0.96,CRD,6.5 +VTS,1,5,660,2.35,CSH,10 +VTS,1,5,480,0.78,CSH,7 +VTS,1,6,420,0.5,CRD,6 +VTS,1,5,60,0.33,CRD,3 +VTS,1,5,240,0.99,CSH,5.5 +VTS,1,5,720,1.68,CRD,10 +VTS,1,5,360,1.31,CSH,7 +VTS,1,5,360,0.88,CSH,6 +VTS,1,5,420,1.4,CSH,7 +VTS,1,5,720,1.95,CSH,10 +VTS,1,5,420,0.91,CSH,6.5 +VTS,1,5,600,2.18,CRD,9.5 +VTS,1,5,660,2.3,CRD,10.5 +VTS,1,5,360,1.07,CSH,6 +VTS,1,5,720,3.35,CRD,12.5 +VTS,1,5,420,0.99,CSH,7 +VTS,1,5,360,1.32,CRD,6.5 +VTS,1,5,540,1.24,CRD,7.5 +VTS,1,5,1020,2.27,CRD,12.5 +VTS,1,5,480,1.32,CRD,8 +VTS,1,5,960,1.93,CRD,11.5 +VTS,1,5,1500,3.59,CSH,17 +VTS,1,5,180,0.76,CRD,5 +VTS,1,5,300,0.46,CRD,4.5 +VTS,1,5,120,0.45,CSH,4 +VTS,1,5,900,1.94,CRD,11.5 +VTS,1,5,720,2.04,CRD,10.5 +VTS,1,5,540,2.2,CRD,9.5 +VTS,1,5,300,0.79,CSH,5 +VTS,1,5,540,1.38,CRD,8 +VTS,1,5,600,1.77,CSH,9 +VTS,1,5,540,1.52,CRD,8 +VTS,1,5,600,1.14,CRD,8 +VTS,1,5,240,0.73,CRD,5.5 +VTS,1,5,660,1.1,CSH,8.5 +VTS,1,5,840,1.96,CRD,10.5 +VTS,1,5,300,0.4,CSH,5 +VTS,1,5,540,0.8,CRD,7.5 +VTS,1,5,360,1,CRD,6.5 +VTS,1,5,780,1.7,CSH,10 +VTS,1,5,900,1.82,CRD,11 +VTS,1,5,240,0.92,CSH,5 +VTS,1,5,780,1.38,CSH,9.5 +VTS,1,5,120,0.57,CRD,4 +VTS,1,5,900,1.78,CSH,10.5 +VTS,1,5,660,1.87,CSH,9.5 +VTS,1,5,180,0.45,CRD,3.5 +VTS,1,5,300,0.82,CRD,5.5 +VTS,1,5,480,1.11,CSH,6.5 +VTS,1,5,240,0.88,CSH,5 +VTS,1,5,480,2.25,CRD,9 +VTS,1,5,540,1.79,CRD,8.5 +VTS,1,5,420,1.63,CRD,7.5 +VTS,1,5,480,1.74,CRD,8 +VTS,1,5,180,0.7,CSH,4.5 +VTS,1,5,420,1.46,CRD,7 +VTS,1,5,600,1.68,CRD,8.5 +VTS,1,5,480,0.71,CRD,6.5 +VTS,1,6,2340,6.76,CRD,29 +VTS,1,5,1800,3.12,CSH,19.5 +VTS,1,5,240,0.69,CSH,5 +VTS,1,5,360,1.08,CSH,6 +VTS,1,5,540,1.15,CRD,7.5 +VTS,1,5,540,1.24,CRD,7.5 +VTS,1,5,960,2.93,CRD,12.5 +VTS,1,5,300,0.6,CSH,5.5 +VTS,1,5,1200,1.9,CRD,13 +VTS,1,5,1020,2.19,CRD,12.5 +VTS,1,5,720,2.28,CRD,10.5 +VTS,1,5,240,0.72,CSH,5 +VTS,1,5,960,6.21,CRD,20 +VTS,1,5,180,0.63,CRD,4.5 +VTS,1,5,240,0.58,CSH,4.5 +VTS,1,5,960,2.2,CRD,12.5 +VTS,1,5,480,1.43,CSH,7.5 +VTS,1,5,240,0.87,CSH,5.5 +VTS,1,5,1080,4.6,CSH,16.5 +VTS,1,5,840,2.9,CRD,12 +VTS,1,5,540,0.98,CSH,7.5 +VTS,1,5,420,1.05,CSH,6.5 +VTS,1,5,1020,6.49,CRD,21 +VTS,1,5,480,1.33,CSH,7.5 +VTS,1,5,480,2.35,CRD,8.5 +VTS,1,5,1080,2.7,CRD,13.5 +VTS,1,5,780,2.38,CRD,11.5 +VTS,1,5,960,3.55,CSH,15 +VTS,1,5,540,2.04,CSH,9.5 +VTS,1,5,540,1.72,CSH,8.5 +VTS,1,5,300,1.08,CRD,5.5 +VTS,1,5,540,1.67,CRD,8.5 +VTS,1,5,780,1.99,CRD,11 +VTS,1,5,180,0.71,CSH,4.5 +VTS,1,5,420,0.98,CRD,6.5 +VTS,1,5,960,1.66,CRD,11 +VTS,1,5,1140,3.87,CSH,16 +VTS,1,5,60,0.53,CSH,3.5 +VTS,1,5,300,0.98,CSH,6 +VTS,1,5,780,2.01,CRD,10.5 +VTS,1,5,600,1.27,CRD,8 +VTS,1,5,420,0.99,CSH,6.5 +VTS,1,5,420,0.81,CRD,6 +VTS,1,5,180,0.49,CSH,4.5 +VTS,1,5,1260,9.85,CSH,28 +VTS,1,5,240,1.06,CRD,5 +VTS,1,5,1380,4.02,CRD,18.5 +VTS,1,5,420,1.26,CRD,7.5 +VTS,1,5,600,0.96,CSH,7.5 +VTS,1,5,600,1.65,CSH,8.5 +VTS,1,5,2040,4.8,CRD,23 +VTS,1,5,60,0.51,CSH,3.5 +VTS,1,5,900,2.71,CRD,13 +VTS,1,5,420,1.21,CSH,7 +VTS,1,5,360,2.18,CSH,8.5 +VTS,1,5,420,1.12,CRD,6.5 +VTS,1,5,900,2.84,CSH,12.5 +VTS,1,5,420,1.44,CSH,7.5 +VTS,1,5,540,2.84,CRD,10 +VTS,1,5,720,2.21,CSH,10 +VTS,1,5,240,0.94,CRD,5 +VTS,1,5,480,1.78,CSH,8.5 +VTS,1,5,540,2.99,CRD,11 +VTS,1,5,540,1.96,CRD,9 +VTS,1,5,600,1.51,CRD,8.5 +VTS,1,5,300,0.58,CRD,5 +VTS,1,5,1200,2.57,CRD,13.5 +VTS,1,5,480,0.76,CSH,6.5 +VTS,1,5,420,1.12,CSH,7 +VTS,1,5,660,2.65,CSH,10.5 +VTS,1,5,1500,2.98,CRD,16.5 +VTS,1,5,360,0.72,CSH,5.5 +VTS,1,5,600,2.43,CRD,9.5 +VTS,1,5,660,0.88,CSH,8 +VTS,1,6,480,1.65,CRD,8 +VTS,1,5,1140,2.39,CRD,13.5 +VTS,1,5,300,1.19,CSH,6 +VTS,1,5,720,1.45,CRD,9.5 +VTS,1,5,360,0.54,CSH,5.5 +VTS,1,5,840,2.29,CRD,11.5 +VTS,1,5,1440,1.71,CSH,15 +VTS,1,5,300,0.82,CSH,5.5 +VTS,1,5,480,1.3,CRD,7.5 +VTS,1,5,360,1.26,CSH,6.5 +VTS,1,5,720,1.15,CRD,8.5 +VTS,1,5,600,1.94,CRD,9.5 +VTS,1,5,60,0.5,CSH,3.5 +VTS,1,5,780,2.31,CSH,10.5 +VTS,1,5,180,0.54,CSH,4 +VTS,1,5,600,2.17,CRD,9.5 +VTS,1,5,300,0.69,CRD,5.5 +VTS,1,5,840,1.54,CSH,10.5 +VTS,1,5,420,1.72,CRD,7.5 +VTS,1,5,1200,2.25,CSH,14 +VTS,1,5,240,0.71,CSH,5 +VTS,1,5,780,2.13,CSH,11 +VTS,1,5,960,2.61,CSH,12.5 +VTS,1,5,1380,3.83,CSH,17.5 +VTS,1,5,780,2.14,CSH,11 +VTS,1,5,180,0.68,CRD,4.5 +VTS,1,5,540,2.94,CSH,10.5 +VTS,1,5,360,2,CRD,8 +VTS,1,5,360,2.08,CSH,8 +VTS,1,5,960,3.47,CRD,15 +VTS,1,5,1080,2.64,CRD,13 +VTS,1,5,60,0.59,CRD,4 +VTS,1,5,540,1.97,CSH,9.5 +VTS,1,5,420,1.53,CRD,7.5 +VTS,1,5,360,1.83,CSH,7.5 +VTS,1,5,420,1.18,CSH,6.5 +VTS,1,5,480,1.2,CRD,7 +VTS,1,5,120,0.45,CRD,4 +VTS,1,5,600,1.4,CSH,8 +VTS,1,5,300,0.56,CSH,5.5 +VTS,1,5,420,0.8,CRD,6 +VTS,1,5,1440,1.95,CRD,15.5 +VTS,1,5,840,2.47,CSH,11.5 +VTS,1,5,360,0.85,CSH,5.5 +VTS,1,5,120,0.52,CRD,4 +VTS,1,5,300,0.92,CRD,5.5 +VTS,1,5,1680,5.46,CRD,21.5 +VTS,1,5,360,1.58,CRD,7.5 +VTS,1,5,1260,10.27,CRD,29.5 +VTS,1,5,360,1.3,CRD,7 +VTS,1,5,360,1.01,CRD,6.5 +VTS,1,5,840,1.81,CRD,10.5 +VTS,1,5,540,2.02,CRD,9 +VTS,1,5,1020,1.91,CSH,12 +VTS,1,5,1260,3.04,CSH,15.5 +VTS,1,5,600,1.51,CRD,8.5 +VTS,1,5,420,0.91,CSH,6.5 +VTS,1,5,600,1.95,CSH,9.5 +VTS,1,5,660,2.02,CSH,9.5 +VTS,1,5,1440,7.4,CRD,25 +VTS,1,5,360,0.87,CRD,5.5 +VTS,1,5,600,2.56,CRD,10.5 +VTS,1,5,1080,2.87,CRD,14 +VTS,1,5,60,0.34,CRD,3 +VTS,1,6,960,0.82,CSH,10 +VTS,1,5,540,1.47,CSH,8 +VTS,1,6,600,0.85,CSH,8 +VTS,1,4,660,2.06,CRD,9 +VTS,1,5,600,2.59,CRD,10 +VTS,1,5,540,2.52,CRD,10 +VTS,1,5,240,0.57,CRD,4.5 +VTS,1,5,480,1.49,CRD,7.5 +VTS,1,5,300,1.47,CRD,6.5 +VTS,1,5,1140,1.2,CRD,13 +VTS,1,5,720,2.02,CRD,10 +VTS,1,5,420,1.87,CRD,7.5 +VTS,1,5,300,0.9,CRD,5.5 +VTS,1,5,600,1.66,CRD,9 +VTS,1,5,960,2.38,CSH,12.5 +VTS,1,5,360,0.7,CSH,5.5 +VTS,1,5,540,0.87,CRD,7 +VTS,1,5,1080,2.61,CRD,13.5 +VTS,1,5,420,1.64,CRD,7.5 +VTS,1,5,1620,7.57,CRD,27 +VTS,1,5,240,0.8,CRD,5 +VTS,1,5,480,1.59,CSH,8 +VTS,1,5,1020,1.96,CRD,12 +VTS,1,5,780,3.62,CSH,13 +VTS,1,5,1380,3.87,CRD,17 +VTS,1,5,720,3.36,CRD,13 +VTS,1,5,480,2.2,CRD,8.5 +VTS,1,5,300,0.73,CRD,5 +VTS,1,5,420,2.67,CRD,9.5 +VTS,1,5,660,2,CSH,9.5 +VTS,1,5,600,3.67,CRD,12.5 +VTS,1,5,300,0.7,CSH,5 +VTS,1,5,360,2.42,CSH,8.5 +VTS,1,5,300,1.17,CRD,5.5 +VTS,1,5,900,4.94,CSH,17 +VTS,1,5,660,3.17,CSH,12 +VTS,1,5,840,5.48,CSH,17.5 +VTS,1,5,60,0.44,CSH,3.5 +VTS,1,5,1200,4.12,CRD,16.5 +VTS,1,5,780,2.57,CSH,11.5 +VTS,1,5,1080,4.11,CRD,16.5 +VTS,1,5,1140,12.01,CRD,33.5 +VTS,1,5,420,2.72,CRD,9.5 +VTS,1,5,300,0.63,CRD,5 +VTS,1,5,420,2.31,CSH,9 +VTS,1,5,780,8.19,CRD,23.5 +VTS,1,5,540,1.46,CSH,8 +VTS,1,5,1140,6.22,CSH,20 +VTS,1,5,1680,10.3,CRD,32.5 +VTS,1,5,120,0.67,CSH,4 +VTS,1,5,240,0.8,CRD,5 +VTS,1,5,480,2.15,CRD,8.5 +VTS,1,5,480,3.19,CSH,11.5 +VTS,1,6,720,1.68,CRD,9.5 +VTS,1,5,540,2.2,CRD,9.5 +VTS,1,5,420,1.62,CSH,7.5 +VTS,1,5,240,0.56,CSH,4.5 +VTS,1,5,180,0.57,CSH,4 +VTS,1,5,1020,1.98,CSH,12.5 +VTS,1,5,300,0.37,CSH,5 +VTS,1,5,1260,3.38,CSH,15.5 +VTS,1,5,480,3.06,CSH,10.5 +VTS,1,5,360,0.95,CRD,6 +VTS,1,5,240,1.29,CSH,6 +VTS,3,5,1620,18.09,CSH,66.5 +VTS,1,5,240,1.53,CSH,6.5 +VTS,1,5,480,1.53,CSH,8 +VTS,1,5,180,0.83,CSH,4.5 +VTS,1,5,480,2.4,CSH,9 +VTS,1,5,540,1.8,CSH,8.5 +VTS,1,5,540,1.45,CRD,8 +VTS,1,5,1080,2.36,CSH,13 +VTS,1,5,300,1.06,CSH,5.5 +VTS,1,5,1020,5.25,CRD,18 +VTS,1,5,960,5.76,CRD,18 +VTS,1,5,840,4.03,CRD,15 +VTS,1,5,480,1.5,CRD,8 +VTS,1,5,360,1.86,CRD,7.5 +VTS,1,5,960,10.35,CRD,29 +VTS,1,5,420,1.33,CRD,7 +VTS,1,5,1260,5.11,CRD,20.5 +VTS,1,5,960,7.14,CSH,22 +VTS,1,5,660,2.48,CSH,10 +VTS,1,5,720,1.53,CRD,9.5 +VTS,1,5,240,0.8,CSH,4.5 +VTS,1,5,960,2.41,CRD,12.5 +VTS,1,5,660,1.09,CRD,8 +VTS,1,5,420,1.43,CRD,7 +VTS,1,5,420,1.27,CRD,6.5 +VTS,1,5,600,1.53,CRD,9 +VTS,1,5,480,2.21,CRD,9 +VTS,1,5,540,2.16,CRD,9 +VTS,1,5,360,1.6,CRD,7 +VTS,1,5,480,1.4,CRD,7.5 +VTS,1,5,540,1.45,CSH,8 +VTS,1,5,1140,8.6,CRD,26 +VTS,1,5,360,1.44,CRD,6.5 +VTS,1,5,1140,4.27,CRD,17 +VTS,1,5,540,1.22,CSH,7.5 +VTS,1,5,540,1.33,CSH,8 +VTS,1,5,540,4.66,CRD,14.5 +VTS,1,5,720,2.4,CSH,10.5 +VTS,1,5,960,2.23,CSH,12 +VTS,1,5,600,1.5,CRD,8.5 +VTS,1,5,1020,1.75,CSH,11.5 +VTS,1,5,540,1.03,CSH,7.5 +VTS,1,5,300,0.71,CSH,5.5 +VTS,1,5,180,0.52,CRD,4.5 +VTS,1,5,540,1.16,CSH,7.5 +VTS,1,5,600,1.5,CSH,8.5 +VTS,1,5,1140,2.83,CRD,14 +VTS,1,5,1680,8.48,CRD,28 +VTS,1,5,420,1.24,CRD,7 +VTS,1,5,420,1.89,CSH,8 +VTS,1,5,600,1.19,CRD,8 +VTS,1,5,540,1.7,CRD,8.5 +VTS,1,5,180,0.65,CSH,4.5 +VTS,1,5,360,1.36,CSH,6.5 +VTS,1,5,960,3.34,CRD,13.5 +VTS,1,5,480,1.4,CRD,7.5 +VTS,1,5,900,2.55,CSH,12 +VTS,1,5,720,2.93,CSH,11.5 +VTS,1,5,360,0.76,CSH,5.5 +VTS,1,5,120,0.28,CRD,3.5 +VTS,1,5,240,1.38,CSH,6 +VTS,1,5,240,1.29,CSH,6 +VTS,1,5,240,0.61,CRD,4.5 +VTS,1,5,360,1.9,CSH,7.5 +VTS,1,5,420,1.69,CRD,7.5 +VTS,1,5,720,3.89,CSH,13.5 +VTS,1,5,480,1.55,CRD,8 +VTS,1,5,300,1.23,CRD,6.5 +VTS,1,5,360,1.3,CRD,6.5 +VTS,1,5,120,0.62,CRD,4 +VTS,1,5,360,2.11,CRD,8 +VTS,1,5,120,0.39,CRD,3.5 +VTS,1,5,900,4.83,CRD,16.5 +VTS,1,5,300,0.63,CSH,5.5 +VTS,1,5,300,1.57,CSH,7 +VTS,1,5,240,0.93,CSH,5 +VTS,1,5,480,1.99,CSH,8.5 +VTS,1,5,360,1.15,CRD,6 +VTS,1,5,600,0.97,CRD,7.5 +VTS,1,5,600,1.88,CSH,9 +VTS,1,4,480,0.98,CSH,7 +VTS,1,5,300,1.11,CRD,6 +VTS,1,5,240,0.91,CSH,5 +VTS,1,5,720,2.67,CRD,11 +VTS,1,5,660,2.72,CRD,11 +VTS,1,5,300,1.81,CSH,7 +VTS,1,5,240,1.06,CSH,5.5 +VTS,1,5,480,1.51,CSH,7.5 +VTS,1,5,1140,5.35,CRD,19 +VTS,1,5,780,2.07,CRD,10.5 +VTS,1,5,420,1.4,CRD,7 +VTS,1,5,1140,4.95,CRD,18.5 +VTS,1,5,300,0.97,CRD,5.5 +VTS,1,5,600,2.95,CSH,11.5 +VTS,1,6,240,0.67,CSH,5 +VTS,1,5,600,1.92,CRD,9.5 +VTS,1,5,780,0.95,CSH,9.5 +VTS,1,5,360,0.65,CSH,5.5 +VTS,1,5,480,1.68,CRD,8 +VTS,1,5,300,1.09,CSH,5.5 +VTS,1,5,240,0.91,CSH,5.5 +VTS,1,5,600,1.74,CSH,9.5 +VTS,1,5,120,0.47,CSH,3.5 +VTS,1,5,480,1.27,CSH,7 +VTS,1,5,600,2.27,CRD,10.5 +VTS,1,5,1740,7.66,CRD,26.5 +VTS,1,5,1140,9.92,CRD,28.5 +VTS,1,5,1260,6.52,CRD,21.5 +VTS,1,5,540,2.27,CSH,9.5 +VTS,1,5,660,7.72,CSH,22 +VTS,1,5,1020,3.41,CRD,14.5 +VTS,1,5,180,0.48,CSH,4 +VTS,1,5,840,3.92,CSH,14.5 +VTS,1,5,780,3.13,CRD,12.5 +VTS,1,5,960,5.6,CSH,18.5 +VTS,1,5,120,0.67,CSH,4 +VTS,1,5,300,1.24,CRD,6 +VTS,1,5,540,1.09,CSH,7.5 +VTS,1,5,120,0.37,CSH,4 +VTS,1,5,960,5.75,CSH,19 +VTS,1,5,600,3.56,CRD,12 +VTS,1,5,300,0.96,CRD,5.5 +VTS,1,5,660,2.78,CRD,11 +VTS,1,5,180,0.72,CRD,4.5 +VTS,1,5,300,1.11,CSH,5.5 +VTS,1,5,840,2.77,CRD,13 +VTS,1,5,1020,2.23,CRD,12 +VTS,1,5,300,0.97,CRD,5.5 +VTS,1,5,540,1.75,CSH,8.5 +VTS,1,5,540,0.99,CSH,7 +VTS,1,5,1920,4.12,CRD,21 +VTS,1,5,240,0.69,CSH,5 +VTS,1,5,540,1.96,CSH,9.5 +VTS,1,5,180,0.85,CRD,5 +VTS,1,5,1080,2.24,CSH,12.5 +VTS,1,5,780,1.23,CSH,9 +VTS,1,5,240,0.71,CSH,5 +VTS,1,5,1200,2.92,CRD,14.5 +VTS,1,5,1140,3.3,CRD,15.5 +VTS,1,5,1380,3.84,CRD,17.5 +VTS,1,5,960,2.13,CRD,11.5 +VTS,1,5,720,1.11,CSH,8.5 +VTS,1,5,540,1.43,CRD,8 +VTS,1,5,240,0.73,CRD,5 +VTS,1,5,540,2.75,CSH,10 +VTS,1,5,120,0.49,CRD,3.5 +VTS,1,5,240,1.22,CSH,6 +VTS,1,5,480,1.99,CRD,8.5 +VTS,1,5,600,2.68,CRD,10 +VTS,1,5,300,0.57,CSH,5 +VTS,1,5,480,0.94,CSH,7 +VTS,1,5,120,0.33,CRD,3.5 +VTS,1,5,660,2.22,CRD,10 +VTS,1,5,540,2.22,CRD,9.5 +VTS,1,5,540,1.83,CSH,8.5 +VTS,1,5,600,1.34,CRD,8.5 +VTS,1,5,780,3.78,CSH,13.5 +VTS,1,5,1500,4.33,CSH,18.5 +VTS,1,5,180,0.77,CSH,4.5 +VTS,1,5,300,1.33,CRD,6.5 +VTS,1,5,180,0.47,CRD,4 +VTS,1,5,180,0.59,CRD,4.5 +VTS,1,5,360,1.24,CSH,6.5 +VTS,1,5,480,1.26,CRD,7.5 +VTS,1,5,420,1.14,CSH,7 +VTS,1,5,540,1.46,CSH,8.5 +VTS,1,5,360,0.79,CSH,5.5 +VTS,1,5,600,1.51,CSH,8.5 +VTS,1,5,1440,3.38,CSH,17 +VTS,1,5,2160,6.63,CRD,27.5 +VTS,1,5,840,2.61,CRD,12 +VTS,1,5,1620,4.08,CSH,20 +VTS,1,5,420,1.03,CSH,6.5 +VTS,1,5,180,0.41,CSH,4 +VTS,1,5,480,1.1,CSH,7 +VTS,1,5,780,1.15,CSH,9.5 +VTS,1,5,960,4.93,CSH,17.5 +VTS,1,5,360,0.93,CRD,6 +VTS,1,5,480,2.02,CSH,8.5 +VTS,1,5,780,8.74,CRD,24.5 +VTS,1,5,780,2.8,CSH,12 +VTS,1,5,480,1.92,CRD,8.5 +VTS,1,5,360,1.32,CSH,6.5 +VTS,1,5,120,0.94,CSH,4.5 +VTS,1,5,480,1.88,CSH,8.5 +VTS,1,5,300,0.96,CSH,5.5 +VTS,1,5,540,1.96,CSH,9 +VTS,1,5,720,1.94,CSH,10 +VTS,1,5,600,2.74,CSH,10.5 +VTS,1,5,840,4.3,CSH,15.5 +VTS,1,5,240,1.31,CRD,6 +VTS,1,5,240,0.83,CSH,5 +VTS,1,5,960,5.47,CRD,18 +VTS,1,5,660,2.62,CRD,11 +VTS,1,5,480,1.74,CRD,8 +VTS,1,5,540,2.99,CRD,10.5 +VTS,1,6,540,1.26,CSH,8 +VTS,1,5,720,5.53,CSH,17.5 +VTS,1,5,780,5.52,CRD,18.5 +VTS,1,4,360,1.13,CSH,6 +VTS,1,5,480,2.07,CSH,8.5 +VTS,1,5,600,1.82,CRD,9 +VTS,1,5,1380,11.99,CRD,35 +VTS,1,5,180,1.36,CSH,6 +VTS,1,5,720,1.48,CRD,9.5 +VTS,1,5,360,1.23,CRD,6 +VTS,1,5,660,3.79,CRD,13 +VTS,1,5,840,2.22,CSH,11.5 +VTS,1,5,180,1.96,CSH,7 +VTS,1,5,600,3.22,CRD,11 +VTS,1,5,840,3.05,CSH,12.5 +VTS,1,5,1140,7.23,CSH,21.5 +VTS,1,5,360,1.67,CRD,7.5 +VTS,1,5,240,1.33,CRD,6 +VTS,1,5,900,4.95,CRD,17 +VTS,1,5,480,1.86,CSH,8.5 +VTS,1,5,360,1.12,CSH,6.5 +VTS,1,5,900,4.75,CRD,15.5 +VTS,1,5,480,2,CRD,8.5 +VTS,1,5,180,0.73,CSH,5 +VTS,1,5,300,0.84,CSH,5.5 +VTS,1,5,660,2.77,CRD,11 +VTS,1,5,660,3.3,CSH,12 +VTS,1,5,720,4.2,CRD,14 +VTS,1,5,480,1.81,CSH,8 +VTS,1,5,240,0.88,CRD,5 +VTS,1,5,960,5.38,CRD,18.5 +VTS,1,5,180,0.6,CRD,4 +VTS,1,5,840,4.56,CSH,15.5 +VTS,1,5,720,2.58,CRD,10.5 +VTS,1,5,1020,8.59,CSH,25.5 +VTS,1,5,480,1.43,CRD,7.5 +VTS,1,5,720,3.21,CRD,12.5 +VTS,1,5,660,1.54,CSH,9 +VTS,1,5,1380,11.4,CRD,33 +VTS,1,5,720,2.67,CRD,10.5 +VTS,1,5,420,2.33,CSH,8.5 +VTS,1,5,300,0.92,CSH,5.5 +VTS,1,5,60,0.35,CSH,3.5 +VTS,1,6,420,1.47,CRD,7.5 +VTS,1,5,360,1.32,CSH,6.5 +VTS,1,5,360,1.35,CSH,6.5 +VTS,1,6,720,1.84,CRD,10 +VTS,1,6,600,1.53,CRD,8.5 +VTS,1,5,960,4.61,CRD,16.5 +VTS,1,5,180,0.41,CRD,4 +VTS,1,5,420,1.58,CRD,7 +VTS,1,5,360,1.7,CSH,7.5 +VTS,1,5,240,1.27,CSH,6 +VTS,1,5,1260,6.91,CRD,22.5 +VTS,1,5,240,1.5,CSH,6.5 +VTS,1,5,300,1.1,CSH,6 +VTS,1,5,1200,9.82,CSH,29.5 +VTS,1,5,900,1.66,CSH,11 +VTS,1,5,840,3.72,CRD,14 +VTS,1,5,360,1.44,CSH,7.5 +VTS,1,5,600,2.72,CSH,11 +VTS,1,5,480,1.95,CRD,8 +VTS,1,5,1560,10.93,CRD,33 +VTS,1,5,780,3.18,CRD,12.5 +VTS,1,5,780,4.06,CSH,13.5 +VTS,1,5,780,3.65,CSH,13.5 +VTS,1,5,1800,11.16,CRD,35 +VTS,1,5,1440,6.82,CRD,22.5 +VTS,1,5,360,1.11,CSH,6.5 +VTS,1,5,360,1.08,CSH,6 +VTS,1,5,180,0.76,CSH,4.5 +VTS,1,5,120,0.29,CRD,3.5 +VTS,1,5,180,0.66,CSH,4.5 +VTS,1,6,360,1.51,CRD,7 +VTS,1,5,180,0.52,CRD,4 +VTS,1,5,0,0.24,CSH,3 +VTS,1,6,480,2.05,CRD,9 +VTS,1,5,900,3.1,CRD,12.5 +VTS,1,6,300,1.9,CSH,7.5 +VTS,1,4,180,1.23,CSH,5.5 +VTS,1,5,360,1.4,CRD,6.5 +VTS,1,5,120,0.48,CSH,4 +VTS,1,6,1380,12.28,CSH,35 +VTS,1,5,480,1.54,CRD,8 +VTS,1,5,360,1.25,CSH,6.5 +VTS,1,5,960,6.65,CRD,21 +VTS,1,5,900,6.06,CSH,18 +VTS,1,5,300,1.36,CRD,6.5 +VTS,1,6,120,0.62,CSH,4 +VTS,1,5,660,3.58,CRD,13 +VTS,1,5,1200,10.78,CRD,31 +VTS,1,5,960,6.37,CRD,20.5 +VTS,1,5,360,1.08,CSH,6.5 +VTS,1,5,900,6.26,CRD,19.5 +VTS,1,5,540,2.01,CRD,9 +VTS,1,5,360,1.01,CSH,6 +VTS,1,5,420,2.15,CRD,8.5 +VTS,1,5,600,2.22,CSH,9.5 +VTS,1,5,1800,8.36,CSH,27.5 +VTS,1,5,480,2.28,CRD,9 +VTS,1,5,600,2.56,CSH,10 +VTS,1,6,540,2.16,CRD,9 +VTS,1,5,720,3.47,CRD,12 +VTS,1,5,900,2.7,CRD,12 +VTS,1,5,900,5.51,CRD,18.5 +VTS,1,5,180,0.9,CRD,4.5 +VTS,1,4,840,2.12,CRD,11 +VTS,1,5,360,1.26,CSH,6.5 +VTS,1,5,240,0.82,CRD,5 +VTS,1,5,660,2.97,CRD,11.5 +VTS,1,5,780,1.69,CRD,10 +VTS,1,5,1740,9.36,CRD,30 +VTS,1,5,600,1.65,CSH,9 +VTS,1,5,240,0.84,CSH,5 +VTS,1,5,840,4.9,CSH,16.5 +VTS,1,5,1560,7.83,CRD,26.5 +VTS,1,6,300,1.18,CSH,6 +VTS,1,5,600,2.85,CSH,10.5 +VTS,1,5,1080,5.36,CRD,19 +VTS,1,5,420,1.3,CSH,7.5 +VTS,1,5,720,3.56,CSH,13.5 +VTS,1,5,360,1,CSH,6 +VTS,1,5,900,8.86,CRD,25.5 +VTS,1,5,780,0.79,CRD,7.5 +VTS,1,5,840,5.09,CRD,16.5 +VTS,1,5,240,0.91,CSH,5.5 +VTS,1,5,1320,7.66,CRD,25 +VTS,1,5,660,3.66,CSH,13 +VTS,1,5,180,0.67,CSH,4.5 +VTS,1,5,1320,9.9,CSH,30.5 +VTS,1,5,300,1.83,CSH,7 +VTS,1,5,240,0.8,CRD,5.5 +VTS,1,5,540,3.16,CRD,11.5 +VTS,1,5,420,2.87,CSH,10 +VTS,1,5,420,1.42,CSH,7 +VTS,1,5,420,1.01,CRD,7 +VTS,1,5,540,2.13,CSH,9 +VTS,1,5,60,0.56,CSH,3.5 +VTS,1,5,300,1.45,CSH,6.5 +VTS,1,5,780,2.92,CRD,12 +VTS,1,5,300,0.86,CSH,5.5 +VTS,1,5,960,4.4,CRD,16 +VTS,1,5,480,1.78,CRD,8 +VTS,1,5,1200,9.67,CRD,29 +VTS,1,5,540,1.49,CRD,8 +VTS,1,5,300,0.83,CSH,5.5 +VTS,1,5,300,0.89,CRD,5.5 +VTS,1,5,540,1.25,CRD,7.5 +VTS,1,5,420,1.25,CSH,7 +VTS,1,5,1200,5.98,CRD,20 +VTS,1,5,1080,6.62,CRD,21.5 +VTS,1,5,300,1.42,CSH,7 +VTS,1,5,420,1.3,CSH,7.5 +VTS,1,4,780,6.02,CSH,18.5 +VTS,1,5,420,1.8,CRD,8 +VTS,1,5,180,1.01,CRD,5 +VTS,5,1,900,3.28,CRD,55 +VTS,1,5,1320,11.27,CRD,32.5 +VTS,1,5,480,2.55,CRD,9.5 +VTS,1,5,360,1.21,CRD,6.5 +VTS,1,5,360,1.63,CSH,7 +VTS,1,5,300,0.56,CRD,5 +VTS,1,6,300,0.9,CSH,5.5 +VTS,1,5,240,1.24,CRD,5.5 +VTS,1,6,300,0.93,CRD,6 +VTS,1,5,840,5.93,CRD,19 +VTS,1,5,1080,4.1,CSH,16.5 +VTS,1,5,120,0.49,CSH,4 +VTS,1,5,360,0.82,CRD,6 +VTS,1,5,420,1.01,CSH,6.5 +VTS,1,5,180,1.47,CSH,6 +VTS,1,5,1020,4.16,CSH,16 +VTS,1,5,1200,3.76,CSH,17 +VTS,1,5,360,1.77,CSH,7.5 +VTS,1,5,480,2.43,CRD,10 +VTS,1,5,360,1.72,CSH,7 +VTS,1,6,180,0.36,CRD,4 +VTS,1,5,240,1.44,CSH,6 +VTS,1,5,600,3.61,CRD,12.5 +VTS,1,5,780,3.77,CSH,14 +VTS,1,5,420,1.03,CSH,6.5 +VTS,1,5,600,2.44,CRD,10 +VTS,1,5,120,0.48,CSH,3.5 +VTS,1,5,780,3.42,CRD,13 +VTS,1,5,240,1.09,CRD,5.5 +VTS,1,5,900,5.07,CRD,17.5 +VTS,1,5,660,4.1,CRD,13 +VTS,1,5,360,0.7,CSH,5 +VTS,1,5,540,2.71,CRD,10 +VTS,1,6,480,1.62,CRD,8 +VTS,1,5,480,2.06,CRD,9 +VTS,1,5,360,1.89,CRD,7.5 +VTS,1,5,1380,7.97,CSH,25.5 +VTS,1,5,300,1.27,CRD,6 +VTS,1,5,420,1.75,CSH,8.5 +VTS,1,5,420,1.66,CSH,8 +VTS,1,5,540,2.16,CRD,9.5 +VTS,1,5,780,4.62,CSH,15.5 +VTS,1,5,600,2.81,CSH,11 +VTS,1,5,1140,4.74,CRD,17.5 +VTS,1,5,240,0.66,CRD,5 +VTS,1,5,600,1.9,CRD,9 +VTS,1,5,420,2.95,CRD,10.5 +VTS,1,5,300,1.71,CSH,7 +VTS,1,5,240,1.06,CSH,5.5 +VTS,1,5,540,2.4,CSH,10 +VTS,1,5,420,1.59,CSH,8 +VTS,1,5,840,8.73,CSH,25 +VTS,1,5,900,4.63,CRD,16.5 +VTS,1,5,540,1.64,CRD,8.5 +VTS,1,5,360,1.04,CRD,6.5 +VTS,1,5,540,2.65,CRD,10 +VTS,1,5,360,2.47,CRD,9 +VTS,1,5,540,1.65,CRD,8.5 +VTS,1,5,420,1.54,CRD,7.5 +VTS,1,5,540,1.6,CSH,8.5 +VTS,1,5,480,1.45,CRD,7.5 +VTS,1,5,420,1.66,CRD,8 +VTS,1,5,660,1.5,CRD,9 +VTS,1,6,300,1.67,CRD,7.5 +VTS,1,5,420,1.89,CSH,8.5 +VTS,1,5,540,3.13,CRD,11 +VTS,1,5,180,0.98,CRD,5 +VTS,1,5,840,2.33,CRD,11.5 +VTS,1,5,780,4.78,CRD,16 +VTS,1,5,720,6.76,CRD,20.5 +VTS,1,5,420,0.97,CSH,6.5 +VTS,1,5,240,1.88,CSH,7 +VTS,1,4,300,0.97,CRD,6 +VTS,1,5,780,3.13,CSH,13 +VTS,1,5,1080,5.08,CSH,18 +VTS,1,5,240,1.82,CRD,7 +VTS,1,5,360,1.44,CRD,7 +VTS,1,5,720,2.16,CRD,10.5 +VTS,1,5,420,1.48,CSH,7 +VTS,1,5,780,9.65,CRD,27 +VTS,2,5,1260,16.74,CRD,52 +VTS,1,5,480,1.29,CRD,7.5 +VTS,1,5,480,1.48,CRD,7.5 +VTS,1,5,120,0.66,CSH,4 +VTS,1,5,600,2.88,CSH,11.5 +VTS,1,5,300,0.9,CRD,5.5 +VTS,1,5,780,6.17,CSH,18.5 +VTS,1,5,480,1.46,CRD,8 +VTS,1,5,120,0.5,CRD,4 +VTS,1,5,480,2.7,CRD,10 +VTS,1,5,720,4.98,CSH,15 +VTS,1,5,300,1.03,CRD,6 +VTS,1,5,180,1.04,CSH,5 +VTS,1,5,180,0.7,CSH,5 +VTS,1,5,1020,5.06,CRD,18.5 +VTS,1,5,180,0.45,CSH,4 +VTS,1,5,240,1.21,CRD,6 +VTS,1,5,1140,6.83,CRD,22 +VTS,1,5,1380,9.15,CRD,29.5 +VTS,1,5,240,0.75,CRD,5 +VTS,1,5,420,1.08,CSH,7 +VTS,1,5,540,1.9,CRD,9 +VTS,1,5,360,1.14,CSH,6 +VTS,1,5,300,1.26,CSH,6 +VTS,1,5,900,4.79,CRD,17 +VTS,1,5,240,0.76,CSH,5 +VTS,1,5,1920,9.73,CRD,32.5 +VTS,1,5,840,5.03,CRD,16 +VTS,1,5,480,1.59,CRD,7.5 +VTS,1,5,480,2.2,CSH,9 +VTS,1,5,480,2.3,CSH,9.5 +VTS,1,5,420,2.31,CSH,9 +VTS,1,5,720,3.29,CRD,12.5 +VTS,1,5,420,1.61,CSH,7.5 +VTS,1,5,240,1.25,CRD,6 +VTS,2,5,1440,18.09,CRD,52 +VTS,1,5,720,2.4,CRD,11 +VTS,1,5,360,0.78,CRD,6 +VTS,1,5,1260,5.88,CRD,20.5 +VTS,1,5,360,2.68,CRD,9 +VTS,1,5,540,1.87,CSH,9 +VTS,1,5,960,5.18,CRD,18 +VTS,1,5,420,1.87,CRD,8 +VTS,1,5,720,1.72,CSH,9.5 +VTS,1,5,240,0.8,CRD,4.5 +VTS,1,5,420,2.08,CRD,8.5 +VTS,1,6,540,1.09,CSH,7.5 +VTS,1,5,360,1.47,CRD,6.5 +VTS,1,5,420,1.6,CSH,8 +VTS,1,6,480,2.58,CRD,10 +VTS,1,5,540,1.61,CRD,8.5 +VTS,1,6,180,1,CRD,5 +VTS,1,4,300,1.22,CSH,6 +VTS,1,5,360,1.01,CSH,6 +VTS,1,5,180,0.73,CSH,5 +VTS,1,5,900,2.5,CSH,12 +VTS,1,6,900,9.5,CRD,27.5 +VTS,1,5,60,0.58,CRD,4 +VTS,1,5,480,2.79,CRD,9.5 +VTS,1,5,360,1.68,CRD,7.5 +VTS,1,5,420,1.45,CRD,7.5 +VTS,1,5,180,0.64,CRD,4.5 +VTS,1,5,480,2.64,CRD,10 +VTS,1,5,240,0.79,CSH,5 +VTS,1,5,300,1.14,CRD,6 +VTS,1,5,1620,2.41,CSH,16 +VTS,1,5,420,1.26,CSH,6.5 +VTS,1,5,120,0.79,CSH,4.5 +VTS,1,5,840,2.41,CRD,11 +VTS,1,6,780,3.67,CRD,13 +VTS,1,5,120,0.67,CRD,4.5 +VTS,1,4,900,3.12,CRD,13 +VTS,1,5,420,1.2,CRD,7 +VTS,1,5,300,1.86,CSH,7 +VTS,1,5,300,1.12,CRD,5.5 +VTS,1,5,600,3.47,CRD,12 +VTS,1,5,180,0.38,CSH,4 +VTS,1,2,360,1.73,CRD,7.5 +VTS,1,1,300,1.11,CSH,6 +VTS,2,1,60,0.1,CSH,52 +VTS,1,1,240,1.21,CSH,5.5 +VTS,1,5,780,4.44,CRD,15 +VTS,1,5,240,1.06,CSH,5.5 +VTS,1,5,300,1.45,CRD,6.5 +VTS,1,5,540,2.95,CRD,11 +VTS,1,5,180,0.8,CSH,4.5 +VTS,1,6,360,1.7,CRD,7.5 +VTS,1,5,600,5.67,CRD,16.5 +VTS,1,5,1020,5.19,CSH,19 +VTS,1,5,720,2.26,CSH,10.5 +VTS,1,5,240,0.9,CSH,5 +VTS,1,5,540,2.1,CSH,8.5 +VTS,1,5,660,2.33,CRD,11 +VTS,1,5,1260,7.22,CSH,23.5 +VTS,1,5,900,3.8,CRD,14.5 +VTS,1,6,240,0.75,CRD,5 +VTS,1,5,180,1.41,CRD,6 +VTS,1,5,2100,8.68,CRD,31 +VTS,1,5,960,5.02,CRD,17.5 +VTS,1,5,180,0.5,CSH,4.5 +VTS,1,5,1080,2.51,CRD,12.5 +VTS,1,5,180,1.29,CSH,5.5 +VTS,1,5,1200,4.77,CSH,18 +VTS,1,5,420,1.61,CSH,7.5 +VTS,1,5,660,3.42,CRD,12.5 +VTS,1,5,240,1.5,CSH,6 +VTS,1,5,300,2.31,CSH,8.5 +VTS,1,5,300,0.78,CSH,5 +VTS,1,5,840,1.96,CRD,10 +VTS,1,5,840,2.7,CSH,12 +VTS,1,5,720,2.5,CRD,10.5 +VTS,1,5,780,3.35,CRD,13 +VTS,1,2,360,0.82,CSH,6 +VTS,1,2,480,1.36,CSH,7.5 +VTS,1,1,1380,6.48,CSH,18.5 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,660,2.27,CRD,10 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,780,3.08,CRD,12 +VTS,3,1,2340,18.98,CSH,70 +VTS,1,1,180,0.36,CSH,3.5 +VTS,1,1,1140,1.16,CRD,12 +VTS,1,1,900,3.65,CRD,13.5 +VTS,1,1,840,2.13,CRD,10.5 +VTS,1,1,480,0.99,CRD,7 +VTS,1,1,1920,8.21,CRD,29.5 +VTS,1,1,840,2.01,CRD,11 +VTS,1,1,840,0.86,CRD,9.5 +VTS,1,1,540,2.27,CRD,9.5 +VTS,1,1,1320,3.51,CSH,15.5 +VTS,1,1,540,1.29,CSH,8 +VTS,1,1,600,0.8,CRD,8 +VTS,1,1,780,4.51,CRD,15.5 +VTS,1,1,1080,3.61,CSH,15 +VTS,1,5,420,0.93,CRD,6.5 +VTS,1,5,420,2.71,CSH,10 +VTS,1,5,1380,4.82,CRD,19 +VTS,1,5,480,2.14,CSH,9 +VTS,1,5,300,1.65,CSH,7 +VTS,1,5,480,2.05,CRD,8.5 +VTS,1,5,360,1.51,CRD,7 +VTS,1,5,300,1.27,CRD,6.5 +VTS,1,5,720,2.79,CRD,11.5 +VTS,1,5,360,1.33,CRD,6.5 +VTS,1,5,840,3.9,CRD,14 +VTS,1,5,540,1.98,CRD,9 +VTS,1,5,480,1.21,CRD,7 +VTS,1,5,1680,5.67,CRD,22 +VTS,1,1,480,1.13,CSH,7 +VTS,1,2,720,2.1,CSH,10 +VTS,1,2,480,1.14,CSH,7 +VTS,1,2,360,1.27,CSH,7 +VTS,5,1,1200,6.18,CRD,40 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,60,0,CSH,2.5 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,300,1.47,CSH,6.5 +VTS,1,1,1740,4.82,CSH,21 +VTS,1,1,1260,2.82,CSH,15 +VTS,1,1,900,1.26,CSH,11 +VTS,1,1,1020,1.63,CRD,11.5 +VTS,1,1,840,3.16,CRD,12.5 +VTS,1,1,360,0.97,CSH,6 +VTS,1,1,480,1.2,CRD,7 +VTS,1,1,780,1.3,CSH,9 +VTS,3,1,60,0,CSH,20 +VTS,1,1,1380,2.65,CSH,15 +VTS,1,1,660,1.56,CRD,9 +VTS,1,1,480,0.63,CSH,6.5 +VTS,1,1,2160,4.94,CSH,19.5 +VTS,1,1,900,2.17,CRD,11.5 +VTS,1,1,240,0.56,CRD,4.5 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,180,0.57,CRD,4 +VTS,1,1,420,1.71,CSH,8 +VTS,1,1,1680,4.26,CSH,20 +VTS,1,1,1140,1.64,CRD,13.5 +VTS,1,1,480,1.45,CRD,7.5 +VTS,1,1,1380,2.81,CSH,16 +VTS,1,1,960,4.02,CSH,15 +VTS,1,1,420,1.17,CSH,6.5 +VTS,1,1,240,0.79,CSH,4.5 +VTS,1,1,1380,2.35,CSH,15 +VTS,1,1,660,2.7,CRD,10.5 +VTS,1,1,1200,3.93,CRD,16.5 +VTS,1,1,360,0.91,CSH,5.5 +VTS,1,1,720,2.02,CRD,10 +VTS,1,5,600,3.11,CRD,12 +VTS,1,5,360,0.94,CRD,6.5 +VTS,1,5,180,0.35,CSH,4 +VTS,1,5,240,0.79,CSH,5 +VTS,1,5,720,2.36,CRD,10.5 +VTS,1,5,540,1.21,CSH,7 +VTS,1,5,240,0.71,CSH,5 +VTS,1,5,780,3.27,CRD,13 +VTS,1,5,660,3.09,CSH,11.5 +VTS,1,5,1500,7.38,CSH,24.5 +VTS,1,5,180,0.52,CSH,4 +VTS,1,5,420,1.63,CSH,7.5 +VTS,1,5,1560,3.8,CRD,19 +VTS,1,5,300,1,CRD,5.5 +VTS,1,5,600,2.65,CRD,10.5 +VTS,1,5,300,1.17,CSH,6.5 +VTS,1,5,540,1.52,CSH,8 +VTS,1,5,960,7.52,CSH,23 +VTS,1,1,360,0.97,CRD,6 +VTS,1,2,660,1.58,CSH,9 +VTS,1,2,900,2.85,CSH,12.5 +VTS,1,2,600,1.85,CSH,9 +VTS,1,1,300,1.02,CSH,6 +VTS,1,1,600,0.86,CRD,7.5 +VTS,1,1,480,1.87,CSH,8.5 +VTS,1,1,240,1.15,CSH,5.5 +VTS,1,1,360,0.63,CRD,5.5 +VTS,1,5,780,3.56,CRD,13.5 +VTS,1,5,660,2.83,CRD,11.5 +VTS,1,5,1140,5.95,CSH,20 +VTS,1,5,600,2.69,CSH,10.5 +VTS,1,5,300,0.75,CRD,5.5 +VTS,1,5,720,2.04,CRD,10 +VTS,1,5,240,0.78,CRD,5 +VTS,1,2,300,0.98,CRD,5.5 +VTS,1,2,600,2.21,CRD,10 +VTS,1,1,660,2.11,CSH,9 +VTS,1,1,180,0.52,CSH,4 +VTS,1,1,660,1.65,CRD,9 +VTS,1,1,480,0.96,CRD,6.5 +VTS,1,1,1020,6.68,CSH,21 +VTS,1,1,660,0.74,CRD,8 +VTS,1,1,720,1.96,CRD,10 +VTS,1,1,180,0.44,CRD,4 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,300,0.74,CRD,5 +VTS,1,1,840,1.84,CSH,8.5 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,1,180,0.4,CRD,4 +VTS,1,1,240,0.37,CSH,4.5 +VTS,1,1,600,1.44,CRD,8.5 +VTS,1,1,600,1.12,CSH,8 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,180,0.72,CSH,5 +VTS,1,1,360,1.15,CRD,6 +VTS,1,1,600,2.08,CSH,9.5 +VTS,1,1,2160,8.84,CSH,32.5 +VTS,1,1,720,1.85,CSH,10 +VTS,1,1,600,1.83,CSH,9 +VTS,1,1,660,4.11,CSH,14.5 +VTS,1,1,1380,6.8,CRD,22.5 +VTS,1,1,360,1.08,CRD,6 +VTS,1,1,660,2.13,CSH,10 +VTS,1,1,720,1.63,CRD,10 +VTS,1,1,1020,2.36,CSH,12.5 +VTS,1,1,1440,3.17,CRD,17 +VTS,1,1,1260,5.56,CRD,21 +VTS,1,1,360,1.2,CRD,6 +VTS,1,1,1620,3.3,CRD,18 +VTS,1,1,1140,8.15,CRD,25.5 +VTS,1,1,240,0.7,CRD,5 +VTS,1,1,1740,5.66,CSH,22 +VTS,1,1,120,0.63,CRD,4 +VTS,1,1,420,0.99,CRD,6.5 +VTS,1,1,1260,2.12,CRD,14 +VTS,1,1,360,0.65,CSH,5 +VTS,1,1,240,1.29,CSH,6 +VTS,1,1,960,1.11,CSH,10.5 +VTS,1,1,660,2.25,CSH,10.5 +VTS,1,1,900,1.23,CSH,10 +VTS,1,1,960,1.28,CRD,11 +VTS,1,5,420,1.26,CRD,7 +VTS,1,6,240,0.62,CRD,5 +VTS,1,5,120,0.25,CRD,3 +VTS,1,5,480,2.21,CSH,9 +VTS,1,5,420,2.44,CRD,9 +VTS,1,5,300,0.9,CRD,5.5 +VTS,1,5,1020,3.69,CSH,15 +VTS,1,5,360,1.55,CRD,7 +VTS,1,5,1020,5.1,CRD,17 +VTS,1,5,540,2.93,CRD,10.5 +VTS,1,5,1020,4.44,CRD,16 +VTS,1,5,180,0.56,CRD,4 +VTS,1,5,360,1.79,CSH,8 +VTS,1,5,300,1.7,CRD,7 +VTS,1,5,60,0.12,CSH,2.5 +VTS,1,5,840,3.47,CSH,13 +VTS,1,5,180,0.79,CSH,4.5 +VTS,1,5,660,2.42,CRD,10 +VTS,1,5,480,0.99,CSH,7.5 +VTS,1,5,900,7.85,CSH,23.5 +VTS,1,5,900,5.57,CRD,19 +VTS,1,5,900,3.24,CRD,14 +VTS,1,5,120,0.68,CRD,4.5 +VTS,1,5,540,2.21,CRD,10 +VTS,1,5,300,2.15,CRD,8.5 +VTS,1,5,360,0.79,CRD,5.5 +VTS,1,5,780,2.62,CRD,11.5 +VTS,1,5,300,1.36,CSH,6 +VTS,1,5,840,4.36,CSH,15 +VTS,1,5,1140,6.33,CRD,21.5 +VTS,1,5,540,2.61,CSH,10 +VTS,1,5,240,1.06,CSH,6 +VTS,1,5,300,1.33,CSH,6.5 +VTS,1,5,480,1.55,CSH,7.5 +VTS,1,5,360,0.93,CRD,5.5 +VTS,1,5,1620,9.26,CRD,30 +VTS,1,5,300,1.31,CRD,6.5 +VTS,1,5,540,2.91,CRD,11 +VTS,1,1,1680,4.41,CRD,20 +VTS,1,2,360,1.37,CSH,6.5 +VTS,1,1,360,1.12,CSH,6.5 +VTS,1,2,360,1.58,CRD,7 +VTS,1,2,300,0.49,CRD,4.5 +VTS,1,2,240,1.04,CSH,5.5 +VTS,1,1,240,0.76,CSH,5 +VTS,1,1,420,1.83,CSH,8 +VTS,1,1,420,1.22,CSH,7.5 +VTS,1,1,120,0.34,CSH,3.5 +VTS,1,1,720,1.15,CSH,8.5 +VTS,1,1,1140,4.59,CRD,18 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,960,3.33,CRD,14 +VTS,1,5,120,0.37,CRD,3.5 +VTS,1,5,180,0.76,CSH,5 +VTS,1,5,420,1.28,CSH,7 +VTS,1,5,600,1.59,CSH,8.5 +VTS,1,5,360,1.53,CSH,7 +VTS,1,5,300,1.27,CRD,6 +VTS,1,5,780,2.72,CRD,11 +VTS,1,5,300,2.04,CSH,8 +VTS,1,5,300,1.27,CRD,6 +VTS,1,5,720,4.23,CRD,14 +VTS,1,5,780,2.08,CRD,10.5 +VTS,1,5,720,2.26,CSH,10.5 +VTS,1,5,360,1.04,CRD,6.5 +VTS,1,5,360,1.58,CSH,7.5 +VTS,1,2,360,1.41,CRD,7 +VTS,1,2,240,0.44,CSH,4 +VTS,1,2,240,1.22,CRD,5.5 +VTS,1,3,1440,4.19,CSH,18 +VTS,1,1,180,0.92,CRD,5.5 +VTS,1,1,240,0.7,CRD,5 +VTS,1,1,840,1.52,CRD,10.5 +VTS,1,1,420,2.07,CSH,8 +VTS,1,1,780,3.15,CRD,12 +VTS,1,1,1020,1.7,CSH,11.5 +VTS,1,1,600,1.13,CRD,8 +VTS,1,1,420,1.83,CSH,8 +VTS,1,1,360,0.89,CSH,5.5 +VTS,1,1,120,0.67,CSH,4 +VTS,1,1,600,1.62,CRD,8.5 +VTS,1,1,540,1.08,CRD,7 +VTS,1,1,420,1.22,CSH,6.5 +VTS,1,1,780,2.28,CRD,11 +VTS,1,1,600,1.24,CSH,8 +VTS,1,1,840,2.23,CSH,11 +VTS,1,1,1140,2.86,CSH,14.5 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,660,1.83,CRD,9 +VTS,1,1,1260,1.91,CRD,14 +VTS,1,1,840,0.76,CSH,10 +VTS,1,1,180,0.51,CSH,4.5 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,1320,2.68,CRD,16 +VTS,1,1,420,0.86,CRD,6 +VTS,1,1,120,0.28,CSH,3.5 +VTS,1,1,1560,1.7,CRD,16 +VTS,1,1,2100,4.63,CSH,23.5 +VTS,1,1,780,2.02,CRD,10.5 +VTS,1,1,480,1.24,CSH,7.5 +VTS,1,1,480,0.95,CRD,7 +VTS,1,1,360,0.77,CRD,5.5 +VTS,1,1,540,1.77,CSH,9 +VTS,1,1,900,2.39,CRD,12.5 +VTS,1,1,660,1.11,CSH,8 +VTS,1,1,1260,1.34,CSH,13 +VTS,1,1,360,0.64,CSH,5.5 +VTS,1,1,780,0.92,CRD,9 +VTS,1,1,840,1.88,CRD,10.5 +VTS,1,1,600,1.36,CSH,8.5 +VTS,1,1,420,1.52,CSH,7 +VTS,1,1,480,0.37,CRD,6 +VTS,1,1,540,2.84,CSH,10.5 +VTS,1,1,780,3.28,CRD,13.5 +VTS,1,1,780,2.83,CRD,12 +VTS,1,1,1080,1.48,CRD,12 +VTS,1,1,420,0.85,CRD,6 +VTS,1,1,780,1.46,CRD,10.5 +VTS,1,1,660,0.42,CSH,8 +VTS,1,1,960,2.07,CRD,11.5 +VTS,1,1,2880,6.43,CRD,32 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,360,0.64,CRD,5.5 +VTS,1,1,780,2.06,CRD,10.5 +VTS,1,1,1080,4.75,CRD,16.5 +VTS,1,1,720,1.19,CRD,8.5 +VTS,1,1,600,1.48,CSH,8.5 +VTS,1,1,1440,2.3,CSH,16 +VTS,1,1,480,0.97,CRD,7 +VTS,1,1,480,0.9,CSH,6.5 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,840,1.75,CSH,10 +VTS,1,1,300,0.51,CSH,4.5 +VTS,1,1,900,1.9,CRD,10.5 +VTS,1,1,1500,6.69,CSH,25 +VTS,1,1,420,1.1,CRD,7 +VTS,1,1,780,2.08,CSH,10.5 +VTS,1,1,480,1.81,CSH,8.5 +VTS,1,1,360,0.59,CRD,5.5 +VTS,1,1,2040,3.02,CSH,21 +VTS,1,1,840,1.56,CSH,10 +VTS,1,1,1380,4.2,CSH,17.5 +VTS,1,1,360,1.15,CSH,6.5 +VTS,1,1,300,1.29,CSH,6 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,780,2.24,CSH,10.5 +VTS,1,1,540,0.82,CSH,7.5 +VTS,1,1,480,2.05,CSH,9 +VTS,1,1,480,0.81,CRD,6.5 +VTS,1,1,660,1.99,CSH,9.5 +VTS,1,1,420,1.22,CSH,7 +VTS,1,6,840,1.91,CRD,11.5 +VTS,1,1,840,2.31,CRD,11.5 +VTS,1,1,1080,3.05,CRD,14.5 +VTS,1,1,960,2.78,CRD,13 +VTS,1,1,780,1.73,CRD,10 +VTS,1,1,900,2.89,CRD,13 +VTS,1,1,1260,3.18,CRD,16 +VTS,1,1,1620,2.11,CSH,16.5 +VTS,1,5,900,2.81,CRD,11.5 +VTS,1,5,720,3.6,CRD,13 +VTS,1,5,480,1.56,CRD,8 +VTS,1,5,420,2.14,CSH,8.5 +VTS,1,5,1200,6.12,CSH,21 +VTS,1,5,1080,9.98,CSH,29 +VTS,1,5,1860,5.41,CSH,24 +VTS,1,5,240,0.89,CSH,5 +VTS,1,5,300,0.69,CSH,5 +VTS,1,5,720,2.89,CSH,12 +VTS,1,5,60,0.24,CSH,3 +VTS,1,5,900,2.92,CRD,14 +VTS,1,5,480,2.08,CRD,9 +VTS,1,5,780,3.08,CSH,13.5 +VTS,1,5,1200,10.07,CRD,29.5 +VTS,1,5,720,8.1,CRD,23 +VTS,1,5,1380,11.45,CRD,34 +VTS,1,5,540,2.11,CSH,9.5 +VTS,1,5,1920,9.04,CSH,30.5 +VTS,1,5,720,2.87,CRD,11.5 +VTS,1,5,720,2.47,CSH,10.5 +VTS,1,4,180,1.22,CRD,5.5 +VTS,1,5,840,3.66,CSH,13.5 +VTS,1,5,960,3.46,CRD,14.5 +VTS,1,5,1140,4.6,CRD,18 +VTS,1,5,120,0.86,CSH,5 +VTS,1,1,1260,1.87,CRD,13.5 +VTS,1,1,300,1.06,CSH,6 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,1080,3.8,CRD,15 +VTS,1,1,720,1.89,CRD,9.5 +VTS,1,1,720,2.64,CRD,11 +VTS,1,1,420,1.24,CRD,7 +VTS,1,1,180,0.37,CRD,3.5 +VTS,1,1,1560,2.34,CSH,9.5 +VTS,1,1,1200,2.56,CRD,14 +VTS,1,1,900,1.56,CSH,11 +VTS,1,1,1200,1.86,CRD,13.5 +VTS,1,1,360,0.84,CRD,5.5 +VTS,1,1,660,1.23,CRD,8.5 +VTS,1,1,540,1.81,CRD,8.5 +VTS,1,1,1260,5.8,CRD,20.5 +VTS,1,1,540,1.97,CSH,8.5 +VTS,1,1,900,0.88,CRD,10 +VTS,1,1,360,0.87,CRD,5.5 +VTS,1,1,420,1.53,CSH,7.5 +VTS,1,1,540,1.5,CRD,8 +VTS,1,1,360,1.34,CSH,6.5 +VTS,1,1,1260,3.59,CRD,15.5 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,960,1.69,CSH,11.5 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,660,1.99,CSH,9.5 +VTS,1,1,240,0.9,CRD,5 +VTS,1,1,1380,5.98,CRD,22.5 +VTS,1,1,1560,7.8,CSH,26 +VTS,1,1,660,1.89,CSH,9 +VTS,1,1,180,0.92,CRD,5 +VTS,1,1,1500,3,CSH,17.5 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,1,300,0.57,CRD,5 +VTS,1,1,420,1,CSH,7 +VTS,1,1,840,2.16,CRD,10.5 +VTS,1,1,360,1.39,CRD,7 +VTS,1,1,420,1.06,CSH,7 +VTS,1,1,600,0.82,CSH,7.5 +VTS,1,1,600,1.35,CRD,8.5 +VTS,1,1,240,0.87,CRD,5 +VTS,1,1,420,1.17,CSH,7 +VTS,1,1,480,1.27,CRD,7.5 +VTS,1,1,720,2.54,CSH,11 +VTS,1,1,540,1.09,CRD,7.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,420,1.43,CRD,7 +VTS,1,1,300,0.52,CSH,4.5 +VTS,1,1,240,1.38,CSH,6 +VTS,1,1,420,1.18,CRD,7 +VTS,1,1,180,0.89,CSH,5 +VTS,1,1,1680,6.92,CRD,25 +VTS,1,1,600,1.2,CRD,8 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,300,0.75,CRD,5 +VTS,1,1,840,0.93,CRD,9.5 +VTS,1,1,180,0.55,CRD,4.5 +VTS,1,1,1560,2.66,CRD,17 +VTS,1,1,540,1.64,CRD,8 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,300,1.18,CRD,6.5 +VTS,1,1,780,2.26,CSH,11 +VTS,1,1,360,1.74,CRD,8 +VTS,1,1,240,1.09,CSH,5.5 +VTS,1,1,480,1.26,CSH,7 +VTS,1,1,1080,11.29,CRD,31 +VTS,1,1,660,1.91,CRD,9 +VTS,1,1,720,2.23,CSH,11 +VTS,1,1,120,0.62,CRD,4 +VTS,1,1,120,0.45,CRD,4 +VTS,1,1,360,1.47,CSH,7 +VTS,1,1,300,1.03,CSH,5.5 +VTS,1,1,1260,9.98,CRD,29.5 +VTS,1,1,1320,7.18,CSH,23 +VTS,1,1,780,4.11,CRD,14.5 +VTS,1,1,660,4.45,CRD,14.5 +VTS,1,1,660,2.15,CRD,9.5 +VTS,1,1,480,2.38,CRD,9 +VTS,1,1,960,1.75,CRD,11.5 +VTS,1,1,600,1.66,CSH,8.5 +VTS,1,1,1680,1.47,CRD,16.5 +VTS,1,1,1620,4.15,CRD,20 +VTS,1,1,1860,2.97,CRD,20 +VTS,1,1,780,1.92,CRD,10.5 +VTS,1,1,600,1.3,CRD,8 +VTS,1,1,780,4.28,CRD,14.5 +VTS,1,1,720,4.39,CRD,14 +VTS,1,1,300,1.65,CSH,7 +VTS,1,1,420,1.72,CSH,7.5 +VTS,1,1,420,1.93,CSH,8 +VTS,1,1,540,1.66,CSH,9 +VTS,1,1,600,2.87,CRD,11 +VTS,1,1,420,2.23,CRD,9 +VTS,1,1,420,1.88,CSH,7.5 +VTS,1,1,420,1.23,CSH,7.5 +VTS,1,1,960,4.33,CRD,15.5 +VTS,1,1,180,0.79,CSH,5 +VTS,1,1,480,1.79,CRD,8 +VTS,1,1,480,1.41,CSH,7.5 +VTS,1,1,780,3.46,CSH,13 +VTS,1,1,900,4.1,CRD,14.5 +VTS,1,1,720,1.7,CRD,10 +VTS,1,1,360,0.94,CSH,6 +VTS,1,1,240,1.07,CSH,5.5 +VTS,1,1,600,2.35,CRD,10 +VTS,1,1,240,0.72,CRD,5 +VTS,1,1,240,0.96,CSH,5.5 +VTS,1,1,360,0.6,CSH,5.5 +VTS,1,1,600,1.55,CSH,8.5 +VTS,1,1,1380,3.14,CRD,16 +VTS,1,1,300,1.01,CRD,6 +VTS,1,1,360,0.91,CRD,6 +VTS,1,1,780,0.96,CSH,9 +VTS,1,1,360,1.51,CRD,6.5 +VTS,1,1,540,0.88,CRD,7 +VTS,1,1,540,0.6,CSH,7 +VTS,1,1,60,0.23,CSH,3 +VTS,1,1,240,1.84,CSH,7 +VTS,1,1,300,1.06,CSH,6 +VTS,1,1,540,1.6,CSH,8.5 +VTS,1,1,60,0.39,CSH,3.5 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,900,2.32,CRD,11 +VTS,1,1,480,1.21,CSH,7 +VTS,1,1,180,0.87,CSH,5 +VTS,1,1,600,1.77,CRD,9 +VTS,1,1,1320,4.94,CSH,19 +VTS,1,1,720,2,CSH,10 +VTS,1,1,1080,8.15,CRD,24.5 +VTS,1,1,180,0.79,CSH,5 +VTS,1,1,600,2.26,CRD,9.5 +VTS,1,1,540,1.66,CRD,8 +VTS,1,1,240,1.11,CSH,6 +VTS,1,1,300,1.09,CRD,6 +VTS,1,1,240,0.73,CSH,4.5 +VTS,1,1,420,0.94,CSH,6.5 +VTS,1,1,660,1.87,CSH,10 +VTS,1,1,360,1.29,CRD,7 +VTS,1,1,1680,3.58,CSH,20 +VTS,1,1,600,1.17,CRD,8 +VTS,1,1,540,1.7,CSH,7.5 +VTS,1,1,60,0.58,CSH,3.5 +VTS,1,1,600,2.19,CSH,10 +VTS,1,1,960,3.95,CSH,15 +VTS,1,1,300,1.28,CSH,6 +VTS,1,1,720,2.58,CSH,11 +VTS,1,1,1020,8.59,CRD,25 +VTS,1,1,840,10.12,CRD,28 +VTS,1,1,780,3.53,CSH,13.5 +VTS,1,1,60,0.51,CSH,3.5 +VTS,1,1,360,1.64,CSH,7 +VTS,1,1,780,2.71,CSH,10.5 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,1,1200,3.49,CRD,15.5 +VTS,1,1,660,2.8,CRD,11.5 +VTS,1,1,240,1.35,CRD,6 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,900,3.54,CRD,13.5 +VTS,1,1,960,7.42,CSH,22.5 +VTS,1,1,360,1.6,CSH,7 +VTS,1,1,360,1.36,CRD,7 +VTS,1,1,900,3.36,CSH,13.5 +VTS,1,1,840,2.61,CRD,11.5 +VTS,1,1,960,2.8,CSH,13 +VTS,1,1,480,1.51,CRD,8 +VTS,1,1,1140,4.88,CRD,17.5 +VTS,1,1,360,0.75,CSH,6 +VTS,1,1,360,1.05,CRD,6 +VTS,1,1,300,1.12,CRD,6 +VTS,1,1,840,4.74,CRD,16 +VTS,1,1,600,1.89,CSH,9.5 +VTS,1,1,1260,3.23,CRD,16 +VTS,1,1,1020,5.9,CRD,20 +VTS,1,1,420,1.96,CRD,8 +VTS,1,1,420,1.95,CRD,8 +VTS,1,1,600,1.84,CSH,9 +VTS,1,1,840,2.35,CSH,11.5 +VTS,1,1,780,2.43,CRD,11 +VTS,1,1,540,2.52,CSH,10 +VTS,1,1,660,2.35,CSH,10.5 +VTS,1,1,420,1.66,CRD,7.5 +VTS,1,1,240,1.09,CSH,5.5 +VTS,1,1,600,1.49,CRD,8.5 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,540,1.9,CRD,9 +VTS,1,1,600,3.55,CRD,11.5 +VTS,1,1,1260,2.89,CRD,15 +VTS,1,2,600,1.57,CRD,8.5 +VTS,1,2,360,0.83,CRD,6 +VTS,1,2,480,1.92,CRD,8 +VTS,1,1,480,0.97,CSH,7.5 +VTS,1,1,180,0.83,CSH,5 +VTS,1,1,420,1.49,CSH,7 +VTS,1,1,240,0.87,CRD,5 +VTS,1,1,540,2.17,CRD,9.5 +VTS,1,1,840,2.89,CRD,12.5 +VTS,1,1,660,1.98,CSH,9.5 +VTS,1,1,1680,4.37,CSH,19.5 +VTS,1,1,360,1.04,CRD,6.5 +VTS,1,1,660,0.72,CRD,8 +VTS,1,1,1320,7.02,CRD,23.5 +VTS,1,1,360,0.71,CRD,5.5 +VTS,1,1,1080,1.32,CRD,11.5 +VTS,1,1,300,0.99,CSH,6 +VTS,1,1,600,1.22,CSH,8 +VTS,1,1,420,0.56,CSH,6 +VTS,1,1,1920,4.93,CSH,22.5 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,300,0.93,CSH,6 +VTS,1,1,1260,4.35,CRD,18 +VTS,1,6,0,0,CSH,2.5 +VTS,1,1,900,1.65,CRD,10.5 +VTS,1,1,840,1.63,CSH,9.5 +VTS,1,1,1800,1.87,CSH,14.5 +VTS,1,1,840,1.64,CSH,10 +VTS,1,1,720,3.62,CRD,13.5 +VTS,1,1,420,0.9,CSH,6.5 +VTS,1,1,900,2.04,CRD,11 +VTS,1,1,1200,4.01,CRD,16 +VTS,1,1,1260,3.44,CSH,16 +VTS,1,1,240,0.76,CRD,4.5 +VTS,1,1,720,2.65,CRD,11 +VTS,1,1,600,1.57,CRD,8 +VTS,1,1,540,2.11,CRD,8.5 +VTS,1,1,300,0.64,CRD,5.5 +VTS,1,1,1080,3.54,CRD,16 +VTS,1,1,780,2.9,CSH,12.5 +VTS,1,1,660,2.17,CSH,10 +VTS,1,1,480,1.63,CSH,8 +VTS,1,1,720,2.6,CRD,11 +VTS,1,1,900,3.07,CSH,13 +VTS,1,1,960,5.35,CSH,17.5 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,960,11.56,CSH,31.5 +VTS,1,1,240,1.24,CRD,5.5 +VTS,1,1,180,0.51,CSH,4 +VTS,1,1,480,1.92,CSH,8.5 +VTS,1,1,420,2.15,CRD,9 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,780,4.34,CSH,15 +VTS,1,1,540,1.99,CRD,9 +VTS,1,1,420,1.55,CSH,7.5 +VTS,1,1,600,1.85,CSH,9 +VTS,1,1,300,1.12,CSH,6 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,600,2.06,CRD,9 +VTS,1,1,420,2.38,CRD,9 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,60,0.36,CSH,3.5 +VTS,1,1,480,2.74,CSH,10 +VTS,1,1,1380,2.81,CRD,16 +VTS,1,1,1320,4.26,CRD,17.5 +VTS,1,1,240,1.32,CRD,6 +VTS,1,1,840,3.07,CSH,12.5 +VTS,1,1,1200,2.86,CSH,14 +VTS,1,1,900,4.48,CRD,15.5 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,540,1.53,CRD,8.5 +VTS,1,1,600,1.69,CRD,9 +VTS,1,1,180,0.96,CRD,5 +VTS,1,1,540,2.05,CSH,8.5 +VTS,1,1,300,1.41,CRD,6 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,1,60,0.44,CSH,3.5 +VTS,1,1,540,1.7,CSH,8.5 +VTS,1,1,420,0.96,CSH,6.5 +VTS,1,1,420,1.34,CSH,7 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,1440,3.64,CRD,17.5 +VTS,1,1,360,1.44,CSH,7 +VTS,1,1,1080,11.95,CSH,32.5 +VTS,1,1,780,3.17,CSH,13 +VTS,1,1,420,1.72,CRD,8 +VTS,1,1,240,1.16,CRD,6 +VTS,1,1,1020,10.17,CRD,28.5 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,960,3.52,CSH,14.5 +VTS,1,1,1140,9.3,CRD,26.5 +VTS,1,1,780,1.96,CRD,10 +VTS,1,1,300,0.75,CSH,5 +VTS,1,1,240,0.97,CRD,5 +VTS,1,1,420,1.6,CRD,7 +VTS,1,1,180,0.96,CRD,5 +VTS,1,1,360,1.02,CSH,6.5 +VTS,1,1,240,1.19,CSH,5.5 +VTS,1,1,420,1.9,CSH,8 +VTS,1,1,540,1.52,CSH,8 +VTS,1,1,960,1.87,CSH,11.5 +VTS,1,1,480,0.95,CRD,7 +VTS,1,1,180,1.26,CRD,5.5 +VTS,1,1,420,1.42,CSH,7.5 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,240,0.76,CRD,5 +VTS,1,1,180,1.05,CSH,5.5 +VTS,1,1,780,3.6,CRD,13 +VTS,1,1,240,0.64,CSH,4.5 +VTS,1,1,240,1.54,CRD,6.5 +VTS,1,1,480,1.63,CRD,7.5 +VTS,1,1,540,1.28,CSH,7.5 +VTS,1,1,720,1.48,CRD,9.5 +VTS,1,1,900,5.81,CSH,19.5 +VTS,1,1,540,1.66,CSH,8 +VTS,1,1,360,1.04,CRD,6.5 +VTS,1,1,480,1.42,CRD,7.5 +VTS,1,2,840,2.84,CRD,11.5 +VTS,1,1,300,0.81,CRD,5 +VTS,1,1,240,0.71,CRD,5 +VTS,1,1,180,1.24,CSH,5.5 +VTS,1,1,420,1.28,CSH,7 +VTS,1,1,300,1.25,CRD,6 +VTS,1,1,300,1.06,CSH,5.5 +VTS,1,1,960,3.9,CRD,15.5 +VTS,1,1,300,2.12,CRD,7.5 +VTS,1,1,1680,5.62,CSH,23.5 +VTS,1,1,180,0.38,CSH,4 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,960,2.11,CSH,12 +VTS,1,1,300,1.44,CRD,6.5 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,240,0.84,CSH,5 +VTS,1,1,1620,3.16,CRD,18 +VTS,1,1,360,0.76,CRD,6 +VTS,1,1,420,2.41,CSH,9 +VTS,1,1,480,0.21,CSH,6.5 +VTS,1,1,300,1.33,CRD,6.5 +VTS,1,1,1260,2.16,CSH,14.5 +VTS,1,1,360,0.8,CRD,5.5 +VTS,1,1,180,0.51,CSH,4 +VTS,1,1,0,0.02,CSH,2.5 +VTS,1,1,840,2.43,CSH,11.5 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,1,1140,4.37,CRD,16.5 +VTS,1,1,240,0.83,CSH,5.5 +VTS,1,1,360,1.64,CSH,7.5 +VTS,1,1,120,0.75,CSH,4 +VTS,1,1,660,2.06,CSH,10 +VTS,1,1,300,1.36,CRD,6 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,1140,9.79,CRD,29 +VTS,1,1,420,1.42,CSH,7.5 +VTS,1,1,480,1.75,CSH,8 +VTS,1,1,300,1.39,CRD,6.5 +VTS,1,1,540,1.78,CSH,8.5 +VTS,1,1,780,3.16,CSH,12.5 +VTS,1,1,840,2.95,CSH,12.5 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,660,2.36,CRD,10 +VTS,1,1,540,1.3,CSH,8 +VTS,1,1,120,0.53,CRD,4 +VTS,1,1,240,1.12,CRD,6 +VTS,1,1,180,0.46,CRD,4.5 +VTS,1,1,540,3.03,CRD,10 +VTS,1,1,720,1.56,CRD,9.5 +VTS,1,1,840,3.45,CRD,13 +VTS,1,1,300,1.03,CSH,6 +VTS,1,1,1080,3.14,CSH,14 +VTS,1,1,540,1.84,CRD,8.5 +VTS,1,1,720,1.88,CSH,9.5 +VTS,1,1,960,2.73,CRD,12.5 +VTS,1,1,960,2.03,CRD,11.5 +VTS,1,1,720,2.52,CRD,11 +VTS,1,1,540,2.32,CSH,9.5 +VTS,1,1,600,2.26,CSH,9.5 +VTS,1,1,600,2.42,CSH,10 +VTS,1,1,540,2.22,CSH,9.5 +VTS,1,1,660,2.21,CSH,10.5 +VTS,1,1,240,0.88,CSH,5.5 +VTS,1,1,1080,2.89,CSH,14.5 +VTS,1,1,660,1.77,CSH,9.5 +VTS,1,1,780,2.71,CRD,11.5 +VTS,1,1,780,2.97,CRD,12.5 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,360,1.06,CSH,6 +VTS,1,1,240,0.9,CSH,5 +VTS,1,1,540,1.1,CRD,7.5 +VTS,1,1,300,1.99,CRD,7.5 +VTS,1,1,960,4.05,CSH,15.5 +VTS,1,1,2220,9,CRD,32.5 +VTS,1,1,720,3.25,CRD,12 +VTS,1,1,600,3.34,CSH,11.5 +VTS,1,1,480,2.37,CRD,9.5 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,480,1.57,CRD,8 +VTS,1,1,660,1.48,CSH,9 +VTS,1,1,900,2.45,CRD,11.5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,480,2.66,CSH,9.5 +VTS,1,1,1920,11.07,CRD,35.5 +VTS,1,1,660,2.19,CSH,10 +VTS,1,1,840,2.63,CRD,11.5 +VTS,1,1,1320,6.47,CSH,21.5 +VTS,1,1,360,1.41,CSH,7 +VTS,1,1,1140,2.47,CRD,13 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,900,2.99,CRD,12.5 +VTS,1,1,120,0.71,CSH,4.5 +VTS,1,1,540,2.04,CRD,9.5 +VTS,1,1,480,2.63,CSH,9.5 +VTS,1,1,300,1.33,CSH,6 +VTS,1,1,960,3.91,CRD,15 +VTS,1,1,900,5.95,CRD,19 +VTS,1,1,900,4.44,CRD,16 +VTS,1,1,660,2.7,CSH,10.5 +VTS,1,1,780,2.98,CRD,12 +VTS,1,1,720,2.47,CSH,10.5 +VTS,1,1,720,3.7,CRD,12.5 +VTS,1,1,420,1.36,CSH,7 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,1,360,1.79,CRD,7 +VTS,1,1,720,1.81,CRD,10 +VTS,1,1,840,4.12,CSH,15 +VTS,1,1,600,1.45,CRD,8.5 +VTS,1,1,600,1.42,CSH,8 +VTS,1,1,660,1.91,CSH,9.5 +VTS,1,1,1020,3.57,CRD,15 +VTS,1,1,1080,3.39,CRD,14.5 +VTS,1,1,480,1.22,CRD,7.5 +VTS,1,1,120,0.55,CSH,4 +VTS,1,1,420,1.77,CRD,7.5 +VTS,1,1,420,1.45,CSH,7 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,720,3.02,CRD,11.5 +VTS,1,1,540,1.84,CSH,8.5 +VTS,1,1,540,0.95,CSH,7.5 +VTS,1,1,120,0.53,CSH,4 +VTS,1,1,1080,4.08,CRD,15.5 +VTS,1,1,240,1.05,CRD,5.5 +VTS,1,1,1260,3.26,CRD,16 +VTS,1,1,840,2.37,CRD,11.5 +VTS,1,1,720,2.25,CSH,10 +VTS,1,1,1020,5.21,CRD,17 +VTS,1,1,600,2.72,CRD,11 +VTS,1,1,660,0.88,CSH,8 +VTS,1,1,540,3.62,CRD,12 +VTS,1,1,720,1.45,CSH,9.5 +VTS,1,1,540,2.07,CRD,9 +VTS,1,1,480,2.37,CRD,9.5 +VTS,1,1,780,2.3,CSH,11 +VTS,1,1,540,2.66,CRD,10 +VTS,1,1,840,2.99,CRD,12.5 +VTS,1,1,540,1.25,CSH,7.5 +VTS,1,1,240,1.53,CSH,6 +VTS,1,1,660,2.44,CSH,10.5 +VTS,1,1,480,1.46,CSH,7.5 +VTS,1,1,240,0.88,CRD,5.5 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,420,2.02,CRD,8.5 +VTS,1,1,660,0.89,CRD,8 +VTS,1,1,120,0.64,CSH,4 +VTS,1,1,120,0.5,CRD,4 +VTS,1,1,300,1.47,CSH,6.5 +VTS,1,1,540,1.95,CSH,9 +VTS,1,1,420,1.6,CSH,7 +VTS,1,1,840,3.69,CRD,14.5 +VTS,5,1,0,0,CRD,22 +VTS,1,1,840,2.86,CSH,12 +VTS,1,1,1440,3.56,CRD,18 +VTS,1,1,720,2.03,CSH,10 +VTS,1,1,780,3.25,CSH,12 +VTS,1,1,240,1.66,CSH,6.5 +VTS,1,1,1080,9.69,CRD,28 +VTS,1,1,1080,9.25,CRD,27.5 +VTS,1,1,360,0.86,CRD,6 +VTS,1,1,300,2.17,CSH,8 +VTS,1,1,420,1.47,CRD,7.5 +VTS,1,1,480,2.66,CRD,9.5 +VTS,1,1,120,0.77,CSH,4 +VTS,1,1,120,0.71,CSH,4 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,360,2.07,CSH,8 +VTS,1,1,660,1.02,CSH,8 +VTS,1,1,480,2.02,CSH,9 +VTS,1,1,1380,9.13,CRD,28.5 +VTS,1,1,300,1.23,CRD,5.5 +VTS,1,1,600,2.19,CSH,10 +VTS,1,1,360,1.33,CRD,7 +VTS,1,1,420,1.81,CRD,8 +VTS,1,1,420,2.46,CRD,9 +VTS,1,1,1380,10.48,CRD,31 +VTS,1,1,300,1.09,CRD,5.5 +VTS,1,1,1500,5.81,CSH,21.5 +VTS,1,1,420,1.67,CSH,7.5 +VTS,1,1,240,0.79,CSH,5 +VTS,1,1,420,1.81,CSH,7.5 +VTS,1,1,480,2.36,CSH,9.5 +VTS,1,1,720,1.46,CRD,9.5 +VTS,1,1,1380,3.71,CRD,17 +VTS,1,1,720,2.34,CSH,10 +VTS,1,1,240,1.28,CSH,6 +VTS,1,1,540,2.02,CRD,9 +VTS,1,1,540,1.66,CRD,8.5 +VTS,1,1,360,2.97,CRD,10 +VTS,1,1,180,0.92,CSH,5 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,960,1.99,CRD,11 +VTS,1,1,600,2.52,CRD,10 +VTS,1,1,360,1.39,CRD,6.5 +VTS,1,1,360,0.55,CRD,5.5 +VTS,1,1,240,0.58,CRD,4.5 +VTS,1,1,660,1.6,CRD,10 +VTS,1,1,1080,7.52,CSH,23.5 +VTS,1,1,660,2.38,CRD,11 +VTS,1,1,720,1.3,CRD,9 +VTS,1,1,240,0.77,CRD,5 +VTS,1,1,660,1.92,CSH,9 +VTS,1,1,420,1.33,CSH,6.5 +VTS,1,1,420,1.02,CRD,6 +VTS,1,1,540,1.32,CSH,8.5 +VTS,1,1,360,1.24,CSH,6.5 +VTS,2,1,2340,16.99,CSH,52 +VTS,1,1,600,1.4,CRD,8.5 +VTS,1,1,360,2.18,CRD,8.5 +VTS,1,1,180,0.62,CRD,4.5 +VTS,1,1,180,0.65,CSH,4 +VTS,1,1,240,1.46,CSH,6 +VTS,1,1,420,1.91,CRD,8.5 +VTS,1,1,120,0.56,CRD,4 +VTS,1,1,480,1.95,CSH,8.5 +VTS,1,1,540,2.5,CRD,10.5 +VTS,1,1,1140,8.46,CSH,26 +VTS,1,1,780,1.93,CSH,10 +VTS,1,1,1200,5.51,CSH,19.5 +VTS,1,1,360,0.78,CSH,6 +VTS,1,1,660,1.84,CRD,9 +VTS,1,1,180,0.92,CRD,5 +VTS,1,1,600,1.88,CRD,9 +VTS,1,1,480,2.8,CRD,10 +VTS,1,1,600,2.83,CRD,10.5 +VTS,1,1,660,1.87,CRD,9.5 +VTS,1,1,420,1.32,CSH,7 +VTS,1,1,240,1.36,CRD,6 +VTS,1,1,420,1.52,CRD,7.5 +VTS,1,1,540,1.72,CSH,8.5 +VTS,1,1,600,1.49,CRD,8.5 +VTS,1,1,780,3.52,CRD,13 +VTS,1,1,420,2.68,CSH,9.5 +VTS,1,1,300,1.39,CSH,6.5 +VTS,1,1,600,1.65,CSH,9 +VTS,1,1,360,1.24,CRD,6 +VTS,1,1,480,1.31,CRD,7.5 +VTS,1,1,660,2.13,CRD,10 +VTS,1,1,960,3.02,CSH,13 +VTS,1,1,1140,3.95,CRD,16.5 +VTS,1,1,120,0.68,CRD,4 +VTS,1,1,720,2.15,CRD,10 +VTS,1,1,420,1.24,CSH,6.5 +VTS,1,1,540,2.82,CRD,10 +VTS,1,1,420,1.16,CRD,6.5 +VTS,1,1,360,1.89,CSH,7.5 +VTS,1,1,720,2.18,CRD,10 +VTS,1,1,1080,9.67,CRD,27.5 +VTS,1,1,420,1.75,CRD,7.5 +VTS,1,1,300,1.29,CRD,6 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,600,2.01,CRD,9.5 +VTS,1,1,600,1.99,CRD,8.5 +VTS,1,1,840,4.06,CSH,14.5 +VTS,1,1,420,0.63,CRD,6.5 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,480,2.71,CRD,10 +VTS,1,1,1440,9.52,CRD,28 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,300,1.02,CRD,5.5 +VTS,1,1,240,1.64,CSH,6.5 +VTS,1,1,300,0.47,CSH,5 +VTS,1,1,660,2.01,CRD,9.5 +VTS,1,1,240,1.75,CRD,6.5 +VTS,1,1,540,2.04,CRD,9 +VTS,1,1,420,0.67,CRD,6.5 +VTS,1,1,540,2.05,CSH,8.5 +VTS,1,1,1080,2.66,CSH,13.5 +VTS,1,1,180,1.02,CRD,5 +VTS,1,1,300,1.2,CSH,6 +VTS,1,1,420,0.89,CSH,6.5 +VTS,1,1,780,2.31,CSH,11 +VTS,1,1,240,0.85,CSH,5.5 +VTS,1,1,420,0.93,CRD,7 +VTS,1,1,780,2.2,CRD,10.5 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,600,1.13,CRD,7.5 +VTS,1,1,120,0.51,CSH,3.5 +VTS,1,1,240,0.58,CRD,5 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,1020,3.09,CRD,13 +VTS,1,1,660,1.44,CRD,9 +VTS,1,1,600,2.18,CRD,9.5 +VTS,1,1,660,2.34,CSH,10.5 +VTS,1,1,600,2.25,CSH,9.5 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,300,1.09,CRD,5.5 +VTS,1,1,780,4.9,CRD,16.5 +VTS,1,1,780,2.43,CSH,10.5 +VTS,1,1,480,1.26,CRD,7.5 +VTS,1,1,600,1.5,CSH,8.5 +VTS,1,1,600,1.73,CRD,8.5 +VTS,1,1,600,3.19,CRD,11.5 +VTS,1,1,1500,7.82,CSH,26.5 +VTS,1,1,240,0.98,CRD,5.5 +VTS,1,1,420,1.16,CRD,6.5 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,1,300,1.14,CRD,6.5 +VTS,1,1,600,2.58,CSH,10 +VTS,1,1,360,0.81,CSH,5.5 +VTS,1,1,840,3.34,CRD,13 +VTS,1,1,540,2.3,CRD,9.5 +VTS,1,1,540,1.9,CSH,8.5 +VTS,1,1,540,1.14,CRD,7.5 +VTS,1,1,540,2.33,CSH,10 +VTS,1,1,60,0.24,CSH,3 +VTS,1,1,180,0.89,CSH,5 +VTS,1,1,540,1.73,CSH,8 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,360,1.39,CRD,7 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,660,1.88,CSH,9.5 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,1200,9.84,CRD,29 +VTS,1,1,120,0.75,CRD,4 +VTS,1,1,900,4.88,CRD,17 +VTS,1,1,180,0.88,CSH,5 +VTS,1,1,600,2.6,CSH,10.5 +VTS,1,1,420,1.48,CRD,7.5 +VTS,1,1,360,2.18,CRD,8.5 +VTS,1,1,1500,8.98,CRD,28 +VTS,1,1,1320,6.31,CRD,21.5 +VTS,1,1,1140,12.91,CRD,35.5 +VTS,1,1,360,1.1,CSH,6 +VTS,1,1,480,0.89,CSH,7 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,1080,4.28,CRD,16 +VTS,1,1,300,1.11,CRD,6 +VTS,1,1,540,1.35,CRD,7.5 +VTS,1,1,540,3.3,CRD,11 +VTS,1,1,1440,8.59,CSH,27 +VTS,1,1,1380,3.96,CRD,18 +VTS,1,1,540,1.73,CRD,9 +VTS,1,1,60,0.22,CSH,3 +VTS,1,1,300,1.2,CRD,6 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,300,0.74,CRD,5.5 +VTS,1,1,900,10.78,CRD,29.5 +VTS,1,1,2700,8.44,CSH,32.5 +VTS,1,1,360,1.91,CRD,7.5 +VTS,1,1,1500,14.84,CRD,40.5 +VTS,1,1,720,4.98,CRD,17 +VTS,1,1,1080,3.62,CSH,14.5 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,1,1080,7.42,CRD,23 +VTS,1,1,360,0.94,CRD,6 +VTS,1,1,600,3.98,CRD,12.5 +VTS,1,1,540,1.61,CSH,8 +VTS,1,1,420,1.84,CRD,8 +VTS,1,1,1380,9.21,CSH,28.5 +VTS,1,1,1440,10.47,CSH,30 +VTS,1,1,1140,1.18,CSH,12.5 +VTS,1,1,180,1.1,CRD,5.5 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,1,300,1.21,CSH,6 +VTS,1,1,1260,5.95,CRD,21 +VTS,1,1,1020,7.63,CRD,23.5 +VTS,1,1,1020,3.94,CRD,15 +VTS,1,1,840,2.28,CRD,11.5 +VTS,1,1,840,3.69,CSH,14 +VTS,1,1,360,1.52,CRD,7 +VTS,1,1,480,2.68,CSH,10 +VTS,1,1,1020,4.41,CRD,16.5 +VTS,1,1,180,1.28,CRD,5.5 +VTS,1,1,1020,10.39,CRD,29 +VTS,1,1,240,0.6,CRD,4.5 +VTS,1,1,60,0.29,CSH,3 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,1020,4.59,CRD,17 +VTS,1,1,1500,3.89,CSH,17.5 +VTS,1,1,780,1.85,CRD,10 +VTS,1,1,720,2.49,CSH,11 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,360,1.13,CRD,6.5 +VTS,1,1,120,0.52,CRD,3.5 +VTS,1,1,1200,4.73,CSH,17.5 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,540,1.34,CRD,8 +VTS,1,1,660,2.05,CRD,9.5 +VTS,1,1,840,7.67,CSH,22.5 +VTS,1,1,600,4.94,CSH,16 +VTS,1,1,240,1.18,CSH,5.5 +VTS,1,1,1800,3.17,CRD,20 +VTS,1,1,660,1.55,CRD,8.5 +VTS,1,1,480,2.39,CRD,9.5 +VTS,1,1,720,3.35,CRD,12 +VTS,1,1,1080,4.4,CRD,17 +VTS,1,1,240,0.56,CRD,4.5 +VTS,1,1,840,4.81,CRD,15.5 +VTS,1,1,420,2.34,CRD,10 +VTS,1,2,240,0.73,CRD,5 +VTS,1,1,960,6.84,CRD,21.5 +VTS,1,1,900,6.79,CRD,21 +VTS,1,1,840,4.11,CSH,14.5 +VTS,1,1,780,2.7,CRD,11 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,540,1.94,CSH,8.5 +VTS,1,1,240,1.79,CSH,6.5 +VTS,1,1,600,2.41,CSH,10 +VTS,1,1,780,2.56,CSH,11.5 +VTS,1,1,240,0.77,CRD,5 +VTS,1,1,240,1.13,CSH,5.5 +VTS,1,1,300,1.4,CSH,6 +VTS,1,1,360,1.67,CRD,7.5 +VTS,1,1,1020,3.91,CSH,14.5 +VTS,1,1,420,1.36,CRD,7 +VTS,1,1,720,1.57,CSH,9.5 +VTS,1,1,1380,9.85,CSH,29.5 +VTS,1,1,600,1.11,CRD,7.5 +VTS,1,1,960,6.24,CRD,19.5 +VTS,1,1,1080,3.43,CRD,14 +VTS,1,1,180,1.04,CSH,5 +VTS,1,1,720,3.7,CSH,13.5 +VTS,1,1,300,1.02,CSH,6 +VTS,1,1,300,1.27,CSH,6.5 +VTS,1,1,1020,4.33,CRD,15.5 +VTS,1,1,900,2.64,CRD,12 +VTS,1,1,1680,6.37,CSH,23.5 +VTS,1,1,660,3.65,CRD,13 +VTS,1,1,540,1.77,CSH,8.5 +VTS,1,1,780,2.35,CSH,11 +VTS,1,1,540,1.91,CSH,8.5 +VTS,1,1,840,6.63,CSH,20.5 +VTS,1,1,480,2.01,CRD,8.5 +VTS,1,1,420,1.43,CRD,7 +VTS,1,1,900,1.64,CRD,11.5 +VTS,1,1,420,1.99,CRD,8.5 +VTS,1,1,1260,7.65,CSH,22.5 +VTS,1,1,720,2.53,CRD,11 +VTS,1,1,720,3.01,CRD,12.5 +VTS,1,1,300,1.25,CRD,6.5 +VTS,1,1,360,1.47,CRD,7 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,720,4.07,CSH,13.5 +VTS,1,1,1500,3.96,CRD,18 +VTS,1,1,360,1.71,CRD,7.5 +VTS,1,1,720,2.82,CSH,11 +VTS,1,1,420,2.01,CRD,8.5 +VTS,1,1,660,2.23,CRD,10.5 +VTS,1,1,660,5.32,CRD,16.5 +VTS,1,1,660,2.25,CRD,10.5 +VTS,1,1,240,0.85,CRD,5 +VTS,1,1,1140,4.66,CSH,17 +VTS,1,1,180,0.54,CRD,4 +VTS,1,1,540,1.23,CSH,7.5 +VTS,1,1,900,2.24,CRD,11.5 +VTS,1,1,1800,3.15,CRD,19.5 +VTS,1,1,540,2.14,CRD,9 +VTS,1,1,180,1.19,CRD,5.5 +VTS,1,1,60,0.46,CSH,3.5 +VTS,1,1,540,1.53,CSH,8 +VTS,1,1,360,1.82,CRD,7.5 +VTS,1,1,960,4.42,CSH,16 +VTS,1,1,1140,3.77,CSH,16.5 +VTS,1,1,300,0.69,CRD,5 +VTS,1,1,2100,10.1,CRD,33.5 +VTS,1,1,360,0.6,CRD,5.5 +VTS,1,1,480,1.5,CRD,7.5 +VTS,1,1,300,0.69,CSH,5.5 +VTS,1,1,300,1.33,CRD,6.5 +VTS,1,1,660,2.67,CRD,11 +VTS,1,1,480,1.62,CSH,8 +VTS,1,1,1620,9.23,CSH,29.5 +VTS,1,1,360,0.98,CSH,6 +VTS,5,1,780,3.71,CRD,45 +VTS,1,1,720,2.68,CRD,11 +VTS,1,1,120,0.7,CRD,4 +VTS,1,1,420,1.57,CRD,7.5 +VTS,1,1,480,1.25,CSH,7.5 +VTS,1,1,480,2.23,CRD,8.5 +VTS,1,1,540,1.74,CRD,8.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,1140,10.51,CRD,30.5 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,360,1.34,CSH,6.5 +VTS,1,1,480,2.26,CSH,9 +VTS,1,1,900,2.71,CSH,12.5 +VTS,1,1,660,1.51,CSH,9 +VTS,1,1,420,1.72,CRD,7.5 +VTS,1,1,660,2.95,CRD,11.5 +VTS,1,1,600,2.32,CRD,9.5 +VTS,1,1,600,1.66,CRD,8.5 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,1080,5.12,CRD,18 +VTS,1,1,1320,4.21,CSH,17.5 +VTS,1,1,1920,18.95,CRD,51.5 +VTS,1,1,960,1.63,CSH,11 +VTS,1,1,420,0.59,CSH,6 +VTS,1,1,600,2.14,CSH,9.5 +VTS,1,1,540,1.95,CSH,8.5 +VTS,1,1,300,0.69,CRD,5 +VTS,1,1,1680,17.01,CRD,47 +VTS,1,1,300,1.23,CRD,6 +VTS,1,1,960,2.69,CRD,13 +VTS,1,1,540,1.53,CRD,8 +VTS,4,1,2460,7.11,CSH,24 +VTS,1,1,480,0.66,CRD,6.5 +VTS,1,1,600,1.08,CSH,8 +VTS,1,1,840,1.84,CSH,10.5 +VTS,1,1,2280,8.34,CRD,30 +VTS,1,1,660,2.23,CRD,10 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,1,600,1.41,CRD,8 +VTS,1,1,1140,3.34,CRD,15 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,420,1.13,CRD,7 +VTS,1,2,420,1.29,CSH,7 +VTS,1,1,600,3.5,CRD,11.5 +VTS,1,1,420,1.56,CSH,7.5 +VTS,1,1,300,1.09,CRD,6 +VTS,1,1,540,2.04,CRD,9 +VTS,1,1,2400,14.41,CSH,44 +VTS,1,1,780,2.19,CRD,11 +VTS,1,1,900,3.17,CRD,13 +VTS,1,1,1140,2.87,CRD,14 +VTS,1,1,840,2.83,CRD,12 +VTS,1,1,660,2.47,CRD,10.5 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,1,600,1.83,CSH,9.5 +VTS,1,1,300,1.01,CSH,5.5 +VTS,1,1,360,1.72,CRD,7.5 +VTS,1,1,360,0.9,CSH,6.5 +VTS,1,1,420,1.8,CSH,7 +VTS,1,1,480,2.01,CRD,8.5 +VTS,1,1,420,0.61,CSH,6 +VTS,1,1,360,1.58,CSH,7.5 +VTS,1,1,660,1.47,CRD,9 +VTS,1,1,600,2.18,CRD,9.5 +VTS,1,1,960,2.31,CSH,12.5 +VTS,1,1,1800,24.23,CRD,64 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,1,420,1.85,CSH,8 +VTS,1,1,420,0.98,CSH,6.5 +VTS,1,1,540,0.63,CRD,7 +VTS,1,1,300,1.93,CRD,7 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,780,2.63,CSH,11 +VTS,1,1,780,1.58,CRD,10 +VTS,1,1,360,1.46,CSH,7 +VTS,1,3,360,1.33,CSH,7 +VTS,1,2,420,0.74,CRD,6 +VTS,1,1,360,1.35,CRD,6.5 +VTS,1,1,2640,10.21,CSH,37.5 +VTS,1,1,600,1.89,CSH,8.5 +VTS,1,1,1380,3.97,CSH,17 +VTS,1,2,420,0.92,CRD,6.5 +VTS,1,1,540,2.21,CSH,9 +VTS,1,1,240,0.75,CRD,5 +VTS,1,1,480,3.8,CRD,12 +VTS,1,1,540,1.05,CRD,7.5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,660,2.18,CSH,10 +VTS,1,3,540,1.9,CSH,9 +VTS,1,2,480,0.47,CRD,6.5 +VTS,1,1,180,0.91,CRD,5 +VTS,1,1,60,0.58,CSH,4 +VTS,1,1,900,1.74,CRD,11 +VTS,1,1,720,4.2,CRD,14 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,1,1020,5.24,CRD,17.5 +VTS,1,1,360,1.31,CSH,6.5 +VTS,1,1,480,1.41,CRD,7.5 +VTS,1,1,60,0.31,CRD,3 +VTS,1,1,300,0.47,CSH,4.5 +VTS,1,1,720,1.51,CSH,10 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,1260,5.2,CSH,19.5 +VTS,1,1,480,1.24,CRD,7.5 +VTS,1,1,660,2.67,CRD,10.5 +VTS,1,1,720,2.03,CRD,10 +VTS,1,1,480,1.16,CSH,7 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,840,1.1,CSH,10 +VTS,1,1,420,1.68,CRD,7.5 +VTS,1,1,360,1.48,CSH,7 +VTS,1,1,480,1.35,CSH,7.5 +VTS,1,1,240,0.32,CRD,4.5 +VTS,1,1,360,0.59,CRD,5.5 +VTS,1,1,840,6.59,CRD,20.5 +VTS,1,1,1140,2.08,CRD,13 +VTS,4,1,900,2.49,CSH,12.5 +VTS,1,2,660,1.88,CSH,9.5 +VTS,1,1,360,1.09,CRD,6 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,300,0.99,CSH,6 +VTS,1,1,720,4.21,CRD,14.5 +VTS,1,1,360,1.11,CSH,6 +VTS,1,1,540,1.32,CSH,7.5 +VTS,1,1,2100,6.71,CRD,25.5 +VTS,1,1,240,0.68,CSH,5 +VTS,1,1,420,1.36,CRD,7 +VTS,1,1,360,1.45,CRD,7 +VTS,1,1,360,0.98,CSH,5.5 +VTS,1,1,240,0.74,CRD,5 +VTS,1,1,1200,8,CRD,24 +VTS,1,1,1020,2.45,CRD,13 +VTS,1,1,840,5.89,CRD,19 +VTS,1,1,240,0.63,CSH,5 +VTS,1,1,240,1.04,CRD,5.5 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,840,1.4,CRD,10.5 +VTS,1,1,840,1.15,CSH,9.5 +VTS,1,1,660,0.88,CRD,8.5 +VTS,1,1,900,2.39,CRD,12 +VTS,1,1,780,2.37,CRD,11.5 +VTS,1,1,780,3.92,CRD,14.5 +VTS,1,1,1200,2.75,CSH,12.5 +VTS,1,1,1200,7.53,CRD,25 +VTS,1,1,720,2.01,CRD,10.5 +VTS,1,1,480,1.75,CRD,8 +VTS,1,1,1740,10.81,CRD,35 +VTS,1,1,1260,10.58,CRD,31.5 +VTS,1,1,900,3.96,CRD,14.5 +VTS,1,1,720,1.45,CRD,9 +VTS,1,1,360,0.94,CSH,6.5 +VTS,1,1,360,1.21,CRD,6.5 +VTS,1,1,480,1.06,CRD,7 +VTS,1,1,2400,10.15,CRD,36.5 +VTS,1,1,420,1.1,CSH,7 +VTS,1,2,960,3.59,CSH,14.5 +VTS,1,2,660,5.63,CRD,17.5 +VTS,1,2,240,0.81,CRD,5 +VTS,1,2,240,1.12,CSH,5 +VTS,1,2,360,1.76,CSH,7.5 +VTS,1,2,720,2,CRD,9.5 +VTS,5,2,0,0,CRD,20 +VTS,1,2,540,2.35,CSH,10 +VTS,1,1,780,2.92,CRD,12 +VTS,1,1,360,1.06,CRD,6 +VTS,1,2,600,1.54,CRD,8.5 +VTS,1,2,240,0.7,CSH,4.5 +VTS,1,1,1020,3.43,CRD,14 +VTS,1,1,360,0.69,CSH,5.5 +VTS,1,1,360,1.52,CRD,7 +VTS,1,1,600,2.15,CRD,9 +VTS,1,1,540,2.06,CRD,9 +VTS,1,1,360,0.82,CRD,6 +VTS,1,1,1200,12.38,CRD,35 +VTS,1,1,420,0.9,CRD,6 +VTS,1,1,540,1.31,CSH,8 +VTS,1,1,180,0.39,CRD,4 +VTS,1,1,660,2.67,CSH,11 +VTS,1,1,600,2.54,CRD,10.5 +VTS,1,1,120,0.55,CRD,3.5 +VTS,1,1,2040,13.31,CRD,38.5 +VTS,1,1,660,2.23,CRD,10 +VTS,1,1,1260,4.9,CRD,19 +VTS,1,1,300,1.69,CRD,7 +VTS,1,1,540,0.99,CSH,7 +VTS,1,1,300,0.62,CSH,5 +VTS,1,1,720,1.81,CSH,10.5 +VTS,1,1,900,4.4,CSH,16 +VTS,1,1,1260,3.67,CSH,17 +VTS,1,1,1080,9.25,CRD,27.5 +VTS,1,1,1140,2.86,CRD,14 +VTS,1,1,900,5.1,CSH,18 +VTS,1,1,360,0.89,CSH,6 +VTS,1,1,780,2.23,CSH,10.5 +VTS,1,1,240,0.95,CSH,5.5 +VTS,1,1,1080,3.16,CRD,14.5 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,660,1.81,CSH,9.5 +VTS,1,1,960,2.68,CRD,12.5 +VTS,1,1,780,2.3,CSH,9 +VTS,1,1,720,4.09,CSH,13.5 +VTS,5,1,0,0,CRD,60 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,240,0.58,CRD,4.5 +VTS,1,1,660,2.55,CRD,10.5 +VTS,1,1,900,6.53,CRD,20.5 +VTS,1,1,900,4.25,CSH,14.5 +VTS,1,1,960,4.39,CRD,16 +VTS,1,1,600,1.72,CSH,9 +VTS,1,1,420,0.85,CRD,6.5 +VTS,1,1,240,0.87,CRD,5 +VTS,1,1,840,3.92,CRD,14 +VTS,1,1,780,3.85,CRD,13.5 +VTS,1,1,720,2.93,CSH,11.5 +VTS,1,1,660,3.25,CSH,12.5 +VTS,1,1,780,3.47,CSH,13 +VTS,1,1,1140,5.33,CRD,18.5 +VTS,1,1,720,2.36,CRD,11 +VTS,1,1,420,0.93,CRD,6.5 +VTS,1,1,540,1.4,CSH,7.5 +VTS,1,1,600,2.52,CRD,10.5 +VTS,1,1,660,3.12,CRD,11 +VTS,1,1,840,3.98,CRD,15 +VTS,1,2,420,1.4,CSH,7 +VTS,1,1,660,2.49,CRD,11 +VTS,1,1,540,2.7,CSH,10 +VTS,1,1,240,0.64,CSH,5 +VTS,1,2,1200,10.01,CRD,28.5 +VTS,1,1,420,1.3,CRD,7 +VTS,1,1,240,0.82,CSH,5 +VTS,1,1,600,1.98,CRD,9.5 +VTS,1,1,900,4.32,CRD,15.5 +VTS,1,1,600,1.58,CRD,8 +VTS,1,1,360,0.69,CRD,6 +VTS,1,1,600,1.85,CSH,9 +VTS,1,1,540,0.6,CRD,7 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,1,480,2.25,CSH,8.5 +VTS,1,1,480,1.13,CSH,7 +VTS,1,1,540,2.91,CSH,10.5 +VTS,1,1,420,1.33,CSH,7 +VTS,1,1,120,0.77,CRD,4 +VTS,1,1,540,2.66,CSH,10 +VTS,1,1,540,2.52,CSH,9.5 +VTS,1,1,480,1.34,CSH,7.5 +VTS,1,1,1500,11.19,CSH,33.5 +VTS,1,1,540,1.68,CSH,9 +VTS,1,1,480,1.36,CRD,7.5 +VTS,1,1,720,2.03,CRD,10 +VTS,1,1,780,4.18,CRD,15 +VTS,1,1,180,0.81,CSH,4.5 +VTS,1,1,300,1.16,CSH,6 +VTS,1,1,420,0.9,CSH,6 +VTS,1,1,300,1.12,CRD,6 +VTS,1,1,480,0.69,CSH,6.5 +VTS,1,1,780,1.49,CSH,9 +VTS,1,1,360,1.36,CRD,6.5 +VTS,1,1,1200,4.59,CRD,17.5 +VTS,1,1,480,1.3,CSH,7.5 +VTS,1,1,960,9.29,CRD,26 +VTS,1,1,240,1.33,CRD,6 +VTS,1,1,480,1.23,CSH,7.5 +VTS,1,1,1740,9.93,CRD,31.5 +VTS,1,1,1080,5.81,CSH,18.5 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,600,2.07,CRD,9.5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,420,2.46,CRD,9 +VTS,1,1,1260,6.25,CSH,21.5 +VTS,1,1,1080,3.18,CRD,14 +VTS,1,1,480,2.4,CRD,9.5 +VTS,1,1,1020,2.15,CSH,14 +VTS,1,1,780,1.54,CRD,10 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,1560,2.61,CRD,17 +VTS,1,1,1200,2.17,CRD,13 +VTS,1,1,240,0.93,CSH,5 +VTS,1,1,960,3.2,CSH,13.5 +VTS,1,1,600,1.35,CSH,8.5 +VTS,1,1,1680,7.21,CRD,26.5 +VTS,1,1,720,1.75,CSH,9.5 +VTS,1,1,1200,4.64,CRD,17 +VTS,1,1,420,0.72,CSH,6.5 +VTS,1,1,960,3.28,CRD,13.5 +VTS,1,1,420,1.65,CRD,8 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,720,3.9,CRD,13.5 +VTS,1,1,600,2.07,CRD,9.5 +VTS,1,1,240,0.7,CRD,5 +VTS,1,1,360,0.97,CRD,6.5 +VTS,1,1,540,1.48,CRD,8.5 +VTS,1,1,240,0.81,CSH,5 +VTS,1,1,660,2.15,CRD,9.5 +VTS,1,1,720,2.64,CRD,12 +VTS,1,1,300,1.21,CSH,6.5 +VTS,1,1,240,0.69,CRD,5 +VTS,1,1,480,1.94,CSH,8.5 +VTS,1,1,900,3.23,CRD,14 +VTS,1,1,600,4.03,CRD,13 +VTS,1,1,240,1.04,CRD,5.5 +VTS,1,1,240,1.21,CRD,6 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,1,660,1.55,CSH,9 +VTS,1,1,660,1.46,CRD,8.5 +VTS,1,1,360,0.38,CRD,5.5 +VTS,1,1,840,1.89,CRD,11 +VTS,1,1,480,2.26,CRD,9 +VTS,1,1,900,3.48,CSH,14 +VTS,1,1,120,0.82,CSH,4.5 +VTS,1,1,1260,1.98,CSH,13.5 +VTS,1,1,420,1.13,CSH,6.5 +VTS,1,1,840,2.49,CSH,11.5 +VTS,1,1,180,0.97,CRD,5 +VTS,1,1,540,2.72,CSH,9.5 +VTS,1,1,180,0.96,CRD,5 +VTS,1,1,1080,4.74,CRD,17 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,840,2.01,CRD,11.5 +VTS,1,1,960,2.87,CSH,13.5 +VTS,1,1,780,2.66,CRD,12 +VTS,1,1,300,1.25,CSH,6.5 +VTS,1,1,660,2.09,CRD,10 +VTS,1,1,1320,2.19,CRD,15 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,300,0.5,CSH,5 +VTS,1,1,600,1.21,CSH,8 +VTS,1,1,360,1.46,CSH,6.5 +VTS,1,1,720,1.32,CRD,9.5 +VTS,1,1,1500,3.52,CSH,17.5 +VTS,1,1,660,1.69,CRD,9.5 +VTS,1,1,600,1.51,CRD,8.5 +VTS,2,1,1200,8.52,CRD,52 +VTS,1,2,120,0.45,CSH,3.5 +VTS,1,1,540,2.58,CRD,9.5 +VTS,1,2,660,1.18,CRD,8.5 +VTS,1,2,480,2.24,CSH,8.5 +VTS,1,2,480,1.41,CSH,7.5 +VTS,1,2,2040,8.89,CSH,31 +VTS,1,2,180,0.26,CSH,4 +VTS,1,2,420,1.61,CSH,7.5 +VTS,1,2,780,4.43,CRD,14.5 +VTS,1,2,180,1.08,CRD,5.5 +VTS,1,1,240,1.22,CRD,6 +VTS,1,2,720,2.8,CSH,11.5 +VTS,1,1,360,0.69,CSH,5.5 +VTS,1,2,540,1.39,CSH,7.5 +VTS,1,2,660,1.6,CRD,9 +VTS,1,1,180,1.09,CRD,5 +VTS,1,2,1320,5.66,CRD,19.5 +VTS,1,2,300,1.59,CRD,7 +VTS,1,2,480,1.94,CSH,9 +VTS,1,1,900,4.67,CRD,16 +VTS,1,1,180,0.97,CRD,5.5 +VTS,1,1,300,1.21,CRD,6 +VTS,1,1,960,3.91,CSH,14.5 +VTS,1,1,240,1.11,CSH,6 +VTS,1,1,1200,6.72,CSH,23 +VTS,1,1,1260,4.53,CSH,17.5 +VTS,1,1,960,3.19,CRD,14 +VTS,1,1,480,2.49,CSH,10 +VTS,1,2,300,1.35,CSH,6 +VTS,1,1,900,5.46,CSH,17.5 +VTS,1,1,180,0.11,CSH,4 +VTS,1,1,840,2.3,CRD,11.5 +VTS,1,1,960,2.91,CRD,13 +VTS,1,1,420,1.84,CRD,8 +VTS,1,1,1080,3.81,CSH,16 +VTS,1,1,600,1.89,CRD,9 +VTS,1,1,600,2.99,CSH,11 +VTS,1,1,240,0.64,CSH,5 +VTS,1,1,600,1.75,CSH,9 +VTS,1,1,360,2.18,CRD,8 +VTS,1,1,720,3.64,CRD,13 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,1560,3.32,CRD,17 +VTS,1,1,1200,4.45,CSH,18 +VTS,1,1,1020,4.79,CSH,16.5 +VTS,1,1,600,1.72,CSH,9 +VTS,1,1,660,1.78,CRD,9 +VTS,1,1,1140,6.07,CSH,20 +VTS,1,1,60,0,CRD,2.5 +VTS,1,1,420,0.86,CSH,6.5 +VTS,1,1,2160,4.86,CRD,26 +VTS,1,1,420,1.29,CRD,7 +VTS,1,1,780,2.5,CSH,12 +VTS,1,1,240,0.79,CSH,5 +VTS,1,1,240,0.79,CSH,5 +VTS,1,1,240,1.3,CRD,6 +VTS,1,1,1380,8.81,CRD,27 +VTS,1,1,900,6.25,CRD,19 +VTS,1,1,420,1.16,CSH,7 +VTS,1,1,540,1.9,CRD,8.5 +VTS,1,1,780,1.6,CRD,10.5 +VTS,1,1,300,0.73,CSH,5.5 +VTS,1,1,360,0.92,CSH,6 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,1560,4.13,CRD,19.5 +VTS,1,1,360,1.36,CRD,7 +VTS,1,1,360,0.76,CRD,5.5 +VTS,1,1,180,0.34,CSH,4 +VTS,1,1,660,1.84,CSH,9 +VTS,1,2,480,2.13,CRD,8.5 +VTS,1,2,180,0.6,CSH,4.5 +VTS,1,1,480,1.72,CRD,8.5 +VTS,1,1,420,1.34,CRD,7 +VTS,1,1,660,1.81,CSH,9.5 +VTS,1,1,120,0.39,CRD,3.5 +VTS,1,1,1320,11.07,CSH,31.5 +VTS,1,1,480,1.04,CSH,7 +VTS,1,1,780,4.01,CRD,14 +VTS,1,1,1140,4.55,CRD,17.5 +VTS,1,1,300,1.23,CSH,6.5 +VTS,1,1,780,3.65,CRD,13 +VTS,1,1,660,1.42,CRD,9.5 +VTS,1,1,120,0.43,CSH,4 +VTS,1,1,420,2.63,CRD,9 +VTS,1,1,300,1.12,CSH,6 +VTS,1,1,840,4.84,CRD,16.5 +VTS,1,1,1560,4.95,CRD,21 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,480,1.07,CRD,7 +VTS,1,1,1380,11.07,CRD,33 +VTS,1,1,480,2.2,CSH,9 +VTS,1,1,720,2.03,CSH,10 +VTS,1,1,300,0.88,CRD,5 +VTS,1,1,1440,4.17,CRD,20 +VTS,1,1,1800,12.42,CRD,37.5 +VTS,1,1,420,1.67,CRD,7.5 +VTS,1,1,960,4.35,CRD,16.5 +VTS,1,1,900,3.04,CRD,12.5 +VTS,1,1,300,1.37,CRD,6.5 +VTS,1,1,1020,2.75,CRD,13 +VTS,1,1,240,1.18,CRD,6 +VTS,1,1,660,2.27,CRD,10 +VTS,1,1,240,1.06,CSH,6 +VTS,1,1,300,1.12,CRD,5.5 +VTS,1,1,120,0.36,CSH,3.5 +VTS,1,1,540,1.95,CSH,8 +VTS,1,1,180,1.05,CSH,5.5 +VTS,2,1,2580,19.09,CRD,52 +VTS,1,1,1980,19.63,CSH,53.5 +VTS,1,1,480,1.55,CRD,7.5 +VTS,1,1,900,1.59,CSH,10.5 +VTS,1,1,900,1.27,CRD,10.5 +VTS,1,1,1080,2.21,CSH,12.5 +VTS,1,1,780,1.55,CRD,9.5 +VTS,1,2,660,2.59,CSH,10.5 +VTS,1,1,900,2.34,CSH,12 +VTS,1,1,900,1.08,CRD,10 +VTS,1,1,480,2.02,CSH,8.5 +VTS,1,1,1140,3.64,CSH,15 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,960,2.72,CSH,12.5 +VTS,1,2,1800,10.62,CRD,34 +VTS,1,2,1920,10.84,CSH,33.5 +VTS,1,1,300,1.14,CSH,6 +VTS,1,1,480,1.61,CRD,7.5 +VTS,1,1,420,2.22,CSH,8.5 +VTS,1,1,420,1.39,CSH,7 +VTS,1,1,840,4.06,CRD,14.5 +VTS,1,1,180,0.37,CSH,4 +VTS,1,1,780,4.18,CRD,15.5 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,720,1.42,CRD,9.5 +VTS,1,1,1440,4.91,CSH,19.5 +VTS,1,1,600,1.58,CSH,9 +VTS,1,1,300,0.61,CRD,5 +VTS,1,1,420,1.03,CSH,6.5 +VTS,1,2,1080,7.08,CSH,22.5 +VTS,1,2,120,0.66,CRD,4 +VTS,1,2,720,3.33,CRD,12.5 +VTS,1,2,840,3.79,CSH,13.5 +VTS,1,2,720,1.41,CSH,9 +VTS,1,2,720,2.33,CSH,10.5 +VTS,1,2,420,1.81,CSH,7.5 +VTS,1,2,780,3.48,CSH,12.5 +VTS,1,2,540,2.26,CSH,9 +VTS,1,2,780,3.49,CRD,12.5 +VTS,1,1,600,1.38,CRD,8.5 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,960,3.53,CSH,14.5 +VTS,1,1,420,1.82,CRD,8 +VTS,1,2,600,1.94,CSH,9 +VTS,1,1,1380,4.68,CSH,20 +VTS,1,1,1620,9.2,CRD,30.5 +VTS,1,1,1440,5.58,CSH,21 +VTS,1,1,480,0.99,CSH,7 +VTS,1,1,240,2.12,CSH,7.5 +VTS,1,1,300,0.68,CSH,5.5 +VTS,1,1,240,0.77,CSH,5 +VTS,1,1,1140,4.26,CSH,16.5 +VTS,1,1,360,1.1,CSH,6 +VTS,1,1,300,1.68,CRD,7 +VTS,1,1,900,2.15,CSH,11.5 +VTS,1,1,660,2.6,CRD,11 +VTS,2,1,2820,17.68,CSH,52 +VTS,1,2,780,1.96,CSH,10.5 +VTS,1,2,420,1.61,CRD,7.5 +VTS,1,2,120,0.96,CSH,4.5 +VTS,1,2,480,1.5,CSH,8 +VTS,1,2,720,4.37,CSH,14 +VTS,1,2,300,0.81,CSH,5.5 +VTS,1,2,300,1.33,CRD,6 +VTS,1,2,900,2.92,CRD,12.5 +VTS,1,2,600,3.76,CRD,12.5 +VTS,1,1,600,0.91,CSH,8 +VTS,1,2,360,1.08,CSH,6 +VTS,1,3,480,2.72,CRD,10 +VTS,1,2,180,0.82,CSH,4.5 +VTS,1,1,600,4.16,CSH,13.5 +VTS,1,1,900,2.48,CRD,12 +VTS,1,1,600,1.91,CSH,9 +VTS,1,1,180,0.53,CRD,4 +VTS,1,1,540,1.94,CRD,8.5 +VTS,1,1,600,1.27,CRD,8 +VTS,1,1,960,6.05,CRD,19.5 +VTS,1,1,720,0.98,CSH,8.5 +VTS,1,1,540,0.93,CRD,7.5 +VTS,1,1,360,0.89,CRD,6.5 +VTS,1,1,600,2.36,CRD,9.5 +VTS,1,2,1620,11.04,CSH,33 +VTS,1,2,240,0.59,CSH,4.5 +VTS,1,1,540,1.46,CSH,8 +VTS,1,2,1020,6.74,CRD,21.5 +VTS,1,2,300,0.63,CRD,4.5 +VTS,1,1,420,1.51,CRD,7.5 +VTS,1,2,720,0.85,CRD,8.5 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,420,2.25,CRD,8.5 +VTS,1,2,480,1.18,CRD,7.5 +VTS,1,2,420,1.06,CSH,6.5 +VTS,1,2,420,2.1,CRD,8.5 +VTS,1,2,360,1.38,CSH,7 +VTS,1,2,1200,6.2,CRD,20.5 +VTS,1,2,420,1.16,CRD,6.5 +VTS,1,1,240,0.79,CRD,4.5 +VTS,1,1,420,0.94,CSH,6.5 +VTS,1,1,240,0.65,CRD,5 +VTS,1,1,720,2.8,CRD,11.5 +VTS,1,1,660,3.02,CSH,12 +VTS,1,1,1440,3.25,CRD,17 +VTS,1,1,480,1.45,CSH,8 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,2,720,1.64,CSH,9.5 +VTS,1,2,600,3.12,CSH,11.5 +VTS,1,2,1140,4.77,CSH,17.5 +VTS,1,2,720,2.98,CSH,11.5 +VTS,1,2,180,0.7,CSH,4.5 +VTS,1,1,1020,7.24,CRD,23 +VTS,1,1,540,1.14,CSH,7 +VTS,1,2,300,1.24,CRD,6 +VTS,1,3,300,0.95,CRD,6 +VTS,1,2,840,3.86,CSH,14 +VTS,1,2,780,2.94,CRD,12 +VTS,1,2,1080,4.03,CSH,15.5 +VTS,1,2,720,4.05,CSH,13.5 +VTS,1,2,360,1.03,CSH,6 +VTS,1,2,960,3.19,CSH,13 +VTS,1,2,300,0.81,CRD,5.5 +VTS,1,1,180,0.55,CSH,4 +VTS,1,1,1920,14.78,CRD,42.5 +VTS,1,2,240,0.64,CRD,5 +VTS,1,2,840,2.95,CSH,12 +VTS,1,2,1320,5.5,CRD,20 +VTS,1,2,600,1.3,CSH,8.5 +VTS,1,1,420,1.83,CSH,8 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,2,840,2.31,CRD,11 +VTS,1,1,900,1.74,CSH,10.5 +VTS,1,1,1320,9.48,CSH,28.5 +VTS,1,2,300,0.52,CSH,5 +VTS,1,1,840,2.52,CSH,12 +VTS,1,1,720,6.18,CRD,19 +VTS,1,1,600,4.3,CSH,14.5 +VTS,1,2,420,0.91,CRD,6.5 +VTS,1,1,1320,4.17,CRD,17.5 +VTS,1,2,420,0.9,CSH,6 +VTS,1,2,480,2.36,CRD,9.5 +VTS,1,2,240,0.86,CRD,5.5 +VTS,1,2,180,1.22,CSH,5.5 +VTS,1,2,1140,6.58,CRD,21.5 +VTS,1,2,300,0.95,CSH,6 +VTS,1,1,960,4,CSH,14.5 +VTS,1,2,540,2,CRD,9 +VTS,1,2,660,2.27,CRD,10 +VTS,1,2,180,0.95,CSH,5 +VTS,1,2,300,0.91,CRD,5.5 +VTS,1,1,300,1.09,CRD,6 +VTS,1,1,360,1.13,CSH,6 +VTS,1,2,1020,5.17,CRD,18 +VTS,1,1,420,1.33,CRD,6.5 +VTS,1,1,720,1.99,CRD,10 +VTS,1,1,420,1.73,CSH,8 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,1200,9.41,CRD,28.5 +VTS,1,1,720,2.47,CRD,11.5 +VTS,1,2,1860,6.57,CRD,25 +VTS,1,1,600,2.85,CRD,10.5 +VTS,1,2,660,4.15,CRD,13.5 +VTS,1,1,360,0.94,CRD,6 +VTS,1,1,360,0.67,CSH,5.5 +VTS,1,2,360,1.35,CRD,6.5 +VTS,1,1,600,2.78,CRD,10.5 +VTS,1,2,600,2.17,CRD,9.5 +VTS,1,2,240,0.86,CRD,5 +VTS,1,1,540,2.68,CSH,10 +VTS,1,1,1140,4.09,CRD,16 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,2,480,1.43,CSH,7.5 +VTS,1,2,240,1.06,CRD,5.5 +VTS,1,1,360,0.96,CRD,6 +VTS,1,1,120,0.69,CRD,4.5 +VTS,1,2,360,1.16,CSH,6.5 +VTS,1,2,240,0.96,CRD,5.5 +VTS,1,1,240,0.75,CSH,5 +VTS,1,1,600,2.36,CSH,10 +VTS,1,1,780,3.29,CRD,13.5 +VTS,1,1,240,0.76,CSH,5 +VTS,1,2,780,4.45,CRD,15 +VTS,1,2,600,2.83,CSH,10.5 +VTS,1,1,480,1.85,CRD,8.5 +VTS,1,1,300,1.33,CRD,6 +VTS,1,2,720,0.96,CRD,8.5 +VTS,1,1,240,1.07,CSH,5.5 +VTS,1,1,120,0.85,CRD,4.5 +VTS,1,2,1560,3.6,CRD,18.5 +VTS,1,1,600,1.61,CRD,8.5 +VTS,1,1,960,2.23,CRD,11.5 +VTS,1,2,1140,3.02,CRD,14 +VTS,1,2,420,2.65,CRD,9.5 +VTS,1,1,1080,4.5,CSH,16.5 +VTS,1,2,360,1.15,CSH,6 +VTS,1,1,660,4.36,CRD,14 +VTS,1,2,720,1.31,CSH,9.5 +VTS,1,1,780,4.21,CRD,14 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,2,420,1.52,CSH,7 +VTS,1,2,360,1.56,CSH,7 +VTS,1,2,600,3.11,CSH,11.5 +VTS,1,1,960,3.39,CRD,13.5 +VTS,1,1,720,2.41,CSH,11 +VTS,1,1,720,2.42,CRD,11 +VTS,1,2,960,4.36,CRD,15.5 +VTS,1,2,480,1.68,CRD,7.5 +VTS,1,1,600,2.45,CSH,10.5 +VTS,1,1,300,1.24,CSH,6 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,1,540,1.95,CRD,8.5 +VTS,1,1,660,1.28,CRD,8.5 +VTS,1,1,900,3.46,CSH,13 +VTS,1,2,1140,7.9,CRD,24 +VTS,1,1,60,0.17,CSH,3 +VTS,1,2,180,0.51,CSH,4 +VTS,1,1,360,2.5,CRD,9 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,3,300,1.15,CRD,6 +VTS,1,3,1020,2.78,CRD,14 +VTS,1,2,900,2.96,CSH,12 +VTS,1,2,540,3.62,CSH,12 +VTS,1,1,300,1.24,CSH,6 +VTS,1,3,480,1.69,CRD,8 +VTS,1,2,540,1.16,CSH,7.5 +VTS,1,1,660,2.35,CRD,10 +VTS,1,1,1200,6.64,CRD,22 +VTS,1,2,780,2.56,CRD,11.5 +VTS,1,1,900,3.19,CRD,13 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,240,0.83,CRD,5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,840,2.2,CRD,11 +VTS,1,1,540,1.29,CRD,7.5 +VTS,1,1,600,1.75,CSH,9 +VTS,1,1,600,2.54,CRD,10.5 +VTS,1,1,960,1.41,CRD,11 +VTS,1,1,1080,3.49,CRD,14.5 +VTS,1,1,420,1.35,CSH,7 +VTS,1,1,720,1.48,CRD,9 +VTS,1,1,900,1.81,CSH,10.5 +VTS,1,1,900,3.42,CRD,14 +VTS,1,1,360,1.29,CRD,7 +VTS,1,1,540,1.88,CRD,8.5 +VTS,1,1,960,6.05,CSH,20 +VTS,1,1,420,1.51,CSH,7.5 +VTS,1,1,1080,4.5,CRD,16.5 +VTS,1,1,720,2.01,CRD,10 +VTS,1,1,1080,7.23,CRD,23 +VTS,1,1,600,2.34,CSH,9.5 +VTS,1,1,720,3.46,CSH,12.5 +VTS,1,1,420,1.31,CRD,7 +VTS,1,1,120,0.65,CSH,4.5 +VTS,1,1,840,5.37,CRD,18 +VTS,1,1,1740,4.99,CRD,22.5 +VTS,1,1,900,3.78,CRD,15 +VTS,1,1,2280,3.14,CRD,23 +VTS,1,1,180,0.46,CRD,4 +VTS,1,1,420,1.23,CSH,6.5 +VTS,1,1,420,0.95,CRD,6.5 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,1,720,1.23,CRD,9 +VTS,1,1,480,1.36,CSH,7.5 +VTS,1,1,480,1,CRD,6.5 +VTS,1,1,840,5.69,CSH,18.5 +VTS,1,2,480,1.34,CSH,8 +VTS,1,2,660,3,CSH,11 +VTS,1,1,600,1.1,CSH,8 +VTS,1,2,360,1.68,CRD,7.5 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,1,480,2.38,CRD,9 +VTS,1,2,240,0.43,CSH,4.5 +VTS,1,2,1680,10,CRD,32 +VTS,1,2,720,3.11,CRD,12 +VTS,1,1,600,3.83,CSH,12.5 +VTS,1,2,1140,3.41,CSH,15 +VTS,1,1,420,1.58,CSH,7.5 +VTS,1,2,1500,6.79,CSH,23.5 +VTS,1,1,480,2.42,CRD,9.5 +VTS,1,1,240,0.95,CSH,5 +VTS,1,2,240,1.14,CRD,5.5 +VTS,1,2,1020,3.37,CRD,14.5 +VTS,1,2,480,1.34,CRD,7 +VTS,1,1,360,1.29,CRD,6.5 +VTS,1,2,480,1.67,CRD,8 +VTS,1,1,480,1.62,CRD,7.5 +VTS,1,2,180,1.3,CRD,5.5 +VTS,1,3,480,3.23,CRD,11 +VTS,1,1,420,1.54,CRD,7.5 +VTS,1,1,480,2.53,CRD,9.5 +VTS,1,1,600,1.28,CRD,8.5 +VTS,1,1,1500,7.54,CSH,24.5 +VTS,1,1,540,0.75,CRD,6.5 +VTS,1,1,240,0.65,CSH,5 +VTS,1,1,180,1.39,CSH,6 +VTS,1,3,720,4.21,CRD,14 +VTS,1,1,360,2.33,CSH,8.5 +VTS,1,2,120,0.43,CRD,3.5 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,2,1080,6.93,CRD,21.5 +VTS,1,2,660,3.33,CRD,12 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,2,1020,4.35,CRD,16 +VTS,1,2,120,0.32,CSH,3.5 +VTS,1,3,960,6.2,CSH,20.5 +VTS,1,2,780,2,CRD,9.5 +VTS,1,2,540,2.26,CSH,9.5 +VTS,1,2,240,1.25,CSH,6 +VTS,1,2,720,3.69,CSH,13 +VTS,1,2,180,0.8,CSH,5 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,2,120,0.49,CSH,3.5 +VTS,1,2,540,1.91,CRD,8.5 +VTS,1,1,900,2.18,CSH,11.5 +VTS,4,1,420,1.69,CRD,7.5 +VTS,1,1,480,1.89,CSH,8.5 +VTS,1,2,420,1.32,CRD,7.5 +VTS,1,2,420,1.08,CRD,7 +VTS,1,2,480,2.46,CRD,9.5 +VTS,1,1,180,0.55,CRD,4.5 +VTS,1,3,240,0.57,CSH,4.5 +VTS,1,2,1080,6.23,CRD,21 +VTS,1,1,360,1.37,CSH,7 +VTS,1,1,1140,6.08,CSH,20 +VTS,1,1,240,0.97,CSH,5 +VTS,1,1,600,1.89,CRD,9 +VTS,1,2,480,2.35,CSH,9.5 +VTS,1,3,780,3.6,CSH,13 +VTS,1,2,60,0.31,CSH,3 +VTS,1,2,300,0.88,CRD,5.5 +VTS,1,2,420,1.1,CSH,6.5 +VTS,1,1,540,1.61,CSH,8.5 +VTS,1,2,300,1.11,CSH,6 +VTS,1,1,1140,2.92,CRD,14.5 +VTS,1,2,540,2.33,CRD,9.5 +VTS,1,2,1200,6.76,CRD,21.5 +VTS,1,2,720,2.69,CRD,11.5 +VTS,1,3,840,3.93,CSH,14.5 +VTS,1,1,1380,8.27,CSH,25 +VTS,1,3,720,3.86,CSH,13.5 +VTS,1,2,1200,5.53,CRD,19.5 +VTS,1,1,840,4.37,CSH,16 +VTS,1,2,1560,8.28,CRD,26 +VTS,1,2,360,1.37,CRD,6.5 +VTS,1,1,300,0.94,CSH,6 +VTS,1,2,240,1.78,CRD,7 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,2,540,2.36,CRD,9.5 +VTS,1,1,900,3.55,CRD,14 +VTS,1,1,360,1.44,CRD,7 +VTS,1,1,360,2.24,CSH,8.5 +VTS,1,2,360,1.3,CRD,6.5 +VTS,1,1,540,2.95,CSH,10 +VTS,1,3,780,4.39,CSH,15 +VTS,1,1,420,1.88,CSH,8 +VTS,1,2,1440,9.03,CSH,28 +VTS,1,2,840,3.75,CSH,14.5 +VTS,1,2,480,1.97,CRD,8.5 +VTS,1,2,360,1.73,CRD,7.5 +VTS,1,3,660,2.24,CRD,9.5 +VTS,1,2,240,0.99,CRD,5.5 +VTS,1,1,660,2.73,CRD,10.5 +VTS,1,2,180,0.29,CRD,3.5 +VTS,1,2,540,2.17,CSH,9 +VTS,1,2,720,2.93,CSH,12 +VTS,1,2,840,3.21,CSH,13 +VTS,1,2,600,2.25,CSH,9.5 +VTS,1,2,600,2.29,CRD,9.5 +VTS,1,2,600,2.2,CRD,10 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,600,3.21,CRD,11 +VTS,1,1,1260,10.04,CRD,30 +VTS,1,2,120,0.76,CRD,4.5 +VTS,1,1,360,2.23,CRD,8.5 +VTS,1,2,360,0.82,CRD,5.5 +VTS,1,1,420,2.27,CRD,8.5 +VTS,1,1,480,1.47,CRD,8 +VTS,2,1,2340,20.17,CRD,52 +VTS,1,3,420,1.18,CRD,7 +VTS,1,1,1320,2.88,CSH,14 +VTS,1,2,600,2.03,CSH,9.5 +VTS,1,1,660,2.51,CSH,10.5 +VTS,1,1,300,1.35,CRD,6.5 +VTS,1,1,1320,3.61,CSH,16.5 +VTS,1,2,1440,6.39,CSH,22.5 +VTS,1,1,300,1.67,CRD,7.5 +VTS,1,2,1260,8.58,CRD,27 +VTS,1,2,840,6.91,CRD,21 +VTS,1,2,420,1.78,CRD,7.5 +VTS,1,2,360,1.49,CSH,7 +VTS,1,2,300,1.07,CSH,5.5 +VTS,1,2,480,1.79,CRD,8 +VTS,1,1,180,0.43,CSH,3.5 +VTS,1,2,720,3.84,CRD,13 +VTS,1,2,300,0.9,CSH,5.5 +VTS,1,2,480,2.24,CSH,9 +VTS,1,1,480,1.85,CRD,8.5 +VTS,1,1,180,1.04,CSH,5 +VTS,1,2,360,1.62,CSH,7.5 +VTS,1,2,360,1.36,CSH,6.5 +VTS,1,2,360,1.05,CSH,6 +VTS,1,2,360,0.89,CRD,6 +VTS,1,2,420,0.91,CRD,6.5 +VTS,1,2,360,0.85,CRD,6 +VTS,1,2,240,1.38,CSH,6 +VTS,1,3,900,5.5,CRD,18 +VTS,1,2,180,1.35,CSH,5.5 +VTS,1,2,360,1,CSH,6 +VTS,1,3,420,1.33,CSH,7 +VTS,1,2,660,2.73,CRD,11 +VTS,1,2,300,2.62,CRD,9 +VTS,1,2,240,0.83,CSH,5 +VTS,1,2,480,1.95,CSH,8.5 +VTS,1,2,300,1.66,CSH,7 +VTS,1,2,900,3.51,CRD,14 +VTS,1,2,360,2.2,CSH,8.5 +VTS,1,2,540,3,CRD,10.5 +VTS,1,2,480,1.61,CSH,8 +VTS,1,2,1500,7.45,CSH,25 +VTS,1,1,480,2.12,CSH,8.5 +VTS,1,2,360,1.5,CSH,7.5 +VTS,1,1,480,1.98,CSH,8 +VTS,1,3,300,0.92,CRD,5.5 +VTS,1,1,360,1.07,CRD,6 +VTS,1,2,420,2.25,CSH,9 +VTS,4,2,240,0.74,CRD,5 +VTS,1,2,480,1.68,CSH,7.5 +VTS,1,1,300,1.03,CSH,5.5 +VTS,1,1,900,4.61,CRD,15.5 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,2,540,1.71,CRD,8.5 +VTS,1,1,300,1.55,CSH,6.5 +VTS,1,2,720,3.4,CRD,13 +VTS,1,2,300,0.89,CRD,6 +VTS,1,2,420,0.91,CRD,6.5 +VTS,1,2,360,1.57,CRD,7 +VTS,1,2,240,0.82,CSH,5 +VTS,1,1,240,0.75,CSH,5 +VTS,1,2,180,0.74,CRD,4.5 +VTS,1,3,540,1.63,CSH,8 +VTS,1,2,120,0.46,CSH,3.5 +VTS,1,1,840,2.64,CRD,12 +VTS,1,3,540,1.84,CRD,9 +VTS,1,2,240,0.81,CSH,5 +VTS,1,1,1260,4.97,CRD,18 +VTS,1,1,540,1.6,CRD,8.5 +VTS,1,2,780,2.64,CSH,11 +VTS,1,2,720,2.56,CRD,10.5 +VTS,1,2,360,1.18,CRD,6.5 +VTS,1,2,420,1.38,CRD,7 +VTS,1,1,420,1.79,CRD,8 +VTS,1,2,360,1.71,CRD,7.5 +VTS,1,2,720,3.55,CRD,12.5 +VTS,1,2,120,0.45,CRD,3.5 +VTS,1,2,780,1.19,CRD,9 +VTS,1,2,600,1.63,CSH,9 +VTS,1,2,720,3.06,CRD,12 +VTS,1,2,1560,5.32,CSH,21 +VTS,1,2,1140,10.77,CRD,30 +VTS,1,2,660,2.77,CRD,10.5 +VTS,1,3,900,2.42,CSH,11.5 +VTS,1,2,300,1.07,CSH,6 +VTS,1,2,480,2.1,CRD,9 +VTS,1,2,780,4.13,CRD,14 +VTS,1,3,1380,5.99,CRD,21.5 +VTS,1,2,360,1.24,CSH,6.5 +VTS,1,3,1140,4.67,CSH,17 +VTS,1,2,300,0.75,CRD,5.5 +VTS,1,2,720,4.54,CRD,14.5 +VTS,1,1,1080,5.36,CSH,18 +VTS,1,2,540,1.24,CRD,7 +VTS,1,1,480,1.65,CRD,8 +VTS,1,2,720,2.61,CRD,11 +VTS,1,2,360,1.11,CSH,6.5 +VTS,1,1,720,2.73,CRD,11.5 +VTS,1,2,240,0.82,CSH,5.5 +VTS,1,2,960,4.14,CRD,15.5 +VTS,1,2,1320,10.44,CRD,31.5 +VTS,1,2,840,3.01,CRD,12.5 +VTS,1,2,660,3.87,CRD,14 +VTS,1,1,540,1.58,CRD,8.5 +VTS,1,2,420,1.01,CRD,6.5 +VTS,1,1,540,2.06,CRD,9 +VTS,1,2,540,1.82,CRD,8.5 +VTS,1,1,900,2.46,CSH,12 +VTS,1,2,180,0.6,CSH,4.5 +VTS,1,2,1200,5.34,CRD,18.5 +VTS,1,2,600,1.7,CRD,8.5 +VTS,1,2,540,1.68,CRD,8.5 +VTS,1,2,300,1.39,CSH,6 +VTS,1,2,660,1.97,CSH,9.5 +VTS,1,2,660,3.33,CRD,12 +VTS,1,1,1020,4.81,CRD,17 +VTS,1,2,180,0.71,CSH,4.5 +VTS,1,2,1320,5.99,CRD,21 +VTS,1,2,1140,3.46,CRD,14.5 +VTS,1,1,1080,2.72,CRD,13.5 +VTS,1,2,480,1.42,CSH,7.5 +VTS,1,2,300,1.09,CRD,6 +VTS,1,1,240,1.34,CSH,6.5 +VTS,1,2,1260,6.77,CRD,23.5 +VTS,1,2,600,2.02,CRD,9.5 +VTS,1,2,480,1.8,CSH,8.5 +VTS,1,2,360,0.69,CRD,5.5 +VTS,1,1,900,3.72,CRD,14 +VTS,1,2,720,5.77,CRD,18 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,2,1200,6.5,CSH,22 +VTS,1,2,240,0.73,CRD,5 +VTS,1,2,1140,6.99,CRD,22.5 +VTS,1,2,300,1.15,CSH,6 +VTS,1,2,300,1.46,CRD,6.5 +VTS,1,1,900,3.67,CRD,14 +VTS,1,2,600,3.05,CSH,11.5 +VTS,1,2,1440,6.79,CSH,23.5 +VTS,1,2,840,8.08,CSH,24.5 +VTS,1,2,1080,3.12,CSH,15 +VTS,1,3,720,4.08,CSH,13.5 +VTS,1,3,180,0.63,CSH,4.5 +VTS,1,1,660,1.51,CRD,9 +VTS,1,1,420,1.41,CSH,7.5 +VTS,1,1,780,3.2,CRD,12.5 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,960,7.37,CRD,22.5 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,540,2.18,CSH,9 +VTS,1,1,960,7.04,CSH,21.5 +VTS,2,2,2160,17.44,CSH,52 +VTS,1,1,1020,7.25,CSH,23 +VTS,1,1,480,1.69,CRD,8.5 +VTS,1,2,1500,10.44,CRD,32.5 +VTS,1,1,180,0.96,CSH,5 +VTS,1,1,180,1.26,CRD,5.5 +VTS,1,2,180,1.41,CRD,6 +VTS,1,4,660,2.87,CSH,11.5 +VTS,1,1,600,1.23,CRD,8 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,240,0.86,CRD,5.5 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,420,0.88,CRD,6.5 +VTS,1,2,780,3.9,CRD,14 +VTS,1,2,1500,7.01,CRD,24 +VTS,1,2,540,2.94,CRD,11.5 +VTS,1,2,180,1.11,CSH,5.5 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,1,600,2.83,CSH,11 +VTS,1,3,300,0.76,CSH,5 +VTS,1,1,600,1.5,CSH,8.5 +VTS,1,1,780,2.63,CRD,11.5 +VTS,1,1,480,1.24,CSH,7 +VTS,1,2,1200,9.36,CSH,28 +VTS,1,3,660,3.09,CSH,12 +VTS,1,1,60,0.64,CSH,4 +VTS,1,3,900,1.82,CRD,11 +VTS,1,1,0,0.32,CSH,3 +VTS,1,1,360,1.72,CSH,7 +VTS,1,1,420,1.77,CSH,8 +VTS,1,1,1140,3.09,CRD,14.5 +VTS,1,1,360,1.15,CSH,7 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,1080,1.98,CRD,12.5 +VTS,1,1,480,1.84,CRD,8.5 +VTS,1,1,600,2.19,CSH,9.5 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,420,1.17,CRD,7 +VTS,1,1,420,0.68,CSH,6 +VTS,1,2,1560,5.63,CSH,21.5 +VTS,1,2,0,0.01,CSH,2.5 +VTS,1,2,840,3.01,CRD,12.5 +VTS,1,1,300,1.31,CSH,6.5 +VTS,1,2,720,5.69,CRD,17.5 +VTS,1,2,660,1.94,CRD,10 +VTS,1,1,780,4.19,CSH,15 +VTS,1,1,180,0.78,CRD,4.5 +VTS,1,1,420,1.57,CRD,7.5 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,240,0.79,CRD,5 +VTS,1,2,840,1.95,CRD,11.5 +VTS,1,3,480,0.84,CSH,6.5 +VTS,1,1,720,3.63,CRD,12.5 +VTS,1,1,780,3.93,CSH,15 +VTS,1,2,120,0.61,CSH,4 +VTS,5,1,0,0,CRD,65 +VTS,1,1,360,1.04,CRD,6 +VTS,1,1,720,3.42,CRD,12.5 +VTS,1,1,780,2.93,CSH,12.5 +VTS,1,1,240,2.24,CSH,8 +VTS,1,1,540,3.28,CSH,11.5 +VTS,1,3,300,1.24,CRD,6.5 +VTS,1,1,660,2.86,CRD,11.5 +VTS,1,3,540,1.87,CRD,8 +VTS,1,1,360,1.79,CSH,7.5 +VTS,1,1,300,0.71,CSH,5 +VTS,1,2,780,3.59,CRD,13 +VTS,1,1,420,1.33,CSH,7.5 +VTS,1,1,300,0.65,CRD,5 +VTS,1,1,420,2.5,CSH,9 +VTS,1,2,360,0.98,CRD,6 +VTS,1,2,1380,3.37,CRD,16.5 +VTS,1,2,960,6.51,CSH,20.5 +VTS,1,1,480,1.31,CRD,7.5 +VTS,1,1,420,1.09,CSH,7 +VTS,1,2,360,1.38,CRD,7 +VTS,1,2,1560,11.63,CSH,34.5 +VTS,1,2,780,2.61,CRD,12 +VTS,1,1,1140,5.51,CRD,18.5 +VTS,1,2,240,1,CRD,5.5 +VTS,1,1,840,1.3,CRD,10 +VTS,1,3,120,0.2,CRD,3.5 +VTS,1,2,720,2.28,CSH,10 +VTS,1,1,600,3.02,CRD,11.5 +VTS,1,2,420,1.24,CRD,7 +VTS,1,2,720,3.55,CSH,12.5 +VTS,1,2,480,1.24,CSH,7 +VTS,1,1,60,0.28,CRD,3 +VTS,1,1,360,1.3,CRD,6.5 +VTS,1,2,1140,5.13,CRD,18.5 +VTS,1,2,1080,2.8,CRD,13.5 +VTS,1,2,600,2.26,CSH,9.5 +VTS,1,1,660,1.77,CRD,9 +VTS,1,1,960,3.49,CRD,15 +VTS,1,2,720,2.91,CRD,11.5 +VTS,1,1,600,2.35,CSH,10.5 +VTS,1,1,300,1.24,CSH,6.5 +VTS,1,2,1680,7.03,CRD,26 +VTS,1,2,780,8.85,CRD,24.5 +VTS,1,1,780,4.98,CSH,16.5 +VTS,1,1,240,1.31,CRD,6 +VTS,1,2,1380,5.62,CRD,20.5 +VTS,1,1,840,3.77,CSH,14 +VTS,1,1,300,1.33,CRD,6.5 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,1560,10.21,CSH,31.5 +VTS,1,1,1560,11.01,CRD,33 +VTS,1,1,780,6.78,CRD,20.5 +VTS,1,2,960,11.41,CRD,31.5 +VTS,1,1,900,9.12,CRD,26.5 +VTS,1,1,360,0.97,CRD,6 +VTS,1,4,420,1.81,CSH,8 +VTS,1,1,960,3.98,CRD,15.5 +VTS,1,1,780,2.37,CRD,11.5 +VTS,1,2,660,2.71,CRD,11 +VTS,1,1,300,1.66,CSH,7 +VTS,1,1,900,6.16,CSH,19 +VTS,1,1,540,2.79,CRD,10.5 +VTS,1,2,180,0.8,CRD,5 +VTS,1,3,1080,6.44,CRD,21.5 +VTS,1,2,360,1.46,CRD,6.5 +VTS,1,2,540,3.22,CRD,11 +VTS,1,1,240,0.76,CSH,5 +VTS,1,1,660,2.89,CSH,11 +VTS,1,2,180,1.18,CRD,5.5 +VTS,1,3,1260,3.44,CSH,16.5 +VTS,1,2,300,0.96,CSH,5.5 +VTS,1,1,360,0.78,CSH,6 +VTS,1,1,720,3.5,CRD,12.5 +VTS,1,2,240,1.14,CSH,6 +VTS,1,3,960,2.26,CRD,12.5 +VTS,1,2,180,0.77,CSH,4.5 +VTS,1,1,1320,5.14,CSH,18.5 +VTS,1,1,900,3.21,CRD,14 +VTS,1,1,120,0.93,CSH,4.5 +VTS,1,2,240,1.02,CRD,5.5 +VTS,1,2,360,0.88,CRD,6 +VTS,1,2,780,3.39,CRD,13.5 +VTS,1,2,420,1.69,CSH,8 +VTS,1,2,600,1.16,CSH,7.5 +VTS,1,2,420,1.57,CSH,8 +VTS,1,1,0,0,CSH,2.5 +VTS,1,2,1200,4.69,CRD,18 +VTS,1,2,1080,4.4,CRD,16 +VTS,1,2,1260,8.39,CRD,26 +VTS,1,1,180,1.16,CRD,5.5 +VTS,1,1,720,1.89,CSH,10 +VTS,1,2,540,2.29,CRD,9.5 +VTS,1,3,360,1.74,CSH,7.5 +VTS,1,2,180,0.52,CSH,4.5 +VTS,1,2,240,1.02,CSH,5.5 +VTS,1,2,840,5.71,CRD,19 +VTS,1,2,180,0.67,CSH,4.5 +VTS,1,1,420,0.89,CSH,6.5 +VTS,1,1,480,1.85,CRD,8 +VTS,1,2,540,1.99,CSH,9 +VTS,1,2,600,2.18,CRD,9.5 +VTS,1,2,1080,4.94,CRD,17.5 +VTS,1,2,1020,3.99,CRD,15 +VTS,1,1,840,3.7,CRD,13.5 +VTS,1,2,180,0.69,CSH,4.5 +VTS,1,2,540,1.81,CRD,8.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,2,780,2.73,CRD,11.5 +VTS,1,2,1560,6.56,CRD,23 +VTS,1,2,1020,2.77,CRD,13 +VTS,1,3,300,1.3,CRD,6 +VTS,1,2,240,0.84,CRD,5 +VTS,1,1,480,1.6,CRD,7.5 +VTS,1,2,180,0.57,CSH,4 +VTS,1,1,180,1.2,CRD,5.5 +VTS,1,2,360,2.26,CRD,8.5 +VTS,1,1,1560,11.64,CRD,34.5 +VTS,1,3,780,5.32,CRD,16.5 +VTS,1,1,540,4.39,CRD,14.5 +VTS,1,1,360,0.83,CRD,6 +VTS,1,1,600,2.85,CRD,10.5 +VTS,1,2,360,1.14,CRD,6.5 +VTS,1,1,1140,7.41,CRD,24 +VTS,1,1,660,1.02,CRD,8 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,960,2.73,CRD,13.5 +VTS,1,1,840,8.2,CRD,24 +VTS,1,1,60,0.55,CSH,3.5 +VTS,1,1,780,2.29,CRD,11 +VTS,1,4,780,3.4,CSH,13.5 +VTS,1,1,1740,6.48,CRD,23.5 +VTS,1,4,240,1.12,CSH,5.5 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,780,4.81,CSH,16 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,600,3.18,CRD,11.5 +VTS,1,1,120,1,CSH,4.5 +VTS,1,1,360,1.95,CSH,8 +VTS,1,3,900,3.07,CRD,13 +VTS,1,1,720,2.19,CSH,10.5 +VTS,1,1,420,1.47,CSH,7 +VTS,1,1,180,1.31,CSH,6 +VTS,1,1,360,1.7,CSH,7 +VTS,1,2,660,3.79,CSH,13 +VTS,1,1,360,1.34,CRD,7 +VTS,1,1,420,0.71,CSH,6 +VTS,1,1,240,0.99,CRD,5.5 +VTS,1,1,540,1.95,CSH,9 +VTS,2,2,1500,16.54,CRD,52 +VTS,1,3,600,1.68,CRD,8.5 +VTS,2,2,3540,20.1,CRD,52 +VTS,1,1,360,1.86,CSH,8 +VTS,1,1,420,2.18,CSH,8.5 +VTS,1,1,660,4.2,CSH,15 +VTS,1,1,1080,4.9,CRD,18 +VTS,1,1,300,1.2,CRD,6.5 +VTS,1,2,240,1.23,CSH,6 +VTS,1,1,240,0.99,CRD,5 +VTS,1,1,1140,3.63,CRD,15.5 +VTS,1,1,360,1.28,CRD,6.5 +VTS,1,1,720,2.01,CRD,9.5 +VTS,1,1,360,1.82,CSH,7.5 +VTS,1,1,420,2.48,CRD,9.5 +VTS,1,1,180,0.27,CRD,3.5 +VTS,1,1,300,1.31,CRD,6.5 +VTS,1,1,540,2.81,CSH,10 +VTS,1,2,660,2.56,CSH,11 +VTS,1,1,840,3.74,CSH,14.5 +VTS,1,1,180,0.75,CSH,5 +VTS,1,2,240,1.07,CSH,6 +VTS,1,2,420,1.7,CRD,7.5 +VTS,1,1,1200,2.2,CRD,13.5 +VTS,1,1,300,0.88,CSH,6 +VTS,1,3,900,4.79,CRD,17 +VTS,1,2,180,1.22,CSH,5.5 +VTS,1,3,180,0.69,CSH,4.5 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,480,2.55,CRD,9.5 +VTS,1,1,360,0.92,CRD,6.5 +VTS,1,2,540,1.51,CRD,8 +VTS,1,1,480,1.34,CSH,7.5 +VTS,1,1,960,2.86,CRD,13.5 +VTS,1,1,240,0.9,CRD,5 +VTS,1,1,180,0.98,CRD,5.5 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,2,300,0.7,CSH,5.5 +VTS,1,1,300,1.4,CSH,6 +VTS,1,2,660,2.21,CSH,10 +VTS,1,1,240,0.82,CSH,5.5 +VTS,1,2,180,1.05,CSH,5 +VTS,1,1,600,2.35,CSH,9.5 +VTS,1,1,360,1.8,CSH,7.5 +VTS,1,3,300,0.96,CSH,6 +VTS,1,1,540,2.07,CSH,9.5 +VTS,1,2,720,2.47,CSH,11 +VTS,1,1,1080,5.24,CRD,17.5 +VTS,1,1,1080,4.19,CRD,15.5 +VTS,1,1,1200,2.23,CSH,13.5 +VTS,1,2,360,0.72,CSH,5.5 +VTS,1,1,540,2.87,CSH,11 +VTS,1,2,540,1.52,CSH,8 +VTS,1,3,540,2.48,CSH,9.5 +VTS,1,1,120,0.78,CRD,4.5 +VTS,1,1,840,1.75,CRD,10.5 +VTS,1,1,180,0.59,CRD,4.5 +VTS,1,2,540,3.17,CSH,11 +VTS,2,1,1860,16.95,CRD,52 +VTS,1,1,180,1.13,CSH,5.5 +VTS,1,1,900,2.21,CSH,11.5 +VTS,1,1,420,0.74,CRD,6 +VTS,1,1,120,0.49,CRD,4 +VTS,1,1,120,0.26,CRD,3.5 +VTS,1,1,600,1.95,CSH,9 +VTS,1,1,540,1.08,CSH,7.5 +VTS,1,1,960,0.9,CRD,11 +VTS,1,1,360,1.55,CSH,7 +VTS,1,2,180,0.81,CRD,4.5 +VTS,1,2,360,1.01,CRD,6 +VTS,1,3,1140,4,CRD,16.5 +VTS,1,1,240,0.79,CRD,5 +VTS,1,2,840,3.03,CRD,12.5 +VTS,1,2,180,1.07,CRD,5 +VTS,1,1,360,1.06,CSH,6.5 +VTS,1,1,360,1.66,CSH,7 +VTS,1,1,120,0.79,CRD,4 +VTS,1,4,360,1.28,CRD,7 +VTS,2,2,1800,17.65,CRD,52 +VTS,1,3,300,0.7,CSH,5.5 +VTS,1,2,720,2.53,CRD,11 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,1620,10.14,CRD,32 +VTS,1,1,1200,8.15,CRD,25.5 +VTS,1,2,360,0.87,CRD,5.5 +VTS,1,1,960,2.15,CSH,12 +VTS,1,1,600,1.54,CSH,8.5 +VTS,1,1,720,1.48,CRD,9 +VTS,1,1,1080,2.14,CSH,13 +VTS,1,1,660,1.28,CSH,8.5 +VTS,1,2,180,0.3,CSH,4 +VTS,1,1,780,2.55,CRD,11 +VTS,1,1,120,0.42,CRD,4 +VTS,1,2,360,1.23,CSH,6.5 +VTS,1,2,720,1.65,CRD,9.5 +VTS,1,1,600,1.77,CSH,9.5 +VTS,1,1,420,2.24,CSH,9 +VTS,1,1,840,3.41,CRD,13 +VTS,1,3,180,0.42,CSH,4 +VTS,1,1,60,0.18,CSH,3 +VTS,1,2,540,1.46,CSH,8.5 +VTS,1,1,480,1.9,CRD,8.5 +VTS,1,1,840,2.65,CRD,12 +VTS,1,2,1020,2.94,CSH,13.5 +VTS,1,1,600,3.35,CSH,12.5 +VTS,1,1,360,0.77,CRD,6 +VTS,1,1,840,3.18,CRD,12.5 +VTS,1,1,180,0.51,CSH,4 +VTS,1,1,120,0.42,CSH,3.5 +VTS,1,1,360,0.9,CRD,5.5 +VTS,1,3,360,1.32,CSH,7 +VTS,1,1,1080,3.5,CRD,14.5 +VTS,1,1,180,0.81,CSH,4.5 +VTS,1,1,960,2.22,CSH,12 +VTS,1,2,1500,11.06,CSH,33 +VTS,1,1,600,1.75,CSH,9 +VTS,1,4,1560,2.67,CSH,17.5 +VTS,1,1,540,0.64,CRD,7.5 +VTS,1,1,1080,6.3,CRD,19.5 +VTS,1,1,780,1.75,CRD,10.5 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,1,900,2.22,CSH,11.5 +VTS,1,2,1260,10.66,CRD,30.5 +VTS,1,3,420,2.35,CRD,9 +VTS,1,3,360,0.93,CRD,6 +VTS,1,1,780,2.31,CRD,11.5 +VTS,1,1,600,0.99,CRD,7.5 +VTS,1,1,420,0.95,CSH,6.5 +VTS,1,1,360,0.61,CRD,6 +VTS,1,1,960,2.32,CRD,12 +VTS,1,1,420,0.9,CRD,6.5 +VTS,1,1,480,0.71,CRD,6.5 +VTS,1,1,360,1.48,CSH,7 +VTS,1,2,660,0.92,CRD,8 +VTS,1,1,540,1.06,CRD,7.5 +VTS,1,1,480,1.08,CSH,7 +VTS,1,3,960,1.65,CSH,11.5 +VTS,1,1,300,0.64,CSH,5.5 +VTS,1,1,720,3.62,CRD,13 +VTS,1,1,360,1.46,CRD,6.5 +VTS,1,2,840,2.69,CRD,12.5 +VTS,1,3,300,0.92,CSH,5.5 +VTS,1,2,360,1.22,CRD,6.5 +VTS,1,1,360,2.42,CRD,8.5 +VTS,1,2,480,1.09,CSH,7.5 +VTS,1,1,840,9.46,CSH,26.5 +VTS,1,1,540,2.96,CSH,11 +VTS,1,1,780,3.24,CSH,12.5 +VTS,1,1,720,4.53,CRD,15 +VTS,1,1,480,1.35,CRD,7.5 +VTS,1,1,660,4.59,CRD,14.5 +VTS,1,2,180,1.26,CRD,5.5 +VTS,1,1,660,5.92,CRD,17.5 +VTS,1,2,600,1.78,CRD,9 +VTS,1,1,120,0.53,CRD,3.5 +VTS,1,1,480,2.57,CSH,9.5 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,900,2.62,CRD,12.5 +VTS,1,4,1260,3.41,CSH,16.5 +VTS,1,2,540,1.51,CRD,8.5 +VTS,1,1,420,1.34,CRD,6.5 +VTS,1,2,240,0.97,CSH,5.5 +VTS,1,1,660,3.37,CRD,13 +VTS,1,2,1080,1.83,CRD,12.5 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,1200,4.52,CRD,17.5 +VTS,1,1,1320,3.95,CSH,17 +VTS,1,1,420,1.83,CRD,8 +VTS,1,1,240,1.33,CRD,6 +VTS,1,1,540,2.07,CRD,9 +VTS,1,1,300,1.26,CSH,6 +VTS,1,2,1140,9.89,CSH,28.5 +VTS,1,1,600,3.4,CSH,12.5 +VTS,1,1,540,1.21,CRD,7.5 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,240,0.77,CRD,5 +VTS,1,1,300,1.13,CSH,6 +VTS,1,1,240,1.16,CSH,6 +VTS,1,1,180,1.04,CRD,5 +VTS,1,2,420,1.51,CSH,7.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,240,1.87,CSH,7 +VTS,1,4,300,1.04,CRD,6 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,420,1.91,CRD,8.5 +VTS,1,1,480,1.15,CSH,7.5 +VTS,1,1,900,1.47,CRD,11 +VTS,1,2,180,0.79,CSH,4.5 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,1,480,1.51,CRD,7.5 +VTS,1,2,900,1.42,CRD,10.5 +VTS,1,1,420,1.37,CSH,7 +VTS,1,1,840,2.14,CRD,11.5 +VTS,1,1,1260,6.07,CRD,21 +VTS,1,1,240,1.42,CSH,6 +VTS,1,1,1440,5.95,CRD,23.5 +VTS,1,1,480,1.79,CRD,8.5 +VTS,1,1,300,2,CRD,8 +VTS,1,1,180,0.65,CSH,5 +VTS,1,1,960,5.22,CSH,17.5 +VTS,1,2,540,1.08,CRD,8 +VTS,1,3,300,0.91,CSH,5.5 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,4,480,1.24,CRD,7.5 +VTS,1,1,660,1.6,CRD,9 +VTS,1,2,660,1.5,CRD,9 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,120,0.34,CSH,3.5 +VTS,1,1,360,1.16,CSH,6 +VTS,1,1,660,1.67,CSH,9.5 +VTS,1,1,540,1.54,CSH,8.5 +VTS,1,1,540,1.43,CSH,8 +VTS,1,1,1380,3.13,CRD,16 +VTS,1,2,60,0.54,CRD,3.5 +VTS,1,1,300,0.66,CSH,5 +VTS,1,1,420,0.92,CSH,6.5 +VTS,1,1,720,1.08,CRD,9 +VTS,1,1,540,1.71,CRD,8 +VTS,1,1,420,1.11,CSH,6.5 +VTS,1,1,120,0.74,CRD,4 +VTS,1,2,720,2.43,CRD,11 +VTS,1,1,1380,4.51,CRD,19.5 +VTS,1,1,480,2,CSH,8.5 +VTS,1,2,660,3.73,CSH,13.5 +VTS,1,1,120,0.5,CSH,4 +VTS,1,1,360,1.76,CRD,8 +VTS,1,1,960,1.99,CRD,12 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,540,3.76,CRD,13 +VTS,1,1,960,4.6,CRD,16 +VTS,1,1,1080,4.53,CSH,17.5 +VTS,1,1,660,1.23,CRD,8.5 +VTS,1,1,840,2.29,CSH,11.5 +VTS,1,3,1020,2.09,CRD,12 +VTS,1,2,840,1.64,CRD,11 +VTS,1,2,1020,1.52,CRD,11.5 +VTS,1,4,1680,5.34,CSH,22.5 +VTS,1,3,540,1.32,CRD,7.5 +VTS,1,1,2940,13.83,CSH,45.5 +VTS,1,1,540,1.11,CSH,7 +VTS,1,2,1260,3.6,CRD,17 +VTS,1,2,420,1.44,CSH,7.5 +VTS,1,2,780,2.61,CRD,11.5 +VTS,1,1,480,1.55,CRD,8 +VTS,1,1,300,0.62,CSH,5.5 +VTS,1,1,540,3.18,CRD,10.5 +VTS,1,1,300,0.75,CSH,5 +VTS,1,1,600,1.6,CSH,8.5 +VTS,1,2,120,0.58,CSH,4 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,1,300,0.59,CRD,5 +VTS,1,2,300,0.96,CRD,6 +VTS,1,1,2400,5.09,CRD,26 +VTS,1,1,300,0.92,CRD,6 +VTS,2,1,1260,16.78,CSH,52 +VTS,1,1,180,1.53,CSH,6 +VTS,1,1,360,0.94,CRD,6 +VTS,1,2,420,0.97,CRD,7 +VTS,1,1,240,0.76,CSH,5 +VTS,1,1,540,0.69,CRD,7 +VTS,1,2,600,1.76,CRD,9 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,480,2.38,CRD,9.5 +VTS,1,2,240,1.02,CRD,5.5 +VTS,1,2,180,0.53,CSH,4 +VTS,1,2,240,0.99,CSH,5 +VTS,1,1,180,0.45,CRD,4 +VTS,1,1,420,0.7,CSH,6 +VTS,1,2,540,1.26,CRD,7 +VTS,1,1,480,2.38,CSH,9 +VTS,1,1,360,0.77,CSH,6 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,900,3.31,CSH,13.5 +VTS,1,1,1260,5.02,CRD,19 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,420,1.54,CSH,7.5 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,2,360,1.05,CSH,6.5 +VTS,1,4,1020,9.04,CSH,26.5 +VTS,1,1,300,1.08,CRD,6 +VTS,1,1,1680,7.33,CRD,25.5 +VTS,1,1,420,0.9,CSH,6.5 +VTS,1,1,360,0.75,CSH,5.5 +VTS,1,2,780,0.85,CSH,9 +VTS,1,2,1260,2.35,CRD,14.5 +VTS,1,1,1020,3.31,CSH,14.5 +VTS,1,1,480,1.24,CSH,7.5 +VTS,1,1,420,1.32,CRD,7.5 +VTS,1,1,900,2.52,CSH,12 +VTS,1,2,360,0.96,CSH,6 +VTS,1,2,360,2.21,CRD,8 +VTS,1,1,1200,3.43,CSH,15.5 +VTS,1,1,720,1.86,CSH,10 +VTS,2,1,2160,22.04,CRD,52 +VTS,1,2,1800,3.96,CSH,21.5 +VTS,1,1,300,1.21,CRD,6.5 +VTS,1,1,840,5.23,CRD,17 +VTS,1,1,720,5.51,CRD,17 +VTS,1,1,720,4.43,CRD,14 +VTS,1,1,1440,11.8,CSH,33.5 +VTS,1,1,360,1.52,CRD,7.5 +VTS,1,1,960,4.84,CSH,16 +VTS,1,1,1200,4.78,CRD,19.5 +VTS,1,2,540,2.01,CRD,9 +VTS,1,1,1020,1.48,CRD,11.5 +VTS,1,2,540,1.6,CSH,8.5 +VTS,1,1,720,1.9,CRD,10.5 +VTS,1,1,360,1.81,CSH,8 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,600,3.62,CRD,13 +VTS,1,1,540,1.13,CSH,7.5 +VTS,1,1,300,0.79,CSH,5.5 +VTS,1,2,960,2.98,CSH,13.5 +VTS,1,1,1020,4.41,CRD,15.5 +VTS,1,2,600,1.83,CSH,9 +VTS,1,3,720,2.71,CSH,12 +VTS,1,3,120,0.97,CSH,4.5 +VTS,1,2,540,2.9,CSH,11 +VTS,1,1,660,3.18,CRD,12 +VTS,1,1,420,1.23,CSH,7 +VTS,1,2,420,1.36,CSH,7 +VTS,5,1,420,2.33,CRD,40 +VTS,1,2,720,2.47,CSH,11 +VTS,1,1,900,4.78,CSH,16 +VTS,1,2,540,1.06,CSH,7.5 +VTS,1,2,1080,3.72,CRD,16 +VTS,1,1,1020,2.73,CSH,13 +VTS,1,1,660,1.91,CRD,9.5 +VTS,1,3,240,1.98,CRD,7 +VTS,1,2,120,0.42,CSH,3.5 +VTS,1,3,1020,3.34,CRD,14 +VTS,1,1,720,2.49,CRD,11.5 +VTS,1,1,720,2.44,CRD,10.5 +VTS,1,2,600,1.75,CRD,9 +VTS,1,4,840,2.67,CSH,11.5 +VTS,1,1,480,0.84,CSH,6.5 +VTS,1,1,1320,2.67,CRD,15.5 +VTS,1,1,1200,5.06,CRD,19 +VTS,1,1,540,1.78,CSH,8.5 +VTS,1,1,1200,2.07,CSH,13.5 +VTS,1,2,300,0.83,CSH,5.5 +VTS,1,1,600,0.96,CRD,8 +VTS,1,2,660,1.06,CRD,8.5 +VTS,1,1,960,1.91,CSH,12 +VTS,1,3,420,1.75,CRD,7.5 +VTS,1,1,360,1.35,CRD,6.5 +VTS,1,1,600,2.06,CRD,9.5 +VTS,1,3,720,2.55,CRD,11 +VTS,1,1,480,1.99,CRD,8.5 +VTS,1,1,240,0.72,CSH,5.5 +VTS,1,1,540,2.25,CSH,9 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,1,420,2.24,CRD,8.5 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,480,0.9,CRD,7 +VTS,1,3,900,1.71,CSH,10.5 +VTS,1,1,240,1.39,CSH,6.5 +VTS,1,2,2040,3.12,CSH,21 +VTS,1,1,1080,2.39,CSH,13 +VTS,1,1,600,1.69,CSH,9.5 +VTS,1,2,1140,3.2,CRD,15.5 +VTS,1,3,780,2.89,CRD,12 +VTS,2,2,2040,17.57,CSH,52 +VTS,1,1,360,1.71,CSH,7.5 +VTS,1,1,240,0.92,CRD,5.5 +VTS,1,2,960,1.74,CRD,11.5 +VTS,1,1,300,1.01,CSH,5.5 +VTS,1,4,840,2.06,CRD,11 +VTS,1,1,300,1,CSH,6 +VTS,1,2,600,2.26,CSH,10 +VTS,1,1,60,0.56,CSH,4 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,2,480,1.6,CSH,8 +VTS,1,1,420,0.97,CSH,6 +VTS,1,1,1020,2.16,CRD,12.5 +VTS,1,1,1200,1.92,CRD,13.5 +VTS,1,1,180,0.48,CSH,4 +VTS,1,1,300,0.73,CRD,5 +VTS,1,1,480,1.62,CRD,8 +VTS,1,1,1500,9.92,CRD,31 +VTS,1,2,180,0.7,CRD,4.5 +VTS,1,1,240,0.72,CSH,5 +VTS,1,1,960,3.24,CSH,14.5 +VTS,1,4,420,1.22,CSH,7 +VTS,1,1,660,1.29,CRD,9 +VTS,1,1,1080,2.31,CSH,13 +VTS,1,2,180,0.66,CSH,4.5 +VTS,1,1,120,0.66,CRD,4 +VTS,1,1,1740,13.03,CRD,38.5 +VTS,1,3,240,0.74,CRD,5 +VTS,1,3,540,1.03,CRD,7.5 +CMT,2,1,1816,21.1,CRD,52 +CMT,1,1,374,0.9,CSH,6 +CMT,1,1,1686,16.3,CSH,45.5 +CMT,1,2,1807,20.1,CSH,54 +CMT,1,1,505,1.6,CRD,8.5 +CMT,1,1,150,0.9,CSH,4.5 +CMT,2,2,2943,17.8,CRD,52 +CMT,1,2,189,0.6,CRD,4.5 +CMT,1,2,581,2.1,CSH,9.5 +CMT,1,1,670,2.8,CRD,11 +CMT,1,1,1327,5.2,CRD,19.5 +CMT,1,2,235,1.1,CSH,5.5 +CMT,1,1,357,1.5,CSH,7 +CMT,1,2,181,0.2,CSH,3.5 +CMT,1,2,1149,4.7,CRD,17.5 +VTS,1,1,600,2.51,CRD,10 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,2,480,1.84,CSH,8 +VTS,1,1,480,1.5,CRD,7 +CMT,1,1,1031,4.5,CSH,16 +CMT,1,1,425,1.6,CRD,7.5 +CMT,1,1,335,1.5,CRD,6.5 +CMT,1,1,1109,6.2,CRD,20 +CMT,1,2,566,2.6,CRD,10.5 +CMT,1,3,639,2.1,CSH,10 +CMT,1,1,103,0.5,CSH,4 +CMT,1,2,3593,15.9,CRD,56 +CMT,1,1,265,1.1,CSH,6 +CMT,1,2,1241,3.7,CRD,17 +CMT,1,1,1027,4.8,CRD,17.5 +CMT,1,2,199,0.5,CSH,4.5 +CMT,1,3,571,2.4,CRD,10 +CMT,1,2,955,2.4,CRD,12.5 +CMT,1,1,2098,15.5,CRD,43.5 +CMT,1,1,192,0.4,CSH,4 +CMT,1,1,1842,14.3,CSH,42 +CMT,1,3,1048,5.7,CRD,20 +CMT,1,1,1129,2.6,CSH,14.5 +CMT,1,1,313,0.6,CRD,5.5 +CMT,1,3,588,1.8,CSH,9 +CMT,1,1,984,4.9,CRD,17.5 +VTS,1,1,240,1.84,CSH,7 +VTS,1,2,600,1.02,CSH,8 +VTS,1,1,1020,2.58,CSH,13 +VTS,1,1,360,2.89,CRD,9.5 +VTS,1,3,300,1.25,CRD,6 +VTS,1,1,900,10.2,CRD,28.5 +VTS,1,1,300,1.2,CRD,6 +VTS,1,1,420,1.21,CRD,7 +VTS,1,1,240,0.78,CRD,5 +VTS,1,1,480,1.27,CSH,7.5 +VTS,1,1,660,1.82,CRD,9.5 +VTS,1,1,120,0.71,CSH,4 +VTS,1,1,660,3.11,CRD,12 +VTS,1,1,240,0.78,CRD,5 +VTS,1,1,600,2.28,CRD,9.5 +VTS,1,2,540,1.22,CRD,7.5 +VTS,1,2,420,1.21,CSH,6.5 +VTS,1,2,1260,9.71,CRD,28 +VTS,1,1,900,2.46,CRD,12 +VTS,1,1,480,0.83,CRD,7 +VTS,1,1,360,0.88,CSH,6 +CMT,1,2,600,2.5,CRD,10.5 +CMT,1,2,1000,4.6,CSH,17 +CMT,1,3,468,1.9,CSH,8.5 +CMT,1,1,146,0.4,CSH,4 +CMT,1,1,411,1.3,CSH,7 +VTS,1,3,780,2.32,CSH,11 +VTS,1,1,720,6.45,CSH,19 +VTS,1,1,1080,1.45,CRD,12 +VTS,1,1,240,0.78,CRD,5 +VTS,1,1,300,0.65,CSH,5.5 +VTS,1,1,1560,10.47,CRD,30.5 +VTS,1,2,1140,3.23,CRD,15 +VTS,1,1,720,1.38,CRD,9.5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,2,1,2160,17.69,CRD,52 +VTS,1,1,840,0.81,CSH,9 +VTS,1,2,1440,4.94,CSH,19 +VTS,1,1,660,1.23,CSH,8.5 +VTS,1,1,840,2.17,CSH,11.5 +VTS,1,1,1020,1.99,CSH,12 +VTS,1,1,600,1.47,CRD,8.5 +VTS,1,1,300,0.64,CRD,5.5 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,2280,10.45,CSH,35 +VTS,1,1,900,3.74,CRD,14 +VTS,1,1,600,3.09,CSH,11.5 +VTS,1,2,240,1.05,CSH,6 +VTS,1,2,600,2.44,CSH,10 +VTS,1,1,60,0.52,CSH,3.5 +VTS,1,2,300,1.44,CSH,6.5 +VTS,1,1,540,2.48,CRD,10 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,300,0.99,CSH,6 +VTS,1,2,600,0.8,CSH,7.5 +VTS,1,2,420,1.21,CRD,7 +VTS,1,1,300,1.74,CRD,7 +VTS,1,2,1500,5.26,CRD,22 +VTS,1,1,1080,2.45,CSH,13 +VTS,1,1,420,0.98,CRD,6.5 +CMT,1,1,1177,6.8,CSH,22.5 +CMT,1,2,423,2,CSH,8.5 +CMT,1,1,439,1.5,CRD,8 +CMT,1,1,1618,12.2,CRD,35.5 +CMT,1,1,621,1.5,CRD,8.5 +CMT,1,1,188,0.6,CSH,4.5 +CMT,1,1,840,2.4,CRD,11.5 +CMT,1,3,961,4.4,CSH,15.5 +CMT,2,1,1893,18.1,CSH,52 +CMT,2,1,1931,18.6,CSH,52 +CMT,1,1,639,0,CSH,2.5 +CMT,1,2,170,0.6,CRD,4.5 +CMT,1,2,498,1.7,CRD,8 +CMT,1,1,404,1.5,CRD,7 +CMT,1,1,459,2.1,CRD,8.5 +CMT,2,1,1917,19.3,CRD,52 +CMT,1,1,346,0.7,CSH,5.5 +CMT,1,1,966,3.7,CRD,15 +VTS,1,1,540,1.01,CSH,8 +VTS,1,1,960,1.74,CSH,11.5 +VTS,1,2,240,0.84,CSH,5.5 +VTS,1,2,420,1.34,CRD,6.5 +CMT,2,1,1483,17.2,CSH,52 +CMT,1,3,484,1.3,CSH,7.5 +CMT,2,3,2024,17.3,CSH,52 +CMT,1,1,335,0.9,CSH,6 +CMT,1,1,950,3.8,CRD,14.5 +CMT,1,2,815,4.1,CSH,14.5 +CMT,1,2,413,1.6,CRD,7.5 +CMT,1,1,646,4.7,CSH,14.5 +CMT,1,1,2442,14.9,CSH,44 +CMT,1,2,216,1,CSH,5 +CMT,1,2,1335,4.7,CRD,19 +CMT,1,1,2592,15.1,CRD,46.5 +CMT,1,1,1606,18.1,CRD,48 +CMT,1,1,837,6.9,CSH,21 +CMT,1,4,379,1.6,CRD,7 +CMT,1,1,317,1.5,CRD,7 +CMT,1,2,2397,11.9,CRD,39 +CMT,1,2,1840,17,CSH,46.5 +CMT,1,1,432,1.4,CSH,7 +CMT,1,1,440,1.2,CSH,7 +CMT,1,1,171,0.6,CRD,4.5 +CMT,1,1,450,1.1,CSH,7 +CMT,1,3,598,3.8,CRD,13 +CMT,1,1,1660,5.4,CRD,22 +CMT,1,4,197,0.9,CSH,5 +CMT,1,1,228,0.8,CRD,5 +CMT,2,1,1815,17.7,CSH,52 +CMT,1,1,724,2.4,CRD,10.5 +CMT,1,4,399,0.9,CRD,6 +CMT,1,2,734,1.5,CRD,9.5 +CMT,1,1,541,3.2,CRD,11.5 +CMT,1,2,1808,5.2,CSH,23 +CMT,1,4,487,1.8,CSH,8 +CMT,1,1,727,4.5,CRD,15 +CMT,1,2,616,2.4,CSH,10 +CMT,1,2,649,3.6,CRD,12 +CMT,2,1,2245,17.3,CSH,52 +CMT,1,1,1023,3.4,CSH,13 +CMT,1,1,1517,15.4,CRD,43 +CMT,1,2,1564,18.8,CSH,50.5 +CMT,1,1,222,0.8,CRD,5 +CMT,1,3,232,0.5,CRD,4.5 +CMT,1,2,534,0.7,CSH,7 +CMT,1,1,720,2.4,CRD,10.5 +CMT,1,2,275,1.1,CSH,5.5 +CMT,1,4,321,1.8,CSH,7.5 +CMT,1,1,644,2,CSH,9.5 +CMT,1,1,679,4.2,CSH,14.5 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,120,0.9,CSH,4.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,1080,2.07,CRD,12.5 +VTS,1,1,360,1.85,CSH,7.5 +VTS,1,4,600,1.64,CRD,9 +VTS,1,4,1440,5.06,CSH,20.5 +VTS,1,1,840,9.23,CRD,25.5 +VTS,1,1,720,2.33,CRD,11 +VTS,1,1,660,1.81,CSH,9.5 +VTS,1,1,480,2.08,CSH,9 +VTS,1,1,1020,4.08,CSH,15.5 +VTS,1,1,360,1.44,CSH,7 +VTS,1,2,840,2.38,CSH,12 +VTS,1,1,480,1.83,CRD,8.5 +VTS,1,1,960,2.31,CSH,12.5 +VTS,1,1,1080,3.21,CRD,14.5 +VTS,1,1,1440,2.04,CRD,16 +VTS,1,2,300,1.34,CRD,6 +VTS,1,1,1140,5.98,CSH,19.5 +VTS,1,1,120,0.43,CRD,4 +VTS,1,1,480,1.79,CSH,8 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,1,660,1.38,CSH,9 +VTS,1,1,960,6.09,CSH,19.5 +VTS,1,2,480,1.2,CSH,7 +VTS,1,1,480,1.96,CSH,8.5 +VTS,1,1,360,2.63,CSH,9 +VTS,1,1,360,1.23,CSH,6.5 +VTS,1,2,300,1.39,CSH,6.5 +VTS,1,1,540,1.82,CSH,8.5 +VTS,1,2,780,2.92,CSH,12 +VTS,1,1,1560,3.5,CRD,18.5 +VTS,1,1,180,0.62,CRD,4 +VTS,1,2,780,3.57,CSH,13 +VTS,1,1,600,2.88,CRD,11 +VTS,1,1,660,1.3,CRD,9 +VTS,1,1,480,0.81,CRD,7 +VTS,1,1,780,1.13,CRD,9 +VTS,1,1,480,0.77,CRD,6.5 +CMT,1,4,415,1.2,CRD,6.5 +CMT,1,2,679,4.3,CSH,14.5 +CMT,1,1,906,6.8,CSH,21 +CMT,1,2,1948,17.6,CRD,48 +CMT,2,1,2042,18.9,CSH,52 +CMT,1,4,233,0.7,CSH,5 +CMT,1,1,251,0.7,CRD,5 +CMT,1,2,404,1.6,CSH,7.5 +CMT,1,2,889,3.9,CRD,14.5 +CMT,1,2,631,2.6,CRD,10.5 +CMT,1,1,565,2.7,CRD,10 +CMT,1,1,566,2,CRD,9 +CMT,1,1,288,0.9,CSH,5.5 +CMT,1,4,197,0.5,CSH,4.5 +CMT,1,1,695,6.1,CRD,19 +CMT,1,1,470,1.6,CSH,8 +CMT,1,3,1654,11.8,CSH,35.5 +CMT,4,1,1071,8.1,CRD,34 +CMT,1,2,388,1.2,CSH,6.5 +CMT,1,1,1319,6.3,CRD,21 +CMT,1,1,165,0.5,CSH,4 +CMT,1,4,311,0.7,CSH,5.5 +CMT,1,2,364,0.9,CSH,6 +CMT,1,1,892,5.4,CRD,17 +CMT,1,3,969,6.1,CSH,18.5 +CMT,1,1,2257,24.2,CSH,64 +CMT,2,3,2160,16.3,CSH,52 +CMT,1,1,594,1.1,CSH,8 +CMT,1,1,1500,6.7,CSH,23.5 +CMT,1,1,365,1.3,CRD,6.5 +CMT,1,1,873,2.9,CRD,12 +CMT,1,1,616,2.4,CSH,10 +CMT,1,2,782,1.4,CSH,9.5 +CMT,1,2,1696,6.2,CSH,23.5 +CMT,1,2,753,3.2,CRD,12.5 +CMT,1,1,873,4,CRD,14 +CMT,1,2,560,1.1,CRD,8 +CMT,1,2,513,1.6,CSH,8.5 +CMT,1,1,1196,9.5,CRD,28.5 +CMT,1,1,930,4.7,CSH,16.5 +CMT,1,2,418,1.2,CRD,7 +CMT,1,1,1266,9.6,CRD,29 +CMT,2,1,1741,17.9,CSH,52 +CMT,1,1,571,2.7,CRD,10.5 +CMT,1,1,1590,11.5,CSH,34.5 +CMT,1,2,1005,7.8,CSH,23.5 +CMT,1,1,1068,6.2,CRD,21 +CMT,1,2,486,1.4,CSH,7.5 +CMT,1,1,318,0.7,CSH,5.5 +CMT,1,1,857,6.3,CRD,20 +CMT,2,1,1764,17.9,CRD,52 +CMT,1,2,1018,5.6,CSH,19 +CMT,1,1,551,1.2,CRD,7.5 +CMT,1,2,1894,6.9,CRD,26 +CMT,1,1,333,1.6,CRD,7 +CMT,1,1,365,1.4,CRD,7 +CMT,1,2,679,3.3,CRD,12.5 +CMT,1,2,732,3.6,CRD,13 +CMT,1,1,1487,2.7,CRD,15.5 +CMT,1,1,700,3.8,CSH,13 +CMT,1,2,294,0.7,CRD,5 +CMT,1,2,2530,6.7,CRD,30 +CMT,1,1,435,0.8,CRD,6.5 +CMT,1,1,1918,5.5,CRD,23 +CMT,1,1,539,2.2,CRD,9 +CMT,1,2,536,1.9,CSH,8.5 +CMT,1,3,497,2.3,CRD,9 +CMT,1,1,290,0.8,CSH,5.5 +CMT,1,1,236,0.9,CSH,5 +CMT,1,1,489,2.1,CRD,9 +CMT,1,1,1044,5.3,CSH,18.5 +CMT,1,1,313,1.2,CSH,6.5 +CMT,1,1,573,1.4,CSH,8 +CMT,1,4,602,1.7,CSH,9 +CMT,1,2,236,1.1,CSH,5.5 +CMT,1,1,243,1,CRD,5.5 +CMT,1,3,333,1.6,CRD,7 +CMT,1,2,603,1.7,CRD,9 +CMT,1,2,657,2.5,CRD,10.5 +CMT,1,1,732,4.9,CRD,15 +CMT,1,2,429,1.5,CSH,7.5 +CMT,1,1,1477,16.2,CSH,43.5 +CMT,1,1,276,0.9,CRD,5.5 +CMT,2,2,2812,17,CSH,52 +CMT,1,2,420,0.9,CSH,6.5 +CMT,1,2,324,0.8,CRD,5.5 +CMT,1,1,837,2.1,CSH,11 +CMT,1,2,1577,10.2,CSH,31 +CMT,1,2,427,1.6,CSH,7.5 +CMT,1,2,395,1.5,CSH,7 +VTS,1,1,420,1.88,CRD,8.5 +VTS,1,2,120,0.96,CRD,4.5 +VTS,1,2,780,6.09,CRD,18.5 +VTS,1,1,960,2.91,CSH,13 +VTS,1,1,240,0.63,CSH,5 +VTS,1,1,60,0.56,CRD,3.5 +VTS,1,1,720,2.49,CRD,11.5 +VTS,1,1,1500,3.16,CRD,17.5 +VTS,1,1,540,1.26,CSH,8 +VTS,1,1,1140,2.89,CRD,14.5 +CMT,1,4,1175,4.4,CSH,17 +CMT,1,4,1145,4.9,CSH,17.5 +CMT,1,3,1257,5,CRD,19 +CMT,1,2,188,0.6,CRD,4 +CMT,1,1,1533,19,CRD,50.5 +CMT,1,2,474,1.8,CSH,8 +CMT,1,4,372,0.5,CSH,5.5 +CMT,1,2,855,6,CSH,18.5 +CMT,1,2,2220,12.7,CSH,38.5 +CMT,2,3,2150,16.9,CSH,52 +CMT,2,3,1730,19.9,CSH,52 +CMT,2,1,1781,18.6,CSH,52 +CMT,1,2,248,0.5,CSH,4.5 +CMT,1,1,553,0.8,CSH,7.5 +CMT,1,1,3,0,NOC,2.5 +CMT,1,1,509,2.4,CRD,9.5 +CMT,2,3,2168,17.9,CSH,52 +CMT,1,1,913,2.9,CRD,12.5 +CMT,1,2,1607,16.1,CRD,45 +CMT,1,1,273,0.8,CSH,5.5 +CMT,1,2,355,1.9,CRD,8 +CMT,1,1,628,2.5,CRD,10.5 +CMT,1,3,388,2.2,CSH,8.5 +CMT,1,1,199,1.3,CRD,5.5 +CMT,1,1,181,0.5,CSH,4 +CMT,1,4,1009,3.6,CRD,14.5 +CMT,1,2,250,0.8,CSH,5 +CMT,1,4,706,2.4,CSH,10.5 +CMT,1,2,661,4.9,CSH,16.5 +CMT,1,2,234,0.2,CSH,4.5 +CMT,1,2,1438,3.7,CRD,17.5 +CMT,2,3,1876,17.8,CSH,52 +CMT,1,2,1114,6,CRD,19.5 +CMT,1,2,217,0.9,CRD,5 +CMT,1,1,227,1,CRD,5.5 +CMT,1,1,491,2.1,CRD,9 +CMT,2,1,2213,19.8,CRD,52 +CMT,1,1,409,1.3,CRD,6.5 +CMT,1,2,605,2.1,CRD,9.5 +CMT,1,2,172,0.8,CRD,4.5 +CMT,1,2,1521,11.6,CSH,34 +CMT,1,3,178,0.6,CSH,4.5 +CMT,1,1,893,2.8,CRD,13 +CMT,1,2,791,7.4,CSH,21.5 +CMT,1,1,1087,7.2,CSH,22 +CMT,1,1,747,2,CSH,10 +CMT,1,2,610,0.9,CSH,8 +CMT,1,1,683,3,CRD,12 +CMT,2,1,3619,17.2,CRD,52 +CMT,2,1,2121,16.6,CSH,52 +CMT,1,2,346,1,CRD,6 +CMT,1,1,289,1.3,CSH,6.5 +CMT,1,2,353,1.8,CRD,7.5 +CMT,1,1,325,1.1,CRD,6 +CMT,1,1,800,2.4,CRD,10.5 +CMT,1,4,1775,6.2,CSH,23.5 +CMT,1,1,776,4.3,CSH,14.5 +CMT,1,2,429,1.3,CRD,7.5 +CMT,1,1,2361,18,CRD,51 +CMT,1,1,1155,4.1,CRD,16.5 +CMT,1,1,376,1.4,CRD,7 +CMT,1,1,1361,5.2,CRD,20.5 +CMT,1,1,1414,3.7,CRD,17.5 +CMT,1,2,581,2.3,CRD,9.5 +CMT,1,2,921,3.1,CRD,13.5 +CMT,1,1,232,1.1,CRD,5.5 +CMT,1,1,39,0,CSH,2.5 +CMT,1,1,194,0.6,CRD,4.5 +VTS,1,1,540,1.89,CRD,9 +VTS,1,1,300,1.04,CRD,6 +VTS,1,2,600,1.59,CRD,8.5 +VTS,1,1,1080,9.06,CRD,26.5 +VTS,1,1,840,2.09,CSH,11.5 +VTS,1,1,540,0.58,CRD,6.5 +VTS,1,1,1200,5.18,CSH,18 +VTS,1,2,720,2.43,CRD,10.5 +VTS,1,1,420,1.24,CSH,7 +VTS,1,1,1560,5.78,CRD,24 +VTS,1,1,480,1.51,CRD,8 +VTS,1,1,1140,5.56,CRD,19 +VTS,1,2,600,1.79,CSH,9 +VTS,1,1,60,0.31,CRD,3 +VTS,1,2,1140,4.65,CSH,17 +VTS,1,1,660,6.34,CSH,18.5 +VTS,1,1,480,1.85,CSH,8.5 +VTS,1,1,480,1.63,CRD,8.5 +VTS,1,1,300,1.09,CRD,6 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,2,720,1.5,CSH,9.5 +VTS,1,1,120,0.51,CSH,4 +VTS,1,2,240,1.04,CRD,5.5 +VTS,1,1,1140,2.3,CSH,13.5 +VTS,1,2,720,2.17,CRD,10.5 +VTS,1,1,540,1.54,CRD,8 +VTS,1,1,780,1.91,CSH,10.5 +CMT,1,1,592,4.1,CRD,14 +CMT,2,2,1259,16.7,CSH,52 +CMT,2,2,2179,17.3,CSH,52 +CMT,1,4,373,1,CSH,6.5 +CMT,1,1,939,6.9,CSH,21 +CMT,1,1,201,0.5,CRD,4 +CMT,1,1,1063,3.4,CSH,14.5 +CMT,1,4,827,3.9,CRD,14 +CMT,1,1,1008,9.1,CSH,27 +CMT,1,2,786,2.2,CRD,11 +CMT,1,1,743,3.9,CRD,14 +CMT,1,2,1305,6.1,CSH,21 +CMT,1,2,482,4.9,CRD,15 +CMT,1,3,937,4.1,CRD,15.5 +CMT,1,1,973,4.9,CSH,18 +CMT,1,1,716,2.2,CSH,9.5 +CMT,1,2,1213,4.7,CRD,18.5 +CMT,1,1,323,1.4,CSH,6.5 +CMT,1,1,768,6.9,CSH,21 +CMT,1,1,184,0.4,CSH,4 +CMT,1,3,311,0.7,CRD,5.5 +CMT,2,1,1718,18,CRD,52 +CMT,1,2,842,3,CRD,12.5 +CMT,1,2,872,4.5,CRD,15.5 +CMT,1,1,806,4.8,CRD,17 +CMT,1,2,743,1.8,CSH,9.5 +CMT,1,3,672,1.8,CRD,9 +CMT,1,4,424,1.5,CRD,7 +CMT,1,4,350,1.3,CSH,6.5 +CMT,1,1,349,2.2,CSH,8.5 +CMT,1,1,136,0.5,CSH,4 +CMT,2,1,1940,20.1,CRD,52 +CMT,1,2,265,0.8,CSH,5 +CMT,1,1,402,1.1,CRD,6.5 +CMT,1,3,1311,8.3,CRD,27 +CMT,1,1,485,1.5,CRD,7.5 +CMT,1,1,1194,2.7,CSH,13 +CMT,1,1,821,2.1,CSH,10 +CMT,1,1,282,1.1,CSH,5.5 +CMT,1,1,174,0.2,CRD,4 +CMT,1,1,1027,3,CRD,13.5 +CMT,1,1,331,1.6,CSH,7 +CMT,1,2,277,0.5,CSH,5 +CMT,1,1,1262,5.1,CRD,18 +CMT,1,2,1000,3.1,CRD,13 +CMT,1,1,406,1,CRD,6.5 +CMT,1,1,479,1.7,CRD,8 +CMT,1,1,255,0.6,CSH,5 +CMT,1,2,981,3.9,CRD,14.5 +CMT,1,1,488,2.2,CSH,8.5 +CMT,5,1,1109,5.9,CRD,45 +CMT,1,1,671,2.9,CSH,11 +CMT,1,2,433,1.3,CSH,7.5 +CMT,1,1,871,3,CRD,12.5 +CMT,1,1,735,2.9,CRD,12 +CMT,1,1,999,2.9,CSH,13 +CMT,1,4,1787,7.5,CSH,27 +CMT,1,1,703,1.9,CRD,9.5 +CMT,1,2,886,3.3,CSH,13.5 +CMT,1,2,574,2.6,CSH,10 +CMT,2,1,1581,17.7,CRD,52 +CMT,1,1,717,1.5,CRD,9.5 +CMT,2,1,1340,15.7,CRD,52 +CMT,1,3,629,1.8,CRD,9.5 +CMT,1,1,2444,19.3,CRD,55.5 +CMT,1,2,419,1,CRD,7 +CMT,1,2,1170,3.4,CRD,14 +CMT,1,1,699,2.5,CRD,11 +CMT,2,2,1970,17.9,CRD,52 +CMT,1,2,793,3.4,CSH,14 +CMT,1,2,490,1.6,CSH,7.5 +CMT,1,2,1033,7.5,CSH,23 +CMT,2,1,1648,16.8,CRD,52 +CMT,1,2,2951,15.5,CRD,47.5 +CMT,5,1,45,0,CSH,25.5 +CMT,1,1,156,0.8,CRD,4.5 +CMT,1,1,126,0.8,CSH,4.5 +CMT,1,2,288,1.4,CSH,6.5 +CMT,2,1,1924,18.3,CRD,52 +CMT,1,1,376,1,CRD,6.5 +CMT,1,1,122,0.4,CSH,3.5 +CMT,1,1,741,4.4,CRD,14.5 +CMT,1,2,152,0.6,CRD,4 +CMT,1,1,635,4.1,CRD,13 +CMT,1,2,360,1,CRD,6 +CMT,1,1,1790,6.1,CSH,23.5 +CMT,1,2,776,2,CRD,11 +CMT,1,1,496,3.1,CRD,11 +CMT,1,1,226,0.7,CSH,5 +CMT,2,1,2228,21.8,CRD,52 +CMT,1,1,945,4.4,CRD,15.5 +CMT,1,1,470,2,CRD,8.5 +CMT,1,1,678,4,CRD,14 +CMT,1,1,270,1.8,CSH,7 +CMT,1,1,382,1.5,CSH,7.5 +CMT,1,1,220,0.5,CRD,4.5 +CMT,1,1,638,1,CSH,8 +CMT,1,1,826,3.6,CSH,14 +CMT,1,1,1304,13.2,CSH,37 +CMT,1,1,1117,5.4,CRD,19.5 +CMT,1,1,181,0.3,CSH,4 +CMT,1,1,413,1.3,CSH,7 +CMT,1,1,643,1.2,CRD,8.5 +CMT,1,1,303,1.6,CRD,6.5 +CMT,1,2,417,2.3,CRD,8.5 +CMT,1,1,207,0.6,CSH,4.5 +CMT,2,1,2565,18.3,CRD,52 +CMT,1,3,709,2.7,CRD,11 +CMT,1,1,715,3.1,CRD,12 +CMT,1,3,352,1.4,CRD,6.5 +CMT,1,2,577,5.9,CSH,17.5 +CMT,1,1,192,1,CRD,5 +CMT,1,3,247,0.4,CRD,4.5 +CMT,1,1,917,3.4,CRD,13 +CMT,1,1,1233,3.8,CSH,16 +CMT,1,1,315,1.2,CRD,6 +CMT,1,1,736,3.4,CRD,12.5 +CMT,1,4,965,4.2,CSH,15.5 +CMT,2,1,1773,18,CRD,52 +CMT,1,1,1025,5.3,CRD,18.5 +CMT,1,1,472,2.4,CSH,9.5 +CMT,1,1,623,2.8,CRD,11 +CMT,1,1,567,4.8,CSH,15 +CMT,1,2,449,3.1,CRD,11.5 +CMT,1,1,602,2,CSH,9.5 +CMT,1,1,951,4.9,CSH,16.5 +CMT,1,1,423,2.3,CSH,9 +CMT,1,2,207,0.8,CSH,5 +CMT,2,1,3193,17.9,CSH,52 +CMT,1,1,290,1.8,CRD,7 +CMT,1,1,861,4,CRD,14 +CMT,1,2,1585,14.8,CSH,40.5 +CMT,2,1,3881,18,CRD,52 +CMT,1,1,635,2.7,CSH,10.5 +CMT,1,1,236,1.1,CSH,5.5 +CMT,1,1,573,2.8,CSH,11.5 +CMT,1,1,390,1.3,CSH,7 +CMT,2,1,2748,17.8,CRD,52 +CMT,1,1,736,6.6,CRD,20 +CMT,1,1,916,1.9,CSH,11.5 +CMT,1,1,621,1.2,CRD,8 +CMT,1,1,322,1.3,CRD,6.5 +CMT,1,1,794,2.2,CRD,11 +CMT,1,1,868,3.4,CRD,13.5 +CMT,1,1,295,0.7,CRD,5 +CMT,1,1,231,0.6,CSH,5 +CMT,1,1,813,1.1,CSH,10 +CMT,1,1,423,1,CRD,6.5 +CMT,1,1,778,2.3,CRD,11 +CMT,1,1,524,2,CSH,9 +CMT,1,1,132,0.3,CSH,3.5 +CMT,1,1,842,2.4,CRD,11.5 +CMT,1,1,201,0.2,CRD,4 +CMT,1,1,633,2.7,CSH,11 +CMT,1,1,391,1.1,CSH,6.5 +CMT,1,1,418,1.5,CRD,7.5 +CMT,1,1,780,2.4,CSH,11 +CMT,1,1,507,2,CRD,8.5 +CMT,1,2,373,2.8,CSH,10 +CMT,1,1,57,0,CSH,2.5 +CMT,1,1,33,0,CSH,2.5 +CMT,1,1,404,1.6,CSH,8 +CMT,1,1,328,1.5,CRD,7 +CMT,1,1,417,1.4,CSH,7.5 +CMT,1,1,71,0.4,CSH,3.5 +CMT,1,1,1142,4.5,CSH,17 +CMT,1,1,1044,9.8,CRD,28 +CMT,1,1,1070,9.1,CRD,26 +CMT,1,1,851,8.1,CRD,23.5 +CMT,1,1,1126,7.7,CSH,24.5 +CMT,2,1,2520,17.4,CRD,52 +CMT,1,1,820,1.6,CSH,10.5 +CMT,1,1,528,1.9,CSH,9 +CMT,1,1,349,0.7,CSH,5.5 +CMT,1,1,170,0.7,CSH,4.5 +CMT,1,1,478,1.5,CSH,8 +CMT,1,1,268,1.2,CRD,6 +CMT,1,1,461,2,CSH,8.5 +CMT,1,1,303,1,CSH,6 +CMT,1,1,1052,6,CSH,20.5 +CMT,1,1,281,0.8,CSH,5.5 +CMT,1,1,152,0.9,CRD,5 +CMT,1,1,635,1.7,CRD,8.5 +CMT,1,1,714,1.7,CRD,9.5 +CMT,1,1,982,2.2,CRD,12 +CMT,1,1,1511,4.5,CRD,19.5 +CMT,1,1,865,2.4,CSH,12 +CMT,1,1,720,1.9,CSH,10.5 +CMT,1,1,222,0.9,CRD,5 +CMT,1,1,534,0.6,CRD,7 +CMT,1,1,85,0.3,CSH,3.5 +CMT,1,1,370,0.9,CRD,6.5 +CMT,1,1,405,1.3,CRD,7 +CMT,1,1,700,2.6,CRD,11.5 +CMT,1,1,178,0.5,CSH,4 +CMT,1,1,278,1.1,CRD,6 +CMT,1,1,380,1.1,CSH,6.5 +CMT,1,1,540,1.2,DIS,7 +CMT,1,1,50,0.2,CRD,3 +CMT,1,1,574,1.7,CRD,8.5 +CMT,1,1,407,1.2,CSH,7 +CMT,1,1,633,1.6,CSH,9.5 +CMT,1,1,151,0.7,CRD,4.5 +CMT,1,1,380,0.5,CRD,5.5 +CMT,1,1,210,1,CRD,5.5 +CMT,1,1,1683,97.8,NOC,2.5 +CMT,1,1,1204,9.5,CRD,28.5 +CMT,1,1,139,0.6,CSH,4.5 +CMT,1,1,235,0.7,CSH,5 +CMT,1,1,661,2,CRD,10 +CMT,1,1,274,0.7,CSH,5.5 +CMT,1,1,710,1.8,CRD,10 +CMT,1,1,449,1.4,CSH,7.5 +CMT,1,1,688,2.3,CRD,10.5 +CMT,1,1,623,1.5,CSH,9 +CMT,1,1,475,1.2,CSH,7.5 +CMT,1,1,954,1.8,CSH,12 +CMT,1,1,1105,5.5,CRD,19.5 +CMT,1,1,553,1.5,CRD,8.5 +CMT,1,1,499,0.7,CRD,7 +CMT,1,1,541,1.5,CSH,8 +CMT,1,1,424,0.8,CSH,6.5 +CMT,1,1,516,0.7,CRD,7 +CMT,1,1,1176,6.5,CRD,22.5 +CMT,1,1,415,0.9,CSH,6.5 +CMT,1,1,2051,8.1,CSH,28.5 +CMT,1,1,1561,4.4,CRD,20 +CMT,1,1,911,2.8,CRD,13 +CMT,1,1,1173,8.7,CRD,26.5 +CMT,1,1,446,1.3,CRD,7.5 +CMT,1,1,207,1,CSH,5.5 +CMT,1,1,891,2.1,CRD,11.5 +CMT,1,1,1059,2,CSH,12.5 +CMT,1,1,182,0.8,CRD,5 +CMT,1,1,808,3.2,CSH,12 +CMT,1,1,318,1.1,CSH,6 +CMT,1,1,38,0,CSH,2.5 +CMT,1,1,49,0,CSH,2.5 +CMT,1,1,296,1.5,CSH,7 +CMT,1,1,687,3.9,CRD,14 +CMT,1,1,240,1,CSH,5.5 +CMT,1,1,362,1.6,CRD,7.5 +CMT,1,1,351,0.8,CRD,6 +CMT,1,1,598,1.3,CRD,8 +CMT,1,1,167,0.7,CRD,4.5 +CMT,1,1,881,1.8,CSH,11 +CMT,1,1,556,1.6,CRD,8.5 +CMT,1,1,431,1,CRD,6.5 +CMT,1,1,207,0.6,CSH,4.5 +CMT,1,1,1096,3,CRD,15 +CMT,1,1,235,0.9,CRD,5 +CMT,1,1,908,2.3,CSH,12.5 +CMT,1,1,380,0.6,CRD,6 +CMT,1,1,571,1.4,CSH,8 +CMT,1,1,921,2.1,CSH,11.5 +CMT,1,1,544,1.6,CRD,8.5 +CMT,1,1,855,2,CRD,11 +CMT,1,1,856,2.2,CSH,11.5 +CMT,1,1,292,0.9,CSH,6 +CMT,1,1,421,1,CRD,6.5 +CMT,1,1,554,0.8,CRD,7.5 +CMT,1,1,745,1.4,CRD,9.5 +CMT,1,1,431,3.1,CSH,11 +CMT,1,1,886,6,CSH,18.5 +CMT,1,1,1143,3.6,CRD,15 +CMT,1,1,866,0.7,CSH,10 +CMT,1,1,337,0.7,CRD,5.5 +CMT,1,1,434,1.3,CRD,7 +CMT,1,1,418,1.2,CSH,7 +CMT,1,1,382,1.1,CSH,6.5 +CMT,1,1,336,1.1,CSH,6.5 +CMT,1,1,593,1.2,CSH,8 +CMT,1,1,593,1.5,CSH,8.5 +CMT,1,1,844,2.3,CRD,11 +CMT,1,1,1051,2,CSH,12 +CMT,1,1,676,1.9,CRD,10 +CMT,1,1,296,0.5,CSH,5 +CMT,1,1,1019,2.1,CSH,12.5 +CMT,1,1,950,5.6,CSH,18.5 +CMT,1,2,766,3.3,CRD,13 +CMT,1,1,386,1.6,CSH,7 +CMT,1,1,596,1.3,CRD,8.5 +CMT,1,2,152,0.5,CRD,4 +CMT,1,1,697,5.2,CRD,16.5 +CMT,1,2,1177,4.3,CRD,17.5 +CMT,2,1,2216,16,CRD,52 +CMT,1,1,670,1.9,CRD,9.5 +CMT,1,1,215,1,CSH,5.5 +CMT,1,1,1348,2.9,CRD,15.5 +CMT,1,1,184,0.4,CSH,4 +CMT,1,1,1009,2.3,CRD,12.5 +CMT,1,1,682,3.1,CRD,13 +CMT,1,1,476,1.7,CRD,8.5 +CMT,1,1,654,0.8,CSH,8 +CMT,1,1,1041,2.5,CRD,13 +CMT,1,1,479,0.6,CSH,6.5 +CMT,1,1,323,1.7,CSH,7 +CMT,1,1,469,1.6,CSH,8 +CMT,1,1,355,1.4,CSH,6.5 +CMT,1,1,305,0.9,CSH,5.5 +CMT,1,1,989,3.6,CSH,15 +CMT,1,1,387,0.8,CSH,6 +CMT,1,1,621,2.2,CRD,9.5 +CMT,1,1,1046,2.4,CRD,13 +CMT,1,1,948,1.3,CRD,11 +CMT,1,1,544,0.5,CSH,7 +CMT,1,1,600,1.6,CSH,8.5 +CMT,1,1,1350,3.2,CRD,18 +CMT,1,1,581,1.3,CRD,8 +CMT,1,1,464,1.2,CRD,7 +CMT,1,1,173,0.3,CRD,4 +CMT,1,1,226,0.6,CRD,5 +CMT,1,1,589,1.7,CRD,9.5 +CMT,1,1,692,2.3,CSH,11 +CMT,1,1,757,4.5,CRD,15.5 +CMT,1,1,989,3.3,CRD,15 +CMT,1,1,610,1.6,CSH,9 +CMT,1,1,645,2,CRD,10 +CMT,1,1,352,1.3,CSH,6.5 +CMT,1,1,501,1.3,CSH,7.5 +CMT,1,1,502,1.3,CRD,7.5 +CMT,1,1,1862,3.9,CSH,21.5 +CMT,1,1,881,2.2,CSH,12 +CMT,1,1,820,2.2,CRD,11 +CMT,1,1,496,2.1,CRD,9.5 +CMT,1,1,1378,3.8,CRD,17 +CMT,1,1,1254,3.3,CRD,16 +CMT,1,1,211,0.6,CSH,4.5 +CMT,1,1,967,2.3,CSH,12.5 +CMT,1,1,152,0.6,CSH,4 +CMT,1,1,470,1.2,CRD,7.5 +CMT,1,1,322,1,CSH,6 +CMT,1,1,835,3.1,CRD,12.5 +CMT,1,1,659,2.2,CRD,10.5 +CMT,1,1,826,1.6,CRD,10 +CMT,1,1,329,0.9,CSH,5.5 +CMT,1,1,642,1.9,CSH,9.5 +CMT,1,2,713,2.2,CSH,10.5 +CMT,1,2,619,3.5,CSH,12.5 +CMT,1,2,908,2.3,CSH,11.5 +CMT,1,1,129,0.8,CRD,4.5 +CMT,1,1,127,0.4,CSH,4 +CMT,2,2,2398,16.9,CRD,52 +CMT,1,1,507,1.7,CRD,8.5 +CMT,1,2,646,1.9,CRD,10 +CMT,1,1,1852,6.7,CRD,24.5 +CMT,1,1,1181,4.3,CRD,17 +CMT,5,1,2332,20.6,CRD,88 +CMT,1,1,1145,6.5,CRD,22 +CMT,1,1,433,1.5,CSH,8 +CMT,1,1,629,1.5,CRD,9 +CMT,1,1,1068,3.8,CSH,16 +CMT,1,1,563,1.8,CRD,9 +CMT,1,1,415,1.7,CRD,8 +CMT,1,1,257,1.3,CSH,6 +CMT,1,1,303,0.8,CSH,5.5 +CMT,1,1,945,3.3,CRD,14 +CMT,1,1,804,1.8,CSH,10.5 +CMT,1,1,1246,2.9,CSH,16 +CMT,1,1,1065,4.1,CSH,16.5 +CMT,1,1,329,0.9,CRD,6 +CMT,1,1,246,0.8,CSH,5.5 +CMT,1,1,664,3.1,CSH,11.5 +CMT,1,1,749,2.3,CSH,10.5 +CMT,1,1,238,0.5,CSH,4.5 +CMT,1,1,685,1.5,CRD,9 +CMT,1,1,1192,2.9,CSH,15 +CMT,1,1,403,1,CSH,7 +CMT,1,1,731,1.5,CSH,9.5 +CMT,1,1,1436,5.9,CRD,22 +CMT,1,1,167,0.8,CSH,5 +CMT,1,1,206,0.4,CSH,4 +CMT,1,1,844,2.2,CRD,11.5 +CMT,1,1,302,0.5,CSH,5 +CMT,1,1,862,3.2,CSH,13.5 +CMT,1,1,526,1.7,CSH,8.5 +CMT,1,1,192,0.7,CRD,4.5 +CMT,1,1,389,1.2,CRD,7 +CMT,1,1,402,1.6,CRD,7.5 +CMT,1,1,435,2.6,CRD,10 +CMT,1,1,1681,14.5,CSH,41 +CMT,1,1,1571,5.2,CRD,21.5 +CMT,1,1,561,1.1,CRD,8 +CMT,1,1,2560,12,CSH,41 +CMT,1,1,1291,7.9,CRD,25.5 +CMT,1,1,771,2.6,CRD,11.5 +CMT,1,1,594,1.1,CSH,8 +CMT,1,1,618,1.5,CSH,8.5 +CMT,1,1,253,0.9,CSH,5.5 +CMT,1,1,443,1.1,CRD,7 +CMT,1,1,538,1.6,CSH,8.5 +CMT,1,1,726,2.1,CRD,10.5 +CMT,1,1,1084,1.2,CSH,11.5 +CMT,1,1,130,0.3,CRD,3.5 +CMT,1,1,2834,4.3,CRD,28.5 +CMT,1,1,2035,8.9,CRD,32 +CMT,1,1,1637,5,CSH,21 +CMT,1,1,340,1.1,CRD,6.5 +CMT,1,1,980,1.7,CSH,12 +CMT,1,1,1001,2.2,CSH,12.5 +CMT,1,1,798,3.4,CSH,13 +CMT,1,1,575,0.8,CSH,7.5 +CMT,1,1,339,0.9,CRD,6 +CMT,1,1,690,2.1,CRD,10 +CMT,1,1,766,2.2,CRD,10.5 +CMT,1,1,243,0.7,NOC,5 +CMT,1,1,254,0.9,CSH,5.5 +CMT,1,1,696,2.8,CRD,11 +CMT,1,1,411,1.3,CSH,7 +CMT,1,1,1488,6.9,CRD,25.5 +CMT,1,1,399,0.9,CSH,6.5 +CMT,1,1,563,1.6,CSH,8.5 +CMT,1,1,1255,4,CSH,18.5 +CMT,1,1,1257,2.1,CRD,14 +CMT,1,1,592,1.3,CRD,8.5 +CMT,1,1,908,2,CRD,11.5 +CMT,1,1,659,3.1,CRD,11.5 +CMT,1,1,256,1,CSH,5.5 +CMT,1,1,837,2.5,CSH,12 +CMT,1,1,912,3.5,CRD,14 +CMT,1,1,209,0.5,CSH,4.5 +CMT,1,1,937,4,CRD,16 +CMT,1,1,449,1.7,CSH,8 +CMT,1,1,440,0.7,CSH,6 +CMT,1,1,444,1.8,CSH,8 +CMT,1,1,185,0.4,CRD,4 +CMT,1,1,591,2.4,CSH,10 +CMT,1,1,938,8.3,CRD,24.5 +CMT,1,1,1514,2.9,CRD,17 +CMT,1,1,122,0.3,CSH,3.5 +CMT,1,1,288,0.7,CRD,5 +CMT,1,1,476,2.1,CSH,9 +CMT,1,1,707,1.9,CRD,10 +CMT,1,1,812,1.9,CRD,11 +CMT,1,1,1240,2.7,CRD,14.5 +CMT,1,1,1770,10.1,CRD,32.5 +CMT,1,1,1135,2.9,CRD,14 +CMT,1,1,1226,2.5,CRD,14.5 +CMT,1,1,109,0.5,CSH,4 +CMT,1,4,1153,9.3,CSH,27.5 +CMT,1,2,253,1.2,CRD,5.5 +CMT,1,1,110,0.3,CSH,3.5 +CMT,1,1,873,3.2,CRD,13 +CMT,1,1,1333,2.5,CSH,15 +CMT,1,1,649,1.4,CRD,9 +CMT,1,1,478,1.3,CRD,7.5 +CMT,1,1,277,0.6,CRD,5 +CMT,1,1,1114,3.2,CSH,14.5 +CMT,1,1,375,0.8,CSH,6 +CMT,1,1,687,2.4,CRD,10.5 +CMT,1,1,201,0.5,CRD,4 +CMT,1,1,1967,5.2,CSH,23.5 +CMT,1,1,98,0.5,CRD,4 +CMT,1,1,744,1.9,CRD,10 +CMT,1,1,563,1.7,CSH,8.5 +CMT,1,1,128,0.4,CRD,3.5 +CMT,1,1,539,1.2,CRD,8 +CMT,1,2,715,2,CRD,9.5 +CMT,1,4,232,0.5,CSH,4.5 +CMT,1,1,402,1,CRD,6.5 +CMT,1,1,245,1.2,CRD,5.5 +CMT,1,2,427,0.8,CRD,6.5 +CMT,1,2,1112,3.7,CSH,15 +CMT,1,1,536,2.2,CSH,9 +CMT,1,1,1128,2.7,CRD,13 +CMT,1,1,1365,5.5,CRD,21 +CMT,1,2,1167,6.3,CRD,21 +CMT,1,1,2458,6,CSH,29 +CMT,1,1,622,4,CSH,14 +CMT,1,1,329,0.7,CSH,5.5 +CMT,1,1,633,0.9,CSH,8 +CMT,1,1,273,0.6,CRD,5 +CMT,1,1,205,0.7,CRD,5 +CMT,1,1,129,0.4,CSH,4 +CMT,1,1,174,0.6,CSH,4 +CMT,1,1,635,1.5,NOC,8.5 +CMT,1,1,458,1.7,CSH,8 +CMT,1,1,108,0.5,CSH,4 +CMT,1,1,1268,8.2,CSH,26.5 +CMT,1,1,478,0.9,CRD,7 +CMT,1,1,236,0.3,CRD,4.5 +CMT,1,1,756,0.8,CSH,9 +CMT,1,1,463,1.1,CSH,7 +CMT,1,1,714,1.3,CRD,9 +CMT,1,1,151,0.2,CRD,3.5 +CMT,1,1,785,1.9,CRD,10 +CMT,1,1,419,0.9,CSH,6.5 +CMT,1,1,1212,2,CRD,14 +CMT,1,1,985,3.4,CRD,14.5 +CMT,1,1,750,2.4,CRD,11 +CMT,1,1,6,0,NOC,2.5 +CMT,1,3,1778,6.7,CSH,24 +CMT,1,2,1734,6.1,CSH,23 +CMT,1,1,70,0.5,CSH,3.5 +CMT,1,1,303,1.8,CSH,7.5 +CMT,1,2,476,2,CRD,8.5 +CMT,1,2,792,3.9,CSH,14 +CMT,1,1,424,1.8,CRD,8 +CMT,1,1,465,1,CRD,7 +CMT,1,2,860,3.8,CSH,14 +CMT,1,1,1260,3.2,CRD,15.5 +CMT,1,3,318,0.8,CRD,5.5 +CMT,1,1,517,1.2,CSH,7.5 +CMT,1,1,1026,3.8,CRD,15.5 +CMT,1,1,360,3.1,CRD,10.5 +CMT,1,1,321,0.9,CSH,6 +CMT,1,1,369,1.3,CRD,6.5 +CMT,1,1,597,2.9,CRD,10.5 +CMT,1,2,577,1.8,CSH,9 +CMT,1,3,390,2.1,CRD,8.5 +CMT,1,2,929,5.8,CSH,18 +CMT,1,1,412,1.2,CSH,7 +CMT,1,1,374,1.3,CSH,7 +CMT,1,2,356,1.4,CSH,6.5 +CMT,1,3,466,1.9,CRD,8 +CMT,1,1,571,0.6,CSH,7 +CMT,1,1,631,1.6,CRD,8.5 +CMT,1,1,641,2.1,CSH,9.5 +CMT,1,2,1315,4.1,CRD,17.5 +CMT,1,1,296,1.6,CSH,7 +CMT,1,1,138,0.7,CSH,4 +CMT,1,1,593,1.6,CRD,8.5 +CMT,1,1,643,1.5,CRD,8.5 +CMT,1,1,207,0.6,CSH,5 +CMT,1,1,621,1.8,CRD,9 +CMT,1,1,538,1.6,CSH,8.5 +CMT,1,1,471,1.5,CRD,7.5 +CMT,1,1,409,1.8,CSH,8 +CMT,2,1,2280,14.3,CRD,52 +CMT,1,1,906,2.5,CRD,12.5 +CMT,1,1,433,0.7,CSH,6 +CMT,1,1,1367,3.3,CSH,17 +CMT,1,1,835,2.6,CSH,12 +CMT,1,1,1008,1.8,CSH,12 +CMT,1,1,665,1.7,CSH,9.5 +CMT,1,1,163,0.5,CSH,4.5 +CMT,1,1,901,1.9,CSH,11.5 +CMT,1,1,856,1.6,CRD,11 +CMT,1,1,968,5.3,CSH,18.5 +CMT,1,1,434,1.2,CRD,7 +CMT,1,1,485,0.7,CSH,7 +CMT,1,1,823,1.7,CSH,10.5 +CMT,1,1,260,0.9,CRD,5.5 +CMT,1,1,324,0.8,CSH,6 +CMT,1,1,667,1.7,CSH,10 +CMT,1,1,252,0.7,CSH,5 +CMT,1,1,227,0.7,CSH,4.5 +CMT,1,1,795,1.5,CRD,10 +CMT,1,1,175,0.9,CSH,5 +CMT,1,1,331,1.3,CRD,6.5 +CMT,1,1,530,1.6,CSH,8 +CMT,1,1,180,0.7,CSH,4.5 +CMT,1,1,95,0.5,CSH,4 +CMT,1,1,1158,3.8,CRD,16 +CMT,1,1,560,1.5,CRD,8.5 +CMT,1,1,414,1,CRD,6.5 +CMT,1,1,471,1.1,CSH,7.5 +CMT,1,1,567,2,CRD,9 +CMT,1,1,962,3.6,CSH,15 +CMT,1,1,357,1.4,CSH,7 +CMT,1,1,821,1.3,CRD,10 +CMT,1,1,1438,8,CRD,27 +CMT,1,1,372,0.9,CSH,6.5 +CMT,1,1,703,1.6,CRD,9.5 +CMT,1,1,205,0.3,CSH,4 +CMT,1,1,927,1.9,CRD,11.5 +CMT,1,1,309,1,CSH,6 +CMT,1,1,790,1.3,CRD,10 +CMT,1,1,239,0.5,CSH,4.5 +CMT,1,1,1312,2,CSH,14.5 +CMT,1,1,1012,2.6,CRD,13.5 +CMT,1,1,194,0,CSH,4 +CMT,1,1,618,2,CSH,9.5 +CMT,1,1,316,0.8,CSH,5.5 +CMT,1,1,2131,6.6,CRD,27.5 +CMT,1,1,755,1.6,CSH,10 +CMT,1,1,751,2.8,CRD,12 +CMT,2,1,1704,19.1,CSH,52 +CMT,1,2,1294,9,CSH,28 +CMT,1,1,260,0.8,CSH,5.5 +CMT,1,1,1429,5.7,CRD,21.5 +CMT,3,2,1773,15.6,CRD,61 +CMT,1,1,1416,7.9,CRD,28 +CMT,1,1,994,2.7,CRD,13 +CMT,1,1,1275,3.8,CRD,16.5 +CMT,1,1,1947,8.4,CSH,31 +CMT,1,1,2564,14.7,CSH,45.5 +CMT,1,1,597,1.9,CRD,9.5 +CMT,1,1,817,0.9,CRD,9.5 +CMT,1,1,707,2.5,CSH,11.5 +CMT,1,1,1036,2.8,CSH,13.5 +CMT,1,1,1402,2.8,CSH,16.5 +CMT,1,1,368,1,CSH,6.5 +CMT,1,1,187,0.3,CRD,4 +CMT,1,1,506,4,CRD,13 +CMT,1,1,621,1.6,CRD,9 +CMT,1,1,467,1.7,CSH,8.5 +CMT,1,1,1168,6.4,CRD,22 +CMT,1,1,876,3.3,CRD,14 +CMT,1,1,178,0.2,CSH,4 +CMT,1,1,625,1.9,CRD,9.5 +CMT,1,1,166,0.6,CSH,4 +CMT,1,1,707,1.9,CRD,10 +CMT,1,1,773,2,CRD,11 +CMT,1,1,415,1.8,CSH,8 +CMT,1,1,845,2.3,CSH,12 +CMT,1,1,257,0.3,CSH,4.5 +CMT,1,1,498,1.3,CSH,7.5 +CMT,1,1,345,0.8,CSH,6 +CMT,1,1,619,1.5,CRD,9 +CMT,1,1,516,2.6,CRD,10 +CMT,1,1,543,1.3,CRD,8 +CMT,1,1,962,4,CSH,15.5 +CMT,1,1,1078,2.5,CSH,13 +CMT,1,1,489,0.7,CRD,7 +CMT,1,1,821,2.4,CRD,11.5 +CMT,1,1,497,1.1,CRD,7.5 +CMT,1,1,185,0.7,CRD,4.5 +CMT,1,1,375,3.1,CRD,11 +CMT,1,1,222,0.7,CRD,5 +CMT,1,1,643,0.8,CSH,8 +CMT,1,1,1195,3.1,CRD,15 +CMT,1,1,258,0.5,CRD,4.5 +CMT,1,1,387,1.1,CRD,6.5 +CMT,1,1,978,2.4,CSH,12.5 +CMT,1,1,1420,3.7,CRD,17.5 +CMT,1,1,737,2.1,CRD,10.5 +CMT,1,1,231,0.9,CSH,5 +CMT,1,1,217,0.6,CRD,4.5 +CMT,1,1,431,1.1,CRD,7 +CMT,1,1,729,2.9,CSH,12.5 +CMT,1,1,1610,3.8,CSH,18.5 +CMT,1,1,1870,4.1,CSH,21.5 +CMT,1,1,595,1.1,CSH,8 +CMT,1,1,506,1.3,CRD,7 +CMT,1,1,301,0.9,CSH,6 +CMT,1,1,405,1.2,CRD,6.5 +CMT,1,1,591,1.7,CSH,8.5 +CMT,1,2,610,2.2,CRD,9.5 +CMT,1,3,1169,2.2,CSH,13.5 +CMT,1,2,725,2.7,CRD,11.5 +CMT,1,2,931,8.7,CSH,25 +CMT,1,4,635,1.9,CSH,9.5 +CMT,1,1,1086,3.5,CRD,15 +CMT,1,1,695,3,CRD,11.5 +CMT,1,2,545,1.2,CRD,8 +CMT,1,2,380,1,CRD,6 +CMT,1,1,754,3.4,CSH,13 +CMT,1,2,275,0.4,CSH,5 +CMT,1,1,448,0.8,CRD,6.5 +CMT,1,1,1009,4.8,CRD,16.5 +CMT,1,1,832,3,CSH,13 +CMT,1,1,976,1.2,CRD,11 +CMT,1,1,941,2.8,CRD,13 +CMT,1,4,761,2.7,CSH,11.5 +CMT,1,4,864,2.9,CSH,12.5 +CMT,1,1,483,1.6,CSH,8 +CMT,1,1,727,3.4,CSH,12 +CMT,1,1,1372,5,CSH,20 +CMT,1,1,263,1,CSH,5.5 +CMT,1,1,690,2.6,CRD,10.5 +CMT,1,2,240,0.6,CSH,4.5 +CMT,1,3,244,0.6,CSH,5 +CMT,1,1,830,5.8,CRD,18 +CMT,1,2,256,0.8,CSH,5 +CMT,1,2,609,2.3,CSH,10 +CMT,1,2,462,0.9,CSH,6.5 +CMT,1,4,827,2.6,CRD,11.5 +CMT,1,1,316,0.9,CSH,6 +CMT,1,3,1455,6.3,CSH,22 +CMT,1,1,453,1.6,CRD,8 +CMT,1,2,902,1.9,CSH,11 +CMT,1,1,327,1,CRD,6 +CMT,1,1,1981,7.7,CRD,30 +CMT,1,1,988,5.4,CRD,18 +CMT,1,1,3041,8.1,CRD,38.5 +CMT,1,1,692,2.2,CSH,10.5 +CMT,1,1,312,0.9,CSH,5.5 +CMT,1,1,410,1.1,CRD,6.5 +CMT,1,1,623,1.2,CRD,8.5 +CMT,1,1,244,0.3,CSH,4.5 +CMT,1,1,714,2.3,CSH,10.5 +CMT,1,1,163,0.4,CSH,4 +CMT,1,1,693,2.5,CSH,11.5 +CMT,1,1,612,1.6,CRD,9 +CMT,1,1,981,1.4,CRD,11 +CMT,1,1,580,0.6,CSH,7.5 +CMT,1,3,1298,5.9,CRD,21 +CMT,1,2,1010,2,CSH,12 +CMT,1,1,215,0.5,CSH,4.5 +CMT,1,1,322,1,CRD,6 +CMT,1,2,477,0.9,CRD,7 +CMT,1,1,558,1.9,CRD,9 +CMT,1,1,1361,6.3,CRD,22 +CMT,1,1,344,1.6,CSH,7 +CMT,1,1,286,1,CSH,6 +CMT,1,1,1447,2.9,CSH,16 +CMT,1,1,274,0.8,CRD,5 +CMT,1,1,383,0.7,CSH,6 +CMT,1,2,824,2.9,CRD,12.5 +CMT,1,2,204,0.3,CRD,4 +CMT,1,2,714,3.5,CSH,12.5 +CMT,1,1,432,1.2,CSH,6.5 +CMT,1,1,727,2.8,CSH,11.5 +CMT,1,1,520,1.6,CSH,8 +CMT,1,1,10,0,NOC,2.5 +CMT,1,1,1061,2.3,CRD,13 +CMT,1,4,472,1.1,CSH,7 +CMT,1,1,1055,9,CRD,26.5 +CMT,1,4,725,3,CSH,11.5 +CMT,1,1,552,1.8,CRD,8.5 +CMT,1,3,1056,4.7,CSH,17 +CMT,1,2,165,0.7,CSH,4.5 +CMT,1,4,1429,5.1,CRD,19.5 +CMT,1,1,654,2.3,CRD,10 +CMT,1,1,1869,6.5,CRD,25 +CMT,1,1,723,2,CRD,10 +CMT,1,3,324,1.1,CSH,6 +CMT,1,1,327,1.4,CSH,6.5 +CMT,1,1,487,2.1,CRD,8.5 +CMT,1,1,745,4,CRD,14.5 +CMT,1,2,263,0.7,CSH,5 +CMT,1,4,661,2.3,CSH,10 +CMT,1,1,353,1.1,CRD,6.5 +CMT,1,1,1115,3.9,CRD,16 +CMT,1,1,358,0.9,CSH,6 +CMT,1,1,403,0.9,CRD,6 +CMT,1,2,237,0.7,CSH,5 +CMT,1,3,642,1.5,CRD,9 +CMT,1,1,261,1.1,CSH,5.5 +CMT,1,1,777,2,CRD,10.5 +CMT,1,2,431,1.2,CRD,7 +CMT,1,1,971,4.6,CRD,16 +CMT,1,1,618,1.5,CRD,8.5 +CMT,1,1,203,0.4,CSH,4 +CMT,1,1,525,1.1,CRD,7.5 +CMT,1,2,269,0.6,CSH,4.5 +CMT,1,1,212,1.2,CRD,5.5 +CMT,1,2,189,0.7,CRD,4.5 +CMT,1,1,618,2.9,CSH,11 +CMT,1,1,870,3,CSH,13 +CMT,1,1,248,1.4,CRD,6 +CMT,1,1,1588,8.8,CRD,28 +CMT,1,1,135,0.4,CRD,3.5 +CMT,1,1,773,4.2,CSH,15 +CMT,1,2,527,1.6,CRD,8 +CMT,1,3,370,0.6,CRD,5.5 +CMT,1,1,320,0.7,CSH,5 +CMT,1,1,729,3.6,CSH,13.5 +CMT,1,1,304,0.8,CRD,5.5 +CMT,1,1,100,0.4,CSH,3.5 +CMT,1,2,1353,12.9,CRD,35.5 +CMT,1,1,283,1,CSH,5.5 +CMT,1,1,391,1.1,CRD,6.5 +CMT,1,3,366,1.1,CSH,6.5 +CMT,1,1,905,3.4,CSH,13.5 +CMT,1,3,473,1.3,CRD,7.5 +CMT,1,1,508,2.2,CRD,9.5 +CMT,1,1,316,1.3,CRD,6.5 +CMT,1,2,727,3.4,CRD,13 +CMT,1,1,583,2.1,CSH,9.5 +CMT,1,2,842,2.5,CSH,12 +CMT,1,2,745,3.6,CRD,13 +CMT,1,3,525,1.7,CSH,8.5 +CMT,1,1,416,1.5,CRD,7.5 +CMT,1,1,1524,4.6,CRD,19.5 +CMT,1,1,359,0.8,CRD,5.5 +CMT,1,1,782,2.6,CRD,11.5 +CMT,1,1,415,1.4,CRD,7 +CMT,1,1,1314,4.5,CSH,18 +CMT,1,1,90,0.3,CSH,3 +CMT,1,1,478,1.1,CSH,7 +CMT,1,1,971,1.4,CRD,11 +CMT,1,1,557,1.1,CRD,7.5 +CMT,1,1,272,0.7,CRD,5 +CMT,1,1,370,0.9,CRD,6 +CMT,1,1,580,1.9,CRD,8.5 +CMT,1,1,282,1.1,CRD,6 +CMT,1,1,595,4.1,CRD,14 +CMT,1,1,742,2.6,CRD,11 +CMT,1,1,790,2.3,CRD,10.5 +CMT,1,3,889,2.9,CRD,12.5 +CMT,1,1,226,0.7,CRD,5 +CMT,1,1,381,1.5,CRD,7 +CMT,1,2,1165,4.9,CRD,18 +CMT,1,1,559,1.3,CSH,8 +CMT,1,1,362,1.2,CRD,6.5 +CMT,1,1,598,3,CSH,11 +CMT,1,1,623,5.3,CSH,16.5 +CMT,1,1,412,1,CRD,6.5 +CMT,1,1,234,0.4,CSH,4.5 +CMT,1,1,176,0.7,CRD,4.5 +CMT,1,2,680,2.4,CRD,10.5 +CMT,1,1,437,1.2,CRD,7 +CMT,1,1,318,1.2,CRD,6 +CMT,1,1,503,1.1,CRD,7 +CMT,1,1,372,0.6,CSH,5.5 +CMT,5,2,35,0.1,CRD,53 +CMT,1,2,976,3.7,CSH,14.5 +CMT,1,4,634,2.2,CRD,10.5 +CMT,1,3,1315,5.2,CRD,19 +CMT,1,1,354,0.9,CSH,6 +CMT,1,1,604,4.8,CRD,15 +CMT,1,1,290,0.9,CRD,5.5 +CMT,1,1,140,0.5,CRD,4 +CMT,1,1,605,1.6,CSH,9 +CMT,1,1,1017,4,CSH,15 +CMT,1,1,560,1.6,CSH,8 +CMT,1,3,369,1.1,CRD,6 +CMT,1,1,443,2,CRD,8.5 +CMT,1,2,515,1.7,CRD,8 +CMT,1,1,498,1.6,CRD,8 +CMT,1,1,381,1.2,CSH,6.5 +CMT,1,1,1242,7.2,CRD,23 +CMT,1,1,136,0.5,CSH,4 +CMT,1,1,587,1.9,CRD,9 +CMT,1,3,423,0.9,CRD,6.5 +CMT,1,1,292,0.9,CSH,5.5 +CMT,1,1,770,3.4,CSH,13.5 +CMT,1,1,391,1.3,CRD,6.5 +CMT,1,1,575,1.5,CSH,8.5 +CMT,1,2,569,2.2,CSH,9.5 +CMT,1,1,821,2.3,CRD,11 +CMT,1,1,207,0.7,CSH,4.5 +CMT,1,1,393,1.1,CSH,6.5 +CMT,1,2,197,0.7,CSH,4.5 +CMT,1,1,503,1.9,CRD,8.5 +CMT,1,1,729,1.3,CRD,9.5 +CMT,1,2,159,0.5,CSH,4 +CMT,1,3,660,1.7,CRD,9 +CMT,1,1,425,1.5,CRD,7.5 +CMT,1,1,335,0.8,CRD,5.5 +CMT,1,2,595,1.5,CRD,8.5 +CMT,1,1,387,1.1,CSH,6.5 +CMT,1,1,238,0.6,CRD,4.5 +CMT,1,1,163,0.6,CSH,4 +CMT,1,3,1020,3.9,CRD,15.5 +CMT,1,2,481,2.3,CSH,9 +CMT,1,2,576,2.1,CSH,9.5 +CMT,1,2,786,2.1,CSH,11 +CMT,1,1,489,2.2,CRD,9 +CMT,1,1,384,0.9,CRD,6 +CMT,1,1,327,1.1,CRD,6 +CMT,1,2,379,1.5,CSH,7 +CMT,1,1,558,2.1,CRD,9.5 +CMT,1,3,408,1.2,CRD,6.5 +CMT,1,1,604,1.4,CRD,8.5 +CMT,1,1,759,3.5,CRD,13.5 +CMT,1,1,440,1.4,CSH,7.5 +CMT,1,1,689,2.1,CRD,10 +CMT,1,1,214,0.4,CSH,4 +CMT,1,1,1119,4.2,CRD,17 +CMT,1,1,447,2,CRD,8.5 +CMT,1,1,576,1.4,CRD,8.5 +CMT,1,1,766,3.1,CRD,12.5 +CMT,1,4,298,0.6,CSH,5 +CMT,1,1,514,3.8,CSH,12.5 +CMT,1,1,571,1.5,CRD,8.5 +CMT,1,1,429,0.8,CRD,6.5 +CMT,1,1,462,1.1,CSH,7 +CMT,1,1,447,1.3,CSH,7.5 +CMT,1,1,406,1.2,CSH,7 +CMT,1,1,111,0.5,CRD,4 +CMT,1,1,785,3.6,CRD,13 +CMT,1,1,885,3.6,CRD,14 +CMT,1,1,203,0.9,CSH,5 +CMT,1,1,721,1.6,CSH,9 +CMT,1,1,272,0.5,CSH,5 +CMT,1,1,1378,3.7,CRD,18 +CMT,1,1,200,0.5,CSH,4.5 +CMT,1,1,1322,8.3,CRD,27 +CMT,1,1,282,0.9,CSH,6 +CMT,1,1,466,0.5,CSH,6.5 +CMT,1,1,527,0.8,CSH,7 +CMT,1,1,708,1.6,CSH,9 +CMT,1,1,1139,4,CRD,17 +CMT,1,1,235,0.7,CSH,5 +CMT,1,1,272,0.8,CSH,5.5 +CMT,1,1,1470,3.5,CRD,17.5 +CMT,1,1,571,0.9,CRD,7.5 +CMT,1,1,897,3.3,CRD,13.5 +CMT,1,1,522,2.1,CSH,8.5 +CMT,1,1,757,1.3,CRD,9.5 +CMT,1,1,191,0.5,CSH,4 +CMT,1,1,310,2,CRD,8 +CMT,1,1,1087,3.5,CRD,14.5 +CMT,1,3,1502,3.6,CSH,17.5 +CMT,1,4,991,3,CSH,13 +CMT,1,1,299,0.9,CRD,5.5 +CMT,1,1,1204,6.8,CSH,21 +CMT,1,3,670,2,CSH,9.5 +CMT,1,2,694,2.1,CRD,10 +CMT,1,1,380,1.7,CRD,7.5 +CMT,1,3,623,2.2,CSH,10 +CMT,1,1,1124,3.2,CRD,15 +CMT,1,3,575,2.9,CRD,10.5 +CMT,1,1,883,9.7,CSH,27 +CMT,1,1,631,3.1,CRD,11.5 +CMT,1,2,470,1.1,CRD,7 +CMT,1,1,584,1.5,CSH,8.5 +CMT,1,2,643,1.6,CSH,8.5 +CMT,1,2,682,3.9,CSH,14 +CMT,1,1,116,0.4,CSH,4 +CMT,1,1,646,1.7,CRD,9 +CMT,1,2,401,1.1,CRD,6.5 +CMT,1,2,482,1.5,CSH,7.5 +CMT,1,4,810,4.2,CSH,15 +CMT,1,2,1114,4.2,CRD,16.5 +CMT,1,2,489,1.5,CRD,8 +CMT,1,1,487,0.7,CRD,7 +CMT,1,2,437,2,CRD,8 +CMT,1,1,1593,10.2,CSH,31 +CMT,1,1,792,3.3,CSH,12.5 +CMT,1,1,172,0.7,CSH,4.5 +CMT,1,1,1740,14.6,CRD,41 +CMT,1,2,870,3.2,CSH,13 +CMT,1,2,1574,5.9,CRD,21.5 +CMT,1,1,1307,5.8,CSH,20.5 +CMT,1,1,360,1.1,CSH,6.5 +CMT,1,2,1433,6.5,CSH,22 +CMT,1,1,406,1.3,CRD,6.5 +CMT,1,1,633,1.6,CRD,9 +CMT,1,1,808,1.5,CSH,10.5 +CMT,1,2,944,3.6,CRD,13.5 +CMT,1,2,500,1.1,CSH,7 +CMT,1,2,1336,3.2,CSH,16.5 +CMT,1,1,244,0.6,CRD,4.5 +CMT,1,2,602,4,CSH,13 +CMT,1,2,201,0.5,CRD,4.5 +CMT,1,2,915,2.5,CRD,12 +CMT,1,3,305,0.4,CRD,5 +CMT,1,1,456,1.3,CRD,7 +CMT,1,4,277,0.8,CRD,5 +CMT,1,1,436,1.4,CSH,7 +CMT,1,1,1565,3.3,CRD,18 +CMT,1,1,194,0.7,CRD,4.5 +CMT,1,1,1280,4,CRD,16.5 +CMT,1,1,611,3,CSH,10.5 +CMT,2,1,2009,18.4,CRD,52 +CMT,1,1,915,4,CRD,14.5 +CMT,1,2,470,2.3,CRD,8.5 +CMT,1,1,725,5.7,CSH,17.5 +CMT,1,2,698,1.7,CRD,9.5 +CMT,1,1,857,2.5,CSH,11.5 +CMT,1,1,284,0.8,CSH,5.5 +CMT,1,1,1770,2.1,CRD,18 +CMT,1,1,1447,3.5,CSH,17 +CMT,1,1,488,1.7,CSH,8 +CMT,1,1,370,1.1,CRD,6 +CMT,1,1,988,10.4,CSH,28.5 +CMT,1,3,1142,3.5,CRD,15 +CMT,1,3,866,3.2,CRD,13 +CMT,1,3,160,0.6,CSH,4.5 +CMT,1,1,1038,8.3,CRD,25 +CMT,1,1,481,4,CRD,13 +CMT,1,2,1148,3.9,CSH,16 +CMT,1,1,412,1.1,CRD,6.5 +CMT,1,1,965,5.7,CSH,17.5 +CMT,1,3,330,0.9,CRD,6 +CMT,1,3,422,1.4,CRD,7 +CMT,1,1,205,0.9,CSH,5 +CMT,1,1,639,2.5,CRD,10 +CMT,1,1,680,1.9,CSH,10 +CMT,1,2,687,3.2,CRD,11.5 +CMT,1,1,401,0.9,CRD,6 +CMT,1,1,325,0.9,CSH,5.5 +CMT,1,2,1127,6.3,CSH,21 +CMT,1,1,299,1.4,CSH,6.5 +CMT,1,1,961,4.9,CRD,17.5 +CMT,1,1,578,1.4,CRD,8 +CMT,1,1,216,0.8,CSH,5 +CMT,1,1,439,0.8,CRD,6.5 +CMT,1,2,745,2.1,CRD,10 +CMT,1,1,316,0.6,CRD,5 +CMT,1,1,538,1.1,CRD,7.5 +CMT,1,1,806,4.7,CRD,16.5 +CMT,1,1,549,3.4,CRD,11.5 +CMT,1,1,490,1.4,CRD,7.5 +CMT,1,1,834,3,CRD,13 +CMT,1,1,738,2.6,CRD,11.5 +CMT,1,1,980,4.5,CRD,16 +CMT,1,1,112,0.3,CSH,3.5 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,1,173,0.7,CSH,4.5 +CMT,1,1,147,0.3,CRD,3.5 +CMT,1,2,1139,2.4,CRD,13 +CMT,1,1,1019,2.8,CRD,13 +CMT,1,1,1542,3.6,CRD,18 +CMT,1,1,844,2.9,CSH,12.5 +CMT,1,1,406,0.8,CSH,6.5 +CMT,1,1,339,1.1,CSH,6 +CMT,1,1,308,0.9,CRD,6 +CMT,2,1,3176,13.9,CRD,52 +CMT,1,1,1433,5.5,CSH,21 +CMT,1,1,611,1.6,CRD,8.5 +CMT,1,1,772,3.1,CRD,12.5 +CMT,1,1,965,4.3,CRD,16 +CMT,1,3,264,0.7,CSH,5 +CMT,1,1,322,0.9,CRD,6 +CMT,1,1,897,4.3,CRD,15.5 +CMT,1,2,1087,4.6,CSH,16.5 +CMT,1,1,744,2,CRD,10 +CMT,1,3,549,1.3,CRD,7.5 +CMT,1,1,248,0.4,CSH,4.5 +CMT,1,2,667,1.8,CRD,9.5 +CMT,1,2,1035,4.3,CRD,16.5 +CMT,1,2,1097,3.6,CSH,15.5 +CMT,1,2,1762,8.1,CSH,28 +CMT,1,1,303,0.9,CRD,5.5 +CMT,1,2,1465,5.5,CRD,20.5 +CMT,1,3,462,1.4,CSH,7.5 +CMT,1,1,701,1.6,CSH,10 +CMT,1,1,904,6.2,CRD,20 +CMT,1,1,339,1.4,CRD,6.5 +CMT,1,3,619,2.5,CSH,10.5 +CMT,1,1,251,1.3,CSH,6 +CMT,1,2,359,1,CSH,6 +CMT,1,1,1516,5,CSH,20.5 +CMT,1,1,1197,3.9,CSH,16.5 +CMT,1,2,706,2.1,CRD,10.5 +CMT,1,2,519,1.1,CRD,7.5 +CMT,1,1,549,2.1,CRD,9 +CMT,1,1,614,1.9,CRD,9 +CMT,1,1,53,0.3,CRD,3 +CMT,1,1,594,2.5,CSH,10 +CMT,1,2,784,3.5,CRD,12.5 +CMT,1,4,371,0.5,CSH,5.5 +CMT,1,2,712,3.4,CRD,12.5 +CMT,1,1,1404,4.9,CSH,19.5 +CMT,1,2,504,1.1,CSH,7 +CMT,1,3,1234,5.3,CRD,19 +CMT,1,1,1399,4.8,CRD,19 +CMT,1,1,214,0.6,CSH,4.5 +CMT,1,1,601,1.5,CSH,8.5 +CMT,1,1,471,2.2,CRD,9.5 +CMT,1,1,478,1.4,CRD,8 +CMT,1,1,579,1.3,CRD,8 +CMT,1,1,825,2.9,CSH,12.5 +CMT,1,1,688,3,CRD,11.5 +CMT,1,3,259,0.9,CRD,5 +CMT,1,2,1302,4,CSH,17 +CMT,1,2,236,0.6,CSH,4.5 +CMT,1,1,660,1.5,CRD,9 +CMT,1,2,1297,9.3,CSH,27.5 +CMT,1,2,1503,5.1,CSH,20 +CMT,1,1,690,3.3,CSH,12 +CMT,1,1,956,4.2,CRD,15 +CMT,1,1,698,3.5,CRD,13 +CMT,1,1,491,2.4,CSH,9 +CMT,1,1,522,1.7,CSH,8.5 +CMT,1,1,236,0.8,CSH,5 +CMT,1,1,939,2.7,CRD,12.5 +CMT,1,2,312,1.1,CRD,6 +CMT,1,1,1320,5.2,CRD,19.5 +CMT,1,2,382,1.4,CRD,7 +CMT,1,1,1840,4.4,CSH,22.5 +CMT,1,1,1215,11.7,CRD,32.5 +CMT,1,1,721,3.4,CSH,13 +CMT,1,1,526,1.4,CSH,8 +CMT,1,1,766,1.9,CRD,10.5 +CMT,1,2,124,0.3,CSH,3.5 +CMT,1,1,645,2.8,CSH,11 +CMT,1,1,115,0.5,CRD,3.5 +CMT,1,1,377,1,CRD,6.5 +CMT,1,2,501,2.5,CSH,10 +CMT,1,1,413,3.3,CRD,11.5 +CMT,1,1,444,1.9,CRD,8 +CMT,1,2,1446,4.4,CSH,18.5 +CMT,1,3,414,1.1,CSH,6.5 +CMT,1,2,1049,5.8,CSH,19.5 +CMT,1,1,782,3.5,CRD,13.5 +CMT,1,2,1110,1.9,CRD,12 +CMT,1,2,244,0.3,CSH,4.5 +CMT,1,2,803,1.8,CRD,10.5 +CMT,1,3,2909,17.3,CRD,55 +CMT,1,1,267,1.1,CSH,5.5 +CMT,1,1,1063,3.9,CRD,14.5 +CMT,1,1,538,2.1,CRD,9 +CMT,1,1,460,1.2,CRD,7 +CMT,1,2,558,1.7,CRD,8 +CMT,1,1,633,2.8,CRD,10.5 +CMT,1,1,297,0.5,CSH,5 +CMT,1,1,529,2,CRD,9 +CMT,1,2,177,1.3,CSH,5.5 +CMT,1,1,679,1.4,CSH,9 +CMT,1,2,237,1,CSH,5.5 +CMT,1,2,272,0.9,CSH,5.5 +CMT,1,1,181,1.1,CRD,5 +CMT,1,3,1561,5.4,CSH,21 +CMT,1,2,705,2.7,CRD,11 +CMT,1,2,159,0.6,CSH,4.5 +CMT,1,1,737,3.5,CRD,13 +CMT,1,1,264,1,CSH,5.5 +CMT,1,2,473,1.9,CRD,8 +CMT,1,1,1426,4.3,CRD,18.5 +CMT,1,1,1224,6.5,CRD,21 +CMT,1,1,509,1,CSH,7.5 +CMT,1,1,975,2.8,CRD,12.5 +CMT,1,2,433,1.8,CSH,8 +CMT,1,1,673,2.1,CRD,10 +CMT,1,2,290,0.9,CSH,5.5 +CMT,1,1,1114,4.1,CRD,16.5 +CMT,1,1,1353,4.1,CRD,18 +CMT,1,3,1377,7.8,CRD,26 +CMT,1,1,543,1.6,CRD,8.5 +CMT,1,1,559,2.4,CRD,9.5 +CMT,1,1,773,3.9,CSH,14 +CMT,1,1,711,1.6,CRD,9.5 +CMT,1,2,388,1.3,CSH,6.5 +CMT,1,1,419,1.5,CRD,7 +CMT,1,2,796,1.9,CSH,10.5 +CMT,1,1,461,0.7,CRD,6.5 +CMT,1,1,334,0.7,CSH,5.5 +CMT,1,2,270,0.7,CSH,5 +CMT,1,1,608,2,CRD,9 +CMT,1,1,549,1.3,CRD,8 +CMT,1,1,881,5.1,CSH,17 +CMT,1,1,1338,39.4,NOC,2.5 +CMT,1,2,1817,6.7,CSH,25 +CMT,1,1,572,2.4,CSH,10 +CMT,1,1,342,1,CSH,6 +CMT,1,2,185,0.4,CSH,4 +CMT,1,1,363,1.8,CSH,7.5 +CMT,1,1,541,1.9,CRD,8.5 +CMT,1,1,569,2.6,CSH,10.5 +CMT,1,2,1590,7,CRD,24.5 +CMT,1,1,156,0.6,CRD,4 +CMT,1,1,709,2.8,CSH,12 +CMT,1,1,436,1.7,CRD,8 +CMT,1,1,946,3.3,CSH,13.5 +CMT,1,2,59,0.2,CRD,3 +CMT,1,2,268,0.6,CRD,4.5 +CMT,1,2,239,0.7,CRD,5 +CMT,1,2,794,3.9,CRD,14 +CMT,1,3,490,0.6,CRD,6.5 +CMT,1,3,453,1.7,CRD,8 +CMT,1,1,484,2.5,CSH,9.5 +CMT,1,2,993,4.1,CRD,15.5 +CMT,1,4,1168,5.8,CRD,19.5 +CMT,1,2,526,1.6,CSH,8 +CMT,1,1,623,2.8,CSH,11.5 +CMT,1,1,334,0.9,CSH,5.5 +CMT,1,1,1141,3.8,CRD,16.5 +CMT,1,1,351,0.9,CRD,6 +CMT,1,2,1391,6.6,CRD,22 +CMT,1,1,1043,3.5,CSH,14 +CMT,1,1,251,1,CRD,5.5 +CMT,1,1,355,0.7,CSH,5.5 +CMT,1,1,287,0.8,CSH,5 +CMT,1,1,1041,7.1,CSH,21.5 +CMT,1,1,508,2.2,CSH,9 +CMT,1,2,910,4.4,CRD,16.5 +CMT,1,1,1546,6.6,CSH,24.5 +CMT,1,2,559,1.4,CSH,8 +CMT,1,1,1146,4.8,CRD,17 +CMT,1,3,1941,8.1,CRD,29 +CMT,1,2,917,4.1,CRD,14.5 +CMT,1,1,517,2.1,CRD,9 +CMT,1,1,249,0.7,CRD,5 +CMT,1,1,125,0.5,CSH,4 +CMT,1,1,205,0.8,CSH,5 +CMT,1,1,330,1.3,CRD,6.5 +CMT,1,1,1332,6.2,CRD,21.5 +CMT,1,1,322,0.7,CRD,5.5 +CMT,1,1,191,0.6,CSH,4.5 +CMT,1,2,171,0.5,CRD,4 +CMT,1,1,146,0.4,CSH,4 +CMT,1,2,2125,13.8,CRD,42.5 +CMT,1,4,508,2.8,CRD,10.5 +CMT,1,3,1145,3.2,CRD,15 +CMT,1,1,694,2,CRD,9.5 +CMT,1,3,1292,4.9,CRD,19 +CMT,1,2,451,2,CSH,9 +CMT,1,4,486,2.4,CRD,9.5 +CMT,1,2,423,1.2,CRD,7 +CMT,1,1,201,0.8,CRD,5 +CMT,1,2,851,3,CRD,13.5 +CMT,1,3,553,2,CSH,9 +CMT,1,2,176,0.9,CSH,5 +CMT,1,1,488,1.8,CSH,8.5 +CMT,1,1,1134,3.7,CSH,15.5 +CMT,1,1,1362,4.6,CRD,20.5 +CMT,1,1,925,8.7,CRD,25.5 +CMT,1,1,883,8.3,CSH,24.5 +CMT,1,1,651,2.4,CRD,10.5 +CMT,1,1,311,1,CRD,6 +CMT,1,1,165,0.5,CSH,4 +CMT,1,1,325,1.1,CRD,6 +CMT,1,1,139,0.4,CRD,4 +CMT,1,2,299,0.8,CRD,5.5 +CMT,1,1,357,0.6,CRD,5.5 +CMT,1,1,1065,3.1,CSH,14 +CMT,1,1,451,1.5,CRD,7.5 +CMT,1,1,467,2.3,CSH,9 +CMT,1,1,142,0.5,CSH,4 +CMT,1,2,863,2.5,CSH,11.5 +CMT,1,1,390,1,CRD,6 +CMT,1,2,1203,3.9,CRD,16 +CMT,1,1,443,1.1,CRD,7 +CMT,1,1,473,1.9,CRD,8.5 +CMT,1,1,658,1.4,CRD,8.5 +CMT,1,2,825,1.8,CSH,10.5 +CMT,1,2,512,1,CSH,7 +CMT,1,1,143,0.5,CRD,4 +CMT,1,1,156,0.6,CSH,4.5 +CMT,1,2,428,1.4,CRD,7.5 +CMT,1,1,768,3.3,CRD,12.5 +CMT,1,1,386,1.2,CRD,6.5 +CMT,1,1,263,1.4,CRD,6.5 +CMT,1,3,1037,5.1,CSH,18 +CMT,1,1,606,2.9,CSH,11 +CMT,1,1,1093,10.2,CSH,30 +CMT,2,2,2172,17.4,CRD,52 +CMT,1,4,767,2.7,CSH,12 +CMT,1,4,1005,3.8,CSH,15 +CMT,1,1,116,0.4,CSH,3.5 +CMT,1,1,329,1.7,CSH,7 +CMT,1,1,613,1.5,CRD,9 +CMT,1,1,702,2.3,CRD,10.5 +CMT,1,1,710,2.9,CSH,11.5 +CMT,1,3,326,1.2,CSH,6.5 +CMT,1,2,514,2.2,CSH,9.5 +CMT,1,2,732,3.8,CRD,13.5 +CMT,1,1,500,2.8,CRD,11 +CMT,1,3,418,0.8,CSH,6 +CMT,1,2,192,0.3,CSH,4 +CMT,1,1,1932,13.6,CRD,41.5 +CMT,2,1,2491,18.4,CRD,52 +CMT,1,4,1198,5.3,CSH,20 +CMT,1,1,739,1.8,CSH,10 +CMT,1,1,839,4.9,CRD,17.5 +CMT,1,1,572,2.8,CRD,10.5 +CMT,1,1,831,4.9,CSH,16.5 +CMT,1,1,603,1.9,CSH,9.5 +CMT,1,1,382,1.4,CSH,7 +CMT,1,1,1150,12.2,CRD,34 +CMT,1,1,103,0.7,CRD,4 +CMT,1,2,902,2.2,CSH,12 +CMT,1,3,551,1.3,CSH,8 +CMT,1,1,301,0.6,CRD,5 +CMT,1,1,769,1.4,CSH,9.5 +CMT,1,1,162,0.9,CSH,5 +CMT,1,1,659,2,CSH,10 +CMT,1,4,84,0.5,CSH,3.5 +CMT,1,1,725,2.1,CRD,10 +CMT,1,1,363,0.9,CSH,6 +CMT,1,1,505,2.2,CRD,9.5 +CMT,1,1,808,5.6,CSH,18 +CMT,1,1,903,3.7,CSH,14 +CMT,1,1,1045,2,CRD,12.5 +CMT,1,1,1177,3.1,CRD,14.5 +CMT,1,1,439,0.8,CRD,6.5 +CMT,1,2,801,2,CRD,10.5 +CMT,1,1,151,0.8,CSH,4.5 +CMT,1,2,634,3,CRD,11.5 +CMT,1,1,299,0.6,CSH,5 +CMT,1,1,991,3,CSH,14 +CMT,1,1,1613,16.1,CSH,45 +CMT,1,1,143,0.4,CRD,4 +CMT,1,1,413,1.9,CSH,8 +CMT,1,1,760,1.1,CSH,9 +CMT,1,1,335,0.9,CSH,6 +CMT,1,1,650,1.9,CSH,9.5 +CMT,1,1,505,1.2,CRD,7.5 +CMT,1,1,1489,3.8,CRD,18 +CMT,1,1,123,0.4,CSH,3.5 +CMT,1,1,415,1.6,CRD,8 +CMT,1,2,282,1.1,CSH,6 +CMT,1,1,932,3.1,CRD,13.5 +CMT,1,1,231,0.8,CRD,5 +CMT,1,4,330,0.8,CRD,6 +CMT,1,1,778,2.4,CSH,11 +CMT,1,1,1145,2.9,CSH,14.5 +CMT,1,1,241,0.7,CSH,5 +CMT,1,1,228,0.5,CRD,4.5 +CMT,1,2,633,1.6,CRD,9.5 +CMT,1,3,965,4,CSH,15 +CMT,1,1,84,0.3,CSH,3.5 +CMT,1,2,385,1.3,CSH,6.5 +CMT,1,2,1151,4.8,CRD,17.5 +CMT,1,1,489,2.4,CRD,9 +CMT,1,1,378,1,CRD,6 +CMT,1,2,722,1.8,CRD,9.5 +CMT,1,3,443,1.7,CRD,7.5 +CMT,1,1,1115,2.2,CRD,13 +CMT,1,2,953,1.6,CSH,11.5 +CMT,1,1,344,0.7,CRD,5.5 +CMT,1,3,647,2.3,CSH,10 +CMT,1,1,343,2.2,CSH,8 +CMT,1,3,1525,9.1,CSH,29.5 +CMT,1,3,1245,7.5,CSH,24 +CMT,1,1,229,0.6,CRD,4.5 +CMT,1,1,356,1,CSH,6 +CMT,1,1,1052,2.1,CRD,12.5 +CMT,1,2,1169,2.9,CRD,13.5 +CMT,1,1,545,1,CRD,7.5 +CMT,1,1,73,0.3,CRD,3 +CMT,1,1,204,0.6,CSH,4.5 +CMT,1,2,270,1.7,CSH,7 +CMT,1,2,547,1.3,CSH,8 +CMT,1,1,191,0.4,CRD,4.5 +CMT,1,1,527,2.3,CRD,9.5 +CMT,1,1,1070,4.2,CSH,17 +CMT,1,1,460,0.9,CSH,6.5 +CMT,1,1,647,2,CRD,9.5 +CMT,1,1,695,1.9,CSH,10 +CMT,1,1,807,1.8,CSH,10.5 +CMT,1,1,246,1.2,CSH,6 +CMT,1,1,144,0.7,CRD,4 +CMT,1,1,584,2.1,CRD,9.5 +CMT,1,1,115,0.4,CRD,3.5 +CMT,1,1,245,0.5,CRD,5 +CMT,1,1,648,2.8,CRD,11.5 +CMT,1,1,712,2.4,CSH,10.5 +CMT,1,1,286,0.6,CSH,5 +CMT,1,1,536,0.6,CRD,7 +CMT,1,1,765,5.2,CRD,16.5 +CMT,1,2,1054,2.8,CSH,14 +CMT,1,1,759,3.3,CRD,13.5 +CMT,1,3,267,1.4,CRD,6.5 +CMT,1,1,735,2.3,CRD,11 +CMT,1,1,422,1.2,CSH,7 +CMT,1,1,131,0.5,CSH,4 +CMT,1,2,459,1.8,CSH,7.5 +CMT,1,1,719,1.2,CSH,9 +CMT,1,1,126,0.5,CSH,4 +CMT,1,1,269,0.9,CSH,5.5 +CMT,1,1,386,0.8,CRD,6 +CMT,1,1,394,1.1,CRD,6.5 +CMT,1,1,325,0.7,CSH,5 +CMT,1,1,721,1.7,CSH,10 +CMT,1,1,361,2.2,CRD,8.5 +CMT,1,1,813,3.4,CRD,14 +CMT,1,2,746,1.1,CRD,9 +CMT,1,1,217,0.8,CSH,5 +CMT,1,3,388,0.7,CRD,6 +CMT,1,1,1097,3.1,CRD,14.5 +CMT,1,1,126,0.4,CSH,3.5 +CMT,1,1,617,1.9,CSH,10 +CMT,1,2,664,1,CRD,8.5 +CMT,1,1,1110,3.4,CSH,14.5 +CMT,1,1,434,1.5,CRD,7.5 +CMT,1,3,470,1.1,CSH,7.5 +CMT,1,1,473,0.7,CRD,6.5 +CMT,1,1,1795,6.7,CSH,26.5 +CMT,1,1,282,1,CRD,6 +CMT,1,1,691,3.5,CRD,13.5 +CMT,1,1,321,1.5,CRD,7 +CMT,1,1,961,3.6,CSH,14.5 +CMT,1,1,206,0.6,CSH,4.5 +CMT,1,1,533,0.6,CRD,7 +CMT,1,1,694,1.7,CRD,9.5 +CMT,1,2,375,1,CSH,6.5 +CMT,1,1,319,1.3,CRD,6.5 +CMT,1,1,325,0.9,CRD,6 +CMT,1,1,854,7.2,CRD,22 +CMT,1,1,138,0.5,CSH,4 +CMT,1,1,182,0.4,CSH,4 +CMT,1,1,344,1.2,CSH,6.5 +CMT,1,1,912,2.5,CRD,12 +CMT,1,1,700,2.2,CRD,10.5 +CMT,1,1,313,0.9,CSH,5.5 +CMT,1,1,40,0.2,CRD,2.5 +CMT,1,1,529,3.1,CRD,11 +CMT,1,1,374,1.1,CRD,6.5 +CMT,1,1,330,0.7,CSH,6 +CMT,1,1,711,1.8,CRD,10 +CMT,1,1,568,0.8,CRD,7.5 +CMT,1,2,963,2.6,CSH,12.5 +CMT,1,1,316,1.2,CRD,6 +CMT,1,1,1307,4.5,CSH,18 +CMT,1,1,486,2.3,CRD,9 +CMT,1,1,397,0.8,CRD,6.5 +CMT,1,1,1089,3,CSH,14.5 +CMT,1,1,791,1.3,CRD,10 +CMT,1,1,1455,2.9,CRD,16.5 +CMT,1,2,914,1.4,CRD,10.5 +CMT,1,1,210,1.7,CSH,6.5 +CMT,1,4,335,1.4,CRD,7 +CMT,1,1,393,1,CRD,6.5 +CMT,1,2,584,1.6,CSH,9 +CMT,1,1,546,1.2,CSH,8 +CMT,1,1,953,7.4,CRD,23 +CMT,1,1,440,1.1,CRD,7 +CMT,1,1,153,0.6,CSH,4 +CMT,1,2,465,0.9,CRD,7 +CMT,1,1,284,0.8,CRD,5.5 +CMT,1,1,712,1.4,CRD,10 +CMT,1,1,619,1.7,CSH,9 +CMT,1,1,121,0.3,CSH,3.5 +CMT,1,1,705,3.7,CRD,12.5 +CMT,1,1,851,2.4,CRD,12 +CMT,1,2,1419,5.4,CSH,21.5 +CMT,1,1,1178,4.1,CSH,17 +CMT,1,1,1649,3.2,CSH,18.5 +CMT,1,1,876,2.5,CSH,11.5 +CMT,1,2,506,1,CSH,7.5 +CMT,1,1,615,1.8,CSH,9.5 +CMT,1,1,354,1.6,CSH,7.5 +CMT,1,2,1104,5,CRD,17.5 +CMT,1,1,754,3,CRD,12 +CMT,1,1,1386,2.2,CSH,15 +CMT,1,1,1106,3.7,CSH,15.5 +CMT,1,1,257,0.5,CRD,4.5 +CMT,1,1,351,1,CRD,6 +CMT,1,1,835,1.9,CRD,10.5 +CMT,1,2,1061,3.6,CSH,14.5 +CMT,1,1,778,3.2,CSH,12.5 +CMT,1,1,387,1.8,CSH,7.5 +CMT,1,1,480,1.3,CRD,7.5 +CMT,1,1,619,2.1,CSH,9.5 +CMT,1,2,1165,3.5,CRD,14.5 +CMT,1,2,1046,4.1,CRD,15.5 +CMT,1,2,386,1.4,CRD,6.5 +CMT,1,1,418,0.8,CRD,6.5 +CMT,1,1,765,1.4,CSH,9.5 +CMT,1,1,511,0.8,CSH,7 +CMT,1,1,230,0.5,CRD,4.5 +CMT,1,1,195,0.5,CRD,4.5 +CMT,1,1,445,1.2,CRD,7 +CMT,1,1,835,3,CRD,12.5 +CMT,1,1,482,4.1,CRD,13 +CMT,1,2,2596,10.5,CRD,35.5 +CMT,1,2,945,2.3,CRD,11.5 +CMT,1,1,691,1.7,CSH,9.5 +CMT,1,1,483,0.9,CRD,6.5 +CMT,1,2,136,0.2,CRD,3.5 +CMT,1,1,440,1.3,CRD,7 +CMT,1,2,495,1.5,CSH,7.5 +CMT,1,1,646,2.4,CRD,10.5 +CMT,1,1,974,2.5,CSH,13 +CMT,1,1,570,1.2,CRD,8 +CMT,1,3,258,0.8,CSH,5.5 +CMT,1,1,1369,2.6,CRD,16 +CMT,1,1,581,3.1,CRD,11.5 +CMT,1,1,512,3.2,CRD,11 +CMT,1,1,991,4.4,CRD,16.5 +CMT,1,1,502,1.1,CSH,7.5 +CMT,1,1,189,0.3,CRD,4 +CMT,1,1,754,1.8,CRD,10 +CMT,1,1,423,1.5,CSH,7.5 +CMT,1,1,295,0.8,CSH,5.5 +CMT,1,4,504,1.4,CSH,8 +CMT,1,1,534,2.5,CSH,10 +CMT,1,1,455,1.8,CRD,8 +CMT,1,1,174,0.6,CSH,4.5 +CMT,1,1,142,0.3,CRD,3.5 +CMT,1,1,467,2.6,CRD,9.5 +CMT,1,1,330,1.8,CRD,7.5 +CMT,1,2,248,0.7,CSH,5 +CMT,1,1,268,0.5,CRD,5 +CMT,1,1,278,1.6,CRD,7 +CMT,1,1,213,0.6,CSH,4.5 +CMT,1,1,439,1.2,CSH,7 +CMT,1,1,543,1.2,CSH,8 +CMT,1,1,224,1,CSH,5.5 +CMT,1,2,380,0.6,CSH,6 +CMT,1,1,403,0.9,CSH,6 +CMT,1,1,288,1.1,CSH,6 +CMT,1,1,590,1.9,CSH,9 +CMT,1,1,251,0.8,CRD,5 +CMT,1,1,114,0.6,CSH,4 +CMT,1,1,786,1.4,CRD,9.5 +CMT,1,1,951,1.1,CRD,11 +CMT,1,1,766,1.9,CSH,10.5 +CMT,1,2,787,2.3,CRD,11.5 +CMT,1,1,100,0.6,CSH,4 +CMT,1,1,208,1.6,CSH,6.5 +CMT,1,1,512,2.4,CRD,9.5 +CMT,1,3,977,3.4,CRD,14.5 +CMT,1,1,376,1.1,CSH,6.5 +CMT,1,2,807,1.1,CRD,9.5 +CMT,1,1,387,1.2,CSH,6.5 +CMT,1,1,679,1.3,CSH,9 +CMT,1,2,409,0.7,CSH,6.5 +CMT,1,4,658,1.7,CRD,9.5 +CMT,1,1,530,2.1,CRD,9 +CMT,1,1,640,1.3,CSH,9 +CMT,1,1,482,1.1,CRD,7.5 +CMT,1,1,364,1.6,CRD,7.5 +CMT,1,1,1310,9.6,CRD,28.5 +CMT,1,1,385,0.7,CSH,6 +CMT,1,1,558,0.8,CRD,7.5 +CMT,1,1,269,1.2,CSH,6 +CMT,1,1,428,0.9,CRD,6.5 +CMT,1,1,38,0.2,CSH,3 +CMT,1,4,616,1.3,CSH,8 +CMT,1,1,155,0.7,CSH,4.5 +CMT,1,1,296,0.9,CSH,6 +CMT,1,4,1700,5.3,CSH,22.5 +CMT,1,4,410,1.9,CRD,8 +CMT,1,3,59,0.4,CSH,3.5 +CMT,1,1,193,0.5,CSH,4 +CMT,1,1,224,1.1,CRD,5.5 +CMT,1,1,373,0.8,CRD,6 +CMT,1,1,673,2.3,CRD,10 +CMT,1,1,159,0.3,CSH,4 +CMT,1,1,268,0.8,CSH,5.5 +CMT,1,1,602,1.3,CRD,8.5 +CMT,1,1,1363,2.8,CRD,16 +CMT,1,1,458,1.4,CRD,7.5 +CMT,1,1,469,1.8,CRD,8.5 +CMT,1,1,1109,3.3,CSH,15.5 +CMT,1,1,828,1.7,CSH,10.5 +CMT,1,1,415,1.2,CSH,7 +CMT,1,1,1132,2.9,CRD,15 +CMT,1,1,971,3,CRD,13.5 +CMT,1,1,207,0.6,CSH,4.5 +CMT,1,1,573,1.7,CSH,9 +CMT,1,1,817,2.1,CRD,11 +CMT,1,1,702,2.1,CSH,10.5 +CMT,2,1,2770,17.7,CRD,52 +CMT,1,1,597,2.6,CRD,10 +CMT,1,1,2222,8,CRD,34.5 +CMT,1,1,459,2.4,CRD,9 +CMT,1,1,265,1,CSH,5.5 +CMT,1,1,1525,8.6,CRD,28.5 +CMT,1,1,2149,3.5,CRD,22.5 +CMT,1,1,532,1.7,CRD,8.5 +CMT,1,4,288,0.9,CRD,5.5 +CMT,1,3,414,1.8,CRD,8 +CMT,1,1,539,2.5,CSH,10 +CMT,1,1,1014,4.1,CSH,16 +CMT,1,2,757,3.7,CSH,13.5 +CMT,1,1,322,1,CSH,6 +CMT,1,3,458,2.9,CRD,10.5 +CMT,1,2,207,0.9,CSH,5 +CMT,1,2,797,2.4,CSH,11 +CMT,1,1,393,0.9,CRD,6 +CMT,1,1,382,1.5,CRD,7.5 +CMT,1,1,539,2.1,CSH,9 +CMT,1,1,886,1.7,CRD,10.5 +CMT,1,1,555,0.9,CSH,7.5 +CMT,1,3,201,0.8,CSH,5 +CMT,1,1,833,9.8,CRD,27.5 +CMT,1,1,241,0.5,CRD,4.5 +CMT,1,1,1481,1.9,CRD,16 +CMT,1,1,513,2.1,CRD,9 +CMT,1,1,410,1.3,CRD,7 +CMT,1,2,168,0.5,CRD,4.5 +CMT,1,2,500,2,CRD,8.5 +CMT,1,3,738,2.3,CRD,11 +CMT,1,1,729,2.5,CRD,11 +CMT,1,1,209,0.4,CSH,4.5 +CMT,1,1,473,0.7,CRD,6.5 +CMT,1,1,1473,5.3,CRD,21.5 +CMT,1,3,316,0.5,CSH,5 +CMT,1,1,991,3.4,CSH,14.5 +CMT,1,1,496,0.9,CSH,7 +CMT,1,1,560,2.2,CRD,9.5 +CMT,1,2,892,2.4,CRD,12 +CMT,1,1,108,0.4,CRD,3.5 +CMT,1,1,1100,2.6,CRD,14.5 +CMT,1,1,234,0.9,CSH,5.5 +CMT,1,1,90,0.6,CRD,4 +CMT,1,1,540,1.5,CRD,8.5 +CMT,1,1,298,0.6,CRD,5 +CMT,1,2,415,0.9,CSH,6.5 +CMT,1,1,351,0.8,CSH,6 +CMT,1,1,193,1.2,CRD,5.5 +CMT,2,1,2628,17.2,CRD,52 +CMT,1,2,298,0.9,CSH,5.5 +CMT,1,1,315,1,CSH,6 +CMT,1,1,421,1.8,CSH,8 +CMT,1,1,2129,6,CRD,27 +CMT,1,1,122,0.5,CSH,4 +CMT,1,1,393,1.5,CSH,7.5 +CMT,1,1,543,1.8,CRD,9 +CMT,1,2,195,1.2,CSH,5.5 +CMT,1,2,471,0.9,CSH,6.5 +CMT,1,3,553,1.7,CSH,8.5 +CMT,1,1,785,4.2,CSH,14.5 +CMT,1,1,212,0.3,CRD,4 +CMT,1,2,156,0.4,CSH,4 +CMT,1,1,1356,10.5,CSH,32 +CMT,1,1,741,1.5,CSH,9.5 +CMT,1,2,325,1.8,CSH,7 +CMT,1,1,896,2.4,CRD,11.5 +CMT,1,1,450,0.7,CRD,6.5 +CMT,1,1,628,2.8,CRD,10.5 +CMT,1,2,432,1.2,CSH,7 +CMT,1,1,150,0.6,CRD,4.5 +CMT,1,1,576,1.8,CSH,9 +CMT,1,1,416,1.4,CRD,7 +CMT,1,1,462,1.5,CSH,8 +CMT,1,2,166,0.7,CRD,4.5 +CMT,1,2,471,1.2,CRD,7.5 +CMT,1,1,632,1.1,CRD,8.5 +CMT,1,1,581,2,CSH,9 +CMT,1,1,481,1.2,CRD,7.5 +CMT,1,2,451,1.3,CRD,7.5 +CMT,1,1,247,0.5,CSH,4.5 +CMT,1,1,249,0.9,CSH,5.5 +CMT,1,2,244,0.4,CSH,4.5 +CMT,1,2,36,0,CSH,2.5 +CMT,1,1,804,1.4,CRD,10 +CMT,1,1,332,1,CRD,6.5 +CMT,1,1,222,0.5,CRD,4.5 +CMT,1,1,1014,3.2,CSH,14 +CMT,1,1,1143,2.8,CRD,14 +CMT,1,1,353,1.2,CSH,6.5 +CMT,1,1,1149,3.1,CSH,15.5 +CMT,1,1,302,0.7,CRD,5.5 +CMT,1,1,1542,11.7,CRD,34.5 +CMT,1,1,270,0.6,CRD,5 +CMT,1,1,188,0.4,CSH,4 +CMT,1,1,424,3.1,CRD,10 +CMT,1,1,281,1.3,CRD,6.5 +CMT,1,1,659,2.4,CRD,10 +CMT,1,1,147,1,CRD,5 +CMT,1,1,502,1.9,CSH,8.5 +CMT,1,1,562,1.5,CRD,8.5 +CMT,1,1,165,0.5,CRD,4 +CMT,1,1,521,3.1,CRD,11 +CMT,1,2,259,0.8,CSH,5.5 +CMT,1,2,489,0.8,CSH,6.5 +CMT,1,1,324,2,CRD,7.5 +CMT,1,1,406,1,CRD,6.5 +CMT,1,1,219,0.8,CRD,5 +CMT,1,1,1653,2.5,CRD,17.5 +CMT,1,2,149,0.4,CSH,4 +CMT,1,1,617,1.1,CRD,8.5 +CMT,1,2,956,7.1,CSH,22 +CMT,1,2,1094,4.5,CSH,17 +CMT,1,3,1257,3.8,CRD,17.5 +CMT,1,1,203,0.3,CSH,4 +CMT,1,1,412,1.9,CRD,8 +CMT,1,1,685,3.3,CSH,12.5 +CMT,1,1,314,1.6,CRD,7 +CMT,1,2,1164,6.5,CSH,20.5 +CMT,1,1,376,2.9,CRD,10 +CMT,1,1,301,1,CRD,6 +CMT,1,1,220,0.9,CRD,5 +CMT,1,1,284,0.5,CSH,5 +CMT,1,2,221,0.4,CRD,4.5 +CMT,1,1,569,1.6,CRD,8.5 +CMT,1,1,383,0.8,CSH,6 +CMT,1,1,464,2,CRD,8.5 +CMT,1,2,389,0.6,CSH,6 +CMT,1,1,335,0.5,CSH,5.5 +CMT,1,2,1167,5.3,CRD,19 +CMT,1,1,172,1.1,CRD,5 +CMT,1,2,1047,4.8,CSH,17.5 +CMT,1,2,536,2.2,CSH,9 +CMT,1,2,1168,2.4,CSH,13.5 +CMT,1,1,496,0.8,CSH,7 +CMT,1,1,277,0.8,CSH,5 +CMT,1,1,454,1.7,CSH,8 +CMT,1,1,1090,1.6,CRD,12.5 +CMT,1,2,1177,3.3,CRD,15 +CMT,1,1,428,1.1,CRD,7 +CMT,1,2,571,0.6,CRD,7.5 +CMT,1,1,688,5.2,CRD,16.5 +VTS,1,6,540,2.85,CRD,10 +VTS,1,6,2520,12.08,CSH,40 +VTS,1,6,300,1.19,CSH,6 +VTS,1,6,1080,6.53,CSH,21 +VTS,1,6,120,0.41,CSH,3.5 +VTS,1,6,780,1.16,CSH,9 +VTS,1,6,240,0.76,CRD,4.5 +VTS,1,6,300,1.23,CRD,6 +VTS,1,6,360,0.89,CRD,6 +VTS,1,6,480,1.1,CRD,7 +CMT,1,1,648,2.2,CSH,10 +CMT,1,2,744,2.1,CSH,10.5 +CMT,1,1,287,0.7,CSH,5 +CMT,1,1,587,0.7,CRD,7.5 +CMT,1,1,1001,2.2,CRD,12 +CMT,1,1,507,1.2,CSH,7.5 +CMT,1,1,603,1.3,CRD,8.5 +CMT,1,1,608,3.2,CSH,11.5 +CMT,1,1,463,1.8,CRD,8 +CMT,1,1,254,1.4,CRD,6 +CMT,1,4,452,1.4,CRD,7.5 +CMT,1,1,570,2,CRD,10 +CMT,1,1,629,1.1,CRD,8.5 +CMT,1,3,580,0.9,CSH,7.5 +CMT,1,1,454,2.7,CRD,10 +CMT,1,1,686,2,CRD,10 +CMT,1,1,405,0.8,CRD,6.5 +CMT,1,1,1017,4.2,CSH,16.5 +CMT,1,1,966,3.8,CRD,14.5 +CMT,1,2,768,2.2,CRD,10.5 +CMT,1,1,454,1,CRD,7 +CMT,1,1,218,1.1,CRD,5.5 +CMT,1,1,1119,7.8,CRD,24 +CMT,1,4,595,1.1,CSH,8 +CMT,1,1,669,2.5,CRD,11 +CMT,1,1,718,2.1,CSH,10.5 +CMT,1,1,546,0.8,CSH,7 +CMT,1,1,667,2.4,CRD,10.5 +CMT,1,1,530,0.6,CSH,7 +CMT,1,4,250,1.2,CSH,5.5 +CMT,1,4,744,5.6,CSH,18 +CMT,1,1,506,0.9,CSH,7 +CMT,1,2,1099,1.6,CRD,12 +CMT,1,1,374,1.1,CRD,6.5 +CMT,1,1,229,0.8,CSH,5 +CMT,1,1,765,1.9,CRD,10.5 +CMT,1,1,685,1.6,CRD,9.5 +CMT,1,1,712,1.8,CSH,10 +CMT,1,1,210,0.4,CRD,4.5 +CMT,1,1,638,0.8,CRD,8 +CMT,1,1,704,1.7,CSH,9.5 +CMT,1,1,761,2.2,CRD,11.5 +VTS,1,6,780,2.05,CRD,10.5 +VTS,2,6,1500,17.17,CRD,52 +VTS,2,6,2580,18.14,CSH,52 +VTS,1,6,180,0.6,CRD,4.5 +VTS,1,6,300,1.26,CSH,6 +VTS,1,6,420,0.9,CRD,6.5 +VTS,1,6,480,1.33,CRD,7.5 +VTS,1,6,420,1.62,CSH,7 +VTS,1,6,180,0.49,CSH,4 +VTS,1,6,840,3.1,CSH,12.5 +CMT,1,1,62,0.3,CSH,3 +CMT,1,1,371,1.2,CRD,7 +CMT,1,2,748,1.7,CRD,10 +CMT,1,1,677,1.3,CSH,9 +CMT,1,1,539,1.2,CRD,7.5 +CMT,1,2,700,1.5,CSH,9.5 +CMT,1,3,815,2,CSH,10.5 +CMT,1,4,362,1.8,CRD,7.5 +CMT,1,2,531,2.1,CRD,9 +CMT,1,2,444,1.9,CRD,8.5 +CMT,1,1,1104,3.2,CRD,14.5 +CMT,1,1,819,2.1,CRD,10.5 +CMT,1,2,696,1.4,CRD,9.5 +CMT,1,1,1207,2.9,CRD,15 +CMT,1,1,206,0.9,CSH,5 +CMT,1,4,1219,5.6,CRD,19.5 +CMT,1,1,1541,4.1,CRD,19 +CMT,1,1,678,2.1,CRD,10.5 +CMT,1,1,719,1.6,CRD,9 +CMT,1,1,397,0.9,CRD,6.5 +VTS,1,6,540,2.66,CSH,10 +VTS,1,6,1320,12.07,CRD,33 +VTS,1,6,420,1.49,CSH,7.5 +VTS,1,6,180,1.13,CSH,5 +VTS,1,6,360,0.95,CSH,6 +VTS,1,6,120,0.53,CSH,4 +CMT,1,1,1129,10,CRD,29 +CMT,1,1,247,1,CRD,5.5 +CMT,1,1,240,0.5,CSH,4.5 +CMT,1,1,1102,3.7,CSH,16 +CMT,1,1,831,1.5,CRD,10 +CMT,1,1,472,2,CRD,8.5 +CMT,1,2,170,0.6,CSH,4 +CMT,1,1,548,2.1,CSH,9 +CMT,1,2,1055,11.6,CSH,32.5 +CMT,1,1,707,0.7,CSH,8.5 +CMT,1,1,519,1.7,CRD,8.5 +CMT,1,1,715,1.8,CSH,10 +CMT,1,1,692,2.5,CSH,10.5 +CMT,1,1,418,0.9,CRD,6.5 +CMT,1,1,516,1,CSH,7.5 +CMT,1,2,685,1.2,CSH,8.5 +CMT,1,2,448,0.8,CSH,6.5 +VTS,1,6,540,2.19,CSH,9 +VTS,1,6,180,0.77,CRD,4.5 +VTS,1,6,360,1.22,CSH,6 +VTS,1,6,1200,10.57,CSH,31 +VTS,1,6,960,1.85,CRD,11 +VTS,1,6,420,0.73,CSH,5.5 +VTS,1,6,1140,9.61,CSH,28.5 +VTS,1,6,60,0.35,CRD,3.5 +VTS,1,6,1260,1.82,CRD,13.5 +CMT,1,1,1422,5.1,CRD,21 +VTS,1,6,360,1.41,CRD,7 +VTS,1,6,480,1.4,CRD,7.5 +VTS,1,6,420,1.18,CRD,6.5 +VTS,1,6,1740,5.45,CSH,22.5 +VTS,1,6,600,1.33,CSH,8 +VTS,2,6,2520,19.23,CRD,52 +VTS,1,6,540,1.85,CSH,8.5 +VTS,1,6,240,0.37,CSH,4 +VTS,1,6,600,1.54,CRD,8.5 +VTS,1,6,540,2.45,CRD,9.5 +VTS,1,6,1080,3.28,CSH,14.5 +VTS,1,6,120,0.37,CSH,3.5 +VTS,1,6,360,1.19,CSH,6 +VTS,1,6,600,2.09,CSH,9 +VTS,1,6,1140,4.85,CRD,18 +VTS,1,6,480,1.51,CSH,7.5 +VTS,1,6,660,2.48,CRD,10 +VTS,1,6,360,0.46,CRD,5.5 +VTS,1,6,540,1.64,CSH,8 +VTS,1,6,1260,3.96,CSH,17 +VTS,1,6,540,2.64,CSH,10 +VTS,1,6,240,0.69,CSH,5 +VTS,1,6,540,2.21,CRD,9.5 +VTS,1,6,300,0.68,CSH,5.5 +VTS,1,6,480,1.14,CSH,7.5 +VTS,1,6,360,0.71,CRD,6 +CMT,1,1,366,1.7,CRD,7.5 +CMT,1,1,303,1.3,CSH,6 +CMT,1,1,1194,6.9,CRD,21.5 +CMT,1,1,99,0.6,CRD,4 +CMT,1,1,435,0.9,CRD,6.5 +CMT,1,1,208,0.5,CSH,4.5 +CMT,1,1,573,1.5,CRD,8 +CMT,1,3,1320,5.4,CRD,21 +VTS,1,6,360,1.11,CSH,6.5 +VTS,1,6,180,0.8,CSH,4.5 +VTS,1,6,1440,11.74,CRD,34.5 +VTS,1,6,780,4.54,CSH,15 +VTS,1,6,240,0.81,CRD,5 +VTS,1,6,300,0.55,CRD,5 +VTS,1,6,120,0.26,CSH,3.5 +VTS,1,6,540,1.5,CSH,8.5 +VTS,1,6,420,1.18,CRD,6.5 +VTS,1,6,540,1.83,CRD,8.5 +VTS,1,6,780,2.06,CRD,10.5 +VTS,1,6,420,2.04,CSH,8.5 +VTS,1,6,360,1.05,CSH,6 +VTS,1,6,840,7.2,CRD,21.5 +VTS,2,6,3120,18.57,CRD,52 +VTS,1,6,540,0.95,CSH,7 +VTS,1,6,540,1.18,CSH,7.5 +VTS,1,6,1380,3.62,CSH,12 +CMT,1,1,773,6.1,CRD,19.5 +CMT,1,1,647,1.8,CSH,9 +CMT,1,1,934,3.7,CRD,14.5 +CMT,1,1,168,0.6,CSH,4.5 +CMT,1,1,947,2.4,CRD,12 +CMT,1,1,1208,2.4,CSH,14 +CMT,1,1,601,1.8,CRD,9 +CMT,1,1,964,2.3,CRD,12.5 +CMT,1,1,458,1.9,CSH,8.5 +CMT,1,1,469,2.6,CRD,9.5 +CMT,1,1,1160,1.9,CRD,13.5 +CMT,1,1,263,0.8,CRD,5 +CMT,1,1,738,3.6,CRD,13.5 +CMT,1,1,156,0.8,CRD,4.5 +CMT,1,1,346,1.1,CRD,6 +CMT,1,2,746,2.4,CSH,11 +CMT,1,1,394,2.2,CSH,8.5 +CMT,1,1,360,1,CSH,6 +CMT,1,2,733,1.2,CRD,9 +CMT,1,1,1085,3.8,CRD,15 +CMT,1,1,301,0.7,CSH,5.5 +CMT,1,1,345,1.9,CRD,7.5 +CMT,1,1,331,0.8,CRD,5.5 +CMT,1,1,353,0.5,CRD,5.5 +CMT,1,1,310,1.5,CRD,6.5 +CMT,1,1,941,2.4,CRD,12 +VTS,1,6,1080,3.61,CRD,15.5 +VTS,2,6,3060,20.05,CSH,52 +VTS,1,6,840,2.01,CRD,10.5 +VTS,1,6,420,1.81,CRD,7.5 +VTS,1,6,840,2.65,CSH,11.5 +VTS,1,6,720,3.73,CRD,13 +VTS,1,6,360,0.93,CSH,5.5 +VTS,1,6,900,2.99,CRD,12.5 +VTS,1,6,1020,7.2,CSH,22 +VTS,1,6,1320,10.42,CRD,31.5 +VTS,1,6,480,1.88,CSH,8 +VTS,1,6,540,1.54,CSH,8 +VTS,1,6,420,1.32,CRD,7 +VTS,1,6,900,5.07,CRD,16.5 +VTS,1,6,360,1.15,CRD,6 +VTS,1,6,240,0.5,CSH,4.5 +VTS,1,6,120,0.65,CRD,4 +VTS,5,1,2100,19.41,CRD,89 +VTS,1,6,660,2.58,CRD,10.5 +VTS,1,6,420,1.66,CSH,8 +VTS,1,6,600,2.36,CRD,9.5 +VTS,1,6,1020,2.91,CRD,13 +VTS,1,6,480,2.35,CSH,9 +VTS,1,6,300,0.41,CRD,4.5 +VTS,1,6,420,1.69,CSH,8 +VTS,1,6,420,1.3,CSH,7 +VTS,1,6,300,1.39,CSH,6 +VTS,1,6,780,2.66,CRD,11 +VTS,1,6,600,1.78,CSH,9 +VTS,2,6,2580,19.43,CSH,52 +VTS,1,6,480,1.17,CSH,7 +VTS,1,6,600,1.88,CSH,9 +VTS,1,6,900,4.1,CRD,15 +VTS,1,6,960,6.29,CSH,19.5 +VTS,1,6,360,0.81,CSH,5.5 +VTS,1,6,1020,2.05,CSH,12 +VTS,1,6,420,1.21,CSH,7 +VTS,1,6,540,2.25,CSH,10 +VTS,1,6,360,1.48,CRD,7 +VTS,5,1,3180,15.89,CRD,54 +VTS,1,6,180,0.87,CSH,4.5 +VTS,1,6,300,1.01,CSH,5.5 +VTS,1,6,180,1.05,CRD,5 +VTS,1,6,360,1.59,CSH,7.5 +VTS,1,6,960,2.37,CRD,12.5 +VTS,1,6,780,2.91,CRD,12 +VTS,1,6,1320,5.29,CSH,19.5 +VTS,1,6,840,1.94,CRD,11 +VTS,1,6,420,1.9,CRD,8 +VTS,1,6,180,0.96,CRD,4.5 +VTS,1,6,240,0.58,CSH,4.5 +VTS,1,6,900,4.34,CSH,16 +VTS,1,6,720,2.93,CRD,11.5 +VTS,1,6,3180,20.71,CRD,59 +VTS,1,6,660,1.44,CRD,8.5 +VTS,1,6,660,1.44,CRD,9.5 +VTS,1,6,3360,19.89,CRD,58 +VTS,1,6,360,1.33,CRD,7 +VTS,1,6,600,2.69,CRD,11 +VTS,1,6,360,0.77,CSH,5.5 +VTS,1,6,180,0.79,CSH,4.5 +VTS,1,6,360,0.79,CSH,5.5 +VTS,1,6,960,4.21,CRD,16 +VTS,1,6,1140,4.24,CRD,15.5 +VTS,1,6,420,1.68,CSH,7 +VTS,1,6,420,1.24,CRD,6.5 +VTS,1,6,300,0.8,CSH,5.5 +VTS,1,6,120,1.17,CRD,5 +VTS,1,6,1020,4.46,CSH,16 +VTS,1,6,780,2.54,CSH,11.5 +VTS,2,6,3420,20.01,CRD,52 +VTS,1,6,300,1.02,CRD,5.5 +VTS,1,6,1260,9.63,CRD,28.5 +VTS,1,6,600,1.66,CRD,8.5 +VTS,1,6,1080,2.72,CSH,13.5 +VTS,1,6,120,0.19,CSH,3.5 +VTS,1,6,360,0.87,CRD,6 +VTS,1,6,720,5.34,CSH,17 +VTS,1,6,420,1.18,CSH,7 +VTS,2,6,2400,18.7,CRD,52 +VTS,1,6,300,1.04,CSH,6 +VTS,1,6,420,1.05,CRD,6.5 +VTS,1,6,600,3.52,CRD,12 +VTS,1,6,3360,14.58,CRD,50 +VTS,1,6,240,0.71,CSH,5 +VTS,1,6,900,2.18,CRD,11 +VTS,1,6,720,2.15,CSH,10 +VTS,1,6,840,2.35,CRD,11.5 +VTS,1,6,600,1.8,CSH,8.5 +VTS,1,6,1620,4.8,CSH,21.5 +VTS,1,6,720,3.22,CRD,11.5 +VTS,1,6,840,3.09,CSH,13 +VTS,1,6,600,2,CRD,9 +VTS,1,6,180,0.88,CRD,5 +VTS,1,6,960,3.72,CSH,14.5 +VTS,1,6,1680,15.47,CRD,43.5 +VTS,5,1,1140,4.76,CSH,45 +VTS,1,6,840,3.42,CSH,13 +VTS,1,6,780,3.98,CRD,13.5 +VTS,2,6,1500,17.68,CRD,52 +VTS,1,6,300,1.6,CSH,6.5 +VTS,1,6,120,1.15,CSH,5 +VTS,1,6,1140,4.76,CRD,17.5 +VTS,1,6,780,2.47,CSH,11 +VTS,1,6,660,2.06,CSH,9.5 +VTS,1,6,180,0.73,CSH,4.5 +VTS,1,6,480,1.6,CRD,8 +VTS,1,6,240,0.82,CSH,5 +VTS,1,6,480,1.75,CSH,7.5 +VTS,1,6,480,1.27,CRD,7 +VTS,1,6,660,3.9,CRD,13.5 +VTS,1,6,1140,5.08,CSH,18.5 +VTS,1,6,600,1.25,CRD,8 +VTS,1,6,360,1.44,CRD,7 +VTS,1,6,720,2.95,CRD,11.5 +VTS,1,6,240,0.98,CRD,5.5 +VTS,1,6,240,1.24,CSH,5.5 +VTS,1,6,480,1.99,CRD,8.5 +VTS,1,6,240,0.34,CSH,4 +VTS,1,6,1320,6.61,CRD,21.5 +VTS,1,6,300,1.28,CSH,6.5 +VTS,1,6,600,3.33,CRD,11.5 +VTS,1,6,2400,23.93,CRD,65 +VTS,1,6,240,0.65,CRD,4.5 +VTS,1,6,600,1.22,CRD,8 +VTS,1,6,600,1.04,CRD,7.5 +VTS,1,6,300,1.07,CSH,5.5 +VTS,5,1,0,0.09,CRD,10 +VTS,1,6,840,4.04,CSH,14 +VTS,1,6,480,2.2,CSH,8.5 +VTS,1,6,540,2.12,CRD,9 +VTS,1,6,600,1.82,CRD,9 +CMT,1,2,135,0.6,CSH,4 +CMT,1,1,460,1.6,CSH,8 +CMT,1,1,887,2.9,CSH,12.5 +CMT,1,1,1611,3.9,CRD,19.5 +CMT,1,1,343,0.9,CSH,6 +CMT,1,1,634,1.4,CSH,8.5 +CMT,1,4,492,1.2,CRD,7.5 +CMT,1,1,695,1.5,CSH,9.5 +CMT,1,1,574,1.9,CRD,9 +CMT,1,1,419,1.4,CRD,7.5 +CMT,1,2,728,1.7,CRD,10 +CMT,1,1,651,1.5,CRD,9 +CMT,1,1,166,0.3,CSH,4 +CMT,1,1,1010,1.4,CSH,11.5 +CMT,1,1,308,0.8,CRD,5.5 +CMT,1,1,329,1.2,CSH,6.5 +CMT,1,1,667,3.1,CRD,11.5 +CMT,1,1,324,1.2,CSH,6.5 +CMT,1,2,417,1.8,CRD,8 +CMT,1,1,369,1.3,CSH,6.5 +CMT,1,1,289,1.4,CSH,6.5 +CMT,1,1,185,0.8,CSH,4.5 +CMT,1,1,635,2.2,CRD,10 +CMT,1,1,466,1.4,CSH,7.5 +CMT,1,1,331,0.5,CSH,5 +CMT,1,1,274,0.8,CSH,5.5 +CMT,1,1,140,0.9,CSH,4.5 +CMT,1,1,990,1.3,CRD,11.5 +CMT,1,1,302,1,CSH,6 +CMT,1,1,480,2,CSH,8.5 +CMT,1,2,660,1.9,CSH,9.5 +CMT,1,2,388,0.9,CRD,6 +CMT,1,1,261,0.8,CRD,5 +CMT,1,1,380,0.7,CRD,5.5 +CMT,1,3,984,3.1,CSH,13.5 +CMT,1,1,516,1.2,CRD,7.5 +CMT,1,1,436,1.5,CSH,7.5 +CMT,1,1,840,1.5,CSH,10 +VTS,1,6,1380,3.96,CRD,17 +VTS,1,6,960,3.86,CRD,14.5 +VTS,1,6,360,1.36,CRD,6.5 +VTS,1,6,720,1.79,CRD,10 +VTS,1,6,960,4.5,CRD,16 +VTS,1,6,1260,8.65,CRD,27 +VTS,1,6,480,2,CSH,8.5 +VTS,1,6,540,1.52,CRD,8 +VTS,1,6,1380,7.84,CRD,25.5 +VTS,1,6,300,0.96,CRD,6 +VTS,1,6,960,4.84,CSH,15 +VTS,1,6,540,2.14,CSH,9 +VTS,1,6,540,2.1,CSH,9 +VTS,1,6,360,1.27,CSH,6.5 +VTS,1,6,1140,5.21,CSH,18.5 +VTS,1,6,300,1.16,CRD,5.5 +VTS,1,6,480,1.82,CRD,8 +VTS,1,6,1200,5.98,CSH,20.5 +VTS,1,6,720,4.24,CRD,14.5 +VTS,1,6,420,1.55,CRD,7 +VTS,1,6,300,1.2,CSH,6 +VTS,1,6,1200,7.11,CRD,23 +VTS,1,6,240,0.94,CRD,5 +VTS,1,6,600,1.99,CSH,9.5 +VTS,1,6,360,0.63,CRD,5.5 +VTS,1,6,300,1.49,CSH,6.5 +VTS,1,6,600,2.52,CRD,10 +VTS,1,6,600,1.89,CRD,9 +VTS,1,6,660,2.72,CRD,11 +VTS,1,6,240,1.01,CRD,5.5 +VTS,1,6,420,1.13,CRD,7 +VTS,1,6,540,1.64,CRD,8.5 +VTS,1,6,420,2.6,CRD,9 +VTS,1,6,2220,14.77,CRD,43.5 +VTS,1,6,540,2.65,CRD,10 +VTS,1,6,1260,7.63,CSH,24.5 +VTS,1,6,660,2.48,CRD,10.5 +VTS,1,6,240,0.53,CRD,4.5 +VTS,1,6,720,2.23,CRD,10.5 +VTS,1,6,1080,5.4,CRD,18 +VTS,1,6,540,2.42,CSH,9.5 +VTS,1,6,600,3.59,CRD,12 +VTS,1,6,600,3.67,CSH,13 +VTS,1,6,360,0.7,CSH,5.5 +VTS,1,6,180,0.38,CRD,4 +VTS,1,6,1920,9.9,CSH,31.5 +VTS,1,6,360,1.09,CRD,6 +VTS,1,6,300,0.95,CSH,5.5 +VTS,1,6,300,0.71,CRD,5 +VTS,1,6,480,0.91,CSH,7 +VTS,1,6,120,0.68,CRD,4 +VTS,1,6,1020,4.58,CRD,17 +VTS,1,6,540,3.39,CRD,12 +VTS,1,6,120,0.44,CSH,3.5 +VTS,1,6,960,3,CSH,12.5 +VTS,1,6,1080,4.6,CRD,16 +VTS,1,6,660,1.48,CRD,8.5 +VTS,1,6,960,2.72,CRD,12.5 +VTS,1,6,1380,8.77,CRD,28 +VTS,1,6,420,1.55,CSH,7.5 +VTS,1,6,600,2.35,CSH,9.5 +VTS,1,6,180,0.73,CSH,4.5 +VTS,1,6,240,0.91,CSH,5.5 +VTS,1,6,300,0.88,CSH,5.5 +VTS,1,6,540,1.86,CRD,9 +VTS,2,6,2340,20.31,CRD,52 +VTS,1,6,240,0.89,CRD,5.5 +VTS,1,6,420,1.25,CRD,6.5 +VTS,1,6,60,0.01,CSH,2.5 +VTS,1,6,360,0.74,CSH,5.5 +VTS,1,6,540,0.97,CSH,7 +VTS,1,6,840,3.72,CSH,13.5 +VTS,1,6,600,2.45,CSH,10 +VTS,1,6,840,2.56,CRD,11.5 +VTS,2,6,1620,19.11,CRD,52 +VTS,1,6,360,2.03,CRD,8 +VTS,1,6,720,2.82,CRD,11 +VTS,1,6,0,0.02,CSH,2.5 +VTS,2,6,2520,18.27,CRD,52 +VTS,1,6,600,2.47,CRD,10 +VTS,1,6,960,3.15,CSH,13.5 +VTS,1,6,540,3.02,CSH,10.5 +VTS,1,6,960,3.94,CRD,14.5 +VTS,1,6,240,1.2,CSH,6 +VTS,2,6,2640,17.71,CSH,52 +VTS,1,6,1020,3.5,CSH,14 +VTS,1,6,600,2.3,CSH,9.5 +VTS,1,6,600,2.11,CSH,9 +VTS,1,6,720,3.33,CRD,12.5 +VTS,1,6,480,1.8,CRD,8 +VTS,1,6,600,1.47,CSH,8.5 +VTS,1,6,420,1.18,CRD,6.5 +VTS,1,6,1680,5.31,CRD,22 +VTS,2,6,2700,17.7,CRD,52 +VTS,1,6,1140,2.84,CRD,13.5 +VTS,1,6,660,1.78,CRD,9.5 +VTS,1,6,480,1.11,CRD,7 +VTS,1,6,240,0.61,CRD,4.5 +VTS,1,6,420,1.94,CRD,8.5 +VTS,1,6,900,2.94,CSH,13 +VTS,1,6,600,2.63,CRD,10 +VTS,1,6,180,1.26,CRD,5.5 +VTS,1,6,780,2.76,CSH,11.5 +VTS,1,6,780,1.54,CRD,9.5 +VTS,1,6,1260,5.17,CRD,18 +VTS,1,6,180,0.43,CSH,4.5 +VTS,1,6,1920,8.04,CRD,28 +VTS,1,6,300,0.77,CSH,5.5 +VTS,1,6,360,0.96,CSH,6 +VTS,1,6,480,1.69,CRD,8 +VTS,1,6,780,2.94,CSH,12.5 +VTS,1,6,540,2.73,CRD,10 +VTS,1,6,1140,3.02,CSH,14 +VTS,1,6,780,3.01,CSH,12.5 +VTS,1,6,1680,5.59,CRD,22.5 +VTS,1,6,480,1.37,CSH,7.5 +VTS,1,6,660,1.06,CRD,8.5 +VTS,1,6,480,1.21,CRD,7 +VTS,1,6,360,0.88,CSH,6 +VTS,1,6,780,1.95,CSH,10 +VTS,1,6,960,1.87,CSH,11.5 +VTS,1,6,300,0.64,CSH,5 +VTS,1,6,540,1.45,CSH,8 +VTS,1,6,720,2.52,CRD,11 +VTS,1,6,3720,20.04,CSH,60 +VTS,1,6,540,1.69,CSH,8.5 +VTS,1,6,960,3.27,CRD,13 +VTS,1,6,240,0.59,CSH,4.5 +VTS,1,6,420,1.39,CSH,7 +VTS,1,6,420,2.13,CRD,8.5 +VTS,1,6,900,3.48,CSH,13.5 +VTS,1,6,1200,3.69,CSH,15 +VTS,1,6,540,2.01,CSH,8.5 +VTS,1,6,2100,9.95,CSH,33.5 +VTS,1,6,420,2.3,CRD,9 +VTS,2,6,2220,18.04,CRD,52 +VTS,1,6,240,1.18,CSH,5.5 +VTS,1,6,540,2.46,CRD,9.5 +VTS,1,6,300,1.29,CRD,6 +VTS,1,6,2100,11.64,CRD,36.5 +VTS,1,6,240,1.01,CSH,6 +VTS,1,6,960,6.09,CRD,20 +VTS,1,6,2040,10.66,CRD,34 +VTS,1,6,240,0.95,CSH,5 +VTS,1,6,420,1.21,CRD,6.5 +VTS,1,6,600,2.36,CRD,9.5 +VTS,1,6,780,1.03,CRD,9 +VTS,1,6,780,2.06,CSH,10 +VTS,1,6,360,0.8,CSH,5.5 +VTS,1,6,660,2.13,CSH,10 +VTS,1,6,360,1.1,CSH,6 +VTS,1,6,960,4.76,CSH,16 +VTS,1,6,240,1.34,CSH,6 +VTS,1,6,2760,19.82,CRD,58.5 +VTS,1,6,360,2.03,CRD,8 +VTS,1,6,480,1.39,CRD,7.5 +VTS,1,6,360,0.54,CSH,5.5 +VTS,1,6,420,1.13,CSH,7 +VTS,1,6,1560,6,CSH,22 +VTS,1,6,1320,4.39,CRD,18.5 +VTS,1,6,1320,10.02,CSH,29 +VTS,1,6,300,0.72,CSH,5.5 +VTS,1,6,660,1.72,CRD,9 +VTS,1,6,780,4.54,CRD,14.5 +VTS,1,6,420,1.11,CSH,6.5 +VTS,1,6,540,0.89,CRD,7 +VTS,1,6,300,0.92,CRD,5 +VTS,1,6,540,1.5,CRD,8.5 +VTS,1,6,660,2.27,CRD,10 +VTS,1,6,480,1.71,CRD,8 +VTS,1,6,240,1.74,CRD,6.5 +VTS,1,6,360,0.97,CRD,6 +VTS,1,6,1500,6.01,CRD,23 +VTS,1,6,300,0.68,CSH,5.5 +VTS,1,6,660,2.38,CRD,10 +VTS,2,6,2700,19.72,CRD,52 +VTS,1,6,300,0.85,CRD,5.5 +VTS,1,6,780,3.71,CSH,13 +VTS,1,6,1020,3.7,CRD,15 +VTS,1,6,360,0.97,CRD,6 +VTS,3,6,1680,15.58,CRD,60.5 +VTS,1,6,1200,9.44,CRD,27.5 +VTS,1,6,840,4.08,CSH,14 +VTS,1,6,420,1.85,CSH,8 +VTS,1,6,1140,5.61,CSH,18.5 +VTS,1,6,120,0.67,CSH,4 +VTS,1,6,240,1.7,CRD,6.5 +VTS,1,6,660,2.52,CRD,10.5 +VTS,1,6,420,0.82,CSH,6 +VTS,1,6,420,1.04,CRD,6.5 +VTS,2,6,2280,18,CRD,52 +VTS,1,6,360,1.2,CRD,6.5 +VTS,1,6,660,2.22,CSH,10 +VTS,1,6,840,3.29,CSH,12.5 +VTS,1,6,540,1.85,CRD,8.5 +VTS,1,6,300,1.17,CSH,6 +VTS,1,6,300,0.85,CRD,5.5 +VTS,1,6,600,1.58,CRD,8.5 +VTS,1,6,480,1.2,CRD,7 +VTS,1,6,1020,4.34,CRD,16.5 +VTS,1,6,540,3.75,CRD,12 +VTS,1,6,480,2.02,CRD,8.5 +VTS,1,6,480,1.11,CRD,7.5 +VTS,1,6,240,0.7,CSH,5 +VTS,1,6,1140,1.67,CSH,12.5 +VTS,1,6,480,1.31,CSH,7 +VTS,1,6,900,2.97,CSH,12.5 +VTS,1,6,840,3.37,CSH,13.5 +VTS,1,6,660,3.63,CRD,12.5 +VTS,1,6,360,1.54,CSH,7 +VTS,1,6,1200,7.67,CSH,24.5 +VTS,1,6,540,0.86,CSH,7 +VTS,1,6,780,1.81,CRD,9.5 +VTS,1,6,480,1.43,CRD,7.5 +VTS,1,6,420,0.78,CSH,6 +VTS,1,6,180,0.37,CRD,4 +VTS,1,6,540,2.75,CRD,10 +VTS,1,6,420,1.66,CRD,7.5 +VTS,1,6,420,1.89,CSH,7.5 +VTS,1,6,420,0.6,CSH,6 +VTS,1,5,480,1.3,CRD,7.5 +VTS,1,6,1200,5.37,CRD,19.5 +VTS,1,6,660,1.39,CRD,8.5 +VTS,1,6,1380,3.44,CRD,16.5 +VTS,1,6,240,1.17,CSH,5.5 +VTS,1,6,240,0.76,CSH,5 +VTS,1,6,300,1.05,CSH,5.5 +VTS,1,6,120,0.45,CRD,4 +VTS,1,6,300,0.87,CRD,5.5 +VTS,1,6,900,3.31,CRD,13.5 +VTS,1,6,1860,9.6,CRD,31 +VTS,1,6,2460,15.42,CRD,45 +VTS,1,6,540,1.05,CRD,7 +VTS,1,6,360,1.3,CSH,6 +VTS,1,6,540,2.4,CRD,10 +VTS,1,6,780,1.39,CRD,9 +VTS,1,6,660,1.45,CSH,9 +VTS,1,6,480,1.19,CRD,7 +VTS,1,6,300,0.75,CSH,5 +VTS,1,6,360,1.71,CSH,7 +VTS,1,6,480,2.64,CRD,9.5 +VTS,1,6,840,3.78,CSH,14 +VTS,1,6,240,1.06,CSH,5.5 +VTS,1,6,420,1.74,CRD,8 +VTS,1,6,420,1.13,CRD,6.5 +VTS,1,6,780,2.62,CRD,11 +VTS,1,6,480,2.14,CSH,8.5 +VTS,1,6,660,1.38,CRD,8.5 +VTS,1,6,540,1.17,CRD,7.5 +VTS,1,6,960,3.58,CSH,14 +VTS,1,6,180,1.38,CSH,6 +VTS,1,6,2640,15.94,CSH,46 +VTS,1,6,1500,5.88,CRD,21 +VTS,1,6,300,0.83,CSH,5.5 +VTS,1,6,660,2.83,CRD,12 +VTS,1,6,960,4.18,CSH,15 +VTS,1,6,420,1.99,CSH,8 +VTS,1,6,300,0.83,CRD,5 +VTS,1,6,1020,4.84,CSH,16.5 +VTS,1,6,420,2.45,CSH,9 +VTS,1,6,1020,2.39,CSH,12.5 +VTS,1,6,360,1.11,CSH,6 +VTS,1,6,1020,3.82,CRD,14.5 +VTS,1,6,1860,14.16,CRD,41.5 +VTS,1,6,540,2.88,CRD,10.5 +VTS,2,6,2400,17.97,CRD,52 +VTS,1,6,360,1.15,CSH,6.5 +VTS,1,6,420,1.44,CRD,7.5 +VTS,1,6,300,1.32,CRD,6.5 +VTS,1,6,1140,1.92,CRD,13 +VTS,1,6,180,0.06,CSH,3.5 +VTS,1,6,600,1.59,CRD,8.5 +VTS,1,6,120,0.65,CRD,4 +VTS,1,6,660,0.92,CSH,8 +VTS,1,6,840,1.71,CRD,10.5 +VTS,2,6,3600,18.61,CSH,52 +VTS,1,6,420,0.74,CRD,6 +VTS,1,6,420,1.22,CSH,6.5 +VTS,1,6,180,0.96,CSH,5 +VTS,1,6,840,3.61,CRD,13.5 +VTS,1,6,360,0.82,CSH,6 +VTS,1,6,1140,3.76,CRD,15.5 +VTS,1,6,1200,5.32,CRD,18.5 +VTS,1,6,840,1.7,CSH,10.5 +VTS,1,6,360,0.99,CRD,6 +VTS,1,6,960,4.02,CRD,15.5 +VTS,1,6,1320,6.68,CRD,21.5 +VTS,1,6,1380,5.38,CSH,20.5 +VTS,1,6,360,1.53,CSH,7 +VTS,1,6,180,0.87,CSH,5 +VTS,1,6,1260,6.33,CRD,21.5 +VTS,1,6,540,1.72,CRD,8 +VTS,1,6,1440,9.01,CRD,27.5 +VTS,1,6,1140,5.2,CRD,19 +VTS,1,6,600,3.05,CRD,11 +VTS,2,6,2700,17.92,CRD,52 +VTS,1,6,780,2.88,CSH,11 +VTS,1,6,660,2.42,CRD,10.5 +VTS,1,6,180,0.51,CRD,4 +VTS,1,6,900,1.59,CSH,10.5 +VTS,1,6,840,7.44,CSH,21.5 +VTS,1,6,300,0.76,CRD,5.5 +VTS,1,6,600,1.31,CRD,8.5 +VTS,1,6,780,4.42,CSH,14.5 +VTS,1,6,900,2.74,CRD,13 +VTS,1,6,540,1.11,CSH,7.5 +VTS,1,6,480,1.07,CRD,7 +VTS,1,6,1140,2.95,CRD,15 +VTS,1,6,1740,3.91,CRD,20.5 +VTS,2,6,4500,24.39,CRD,52 +VTS,1,6,180,0.68,CSH,4.5 +VTS,1,6,660,2.37,CRD,9.5 +VTS,1,6,480,0.91,CSH,6.5 +VTS,1,6,960,3.91,CRD,14.5 +VTS,1,6,900,3.54,CRD,14.5 +VTS,1,6,420,1.34,CRD,7 +VTS,1,6,1200,3.48,CSH,15.5 +VTS,1,6,360,1.46,CSH,7 +VTS,1,6,420,1.87,CRD,8 +VTS,1,6,1320,6.98,CRD,23 +VTS,1,6,840,2.69,CSH,12.5 +VTS,1,6,180,0.97,CSH,5 +VTS,1,6,960,5.22,CRD,17.5 +VTS,1,6,540,1.73,CSH,8.5 +VTS,1,6,360,1.67,CRD,7 +VTS,1,6,1380,2.52,CRD,15.5 +VTS,1,6,360,1.61,CSH,7 +VTS,1,6,600,1.31,CRD,8 +VTS,1,6,960,3.89,CRD,15 +VTS,1,6,120,0.63,CRD,4 +VTS,1,6,1020,7.89,CSH,24.5 +VTS,1,6,1620,19,CSH,50.5 +VTS,1,6,600,2.18,CRD,9.5 +VTS,1,6,780,1.5,CRD,9.5 +VTS,1,6,660,3.18,CRD,11.5 +VTS,5,1,0,0,CRD,6 +VTS,1,6,240,1.38,CRD,6.5 +VTS,1,6,1140,5.1,CRD,18.5 +VTS,1,6,720,3.08,CRD,12 +VTS,1,6,660,3.31,CSH,12 +VTS,1,6,1080,4.14,CRD,16.5 +VTS,1,6,1440,9.5,CRD,29 +VTS,2,6,2940,22.09,CSH,52 +VTS,1,6,660,3.09,CSH,11.5 +VTS,1,6,240,0.54,CRD,4.5 +VTS,1,6,780,2.8,CSH,11.5 +VTS,1,6,420,1.28,CRD,7 +VTS,1,6,180,0.29,CSH,3.5 +VTS,1,6,540,1.91,CRD,8.5 +VTS,1,6,420,1.86,CRD,8 +VTS,1,6,300,0.76,CSH,5.5 +VTS,1,6,1980,9.72,CSH,32 +VTS,1,6,660,4.19,CRD,13.5 +VTS,1,6,2220,10.59,CRD,33.5 +VTS,1,6,1740,17.93,CRD,49.5 +VTS,1,1,240,1.7,CSH,7 +VTS,1,1,240,1.43,CSH,6.5 +VTS,1,1,720,2.12,CRD,10.5 +VTS,1,1,360,0.94,CRD,6.5 +VTS,1,1,600,1.59,CRD,9 +VTS,1,1,420,1.07,CSH,7 +VTS,1,1,360,1.79,CSH,7.5 +VTS,1,1,540,1.78,CSH,9 +VTS,1,1,540,2.9,CRD,10.5 +VTS,1,1,480,1.13,CSH,7 +VTS,1,1,720,2.11,CSH,10 +VTS,1,1,540,2.32,CRD,9 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,600,2.31,CRD,9.5 +VTS,1,1,900,2.15,CRD,11.5 +VTS,1,1,540,0.78,CSH,7 +VTS,1,1,540,1.35,CRD,7.5 +VTS,1,1,900,2.2,CSH,11.5 +VTS,1,1,240,0.91,CSH,5.5 +VTS,1,1,480,1.24,CRD,7 +VTS,1,1,120,0.44,CSH,4 +VTS,1,1,540,1.46,CRD,8 +VTS,1,1,540,1.41,CRD,8 +VTS,1,1,960,8.52,CRD,25 +VTS,1,1,420,1.96,CRD,8.5 +VTS,1,1,300,0.97,CSH,5.5 +VTS,1,1,300,0.65,CSH,5.5 +VTS,1,1,420,1.87,CSH,8 +VTS,1,1,600,2.67,CRD,11 +VTS,1,1,300,0.75,CSH,5 +VTS,1,1,420,1.04,CRD,7 +VTS,1,1,420,0.92,CRD,6.5 +VTS,1,1,420,1.45,CRD,7 +VTS,1,1,180,0.5,CSH,4 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,720,2.81,CRD,11.5 +VTS,1,1,600,2.69,CSH,10.5 +VTS,1,1,540,2.07,CRD,9 +VTS,1,1,240,0.74,CRD,5 +VTS,1,1,480,1.57,CSH,8 +VTS,1,1,1320,2.85,CRD,15.5 +VTS,1,1,360,2.25,CRD,8.5 +VTS,1,1,780,6.04,CSH,18.5 +VTS,1,1,360,1.18,CRD,6 +VTS,1,1,360,0.78,CRD,6 +VTS,1,1,300,1.23,CRD,6 +VTS,1,1,120,0.33,CRD,3.5 +VTS,1,1,1200,4.51,CRD,18 +VTS,1,1,420,2.1,CSH,8.5 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,6,1320,7.43,CRD,23.5 +VTS,1,6,780,3.87,CSH,14 +VTS,1,6,420,1.4,CSH,7 +VTS,1,6,420,1.16,CSH,6.5 +VTS,1,6,360,0.83,CSH,6 +VTS,1,6,2520,11.39,CSH,39 +VTS,1,6,420,1.85,CSH,8 +VTS,1,6,900,2.88,CRD,12.5 +VTS,1,6,480,1.94,CRD,8 +VTS,2,6,1980,17.69,CRD,52 +VTS,1,6,1080,5.05,CRD,17 +VTS,2,1,1860,18.63,CSH,52 +VTS,1,1,360,1.6,CRD,7.5 +VTS,1,1,660,2.21,CRD,10.5 +VTS,1,1,540,1.88,CSH,9 +VTS,1,1,180,0.94,CRD,5 +VTS,1,1,1020,3.44,CRD,14.5 +VTS,1,1,900,1.49,CRD,11.5 +VTS,1,1,180,0.88,CRD,5 +VTS,1,1,1020,2.44,CRD,13 +VTS,1,1,300,1.55,CSH,7 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,1260,4.12,CSH,17 +VTS,1,1,180,0.37,CSH,4 +VTS,1,1,120,0.5,CSH,4 +VTS,1,6,240,1.45,CRD,6 +VTS,1,6,780,3.1,CSH,12 +VTS,1,6,720,2.82,CRD,11.5 +VTS,1,6,1140,7,CRD,22 +VTS,1,6,300,0.83,CSH,5.5 +VTS,1,6,300,1.19,CSH,6.5 +VTS,1,6,720,2.27,CRD,10.5 +VTS,1,6,540,2.07,CSH,9 +VTS,1,6,1140,2.29,CRD,13.5 +VTS,1,6,720,2.19,CRD,10 +VTS,1,6,720,1.55,CRD,9.5 +VTS,1,6,420,1.19,CRD,6.5 +VTS,1,6,600,1.33,CRD,8.5 +VTS,1,6,900,2.09,CRD,11 +VTS,1,6,180,0.92,CRD,5 +VTS,1,6,720,3.46,CSH,13 +VTS,1,6,480,0.94,CRD,7 +VTS,1,6,1140,4.91,CRD,17 +VTS,1,6,600,1.88,CRD,9 +VTS,1,6,420,1.09,CRD,6.5 +VTS,1,6,240,0.85,CSH,5.5 +VTS,1,6,600,1.05,CSH,8 +VTS,1,6,420,1.53,CSH,7.5 +VTS,1,6,300,0.91,CSH,5.5 +VTS,1,6,600,3.19,CRD,11.5 +VTS,1,6,1620,15.93,CSH,44 +VTS,1,6,240,0.78,CSH,4.5 +VTS,1,6,180,0.94,CSH,5 +VTS,1,6,1800,9.81,CRD,31.5 +VTS,1,6,720,2.44,CRD,11 +VTS,1,6,900,1.6,CSH,10.5 +VTS,1,6,660,1.05,CRD,8 +VTS,1,6,420,1.86,CRD,8 +VTS,1,6,2580,7.23,CRD,31 +VTS,2,6,2460,17.39,CRD,52 +VTS,2,6,2040,23.32,CSH,52 +VTS,1,6,720,3.85,CRD,13 +VTS,1,6,480,1.57,CRD,8 +VTS,1,6,900,3.33,CSH,13 +VTS,1,6,480,2.45,CRD,9.5 +VTS,1,6,1500,9.56,CRD,28.5 +VTS,1,6,480,1.4,CSH,7.5 +VTS,1,6,900,3.57,CRD,14 +VTS,1,6,840,2.83,CRD,11.5 +VTS,1,6,420,1.52,CSH,7.5 +VTS,1,6,120,0.66,CSH,4.5 +VTS,2,6,1740,19.77,CRD,52 +VTS,2,1,1620,20.87,CSH,52 +VTS,1,1,660,2.12,CRD,10.5 +VTS,1,1,120,1.02,CRD,5 +VTS,1,1,600,2.61,CSH,10.5 +VTS,1,1,660,1.8,CRD,9.5 +VTS,1,6,480,1.72,CRD,8.5 +VTS,1,6,1080,3.67,CRD,14.5 +VTS,1,6,840,1.65,CSH,10 +VTS,1,6,600,1.79,CSH,8.5 +VTS,1,6,840,2.63,CSH,12 +VTS,1,6,480,1.75,CSH,8 +VTS,1,6,600,1.72,CRD,8.5 +VTS,1,6,360,1.21,CRD,6.5 +VTS,1,6,480,1.97,CSH,8.5 +VTS,1,6,660,1.8,CSH,9.5 +VTS,1,6,960,4.77,CRD,16.5 +VTS,1,6,540,1.27,CRD,7.5 +VTS,1,6,2340,18.58,CRD,53 +VTS,1,6,900,2.73,CSH,12.5 +VTS,1,6,540,2.62,CSH,10 +VTS,1,6,240,0.66,CRD,5 +VTS,1,6,240,0.97,CSH,5 +VTS,1,6,360,1.2,CRD,6.5 +VTS,2,6,2640,17.98,CSH,52 +VTS,1,6,240,0.82,CRD,5 +VTS,2,6,2100,19.22,CSH,52 +VTS,5,1,4620,18.32,CSH,105 +VTS,1,6,960,3.52,CRD,14 +VTS,1,6,120,0.32,CSH,3.5 +VTS,1,6,240,1.35,CSH,6 +VTS,1,6,300,0.58,CSH,5 +VTS,1,6,300,0.74,CRD,5 +VTS,1,6,780,3.1,CSH,11.5 +VTS,1,6,900,3.25,CRD,13 +VTS,1,6,780,4.31,CRD,14 +VTS,1,6,1200,5.18,CRD,18.5 +VTS,1,6,900,2.54,CRD,12 +VTS,1,6,840,3.97,CSH,14.5 +VTS,2,6,2640,17.11,CRD,52 +VTS,1,1,1320,4.65,CSH,18.5 +VTS,1,1,720,1.68,CRD,9.5 +VTS,1,1,1440,10.24,CRD,31.5 +VTS,1,1,300,1.73,CRD,7 +VTS,1,1,1320,2.59,CRD,15.5 +VTS,1,1,540,2.72,CRD,11 +VTS,1,1,420,1.51,CRD,7.5 +VTS,1,1,300,1.46,CRD,7 +VTS,1,1,240,1.14,CSH,6 +VTS,1,1,600,2.42,CRD,9.5 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,180,0.75,CSH,5 +VTS,1,1,1260,3.28,CRD,16.5 +VTS,1,1,180,0.89,CSH,5 +VTS,1,1,780,3.5,CRD,13 +VTS,1,1,360,1.07,CRD,6 +VTS,1,1,600,1.87,CSH,9 +VTS,1,1,660,1.36,CRD,9 +VTS,1,1,300,1.33,CRD,6.5 +VTS,1,1,840,2.49,CRD,11.5 +VTS,1,1,120,0.24,CSH,3.5 +VTS,1,1,420,2.1,CRD,8.5 +VTS,1,1,360,0.73,CSH,6 +VTS,1,1,1260,10.32,CRD,30 +VTS,1,1,300,0.96,CSH,6 +VTS,1,1,1680,9.97,CRD,32.5 +VTS,1,1,720,2.49,CRD,11.5 +VTS,1,1,360,0.85,CSH,5.5 +VTS,1,1,600,1.98,CRD,9.5 +VTS,1,1,900,2.31,CRD,12 +VTS,1,1,180,0.37,CSH,4 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,1,420,0.77,CSH,6.5 +VTS,1,1,480,1.18,CRD,7 +VTS,1,1,120,0.28,CSH,3.5 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,1140,2.38,CSH,13 +VTS,1,1,480,1.56,CSH,8 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,660,2.55,CRD,10.5 +VTS,1,1,540,1.09,CRD,8 +VTS,1,1,540,1.47,CSH,8 +VTS,1,1,240,0.6,CRD,4.5 +VTS,1,1,540,1.61,CRD,8.5 +VTS,1,1,1560,4.38,CRD,20 +VTS,1,1,660,2.42,CRD,10.5 +VTS,1,1,1020,3.72,CSH,14.5 +VTS,1,1,600,1.15,CRD,8 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,540,1.2,CSH,7.5 +VTS,1,1,660,1.77,CSH,9 +VTS,1,1,600,1.28,CRD,8 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,780,0.9,CSH,9 +VTS,1,1,420,1.44,CSH,7 +VTS,1,1,360,1.08,CRD,6 +VTS,1,1,480,1.44,CSH,8 +VTS,1,1,300,0.53,CRD,4.5 +VTS,1,1,960,6.37,CRD,21 +VTS,1,1,540,2.13,CSH,9 +VTS,1,1,1080,3.87,CRD,16 +VTS,1,1,480,1.05,CRD,7.5 +VTS,1,1,540,1.42,CRD,8 +VTS,1,1,1020,2.98,CRD,13.5 +VTS,1,1,540,2.43,CRD,9 +VTS,1,1,1560,5.55,CRD,22.5 +VTS,1,1,540,1.53,CRD,8 +VTS,1,1,1440,8.34,CSH,27.5 +VTS,1,1,480,2.02,CSH,9 +VTS,1,1,780,1.65,CRD,10 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,420,1.03,CSH,6.5 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,1380,6.06,CRD,22 +VTS,1,1,840,1.07,CRD,10 +VTS,1,1,420,1.12,CSH,6.5 +VTS,1,1,420,2.58,CRD,9 +VTS,1,1,1680,8.57,CRD,28.5 +VTS,1,1,1140,4.39,CSH,16 +VTS,1,1,240,0.95,CSH,5.5 +VTS,1,1,600,1.64,CSH,9 +VTS,1,1,480,1.78,CSH,8.5 +VTS,1,1,480,2.17,CSH,9 +VTS,1,1,300,1.47,CSH,6.5 +VTS,1,1,300,0.69,CRD,5.5 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,420,1.89,CRD,8 +VTS,1,1,300,1.14,CSH,6 +VTS,1,1,300,1.01,CSH,6 +VTS,1,1,840,1.77,CRD,10.5 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,540,1.29,CRD,8 +VTS,1,1,240,0.53,CRD,4.5 +VTS,1,1,240,0.92,CRD,5.5 +VTS,1,1,180,1.19,CRD,5.5 +VTS,1,6,60,0.29,CRD,3.5 +VTS,1,6,300,1.28,CSH,6 +VTS,1,6,480,1.96,CSH,8 +VTS,1,6,600,2.11,CRD,9.5 +VTS,1,6,300,1.26,CRD,6.5 +VTS,1,6,660,1.58,CSH,8.5 +VTS,1,6,300,1.86,CSH,7.5 +VTS,1,6,480,1.44,CRD,7.5 +VTS,1,6,300,1.25,CSH,6.5 +VTS,1,6,300,1.01,CSH,5.5 +VTS,1,1,420,2.38,CRD,8.5 +VTS,1,1,720,3.12,CRD,12 +VTS,1,1,540,1.53,CSH,8 +VTS,1,1,660,2.62,CSH,10.5 +VTS,1,1,660,1.37,CSH,8.5 +VTS,1,1,120,0.37,CRD,3.5 +VTS,1,1,300,1.33,CSH,6.5 +VTS,1,1,780,2.74,CSH,11.5 +VTS,1,1,360,1.12,CSH,6.5 +VTS,1,1,960,3.35,CRD,14.5 +VTS,1,1,1380,3.08,CRD,16 +VTS,1,1,600,1.16,CSH,8 +VTS,1,1,480,1.2,CRD,7.5 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,360,1.15,CSH,6.5 +VTS,1,1,1680,6.03,CRD,23.5 +VTS,1,1,420,2.01,CRD,8.5 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,1200,10.22,CRD,29 +VTS,1,1,840,2.86,CSH,12 +VTS,1,1,1020,4.28,CRD,17 +VTS,1,1,300,1.2,CRD,6.5 +VTS,1,1,540,1.35,CSH,8 +VTS,1,1,660,1.63,CRD,9 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,1,780,2.8,CRD,12 +VTS,1,1,840,3.88,CRD,14 +VTS,1,1,1020,2.85,CRD,13.5 +VTS,1,1,660,3.21,CRD,12 +VTS,1,1,480,0.87,CSH,6.5 +VTS,1,1,120,0.81,CSH,4.5 +VTS,1,1,300,1.09,CSH,5.5 +VTS,1,1,1440,2.42,CRD,16 +VTS,1,1,120,0.47,CRD,3.5 +VTS,1,1,600,1.24,CRD,8 +VTS,1,1,360,0.93,CRD,6.5 +VTS,1,1,1080,2.5,CSH,13.5 +VTS,1,1,240,0.76,CSH,5 +VTS,1,1,540,1.29,CRD,7.5 +VTS,1,1,420,1.33,CSH,7 +VTS,1,1,600,2.61,CSH,10 +VTS,1,1,1020,2.64,CRD,13 +VTS,1,1,300,1.05,CSH,5.5 +VTS,1,1,60,0.1,CRD,3 +VTS,1,1,180,0.59,CSH,4 +VTS,1,1,1080,2.37,CRD,13 +VTS,1,1,420,1.51,CSH,7 +VTS,1,1,900,1.48,CRD,11 +VTS,1,1,900,2.22,CRD,11.5 +VTS,1,1,720,1.92,CSH,10 +VTS,1,1,600,0.73,CRD,7.5 +VTS,1,1,1140,2.55,CSH,14 +VTS,1,1,600,2.23,CSH,9.5 +VTS,1,1,360,1.78,CRD,7 +VTS,1,1,540,1.45,CSH,8 +VTS,1,1,540,0.71,CSH,7 +VTS,1,1,300,1.24,CSH,6 +VTS,1,1,1080,1.63,CRD,12 +VTS,1,1,1080,2.24,CSH,12.5 +VTS,1,1,300,0.95,CSH,6 +VTS,1,1,420,0.81,CRD,6.5 +VTS,1,1,1080,7.44,CSH,23.5 +VTS,1,1,180,0.87,CRD,5 +VTS,1,1,1200,3.49,CSH,15.5 +VTS,1,1,840,2.48,CSH,11.5 +VTS,1,1,1140,3.06,CRD,14.5 +VTS,1,1,180,0.58,CRD,4.5 +VTS,1,1,180,0.49,CRD,4 +VTS,1,6,1800,3.8,CRD,19 +VTS,1,6,660,1.52,CRD,8.5 +VTS,1,6,480,1.76,CRD,8 +VTS,1,6,540,1.38,CSH,7.5 +VTS,1,6,1800,10.29,CRD,31.5 +VTS,1,6,540,2.41,CRD,9.5 +VTS,1,6,300,0.76,CSH,5.5 +VTS,1,6,660,3.75,CSH,12.5 +VTS,1,6,1080,5.94,CRD,19 +VTS,1,6,840,5.91,CRD,17.5 +VTS,1,6,240,0.73,CRD,5 +VTS,1,6,360,1.61,CSH,7 +VTS,1,6,600,1.44,CRD,8 +VTS,1,6,1080,4.44,CRD,16.5 +VTS,2,6,1800,17.93,CRD,52 +VTS,1,6,780,2.07,CSH,10.5 +VTS,1,6,180,1.03,CSH,5 +VTS,1,6,480,1.12,CSH,6.5 +VTS,1,6,540,1.27,CRD,7.5 +VTS,1,1,360,0.97,CSH,6 +VTS,1,1,360,1.15,CSH,6 +VTS,1,1,360,1.19,CSH,6.5 +VTS,1,1,600,2.02,CSH,9.5 +VTS,1,1,360,2.34,CSH,8.5 +VTS,1,1,480,1.13,CSH,7 +VTS,1,1,180,0.9,CSH,4.5 +VTS,1,1,420,0.87,CRD,6 +VTS,1,1,1440,4.92,CRD,19.5 +VTS,1,1,180,0.35,CSH,4 +VTS,1,1,720,2.68,CRD,11 +VTS,1,1,660,1.69,CRD,9 +VTS,1,1,1020,1.98,CSH,12 +VTS,1,1,360,1.86,CRD,8 +VTS,1,1,540,1.27,CRD,7.5 +VTS,1,1,1200,4.08,CRD,16.5 +VTS,1,1,960,3.08,CRD,13.5 +VTS,1,1,480,1.79,CSH,8.5 +VTS,1,1,900,6.74,CSH,20.5 +VTS,1,1,480,1.28,CRD,7 +VTS,1,1,480,1.44,CSH,7.5 +VTS,1,1,480,1.73,CRD,8.5 +VTS,1,1,420,1.03,CRD,6.5 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,900,1.58,CRD,10.5 +VTS,1,1,660,2.44,CRD,11 +VTS,1,1,540,0.92,CSH,8 +VTS,1,1,240,1.04,CRD,5.5 +VTS,1,1,660,1.76,CRD,9.5 +VTS,1,1,540,1.66,CRD,8 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,1,960,3.97,CRD,15.5 +VTS,1,1,1380,2.18,CRD,15.5 +VTS,1,1,900,2.27,CRD,11.5 +VTS,1,1,360,0.97,CSH,6.5 +VTS,1,1,120,0.95,CSH,4.5 +VTS,1,1,720,3.16,CRD,12.5 +VTS,1,1,420,0.6,CRD,6 +VTS,1,1,720,2.32,CSH,10.5 +VTS,1,1,540,1.15,CSH,7.5 +VTS,1,1,780,4.81,CRD,16.5 +VTS,1,1,240,0.79,CRD,5.5 +VTS,1,1,720,2.65,CSH,11 +VTS,1,1,120,0.53,CRD,3.5 +VTS,1,1,1380,2.18,CRD,15.5 +VTS,1,1,420,1.34,CRD,7 +VTS,1,1,840,3.05,CSH,12.5 +VTS,1,1,660,3.81,CSH,13 +VTS,1,1,480,1.61,CSH,8 +VTS,1,1,300,0.91,CSH,6 +VTS,1,1,720,2.97,CSH,11.5 +VTS,1,1,240,0.87,CSH,5.5 +VTS,1,1,540,0.54,CSH,7 +VTS,1,1,780,5.45,CSH,18 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,1,660,1.49,CSH,9 +VTS,1,1,480,0.99,CRD,7 +VTS,1,1,240,1.29,CRD,6 +VTS,1,1,900,2.52,CRD,12.5 +VTS,1,1,300,0.83,CSH,5 +VTS,1,1,420,2.54,CRD,9 +VTS,1,1,540,1.8,CRD,8.5 +VTS,1,1,420,2.2,CSH,9 +VTS,1,1,540,0.88,CSH,7 +VTS,1,1,120,0.42,CSH,4 +VTS,1,1,360,0.51,CRD,5 +VTS,1,1,300,1.03,CRD,6 +VTS,1,1,300,1.35,CSH,6 +VTS,1,1,420,1.8,CRD,8 +VTS,1,1,660,1.53,CRD,9 +VTS,1,1,1560,2.88,CRD,17.5 +VTS,1,1,660,5.87,CSH,18 +VTS,1,1,600,1.83,CSH,9 +VTS,1,1,1140,4.61,CSH,17.5 +VTS,1,1,1140,7.64,CRD,24.5 +VTS,1,1,540,1.98,CRD,9 +VTS,1,1,540,1.97,CRD,8.5 +VTS,1,1,240,0.75,CRD,5 +VTS,1,1,660,2.28,CRD,10.5 +VTS,1,1,1200,3.49,CRD,15.5 +VTS,1,1,840,1.89,CRD,11 +VTS,1,1,420,1.31,CRD,7.5 +VTS,1,1,660,3.54,CSH,12 +VTS,1,1,1380,7.09,CSH,24 +VTS,1,1,120,0.47,CSH,4 +VTS,1,1,720,3.24,CSH,12 +VTS,1,1,1500,4.89,CSH,20 +VTS,1,1,120,0.34,CSH,4 +VTS,1,1,540,1.94,CSH,8.5 +VTS,1,1,960,6.3,CRD,20 +VTS,1,1,480,1.71,CSH,8.5 +VTS,1,1,420,2.15,CRD,9 +VTS,1,1,960,5.13,CRD,17.5 +VTS,1,1,960,2.51,CRD,13 +VTS,1,1,600,1.6,CSH,8.5 +VTS,1,1,360,1.1,CSH,6 +VTS,1,1,1440,2.54,CSH,15.5 +VTS,1,1,1020,1.73,CRD,12 +VTS,1,1,420,1.01,CSH,6.5 +VTS,1,1,540,1.23,CSH,7.5 +VTS,1,1,240,0.55,CSH,5 +VTS,1,1,480,0.84,CRD,7 +VTS,1,1,1260,2.45,CRD,15 +VTS,1,1,240,0.76,CSH,5 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,480,1.72,CRD,8.5 +VTS,1,1,720,2.6,CSH,11 +VTS,1,1,1260,4.18,CSH,17.5 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,480,1.73,CSH,8.5 +VTS,1,1,540,1.19,CSH,7.5 +VTS,1,1,180,0.52,CSH,4 +VTS,1,1,240,0.65,CRD,5 +VTS,1,1,480,1.2,CSH,7 +VTS,1,1,540,0.79,CSH,7 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,1,240,0.75,CSH,4.5 +VTS,1,1,540,0.95,CRD,7 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,540,1.76,CSH,8.5 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,180,0.95,CSH,5 +VTS,1,1,420,1.2,CSH,6.5 +VTS,1,1,600,1.26,CRD,8 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,240,1.18,CSH,5.5 +VTS,1,1,1260,3.78,CRD,16.5 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,540,1,CRD,7.5 +VTS,1,1,900,2.52,CRD,12 +VTS,1,1,900,3.41,CSH,13 +VTS,1,1,600,0.57,CRD,7.5 +VTS,1,1,660,1.02,CRD,8 +VTS,1,1,540,1.28,CSH,7.5 +VTS,1,1,780,1.47,CRD,9.5 +VTS,1,1,1740,3.31,CSH,19 +VTS,1,1,1140,3.35,CSH,14.5 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,300,1.03,CSH,5.5 +VTS,1,1,720,3.39,CRD,12.5 +VTS,1,1,240,1.04,CSH,5 +VTS,1,1,720,2.24,CRD,11 +VTS,1,1,780,2.22,CSH,11 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,1380,2.18,CRD,15 +VTS,1,1,540,0.98,CRD,7 +VTS,1,1,1140,3.86,CRD,15.5 +VTS,1,1,960,2.48,CRD,13 +VTS,1,1,1200,3.1,CRD,15 +VTS,1,1,480,1.58,CRD,8 +VTS,1,1,660,2.06,CRD,10 +VTS,1,1,240,1.56,CSH,6.5 +VTS,1,1,600,2.9,CRD,11 +VTS,1,1,480,1.13,CRD,7 +VTS,1,1,300,0.59,CRD,5.5 +VTS,1,1,1200,4.86,CRD,18.5 +VTS,1,1,840,1.46,CRD,10 +VTS,1,1,300,0.97,CRD,6 +VTS,1,1,2100,4.93,CRD,25 +VTS,1,1,540,1.63,CRD,8 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,1140,1.41,CRD,12.5 +CMT,1,1,190,1.1,CRD,5.5 +CMT,1,1,261,1.7,CRD,7 +CMT,1,1,473,1.9,CRD,8.5 +CMT,1,1,283,0.8,CSH,5.5 +CMT,1,1,328,1.6,CRD,7 +CMT,1,1,298,0.8,CSH,5.5 +CMT,1,1,1056,4,CSH,16 +CMT,1,1,567,2.9,CRD,10.5 +CMT,1,1,1022,7.5,CRD,23.5 +CMT,1,1,307,0.8,CSH,5.5 +CMT,1,1,530,1.6,CSH,8 +CMT,1,1,601,1.3,CRD,8 +CMT,1,1,448,1.1,CRD,6.5 +CMT,1,1,597,1.9,CRD,9.5 +CMT,1,1,302,1,CRD,6 +CMT,1,1,1134,6.9,CRD,21.5 +CMT,1,1,385,0.7,CRD,6 +CMT,1,1,492,2.1,CRD,9 +CMT,1,1,90,0.6,CRD,4 +CMT,1,1,351,1.3,CRD,6.5 +CMT,1,1,347,0.7,CRD,5.5 +CMT,1,1,53,0.1,CSH,3 +CMT,1,1,308,0.9,CRD,6 +CMT,1,1,995,3.5,CRD,15 +CMT,1,1,221,0.5,CSH,4.5 +CMT,1,1,838,3.6,CSH,13.5 +CMT,1,1,1049,3.9,CRD,16 +VTS,1,1,480,1.63,CSH,7.5 +VTS,1,1,120,0.57,CSH,4 +VTS,1,1,540,1.18,CSH,7.5 +VTS,1,1,660,2.26,CSH,10.5 +VTS,1,1,600,1.34,CSH,8.5 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,360,0.81,CRD,6 +VTS,1,1,60,0.3,CSH,3 +VTS,1,1,840,5.82,CRD,19 +VTS,1,1,180,0.82,CRD,4.5 +VTS,1,1,240,0.82,CRD,5 +VTS,1,1,120,0.68,CSH,4 +VTS,1,1,180,0.48,CRD,4 +VTS,1,1,840,2.5,CRD,12 +VTS,1,1,300,0.5,CSH,5 +VTS,1,1,420,1.32,CRD,6.5 +VTS,1,1,960,2.35,CSH,12 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,300,0.72,CSH,5 +VTS,1,1,420,0.75,CSH,6 +VTS,1,1,1020,2.26,CRD,12.5 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,1,1260,2.29,CRD,14 +VTS,1,1,360,1.47,CRD,7 +VTS,1,1,360,1.8,CRD,7 +VTS,1,1,480,1.61,CRD,8 +VTS,1,1,420,1.43,CSH,7 +VTS,1,1,300,1.24,CRD,6 +VTS,1,1,720,2.35,CSH,11 +VTS,1,1,780,1.36,CRD,9.5 +CMT,1,1,223,1.3,CSH,6 +CMT,1,1,193,1.4,CSH,6 +CMT,1,1,365,2,CRD,8 +CMT,1,1,292,1.3,CRD,6.5 +CMT,1,1,546,1.6,CSH,8.5 +CMT,1,1,232,0.7,CRD,5 +CMT,1,1,611,3.8,CRD,13 +CMT,1,1,500,1.5,CRD,8 +CMT,1,1,442,1.9,CSH,8.5 +CMT,1,1,765,1.9,CRD,10 +CMT,1,1,717,1.5,CRD,9.5 +CMT,1,1,895,2.9,CRD,12.5 +CMT,1,1,560,0.9,CSH,7.5 +CMT,1,1,208,0.5,CRD,4.5 +CMT,1,1,580,1.6,CSH,8.5 +CMT,1,1,374,1.4,CSH,7 +CMT,1,1,592,2.4,CSH,10.5 +CMT,1,1,787,1.7,CRD,10 +CMT,1,1,691,2.2,CSH,10 +CMT,1,1,1148,4.2,CRD,17.5 +VTS,1,1,480,1.2,CSH,7.5 +VTS,1,1,960,1.77,CSH,11 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,1,1020,3.48,CRD,14.5 +VTS,1,1,480,1.96,CRD,9 +VTS,1,1,660,3.63,CRD,13 +VTS,1,1,900,1.83,CSH,10.5 +VTS,1,1,540,1.08,CSH,7.5 +VTS,1,1,1020,2.04,CRD,12.5 +VTS,1,1,240,0.91,CSH,5.5 +VTS,1,1,480,1.85,CRD,8.5 +VTS,1,1,480,1.28,CRD,7 +VTS,1,1,300,1.48,CSH,6.5 +VTS,1,1,1440,7.97,CRD,26 +VTS,1,1,420,0.88,CRD,6 +VTS,1,1,180,0.39,CSH,4 +VTS,1,1,300,1.5,CRD,6.5 +VTS,1,1,1320,4.41,CRD,18.5 +VTS,1,1,300,0.83,CRD,5 +VTS,1,1,420,1.51,CSH,8 +VTS,1,1,360,1.79,CRD,7.5 +VTS,1,1,420,1.01,CRD,6.5 +VTS,1,1,780,1.87,CSH,10.5 +VTS,1,1,480,1.33,CSH,7 +VTS,1,1,420,1.6,CRD,8 +CMT,1,1,281,2,CRD,7.5 +VTS,1,1,600,1.16,CSH,8 +VTS,1,1,240,0.69,CSH,4.5 +VTS,1,1,660,1.29,CRD,8.5 +VTS,1,1,300,0.65,CSH,5 +VTS,1,1,420,1.24,CSH,7 +VTS,1,1,600,2.46,CRD,10.5 +VTS,1,1,420,1.89,CRD,8 +VTS,1,1,420,0.61,CRD,5.5 +VTS,1,1,600,0.77,CSH,7.5 +VTS,1,1,660,1.47,CRD,8.5 +VTS,1,1,720,1.14,CSH,8.5 +VTS,1,1,540,0.99,CRD,7.5 +CMT,1,1,184,0.7,CRD,4.5 +CMT,1,1,320,1.5,CRD,6.5 +CMT,1,1,145,0.4,CSH,4 +CMT,1,1,365,1.2,CSH,6.5 +CMT,1,1,750,2.8,CSH,11.5 +CMT,1,1,296,0.9,CRD,5.5 +CMT,1,1,348,0.7,CRD,5.5 +CMT,1,1,159,0.7,CSH,4 +CMT,1,1,782,1.6,CSH,10 +CMT,1,1,359,0.9,CRD,6 +CMT,1,1,300,0.6,CRD,5 +CMT,1,1,715,1.3,CRD,9 +CMT,1,1,433,1.3,CSH,7.5 +CMT,1,1,188,0.7,CSH,4.5 +VTS,1,1,300,1.16,CSH,6 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,780,2.51,CRD,11.5 +VTS,1,1,720,2.41,CRD,11 +VTS,1,1,120,0.72,CRD,4.5 +VTS,1,1,540,1.22,CSH,7 +VTS,1,1,300,1.21,CRD,6 +VTS,1,1,1200,2.54,CRD,14.5 +VTS,1,1,1500,6.58,CRD,23 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,1,1140,3.16,CRD,15 +VTS,1,1,660,1.99,CSH,9.5 +VTS,1,1,1080,9.42,CRD,27 +VTS,1,1,720,3.82,CRD,13 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,180,0.81,CRD,4.5 +VTS,1,1,600,1.17,CSH,8 +VTS,1,1,780,1.19,CRD,9.5 +VTS,1,1,420,0.99,CSH,6.5 +VTS,1,1,300,1.22,CSH,6 +VTS,2,1,1680,10.05,CRD,52 +VTS,1,1,1380,9.68,CSH,29.5 +VTS,1,1,660,1.4,CRD,9 +VTS,1,1,240,0.43,CSH,4.5 +VTS,1,1,660,2.59,CRD,10.5 +VTS,1,1,1020,2.99,CSH,13.5 +CMT,1,1,557,1.8,CRD,8.5 +CMT,2,1,1928,16.9,CSH,52 +CMT,1,1,1034,2.5,CRD,13.5 +CMT,1,1,147,0.3,CSH,3.5 +CMT,1,1,741,3,CSH,12.5 +CMT,1,1,817,3.4,CSH,13.5 +CMT,1,1,328,1,CSH,6 +CMT,1,1,757,3.1,CSH,12.5 +CMT,1,1,247,0.4,CSH,4.5 +CMT,1,1,418,1,CSH,6.5 +CMT,1,1,594,2.7,CSH,10.5 +CMT,1,1,543,2.1,CRD,9.5 +CMT,1,1,517,1.4,CSH,7.5 +CMT,1,1,1395,3,CSH,16 +CMT,1,1,192,1.3,CRD,5.5 +CMT,1,1,881,8.1,CRD,24 +CMT,1,1,408,1.2,CSH,7 +CMT,1,1,224,0.7,CSH,5 +CMT,1,1,136,0.7,CSH,4.5 +CMT,1,1,593,0.9,CSH,7.5 +CMT,1,1,78,0.4,CSH,3.5 +CMT,1,1,859,2.5,CSH,11.5 +CMT,1,1,388,0.8,CSH,6 +CMT,1,1,1111,2.6,CSH,14 +CMT,1,1,813,6.2,CSH,19.5 +CMT,1,1,157,0.6,CSH,4.5 +VTS,1,1,600,1.83,CRD,9 +VTS,1,1,60,0.36,CSH,3 +VTS,1,1,1920,10.96,CRD,34 +VTS,1,1,600,1.73,CRD,9 +VTS,1,1,420,1,CSH,6.5 +VTS,1,1,2580,18.09,CRD,51.5 +VTS,1,1,660,1.56,CRD,9 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,300,0.87,CRD,5.5 +CMT,2,1,1485,16.5,CRD,52 +CMT,1,1,788,4,CSH,14.5 +CMT,2,1,1826,17.5,CSH,52 +CMT,1,1,530,1.8,CSH,8.5 +CMT,1,1,377,1,CSH,6.5 +CMT,1,1,362,0.7,CSH,6 +CMT,1,1,478,1.6,CRD,8 +CMT,1,1,415,1.3,CSH,7 +CMT,1,1,732,1.5,CSH,9.5 +CMT,1,1,511,1.3,CSH,7.5 +CMT,1,1,716,1.4,CSH,9 +CMT,1,1,528,1,CSH,7.5 +CMT,1,1,1003,3.4,CRD,14.5 +CMT,1,1,185,0.4,CRD,4 +CMT,1,1,356,1.5,CRD,7 +CMT,1,1,938,4.5,CRD,17 +CMT,1,1,264,1.2,CSH,6 +VTS,1,1,660,1.71,CRD,9.5 +VTS,1,1,420,1.72,CRD,7.5 +VTS,1,1,420,0.88,CRD,6 +VTS,1,1,360,1.09,CSH,6 +VTS,1,1,1080,2.46,CSH,13.5 +CMT,1,1,409,2.2,CSH,8.5 +CMT,1,1,613,1.1,CSH,8 +CMT,1,1,1478,3.8,CRD,16 +CMT,1,1,150,0.6,CSH,4 +CMT,1,1,286,1.9,CRD,7.5 +CMT,1,1,1005,1.2,CSH,11 +CMT,1,1,364,1.5,CRD,7 +CMT,1,1,1023,2.7,CSH,13.5 +CMT,1,1,819,2.6,CRD,11.5 +CMT,1,1,1498,9.2,CRD,29 +CMT,1,1,65,0.4,CSH,3.5 +CMT,1,1,325,0.7,CSH,5.5 +CMT,1,1,696,1.9,CRD,9.5 +CMT,1,1,621,1.1,CSH,8 +CMT,1,1,1182,5,CSH,18 +CMT,1,1,1358,3.3,CSH,16.5 +CMT,1,1,449,1.4,CRD,7.5 +CMT,1,1,752,1.9,CSH,10.5 +CMT,1,1,315,1.6,CSH,7 +CMT,1,1,1112,7.5,CRD,24.5 +CMT,1,1,610,1.7,CRD,8.5 +CMT,1,1,571,4.9,CSH,15.5 +CMT,1,1,311,0.9,CSH,5.5 +CMT,1,1,308,0.5,CSH,5 +CMT,1,1,373,1.8,CRD,7.5 +CMT,1,1,461,1.7,CSH,8 +CMT,1,1,64,0.4,CRD,3.5 +CMT,1,1,659,1.6,CSH,9 +CMT,1,1,78,0.5,CSH,3.5 +CMT,1,1,888,2.4,CRD,12 +CMT,1,1,317,0.4,CSH,5 +CMT,1,1,615,1.4,CSH,8.5 +CMT,1,1,623,1.4,CSH,8.5 +CMT,1,1,454,2.4,CSH,9 +CMT,1,1,560,2.1,CRD,9.5 +CMT,1,1,695,1.3,CRD,9 +CMT,1,1,621,1.6,CRD,9 +CMT,1,1,1090,3.1,CSH,13.5 +CMT,1,1,534,1.3,CRD,8 +CMT,1,1,327,0.7,CSH,5.5 +CMT,1,1,155,0.8,CSH,4.5 +CMT,1,1,370,0.6,CSH,5.5 +CMT,1,1,628,1.4,CRD,9 +CMT,1,1,134,0.8,CRD,4.5 +CMT,1,1,539,2.9,CRD,11 +CMT,1,1,263,0.7,CSH,5 +CMT,1,1,201,0.8,CSH,5 +CMT,1,1,217,0.8,CRD,5 +CMT,1,1,319,1.2,CRD,6 +CMT,1,1,625,1.3,CRD,8.5 +CMT,1,1,1503,3.5,CRD,17.5 +CMT,1,1,1043,5.2,CRD,18.5 +CMT,1,1,933,5.6,CRD,18.5 +CMT,1,1,882,3.5,CSH,14.5 +CMT,1,1,1239,2.9,CRD,15 +CMT,1,1,1494,6,CSH,23 +CMT,1,1,1561,10.2,CRD,32 +CMT,1,1,1111,3.5,CSH,15.5 +CMT,1,1,922,1.9,CRD,12 +CMT,1,1,280,1.6,CSH,6.5 +CMT,1,1,376,1.6,CSH,7.5 +CMT,1,1,317,1.5,CRD,7 +CMT,1,1,315,0.9,CSH,6 +CMT,1,1,811,0.8,CSH,9 +CMT,1,1,807,2.5,CSH,11.5 +CMT,1,1,499,2.5,CSH,9.5 +CMT,1,1,137,1.1,CSH,5 +CMT,1,1,754,2.8,CSH,11.5 +CMT,1,1,458,1.6,CRD,8 +CMT,1,1,1875,6.8,CRD,26 +CMT,1,1,517,1.9,CSH,8.5 +CMT,1,1,612,1.8,CRD,9 +CMT,1,1,681,2.7,CRD,11 +CMT,1,1,712,3,CRD,12 +CMT,1,1,719,2.3,CRD,10.5 +CMT,1,1,430,2.1,CSH,8.5 +CMT,1,1,485,1.5,CRD,7.5 +CMT,1,1,1475,6.3,CRD,23.5 +CMT,1,1,572,1.4,CRD,8 +CMT,1,1,449,2.2,CRD,9 +CMT,1,1,584,2.5,CRD,10 +CMT,1,1,75,0.3,CSH,3.5 +CMT,1,1,497,1.8,CRD,8.5 +CMT,1,1,347,1.5,CSH,7 +CMT,1,1,232,0.7,CSH,5 +CMT,1,1,956,2.4,CRD,12.5 +CMT,1,1,673,1,CRD,8.5 +CMT,1,1,307,0.7,CSH,5.5 +CMT,1,1,429,2.4,CSH,9.5 +CMT,1,1,697,2.6,CRD,11.5 +CMT,1,1,290,0.6,CRD,5 +CMT,2,1,2461,22,CRD,52 +CMT,1,1,1252,11.6,CRD,33 +CMT,1,1,551,1.4,CRD,8 +CMT,1,1,669,3,CSH,11.5 +CMT,1,1,715,2.9,CSH,11.5 +CMT,1,1,844,2.3,CRD,11.5 +CMT,1,1,1000,2.6,CRD,13 +CMT,1,1,291,1.1,CSH,6 +CMT,1,1,1386,9.9,CRD,29.5 +CMT,1,1,1065,3.7,CSH,14.5 +CMT,1,1,580,2.4,CRD,9.5 +CMT,1,1,810,6.3,CRD,19.5 +CMT,1,1,585,1.7,CSH,8.5 +CMT,1,1,283,0.8,CSH,5.5 +CMT,1,1,876,3,CSH,12.5 +CMT,1,1,440,1.3,CSH,7 +CMT,1,1,665,2.3,CRD,10 +CMT,1,1,325,0.9,CSH,6 +CMT,1,1,1218,5.2,CRD,19.5 +CMT,1,1,646,1.6,CSH,9 +CMT,1,1,212,0.7,CSH,4.5 +CMT,1,1,223,0.4,CRD,4.5 +CMT,1,1,282,1.1,CRD,6 +CMT,1,1,507,0.9,CRD,7 +CMT,1,1,727,2.8,CRD,12 +CMT,1,1,671,2,CRD,10 +CMT,1,1,248,1.1,CSH,6 +CMT,1,1,933,3.4,CSH,14 +CMT,1,1,467,0.6,CRD,6.5 +CMT,1,1,535,2,CSH,9 +CMT,1,1,433,0.9,CRD,6.5 +CMT,1,1,354,1.5,CSH,7.5 +CMT,1,1,328,0.7,CSH,5.5 +CMT,1,1,419,0.9,CRD,7 +CMT,1,1,382,1.4,CRD,6.5 +CMT,1,1,342,1.4,CRD,6.5 +CMT,1,1,495,0.9,CSH,7 +CMT,1,1,456,1.7,CRD,8 +CMT,1,1,117,0.5,CRD,4 +CMT,1,1,282,0.8,CSH,5.5 +CMT,1,1,426,1.3,CRD,7.5 +CMT,1,1,376,1.1,CSH,6 +CMT,1,1,662,1.5,CRD,9 +CMT,1,1,354,1.5,CSH,6.5 +CMT,1,1,439,1.5,CSH,7.5 +CMT,1,1,538,1.3,CRD,8 +CMT,1,1,316,0.9,CSH,5.5 +CMT,1,1,280,0.9,CRD,5.5 +CMT,1,1,667,1.7,CRD,9 +CMT,1,1,492,0.9,CSH,7 +CMT,1,1,651,0.8,CRD,8 +CMT,1,1,297,0.6,CSH,5 +CMT,1,1,462,1.5,CSH,7.5 +CMT,1,1,245,0.6,CRD,5 +CMT,1,1,425,2.4,CSH,9 +CMT,1,1,727,2.2,CRD,10.5 +CMT,1,1,441,1.3,CRD,7 +CMT,1,1,791,2.3,CSH,11 +CMT,1,1,742,0.7,CRD,8.5 +CMT,1,1,997,4.1,CSH,15.5 +CMT,1,1,119,0.3,CRD,3.5 +CMT,1,1,701,1.3,CRD,9 +CMT,1,1,132,0.5,CRD,4 +CMT,1,1,557,2,CRD,9 +CMT,1,1,430,1.2,CRD,7 +CMT,1,1,627,1.9,CSH,9 +CMT,1,1,1364,3.3,CRD,16 +CMT,1,1,369,1.3,CRD,6.5 +CMT,1,1,849,1.8,CRD,10.5 +CMT,1,1,735,1.2,CSH,9.5 +CMT,1,1,896,2.2,CRD,11.5 +CMT,1,1,479,2.8,CRD,10 +CMT,1,1,673,2.7,CRD,11 +CMT,1,1,558,4.6,CSH,15 +CMT,1,1,641,2.3,CRD,10 +CMT,1,1,289,0.8,CRD,5.5 +CMT,1,1,1199,3.8,CRD,15.5 +CMT,1,1,502,1.3,CRD,7.5 +CMT,1,1,1206,2.6,CRD,14 +CMT,1,1,477,0.8,CSH,6.5 +CMT,1,1,502,1.7,CSH,8 +CMT,1,1,627,1.8,CRD,9 +CMT,1,1,286,0.8,CSH,5.5 +CMT,1,1,669,1.8,CSH,9.5 +CMT,1,1,378,0.6,CRD,6 +CMT,1,1,1054,3.2,CRD,13.5 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,120,0.5,CSH,4 +VTS,1,1,600,1.5,CSH,8.5 +VTS,1,1,1440,9.78,CRD,29 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,1,420,1.96,CRD,8.5 +VTS,1,1,180,0.98,CSH,5 +VTS,1,1,780,2.09,CRD,10.5 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,960,3.28,CRD,13.5 +VTS,1,1,960,1.9,CRD,11.5 +VTS,1,1,180,0.82,CRD,5 +VTS,1,1,1020,1.5,CRD,11.5 +VTS,1,1,300,1.15,CSH,6 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,600,1.41,CSH,8.5 +VTS,1,1,480,1.45,CSH,8 +VTS,1,1,1080,2.07,CSH,13 +VTS,1,1,840,1.87,CRD,10.5 +VTS,1,1,780,0.86,CRD,9 +VTS,1,1,840,1.58,CRD,10.5 +VTS,1,1,480,0.91,CRD,7 +VTS,1,1,540,1.15,CRD,7.5 +VTS,1,1,540,1.78,CSH,8.5 +VTS,1,1,480,1.67,CRD,7.5 +VTS,1,1,600,0.79,CRD,8 +CMT,1,1,153,0.6,CRD,4 +CMT,1,1,688,1.5,CSH,9 +CMT,1,1,530,1,CRD,7.5 +CMT,1,1,378,1,CRD,6.5 +CMT,1,1,337,0.6,CRD,5.5 +CMT,1,1,413,0.8,CSH,6.5 +CMT,1,1,417,1.3,CSH,6.5 +CMT,1,1,482,1.9,CSH,8.5 +CMT,1,1,891,2.4,CSH,12 +CMT,1,1,428,0.8,CRD,6.5 +CMT,1,1,1012,2.3,CRD,12.5 +CMT,1,1,467,1.4,CRD,7.5 +CMT,1,1,299,1.2,CSH,6 +CMT,1,1,411,1.3,CRD,7 +CMT,3,1,1330,13.7,CSH,55.5 +CMT,1,1,460,1.2,CSH,7 +CMT,1,1,344,1.3,CSH,7 +CMT,1,1,569,1.1,CSH,8 +CMT,1,1,364,1.6,CRD,7.5 +CMT,1,1,908,1.4,CRD,11 +CMT,1,1,544,2.4,CRD,10 +CMT,1,1,152,0.9,CRD,4.5 +CMT,1,1,118,0.5,CSH,4 +CMT,1,1,560,1.1,CRD,7.5 +CMT,1,1,910,3.1,CSH,13 +CMT,1,1,518,1.7,CSH,8.5 +CMT,2,1,1822,17.5,CRD,52 +CMT,1,1,202,1.3,CRD,5.5 +CMT,1,1,424,1,CRD,6.5 +CMT,1,1,114,0.7,CSH,4 +CMT,1,1,1185,2.9,CRD,14 +CMT,1,1,396,1.3,CRD,6.5 +CMT,1,1,690,1.3,CRD,9 +CMT,1,1,359,0.9,CSH,6 +CMT,1,1,1040,2.7,CRD,13.5 +CMT,1,1,247,0.7,CRD,5 +CMT,1,1,947,3,CRD,13.5 +CMT,1,1,673,1,CRD,8.5 +CMT,1,1,228,0.3,CSH,4 +CMT,1,1,537,1,CSH,7.5 +CMT,1,1,249,0.9,CSH,5.5 +CMT,1,1,956,9.3,CRD,27 +CMT,1,1,333,1,CRD,6 +CMT,1,1,725,3,CRD,11.5 +CMT,1,1,376,1,CSH,6.5 +CMT,1,1,495,1.4,CRD,8 +CMT,1,1,773,2,CSH,11 +CMT,1,1,109,0.6,CSH,4 +CMT,1,1,696,1.7,CSH,9.5 +CMT,1,1,887,3.3,CRD,13.5 +CMT,1,1,655,1.3,CRD,9 +CMT,1,1,956,3.1,CRD,13.5 +VTS,1,1,240,1.21,CRD,6 +VTS,1,1,420,1.19,CRD,7 +VTS,1,1,1380,9.6,CSH,28.5 +VTS,1,1,1560,5.38,CRD,21 +VTS,1,2,540,1.24,CRD,7.5 +VTS,1,1,300,0.5,CSH,4.5 +VTS,1,1,1080,2.16,CSH,13 +CMT,1,1,210,1,CSH,5.5 +CMT,1,1,256,0.8,CSH,5 +CMT,1,1,278,1.3,CSH,6 +CMT,1,1,168,0.7,CSH,4.5 +CMT,1,1,510,1.3,CRD,8 +CMT,1,1,324,0.9,CSH,6 +CMT,1,1,422,0.8,CRD,6 +CMT,1,1,1492,7.8,CSH,27 +CMT,1,1,328,1,CSH,6 +CMT,1,1,367,0.8,CSH,6 +CMT,1,1,520,1.1,CSH,7.5 +CMT,1,1,200,0.6,CSH,4.5 +CMT,1,1,516,1.4,CRD,8 +CMT,1,1,587,2.9,CRD,10.5 +CMT,1,1,734,1.9,CRD,10 +CMT,1,1,371,1.5,CSH,7 +CMT,1,1,1187,2.9,CSH,14.5 +CMT,1,1,345,2.2,CRD,8.5 +CMT,1,1,440,2.2,CSH,9 +CMT,1,1,241,0.8,CRD,5 +CMT,1,1,680,1.9,CSH,10 +CMT,1,1,492,2.1,CSH,9 +CMT,1,1,246,0.9,CRD,5.5 +CMT,1,1,519,1.6,CRD,8 +CMT,1,1,311,1.1,CRD,6 +CMT,1,1,955,3.2,CRD,13 +CMT,1,1,473,1.8,CRD,8.5 +CMT,1,1,423,0.7,CSH,6.5 +CMT,1,1,1388,4.1,CRD,17.5 +CMT,1,1,1146,1.7,CRD,12.5 +CMT,1,1,445,0.6,CRD,6 +CMT,1,1,467,2.5,CRD,9.5 +CMT,1,1,277,0.8,CRD,5.5 +CMT,1,1,693,1.6,CRD,9 +CMT,1,1,575,0.6,CRD,7.5 +CMT,1,1,953,1.9,CSH,11.5 +CMT,1,1,980,0.9,CSH,11 +CMT,1,1,530,0.8,CRD,7.5 +CMT,1,1,559,0.8,CSH,7.5 +CMT,1,1,777,4.6,CRD,15.5 +CMT,1,1,396,0.8,CRD,6.5 +CMT,1,1,831,1.6,CRD,10.5 +CMT,1,1,597,2.4,CRD,10 +CMT,1,1,169,0.6,CSH,4.5 +CMT,1,1,239,0.7,CSH,5 +CMT,1,1,281,0.8,CSH,5.5 +CMT,1,1,293,0.9,CRD,5.5 +CMT,1,1,532,0.9,CRD,7 +CMT,1,1,233,1.5,CRD,6.5 +CMT,1,1,584,2.9,CRD,11 +CMT,1,1,591,2.1,CSH,9.5 +CMT,1,1,343,1.3,CRD,6.5 +CMT,1,1,320,1.2,CSH,6.5 +CMT,1,1,877,10.1,CSH,28.5 +CMT,1,1,624,2.9,CRD,11.5 +CMT,1,1,683,2.7,CRD,11 +CMT,1,1,529,1.9,CSH,8.5 +CMT,1,1,717,2.2,CSH,10 +CMT,1,1,504,1.6,CRD,8.5 +CMT,1,1,203,0.4,CSH,4.5 +CMT,1,1,1068,2.8,CSH,13.5 +CMT,1,1,431,1.1,CRD,7 +CMT,1,1,2508,8.4,CRD,32.5 +CMT,1,1,461,1.4,CSH,7.5 +CMT,1,1,516,1.3,CRD,7.5 +CMT,1,1,239,1.6,CRD,6.5 +CMT,1,1,1025,2.8,CRD,13 +CMT,1,1,240,0.5,CRD,4.5 +CMT,1,1,604,1.2,CSH,8 +CMT,1,1,245,0.6,CRD,4.5 +CMT,1,1,462,0.7,CSH,6.5 +CMT,1,1,889,1,CRD,10 +CMT,1,1,457,1.4,CRD,7.5 +CMT,1,1,697,1.9,CRD,10 +CMT,1,1,257,1,CSH,5.5 +CMT,1,1,313,0.8,CSH,5.5 +CMT,1,1,374,1.7,CSH,7 +CMT,1,1,981,3,CRD,13.5 +CMT,1,1,611,1.3,CRD,8.5 +CMT,1,1,637,1,CSH,8 +CMT,1,1,476,1.7,CRD,8.5 +CMT,1,1,248,0.8,CRD,5 +CMT,1,1,303,0.8,CSH,5.5 +CMT,1,1,750,3,CRD,12.5 +CMT,1,1,135,0.6,CSH,4 +CMT,1,1,743,4.1,CRD,14 +CMT,1,1,315,1,CSH,6 +CMT,1,1,1042,2.5,CRD,13.5 +CMT,1,1,549,1.8,CSH,8.5 +CMT,1,1,477,1.3,CSH,7.5 +CMT,1,1,172,0.5,CRD,4 +CMT,1,1,271,0.8,CSH,5.5 +CMT,1,1,665,2.6,CSH,10.5 +CMT,1,1,543,0.7,CSH,7 +CMT,1,1,444,1.1,CSH,7 +CMT,1,1,299,0.8,CSH,5.5 +CMT,1,1,810,2.6,CRD,11.5 +CMT,1,1,134,0.4,CSH,3.5 +CMT,1,1,628,2.1,CSH,10 +CMT,2,1,2061,16.3,CRD,52 +CMT,1,1,684,1.7,CRD,9.5 +CMT,1,1,624,1.2,CRD,8.5 +CMT,1,1,318,0.7,CSH,5.5 +CMT,1,1,1176,2.5,CRD,14 +CMT,1,1,617,1.8,CRD,9 +CMT,1,1,853,3.6,CRD,14 +CMT,1,1,729,1.5,CSH,9.5 +CMT,1,1,265,0.6,CSH,5 +CMT,1,1,246,0.5,CRD,4.5 +CMT,1,1,569,2.6,CRD,10.5 +CMT,1,1,301,0.5,CRD,5 +CMT,1,1,709,1.2,CSH,9 +CMT,1,1,360,1.3,CSH,6.5 +CMT,1,1,252,1.3,CSH,6.5 +CMT,1,1,879,3.7,CRD,14.5 +CMT,1,1,190,0.9,CRD,5 +CMT,1,1,165,0.5,CRD,4 +CMT,1,1,839,5.7,CSH,18.5 +CMT,1,1,685,1.6,CRD,9.5 +CMT,1,1,461,2,CRD,8.5 +CMT,1,1,242,0.8,CRD,5 +CMT,1,1,488,2.8,CSH,10 +CMT,1,1,213,1,CSH,5.5 +CMT,1,1,688,2,CRD,10 +CMT,1,1,581,1.7,CRD,9 +CMT,1,1,628,1.6,CSH,8.5 +CMT,1,1,494,1.8,CSH,8.5 +CMT,1,1,918,2.6,CSH,12.5 +CMT,1,1,170,0.7,CSH,4.5 +CMT,1,1,517,1.5,CSH,8 +CMT,1,1,326,0.7,CSH,5.5 +CMT,1,1,360,1.5,CSH,7 +CMT,1,1,549,1.8,CRD,8.5 +CMT,1,1,190,0.4,CSH,4 +CMT,1,1,290,0.7,CSH,5 +CMT,1,1,335,0.7,CSH,5.5 +CMT,1,1,315,0.9,CRD,6 +CMT,1,1,518,1.1,CSH,7.5 +CMT,1,1,522,1.5,CRD,8 +CMT,1,1,359,0.7,CSH,5.5 +CMT,1,1,208,0.7,CSH,4.5 +CMT,1,1,941,2.2,CRD,12 +CMT,1,1,972,2,CRD,12 +CMT,1,1,897,2.2,CRD,11.5 +CMT,1,1,625,1.3,CSH,8 +CMT,1,1,558,0.8,CSH,7.5 +CMT,1,1,704,2,CSH,10 +CMT,1,1,436,1.1,CSH,7 +CMT,1,1,829,2.6,CRD,12 +CMT,1,1,218,0.6,CSH,4.5 +CMT,1,1,278,1.7,CRD,7 +CMT,1,1,425,90,CSH,7.5 +CMT,1,1,783,2.2,CRD,10.5 +CMT,1,1,345,1.1,CSH,6.5 +CMT,1,1,216,0.5,CSH,4.5 +CMT,1,1,920,7,CRD,21.5 +CMT,1,1,179,0.5,CRD,4 +CMT,1,1,765,2.4,CSH,11 +CMT,1,1,1169,1.9,CRD,13 +CMT,1,1,348,0.9,CRD,6 +CMT,1,1,1264,2.1,CRD,14 +CMT,1,1,862,2.6,CRD,12 +CMT,1,1,316,1.7,CRD,7 +CMT,1,1,584,3.3,CSH,12 +CMT,1,1,216,0.5,CSH,4.5 +CMT,1,1,530,1.4,CRD,8 +CMT,1,1,205,0.5,CSH,4.5 +CMT,1,1,223,0.5,CRD,4.5 +CMT,1,1,253,1.1,CSH,5.5 +CMT,1,1,432,1,CRD,6.5 +CMT,1,1,980,4.6,CSH,17 +CMT,1,1,848,2.5,CRD,11.5 +CMT,1,1,562,2.2,CSH,9.5 +CMT,1,1,209,0.9,CSH,5 +CMT,1,1,194,0.7,CSH,4.5 +CMT,1,1,649,1.5,CRD,9 +CMT,1,1,811,3.3,CSH,13 +CMT,1,1,1016,9.5,CRD,26.5 +CMT,1,1,457,0.6,CRD,6.5 +CMT,1,1,956,1.8,CRD,11.5 +CMT,1,1,747,2.1,CRD,10.5 +CMT,1,1,442,1,CSH,7 +CMT,1,1,600,1.2,CRD,8.5 +CMT,1,1,1274,2.5,CSH,14.5 +CMT,1,1,529,0.9,CRD,7 +CMT,1,1,334,1.6,CRD,7 +CMT,1,1,680,1.5,CRD,9 +CMT,2,1,1825,16.1,CRD,52 +CMT,1,1,751,2.2,CSH,11 +CMT,1,1,685,2.1,CRD,10 +CMT,1,1,604,4,CSH,13.5 +CMT,1,1,1136,3.7,CRD,16 +CMT,1,1,861,1.8,CSH,11 +CMT,1,1,879,2.8,CSH,12.5 +CMT,1,1,1822,4.1,CRD,21 +CMT,1,1,836,2.3,CRD,11 +CMT,2,1,1962,17.7,CSH,52 +CMT,1,1,494,0.8,CSH,7 +CMT,1,1,254,0.8,CSH,5 +CMT,1,1,727,3.3,CRD,12.5 +CMT,1,1,408,1.6,CRD,7.5 +CMT,1,1,263,1,CRD,5.5 +CMT,1,1,484,2.6,CSH,9.5 +CMT,1,1,375,1.6,CSH,7 +CMT,1,1,491,1.9,CRD,8.5 +CMT,1,1,394,1.6,CRD,7.5 +CMT,1,1,598,1.8,CSH,9 +CMT,1,1,580,1.8,CRD,9 +CMT,1,1,316,1,CSH,6 +CMT,1,1,548,1.4,CRD,8 +CMT,1,1,569,1.6,CRD,8.5 +CMT,1,1,682,1.6,CSH,9 +CMT,1,1,708,2,CRD,10 +CMT,1,1,633,2.2,CSH,10 +CMT,1,1,1192,5,CSH,18 +CMT,1,1,1754,11.8,CRD,37.5 +CMT,1,1,1598,5.2,CRD,21.5 +CMT,1,1,726,3.6,CSH,13.5 +CMT,1,1,1168,6,CRD,20.5 +CMT,1,1,585,2,CRD,9 +CMT,1,1,507,2.1,CSH,8.5 +CMT,1,1,43,0.3,CSH,3 +CMT,1,1,588,1.4,CRD,8.5 +CMT,1,1,344,1,CSH,6 +CMT,1,1,471,1.1,CSH,7 +CMT,1,1,365,0.9,CRD,6 +CMT,1,1,676,2.4,CRD,11 +CMT,1,1,506,2.5,CRD,9.5 +CMT,1,1,1151,2.7,CRD,15 +CMT,1,1,340,1.2,CSH,6.5 +CMT,1,1,435,2.1,CSH,8.5 +CMT,1,1,1111,3.5,CSH,15.5 +CMT,1,1,516,1.8,CRD,8.5 +CMT,1,1,591,3,CRD,11.5 +CMT,1,1,360,1.4,CSH,7 +CMT,1,1,548,2.3,CSH,9.5 +CMT,1,1,517,1.6,CRD,8 +CMT,1,1,731,3,CRD,12 +CMT,1,1,365,0.9,CRD,6.5 +CMT,1,1,147,0.5,CRD,4 +CMT,1,1,982,2.7,CSH,13.5 +CMT,1,1,472,0.9,CRD,7 +CMT,1,1,926,4,CSH,15 +CMT,1,1,645,1.8,CRD,9.5 +CMT,1,1,627,1.2,CRD,8.5 +CMT,1,1,1124,3,CSH,14.5 +CMT,1,1,374,0.7,CSH,6 +CMT,1,1,240,0.6,CRD,4.5 +CMT,1,1,922,3.2,CRD,13 +CMT,1,1,852,3.6,CRD,14 +CMT,1,2,920,4.9,CRD,17 +CMT,1,1,597,3.2,CRD,12 +CMT,1,1,423,1.6,CRD,7.5 +CMT,1,1,396,1.4,CSH,7 +CMT,1,1,526,1.6,CSH,8.5 +CMT,1,1,333,1.1,CSH,6 +CMT,1,1,326,0.9,CRD,6 +CMT,1,1,171,0.6,CSH,4.5 +CMT,1,1,347,1.4,CSH,6.5 +CMT,1,1,882,2.1,CSH,11.5 +CMT,1,1,532,1.4,CSH,8 +CMT,1,1,288,0.8,CSH,5.5 +CMT,1,1,347,1,CSH,6 +CMT,1,1,1371,3.1,CSH,16 +CMT,1,1,448,1.7,CSH,8 +CMT,1,1,824,1.6,CSH,10 +CMT,1,1,317,1.1,CRD,6 +CMT,1,1,376,1.1,CSH,6.5 +CMT,4,2,643,1.4,CSH,8.5 +CMT,1,1,146,0.4,CSH,3.5 +CMT,1,1,968,5.4,CRD,18.5 +CMT,1,1,635,1.9,CRD,9 +CMT,1,2,388,0.9,CRD,6 +CMT,1,1,213,0.8,CSH,5 +CMT,4,1,1307,5.8,CRD,20.5 +CMT,4,1,1341,5.7,CSH,21 +CMT,1,1,1221,12,CRD,34 +CMT,1,1,462,2.9,CRD,10 +CMT,1,1,834,1.9,CRD,10.5 +CMT,1,1,196,1.2,CRD,5.5 +CMT,1,1,531,2,CRD,9 +CMT,1,1,342,1.4,CRD,7 +CMT,1,1,461,1.5,CSH,8 +CMT,1,1,247,0.6,CSH,5 +CMT,1,1,726,1.6,CRD,9.5 +CMT,1,1,606,1.4,CRD,8.5 +CMT,1,1,50,0.3,CSH,3 +CMT,1,1,399,1.1,CSH,6.5 +CMT,1,1,173,0.9,CRD,5 +CMT,1,1,146,0.5,CRD,4 +CMT,1,1,219,0.7,CSH,5 +CMT,1,1,306,1.5,CRD,6.5 +CMT,1,1,664,1.9,CRD,10 +CMT,1,1,467,1.5,CSH,7.5 +CMT,1,1,1118,3.5,CRD,14.5 +CMT,1,1,416,1.4,CRD,7.5 +CMT,1,1,692,1.6,CRD,9 +CMT,1,1,923,1.4,CSH,10.5 +CMT,1,1,975,2.6,CRD,13 +CMT,1,1,1151,3.1,CRD,14.5 +CMT,1,1,602,1.7,CRD,9 +CMT,1,1,513,1.6,CSH,8 +CMT,1,4,876,1.7,CSH,9.5 +CMT,1,1,330,0.5,CSH,5 +CMT,1,1,932,4.7,CRD,16 +CMT,1,1,203,0.8,CSH,5 +CMT,1,1,647,1.1,CRD,8.5 +CMT,1,1,360,1.1,CSH,6 +CMT,1,1,291,0.8,CRD,5.5 +CMT,1,1,240,0.7,CRD,5 +CMT,1,1,704,1.7,CRD,9.5 +CMT,1,1,815,2.1,CRD,11 +CMT,1,1,784,1.9,CRD,10.5 +CMT,1,1,739,1.8,CSH,10 +CMT,1,1,522,1.2,CSH,7.5 +CMT,1,1,256,0.8,CRD,5 +CMT,4,1,79,0.1,CSH,3 +CMT,1,1,150,0.4,CSH,4 +CMT,1,1,711,2.4,CRD,11 +CMT,1,1,376,1.2,CSH,7 +CMT,1,1,679,1.7,CSH,9.5 +CMT,1,1,377,1.3,CRD,6.5 +CMT,1,1,248,1.1,CSH,5.5 +CMT,1,1,369,0.7,CRD,5.5 +CMT,1,1,437,0.8,CRD,6.5 +CMT,1,1,730,1.6,CRD,9.5 +CMT,1,1,403,1.2,CRD,7 +CMT,1,1,593,1.9,CSH,9.5 +CMT,1,1,188,0.4,CSH,4 +CMT,1,1,233,1,CRD,5.5 +CMT,1,1,306,1.7,CSH,7 +CMT,1,1,498,0.8,CSH,7 +CMT,1,1,305,1,CRD,5.5 +CMT,1,1,1114,4.1,CRD,16.5 +CMT,1,1,891,2.2,CSH,11.5 +CMT,1,1,460,2.4,CRD,9 +CMT,1,1,503,0.9,CRD,7 +CMT,1,1,361,1,CSH,6.5 +CMT,1,1,420,1,CSH,6.5 +CMT,1,1,1630,3.8,CSH,20 +CMT,1,1,269,0.7,CSH,5 +CMT,1,1,486,1.2,CRD,7.5 +CMT,1,1,232,0.6,CSH,4.5 +CMT,1,1,482,2.1,CSH,9.5 +CMT,1,1,340,0.3,CSH,5 +CMT,1,1,529,1.9,CRD,9 +CMT,2,1,2057,19.7,CSH,52 +CMT,1,1,172,0.8,CRD,5 +CMT,1,1,467,2,CSH,8.5 +CMT,1,1,521,1.8,CSH,8.5 +CMT,1,1,321,0.6,CSH,5.5 +CMT,1,1,735,2.8,CRD,11.5 +CMT,1,1,236,0.7,CSH,5 +CMT,1,1,99,0.4,CSH,3.5 +CMT,1,1,171,0.5,CSH,4 +CMT,1,1,112,0.4,CRD,4 +CMT,1,1,376,1.3,CRD,7 +CMT,1,1,218,1,CSH,5.5 +CMT,1,1,1100,3.8,CRD,15 +CMT,1,1,396,1,CRD,6.5 +CMT,1,1,1436,4.8,CSH,19.5 +CMT,1,1,583,1.3,CRD,8 +CMT,1,1,214,0.6,CRD,4.5 +CMT,1,1,1218,4.5,CRD,17.5 +CMT,1,1,869,2.9,CRD,13.5 +CMT,1,1,1270,4.3,CRD,18.5 +CMT,1,1,752,1.8,CSH,10 +CMT,1,1,1231,2.2,CRD,14 +CMT,1,1,1049,6.6,CSH,21 +CMT,1,1,759,1.1,CRD,9 +CMT,1,1,349,1.3,CRD,6.5 +CMT,1,1,222,0.5,CSH,4.5 +CMT,1,1,226,1.2,CRD,6 +CMT,1,1,757,2.2,CRD,10.5 +CMT,1,1,321,1.1,CRD,6 +CMT,1,1,433,1.6,CRD,7.5 +CMT,1,1,706,2.5,CSH,10.5 +CMT,1,1,263,0.9,CRD,5.5 +CMT,1,1,338,1,CSH,6 +CMT,1,1,259,1.4,CRD,6.5 +CMT,1,1,227,0.7,CSH,5 +CMT,1,1,693,3.1,CRD,11.5 +CMT,1,1,381,0.8,CSH,6 +CMT,1,1,708,1.5,CRD,9.5 +CMT,1,1,507,1.9,CSH,9 +CMT,1,1,645,2.3,CRD,10.5 +CMT,1,1,2718,13.2,CRD,44 +CMT,1,1,762,2.5,CRD,11 +CMT,1,1,445,1.1,CRD,7 +CMT,1,1,603,2.4,CRD,10 +CMT,1,1,225,0.2,CSH,4 +CMT,1,1,913,3.7,CRD,15 +CMT,1,1,1185,2.1,CRD,14 +CMT,1,1,371,0.6,CRD,5.5 +CMT,1,1,480,1.4,CRD,7.5 +CMT,1,1,378,1,CRD,6.5 +CMT,1,1,300,0.8,CRD,5.5 +CMT,1,1,918,4.1,CRD,15 +CMT,1,1,502,0.9,CRD,7 +CMT,1,1,1289,2.4,CRD,15 +CMT,1,1,1088,2.3,CSH,13 +CMT,1,1,1513,7.1,CSH,26 +CMT,1,1,504,0.4,CRD,6.5 +CMT,1,1,1455,11.4,CSH,33.5 +CMT,1,1,371,1.4,CSH,7 +CMT,1,2,336,0.8,CRD,5.5 +CMT,1,1,574,2,CRD,9 +CMT,1,1,647,1.7,CRD,9 +CMT,1,2,1359,5.2,CRD,19 +CMT,1,1,1550,10.6,CRD,32 +CMT,1,1,235,0.6,CSH,4.5 +CMT,1,1,481,1.2,CSH,7 +CMT,1,1,360,0.7,CRD,6 +CMT,2,1,2599,20.7,CRD,52 +CMT,1,1,520,1.1,CRD,7.5 +CMT,4,1,1051,3,CRD,13.5 +CMT,4,1,2265,10,CSH,34 +CMT,1,1,456,1.8,CRD,8 +CMT,1,2,787,2.6,CRD,11 +CMT,1,1,229,1.6,CSH,7 +CMT,1,1,411,0.5,CSH,4.5 +CMT,1,3,985,1.1,CRD,11 +CMT,1,2,579,1.3,CSH,8 +CMT,1,2,952,3,CRD,13 +CMT,1,2,1002,2.3,CSH,12.5 +CMT,1,1,654,5.2,CRD,16 +CMT,4,1,511,2.1,CSH,9 +CMT,1,3,230,1,CRD,5 +CMT,1,1,1652,9.2,CRD,29.5 +CMT,1,2,402,0.8,CRD,6 +CMT,1,1,117,0.3,CSH,3.5 +CMT,1,1,587,2.6,CRD,10.5 +CMT,1,1,42,0,CSH,2.5 +CMT,1,2,664,2.4,CSH,10.5 +CMT,1,1,593,2,CRD,9 +CMT,1,1,511,1.5,CSH,8 +CMT,1,1,541,0.8,CSH,7 +CMT,1,1,196,0.8,CRD,5 +CMT,1,1,966,2.3,CSH,12 +CMT,1,1,155,0.3,CRD,4 +CMT,1,2,440,1.3,CSH,7.5 +CMT,1,1,514,1.4,CSH,7.5 +CMT,1,2,921,4.3,CSH,15 +CMT,1,2,644,2.8,CRD,11 +CMT,1,1,23,0,CRD,2.5 +CMT,1,2,642,1.9,CRD,9.5 +CMT,1,3,676,1.3,CSH,8.5 +CMT,1,1,988,3,CSH,14 +CMT,1,4,674,2.1,CRD,10.5 +CMT,5,2,31,0,CRD,50 +CMT,1,4,448,2.9,CRD,10.5 +CMT,1,1,504,2.2,CRD,9 +CMT,1,1,1356,11.4,CRD,32.5 +CMT,1,2,468,1.7,CRD,8 +CMT,1,4,255,1,CSH,5.5 +CMT,1,1,393,0.7,CRD,6 +CMT,1,1,1758,5.2,CSH,22 +CMT,1,3,1551,6.2,CRD,22.5 +CMT,1,4,404,1.2,CSH,6.5 +CMT,1,2,276,1.1,CSH,5.5 +CMT,1,3,755,3.1,CSH,11.5 +CMT,1,1,356,0.5,CRD,5.5 +CMT,1,1,348,0.7,CSH,6 +CMT,1,1,1429,10.5,CSH,31 +CMT,1,1,340,2.3,CSH,8 +CMT,1,1,517,2,CRD,8.5 +CMT,1,1,465,1.3,CRD,7 +CMT,1,1,267,0.9,CRD,5.5 +CMT,1,1,559,1.9,CRD,8.5 +CMT,1,1,459,0.8,CSH,6.5 +CMT,1,1,1216,2.8,CSH,15 +CMT,1,3,275,1,CRD,6 +CMT,1,2,581,1.5,CSH,8.5 +CMT,1,1,608,2.3,CRD,10 +CMT,1,2,234,0.7,CSH,5 +CMT,1,2,1080,4.6,CSH,17 +CMT,1,1,1520,6.3,CRD,23 +CMT,1,1,403,2,CSH,8.5 +CMT,1,1,20,0,CRD,2.5 +CMT,1,1,8,0,CRD,2.5 +CMT,1,1,186,0.6,CRD,4.5 +CMT,1,3,759,3.1,CRD,13 +CMT,4,1,1579,13.1,CRD,38.5 +CMT,1,2,571,1,CSH,7.5 +CMT,1,2,702,2.3,CRD,11 +CMT,1,1,291,1.6,CSH,7 +CMT,1,1,535,3.6,CSH,11.5 +CMT,1,1,412,0.8,CSH,6.5 +CMT,1,1,143,0.6,CSH,4 +CMT,1,1,453,2.1,CRD,8.5 +CMT,1,1,929,4.2,CRD,15.5 +CMT,1,1,453,1.3,CRD,7 +CMT,4,1,551,1,CSH,7.5 +CMT,1,1,196,0.4,CSH,4.5 +CMT,1,1,1589,6.4,CRD,23 +CMT,1,1,212,0.6,CSH,4.5 +CMT,1,1,5,0,CSH,2.5 +CMT,1,1,13,0,CRD,2.5 +CMT,1,1,608,3.3,CSH,12 +CMT,1,3,291,1.3,CSH,6 +CMT,1,2,682,2.3,CSH,10.5 +CMT,1,3,1553,4.1,CRD,19 +CMT,1,1,624,1.4,CSH,8.5 +CMT,1,1,380,1.3,CSH,6.5 +CMT,1,2,1014,4.5,CSH,16 +CMT,2,1,1592,20.2,CRD,52 +CMT,1,1,420,1,CSH,6.5 +CMT,1,1,612,1.9,CSH,9 +CMT,1,2,601,2.8,CSH,11 +CMT,1,1,1554,14.2,CRD,40 +CMT,1,2,864,3.6,CRD,13.5 +CMT,1,3,1213,10.1,CSH,29.5 +CMT,1,1,557,2,CRD,9 +CMT,1,1,643,1.9,CRD,10 +CMT,1,1,627,1.6,CRD,9 +CMT,1,1,660,1.3,CRD,8.5 +CMT,1,1,345,1,CRD,6 +CMT,1,1,291,0.5,CRD,5 +CMT,1,1,1289,1.7,CRD,14 +CMT,1,1,479,0.8,CRD,6.5 +CMT,1,1,544,0.8,CRD,7 +CMT,1,2,892,5.4,CRD,18.5 +CMT,1,3,876,3.1,CSH,12.5 +CMT,1,1,1035,4.1,CSH,16 +CMT,1,1,791,2.1,CRD,11 +CMT,4,4,637,4.2,CRD,14 +CMT,1,1,688,1.6,CSH,9 +CMT,1,1,397,1.1,CRD,6.5 +CMT,1,1,407,0.6,CRD,6 +CMT,1,1,689,2.6,CRD,10.5 +CMT,1,2,636,2.6,CRD,10.5 +CMT,1,1,431,0.7,CSH,6.5 +CMT,1,2,291,0.7,CSH,5.5 +CMT,1,3,392,0.9,CRD,6 +CMT,1,1,538,1.9,CRD,8.5 +CMT,1,2,1146,3.4,CSH,15 +CMT,1,2,691,3,CRD,11.5 +CMT,1,1,651,1.5,CRD,9 +CMT,1,1,845,2,CRD,10.5 +CMT,1,1,1642,5.4,CRD,23.5 +CMT,1,1,177,0.6,CRD,4.5 +CMT,1,1,233,0.6,CSH,4.5 +CMT,1,1,225,1,CSH,5.5 +CMT,1,1,475,1.8,CRD,8 +CMT,1,1,376,1,CSH,6.5 +CMT,1,1,868,2.7,CRD,12 +CMT,1,2,827,2,CSH,10.5 +CMT,1,4,267,1.2,CSH,6 +CMT,1,1,1310,10.6,CRD,31.5 +CMT,1,1,271,0.6,CSH,5 +CMT,1,1,444,1.4,CRD,7 +CMT,1,1,652,1.4,CSH,9 +CMT,1,1,689,2.6,CSH,11 +CMT,1,1,650,2.1,CSH,9.5 +CMT,1,1,94,0.2,CSH,3 +CMT,1,2,1037,2.8,CSH,13.5 +CMT,1,1,457,1.6,CSH,7.5 +CMT,1,2,540,2.5,CRD,10 +CMT,1,1,690,3.8,CRD,13.5 +CMT,1,4,380,1.1,CRD,6.5 +CMT,1,1,639,1.2,CRD,8.5 +CMT,1,1,404,1.2,CSH,6.5 +CMT,1,1,437,1.5,CRD,7.5 +CMT,1,2,313,0.8,CSH,5.5 +CMT,1,1,329,2.3,CSH,8.5 +CMT,1,1,222,0.5,CRD,4.5 +CMT,1,1,1063,3.1,CRD,14 +CMT,1,1,531,2.6,CRD,10 +CMT,1,1,404,1.3,CRD,7 +CMT,1,1,554,1.2,CSH,7.5 +CMT,1,1,1278,2.7,CRD,14.5 +CMT,1,1,384,1.9,CSH,8.5 +CMT,1,1,600,2.3,CRD,10 +CMT,1,1,1126,3.1,CSH,14.5 +CMT,1,1,218,0.4,CRD,4.5 +CMT,1,1,3023,8.2,CRD,35.5 +CMT,1,1,1017,2.2,CSH,12 +CMT,1,1,183,0.8,CSH,4.5 +CMT,1,1,852,3,CRD,13 +CMT,1,1,316,0.6,CSH,5 +CMT,1,1,813,2.1,CSH,11 +CMT,1,1,495,1.2,CSH,7.5 +CMT,1,1,989,10.2,CRD,28.5 +CMT,1,1,551,2.5,CRD,10 +CMT,1,1,683,1.6,CSH,9.5 +CMT,1,1,413,1.5,CSH,7.5 +CMT,1,1,284,0.7,CRD,5 +CMT,1,1,251,1,CRD,5.5 +CMT,1,1,217,0.6,CRD,5 +CMT,1,1,1304,4,CSH,17 +CMT,1,1,313,1.3,CSH,6.5 +CMT,1,1,940,2.2,CRD,12 +CMT,1,1,140,0.4,CSH,4 +CMT,1,1,54,0,CSH,2.5 +CMT,1,2,834,3.7,CSH,14 +CMT,5,1,34,0,CRD,50 +CMT,1,2,1012,6.1,CSH,20 +CMT,1,1,215,0.6,CRD,4.5 +CMT,1,1,1124,7.4,CRD,23.5 +CMT,1,1,559,1.9,CSH,8.5 +CMT,1,1,572,3.2,CRD,12 +CMT,1,1,1174,2,CSH,13 +CMT,1,1,726,2.3,CRD,10.5 +CMT,1,1,458,1.2,CRD,7 +CMT,1,2,792,2.9,CRD,12 +CMT,1,1,701,2,CRD,10 +CMT,1,2,223,0.9,CRD,5 +CMT,1,1,701,1.4,CRD,9 +CMT,1,1,597,2.5,CRD,10 +CMT,1,3,367,0.6,CRD,5.5 +CMT,1,1,1509,11.5,CRD,34.5 +CMT,1,1,1408,8.3,CSH,26.5 +CMT,1,2,1437,3.2,CSH,16.5 +CMT,1,2,913,2.5,CSH,12 +CMT,1,2,361,0.8,CRD,6 +CMT,1,4,533,1.6,CSH,8 +CMT,1,1,845,2.9,CSH,12.5 +CMT,1,1,1122,2.7,CRD,13.5 +CMT,1,1,470,1.2,CSH,7.5 +CMT,1,1,384,0.6,CRD,5.5 +CMT,1,1,320,1,CSH,6 +CMT,1,2,119,0.6,CSH,4 +CMT,1,1,249,0.9,CRD,5.5 +CMT,1,1,692,4.4,CSH,14.5 +CMT,1,1,488,1.5,CRD,7.5 +CMT,1,1,873,3.3,CRD,13 +CMT,1,1,1264,4.1,CRD,17 +CMT,1,1,517,1.9,CRD,8.5 +CMT,1,1,1361,5.2,CRD,19.5 +CMT,1,4,401,1.9,CRD,8 +CMT,1,1,1058,6.1,CRD,19.5 +CMT,1,1,961,2.4,CSH,12 +CMT,1,1,694,4.9,CRD,16 +CMT,1,1,773,1.4,CSH,9.5 +CMT,1,2,455,1.7,CSH,8 +CMT,1,1,810,2.5,CRD,11.5 +CMT,1,4,380,0.7,CSH,6 +CMT,1,4,1407,7.9,CSH,24.5 +CMT,1,1,952,2.9,CRD,13 +CMT,1,1,1138,2.4,CRD,13 +CMT,1,2,386,0.9,CRD,6 +CMT,1,2,549,1.4,CRD,8 +CMT,1,2,645,3.6,CSH,12.5 +CMT,1,2,269,1.1,CRD,5.5 +CMT,1,1,616,1.6,CSH,8.5 +CMT,1,1,742,2.7,CSH,12 +CMT,1,2,549,2,CRD,9 +CMT,1,3,351,1.1,CRD,6 +CMT,4,3,803,2.7,CSH,11.5 +CMT,1,2,2495,8.2,CSH,32 +CMT,1,2,423,1.8,CRD,8 +CMT,1,1,1433,4.7,CRD,19.5 +CMT,1,4,513,1.1,CSH,7.5 +CMT,1,1,216,0.4,CSH,4.5 +CMT,1,1,475,2.1,CSH,9 +CMT,1,1,1557,9.3,CRD,28.5 +CMT,1,1,522,1.7,CRD,8 +CMT,1,1,924,3.1,CSH,13 +CMT,1,1,319,1.5,CSH,7 +CMT,1,1,1068,6.4,CRD,20.5 +CMT,1,1,981,2.7,CRD,13 +CMT,1,1,1492,5.3,CRD,20 +CMT,1,1,444,1,CRD,7 +CMT,1,1,314,1.3,CRD,6.5 +CMT,1,3,579,1.6,CSH,9 +CMT,1,1,1036,3.9,CRD,15.5 +CMT,1,1,1353,6,CSH,21.5 +CMT,1,1,510,1.7,CRD,8 +CMT,1,1,763,4,CSH,15.5 +CMT,4,2,1581,15.2,CSH,49 +CMT,1,1,1161,3.4,CSH,14.5 +CMT,1,4,499,4.1,CSH,13 +CMT,2,1,1693,17.9,CRD,52 +CMT,1,1,561,1.4,CRD,8 +CMT,1,4,971,3.9,CSH,15 +CMT,1,4,331,0.9,CRD,6 +CMT,1,1,158,0.3,CSH,4 +CMT,1,1,572,2.1,CSH,9.5 +CMT,1,1,875,2.1,CRD,11 +CMT,1,3,330,1,CRD,6 +CMT,1,1,409,1.3,CSH,7 +CMT,1,1,237,1.1,CRD,5.5 +CMT,1,2,883,3.4,CRD,13.5 +CMT,1,2,226,1,CRD,5 +CMT,1,1,549,1.8,CSH,8.5 +CMT,1,1,480,1.6,CSH,8 +CMT,1,1,261,0.7,CSH,5 +CMT,1,1,1054,4,CSH,15.5 +CMT,1,1,759,2.7,CSH,11.5 +CMT,1,2,510,2.4,CRD,9.5 +CMT,1,1,689,1.3,CRD,9 +CMT,1,2,581,1.7,CSH,8.5 +CMT,1,1,657,1.9,CRD,9.5 +CMT,1,1,230,0.5,CSH,4.5 +CMT,1,1,922,3.6,CSH,14 +CMT,1,1,473,2,CSH,8.5 +CMT,1,1,1125,6.5,CRD,22 +CMT,1,3,742,2.9,CSH,11.5 +CMT,1,4,919,6.7,CSH,21 +CMT,1,2,424,1.4,CSH,7 +CMT,1,1,528,0.4,CSH,6.5 +CMT,1,1,554,1.3,CSH,7.5 +CMT,1,1,94,0.4,CSH,3.5 +CMT,1,1,223,0.5,CRD,4.5 +CMT,1,1,395,1.6,CRD,7.5 +CMT,1,1,2020,13.8,CRD,40.5 +CMT,1,1,2258,3.5,CRD,24 +CMT,1,4,994,3.4,CRD,14 +CMT,1,1,1029,4,CRD,16 +CMT,1,1,740,2.9,CRD,11.5 +CMT,1,2,949,2.9,CSH,12.5 +CMT,1,1,354,1.3,CRD,6.5 +CMT,1,1,529,1.7,CSH,8 +CMT,1,2,520,1.5,CSH,8 +CMT,4,1,2091,12.9,CSH,45.5 +CMT,1,1,303,1.2,CRD,6 +CMT,1,1,2839,0,CSH,52 +CMT,1,1,364,2,CSH,8.5 +CMT,1,3,1099,4.5,CRD,17.5 +CMT,1,1,1212,9,CRD,26 +CMT,1,1,336,0.6,CSH,5.5 +CMT,1,1,1850,15,CRD,43 +CMT,1,1,750,2.2,CRD,11 +CMT,1,1,345,0.8,CRD,6 +CMT,1,1,1397,2.6,CSH,15.5 +CMT,1,1,517,1.3,CRD,7.5 +CMT,1,1,843,1.1,CSH,9.5 +CMT,1,1,423,1.5,CRD,7.5 +CMT,1,2,1144,8.5,CRD,25 +CMT,1,1,728,3.4,CSH,12.5 +CMT,1,1,588,2,CRD,9.5 +CMT,1,1,500,1,CSH,7 +CMT,1,3,645,1.9,CRD,9.5 +CMT,1,1,217,0.5,CSH,4.5 +CMT,1,1,304,1.4,CRD,6 +CMT,1,3,1048,5,CRD,18 +CMT,1,4,1042,4.1,CRD,16.5 +CMT,1,1,1173,7,CSH,22 +CMT,1,2,133,0.5,CSH,4 +CMT,1,1,128,0.5,CSH,3.5 +CMT,1,2,1172,10.4,CSH,30 +CMT,1,2,404,0.8,CSH,6.5 +CMT,1,1,454,1.7,CSH,8 +CMT,1,1,1857,21.3,CRD,56.5 +CMT,1,1,619,3.4,CRD,12 +CMT,1,2,357,1.5,CSH,7 +CMT,1,1,84,0.3,CSH,3.5 +CMT,1,2,2784,8.9,CSH,36 +CMT,1,1,320,1.1,CRD,6 +CMT,1,3,503,1.2,CSH,7.5 +CMT,1,4,261,0.8,CSH,5.5 +CMT,1,2,242,0.9,CSH,5 +CMT,4,2,556,3.1,CSH,11 +CMT,1,1,546,1.4,CSH,8 +CMT,1,1,412,2.2,CSH,8.5 +CMT,1,1,297,1.7,CSH,7 +CMT,1,3,694,3.7,CSH,13 +CMT,1,1,794,4.9,CRD,16.5 +CMT,1,2,1528,4.9,CRD,20.5 +CMT,1,1,757,2.2,CSH,11 +CMT,1,2,213,0.7,CRD,4.5 +CMT,1,1,500,2.1,CRD,9 +CMT,1,1,1248,8,CRD,25.5 +CMT,1,2,211,0.7,CRD,4.5 +CMT,1,2,853,4,CRD,14 +CMT,4,2,524,1.8,CSH,8.5 +CMT,1,2,422,2.1,CRD,9 +CMT,4,1,595,2.4,CSH,10 +CMT,1,2,405,1.8,CRD,8 +CMT,1,4,283,0.7,CSH,5.5 +CMT,1,1,504,1.9,CRD,8.5 +CMT,1,3,595,1.6,CSH,8.5 +CMT,1,1,348,1.7,CSH,7.5 +CMT,1,2,360,1.1,CSH,6.5 +CMT,1,1,994,4.8,CRD,17.5 +CMT,1,1,363,1.6,CSH,7.5 +CMT,1,1,364,1.7,CRD,7.5 +CMT,1,1,527,1.8,CRD,8.5 +CMT,1,3,417,2.1,CSH,8.5 +CMT,1,2,242,0.6,CRD,5 +CMT,1,3,785,5,CSH,15.5 +CMT,1,1,1307,8.5,CRD,26.5 +CMT,1,2,108,0.5,CSH,3.5 +CMT,1,1,1095,4.6,CRD,17 +CMT,1,1,450,2,CSH,8.5 +CMT,1,1,282,1.3,CSH,6.5 +CMT,1,2,978,7.6,CRD,22.5 +CMT,1,1,1340,10.9,CRD,32.5 +CMT,1,2,1159,4.9,CRD,18 +CMT,1,1,1216,10,CRD,29 +CMT,1,1,140,0.5,CRD,4 +CMT,1,1,939,5.2,CRD,18 +CMT,1,1,471,0.8,CRD,6.5 +CMT,1,1,853,2.3,CSH,11 +CMT,1,1,418,1.4,CSH,7.5 +CMT,1,1,519,1.2,CRD,7.5 +CMT,1,2,1250,5.2,CRD,19 +CMT,1,1,1083,4.2,CRD,16 +CMT,1,2,1172,3.5,CRD,15 +CMT,4,1,1175,6.5,CRD,20 +CMT,1,1,486,2.1,CRD,9 +CMT,1,1,156,0.8,CSH,4.5 +CMT,1,1,569,2.8,CSH,11 +CMT,1,2,953,4.9,CSH,17 +CMT,1,2,1375,6.8,CSH,22.5 +CMT,1,1,255,0.9,CRD,5.5 +CMT,1,2,931,3.1,CSH,13 +CMT,1,1,1112,4.4,CSH,17 +CMT,1,4,806,1.5,CSH,10 +CMT,1,1,1328,8.8,CRD,27.5 +CMT,1,2,256,0.7,CSH,5 +CMT,1,2,1053,2,CSH,12.5 +CMT,1,1,327,1.8,CRD,7.5 +CMT,1,2,497,0.6,CSH,6.5 +CMT,1,2,594,1.7,CRD,8.5 +CMT,1,2,338,0.5,CRD,5.5 +CMT,1,1,198,0.3,CRD,4 +CMT,1,2,1061,4.7,CSH,17 +CMT,1,2,2386,13.4,CSH,42 +CMT,1,1,247,0.7,CSH,5 +CMT,1,1,807,2.8,CRD,12 +CMT,1,1,377,1.1,CRD,6.5 +CMT,1,1,811,3.5,CRD,12.5 +CMT,1,2,515,2.2,CRD,9 +CMT,1,1,247,1,CRD,5.5 +CMT,1,2,909,2.8,CRD,12.5 +CMT,1,1,298,1.4,CRD,6.5 +CMT,1,1,214,0.4,CSH,4 +CMT,1,1,549,2.5,CSH,9.5 +CMT,1,1,253,1,CRD,5 +CMT,1,1,742,2.4,CSH,10.5 +CMT,1,2,546,1.7,CRD,8 +CMT,1,1,224,1,CRD,5 +CMT,1,2,230,0.5,CRD,4.5 +CMT,1,1,391,1.3,CSH,7 +CMT,1,1,681,4.7,CRD,16 +CMT,1,1,709,3.5,CRD,12.5 +CMT,1,1,661,1.7,CRD,9.5 +CMT,1,1,658,2.1,CRD,10 +CMT,1,1,633,2.6,CRD,10.5 +CMT,1,1,684,2.4,CSH,10.5 +CMT,1,2,787,3,CSH,12.5 +CMT,1,1,333,1.1,CRD,6 +CMT,1,1,475,3.2,CSH,11 +CMT,1,1,1523,0.8,CSH,6 +CMT,1,1,262,1,CSH,5.5 +CMT,1,1,736,4,CRD,13.5 +CMT,1,1,588,1.6,CRD,8.5 +CMT,1,4,661,1.2,CSH,8.5 +CMT,1,3,376,1.9,CSH,7.5 +CMT,1,4,530,1.4,CRD,8 +CMT,1,1,255,0.7,CSH,5 +CMT,1,1,888,6.2,CRD,19 +CMT,1,1,1180,6.1,CRD,20.5 +CMT,1,2,259,0.6,CSH,4.5 +CMT,1,3,148,0.6,CRD,4 +CMT,1,3,739,2.1,CSH,10.5 +CMT,1,1,728,2.4,CRD,10.5 +CMT,1,1,402,0.8,CSH,6.5 +CMT,1,4,631,1.8,CSH,9 +CMT,1,2,614,2.1,CSH,9.5 +CMT,1,1,683,1.6,CRD,9.5 +CMT,1,1,1040,3.7,CRD,15 +CMT,1,3,267,0.8,CSH,5.5 +CMT,1,2,412,1.3,CSH,7.5 +CMT,1,1,472,2.1,CRD,8.5 +CMT,1,1,603,2.8,CSH,10.5 +CMT,1,2,480,2.4,CSH,9.5 +CMT,1,1,1206,7.2,CRD,23 +CMT,1,1,403,1.3,CSH,7 +CMT,1,3,679,1.7,CSH,9.5 +CMT,1,1,1103,3.6,CSH,14.5 +CMT,1,1,663,2.8,CSH,11 +CMT,1,1,185,0.8,CSH,4.5 +CMT,1,1,175,0.5,CSH,4 +CMT,1,1,190,0.3,CSH,4 +CMT,1,1,996,1.8,CRD,11.5 +CMT,1,3,429,1.9,CRD,8.5 +CMT,1,2,1426,2.2,CRD,15.5 +CMT,1,1,953,1.9,CRD,11.5 +CMT,1,1,385,1.8,CRD,7.5 +CMT,1,1,748,2.9,CRD,12 +CMT,1,1,249,0.8,CRD,5 +CMT,1,2,405,2,CRD,8 +CMT,1,2,443,1.7,CRD,7.5 +CMT,1,1,249,0.9,CSH,5.5 +CMT,1,2,632,2.2,CRD,9.5 +CMT,1,2,446,1.3,CRD,7 +CMT,1,3,366,1.2,CSH,6.5 +CMT,1,1,1139,6.2,CSH,21 +CMT,1,2,637,3.4,CSH,12 +CMT,1,1,421,1.8,CSH,8 +CMT,1,1,361,1.3,CRD,7 +CMT,1,1,614,1.2,CSH,8.5 +CMT,1,3,644,2.5,CSH,10.5 +CMT,1,1,374,1.1,CSH,6 +CMT,1,3,558,1,CRD,7.5 +CMT,1,1,459,1.1,CRD,7 +CMT,1,1,237,0.6,CSH,5 +CMT,1,1,831,4.1,CSH,14.5 +CMT,1,1,3160,10.5,CSH,40.5 +CMT,2,1,10,0,CRD,52 +CMT,1,1,935,4.4,CRD,15 +CMT,1,1,618,1.6,CRD,9 +CMT,1,1,235,0.6,CRD,4.5 +CMT,1,1,797,3.6,CRD,14.5 +CMT,1,1,864,4.5,CSH,16.5 +CMT,1,2,1430,6.3,CRD,21.5 +CMT,1,1,616,2.8,CRD,10.5 +CMT,1,2,222,1.1,CRD,5.5 +CMT,1,2,145,0.4,CRD,4 +CMT,1,2,1380,2.7,CSH,15.5 +CMT,1,2,572,1.3,CRD,8 +CMT,1,4,236,0.3,CRD,4.5 +CMT,1,1,125,0.1,CSH,3.5 +CMT,1,2,1221,2.6,CSH,14 +CMT,1,1,350,0.8,CSH,5.5 +CMT,1,2,1088,6.1,CSH,20 +CMT,4,1,1009,13.7,CSH,2.5 +CMT,1,3,842,4.7,CSH,15.5 +CMT,1,2,409,1.1,CRD,6.5 +CMT,1,1,955,4.2,CRD,16 +CMT,1,1,571,1.8,CSH,9.5 +CMT,1,1,800,1.3,CSH,9.5 +CMT,1,2,356,0.7,CSH,5.5 +CMT,1,4,633,1.4,CSH,8.5 +CMT,1,1,1521,7,CRD,24 +CMT,1,1,811,2.2,CRD,11.5 +CMT,1,1,502,2,CRD,9 +CMT,1,1,835,2.3,CRD,11 +CMT,1,1,243,0.9,CSH,5 +CMT,1,1,758,1.7,CSH,9.5 +CMT,1,1,443,1.3,CSH,7 +CMT,1,1,281,1.1,CRD,5.5 +CMT,1,1,1010,3.2,CRD,13.5 +CMT,1,1,809,4.2,CRD,15 +CMT,1,2,1654,6.2,CSH,22.5 +CMT,1,3,272,0.5,CSH,5 +CMT,1,3,896,4.2,CRD,15 +CMT,4,1,1056,4.1,CSH,16 +CMT,1,1,690,1.5,CRD,9.5 +CMT,1,1,421,1.3,CSH,7 +CMT,1,3,765,4,CRD,14.5 +CMT,1,1,812,3.2,CSH,13 +CMT,1,4,437,1.8,CSH,8 +CMT,1,1,249,0.7,CRD,5 +CMT,1,1,449,1.2,CRD,7 +CMT,1,2,880,3.8,CRD,14 +CMT,1,2,1155,3.6,CSH,16 +CMT,1,1,492,2.7,CSH,10.5 +CMT,1,1,842,2.8,CRD,12.5 +CMT,1,1,288,0.9,CRD,5.5 +CMT,1,1,508,1.1,CRD,7.5 +CMT,1,1,1053,3,CRD,13.5 +CMT,1,1,766,3.1,CRD,12.5 +CMT,1,1,367,0.6,CRD,5.5 +CMT,1,2,1044,2.3,CRD,12.5 +CMT,1,1,1292,5.4,CRD,19 +CMT,1,1,1779,9,CSH,29.5 +CMT,1,1,963,1.9,CSH,11 +CMT,1,1,1176,4.6,CSH,17.5 +CMT,1,4,679,1.9,CSH,9.5 +CMT,1,2,594,1.5,CRD,8.5 +CMT,1,4,557,2.1,CRD,9 +CMT,1,3,275,1.1,CRD,6 +CMT,1,1,879,8,CRD,23 +CMT,1,3,954,5.1,CRD,17 +CMT,1,1,650,4,CRD,14 +CMT,1,1,345,1.3,CRD,6.5 +CMT,1,1,575,2.4,CRD,10 +CMT,1,1,166,0.6,CSH,4.5 +CMT,1,1,563,1.2,CRD,7.5 +CMT,1,1,301,0.8,CRD,5.5 +CMT,1,2,918,3.1,CRD,14 +CMT,1,1,196,0.4,CRD,4 +CMT,1,1,352,1.3,CRD,6.5 +CMT,1,2,954,2.2,CSH,12 +CMT,1,1,2058,2.4,CSH,8.5 +CMT,1,2,405,1,CRD,6.5 +CMT,1,2,1155,3.1,CRD,14.5 +CMT,1,2,481,1.2,CSH,7 +CMT,1,1,81,0.2,CSH,3 +CMT,1,1,1411,10.1,CRD,30 +CMT,1,1,242,0.6,CSH,4.5 +CMT,1,1,453,1.1,CRD,7 +CMT,1,1,349,1.4,CRD,7 +CMT,1,1,328,1.1,CSH,6.5 +CMT,1,1,983,1.5,CSH,11 +CMT,1,1,1642,5.7,CSH,22.5 +CMT,1,2,617,2.5,CSH,10 +CMT,1,1,303,1.3,CSH,6.5 +CMT,1,1,1329,6.1,CRD,22 +CMT,1,1,593,2.5,CRD,10.5 +CMT,1,1,555,2.1,CSH,9 +CMT,1,1,872,5.9,CSH,19 +CMT,1,1,648,1.7,CSH,9 +CMT,1,1,528,1.9,CSH,9 +CMT,1,1,258,1.1,CRD,5.5 +CMT,1,1,1638,17,CSH,46.5 +CMT,1,1,1039,5.5,CRD,18.5 +CMT,1,1,735,2.1,CSH,10 +CMT,1,1,1051,5.3,CRD,19.5 +CMT,1,1,854,3.6,CRD,14.5 +CMT,1,1,508,1.8,CRD,9 +CMT,1,1,508,2.3,CRD,9.5 +CMT,1,1,1012,8.6,CSH,25 +CMT,1,1,188,0.6,CSH,4.5 +CMT,1,1,234,0.6,CSH,4.5 +CMT,1,2,1456,8.3,CRD,27.5 +CMT,1,3,1164,3.3,CRD,15 +CMT,1,2,1072,4.4,CSH,16 +CMT,4,1,1797,3.1,CRD,19 +CMT,1,1,102,0.2,CRD,3 +CMT,1,1,889,2.3,CRD,11.5 +CMT,1,1,1736,4.7,CRD,22 +CMT,1,3,668,1.2,CRD,8.5 +CMT,1,1,140,0.4,CSH,4 +CMT,1,1,819,3.3,CRD,13 +CMT,1,1,74,0.4,CSH,3.5 +CMT,1,2,290,1.5,CSH,6.5 +CMT,1,1,1238,2.9,CRD,15.5 +CMT,1,2,487,2,CRD,8.5 +CMT,1,1,951,4.7,CSH,16 +CMT,1,1,1393,4.7,CRD,19 +CMT,1,2,1594,5.8,CRD,22 +CMT,1,1,367,1,CRD,6.5 +CMT,1,1,618,1.6,CRD,9 +CMT,1,1,262,1.1,CSH,5.5 +CMT,1,1,248,0.7,CSH,5 +CMT,1,2,1150,9.1,CRD,27.5 +CMT,1,1,3298,4.9,CSH,18 +CMT,1,1,397,1.1,CSH,6.5 +CMT,1,1,1124,0.6,CSH,5.5 +CMT,1,2,1193,3.9,CRD,16.5 +CMT,4,2,612,1.4,CRD,8.5 +CMT,1,2,98,0.6,CSH,4 +CMT,1,1,1039,6.1,CRD,20.5 +CMT,1,2,1568,6.7,CRD,23 +CMT,1,3,416,1.8,CRD,7.5 +CMT,1,2,450,0.9,CRD,7 +CMT,1,2,709,1.4,CRD,9.5 +CMT,1,1,784,3.2,CRD,12 +CMT,1,1,367,1,CRD,6 +CMT,1,2,197,0.8,CRD,5 +CMT,1,2,814,5.4,CRD,17.5 +CMT,1,2,1264,4.9,CSH,19 +CMT,1,1,628,2,CRD,9.5 +CMT,1,2,737,2.1,CRD,10 +CMT,1,1,431,1.5,CSH,7.5 +CMT,1,1,2134,15.1,CRD,45 +CMT,1,3,911,2.8,CRD,13 +CMT,1,1,237,1.3,CSH,6 +CMT,1,1,689,3.3,CRD,11 +CMT,1,1,772,2.5,CSH,11.5 +CMT,1,4,651,2.4,CSH,10.5 +CMT,1,3,715,2.6,CSH,11 +CMT,1,1,202,0.7,CSH,5 +CMT,1,2,910,5.2,CSH,17.5 +CMT,1,2,150,0.7,CSH,4.5 +CMT,1,2,736,3.9,CRD,13.5 +CMT,1,2,634,2.6,CRD,10.5 +CMT,1,1,563,3.7,CRD,12.5 +CMT,1,1,1552,1.9,CSH,16 +CMT,1,1,355,1.3,CSH,6.5 +CMT,1,1,890,4.8,CRD,15.5 +CMT,1,1,278,0.9,CSH,5.5 +CMT,1,1,1389,4.3,CSH,17.5 +CMT,1,1,1000,4.2,CSH,16 +CMT,1,1,333,0.7,CRD,5.5 +CMT,1,1,253,0.9,CRD,5.5 +CMT,1,1,1918,9.4,CRD,32.5 +CMT,1,3,156,0.6,CSH,4.5 +CMT,1,1,570,1.3,CSH,8 +CMT,1,1,257,0.5,CSH,4.5 +CMT,1,1,300,0.7,CRD,5.5 +CMT,1,1,784,3.4,CRD,13 +CMT,1,1,1164,9.7,CRD,28.5 +CMT,1,1,402,1.5,CSH,7.5 +CMT,1,1,1208,7.3,CRD,24 +CMT,1,1,1054,2.7,CRD,13 +CMT,1,1,310,0.9,CRD,5.5 +CMT,1,1,155,0.5,CSH,4 +CMT,1,1,219,0.9,CSH,5 +CMT,1,1,401,1.5,CRD,7 +CMT,1,1,1262,9.7,CRD,29 +CMT,1,1,218,0.8,CRD,5 +CMT,1,1,591,1.8,CRD,9 +CMT,1,2,1129,3,CSH,14 +CMT,1,1,644,2.2,CRD,9.5 +CMT,1,3,460,1.4,CRD,7.5 +CMT,1,3,1219,5.5,CRD,20.5 +CMT,1,1,109,0.6,CSH,4 +CMT,2,1,89,0.1,CRD,52 +CMT,1,1,1368,2.9,CRD,16 +CMT,1,1,902,2.2,CRD,11.5 +CMT,1,1,738,2.9,CSH,12 +CMT,1,2,355,1,CSH,6 +CMT,1,3,247,0.4,CSH,4.5 +CMT,1,1,813,6.9,CSH,20 +CMT,1,2,305,0.9,CRD,5.5 +CMT,1,1,359,0.8,CRD,6 +CMT,1,1,1501,11,CRD,32.5 +CMT,1,2,651,2.3,CSH,10.5 +CMT,1,1,169,0.3,CRD,4 +CMT,1,2,741,2.1,CSH,10 +CMT,1,1,555,3.1,CSH,11.5 +CMT,1,1,1196,6.2,CRD,20.5 +CMT,1,1,3108,5,CRD,33.5 +CMT,1,1,956,2.1,CSH,12 +CMT,1,3,856,3.6,CRD,13.5 +CMT,1,1,403,2.6,CRD,9 +CMT,1,2,480,1.2,CRD,7.5 +CMT,1,1,910,4,CRD,15.5 +CMT,1,1,856,5.2,CSH,17 +CMT,1,1,163,0.7,CRD,4.5 +CMT,1,1,235,1.2,CSH,6 +CMT,1,1,999,3.8,CSH,14 +CMT,1,1,218,0.6,CSH,4.5 +CMT,1,1,371,1.4,CSH,6.5 +CMT,1,1,1406,6.5,CSH,22.5 +CMT,1,1,770,3,CRD,13 +CMT,1,1,132,0.3,CSH,3.5 +CMT,1,1,706,1.8,CRD,9.5 +CMT,1,1,488,2.9,CSH,10 +CMT,1,1,2274,4.9,CRD,25.5 +CMT,1,1,796,2.2,CRD,11 +CMT,1,1,467,1.4,CRD,7.5 +CMT,1,1,728,2,CRD,10.5 +CMT,1,1,479,1.7,CRD,8 +CMT,1,1,603,2.9,CSH,11 +CMT,1,1,361,1.8,CRD,7.5 +CMT,1,2,545,2.6,CSH,10 +CMT,1,1,999,3.7,CRD,15 +CMT,1,1,665,2.1,CRD,10 +CMT,1,1,1705,11.6,CSH,34 +CMT,1,1,528,0.8,CSH,7 +CMT,1,1,417,0.9,CRD,6.5 +CMT,1,1,256,0.8,CSH,5.5 +CMT,1,1,185,0.8,CRD,4.5 +CMT,1,1,649,2.1,CSH,10 +CMT,1,1,311,1.7,CRD,7 +CMT,1,1,437,2.1,CSH,9 +CMT,1,1,544,1,CSH,7 +CMT,1,1,685,1.6,CSH,9 +CMT,1,1,236,0.7,CRD,5 +CMT,1,1,455,1.8,CSH,8 +CMT,1,1,171,0.9,CRD,4.5 +CMT,1,1,532,2.6,CRD,9.5 +CMT,1,1,275,0.9,CRD,5.5 +CMT,1,1,675,3,CSH,11.5 +CMT,1,1,155,0.3,CSH,4 +CMT,1,1,766,2.5,CSH,11 +CMT,1,1,918,3.3,CRD,13.5 +CMT,1,1,896,3.7,CRD,14.5 +CMT,1,1,1042,4.9,CSH,17 +CMT,1,1,1137,13,CSH,35 +CMT,1,1,601,3.4,CRD,12.5 +CMT,1,1,413,0.9,CSH,6.5 +CMT,1,1,1130,10.2,CRD,29.5 +CMT,1,1,360,1.7,CSH,7.5 +VTS,1,1,300,0.6,CSH,5 +VTS,1,1,240,1.46,CRD,6.5 +VTS,1,1,300,1.43,CSH,6.5 +CMT,1,2,532,1.1,CSH,7.5 +CMT,1,2,1075,4.4,CSH,17 +CMT,1,1,582,1.9,CRD,9.5 +CMT,1,1,536,1.2,CSH,7.5 +CMT,1,2,334,0.9,CRD,5.5 +CMT,1,1,603,1.6,CRD,8.5 +CMT,1,3,244,0.7,CSH,4.5 +CMT,1,3,444,1.2,CRD,7 +CMT,1,2,450,0.9,CSH,6.5 +CMT,1,1,745,4.1,CRD,13.5 +CMT,1,1,405,0.9,CRD,6.5 +CMT,1,2,724,2.3,CRD,10 +CMT,1,1,1680,5.1,CSH,20.5 +CMT,1,2,372,1.1,CRD,6.5 +CMT,1,1,828,3.9,CRD,15 +CMT,1,1,104,0.3,CSH,3.5 +CMT,1,1,940,5.1,CRD,17.5 +CMT,1,4,341,0.9,CSH,6 +CMT,1,4,494,2.6,CSH,10 +CMT,1,2,794,5.2,CSH,16.5 +CMT,1,1,581,2.1,CRD,10 +CMT,1,1,490,1,CSH,7 +CMT,1,1,215,1,CRD,5 +CMT,1,1,345,1.2,CSH,6 +CMT,1,1,914,3,CSH,13 +CMT,1,1,612,4.9,CRD,15.5 +CMT,1,1,628,1.8,CRD,9 +CMT,1,3,1043,4.7,CSH,17 +CMT,1,1,745,2.8,CSH,12 +CMT,1,1,200,0.7,CRD,4.5 +CMT,1,2,522,1.3,CSH,7.5 +CMT,1,1,570,2.4,CSH,10 +CMT,1,1,901,3.7,CRD,14.5 +CMT,1,1,269,0.9,CSH,5.5 +CMT,1,1,677,1.8,CSH,9.5 +CMT,1,1,213,1.1,CRD,5.5 +CMT,1,1,2664,8.9,CRD,25 +CMT,1,1,593,2.1,CRD,9.5 +CMT,1,1,109,0.4,CSH,3.5 +CMT,1,1,624,2.3,CSH,10 +CMT,1,1,530,2.7,CRD,10.5 +CMT,1,1,2097,5.4,CSH,25 +CMT,1,1,488,1.9,CSH,8.5 +CMT,1,1,570,1.8,CSH,9 +CMT,1,1,964,4.1,CRD,15 +CMT,1,1,963,7.1,CRD,21.5 +CMT,1,1,330,1.6,CSH,7 +CMT,1,1,404,1,CRD,6 +CMT,1,1,406,1.4,CRD,7 +CMT,1,1,479,2.6,CSH,10 +CMT,1,1,1064,12.1,CRD,34 +CMT,1,1,324,1.7,CSH,7 +CMT,1,1,182,1,CRD,5 +CMT,1,1,678,2.9,CRD,11.5 +CMT,1,1,259,1.1,CSH,6 +CMT,1,1,940,6.9,CRD,22 +VTS,1,1,540,1.44,CRD,8 +VTS,1,1,1020,0.99,CSH,9.5 +VTS,1,1,1200,10.26,CRD,30 +VTS,1,1,420,3.44,CRD,11.5 +VTS,1,1,720,2.09,CSH,10 +VTS,1,1,120,0.96,CSH,4.5 +VTS,1,1,960,3.22,CRD,13.5 +VTS,1,1,180,1.21,CRD,5.5 +VTS,1,1,360,0.95,CRD,6 +VTS,1,1,60,0.17,CSH,3 +VTS,1,1,720,1.77,CSH,10 +VTS,1,1,120,0.45,CSH,4 +VTS,1,1,780,4.16,CRD,14 +VTS,1,1,840,3.33,CRD,13.5 +VTS,1,1,840,2.21,CRD,11 +VTS,1,1,780,3.54,CRD,13 +VTS,1,1,1500,8.83,CSH,26.5 +VTS,1,1,360,1.36,CSH,6.5 +VTS,1,1,600,2.11,CRD,9.5 +VTS,1,1,480,1.31,CRD,7 +VTS,1,1,1680,7.23,CRD,26 +VTS,1,1,1080,2.81,CRD,13 +VTS,1,1,960,3.38,CRD,14.5 +VTS,1,1,960,3.24,CSH,14 +VTS,1,1,660,3.1,CSH,11.5 +VTS,1,1,360,1.88,CSH,7.5 +VTS,1,1,300,0.81,CRD,5 +VTS,1,1,1860,18.84,CSH,52 +VTS,1,1,960,3.45,CRD,14.5 +VTS,1,1,600,2.58,CRD,10.5 +VTS,1,1,1080,3,CRD,14 +VTS,1,1,420,2.2,CSH,8.5 +VTS,1,1,120,0.42,CSH,4 +VTS,1,1,360,1.06,CSH,6.5 +VTS,1,1,780,1.86,CRD,10.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,840,4.32,CRD,16.5 +VTS,1,1,1020,5.06,CSH,18.5 +VTS,1,1,1200,5.16,CRD,20.5 +VTS,1,1,360,0.77,CRD,5.5 +VTS,1,1,720,3.28,CSH,13 +VTS,1,1,960,1.29,CRD,12 +VTS,1,1,660,2.35,CRD,10.5 +VTS,1,1,720,5.51,CRD,17.5 +VTS,1,1,240,0.43,CSH,4.5 +VTS,1,1,660,2.04,CRD,10 +VTS,1,1,660,4.12,CSH,14 +VTS,1,1,840,3.03,CSH,13 +VTS,1,1,480,1.28,CRD,7 +CMT,1,1,1209,5,CRD,19 +CMT,1,1,1293,5.2,CRD,19.5 +CMT,1,1,276,1.3,CSH,6 +VTS,1,1,480,1.75,CSH,8 +VTS,1,1,900,7.97,CRD,23.5 +VTS,1,1,1020,3.99,CSH,15 +VTS,1,1,600,2.92,CRD,11 +VTS,1,1,600,1.12,CRD,8 +VTS,1,2,720,2.39,CRD,11 +VTS,1,1,420,2.16,CSH,8.5 +VTS,1,1,1140,4.3,CRD,17 +VTS,1,1,480,1.32,CRD,7 +VTS,1,1,840,5.31,CSH,17.5 +VTS,1,1,1500,8.41,CSH,27.5 +VTS,1,1,420,1.36,CSH,7 +VTS,1,1,840,10.7,CSH,30 +VTS,1,1,360,0.76,CSH,6 +VTS,1,1,1140,2.92,CRD,14.5 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,1,960,4.12,CSH,15 +VTS,1,1,420,1.28,CRD,7 +VTS,1,1,480,2.88,CRD,10.5 +VTS,1,1,1320,5.74,CRD,20.5 +VTS,1,1,1080,4.17,CSH,16 +VTS,1,1,240,1.14,CRD,5.5 +VTS,1,1,1020,3,CRD,14 +CMT,1,1,361,1.1,CRD,6 +CMT,1,1,276,1,CSH,5.5 +CMT,1,1,669,2.6,CSH,10.5 +CMT,1,1,653,2.3,CRD,10 +CMT,1,1,194,1.2,CRD,5.5 +CMT,1,1,229,0.7,CSH,5 +CMT,1,1,191,0.8,CSH,4.5 +CMT,1,1,808,3.6,CSH,14 +CMT,1,1,359,1.3,CRD,6 +CMT,1,1,241,1,CSH,5.5 +CMT,1,1,382,0.8,CSH,6 +CMT,1,1,865,5,CRD,16.5 +CMT,1,1,721,4.4,CSH,14.5 +CMT,1,1,373,1.5,CRD,7.5 +CMT,1,1,561,1.9,CSH,9 +CMT,1,1,210,1,CSH,5.5 +CMT,4,1,552,1.5,CSH,8 +CMT,1,1,468,2.1,CSH,8.5 +CMT,1,1,180,0.6,CSH,4 +CMT,1,1,464,2,CSH,8.5 +CMT,1,1,318,0.9,CSH,6 +CMT,1,1,854,3.8,CSH,14.5 +VTS,1,1,1320,5.84,CRD,21.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,600,2.81,CRD,11 +VTS,1,1,660,3.06,CSH,11.5 +CMT,1,1,462,1.5,CRD,8 +CMT,1,1,1556,7.6,CRD,24.5 +CMT,1,1,1643,6.7,CRD,23.5 +CMT,1,1,266,1.2,CSH,6 +CMT,5,1,1941,8.1,CRD,29 +CMT,1,1,353,0.7,CRD,6 +CMT,1,1,302,0.6,CSH,5 +CMT,1,1,553,1.5,CSH,8 +CMT,1,1,1618,4.2,CSH,19.5 +CMT,1,1,2,0,CSH,2.5 +CMT,1,1,1866,7.7,CRD,27.5 +CMT,1,1,1002,10.5,CSH,30 +CMT,1,1,1087,3.8,CRD,15 +CMT,1,1,969,3.2,CRD,13.5 +CMT,1,1,712,2.4,CRD,10.5 +CMT,1,1,1285,10.6,CRD,31.5 +CMT,1,1,837,5.2,CSH,16.5 +CMT,1,1,588,1.5,CRD,8 +CMT,1,1,221,0.8,CRD,5 +CMT,1,1,588,1.4,CSH,8 +CMT,1,1,261,1.6,CRD,6.5 +CMT,1,1,405,0.8,CRD,6 +CMT,1,1,637,2.4,CRD,10 +CMT,1,1,922,3.2,CSH,13 +VTS,1,1,600,2.25,CSH,9.5 +VTS,1,1,420,1.48,CSH,7 +CMT,1,1,1570,7.8,CRD,26 +CMT,1,1,724,4.2,CRD,14.5 +CMT,1,1,1536,5,CRD,20 +CMT,1,3,279,0.4,CSH,5 +CMT,1,1,693,3.1,CRD,12 +CMT,1,1,887,4.6,CRD,15 +CMT,1,1,1142,4.6,CRD,17.5 +CMT,1,1,692,2.1,CRD,10 +CMT,1,3,469,0.5,CSH,6.5 +CMT,1,1,472,1.3,CRD,7 +CMT,1,1,435,1.1,CSH,7 +CMT,1,1,346,1.5,CSH,7 +CMT,1,1,489,1.5,CSH,8 +CMT,1,1,3787,3.6,CSH,14 +CMT,1,1,221,0.8,CSH,5 +CMT,1,1,228,0.6,CRD,4.5 +CMT,1,1,910,4.8,CRD,17 +CMT,1,1,1660,6.1,CRD,23.5 +CMT,1,1,963,5.4,CRD,17.5 +CMT,1,1,329,0.6,CRD,5.5 +CMT,1,1,1371,9.8,CRD,30 +CMT,1,1,727,1.5,CSH,7 +CMT,1,1,667,1.5,CSH,9 +CMT,1,1,1354,14.8,CSH,41.5 +CMT,1,1,1099,3.7,CSH,16 +CMT,1,1,758,3.2,CSH,12 +CMT,1,1,98,0.3,CSH,3.5 +CMT,2,1,1020,4.4,CRD,52 +CMT,1,1,449,1.5,CRD,7.5 +CMT,1,1,643,1.5,CSH,8.5 +CMT,1,1,255,0.8,CRD,5 +CMT,1,1,115,0.7,CRD,4 +CMT,1,1,479,1.2,CSH,7 +CMT,1,1,1085,7.3,CRD,23.5 +VTS,1,1,180,0.78,CSH,5 +VTS,1,1,1140,5.39,CSH,19 +VTS,1,1,180,1.08,CSH,5 +VTS,1,1,840,4.06,CRD,15 +VTS,1,1,240,0.88,CSH,5 +VTS,1,1,540,0.75,CSH,7 +VTS,1,1,360,1.42,CRD,6.5 +VTS,1,1,660,2.89,CRD,11.5 +VTS,1,1,420,4.82,CRD,14.5 +VTS,1,1,4560,13.6,CSH,56 +VTS,1,1,360,1.58,CSH,7 +VTS,1,1,240,1.01,CRD,5 +VTS,1,1,300,1.27,CSH,6 +VTS,1,1,2160,9.43,CSH,32.5 +VTS,1,1,540,1.27,CSH,8 +VTS,1,1,540,4.22,CRD,14 +VTS,1,1,300,1,CRD,5.5 +VTS,1,1,600,2.04,CRD,9.5 +CMT,1,2,1029,3.5,CRD,15 +CMT,1,1,177,0.8,CSH,5 +CMT,1,3,1652,5.1,CRD,21 +CMT,1,1,863,2.9,CRD,12 +CMT,1,1,1837,7.2,CRD,26 +CMT,1,2,368,1.1,CRD,6 +CMT,1,1,689,3.9,CRD,13.5 +CMT,1,1,221,0.6,CSH,4.5 +CMT,1,2,853,5.8,CRD,17.5 +CMT,1,2,1295,4.1,CSH,16.5 +CMT,1,2,531,1.2,CRD,7.5 +CMT,1,2,126,0.6,CRD,4 +CMT,1,2,617,2.3,CRD,10 +CMT,1,2,607,1.6,CRD,9 +CMT,1,1,479,1.7,CRD,8 +CMT,1,1,419,0.7,CSH,6 +CMT,1,1,309,0.7,CSH,5 +CMT,1,1,1301,2.4,CSH,15 +CMT,1,1,489,2,CSH,8.5 +CMT,1,1,283,1.3,CRD,6.5 +CMT,1,1,539,1,CSH,7.5 +CMT,1,1,326,1.9,CSH,7.5 +CMT,1,1,188,0.9,CSH,5 +CMT,1,1,68,0.4,CRD,3.5 +CMT,1,1,1072,10.2,CSH,29.5 +CMT,2,1,2801,18.1,CSH,52 +CMT,1,1,673,3.5,CSH,13 +CMT,1,1,1442,9.5,CSH,29 +CMT,1,1,236,1.3,CRD,6 +VTS,1,1,840,7.99,CSH,22.5 +VTS,1,1,120,0.53,CSH,3.5 +VTS,1,1,840,2.44,CSH,11 +VTS,1,1,240,1.43,CRD,6 +VTS,1,1,180,1.2,CSH,5.5 +VTS,1,1,480,1.69,CSH,8.5 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,660,2.04,CSH,10 +VTS,1,1,840,2.35,CRD,12 +VTS,1,1,960,3,CSH,13.5 +VTS,1,1,840,3.82,CRD,13.5 +VTS,1,1,660,2.85,CRD,11.5 +VTS,1,1,360,0.87,CSH,6 +VTS,1,1,120,0.62,CRD,4 +VTS,1,1,960,8.08,CSH,24 +VTS,1,1,660,2.44,CSH,10.5 +VTS,1,1,1140,5.33,CSH,19.5 +VTS,1,1,300,0.85,CRD,5.5 +VTS,1,1,300,1.9,CRD,8 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,180,0.89,CSH,5 +VTS,1,1,780,2.26,CRD,11 +VTS,1,1,420,1.68,CSH,8 +VTS,1,1,300,1.1,CRD,6 +VTS,1,1,1380,18.06,CSH,48 +VTS,5,1,0,0,CRD,23 +VTS,1,1,660,2.75,CSH,11 +VTS,1,1,480,1.56,CRD,7.5 +VTS,1,1,180,0.89,CSH,5 +VTS,1,1,540,1.66,CRD,8 +VTS,1,1,1740,11.94,CRD,35.5 +VTS,1,1,540,1.03,CSH,7.5 +VTS,1,1,960,5.37,CRD,17.5 +VTS,1,1,1260,4.38,CRD,16 +VTS,1,1,600,1.56,CRD,9 +VTS,1,1,1920,16.05,CSH,46 +VTS,1,1,720,3.23,CRD,12.5 +VTS,1,1,720,3.93,CSH,13.5 +VTS,1,1,420,1.13,CSH,6.5 +VTS,1,1,360,1.04,CSH,6 +VTS,1,1,480,1.61,CSH,7.5 +VTS,1,1,1020,8.29,CRD,25 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,1,1620,5.91,CRD,23 +VTS,1,1,360,1.22,CSH,6.5 +VTS,1,1,240,1.64,CRD,6.5 +VTS,1,1,1380,2.08,CSH,14 +VTS,1,1,1020,1.65,CSH,11.5 +VTS,1,1,60,0.25,CSH,3 +VTS,1,1,660,2.35,CRD,10.5 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,600,2.08,CRD,10 +VTS,1,1,120,0.37,CRD,3.5 +VTS,1,1,120,0.5,CRD,4 +VTS,1,1,600,1.75,CSH,9 +VTS,1,1,600,2.25,CRD,9.5 +VTS,1,1,720,1.48,CRD,9 +VTS,1,1,1500,3.58,CRD,19 +VTS,1,1,1440,5.89,CRD,20.5 +VTS,1,1,360,0.82,CRD,6 +VTS,1,1,360,0.98,CRD,6 +VTS,1,1,120,0.37,CRD,3.5 +VTS,1,1,420,1.38,CRD,7 +VTS,5,1,0,0,CRD,40 +VTS,1,1,180,0.95,CSH,5 +VTS,1,1,180,0.98,CRD,4.5 +VTS,1,1,420,1.97,CSH,8 +VTS,1,1,1140,12.2,CRD,34.5 +VTS,2,1,2820,17.6,CSH,52 +VTS,1,1,660,2.87,CRD,11.5 +VTS,3,1,1620,18.33,CSH,67 +VTS,1,1,180,0.53,CSH,4.5 +VTS,1,1,360,0.79,CRD,6 +VTS,1,1,300,1.19,CRD,6.5 +VTS,1,1,420,1.98,CSH,7.5 +VTS,1,1,1260,9.6,CSH,29.5 +VTS,1,1,540,2.52,CSH,9.5 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,1,420,1.91,CSH,8 +VTS,1,1,420,2.04,CRD,8.5 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,180,0.52,CRD,4 +VTS,1,1,180,0.89,CRD,5 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,420,1.36,CRD,7 +VTS,1,1,1260,7.67,CSH,23 +VTS,1,1,1020,4.58,CSH,17.5 +VTS,1,1,540,1.39,CRD,8 +VTS,1,1,1200,5.95,CSH,20 +VTS,1,1,1320,10.54,CRD,31 +VTS,1,1,1020,7.8,CSH,24.5 +VTS,1,1,540,3.58,CSH,13 +VTS,1,1,420,2.19,CSH,9 +VTS,5,2,0,0,CSH,175 +VTS,1,1,420,2.48,CRD,9.5 +VTS,1,1,540,5.32,CRD,16.5 +VTS,1,1,480,1.31,CRD,7.5 +VTS,1,1,240,0.47,CSH,4.5 +VTS,5,3,0,0,CRD,4.5 +VTS,1,1,660,2.24,CRD,10 +VTS,1,1,480,2.31,CSH,8.5 +VTS,1,1,600,2.07,CSH,10 +VTS,5,1,0,0,CRD,40 +VTS,1,1,420,1.39,CSH,7 +VTS,1,1,180,0.88,CSH,5 +VTS,1,1,120,0.89,CSH,4.5 +VTS,1,1,240,1.19,CSH,5.5 +VTS,1,1,240,0.76,CRD,5 +VTS,1,1,600,1.89,CSH,8.5 +VTS,1,1,60,0.51,CSH,3.5 +VTS,1,1,600,0.95,CSH,7.5 +VTS,1,1,420,1.39,CSH,7 +VTS,1,1,120,0.61,CSH,4 +VTS,1,1,480,1.27,CSH,7.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,480,2.08,CSH,9 +VTS,1,1,240,0.63,CSH,5 +VTS,1,1,1380,7.37,CSH,25 +VTS,1,1,360,1.16,CSH,6.5 +VTS,1,1,360,2.11,CSH,8 +VTS,1,1,1080,2.38,CRD,12.5 +VTS,1,1,600,1.26,CSH,8 +VTS,1,1,720,3.98,CRD,13.5 +VTS,1,1,240,0.82,CSH,5.5 +VTS,1,1,240,0.57,CRD,4.5 +VTS,1,1,540,2.58,CRD,9.5 +VTS,1,1,720,4.08,CSH,14.5 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,420,1.16,CRD,6.5 +VTS,2,1,2040,19.55,CSH,52 +CMT,1,1,152,0.1,CSH,3.5 +CMT,1,1,585,2.5,CRD,10.5 +CMT,1,1,426,0.9,CSH,6 +CMT,1,1,1304,9.3,CSH,28.5 +CMT,1,1,153,0.5,CSH,4 +CMT,1,1,981,8.8,CRD,26 +CMT,1,1,1713,8.3,CSH,27 +CMT,1,1,537,3.8,CSH,13 +CMT,1,1,658,1.5,CRD,8.5 +CMT,1,1,433,1.4,CRD,7.5 +CMT,1,1,407,1,CSH,6.5 +CMT,1,1,222,0.9,CSH,5 +CMT,1,1,1534,10.2,CSH,31.5 +CMT,1,1,561,3.3,CSH,11 +VTS,1,1,540,2.68,CSH,10 +VTS,1,1,1140,2.79,CSH,14 +VTS,1,1,1200,6.32,CRD,22 +VTS,1,1,840,3.3,CSH,12.5 +VTS,1,1,120,0.66,CRD,4 +VTS,1,1,480,1.79,CRD,8 +VTS,1,1,900,4.34,CRD,15.5 +VTS,1,1,180,0.78,CSH,5 +VTS,1,1,180,1.16,CSH,5.5 +VTS,1,1,300,1.41,CSH,6.5 +VTS,1,1,720,1.44,CSH,9 +VTS,1,1,1020,4.86,CRD,17 +VTS,1,1,660,2.29,CSH,10.5 +VTS,1,1,120,0.79,CSH,4.5 +VTS,1,1,600,2.41,CSH,9.5 +VTS,1,1,780,8.02,CRD,23 +VTS,1,1,420,1.44,CSH,7.5 +VTS,1,1,1560,8.28,CSH,26.5 +VTS,1,1,360,1.63,CRD,7 +VTS,1,1,360,1.17,CRD,6.5 +VTS,1,1,540,3.12,CRD,11 +VTS,1,1,180,0.89,CRD,5 +VTS,1,1,1680,8.63,CRD,28 +VTS,2,1,1440,17.6,CRD,52 +VTS,1,1,1320,5.81,CRD,20.5 +VTS,1,1,300,1.21,CSH,6 +VTS,1,1,240,0.43,CSH,4 +VTS,1,1,840,2.36,CRD,10.5 +VTS,1,1,300,1.18,CRD,6 +VTS,1,1,60,0.11,CSH,3 +VTS,1,1,1020,2.65,CRD,13.5 +VTS,1,1,1200,3.07,CSH,15 +VTS,1,1,900,2.61,CRD,12 +VTS,1,1,300,1.16,CRD,6 +VTS,1,1,480,2.55,CRD,10 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,1,600,3.24,CSH,12 +VTS,1,1,1920,0.2,CSH,15 +VTS,1,1,540,2.64,CRD,9.5 +VTS,1,1,480,1.05,CSH,7 +VTS,1,1,780,2.62,CRD,11 +VTS,1,1,480,2.4,CSH,9.5 +VTS,1,1,180,1.6,CSH,6.5 +VTS,1,1,180,0.85,CSH,5 +VTS,1,1,660,1.49,CRD,9.5 +VTS,1,1,1020,2.62,CSH,11.5 +VTS,1,1,120,0.51,CRD,4 +VTS,1,1,1200,2.7,CSH,14.5 +VTS,1,1,300,1.53,CSH,6.5 +VTS,1,1,1620,9.94,CSH,32 +VTS,1,1,360,2.42,CRD,8.5 +VTS,1,1,840,3.05,CRD,13 +VTS,1,1,780,5.51,CRD,17.5 +VTS,1,1,360,0.8,CSH,6 +VTS,1,1,600,1.42,CRD,8.5 +VTS,1,1,660,3.57,CRD,12 +VTS,1,1,540,1.92,CRD,8.5 +VTS,1,1,600,1.81,CRD,9 +VTS,1,1,420,2.2,CRD,8.5 +VTS,1,1,540,1.9,CSH,9 +VTS,1,1,1560,6.03,CRD,22.5 +VTS,1,1,540,2.12,CRD,9 +VTS,1,1,1260,5.17,CSH,18.5 +VTS,1,1,420,2.01,CRD,8.5 +VTS,1,1,480,2.07,CRD,9 +VTS,1,1,660,2.4,CRD,10.5 +VTS,1,1,780,2.83,CRD,11.5 +VTS,1,1,840,2.51,CSH,12 +VTS,1,1,720,2.24,CSH,10.5 +VTS,1,1,660,1.31,CSH,8.5 +VTS,1,1,600,0.62,CSH,7.5 +VTS,1,1,180,0.32,CSH,4 +VTS,1,1,360,1.7,CSH,7.5 +VTS,1,1,60,0.32,CRD,3.5 +VTS,1,1,1560,11.02,CSH,33.5 +VTS,1,1,240,0.87,CSH,5 +VTS,1,1,300,0.74,CSH,5 +VTS,1,1,1740,8.01,CRD,27.5 +VTS,1,1,300,1.5,CRD,6.5 +VTS,1,1,960,5.14,CSH,17 +VTS,1,1,120,0.32,CSH,3.5 +VTS,1,1,420,1.72,CRD,8 +VTS,1,1,840,3.12,CRD,12.5 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,840,4.1,CSH,14.5 +VTS,1,1,180,0.73,CRD,5 +VTS,1,1,240,0.83,CSH,5.5 +VTS,1,1,1200,4.7,CSH,18.5 +VTS,1,1,1320,5,CRD,19 +VTS,1,1,300,1.59,CSH,6.5 +VTS,1,1,600,1.89,CRD,9 +VTS,1,1,180,0.36,CSH,4 +VTS,1,1,360,1.04,CSH,6 +VTS,1,1,540,1.29,CRD,7.5 +VTS,1,1,720,2.36,CRD,10.5 +VTS,1,1,600,5.16,CSH,16 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,1,780,4.8,CRD,16 +VTS,1,1,2160,4.03,CSH,26.5 +VTS,1,1,1020,11.93,CSH,32.5 +VTS,1,1,180,0.79,CSH,5 +VTS,1,1,960,5.8,CRD,18.5 +VTS,1,1,660,6.89,CSH,20 +VTS,1,2,360,1.11,CRD,6 +VTS,1,2,540,2.06,CSH,8.5 +VTS,1,2,960,3.27,CSH,13.5 +VTS,1,2,1020,3.07,CRD,13.5 +VTS,1,2,1020,3.27,CSH,14 +VTS,1,2,180,0.52,CRD,4.5 +VTS,1,2,660,2.47,CRD,10.5 +VTS,1,2,540,1.43,CSH,8 +VTS,1,2,360,1.18,CSH,6 +VTS,1,2,1020,2.92,CSH,13.5 +VTS,1,2,720,3.31,CSH,12 +VTS,2,2,2220,18.02,CSH,52 +VTS,1,2,120,0.41,CSH,3.5 +VTS,1,2,1140,2.03,CSH,13 +VTS,1,1,780,3.06,CRD,12.5 +VTS,1,1,1140,8.87,CRD,27 +VTS,1,1,240,1.51,CSH,6.5 +VTS,1,1,2040,15.84,CSH,45.5 +VTS,1,1,420,1.74,CRD,7.5 +VTS,1,1,1980,10.95,CRD,34 +VTS,1,1,1320,7.25,CRD,24 +VTS,1,1,1020,9.22,CRD,26.5 +VTS,1,1,540,2.04,CSH,9 +VTS,1,1,120,0.45,CSH,3.5 +VTS,1,1,600,3.68,CRD,12 +VTS,1,1,420,2.11,CSH,8.5 +VTS,1,1,540,2.68,CSH,10.5 +VTS,1,1,1680,5.72,CSH,23 +VTS,1,1,840,3.47,CSH,13.5 +VTS,1,1,900,1.92,CRD,12 +VTS,1,1,360,1.32,CRD,7 +VTS,1,1,1020,4.87,CRD,18 +VTS,1,1,180,0.84,CSH,4.5 +VTS,1,1,480,1.56,CSH,8 +VTS,1,1,660,2.21,CSH,10 +VTS,1,1,240,0.76,CRD,5 +VTS,1,1,1380,13.65,CRD,38.5 +VTS,1,2,180,0.45,CSH,4 +VTS,1,2,480,0.89,CRD,7.5 +VTS,1,2,420,1.42,CSH,7 +VTS,1,1,780,2.88,CRD,12 +VTS,5,2,360,0.02,CSH,225 +VTS,1,1,420,1.46,CRD,7.5 +VTS,1,1,540,1.06,CSH,7.5 +VTS,1,1,360,1,CSH,6.5 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,420,1.56,CRD,7.5 +VTS,1,1,1200,3.04,CRD,15.5 +VTS,1,1,1500,2.6,CRD,16 +VTS,1,1,240,1.15,CSH,5.5 +VTS,1,1,960,3.67,CRD,14.5 +VTS,1,1,420,2.7,CSH,9.5 +VTS,1,1,1320,7.11,CRD,23 +VTS,1,1,780,5.27,CSH,16 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,1440,6.91,CRD,24 +VTS,1,1,120,0.64,CSH,4 +VTS,1,1,1740,8.52,CSH,28 +VTS,1,1,600,2.32,CSH,9.5 +VTS,1,1,840,2.86,CRD,13 +VTS,1,1,120,0.14,CSH,3 +VTS,1,1,300,2.01,CSH,7.5 +VTS,1,1,2160,10.55,CRD,36 +VTS,1,1,780,2.81,CRD,11.5 +VTS,1,1,420,1.38,CRD,7 +VTS,1,1,420,1.11,CRD,7 +VTS,1,2,240,0.84,CSH,5 +VTS,1,2,900,3.09,CSH,12.5 +VTS,1,2,1080,3.68,CSH,15.5 +VTS,1,2,720,1.54,CSH,9.5 +VTS,1,1,1740,14.42,CRD,41 +VTS,1,1,540,2.49,CSH,9.5 +VTS,1,1,420,1.23,CRD,7 +VTS,1,1,1080,9.89,CRD,29 +VTS,1,1,900,3.29,CSH,13 +VTS,1,1,240,0.44,CSH,4.5 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,840,2.95,CSH,12.5 +VTS,1,1,420,1.99,CRD,8 +VTS,1,1,780,2.78,CSH,11.5 +VTS,1,1,360,1.35,CRD,7 +VTS,1,1,480,0.82,CSH,6.5 +VTS,1,1,780,2.4,CRD,12 +VTS,1,1,2580,8.22,CSH,30.5 +VTS,1,1,180,0.85,CRD,4.5 +VTS,1,1,600,1.96,CSH,9 +VTS,1,1,360,0.76,CRD,6 +VTS,1,1,300,0.93,CRD,6 +VTS,1,1,600,1.41,CRD,8 +VTS,1,1,600,1.46,CRD,8.5 +VTS,1,1,600,1.3,CSH,9 +VTS,1,1,600,1.79,CRD,8 +VTS,1,1,660,3.61,CRD,12.5 +VTS,1,1,1200,6.8,CRD,23 +VTS,1,1,480,2.65,CRD,10 +VTS,1,1,1020,3.32,CRD,14 +VTS,1,2,360,1.45,CSH,6.5 +VTS,1,2,900,2.38,CRD,10.5 +VTS,1,2,180,0.72,CSH,4.5 +VTS,1,2,660,1.69,CSH,9 +VTS,1,2,960,1.22,CSH,11 +VTS,1,2,780,2.28,CSH,10.5 +VTS,1,2,780,1.21,CRD,9.5 +VTS,1,1,540,1.92,CSH,9 +VTS,1,1,540,2.61,CRD,10 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,420,1,CRD,6.5 +VTS,1,1,660,3.18,CRD,11.5 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,960,2.3,CRD,12 +VTS,1,1,480,1.69,CRD,8 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,600,1.94,CRD,9.5 +VTS,1,1,660,0.88,CSH,8.5 +VTS,1,1,540,1.08,CSH,6.5 +VTS,1,1,720,1.32,CRD,9 +VTS,1,1,1200,1.63,CSH,9 +VTS,1,1,840,7.71,CRD,22 +VTS,1,1,480,1.9,CRD,8 +VTS,1,1,840,4.57,CRD,15.5 +VTS,1,1,960,3.27,CRD,14.5 +VTS,1,1,240,1.21,CSH,6 +VTS,1,1,300,2.4,CSH,8.5 +VTS,1,1,720,1.55,CSH,9.5 +VTS,1,1,600,1.44,CRD,8.5 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,360,1.07,CSH,6 +VTS,1,1,360,1.25,CRD,6 +VTS,5,1,0,0,CSH,80 +VTS,1,2,1140,3.36,CRD,14.5 +VTS,1,2,780,2.58,CRD,11.5 +VTS,1,2,180,0.57,CSH,4 +VTS,1,2,1140,2.75,CSH,14 +VTS,1,2,120,0.48,CRD,4 +VTS,1,2,600,1.63,CSH,8.5 +VTS,1,2,360,1.39,CSH,6.5 +VTS,1,2,780,2.33,CRD,10.5 +VTS,1,2,600,1.63,CSH,8.5 +VTS,1,1,300,1.76,CSH,7 +VTS,1,1,180,1.25,CSH,5.5 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,480,0.96,CRD,7 +VTS,1,1,720,0.77,CRD,9 +VTS,1,1,360,1.98,CSH,7.5 +VTS,1,1,420,0.97,CSH,6 +VTS,5,1,0,0,CRD,53 +VTS,1,1,240,1.25,CRD,6 +VTS,1,1,60,0.62,CSH,4 +VTS,1,1,540,1.11,CSH,7.5 +VTS,1,1,420,1.41,CRD,7 +VTS,1,1,480,2.36,CRD,9 +VTS,1,1,180,0.55,CRD,4.5 +VTS,1,1,420,1.97,CSH,8.5 +VTS,1,1,840,2.73,CRD,12 +VTS,1,1,720,2.53,CSH,10.5 +VTS,1,1,540,3.03,CSH,11 +VTS,1,1,780,3.96,CRD,14 +VTS,1,1,240,1,CRD,5.5 +VTS,1,1,720,3.71,CSH,14 +VTS,1,1,480,2.02,CRD,8.5 +VTS,1,1,720,3.02,CSH,12 +VTS,1,1,540,2.85,CSH,10.5 +VTS,1,1,900,4.83,CSH,16.5 +VTS,1,1,480,1.26,CSH,7.5 +VTS,1,1,240,1.27,CSH,6 +VTS,1,1,1020,9.76,CRD,28.5 +VTS,1,1,300,1.47,CRD,6.5 +VTS,1,1,180,1.16,CRD,5.5 +VTS,1,1,2340,8.62,CRD,31.5 +VTS,1,1,360,1.11,CSH,6.5 +VTS,1,1,240,1.13,CSH,6 +VTS,1,1,600,1.8,CSH,9 +VTS,1,1,1380,4.87,CRD,19 +VTS,1,1,720,2.62,CRD,11.5 +VTS,1,1,780,3.49,CRD,13 +VTS,1,1,1800,8.03,CSH,27.5 +VTS,1,1,780,5.51,CRD,17.5 +VTS,5,1,0,0,CRD,58 +VTS,1,1,480,1.72,CRD,7.5 +VTS,1,1,660,3.02,CRD,11.5 +VTS,1,1,840,2.34,CSH,10.5 +VTS,1,1,1500,8.34,CSH,27 +VTS,1,1,1080,6.09,CRD,19 +VTS,1,2,1620,10.31,CSH,32.5 +VTS,1,2,540,1.84,CSH,8.5 +VTS,1,2,3660,12.69,CSH,45 +VTS,1,2,120,0.68,CSH,4 +VTS,1,2,540,1.4,CSH,7.5 +VTS,2,2,2460,17.44,CSH,52 +VTS,1,2,360,1.16,CSH,6.5 +VTS,1,2,540,1.29,CSH,7.5 +VTS,1,2,360,0.98,CSH,6 +VTS,1,2,420,1.21,CRD,6.5 +VTS,1,1,600,3.71,CSH,12 +VTS,1,1,540,2.51,CSH,9.5 +VTS,1,1,1080,6.32,CRD,20 +VTS,1,1,480,1.71,CRD,8 +VTS,1,1,0,0.04,CSH,2.5 +VTS,1,1,780,1.8,CRD,10 +VTS,1,1,120,0.25,CSH,3 +VTS,1,1,540,2.83,CRD,11 +VTS,1,1,660,3.65,CRD,13 +VTS,1,1,840,3.06,CRD,12.5 +VTS,1,1,240,0.91,CRD,5 +VTS,1,1,120,0.3,CSH,3.5 +VTS,1,1,600,0.96,CRD,7.5 +VTS,1,1,180,0.86,CRD,4.5 +VTS,1,1,660,2.06,CRD,10.5 +VTS,1,1,900,6.15,CSH,19 +VTS,1,1,480,1.13,CSH,6.5 +VTS,1,1,420,0.93,CSH,6 +VTS,1,1,1380,9.79,CSH,29.5 +VTS,1,1,360,1.56,CSH,7.5 +VTS,1,1,420,1.5,CRD,7 +VTS,1,1,480,1.87,CRD,9 +VTS,1,1,240,0.99,CRD,5.5 +VTS,1,1,840,3.49,CRD,13.5 +VTS,1,1,480,1.39,CSH,7.5 +VTS,1,2,240,1.08,CSH,5.5 +VTS,1,2,540,2.08,CSH,9.5 +VTS,1,2,2880,13.35,CSH,46 +VTS,1,2,180,0.3,CSH,4 +VTS,1,2,480,1.81,CRD,8 +VTS,1,2,360,0.89,CRD,6 +VTS,1,2,660,2.05,CSH,9.5 +VTS,1,1,1080,4.26,CSH,16 +VTS,1,1,840,4.91,CSH,16 +VTS,1,1,780,3.82,CRD,14 +VTS,1,1,780,2,CSH,10.5 +VTS,1,1,540,1,CRD,7.5 +VTS,1,1,720,4.3,CRD,14 +VTS,1,1,1440,8.49,CSH,26.5 +VTS,1,1,420,1.41,CRD,7 +VTS,1,1,420,0.75,CSH,6.5 +VTS,1,1,480,1.88,CRD,8 +VTS,1,1,360,1.95,CRD,7.5 +VTS,1,1,360,0.95,CSH,6 +VTS,1,1,660,3.9,CSH,13.5 +VTS,1,1,540,1.62,CRD,8.5 +VTS,1,1,1020,7.93,CRD,23 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,480,1.24,CSH,7.5 +VTS,1,1,1020,6.13,CSH,20.5 +VTS,1,1,1740,6.75,CRD,25.5 +VTS,1,1,1920,12,CRD,36 +VTS,1,1,480,2.37,CRD,9 +VTS,1,1,840,3.23,CRD,13 +VTS,1,1,900,4.9,CRD,17 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,1,720,3.7,CSH,13.5 +VTS,1,1,420,2.18,CRD,8.5 +VTS,1,1,540,3.61,CRD,12.5 +VTS,1,1,780,2.96,CSH,12 +VTS,1,1,780,3.8,CRD,13.5 +VTS,1,1,660,3.53,CSH,12.5 +VTS,1,1,600,5.86,CSH,17.5 +VTS,1,1,780,4.05,CRD,14.5 +VTS,1,1,300,1.71,CSH,7 +VTS,1,2,300,1.01,CRD,6 +VTS,1,2,180,0.94,CSH,5 +VTS,1,2,240,0.89,CRD,5 +VTS,1,2,1020,2.4,CSH,13 +VTS,1,2,1080,3.09,CSH,14.5 +VTS,1,2,420,1.37,CRD,7 +VTS,1,1,360,1.54,CSH,7 +VTS,1,1,600,3.92,CSH,12.5 +VTS,1,1,420,1.41,CRD,7 +VTS,1,1,360,1.75,CRD,7.5 +VTS,1,1,360,1.61,CRD,7 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,1,180,0.33,CSH,4 +VTS,1,1,240,0.93,CRD,5 +VTS,1,1,660,1.83,CSH,9.5 +VTS,1,1,840,2.96,CSH,12 +VTS,1,1,660,2.27,CRD,10 +VTS,1,1,660,1.22,CSH,8.5 +VTS,1,1,660,1.47,CRD,8.5 +VTS,1,1,540,1.25,CSH,8 +VTS,1,1,180,0.36,CSH,4 +VTS,1,1,420,1.2,CSH,6.5 +VTS,1,1,360,1.03,CRD,6 +VTS,1,1,600,1.73,CRD,9 +VTS,1,1,480,1.74,CRD,8 +VTS,1,1,60,0.41,CSH,3.5 +VTS,1,1,3300,18.69,CRD,56.5 +VTS,1,1,1020,3.36,CSH,14 +VTS,1,1,720,2.02,CRD,10 +VTS,1,1,1080,9.51,CRD,26.5 +VTS,1,1,600,0.76,CRD,8 +VTS,1,1,1260,2.77,CSH,15 +VTS,1,1,1140,2.88,CRD,14 +VTS,1,1,1500,1.07,CSH,9 +VTS,1,1,1200,2.75,CSH,14.5 +VTS,1,1,420,1.14,CSH,7 +VTS,1,1,1620,4.39,CRD,20 +VTS,1,1,840,2.04,CRD,11 +VTS,1,1,1200,2,CRD,13.5 +VTS,1,1,660,0.74,CRD,8 +VTS,1,1,600,1.19,CSH,8.5 +VTS,1,1,120,0.24,CSH,3 +VTS,1,1,1020,4.71,CSH,17.5 +VTS,1,1,600,2.92,CRD,11.5 +VTS,1,1,120,0.71,CSH,4 +VTS,1,1,480,0.96,CRD,7 +VTS,1,1,60,0.09,CSH,2.5 +VTS,1,1,300,0.85,CRD,6 +VTS,1,1,600,2.02,CSH,9 +VTS,1,1,540,0.99,CSH,7.5 +VTS,1,1,360,0.84,CSH,6 +VTS,1,1,600,0.92,CRD,7.5 +VTS,1,1,420,0.79,CRD,6.5 +VTS,1,1,900,2.44,CSH,12 +VTS,1,1,1320,6.3,CRD,21.5 +VTS,1,1,1020,1.77,CSH,11.5 +VTS,1,1,840,1.48,CSH,10 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,240,0.56,CRD,5 +VTS,1,1,1200,2.54,CRD,14 +VTS,1,1,360,1.16,CRD,6.5 +VTS,1,1,960,2.49,CRD,12.5 +VTS,1,1,900,4.22,CSH,14 +VTS,1,1,480,1.16,CRD,7 +VTS,1,1,840,1.71,CSH,8.5 +VTS,1,1,360,0.55,CSH,5.5 +VTS,1,1,840,1.79,CSH,10.5 +VTS,1,1,600,2.73,CRD,11.5 +VTS,1,1,660,1.65,CRD,8.5 +VTS,1,1,1440,7.32,CRD,24.5 +VTS,1,1,900,4.52,CRD,16 +VTS,1,1,300,0.75,CRD,6 +VTS,1,1,600,1.46,CSH,8.5 +VTS,1,1,1080,3.14,CRD,15 +VTS,1,1,240,0.77,CRD,5.5 +VTS,1,1,1200,2.2,CRD,14 +VTS,1,1,360,0.81,CRD,5.5 +VTS,1,1,420,0.58,CSH,6 +VTS,1,1,300,1.01,CSH,5.5 +VTS,1,1,420,1,CSH,6 +VTS,1,1,720,2.16,CSH,10 +VTS,1,1,600,1.85,CSH,9 +VTS,1,1,660,1.49,CRD,7.5 +VTS,1,1,540,1.28,CSH,7.5 +VTS,1,1,240,0.78,CRD,5 +VTS,1,1,300,1.03,CSH,5.5 +VTS,1,1,1380,8.74,CSH,27.5 +VTS,1,1,480,1.49,CSH,7.5 +VTS,1,1,900,2.08,CRD,11.5 +VTS,1,1,1380,7.89,CRD,25.5 +VTS,1,1,480,1.33,CSH,7.5 +VTS,1,1,540,1.43,CRD,7.5 +VTS,1,1,1080,3.37,CSH,15 +VTS,1,1,720,2.86,CSH,12 +VTS,2,1,3060,17.13,CRD,52 +VTS,2,1,2460,17.29,CRD,52 +VTS,1,1,1500,3.87,CSH,18.5 +VTS,1,1,960,2.54,CRD,12 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,1380,4.59,CSH,18 +VTS,1,1,660,2.06,CRD,9.5 +VTS,1,1,360,0.84,CRD,5.5 +VTS,1,1,660,0.82,CRD,8 +VTS,1,1,120,0.74,CSH,4 +VTS,1,1,600,0.87,CRD,7.5 +VTS,1,1,60,0.11,CSH,3 +VTS,1,1,1020,1.81,CRD,12 +VTS,1,1,660,2.71,CRD,11 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,540,1.02,CSH,7 +VTS,1,1,300,1,CSH,6 +VTS,1,1,720,1.95,CSH,10 +VTS,1,1,780,3.15,CSH,12.5 +VTS,1,1,600,1.32,CRD,8.5 +VTS,1,1,420,0.53,CSH,6 +VTS,1,1,480,1.39,CRD,7.5 +VTS,1,1,1020,4.59,CRD,17 +VTS,1,1,480,1.07,CSH,7 +VTS,1,1,1320,3.74,CRD,16.5 +VTS,1,1,1500,8.98,CRD,28 +VTS,1,1,2340,6.71,CRD,29.5 +VTS,1,1,300,1.23,CSH,6 +VTS,1,1,360,0.62,CRD,5.5 +VTS,1,1,420,0.28,CRD,6 +VTS,1,2,360,1.2,CSH,6 +VTS,1,2,420,0.85,CRD,6.5 +VTS,1,1,1080,9.35,CSH,27.5 +VTS,1,1,600,2.85,CSH,10.5 +VTS,1,1,300,1.24,CSH,6.5 +VTS,1,1,180,0.85,CSH,4.5 +VTS,1,1,360,1.05,CRD,6 +VTS,1,1,720,2.09,CSH,10 +VTS,1,1,360,0.43,CSH,5 +VTS,1,1,720,2.51,CRD,11 +VTS,1,1,480,1.4,CRD,7 +VTS,1,1,840,1.19,CSH,10 +VTS,1,1,900,3.11,CSH,13 +VTS,1,1,1500,9.02,CRD,29 +VTS,1,1,480,0.61,CSH,6.5 +VTS,1,1,540,1.58,CRD,8.5 +VTS,1,1,1260,3.48,CSH,16 +VTS,1,1,900,1.6,CSH,10.5 +VTS,1,1,480,1.21,CRD,7.5 +VTS,1,1,180,0.86,CSH,4.5 +VTS,1,1,240,0.63,CRD,4.5 +VTS,1,1,360,1.48,CSH,6.5 +VTS,1,1,660,1.68,CRD,8.5 +VTS,1,1,900,2.35,CRD,12.5 +VTS,1,1,360,1.36,CSH,6.5 +VTS,1,1,60,0.15,CSH,2.5 +VTS,1,1,360,1.23,CSH,6.5 +VTS,1,1,1140,8.43,CSH,24.5 +VTS,2,1,1860,18.13,CRD,52 +VTS,1,1,300,1.27,CRD,6 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,1680,12.83,CSH,38.5 +VTS,1,1,720,1.97,CRD,10 +VTS,1,1,540,2.15,CRD,9 +VTS,1,1,420,0.69,CSH,6 +VTS,1,1,780,1.04,CSH,9.5 +VTS,1,1,420,2.38,CRD,9.5 +VTS,1,1,780,1.96,CRD,10.5 +VTS,1,1,540,2.67,CSH,10.5 +VTS,1,1,180,0.39,CSH,4 +VTS,1,1,300,1.45,CRD,6.5 +VTS,1,1,180,0.77,CRD,4.5 +VTS,1,1,540,2.01,CSH,9 +VTS,1,1,960,4.03,CRD,15 +VTS,1,1,480,3.01,CRD,10.5 +VTS,1,1,180,0.58,CRD,4.5 +VTS,1,1,1200,5.2,CRD,19.5 +VTS,1,1,360,0.82,CSH,6 +VTS,1,1,1680,8.68,CSH,28.5 +VTS,1,1,1320,9.95,CSH,29 +VTS,1,1,420,1.35,CSH,7 +VTS,5,1,0,0,CRD,60 +VTS,1,1,420,2.35,CSH,8.5 +VTS,1,1,2160,10.62,CSH,34.5 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,1,420,1.73,CRD,8 +VTS,1,1,540,2.55,CRD,10 +VTS,1,1,1140,6.9,CRD,22.5 +VTS,1,1,960,2.81,CRD,13 +VTS,1,1,480,1.83,CSH,8 +VTS,1,1,300,0.69,CRD,5.5 +VTS,1,1,600,0.99,CRD,7.5 +VTS,1,1,240,0.4,CRD,4.5 +VTS,1,1,300,0.66,CRD,4.5 +VTS,1,1,360,1.24,CRD,7 +VTS,1,1,300,0.58,CSH,5.5 +VTS,1,1,360,0.79,CSH,6 +VTS,1,1,840,3.53,CRD,13 +VTS,1,1,840,1.14,CRD,10 +VTS,1,1,1380,5.12,CSH,20 +VTS,1,1,1200,9.69,CSH,28 +VTS,1,1,180,0.48,CRD,4 +VTS,1,1,360,1.41,CRD,7 +VTS,1,1,360,1.06,CRD,6 +VTS,1,1,720,1.62,CSH,9.5 +VTS,1,1,600,1.76,CRD,8.5 +VTS,1,1,660,2.48,CRD,10.5 +VTS,1,1,300,1.09,CSH,5.5 +VTS,1,1,960,1.47,CRD,11 +VTS,1,1,180,0.47,CSH,4.5 +VTS,1,1,900,1.43,CSH,10 +VTS,1,1,1440,3.13,CRD,17.5 +VTS,1,1,360,1.16,CRD,6.5 +VTS,1,1,840,2.31,CRD,11 +VTS,1,1,1080,2.07,CRD,13 +VTS,1,1,1260,8.93,CRD,26 +VTS,1,1,1620,4.58,CRD,20 +VTS,1,1,540,1.42,CRD,8.5 +VTS,1,1,960,1.69,CRD,11 +VTS,1,1,2220,10.03,CRD,34.5 +VTS,1,1,480,0.84,CRD,7 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,1320,2.84,CRD,15 +VTS,1,1,1020,2.6,CSH,13 +VTS,1,1,960,2.88,CSH,13 +VTS,1,1,720,2.1,CRD,10 +VTS,1,1,1140,3.55,CRD,15 +VTS,1,1,840,1.22,CRD,10 +VTS,1,1,540,1.48,CSH,8 +VTS,1,1,660,2.23,CRD,10 +VTS,1,1,1020,2.07,CSH,12 +VTS,1,1,1560,4.34,CRD,19 +VTS,1,1,900,2.74,CRD,12.5 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,960,2.49,CRD,13 +VTS,1,1,120,0.46,CRD,3.5 +VTS,1,1,1020,3.21,CSH,14.5 +VTS,1,1,960,1.43,CRD,11 +VTS,1,1,720,3.58,CRD,13 +VTS,1,1,600,2.57,CSH,11 +VTS,1,1,360,1.29,CSH,6.5 +VTS,1,1,240,1.01,CSH,5.5 +VTS,1,1,1260,5.38,CRD,20.5 +VTS,1,1,60,0.35,CSH,3 +VTS,1,1,1020,3.54,CRD,14 +VTS,1,1,780,4.02,CRD,13.5 +VTS,1,1,120,0.63,CSH,4 +VTS,1,1,1800,13.98,CSH,40.5 +VTS,1,2,540,1.62,CRD,7.5 +VTS,1,2,480,2.18,CSH,9 +VTS,1,2,720,3.36,CRD,12 +VTS,1,2,480,1.43,CSH,7.5 +VTS,1,2,420,0.75,CRD,6.5 +VTS,1,2,780,1.11,CSH,9.5 +VTS,1,2,420,1.18,CRD,6.5 +VTS,1,1,300,1.26,CSH,6 +VTS,1,1,540,2.33,CRD,9.5 +VTS,1,1,600,1.82,CRD,9.5 +VTS,1,1,480,1.69,CRD,8 +VTS,1,1,480,1.48,CSH,7 +VTS,1,1,540,1.52,CSH,8.5 +VTS,1,1,1020,1.58,CRD,12 +VTS,1,1,420,0.97,CSH,6.5 +VTS,1,1,480,1.25,CSH,7 +VTS,1,1,960,5.11,CSH,17.5 +VTS,1,1,540,0.98,CRD,7.5 +VTS,1,1,960,6.75,CSH,21 +VTS,1,1,600,2.12,CSH,9.5 +VTS,1,1,420,0.95,CSH,6.5 +VTS,1,1,420,1.54,CSH,7.5 +VTS,1,1,660,0.94,CSH,8 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,600,3.05,CSH,11 +VTS,1,1,180,0.46,CRD,4 +VTS,1,1,480,0.95,CRD,7 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,240,0.44,CRD,4.5 +VTS,1,1,600,1.48,CRD,8.5 +VTS,1,1,180,0.4,CSH,4 +VTS,1,1,480,0.94,CRD,7 +VTS,1,1,960,1.81,CSH,11.5 +VTS,1,1,840,0.67,CRD,9.5 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,660,2.01,CRD,9.5 +VTS,1,1,120,0.54,CSH,3.5 +VTS,1,1,420,1.34,CSH,7 +VTS,1,1,2520,7.95,CSH,32 +VTS,1,1,780,2.08,CSH,11 +VTS,1,1,1260,3.35,CRD,15.5 +VTS,1,1,420,0.73,CRD,6 +VTS,1,1,300,0.57,CRD,5.5 +VTS,1,1,2100,13.45,CSH,40.5 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,300,1.67,CSH,7 +VTS,1,2,0,0,CSH,2.5 +VTS,1,1,480,1.89,CSH,8 +VTS,1,1,420,0.78,CRD,6.5 +VTS,1,1,840,4.1,CRD,16 +VTS,1,1,720,1.77,CSH,10.5 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,540,1.34,CSH,7.5 +VTS,1,1,420,1.46,CRD,7 +VTS,1,1,780,0.97,CSH,9 +VTS,1,1,840,2.43,CRD,12 +VTS,1,1,840,2.47,CRD,12 +VTS,1,1,420,0.9,CSH,6.5 +VTS,1,1,240,0.8,CSH,5.5 +VTS,1,1,1140,4.13,CRD,16.5 +VTS,1,1,480,1.13,CRD,7.5 +VTS,1,1,420,1.01,CSH,7 +VTS,1,1,840,1.08,CRD,10 +VTS,1,1,300,0.65,CSH,5 +VTS,1,1,1440,4.06,CSH,18.5 +VTS,1,1,1200,1.72,CRD,12.5 +VTS,1,1,600,1.12,CSH,8 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,720,1.55,CRD,9.5 +VTS,1,1,240,1.14,CSH,5.5 +VTS,1,1,540,1.92,CSH,8.5 +VTS,1,1,600,1.85,CRD,8.5 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,360,1.13,CRD,6.5 +VTS,1,1,480,0.76,CSH,6.5 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,1440,3.11,CSH,16 +VTS,1,1,540,1.14,CRD,7.5 +VTS,1,1,660,1.48,CRD,9 +VTS,1,1,840,0.78,CRD,10 +VTS,1,1,960,2.95,CRD,12.5 +VTS,1,1,1860,9.53,CRD,31 +VTS,1,1,360,1.2,CSH,6.5 +VTS,1,1,1020,1.2,CRD,11 +VTS,1,1,420,1.37,CSH,7 +VTS,1,1,960,1.78,CRD,11.5 +VTS,1,1,780,3.62,CRD,12.5 +VTS,1,1,1320,1.81,CSH,14 +VTS,1,1,360,1.63,CSH,7 +VTS,1,1,780,2.75,CSH,11.5 +VTS,1,1,2460,9.24,CSH,36 +VTS,1,1,1020,2.03,CRD,12.5 +VTS,1,1,1080,5.97,CSH,18.5 +VTS,1,1,780,1.15,CRD,9.5 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,840,5.72,CRD,18 +VTS,1,1,660,1.01,CRD,8 +VTS,2,1,2280,17.4,CSH,52 +VTS,1,1,240,0.93,CSH,5 +VTS,1,1,960,3.08,CRD,13 +VTS,1,1,720,5.33,CSH,17 +VTS,1,1,600,1.67,CRD,8.5 +VTS,1,1,960,3.07,CRD,13 +VTS,1,1,720,2.35,CRD,10.5 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,300,0.76,CSH,5.5 +VTS,1,1,840,1.27,CRD,10 +VTS,1,1,540,1.68,CRD,8.5 +VTS,1,1,1200,2.02,CSH,14 +VTS,1,1,900,1.98,CRD,11 +VTS,1,1,660,1.58,CSH,9 +VTS,1,1,1200,5.26,CSH,19 +VTS,1,1,600,1.33,CSH,8.5 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,1680,8.66,CRD,29 +VTS,1,2,1260,3.56,CRD,17 +VTS,1,1,360,1.57,CRD,7.5 +VTS,1,1,600,1.83,CRD,9 +VTS,1,1,180,0.63,CRD,4 +VTS,1,1,180,0.4,CSH,4 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,240,0.89,CSH,6 +VTS,1,1,540,1.56,CRD,8.5 +VTS,1,1,1560,8.85,CSH,28.5 +VTS,1,1,1020,2.64,CSH,13 +VTS,1,1,540,0.69,CSH,7 +VTS,1,1,960,1.39,CRD,11.5 +VTS,1,1,480,1.42,CSH,7.5 +VTS,1,1,720,2.09,CRD,10.5 +VTS,1,1,120,0.71,CSH,4 +VTS,1,1,720,1.43,CRD,9.5 +VTS,1,1,840,1.44,CRD,10 +VTS,1,1,660,1.94,CRD,10 +VTS,1,1,600,2.2,CSH,9.5 +VTS,1,1,660,1.71,CSH,9.5 +VTS,1,1,240,1.09,CSH,5.5 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,720,1,CSH,8 +VTS,1,1,1800,7.49,CSH,27.5 +VTS,1,1,1260,2.37,CRD,14 +VTS,1,1,120,0.8,CRD,4.5 +VTS,1,1,240,0.7,CSH,4.5 +VTS,1,1,1140,1.63,CRD,12.5 +VTS,1,1,660,4.73,CRD,15.5 +VTS,1,1,360,0.92,CRD,6 +VTS,1,1,1080,3.11,CRD,14 +VTS,1,1,420,1.43,CRD,7 +VTS,1,1,360,0.95,CRD,6 +VTS,1,1,840,1.8,CRD,10.5 +VTS,1,1,720,1.55,CSH,9.5 +VTS,2,1,2880,16.09,CRD,52 +VTS,1,1,480,0.8,CRD,6.5 +VTS,1,1,1560,4.82,CRD,21 +VTS,1,1,540,1.34,CSH,8 +VTS,1,1,1200,2.55,CSH,14 +VTS,1,1,540,1.59,CSH,8 +VTS,1,1,660,2.1,CRD,10.5 +VTS,1,1,600,2.44,CRD,10 +VTS,1,1,540,1.39,CSH,8 +VTS,1,1,660,1.35,CSH,8.5 +VTS,1,1,300,1.37,CSH,6.5 +VTS,1,1,180,0.45,CSH,4 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,1,600,2.21,CRD,10 +VTS,1,1,120,0.52,CSH,4 +VTS,1,1,780,2.12,CRD,10.5 +VTS,1,1,780,3.22,CSH,12.5 +VTS,1,1,1560,8.35,CRD,27 +VTS,1,1,480,1.64,CRD,8 +VTS,1,1,180,0.29,CSH,3.5 +VTS,1,1,720,1.24,CRD,9 +VTS,1,1,420,1.13,CRD,6.5 +VTS,1,1,1020,4.13,CRD,16 +VTS,1,1,420,0.93,CSH,6.5 +VTS,1,1,420,0.98,CSH,6 +VTS,1,1,1020,1.61,CSH,12 +VTS,1,1,720,1.74,CSH,10 +VTS,1,1,1140,5.11,CRD,19 +VTS,1,1,720,1.25,CRD,9 +VTS,1,1,600,2,CSH,9 +VTS,1,1,780,1.77,CSH,10 +VTS,1,1,420,1.2,CSH,6.5 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,600,1.26,CSH,7.5 +VTS,1,1,1140,3.18,CRD,14.5 +VTS,5,1,0,0,CRD,7 +VTS,1,1,120,0.47,CSH,3.5 +VTS,1,1,1140,1.02,CSH,12 +VTS,1,1,2400,12.24,CRD,40.5 +VTS,1,1,180,0.53,CSH,4 +VTS,1,1,360,0.97,CRD,6 +VTS,1,1,1140,4.22,CSH,15 +VTS,1,1,120,0.58,CSH,4 +VTS,1,1,1200,2.94,CSH,14.5 +VTS,1,1,420,1.34,CSH,7 +VTS,1,1,660,0.98,CSH,8 +VTS,1,1,780,1.27,CSH,9.5 +VTS,1,1,480,0.86,CSH,7 +VTS,1,1,1440,4.55,CSH,19 +VTS,1,1,0,0,CSH,2.5 +VTS,3,1,60,0,CSH,20 +VTS,1,1,180,1.08,CRD,5.5 +VTS,1,1,840,4.01,CRD,14 +VTS,1,1,420,0.75,CRD,6 +VTS,1,1,1020,3.64,CSH,14 +VTS,1,1,840,4.35,CRD,15 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,1680,6.47,CSH,24 +VTS,1,1,360,0.86,CSH,5.5 +VTS,1,1,420,0.83,CSH,6.5 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,540,1.78,CSH,8.5 +VTS,1,1,480,1.19,CRD,7 +VTS,1,1,1260,5.38,CSH,19.5 +VTS,1,1,480,0.93,CRD,6.5 +VTS,1,1,660,1.08,CSH,8.5 +VTS,1,1,660,1.81,CRD,9 +VTS,1,1,720,2.98,CRD,12 +VTS,1,1,600,0.74,CRD,7.5 +VTS,1,1,720,2,CSH,10 +VTS,1,1,240,0.65,CSH,5 +VTS,1,1,720,3.59,CRD,13.5 +VTS,1,1,300,0.59,CRD,5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,1020,2.55,CRD,13 +VTS,1,1,240,0.32,CSH,4.5 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,660,1.23,CSH,8.5 +VTS,1,1,480,0.66,CRD,6.5 +VTS,1,1,720,2.37,CSH,10.5 +VTS,1,1,840,3.53,CRD,13.5 +VTS,1,1,660,1.13,CRD,8.5 +VTS,1,1,660,2.38,CSH,10 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,480,1.61,CSH,7 +VTS,1,1,180,0.58,CSH,4 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,1860,13.84,CSH,40.5 +VTS,1,1,300,0.64,CSH,5 +VTS,1,1,1380,9.46,CRD,29.5 +VTS,1,1,1260,3.89,CSH,17 +VTS,1,1,960,1.25,CRD,10.5 +VTS,1,1,480,1.84,CSH,8 +VTS,1,1,1440,3.97,CRD,18 +VTS,1,1,900,3.3,CSH,13 +VTS,1,1,600,2.7,CSH,10 +VTS,1,1,480,1.45,CRD,7.5 +VTS,1,1,600,1,CSH,8 +VTS,1,1,660,2.25,CRD,10.5 +VTS,1,1,300,0.79,CSH,5.5 +VTS,1,1,540,2.53,CSH,9.5 +VTS,1,1,1140,3.55,CSH,15 +VTS,1,1,300,1.25,CRD,6 +VTS,1,1,600,2.29,CRD,9.5 +VTS,1,1,1320,10.16,CSH,30.5 +VTS,1,1,360,0.97,CSH,6 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,540,1.03,CRD,7 +VTS,1,1,780,2.11,CRD,11 +VTS,1,1,1020,2.38,CRD,12.5 +VTS,1,1,1320,8.72,CRD,27 +VTS,1,1,480,2.04,CRD,8.5 +VTS,1,1,720,1.88,CSH,9.5 +VTS,1,1,1080,1.8,CRD,12.5 +VTS,1,1,660,2.41,CRD,10 +VTS,1,1,420,1.03,CRD,6.5 +VTS,1,1,480,1.34,CSH,7.5 +VTS,1,1,660,1.23,CRD,8.5 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,1,1560,3.41,CSH,17.5 +VTS,1,1,120,0.48,CSH,4 +VTS,1,1,360,0.65,CSH,5.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,540,2,CSH,9.5 +VTS,1,1,780,1.71,CRD,10.5 +VTS,1,1,360,0.7,CSH,5.5 +VTS,1,1,780,2.03,CSH,10 +VTS,1,1,1440,4.49,CSH,19.5 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,1080,1.67,CRD,12 +VTS,1,1,540,0.91,CRD,7.5 +VTS,1,1,660,3.2,CRD,12.5 +VTS,1,1,1080,3.1,CSH,14.5 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,960,3.4,CRD,14 +VTS,1,1,960,2.85,CRD,13 +VTS,1,1,360,0.75,CRD,5.5 +VTS,1,1,180,0.39,CSH,4 +VTS,1,1,2220,6.13,CRD,26 +VTS,1,1,300,0.68,CSH,5 +VTS,1,1,960,1.36,CRD,10.5 +VTS,1,1,720,1.29,CSH,9.5 +VTS,1,1,660,1.64,CRD,8.5 +VTS,1,1,1140,3.68,CSH,15 +VTS,1,1,720,1.56,CRD,9.5 +VTS,1,1,600,3.62,CSH,12 +VTS,1,1,360,1.05,CRD,6.5 +VTS,1,1,780,2.96,CSH,12.5 +VTS,1,1,780,2.45,CRD,11.5 +VTS,1,1,540,1.03,CRD,7.5 +VTS,1,1,480,0.67,CSH,6.5 +VTS,1,1,780,2.83,CRD,11.5 +VTS,1,1,300,0.65,CSH,5 +VTS,1,1,480,1.11,CRD,7 +VTS,1,1,1140,8.8,CRD,26.5 +VTS,1,1,360,0.93,CRD,6 +VTS,1,1,1020,6.08,CRD,19.5 +VTS,1,1,1440,3.46,CRD,16.5 +VTS,1,1,480,0.72,CRD,6 +VTS,1,1,720,1.52,CSH,9.5 +VTS,1,1,780,3.27,CSH,12.5 +VTS,1,1,300,1.31,CSH,6 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,1200,7.59,CRD,24 +VTS,1,1,1380,4.26,CSH,18 +VTS,1,1,780,2.41,CSH,10.5 +VTS,1,1,360,0.93,CSH,5.5 +VTS,1,1,780,1.74,CRD,10.5 +VTS,1,1,720,1.87,CSH,10 +VTS,1,1,1320,2.94,CSH,15.5 +VTS,1,1,180,0.59,CSH,4 +VTS,1,1,240,0.95,CSH,5 +VTS,1,1,600,1.09,CRD,7.5 +VTS,1,1,900,1.6,CSH,10.5 +VTS,1,1,2400,8.99,CSH,34 +VTS,1,1,240,1.07,CSH,5.5 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,480,1.07,CSH,7 +VTS,1,1,1020,1.23,CRD,11.5 +VTS,1,1,420,1.21,CSH,7 +VTS,1,1,720,2.31,CRD,11 +VTS,1,1,540,1.48,CRD,8 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,1,600,1.97,CRD,9.5 +VTS,1,1,1020,1.46,CRD,11 +VTS,1,1,660,1.18,CRD,8 +VTS,1,1,1080,5.31,CRD,18 +VTS,1,1,1020,3.14,CRD,13.5 +VTS,1,1,480,2.22,CSH,9.5 +VTS,1,1,840,3.81,CRD,15 +VTS,1,1,1260,7.51,CRD,25 +VTS,1,1,2100,11.67,CSH,39 +VTS,1,1,840,3.38,CRD,13 +VTS,1,1,300,0.18,CSH,4.5 +VTS,1,1,960,3.37,CRD,15 +VTS,1,1,540,1.23,CRD,7.5 +VTS,1,1,600,1.5,CSH,8 +VTS,1,1,300,0.39,CRD,5 +VTS,1,1,420,1.12,CSH,6.5 +VTS,1,1,2220,4.64,CSH,24.5 +VTS,1,1,1080,2.37,CRD,12.5 +VTS,1,1,1500,2.48,CSH,16 +VTS,1,1,180,0.43,CRD,4 +VTS,1,1,360,0.81,CSH,6 +VTS,1,1,480,0.98,CSH,7.5 +VTS,1,1,540,1.61,CRD,8.5 +VTS,1,1,1200,5.6,CSH,19 +VTS,1,1,960,5.11,CRD,18 +VTS,1,1,1080,1.49,CSH,11.5 +VTS,1,1,720,3.52,CRD,13.5 +VTS,1,1,480,1.66,CRD,8 +VTS,1,1,960,2.28,CSH,12.5 +VTS,1,1,120,0.31,CSH,3.5 +VTS,1,1,960,1.69,CRD,11 +VTS,1,1,300,0.68,CSH,5 +VTS,1,1,960,2.89,CSH,13 +VTS,1,1,720,1.32,CSH,9 +VTS,1,1,1680,6.36,CRD,24.5 +VTS,1,1,720,2.55,CSH,11.5 +VTS,1,1,1260,8.28,CRD,26.5 +VTS,1,1,900,2.74,CSH,13 +VTS,1,1,780,0.69,CSH,9 +VTS,1,1,1380,2.85,CRD,16 +VTS,1,1,420,1,CSH,6.5 +VTS,1,1,600,0.49,CRD,7.5 +VTS,1,1,1020,1.93,CRD,12 +VTS,1,1,60,0.12,CSH,2.5 +VTS,1,1,300,0.62,CSH,5 +VTS,1,1,660,1.68,CRD,9.5 +VTS,1,1,840,2.27,CRD,11.5 +VTS,1,1,1380,3.59,CRD,16 +VTS,1,1,960,1.29,CSH,11 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,720,0.74,CRD,8.5 +VTS,1,1,1320,3.32,CSH,16.5 +VTS,1,1,960,3.5,CSH,15 +VTS,1,1,420,1.56,CRD,8 +VTS,1,1,1260,6.38,CSH,22 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,720,2.07,CRD,10 +VTS,1,1,480,1.05,CRD,7 +VTS,1,1,1020,2.16,CSH,12.5 +VTS,1,1,2460,10.89,CRD,37 +VTS,1,1,600,1.42,CSH,8.5 +VTS,1,1,2400,8.96,CRD,32 +VTS,1,1,660,1.51,CRD,9 +VTS,2,1,3780,18.97,CRD,52 +VTS,1,1,660,1.26,CSH,8.5 +VTS,1,1,720,2.62,CSH,11.5 +VTS,1,1,180,0.44,CSH,4 +VTS,1,1,960,1.76,CSH,11.5 +VTS,1,1,960,4.09,CSH,15 +VTS,1,1,660,1.64,CRD,9 +VTS,1,1,780,2.45,CRD,11.5 +VTS,1,1,300,1.24,CSH,6.5 +VTS,1,1,2160,8.22,CRD,31 +VTS,1,1,480,2,CRD,8.5 +VTS,1,1,840,1.34,CSH,9.5 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,720,3.18,CRD,12 +VTS,1,1,360,1.55,CSH,7.5 +VTS,1,1,420,1.18,CRD,7 +VTS,1,1,540,0.59,CSH,6.5 +VTS,1,1,1020,2.14,CSH,12.5 +VTS,1,1,720,1.61,CRD,10 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,1320,1.34,CSH,13.5 +VTS,2,1,2160,19.36,CRD,52 +VTS,1,1,1800,3.3,CSH,21 +VTS,1,1,540,0.94,CRD,7.5 +VTS,1,1,600,0.89,CSH,7.5 +VTS,1,1,720,1.94,CSH,10 +VTS,1,1,600,1.5,CSH,8 +VTS,1,1,1500,14.1,CSH,39 +VTS,1,1,1380,7.31,CSH,25.5 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,120,0.44,CSH,4 +VTS,1,1,660,1.21,CRD,9 +VTS,1,1,1500,3.15,CRD,17 +VTS,1,1,900,2.58,CRD,12.5 +VTS,1,1,660,1.21,CRD,8.5 +VTS,1,1,600,3.02,CRD,11 +VTS,1,1,780,1.56,CSH,9.5 +VTS,1,1,360,1.91,CRD,8 +VTS,1,1,1020,3.87,CSH,15 +VTS,1,1,180,0.37,CSH,4 +VTS,1,1,420,1.12,CRD,5.5 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,1920,10.74,CRD,34.5 +VTS,1,1,420,2.22,CSH,9 +VTS,1,1,720,1.24,CRD,9 +VTS,1,1,480,1.16,CRD,7 +VTS,1,1,1800,14.02,CSH,40.5 +VTS,1,1,60,0.34,CSH,3 +VTS,1,1,120,0.06,CSH,3 +VTS,1,1,600,1.07,CSH,8 +VTS,1,1,540,1.22,CSH,7.5 +VTS,1,1,120,0.26,CSH,3 +VTS,1,1,1380,2.43,CSH,15.5 +VTS,1,1,420,1.03,CRD,6.5 +VTS,1,1,660,1.79,CSH,9.5 +VTS,1,1,180,0.78,CSH,5 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,600,2.05,CRD,9.5 +VTS,1,1,300,0.49,CSH,5 +VTS,1,1,240,0.87,CRD,5.5 +VTS,1,1,1140,7.98,CSH,24.5 +VTS,1,1,360,2.13,CRD,8.5 +VTS,1,1,780,4.23,CRD,15.5 +VTS,1,1,660,2.62,CSH,10.5 +VTS,1,1,360,1.01,CSH,6 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,1080,3.22,CRD,14.5 +VTS,1,1,900,2.16,CSH,12 +VTS,1,1,720,2.64,CSH,11.5 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,240,1.08,CSH,5.5 +VTS,1,1,840,6.85,CSH,20.5 +VTS,1,1,720,1.96,CRD,10 +VTS,1,1,420,1.14,CRD,7 +VTS,1,1,420,1.72,CRD,7.5 +VTS,1,1,420,1.84,CSH,7.5 +VTS,1,1,1320,7.14,CSH,24 +VTS,1,1,420,1.97,CSH,8.5 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,300,1.77,CRD,7.5 +VTS,1,1,720,1.47,CSH,9 +VTS,1,1,1140,2.81,CRD,14 +VTS,1,1,420,1.15,CSH,6.5 +VTS,1,1,600,3.3,CRD,11.5 +VTS,1,1,540,2.18,CSH,9.5 +VTS,1,1,1740,2.7,CSH,18 +VTS,1,1,480,0.59,CRD,6 +VTS,1,1,360,0.73,CSH,5.5 +VTS,1,1,1620,10.65,CSH,33.5 +VTS,1,1,360,1.07,CRD,6 +VTS,1,1,1020,2.33,CSH,12.5 +VTS,1,1,1020,2.79,CSH,13.5 +VTS,1,1,360,1.12,CSH,6.5 +VTS,1,1,360,0.99,CSH,6 +VTS,1,1,1620,12.74,CRD,37.5 +VTS,1,1,480,1.59,CRD,8 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,300,1.14,CSH,5.5 +VTS,1,1,720,3.85,CRD,13 +VTS,1,1,1020,3.73,CSH,15.5 +VTS,1,1,1500,2.98,CSH,16.5 +VTS,1,1,1020,2.36,CSH,13 +VTS,1,1,1380,1.93,CRD,14.5 +VTS,1,1,1140,2.44,CRD,13.5 +VTS,1,1,1500,6.29,CSH,23 +VTS,1,1,1500,5.43,CRD,20 +VTS,1,1,840,4.23,CSH,14.5 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,780,2.53,CSH,11.5 +VTS,1,1,420,1.19,CSH,7 +VTS,1,1,1680,5.74,CSH,22.5 +VTS,1,1,1500,3.63,CSH,17.5 +VTS,1,1,480,0.98,CRD,6.5 +VTS,1,1,600,1.84,CRD,9 +VTS,1,1,420,0.76,CSH,6.5 +VTS,1,1,420,0.89,CRD,6.5 +VTS,1,1,480,1.55,CRD,8 +VTS,1,1,2760,6.68,CRD,30.5 +VTS,1,1,600,2.26,CRD,9.5 +VTS,1,1,360,1.19,CRD,6 +VTS,1,1,420,1.13,CSH,6.5 +VTS,1,1,480,0.74,CRD,6.5 +VTS,1,1,540,1.34,CSH,8 +VTS,1,1,420,0.77,CRD,6.5 +VTS,1,1,780,1.84,CRD,10.5 +VTS,1,1,840,1.06,CRD,9.5 +VTS,1,1,900,5.42,CRD,18 +VTS,1,1,720,1.16,CSH,8.5 +VTS,1,1,420,1.76,CSH,7.5 +VTS,1,1,600,1.9,CRD,9.5 +VTS,1,2,840,3.86,CSH,13.5 +VTS,1,5,60,0,CSH,2.5 +VTS,1,1,300,1.32,CSH,6.5 +VTS,1,1,660,1.96,CSH,9.5 +VTS,1,1,780,1.98,CSH,10.5 +VTS,1,1,1260,2.09,CRD,13.5 +VTS,1,1,180,0.82,CRD,4.5 +VTS,1,1,600,1.99,CSH,9.5 +VTS,1,1,600,1.93,CSH,9.5 +VTS,1,1,720,1.12,CRD,9 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,720,1.59,CSH,9.5 +VTS,1,1,420,1.1,CSH,7 +VTS,1,1,780,2.69,CRD,11 +VTS,1,1,360,0.68,CSH,5.5 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,660,1.89,CRD,9.5 +VTS,1,1,120,0.31,CRD,3.5 +VTS,1,1,720,1.79,CSH,10 +VTS,1,1,420,1.36,CSH,7 +VTS,1,1,660,1.13,CRD,8 +VTS,1,1,900,4.05,CSH,15.5 +VTS,1,1,180,0.87,CRD,5 +VTS,1,1,240,0.74,CRD,5 +VTS,1,1,540,3.08,CRD,10.5 +VTS,1,1,300,1.37,CSH,6.5 +VTS,1,1,600,1.88,CSH,9 +VTS,1,1,180,0.8,CRD,5 +VTS,1,1,1500,4.29,CRD,18.5 +VTS,1,1,960,3.49,CRD,14 +VTS,1,1,360,1.04,CSH,6 +VTS,1,1,600,0.78,CSH,7.5 +VTS,1,1,780,1.28,CRD,9.5 +VTS,1,1,900,2.41,CSH,9.5 +VTS,1,1,480,1,CRD,6.5 +VTS,1,1,660,1.13,CSH,8.5 +VTS,1,1,1320,1.71,CSH,14.5 +VTS,1,1,540,1.34,CSH,7.5 +VTS,1,1,540,2,CSH,9 +VTS,1,1,420,0.93,CSH,6 +VTS,1,1,60,0.48,CRD,3.5 +VTS,1,1,1020,2.88,CRD,13.5 +VTS,1,1,660,2.54,CRD,10.5 +VTS,1,1,420,0.71,CRD,6 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,480,1.11,CSH,7 +VTS,1,1,600,0.6,CRD,7.5 +VTS,1,1,1560,8.56,CSH,27 +VTS,1,1,960,1.96,CSH,11.5 +VTS,1,1,1260,1.31,CSH,13.5 +VTS,1,1,1020,1.51,CSH,11.5 +VTS,1,1,660,1.48,CRD,9 +VTS,1,1,1200,3.59,CRD,16.5 +VTS,1,1,1080,1.79,CSH,12.5 +VTS,1,1,1200,2.8,CRD,14 +VTS,1,1,1680,4.8,CRD,21.5 +VTS,1,1,660,1.72,CRD,9 +VTS,1,1,480,0.8,CRD,6.5 +VTS,1,1,480,1.18,CSH,7 +VTS,1,1,360,0.61,CRD,5.5 +VTS,1,1,360,0.38,CRD,5 +VTS,1,1,1320,3.47,CSH,16.5 +VTS,1,1,300,1.01,CSH,5.5 +VTS,1,1,2220,4.57,CSH,24 +VTS,1,1,120,0.18,CSH,3.5 +VTS,1,1,660,0.79,CRD,8.5 +VTS,1,1,120,0.13,CSH,3 +VTS,1,1,780,2.02,CRD,10 +VTS,1,1,540,0.93,CRD,7.5 +VTS,1,1,240,0.55,CRD,4.5 +VTS,1,1,480,1.36,CRD,7 +VTS,1,1,600,2.38,CRD,10.5 +VTS,1,1,2220,7.44,CSH,29.5 +VTS,1,1,840,1.98,CSH,11 +VTS,1,1,360,0.84,CRD,6 +VTS,1,1,1380,5.19,CSH,19.5 +VTS,1,1,720,3.34,CRD,12.5 +VTS,1,1,480,1.3,CRD,7 +VTS,1,1,480,0.91,CRD,7 +VTS,1,1,420,1.43,CRD,7.5 +VTS,1,1,3120,10.82,CSH,35 +VTS,1,1,480,2.06,CRD,9 +VTS,1,1,780,2.46,CRD,11.5 +VTS,1,1,120,1.34,CRD,5.5 +VTS,1,1,840,2.42,CSH,12 +VTS,2,1,2880,18.74,CSH,52 +VTS,1,1,960,2.26,CSH,12.5 +VTS,1,1,240,0.6,CSH,5 +VTS,1,1,660,1.86,CRD,10 +VTS,1,1,840,2.23,CRD,11.5 +VTS,1,1,960,1.51,CRD,11 +VTS,1,1,120,0.25,CSH,3 +VTS,1,1,300,0.61,CRD,5.5 +VTS,1,1,720,2.26,CSH,10.5 +VTS,1,1,300,0.47,CRD,4.5 +VTS,1,1,780,2.2,CRD,10.5 +VTS,1,1,540,3.77,CSH,12.5 +VTS,1,1,780,3.34,CSH,13 +VTS,1,1,240,1.87,CRD,7 +VTS,1,1,240,0.85,CRD,5 +VTS,1,1,1500,3.65,CRD,17.5 +VTS,1,1,780,1.28,CSH,9.5 +VTS,1,1,480,0.77,CSH,6.5 +VTS,1,1,780,2.49,CSH,11.5 +VTS,1,1,1560,10.61,CRD,32 +VTS,1,1,420,1.4,CSH,7 +VTS,1,1,300,0.72,CSH,5 +VTS,1,1,420,0.93,CRD,6.5 +VTS,1,1,300,0.96,CSH,5 +VTS,1,1,1800,10.95,CSH,33.5 +VTS,1,1,360,1.31,CRD,7 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,1020,3.18,CRD,14.5 +VTS,1,1,1140,4.66,CSH,17.5 +VTS,1,1,720,3.27,CRD,12 +VTS,1,1,600,1.72,CSH,9 +VTS,1,1,480,1.27,CSH,7.5 +VTS,1,1,240,0.43,CSH,4.5 +VTS,1,1,780,1.81,CSH,10.5 +VTS,1,1,2460,8.11,CSH,34 +VTS,1,1,840,2.27,CRD,11 +VTS,1,1,720,1.14,CRD,8.5 +VTS,1,1,720,1.5,CSH,9.5 +VTS,1,1,780,1.72,CSH,10 +VTS,1,1,300,0.6,CSH,5 +VTS,1,1,1500,6,CSH,23.5 +VTS,1,1,1500,13.74,CSH,38.5 +VTS,1,1,720,1.39,CSH,9.5 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,1,180,0.63,CSH,4 +VTS,1,1,900,2.39,CRD,8.5 +VTS,1,1,900,2.05,CRD,11.5 +VTS,1,1,900,6.24,CRD,20 +VTS,1,1,180,1.05,CSH,5.5 +VTS,1,1,1080,3.68,CRD,15.5 +VTS,1,1,480,1.49,CSH,8 +VTS,1,1,1620,2.27,CRD,17 +VTS,1,1,300,0.71,CRD,6 +VTS,1,1,420,1.02,CSH,6.5 +VTS,1,1,1020,2.66,CRD,13 +VTS,1,1,420,2.78,CRD,10 +VTS,1,1,1680,10.15,CRD,31.5 +VTS,1,1,840,1.59,CSH,11 +VTS,1,1,900,3.06,CRD,13 +VTS,1,1,420,0.66,CRD,6.5 +VTS,1,1,180,0.71,CSH,5 +VTS,1,1,540,3.79,CSH,12.5 +VTS,1,1,480,0.76,CSH,6.5 +VTS,1,1,360,0.75,CSH,6 +VTS,1,1,660,2.16,CRD,10 +VTS,1,1,540,1.8,CRD,9 +VTS,1,1,420,1.33,CRD,7.5 +VTS,1,1,960,3.86,CRD,15 +VTS,1,1,600,0.6,CSH,7.5 +VTS,1,1,420,1.29,CRD,6.5 +VTS,1,1,1380,1,CRD,14 +VTS,1,1,840,1.2,CRD,10 +VTS,1,1,420,1.26,CRD,7 +VTS,1,1,480,1.6,CSH,8 +VTS,1,1,2040,11.73,CRD,37 +VTS,1,1,540,1.62,CRD,8 +VTS,1,1,720,2.11,CSH,10 +VTS,1,1,540,1.87,CSH,9 +VTS,1,1,1500,10.16,CRD,30 +VTS,1,1,180,0.55,CRD,4.5 +VTS,1,1,420,1.23,CSH,7 +VTS,1,1,1080,4.94,CSH,18 +VTS,1,1,360,1.15,CSH,6.5 +VTS,1,1,720,1.12,CSH,8.5 +VTS,1,1,840,3.11,CRD,13.5 +VTS,1,1,720,2.21,CSH,10 +VTS,1,1,780,3,CSH,12.5 +VTS,2,1,2340,23.65,CSH,52 +VTS,1,1,1140,2.79,CRD,14 +VTS,1,1,420,0.53,CRD,5.5 +VTS,1,1,600,2,CSH,9.5 +VTS,1,1,660,1.12,CRD,8.5 +VTS,1,1,660,1.45,CSH,9 +VTS,1,1,1080,3.21,CSH,14.5 +VTS,1,1,180,0.48,CSH,4.5 +VTS,1,1,240,1.54,CRD,6.5 +VTS,1,1,1860,10.63,CRD,34 +VTS,1,1,780,4.71,CRD,16 +VTS,1,1,540,1.56,CRD,8 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,2040,10.96,CRD,36.5 +VTS,1,1,1500,10.45,CSH,32 +VTS,1,1,180,0.33,CRD,4 +VTS,1,1,480,1.4,CRD,7.5 +VTS,1,1,420,1.12,CSH,6.5 +VTS,1,1,660,1.29,CSH,8 +VTS,1,1,540,1.86,CSH,9 +VTS,1,1,1320,9.64,CRD,29 +VTS,1,1,1200,8.66,CRD,26 +VTS,1,1,120,0.52,CRD,4 +VTS,1,1,300,0.4,CSH,5 +VTS,1,1,480,1.34,CRD,8 +VTS,1,1,780,1.89,CRD,11 +VTS,1,1,420,1.12,CRD,6.5 +VTS,1,1,600,3.17,CSH,11 +VTS,1,1,300,0.64,CRD,5 +VTS,1,1,300,0.49,CSH,5 +VTS,1,1,660,1.42,CSH,9 +VTS,1,1,660,1.49,CSH,9 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,60,0.41,CSH,3.5 +VTS,1,1,300,1.13,CSH,6 +VTS,1,1,780,2.19,CRD,11 +VTS,1,1,480,1.65,CRD,8 +VTS,1,1,360,1.63,CRD,7.5 +VTS,1,1,420,1.35,CSH,7 +VTS,1,1,780,2.58,CSH,11.5 +VTS,1,1,1260,2.46,CRD,14.5 +VTS,1,1,540,1,CSH,7.5 +VTS,1,1,600,1.07,CSH,8 +VTS,1,1,1080,3.63,CRD,16 +VTS,1,1,2160,24.98,CRD,67 +VTS,1,1,540,1.07,CRD,7.5 +VTS,1,1,1560,5.1,CSH,21.5 +VTS,1,1,480,2.17,CRD,9 +VTS,1,1,660,1.62,CRD,8.5 +VTS,1,1,1260,3.07,CSH,15.5 +VTS,1,1,660,1.1,CRD,8.5 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,960,3.21,CSH,14 +VTS,1,1,1500,3.42,CRD,17.5 +VTS,1,1,1440,11.37,CSH,33.5 +VTS,1,1,780,1.41,CSH,9.5 +VTS,1,1,660,2.07,CSH,10 +VTS,1,1,900,3.57,CRD,14.5 +VTS,1,1,120,0.66,CSH,4 +VTS,1,1,540,1.81,CRD,8 +VTS,1,1,1500,3.84,CRD,17.5 +VTS,1,1,540,0.88,CRD,7.5 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,1,480,0.62,CRD,6.5 +VTS,1,1,960,1.45,CRD,11 +VTS,1,1,960,1.42,CSH,11 +VTS,1,1,720,3.69,CRD,12.5 +VTS,1,1,660,3.86,CRD,13.5 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,540,1.2,CRD,7.5 +VTS,1,1,900,1.97,CRD,11.5 +VTS,1,1,300,1.03,CSH,5.5 +VTS,1,1,120,1.09,CRD,5 +VTS,1,1,2220,6.18,CRD,27 +VTS,1,1,360,0.58,CSH,5.5 +VTS,1,1,720,1.37,CSH,9 +VTS,1,1,660,1.83,CRD,9.5 +VTS,1,1,1260,5.39,CSH,19 +VTS,1,1,480,1.24,CSH,7 +VTS,1,1,1200,2.44,CRD,15.5 +VTS,1,1,1800,12.25,CSH,37.5 +VTS,1,1,2400,7.68,CRD,30.5 +VTS,1,1,780,2.64,CRD,11.5 +VTS,1,1,420,0.75,CSH,6 +VTS,1,1,120,0.51,CRD,4 +VTS,1,1,720,1.13,CSH,9 +VTS,1,1,600,1.09,CRD,8 +VTS,1,1,1140,2.32,CRD,14 +VTS,1,1,1200,3.77,CSH,16 +VTS,1,1,120,0.69,CSH,4 +VTS,1,1,240,0.84,CRD,5 +VTS,1,1,600,1.37,CSH,8 +VTS,1,1,1080,9.02,CRD,27.5 +VTS,1,1,780,2.42,CRD,11.5 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,540,2.56,CRD,10 +VTS,1,1,1560,5.81,CRD,23 +VTS,1,1,360,1.16,CRD,7 +VTS,1,1,540,1.62,CSH,8.5 +VTS,1,1,720,4.24,CRD,15 +VTS,1,1,420,1.49,CRD,7 +VTS,1,1,360,1.48,CRD,7 +VTS,1,1,720,0.56,CSH,8.5 +VTS,1,1,540,0.8,CSH,7 +VTS,1,1,360,0.78,CSH,6 +VTS,1,1,1260,3.05,CRD,14.5 +VTS,1,1,780,1.47,CRD,9.5 +VTS,1,1,420,0.81,CRD,6.5 +VTS,1,1,660,1.36,CRD,8.5 +VTS,1,1,420,0.75,CRD,6.5 +VTS,1,1,900,0.93,CRD,10.5 +VTS,1,1,1920,4.03,CRD,21.5 +VTS,1,1,480,0.85,CRD,7 +VTS,1,1,660,2.25,CSH,9.5 +VTS,1,1,1020,4.72,CSH,16.5 +VTS,1,1,720,1.11,CSH,9 +VTS,1,1,600,1.91,CRD,9 +VTS,1,1,360,0.67,CSH,5.5 +VTS,1,1,660,3.32,CRD,12.5 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,480,1.37,CRD,7 +VTS,1,1,180,0.66,CSH,5 +VTS,1,1,1140,2.45,CRD,13.5 +VTS,1,1,840,1.67,CRD,10.5 +VTS,1,1,720,1.66,CSH,9 +VTS,1,1,1500,7.71,CRD,26.5 +VTS,1,1,540,1.84,CSH,8 +VTS,1,1,480,1.76,CRD,8 +VTS,1,1,1020,2.26,CSH,13 +VTS,1,1,1440,10.54,CRD,31.5 +VTS,1,1,1680,10.59,CSH,31.5 +VTS,1,1,960,6.29,CRD,19 +VTS,1,1,120,0.49,CRD,3.5 +VTS,1,1,240,1.34,CSH,6.5 +VTS,1,1,1020,4.26,CSH,16 +VTS,1,1,1020,10.91,CRD,30.5 +VTS,1,1,1440,11.68,CRD,34.5 +VTS,1,1,900,4.15,CRD,15 +VTS,1,1,2100,9.04,CSH,32.5 +VTS,1,1,540,2.23,CRD,9.5 +VTS,1,1,540,1.33,CSH,7.5 +VTS,1,1,720,2.23,CSH,10.5 +VTS,1,1,540,3.29,CRD,11.5 +VTS,1,1,540,2.01,CRD,8.5 +VTS,1,1,660,3.07,CRD,12 +VTS,1,1,1380,9.99,CSH,30.5 +VTS,1,1,360,1.02,CRD,6.5 +VTS,1,1,420,1.5,CSH,7.5 +VTS,2,1,2160,17.89,CRD,52 +VTS,1,1,960,3.23,CRD,13.5 +VTS,1,1,1080,4.93,CRD,19 +VTS,1,1,240,0.32,CSH,4.5 +VTS,1,1,180,0.59,CRD,4.5 +VTS,1,1,1620,2.33,CRD,17 +VTS,1,1,720,0.9,CSH,8.5 +VTS,1,1,720,0.58,CSH,8.5 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,2340,9.45,CRD,33 +VTS,1,1,660,2.31,CSH,10.5 +VTS,1,1,480,0.63,CSH,6.5 +VTS,1,1,240,0.79,CRD,4.5 +VTS,1,1,540,1.29,CRD,8 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,300,0.96,CRD,6 +VTS,1,1,540,2.08,CRD,9.5 +VTS,1,1,900,1.56,CRD,10.5 +VTS,1,1,1680,2.72,CRD,18 +VTS,1,1,780,2.38,CSH,11 +VTS,1,1,360,1.01,CRD,6 +VTS,1,1,600,1.8,CSH,9 +VTS,1,1,900,2.92,CRD,12.5 +VTS,1,1,540,0.95,CRD,7.5 +VTS,1,1,840,5.91,CRD,18.5 +VTS,1,1,420,1.8,CSH,8.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,780,2.6,CSH,11.5 +VTS,1,1,780,1.36,CSH,9 +VTS,1,1,660,2.5,CSH,10 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,240,0.94,CSH,5 +VTS,1,1,600,2.11,CRD,9.5 +VTS,1,1,420,2.75,CRD,10.5 +VTS,1,1,420,1.71,CSH,8 +VTS,1,1,480,1.05,CRD,6.5 +VTS,1,1,1140,5.72,CSH,19.5 +VTS,1,1,0,0,CRD,2.5 +VTS,1,1,660,2.68,CRD,11 +VTS,1,1,1320,3.38,CRD,16 +VTS,1,1,600,1.93,CSH,9 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,480,1.82,CSH,8 +VTS,1,1,180,1.18,CRD,5.5 +VTS,1,1,360,1.47,CSH,7 +VTS,1,1,420,1.84,CRD,8 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,300,0.76,CSH,5 +VTS,1,1,1560,15.08,CSH,42.5 +VTS,1,1,1620,8.42,CRD,28 +VTS,1,1,1560,11.37,CRD,34 +VTS,1,1,300,0.64,CSH,5 +VTS,1,1,180,0.96,CSH,5 +VTS,1,1,1500,9.96,CRD,30.5 +VTS,1,1,840,3.48,CRD,13 +VTS,1,1,720,8.96,CRD,25 +VTS,1,1,720,2.35,CSH,10.5 +VTS,1,1,300,1.54,CRD,7 +VTS,1,1,900,6.79,CSH,21 +VTS,1,1,240,0.35,CSH,4 +VTS,1,1,2520,11.57,CRD,38.5 +VTS,1,1,1380,9.65,CRD,29 +VTS,1,1,1680,5.87,CRD,23.5 +VTS,1,1,1260,9.45,CRD,28.5 +VTS,1,1,180,0.9,CSH,4.5 +VTS,1,1,300,1.52,CRD,6.5 +VTS,1,1,960,5.03,CSH,17.5 +VTS,1,1,420,0.49,CRD,6 +VTS,1,1,300,1.18,CSH,6 +VTS,1,1,780,3.98,CSH,14.5 +VTS,1,1,60,0.49,CRD,3.5 +VTS,1,1,1140,5.67,CRD,19 +VTS,1,1,780,4.23,CRD,14 +VTS,1,1,600,1.69,CSH,8.5 +VTS,1,1,1380,8.91,CSH,28 +VTS,1,1,1620,8.94,CRD,28.5 +VTS,1,1,600,1.38,CRD,8 +VTS,1,1,600,2.08,CSH,9.5 +VTS,1,1,600,2.45,CSH,10.5 +VTS,1,1,480,1,CRD,7.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,420,1.35,CRD,6.5 +VTS,1,1,480,2.37,CSH,9 +VTS,1,1,240,0.49,CRD,4.5 +VTS,1,1,480,1.71,CRD,8 +VTS,1,1,120,0.42,CRD,3.5 +VTS,1,1,540,1.88,CRD,9 +VTS,5,1,1140,10.99,CRD,75 +VTS,1,1,780,3.35,CRD,13 +VTS,1,1,120,0.91,CRD,4.5 +VTS,1,1,240,1.28,CSH,6 +VTS,1,1,420,1.34,CSH,7 +VTS,1,1,1620,5.89,CRD,23 +VTS,1,1,840,4.53,CSH,14 +VTS,1,1,900,5.62,CRD,18 +VTS,1,1,60,0.33,CSH,3 +VTS,1,1,180,0.57,CRD,4.5 +VTS,1,1,600,1.73,CSH,9 +VTS,1,1,1260,4.98,CSH,18 +VTS,1,1,240,1.3,CSH,6.5 +VTS,1,1,900,3.47,CSH,13.5 +VTS,1,1,420,1.87,CSH,8 +VTS,1,1,900,4.45,CSH,16 +VTS,1,1,600,2.46,CSH,10 +VTS,1,1,420,1.61,CRD,8 +VTS,1,1,1080,1.44,CSH,11.5 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,420,1.24,CSH,7 +VTS,1,1,1860,2.24,CSH,19.5 +VTS,1,1,1320,9.27,CRD,27.5 +VTS,1,1,540,1.86,CSH,8.5 +VTS,1,1,1440,9.81,CSH,30 +VTS,1,1,300,0.67,CSH,5.5 +VTS,1,1,120,0.2,CSH,3.5 +VTS,1,1,360,1.04,CRD,6 +VTS,1,1,900,0.7,CRD,10 +VTS,1,1,2700,5.28,CSH,29 +VTS,1,1,780,2,CSH,10.5 +VTS,1,1,180,0.45,CSH,4 +VTS,1,1,480,1.24,CRD,7.5 +VTS,1,1,480,1.39,CSH,8 +VTS,1,1,180,0.59,CSH,4.5 +VTS,1,1,600,2.03,CRD,9.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,360,1.01,CRD,6.5 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,1,480,1.51,CSH,8 +VTS,1,1,240,1.11,CRD,5.5 +VTS,1,1,780,2.86,CRD,11.5 +VTS,1,1,420,1.47,CRD,7.5 +VTS,1,1,720,1.19,CSH,9.5 +VTS,1,1,600,2.43,CSH,10 +VTS,1,1,600,1.72,CSH,9 +VTS,1,1,300,1.4,CSH,6.5 +VTS,1,1,1500,8.46,CSH,27.5 +VTS,1,1,600,2.02,CRD,9 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,660,1.73,CSH,9.5 +VTS,1,1,240,0.87,CSH,5 +VTS,1,1,240,0.86,CRD,5.5 +VTS,5,1,900,5.05,CSH,40 +VTS,1,1,660,1.72,CSH,9 +VTS,1,1,960,2.83,CSH,13 +VTS,1,1,1500,5.81,CRD,23 +VTS,1,1,420,1.74,CRD,7.5 +VTS,1,1,540,1.83,CSH,9 +VTS,1,1,240,1.24,CRD,5.5 +VTS,1,1,1680,3.13,CSH,18 +VTS,1,1,1740,20.7,CSH,55.5 +VTS,1,1,600,1.45,CRD,8.5 +VTS,1,1,540,1.64,CRD,9 +VTS,1,1,300,1.03,CRD,6 +VTS,1,1,720,2.03,CSH,9.5 +VTS,1,1,1380,10.74,CRD,31.5 +VTS,1,1,1140,4.8,CRD,17.5 +VTS,1,1,1080,5.96,CRD,20.5 +VTS,1,1,420,2.73,CRD,9 +VTS,1,1,360,1.06,CSH,6.5 +VTS,1,1,1980,4.25,CRD,23 +VTS,1,1,360,2.59,CRD,9 +VTS,5,2,1140,5.91,CRD,60 +VTS,1,1,360,0.66,CSH,5.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,1140,8.78,CSH,26 +VTS,1,1,1320,8.64,CRD,27 +VTS,1,1,120,0.53,CRD,4 +VTS,1,1,360,1.51,CRD,7 +VTS,1,1,240,0.6,CRD,5 +VTS,1,1,1380,11.85,CRD,34 +VTS,1,1,240,0.5,CSH,4 +VTS,1,1,540,3.41,CSH,11 +VTS,1,1,1560,3.8,CRD,17.5 +VTS,1,1,120,0.56,CSH,4 +VTS,1,1,420,1.91,CSH,8 +VTS,1,1,1020,4.28,CRD,16.5 +VTS,1,1,420,1.8,CSH,8.5 +VTS,1,1,900,3.47,CSH,13.5 +VTS,1,1,960,3.57,CRD,14 +VTS,1,1,2400,11.95,CRD,37 +VTS,1,1,660,3.83,CSH,13 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,360,1.93,CRD,7.5 +VTS,1,1,480,1.51,CRD,7.5 +VTS,1,1,240,0.77,CRD,5 +VTS,1,1,780,2.59,CRD,11.5 +VTS,1,1,300,0.99,CRD,6 +VTS,1,1,420,1.35,CSH,7 +VTS,1,1,240,0.48,CRD,4.5 +VTS,1,1,1200,6.92,CSH,23 +VTS,1,1,420,2.04,CSH,8 +VTS,1,1,1200,7.58,CRD,24 +VTS,1,1,720,3.16,CSH,11.5 +VTS,1,1,480,1.48,CSH,7.5 +VTS,1,1,180,0.63,CRD,4.5 +VTS,1,1,1140,5.89,CRD,20 +VTS,1,1,600,2.75,CRD,11 +VTS,1,1,240,1.27,CSH,6 +VTS,1,1,660,2.58,CSH,11 +VTS,1,1,1080,3.44,CSH,15 +VTS,1,1,1260,4.66,CSH,18.5 +VTS,1,1,240,0.71,CRD,5 +VTS,1,1,420,1.28,CRD,6.5 +VTS,1,1,900,3.57,CRD,14.5 +VTS,1,1,960,3.45,CRD,14.5 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,120,0.64,CRD,4 +VTS,1,1,840,2.92,CSH,12 +VTS,1,1,300,1.44,CRD,6.5 +VTS,1,1,720,6.08,CRD,18 +VTS,1,1,360,1.99,CRD,8 +VTS,1,1,120,0.57,CSH,4 +VTS,1,1,420,0.95,CSH,6 +VTS,1,1,840,3.9,CRD,14.5 +VTS,1,1,420,1.04,CSH,6 +VTS,1,1,540,2.21,CRD,9 +VTS,1,1,300,1.34,CRD,6.5 +VTS,1,1,1380,7.28,CRD,23 +VTS,1,1,180,0.5,CRD,4 +VTS,1,1,480,1.44,CRD,7.5 +VTS,1,1,420,1.36,CRD,7.5 +VTS,1,1,540,1.34,CRD,8 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,780,4.52,CSH,16 +VTS,1,1,300,1.4,CRD,6.5 +VTS,1,1,480,1.53,CSH,7.5 +VTS,1,1,300,1.42,CRD,7 +VTS,1,1,480,1.23,CSH,7 +VTS,1,1,780,7.3,CRD,21.5 +VTS,1,1,480,2.6,CSH,10 +VTS,1,1,1380,10.16,CSH,30 +VTS,1,1,1140,4.7,CRD,17.5 +VTS,1,1,1080,5.4,CRD,19.5 +VTS,1,1,180,0.53,CSH,4.5 +VTS,1,1,960,2.77,CRD,12.5 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,660,3.07,CRD,12 +VTS,1,1,360,1.61,CRD,7.5 +VTS,1,1,2160,12.87,CSH,41 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,540,2.56,CRD,9.5 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,480,2.09,CRD,9 +VTS,1,1,540,4.19,CRD,13 +VTS,1,1,600,1.75,CRD,8.5 +VTS,1,1,900,3.16,CSH,13.5 +VTS,1,1,420,1.7,CRD,7.5 +VTS,1,1,540,2.61,CSH,10 +VTS,1,1,420,1.79,CRD,7.5 +VTS,1,1,720,3.21,CSH,12.5 +VTS,1,1,1380,7.52,CRD,25 +VTS,1,1,480,1.05,CRD,7 +VTS,1,1,900,3.81,CRD,14.5 +VTS,1,1,660,3.75,CRD,13.5 +VTS,1,1,840,3.76,CRD,14 +VTS,1,1,600,1.78,CRD,9 +VTS,1,1,420,1.38,CRD,7.5 +VTS,1,1,360,1.04,CRD,6 +VTS,1,1,600,4.03,CRD,13 +VTS,1,1,1140,4.18,CRD,16 +VTS,1,1,1980,10.09,CRD,34 +VTS,1,1,360,0.9,CRD,6 +VTS,1,1,660,2.95,CRD,11 +VTS,1,1,180,1.11,CSH,5 +VTS,1,1,300,1.67,CRD,7.5 +VTS,1,1,660,2.13,CRD,10 +VTS,1,1,540,1.69,CRD,8 +VTS,1,1,720,3.05,CSH,12.5 +VTS,1,1,540,2.3,CRD,9.5 +VTS,1,1,1020,6.22,CRD,20 +VTS,1,1,540,1.82,CSH,8.5 +VTS,1,1,1440,6.63,CRD,23.5 +VTS,1,1,420,1.28,CRD,7 +VTS,1,1,720,3.37,CSH,12.5 +VTS,1,1,540,2.81,CRD,10.5 +VTS,1,1,420,1.19,CRD,6.5 +VTS,1,1,720,3.02,CSH,12 +VTS,1,1,1200,5.41,CSH,19.5 +VTS,1,1,60,0.53,CSH,3.5 +VTS,1,1,480,1.18,CRD,7.5 +VTS,1,1,420,1.73,CSH,8 +VTS,1,1,360,1.84,CRD,7 +VTS,1,1,1200,9.45,CSH,28.5 +VTS,1,1,1020,2.71,CRD,13 +VTS,1,1,300,1.17,CRD,6 +VTS,1,1,480,1.21,CRD,7.5 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,1,1140,5.68,CSH,20 +VTS,1,1,600,2.87,CRD,11.5 +VTS,1,1,600,1.56,CSH,8.5 +VTS,1,1,660,3.76,CSH,12.5 +VTS,1,1,180,0.66,CRD,4 +VTS,1,1,3120,11.39,CRD,42.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,540,1.6,CRD,8.5 +VTS,1,1,1500,6,CSH,22 +VTS,1,1,780,3.02,CRD,12 +VTS,1,1,1260,2.99,CRD,15 +VTS,1,1,1020,0.96,CRD,11 +VTS,1,1,840,2.93,CRD,12.5 +VTS,1,1,180,0.75,CSH,5 +VTS,1,1,540,0.87,CRD,7 +VTS,1,1,300,1.23,CSH,6 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,240,0.95,CSH,5 +VTS,1,1,780,2.5,CRD,11.5 +VTS,1,1,240,0.94,CRD,5.5 +VTS,1,1,60,0.44,CSH,3.5 +VTS,1,1,420,1.29,CSH,7 +VTS,1,1,300,1.12,CRD,6.5 +VTS,1,1,300,0.98,CRD,6 +VTS,1,1,780,3.36,CRD,13 +VTS,1,1,480,0.96,CRD,7 +VTS,1,1,600,3.09,CRD,11 +VTS,1,1,600,2.91,CSH,11 +VTS,1,1,1140,15.41,CSH,41 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,1,180,0.84,CRD,5 +VTS,1,1,660,3.35,CSH,12.5 +VTS,1,1,780,3.48,CRD,13.5 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,2,420,1.96,CRD,8 +VTS,1,1,360,0.65,CRD,6 +VTS,1,1,1320,3.66,CSH,16 +VTS,1,1,720,3.57,CSH,12.5 +VTS,1,1,480,2.25,CRD,9 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,1,480,2.11,CSH,8.5 +VTS,1,1,720,3.21,CSH,12 +VTS,1,1,540,1.71,CSH,8.5 +VTS,1,1,900,4.34,CRD,16 +VTS,1,1,240,0.95,CSH,5 +VTS,1,1,120,0.82,CSH,4.5 +VTS,1,1,1620,7.63,CSH,26 +VTS,1,1,780,2.38,CRD,11 +VTS,1,1,0,0.03,CRD,2.5 +VTS,1,1,720,1.82,CSH,10 +VTS,1,1,300,1.16,CRD,6 +VTS,1,1,660,3.34,CRD,12.5 +VTS,1,1,480,2.52,CSH,9 +VTS,1,1,540,1.4,CRD,7.5 +VTS,1,1,660,3.94,CRD,13 +VTS,1,1,540,2.68,CRD,10 +VTS,1,1,600,1.59,CSH,8.5 +VTS,1,1,540,0.89,CSH,7.5 +VTS,1,1,840,2.18,CSH,11 +VTS,1,1,540,1.1,CRD,7.5 +VTS,1,1,840,2.33,CSH,11 +VTS,1,1,780,3.83,CRD,13.5 +VTS,1,1,960,4.66,CSH,16.5 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,720,4.25,CSH,14.5 +VTS,5,3,540,3.69,CRD,50 +VTS,1,1,1260,4.47,CRD,17.5 +VTS,1,1,240,1.49,CRD,6 +VTS,1,1,240,0.68,CRD,5 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,480,2.4,CRD,9 +VTS,1,1,360,1.8,CSH,7.5 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,780,2.96,CRD,12.5 +VTS,5,1,2040,26.68,CRD,80 +VTS,1,1,480,1.7,CSH,8 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,360,1.28,CSH,7 +VTS,1,1,1260,12.65,CRD,35 +VTS,1,1,480,1.05,CRD,7 +VTS,1,1,1020,2.56,CRD,12.5 +VTS,1,1,420,1.44,CRD,7.5 +VTS,1,1,1260,4.86,CRD,18 +VTS,1,1,600,1.77,CRD,8.5 +VTS,1,1,960,3.29,CRD,14 +VTS,1,1,1260,2.3,CSH,14.5 +VTS,1,1,420,2.31,CSH,9 +VTS,1,1,840,1.9,CSH,11 +VTS,1,1,420,0.99,CRD,6.5 +VTS,1,1,180,0.32,CSH,3.5 +VTS,1,1,600,1.22,CRD,8 +VTS,1,1,960,4.67,CRD,16 +VTS,1,1,240,0.87,CRD,5 +VTS,1,1,480,1.21,CSH,7 +VTS,1,1,360,1.36,CSH,7 +VTS,1,1,1260,7.32,CSH,23 +VTS,1,1,840,3.06,CRD,12.5 +VTS,1,1,600,2.56,CRD,10.5 +VTS,1,1,840,2.19,CRD,11 +VTS,1,1,600,1.55,CRD,8.5 +VTS,1,1,600,2.63,CRD,10 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,180,0.89,CRD,5 +VTS,1,1,960,4.45,CRD,16.5 +VTS,1,1,1080,9.28,CSH,27 +VTS,1,1,900,1.18,CSH,11 +VTS,1,1,480,0.79,CSH,7 +VTS,1,1,1440,4.57,CRD,19.5 +VTS,1,1,660,2.02,CRD,10 +VTS,1,1,780,2.37,CRD,11.5 +VTS,1,1,240,0.39,CRD,4.5 +VTS,1,1,1020,2.63,CRD,13 +VTS,1,1,600,1.06,CRD,7.5 +VTS,1,1,660,1.76,CRD,9.5 +VTS,1,1,240,0.71,CRD,5 +VTS,1,1,420,2.15,CRD,8.5 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,1,1260,9.4,CRD,28.5 +VTS,1,1,1080,1.53,CSH,12.5 +VTS,1,1,420,1.23,CRD,7 +VTS,1,1,960,2.41,CRD,12 +VTS,1,1,60,0,CRD,2.5 +VTS,1,1,780,0.62,CRD,9 +VTS,1,1,1740,10.36,CRD,32.5 +VTS,1,1,360,1.38,CRD,6.5 +VTS,1,1,540,1.65,CRD,8 +VTS,1,1,540,1.55,CSH,9 +VTS,1,1,360,0.71,CSH,6 +VTS,1,1,120,0.64,CSH,4 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,1260,7.13,CSH,23.5 +VTS,1,1,360,1.19,CSH,6 +VTS,1,1,1800,7.79,CRD,26.5 +VTS,1,1,2700,12.61,CSH,40.5 +VTS,1,1,540,2.01,CSH,9.5 +VTS,1,1,360,1.58,CRD,7.5 +VTS,1,1,240,0.65,CSH,4.5 +VTS,1,1,360,0.96,CSH,6 +VTS,1,1,300,1.15,CRD,6 +VTS,1,1,660,1.51,CSH,9.5 +VTS,1,1,420,0.97,CSH,6.5 +VTS,1,1,840,2.98,CSH,13 +VTS,1,1,420,2.12,CRD,8.5 +VTS,1,1,300,1.17,CSH,6.5 +VTS,1,1,1080,3.94,CRD,15.5 +VTS,1,1,840,2.09,CRD,11 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,1,540,1.49,CSH,8.5 +VTS,1,1,960,3.05,CRD,13.5 +VTS,1,1,600,1.41,CSH,8.5 +VTS,1,1,240,0.87,CRD,5 +VTS,1,1,480,2.06,CSH,9 +VTS,1,1,660,2.14,CRD,10 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,840,3.26,CRD,14 +VTS,1,1,1200,7.34,CSH,23 +VTS,1,1,660,0.99,CSH,8 +VTS,1,1,1260,4.43,CRD,18 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,1380,3.75,CSH,17 +VTS,1,1,480,3.13,CRD,11.5 +VTS,1,1,840,2.31,CRD,11 +VTS,1,1,420,0.82,CRD,6 +VTS,1,1,960,4.82,CSH,17.5 +VTS,1,1,360,1.66,CRD,7.5 +VTS,1,1,1140,5.3,CRD,18.5 +VTS,1,1,540,1.74,CRD,8.5 +VTS,1,1,600,2.13,CRD,9.5 +VTS,1,1,360,1.44,CSH,7 +VTS,1,1,780,3,CRD,12 +VTS,1,1,360,1.3,CRD,6.5 +VTS,1,1,660,1.41,CRD,8.5 +VTS,1,1,1020,3.38,CRD,14.5 +VTS,1,1,480,2.05,CSH,8.5 +VTS,1,1,540,1.93,CRD,8.5 +VTS,1,1,60,0.03,CRD,2.5 +VTS,1,1,1080,2.12,CRD,12.5 +VTS,1,1,420,1.32,CRD,6.5 +VTS,1,1,360,1.6,CSH,7 +VTS,1,1,1380,11.96,CSH,34.5 +VTS,1,1,480,1.83,CRD,8.5 +VTS,1,1,60,0,CSH,3 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,540,3.16,CRD,11 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,360,1,CSH,6.5 +VTS,1,1,120,0.16,CSH,3.5 +VTS,1,1,600,2.4,CSH,9.5 +VTS,1,1,1980,9.09,CRD,30.5 +VTS,1,1,840,4.62,CRD,15.5 +VTS,1,1,120,0.81,CSH,4.5 +VTS,1,1,240,0.98,CRD,5.5 +VTS,1,1,180,0.57,CRD,4.5 +VTS,1,1,1020,4.13,CRD,16 +VTS,1,1,300,1.61,CRD,7 +VTS,1,1,540,2.35,CRD,9.5 +VTS,1,1,1380,5.53,CRD,20.5 +VTS,1,1,780,4.09,CRD,14.5 +VTS,1,1,420,2.75,CRD,9.5 +VTS,1,1,840,3.75,CSH,14.5 +VTS,1,1,240,0.45,CSH,4.5 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,1500,5.8,CRD,21 +VTS,1,1,1440,12.27,CRD,34 +VTS,1,1,900,3.58,CRD,14 +VTS,1,1,660,3.56,CRD,12 +VTS,1,1,480,2.35,CRD,9 +VTS,1,1,780,5.06,CSH,17 +VTS,1,1,420,1.22,CRD,6.5 +VTS,1,1,2220,3.41,CRD,22.5 +VTS,1,1,900,2.46,CSH,11.5 +VTS,1,1,540,5.05,CSH,15.5 +VTS,1,1,480,1.48,CSH,8 +VTS,1,1,1380,3.42,CSH,17 +VTS,1,1,900,3.3,CRD,13 +VTS,1,1,420,1.12,CSH,6.5 +VTS,1,1,840,1.15,CRD,10 +VTS,1,1,900,4.86,CSH,16.5 +VTS,1,1,660,2.87,CSH,12 +VTS,1,1,300,1.3,CRD,6.5 +VTS,1,1,240,1.05,CSH,5.5 +VTS,1,1,360,0.84,CSH,5.5 +VTS,1,1,780,1.18,CSH,9 +VTS,1,1,660,1.84,CSH,9 +VTS,1,1,780,1.93,CSH,10 +VTS,1,1,1320,4.74,CRD,18.5 +VTS,1,1,300,1.44,CRD,6.5 +VTS,1,1,1140,9.35,CSH,27.5 +VTS,1,1,480,1.64,CRD,8 +VTS,1,1,600,2.61,CRD,10 +VTS,1,1,480,2.7,CSH,10.5 +VTS,1,1,540,3.31,CSH,11 +VTS,1,1,480,1.57,CRD,8 +VTS,1,1,300,0.53,CRD,5 +VTS,1,1,240,0.76,CRD,5 +VTS,1,1,300,0.86,CSH,6 +VTS,1,1,600,2.93,CRD,11 +VTS,1,1,1320,4.72,CRD,19.5 +VTS,1,1,480,1.26,CSH,7.5 +VTS,1,1,1320,5.72,CRD,21 +VTS,1,1,1020,4.77,CRD,17 +VTS,1,1,360,1.35,CSH,6.5 +VTS,1,1,600,2.31,CRD,9.5 +VTS,1,1,360,0.9,CSH,6 +VTS,1,1,300,1.55,CSH,7 +VTS,1,1,900,2.39,CRD,11.5 +VTS,1,1,840,8.17,CSH,23.5 +VTS,1,1,1620,9.5,CRD,30.5 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,1,720,4.41,CRD,14 +VTS,1,2,300,0.79,CSH,5.5 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,240,0.83,CSH,5 +VTS,1,1,780,2.67,CRD,11 +VTS,1,1,600,1.1,CSH,7.5 +VTS,1,2,360,1,CSH,6 +VTS,1,1,900,5.29,CSH,17 +VTS,1,1,240,1.94,CSH,7 +VTS,1,1,240,0.58,CRD,4.5 +VTS,1,1,1800,14.29,CSH,41.5 +VTS,1,1,1200,4.07,CRD,16.5 +VTS,1,1,420,1.7,CRD,7.5 +VTS,1,1,420,1.97,CRD,8 +VTS,1,1,240,1.09,CRD,6 +VTS,1,1,720,3.77,CSH,13.5 +VTS,1,1,540,1.63,CRD,8.5 +VTS,1,1,1620,3.91,CSH,18.5 +VTS,1,1,1620,6.2,CSH,23 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,360,2.03,CRD,8 +VTS,1,1,480,1.74,CRD,8.5 +VTS,1,1,780,3.69,CRD,13.5 +VTS,1,1,1140,5.33,CRD,19 +VTS,1,1,1140,5.84,CRD,20 +VTS,1,1,180,0.81,CRD,4.5 +VTS,1,1,420,1.25,CSH,7.5 +VTS,1,1,1140,2.96,CRD,14 +VTS,1,1,240,0.85,CRD,5 +VTS,1,1,300,1.56,CSH,6.5 +VTS,1,1,180,0.87,CSH,5 +VTS,1,1,420,1.19,CSH,7 +VTS,1,1,540,3.34,CRD,11.5 +VTS,1,1,900,4.48,CSH,16.5 +VTS,1,1,540,1.55,CRD,8.5 +VTS,2,1,1740,18.14,CRD,52 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,60,0,CSH,2.5 +VTS,1,1,420,1.33,CRD,7 +VTS,1,1,840,4.16,CRD,15 +VTS,1,1,300,1.24,CSH,6 +VTS,1,1,360,1.34,CSH,6.5 +VTS,1,1,1140,4.55,CRD,17.5 +VTS,1,1,600,1.02,CSH,8 +VTS,1,1,420,1,CSH,6.5 +VTS,1,1,300,1.52,CSH,7 +VTS,1,1,1620,17.51,CSH,47 +VTS,1,1,120,0.8,CSH,4.5 +VTS,1,1,540,2.09,CRD,9 +VTS,2,1,1620,18.95,CRD,52 +VTS,1,1,360,0.8,CSH,5.5 +VTS,1,1,720,2.37,CRD,10.5 +VTS,1,1,420,2.47,CRD,9 +VTS,1,1,540,1.71,CSH,8 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,720,3.48,CSH,13 +VTS,1,1,780,4.34,CRD,15.5 +VTS,1,1,720,3.45,CRD,12 +VTS,1,1,660,2.22,CSH,10.5 +VTS,1,1,1260,5.25,CRD,19 +VTS,1,1,1560,9.74,CSH,29.5 +VTS,1,1,120,0.5,CRD,3.5 +VTS,1,1,540,2.1,CSH,9.5 +VTS,1,1,60,0,CRD,3 +VTS,1,1,180,1.2,CSH,5.5 +VTS,1,1,420,1.19,CRD,7.5 +VTS,1,1,1260,5.2,CSH,19.5 +VTS,1,1,240,0.9,CSH,5.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,780,3.32,CSH,13 +VTS,1,1,1020,6.01,CSH,19 +VTS,1,1,300,1.44,CRD,6.5 +VTS,1,1,480,1.04,CRD,7 +VTS,1,1,960,4.87,CRD,17.5 +VTS,1,1,120,0.58,CRD,4 +VTS,1,1,1740,10.32,CSH,32.5 +VTS,1,1,1440,9.04,CSH,29 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,720,3.22,CSH,12 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,1,360,1.09,CSH,6 +VTS,1,1,900,2.68,CRD,12.5 +VTS,1,1,2160,12.64,CRD,40 +VTS,1,1,240,0.63,CRD,4.5 +VTS,1,1,720,1.23,CSH,9 +VTS,1,1,1200,2.6,CSH,14.5 +VTS,1,1,900,3.39,CRD,14 +VTS,1,1,540,1.56,CRD,8 +VTS,1,1,720,3.03,CRD,11.5 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,780,1.08,CSH,9 +VTS,1,1,900,2.15,CRD,12 +VTS,1,1,600,1.09,CSH,7.5 +VTS,1,1,660,2.81,CRD,10.5 +VTS,1,1,1020,4.95,CRD,17 +VTS,1,1,660,2.73,CRD,10.5 +VTS,1,1,1020,3.55,CRD,15.5 +VTS,1,1,1500,3.62,CRD,17.5 +VTS,1,1,900,4.71,CRD,17 +VTS,1,1,420,1.29,CSH,7 +VTS,1,1,1020,2.44,CSH,13 +CMT,1,2,428,0.9,CSH,6.5 +CMT,1,1,243,0.6,CSH,4.5 +CMT,1,3,231,1.3,CSH,6 +CMT,1,2,283,0.7,CRD,5.5 +CMT,1,1,451,1,CSH,7 +CMT,1,1,360,1.2,CSH,6 +CMT,1,1,387,1.3,CRD,7 +CMT,1,1,953,4.2,CSH,15.5 +CMT,1,2,376,0.6,CRD,6 +CMT,1,1,539,1.9,CSH,9 +CMT,1,1,1294,5.7,CSH,20 +CMT,1,1,880,3.2,CRD,13 +CMT,1,1,1691,11.6,CSH,36 +VTS,1,1,360,0.82,CSH,6 +VTS,1,1,360,0.89,CSH,5.5 +VTS,1,1,120,0.47,CRD,4 +VTS,1,1,420,1.42,CRD,7.5 +VTS,1,1,180,1.14,CRD,5.5 +VTS,1,1,1020,4.75,CSH,17 +VTS,1,1,780,2.03,CRD,10.5 +VTS,1,1,240,0.42,CRD,4.5 +VTS,1,1,960,4,CRD,15.5 +VTS,1,1,600,2.49,CRD,10.5 +VTS,1,1,360,1.8,CRD,7.5 +VTS,1,1,1080,3.25,CSH,14 +VTS,1,1,300,1.24,CRD,6 +VTS,1,1,660,3.22,CSH,12.5 +VTS,1,1,1380,11.62,CRD,32.5 +VTS,1,1,480,1.1,CSH,7 +VTS,1,1,1320,11.33,CRD,32 +VTS,1,1,540,3.5,CRD,12 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,1,1440,4.35,CSH,19 +VTS,1,1,360,1.11,CRD,6 +VTS,1,1,1320,9.58,CRD,28.5 +CMT,1,4,682,0.9,CSH,8.5 +CMT,1,1,627,1.5,CRD,9 +CMT,1,1,1679,4.7,CRD,21 +CMT,1,1,595,2,CSH,9 +VTS,1,1,300,1.89,CRD,7.5 +VTS,1,1,240,0.35,CRD,4.5 +VTS,1,1,300,1.16,CSH,6 +CMT,1,1,140,1,CSH,5 +CMT,1,1,277,0.5,CSH,5 +CMT,1,1,834,1.3,CSH,9.5 +CMT,1,1,458,1,CRD,7 +CMT,1,2,2204,11.5,CRD,36.5 +CMT,1,2,264,1,CSH,5.5 +CMT,1,1,889,2.9,CSH,12.5 +CMT,1,1,657,2.7,CSH,11 +CMT,1,2,914,2.2,CRD,11.5 +CMT,1,3,1219,3.8,CRD,16.5 +CMT,1,1,270,0.8,CRD,5 +CMT,1,1,414,0.7,CSH,6.5 +CMT,1,3,1593,3.7,CSH,19.5 +CMT,1,1,460,1.7,CRD,8 +CMT,1,1,462,0.9,CSH,6.5 +CMT,1,2,575,1.9,CSH,8.5 +CMT,1,1,613,1.5,CSH,8.5 +CMT,1,1,1549,13.1,CRD,36.5 +CMT,1,1,571,0.9,CSH,7.5 +CMT,1,1,1076,4,CRD,15.5 +CMT,1,1,1295,2.2,CSH,14 +CMT,1,1,702,5.1,CRD,17 +CMT,1,1,380,1.3,CRD,6.5 +VTS,1,1,720,3.05,CRD,12 +CMT,1,1,58,0.2,CSH,3 +CMT,1,1,575,1.4,CRD,8 +CMT,1,1,5,1.4,CSH,12.5 +CMT,1,2,1360,2.9,CSH,16 +CMT,1,1,904,2.3,CSH,12 +CMT,1,1,303,0.8,CRD,5.5 +CMT,1,2,601,1.6,CSH,8.5 +CMT,1,1,322,1.3,CRD,6.5 +CMT,1,2,730,4.2,CRD,14.5 +CMT,1,1,1059,3.3,CSH,15 +CMT,1,2,506,2.7,CSH,10.5 +CMT,1,1,316,0.3,CSH,5 +CMT,1,3,686,2.5,CRD,11 +CMT,1,1,1083,3.7,CSH,15.5 +CMT,1,1,787,1,CRD,9 +CMT,1,4,447,1.1,CSH,7 +CMT,1,2,941,3.8,CSH,14 +CMT,1,2,178,0.7,CRD,4.5 +CMT,1,1,273,0.4,CSH,4.5 +CMT,1,1,1378,3.3,CSH,16 +CMT,1,1,626,1.5,CSH,8.5 +CMT,1,1,863,2.6,CRD,12 +CMT,1,1,1231,5.1,CRD,19 +CMT,1,1,1185,2,CRD,13.5 +CMT,1,1,129,0.7,CSH,4.5 +VTS,1,1,600,1.46,CRD,9 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,1140,3.24,CSH,15 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,420,1.61,CRD,7.5 +VTS,1,1,660,4.31,CRD,14 +VTS,1,1,540,1.53,CSH,8 +VTS,1,1,300,1.4,CSH,7 +VTS,1,1,300,0.93,CSH,6 +VTS,1,1,420,1.19,CRD,6.5 +VTS,1,1,240,0.65,CSH,5 +VTS,1,1,360,0.77,CRD,6 +VTS,1,1,540,1.68,CRD,8.5 +VTS,1,1,780,3.22,CSH,13.5 +VTS,1,1,420,2.5,CRD,9 +VTS,1,1,300,1.38,CRD,6.5 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,720,2.23,CRD,10 +VTS,1,1,720,2.88,CRD,12 +VTS,1,1,1020,4.52,CRD,17 +VTS,1,1,480,1.84,CSH,8 +VTS,1,1,840,3.24,CSH,12.5 +VTS,1,1,1020,5.89,CRD,20 +VTS,1,1,660,2.17,CSH,9.5 +VTS,1,1,780,3.87,CRD,13.5 +VTS,1,1,720,2.92,CRD,11.5 +VTS,1,1,240,1.21,CSH,5.5 +VTS,1,1,720,4.81,CSH,16 +VTS,1,1,360,1.35,CRD,6.5 +VTS,1,1,480,0.94,CSH,7 +VTS,1,1,780,4.05,CRD,14 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,540,3.21,CRD,11.5 +VTS,1,1,1380,3.22,CRD,16.5 +VTS,1,1,840,5.09,CRD,17 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,480,1.57,CRD,7.5 +CMT,1,1,621,1,CRD,8 +CMT,1,1,964,6.6,CSH,21.5 +CMT,1,1,289,1.1,CSH,6 +CMT,1,1,312,0.6,CRD,5.5 +CMT,1,2,771,1.3,CRD,9.5 +CMT,1,1,715,2.1,CSH,10.5 +CMT,1,3,440,0.8,CSH,6.5 +CMT,1,1,1063,6.2,CRD,20.5 +CMT,1,2,111,0.4,CSH,3.5 +CMT,1,2,261,0.7,CRD,5 +CMT,1,1,1486,5.1,CRD,21.5 +CMT,1,2,1014,2.2,CSH,12.5 +CMT,1,1,657,2.1,CRD,10 +CMT,1,1,101,0.2,CSH,3.5 +CMT,1,1,583,1.1,CSH,8 +VTS,1,1,240,1.2,CSH,6 +VTS,1,1,720,2.94,CRD,11.5 +VTS,1,1,660,2.05,CSH,9.5 +VTS,1,1,360,1.3,CRD,6.5 +VTS,1,1,600,1.82,CRD,9 +VTS,1,1,180,0.78,CRD,5 +VTS,2,1,1620,17.94,CSH,52 +CMT,1,1,307,0.9,CRD,5.5 +CMT,1,2,415,1.1,CSH,6.5 +CMT,1,1,236,0.8,CRD,5 +CMT,1,1,338,1.1,CRD,6 +CMT,1,4,546,1.2,CSH,7.5 +CMT,1,1,151,0.4,CSH,4 +CMT,1,1,372,1.5,CRD,7 +CMT,1,1,368,1,CRD,6.5 +CMT,1,1,588,1.8,CSH,9 +CMT,1,1,675,2.4,CRD,10.5 +CMT,1,2,187,1.1,CRD,5.5 +CMT,1,1,109,0.2,CSH,3.5 +CMT,1,3,532,1,CSH,7.5 +CMT,1,1,52,0.2,CSH,3 +CMT,1,1,255,1,CRD,5.5 +CMT,1,1,621,1.4,CRD,8.5 +CMT,1,1,831,2.1,CRD,11.5 +CMT,1,1,720,2.8,CRD,12 +CMT,1,1,1239,2.5,CRD,14.5 +CMT,1,3,370,1,CSH,6 +CMT,1,2,455,1.1,CSH,7 +CMT,1,1,905,3.2,CRD,13 +CMT,1,2,369,1.1,CSH,6.5 +CMT,1,1,1830,5.3,CSH,23 +CMT,1,2,2107,10.4,CRD,34.5 +CMT,1,1,1354,2.7,CRD,15.5 +CMT,1,1,789,3.6,CSH,14.5 +CMT,1,1,866,2.2,CSH,11.5 +CMT,1,2,398,1,CSH,6.5 +CMT,1,1,1034,8,CRD,23 +CMT,1,2,156,0.7,CSH,4.5 +CMT,1,2,1002,2,CSH,12.5 +CMT,1,1,290,0.4,CRD,5 +CMT,1,1,314,1.8,CSH,7.5 +CMT,1,2,443,0.9,CSH,7 +CMT,1,1,1747,7.3,CSH,26 +CMT,1,2,708,2.2,CRD,10.5 +CMT,1,1,327,1,CRD,6 +CMT,1,1,619,2.1,CSH,10 +CMT,1,2,419,1.2,CSH,7 +CMT,1,1,957,4.5,CRD,17 +CMT,1,1,541,1,CRD,7.5 +CMT,1,1,1214,2.6,CSH,13.5 +CMT,1,1,711,2.4,CRD,10.5 +CMT,1,2,235,0.5,CRD,4.5 +CMT,1,1,537,1.2,CRD,8 +CMT,1,3,591,1.7,CSH,9 +CMT,1,1,1022,4.6,CRD,17.5 +CMT,1,1,545,1.2,CRD,8 +CMT,1,1,680,2.9,CRD,12 +CMT,1,2,509,1.9,CRD,8.5 +CMT,1,1,938,3.1,CSH,13 +CMT,1,1,759,2.8,CRD,12 +CMT,1,1,167,0.3,CSH,3.5 +CMT,1,1,413,1.1,CRD,6.5 +CMT,1,1,565,1.6,CSH,8.5 +CMT,1,2,987,1.7,CSH,11.5 +CMT,1,1,821,3.5,CSH,13 +CMT,1,1,675,3.4,CRD,12 +CMT,1,1,1620,3.9,CRD,18 +CMT,1,1,967,2.5,CSH,12.5 +CMT,1,1,524,1.5,CSH,8 +CMT,1,1,144,0.7,CRD,4 +CMT,1,4,394,1.2,CSH,6.5 +CMT,1,1,279,0.8,CSH,5 +CMT,1,1,1432,5.1,CRD,20.5 +CMT,1,1,1234,2.2,CSH,14 +CMT,1,1,591,1.7,CRD,9 +CMT,1,3,947,1.6,CSH,11 +CMT,1,1,999,1.8,CSH,11.5 +CMT,1,1,682,1.9,CSH,10 +CMT,2,1,2833,17.1,CRD,52 +CMT,1,1,555,1.5,CSH,8 +CMT,1,1,186,0.5,CSH,4 +CMT,1,1,286,1.2,CRD,6 +CMT,1,1,1069,3.7,CSH,14.5 +CMT,1,2,781,0.8,CSH,9.5 +CMT,1,2,672,1.8,CSH,9.5 +CMT,1,1,1023,3,CRD,13.5 +CMT,1,1,499,1.5,CSH,8 +CMT,1,1,217,0.8,CRD,5 +CMT,1,2,841,3,CRD,12 +CMT,1,1,1001,3.5,CRD,14 +CMT,1,1,1309,7.4,CRD,24 +CMT,1,3,246,0.9,CRD,5 +CMT,1,1,880,2.5,CRD,12 +CMT,1,1,764,1.4,CRD,9.5 +CMT,1,1,223,0.5,CSH,4.5 +CMT,1,1,280,0.7,CSH,5.5 +CMT,1,1,102,0.3,CSH,3.5 +CMT,1,2,827,2.4,CSH,11 +CMT,1,1,658,1.5,CRD,9 +CMT,1,2,658,1.1,CSH,8.5 +CMT,1,1,577,1.4,CSH,8.5 +CMT,1,1,600,0.9,CSH,8 +CMT,1,2,1338,3.3,CSH,16.5 +CMT,1,1,332,0.5,CSH,5.5 +CMT,1,1,0,0,CSH,6.5 +CMT,1,1,340,0.8,CSH,5.5 +CMT,1,2,417,1.1,CRD,6.5 +CMT,1,1,794,2.4,CSH,11.5 +CMT,1,1,102,0.5,CSH,3.5 +CMT,1,1,241,0.9,CRD,5.5 +CMT,1,1,336,1.1,CRD,6.5 +CMT,1,1,301,0.7,CRD,5.5 +CMT,1,1,852,2.7,CSH,12 +CMT,1,1,792,1.5,CSH,10 +CMT,1,2,649,2.4,CSH,10 +CMT,1,1,717,2.5,CRD,11.5 +CMT,1,2,358,0.6,CRD,5.5 +CMT,1,2,577,0.9,CRD,7.5 +CMT,1,2,465,1.1,CRD,7 +CMT,1,1,452,0.6,CRD,6.5 +CMT,1,1,950,3,CRD,12.5 +CMT,1,1,300,0.7,CRD,5 +CMT,1,2,278,0.5,CRD,5 +CMT,1,1,1513,9.6,CRD,29.5 +CMT,1,1,578,2.2,CSH,9.5 +CMT,1,1,524,1.1,CSH,7.5 +CMT,1,1,839,4.3,CRD,15 +VTS,1,1,1860,19.47,CRD,52.5 +VTS,1,1,660,1.72,CSH,9 +VTS,1,1,660,4.4,CSH,14.5 +CMT,1,2,172,0.5,CRD,4 +CMT,1,1,306,0.6,CSH,5.5 +CMT,1,1,1143,2.1,CSH,13 +CMT,1,1,868,3.1,CSH,12.5 +CMT,1,2,517,1.1,CSH,7.5 +CMT,1,1,821,2,CRD,11 +CMT,1,1,1218,4.7,CRD,19 +CMT,1,1,229,0.8,CSH,5 +CMT,1,4,801,1.9,CRD,10.5 +CMT,1,2,788,1.6,CSH,10.5 +CMT,1,2,544,1.1,CSH,7.5 +CMT,1,1,382,1.1,CSH,6.5 +CMT,1,1,241,1,CRD,5.5 +CMT,1,1,990,1.7,CSH,11 +CMT,1,2,436,0.8,CSH,6.5 +CMT,1,1,473,3.6,CSH,12 +CMT,1,1,374,2.3,CSH,8.5 +CMT,1,1,1132,4.7,CSH,18.5 +CMT,1,4,1062,2.9,CSH,13.5 +CMT,1,1,541,1.7,CRD,8.5 +CMT,1,1,479,0.7,CSH,6.5 +CMT,1,1,1147,1.9,CSH,13 +CMT,1,1,827,2.4,CSH,11.5 +CMT,1,1,633,1.7,CRD,9 +CMT,1,1,1839,11.4,CSH,33.5 +CMT,1,3,624,1.7,CSH,9 +CMT,1,1,611,1.2,CRD,8 +CMT,1,1,843,2.5,CRD,11.5 +CMT,1,3,688,1.5,CRD,9 +CMT,1,3,798,6,CRD,18.5 +CMT,1,2,729,1.6,CSH,9.5 +CMT,1,1,324,1,CRD,6 +CMT,1,1,796,2,CRD,10.5 +CMT,1,3,535,0.5,CSH,7 +CMT,1,1,2107,7.3,CRD,28 +CMT,1,1,435,1.3,CRD,7 +CMT,1,1,736,2.8,CRD,12 +CMT,1,1,343,0.8,CSH,6 +CMT,1,1,649,1,CSH,8.5 +CMT,1,1,331,1.1,CRD,6 +CMT,1,2,1394,3.3,CSH,16.5 +CMT,1,2,769,2,CSH,10.5 +VTS,2,1,2340,21.19,CSH,52 +VTS,1,1,600,1.89,CRD,9 +VTS,3,1,1680,18.5,CSH,67 +VTS,1,2,480,0.96,CSH,6.5 +VTS,1,2,540,1.27,CSH,8 +VTS,1,1,360,1.37,CRD,7 +VTS,1,2,420,2.01,CSH,8 +VTS,1,2,540,1.28,CRD,7.5 +VTS,1,3,480,1.61,CSH,7 +VTS,1,2,240,1.25,CSH,5.5 +CMT,1,1,805,2.5,CSH,11 +CMT,1,2,810,2.1,CRD,10.5 +CMT,1,1,281,0.6,CRD,5 +CMT,1,1,489,0.8,CRD,7 +CMT,1,1,607,1.2,CSH,8 +CMT,1,2,302,0.9,CSH,5.5 +CMT,1,2,598,1.2,CRD,8 +CMT,1,1,748,2.6,CRD,11 +CMT,1,1,436,1.1,CRD,7 +CMT,1,1,254,0.8,CRD,5 +CMT,1,1,451,1,CSH,7 +CMT,1,1,355,0.6,CSH,5.5 +CMT,1,1,552,1.3,CSH,8 +CMT,1,1,637,2.2,CRD,10 +CMT,1,1,333,0.8,CSH,5.5 +CMT,1,1,914,3.4,CRD,14.5 +CMT,1,2,554,0.9,CSH,7.5 +CMT,1,1,203,0.6,CRD,4.5 +CMT,1,1,824,2.4,CSH,11 +CMT,1,1,1020,3.1,CRD,13.5 +CMT,1,1,457,0.8,CSH,6.5 +CMT,1,1,576,1.5,CSH,8.5 +CMT,1,1,1234,1.5,CRD,13 +CMT,1,1,967,3.8,CRD,14.5 +CMT,1,1,189,0.6,CRD,4.5 +CMT,1,1,529,1.2,CRD,7.5 +VTS,1,1,360,1.16,CSH,6.5 +VTS,1,1,1020,2.17,CRD,12.5 +VTS,1,1,480,1.77,CRD,8 +VTS,1,1,780,1.25,CSH,9 +VTS,1,1,360,1.85,CRD,7.5 +VTS,1,1,1680,8.81,CSH,28 +VTS,1,1,360,1.99,CRD,7.5 +VTS,1,1,960,2.23,CSH,12.5 +VTS,1,1,540,1.74,CRD,8.5 +VTS,1,1,840,4.34,CSH,15 +VTS,1,1,180,0.35,CSH,3.5 +VTS,1,1,300,1.69,CRD,6.5 +VTS,1,1,360,0.87,CSH,6 +VTS,1,1,600,1.67,CSH,8.5 +VTS,1,1,1380,9.39,CRD,29 +VTS,1,1,1740,6.62,CRD,25 +VTS,1,2,660,2.5,CSH,10.5 +VTS,1,1,180,0.57,CSH,4 +CMT,1,1,314,0.9,CSH,4.5 +CMT,1,2,667,1.5,CSH,8.5 +CMT,1,2,1265,2.4,CSH,15 +CMT,1,1,795,1.4,CSH,9.5 +CMT,2,1,1281,16,CRD,52 +CMT,1,2,52,1.9,CSH,2.5 +CMT,1,4,0,0,CSH,12 +CMT,1,1,375,1.1,CRD,6.5 +CMT,1,3,567,1.2,CRD,7.5 +CMT,1,1,255,0.6,CRD,5 +CMT,1,2,563,1.1,CSH,7.5 +CMT,1,1,297,0.8,CRD,5.5 +CMT,1,1,421,1,CSH,6.5 +CMT,1,2,507,1.9,CRD,8.5 +CMT,1,1,627,2,CSH,9.5 +CMT,1,1,498,1.4,CRD,7.5 +CMT,1,1,317,1.3,CSH,6.5 +CMT,1,1,804,7.3,CRD,21.5 +CMT,1,1,265,0.7,CSH,5 +CMT,1,2,854,2,CRD,11 +CMT,1,1,808,3.3,CSH,12.5 +CMT,1,1,555,1.5,CSH,8.5 +CMT,1,2,472,1.3,CSH,7.5 +CMT,1,1,1385,3.7,CRD,17 +CMT,1,1,357,1.2,CSH,6.5 +CMT,1,2,904,1.7,CSH,11 +CMT,1,1,675,2,CSH,10 +CMT,1,1,97,0.3,CRD,3.5 +CMT,1,1,296,1,CRD,5.5 +CMT,1,2,1701,5.9,CSH,22.5 +CMT,1,1,151,0.4,CSH,4 +CMT,1,1,790,1.9,CRD,10.5 +CMT,1,2,210,0.7,CSH,5 +CMT,1,1,244,0.4,CSH,4.5 +CMT,1,3,771,2.4,CRD,11.5 +CMT,1,1,1376,2.9,CSH,16 +CMT,1,1,461,1.9,CRD,8 +CMT,1,1,1825,10.2,CSH,30 +CMT,1,1,653,1.2,CRD,8 +CMT,1,1,735,1.7,CRD,10 +CMT,1,1,719,1.7,CRD,9 +CMT,1,1,728,1.4,CRD,9 +CMT,1,2,898,0.9,CRD,10 +CMT,1,1,514,1.8,CRD,8.5 +CMT,1,1,806,1.9,CRD,10.5 +CMT,1,1,843,2.5,CRD,11.5 +CMT,1,1,1685,2.5,CRD,17.5 +CMT,1,1,1310,2.3,CRD,14.5 +CMT,1,2,533,2.1,CRD,9 +VTS,1,1,240,0.69,CSH,4.5 +VTS,1,1,1080,3.88,CRD,15 +VTS,2,2,1680,18.02,CRD,52 +VTS,1,1,540,1.62,CRD,8 +VTS,1,1,600,1.56,CRD,8.5 +VTS,2,2,1860,19.31,CRD,52 +VTS,1,1,540,1.44,CSH,8 +VTS,1,1,720,1.79,CRD,9.5 +VTS,1,1,600,1.24,CSH,7.5 +VTS,2,1,2220,19.57,CRD,52 +VTS,1,1,420,0.96,CSH,6.5 +CMT,1,3,173,0.5,CSH,4 +CMT,1,1,460,1.1,CRD,7 +CMT,1,1,542,1.2,CRD,7.5 +CMT,1,1,565,1.9,CRD,9 +CMT,1,1,475,1.5,CSH,7.5 +CMT,1,1,559,1.7,CRD,8.5 +CMT,1,1,452,0.6,CRD,6.5 +CMT,1,2,991,1.8,CRD,11.5 +CMT,1,2,739,1.5,CSH,9 +CMT,1,1,303,1.4,CSH,6 +CMT,1,1,965,2.3,CRD,12 +CMT,1,1,369,1.1,CSH,6.5 +CMT,1,1,247,0.9,CRD,5 +CMT,1,1,286,0.5,CSH,5 +CMT,1,1,292,1.1,CSH,5.5 +CMT,1,1,2228,11.5,CRD,36.5 +CMT,1,1,534,1.1,CSH,7.5 +CMT,1,1,453,1.3,CSH,7 +CMT,1,1,199,1.1,CSH,5.5 +CMT,1,1,700,2.4,CSH,11 +CMT,2,2,2388,18.5,CRD,52 +CMT,1,1,370,0.9,CRD,6 +CMT,1,1,681,1.9,CSH,9.5 +CMT,1,1,551,0.8,CRD,7.5 +CMT,1,1,742,2,CSH,10 +CMT,1,1,2158,16.6,CRD,45.5 +CMT,1,1,434,1.1,CRD,7 +CMT,1,1,982,4.6,CRD,16.5 +CMT,1,1,1208,2.2,CRD,14 +CMT,1,1,332,1.3,CRD,6 +CMT,1,1,1099,3,CRD,13.5 +CMT,1,1,1201,4.3,CRD,17.5 +CMT,1,1,350,0.7,CRD,6 +CMT,1,1,541,2.1,CSH,9 +CMT,1,1,1211,3.2,CRD,15 +CMT,1,1,369,1,CRD,6 +CMT,2,3,3504,18.9,CRD,52 +CMT,1,1,422,1,CRD,7 +CMT,1,1,578,1.5,CRD,8.5 +CMT,1,1,999,2.1,CSH,11.5 +CMT,1,1,188,0.7,CSH,4.5 +CMT,1,1,307,0.6,CSH,5 +CMT,1,1,500,1.2,CSH,7.5 +CMT,1,1,1102,1.3,CSH,12.5 +CMT,1,2,1794,6.9,CRD,25.5 +VTS,1,1,300,0.72,CSH,5 +VTS,1,1,540,1.15,CSH,7 +VTS,1,2,1200,5.09,CSH,19.5 +VTS,1,1,180,1.01,CSH,5.5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,2,540,1.72,CSH,8.5 +VTS,1,1,480,1.94,CSH,8 +CMT,1,1,348,0.8,CRD,6 +CMT,1,1,548,0.7,CRD,7.5 +CMT,1,2,255,0.4,CRD,4.5 +CMT,1,1,1569,10.2,CSH,30.5 +CMT,1,2,452,1.2,CSH,7 +CMT,1,1,340,1,CRD,6 +CMT,1,1,319,1,CRD,6 +VTS,2,1,240,0.44,CRD,52 +VTS,1,1,0,0,CSH,2.5 +VTS,1,3,420,1.31,CSH,7 +VTS,1,1,240,0.51,CRD,5 +VTS,1,1,300,2.34,CSH,8 +VTS,1,1,600,1.81,CRD,8.5 +VTS,1,2,660,1.79,CRD,9 +VTS,1,1,1140,2.58,CRD,13.5 +VTS,1,2,1500,12.75,CSH,36.5 +VTS,1,1,720,2.27,CRD,10.5 +VTS,1,1,660,4.07,CRD,13 +VTS,1,1,420,2.57,CRD,9.5 +VTS,1,1,300,1.08,CRD,6 +VTS,1,1,600,1.78,CRD,8.5 +VTS,1,1,480,1.31,CRD,8 +VTS,1,2,660,2.04,CRD,9.5 +VTS,1,1,420,1.43,CRD,6.5 +VTS,1,3,1140,1.27,CSH,12 +VTS,1,1,180,0.22,CRD,3.5 +CMT,1,1,402,1.3,CRD,7 +CMT,1,1,924,2,CRD,11 +CMT,1,1,723,2.1,CRD,10 +CMT,1,1,1000,3,CRD,13.5 +CMT,1,1,785,2,CRD,10.5 +CMT,1,1,369,0.9,CRD,6 +CMT,1,1,1284,1.5,CSH,13.5 +VTS,2,2,1680,17.24,CSH,52 +VTS,2,1,2220,19.69,CRD,52 +VTS,1,1,360,0.86,CSH,5.5 +VTS,2,1,1620,18.06,CRD,52 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,540,1.54,CSH,8.5 +VTS,1,1,1200,4.98,CSH,18.5 +VTS,1,2,720,2.97,CSH,11.5 +VTS,1,1,780,2.36,CRD,11 +VTS,1,1,900,1.88,CRD,10.5 +VTS,1,1,1020,2.45,CRD,13 +VTS,1,1,1140,3.43,CSH,13 +VTS,1,2,600,2,CSH,9 +VTS,1,1,480,1.65,CSH,8 +VTS,1,1,1080,2.75,CRD,13 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,480,1.08,CSH,7 +VTS,1,1,240,0.66,CSH,4.5 +VTS,1,2,360,1.28,CRD,6.5 +CMT,1,1,1363,9.4,CRD,28.5 +CMT,1,1,1242,3.7,CSH,16.5 +CMT,1,1,1038,3.1,CSH,14 +VTS,1,1,420,1.62,CRD,8 +VTS,1,1,600,0.89,CSH,7.5 +VTS,2,1,2460,16.89,CSH,52 +VTS,1,2,360,1.12,CSH,6 +VTS,1,1,420,1.52,CSH,7 +VTS,1,1,1020,8.26,CRD,24 +VTS,2,1,2160,18.68,CSH,52 +VTS,1,1,240,0.7,CRD,4.5 +VTS,1,1,480,1.22,CSH,7 +VTS,1,1,660,2.33,CRD,10 +VTS,1,2,360,1.15,CSH,6.5 +VTS,1,1,360,1.01,CSH,6 +VTS,1,1,480,1.6,CRD,8 +VTS,1,1,780,2.02,CRD,10.5 +VTS,1,1,660,1.78,CSH,9 +VTS,1,1,1140,2.17,CRD,13 +VTS,1,1,660,2.29,CSH,9 +VTS,1,1,1500,3.64,CRD,18 +VTS,2,2,2580,18.22,CSH,52 +VTS,1,1,480,1.13,CRD,7 +VTS,1,1,1260,4.35,CRD,17.5 +VTS,1,1,960,4.86,CRD,16 +VTS,1,1,1020,2.07,CSH,11 +VTS,1,1,360,1.1,CRD,6 +VTS,1,1,360,1,CSH,6 +VTS,1,1,960,2.95,CSH,13.5 +VTS,1,1,720,1.74,CRD,9.5 +VTS,1,1,720,1.84,CRD,9.5 +VTS,1,1,1260,3.1,CRD,15 +VTS,1,1,2460,7.31,CRD,30.5 +VTS,2,1,2520,19.93,CSH,52 +VTS,1,1,240,0.98,CRD,5.5 +VTS,1,1,1920,3.35,CSH,21 +VTS,1,1,660,1.97,CRD,9 +VTS,2,1,3060,18.26,CSH,52 +VTS,1,1,780,1.88,CRD,9.5 +VTS,1,1,900,4.08,CSH,14.5 +VTS,1,1,540,2.17,CSH,9.5 +VTS,1,2,780,2.62,CRD,11 +VTS,1,1,1860,4.03,CRD,21.5 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,1140,3.55,CSH,15 +VTS,1,1,1260,9.43,CRD,28.5 +VTS,1,1,660,3.75,CRD,13 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,600,0.87,CRD,7.5 +VTS,1,2,420,1.36,CSH,7 +VTS,1,1,1380,3.43,CSH,17 +VTS,1,2,300,0.83,CSH,5.5 +VTS,1,2,720,1.97,CSH,9 +VTS,1,3,360,1.53,CSH,7 +VTS,1,2,240,1.13,CSH,5.5 +VTS,1,1,540,1.44,CRD,7.5 +VTS,1,2,240,1.03,CSH,5.5 +VTS,1,2,600,2.28,CSH,9.5 +VTS,1,1,1620,5.06,CRD,20.5 +VTS,1,1,660,2.05,CSH,10 +VTS,1,1,300,1,CSH,5.5 +VTS,1,1,480,2.11,CSH,9 +VTS,1,2,660,1.58,CSH,9 +VTS,1,1,480,1.36,CRD,7 +VTS,1,1,600,3.4,CSH,11.5 +VTS,1,1,420,1.11,CSH,7 +VTS,1,1,600,1.67,CRD,8.5 +VTS,1,1,1500,10.54,CRD,31 +VTS,1,1,1380,9.86,CSH,29.5 +VTS,1,2,540,1.53,CSH,7.5 +VTS,1,1,480,1.28,CRD,7 +VTS,1,3,720,1.53,CRD,9 +VTS,1,1,240,1.05,CSH,5 +VTS,1,1,1140,2.74,CRD,13.5 +VTS,1,1,720,1.34,CSH,8 +VTS,1,3,480,1.35,CSH,7 +VTS,2,1,1920,20.02,CRD,52 +VTS,1,1,1080,5.84,CSH,19 +VTS,1,1,300,1,CSH,5.5 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,2,660,2.51,CSH,10 +VTS,1,1,780,2.05,CSH,10.5 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,420,1.18,CSH,6.5 +VTS,2,1,2760,18.46,CRD,52 +VTS,1,1,420,1.06,CRD,6.5 +VTS,1,2,780,2.42,CSH,11.5 +VTS,1,2,1080,3.78,CSH,15 +VTS,1,1,1200,2.24,CRD,14 +VTS,1,2,2340,5.31,CRD,25.5 +VTS,1,2,420,0.91,CSH,6 +VTS,1,1,1020,5.56,CSH,18.5 +VTS,1,1,720,2.37,CRD,10.5 +VTS,1,2,360,1.15,CSH,6 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,480,0.79,CSH,6.5 +VTS,1,1,1140,3.83,CRD,15.5 +VTS,1,1,420,1.5,CSH,7.5 +VTS,1,2,180,0.32,CSH,4 +VTS,1,1,960,4.85,CRD,15.5 +VTS,1,2,840,5.11,CRD,16 +VTS,1,1,540,2.18,CRD,9.5 +VTS,1,2,240,0.56,CRD,4.5 +VTS,1,1,420,1.35,CSH,6.5 +VTS,1,3,480,1.51,CRD,7.5 +VTS,1,1,1020,6.29,CRD,20 +VTS,4,1,3240,35.31,CSH,118.5 +VTS,1,2,300,0.76,CSH,5 +VTS,1,3,540,1.28,CSH,8 +VTS,1,1,0,0.02,CSH,2.5 +VTS,1,1,300,0.99,CRD,6 +VTS,1,1,300,0.67,CSH,5 +VTS,1,2,900,2.82,CRD,12.5 +VTS,1,1,1560,3.1,CRD,17.5 +VTS,1,1,480,0.86,CRD,6.5 +VTS,1,1,360,1.32,CRD,6 +VTS,1,1,1380,4.47,CRD,18.5 +VTS,1,1,1260,3.2,CRD,15.5 +VTS,1,1,420,0.85,CSH,6 +VTS,2,1,2520,15.72,CRD,52 +VTS,1,3,600,2.14,CSH,9 +VTS,1,1,420,1.24,CRD,6.5 +VTS,1,2,1320,5.51,CSH,19.5 +VTS,1,1,600,2.65,CRD,10.5 +VTS,1,2,840,3.66,CRD,13.5 +VTS,1,1,600,1.16,CRD,8 +VTS,1,1,1140,2.46,CRD,13.5 +VTS,1,1,660,1.9,CSH,9 +VTS,1,2,1080,2.57,CRD,12.5 +VTS,1,3,780,1.86,CRD,10.5 +VTS,1,3,120,0.3,CSH,3.5 +VTS,1,2,180,0.71,CRD,4.5 +VTS,2,1,1560,17.34,CRD,52 +VTS,1,1,840,1.5,CRD,10.5 +VTS,1,2,180,0.49,CRD,4 +VTS,1,2,540,2.51,CRD,9.5 +VTS,1,2,720,6.72,CRD,20 +VTS,1,1,660,3.14,CRD,11.5 +VTS,1,3,480,1.52,CRD,7.5 +VTS,1,1,660,1.62,CSH,9 +VTS,1,1,660,2.03,CRD,9.5 +VTS,1,1,1080,5.33,CSH,18.5 +VTS,1,1,240,0.52,CRD,4.5 +VTS,1,1,1260,2.92,CRD,13.5 +VTS,1,1,1320,1.48,CSH,13 +VTS,1,1,360,1.66,CSH,7.5 +VTS,1,1,420,1.61,CRD,7 +VTS,1,2,1020,2.35,CSH,12 +VTS,1,1,660,2.16,CRD,9.5 +VTS,1,1,600,3.09,CRD,11 +VTS,1,1,840,3.27,CRD,13 +VTS,1,1,240,0.73,CRD,4.5 +VTS,1,3,1200,2.49,CSH,13.5 +VTS,1,1,1080,3.1,CRD,14 +VTS,1,1,960,1.69,CRD,11 +VTS,1,1,1260,4.24,CRD,17 +VTS,2,2,1740,18.87,CRD,52 +VTS,1,2,1080,2.67,CSH,13.5 +VTS,1,1,480,1.34,CRD,7 +VTS,1,1,480,1.44,CRD,7.5 +VTS,1,1,900,2.27,CSH,11.5 +VTS,1,1,660,1.34,CSH,8.5 +VTS,1,1,1680,3.87,CSH,18.5 +VTS,1,2,300,0.47,CSH,5 +VTS,1,2,420,2.24,CSH,8 +VTS,1,2,1020,2.74,CRD,13 +VTS,1,1,240,1.06,CSH,5.5 +VTS,1,2,480,1.33,CSH,7 +VTS,1,2,300,1.02,CSH,5.5 +VTS,1,2,540,1.51,CRD,8 +VTS,1,2,420,1.91,CRD,8 +VTS,1,2,600,1.71,CSH,9 +VTS,1,1,960,2.38,CRD,12.5 +VTS,1,1,720,2.66,CSH,11 +VTS,1,1,1140,1.74,CRD,12.5 +VTS,1,2,1080,4.52,CSH,16 +VTS,1,2,660,1.45,CRD,8.5 +VTS,1,2,780,3.2,CRD,12.5 +VTS,1,1,180,1,CRD,5 +VTS,1,2,720,2.67,CRD,11.5 +VTS,1,1,360,0.85,CSH,6 +VTS,1,1,1020,2.05,CSH,12 +VTS,1,2,780,2.12,CRD,10.5 +VTS,1,1,1500,2.69,CRD,16 +VTS,1,3,1500,7.12,CRD,24.5 +VTS,1,2,660,1.27,CRD,8.5 +VTS,1,2,120,0.37,CSH,3.5 +VTS,1,2,600,1.26,CSH,7.5 +VTS,1,1,540,1.64,CSH,8 +VTS,1,1,960,4.26,CRD,15 +VTS,1,2,360,1.41,CRD,7 +VTS,1,1,840,2.48,CRD,11 +VTS,1,1,900,1.92,CSH,11 +VTS,1,1,600,1.84,CRD,8.5 +VTS,1,2,660,2,CRD,9.5 +VTS,1,1,960,1.92,CSH,11.5 +VTS,1,1,360,0.88,CSH,6 +VTS,1,1,360,1.58,CRD,7 +VTS,1,1,660,2.28,CSH,10.5 +VTS,1,1,660,1.54,CSH,9 +VTS,1,2,180,0.8,CSH,4.5 +VTS,1,1,1620,6.45,CRD,22.5 +VTS,1,1,720,3.45,CRD,12.5 +VTS,1,2,660,2.67,CSH,10.5 +VTS,1,1,360,1.12,CSH,6.5 +VTS,1,1,120,0.82,CRD,4.5 +VTS,1,1,720,3.39,CRD,12.5 +VTS,1,1,60,0.12,CSH,3 +VTS,1,1,480,2.35,CRD,9 +VTS,1,1,540,1.76,CSH,8.5 +VTS,1,2,720,4.11,CRD,14 +VTS,1,2,300,1.64,CSH,6.5 +VTS,1,4,1020,4.22,CSH,16 +VTS,1,1,300,1,CSH,5.5 +VTS,1,2,720,1.88,CSH,10 +VTS,1,1,480,1.37,CSH,7 +VTS,1,2,480,1.3,CSH,7.5 +VTS,1,1,1020,2.72,CSH,13 +VTS,1,2,960,3.01,CSH,13 +VTS,1,1,300,0.65,CRD,5 +VTS,1,1,1020,1.56,CRD,11.5 +VTS,1,1,180,0.47,CSH,4 +VTS,1,2,360,1.34,CRD,6.5 +VTS,1,1,120,0.48,CSH,4 +VTS,1,1,2280,7.06,CRD,28 +VTS,1,1,1020,3.84,CRD,14.5 +VTS,1,1,720,2.22,CRD,10.5 +VTS,1,2,1080,3.99,CSH,15.5 +VTS,1,1,780,3.48,CSH,13.5 +VTS,1,1,1140,2.63,CRD,13 +VTS,1,2,480,1.8,CRD,8 +VTS,1,1,480,1.63,CRD,8 +VTS,1,1,420,1.9,CSH,8 +VTS,1,1,2460,4.61,CRD,27.5 +VTS,2,1,1680,17.56,CRD,52 +VTS,1,2,240,0.72,CSH,5 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,2,1320,4.89,CSH,19 +VTS,1,1,420,1.32,CRD,6.5 +VTS,1,1,360,1.22,CSH,6.5 +VTS,1,1,780,2.06,CSH,11 +VTS,1,1,840,1.88,CRD,11 +VTS,1,3,240,0.77,CSH,5 +VTS,1,1,360,0.97,CSH,6 +VTS,1,1,180,0.49,CRD,4 +VTS,1,1,180,0.41,CSH,4 +VTS,1,1,420,2.17,CRD,8.5 +VTS,1,1,240,1.25,CSH,5.5 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,780,2.9,CRD,11.5 +VTS,2,1,2340,18.03,CRD,52 +VTS,1,1,300,0.51,CRD,4.5 +VTS,1,2,480,1.58,CRD,8 +VTS,1,1,480,1.57,CRD,7.5 +VTS,1,1,840,1.38,CSH,10 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,420,1.8,CSH,7 +VTS,1,1,360,1.72,CRD,7 +VTS,1,1,540,1.52,CRD,8 +VTS,1,1,480,1.68,CSH,7.5 +VTS,2,1,1860,18.23,CRD,52 +VTS,1,1,360,1.36,CRD,6.5 +VTS,1,1,840,3.71,CSH,14.5 +VTS,1,1,240,1.35,CRD,6 +VTS,1,2,360,1.98,CSH,8 +VTS,1,1,300,1.17,CRD,6 +VTS,1,1,780,3.55,CSH,13 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,1,600,1.64,CSH,8.5 +VTS,1,1,180,0.65,CRD,4 +VTS,1,1,300,0.54,CSH,5 +VTS,1,1,180,0.85,CRD,4.5 +VTS,1,1,960,3.8,CRD,14 +VTS,1,2,840,2.67,CSH,11.5 +VTS,1,1,1680,8.62,CRD,28.5 +VTS,1,1,300,0.4,CSH,3.5 +VTS,1,2,1020,3.35,CSH,13.5 +VTS,1,2,300,0.85,CSH,5 +VTS,1,1,300,0.58,CSH,5 +VTS,2,1,3000,18.21,CSH,52 +VTS,1,1,480,1.23,CSH,7 +VTS,1,2,960,3.17,CSH,13.5 +VTS,1,1,600,1.67,CSH,9 +VTS,1,1,720,4.23,CSH,14.5 +VTS,1,1,1200,4.1,CRD,17 +VTS,1,2,360,1.18,CSH,6.5 +VTS,1,1,420,1.54,CRD,7 +VTS,1,1,900,1.26,CRD,10 +VTS,1,1,1560,6.48,CSH,22.5 +VTS,1,1,1080,6.39,CSH,21.5 +VTS,1,3,540,1.32,CRD,8 +VTS,1,1,1140,4.54,CSH,17 +VTS,1,1,180,0.52,CSH,4 +VTS,1,1,660,5.83,CRD,17.5 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,2,660,1.97,CRD,9.5 +VTS,1,1,480,1.42,CSH,8 +VTS,1,1,480,1.78,CRD,8 +VTS,1,1,720,4.17,CRD,14.5 +VTS,1,4,300,1.27,CSH,6 +VTS,1,2,600,2.19,CSH,9.5 +VTS,1,2,180,0.77,CSH,4.5 +VTS,1,1,240,1.05,CSH,5.5 +VTS,1,1,480,2,CRD,8.5 +VTS,1,1,480,2.17,CRD,8.5 +VTS,1,1,780,1.69,CSH,9.5 +VTS,1,2,1020,1.44,CRD,11 +VTS,1,1,900,2.63,CSH,12 +VTS,1,2,840,5.06,CRD,16 +VTS,1,3,540,1.61,CSH,8.5 +VTS,1,1,240,1.4,CRD,6.5 +VTS,2,1,1680,17.88,CRD,52 +VTS,1,1,120,0.36,CRD,3 +VTS,1,1,1380,2.01,CSH,14.5 +VTS,1,1,540,1.3,CSH,7.5 +VTS,1,1,600,2.42,CRD,9.5 +VTS,1,1,1320,4.87,CRD,19.5 +VTS,1,1,1500,5.82,CRD,20.5 +VTS,1,1,360,1.54,CSH,6.5 +VTS,1,1,960,4.98,CRD,17.5 +VTS,1,1,1140,2.83,CSH,13.5 +VTS,1,3,540,0.99,CSH,7 +VTS,1,1,960,1.62,CRD,11 +VTS,1,1,60,0.11,CSH,3 +VTS,1,3,600,1.77,CSH,8.5 +VTS,1,4,1200,3.33,CRD,14.5 +VTS,1,3,240,0.29,CSH,4 +VTS,1,1,840,1.92,CRD,10.5 +VTS,1,3,1140,3.7,CSH,16 +VTS,1,1,2340,5.16,CRD,25 +VTS,1,2,960,4.3,CSH,15.5 +VTS,1,1,420,0.81,CSH,6 +VTS,1,1,840,1.06,CRD,10 +VTS,1,1,900,4.05,CRD,14.5 +VTS,1,2,300,0.59,CSH,5 +VTS,1,2,960,2.88,CRD,12.5 +VTS,1,2,1260,10,CSH,29.5 +VTS,1,2,540,1.56,CRD,7.5 +VTS,1,2,1500,6.8,CRD,22 +VTS,1,2,540,1.35,CSH,8 +VTS,1,1,840,4.37,CSH,14.5 +VTS,1,1,1320,3.95,CSH,18 +VTS,1,1,420,0.83,CSH,6 +VTS,1,2,1080,1.39,CSH,11.5 +VTS,1,1,1560,5.61,CSH,21.5 +VTS,1,2,1380,3.93,CSH,17.5 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,720,2.32,CRD,10.5 +VTS,1,1,720,2.37,CRD,10 +VTS,1,2,960,2.59,CRD,12.5 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,2,420,1.3,CSH,7 +VTS,1,2,840,2.36,CRD,11 +VTS,1,1,360,1.38,CRD,6.5 +VTS,1,1,300,1.45,CSH,6.5 +VTS,1,2,480,2.17,CRD,9 +VTS,1,1,600,1.51,CRD,8.5 +VTS,1,3,480,2.37,CSH,9.5 +VTS,1,1,420,1.36,CSH,7 +VTS,1,1,660,1.88,CSH,9 +VTS,1,1,300,1.28,CSH,6.5 +VTS,1,1,600,2.05,CRD,9 +VTS,1,1,300,1.15,CSH,6 +VTS,1,2,300,0.88,CSH,5.5 +VTS,1,1,1680,4.83,CRD,20.5 +VTS,1,1,960,5.24,CRD,17 +VTS,1,1,1020,8.69,CRD,25.5 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,1020,1.67,CRD,12 +VTS,1,2,480,2.75,CRD,9.5 +VTS,1,1,300,0.67,CSH,5 +VTS,1,1,720,1.44,CSH,9 +VTS,1,1,840,1.22,CSH,9.5 +VTS,1,2,300,1.08,CSH,5.5 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,300,1.5,CRD,7 +VTS,1,1,780,2.06,CSH,11 +VTS,1,2,660,1.18,CSH,8.5 +VTS,1,1,600,1.1,CSH,8 +VTS,1,1,1080,2.87,CRD,13.5 +VTS,1,1,1080,7.54,CRD,23 +VTS,1,1,240,0.99,CRD,5.5 +VTS,1,1,300,1.54,CSH,6.5 +VTS,1,3,2040,6.14,CRD,24.5 +VTS,1,2,1260,5.64,CSH,18.5 +VTS,1,1,360,1.73,CSH,7.5 +VTS,1,1,480,1.65,CRD,7.5 +VTS,1,1,960,3.59,CRD,13.5 +VTS,1,4,900,5.05,CSH,18 +CMT,1,3,437,1.2,CSH,7 +CMT,1,1,446,1.1,CSH,6.5 +CMT,1,1,612,1.9,CSH,9.5 +CMT,1,1,774,2.2,CRD,10.5 +VTS,1,1,300,1.78,CSH,7 +VTS,1,1,600,1.93,CRD,9 +VTS,1,2,600,2.05,CSH,9.5 +VTS,1,1,480,1.9,CRD,8 +VTS,1,2,1920,10.75,CRD,33 +VTS,1,2,780,2.34,CSH,10.5 +VTS,1,1,120,0.62,CSH,4 +VTS,1,1,900,1.81,CRD,11 +VTS,1,1,300,0.99,CSH,6 +VTS,1,1,1380,5.42,CSH,20 +VTS,1,2,540,1.48,CSH,8 +VTS,2,2,1980,18.38,CRD,52 +VTS,2,2,2640,17.97,CSH,52 +VTS,2,2,1920,16.47,CSH,52 +VTS,1,1,300,0.7,CSH,5 +VTS,1,1,1140,2.27,CSH,13.5 +VTS,1,1,360,1.35,CRD,6.5 +VTS,1,1,1080,3.2,CRD,14.5 +VTS,2,1,2220,18.62,CRD,52 +VTS,1,2,480,1.18,CSH,8 +VTS,1,2,600,0.37,CSH,7 +VTS,1,1,1380,9.77,CSH,29 +VTS,1,1,240,0.91,CSH,5.5 +VTS,1,1,1260,3.21,CSH,16 +VTS,1,1,1020,4.93,CRD,17 +VTS,1,1,540,1.38,CSH,8 +VTS,1,1,960,3.85,CSH,14.5 +VTS,1,1,300,1.36,CSH,6.5 +VTS,1,1,780,3.22,CRD,12 +VTS,1,1,360,1.1,CRD,6.5 +VTS,1,1,480,1.88,CRD,8.5 +VTS,1,1,600,1.3,CSH,8 +VTS,1,1,240,0.69,CRD,5 +VTS,1,2,600,1.3,CSH,8.5 +VTS,1,4,1560,8.14,CRD,25.5 +VTS,1,1,780,4.49,CRD,15 +VTS,1,1,540,1.11,CRD,7 +VTS,1,1,660,1.64,CSH,8.5 +VTS,1,1,900,2.66,CSH,12.5 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,780,6.8,CSH,21 +VTS,1,3,480,1.58,CRD,8 +VTS,1,1,780,3.5,CRD,12.5 +VTS,1,2,1680,19.38,CRD,51.5 +VTS,1,1,600,2.41,CRD,10 +VTS,1,1,480,1.61,CRD,8 +VTS,1,2,840,2.8,CSH,11.5 +VTS,1,1,600,2.03,CSH,9 +VTS,1,1,540,1.45,CRD,8 +VTS,1,1,60,0.11,CSH,2.5 +VTS,2,1,2700,16.53,CRD,52 +VTS,1,1,540,1.63,CSH,8.5 +VTS,1,1,540,1.66,CSH,8 +VTS,1,1,360,0.94,CSH,6 +VTS,1,1,180,1.09,CSH,5.5 +VTS,1,2,1320,9.13,CRD,27 +VTS,1,1,1200,4.81,CSH,19.5 +VTS,1,3,300,0.98,CSH,5.5 +VTS,1,1,660,1.87,CSH,9.5 +VTS,1,1,960,1.38,CRD,10.5 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,540,1.57,CRD,8 +VTS,1,1,1200,3.37,CRD,15.5 +VTS,1,1,420,0.73,CRD,6 +VTS,1,1,1080,2.31,CRD,12.5 +VTS,1,1,480,1.82,CRD,8.5 +VTS,1,2,420,0.78,CRD,6.5 +VTS,1,1,780,2.18,CRD,11 +VTS,1,1,300,1.7,CSH,7 +VTS,1,1,240,1.07,CRD,5.5 +VTS,1,1,720,0.97,CSH,8 +VTS,1,1,1020,8.02,CSH,24 +VTS,1,1,300,0.73,CSH,5 +VTS,1,1,1140,2.54,CRD,14 +VTS,1,1,960,3.39,CRD,14.5 +VTS,1,1,480,2.1,CSH,8.5 +VTS,1,1,420,1.36,CSH,7 +VTS,1,1,420,0.96,CSH,6 +VTS,1,1,1920,9.79,CSH,30.5 +VTS,1,2,720,2.65,CSH,11.5 +VTS,1,1,660,1.92,CRD,9.5 +VTS,1,1,720,2.22,CRD,10.5 +VTS,1,2,1080,3.3,CRD,14.5 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,1140,6.06,CSH,20.5 +VTS,1,1,600,1.46,CRD,8.5 +VTS,1,1,300,0.61,CSH,5 +VTS,1,1,540,1.45,CSH,8 +VTS,1,1,480,0.79,CSH,6.5 +VTS,1,1,1320,4,CRD,17.5 +VTS,1,2,1680,6.22,CSH,22.5 +VTS,1,1,300,1.2,CSH,5.5 +VTS,1,1,240,1.53,CSH,6 +VTS,1,1,720,3.31,CSH,12.5 +VTS,1,2,2220,6.25,CRD,27.5 +VTS,1,1,720,2.51,CSH,11 +VTS,1,1,420,1.32,CRD,7 +VTS,1,2,540,1.13,CRD,7.5 +VTS,1,1,480,1.92,CRD,9 +VTS,1,1,480,1.91,CRD,8.5 +VTS,1,1,540,2.86,CRD,11 +VTS,1,1,300,1.41,CSH,7 +VTS,1,2,660,0.91,CSH,7.5 +VTS,1,1,780,1.87,CRD,10 +VTS,1,1,600,2.04,CSH,9 +VTS,1,1,1080,4.27,CSH,16 +VTS,1,1,540,4.51,CRD,14 +VTS,1,3,360,1.3,CSH,6.5 +VTS,1,1,180,0.39,CSH,3.5 +VTS,1,1,420,1.47,CRD,7 +VTS,1,1,60,0.53,CSH,3.5 +VTS,1,1,1140,4.66,CRD,18 +VTS,1,1,1320,5.95,CRD,22 +VTS,1,2,300,1.28,CRD,6 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,2,120,0.36,CSH,3.5 +VTS,1,3,240,0.75,CSH,5 +VTS,1,2,900,1.47,CSH,11 +VTS,1,2,360,0.77,CSH,5 +VTS,1,2,420,1.66,CSH,7.5 +VTS,1,1,1440,3.86,CRD,18 +VTS,1,4,1140,4.62,CSH,17.5 +VTS,1,2,720,2.48,CRD,10.5 +VTS,1,1,1080,6.17,CRD,21 +VTS,1,1,720,1.76,CSH,9.5 +VTS,1,1,540,0.94,CSH,7.5 +VTS,1,4,240,1.12,CSH,5.5 +VTS,1,3,660,1.81,CRD,9 +VTS,1,1,300,1.4,CRD,6 +VTS,1,1,360,0.68,CSH,5 +VTS,1,1,480,1.35,CRD,7.5 +VTS,1,2,720,2.43,CRD,11 +VTS,1,1,360,1.12,CRD,6 +VTS,1,3,300,1.63,CSH,7 +VTS,1,3,960,1.37,CSH,10.5 +VTS,1,1,420,1.71,CRD,8 +VTS,1,1,960,7.76,CSH,23.5 +VTS,1,2,780,2.9,CRD,12 +VTS,1,1,840,4.55,CRD,16 +VTS,1,2,660,1.96,CSH,9 +VTS,1,1,300,1.2,CSH,6 +VTS,1,1,720,1.97,CRD,9.5 +VTS,1,1,360,1.46,CSH,7 +VTS,1,1,660,1.57,CSH,9 +VTS,1,1,780,2.55,CSH,10.5 +VTS,1,1,780,3.24,CRD,12.5 +VTS,1,1,540,1.99,CRD,9 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,2,300,0.8,CSH,5.5 +VTS,1,1,540,2.17,CRD,9 +VTS,1,1,540,0.86,CRD,7 +VTS,1,1,180,0.41,CSH,4 +VTS,1,2,240,0.99,CSH,5 +VTS,1,2,300,0.8,CSH,5.5 +VTS,1,3,1320,4.96,CSH,18.5 +VTS,1,1,1140,3.13,CRD,14.5 +VTS,1,1,300,1.48,CSH,6.5 +VTS,1,3,1140,3.19,CSH,14.5 +VTS,1,1,540,1.87,CSH,7 +VTS,1,1,600,1.38,CRD,8.5 +VTS,1,3,720,2.04,CSH,9.5 +VTS,1,1,420,1.37,CSH,7 +VTS,1,1,780,2.9,CRD,12.5 +VTS,1,2,240,1.8,CRD,7 +VTS,2,1,2820,21.06,CRD,52 +VTS,1,2,600,1.9,CSH,9 +VTS,1,1,120,0.18,CSH,3.5 +VTS,1,2,660,2.95,CRD,11 +VTS,1,1,300,0.58,CRD,5.5 +VTS,1,1,420,1.01,CSH,6.5 +VTS,1,1,480,1.01,CSH,7 +VTS,1,3,600,1.09,CSH,7.5 +VTS,1,1,240,0.47,CRD,4.5 +VTS,1,1,180,0.5,CSH,4 +VTS,1,2,480,1.1,CSH,6.5 +VTS,1,1,480,2.08,CRD,8.5 +VTS,1,2,360,1.06,CSH,6 +VTS,1,2,240,0.63,CSH,5 +VTS,1,1,2340,21.65,CSH,59.5 +VTS,2,2,3060,17.26,CSH,52 +VTS,1,1,180,0.63,CRD,4 +VTS,1,3,180,0.66,CSH,4 +VTS,1,1,720,3.07,CSH,11.5 +VTS,1,1,360,0.79,CRD,5.5 +VTS,1,1,900,2.95,CRD,12.5 +VTS,1,1,420,0.73,CRD,6 +VTS,1,1,660,2.2,CRD,9.5 +VTS,1,1,1380,3.02,CRD,16 +VTS,1,2,780,2.77,CRD,11 +VTS,1,1,900,1.92,CSH,11 +VTS,1,1,1020,3.13,CRD,14 +VTS,1,1,360,0.83,CSH,5 +VTS,1,2,240,1.69,CRD,6.5 +VTS,2,1,4080,41.57,CSH,52 +VTS,1,1,900,8.44,CSH,24 +VTS,1,3,1500,8.76,CRD,27.5 +VTS,1,2,720,2.92,CSH,11.5 +VTS,1,2,240,0.83,CSH,5 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,2,300,0.93,CSH,5.5 +VTS,1,2,900,2.38,CSH,11.5 +VTS,1,2,660,2.08,CSH,9.5 +VTS,1,1,600,2.34,CSH,10 +VTS,1,1,360,1.29,CRD,6.5 +VTS,1,1,180,0.76,CRD,5 +VTS,1,1,600,2.44,CRD,10.5 +VTS,1,1,540,0.69,CRD,7 +VTS,1,1,1080,2.78,CSH,14.5 +VTS,1,2,1860,7.9,CRD,28 +VTS,1,2,420,1.26,CRD,6.5 +VTS,1,2,180,0.92,CSH,5 +VTS,1,2,960,2.81,CRD,13 +VTS,1,1,540,2.34,CRD,9.5 +VTS,1,1,540,0.82,CRD,7 +VTS,1,1,540,1.63,CSH,8 +VTS,1,2,1380,2.66,CSH,15.5 +VTS,1,1,1380,10.5,CRD,30.5 +VTS,1,2,1680,15.18,CSH,43 +VTS,1,1,600,2.46,CRD,10 +VTS,1,1,360,1.78,CRD,7.5 +VTS,1,2,780,2.83,CRD,11.5 +VTS,1,1,600,2.08,CRD,8.5 +VTS,1,2,180,0.82,CSH,5 +VTS,1,2,780,2.32,CSH,10.5 +VTS,1,1,600,2.37,CRD,9.5 +VTS,1,1,660,2.48,CRD,10 +VTS,1,1,540,3.95,CRD,13 +VTS,1,1,180,0.55,CSH,4.5 +VTS,1,1,780,0.83,CSH,8.5 +VTS,1,2,360,0.79,CRD,6 +VTS,1,1,600,1.4,CRD,8 +VTS,1,1,780,3.07,CRD,12.5 +VTS,1,1,600,1.77,CSH,9.5 +VTS,1,1,720,1.05,CRD,8.5 +VTS,1,2,480,0.93,CRD,6.5 +VTS,1,2,720,2.06,CRD,10 +VTS,1,1,600,2.2,CRD,9.5 +VTS,1,1,360,0.71,CRD,5 +VTS,1,1,780,1.6,CRD,9.5 +VTS,1,1,360,1.61,CRD,7 +VTS,1,1,780,8.71,CSH,24 +VTS,1,1,600,1.7,CSH,7 +VTS,1,1,240,1.17,CSH,5.5 +VTS,1,2,540,1.25,CSH,7.5 +VTS,1,1,780,3.66,CRD,13.5 +VTS,1,1,180,0.63,CRD,4 +VTS,3,4,3480,21.35,CRD,81 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,960,2.16,CRD,12 +VTS,1,1,1080,3.32,CRD,14.5 +VTS,1,1,180,0.5,CSH,4 +VTS,1,1,900,3.58,CSH,13.5 +VTS,1,1,480,1.29,CSH,7.5 +VTS,1,2,360,1.04,CRD,6 +VTS,1,1,660,1.72,CSH,9.5 +VTS,1,1,960,2.62,CRD,13 +VTS,1,1,900,1.21,CRD,10.5 +VTS,1,1,720,1.94,CSH,9.5 +VTS,1,1,240,0.55,CRD,5 +VTS,1,1,480,1.33,CSH,7 +VTS,1,1,840,3.91,CSH,15 +VTS,1,1,960,3.91,CSH,14.5 +VTS,1,1,660,1.8,CRD,9 +VTS,1,1,3600,17.38,CRD,51.5 +VTS,1,1,360,1.54,CSH,7 +VTS,1,1,240,0.7,CSH,5 +VTS,2,1,1860,18.13,CRD,52 +VTS,1,1,420,1.55,CRD,7.5 +VTS,1,1,240,0.56,CRD,4.5 +VTS,1,1,540,2.1,CRD,9 +VTS,1,1,480,1.18,CSH,7 +VTS,1,1,420,1.18,CRD,7 +VTS,1,1,180,1.09,CSH,5.5 +VTS,1,1,360,1.16,CRD,6 +VTS,1,2,180,0.6,CSH,4.5 +VTS,1,1,180,0.48,CSH,4 +VTS,1,1,540,1.3,CRD,7 +VTS,1,1,480,1.29,CSH,7.5 +VTS,1,1,600,1.07,CSH,7 +VTS,1,1,1200,9.84,CSH,29 +VTS,1,1,780,1.97,CRD,10 +VTS,1,2,1080,2.81,CRD,13 +VTS,1,2,840,2.06,CSH,11 +VTS,1,1,420,1.51,CRD,7.5 +VTS,1,2,420,1.29,CRD,6.5 +VTS,1,2,300,0.95,CSH,5.5 +VTS,1,1,720,1.9,CRD,9.5 +VTS,1,1,960,2.12,CRD,11.5 +VTS,1,2,120,0.43,CRD,3.5 +VTS,1,1,480,1.53,CSH,8 +VTS,1,1,600,2.17,CSH,9.5 +VTS,1,1,480,1.8,CRD,8 +VTS,1,2,540,1.1,CRD,7.5 +VTS,1,2,1440,3.38,CSH,16.5 +VTS,1,2,420,2.6,CRD,9 +VTS,1,3,360,1.54,CSH,7 +VTS,1,3,420,1.23,CRD,7 +VTS,2,2,2400,20.41,CRD,52 +VTS,1,1,780,3.69,CSH,13.5 +VTS,1,2,1020,4.51,CRD,16.5 +VTS,1,1,3060,8.56,CSH,34.5 +VTS,1,1,600,2.28,CSH,10 +VTS,1,1,1440,2.28,CRD,15.5 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,600,1.9,CRD,8.5 +VTS,1,2,180,0.48,CRD,4 +VTS,1,1,540,1.86,CSH,8.5 +VTS,1,1,660,1.79,CRD,9.5 +VTS,1,1,1380,6.4,CRD,22 +VTS,1,1,120,0.16,CSH,3 +VTS,1,1,120,0.48,CSH,4 +VTS,1,2,120,0.32,CSH,3 +VTS,1,2,120,0.48,CRD,3.5 +VTS,1,4,900,2.14,CSH,12 +VTS,1,4,180,0.92,CSH,4.5 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,2,1020,4.52,CRD,16 +VTS,1,1,300,0.76,CRD,5 +VTS,1,1,420,1.35,CRD,6.5 +VTS,1,1,840,4.2,CRD,14.5 +VTS,1,1,960,3.24,CRD,13 +VTS,1,1,2220,25.19,CRD,67 +VTS,1,1,1440,6.5,CRD,22.5 +VTS,1,1,900,2.6,CRD,12 +VTS,1,1,180,0.47,CSH,4 +VTS,1,1,540,1.62,CSH,8.5 +VTS,1,1,720,3.52,CSH,12 +VTS,1,2,720,2.06,CRD,10 +VTS,1,2,240,0.95,CRD,5 +VTS,1,1,180,1.05,CRD,5 +VTS,1,1,720,2.13,CRD,10 +VTS,1,1,60,0.29,CSH,3 +VTS,1,1,600,1.81,CRD,9.5 +VTS,1,1,660,1.34,CRD,8.5 +VTS,1,1,960,7.43,CRD,22 +VTS,1,3,900,2.5,CRD,11.5 +VTS,1,2,540,1.38,CSH,7.5 +VTS,1,1,300,1.13,CSH,6 +VTS,1,1,1260,4.55,CRD,18 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,540,1.95,CSH,9 +VTS,1,2,120,0.51,CSH,4 +VTS,1,1,960,5.69,CRD,18 +VTS,1,1,1380,3.35,CRD,16.5 +VTS,1,3,720,2.89,CSH,12 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,2520,15.67,CRD,46 +VTS,1,2,960,4.03,CSH,15.5 +VTS,1,1,180,0.51,CSH,4.5 +VTS,1,1,780,2.73,CSH,11.5 +VTS,1,1,1080,5.94,CRD,20 +VTS,1,1,780,2.63,CRD,11.5 +VTS,1,1,480,1.22,CRD,7.5 +VTS,1,1,240,1.25,CRD,5.5 +VTS,4,1,2160,13.43,CRD,51 +VTS,1,1,240,0.67,CRD,4.5 +VTS,1,3,300,0.79,CSH,5.5 +VTS,1,1,360,1.39,CRD,6.5 +VTS,1,1,300,1.33,CRD,6 +VTS,1,1,180,0.33,CSH,4 +VTS,1,1,780,2.66,CSH,9.5 +VTS,1,2,540,2.85,CSH,10 +VTS,1,1,480,1.17,CRD,7.5 +VTS,1,2,1260,5.28,CSH,19.5 +VTS,1,1,480,1.47,CRD,8 +VTS,1,1,660,5.51,CSH,17 +VTS,1,1,1680,10.18,CSH,31.5 +VTS,1,4,480,1.28,CSH,7 +VTS,1,1,840,1.92,CRD,10.5 +VTS,1,2,180,0.51,CSH,4 +VTS,1,1,780,3.09,CRD,11.5 +VTS,1,1,480,1.24,CRD,7.5 +VTS,1,1,300,1.07,CRD,5.5 +VTS,1,1,600,1.58,CSH,8.5 +VTS,1,1,480,1.39,CRD,7.5 +VTS,1,2,960,3.84,CRD,14.5 +VTS,1,3,1680,4.92,CSH,21 +VTS,1,1,600,2.23,CRD,9.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,360,1.56,CRD,7 +VTS,1,1,360,1.29,CSH,6.5 +VTS,1,1,1140,3.87,CSH,15.5 +VTS,1,1,1260,3.46,CSH,16 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,240,0.84,CSH,5.5 +VTS,1,2,480,2.03,CRD,8.5 +VTS,1,2,540,1.82,CSH,8.5 +VTS,1,3,240,0.6,CSH,5 +VTS,1,2,180,0.52,CSH,4 +VTS,1,1,1620,17.65,CRD,47.5 +VTS,1,1,660,1.99,CSH,9 +VTS,1,1,1020,5.48,CRD,18 +VTS,1,1,360,0.69,CRD,5 +VTS,1,1,1140,2.52,CRD,13.5 +VTS,1,1,1680,1.55,CSH,17 +VTS,1,2,1320,6,CRD,22 +VTS,1,1,960,1.84,CRD,11 +VTS,1,2,300,0.83,CRD,5.5 +VTS,1,2,720,2.09,CRD,10 +VTS,1,2,300,1.31,CRD,6 +VTS,1,1,1020,2.62,CSH,12.5 +VTS,1,1,420,1.01,CSH,6.5 +VTS,1,1,660,1.39,CRD,8.5 +VTS,1,1,300,1.67,CSH,7 +VTS,1,2,420,1.58,CSH,8 +VTS,1,1,420,3.56,CRD,12.5 +VTS,1,3,480,1.65,CRD,8 +VTS,1,1,1380,4.54,CSH,17.5 +VTS,1,1,660,1.62,CRD,8.5 +VTS,1,2,300,0.8,CSH,5.5 +VTS,1,1,720,1.74,CSH,9.5 +VTS,1,3,420,1.63,CRD,7.5 +VTS,1,1,1740,7.55,CRD,27.5 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,420,0.74,CRD,6 +VTS,1,1,240,0.72,CSH,4.5 +VTS,1,2,420,1.69,CRD,7.5 +VTS,1,1,240,1.29,CRD,5.5 +VTS,1,1,720,2.4,CSH,10.5 +VTS,1,2,720,0.72,CRD,8.5 +VTS,1,2,480,2.87,CRD,10 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,3,300,0.61,CSH,5 +VTS,1,4,1440,5.6,CRD,20.5 +VTS,1,1,720,8.42,CSH,23.5 +VTS,1,1,240,0.81,CSH,5 +VTS,1,2,240,0.79,CSH,5 +VTS,1,1,180,0.47,CSH,4 +VTS,1,1,300,0.61,CSH,5 +VTS,1,3,300,0.72,CRD,5 +VTS,1,1,120,0.49,CSH,4 +VTS,1,1,960,3.03,CRD,13 +VTS,1,2,420,1.19,CSH,6.5 +VTS,1,2,60,0.57,CRD,3.5 +VTS,1,1,300,1.03,CRD,5.5 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,240,0.51,CRD,4 +VTS,1,1,960,2.12,CRD,11.5 +VTS,1,1,600,1.14,CRD,7 +VTS,1,3,240,0.48,CRD,4 +VTS,1,1,420,1.18,CSH,7 +VTS,1,3,360,1.06,CRD,5.5 +VTS,1,1,360,1.3,CRD,7 +VTS,1,1,1320,3.98,CRD,17 +VTS,1,1,540,2.42,CSH,10 +VTS,1,1,240,0.64,CSH,4.5 +VTS,1,1,900,3.75,CRD,14.5 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,2,600,2.49,CSH,10 +VTS,1,1,540,3.24,CRD,11 +VTS,1,1,720,4.18,CSH,14.5 +VTS,1,2,540,2.19,CSH,9 +VTS,1,1,720,4.47,CSH,15 +VTS,1,1,660,2.47,CRD,10.5 +VTS,1,1,420,1.09,CSH,6.5 +VTS,1,2,360,1.17,CSH,6.5 +VTS,1,2,180,0.65,CSH,4.5 +VTS,1,1,420,1.71,CSH,8 +VTS,1,2,720,2.43,CRD,10.5 +VTS,1,1,2280,10.88,CRD,36 +VTS,1,1,780,1.87,CRD,9.5 +VTS,1,1,960,3.77,CRD,14.5 +VTS,1,1,480,1.08,CSH,6.5 +VTS,1,1,300,1.69,CRD,6.5 +VTS,1,1,240,0.43,CSH,4.5 +VTS,1,1,840,5.1,CSH,17 +VTS,1,1,1020,3.65,CRD,15.5 +VTS,1,1,240,1.14,CSH,5.5 +VTS,1,1,120,0.62,CSH,4 +VTS,1,1,600,2.37,CRD,9 +VTS,1,1,540,0.79,CRD,7.5 +VTS,1,1,720,1.71,CSH,9.5 +VTS,1,1,600,5.41,CRD,16 +VTS,1,1,1500,4.9,CRD,19.5 +VTS,1,1,600,1.09,CSH,8 +VTS,1,1,360,1.34,CSH,6.5 +CMT,1,3,1017,5.1,CSH,17 +CMT,1,1,815,5.3,CSH,17.5 +CMT,1,2,537,2.2,CSH,9.5 +CMT,1,1,224,0.7,CRD,5 +CMT,1,1,622,3.3,CRD,11.5 +CMT,1,3,932,3.6,CSH,14.5 +CMT,1,1,445,1.2,CSH,7 +CMT,1,4,643,1,CSH,8.5 +CMT,1,1,1532,4.2,CRD,19.5 +CMT,1,3,353,1.4,CRD,7 +CMT,1,2,463,2.4,CRD,9.5 +CMT,1,1,191,0.6,CSH,4.5 +CMT,1,2,338,0.8,CRD,6 +VTS,1,1,960,5.21,CRD,16.5 +VTS,1,1,180,0.45,CSH,4 +VTS,1,1,780,2.17,CRD,11 +VTS,1,1,720,2.39,CRD,10.5 +VTS,1,4,300,0.53,CSH,5 +VTS,1,1,120,0.25,CSH,3.5 +VTS,1,1,1200,7.25,CRD,23 +VTS,1,1,480,0.76,CRD,6 +VTS,1,1,360,1.15,CSH,6.5 +VTS,2,1,3060,16.31,CSH,52 +VTS,1,1,1560,3.5,CRD,17.5 +VTS,1,2,840,1.89,CRD,11 +VTS,1,1,480,1.93,CSH,8.5 +VTS,1,1,480,0.94,CRD,6.5 +VTS,1,1,1140,3.87,CRD,16 +VTS,1,1,1380,4.48,CRD,17.5 +VTS,1,1,300,1.22,CSH,6 +VTS,1,1,660,3.36,CRD,11.5 +VTS,1,2,480,0.88,CRD,7 +VTS,1,1,420,1.92,CRD,8 +VTS,1,1,420,1.88,CSH,7.5 +VTS,1,1,300,0.75,CSH,5 +VTS,1,1,900,2.86,CRD,12 +VTS,1,1,540,0.95,CRD,7 +VTS,1,2,1380,3.17,CRD,16.5 +VTS,1,1,540,2.16,CSH,8.5 +VTS,1,2,540,1.58,CSH,8 +VTS,1,1,360,0.8,CSH,6 +VTS,1,1,240,0.73,CSH,4.5 +VTS,1,1,1200,2.14,CRD,13.5 +VTS,1,3,180,0.55,CSH,4 +VTS,1,4,300,0.42,CSH,4 +VTS,1,1,540,2.03,CSH,8 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,900,2.89,CRD,12.5 +VTS,1,2,600,0.62,CRD,7 +VTS,1,2,720,1.85,CRD,9.5 +VTS,1,1,480,3.62,CRD,12 +VTS,1,1,540,3.03,CSH,10.5 +VTS,1,2,240,1.04,CSH,5.5 +VTS,1,1,240,0.84,CSH,5.5 +VTS,1,2,780,1.61,CSH,10 +VTS,1,1,600,3.11,CRD,11.5 +VTS,1,1,1140,2.75,CRD,13.5 +VTS,1,3,360,0.84,CSH,6 +VTS,1,3,480,1.66,CRD,7.5 +VTS,1,1,1560,10.37,CRD,30 +VTS,1,1,720,1.53,CRD,9 +VTS,1,1,600,2.94,CRD,11.5 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,420,1.14,CSH,7 +VTS,1,2,420,1.26,CSH,7.5 +CMT,1,4,560,3.1,CSH,11.5 +CMT,1,2,1073,5.8,CSH,20 +CMT,1,2,709,2.8,CSH,12 +CMT,1,3,1098,7.8,CSH,23.5 +CMT,1,1,356,1.4,CSH,7 +CMT,1,1,596,4.4,CRD,14 +CMT,2,2,1438,18.7,CRD,52 +CMT,1,1,665,2.5,CRD,11 +CMT,1,2,670,3.7,CSH,13.5 +CMT,1,1,646,1.8,CRD,9.5 +CMT,1,1,600,1.6,CSH,9 +CMT,1,1,920,6,CSH,19.5 +CMT,1,1,214,0.8,CSH,5 +CMT,1,2,392,1.3,CSH,7 +CMT,1,2,365,1.1,CRD,6.5 +CMT,1,2,1472,6.4,CSH,22 +CMT,1,1,696,3.1,CRD,11.5 +CMT,1,1,1033,3,CRD,13.5 +CMT,1,1,491,1.2,CSH,7.5 +CMT,1,1,1819,9.6,CSH,31.5 +CMT,1,1,285,1.2,CRD,6 +CMT,1,1,1690,6.3,CRD,25 +CMT,1,1,1121,3.8,CSH,16 +CMT,1,1,304,0.8,CSH,5.5 +CMT,1,2,467,0.7,CSH,6.5 +CMT,1,1,142,0.6,CSH,4 +VTS,1,1,240,0.69,CSH,4.5 +VTS,1,1,840,4.54,CRD,15 +VTS,1,1,480,1.78,CRD,8 +VTS,1,1,720,1.47,CRD,9.5 +VTS,1,1,720,1.69,CRD,9 +VTS,1,1,240,0.59,CRD,5 +VTS,1,1,480,1.72,CRD,7.5 +VTS,1,2,900,2.46,CRD,12 +CMT,1,3,497,4.2,CRD,13.5 +CMT,1,2,544,1.5,CRD,8 +CMT,1,2,340,1.1,CSH,6.5 +CMT,1,1,221,0.9,CSH,5 +CMT,1,1,104,0.5,CRD,3.5 +CMT,1,1,474,1.2,CSH,7.5 +CMT,1,1,1230,3.9,CSH,17.5 +CMT,1,2,1120,9.2,CSH,27 +CMT,1,2,1423,3.3,CSH,16.5 +CMT,1,3,376,1.2,CRD,6.5 +CMT,1,2,425,1.6,CRD,8 +CMT,1,2,791,2.6,CSH,11.5 +CMT,1,2,444,1.6,CRD,8 +CMT,1,1,866,2,CRD,11 +CMT,1,1,232,0.8,CSH,5 +CMT,1,1,196,0.7,CSH,4.5 +CMT,1,1,1552,4.6,CSH,20 +CMT,1,1,487,1.5,CRD,8 +VTS,1,1,660,1.38,CRD,9 +VTS,1,1,720,1.95,CRD,9.5 +VTS,1,1,480,1.29,CSH,7.5 +VTS,1,1,1080,2.4,CRD,13 +VTS,1,1,960,2.56,CRD,13 +VTS,1,2,120,0.5,CSH,3.5 +VTS,1,1,420,1.69,CRD,7 +VTS,2,1,3600,17.82,CRD,52 +VTS,2,1,3600,20.76,CSH,52 +VTS,1,1,1020,1.85,CRD,12 +VTS,1,1,300,0.62,CRD,5.5 +VTS,1,1,600,1.84,CSH,9 +VTS,1,1,540,1.32,CRD,7 +VTS,1,1,180,0.98,CSH,5.5 +VTS,1,1,540,2.73,CSH,10 +VTS,1,1,780,3.52,CRD,13 +VTS,1,1,1320,5.59,CRD,19.5 +VTS,1,2,960,8.23,CSH,24 +VTS,1,1,780,1.98,CRD,10.5 +VTS,1,1,2160,10.54,CSH,35 +VTS,1,1,420,1.33,CSH,7 +VTS,1,1,300,1.13,CSH,6 +VTS,1,1,1080,2.55,CRD,12.5 +VTS,1,1,360,0.67,CSH,5.5 +VTS,2,1,2160,16.03,CSH,52 +VTS,1,2,1800,5.68,CRD,23 +CMT,1,1,664,2.1,CRD,10.5 +CMT,1,2,220,1.3,CRD,5.5 +CMT,1,1,384,0.6,CSH,5.5 +CMT,1,1,1216,10.8,CRD,31 +CMT,1,2,732,1.8,CSH,9.5 +CMT,1,1,1040,4.8,CRD,18 +CMT,1,1,364,0.8,CSH,6 +CMT,1,2,266,1.1,CSH,5.5 +CMT,1,1,694,4.5,CRD,15.5 +CMT,1,1,386,1.4,CRD,7 +CMT,1,1,1384,9.1,CSH,28 +CMT,1,4,656,1.1,CSH,8.5 +CMT,1,2,774,1.5,CRD,9.5 +CMT,1,1,729,1.8,CSH,9.5 +CMT,1,1,487,1.5,CRD,7.5 +CMT,1,2,382,1.5,CRD,7 +CMT,1,1,361,0.9,CSH,6 +CMT,1,1,350,0.8,CRD,6 +CMT,1,1,382,1.1,CSH,6.5 +CMT,1,1,626,2.4,CRD,10 +CMT,1,1,262,0.7,CSH,5 +CMT,1,1,522,2.4,CSH,9.5 +CMT,1,1,330,0.8,CRD,5.5 +CMT,1,2,253,0.5,CSH,5 +CMT,1,2,288,0.6,CSH,5.5 +CMT,1,3,1011,3.2,CSH,14.5 +VTS,1,1,540,1.02,CSH,7.5 +VTS,1,1,720,1.2,CRD,9 +VTS,1,1,960,2.18,CSH,12 +VTS,1,3,60,0.44,CRD,3.5 +VTS,1,1,840,3.17,CRD,12.5 +VTS,1,1,240,0.97,CSH,5 +VTS,1,2,300,1.04,CSH,5 +VTS,1,1,480,0.98,CRD,7 +VTS,1,2,360,1.48,CSH,7 +VTS,1,3,180,0.77,CSH,4.5 +VTS,1,2,480,2.1,CSH,8.5 +VTS,1,1,300,0.96,CSH,6 +VTS,1,1,660,1.29,CSH,8.5 +VTS,1,2,780,3.85,CRD,13.5 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,660,1.51,CRD,8.5 +VTS,1,1,480,1.53,CRD,7.5 +VTS,1,1,1080,6.16,CRD,20.5 +VTS,1,1,120,0.52,CRD,4 +VTS,1,1,840,1.51,CRD,10 +VTS,2,1,3000,16.75,CRD,52 +VTS,1,1,1380,8.24,CRD,26.5 +VTS,1,1,780,3.79,CSH,14.5 +VTS,1,1,480,1.08,CRD,7 +VTS,1,2,480,1.16,CRD,7 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,1,1320,5.79,CRD,21 +VTS,1,2,240,1.21,CRD,5.5 +VTS,1,1,180,0.37,CSH,3.5 +VTS,1,2,420,1.21,CRD,7 +CMT,1,1,984,2.9,CRD,13.5 +CMT,1,2,378,1.3,CRD,7 +CMT,1,1,970,3.9,CRD,15.5 +CMT,1,1,89,0.6,CSH,4 +CMT,1,1,986,2.8,CRD,13 +CMT,1,1,1421,10.9,CRD,31.5 +CMT,1,1,1401,5.5,CRD,21.5 +CMT,1,4,606,1.5,CSH,9 +CMT,1,3,364,1.2,CSH,7 +CMT,1,1,537,1.2,CRD,7.5 +CMT,1,1,156,0.6,CSH,4 +CMT,1,2,207,0.8,CSH,5 +CMT,1,1,383,2.3,CSH,8.5 +CMT,1,2,1454,13.9,CSH,40 +CMT,1,3,307,0.9,CSH,5.5 +CMT,1,4,774,2.8,CSH,12 +CMT,1,3,544,2.1,CRD,9 +CMT,1,1,208,0.5,CSH,4.5 +CMT,1,2,550,1.3,CSH,8 +CMT,1,1,830,2.5,CRD,11.5 +CMT,1,1,3430,1.4,CRD,7.5 +CMT,1,1,237,0.3,CRD,4.5 +CMT,1,1,1529,15,CRD,42.5 +CMT,1,1,1145,7.5,CSH,24 +CMT,1,2,1054,3.6,CRD,14.5 +CMT,1,1,1026,2.7,CRD,12.5 +CMT,1,2,147,0.5,CSH,4 +CMT,1,1,1441,5.6,CSH,21 +CMT,1,1,287,0.3,CSH,4.5 +CMT,1,3,217,0.5,CSH,4.5 +CMT,1,1,388,0.7,CSH,6 +CMT,1,1,329,1.1,CRD,6 +CMT,1,1,293,1,CSH,6 +CMT,1,1,397,1.6,CRD,7.5 +CMT,1,1,1569,8,CRD,27 +CMT,1,1,511,1.1,CRD,7.5 +CMT,1,1,1845,3.5,CRD,20 +CMT,1,1,1899,12.3,CSH,38 +CMT,1,4,291,1,CSH,6 +CMT,1,1,746,2.6,CRD,11 +CMT,1,2,538,1.5,CSH,8.5 +CMT,1,1,551,1.3,CRD,7.5 +CMT,1,2,758,1.8,CRD,10 +CMT,1,2,269,0.7,CRD,5 +CMT,1,3,798,1.7,CSH,10 +CMT,1,1,389,1.8,CRD,7.5 +CMT,1,1,336,1.5,CSH,6.5 +CMT,1,1,770,2.8,CRD,11.5 +VTS,1,1,600,1.91,CRD,9 +VTS,1,2,240,0.75,CSH,5 +VTS,1,1,360,1.05,CRD,6 +VTS,1,1,180,0.72,CSH,5 +CMT,1,2,717,3,CSH,12 +CMT,1,1,520,2.2,CRD,9 +CMT,1,2,906,3.4,CRD,14 +CMT,1,2,263,1,CSH,5.5 +CMT,1,1,269,0.7,CRD,5 +CMT,1,1,1088,5.5,CSH,19.5 +CMT,1,1,108,0.2,CSH,3.5 +CMT,1,1,400,1.5,CRD,7.5 +CMT,1,4,275,0.5,CSH,5 +CMT,1,1,566,1.8,CRD,9 +CMT,1,1,537,2,CSH,9 +CMT,1,4,704,4.9,CSH,15.5 +CMT,1,2,419,1.5,CRD,7 +CMT,1,2,578,1.8,CRD,9 +CMT,1,1,748,2.5,CRD,11.5 +CMT,1,1,237,1.1,CSH,5.5 +CMT,1,2,411,0.9,CRD,6.5 +CMT,1,3,423,1.3,CSH,7 +CMT,1,1,404,1.2,CRD,6.5 +CMT,1,1,905,2.7,CRD,12.5 +CMT,1,1,299,0.7,CRD,5 +CMT,1,1,472,1.9,CRD,8.5 +CMT,1,2,420,1.4,CRD,7.5 +CMT,1,1,735,3.2,CRD,13 +CMT,1,1,411,1.4,CRD,7 +CMT,1,1,449,0.9,CRD,7 +CMT,1,2,805,1.9,CSH,10.5 +CMT,1,2,976,3.5,CSH,14 +CMT,1,1,466,1.6,CSH,7.5 +CMT,1,1,463,2.2,CRD,8.5 +CMT,1,1,463,1.6,CSH,7.5 +CMT,1,1,548,2.8,CRD,11 +CMT,1,1,1504,5.7,CSH,22 +CMT,1,2,617,1.4,CSH,8.5 +CMT,1,1,309,0.6,CRD,5 +CMT,1,3,347,0.6,CRD,5.5 +CMT,1,1,367,0.6,CRD,5.5 +CMT,1,3,466,0.8,CRD,6.5 +CMT,1,2,809,2.2,CRD,11 +CMT,1,1,612,2.7,CSH,11 +CMT,1,1,587,2,CRD,9 +CMT,1,1,391,1.5,CSH,7.5 +CMT,1,1,540,2.7,CRD,10.5 +CMT,1,3,408,1.1,CSH,6.5 +CMT,1,1,493,0.8,CRD,7 +CMT,1,3,337,1.4,CRD,7 +CMT,1,1,935,3.4,CRD,14 +CMT,1,1,966,10.7,CRD,29.5 +VTS,1,2,420,1.08,CSH,6.5 +VTS,1,1,60,0.3,CSH,3.5 +CMT,1,1,542,1.6,CRD,8 +CMT,1,2,275,1.2,CSH,6 +CMT,1,1,1856,14.2,CRD,42.5 +CMT,1,1,66,0.4,CRD,3.5 +CMT,1,1,562,1.7,CSH,8.5 +CMT,1,4,1944,7.6,CSH,29.5 +CMT,1,1,8,0,NOC,2.5 +CMT,1,1,491,1,CRD,7 +CMT,1,1,262,0.8,CSH,5 +CMT,1,4,453,1.2,CSH,7.5 +CMT,1,1,482,2,CSH,9 +CMT,1,2,380,1.3,CSH,6.5 +CMT,1,1,926,10.1,CRD,28.5 +CMT,1,1,648,4,CSH,13 +CMT,1,2,722,2.7,CSH,11.5 +CMT,1,2,698,3.7,CRD,14 +CMT,1,1,731,2.2,CRD,10.5 +CMT,1,3,1321,3.1,CSH,16 +CMT,1,1,353,0.8,CSH,6 +CMT,1,1,524,1.3,CSH,8 +CMT,1,1,213,0.8,CRD,5 +CMT,1,1,274,0.8,CRD,5 +CMT,1,1,386,1,CRD,6 +CMT,1,1,710,2.5,CRD,11 +CMT,1,1,303,1.5,CRD,6.5 +CMT,1,1,232,0.8,CRD,5 +CMT,1,2,391,0.8,CSH,6 +CMT,1,1,1730,6.6,CRD,20 +CMT,1,1,362,1.3,CRD,7 +CMT,1,1,429,0.8,CRD,6 +CMT,1,2,366,1.6,CSH,7.5 +CMT,1,2,743,2.1,CSH,10.5 +CMT,1,2,1066,6.9,CSH,22 +CMT,1,1,413,0.9,CSH,6.5 +CMT,1,3,453,0.8,CSH,6.5 +CMT,1,1,1031,1.8,CRD,12 +CMT,1,1,548,1.7,CRD,8.5 +CMT,1,2,254,0.6,CSH,5 +CMT,1,1,299,0.9,CRD,5.5 +CMT,1,1,2113,11.9,CRD,37.5 +CMT,1,1,278,0.8,CSH,5 +CMT,1,1,108,0.2,CSH,3.5 +CMT,1,1,1346,6.8,CRD,23 +CMT,1,2,833,3.6,CSH,13.5 +CMT,1,2,688,1.3,CSH,8.5 +CMT,1,1,233,1.1,CRD,5.5 +CMT,1,2,242,0.7,CRD,5 +CMT,1,4,592,1.5,CSH,8.5 +CMT,1,2,383,1.7,CRD,7.5 +CMT,1,1,769,4.5,CRD,14.5 +VTS,1,1,540,1.82,CRD,8.5 +VTS,1,1,180,0.38,CSH,4 +VTS,1,1,1020,4.48,CRD,16 +VTS,1,1,420,0.99,CRD,6 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,3,1320,2.34,CSH,14.5 +VTS,1,1,540,1.97,CSH,8 +CMT,1,4,648,1.7,CSH,9 +CMT,1,2,1033,9.2,CSH,27.5 +CMT,1,4,293,0.8,CRD,5.5 +CMT,1,2,1110,5,CSH,18 +CMT,1,1,209,0.9,CRD,5 +CMT,1,1,859,2.8,CRD,12.5 +CMT,1,1,212,0.5,CRD,4.5 +CMT,1,1,498,1.7,CSH,8 +CMT,1,1,311,1.1,CRD,6 +CMT,1,1,1105,2.7,CRD,14 +CMT,1,1,866,6.1,CRD,19 +CMT,1,1,248,0.8,CRD,5 +CMT,1,1,493,1.7,CRD,8 +CMT,1,2,331,1.5,CRD,6.5 +CMT,1,1,1344,6.4,CRD,22.5 +CMT,1,4,642,4,CRD,13 +CMT,1,1,553,1.5,CRD,8.5 +CMT,1,3,1582,11.2,CRD,33.5 +CMT,1,1,387,1.3,CSH,7 +CMT,1,3,353,0.9,CRD,6 +CMT,1,1,100,0.5,CRD,3.5 +CMT,1,2,507,2.3,CSH,9 +CMT,1,1,418,3.8,CSH,12 +CMT,1,2,454,0.7,CSH,6.5 +CMT,1,1,995,3.1,CRD,14 +CMT,1,1,848,6.7,CRD,20.5 +CMT,1,1,274,0.8,CRD,5.5 +CMT,1,1,297,0.6,CSH,5 +CMT,1,1,556,0.7,CRD,7 +CMT,1,2,492,1.4,CSH,7.5 +CMT,1,1,207,0.4,CRD,4.5 +CMT,1,1,457,2.3,CSH,8.5 +CMT,1,1,820,2.3,CRD,11.5 +CMT,1,2,252,1.1,CRD,5.5 +CMT,1,4,220,0.6,CSH,4.5 +CMT,1,1,602,2.1,CRD,10 +CMT,1,1,242,1.1,CSH,5.5 +CMT,1,1,298,0.6,CSH,5 +CMT,1,2,1239,4.3,CRD,17 +CMT,1,2,637,4.2,CRD,14 +CMT,1,3,583,1.1,CRD,8 +CMT,1,1,548,2,CSH,9 +CMT,1,2,1413,6.6,CRD,22.5 +CMT,1,1,2000,14.9,CRD,43.5 +CMT,1,1,204,0.5,CRD,4.5 +CMT,1,1,691,3.8,CRD,13.5 +CMT,1,1,321,1.8,CRD,7.5 +CMT,1,1,703,2.4,CSH,10.5 +CMT,1,2,354,1.2,CRD,6 +CMT,1,3,407,1.7,CSH,7.5 +CMT,1,1,440,1.1,CSH,6.5 +CMT,1,1,397,0.8,CRD,6.5 +CMT,1,2,585,1.4,CRD,8 +CMT,1,1,1007,2.9,CSH,13.5 +CMT,1,2,525,3,CSH,10.5 +CMT,1,1,995,8.1,CSH,25 +CMT,1,2,1601,10,CSH,30.5 +CMT,1,1,300,1,CSH,5.5 +CMT,1,2,1115,3.7,CSH,15 +CMT,1,1,1163,6.7,CSH,22 +CMT,1,1,1332,2.4,CSH,14.5 +CMT,1,1,493,1.3,CSH,7.5 +CMT,1,1,96,0.1,CSH,3 +CMT,1,2,136,0.8,CSH,4.5 +CMT,1,2,308,1.2,CRD,6 +CMT,1,2,1168,4.9,CRD,19 +CMT,1,3,646,3.1,CRD,12 +CMT,1,1,212,0.8,CRD,5 +CMT,2,1,1960,18.1,CRD,52 +CMT,1,1,1607,3.9,CRD,19 +CMT,1,1,393,0.7,CRD,6 +CMT,1,2,425,1.7,CRD,8 +CMT,1,4,658,3,CRD,12 +CMT,1,1,1880,10.6,CRD,32.5 +CMT,1,1,1166,5.6,CSH,20 +CMT,1,1,1216,10,CRD,29.5 +CMT,1,1,467,1.5,CSH,7.5 +CMT,1,2,74,0.4,CRD,3.5 +CMT,1,1,697,1.4,CSH,9 +CMT,1,1,1022,3.1,CRD,14 +CMT,1,1,961,2.2,CRD,12 +CMT,1,2,303,0.9,CRD,5.5 +CMT,1,2,1458,7,CSH,24.5 +CMT,1,1,518,1,CRD,7.5 +CMT,1,3,739,2.6,CSH,11 +CMT,1,1,506,1.5,CSH,8 +CMT,1,1,518,1.5,CRD,7.5 +CMT,1,2,842,1.1,CSH,10 +CMT,1,1,303,0.5,CRD,5 +CMT,1,1,255,0.4,CRD,4.5 +CMT,1,1,281,0.8,CRD,5 +CMT,1,2,548,2,CRD,9 +CMT,1,2,407,1.4,CSH,7 +CMT,1,4,670,1.4,CSH,9 +CMT,1,1,1922,9.6,CRD,31.5 +CMT,1,1,555,1.3,CSH,8 +CMT,1,1,462,1.3,CRD,7.5 +CMT,1,1,1292,3.8,CSH,17 +CMT,1,1,536,1.7,CRD,8.5 +CMT,1,1,792,2.7,CRD,11.5 +CMT,1,1,602,1.5,CSH,8.5 +CMT,1,2,1011,5.1,CSH,17.5 +CMT,1,2,199,0.3,CSH,4 +CMT,1,1,454,1.4,CRD,7.5 +CMT,1,1,1133,2.6,CRD,13.5 +CMT,1,1,223,1.6,CSH,7 +CMT,1,4,1202,3.9,CSH,16.5 +CMT,1,2,333,1.1,CSH,6.5 +CMT,1,1,441,1.4,CRD,7 +CMT,1,1,622,1.8,CSH,9 +CMT,1,1,1007,9.7,CSH,27.5 +CMT,2,1,1825,18.7,CRD,52 +CMT,1,2,663,1.2,CRD,8.5 +CMT,1,1,375,0.6,CSH,5.5 +CMT,1,2,757,6.1,CRD,19 +CMT,1,1,446,0.9,CRD,6.5 +CMT,1,3,98,0.4,CSH,3.5 +CMT,1,1,990,1.7,CRD,11.5 +CMT,1,1,443,2,CRD,9 +CMT,1,1,231,0.8,CSH,5 +CMT,1,1,358,2,CRD,8 +CMT,1,1,197,0.6,CSH,4.5 +CMT,1,4,1448,2,CSH,15.5 +VTS,1,1,1140,4.76,CSH,18 +VTS,1,2,240,0.96,CRD,5 +VTS,1,2,480,1.67,CRD,8 +CMT,1,2,176,1,CSH,5 +CMT,1,2,1064,4.4,CSH,16 +CMT,1,4,775,3.6,CSH,14 +CMT,1,3,557,2,CSH,9.5 +CMT,1,2,711,2.9,CSH,11.5 +CMT,1,2,451,0.9,CRD,6.5 +CMT,1,2,172,0.4,CSH,4 +CMT,1,1,357,1.3,CSH,6.5 +CMT,1,1,301,0.8,CRD,5.5 +CMT,1,2,731,1.2,CSH,9.5 +CMT,1,1,623,2.6,CRD,10.5 +CMT,1,1,961,3,CSH,13.5 +CMT,1,1,213,0.6,CSH,4.5 +CMT,1,2,1144,3.2,CSH,15 +CMT,1,1,1150,3.4,CRD,15.5 +CMT,1,1,290,0.8,CSH,5.5 +CMT,2,1,2060,18,CSH,52 +CMT,1,1,579,1.8,CRD,8.5 +CMT,1,1,2520,1.8,CRD,8 +CMT,1,4,245,0.6,CSH,4.5 +CMT,1,1,705,1.5,CSH,9 +CMT,1,1,236,0.9,CRD,5 +CMT,1,1,409,0.6,CSH,6 +CMT,1,2,399,2.6,CSH,9 +CMT,1,1,1138,1.7,CRD,12.5 +CMT,1,1,881,1.7,CRD,10.5 +CMT,1,4,222,0.7,CSH,4.5 +CMT,1,1,1883,2.6,CRD,19.5 +CMT,1,2,385,1.2,CSH,7 +CMT,1,1,661,1.2,CRD,8.5 +CMT,1,3,731,2.2,CRD,10.5 +CMT,1,1,1719,2.9,CRD,18.5 +CMT,1,2,568,1.6,CRD,8.5 +CMT,1,1,617,1,CSH,8 +CMT,1,1,526,0.9,CRD,7 +CMT,1,1,590,1.7,CRD,8.5 +CMT,1,1,525,1.4,CRD,7.5 +CMT,1,1,317,0.7,CRD,5.5 +CMT,1,1,1339,7.1,CSH,22.5 +CMT,2,1,2419,28.6,CRD,52 +CMT,1,1,493,1.3,CSH,7.5 +CMT,1,1,290,1.3,CSH,6.5 +CMT,1,1,827,8.6,CSH,24.5 +CMT,1,1,359,2,CSH,7.5 +CMT,1,4,487,0.8,CSH,6.5 +CMT,1,2,296,1.8,CRD,7 +CMT,1,1,964,3.8,CRD,15.5 +CMT,1,1,99,0.3,CSH,3.5 +CMT,1,1,284,0.8,CSH,5.5 +CMT,1,1,563,1.2,CRD,8 +CMT,1,1,536,1.6,CRD,8 +CMT,1,1,1096,3.4,CSH,15.5 +CMT,1,2,214,0.4,CRD,4 +CMT,1,1,271,0.5,CSH,5 +CMT,1,1,1955,7.8,CRD,26.5 +CMT,1,1,792,2.3,CRD,11.5 +CMT,1,1,421,0.8,CRD,6 +CMT,1,1,716,1.8,CRD,10 +CMT,1,2,384,1.3,CSH,7 +CMT,1,1,886,2.6,CRD,12 +CMT,1,1,646,3.1,CSH,11.5 +CMT,1,1,656,1.6,CRD,9 +CMT,1,1,1239,2.7,CRD,14.5 +CMT,1,1,284,0.9,CSH,5.5 +CMT,1,3,989,3.8,CRD,15.5 +CMT,1,3,746,2.1,CRD,10.5 +CMT,1,1,822,4.1,CRD,14.5 +CMT,1,1,471,1.5,CSH,7.5 +CMT,1,1,325,0.9,CRD,5.5 +CMT,1,1,723,2.4,CSH,10.5 +CMT,1,2,457,0.8,CSH,6.5 +CMT,1,1,670,2.2,CSH,10 +CMT,1,1,216,1.5,CRD,6 +CMT,1,1,992,2.4,CSH,12.5 +CMT,1,1,634,1.2,CSH,8.5 +CMT,1,1,474,2.8,CRD,10 +CMT,1,1,212,0.6,CSH,4.5 +CMT,1,1,854,1.5,CRD,10.5 +CMT,1,1,1470,2.6,CRD,16 +CMT,1,2,372,1.5,CSH,7.5 +CMT,1,1,467,1.2,CRD,7.5 +CMT,1,1,639,3.1,CSH,11.5 +CMT,1,1,1327,5.7,CSH,21 +CMT,1,4,168,0.7,CSH,4.5 +CMT,1,2,1123,3.3,CSH,15 +CMT,1,1,487,3.1,CRD,11 +CMT,1,2,1626,5.8,CRD,23 +CMT,1,2,168,0.6,CSH,4 +CMT,1,2,439,2.2,CSH,9 +CMT,1,1,863,3.1,CRD,13 +CMT,1,1,879,2,CSH,11 +CMT,1,1,439,0.8,CSH,6.5 +CMT,1,1,292,1,CSH,6 +CMT,1,3,319,1.5,CSH,6.5 +CMT,1,2,771,2.1,CSH,10.5 +CMT,1,1,1138,2.8,CSH,14 +CMT,1,1,1587,10.3,CRD,31.5 +CMT,1,1,778,2.4,CSH,11 +CMT,1,1,646,1.5,CSH,8.5 +CMT,1,1,1348,3.6,CSH,17 +CMT,1,1,550,0.6,CRD,7 +CMT,2,1,2019,17.1,CSH,52 +CMT,1,1,364,1.1,CSH,6.5 +CMT,1,1,519,1.8,CRD,8.5 +CMT,1,1,1011,8.5,CRD,25 +CMT,1,1,860,1.7,CSH,10.5 +CMT,1,1,1471,3.1,CSH,17 +CMT,1,1,233,1.2,CRD,5.5 +CMT,1,1,714,1.1,CRD,8.5 +CMT,1,2,820,2.5,CSH,11.5 +CMT,1,1,219,1,CSH,5 +CMT,1,1,360,0.6,CSH,6 +CMT,1,1,802,4.5,CRD,15.5 +CMT,1,1,1096,3.4,CSH,14.5 +CMT,1,3,217,0.6,CRD,4.5 +CMT,1,4,834,2.7,CSH,12.5 +CMT,1,3,710,3.8,CRD,13.5 +CMT,1,1,906,2.6,CRD,12.5 +CMT,1,1,935,4.2,CRD,15 +CMT,1,1,2666,68.5,NOC,2.5 +CMT,1,1,836,3.1,CSH,12.5 +CMT,1,1,839,2.1,CRD,11.5 +CMT,1,1,1479,5,CRD,19.5 +CMT,1,1,892,7.1,CRD,22 +CMT,1,1,556,2.2,CRD,9.5 +CMT,1,1,365,1.8,CRD,7.5 +CMT,1,1,833,5.2,CRD,16.5 +CMT,1,1,607,2.1,CRD,9.5 +CMT,1,1,1724,5.5,CSH,22 +CMT,1,1,426,1.8,CRD,8 +CMT,1,1,1355,1.6,CSH,14 +CMT,1,1,675,2.5,CRD,10.5 +CMT,1,1,886,1.6,CRD,11 +CMT,1,4,750,1.4,CSH,9.5 +CMT,1,1,800,2.4,CRD,11 +CMT,1,1,124,0.5,CSH,3.5 +CMT,1,1,104,0.5,CRD,3.5 +CMT,1,1,490,2.3,CRD,9.5 +CMT,1,1,349,1.1,CSH,6.5 +CMT,1,1,623,1.6,CRD,9 +CMT,1,2,286,0.9,CRD,5.5 +CMT,1,1,835,2.3,CRD,11 +CMT,1,2,871,1.6,CSH,10.5 +CMT,1,3,1691,6.1,CSH,24 +CMT,1,2,704,2.3,CRD,11 +CMT,1,2,1471,7.9,CRD,26.5 +CMT,1,2,1248,7.4,CRD,24 +CMT,1,1,358,1,CSH,6.5 +CMT,1,1,240,0.8,CRD,5 +CMT,1,1,892,2.7,CRD,12 +CMT,1,1,301,0.9,CRD,6 +CMT,1,1,702,1.4,CRD,9 +CMT,2,2,2219,20.6,CRD,52 +CMT,1,1,623,2.9,CRD,11 +CMT,1,1,1203,2.3,CSH,13.5 +CMT,1,1,216,0.3,CRD,4 +CMT,1,1,878,1.8,CRD,11 +CMT,1,1,350,0.9,CSH,5.5 +CMT,1,1,1021,7.6,CRD,23.5 +CMT,1,1,662,3.1,CRD,11.5 +CMT,1,1,306,0.7,CRD,5.5 +CMT,1,1,700,1.7,CSH,9.5 +CMT,1,4,314,0.6,CSH,5.5 +CMT,1,1,561,1.4,CSH,8 +CMT,1,4,444,0.9,CRD,6.5 +CMT,1,1,254,0.7,CSH,5 +CMT,1,1,884,2.1,CSH,11 +CMT,1,1,616,1.1,CRD,8 +CMT,1,1,196,0.8,CRD,5 +CMT,1,1,220,0.8,CRD,5 +CMT,1,1,827,3.8,CSH,14.5 +CMT,1,1,597,1.2,CRD,8 +CMT,1,1,734,3.8,CRD,13.5 +CMT,1,4,657,2.8,CRD,11.5 +CMT,1,1,1003,3.8,CRD,15.5 +CMT,1,1,304,1,CRD,5.5 +CMT,1,1,549,1.7,CSH,8.5 +CMT,1,1,1113,1.7,CRD,12 +CMT,1,2,638,1.4,CSH,8.5 +CMT,1,2,672,1.7,CSH,9 +CMT,1,2,394,1.4,CSH,7.5 +CMT,1,1,418,0.8,CRD,6 +CMT,2,1,2823,8.1,CRD,52 +CMT,1,1,1010,6.4,CSH,20.5 +CMT,1,2,488,0.9,CSH,7 +CMT,1,1,440,1.5,CSH,7.5 +CMT,1,1,568,2.9,CRD,11 +CMT,1,2,1167,5.6,CSH,19.5 +CMT,1,1,912,2.7,CSH,12 +CMT,1,1,168,0.5,CSH,4.5 +CMT,1,1,1117,5,CSH,18.5 +CMT,1,1,270,1.9,CSH,7 +CMT,1,2,247,0.4,CSH,4.5 +CMT,1,1,136,0.7,CSH,4.5 +CMT,1,1,354,1.4,CRD,6.5 +CMT,1,1,365,1.1,CRD,6.5 +CMT,1,1,327,1.5,CSH,7 +CMT,1,1,2234,8.8,CRD,33.5 +CMT,1,1,618,1,CRD,8 +CMT,1,1,572,1.6,CRD,8.5 +CMT,1,3,393,1.3,CRD,6.5 +CMT,1,1,516,1.5,CSH,8 +CMT,1,1,234,1.3,CRD,6 +CMT,1,1,1568,3.6,CRD,18 +CMT,1,1,702,1.7,CSH,9.5 +CMT,1,1,1795,6.4,CSH,23 +CMT,1,1,486,1.6,CRD,8 +CMT,1,3,611,1.7,CRD,8.5 +CMT,1,1,365,1.6,CRD,7 +CMT,1,2,731,2.6,CSH,11 +CMT,1,2,393,0.9,CRD,6.5 +CMT,1,2,523,1.6,CRD,8 +CMT,1,1,652,3.3,CRD,12 +CMT,1,1,530,2.4,CRD,10 +CMT,1,1,846,6.3,CSH,20 +CMT,1,1,378,1.7,CSH,8 +CMT,1,1,226,0.9,CSH,5 +CMT,2,1,3120,29.6,CRD,52 +CMT,1,1,1579,7.4,CSH,25 +CMT,1,1,1642,9.1,CRD,30 +CMT,1,1,739,0.8,CRD,9 +CMT,1,1,794,2.6,CRD,11 +CMT,1,1,558,1.8,CSH,8.5 +CMT,1,1,775,7.9,CRD,23 +CMT,1,2,764,4.5,CSH,15.5 +CMT,1,2,1235,4.3,CRD,18 +CMT,1,1,427,1.2,CSH,7 +CMT,1,2,582,1.4,CRD,8.5 +CMT,1,1,509,0.8,CSH,7 +CMT,1,2,512,1.8,CRD,8.5 +CMT,1,1,322,0.7,CSH,5.5 +CMT,1,2,67,0.2,CSH,3 +CMT,1,2,469,0.7,CRD,6 +CMT,1,1,1920,10.3,CRD,31.5 +CMT,1,1,912,2.7,CSH,12 +CMT,1,1,921,2.1,CRD,11.5 +CMT,1,1,419,0.7,CSH,6 +CMT,1,1,921,9.3,CRD,26.5 +CMT,1,1,919,3.1,CRD,13.5 +CMT,1,1,706,1.3,CRD,9 +CMT,1,1,801,1.4,CRD,10 +CMT,1,1,413,1.6,CRD,7.5 +CMT,1,1,264,0.8,CSH,5.5 +CMT,1,1,220,0.6,CSH,4.5 +CMT,1,1,1846,1.5,CRD,7 +CMT,1,1,833,2.5,CRD,11.5 +CMT,1,1,830,1.6,CSH,10.5 +CMT,1,1,330,1.1,CSH,6 +CMT,1,1,551,2.3,CRD,9.5 +CMT,1,1,133,0.3,CRD,3.5 +CMT,1,1,506,1.3,CRD,7.5 +CMT,1,1,638,2.4,CSH,10.5 +CMT,1,1,268,0.5,CRD,5 +CMT,1,2,716,2.3,CRD,10.5 +CMT,1,1,924,8.3,CRD,24.5 +CMT,1,2,813,7.9,CSH,23.5 +CMT,1,2,571,2.8,CRD,10.5 +CMT,1,2,398,1.4,CRD,7 +CMT,1,1,951,5.9,CSH,19.5 +CMT,1,1,1029,1.6,CRD,12 +CMT,1,2,1052,9.7,CSH,28.5 +CMT,2,1,1890,17.2,CRD,52 +CMT,1,2,260,0.9,CSH,5 +CMT,1,3,651,1.2,CSH,8.5 +CMT,1,3,1373,9.8,CRD,29.5 +CMT,1,1,742,1.9,CSH,10 +CMT,1,1,675,1.3,CRD,8.5 +CMT,1,1,1041,4.1,CSH,16.5 +CMT,1,3,1387,2.9,CSH,16 +CMT,1,2,391,0.8,CSH,6 +CMT,1,2,432,1.4,CRD,7.5 +CMT,1,1,280,1.1,CRD,6 +CMT,1,1,742,3.6,CSH,13 +CMT,1,1,434,1.1,CSH,7 +CMT,1,1,310,2.6,CSH,9 +CMT,1,1,651,0.7,CSH,8 +CMT,1,1,562,1.8,CRD,9 +CMT,1,1,275,0.9,CSH,5.5 +CMT,1,1,643,2.6,CRD,10.5 +CMT,1,1,822,6.6,CSH,20.5 +CMT,1,1,246,0.4,CRD,4.5 +CMT,1,5,162,0.6,CSH,4 +CMT,1,2,763,4.9,CRD,16.5 +CMT,1,2,930,1.8,CSH,12 +CMT,1,4,621,1.3,CSH,8.5 +CMT,1,2,645,2.3,CRD,9.5 +CMT,1,2,520,1.4,CSH,8 +CMT,1,3,488,1.7,CRD,8 +CMT,1,4,712,4.2,CSH,14 +CMT,1,1,725,3.3,CRD,12.5 +CMT,1,1,1335,7.9,CRD,25.5 +CMT,1,1,405,1.3,CSH,7 +CMT,1,2,901,1.7,CRD,11 +CMT,1,1,538,1.2,CRD,8 +CMT,1,2,1760,12.3,CRD,37 +CMT,1,1,585,3.9,CSH,12.5 +CMT,1,1,468,0.9,CRD,7 +CMT,1,1,746,5.2,CRD,17 +CMT,1,1,1066,2.7,CRD,13.5 +CMT,1,1,209,0.5,CSH,4 +CMT,1,1,457,0.4,CRD,6.5 +CMT,1,1,228,0.7,CSH,4.5 +CMT,1,1,952,8.3,CRD,24.5 +CMT,2,1,2149,17,CSH,52 +CMT,1,2,317,0.7,CRD,5.5 +CMT,1,1,682,1.8,CSH,9.5 +CMT,1,3,1672,5,CSH,22 +CMT,1,2,643,3.3,CSH,12 +CMT,1,2,1019,3.5,CRD,15 +CMT,1,2,598,2.2,CRD,10 +CMT,1,1,222,0.5,CSH,4.5 +CMT,1,1,965,3.7,CRD,14.5 +CMT,1,1,1356,6.5,CRD,21.5 +CMT,1,2,435,0.9,CSH,6.5 +CMT,1,1,307,0.6,CSH,5.5 +CMT,1,1,1309,9,CRD,27 +CMT,1,2,760,5.1,CRD,16.5 +CMT,1,1,811,3.9,CRD,14.5 +CMT,1,1,1473,8.6,CRD,27.5 +CMT,1,1,799,3.1,CRD,12.5 +CMT,1,1,579,1.4,CRD,8 +CMT,1,2,268,0.5,CRD,5 +CMT,1,1,294,0.4,CSH,5 +CMT,1,1,733,1.9,CRD,10 +CMT,1,3,1311,9.4,CRD,29 +CMT,1,1,1402,1.6,CSH,15.5 +CMT,1,2,870,3,CRD,13 +CMT,1,2,266,1.3,CRD,6 +CMT,1,1,298,1.2,CSH,6.5 +CMT,1,2,811,5.7,CRD,18 +CMT,1,1,2162,10.5,CSH,35.5 +CMT,1,3,244,0.8,CRD,5 +CMT,1,1,123,0.6,CSH,4 +CMT,1,1,276,0.6,CSH,5 +CMT,1,1,440,1.8,CRD,8 +CMT,1,1,331,0.9,CRD,6 +CMT,1,1,255,0.4,CSH,4.5 +CMT,1,1,902,2.6,CRD,12 +CMT,1,2,568,0.9,CSH,7.5 +CMT,1,1,143,0.7,CRD,4.5 +CMT,1,1,1190,4.9,CRD,18 +CMT,1,2,271,0.6,CSH,5 +CMT,1,1,573,0.7,CSH,7.5 +CMT,1,1,559,1.9,CRD,9 +CMT,1,1,667,2.7,CSH,11.5 +CMT,1,1,974,5.7,CSH,19 +CMT,1,1,415,1.4,CRD,7 +CMT,2,2,2527,17.7,CRD,52 +CMT,1,1,389,0.8,CSH,5.5 +CMT,1,1,506,0.9,CSH,7 +CMT,1,2,324,0.5,CRD,5 +CMT,1,2,573,2.6,CRD,11 +CMT,1,1,765,1.4,CSH,9.5 +CMT,1,1,1253,3,CRD,15 +CMT,1,1,522,1.4,CRD,8 +CMT,1,1,529,1.2,CRD,7.5 +CMT,1,1,518,2.7,CRD,10.5 +CMT,1,1,776,1.7,CRD,10 +CMT,1,1,625,2.3,CRD,10.5 +CMT,1,2,600,2,CRD,9.5 +CMT,2,1,2840,20.6,CRD,52 +CMT,1,1,1160,4.1,CRD,16 +CMT,1,1,319,0.9,CRD,5.5 +CMT,1,1,308,0.5,CSH,5.5 +CMT,1,4,630,0.6,CSH,7.5 +CMT,1,1,395,0.9,CRD,6 +CMT,1,1,244,0.7,CRD,5 +CMT,1,1,1354,5.8,CSH,21 +CMT,1,1,287,1.2,CSH,6 +CMT,1,1,649,1.8,CSH,9 +CMT,1,1,377,1.4,CRD,7 +CMT,1,1,699,2.3,CRD,10.5 +CMT,1,2,803,1.2,CRD,9.5 +CMT,1,1,1011,2.5,CRD,12.5 +CMT,1,1,688,2.5,CSH,11 +CMT,1,1,338,0.5,CSH,5.5 +CMT,1,1,72,0.3,CSH,3 +CMT,1,2,828,2.3,CSH,11.5 +CMT,1,1,152,0.7,CRD,4.5 +CMT,1,1,289,0.9,CSH,5.5 +CMT,1,1,879,2.1,CRD,11.5 +CMT,1,1,312,1.1,CRD,6 +CMT,1,1,837,3.2,CRD,12.5 +CMT,1,1,317,0.8,CRD,5.5 +CMT,1,1,609,2.2,CSH,10 +CMT,1,1,1130,10.1,CSH,29.5 +CMT,1,1,801,2.9,CSH,12 +CMT,1,2,514,1.2,CSH,7.5 +CMT,1,2,728,3.5,CSH,14 +CMT,1,1,324,0.9,CSH,6 +CMT,1,2,614,1.7,CRD,9 +CMT,1,1,330,2,CSH,7.5 +CMT,1,1,924,6.7,CRD,21 +CMT,1,1,755,6,CRD,18.5 +CMT,1,1,248,0.6,CRD,5 +CMT,1,1,395,0.9,CRD,6.5 +CMT,1,1,80,0.3,CSH,3 +CMT,1,2,832,1,CRD,9.5 +CMT,1,1,1228,6.9,CRD,23 +CMT,1,1,516,2.8,CSH,10.5 +CMT,1,2,853,2.5,CSH,11.5 +CMT,1,2,715,4.5,CSH,15 +CMT,1,2,420,1.1,CSH,6.5 +CMT,1,3,246,1,CSH,5.5 +CMT,1,1,562,3.3,CRD,11.5 +CMT,1,1,965,6.5,CRD,20.5 +CMT,1,1,994,2.3,CSH,12.5 +CMT,1,1,849,1.8,CRD,10.5 +CMT,1,1,756,1.8,CRD,10 +CMT,1,3,354,0.8,CSH,6 +CMT,1,1,528,1,CSH,7.5 +CMT,1,1,460,2.1,CSH,9 +CMT,1,2,138,0.5,CRD,4 +CMT,2,1,2154,16.6,CRD,52 +CMT,1,3,946,3,CRD,12.5 +CMT,1,3,909,5.7,CSH,18.5 +CMT,1,1,828,3.4,CRD,13.5 +CMT,1,1,174,0.6,CSH,4.5 +CMT,1,1,808,3.4,CRD,12.5 +CMT,1,1,704,3,CRD,11.5 +CMT,1,3,360,1.4,CSH,7 +CMT,1,3,794,4.1,CRD,14 +CMT,1,1,532,0.8,CRD,7 +CMT,1,3,1812,10.6,CRD,33.5 +CMT,1,2,525,1.7,CSH,8 +CMT,1,1,1117,8.5,CRD,26 +CMT,1,1,361,0.9,CSH,6 +CMT,1,1,200,0.6,CSH,4.5 +CMT,1,1,841,3.2,CRD,13 +CMT,1,1,584,1.6,CRD,8.5 +CMT,1,3,1520,4.9,CRD,20.5 +CMT,1,1,385,0.8,CRD,6 +CMT,1,3,745,2.3,CSH,10.5 +CMT,1,1,1383,7.7,CRD,25.5 +CMT,1,2,762,3.1,CSH,12 +CMT,1,1,328,0.6,CSH,5.5 +CMT,1,1,458,1.7,CSH,8.5 +CMT,1,2,971,3.5,CSH,14 +CMT,1,1,319,1.1,CRD,6 +CMT,1,1,1004,9,CSH,26.5 +CMT,1,1,551,1.4,CRD,8 +CMT,1,2,1277,4.4,CRD,18 +CMT,1,1,905,3.2,CSH,13.5 +CMT,1,2,1043,3,CRD,14 +CMT,1,1,995,3.7,CSH,14.5 +CMT,1,2,432,1,CSH,6.5 +CMT,1,1,2287,10.4,CRD,35.5 +CMT,1,1,774,3.6,CRD,13.5 +CMT,1,1,753,3.9,CRD,13.5 +CMT,1,2,394,1.2,CSH,6.5 +CMT,1,1,1691,14.8,CRD,41 +CMT,1,1,754,2.8,CSH,12 +CMT,1,1,608,2.6,CRD,10.5 +CMT,1,3,466,1.3,CRD,7.5 +CMT,1,1,464,1.7,CSH,8 +CMT,1,1,353,1.5,CRD,7 +CMT,1,1,385,1.8,CRD,7.5 +CMT,1,2,2079,9,CRD,32 +CMT,1,1,386,1.1,CSH,6.5 +CMT,1,1,705,2,CRD,10 +CMT,1,2,251,0.5,CSH,4.5 +CMT,1,1,536,2.6,CSH,10.5 +CMT,1,1,104,0.6,CRD,4 +CMT,1,1,639,6.7,CSH,19.5 +CMT,1,1,1927,6,CRD,25.5 +CMT,1,2,432,1.9,CRD,8 +CMT,1,2,164,1.3,CRD,5.5 +CMT,1,3,254,1.5,CRD,6.5 +CMT,1,1,653,2.2,CRD,10 +CMT,1,1,581,2.3,CRD,9.5 +CMT,1,1,711,2.4,CRD,11 +CMT,1,1,780,4.2,CSH,14 +CMT,1,1,333,0.9,CSH,6 +CMT,1,1,1795,9.2,CRD,29.5 +CMT,1,1,343,1.1,CSH,6.5 +CMT,1,1,248,1,CSH,5 +CMT,1,1,450,0.9,CRD,7 +CMT,1,2,127,0.5,CSH,4 +CMT,1,4,716,2.3,CRD,10 +CMT,1,3,1023,1.9,CSH,12 +CMT,1,3,656,1.4,CSH,8.5 +CMT,1,1,962,2,CSH,12 +CMT,1,4,588,1.4,CSH,8.5 +CMT,1,1,1145,1.4,CRD,12.5 +CMT,1,1,1553,9.9,CRD,30 +CMT,1,1,97,0.5,CSH,3.5 +CMT,1,1,1436,5.7,CRD,22 +CMT,1,2,575,1.6,CSH,8.5 +CMT,1,1,1275,8.8,CRD,27 +CMT,1,1,1054,9,CSH,26.5 +CMT,1,1,953,4.8,CSH,16.5 +CMT,1,1,1355,4.5,CRD,18.5 +CMT,1,1,474,2.3,CRD,9 +CMT,1,2,923,5.5,CSH,18.5 +CMT,1,2,362,1.3,CRD,6.5 +CMT,1,1,908,1.2,CSH,10.5 +CMT,1,1,1135,4.2,CRD,16 +CMT,1,3,369,0.8,CRD,6 +CMT,1,1,1091,3.2,CRD,14.5 +CMT,1,1,780,0.6,CSH,9 +CMT,1,1,446,0.6,CSH,6.5 +CMT,1,1,232,0.9,CRD,5 +CMT,1,2,105,0.5,CSH,3.5 +CMT,1,2,752,1.9,CSH,10.5 +CMT,1,1,584,1.4,CRD,8.5 +CMT,1,1,259,0.4,CRD,4.5 +CMT,1,2,225,0.6,CSH,4.5 +CMT,1,2,887,2.3,CRD,12 +CMT,1,1,213,0.9,CRD,5 +CMT,1,1,340,0.5,CSH,5.5 +CMT,1,2,1480,8.5,CSH,27 +CMT,1,3,296,0.7,CRD,5 +CMT,1,1,1376,6.4,CSH,22.5 +CMT,1,2,1041,3.1,CRD,14 +CMT,1,1,1035,3.1,CRD,14.5 +CMT,2,1,1774,18.6,CRD,52 +CMT,1,2,329,2.6,CSH,8.5 +CMT,1,1,317,1.4,CSH,6.5 +CMT,1,1,470,2.1,CRD,9 +CMT,1,2,590,5.2,CRD,16.5 +CMT,1,2,729,2.7,CRD,11.5 +CMT,1,1,167,0.8,CSH,4.5 +CMT,1,2,676,5,CRD,16 +CMT,1,3,592,2.1,CSH,10 +CMT,1,3,579,1.4,CSH,8 +CMT,1,1,302,0.9,CRD,5.5 +CMT,1,2,419,1.9,CSH,8.5 +CMT,1,2,710,1.5,CRD,9.5 +CMT,1,2,547,0.7,CRD,7 +CMT,1,3,1332,7,CRD,23.5 +CMT,1,2,187,0.3,CRD,4 +CMT,1,2,645,1.9,CRD,10 +CMT,1,1,326,0.9,CRD,5.5 +CMT,1,4,693,1.6,CRD,9 +CMT,1,4,1535,5.1,CSH,20 +CMT,1,1,586,1.4,CRD,8 +CMT,1,1,1025,3.7,CRD,15 +CMT,1,2,739,4,CSH,13.5 +CMT,1,2,636,2.2,CSH,10 +CMT,1,1,778,2.9,CRD,12 +CMT,1,1,702,3,CSH,12 +CMT,1,1,777,3.4,CSH,13 +CMT,2,2,1607,18.2,CRD,52 +CMT,1,2,209,0.3,CRD,4 +CMT,2,2,2763,18,CSH,52 +CMT,1,1,559,1.1,CSH,8 +CMT,1,1,260,0.9,CSH,5.5 +CMT,1,1,290,1.1,CRD,6 +CMT,1,1,1114,2.1,CSH,13 +CMT,1,1,941,2.2,CRD,12 +CMT,1,1,268,0.8,CRD,5 +CMT,1,1,1086,4.1,CRD,16 +CMT,1,2,810,4.1,CRD,15.5 +CMT,1,1,1429,4.1,CRD,19 +CMT,1,2,348,1,CSH,6 +CMT,1,1,479,1.6,CSH,7.5 +CMT,1,1,2019,9.2,CRD,29.5 +CMT,1,1,741,1.8,CRD,9.5 +CMT,1,1,482,0.9,CRD,7 +CMT,1,1,1054,3.4,CRD,15.5 +CMT,1,1,513,3.9,CSH,12.5 +CMT,1,1,762,2.4,CSH,11 +CMT,1,1,891,2.9,CRD,13 +CMT,1,1,765,3.3,CSH,12.5 +CMT,1,1,1184,5.9,CRD,20.5 +CMT,1,2,337,1.1,CSH,6.5 +CMT,1,1,100,0.6,CSH,4 +CMT,1,4,188,0.7,CSH,4.5 +CMT,1,2,871,3.7,CSH,14 +CMT,1,1,195,0.7,CRD,5 +CMT,1,1,1556,9.3,CRD,29.5 +CMT,1,1,1051,1.4,CRD,11.5 +CMT,1,1,1130,3,CSH,13.5 +CMT,1,1,884,4.6,CRD,15.5 +CMT,1,1,227,0.7,CSH,4.5 +CMT,1,1,377,1.2,CRD,6.5 +CMT,1,1,893,2.4,CRD,12 +CMT,1,1,389,1.6,CRD,7 +CMT,1,2,448,0.6,CRD,6.5 +CMT,1,1,303,1,CRD,5.5 +CMT,1,1,342,0.7,CSH,5.5 +CMT,1,1,529,0.6,CRD,7 +CMT,1,1,664,2.2,CSH,10 +CMT,1,1,660,2.2,CRD,9.5 +CMT,1,1,1220,3.7,CSH,16 +CMT,1,1,646,2.4,CSH,10.5 +CMT,1,1,338,1.5,CRD,7 +CMT,1,1,960,2.2,CSH,12 +CMT,1,1,2313,14,CSH,42 +CMT,1,1,543,1.2,CRD,7.5 +CMT,1,1,1075,3.2,CRD,14.5 +CMT,1,1,316,0.8,CRD,5.5 +CMT,1,2,698,2,CRD,10 +CMT,1,1,677,1.5,CSH,9.5 +CMT,1,1,1115,4.6,CSH,17 +CMT,1,2,340,0.8,CSH,5.5 +CMT,1,1,993,2.1,CRD,12 +CMT,1,1,641,1.9,CRD,9 +CMT,1,4,1058,3.1,CSH,14 +CMT,1,1,962,3.8,CRD,14.5 +CMT,2,4,1194,16.2,CSH,52 +CMT,1,2,230,1.4,CSH,6 +CMT,1,1,658,3.6,CRD,12.5 +CMT,2,2,2505,16.8,CSH,52 +CMT,1,1,490,3.4,CRD,11.5 +CMT,1,1,85,0.5,CRD,3.5 +CMT,1,1,1772,14.4,CSH,40.5 +CMT,2,1,2871,18.2,CRD,52 +CMT,2,2,1565,18.1,CRD,52 +CMT,1,1,1571,17.1,CSH,47.5 +CMT,1,2,1362,9.9,CSH,30.5 +CMT,2,2,2192,16.9,CRD,52 +CMT,1,3,1417,12.5,CSH,36.5 +CMT,2,1,1619,18.4,CSH,52 +CMT,2,1,2844,17.4,CRD,52 +CMT,1,1,2374,10.2,CRD,37.5 +CMT,2,2,2246,17,CRD,52 +CMT,2,2,2425,18.1,CSH,52 +CMT,2,1,2561,17.3,CSH,52 +CMT,2,1,2607,17.4,CRD,52 +CMT,1,1,744,2.3,CSH,11 +CMT,1,2,941,3.7,CRD,14.5 +CMT,1,3,98,0.5,CSH,3.5 +CMT,1,4,406,0.9,CSH,6.5 +CMT,1,1,943,3.7,CRD,14.5 +CMT,1,4,419,0.5,CSH,6 +CMT,1,1,231,0.9,CSH,5.5 +CMT,1,4,1209,6.1,CSH,21 +CMT,2,1,2062,15.3,CRD,52 +CMT,2,2,1476,6.8,CRD,52 +CMT,1,3,532,2,CSH,8.5 +CMT,2,1,33,0,CRD,52 +CMT,1,1,1133,5.1,CSH,18.5 +CMT,2,1,2880,17.1,CSH,52 +CMT,1,3,667,3,CSH,11.5 +CMT,2,2,2492,16.8,CRD,52 +CMT,1,1,598,2,CSH,9.5 +CMT,1,1,2013,16.2,CRD,46 +CMT,1,1,838,11.5,CRD,31.5 +CMT,1,1,1327,10.7,CSH,31 +CMT,1,2,147,0.3,CSH,3.5 +CMT,1,1,1200,10.3,CSH,31 +CMT,1,2,1105,9.9,CRD,29 +CMT,1,2,209,1.1,CSH,5.5 +CMT,5,1,899,2.3,CRD,85 +CMT,2,1,1954,20.6,CRD,52 +CMT,2,1,1876,16.8,CRD,52 +CMT,1,1,575,2,CSH,9 +CMT,1,4,391,0.7,CSH,6 +CMT,1,1,1398,3.1,CRD,15.5 +CMT,1,1,1148,2.9,CSH,14.5 +CMT,1,1,565,1.4,CRD,7.5 +CMT,1,2,1236,3.5,CRD,16.5 +CMT,1,1,1022,5.5,CRD,19 +CMT,1,3,1149,6.5,CRD,20 +CMT,1,1,561,1.6,CSH,8.5 +CMT,1,2,1044,3.7,CRD,15.5 +CMT,1,2,714,1.7,CSH,10 +CMT,1,2,1309,9,CRD,28.5 +CMT,1,2,273,0.9,CSH,5.5 +CMT,1,2,208,0.5,CSH,4.5 +CMT,5,2,498,3.7,CRD,70 +CMT,2,4,3128,17.2,CSH,52 +CMT,2,1,17,0,CRD,52 +CMT,2,2,2127,16.8,CSH,52 +CMT,2,1,1890,18.2,CRD,52 +CMT,1,2,1670,22.9,CRD,60.5 +CMT,2,1,1706,17.8,CRD,52 +CMT,2,1,2389,18.3,CRD,52 +CMT,2,1,2093,18.7,CRD,52 +CMT,1,4,1475,4.2,CRD,18.5 +CMT,1,1,907,4.8,CSH,16.5 +CMT,1,1,2,0,NOC,2.5 +CMT,2,1,1797,16.9,CRD,52 +CMT,1,1,560,1.8,CRD,9 +CMT,2,1,2880,17.4,CSH,52 +CMT,1,2,746,0.8,CRD,8.5 +CMT,1,2,196,0.5,CSH,4 +CMT,2,3,1991,19.4,CRD,52 +CMT,2,1,17,0,NOC,52 +CMT,1,1,1220,14.4,CRD,39.5 +CMT,1,3,504,2.9,CSH,10.5 +CMT,1,2,628,3.1,CSH,11.5 +CMT,2,2,1671,17,CSH,52 +CMT,1,1,1062,8.2,CRD,25 +CMT,2,2,8,0,CRD,52 +CMT,2,1,584,9.2,CSH,52 +CMT,1,2,561,1.3,CSH,8 +CMT,1,1,2231,0.1,CSH,7.5 +CMT,1,1,854,2.5,CRD,12 +CMT,1,1,150,0.6,CSH,4 +CMT,1,1,353,0.9,CRD,6 +CMT,1,1,1510,10,CRD,30 +CMT,1,1,3130,10.8,CSH,42 +CMT,1,2,666,1.5,CSH,9 +CMT,1,1,1137,0,CSH,2.5 +CMT,2,2,2917,16.6,CSH,52 +CMT,2,2,1690,10.1,CRD,52 +CMT,2,1,2286,17.9,CRD,52 +CMT,1,1,645,1.8,CSH,9.5 +CMT,1,1,894,8.3,CRD,24.5 +CMT,2,1,2397,18,CRD,52 +CMT,1,1,175,0.7,CRD,4.5 +CMT,1,2,1038,3.5,CSH,14.5 +CMT,1,1,396,2.3,CRD,9 +CMT,1,3,413,2,CSH,8.5 +CMT,1,1,921,9.5,CRD,27 +CMT,1,3,489,1.4,CRD,7.5 +CMT,1,1,471,1,CRD,7 +CMT,1,1,674,2.2,CRD,10 +CMT,1,1,227,0.4,CRD,4.5 +CMT,1,1,632,2.3,CSH,9.5 +CMT,1,2,1455,4.5,CSH,19 +CMT,1,4,628,1.3,CSH,8 +CMT,1,2,949,1.8,CSH,11.5 +CMT,1,2,333,0.6,CRD,5.5 +CMT,1,1,310,0.9,CSH,5.5 +CMT,1,1,1020,2.9,CRD,13.5 +CMT,1,1,226,0.6,CSH,4.5 +CMT,1,4,965,2.3,CSH,12 +CMT,1,1,1810,5.6,CRD,23 +CMT,1,1,659,2.4,CSH,10.5 +CMT,1,2,329,0.7,CSH,5 +CMT,1,1,694,2,CSH,9.5 +CMT,2,4,1714,12,CRD,52 +CMT,1,1,170,1.1,CSH,5 +CMT,1,3,562,2.6,CSH,10.5 +CMT,1,2,968,3.2,CRD,14 +CMT,1,1,2135,1.6,CSH,7 +CMT,1,1,1017,2.3,CRD,12.5 +CMT,1,1,588,2,CSH,9 +CMT,1,2,484,1.8,CSH,8.5 +CMT,1,1,285,0.9,CSH,5.5 +CMT,1,1,558,1.6,CSH,8.5 +CMT,1,2,452,0.9,CSH,6.5 +CMT,1,1,647,4.5,CRD,15 +CMT,1,1,850,3.8,CSH,14.5 +CMT,1,1,475,1.7,CRD,8 +CMT,1,1,164,0.5,CSH,4 +CMT,1,1,615,2.5,CSH,10.5 +CMT,1,1,878,2.6,CRD,12 +CMT,1,1,1180,4.5,CSH,17.5 +CMT,2,1,2510,19.2,CRD,52 +CMT,2,2,1908,17.6,CSH,52 +CMT,1,1,1149,2.9,CSH,14.5 +CMT,1,1,636,1.8,CRD,9 +CMT,1,2,269,0.9,CRD,5 +CMT,1,1,571,0.8,CRD,7.5 +CMT,1,1,248,0.6,CRD,5 +CMT,1,2,954,2.9,CSH,13 +CMT,1,1,668,1.8,CRD,10 +CMT,1,1,1279,9.3,CRD,28 +CMT,2,2,1693,16.7,CSH,52 +CMT,1,3,93,0.5,CSH,3.5 +CMT,2,4,2225,16.1,CSH,52 +CMT,1,2,1018,4.8,CRD,17.5 +CMT,2,1,17,0,NOC,52 +CMT,1,1,1909,16.4,CRD,45.5 +CMT,1,1,742,5.8,CSH,18.5 +CMT,2,1,2186,17.2,CSH,52 +CMT,1,1,418,1.3,CRD,7 +CMT,2,2,2439,17.6,CSH,52 +CMT,1,2,619,3.3,CSH,11.5 +CMT,2,1,3344,19,CSH,52 +CMT,1,2,1172,12.4,CSH,35.5 +CMT,2,1,2380,18.8,CSH,52 +CMT,1,2,891,3.7,CSH,13.5 +CMT,1,2,1028,9.4,CRD,27.5 +CMT,2,2,3736,18.8,CSH,52 +CMT,2,2,2304,18.6,CSH,52 +CMT,1,1,551,1.5,CRD,8.5 +CMT,1,1,1291,9.3,CSH,28 +CMT,1,1,841,2.6,CSH,11.5 +CMT,1,1,450,1.8,CRD,8 +CMT,1,2,206,0.3,CSH,4 +CMT,1,1,350,0.8,CRD,6 +CMT,1,1,358,1,CRD,6.5 +CMT,1,2,960,1.6,CSH,11.5 +CMT,2,2,1533,17.9,CRD,52 +CMT,2,2,2238,20,CSH,52 +CMT,1,1,1892,16,CRD,46 +CMT,1,3,594,2.1,CRD,9.5 +CMT,1,1,1809,13.5,CSH,37.5 +CMT,1,1,1446,9.4,CRD,29.5 +CMT,2,2,2695,17,CSH,52 +CMT,1,2,1143,14.5,CRD,39.5 +CMT,1,1,1328,9.3,CRD,29 +CMT,2,1,1985,16.6,CSH,52 +CMT,2,3,4386,13.3,CSH,52 +CMT,1,2,640,2.7,CSH,10.5 +CMT,1,1,1410,8.5,CSH,26.5 +CMT,1,1,2779,21.6,CSH,57.5 +CMT,1,1,1084,8.8,CSH,27 +CMT,2,2,1811,17.4,CSH,52 +CMT,1,1,1692,9.3,CRD,31 +CMT,1,1,1831,9.4,CSH,32 +CMT,1,1,568,1.9,CRD,8.5 +CMT,2,1,1925,17.1,CSH,52 +CMT,1,1,335,1.5,CRD,7 +CMT,2,1,1991,20.4,CSH,52 +CMT,1,1,537,1.5,CRD,8 +CMT,1,2,248,1.2,CSH,5.5 +CMT,1,1,2066,11.2,CRD,36 +CMT,1,2,206,2,CRD,7.5 +CMT,2,1,2216,16.7,CRD,52 +CMT,2,1,1602,18.2,CRD,52 +CMT,1,1,1908,25.1,CSH,66 +CMT,1,3,771,3.9,CRD,13.5 +CMT,1,2,196,0.6,CSH,4 +CMT,1,2,1436,12.5,CSH,36 +CMT,1,1,397,3.7,CRD,12.5 +CMT,5,1,42,0,CRD,95 +CMT,2,3,1996,17.2,CRD,52 +CMT,2,2,1731,17.1,CSH,52 +CMT,2,2,1972,16.7,CSH,52 +CMT,1,1,189,0.9,CSH,5 +CMT,2,1,1776,17.2,CRD,52 +CMT,2,2,1833,16.8,CRD,52 +CMT,1,1,1391,10.8,CSH,31.5 +CMT,2,1,3232,18.1,CRD,52 +CMT,2,1,2108,17.7,CSH,52 +CMT,1,2,531,1.7,CSH,8 +CMT,1,1,373,1,CRD,6 +CMT,1,1,1981,11.8,CRD,37 +CMT,2,1,1991,17.2,CSH,52 +CMT,1,1,1231,12.1,CRD,33 +CMT,1,1,533,2.1,CRD,9 +CMT,5,1,52,0,CRD,85 +CMT,2,2,1026,7.6,CSH,52 +CMT,1,1,2299,16.7,CRD,50 +CMT,1,1,1688,12.9,CRD,38 +CMT,1,2,892,9.4,CRD,26.5 +CMT,1,1,482,1.3,CRD,7.5 +CMT,1,1,901,3.7,CRD,14.5 +CMT,1,1,1178,7.3,CRD,22.5 +CMT,1,2,419,2.1,CSH,8.5 +CMT,2,1,2023,17.2,CSH,52 +CMT,1,1,1340,9.5,CSH,27.5 +CMT,2,1,2259,18.3,CSH,52 +CMT,1,1,275,1.1,CRD,5.5 +CMT,1,1,1551,12.4,CRD,36 +CMT,1,1,173,0.9,CRD,5 +CMT,2,2,3030,18.6,CRD,52 +CMT,1,1,644,1.9,CSH,9.5 +CMT,1,1,349,1.3,CRD,6.5 +CMT,1,1,2114,13.8,CRD,41 +CMT,1,2,1912,9.5,CRD,33 +CMT,1,1,1537,10.2,CRD,31 +CMT,1,1,1401,9.9,CRD,29.5 +CMT,1,1,73,0.4,CSH,3.5 +CMT,1,1,1426,9.4,CSH,28 +CMT,1,2,747,2.6,CRD,11.5 +CMT,1,4,785,3.6,CSH,13.5 +CMT,1,2,324,1.2,CRD,6 +CMT,1,1,328,2,CRD,8 +CMT,2,1,3265,21,CSH,52 +CMT,1,2,1292,10.1,CSH,30 +CMT,1,1,264,1.1,CRD,6 +CMT,1,1,286,1.6,CSH,7 +CMT,1,2,514,2,CRD,9 +CMT,1,1,256,1,CSH,5.5 +CMT,1,1,268,1,CRD,5.5 +CMT,1,2,938,3.5,CSH,14.5 +CMT,1,1,687,2.1,CRD,10 +CMT,1,1,571,2.1,CSH,9.5 +CMT,2,4,2841,19.5,CSH,52 +CMT,1,2,446,0.9,CRD,6.5 +CMT,1,3,2161,6,CRD,25.5 +CMT,1,1,248,1.2,CSH,5.5 +CMT,1,2,1093,1.2,CSH,12 +CMT,1,1,530,1.8,CRD,8.5 +CMT,1,1,1511,8.5,CRD,27.5 +CMT,1,1,129,0.4,CSH,4 +CMT,1,2,769,1.3,CSH,9 +CMT,1,1,189,0.4,CRD,4 +CMT,1,1,774,2.4,CSH,11 +CMT,1,1,3415,20.5,CRD,63 +CMT,1,2,608,3.4,CSH,12.5 +CMT,1,1,555,3.1,CRD,11 +CMT,2,1,1292,16.5,CSH,52 +CMT,2,2,1534,17.1,CSH,52 +CMT,3,2,1089,16.1,CRD,60.5 +CMT,1,1,151,0.8,CSH,4.5 +CMT,2,1,1596,16.8,CRD,52 +CMT,1,2,761,11.3,CSH,31 +CMT,1,2,1620,12.8,CSH,36.5 +CMT,1,1,1109,4,CSH,16.5 +CMT,1,1,660,2.9,CRD,12 +CMT,2,2,29,0,CRD,52 +CMT,2,1,1813,18.2,CSH,52 +CMT,1,1,1293,8.5,CRD,26.5 +CMT,1,1,2463,24.6,CSH,66 +CMT,2,1,1175,16.8,CRD,52 +CMT,1,1,1366,10.4,CSH,30 +CMT,1,1,3889,0.6,CSH,7 +CMT,1,1,189,1.7,CSH,6.5 +CMT,2,2,2431,18.2,CSH,52 +CMT,1,1,393,1.7,CRD,7.5 +CMT,1,1,178,0.7,CSH,4.5 +CMT,1,1,271,1,CSH,5.5 +CMT,1,1,1046,10.3,CRD,29 +CMT,2,2,1635,19.2,CRD,52 +CMT,1,1,2915,0,CSH,2.5 +CMT,2,1,2375,18.8,CRD,52 +CMT,1,3,595,1.6,CSH,8.5 +CMT,1,2,821,6.4,CSH,19.5 +CMT,2,1,2401,18.9,CRD,52 +CMT,1,1,1312,16.2,CSH,44 +CMT,1,1,1329,9.5,CRD,29.5 +CMT,1,1,1002,10.7,CSH,29.5 +CMT,1,2,2181,12.2,CSH,39 +CMT,2,3,1557,16.9,CSH,52 +CMT,1,2,1637,10.5,CRD,32 +CMT,1,1,1529,7.5,CRD,28 +CMT,2,2,2077,16.7,CRD,52 +CMT,1,3,1979,10.9,CRD,35.5 +CMT,1,2,1023,11.4,CSH,32 +CMT,2,1,1292,16.2,CSH,52 +CMT,2,1,2242,18.1,CRD,52 +CMT,1,4,2116,12.6,CRD,39 +CMT,2,1,1807,16.7,CRD,52 +CMT,1,2,1469,9.5,CRD,30 +CMT,1,1,1946,11.3,CRD,35 +CMT,1,1,593,5.7,CSH,17.5 +CMT,1,2,525,1.3,CRD,8 +CMT,2,2,2241,16.8,CSH,52 +CMT,1,3,1227,14.8,CSH,41 +CMT,1,1,2306,0.1,CSH,2.5 +CMT,2,1,2411,17.1,CRD,52 +CMT,1,3,623,2.5,CSH,10.5 +CMT,1,3,355,1.6,CSH,7 +CMT,1,1,1636,9.5,CSH,31 +CMT,1,2,1388,9.4,CRD,29 +CMT,1,2,463,3.5,CSH,12.5 +CMT,1,3,1286,8.9,CRD,27 +CMT,1,2,207,0.9,CRD,5 +CMT,1,1,363,1,CSH,6 +CMT,2,2,2463,17,CSH,52 +CMT,1,1,3660,9.1,NOC,25 +CMT,2,1,1737,17.9,CRD,52 +CMT,2,2,2044,17.1,CRD,52 +CMT,2,1,2161,19.2,CSH,52 +CMT,4,1,1062,11.7,CRD,46 +CMT,1,1,652,1.2,CRD,8.5 +CMT,1,1,1701,8.7,CRD,29.5 +CMT,1,3,1169,1.7,CSH,13 +CMT,1,3,685,2.2,CRD,10 +CMT,1,1,1213,8.4,CRD,25.5 +CMT,1,1,1588,9.9,CRD,31.5 +CMT,1,2,1534,9.4,CSH,30 +CMT,1,1,1310,12.4,CSH,35.5 +CMT,1,1,1338,9.6,CRD,29.5 +CMT,1,1,214,1.1,CRD,5.5 +CMT,2,1,1961,19,CRD,52 +CMT,1,1,3376,0.3,CSH,3.5 +CMT,1,1,370,2.3,CRD,9 +CMT,1,2,432,1.9,CRD,8.5 +CMT,1,1,801,6.6,CRD,20.5 +CMT,1,2,258,1.5,CSH,6.5 +CMT,1,1,993,9.1,CSH,27 +CMT,1,3,200,0.7,CSH,4.5 +CMT,1,1,1184,5.7,CRD,20 +CMT,1,1,83,0.6,CRD,3.5 +CMT,2,1,22,0,CSH,52 +CMT,2,1,2050,18.4,CRD,52 +CMT,1,1,1028,14.2,CRD,38.5 +CMT,2,2,2549,19.3,CSH,52 +CMT,1,1,210,0.9,CSH,5 +CMT,1,1,401,0.8,CRD,6.5 +CMT,1,1,2201,4,CSH,23.5 +CMT,2,1,1579,17.2,CSH,52 +CMT,1,2,984,5.8,CSH,19.5 +CMT,1,1,1247,11.1,CRD,31.5 +CMT,1,1,1339,16.2,CRD,44 +CMT,2,2,1640,18.1,CRD,52 +CMT,1,3,1013,2.9,CSH,13.5 +CMT,1,1,605,3.6,CRD,12.5 +CMT,1,1,1026,4.9,CRD,17.5 +CMT,1,1,331,1.5,CSH,7 +CMT,1,1,1468,5,NOC,2.5 +CMT,1,1,1127,13.9,CSH,37.5 +CMT,2,1,2646,16.4,CSH,52 +CMT,1,1,306,1.5,CRD,6.5 +CMT,1,2,74,0.5,CSH,3.5 +CMT,1,2,1475,10.8,CRD,33 +CMT,1,1,724,1,CRD,9 +CMT,1,1,2324,10.2,CSH,36 +CMT,1,2,1175,7.9,CSH,25 +CMT,1,3,1303,4.8,CSH,19 +CMT,2,1,2151,17.6,CSH,52 +CMT,1,4,471,1.9,CSH,8.5 +CMT,1,1,300,1.1,CRD,6 +CMT,1,2,384,1.4,CRD,7.5 +CMT,1,1,301,1.1,CSH,6 +CMT,1,2,163,0.7,CSH,4.5 +CMT,1,3,638,1.8,CSH,9 +CMT,1,1,1289,8.7,CSH,26.5 +CMT,1,1,459,1.4,CSH,7.5 +CMT,1,3,314,1.1,CSH,6.5 +CMT,1,2,685,2.2,CSH,10.5 +CMT,1,1,352,1.3,CRD,6.5 +CMT,1,1,972,3.3,CSH,14 +CMT,1,1,381,1.4,CSH,7 +CMT,1,1,281,1.4,CSH,6 +CMT,1,1,709,1.9,CSH,10 +CMT,1,1,1078,5.1,CRD,19 +CMT,1,1,477,1.4,CRD,7.5 +CMT,1,1,1036,4.4,CRD,17 +CMT,1,1,553,2.1,CSH,9.5 +CMT,1,1,321,1.3,CRD,6.5 +CMT,1,1,971,1.9,CRD,11.5 +CMT,1,1,641,3.5,CRD,13 +CMT,2,1,1406,18.6,CRD,52 +CMT,2,2,2578,17.4,CRD,52 +CMT,1,1,343,0.9,CSH,6 +CMT,1,2,316,2.3,CSH,8.5 +CMT,1,1,289,0.7,CSH,5 +CMT,1,2,162,0.6,CSH,4 +CMT,2,1,2174,18.1,CRD,52 +CMT,1,1,1322,9.5,CSH,29 +CMT,2,3,2440,19.3,CSH,52 +CMT,1,2,158,0.2,CSH,3.5 +CMT,1,1,1637,9.5,CSH,28.5 +CMT,1,1,1002,8.2,CRD,24 +CMT,1,1,2054,12.3,CRD,38.5 +CMT,2,1,1245,17.7,CRD,52 +CMT,1,4,716,2.7,CSH,11 +CMT,1,3,868,5.4,CSH,18 +CMT,1,2,239,1.3,CSH,6 +CMT,1,2,533,1.4,CSH,8 +CMT,1,3,385,1.5,CRD,7 +CMT,1,2,256,0.9,CSH,5.5 +CMT,1,3,381,0.8,CSH,6 +CMT,1,2,490,2.6,CRD,9.5 +CMT,1,3,339,0.9,CRD,6 +CMT,1,1,723,2.4,CRD,10.5 +CMT,1,1,635,2.7,CRD,11 +CMT,2,1,2010,18.6,CRD,52 +CMT,1,1,1387,9.5,CRD,29.5 +CMT,1,1,1622,10.7,CRD,32 +CMT,2,1,1691,17.9,CRD,52 +CMT,1,1,644,2.8,CRD,11.5 +CMT,1,1,575,2.1,CSH,9.5 +CMT,1,1,249,1.6,CRD,6.5 +CMT,1,2,358,1.7,CRD,7.5 +CMT,1,2,206,0.6,CSH,4.5 +CMT,1,2,538,3.1,CRD,11 +CMT,1,2,296,1.3,CRD,6.5 +CMT,1,4,208,1.1,CSH,5.5 +CMT,1,4,1268,9.3,CSH,28 +CMT,1,1,11,0,NOC,2.5 +CMT,1,2,581,2.1,CSH,9.5 +CMT,1,1,674,1.9,CRD,9.5 +CMT,1,1,573,1,CRD,7.5 +CMT,1,1,412,0.9,CSH,6.5 +CMT,1,3,527,1.6,CSH,8 +CMT,1,1,851,3.1,CRD,13 +CMT,3,1,3459,34.9,CSH,110.5 +CMT,1,1,265,0.6,CRD,5 +CMT,1,1,1239,4.1,CRD,16.5 +CMT,1,2,824,4.9,CRD,16.5 +CMT,1,2,655,3.4,CRD,13 +CMT,1,1,190,0.9,CSH,5 +CMT,1,1,2174,9.5,NOC,2.5 +CMT,1,1,546,2.9,CSH,11 +CMT,1,1,558,2.7,CRD,10.5 +CMT,1,1,215,1.4,CRD,6 +CMT,1,2,843,3,CSH,13 +CMT,1,1,1301,14,CSH,38 +CMT,1,1,379,1.4,CRD,7 +CMT,1,1,847,4,CRD,14 +CMT,1,1,553,3.2,CRD,11.5 +CMT,1,1,151,0.9,CSH,4.5 +CMT,1,1,705,2.4,CRD,10.5 +CMT,1,4,337,1.4,CSH,6.5 +CMT,1,1,368,0.8,CRD,6 +CMT,1,1,626,2.9,CRD,11 +CMT,1,2,250,0.6,CSH,5 +CMT,1,1,67,0.4,CSH,3.5 +CMT,1,1,121,0.5,CRD,3.5 +CMT,1,2,236,0.6,CSH,4.5 +CMT,1,2,400,1.7,CSH,7.5 +CMT,1,2,390,1,CSH,6.5 +CMT,1,1,230,0.8,CRD,5 +CMT,1,1,410,0.9,CRD,6.5 +CMT,1,1,1161,3.6,CSH,16 +CMT,1,1,368,2,CSH,8 +CMT,1,1,1219,6.1,CRD,21 +CMT,1,1,304,1,CSH,5.5 +CMT,1,1,312,0,CSH,2.5 +CMT,1,1,1683,11.6,CRD,34 +CMT,1,1,1018,6.1,CRD,19 +CMT,1,2,1413,4.8,CRD,19.5 +CMT,1,2,1048,4.3,CRD,16.5 +CMT,1,1,3,0,NOC,2.5 +CMT,1,1,704,2.7,CSH,11 +CMT,1,1,271,0.8,CSH,5 +CMT,1,4,298,1.3,CSH,6.5 +CMT,1,3,392,1.7,CRD,7.5 +CMT,1,1,527,0.3,NOC,3.5 +CMT,1,1,257,0.7,CSH,5 +CMT,1,1,311,1.4,CSH,6.5 +CMT,1,1,230,0.6,CSH,5 +CMT,1,2,338,2,CRD,8 +CMT,1,1,1595,23.2,CRD,60.5 +CMT,1,1,1246,3,CRD,15 +CMT,1,1,660,4.1,CRD,14 +CMT,1,1,687,3,CRD,12 +CMT,1,1,339,1.2,CSH,6.5 +CMT,1,1,152,0.4,CSH,4 +CMT,1,1,651,2.2,CRD,9.5 +CMT,1,1,292,0.9,CSH,5.5 +CMT,1,3,147,0.8,CRD,4.5 +CMT,1,1,799,3.6,CRD,13 +CMT,1,2,166,0.7,CSH,4.5 +CMT,1,4,1287,10.8,CRD,31.5 +CMT,1,1,385,2.2,CRD,8.5 +CMT,1,4,352,1.4,CSH,7 +CMT,1,1,300,1,CSH,6 +CMT,1,1,317,1.4,CSH,6.5 +CMT,1,1,904,6.6,CRD,20.5 +CMT,1,1,2012,6.2,CRD,27 +CMT,1,2,1438,5.7,CRD,21 +CMT,1,3,387,1.1,CRD,6.5 +CMT,1,3,2573,23.9,CSH,65.5 +CMT,1,1,1359,6.9,CSH,23.5 +CMT,1,1,677,4.2,CSH,14 +CMT,1,1,481,2.2,CSH,9 +CMT,1,1,154,0.6,CRD,4 +CMT,1,2,90,0.4,CRD,3.5 +CMT,1,2,641,1.9,CSH,10 +CMT,1,3,473,0.9,CRD,7 +CMT,1,1,289,1.2,CSH,6 +CMT,1,2,636,2.1,CRD,9.5 +CMT,1,2,1294,4.4,CSH,17.5 +CMT,1,1,970,2.9,CSH,13.5 +CMT,1,1,659,2.2,CRD,10.5 +CMT,1,1,231,0.7,CSH,5 +CMT,1,1,493,1.4,CRD,7.5 +CMT,1,1,499,1.6,CRD,8 +CMT,1,1,1185,6.4,CRD,21.5 +CMT,1,1,850,5.4,CSH,18.5 +CMT,1,1,124,0.6,CRD,4 +CMT,3,1,1180,5.2,CRD,36 +CMT,1,2,346,1.3,CSH,6.5 +CMT,1,1,470,2.9,CRD,10.5 +CMT,1,1,379,1.3,CRD,7 +CMT,1,1,632,3.5,CSH,12.5 +CMT,1,1,89,0.4,CSH,3.5 +CMT,1,1,531,0.9,CRD,7.5 +CMT,1,1,961,4.2,CSH,15.5 +CMT,1,1,441,3.1,CRD,10.5 +CMT,1,1,633,0.6,NOC,8 +CMT,1,1,199,0.8,CRD,4.5 +CMT,1,2,416,0.7,CRD,6 +CMT,1,2,968,2.8,CRD,13 +CMT,1,2,355,1,CRD,6 +CMT,1,1,1744,6.1,CRD,23.5 +CMT,1,1,331,1.2,CSH,6.5 +CMT,1,1,658,1.3,CRD,8.5 +CMT,1,1,772,2,CRD,10 +CMT,1,1,593,1.4,CRD,8 +CMT,1,2,914,2.2,CSH,11.5 +CMT,1,1,173,0.6,CRD,4 +CMT,1,1,874,1.5,NOC,2.5 +CMT,1,1,1940,24.2,CRD,64 +CMT,1,2,918,5.2,CRD,17 +CMT,1,1,557,2.8,CRD,10.5 +CMT,1,1,1471,10.7,CRD,33 +CMT,1,1,1308,5.3,CSH,20 +CMT,1,1,385,0.8,CSH,6 +CMT,1,2,1204,3.4,CRD,15.5 +CMT,1,1,531,1,CSH,7.5 +CMT,1,2,1371,11.6,CSH,34 +CMT,2,1,1465,17.1,CSH,52 +CMT,2,1,2203,16.6,CSH,52 +CMT,1,3,1550,12.1,CSH,36.5 +CMT,2,2,775,2.6,CSH,52 +CMT,1,1,2262,10.5,CRD,35.5 +CMT,1,1,2211,10.4,CSH,34.5 +CMT,5,1,60,0,CRD,100 +CMT,1,2,154,0.6,CRD,4.5 +CMT,1,1,1229,12.4,CSH,35 +CMT,1,2,1854,24.5,CSH,65.5 +CMT,2,1,1699,17.9,CRD,52 +CMT,1,2,650,2,CRD,9.5 +CMT,2,1,11,0,CRD,52 +CMT,1,3,1463,9.6,CRD,30.5 +CMT,1,1,1917,0,CSH,2.5 +CMT,1,1,242,1,CSH,5.5 +CMT,1,2,413,1.2,CRD,6.5 +CMT,1,1,198,1,CRD,5 +CMT,1,2,1026,1.8,CSH,12.5 +CMT,1,1,1342,5.1,CSH,20.5 +CMT,1,1,354,1,CRD,6 +CMT,1,4,1599,5.1,CSH,21 +CMT,1,1,1470,12.6,CRD,36 +CMT,1,1,998,8.8,CSH,26.5 +CMT,1,1,1188,10.2,CRD,29.5 +CMT,1,1,224,0.6,CSH,5 +CMT,1,2,1305,8.4,CSH,27.5 +CMT,1,1,269,0.5,CSH,4.5 +CMT,1,1,196,0.1,CSH,4 +CMT,1,1,2280,0.1,CSH,5 +CMT,1,2,964,9.8,CSH,27.5 +CMT,1,1,637,2.9,CSH,11 +CMT,1,4,700,5.8,CSH,18.5 +CMT,1,2,156,0.6,CSH,4 +CMT,1,4,263,1.1,CSH,5.5 +CMT,1,2,192,1.1,CSH,5 +CMT,1,2,251,1.2,CSH,6 +CMT,1,1,458,2.1,CRD,8.5 +CMT,1,1,200,0.9,CSH,5 +CMT,1,1,144,0.8,CSH,4.5 +CMT,1,1,1529,5.8,CRD,23 +CMT,1,3,248,0.9,CSH,5.5 +CMT,1,3,370,0.8,CSH,6 +CMT,1,2,633,2.4,CSH,10 +CMT,1,2,676,1.3,CSH,8.5 +CMT,1,3,237,1,CSH,5.5 +CMT,1,1,662,1.7,CRD,9.5 +CMT,1,1,700,6.2,CRD,18.5 +CMT,1,1,1193,4,CSH,16 +CMT,1,4,540,1.3,CSH,7.5 +CMT,1,1,469,1,CRD,7 +CMT,1,1,965,3.5,CRD,15 +CMT,1,2,547,1.6,CRD,8 +CMT,1,2,318,1.7,CRD,7 +CMT,1,3,981,6.3,CSH,20 +CMT,1,1,389,1.2,CRD,6.5 +CMT,1,1,490,2.8,CRD,10 +CMT,1,2,489,2.3,CSH,9 +CMT,1,2,495,2,CSH,9 +CMT,1,2,577,2.1,CRD,9.5 +CMT,1,1,198,0.2,CRD,4 +CMT,1,1,232,0.7,CRD,5 +CMT,1,1,825,3.4,CRD,13 +CMT,1,2,549,0.9,CSH,7 +CMT,1,1,208,1,CRD,5 +CMT,1,2,296,1.2,CSH,6.5 +CMT,1,3,1224,3.7,CRD,16.5 +CMT,1,1,412,0.7,CSH,6 +CMT,1,4,446,1.2,CSH,7 +CMT,1,1,1291,8.5,CRD,26.5 +CMT,1,2,106,0.5,CSH,3.5 +CMT,1,1,1305,2.5,CRD,15 +CMT,1,2,685,1.5,CRD,9 +CMT,1,1,375,2.4,CRD,8.5 +CMT,1,4,264,0.9,CSH,5.5 +CMT,1,1,163,0.9,CRD,5 +CMT,1,2,654,4.2,CRD,13.5 +CMT,1,1,1349,3.9,CRD,16.5 +CMT,1,1,284,0.9,CRD,5.5 +CMT,1,1,441,0.7,CRD,6 +CMT,1,1,694,3.2,CSH,12 +CMT,1,2,1064,5.5,CSH,19 +CMT,1,1,603,2.8,CRD,11 +CMT,1,1,1334,2.2,CSH,14.5 +CMT,1,2,898,5.6,CRD,17.5 +CMT,1,1,374,1.2,CRD,6.5 +CMT,1,1,95,0.6,CRD,4 +CMT,1,1,322,1.4,CSH,6.5 +CMT,2,1,1473,16.7,CRD,52 +CMT,1,1,676,3.7,CRD,13 +CMT,1,2,857,4.3,CRD,14.5 +CMT,1,2,598,0.8,CRD,8 +CMT,1,1,407,1.9,CSH,8 +CMT,1,1,722,2.8,CSH,11.5 +CMT,1,1,860,5,CRD,16.5 +CMT,1,3,325,1,CRD,6 +CMT,1,1,742,1.5,CSH,9 +CMT,1,1,374,0.9,CRD,6 +CMT,1,1,394,1.1,CSH,6.5 +CMT,1,1,306,1.6,CRD,7 +CMT,1,1,1036,2.8,CRD,13 +CMT,1,1,441,1.4,CRD,7.5 +CMT,1,2,592,2.2,CSH,10 +CMT,1,2,277,1.5,CSH,6.5 +CMT,1,2,268,1.2,CSH,6 +CMT,1,2,1355,3.7,CSH,16.5 +CMT,1,2,625,1.5,CRD,8 +CMT,1,2,316,1,CRD,5.5 +CMT,1,1,817,4.5,CSH,15 +CMT,1,2,358,1.6,CRD,7 +CMT,1,2,222,0.7,CSH,4.5 +CMT,1,1,1124,1.8,CRD,12.5 +CMT,1,3,1173,2,CSH,13.5 +CMT,1,1,430,1.6,CSH,7.5 +CMT,1,1,229,1.2,CRD,5.5 +CMT,1,1,96,0.6,CRD,3.5 +CMT,1,2,1405,11.6,CRD,33.5 +CMT,1,2,390,1.1,CSH,6.5 +CMT,1,1,756,3.7,CSH,13.5 +CMT,1,1,841,3.5,CSH,13 +CMT,1,1,469,1,CSH,7 +CMT,1,2,1063,5.5,CRD,18.5 +CMT,1,1,1996,19,CRD,52.5 +CMT,1,3,247,1.2,CSH,6 +CMT,1,1,278,1.1,CRD,6 +CMT,1,1,552,1.6,CRD,8 +CMT,1,2,2077,11.7,CRD,37.5 +CMT,1,1,350,1.5,CRD,7 +CMT,1,2,275,0.9,CRD,5.5 +CMT,1,1,590,2.3,CRD,10 +CMT,1,3,117,0.3,CRD,3.5 +CMT,1,1,1065,3.7,CSH,15 +CMT,1,2,776,2.6,CRD,11.5 +CMT,1,1,726,2.1,CSH,10 +CMT,1,1,237,0.9,CSH,5 +CMT,1,1,1506,4.4,CRD,20.5 +CMT,1,2,509,1.5,CSH,8 +CMT,1,1,400,3,CRD,10 +CMT,1,2,295,1.3,CRD,6 +CMT,1,1,430,1.3,CRD,7 +CMT,1,1,607,2.3,CSH,10.5 +CMT,1,2,360,1.7,CSH,7 +CMT,1,1,484,1.7,CSH,8 +CMT,1,2,659,3.1,CSH,11.5 +CMT,1,1,536,1.9,CRD,8.5 +CMT,1,1,344,1.6,CSH,6.5 +CMT,1,2,841,3.9,CSH,14.5 +CMT,1,4,179,0.6,CSH,4 +CMT,1,2,244,1.3,CRD,6 +CMT,1,1,397,1.8,CRD,8 +CMT,1,3,360,1.3,CSH,7 +CMT,1,3,435,1.5,CSH,7.5 +CMT,1,4,316,0.7,CSH,5.5 +CMT,1,2,1286,4.4,CRD,18 +CMT,1,1,693,4.7,CSH,14.5 +CMT,1,2,361,1.8,CRD,7.5 +CMT,1,1,260,0.8,CRD,5 +CMT,1,2,846,2,CRD,11 +CMT,1,2,388,2,CSH,8 +CMT,1,2,308,1.2,CRD,6 +CMT,1,1,644,2.7,CRD,11 +CMT,1,2,737,3.2,CRD,12 +CMT,1,1,362,2.2,CSH,8.5 +CMT,1,1,136,1,CRD,5 +CMT,1,1,1658,0,NOC,2.5 +CMT,1,1,361,1.3,CSH,6.5 +CMT,1,2,148,0.6,CRD,4 +CMT,1,1,694,1.8,CRD,9.5 +CMT,1,1,438,2.7,CSH,10 +CMT,1,1,465,2.2,CSH,9 +CMT,1,3,1214,4.3,CSH,18 +CMT,1,1,608,1.7,CRD,9 +CMT,1,2,565,1.2,CSH,7.5 +CMT,1,1,1049,4.8,CSH,18 +CMT,1,1,113,0.9,CRD,4.5 +CMT,1,3,440,1.1,CSH,6.5 +CMT,1,1,915,5.3,CSH,17.5 +CMT,1,3,609,2.1,CRD,9.5 +CMT,1,2,900,2.3,CSH,12 +CMT,1,1,652,3.5,CRD,13 +CMT,1,2,761,4,CSH,14 +CMT,1,1,267,1.1,CSH,6 +CMT,1,1,127,0.5,CRD,4 +CMT,1,2,560,1.9,CSH,9 +CMT,1,1,283,1.1,CRD,6 +CMT,1,1,486,1.8,CSH,8.5 +CMT,1,3,267,1.7,CSH,7 +CMT,1,1,308,1.2,CRD,6.5 +CMT,1,1,723,2.9,CRD,11.5 +CMT,1,1,542,3.7,CRD,13 +CMT,1,2,201,0.7,CRD,4.5 +CMT,1,1,1699,11.8,CSH,35.5 +CMT,1,2,460,2.4,CSH,8.5 +CMT,1,1,174,0.9,CRD,4.5 +CMT,1,1,609,1.7,CRD,8.5 +CMT,1,1,727,2.5,CRD,10.5 +CMT,1,1,1414,7.1,CRD,23.5 +CMT,1,3,210,1,CSH,5 +CMT,1,3,631,1.8,CSH,9 +CMT,1,1,881,2.8,CRD,12 +CMT,1,2,629,3.1,CSH,11.5 +CMT,1,3,389,1.5,CSH,7 +CMT,1,4,377,1.3,CRD,7 +CMT,1,2,1089,5.1,CSH,17.5 +CMT,1,1,1052,5.1,CRD,18.5 +CMT,2,1,2500,18.8,CRD,52 +CMT,1,1,569,1.2,CRD,8 +CMT,1,1,181,0.8,CSH,5 +CMT,1,2,257,0.7,CRD,5 +CMT,1,1,536,1.9,CSH,8.5 +CMT,1,4,332,1.1,CRD,6 +CMT,1,1,706,2.2,CSH,10.5 +CMT,1,1,1265,6.5,CRD,21.5 +CMT,1,2,914,3.5,CSH,14.5 +CMT,1,1,405,0.9,CRD,6.5 +CMT,1,1,659,2.9,CRD,11.5 +CMT,1,1,519,1.5,CRD,8 +CMT,1,1,639,2.5,CRD,10 +CMT,1,1,636,2.1,CRD,10 +CMT,1,1,433,1.4,CSH,7.5 +CMT,1,3,483,1.5,CSH,7.5 +CMT,1,1,401,2.4,CRD,9.5 +CMT,1,1,330,1.5,CRD,6.5 +CMT,1,1,414,1.1,CRD,6.5 +CMT,1,3,74,0.3,CRD,3 +CMT,1,2,790,1.3,CSH,10 +CMT,1,1,1269,6.5,CSH,22 +CMT,1,3,530,2,CSH,8.5 +CMT,1,3,1058,3,CRD,14 +CMT,1,1,480,2.1,CSH,9 +CMT,1,1,50,0.3,CSH,3 +CMT,1,1,201,0.6,CSH,4.5 +CMT,1,2,916,5.5,CSH,17.5 +CMT,1,1,169,0.5,CRD,4 +CMT,1,3,613,4.2,CSH,14.5 +CMT,1,1,710,4.7,CRD,15.5 +CMT,1,1,407,1.7,CRD,7.5 +CMT,1,3,225,0.9,CRD,5 +CMT,1,1,765,2.7,CSH,11.5 +CMT,1,1,515,2.4,CSH,9.5 +CMT,1,1,873,3.4,CRD,13.5 +CMT,1,1,235,0.9,CSH,5.5 +CMT,1,2,671,2.3,CSH,10.5 +CMT,1,1,504,1.4,CSH,8 +CMT,1,2,927,7.1,CRD,22 +CMT,1,2,294,1.1,CSH,6 +CMT,1,2,318,1.7,CRD,7 +CMT,1,1,549,1.3,CSH,7.5 +CMT,1,1,479,1.1,CSH,7 +CMT,1,1,372,0.8,CRD,5.5 +CMT,1,3,777,2.4,CSH,11.5 +CMT,1,4,345,0.7,CRD,5.5 +CMT,1,2,541,1.5,CSH,8 +CMT,1,4,1816,12.3,CSH,35 +CMT,1,1,177,0.7,CSH,4.5 +CMT,1,2,559,2.6,CRD,10 +CMT,1,1,357,1.8,CSH,7.5 +CMT,1,1,431,1.2,CRD,7 +CMT,1,1,616,2.8,CRD,11 +CMT,1,1,276,1.5,CSH,6.5 +CMT,1,1,1158,6,CRD,20.5 +CMT,1,1,128,0.4,CSH,3.5 +CMT,1,4,1026,3.6,CSH,14.5 +CMT,1,2,785,2.1,CRD,10 +CMT,1,2,732,1.8,CSH,10 +CMT,1,2,189,0.8,CRD,4.5 +CMT,1,1,529,0.8,CRD,7 +CMT,1,1,366,0.7,CRD,6 +CMT,1,1,480,2.3,CRD,9.5 +CMT,1,2,365,0.9,CRD,6 +CMT,1,1,284,1,CRD,5.5 +CMT,1,4,244,0.7,CSH,4.5 +CMT,1,1,123,0.7,CSH,4 +CMT,1,2,355,1,CSH,6 +CMT,1,1,868,3.1,CSH,13 +CMT,1,1,285,1.1,CRD,6 +CMT,1,2,421,1.8,CSH,7.5 +CMT,1,1,546,1.8,CRD,8.5 +CMT,1,1,664,2.7,CRD,11 +CMT,1,1,178,0.8,CRD,5 +CMT,1,3,67,0.5,CSH,3.5 +CMT,1,2,421,0.6,CSH,6 +CMT,1,1,839,2.2,CSH,11 +CMT,1,2,893,2.3,CSH,11.5 +CMT,1,1,613,2.3,CRD,9.5 +CMT,1,1,327,0.8,CSH,6 +CMT,1,1,353,0.9,CSH,6 +CMT,1,2,911,4.7,CRD,17 +CMT,1,2,822,1.7,CRD,10.5 +CMT,1,2,476,2.8,CRD,10 +CMT,1,1,642,2.4,CSH,10.5 +CMT,1,1,826,3.6,CSH,14 +CMT,1,1,7,0,NOC,2.5 +CMT,1,3,385,0.7,CRD,6 +CMT,1,1,748,2.3,CSH,10.5 +CMT,1,4,639,1.5,CRD,9 +CMT,1,1,530,3.3,CSH,11.5 +CMT,1,2,218,0.9,CRD,5 +CMT,1,1,845,2.2,CRD,11.5 +CMT,1,1,1689,9,CRD,29.5 +CMT,1,2,633,3,CSH,11.5 +CMT,1,4,418,1.5,CSH,7.5 +CMT,1,1,474,0.7,CSH,6.5 +CMT,1,2,399,1.1,CSH,6.5 +CMT,1,1,239,1,CSH,5.5 +CMT,1,1,578,2.1,CSH,9.5 +CMT,1,2,764,2.2,CRD,11 +CMT,1,3,935,7.3,CSH,21 +CMT,1,1,496,1.8,CSH,8 +CMT,1,1,1059,3.3,CRD,14.5 +CMT,1,3,1205,5.6,CSH,20 +CMT,1,1,706,1.3,CSH,9 +CMT,1,1,932,3.4,CRD,14 +CMT,1,1,1199,5.5,CRD,18.5 +CMT,1,1,194,0.5,CSH,4.5 +CMT,1,1,711,1.9,CRD,9.5 +CMT,1,1,857,3.8,CRD,14 +CMT,1,1,378,1.1,CRD,6.5 +CMT,1,1,548,1.8,CRD,8.5 +CMT,1,1,709,2.6,CRD,11 +CMT,1,3,1472,2.7,CRD,16 +CMT,1,4,1209,3.2,CSH,15 +CMT,1,3,644,1.9,CSH,9 +CMT,1,1,261,0.9,CSH,5.5 +CMT,1,2,402,1.4,CSH,7.5 +CMT,1,4,1509,9.1,CRD,30 +CMT,1,1,987,9.7,CSH,27.5 +CMT,1,1,874,3.2,CRD,14 +CMT,1,1,2246,12.9,CRD,40.5 +CMT,1,1,515,2.4,CRD,9.5 +CMT,1,1,619,3,CSH,12 +CMT,1,1,324,1,CSH,6 +CMT,1,1,224,1.3,CRD,6 +CMT,1,2,1567,7.4,CRD,25.5 +CMT,1,1,574,1.6,CRD,8.5 +CMT,1,2,350,1.4,CRD,6.5 +CMT,1,2,620,2.6,CSH,10 +CMT,1,1,387,2.1,CRD,8.5 +CMT,1,1,412,1.7,CSH,8 +CMT,1,1,1494,7.4,CSH,24.5 +CMT,1,1,150,0.5,CSH,4 +CMT,1,1,355,1.6,CRD,7.5 +CMT,1,1,673,6,CRD,18 +CMT,1,2,320,1.3,CRD,6.5 +CMT,1,1,368,2.3,CRD,8.5 +CMT,1,2,392,1.1,CSH,6.5 +CMT,1,1,795,2.1,CSH,10.5 +CMT,1,1,1009,5.3,CRD,18 +CMT,1,2,595,1.9,CSH,9 +CMT,1,1,588,2.7,CRD,11 +CMT,1,3,547,1.8,CSH,8.5 +CMT,1,2,607,1.2,CSH,8 +CMT,1,1,239,0.3,CSH,4.5 +CMT,1,1,617,1.7,CSH,9 +CMT,1,1,193,1.1,CSH,5.5 +CMT,1,3,2745,8.7,CRD,38.5 +CMT,1,3,292,1,CSH,6 +CMT,1,3,559,1.5,CRD,8.5 +CMT,1,2,190,0.8,CRD,5 +CMT,1,1,143,0.7,CSH,4.5 +CMT,1,1,1688,6.5,CRD,25 +CMT,1,1,49,0.3,CSH,3 +CMT,1,1,401,0.9,CRD,6.5 +CMT,1,1,337,1.1,CSH,6 +CMT,1,1,168,0.4,CSH,3.5 +CMT,1,2,406,1.1,CSH,7 +CMT,1,1,726,2.4,CSH,11 +CMT,1,1,1560,16.9,CRD,46 +CMT,1,1,1814,15.1,CRD,43.5 +CMT,1,2,301,2.1,CSH,8 +CMT,1,1,233,1,CRD,5 +CMT,1,1,490,1.1,CRD,7 +CMT,1,1,254,1.5,CSH,6 +CMT,1,2,811,2.2,CSH,11 +CMT,1,4,861,2.6,CSH,12 +CMT,1,2,1238,2.8,CSH,14.5 +CMT,1,1,1135,2.7,CSH,14.5 +CMT,1,2,495,1.7,CSH,8 +CMT,1,1,532,1.6,CRD,8.5 +CMT,1,2,287,0.7,CSH,5.5 +CMT,1,1,485,3,CSH,11 +CMT,1,1,143,1,CSH,4.5 +CMT,1,1,313,1.1,CSH,6 +CMT,1,2,1582,10.1,CSH,32 +CMT,1,2,1106,5,CSH,17.5 +CMT,1,1,436,1.3,CSH,7 +CMT,1,2,312,0.8,CSH,5.5 +CMT,1,1,404,1.2,CSH,6.5 +CMT,1,1,186,0.5,CSH,4 +CMT,1,3,431,2.3,CSH,9 +CMT,1,1,330,2.1,CRD,8.5 +CMT,1,1,860,1.4,CSH,10 +CMT,1,2,1343,3,CRD,16 +CMT,1,1,437,1.8,CSH,7.5 +CMT,1,4,825,1.3,CRD,9.5 +CMT,1,2,273,1.2,CRD,6 +CMT,1,2,471,1.4,CRD,7.5 +CMT,1,1,972,8.2,CRD,24.5 +CMT,1,1,520,2.8,CRD,10 +CMT,1,1,1206,7.7,CSH,24 +CMT,1,1,424,1.5,CRD,7.5 +CMT,1,2,337,0.8,CSH,5.5 +CMT,1,2,1124,2.5,CSH,14 +CMT,1,1,820,1.7,CSH,10.5 +CMT,1,1,1120,2.9,CRD,14 +CMT,1,1,329,1.2,CRD,6 +CMT,1,2,757,2.8,CRD,12 +CMT,1,1,704,6,CRD,18.5 +CMT,1,1,825,2.1,CRD,11 +CMT,1,2,441,0.7,CSH,6.5 +CMT,1,2,1534,12.3,CSH,36 +CMT,1,1,435,1.2,CSH,7 +CMT,1,2,1947,3.2,CRD,20.5 +CMT,1,1,381,1.5,CRD,7 +CMT,1,1,827,2.5,CSH,11.5 +CMT,1,2,114,0.5,CRD,4 +CMT,1,1,989,4.6,CRD,16.5 +CMT,1,1,554,2.7,CSH,10 +CMT,1,1,823,7.4,CRD,22.5 +CMT,1,1,319,1.8,CRD,7.5 +CMT,1,1,390,0.8,CSH,6 +CMT,1,1,466,1.5,CSH,7 +CMT,1,1,1080,2.1,CRD,12 +CMT,1,2,566,1.5,CRD,8 +CMT,1,3,1001,3,CRD,13.5 +CMT,1,1,151,0.7,CSH,4.5 +CMT,1,2,1138,4.1,CRD,16.5 +CMT,1,2,1190,1.4,CSH,13.5 +CMT,1,1,795,3.1,CRD,12.5 +CMT,1,1,277,1,CRD,6 +CMT,1,1,985,3.2,CSH,14 +CMT,1,1,1207,9.6,CRD,27.5 +CMT,1,1,1575,6.7,CRD,26 +CMT,1,1,679,2.1,CSH,10.5 +CMT,1,2,403,1.2,CRD,7 +CMT,1,1,565,2.3,CRD,9.5 +CMT,1,1,908,3.8,CRD,14 +CMT,1,2,224,0.7,CSH,4.5 +CMT,1,1,940,3,CSH,12.5 +CMT,1,2,485,1.8,CRD,8 +CMT,1,1,265,0.5,CSH,4.5 +CMT,1,1,287,1.7,CSH,7 +CMT,1,3,1420,4.1,CSH,18.5 +CMT,1,2,304,1.2,CSH,6 +CMT,1,2,292,1,CSH,5.5 +CMT,1,2,779,1.4,CRD,9.5 +CMT,1,1,871,4.4,CSH,15 +CMT,1,4,1355,5.4,CRD,20.5 +CMT,1,2,367,0.8,CSH,6 +CMT,1,3,420,1.6,CSH,7.5 +CMT,1,1,342,0.6,CSH,5.5 +CMT,1,1,411,1.1,CRD,6.5 +CMT,1,1,1085,3.3,CSH,14.5 +CMT,1,1,440,1.2,CRD,7 +CMT,1,2,1254,3.3,CSH,16 +CMT,1,2,867,2.4,CSH,11.5 +CMT,1,1,995,2.9,CSH,13 +CMT,1,2,410,1,CRD,6.5 +CMT,1,1,1643,7.3,CSH,25.5 +CMT,1,2,627,1.9,CRD,10 +CMT,1,1,749,1.6,CRD,10 +CMT,1,2,628,1.8,CRD,9 +CMT,1,2,257,0.7,CSH,5 +CMT,1,1,179,0.6,CRD,4.5 +CMT,1,2,1054,3.8,CRD,16 +CMT,1,2,621,2,CRD,9.5 +CMT,1,2,527,1.5,CRD,8.5 +CMT,1,1,205,0.9,CSH,5 +CMT,1,2,761,3,CSH,11.5 +CMT,1,2,1556,7,CSH,24 +CMT,1,1,529,3.5,CRD,12.5 +CMT,1,1,1022,1.7,CSH,11.5 +CMT,1,1,383,1,CRD,6 +CMT,1,1,1232,7.6,CSH,24.5 +CMT,1,1,220,0.9,CRD,5.5 +CMT,1,2,955,2,CRD,11.5 +CMT,1,1,418,1.9,CRD,8.5 +CMT,1,2,795,3.8,CSH,13.5 +CMT,1,2,148,0.6,CSH,4 +CMT,1,3,176,0.4,CSH,4 +CMT,1,1,1009,3.2,CSH,14 +CMT,1,1,216,0.6,CSH,5 +CMT,1,1,1129,3.3,CRD,15 +CMT,1,1,785,2,CRD,10.5 +CMT,1,2,745,2.4,CRD,11 +CMT,1,1,73,0.1,CRD,3 +CMT,1,1,1446,2.7,CSH,16 +CMT,1,1,542,2.1,CSH,9.5 +CMT,1,3,1435,11.3,CRD,33.5 +CMT,1,2,832,2.5,CRD,11.5 +CMT,1,3,1028,5.7,CRD,20 +CMT,1,2,424,1,CRD,6.5 +CMT,1,1,612,3,CRD,11 +CMT,2,2,2210,2.1,CSH,52 +CMT,1,1,861,1,CSH,10 +CMT,1,4,607,1.1,CSH,8.5 +CMT,1,3,420,1.8,CSH,8 +CMT,1,2,455,1.8,CRD,8 +CMT,1,4,333,0.8,CSH,5.5 +CMT,1,1,83,0.2,CSH,3 +CMT,1,1,1179,2.3,CSH,14 +CMT,1,2,1795,3.5,CSH,20.5 +CMT,1,1,798,3.5,CRD,14.5 +CMT,1,1,1562,4.5,CRD,19 +CMT,1,3,541,1.6,CRD,8.5 +CMT,1,2,584,2,CRD,9.5 +CMT,1,1,148,0.7,CSH,4.5 +CMT,1,1,200,0.6,CSH,4.5 +CMT,1,3,219,1,CRD,5.5 +CMT,1,2,210,1.1,CSH,5.5 +CMT,1,1,1226,4.5,CSH,17.5 +CMT,1,1,1005,4,CRD,15 +CMT,1,2,787,2.6,CSH,11.5 +CMT,1,1,58,0.4,CSH,3.5 +CMT,1,1,693,2.5,CRD,11 +CMT,1,2,863,3,CSH,13 +CMT,1,1,380,1.2,CSH,6.5 +CMT,1,1,551,2.2,CSH,9 +CMT,1,2,250,0.7,CSH,4.5 +CMT,1,1,673,3,CSH,12 +CMT,1,1,780,1.4,CSH,10 +CMT,1,1,460,1,CRD,6.5 +CMT,1,1,540,1.1,CRD,7.5 +CMT,1,1,248,1.2,CSH,6 +CMT,1,1,298,1.1,CRD,6 +CMT,1,1,431,1.5,CRD,7.5 +CMT,1,1,999,3.1,CSH,13.5 +CMT,1,1,850,1.7,CSH,10.5 +CMT,1,2,719,0.5,CRD,8.5 +CMT,1,1,242,0.7,CSH,5 +CMT,1,1,1222,3.2,CSH,15.5 +CMT,1,3,1058,3.3,CSH,14 +CMT,1,1,1076,6.3,CRD,20 +CMT,1,1,273,0.5,CSH,5 +CMT,1,1,786,3.3,CRD,13 +CMT,1,2,287,0.9,CSH,5.5 +CMT,1,2,1083,4,CSH,16 +CMT,1,1,653,6.1,CRD,18.5 +CMT,1,1,825,2.6,CSH,12 +CMT,1,1,346,1,CSH,6 +CMT,1,1,1948,5.7,CRD,24 +CMT,1,1,359,1.1,CSH,6.5 +CMT,1,2,1188,5.2,CRD,18.5 +CMT,1,1,1050,2.5,CRD,13.5 +CMT,1,1,835,2.3,CSH,11 +CMT,1,3,963,4.3,CSH,16 +CMT,1,1,452,1.5,CRD,7.5 +CMT,1,1,1610,16.2,CRD,44.5 +CMT,1,4,428,1.1,CRD,6.5 +CMT,1,1,156,0.5,CRD,4 +CMT,1,1,1156,5.4,CSH,20 +CMT,1,3,1099,4.8,CSH,18 +CMT,1,1,1193,4.5,CRD,17.5 +CMT,1,1,55,0.1,NOC,3 +CMT,1,1,447,1.2,CSH,7 +CMT,1,4,1061,2.5,CSH,13 +CMT,1,2,294,1.3,CSH,6.5 +CMT,1,2,599,1.3,CSH,8 +CMT,1,1,480,0.9,CRD,7 +CMT,1,1,203,0.8,CSH,5 +CMT,1,1,158,0.6,CRD,4.5 +CMT,1,1,717,1.2,CSH,9 +CMT,1,1,441,1.5,CRD,7.5 +CMT,1,1,606,1.2,CSH,8.5 +CMT,1,1,372,1,CRD,6.5 +CMT,1,1,1045,4.7,CRD,16.5 +CMT,1,1,1221,5.7,CRD,19.5 +CMT,1,1,671,2.2,CSH,10.5 +CMT,1,4,509,1.6,CSH,8 +CMT,1,2,714,3.3,CRD,12.5 +CMT,1,2,775,2.5,CSH,11 +CMT,1,1,1142,2.8,CSH,13.5 +CMT,1,2,297,1.1,CSH,6 +CMT,1,1,377,1.1,CRD,6.5 +CMT,1,1,1103,2.6,CSH,13 +CMT,1,1,920,3.3,CRD,13.5 +CMT,1,1,1470,5.9,CRD,22 +CMT,1,1,1100,4.9,CSH,18 +CMT,1,1,631,3.5,CSH,12.5 +CMT,1,2,248,0.7,CRD,5 +CMT,1,1,324,0.6,CRD,5.5 +CMT,1,1,1485,4.3,CRD,18.5 +CMT,1,2,1136,3.1,CRD,15 +CMT,1,1,878,2.4,CRD,11.5 +CMT,1,3,773,2.4,CRD,11 +CMT,1,1,2144,13.8,CRD,41.5 +CMT,1,1,154,0.8,CSH,4.5 +CMT,1,2,1190,4.8,CRD,18 +CMT,1,1,604,1.8,CRD,9 +CMT,1,1,1192,7.7,CSH,24.5 +CMT,1,1,2231,15.1,CRD,44.5 +CMT,1,1,920,6.5,CSH,19.5 +CMT,1,1,396,1,CRD,7 +CMT,1,1,968,5,CSH,17 +CMT,1,3,238,1.3,CSH,6 +CMT,1,1,727,4.8,CSH,16 +CMT,1,1,161,0.6,CSH,4.5 +CMT,1,1,651,4.6,CRD,15 +CMT,1,2,495,0.5,CSH,6.5 +CMT,1,1,485,1.8,CSH,8.5 +CMT,1,1,1068,3.4,CSH,14 +CMT,1,1,315,1.3,CSH,6 +CMT,2,2,1558,17.1,CRD,52 +CMT,1,1,618,3.2,CSH,12 +CMT,1,1,1001,2.4,CSH,12.5 +CMT,1,2,789,3,CSH,12.5 +CMT,1,1,670,1.7,CRD,9 +CMT,1,2,394,1.5,CRD,7 +CMT,1,3,876,2.6,CSH,12.5 +CMT,1,1,755,3.2,CRD,12 +CMT,1,1,863,3.8,CRD,14.5 +CMT,1,2,707,4.4,CRD,15 +CMT,1,1,576,2.7,CSH,11 +CMT,1,4,604,1.7,CSH,9 +CMT,1,4,571,2.2,CSH,10 +CMT,1,2,205,0.7,CRD,4.5 +CMT,1,1,441,2.3,CRD,9 +CMT,1,2,872,2,CRD,11.5 +CMT,1,2,1353,2.4,CSH,16 +CMT,2,2,2137,0,CRD,52 +CMT,1,2,354,1.3,CSH,7 +CMT,1,1,833,3.6,CSH,13.5 +CMT,1,1,370,2,CSH,8 +CMT,1,1,968,2.3,CSH,12 +CMT,1,1,222,0.5,CRD,4.5 +CMT,1,1,559,1.1,CRD,7.5 +CMT,1,1,491,2.3,CSH,9.5 +CMT,1,1,387,1.1,CRD,6.5 +CMT,1,1,1168,8.9,CSH,27 +CMT,1,1,715,2.8,CRD,11.5 +CMT,1,1,933,1.8,CRD,11 +CMT,1,1,762,2.5,CSH,11.5 +CMT,1,1,234,0.9,CSH,5.5 +CMT,1,1,754,3.4,CRD,13.5 +CMT,1,1,1100,2.9,CRD,14 +CMT,1,1,663,2.3,CRD,9.5 +CMT,1,2,1148,7.7,CRD,24.5 +CMT,1,1,636,1.3,CSH,8.5 +CMT,1,1,398,1.2,CRD,6.5 +CMT,1,1,171,0.4,CSH,4 +CMT,1,1,213,0.2,CRD,4 +CMT,1,1,894,3.6,CRD,14.5 +CMT,1,1,359,1.9,CRD,7.5 +CMT,1,1,406,1.1,CRD,6.5 +CMT,1,1,1023,4.7,CRD,17 +CMT,1,1,537,1.4,CRD,8 +CMT,1,3,580,2.7,CRD,10.5 +CMT,1,1,193,0.9,CSH,5 +CMT,1,1,434,0.7,CSH,6.5 +CMT,1,2,398,1.8,CRD,7.5 +CMT,1,2,389,1,CSH,6.5 +CMT,1,2,291,0.5,CRD,5 +CMT,1,1,235,0.4,CSH,4.5 +CMT,1,1,451,17.7,CSH,7 +CMT,1,4,581,0.9,CSH,7.5 +CMT,1,1,930,3.1,CRD,13 +CMT,1,1,994,3.1,CSH,14 +CMT,1,1,629,2.6,CRD,11 +CMT,1,1,451,2.4,CRD,9 +CMT,1,1,555,2,CRD,9 +CMT,1,1,1521,3.9,CRD,18.5 +CMT,1,1,428,1.8,CSH,8 +CMT,1,1,138,0.5,CSH,4 +CMT,1,1,1164,6.2,CRD,20.5 +CMT,1,1,702,1.3,CSH,9 +CMT,1,1,663,1.2,CSH,8.5 +CMT,3,1,2626,14.1,CRD,63 +CMT,1,1,631,1.6,CRD,8.5 +CMT,1,1,764,1.6,CRD,9.5 +CMT,1,1,846,1.6,CSH,11 +CMT,1,1,689,2.4,CSH,10.5 +CMT,1,2,574,1.3,CSH,7.5 +CMT,1,2,610,1.6,CRD,8.5 +CMT,1,1,386,1,CRD,6.5 +CMT,1,1,427,1.8,CRD,7.5 +CMT,1,2,516,1.6,CRD,8 +CMT,1,2,672,3.3,CSH,12.5 +CMT,1,1,416,2.4,CRD,9 +CMT,1,1,1207,6.1,CRD,21.5 +CMT,1,1,1278,9,CRD,28 +CMT,1,2,910,3,CSH,13 +CMT,1,1,333,1.1,CSH,6 +CMT,1,1,626,1.3,CRD,8.5 +CMT,1,2,338,1.7,CRD,7 +CMT,2,2,3714,17.3,CRD,52 +CMT,1,1,1117,5.4,CRD,18.5 +CMT,1,2,684,2.5,CSH,11 +CMT,1,3,1174,4.2,CSH,17 +CMT,1,2,1133,5.6,CSH,20 +CMT,1,1,613,2.4,CSH,10 +CMT,1,1,460,1.2,CRD,7 +CMT,1,2,554,3.1,CSH,11.5 +CMT,1,2,1830,4.7,CSH,22.5 +CMT,1,1,496,0.7,CSH,6.5 +CMT,1,1,706,1.2,CRD,9 +CMT,1,3,191,20.9,CRD,4.5 +CMT,1,1,1475,3.9,CSH,18 +CMT,1,1,1307,3.1,CSH,15 +CMT,1,1,199,0.3,CSH,4 +CMT,1,2,363,0.8,CSH,6 +CMT,1,2,2216,13.9,CSH,41.5 +CMT,1,1,589,1.9,CRD,9.5 +CMT,1,1,718,4.6,CRD,15 +CMT,1,1,1217,3.7,CRD,17 +CMT,1,1,558,1.4,CRD,8 +CMT,1,1,773,6.6,CSH,20 +CMT,1,1,432,1.7,CRD,8 +CMT,1,1,430,51.9,CRD,9 +CMT,1,1,471,1.4,CRD,7.5 +CMT,1,1,449,1,CSH,6.5 +CMT,1,1,1236,3.6,CSH,16 +CMT,1,2,2812,11,CSH,39.5 +CMT,1,1,766,2.7,CRD,11.5 +CMT,1,1,594,2,CSH,9 +CMT,1,1,470,1,CRD,7 +CMT,1,1,473,2.4,CRD,9.5 +CMT,1,1,229,1,CRD,5.5 +CMT,1,1,289,1.3,CRD,6 +CMT,1,1,199,1.1,CRD,5.5 +CMT,1,2,1993,9.6,CSH,32 +CMT,1,1,326,1.9,CRD,8 +CMT,1,2,1041,4.2,CRD,15.5 +CMT,1,1,1106,7.7,CSH,24 +CMT,1,1,1096,3.4,CRD,15 +CMT,1,1,764,3,CRD,12 +CMT,1,1,917,2.7,CSH,13 +CMT,1,1,336,0.9,CSH,6 +CMT,1,1,1362,4.6,CSH,19 +CMT,1,1,463,1.1,CSH,7 +CMT,1,1,626,1.8,CSH,9.5 +CMT,1,1,912,5.5,CSH,18 +CMT,1,1,486,1.5,CSH,7.5 +CMT,1,2,1026,8.6,CSH,26 +CMT,1,1,375,1.4,CSH,7 +CMT,1,1,305,0.7,CRD,5.5 +CMT,1,1,1296,11.8,CSH,34.5 +CMT,1,1,954,2.8,CRD,13 +CMT,1,1,149,0.4,CSH,4 +CMT,1,1,379,1,CSH,6.5 +CMT,1,1,635,2.1,CRD,9.5 +CMT,1,1,430,1.2,CRD,7 +CMT,1,1,170,0.4,CRD,4 +CMT,1,1,124,0.6,CRD,4 +CMT,1,2,1177,11.4,CSH,32 +CMT,1,1,351,1.3,CRD,6.5 +CMT,1,1,1450,10.7,CRD,31.5 +CMT,1,1,213,1,CSH,5.5 +CMT,1,1,377,2.1,CSH,8 +CMT,1,1,378,1.2,CSH,6.5 +CMT,1,2,471,1.7,CSH,8 +CMT,1,1,509,1.1,CRD,7 +CMT,1,2,506,1.1,CSH,7 +CMT,1,2,1014,3.3,CSH,14 +CMT,1,2,1320,3.3,CSH,16.5 +CMT,1,1,260,0.9,CRD,5.5 +CMT,1,1,1076,4.1,CRD,16 +CMT,1,1,221,1.1,CSH,5.5 +CMT,1,1,159,0.6,CSH,4.5 +CMT,1,1,481,1.7,CRD,8 +CMT,1,1,90,0.3,CRD,3.5 +CMT,1,2,546,2.2,CRD,9.5 +CMT,1,1,198,0.9,CRD,5 +CMT,1,1,94,0.4,CRD,3.5 +CMT,1,1,457,1.7,CRD,8.5 +CMT,1,1,197,0.6,CSH,4.5 +CMT,1,1,495,1.5,CSH,8 +CMT,1,1,825,2.6,CRD,11.5 +CMT,1,1,616,1.9,CSH,9 +CMT,1,4,728,1.4,CSH,9 +CMT,1,1,339,0.9,CRD,5.5 +CMT,1,1,1035,2.1,CRD,12 +CMT,1,1,346,1,CSH,6 +CMT,1,1,790,2.6,CSH,11.5 +CMT,1,1,478,1.3,CRD,7.5 +CMT,1,1,839,2.6,CRD,11.5 +CMT,1,1,383,1.5,CSH,7.5 +CMT,1,1,498,2.5,CRD,9.5 +CMT,1,1,194,0.7,CRD,4.5 +CMT,1,1,1253,6.5,CSH,22 +CMT,2,1,1478,2.3,CRD,52 +CMT,1,1,219,0.5,CSH,4.5 +CMT,1,2,594,2.2,CRD,9.5 +CMT,1,1,278,0.8,CRD,5.5 +CMT,1,1,352,1.5,CSH,7.5 +CMT,1,1,266,0.9,CRD,5.5 +CMT,1,1,431,1.6,CRD,8 +CMT,1,1,200,0.6,CRD,4.5 +CMT,1,1,95,0.4,CSH,3.5 +CMT,1,1,800,8.5,CSH,24.5 +CMT,1,1,262,0.8,CRD,5.5 +CMT,1,1,598,2.2,CRD,9.5 +CMT,1,1,176,0.6,CRD,4.5 +CMT,1,1,1324,8.7,CRD,27.5 +CMT,1,1,957,4.9,CRD,16.5 +CMT,1,1,206,0.3,CSH,4 +CMT,1,1,156,0.5,CSH,4 +CMT,1,1,844,5.2,CRD,17.5 +CMT,1,3,1522,7.8,CRD,27 +CMT,1,1,954,1.6,CRD,11.5 +CMT,1,2,1124,2.4,CSH,13 +CMT,1,1,279,0.7,CRD,5 +CMT,1,1,427,2.3,CRD,8.5 +CMT,1,2,417,1.9,CSH,8 +CMT,1,1,294,0.5,CSH,5 +CMT,1,2,406,0.9,CSH,6 +CMT,1,1,1148,5.3,CRD,19.5 +CMT,1,1,695,1.4,CSH,9 +CMT,1,2,531,1,CRD,7 +CMT,1,3,1128,5.3,CRD,18.5 +CMT,1,1,346,0.8,CRD,5.5 +CMT,1,4,252,0.8,CRD,5 +CMT,1,1,1334,3,CSH,16 +CMT,1,2,743,2.3,CSH,10.5 +CMT,1,1,586,1.5,CSH,8.5 +CMT,1,1,444,1.4,CRD,7 +CMT,1,1,1070,4.4,CRD,16 +CMT,1,2,987,6.5,CSH,20.5 +CMT,1,1,496,1.2,CRD,7 +CMT,1,1,968,2.4,CSH,12 +CMT,1,1,957,7.9,CSH,23.5 +CMT,1,1,273,1.4,CSH,6.5 +CMT,1,1,245,1,CRD,5.5 +CMT,1,2,1727,7.7,CRD,27 +CMT,1,1,109,0.7,CSH,4 +CMT,1,1,264,0.6,CSH,5 +CMT,1,3,321,1.4,CRD,7 +CMT,1,2,160,0.7,CRD,4.5 +CMT,1,1,818,0,NOC,2.5 +CMT,1,2,707,2.8,CRD,11 +CMT,1,3,538,2.3,CSH,10 +CMT,1,2,530,2.1,CRD,9 +CMT,1,1,188,0.7,CSH,4.5 +CMT,1,3,394,1.6,CSH,7.5 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,1,341,1.4,CSH,6.5 +CMT,1,1,358,0.9,CRD,6 +CMT,1,2,776,2.1,CRD,10.5 +CMT,1,2,337,0.7,CSH,4.5 +CMT,1,2,895,1.7,CSH,10.5 +CMT,1,3,443,0.9,CSH,6.5 +CMT,1,1,1548,1.9,CSH,16 +CMT,1,1,561,2.1,CRD,9 +CMT,1,1,239,1,CRD,5 +CMT,1,2,258,1.2,CSH,6 +CMT,1,2,552,1.6,CSH,8 +CMT,1,2,175,0.6,CSH,4.5 +CMT,1,1,3086,7.2,CSH,36 +CMT,1,1,922,4.1,CRD,16 +CMT,1,2,541,1.3,CRD,7.5 +CMT,1,1,270,0.8,CSH,5 +CMT,1,1,710,1.7,CRD,10 +CMT,1,2,1057,4.7,CRD,17 +CMT,1,1,342,1.4,CRD,6.5 +CMT,1,2,757,2.2,CSH,11 +CMT,1,2,493,1.1,CRD,7 +CMT,1,4,372,0.9,CRD,6 +CMT,1,1,449,2.6,CRD,9 +CMT,1,1,594,2.6,CRD,10.5 +CMT,2,2,2682,7.8,CSH,52 +CMT,1,2,490,1.2,CSH,7.5 +CMT,1,2,866,2.2,CSH,11.5 +CMT,1,1,919,4.4,CRD,15.5 +CMT,1,1,886,4.8,CSH,16 +CMT,1,2,215,0.8,CRD,5 +CMT,1,1,271,0.9,CSH,5.5 +CMT,1,1,453,1.8,CRD,8 +CMT,1,1,692,1.3,CRD,9 +CMT,1,1,1045,9,CRD,26 +CMT,1,2,499,1.6,CRD,8 +CMT,1,1,499,1.6,CRD,8.5 +CMT,1,1,402,1.6,CRD,7.5 +CMT,1,1,440,2.3,CRD,9 +CMT,4,1,1434,10.1,CRD,30 +CMT,1,1,301,1.9,CSH,7.5 +CMT,1,3,691,2.2,CRD,10.5 +CMT,1,1,327,1,CSH,6 +CMT,1,1,403,1.2,CRD,6.5 +CMT,1,1,639,1.5,CSH,9 +CMT,1,2,937,2.2,CRD,11.5 +CMT,1,2,784,1.5,CSH,9.5 +CMT,1,1,174,0.5,CSH,4.5 +CMT,1,3,393,1.1,CRD,7 +CMT,1,1,712,1.6,CSH,9.5 +CMT,1,1,1025,1.9,CRD,12 +CMT,1,1,331,1,CSH,6 +CMT,1,2,968,3.2,CRD,14 +CMT,1,2,230,1.2,CSH,5.5 +CMT,1,1,161,1,CRD,5 +CMT,1,1,386,1.3,CRD,7 +CMT,5,4,106,48.5,CRD,70 +CMT,1,2,469,1.2,CRD,7.5 +CMT,1,3,266,0.9,CSH,5.5 +CMT,1,1,721,4.3,CRD,14 +CMT,1,2,2130,1.6,CSH,21.5 +CMT,1,1,244,0.7,CSH,5 +CMT,1,2,315,0.7,CSH,5.5 +CMT,1,2,1849,5.3,CRD,22.5 +CMT,1,2,677,1.7,CSH,10 +CMT,1,1,305,0.8,CRD,5.5 +CMT,1,1,140,0.4,CSH,4 +CMT,1,1,760,4.8,CRD,15 +CMT,1,1,364,1.7,CSH,7.5 +CMT,1,2,144,0.4,CRD,4 +CMT,1,2,387,1.4,CRD,7 +CMT,1,1,667,2.5,CRD,11 +CMT,1,1,1124,3.6,CSH,15 +CMT,1,1,817,4,CRD,14 +CMT,1,1,723,2,CRD,10 +CMT,1,1,203,0.8,CRD,5 +CMT,1,1,730,3,CRD,12 +CMT,1,1,970,2.2,CRD,12.5 +CMT,1,1,557,2,CRD,9 +CMT,1,1,382,1.7,CSH,7.5 +CMT,1,1,704,0.8,CSH,8.5 +CMT,1,1,432,1.3,CRD,7 +CMT,1,1,1031,2.6,CSH,13 +CMT,1,1,134,0.3,CSH,3.5 +CMT,1,1,183,0.7,CSH,4.5 +CMT,1,1,958,7.4,CRD,23 +CMT,1,1,787,0.9,CRD,9 +CMT,1,1,416,0.8,CRD,6 +CMT,1,1,585,1.3,CSH,8 +CMT,1,1,1240,3.5,CSH,16 +CMT,1,1,470,1.6,CRD,8 +CMT,1,1,936,5.5,CRD,18 +CMT,1,1,96,0.5,CSH,4 +CMT,1,1,553,2,CRD,9.5 +CMT,1,1,596,1,CSH,8 +CMT,1,1,342,1.4,CSH,7 +CMT,1,2,303,1.2,CSH,6 +CMT,1,1,371,1.1,CRD,6.5 +CMT,1,1,863,3.7,CRD,14.5 +CMT,1,1,296,1.3,CSH,6 +CMT,1,1,283,0.4,CRD,5 +CMT,1,1,524,11.8,CSH,7.5 +CMT,1,1,562,1.1,CRD,7.5 +CMT,1,1,197,0.8,CRD,5 +CMT,1,1,262,0.9,CRD,5.5 +CMT,1,1,523,1.2,CSH,7.5 +CMT,1,1,1067,4.8,CRD,16.5 +CMT,1,1,1610,12.1,CRD,35.5 +CMT,1,1,250,1,CSH,5.5 +CMT,1,1,614,2.1,CRD,10 +CMT,1,2,491,1.8,CSH,8.5 +CMT,1,1,316,1.4,CSH,6.5 +CMT,1,1,681,1.9,CSH,10 +CMT,1,1,116,0.8,CSH,4.5 +CMT,1,1,909,2.4,CRD,12.5 +CMT,1,1,231,0.9,CRD,5.5 +CMT,1,1,349,1.6,CRD,7.5 +CMT,1,1,864,8.1,CRD,24 +CMT,1,1,917,4.5,CRD,16 +CMT,1,2,1092,3.6,CRD,15.5 +CMT,1,1,510,2.3,CRD,9.5 +CMT,1,1,497,1.5,CSH,7.5 +CMT,1,2,570,2.5,CSH,10 +CMT,1,3,905,3.7,CRD,14.5 +CMT,1,1,869,5.2,CRD,17 +CMT,1,2,1071,1.6,CRD,12 +CMT,1,1,873,3.1,CRD,13.5 +CMT,1,2,1457,5.6,CSH,21.5 +CMT,1,1,355,0.6,CSH,5.5 +CMT,1,1,954,2.7,CRD,12.5 +CMT,1,1,618,2.6,CRD,10.5 +CMT,1,1,194,0.7,CRD,5 +CMT,1,1,141,0.6,CSH,4 +CMT,1,1,415,1.5,CRD,7.5 +CMT,1,3,239,1.2,CRD,6 +CMT,1,1,212,0.5,CSH,4.5 +CMT,1,3,404,1.4,CRD,7.5 +CMT,1,1,622,0.6,CRD,7.5 +CMT,1,1,2928,12.4,CSH,43 +CMT,1,1,1509,2.8,CSH,16.5 +CMT,1,2,473,0.9,CSH,6.5 +CMT,1,2,1417,3.7,CRD,16.5 +CMT,1,2,787,1.3,CRD,9.5 +CMT,1,2,445,1.6,CSH,7.5 +CMT,1,1,592,2,CSH,9 +CMT,1,4,318,1.2,CSH,6 +CMT,1,2,1424,7.8,CRD,25.5 +CMT,1,1,94,0.4,CRD,3.5 +CMT,1,1,742,3.8,CRD,13.5 +CMT,1,1,540,1.9,CRD,9 +CMT,1,1,818,3.3,CRD,13.5 +CMT,1,1,1254,7.9,CSH,23.5 +CMT,1,2,695,3.7,CRD,13 +CMT,1,1,335,2.2,CRD,8.5 +CMT,1,1,469,2,CRD,8.5 +CMT,1,1,268,1.2,CRD,6 +CMT,1,1,367,0.7,CSH,6 +CMT,1,1,463,1.2,CRD,7.5 +CMT,1,1,247,1.5,CRD,6.5 +CMT,1,1,310,1.5,CSH,6.5 +CMT,1,1,286,1.2,CSH,6.5 +CMT,1,1,50,24.9,CRD,3 +CMT,1,1,626,1.1,CSH,8 +CMT,1,4,444,1.6,CSH,8 +CMT,1,1,464,1.3,CSH,7.5 +CMT,1,1,532,2.3,CSH,10 +CMT,1,1,194,0.5,CSH,4.5 +CMT,1,2,184,0.3,CSH,4 +CMT,1,1,601,2,CRD,9.5 +CMT,1,3,501,1.5,CSH,7.5 +CMT,1,2,378,1.8,CRD,7.5 +CMT,1,2,482,1.5,CSH,7.5 +CMT,1,2,571,1.7,CSH,8.5 +CMT,1,1,738,2,CSH,10 +CMT,1,1,606,1.6,CSH,9 +CMT,1,1,193,0.5,CSH,4.5 +CMT,1,2,1202,3.7,CSH,16.5 +CMT,1,1,170,0.3,CSH,4 +CMT,1,1,473,1.8,CSH,8 +CMT,1,1,675,2.1,CRD,10 +CMT,1,2,471,1.1,CSH,7 +CMT,1,1,612,4.3,CSH,14.5 +CMT,1,4,322,1.2,CSH,6 +CMT,1,1,1371,4.3,CRD,18.5 +CMT,1,1,642,3.6,CSH,13 +CMT,2,2,1557,8.7,CSH,52 +CMT,1,3,475,1.5,CRD,8 +CMT,1,2,863,4.1,CSH,15 +CMT,1,1,484,1.6,CRD,8 +CMT,1,3,494,0.9,CSH,7 +CMT,1,1,716,2.5,CRD,11 +CMT,1,2,295,1.3,CSH,6.5 +CMT,1,1,334,0.3,CSH,5 +CMT,1,1,470,1.2,CSH,7 +CMT,1,1,312,2.2,CSH,8 +CMT,1,1,154,0.4,CRD,4 +CMT,1,1,233,0.7,CSH,5 +CMT,1,1,494,1.9,CSH,8.5 +CMT,1,1,1255,4.3,CRD,18 +CMT,1,1,571,1,CRD,7.5 +CMT,1,1,326,1.2,CSH,6.5 +CMT,1,1,573,1.6,CSH,8.5 +CMT,1,1,421,1.1,CSH,7 +CMT,1,1,424,1.3,CRD,7.5 +CMT,1,1,715,2.4,CRD,10.5 +CMT,1,1,489,3.7,CRD,12 +CMT,1,1,434,1.2,CRD,7 +CMT,1,1,512,1.8,CSH,8.5 +CMT,1,1,253,1.2,CRD,6 +CMT,1,1,143,0.5,CSH,4 +CMT,1,1,304,1.9,CRD,7.5 +CMT,1,2,975,2.5,CRD,13 +CMT,1,1,629,1.9,CRD,9.5 +CMT,1,4,320,1.2,CSH,6.5 +CMT,1,1,956,8.7,CRD,25.5 +CMT,2,2,2390,17.3,CSH,52 +CMT,1,1,532,2.1,CSH,9 +CMT,1,2,286,0.7,CRD,5.5 +CMT,1,1,996,3.5,CSH,15 +CMT,1,1,159,0.5,CSH,4 +CMT,1,1,247,0.7,CSH,5 +CMT,1,1,271,0.6,CRD,5 +CMT,1,1,1637,6.1,CRD,23.5 +CMT,1,1,146,1.1,CSH,5.5 +CMT,1,1,681,2.8,CRD,11 +CMT,1,1,443,1.7,CSH,8 +CMT,1,1,359,1.3,CSH,7 +CMT,1,2,701,4.5,CRD,15 +CMT,1,2,145,0.3,CSH,3.5 +CMT,1,3,437,1.6,CSH,7.5 +CMT,1,1,1063,4.7,CSH,16.5 +CMT,1,1,565,2.9,CRD,10.5 +CMT,1,1,469,2.3,CRD,9.5 +CMT,1,1,108,0.4,CRD,3.5 +CMT,1,1,422,2.7,CRD,9.5 +CMT,1,1,863,2.2,CSH,12 +CMT,1,2,320,1.3,CSH,6.5 +CMT,1,1,214,0.5,CSH,4.5 +CMT,1,1,372,1,CSH,6 +CMT,1,1,295,0.6,CSH,5 +CMT,1,1,355,0.6,CRD,5.5 +CMT,1,1,303,1,CRD,6 +CMT,1,1,1065,5.7,CRD,20 +CMT,1,2,280,1,CRD,5.5 +CMT,1,1,83,0.4,CSH,3.5 +CMT,1,1,1061,3.9,CSH,15.5 +CMT,1,1,985,3.1,CRD,13.5 +CMT,1,1,845,1.6,CRD,10.5 +CMT,1,1,108,0.6,CSH,4 +CMT,1,1,158,0.8,CSH,4.5 +CMT,1,1,344,0.9,CSH,6 +CMT,1,1,1595,4.5,CSH,20 +CMT,1,1,226,1,CRD,5.5 +CMT,1,1,738,6.5,CSH,20 +CMT,1,1,151,1,CSH,5 +CMT,1,1,229,1.3,CRD,6 +CMT,1,1,865,2.9,CRD,13 +CMT,1,1,199,0.6,CRD,4.5 +CMT,1,1,382,1.5,CRD,7.5 +CMT,1,1,642,2.2,CSH,10.5 +CMT,1,1,138,0.1,CSH,3.5 +CMT,1,1,889,1.7,CRD,11 +CMT,1,1,92,0.6,CRD,4 +CMT,1,1,790,3.9,CRD,15 +CMT,1,1,651,3.2,CRD,12.5 +CMT,1,2,345,0.8,CRD,6 +CMT,1,1,572,1.8,CSH,9 +CMT,1,1,702,3,CRD,11.5 +CMT,1,1,723,2.2,CRD,10.5 +CMT,1,2,2047,10.5,CSH,36.5 +CMT,1,1,187,0.5,CSH,4 +CMT,1,1,1402,4,CSH,18.5 +CMT,1,1,533,1.7,CRD,8.5 +CMT,1,1,733,2.2,CRD,10.5 +CMT,5,1,1147,13,CRD,50 +CMT,1,1,636,1.7,CSH,9.5 +CMT,1,1,552,2.2,CRD,9.5 +CMT,1,2,410,2.2,CSH,8.5 +CMT,1,1,373,0.6,CSH,5.5 +CMT,1,1,536,1.5,CSH,8 +CMT,1,1,990,2.9,CSH,13 +CMT,1,1,222,0.8,CSH,5 +CMT,1,2,450,1.2,CRD,7 +CMT,1,3,279,0.9,CRD,5.5 +CMT,1,1,142,0.4,CSH,4 +CMT,1,1,197,0.3,CSH,4 +CMT,1,1,730,1,CRD,9 +CMT,1,1,726,2,CSH,10.5 +CMT,1,1,386,1.5,CRD,7 +CMT,1,1,1060,4.2,CSH,16 +CMT,1,1,871,2.3,CSH,12 +CMT,1,1,510,2.7,CSH,10 +CMT,1,1,467,1.4,CSH,8 +CMT,1,2,672,3.4,CSH,12.5 +CMT,1,2,588,1.2,CSH,8 +CMT,1,2,988,2.6,CSH,13 +CMT,1,1,1385,5.4,CRD,20.5 +CMT,1,1,326,1.1,CSH,6.5 +CMT,1,1,677,2.1,CRD,10 +CMT,1,1,709,1.6,CSH,9.5 +CMT,1,1,929,1.9,CRD,11.5 +CMT,1,1,629,1.7,CSH,9 +CMT,1,1,298,1.2,CSH,6 +CMT,1,1,315,0.9,CSH,6 +CMT,1,1,499,2.2,CRD,9 +CMT,1,2,1694,5.7,CSH,23.5 +CMT,1,2,308,0.5,CSH,5 +CMT,1,1,201,0.6,CRD,4.5 +CMT,1,1,796,3.9,CSH,13.5 +CMT,1,1,687,4.4,CSH,14.5 +CMT,1,1,247,0.7,CSH,5 +CMT,1,1,1114,2.5,CRD,13.5 +CMT,1,1,764,3.7,CRD,13 +CMT,1,2,1152,3.7,CRD,15.5 +CMT,1,1,923,3.2,CSH,13.5 +CMT,1,3,992,1.9,CRD,12 +CMT,1,1,550,1.2,CRD,7.5 +CMT,1,1,498,1,CRD,7 +CMT,1,1,653,0.7,CSH,8 +CMT,1,3,249,0.4,CRD,4.5 +CMT,1,1,1623,9.4,CSH,31 +CMT,1,1,453,0.9,CSH,6.5 +CMT,1,1,881,1.7,CRD,11 +CMT,1,1,612,2.1,CRD,10 +CMT,1,2,974,3.5,CRD,14 +CMT,1,2,315,0.8,CSH,5.5 +CMT,1,2,372,1,CRD,6 +CMT,1,1,585,1.7,CRD,9 +CMT,1,1,421,1.2,CSH,7 +CMT,1,1,1532,15,CRD,42 +CMT,1,1,1702,5.2,CSH,23.5 +CMT,1,1,1000,2.6,CRD,12.5 +CMT,1,1,688,1.7,CRD,9.5 +CMT,1,1,184,0.9,CRD,5 +CMT,1,1,596,2.4,CRD,10 +CMT,1,1,190,0.6,CRD,4.5 +CMT,1,1,220,0.4,CRD,4.5 +CMT,1,1,331,0.6,CSH,5.5 +CMT,1,1,220,0.3,CSH,4 +CMT,1,1,700,2.6,CRD,11 +CMT,1,1,447,1.2,CSH,7 +CMT,1,1,371,0.8,CSH,6 +CMT,1,1,645,2.3,CSH,10.5 +CMT,1,1,518,1.9,CRD,9 +CMT,1,1,1196,10.2,CRD,29.5 +CMT,1,1,111,0.3,CRD,3.5 +CMT,1,1,398,1.4,CRD,7.5 +CMT,1,2,313,0.8,CSH,5.5 +CMT,1,1,652,1.2,CSH,9 +CMT,1,1,569,2.2,CSH,9.5 +CMT,1,2,252,0.7,CRD,5 +CMT,1,1,881,4.2,CRD,15 +CMT,1,1,355,1.2,CRD,7 +CMT,1,3,1407,5.2,CRD,20.5 +CMT,1,1,270,0.6,CSH,5 +CMT,1,1,384,2,CSH,8.5 +CMT,1,1,179,1.2,CRD,5.5 +CMT,1,1,879,7.8,CRD,22.5 +CMT,1,1,1516,7.8,CRD,25.5 +CMT,1,1,271,0.4,CSH,4.5 +CMT,1,1,579,1.7,CSH,8.5 +CMT,1,1,376,0.8,CSH,6 +CMT,1,1,482,0.8,CSH,7 +CMT,1,1,615,0.8,CRD,7.5 +CMT,1,1,283,1.4,CRD,6.5 +CMT,1,2,796,8.2,CRD,23.5 +CMT,1,1,786,1.7,CSH,10.5 +CMT,1,1,1104,3.8,CRD,16 +CMT,1,1,410,1.4,CRD,7 +CMT,2,2,1893,1,CRD,52 +CMT,1,1,496,1,CRD,7.5 +CMT,1,2,653,1.8,CSH,9.5 +CMT,1,1,586,1.8,CRD,9 +CMT,1,1,293,1.4,CRD,6.5 +CMT,1,1,875,5.1,CRD,17.5 +CMT,1,1,1608,5.4,CSH,22 +CMT,1,1,757,2.5,CSH,11.5 +CMT,1,1,539,1.9,CRD,9 +CMT,1,1,1163,10.7,CSH,31 +CMT,1,1,388,0.7,CSH,6 +CMT,1,1,375,1.1,CRD,6.5 +CMT,1,4,743,5.3,CRD,17.5 +CMT,1,1,687,2.6,CRD,11 +CMT,1,1,545,1.4,CRD,8 +CMT,1,1,269,0.3,CRD,4.5 +CMT,1,1,652,1.9,CRD,9.5 +CMT,1,1,1027,4.4,CRD,16.5 +CMT,1,1,1016,4,CSH,16 +CMT,1,1,770,1.9,CRD,10.5 +CMT,1,1,406,1.7,CSH,8 +CMT,1,1,842,8.5,CSH,24.5 +CMT,1,1,570,2,CRD,9.5 +CMT,1,1,946,2.3,CSH,12 +CMT,1,1,688,1,CSH,8.5 +CMT,1,1,502,1.6,CRD,8 +CMT,1,1,747,2,CSH,10.5 +CMT,1,1,516,0.9,CRD,7 +CMT,1,1,824,7,CSH,21 +CMT,1,1,1583,10.8,CRD,34 +CMT,1,1,1168,6.1,CSH,20 +CMT,1,3,1529,10.3,CSH,31 +CMT,1,1,314,1.3,CRD,6.5 +CMT,1,1,159,0.5,CSH,4 +CMT,1,2,154,0.6,CSH,4.5 +CMT,1,1,941,3.5,CRD,14.5 +CMT,1,2,482,2.6,CRD,10 +CMT,1,1,187,0.3,CSH,4 +CMT,1,1,284,0.8,CSH,5.5 +CMT,1,2,240,0.4,CSH,4.5 +CMT,1,1,961,1.6,CSH,11.5 +CMT,1,1,686,3.2,CRD,12 +CMT,1,1,425,1.3,CSH,7 +CMT,1,1,364,1.6,CSH,7.5 +CMT,1,1,599,1.5,CRD,8.5 +CMT,1,1,616,2.9,CRD,11.5 +CMT,1,1,342,1.8,CRD,8 +CMT,1,2,217,0.8,CSH,5 +CMT,1,1,413,0.9,CRD,6.5 +CMT,1,3,552,1.6,CSH,8.5 +CMT,1,3,593,2.3,CSH,10 +CMT,1,1,332,1.2,CSH,6.5 +CMT,1,1,281,0.5,CSH,5 +CMT,1,1,544,0.5,CRD,7 +CMT,1,1,181,0.3,CSH,4 +CMT,1,1,207,1.1,CSH,5.5 +CMT,1,1,1254,2.3,CRD,14.5 +CMT,1,1,532,2.5,CRD,10 +CMT,1,1,595,1,CSH,8 +CMT,1,1,286,1.5,CRD,6.5 +CMT,1,2,265,0.6,CSH,5 +CMT,1,1,1071,8.1,CRD,24.5 +CMT,1,1,785,2.3,CSH,11 +CMT,1,1,428,2.1,CSH,8.5 +CMT,1,1,662,2,CSH,9.5 +CMT,1,1,556,1.5,CRD,8.5 +CMT,1,2,1192,6.4,CSH,21.5 +CMT,1,1,929,4.4,CSH,16 +CMT,1,2,322,1.3,CSH,6.5 +CMT,1,2,464,2,CSH,8.5 +CMT,1,1,772,3.1,CSH,12.5 +CMT,1,1,825,1.2,CSH,10 +CMT,1,1,911,1,CRD,10 +CMT,1,2,849,1.6,CRD,10.5 +CMT,1,1,606,2.1,CSH,9.5 +CMT,1,1,489,3.3,CRD,11 +CMT,1,1,380,1.4,CSH,7 +CMT,1,1,279,0.9,CSH,5.5 +CMT,1,1,401,0.9,CRD,6.5 +CMT,1,1,988,3.4,CSH,14.5 +CMT,1,1,726,2.3,CSH,11 +CMT,1,1,907,1.9,CRD,11 +CMT,1,1,789,1.9,CSH,10.5 +CMT,1,1,674,2.6,CRD,11.5 +CMT,1,1,1059,10.1,CRD,29 +CMT,1,1,952,2.4,CRD,13 +CMT,1,1,1045,6.4,CRD,21.5 +CMT,1,1,459,1.4,CRD,7.5 +CMT,1,3,344,0.9,CSH,6 +CMT,1,2,834,3.1,CRD,12.5 +CMT,1,1,883,4.3,CSH,15.5 +CMT,1,1,749,1.4,CSH,9.5 +CMT,1,1,536,0.5,CRD,7 +CMT,1,1,660,3.1,CRD,12.5 +CMT,1,1,912,1.8,CRD,11 +CMT,1,2,294,1.1,CSH,6 +CMT,1,2,1226,4.5,CRD,18.5 +CMT,1,1,586,3.4,CRD,12 +CMT,1,2,313,0.8,CSH,5.5 +CMT,1,2,260,0.6,CSH,5 +CMT,1,2,448,1.6,CRD,8 +CMT,1,1,432,1.7,CRD,8 +CMT,1,1,854,2.8,CSH,12.5 +CMT,1,1,799,3.2,CRD,12 +CMT,1,1,1045,4,CRD,15.5 +CMT,1,1,288,0.8,CRD,5.5 +CMT,1,1,1403,15.3,CSH,42 +CMT,1,1,1157,5.3,CSH,19.5 +CMT,1,1,173,1,CSH,5 +CMT,1,1,240,1.1,CSH,5.5 +CMT,1,1,269,0.9,CRD,5.5 +CMT,1,1,717,2.2,CSH,10.5 +CMT,1,2,599,1.2,CRD,8.5 +CMT,1,1,483,3.6,CRD,11.5 +CMT,1,1,134,0.6,CSH,4.5 +CMT,1,1,1278,5.3,CRD,20 +CMT,1,1,647,5.6,CRD,17.5 +CMT,1,1,287,0.6,CSH,5 +CMT,1,1,762,2.4,CRD,11.5 +CMT,1,1,355,1,CSH,6.5 +CMT,1,1,1628,10.4,CSH,33.5 +CMT,1,1,1016,3.5,CRD,14.5 +CMT,1,1,1132,3.5,CSH,15 +CMT,1,1,462,2.2,CSH,9 +CMT,1,1,729,1.8,CRD,10 +CMT,1,1,804,7.8,CRD,23 +CMT,1,1,572,2.2,CRD,9.5 +CMT,1,1,599,3.5,CRD,12.5 +CMT,1,1,492,1.9,CRD,8.5 +CMT,1,1,815,1.8,CRD,10.5 +CMT,1,1,1010,2,CRD,12 +CMT,1,1,332,0.6,CRD,5.5 +CMT,1,1,387,0.7,CRD,6 +CMT,1,1,285,1.1,CSH,6 +CMT,1,1,260,0.7,CSH,5 +CMT,1,1,636,1.8,CSH,9.5 +CMT,1,1,447,1.1,CSH,7 +CMT,1,1,398,3,CSH,10 +CMT,1,2,181,0.4,CSH,4 +CMT,1,1,308,1.2,CRD,6.5 +CMT,1,1,510,1.8,CRD,8.5 +CMT,1,1,903,2.4,CSH,12 +CMT,1,1,292,1,CRD,6 +CMT,1,1,332,1.4,CSH,6.5 +CMT,1,1,242,0.6,CRD,4.5 +CMT,1,1,195,0.8,CRD,5 +CMT,1,1,238,1.2,CRD,6 +CMT,1,1,823,4.9,CRD,16.5 +CMT,1,1,304,1.6,CSH,7 +CMT,1,2,256,0.5,CSH,5 +CMT,1,2,496,0.9,CSH,7 +CMT,1,4,368,1.2,CSH,6.5 +CMT,1,3,1118,4.1,CSH,16.5 +CMT,1,1,634,2.1,CRD,10 +CMT,1,1,738,3.8,CRD,14.5 +CMT,1,1,394,0.8,CSH,6 +CMT,1,1,1576,1.8,CRD,16 +CMT,1,1,862,2.3,CSH,12 +CMT,1,1,567,2.6,CRD,10.5 +CMT,1,1,359,0.5,CSH,5.5 +CMT,1,1,2632,10.3,CRD,41 +CMT,1,2,414,1.2,CRD,7 +CMT,1,1,212,0.2,CSH,4 +CMT,1,1,465,1,CRD,7 +CMT,1,1,620,2.3,CRD,10.5 +CMT,1,2,1079,3.7,CSH,16 +CMT,1,1,203,0.3,CSH,4 +CMT,1,1,583,1,CSH,7.5 +CMT,1,1,591,0.9,CRD,8 +CMT,1,1,664,2.2,CRD,10.5 +CMT,1,1,194,1,CSH,5 +CMT,1,1,383,1.7,CRD,7.5 +CMT,1,1,328,0.9,CSH,6 +CMT,1,1,295,1.4,CRD,6.5 +CMT,1,1,813,4.7,CRD,15.5 +CMT,1,1,658,1.9,CRD,9.5 +CMT,1,1,1062,4.3,CRD,16.5 +CMT,1,3,324,0.6,CSH,5.5 +CMT,1,1,691,3.4,CSH,12.5 +CMT,1,1,705,2.4,CRD,10.5 +CMT,1,1,455,0.9,CSH,6.5 +CMT,1,2,130,0.3,CSH,3.5 +CMT,1,2,862,1.4,CSH,10 +CMT,1,1,771,1.6,CSH,10 +CMT,1,2,1569,9.9,CSH,32 +CMT,1,1,907,1.4,CRD,11 +CMT,2,1,3130,0,CRD,52 +CMT,1,1,957,2.3,CRD,12 +CMT,1,2,1095,0.9,CSH,11.5 +CMT,1,1,491,2.6,CRD,9.5 +CMT,1,1,1031,5.5,CSH,18.5 +CMT,1,1,140,0.5,CRD,4 +CMT,1,1,175,0.4,CSH,4 +CMT,1,1,461,0.9,CSH,7 +CMT,1,1,1101,1.2,CRD,12 +CMT,1,1,2181,11.5,CSH,37 +CMT,1,1,424,2.3,CRD,9 +CMT,1,1,452,1.9,CSH,8.5 +CMT,1,1,1196,3.5,CSH,16.5 +CMT,1,1,815,3.5,CRD,13 +CMT,1,1,936,5.7,CSH,19 +CMT,1,1,235,0.5,CSH,4.5 +CMT,1,1,586,3.4,CRD,12.5 +CMT,1,1,1250,12.6,CSH,35 +CMT,1,1,408,1.2,CSH,7 +CMT,1,1,1143,3.4,CSH,15 +CMT,1,1,428,0.9,CSH,6.5 +CMT,1,1,623,1.8,CSH,9.5 +CMT,1,1,962,2.5,CSH,12.5 +CMT,1,2,671,0.4,CSH,8 +CMT,1,2,207,0.6,CSH,4.5 +CMT,1,1,32,3.4,CSH,2.5 +CMT,1,1,1148,2.7,CRD,14 +CMT,1,1,132,0.4,CSH,4 +CMT,1,1,754,2.5,CRD,11.5 +CMT,1,1,692,3.9,CRD,13.5 +CMT,1,2,146,1,CRD,5 +CMT,1,1,275,1.5,CRD,6.5 +CMT,1,2,1337,3.1,CSH,16 +CMT,1,4,2235,12.9,CSH,40.5 +CMT,1,2,575,1.1,CRD,8 +CMT,1,1,841,4.8,CSH,16 +CMT,1,1,350,0.8,CRD,6 +CMT,1,2,811,3.3,CRD,13 +CMT,1,3,421,1.6,CSH,7.5 +CMT,1,1,339,0.9,CRD,6 +CMT,1,1,337,1.5,CRD,7 +CMT,1,1,125,0.5,CSH,4 +CMT,1,1,817,2.2,CRD,11 +CMT,1,1,157,0.3,CSH,3.5 +CMT,1,1,177,0.6,CSH,4.5 +CMT,1,1,864,3.8,CRD,14 +CMT,1,1,996,9.2,CRD,27 +CMT,1,1,501,1.9,CSH,8.5 +CMT,1,2,317,1.3,CSH,6.5 +CMT,1,1,187,0.9,CRD,5 +CMT,1,1,365,0.5,CRD,5.5 +CMT,1,1,310,1.3,CRD,6 +CMT,1,1,238,0.5,CRD,4.5 +CMT,1,1,384,1.5,CRD,7.5 +CMT,1,1,309,1.5,CSH,7 +CMT,1,1,1063,2.8,CRD,13.5 +CMT,1,1,134,0.2,CSH,3.5 +CMT,1,1,423,1.5,CRD,7.5 +CMT,1,3,416,1.7,CSH,8 +CMT,1,2,301,0.6,CRD,5.5 +CMT,1,1,218,1,CSH,5.5 +CMT,1,1,1067,12.1,CRD,33.5 +CMT,1,1,227,0.7,CSH,5 +CMT,1,1,583,1.1,CSH,8 +CMT,1,1,1113,2.8,CSH,13.5 +CMT,1,1,3004,18.5,CSH,54.5 +CMT,1,1,484,1.4,CRD,8 +CMT,1,1,506,1.6,CRD,8 +CMT,1,2,297,0.7,CSH,5.5 +CMT,1,1,133,0.4,CRD,4 +CMT,1,1,724,2.8,CSH,11.5 +CMT,1,1,315,1.6,CSH,7 +CMT,1,2,359,1.6,CRD,7.5 +CMT,1,1,395,1.2,CSH,7 +CMT,1,1,664,3.3,CRD,11.5 +CMT,1,1,685,2,CRD,10 +CMT,1,1,734,2.6,CRD,11 +CMT,1,2,1231,10.3,CRD,30.5 +CMT,1,1,141,0.8,CRD,4.5 +CMT,1,1,761,2.2,CRD,11 +CMT,1,1,754,3.8,CRD,14 +CMT,1,4,1015,1.9,CSH,12 +CMT,1,1,449,1.3,CSH,7.5 +CMT,1,1,102,0.3,CSH,3.5 +CMT,1,1,420,0.8,CSH,6.5 +CMT,1,1,309,0.7,CSH,5.5 +CMT,1,1,794,4.1,CSH,14 +CMT,1,1,451,1.9,CSH,8 +CMT,1,1,386,2.3,CRD,9 +CMT,1,1,332,1.3,CSH,6.5 +CMT,1,1,1411,4,CRD,18.5 +CMT,1,1,599,1.3,CRD,7 +CMT,1,1,167,0.4,CRD,4 +CMT,2,1,2519,0,CRD,52 +CMT,1,1,282,1,CSH,5.5 +CMT,1,1,1041,2.8,CRD,13.5 +CMT,1,1,695,1.6,CRD,9.5 +CMT,1,2,553,2.8,CSH,11 +CMT,1,1,333,0.9,CSH,6 +CMT,1,1,64,0.2,CRD,3 +CMT,1,1,1204,4.4,CRD,17 +CMT,1,1,682,4.5,CSH,15 +CMT,1,2,1058,5.2,CSH,18 +CMT,1,1,334,1.5,CSH,7 +CMT,1,1,684,1.5,CRD,9 +CMT,1,1,263,0.7,CRD,5 +CMT,1,1,969,3.8,CSH,15.5 +CMT,1,1,235,0.4,CSH,4.5 +CMT,1,1,1126,3.6,CSH,15 +CMT,1,1,261,0.5,CRD,5 +CMT,1,1,290,1,CSH,6 +CMT,1,1,396,1.1,CRD,6.5 +CMT,1,1,464,0.8,CRD,6.5 +CMT,1,2,459,3.4,CSH,11 +CMT,1,1,456,1.1,CSH,7 +CMT,1,1,1303,6.5,CRD,22 +CMT,1,1,1187,2.1,CSH,14 +CMT,1,1,292,1.1,CSH,6 +CMT,1,1,768,2.4,CRD,11.5 +CMT,1,1,755,1.5,CSH,9.5 +CMT,1,1,750,2,CRD,10.5 +CMT,1,1,715,4.4,CSH,15 +CMT,1,1,207,0.7,CSH,5 +CMT,1,1,402,1.2,CRD,6.5 +CMT,1,2,1204,6.3,CRD,22 +CMT,1,1,374,0.9,CRD,6 +CMT,1,1,702,1.5,CSH,9.5 +CMT,1,2,345,0.8,CSH,6 +CMT,1,1,339,0.8,CRD,6 +CMT,1,1,1163,4.6,CRD,18 +CMT,1,1,1120,9.8,CRD,29 +CMT,1,1,463,1.6,CRD,8 +CMT,1,1,391,0.9,CSH,6.5 +CMT,1,2,918,2,CRD,11.5 +CMT,1,1,498,0.7,CRD,6.5 +CMT,1,1,720,1.5,CSH,9.5 +CMT,1,1,487,1.1,CSH,7.5 +CMT,1,1,290,0.9,CSH,5.5 +CMT,1,1,289,0.9,CSH,5.5 +CMT,1,1,473,1.8,CSH,8.5 +CMT,1,1,591,2.4,CRD,10 +CMT,1,1,169,0.7,CRD,4.5 +CMT,1,1,306,1,CRD,6 +CMT,1,1,819,3.3,CRD,13 +CMT,1,1,412,1.1,CSH,6.5 +CMT,1,1,110,0.5,CSH,4 +CMT,1,2,1058,3.3,CSH,14.5 +CMT,1,1,740,2.2,CRD,10.5 +CMT,1,1,384,1.1,CRD,6.5 +CMT,1,1,688,2,CRD,10 +CMT,1,1,722,1.9,CSH,10 +CMT,1,1,307,1.3,CSH,6.5 +CMT,1,2,897,6.3,CRD,20 +CMT,1,1,268,1.5,CSH,6.5 +CMT,1,4,768,3.4,CSH,13 +CMT,1,1,463,1.2,CRD,7.5 +CMT,1,2,652,3.4,CRD,13 +CMT,1,1,405,1.1,CRD,6.5 +CMT,1,1,827,2.6,CRD,12.5 +CMT,1,2,496,1.3,CSH,7.5 +CMT,1,1,373,0.8,CSH,6 +CMT,1,1,469,1,CSH,7 +CMT,1,1,549,1.3,CRD,8 +CMT,1,1,923,2.1,CRD,11.5 +CMT,5,1,0,0,CSH,65 +CMT,1,1,733,1.7,CRD,10 +CMT,1,1,575,2,CSH,9.5 +CMT,1,1,330,1,CSH,6 +CMT,1,3,482,1.5,CSH,8 +CMT,1,2,507,1.3,CSH,8 +CMT,1,1,1572,10.6,CSH,33 +CMT,1,1,245,1,CRD,5.5 +CMT,1,1,404,1.6,CSH,7.5 +CMT,1,1,203,1.1,CSH,5.5 +CMT,1,1,355,1.5,CRD,7 +CMT,1,1,974,1.4,CSH,11.5 +CMT,1,1,68,0.2,CSH,3 +CMT,1,1,396,1.1,CSH,6.5 +CMT,1,3,284,0.4,CSH,5 +CMT,1,2,113,0.2,CSH,3.5 +CMT,1,1,170,0.4,CSH,4 +CMT,1,1,900,2.2,CRD,11.5 +CMT,1,1,700,2.6,CRD,11 +CMT,1,1,685,2.7,CRD,11 +CMT,1,1,1374,3.7,CRD,17.5 +CMT,1,1,954,1.4,CSH,11 +CMT,1,1,478,2.3,CSH,9.5 +CMT,1,1,754,0.8,CSH,8.5 +CMT,1,1,802,0.4,CSH,9 +CMT,1,1,519,0.9,CSH,7 +CMT,1,1,333,0.8,CRD,5.5 +CMT,1,1,490,1.2,CSH,7.5 +CMT,1,2,695,5.7,CSH,18 +CMT,1,1,927,3,CRD,13 +CMT,1,1,635,2.9,CRD,11 +CMT,1,1,937,4.7,CRD,16.5 +CMT,1,1,141,0.2,CRD,3.5 +CMT,1,3,748,2,CRD,10.5 +CMT,1,2,927,3.9,CRD,14.5 +CMT,1,3,402,1.5,CSH,7 +CMT,1,4,591,1.8,CSH,9 +CMT,1,1,1586,12.6,CRD,37 +CMT,1,1,728,1.8,CSH,10 +CMT,1,2,893,1.8,CRD,10.5 +CMT,1,1,1232,3.7,CSH,16 +CMT,1,1,601,1.2,CSH,8 +CMT,1,1,1313,4.6,CRD,18.5 +CMT,1,1,915,2.2,CRD,12 +CMT,1,1,328,0.9,CRD,6 +CMT,1,1,612,1.1,CRD,8 +CMT,1,1,156,0.6,CSH,4 +CMT,1,1,469,2.9,CSH,10.5 +CMT,1,4,1198,6.3,CSH,21.5 +CMT,1,1,289,1.2,CSH,6 +CMT,1,1,85,0.3,CRD,3.5 +CMT,1,1,1566,3.6,CSH,16 +CMT,1,1,708,1.8,CRD,9.5 +CMT,1,1,849,5.1,CRD,16.5 +CMT,1,1,1215,6.5,CSH,23 +CMT,1,1,620,1.1,CSH,8 +CMT,1,1,148,0.3,CSH,4 +CMT,1,3,606,1.7,CSH,9 +CMT,1,1,385,0.8,CRD,6 +CMT,1,1,278,0.6,CRD,5 +CMT,1,1,370,0.7,CRD,5.5 +CMT,1,1,858,3,CRD,13 +CMT,1,1,259,0.7,CRD,5 +CMT,1,1,170,0.6,CSH,4.5 +CMT,1,1,767,1.7,CRD,10 +CMT,1,1,225,0.4,CSH,4.5 +CMT,1,1,631,1.3,CSH,8.5 +CMT,1,1,664,0.8,CSH,8 +CMT,1,1,801,2.3,CRD,11 +CMT,1,1,351,1.7,CSH,7.5 +CMT,1,1,467,1.9,CSH,8.5 +CMT,1,1,225,0.5,CRD,4.5 +CMT,1,1,199,0.5,CSH,4.5 +CMT,1,1,571,1.1,CRD,7.5 +CMT,1,1,549,1.1,CRD,7.5 +CMT,1,1,610,2.1,CSH,9.5 +CMT,1,1,361,1,CRD,6.5 +CMT,1,1,1067,3.1,CSH,14.5 +CMT,1,1,1434,6.2,CSH,22 +CMT,1,2,1499,14.6,CSH,40.5 +CMT,1,1,1451,6.1,CSH,22 +CMT,1,1,251,0.8,CSH,5 +CMT,1,1,1054,4.4,CRD,16 +CMT,1,1,566,2,CSH,9.5 +CMT,1,1,777,2.5,CRD,11.5 +CMT,1,1,915,2.4,CSH,11.5 +CMT,1,1,275,0.8,CSH,5.5 +CMT,1,1,218,0.5,CRD,4.5 +CMT,1,2,281,1.5,CRD,6.5 +CMT,1,4,539,1.4,CSH,8 +CMT,1,1,549,1.6,CSH,8.5 +CMT,1,1,454,1.4,CRD,7.5 +CMT,1,1,350,1.3,CRD,6.5 +CMT,1,2,716,4,CSH,13.5 +CMT,1,1,326,1.4,CSH,6.5 +CMT,1,2,733,1.5,CSH,9.5 +CMT,1,1,436,0.7,CRD,6 +CMT,1,3,747,1.4,CSH,9.5 +CMT,1,1,936,4.5,CRD,16.5 +CMT,1,1,661,2.7,CSH,11.5 +CMT,1,2,678,2.1,CRD,10.5 +CMT,4,1,608,1.4,CRD,8 +CMT,1,2,1214,4.3,CRD,17 +CMT,1,1,698,4.8,CSH,15.5 +CMT,1,1,620,0.8,CRD,8 +CMT,1,1,131,0.6,CSH,4 +CMT,1,1,1181,0.8,CRD,12.5 +CMT,1,1,193,0.6,CSH,4.5 +CMT,1,1,101,0.3,CRD,3.5 +CMT,1,1,1023,2.4,CRD,13 +CMT,1,1,482,2.1,CRD,9.5 +CMT,1,1,962,3.3,CSH,13.5 +CMT,1,1,270,1.2,CSH,6 +CMT,1,1,281,0.9,CSH,5.5 +CMT,1,1,890,2.9,CSH,13 +CMT,1,1,815,2.5,CRD,11.5 +CMT,1,1,2,4.9,CSH,2.5 +CMT,1,1,554,0.8,CRD,7 +CMT,1,1,560,1,CRD,7.5 +CMT,1,2,830,2.7,CSH,12 +CMT,1,1,416,1.2,CRD,7 +CMT,1,1,1424,7,CSH,24 +CMT,1,2,493,1.1,CSH,7.5 +CMT,1,1,641,1.9,CRD,9.5 +CMT,1,2,99,0.1,CSH,3 +CMT,1,1,333,1.2,CRD,6 +CMT,1,3,1268,3.2,CSH,15.5 +CMT,1,1,771,2.6,CRD,11.5 +CMT,1,1,651,3.2,CRD,11.5 +CMT,1,1,537,1.7,CSH,8.5 +CMT,1,2,1063,4.5,CSH,17 +CMT,1,1,1241,7.6,CSH,24.5 +CMT,1,1,693,2.1,CRD,10 +CMT,1,1,414,1.3,CRD,7 +CMT,1,1,507,1.7,CSH,8 +CMT,2,1,1985,0,CSH,52 +CMT,1,1,883,2.8,CRD,12.5 +CMT,1,3,971,3.3,CRD,14.5 +CMT,1,3,490,1,CRD,7 +CMT,1,1,294,1.3,CRD,6.5 +CMT,1,1,166,0.4,CSH,4 +CMT,1,1,694,3.1,CSH,12 +CMT,1,1,499,2.1,CSH,9 +CMT,1,1,307,1.2,CSH,6 +CMT,1,1,1076,2,CRD,13 +CMT,1,1,420,1.1,CSH,6.5 +CMT,1,1,394,0.9,CRD,6.5 +CMT,1,1,370,1,CSH,6.5 +CMT,1,3,2010,7,CRD,28.5 +CMT,1,1,216,1.1,CSH,5.5 +CMT,1,1,460,1.2,CRD,7 +CMT,1,1,510,0.5,CSH,6.5 +CMT,1,1,502,0.7,CSH,7 +CMT,1,1,312,1.1,CSH,6 +CMT,1,1,537,1.5,CSH,8 +CMT,1,1,189,0.6,CSH,4.5 +CMT,1,1,1030,1.4,CRD,12 +CMT,1,1,734,2.8,CSH,11.5 +CMT,1,1,261,0.9,CSH,5.5 +CMT,1,1,398,1.4,CRD,7 +CMT,1,1,213,0.8,CSH,5 +CMT,1,1,248,1,CRD,5.5 +CMT,1,1,279,0.8,CRD,5 +CMT,1,1,360,0.6,CRD,5.5 +CMT,1,1,254,1.2,CRD,6 +CMT,1,1,650,1.5,CRD,8.5 +CMT,1,1,445,1.1,CRD,7 +CMT,1,3,1338,2.8,CSH,15.5 +CMT,1,1,1185,2.7,CSH,14.5 +CMT,1,1,421,1.2,CSH,7 +CMT,1,1,1794,13.5,CRD,40 +CMT,1,1,828,2.6,CSH,12.5 +CMT,1,1,438,1.7,CSH,8 +CMT,1,2,948,3.3,CSH,13.5 +CMT,5,1,1611,4.9,CRD,115 +CMT,1,1,1464,8,CRD,26 +CMT,1,1,534,1.3,CSH,8 +CMT,1,1,600,1.6,CSH,8.5 +CMT,1,1,45,7.4,CSH,2.5 +CMT,1,1,465,1.3,CSH,7.5 +CMT,1,2,844,2.3,CRD,11.5 +CMT,1,2,732,2.2,CRD,10.5 +CMT,1,1,162,0.8,CRD,4.5 +CMT,1,1,727,1.5,CSH,9.5 +CMT,1,1,45,0.2,CSH,3 +CMT,1,1,1056,2.2,CRD,13 +CMT,1,1,134,0.5,CSH,4 +CMT,1,1,1027,1.4,CSH,11.5 +CMT,1,2,1240,2,CSH,13.5 +CMT,1,1,203,1,CRD,5.5 +CMT,1,1,1034,3,CRD,14 +CMT,1,2,1365,3.1,CRD,16 +CMT,1,2,688,4.9,CRD,15.5 +CMT,1,4,786,2.8,CRD,11.5 +CMT,1,1,272,1.7,CRD,7 +CMT,1,1,459,2.1,CSH,8.5 +CMT,1,1,492,4.1,CSH,13.5 +CMT,1,3,1003,10.4,CRD,29.5 +CMT,1,2,297,0.7,CSH,5.5 +CMT,1,1,739,4.2,CRD,15 +CMT,1,1,323,1.2,CRD,7 +CMT,1,1,724,1.5,CRD,9.5 +CMT,1,1,1435,6.3,CRD,24 +CMT,1,1,260,1.6,CSH,6.5 +CMT,1,1,607,1.6,CSH,8.5 +CMT,1,1,224,0.4,CSH,4.5 +CMT,1,1,1437,2.8,CRD,16.5 +CMT,1,1,457,0.6,CRD,6.5 +CMT,1,1,818,8.2,CRD,23.5 +CMT,1,1,348,0.6,CSH,5.5 +CMT,1,1,703,0.8,CRD,8 +CMT,1,1,804,2,CSH,10.5 +CMT,1,1,311,1.1,CSH,6 +CMT,1,1,195,0.6,CSH,4.5 +CMT,1,1,112,0.8,CSH,4.5 +CMT,1,1,436,1,CSH,7 +CMT,1,1,637,1.8,CSH,9 +CMT,1,1,386,0.8,CSH,6 +CMT,1,1,431,1.3,CRD,7 +CMT,1,1,733,1.5,CRD,9.5 +CMT,1,1,2184,13.5,CRD,39.5 +CMT,1,1,1301,7.1,CSH,24.5 +CMT,1,1,583,0.9,CSH,7 +CMT,1,1,509,1.9,CRD,9 +CMT,1,1,272,0.8,CRD,5.5 +CMT,1,2,2221,13.6,CRD,42.5 +CMT,1,1,657,1.9,CRD,9.5 +CMT,1,1,916,2.5,CSH,12 +CMT,1,1,425,1.1,CRD,7 +CMT,1,1,1435,4.4,CSH,20 +CMT,1,1,1355,2.5,CRD,15.5 +CMT,1,1,594,1.6,CRD,9 +CMT,1,1,1141,2.3,CRD,13.5 +CMT,1,1,773,1.9,CRD,9.5 +CMT,1,1,1011,2.3,CRD,12.5 +CMT,1,1,773,1.3,CRD,9.5 +CMT,1,1,486,1.3,CSH,7.5 +CMT,1,1,1245,4.3,CRD,17.5 +CMT,1,1,446,1.2,CRD,7 +CMT,1,1,813,1.8,CSH,8.5 +CMT,1,1,488,3.5,CRD,12 +CMT,1,1,145,0.8,CSH,4.5 +CMT,1,1,1190,4.3,CRD,17.5 +CMT,1,1,1021,4.4,CRD,16 +CMT,1,1,144,0.5,CSH,4 +CMT,1,2,1679,10.3,CRD,31 +CMT,1,1,898,2.1,CRD,11.5 +CMT,1,1,1148,1.9,CRD,13.5 +CMT,1,1,1704,2.8,CSH,19 +CMT,1,1,632,1.4,CRD,8.5 +CMT,1,1,822,1,CRD,10 +CMT,1,1,93,0.6,CSH,4 +CMT,1,1,738,1.5,CSH,9.5 +CMT,1,1,923,1.2,CRD,10.5 +CMT,1,1,1619,4.1,CRD,19.5 +CMT,1,1,849,1.1,CSH,10 +CMT,1,1,1446,9.1,CSH,28 +CMT,1,1,501,1.8,CRD,8.5 +CMT,1,1,404,1,CSH,7 +CMT,1,1,241,0.6,CRD,5 +CMT,1,1,540,1.2,CSH,7.5 +CMT,5,1,293,0,CRD,65 +CMT,1,1,337,0.6,CSH,5.5 +CMT,1,1,1034,3.8,CRD,15 +CMT,1,3,641,2.2,CSH,10 +CMT,1,1,286,1.9,CRD,7.5 +CMT,1,1,549,1.2,CRD,7.5 +CMT,1,1,133,0.2,CSH,3.5 +CMT,1,1,379,1,CSH,6.5 +CMT,1,1,479,1.6,CRD,8 +CMT,1,1,808,5.2,CRD,17.5 +CMT,1,1,158,0.4,CSH,4 +CMT,1,1,872,3.7,CSH,14 +CMT,1,1,664,2,CSH,10 +CMT,1,2,173,0.6,CSH,4.5 +CMT,1,1,191,0.5,CRD,4.5 +CMT,1,1,425,1.3,CSH,7 +CMT,1,2,503,1.2,CSH,7.5 +CMT,1,1,1351,4.1,CSH,18.5 +CMT,1,1,598,1.7,CRD,8.5 +CMT,1,1,656,1.5,CRD,9 +CMT,1,2,2331,11.8,CRD,39.5 +CMT,1,1,707,1,CRD,8.5 +CMT,1,1,549,1,CRD,7.5 +CMT,1,1,1176,2.5,CRD,14.5 +CMT,1,1,347,1,CRD,6 +CMT,1,2,426,1,CRD,6.5 +CMT,1,1,720,1.1,CSH,9 +CMT,1,1,164,0.6,CSH,4.5 +CMT,1,1,274,0.7,CSH,5.5 +CMT,1,1,188,0.5,CRD,4.5 +CMT,1,1,802,1.8,CSH,10.5 +CMT,1,1,408,0.6,CRD,6 +CMT,1,1,398,0.9,CSH,6.5 +CMT,1,1,457,1.7,CSH,8 +CMT,1,1,502,1,CRD,7 +CMT,1,1,1218,4.9,CSH,18 +CMT,1,1,295,1.3,CRD,6.5 +CMT,1,1,623,5.3,CRD,13 +CMT,1,1,773,7.3,CSH,21.5 +CMT,1,1,300,0.7,CSH,5.5 +CMT,1,1,940,2.6,CSH,13 +CMT,1,1,1395,2.8,CRD,16.5 +CMT,1,1,208,0.9,CSH,5 +CMT,1,2,586,1.7,CRD,9 +CMT,1,1,100,0.5,CRD,4 +CMT,1,1,803,3.5,CSH,13.5 +CMT,1,2,651,2.4,CSH,10.5 +CMT,1,1,1005,9.4,CSH,26.5 +CMT,1,1,540,0.9,CRD,7.5 +CMT,1,2,1584,3,CSH,17.5 +CMT,1,1,315,0.5,CSH,5 +CMT,1,1,582,1.3,CRD,8 +CMT,1,1,6,0,NOC,2.5 +CMT,1,1,213,1.1,CRD,5.5 +CMT,1,2,549,1.7,CSH,8.5 +CMT,1,2,1449,6.4,CSH,23 +CMT,1,1,129,0.8,CRD,4.5 +CMT,1,1,781,1.4,CRD,10 +CMT,1,1,355,0.9,CRD,6 +CMT,1,1,798,1.4,CSH,10 +CMT,1,1,1137,2.6,CRD,14 +CMT,1,1,1959,10.4,CRD,33 +CMT,1,1,73,0.2,CRD,3 +CMT,1,1,349,1.5,CSH,7.5 +CMT,1,1,893,3.1,CRD,13 +CMT,1,1,397,2.1,CRD,8.5 +CMT,1,1,1002,3.2,CRD,14 +CMT,1,1,526,1.5,CRD,8 +CMT,1,1,605,0.9,CSH,8 +CMT,1,1,904,1,CSH,10.5 +CMT,1,1,1255,2.9,CSH,15.5 +CMT,1,1,716,5.3,CRD,17 +CMT,1,3,855,4.1,CSH,15 +CMT,1,1,145,0.6,CRD,4 +CMT,1,1,186,0.9,CSH,5 +CMT,1,2,112,0.8,CSH,4.5 +CMT,1,1,922,2,CSH,11 +CMT,1,1,380,0.8,CSH,6 +CMT,1,1,689,2.4,CRD,10.5 +CMT,1,1,514,1.6,CRD,8 +CMT,1,1,464,3.9,CRD,13 +CMT,1,1,846,3.9,CRD,14.5 +CMT,1,1,955,4,CRD,16 +CMT,1,1,377,1.1,CRD,6 +CMT,4,1,8,4.9,CSH,2.5 +CMT,1,3,811,2.5,CSH,12 +CMT,1,1,32,0.2,CSH,3 +CMT,1,1,642,3.4,CRD,12.5 +CMT,1,2,320,0.7,CRD,5.5 +CMT,1,1,1631,4.9,CRD,21.5 +CMT,1,1,497,1.1,CRD,7.5 +CMT,1,2,1133,3.2,CRD,15 +CMT,1,1,1092,2.9,CRD,13.5 +CMT,1,1,893,2.1,CSH,11 +CMT,1,1,824,1.6,CSH,9.5 +CMT,1,1,557,1.1,CSH,8 +CMT,1,2,287,1.1,CSH,6 +CMT,1,1,962,3.6,CSH,14 +CMT,1,1,233,0.8,CSH,5 +CMT,1,2,813,2.9,CSH,13 +CMT,1,1,728,4.5,CRD,15 +CMT,1,1,457,1.8,CRD,8.5 +CMT,1,3,301,1.2,CSH,6.5 +CMT,1,1,176,0.9,CRD,5 +CMT,1,4,681,1.3,CSH,9 +CMT,1,1,25,0,CSH,2.5 +CMT,1,2,1439,4.7,CSH,20 +CMT,1,1,419,1.1,CRD,7 +CMT,1,2,614,1.7,CRD,9 +CMT,1,1,257,1.1,CRD,6 +CMT,2,1,2211,16.6,CRD,52 +CMT,1,1,370,2,CRD,8 +CMT,1,1,355,2.1,CRD,8.5 +CMT,1,2,766,2.6,CSH,11.5 +CMT,1,1,283,0.7,CRD,5.5 +CMT,1,1,582,1.2,CRD,8 +CMT,1,1,939,2.4,CRD,12.5 +CMT,1,1,1804,9.1,CRD,31.5 +CMT,1,1,316,0.3,CSH,5 +CMT,1,1,521,0.9,CSH,7 +CMT,1,1,407,1.1,CSH,6.5 +CMT,1,1,434,0,CSH,10 +CMT,1,1,1466,17.6,CRD,46.5 +CMT,1,1,891,4,CRD,15 +CMT,1,1,140,0.6,CSH,4 +CMT,1,1,694,0.7,CRD,8.5 +CMT,1,1,1366,4.8,CRD,19.5 +CMT,1,1,595,2.9,CSH,11 +CMT,1,1,707,2.8,CRD,11.5 +CMT,1,1,440,1.8,CRD,8.5 +CMT,1,1,970,2.1,CRD,12 +CMT,1,1,600,2,CSH,9.5 +CMT,1,1,480,0.9,CRD,7 +CMT,1,1,8,0,CSH,2.5 +CMT,1,1,378,1.5,CSH,7.5 +CMT,1,2,637,1.3,CSH,8.5 +CMT,1,1,980,5.6,CSH,18 +CMT,1,1,113,0.3,CRD,3.5 +CMT,1,1,871,2.6,CRD,12 +CMT,1,1,348,1,CRD,6.5 +CMT,1,1,171,0.6,CRD,4.5 +CMT,1,1,514,2.5,CSH,10 +CMT,1,1,155,0.6,CSH,4.5 +CMT,1,1,280,1.1,CRD,6 +CMT,1,1,271,0.6,CRD,5 +CMT,1,1,484,1.1,CSH,7.5 +CMT,1,1,623,1.3,CRD,8.5 +CMT,1,1,680,1.6,CRD,9.5 +CMT,1,1,555,1.9,CRD,9 +CMT,2,1,3628,0,CSH,52 +CMT,1,1,1248,3.3,CSH,15.5 +CMT,1,1,290,0.8,CSH,5.5 +CMT,1,1,322,0.7,CRD,5.5 +CMT,1,1,236,1,CRD,5.5 +CMT,1,2,1137,6,CSH,21 +CMT,1,2,987,2.4,CRD,12.5 +CMT,1,1,705,1.9,CSH,10 +CMT,1,1,430,1.4,CRD,7.5 +CMT,1,1,354,1,CSH,6.5 +CMT,1,2,861,1.7,CSH,10.5 +CMT,1,1,2193,6.9,CRD,28.5 +CMT,1,2,460,1,CSH,7 +CMT,1,2,946,5.6,CRD,17.5 +CMT,1,2,1017,7.7,CRD,24 +CMT,1,1,1373,8,CRD,24 +CMT,1,1,1018,9.7,CRD,28.5 +CMT,1,1,1411,3.5,CRD,17 +CMT,1,4,387,0.7,CSH,6 +CMT,1,3,1064,13.7,CSH,37.5 +VTS,1,1,720,4.88,CRD,16.5 +VTS,1,1,600,2.19,CRD,10 +VTS,1,1,120,0.54,CRD,4 +VTS,1,1,120,0.38,CRD,3.5 +VTS,1,1,300,1.34,CRD,6.5 +VTS,1,1,540,1.94,CSH,9 +VTS,1,1,720,2.2,CSH,11 +VTS,1,1,900,4.57,CSH,16 +VTS,1,1,480,1.01,CRD,7 +VTS,1,1,960,3.19,CSH,14.5 +VTS,1,2,660,0.68,CSH,8 +VTS,1,1,1320,8.15,CSH,27 +VTS,1,1,540,2.26,CSH,9.5 +CMT,1,1,985,10.7,CRD,30.5 +CMT,1,1,371,1.6,CSH,7.5 +CMT,1,2,460,1,CRD,7 +CMT,1,1,612,2.1,CRD,10 +CMT,1,1,636,1.7,CSH,9 +CMT,1,1,175,0.7,CSH,5 +CMT,1,1,429,1.9,CRD,8.5 +CMT,1,1,91,0.4,CSH,3.5 +CMT,1,1,488,1.6,CSH,8.5 +CMT,1,1,2193,12.5,CRD,41 +CMT,1,1,437,1.8,CSH,8 +CMT,1,2,796,2,CSH,10.5 +CMT,1,1,1184,1.7,CRD,13 +CMT,1,1,856,4.3,CRD,16 +CMT,1,1,395,1.4,CSH,7.5 +CMT,1,1,784,4.1,CRD,14.5 +CMT,1,1,656,1,CRD,8.5 +CMT,1,1,401,1.5,CRD,7 +CMT,1,1,934,1.9,CSH,11.5 +CMT,1,1,814,1.7,CSH,10.5 +CMT,1,3,384,1.4,CSH,7 +CMT,1,1,725,1.4,CRD,9.5 +CMT,1,2,1085,2.8,CSH,14.5 +CMT,1,2,826,3,CRD,12 +CMT,1,2,1063,5.7,CRD,20 +CMT,1,1,290,0.9,CSH,5.5 +CMT,1,1,1534,8.8,CSH,29 +CMT,1,1,414,0.6,CSH,6 +CMT,1,1,854,1.6,CSH,10.5 +CMT,2,1,3618,0,CSH,52 +CMT,1,1,256,0.7,CRD,5 +CMT,1,1,801,5.1,CRD,17 +CMT,1,1,494,1.6,CRD,8 +CMT,1,1,726,2.8,CRD,11.5 +CMT,1,1,539,2.9,CRD,11 +CMT,1,1,308,0.8,CRD,5.5 +CMT,1,1,948,1.8,CRD,11.5 +CMT,1,1,608,0.7,CRD,7.5 +CMT,1,1,170,0.3,CSH,4 +CMT,1,1,492,1.1,CRD,7.5 +CMT,1,1,451,0.9,CRD,6.5 +CMT,1,3,526,1.1,CSH,7.5 +CMT,1,2,227,0.6,CSH,4.5 +CMT,1,2,334,1.2,CSH,6.5 +CMT,1,1,1216,10.1,CRD,29.5 +CMT,1,1,261,1.4,CSH,6.5 +CMT,1,1,403,1.1,CSH,6.5 +CMT,1,1,1057,2.3,CRD,12.5 +CMT,1,1,335,1,CSH,6 +CMT,1,1,915,3.6,CRD,13.5 +CMT,1,2,2110,24.6,CRD,65.5 +VTS,1,1,1980,10.99,CRD,36.5 +CMT,1,2,472,23.8,CSH,8 +CMT,1,2,1212,8.2,CSH,25 +CMT,1,1,360,0.7,CRD,5.5 +CMT,1,1,714,2.4,CSH,10.5 +CMT,1,1,397,1.5,CRD,7.5 +CMT,1,1,594,0.6,CRD,7.5 +CMT,1,1,563,1.6,CRD,8.5 +CMT,1,1,1200,3.3,CSH,15.5 +CMT,1,1,505,1.2,CRD,7.5 +CMT,1,1,261,0.5,CSH,5 +CMT,1,1,609,2.1,CRD,9.5 +CMT,1,1,138,0.8,CSH,4.5 +CMT,1,1,564,1.2,CSH,8 +CMT,1,1,544,1.9,CSH,9 +CMT,1,1,189,0.8,CSH,5 +CMT,1,1,197,0.6,CSH,4.5 +CMT,1,2,528,0.9,CSH,7 +CMT,1,1,512,1.4,CSH,7.5 +CMT,1,1,822,2.8,CSH,12 +CMT,1,1,276,0.6,CRD,5 +CMT,1,2,748,1.2,CSH,9 +CMT,1,1,776,2.5,CRD,11 +CMT,1,1,1315,4.2,CSH,17.5 +CMT,1,1,830,6.7,CRD,20.5 +CMT,1,1,300,0.4,CRD,5 +CMT,1,1,1335,8.7,CRD,28 +CMT,1,1,495,1.4,CRD,8 +CMT,1,1,419,1.1,CRD,7 +CMT,1,1,642,1.1,CRD,8.5 +CMT,1,1,1080,2.9,CRD,13.5 +CMT,1,1,744,2.2,CSH,10.5 +CMT,1,1,834,1.4,CRD,10 +CMT,1,1,583,1.1,CRD,8 +CMT,1,1,461,1.2,CRD,7.5 +CMT,1,2,414,0.9,CRD,6.5 +CMT,1,2,419,1.6,CSH,7.5 +CMT,1,2,661,1.1,CRD,8 +CMT,1,3,382,0.7,CRD,6 +CMT,1,3,647,1.9,CSH,10 +CMT,1,1,445,1.7,CSH,8 +CMT,1,2,692,3.3,CRD,12.5 +CMT,1,1,1153,9.9,CSH,29.5 +CMT,1,1,671,4.6,CRD,15.5 +CMT,1,2,1044,5.3,CRD,19 +CMT,1,3,407,1.1,CSH,6.5 +CMT,1,1,413,0.7,CSH,6 +CMT,1,1,38,0.2,CRD,3 +VTS,1,1,660,3.78,CRD,12.5 +VTS,1,1,1380,3.51,CRD,16.5 +VTS,1,1,1200,5.08,CSH,18.5 +VTS,1,1,780,7.04,CSH,20.5 +VTS,1,1,600,1.81,CRD,9.5 +CMT,1,1,213,0.8,CSH,5 +CMT,1,1,307,0.9,CRD,6 +CMT,1,1,204,0.7,CRD,4.5 +CMT,1,1,532,2.6,CRD,10.5 +CMT,1,1,439,3.3,CSH,11 +CMT,1,1,322,1.7,CRD,7 +CMT,1,2,1618,11.7,CRD,34 +CMT,1,1,711,2,CSH,10 +CMT,1,1,923,1.7,CSH,11 +CMT,1,2,369,1.1,CRD,6.5 +CMT,1,2,200,0.6,CSH,4.5 +CMT,1,1,5,0.3,CSH,2.5 +CMT,1,1,2042,13.1,CSH,40 +CMT,2,3,2166,13.7,CSH,52 +VTS,1,1,1560,10,CRD,31.5 +VTS,1,1,840,6.65,CSH,20.5 +VTS,1,1,120,1.17,CSH,5 +VTS,1,1,1200,12.9,CSH,35 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,120,0.52,CRD,4 +VTS,1,1,540,1.31,CSH,8 +VTS,1,1,420,1.32,CRD,7 +VTS,1,1,540,1.74,CSH,8.5 +VTS,1,1,1260,7.6,CRD,25 +VTS,1,1,1020,6.5,CRD,20 +VTS,1,1,300,1.44,CSH,6.5 +CMT,1,1,692,3.8,CRD,14 +CMT,1,1,304,1.9,CSH,7.5 +CMT,1,1,327,0.4,CSH,5 +CMT,1,2,702,2,CRD,10 +CMT,2,1,2989,0.3,CRD,52 +CMT,1,1,470,1.8,CRD,8 +VTS,1,1,540,3.17,CSH,11.5 +VTS,1,1,480,2.13,CRD,8.5 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,900,6.58,CRD,20.5 +VTS,1,1,900,5.52,CSH,17.5 +VTS,1,1,120,0.51,CSH,4 +VTS,1,1,360,2.64,CRD,9 +VTS,1,1,480,1.01,CRD,6.5 +VTS,1,1,900,7.39,CRD,22 +VTS,1,1,720,4.67,CRD,15.5 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,1080,6.09,CRD,19 +VTS,1,1,600,4.38,CRD,13.5 +VTS,1,1,480,3,CRD,11 +VTS,1,1,900,5.51,CSH,18 +VTS,1,1,1020,3.05,CRD,13.5 +VTS,1,1,240,0.68,CSH,5 +VTS,1,1,480,1.49,CSH,7.5 +VTS,1,1,60,0.59,CSH,3.5 +VTS,1,1,660,1.58,CRD,9 +CMT,1,3,505,1.7,CRD,8.5 +CMT,1,1,115,0.4,CRD,3.5 +CMT,1,1,241,1.3,CSH,6 +CMT,1,1,340,1.9,CRD,7.5 +CMT,1,1,478,1.1,CSH,7.5 +CMT,1,1,647,1.6,CSH,9 +CMT,1,1,756,2.3,CRD,11 +CMT,1,2,1092,2.1,CSH,12.5 +CMT,1,1,632,1.5,CSH,8.5 +CMT,1,2,514,1.4,CSH,7.5 +CMT,1,1,719,1.3,CSH,9.5 +CMT,2,1,1279,0,CRD,52 +CMT,1,1,127,0.5,CSH,4 +CMT,1,1,276,0.8,CRD,5.5 +CMT,1,1,734,3.4,CSH,12.5 +CMT,1,1,106,0.3,CRD,3.5 +CMT,1,1,282,1.1,CSH,6 +CMT,1,1,461,1.4,CRD,7.5 +CMT,1,1,402,1.2,CRD,6.5 +CMT,1,1,323,1.3,CSH,6.5 +CMT,1,1,486,1.8,CSH,8.5 +CMT,1,1,226,0.7,CSH,5 +CMT,1,1,1597,4.7,CRD,20.5 +CMT,1,1,632,1.2,CRD,8.5 +CMT,1,1,637,1.2,CRD,8.5 +CMT,1,1,253,0.9,CRD,5.5 +VTS,1,1,420,1.86,CSH,8 +VTS,1,1,1260,4.01,CSH,17.5 +VTS,1,1,540,1.64,CSH,8 +VTS,1,1,600,1.4,CRD,8.5 +VTS,1,1,120,0.54,CSH,4 +VTS,1,1,720,3.36,CRD,13 +VTS,1,1,120,0.81,CSH,4.5 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,1,300,1.4,CSH,6.5 +VTS,1,1,300,1.22,CRD,6 +VTS,1,1,660,4.27,CRD,13.5 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,240,1.18,CSH,6 +VTS,1,1,660,2.79,CRD,11.5 +VTS,1,1,540,2.08,CRD,9.5 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,600,1.09,CRD,8 +VTS,1,1,420,2.25,CRD,9 +VTS,1,1,420,0.72,CSH,6 +VTS,1,1,1320,5.7,CRD,21.5 +VTS,1,1,660,1.4,CRD,9 +VTS,1,1,180,0.84,CSH,5 +VTS,1,1,300,1.62,CRD,7 +VTS,1,1,300,1.37,CSH,6.5 +VTS,1,1,840,1.51,CSH,10.5 +VTS,1,1,360,1.14,CSH,6 +CMT,1,1,1246,5.4,CRD,19 +CMT,1,1,447,2.1,CSH,9 +CMT,1,1,572,3.2,CRD,11.5 +CMT,1,1,960,2.4,CSH,12.5 +CMT,1,1,323,1.1,CRD,6.5 +CMT,1,1,1666,5.5,CRD,21.5 +CMT,1,1,634,2.8,CRD,11 +CMT,1,2,481,2.7,CRD,10 +CMT,1,1,691,66.2,CRD,15 +CMT,1,1,828,2.3,CRD,11.5 +CMT,1,2,838,1,CRD,9.5 +CMT,1,3,318,1,CSH,6 +VTS,1,1,960,7.99,CRD,24 +VTS,1,1,780,4.31,CRD,15 +VTS,1,1,540,1.45,CRD,7.5 +VTS,1,1,480,2.12,CSH,9 +VTS,1,1,180,0.82,CSH,5 +VTS,1,1,600,4.3,CRD,14 +VTS,1,1,360,1.34,CSH,6.5 +VTS,1,1,540,3.25,CSH,12 +VTS,1,1,960,2.75,CSH,12.5 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,780,4.28,CSH,15 +VTS,1,1,420,2,CSH,8.5 +VTS,1,1,720,3.74,CRD,13.5 +VTS,1,1,720,3.17,CRD,12.5 +VTS,1,1,660,2,CRD,10 +VTS,1,1,900,2.54,CRD,12 +VTS,1,1,600,1.22,CRD,7.5 +VTS,1,1,600,2.2,CRD,9.5 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,1020,3.68,CSH,14.5 +VTS,1,1,300,1,CRD,6 +VTS,1,1,420,3.26,CSH,11 +VTS,1,1,120,0.6,CRD,4 +VTS,1,1,300,0.55,CSH,5 +VTS,1,1,120,0.52,CSH,4 +VTS,1,1,480,1.29,CRD,7 +VTS,1,1,360,2.32,CSH,8.5 +VTS,1,1,1020,2.46,CSH,13 +VTS,1,1,780,2.82,CRD,11.5 +VTS,1,1,2760,14.22,CSH,45 +VTS,1,1,120,0.53,CRD,4 +VTS,1,1,660,2.51,CRD,11 +VTS,1,1,120,0.77,CRD,4.5 +VTS,1,1,480,1.38,CRD,7.5 +VTS,1,1,780,1.03,CSH,9.5 +VTS,1,1,1020,9.04,CSH,26.5 +VTS,1,1,600,2.25,CSH,9.5 +VTS,1,1,780,2.99,CSH,12.5 +VTS,1,1,1140,4.96,CRD,18 +VTS,1,1,0,0.1,CRD,2.5 +VTS,1,1,420,1,CRD,7 +CMT,1,1,494,1.3,CRD,7.5 +CMT,1,2,846,2.4,CSH,11.5 +CMT,1,1,1162,3.1,CRD,14.5 +CMT,1,1,721,1.1,CRD,9 +CMT,1,1,272,0.7,CRD,5 +VTS,1,1,420,1.35,CRD,7 +VTS,1,1,1260,8.73,CRD,27 +VTS,1,1,960,9.99,CSH,29 +VTS,1,1,780,3.14,CSH,12.5 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,240,0.45,CSH,5 +VTS,1,1,420,3.95,CSH,12.5 +VTS,1,1,780,6.79,CRD,21 +VTS,2,1,1980,20.62,CRD,52 +VTS,1,1,1140,3.61,CSH,16 +VTS,1,1,780,2.98,CSH,12 +VTS,1,1,360,0.87,CSH,6 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,660,1.88,CRD,9.5 +VTS,1,1,420,1.7,CSH,7.5 +VTS,1,1,540,1.82,CSH,8.5 +VTS,1,1,300,1.11,CSH,6 +VTS,1,1,720,1.91,CRD,9.5 +VTS,1,1,180,0.49,CRD,4 +VTS,1,1,1080,4.73,CSH,17 +VTS,1,1,120,0.74,CSH,4.5 +VTS,1,1,300,0.73,CRD,5 +VTS,1,1,900,2.83,CSH,12 +VTS,1,1,720,1.95,CRD,9.5 +VTS,1,1,660,3.91,CRD,13 +VTS,1,1,480,2.03,CRD,8.5 +VTS,1,1,1020,1.74,CRD,12 +VTS,1,1,720,1.3,CRD,9.5 +VTS,1,1,480,1.6,CRD,8 +VTS,1,1,1380,6.69,CSH,22 +VTS,1,1,300,1.04,CSH,6.5 +VTS,1,1,1440,12.03,CSH,35 +VTS,1,1,1200,6.23,CSH,21.5 +VTS,1,1,480,2.01,CSH,8.5 +VTS,1,1,480,2.13,CSH,8.5 +VTS,1,1,720,2.56,CSH,11 +VTS,1,1,360,0.97,CRD,6 +VTS,1,1,600,2.87,CRD,11 +VTS,1,1,1080,3.33,CSH,14.5 +VTS,1,1,1200,2.9,CSH,14 +VTS,1,1,780,3.91,CSH,14.5 +VTS,1,1,1080,2.06,CRD,13 +VTS,1,1,900,3.4,CRD,14.5 +VTS,1,1,660,2.33,CRD,10 +VTS,1,1,900,4.75,CRD,16.5 +VTS,1,1,480,1.48,CSH,7.5 +VTS,1,1,480,1.31,CRD,7.5 +CMT,1,1,556,2.3,CRD,9.5 +CMT,1,1,450,1.6,CRD,7.5 +CMT,1,1,999,8.1,CRD,24.5 +CMT,1,1,565,3.9,CSH,13 +CMT,1,1,798,1.6,CSH,10 +CMT,1,1,367,0.8,CRD,6 +CMT,1,2,1114,4.7,CRD,17.5 +CMT,1,2,859,2.7,CRD,12 +CMT,1,1,394,1.2,CRD,6.5 +CMT,1,1,565,2.2,CRD,9.5 +CMT,1,1,142,0.2,CSH,3.5 +CMT,1,1,720,2.4,CRD,11 +CMT,1,1,1114,5.6,CRD,20 +CMT,1,1,599,3.4,CRD,13 +CMT,1,1,429,2.1,CSH,9 +CMT,1,2,668,3.3,CSH,12 +CMT,1,2,597,6.3,CRD,18.5 +CMT,1,3,623,1.6,CSH,8.5 +CMT,1,3,687,2,CSH,10 +CMT,1,1,1118,3.3,CSH,14.5 +CMT,1,2,811,4.7,CSH,16 +VTS,1,1,300,1.14,CSH,6 +VTS,1,1,660,4.07,CSH,14.5 +VTS,1,1,300,1.73,CSH,7.5 +VTS,1,1,1320,5.18,CSH,20 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,660,3.18,CSH,12 +VTS,1,1,480,2.29,CRD,9 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,3240,22.67,CSH,65 +VTS,1,1,300,1.05,CRD,5.5 +VTS,1,1,900,3.75,CSH,14 +VTS,1,1,480,2.06,CRD,8.5 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,540,0.62,CSH,7 +VTS,1,1,420,2.3,CSH,9.5 +VTS,1,1,180,0.44,CSH,4 +VTS,1,1,540,1.03,CRD,7 +VTS,5,2,60,0,CRD,70 +VTS,1,1,360,0.87,CSH,6.5 +VTS,1,1,660,3.52,CRD,12 +VTS,1,1,300,1.38,CRD,6 +VTS,1,1,300,1.39,CRD,6.5 +VTS,1,1,180,1,CSH,5 +VTS,1,1,180,1.09,CRD,5.5 +VTS,1,1,480,1.84,CRD,8.5 +VTS,1,1,480,1.11,CSH,7 +VTS,1,1,840,3.93,CSH,15 +VTS,1,1,420,1.07,CRD,7 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,1,480,1.9,CSH,9 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,240,0.9,CRD,5 +VTS,1,1,1260,9.47,CSH,29 +VTS,1,1,600,3.91,CRD,13.5 +VTS,1,1,420,1.21,CSH,7 +VTS,1,1,180,0.94,CSH,4.5 +VTS,1,1,240,1.11,CRD,5.5 +VTS,1,1,240,0.71,CRD,5 +VTS,1,1,420,1.14,CSH,6.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,660,1.39,CSH,9 +VTS,1,1,1440,5.13,CRD,20 +VTS,1,1,360,1.86,CSH,8 +VTS,1,1,420,1.38,CSH,7 +VTS,1,1,240,0.86,CRD,5 +VTS,1,1,720,5.22,CRD,17.5 +VTS,1,1,540,2.46,CRD,9.5 +VTS,1,1,600,2.87,CSH,10.5 +VTS,1,1,720,3.69,CRD,13.5 +VTS,1,1,600,1.92,CRD,9.5 +VTS,1,1,0,0.17,CSH,2.5 +VTS,1,1,780,3.15,CRD,12 +VTS,1,1,480,1.25,CSH,7 +VTS,1,1,180,0.63,CRD,4.5 +VTS,1,1,660,1.69,CRD,9 +VTS,1,1,660,2.84,CSH,12 +VTS,1,1,300,1.52,CRD,6.5 +VTS,1,1,720,3.36,CSH,12.5 +VTS,1,1,180,1.02,CSH,5 +VTS,1,1,420,1.66,CSH,7 +VTS,1,1,600,1.58,CRD,8 +VTS,1,1,720,2.57,CSH,11 +VTS,1,1,300,1.62,CRD,7 +VTS,1,1,600,4.93,CRD,15.5 +VTS,1,1,540,2.94,CRD,11 +VTS,1,1,840,1.94,CRD,10.5 +VTS,1,1,300,1.06,CSH,5.5 +VTS,1,1,480,1.88,CRD,7.5 +VTS,1,1,900,7.76,CRD,23 +VTS,1,1,900,4.64,CRD,16 +VTS,1,1,120,0.21,CSH,3 +VTS,1,1,900,4.28,CSH,13.5 +VTS,1,1,780,5.37,CRD,17.5 +VTS,1,1,600,0.8,CSH,7.5 +VTS,1,1,120,0.41,CRD,4 +VTS,1,1,300,0.65,CSH,5.5 +VTS,1,1,360,1.66,CRD,7 +VTS,1,1,360,1.33,CRD,7 +VTS,1,1,240,1.05,CRD,5.5 +VTS,1,1,540,2.94,CSH,11.5 +VTS,1,1,660,6.64,CSH,20 +VTS,1,1,540,1.77,CSH,8.5 +VTS,1,1,660,3.73,CRD,13 +VTS,1,1,600,1.68,CSH,8.5 +VTS,1,1,480,1.86,CSH,8 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,180,0.4,CRD,4 +VTS,1,1,1080,4.88,CRD,17 +VTS,1,1,480,1.13,CRD,7 +VTS,1,1,300,0.59,CSH,5 +VTS,1,1,420,1.01,CRD,6 +VTS,1,1,960,4.4,CRD,15.5 +VTS,1,1,600,2.05,CSH,9 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,1080,2.93,CSH,13.5 +VTS,1,1,540,3.03,CRD,11 +VTS,1,1,780,5.99,CSH,19 +VTS,1,1,900,4.9,CRD,17 +VTS,1,1,600,1.6,CSH,8.5 +VTS,1,1,660,3.62,CSH,12.5 +VTS,1,1,960,5.78,CSH,19.5 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,600,2.07,CSH,8.5 +VTS,1,1,300,0.63,CSH,5.5 +VTS,1,1,600,2.2,CRD,10 +VTS,1,1,300,0.9,CSH,6 +VTS,1,1,240,0.63,CRD,5 +VTS,1,1,660,2.35,CRD,10.5 +VTS,1,1,1200,5.47,CRD,19.5 +VTS,1,1,720,2.43,CSH,11.5 +VTS,1,1,180,0.5,CRD,4 +VTS,1,1,300,1.16,CRD,6 +VTS,1,1,300,1.53,CSH,6.5 +VTS,1,1,480,3.81,CRD,12 +VTS,1,1,240,0.69,CRD,5 +VTS,1,1,360,0.79,CSH,6 +VTS,1,1,540,2.66,CRD,10.5 +VTS,1,1,360,0.66,CSH,5.5 +VTS,1,1,720,3.03,CRD,11.5 +VTS,1,1,420,1.24,CRD,7 +VTS,1,1,720,1.38,CRD,9 +VTS,1,1,720,3.66,CRD,14 +VTS,1,1,1200,6.89,CRD,22.5 +VTS,1,1,1080,8.54,CRD,26 +VTS,1,1,960,2.69,CSH,12.5 +VTS,1,1,900,2.91,CRD,13 +VTS,1,1,1500,6.3,CRD,22.5 +VTS,1,1,540,2.69,CSH,10 +VTS,1,1,1200,3.8,CRD,15.5 +VTS,1,1,960,3.31,CRD,14.5 +VTS,1,1,120,0.5,CRD,4 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,600,1.89,CSH,9 +VTS,1,1,240,1.24,CRD,5.5 +VTS,1,1,60,0.52,CSH,3.5 +VTS,1,1,360,1.49,CRD,7 +VTS,1,1,240,1.98,CSH,7 +VTS,1,1,540,1.77,CSH,8.5 +VTS,1,1,420,1.58,CRD,7.5 +VTS,1,1,480,2.17,CRD,9 +VTS,1,1,960,2.35,CRD,12 +VTS,1,1,720,1.03,CRD,8.5 +VTS,1,1,660,1.79,CRD,10 +VTS,1,1,840,2.77,CSH,12 +VTS,1,1,660,1.03,CRD,8 +VTS,1,1,300,1.22,CRD,6 +VTS,1,1,240,1.09,CRD,5 +VTS,1,1,540,2.1,CRD,9 +VTS,1,1,240,1.31,CSH,6 +VTS,1,1,240,1.21,CSH,5.5 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,300,1.32,CRD,6.5 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,1080,4.88,CRD,17 +VTS,1,1,1080,5,CSH,18.5 +VTS,1,1,540,1.65,CRD,8 +VTS,1,1,480,2.22,CRD,9.5 +VTS,1,1,360,2.09,CSH,8.5 +VTS,1,1,480,1.54,CRD,7.5 +VTS,1,1,240,0.88,CSH,5 +VTS,1,1,1200,7.19,CSH,24 +VTS,1,1,360,1.92,CSH,8 +VTS,1,1,300,0.65,CSH,5 +VTS,1,1,900,2.37,CSH,12 +VTS,1,1,600,3.61,CSH,12.5 +VTS,1,1,540,1.18,CRD,8 +VTS,1,1,240,1.16,CRD,5.5 +VTS,1,1,180,0.49,CRD,4.5 +VTS,1,1,960,9.38,CRD,26 +VTS,1,1,660,2.94,CRD,12 +VTS,1,1,300,1.07,CRD,6 +VTS,1,1,840,5.06,CRD,17.5 +VTS,1,1,180,0.87,CRD,5 +VTS,1,1,1080,11.61,CSH,32 +VTS,1,1,900,3.77,CSH,14.5 +VTS,1,1,780,2.29,CRD,10.5 +VTS,1,1,360,0.95,CRD,6 +VTS,1,1,1080,4.31,CRD,16 +VTS,1,1,2340,11.08,CRD,37.5 +VTS,1,1,1080,5.13,CSH,18.5 +VTS,1,1,600,1.95,CRD,9 +VTS,1,1,1380,4.4,CRD,19 +VTS,1,1,900,2.22,CSH,11.5 +VTS,1,1,600,2.31,CSH,10 +VTS,1,1,540,3.49,CSH,12 +VTS,1,1,1260,6.12,CRD,20.5 +VTS,1,1,720,2.49,CRD,11 +VTS,1,1,900,2.11,CSH,11.5 +VTS,1,1,840,2.84,CRD,12.5 +VTS,1,1,660,2.12,CRD,9.5 +VTS,1,1,480,1.56,CRD,7.5 +VTS,1,1,360,1.1,CRD,6.5 +VTS,1,1,1620,12.5,CSH,37 +VTS,1,1,180,0.6,CSH,4 +VTS,1,1,720,2.67,CRD,11 +VTS,1,1,300,0.49,CSH,5 +VTS,1,1,840,2.05,CSH,10.5 +VTS,1,1,300,1.31,CRD,6 +VTS,1,1,480,1.97,CRD,8.5 +VTS,1,1,960,3.8,CRD,14.5 +VTS,1,1,900,2.39,CRD,12 +VTS,1,1,60,0.63,CRD,4 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,360,0.69,CRD,5.5 +VTS,1,1,1140,2.96,CSH,15 +VTS,1,1,900,2.34,CRD,11.5 +VTS,1,1,660,2.76,CSH,10.5 +VTS,1,1,660,2.05,CRD,10 +VTS,1,1,660,3.35,CSH,12.5 +VTS,1,1,420,1.85,CSH,8 +VTS,1,1,60,0.27,CSH,3 +VTS,1,1,240,0.95,CRD,5.5 +VTS,1,1,1260,4.21,CSH,17.5 +VTS,1,1,600,2.32,CRD,10.5 +VTS,1,1,180,0.32,CRD,4 +VTS,1,1,300,1.6,CRD,7 +VTS,1,1,780,3.55,CSH,13.5 +VTS,1,1,240,0.87,CSH,5 +VTS,1,1,1260,12.21,CRD,34 +VTS,1,1,1260,3.23,CRD,15.5 +VTS,1,1,1140,5.23,CSH,18.5 +VTS,1,1,600,2.36,CSH,10 +VTS,1,1,420,2.47,CSH,9.5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,1200,5.53,CRD,19.5 +VTS,1,1,480,0.88,CRD,7 +VTS,1,1,420,1.92,CRD,8 +VTS,1,1,780,6.65,CSH,19.5 +VTS,1,1,120,0.68,CSH,4 +VTS,1,1,300,1.35,CRD,6 +VTS,1,1,780,3.2,CSH,12.5 +VTS,1,1,180,1.1,CSH,5 +VTS,1,6,1140,10.71,CSH,30.5 +VTS,1,5,600,2.1,CRD,9.5 +VTS,1,5,420,1.59,CSH,7.5 +VTS,1,5,480,1.53,CRD,8 +VTS,1,5,1200,4.27,CSH,17 +VTS,1,3,540,1.53,CRD,8.5 +VTS,1,5,1200,1.63,CRD,13 +VTS,1,1,480,1.5,CRD,8 +VTS,1,1,720,2.29,CRD,10.5 +VTS,1,1,1140,4.7,CRD,18 +VTS,1,1,1020,3.9,CRD,16 +VTS,1,1,720,2.22,CRD,11 +VTS,1,1,360,1.82,CSH,8 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,600,1.69,CRD,8.5 +VTS,1,1,1320,5.43,CSH,19.5 +VTS,1,1,780,2.15,CSH,11.5 +VTS,1,1,360,0.79,CSH,6 +VTS,1,1,300,1.23,CSH,6 +VTS,1,1,420,1.42,CRD,7.5 +VTS,1,1,1020,3.95,CRD,15 +VTS,1,1,300,0.66,CSH,5 +VTS,1,1,660,3.22,CRD,11.5 +VTS,1,1,1560,7.8,CRD,25.5 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,1,1140,9.87,CRD,28.5 +VTS,1,1,300,0.58,CSH,4.5 +VTS,1,1,420,0.86,CRD,6 +VTS,1,1,480,1.88,CSH,9 +VTS,1,1,600,3.16,CRD,11 +VTS,1,1,660,2.26,CRD,9.5 +VTS,1,1,780,2.38,CSH,11 +VTS,1,1,840,3.43,CRD,13 +VTS,1,1,720,2.61,CSH,11 +VTS,1,1,1020,3.95,CRD,17 +VTS,1,1,360,0.7,CRD,5.5 +VTS,1,1,240,0.65,CRD,5 +VTS,1,1,180,1.34,CRD,5.5 +VTS,1,1,60,0.39,CSH,3.5 +VTS,1,1,600,2.04,CSH,9.5 +VTS,1,1,180,0.75,CRD,5 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,960,1.65,CRD,11.5 +VTS,1,1,600,2.57,CSH,10 +VTS,1,1,660,4.29,CSH,14.5 +VTS,1,1,240,0.6,CRD,5 +VTS,1,1,300,1.94,CSH,8 +VTS,1,1,120,0.94,CSH,4.5 +VTS,1,1,300,1.56,CRD,7 +VTS,1,1,720,4.5,CRD,15 +VTS,1,1,1440,7.05,CRD,23.5 +VTS,1,1,900,3.42,CRD,13.5 +VTS,1,1,720,1.57,CRD,9 +VTS,1,1,840,3.18,CRD,13 +VTS,1,1,720,1.97,CRD,10 +VTS,1,1,420,1.26,CRD,6.5 +VTS,1,1,1080,4.15,CRD,16.5 +VTS,1,1,240,0.95,CSH,5.5 +VTS,1,1,720,3.98,CSH,14 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,720,2.47,CSH,10.5 +VTS,1,1,420,2.9,CRD,10 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,960,4.75,CRD,17 +VTS,1,1,1380,2.42,CRD,14.5 +VTS,1,1,1200,4.58,CSH,16.5 +VTS,1,1,480,0.88,CRD,7 +VTS,1,1,360,1.5,CRD,7 +VTS,1,1,600,1.76,CRD,9 +VTS,1,1,480,1.24,CSH,8 +VTS,1,1,600,1.8,CSH,9 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,360,1.09,CSH,6.5 +VTS,1,1,420,1.86,CSH,8 +VTS,1,1,660,3.02,CRD,11 +VTS,1,1,480,1.98,CSH,8.5 +VTS,1,1,600,1.53,CRD,8 +VTS,1,1,1080,2.12,CRD,13 +VTS,1,1,960,3.39,CSH,13.5 +VTS,1,1,1140,4.38,CRD,17 +VTS,1,1,360,1.07,CRD,6 +VTS,1,6,120,0.43,CRD,4 +VTS,1,5,540,3.5,CRD,11.5 +VTS,1,1,720,2.98,CRD,11.5 +VTS,1,1,660,3.38,CSH,12.5 +VTS,1,1,240,1.1,CRD,5.5 +VTS,1,1,420,1.18,CRD,7 +VTS,1,1,1380,6.35,CSH,23.5 +VTS,1,1,840,3.95,CRD,14 +VTS,1,1,1980,6.38,CRD,25.5 +VTS,1,1,120,0.47,CRD,3.5 +VTS,1,1,660,2.69,CSH,10.5 +VTS,1,1,480,2.81,CRD,11 +VTS,1,1,600,1.75,CRD,8.5 +VTS,1,1,720,2.36,CSH,10.5 +VTS,1,1,240,0.96,CSH,5 +VTS,1,1,420,1.06,CRD,6.5 +VTS,1,1,1260,6.33,CRD,21.5 +VTS,1,1,1140,4.57,CRD,17.5 +VTS,1,1,660,2.29,CSH,10.5 +VTS,1,1,240,0.66,CRD,5 +VTS,1,1,900,5.14,CSH,16.5 +VTS,1,4,360,1.2,CRD,6.5 +VTS,1,5,360,1.1,CSH,6.5 +VTS,1,5,480,1.31,CSH,7.5 +VTS,1,4,780,2.61,CSH,11 +VTS,1,5,240,0.58,CRD,4.5 +VTS,1,6,420,0.94,CSH,6.5 +VTS,1,6,480,2.12,CSH,9.5 +VTS,1,1,420,3.96,CRD,12.5 +VTS,1,1,360,1.87,CRD,7.5 +VTS,1,1,300,1.49,CSH,7 +VTS,1,1,900,2.1,CRD,11 +VTS,1,1,540,2.48,CRD,10 +VTS,1,1,1140,3.59,CRD,16 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,1,420,1.17,CSH,6.5 +VTS,1,1,600,1.27,CRD,8 +VTS,1,1,600,2.21,CRD,9.5 +VTS,1,1,1440,9.76,CSH,29.5 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,480,1.97,CRD,8.5 +VTS,1,1,60,0.43,CRD,3.5 +VTS,1,1,840,8.07,CSH,23 +VTS,1,1,1500,8.55,CSH,27 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,1080,3.83,CSH,15.5 +VTS,1,1,960,3.67,CSH,15 +VTS,1,1,840,3.01,CRD,13 +VTS,1,1,300,0.87,CSH,5 +VTS,1,1,360,2.54,CRD,8.5 +VTS,1,1,360,2.14,CRD,8 +VTS,1,1,480,1.99,CRD,9 +VTS,1,4,240,1.2,CSH,5.5 +VTS,1,6,720,3.28,CRD,12 +VTS,1,1,1020,5.4,CRD,19 +VTS,1,1,180,0.49,CSH,4.5 +VTS,1,1,2340,12.41,CRD,40 +VTS,1,1,120,0.56,CSH,4 +VTS,1,1,420,1.8,CSH,8 +VTS,1,6,300,0.9,CSH,5.5 +VTS,1,5,300,1.05,CSH,6 +VTS,1,5,1080,5.36,CSH,18 +VTS,1,5,660,3.52,CRD,12.5 +VTS,1,5,1200,3.14,CRD,15 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,5,180,0.5,CSH,4 +VTS,1,5,240,0.74,CSH,5 +VTS,1,5,420,1.45,CSH,7.5 +VTS,1,5,600,1.92,CSH,9.5 +VTS,1,5,960,8.65,CSH,25.5 +VTS,1,5,360,1.82,CSH,7.5 +VTS,1,5,240,0.53,CSH,4.5 +VTS,1,6,240,0.95,CRD,5.5 +VTS,1,5,120,0.46,CRD,3.5 +VTS,1,4,360,0.87,CSH,6 +VTS,1,5,420,1.94,CSH,8.5 +VTS,1,6,420,1.22,CRD,6.5 +VTS,1,6,480,1.43,CRD,7.5 +VTS,1,5,1920,9.89,CRD,31 +VTS,1,6,360,1.42,CSH,7 +VTS,1,5,420,1.13,CRD,6.5 +VTS,1,6,360,0.76,CSH,5.5 +VTS,1,6,900,5.11,CRD,17.5 +VTS,1,6,780,2.13,CSH,11 +VTS,1,4,420,1.44,CRD,7.5 +VTS,1,5,180,0.71,CRD,4.5 +VTS,1,6,480,0.98,CRD,6.5 +VTS,1,5,300,0.59,CSH,5 +VTS,1,5,540,3,CRD,10.5 +VTS,1,5,780,4.26,CRD,14.5 +VTS,1,6,600,1.72,CRD,9.5 +VTS,1,5,1020,7.41,CRD,22.5 +VTS,1,6,300,0.8,CSH,5 +VTS,1,5,720,1.84,CSH,10 +VTS,1,5,600,2.08,CSH,9.5 +VTS,1,6,300,0.99,CSH,5.5 +VTS,1,5,660,1.04,CRD,8.5 +VTS,1,5,780,2.43,CSH,11.5 +VTS,1,3,1080,1.53,CSH,11.5 +VTS,1,6,1380,5.6,CRD,22 +VTS,1,1,1020,1.68,CRD,11.5 +VTS,1,5,1200,2.71,CSH,14.5 +VTS,1,6,720,2.35,CRD,10.5 +VTS,1,6,780,3.07,CRD,12 +VTS,1,6,360,1.89,CRD,7.5 +VTS,1,6,420,1.18,CSH,7 +VTS,1,1,720,3.13,CRD,12 +VTS,1,1,720,4.49,CRD,14.5 +VTS,1,1,1080,10.09,CRD,29 +VTS,1,1,1500,5.74,CSH,22 +VTS,1,1,180,0.53,CSH,4 +VTS,1,1,540,1.62,CRD,7.5 +VTS,1,1,540,1.54,CRD,8 +VTS,1,1,180,0.72,CSH,5 +VTS,1,1,660,4.11,CSH,13 +VTS,1,1,660,2.29,CSH,10 +VTS,1,1,300,0.54,CSH,5 +VTS,1,1,780,5.85,CRD,18 +VTS,1,1,540,2.16,CRD,9 +VTS,1,1,600,1.9,CRD,9 +VTS,1,6,360,0.63,CSH,6 +VTS,1,5,660,2.39,CSH,10.5 +VTS,1,5,600,1.7,CSH,9 +VTS,1,5,780,2.61,CSH,11.5 +VTS,1,5,360,1.01,CSH,6 +VTS,1,5,240,0.9,CRD,5 +VTS,1,4,720,2.51,CRD,11 +VTS,1,1,540,1.17,CRD,7.5 +VTS,1,5,840,2.73,CSH,12 +VTS,1,5,960,3.4,CSH,13.5 +VTS,1,5,120,0.39,CRD,3.5 +VTS,1,5,420,1.19,CRD,7 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,600,1.52,CRD,8.5 +VTS,1,1,180,0.49,CRD,4 +VTS,1,1,900,1.41,CRD,10.5 +VTS,1,1,240,1.07,CSH,5.5 +VTS,1,1,840,2.57,CRD,11 +VTS,1,1,480,1.46,CSH,7 +VTS,1,1,1320,5.33,CRD,20.5 +VTS,1,1,2580,20.9,CSH,60 +VTS,1,1,1140,4.3,CRD,17 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,960,2.62,CSH,12.5 +VTS,1,1,540,1.28,CSH,7.5 +VTS,1,1,300,1.21,CRD,6 +VTS,1,1,180,0.84,CSH,4.5 +VTS,1,1,480,2.53,CSH,9.5 +VTS,1,1,660,2.94,CSH,12 +VTS,1,1,480,1.71,CRD,8.5 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,420,1.01,CSH,7 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,1,1380,6.39,CSH,22 +VTS,1,1,420,0.95,CSH,7 +VTS,1,1,660,2.8,CSH,11.5 +VTS,1,1,180,0.48,CSH,4 +VTS,1,1,540,1.96,CSH,8.5 +VTS,1,5,900,2.44,CRD,12 +VTS,1,6,240,0.75,CSH,5 +VTS,1,5,540,2.22,CSH,9 +VTS,1,5,240,0.61,CSH,5 +VTS,1,6,240,0.83,CSH,5.5 +VTS,1,6,660,0.96,CRD,8 +VTS,1,5,1260,9.02,CRD,28 +VTS,1,6,720,2.5,CSH,11 +VTS,1,6,840,3.67,CRD,14 +VTS,1,6,420,1.83,CRD,8 +VTS,1,6,600,1.54,CSH,8.5 +VTS,1,6,960,2.98,CSH,12.5 +VTS,1,6,360,1.78,CRD,7 +VTS,1,4,420,0.93,CSH,6 +VTS,1,6,780,2.94,CSH,12.5 +VTS,1,6,660,1.39,CRD,9 +VTS,1,5,720,2.83,CRD,11.5 +VTS,1,6,840,2.44,CSH,11.5 +VTS,1,6,420,1.56,CRD,7.5 +VTS,1,6,360,1.42,CRD,7 +VTS,1,5,900,2.4,CSH,12 +VTS,1,5,240,0.74,CSH,5 +VTS,1,5,780,1.93,CRD,10 +VTS,1,6,660,1.63,CSH,9 +VTS,1,4,840,6.63,CRD,20 +VTS,1,5,1680,5.64,CRD,22.5 +VTS,1,1,420,2.42,CSH,9.5 +VTS,1,2,480,2.27,CSH,9.5 +VTS,1,5,360,2,CRD,8 +VTS,1,5,600,2.07,CRD,9.5 +VTS,1,5,1500,3.15,CRD,17.5 +VTS,1,4,120,0.36,CSH,3.5 +VTS,1,4,840,5.23,CSH,18 +VTS,1,6,420,1.38,CSH,7.5 +VTS,1,5,660,1.64,CRD,9.5 +VTS,1,5,240,0.59,CRD,5 +VTS,1,4,480,2,CSH,8.5 +VTS,1,4,420,0.91,CSH,6.5 +VTS,1,5,300,1.7,CRD,7 +VTS,1,6,720,2.74,CSH,11.5 +VTS,1,6,600,1.37,CRD,8 +VTS,1,6,1980,5.47,CRD,23.5 +VTS,1,5,240,0.94,CRD,5.5 +VTS,1,5,480,1.65,CRD,8 +VTS,1,1,420,0.81,CSH,6 +VTS,1,6,660,1.09,CRD,8.5 +VTS,1,6,420,1.82,CSH,8 +VTS,1,4,1800,10.83,CRD,31.5 +VTS,1,6,360,0.83,CRD,6 +VTS,1,6,420,1.34,CRD,7 +VTS,1,6,300,0.56,CSH,4.5 +VTS,1,6,360,0.84,CSH,6 +VTS,1,6,300,0.43,CSH,5 +VTS,1,5,240,0.47,CSH,4.5 +VTS,1,6,1500,10.37,CRD,30 +VTS,1,6,360,0.87,CSH,6 +VTS,1,6,300,1,CSH,5.5 +VTS,1,6,300,0.58,CRD,5 +VTS,1,6,240,0.72,CSH,5 +VTS,1,3,1320,6.66,CRD,22.5 +VTS,1,4,1440,10.77,CRD,31.5 +VTS,1,5,660,2.32,CSH,10.5 +VTS,1,6,480,1.3,CSH,7.5 +VTS,1,5,360,0.8,CSH,6 +VTS,1,5,1140,3.41,CRD,15 +VTS,1,5,840,2.25,CSH,11 +VTS,1,6,420,2,CRD,8 +VTS,1,6,1020,4.51,CRD,16 +VTS,1,5,600,1.19,CSH,7.5 +VTS,1,5,540,2.06,CRD,9 +VTS,1,6,1500,9.54,CRD,28.5 +VTS,1,5,660,1.54,CSH,8.5 +VTS,1,6,540,0.93,CRD,7 +VTS,1,6,360,0.71,CSH,5.5 +VTS,1,6,660,1.58,CRD,9 +VTS,1,4,540,1.45,CRD,8 +VTS,1,6,540,1.61,CRD,8 +VTS,1,6,420,1.36,CSH,7 +VTS,1,5,420,2.18,CSH,8.5 +VTS,1,5,420,1.14,CRD,7.5 +VTS,1,5,720,1.98,CSH,10 +VTS,1,1,540,2.55,CRD,9.5 +VTS,1,6,300,0.79,CSH,5.5 +VTS,1,5,1080,6.37,CSH,21 +VTS,1,5,360,1.4,CRD,7 +VTS,1,5,120,0.44,CSH,4 +VTS,1,6,540,1.75,CRD,8.5 +VTS,1,6,600,1.82,CSH,9 +VTS,1,4,2100,10.06,CRD,35 +VTS,1,5,1800,11.05,CRD,33 +VTS,1,1,720,1.87,CRD,10 +VTS,1,6,720,2.19,CSH,10 +VTS,1,6,120,0.58,CSH,4 +VTS,1,2,720,2.24,CRD,10.5 +VTS,1,5,180,0.57,CSH,4.5 +VTS,1,6,300,0.72,CSH,5 +VTS,2,6,2100,19.09,CRD,52 +VTS,1,4,480,1.33,CRD,7 +VTS,1,5,360,1.56,CSH,7.5 +VTS,1,6,840,2.3,CRD,11 +VTS,1,6,660,2.01,CRD,9.5 +VTS,1,6,240,0.79,CSH,5 +VTS,1,4,240,0.68,CRD,4.5 +VTS,1,6,540,1.44,CSH,8 +VTS,1,5,480,1.36,CRD,7.5 +VTS,1,5,660,1.35,CRD,8.5 +VTS,1,6,540,2.04,CRD,9 +VTS,1,6,240,0.62,CSH,4.5 +VTS,1,6,540,1.39,CSH,8 +VTS,1,5,720,0.82,CSH,9 +VTS,1,6,1920,6.16,CRD,26 +VTS,1,6,600,1.98,CRD,9 +VTS,1,6,300,0.63,CSH,5 +VTS,1,1,420,0.96,CSH,6.5 +VTS,1,5,840,5.79,CRD,18 +VTS,1,6,120,0.56,CSH,4 +VTS,1,6,420,1.48,CSH,7 +VTS,1,6,720,1.02,CSH,8.5 +VTS,1,6,420,1.12,CRD,6.5 +VTS,1,6,1080,3.11,CSH,14.5 +VTS,1,6,420,1.9,CRD,8 +VTS,1,5,360,0.81,CSH,6 +VTS,1,6,360,1.25,CRD,7 +VTS,1,6,480,1.39,CSH,8 +VTS,1,5,540,1.59,CSH,8.5 +VTS,1,6,720,1.44,CRD,9 +VTS,1,6,900,1.88,CRD,11 +VTS,1,5,1140,3.92,CSH,15.5 +VTS,1,6,960,3.82,CSH,14.5 +VTS,1,6,240,0.81,CRD,5 +VTS,1,6,180,0.48,CSH,4 +VTS,1,5,1020,2.42,CRD,13 +VTS,1,5,300,0.59,CSH,5 +VTS,1,5,360,1.34,CRD,6.5 +VTS,1,6,480,1.57,CSH,7.5 +VTS,1,6,660,3.55,CSH,13 +VTS,1,6,1080,3.21,CRD,14.5 +VTS,1,6,540,1.08,CRD,7 +VTS,1,6,960,3.93,CRD,14.5 +VTS,1,6,120,0.37,CSH,3.5 +VTS,1,6,840,3.33,CSH,13.5 +VTS,1,5,540,1.86,CRD,8.5 +VTS,1,6,780,1.64,CSH,10.5 +VTS,1,5,240,1.12,CRD,5.5 +VTS,1,6,1200,4.28,CSH,16 +VTS,1,1,300,1.03,CSH,6 +VTS,1,6,360,1.41,CSH,7 +VTS,1,5,420,0.95,CRD,6.5 +VTS,1,6,780,2.18,CSH,11 +VTS,1,5,840,1.37,CSH,10 +VTS,1,6,660,1.44,CRD,9 +VTS,1,6,420,1.17,CSH,6.5 +VTS,1,6,300,0.85,CRD,5.5 +VTS,1,5,180,0.48,CSH,4 +VTS,1,6,1500,2.11,CRD,15.5 +VTS,1,6,660,2.07,CRD,9.5 +VTS,1,1,960,2.89,CSH,12.5 +VTS,1,1,480,1.95,CRD,8.5 +VTS,1,6,120,0.65,CSH,4 +VTS,2,6,1860,19.18,CSH,52 +VTS,1,5,540,1.76,CSH,8 +VTS,1,1,300,1.13,CRD,6 +VTS,1,5,180,0.49,CRD,4 +VTS,1,4,360,1.43,CSH,7 +VTS,1,1,180,1.04,CSH,5 +VTS,1,5,660,1.94,CRD,9 +VTS,1,5,480,1.74,CRD,8 +VTS,1,6,420,1.04,CRD,7 +VTS,1,6,360,1.01,CSH,6.5 +VTS,1,6,960,3.27,CSH,13.5 +VTS,1,6,2760,10.73,CRD,41.5 +VTS,1,6,240,0.55,CRD,5 +VTS,1,5,660,2.16,CRD,10 +VTS,1,6,540,1.5,CRD,8 +VTS,1,6,240,0.81,CSH,5.5 +VTS,1,6,180,0.61,CSH,4.5 +VTS,1,3,600,1.21,CRD,8 +VTS,1,5,540,0.99,CSH,7.5 +VTS,1,6,360,0.9,CSH,5.5 +VTS,1,6,420,0.83,CRD,6.5 +VTS,1,4,540,1.18,CSH,7.5 +VTS,1,6,720,4.53,CRD,15.5 +VTS,1,1,480,1.74,CSH,8.5 +VTS,1,6,600,2.66,CRD,10.5 +VTS,1,5,1140,1.83,CSH,13 +VTS,1,5,960,2.36,CSH,12 +VTS,1,6,1140,2.5,CSH,14 +VTS,1,6,300,0.86,CSH,5 +VTS,1,5,360,0.93,CRD,6 +VTS,1,6,720,2.76,CRD,11 +VTS,1,5,840,2.74,CRD,12 +VTS,1,6,1680,10.47,CSH,31 +VTS,1,6,180,0.65,CSH,4.5 +VTS,1,6,900,2.65,CSH,13 +VTS,1,6,420,0.81,CRD,6 +VTS,1,6,540,1.41,CSH,7.5 +VTS,1,1,120,0.31,CSH,3.5 +VTS,1,6,720,2.38,CRD,10.5 +VTS,1,6,540,1.53,CRD,7.5 +VTS,1,6,240,0.82,CSH,5 +VTS,1,6,720,1.74,CRD,9.5 +VTS,1,6,180,0.5,CRD,4 +VTS,1,6,720,1.42,CRD,9.5 +VTS,1,5,360,0.66,CRD,5.5 +VTS,1,5,720,1.08,CSH,9 +VTS,1,4,1140,2.31,CRD,13.5 +VTS,1,6,180,1.08,CRD,5.5 +VTS,1,6,1260,2.51,CSH,14.5 +VTS,1,6,420,0.81,CSH,6.5 +VTS,1,5,840,1.48,CRD,10 +VTS,1,5,420,1.3,CRD,7 +VTS,1,4,420,1.27,CSH,7 +VTS,1,6,660,1.53,CSH,8.5 +VTS,1,6,660,1.86,CRD,9.5 +VTS,1,6,1140,5.36,CSH,19 +VTS,1,5,2520,9.65,CRD,37 +VTS,1,6,480,1.42,CSH,7.5 +VTS,1,6,540,0.56,CRD,6.5 +VTS,1,6,660,2.58,CSH,10.5 +VTS,1,6,300,0.56,CSH,5 +VTS,2,6,1740,19.99,CSH,52 +VTS,1,5,360,1.62,CSH,7.5 +VTS,1,6,60,0,CSH,2.5 +VTS,1,6,1080,8.05,CRD,24 +VTS,1,5,1140,1.38,CRD,12.5 +VTS,1,6,720,2.18,CRD,10.5 +VTS,1,6,420,0.94,CRD,6.5 +VTS,1,6,1200,3.55,CRD,16 +VTS,1,6,780,1.33,CSH,9.5 +VTS,1,5,600,1.01,CRD,8 +VTS,1,6,420,1.4,CRD,7.5 +VTS,1,5,720,1.14,CRD,9 +VTS,1,6,540,1.75,CSH,8.5 +VTS,1,2,1680,5.69,CRD,23.5 +VTS,2,6,3120,20.14,CSH,52 +VTS,1,6,720,1.73,CRD,10 +VTS,1,6,660,1.18,CSH,8.5 +VTS,1,5,1980,6.11,CRD,26 +VTS,1,5,600,1.08,CSH,8 +VTS,1,6,1440,9.59,CRD,29.5 +VTS,1,5,420,1.08,CRD,6.5 +VTS,1,6,360,0.83,CSH,6 +VTS,1,5,180,0.87,CRD,4.5 +VTS,1,5,1200,4.9,CSH,17.5 +VTS,1,5,840,1.57,CSH,10.5 +VTS,1,6,180,1.27,CRD,5.5 +VTS,1,2,360,1.02,CSH,6.5 +VTS,1,6,1440,4.04,CSH,18.5 +VTS,1,6,840,3.26,CSH,13 +VTS,1,5,240,1.06,CSH,5.5 +VTS,1,6,360,1.75,CSH,8 +VTS,1,6,300,0.92,CSH,6 +VTS,1,6,480,1.33,CRD,7.5 +VTS,1,6,1080,3.6,CRD,15 +VTS,1,6,180,0.72,CSH,4 +VTS,1,5,1380,3.04,CRD,16 +VTS,1,5,300,1.62,CSH,7 +VTS,1,6,180,0.49,CRD,4 +VTS,1,5,1920,10.57,CRD,33.5 +VTS,1,6,960,2.07,CRD,11.5 +VTS,1,6,660,2.5,CRD,11 +VTS,1,4,240,0.69,CSH,5 +VTS,1,6,840,0.72,CSH,9.5 +VTS,1,6,420,1.69,CSH,8 +VTS,1,5,180,0.8,CSH,5 +VTS,1,5,360,1.01,CSH,6 +VTS,1,5,420,1.5,CSH,7 +VTS,1,6,420,1.32,CRD,7 +VTS,1,6,840,2.46,CSH,11.5 +VTS,1,6,240,0.65,CRD,4.5 +VTS,1,6,180,0.65,CRD,4 +VTS,1,5,240,0.96,CSH,5 +VTS,1,5,360,1.36,CRD,6.5 +VTS,1,6,360,1.05,CSH,6.5 +VTS,1,6,1140,9.23,CRD,28 +VTS,1,6,240,0.63,CSH,5 +VTS,1,6,600,1.58,CRD,8 +VTS,1,6,480,1.63,CRD,8 +VTS,1,6,660,2.31,CRD,10.5 +VTS,1,6,900,2.31,CSH,11.5 +VTS,1,5,600,1.24,CRD,8 +VTS,1,6,240,1,CRD,5 +VTS,1,5,240,0.82,CSH,5 +VTS,1,6,420,0.93,CRD,6.5 +VTS,1,6,660,2.56,CSH,11 +VTS,1,5,900,7.97,CRD,24 +VTS,1,6,360,1.22,CRD,6.5 +VTS,1,6,900,2.36,CRD,11.5 +VTS,1,4,480,1.37,CRD,7.5 +VTS,1,5,720,1.64,CRD,10 +VTS,1,6,720,1.7,CSH,9.5 +VTS,1,6,540,1.3,CRD,7.5 +VTS,1,1,240,1.52,CSH,6.5 +VTS,1,6,600,1.63,CRD,8.5 +VTS,1,5,720,1.56,CRD,9 +VTS,1,5,300,0.82,CSH,6 +VTS,1,6,360,0.94,CSH,6.5 +VTS,1,5,240,0.99,CSH,5 +VTS,1,6,1080,2.35,CSH,12.5 +VTS,1,5,780,1.93,CRD,10.5 +VTS,1,5,300,0.91,CRD,6 +VTS,1,6,300,0.81,CSH,5.5 +VTS,1,6,120,0.65,CSH,4 +VTS,1,5,420,0.78,CRD,6 +VTS,1,5,720,2.44,CRD,11 +VTS,1,6,660,1.49,CSH,9 +VTS,1,6,360,1.02,CRD,6 +VTS,1,6,240,1.28,CSH,6 +VTS,1,6,420,1.17,CRD,7 +VTS,1,5,360,1.28,CSH,6.5 +VTS,1,6,120,0.41,CSH,3.5 +VTS,1,5,480,0.78,CRD,6.5 +VTS,1,6,420,1.73,CRD,8 +VTS,1,5,360,1.03,CSH,6 +VTS,1,6,780,2.25,CRD,10.5 +VTS,1,6,1440,8.96,CRD,28.5 +VTS,1,5,840,2.22,CRD,11.5 +VTS,1,5,840,2.54,CRD,12 +VTS,1,6,600,1.89,CSH,8.5 +VTS,1,6,300,0.64,CSH,5 +VTS,1,5,1200,2.78,CRD,14.5 +VTS,1,6,420,1.27,CRD,7 +VTS,1,5,300,0.89,CSH,5.5 +VTS,1,5,840,1.76,CRD,10.5 +VTS,1,6,1020,6,CRD,20 +VTS,1,6,1440,7.2,CRD,24.5 +VTS,1,6,300,1.29,CSH,6.5 +VTS,1,6,480,0.5,CSH,6.5 +VTS,1,5,780,2.38,CRD,11 +VTS,1,6,240,0.82,CRD,5 +VTS,1,4,240,0.63,CRD,4.5 +VTS,1,5,900,2.4,CRD,11.5 +VTS,1,6,360,1.36,CRD,7 +VTS,1,3,1320,3.05,CRD,15.5 +VTS,1,5,360,1.32,CRD,6.5 +CMT,1,1,866,4.1,CSH,15.5 +CMT,1,1,939,3.7,CSH,15 +CMT,1,1,828,2,CSH,11 +VTS,1,6,720,1.45,CSH,9.5 +VTS,1,6,540,1.04,CRD,7.5 +VTS,1,2,660,1.56,CSH,9 +VTS,1,6,180,0.49,CSH,4 +VTS,1,6,600,1.55,CSH,8.5 +VTS,1,6,1140,2.79,CSH,14 +VTS,1,6,600,1.76,CRD,9 +VTS,1,6,1260,3.8,CRD,17 +VTS,1,6,480,1.32,CRD,7.5 +VTS,1,5,600,1.48,CRD,8.5 +VTS,1,5,900,1.89,CRD,11 +VTS,1,6,900,2.19,CRD,11 +VTS,1,5,660,0.93,CRD,7.5 +VTS,1,6,480,1.81,CRD,8 +VTS,1,6,900,3.5,CSH,14 +VTS,1,6,960,2.45,CSH,12.5 +VTS,1,6,720,2.33,CSH,10.5 +VTS,1,6,1140,3.26,CSH,14.5 +VTS,1,5,420,1.18,CRD,6.5 +CMT,1,1,160,0.5,CSH,4 +CMT,1,1,436,1.8,CSH,8.5 +CMT,1,2,676,3.4,CRD,12.5 +CMT,1,2,178,0.5,CSH,4.5 +CMT,1,2,507,3.9,CSH,13 +CMT,1,1,311,1.3,CSH,6 +CMT,1,1,415,0.9,CRD,6 +VTS,1,1,1200,5,CSH,18 +VTS,1,1,180,1.02,CSH,5 +VTS,1,1,240,0.54,CSH,5 +VTS,1,5,360,1.01,CSH,6.5 +VTS,1,6,300,0.6,CRD,5 +VTS,1,5,660,1.1,CRD,8.5 +VTS,1,5,600,1.73,CSH,9 +VTS,1,5,720,2.28,CRD,11.5 +VTS,1,6,600,0.86,CSH,7.5 +VTS,1,6,780,3.47,CSH,14 +VTS,1,6,300,1.25,CSH,6 +VTS,1,5,1140,2.91,CRD,14 +VTS,1,6,60,0.52,CSH,3.5 +VTS,1,5,1020,3.68,CRD,15.5 +VTS,1,6,360,1.15,CRD,6 +VTS,1,5,660,1.9,CRD,9.5 +VTS,1,5,660,2,CRD,9.5 +VTS,1,6,660,2.33,CRD,10 +VTS,1,6,300,1,CRD,6 +VTS,1,6,420,0.79,CSH,6.5 +VTS,1,6,600,1.22,CSH,8.5 +VTS,1,5,1020,2.94,CRD,13 +VTS,1,6,1260,3.49,CRD,16 +VTS,1,6,240,0.52,CSH,5 +VTS,1,5,300,0.68,CRD,5.5 +VTS,1,5,1680,6.47,CRD,24 +VTS,1,6,1020,2.63,CSH,12.5 +VTS,1,5,300,0.74,CRD,5.5 +VTS,1,6,1140,4.52,CRD,16.5 +VTS,1,5,1260,0.98,CRD,13.5 +VTS,1,6,240,0.37,CSH,4.5 +VTS,1,4,300,0.76,CSH,5 +VTS,1,5,1020,3.68,CRD,14.5 +VTS,1,5,840,1.05,CSH,10 +VTS,1,6,420,1.64,CRD,7.5 +VTS,1,1,1260,2.93,CSH,15 +VTS,1,4,600,1.58,CRD,8.5 +VTS,1,6,300,0.75,CSH,5.5 +CMT,1,1,929,3.5,CSH,14 +CMT,1,1,419,1.3,CRD,7 +CMT,1,1,758,1.8,CSH,10 +CMT,1,1,574,1.6,CRD,9 +CMT,1,1,349,1.2,CSH,6.5 +CMT,1,1,546,2.1,CRD,9.5 +CMT,1,1,886,2.5,CRD,12 +CMT,1,1,1005,2.5,CRD,13 +CMT,1,2,589,1.5,CSH,9 +CMT,1,1,452,1.1,CRD,7 +CMT,1,1,509,1.7,CRD,8.5 +CMT,1,1,146,0.6,CSH,4.5 +CMT,1,1,253,0.7,CRD,5 +CMT,1,1,292,0.6,CSH,5 +VTS,1,6,1320,2.09,CRD,14.5 +VTS,1,6,1920,3.75,CSH,20.5 +VTS,1,4,420,1.76,CRD,7.5 +VTS,1,5,1080,2.07,CRD,13 +VTS,1,6,600,0.96,CRD,7.5 +VTS,1,6,420,0.84,CRD,6.5 +VTS,1,5,720,2.45,CSH,10.5 +VTS,1,5,360,1.32,CSH,6.5 +VTS,1,6,480,1.94,CRD,8.5 +VTS,1,5,1020,2.32,CRD,13 +VTS,1,6,1260,3.22,CRD,15.5 +VTS,1,5,300,0.81,CRD,5.5 +VTS,1,5,600,1.31,CSH,8.5 +VTS,1,5,360,1.21,CRD,6.5 +VTS,1,6,120,0.52,CSH,4 +VTS,1,5,360,1.13,CSH,6 +VTS,1,6,1140,6.82,CSH,22.5 +VTS,1,5,240,0.53,CSH,4.5 +VTS,1,5,360,0.82,CSH,6 +VTS,1,5,840,2.48,CSH,11.5 +VTS,1,6,300,0.94,CRD,5.5 +VTS,1,6,720,3.12,CSH,12.5 +VTS,1,5,600,1.72,CRD,8.5 +VTS,1,6,360,0.77,CRD,6 +VTS,1,6,1620,4.41,CRD,20 +VTS,1,6,720,1.5,CRD,9 +VTS,1,5,1680,3.58,CRD,18.5 +VTS,1,6,180,0.22,CSH,4 +VTS,1,6,1320,5.06,CRD,19 +VTS,1,5,420,2.63,CSH,10 +VTS,1,5,420,2.11,CSH,8 +VTS,1,6,600,1.59,CRD,9 +VTS,1,6,540,2.17,CRD,9 +VTS,1,6,600,1.64,CSH,9 +VTS,1,6,120,0.78,CSH,4.5 +VTS,1,5,420,0.94,CSH,7 +VTS,1,6,600,1.78,CRD,8.5 +VTS,1,5,540,1.26,CRD,8.5 +VTS,1,5,540,1.4,CSH,8 +VTS,1,6,240,0.82,CSH,5 +VTS,1,4,1980,6.65,CRD,25 +VTS,1,5,300,0.52,CRD,4.5 +CMT,1,2,1342,3.2,CSH,16.5 +CMT,1,1,335,0.9,CSH,6 +CMT,1,1,319,0.9,CSH,5.5 +CMT,1,1,832,2.1,CSH,11 +CMT,1,4,1048,1.5,CSH,11.5 +CMT,1,4,762,1.7,CSH,10 +CMT,1,1,922,2.4,CSH,12 +CMT,1,1,217,0.7,CRD,4.5 +CMT,1,1,121,0.4,CRD,3.5 +CMT,1,1,49,0.2,CSH,3 +CMT,1,1,298,0.4,CSH,5 +CMT,1,1,332,1,CRD,6 +CMT,1,1,450,2,CSH,8.5 +CMT,1,1,791,2.5,CRD,11 +CMT,1,1,635,1.3,CRD,8.5 +CMT,1,1,1051,2,CRD,12 +CMT,1,2,903,3,CSH,13 +CMT,1,1,1283,10.6,CRD,31 +CMT,1,1,904,3.5,CRD,14.5 +CMT,1,2,450,1.2,CRD,7 +CMT,1,1,562,3,CSH,11 +CMT,1,1,468,1.1,CSH,7 +CMT,1,1,354,0.9,CSH,6 +CMT,1,1,1245,3.8,CSH,16.5 +CMT,1,1,440,2.4,CRD,9 +CMT,1,1,1381,3.8,CSH,17.5 +CMT,1,1,509,2.4,CRD,9 +CMT,1,1,15,0.5,CSH,2.5 +CMT,1,1,420,1.7,CRD,7.5 +CMT,1,1,797,0.7,CSH,9 +CMT,1,1,964,3.3,CSH,14.5 +CMT,1,1,1092,2.7,CSH,14 +CMT,1,1,1175,2.6,CRD,14 +CMT,1,1,1269,13.2,CSH,36.5 +CMT,1,2,522,2.1,CRD,9.5 +CMT,1,1,862,1.5,CRD,10.5 +VTS,1,5,480,1.77,CSH,8 +VTS,1,6,360,0.87,CSH,6 +VTS,1,6,1440,3.49,CSH,17.5 +VTS,1,6,1620,3.42,CRD,18.5 +VTS,1,5,240,0.4,CSH,4.5 +VTS,1,6,1380,3.79,CRD,17 +VTS,1,6,960,2.05,CRD,11.5 +VTS,1,6,540,0.88,CRD,7 +VTS,1,6,720,2.35,CRD,11 +VTS,1,6,480,0.9,CRD,7 +VTS,1,5,240,0.8,CSH,5 +VTS,1,6,300,1.36,CRD,6.5 +VTS,1,6,60,0.29,CSH,3 +VTS,1,6,420,1.35,CSH,7 +VTS,1,6,840,0.8,CSH,9.5 +VTS,1,6,180,0.92,CRD,4.5 +VTS,1,5,180,0.68,CRD,5 +VTS,1,6,1620,10.45,CSH,32 +VTS,1,6,480,1.26,CSH,7.5 +VTS,1,6,540,2.15,CRD,9 +VTS,1,5,420,1.08,CRD,6.5 +VTS,1,5,480,2.36,CRD,9.5 +VTS,1,6,300,0.82,CSH,5.5 +VTS,1,2,660,2.58,CSH,10.5 +VTS,1,5,720,2.29,CRD,11 +VTS,1,6,1320,5.34,CRD,20 +CMT,1,1,564,2.9,CRD,10.5 +CMT,1,1,581,1.7,CRD,9 +CMT,1,1,459,1.6,CRD,8 +CMT,1,1,567,1.9,CRD,9 +CMT,1,1,444,1,CSH,7 +CMT,1,2,573,2.1,CSH,9.5 +CMT,1,1,506,2.4,CSH,10 +CMT,1,1,520,1.4,CRD,8 +CMT,1,1,385,1.1,CSH,6.5 +CMT,1,2,463,1,CSH,7 +CMT,1,1,404,1.3,CSH,7 +CMT,1,2,349,1.3,CRD,6.5 +CMT,1,1,232,0.7,CSH,5 +CMT,1,1,764,2.3,CSH,10.5 +CMT,1,1,543,1.6,CSH,8.5 +CMT,1,1,349,0.8,CRD,6 +CMT,1,1,449,2.1,CRD,8.5 +CMT,1,1,1929,6.8,CSH,25.5 +CMT,1,1,1065,1.3,CRD,12 +CMT,1,1,1047,2.4,CRD,12.5 +CMT,1,1,209,0.5,CSH,4.5 +CMT,1,1,404,1.1,CSH,6.5 +CMT,1,2,668,1.5,CSH,9 +CMT,1,1,637,2.3,CSH,10 +CMT,1,1,584,4.4,CRD,14.5 +CMT,1,1,647,2.7,CSH,11 +VTS,1,6,1380,4.4,CSH,18.5 +VTS,1,4,360,0.46,CRD,6 +VTS,1,6,180,0.61,CRD,4.5 +VTS,1,6,1560,3.7,CRD,17.5 +VTS,1,6,300,0.57,CSH,5.5 +VTS,1,6,480,1.9,CRD,8.5 +VTS,1,5,600,1.5,CSH,9 +VTS,2,6,0,0.02,CSH,52 +VTS,1,6,300,1.18,CSH,6 +VTS,1,6,960,4.76,CRD,16.5 +VTS,1,6,240,1.65,CRD,6.5 +VTS,1,6,240,0.48,CSH,4.5 +VTS,1,4,540,0.98,CSH,7 +VTS,1,6,780,5.89,CRD,18.5 +VTS,1,6,960,3.25,CRD,14 +VTS,1,6,600,1.99,CRD,9 +VTS,1,6,540,2.39,CSH,9.5 +VTS,1,6,780,4.34,CSH,15 +VTS,1,5,420,1.37,CRD,7 +VTS,1,6,300,0.88,CSH,6 +VTS,1,6,540,1.44,CSH,8.5 +VTS,1,4,540,1.52,CSH,8.5 +VTS,1,6,480,2.04,CSH,8.5 +VTS,1,6,540,1.25,CRD,7.5 +VTS,1,6,120,0.44,CSH,3.5 +VTS,1,5,360,0.66,CSH,5.5 +VTS,1,5,600,1.98,CRD,9 +VTS,1,5,660,2.46,CSH,10 +VTS,1,5,540,1.78,CRD,8.5 +VTS,1,6,180,0.81,CSH,5 +VTS,1,6,2100,16.24,CSH,48 +VTS,1,6,600,1.21,CSH,8 +VTS,1,6,240,0.98,CSH,5 +VTS,1,6,900,2.03,CSH,11 +VTS,1,6,300,0.6,CSH,5 +VTS,1,6,720,1.22,CSH,9 +VTS,1,5,1080,3.38,CRD,14.5 +VTS,1,6,420,1.17,CSH,6.5 +CMT,1,2,1441,10.5,CSH,31.5 +CMT,1,1,569,2,CRD,9 +CMT,1,1,482,0.8,CRD,6.5 +CMT,1,1,610,1.9,CRD,9.5 +CMT,1,1,467,1.2,CRD,7.5 +CMT,1,2,237,0.9,CSH,5 +CMT,1,2,343,0.3,CSH,5 +CMT,1,1,401,0.9,CRD,6 +CMT,1,3,437,1.7,CRD,7.5 +CMT,1,1,518,2.3,CSH,9.5 +CMT,1,3,575,1.7,CSH,8.5 +CMT,1,1,669,2.4,CSH,10.5 +CMT,1,1,610,1,CRD,7.5 +CMT,1,1,1157,3.1,CRD,14.5 +CMT,2,1,2619,13,CRD,52 +CMT,1,1,214,1.2,CSH,5.5 +CMT,1,1,213,0.7,CSH,5 +CMT,1,2,221,0.4,CRD,4.5 +CMT,1,1,2319,4,CRD,24.5 +CMT,1,1,813,2.7,CRD,12 +CMT,1,1,914,1.5,CRD,11 +CMT,1,1,3247,8.1,CRD,38.5 +CMT,1,1,426,1.5,CRD,7.5 +CMT,1,2,1143,3.3,CSH,14 +CMT,1,4,491,3.1,CSH,11 +CMT,1,1,231,0.8,CRD,5.5 +CMT,1,1,530,3.3,CRD,11.5 +CMT,1,1,424,2,CSH,8 +CMT,1,1,503,0.9,CRD,7 +CMT,1,1,933,1.1,CRD,10.5 +CMT,1,1,239,0.8,CSH,5 +CMT,1,1,1912,4.6,CSH,22.5 +CMT,1,1,70,0.4,CSH,3.5 +CMT,1,1,701,2,CSH,10.5 +CMT,1,3,1090,5.9,CRD,20.5 +CMT,1,1,933,1.5,CRD,11 +CMT,1,3,866,2.3,CSH,12 +CMT,1,2,1718,4.7,CRD,21.5 +CMT,1,1,402,0.6,CSH,6 +CMT,1,1,479,1.2,CSH,7 +VTS,1,6,720,1.8,CRD,9.5 +VTS,1,6,120,0.79,CSH,4.5 +VTS,1,6,240,0.93,CSH,5 +VTS,1,6,720,1.24,CRD,9 +VTS,1,6,540,1.64,CRD,8 +VTS,1,5,360,1.16,CRD,6.5 +VTS,1,4,420,1.39,CRD,7 +VTS,1,5,780,2.21,CRD,10.5 +VTS,1,5,660,2.24,CRD,10 +VTS,1,6,1680,2,CSH,17 +VTS,1,6,120,0.45,CSH,4 +VTS,1,5,240,0.83,CSH,5 +VTS,1,3,600,1.27,CRD,8 +VTS,1,4,1560,7.57,CSH,26.5 +VTS,1,6,240,0.59,CSH,4.5 +VTS,1,6,600,2.09,CSH,9.5 +VTS,1,6,240,0.52,CRD,4.5 +VTS,1,6,480,2.38,CRD,9 +VTS,1,6,300,0.89,CSH,5.5 +VTS,1,6,360,0.97,CSH,6 +VTS,1,6,180,0.45,CSH,4 +VTS,1,6,540,1.51,CSH,8.5 +VTS,1,5,300,0.41,CSH,5 +VTS,1,5,1620,3.56,CRD,18.5 +VTS,1,6,240,0.88,CSH,5 +VTS,1,6,300,1.15,CRD,5.5 +CMT,1,1,1283,2.3,CRD,15 +CMT,1,2,709,2.4,CSH,11 +CMT,1,1,784,2.3,CRD,10.5 +CMT,1,1,566,1.8,CSH,9 +CMT,1,1,499,1.1,CSH,7 +CMT,1,2,214,0.5,CRD,4.5 +CMT,1,1,1276,3.1,CSH,15.5 +CMT,1,1,390,1.5,CRD,7.5 +CMT,1,2,597,1.3,CSH,8 +CMT,1,1,190,0.5,CRD,4.5 +CMT,1,1,421,1.2,CRD,6.5 +CMT,1,1,494,3.6,CRD,12.5 +CMT,1,1,403,2,CSH,8 +CMT,1,1,520,1.3,CSH,8 +CMT,1,1,779,2.2,CSH,11 +CMT,1,1,644,1.9,CRD,9.5 +CMT,1,3,331,1.4,CRD,6.5 +CMT,1,1,468,1.1,CSH,7 +CMT,1,1,876,2.7,CRD,12 +CMT,1,1,256,0.9,CSH,5.5 +CMT,1,1,346,1.4,CSH,6.5 +CMT,1,1,660,1.4,CRD,9 +CMT,1,1,644,1.1,CRD,8.5 +CMT,1,1,267,0.8,CRD,5.5 +CMT,1,1,148,0.6,CSH,4 +CMT,1,2,1345,3.7,CSH,16.5 +VTS,1,6,120,0.53,CSH,4 +VTS,1,6,780,1.99,CSH,11 +VTS,1,6,840,2.09,CSH,11 +VTS,1,5,1680,4.06,CRD,19.5 +VTS,1,6,1140,8.9,CRD,25 +VTS,1,6,360,1.18,CRD,6.5 +VTS,1,5,480,1.25,CRD,7 +VTS,1,6,540,1.83,CSH,8.5 +VTS,1,5,420,0.94,CSH,6 +VTS,1,6,360,1.42,CSH,7 +VTS,1,6,480,0.92,CRD,6.5 +VTS,1,5,1080,4.2,CRD,15.5 +CMT,1,1,380,1,CSH,6.5 +CMT,1,3,984,2.5,CSH,13 +CMT,1,1,194,0.7,CSH,4.5 +CMT,1,1,1571,4.5,CRD,20 +CMT,1,1,338,1,CSH,6 +CMT,1,1,132,0.6,CRD,4 +CMT,1,1,1550,9.2,CSH,30.5 +CMT,1,1,318,0.8,CSH,5.5 +CMT,1,1,1094,3.4,CRD,15 +CMT,1,1,491,1.4,CSH,8 +CMT,1,1,1364,2.2,CRD,15 +CMT,1,1,588,1.6,CRD,8.5 +CMT,1,1,374,0.7,CRD,6 +CMT,1,1,428,1.1,CSH,6.5 +CMT,1,1,1186,2.8,CRD,14.5 +CMT,1,1,284,0.6,CSH,5 +CMT,1,1,1235,2.3,CRD,14 +CMT,1,1,505,1.3,CRD,8 +CMT,1,1,1137,2.5,CSH,14 +CMT,1,3,903,1.8,CSH,11 +CMT,1,3,296,0.7,CSH,5 +CMT,1,1,402,1.6,CRD,8 +CMT,1,1,858,3.1,CSH,12.5 +CMT,1,1,686,2.6,CRD,11.5 +CMT,1,3,456,1,CSH,7 +CMT,1,2,255,0.4,CSH,4.5 +CMT,1,1,582,3.1,CRD,11 +CMT,1,1,201,0.6,CSH,4.5 +CMT,1,1,950,3.2,CRD,13.5 +CMT,1,1,558,2.4,CRD,9.5 +CMT,1,1,234,0.7,CRD,5 +CMT,1,1,866,2.1,CRD,11.5 +CMT,1,1,786,0.8,CRD,9 +CMT,1,1,189,0.6,CRD,4.5 +CMT,1,1,759,1.6,CRD,9.5 +CMT,1,1,813,1.7,CSH,10 +CMT,1,1,228,1,CRD,5.5 +CMT,1,1,598,1.4,CSH,8.5 +CMT,1,1,318,0.6,CRD,5 +CMT,1,1,2131,10.1,CRD,34 +VTS,1,4,780,2.43,CRD,11 +VTS,1,5,300,0.67,CRD,5 +VTS,1,6,300,0.65,CRD,5 +VTS,1,6,780,1.88,CRD,10 +VTS,1,5,240,1.28,CRD,5.5 +VTS,1,4,300,1.36,CRD,6.5 +VTS,1,6,540,2.32,CSH,9.5 +VTS,1,4,900,1.4,CRD,10.5 +VTS,1,5,1320,3.64,CRD,17 +VTS,1,6,120,0.63,CRD,4 +VTS,1,5,720,1.53,CRD,9.5 +VTS,1,4,360,0.47,CSH,5.5 +VTS,1,6,180,0.47,CSH,4 +VTS,1,6,420,1.08,CSH,6.5 +VTS,1,6,360,0.86,CSH,6 +VTS,1,6,360,0.89,CRD,5.5 +VTS,1,5,540,0.94,CRD,7 +VTS,1,5,660,1.76,CSH,9.5 +VTS,1,5,360,0.72,CSH,6 +VTS,1,6,240,1.09,CRD,5.5 +VTS,1,5,2520,18.02,CSH,52.5 +VTS,1,1,660,2.72,CRD,11 +VTS,1,6,540,1.48,CSH,8 +VTS,1,1,1020,3.35,CSH,14 +VTS,1,5,180,1.4,CRD,6 +VTS,1,6,660,2.35,CRD,10 +VTS,1,6,360,0.57,CRD,5 +VTS,1,4,660,1.17,CSH,8.5 +VTS,1,1,780,2.99,CSH,12 +VTS,1,6,660,2.06,CSH,10 +VTS,1,6,540,0.86,CSH,7 +VTS,1,6,360,1,CSH,6 +VTS,1,6,180,0.53,CSH,4 +VTS,1,6,420,1.14,CRD,7 +VTS,1,5,480,1.75,CSH,8 +VTS,1,6,360,1.09,CSH,7 +VTS,1,6,240,0.53,CSH,4.5 +VTS,1,6,960,2.86,CRD,13 +VTS,1,6,720,1.8,CRD,10 +VTS,1,4,840,3,CSH,12.5 +VTS,1,5,1260,1.98,CSH,13.5 +VTS,1,6,480,0.9,CRD,7 +VTS,1,6,480,0.9,CSH,7 +VTS,1,5,660,1.25,CRD,9 +VTS,1,5,900,4.01,CRD,14.5 +VTS,1,6,780,3.04,CSH,12.5 +VTS,1,5,1260,3.11,CRD,15 +VTS,1,5,1020,2.63,CSH,13 +VTS,1,6,480,1.08,CSH,7 +VTS,1,6,420,1.21,CSH,7 +VTS,1,6,1260,6.58,CRD,22.5 +VTS,1,5,960,5.97,CRD,20 +CMT,1,1,490,1.2,CRD,7.5 +CMT,1,1,736,1.4,CRD,9.5 +CMT,1,1,634,2.2,CRD,10 +CMT,1,1,375,0.8,CSH,6 +CMT,1,1,842,4.4,CRD,15.5 +CMT,1,2,1092,2,CRD,13 +CMT,1,1,290,0.7,CRD,5 +CMT,1,1,379,0.9,CSH,6 +CMT,1,1,264,0.4,CSH,5 +CMT,1,1,838,1.7,CRD,10.5 +CMT,1,4,425,1.3,CSH,6.5 +CMT,1,1,588,0.6,CSH,7.5 +CMT,1,3,1002,6.1,CSH,19 +CMT,1,1,1244,9.5,CRD,29 +CMT,1,2,571,3.2,CSH,12 +CMT,1,1,143,0.4,CSH,4 +CMT,1,1,645,1.4,CRD,8.5 +CMT,1,1,379,1.2,CSH,7 +CMT,1,1,278,1.8,CRD,7 +CMT,1,1,387,1.6,CSH,7 +CMT,1,1,197,0.7,CSH,4.5 +CMT,1,1,233,0.6,CRD,4.5 +CMT,1,2,1096,0.3,CSH,11 +CMT,1,1,219,0.4,CRD,4 +CMT,1,2,319,0.7,CSH,5 +CMT,1,1,237,0.7,CSH,5 +CMT,1,1,360,0.8,CSH,6 +CMT,1,1,84,0.6,CSH,4 +CMT,1,2,721,2.4,CRD,11 +CMT,1,1,324,1,CSH,5.5 +CMT,1,2,444,1.3,CRD,7 +CMT,1,2,92,0.3,CSH,3.5 +CMT,1,1,397,1.2,CRD,7 +CMT,1,2,457,0.9,CSH,7 +CMT,1,1,949,6.1,CRD,20 +CMT,1,1,583,1.3,CRD,8 +CMT,1,1,1065,2.8,CSH,13.5 +CMT,1,1,1330,5.2,CSH,19.5 +CMT,1,1,1856,7.2,CRD,26.5 +CMT,1,1,394,0.9,CRD,6 +CMT,1,1,609,0.6,CSH,7.5 +CMT,1,1,241,0.5,CSH,4.5 +CMT,1,2,1258,10.6,CSH,31 +CMT,1,1,1487,2.7,CRD,16 +CMT,1,1,779,1.6,CRD,10 +CMT,1,1,752,1.4,CRD,9.5 +CMT,1,1,189,0.4,CSH,4 +CMT,1,1,663,1.2,CRD,8.5 +CMT,1,1,762,2.2,CSH,11 +CMT,1,1,384,1.2,CRD,6.5 +CMT,1,1,317,1.5,CSH,7 +CMT,1,2,469,0.5,CSH,6.5 +CMT,1,1,874,2.4,CRD,12 +CMT,1,1,843,1.2,CSH,10 +CMT,1,2,382,1.7,CSH,8 +CMT,1,1,505,2.7,CSH,10 +CMT,1,1,413,2,CRD,8 +CMT,1,1,1305,6.7,CSH,22.5 +CMT,1,4,1022,2.1,CSH,12 +CMT,1,1,627,2.1,CRD,10 +CMT,1,1,666,2.3,CRD,10.5 +CMT,1,1,496,1.4,CRD,7.5 +CMT,1,2,343,1.4,CSH,7 +CMT,1,1,162,0.3,CSH,4 +CMT,1,1,193,0.5,CSH,4.5 +CMT,1,1,290,1.2,CRD,6 +CMT,1,1,382,0.9,CSH,6 +CMT,1,2,320,0.4,CRD,5 +CMT,1,1,1280,6.7,CRD,23 +CMT,1,1,440,2.2,CRD,9 +CMT,1,1,934,3.1,CSH,13.5 +CMT,1,1,266,1.1,CSH,5.5 +CMT,1,1,504,1.4,CSH,7.5 +CMT,1,1,593,1.3,CRD,8.5 +CMT,1,1,828,1.9,CSH,10.5 +CMT,1,1,1196,1.7,CRD,13 +CMT,1,1,428,1.3,CSH,7 +CMT,1,1,1282,9.7,CSH,29 +CMT,1,1,839,4.4,CSH,15 +CMT,1,1,520,1.9,CRD,8.5 +CMT,1,1,381,0.8,CRD,6 +CMT,1,1,2395,7.3,CSH,30 +CMT,1,1,197,0.6,CRD,4.5 +CMT,1,1,534,1.8,CSH,8 +CMT,1,1,736,1.5,CRD,9.5 +CMT,1,2,347,1.5,CRD,7 +CMT,1,1,467,0.9,CRD,7 +CMT,1,1,184,0.4,CSH,4 +CMT,1,1,563,3.4,CRD,12 +CMT,1,1,299,0.8,CRD,5.5 +CMT,1,1,747,5.4,CRD,17 +CMT,1,2,661,2.2,CRD,9.5 +CMT,1,1,606,1.7,CRD,9 +CMT,1,1,276,0.9,CRD,5.5 +CMT,1,1,330,1.1,CRD,6 +CMT,1,1,1212,6,CRD,20.5 +CMT,1,4,526,2.5,CSH,10 +CMT,1,1,140,0.4,CRD,4 +CMT,1,1,401,1.8,CRD,8 +CMT,1,1,488,1.7,CRD,8.5 +CMT,1,1,560,1.4,CRD,8.5 +CMT,1,1,231,0.6,CRD,4.5 +CMT,1,2,490,1.2,CSH,7.5 +CMT,1,2,574,0.6,CSH,7.5 +CMT,1,1,358,1.3,CSH,7 +CMT,1,1,1125,7.6,CRD,23.5 +CMT,1,1,767,3.6,CSH,12.5 +CMT,1,1,361,1.8,CRD,7.5 +CMT,1,1,505,1.4,CSH,7.5 +CMT,1,2,474,0.9,CSH,7 +CMT,1,2,978,6.4,CSH,20 +CMT,1,2,705,4.2,CRD,14 +CMT,1,1,230,0.9,CSH,5 +CMT,1,1,528,1.6,CRD,8.5 +CMT,1,1,641,1.7,CRD,9 +CMT,1,1,383,1,CSH,6.5 +CMT,1,1,531,1.4,CSH,8 +CMT,1,2,768,1.5,CRD,9.5 +CMT,1,2,421,1.4,CSH,7.5 +CMT,1,3,314,1.3,CSH,6.5 +CMT,1,2,1151,2.7,CRD,14 +CMT,1,2,1219,3,CRD,15 +CMT,1,1,383,0.7,CSH,6 +CMT,1,3,1234,1.8,CRD,14 +CMT,1,1,1061,2.3,CSH,12.5 +CMT,1,1,318,0.7,CSH,5.5 +CMT,1,1,1052,1.9,CRD,12.5 +CMT,1,1,581,0.7,CSH,7 +CMT,1,1,537,2,CRD,9 +CMT,1,1,382,1.3,CSH,7 +CMT,1,2,377,0.7,CSH,6 +CMT,1,1,2071,10.4,CRD,35.5 +CMT,1,2,1021,2.5,CRD,13 +CMT,1,2,733,2.1,CRD,10 +CMT,1,1,626,1.1,CSH,8 +CMT,1,3,293,1,CRD,5.5 +CMT,1,3,483,2.1,CSH,9 +CMT,1,1,692,2.5,CRD,10.5 +CMT,1,1,1002,2.3,CRD,12.5 +CMT,1,1,696,1.4,CRD,9 +CMT,1,1,357,1,CSH,6.5 +CMT,1,1,731,3.4,CSH,12.5 +CMT,1,1,363,1.3,CRD,6.5 +CMT,1,1,335,1.1,CRD,6.5 +CMT,1,1,375,1.2,CRD,6.5 +CMT,1,1,494,1.3,CSH,7.5 +CMT,1,1,327,1.1,CRD,6 +CMT,1,1,1337,4.9,CRD,20.5 +CMT,1,1,967,2.7,CSH,12.5 +CMT,1,1,166,0.5,CSH,4 +CMT,1,1,1098,1.6,CSH,12.5 +CMT,1,1,758,5.1,CRD,17.5 +CMT,1,1,307,1,CRD,6 +CMT,1,1,393,0.4,CSH,5.5 +CMT,1,1,783,1.7,CRD,10.5 +CMT,1,1,133,0.6,CSH,4 +CMT,1,1,1279,3.2,CRD,15 +CMT,1,1,799,5.1,CSH,17 +CMT,1,1,1425,3.5,CRD,17 +CMT,1,1,426,0.9,CRD,6.5 +CMT,1,1,418,1.4,CRD,7 +CMT,1,2,518,1.3,CSH,8 +CMT,1,2,626,1.6,CSH,9 +CMT,1,1,725,5.6,CRD,18 +CMT,1,1,778,2.5,CRD,11.5 +CMT,1,2,978,3.2,CSH,14.5 +CMT,1,1,639,0.8,CSH,8 +CMT,2,1,2475,12.6,CRD,52 +CMT,1,2,638,1.4,CSH,8.5 +CMT,1,2,1058,1.7,CRD,12 +CMT,1,1,284,1.1,CSH,6 +CMT,1,1,1316,4,CRD,17 +CMT,1,1,1353,2.8,CSH,16 +CMT,1,1,310,0.7,CRD,5 +CMT,1,1,906,7.5,CRD,22.5 +CMT,1,1,715,1.1,CRD,9 +CMT,1,1,350,1.3,CRD,6.5 +CMT,1,1,349,0.7,CSH,5.5 +CMT,1,1,337,0.6,CSH,5.5 +CMT,1,1,454,3.2,CSH,10.5 +CMT,1,1,384,2.3,CSH,8.5 +CMT,1,1,1342,3.7,CRD,17.5 +CMT,1,1,464,0.9,CRD,7 +CMT,1,1,538,1.7,CRD,8.5 +CMT,1,2,349,0.8,CSH,5.5 +CMT,1,1,468,2,CRD,9 +CMT,1,1,1356,5.3,CRD,20.5 +CMT,1,1,771,2.3,CRD,11 +CMT,1,2,435,1.3,CRD,7 +CMT,1,1,1041,5.5,CSH,18.5 +CMT,1,1,451,0.8,CSH,6.5 +CMT,1,1,495,3.4,CSH,12 +CMT,1,1,718,2.2,CSH,10.5 +CMT,1,1,528,0.8,CSH,7 +CMT,1,1,412,1,CSH,6.5 +CMT,1,1,239,1.2,CSH,6 +CMT,1,1,1666,4.3,CRD,20.5 +CMT,1,1,615,1.3,CSH,8.5 +CMT,1,1,201,0.6,CRD,4.5 +CMT,1,1,391,0.7,CRD,6 +CMT,1,1,499,0.8,CRD,6.5 +CMT,1,1,681,0.7,CSH,8 +CMT,1,1,1232,6.6,CSH,22 +CMT,1,4,550,2.5,CRD,10 +CMT,1,1,1304,4.9,CRD,19 +CMT,1,1,383,0.6,CRD,6 +CMT,1,1,287,1.3,CSH,6.5 +CMT,1,4,260,0.8,CSH,5 +CMT,1,2,885,4.7,CRD,16.5 +CMT,1,1,404,1.1,CRD,6.5 +CMT,1,1,196,0.5,CSH,4.5 +CMT,1,1,1479,4.7,CSH,20 +CMT,1,1,643,0.8,CRD,8 +CMT,1,1,243,0.5,CRD,5 +CMT,1,1,635,1.3,CSH,8.5 +CMT,1,1,448,2,CRD,9 +CMT,1,2,903,2.7,CSH,12.5 +CMT,1,1,961,2.8,CRD,13 +CMT,1,2,256,0.4,CRD,4.5 +CMT,1,1,344,0.4,CSH,5.5 +CMT,1,1,823,2.5,CSH,11.5 +CMT,1,1,432,1.8,CSH,8 +CMT,1,1,201,0.8,CRD,5 +CMT,1,1,699,3.5,CRD,13.5 +CMT,1,1,927,2,CRD,11.5 +CMT,1,1,1999,5.2,CSH,23 +CMT,1,1,165,0.4,CRD,4 +CMT,1,1,412,1.6,CSH,7.5 +CMT,1,1,583,1,CRD,8 +CMT,1,1,84,0.2,CRD,3 +CMT,1,1,1086,2.1,CRD,12.5 +CMT,1,1,561,1.3,CSH,8 +CMT,1,2,1268,4.3,CSH,17 +CMT,1,2,86,0.4,CSH,3.5 +VTS,1,6,420,1.05,CSH,6.5 +VTS,1,6,480,1.03,CSH,7 +VTS,1,6,780,1.47,CSH,8 +VTS,1,6,540,2.23,CSH,9 +VTS,1,4,720,1.71,CSH,10 +VTS,1,6,480,1.48,CSH,8 +VTS,1,6,840,2.25,CRD,11.5 +VTS,1,6,660,1.63,CRD,9 +VTS,1,6,240,1.28,CRD,6 +CMT,1,2,468,1.2,CRD,7.5 +CMT,1,1,187,0.6,CSH,4.5 +CMT,1,1,1427,6.4,CRD,23 +CMT,1,1,368,1,CRD,6 +CMT,1,1,536,1.5,CSH,8.5 +CMT,1,1,544,1.8,CSH,8 +CMT,1,2,1317,2.2,CRD,15 +CMT,1,1,1121,3.3,CRD,14.5 +CMT,1,1,539,4.8,CSH,15 +CMT,1,1,527,2.6,CRD,10 +CMT,1,1,309,1.3,CSH,6.5 +CMT,1,1,460,1,CRD,7 +CMT,1,1,407,1.6,CSH,7 +CMT,1,1,425,1,CSH,6.5 +CMT,1,1,844,3.1,CRD,13.5 +CMT,1,1,385,0.7,CSH,6 +CMT,1,1,637,5.6,CRD,17 +CMT,1,1,581,3.1,CRD,11.5 +CMT,1,1,1187,4.9,CRD,18 +CMT,1,2,596,1.7,CSH,8.5 +CMT,1,1,193,0.4,CSH,4 +CMT,1,2,411,1.3,CSH,7 +CMT,1,1,703,2.7,CRD,11.5 +CMT,1,2,998,2.1,CRD,12.5 +CMT,1,1,653,2.5,CRD,10.5 +CMT,1,2,569,2,CSH,9 +CMT,1,2,346,0.6,CSH,5.5 +CMT,1,1,154,0.5,CSH,4 +CMT,1,1,315,1.4,CRD,6.5 +CMT,1,1,712,1.4,CRD,9.5 +CMT,1,1,212,0.7,CSH,4.5 +CMT,1,1,573,2.4,CSH,10 +CMT,1,1,663,2.9,CRD,12 +CMT,1,1,1127,2.6,CRD,13.5 +CMT,1,1,910,3.6,CRD,13.5 +CMT,1,1,986,2.4,CSH,12.5 +CMT,1,1,433,1.6,CRD,7.5 +CMT,1,1,676,1.5,CRD,9 +CMT,1,2,314,1.1,CSH,6 +CMT,1,1,674,2.1,CRD,10 +CMT,1,1,379,0.6,CRD,5.5 +CMT,1,1,624,1.8,CSH,9.5 +CMT,1,1,409,0.9,CRD,6.5 +CMT,1,2,211,0.7,CRD,4.5 +CMT,1,1,194,0.3,CSH,4 +CMT,1,1,172,0.3,CRD,4 +CMT,1,1,372,0.9,CSH,6 +CMT,1,1,353,1.3,CRD,6.5 +CMT,1,1,931,2,CSH,11.5 +CMT,1,3,625,2.3,CRD,10 +CMT,1,1,375,1,CSH,6.5 +CMT,1,4,367,1.6,CRD,7 +CMT,1,2,340,1,CRD,6 +CMT,1,1,755,1.7,CSH,10 +CMT,1,1,469,2.1,CRD,8.5 +CMT,1,1,575,0.9,CSH,7.5 +CMT,1,1,542,0.8,CSH,7 +CMT,1,1,246,0.4,CSH,4.5 +CMT,1,1,1468,3.6,CRD,17.5 +CMT,1,1,449,1.5,CSH,7.5 +CMT,1,1,202,0.8,CSH,5 +CMT,1,1,1382,2.3,CRD,15.5 +CMT,1,2,275,0.6,CSH,5 +CMT,1,2,669,1.1,CSH,8.5 +CMT,1,1,481,2.8,CSH,10.5 +CMT,1,1,1679,2.8,CRD,18.5 +CMT,1,1,689,1.6,CSH,9 +CMT,1,1,377,1.3,CRD,6.5 +CMT,1,1,360,2.1,CSH,8 +CMT,1,1,671,2.1,CRD,10 +CMT,1,2,514,1,CSH,7.5 +CMT,1,1,752,1.1,CRD,9.5 +CMT,1,1,680,1,CRD,8.5 +CMT,1,1,878,1.8,CRD,11 +CMT,1,1,471,0.8,CSH,6.5 +CMT,1,1,859,1.1,CSH,10 +CMT,1,1,1178,3,CSH,15 +CMT,1,1,283,0.6,CRD,5 +CMT,1,1,457,1.4,CSH,7.5 +CMT,1,1,830,2,CSH,11 +CMT,1,1,586,3.8,CSH,13.5 +CMT,1,2,1729,4.1,CRD,19.5 +CMT,1,1,518,1.2,CRD,7.5 +CMT,1,1,1186,1.7,CRD,13.5 +CMT,1,1,742,0.9,CSH,9 +CMT,1,1,570,1.6,CSH,8 +CMT,1,1,249,1,CRD,5.5 +CMT,1,1,1089,5.4,CSH,18 +CMT,1,1,410,2.5,CRD,9 +CMT,1,1,867,4.9,CRD,16 +CMT,1,1,498,1.6,CRD,8.5 +CMT,1,1,371,1.3,CSH,6.5 +CMT,1,1,167,0.5,CSH,4 +CMT,1,1,97,0.6,CRD,4 +CMT,1,2,417,2.5,CRD,9.5 +CMT,1,1,742,4.1,CSH,14 +CMT,1,1,561,1.7,CRD,8.5 +CMT,1,1,714,5.4,CRD,17 +CMT,1,1,832,4.4,CRD,15 +CMT,1,1,515,1,CSH,7 +CMT,1,1,168,0.6,CSH,4.5 +CMT,1,1,889,2,CRD,11.5 +CMT,1,1,434,0.5,CSH,6 +CMT,1,1,924,5.2,CRD,18.5 +CMT,1,2,903,1.6,CSH,11 +CMT,1,1,877,2.7,CSH,12 +CMT,1,1,665,2.2,CRD,10 +CMT,1,2,997,2.8,CRD,13.5 +CMT,1,1,470,1.3,CRD,7.5 +CMT,1,1,1436,5.4,CRD,20.5 +CMT,1,1,1044,2.9,CRD,14 +CMT,1,1,713,1.9,CRD,10 +CMT,1,1,795,5.1,CRD,17 +CMT,1,1,482,0.8,CSH,6.5 +CMT,1,1,1198,3.5,CSH,16 +CMT,1,1,459,1.1,CRD,7 +CMT,1,1,1022,3,CSH,13 +CMT,1,1,323,2.4,CSH,9 +CMT,1,4,568,2.1,CRD,9.5 +CMT,1,2,1035,2.1,CSH,13 +CMT,1,1,612,3.1,CRD,11 +CMT,1,4,421,0.4,CSH,6 +CMT,1,1,174,0.6,CSH,4 +CMT,1,1,900,2.1,CSH,11.5 +CMT,1,1,273,0.3,CRD,4.5 +CMT,1,1,348,1.7,CRD,7.5 +CMT,1,1,509,0.9,CRD,7 +CMT,1,1,903,1.2,DIS,7 +CMT,1,3,325,1.2,CSH,6 +CMT,1,1,525,1.9,CSH,8.5 +CMT,1,1,988,1.6,CSH,11 +CMT,1,1,298,0.9,CSH,5.5 +CMT,1,2,622,1.8,CRD,9 +CMT,1,2,456,0.9,CRD,7 +CMT,1,4,521,0.8,CRD,7 +CMT,1,1,1429,9.6,CRD,29.5 +CMT,1,1,1062,4.3,CRD,16.5 +CMT,1,1,352,1.5,CRD,7 +CMT,1,1,174,0.2,CSH,4 +CMT,1,1,1397,10.9,CRD,31 +CMT,1,1,194,0.4,CSH,4 +CMT,1,3,1467,2.7,CRD,16.5 +CMT,1,1,1210,2.7,CSH,14 +CMT,1,1,804,1.6,CSH,10 +CMT,1,1,925,1.6,CRD,11 +CMT,1,1,898,1.5,CRD,10.5 +CMT,1,1,324,0.4,CSH,5.5 +CMT,1,1,444,2,CSH,8.5 +CMT,1,1,360,1.8,CRD,8 +CMT,1,1,761,4.7,CRD,16 +CMT,1,1,317,1.5,CSH,6.5 +CMT,1,1,355,0.5,CRD,5.5 +CMT,1,1,409,0.9,CSH,6.5 +CMT,1,1,935,3.1,CRD,13 +CMT,1,1,433,1.2,CRD,7 +CMT,1,2,431,0.6,CRD,6 +CMT,1,1,1086,5.5,CRD,19 +CMT,1,1,1068,4,CRD,16.5 +CMT,1,1,313,0.6,CRD,5.5 +CMT,1,1,126,0.8,CSH,4.5 +CMT,1,1,173,0.5,CRD,4 +CMT,1,1,343,0.9,CSH,6 +CMT,1,1,481,2.5,CRD,9.5 +CMT,1,1,341,1,CSH,6 +CMT,1,1,770,8.4,CSH,24 +CMT,1,2,1085,4.9,CSH,17.5 +CMT,1,2,298,0.8,CRD,5.5 +CMT,1,3,465,1.5,CSH,7.5 +CMT,1,1,780,2.1,CRD,10.5 +CMT,1,1,684,2.3,CSH,10.5 +CMT,1,1,166,0.7,CRD,5 +CMT,1,1,312,2.3,CRD,8 +CMT,1,2,909,1.3,CSH,10.5 +CMT,1,1,1104,2.4,CSH,13 +CMT,1,1,231,0.6,CSH,5 +CMT,1,2,527,0.9,CRD,7.5 +CMT,1,1,1216,2.4,CRD,14 +CMT,1,1,518,1.5,CRD,8 +CMT,1,1,391,0.9,CSH,6 +CMT,1,1,614,0.3,CSH,7.5 +CMT,1,1,603,2.4,CRD,10.5 +CMT,1,1,220,0.6,CRD,4.5 +CMT,1,1,390,1.1,CRD,6.5 +CMT,1,1,1123,5.8,CRD,19 +CMT,1,1,580,1.6,CRD,9 +CMT,1,1,393,0.9,CSH,6 +CMT,1,1,727,3,CRD,12 +CMT,1,1,697,1.7,CRD,9.5 +CMT,1,1,338,0.6,CRD,5.5 +CMT,1,1,322,1.5,CRD,7 +CMT,1,1,351,1.3,CSH,6.5 +CMT,1,1,255,0.5,CRD,5 +CMT,1,1,157,0.7,CRD,4.5 +CMT,1,2,232,1.2,CSH,5.5 +CMT,1,2,497,1.2,CRD,7.5 +CMT,1,3,899,2.7,CSH,12.5 +CMT,1,3,454,1.4,CRD,7.5 +CMT,1,1,211,0.6,CRD,4.5 +CMT,1,2,2139,11.7,CSH,37.5 +CMT,1,1,494,1.4,CRD,8 +CMT,1,1,432,1.4,CSH,7.5 +CMT,1,1,1337,2.5,CRD,15 +CMT,1,1,819,1.2,CRD,10 +CMT,1,2,228,0.5,CRD,4.5 +CMT,1,1,234,0.6,CSH,4.5 +CMT,1,1,650,2.5,CSH,10 +CMT,1,1,452,1.7,CRD,7.5 +CMT,1,1,375,2.2,CRD,8.5 +CMT,1,1,385,1.8,CSH,7.5 +CMT,1,2,1117,2.2,CSH,14 +CMT,1,1,696,1.5,CRD,9.5 +CMT,1,2,411,1.1,CSH,6.5 +CMT,1,4,901,2.8,CSH,12.5 +CMT,1,2,711,1.5,CSH,10 +CMT,1,2,598,2,CRD,9 +CMT,1,1,608,3.4,CSH,12.5 +CMT,1,1,816,4.3,CSH,14.5 +CMT,1,1,1117,5.6,CSH,20 +CMT,1,1,997,5.8,CRD,19 +CMT,1,1,453,2,CRD,8.5 +CMT,1,3,641,1.6,CSH,8.5 +CMT,1,1,1047,3.5,CSH,14.5 +CMT,1,2,1075,5.2,CRD,18.5 +CMT,1,1,126,0.6,CSH,4 +CMT,1,2,752,2.5,CRD,11 +CMT,1,1,1074,9.3,CSH,27.5 +CMT,1,4,419,1.1,CRD,7 +CMT,1,3,639,1.9,CSH,9.5 +CMT,1,2,389,1.3,CRD,7 +CMT,1,2,379,0.8,CSH,5.5 +CMT,1,1,353,0.6,CSH,5.5 +CMT,1,1,232,0.8,CRD,5 +CMT,1,1,582,3.3,CRD,11.5 +CMT,1,1,622,1.6,CSH,8.5 +CMT,1,1,253,0.8,CRD,5.5 +CMT,1,1,440,1,CRD,6.5 +CMT,1,1,752,3.3,CRD,12.5 +CMT,1,1,544,2.2,CSH,9 +CMT,1,1,119,0.6,CSH,4 +CMT,1,2,1221,4.3,CRD,17.5 +CMT,1,1,159,0.9,CRD,4.5 +CMT,1,2,254,1,CSH,6 +CMT,1,1,322,0.7,CRD,5.5 +CMT,2,1,3560,16,CRD,52 +CMT,1,3,757,3.2,CSH,12.5 +CMT,1,1,700,2.9,CSH,11.5 +CMT,1,2,1396,6.4,CRD,22 +CMT,1,1,892,1.2,CRD,10.5 +CMT,1,1,911,1.9,CRD,11 +CMT,1,1,238,0.7,CRD,5 +CMT,1,2,456,1.2,CSH,7.5 +CMT,1,1,350,1.1,CRD,6.5 +CMT,1,4,825,2,CSH,11 +CMT,1,2,266,0.8,CRD,5 +CMT,1,3,542,1.3,CRD,8 +CMT,1,3,389,1.6,CSH,8 +CMT,1,1,309,0.8,CRD,5.5 +CMT,1,1,328,1.8,CSH,7.5 +CMT,1,3,574,3.6,CSH,12.5 +CMT,1,2,262,0.7,CSH,5 +CMT,1,1,353,0.8,CSH,6 +CMT,1,1,510,1.2,CSH,7.5 +CMT,1,1,427,1.3,CRD,7 +CMT,2,1,3282,19.4,CSH,52 +CMT,1,1,665,3.4,CRD,12.5 +CMT,1,1,283,1.2,CRD,6 +CMT,1,1,1406,6.4,CSH,22 +CMT,1,1,702,1.9,CRD,10.5 +CMT,1,2,1016,4.3,CSH,17 +CMT,1,1,206,0.6,CRD,4.5 +CMT,1,1,369,2,CRD,8 +CMT,1,1,773,3.7,CRD,14.5 +CMT,1,4,272,0.7,CRD,5 +CMT,1,1,1233,3.7,CSH,16.5 +CMT,1,1,523,1.2,CSH,7.5 +CMT,1,1,924,3.3,CRD,13.5 +CMT,1,1,484,0.9,CSH,7 +CMT,1,2,457,1.2,CRD,7 +CMT,1,1,473,1.5,CRD,7.5 +CMT,1,2,704,1.8,CSH,10 +CMT,1,1,1249,2.8,CRD,15 +CMT,1,2,440,2.1,CRD,8.5 +CMT,1,1,65,0.2,CRD,3 +CMT,1,1,948,4.4,CRD,16.5 +CMT,1,1,200,1.6,CRD,6.5 +CMT,0,0,0,0,CRD,16.8 +CMT,1,2,377,0.7,CRD,6 +CMT,1,1,543,1.7,CRD,8.5 +CMT,1,1,418,1.5,CRD,7.5 +CMT,1,3,494,2.3,CRD,9 +CMT,1,1,354,1.3,CSH,7 +CMT,1,1,96,0.6,CRD,4 +CMT,1,3,533,2.7,CRD,10 +CMT,1,2,528,1.3,CRD,8 +CMT,1,1,553,1.7,CRD,8.5 +CMT,1,2,686,3,CSH,11 +CMT,1,1,623,1.4,CRD,8.5 +CMT,1,2,599,0.5,CRD,7.5 +CMT,1,1,481,1.2,CRD,7 +CMT,1,1,532,1.5,CSH,8 +CMT,1,1,399,1.5,CSH,7.5 +CMT,1,1,704,2.3,CRD,10.5 +CMT,1,1,480,1.1,CRD,7.5 +CMT,1,1,1014,1.9,CRD,12 +CMT,1,2,725,2,CRD,10.5 +CMT,1,1,461,1.3,CSH,7.5 +CMT,1,1,1027,4.8,CRD,17.5 +CMT,1,1,1229,2.7,CRD,15 +CMT,1,1,1505,2.6,CRD,16 +CMT,1,1,1044,1.7,CSH,12 +CMT,1,1,553,1.5,CRD,8 +CMT,1,1,1209,1.7,CSH,13.5 +CMT,1,1,823,4.9,CRD,17 +CMT,1,1,526,1.9,CRD,9 +CMT,1,1,901,1.2,CRD,10.5 +CMT,1,2,291,0.4,CSH,5 +CMT,1,1,734,2.2,CRD,10.5 +CMT,1,1,527,1.8,CSH,8.5 +CMT,1,1,3177,9.2,CSH,40 +CMT,1,1,1079,2,CRD,13 +CMT,1,1,671,3.7,CSH,12.5 +CMT,1,1,471,1.8,CRD,8 +CMT,1,1,414,0.8,CSH,6.5 +CMT,1,1,452,1.2,CRD,7 +CMT,1,1,427,2.2,CRD,9 +CMT,1,1,57,0.3,CRD,3 +CMT,1,1,1082,3.7,CRD,16 +CMT,1,2,432,0.8,CSH,6.5 +CMT,1,2,1228,3.7,CSH,16.5 +CMT,1,1,301,1.2,CRD,6 +CMT,1,1,492,2.7,CRD,10 +CMT,1,1,389,1.9,CSH,8 +CMT,1,2,644,1.9,CRD,9.5 +CMT,1,2,951,4.1,CRD,15.5 +CMT,1,1,297,1.4,CSH,6.5 +CMT,1,1,899,4.3,CRD,16 +CMT,1,1,622,1.9,CRD,9 +CMT,1,2,949,6.4,CRD,20.5 +CMT,2,1,13,1.6,CRD,52 +CMT,1,1,241,1.1,CRD,5.5 +CMT,1,2,802,2.1,CSH,11.5 +CMT,1,1,456,1.5,CSH,8 +CMT,1,1,572,1.9,CSH,9 +CMT,1,1,1214,10.4,CRD,30.5 +CMT,1,1,550,2.9,CRD,10.5 +CMT,1,1,543,2.1,CSH,9.5 +CMT,1,1,539,1.7,CRD,8.5 +CMT,1,1,659,3.5,CRD,13 +CMT,1,2,2323,19.8,CSH,55.5 +CMT,1,2,691,3.4,CRD,12 +CMT,1,1,330,1.1,CSH,6.5 +CMT,1,1,276,0.9,CRD,5.5 +CMT,1,2,520,1,CRD,7.5 +CMT,1,1,719,2.8,CRD,11.5 +CMT,1,1,223,1.1,CRD,5.5 +CMT,1,4,544,1.4,CSH,8 +CMT,1,1,638,2.6,CRD,11 +CMT,1,1,873,1.2,CSH,10 +CMT,1,1,1331,2.9,CRD,16 +CMT,1,1,563,1.1,CRD,7.5 +CMT,1,1,473,1,CRD,7 +CMT,1,1,278,0.6,CRD,5 +CMT,1,3,515,0.9,CSH,7 +CMT,1,1,82,0.3,CSH,3.5 +CMT,1,1,531,0.9,CSH,7 +CMT,1,1,538,1.3,CSH,7.5 +CMT,1,1,269,0.6,CSH,5 +CMT,1,1,149,0.7,CSH,4 +CMT,1,1,625,1.7,CSH,9 +CMT,5,1,20,1,CRD,60 +CMT,1,2,1211,4.8,CRD,18.5 +CMT,1,1,1231,10.4,CSH,31 +CMT,1,1,646,1.3,CSH,8.5 +CMT,1,2,473,1.4,CSH,7.5 +CMT,1,1,520,1.9,CSH,8 +CMT,1,1,858,2.1,CRD,11.5 +CMT,1,2,288,1.5,CRD,6.5 +CMT,1,1,506,2.3,CRD,9 +CMT,1,2,696,2,CSH,10 +CMT,1,1,560,2.2,CRD,10 +CMT,1,2,528,1.4,CSH,8 +CMT,1,1,1021,4.5,CRD,16.5 +CMT,1,1,1405,3.7,CSH,17.5 +CMT,1,1,241,0.7,CRD,5 +CMT,1,1,950,3.3,CSH,13.5 +CMT,1,1,723,3.7,CRD,13.5 +CMT,1,1,897,3.2,CSH,14 +CMT,1,1,472,0.4,CSH,6 +CMT,1,1,1460,3.3,CSH,17 +CMT,1,1,750,1.9,CRD,10 +CMT,1,1,589,1.5,CSH,8.5 +CMT,1,3,648,1.6,CSH,9 +CMT,1,3,367,1.1,CRD,6.5 +CMT,1,1,592,1.5,CRD,8.5 +CMT,1,1,918,1.3,CRD,10.5 +CMT,1,1,1001,2.3,CRD,12 +CMT,1,1,1257,2.6,CRD,15 +CMT,1,1,278,0.9,CRD,5.5 +CMT,1,1,629,1.9,CRD,9.5 +CMT,1,1,401,0.6,CSH,6 +CMT,1,3,192,0.5,CRD,4.5 +CMT,1,1,442,1,CSH,7 +CMT,1,1,357,0.4,CSH,5.5 +CMT,1,1,147,0.5,CRD,4 +CMT,1,1,119,0.5,CSH,4 +CMT,1,1,223,0.5,CRD,4.5 +CMT,1,1,664,1.6,CSH,9 +CMT,1,1,384,1.7,CRD,8 +CMT,1,1,1316,6.5,CSH,22 +CMT,1,2,376,0.6,CRD,5.5 +CMT,1,1,244,1.1,CSH,5.5 +CMT,1,1,317,1.2,CSH,6 +CMT,1,4,1481,3.9,CSH,18 +CMT,1,1,1995,12.6,CSH,38 +CMT,1,1,4,4.3,CRD,2.5 +CMT,1,2,766,3.3,CRD,13 +CMT,1,1,482,1.3,CRD,7.5 +CMT,1,2,203,0.3,CRD,4.5 +CMT,1,2,338,1.5,CRD,7 +CMT,1,4,914,4.7,CRD,17 +CMT,1,1,310,1.2,CRD,6 +CMT,1,2,1159,5.4,CSH,18.5 +CMT,1,3,500,1.3,CSH,8 +CMT,1,1,130,0.5,CSH,4 +CMT,1,2,833,3.4,CRD,13 +CMT,1,1,569,1.3,CRD,8 +CMT,1,1,821,2.7,CRD,12 +CMT,1,1,624,1.2,CSH,8 +CMT,1,1,345,0.4,CSH,5.5 +CMT,1,1,726,2.3,CRD,11 +CMT,1,1,578,5.2,CSH,16 +CMT,1,1,32,1.9,CSH,2.5 +CMT,1,1,636,1.3,CRD,8.5 +CMT,1,1,388,1.4,CRD,7 +CMT,1,1,1177,4.7,CRD,17.5 +CMT,1,1,327,0.9,CSH,6 +CMT,1,2,722,3.7,CRD,13.5 +CMT,1,1,753,2.6,CSH,11.5 +CMT,1,3,750,1.6,CRD,9.5 +CMT,1,1,1162,6.4,CSH,20.5 +CMT,1,1,573,2.5,CRD,10 +CMT,1,1,352,1.2,CRD,6.5 +CMT,1,2,861,2.8,CRD,12 +CMT,1,2,286,0.6,CSH,5 +CMT,1,1,380,1.4,CRD,7 +CMT,1,1,619,2.7,CRD,10.5 +CMT,1,1,1515,6.4,CSH,23.5 +CMT,1,2,394,1.4,CSH,7.5 +CMT,1,1,1073,2.9,CRD,14.5 +CMT,1,1,458,1.6,CSH,8 +CMT,1,1,1299,5.2,CSH,19.5 +CMT,1,2,459,1.4,CSH,7 +CMT,1,1,440,1,CRD,6.5 +CMT,1,3,477,1.8,CRD,9 +CMT,1,2,661,2.2,CRD,9.5 +CMT,1,2,698,3.2,CRD,12.5 +CMT,1,1,660,3.7,CRD,13.5 +CMT,1,1,681,3.4,CSH,12 +CMT,1,3,676,1.6,CSH,9.5 +CMT,1,2,295,1.3,CSH,6.5 +CMT,1,1,396,1.7,CRD,7.5 +CMT,1,1,131,0.3,CSH,3.5 +CMT,1,3,486,1.8,CSH,8.5 +CMT,1,1,883,3.2,CSH,13 +CMT,1,1,539,1.9,CSH,8.5 +CMT,1,2,816,2.4,CRD,11.5 +CMT,1,2,912,5.5,CRD,17.5 +CMT,1,1,196,0.3,CSH,4 +CMT,1,1,1245,6.7,CRD,22.5 +CMT,1,2,525,1.9,CRD,9 +CMT,1,2,532,1,CRD,7.5 +CMT,1,1,532,1,CSH,7.5 +CMT,1,1,919,3.7,CSH,14.5 +CMT,1,1,211,0.4,CSH,4.5 +CMT,1,1,194,0.8,CRD,4.5 +CMT,1,1,837,2.5,CRD,12 +CMT,1,1,204,0.6,CRD,4.5 +CMT,1,1,244,1.5,CRD,6.5 +CMT,1,1,613,2.6,CRD,10.5 +CMT,1,2,787,2.2,CSH,11 +CMT,1,3,313,0.4,CSH,5 +CMT,1,4,1125,3.6,CSH,15.5 +CMT,1,1,558,2.5,CSH,10.5 +CMT,1,1,550,2.3,CRD,9.5 +CMT,1,4,222,0.5,CSH,4.5 +CMT,1,1,870,2.6,CRD,12 +CMT,1,1,606,1.9,CRD,9 +CMT,1,1,147,0.9,CRD,4.5 +CMT,1,1,311,1.1,CSH,6 +CMT,1,1,276,1.1,CRD,5.5 +CMT,1,1,279,1.1,CSH,6 +CMT,1,1,218,0.6,CRD,4.5 +CMT,1,1,372,1.5,CSH,7.5 +CMT,1,1,198,1.3,CSH,5.5 +CMT,1,2,572,1.9,CSH,8.5 +CMT,1,1,1110,8.5,CRD,26 +CMT,1,1,49,1.5,CSH,2.5 +CMT,1,1,605,2.7,CSH,10.5 +CMT,1,1,732,3.1,CRD,12.5 +CMT,1,2,571,1.7,CRD,9 +CMT,1,3,780,4.9,CSH,17 +CMT,1,1,635,3.2,CSH,11.5 +CMT,1,1,651,2.6,CRD,10.5 +CMT,1,1,357,1.4,CSH,7 +CMT,1,1,263,1.5,CRD,6.5 +CMT,1,1,814,2.3,CSH,11 +CMT,1,3,242,0.8,CSH,5 +CMT,1,1,579,1.8,CRD,9 +CMT,1,1,847,2.3,CRD,12 +CMT,1,1,149,0.6,CRD,4.5 +CMT,1,3,579,1.9,CSH,9 +CMT,1,1,563,2.6,CRD,10.5 +CMT,1,1,581,1.9,CRD,9 +CMT,1,1,1254,6.3,CRD,22.5 +CMT,1,2,1594,4,CSH,19 +CMT,1,2,303,1.3,CRD,6.5 +CMT,1,1,372,0.8,CSH,6 +CMT,1,2,367,1.3,CRD,7 +CMT,1,1,495,2.2,CRD,9 +CMT,1,1,234,0.5,CRD,4.5 +CMT,1,1,1696,7.1,CRD,25.5 +CMT,1,2,489,1.1,CSH,7.5 +CMT,1,1,442,1.6,CSH,7.5 +CMT,1,2,675,2.1,CSH,10.5 +CMT,1,2,300,1,CSH,5.5 +CMT,1,3,469,1.1,CRD,7 +CMT,1,1,356,1.4,CRD,7 +CMT,1,1,227,1.1,CSH,5.5 +CMT,1,1,615,2.4,CRD,10 +CMT,1,1,427,2.5,CRD,9.5 +CMT,1,2,483,3.1,CRD,10.5 +CMT,1,1,908,2.8,CSH,13.5 +CMT,1,3,402,0.9,CSH,6.5 +CMT,1,1,414,0.8,CSH,6.5 +CMT,1,1,133,0.7,CSH,4.5 +CMT,1,1,248,1.1,CRD,6 +CMT,1,1,1229,4.7,CRD,18 +CMT,1,2,935,2.1,CRD,12 +CMT,1,1,319,1.2,CRD,6 +CMT,1,2,222,1.5,CRD,6.5 +CMT,1,2,686,3,CRD,12 +CMT,1,1,1234,4.4,CSH,17 +CMT,1,2,329,1.4,CRD,6.5 +CMT,1,1,336,1.3,CSH,6.5 +CMT,1,1,420,1.1,CSH,7 +CMT,1,1,136,0.7,CSH,4 +CMT,1,1,107,0.3,CSH,3.5 +CMT,1,1,699,2.3,CRD,10.5 +CMT,1,3,1144,3,CRD,14.5 +CMT,1,1,491,2.2,CSH,9 +CMT,1,1,456,2.1,CRD,8.5 +CMT,1,2,872,2.2,CSH,11.5 +CMT,1,1,900,1.8,CSH,10.5 +CMT,1,2,463,2.2,CSH,8.5 +CMT,1,1,279,1.2,CSH,6.5 +CMT,1,1,223,0.5,CSH,4.5 +CMT,1,1,447,1,CRD,6.5 +CMT,1,1,1057,4.4,CRD,16 +CMT,1,1,271,1,CRD,5.5 +CMT,1,1,672,3.7,CRD,13 +CMT,1,1,574,1.7,CRD,8.5 +CMT,1,1,612,2.1,CSH,10 +CMT,1,2,176,0.6,CSH,4.5 +CMT,1,2,316,0.6,CRD,5.5 +CMT,1,1,1938,23.6,CSH,62.5 +CMT,1,2,220,0.8,CSH,4.5 +CMT,1,1,304,0.9,CRD,6 +CMT,1,1,602,2.1,CRD,10 +CMT,1,4,246,0.7,CSH,5 +CMT,1,1,216,0.9,CSH,5.5 +CMT,1,2,214,0.6,CRD,4.5 +CMT,1,1,1036,5.6,CSH,18.5 +CMT,1,1,1105,4.8,CRD,16.5 +CMT,1,1,498,2.7,CSH,10 +CMT,1,1,436,1,CSH,6.5 +CMT,1,3,1737,7.4,CSH,26.5 +CMT,1,1,1083,1.7,CRD,12.5 +CMT,1,1,1210,2.2,CRD,13.5 +CMT,2,1,19,4.9,CRD,52 +CMT,1,1,617,1.9,CRD,9.5 +CMT,1,2,507,0.9,CSH,7 +CMT,1,1,1122,5.5,CRD,19.5 +CMT,1,1,1227,3.4,CSH,16 +CMT,1,1,445,2.1,CSH,8.5 +CMT,1,2,590,1.5,CSH,8.5 +CMT,1,2,742,0.8,CSH,9 +CMT,1,1,513,1.5,CRD,8 +CMT,1,2,104,0.5,CSH,4 +CMT,1,1,240,0.7,CSH,5 +CMT,1,4,460,1.5,CSH,7.5 +CMT,1,1,1018,1.9,CSH,12.5 +CMT,1,1,290,0.9,CRD,5.5 +CMT,1,1,1195,8,CRD,24.5 +CMT,1,1,916,2.9,CRD,13 +CMT,1,2,663,2.6,CRD,11 +CMT,1,1,1001,4.5,CSH,17.5 +CMT,1,1,420,1.3,CSH,7.5 +CMT,1,1,671,2.4,CRD,10.5 +CMT,1,2,307,0.9,CRD,6 +CMT,1,4,663,2.4,CRD,10.5 +CMT,1,2,674,1.2,CRD,9 +CMT,1,2,897,5.2,CRD,16.5 +CMT,1,1,902,2.2,CRD,11.5 +CMT,1,1,1264,3,CSH,15 +CMT,1,1,500,1.8,CSH,8 +CMT,1,1,142,0.8,CRD,4.5 +CMT,1,1,648,1.9,CRD,9 +CMT,1,1,420,1.1,CRD,6.5 +CMT,1,1,1210,5.2,CRD,19 +CMT,1,1,1272,11.1,CSH,32.5 +CMT,1,1,238,0.8,CSH,5 +CMT,1,1,571,2.5,CRD,10 +CMT,1,1,1051,4.9,CRD,17 +CMT,1,1,493,1.8,CRD,8.5 +CMT,1,1,387,1.2,CRD,7 +CMT,1,1,636,2.9,CRD,11 +CMT,1,1,438,1.6,CSH,8 +CMT,1,1,882,3.4,CSH,14 +CMT,1,1,220,0.6,CSH,5 +CMT,1,1,688,1.7,CRD,9.5 +CMT,1,1,259,0.9,CSH,5.5 +CMT,1,1,81,0.4,CSH,3.5 +CMT,1,2,789,1.1,CRD,9 +CMT,1,1,750,2.3,CSH,11 +CMT,1,1,1981,10.2,CSH,33.5 +CMT,1,4,338,1.4,CSH,6.5 +CMT,1,1,1003,4.6,CRD,17 +CMT,1,1,684,2.1,CRD,10 +CMT,1,1,1256,3.7,CRD,16 +CMT,1,1,388,1.1,CRD,6.5 +CMT,1,1,352,0.6,CRD,5.5 +CMT,1,1,387,1.2,CRD,6.5 +CMT,1,1,810,4.8,CRD,16.5 +CMT,1,1,383,1.9,CRD,8 +CMT,1,1,354,1.4,CSH,7 +CMT,1,1,112,0.3,CSH,3.5 +CMT,1,1,271,1,CSH,5.5 +CMT,1,1,673,3.7,CRD,12.5 +CMT,1,1,941,2.1,CRD,11.5 +CMT,1,1,241,0.5,CSH,5 +CMT,1,1,1214,6.5,CSH,22.5 +CMT,1,1,418,1,CSH,6.5 +CMT,1,1,582,2.7,CSH,10 +CMT,1,1,696,4,CSH,13.5 +CMT,1,1,471,1.1,CRD,7 +CMT,1,2,1418,4.5,CRD,18.5 +CMT,1,1,268,1.1,CRD,6 +CMT,1,1,877,4.3,CSH,15 +CMT,1,1,591,2.5,CSH,10 +CMT,1,1,231,1.1,CSH,5.5 +CMT,1,1,249,1.2,CRD,6 +CMT,1,2,226,0.6,CSH,4.5 +CMT,1,2,545,1.8,CRD,8.5 +CMT,1,1,356,1.6,CSH,7.5 +CMT,1,2,322,1.2,CSH,6.5 +CMT,1,2,117,0.2,CSH,3.5 +CMT,1,2,706,3.1,CRD,12 +CMT,1,1,188,0.5,CSH,4 +CMT,1,1,479,1.5,CRD,7.5 +CMT,1,1,284,1.1,CRD,6 +CMT,1,1,352,0.9,CRD,6 +CMT,1,2,647,2.3,CRD,10 +CMT,1,1,229,1.6,CRD,6.5 +CMT,1,1,1228,1.4,CRD,13 +CMT,1,1,1005,3.9,CRD,15.5 +CMT,1,1,850,3.5,CSH,13.5 +CMT,1,1,340,1.7,CRD,7 +CMT,1,4,854,1.5,CRD,10.5 +CMT,1,1,816,2.6,CRD,12 +CMT,1,1,359,1.5,CSH,7 +CMT,1,1,918,4.7,CSH,16.5 +CMT,1,1,527,2.6,CRD,10 +CMT,1,1,156,1,CSH,5 +CMT,1,1,571,0.7,CRD,7.5 +CMT,1,1,133,0.4,CRD,4 +CMT,1,2,366,1.7,CRD,7.5 +CMT,1,1,508,2.8,CRD,10 +CMT,1,1,691,1.5,CSH,9 +CMT,1,1,983,7,CRD,21.5 +CMT,1,1,349,0.7,CRD,5.5 +CMT,1,2,373,1.3,CRD,7 +CMT,1,1,1428,6.5,CRD,23 +CMT,1,1,917,10,CRD,29 +CMT,1,1,242,0.6,CSH,5 +CMT,1,2,275,0.8,CSH,5.5 +CMT,1,1,445,1.1,CRD,7 +CMT,1,1,1765,3.8,CRD,20.5 +CMT,1,3,504,1.2,CRD,7.5 +CMT,1,2,1334,5.3,CRD,19.5 +CMT,1,1,626,2,CRD,9 +CMT,1,1,307,1,CRD,6 +CMT,1,1,429,1.3,CRD,7.5 +CMT,1,1,1649,6.1,CRD,23 +CMT,1,1,398,2.3,CSH,9 +CMT,1,1,593,2.6,CRD,11 +CMT,1,1,935,7.3,CSH,23 +CMT,1,1,177,0.3,CSH,4 +CMT,1,1,757,5,CRD,16.5 +CMT,1,1,230,0.6,CSH,4.5 +CMT,1,3,613,1.9,CRD,9 +CMT,1,2,360,0.7,CSH,5.5 +CMT,1,1,352,0.8,CRD,5.5 +CMT,1,1,204,1.3,CRD,5.5 +CMT,1,1,282,0.8,CRD,5.5 +CMT,1,1,318,0.8,CRD,6 +CMT,1,1,426,1.1,CSH,7 +CMT,1,1,449,1.2,CRD,7 +CMT,1,1,1263,2.5,CSH,14.5 +CMT,1,1,705,2.1,CSH,10.5 +CMT,1,1,1007,4.5,CRD,17 +CMT,1,1,714,3.6,CRD,12.5 +CMT,1,1,630,2.8,CSH,11 +CMT,1,1,660,2.2,CSH,10 +CMT,1,2,772,2.9,CRD,11.5 +CMT,1,3,318,1.3,CSH,6 +CMT,1,1,640,1.8,CSH,10 +CMT,1,1,328,1.3,CSH,6.5 +CMT,1,1,18,1.6,CSH,2.5 +CMT,1,1,275,1.1,CSH,6 +CMT,1,1,612,1.8,CRD,9 +CMT,1,1,1287,6,CRD,21 +CMT,1,1,367,0.7,CRD,6 +CMT,1,2,385,1.7,CRD,7.5 +CMT,1,1,276,1,CSH,5.5 +CMT,1,1,725,3,CRD,12.5 +CMT,1,2,641,2.6,CSH,11 +CMT,1,2,813,1.6,CSH,10.5 +CMT,1,1,908,4.6,CRD,16.5 +CMT,1,2,255,0.6,CSH,5 +CMT,1,3,879,5.4,CRD,16.5 +CMT,1,1,1259,3.2,CRD,15 +CMT,1,1,507,1.3,CRD,8 +CMT,1,1,509,3.7,CRD,12 +CMT,1,1,900,2.4,CRD,12 +CMT,1,1,901,2.5,CRD,12 +CMT,1,2,336,1.3,CSH,6.5 +CMT,1,2,1335,4,CRD,17.5 +CMT,1,1,1075,6.7,CRD,22.5 +CMT,1,1,125,0.7,CSH,4.5 +CMT,1,2,605,2.9,CSH,11.5 +CMT,1,2,1018,3.7,CRD,16 +CMT,1,1,89,0.3,CRD,3.5 +CMT,1,1,443,1.6,CSH,7.5 +CMT,1,1,1197,2.4,CSH,14 +CMT,1,1,566,1.8,CSH,8.5 +CMT,1,1,313,1,CRD,6 +CMT,1,1,419,1.4,CRD,7.5 +CMT,1,1,488,1.5,CSH,8 +CMT,1,1,351,1.4,CRD,6.5 +CMT,1,2,220,0.8,CSH,5 +CMT,1,1,765,1.6,CSH,10 +CMT,1,2,769,1.7,CRD,10 +CMT,1,2,320,1.1,CSH,6 +CMT,1,2,1174,5.2,CSH,18 +CMT,1,1,621,1.7,CRD,9 +CMT,1,1,446,1.3,CSH,7.5 +CMT,1,1,248,0.8,CRD,5 +CMT,1,1,366,1,CSH,6.5 +CMT,1,1,609,1.7,CSH,8.5 +CMT,1,1,354,1.3,CRD,6.5 +CMT,1,1,633,1.4,CSH,8.5 +CMT,1,1,378,0.9,CSH,6 +CMT,1,1,903,2.3,CRD,12 +CMT,1,2,149,0.2,CRD,3.5 +CMT,1,1,1328,2.5,CSH,15 +CMT,1,1,551,0.7,CRD,7.5 +CMT,1,3,515,1,CSH,7 +CMT,1,1,95,0.5,CSH,3.5 +CMT,1,1,280,1.2,CRD,6 +CMT,1,1,379,1.6,CRD,7 +CMT,1,1,799,2.2,CSH,11 +CMT,1,1,738,2.1,CRD,10.5 +CMT,1,2,271,0.8,CRD,5.5 +CMT,1,1,1123,5,CRD,17.5 +CMT,1,2,379,1.4,CSH,7 +CMT,1,2,1958,11.8,CRD,36 +CMT,1,1,477,1.9,CSH,8.5 +CMT,1,1,329,1,CRD,6.5 +CMT,1,1,585,1.7,CSH,8.5 +CMT,1,1,449,1.2,CSH,6.5 +CMT,1,1,796,4.2,CRD,15 +CMT,1,1,421,1.5,CRD,7.5 +CMT,1,1,491,1.1,CSH,7 +CMT,1,1,4,2.7,CSH,2.5 +CMT,1,1,741,2.8,CSH,12 +CMT,1,1,351,1.1,CRD,6 +CMT,1,1,184,0.5,CSH,4.5 +CMT,1,1,697,3.3,CSH,12 +CMT,1,1,827,3.4,CRD,13 +CMT,1,1,233,1,CRD,5.5 +CMT,1,1,240,0.8,CSH,5 +CMT,1,1,186,0.6,CSH,4.5 +CMT,1,1,439,1.9,CSH,8.5 +CMT,1,1,1075,4.8,CSH,18 +CMT,1,1,765,1.2,CSH,9.5 +CMT,1,1,107,0.6,CSH,4 +CMT,1,1,946,2.5,CSH,12.5 +CMT,1,1,539,1.9,CRD,8.5 +CMT,1,3,222,0.2,CRD,4.5 +CMT,1,1,1487,13.8,CSH,40 +CMT,1,1,337,1.3,CSH,6.5 +CMT,1,1,702,1.8,CRD,9.5 +CMT,1,2,191,0.6,CRD,4.5 +CMT,1,2,309,0.7,CRD,5.5 +CMT,1,1,1052,7.8,CRD,24 +CMT,1,1,566,2.1,CSH,9 +CMT,1,1,558,1.6,CRD,8.5 +CMT,1,1,492,2,CSH,8.5 +CMT,1,3,1022,6,CRD,20 +CMT,1,1,1353,8.7,CRD,27.5 +CMT,1,2,871,3.6,CRD,13.5 +CMT,1,1,558,1.4,CRD,8 +CMT,1,2,295,1.1,CSH,6 +CMT,1,1,336,0.8,CSH,5.5 +CMT,1,1,1086,1.4,CRD,12 +CMT,1,1,1539,10.9,CSH,32.5 +CMT,1,1,1343,8,CSH,26.5 +CMT,1,1,581,1.9,CRD,9 +CMT,1,1,210,0.6,CSH,4.5 +CMT,4,1,686,1.8,CSH,9.5 +CMT,1,1,615,2.8,CSH,11.5 +CMT,1,1,344,1.4,CSH,6.5 +CMT,1,1,220,0.8,CRD,5 +CMT,1,1,897,2.7,CRD,12 +CMT,1,1,330,1,CRD,5.5 +CMT,1,1,695,1.8,CRD,9.5 +CMT,1,1,848,2.7,CSH,12 +CMT,1,1,290,1.6,CSH,7 +CMT,2,2,2085,21,CSH,52 +CMT,1,1,522,2.1,CSH,9 +CMT,1,1,280,0.7,CRD,5.5 +CMT,1,1,595,1.7,CSH,9 +CMT,1,1,727,2.3,CRD,10.5 +CMT,1,1,1123,2.9,CSH,14.5 +CMT,1,1,173,0.4,CSH,4 +CMT,1,1,438,1.3,CSH,7.5 +CMT,1,1,229,1.5,CRD,6 +CMT,1,1,540,1.6,CRD,8 +CMT,1,1,721,3.1,CRD,12.5 +CMT,1,1,90,0.3,CSH,3.5 +CMT,1,1,378,1.2,CRD,6.5 +CMT,1,1,567,3.4,CRD,11.5 +CMT,1,1,574,2.2,CSH,10 +CMT,1,1,318,1.4,CRD,7 +CMT,1,1,491,0.6,CSH,6.5 +CMT,1,1,623,2.1,CSH,9.5 +CMT,1,1,478,1.5,CSH,7.5 +CMT,1,1,384,1.2,CRD,7 +CMT,1,1,1326,5,CSH,19 +CMT,1,1,177,0.8,CRD,4.5 +CMT,1,1,562,0.8,CSH,7.5 +CMT,1,1,956,3.7,CRD,14.5 +CMT,1,1,683,3.9,CRD,13 +CMT,1,1,161,1,CRD,5 +CMT,1,1,579,2,CSH,9.5 +CMT,1,1,241,0.5,CSH,4.5 +CMT,1,4,108,0.4,CSH,3.5 +CMT,1,1,1003,1.8,CSH,11.5 +CMT,1,1,1035,2.7,CSH,14 +CMT,1,1,317,1.2,CRD,6 +CMT,1,1,537,1.8,CSH,9 +CMT,1,1,633,2.2,CRD,10 +CMT,1,1,1018,2.4,CSH,13 +CMT,1,3,360,1.9,CSH,8 +CMT,1,1,648,2,CSH,9.5 +CMT,1,2,270,1,CSH,5.5 +CMT,1,2,721,3.1,CRD,11.5 +CMT,1,3,229,0.7,CRD,5 +CMT,1,1,1538,3.5,CRD,18 +CMT,1,1,701,2.6,CRD,11 +CMT,1,1,1449,2.7,CRD,17 +CMT,1,1,552,1.1,CSH,7.5 +CMT,1,1,119,0.6,CSH,4 +CMT,1,1,213,0.8,CRD,5 +CMT,1,2,729,3.6,CRD,12.5 +CMT,1,2,449,1.3,CRD,7.5 +CMT,1,1,1424,8.4,CRD,26.5 +CMT,1,1,439,1.1,CSH,7 +CMT,1,1,493,1,CSH,7 +CMT,1,1,281,0.8,CSH,5.5 +CMT,1,1,714,1.7,CSH,9 +CMT,1,1,341,1.1,CRD,6.5 +CMT,1,2,526,2.3,CSH,9 +CMT,1,2,189,0.4,CRD,4 +CMT,1,2,408,1.7,CRD,8 +CMT,1,1,1206,4.4,CRD,17 +CMT,1,2,307,0.7,CRD,5.5 +CMT,1,1,481,2.2,CRD,9 +CMT,1,2,131,0.2,CSH,3.5 +CMT,1,1,59,0.3,CSH,3 +CMT,1,2,1680,6.4,CSH,24 +CMT,1,1,127,0.3,CSH,3.5 +CMT,1,1,645,1.7,CSH,9 +CMT,1,2,1144,4.8,CRD,18 +CMT,1,1,462,1.5,CSH,8 +CMT,1,2,443,1.5,CRD,7.5 +CMT,1,3,886,4,CRD,14 +CMT,1,4,122,0.6,CSH,4 +CMT,1,1,803,1.7,CSH,10.5 +CMT,1,2,616,3.5,CRD,12 +CMT,1,1,832,4,CRD,14.5 +CMT,1,1,522,1.6,CSH,8 +CMT,1,1,757,2,CRD,10.5 +CMT,1,1,430,2.1,CRD,8.5 +CMT,1,2,822,5.6,CSH,18.5 +CMT,1,3,288,1.4,CRD,7 +CMT,1,4,567,1.9,CSH,9 +CMT,1,1,332,1.4,CSH,7 +CMT,1,1,430,1.3,CRD,7 +CMT,1,1,135,0.2,CSH,3.5 +CMT,1,1,667,1.5,CSH,9 +CMT,1,1,387,1.2,CRD,6.5 +CMT,1,1,1677,8,CRD,27.5 +CMT,1,1,625,1.7,CSH,9 +CMT,1,1,203,0.6,CRD,4.5 +CMT,1,1,528,1.7,CSH,8.5 +CMT,1,1,432,1.8,CSH,8 +CMT,1,3,880,4.4,CRD,16 +CMT,1,1,810,1.9,CRD,10.5 +CMT,1,1,123,0.5,CRD,4 +CMT,1,1,1002,6.7,CSH,21.5 +CMT,1,1,153,0.6,CRD,4.5 +CMT,1,1,907,3.5,CRD,13.5 +CMT,1,1,317,0.6,CRD,5.5 +CMT,1,1,305,0.5,CSH,5 +CMT,1,1,864,1.9,CRD,11 +CMT,1,1,793,1.2,CSH,10 +CMT,1,1,337,1.4,CRD,6.5 +CMT,1,1,873,4.1,CRD,15 +CMT,1,1,509,1.3,CSH,7 +CMT,1,1,832,1.1,CSH,10 +CMT,1,1,266,0.9,CSH,5.5 +CMT,1,1,573,4,CRD,13 +VTS,1,1,720,1.98,CSH,10 +VTS,1,1,120,0.51,CSH,4 +VTS,1,1,420,1.53,CSH,7.5 +VTS,1,1,900,2.93,CRD,12.5 +VTS,1,1,1020,2.98,CRD,13 +VTS,1,1,1080,5.63,CSH,20 +VTS,1,1,900,1.19,CSH,10 +VTS,1,1,840,2.37,CSH,11.5 +VTS,1,1,960,3.07,CSH,13 +VTS,1,1,1620,15.9,CRD,43 +VTS,1,1,60,0.63,CSH,4 +VTS,1,1,480,1.11,CSH,7 +VTS,1,1,120,0.56,CRD,4 +VTS,1,1,600,2.17,CSH,9.5 +VTS,1,1,1140,11.64,CRD,32.5 +VTS,1,1,540,1.91,CSH,9 +VTS,1,1,420,0.68,CSH,6 +VTS,1,1,240,0.96,CRD,5 +VTS,1,1,300,1.08,CSH,6 +VTS,1,1,540,1.48,CRD,8 +VTS,1,1,360,0.86,CRD,6 +CMT,1,1,665,2.4,CRD,10.5 +CMT,1,1,488,1,CRD,7.5 +CMT,1,1,712,2.8,CSH,12 +CMT,1,1,784,3.8,CSH,13.5 +CMT,1,2,3032,5.8,CSH,33 +CMT,1,1,137,1,CSH,5 +CMT,1,2,461,1.5,CSH,7.5 +CMT,1,1,301,0.8,CSH,5.5 +CMT,1,1,788,4.3,CSH,15 +CMT,1,2,391,2.2,CRD,8.5 +CMT,1,1,435,1.9,CRD,8.5 +CMT,1,1,533,2.1,CRD,10 +CMT,1,1,1112,4.9,CRD,18.5 +CMT,1,2,1246,8.1,CRD,26 +CMT,1,2,841,5.5,CSH,17.5 +CMT,1,1,397,1.4,CRD,7 +CMT,1,1,219,1,CSH,5 +CMT,1,1,413,1.5,CRD,7.5 +CMT,1,2,415,1.2,CSH,7 +CMT,1,1,415,0.7,CRD,6 +CMT,1,2,498,1.4,CRD,8 +CMT,1,1,308,0.9,CSH,6 +CMT,1,1,1024,5,CSH,18 +CMT,1,1,220,1.8,CSH,7 +CMT,1,1,565,3.6,CSH,12.5 +CMT,1,1,137,0.1,CRD,3.5 +CMT,1,1,422,1.3,CRD,7 +CMT,1,1,689,4.2,CSH,14.5 +CMT,1,1,511,2.2,CRD,10 +CMT,1,1,825,4.6,CRD,15 +CMT,1,1,1088,3.7,CRD,15 +CMT,1,1,654,2,CRD,9.5 +CMT,1,2,366,1.3,CSH,6.5 +CMT,1,1,850,2.6,CRD,11.5 +CMT,1,1,626,2.6,CRD,10.5 +CMT,1,1,392,1.1,CSH,6 +VTS,1,1,540,3.34,CRD,11.5 +VTS,1,1,360,1.11,CSH,6.5 +VTS,1,1,360,1.33,CSH,6.5 +VTS,1,1,1020,1.22,CSH,11 +VTS,1,1,780,1.57,CSH,10 +VTS,1,1,660,3.82,CSH,14 +VTS,1,1,360,0.46,CSH,5 +VTS,1,1,420,1.13,CSH,6.5 +VTS,1,1,300,1.06,CRD,5.5 +VTS,1,1,240,1.03,CSH,5 +VTS,1,1,240,0.64,CSH,5 +VTS,1,1,780,1.46,CRD,10 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,660,2.03,CRD,9.5 +VTS,1,1,840,2.58,CRD,12.5 +VTS,1,1,300,1.09,CRD,6 +VTS,2,1,1800,19.32,CRD,52 +VTS,1,1,660,1.46,CSH,9 +CMT,1,1,460,1,CRD,7 +CMT,1,1,147,0.8,CRD,4.5 +CMT,4,1,567,1.8,CRD,8.5 +CMT,1,1,450,1.2,CSH,7 +CMT,1,1,400,1.5,CRD,7 +CMT,1,1,898,8.5,CRD,24.5 +CMT,1,1,381,1.4,CRD,7 +CMT,1,1,928,5.8,CSH,19 +CMT,1,1,362,1.4,CRD,7 +CMT,1,1,1567,5.1,CSH,21 +CMT,1,1,1132,5.7,CRD,20 +CMT,1,1,392,1.1,CRD,6.5 +CMT,1,1,939,3.3,CRD,13.5 +CMT,1,1,100,0.1,CSH,3 +CMT,1,1,263,1.1,CSH,6 +CMT,1,1,675,0.7,CRD,8 +CMT,1,1,563,1,CSH,7.5 +CMT,1,1,396,1.3,CSH,6.5 +CMT,1,1,423,0.8,CSH,6 +CMT,1,1,842,2.6,CRD,12 +CMT,1,1,1122,3.5,CRD,15.5 +CMT,1,1,338,0.9,CRD,6 +CMT,1,1,905,2.3,CSH,11.5 +CMT,1,1,441,1.3,CSH,7 +CMT,1,1,328,1.1,CSH,6.5 +VTS,1,1,300,1.21,CSH,6 +CMT,1,1,350,1.1,CRD,6 +CMT,1,1,433,1.6,CRD,7.5 +CMT,1,1,816,5.9,CSH,18.5 +CMT,1,1,131,0.3,CRD,3.5 +CMT,1,1,574,1.7,CRD,8.5 +CMT,1,1,332,0.5,CSH,5 +CMT,1,1,1161,2.8,CSH,14.5 +CMT,1,1,691,2.3,CRD,10.5 +CMT,1,1,163,0.7,CSH,4.5 +CMT,1,1,637,2.2,CSH,10 +CMT,1,1,754,2.3,CRD,10.5 +CMT,1,1,1214,3.6,CRD,15.5 +CMT,1,1,1002,4,CSH,15 +CMT,1,1,1274,5.1,CRD,19 +CMT,1,1,326,1.2,CSH,6 +VTS,1,1,420,1.12,CRD,7 +VTS,1,1,360,1.03,CRD,6.5 +VTS,1,1,1560,10.15,CRD,31 +VTS,1,1,540,2.66,CSH,10 +VTS,1,1,300,0.62,CSH,5.5 +VTS,1,1,240,0.53,CRD,4.5 +VTS,1,1,540,1.33,CSH,8 +VTS,1,1,480,1.27,CSH,7 +VTS,1,1,1140,8.97,CSH,27 +VTS,1,1,600,1.33,CSH,8 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,240,0.98,CSH,5 +VTS,1,1,120,0.42,CRD,3.5 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,660,1.09,CSH,8 +VTS,1,1,1440,3.77,CRD,16.5 +VTS,1,1,1020,4.5,CSH,16 +VTS,1,1,1980,3.04,CRD,21.5 +VTS,1,1,300,1.43,CRD,6.5 +VTS,1,1,480,1.14,CRD,7.5 +VTS,1,1,600,2.1,CRD,10 +VTS,1,1,600,1.85,CRD,8.5 +VTS,1,1,1020,2.79,CSH,13 +VTS,1,1,780,3.72,CRD,13 +VTS,1,1,360,1.46,CSH,7 +VTS,1,1,120,0.37,CRD,3.5 +VTS,1,1,420,0.91,CSH,6.5 +VTS,1,1,420,1.34,CRD,7 +VTS,1,1,420,1.22,CSH,7 +VTS,1,1,120,0.53,CRD,4 +VTS,1,1,420,0.99,CRD,6.5 +VTS,1,1,300,0.81,CRD,5.5 +VTS,2,1,1680,18.65,CRD,52 +VTS,2,1,2220,18.43,CRD,52 +VTS,1,1,120,0.77,CSH,4.5 +VTS,1,1,480,0.59,CSH,7 +VTS,1,1,240,0.47,CSH,4.5 +VTS,1,1,1020,2.75,CRD,13 +VTS,1,1,600,2,CRD,9 +VTS,1,1,120,0.65,CSH,4 +VTS,1,1,240,0.9,CSH,5.5 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,240,1.06,CSH,5.5 +VTS,1,1,480,1.93,CSH,9 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,300,1.24,CRD,6 +VTS,1,1,600,1.52,CRD,8.5 +VTS,1,1,840,2.82,CRD,12.5 +VTS,2,1,1860,15.77,CRD,52 +VTS,1,1,420,1.71,CSH,7.5 +VTS,1,1,1080,5.83,CRD,19.5 +VTS,1,1,1080,4.45,CRD,18 +VTS,1,1,420,1.43,CRD,8 +VTS,1,1,1860,5.34,CRD,23 +VTS,1,1,1080,3.28,CSH,14.5 +VTS,1,1,420,1.23,CSH,7 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,540,3.23,CSH,11 +VTS,1,1,480,1.24,CSH,7.5 +VTS,1,1,480,1.79,CRD,8.5 +VTS,1,1,420,1.01,CSH,7 +VTS,1,1,180,0.26,CSH,4 +VTS,1,1,240,1.01,CSH,5 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,1560,14.05,CSH,40 +VTS,1,1,180,0.53,CSH,4 +VTS,1,1,780,2.59,CSH,11 +VTS,1,1,600,1.75,CSH,9 +VTS,2,1,2160,17.99,CSH,52 +VTS,1,1,600,1.17,CRD,8 +VTS,1,1,480,1.42,CRD,7.5 +VTS,1,1,60,0.38,CSH,3 +VTS,1,1,720,1.98,CSH,10 +VTS,1,1,420,0.98,CRD,6 +VTS,1,1,780,1.7,CRD,10 +VTS,1,1,480,0.88,CSH,6.5 +VTS,1,1,1380,7.42,CSH,24.5 +VTS,1,1,60,0.43,CSH,3.5 +VTS,1,1,840,2,CRD,11 +VTS,1,1,300,0.44,CRD,5 +VTS,1,1,660,2.41,CSH,11 +VTS,1,1,120,0.34,CSH,3.5 +VTS,1,1,720,1.84,CSH,10 +VTS,1,1,600,0.7,CSH,7.5 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,420,1.33,CRD,7 +VTS,1,1,300,1.08,CSH,6 +VTS,1,1,420,1.05,CSH,7 +VTS,1,1,480,1.08,CSH,7 +VTS,1,1,1080,1.72,CSH,12 +VTS,1,1,900,1.91,CSH,11.5 +VTS,1,1,780,1.94,CSH,10 +VTS,1,1,660,2.24,CRD,10 +VTS,1,1,1440,4.58,CRD,19.5 +CMT,1,2,171,0.5,CRD,4 +CMT,1,1,491,2.7,CRD,9.5 +CMT,1,2,1354,4.1,CSH,17.5 +CMT,1,1,165,1,CRD,5 +CMT,1,3,1210,10.1,CSH,30 +CMT,1,1,331,0.5,CSH,5.5 +CMT,1,1,762,2.4,CSH,10.5 +CMT,4,1,411,1.1,CSH,6.5 +CMT,1,1,639,1.7,CSH,8.5 +CMT,1,1,170,1,CSH,5 +CMT,1,1,287,1.1,CSH,6 +CMT,1,1,1412,6.1,CSH,22 +CMT,1,1,280,1.1,CSH,6 +CMT,1,1,207,0.4,CSH,4 +CMT,1,1,232,1.1,CSH,6 +CMT,1,1,470,1.7,CRD,8 +CMT,1,1,301,0.8,CSH,5.5 +CMT,1,1,657,3.4,CRD,12 +CMT,1,1,621,2.5,CRD,10.5 +CMT,1,1,474,2.4,CRD,9 +CMT,1,1,80,0.6,CRD,4 +CMT,1,1,186,0.7,CRD,4.5 +CMT,1,2,463,1.2,CSH,7 +CMT,1,1,733,2.3,CRD,11 +CMT,1,1,233,0.4,CRD,4.5 +CMT,1,1,362,1.7,CSH,7.5 +CMT,1,1,552,2.4,CRD,9.5 +CMT,1,1,1349,6.4,CRD,22.5 +CMT,1,1,388,0.6,CSH,6 +CMT,1,1,137,0.5,CSH,4 +CMT,1,1,645,2.4,CSH,10.5 +CMT,1,1,514,1.7,CSH,8.5 +CMT,1,1,1131,6.2,CRD,21 +CMT,1,1,1179,5.5,CRD,20.5 +CMT,1,1,1300,9,CSH,27.5 +VTS,1,1,660,3.59,CRD,13.5 +VTS,1,1,1080,6.26,CRD,20.5 +VTS,1,1,0,0.05,CSH,2.5 +VTS,1,1,300,0.62,CSH,5 +VTS,1,1,2400,25.42,CRD,69.5 +VTS,1,1,480,1.5,CSH,7.5 +VTS,1,1,360,1.75,CSH,8 +VTS,1,1,540,2.89,CSH,10 +VTS,1,1,780,2.14,CRD,10.5 +VTS,1,1,900,1.49,CRD,10.5 +VTS,1,1,540,1.55,CRD,7.5 +VTS,1,1,720,1.37,CSH,9.5 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,180,0.86,CSH,4.5 +VTS,1,1,960,3.13,CRD,13 +VTS,1,1,480,1.76,CSH,8 +VTS,1,1,480,1.73,CSH,8 +VTS,1,1,480,1.56,CSH,7.5 +VTS,1,1,600,1.08,CRD,8 +VTS,1,1,480,0.75,CRD,6.5 +VTS,1,1,660,1.62,CSH,9 +VTS,1,1,480,1.28,CSH,7.5 +VTS,1,1,660,1.27,CRD,8.5 +VTS,1,1,780,2.5,CSH,11 +VTS,1,1,360,1.83,CRD,7.5 +VTS,1,1,960,6.77,CSH,22 +VTS,1,1,180,0.87,CRD,5 +VTS,1,1,300,0.57,CRD,5 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,360,0.69,CSH,5.5 +VTS,1,1,660,2.21,CRD,10 +VTS,1,1,300,0.81,CRD,5 +VTS,1,1,180,0.74,CSH,5 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,420,1.37,CSH,7 +VTS,2,1,1500,17.52,CRD,52 +VTS,1,1,240,1.05,CSH,6 +VTS,1,1,540,0.72,CSH,7 +VTS,1,1,660,1.15,CRD,8 +VTS,1,1,480,1.2,CRD,7 +VTS,1,1,240,0.86,CRD,5 +VTS,1,1,960,5.7,CRD,18 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,420,1.26,CRD,7 +VTS,1,1,600,0.86,CSH,8 +VTS,1,1,180,0.53,CRD,4.5 +VTS,1,1,720,2.52,CSH,11 +VTS,1,1,420,0.89,CRD,6.5 +VTS,1,1,360,0.69,CSH,5.5 +VTS,1,1,540,2.82,CRD,11 +VTS,1,1,300,0.61,CSH,5 +VTS,1,1,1140,1.31,CRD,12.5 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,300,1.6,CSH,6.5 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,180,0.46,CRD,4 +VTS,1,1,480,1.54,CRD,7.5 +VTS,1,1,780,3.41,CRD,13 +VTS,1,1,180,0.82,CRD,4.5 +VTS,1,1,480,1.63,CSH,8 +VTS,1,1,540,1.7,CSH,8.5 +VTS,1,1,240,0.49,CRD,4.5 +VTS,1,1,180,0.89,CSH,4.5 +VTS,1,1,360,0.7,CSH,5.5 +VTS,1,1,360,1.78,CRD,7 +VTS,1,1,420,2.44,CSH,9 +VTS,1,1,360,0.9,CSH,6 +VTS,1,1,540,1.43,CRD,8.5 +VTS,1,1,300,1.57,CSH,6.5 +VTS,1,1,300,1.71,CSH,7 +VTS,1,1,660,2.71,CSH,11 +VTS,1,1,240,0.74,CSH,5 +CMT,1,1,594,2.2,CSH,9.5 +CMT,1,1,449,1.9,CSH,8 +CMT,1,1,268,0.9,CRD,5.5 +CMT,1,1,816,2.2,CRD,11.5 +CMT,1,1,410,1,CRD,6.5 +CMT,1,1,503,1.6,CRD,8.5 +CMT,1,1,1867,6.1,CRD,24 +CMT,1,1,692,2.6,CSH,11 +CMT,1,1,421,1.8,CSH,7.5 +CMT,4,1,900,2.8,CSH,12 +CMT,1,1,503,2.2,CRD,9 +CMT,1,1,781,6,CSH,18 +CMT,1,1,1651,7.7,CRD,26 +VTS,1,1,120,0.7,CRD,4 +VTS,1,1,840,3.01,CRD,12.5 +VTS,1,1,120,0.53,CSH,3.5 +VTS,2,1,2280,16.49,CSH,52 +VTS,1,1,540,2.1,CRD,8.5 +VTS,1,1,240,1.08,CRD,5.5 +VTS,1,1,420,1.42,CSH,7 +VTS,1,1,540,1.99,CRD,9 +VTS,1,1,420,1.44,CRD,7.5 +VTS,1,1,1140,6.2,CSH,21 +VTS,1,1,120,0.32,CSH,3.5 +VTS,1,1,720,2.25,CSH,10.5 +VTS,1,1,660,2.06,CSH,9.5 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,1,480,1.25,CRD,7 +VTS,1,1,240,0.97,CRD,5 +VTS,1,1,420,1.12,CRD,6 +VTS,1,1,480,1.81,CRD,8 +VTS,1,1,180,1.39,CSH,6 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,540,2.44,CRD,10 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,480,1.33,CSH,7.5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,960,2.99,CSH,13 +VTS,1,1,540,1.52,CRD,8 +VTS,1,1,600,1.47,CRD,8.5 +VTS,1,1,1020,2.59,CSH,13 +VTS,1,1,1080,2.38,CRD,13 +VTS,1,1,900,2.45,CSH,12 +VTS,1,1,660,1.09,CRD,8.5 +VTS,1,1,1140,2.84,CSH,14 +VTS,1,1,540,0.73,CRD,7 +VTS,1,1,540,1,CRD,7 +VTS,1,1,420,1.3,CRD,6.5 +VTS,1,1,1200,6.94,CSH,23 +VTS,1,1,360,1.6,CSH,7 +VTS,1,1,240,0.98,CRD,5.5 +VTS,1,1,180,0.8,CSH,5 +VTS,1,1,240,1.1,CRD,5.5 +VTS,1,1,240,0.64,CRD,4.5 +CMT,1,2,145,0.3,CRD,3.5 +CMT,1,2,1136,3.5,CRD,15 +CMT,1,2,411,1.3,CSH,7 +CMT,1,1,1454,3.5,CRD,17 +CMT,1,1,1487,4.1,CRD,17.5 +CMT,1,1,992,2.5,CRD,12.5 +CMT,1,1,481,3.1,CRD,10.5 +CMT,1,1,198,0.3,CRD,4 +CMT,1,2,1236,7,CSH,22.5 +CMT,1,2,268,1,CRD,5.5 +CMT,1,2,618,5.4,CRD,16 +CMT,1,1,334,1.3,CRD,6.5 +CMT,1,1,419,0.6,CRD,6 +CMT,1,1,649,3.4,CSH,12 +CMT,1,1,578,2.1,CSH,10 +CMT,1,2,627,1,CRD,8 +CMT,1,1,549,2.2,CRD,9 +CMT,1,1,697,2.5,CRD,11.5 +CMT,1,1,1058,4.4,CRD,16.5 +CMT,1,2,200,0.5,CRD,4.5 +CMT,1,2,261,1.8,CSH,7 +CMT,1,1,622,1.7,CRD,9 +CMT,1,1,227,0.5,CRD,4.5 +CMT,1,1,1205,3.1,CRD,15 +CMT,1,1,680,1.7,CSH,9.5 +CMT,1,1,566,2.1,CSH,9 +CMT,1,1,895,3.7,CSH,13.5 +CMT,1,1,412,1.1,CSH,6.5 +CMT,1,1,258,1.4,CSH,6 +CMT,1,1,473,2.7,CSH,10 +CMT,1,1,974,6.3,CRD,19 +CMT,1,1,452,0.5,CSH,6.5 +CMT,1,1,313,1.1,CRD,6 +CMT,1,1,317,0.7,CSH,5.5 +CMT,1,1,721,3.5,CRD,13 +CMT,1,1,377,2.2,CRD,8.5 +CMT,1,1,366,1.3,CRD,6.5 +CMT,1,1,442,1.4,CRD,7.5 +CMT,1,1,315,0.8,CRD,5.5 +CMT,1,1,99,0.4,CSH,3.5 +CMT,1,1,1094,3,CRD,14 +CMT,1,1,638,1.4,CRD,9 +CMT,1,1,658,2.1,CRD,10.5 +CMT,1,1,794,2.8,CRD,11.5 +VTS,2,1,1440,18.99,CRD,52 +VTS,1,1,660,1.08,CRD,8.5 +VTS,1,1,300,0.7,CSH,5 +VTS,1,1,300,1.56,CSH,6.5 +VTS,1,1,360,1.39,CSH,7 +VTS,1,1,1620,9.57,CRD,30.5 +VTS,1,1,420,1.67,CSH,7.5 +VTS,1,1,780,4.41,CRD,15 +VTS,1,1,660,1.82,CRD,9.5 +VTS,1,1,1080,3.01,CSH,14 +VTS,1,1,780,1.96,CRD,10.5 +VTS,1,1,780,1.83,CSH,10.5 +VTS,1,1,840,3.77,CSH,14 +VTS,1,1,540,1.23,CRD,8 +VTS,1,1,600,2.64,CSH,10.5 +VTS,2,1,1560,19.59,CSH,52 +VTS,1,1,300,0.6,CSH,5 +VTS,1,1,840,2.4,CSH,12 +VTS,1,1,1380,8.1,CSH,25 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,1,960,2.29,CSH,12 +VTS,1,1,1140,3.38,CRD,16 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,420,0.99,CRD,6.5 +VTS,1,1,1500,5.83,CRD,22.5 +VTS,1,1,240,0.48,CSH,4.5 +VTS,1,1,480,0.67,CRD,6.5 +VTS,1,1,600,2.55,CRD,10.5 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,420,0.36,CSH,5.5 +VTS,1,1,480,1.33,CSH,7.5 +VTS,1,1,480,2.58,CSH,9.5 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,1740,10.58,CRD,32.5 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,420,2.25,CSH,8.5 +VTS,1,1,540,1.71,CSH,8.5 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,540,1.63,CRD,8.5 +VTS,1,1,300,0.58,CRD,4.5 +VTS,1,1,1080,4.8,CRD,16.5 +VTS,1,1,300,0.56,CSH,5 +VTS,1,1,660,3.26,CRD,12.5 +VTS,1,1,420,2.08,CSH,8.5 +VTS,1,1,360,1.89,CSH,7.5 +VTS,1,1,600,2.74,CSH,11 +VTS,1,1,1680,6.38,CRD,25.5 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,180,0.43,CRD,4 +VTS,1,1,480,0.81,CRD,6.5 +VTS,1,1,1200,12.65,CRD,35 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,180,0.54,CSH,4.5 +VTS,1,1,480,1.83,CRD,8.5 +VTS,1,1,840,3.55,CSH,13.5 +VTS,1,1,1320,10.38,CRD,30.5 +VTS,1,1,960,0.87,CRD,10.5 +VTS,1,1,600,2.03,CRD,9 +VTS,1,1,840,2.43,CSH,12 +VTS,1,1,420,1.23,CSH,7 +VTS,1,1,720,1.47,CSH,9 +VTS,1,1,660,1.86,CRD,9.5 +VTS,1,1,600,2.21,CSH,9 +VTS,1,1,420,1.42,CRD,7.5 +VTS,1,1,1620,11.79,CRD,34 +VTS,1,1,360,1.85,CRD,7.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,1080,3.47,CSH,15 +VTS,1,1,660,1.74,CSH,9 +VTS,1,1,600,1.82,CSH,9 +VTS,1,1,540,1.42,CRD,8 +VTS,1,1,240,0.77,CSH,5 +VTS,1,1,900,1.06,CRD,10 +VTS,1,1,480,1.08,CRD,7 +VTS,1,1,1200,10.96,CSH,32 +VTS,1,1,1080,5.12,CSH,18.5 +VTS,1,1,660,1.67,CSH,9.5 +VTS,1,1,600,2.23,CRD,9.5 +VTS,1,1,1560,9.39,CRD,29.5 +VTS,1,1,720,2.84,CRD,11 +VTS,1,1,360,1.05,CRD,6.5 +VTS,1,1,420,1.1,CSH,7 +VTS,1,1,180,0.39,CRD,4 +VTS,1,1,480,0.82,CRD,6.5 +VTS,1,1,720,1.16,CSH,8.5 +VTS,1,1,540,1.35,CSH,8 +VTS,1,1,180,0.42,CSH,4 +VTS,1,1,300,0.33,CRD,4.5 +VTS,1,1,420,0.84,CSH,6.5 +VTS,1,1,780,1.62,CRD,9.5 +VTS,1,1,660,2.03,CSH,10 +VTS,1,1,360,0.7,CRD,5.5 +VTS,1,1,540,1.32,CSH,8 +VTS,1,1,420,3.1,CSH,10 +VTS,1,1,480,1.74,CRD,8.5 +VTS,1,1,360,0.84,CRD,5.5 +VTS,1,1,480,1.7,CSH,8 +VTS,1,1,840,2.81,CRD,12.5 +VTS,1,1,780,1.58,CRD,10 +VTS,1,1,420,1.2,CSH,7 +VTS,1,1,780,3.06,CSH,12.5 +VTS,1,1,480,1.13,CRD,7 +VTS,1,1,540,2.1,CRD,9 +VTS,1,1,600,0.83,CRD,7 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,420,1.64,CRD,7.5 +VTS,1,1,420,1.28,CRD,7 +VTS,1,1,1260,2.81,CSH,15 +VTS,1,1,540,0.79,CSH,7 +VTS,1,1,360,1.9,CRD,7.5 +VTS,1,1,420,2.61,CSH,9.5 +VTS,1,1,1140,4.3,CRD,16 +VTS,1,1,180,0.43,CSH,4 +VTS,1,1,1080,2.87,CSH,14 +VTS,1,1,840,8.31,CRD,24.5 +VTS,1,1,300,0.9,CSH,6 +VTS,1,1,660,1.92,CRD,10 +VTS,1,1,60,0.3,CRD,3 +VTS,1,1,1260,6.47,CRD,21.5 +VTS,1,1,1260,11.43,CRD,33.5 +VTS,1,1,420,2.21,CSH,9 +VTS,1,1,180,0.53,CSH,4.5 +VTS,1,1,660,2.48,CRD,11 +VTS,1,1,840,2.69,CRD,12.5 +VTS,1,1,180,1.46,CRD,6 +VTS,1,1,420,1.82,CRD,8 +VTS,1,1,780,1.56,CSH,10 +VTS,1,1,240,0.88,CRD,5.5 +VTS,1,1,600,1.14,CRD,8 +VTS,1,1,300,1.25,CRD,6 +VTS,1,1,540,2.68,CRD,10.5 +VTS,1,1,360,1.46,CRD,7 +VTS,1,1,360,1.53,CSH,7 +VTS,1,1,540,1.45,CRD,8 +VTS,1,1,240,0.95,CSH,5.5 +VTS,1,1,360,1.48,CRD,7 +VTS,1,1,480,2.57,CRD,9.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,780,1.01,CSH,9 +VTS,1,1,840,2.24,CSH,11 +VTS,1,1,180,0.99,CSH,5 +VTS,1,1,480,1.86,CSH,8.5 +VTS,1,1,780,1.75,CSH,10 +VTS,1,1,480,1.74,CRD,8 +VTS,1,1,720,5.38,CRD,17 +VTS,1,1,840,2.7,CSH,10.5 +VTS,1,1,360,0.88,CSH,6 +VTS,1,1,660,2.32,CRD,10 +VTS,1,1,900,2.15,CRD,11 +VTS,1,1,300,0.72,CSH,5 +VTS,1,1,1260,3.33,CRD,16 +VTS,1,1,180,0.36,CSH,4 +VTS,1,1,420,0.75,CSH,6.5 +VTS,1,1,240,0.9,CRD,5.5 +VTS,1,1,480,1.07,CSH,7.5 +VTS,1,1,780,2.45,CRD,11.5 +VTS,1,1,540,1.66,CSH,8.5 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,360,1.41,CSH,7 +VTS,1,1,780,1.17,CSH,9 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,780,3.72,CRD,14.5 +VTS,1,1,360,1.33,CRD,7 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,1,660,2.46,CRD,10.5 +VTS,1,1,540,0.94,CRD,7.5 +VTS,1,1,300,0.76,CSH,5.5 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,1260,4.34,CRD,17.5 +VTS,1,1,960,6.79,CRD,21 +VTS,1,1,360,1.21,CRD,6 +VTS,1,1,540,2.61,CRD,10 +VTS,1,1,1260,3.23,CSH,15 +VTS,1,1,180,0.84,CRD,5 +VTS,1,1,480,2.03,CRD,9 +VTS,1,1,780,1.22,CSH,10 +VTS,2,1,2820,17.75,CSH,52 +VTS,1,1,1320,3.62,CRD,16 +VTS,1,1,60,0.44,CSH,3.5 +VTS,1,1,420,1.65,CSH,7.5 +VTS,1,1,300,1.97,CSH,7.5 +VTS,1,1,120,0.54,CSH,4 +VTS,1,1,120,0.55,CRD,3.5 +VTS,1,1,660,1.11,CSH,8.5 +VTS,1,1,540,2.07,CRD,9 +VTS,1,1,1440,7.97,CSH,25.5 +VTS,1,1,720,2.88,CSH,11.5 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,1200,10.54,CSH,30 +VTS,1,1,420,1.74,CRD,8 +VTS,1,1,780,3.15,CSH,12.5 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,1500,4.52,CSH,19.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,480,1,CRD,6.5 +VTS,1,1,660,1.06,CSH,8.5 +VTS,1,1,360,0.9,CRD,6 +VTS,1,1,600,1.7,CSH,8.5 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,420,1.57,CRD,7.5 +VTS,1,1,720,2.48,CSH,10.5 +VTS,1,1,480,1.8,CSH,8 +VTS,1,1,240,0.85,CRD,5 +VTS,1,1,840,6.02,CRD,18 +VTS,1,1,480,2.19,CRD,9 +VTS,1,1,360,1.6,CRD,6.5 +VTS,1,1,600,1.26,CRD,8 +VTS,1,1,660,1.86,CSH,9.5 +VTS,1,1,780,2.26,CRD,11 +VTS,1,1,1140,3.09,CRD,14 +VTS,1,1,420,1.11,CRD,6 +VTS,1,1,300,0.97,CRD,6 +VTS,1,1,360,1.85,CSH,7.5 +VTS,1,1,900,2.46,CSH,11.5 +VTS,1,1,480,1.15,CRD,7 +VTS,1,1,300,0.97,CSH,5.5 +VTS,1,1,1200,1.73,CRD,13.5 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,5,180,0.82,CSH,4.5 +VTS,1,5,780,3.27,CSH,12.5 +VTS,1,5,420,2.56,CRD,9 +VTS,1,5,720,2.16,CSH,10 +VTS,1,5,300,1.49,CRD,6.5 +VTS,1,5,480,2.41,CRD,9 +VTS,1,5,900,4.84,CRD,16 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,960,3.45,CRD,13.5 +VTS,1,1,1560,3.42,CRD,17.5 +VTS,1,1,480,1.75,CRD,8.5 +VTS,1,1,900,3.03,CRD,12.5 +VTS,1,1,720,2.44,CSH,10.5 +VTS,1,1,420,0.86,CSH,6.5 +VTS,1,1,600,1.42,CRD,8 +VTS,1,1,540,1.54,CRD,8 +VTS,1,1,1140,1.71,CSH,12.5 +VTS,1,5,1200,11.54,CRD,32.5 +VTS,1,5,180,0.59,CSH,4 +VTS,1,5,660,1.4,CSH,8.5 +VTS,1,5,240,1.01,CRD,5.5 +VTS,1,5,840,5.27,CSH,17.5 +VTS,1,5,180,0.52,CRD,4 +VTS,1,5,600,2.56,CRD,9.5 +VTS,1,5,180,1.14,CRD,5 +VTS,1,5,720,1.87,CRD,10 +VTS,1,5,780,2.26,CSH,11 +VTS,1,1,300,1.21,CRD,6 +VTS,1,1,540,1.36,CSH,8 +VTS,1,5,480,2.42,CRD,9.5 +VTS,1,1,300,0.69,CSH,5 +VTS,1,5,60,0.19,CSH,3 +VTS,1,5,480,2.54,CSH,10 +VTS,1,1,420,0.97,CSH,6.5 +VTS,1,1,180,0.93,CSH,5 +VTS,1,1,240,1.25,CSH,5.5 +VTS,1,1,300,0.58,CSH,5 +VTS,1,1,540,2.1,CSH,9 +VTS,1,1,360,1.43,CRD,7 +VTS,1,1,480,0.83,CRD,6.5 +VTS,1,1,480,1.34,CSH,7 +VTS,1,1,1260,3.04,CSH,15.5 +VTS,1,1,480,2.29,CRD,9.5 +VTS,1,1,540,1.3,CRD,7.5 +VTS,1,1,900,3.66,CRD,14.5 +VTS,1,1,1380,6.64,CRD,23 +VTS,1,1,420,1.38,CRD,7.5 +VTS,1,1,720,5.24,CSH,16.5 +VTS,1,1,660,1.51,CRD,9 +VTS,1,1,780,1.46,CRD,10 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,420,1.12,CSH,6.5 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,540,1.23,CSH,7.5 +VTS,1,1,660,1.88,CSH,9.5 +VTS,1,1,900,5.66,CSH,18.5 +VTS,1,1,1680,2.78,CRD,18 +VTS,1,1,1200,3.07,CRD,15 +VTS,1,1,540,1.44,CRD,8 +VTS,1,1,960,2.33,CSH,12 +VTS,1,1,720,1.22,CSH,8.5 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,240,0.67,CSH,5 +VTS,1,1,1380,5.84,CRD,22.5 +VTS,1,1,480,1.15,CSH,7 +VTS,1,1,540,1.36,CRD,8 +VTS,1,1,240,1.62,CRD,6.5 +VTS,1,1,300,0.75,CSH,5 +VTS,1,1,960,2.01,CSH,12 +VTS,1,1,1560,6.65,CRD,25.5 +VTS,1,1,720,2.38,CSH,11 +VTS,1,1,720,0.84,CSH,8.5 +VTS,1,1,840,2.59,CSH,12 +VTS,1,1,1380,2.99,CSH,16 +VTS,1,1,900,1.83,CRD,11 +VTS,1,1,1380,1.66,CSH,14.5 +VTS,1,1,240,0.72,CSH,4.5 +VTS,1,1,1200,3.68,CRD,16 +VTS,1,1,660,1.54,CRD,9.5 +VTS,2,1,2220,18.16,CSH,52 +VTS,1,1,420,1.22,CSH,6 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,960,1.88,CRD,11.5 +VTS,1,1,780,5.51,CRD,17.5 +VTS,1,1,420,1.25,CSH,7 +VTS,1,1,360,1.43,CSH,7 +VTS,1,1,540,1.53,CSH,8.5 +VTS,1,1,480,1.6,CRD,7.5 +VTS,1,1,1440,11.76,CRD,33.5 +VTS,1,1,900,3.18,CRD,13.5 +VTS,1,1,900,1.71,CRD,11 +VTS,1,1,420,2.05,CRD,7.5 +VTS,1,1,660,2.43,CSH,10 +VTS,1,1,720,2.08,CSH,10.5 +VTS,1,1,780,1.69,CRD,10.5 +VTS,1,1,600,1.74,CSH,9 +VTS,1,1,840,3.05,CRD,12 +VTS,1,1,1140,2.82,CRD,14 +VTS,1,1,360,1.17,CSH,6 +VTS,1,1,1620,3.86,CSH,19 +VTS,1,1,1260,6.91,CRD,22.5 +VTS,1,5,360,1.38,CRD,6.5 +VTS,1,5,120,0.49,CSH,3.5 +VTS,1,5,300,1.01,CRD,5.5 +VTS,1,5,300,1.86,CSH,7.5 +VTS,1,5,900,2.78,CRD,12.5 +VTS,1,5,480,1.86,CSH,8 +VTS,1,5,420,2.21,CSH,8.5 +VTS,1,5,300,1.09,CRD,5.5 +VTS,1,5,180,0.43,CRD,4 +VTS,1,5,120,0.38,CSH,3.5 +VTS,1,5,240,0.75,CRD,5 +VTS,1,5,180,0.71,CSH,5 +VTS,1,5,660,1.44,CRD,9.5 +VTS,1,6,540,1.42,CSH,8 +VTS,1,1,420,1.49,CSH,7.5 +VTS,1,5,360,2.01,CRD,7.5 +VTS,1,5,1140,8.13,CSH,24.5 +VTS,1,5,780,2.61,CSH,11.5 +VTS,1,5,240,0.9,CSH,5.5 +VTS,1,5,480,0.67,CRD,6.5 +VTS,1,5,360,1.47,CSH,7 +VTS,1,5,540,1.14,CRD,8 +VTS,1,5,420,1.29,CSH,7 +VTS,1,5,960,2.77,CRD,12.5 +VTS,1,5,360,1.65,CSH,7 +VTS,1,1,1140,4.66,CRD,18 +VTS,1,5,480,1.43,CSH,7.5 +VTS,1,5,420,0.62,CRD,6 +VTS,1,5,600,0.98,CSH,8 +VTS,1,5,1440,4.58,CRD,18.5 +VTS,1,5,480,1.1,CSH,7 +VTS,1,6,480,1.53,CSH,8 +VTS,1,6,120,0.7,CRD,4 +VTS,1,6,1140,3.37,CSH,14.5 +VTS,1,6,300,1.52,CSH,6.5 +VTS,1,6,300,0.95,CRD,5.5 +VTS,1,6,180,0.77,CRD,4.5 +VTS,1,6,600,2.55,CRD,10 +VTS,1,6,960,2.37,CSH,12.5 +VTS,1,6,660,1.69,CSH,9 +VTS,1,6,1080,3.73,CRD,15 +VTS,1,1,600,2.17,CSH,9.5 +VTS,1,1,300,1.11,CSH,6 +VTS,1,1,1680,11.29,CRD,33.5 +VTS,2,1,1920,18.38,CRD,52 +VTS,1,1,1020,1.67,CRD,12 +VTS,1,1,960,2.98,CRD,13 +VTS,1,1,180,0.94,CRD,5 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,780,1.76,CRD,10 +VTS,1,1,360,1.11,CRD,6.5 +VTS,1,1,660,2.27,CSH,10 +VTS,1,1,180,1.29,CSH,5.5 +VTS,1,1,60,0.66,CRD,4 +VTS,1,1,900,2.62,CRD,12.5 +VTS,1,1,360,1.4,CSH,7.5 +VTS,1,1,660,2.02,CRD,9.5 +VTS,1,1,960,3.19,CSH,13.5 +VTS,1,1,120,1.14,CSH,5 +VTS,1,1,480,1.97,CRD,8.5 +VTS,1,1,600,3.13,CSH,11 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,720,2.17,CSH,10.5 +VTS,1,1,360,1.07,CSH,6 +VTS,1,1,540,1.3,CSH,8 +VTS,1,1,120,0.38,CRD,3.5 +VTS,1,1,600,0.54,CRD,7 +VTS,1,1,900,0.65,CSH,10 +VTS,1,1,660,2.58,CSH,11 +VTS,1,1,660,2.95,CRD,11.5 +VTS,1,1,1260,8.92,CRD,27 +VTS,1,1,420,0.92,CSH,6 +VTS,1,1,360,0.69,CSH,6 +VTS,1,1,900,3.18,CRD,13.5 +VTS,1,1,240,0.72,CRD,4.5 +VTS,1,1,300,1.03,CRD,5.5 +VTS,1,1,600,2.75,CSH,11 +VTS,1,1,600,0.73,CRD,7.5 +VTS,1,1,240,0.81,CSH,5 +VTS,1,1,960,2.36,CRD,12.5 +VTS,1,1,720,1.68,CSH,10 +VTS,1,1,480,0.94,CRD,7 +VTS,3,5,1500,14.33,CSH,56.5 +VTS,2,5,2100,17.28,CSH,52 +VTS,1,5,780,2.31,CRD,11 +VTS,1,5,900,1.43,CRD,10.5 +VTS,1,5,360,1.73,CSH,7 +VTS,1,5,4020,19.99,CRD,60 +VTS,1,5,660,1.12,CRD,8.5 +VTS,1,5,660,2.16,CRD,10 +VTS,1,1,600,2.52,CRD,10 +VTS,1,5,600,3.86,CSH,12.5 +VTS,1,5,780,1.28,CRD,10 +VTS,1,5,660,2.72,CSH,11.5 +VTS,1,1,420,2.48,CRD,9 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,600,2.62,CSH,10 +VTS,1,1,660,2.37,CRD,10 +VTS,1,1,480,0.8,CRD,7 +VTS,1,5,900,8.74,CRD,25 +VTS,1,5,780,1.4,CRD,9.5 +VTS,1,5,480,1.74,CSH,8.5 +VTS,1,5,60,0.13,CSH,2.5 +VTS,1,5,480,1.73,CSH,8 +VTS,1,5,840,1.66,CRD,10.5 +VTS,1,5,60,0,CSH,2.5 +VTS,5,1,0,0,CRD,56 +VTS,1,5,660,3.05,CRD,11 +VTS,1,5,240,0.64,CRD,4.5 +VTS,1,5,840,2.39,CSH,11.5 +VTS,1,5,120,0.75,CSH,4.5 +VTS,1,5,660,1.29,CSH,9 +VTS,1,5,360,2.05,CRD,8 +VTS,1,6,240,0.71,CSH,5 +VTS,1,6,540,1.69,CRD,8 +VTS,1,6,540,1.5,CRD,8 +VTS,1,6,840,5.48,CSH,17.5 +VTS,1,6,180,0.69,CRD,4.5 +VTS,1,6,300,1.01,CSH,5.5 +VTS,1,6,660,2.84,CRD,11 +VTS,1,6,780,1.2,CSH,9 +VTS,1,6,1320,5.63,CRD,19.5 +VTS,1,5,1020,1.76,CRD,12 +VTS,1,5,180,1.4,CRD,6 +VTS,1,5,840,4.44,CRD,15.5 +VTS,1,5,900,4.44,CSH,15 +VTS,1,6,420,2.18,CRD,8.5 +VTS,1,6,0,0.06,CSH,2.5 +VTS,1,6,300,2.09,CRD,7.5 +VTS,1,6,420,1.32,CRD,7 +VTS,1,6,720,4.46,CRD,15 +VTS,1,6,360,0.75,CRD,6 +VTS,1,6,300,1.35,CRD,6 +VTS,1,6,360,1.23,CSH,6.5 +VTS,1,6,120,0.49,CRD,3.5 +VTS,1,6,1440,4.78,CRD,19 +VTS,1,6,360,1.5,CSH,6.5 +VTS,1,6,180,0.44,CRD,4 +VTS,1,6,180,0.58,CRD,4 +VTS,1,6,360,3.16,CRD,10 +VTS,1,6,300,0.8,CRD,5.5 +VTS,1,6,420,2.49,CSH,9 +VTS,1,6,1560,11.81,CRD,33 +VTS,1,6,780,1.56,CRD,10 +VTS,1,6,1140,4.95,CRD,17 +VTS,1,6,240,0.61,CSH,4.5 +VTS,1,6,780,1.7,CRD,10.5 +VTS,1,6,720,1.87,CSH,10 +VTS,1,6,2160,11.37,CRD,35 +VTS,1,1,720,1.43,CRD,9.5 +VTS,1,1,240,0.83,CRD,5 +VTS,1,1,660,2.76,CSH,11.5 +VTS,1,1,300,1,CRD,5.5 +VTS,1,1,840,2.25,CRD,11 +VTS,1,1,720,1.61,CSH,9.5 +VTS,1,1,1320,2.74,CRD,15 +VTS,1,1,1140,3.08,CRD,14 +VTS,1,5,660,3.96,CRD,14 +VTS,1,5,900,1.29,CSH,11 +VTS,1,5,240,1.03,CRD,5.5 +VTS,1,5,360,1.29,CRD,7 +VTS,1,5,900,5.47,CRD,17 +VTS,1,5,240,1.1,CSH,5.5 +VTS,1,5,300,1.05,CSH,6 +VTS,1,6,660,1.94,CRD,9 +VTS,1,6,180,0.54,CRD,4.5 +VTS,1,6,900,3.99,CRD,14.5 +VTS,1,6,240,0.97,CRD,5 +VTS,1,6,420,0.84,CSH,6.5 +VTS,1,6,420,1.25,CRD,7 +VTS,1,6,960,1.08,CRD,10.5 +VTS,1,6,540,1.29,CRD,7.5 +VTS,1,6,180,0.77,CRD,4.5 +VTS,1,6,180,1.12,CRD,5 +VTS,1,6,660,1.18,CRD,8.5 +VTS,1,6,300,0.9,CRD,5.5 +VTS,1,5,360,0.85,CSH,6 +VTS,1,5,1560,3.4,CRD,17.5 +VTS,1,5,300,1.07,CSH,5.5 +VTS,1,5,480,1.47,CRD,7 +VTS,1,5,240,1.08,CSH,5.5 +VTS,1,6,600,2.18,CSH,9.5 +VTS,1,6,1140,2.91,CRD,14 +VTS,1,6,300,0.47,CSH,5 +VTS,1,6,720,2.85,CRD,11.5 +VTS,1,6,540,2.13,CRD,9.5 +VTS,1,6,1380,5.09,CRD,19.5 +VTS,1,6,1080,9.15,CSH,26 +VTS,1,6,300,1.18,CRD,6 +VTS,1,6,2040,6.01,CRD,28 +VTS,1,6,60,0.12,CRD,2.5 +VTS,1,6,300,1.33,CSH,6 +VTS,1,6,720,2.48,CRD,11.5 +VTS,1,6,300,1.46,CSH,6.5 +VTS,1,6,600,1.91,CRD,9 +VTS,1,6,540,1.87,CRD,8.5 +VTS,1,6,360,1.59,CSH,7 +VTS,1,6,240,0.27,CRD,4 +VTS,1,6,660,0.9,CRD,8 +VTS,1,6,480,2.06,CRD,9 +VTS,1,6,1200,4.22,CRD,18 +VTS,1,6,480,1.64,CRD,8 +VTS,1,6,840,2.65,CSH,11.5 +VTS,1,1,360,1.37,CSH,6.5 +VTS,1,5,360,1.51,CRD,6.5 +VTS,1,5,1560,8.66,CRD,26.5 +VTS,5,2,0,0,CRD,65 +VTS,1,6,240,1.23,CRD,5.5 +VTS,1,6,360,1.39,CSH,6.5 +VTS,1,6,420,0.73,CRD,6 +VTS,1,6,1080,3.63,CSH,14.5 +VTS,1,6,180,1.04,CSH,5 +VTS,1,6,1740,5.99,CSH,22.5 +VTS,1,6,840,3.23,CRD,13 +VTS,1,6,1500,8.27,CSH,26.5 +VTS,1,6,600,1.29,CRD,8 +VTS,1,6,720,2.68,CRD,11 +VTS,1,6,1080,2.24,CRD,12.5 +VTS,1,6,420,1.27,CRD,7 +VTS,1,6,480,2.13,CRD,9 +VTS,1,6,480,2.79,CSH,9.5 +VTS,1,6,360,2.06,CRD,8 +VTS,1,6,900,1.71,CRD,10.5 +VTS,1,6,300,0.84,CSH,5.5 +VTS,1,6,240,1.05,CSH,5.5 +VTS,1,6,1260,8.89,CRD,26.5 +VTS,1,6,240,0.83,CSH,5 +VTS,1,6,720,1.55,CSH,9 +VTS,1,6,240,0.89,CRD,5 +VTS,1,6,840,2.94,CSH,12 +VTS,1,6,1080,1.18,CRD,12 +VTS,1,6,180,0.69,CRD,4.5 +VTS,1,6,240,0.77,CRD,5 +VTS,1,6,780,1.26,CRD,9.5 +VTS,1,6,900,2.18,CRD,11 +VTS,1,6,780,3.63,CRD,13.5 +VTS,1,6,480,1.9,CSH,8.5 +VTS,1,6,480,3.05,CSH,11 +VTS,1,6,660,1.08,CSH,8.5 +VTS,1,6,780,1.05,CSH,9.5 +VTS,1,6,480,2.09,CSH,8 +VTS,1,6,540,2.52,CSH,9.5 +VTS,1,6,780,3.12,CRD,12 +VTS,1,6,540,1.08,CSH,8 +VTS,1,6,300,1.14,CSH,6 +VTS,1,6,720,1.2,CRD,9 +VTS,1,6,360,1.47,CSH,6.5 +VTS,1,6,240,0.91,CSH,5.5 +VTS,1,6,1440,5.78,CRD,22 +VTS,1,6,960,5.33,CRD,17.5 +VTS,1,6,360,0.6,CSH,5 +VTS,1,6,1380,5.59,CRD,20 +VTS,1,6,840,3.25,CSH,12.5 +VTS,1,6,600,2.03,CSH,8.5 +VTS,1,6,660,2.67,CSH,10 +VTS,1,6,540,2.02,CRD,9 +VTS,1,6,1320,2.76,CSH,15.5 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,540,2.3,CSH,9 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,420,1.44,CSH,7.5 +VTS,1,1,360,0.84,CSH,6 +VTS,1,1,1140,3.23,CRD,14.5 +VTS,1,1,660,0.94,CRD,8.5 +VTS,1,1,600,1.39,CSH,8.5 +VTS,1,1,1020,7.28,CSH,22 +VTS,1,1,600,2.84,CSH,11 +VTS,1,1,180,1.08,CSH,5 +VTS,1,1,180,0.75,CRD,4 +VTS,1,1,180,0.87,CSH,4.5 +VTS,1,1,1620,8.43,CSH,27 +VTS,1,1,180,0.91,CSH,5 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,660,2.46,CSH,11 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,780,6.32,CSH,19 +VTS,1,1,480,1.69,CSH,8.5 +VTS,1,1,660,2.39,CSH,11 +VTS,1,1,720,3.04,CRD,11.5 +VTS,1,1,1500,3.89,CRD,18 +VTS,1,1,600,1.73,CRD,9 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,360,0.92,CRD,6 +VTS,1,1,720,1.54,CSH,9.5 +VTS,1,1,660,3.02,CSH,12 +VTS,1,1,540,1.55,CSH,7.5 +VTS,1,1,240,0.77,CSH,5 +VTS,1,1,540,1.52,CSH,8 +VTS,1,1,180,1.29,CSH,5.5 +VTS,1,1,300,1.48,CSH,7 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,1,540,0.92,CSH,7.5 +VTS,1,1,720,2.78,CSH,11.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,480,0.56,CRD,6 +VTS,1,1,240,0.57,CRD,4 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,600,2.06,CRD,9 +VTS,1,1,300,0.65,CRD,5.5 +VTS,1,1,420,1.63,CSH,7.5 +VTS,1,1,600,2.45,CSH,10 +VTS,1,1,540,2.85,CSH,10.5 +VTS,1,1,300,0.62,CRD,5.5 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,300,0.63,CSH,5.5 +VTS,1,1,600,2.59,CRD,10 +VTS,1,1,420,1.72,CSH,8 +VTS,1,1,600,1.08,CSH,7.5 +VTS,1,1,780,2.07,CRD,10.5 +VTS,1,5,720,2.2,CRD,10.5 +VTS,1,6,540,1.6,CRD,8 +VTS,1,6,420,1.62,CSH,7.5 +VTS,1,6,420,1.35,CSH,7.5 +VTS,1,6,480,1.45,CSH,7.5 +VTS,1,6,1140,0.7,CSH,12 +VTS,1,6,540,1.44,CSH,7.5 +VTS,1,6,480,1.41,CRD,8 +VTS,1,6,180,0.42,CSH,3.5 +VTS,1,6,240,0.58,CSH,5 +VTS,1,6,420,1.82,CRD,8 +VTS,1,6,1020,3.53,CRD,15 +VTS,1,6,660,2.13,CSH,9 +VTS,1,6,1500,6.19,CSH,22 +VTS,1,6,240,0.51,CSH,5 +VTS,1,6,480,2.06,CRD,8.5 +VTS,1,6,480,0.94,CSH,7 +VTS,1,6,420,1.12,CRD,7 +VTS,1,6,300,2.57,CRD,8.5 +VTS,1,6,720,2.5,CSH,10.5 +VTS,1,6,540,1.99,CRD,9 +VTS,1,6,660,1.66,CRD,9 +VTS,1,6,840,2.69,CRD,11.5 +VTS,1,6,360,0.96,CSH,5.5 +VTS,1,6,240,0.79,CRD,5 +VTS,1,6,480,1.78,CRD,8.5 +VTS,1,6,840,4.18,CSH,14.5 +VTS,1,6,1080,5.69,CRD,18.5 +VTS,1,6,780,2.17,CSH,11 +VTS,1,6,780,1.47,CRD,9.5 +VTS,1,6,720,2.24,CRD,10 +VTS,1,6,420,1.03,CRD,7 +VTS,1,6,660,2.89,CSH,11 +VTS,1,6,1200,2.77,CSH,14.5 +VTS,1,6,1080,5.8,CRD,18.5 +VTS,1,6,900,3.53,CSH,14.5 +VTS,1,6,1020,3.51,CRD,14.5 +VTS,1,6,180,0.68,CRD,4.5 +VTS,1,6,240,0.46,CSH,4.5 +VTS,1,6,480,1.68,CRD,8 +VTS,1,6,480,3.07,CSH,10.5 +VTS,1,6,180,0.63,CRD,4 +VTS,1,6,660,1.99,CRD,10 +VTS,1,6,1140,5.35,CSH,18.5 +VTS,1,6,1380,4.46,CRD,17 +VTS,1,6,720,1.73,CSH,9 +VTS,1,6,120,0.62,CSH,4 +VTS,1,6,540,1.17,CSH,7.5 +VTS,1,2,180,0.94,CRD,5 +VTS,1,3,1380,11.14,CSH,32.5 +VTS,1,3,420,1.58,CSH,7.5 +VTS,1,2,600,3.15,CSH,11 +VTS,1,2,420,0.94,CSH,6.5 +VTS,1,1,1320,2.57,CRD,15 +VTS,1,1,240,0.71,CSH,5 +VTS,1,2,660,1.57,CRD,9 +VTS,1,6,240,0.54,CSH,4.5 +VTS,1,6,480,2.21,CSH,9 +VTS,1,6,780,3.07,CRD,11.5 +VTS,1,6,360,1.29,CRD,6.5 +VTS,1,6,540,3.11,CRD,11 +VTS,1,6,840,2.43,CRD,11 +VTS,1,6,180,1.1,CRD,5 +VTS,1,6,660,0.95,CRD,8 +VTS,1,6,660,2.82,CRD,10.5 +VTS,1,6,480,1.64,CSH,7.5 +VTS,1,6,660,3.1,CRD,11 +VTS,1,6,240,0.7,CRD,5 +VTS,1,3,600,1.37,CSH,8.5 +VTS,1,2,1320,1.21,CRD,14 +VTS,1,2,360,1.25,CSH,6.5 +VTS,1,2,300,1.19,CSH,6 +VTS,1,2,120,0.37,CRD,3.5 +VTS,1,1,360,1.09,CSH,6 +VTS,1,2,600,1.59,CRD,8 +VTS,1,1,360,1.32,CRD,6 +VTS,1,2,600,2.56,CSH,10 +VTS,1,2,660,2.29,CRD,10.5 +VTS,1,1,960,2.42,CRD,12 +VTS,1,2,300,0.66,CSH,5 +VTS,1,2,120,0.56,CSH,4 +VTS,1,2,480,1.44,CRD,7.5 +VTS,1,2,660,1.31,CSH,8.5 +VTS,1,2,1380,3.83,CRD,18 +VTS,1,5,720,4.89,CRD,16 +VTS,1,5,240,0.44,CRD,4.5 +VTS,1,5,180,0.66,CSH,4.5 +VTS,1,5,600,3.78,CRD,12.5 +VTS,1,5,1020,4.19,CRD,17 +VTS,1,1,420,0.67,CRD,6 +VTS,1,5,600,2.56,CRD,10.5 +VTS,1,5,540,1.68,CSH,8.5 +VTS,1,5,240,0.77,CSH,5 +VTS,1,5,420,0.69,CSH,6.5 +VTS,1,5,1080,4.98,CRD,17 +VTS,1,6,960,3.99,CRD,15 +VTS,1,6,180,0.63,CRD,4 +VTS,2,6,1320,16.35,CRD,52 +VTS,1,6,300,1.35,CSH,6 +VTS,1,6,240,0.63,CRD,5 +VTS,1,6,540,1.62,CRD,8.5 +VTS,1,6,540,1.03,CRD,7 +VTS,1,6,540,1.82,CRD,8 +VTS,1,6,480,0.73,CRD,6.5 +VTS,1,6,780,2.5,CSH,11.5 +VTS,1,6,540,3.69,CSH,12.5 +VTS,1,6,900,3.07,CSH,12.5 +VTS,1,6,300,0.94,CRD,5.5 +VTS,1,6,1380,4.42,CRD,18 +VTS,1,6,840,2.41,CSH,11 +VTS,1,6,120,0.26,CSH,3.5 +VTS,1,6,180,0.91,CSH,5 +VTS,1,6,720,4.31,CRD,14.5 +VTS,1,6,240,0.52,CSH,4.5 +VTS,1,6,300,1.2,CSH,6 +VTS,1,6,660,2.36,CRD,9.5 +VTS,1,6,960,1.78,CRD,11.5 +VTS,1,6,240,1.01,CRD,5.5 +VTS,1,6,1320,5.3,CRD,19.5 +VTS,1,3,1080,11.98,CSH,33 +VTS,1,2,480,1.2,CRD,7 +VTS,1,2,960,2.78,CSH,12.5 +VTS,1,2,540,1.51,CSH,7.5 +VTS,1,2,420,1.69,CSH,7.5 +VTS,1,2,480,1.57,CRD,7.5 +VTS,1,2,600,0.99,CRD,7.5 +VTS,1,1,540,0.66,CSH,7 +VTS,1,1,420,1,CRD,6.5 +VTS,1,2,420,1.15,CRD,7 +VTS,1,2,1020,2.01,CSH,12.5 +VTS,1,2,1080,2.01,CRD,13 +VTS,1,2,780,1.25,CSH,9 +VTS,1,3,600,2.95,CSH,11 +VTS,1,2,1440,4.65,CSH,18.5 +VTS,1,2,360,1.19,CSH,6.5 +VTS,1,2,480,1.45,CRD,7.5 +VTS,1,2,360,0.7,CSH,6 +VTS,1,2,240,1.4,CSH,6.5 +VTS,1,2,1080,3.99,CRD,16 +VTS,1,6,720,2.76,CRD,11 +VTS,1,6,600,3.22,CSH,11.5 +VTS,1,6,780,2.15,CRD,10.5 +VTS,1,6,840,2.2,CRD,11 +VTS,1,6,1440,4.66,CSH,19 +VTS,1,6,240,0.62,CSH,4.5 +VTS,1,6,540,3.4,CRD,12.5 +VTS,1,6,720,3.73,CRD,13.5 +VTS,1,6,480,0.95,CRD,7 +VTS,1,6,840,4.01,CSH,14.5 +VTS,1,6,780,5.04,CRD,15.5 +VTS,1,6,960,3.54,CRD,14 +VTS,1,6,960,3.09,CRD,13 +VTS,1,6,660,1.44,CSH,8.5 +VTS,1,6,1980,19.18,CRD,53 +VTS,1,6,840,1.67,CSH,10.5 +VTS,1,6,840,2.54,CRD,12 +VTS,1,6,780,2.71,CSH,12.5 +VTS,1,3,180,1.01,CSH,5 +VTS,1,2,540,1.48,CSH,8 +VTS,1,2,660,2.86,CSH,11 +VTS,1,1,360,0.98,CRD,6 +VTS,1,2,1140,9.23,CRD,26.5 +VTS,1,1,780,1.88,CSH,10 +VTS,1,2,300,0.89,CRD,6 +VTS,1,2,360,0.9,CRD,6 +VTS,1,2,720,1.68,CSH,9 +VTS,1,6,780,2.45,CRD,11 +VTS,1,6,360,0.72,CRD,5.5 +VTS,1,6,960,3.74,CRD,14 +VTS,1,6,720,2.57,CRD,10.5 +VTS,1,6,600,2.02,CRD,9.5 +VTS,1,6,660,4.31,CSH,13.5 +VTS,1,6,720,2.45,CSH,10.5 +VTS,1,6,780,3.16,CRD,13 +VTS,1,6,360,1.19,CRD,6.5 +VTS,1,6,240,0.81,CRD,5 +VTS,1,6,420,1.26,CRD,7 +VTS,1,6,780,1.33,CRD,10 +VTS,1,6,420,1.17,CRD,7 +VTS,1,6,420,2.22,CRD,8.5 +VTS,1,6,300,1.48,CRD,6.5 +VTS,1,6,600,2.2,CSH,9.5 +VTS,1,6,1020,3.71,CRD,16 +VTS,1,6,1080,6.18,CRD,20 +VTS,1,6,1080,4.88,CRD,17.5 +VTS,1,6,360,1.73,CRD,7 +VTS,1,6,540,0.67,CSH,7 +VTS,1,6,480,1.3,CRD,7 +VTS,1,6,1260,4.89,CRD,18 +VTS,1,6,660,3.03,CRD,11.5 +VTS,1,2,600,1.72,CRD,9 +VTS,1,2,360,1.71,CRD,7.5 +VTS,1,2,360,0.7,CRD,6 +VTS,1,6,540,0.96,CRD,7 +VTS,1,6,480,3.3,CRD,11 +VTS,1,6,600,1.27,CSH,8 +VTS,1,6,480,2.61,CSH,9.5 +VTS,1,6,720,2.01,CRD,9.5 +VTS,1,6,1020,4.15,CSH,15 +VTS,1,6,600,1.55,CSH,9 +VTS,1,6,900,5.19,CRD,16.5 +VTS,1,6,240,1.2,CRD,6 +VTS,1,6,420,0.91,CSH,6.5 +VTS,1,6,180,0.74,CSH,5 +VTS,1,6,240,1.17,CRD,5.5 +VTS,1,6,540,1.44,CRD,8 +VTS,1,6,180,0.72,CSH,4 +VTS,1,6,840,1.97,CSH,10.5 +VTS,1,6,300,1.3,CRD,6 +VTS,1,6,600,2.7,CRD,10.5 +VTS,1,6,420,1.28,CRD,7.5 +VTS,1,6,600,1.79,CSH,9 +VTS,1,6,540,1.41,CSH,7.5 +VTS,1,6,900,5.58,CRD,17 +VTS,1,6,840,4.71,CRD,16 +VTS,1,2,720,4.39,CSH,14.5 +VTS,1,2,360,1.18,CSH,6.5 +VTS,1,2,300,0.91,CSH,6 +VTS,1,3,480,1.91,CSH,8.5 +VTS,1,2,1380,4.4,CSH,18.5 +VTS,1,2,660,1.25,CRD,9 +VTS,1,2,360,1.19,CSH,6.5 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,1,480,0.92,CRD,6.5 +VTS,1,2,180,0.8,CRD,5 +VTS,1,2,1920,10.02,CRD,33 +VTS,1,2,720,1.36,CSH,9.5 +VTS,1,2,480,1.09,CRD,7 +VTS,1,1,360,0.77,CSH,5.5 +VTS,1,1,1080,3.87,CRD,15.5 +VTS,1,1,240,0.83,CSH,5 +VTS,1,1,120,0.73,CRD,4.5 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,1260,3.52,CRD,16.5 +VTS,1,2,1920,10.55,CSH,34.5 +VTS,1,2,600,1.18,CRD,8 +VTS,1,1,1380,9.14,CRD,28 +VTS,1,1,420,1.42,CSH,7.5 +VTS,1,1,960,6.17,CSH,19 +VTS,1,1,720,2.87,CRD,11.5 +VTS,1,1,840,3.23,CSH,13 +VTS,1,1,480,1.8,CRD,8.5 +VTS,1,1,120,1.24,CSH,5.5 +VTS,1,1,360,1.13,CRD,6.5 +VTS,1,1,780,2.34,CRD,11 +VTS,1,1,1320,6.55,CSH,22.5 +VTS,1,1,300,0.79,CSH,5 +VTS,1,1,420,0.92,CRD,6 +VTS,1,2,360,1.51,CRD,7 +VTS,1,1,1920,6.51,CRD,25 +VTS,1,2,300,0.83,CRD,5.5 +VTS,1,1,1140,7.16,CRD,22.5 +VTS,1,2,600,0.97,CRD,8 +VTS,1,1,1140,2.15,CSH,13 +VTS,1,1,3000,6.8,CSH,34 +VTS,1,2,240,1.11,CRD,5.5 +VTS,1,2,540,1.43,CRD,8 +VTS,1,2,660,1.08,CRD,8 +VTS,1,3,180,0.65,CSH,4.5 +VTS,1,2,780,1.96,CRD,10 +VTS,1,2,1260,9.77,CSH,28.5 +VTS,1,2,300,0.67,CRD,5 +VTS,1,1,1380,3.41,CRD,17 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,360,0.72,CRD,5.5 +VTS,1,1,300,1.02,CRD,5.5 +VTS,1,1,240,0.98,CRD,5.5 +VTS,1,1,900,3.02,CRD,13 +VTS,1,1,660,1.82,CSH,10 +VTS,1,1,180,0.6,CSH,4 +VTS,1,1,600,1.71,CRD,8.5 +VTS,1,1,360,1.6,CSH,7.5 +VTS,1,1,960,8.33,CSH,25 +VTS,1,1,180,0.08,CSH,3.5 +VTS,1,1,360,1.22,CSH,6.5 +VTS,1,1,900,7.67,CRD,22.5 +VTS,1,2,540,1.29,CSH,7.5 +VTS,1,1,540,0.78,CSH,7.5 +VTS,1,2,240,0.63,CSH,4.5 +VTS,2,2,1380,16.69,CRD,52 +VTS,2,2,2520,22.42,CRD,52 +VTS,1,2,720,2.3,CRD,11 +VTS,1,2,180,0.74,CRD,4.5 +VTS,1,2,240,0.8,CSH,5 +VTS,1,2,240,0.68,CSH,5 +VTS,1,2,960,1.9,CRD,11.5 +VTS,1,1,420,1.13,CRD,6.5 +VTS,1,1,780,2.03,CRD,10.5 +VTS,1,2,660,1.85,CRD,10 +VTS,1,2,180,0.53,CSH,4.5 +VTS,1,2,300,0.81,CSH,5 +VTS,1,2,480,0.92,CRD,7 +VTS,1,2,240,0.39,CRD,4.5 +VTS,1,2,1260,9.09,CRD,27 +VTS,1,2,600,1.4,CSH,8.5 +VTS,1,1,540,1.09,CRD,7.5 +VTS,1,2,1620,2.68,CRD,18 +VTS,1,2,840,2.45,CSH,11.5 +VTS,1,2,960,5.46,CRD,18.5 +VTS,1,1,240,0.78,CRD,5 +VTS,1,1,420,1.36,CRD,6.5 +VTS,1,1,900,1.64,CRD,10.5 +VTS,1,2,300,0.65,CRD,5 +VTS,1,2,660,1.53,CSH,8.5 +VTS,1,1,360,1.64,CRD,7 +VTS,1,1,720,1.19,CRD,9 +VTS,1,2,720,1.18,CRD,8.5 +VTS,1,2,300,0.55,CRD,5 +VTS,1,2,1080,4.64,CSH,16.5 +VTS,1,2,420,0.73,CSH,6 +VTS,1,1,480,1.54,CRD,8 +VTS,1,2,1140,3.46,CRD,15 +VTS,1,2,540,0.99,CSH,7.5 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,2,480,0.87,CSH,7 +VTS,1,1,1680,4.35,CSH,20 +VTS,1,2,1260,1.21,CSH,13.5 +VTS,1,2,360,0.67,CRD,5.5 +VTS,1,2,1080,1.65,CSH,12 +VTS,1,2,180,0.44,CRD,4 +VTS,1,1,120,0.56,CSH,4 +VTS,1,1,420,1.75,CRD,7.5 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,1,840,3.78,CSH,14 +VTS,1,1,180,0.8,CSH,5 +VTS,1,1,1260,9.87,CRD,29 +VTS,1,1,600,2.18,CSH,9.5 +VTS,1,1,480,1.01,CRD,6.5 +VTS,1,1,600,1.92,CSH,9 +VTS,1,1,420,1.46,CSH,7.5 +VTS,1,1,480,1.8,CRD,8.5 +VTS,1,2,360,1.39,CRD,7 +VTS,1,2,1440,4.04,CSH,18.5 +VTS,1,2,720,1.78,CSH,9.5 +VTS,1,1,1080,2.83,CRD,14 +VTS,1,2,540,1.51,CSH,8 +VTS,1,2,1680,7.62,CRD,24.5 +VTS,1,2,780,1.11,CRD,9 +VTS,1,2,240,1.2,CRD,5.5 +VTS,1,2,1620,5.42,CRD,19.5 +VTS,1,2,720,1.37,CSH,9 +VTS,1,2,1080,9.86,CRD,28 +VTS,1,2,180,0.51,CRD,4.5 +VTS,1,2,360,1.4,CRD,6.5 +VTS,1,2,600,0.92,CRD,7.5 +VTS,1,2,780,1.59,CRD,10 +VTS,1,2,300,0.52,CSH,5 +VTS,1,2,540,0.8,CRD,7 +VTS,1,2,900,2.91,CRD,12.5 +VTS,1,2,960,3.39,CRD,14 +VTS,1,1,1140,4.76,CRD,18 +VTS,1,2,780,1.91,CRD,10 +VTS,1,3,240,0.88,CSH,5 +VTS,1,3,1080,1.69,CSH,12.5 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,180,0.43,CSH,4 +VTS,1,2,360,1.17,CSH,6 +VTS,1,1,480,1.01,CSH,7 +VTS,1,1,180,0.64,CRD,4 +VTS,1,1,840,5.92,CRD,18.5 +VTS,1,1,660,1.89,CSH,9 +VTS,1,1,360,0.67,CSH,5.5 +VTS,1,1,780,1.31,CRD,9.5 +VTS,1,1,480,3.01,CRD,10.5 +VTS,1,1,300,1.39,CRD,6.5 +VTS,1,1,1380,11.23,CRD,32 +VTS,1,1,420,1.5,CRD,7 +VTS,1,1,780,2.49,CSH,11.5 +VTS,1,1,660,2.59,CRD,11.5 +VTS,1,1,540,1.43,CSH,8 +VTS,1,1,780,2.69,CRD,11 +VTS,1,1,240,0.45,CRD,4.5 +VTS,1,1,240,0.79,CSH,5 +VTS,1,1,1080,3.85,CSH,15.5 +VTS,1,1,1320,10.49,CRD,31 +VTS,2,1,2580,16.62,CSH,52 +VTS,2,1,2100,18.32,CSH,52 +VTS,1,1,480,1.56,CSH,7.5 +VTS,1,1,840,1.51,CSH,10.5 +VTS,1,1,1440,4.72,CSH,20 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,540,1.54,CRD,8 +VTS,1,1,360,1.34,CSH,7 +VTS,1,1,1020,4.18,CSH,16 +VTS,1,1,600,2.15,CRD,10 +VTS,1,1,1500,3.49,CRD,18 +VTS,1,6,720,2.2,CRD,10 +VTS,1,6,600,2.61,CRD,11 +VTS,1,6,360,1.25,CSH,6.5 +VTS,1,6,480,0.68,CRD,6.5 +VTS,1,6,720,3.26,CRD,12 +VTS,1,6,180,0.87,CSH,5 +VTS,1,6,360,2.03,CSH,8 +VTS,1,6,660,1.46,CRD,9.5 +VTS,1,6,360,1.13,CSH,6 +VTS,1,6,540,1.91,CSH,8.5 +VTS,1,6,360,0.96,CRD,5.5 +VTS,1,6,420,1.4,CSH,7 +VTS,1,6,240,0.82,CRD,5.5 +VTS,1,6,660,1.35,CSH,8.5 +VTS,1,6,660,2.49,CRD,10.5 +VTS,1,6,180,1.09,CSH,5 +VTS,1,6,480,2.01,CRD,8.5 +VTS,1,6,540,1.14,CSH,7.5 +VTS,1,6,1140,4.45,CSH,16.5 +VTS,1,6,300,1.51,CSH,7 +VTS,1,6,660,2.63,CSH,10 +VTS,1,2,420,1.39,CRD,7 +VTS,1,2,540,2.71,CRD,10.5 +VTS,1,2,540,2.89,CRD,11 +VTS,1,2,300,1.27,CSH,6.5 +VTS,1,2,120,0.41,CSH,3.5 +VTS,1,2,660,1.22,CSH,8.5 +VTS,1,1,480,1.34,CSH,7.5 +VTS,1,2,1200,5.73,CSH,20.5 +VTS,1,2,420,0.86,CSH,6 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,840,3.58,CRD,13.5 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,1,180,0.59,CSH,4.5 +VTS,1,1,120,0.64,CSH,4 +VTS,1,1,120,0.88,CRD,4.5 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,360,1.53,CSH,6.5 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,360,2.55,CSH,9 +VTS,1,1,420,1.03,CSH,7 +VTS,1,1,540,1.17,CRD,8 +VTS,1,1,300,1.41,CRD,6 +VTS,1,1,780,1.94,CRD,10 +VTS,1,1,1200,4.66,CSH,17 +VTS,1,1,420,1.47,CRD,7.5 +VTS,1,1,60,0.55,CRD,3.5 +VTS,1,1,420,2.74,CRD,9.5 +VTS,1,1,600,2,CSH,9.5 +VTS,1,1,360,2.81,CSH,9.5 +VTS,1,1,1380,8.49,CRD,26.5 +VTS,1,1,240,0.92,CSH,5.5 +VTS,1,1,420,1.19,CSH,6.5 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,480,1.3,CSH,7.5 +VTS,1,1,180,0.45,CSH,4 +VTS,1,1,480,2.15,CRD,9 +VTS,1,1,360,0.88,CRD,6 +VTS,1,1,720,4.6,CRD,15 +VTS,1,1,360,1.04,CRD,6 +VTS,1,1,300,1.19,CSH,6 +VTS,1,1,180,0.59,CRD,4.5 +VTS,1,1,1260,6.23,CRD,21 +VTS,1,1,300,1.13,CSH,6 +VTS,1,1,480,1.21,CRD,7.5 +VTS,1,1,780,2.78,CSH,11.5 +VTS,1,1,1140,2.9,CRD,14.5 +VTS,1,1,360,1.45,CRD,7 +VTS,1,1,660,2.33,CSH,10 +VTS,1,1,540,2.98,CRD,11 +VTS,1,1,420,1.92,CSH,8 +VTS,1,1,360,1.39,CSH,6.5 +VTS,1,1,1740,5.3,CSH,22.5 +VTS,1,1,720,3.45,CRD,12 +VTS,1,1,1380,6.65,CRD,22.5 +VTS,1,1,240,1.05,CRD,5.5 +VTS,1,1,1680,4.45,CRD,20.5 +VTS,1,1,600,1.28,CRD,8 +VTS,1,1,1440,3.01,CRD,16.5 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,720,1.22,CSH,9 +VTS,1,1,1020,4.26,CRD,16 +VTS,1,1,480,3.57,CRD,11.5 +VTS,1,1,1380,4.19,CRD,18 +VTS,1,1,780,5.4,CSH,18 +VTS,1,1,720,3.75,CRD,13 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,120,0.35,CSH,3.5 +VTS,1,1,540,2,CRD,9 +VTS,1,1,660,2.51,CSH,11 +VTS,2,1,2280,20.9,CRD,52 +VTS,1,1,240,0.37,CRD,4.5 +VTS,1,1,540,1.31,CRD,8 +VTS,1,1,660,4.24,CSH,14 +VTS,1,1,900,2.32,CRD,11.5 +VTS,1,1,300,1.09,CRD,6 +VTS,1,1,600,2.06,CRD,9 +VTS,1,1,900,3.13,CRD,13 +VTS,1,1,420,1.64,CSH,7.5 +VTS,1,1,840,3.13,CRD,12.5 +VTS,1,1,2040,9.24,CSH,31.5 +VTS,1,1,720,3.48,CRD,12.5 +VTS,1,1,960,1.44,CSH,10.5 +VTS,1,1,240,0.85,CSH,5 +VTS,1,1,360,1.37,CRD,6.5 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,1140,3.29,CRD,15 +VTS,1,1,600,1.56,CRD,9 +VTS,1,1,240,0.65,CSH,4.5 +VTS,1,1,1200,9.42,CRD,27.5 +VTS,1,6,1320,4.71,CRD,18 +VTS,1,6,480,1.57,CRD,8 +VTS,1,6,1020,2.17,CSH,12 +VTS,1,6,420,1.7,CSH,7.5 +VTS,1,6,1020,5.4,CRD,18 +VTS,1,6,840,2.53,CSH,11.5 +VTS,1,6,240,1.22,CSH,6 +VTS,1,6,360,0.99,CRD,6 +VTS,1,6,540,1.96,CSH,8.5 +VTS,1,6,1320,11.55,CRD,33 +VTS,1,6,300,0.97,CSH,5.5 +VTS,1,6,600,1.52,CRD,8.5 +VTS,1,6,600,1.05,CSH,7.5 +VTS,1,6,840,2.23,CSH,11 +VTS,1,6,600,2.23,CRD,10.5 +VTS,1,6,840,4.64,CRD,15.5 +VTS,1,6,540,2.1,CRD,9 +VTS,1,6,1200,1.6,CRD,13 +VTS,1,6,960,2.44,CRD,12.5 +VTS,1,3,1020,6.35,CSH,20.5 +VTS,1,3,1320,10.79,CSH,31 +VTS,1,2,660,1.83,CSH,9.5 +VTS,1,2,360,1.3,CRD,7 +VTS,1,2,360,0.86,CRD,6 +VTS,1,2,480,1.21,CSH,7 +VTS,1,2,180,0.84,CRD,4.5 +VTS,1,2,480,1.03,CSH,7 +VTS,1,2,900,1.9,CRD,11 +VTS,1,2,1140,1.63,CSH,13.5 +VTS,1,3,480,1.16,CSH,7 +VTS,1,1,300,0.52,CSH,5 +VTS,1,2,300,0.36,CRD,4.5 +VTS,1,1,900,2.74,CRD,12 +VTS,1,2,780,1.93,CSH,10 +VTS,1,2,540,1.77,CSH,8.5 +VTS,1,2,240,0.85,CRD,5 +VTS,1,2,600,1.19,CRD,8 +VTS,1,1,780,2.56,CRD,11.5 +VTS,1,2,120,0.54,CRD,3.5 +VTS,1,1,180,0.95,CRD,5 +VTS,1,2,480,1.77,CRD,8.5 +VTS,1,2,660,1.22,CSH,7 +VTS,1,2,240,0.69,CRD,4.5 +VTS,1,2,420,1.17,CSH,6.5 +VTS,1,1,960,1.57,CRD,11.5 +VTS,1,2,420,1.63,CSH,7.5 +VTS,1,2,780,2.04,CSH,11 +VTS,1,1,600,1.07,CSH,7.5 +VTS,1,1,1140,6.31,CRD,21 +VTS,1,2,900,2.39,CRD,12 +VTS,1,2,300,0.64,CSH,5 +VTS,1,2,600,0.93,CRD,8 +VTS,1,2,480,1.3,CSH,7 +VTS,1,1,300,1.72,CSH,7 +VTS,1,1,720,4.4,CSH,14.5 +VTS,1,1,480,1.91,CSH,9 +VTS,1,1,240,0.74,CRD,5 +VTS,1,1,780,3.03,CRD,13 +VTS,1,1,600,2.18,CRD,10 +VTS,1,1,240,0.9,CSH,5 +VTS,1,1,840,2.58,CSH,12 +VTS,1,1,960,4.42,CRD,16 +VTS,1,1,1080,4.59,CRD,17 +VTS,1,1,660,3.27,CSH,12 +VTS,1,1,540,2.03,CRD,9 +VTS,1,1,840,2.16,CRD,11 +VTS,1,1,1080,4.3,CRD,16.5 +VTS,1,1,300,1.37,CSH,6.5 +VTS,1,1,780,4.83,CSH,15.5 +VTS,1,1,240,1.14,CSH,5.5 +VTS,1,1,720,3.63,CSH,13.5 +VTS,1,1,420,0.94,CRD,6 +VTS,1,1,1140,5.36,CRD,18.5 +VTS,1,1,1260,8.54,CSH,26.5 +VTS,1,1,720,2.17,CRD,10 +VTS,1,1,540,2.17,CSH,9.5 +VTS,1,1,420,2.98,CRD,10 +VTS,1,1,1200,4.52,CSH,17 +VTS,1,1,720,2.13,CRD,9.5 +VTS,1,1,240,1.01,CSH,5.5 +VTS,1,1,600,3.04,CRD,11.5 +VTS,1,1,420,2.65,CRD,9.5 +VTS,1,1,840,2.34,CRD,11.5 +VTS,1,2,1260,9.17,CSH,27.5 +VTS,1,2,600,5.26,CRD,16.5 +VTS,1,1,1920,9.81,CSH,33.5 +VTS,1,1,420,1.32,CRD,7.5 +VTS,1,1,540,1.01,CSH,7.5 +VTS,1,1,1680,7.35,CRD,26.5 +VTS,1,1,360,0.93,CSH,6.5 +VTS,1,1,360,0.68,CSH,5.5 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,600,2.22,CRD,10.5 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,300,1.07,CSH,5.5 +VTS,1,1,1560,9.86,CRD,30.5 +VTS,1,1,720,4.67,CRD,14.5 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,600,3.74,CRD,12.5 +VTS,1,1,240,1.22,CRD,6 +VTS,1,1,540,2.04,CRD,9 +VTS,1,1,180,0.46,CRD,4 +VTS,1,1,540,2.54,CRD,10 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,900,2.59,CRD,12 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,120,0.62,CRD,4 +VTS,1,1,420,1.08,CSH,7 +VTS,1,1,720,2.38,CRD,10.5 +VTS,1,1,360,1.46,CSH,7 +VTS,1,1,960,1.77,CSH,12 +VTS,1,1,420,0.83,CSH,6.5 +VTS,1,2,1020,4.64,CSH,16 +VTS,1,2,900,1.92,CSH,11 +VTS,1,2,300,1.22,CSH,6 +VTS,1,2,360,0.89,CSH,5.5 +VTS,1,2,240,0.8,CRD,5 +VTS,1,2,420,1.26,CRD,7 +VTS,1,2,960,1.57,CSH,11.5 +VTS,1,1,960,2.4,CRD,12.5 +VTS,1,1,660,2.58,CRD,10.5 +VTS,1,2,60,0.26,CRD,3 +VTS,1,2,1020,4.85,CRD,17 +VTS,1,1,720,1.89,CSH,9.5 +VTS,1,2,360,0.73,CSH,5.5 +VTS,1,2,120,0.78,CSH,4.5 +VTS,1,1,240,0.5,CRD,4.5 +VTS,1,1,60,0.26,CSH,3 +VTS,1,1,840,1.78,CRD,10 +VTS,1,1,180,0.87,CSH,4.5 +VTS,1,1,660,2.82,CRD,11 +VTS,1,1,240,0.79,CSH,5 +VTS,1,1,180,0.56,CSH,4 +VTS,1,1,600,0.79,CRD,8 +VTS,1,1,1500,2.23,CRD,15.5 +VTS,1,1,1680,7.63,CRD,26.5 +VTS,1,1,1140,9.15,CRD,27 +VTS,1,1,180,0.58,CRD,4 +VTS,1,1,480,0.83,CRD,7 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,2,1020,7.6,CSH,23.5 +VTS,1,2,480,1.38,CRD,7.5 +VTS,1,2,660,1.37,CSH,8.5 +VTS,1,2,960,2.45,CRD,13 +VTS,1,2,1920,9.89,CSH,34.5 +VTS,1,2,240,0.78,CSH,5.5 +VTS,1,1,480,1.15,CSH,7.5 +VTS,1,1,480,1.83,CSH,7.5 +VTS,1,2,1380,4.64,CRD,18.5 +VTS,1,2,900,2.38,CRD,12 +VTS,1,2,1680,3.96,CSH,19.5 +VTS,1,1,660,4.05,CRD,14 +VTS,1,2,1200,3.54,CRD,16 +VTS,1,2,480,1.36,CRD,7 +VTS,1,1,240,0.98,CSH,5.5 +VTS,1,2,540,1.21,CSH,8 +VTS,1,2,120,0.62,CSH,4 +VTS,1,2,240,0.61,CRD,4.5 +VTS,1,1,480,2.18,CRD,9 +VTS,1,1,1920,6.98,CSH,26 +VTS,1,1,420,0.73,CSH,6 +VTS,1,2,720,1.17,CRD,9 +VTS,1,2,900,9.26,CRD,26 +VTS,1,1,600,1.88,CRD,9 +VTS,1,1,1380,5.47,CRD,21 +VTS,1,2,1560,3.49,CRD,18.5 +VTS,1,2,420,1.27,CRD,7 +VTS,1,1,1620,6.17,CRD,23 +VTS,1,1,720,1.56,CRD,9.5 +VTS,1,1,1020,3.76,CSH,15 +VTS,1,1,720,1.46,CSH,10 +VTS,1,1,420,1.1,CSH,7 +VTS,1,1,360,1.45,CRD,6.5 +VTS,1,1,600,1.56,CSH,8.5 +VTS,1,1,300,1.61,CRD,6.5 +VTS,1,1,240,1.07,CSH,6 +VTS,3,1,1980,20.01,CSH,72 +VTS,1,1,420,1.1,CRD,6.5 +VTS,1,1,660,1.78,CSH,9 +VTS,1,1,1140,3.29,CRD,14.5 +VTS,1,1,120,0.52,CSH,4 +VTS,1,1,540,1.84,CRD,9 +VTS,1,1,360,1.52,CRD,7 +VTS,1,1,360,1.22,CSH,7 +VTS,1,1,960,8.68,CSH,24.5 +VTS,1,1,1320,9.96,CRD,29 +VTS,1,1,420,0.68,CSH,6 +VTS,1,1,420,1.57,CRD,7.5 +VTS,1,1,0,0.28,CSH,3 +VTS,1,1,300,0.92,CRD,6 +VTS,1,1,660,0.79,CSH,8 +VTS,1,1,360,0.96,CSH,6 +VTS,1,1,300,1.41,CRD,6.5 +VTS,1,1,540,1.4,CRD,8.5 +VTS,1,1,480,1.17,CRD,7.5 +VTS,1,1,540,2.04,CRD,9 +VTS,1,1,720,2.77,CRD,11.5 +VTS,1,1,660,4.52,CSH,15.5 +VTS,1,1,720,1.79,CRD,10 +VTS,1,1,120,0.22,CRD,3.5 +VTS,1,1,360,1.13,CRD,6 +VTS,1,1,420,1.21,CSH,7 +VTS,1,1,180,0.92,CSH,4.5 +VTS,1,1,1020,5.07,CRD,17.5 +VTS,1,1,120,0.63,CRD,4 +VTS,1,1,480,1.21,CRD,7.5 +VTS,1,1,840,2.17,CSH,11 +VTS,1,1,300,2.14,CSH,7.5 +VTS,1,1,420,1.13,CSH,7 +VTS,1,1,420,2.58,CRD,9 +VTS,1,1,1560,8.21,CRD,26 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,1260,3.23,CSH,15 +VTS,1,1,480,2.04,CRD,8 +VTS,1,1,360,0.65,CSH,6 +VTS,1,1,240,0.77,CSH,4.5 +VTS,1,1,420,1.33,CRD,6.5 +VTS,1,1,420,1.36,CRD,7 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,1,900,3.06,CSH,12 +VTS,1,1,420,1.74,CRD,7.5 +VTS,1,1,1020,2.3,CRD,13 +VTS,1,1,300,1.19,CRD,6 +VTS,1,1,1080,2.06,CRD,13 +VTS,1,1,1080,5.12,CSH,18.5 +VTS,1,1,540,2.48,CSH,9.5 +VTS,1,1,540,2.92,CRD,11 +VTS,1,1,300,1.93,CRD,7.5 +VTS,1,1,840,2.25,CSH,11 +VTS,1,1,780,3.62,CSH,13 +VTS,1,1,1140,5.82,CRD,19 +VTS,1,1,540,2.27,CRD,9.5 +VTS,1,1,900,5.58,CSH,17.5 +VTS,1,1,960,5.31,CSH,18 +VTS,1,1,480,1.21,CSH,7.5 +VTS,1,1,300,1.12,CSH,6 +VTS,1,1,1140,5.13,CRD,19 +VTS,1,1,540,1.5,CSH,8 +VTS,1,1,360,0.8,CRD,5.5 +VTS,1,1,660,1.58,CSH,8.5 +VTS,1,1,480,0.82,CRD,6.5 +VTS,1,1,1080,3.26,CSH,14 +VTS,1,1,1020,3.05,CSH,13.5 +VTS,1,1,420,1.11,CSH,7 +VTS,1,1,420,1.32,CRD,7 +VTS,1,1,960,2.96,CRD,13 +VTS,1,1,780,1.52,CRD,10 +VTS,1,1,720,1.88,CRD,10 +VTS,1,1,1680,8.18,CSH,28.5 +VTS,1,1,300,0.89,CRD,5 +VTS,1,1,840,3.73,CRD,13 +VTS,1,1,240,1,CSH,5.5 +VTS,1,1,600,1.75,CSH,9 +VTS,1,1,1260,9.25,CRD,27.5 +VTS,1,1,900,3.24,CSH,13 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,660,1.81,CRD,9.5 +VTS,1,1,420,0.8,CRD,6.5 +VTS,1,1,360,1.08,CRD,6 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,1740,11.72,CSH,35 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,780,8.64,CSH,24 +VTS,1,1,480,1.14,CRD,7.5 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,360,1.39,CRD,7 +VTS,1,1,780,0.87,CSH,9.5 +VTS,1,1,1020,1.95,CRD,12 +VTS,1,1,1200,3.28,CRD,15 +VTS,1,1,780,1.91,CRD,10 +VTS,1,1,300,1.15,CSH,6 +VTS,1,1,60,0.59,CSH,3.5 +VTS,1,1,600,1.6,CSH,8.5 +VTS,1,1,600,1.01,CSH,8 +VTS,1,1,720,1.3,CSH,9 +VTS,1,1,600,1.77,CSH,9 +VTS,1,1,300,0.63,CSH,5.5 +VTS,1,1,780,2.38,CRD,11 +VTS,1,1,300,1.1,CSH,6 +VTS,1,1,240,1,CRD,5.5 +VTS,1,1,720,2.02,CRD,10 +VTS,1,1,60,0.27,CSH,3 +VTS,1,1,1080,2.9,CRD,14 +VTS,1,1,180,0.82,CRD,5 +VTS,1,1,660,1.27,CRD,8.5 +VTS,1,1,960,2.85,CRD,13 +VTS,1,1,420,1.24,CSH,7 +VTS,1,1,720,2.67,CRD,11 +VTS,1,1,480,1.3,CSH,7 +VTS,1,1,780,2.39,CRD,10.5 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,840,1.88,CRD,10.5 +VTS,1,1,600,1.48,CRD,8.5 +VTS,1,1,360,0.79,CRD,6 +VTS,1,1,180,0.57,CRD,4.5 +VTS,1,1,1200,4.09,CRD,17.5 +VTS,1,1,360,1.12,CSH,6.5 +VTS,1,1,240,0.84,CRD,5 +VTS,1,1,840,1.32,CSH,10 +VTS,1,1,300,1.15,CRD,6 +VTS,1,1,480,1.2,CSH,8 +VTS,1,1,600,1.15,CSH,8 +VTS,1,1,1500,3.38,CRD,17.5 +VTS,1,1,120,0.97,CSH,4.5 +VTS,1,1,780,2.27,CSH,11 +VTS,1,1,240,1.49,CSH,6.5 +VTS,1,1,1560,4.86,CSH,20.5 +VTS,1,1,720,2.72,CSH,11.5 +VTS,1,1,660,4.17,CRD,14 +VTS,1,1,720,4.24,CSH,13.5 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,300,1.72,CRD,7 +VTS,1,1,540,2.54,CSH,10 +VTS,1,1,1020,3.75,CSH,15.5 +VTS,1,1,1080,7.38,CSH,23 +VTS,1,1,180,0.51,CRD,4 +VTS,1,1,180,0.66,CRD,4 +VTS,1,1,240,1.33,CSH,6 +VTS,1,1,480,1.39,CSH,7.5 +VTS,1,1,300,0.6,CSH,5 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,240,1.13,CSH,6 +VTS,1,1,240,0.73,CSH,4.5 +VTS,1,1,960,2.19,CSH,12 +VTS,1,1,840,3.41,CRD,13 +VTS,1,1,960,5.91,CSH,19 +VTS,1,1,120,0.23,CRD,3 +VTS,1,1,480,1.11,CSH,7 +VTS,1,1,1380,8.59,CSH,27 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,480,1.72,CSH,7.5 +VTS,1,1,780,1.16,CRD,10 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,240,0.63,CRD,5 +VTS,1,1,660,1.09,CRD,8.5 +VTS,1,1,300,0.63,CRD,5 +VTS,1,1,960,3.1,CRD,13.5 +VTS,1,1,2460,13.64,CRD,42 +VTS,1,1,300,0.69,CRD,5.5 +VTS,1,1,480,1.96,CRD,8.5 +VTS,1,1,420,2.03,CSH,8 +VTS,1,1,360,1.08,CSH,6.5 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,600,1.35,CRD,8.5 +VTS,1,1,480,1.66,CRD,7.5 +VTS,1,1,1740,5.35,CSH,22 +VTS,1,1,600,1.13,CRD,8 +VTS,1,1,480,0.98,CRD,6.5 +VTS,1,1,120,0.48,CSH,4 +VTS,1,1,660,1.17,CRD,8.5 +VTS,1,1,300,1.51,CRD,7 +VTS,1,1,180,1.01,CSH,5 +VTS,1,1,480,1.17,CSH,7.5 +VTS,1,1,300,0.64,CSH,5.5 +VTS,1,2,120,0.68,CRD,4 +VTS,1,2,840,2.83,CRD,12 +VTS,1,2,300,0.82,CSH,5.5 +VTS,1,2,480,1.34,CSH,7.5 +VTS,1,2,480,1.18,CRD,6.5 +VTS,1,2,180,0.26,CRD,3.5 +VTS,1,2,360,0.89,CSH,5.5 +VTS,1,1,120,0.59,CRD,4 +VTS,1,1,600,1.78,CRD,9.5 +VTS,1,1,2700,10.17,CSH,36.5 +VTS,1,1,480,2.56,CRD,10 +VTS,1,1,660,2.75,CRD,11.5 +VTS,1,1,480,1.39,CRD,7.5 +VTS,1,1,480,1.73,CSH,8 +VTS,1,1,960,5.68,CRD,19 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,600,2.04,CSH,9.5 +VTS,1,1,240,1.51,CRD,6.5 +VTS,1,1,720,2.37,CSH,11 +VTS,1,1,2160,16.47,CRD,47 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,480,2.1,CRD,9.5 +VTS,1,1,600,1.92,CRD,9.5 +VTS,1,1,480,1.55,CRD,7.5 +VTS,1,1,480,1.31,CRD,7.5 +VTS,1,1,1020,2.02,CRD,12.5 +VTS,1,1,660,3.32,CSH,12.5 +VTS,1,1,120,0.44,CSH,4 +VTS,1,1,120,0.81,CSH,4.5 +VTS,1,1,420,1.26,CSH,7 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,1,600,2.22,CSH,9.5 +VTS,1,1,300,1.11,CRD,6 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,720,2.07,CRD,10 +VTS,1,1,1080,2.68,CSH,13.5 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,360,0.69,CSH,5.5 +VTS,1,1,480,0.98,CSH,7.5 +VTS,1,1,480,0.73,CSH,6.5 +VTS,1,1,780,2.11,CSH,10.5 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,420,1.53,CSH,7.5 +VTS,1,1,600,2.32,CRD,10 +VTS,1,1,420,2.24,CSH,9 +VTS,1,1,600,1.79,CRD,9 +VTS,1,1,420,0.96,CRD,6.5 +VTS,1,1,1560,4.24,CRD,18.5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,240,0.79,CSH,5.5 +VTS,1,1,840,1.87,CSH,10.5 +VTS,1,1,840,2.55,CSH,11.5 +VTS,1,1,720,1.61,CRD,9 +VTS,1,1,1320,4.57,CSH,17.5 +VTS,1,1,360,2.01,CSH,7.5 +VTS,1,1,900,3.08,CRD,13 +VTS,1,1,1080,3.32,CRD,15 +VTS,1,1,180,0.47,CSH,4.5 +VTS,1,1,480,1.41,CSH,8 +VTS,1,1,660,1.72,CRD,9.5 +VTS,1,1,480,1.16,CSH,7 +VTS,1,1,420,0.97,CSH,6 +VTS,1,1,480,1.24,CSH,7 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,1,900,2.73,CRD,12.5 +VTS,1,1,660,1.04,CRD,8 +VTS,1,1,660,1.82,CRD,9.5 +VTS,1,1,960,1.79,CRD,11.5 +VTS,1,1,960,3.07,CSH,14 +VTS,1,1,660,1.1,CRD,8.5 +VTS,1,1,960,8.78,CRD,25 +VTS,1,1,240,0.4,CSH,4 +VTS,1,1,360,1.43,CSH,7 +VTS,1,1,1020,2.71,CRD,13 +VTS,1,1,180,0.81,CRD,4.5 +VTS,1,1,360,0.87,CRD,5.5 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,240,0.38,CSH,4.5 +VTS,1,1,1320,2.76,CRD,15 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,1,300,1.05,CRD,6 +VTS,1,1,1200,11.39,CSH,32.5 +VTS,1,1,480,1.45,CRD,7.5 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,1020,4.75,CSH,17.5 +VTS,1,1,1140,3.2,CRD,15 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,1380,6.56,CRD,22.5 +VTS,1,1,1020,4.2,CSH,16.5 +VTS,1,1,900,2.56,CSH,12.5 +VTS,1,1,420,1.33,CRD,7 +VTS,1,1,540,1.45,CSH,7.5 +VTS,1,1,180,0.4,CSH,4 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,1,300,0.63,CSH,5 +VTS,1,1,780,1.57,CSH,10 +VTS,1,1,780,2.81,CSH,11.5 +VTS,1,1,600,1.7,CSH,9 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,420,0.57,CSH,6 +VTS,1,1,420,3.06,CSH,10.5 +VTS,1,1,960,2.55,CRD,12 +VTS,1,1,300,0.53,CSH,5 +VTS,1,1,300,1.31,CRD,6.5 +VTS,1,1,120,0.34,CSH,3.5 +VTS,1,1,1200,5.65,CSH,19.5 +VTS,1,1,480,1.56,CRD,8 +VTS,1,1,780,1.53,CRD,10 +VTS,1,1,1200,1.98,CRD,13 +VTS,1,1,420,1.41,CRD,7 +VTS,1,1,600,1.17,CRD,8.5 +VTS,1,1,360,0.93,CRD,6 +VTS,1,1,420,1.15,CSH,6.5 +VTS,1,1,720,1.49,CSH,8.5 +VTS,2,1,2220,14.97,CRD,52 +VTS,1,1,120,0.54,CRD,4 +VTS,1,1,300,1.31,CRD,6.5 +VTS,1,1,480,1.35,CRD,7.5 +VTS,1,1,420,0.83,CSH,6 +VTS,1,1,1020,9.45,CRD,26.5 +VTS,1,1,2100,12.01,CSH,38.5 +VTS,1,1,300,1.03,CRD,6 +VTS,1,1,2460,12.3,CRD,38 +VTS,1,1,600,2.46,CRD,10 +VTS,1,1,600,1.63,CRD,8.5 +VTS,1,1,540,1.18,CRD,8 +VTS,1,1,420,1.52,CRD,7 +VTS,1,1,240,0.87,CRD,5 +VTS,1,1,1080,5.85,CRD,20.5 +VTS,1,1,900,1.75,CRD,10.5 +VTS,1,1,660,2.61,CSH,10.5 +VTS,1,1,960,2.02,CRD,11.5 +VTS,1,1,780,1.05,CSH,9 +VTS,1,1,1440,9.41,CRD,27.5 +VTS,1,2,240,0.52,CSH,4.5 +VTS,1,1,300,1.77,CRD,7 +VTS,1,1,720,1.31,CSH,9 +VTS,1,1,1380,2.34,CRD,15 +VTS,1,1,360,0.94,CRD,6 +VTS,1,1,1080,2.75,CRD,13.5 +VTS,1,1,180,0.84,CSH,5 +VTS,1,1,1380,3.64,CRD,17 +VTS,1,1,540,1.24,CRD,7.5 +VTS,1,1,240,1.06,CSH,5 +VTS,1,1,420,0.79,CRD,6.5 +VTS,1,1,540,1.68,CRD,8.5 +VTS,1,1,1200,6.51,CSH,22 +VTS,1,1,360,0.94,CSH,6 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,660,1.12,CRD,8.5 +VTS,1,1,840,3.11,CSH,12.5 +VTS,1,1,1020,3.49,CSH,15 +VTS,1,1,960,2.53,CRD,12.5 +VTS,1,1,600,1.73,CSH,8.5 +VTS,1,1,960,1.01,CSH,11 +VTS,1,1,480,0.83,CSH,6.5 +VTS,1,1,660,1.49,CRD,8.5 +VTS,1,1,660,1.51,CSH,8.5 +VTS,1,1,1140,3.41,CSH,15 +VTS,1,1,120,0.65,CRD,4.5 +VTS,1,1,240,0.65,CRD,4.5 +VTS,1,1,480,0.92,CRD,6.5 +VTS,1,1,960,1.23,CRD,11 +VTS,1,1,420,1.54,CSH,7.5 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,600,1.67,CSH,9 +VTS,1,2,480,0.74,CRD,7 +VTS,1,1,660,2.3,CSH,10 +VTS,1,1,960,2.42,CSH,12 +VTS,1,1,1920,3.07,CRD,20 +VTS,1,1,1500,2.89,CSH,16.5 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,1,480,1.13,CRD,7 +VTS,1,1,300,0.56,CSH,5 +VTS,1,1,720,1.42,CRD,9 +VTS,1,1,60,0.47,CSH,3.5 +VTS,1,1,780,1.64,CRD,9.5 +VTS,1,1,60,0.33,CRD,3 +VTS,1,1,720,3.08,CSH,11.5 +VTS,1,1,300,1.1,CRD,5.5 +VTS,1,1,900,1.95,CRD,11 +VTS,1,1,840,1.8,CRD,10.5 +VTS,1,1,1260,3.41,CRD,16 +VTS,1,1,360,0.86,CSH,6 +VTS,1,1,480,1.19,CSH,7 +VTS,1,1,360,1.01,CRD,6 +VTS,1,1,240,0.93,CSH,5 +VTS,1,1,720,2.43,CRD,11 +VTS,1,1,540,1.54,CRD,8 +VTS,1,1,540,1.22,CRD,8 +VTS,1,1,840,3.33,CRD,12.5 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,720,4.32,CSH,14.5 +VTS,1,1,480,1.27,CSH,7 +VTS,1,1,300,1.15,CRD,6 +VTS,1,1,480,1.23,CRD,7 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,300,0.6,CRD,5 +VTS,1,1,540,0.84,CRD,7 +VTS,1,1,720,1.61,CSH,9.5 +VTS,1,1,360,1.11,CRD,6.5 +VTS,1,1,360,1.23,CRD,6.5 +VTS,1,1,600,1.23,CSH,8.5 +VTS,1,1,720,0.88,CRD,9 +VTS,1,1,300,1.22,CSH,6 +VTS,1,1,660,1.14,CRD,8.5 +VTS,1,1,180,0.55,CRD,4 +VTS,1,1,300,0.71,CRD,5 +VTS,1,1,1140,1.82,CSH,13 +VTS,1,1,660,1.73,CSH,9 +VTS,1,1,960,1.56,CSH,10.5 +VTS,1,1,300,0.62,CRD,5 +VTS,1,1,240,1.32,CRD,6 +VTS,1,1,420,1.77,CSH,8 +VTS,1,1,480,1.97,CSH,8.5 +VTS,1,1,1200,5.14,CRD,19 +VTS,1,1,600,1.09,CRD,8 +VTS,1,1,540,0.97,CSH,7.5 +VTS,1,1,900,4.61,CSH,15.5 +VTS,1,1,960,1.27,CSH,10.5 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,780,1.56,CSH,9.5 +VTS,1,1,180,0.84,CSH,5 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,1020,2.15,CSH,12 +VTS,1,1,1140,2.98,CRD,14 +VTS,1,1,480,1.27,CSH,7.5 +VTS,1,1,360,1.9,CSH,7.5 +VTS,1,1,960,4.58,CRD,16.5 +VTS,1,1,720,1.35,CRD,9.5 +VTS,1,1,360,1.1,CRD,6.5 +VTS,1,1,840,3.38,CRD,13.5 +VTS,1,1,1080,1.88,CSH,12.5 +VTS,1,1,960,1.96,CRD,12 +VTS,1,1,660,1.67,CSH,9 +VTS,1,1,660,1.01,CRD,8.5 +VTS,1,1,840,1.09,CSH,9.5 +VTS,1,1,420,1.71,CRD,7.5 +VTS,1,1,60,0.29,CRD,3 +VTS,1,1,480,1.02,CRD,7 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,1320,5.59,CRD,20.5 +VTS,1,1,180,0.57,CRD,4.5 +VTS,1,1,300,0.68,CRD,5 +VTS,1,1,300,0.6,CRD,5.5 +VTS,1,1,420,0.88,CRD,6.5 +VTS,1,1,1080,2.2,CRD,12.5 +VTS,1,1,660,2.52,CSH,10 +VTS,1,1,480,1.19,CRD,6.5 +VTS,1,1,660,1.78,CRD,9 +VTS,1,1,480,1.31,CRD,7.5 +VTS,1,1,780,1.14,CRD,9 +VTS,1,1,540,1.66,CSH,8.5 +VTS,1,5,480,0.97,CRD,7 +VTS,1,5,720,2.5,CRD,11 +VTS,1,5,780,5.78,CSH,17.5 +VTS,1,5,600,3.4,CSH,12 +VTS,1,5,660,4.06,CRD,13.5 +VTS,1,5,240,0.75,CRD,5 +VTS,1,1,780,2.08,CRD,10.5 +VTS,1,1,720,1.25,CRD,9 +VTS,1,1,600,1.36,CRD,8.5 +VTS,1,1,720,1.48,CRD,9 +VTS,1,1,480,1.05,CRD,7 +VTS,1,1,120,0.11,CSH,3.5 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,120,0.39,CRD,3.5 +VTS,1,1,300,0.7,CRD,5.5 +VTS,1,1,720,1.47,CSH,9 +VTS,1,1,240,0.61,CRD,5 +VTS,1,1,180,0.57,CSH,4 +VTS,1,1,600,0.84,CSH,7.5 +VTS,1,1,360,0.88,CRD,6 +VTS,1,1,120,0.56,CRD,4 +VTS,1,1,660,2.36,CRD,10.5 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,420,0.69,CRD,6 +VTS,1,1,780,1.51,CSH,10 +VTS,1,1,480,1.69,CSH,7.5 +VTS,1,1,180,0.73,CRD,5 +VTS,1,1,600,1.33,CRD,8 +VTS,1,1,1020,1.56,CSH,12 +VTS,1,1,600,1.69,CSH,8.5 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,1320,2.93,CRD,15 +VTS,1,1,300,1.63,CRD,6.5 +VTS,1,1,600,1.36,CRD,8 +VTS,1,1,360,1.14,CRD,6 +VTS,1,1,600,2.27,CRD,9.5 +VTS,1,1,360,1.26,CSH,7 +VTS,1,1,180,0.57,CSH,4 +VTS,1,1,660,1.34,CSH,9 +VTS,1,1,540,2,CRD,9 +VTS,1,1,720,1.77,CSH,9.5 +VTS,1,1,240,0.86,CRD,5 +VTS,1,1,360,1.03,CRD,6 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,1,240,0.98,CRD,5 +VTS,1,1,600,1.81,CRD,9 +VTS,1,1,1800,9.68,CRD,30.5 +VTS,1,1,780,2.07,CRD,10.5 +VTS,1,1,480,0.86,CRD,7 +VTS,1,1,780,1.6,CRD,10 +VTS,1,1,780,2.08,CRD,10.5 +VTS,1,1,960,1.71,CRD,11.5 +VTS,1,1,240,0.67,CSH,4.5 +VTS,1,1,360,1.15,CSH,6.5 +VTS,1,1,660,1.21,CSH,8.5 +VTS,1,1,780,1.41,CSH,9.5 +VTS,1,1,240,0.76,CRD,5 +VTS,1,1,720,1.37,CRD,9.5 +VTS,1,1,180,0.86,CRD,5 +VTS,1,1,1260,2.21,CSH,14 +VTS,1,1,720,2.56,CRD,10.5 +VTS,1,1,300,0.73,CRD,5 +VTS,1,1,540,1.66,CRD,8.5 +VTS,1,1,840,2.64,CRD,11.5 +VTS,1,1,360,1.05,CSH,6 +VTS,1,1,780,2.22,CSH,10.5 +VTS,1,1,1740,2.4,CRD,18 +VTS,1,1,1020,1.98,CSH,12 +VTS,1,1,720,2.53,CSH,10.5 +VTS,1,1,360,0.93,CSH,6 +VTS,1,1,600,1.29,CSH,8.5 +VTS,1,1,780,1.12,CRD,9.5 +VTS,1,1,1920,2.34,CRD,18.5 +VTS,1,1,360,1.04,CRD,6 +VTS,1,1,420,0.52,CSH,6 +VTS,1,1,600,1.21,CSH,8 +VTS,1,1,480,1.59,CRD,7.5 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,1500,2.73,CRD,16.5 +VTS,1,1,2220,10.06,CRD,35.5 +VTS,1,5,1080,9.64,CRD,27.5 +VTS,1,5,600,2.28,CRD,10 +VTS,1,5,720,2.6,CSH,11.5 +VTS,1,5,360,1.13,CSH,6.5 +VTS,1,1,840,1.74,CSH,10.5 +VTS,1,1,840,1.73,CRD,10.5 +VTS,1,1,900,1.8,CRD,11 +VTS,2,1,3240,15.96,CRD,52 +VTS,1,1,1800,10,CRD,31 +VTS,1,1,1140,2.22,CRD,13.5 +VTS,1,1,300,0.86,CRD,5.5 +VTS,1,1,660,2.01,CSH,9.5 +VTS,1,1,2100,13.63,CSH,41.5 +VTS,1,1,420,1.46,CSH,7 +VTS,1,1,540,1.27,CSH,7.5 +VTS,1,1,900,2.86,CSH,13 +VTS,1,1,120,0.12,CSH,3 +VTS,1,1,660,2.02,CRD,9 +VTS,1,1,660,1.42,CRD,9 +VTS,1,1,420,0.89,CRD,6 +VTS,1,1,720,1.27,CRD,8.5 +VTS,1,1,840,2.25,CRD,11.5 +VTS,1,1,300,1.33,CSH,6.5 +VTS,1,1,660,1.33,CRD,9 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,540,1.12,CSH,7.5 +VTS,1,1,300,0.86,CSH,5 +VTS,1,1,300,1.12,CSH,6 +VTS,1,1,660,2.17,CRD,9.5 +VTS,1,1,660,1.31,CRD,8.5 +VTS,1,1,720,1.48,CSH,9 +VTS,1,1,720,1.21,CSH,8.5 +VTS,1,1,420,0.61,CSH,6 +VTS,1,1,1080,2.63,CRD,13 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,1020,2.44,CRD,12.5 +VTS,1,1,780,2.06,CSH,10.5 +VTS,1,1,660,1.74,CRD,9.5 +VTS,1,1,420,1.29,CSH,7 +VTS,1,1,300,1.39,CRD,6 +VTS,1,1,840,1.57,CRD,10.5 +VTS,1,1,780,1.45,CRD,10 +VTS,1,1,360,0.58,CSH,5.5 +VTS,1,1,1260,3.6,CRD,16 +VTS,1,1,840,0.99,CRD,9.5 +VTS,1,1,300,0.52,CSH,5 +VTS,1,1,660,0.92,CSH,7.5 +VTS,1,1,180,0.54,CSH,4.5 +VTS,1,1,480,1.18,CSH,7 +VTS,1,1,240,0.53,CRD,5 +VTS,1,1,360,0.81,CSH,6 +VTS,1,1,240,0.56,CRD,4.5 +VTS,1,1,1140,2.77,CSH,14 +VTS,1,1,840,1.92,CSH,11 +VTS,1,1,1140,3.33,CRD,14.5 +VTS,1,1,1200,1.86,CSH,13 +VTS,1,1,2040,9.88,CRD,31.5 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,360,0.79,CRD,6 +VTS,1,1,300,0.75,CRD,5 +VTS,1,1,240,1.13,CSH,5.5 +VTS,1,1,540,1.63,CSH,8 +VTS,1,1,420,1.82,CSH,7.5 +VTS,1,1,300,0.97,CSH,6 +VTS,1,1,420,1.22,CRD,7 +VTS,1,1,780,1.08,CSH,9 +VTS,1,1,1020,2.47,CRD,13 +VTS,1,1,540,0.94,CSH,7.5 +VTS,1,1,1140,2.77,CRD,14 +VTS,1,1,480,1.35,CRD,7.5 +VTS,1,1,480,0.88,CSH,6.5 +VTS,1,1,660,1.31,CSH,8.5 +VTS,1,1,720,2.09,CRD,10 +VTS,1,1,600,1.43,CRD,8 +VTS,1,1,720,1.5,CRD,9 +VTS,1,1,1500,4.84,CRD,19.5 +VTS,1,1,540,1.31,CRD,7.5 +VTS,1,1,960,1.29,CRD,11 +VTS,1,1,360,0.86,CRD,5.5 +VTS,1,1,540,1.22,CRD,7.5 +VTS,1,1,480,0.9,CRD,7 +VTS,1,1,660,1.31,CRD,8.5 +VTS,1,1,660,1.15,CRD,8.5 +VTS,1,1,420,1.24,CRD,7 +VTS,1,1,780,1.94,CRD,10.5 +VTS,1,1,900,2.15,CSH,11.5 +VTS,1,1,1200,2.52,CSH,14 +VTS,1,1,360,0.9,CRD,6 +VTS,1,1,240,0.74,CRD,5 +VTS,1,1,300,0.65,CSH,5 +VTS,1,1,960,1.62,CSH,11.5 +VTS,1,1,1320,4.76,CSH,19 +VTS,1,1,300,0.76,CSH,5 +VTS,1,1,180,0.82,CSH,5 +VTS,1,1,540,1.58,CSH,8 +VTS,1,1,600,1.32,CSH,8 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,2280,11.05,CRD,34 +VTS,1,1,660,3.08,CRD,11 +VTS,1,1,540,1.9,CRD,9 +VTS,1,1,660,1.61,CRD,9 +VTS,1,1,60,0.08,CSH,2.5 +VTS,1,1,540,1.65,CRD,8.5 +VTS,1,1,600,1.43,CRD,9 +VTS,1,1,540,1.38,CSH,8 +VTS,1,1,120,0.6,CSH,4 +VTS,1,1,360,0.82,CRD,6 +VTS,1,1,600,1.52,CSH,8.5 +VTS,1,1,600,1.64,CSH,8.5 +VTS,1,1,1140,1.58,CRD,13 +VTS,1,1,1920,10.56,CRD,35.5 +VTS,1,1,540,0.89,CRD,7 +VTS,1,1,180,0.83,CSH,5 +VTS,1,1,120,0.13,CRD,3.5 +VTS,1,1,360,1.04,CSH,6.5 +VTS,1,1,1020,3.09,CRD,13.5 +VTS,1,1,1620,2.92,CRD,17.5 +VTS,1,1,480,1.64,CRD,7.5 +VTS,1,1,420,1.72,CRD,7.5 +VTS,1,1,600,2.12,CRD,9 +VTS,1,1,540,1.46,CRD,7.5 +VTS,1,1,300,0.97,CSH,5.5 +VTS,1,1,360,1.4,CRD,7 +VTS,1,1,1440,3.91,CSH,17.5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,300,0.77,CRD,5 +VTS,1,1,780,2.1,CRD,10 +VTS,1,1,900,2.09,CSH,11.5 +VTS,1,1,420,0.87,CRD,6 +VTS,1,5,1440,9.88,CRD,30 +VTS,1,5,1560,7.23,CRD,24.5 +VTS,1,5,180,0.63,CSH,4.5 +VTS,1,5,240,1.09,CSH,5.5 +VTS,1,5,1020,8.93,CSH,25.5 +VTS,1,5,780,5.23,CSH,16 +VTS,1,5,900,3.53,CSH,13 +VTS,1,5,120,0.86,CRD,4.5 +VTS,1,5,1440,7.56,CRD,25.5 +VTS,1,5,660,1.53,CSH,8.5 +VTS,1,5,240,0.81,CSH,5 +VTS,1,5,300,1.15,CSH,6 +VTS,1,5,720,3.12,CRD,12 +VTS,1,5,600,2.81,CSH,10.5 +VTS,1,5,360,1.91,CSH,8 +VTS,1,5,960,6.05,CSH,19 +VTS,1,5,1800,8.59,CRD,28.5 +VTS,1,5,960,5.63,CRD,18 +VTS,1,5,1440,12.3,CRD,35.5 +VTS,1,5,240,1.12,CSH,5.5 +VTS,1,5,720,2.91,CRD,11.5 +VTS,1,5,300,1.53,CRD,6.5 +VTS,1,5,600,1.98,CRD,9.5 +VTS,1,5,480,2.02,CRD,8.5 +VTS,1,5,180,0.76,CSH,4.5 +VTS,1,5,480,3.42,CRD,11 +VTS,1,5,840,6.52,CSH,20 +VTS,1,5,1920,10.01,CRD,32.5 +VTS,1,5,600,2.08,CRD,9.5 +VTS,1,5,420,2.47,CSH,9 +VTS,1,5,300,1.26,CSH,6 +VTS,1,5,420,2.6,CSH,9.5 +VTS,1,5,480,2.56,CRD,9.5 +VTS,1,5,660,1.47,CRD,9.5 +VTS,2,5,2340,20.79,CSH,52 +VTS,1,5,840,2.89,CRD,12 +VTS,1,5,540,1.67,CSH,8.5 +VTS,1,5,540,1.9,CSH,8.5 +VTS,1,5,180,0.5,CSH,4 +VTS,1,5,1800,11.61,CSH,36.5 +VTS,1,5,180,0.76,CRD,4.5 +VTS,1,5,180,1.06,CRD,5.5 +VTS,1,5,900,7.98,CRD,23.5 +VTS,1,5,600,2.12,CRD,9.5 +VTS,1,5,480,1.54,CRD,8 +VTS,1,5,420,1.34,CRD,7.5 +VTS,1,5,960,3.21,CSH,14.5 +VTS,1,5,180,1.27,CRD,5.5 +VTS,1,5,240,0.58,CSH,5 +VTS,1,5,1080,4.22,CRD,16 +VTS,1,5,780,2.91,CRD,12 +VTS,1,5,540,2,CSH,8.5 +VTS,1,5,960,5.41,CRD,17.5 +VTS,1,5,240,0.67,CSH,5 +VTS,1,5,600,2.4,CRD,10 +VTS,1,5,420,1.87,CRD,8 +VTS,1,5,300,1.13,CSH,5.5 +VTS,1,1,840,2.45,CRD,11.5 +VTS,1,1,720,2.03,CRD,10 +VTS,1,5,180,0.73,CSH,4.5 +VTS,1,5,360,0.99,CSH,6 +VTS,1,5,0,0.09,CSH,2.5 +VTS,1,5,1440,4.47,CRD,19.5 +VTS,1,5,480,5.33,CSH,15.5 +VTS,1,5,420,2.18,CRD,9 +VTS,1,5,780,5.08,CSH,16 +VTS,1,5,420,1.53,CRD,7.5 +VTS,1,5,600,1.89,CSH,9 +VTS,1,5,1500,1.96,CRD,16.5 +VTS,1,5,600,1.62,CSH,9 +VTS,1,5,180,0.78,CSH,4.5 +VTS,1,5,480,1.32,CSH,7.5 +VTS,1,5,1200,8.53,CRD,26 +VTS,1,5,240,1.27,CSH,6 +VTS,1,5,240,1.22,CSH,5.5 +VTS,1,5,420,1.83,CSH,8 +VTS,1,5,300,1.76,CRD,7 +VTS,1,5,420,1.25,CRD,7 +VTS,1,5,1260,10.75,CSH,31 +VTS,1,5,900,5.7,CRD,18.5 +VTS,1,5,360,1.59,CSH,7.5 +VTS,1,5,540,2.75,CRD,10 +VTS,1,5,600,3.53,CSH,12 +VTS,1,1,420,0.83,CSH,6.5 +VTS,1,1,600,1.94,CRD,9 +VTS,1,1,360,1.06,CSH,6 +VTS,1,1,840,1.64,CRD,11 +VTS,1,1,840,1.28,CSH,10 +VTS,1,1,900,2.28,CRD,11.5 +VTS,1,5,1500,4.99,CSH,19 +VTS,1,5,2040,11.09,CSH,35.5 +VTS,1,5,960,7.57,CSH,22.5 +VTS,1,5,720,3.48,CSH,12.5 +VTS,1,5,1320,9.9,CSH,29 +VTS,1,5,120,0.62,CRD,4 +VTS,3,5,1980,18.73,CRD,69.5 +VTS,1,5,1320,5.29,CSH,20 +VTS,1,5,780,4.46,CSH,14.5 +VTS,1,5,600,2.07,CRD,9.5 +VTS,1,5,840,2.18,CRD,11.5 +VTS,1,5,300,1.17,CSH,6 +VTS,1,5,840,3.43,CSH,12.5 +VTS,1,5,240,1.63,CSH,6.5 +VTS,1,5,1680,9.78,CRD,30.5 +VTS,1,5,120,0.53,CSH,3.5 +VTS,1,5,720,3.33,CSH,12.5 +VTS,1,5,180,0.92,CSH,5 +VTS,1,5,120,0.73,CSH,4.5 +VTS,1,5,600,1.72,CSH,8.5 +VTS,1,1,780,1.78,CRD,10 +VTS,1,5,960,3.18,CRD,13 +VTS,1,5,240,1.01,CSH,5.5 +VTS,1,5,840,9.2,CRD,26 +VTS,1,5,480,1.66,CRD,8 +VTS,1,5,420,1.28,CRD,7 +VTS,1,5,600,2.46,CSH,10.5 +VTS,1,5,480,3.04,CRD,10.5 +VTS,1,5,960,5.84,CSH,18 +VTS,1,5,720,2.02,CRD,9.5 +VTS,1,5,600,1.97,CRD,9 +VTS,1,5,600,2.12,CSH,9.5 +VTS,1,5,840,4.54,CRD,15 +VTS,1,5,960,7.08,CRD,21.5 +VTS,1,5,660,1.72,CRD,9 +VTS,1,5,360,1.43,CRD,7 +VTS,1,5,240,0.99,CRD,5.5 +VTS,1,5,540,1.83,CRD,8.5 +VTS,1,5,1440,7.63,CSH,24.5 +VTS,1,5,480,1.87,CRD,8 +VTS,1,5,540,2.2,CSH,9.5 +VTS,1,5,900,5.12,CRD,18 +VTS,1,5,840,1.65,CSH,10.5 +VTS,1,5,540,3.01,CSH,10.5 +VTS,1,5,1260,6.02,CRD,21 +VTS,1,5,60,0.44,CRD,3.5 +VTS,1,5,540,2.26,CSH,9 +VTS,1,5,540,1.54,CSH,8 +VTS,1,5,120,0.58,CSH,4 +VTS,1,5,1260,9.42,CRD,28 +VTS,1,5,360,0.92,CRD,6 +VTS,1,5,120,0.92,CRD,4.5 +VTS,1,5,120,0.17,CSH,3 +VTS,1,5,360,1.56,CSH,7 +VTS,1,5,720,4.25,CSH,14 +VTS,1,5,360,0.9,CSH,6 +VTS,1,5,600,3.56,CRD,12.5 +VTS,1,5,540,3.06,CRD,11 +VTS,1,5,600,3,CRD,11 +VTS,1,5,660,2.67,CSH,11 +VTS,1,5,720,3.06,CSH,11.5 +VTS,1,5,420,1.52,CSH,7.5 +VTS,1,5,1020,4.04,CRD,15 +VTS,1,5,540,2.75,CRD,10.5 +VTS,1,5,240,0.65,CRD,5 +VTS,1,5,1140,5.07,CSH,19 +VTS,1,5,420,1.98,CSH,8 +VTS,1,5,660,1.88,CRD,9 +VTS,1,5,540,1.95,CRD,9 +VTS,1,5,960,2.18,CRD,12 +VTS,1,5,360,1.34,CSH,7 +VTS,1,5,480,1.69,CRD,8 +VTS,1,1,1500,9.46,CRD,28.5 +VTS,1,1,600,1.54,CSH,8.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,600,2.38,CSH,10 +VTS,1,1,60,0.04,CSH,2.5 +VTS,1,1,300,1.13,CSH,5.5 +VTS,1,1,840,2.28,CRD,11.5 +VTS,1,1,900,2.31,CRD,12 +VTS,1,1,480,1.08,CSH,7 +VTS,1,1,300,0.85,CRD,5 +VTS,1,1,660,1.57,CRD,9.5 +VTS,1,1,900,6.19,CSH,19 +VTS,1,1,960,2.06,CRD,12 +VTS,1,1,1320,2.36,CSH,15.5 +VTS,1,1,1560,8.92,CRD,28.5 +VTS,1,1,480,0.7,CSH,6.5 +VTS,1,1,1440,7.91,CRD,25 +VTS,1,1,360,0.86,CRD,5.5 +VTS,1,1,300,0.67,CSH,5 +VTS,1,1,780,2.19,CRD,10.5 +VTS,1,1,480,0.73,CRD,6.5 +VTS,1,1,1200,2.18,CRD,13 +VTS,1,1,1380,5.26,CSH,20 +VTS,1,1,900,1.47,CRD,10 +VTS,1,1,900,2.55,CRD,12 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,300,0.65,CSH,5 +VTS,1,1,540,1.06,CRD,7.5 +VTS,1,1,540,1.75,CSH,8 +VTS,1,1,240,0.78,CRD,5 +VTS,1,5,420,0.9,CSH,6.5 +VTS,1,5,720,2.3,CSH,10.5 +VTS,1,5,480,2.47,CRD,9.5 +VTS,1,5,240,1.3,CRD,6 +VTS,1,5,420,0.97,CSH,6.5 +VTS,1,5,540,3.32,CRD,11.5 +VTS,1,5,1200,9.03,CRD,27 +VTS,1,5,1020,7.96,CRD,24 +VTS,1,5,240,0.61,CSH,5 +VTS,1,5,900,8.5,CRD,24.5 +VTS,1,5,660,2.09,CSH,10 +VTS,1,5,780,3.13,CSH,13 +VTS,1,5,360,1.48,CRD,7 +VTS,1,5,420,2.02,CRD,8 +VTS,1,5,360,1.24,CSH,6 +VTS,1,5,1320,10.93,CRD,31.5 +VTS,1,5,300,1.23,CRD,6 +VTS,1,5,360,1.73,CRD,7.5 +VTS,1,5,240,1.23,CRD,5.5 +VTS,1,5,1200,3.86,CRD,16 +VTS,1,5,1680,9.79,CRD,31 +VTS,1,5,300,1.02,CSH,5.5 +VTS,1,5,540,3.3,CRD,11 +VTS,1,5,1680,10.19,CRD,31 +VTS,1,5,1140,10.59,CRD,31 +VTS,1,5,540,2.43,CRD,9.5 +VTS,1,5,540,1.99,CSH,9 +VTS,1,5,300,1.32,CSH,6 +VTS,1,5,1020,8.94,CRD,25.5 +VTS,1,5,540,1.85,CSH,8.5 +VTS,1,5,420,1.52,CRD,7.5 +VTS,1,5,660,2.79,CRD,11 +VTS,1,5,240,0.97,CRD,5.5 +VTS,1,5,1140,4.89,CSH,16.5 +VTS,1,5,600,2.82,CSH,10.5 +VTS,1,5,360,1.66,CRD,7.5 +VTS,1,5,600,2.38,CSH,10 +VTS,1,5,780,3.92,CRD,14 +VTS,1,5,240,1.14,CSH,5.5 +VTS,1,5,660,1.8,CRD,9.5 +VTS,1,5,660,3.17,CSH,12 +VTS,1,5,120,0.57,CSH,3.5 +VTS,1,5,300,1.53,CRD,6.5 +VTS,1,5,480,1.72,CRD,8 +VTS,1,5,180,0.63,CSH,4.5 +VTS,1,5,1020,8.8,CRD,25.5 +VTS,1,5,900,2.83,CSH,12.5 +VTS,1,5,480,1.16,CRD,7.5 +VTS,1,5,180,1.11,CRD,5 +VTS,1,5,480,2.13,CSH,8.5 +VTS,1,5,480,1.79,CRD,8 +VTS,1,5,840,5.67,CSH,18 +VTS,1,5,1680,10.51,CRD,32 +VTS,1,5,420,1.03,CSH,6.5 +VTS,1,5,1020,5.64,CRD,18.5 +VTS,1,5,960,3.1,CRD,13 +VTS,1,5,240,0.86,CSH,5 +VTS,1,5,300,1.31,CSH,6.5 +VTS,1,5,600,3.12,CRD,11 +VTS,1,5,1140,9.62,CRD,28 +VTS,1,5,960,7.75,CRD,23 +VTS,1,5,240,0.68,CSH,5 +VTS,1,5,1020,4.61,CRD,16 +VTS,1,5,840,3.06,CRD,13 +VTS,1,5,300,0.68,CSH,5 +VTS,1,5,660,1.92,CRD,9.5 +VTS,1,5,540,2.87,CSH,10.5 +VTS,1,5,180,0.61,CRD,4.5 +VTS,1,5,360,1.79,CRD,7 +VTS,1,5,240,0.65,CSH,4.5 +VTS,1,5,840,2.83,CRD,11.5 +VTS,1,5,1440,9.97,CRD,30 +VTS,1,5,780,7.02,CRD,20.5 +VTS,1,5,480,2.23,CSH,9.5 +VTS,1,5,900,8.75,CRD,25 +VTS,1,5,660,5.01,CSH,15.5 +VTS,1,5,540,2,CRD,9 +VTS,1,5,600,1.29,CSH,8 +VTS,1,5,180,0.55,CRD,4.5 +VTS,1,5,180,0.35,CSH,4 +VTS,1,5,1200,11.06,CSH,31 +VTS,1,5,840,6.01,CSH,19 +VTS,1,4,420,1.78,CRD,7.5 +VTS,1,5,660,2.36,CSH,10 +VTS,1,5,540,2.91,CRD,10.5 +VTS,1,5,600,2.44,CRD,10.5 +VTS,1,5,1020,5.81,CRD,18.5 +VTS,1,5,180,1.2,CRD,5.5 +VTS,1,5,720,4.9,CRD,15.5 +VTS,1,5,420,2.1,CRD,8.5 +VTS,1,5,1140,7.86,CSH,24.5 +VTS,1,5,480,3.39,CRD,11.5 +VTS,1,5,300,1.02,CSH,5.5 +VTS,1,5,720,2.71,CRD,10.5 +VTS,1,5,600,2.69,CSH,10 +VTS,1,5,240,0.76,CRD,4.5 +VTS,1,5,480,2.07,CRD,8.5 +VTS,1,5,240,0.85,CRD,5 +VTS,1,5,720,2.42,CRD,10.5 +VTS,1,5,660,3.59,CRD,12 +VTS,1,5,480,2.92,CRD,10 +VTS,1,5,1080,7.77,CRD,23.5 +VTS,1,5,600,3.05,CRD,10.5 +VTS,1,5,420,1.45,CSH,7 +VTS,1,5,960,9.14,CRD,25.5 +VTS,1,5,600,2.36,CSH,10 +VTS,1,5,660,2.95,CSH,11.5 +VTS,1,5,960,4.92,CRD,16.5 +VTS,1,5,420,2.35,CRD,9 +VTS,1,5,120,0.34,CSH,3.5 +VTS,1,5,180,1.34,CSH,6 +VTS,1,5,480,1.79,CSH,8 +VTS,1,5,780,3.92,CRD,14 +VTS,1,5,1260,9.54,CRD,28.5 +VTS,1,5,1020,3.68,CRD,14.5 +VTS,1,5,540,2.17,CSH,9.5 +VTS,1,5,300,1.27,CRD,6 +VTS,1,5,1800,8.87,CSH,30 +VTS,1,5,1140,5.13,CSH,18.5 +VTS,1,5,480,1.34,CRD,7.5 +VTS,1,5,1320,8.67,CSH,27 +VTS,1,5,480,2.34,CRD,9.5 +VTS,1,5,360,1.62,CRD,7 +VTS,1,5,660,1.69,CRD,9.5 +VTS,1,5,1560,13.28,CRD,37.5 +VTS,1,5,120,0.66,CRD,4 +VTS,1,1,660,1.59,CRD,8.5 +VTS,1,1,300,1.12,CRD,6 +VTS,1,1,480,1.21,CRD,7.5 +VTS,1,1,240,0.59,CSH,5 +VTS,1,1,360,0.8,CRD,5.5 +VTS,1,1,720,0.86,CSH,8.5 +VTS,1,1,720,1.61,CSH,10 +VTS,1,5,600,1.97,CSH,9 +VTS,1,5,840,3.45,CSH,12.5 +VTS,1,5,1260,4.35,CSH,17.5 +VTS,1,5,420,2.09,CRD,8.5 +VTS,1,5,1080,3.66,CSH,15.5 +VTS,1,5,1200,5.75,CSH,20.5 +VTS,1,5,480,3.15,CRD,11 +VTS,1,5,300,1.23,CSH,6.5 +VTS,1,5,2040,17.32,CSH,48.5 +VTS,1,5,720,3.2,CRD,12 +VTS,1,5,540,2.51,CRD,10 +VTS,1,5,300,1.24,CRD,6 +VTS,1,5,1440,6.25,CRD,22.5 +VTS,1,5,840,3.94,CSH,14.5 +VTS,1,5,600,1.78,CRD,9 +VTS,1,5,720,2.13,CRD,10 +VTS,1,5,720,3.1,CRD,12 +VTS,1,5,540,1.33,CSH,8.5 +VTS,1,5,720,5.62,CRD,17.5 +VTS,1,5,600,2.23,CRD,9.5 +VTS,1,5,540,3.25,CSH,11.5 +VTS,1,5,480,1.39,CRD,7.5 +VTS,1,5,240,1.04,CSH,5.5 +VTS,1,5,120,0.61,CSH,4 +VTS,1,5,660,2.38,CRD,10 +VTS,1,5,360,0.7,CSH,5.5 +VTS,1,5,60,0.15,CRD,2.5 +VTS,1,5,780,4.36,CRD,15 +VTS,1,5,420,1.94,CRD,8 +VTS,1,5,480,1.61,CRD,8.5 +VTS,1,5,360,1.48,CRD,7 +VTS,1,5,540,1.7,CRD,8.5 +VTS,1,5,300,1.56,CRD,6.5 +VTS,1,5,420,1.51,CSH,7.5 +VTS,1,5,240,0.88,CSH,5 +VTS,1,5,600,2.49,CSH,10 +VTS,1,5,660,3.54,CSH,12.5 +VTS,1,5,1020,5.28,CSH,18 +VTS,1,5,240,0.74,CSH,4.5 +VTS,1,5,240,1.03,CRD,5.5 +VTS,1,5,840,6.39,CSH,19.5 +VTS,1,5,720,5.01,CSH,15 +VTS,1,5,240,1,CRD,5 +VTS,1,5,300,1.64,CRD,6.5 +VTS,1,5,480,1.35,CRD,7.5 +VTS,1,5,300,1.08,CSH,6 +VTS,1,5,480,2.57,CRD,9.5 +VTS,1,5,120,0.65,CRD,4.5 +VTS,1,5,480,1.87,CRD,8.5 +VTS,1,5,780,3.7,CRD,13.5 +VTS,1,5,240,0.81,CSH,5 +VTS,1,5,600,1.01,CSH,7.5 +VTS,1,5,900,3.81,CSH,14.5 +VTS,1,5,540,2.72,CSH,9.5 +VTS,1,5,600,2.71,CRD,10.5 +VTS,1,5,540,1.66,CRD,8.5 +VTS,1,5,1620,11.46,CRD,34 +VTS,1,5,420,1.07,CSH,6.5 +VTS,1,5,480,2.08,CRD,9 +VTS,1,5,360,1.49,CRD,7 +VTS,1,5,600,3.72,CSH,12.5 +VTS,1,5,180,0.62,CRD,4 +VTS,1,5,1560,10.83,CSH,32 +VTS,1,5,480,1.69,CSH,7.5 +VTS,1,5,600,1.76,CRD,8.5 +VTS,1,5,360,2.11,CRD,8 +VTS,1,5,1020,3.05,CRD,13.5 +VTS,1,5,2280,13.11,CSH,40 +VTS,1,5,1860,9.39,CRD,31 +VTS,1,5,900,2.76,CSH,13 +VTS,1,5,360,1.74,CSH,7.5 +VTS,1,5,420,2.16,CSH,8.5 +VTS,1,5,180,0.77,CSH,5 +VTS,1,5,1140,6.16,CSH,20.5 +VTS,1,5,120,0.48,CSH,3.5 +VTS,1,5,1320,6.42,CRD,22.5 +VTS,1,5,360,1.3,CSH,6.5 +VTS,1,5,1260,3.49,CRD,15.5 +VTS,1,5,600,1.5,CRD,8 +VTS,1,5,420,1.62,CRD,7.5 +VTS,1,5,420,1.67,CSH,7.5 +VTS,1,5,1560,5.94,CRD,23.5 +VTS,1,5,540,0.92,CRD,7.5 +VTS,1,5,900,3.31,CSH,13.5 +VTS,1,5,60,0.64,CRD,4 +VTS,1,5,660,2.99,CSH,11.5 +VTS,1,5,960,3.72,CSH,14.5 +VTS,1,5,720,2.2,CRD,10.5 +VTS,1,5,480,2.02,CRD,9 +VTS,1,5,300,1.1,CRD,6 +VTS,1,5,900,2.95,CSH,13.5 +VTS,1,1,300,0.65,CRD,5.5 +VTS,1,1,420,0.72,CSH,6 +VTS,1,6,240,0.87,CSH,5.5 +VTS,1,5,420,1.6,CRD,7 +VTS,1,6,1320,3.57,CSH,16 +VTS,1,5,60,0.5,CSH,3.5 +VTS,1,5,180,0.38,CSH,3.5 +VTS,1,5,420,2.1,CRD,8.5 +VTS,1,5,1800,10.98,CRD,34 +VTS,1,5,300,1.6,CRD,6.5 +VTS,1,5,360,1.29,CSH,6.5 +VTS,1,5,1020,4.46,CRD,15.5 +VTS,1,1,840,2.16,CRD,11.5 +VTS,1,1,420,1.05,CSH,6 +VTS,1,6,600,1.93,CSH,9.5 +VTS,1,1,120,0.76,CSH,4.5 +VTS,1,5,300,1.95,CRD,7.5 +VTS,1,5,540,4.44,CRD,14.5 +VTS,1,5,480,1.49,CSH,7.5 +VTS,1,6,240,0.99,CSH,5.5 +VTS,1,5,600,2.14,CSH,9.5 +VTS,1,1,1140,3.58,CSH,15.5 +VTS,1,5,900,4.55,CSH,16 +VTS,1,5,120,0.69,CRD,4.5 +VTS,1,5,900,2.17,CRD,12 +VTS,1,5,480,1.3,CSH,7 +VTS,1,2,1080,2.35,CSH,12.5 +VTS,1,6,780,1.07,CRD,9.5 +VTS,1,2,300,0.49,CSH,5 +VTS,1,5,360,0.7,CRD,6 +VTS,1,5,900,2.55,CRD,12.5 +VTS,1,6,540,1.83,CSH,9 +VTS,1,5,1800,12.58,CRD,37.5 +VTS,1,5,300,1.08,CRD,6 +VTS,1,5,1200,4.57,CRD,17 +VTS,1,5,240,1.51,CRD,6.5 +VTS,1,5,480,1.9,CSH,8 +VTS,1,5,900,5.38,CSH,17.5 +VTS,1,5,600,2.53,CRD,10 +VTS,1,5,420,2.47,CSH,9 +VTS,1,5,1140,10.06,CRD,28.5 +VTS,1,5,360,2.11,CSH,8 +VTS,1,5,240,0.62,CRD,5 +VTS,1,5,180,0.8,CRD,4.5 +VTS,2,5,1560,19.16,CRD,52 +VTS,1,5,300,0.93,CRD,5.5 +VTS,1,5,780,4.81,CSH,15.5 +VTS,1,5,420,1.2,CSH,6.5 +VTS,1,5,1200,5.11,CRD,19 +VTS,1,5,120,0.4,CRD,3.5 +VTS,1,5,180,0.53,CRD,4 +VTS,1,5,420,2.27,CSH,9 +VTS,1,5,780,3.48,CRD,13 +VTS,1,5,240,0.66,CRD,5 +VTS,1,5,420,1.97,CSH,8 +VTS,1,5,420,1.05,CRD,6.5 +VTS,1,5,660,2.1,CSH,10 +VTS,1,5,960,7.36,CRD,22.5 +VTS,1,5,1200,4.05,CRD,16 +VTS,1,5,1200,9.24,CRD,27.5 +VTS,1,5,300,0.86,CSH,5.5 +VTS,1,5,360,1.4,CRD,6.5 +VTS,1,5,180,0.83,CRD,4.5 +VTS,1,5,360,1.11,CRD,6 +VTS,1,5,1620,5.1,CRD,20.5 +VTS,1,5,420,1.54,CSH,7.5 +VTS,1,5,120,0.79,CSH,4.5 +VTS,1,5,660,2.83,CRD,11 +VTS,1,5,840,7.82,CRD,22.5 +VTS,1,5,900,9.7,CRD,27 +VTS,1,5,420,2.61,CRD,9 +VTS,1,5,300,0.86,CSH,5 +VTS,1,5,300,1.38,CRD,6 +VTS,1,5,120,0.98,CSH,4.5 +VTS,1,5,420,0.75,CRD,6 +VTS,1,5,360,1.57,CRD,7 +VTS,1,5,660,3.51,CSH,12 +VTS,1,5,540,1.44,CSH,8.5 +VTS,1,5,780,8.31,CRD,23 +VTS,1,5,600,1.95,CSH,9.5 +VTS,1,5,600,1.24,CRD,8.5 +VTS,1,5,480,3.35,CSH,11 +VTS,1,5,960,4.59,CRD,16.5 +VTS,1,5,1260,10.77,CRD,30.5 +VTS,1,5,300,0.55,CSH,4.5 +VTS,1,5,1200,5.11,CSH,17.5 +VTS,1,5,420,2.04,CSH,8.5 +VTS,1,5,0,0.32,CSH,3 +VTS,1,5,1860,10.05,CSH,32 +VTS,1,5,1440,7.42,CRD,24 +VTS,1,5,480,1.47,CRD,7.5 +VTS,1,5,540,1.24,CSH,7.5 +VTS,1,5,600,3.41,CSH,11.5 +VTS,1,5,60,0.35,CSH,3 +VTS,1,5,1200,10.49,CSH,30 +VTS,1,5,720,2.97,CRD,11.5 +VTS,1,5,660,1.8,CSH,9 +VTS,1,5,660,3.28,CSH,11.5 +VTS,1,1,660,2.31,CRD,10 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,540,1.79,CSH,8.5 +VTS,1,1,480,2.11,CSH,8.5 +VTS,1,6,600,1.71,CSH,8.5 +VTS,1,5,720,2.02,CRD,10 +VTS,1,5,420,2.34,CSH,9 +VTS,1,5,240,1.01,CRD,5 +VTS,1,5,780,2.28,CSH,11 +VTS,1,5,480,1.61,CSH,6.5 +VTS,1,5,660,1.65,CSH,8 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,6,480,1.47,CRD,8 +VTS,1,5,360,0.26,CSH,5.5 +VTS,1,5,240,0.98,CRD,5.5 +VTS,1,5,900,4.69,CRD,16.5 +VTS,1,5,1200,10.04,CRD,29 +VTS,1,5,480,1.55,CSH,8 +VTS,1,5,360,1.93,CSH,7.5 +VTS,1,5,300,0.88,CSH,5.5 +VTS,1,5,600,2.24,CRD,9.5 +VTS,1,5,660,2.77,CRD,10 +VTS,1,5,1320,5.88,CRD,20.5 +VTS,1,1,780,3.07,CSH,12.5 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,1,120,0.31,CSH,3.5 +VTS,1,6,120,0.51,CSH,4 +VTS,1,6,540,1.46,CSH,7.5 +VTS,1,5,480,1.65,CRD,8 +VTS,1,5,180,1.04,CSH,5 +VTS,1,6,480,1.69,CSH,8 +VTS,1,6,300,0.54,CRD,5 +VTS,1,1,840,1.98,CSH,10.5 +VTS,1,5,600,2.7,CRD,10 +VTS,1,5,300,0.77,CSH,5 +VTS,1,5,420,0.91,CRD,6 +VTS,1,5,600,2.21,CRD,10 +VTS,1,6,420,1.05,CRD,7 +VTS,1,6,180,0.65,CRD,4.5 +VTS,1,6,540,0.86,CSH,7.5 +VTS,1,5,300,0.93,CSH,5.5 +VTS,1,5,660,2.16,CSH,10 +VTS,1,5,1980,9.49,CRD,29.5 +VTS,1,5,360,1.47,CSH,6.5 +VTS,1,5,360,0.74,CRD,5.5 +VTS,1,5,480,1.29,CRD,7.5 +VTS,2,5,1740,19.49,CRD,52 +VTS,1,5,900,4.58,CRD,15.5 +VTS,1,5,1440,10.45,CRD,30.5 +VTS,1,5,420,2.1,CRD,8.5 +VTS,1,5,960,6.21,CRD,20 +VTS,1,5,1740,7.36,CSH,25.5 +VTS,1,1,480,1.09,CSH,7 +VTS,1,1,660,0.78,CRD,8 +VTS,1,5,240,1.37,CSH,6.5 +VTS,1,6,720,3.37,CSH,12.5 +VTS,1,5,420,2.71,CRD,9.5 +VTS,1,5,720,3.83,CRD,13.5 +VTS,1,5,360,0.72,CRD,5.5 +VTS,1,5,540,1.32,CRD,8 +VTS,1,5,420,1.24,CSH,7 +VTS,1,1,1260,3.08,CSH,15 +VTS,1,5,600,2.54,CRD,10 +VTS,1,5,540,1.37,CSH,8 +VTS,1,5,720,0.77,CSH,8.5 +VTS,1,5,540,1.27,CRD,7.5 +VTS,1,5,1080,4.76,CRD,17 +VTS,1,5,1200,4.49,CSH,18 +VTS,1,5,660,2.76,CRD,11 +VTS,1,5,120,0.43,CSH,3.5 +VTS,1,5,1380,6.54,CSH,21.5 +VTS,1,5,180,0.63,CRD,4.5 +VTS,1,5,1080,8.65,CRD,24.5 +VTS,1,5,180,0.73,CSH,4.5 +VTS,1,5,240,0.73,CRD,4.5 +VTS,1,5,480,2.03,CRD,9 +VTS,1,5,1260,10.92,CSH,31 +VTS,1,5,660,3.5,CRD,12.5 +VTS,1,5,360,1.67,CRD,7.5 +VTS,1,5,780,3.06,CSH,12 +VTS,1,5,1320,10.83,CRD,31 +VTS,1,1,300,0.89,CRD,5 +VTS,1,1,420,1.05,CRD,7 +VTS,1,1,240,0.67,CRD,5 +VTS,1,5,1620,6.75,CRD,24 +VTS,1,5,300,1.89,CSH,7.5 +VTS,1,6,900,2.62,CSH,12 +VTS,1,5,420,1.07,CRD,6.5 +VTS,1,5,480,0.68,CSH,6.5 +VTS,1,6,1020,3.68,CRD,15 +VTS,1,5,1020,3.72,CSH,15.5 +VTS,1,5,360,0.96,CRD,6.5 +VTS,1,5,720,4.41,CSH,14.5 +VTS,1,5,660,2.69,CRD,10.5 +VTS,1,1,480,1.69,CRD,8 +VTS,1,1,240,0.88,CSH,5.5 +VTS,1,1,600,0.97,CSH,8 +VTS,1,6,300,1.76,CRD,7 +VTS,1,5,420,1.16,CSH,7 +VTS,1,5,300,0.97,CRD,5.5 +VTS,1,5,720,2.29,CRD,10.5 +VTS,1,5,720,2.13,CSH,10.5 +VTS,1,5,480,1.04,CSH,6.5 +VTS,1,5,1320,2.91,CRD,15.5 +VTS,1,5,900,3.27,CRD,13.5 +VTS,1,2,300,0.9,CRD,5.5 +VTS,1,5,180,1.43,CSH,6 +VTS,1,5,900,1.51,CRD,11 +VTS,1,5,720,2.47,CSH,11 +VTS,1,5,420,0.96,CSH,6.5 +VTS,1,5,540,1.07,CRD,7.5 +VTS,1,5,660,2.95,CSH,11.5 +VTS,1,5,840,3.43,CSH,13.5 +VTS,1,5,660,2.97,CRD,11.5 +VTS,1,5,240,0.95,CSH,5 +VTS,4,5,660,1.25,CRD,8 +VTS,1,5,420,0.55,CSH,6 +VTS,1,6,840,2.05,CSH,9.5 +VTS,1,4,540,2.03,CRD,8.5 +VTS,1,5,300,1.35,CSH,6 +VTS,1,6,540,1.4,CRD,8 +VTS,1,5,420,1.18,CSH,7 +VTS,1,5,60,0.12,CSH,3 +VTS,1,6,600,0.98,CRD,8 +VTS,1,5,1980,6.35,CSH,24.5 +VTS,1,5,780,1.62,CSH,9.5 +VTS,1,5,720,3.41,CSH,12.5 +VTS,1,5,420,2.88,CSH,10.5 +VTS,2,5,2280,17.59,CSH,52 +VTS,1,5,1500,5.35,CRD,20 +VTS,1,5,1320,4.45,CRD,18.5 +VTS,1,1,900,3.56,CRD,14.5 +VTS,1,5,1260,6.34,CSH,22 +VTS,1,5,660,3.11,CRD,12 +VTS,1,2,240,0.75,CRD,5 +VTS,1,5,300,1.81,CSH,7.5 +VTS,1,6,660,2.83,CRD,11.5 +VTS,1,1,1200,5.48,CRD,19 +VTS,1,1,300,1.71,CRD,6.5 +VTS,1,5,4080,9.05,CRD,46 +VTS,2,5,1920,17.71,CRD,52 +VTS,1,5,780,1.76,CRD,10 +VTS,1,5,840,2.5,CRD,12 +VTS,1,5,360,1.09,CSH,6 +VTS,1,6,240,0.86,CSH,5 +VTS,1,5,780,3.03,CSH,10.5 +VTS,1,6,420,1.42,CSH,7 +VTS,1,4,780,1.33,CRD,9.5 +VTS,1,6,720,1.65,CRD,9.5 +VTS,1,5,480,1.59,CSH,8 +VTS,1,5,1080,7.72,CRD,23.5 +VTS,1,5,240,1.04,CSH,5.5 +VTS,1,6,1260,6.68,CRD,21.5 +VTS,1,1,180,1.17,CRD,5.5 +VTS,1,5,300,1.18,CRD,6 +VTS,1,5,420,1.52,CSH,7 +VTS,1,5,660,2.33,CRD,10.5 +VTS,1,5,900,3.49,CSH,13.5 +VTS,1,5,540,1.29,CSH,8 +VTS,1,5,120,0.39,CSH,3.5 +VTS,1,5,480,1.14,CSH,7 +VTS,2,5,2460,17.11,CRD,52 +VTS,1,5,420,0.88,CSH,6.5 +VTS,1,5,960,4.28,CRD,16 +VTS,1,5,660,1.76,CRD,9.5 +VTS,1,5,420,1.44,CSH,7 +VTS,1,5,4080,6.97,CSH,42 +VTS,1,5,540,1.94,CRD,9 +VTS,1,5,720,1.96,CRD,10 +VTS,1,5,540,1.49,CSH,8.5 +VTS,1,5,300,0.54,CSH,5 +VTS,1,6,480,1.48,CRD,7.5 +VTS,1,5,1080,3.43,CRD,15.5 +VTS,1,5,540,6.98,CRD,20 +VTS,1,5,480,1.72,CRD,8.5 +VTS,1,5,180,0.7,CSH,4.5 +VTS,1,1,1080,3.28,CSH,14.5 +VTS,1,5,360,1.29,CSH,6.5 +VTS,1,5,360,1.36,CSH,7 +VTS,1,1,600,1.86,CRD,9 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,5,420,2.32,CSH,8.5 +VTS,2,6,2460,19.49,CRD,52 +VTS,1,5,960,2.72,CRD,12.5 +VTS,1,6,660,1.47,CRD,9 +VTS,1,6,360,0.74,CSH,6 +VTS,1,1,240,0.63,CRD,5 +VTS,1,5,900,3.73,CSH,14 +VTS,1,5,1440,3.4,CRD,17.5 +VTS,1,5,900,1.41,CRD,10.5 +VTS,1,5,420,1.24,CRD,7 +VTS,1,5,1080,2.64,CSH,13.5 +VTS,1,5,600,2.24,CRD,10 +VTS,1,5,300,0.77,CRD,5.5 +VTS,1,5,480,3.04,CRD,11 +VTS,1,5,360,1.59,CRD,7 +VTS,1,6,360,1.35,CRD,6.5 +VTS,1,5,480,0.87,CRD,6 +VTS,1,5,1380,6.8,CRD,22.5 +VTS,1,5,240,1.42,CRD,6 +VTS,1,5,120,0.58,CRD,4 +VTS,1,5,1440,9.53,CRD,28.5 +VTS,1,5,360,1.26,CRD,6.5 +VTS,1,5,780,7.84,CRD,22.5 +VTS,1,5,1320,6.78,CRD,22.5 +VTS,1,5,360,1.61,CSH,7.5 +VTS,1,5,300,1.96,CSH,8 +VTS,1,5,420,1.82,CRD,8 +VTS,1,5,120,0.37,CSH,3.5 +VTS,1,5,360,1.53,CSH,6.5 +VTS,1,5,120,0.29,CSH,3.5 +VTS,1,5,480,2.94,CSH,10.5 +VTS,1,5,600,1.55,CRD,8.5 +VTS,1,5,840,2.11,CRD,10.5 +VTS,1,5,420,1.7,CRD,7.5 +VTS,1,5,840,3.77,CRD,14 +VTS,1,5,1980,8.99,CSH,30 +VTS,1,5,300,2.25,CSH,8 +VTS,1,5,960,9.25,CRD,26 +VTS,1,5,300,1.62,CRD,6.5 +VTS,1,5,1740,12.39,CRD,35.5 +VTS,1,5,660,1.68,CRD,9.5 +VTS,1,5,1680,12.02,CRD,36 +VTS,1,6,660,2.9,CSH,11.5 +VTS,1,5,60,0.58,CSH,3.5 +VTS,1,5,360,1.27,CRD,6.5 +VTS,1,5,660,1.38,CRD,8.5 +VTS,1,5,720,1.35,CSH,9 +VTS,1,2,660,2.99,CRD,12 +VTS,1,5,120,0.67,CSH,4.5 +VTS,1,6,720,4.41,CRD,14.5 +VTS,1,5,0,0.05,CSH,2.5 +VTS,1,6,960,5.26,CSH,17.5 +VTS,1,5,120,0.55,CRD,4 +VTS,1,5,360,1.14,CRD,6 +VTS,4,5,360,0.69,CRD,5.5 +VTS,1,5,780,2.37,CRD,11.5 +VTS,1,5,780,2.43,CSH,11 +VTS,1,5,900,3.87,CRD,14 +VTS,1,5,2400,9.2,CRD,32 +VTS,1,5,480,0.98,CRD,7 +VTS,1,5,720,1.56,CSH,9.5 +VTS,1,5,480,1.95,CRD,8 +VTS,1,5,180,0.65,CSH,4 +VTS,1,5,60,0.49,CRD,3.5 +VTS,1,5,1380,3.3,CRD,16 +VTS,1,5,180,0.55,CRD,4.5 +VTS,1,4,120,0.4,CSH,3.5 +VTS,1,6,780,1.57,CSH,9.5 +VTS,1,5,900,3.8,CSH,14 +VTS,1,6,360,1.35,CSH,6.5 +VTS,1,6,240,0.69,CRD,5 +VTS,1,5,840,2.17,CRD,10.5 +VTS,1,4,120,0.71,CRD,4.5 +VTS,1,1,1380,4.17,CSH,18.5 +VTS,1,1,720,1.93,CRD,10 +VTS,1,5,1020,3.32,CSH,10.5 +VTS,1,6,1080,12.11,CSH,33.5 +VTS,1,5,960,3.67,CRD,14 +VTS,1,5,720,0.73,CRD,8.5 +VTS,4,5,720,1.53,CSH,9 +VTS,1,5,720,1.29,CRD,9 +VTS,1,5,480,1.01,CRD,7 +VTS,1,5,540,1.44,CSH,8.5 +VTS,1,5,600,2.22,CRD,9.5 +VTS,1,5,540,0.97,CSH,7.5 +VTS,1,5,780,2.38,CSH,10.5 +VTS,1,1,780,1.85,CSH,10 +VTS,1,6,840,2.61,CSH,12 +VTS,1,5,540,1.37,CSH,8 +VTS,1,5,480,2.2,CRD,9 +VTS,1,5,1620,8.5,CSH,28 +VTS,1,5,780,3.76,CRD,13.5 +VTS,1,5,540,0.87,CSH,7 +VTS,1,5,180,0.67,CSH,4.5 +VTS,1,5,1500,8.62,CRD,29.5 +VTS,1,2,1200,3.32,CSH,15 +VTS,1,2,480,1.76,CSH,8 +VTS,1,5,420,1.52,CSH,7.5 +VTS,1,5,360,1.55,CRD,7.5 +VTS,1,5,420,0.86,CSH,6 +VTS,1,6,840,4.92,CSH,17 +VTS,1,5,540,1.2,CRD,7.5 +VTS,1,5,240,1.16,CSH,5.5 +VTS,1,5,60,0.27,CSH,3 +VTS,1,5,0,0,CSH,2.5 +VTS,1,5,420,0.89,CSH,6.5 +VTS,1,5,540,1.19,CSH,8 +VTS,1,5,1200,4.58,CRD,18 +VTS,1,6,900,2.99,CRD,12.5 +VTS,1,6,780,2.33,CSH,10.5 +VTS,1,2,1020,5.13,CRD,18.5 +VTS,1,5,600,2.68,CRD,10.5 +VTS,1,6,1620,8.91,CSH,30 +VTS,1,5,600,2.41,CRD,10.5 +VTS,1,5,300,0.89,CRD,5.5 +VTS,1,5,300,0.6,CRD,5.5 +VTS,1,6,1080,2.74,CSH,14.5 +VTS,1,6,420,1.8,CRD,7.5 +VTS,1,5,660,1.55,CSH,9 +VTS,1,5,720,3.54,CSH,12.5 +VTS,1,5,480,1.5,CRD,8 +VTS,1,5,720,1.25,CRD,9.5 +VTS,1,1,480,2.94,CSH,10 +VTS,1,2,1140,1.77,CSH,12.5 +VTS,1,5,240,0.78,CRD,5 +VTS,1,5,660,2.05,CSH,9.5 +VTS,1,5,360,1.37,CSH,6.5 +VTS,1,6,780,2.63,CRD,11.5 +VTS,1,5,1500,5.49,CRD,21.5 +VTS,1,6,1740,14.03,CSH,41.5 +VTS,1,5,1620,5.58,CRD,23 +VTS,1,5,780,2.47,CRD,11.5 +VTS,1,5,840,2,CSH,10.5 +VTS,1,5,960,5.27,CSH,17.5 +VTS,1,5,180,0.85,CSH,5 +VTS,1,5,480,1.51,CSH,7.5 +VTS,1,4,1260,2.63,CRD,15 +VTS,1,5,360,1.23,CRD,6.5 +VTS,1,5,360,1.42,CRD,6.5 +VTS,1,5,1260,9.15,CRD,27 +VTS,1,5,660,2.1,CRD,9.5 +VTS,1,5,420,1.26,CRD,6.5 +VTS,1,5,900,1.31,CSH,10.5 +VTS,1,2,540,2.17,CSH,9.5 +VTS,1,4,1260,2.36,CSH,14.5 +VTS,4,5,600,1.85,CRD,8.5 +VTS,1,2,180,0.57,CRD,4.5 +VTS,1,1,360,1.78,CRD,7 +VTS,1,5,540,1.42,CRD,8 +VTS,1,2,600,1.74,CSH,8.5 +VTS,1,5,360,1.14,CSH,6.5 +VTS,1,2,480,1.47,CRD,8 +VTS,1,6,660,2.13,CSH,10 +VTS,1,5,1620,10.26,CRD,32 +VTS,1,6,300,1.91,CSH,7 +VTS,1,5,120,0.46,CSH,3.5 +VTS,1,5,600,3.02,CRD,11 +VTS,1,5,540,1.72,CRD,8.5 +VTS,1,5,240,1.37,CSH,6 +VTS,1,5,840,4.5,CRD,16 +VTS,1,6,660,2.44,CSH,10 +VTS,1,6,120,0.43,CSH,3.5 +VTS,1,5,120,0.32,CSH,3.5 +VTS,1,5,480,1.76,CRD,8 +VTS,1,5,720,2.51,CSH,10.5 +VTS,2,5,3660,19.66,CSH,52 +VTS,1,5,120,0.84,CSH,4.5 +VTS,1,5,1800,11.33,CSH,34 +VTS,1,5,300,0.88,CRD,5 +VTS,1,5,60,0.34,CSH,3 +VTS,1,5,240,0.57,CSH,4.5 +VTS,1,5,360,1.68,CRD,7.5 +VTS,1,6,1260,4.94,CRD,19 +VTS,1,4,1740,7.3,CRD,26 +VTS,1,5,720,2.44,CSH,11 +VTS,1,5,780,2.21,CRD,10.5 +VTS,1,5,780,2.79,CSH,11 +VTS,1,5,480,1.2,CRD,7.5 +VTS,1,5,960,1.55,CRD,11 +VTS,1,5,540,1.69,CSH,8.5 +VTS,1,6,1200,2.24,CSH,13.5 +VTS,1,5,1560,8.95,CRD,27.5 +VTS,1,5,600,2.54,CSH,10 +VTS,1,5,420,1.12,CRD,7 +VTS,1,5,1140,3.9,CSH,16 +VTS,1,2,300,0.99,CSH,6 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,5,480,2.87,CRD,10.5 +VTS,1,1,420,2.1,CRD,8.5 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,4,240,0.92,CSH,5 +VTS,1,5,300,0.63,CRD,5.5 +VTS,1,5,480,0.69,CSH,6.5 +VTS,1,5,1080,2.21,CSH,12.5 +VTS,1,5,540,1.84,CRD,9 +VTS,1,5,360,1.49,CSH,7 +VTS,1,5,180,0.77,CRD,4.5 +VTS,1,5,300,0.47,CSH,4.5 +VTS,1,5,1140,1.35,CRD,12 +VTS,1,1,1200,2.47,CSH,15 +VTS,1,5,780,1.74,CSH,10 +VTS,1,2,420,1.87,CSH,7.5 +VTS,2,5,2460,18.4,CRD,52 +VTS,1,5,360,0.82,CSH,5.5 +VTS,1,5,1320,3.17,CSH,15.5 +VTS,1,5,360,1.38,CRD,7 +VTS,1,6,480,1.36,CRD,7.5 +VTS,1,5,360,0.87,CRD,6 +VTS,1,5,720,1.43,CSH,9.5 +VTS,1,5,960,2.76,CRD,12.5 +VTS,1,6,360,1.3,CRD,7 +VTS,1,5,540,1.2,CRD,7.5 +VTS,1,5,360,2.01,CSH,8 +VTS,1,5,900,8.04,CRD,23.5 +VTS,1,5,1380,3.06,CRD,16 +VTS,1,1,240,0.66,CSH,5 +VTS,1,5,1440,2.95,CRD,16.5 +VTS,1,5,840,1.08,CSH,10 +VTS,1,6,660,1.69,CRD,9.5 +VTS,1,6,1380,4.72,CSH,19 +VTS,1,2,300,0.94,CSH,5.5 +VTS,1,6,240,0.36,CSH,4.5 +VTS,1,5,1500,7.86,CRD,25.5 +VTS,1,5,180,0.49,CSH,4 +VTS,1,5,300,0.45,CSH,4.5 +VTS,1,5,120,0.5,CSH,4 +VTS,2,6,2400,17.26,CSH,52 +VTS,1,5,420,1.63,CRD,7.5 +VTS,1,6,780,2.15,CRD,11 +VTS,1,5,1800,2.73,CRD,19.5 +VTS,1,5,780,2.75,CRD,11.5 +VTS,1,6,720,2.78,CRD,11 +VTS,1,2,480,2.16,CSH,9 +VTS,1,5,300,0.37,CRD,4.5 +VTS,2,5,2160,18.08,CRD,52 +VTS,1,5,1320,2.21,CSH,15 +VTS,1,5,780,1.62,CRD,9.5 +VTS,1,5,900,2.37,CSH,11 +VTS,1,5,480,1.31,CRD,7.5 +VTS,1,5,600,1.97,CRD,9 +VTS,1,5,540,2.99,CSH,11 +VTS,1,5,600,1.26,CSH,8 +VTS,1,5,480,1.58,CRD,8 +VTS,1,5,1320,8.95,CRD,27 +VTS,1,5,300,0.59,CRD,5 +VTS,4,5,480,0.81,CSH,6.5 +VTS,1,5,1620,7.74,CRD,27 +VTS,1,5,480,2.81,CRD,10 +VTS,1,5,300,0.71,CSH,5.5 +VTS,1,6,1260,4.86,CSH,18 +VTS,1,5,900,2.12,CSH,11.5 +VTS,1,5,1080,2.08,CRD,13 +VTS,1,5,720,3.44,CSH,12.5 +VTS,1,1,960,2.95,CSH,13 +VTS,1,5,480,0.73,CSH,6.5 +VTS,1,5,420,0.76,CSH,6.5 +VTS,1,5,300,0.77,CSH,5.5 +VTS,1,5,300,0.46,CSH,5 +VTS,1,5,1860,4.86,CRD,22.5 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,6,480,3.15,CSH,10.5 +VTS,1,2,300,0.68,CSH,5.5 +VTS,1,5,300,1.12,CRD,6 +VTS,1,5,360,0.61,CSH,5.5 +VTS,1,6,720,1.4,CSH,9 +VTS,1,6,600,3.54,CRD,12.5 +VTS,4,5,300,1.67,CRD,7 +VTS,1,6,480,1.73,CRD,8.5 +VTS,1,5,540,2.22,CSH,9.5 +VTS,1,5,480,1.09,CSH,7 +VTS,5,1,0,0,CRD,5 +VTS,1,5,540,1.49,CRD,8 +VTS,1,5,1800,9.74,CRD,31.5 +VTS,1,5,540,1.99,CRD,9.5 +VTS,1,5,360,1.06,CSH,6 +VTS,1,5,300,0.97,CRD,5.5 +VTS,1,6,1020,2.82,CRD,12.5 +VTS,1,5,480,0.74,CRD,6.5 +VTS,1,6,600,2.5,CRD,10 +VTS,1,5,300,0.67,CRD,5.5 +VTS,1,5,180,0.43,CRD,4 +VTS,1,6,780,2.84,CSH,12 +VTS,1,6,360,1.02,CRD,6 +VTS,1,5,420,0.7,CSH,6 +VTS,1,5,240,0.64,CRD,4.5 +VTS,1,6,1320,3.3,CSH,16.5 +VTS,1,5,420,0.94,CRD,6.5 +VTS,1,5,180,0.62,CRD,4.5 +VTS,1,5,480,0.7,CRD,6.5 +VTS,1,6,1440,5.54,CRD,21.5 +VTS,1,6,240,0.97,CSH,5 +VTS,1,4,240,1.06,CSH,5.5 +VTS,1,5,1200,3.01,CRD,15 +VTS,1,6,540,0.83,CSH,7 +VTS,1,6,1260,3.7,CSH,16 +VTS,1,5,600,0.66,CRD,8 +VTS,1,1,480,0.63,CSH,6 +VTS,1,5,1020,3.55,CRD,15 +VTS,1,5,780,4.74,CSH,15.5 +VTS,4,5,300,0.79,CSH,5.5 +VTS,1,5,300,0.58,CSH,5 +VTS,1,1,600,2.11,CSH,9.5 +VTS,1,6,900,7.67,CSH,23 +VTS,1,5,1200,4.05,CSH,17.5 +VTS,1,5,420,1.4,CSH,7 +VTS,1,5,1020,1.32,CRD,11.5 +VTS,1,5,540,2.46,CRD,9.5 +VTS,1,5,180,0.63,CSH,4.5 +VTS,1,5,360,1.43,CRD,7 +VTS,1,5,240,0.76,CRD,5 +VTS,1,5,420,1.32,CRD,7.5 +VTS,1,5,660,2.84,CSH,11 +VTS,1,6,1500,11.66,CRD,33 +VTS,1,5,960,3.63,CRD,14.5 +VTS,1,5,900,1.94,CRD,11 +VTS,2,5,1980,17.75,CRD,52 +VTS,1,4,900,1.48,CSH,10.5 +VTS,1,6,1140,3.63,CRD,15 +VTS,1,5,720,1.3,CRD,9.5 +VTS,1,5,240,0.7,CSH,5 +VTS,1,5,180,0.74,CSH,4.5 +VTS,1,5,180,0.39,CSH,4 +VTS,1,6,660,1.71,CSH,9.5 +VTS,1,6,600,1.93,CRD,9 +VTS,1,6,480,1.37,CRD,8 +VTS,1,5,1140,3.9,CSH,16 +VTS,1,5,240,1.08,CSH,5.5 +VTS,1,6,1380,6.62,CRD,23 +VTS,2,5,3780,21.59,CRD,52 +VTS,1,1,360,1.03,CRD,6.5 +VTS,1,6,780,1.75,CSH,10 +VTS,1,5,480,1.04,CSH,6.5 +VTS,1,6,240,0.78,CRD,5 +VTS,1,5,1620,3.84,CRD,18.5 +VTS,1,5,480,1.4,CRD,7.5 +VTS,1,5,480,1.16,CRD,7 +VTS,1,5,1140,5.62,CRD,18.5 +VTS,1,5,1200,4.06,CRD,16 +VTS,1,4,1560,9.21,CSH,30 +VTS,1,5,420,1.27,CRD,7 +VTS,1,5,660,1.15,CRD,8.5 +VTS,1,5,240,0.87,CRD,5 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,5,1020,5.21,CRD,18 +VTS,1,5,660,2.32,CSH,10.5 +VTS,1,5,480,1.34,CRD,7 +VTS,1,5,720,2.83,CSH,11.5 +VTS,1,5,300,2.27,CSH,8 +VTS,1,5,540,2.08,CRD,9 +VTS,1,6,780,3.86,CSH,13.5 +VTS,2,5,1800,21.53,CRD,52 +VTS,1,5,360,0.86,CSH,5.5 +VTS,1,5,60,0.5,CRD,3.5 +VTS,1,5,420,1.24,CRD,7 +VTS,1,5,480,1.52,CRD,7.5 +VTS,1,5,420,0.63,CSH,6 +VTS,1,1,900,2.92,CSH,12 +VTS,1,5,1860,10.63,CRD,31 +VTS,1,2,1680,2.14,CSH,17.5 +VTS,1,5,1440,11.54,CRD,33 +VTS,1,1,720,1.27,CRD,9 +VTS,1,6,480,1.47,CRD,7.5 +VTS,1,5,2040,7.24,CSH,28 +VTS,1,1,1020,6.26,CRD,21 +VTS,1,6,780,2.16,CSH,11 +VTS,1,5,360,0.83,CSH,6 +VTS,1,1,660,2,CSH,9.5 +VTS,1,5,900,5.09,CRD,18 +VTS,1,5,300,1.21,CRD,6 +VTS,1,5,300,1.12,CSH,6 +VTS,1,5,540,1.13,CRD,7.5 +VTS,1,5,840,2.3,CSH,11.5 +VTS,1,5,540,2.03,CRD,8.5 +VTS,1,5,960,2.16,CRD,12 +VTS,1,6,900,7.44,CSH,22 +VTS,1,5,300,1.06,CSH,6 +VTS,1,1,720,2.58,CSH,11 +VTS,1,5,1140,9.09,CRD,27 +VTS,1,5,240,0.9,CSH,5.5 +VTS,1,5,240,0.31,CRD,4.5 +VTS,1,5,900,5.14,CRD,17.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,5,240,0.64,CRD,5 +VTS,2,6,3180,18.72,CSH,52 +VTS,1,5,300,1.51,CSH,6.5 +VTS,1,6,1560,5.35,CRD,22.5 +VTS,1,5,180,0.54,CRD,4 +VTS,1,2,240,0.83,CSH,5 +VTS,1,1,480,2.31,CSH,9 +VTS,1,5,900,4.11,CSH,15 +VTS,1,5,540,1.08,CRD,7.5 +VTS,1,5,360,0.76,CSH,5.5 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,5,360,1.44,CSH,7 +VTS,1,5,1020,10.81,CRD,30.5 +VTS,1,6,0,0.05,CSH,2.5 +VTS,2,6,2220,17.47,CSH,52 +VTS,1,5,600,1.67,CRD,8 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,5,540,1.92,CRD,8.5 +VTS,1,5,780,1.79,CSH,10 +VTS,1,6,240,0.61,CRD,4.5 +VTS,1,4,420,1.2,CSH,6.5 +VTS,1,5,300,1.22,CRD,6 +VTS,1,6,180,0.39,CRD,3.5 +VTS,1,5,840,2.08,CRD,10.5 +VTS,1,1,420,1.42,CSH,7.5 +VTS,1,6,840,3.17,CRD,13 +VTS,1,5,840,8.56,CRD,24.5 +VTS,1,6,780,2.62,CRD,11.5 +VTS,1,5,180,1.02,CSH,5 +VTS,1,5,360,1.1,CRD,6 +VTS,1,5,660,1.79,CSH,9 +VTS,1,5,420,4.83,CSH,14.5 +VTS,1,5,720,1.71,CRD,9 +VTS,1,1,600,1.66,CRD,8.5 +VTS,1,5,1440,6.13,CSH,21.5 +VTS,1,5,1020,7.59,CRD,23.5 +VTS,1,5,300,0.47,CSH,5.5 +VTS,1,6,420,0.92,CSH,6.5 +VTS,1,5,720,1.4,CRD,8.5 +VTS,1,5,360,1.05,CSH,6 +VTS,1,5,600,2.12,CRD,9 +VTS,1,5,1020,3.42,CRD,14 +VTS,1,5,420,1.38,CRD,7 +VTS,1,6,300,1.39,CSH,6.5 +VTS,1,6,480,1.03,CRD,7 +VTS,1,5,180,0.95,CRD,5 +VTS,1,5,1140,5.7,CSH,19.5 +VTS,1,2,780,2.52,CRD,11 +VTS,1,6,720,5.1,CRD,16.5 +VTS,1,6,600,1.66,CRD,9 +VTS,1,6,600,2.35,CRD,10 +VTS,1,6,300,1.15,CRD,5.5 +VTS,1,5,240,0.82,CSH,5 +VTS,1,5,300,1.05,CRD,6 +VTS,1,5,540,1.27,CRD,7.5 +VTS,1,5,540,1.12,CRD,7.5 +VTS,1,5,1080,2.22,CRD,13.5 +VTS,1,5,300,1.47,CRD,7 +VTS,1,6,1860,4.51,CRD,22 +VTS,1,5,1140,2.71,CSH,14 +VTS,2,5,2220,23.66,CRD,52 +VTS,1,6,660,2.68,CRD,11 +VTS,1,5,420,0.43,CSH,5.5 +VTS,1,6,1140,3.95,CSH,15 +VTS,1,6,180,0.33,CSH,3.5 +VTS,1,5,600,2.29,CRD,9.5 +VTS,1,5,660,2.35,CRD,10 +VTS,1,5,360,2.33,CRD,8.5 +VTS,1,5,300,1.13,CSH,5.5 +VTS,1,2,780,1.49,CSH,10 +VTS,1,6,960,3.53,CRD,14 +VTS,1,5,180,0.62,CRD,4.5 +VTS,1,6,1080,10.01,CRD,29 +VTS,1,5,420,1.11,CRD,7 +VTS,1,5,300,0.76,CRD,5 +VTS,1,5,420,1.26,CSH,7 +VTS,1,5,840,2.08,CRD,11 +VTS,2,6,2700,17.76,CSH,52 +VTS,1,5,0,0,CSH,2.5 +VTS,1,5,660,2.19,CRD,10.5 +VTS,1,5,660,1.73,CSH,9.5 +VTS,2,6,4860,18.29,CSH,52 +VTS,1,2,60,0.02,CRD,3 +VTS,1,2,840,2.74,CRD,12 +VTS,1,1,600,1.55,CRD,8.5 +VTS,1,5,660,2.92,CSH,11 +VTS,1,5,840,1.82,CRD,10 +VTS,1,6,300,0.93,CSH,6 +VTS,1,2,540,1.42,CRD,8 +VTS,1,2,180,0.69,CRD,4.5 +VTS,1,2,360,1.35,CRD,6 +VTS,1,3,360,1.22,CSH,6.5 +VTS,1,3,420,1.17,CSH,6.5 +VTS,1,4,780,0.92,CRD,9 +VTS,1,5,720,1.8,CRD,9.5 +VTS,1,3,1740,4.96,CRD,22.5 +VTS,1,1,420,2.7,CRD,9.5 +VTS,1,1,540,3.03,CRD,11 +VTS,1,1,660,2.11,CSH,9.5 +VTS,1,1,540,2.56,CRD,10 +VTS,1,1,360,0.92,CSH,6 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,360,1.16,CSH,5.5 +VTS,1,1,1080,3.55,CSH,15 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,1,720,4.06,CSH,13.5 +VTS,1,1,360,0.89,CRD,5.5 +VTS,1,1,540,1.74,CRD,8 +VTS,1,1,1260,3.09,CRD,15.5 +VTS,1,1,780,4.61,CSH,15 +VTS,1,5,0,0.03,CSH,2.5 +VTS,1,5,420,1.29,CRD,7 +VTS,1,2,540,1.58,CRD,8 +VTS,1,2,720,1.35,CSH,9 +VTS,1,2,360,1.44,CRD,6.5 +VTS,1,2,840,5.45,CSH,17.5 +VTS,1,3,900,1.18,CSH,10.5 +VTS,1,5,240,0.48,CSH,5 +VTS,1,4,420,1.36,CRD,7 +VTS,1,4,660,1.12,CSH,8.5 +VTS,1,4,960,1.96,CRD,11.5 +VTS,1,1,840,1.98,CRD,10.5 +VTS,1,1,480,1.68,CSH,8 +VTS,1,1,360,0.81,CSH,5.5 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,480,1.51,CRD,7.5 +VTS,1,1,300,1.48,CSH,6.5 +VTS,1,1,840,1.29,CSH,10 +VTS,1,1,420,1.23,CRD,6.5 +VTS,1,1,840,1.04,CSH,10 +VTS,1,1,660,1.69,CRD,9 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,480,1.83,CRD,8 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,780,3.32,CSH,13.5 +VTS,1,1,840,3.48,CRD,13 +VTS,1,3,420,0.96,CSH,6.5 +VTS,1,4,720,1.05,CSH,9 +VTS,1,5,900,2.72,CRD,12.5 +VTS,1,4,1260,2.69,CSH,14 +VTS,1,5,720,1.24,CSH,9.5 +VTS,1,4,600,2.07,CRD,9.5 +VTS,1,1,540,1.07,CRD,7.5 +VTS,1,1,600,1.19,CSH,7 +VTS,1,1,480,1.57,CSH,7.5 +VTS,1,1,720,0.8,CSH,8 +VTS,1,1,660,2.38,CSH,9.5 +VTS,1,1,840,1.39,CRD,10 +VTS,1,1,240,1.23,CRD,5.5 +VTS,1,1,360,1.14,CSH,6 +VTS,1,1,600,1.45,CSH,8.5 +VTS,1,1,1020,3.4,CSH,14 +VTS,1,1,900,3.15,CSH,13 +VTS,1,1,60,0.45,CSH,3.5 +VTS,1,1,420,1.47,CRD,7.5 +VTS,1,1,840,2.85,CSH,12.5 +VTS,1,1,540,2.91,CSH,10 +VTS,1,1,600,2.24,CSH,9.5 +VTS,1,1,60,0,CSH,2.5 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,300,0.69,CSH,5 +VTS,1,1,3600,13.86,CSH,49 +VTS,1,5,840,2.03,CRD,10.5 +VTS,1,1,360,0.91,CSH,6 +VTS,1,5,1020,2.49,CRD,12.5 +VTS,1,1,360,1.31,CRD,6.5 +VTS,1,1,900,2.41,CRD,11.5 +VTS,1,2,480,1.21,CSH,7 +VTS,1,3,420,1.46,CSH,7.5 +VTS,1,3,540,1.18,CSH,6.5 +VTS,1,3,360,0.5,CRD,5.5 +VTS,2,4,1800,14.04,CSH,52 +VTS,1,4,840,2.09,CSH,10.5 +VTS,1,5,840,0.94,CRD,9.5 +VTS,1,4,540,1.63,CSH,8.5 +VTS,1,1,480,0.83,CRD,6.5 +VTS,1,1,360,0.7,CSH,5.5 +VTS,1,1,420,1.03,CSH,6 +VTS,1,1,1560,8.44,CRD,29 +VTS,1,1,360,1.21,CRD,6 +VTS,1,1,660,3.57,CSH,13 +VTS,1,1,1140,10.37,CRD,29.5 +VTS,1,1,600,1.24,CRD,8 +VTS,1,1,600,2.71,CSH,10.5 +VTS,1,1,720,1.36,CSH,9 +VTS,1,1,1260,4.26,CSH,16 +VTS,1,1,1200,5.35,CSH,19 +VTS,1,1,600,1.86,CRD,9 +VTS,1,5,960,2.85,CSH,13 +VTS,4,2,960,2.25,CSH,11.5 +VTS,1,5,660,1.77,CRD,9 +VTS,1,5,720,2.28,CRD,10 +VTS,1,4,1200,3.21,CRD,15 +VTS,1,4,1320,2.14,CRD,14.5 +VTS,1,5,240,1.18,CRD,6 +VTS,1,5,900,2.5,CRD,12 +VTS,1,5,300,0.92,CRD,5.5 +VTS,1,5,900,1.94,CSH,11.5 +VTS,1,5,1260,1.57,CRD,14 +VTS,1,5,1140,2.15,CRD,13 +VTS,1,5,480,1.31,CRD,7 +VTS,1,5,900,1.83,CRD,11 +VTS,1,6,1620,4.97,CSH,20 +VTS,1,5,600,1.65,CSH,8.5 +VTS,1,6,480,1.48,CSH,7.5 +VTS,1,5,1260,3.43,CRD,15.5 +VTS,1,6,600,3.29,CSH,11.5 +VTS,1,6,300,0.79,CRD,5.5 +VTS,1,5,360,1.15,CSH,6 +VTS,1,5,1140,4.04,CRD,16.5 +VTS,1,1,720,1.6,CSH,10 +VTS,1,5,1020,2.88,CRD,13.5 +VTS,1,6,900,2.82,CRD,12 +VTS,1,5,1260,3.42,CRD,16.5 +VTS,1,5,480,1.1,CRD,7 +VTS,1,1,240,0.6,CRD,4.5 +VTS,1,5,900,2.06,CRD,11.5 +VTS,1,5,480,1.97,CSH,9 +VTS,1,5,240,0.9,CRD,5.5 +VTS,1,5,300,0.6,CSH,5 +VTS,1,5,1080,2.05,CSH,12 +VTS,1,5,780,2.45,CSH,11 +VTS,1,4,360,1.27,CSH,6.5 +VTS,1,6,480,0.75,CSH,6 +VTS,1,5,240,0.66,CSH,4.5 +VTS,1,1,480,1.59,CSH,8 +VTS,1,5,480,2.07,CSH,8.5 +VTS,1,5,660,0.43,CSH,7.5 +VTS,2,6,2880,18.11,CRD,52 +VTS,1,5,420,1.55,CSH,7.5 +VTS,1,5,480,0.82,CSH,6 +VTS,1,5,960,2.01,CSH,11 +VTS,1,5,300,0.99,CRD,6 +VTS,1,5,840,8.98,CSH,25.5 +VTS,4,6,1620,10.88,CRD,33.5 +VTS,1,5,1560,3.38,CRD,17.5 +VTS,1,5,900,2.63,CSH,12 +VTS,3,5,120,0.07,CSH,21 +VTS,1,2,420,1.4,CRD,7 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,5,420,2.09,CSH,9 +VTS,1,5,540,1.68,CSH,8 +VTS,1,5,60,0.13,CSH,2.5 +VTS,1,5,540,2.92,CRD,11 +VTS,1,5,780,1.79,CRD,10 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,5,240,1.32,CRD,5.5 +VTS,1,5,480,1.39,CRD,7.5 +VTS,1,5,240,1.09,CSH,5.5 +VTS,1,1,240,0.79,CRD,5.5 +VTS,1,2,660,3.14,CSH,11.5 +VTS,1,5,600,3,CRD,11 +VTS,1,5,480,1.73,CRD,7.5 +VTS,1,5,780,3.25,CRD,13.5 +VTS,1,5,1260,3.69,CSH,16.5 +VTS,1,5,660,1.82,CRD,9.5 +VTS,1,5,480,0.87,CRD,7 +VTS,1,5,300,0.92,CSH,6 +VTS,1,6,1320,2.76,CSH,15 +VTS,1,6,840,2.2,CRD,11 +VTS,1,4,1140,4.38,CRD,18 +VTS,1,4,660,1.31,CRD,9 +VTS,1,5,900,1.58,CSH,11 +VTS,1,5,900,3.62,CRD,13.5 +VTS,1,5,480,0.9,CRD,6.5 +VTS,1,5,840,2.11,CRD,11 +VTS,1,5,660,1,CSH,8.5 +VTS,1,6,240,1.05,CSH,5.5 +VTS,1,5,2160,12.9,CRD,38 +VTS,1,5,960,2.77,CSH,12 +VTS,1,1,720,1.05,CRD,9 +VTS,1,5,840,4.2,CSH,14.5 +VTS,1,5,120,0.51,CRD,4 +VTS,1,5,960,2.75,CRD,12.5 +VTS,1,6,720,1.85,CRD,10 +VTS,1,6,240,0.45,CRD,5 +VTS,1,1,660,2.28,CSH,10.5 +VTS,1,5,240,1.89,CRD,7.5 +VTS,1,5,240,0.86,CSH,5 +VTS,1,5,900,3.52,CSH,14 +VTS,1,4,540,2.39,CRD,9.5 +VTS,1,5,660,1.3,CRD,9 +VTS,1,5,420,0.4,CSH,5.5 +VTS,1,5,1020,6.09,CSH,20 +VTS,2,5,2940,22.17,CRD,52 +VTS,1,5,420,1.77,CSH,8 +VTS,1,5,1500,3.36,CSH,17.5 +VTS,1,6,420,2.03,CSH,8 +VTS,1,5,1380,9.04,CRD,29 +VTS,1,5,720,0.95,CRD,8.5 +VTS,1,5,2580,7.12,CRD,31.5 +VTS,1,5,600,4.05,CSH,13.5 +VTS,1,5,1020,2.14,CRD,12 +VTS,1,5,420,0.92,CSH,7 +VTS,2,6,2100,21.18,CRD,52 +VTS,1,1,960,3.79,CRD,14 +VTS,1,5,540,1.29,CRD,7.5 +VTS,1,5,600,1.67,CRD,9 +VTS,1,5,1440,5.64,CRD,21 +VTS,1,6,780,1.83,CRD,10 +VTS,1,5,240,0.4,CSH,4.5 +VTS,1,1,600,1.51,CRD,8.5 +VTS,1,2,420,1.23,CSH,6.5 +VTS,1,3,1380,2.74,CSH,16.5 +VTS,1,3,360,1.28,CRD,6.5 +VTS,1,4,1020,1.54,CRD,11 +VTS,1,4,1320,5.42,CRD,20.5 +VTS,1,4,720,1.02,CRD,9 +VTS,1,1,1020,2.19,CRD,12.5 +VTS,1,1,540,2.17,CRD,9 +VTS,1,1,660,1.68,CSH,9.5 +VTS,1,1,780,2.68,CSH,11.5 +VTS,1,1,420,1.44,CSH,7.5 +VTS,1,1,1260,3.87,CSH,16.5 +VTS,1,1,360,0.76,CSH,5.5 +VTS,1,1,300,1.27,CSH,6 +VTS,1,1,720,1.96,CSH,10 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,1,360,1.04,CRD,6.5 +VTS,1,2,240,0.77,CSH,5 +VTS,1,2,360,1.21,CRD,6.5 +VTS,1,2,420,1.55,CRD,7 +VTS,1,1,540,2.22,CRD,9.5 +VTS,1,1,1200,8.29,CRD,26.5 +VTS,1,3,300,0.65,CRD,5.5 +VTS,1,2,480,0.79,CSH,7 +VTS,1,3,720,1.31,CSH,9.5 +VTS,1,3,780,1.92,CRD,10 +VTS,1,2,420,0.84,CSH,6 +VTS,1,3,600,1.6,CRD,8 +VTS,1,4,600,1.74,CRD,9 +VTS,1,3,180,0.77,CSH,4.5 +VTS,1,1,360,0.91,CSH,5.5 +VTS,1,1,420,1.13,CRD,6.5 +VTS,1,1,1620,6.82,CRD,23 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,1080,11.48,CSH,32 +VTS,1,1,540,1.49,CSH,8.5 +VTS,1,1,420,0.87,CSH,5.5 +VTS,1,1,660,1.79,CSH,8.5 +VTS,1,1,1260,3,CSH,14 +VTS,1,1,420,1.03,CSH,6.5 +VTS,1,1,360,0.97,CRD,6 +VTS,1,1,780,3.4,CSH,13 +VTS,1,5,360,0.83,CRD,5.5 +VTS,5,1,0,0,CRD,11 +VTS,1,1,840,2.73,CRD,12 +VTS,1,5,780,2,CRD,10.5 +VTS,1,6,180,0.81,CRD,4.5 +VTS,1,5,420,1.23,CSH,7 +VTS,1,5,780,2.54,CRD,11 +VTS,1,1,180,0.88,CRD,4.5 +VTS,1,5,1020,2.65,CRD,13 +VTS,1,5,1200,2.9,CSH,15 +VTS,1,5,420,0.92,CSH,6.5 +VTS,1,3,600,1.46,CRD,8 +VTS,1,1,420,1.79,CSH,7.5 +VTS,1,3,480,1.02,CRD,7 +VTS,1,1,1140,6.27,CRD,21 +VTS,1,1,240,1.07,CSH,6 +VTS,1,3,420,1.63,CRD,7.5 +VTS,2,4,3540,18.25,CSH,52 +VTS,1,4,960,3.01,CRD,12.5 +VTS,1,5,540,1.98,CSH,9 +VTS,1,5,420,1.43,CSH,7 +VTS,1,4,480,1.79,CRD,8 +VTS,1,5,600,1.14,CSH,8 +VTS,1,1,540,0.81,CRD,7 +VTS,1,1,600,1.47,CSH,8.5 +VTS,1,1,1380,11.85,CRD,34 +VTS,1,1,480,2.27,CRD,9 +VTS,1,1,660,2.36,CRD,10 +VTS,1,1,420,1.41,CRD,7 +VTS,1,1,240,0.82,CRD,5 +VTS,1,1,840,1.94,CRD,10.5 +VTS,1,1,900,4.19,CRD,15.5 +VTS,1,1,360,1.4,CRD,6.5 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,420,1.15,CRD,7 +VTS,1,1,600,3,CRD,10.5 +VTS,1,1,480,1.81,CRD,8 +VTS,1,1,360,1.23,CSH,6 +VTS,1,1,300,0.84,CRD,5.5 +VTS,1,1,540,1.23,CRD,8 +VTS,1,1,480,2,CRD,8.5 +VTS,1,1,900,2.65,CRD,12 +VTS,1,1,420,1.32,CSH,6.5 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,1320,4.95,CSH,18.5 +VTS,1,1,480,0.84,CSH,6.5 +VTS,1,1,1860,6.64,CSH,26 +VTS,1,1,780,2.27,CSH,10.5 +VTS,1,1,420,1.26,CRD,6.5 +VTS,1,1,1140,2.38,CSH,14 +VTS,1,1,1320,4.8,CRD,18.5 +VTS,1,1,420,1.95,CRD,8 +VTS,1,1,600,3.45,CRD,12.5 +VTS,1,1,1380,3.9,CRD,18.5 +VTS,1,1,180,0.73,CSH,5 +VTS,1,1,540,3.07,CRD,11 +VTS,1,1,780,2.98,CSH,12 +VTS,1,1,1380,4.76,CSH,19.5 +VTS,1,1,1320,2.97,CRD,15 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,180,0.85,CSH,4.5 +VTS,1,1,960,3.23,CRD,13.5 +VTS,1,1,120,0.94,CRD,4.5 +VTS,1,1,780,0.79,CSH,9 +VTS,1,1,600,2.48,CRD,10 +VTS,1,1,840,3.56,CRD,13.5 +VTS,1,1,1020,3.64,CSH,14.5 +VTS,1,1,600,1.48,CRD,8 +VTS,1,1,840,1.48,CRD,10 +VTS,1,1,360,1.34,CRD,6.5 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,300,1.23,CRD,6 +VTS,1,1,480,1.18,CSH,7 +VTS,1,1,1140,4,CSH,16 +VTS,1,1,780,2.78,CRD,11 +VTS,1,1,480,2.21,CRD,9 +VTS,1,1,1200,1.23,CRD,12.5 +VTS,1,1,540,1.06,CRD,7 +VTS,1,1,360,1.09,CSH,6 +VTS,1,1,360,1.56,CSH,7 +VTS,1,1,2880,6.84,CSH,33.5 +VTS,1,1,780,3.28,CRD,13 +VTS,1,1,240,1.41,CSH,6 +VTS,1,1,240,0.95,CSH,5 +VTS,1,1,420,2.35,CSH,9 +VTS,1,1,660,2.73,CSH,10.5 +VTS,1,1,360,0.56,CSH,5.5 +VTS,1,1,600,3.86,CRD,13 +VTS,1,1,900,3.93,CRD,14 +VTS,1,1,540,2.03,CRD,9 +VTS,1,1,960,4.26,CRD,15 +VTS,1,1,540,2,CRD,9.5 +VTS,1,1,300,0.71,CSH,5 +VTS,1,1,600,2.2,CRD,9.5 +VTS,1,1,720,6.17,CRD,18.5 +VTS,1,1,480,1.63,CSH,8 +VTS,1,1,360,2.28,CRD,8.5 +VTS,1,1,540,1.87,CSH,8.5 +VTS,1,1,1200,3.55,CRD,15.5 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,540,1.4,CRD,8 +VTS,1,1,900,2.87,CRD,12 +VTS,1,1,420,0.94,CRD,6 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,720,2.29,CRD,10.5 +VTS,1,1,1320,3.78,CSH,17 +VTS,1,1,360,0.95,CSH,5.5 +VTS,1,1,1740,11.92,CRD,37 +VTS,1,1,900,5.34,CSH,17.5 +VTS,1,1,300,1.33,CRD,6 +VTS,1,1,780,2.96,CRD,11.5 +VTS,1,1,240,1.16,CSH,5.5 +VTS,1,1,960,8.89,CRD,26.5 +VTS,1,1,360,0.86,CRD,5.5 +VTS,1,1,360,1.06,CSH,6.5 +VTS,1,1,780,1.73,CSH,10 +VTS,1,1,420,1.59,CRD,7.5 +VTS,1,1,1200,6.93,CSH,20.5 +VTS,1,1,540,1.96,CRD,9 +VTS,1,1,480,1.35,CSH,7 +VTS,1,1,300,1.1,CRD,6 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,1680,4.22,CSH,20 +VTS,1,1,600,0.83,CSH,7 +VTS,1,1,300,0.96,CSH,5 +VTS,1,1,420,2.21,CRD,8.5 +VTS,1,1,660,3.25,CRD,12 +VTS,1,1,420,0.88,CSH,7 +VTS,1,1,2040,4.6,CSH,23 +VTS,1,1,720,4.32,CRD,14.5 +VTS,1,1,480,1.58,CRD,8 +VTS,1,1,1680,5.82,CRD,22.5 +VTS,1,1,1020,3.37,CRD,14.5 +VTS,1,1,900,3.46,CSH,13.5 +VTS,1,1,240,1.47,CSH,6.5 +VTS,1,1,300,1.05,CRD,5.5 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,1320,4.11,CSH,17.5 +VTS,1,1,360,1.37,CSH,7 +VTS,1,1,480,1.27,CSH,7 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,180,0.95,CRD,5 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,240,1.13,CRD,5.5 +VTS,1,1,1200,14.85,CRD,40 +VTS,1,1,420,1.09,CSH,6.5 +VTS,1,1,780,5.59,CSH,18 +VTS,1,1,540,1.7,CRD,8 +VTS,1,1,480,1.82,CRD,8 +VTS,1,1,540,1.93,CRD,8.5 +VTS,1,1,420,1.24,CRD,7 +VTS,1,1,600,1.71,CRD,8.5 +VTS,1,1,420,1.88,CRD,8 +VTS,1,1,120,0.65,CSH,4 +VTS,1,1,180,0.43,CRD,4 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,900,2.23,CRD,11.5 +VTS,1,1,360,0.97,CRD,6 +VTS,1,1,900,4.08,CSH,15 +VTS,1,1,1380,3.59,CRD,17 +VTS,1,1,660,1.53,CRD,8.5 +VTS,1,1,780,3.47,CSH,13 +VTS,1,1,120,0.5,CSH,4 +VTS,1,1,660,1.71,CRD,9 +VTS,1,1,900,2.33,CSH,11 +VTS,1,1,960,1.8,CRD,10.5 +VTS,1,1,1440,11.06,CSH,33.5 +VTS,1,1,1800,6.99,CRD,25.5 +VTS,1,1,660,2.63,CSH,10.5 +VTS,1,1,900,2.04,CRD,12 +VTS,1,1,900,8.73,CRD,25 +VTS,1,1,1020,4.47,CRD,17 +VTS,1,1,720,1.81,CSH,10 +VTS,1,1,480,2.5,CSH,9.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,540,2.4,CSH,9 +VTS,1,1,300,1.3,CRD,6 +VTS,1,1,840,2.57,CSH,11.5 +VTS,1,1,1020,3.98,CSH,12.5 +VTS,1,1,720,2.57,CRD,11 +VTS,1,1,1560,15.97,CSH,44.5 +VTS,1,1,300,0.83,CRD,5 +VTS,1,1,180,0.26,CSH,3.5 +VTS,1,1,360,1.61,CRD,7 +VTS,1,1,780,1.32,CRD,9.5 +VTS,1,1,720,1.37,CRD,9.5 +VTS,1,1,540,1.89,CRD,9 +VTS,1,1,1080,4.87,CSH,17.5 +VTS,1,1,540,2.61,CRD,10 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,600,2.49,CRD,9.5 +VTS,1,1,900,1.96,CRD,10.5 +VTS,1,1,840,3.52,CSH,13 +VTS,1,1,1440,9.97,CSH,30.5 +VTS,1,1,1080,7.53,CSH,22 +VTS,1,1,1020,2.62,CSH,13 +VTS,1,1,180,0.4,CRD,3.5 +VTS,1,1,600,2.91,CSH,11 +VTS,2,1,1800,18.86,CSH,52 +VTS,1,1,540,1.64,CRD,8.5 +VTS,1,1,180,0.55,CSH,4 +VTS,1,1,1020,3.27,CSH,14 +VTS,1,1,360,2.34,CRD,8.5 +VTS,1,1,1560,3.86,CRD,17.5 +VTS,1,1,720,1.85,CRD,9.5 +VTS,1,1,540,1.46,CSH,8 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,780,1.95,CSH,10 +VTS,1,1,240,0.9,CRD,5 +VTS,1,5,1500,5.56,CRD,21.5 +VTS,1,6,1140,4.71,CRD,17.5 +VTS,1,5,480,1.04,CSH,7 +VTS,1,1,540,1.04,CSH,7.5 +VTS,1,6,840,3.47,CSH,13.5 +VTS,1,6,300,1.48,CSH,6.5 +VTS,1,6,600,2.06,CSH,9.5 +VTS,1,6,300,0.98,CRD,5.5 +VTS,1,5,600,1.59,CRD,8.5 +VTS,1,6,240,1.08,CRD,5 +VTS,1,5,1440,9.07,CRD,29 +VTS,1,6,900,1.84,CSH,11.5 +VTS,1,5,720,1.8,CRD,10 +VTS,1,5,1440,3.73,CSH,16.5 +VTS,1,5,600,1.33,CSH,8 +VTS,1,6,240,0.61,CSH,4.5 +VTS,1,5,900,2.74,CSH,12.5 +VTS,1,6,2940,9.41,CSH,38.5 +VTS,1,2,480,1.1,CRD,7 +VTS,1,2,360,1.34,CSH,6.5 +VTS,1,2,960,4.34,CRD,15.5 +VTS,1,2,180,0.71,CSH,4.5 +VTS,1,3,360,1.28,CSH,6.5 +VTS,1,3,840,1.87,CSH,10.5 +VTS,1,4,840,1.63,CRD,10.5 +VTS,1,5,1200,3.23,CRD,15 +VTS,1,1,1080,4.81,CRD,17.5 +VTS,1,1,720,3.26,CSH,12 +VTS,1,1,720,2.62,CSH,11 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,1,300,1.4,CRD,6 +VTS,1,1,420,1.9,CRD,8 +VTS,1,1,600,2.25,CRD,9.5 +VTS,1,1,660,2.37,CRD,9.5 +VTS,1,1,360,0.93,CSH,6 +VTS,1,1,900,3.94,CRD,15 +VTS,1,1,600,2.08,CRD,9 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,1020,3.81,CRD,15 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,1,420,1.1,CSH,7 +VTS,1,1,360,1.35,CRD,6.5 +VTS,1,1,720,3.96,CRD,13.5 +VTS,1,1,720,2.14,CRD,11 +VTS,1,1,1740,6.99,CRD,25.5 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,300,1.97,CRD,7.5 +VTS,1,1,540,0.77,CRD,7 +VTS,1,1,360,1.7,CSH,7.5 +VTS,1,1,780,2.24,CSH,11 +VTS,1,1,1440,4.76,CRD,20.5 +VTS,1,1,720,3.29,CSH,12.5 +VTS,1,1,1620,12.47,CSH,36 +VTS,1,1,900,2.82,CSH,12.5 +VTS,1,1,600,2.34,CSH,9.5 +VTS,1,1,300,1.24,CSH,6 +VTS,1,1,600,2.39,CSH,9.5 +VTS,1,1,1500,3.56,CRD,18.5 +VTS,1,1,900,3.98,CSH,14 +VTS,1,1,240,1.18,CSH,5.5 +VTS,1,1,600,2.67,CRD,11 +VTS,1,1,600,1.63,CRD,8.5 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,540,1.59,CSH,8 +VTS,1,1,780,2.38,CRD,10.5 +VTS,1,1,720,1.73,CRD,9.5 +VTS,1,1,960,1.75,CRD,11.5 +VTS,1,1,900,3.21,CSH,14 +VTS,1,1,300,0.48,CSH,5 +VTS,1,1,1020,3.47,CSH,14.5 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,240,0.64,CSH,4.5 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,1,900,0.93,CSH,10 +VTS,1,1,540,2.67,CSH,9.5 +VTS,1,1,480,1.65,CSH,7.5 +VTS,1,1,600,3.27,CSH,11 +VTS,1,1,1140,3.46,CRD,15 +VTS,1,1,480,1.17,CSH,7 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,360,1.06,CRD,6 +VTS,1,1,600,1.1,CRD,8 +VTS,1,1,480,0.75,CRD,6 +VTS,1,1,480,1.91,CSH,8.5 +VTS,1,1,960,1.62,CRD,11.5 +VTS,1,1,1020,4.85,CRD,17 +VTS,1,1,420,1.29,CSH,7 +VTS,1,1,240,0.55,CSH,4 +VTS,1,1,540,1.28,CRD,8 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,360,0.86,CSH,5.5 +VTS,1,1,360,1.29,CSH,6.5 +VTS,1,1,360,1.48,CSH,7 +VTS,1,1,420,1.6,CRD,7 +VTS,1,1,600,1.76,CRD,9 +VTS,1,1,780,1.95,CRD,10 +VTS,1,1,540,2.45,CRD,9.5 +VTS,1,1,660,1.1,CSH,8 +VTS,1,1,360,0.92,CSH,6 +VTS,1,1,240,1.2,CRD,6 +VTS,1,1,180,0.4,CSH,4 +VTS,1,1,660,1.88,CSH,9 +VTS,1,1,600,1.75,CRD,9 +VTS,1,1,840,4.39,CRD,15 +VTS,1,1,840,2.35,CRD,11 +VTS,1,1,540,2.57,CSH,10 +VTS,1,1,1200,5.48,CRD,20 +VTS,1,1,720,2.21,CRD,10.5 +VTS,1,1,960,3.83,CSH,14.5 +VTS,1,1,960,4.67,CRD,15.5 +VTS,1,1,240,0.75,CSH,4.5 +VTS,1,1,1380,2.54,CRD,15 +VTS,1,1,240,0.9,CRD,5 +VTS,1,1,840,3.35,CRD,12.5 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,660,1.07,CSH,8 +VTS,1,1,660,3.28,CSH,11.5 +VTS,1,1,480,1.16,CRD,7 +VTS,1,1,300,1.12,CSH,5.5 +VTS,1,1,180,0.87,CRD,5 +VTS,1,1,660,2.63,CSH,11 +VTS,1,1,420,0.79,CRD,6 +VTS,1,1,180,1.08,CSH,5 +VTS,1,1,240,1.11,CRD,5 +VTS,1,1,180,0.55,CRD,4 +VTS,1,1,480,1.57,CRD,7.5 +VTS,1,1,1260,4.84,CRD,17.5 +VTS,1,1,660,3.31,CRD,13 +VTS,1,1,420,1.25,CSH,7 +VTS,1,1,600,2.17,CRD,9.5 +VTS,1,1,540,1.55,CRD,8 +VTS,2,1,2580,19,CSH,52 +VTS,1,1,420,2.11,CRD,8 +VTS,1,1,960,3.75,CRD,14 +VTS,1,1,240,0.58,CRD,4.5 +VTS,1,1,180,0.56,CRD,4 +VTS,1,1,720,2.21,CSH,9.5 +VTS,1,1,540,2.26,CSH,9.5 +VTS,1,1,1980,7.18,CRD,27 +VTS,1,1,900,1.16,CRD,10.5 +VTS,1,1,1500,4.98,CRD,19 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,600,1.72,CRD,8 +VTS,1,1,540,1.4,CSH,7.5 +VTS,1,1,360,1.33,CSH,6.5 +VTS,1,1,420,1.77,CSH,7.5 +VTS,1,1,780,1.66,CRD,10.5 +VTS,1,1,300,1.12,CSH,6 +VTS,1,1,300,0.65,CRD,5 +VTS,1,1,300,0.74,CRD,5 +VTS,1,1,1080,5.13,CRD,19.5 +VTS,1,1,120,0.46,CSH,4 +VTS,1,1,720,2.3,CRD,10.5 +VTS,1,1,540,1.85,CRD,8.5 +VTS,1,1,1440,3.36,CSH,17.5 +VTS,1,1,1380,5.79,CRD,22 +VTS,1,1,3780,5.68,CRD,37.5 +VTS,1,1,360,1.55,CSH,7 +VTS,1,1,600,1.96,CRD,9 +VTS,1,1,360,1.52,CRD,6.5 +VTS,1,1,480,1.83,CRD,8 +VTS,1,1,840,3.49,CSH,13 +VTS,1,1,1500,3.12,CSH,17 +VTS,1,1,900,3.49,CSH,14 +VTS,1,1,780,3.77,CRD,13 +VTS,1,1,1260,10.35,CRD,30 +VTS,1,1,240,0.77,CSH,4.5 +VTS,1,1,180,0.61,CRD,4 +VTS,1,1,600,1.77,CSH,9 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,900,2.41,CSH,11.5 +VTS,1,1,540,1.74,CRD,9 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,840,2.4,CRD,10.5 +VTS,1,1,420,1.34,CRD,7 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,660,2.04,CSH,9.5 +VTS,1,1,240,1.95,CRD,7 +VTS,1,1,480,1.18,CSH,7 +VTS,1,1,660,2.01,CSH,9 +VTS,1,1,840,2.9,CSH,13 +VTS,1,1,300,1.45,CRD,6.5 +VTS,1,1,300,0.84,CSH,6 +VTS,1,1,660,1.07,CSH,8.5 +VTS,1,6,120,0.41,CRD,3.5 +VTS,1,6,540,1.2,CSH,7.5 +VTS,1,6,240,0.54,CRD,4.5 +VTS,1,6,1140,2.88,CRD,14 +VTS,1,1,900,6.64,CSH,20.5 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,5,360,1.06,CRD,6 +VTS,1,5,420,1.85,CSH,8 +VTS,1,5,420,0.88,CSH,6.5 +VTS,1,5,660,2.02,CSH,9.5 +VTS,1,5,300,0.74,CSH,5 +VTS,1,1,540,2.03,CRD,9 +VTS,1,1,420,1.01,CSH,6.5 +VTS,1,2,900,2.57,CRD,12 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,360,1.03,CRD,5.5 +VTS,1,1,240,0.5,CRD,4 +VTS,1,1,420,0.9,CRD,6 +VTS,1,1,2040,17.7,CSH,49 +VTS,1,1,60,0.45,CSH,3.5 +VTS,1,1,360,2.51,CSH,9 +VTS,1,1,660,3.41,CRD,12 +VTS,1,1,720,2.38,CRD,10 +VTS,1,1,480,1.89,CRD,8 +VTS,1,1,1080,5.15,CRD,17 +VTS,1,1,120,0.82,CSH,4.5 +VTS,1,1,480,1.81,CRD,8 +VTS,1,1,660,2.3,CRD,10 +VTS,1,1,1080,3.46,CRD,14.5 +VTS,1,1,420,1.23,CSH,6.5 +VTS,1,1,900,2.17,CRD,11.5 +VTS,1,1,360,1.3,CRD,6.5 +VTS,1,1,300,0.8,CRD,5 +VTS,1,1,420,3.01,CRD,10 +VTS,1,1,480,1.29,CRD,7.5 +VTS,1,1,780,3.51,CSH,12 +VTS,1,1,840,3.9,CRD,14 +VTS,1,1,1800,3.42,CSH,19 +VTS,1,1,780,1.84,CRD,10 +VTS,1,1,600,2.48,CSH,10.5 +VTS,1,1,720,1.21,CRD,9.5 +VTS,1,1,1140,1.82,CRD,13 +VTS,1,1,420,0.85,CSH,6 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,360,0.84,CRD,5.5 +VTS,1,1,360,0.87,CRD,6 +VTS,1,1,360,1.22,CRD,6 +VTS,1,1,240,0.7,CSH,4.5 +VTS,1,1,1020,4.96,CRD,17 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,1380,2.31,CRD,14 +VTS,1,1,180,0.32,CRD,4 +VTS,1,1,420,0.86,CSH,6 +VTS,1,1,360,0.55,CSH,5 +VTS,1,1,180,0.68,CSH,4 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,1020,4.16,CRD,15.5 +VTS,1,1,960,3.06,CSH,13 +VTS,1,1,540,3.53,CSH,11.5 +VTS,1,1,420,1.66,CRD,7 +VTS,1,1,600,2.66,CSH,10.5 +VTS,1,1,1200,5.09,CRD,19 +VTS,1,1,720,1.94,CRD,10 +VTS,1,1,840,3.7,CRD,13.5 +VTS,1,1,1080,5.31,CRD,18.5 +VTS,1,1,180,0.32,CRD,4 +VTS,1,1,960,3.26,CRD,14 +VTS,1,1,660,2.76,CRD,11 +VTS,1,1,360,0.55,CSH,5.5 +VTS,1,1,540,1.64,CRD,8.5 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,420,1.87,CRD,8 +VTS,1,6,840,3.14,CRD,13 +VTS,1,6,240,0.72,CRD,4.5 +VTS,1,1,780,2.36,CRD,11 +VTS,1,1,180,0.52,CRD,4.5 +VTS,1,1,660,2.25,CRD,10 +VTS,1,1,660,1.02,CSH,8.5 +VTS,1,1,660,1.93,CSH,9 +VTS,1,1,1440,3.04,CSH,15 +VTS,1,1,180,1.09,CSH,5 +VTS,1,1,420,0.79,CSH,6 +VTS,1,1,660,2.23,CSH,9.5 +VTS,1,1,1080,2.58,CRD,13 +VTS,1,1,660,1.67,CRD,9.5 +VTS,1,1,600,1.6,CSH,8.5 +VTS,1,1,840,5.08,CSH,17 +VTS,1,1,780,2.09,CRD,10.5 +VTS,1,1,1080,4.8,CRD,17 +VTS,1,1,540,2.33,CRD,9.5 +VTS,1,1,540,1.58,CRD,8 +VTS,1,1,840,2.29,CRD,11 +VTS,1,1,780,3.65,CSH,13.5 +VTS,1,1,180,0.51,CSH,4 +VTS,1,1,720,2,CRD,9.5 +VTS,1,1,960,3.48,CRD,14 +VTS,1,6,600,1.37,CSH,8.5 +VTS,1,6,480,0.85,CRD,7 +VTS,1,6,300,1.07,CRD,6 +VTS,1,6,780,2.38,CRD,11 +VTS,1,1,600,2.06,CSH,9.5 +VTS,1,1,360,1.85,CRD,7.5 +VTS,1,1,420,1.3,CRD,6.5 +VTS,1,1,840,1.71,CRD,9.5 +VTS,1,1,420,1.41,CRD,7 +VTS,1,1,1080,4.04,CSH,15 +VTS,1,1,540,2.36,CSH,10 +VTS,1,1,1020,6.16,CSH,20.5 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,480,1.98,CRD,9 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,780,3.76,CSH,13.5 +VTS,1,1,1140,1.74,CRD,12.5 +VTS,1,1,120,0.35,CRD,3.5 +VTS,1,1,540,2.19,CRD,9 +VTS,1,1,660,1.74,CSH,9 +VTS,1,1,420,0.65,CRD,6 +VTS,1,1,1200,2.87,CRD,14.5 +VTS,1,1,1320,4.85,CSH,19 +VTS,1,1,420,0.87,CSH,6 +VTS,1,1,2340,6.9,CSH,30 +VTS,1,1,660,2.13,CRD,9 +VTS,1,1,540,2.16,CRD,9 +VTS,1,1,1800,7.49,CRD,27 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,240,0.96,CSH,5 +VTS,1,4,600,0.34,CSH,3.5 +VTS,1,4,1560,11.3,CRD,34.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,600,3.11,CSH,11.5 +VTS,1,1,840,3.58,CSH,13 +VTS,1,1,540,2.19,CRD,9 +VTS,1,1,1200,4.78,CSH,17.5 +VTS,1,1,1320,6.47,CRD,21.5 +VTS,1,1,360,1.08,CSH,6 +VTS,1,1,720,2.03,CRD,10.5 +VTS,1,1,960,2.47,CSH,12.5 +VTS,1,1,480,1.16,CSH,7 +VTS,1,1,300,1.63,CRD,6.5 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,1,300,2.78,CSH,9 +VTS,1,1,600,3.29,CSH,11.5 +VTS,1,1,600,1.11,CSH,7.5 +VTS,1,1,1140,3.43,CSH,15 +VTS,1,1,1080,3.49,CRD,15 +VTS,1,1,720,2.81,CRD,11.5 +VTS,1,1,240,1.3,CRD,6 +VTS,1,1,900,4.34,CSH,15.5 +VTS,1,1,600,2.07,CRD,9.5 +VTS,1,1,420,2.31,CSH,9 +VTS,1,1,420,1.35,CRD,7 +VTS,1,1,420,1.37,CSH,7 +VTS,1,1,480,1.92,CRD,8.5 +VTS,1,1,180,0.89,CSH,5 +VTS,1,1,180,0.51,CSH,4 +VTS,1,1,660,1.06,CRD,8 +VTS,1,1,660,1.84,CRD,9 +VTS,1,1,1500,6.29,CRD,22 +VTS,1,1,780,3.09,CSH,12 +VTS,1,1,600,2.92,CRD,11 +VTS,1,1,240,0.64,CRD,4.5 +VTS,1,1,480,2.7,CSH,9.5 +VTS,1,1,600,1.63,CSH,8.5 +VTS,1,1,540,2.51,CSH,10 +VTS,1,1,540,2.13,CSH,9 +VTS,1,1,660,1.91,CSH,9.5 +VTS,1,1,720,2.05,CSH,9.5 +VTS,1,1,600,2.05,CRD,9 +VTS,1,1,960,3.83,CRD,14 +VTS,1,1,240,0.65,CRD,5 +VTS,1,1,420,0.98,CSH,6 +VTS,1,1,1680,10.51,CRD,33 +VTS,1,1,1200,8.27,CRD,25 +VTS,1,1,540,0.94,CRD,7 +VTS,1,1,300,0.63,CRD,5 +VTS,1,1,480,1.45,CRD,7.5 +VTS,1,1,960,4.21,CRD,15 +VTS,1,1,360,0.61,CSH,5.5 +VTS,1,1,1080,2.18,CRD,13.5 +VTS,1,1,360,1.3,CRD,6.5 +VTS,1,1,660,1.12,CSH,8.5 +VTS,1,1,720,2.27,CSH,10.5 +VTS,1,1,420,1.46,CSH,6.5 +VTS,1,1,840,3.58,CRD,14 +VTS,1,1,600,3.04,CSH,11.5 +VTS,1,1,600,1.89,CRD,8.5 +VTS,1,1,480,1.07,CRD,6.5 +VTS,1,1,360,1.55,CSH,7.5 +VTS,1,1,1320,3.51,CRD,16 +VTS,1,1,780,2.02,CSH,10 +VTS,1,1,120,0.2,CSH,3 +VTS,1,1,1440,7.72,CSH,25.5 +VTS,1,1,360,0.88,CSH,6 +VTS,1,1,360,1,CRD,6 +VTS,1,1,540,1.66,CRD,8.5 +VTS,1,1,540,2.05,CSH,9 +VTS,1,1,600,1.09,CSH,8 +VTS,1,1,900,2.52,CSH,12.5 +VTS,1,1,780,1.99,CRD,10 +VTS,1,1,1380,11.93,CRD,35 +VTS,1,1,540,1.68,CSH,8 +VTS,1,1,420,0.76,CSH,6.5 +VTS,1,6,1440,7.45,CRD,24 +VTS,1,6,1020,1.14,CRD,11.5 +VTS,1,1,540,0.98,CRD,7 +VTS,1,1,1680,7.34,CSH,27 +VTS,1,1,660,2.08,CRD,9.5 +VTS,1,1,480,2.21,CSH,8.5 +VTS,1,1,300,1.26,CRD,6 +VTS,1,1,480,0.79,CSH,6.5 +VTS,1,1,1260,4.95,CSH,17 +VTS,1,1,480,1.87,CSH,8 +VTS,1,1,360,2.04,CSH,8 +VTS,2,1,2040,16.48,CRD,52 +VTS,1,1,300,0.75,CSH,5 +VTS,1,1,180,0.62,CRD,4.5 +VTS,1,1,300,1.31,CRD,6 +VTS,1,1,540,0.87,CRD,7 +VTS,1,1,2100,5.23,CSH,25 +VTS,1,1,600,0.94,CRD,7.5 +VTS,1,1,420,1.34,CSH,7 +VTS,1,1,660,1.68,CRD,9 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,660,2.32,CSH,10.5 +VTS,1,1,540,1.37,CSH,8 +VTS,1,1,420,0.97,CSH,6 +VTS,1,1,240,0.78,CRD,4.5 +VTS,1,1,780,2.94,CSH,12 +VTS,1,1,720,2.98,CRD,11.5 +VTS,1,1,540,1.73,CRD,8.5 +VTS,1,1,600,2.4,CSH,10 +VTS,1,1,240,1.2,CSH,5.5 +VTS,1,1,900,4.45,CSH,16 +VTS,1,1,360,1.36,CSH,6.5 +VTS,1,1,720,3.21,CSH,12 +VTS,1,1,1740,3.91,CRD,20.5 +VTS,1,1,480,1.04,CRD,6.5 +VTS,1,1,1560,4.83,CSH,20 +VTS,1,1,420,2.07,CRD,8.5 +VTS,1,1,960,4.52,CSH,16.5 +VTS,1,1,480,1.92,CRD,8.5 +VTS,1,1,240,0.64,CRD,4.5 +VTS,1,1,1200,4.71,CSH,18 +VTS,1,6,1080,1.62,CSH,12 +VTS,1,1,360,1.23,CSH,6 +VTS,1,1,120,0.3,CSH,3.5 +VTS,1,5,1320,10.65,CSH,29.5 +VTS,1,5,480,1.28,CRD,7 +VTS,1,5,360,1.71,CRD,7.5 +VTS,1,5,300,0.76,CRD,5.5 +VTS,1,5,480,1.11,CSH,6.5 +VTS,1,5,420,1.72,CRD,7.5 +VTS,1,1,600,1.6,CRD,8 +VTS,1,1,780,2.08,CRD,10.5 +VTS,1,1,840,3.54,CRD,13.5 +VTS,1,1,1080,3.07,CSH,14 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,720,1.68,CRD,9.5 +VTS,1,1,300,0.7,CRD,5 +VTS,1,1,660,1.91,CSH,9.5 +VTS,1,1,960,3.89,CSH,15 +VTS,1,1,960,6.19,CRD,20 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,1080,1.47,CRD,11.5 +VTS,1,1,300,1.11,CSH,6 +VTS,1,6,180,0.67,CRD,4.5 +VTS,1,6,720,2.16,CRD,10 +VTS,1,6,480,0.87,CSH,6.5 +VTS,1,6,360,0.89,CRD,6 +VTS,2,5,2220,19.97,CRD,52 +VTS,1,5,300,0.63,CRD,5 +VTS,1,5,540,1.45,CRD,7.5 +VTS,1,5,300,0.62,CSH,5 +VTS,1,5,420,0.92,CRD,6 +VTS,1,5,960,2.96,CSH,12.5 +VTS,1,1,1500,3.84,CSH,17.5 +VTS,4,1,60,0.1,CSH,2.5 +VTS,1,1,600,2.15,CRD,9.5 +VTS,1,1,540,2.68,CRD,10 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,1260,3.57,CSH,16 +VTS,1,1,780,1.57,CSH,9.5 +VTS,1,6,480,0.73,CRD,6.5 +VTS,1,1,1680,16.37,CRD,45 +VTS,1,1,480,2.99,CSH,10.5 +VTS,1,1,540,1.18,CRD,7.5 +VTS,1,5,780,7.06,CSH,21 +VTS,1,5,300,1.05,CSH,5.5 +VTS,1,5,420,1.43,CRD,6.5 +VTS,1,1,2580,13.98,CRD,42.5 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,420,0.91,CSH,6.5 +VTS,1,2,1140,5.71,CRD,19 +VTS,1,1,420,2.06,CRD,8 +VTS,1,1,300,2.01,CSH,8 +VTS,1,1,660,2.19,CSH,9.5 +VTS,1,1,540,0.73,CSH,7 +VTS,1,1,360,0.59,CSH,5.5 +VTS,1,1,960,2.77,CSH,12.5 +VTS,1,1,900,2.08,CSH,11 +VTS,1,1,240,0.6,CRD,4.5 +VTS,1,1,1200,1.61,CRD,13 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,180,0.61,CSH,4 +VTS,1,1,540,0.7,CSH,7 +VTS,1,1,480,1.16,CSH,7 +VTS,1,1,600,1.19,CSH,7.5 +VTS,1,1,240,1.19,CSH,5.5 +VTS,1,1,360,0.99,CSH,5.5 +VTS,1,1,660,2.54,CRD,10.5 +VTS,1,1,180,1.29,CRD,5.5 +VTS,1,1,600,0.83,CRD,7.5 +VTS,1,1,780,1.57,CRD,9.5 +VTS,1,1,900,3.08,CSH,13 +VTS,1,1,360,1.21,CSH,6 +VTS,1,1,420,0.99,CRD,6.5 +VTS,1,1,780,4.78,CRD,15.5 +VTS,1,1,660,1.5,CSH,8.5 +VTS,1,1,420,0.68,CRD,6 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,420,3.47,CRD,11.5 +VTS,1,1,240,0.33,CSH,4.5 +VTS,1,1,120,0.45,CSH,4 +VTS,1,1,180,0.53,CSH,4 +VTS,1,1,480,3.07,CRD,10.5 +VTS,1,6,540,1.3,CRD,8 +VTS,1,6,720,1.34,CRD,9 +VTS,1,6,660,0.68,CSH,8 +VTS,1,6,1080,2.18,CRD,13 +VTS,1,5,2160,17.16,CSH,49 +VTS,1,5,780,2.16,CSH,10 +VTS,1,5,660,1.05,CRD,8 +VTS,1,5,480,0.66,CSH,6.5 +VTS,1,5,600,2.36,CRD,9.5 +VTS,1,1,540,1.28,CRD,8 +VTS,1,1,480,1.27,CSH,8 +VTS,1,1,660,2.4,CSH,10.5 +VTS,1,1,1260,3.18,CSH,15.5 +VTS,1,1,960,3.52,CRD,14 +VTS,1,1,480,1.26,CSH,7.5 +VTS,1,1,300,0.62,CSH,5 +VTS,1,1,900,6.33,CRD,18.5 +VTS,1,1,600,2.1,CRD,9.5 +VTS,1,1,600,2.22,CSH,9.5 +VTS,1,1,480,1.36,CSH,7.5 +VTS,1,1,1560,15,CSH,41.5 +VTS,1,1,600,3.03,CSH,12 +VTS,1,1,1560,7.23,CSH,25 +VTS,1,1,300,1.14,CRD,6 +VTS,1,1,600,2.13,CSH,9.5 +VTS,1,1,1200,11.21,CRD,32.5 +VTS,1,1,1020,8.57,CRD,25 +VTS,1,1,1320,10.47,CSH,31 +VTS,1,1,60,0.59,CSH,4 +VTS,1,1,960,9.53,CRD,27.5 +VTS,1,1,840,5.29,CSH,17 +VTS,1,1,420,1.35,CSH,7.5 +VTS,1,1,660,2.12,CRD,9.5 +VTS,1,1,900,3.94,CRD,15 +VTS,1,1,480,0.72,CRD,6.5 +VTS,1,5,840,1.68,CRD,11 +VTS,1,5,240,0.91,CRD,5.5 +VTS,1,1,1200,5.03,CSH,17.5 +VTS,1,1,420,1.23,CRD,7 +VTS,1,1,420,1.03,CSH,6.5 +VTS,1,1,600,1.6,CRD,8.5 +VTS,1,1,420,0.98,CRD,6.5 +VTS,1,1,660,1.48,CRD,8.5 +VTS,1,1,120,0.58,CSH,3.5 +VTS,1,1,180,0.51,CSH,4.5 +VTS,1,1,480,1.83,CRD,8.5 +VTS,1,1,420,1.41,CRD,7.5 +VTS,1,1,1320,3.21,CRD,15.5 +VTS,1,1,780,3.4,CSH,13 +VTS,1,1,660,1.64,CSH,9.5 +VTS,1,1,540,1.28,CRD,7 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,600,2.05,CSH,9.5 +VTS,1,1,480,1.56,CSH,7.5 +VTS,1,1,660,3.26,CSH,12 +VTS,1,1,720,2.25,CSH,10.5 +VTS,1,1,420,1.03,CSH,7 +VTS,1,1,360,1.04,CSH,6 +VTS,1,1,180,0.83,CRD,4.5 +VTS,1,1,600,2.13,CRD,9 +VTS,1,1,600,1.4,CRD,8 +VTS,1,6,720,2.25,CRD,11 +VTS,1,6,780,2.18,CRD,11 +VTS,1,6,360,0.91,CRD,6 +VTS,1,1,1140,5.81,CRD,19.5 +VTS,3,1,2340,17.39,CSH,65 +VTS,1,5,660,2.27,CRD,9.5 +VTS,1,5,420,1.76,CSH,8 +VTS,1,5,540,2.69,CRD,10.5 +VTS,1,5,540,1.61,CSH,8 +VTS,1,5,960,4.16,CSH,15 +VTS,1,5,660,1.51,CSH,9 +VTS,2,1,3360,19.19,CRD,52 +VTS,1,1,840,1.12,CRD,9 +VTS,1,2,660,1.72,CSH,9 +VTS,1,1,360,0.66,CSH,5.5 +VTS,1,1,420,1.57,CSH,7 +VTS,1,1,600,2.03,CSH,8.5 +VTS,1,1,300,1.6,CRD,6.5 +VTS,1,1,480,1.14,CSH,6.5 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,780,1.84,CRD,10 +VTS,1,1,480,1.31,CRD,7 +VTS,1,1,360,0.96,CSH,6 +VTS,1,1,420,1.47,CRD,6.5 +VTS,1,1,60,0.01,CSH,2.5 +VTS,1,1,360,1.07,CRD,6 +VTS,1,6,840,1.5,CSH,10.5 +VTS,1,1,540,1.76,CRD,8.5 +VTS,1,1,960,6.38,CSH,20 +VTS,1,5,720,1.35,CSH,8.5 +VTS,1,5,1080,2.62,CRD,13.5 +VTS,1,5,1140,1.72,CRD,12 +VTS,1,4,900,1.87,CRD,11 +VTS,1,5,840,2.99,CRD,12.5 +VTS,1,1,600,2.52,CRD,10.5 +VTS,1,1,480,1.57,CSH,7.5 +VTS,1,1,540,2.29,CRD,9 +VTS,1,1,240,0.98,CSH,5 +VTS,1,1,1020,7.41,CSH,23 +VTS,1,1,480,3.2,CRD,10.5 +VTS,1,1,540,1.27,CRD,7.5 +VTS,1,1,1320,6.43,CRD,23 +VTS,1,1,420,0.84,CRD,6 +VTS,1,1,540,1.35,CSH,8.5 +VTS,1,1,660,1.76,CRD,9 +VTS,1,1,600,2.8,CSH,11 +VTS,1,1,480,0.62,CSH,6.5 +VTS,1,1,180,0.47,CSH,4 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,660,2.09,CSH,10 +VTS,1,1,300,0.57,CSH,5 +VTS,1,1,180,0.48,CSH,4 +VTS,1,1,360,1.58,CRD,7 +VTS,1,1,360,0.65,CSH,5.5 +VTS,1,1,480,0.81,CRD,7 +VTS,1,1,900,1.11,CSH,10.5 +VTS,1,1,840,1.77,CRD,10.5 +VTS,1,1,480,1.23,CSH,7 +VTS,1,1,780,0.63,CSH,9 +VTS,1,1,540,1.98,CSH,9 +VTS,1,1,420,1.37,CSH,7 +VTS,1,1,720,2.33,CSH,10.5 +VTS,1,1,180,0.97,CSH,5 +VTS,1,1,240,1.02,CRD,5 +VTS,1,1,1920,4.13,CRD,17.5 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,1,660,1.96,CRD,10 +VTS,1,1,420,2.21,CSH,9 +VTS,1,1,300,2.03,CSH,7.5 +VTS,1,1,300,1.64,CSH,7 +VTS,1,1,600,1.95,CSH,9 +VTS,1,1,600,1.46,CSH,8 +VTS,2,1,1620,17.35,CSH,52 +VTS,1,1,540,0.92,CRD,7 +VTS,1,1,600,1.86,CRD,9 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,480,1.24,CSH,7 +VTS,1,1,540,1.66,CSH,7.5 +VTS,1,1,660,2.65,CRD,10 +VTS,1,1,360,0.65,CRD,5.5 +VTS,1,2,1380,5.7,CRD,19.5 +VTS,1,1,300,1.05,CRD,5.5 +VTS,1,1,300,1.19,CRD,6 +VTS,1,1,360,1.87,CSH,8 +VTS,1,1,960,3.41,CRD,14 +VTS,1,1,780,1.48,CSH,9.5 +VTS,1,1,1320,5.72,CSH,20.5 +VTS,1,1,1320,3.69,CSH,16.5 +VTS,1,1,600,1.38,CSH,8 +VTS,1,1,420,0.76,CSH,6 +VTS,1,1,780,2.3,CRD,10.5 +VTS,1,1,360,1.55,CSH,7 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,300,1.64,CSH,7 +VTS,1,1,660,3.31,CSH,12 +VTS,1,1,780,4.8,CSH,16 +VTS,1,1,540,1.86,CRD,8.5 +VTS,1,1,360,1.57,CSH,7 +VTS,1,1,600,4.61,CRD,14.5 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,360,1.37,CRD,6.5 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,1500,3.44,CRD,17.5 +VTS,1,1,660,1.68,CRD,9 +VTS,1,1,1140,2.94,CSH,15 +VTS,1,1,420,0.88,CRD,6 +VTS,1,1,720,1.14,CSH,8.5 +VTS,1,1,480,0.89,CRD,6.5 +VTS,1,1,360,0.44,CRD,5.5 +VTS,1,1,180,0.9,CRD,5 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,900,3.92,CSH,15 +VTS,1,1,1320,8.17,CRD,25.5 +VTS,1,1,180,0.63,CSH,4 +VTS,1,1,840,3.28,CSH,13.5 +VTS,1,1,420,1.16,CSH,6.5 +VTS,1,1,660,1.55,CSH,9 +VTS,1,1,480,1.77,CRD,8 +VTS,1,1,1200,3.86,CRD,16 +VTS,1,1,420,1.36,CSH,7 +VTS,1,1,1920,9.87,CSH,32.5 +VTS,1,1,420,0.81,CRD,6 +VTS,1,1,300,1.57,CRD,6.5 +VTS,1,1,780,3.81,CSH,13 +VTS,1,1,360,0.86,CRD,6 +VTS,1,1,720,1.42,CRD,9 +VTS,1,1,540,0.97,CRD,7 +VTS,1,1,1560,4.18,CRD,19 +VTS,1,1,960,1.88,CSH,11.5 +VTS,1,1,960,6.02,CRD,19.5 +VTS,1,1,720,1.42,CRD,9 +VTS,1,1,420,0.82,CSH,6 +VTS,1,1,600,1.11,CSH,8 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,300,0.45,CSH,4.5 +VTS,1,1,600,1.78,CRD,8.5 +VTS,1,1,420,1.45,CRD,7 +VTS,1,1,1620,7.71,CRD,26.5 +VTS,1,1,240,0.75,CSH,5 +VTS,1,1,1980,4.13,CRD,21 +VTS,1,1,540,1.24,CRD,7 +VTS,1,1,540,2.19,CRD,9 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,240,0.38,CRD,4.5 +VTS,1,1,600,1.58,CRD,8 +VTS,1,1,780,2.59,CSH,11.5 +VTS,1,1,660,2.81,CSH,11 +VTS,1,1,360,0.85,CRD,6 +VTS,1,1,480,1.2,CRD,7 +VTS,1,1,1260,5.33,CSH,18.5 +VTS,1,1,420,1.38,CSH,7 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,720,2.36,CRD,11 +VTS,1,1,660,2.04,CRD,9.5 +VTS,1,1,1800,12.68,CRD,37 +VTS,1,1,420,0.93,CSH,6 +VTS,1,1,900,1.64,CSH,10.5 +VTS,1,1,840,4.12,CSH,14 +VTS,1,1,1260,2.52,CRD,14 +VTS,1,1,540,0.99,CSH,7.5 +VTS,1,1,540,1.47,CSH,7.5 +VTS,1,1,120,0.75,CRD,4 +VTS,1,1,300,1.19,CSH,6 +VTS,1,1,600,2.7,CSH,10.5 +VTS,1,1,480,1.54,CRD,7.5 +VTS,1,1,480,1.23,CSH,7 +VTS,1,1,1020,3.46,CRD,15 +VTS,1,1,1740,10.01,CSH,32 +VTS,1,1,1140,3.6,CRD,15 +VTS,1,1,360,2.15,CRD,8.5 +VTS,1,1,360,1.53,CRD,6.5 +VTS,1,1,420,1.76,CRD,7.5 +VTS,1,1,240,0.76,CSH,5 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,840,2.7,CRD,12 +VTS,1,1,600,2.62,CSH,10.5 +VTS,1,1,540,2.02,CSH,9 +VTS,1,1,780,1.17,CSH,9.5 +VTS,1,1,540,1.46,CSH,8 +VTS,1,1,180,0.48,CRD,4 +VTS,1,1,660,1.51,CSH,9 +VTS,1,1,180,0.59,CRD,4 +VTS,1,1,300,1.78,CRD,7 +VTS,1,1,1560,4.55,CRD,18.5 +VTS,1,1,780,3.37,CSH,13.5 +VTS,1,1,840,2.29,CRD,11.5 +VTS,1,1,540,1.19,CSH,8 +VTS,1,1,780,1.4,CSH,10 +VTS,1,1,360,0.66,CRD,5 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,840,2.73,CSH,11.5 +VTS,1,1,300,0.86,CRD,5.5 +VTS,1,1,480,0.85,CRD,6.5 +VTS,1,1,480,1.17,CSH,7 +VTS,1,1,660,1.95,CRD,9.5 +VTS,1,1,660,2.2,CSH,9.5 +VTS,1,1,960,2.56,CSH,12.5 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,1,720,3.91,CSH,13.5 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,360,1.06,CRD,6 +VTS,1,1,300,1.15,CSH,5.5 +VTS,1,1,540,1.57,CRD,8 +VTS,1,1,480,2.06,CSH,9 +VTS,1,1,540,1.95,CSH,9 +VTS,1,1,900,2.22,CSH,11.5 +VTS,1,1,1260,2.32,CRD,14.5 +VTS,1,1,120,0.44,CRD,3.5 +VTS,5,1,1620,6.79,CRD,50 +VTS,1,1,660,2.28,CSH,9.5 +VTS,1,1,720,2.41,CSH,10.5 +VTS,1,1,600,1.76,CRD,8.5 +VTS,1,1,1080,3.97,CSH,16 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,300,1.41,CSH,6.5 +VTS,1,1,540,2.17,CRD,9 +VTS,1,1,480,1.52,CSH,8 +VTS,1,1,120,0.45,CSH,3.5 +VTS,1,1,240,0.87,CSH,5 +VTS,1,1,180,0.89,CSH,4.5 +VTS,1,1,600,1.94,CRD,9 +VTS,1,1,1020,5.91,CRD,19.5 +VTS,1,1,300,0.69,CRD,5 +VTS,1,1,180,0.62,CSH,4 +VTS,1,1,1380,8.1,CSH,27 +VTS,1,1,780,2.45,CRD,10.5 +VTS,1,1,780,3.5,CRD,13 +VTS,1,1,240,1.18,CSH,6 +VTS,1,1,600,2.33,CRD,10 +VTS,1,1,720,1.75,CSH,10 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,1,1380,2.99,CSH,16 +VTS,1,1,180,0.51,CSH,4 +VTS,1,1,900,6.94,CSH,21.5 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,1,720,2.19,CRD,10 +VTS,1,1,420,0.83,CRD,6 +VTS,1,1,600,2.41,CSH,10.5 +VTS,1,1,660,1.79,CRD,9.5 +VTS,1,1,480,2.39,CRD,9.5 +VTS,1,1,960,4.28,CRD,15 +VTS,1,1,780,2.58,CRD,11 +VTS,1,1,420,0.6,CSH,6 +VTS,1,1,1020,4.76,CSH,17 +VTS,1,1,480,0.95,CRD,6.5 +VTS,1,1,300,1.52,CSH,6.5 +VTS,1,1,660,0.92,CSH,8 +VTS,1,1,780,1.81,CRD,10 +VTS,1,1,1020,4.49,CRD,16 +VTS,1,2,720,3.27,CRD,12.5 +VTS,1,1,900,2.78,CRD,13 +VTS,1,1,720,1.05,CRD,9 +VTS,1,1,180,0.42,CSH,4 +VTS,1,1,420,0.76,CSH,6 +VTS,1,1,360,0.79,CRD,6 +VTS,1,1,720,3.03,CSH,12 +VTS,1,1,360,1.36,CSH,6.5 +VTS,1,1,180,1.46,CRD,6 +VTS,1,1,840,2.42,CRD,12 +VTS,1,1,1020,2,CRD,11.5 +VTS,1,1,300,1.41,CRD,6.5 +VTS,1,1,420,1.24,CSH,7 +VTS,1,1,240,0.41,CRD,4.5 +VTS,1,1,240,0.85,CSH,5 +VTS,1,1,1080,8.96,CSH,26 +VTS,1,1,840,2.17,CSH,11.5 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,480,1.26,CRD,7 +VTS,1,1,240,0.63,CRD,5 +VTS,1,1,180,0.45,CSH,4 +VTS,1,1,540,1.19,CRD,7.5 +VTS,1,1,720,3.29,CSH,12.5 +VTS,1,1,600,2.08,CRD,8.5 +VTS,1,1,360,1.34,CSH,6.5 +VTS,1,1,360,0.98,CRD,6 +VTS,1,1,1020,3.76,CRD,14.5 +VTS,1,1,600,1.94,CRD,9.5 +VTS,1,1,300,1.08,CRD,5.5 +VTS,1,1,540,0.92,CSH,7.5 +VTS,1,1,1140,2.76,CSH,14 +VTS,1,1,300,0.78,CRD,5 +VTS,1,1,1620,14.12,CRD,39.5 +VTS,1,1,420,1.33,CRD,7 +VTS,1,1,180,0.61,CRD,4 +VTS,2,1,1440,16.7,CRD,52 +VTS,1,1,540,1.43,CSH,8 +VTS,1,1,600,1.46,CRD,8.5 +VTS,1,1,660,1.68,CSH,9 +VTS,1,1,840,4.83,CSH,16 +VTS,2,1,2100,19.32,CSH,52 +VTS,1,1,600,1.22,CRD,8 +VTS,1,1,240,1.26,CSH,5.5 +VTS,1,1,420,1.75,CSH,8 +VTS,1,1,660,1.92,CSH,9 +VTS,1,1,780,2.3,CRD,11 +VTS,1,1,360,1.33,CSH,6.5 +VTS,1,1,480,0.97,CSH,7 +VTS,1,1,1200,2.53,CRD,13.5 +VTS,1,1,360,0.74,CSH,5.5 +VTS,1,1,180,0.36,CSH,3.5 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,1,240,0.72,CRD,4 +VTS,1,1,360,0.8,CSH,5.5 +VTS,1,1,960,3.25,CRD,14 +VTS,1,1,1080,2.79,CRD,13.5 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,300,1.82,CSH,7 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,720,2.42,CRD,10 +VTS,1,1,1020,8.38,CRD,25 +VTS,1,1,300,0.63,CSH,5 +VTS,1,1,600,1.06,CSH,7.5 +VTS,1,1,1320,6.8,CRD,23 +VTS,1,1,720,4.83,CSH,15 +VTS,1,1,360,0.77,CRD,6 +VTS,1,1,240,0.95,CRD,5.5 +VTS,1,1,600,1.75,CRD,8.5 +VTS,1,1,420,1.3,CSH,7 +VTS,1,1,660,1.95,CRD,9.5 +VTS,1,1,1260,9.39,CRD,28 +VTS,1,1,1260,7.98,CSH,25 +VTS,1,1,540,1.39,CSH,8 +VTS,1,1,60,0.36,CSH,3.5 +VTS,1,1,780,1.24,CRD,9 +VTS,1,1,660,1.84,CRD,9.5 +VTS,1,1,360,1.08,CSH,6.5 +VTS,1,1,360,0.76,CRD,5.5 +VTS,1,1,720,2.89,CRD,11.5 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,1860,9.12,CRD,30.5 +VTS,1,1,480,0.69,CSH,7 +VTS,1,1,660,1.6,CRD,9 +VTS,1,1,180,0.5,CSH,4 +VTS,1,1,420,1.43,CRD,7 +VTS,1,1,720,1.6,CSH,9.5 +VTS,1,1,480,1.16,CRD,6.5 +VTS,1,1,540,1.68,CSH,8.5 +VTS,1,1,1200,2.8,CRD,14.5 +VTS,1,1,720,2.45,CRD,10.5 +VTS,1,1,420,0.98,CSH,6.5 +VTS,1,1,240,0.74,CRD,5 +VTS,1,1,240,0.48,CSH,4 +VTS,1,1,360,0.86,CRD,6 +VTS,1,1,960,2.72,CRD,13 +VTS,1,1,540,1.57,CRD,8 +VTS,1,1,300,1.39,CSH,6.5 +VTS,1,6,420,2.49,CSH,9 +VTS,1,6,420,1.41,CRD,7.5 +VTS,1,6,300,1.19,CSH,6 +VTS,1,1,780,3.56,CSH,13 +VTS,2,1,1440,16.67,CRD,52 +VTS,1,1,780,4.41,CRD,15 +VTS,1,5,300,1.09,CRD,6 +VTS,1,5,180,0.87,CRD,4.5 +VTS,1,5,360,0.81,CSH,5.5 +VTS,1,5,1560,8.87,CSH,29 +VTS,1,1,540,1.67,CRD,8.5 +VTS,1,1,420,0.7,CSH,6 +VTS,1,1,660,1.76,CRD,9.5 +VTS,1,1,480,2.49,CRD,9.5 +VTS,1,1,2040,8.93,CRD,30.5 +VTS,1,1,300,0.69,CRD,4.5 +VTS,1,1,900,2.19,CSH,12 +VTS,1,1,780,1.37,CRD,9 +VTS,1,1,840,2.37,CSH,11.5 +VTS,1,1,1020,3.24,CRD,13.5 +VTS,1,1,480,1.27,CRD,7 +VTS,1,1,660,2.36,CRD,10.5 +VTS,1,1,300,0.59,CSH,5 +VTS,1,1,1560,11.43,CRD,34 +VTS,1,1,1020,1.69,CSH,11.5 +VTS,1,1,780,2.74,CRD,11.5 +VTS,1,1,360,2.69,CSH,9 +VTS,1,1,300,0.73,CSH,5 +VTS,1,1,240,0.9,CSH,5 +VTS,1,1,720,2.94,CRD,11.5 +VTS,1,1,240,0.56,CRD,4.5 +VTS,1,1,720,2.08,CSH,9.5 +VTS,1,1,720,2.47,CSH,10.5 +VTS,1,1,780,4.35,CRD,15 +VTS,1,1,540,1.54,CSH,8 +VTS,1,1,1800,9.46,CRD,31 +VTS,1,1,540,1.87,CSH,8.5 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,960,3.04,CSH,13 +VTS,1,1,900,4.86,CSH,15.5 +VTS,1,1,1200,2.51,CRD,13.5 +VTS,1,1,1200,2.27,CSH,13.5 +VTS,1,1,1080,2.69,CRD,13.5 +VTS,1,1,1080,6.43,CRD,20.5 +VTS,1,1,480,1.24,CRD,7 +VTS,1,1,780,4.64,CRD,15.5 +VTS,1,1,240,0.77,CRD,5 +VTS,1,1,120,0.68,CRD,4 +VTS,1,1,780,2.41,CSH,11.5 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,420,1.02,CRD,6 +VTS,1,1,480,0.87,CRD,6.5 +VTS,1,1,180,0.64,CRD,4 +VTS,1,1,60,0.38,CSH,3 +VTS,1,1,420,1.88,CRD,7.5 +VTS,1,1,720,2.63,CRD,10.5 +VTS,1,1,480,2.68,CRD,10.5 +VTS,1,1,420,2.16,CSH,9 +VTS,1,1,840,3.21,CRD,12.5 +VTS,1,1,480,1.61,CRD,8 +VTS,1,1,1560,3.06,CRD,17.5 +VTS,1,1,1440,4.21,CRD,18 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,540,1.16,CRD,7.5 +VTS,1,1,1680,3.9,CRD,19 +VTS,1,1,1020,2.23,CSH,12.5 +VTS,1,1,960,2.81,CRD,12.5 +VTS,1,1,480,0.83,CSH,6.5 +VTS,1,1,960,2.56,CRD,12.5 +VTS,1,1,300,1.06,CRD,6 +VTS,1,1,480,3.03,CRD,10.5 +VTS,1,1,420,2.15,CSH,8 +VTS,1,1,660,3.76,CRD,13 +VTS,1,1,300,0.68,CRD,5.5 +VTS,1,1,720,2.28,CSH,10 +VTS,1,1,660,1.92,CRD,10 +VTS,1,1,660,1.37,CRD,8.5 +VTS,1,1,480,1.22,CSH,7 +VTS,1,1,780,3.66,CSH,13 +VTS,1,1,240,0.56,CRD,5 +VTS,1,1,540,1.62,CSH,7.5 +VTS,1,1,1020,5.85,CSH,19 +VTS,1,1,540,1.87,CSH,9 +VTS,1,1,240,1.23,CSH,5.5 +VTS,1,1,540,1.34,CSH,8 +VTS,1,1,360,1.46,CSH,6.5 +VTS,1,1,600,1.34,CRD,8 +VTS,1,1,1080,2.62,CSH,13.5 +VTS,1,1,780,1.16,CRD,9.5 +VTS,1,1,120,0.32,CSH,3.5 +VTS,1,1,1020,3.32,CRD,13.5 +VTS,1,1,240,0.61,CSH,5 +VTS,1,1,300,0.82,CRD,5 +VTS,1,1,300,0.63,CSH,5.5 +VTS,1,1,360,0.93,CRD,6 +VTS,1,1,420,0.84,CSH,6 +VTS,1,1,480,3.18,CSH,11.5 +VTS,1,1,840,2.05,CRD,11 +VTS,1,1,1080,1.27,CRD,11.5 +VTS,1,1,540,1.84,CSH,8.5 +VTS,1,1,120,0.79,CRD,4.5 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,240,1.08,CSH,5.5 +VTS,1,1,900,1.86,CRD,10.5 +VTS,1,1,540,1.54,CRD,8 +VTS,1,1,480,3.26,CSH,11 +VTS,1,1,420,1.53,CSH,7 +VTS,1,1,360,1.6,CSH,7 +VTS,1,1,1680,5.55,CSH,22.5 +VTS,1,1,420,2.9,CRD,10 +VTS,1,1,1320,7.7,CSH,25.5 +VTS,1,1,360,0.92,CRD,6 +VTS,1,1,300,1,CRD,6 +VTS,1,1,540,1.59,CRD,8 +VTS,1,1,1020,3.5,CSH,14 +VTS,1,1,1320,3.25,CSH,15.5 +VTS,1,1,480,1.91,CSH,8.5 +VTS,1,1,420,1.53,CRD,7 +VTS,1,1,180,0.83,CRD,4.5 +VTS,1,1,600,1.18,CSH,8 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,1,480,1.16,CRD,7 +VTS,1,1,840,1.84,CSH,10 +VTS,1,1,420,0.83,CSH,6 +VTS,1,1,780,2.69,CSH,11.5 +VTS,1,1,660,2.71,CRD,10.5 +VTS,1,1,780,1.75,CSH,10 +VTS,1,1,1080,2.93,CRD,13.5 +VTS,1,1,180,0.43,CSH,4 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,1,780,2.78,CRD,12 +VTS,1,1,480,1.39,CSH,7.5 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,780,1.72,CRD,9.5 +VTS,1,1,360,0.76,CRD,6 +VTS,1,1,360,1.47,CSH,7 +VTS,1,1,540,1.95,CSH,9 +VTS,1,1,240,0.78,CSH,4.5 +VTS,1,1,360,1.36,CSH,6.5 +VTS,1,1,660,1.91,CSH,9 +VTS,1,1,120,0.58,CSH,3.5 +VTS,1,1,900,2.78,CSH,13 +VTS,1,1,720,2.26,CSH,10.5 +VTS,1,1,420,1.82,CSH,7.5 +VTS,1,1,480,1.86,CSH,8.5 +VTS,1,1,660,1.42,CSH,9 +VTS,1,1,900,3.93,CRD,14.5 +VTS,1,1,300,0.84,CRD,5.5 +VTS,1,1,480,0.84,CRD,6.5 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,600,1.85,CSH,9 +VTS,1,1,180,0.58,CSH,4 +VTS,1,1,840,4.19,CRD,14.5 +VTS,1,1,660,1.54,CRD,9.5 +VTS,1,1,720,2.13,CRD,10 +VTS,1,1,480,1.29,CSH,7.5 +VTS,1,1,1320,2.83,CRD,15 +VTS,1,1,300,0.51,CSH,5 +VTS,1,1,720,1.79,CSH,9.5 +VTS,1,1,960,3.23,CSH,14 +VTS,1,1,420,1.26,CRD,7 +VTS,1,1,360,1.69,CSH,7.5 +VTS,1,1,360,1.55,CRD,7 +VTS,1,1,300,1.59,CSH,6.5 +VTS,1,1,300,1.37,CSH,6.5 +VTS,1,1,960,2.97,CSH,13 +VTS,1,1,240,1,CSH,5 +VTS,1,1,1020,10.52,CRD,29.5 +VTS,1,1,1020,3.72,CRD,15 +CMT,1,1,145,0.5,CSH,4 +CMT,1,2,1028,2.5,CRD,13.5 +CMT,1,1,948,11.2,CSH,31 +CMT,2,1,2753,19.2,CRD,52 +CMT,1,1,1154,11.1,CRD,31.5 +VTS,1,1,780,1.13,CSH,9 +VTS,1,1,360,1.52,CSH,7 +VTS,1,1,1440,4.27,CRD,20 +VTS,1,1,420,1.35,CSH,7 +VTS,1,1,900,2.64,CSH,11.5 +VTS,1,1,840,2.9,CRD,12.5 +VTS,1,1,240,0.9,CSH,5 +VTS,1,1,240,0.73,CRD,5 +VTS,1,1,300,0.74,CRD,5.5 +VTS,1,1,540,2.24,CSH,9.5 +VTS,1,1,1320,3.95,CRD,17 +VTS,1,1,840,2.5,CRD,11.5 +VTS,1,1,1920,6.37,CRD,25 +VTS,1,1,1080,7.83,CRD,24.5 +VTS,1,1,540,1.44,CSH,7.5 +VTS,1,1,120,0.49,CRD,3.5 +VTS,1,1,780,3.41,CRD,13 +VTS,1,1,540,1.36,CSH,8 +VTS,1,1,780,1.81,CRD,9.5 +VTS,1,1,660,1.56,CRD,8.5 +VTS,1,1,840,3.31,CRD,12.5 +VTS,1,1,300,1.26,CSH,6 +VTS,1,1,360,1.34,CRD,6.5 +VTS,1,1,240,0.88,CRD,4.5 +VTS,1,1,180,0.51,CSH,4 +VTS,1,1,540,2.23,CRD,9 +VTS,1,1,900,5.57,CRD,17.5 +VTS,1,1,540,2.41,CRD,9.5 +VTS,1,1,540,2.53,CRD,9.5 +VTS,1,1,540,2.14,CRD,9 +VTS,1,1,240,0.92,CRD,5 +VTS,1,1,1080,2.88,CRD,13.5 +VTS,1,1,420,1.02,CSH,6.5 +VTS,1,1,960,2.74,CSH,12.5 +VTS,1,1,1020,2.53,CRD,13 +VTS,1,1,420,1.1,CRD,6.5 +VTS,1,1,300,1.46,CRD,6.5 +VTS,1,1,900,2.62,CSH,12.5 +VTS,1,1,540,0.95,CSH,7 +VTS,1,1,540,0.98,CSH,7 +VTS,1,1,900,3.06,CRD,12.5 +VTS,1,1,420,1.52,CRD,7.5 +VTS,1,1,180,0.93,CRD,4.5 +VTS,1,1,360,1.43,CRD,6 +VTS,1,1,840,2.02,CRD,10.5 +VTS,1,1,600,0.72,CRD,7.5 +VTS,1,1,360,0.51,CSH,5.5 +VTS,1,1,960,3.55,CSH,14.5 +VTS,1,1,60,0.14,CSH,3 +VTS,1,1,360,1.31,CSH,6.5 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,720,1.45,CRD,9.5 +VTS,1,1,540,1.33,CRD,7.5 +VTS,1,1,2580,5.28,CRD,26.5 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,660,1.26,CSH,8 +VTS,1,1,120,0.58,CSH,4 +VTS,1,1,420,1.23,CRD,7 +VTS,1,1,840,2.82,CSH,12 +VTS,1,1,420,1.21,CRD,6.5 +VTS,1,1,540,2.95,CRD,11 +VTS,1,1,180,0.54,CSH,4 +VTS,1,1,240,1.37,CRD,5.5 +VTS,1,1,900,4.01,CSH,14.5 +VTS,5,1,840,3.89,CSH,45 +VTS,1,1,1080,5.4,CRD,18 +VTS,1,1,240,0.54,CRD,4.5 +VTS,1,1,600,2.67,CRD,10.5 +VTS,1,1,1320,11.1,CRD,32 +VTS,1,1,1080,8.07,CRD,25 +VTS,1,1,1020,8.98,CRD,25 +VTS,1,1,600,1.52,CSH,8.5 +VTS,1,1,300,0.74,CSH,5 +VTS,1,1,840,4.76,CRD,16.5 +VTS,1,1,300,0.74,CRD,5 +VTS,1,1,480,0.7,CSH,6.5 +VTS,1,1,900,3.59,CRD,14 +VTS,1,1,480,0.94,CSH,5.5 +VTS,1,1,660,2.44,CRD,10 +VTS,1,1,660,2.51,CRD,10.5 +VTS,1,1,840,3.73,CSH,14 +CMT,2,1,1396,17,CRD,52 +CMT,1,1,723,2.5,CSH,11 +CMT,1,1,609,4.6,CSH,15 +CMT,1,1,547,0.3,CSH,7 +CMT,1,1,1317,7.2,CSH,24 +CMT,2,1,2042,17.1,CRD,52 +CMT,1,1,178,0.3,CRD,4 +CMT,1,1,883,2.5,CRD,11.5 +CMT,1,1,340,1,CRD,6 +CMT,1,1,433,1.1,CRD,7 +CMT,1,1,332,1.1,CRD,6 +CMT,1,2,413,1,CSH,6.5 +CMT,1,4,1265,2.8,CSH,15 +CMT,1,1,334,1.6,CRD,7 +CMT,1,1,621,2.8,CRD,11 +CMT,1,1,472,1.7,CRD,8 +CMT,1,1,566,1.9,CSH,9 +CMT,1,1,1916,13.4,CSH,39 +CMT,1,1,1085,7.5,CRD,22 +CMT,2,1,2683,18.4,CRD,52 +CMT,1,1,176,0.4,CSH,4 +CMT,1,1,390,1,CSH,6.5 +VTS,1,1,360,0.97,CRD,5.5 +VTS,1,1,1080,3,CSH,13.5 +VTS,1,1,420,1.36,CRD,7 +VTS,1,1,540,1.75,CSH,8 +VTS,1,1,960,2.17,CRD,11 +VTS,1,1,540,1.36,CSH,8 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,1800,3.5,CRD,19.5 +VTS,4,1,600,0.72,CSH,8 +VTS,1,1,1260,3.32,CRD,15.5 +VTS,1,1,180,0.41,CSH,4 +VTS,1,1,360,1.08,CSH,6 +VTS,3,1,1860,17.83,CRD,66 +VTS,1,1,660,1.09,CSH,8 +VTS,1,1,660,1.61,CRD,9.5 +VTS,1,1,2160,5.05,CSH,26 +VTS,1,1,1080,3.27,CSH,13.5 +VTS,1,1,840,3.56,CSH,14 +VTS,1,1,360,1.06,CRD,6 +VTS,1,1,780,2.43,CRD,11 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,480,0.85,CRD,6.5 +VTS,1,1,780,1.75,CSH,10 +VTS,1,1,780,2.71,CRD,11 +VTS,1,1,600,3.61,CRD,12.5 +VTS,1,1,660,1.45,CRD,9 +VTS,1,1,540,2.65,CSH,10.5 +VTS,1,1,720,4.36,CSH,14.5 +VTS,1,1,300,0.71,CSH,5 +VTS,1,1,360,0.89,CSH,5.5 +VTS,1,1,300,1.13,CRD,6 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,1440,3.88,CSH,17.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,540,1.55,CRD,7.5 +CMT,1,1,2194,11.4,CSH,37 +CMT,2,1,2331,18.2,CRD,52 +CMT,1,1,615,1.7,CRD,8.5 +CMT,1,1,219,0.7,CRD,4.5 +CMT,2,1,2912,18.4,CRD,52 +CMT,1,1,479,0.8,CRD,7 +CMT,1,1,393,0.7,CSH,6 +CMT,1,1,831,2.1,CRD,10.5 +CMT,1,1,1290,2.7,CRD,14.5 +CMT,1,1,598,1.3,CRD,8 +CMT,1,1,895,2.1,CRD,11.5 +CMT,1,4,841,3.8,CRD,13.5 +CMT,1,4,539,2,CRD,9 +CMT,1,1,546,1.6,CRD,8.5 +CMT,1,2,314,1,CSH,5.5 +CMT,1,1,908,1.9,CSH,11 +CMT,1,2,346,1.4,CSH,6.5 +VTS,1,1,720,2.48,CSH,10.5 +VTS,1,1,180,0.81,CRD,5 +VTS,1,1,600,1.3,CRD,6.5 +VTS,1,1,1440,9.11,CSH,29 +VTS,1,1,180,0.87,CSH,4.5 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,660,1.46,CSH,9.5 +VTS,1,1,420,2.15,CSH,8.5 +VTS,1,1,360,1.46,CSH,7 +VTS,1,1,300,0.71,CSH,5 +VTS,1,1,120,1.01,CSH,5 +VTS,1,1,480,2.17,CSH,9 +VTS,1,1,420,1.88,CRD,7.5 +VTS,1,1,840,1.91,CRD,10 +VTS,1,1,600,0.83,CSH,7.5 +VTS,1,1,540,2.29,CRD,9 +VTS,1,1,600,3.22,CRD,11 +VTS,1,1,1020,1.56,CRD,11.5 +VTS,1,1,300,0.65,CSH,5 +VTS,1,1,180,1.24,CSH,5.5 +VTS,1,1,120,0.64,CSH,4.5 +VTS,1,1,1380,4.45,CRD,18.5 +VTS,1,1,1680,4.8,CRD,20.5 +VTS,1,1,660,0.83,CRD,7.5 +VTS,1,1,900,2.71,CRD,12 +VTS,1,1,180,0.41,CSH,4 +VTS,1,1,1320,3.03,CRD,16 +VTS,1,1,600,2.59,CRD,10 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,360,0.9,CSH,5.5 +VTS,1,1,720,1.62,CRD,9 +VTS,1,1,1620,9.5,CSH,31 +VTS,1,1,780,2.4,CSH,11 +VTS,1,1,720,3.62,CRD,13.5 +VTS,1,1,900,2.95,CRD,11.5 +VTS,1,1,480,1.53,CRD,7.5 +VTS,1,1,300,1.74,CSH,7 +VTS,1,1,660,3.67,CRD,12 +VTS,2,1,1740,17.75,CRD,52 +VTS,1,1,420,0.73,CRD,5.5 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,600,2.2,CRD,9.5 +VTS,1,1,600,2.12,CSH,9 +VTS,1,1,840,2.26,CSH,10.5 +VTS,1,1,300,1.62,CRD,7 +VTS,1,1,540,1.75,CRD,9 +VTS,1,1,720,1.36,CRD,9 +VTS,1,1,420,0.88,CSH,6.5 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,1,1320,9.57,CRD,28.5 +VTS,1,1,420,1.58,CRD,7.5 +VTS,1,1,780,0.93,CRD,9 +VTS,1,1,360,1.08,CSH,6 +VTS,1,1,720,1.59,CRD,9 +VTS,1,1,300,0.71,CRD,5 +VTS,1,1,840,2.48,CSH,11.5 +VTS,1,1,360,1.14,CSH,6 +VTS,1,1,540,3.14,CSH,11 +VTS,1,1,300,1.19,CRD,6 +VTS,1,1,900,1.68,CSH,10.5 +VTS,1,1,960,3.12,CSH,13 +VTS,1,1,600,1.28,CRD,8 +VTS,1,1,480,1.69,CSH,8 +VTS,1,1,900,3.68,CRD,14 +VTS,1,1,1020,5.98,CSH,20 +VTS,1,1,600,1.79,CSH,9 +VTS,1,1,360,1.4,CSH,7 +VTS,1,1,420,1.18,CSH,6.5 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,300,0.54,CRD,5 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,1,900,1.5,CRD,10 +VTS,1,1,1080,1.8,CRD,12 +VTS,1,1,420,0.85,CSH,6 +VTS,1,1,720,2.19,CRD,10 +VTS,1,1,600,1.47,CRD,8 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,600,2.25,CSH,10 +VTS,1,1,660,0.97,CRD,7.5 +VTS,1,1,480,0.89,CSH,6.5 +VTS,1,1,660,1.79,CRD,8.5 +VTS,1,1,300,1.05,CSH,6 +VTS,1,1,300,0.53,CRD,4.5 +VTS,1,1,1320,5.39,CRD,20 +VTS,1,1,1140,3.15,CRD,14.5 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,540,1.79,CSH,8 +VTS,1,1,600,1.33,CRD,8 +VTS,1,1,420,1.19,CRD,7 +VTS,1,1,300,0.8,CSH,5 +VTS,1,1,420,1.53,CSH,7.5 +VTS,1,1,1260,6.56,CRD,22 +VTS,1,1,420,1.52,CSH,7 +VTS,1,1,540,1.04,CSH,7 +VTS,1,1,540,2.1,CRD,9 +VTS,1,1,180,0.78,CRD,5 +CMT,1,2,384,1.1,CSH,6.5 +CMT,1,1,323,0.7,CSH,5.5 +CMT,1,1,17,0.3,NOC,2.5 +CMT,1,1,1991,20.1,CRD,55.5 +CMT,1,1,663,1.7,CSH,9.5 +CMT,1,1,988,4.2,CRD,16 +CMT,1,1,1236,4.8,CSH,19 +VTS,1,1,480,1.4,CSH,7.5 +VTS,1,1,660,1.8,CRD,9 +VTS,1,1,540,1.46,CSH,8 +VTS,1,1,600,1.06,CSH,7 +VTS,1,1,180,0.92,CSH,4.5 +VTS,1,1,1020,7.75,CSH,24 +VTS,1,1,600,1.37,CRD,8.5 +VTS,1,1,1140,5.92,CRD,20.5 +VTS,1,1,600,1.38,CRD,8 +VTS,1,1,600,2.02,CRD,9 +VTS,1,1,600,1.99,CSH,9 +VTS,1,1,420,1.07,CRD,6.5 +VTS,1,1,360,1.4,CRD,7 +VTS,1,1,1500,10.09,CRD,31 +VTS,1,1,1620,7.32,CSH,25.5 +VTS,3,1,1620,17.39,CSH,65 +VTS,1,1,180,1.01,CSH,5 +VTS,1,1,2700,18.23,CSH,54 +CMT,1,1,1209,3.4,CSH,15.5 +CMT,1,1,3242,11.9,CSH,43.5 +CMT,1,1,955,2.5,CSH,12.5 +CMT,1,1,457,1.5,CSH,7.5 +CMT,1,1,400,1.5,CRD,7 +CMT,1,1,540,1.2,CSH,7.5 +CMT,1,1,494,1.5,CRD,7.5 +CMT,1,1,1057,3.2,CRD,14 +CMT,1,1,713,1.9,CSH,10 +CMT,1,2,912,3.7,CRD,14 +CMT,1,1,752,1.5,CRD,9.5 +CMT,1,1,207,0.4,CSH,4.5 +CMT,1,1,583,1,CSH,7.5 +CMT,1,1,444,1.1,CSH,7 +CMT,1,1,1131,3.2,CSH,14.5 +CMT,1,1,1023,3.2,CRD,13.5 +CMT,1,2,598,2.5,CSH,10 +CMT,1,1,1877,6.2,CRD,25 +CMT,1,1,486,0.6,CRD,6.5 +CMT,1,1,775,5.5,CRD,17.5 +CMT,1,1,778,3.4,CRD,12.5 +CMT,1,2,311,1,CRD,6 +CMT,1,1,154,0.5,CSH,4 +CMT,1,1,538,1.9,CRD,8.5 +CMT,1,1,265,0.5,CRD,5 +CMT,1,1,141,1.7,CSH,6.5 +CMT,1,2,508,1.6,CRD,8 +CMT,1,1,959,3.3,CRD,13 +CMT,1,1,643,2.1,CSH,9.5 +CMT,1,1,206,0.9,CRD,5 +CMT,2,1,3042,17.5,CRD,52 +CMT,1,1,858,2.6,CRD,11.5 +CMT,1,1,179,0.4,CSH,4 +CMT,1,1,696,1.4,CRD,9 +CMT,1,1,803,1.6,CRD,10.5 +CMT,1,1,754,2,CRD,10 +CMT,1,1,1005,2.5,CSH,12.5 +CMT,1,1,437,1.5,CSH,7.5 +CMT,4,1,1560,16,CSH,53 +CMT,1,1,600,2.1,CRD,9.5 +CMT,1,1,1152,3.7,CSH,15.5 +CMT,1,1,3397,16.1,CRD,50 +CMT,1,1,710,3,CSH,12 +CMT,1,1,483,1.7,CSH,8 +CMT,1,1,735,2.7,CSH,12 +CMT,1,1,714,0.9,CSH,9 +CMT,1,1,839,3.3,CRD,13 +CMT,1,1,1002,9.3,CRD,26.5 +CMT,1,1,372,2.6,CSH,10 +CMT,1,1,351,1.3,CSH,6.5 +CMT,1,1,247,0.7,CRD,5 +CMT,1,1,950,5.6,CRD,18 +CMT,1,1,393,1.2,CRD,7 +CMT,1,1,143,0.7,CRD,4 +CMT,1,1,982,2.8,CSH,12.5 +CMT,2,2,2884,22.4,CRD,52 +CMT,1,1,842,3.2,CRD,13.5 +CMT,1,1,1399,6.6,CRD,23.5 +CMT,1,2,750,0.8,CSH,9 +CMT,1,2,188,0.5,CSH,4.5 +CMT,1,1,595,2.1,CSH,9.5 +CMT,1,1,645,2.5,CRD,10.5 +CMT,1,1,505,0.9,CRD,7 +CMT,1,1,753,2.6,CRD,11 +CMT,1,2,653,1.8,CRD,9.5 +CMT,1,1,1358,4.2,CSH,17 +CMT,1,1,818,3.9,CRD,13.5 +CMT,1,1,1725,4.8,CRD,20.5 +CMT,1,1,519,1.2,CSH,7.5 +CMT,1,1,898,1.9,CRD,11.5 +CMT,1,1,1046,2.9,CSH,13.5 +CMT,1,1,1673,4.7,CRD,21 +CMT,1,2,1276,1.6,CSH,13.5 +CMT,1,2,431,1.7,CSH,8 +CMT,1,2,478,1.8,CSH,8.5 +CMT,1,4,469,2.3,CSH,9.5 +CMT,1,1,1600,3.7,CRD,18.5 +CMT,1,1,594,3.1,CSH,10.5 +CMT,1,1,458,1.2,CSH,7 +CMT,1,1,1274,1.7,CRD,13.5 +CMT,1,1,346,1.2,CRD,6.5 +CMT,1,1,996,1.4,CRD,11.5 +CMT,1,1,605,4.9,CRD,15 +CMT,1,1,486,2.1,CRD,8.5 +CMT,1,1,305,0.9,CSH,6 +CMT,1,3,1011,4.1,CSH,15.5 +VTS,1,1,900,1.87,CRD,10.5 +VTS,1,1,420,0.75,CSH,6 +VTS,1,1,960,2.93,CRD,13 +VTS,1,1,240,0.67,CRD,4.5 +VTS,4,1,360,1.18,CRD,6.5 +VTS,1,1,900,2.75,CRD,12.5 +VTS,1,1,900,6.12,CSH,19 +VTS,1,1,540,1.53,CSH,8 +VTS,1,1,360,1.63,CRD,7 +VTS,1,1,180,0.73,CRD,4 +VTS,1,1,840,1.94,CSH,10.5 +CMT,4,2,1698,11,CRD,52 +CMT,1,1,951,9.8,CSH,27.5 +CMT,2,2,2675,17.3,CRD,52 +CMT,1,1,617,1.5,CRD,8.5 +CMT,1,1,454,2,CSH,8 +CMT,1,1,402,1.7,CRD,7.5 +CMT,1,2,527,2.2,CRD,9 +CMT,1,1,1530,6.7,CSH,23.5 +CMT,1,1,524,2,CRD,8.5 +CMT,1,1,360,1.1,CRD,6.5 +CMT,1,1,463,1.8,CRD,8 +CMT,1,1,788,3.1,CRD,12 +CMT,1,1,868,2.4,CRD,11.5 +CMT,1,1,416,3.5,CRD,11.5 +CMT,1,1,1424,5,CRD,20 +CMT,1,1,245,0.9,CSH,5.5 +CMT,1,1,575,4.1,CRD,13.5 +CMT,1,1,845,2.7,CRD,12.5 +CMT,1,1,388,1.1,CSH,6.5 +CMT,2,1,2657,20.1,CRD,52 +CMT,1,1,911,3.9,CRD,14.5 +CMT,1,1,355,1.8,CRD,7.5 +CMT,1,1,315,1.6,CSH,7 +CMT,1,1,544,1.1,CRD,7.5 +CMT,1,1,254,2.5,CSH,9 +CMT,1,2,1057,4.2,CRD,16.5 +CMT,1,1,370,1,CRD,6 +CMT,1,3,442,1.5,CSH,7.5 +CMT,1,1,323,0.9,CRD,5.5 +CMT,1,1,565,1.1,CSH,7.5 +CMT,1,1,287,1.1,CRD,6 +CMT,1,1,1351,4.2,CRD,16.5 +CMT,1,1,1096,3.6,CSH,15 +CMT,1,1,1184,3.7,CRD,16 +CMT,1,1,134,0.6,CSH,4 +CMT,1,1,484,1.4,CSH,7.5 +CMT,1,1,284,0.8,CSH,5.5 +CMT,1,1,1456,9.6,CRD,30 +CMT,1,1,321,1.4,CSH,6.5 +CMT,1,1,140,0.6,CSH,4 +CMT,1,1,715,2.8,CRD,11.5 +CMT,1,2,400,1.7,CRD,7.5 +CMT,2,1,2130,16.9,CRD,52 +CMT,1,1,990,2.8,CRD,13 +CMT,1,1,619,1.5,CRD,8.5 +CMT,1,1,402,0.8,CSH,6 +CMT,1,1,671,1,CRD,8 +CMT,1,1,781,1.2,CRD,9.5 +CMT,1,1,224,0.7,CSH,5 +CMT,1,1,332,2.7,CRD,9.5 +CMT,1,1,446,1.3,CRD,7 +CMT,1,1,95,0.4,CRD,3.5 +CMT,1,1,693,2.6,CSH,10.5 +CMT,1,1,903,2,CSH,11 +CMT,1,1,415,0.9,CSH,6.5 +CMT,1,1,999,3.7,CRD,14.5 +CMT,1,1,1307,4.6,CSH,18.5 +CMT,1,1,317,0.3,CRD,5 +CMT,1,1,401,0.9,CSH,6 +CMT,1,1,263,0.7,CRD,5 +CMT,1,1,158,0.4,CRD,4 +CMT,1,1,845,3,CRD,12.5 +CMT,1,1,425,1.2,CRD,7 +CMT,1,1,291,1.2,CRD,6 +CMT,1,2,939,8.3,CRD,25 +CMT,1,2,172,1,CSH,5 +CMT,1,1,896,1.9,CRD,12 +CMT,1,1,789,2.8,CRD,12 +CMT,1,3,1454,4,CSH,18 +CMT,1,1,1187,5.7,CRD,20.5 +CMT,1,1,440,1.8,CSH,8.5 +CMT,1,3,491,0.9,CSH,7 +CMT,1,1,1200,6.8,CRD,22 +CMT,1,1,381,0.7,CRD,6 +CMT,1,4,1096,5.6,CSH,18.5 +CMT,1,2,960,1.5,CSH,11 +CMT,1,1,287,0.8,CRD,5.5 +CMT,1,1,303,0.7,CSH,5.5 +CMT,1,3,325,1.8,CSH,7 +CMT,1,1,367,2,CSH,8 +CMT,1,1,1261,5.1,CSH,19.5 +CMT,1,1,228,1.1,CSH,5.5 +CMT,1,1,1364,8.4,CSH,25.5 +CMT,1,1,210,0.9,CRD,5 +CMT,1,1,678,2.7,CRD,11 +CMT,1,1,664,2.4,CRD,10 +CMT,1,2,678,2.5,CRD,10 +CMT,1,1,698,1.9,CRD,10 +CMT,1,1,343,0.7,CSH,5.5 +CMT,1,1,905,3,CRD,12.5 +CMT,1,1,311,1.4,CRD,6.5 +CMT,1,1,266,1,CRD,5.5 +CMT,1,1,972,4.2,CSH,15 +CMT,1,1,2753,13.7,CRD,43.5 +CMT,1,1,1171,2.4,CRD,13.5 +CMT,1,1,833,2,CRD,10.5 +CMT,1,1,879,2.7,CRD,13 +CMT,1,2,405,1.2,CRD,6.5 +CMT,1,1,1015,2.3,CSH,12.5 +CMT,1,1,593,1.8,CRD,8.5 +CMT,1,1,703,1.4,CRD,9 +CMT,1,1,308,1.1,CRD,6 +CMT,1,3,849,3.5,CRD,13.5 +CMT,2,1,3567,16.9,CRD,52 +CMT,1,1,456,1.2,CSH,7 +CMT,1,1,296,0.9,CRD,5.5 +CMT,1,1,716,2.8,CRD,11.5 +CMT,1,1,318,0.8,CSH,5.5 +CMT,1,2,472,2.4,CRD,9 +CMT,1,2,625,2.3,CSH,9.5 +CMT,1,1,296,1.1,CSH,6 +CMT,1,1,177,1.1,CRD,5 +CMT,1,1,1162,6.8,CSH,22 +CMT,3,2,2219,20.2,CRD,73 +CMT,1,1,411,1.7,CSH,7.5 +CMT,1,3,3311,20.6,CSH,58 +CMT,1,1,867,3.1,CRD,13 +CMT,1,1,507,1.7,CSH,8.5 +CMT,1,2,1880,1.5,CRD,18.5 +CMT,1,1,557,2.1,CSH,9 +CMT,1,1,767,2.1,CRD,10.5 +CMT,1,1,595,1.1,CRD,8 +CMT,1,2,637,2.1,CSH,9.5 +CMT,1,1,433,1.1,CSH,6.5 +CMT,1,1,1096,3.6,CRD,15 +CMT,1,1,440,2.5,CRD,9 +CMT,1,2,609,1.1,CSH,8 +CMT,1,1,671,2,CRD,9.5 +CMT,1,1,689,1.8,CRD,9.5 +CMT,1,1,318,1,CRD,6 +CMT,1,1,762,2.4,CRD,11 +CMT,1,2,965,3.3,CSH,13.5 +CMT,1,1,426,1.2,CSH,7 +CMT,1,1,874,3.2,CRD,13.5 +CMT,1,1,1960,10,CRD,31.5 +CMT,1,1,754,2.4,CRD,11 +CMT,1,2,156,0.4,CSH,4 +CMT,1,1,355,0.8,CRD,6 +CMT,1,1,835,1.3,CRD,9.5 +CMT,1,1,520,0.8,CSH,7 +CMT,1,3,282,1,CSH,5.5 +CMT,1,1,498,1.9,CRD,8.5 +CMT,1,1,448,1.2,CSH,7 +CMT,2,1,2796,21.1,CRD,52 +CMT,1,1,1437,3.7,CSH,17.5 +VTS,1,1,1080,2.36,CRD,13.5 +VTS,1,1,960,3.55,CSH,14 +VTS,1,1,540,2.05,CRD,8.5 +VTS,1,1,180,0.59,CRD,4.5 +VTS,1,1,180,0.59,CSH,4 +VTS,1,1,1200,3.41,CSH,15.5 +VTS,1,1,660,1.94,CRD,9 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,300,1.5,CRD,6.5 +VTS,1,1,720,1.66,CSH,9.5 +VTS,1,1,480,1.17,CRD,7 +VTS,1,1,480,1.07,CSH,7 +VTS,1,1,720,2.47,CRD,10.5 +VTS,1,1,840,2.9,CRD,12.5 +VTS,1,1,780,8.15,CRD,23 +VTS,1,1,480,1.48,CSH,8 +VTS,1,1,360,1.18,CSH,6 +VTS,1,1,360,1.12,CSH,6.5 +VTS,1,1,600,3.27,CRD,11.5 +VTS,1,1,540,0.88,CSH,7 +VTS,1,1,600,1.56,CRD,8 +VTS,1,1,660,0.78,CRD,7.5 +VTS,1,1,960,2.22,CSH,12.5 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,480,0.59,CRD,6.5 +VTS,1,1,720,1.57,CSH,9 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,120,0.48,CRD,3.5 +VTS,1,1,540,1.01,CSH,7 +VTS,1,1,900,1.89,CSH,11 +VTS,1,1,420,0.94,CRD,6 +VTS,1,1,600,2.29,CSH,10 +VTS,1,1,360,1.13,CSH,6 +VTS,1,1,240,0.85,CSH,5.5 +VTS,1,1,660,2.58,CSH,10 +VTS,1,1,660,1.56,CRD,9 +VTS,1,1,900,3.2,CSH,14 +VTS,1,1,540,0.86,CRD,6.5 +VTS,1,1,360,1.11,CRD,6 +VTS,1,1,1020,2.55,CRD,12.5 +CMT,1,1,1046,10.4,CRD,30 +CMT,1,1,503,1.5,CRD,8 +CMT,1,1,392,1.2,CSH,6.5 +CMT,1,1,656,2.1,CRD,10 +CMT,1,2,556,1.3,CRD,8 +CMT,1,1,692,1.3,CRD,9 +CMT,1,1,577,2.2,CSH,9.5 +CMT,1,1,585,1.2,CSH,8 +CMT,1,1,417,0.4,CSH,6 +CMT,1,1,1203,4.8,CSH,17.5 +CMT,1,1,856,3.9,CSH,14 +CMT,1,1,857,2,CRD,11 +CMT,1,1,286,1,CSH,6 +CMT,1,2,427,0.7,CSH,6.5 +CMT,1,2,362,1.6,CSH,7 +CMT,1,2,1727,15,CSH,42.5 +CMT,2,1,2777,16.9,CRD,52 +CMT,1,2,1055,3.1,CSH,13.5 +CMT,1,1,591,2.5,CRD,10 +CMT,1,2,628,1.6,CRD,8.5 +CMT,1,1,745,2.1,CRD,10.5 +CMT,1,1,484,2.5,CRD,9.5 +CMT,1,1,2099,6.9,CRD,26 +CMT,1,1,1250,9.2,CRD,27.5 +CMT,1,1,323,1,CRD,6 +CMT,1,1,437,1.1,CRD,6.5 +CMT,1,1,355,1.2,CRD,6.5 +CMT,1,1,564,1.3,CRD,8 +CMT,1,1,448,1.7,CRD,8 +CMT,1,1,225,0.9,CSH,5 +CMT,1,1,549,3,CRD,10.5 +CMT,1,1,758,2.2,CRD,11.5 +CMT,1,2,420,1.5,CRD,7.5 +CMT,1,2,522,1.5,CRD,8 +CMT,1,3,208,0.8,CSH,5 +CMT,1,1,225,1.2,CSH,5.5 +CMT,1,1,591,1.6,CSH,8.5 +CMT,1,1,1728,9.9,CRD,32.5 +CMT,1,1,868,9.8,CSH,27 +CMT,1,1,535,1.9,CRD,9 +CMT,1,3,249,0.9,CSH,5.5 +CMT,1,1,442,1.2,CSH,7 +CMT,1,1,974,9.2,CRD,26.5 +CMT,1,1,657,1.2,CRD,8 +CMT,2,1,1889,18.4,CRD,52 +CMT,1,1,833,2.9,CRD,12.5 +CMT,1,1,307,1.3,CRD,6.5 +CMT,1,1,1286,4.1,CSH,17 +CMT,1,1,639,2,CRD,9.5 +CMT,1,1,468,0.8,CRD,6.5 +CMT,1,1,714,2.1,CRD,10 +CMT,1,1,149,0.5,CRD,4 +CMT,1,1,551,2.6,CRD,10 +CMT,1,1,329,0.9,CRD,5.5 +CMT,1,1,926,2.8,CSH,12 +CMT,1,1,397,1.8,CSH,7.5 +CMT,1,1,362,0.9,CSH,6 +CMT,1,1,684,3.5,CSH,12.5 +CMT,1,2,262,0.4,CSH,4.5 +CMT,1,1,474,1.6,CRD,7.5 +CMT,1,4,910,1.9,CSH,11.5 +CMT,1,1,830,2.2,CRD,11 +CMT,1,1,802,1.8,CRD,10 +CMT,1,1,805,1.3,CRD,9.5 +CMT,1,1,382,1.3,CSH,6.5 +CMT,1,1,850,7.3,CRD,21.5 +CMT,1,1,340,2.4,CRD,9 +CMT,1,2,836,2.1,CSH,11.5 +CMT,1,2,626,1,CSH,7.5 +CMT,1,3,675,1,CSH,8 +CMT,1,1,308,1.1,CRD,6 +CMT,1,3,763,1.8,CSH,10 +CMT,1,1,726,1.9,CRD,10 +CMT,1,1,354,1.2,CRD,6 +CMT,1,1,146,0.6,CSH,4.5 +CMT,1,2,222,1.4,CRD,6 +CMT,1,2,333,1,CSH,6 +CMT,1,1,787,2.9,CRD,12 +CMT,1,1,76,0.2,CSH,3 +CMT,1,1,1546,1.2,CRD,15.5 +CMT,1,1,342,1.2,CSH,6.5 +CMT,1,1,692,3.3,CRD,12.5 +CMT,1,1,872,4.1,CRD,15.5 +CMT,1,3,917,5.5,CSH,18.5 +CMT,1,2,538,2,CSH,9 +CMT,1,1,1593,11.2,CRD,34 +CMT,1,1,1629,3.6,CRD,19 +CMT,1,1,580,1,CRD,7.5 +CMT,1,1,157,0.4,CSH,3.5 +CMT,1,1,355,1.4,CSH,6.5 +CMT,1,1,893,2.1,CSH,11.5 +CMT,1,1,778,2.1,CRD,10 +CMT,1,2,470,1.2,CRD,8 +CMT,1,1,415,1.5,CSH,8 +CMT,1,1,159,0.5,CSH,4 +CMT,1,1,613,2.2,CRD,10 +CMT,1,1,228,0.7,CSH,4.5 +CMT,1,1,543,2.4,CRD,9.5 +CMT,2,2,2318,16.6,CSH,52 +CMT,1,3,443,1.3,CSH,7 +CMT,1,1,985,2.9,CRD,13 +CMT,1,2,622,1.8,CRD,9 +CMT,1,1,443,1.3,CRD,7 +CMT,1,1,140,0.4,CSH,4 +CMT,1,3,702,1.9,CRD,10 +CMT,1,1,360,1.7,CRD,7 +CMT,1,1,536,1.8,CRD,8 +CMT,1,1,141,0.7,CRD,4 +CMT,1,2,760,2.5,CSH,11 +CMT,1,1,850,3,CRD,12.5 +CMT,1,1,579,0.8,CRD,7.5 +CMT,1,1,528,2.1,CRD,9 +CMT,1,1,914,5.8,CRD,19 +CMT,1,1,499,0.7,CRD,6.5 +CMT,1,1,150,0.7,CSH,4.5 +CMT,1,1,135,0.7,CRD,4.5 +CMT,1,2,413,1.4,CSH,7 +CMT,1,1,218,0.6,CRD,4.5 +CMT,1,1,980,3.2,CRD,14.5 +CMT,1,1,492,1.8,CSH,8 +CMT,1,2,436,1.1,CRD,6.5 +CMT,1,1,487,1.4,CRD,8 +CMT,1,1,916,4.1,CRD,14.5 +CMT,1,1,1150,2.9,CRD,14 +CMT,1,1,1063,2.4,CRD,13 +CMT,1,1,889,3.8,CRD,15 +CMT,1,1,977,4.3,CRD,15.5 +CMT,1,1,536,2,CRD,9 +CMT,1,1,405,1.5,CRD,7.5 +CMT,1,2,565,2.1,CSH,10 +CMT,1,1,592,1.4,CRD,9 +CMT,1,1,953,1.7,CRD,11.5 +CMT,1,1,500,1.1,CRD,7.5 +CMT,1,1,414,1,CRD,6.5 +CMT,1,1,267,1,CSH,5.5 +CMT,1,1,810,2.3,CSH,11.5 +CMT,2,1,1816,15.8,CSH,52 +CMT,1,2,1061,2.4,CSH,13 +CMT,1,2,623,1.7,CSH,9 +CMT,1,1,2251,17.6,CRD,50.5 +CMT,1,1,1052,2.8,CRD,14 +CMT,1,2,541,1.2,CRD,8 +CMT,1,1,507,1,CSH,7.5 +CMT,1,1,123,0.5,CSH,4 +CMT,1,1,317,0.8,CSH,5.5 +CMT,1,1,265,2.8,CSH,9.5 +CMT,1,1,367,0.9,CRD,6 +CMT,1,1,529,1.1,CRD,7.5 +CMT,1,2,1155,3.7,CSH,16 +CMT,1,1,900,3.3,CSH,13.5 +CMT,1,2,463,1.8,CSH,8 +CMT,1,1,593,1.5,CSH,8 +CMT,1,1,299,1,CRD,6 +CMT,2,2,3081,17.9,CSH,52 +CMT,1,2,870,4.8,CRD,17 +CMT,2,1,2025,17.4,CRD,52 +CMT,1,1,100,0.4,CSH,3.5 +CMT,1,1,129,0.6,CRD,4 +CMT,1,1,636,2.9,CSH,11 +CMT,1,1,1996,17.9,CRD,48.5 +CMT,2,2,2495,17.9,CRD,52 +CMT,1,1,840,1.7,CRD,10.5 +CMT,1,1,454,0.9,CSH,7 +CMT,1,2,863,3,CRD,13.5 +CMT,4,2,483,1.5,CSH,7.5 +CMT,1,1,492,2.1,CRD,9 +CMT,1,1,468,0.6,CRD,6.5 +CMT,1,2,467,1.5,CRD,7.5 +CMT,1,2,612,2.7,CRD,11 +CMT,1,2,291,0.7,CSH,5 +CMT,1,1,2136,14.5,CSH,43 +CMT,1,1,350,1,CRD,6 +CMT,1,2,806,1.9,CSH,10.5 +CMT,1,1,154,0.4,CSH,4 +CMT,1,2,244,0.7,CSH,5 +CMT,1,2,973,1.9,CSH,11.5 +CMT,1,2,721,3.4,CSH,12 +CMT,1,1,815,1.9,CSH,10.5 +CMT,1,1,618,1.9,CSH,9 +CMT,1,1,71,0.2,CSH,3 +CMT,1,1,197,1,CSH,5 +CMT,1,1,188,0.9,CSH,5 +CMT,2,1,2486,17.7,CRD,52 +CMT,1,3,675,1.4,CRD,9 +CMT,1,1,800,4.8,CSH,16 +CMT,1,2,962,5,CSH,17.5 +CMT,1,2,365,1.2,CRD,6.5 +CMT,1,4,416,1.1,CSH,7 +CMT,1,1,295,1.6,CSH,6.5 +CMT,1,1,394,1.1,CRD,6.5 +CMT,1,1,473,1.5,CRD,7.5 +CMT,1,1,1069,6.1,CRD,20 +CMT,1,1,733,0.7,CRD,9 +CMT,1,1,105,0.6,CRD,4 +CMT,1,1,701,2.2,CSH,10 +CMT,1,1,643,1.9,CRD,9.5 +CMT,1,1,589,2.2,CRD,10 +CMT,2,1,2720,20.8,CRD,52 +CMT,1,1,835,8,CRD,23.5 +CMT,1,2,2077,6.6,CRD,27 +CMT,1,1,248,0.8,CRD,5 +CMT,1,1,646,1.5,CRD,9 +CMT,1,1,889,2.1,CRD,11.5 +CMT,1,1,617,1.4,CRD,8.5 +CMT,1,1,543,1.5,CRD,8 +CMT,1,1,489,1.3,CSH,7.5 +CMT,1,1,410,1.2,CSH,7 +CMT,1,1,574,0.9,CSH,7.5 +CMT,1,1,1987,21.2,CRD,56 +CMT,1,1,1421,9.1,CRD,28.5 +CMT,1,4,1000,6.4,CRD,20.5 +CMT,1,1,2142,4.6,CRD,23.5 +CMT,5,2,1547,6.3,CRD,50 +CMT,1,3,491,2.3,CRD,9.5 +CMT,1,1,968,2.9,CSH,12.5 +CMT,1,2,222,0.7,CSH,4.5 +CMT,1,1,911,2.4,CRD,12.5 +CMT,1,2,373,0.4,CRD,5.5 +CMT,1,1,169,1,CRD,5.5 +CMT,1,2,1053,3.8,CRD,16 +CMT,1,1,314,1,CRD,6 +CMT,1,3,559,1.7,CSH,8.5 +CMT,1,1,342,0.9,CSH,6 +CMT,1,1,309,0.8,CSH,5.5 +CMT,1,2,631,1.8,CSH,9.5 +CMT,1,3,860,2.3,CRD,11.5 +CMT,1,1,232,0.9,CSH,5.5 +CMT,1,1,182,1.2,CSH,5.5 +CMT,1,3,627,2.4,CSH,10.5 +CMT,1,1,740,1.5,CRD,9.5 +CMT,1,1,337,2.1,CSH,8 +CMT,1,1,188,0.5,CSH,4.5 +CMT,1,2,174,0.9,CSH,5 +CMT,5,1,1889,13,CRD,81.75 +CMT,1,1,182,0.9,CRD,5 +CMT,1,1,255,0.6,CSH,5 +CMT,1,2,1457,11.5,CSH,34 +CMT,1,1,117,0.4,CSH,3.5 +CMT,1,1,811,2.2,CSH,11.5 +CMT,1,2,875,5.3,CRD,18.5 +CMT,1,1,532,1.3,CSH,7.5 +CMT,1,1,319,1.5,CRD,6.5 +CMT,1,1,1090,7.4,CSH,23.5 +CMT,1,1,1098,6,CSH,20.5 +CMT,1,1,199,0.5,CSH,4.5 +CMT,1,1,238,1.4,CRD,6 +CMT,1,1,212,0.7,CSH,4.5 +CMT,1,1,408,1.1,CSH,6.5 +CMT,1,1,582,1.2,CRD,8 +CMT,1,1,308,1.1,CSH,6.5 +CMT,1,1,828,2.3,CSH,11.5 +CMT,1,2,283,0.4,CRD,5 +CMT,1,1,320,2.2,CSH,8.5 +CMT,1,1,272,0.9,CSH,5.5 +CMT,1,1,296,1.2,CSH,6 +CMT,2,1,1464,16.5,CSH,52 +CMT,1,2,259,0.8,CRD,5 +CMT,1,1,1407,9.3,CRD,28.5 +CMT,1,2,613,2,CSH,9.5 +CMT,1,1,598,1.4,CRD,8.5 +CMT,1,1,485,2,CRD,9 +CMT,1,1,1060,7,CRD,22.5 +CMT,1,1,314,1.7,CRD,7.5 +CMT,1,4,428,1.3,CSH,7 +CMT,1,2,795,2.6,CSH,10.5 +CMT,1,1,976,1.8,CSH,11 +CMT,1,1,194,0.6,CSH,4.5 +CMT,1,1,311,0.7,CSH,5.5 +CMT,1,1,336,0.8,CSH,5.5 +CMT,1,1,211,0.7,CSH,4.5 +CMT,2,1,1750,17.5,CSH,52 +CMT,1,1,1261,4.2,CRD,17 +CMT,1,3,222,0.9,CRD,5 +CMT,1,3,220,0.9,CSH,5 +CMT,1,1,583,3.3,CRD,12 +CMT,1,1,92,0.3,CSH,3.5 +CMT,1,2,160,1.1,CSH,5 +CMT,1,1,379,2,CSH,8 +CMT,1,1,935,2.1,CRD,12 +CMT,1,1,501,0.9,CRD,7 +CMT,1,1,230,0.7,CSH,5 +CMT,1,1,887,1.8,CRD,11 +CMT,1,1,146,0.8,CRD,4.5 +CMT,1,1,1021,2.4,CSH,13 +CMT,1,2,203,0.7,CRD,4.5 +CMT,1,2,396,0.9,CSH,6.5 +CMT,1,4,745,3.6,CSH,12.5 +CMT,1,1,1425,4.7,CRD,19 +CMT,1,1,1530,5.3,CSH,21 +CMT,1,1,607,1.6,CRD,9 +CMT,1,1,364,0.9,CSH,6 +CMT,1,2,408,1.3,CSH,7 +CMT,1,3,619,1.1,CSH,6.5 +CMT,1,1,139,0.7,CSH,4 +CMT,1,1,858,2.4,CRD,11.5 +CMT,1,1,325,1.6,CRD,7 +CMT,2,2,1613,17.4,CRD,52 +CMT,1,1,204,0.7,CSH,4.5 +CMT,1,1,558,1.3,CRD,7.5 +CMT,1,1,452,0.7,CRD,6.5 +CMT,1,1,24,0.1,CSH,2.5 +CMT,1,1,818,6.1,CSH,18 +CMT,1,1,579,3.1,CRD,12 +CMT,1,1,85,0.5,CSH,3.5 +CMT,1,2,643,1.7,CSH,9 +CMT,1,1,409,3,CRD,10 +CMT,1,1,547,2.8,CRD,10.5 +CMT,1,1,312,0.7,CRD,5.5 +CMT,1,1,753,1.3,CSH,9.5 +CMT,1,1,438,1.3,CRD,7.5 +CMT,1,2,457,0.5,CSH,6.5 +CMT,1,1,1215,10.7,CRD,31 +CMT,1,1,241,1.2,CSH,6 +CMT,1,1,806,3.7,CRD,14 +CMT,1,1,801,2.3,CSH,11.5 +CMT,1,1,1065,3.3,CRD,14.5 +CMT,1,1,482,1.1,CSH,7 +CMT,1,1,409,1.6,CSH,7.5 +CMT,1,1,671,2.4,CSH,10.5 +CMT,1,2,176,0.4,CSH,4 +CMT,1,3,637,2.2,CRD,10 +CMT,1,1,736,2.3,CSH,11 +CMT,1,1,123,0.6,CSH,4 +CMT,1,1,200,0.9,CSH,5 +CMT,1,1,287,1,CRD,5.5 +CMT,1,1,1125,2,CRD,13 +CMT,1,1,337,1.5,CSH,6.5 +CMT,1,2,581,1.8,CRD,9 +CMT,1,1,381,1.4,CSH,7.5 +CMT,1,1,340,1.6,CSH,7.5 +CMT,1,1,1186,4.1,CRD,16.5 +CMT,1,2,1971,11.7,CRD,36.5 +CMT,1,1,318,0.9,CSH,5.5 +CMT,1,1,466,0.6,CSH,6.5 +CMT,1,1,737,1.7,CSH,10 +CMT,1,1,148,0.3,CSH,4 +CMT,2,2,2028,16.9,CRD,52 +CMT,1,1,475,1,CRD,7 +CMT,1,2,537,1.8,CSH,8.5 +CMT,1,1,1162,3.4,CRD,15 +CMT,1,1,832,1.1,CRD,9.5 +CMT,1,1,226,0.9,CRD,5 +CMT,1,1,571,1.1,CSH,8 +CMT,1,1,434,1.1,CSH,7 +CMT,1,1,557,1.1,CRD,7.5 +CMT,1,2,261,0.6,CRD,5 +CMT,1,1,404,0.8,CRD,6 +CMT,1,2,797,1.5,CSH,10 +CMT,1,1,1087,4.5,CSH,16.5 +CMT,1,4,602,1.6,CRD,9 +CMT,1,1,304,0.6,CRD,5.5 +CMT,1,1,746,2.2,CRD,10.5 +CMT,1,1,326,2.3,CSH,8 +CMT,1,1,1098,2.1,CRD,12.5 +CMT,1,1,1181,2.1,CRD,13.5 +CMT,1,1,414,0.7,CSH,6 +CMT,1,1,312,0.5,CSH,5 +CMT,1,1,1663,10.6,CRD,32 +CMT,1,1,435,3.3,CRD,12 +CMT,1,2,1719,10.2,CSH,32 +CMT,1,1,171,1.1,CRD,5.5 +CMT,1,2,253,0.8,CRD,5.5 +CMT,1,2,873,2.9,CSH,13 +CMT,1,1,1200,6.6,CRD,22.5 +CMT,1,1,1171,11.7,CRD,33.5 +CMT,1,2,445,0.8,CRD,6.5 +CMT,1,1,647,2.4,CRD,10.5 +CMT,1,1,572,2.3,CRD,10 +CMT,1,1,394,1.6,CRD,7.5 +CMT,1,1,2018,11.7,CRD,38.5 +CMT,1,1,513,1.6,CSH,8 +CMT,1,2,1158,10.1,CRD,30 +CMT,1,1,946,9.5,CRD,26 +CMT,1,1,679,3.6,CSH,12.5 +CMT,1,1,678,1.9,CRD,9.5 +CMT,1,3,192,0.6,CSH,4 +CMT,1,1,162,1.2,CSH,5.5 +CMT,1,1,105,0.4,CSH,3.5 +CMT,1,1,1076,6.1,CRD,20 +CMT,1,1,824,4.4,CSH,15 +CMT,1,4,558,1.5,CRD,8 +CMT,1,4,408,0.8,CSH,6 +CMT,1,2,1019,5.2,CRD,18 +CMT,1,1,515,3.6,CSH,11.5 +CMT,1,2,729,4.2,CSH,14 +CMT,1,1,441,1.5,CSH,7.5 +CMT,1,2,387,1.3,CSH,7 +CMT,1,2,1080,4.6,CSH,17.5 +CMT,1,1,984,4.5,CSH,17 +CMT,1,1,454,1.5,CSH,8 +CMT,1,3,1191,3.2,CSH,14.5 +CMT,1,1,794,1.9,CRD,10.5 +CMT,1,1,354,1.1,CRD,6 +CMT,1,2,714,1.5,CRD,9.5 +CMT,1,3,622,2.7,CSH,10.5 +CMT,1,1,399,2.4,CRD,9 +CMT,1,2,454,3.3,CSH,11 +CMT,1,2,1370,10.5,CRD,30.5 +CMT,1,1,1123,5.6,CSH,19.5 +CMT,1,2,630,2.4,CSH,11 +CMT,1,3,398,1.9,CRD,8 +CMT,1,1,755,3.9,CRD,13.5 +CMT,1,2,690,2.2,CRD,10.5 +CMT,1,1,217,0.8,CSH,5 +CMT,1,1,1067,3.1,CRD,14 +CMT,1,1,683,1.4,CRD,9 +CMT,1,2,291,0.5,CSH,5 +CMT,1,1,304,1.1,CRD,6 +CMT,1,1,380,0.6,CSH,5.5 +CMT,1,1,196,0.8,CRD,5 +CMT,1,1,774,2.6,CSH,12 +CMT,1,1,1204,5.2,CSH,18.5 +CMT,1,4,288,0.8,CRD,5 +CMT,1,1,466,1.4,CSH,7.5 +CMT,1,1,868,1.8,CSH,11 +CMT,1,2,369,1.2,CSH,6.5 +CMT,1,2,903,3.7,CSH,14.5 +CMT,1,2,1260,6.4,CSH,21 +CMT,1,1,135,0.4,CRD,4 +CMT,1,1,1448,10.9,CSH,31.5 +CMT,1,1,1112,9.5,CSH,28 +CMT,1,1,1530,7.2,CSH,23.5 +CMT,1,2,1143,4.3,CRD,16.5 +CMT,1,2,523,3.3,CSH,11 +CMT,1,1,90,0.5,CRD,3.5 +CMT,1,1,510,2.2,CSH,9 +CMT,1,1,173,0.7,CSH,4.5 +CMT,1,1,957,8.7,CSH,25 +CMT,1,1,225,1,CSH,5 +CMT,1,1,719,3.6,CRD,13 +CMT,1,2,550,1.5,CSH,8.5 +CMT,1,1,360,1,CSH,6 +CMT,1,2,552,1.1,CSH,7.5 +CMT,1,1,1020,2.1,CRD,12.5 +CMT,1,2,841,2.3,CRD,11 +CMT,1,1,1017,2.3,CSH,12.5 +CMT,1,1,1068,3.7,CRD,15.5 +CMT,1,1,387,0.9,CSH,6 +CMT,1,1,368,1.1,CRD,6.5 +CMT,1,1,318,0.4,CSH,5 +CMT,1,1,163,0.8,CRD,4.5 +CMT,1,1,1222,4.4,CRD,17 +CMT,1,1,679,0.7,CRD,8 +CMT,1,1,1120,3.7,CRD,15 +CMT,1,1,308,0.9,CSH,5.5 +CMT,1,4,843,4.8,CSH,16 +CMT,1,2,943,3.4,CRD,14 +CMT,1,2,249,0.6,CSH,5 +CMT,1,3,283,0.6,CRD,5 +CMT,1,1,555,3,CSH,11 +CMT,1,1,364,1.5,CRD,7 +CMT,1,1,904,5.4,CSH,18 +CMT,1,1,750,3.1,CRD,12 +CMT,1,2,215,0.9,CSH,5 +CMT,1,4,1146,10.4,CRD,30.5 +CMT,1,1,127,0.3,CRD,3.5 +CMT,1,1,596,2.4,CRD,9.5 +CMT,1,1,129,0.2,CSH,3.5 +CMT,1,1,1189,2.5,CRD,14 +CMT,1,1,1025,3.8,CRD,15.5 +CMT,1,1,923,5.7,CRD,19 +CMT,1,1,432,2.1,CRD,8.5 +CMT,1,1,290,0.9,CRD,5.5 +CMT,1,1,110,0.3,CSH,3.5 +CMT,1,1,1463,5.8,CSH,21.5 +CMT,1,2,1077,2.7,CSH,13 +CMT,1,3,610,3.4,CSH,12 +CMT,1,1,599,2.4,CRD,10 +CMT,1,1,866,8,CSH,23.5 +CMT,1,1,293,1.4,CRD,6.5 +CMT,1,2,547,2.6,CSH,10 +CMT,1,1,1518,6.8,CSH,24 +CMT,1,3,328,0.7,CRD,5.5 +CMT,1,1,233,1.4,CSH,6 +CMT,1,1,231,0.9,CSH,5.5 +CMT,1,1,758,3.9,CSH,14 +CMT,1,2,969,4.1,CRD,15.5 +CMT,1,1,1168,9.1,CRD,26.5 +CMT,1,2,639,1.5,CRD,9 +CMT,1,1,467,1.9,CRD,8 +CMT,1,1,337,1.3,CRD,6.5 +CMT,1,1,121,0.8,CRD,4.5 +CMT,1,1,724,1.9,CRD,10 +CMT,1,2,444,1.1,CSH,7 +CMT,1,1,665,0.8,CRD,8 +CMT,1,1,586,1,CSH,7.5 +CMT,1,1,455,2.4,CSH,9.5 +CMT,1,2,386,2.5,CSH,8.5 +CMT,1,1,508,2.1,CRD,9 +CMT,1,1,299,0.8,CSH,6 +CMT,1,3,787,4,CRD,14.5 +CMT,1,2,217,0.7,CSH,4.5 +CMT,1,1,522,1.4,CSH,8 +CMT,1,1,720,5.2,CSH,17 +CMT,1,1,1231,3.3,CRD,15.5 +CMT,1,1,540,1.6,CSH,8.5 +CMT,1,1,1458,13.3,CRD,37.5 +CMT,1,1,1063,0.9,CRD,11.5 +CMT,1,1,844,2.1,CRD,11 +CMT,1,1,86,0.4,CRD,3.5 +CMT,1,2,1696,14.4,CSH,39.5 +CMT,1,1,173,1.4,CRD,6 +CMT,1,1,249,1,CRD,5.5 +CMT,1,1,195,0.5,CSH,4.5 +CMT,1,2,781,2.2,CSH,10.5 +CMT,1,1,925,2.1,CRD,11.5 +CMT,1,2,325,0.7,CRD,5.5 +CMT,1,1,697,0.8,CSH,8 +CMT,1,1,302,1.4,CRD,6.5 +CMT,1,1,121,0.7,CRD,4.5 +CMT,1,2,407,1,CSH,6.5 +CMT,1,1,234,1,CSH,5.5 +CMT,1,1,136,0.4,CSH,4 +CMT,1,1,443,1.7,CSH,8 +CMT,1,1,158,0.5,CRD,4 +CMT,1,2,570,1.7,CSH,8.5 +CMT,1,1,411,1.6,CRD,7.5 +CMT,1,2,942,8.4,CSH,24.5 +CMT,1,1,154,0.3,CSH,4 +CMT,1,1,154,1.2,CRD,5.5 +CMT,1,2,171,0.5,CRD,4 +CMT,1,1,243,1.3,CSH,6 +CMT,1,2,1368,3.7,CSH,17.5 +CMT,1,1,1210,5,CSH,18.5 +CMT,1,2,1403,5.4,CSH,20.5 +CMT,1,2,689,2.2,CSH,10.5 +CMT,1,1,831,9.7,CRD,27 +CMT,1,1,633,3,CSH,12 +CMT,1,3,552,4.1,CSH,13.5 +CMT,1,1,1428,10.7,CRD,32 +CMT,1,1,370,1.3,CRD,6.5 +CMT,1,1,1261,3.9,CRD,17 +CMT,1,1,619,7.5,CRD,21.5 +CMT,1,1,391,1.5,CSH,7 +CMT,1,1,938,2.7,CRD,13 +CMT,1,1,1572,8.8,CSH,26.5 +CMT,1,1,505,1.9,CRD,8.5 +CMT,1,1,150,0.5,CRD,4 +CMT,1,1,337,2.1,CRD,8 +CMT,1,1,450,1.8,CRD,8 +CMT,1,1,210,0.6,CRD,5 +CMT,1,2,520,2.3,CSH,9.5 +CMT,1,1,506,1.2,CSH,7.5 +CMT,1,1,1339,3.1,CRD,16.5 +CMT,1,1,1160,2.6,CSH,14 +CMT,1,1,470,1.8,CRD,8 +CMT,1,1,1822,5.6,CRD,23 +CMT,1,1,1355,3.5,CRD,16.5 +CMT,1,1,621,1.7,CRD,9 +CMT,1,2,793,2.4,CRD,11 +CMT,1,2,344,1,CSH,6.5 +CMT,1,1,1153,5.8,CRD,20.5 +CMT,1,2,512,2.5,CSH,10 +CMT,1,3,834,2.5,CSH,11.5 +CMT,1,1,113,0.5,CRD,4 +CMT,1,1,340,2.1,CSH,8 +CMT,1,1,507,2.6,CSH,10 +CMT,1,1,313,1.5,CRD,6.5 +CMT,1,1,211,0.6,CRD,4.5 +CMT,1,1,722,1.5,CRD,9.5 +CMT,1,1,2084,12.4,CRD,39 +CMT,1,1,628,4.3,CSH,15 +CMT,1,1,722,2.2,CSH,10.5 +CMT,1,2,334,1.9,CSH,7.5 +CMT,1,1,214,0.9,CSH,5 +CMT,1,2,412,2.2,CSH,8.5 +CMT,1,2,1130,5.6,CRD,19 +CMT,1,1,763,2.1,CSH,11 +CMT,1,1,228,0.7,CSH,5 +CMT,1,1,569,2.3,CSH,9.5 +CMT,1,1,587,2.9,CSH,11.5 +CMT,1,1,856,5.5,CSH,17.5 +CMT,1,3,1099,5.1,CRD,17 +CMT,1,1,491,2,CRD,9 +CMT,1,4,1448,11.6,CRD,34.5 +CMT,1,3,364,2.3,CSH,9 +CMT,1,1,667,3,CRD,11.5 +CMT,1,2,1018,10,CRD,28 +CMT,1,2,731,4,CSH,14 +CMT,1,3,752,4,CRD,15 +CMT,1,1,841,4.5,CSH,15.5 +CMT,1,1,1909,24.9,CRD,65.5 +CMT,1,1,437,2.8,CRD,10 +CMT,1,1,781,5.4,CSH,16.5 +CMT,1,4,666,2.5,CRD,10.5 +CMT,1,1,131,0.2,CSH,3.5 +CMT,1,2,947,3.7,CSH,14.5 +CMT,1,2,287,0.8,CSH,5 +CMT,1,1,373,1.2,CRD,7 +CMT,1,1,932,9.2,CRD,26.5 +CMT,1,1,698,1.5,CRD,9 +CMT,1,1,424,1.6,CRD,7.5 +CMT,1,1,440,0.4,CRD,6 +CMT,1,1,865,2.8,CSH,12 +CMT,1,1,1634,7.7,CSH,25 +CMT,1,1,670,1.8,CSH,9 +CMT,1,1,700,4.6,CSH,15.5 +CMT,1,2,356,0.9,CSH,6 +CMT,1,2,457,0.8,CSH,6.5 +CMT,1,2,774,2.7,CRD,12 +CMT,1,2,417,1.3,CSH,7 +CMT,1,2,290,1.2,CSH,6 +CMT,1,1,116,0.3,CSH,3.5 +CMT,1,1,576,2,CRD,9 +CMT,1,1,806,9.1,CSH,25.5 +CMT,1,1,775,3.6,CRD,13.5 +CMT,1,1,815,8.7,CSH,24.5 +CMT,1,1,662,2.4,CSH,10.5 +CMT,1,1,817,3.3,CRD,12 +CMT,1,1,664,4,CSH,13.5 +CMT,1,1,724,3,CRD,12.5 +CMT,1,1,112,0.5,CSH,4 +CMT,1,4,173,0.4,CSH,4 +CMT,1,1,1035,4.3,CRD,16 +CMT,1,2,1315,7.8,CSH,24.5 +CMT,1,1,302,1.3,CSH,6.5 +CMT,1,2,993,8.7,CRD,25.5 +CMT,1,2,190,0.3,CSH,3.5 +CMT,1,1,962,8.7,CSH,25 +CMT,1,2,180,0.7,CRD,4.5 +CMT,1,1,556,3.5,CRD,12 +CMT,3,2,1455,17.7,CRD,64.5 +CMT,1,1,439,1.9,CSH,8.5 +CMT,1,1,754,3.3,CRD,12 +CMT,1,1,276,0.8,CSH,5.5 +CMT,1,1,420,1.5,CSH,7 +CMT,1,2,449,0.9,CSH,6.5 +CMT,1,2,1253,10,CSH,29.5 +CMT,1,1,291,0.5,CSH,5 +CMT,1,2,392,0.7,CSH,6 +CMT,1,1,264,0.5,CSH,5 +CMT,1,1,1920,8.5,CRD,29.5 +CMT,1,1,381,1.1,CSH,6.5 +CMT,1,1,1118,4.2,CRD,16 +CMT,1,1,940,2.5,CRD,12 +CMT,1,2,533,2.5,CRD,9.5 +CMT,1,2,486,4.9,CRD,15 +CMT,1,1,1135,4.3,CSH,17 +CMT,1,4,1309,8.3,CSH,26 +CMT,1,1,817,8.4,CRD,24 +CMT,1,1,293,1.5,CRD,7 +CMT,1,1,422,1.6,CSH,8 +CMT,1,3,318,0.9,CSH,6 +CMT,2,3,1855,18.4,CSH,52 +CMT,1,1,754,3.5,CSH,13.5 +CMT,1,1,953,6,CSH,18.5 +CMT,1,1,494,2.4,CSH,9.5 +CMT,1,1,965,6.9,CRD,20.5 +CMT,1,3,1245,6.5,CSH,21.5 +CMT,1,1,185,0.6,CRD,4.5 +CMT,1,1,1088,9.3,CRD,27.5 +CMT,1,2,380,1.3,CRD,6.5 +CMT,1,1,573,1.2,CSH,8 +CMT,1,1,859,4.7,CSH,17 +CMT,1,4,221,0.9,CSH,5 +CMT,1,2,542,0.7,CSH,7 +CMT,1,1,166,1,CSH,5 +CMT,1,4,387,1.5,CSH,7.5 +CMT,1,1,448,1.4,CSH,7.5 +CMT,1,2,297,0.9,CSH,5.5 +CMT,1,1,325,0.7,CRD,5.5 +CMT,1,1,1197,4,CRD,16.5 +CMT,1,2,682,3.1,CSH,12 +CMT,1,1,454,2.3,CRD,9.5 +CMT,1,4,294,0.6,CRD,5 +CMT,1,1,440,1.9,CRD,8 +CMT,1,3,975,2.8,CRD,13 +CMT,1,2,284,2.5,CSH,8.5 +CMT,1,1,312,1.3,CSH,6.5 +CMT,1,2,301,1.2,CSH,6 +CMT,1,2,557,1.9,CSH,8.5 +CMT,1,1,314,0.7,CRD,5.5 +CMT,1,1,1098,10.5,CRD,30 +CMT,1,1,1272,8.8,CSH,27 +CMT,1,1,746,2.4,CSH,11.5 +CMT,1,1,1100,3,CRD,13.5 +CMT,1,1,1332,9.8,CRD,29 +CMT,1,1,675,4.6,CSH,15 +CMT,1,1,245,0.9,CRD,5 +CMT,1,2,265,0.7,CSH,5 +CMT,1,2,279,0.5,CSH,4.5 +CMT,1,1,2062,8.2,CRD,29.5 +CMT,1,1,1796,9,CRD,30 +CMT,1,2,741,1,CSH,9 +CMT,1,1,2205,9.4,CRD,33 +CMT,1,1,872,8,CSH,23.5 +CMT,1,2,377,1.3,CSH,7 +CMT,1,2,498,0.8,CRD,7 +CMT,1,1,585,4,CRD,13.5 +CMT,1,2,1106,4.6,CSH,17 +CMT,1,2,648,1.7,CRD,9 +CMT,1,1,1051,4.9,CSH,18 +CMT,1,2,267,1.3,CSH,6 +CMT,1,1,678,3.5,CRD,12.5 +CMT,2,2,1318,17.1,CSH,52 +CMT,1,2,827,3.5,CSH,13.5 +CMT,1,2,190,1,CSH,5 +CMT,1,1,674,2.6,CRD,10.5 +CMT,1,2,305,1.2,CSH,6 +CMT,1,1,1080,9.4,CRD,27 +CMT,1,1,319,0.6,CSH,5.5 +CMT,1,3,807,4.5,CSH,15.5 +CMT,1,2,931,3.8,CSH,14 +CMT,2,3,1988,17.4,CSH,52 +CMT,1,2,701,3.1,CSH,12 +CMT,1,2,698,2.5,CSH,11 +CMT,1,1,1380,10.4,CSH,31 +CMT,1,1,886,2.7,CRD,12 +CMT,1,1,1745,13.5,CRD,39.5 +CMT,1,1,846,4.3,CSH,15.5 +CMT,1,1,823,3.5,CRD,14 +CMT,1,1,346,0.9,CRD,6 +CMT,1,1,543,1.5,CRD,8 +CMT,1,1,1149,5.5,CSH,19.5 +CMT,1,1,181,1.1,CRD,5.5 +CMT,1,1,88,0.2,CSH,3.5 +CMT,1,1,295,0.6,CRD,5.5 +CMT,1,2,608,2.3,CRD,10 +CMT,1,2,319,1.1,CRD,6 +CMT,1,3,852,4.3,CSH,15.5 +CMT,1,1,443,0.8,CRD,6.5 +CMT,1,1,288,0.9,CSH,5.5 +CMT,1,1,612,1.2,CRD,8 +CMT,1,2,1281,12.4,CRD,35.5 +CMT,1,1,390,1,CRD,6.5 +CMT,1,2,346,1.2,CSH,6.5 +CMT,1,1,267,0.7,CRD,5 +CMT,1,2,944,2,CRD,11.5 +CMT,1,2,405,0.9,CSH,6.5 +CMT,1,2,307,0.8,CSH,5.5 +CMT,1,1,1021,6.9,CSH,22 +CMT,1,2,1152,4.7,CRD,17 +CMT,1,2,749,1.2,CSH,9 +CMT,1,1,857,1.6,CSH,11 +CMT,1,1,276,1.3,CRD,6 +CMT,1,1,931,4,CSH,15.5 +CMT,1,1,165,0.8,CSH,4.5 +CMT,1,1,706,3.2,CRD,12.5 +CMT,1,1,1123,6.6,CRD,21.5 +CMT,1,2,369,1.6,CSH,7.5 +CMT,1,1,527,1.7,CSH,8.5 +CMT,1,1,336,1.1,CRD,6 +CMT,2,2,3284,17.4,CSH,52 +CMT,1,1,143,0.6,CSH,4 +CMT,1,1,878,2.4,CRD,11.5 +CMT,1,2,1144,4.8,CSH,17.5 +CMT,1,2,1818,15.7,CRD,43.5 +CMT,1,1,188,0.5,CSH,4.5 +CMT,1,1,132,0.5,CRD,4 +CMT,1,2,1175,7.2,CRD,23 +CMT,1,1,1388,3.4,CSH,16.5 +CMT,1,2,676,1.6,CSH,9 +CMT,1,1,318,0.9,CSH,5.5 +CMT,1,1,1737,10.7,CRD,34 +CMT,1,1,1331,8.8,CRD,27 +CMT,1,1,348,0.8,CSH,6 +CMT,1,2,1547,11.2,CSH,33.5 +CMT,1,2,1641,7.9,CRD,27.5 +CMT,1,1,983,9.3,CRD,26.5 +CMT,1,1,442,0.7,CRD,6.5 +CMT,1,1,2151,11.5,CSH,35.5 +CMT,1,1,422,1.2,CSH,7 +CMT,1,1,1260,5.5,CSH,20 +CMT,1,2,564,2,CSH,9 +CMT,1,1,470,1,CSH,7 +CMT,1,1,896,3.3,CSH,13.5 +CMT,1,1,538,1.7,CRD,8.5 +CMT,1,2,772,2.7,CSH,11.5 +CMT,1,1,935,6.1,CRD,20 +CMT,1,1,1888,9.9,CSH,32 +CMT,1,1,312,1.2,CSH,6 +CMT,1,1,580,5.2,CRD,16 +CMT,1,1,869,2.1,CRD,11 +CMT,1,1,399,0.6,CSH,6 +CMT,1,2,264,0.7,CSH,5 +CMT,1,1,1566,12,CSH,34.5 +CMT,1,1,1095,3.1,CRD,14 +CMT,1,2,1178,5.1,CRD,18 +CMT,1,2,261,1.3,CSH,6 +CMT,1,2,287,1.1,CRD,6 +CMT,1,3,1047,7.4,CRD,23 +CMT,2,2,2021,18.4,CSH,52 +CMT,1,1,563,5.6,CSH,16.5 +CMT,1,1,265,2,CRD,7 +CMT,1,1,494,1.9,CRD,8.5 +CMT,1,1,193,1.2,CSH,5.5 +CMT,1,1,1296,7.7,CRD,24 +CMT,1,1,344,1,CSH,6 +CMT,1,1,843,1.1,CSH,9.5 +CMT,1,1,668,2.8,CRD,11 +CMT,1,2,1847,8.9,CRD,29.5 +CMT,1,1,527,1.9,CSH,8.5 +CMT,1,2,714,2.5,CSH,12 +CMT,1,1,539,3.3,CSH,11.5 +CMT,1,1,715,7.8,CRD,22.5 +CMT,1,2,456,1.6,CRD,7.5 +CMT,1,1,1064,2.9,CRD,13.5 +CMT,1,4,412,1.1,CSH,6.5 +CMT,1,2,663,3.1,CSH,11.5 +CMT,1,1,589,2.1,CRD,9.5 +CMT,1,2,1655,10.2,CSH,32.5 +CMT,1,1,208,1,CRD,5.5 +CMT,1,1,366,2.7,CRD,9 +CMT,1,2,499,2.8,CSH,10.5 +CMT,1,1,1648,11.6,CSH,35.5 +CMT,1,1,282,1.1,CRD,6 +CMT,1,1,291,1.1,CRD,6 +CMT,1,1,672,3.5,CSH,12.5 +CMT,1,1,529,1.6,CRD,8 +CMT,1,1,1344,15.1,CRD,40.5 +CMT,1,1,1067,8.9,CRD,26 +CMT,1,1,429,1.3,CSH,7 +CMT,1,1,752,1.5,CSH,10 +CMT,1,1,633,1.4,CSH,8.5 +CMT,1,1,1314,6.7,CRD,22 +CMT,1,1,313,0.8,CSH,5.5 +CMT,1,1,1348,5.1,CRD,19.5 +CMT,1,1,363,1.1,CRD,6.5 +CMT,1,3,679,2.8,CSH,11 +CMT,1,1,1025,4.6,CRD,17 +CMT,1,2,1442,5.6,CRD,20.5 +CMT,1,2,615,2.4,CSH,10.5 +CMT,1,3,349,1.5,CSH,7 +CMT,1,3,612,3,CSH,11.5 +CMT,1,1,1039,9.5,CRD,27.5 +CMT,1,1,297,1.9,CRD,7 +CMT,1,2,1502,6.9,CSH,24 +CMT,2,1,1736,18.1,CRD,52 +CMT,1,3,830,2,CRD,11 +CMT,1,2,373,2.5,CRD,9 +CMT,1,1,1419,15.6,CSH,43 +CMT,1,2,1706,9.4,CSH,31 +CMT,1,2,1155,5.1,CSH,18.5 +CMT,1,1,1036,5.5,CSH,18.5 +CMT,1,1,279,1,CRD,6 +CMT,1,1,248,0.8,CRD,5 +CMT,1,2,670,2,CSH,10 +CMT,1,1,688,2.3,CRD,10.5 +CMT,1,1,1005,5.5,CSH,18.5 +CMT,1,1,362,1.3,CSH,6.5 +CMT,1,1,384,2,CRD,8 +CMT,1,1,74,0.5,CSH,3.5 +CMT,1,1,704,4,CRD,14 +CMT,1,1,589,2.4,CSH,10 +CMT,1,1,1187,7,CRD,23.5 +CMT,1,1,731,3.2,CRD,12 +CMT,1,1,526,1.8,CRD,8.5 +CMT,1,2,1098,3,CSH,14.5 +CMT,1,1,880,2.6,CRD,12 +CMT,1,1,1362,9.4,CRD,28 +CMT,1,3,1450,7.2,CSH,24 +CMT,1,1,831,6.9,CRD,20 +CMT,1,1,1528,7.9,CRD,26 +CMT,1,1,291,0.9,CRD,5.5 +CMT,1,1,373,1.7,CRD,7.5 +CMT,1,2,409,1,CSH,6.5 +CMT,1,1,429,0.8,CRD,6 +CMT,1,1,568,2.1,CSH,9 +CMT,1,1,1077,4.7,CSH,2.5 +CMT,1,1,301,0.6,CRD,5 +CMT,1,2,1024,2.7,CSH,13.5 +CMT,1,2,832,2,CSH,11 +CMT,1,1,716,1.1,CRD,8.5 +CMT,1,1,503,1.3,CSH,8 +CMT,1,2,1177,7.9,CSH,24.5 +CMT,1,2,1569,3.8,CSH,19 +CMT,1,2,212,0.6,CRD,4.5 +CMT,1,1,320,1,CRD,6 +CMT,1,1,362,1.3,CSH,6.5 +CMT,1,1,810,2.6,CSH,12 +CMT,1,1,527,1.8,CSH,8.5 +CMT,1,1,249,0.9,CRD,5.5 +CMT,1,1,418,2.1,CSH,8.5 +CMT,1,1,202,0.8,CRD,5 +CMT,1,2,936,3.2,CRD,13 +CMT,1,2,1363,11.3,CSH,32.5 +CMT,1,1,173,0.7,CRD,4.5 +CMT,1,1,320,0.8,CSH,6 +CMT,1,1,472,1,CSH,7 +CMT,1,1,476,1.4,CRD,7.5 +CMT,1,1,1189,4.3,CRD,16.5 +CMT,1,1,305,1.2,CRD,6 +CMT,2,1,2390,17.8,CSH,52 +CMT,2,1,3013,18.2,CSH,52 +CMT,1,1,2391,19.6,CSH,53.5 +CMT,1,1,734,3.5,CSH,13.5 +CMT,1,1,634,1.3,CSH,8.5 +CMT,1,2,697,1,CRD,8.5 +CMT,1,1,612,1.2,CRD,8 +CMT,1,1,474,1.5,CSH,7.5 +CMT,1,1,773,2.4,CRD,11 +CMT,1,1,525,1.9,CRD,8.5 +CMT,1,1,852,5.3,CRD,16.5 +CMT,1,1,716,2,CSH,10 +CMT,1,1,244,0.8,CRD,5 +CMT,1,1,1571,10.9,CRD,32 +CMT,1,1,708,1.1,CRD,9 +CMT,1,1,344,1.2,CRD,6 +CMT,1,2,1851,12,CRD,37 +CMT,1,1,1584,10.9,CRD,33 +CMT,1,1,681,4.6,CSH,15 +CMT,1,1,1030,3.8,CRD,15.5 +CMT,1,1,1096,3.5,CSH,15 +CMT,1,1,580,1.9,CSH,8.5 +CMT,1,2,1104,3.4,CRD,14.5 +CMT,3,1,1664,17.3,CRD,64.5 +CMT,1,1,387,1,CRD,6 +CMT,1,2,1441,9.6,CRD,28 +CMT,1,1,422,1.5,CRD,7 +CMT,1,2,336,1.6,CRD,7 +CMT,1,1,912,6.9,CSH,21 +CMT,1,1,778,3,CRD,12 +CMT,2,2,3002,23.2,CRD,52 +CMT,1,1,339,1.2,CSH,6.5 +CMT,1,1,752,3.1,CRD,11.5 +CMT,1,1,548,1.7,CRD,9 +CMT,1,2,2127,13.7,CSH,41 +CMT,1,1,1829,14.1,CRD,40.5 +CMT,1,1,513,1.6,CRD,8 +CMT,1,4,668,1.4,CRD,8.5 +CMT,1,1,914,2.6,CSH,12 +CMT,1,1,322,1.3,CSH,6 +CMT,1,1,821,5.2,CSH,16.5 +CMT,1,1,530,1.3,CRD,8 +CMT,1,1,414,0.6,CSH,6 +CMT,1,1,437,2.3,CRD,8.5 +CMT,1,4,2009,17.5,CSH,49.5 +CMT,1,1,408,2.1,CRD,8.5 +CMT,1,1,247,1.2,CSH,6 +CMT,1,1,1142,4.1,CRD,16 +CMT,1,1,1494,8.7,CRD,28.5 +CMT,1,2,376,1.7,CSH,7.5 +CMT,1,2,486,2.4,CSH,9.5 +CMT,1,1,1114,4.6,CRD,17.5 +CMT,1,2,879,4.7,CSH,16 +CMT,1,1,373,1.1,CSH,6.5 +CMT,1,1,1166,9.2,CSH,27.5 +CMT,1,1,1196,6.5,CSH,21.5 +CMT,1,1,636,4.5,CSH,14.5 +CMT,1,1,2002,14.6,CRD,42.5 +CMT,1,1,172,0.7,CRD,4.5 +CMT,1,2,657,3,CSH,12 +CMT,1,1,416,0.9,CRD,6.5 +CMT,2,1,1706,18.7,CRD,52 +CMT,1,2,794,3.9,CRD,14 +CMT,1,1,942,3.6,CRD,14.5 +CMT,2,2,1687,20.3,CSH,52 +CMT,1,1,838,3,CRD,12 +CMT,1,1,1343,10.8,CSH,32 +CMT,1,2,512,2.1,CSH,9 +CMT,1,3,808,1.3,CSH,10 +CMT,1,1,1157,2.7,CRD,14.5 +CMT,1,1,974,3.9,CSH,15.5 +CMT,1,2,700,1.6,CSH,9.5 +CMT,1,2,851,3.6,CRD,13.5 +CMT,1,2,520,1.3,CRD,8 +CMT,1,3,864,6.3,CSH,20 +CMT,1,1,464,0.7,CSH,6.5 +CMT,1,3,396,1.2,CRD,6.5 +CMT,1,2,259,1,CSH,5.5 +CMT,1,1,459,2.9,CSH,10 +CMT,1,2,1647,11.7,CSH,35 +CMT,1,2,1615,13.7,CSH,38 +CMT,1,1,294,1.1,CRD,6 +CMT,1,2,1428,10.2,CRD,30 +CMT,1,1,461,1.9,CSH,8.5 +CMT,1,1,1741,10.7,CRD,33 +CMT,1,1,185,0.7,CSH,4.5 +CMT,1,1,728,2.4,CSH,10.5 +CMT,1,1,824,1.9,CSH,10.5 +CMT,1,2,494,1,CSH,7 +CMT,1,1,165,0.6,CSH,4 +CMT,1,1,652,1.4,CSH,8.5 +CMT,1,1,1184,8.9,CRD,25.5 +CMT,1,2,1045,3.3,CSH,14.5 +CMT,1,3,906,3.3,CSH,14 +CMT,1,1,90,0.4,CRD,3.5 +CMT,1,1,132,0.6,CRD,4 +CMT,1,1,122,0.1,CSH,3.5 +CMT,1,2,698,3.1,CSH,11.5 +CMT,1,1,561,3.3,CSH,12 +CMT,1,1,388,0.9,CSH,6 +CMT,1,2,670,2.1,CSH,9.5 +CMT,1,2,643,2,CSH,10 +CMT,1,1,1149,2.2,CSH,13.5 +CMT,1,1,367,0.8,CSH,6 +CMT,1,1,448,1.5,CRD,7 +CMT,1,1,323,0.8,CRD,5.5 +CMT,1,2,1210,3.8,CRD,15.5 +CMT,1,1,1,0,CSH,2.5 +CMT,1,1,1029,2.3,CSH,12 +CMT,1,1,816,2.4,CSH,11 +CMT,1,1,811,1.9,CSH,10 +CMT,1,1,765,5.7,CRD,17.5 +CMT,1,4,1421,2.5,CSH,16 +CMT,1,1,410,0.9,CRD,6.5 +CMT,1,1,1531,6.7,CRD,23.5 +CMT,1,1,1715,6.4,CSH,24 +CMT,1,1,483,1.4,CSH,7.5 +CMT,1,1,791,4.7,CSH,15.5 +CMT,1,1,10,0,DIS,2.5 +CMT,1,2,473,1.8,CSH,8 +CMT,1,1,311,0.8,CRD,5.5 +CMT,1,1,590,1.5,CSH,8.5 +CMT,1,2,562,2.2,CSH,9.5 +CMT,1,2,489,1.3,CSH,7.5 +CMT,1,1,994,1.8,CSH,11.5 +CMT,1,1,313,0.9,CSH,5.5 +CMT,1,1,513,0.9,CRD,7 +CMT,1,1,828,5.4,CSH,17.5 +CMT,1,1,663,1.8,CSH,9.5 +CMT,1,1,421,1.9,CSH,8 +CMT,1,1,454,1.6,CSH,7.5 +CMT,1,1,640,1.9,CSH,9 +CMT,1,1,925,7.1,CSH,22 +CMT,1,1,422,0.8,CRD,6 +CMT,1,1,437,1,CRD,6.5 +CMT,3,1,1491,15.9,CSH,61 +CMT,1,1,847,2.2,CSH,11 +CMT,1,1,567,0.7,CSH,8 +VTS,1,1,420,1.09,CRD,6.5 +VTS,1,2,480,0.92,CSH,7 +VTS,1,1,420,1.77,CSH,7.5 +VTS,1,1,720,4.56,CRD,15 +VTS,1,2,120,1.14,CSH,5 +VTS,1,1,420,1.77,CRD,7.5 +CMT,1,1,651,2,CSH,9 +CMT,1,2,1531,6.7,CSH,25.5 +CMT,1,1,493,1.2,CSH,7.5 +CMT,1,1,292,0.6,CSH,5 +VTS,1,2,1500,4.12,CSH,16 +VTS,1,1,120,0.49,CRD,4 +VTS,1,2,240,1.26,CSH,5.5 +VTS,1,2,360,1.59,CSH,7 +VTS,1,1,480,1.66,CSH,8 +VTS,1,1,360,1.01,CSH,6 +VTS,1,1,1500,15.41,CRD,43 +VTS,1,1,840,1.06,CRD,8.5 +VTS,1,1,600,2.72,CSH,11 +VTS,1,1,1440,9.85,CRD,29 +VTS,1,1,1440,1.78,CRD,13 +VTS,1,1,900,3.36,CRD,12.5 +VTS,1,1,660,2.44,CRD,10 +VTS,1,3,600,2.29,CRD,10 +VTS,1,2,600,2.66,CRD,10.5 +VTS,1,2,840,4.19,CRD,14.5 +VTS,1,1,420,2.08,CRD,8 +VTS,1,1,420,2,CSH,8 +VTS,1,1,360,1.38,CRD,6.5 +VTS,1,1,780,3.52,CRD,13 +VTS,1,2,120,0.47,CRD,3.5 +VTS,1,1,900,7.21,CRD,21.5 +CMT,1,1,159,0.6,CSH,4 +CMT,1,2,284,0.7,CSH,5.5 +CMT,1,2,389,1.1,CSH,6.5 +CMT,1,1,102,0.2,CSH,3.5 +CMT,1,1,447,1.3,CSH,7 +CMT,1,1,569,1.7,CRD,8.5 +CMT,1,1,586,2.1,CRD,9 +CMT,1,2,644,2.6,CRD,11 +CMT,1,1,1244,8.5,CRD,26.5 +CMT,1,1,605,3.1,CRD,11.5 +CMT,1,1,1620,11.4,CSH,34 +CMT,1,1,1554,11.4,CRD,34 +CMT,1,1,795,2.7,CSH,11.5 +CMT,1,1,1612,9.3,CRD,29.5 +VTS,1,2,540,1.94,CRD,9 +VTS,1,1,1020,7.27,CRD,22.5 +VTS,1,2,840,2.54,CSH,12 +VTS,1,4,960,3.96,CSH,15 +VTS,1,2,180,0.59,CRD,4.5 +VTS,1,3,180,0.71,CRD,4.5 +VTS,1,1,300,1.01,CRD,6 +VTS,1,3,240,0.64,CSH,5 +VTS,1,1,240,1.14,CRD,5.5 +VTS,1,1,720,2.19,CRD,10 +VTS,1,4,600,1.51,CSH,8.5 +VTS,1,1,480,2.83,CRD,10 +CMT,1,1,1523,12.2,CRD,35.5 +CMT,1,1,509,3.6,CRD,12.5 +CMT,1,1,382,1.2,CRD,6.5 +CMT,1,1,1143,9,CRD,26 +CMT,1,1,428,1.7,CSH,8 +CMT,1,2,1223,6.2,CRD,21 +CMT,1,2,846,5.1,CRD,17 +CMT,2,1,1357,19.1,CRD,52 +CMT,1,1,787,6.4,CRD,19.5 +CMT,2,1,1896,18.2,CRD,52 +CMT,1,4,568,1.1,CRD,8 +CMT,1,2,763,2.2,CSH,11 +CMT,1,1,681,3.2,CSH,12 +CMT,1,1,346,2.5,CRD,8.5 +CMT,1,1,394,1.6,CRD,7.5 +CMT,1,2,561,1.5,CRD,8.5 +CMT,1,1,331,1.8,CSH,7.5 +CMT,1,2,908,2.3,CRD,12.5 +CMT,1,1,354,1.4,CSH,6.5 +CMT,1,1,351,1.8,CRD,7.5 +CMT,1,1,905,2.1,CRD,12 +CMT,1,2,420,1.9,CSH,8.5 +CMT,1,2,685,2.2,CSH,10 +CMT,1,2,712,1.5,CSH,9 +CMT,1,1,940,2.6,CRD,12.5 +CMT,1,1,672,1.5,CRD,9 +CMT,1,1,435,1.2,CSH,7 +CMT,1,2,239,1.1,CSH,5.5 +CMT,1,2,1326,8.4,CRD,26.5 +CMT,4,2,1771,14,CSH,49 +CMT,1,2,320,0.7,CSH,5.5 +CMT,1,1,1360,13.6,CRD,37.5 +CMT,1,1,361,1,CRD,6 +CMT,1,1,749,3.2,CSH,12.5 +CMT,1,2,824,2.3,CSH,11 +CMT,1,3,1129,6.5,CSH,22 +CMT,1,1,251,0.7,CSH,5 +CMT,1,1,516,2,CRD,8.5 +CMT,1,1,1241,11.2,CRD,31.5 +CMT,1,1,254,0.7,CSH,5 +CMT,1,1,311,0.4,CRD,5 +CMT,1,1,513,1.1,CSH,7.5 +CMT,1,1,693,2.5,CSH,10.5 +CMT,1,1,468,2.1,CSH,8.5 +CMT,1,1,432,1.4,CSH,7.5 +CMT,1,1,215,0.9,CRD,5 +CMT,1,1,1155,7,CRD,23 +CMT,1,1,803,1.8,CRD,10 +CMT,1,1,785,2.4,CRD,11 +CMT,1,1,461,0.9,CSH,6.5 +CMT,2,1,2356,16.7,CSH,52 +CMT,2,1,2806,17,CSH,52 +CMT,1,1,173,0.9,CSH,4.5 +CMT,1,1,271,1.5,CSH,6.5 +CMT,1,1,941,2.4,CSH,12 +CMT,1,1,642,1.5,CSH,8.5 +CMT,1,1,270,0.7,CSH,5 +CMT,1,1,1659,10.6,CSH,32.5 +CMT,1,1,531,1.2,CRD,8 +CMT,1,1,147,0.3,CSH,3.5 +CMT,1,1,618,2.1,CSH,9.5 +CMT,1,2,315,1.1,CSH,6 +CMT,1,1,104,0.6,CSH,4 +CMT,1,2,346,0.6,CSH,5.5 +CMT,1,1,996,4.9,CRD,17.5 +CMT,1,1,811,2.6,CRD,11.5 +CMT,1,2,309,0.5,CSH,5.5 +CMT,1,1,517,1.5,CRD,7.5 +VTS,1,4,360,1.4,CRD,7 +VTS,1,1,720,2.96,CSH,12 +VTS,1,1,780,2.1,CRD,10 +VTS,1,1,660,1.82,CRD,8.5 +VTS,1,1,240,1.18,CSH,6 +VTS,1,1,300,1.45,CSH,6.5 +VTS,1,1,780,3.13,CSH,12 +VTS,1,3,540,0.6,CSH,7.5 +VTS,1,1,720,2.02,CRD,9.5 +VTS,1,1,360,1.81,CSH,7.5 +CMT,1,1,966,7.1,CRD,22 +CMT,1,1,636,1.8,CSH,9 +CMT,1,1,941,3.5,CRD,14.5 +CMT,1,1,1756,10.7,CRD,33.5 +CMT,1,3,839,2.1,CRD,10.5 +CMT,1,1,1282,1,CSH,13 +CMT,1,1,282,1.2,CSH,6 +CMT,1,1,290,0.5,CSH,4.5 +CMT,1,1,893,2,CSH,11 +CMT,1,1,651,1.7,CSH,9.5 +CMT,2,2,2102,18.6,CRD,52 +CMT,1,1,403,2.5,CRD,9.5 +CMT,2,3,3561,21.6,CRD,52 +CMT,1,1,93,0.2,CSH,3 +CMT,1,1,375,1.4,CSH,6.5 +CMT,1,1,171,1,CSH,5 +CMT,1,2,463,2.3,CSH,8.5 +CMT,1,1,993,3.9,CSH,15.5 +CMT,1,1,156,0.7,CRD,4.5 +CMT,1,2,1257,9.6,CRD,28.5 +VTS,1,2,1380,4.93,CRD,19.5 +VTS,1,4,120,0.52,CSH,4 +VTS,1,1,300,1.66,CSH,7 +VTS,1,1,1320,10.34,CSH,29 +VTS,1,1,420,1.43,CSH,7.5 +VTS,1,2,240,0.66,CSH,4.5 +VTS,1,1,300,0.88,CSH,6 +VTS,1,2,360,1.11,CSH,6 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,960,4.07,CSH,14.5 +VTS,1,4,780,2.84,CSH,11.5 +VTS,1,1,240,1.48,CSH,6.5 +VTS,1,1,600,1.86,CRD,9 +VTS,1,3,540,2.15,CRD,9.5 +VTS,1,1,480,1.39,CSH,7.5 +VTS,1,2,360,1.27,CSH,6 +VTS,1,1,300,0.59,CSH,4.5 +VTS,1,3,840,2.25,CRD,10.5 +VTS,1,1,720,3.58,CSH,13 +VTS,1,2,660,1.88,CRD,9 +VTS,1,1,780,3.44,CRD,12.5 +VTS,1,1,720,2.47,CSH,11 +VTS,1,1,540,2,CRD,9 +VTS,1,1,240,0.57,CRD,4.5 +VTS,1,1,300,1.09,CRD,5 +VTS,1,1,360,1.07,CRD,6 +VTS,1,2,480,2.21,CRD,8.5 +VTS,1,1,1260,8.07,CRD,25 +VTS,1,2,720,2.6,CRD,11.5 +VTS,1,2,1020,4.83,CSH,17.5 +VTS,1,4,1200,6,CSH,20 +VTS,1,2,300,1.14,CSH,6 +CMT,1,2,635,2.2,CRD,10 +CMT,1,1,799,2.2,CSH,11 +CMT,1,1,758,2.3,CSH,11 +CMT,1,1,751,6.9,CRD,20.5 +CMT,1,1,520,1.8,CRD,8.5 +CMT,1,1,518,1.5,CSH,8 +CMT,1,2,1024,1.5,CRD,12 +CMT,1,1,1811,13.9,CRD,39.5 +CMT,1,1,1961,10.1,CSH,33.5 +CMT,1,2,478,0.5,CSH,6.5 +CMT,1,1,310,0.8,CRD,5.5 +CMT,1,1,455,1.1,CSH,6.5 +CMT,1,1,433,1.5,CRD,7 +CMT,1,2,1845,10,CRD,31.5 +CMT,1,1,493,1.5,CSH,7.5 +CMT,1,1,1190,2.9,CSH,15 +CMT,1,1,754,2.6,CRD,12 +CMT,1,1,173,0.5,CSH,4 +CMT,1,1,692,1.9,CRD,9.5 +CMT,1,2,170,0.5,CSH,4.5 +CMT,1,1,464,1.7,CSH,7.5 +CMT,1,3,1193,7.6,CSH,24.5 +CMT,1,1,628,1.8,CRD,9.5 +CMT,1,1,249,1.2,CSH,5.5 +CMT,1,2,109,0.4,CRD,3.5 +CMT,1,1,1875,16.7,CRD,46.5 +CMT,1,1,580,1.4,CSH,8.5 +CMT,1,1,601,2.1,CSH,9.5 +CMT,1,1,113,0.5,CSH,4 +CMT,1,1,624,1.8,CRD,9 +CMT,1,1,1439,12.1,CRD,35.5 +CMT,1,2,1868,7.8,CSH,27.5 +CMT,1,1,1114,8.8,CRD,26 +CMT,1,1,158,0.8,CSH,4.5 +CMT,1,1,298,0.7,CSH,5 +CMT,1,1,115,0.5,CSH,3.5 +CMT,1,2,2084,11.7,CRD,35.5 +CMT,1,1,333,1.2,CSH,6.5 +CMT,1,1,583,3.2,CSH,11 +CMT,1,1,373,0.9,CSH,6 +CMT,1,1,429,0.8,CSH,6.5 +CMT,1,1,645,1.4,CSH,8.5 +CMT,1,2,626,1.6,CRD,9 +CMT,1,1,781,2.8,CRD,12 +CMT,1,1,361,1.1,CRD,6 +CMT,1,1,489,1.7,CRD,8 +CMT,1,1,442,0.8,CSH,6.5 +CMT,1,1,475,1.5,CRD,7.5 +CMT,1,1,1242,3.1,CRD,15.5 +CMT,1,1,895,2.7,CRD,12 +CMT,1,1,191,0.7,CRD,4.5 +CMT,1,1,490,1.1,CRD,7.5 +VTS,1,1,1440,17,CRD,45.5 +VTS,2,2,1320,18.53,CRD,52 +VTS,1,1,360,1.08,CRD,6 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,3,480,2.35,CRD,9.5 +VTS,2,2,2580,18.02,CSH,52 +VTS,1,4,1020,4.06,CSH,15 +VTS,1,1,480,2.03,CRD,8.5 +VTS,1,1,780,4.33,CSH,14.5 +VTS,1,1,900,4.59,CRD,16 +VTS,1,3,360,1.05,CSH,6.5 +VTS,1,2,300,0.66,CSH,5 +VTS,1,1,360,1.46,CRD,7 +VTS,1,4,240,0.52,CSH,4.5 +VTS,1,2,300,0.84,CRD,5.5 +VTS,1,2,1380,11.12,CRD,31.5 +VTS,1,1,300,0.98,CRD,6 +VTS,1,4,240,0.38,CSH,4.5 +VTS,1,1,1860,11.27,CRD,35.5 +VTS,1,1,180,0.58,CSH,4 +VTS,1,1,600,1.82,CSH,9 +VTS,1,1,900,2.7,CRD,12.5 +VTS,1,4,300,1.32,CSH,6 +VTS,1,2,180,0.5,CSH,4 +VTS,1,1,780,2.3,CSH,11 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,600,3.23,CSH,11.5 +VTS,1,3,960,7.33,CRD,22.5 +VTS,1,1,0,0.27,CSH,3 +VTS,1,1,180,0.94,CRD,4.5 +VTS,1,1,1320,1.62,CRD,12.5 +VTS,1,1,240,0.54,CSH,4 +VTS,1,1,180,0.42,CRD,4 +VTS,1,2,360,1.06,CSH,6 +VTS,1,1,540,2.78,CRD,10 +VTS,1,1,240,0.6,CRD,4.5 +VTS,1,3,360,1.66,CRD,7 +VTS,1,2,420,2.15,CSH,8.5 +VTS,1,4,180,0.44,CRD,4 +VTS,1,2,540,1.12,CRD,7.5 +VTS,1,2,240,0.76,CSH,5 +VTS,1,1,1380,5.17,CSH,20.5 +VTS,1,1,240,1.27,CSH,6 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,360,0.95,CSH,6.5 +VTS,1,1,660,2.94,CSH,10.5 +VTS,1,2,720,1.94,CSH,10 +VTS,1,1,2160,7.38,CRD,29 +VTS,1,1,840,4.4,CRD,15.5 +VTS,1,1,540,1.29,CSH,7 +VTS,1,2,300,0.89,CSH,5 +VTS,1,1,1020,5.97,CRD,19 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,480,1.35,CRD,7 +VTS,1,1,600,5.69,CSH,17.5 +VTS,1,1,480,1.33,CRD,7.5 +VTS,2,1,2400,21.61,CSH,52 +VTS,1,1,1320,12.14,CSH,34.5 +VTS,1,1,360,1.06,CRD,6 +VTS,1,1,360,0.94,CSH,5.5 +VTS,1,1,60,0.56,CSH,3.5 +VTS,1,1,240,1.12,CSH,5.5 +VTS,1,1,540,3.21,CRD,11.5 +VTS,1,1,480,0.86,CSH,6.5 +VTS,5,1,0,0,CRD,50 +VTS,1,1,780,2.13,CSH,9.5 +VTS,1,1,360,1.34,CSH,6.5 +VTS,1,4,240,0.9,CRD,5 +VTS,1,4,1320,6.16,CRD,21.5 +VTS,1,4,240,1.45,CSH,6 +VTS,1,2,540,2.03,CSH,9 +VTS,1,2,300,1.08,CRD,5.5 +VTS,1,1,120,0.99,CRD,5 +VTS,1,2,600,0.86,CSH,6.5 +VTS,1,1,600,3.17,CRD,11 +VTS,1,2,1320,7.03,CSH,23.5 +VTS,1,2,1380,10.6,CRD,31.5 +VTS,1,1,1140,2.18,CRD,11.5 +VTS,1,1,240,0.86,CRD,5 +VTS,1,1,960,2.9,CRD,13 +CMT,1,2,884,3.6,CRD,14.5 +CMT,1,1,519,1.5,CRD,8 +CMT,1,2,676,0.9,CRD,8.5 +CMT,1,2,215,0.9,CRD,5 +CMT,1,1,695,1.8,CSH,9.5 +CMT,4,3,742,1.5,CSH,9.5 +CMT,1,1,631,1.6,CSH,9 +CMT,1,2,1284,6.4,CRD,23 +CMT,1,1,1571,13.6,CRD,38.5 +CMT,1,1,439,1.7,CSH,8 +CMT,1,2,396,1.2,CSH,6.5 +CMT,1,1,390,1.4,CSH,7 +CMT,1,1,1867,12.9,CSH,38 +CMT,1,1,628,1.7,CRD,9 +CMT,1,1,307,1,CRD,5.5 +CMT,1,1,1320,7.3,CRD,24.5 +CMT,1,1,2451,14.7,CRD,44 +CMT,1,1,469,0.9,CSH,7 +VTS,1,2,300,1.15,CSH,6 +VTS,1,3,840,3.99,CRD,15 +VTS,1,4,600,2.39,CRD,9.5 +VTS,1,3,840,1.74,CSH,10 +VTS,1,3,420,0.93,CSH,6 +VTS,1,1,1200,3.63,CSH,15 +VTS,1,1,1560,7.14,CRD,24.5 +VTS,1,1,1380,9.78,CSH,29.5 +VTS,1,1,720,2.83,CRD,11.5 +VTS,1,2,360,0.93,CRD,6 +VTS,1,1,540,1.94,CSH,8.5 +VTS,1,1,1440,7.95,CRD,26.5 +VTS,1,1,720,1.6,CRD,9 +VTS,1,1,420,1.18,CRD,7 +VTS,1,2,1380,8.57,CRD,27.5 +VTS,1,2,480,1.16,CSH,6.5 +VTS,1,4,840,3.27,CSH,13.5 +VTS,1,1,180,0.99,CSH,5 +VTS,2,1,2520,18.42,CSH,52 +VTS,1,1,360,1.46,CSH,7 +VTS,1,2,720,1.94,CRD,10 +VTS,1,3,420,1.05,CRD,6 +VTS,1,1,540,1.6,CRD,8 +VTS,1,2,1020,3.46,CRD,14.5 +VTS,1,1,420,1.92,CSH,8 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,1140,7.13,CSH,22 +VTS,1,1,1020,3.24,CRD,14 +VTS,1,3,540,2.44,CSH,10.5 +VTS,1,1,1980,7.03,CSH,27 +VTS,1,2,240,0.52,CRD,4.5 +VTS,1,4,360,1.31,CSH,7 +VTS,1,2,900,3.12,CRD,12.5 +VTS,1,1,540,1.53,CSH,8 +VTS,1,1,180,0.81,CRD,4.5 +VTS,1,2,600,3.96,CRD,13.5 +VTS,1,1,120,0.61,CRD,4 +VTS,1,1,360,1.54,CRD,7 +VTS,1,1,780,2.95,CRD,11.5 +VTS,1,2,180,0.67,CRD,4 +VTS,1,1,420,0.93,CSH,6.5 +VTS,1,1,1260,10.91,CSH,30.5 +VTS,1,2,840,2.68,CRD,11 +VTS,1,2,360,0.94,CSH,6 +VTS,1,2,2280,3.66,CRD,21.5 +VTS,1,1,780,1.62,CRD,9 +VTS,1,1,960,3.84,CRD,15 +VTS,1,1,420,1.4,CSH,7 +VTS,1,1,720,8.01,CSH,23 +VTS,1,2,360,1.07,CSH,6 +VTS,1,4,1200,4.74,CSH,17.5 +VTS,1,1,540,2.93,CSH,10.5 +VTS,1,1,1200,9.37,CSH,27.5 +VTS,1,1,360,1.59,CRD,7 +VTS,1,2,240,1.2,CSH,5.5 +VTS,1,1,840,3.7,CSH,13.5 +VTS,2,2,5460,29.17,CSH,52 +VTS,1,1,300,1.67,CRD,7 +VTS,1,2,60,0.33,CRD,3 +VTS,1,2,1080,1.53,CRD,10.5 +VTS,1,3,660,3.03,CSH,11 +VTS,1,1,300,0.57,CRD,5 +VTS,1,1,240,1.37,CRD,6.5 +VTS,1,1,660,1.36,CRD,8.5 +VTS,1,1,540,2.98,CSH,11 +VTS,1,1,480,1.78,CRD,8 +VTS,1,1,240,1.38,CRD,6 +VTS,1,1,480,2.05,CSH,8.5 +VTS,1,1,420,1.79,CSH,7.5 +VTS,1,1,660,2.69,CSH,11 +VTS,2,1,0,0,CRD,52 +VTS,1,1,420,0.82,CSH,6 +VTS,1,1,0,0.06,CSH,2.5 +VTS,1,1,1020,2.26,CRD,11.5 +VTS,1,1,180,0.91,CSH,5 +VTS,1,1,960,9.67,CSH,27.5 +VTS,1,2,660,4.08,CSH,14.5 +VTS,1,2,900,6.15,CRD,18.5 +VTS,1,2,1560,9.29,CSH,29 +VTS,1,4,780,2.11,CRD,10 +VTS,1,1,360,1.07,CRD,6 +VTS,1,1,540,0.93,CRD,7.5 +VTS,1,1,660,1.01,CRD,8 +VTS,1,4,360,0.79,CSH,6 +VTS,1,3,120,0.24,CSH,3 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,1140,4.39,CSH,17 +VTS,1,1,420,1.56,CRD,7 +VTS,1,1,1260,10.32,CRD,29.5 +VTS,1,1,480,2.39,CRD,8.5 +VTS,1,1,1920,9.12,CRD,28 +VTS,1,1,1560,10.64,CRD,31 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,1380,9.05,CSH,27.5 +VTS,1,1,1440,4.24,CRD,17 +VTS,1,1,540,2.21,CRD,9 +VTS,1,2,360,2.25,CSH,8 +VTS,1,2,660,2.46,CRD,10.5 +VTS,1,1,420,1.53,CSH,7 +VTS,1,2,120,0.36,CRD,3.5 +VTS,5,2,1740,7.85,CSH,50 +VTS,1,2,1080,3.59,CSH,14.5 +VTS,1,1,360,1.86,CRD,7.5 +VTS,1,1,420,2.52,CRD,9 +VTS,1,2,180,0.83,CSH,5 +VTS,1,3,480,1.37,CRD,7.5 +VTS,1,1,480,1.83,CRD,8.5 +VTS,1,1,960,5.71,CSH,18 +VTS,1,2,360,0.9,CSH,5.5 +VTS,1,1,60,0.58,CRD,3.5 +VTS,1,2,900,3.85,CRD,14 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,720,7.06,CRD,20.5 +VTS,1,4,1320,2.46,CSH,13.5 +VTS,1,1,1440,6,CRD,21.5 +VTS,1,1,660,1.67,CRD,9 +VTS,1,1,480,2.25,CSH,8.5 +VTS,1,2,300,1.59,CSH,6.5 +VTS,1,3,660,2.07,CSH,10.5 +VTS,1,2,900,4.62,CSH,16 +VTS,1,1,480,1.77,CSH,7.5 +VTS,1,2,1020,7.83,CSH,23 +VTS,1,1,1500,3.74,CRD,16 +VTS,1,2,840,1.99,CRD,10.5 +VTS,1,1,660,2.59,CRD,10 +VTS,1,1,600,2.12,CSH,9.5 +VTS,1,2,360,1.36,CRD,7 +VTS,1,1,960,3.56,CSH,13.5 +VTS,1,1,480,1.81,CSH,8 +VTS,1,4,2040,12.8,CSH,36.5 +VTS,1,1,1320,3.42,CRD,16 +VTS,1,2,300,1.55,CSH,7 +VTS,1,1,720,5.09,CRD,16 +VTS,1,2,300,0.73,CSH,5.5 +VTS,1,1,2040,12.16,CRD,36 +VTS,1,1,840,5.78,CRD,18 +VTS,1,1,540,1.83,CRD,9 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,2,2160,9.63,CRD,32.5 +VTS,1,1,420,1.14,CRD,6 +VTS,1,2,480,1.56,CRD,7.5 +VTS,1,1,180,0.48,CSH,4 +VTS,1,2,660,3.71,CSH,12.5 +VTS,1,1,780,3.17,CSH,12 +VTS,1,1,420,2.28,CRD,8.5 +VTS,1,1,240,0.9,CRD,5 +VTS,5,1,0,0,CRD,55 +VTS,1,1,1620,9.36,CRD,29 +VTS,1,1,720,1.54,CRD,8.5 +VTS,1,1,1200,11.37,CSH,32 +VTS,1,3,720,2.13,CRD,10 +VTS,1,1,1380,5.68,CRD,21 +VTS,1,1,780,1.39,CRD,9.5 +VTS,1,2,120,0.73,CSH,4 +VTS,1,2,420,0.95,CRD,6 +VTS,1,2,600,1.23,CRD,8.5 +VTS,1,3,1020,2.3,CRD,13 +VTS,1,2,180,1.12,CSH,5.5 +VTS,1,2,420,1.8,CSH,7.5 +VTS,1,1,660,0.89,CSH,7.5 +VTS,1,1,240,0.78,CRD,5 +VTS,1,2,1680,3.73,CRD,18 +VTS,1,1,1320,4.76,CRD,19 +VTS,1,2,2340,3.35,CSH,20.5 +VTS,1,1,840,3.73,CSH,13.5 +VTS,1,2,720,2.76,CRD,12 +VTS,1,2,1440,2.48,CRD,16 +VTS,1,2,240,0.97,CRD,5 +VTS,1,1,2940,9.72,CRD,38.5 +VTS,1,2,660,2.35,CRD,10.5 +VTS,1,1,1800,13.39,CRD,38 +VTS,1,1,420,1.28,CSH,7 +VTS,1,1,240,0.82,CRD,5 +VTS,1,2,960,4.82,CRD,17 +VTS,1,2,840,4.3,CRD,15.5 +VTS,1,1,600,1.03,CRD,7 +VTS,1,1,360,0.71,CSH,5 +VTS,1,4,360,0.97,CSH,6 +VTS,1,2,240,0.74,CRD,5 +VTS,1,2,720,4.35,CSH,14 +VTS,1,1,900,3.87,CSH,14.5 +VTS,1,1,300,1.06,CRD,6 +VTS,1,1,720,2.58,CRD,11 +VTS,1,1,1080,5.67,CRD,19 +VTS,1,1,600,2.23,CRD,10 +VTS,5,2,0,0,CRD,58 +VTS,1,1,1020,4.43,CRD,16.5 +VTS,1,1,1140,5.27,CRD,18.5 +VTS,1,1,420,0.87,CSH,6.5 +VTS,5,2,0,0,CRD,60 +VTS,1,1,1380,13.04,CSH,37 +VTS,1,1,720,7.01,CSH,20.5 +VTS,1,1,720,1.92,CSH,9.5 +VTS,1,2,480,1.87,CRD,8 +VTS,1,3,420,1.29,CSH,7 +VTS,1,2,420,1.33,CRD,7 +VTS,1,2,240,1.23,CRD,6 +VTS,1,1,840,7.11,CRD,21.5 +VTS,1,1,240,1.14,CRD,5.5 +VTS,1,2,600,2.38,CRD,10 +VTS,1,1,960,3.49,CRD,14 +VTS,1,2,1020,4.6,CSH,17 +VTS,1,2,420,1.64,CRD,7.5 +VTS,1,2,480,1.41,CSH,8 +VTS,1,3,480,1.57,CRD,8 +VTS,1,1,720,3.02,CRD,12 +VTS,1,2,1320,8.72,CRD,26 +VTS,1,2,900,2.5,CRD,12 +VTS,1,4,960,3.43,CRD,14 +VTS,1,2,780,3.22,CRD,12.5 +VTS,1,2,360,0.95,CRD,6 +VTS,1,2,1800,3.46,CRD,20 +VTS,1,1,1020,5.61,CRD,18 +VTS,1,2,600,2.14,CRD,9.5 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,2,540,2.12,CRD,9 +VTS,1,2,240,0.88,CSH,5.5 +VTS,1,1,840,2.3,CRD,10 +CMT,3,3,1906,16.9,CSH,65.5 +CMT,1,1,121,0.5,CRD,3.5 +CMT,1,2,833,5.8,CRD,17.5 +CMT,1,2,269,0.7,CSH,5 +CMT,1,2,1439,12.1,CSH,35 +CMT,1,1,502,1,CRD,7 +CMT,1,2,727,1.6,CSH,10 +CMT,1,1,1872,9.4,CSH,31 +CMT,1,3,264,0.6,CSH,5 +CMT,1,2,497,1,CSH,7 +CMT,1,1,309,1,CSH,5.5 +CMT,1,1,207,0.6,CSH,4.5 +CMT,1,1,432,2,CSH,8 +CMT,1,1,177,0.9,CSH,4.5 +CMT,1,2,651,1.7,CSH,9 +CMT,1,1,487,1.4,CRD,7 +CMT,1,1,1357,10.2,CRD,30.5 +CMT,1,1,200,0.8,CSH,5 +CMT,1,1,591,1.3,CRD,8 +CMT,1,1,729,1.1,CSH,8.5 +CMT,1,1,1253,8.1,CSH,25 +CMT,1,2,3188,13.8,CSH,46 +CMT,1,1,440,1,CSH,7 +VTS,1,3,420,2.18,CSH,8.5 +VTS,1,5,600,2.18,CSH,10 +VTS,1,2,1320,4.02,CRD,17.5 +VTS,1,1,1320,4.72,CRD,18.5 +VTS,1,2,1140,9.17,CRD,26.5 +VTS,1,1,180,0.63,CSH,4 +VTS,1,1,1080,6.52,CSH,21 +VTS,1,1,360,1.25,CRD,6 +VTS,1,1,1020,8.91,CSH,26 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,1140,3,CRD,13.5 +VTS,1,1,540,1.64,CRD,8 +VTS,1,1,540,3.51,CRD,12 +VTS,1,1,720,1.8,CRD,9 +VTS,1,1,1080,8.97,CSH,26.5 +VTS,1,2,240,0.8,CRD,5.5 +VTS,1,2,960,2.03,CSH,12 +VTS,1,1,360,0.65,CRD,5.5 +VTS,1,2,840,2.33,CSH,10.5 +VTS,1,1,1080,5.86,CRD,19 +VTS,1,1,180,0.55,CRD,4 +VTS,1,1,300,0.77,CSH,5.5 +VTS,1,2,660,2.07,CSH,9 +VTS,1,1,600,2.38,CRD,10 +VTS,1,1,1140,9.24,CRD,26.5 +VTS,1,1,1020,3.48,CSH,13.5 +VTS,1,1,360,1,CSH,6 +VTS,1,1,660,1.97,CSH,9.5 +VTS,1,3,780,1.92,CRD,9.5 +VTS,1,2,300,1.28,CRD,6.5 +VTS,1,2,180,0.55,CRD,4 +VTS,1,1,540,2.33,CRD,9.5 +VTS,1,1,540,2.05,CRD,9 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,2,480,1.7,CRD,8.5 +VTS,1,2,1440,11.27,CRD,33.5 +VTS,1,1,900,3.36,CRD,14 +VTS,1,1,420,1.8,CSH,8 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,3,660,1.67,CSH,9 +VTS,1,2,540,1.92,CSH,8.5 +VTS,1,2,600,4.67,CSH,14.5 +VTS,1,1,540,1.63,CSH,8 +VTS,1,1,1020,9.04,CRD,26 +VTS,1,3,300,0.66,CSH,5 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,1020,3.44,CRD,14.5 +VTS,1,1,360,1.06,CRD,6 +VTS,1,1,840,7,CSH,20.5 +VTS,1,2,1320,9.56,CRD,28.5 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,420,1.4,CRD,7 +VTS,1,2,1080,2.44,CRD,13 +VTS,1,1,660,2.24,CRD,10.5 +VTS,1,1,180,0.44,CSH,4 +VTS,1,1,360,1.02,CRD,6.5 +VTS,1,1,780,4.39,CRD,15 +VTS,5,2,0,0,CRD,30 +VTS,1,1,660,3.5,CRD,12.5 +VTS,1,1,600,3.03,CSH,11.5 +VTS,1,1,540,1.19,CSH,7.5 +VTS,2,1,1800,15.88,CRD,52 +VTS,1,1,1080,9.61,CRD,28 +VTS,1,1,420,2.24,CSH,8.5 +VTS,1,1,120,0.13,CRD,3 +VTS,1,1,900,2.58,CSH,12 +VTS,1,1,480,1.18,CSH,7 +VTS,1,1,120,1.2,CRD,5.5 +VTS,1,1,420,1.72,CSH,7.5 +VTS,1,1,1080,5.01,CSH,17.5 +VTS,1,1,180,1.27,CSH,5.5 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,540,2.43,CRD,9.5 +VTS,2,3,2040,19.04,CSH,52 +VTS,1,2,1620,4.54,CSH,20 +VTS,1,1,480,1.61,CSH,8 +VTS,1,1,540,1.95,CSH,9 +VTS,1,2,1980,10.84,CSH,35.5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,1740,9.97,CRD,32 +VTS,1,2,780,2.57,CSH,12 +VTS,1,1,2100,12.5,CRD,39 +VTS,5,1,0,0,CRD,8.5 +VTS,1,2,180,1.08,CRD,5 +VTS,1,2,480,2.25,CSH,9 +VTS,1,1,240,1.96,CSH,7.5 +VTS,1,1,600,2.49,CSH,10 +VTS,1,1,240,0.83,CRD,5 +VTS,1,1,240,1.23,CSH,6 +VTS,1,1,660,4.6,CRD,15.5 +VTS,1,1,360,3.03,CRD,10 +VTS,1,1,120,0.52,CSH,3.5 +VTS,1,1,240,0.65,CRD,4.5 +VTS,1,1,2040,9.69,CSH,34.5 +VTS,1,1,240,0.97,CRD,5 +VTS,1,1,60,0.44,CRD,3.5 +VTS,1,1,780,3.34,CRD,13 +VTS,1,1,600,3.19,CRD,11.5 +VTS,1,1,600,1.86,CSH,9 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,540,2.22,CRD,9.5 +VTS,1,1,300,1.62,CRD,7 +VTS,1,1,540,0.77,CRD,7 +VTS,1,1,480,1.17,CSH,7 +VTS,1,1,660,5.73,CSH,17.5 +VTS,1,1,180,0.45,CRD,4.5 +VTS,1,1,1080,10.38,CRD,29 +VTS,1,1,1500,4.96,CSH,20 +VTS,1,1,900,3.14,CSH,13.5 +VTS,1,3,300,0.52,CRD,5 +VTS,1,1,840,5.15,CRD,16.5 +VTS,1,1,1560,3.5,CSH,16.5 +VTS,1,2,480,1.71,CRD,8.5 +VTS,1,1,300,1.59,CSH,7 +VTS,1,2,180,0.73,CSH,4.5 +VTS,1,4,360,0.93,CSH,6 +VTS,1,1,180,0.95,CSH,5 +VTS,1,1,900,4.13,CRD,15 +VTS,1,3,840,4.13,CSH,14.5 +VTS,1,1,600,4.11,CSH,14 +VTS,1,1,300,1.2,CRD,6 +VTS,1,1,1140,7.74,CSH,24 +VTS,1,2,720,2.25,CRD,10 +VTS,1,1,1200,5.03,CRD,17.5 +VTS,1,3,180,0.32,CRD,3.5 +VTS,1,1,420,0.83,CSH,5.5 +VTS,1,2,240,0.94,CRD,5 +VTS,1,2,1140,6.53,CRD,22 +VTS,1,2,1980,7.98,CRD,27.5 +VTS,1,2,240,0.36,CSH,4.5 +VTS,1,2,780,3.33,CRD,12.5 +VTS,1,1,720,1.51,CRD,9.5 +VTS,1,1,360,1.39,CRD,7 +VTS,1,1,360,0.85,CRD,6 +VTS,1,2,1680,5.8,CRD,21.5 +VTS,1,2,600,1.41,CSH,7.5 +VTS,1,1,360,0.81,CRD,6 +VTS,1,1,1200,6.28,CRD,20.5 +VTS,1,3,240,0.75,CSH,4.5 +VTS,1,1,960,7.65,CSH,22.5 +VTS,1,1,480,0.63,CSH,6 +VTS,1,1,840,2.12,CRD,10 +VTS,1,3,420,1.53,CSH,7 +VTS,1,1,1860,6.23,CRD,24.5 +VTS,1,1,720,3.82,CRD,14 +VTS,1,1,1020,11.54,CSH,31.5 +VTS,1,1,1020,6.12,CSH,19 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,1,300,1.52,CSH,6.5 +VTS,1,1,360,1.46,CSH,7 +VTS,1,1,540,3.56,CSH,12 +VTS,1,1,180,0.51,CSH,4 +VTS,1,1,780,2.29,CRD,11 +VTS,1,1,780,2.17,CSH,11 +VTS,1,1,1200,6.05,CRD,20.5 +VTS,1,1,1440,8.72,CSH,28 +VTS,1,1,1320,4.04,CRD,17 +VTS,1,1,720,1.87,CSH,9 +VTS,1,4,660,1.29,CSH,8.5 +VTS,1,1,1140,3.23,CSH,15 +VTS,1,1,660,5,CRD,15.5 +VTS,1,2,960,3.66,CSH,14 +VTS,1,1,360,1.32,CRD,6.5 +VTS,1,1,1080,9.76,CRD,28 +VTS,1,1,900,6.14,CRD,19 +VTS,1,1,1320,11.43,CRD,33 +VTS,1,1,900,10.45,CRD,29 +VTS,1,2,660,2.76,CSH,11 +VTS,1,2,420,2.06,CRD,9 +VTS,1,2,2820,11.74,CRD,35.5 +VTS,1,1,1140,9.69,CRD,29 +VTS,1,1,1320,8.97,CSH,26 +VTS,1,1,600,1.83,CSH,8 +VTS,1,1,240,0.78,CRD,4.5 +VTS,1,1,900,1.05,CSH,9 +VTS,1,4,600,1.56,CSH,8.5 +VTS,1,2,900,5.2,CRD,17.5 +VTS,1,2,660,1.62,CRD,9 +VTS,1,1,540,2.1,CSH,8.5 +VTS,1,2,480,1.02,CSH,7 +VTS,1,2,1020,1.81,CSH,12 +VTS,1,3,420,1.6,CSH,7.5 +VTS,1,1,720,2.42,CRD,11 +VTS,1,3,960,2.4,CRD,12.5 +VTS,1,1,660,2.19,CSH,9.5 +VTS,1,1,300,1.49,CRD,6.5 +VTS,1,1,1080,4.48,CRD,17 +VTS,1,1,600,0.94,CRD,7 +VTS,1,1,780,3.31,CSH,12 +VTS,1,1,1140,9.92,CRD,28.5 +VTS,1,1,660,2.48,CRD,10 +VTS,1,1,300,0.68,CSH,5 +VTS,1,1,240,0.65,CRD,4.5 +VTS,1,1,3360,16.14,CSH,47.5 +VTS,1,1,960,2.01,CRD,12 +VTS,1,1,540,4.58,CSH,14 +VTS,1,1,720,3.26,CRD,12.5 +VTS,1,1,360,2.05,CSH,8 +VTS,1,1,960,11.37,CRD,31 +VTS,1,1,720,3.97,CSH,13.5 +VTS,1,1,780,2.83,CRD,12.5 +VTS,1,1,540,1.38,CRD,8 +VTS,1,1,600,5.49,CSH,16.5 +VTS,1,1,720,4.14,CSH,14 +VTS,1,1,120,1.08,CRD,5 +VTS,1,1,120,1.06,CSH,5 +VTS,1,2,180,0.82,CSH,4.5 +VTS,1,1,480,2.92,CSH,10 +VTS,1,3,960,6.36,CSH,20.5 +VTS,1,1,360,1,CSH,5.5 +VTS,1,1,360,1.08,CSH,6 +VTS,1,1,900,3.23,CRD,13 +VTS,1,1,600,1.37,CSH,8 +VTS,1,2,420,1.56,CRD,7 +VTS,1,1,660,2.57,CSH,10.5 +VTS,1,3,480,1.12,CRD,6.5 +VTS,1,3,2040,11.02,CSH,33 +VTS,1,2,660,0.8,CRD,7.5 +VTS,1,1,1320,4.31,CRD,16.5 +VTS,1,1,900,3.95,CRD,15 +VTS,1,1,240,0.76,CRD,5 +VTS,1,2,1140,4.11,CRD,16.5 +VTS,1,2,600,2.55,CSH,10.5 +VTS,1,3,300,1.11,CSH,6 +VTS,1,2,300,0.92,CSH,5.5 +VTS,1,2,360,0.34,CSH,5.5 +VTS,1,1,1860,10.41,CRD,33 +VTS,1,1,540,1.94,CSH,8.5 +VTS,1,2,780,3.92,CSH,14 +VTS,1,1,300,1.85,CRD,7 +VTS,1,1,240,1.07,CRD,5.5 +VTS,1,1,900,3.6,CRD,14.5 +VTS,1,1,1320,6.65,CRD,21 +VTS,1,1,600,3.02,CRD,11 +VTS,1,1,540,1.22,CRD,7 +VTS,1,2,660,0.92,CRD,7 +VTS,1,2,600,1.06,CRD,7 +VTS,1,1,2040,9.49,CRD,32.5 +VTS,1,1,780,1.65,CRD,9.5 +VTS,1,1,1560,11.48,CRD,33.5 +VTS,1,1,840,7.45,CRD,22 +VTS,1,1,1680,6.83,CRD,24.5 +VTS,1,1,180,0.57,CSH,4 +VTS,1,4,600,1.44,CRD,8.5 +VTS,1,2,120,0.73,CSH,4.5 +VTS,1,1,420,1.64,CSH,7.5 +VTS,1,1,120,0.81,CRD,4.5 +VTS,1,1,1440,10.26,CSH,30 +VTS,1,1,960,3.28,CSH,12.5 +VTS,1,1,600,2.47,CSH,10.5 +VTS,1,1,180,0.86,CSH,5 +VTS,1,2,180,0.81,CSH,4.5 +VTS,1,1,60,0.41,CRD,3.5 +VTS,1,2,1020,4.55,CRD,16 +VTS,1,2,660,2.17,CSH,10 +VTS,1,1,1560,13.61,CRD,39.5 +VTS,1,1,1020,9.21,CRD,26.5 +VTS,1,1,420,1.83,CRD,8 +VTS,1,1,180,0.27,CSH,3.5 +VTS,1,1,180,0.95,CRD,5 +VTS,1,1,660,5.37,CRD,17 +VTS,1,1,480,3.46,CRD,11.5 +VTS,1,1,1080,11.39,CSH,31.5 +VTS,1,1,1020,12.06,CRD,32.5 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,3,180,0.78,CSH,4.5 +VTS,1,4,180,0.63,CRD,4.5 +VTS,1,4,600,0.64,CSH,7.5 +VTS,1,1,540,1.37,CRD,8.5 +VTS,1,1,1380,8.27,CRD,27.5 +VTS,1,1,480,1.3,CSH,7.5 +VTS,1,2,360,0.99,CRD,6 +VTS,1,1,660,1.5,CSH,8.5 +VTS,1,1,1140,2.42,CSH,13.5 +VTS,1,1,1140,9.95,CSH,29.5 +VTS,1,3,1320,7.59,CRD,24.5 +VTS,1,1,1500,9.19,CRD,29.5 +VTS,1,1,960,3.72,CRD,15 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,4,1080,2.72,CRD,13.5 +VTS,1,1,360,1.16,CRD,6 +VTS,1,1,720,1.71,CSH,8.5 +VTS,1,1,1020,1.36,CRD,11.5 +VTS,1,2,480,1.27,CSH,7.5 +VTS,1,1,300,0.6,CSH,5 +VTS,1,1,240,0.87,CRD,5 +VTS,1,1,660,1.42,CSH,8.5 +VTS,1,1,900,2.23,CRD,11.5 +VTS,1,1,60,0.25,CSH,3.5 +VTS,1,3,540,2.62,CRD,9.5 +VTS,1,3,480,1.68,CRD,7.5 +VTS,1,1,900,2.84,CSH,13 +VTS,1,1,180,0.49,CRD,4 +VTS,1,1,1200,4.82,CRD,18.5 +VTS,1,1,420,1.01,CRD,6.5 +VTS,1,3,540,1.75,CSH,9 +VTS,1,2,360,0.97,CSH,5.5 +VTS,1,1,900,3.3,CRD,14 +VTS,1,1,420,0.64,CRD,6 +VTS,1,1,540,1.62,CRD,8 +VTS,1,1,1140,1.63,CRD,13 +VTS,1,1,360,1.16,CRD,6 +VTS,1,1,1080,10.07,CRD,29.5 +VTS,1,1,420,0.84,CSH,6 +VTS,1,1,1380,10.02,CRD,29.5 +VTS,1,1,420,0.67,CSH,6 +VTS,1,1,1500,2.83,CSH,16.5 +VTS,1,2,840,3.25,CRD,13 +VTS,1,2,600,1.21,CSH,8.5 +VTS,1,3,1080,9.24,CSH,27 +VTS,1,1,1620,9.63,CSH,30.5 +VTS,1,1,600,1.58,CRD,8.5 +VTS,1,2,1980,13.28,CRD,39 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,720,1.29,CRD,9 +VTS,1,1,1260,3.09,CRD,15 +VTS,5,2,0,0,CRD,58 +VTS,1,1,900,8.94,CRD,25.5 +VTS,1,1,300,1.65,CSH,7 +VTS,1,3,2220,11.57,CSH,38.5 +VTS,1,3,1320,8.88,CRD,27.5 +VTS,1,2,1380,5.25,CSH,20.5 +VTS,1,1,900,6.1,CSH,19.5 +VTS,1,3,480,2.34,CSH,9 +VTS,1,2,180,0.79,CRD,4.5 +VTS,1,2,1140,1.83,CSH,13 +VTS,1,1,2940,11.33,CRD,42.5 +VTS,1,1,480,1.09,CSH,7.5 +VTS,1,1,900,1.79,CSH,11 +VTS,1,1,1620,7.16,CSH,26.5 +VTS,1,1,1860,13.88,CSH,41.5 +VTS,1,2,300,0.73,CRD,5 +VTS,1,1,420,1.34,CSH,7 +VTS,1,1,900,2.45,CRD,11.5 +VTS,1,1,420,1.14,CRD,7 +VTS,1,1,480,1.06,CSH,7.5 +VTS,1,1,480,1.55,CSH,7.5 +VTS,1,1,360,0.7,CRD,5.5 +VTS,1,1,1620,5.81,CSH,21 +VTS,1,1,780,0.87,CRD,9 +VTS,1,1,780,2.59,CRD,11 +VTS,1,1,1380,6.29,CRD,22.5 +VTS,1,1,960,8.83,CSH,25 +VTS,1,2,540,0.81,CSH,7.5 +VTS,2,1,2340,17.8,CRD,52 +VTS,1,1,120,0.58,CRD,4 +VTS,1,1,720,2.2,CSH,10.5 +VTS,1,1,660,3.44,CSH,13 +VTS,1,1,1200,6.71,CRD,22 +VTS,1,4,1620,9.71,CRD,30 +VTS,1,1,780,1.24,CSH,9.5 +VTS,1,2,780,2.05,CRD,10.5 +VTS,1,1,540,1.62,CRD,8.5 +VTS,1,1,1200,3.28,CSH,15 +VTS,1,1,540,0.98,CRD,7 +VTS,1,1,180,0.36,CSH,3.5 +VTS,1,1,480,0.59,CRD,6 +VTS,1,1,2280,12.11,CRD,38.5 +VTS,1,1,1080,2.16,CRD,13 +VTS,1,1,600,1.45,CSH,7.5 +VTS,1,1,600,1.15,CSH,8 +VTS,1,1,120,0.52,CSH,4 +VTS,1,1,1200,1.82,CSH,13 +VTS,1,1,1500,2.57,CSH,16.5 +VTS,1,1,420,1.19,CSH,7 +VTS,1,1,600,1.71,CSH,9 +VTS,1,1,1020,9.43,CSH,27 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,900,0.74,CRD,10 +VTS,1,1,480,0.74,CRD,7 +VTS,1,3,360,0.89,CSH,6 +VTS,1,1,660,1.75,CSH,9.5 +VTS,1,4,420,1.3,CSH,7 +VTS,1,1,480,1.76,CRD,7.5 +VTS,1,3,360,0.56,CSH,5 +VTS,1,2,540,2.34,CSH,9.5 +VTS,1,1,1380,8.79,CSH,27 +VTS,1,1,480,0.69,CSH,6.5 +VTS,1,1,420,0.86,CRD,6 +VTS,1,2,360,1.28,CSH,7 +VTS,1,4,840,2.12,CRD,11.5 +VTS,1,1,600,1.49,CSH,8.5 +VTS,1,1,1380,4.64,CRD,18 +VTS,1,1,420,1.28,CSH,7 +VTS,1,1,900,1.6,CSH,11 +VTS,1,1,60,0.38,CSH,3.5 +VTS,2,1,1920,16.63,CSH,52 +VTS,1,3,1020,4.3,CRD,17 +VTS,1,1,480,1.48,CSH,7.5 +VTS,1,2,1620,5.26,CRD,21.5 +VTS,1,3,420,0.74,CRD,6 +VTS,1,2,840,3.49,CSH,13.5 +VTS,1,1,420,1.28,CRD,7 +VTS,1,1,1440,1.05,CRD,14 +VTS,1,1,60,0.01,CRD,2.5 +VTS,1,1,720,0.79,CRD,7.5 +VTS,1,1,420,2.68,CRD,9 +VTS,1,2,240,0.79,CRD,5 +VTS,1,1,600,3.5,CRD,11.5 +VTS,1,1,480,1.47,CSH,7.5 +VTS,1,1,240,0.82,CSH,5 +VTS,1,1,360,1.71,CSH,7.5 +VTS,1,1,1320,5.85,CRD,21 +VTS,1,1,1260,9.6,CSH,28.5 +VTS,1,1,420,0.98,CRD,6.5 +VTS,1,1,1620,14.17,CRD,39.5 +VTS,1,1,1500,9.06,CSH,28.5 +VTS,1,1,1140,6.59,CRD,21 +VTS,1,4,1320,5.79,CSH,21.5 +VTS,1,1,720,2.61,CSH,11 +VTS,1,1,480,1.66,CRD,8 +VTS,1,1,1440,9.48,CRD,29.5 +VTS,1,1,600,2.25,CSH,10 +VTS,1,1,600,2.3,CSH,10 +VTS,1,1,240,0.69,CSH,5 +VTS,1,1,900,2.28,CSH,10.5 +VTS,1,3,480,1.26,CSH,7.5 +VTS,1,1,960,4.15,CRD,15 +VTS,1,1,2280,12.13,CSH,36.5 +VTS,1,1,780,1,CRD,9.5 +VTS,1,1,1320,5.01,CSH,18.5 +VTS,1,1,420,0.8,CSH,6 +VTS,1,1,600,1.21,CSH,8 +VTS,1,1,1800,2.54,CRD,19 +VTS,1,1,480,1.31,CRD,7 +VTS,1,1,480,0.72,CRD,6.5 +VTS,1,1,600,2.02,CRD,9.5 +VTS,1,1,1200,1.43,CRD,12.5 +VTS,1,1,900,4.75,CSH,17 +VTS,1,3,1020,2.13,CRD,12.5 +VTS,1,1,1080,2.83,CRD,14 +VTS,1,1,180,0.83,CRD,5 +VTS,1,1,780,3.42,CSH,13.5 +VTS,1,1,960,7.42,CSH,22.5 +VTS,1,2,240,0.67,CSH,4.5 +VTS,1,1,600,1.75,CRD,9 +VTS,1,1,780,2.43,CRD,10.5 +VTS,1,1,1500,7.26,CRD,25.5 +VTS,1,1,1560,8.61,CRD,28.5 +VTS,1,1,1920,15.38,CRD,44 +VTS,1,1,960,2.35,CSH,12 +VTS,1,1,540,1.21,CRD,7.5 +VTS,1,1,360,1.66,CSH,7 +VTS,1,1,600,1.29,CRD,8 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,5,2,0,0,CRD,58.5 +VTS,1,1,960,10.94,CSH,30 +VTS,1,1,540,1.59,CRD,8.5 +VTS,1,3,420,1.37,CSH,7 +VTS,1,1,420,2.28,CRD,9 +VTS,1,1,900,4.19,CRD,15 +VTS,1,1,360,1.65,CSH,7.5 +VTS,1,2,2280,11.41,CSH,36 +VTS,1,1,600,0.92,CSH,7.5 +VTS,1,1,360,1.02,CRD,6.5 +VTS,1,1,480,1.26,CRD,8 +VTS,1,1,480,0.94,CSH,6.5 +VTS,1,1,420,0.67,CSH,6 +VTS,1,1,840,1.45,CRD,10.5 +VTS,1,1,1380,2.87,CSH,16 +VTS,1,1,720,1.69,CRD,9 +VTS,1,2,1740,11.93,CRD,35.5 +VTS,1,1,480,1.46,CRD,7.5 +VTS,1,1,1080,3.52,CSH,14.5 +VTS,1,1,240,0.45,CRD,4.5 +VTS,1,1,1140,1.74,CSH,10.5 +VTS,1,3,2700,17.05,CSH,52.5 +VTS,1,1,240,0.38,CRD,4.5 +VTS,1,2,1980,3.53,CSH,21 +VTS,1,1,660,1.52,CRD,8.5 +VTS,1,1,1080,3.78,CRD,15.5 +VTS,1,2,1380,9.43,CSH,29.5 +VTS,1,2,1140,3.99,CRD,16 +VTS,1,1,1620,3.52,CRD,18.5 +VTS,1,1,960,3.77,CRD,15.5 +VTS,1,1,360,1.06,CRD,6 +VTS,1,1,540,1.19,CSH,7.5 +VTS,1,1,1500,10.77,CRD,31 +VTS,1,1,840,3.61,CRD,14 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,600,1.34,CRD,8.5 +VTS,1,1,360,1.07,CSH,6 +VTS,1,1,300,1.06,CRD,5.5 +VTS,1,1,240,1.44,CRD,6.5 +VTS,1,1,960,8.66,CRD,25 +VTS,1,1,660,2.33,CSH,10 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,1560,7.81,CRD,26.5 +VTS,1,1,1140,12.21,CRD,34 +VTS,5,2,0,0,CRD,58 +VTS,1,1,1620,11.42,CSH,35 +VTS,1,1,780,2.77,CRD,12 +VTS,1,1,720,1.33,CSH,9 +VTS,1,2,540,0.84,CSH,7 +VTS,1,1,240,0.87,CSH,5 +VTS,1,2,540,1.99,CSH,9 +VTS,1,2,720,1.66,CSH,9.5 +VTS,1,1,540,1.51,CSH,8 +VTS,1,1,660,1.09,CSH,8.5 +VTS,1,1,1020,2.92,CRD,13 +VTS,1,1,600,1.2,CRD,8 +VTS,1,1,720,1.87,CRD,10 +VTS,1,1,1020,2.33,CRD,12.5 +VTS,1,1,660,1.21,CSH,8.5 +VTS,1,1,1320,4.4,CSH,18 +VTS,1,1,360,0.77,CRD,5.5 +VTS,1,1,600,1.74,CRD,8.5 +VTS,1,1,360,0.96,CSH,6 +VTS,1,1,240,0.31,CRD,4 +VTS,1,1,1200,3.34,CSH,15.5 +VTS,1,1,1020,2.19,CSH,12 +VTS,1,1,840,1.51,CRD,10 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,240,0.69,CSH,5 +VTS,1,1,780,2.49,CRD,11 +VTS,1,1,420,1.42,CSH,7.5 +VTS,1,1,780,2.03,CRD,10.5 +VTS,1,1,240,0.53,CRD,4.5 +VTS,1,1,780,8.26,CSH,24 +VTS,1,1,2100,8.52,CRD,32 +VTS,1,1,660,1.7,CSH,8.5 +VTS,1,1,2220,11.36,CRD,37.5 +VTS,1,1,540,1.11,CRD,7.5 +VTS,1,3,1440,2.89,CRD,17 +VTS,1,1,1320,3.26,CRD,16.5 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,2,420,1.96,CSH,8 +VTS,1,1,960,2.36,CSH,12 +VTS,1,1,480,1.08,CRD,7.5 +VTS,1,1,60,0.33,CRD,3 +VTS,1,1,1440,11.39,CSH,34 +VTS,1,6,1500,11.33,CRD,32.5 +VTS,1,5,240,0.68,CRD,5 +VTS,1,4,360,0.85,CSH,6 +VTS,1,5,1680,3.75,CRD,20 +VTS,1,4,300,0.86,CSH,5.5 +VTS,1,5,660,3.25,CRD,11.5 +VTS,1,5,300,0.75,CRD,5.5 +VTS,1,1,360,0.26,CRD,5.5 +VTS,1,6,1680,3.65,CSH,19.5 +VTS,1,6,600,1.55,CRD,8.5 +VTS,1,1,1680,5.62,CSH,23 +VTS,1,6,360,1.01,CSH,6 +VTS,1,6,480,0.81,CSH,7 +VTS,1,6,600,2.38,CRD,10 +VTS,1,6,720,2.26,CRD,10.5 +VTS,1,1,660,2.51,CSH,11 +VTS,1,6,1200,2.15,CRD,13.5 +VTS,1,6,420,1.79,CRD,8 +VTS,1,6,480,1.79,CRD,8.5 +VTS,1,6,780,1.81,CRD,10 +VTS,1,6,300,0.99,CRD,6 +VTS,1,1,1380,9.79,CRD,29.5 +VTS,1,1,180,0.95,CRD,5.5 +VTS,1,1,1020,2.11,CRD,12.5 +VTS,1,1,360,0.87,CSH,6.5 +VTS,1,2,600,1.96,CRD,9.5 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,1020,1.89,CRD,12 +VTS,1,1,1080,3.12,CRD,14.5 +VTS,1,1,420,1.06,CRD,6.5 +VTS,1,3,540,1.06,CSH,7.5 +VTS,1,1,420,1.13,CSH,7 +VTS,1,1,1080,1.71,CSH,11.5 +VTS,1,1,300,1.33,CSH,6.5 +VTS,1,1,420,1.02,CSH,6.5 +VTS,1,1,1860,3.97,CSH,21 +VTS,1,1,1080,5.13,CRD,17.5 +VTS,1,1,660,1.62,CSH,9 +VTS,1,1,540,0.67,CRD,6.5 +VTS,1,1,1020,2.27,CSH,12.5 +VTS,1,1,1380,2.5,CSH,15.5 +VTS,1,1,180,0.5,CSH,4 +VTS,1,1,660,1.93,CRD,9 +VTS,1,1,1260,8.36,CSH,25.5 +VTS,1,4,300,1.07,CRD,6 +VTS,1,6,600,1.84,CSH,9 +VTS,1,6,960,4.24,CRD,15.5 +VTS,1,1,540,0.86,CSH,7.5 +VTS,1,1,360,1.42,CRD,7 +VTS,1,1,360,0.41,CRD,5 +VTS,1,1,480,0.96,CSH,6.5 +VTS,1,1,540,1.73,CRD,8.5 +VTS,2,1,2340,19.55,CRD,52 +VTS,1,1,2220,11.36,CRD,35 +VTS,1,1,840,1.78,CSH,11 +VTS,1,1,1020,1.28,CRD,11.5 +VTS,1,1,420,2.38,CSH,9 +VTS,1,1,1260,2,CSH,13.5 +VTS,1,1,120,0.32,CSH,3.5 +VTS,1,1,1200,9.28,CSH,27 +VTS,1,1,780,1.9,CRD,10 +VTS,1,1,420,1.56,CSH,7.5 +VTS,1,1,840,2.32,CRD,11.5 +VTS,1,1,1800,12.61,CRD,37.5 +VTS,1,1,360,1.01,CSH,6 +VTS,1,1,480,1.22,CRD,7 +VTS,1,2,600,1.62,CRD,8 +VTS,1,1,1320,2.25,CRD,14 +VTS,1,1,960,3.07,CSH,13.5 +VTS,1,1,300,0.6,CRD,5 +VTS,1,1,660,0.67,CSH,8 +VTS,2,1,2220,17.6,CRD,52 +VTS,1,1,480,0.82,CSH,6.5 +VTS,1,1,660,1.23,CSH,8 +VTS,1,1,480,1.1,CSH,7 +VTS,1,1,720,1.23,CRD,9 +VTS,1,1,300,0.48,CSH,5 +VTS,1,1,840,2.75,CRD,12 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,300,0.76,CSH,5.5 +VTS,1,1,540,0.78,CSH,7 +VTS,1,1,180,0.55,CRD,4 +VTS,1,1,300,0.71,CSH,5 +VTS,1,1,360,0.85,CSH,6 +VTS,1,2,360,1.6,CSH,7.5 +VTS,1,1,840,2.22,CRD,11 +VTS,1,2,420,0.92,CSH,6.5 +VTS,1,2,1380,1.58,CSH,15 +VTS,1,1,2100,10.31,CSH,35.5 +VTS,1,4,420,1.75,CRD,8 +VTS,1,6,360,1.9,CRD,7.5 +VTS,1,5,1140,2.57,CSH,13.5 +VTS,1,4,480,1.68,CRD,8.5 +VTS,1,5,480,1.39,CSH,7.5 +VTS,1,5,1080,2.21,CRD,13 +VTS,1,6,180,0.64,CRD,4.5 +VTS,1,6,540,2.37,CSH,9.5 +VTS,1,6,780,0.95,CSH,9.5 +VTS,1,6,300,1.15,CSH,6.5 +VTS,1,1,480,1.16,CRD,8 +VTS,1,1,720,1.53,CSH,9.5 +VTS,1,1,1260,4.07,CRD,17.5 +VTS,1,1,1320,3.3,CSH,16.5 +VTS,1,2,240,0.67,CRD,5 +VTS,1,2,540,0.86,CRD,7 +VTS,1,2,240,1.14,CSH,5.5 +VTS,1,2,780,1.82,CRD,10.5 +VTS,1,1,480,1.74,CRD,8 +VTS,1,1,960,2.03,CRD,11.5 +VTS,1,1,420,1.36,CSH,7 +VTS,1,1,180,0.22,CSH,3.5 +VTS,1,1,60,0,CSH,2.5 +VTS,1,1,300,0.66,CSH,5 +VTS,2,1,2700,16.97,CRD,52 +VTS,1,2,1200,4.55,CRD,17 +VTS,1,1,1380,0.98,CSH,14 +VTS,1,2,1260,3.5,CSH,15.5 +VTS,1,1,600,0.78,CSH,8 +VTS,1,1,240,0.45,CSH,4.5 +VTS,1,1,780,1.82,CRD,10.5 +VTS,1,5,1200,4.35,CRD,17 +VTS,1,5,600,2.13,CSH,9.5 +VTS,1,4,720,2.02,CSH,10 +VTS,1,3,720,2.61,CSH,11.5 +VTS,1,6,600,0.88,CRD,7.5 +VTS,1,3,240,0.44,CSH,4.5 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,1620,3.4,CRD,18.5 +VTS,1,1,1260,5.7,CSH,20.5 +VTS,1,1,360,0.52,CRD,5.5 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,660,1.47,CSH,9 +VTS,1,1,300,1.11,CSH,6 +VTS,1,2,1740,7.53,CRD,23 +VTS,1,1,2340,12.07,CRD,41 +VTS,1,1,1140,2.65,CSH,14 +VTS,1,1,480,1.27,CRD,7.5 +VTS,1,1,1560,4.51,CSH,20.5 +VTS,1,1,480,1.94,CRD,8 +VTS,1,1,540,0.94,CSH,7 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,3,600,1.17,CRD,8 +VTS,1,2,1620,9.37,CRD,30.5 +VTS,1,1,840,3.65,CRD,14 +VTS,1,1,960,2.23,CRD,12.5 +VTS,1,1,1200,8.64,CRD,25 +VTS,1,5,1680,7.76,CRD,27 +VTS,1,5,1380,3.18,CSH,16.5 +VTS,1,5,420,1.85,CSH,8 +VTS,3,2,1560,17.98,CRD,65.5 +VTS,1,5,420,1.65,CRD,7.5 +VTS,1,1,240,0.64,CRD,4.5 +VTS,1,1,1080,5.32,CSH,18 +VTS,1,2,1440,12.03,CRD,34.5 +VTS,1,1,900,1.8,CSH,11 +VTS,1,6,720,5.47,CRD,16.5 +VTS,1,3,360,1.35,CSH,7 +VTS,1,5,600,2.19,CRD,10 +VTS,1,5,960,6.1,CRD,20.5 +VTS,1,5,480,1.21,CSH,7 +VTS,1,6,540,1.92,CSH,9 +VTS,1,6,600,2,CRD,9.5 +VTS,1,6,240,0.96,CSH,5.5 +VTS,1,6,300,1.1,CSH,6 +VTS,1,6,720,2.72,CSH,11 +VTS,1,6,300,0.54,CRD,5 +VTS,1,6,1080,2.38,CRD,13 +VTS,1,6,360,0.72,CRD,6 +VTS,1,6,1320,6.03,CSH,21.5 +VTS,1,6,540,2.97,CRD,10.5 +VTS,1,6,120,0.84,CSH,4.5 +VTS,1,6,1440,6.21,CRD,22 +VTS,1,1,540,1.54,CRD,8 +VTS,1,6,180,0.47,CSH,4.5 +VTS,1,1,540,1.09,CSH,7.5 +VTS,1,6,240,0.92,CRD,5.5 +VTS,1,6,1020,2.33,CRD,13 +VTS,1,6,480,2.4,CRD,9.5 +VTS,1,6,1200,6.11,CRD,20 +VTS,1,6,300,1.03,CSH,6 +VTS,1,6,360,0.96,CSH,6 +VTS,1,6,720,2.34,CSH,10.5 +VTS,1,6,300,0.96,CRD,6 +VTS,1,6,900,2.18,CSH,11.5 +VTS,1,6,480,1.45,CSH,7.5 +VTS,1,6,480,1.11,CRD,7.5 +VTS,1,6,960,2.69,CSH,13 +VTS,1,6,540,1.25,CSH,7.5 +VTS,1,6,300,0.86,CSH,6 +VTS,1,6,660,1.67,CRD,9.5 +VTS,1,6,900,4.59,CSH,16 +VTS,1,6,180,1.22,CSH,5.5 +VTS,1,6,2220,11.91,CRD,35 +VTS,1,6,1020,2.06,CRD,12 +VTS,1,6,600,2.17,CRD,9.5 +VTS,1,6,120,1.08,CRD,5 +VTS,1,6,420,2.04,CRD,8.5 +VTS,1,1,360,0.88,CSH,6 +VTS,1,6,660,2.45,CRD,10 +VTS,1,6,1260,5.55,CSH,20.5 +VTS,1,6,420,1.37,CSH,7.5 +VTS,1,6,780,2.08,CSH,11 +VTS,1,6,300,1.86,CRD,7 +VTS,1,6,480,2.12,CSH,9 +VTS,1,6,480,3.22,CRD,11 +VTS,1,1,540,1.77,CSH,8.5 +VTS,1,6,540,2,CSH,9 +VTS,1,1,1200,5.19,CRD,19 +VTS,1,6,300,1.13,CRD,6 +VTS,1,6,180,0.84,CSH,4.5 +VTS,1,6,1080,4.11,CSH,16.5 +VTS,1,6,1680,5.09,CRD,23 +VTS,1,6,900,2.81,CRD,13 +VTS,1,6,900,3.24,CSH,13.5 +VTS,1,6,780,4.79,CRD,16 +VTS,1,6,180,0.91,CRD,5 +VTS,1,6,480,2.78,CRD,9.5 +VTS,1,6,840,4.12,CRD,14.5 +VTS,1,6,1200,1.63,CRD,13.5 +VTS,1,6,540,0.85,CSH,7.5 +VTS,1,6,240,0.55,CSH,4.5 +VTS,1,6,360,0.88,CRD,5.5 +VTS,1,6,420,1.75,CRD,8 +VTS,1,6,1380,4.55,CSH,18 +VTS,1,6,1020,3.76,CSH,15 +VTS,1,6,840,1.91,CSH,11 +VTS,1,6,540,2.65,CRD,10 +VTS,1,5,540,1.37,CRD,7.5 +VTS,1,6,960,2.46,CSH,12.5 +VTS,1,6,780,2.37,CRD,11 +VTS,1,6,900,2.16,CSH,11.5 +VTS,1,1,420,1.05,CRD,7 +VTS,1,1,780,2.77,CSH,12 +VTS,1,1,480,1.27,CRD,7.5 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,2,360,1.24,CSH,6.5 +VTS,1,1,720,1.81,CSH,10 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,180,0.37,CRD,4 +VTS,1,1,420,1,CSH,6 +VTS,1,1,1320,8.35,CSH,26 +VTS,1,1,1260,3.21,CRD,15.5 +VTS,1,1,900,1.83,CSH,11.5 +VTS,1,1,1320,8.77,CSH,26.5 +VTS,1,2,1320,4.96,CSH,19 +VTS,1,1,600,1.02,CRD,8 +VTS,1,1,540,2.54,CSH,10 +VTS,1,1,780,2.82,CSH,12 +VTS,1,1,780,3.27,CRD,13 +VTS,1,1,1740,11.05,CRD,34 +VTS,1,1,360,1.11,CRD,6 +VTS,1,3,780,1.61,CSH,10 +VTS,1,2,780,1.84,CRD,10 +VTS,1,1,720,1.73,CSH,10 +VTS,1,2,540,0.91,CRD,7 +VTS,1,1,780,2.31,CRD,11.5 +VTS,1,1,900,8.71,CRD,25 +VTS,1,6,660,2.17,CSH,10 +VTS,1,6,540,3.01,CSH,11.5 +VTS,1,6,780,2.63,CSH,11.5 +VTS,1,6,1200,7.49,CSH,22.5 +VTS,1,6,720,2.1,CRD,10 +VTS,1,1,360,1.61,CSH,7.5 +VTS,1,6,960,4.11,CSH,15.5 +VTS,1,6,660,1.4,CSH,9 +VTS,1,6,1020,2.12,CRD,12 +VTS,1,6,480,1.55,CRD,8 +VTS,1,6,1020,3.6,CRD,14.5 +VTS,1,6,480,1.32,CSH,7.5 +VTS,1,6,240,0.64,CSH,5 +VTS,1,1,840,2.9,CSH,12 +VTS,1,6,1200,3.58,CRD,16.5 +VTS,1,6,360,0.96,CSH,6 +VTS,1,2,1500,2.61,CSH,16 +VTS,1,1,660,2.3,CSH,10 +VTS,1,1,1080,3.81,CSH,15 +VTS,1,2,1140,7.21,CRD,23.5 +VTS,1,2,420,1.22,CSH,6.5 +VTS,1,2,300,0.62,CSH,5.5 +VTS,1,2,660,2.62,CRD,11 +VTS,1,2,360,0.64,CRD,5.5 +VTS,1,2,720,1.79,CRD,9.5 +VTS,1,2,240,1.18,CRD,5.5 +VTS,1,1,720,5.66,CSH,18 +VTS,1,1,1860,10.83,CSH,33 +VTS,1,5,660,1.43,CRD,9 +VTS,1,5,540,2.23,CRD,9 +VTS,1,5,960,2.25,CRD,12 +VTS,1,4,600,0.81,CRD,8 +VTS,1,1,540,1,CSH,7 +VTS,1,6,540,2.44,CRD,10 +VTS,1,1,720,0.8,CSH,9 +VTS,1,6,780,1.55,CSH,9.5 +VTS,1,6,720,3.97,CRD,14 +VTS,1,6,2160,13.18,CSH,40 +VTS,1,6,480,1.47,CSH,7.5 +VTS,1,6,540,1.81,CRD,9 +VTS,1,6,120,0.3,CSH,3.5 +VTS,1,6,600,4.81,CSH,15.5 +VTS,1,6,780,1.91,CRD,10.5 +VTS,1,6,900,3.53,CSH,13.5 +VTS,1,6,480,1.09,CRD,7 +VTS,1,6,420,1.18,CSH,6.5 +VTS,1,6,360,1.83,CSH,7.5 +VTS,1,6,240,0.48,CSH,4.5 +VTS,1,6,360,1.1,CRD,6 +VTS,1,6,600,1.64,CRD,8.5 +VTS,1,6,300,0.93,CSH,5.5 +VTS,1,6,1440,5.29,CRD,20.5 +VTS,1,6,420,1.46,CRD,7 +VTS,1,6,660,2.21,CRD,10.5 +VTS,1,6,420,0.75,CSH,6 +VTS,1,6,300,1.67,CSH,6.5 +VTS,1,6,180,0.64,CSH,4.5 +VTS,1,6,300,1.57,CRD,6.5 +VTS,1,6,120,0.34,CSH,3.5 +VTS,1,6,480,2.02,CRD,9 +VTS,1,6,600,1.66,CRD,9 +VTS,1,6,660,1.55,CRD,9 +VTS,1,6,540,2.09,CRD,9 +VTS,1,6,600,3.6,CRD,12 +VTS,1,6,720,2.68,CSH,11 +VTS,1,6,780,2.54,CRD,11 +VTS,1,6,420,1.35,CRD,7 +VTS,1,6,780,1.58,CRD,9.5 +VTS,1,1,780,3.16,CRD,12.5 +VTS,1,6,240,1.58,CRD,6.5 +VTS,1,6,360,1.3,CRD,7 +VTS,1,6,660,1.65,CSH,8.5 +VTS,1,6,300,0.88,CSH,5.5 +VTS,1,6,540,1.84,CRD,9 +VTS,1,6,960,3.32,CRD,13.5 +VTS,1,6,660,1.81,CRD,9.5 +VTS,1,6,540,1.27,CRD,8 +VTS,1,6,420,1.04,CRD,6.5 +VTS,1,6,540,1.14,CRD,7.5 +VTS,1,2,360,0.41,CSH,5 +VTS,1,1,1200,5.14,CSH,19 +VTS,1,2,480,1.88,CRD,9 +VTS,1,2,1680,3.99,CSH,19 +VTS,1,2,1560,7.27,CSH,24.5 +VTS,1,2,180,0.9,CRD,4.5 +VTS,1,1,780,2.44,CRD,11.5 +VTS,1,2,2760,13.29,CRD,44.5 +VTS,1,2,540,1.16,CSH,7.5 +VTS,1,2,600,1.83,CRD,9 +VTS,1,2,300,0.86,CSH,5.5 +VTS,1,2,960,4.06,CRD,15.5 +VTS,1,2,600,2.7,CRD,10.5 +VTS,3,2,1920,18.4,CSH,69 +VTS,1,2,300,1.51,CSH,6.5 +VTS,1,2,600,5.45,CRD,16.5 +VTS,1,2,180,0.6,CRD,4.5 +VTS,1,2,1020,3.93,CRD,15 +VTS,1,1,360,1.51,CSH,7 +VTS,1,2,1020,2.9,CRD,13.5 +VTS,1,2,300,1.87,CSH,7.5 +VTS,1,2,540,1.34,CRD,8 +VTS,1,2,540,1.34,CRD,7.5 +VTS,1,2,300,0.83,CSH,5.5 +VTS,1,2,480,0.95,CSH,7 +VTS,1,2,180,1.14,CSH,5 +VTS,1,6,540,1.04,CRD,7.5 +VTS,1,6,720,3.47,CSH,13 +VTS,1,6,300,1.42,CSH,6.5 +VTS,1,6,660,1.96,CRD,9.5 +VTS,1,6,900,1.72,CSH,11.5 +VTS,1,6,780,2.77,CRD,12 +VTS,1,6,420,1.74,CRD,8 +VTS,1,6,1200,4.95,CRD,19 +VTS,1,6,480,3.3,CRD,11 +VTS,1,6,240,1.84,CRD,7 +VTS,1,6,240,0.98,CRD,5.5 +VTS,1,6,840,3.01,CRD,12.5 +VTS,1,6,660,1.73,CRD,9.5 +VTS,1,6,1020,4.35,CRD,15 +VTS,1,1,240,0.67,CSH,5 +VTS,1,6,900,6.01,CRD,19 +VTS,1,6,900,3.49,CRD,13 +VTS,1,6,1020,3.31,CSH,14.5 +VTS,1,6,300,1.21,CRD,6 +VTS,1,6,1080,3.62,CRD,14.5 +VTS,1,6,1020,4.01,CRD,15 +VTS,1,6,1080,4.42,CRD,16 +VTS,1,6,660,1.41,CRD,9 +VTS,1,6,600,1.42,CRD,9 +VTS,1,6,900,4.65,CRD,16.5 +VTS,1,6,180,0.44,CSH,4 +VTS,1,6,240,1.43,CRD,6 +VTS,1,6,300,1.8,CRD,7 +VTS,1,6,1080,2.55,CSH,13.5 +VTS,1,6,480,0.81,CSH,7 +VTS,1,6,600,1.53,CSH,8.5 +VTS,1,6,600,2.6,CRD,10.5 +VTS,1,6,840,3.14,CRD,12.5 +VTS,1,6,180,0.85,CRD,4.5 +VTS,1,6,1440,7.04,CRD,24 +VTS,1,6,540,1.93,CSH,8.5 +VTS,1,6,780,1.68,CRD,10 +VTS,1,6,960,3.1,CSH,14 +VTS,1,6,300,1.27,CRD,6 +VTS,1,6,900,4.4,CSH,15 +VTS,1,6,300,1.05,CRD,5.5 +VTS,1,6,240,0.91,CSH,5 +VTS,1,6,360,0.79,CSH,5.5 +VTS,1,6,180,1.26,CRD,5.5 +VTS,1,6,720,2.59,CRD,11.5 +VTS,1,6,240,0.84,CSH,5 +VTS,1,6,480,1.55,CSH,8 +VTS,1,6,540,2.61,CSH,10 +VTS,1,6,780,2.53,CRD,12 +VTS,1,6,720,3.67,CSH,13 +VTS,1,6,600,2.55,CRD,10 +VTS,1,6,300,1.47,CRD,6.5 +VTS,1,6,240,0.97,CSH,5.5 +VTS,1,6,360,1.11,CSH,6 +VTS,1,1,1020,9.13,CSH,26 +VTS,1,1,900,3.12,CSH,13.5 +VTS,1,1,780,4.52,CRD,15.5 +VTS,1,1,660,1.27,CSH,9 +VTS,1,1,1260,2.52,CRD,14 +VTS,1,1,1080,8.43,CRD,25 +VTS,1,1,1680,10.6,CRD,32 +VTS,1,1,1740,6.57,CSH,26 +VTS,1,1,1560,10.92,CRD,33.5 +VTS,1,1,1440,10.75,CSH,31 +VTS,1,5,900,2.83,CSH,12.5 +VTS,1,6,420,1.56,CSH,8 +VTS,1,1,240,0.72,CSH,5 +VTS,1,6,300,0.92,CRD,5.5 +VTS,1,6,540,1.48,CSH,8 +VTS,1,1,360,0.97,CSH,5.5 +VTS,1,6,180,0.73,CSH,4.5 +VTS,1,6,600,3.16,CSH,11.5 +VTS,1,6,1080,2.91,CRD,13.5 +VTS,1,6,900,2.76,CRD,12.5 +VTS,1,6,660,2.11,CSH,9.5 +VTS,1,6,300,0.55,CSH,5 +VTS,1,1,660,1.46,CSH,9 +VTS,1,6,1080,2.37,CSH,13.5 +VTS,1,6,2040,9.28,CRD,32.5 +VTS,1,6,600,2.28,CSH,10 +VTS,1,6,480,1.36,CRD,7 +VTS,1,6,300,0.6,CSH,5 +VTS,1,6,720,2.96,CRD,12 +VTS,1,6,1860,7.2,CRD,26 +VTS,1,6,300,0.8,CRD,5.5 +VTS,1,6,480,1.96,CRD,9 +VTS,1,6,600,1.13,CSH,8 +VTS,1,6,480,0.55,CRD,6.5 +VTS,1,6,180,0.84,CRD,5 +VTS,1,6,900,3.45,CSH,14.5 +VTS,1,6,1440,3.93,CRD,17.5 +VTS,1,6,2280,10.14,CRD,35 +VTS,1,6,480,1.32,CRD,8 +VTS,1,6,120,0.79,CRD,4.5 +VTS,1,6,600,1.96,CRD,9 +VTS,1,6,540,1.21,CRD,7.5 +VTS,1,6,660,2.44,CRD,10.5 +VTS,1,6,720,2.93,CSH,12 +VTS,1,6,360,1.13,CRD,6.5 +VTS,1,2,780,2.81,CSH,12.5 +VTS,1,2,720,3,CRD,12 +VTS,1,2,360,1.16,CSH,6.5 +VTS,1,2,720,3.25,CSH,11.5 +VTS,1,2,660,1.82,CRD,9.5 +VTS,1,2,960,2.85,CRD,13 +VTS,1,2,480,2.35,CSH,9 +VTS,1,2,1260,6.33,CRD,21 +VTS,1,6,1800,5.75,CRD,24 +VTS,1,6,420,1.86,CSH,8.5 +VTS,1,6,420,1.42,CSH,7 +VTS,1,6,2160,11.21,CRD,35.5 +VTS,1,6,720,2.69,CRD,11.5 +VTS,1,6,480,1.51,CSH,7.5 +VTS,1,1,1200,4.02,CRD,17 +VTS,1,6,600,1.29,CSH,8.5 +VTS,1,6,600,1.94,CRD,9 +VTS,1,6,120,0.9,CSH,4.5 +VTS,1,6,360,1.04,CSH,6 +VTS,1,6,240,1.11,CRD,5.5 +VTS,1,6,420,1.16,CRD,7 +VTS,1,6,240,0.81,CSH,5 +VTS,1,6,720,1.13,CSH,8.5 +VTS,1,6,1140,6.6,CSH,21.5 +VTS,1,6,1080,4.13,CRD,16 +VTS,1,6,1860,4.51,CRD,21.5 +VTS,1,6,360,2.38,CSH,8 +VTS,5,1,0,0,CRD,60 +VTS,2,6,3960,19.96,CRD,52 +VTS,1,6,420,1.62,CRD,7.5 +VTS,1,2,1080,6.14,CRD,20 +VTS,1,2,1260,4.45,CRD,17.5 +VTS,1,2,1080,5.08,CRD,18 +VTS,1,2,600,2.36,CSH,10 +VTS,1,2,180,0.97,CRD,5.5 +VTS,1,6,300,1.15,CRD,6 +VTS,1,1,1260,3.51,CRD,15.5 +VTS,1,1,600,2.06,CRD,9 +VTS,1,6,360,1.05,CRD,6.5 +VTS,1,6,1020,3.33,CRD,14 +VTS,1,6,1020,3.59,CRD,14 +VTS,1,6,1080,5,CRD,18 +VTS,1,6,840,3.82,CRD,14 +VTS,1,6,240,0.93,CRD,5.5 +VTS,1,6,720,2.06,CRD,10 +VTS,1,6,660,3.91,CRD,13 +VTS,1,6,1980,17.12,CRD,48 +VTS,1,6,420,1.91,CSH,8 +VTS,1,6,540,1.19,CSH,7.5 +VTS,1,1,240,1.15,CSH,6 +VTS,1,6,300,0.69,CSH,5.5 +VTS,1,1,360,1.46,CRD,7 +VTS,1,6,540,1.86,CSH,9 +VTS,1,6,780,4.11,CSH,15 +VTS,1,6,600,1.51,CRD,9 +VTS,1,6,960,3.44,CSH,14 +VTS,1,1,420,1.31,CRD,7 +VTS,1,6,660,1.68,CRD,9.5 +VTS,1,6,1020,5.45,CRD,17.5 +VTS,1,6,720,2.27,CSH,11 +VTS,1,6,720,2.06,CSH,10 +VTS,1,6,360,1.89,CSH,8 +VTS,1,2,600,1.51,CSH,9 +VTS,1,2,180,0.79,CSH,4.5 +VTS,2,2,1920,18.14,CRD,52 +VTS,1,2,480,2.42,CSH,9 +VTS,1,2,240,1.27,CSH,6.5 +VTS,1,2,600,2.6,CRD,10 +VTS,1,2,240,0.94,CRD,5.5 +VTS,1,2,360,0.87,CRD,6 +VTS,1,2,360,1.69,CRD,7 +VTS,1,2,240,1.68,CSH,6.5 +VTS,1,2,1260,5.13,CRD,19 +VTS,1,2,360,1.85,CRD,7.5 +VTS,1,2,240,0.66,CSH,4.5 +VTS,1,2,600,3.15,CRD,11.5 +VTS,1,2,3780,10.9,CSH,44.5 +VTS,1,2,120,0.83,CSH,4.5 +VTS,1,2,300,0.97,CSH,5.5 +VTS,1,1,480,1.26,CRD,7 +VTS,1,2,1260,5.03,CRD,19 +VTS,1,2,780,3.07,CRD,13 +VTS,1,2,720,4.59,CSH,14.5 +VTS,1,2,1320,5.59,CSH,20.5 +VTS,1,2,420,0.48,CSH,5.5 +VTS,1,3,480,1.33,CSH,8 +VTS,1,2,300,1.59,CSH,6.5 +VTS,1,6,360,0.95,CSH,6 +VTS,1,6,600,3.68,CRD,12 +VTS,1,6,240,1.32,CSH,6 +VTS,1,6,480,2.37,CSH,9 +VTS,1,6,360,1.67,CRD,7 +VTS,1,6,360,1.39,CRD,7 +VTS,1,6,540,1.85,CRD,8.5 +VTS,1,6,660,1.99,CRD,10 +VTS,1,6,480,1.14,CRD,7 +VTS,1,6,420,1.59,CRD,8 +VTS,1,6,660,1.68,CSH,8.5 +VTS,1,6,720,2.29,CSH,11 +VTS,1,6,540,2.47,CSH,9.5 +VTS,1,6,540,1.8,CSH,9 +VTS,1,6,480,1.52,CRD,7.5 +VTS,1,6,900,2.8,CRD,12.5 +VTS,1,6,420,1.95,CRD,8 +VTS,1,6,840,3.34,CRD,13.5 +VTS,1,6,0,0.15,CSH,2.5 +VTS,1,6,660,1.74,CRD,9 +VTS,1,6,420,1.21,CRD,7 +VTS,1,2,420,1.56,CSH,7.5 +VTS,5,1,2160,11.74,CRD,100 +VTS,1,2,720,3.15,CSH,11.5 +VTS,1,2,240,0.75,CRD,5 +VTS,1,2,1500,6.54,CSH,23 +VTS,1,2,300,0.92,CRD,5.5 +VTS,1,2,600,2.3,CRD,10 +VTS,1,2,240,0.76,CRD,5 +VTS,1,2,1080,3.11,CRD,14 +VTS,1,2,480,1.99,CRD,8.5 +VTS,1,2,360,0.85,CSH,5.5 +VTS,1,2,780,1.03,CSH,9 +VTS,1,2,720,2.63,CSH,11 +VTS,1,2,660,2.96,CSH,11.5 +VTS,1,2,1020,3.95,CRD,16 +VTS,1,2,600,2.29,CSH,9.5 +VTS,1,2,660,2.9,CSH,11.5 +VTS,1,2,960,4.23,CSH,15 +VTS,1,2,480,1.02,CSH,6.5 +VTS,1,2,360,1.59,CRD,7.5 +VTS,1,2,120,0.71,CRD,4 +VTS,1,2,540,2.6,CSH,9.5 +VTS,1,2,180,0.71,CSH,4.5 +VTS,1,2,600,3.44,CRD,12 +VTS,1,2,240,1.51,CSH,6.5 +VTS,1,2,300,1.03,CRD,6 +VTS,1,2,780,6.02,CRD,19.5 +VTS,1,2,1260,6.12,CSH,21 +VTS,1,2,660,2.12,CSH,9.5 +VTS,1,2,1680,4.32,CRD,20 +VTS,1,2,540,2.5,CRD,10 +VTS,1,6,420,1.64,CSH,7.5 +VTS,1,6,840,2.82,CRD,11.5 +VTS,2,6,3180,16.04,CRD,52 +VTS,1,6,540,1.75,CSH,9 +VTS,1,6,540,1.85,CRD,8.5 +VTS,1,6,120,0.58,CSH,4 +VTS,2,2,3300,22.15,CRD,52 +VTS,1,2,240,1.33,CSH,6 +VTS,1,2,240,1.31,CRD,6 +VTS,1,2,660,2.03,CRD,10 +VTS,1,2,600,2.83,CRD,10.5 +VTS,1,2,480,1.81,CSH,7.5 +VTS,1,2,420,2.55,CSH,9.5 +VTS,1,2,540,1.76,CRD,8.5 +VTS,1,2,480,1.66,CSH,8.5 +VTS,1,2,720,1.79,CRD,10 +VTS,1,2,780,3.1,CSH,12.5 +VTS,1,2,180,0.7,CSH,4 +VTS,1,2,120,0.52,CSH,3.5 +VTS,1,2,900,2.4,CRD,11.5 +VTS,1,2,900,2.97,CRD,12.5 +VTS,1,2,420,0.99,CSH,6.5 +VTS,1,2,120,0.51,CRD,4 +VTS,1,2,420,0.9,CSH,6 +VTS,1,2,780,4.85,CSH,16 +VTS,1,2,180,0.67,CSH,4.5 +VTS,1,2,300,1.01,CRD,5.5 +VTS,1,2,420,2.15,CSH,8.5 +VTS,1,2,660,4.44,CSH,15.5 +VTS,1,2,600,4.21,CSH,14 +VTS,1,2,300,1.08,CSH,5.5 +VTS,1,2,780,3.24,CSH,12 +VTS,1,2,120,0.32,CRD,3.5 +VTS,1,2,180,0.57,CSH,4.5 +VTS,1,2,240,0.78,CSH,5 +VTS,1,2,720,4.01,CRD,14 +VTS,1,1,780,3.33,CRD,12.5 +VTS,1,2,60,0.68,CSH,4 +VTS,1,2,900,2.36,CSH,12 +VTS,1,2,240,0.75,CSH,5 +VTS,1,2,600,1.87,CSH,8.5 +VTS,1,2,420,1.68,CRD,7.5 +VTS,1,2,1140,5.89,CRD,19.5 +VTS,1,2,420,1.99,CRD,8.5 +VTS,1,1,420,2.21,CRD,8.5 +VTS,1,1,1020,4.51,CSH,16.5 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,120,0.76,CSH,4.5 +VTS,1,1,300,1.23,CRD,6.5 +VTS,1,1,420,0.89,CRD,6.5 +VTS,1,1,60,0.16,CSH,2.5 +VTS,1,1,900,5.51,CRD,17 +VTS,1,2,660,2.34,CRD,10 +VTS,1,2,600,1.56,CRD,9 +VTS,1,2,900,3.43,CRD,13.5 +VTS,1,2,960,2.24,CSH,12 +VTS,1,2,180,0.91,CRD,5 +VTS,1,2,960,5.79,CSH,18 +VTS,1,2,900,3.21,CSH,13 +VTS,1,2,420,1.26,CSH,7 +VTS,1,2,1320,4.7,CRD,19 +VTS,1,2,600,1.49,CRD,8.5 +VTS,1,2,660,1.48,CRD,8.5 +VTS,1,2,360,1.83,CRD,8 +VTS,1,2,420,1.32,CRD,6.5 +VTS,1,2,1380,4.96,CRD,19 +VTS,1,2,180,0.7,CSH,4.5 +VTS,1,2,60,0.33,CSH,3 +VTS,1,2,780,3.03,CRD,12 +VTS,1,2,660,2.95,CRD,11.5 +VTS,1,2,360,0.92,CSH,6 +VTS,1,2,1440,7.55,CSH,25 +VTS,1,2,300,1.32,CRD,6 +VTS,1,2,420,1.35,CSH,7.5 +VTS,1,1,780,5.03,CRD,16.5 +VTS,1,2,1680,6.18,CSH,23 +VTS,1,2,240,0.85,CSH,5 +VTS,1,2,240,0.53,CSH,5 +VTS,1,2,540,0.75,CRD,6.5 +VTS,1,2,360,1.04,CRD,6 +VTS,1,1,180,1.06,CSH,5 +VTS,1,2,480,1.3,CSH,7.5 +VTS,1,2,1620,17.35,CSH,47.5 +VTS,1,2,180,0.67,CSH,4 +VTS,1,2,60,0.45,CRD,3.5 +VTS,1,2,420,1.22,CSH,7 +VTS,1,2,660,1.79,CSH,9 +VTS,1,2,120,0.68,CRD,4 +VTS,1,2,900,3.04,CRD,12.5 +VTS,1,2,1560,3.6,CRD,17 +VTS,1,2,1140,5.24,CRD,18 +VTS,1,2,180,1.06,CSH,5 +VTS,1,2,300,1.39,CRD,7 +VTS,1,1,1020,3.5,CRD,15.5 +VTS,1,2,540,1.24,CSH,8 +VTS,1,2,360,1.12,CSH,6 +VTS,1,2,420,1.96,CRD,8.5 +VTS,1,2,660,1.23,CSH,9 +VTS,1,1,780,3.18,CSH,11.5 +VTS,1,2,240,0.6,CRD,4.5 +VTS,1,2,540,2.5,CRD,10 +VTS,1,2,1260,4.95,CRD,19 +VTS,1,2,780,4.12,CRD,14.5 +VTS,1,2,180,0.53,CRD,4 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,2,1020,1.91,CRD,12 +VTS,1,2,660,5.79,CRD,17.5 +VTS,1,2,420,1.71,CSH,7.5 +VTS,1,2,540,2.56,CRD,9.5 +VTS,1,2,660,2.74,CRD,11 +VTS,1,2,540,4.18,CRD,13 +VTS,1,2,720,1.69,CRD,10 +VTS,1,2,240,0.69,CRD,5 +VTS,1,2,480,2.21,CRD,9 +VTS,1,2,540,1.71,CSH,8.5 +VTS,1,2,420,1.5,CRD,7 +VTS,1,2,180,0.49,CSH,4.5 +VTS,2,2,3240,17.91,CRD,52 +VTS,1,2,600,1.84,CSH,9 +VTS,1,1,720,2.65,CRD,11 +VTS,1,2,900,2.07,CSH,11 +VTS,1,2,1020,4.39,CRD,16.5 +VTS,1,2,420,1.68,CSH,7.5 +VTS,1,2,60,0.06,CSH,3 +VTS,1,1,720,3.81,CRD,13 +VTS,1,2,180,0.65,CSH,4.5 +VTS,1,2,1020,5.21,CRD,18 +VTS,1,2,900,6.63,CSH,20 +VTS,1,2,780,2.12,CRD,10.5 +VTS,1,2,420,1.62,CRD,7.5 +VTS,1,1,2460,12.25,CRD,41.5 +VTS,1,6,660,1.46,CSH,8.5 +VTS,1,6,240,0.67,CSH,5 +VTS,1,6,420,1.35,CRD,7.5 +VTS,1,6,540,2.25,CSH,9.5 +VTS,1,6,960,5.22,CRD,17 +VTS,1,6,780,2.73,CRD,12 +VTS,1,6,660,1.97,CSH,9.5 +VTS,1,6,420,0.62,CRD,5.5 +VTS,1,6,240,0.61,CRD,4.5 +VTS,1,6,780,1.79,CRD,10.5 +VTS,1,6,360,0.85,CSH,6 +VTS,1,2,480,1.63,CSH,8 +VTS,1,2,1320,4.26,CSH,18 +VTS,1,2,240,0.99,CRD,5 +VTS,1,2,660,4.85,CRD,14.5 +VTS,1,2,420,1.26,CSH,7 +VTS,1,2,780,2.5,CRD,11 +VTS,1,2,600,1.94,CRD,9 +VTS,1,2,480,2.29,CRD,9.5 +VTS,1,2,240,1.07,CSH,5.5 +VTS,1,2,240,0.69,CSH,4.5 +VTS,1,2,300,1.6,CSH,6.5 +VTS,1,2,360,1.63,CSH,7 +VTS,1,2,180,0.44,CRD,4 +VTS,1,2,360,2.26,CRD,8.5 +VTS,1,2,300,0.98,CSH,5.5 +VTS,1,6,480,1.81,CSH,8.5 +VTS,1,6,240,0.61,CSH,5 +VTS,1,6,480,0.99,CSH,7 +VTS,1,6,540,2.68,CSH,10 +VTS,1,6,420,0.72,CSH,6 +VTS,1,6,780,1.54,CRD,10 +VTS,1,6,840,2.16,CRD,11.5 +VTS,1,6,720,1.28,CSH,9.5 +VTS,1,1,660,0.87,CSH,8.5 +VTS,1,6,300,1.4,CSH,6.5 +VTS,1,6,660,1.51,CRD,8.5 +VTS,1,1,1980,6.13,CSH,26.5 +VTS,1,6,420,1.11,CSH,6.5 +VTS,1,6,480,1.1,CRD,7 +VTS,1,6,240,0.71,CSH,5 +VTS,1,6,480,1.86,CRD,8.5 +VTS,1,6,600,1.84,CRD,8.5 +VTS,1,6,480,2.03,CRD,8.5 +VTS,1,6,1020,4.16,CRD,16 +VTS,1,6,420,2.27,CSH,9 +VTS,1,6,600,1.06,CSH,7.5 +VTS,1,6,540,2.34,CRD,9.5 +VTS,1,6,780,3.29,CRD,12.5 +VTS,1,6,360,1.09,CSH,6 +VTS,1,6,540,1.93,CSH,8.5 +VTS,1,6,1020,2.61,CRD,13 +VTS,1,1,360,0.86,CRD,6 +VTS,1,2,360,0.99,CSH,6 +VTS,1,2,840,1.38,CRD,10 +VTS,1,2,660,2.03,CRD,9.5 +VTS,1,2,540,1.12,CRD,7.5 +VTS,1,2,240,1.08,CRD,5.5 +VTS,1,2,480,1.62,CRD,8 +VTS,1,2,360,1.47,CRD,6.5 +VTS,1,2,840,3.24,CSH,12.5 +VTS,1,2,360,1.35,CRD,6.5 +VTS,1,2,540,3.49,CSH,11.5 +VTS,1,2,600,2.88,CSH,10.5 +VTS,1,2,120,0.55,CSH,4 +VTS,1,2,420,1.48,CRD,7.5 +VTS,1,2,480,2.51,CSH,9.5 +VTS,1,2,600,1.95,CSH,9.5 +VTS,1,2,600,6.15,CRD,18 +VTS,1,2,240,0.76,CRD,5 +VTS,1,2,780,2.11,CRD,10.5 +VTS,1,2,840,2.62,CSH,12 +VTS,1,2,1020,3.85,CRD,15 +VTS,1,2,600,2.08,CRD,9.5 +VTS,1,2,0,0.04,CSH,2.5 +VTS,1,2,600,1.25,CSH,7.5 +VTS,1,2,1020,3.35,CSH,13.5 +VTS,1,2,720,3.59,CSH,13 +VTS,1,2,960,6.73,CRD,21 +VTS,1,2,300,0.63,CRD,5 +VTS,1,2,180,0.93,CSH,5 +VTS,1,2,420,1.71,CRD,7.5 +VTS,1,2,540,1.87,CRD,8.5 +VTS,1,1,480,1.46,CRD,8 +VTS,1,1,1320,12.55,CRD,35.5 +VTS,1,2,840,3.41,CRD,14 +VTS,1,2,780,1.06,CRD,9.5 +VTS,1,2,540,3.35,CSH,11.5 +VTS,1,2,780,3.89,CSH,13.5 +VTS,1,2,120,0.43,CSH,4 +VTS,1,2,960,7.8,CSH,23.5 +VTS,1,1,420,1.97,CRD,8.5 +VTS,1,2,300,1.11,CSH,5.5 +VTS,1,2,1560,5.88,CRD,22.5 +VTS,1,2,540,1.72,CSH,8.5 +VTS,1,2,300,1.44,CRD,6.5 +VTS,1,2,660,2.84,CRD,11 +VTS,1,2,600,2.69,CRD,10.5 +VTS,1,2,180,0.7,CSH,4.5 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,180,0.62,CRD,4 +VTS,1,1,900,2.85,CRD,13 +VTS,1,1,420,0.68,CSH,6 +VTS,1,1,900,6.39,CSH,20.5 +VTS,1,1,600,1.84,CSH,9.5 +VTS,1,1,180,0.46,CRD,4 +VTS,1,6,180,1.34,CRD,5.5 +VTS,1,6,1140,4.31,CRD,16.5 +VTS,1,6,420,1.66,CSH,8 +VTS,1,6,300,0.77,CSH,5.5 +VTS,1,6,420,0.75,CSH,6.5 +VTS,1,6,240,0.99,CRD,5 +VTS,1,6,540,2.11,CSH,9 +VTS,1,6,600,1.92,CSH,9 +VTS,1,6,480,1.75,CSH,8 +VTS,1,6,480,1.68,CRD,8 +VTS,1,6,480,2.49,CRD,9.5 +VTS,1,6,1740,7.19,CRD,25 +VTS,1,6,1500,3.28,CRD,17 +VTS,1,6,300,1.31,CRD,6 +VTS,1,6,600,1.11,CRD,8 +VTS,1,6,240,0.76,CSH,5 +VTS,1,1,600,2.47,CSH,10.5 +VTS,1,2,600,2.58,CRD,10.5 +VTS,1,2,540,1.44,CSH,8 +VTS,1,2,360,1.05,CSH,6 +VTS,1,2,660,1.91,CSH,9.5 +VTS,1,2,360,1.72,CRD,7 +VTS,1,2,240,1.02,CRD,5.5 +VTS,1,2,540,1.28,CSH,8 +VTS,1,2,660,2.88,CRD,11 +VTS,1,2,420,1.13,CSH,7 +VTS,1,2,120,0.52,CRD,4 +VTS,1,2,180,0.59,CRD,4 +VTS,1,2,360,1.21,CSH,6.5 +VTS,1,2,300,0.79,CRD,5.5 +VTS,1,2,120,0.39,CSH,4 +VTS,1,2,420,0.93,CSH,6.5 +VTS,1,2,420,1.26,CSH,7.5 +VTS,1,2,780,4,CSH,14 +VTS,1,2,240,0.76,CSH,5 +VTS,1,2,960,2.4,CSH,12.5 +VTS,1,2,180,0.44,CRD,4 +VTS,1,2,300,1.32,CRD,6 +VTS,1,2,1320,1.71,CSH,14 +VTS,1,2,780,2.91,CRD,11.5 +VTS,1,2,420,1.49,CSH,7.5 +VTS,1,2,240,0.83,CSH,5 +VTS,1,2,720,5,CRD,16.5 +VTS,1,2,300,0.99,CSH,5.5 +VTS,1,2,900,2.83,CSH,13 +VTS,1,2,240,0.9,CSH,5 +VTS,1,2,540,2.06,CRD,8.5 +VTS,1,1,1920,9.68,CRD,32 +VTS,1,2,1020,2.62,CSH,13 +VTS,1,2,240,1.02,CRD,5 +VTS,1,2,840,4.65,CRD,15.5 +VTS,1,1,480,1.01,CSH,7.5 +VTS,1,1,660,1.95,CSH,10 +VTS,1,1,180,1,CRD,5 +VTS,1,1,240,0.66,CSH,4.5 +VTS,1,1,1320,11.19,CRD,32 +VTS,1,1,1260,5.24,CSH,19.5 +VTS,1,1,480,2.7,CRD,10 +VTS,1,1,480,1.13,CSH,7 +VTS,1,1,780,3.81,CRD,13.5 +VTS,1,1,960,2.51,CRD,13 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,180,1.16,CSH,5.5 +VTS,1,1,540,3.39,CRD,11.5 +VTS,1,1,840,1.21,CSH,10 +VTS,1,1,780,2.02,CSH,10.5 +VTS,1,2,300,0.94,CSH,5 +VTS,1,1,660,2.33,CRD,10.5 +VTS,1,1,660,2.47,CSH,11 +VTS,1,1,480,2.03,CSH,8.5 +VTS,1,1,2580,18.9,CSH,55 +VTS,1,1,1020,3.51,CSH,14.5 +VTS,1,1,840,3.54,CSH,13.5 +VTS,1,1,1200,4.25,CSH,16 +VTS,1,1,1260,2.79,CSH,15 +VTS,1,1,840,2.95,CRD,12.5 +VTS,1,1,300,0.73,CRD,5 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,600,3.08,CRD,11 +VTS,1,1,300,0.96,CSH,6 +VTS,1,1,540,1.5,CSH,8 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,1380,4.13,CSH,18 +VTS,1,1,900,0.68,CSH,10 +VTS,1,1,300,1.03,CSH,5 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,540,1.72,CRD,9 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,720,2.62,CSH,11 +VTS,1,1,780,2.57,CRD,11.5 +VTS,2,1,2760,17.22,CSH,52 +VTS,1,1,2220,8.52,CRD,29.5 +VTS,1,1,420,0.85,CRD,6 +VTS,1,1,360,0.92,CSH,5.5 +VTS,1,1,600,3.25,CRD,12 +VTS,1,1,720,2.5,CSH,10.5 +VTS,1,1,420,0.77,CRD,6.5 +VTS,1,1,900,1.29,CSH,10.5 +VTS,1,1,1380,2.77,CRD,15.5 +VTS,1,1,360,0.63,CSH,5.5 +VTS,1,1,120,0.44,CRD,3.5 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,780,2.11,CRD,10.5 +VTS,1,1,660,4.36,CRD,14 +VTS,1,1,480,3.04,CRD,10.5 +VTS,1,1,780,3.4,CSH,13 +VTS,1,1,480,2.37,CSH,9.5 +VTS,1,1,660,3.65,CSH,13 +VTS,1,1,300,1.05,CSH,5.5 +VTS,1,1,120,0.49,CRD,3.5 +VTS,1,1,900,2.06,CRD,11.5 +VTS,1,1,180,0.85,CRD,5 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,180,0.22,CSH,3.5 +VTS,1,1,720,2.22,CRD,10.5 +VTS,1,1,480,1.52,CRD,8 +VTS,1,1,840,4.49,CRD,15 +VTS,1,1,900,6.44,CSH,20 +VTS,1,1,720,1.99,CRD,10 +VTS,1,1,1260,5.31,CSH,21 +VTS,1,1,480,1.29,CSH,7.5 +VTS,1,1,780,1.07,CSH,9.5 +VTS,1,1,360,1.74,CSH,7.5 +VTS,1,1,900,2.02,CSH,11.5 +VTS,1,1,360,0.69,CSH,5.5 +VTS,1,1,600,1.15,CRD,8.5 +VTS,1,1,1080,2.22,CRD,13 +VTS,1,1,480,1.66,CRD,8 +VTS,1,1,780,2.1,CRD,10.5 +VTS,1,1,540,0.61,CSH,6.5 +VTS,1,1,300,0.63,CSH,5 +VTS,1,1,540,1.81,CSH,9 +VTS,1,2,840,6.52,CSH,20 +VTS,1,2,360,1.81,CRD,8 +VTS,1,1,660,2.25,CSH,10 +VTS,1,2,240,1.08,CRD,5.5 +VTS,1,2,300,1.46,CSH,6.5 +VTS,1,2,240,1.56,CRD,6.5 +VTS,1,2,840,1.21,CSH,10 +VTS,1,2,300,0.73,CRD,5 +VTS,1,2,960,4.48,CRD,15.5 +VTS,1,1,780,4.1,CSH,14 +VTS,1,1,600,2.26,CSH,9.5 +VTS,1,1,180,0.84,CRD,4.5 +VTS,1,1,1320,6.43,CSH,22.5 +VTS,1,1,300,1.31,CRD,6 +VTS,1,1,780,2.18,CSH,10.5 +VTS,1,1,360,0.98,CSH,6.5 +VTS,1,1,300,1.07,CRD,6 +VTS,1,1,480,2.11,CRD,8 +VTS,1,1,300,1.25,CSH,6 +VTS,1,1,480,2.02,CRD,8.5 +VTS,1,1,480,2.04,CRD,9.5 +VTS,1,1,780,1.25,CRD,9.5 +VTS,1,1,2220,11.23,CRD,37.5 +VTS,1,1,660,1.48,CRD,9 +VTS,1,1,660,1.5,CSH,9 +VTS,1,1,1080,3.17,CRD,14 +VTS,1,1,1140,4.6,CSH,17 +VTS,1,1,540,2.12,CSH,9 +VTS,1,1,600,2.15,CSH,9.5 +VTS,1,1,1080,2.27,CRD,13 +VTS,1,1,420,1.26,CRD,6.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,720,1.1,CRD,9 +VTS,1,1,840,2.53,CRD,12.5 +VTS,1,1,360,2.53,CSH,9 +VTS,1,1,480,1.15,CSH,7.5 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,600,2.66,CSH,10.5 +VTS,1,1,900,2.51,CRD,12 +VTS,1,1,1680,7.98,CRD,28 +VTS,1,1,420,1.35,CSH,7 +VTS,1,1,1440,4.75,CSH,18 +VTS,1,1,660,2.4,CSH,10 +VTS,1,1,900,3.31,CRD,14 +VTS,1,1,1440,3.61,CSH,17.5 +VTS,1,1,360,2.93,CRD,10 +VTS,1,1,480,0.54,CSH,6 +VTS,1,1,120,0.5,CRD,4 +VTS,1,1,420,2.23,CRD,8.5 +VTS,1,1,840,3.38,CRD,13.5 +VTS,1,1,240,0.66,CSH,4.5 +VTS,1,1,300,0.6,CSH,4.5 +VTS,1,1,1020,9.86,CRD,28 +VTS,1,1,300,1.78,CSH,7.5 +VTS,1,1,660,3.62,CSH,12 +VTS,1,1,300,1.47,CRD,6.5 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,120,0.27,CSH,3.5 +VTS,1,1,300,0.62,CSH,5 +VTS,1,1,1080,3.35,CRD,14.5 +VTS,1,1,780,6.01,CRD,18 +VTS,1,1,1320,4.38,CRD,19 +VTS,1,1,120,0.5,CRD,4 +VTS,1,1,540,1.87,CRD,9 +VTS,1,1,600,2.26,CSH,9.5 +VTS,1,1,1260,3.07,CRD,14.5 +VTS,1,1,660,0.97,CSH,8.5 +VTS,1,1,600,2.21,CRD,10 +VTS,1,1,780,1.6,CSH,10 +VTS,1,2,300,1.51,CRD,6.5 +VTS,1,1,540,1.65,CSH,8.5 +VTS,1,1,720,2.9,CRD,12 +VTS,1,1,420,1.42,CSH,7 +VTS,1,1,720,2.13,CRD,10 +VTS,1,1,1020,3.35,CSH,14 +VTS,1,1,240,0.89,CSH,5 +VTS,1,2,720,2.23,CRD,11 +VTS,1,1,600,1.99,CRD,9.5 +VTS,1,1,420,1.16,CSH,7 +VTS,1,1,600,3.01,CRD,11.5 +VTS,1,1,480,1.23,CSH,7.5 +VTS,1,1,1140,6.29,CRD,22 +VTS,1,1,720,1.44,CRD,9 +VTS,1,1,720,1.86,CSH,10 +VTS,1,1,1020,5.68,CSH,18.5 +VTS,1,1,360,1.45,CSH,7 +VTS,1,1,240,0.94,CRD,5.5 +VTS,1,1,360,1.01,CSH,6 +VTS,1,1,420,1.54,CRD,7.5 +VTS,1,1,960,2.32,CRD,12.5 +VTS,1,1,1140,3.23,CRD,14 +VTS,1,1,720,3.16,CSH,12 +VTS,1,1,720,2.09,CSH,10 +VTS,1,1,1500,3.11,CRD,17 +VTS,1,1,960,1.85,CRD,11.5 +VTS,1,1,780,1.41,CSH,10 +VTS,1,1,1020,2.72,CSH,13 +VTS,1,1,480,2.38,CRD,9 +VTS,1,1,1200,2.9,CRD,14.5 +VTS,1,1,1620,2.87,CSH,18 +VTS,1,1,1860,4.41,CSH,21.5 +VTS,1,1,720,2.51,CRD,10.5 +VTS,1,1,720,2.09,CSH,10 +VTS,1,1,540,2.16,CSH,10 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,2,360,0.8,CRD,6 +VTS,1,2,420,1.28,CRD,7 +VTS,1,2,660,3.1,CRD,12 +VTS,1,2,600,0.92,CSH,7.5 +VTS,1,2,1080,7.9,CSH,24 +VTS,1,2,1680,8.68,CSH,28 +VTS,1,2,900,2.79,CSH,13 +VTS,1,2,120,0.55,CSH,3.5 +VTS,1,2,840,2.95,CSH,12.5 +VTS,1,2,600,1.88,CSH,9 +VTS,1,2,240,0.88,CRD,5.5 +VTS,1,2,840,2.18,CRD,11.5 +VTS,1,2,300,0.98,CRD,6 +VTS,1,2,900,2.15,CRD,11 +VTS,1,2,1560,8.56,CRD,28 +VTS,1,2,1020,4.62,CRD,16 +VTS,1,2,540,2.46,CRD,9.5 +VTS,1,2,1380,14.25,CRD,38.5 +VTS,1,2,600,2.35,CRD,9.5 +VTS,1,1,360,1.27,CSH,6.5 +VTS,1,2,480,0.96,CSH,7 +VTS,1,2,360,1.03,CSH,6 +VTS,1,2,600,2.08,CSH,9 +VTS,1,2,240,0.74,CRD,5 +VTS,1,2,2340,17.77,CSH,52 +VTS,1,2,180,0.53,CRD,4 +VTS,1,2,840,1.46,CSH,10 +VTS,1,2,600,2.16,CRD,10 +VTS,1,2,720,1.75,CSH,10 +VTS,1,2,600,1.89,CRD,9 +VTS,1,2,180,0.32,CSH,4 +VTS,1,2,480,2.14,CRD,8.5 +VTS,1,2,120,0.37,CSH,3.5 +VTS,1,2,840,4.74,CRD,15.5 +VTS,1,2,660,2.86,CRD,12 +VTS,1,2,600,2.12,CSH,9.5 +VTS,1,2,300,0.87,CRD,6 +VTS,1,2,960,4.69,CRD,16 +VTS,1,2,480,1.76,CRD,8 +VTS,1,2,420,2.33,CRD,9 +VTS,1,2,780,2.16,CRD,10.5 +VTS,1,1,540,1.82,CRD,9 +VTS,1,1,480,1.99,CRD,8.5 +VTS,1,2,300,0.9,CSH,5.5 +VTS,1,2,300,0.64,CRD,5.5 +VTS,1,2,540,1.44,CRD,7.5 +VTS,2,2,1440,16.7,CSH,52 +VTS,1,2,1200,5.63,CRD,19.5 +VTS,1,2,300,0.72,CRD,5 +VTS,1,2,1680,4.68,CRD,19.5 +VTS,1,2,240,0.74,CRD,4.5 +VTS,1,2,240,1.01,CRD,5 +VTS,1,1,240,1.39,CRD,6 +VTS,1,2,300,1.15,CRD,6 +VTS,1,1,420,1.73,CSH,8.5 +VTS,1,1,540,2.35,CRD,9.5 +VTS,1,1,480,1.56,CSH,8 +VTS,1,1,420,1.42,CSH,7 +VTS,1,1,360,2.08,CRD,8 +VTS,1,1,960,2.65,CSH,13 +VTS,1,1,900,3.49,CRD,14 +VTS,1,1,480,2.05,CRD,9 +VTS,1,1,900,3.33,CRD,13.5 +VTS,1,1,420,1.51,CRD,7.5 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,600,2.53,CRD,9.5 +VTS,1,1,180,0.58,CRD,4 +VTS,1,1,900,5.46,CRD,18.5 +VTS,1,1,960,7.36,CSH,23.5 +VTS,1,1,600,1.57,CSH,8.5 +VTS,1,1,180,0.53,CRD,4.5 +VTS,1,1,660,3.21,CRD,12 +VTS,1,1,600,2.66,CSH,10.5 +VTS,1,1,360,2.21,CRD,8.5 +VTS,1,1,480,1.06,CSH,7 +VTS,1,1,1740,12.53,CRD,36.5 +VTS,1,1,300,0.84,CSH,5 +VTS,1,1,1080,3.58,CRD,15 +VTS,1,1,480,0.85,CSH,7 +VTS,1,1,540,2.89,CRD,10.5 +VTS,1,1,180,1.27,CRD,5.5 +VTS,1,1,1320,2.52,CRD,15.5 +VTS,1,1,1620,10.05,CRD,31.5 +VTS,1,1,180,0.84,CSH,5 +VTS,1,1,1020,3.93,CRD,15 +VTS,1,1,780,2.64,CRD,11.5 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,660,2.55,CRD,10.5 +VTS,1,1,600,2.58,CSH,10.5 +VTS,1,1,360,1.36,CSH,7 +VTS,1,1,540,0.82,CSH,7 +VTS,1,1,2280,13.71,CRD,42 +VTS,1,1,360,0.98,CRD,6.5 +VTS,1,1,240,0.45,CSH,4 +VTS,1,1,660,1.49,CRD,9 +VTS,1,1,780,1.58,CRD,10 +VTS,1,1,180,0.55,CRD,4 +VTS,1,1,240,1.07,CSH,5.5 +VTS,1,1,900,1.55,CSH,10.5 +VTS,1,1,1260,2.91,CSH,16 +VTS,1,1,900,4.9,CSH,16.5 +VTS,1,1,240,0.95,CSH,5.5 +VTS,1,1,480,1.88,CRD,8.5 +VTS,1,1,1020,3.87,CRD,15 +VTS,1,1,840,2.61,CRD,12.5 +VTS,1,1,240,1.19,CSH,5.5 +VTS,1,1,180,0.61,CRD,4 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,300,1.02,CSH,5.5 +VTS,1,1,360,1.77,CRD,7 +VTS,1,1,120,0.68,CRD,4 +VTS,1,1,780,1.93,CRD,10 +VTS,1,1,1320,4.89,CRD,18.5 +VTS,1,1,720,3.08,CSH,12 +VTS,1,1,660,2.13,CSH,10 +VTS,1,1,600,1.5,CRD,9 +VTS,1,1,900,2.3,CSH,12 +VTS,1,2,540,0.98,CSH,7.5 +VTS,1,1,600,1.02,CSH,8 +VTS,1,1,900,3.36,CRD,13.5 +VTS,1,1,540,2.24,CRD,9.5 +VTS,1,1,900,2.87,CSH,13 +VTS,1,1,300,1.15,CSH,6 +VTS,1,1,540,1.26,CRD,7.5 +VTS,1,1,360,0.77,CRD,6 +VTS,1,1,720,1.66,CRD,9.5 +VTS,1,1,780,2.46,CRD,11.5 +VTS,1,1,900,1.75,CRD,11 +VTS,1,1,660,2.53,CSH,10.5 +VTS,1,1,1140,7.39,CRD,24 +VTS,1,1,360,1.76,CSH,7 +VTS,1,1,300,1.33,CSH,6.5 +VTS,1,1,2040,7.04,CRD,26.5 +VTS,1,1,1260,10.53,CRD,31 +VTS,1,1,300,0.75,CRD,5 +VTS,1,1,1440,4.13,CRD,19 +VTS,1,1,960,4.5,CRD,16.5 +VTS,1,1,1140,1.17,CRD,12 +VTS,1,1,1800,4.51,CSH,20 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,540,1.36,CRD,8 +VTS,1,1,480,1.14,CSH,7.5 +VTS,1,1,720,2.33,CRD,11 +VTS,1,1,540,1.01,CSH,7.5 +VTS,1,1,600,2.1,CSH,10 +VTS,1,1,840,3.88,CSH,14 +VTS,1,1,420,1.56,CSH,8 +VTS,1,1,540,1.85,CRD,8.5 +VTS,1,1,360,1.5,CRD,7 +VTS,1,1,240,0.71,CRD,5 +VTS,1,1,1140,1.78,CRD,13 +VTS,1,1,660,1.97,CSH,10 +VTS,1,1,1320,2.44,CSH,15.5 +VTS,1,1,240,1.02,CSH,5 +VTS,1,1,540,1.03,CRD,8 +VTS,1,1,540,2.25,CSH,9.5 +VTS,1,1,1800,4.19,CRD,21 +VTS,1,1,120,0.54,CRD,4 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,1,1020,3.28,CRD,14 +VTS,1,1,960,8.09,CRD,24 +VTS,1,1,300,1.38,CSH,6.5 +VTS,1,1,840,3.07,CRD,13 +VTS,1,1,120,0.68,CRD,4.5 +VTS,1,1,360,1.24,CSH,6 +VTS,1,1,2100,7.21,CRD,29 +VTS,1,1,1800,6.61,CRD,25 +VTS,1,1,1320,4.85,CRD,20 +VTS,1,1,300,0.93,CRD,6 +VTS,1,1,540,0.82,CRD,7.5 +VTS,1,1,120,0.47,CRD,3.5 +VTS,1,1,420,0.71,CRD,6 +VTS,1,1,480,1.72,CRD,7.5 +VTS,1,1,480,1.2,CRD,7.5 +VTS,1,1,1500,9.33,CSH,29.5 +VTS,1,1,300,0.86,CRD,5.5 +VTS,1,1,180,0.8,CSH,5 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,780,1.79,CSH,10.5 +VTS,1,1,480,1.77,CSH,8.5 +VTS,1,1,540,1.82,CSH,8.5 +VTS,1,1,420,0.83,CSH,6 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,240,1.19,CSH,6 +VTS,1,1,720,3.53,CSH,12.5 +VTS,1,1,300,0.54,CSH,5 +VTS,1,1,240,1.9,CSH,7.5 +VTS,1,1,360,1.67,CRD,7.5 +VTS,1,1,780,1.42,CSH,10 +VTS,1,1,600,1.93,CRD,9 +VTS,1,1,360,1.16,CSH,6.5 +VTS,1,1,1260,3.85,CRD,17 +VTS,1,1,240,0.56,CSH,5 +VTS,1,1,1020,4.11,CSH,15.5 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,1,300,0.68,CSH,5 +VTS,1,1,360,0.46,CRD,5.5 +VTS,1,1,1680,6.7,CRD,26 +VTS,1,1,60,0.69,CSH,4 +VTS,1,1,240,1.24,CRD,5.5 +VTS,1,1,240,0.48,CSH,4.5 +VTS,1,1,840,1.33,CRD,10.5 +VTS,1,1,480,1.25,CRD,7 +VTS,1,1,660,2.49,CSH,10.5 +VTS,1,1,900,2.31,CSH,11.5 +VTS,1,1,360,1.01,CSH,6.5 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,300,0.51,CSH,5 +VTS,1,1,840,3.22,CRD,13 +VTS,1,1,1140,2.76,CSH,15 +VTS,1,1,660,1.86,CRD,9.5 +VTS,1,1,960,1.26,CSH,10.5 +VTS,1,1,420,0.68,CSH,6.5 +VTS,1,1,480,1.06,CRD,6.5 +VTS,1,1,300,0.45,CSH,4.5 +VTS,1,1,300,0.98,CSH,6 +VTS,1,2,1200,4.76,CRD,17.5 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,240,0.92,CSH,5.5 +VTS,1,1,600,1.05,CSH,8 +VTS,1,1,1200,2.54,CSH,14.5 +VTS,1,1,420,1.14,CSH,6.5 +VTS,1,1,1560,2.19,CRD,16.5 +VTS,1,1,1320,3.7,CRD,17 +VTS,1,1,1500,6.74,CSH,25 +VTS,1,1,300,0.64,CRD,5 +VTS,1,1,1080,4.76,CSH,18.5 +VTS,1,1,540,1.98,CSH,8.5 +VTS,1,1,300,1.73,CSH,7 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,1500,4.23,CRD,18.5 +VTS,1,1,660,1.14,CSH,8.5 +VTS,1,1,660,1.05,CSH,8.5 +VTS,1,1,720,1.36,CSH,9 +VTS,1,1,360,1.62,CRD,7 +VTS,1,1,600,1.08,CRD,7.5 +VTS,1,1,780,2.69,CRD,11.5 +VTS,1,1,300,1,CRD,6 +VTS,1,1,1080,3.32,CRD,14.5 +VTS,1,1,360,1.03,CSH,6.5 +VTS,1,1,600,1.55,CRD,8.5 +VTS,1,1,960,1.26,CSH,10.5 +VTS,1,1,600,1.94,CRD,9 +VTS,1,1,840,1.7,CRD,11 +VTS,1,1,1200,3.26,CRD,16 +VTS,1,1,840,3.36,CRD,13.5 +VTS,1,1,720,2.9,CSH,12 +VTS,1,1,1380,2.62,CRD,15 +VTS,1,1,720,1.04,CSH,9 +VTS,1,1,480,1.39,CRD,7.5 +VTS,1,1,240,0.97,CRD,5 +VTS,1,1,960,2.33,CSH,11 +VTS,1,1,240,0.75,CSH,5 +VTS,1,1,360,1.45,CRD,7 +VTS,1,1,660,1.75,CSH,9 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,1440,8.81,CSH,27.5 +VTS,1,1,300,1,CSH,5.5 +VTS,1,1,900,4.3,CRD,15 +VTS,1,1,360,1.09,CSH,7 +VTS,1,1,1200,2.5,CSH,14.5 +VTS,1,1,720,1.62,CRD,10 +VTS,1,1,420,1.55,CRD,7 +VTS,1,1,240,0.88,CRD,5 +VTS,1,1,1860,2.85,CSH,19.5 +VTS,1,1,1260,2.42,CSH,14.5 +VTS,1,1,480,2.67,CRD,9.5 +VTS,1,1,1920,5.17,CRD,23.5 +VTS,1,1,540,1.67,CRD,8.5 +VTS,1,1,480,0.83,CRD,7 +VTS,1,1,300,0.63,CSH,5 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,300,0.66,CRD,5.5 +VTS,1,1,600,1.29,CSH,8 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,660,1.87,CSH,9.5 +VTS,1,1,360,0.77,CSH,6 +VTS,1,1,660,2.25,CRD,9.5 +VTS,2,1,3180,21.39,CRD,52 +VTS,1,1,900,6.42,CSH,20 +VTS,1,1,540,1.02,CRD,7 +VTS,1,1,600,3.68,CRD,12.5 +VTS,1,1,420,1.74,CRD,8 +VTS,1,1,480,0.71,CSH,6 +CMT,1,1,722,2.1,CRD,10 +CMT,1,2,612,2.4,CRD,10.5 +VTS,1,1,1020,3.38,CRD,14 +VTS,1,1,840,2.94,CRD,13 +VTS,1,1,660,1.22,CSH,8.5 +VTS,1,1,420,2.47,CSH,9.5 +VTS,1,1,240,0.89,CSH,5.5 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,300,1.16,CSH,6 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,540,2.63,CRD,10 +VTS,1,1,480,1.77,CRD,8.5 +VTS,1,1,360,1.67,CRD,7 +VTS,1,1,540,3.52,CRD,12 +VTS,1,1,780,2.28,CSH,11 +VTS,1,1,120,0.84,CSH,4.5 +VTS,1,1,240,0.74,CRD,4.5 +VTS,1,1,420,1.79,CRD,7.5 +VTS,1,1,1320,3.26,CSH,15.5 +VTS,1,1,720,2.41,CSH,10.5 +VTS,1,1,360,1.21,CRD,6 +VTS,1,1,300,1.11,CRD,6 +VTS,1,1,480,1.16,CRD,7 +VTS,1,1,1200,3.91,CRD,16.5 +VTS,2,1,2820,19.64,CSH,52 +VTS,1,1,480,1.63,CSH,7.5 +VTS,1,1,240,0.69,CSH,4.5 +VTS,1,1,600,2.82,CSH,10.5 +VTS,1,1,540,1.58,CRD,8.5 +VTS,1,1,1800,10.75,CSH,34.5 +VTS,1,1,540,1.62,CRD,8.5 +VTS,1,1,1020,5.47,CSH,19 +VTS,1,1,120,0.73,CSH,4.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,180,0.47,CSH,4 +VTS,1,1,1320,4.59,CRD,19 +VTS,1,1,1140,4.62,CSH,17.5 +VTS,1,1,600,3.17,CRD,11 +VTS,1,1,1140,6.91,CRD,22 +VTS,1,1,360,0.97,CRD,6 +VTS,1,1,600,2.53,CRD,10.5 +VTS,1,1,960,4.84,CSH,17 +VTS,1,1,600,2,CRD,9 +VTS,1,1,660,1.15,CRD,8.5 +VTS,1,1,600,2.07,CSH,9.5 +VTS,1,1,240,0.69,CRD,5 +VTS,1,1,600,1.93,CSH,9.5 +VTS,1,1,720,1.91,CRD,10 +VTS,1,1,600,2.42,CRD,10 +VTS,1,1,900,4.13,CSH,15 +VTS,1,1,300,1.83,CSH,7 +VTS,1,1,540,2.84,CRD,11 +VTS,1,1,1200,6.51,CSH,21.5 +VTS,1,1,180,0.29,CSH,4 +VTS,1,2,1560,6.6,CSH,25 +VTS,1,2,1020,4.5,CSH,16 +VTS,1,2,480,0.89,CSH,6.5 +VTS,1,2,540,1.94,CRD,8.5 +VTS,1,2,540,1.98,CRD,9.5 +VTS,1,2,780,2.2,CRD,11.5 +VTS,1,2,120,0.43,CRD,4 +VTS,1,2,120,0.55,CSH,3.5 +VTS,1,1,660,2.52,CSH,11 +VTS,1,1,720,5.3,CSH,16.5 +VTS,1,1,660,1.67,CSH,9.5 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,120,0.65,CSH,4 +VTS,1,1,540,1.58,CRD,8 +VTS,1,1,1140,3.73,CSH,15.5 +VTS,1,1,600,1.81,CRD,9 +VTS,1,1,540,0.93,CRD,7 +VTS,1,1,300,0.86,CSH,6 +VTS,1,1,300,0.74,CSH,5 +VTS,1,1,240,0.76,CRD,5 +VTS,1,1,900,2.4,CRD,12 +VTS,1,1,780,2.68,CSH,12 +VTS,1,1,420,1.12,CRD,6.5 +VTS,1,1,360,0.79,CSH,6 +VTS,1,1,480,1.21,CSH,7 +VTS,1,1,660,1.58,CSH,8.5 +VTS,1,1,540,2.99,CSH,11 +VTS,1,1,180,1.03,CRD,5 +VTS,1,1,420,1.14,CSH,6.5 +VTS,1,1,1200,3.87,CRD,16.5 +VTS,1,1,480,2.1,CRD,8.5 +VTS,1,1,540,0.53,CRD,7 +VTS,1,2,480,1.55,CRD,8 +VTS,1,1,300,0.79,CSH,5 +VTS,1,1,1200,6.84,CRD,23.5 +VTS,1,1,600,1.41,CSH,8 +VTS,1,1,540,1.17,CSH,7.5 +VTS,1,1,960,4.67,CRD,17 +VTS,1,1,780,3,CSH,12 +VTS,1,1,840,2.38,CRD,11.5 +VTS,1,1,120,0.32,CRD,3.5 +VTS,1,1,240,0.58,CRD,5 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,540,2.27,CSH,9.5 +VTS,1,1,2700,12.16,CRD,40.5 +VTS,1,1,240,0.08,CSH,4.5 +VTS,1,1,180,0.56,CSH,4.5 +VTS,1,1,300,1.24,CRD,6 +VTS,1,1,480,1.91,CSH,8.5 +VTS,1,1,900,2.77,CRD,13 +VTS,1,1,480,1.64,CRD,8 +VTS,1,1,1080,1.59,CRD,12.5 +VTS,1,2,1080,4.11,CRD,17 +VTS,1,1,300,1.26,CSH,6 +VTS,1,1,360,1.01,CRD,6.5 +VTS,1,1,1380,9.37,CRD,27.5 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,780,2.05,CRD,10 +VTS,1,1,540,1.56,CRD,8.5 +VTS,1,1,360,1.32,CSH,7 +VTS,1,1,540,0.77,CSH,7.5 +VTS,1,1,540,1.82,CRD,8.5 +VTS,1,1,1920,5.31,CRD,24 +VTS,1,1,780,2.15,CSH,10.5 +VTS,1,1,720,3.23,CRD,12.5 +VTS,1,1,420,1.14,CSH,6.5 +VTS,1,1,1140,3.05,CRD,14 +VTS,1,1,420,1.45,CRD,7 +VTS,1,1,180,0.44,CSH,4 +VTS,1,1,900,1.44,CSH,11 +VTS,1,1,480,2.85,CSH,10 +VTS,1,1,840,6.69,CRD,20.5 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,1800,6.42,CRD,26.5 +VTS,1,1,360,0.75,CRD,5.5 +VTS,1,1,480,1.63,CRD,7.5 +VTS,1,1,960,4.51,CRD,16.5 +VTS,1,1,420,1.27,CRD,7 +VTS,1,1,660,1.72,CRD,9 +VTS,1,1,1200,3.24,CSH,15.5 +VTS,1,1,720,1.76,CRD,9.5 +VTS,1,1,840,1.83,CRD,10.5 +VTS,1,1,360,4.45,CRD,13.5 +VTS,1,1,240,0.61,CSH,5 +VTS,1,1,780,2.14,CSH,11.5 +VTS,1,1,240,0.41,CSH,4 +VTS,1,1,600,1.83,CRD,9 +VTS,1,1,180,0.53,CSH,4 +VTS,1,1,420,1.56,CSH,7.5 +VTS,1,1,1020,2.94,CRD,13 +VTS,1,1,840,2.24,CRD,11.5 +VTS,1,1,1320,2.86,CSH,15.5 +CMT,1,3,1420,3,CRD,16.5 +CMT,1,3,1076,1.2,CSH,9.5 +CMT,1,3,511,1.1,CSH,7.5 +CMT,1,1,569,2.7,CRD,10 +CMT,1,2,336,0.7,CSH,5.5 +CMT,1,1,617,5.1,CSH,15.5 +CMT,1,1,554,2,CSH,9 +CMT,1,1,289,1.5,CRD,6.5 +CMT,1,1,289,0.9,CSH,5.5 +CMT,1,1,554,1.2,CRD,7.5 +CMT,1,1,239,0.7,CSH,5 +CMT,1,1,715,2.4,CRD,10.5 +VTS,1,1,780,2.13,CRD,10.5 +VTS,1,1,300,1.06,CRD,6 +VTS,1,1,780,0.98,CSH,9 +VTS,1,1,1080,2.98,CRD,14 +CMT,1,3,233,0.7,CSH,4.5 +CMT,1,1,286,0.5,CRD,5 +CMT,1,2,549,0.9,CSH,5.5 +CMT,1,1,563,1.6,CRD,8 +CMT,1,1,350,1,CRD,6.5 +CMT,1,1,650,1.6,CSH,9 +CMT,1,1,616,1.4,CSH,8.5 +CMT,1,1,159,0.7,CSH,4.5 +CMT,1,1,383,0.6,CRD,6 +CMT,1,2,495,2.2,CSH,9 +CMT,1,1,429,0.7,CSH,6 +CMT,1,1,489,3.4,CRD,11 +CMT,1,2,298,1.1,CRD,6 +CMT,1,2,704,1.3,CSH,9 +CMT,1,1,633,1,CSH,8 +CMT,1,1,467,1.4,CSH,7.5 +CMT,1,1,644,1.1,CSH,8 +CMT,1,2,492,1.7,CRD,8 +CMT,1,2,749,2.1,CRD,10 +CMT,1,2,326,0.6,CSH,5.5 +CMT,1,2,1084,2.8,CSH,13.5 +CMT,1,2,644,3.1,CSH,12 +CMT,1,1,407,1,CSH,6.5 +CMT,1,1,89,0.3,CSH,3.5 +CMT,1,1,1385,6.1,CSH,21.5 +CMT,1,1,468,1.1,CSH,7 +CMT,1,1,805,2.9,CRD,12.5 +CMT,1,1,768,6.2,CSH,19 +CMT,1,1,709,1.3,CSH,9.5 +CMT,1,1,753,1.9,CRD,10 +CMT,1,1,529,1.3,CSH,8 +CMT,1,1,1009,3.1,CRD,13.5 +CMT,1,2,1817,13.4,CRD,38.5 +CMT,1,2,379,1.8,CRD,7.5 +CMT,1,2,700,1.9,CRD,10 +CMT,1,2,531,2.9,CRD,10.5 +CMT,1,2,585,1.4,CRD,8 +CMT,2,1,1572,18.4,CRD,52 +CMT,1,1,419,0.6,CRD,5.5 +CMT,1,2,364,0.7,CSH,5 +CMT,1,2,614,4.2,CSH,13.5 +CMT,1,1,460,1.8,CSH,8.5 +CMT,1,1,1755,2.9,CSH,18.5 +CMT,1,1,466,1.3,CSH,7.5 +CMT,1,1,363,2.1,CSH,8.5 +CMT,1,1,660,1.7,CRD,9.5 +CMT,1,1,355,1.1,CRD,6 +CMT,1,1,624,1.4,CSH,8.5 +VTS,1,1,1020,1.63,CRD,11.5 +CMT,1,1,891,2.3,CSH,11.5 +CMT,1,3,2080,12.9,CSH,38 +CMT,1,1,461,1.5,CSH,7.5 +CMT,1,1,862,4.1,CRD,14.5 +CMT,1,1,1173,6.7,CRD,22 +CMT,1,1,520,0.9,CRD,7 +CMT,1,1,661,2.2,CRD,10 +CMT,1,1,554,2.2,CSH,9.5 +CMT,1,1,581,3.8,CRD,12.5 +CMT,1,1,332,0.5,CSH,5 +CMT,1,1,807,1,CSH,9.5 +CMT,1,1,289,0.9,CRD,5.5 +CMT,1,2,187,0.5,CSH,4.5 +CMT,1,2,232,0.7,CSH,4.5 +CMT,1,1,258,0.6,CSH,5 +CMT,1,2,440,1,CRD,6.5 +CMT,1,2,723,2.6,CRD,11 +CMT,1,1,229,0.4,CSH,4.5 +CMT,1,2,529,1,CRD,7.5 +CMT,1,2,538,2,CRD,9 +CMT,1,2,856,3.2,CRD,13 +CMT,1,1,1194,1.8,CRD,13 +CMT,1,2,121,0.3,CRD,3.5 +CMT,1,2,1034,6.9,CRD,22.5 +CMT,1,2,414,1.3,CRD,7 +VTS,1,1,1020,6.65,CRD,20.5 +VTS,1,1,300,1.21,CSH,6 +VTS,1,1,420,2.32,CSH,8.5 +VTS,1,1,660,1.54,CRD,9 +VTS,1,1,660,1.6,CRD,9 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,240,0.41,CRD,4.5 +VTS,1,1,420,1.71,CSH,7.5 +VTS,1,1,600,1.98,CSH,9.5 +VTS,1,1,1260,2.42,CRD,14.5 +VTS,1,1,1080,3.34,CRD,14.5 +VTS,1,1,540,1.59,CSH,8.5 +VTS,1,1,1200,1.84,CSH,13.5 +VTS,1,1,1260,2.55,CRD,14.5 +VTS,1,1,480,1.38,CRD,7.5 +VTS,1,1,480,0.64,CRD,6.5 +VTS,1,1,1020,2.69,CRD,13.5 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,1140,4.26,CRD,17 +VTS,1,1,900,2.54,CRD,12.5 +VTS,1,1,1380,3.4,CRD,16 +VTS,1,1,120,0.81,CSH,4.5 +VTS,1,1,1200,2.77,CRD,14.5 +VTS,1,1,1380,4.74,CSH,19 +VTS,1,1,120,0.83,CSH,4.5 +VTS,1,1,1200,3.09,CRD,15 +VTS,1,1,1080,3.49,CSH,13.5 +VTS,1,1,360,1.24,CRD,7 +CMT,1,2,1453,9.4,CRD,28 +CMT,1,1,373,2.2,CSH,8 +CMT,1,1,506,2.8,CSH,11 +CMT,1,1,367,2,CSH,8.5 +CMT,1,1,439,1.3,CSH,7 +CMT,1,1,513,1.5,CSH,7.5 +CMT,1,1,362,1.3,CRD,6.5 +CMT,1,1,1157,10.1,CRD,29.5 +CMT,1,1,265,1.4,CRD,6.5 +CMT,1,1,975,5.3,CRD,17.5 +CMT,1,1,250,1,CSH,5.5 +CMT,1,1,206,1.1,CSH,5.5 +CMT,1,1,315,1.5,CRD,7 +CMT,1,1,798,3.2,CSH,12.5 +CMT,1,1,416,1,CSH,6.5 +CMT,1,3,339,1.4,CSH,7 +CMT,1,2,186,0.7,CSH,4.5 +CMT,1,2,882,1.9,CSH,11 +CMT,1,1,740,2.5,CRD,11.5 +CMT,1,2,1902,10,CSH,32.5 +CMT,1,2,355,0.8,CSH,6 +CMT,1,2,198,0.6,CRD,4.5 +CMT,1,2,382,3.3,CRD,10.5 +CMT,1,1,327,1,CRD,6 +CMT,1,2,1345,3.7,CRD,14.5 +CMT,1,2,1422,11.6,CSH,34 +CMT,1,1,727,2.4,CSH,10 +CMT,1,1,478,2.3,CRD,9 +CMT,2,1,2952,19.9,CRD,52 +CMT,1,1,728,5.1,CRD,16 +CMT,1,1,170,0.5,CRD,4 +CMT,1,1,463,2.6,CRD,10.5 +CMT,1,1,468,0.8,CRD,6.5 +CMT,1,1,763,1.9,CRD,10 +CMT,1,1,442,1.6,CSH,7.5 +CMT,1,1,491,3.1,CSH,11 +CMT,1,2,1274,9.9,CRD,29.5 +CMT,1,1,509,1.3,CRD,8 +CMT,1,1,395,1.7,CRD,8 +CMT,1,1,197,1,CSH,5.5 +CMT,1,1,757,7.8,CSH,22.5 +CMT,1,4,268,1,CSH,5.5 +CMT,1,2,266,1,CSH,5.5 +CMT,1,2,914,4,CRD,14 +CMT,1,1,820,0.9,CRD,7.5 +CMT,1,1,668,0.8,CRD,8 +CMT,1,2,792,3.9,CSH,14 +CMT,1,1,492,3.2,CSH,11 +CMT,1,1,833,4.8,CRD,16.5 +CMT,1,1,90,0.7,CSH,4 +CMT,1,1,468,1.7,CSH,8 +VTS,1,1,1740,6.87,CRD,25 +VTS,1,1,240,1,CSH,5.5 +VTS,1,1,780,1.52,CRD,10 +VTS,1,1,840,1.94,CRD,11 +VTS,1,1,600,2.34,CRD,10 +CMT,1,3,1080,9.2,CRD,26.5 +CMT,1,3,250,0.7,CSH,5 +CMT,1,1,947,2.8,CRD,12 +CMT,1,1,413,1.2,CSH,6.5 +CMT,5,2,1923,13.4,CRD,68 +CMT,1,1,618,1.2,CRD,8.5 +CMT,1,1,466,1.7,CSH,8 +CMT,1,1,1521,9.6,CRD,30 +CMT,1,1,312,1,CRD,6 +CMT,1,1,464,2.1,CSH,8.5 +CMT,1,1,736,2.4,CSH,11.5 +CMT,1,1,593,2.7,CSH,10.5 +CMT,1,2,960,5.8,CSH,19.5 +CMT,1,1,449,1.9,CRD,8.5 +CMT,1,1,1017,2.7,CRD,13.5 +CMT,1,3,432,1.6,CRD,8 +CMT,1,1,182,0.6,CSH,4.5 +CMT,1,2,478,2.2,CSH,9 +CMT,1,2,224,1,CSH,5.5 +CMT,1,1,563,2.5,CSH,10.5 +CMT,1,2,537,1.6,CRD,8 +CMT,1,1,327,1.2,CSH,6 +CMT,1,2,165,0.7,CSH,4.5 +CMT,1,1,469,1.4,CRD,7.5 +CMT,1,1,217,0.7,CSH,4.5 +CMT,1,1,258,1.2,CSH,6 +CMT,1,1,239,1.7,CRD,6.5 +CMT,1,1,312,2.6,CSH,9 +CMT,1,1,87,0.5,CSH,3.5 +CMT,1,1,519,2.4,CSH,9.5 +CMT,1,1,253,0.8,CSH,5 +CMT,1,1,480,2.3,CSH,9 +CMT,1,1,692,1.8,CSH,10 +CMT,1,1,759,2.6,CRD,11.5 +CMT,1,1,552,2.4,CRD,10 +CMT,1,1,264,1.1,CRD,5.5 +CMT,1,1,1533,3.9,CSH,19.5 +CMT,1,1,342,1.6,CRD,7.5 +CMT,1,1,393,1.4,CSH,7.5 +CMT,1,1,214,0.8,CRD,5 +CMT,1,1,772,1.6,CRD,10 +CMT,1,1,737,2.5,CRD,11 +CMT,1,1,852,4,CSH,15 +CMT,1,1,905,4.1,CRD,15 +CMT,1,1,1261,3.3,CRD,15.5 +CMT,1,1,186,1,CSH,5.5 +CMT,1,1,393,1.3,CRD,7 +CMT,1,1,747,5.7,CRD,18 +CMT,1,1,843,5.1,CSH,16.5 +CMT,1,1,720,6.8,CSH,20 +CMT,1,1,608,1.8,CSH,9 +CMT,1,1,1735,5.1,CRD,22 +CMT,2,1,2357,20.9,CRD,52 +CMT,4,1,2496,27.6,CRD,91 +CMT,1,3,1197,9.4,CSH,28 +CMT,1,1,1035,2.6,CSH,13 +CMT,1,1,195,0.8,CSH,5 +CMT,1,1,127,0.5,CSH,4 +CMT,1,1,629,1.6,CSH,9 +CMT,1,1,163,0.8,CRD,4.5 +CMT,1,1,1199,8.8,CRD,26.5 +CMT,1,1,128,0.4,CRD,3.5 +CMT,2,1,1350,18.7,CSH,52 +CMT,1,1,831,1.3,CRD,10 +CMT,1,1,860,2.8,CRD,12 +CMT,1,1,482,0.9,CSH,7 +CMT,1,1,1268,4.7,CRD,18 +CMT,1,1,760,1.3,CRD,10 +CMT,1,1,405,1.3,CSH,6.5 +CMT,1,1,405,0.7,CSH,6 +CMT,1,1,471,1.9,CSH,8.5 +CMT,1,1,760,1.5,CRD,10 +CMT,1,1,355,0.5,CSH,5.5 +CMT,1,1,997,2.8,CSH,13.5 +CMT,1,1,870,2.3,CRD,11.5 +CMT,1,1,514,0.9,CSH,7 +CMT,1,1,320,0.9,CSH,6 +CMT,1,1,733,2.8,CSH,11.5 +CMT,1,4,634,1.9,CRD,9.5 +CMT,1,1,642,2.5,CRD,11 +CMT,1,1,438,2.7,CRD,9.5 +CMT,1,3,603,2.1,CSH,9.5 +CMT,1,1,194,0.5,CSH,4 +CMT,1,1,1436,9,CRD,27 +CMT,1,1,602,1.5,CSH,8.5 +CMT,1,1,594,2.4,CRD,9.5 +CMT,1,1,730,2.4,CRD,11 +CMT,1,1,328,0.8,CRD,5.5 +CMT,1,1,766,3.8,CRD,14 +CMT,1,1,856,3.6,CRD,14 +CMT,1,1,342,2.3,CSH,8.5 +CMT,1,1,174,0.4,CSH,4 +CMT,1,1,493,0.9,CRD,7 +CMT,1,1,648,1,CSH,8 +CMT,1,2,522,1.5,CRD,8 +CMT,1,1,1496,7.5,CRD,24 +CMT,1,1,234,0.6,CSH,5 +CMT,2,2,1592,18.1,CRD,52 +CMT,1,1,722,3.4,CRD,13 +CMT,1,1,707,3.8,CRD,14 +CMT,1,1,1215,10.7,CSH,31 +CMT,1,3,636,4.4,CSH,14 +CMT,1,1,140,0.6,CRD,4 +CMT,1,1,182,0.6,CRD,4.5 +CMT,1,1,291,0.7,CSH,5 +CMT,1,1,699,5.3,CSH,17.5 +CMT,1,2,87,0.2,CSH,3.5 +CMT,1,2,917,5.9,CSH,19 +CMT,1,2,67,0.4,CSH,3.5 +CMT,1,2,503,0.8,CSH,7 +CMT,1,2,492,3.8,CRD,12.5 +CMT,1,2,399,1.2,CSH,6.5 +CMT,1,2,264,1.3,CRD,6 +CMT,1,2,1248,11.1,CSH,33 +CMT,1,2,504,1.2,CRD,7 +CMT,1,1,194,1.5,CRD,6 +CMT,1,1,859,2.5,CSH,12.5 +CMT,1,1,884,2.2,CRD,11 +CMT,1,1,179,0.8,CRD,5 +CMT,1,1,769,4.9,CSH,15.5 +CMT,1,1,285,1.9,CSH,7.5 +CMT,1,1,437,1.4,CSH,7.5 +CMT,1,1,576,2.3,CRD,9.5 +CMT,1,1,717,2,CSH,10.5 +CMT,1,1,220,1.4,CRD,6.5 +VTS,1,1,720,4.94,CRD,16 +VTS,1,1,1380,9.53,CRD,29 +VTS,1,1,900,2.7,CRD,12.5 +VTS,1,1,900,3.39,CSH,13.5 +VTS,1,1,900,3.82,CSH,14 +VTS,1,1,600,1.78,CRD,9.5 +VTS,1,1,600,1.61,CSH,9 +VTS,1,1,300,0.98,CSH,6 +VTS,1,1,420,1.31,CRD,7 +VTS,1,1,1020,1.18,CRD,11.5 +VTS,1,1,300,1.21,CRD,6 +VTS,1,1,540,2.31,CSH,10 +VTS,1,1,300,1.29,CRD,6 +VTS,1,1,120,0.79,CRD,4.5 +VTS,1,1,1620,10.75,CRD,32.5 +VTS,1,1,360,1.13,CRD,6 +VTS,1,1,360,1.45,CRD,6.5 +VTS,1,1,300,1.01,CRD,6 +VTS,1,1,720,1.9,CSH,10 +VTS,1,1,600,1.72,CSH,9 +VTS,1,1,600,2.98,CRD,11 +VTS,1,1,420,0.73,CRD,6.5 +VTS,1,1,360,0.8,CRD,5.5 +VTS,1,1,540,1.46,CRD,8 +VTS,1,1,480,1.33,CSH,7.5 +VTS,1,1,780,1,CRD,9 +CMT,1,1,402,1.5,CSH,7.5 +CMT,1,1,194,0.6,CRD,4.5 +CMT,1,1,287,1.2,CRD,6 +CMT,1,1,1247,12.4,CSH,34.5 +CMT,1,1,891,2.2,CSH,11.5 +CMT,1,1,378,1.1,CSH,6 +CMT,1,1,1280,4.1,CSH,18.5 +CMT,1,1,1030,3,CSH,13.5 +CMT,1,1,693,1.5,CRD,9 +CMT,1,1,1061,4.1,CRD,16 +CMT,1,1,170,0.6,CSH,4 +CMT,1,1,147,0.4,CSH,4 +CMT,1,1,582,0.9,CSH,8 +CMT,1,1,915,1.9,CSH,11.5 +CMT,1,1,1238,3.7,CSH,16.5 +CMT,1,1,124,0.6,CRD,4 +CMT,1,1,90,0.2,CSH,3.5 +CMT,1,1,363,1.6,CSH,8 +CMT,1,1,229,0.8,CRD,5 +CMT,1,1,384,1.4,CRD,7 +CMT,1,1,493,1.3,CSH,7.5 +CMT,1,1,125,0.8,CSH,4.5 +CMT,1,1,557,1.2,CSH,8 +CMT,1,1,655,1.9,CSH,9.5 +CMT,1,1,849,8,CSH,23.5 +CMT,1,1,307,0.9,CRD,6 +CMT,1,2,431,3.5,CRD,12 +CMT,1,2,193,0.5,CRD,4.5 +CMT,1,1,352,1.2,CSH,5.5 +CMT,1,1,783,4.1,CSH,15 +CMT,1,1,407,2,CRD,8 +CMT,1,1,1913,4.1,CRD,21 +CMT,1,1,245,0.6,CSH,5 +CMT,1,1,919,5.6,CSH,18 +CMT,1,1,743,2.9,CRD,12 +CMT,1,1,564,2.1,CSH,9.5 +CMT,1,1,1782,12.1,CSH,36.5 +CMT,1,1,116,0.3,CRD,3.5 +CMT,1,1,79,0.3,CRD,3.5 +CMT,1,1,423,1.1,CRD,7 +CMT,1,1,319,0.8,CSH,5.5 +CMT,1,1,252,1,CRD,5.5 +CMT,1,1,388,1.3,CSH,7 +CMT,1,1,121,0.3,CRD,3.5 +CMT,1,1,372,0.9,CRD,6 +CMT,1,1,434,0.5,CSH,6 +CMT,1,1,438,1.2,CRD,7 +CMT,1,1,368,0.9,CSH,6 +CMT,1,1,406,0.5,CSH,6 +CMT,1,1,453,1.6,CRD,8 +CMT,1,1,318,2,CRD,8 +CMT,1,1,276,1,CRD,6 +CMT,1,1,638,2.9,CSH,11.5 +CMT,1,1,462,2.6,CRD,10 +CMT,1,1,590,2.8,CSH,11.5 +CMT,1,1,251,1.1,CRD,6 +CMT,1,1,549,1.7,CSH,8.5 +CMT,1,1,568,1.5,CRD,8.5 +CMT,2,1,2940,17.1,CRD,52 +CMT,1,1,32,0,CSH,2.5 +CMT,1,1,513,0.8,CRD,7 +CMT,1,1,351,0.7,CRD,5.5 +CMT,1,1,1348,4.1,CRD,18 +CMT,1,1,371,0.5,CRD,5.5 +CMT,1,1,799,2.1,CSH,11.5 +CMT,1,1,726,1.1,CRD,8.5 +CMT,1,1,255,0.4,CSH,4.5 +CMT,1,1,214,0.7,CRD,5 +CMT,1,1,554,1.8,CSH,8.5 +CMT,2,1,2159,17.7,CRD,52 +CMT,1,1,1032,8.5,CRD,25.5 +CMT,1,1,556,2.5,CSH,10 +CMT,1,1,1775,9.4,CRD,30.5 +CMT,1,1,734,2.4,CRD,11.5 +CMT,1,1,512,2.4,CSH,9.5 +CMT,1,1,1244,7.9,CRD,24.5 +CMT,1,1,554,1.1,CRD,8 +CMT,1,2,406,1,CRD,6.5 +CMT,1,1,570,2.4,CSH,10 +CMT,1,1,145,0.6,CRD,4 +CMT,1,1,640,1.5,CSH,9 +CMT,1,1,784,1.7,CSH,10 +CMT,1,1,139,0.7,CRD,4.5 +CMT,1,1,415,1.7,CSH,8 +CMT,1,1,1263,8.3,CRD,25.5 +CMT,1,1,854,3.7,CRD,14 +CMT,1,1,664,2.2,CSH,10 +CMT,2,1,2504,21.4,CRD,52 +CMT,1,1,663,3.1,CRD,12 +CMT,1,1,536,2.1,CRD,9 +CMT,1,1,1226,4.2,CRD,17 +CMT,1,1,139,0.3,CSH,3.5 +CMT,1,1,309,1.3,CRD,6.5 +CMT,1,1,513,1.9,CRD,9 +CMT,1,1,1479,9.1,CRD,29.5 +CMT,1,1,352,0.8,CSH,6 +CMT,1,1,346,1.1,CSH,6.5 +CMT,1,1,208,0.6,CSH,4.5 +CMT,1,1,1299,5.2,CSH,20 +CMT,1,1,1639,11.3,CSH,34.5 +CMT,1,1,196,0.7,CRD,5 +CMT,1,1,1218,4.4,CRD,17 +CMT,1,1,635,1.7,CRD,9.5 +CMT,1,1,456,0.9,CSH,6.5 +CMT,1,1,720,2.2,CSH,9.5 +CMT,1,1,297,0.7,CSH,5 +CMT,1,1,847,1.5,CSH,11 +CMT,1,1,707,1.5,CRD,9.5 +CMT,1,1,398,1,CRD,6.5 +CMT,1,1,698,2.8,CSH,11.5 +CMT,1,1,1670,11.9,CRD,34.5 +CMT,1,1,513,1.2,CSH,7.5 +CMT,1,1,778,2.7,CSH,12 +CMT,1,1,640,0.8,CSH,8 +CMT,1,1,603,2.3,CSH,10 +CMT,1,1,1009,8.4,CRD,25.5 +CMT,1,1,1150,4.1,CSH,16 +CMT,1,1,101,0.6,CRD,4 +CMT,1,1,300,1.2,CSH,6.5 +CMT,1,1,412,2.2,CRD,9 +CMT,1,1,780,2,CSH,10.5 +CMT,1,1,642,1.1,CRD,8.5 +CMT,1,1,942,4.2,CRD,15 +CMT,1,1,297,1.1,CRD,6 +CMT,1,1,2159,5.8,CRD,26 +CMT,1,1,385,1.6,CSH,7 +CMT,1,1,1217,3.2,CRD,16.5 +CMT,1,1,704,2.2,CSH,10 +CMT,1,1,946,2.3,CRD,12 +CMT,1,1,253,0.7,CRD,5 +CMT,1,1,582,1.4,CRD,8 +CMT,1,1,490,1.5,CSH,8 +CMT,1,1,564,1.2,CSH,8 +CMT,1,1,313,1.5,CRD,7 +CMT,1,1,388,1.4,CSH,7 +CMT,1,1,661,4.5,CRD,14 +CMT,1,1,473,1.5,CSH,8 +CMT,1,1,359,1.2,CSH,6.5 +CMT,1,1,421,1.5,CSH,7.5 +CMT,1,1,761,2.5,CRD,11.5 +CMT,1,1,799,1.8,CSH,10.5 +CMT,1,1,180,0.3,CSH,4 +CMT,1,1,591,1.4,CRD,8 +CMT,1,1,964,7.6,CSH,22.5 +CMT,1,1,136,0.6,CSH,4.5 +CMT,1,1,343,0.7,CSH,5.5 +CMT,1,1,216,0.5,CSH,4.5 +CMT,1,1,303,1.1,CSH,6 +CMT,1,1,907,3.6,CRD,14 +CMT,1,1,375,1.4,CSH,7 +CMT,1,1,440,1.5,CRD,7.5 +CMT,1,1,354,1.2,CSH,6.5 +CMT,1,1,441,1.1,CRD,6.5 +CMT,1,1,586,1.6,CRD,9 +CMT,1,1,565,1.1,CSH,7.5 +CMT,1,1,512,2.4,CRD,9.5 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,540,1.52,CRD,8 +VTS,1,1,1320,6.65,CRD,23.5 +VTS,1,1,600,1.53,CRD,8.5 +VTS,1,1,300,0.58,CSH,5 +VTS,1,1,360,0.52,CSH,5.5 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,240,0.7,CSH,4.5 +VTS,1,1,360,1.66,CSH,7 +VTS,1,1,480,1.12,CRD,7 +VTS,1,1,2340,6.64,CRD,30 +VTS,1,1,600,1.75,CRD,8.5 +CMT,1,1,237,1.2,CSH,5.5 +CMT,1,1,679,1.2,CSH,9 +CMT,1,1,252,0.8,CSH,5 +CMT,1,1,445,1.1,CRD,6.5 +CMT,1,1,198,1.3,CRD,5.5 +CMT,1,1,216,1,CSH,5.5 +CMT,1,1,528,3.6,CSH,12 +CMT,1,1,160,0.5,CRD,4 +CMT,1,1,280,0.9,CSH,5.5 +CMT,1,1,268,1.1,CSH,5.5 +CMT,1,1,1499,13.5,CRD,38.5 +CMT,1,1,456,2.9,CSH,11 +CMT,1,1,97,0.6,CRD,4 +CMT,1,1,269,2.1,CRD,8 +CMT,1,1,255,1,CRD,5.5 +CMT,1,2,702,1.7,CRD,9.5 +CMT,1,1,274,0.7,CSH,5.5 +CMT,1,2,1142,4.5,CRD,17 +CMT,1,1,1167,2.6,CRD,14 +CMT,1,2,696,1.9,CSH,9.5 +CMT,1,2,262,1.4,CSH,6 +CMT,1,2,195,0.6,CSH,4.5 +CMT,1,2,607,2,CRD,9 +CMT,1,2,342,0.9,CSH,6 +CMT,1,2,500,2,CSH,9 +CMT,1,2,672,2.9,CSH,12 +CMT,1,4,476,1.5,CSH,8 +CMT,1,2,530,2.3,CSH,9.5 +CMT,1,2,748,1.1,CSH,8 +CMT,1,1,554,2.1,CRD,9 +CMT,1,2,1388,2,CSH,15 +CMT,1,1,533,0.7,CSH,7 +CMT,1,1,2105,3.2,CRD,22 +CMT,1,1,1108,1.8,CSH,12.5 +CMT,1,1,927,6.2,CRD,20.5 +CMT,1,1,543,1.1,CSH,8 +CMT,1,1,1025,8.9,CRD,26.5 +CMT,1,1,271,1,CSH,6 +CMT,1,1,798,2.2,CRD,11 +CMT,1,1,292,1.4,CSH,6.5 +CMT,1,1,539,1.1,CSH,7.5 +CMT,1,1,536,4.1,CRD,13.5 +CMT,1,1,319,1.4,CSH,6.5 +CMT,1,1,422,0.5,CSH,6 +CMT,1,1,1085,5.9,CRD,19.5 +CMT,1,1,420,1.4,CSH,7 +CMT,1,1,1062,3.1,CSH,14 +CMT,1,1,584,0.9,CRD,7.5 +CMT,1,1,368,1.2,CSH,6.5 +CMT,1,1,659,1.1,CRD,8.5 +CMT,1,1,348,1.1,CSH,6.5 +CMT,1,1,554,1.5,CSH,8.5 +CMT,1,1,545,1,CSH,7.5 +CMT,1,1,574,1.2,CSH,8 +CMT,1,1,819,4.6,CSH,16 +CMT,1,1,414,1.1,CRD,6.5 +CMT,1,1,462,1.5,CRD,8 +CMT,1,1,887,1.6,CRD,10.5 +CMT,1,1,575,2.2,CSH,9.5 +CMT,1,1,1355,7,CRD,24 +CMT,1,1,1373,5.4,CRD,20.5 +CMT,1,1,348,1.2,CSH,6.5 +CMT,1,1,542,2.8,CRD,10.5 +CMT,1,1,337,1.3,CRD,6.5 +CMT,1,1,199,0.9,CRD,5 +CMT,1,1,266,0.5,CRD,5 +CMT,1,1,370,1.6,CSH,7.5 +CMT,1,1,841,4.9,CSH,16 +CMT,1,1,743,2,CRD,10.5 +CMT,1,1,311,1,CSH,6 +CMT,1,1,715,1.6,CSH,9.5 +CMT,1,1,567,2.5,CSH,10 +CMT,1,1,614,1.7,CRD,9 +CMT,1,1,620,1,CRD,8 +CMT,1,1,285,0.7,CRD,5.5 +CMT,1,1,946,2.3,CRD,12 +CMT,1,1,810,2.3,CRD,11.5 +CMT,1,1,120,0.5,CSH,4 +CMT,1,1,237,1.1,CSH,5.5 +CMT,1,1,770,8.4,CSH,23.5 +CMT,1,1,457,1.8,CSH,8.5 +CMT,1,1,615,2.2,CRD,10.5 +CMT,1,1,285,1,CSH,6 +CMT,1,1,289,1.1,CRD,6 +CMT,1,1,1334,4.2,CRD,18 +CMT,1,1,523,1.6,CRD,8.5 +CMT,1,1,81,0.4,CRD,3.5 +CMT,1,1,1090,8,CSH,25 +CMT,1,1,336,1.2,CSH,6.5 +CMT,1,1,145,1,CSH,5 +CMT,1,1,994,2.1,CRD,12 +CMT,1,1,268,0.9,CRD,5 +CMT,1,1,522,3,CRD,10.5 +CMT,1,1,253,0.6,CSH,5 +CMT,1,1,501,2.1,CSH,9 +CMT,1,1,214,0.7,CRD,4.5 +CMT,1,1,1448,5.7,CRD,20.5 +CMT,1,1,802,1.3,CRD,10 +CMT,1,1,856,1.4,CSH,10.5 +CMT,1,1,799,2.3,CRD,11 +CMT,1,1,483,1,CRD,7.5 +CMT,1,1,325,1,CRD,6 +CMT,1,1,1339,6.1,CRD,22.5 +CMT,1,1,359,1.5,CSH,7 +CMT,1,2,1859,9.7,CRD,33 +CMT,1,1,531,4.9,CSH,15.5 +CMT,1,1,569,1.5,CSH,8.5 +CMT,1,1,809,1.7,CRD,10.5 +CMT,1,1,334,0.9,CSH,6 +CMT,1,1,343,1.8,CRD,7.5 +CMT,1,1,545,0.9,CSH,7.5 +CMT,1,1,1007,7.1,CRD,22.5 +CMT,1,1,683,1.7,CSH,9.5 +CMT,1,1,171,0.4,CSH,4 +CMT,1,1,516,1.1,CRD,7.5 +CMT,1,1,455,1.7,CSH,7.5 +CMT,1,1,304,0.7,CSH,5.5 +CMT,1,1,715,2.6,CSH,11.5 +CMT,1,1,858,1.5,CRD,10.5 +CMT,1,1,234,0.6,CSH,4.5 +CMT,1,1,1405,6.1,CRD,22.5 +CMT,1,1,839,3.2,CSH,12.5 +CMT,1,1,342,1.8,CRD,7.5 +CMT,1,1,1418,10.7,CRD,31 +CMT,1,1,238,0.6,CSH,4.5 +CMT,1,1,227,0.6,CSH,5 +CMT,1,1,379,1.5,CRD,7.5 +CMT,1,1,306,0.7,CRD,5.5 +CMT,1,1,828,1,CRD,9.5 +CMT,1,1,284,1.2,CSH,6 +CMT,1,1,553,1.4,CRD,8 +CMT,1,1,387,1.2,CRD,7 +CMT,1,1,183,0.7,CSH,5 +CMT,1,1,887,3.1,CRD,13 +CMT,1,1,2892,14.1,CRD,44.5 +CMT,1,1,1901,1.8,CRD,18.5 +CMT,1,1,218,0.5,CSH,4.5 +CMT,1,1,574,1,CSH,7.5 +CMT,1,1,245,0.6,CSH,5 +CMT,1,1,796,1.9,CSH,10.5 +CMT,1,1,663,1.8,CSH,9.5 +CMT,1,1,103,0.9,CSH,4.5 +CMT,1,1,401,1.3,CSH,7 +CMT,1,1,221,0.8,CRD,5 +CMT,1,1,434,1.7,CRD,8 +CMT,1,1,270,1.2,CRD,5.5 +CMT,1,1,455,1.6,CSH,8 +CMT,1,1,515,1.9,CSH,9 +CMT,1,1,415,1.2,CSH,6.5 +CMT,1,1,337,0.8,CSH,6 +CMT,1,1,890,6.6,CSH,20 +CMT,1,1,1682,3.5,CSH,19 +CMT,1,1,347,0.9,CSH,6 +CMT,1,1,99,0.3,CRD,3.5 +CMT,1,1,478,1.5,CSH,8 +CMT,1,1,2049,9,CRD,31.5 +CMT,1,1,870,5.5,CSH,19 +CMT,1,1,427,2.1,CRD,9 +CMT,1,1,170,0.7,CSH,4.5 +CMT,1,1,1645,3.5,CSH,19 +CMT,1,1,778,1.7,CSH,10 +CMT,1,1,557,3.3,CRD,12 +CMT,1,1,855,1.4,CRD,10 +CMT,1,1,142,0.5,CSH,4 +CMT,1,1,88,0.5,CSH,3.5 +CMT,1,1,426,1.1,CSH,6.5 +CMT,1,1,93,0.4,CSH,3.5 +CMT,1,2,1388,11.2,CSH,32.5 +CMT,1,1,594,2,CRD,9.5 +CMT,1,1,213,0.5,CSH,4.5 +CMT,1,1,291,1.5,CRD,6.5 +CMT,1,1,172,0.6,CSH,4.5 +CMT,1,1,1056,10.1,CRD,28.5 +CMT,1,2,665,3,CRD,12 +CMT,1,1,312,1.1,CRD,6 +CMT,1,1,369,1,CSH,6.5 +CMT,1,1,636,2.6,CRD,11 +CMT,1,1,383,2.1,CSH,8.5 +CMT,1,1,591,1.4,CRD,8 +CMT,1,1,115,0.3,CSH,3.5 +CMT,1,1,399,1.7,CRD,7.5 +CMT,1,1,289,0.7,CSH,5 +CMT,1,1,1071,2.2,CSH,13 +CMT,1,1,449,0.9,CSH,6.5 +CMT,1,1,570,1.3,CSH,8 +CMT,1,1,180,0.2,CSH,4 +CMT,1,1,218,0.5,CSH,4.5 +CMT,1,1,318,0.8,CSH,5.5 +CMT,1,1,621,1.8,CRD,9 +CMT,1,1,366,0.9,CSH,6 +CMT,1,1,505,1.1,CRD,7.5 +CMT,1,1,428,1.2,CRD,7 +CMT,1,1,596,1.3,CSH,8.5 +CMT,1,1,382,0.6,CSH,6 +CMT,1,1,469,1.2,CRD,7 +CMT,1,1,1450,8.3,CRD,26 +CMT,2,1,2551,18,CRD,52 +CMT,1,1,635,1.1,CSH,8 +CMT,1,1,1508,10.2,CRD,31.5 +CMT,1,1,370,2.7,CSH,10 +CMT,1,1,860,7.7,CSH,23 +CMT,1,1,1353,9,CSH,28 +CMT,1,1,1728,10.9,CRD,33.5 +CMT,1,1,456,4.1,CSH,13 +CMT,1,1,296,0.7,CRD,5.5 +CMT,1,1,511,1.6,CRD,8 +CMT,1,4,1162,3.4,CSH,16 +CMT,1,1,531,1.6,CRD,8.5 +CMT,1,1,1054,3.7,CSH,15.5 +CMT,1,1,1044,3.3,CRD,14 +CMT,1,1,1007,5.2,CSH,18 +CMT,1,1,582,2.7,CRD,10.5 +CMT,1,2,725,2,CSH,10.5 +CMT,1,1,758,3.6,CRD,13.5 +CMT,1,1,1284,4.6,CSH,18.5 +CMT,1,1,458,1.4,CRD,7.5 +CMT,1,1,302,0.6,CSH,5 +CMT,1,1,240,0.6,CRD,5 +CMT,1,1,1106,10.8,CRD,30.5 +CMT,1,1,452,0.8,CSH,6.5 +CMT,1,1,987,3,CRD,13.5 +CMT,1,1,89,0.5,CSH,3.5 +CMT,1,2,1132,2,CRD,13.5 +CMT,1,1,1014,2.3,CSH,12 +CMT,1,1,93,0,CSH,3 +CMT,1,1,661,2.4,CSH,10.5 +CMT,1,1,233,1.2,CRD,6 +CMT,1,1,213,1,CSH,5.5 +CMT,1,1,603,2.7,CSH,10.5 +CMT,1,1,748,4.3,CRD,15 +CMT,1,1,294,0.4,CRD,5 +CMT,1,3,2052,10.5,CRD,34.5 +CMT,1,1,1253,3.8,CSH,16.5 +CMT,1,1,336,1.2,CSH,6.5 +CMT,1,1,1461,3.7,CRD,17.5 +CMT,1,1,157,0.6,CSH,4.5 +CMT,5,1,39,0,CRD,15 +CMT,1,1,558,1.7,CRD,8.5 +CMT,1,1,739,2,CSH,10 +CMT,1,1,739,1.3,CRD,9 +CMT,2,1,1884,21.5,CRD,52 +CMT,1,1,377,0.9,CRD,6.5 +CMT,1,1,164,0.5,CSH,4 +CMT,1,1,264,1.1,CSH,5.5 +CMT,1,1,58,0.3,CSH,3.5 +CMT,1,1,1193,9.9,CRD,29.5 +CMT,1,1,594,3,CSH,12 +CMT,1,1,487,2.3,DIS,9 +CMT,1,1,455,1.7,CSH,8 +CMT,1,1,198,0.5,CSH,4.5 +CMT,1,1,665,1.8,CSH,9.5 +CMT,1,1,89,0.2,CSH,3.5 +CMT,1,1,482,2,CSH,9 +CMT,1,1,452,1.9,CRD,8 +CMT,1,1,434,1.8,CSH,8 +CMT,1,1,583,1.7,CSH,9 +CMT,1,1,511,1.2,CRD,7.5 +CMT,1,1,562,1.5,CRD,8 +CMT,1,1,645,1.8,CRD,9 +CMT,1,1,419,1.5,CSH,7.5 +CMT,1,1,269,0.7,CSH,5 +CMT,1,1,329,0.9,CSH,6 +CMT,1,1,158,1.1,CSH,5 +CMT,1,1,279,0.8,CSH,5.5 +CMT,1,1,276,0.7,CSH,5.5 +CMT,1,1,164,0.5,CSH,4 +CMT,1,1,378,0.7,CSH,6 +CMT,1,1,1056,3.5,CRD,14.5 +CMT,1,3,363,0.5,CRD,5.5 +CMT,1,4,662,1.8,CSH,9 +CMT,1,1,412,1,CRD,6.5 +CMT,1,2,714,2.7,CRD,11 +CMT,1,2,100,0.4,CSH,3.5 +CMT,1,1,556,1.3,CSH,8 +CMT,1,1,744,1.9,CRD,10 +CMT,1,1,303,0.9,CSH,5.5 +CMT,1,1,1135,2.7,CSH,14 +CMT,1,1,794,2.4,CSH,11.5 +CMT,1,1,804,1.7,CSH,10.5 +CMT,1,1,269,0.8,CSH,5.5 +CMT,1,1,696,1.9,CRD,9.5 +CMT,1,1,320,1.1,CSH,6 +CMT,1,1,807,1.3,CSH,9.5 +CMT,1,1,303,1.1,CSH,6 +CMT,1,1,581,2.3,CRD,9.5 +CMT,1,1,246,0.6,CSH,5 +CMT,1,1,195,1.3,CRD,5.5 +CMT,1,1,1611,4.6,CRD,20.5 +CMT,1,1,511,0.5,CSH,6.5 +CMT,1,1,391,0.7,CRD,6 +CMT,1,1,238,0.7,CSH,5 +CMT,1,1,661,1.8,CRD,9.5 +CMT,1,1,804,1.7,CSH,10.5 +CMT,1,1,794,5,CRD,16.5 +CMT,1,1,127,0.5,CRD,4 +CMT,1,1,397,2.1,CSH,8 +CMT,1,1,1700,7.1,CRD,28 +CMT,1,1,218,0.7,CRD,5 +CMT,1,1,397,2.1,CRD,8.5 +CMT,1,1,1196,9.3,CRD,27.5 +CMT,1,1,132,0.2,CSH,3.5 +CMT,1,1,695,1.4,CSH,9 +CMT,1,1,1441,2.8,CRD,16 +CMT,1,1,1116,1.3,CRD,12 +CMT,1,1,959,4.8,CRD,17 +CMT,1,1,976,1.8,CRD,11.5 +CMT,1,1,1479,8.7,CRD,27 +CMT,1,1,409,1.3,CRD,7 +CMT,1,1,295,0.9,CSH,5.5 +CMT,1,1,277,1.5,CSH,6.5 +CMT,1,1,361,1.3,CSH,6.5 +CMT,1,1,290,1,CRD,5.5 +CMT,1,1,370,1.4,CRD,7 +CMT,1,3,2129,13.3,DIS,40.5 +CMT,1,2,271,0.9,CRD,5.5 +CMT,1,1,994,3,CRD,13.5 +CMT,1,1,810,1.8,CRD,10 +CMT,1,1,565,1.5,CRD,8.5 +CMT,1,1,484,2.5,CRD,9.5 +CMT,1,1,474,1.6,CRD,8 +CMT,1,1,1764,7.4,CRD,26 +CMT,1,1,856,3,NOC,13 +CMT,1,2,618,1.6,CSH,9 +CMT,1,1,283,0.4,CRD,5 +CMT,1,1,168,0.8,CRD,5 +CMT,1,2,397,1.2,CRD,6.5 +CMT,1,1,677,1.4,CSH,9 +CMT,1,1,152,0.5,CRD,4 +CMT,1,1,304,0.8,CSH,5 +CMT,1,1,828,2.2,CRD,11 +CMT,1,1,692,1.2,CSH,8.5 +CMT,1,1,362,0.6,CSH,5.5 +CMT,1,1,762,4.1,CSH,15 +CMT,1,1,663,2,CSH,10 +CMT,1,1,731,3.2,CRD,12.5 +CMT,1,1,1085,9.8,CRD,27.5 +CMT,1,1,1501,3.7,CRD,12.5 +CMT,1,1,340,1,CRD,6 +CMT,1,1,1123,1.8,CRD,12.5 +CMT,1,3,627,1.2,CSH,7 +CMT,1,1,430,1,CRD,6.5 +CMT,1,1,994,5.3,CSH,17.5 +CMT,1,1,1110,8,CRD,24 +CMT,1,2,896,1.3,CSH,10.5 +CMT,1,1,5478,14.5,NOC,2.5 +CMT,1,1,1557,2.6,NOC,17 +CMT,1,1,1490,8.9,CRD,27.5 +CMT,1,3,215,0.9,CSH,5 +CMT,1,1,393,1.7,CSH,7.5 +CMT,1,4,1022,6.1,CRD,20.5 +CMT,1,2,653,2.4,CSH,10.5 +CMT,1,1,513,1.5,CRD,8 +CMT,1,2,208,0.5,CRD,4.5 +CMT,1,1,532,1.9,CRD,8.5 +CMT,1,1,61,0.2,CSH,3 +CMT,1,1,165,1,CRD,5 +CMT,1,4,305,1.8,CRD,7.5 +CMT,1,1,1392,4.3,CRD,18 +CMT,5,1,975,4.9,CRD,45 +CMT,1,1,705,5.3,CRD,16.5 +CMT,1,1,463,1.1,CRD,7 +CMT,1,1,1430,11.3,CRD,33 +CMT,1,1,367,0.9,CRD,6 +CMT,1,1,1238,4,CSH,17.5 +CMT,1,2,1222,6.4,CSH,21.5 +CMT,1,1,136,0.8,CSH,4.5 +CMT,1,1,897,2.3,CRD,12 +CMT,1,2,674,2.4,CRD,10.5 +CMT,1,1,839,2.1,CRD,11 +CMT,1,4,1821,6.9,CRD,25 +CMT,1,1,952,3.7,CRD,14 +CMT,1,1,898,4.5,CRD,16 +CMT,1,1,321,1,CSH,6 +CMT,1,1,669,2,CSH,10 +CMT,1,1,1307,11.6,CRD,32.5 +CMT,1,1,211,0.7,CSH,4.5 +CMT,1,2,525,2.1,CRD,9 +CMT,1,1,327,1.3,CRD,6.5 +CMT,1,2,708,2.9,CSH,11.5 +CMT,1,1,517,0.6,CSH,7 +CMT,1,1,703,2.2,CSH,10 +CMT,1,1,2140,6.4,CSH,25 +CMT,1,1,150,0.4,CRD,4 +CMT,1,1,258,1.5,CRD,6.5 +CMT,1,1,999,6.6,CRD,20.5 +CMT,1,1,200,0.6,CSH,4.5 +CMT,1,1,1905,8.8,CRD,29 +CMT,1,2,1184,7.7,CRD,24 +CMT,1,2,573,1.3,CRD,8.5 +CMT,1,2,611,1.2,CRD,8 +CMT,1,1,323,0.7,CRD,5.5 +CMT,1,1,1261,10,CRD,29.5 +CMT,1,1,359,1.4,CRD,6.5 +CMT,1,1,170,0.8,CSH,5 +CMT,1,1,590,2,CSH,9 +CMT,1,1,139,0,CSH,3.5 +CMT,1,1,732,4.1,CRD,14.5 +CMT,1,1,266,0.8,CSH,5.5 +CMT,1,1,1388,5.5,CRD,20 +CMT,1,2,549,1.3,CSH,8 +CMT,1,2,190,0.6,CSH,4.5 +CMT,1,1,1449,10.4,CRD,31.5 +CMT,1,1,1138,4.6,CRD,18 +CMT,1,3,251,0.9,CSH,5 +CMT,1,1,1032,4.3,CRD,16.5 +CMT,1,1,369,1.5,CRD,7.5 +CMT,1,1,254,1.1,CRD,5.5 +CMT,2,2,1529,20.6,CSH,52 +CMT,1,1,452,1,CRD,7 +CMT,1,1,2233,9.7,CRD,34.5 +CMT,1,4,400,1.3,CRD,7 +CMT,1,3,628,2.8,CRD,11 +CMT,1,1,108,0.5,CSH,4 +CMT,1,2,885,4.1,CRD,15 +CMT,1,2,361,1.7,CSH,7.5 +CMT,1,1,141,0.5,CRD,4 +CMT,1,1,334,1,CRD,6 +CMT,1,2,1819,7,CSH,25.5 +CMT,1,1,2782,19.8,CRD,58 +CMT,1,2,574,1.7,CSH,9 +CMT,1,1,1652,13.7,CRD,39.5 +CMT,1,1,1428,9.8,CRD,30.5 +CMT,1,2,1938,4.3,CRD,22 +CMT,1,2,518,1,CRD,7 +CMT,1,2,358,0.6,CRD,5.5 +CMT,1,1,786,2.6,CRD,11.5 +CMT,1,1,786,4,CSH,14 +CMT,1,1,894,4.4,CSH,15.5 +CMT,1,2,722,4.2,CRD,15 +CMT,1,1,183,0.9,CRD,5.5 +CMT,1,1,221,0.5,CSH,4.5 +CMT,1,1,450,0.9,CSH,6.5 +CMT,1,1,994,0.9,CRD,11 +CMT,1,1,862,8.5,CRD,25 +CMT,1,1,279,1.1,CRD,5.5 +CMT,1,1,1250,5.8,CRD,21.5 +CMT,1,2,1204,7.1,CRD,23 +CMT,1,1,321,1.5,CRD,7 +CMT,1,1,484,2,CRD,9 +CMT,1,1,625,0.8,CRD,8 +CMT,1,1,495,0.8,CSH,6.5 +CMT,1,1,509,1.5,CRD,8 +CMT,1,1,2639,12.9,CRD,38.5 +CMT,1,1,1706,4.1,CSH,19 +CMT,1,3,1255,5.8,CSH,20 +CMT,1,3,1251,4.9,CSH,18 +CMT,1,4,491,3,CRD,11 +CMT,1,1,498,1.3,CSH,8 +CMT,1,1,419,1.5,CRD,7.5 +CMT,1,1,670,2.7,CRD,11 +CMT,1,1,811,2.5,CSH,12 +CMT,1,1,998,2.8,NOC,13 +CMT,1,1,1375,4.7,CSH,19 +CMT,1,3,640,1.6,CSH,9 +CMT,1,2,1872,9.2,CSH,30.5 +CMT,1,1,587,4,CRD,13 +CMT,1,1,727,2.2,CRD,10.5 +CMT,1,2,1073,3.4,CRD,14.5 +CMT,1,1,306,1.2,CRD,6.5 +CMT,1,2,694,2.9,CSH,11.5 +CMT,1,1,1154,4.8,CRD,18.5 +CMT,1,1,1219,5.8,CRD,20 +CMT,1,3,1022,3,CSH,14 +CMT,1,1,576,2.9,CSH,11 +CMT,1,1,994,4.9,CRD,17 +CMT,1,1,656,2.9,CRD,11.5 +CMT,1,1,437,1.7,CRD,7.5 +CMT,1,1,716,2.6,CRD,11 +CMT,1,1,702,3,CSH,11.5 +CMT,1,1,212,0.6,CSH,4.5 +CMT,1,2,654,4.2,CRD,14.5 +CMT,1,1,286,0.7,CSH,5.5 +CMT,1,4,1055,3.3,CSH,14.5 +CMT,1,2,656,2,CSH,10 +CMT,1,4,1893,18.5,CSH,51.5 +CMT,1,3,447,1,CSH,6.5 +CMT,1,1,996,3,CSH,13 +CMT,1,3,224,0.4,CSH,4.5 +CMT,1,3,749,0.9,CRD,9 +CMT,1,2,571,1.5,CRD,8 +CMT,1,2,1006,4.3,CRD,16.5 +CMT,1,2,760,0.7,CSH,9 +CMT,1,1,376,1.2,CRD,6.5 +CMT,1,1,884,3.7,CRD,15 +CMT,1,1,456,2.1,CSH,9 +CMT,1,1,439,1.2,CSH,7 +CMT,1,1,630,2.4,CRD,10 +CMT,1,2,711,3.2,CSH,12.5 +CMT,1,1,1461,11.1,CRD,32.5 +CMT,1,1,469,0.8,CSH,6.5 +CMT,1,2,197,0.3,CSH,4 +CMT,1,1,1098,9.5,CSH,27.5 +CMT,1,3,847,2,CSH,11 +CMT,1,2,672,2.1,CRD,9.5 +CMT,1,1,282,0.8,CRD,5.5 +CMT,1,2,2246,4.5,CRD,24 +CMT,1,1,1176,3.7,CRD,16.5 +CMT,1,1,234,0.8,CSH,5 +CMT,1,1,344,0.8,CSH,6 +CMT,1,1,281,1.4,CRD,6.5 +CMT,1,4,1280,9.2,CSH,28.5 +CMT,1,1,1268,10.2,CSH,30 +CMT,1,1,1016,2.6,CRD,13 +CMT,1,1,220,0.7,CSH,4.5 +CMT,1,1,627,1.8,CSH,9 +CMT,1,1,111,0.3,CSH,3.5 +CMT,1,2,830,1.4,CRD,9.5 +CMT,1,1,1529,9,CSH,27 +CMT,1,1,2003,13.9,CSH,42 +CMT,2,1,1436,18.4,CRD,52 +CMT,1,3,198,0.6,CRD,4.5 +CMT,1,1,246,0.7,CSH,5.5 +CMT,1,2,584,1.2,CSH,8.5 +CMT,1,2,181,0.6,CRD,4.5 +CMT,1,1,222,0.9,CRD,5 +CMT,1,1,2032,6.4,CRD,27.5 +CMT,1,1,488,2.5,CRD,10 +CMT,1,1,1709,16.2,CRD,46 +CMT,1,1,455,1.9,CSH,8 +CMT,1,1,97,0.5,CSH,3.5 +CMT,1,2,467,1.2,CSH,7 +CMT,1,2,748,4.5,CSH,16 +CMT,1,1,687,2.3,CSH,10.5 +CMT,1,2,463,1.2,CSH,7.5 +CMT,1,1,787,3.2,CSH,13 +CMT,1,2,616,1.3,CSH,8.5 +CMT,1,2,387,1.1,CSH,7 +CMT,1,1,330,0.9,CRD,5.5 +CMT,1,1,489,1.2,CRD,7 +CMT,1,2,981,8.4,CSH,25 +CMT,1,1,1660,4.4,CRD,20 +CMT,1,1,624,1.9,CRD,9 +CMT,1,2,322,1,CSH,6 +CMT,1,1,925,2.7,CSH,12.5 +CMT,1,2,321,1.8,CRD,7.5 +CMT,1,2,565,1,CSH,7.5 +CMT,1,3,124,0.5,CSH,4 +CMT,1,2,203,0.3,CSH,4 +CMT,1,1,272,0.8,CRD,5 +CMT,1,1,301,1.4,CRD,6.5 +CMT,1,3,718,2.3,CSH,10.5 +CMT,1,1,298,2.3,CSH,8.5 +CMT,1,1,818,2.1,CRD,10.5 +CMT,1,1,354,1,CSH,6 +CMT,1,2,746,2.3,CRD,11 +CMT,1,2,322,0.7,CRD,6 +CMT,1,1,731,4,CRD,14 +CMT,1,1,701,1.6,CSH,9 +CMT,1,1,651,1.1,CSH,8.5 +CMT,1,1,671,1.5,CRD,9 +CMT,1,3,547,1.3,CSH,8 +CMT,1,1,1249,10.7,CRD,30.5 +CMT,1,2,308,0.6,CSH,5.5 +CMT,1,1,374,1.6,CSH,7.5 +CMT,1,1,1887,8.5,CRD,28 +CMT,1,1,1564,6.8,CRD,24 +CMT,1,1,155,1.2,CRD,5.5 +CMT,1,1,898,3.3,CSH,14 +CMT,1,4,1534,10.7,CSH,33 +CMT,1,2,1425,6,CRD,22 +CMT,1,1,176,0.7,CSH,5 +CMT,1,1,355,1,CSH,6 +CMT,1,1,312,1.6,CRD,7 +CMT,1,1,146,0.4,CSH,4 +CMT,1,1,635,1.4,CSH,8.5 +CMT,1,1,807,8.3,CRD,23.5 +CMT,1,1,446,1.3,CRD,7.5 +CMT,1,1,954,4.3,CRD,16 +CMT,1,1,652,6.2,CSH,19 +CMT,1,1,519,1.2,CSH,7.5 +CMT,1,1,674,1.2,CRD,9 +CMT,1,1,692,1.9,CSH,9.5 +CMT,1,1,445,2.3,CRD,9 +CMT,1,1,567,1.7,CRD,8.5 +CMT,1,1,464,1.6,CRD,7.5 +CMT,1,1,467,1.2,CRD,7.5 +CMT,1,1,461,0.8,CSH,6.5 +CMT,1,1,200,0.7,CSH,4.5 +CMT,1,2,1179,9.2,CRD,27.5 +CMT,1,1,1144,10.8,CSH,30.5 +CMT,1,1,25,0,CSH,2.5 +CMT,1,1,859,1.2,CSH,10 +CMT,1,1,528,3.2,CRD,11.5 +CMT,1,1,956,7.5,CRD,23.5 +CMT,1,1,193,0.9,CRD,5.5 +CMT,1,1,259,0.7,CSH,5 +CMT,1,1,598,1.3,CSH,8.5 +CMT,1,1,868,2.1,CRD,11 +CMT,1,1,1563,2.9,CRD,17.5 +CMT,1,1,2751,11,CRD,40 +CMT,1,1,1260,4.2,CSH,18.5 +CMT,1,1,576,1.9,CRD,8.5 +CMT,1,1,2058,3.1,CRD,21.5 +CMT,1,1,935,7.8,CSH,23.5 +CMT,1,1,372,1.1,CSH,6.5 +CMT,1,1,322,1.4,CRD,6.5 +CMT,1,1,196,0.7,CRD,4.5 +CMT,1,1,269,1.6,CRD,6.5 +CMT,1,1,464,1.3,CRD,7.5 +CMT,1,1,528,1.9,CSH,8.5 +CMT,1,1,705,1.8,CSH,9 +CMT,1,1,1144,3.7,CSH,16 +CMT,1,1,682,2.4,CSH,10.5 +CMT,1,1,610,4,CRD,14 +CMT,1,1,238,1.6,CRD,6.5 +CMT,1,1,601,2.8,CSH,11 +CMT,1,2,501,1.2,CRD,7 +CMT,1,1,552,3.2,CRD,11.5 +CMT,1,1,326,0.9,CRD,5.5 +CMT,1,1,188,1.1,CRD,5.5 +CMT,1,1,61,0.3,CSH,3 +CMT,1,2,1396,4,CSH,17.5 +CMT,1,1,1857,6.1,CSH,25.5 +CMT,1,1,460,1.1,CSH,7 +CMT,1,3,160,0.5,CSH,4 +CMT,1,1,196,0.5,CSH,4.5 +CMT,1,1,443,2.3,CRD,8.5 +CMT,1,2,714,2.8,CRD,11.5 +CMT,1,3,447,2.9,CRD,10 +CMT,1,1,922,4.7,CSH,15.5 +CMT,1,2,463,1.6,CSH,8 +CMT,1,1,406,2.2,CRD,9 +CMT,1,4,816,2,CSH,11 +CMT,1,3,1004,6.1,CSH,21 +CMT,1,1,512,3,CSH,10.5 +CMT,1,1,669,2.7,CSH,11 +CMT,1,2,1807,10.9,CSH,34 +CMT,1,1,200,0.7,CSH,5 +CMT,1,2,847,6.3,CSH,19.5 +CMT,1,2,1212,3.7,CRD,16 +CMT,1,2,397,1,CRD,6.5 +CMT,1,2,452,1,CRD,6.5 +CMT,1,1,1365,11.6,CSH,33 +CMT,1,1,594,2.9,CSH,11 +CMT,1,1,2994,13.5,CRD,44.5 +CMT,1,2,1226,5.2,CRD,19 +CMT,1,2,264,0.6,CRD,5 +CMT,1,1,260,1.1,CRD,5.5 +CMT,1,1,800,1.6,CRD,10 +CMT,1,1,953,2.8,CSH,12.5 +CMT,1,1,1903,10.9,CRD,34.5 +CMT,1,1,508,1.2,CSH,7.5 +CMT,1,1,580,4.1,CRD,14 +CMT,1,1,816,2.2,CSH,12 +CMT,1,1,469,2.1,CRD,9 +CMT,1,1,368,1.3,CSH,6.5 +CMT,1,1,1129,6,CRD,20 +CMT,1,1,1461,7,CRD,24 +CMT,1,1,1021,4.6,DIS,17 +CMT,1,1,574,2.4,CSH,10.5 +CMT,1,1,440,2.2,CSH,8.5 +CMT,1,1,917,1.9,CRD,11 +CMT,1,4,288,0.4,CRD,5 +CMT,1,1,470,1,CRD,7 +CMT,1,2,905,3.4,CRD,13.5 +CMT,1,1,828,4.6,CSH,15.5 +CMT,1,1,694,4.9,CRD,16.5 +CMT,1,1,2146,11.7,CSH,37.5 +CMT,1,1,159,0.5,CSH,4 +CMT,1,3,503,1.8,CRD,8.5 +CMT,1,1,189,0.7,CSH,4.5 +CMT,1,1,627,5.9,CSH,17.5 +CMT,1,1,218,0.8,CSH,5 +CMT,1,1,196,0.6,CRD,4.5 +CMT,1,1,1827,10.1,CSH,31.5 +CMT,1,3,305,0.9,CRD,6 +CMT,1,4,254,0.8,CSH,5.5 +CMT,1,1,802,3.1,CRD,12.5 +CMT,1,1,329,0.7,CRD,5.5 +CMT,1,2,518,1.4,CRD,8 +CMT,1,1,233,1.5,CSH,6.5 +CMT,1,2,232,0.9,CSH,5 +CMT,1,1,653,1.8,CSH,9 +CMT,1,1,497,1.5,CSH,8 +CMT,1,2,1145,7,CSH,23 +CMT,1,2,917,4.9,CSH,17 +CMT,1,1,504,2.3,CSH,9.5 +CMT,1,3,1400,2.8,CSH,16 +CMT,1,1,465,1.2,CSH,7.5 +CMT,1,1,1209,9,CSH,27 +CMT,1,1,382,1.5,CRD,7 +CMT,1,1,508,1.9,CSH,8.5 +CMT,1,3,888,9.3,CSH,27 +CMT,1,1,287,1.1,CSH,6 +CMT,1,1,788,4.5,CRD,15 +CMT,1,1,409,0.6,CRD,6 +CMT,1,1,766,2.6,CSH,11.5 +CMT,1,3,368,1.1,CRD,6.5 +CMT,1,1,413,1.3,CRD,7 +CMT,1,2,1177,6.1,CSH,20 +CMT,1,1,534,1.1,CSH,7.5 +CMT,1,2,1306,2.8,CSH,15.5 +CMT,1,1,478,1.3,CRD,7.5 +CMT,1,1,390,0.6,CRD,6 +CMT,1,3,514,2.6,CRD,10 +CMT,1,1,370,1.8,CSH,8 +CMT,1,1,601,2.3,CRD,10 +CMT,1,1,23,0.4,CSH,2.5 +CMT,1,2,514,2,CRD,8.5 +CMT,1,2,836,2.2,CRD,11.5 +CMT,1,1,970,3.3,CRD,13.5 +CMT,1,1,520,1.4,CSH,7.5 +CMT,1,1,944,3.8,CSH,14.5 +CMT,1,1,516,0.9,CRD,7.5 +CMT,1,1,444,1.3,CSH,7.5 +CMT,1,1,544,1.6,CRD,8 +CMT,1,1,214,0.9,CSH,5 +CMT,1,1,236,0.5,CSH,4.5 +CMT,1,1,447,2.1,CSH,8.5 +CMT,1,1,449,1.6,CSH,7.5 +CMT,1,1,85,0.4,CSH,3.5 +CMT,1,2,1319,7,CSH,23 +CMT,1,1,717,1.4,CRD,9.5 +CMT,1,1,1100,5.2,CSH,18 +CMT,1,1,329,0.7,CRD,6 +CMT,1,1,814,5.6,CRD,18 +CMT,1,2,935,5.4,CSH,17.5 +CMT,1,1,818,3.6,CRD,13.5 +CMT,1,2,1250,4.5,CRD,17.5 +CMT,1,1,1198,9.8,CRD,28.5 +CMT,1,1,688,3.7,CRD,13 +CMT,1,1,392,1.7,CSH,7.5 +CMT,1,1,1305,4.7,CRD,18.5 +CMT,1,2,448,0.9,CSH,7 +CMT,1,1,313,0.9,CSH,6 +CMT,1,1,306,0.9,CRD,6 +CMT,1,1,418,1.4,CSH,7.5 +CMT,1,1,1026,1.5,CRD,11.5 +CMT,1,1,338,0.9,CRD,6 +CMT,1,1,438,1.6,CSH,7.5 +CMT,1,1,967,2.3,CSH,12.5 +CMT,1,2,582,1.9,CSH,8.5 +CMT,1,1,1776,6,CRD,24 +CMT,1,1,938,2.2,CRD,12.5 +CMT,1,2,401,0.9,CRD,6 +CMT,1,1,346,1.1,CRD,6.5 +CMT,1,1,122,0.6,CSH,4.5 +CMT,1,1,529,1.4,CSH,8 +CMT,1,1,441,1.3,CRD,7.5 +CMT,1,1,731,2.6,CRD,11 +CMT,1,1,719,3.1,CRD,12 +VTS,1,2,1200,3.57,CRD,15.5 +CMT,1,1,456,1.5,CRD,8 +CMT,1,1,1355,9.2,CRD,28.5 +CMT,1,1,142,0.9,CRD,4.5 +CMT,1,1,1271,5.4,CRD,21 +CMT,1,3,348,0.6,CSH,5.5 +CMT,1,2,583,1.7,CRD,9 +CMT,1,1,494,1.1,CRD,7.5 +CMT,1,1,1040,4.2,CRD,15.5 +CMT,1,1,494,2.1,CSH,9 +CMT,1,2,419,0.9,CSH,6 +CMT,1,1,716,3.5,CRD,12.5 +CMT,1,2,1529,9.2,CRD,29.5 +CMT,1,2,349,1.3,CSH,7 +CMT,1,1,184,1,CRD,5 +CMT,1,3,1198,4.3,CRD,17.5 +CMT,1,3,385,1,CSH,6.5 +CMT,1,1,2105,12.1,CRD,37.5 +CMT,1,1,721,1.6,CSH,9.5 +CMT,1,2,866,3,CSH,13 +CMT,1,1,2045,15.7,CRD,44.5 +CMT,1,1,1304,3.1,CRD,15.5 +CMT,1,2,467,2.8,CRD,10.5 +CMT,1,1,383,1,CRD,6.5 +CMT,1,1,456,1.1,CRD,7 +CMT,1,2,279,1,CRD,5.5 +CMT,1,1,935,1.9,CSH,11.5 +CMT,1,1,646,1.7,CRD,9.5 +CMT,1,2,654,1.4,CSH,8.5 +CMT,1,1,907,3.9,CSH,15 +CMT,1,2,530,1.5,CRD,8 +CMT,1,3,341,1.2,CSH,6.5 +CMT,1,2,988,3.5,CRD,14.5 +CMT,1,4,731,2.4,CSH,11.5 +CMT,1,2,1726,13.5,CRD,40 +CMT,1,1,658,2.4,CRD,10.5 +CMT,1,1,470,1.5,CRD,8 +CMT,1,1,784,3.8,CRD,14 +CMT,1,1,687,2,CSH,10 +CMT,1,1,617,2.2,CSH,10 +CMT,1,2,21,0,CSH,2.5 +CMT,1,2,529,1.9,CSH,9 +CMT,1,2,231,0.5,CSH,4.5 +CMT,1,2,1154,1.9,CSH,13 +CMT,1,1,573,1.9,CSH,9 +CMT,1,1,553,1,CSH,7.5 +CMT,1,1,280,1.8,CSH,7.5 +CMT,1,1,415,1,CSH,7 +CMT,1,1,440,1.6,CSH,8 +CMT,1,1,667,1.6,CSH,9 +CMT,1,1,576,1.9,CSH,9.5 +CMT,1,1,664,2.2,CRD,10.5 +CMT,1,1,464,2.1,CRD,9 +CMT,1,1,1465,3.6,CRD,18.5 +CMT,1,1,733,7.7,CRD,22.5 +CMT,1,2,410,1.8,CSH,7.5 +CMT,1,1,1744,11.3,CSH,36 +CMT,1,1,561,1.8,CRD,9 +CMT,1,1,1392,1.7,CRD,14.5 +CMT,1,1,752,1.4,CRD,9 +CMT,1,2,533,1.4,CSH,8 +CMT,1,1,405,1.8,CSH,7.5 +CMT,1,1,725,2.5,CRD,11 +CMT,1,1,512,1.6,CRD,8.5 +CMT,1,1,391,0.8,CRD,6 +CMT,1,1,361,1.5,CSH,7 +CMT,1,2,958,4.2,CSH,15.5 +CMT,1,2,1720,8.9,CSH,29.5 +CMT,1,1,597,2.5,CRD,10 +CMT,1,2,178,0.6,CRD,4.5 +CMT,1,1,3009,2.7,CSH,12 +CMT,1,1,1214,3.7,CRD,15.5 +CMT,1,1,839,3.2,CSH,13.5 +CMT,1,1,816,2.8,CRD,12 +CMT,1,2,758,3.6,CSH,14 +CMT,1,3,650,2.7,CSH,11.5 +CMT,1,1,134,0.9,CSH,4.5 +CMT,1,1,1466,5.1,CSH,20.5 +CMT,1,2,367,1.6,CSH,7 +CMT,1,1,1651,10.5,CSH,32.5 +CMT,1,1,644,1.1,CSH,8.5 +CMT,1,1,1118,6,CRD,20.5 +CMT,1,1,922,3.4,CRD,14 +CMT,1,1,380,0.7,CRD,6 +CMT,1,1,589,2,CRD,9 +CMT,1,1,636,1.2,CRD,8 +CMT,1,1,645,1.6,CRD,9 +CMT,1,1,345,1.7,CRD,7 +CMT,1,1,1995,10.8,CSH,35 +CMT,1,1,350,1.5,CRD,7 +CMT,1,1,751,1.6,CRD,10 +CMT,1,1,350,1.6,CSH,7 +CMT,1,1,510,1.4,CRD,7.5 +CMT,1,1,1025,2.4,CRD,13 +CMT,1,3,1682,7.6,CRD,26 +CMT,1,1,744,6.2,CSH,19 +CMT,1,1,197,0.6,CSH,4.5 +VTS,1,2,360,1.91,CRD,7.5 +VTS,1,1,300,0.61,CSH,5.5 +VTS,1,2,1080,9.13,CSH,27 +VTS,1,1,1920,8.03,CRD,27.5 +VTS,1,1,720,2.5,CRD,10.5 +VTS,1,2,1020,2.98,CRD,13 +VTS,1,2,540,2.4,CRD,9.5 +VTS,1,2,420,1.16,CSH,7 +CMT,1,2,187,0.9,CRD,5 +CMT,1,3,344,1.2,CSH,6.5 +CMT,1,1,468,1.4,CRD,7.5 +CMT,1,4,479,1.6,CSH,8 +CMT,1,1,569,2.4,CRD,10.5 +CMT,1,2,296,1.2,CRD,6.5 +CMT,1,2,636,2,CSH,9.5 +CMT,1,2,1220,4.2,CRD,17 +CMT,1,1,703,2.4,CSH,10.5 +CMT,1,1,767,3.2,CSH,12.5 +CMT,1,1,756,7.9,CRD,23.5 +CMT,1,1,953,10.8,CRD,30.5 +CMT,1,1,161,0.7,CSH,4.5 +CMT,1,1,422,0,CSH,3.5 +CMT,1,1,409,1.6,CRD,7.5 +CMT,1,1,930,3.6,CSH,15 +CMT,1,4,729,2.7,CSH,11 +VTS,1,2,1140,2.47,CRD,13.5 +VTS,1,2,1920,3.85,CRD,19.5 +VTS,5,1,2460,6.03,CRD,55 +VTS,1,2,600,0.77,CSH,7.5 +VTS,1,1,660,1.81,CRD,9.5 +VTS,1,1,180,0.4,CSH,4 +VTS,1,1,660,2.84,CSH,11 +VTS,1,1,1620,15.12,CRD,42 +VTS,1,1,120,0.34,CRD,3 +CMT,1,1,464,1.7,CSH,8 +CMT,1,1,236,0.5,CRD,5 +CMT,1,1,645,2.5,CSH,11 +CMT,1,1,693,3.5,CRD,12.5 +CMT,1,1,669,1.8,CSH,10 +CMT,1,1,920,7.3,CRD,22 +CMT,1,1,892,5,CRD,16.5 +CMT,1,4,628,0.9,CSH,8 +CMT,1,2,1163,6.1,CRD,20 +CMT,1,2,717,2.8,CRD,12 +CMT,1,2,403,1.7,CSH,8 +CMT,1,2,561,1.9,CSH,9.5 +CMT,1,1,386,0.7,CSH,6 +CMT,1,1,1024,5.2,CRD,18 +CMT,1,1,210,1,CRD,5 +CMT,1,1,1411,10.8,CRD,32 +CMT,1,1,1601,10.5,CSH,32.5 +CMT,1,1,1274,7.5,CRD,23.5 +CMT,1,1,160,0.9,CSH,5 +CMT,1,1,792,1.7,CRD,10.5 +CMT,1,1,646,3,CRD,11 +CMT,1,1,629,2.2,CRD,10.5 +CMT,1,1,1322,4.8,CRD,19 +CMT,1,3,1461,5.2,CSH,20.5 +CMT,1,2,1029,3.2,CSH,13.5 +CMT,1,1,599,1.5,CSH,9 +CMT,1,1,1292,4.1,CRD,17 +CMT,1,2,424,1.2,CRD,7 +CMT,1,2,496,0.8,CSH,7 +CMT,1,1,293,0.4,CRD,5 +CMT,1,1,262,1.9,CSH,7 +CMT,1,1,673,2.4,CRD,10.5 +CMT,1,1,870,1.8,CSH,11 +CMT,1,1,965,3.3,CSH,14.5 +CMT,1,2,850,3.5,CSH,13 +CMT,1,1,444,1.5,CSH,8 +CMT,1,1,2398,11.4,CSH,38 +CMT,1,1,638,1.8,CRD,9 +VTS,1,2,1020,5.9,CRD,20 +VTS,1,1,780,3.11,CRD,12 +VTS,1,1,420,1.74,CSH,8 +VTS,1,2,840,4.88,CSH,16.5 +VTS,1,1,660,2.6,CRD,10.5 +VTS,1,1,840,1.93,CRD,10.5 +VTS,1,1,2160,19.54,CRD,53.5 +VTS,1,2,720,2.03,CRD,10 +VTS,1,2,960,3.9,CRD,15 +VTS,1,1,480,1.16,CSH,7 +VTS,1,1,1140,2.66,CSH,13.5 +VTS,1,2,600,1.52,CRD,8 +VTS,1,1,360,0.96,CRD,6 +VTS,1,2,360,0.73,CRD,5.5 +CMT,1,1,540,1.8,CSH,8.5 +CMT,1,1,1493,7.6,CRD,25 +CMT,1,1,375,2.5,CSH,9 +CMT,1,1,827,4.4,CSH,15.5 +CMT,1,1,343,1.4,CSH,7 +CMT,1,2,551,1.6,CSH,8.5 +CMT,1,1,423,1.5,CSH,7.5 +CMT,1,1,289,1.4,CSH,6.5 +VTS,1,1,300,1.25,CSH,6 +VTS,1,1,1380,10.01,CSH,29.5 +VTS,1,1,960,2.67,CRD,13 +VTS,1,1,600,2.35,CSH,10 +VTS,5,1,0,0,CRD,26.5 +VTS,1,2,660,1.54,CRD,8.5 +VTS,1,1,180,0.97,CRD,5 +VTS,1,1,600,1.86,CSH,9 +VTS,1,2,600,1.3,CRD,8 +VTS,1,1,900,2.41,CSH,11.5 +VTS,1,1,240,1.2,CSH,5.5 +VTS,1,1,420,1.45,CSH,6.5 +VTS,1,1,540,1.75,CRD,8.5 +VTS,1,2,60,0.37,CSH,3 +VTS,1,1,1320,4.81,CSH,19 +VTS,1,1,660,1.31,CRD,8.5 +VTS,1,1,360,1.8,CSH,7.5 +VTS,1,2,840,3.45,CRD,13.5 +VTS,1,2,720,2.3,CSH,10.5 +VTS,1,1,360,1.11,CSH,6.5 +VTS,1,1,480,0.88,CRD,6.5 +VTS,1,1,1740,9.67,CRD,31 +VTS,1,1,540,1.88,CRD,8.5 +VTS,1,1,960,5.35,CRD,18 +VTS,1,2,420,1.31,CSH,7 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,2,1560,9.77,CRD,31 +VTS,1,1,1200,5.8,CRD,20 +VTS,1,2,840,2.26,CRD,10.5 +VTS,1,1,660,1.81,CRD,9.5 +VTS,1,1,660,2.74,CRD,10.5 +VTS,1,1,1260,3,CRD,15.5 +VTS,1,1,420,2.45,CSH,9 +VTS,1,1,1500,3.43,CSH,16.5 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,840,2.02,CRD,11.5 +VTS,1,2,900,2.56,CSH,12 +VTS,1,1,360,1.21,CSH,6.5 +VTS,4,1,840,3.09,CRD,12.5 +VTS,1,2,660,1.23,CRD,8.5 +VTS,1,1,480,1.08,CRD,7 +VTS,1,2,420,1.7,CSH,7.5 +VTS,1,2,840,2.21,CRD,11 +VTS,1,1,600,1.61,CSH,8.5 +VTS,1,1,1380,2.49,CSH,15.5 +VTS,1,2,360,0.79,CSH,5.5 +VTS,1,1,600,2.92,CRD,10.5 +VTS,1,1,480,1.64,CSH,8 +VTS,1,1,1380,4.19,CRD,18.5 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,1,840,2.01,CSH,10.5 +VTS,1,1,1740,3.68,CRD,19.5 +VTS,2,5,1800,19.32,CSH,52 +VTS,1,1,360,1.42,CSH,7 +VTS,1,1,1260,6.14,CRD,21.5 +VTS,1,1,540,1.19,CSH,7.5 +VTS,1,1,300,1.13,CRD,6 +VTS,1,1,300,1.19,CRD,6 +VTS,1,1,420,2.31,CRD,8.5 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,240,1.02,CSH,5 +VTS,1,1,600,1.43,CRD,8 +VTS,1,2,1500,7.56,CSH,25 +VTS,1,1,1440,5.85,CSH,21.5 +VTS,1,2,1500,6.99,CRD,23 +VTS,1,1,60,0.33,CSH,3 +VTS,1,1,780,3.47,CRD,13 +VTS,1,1,1080,8.34,CSH,24 +VTS,1,1,720,2.62,CRD,10.5 +VTS,1,1,1440,5.06,CSH,20 +CMT,1,1,398,1.2,CSH,7 +CMT,1,2,516,1.3,CSH,7.5 +CMT,1,1,232,0.5,CSH,4.5 +CMT,1,1,1330,4.5,CRD,18.5 +CMT,1,1,2967,16.7,CRD,50.5 +CMT,1,2,716,2.2,CRD,10.5 +CMT,1,2,842,2.7,CRD,11.5 +CMT,1,1,725,1.8,CSH,9.5 +CMT,1,1,408,1.4,CRD,7 +CMT,1,1,706,3.1,CRD,12.5 +CMT,1,1,362,0.9,CSH,6 +CMT,1,4,1395,2,CSH,15.5 +CMT,1,1,270,1.1,CRD,6 +CMT,1,1,388,1,CRD,6 +CMT,1,2,668,2.7,CRD,12 +CMT,1,1,270,0.8,CSH,5.5 +CMT,1,3,711,4.8,CRD,15.5 +VTS,1,2,1500,2.33,CRD,16.5 +VTS,1,1,1080,3.94,CRD,15 +VTS,1,2,240,0.37,CSH,4 +VTS,1,2,540,1.69,CSH,8.5 +VTS,1,1,1920,13.15,CSH,39 +VTS,1,1,0,0.02,CSH,2.5 +VTS,1,1,1680,10.73,CRD,33 +VTS,1,1,120,0.48,CRD,4 +VTS,1,1,1140,5.79,CRD,20 +CMT,1,3,818,2.6,CSH,12 +CMT,1,2,1625,16.6,CSH,46.5 +CMT,1,1,957,5.8,CRD,19 +CMT,1,1,748,3.9,CRD,14 +VTS,1,2,1140,5.66,CRD,19.5 +VTS,1,1,960,8.93,CSH,26 +VTS,1,1,600,1.18,CSH,8 +VTS,1,2,660,2.36,CRD,10 +VTS,1,1,780,2.32,CSH,10.5 +VTS,1,1,1020,2.98,CRD,13 +VTS,1,1,960,1.76,CSH,11.5 +VTS,1,1,660,1,CRD,8 +VTS,1,1,660,2.57,CRD,10.5 +VTS,1,1,300,1.42,CRD,6.5 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,720,1.21,CRD,9.5 +VTS,1,2,420,1.43,CRD,7 +VTS,1,2,1320,10.21,CSH,29.5 +VTS,1,1,1200,2.57,CRD,13 +VTS,1,2,180,0.69,CRD,4.5 +VTS,1,1,420,0.75,CSH,6 +VTS,1,1,1200,3.64,CSH,15.5 +VTS,1,2,540,2.17,CRD,9 +VTS,1,2,480,2.51,CRD,9.5 +VTS,1,1,720,3.05,CRD,12 +VTS,1,1,180,0.43,CSH,4 +VTS,1,1,840,2.11,CRD,10.5 +VTS,1,1,600,3.36,CSH,11.5 +VTS,1,1,420,1.41,CSH,7 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,360,1.16,CRD,6 +VTS,1,1,1140,2.05,CSH,13 +VTS,1,1,480,2.44,CRD,9.5 +VTS,1,1,2100,13.95,CRD,41.5 +VTS,1,1,540,0.9,CSH,7.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,540,1.93,CRD,8.5 +VTS,1,1,480,1.51,CRD,7.5 +VTS,1,1,60,0.03,CSH,3 +VTS,1,1,1020,5.6,CRD,18 +VTS,1,1,240,1.05,CRD,5.5 +VTS,1,1,360,1.17,CRD,6 +VTS,1,1,420,1.03,CRD,7 +VTS,1,1,600,1.62,CRD,8.5 +VTS,1,1,180,0.56,CSH,4 +VTS,1,1,600,1.98,CSH,8.5 +VTS,1,1,900,2.6,CRD,12 +VTS,1,2,900,4.73,CRD,16 +VTS,1,1,540,1.38,CRD,7.5 +VTS,1,1,240,1.22,CSH,6.5 +VTS,1,1,780,2.91,CRD,12 +VTS,1,1,300,0.68,CRD,5.5 +VTS,1,2,960,4.28,CSH,15 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,960,1.31,CRD,11 +VTS,1,1,540,0.86,CSH,7.5 +VTS,1,2,780,2.22,CSH,10.5 +VTS,1,2,540,2.74,CSH,9.5 +VTS,1,2,720,1.98,CRD,9.5 +VTS,1,2,540,1.13,CRD,8 +VTS,1,1,720,3.07,CSH,11.5 +VTS,1,1,420,1.51,CRD,7 +VTS,1,1,720,1.94,CSH,10 +VTS,1,3,1020,6.46,CSH,20.5 +VTS,1,1,360,1.41,CRD,7 +VTS,1,1,180,1.45,CSH,6 +VTS,1,1,1560,11.82,CSH,34 +VTS,1,1,600,1.45,CSH,8 +VTS,1,1,1200,4.82,CSH,18 +VTS,1,1,1020,5.7,CRD,19 +VTS,1,1,300,0.81,CSH,5 +VTS,1,1,840,2.42,CRD,11 +VTS,1,1,960,4.53,CSH,15.5 +VTS,1,1,480,2.23,CRD,9 +VTS,1,1,1620,4.03,CRD,19 +VTS,1,1,180,0.94,CSH,5 +VTS,1,1,1200,2.44,CSH,14 +VTS,1,1,240,0.69,CRD,4.5 +VTS,1,2,300,1.23,CSH,6 +VTS,1,2,120,0.6,CRD,4 +VTS,1,2,600,1.87,CRD,9 +VTS,1,2,420,0.91,CSH,5.5 +VTS,1,2,480,0.79,CSH,7 +VTS,1,2,480,1.43,CSH,7.5 +VTS,1,1,240,0.7,CRD,4.5 +VTS,2,5,2340,18.41,CRD,52 +VTS,1,1,1440,2.66,CSH,16 +VTS,1,1,540,2.18,CSH,9 +VTS,1,1,900,3.3,CRD,14 +VTS,1,1,480,1.71,CRD,8 +VTS,1,1,600,1.28,CSH,8 +VTS,1,1,960,2.95,CSH,13.5 +VTS,1,1,660,2.49,CRD,10.5 +VTS,1,1,720,2.4,CRD,10.5 +VTS,1,1,960,9.83,CRD,27.5 +VTS,1,1,600,1.16,CSH,7.5 +VTS,1,1,960,2.45,CSH,12 +VTS,1,1,1860,8.6,CRD,30 +VTS,1,1,480,1.34,CRD,7 +VTS,1,1,240,0.6,CSH,5 +VTS,1,1,480,1.59,CSH,7.5 +VTS,1,1,1500,4.83,CRD,19.5 +VTS,1,1,420,1.66,CRD,7 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,960,3.7,CSH,13.5 +VTS,1,2,420,1.96,CSH,8 +VTS,1,1,540,1.69,CRD,8 +VTS,1,1,1140,5.06,CRD,17.5 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,2,1260,2.57,CSH,13 +VTS,1,2,480,1.36,CRD,7.5 +VTS,1,2,300,0.77,CRD,5.5 +VTS,1,2,1200,3.1,CRD,14 +VTS,1,1,480,1.42,CSH,7.5 +VTS,1,1,960,6.14,CRD,19.5 +VTS,2,5,1740,18.89,CRD,52 +VTS,1,1,240,1.46,CSH,6.5 +VTS,1,1,720,2.57,CSH,11 +VTS,1,1,1140,5.98,CSH,19.5 +VTS,1,1,720,1.81,CSH,9.5 +VTS,1,1,900,2.1,CRD,11.5 +VTS,1,1,840,4.06,CSH,14.5 +VTS,1,1,480,0.85,CSH,6.5 +VTS,1,1,1200,3.9,CSH,17 +VTS,1,1,1080,2.46,CRD,12.5 +VTS,1,1,480,1.58,CRD,8 +VTS,1,1,180,1.2,CRD,5.5 +VTS,1,1,420,1.22,CRD,6.5 +VTS,1,1,1020,2.49,CRD,12.5 +VTS,1,1,300,1.24,CRD,6 +VTS,1,1,900,2.99,CRD,13 +VTS,1,1,540,1.52,CSH,8 +VTS,1,1,720,2.28,CSH,10.5 +VTS,1,1,240,0.66,CSH,4.5 +VTS,1,1,240,1.21,CRD,5.5 +VTS,1,1,600,1.4,CRD,8 +VTS,1,1,720,2.2,CRD,10 +VTS,1,1,660,1.68,CSH,9.5 +VTS,5,1,1620,15.56,CRD,33.25 +VTS,1,1,300,1.41,CSH,6 +VTS,1,1,300,0.93,CRD,6 +VTS,1,1,780,1.55,CRD,10.5 +VTS,1,1,420,0.86,CSH,6 +VTS,1,1,420,1.3,CSH,7 +VTS,1,1,300,0.56,CRD,5 +VTS,1,1,1320,1.75,CSH,13.5 +VTS,1,1,1620,4.29,CRD,20.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,60,0.27,CSH,3 +VTS,1,1,420,1.15,CSH,6.5 +VTS,1,1,480,1.58,CSH,7.5 +VTS,1,1,300,1,CSH,5.5 +VTS,2,5,2100,20.95,CRD,52 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,960,1.88,CRD,11.5 +VTS,1,1,960,7.32,CRD,22 +VTS,1,1,180,0.98,CSH,5 +VTS,1,1,240,0.93,CSH,5 +VTS,1,1,780,2.1,CSH,10.5 +VTS,1,2,840,2.39,CRD,11.5 +VTS,1,1,120,0.53,CRD,3.5 +VTS,1,1,540,2.45,CSH,10 +VTS,1,1,780,2.62,CRD,11 +VTS,1,1,240,1.14,CRD,5.5 +VTS,1,1,600,1.99,CSH,9.5 +VTS,1,1,120,0.54,CSH,4 +VTS,4,1,60,0,CSH,2.5 +VTS,1,1,900,3.17,CSH,13 +VTS,1,1,960,2.17,CRD,11.5 +VTS,1,1,120,0.3,CSH,3.5 +VTS,1,1,960,5.13,CSH,17 +VTS,1,1,1380,4.37,CRD,18 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,780,1.74,CRD,10 +VTS,1,1,780,1.64,CRD,9.5 +VTS,1,1,300,0.7,CRD,5.5 +VTS,1,1,840,3.02,CRD,12 +VTS,1,1,2820,11.7,CRD,41 +VTS,1,1,600,3.56,CRD,12 +VTS,1,1,360,1.28,CRD,7 +VTS,1,1,480,0.75,CSH,6.5 +VTS,1,1,780,1.92,CSH,10 +VTS,1,1,420,0.74,CRD,6.5 +VTS,1,1,360,0.96,CSH,6 +VTS,1,1,780,3.94,CRD,14 +VTS,1,1,1800,4.02,CSH,20.5 +VTS,1,2,240,1.04,CRD,5 +VTS,1,1,360,0.92,CSH,6 +VTS,1,1,1980,6.4,CRD,25 +VTS,1,1,1380,5.29,CRD,20.5 +VTS,2,5,2460,19.84,CRD,52 +VTS,1,1,720,1.49,CSH,8.5 +VTS,1,1,300,1.35,CSH,6 +VTS,1,1,420,1.62,CSH,7.5 +VTS,1,1,540,0.88,CRD,7 +VTS,1,1,900,2.04,CSH,10.5 +VTS,1,1,240,0.94,CRD,5 +VTS,1,1,900,3.78,CRD,13.5 +VTS,1,1,660,2.11,CRD,9.5 +VTS,1,1,480,0.95,CSH,6.5 +VTS,1,2,120,1.19,CSH,5.5 +VTS,1,1,540,3.43,CRD,12 +VTS,1,1,300,1.08,CSH,6 +VTS,1,1,600,1.82,CSH,8 +VTS,1,1,1140,2.15,CRD,11.5 +VTS,1,1,1140,2.33,CSH,13 +VTS,1,1,720,2.28,CRD,11 +VTS,1,1,420,0.86,CSH,6.5 +VTS,1,1,960,2.04,CSH,11.5 +CMT,1,1,1090,9,CRD,26.5 +CMT,1,1,1404,2.8,CSH,16.5 +CMT,1,1,524,0.9,CRD,7 +CMT,1,1,382,1,CSH,6.5 +CMT,1,1,834,2.1,CRD,11.5 +CMT,1,1,259,0.6,CSH,5 +CMT,1,1,131,0.2,CSH,3.5 +CMT,1,2,1294,7,CRD,22.5 +CMT,1,1,595,1.1,CRD,8 +CMT,1,1,451,1,CSH,7 +CMT,1,1,347,0.9,CRD,6 +CMT,1,1,1740,12.7,CRD,38 +CMT,1,1,190,1,CSH,5 +CMT,1,2,307,0.8,CSH,5.5 +CMT,1,1,1188,2.8,CRD,15 +VTS,1,1,300,0.56,CSH,5 +VTS,1,1,720,2.38,CRD,10.5 +VTS,1,1,1200,2.61,CSH,14.5 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,540,1.33,CSH,8 +VTS,1,1,300,1.29,CSH,6 +VTS,1,2,1140,5.39,CSH,18 +VTS,1,2,180,0.83,CRD,4.5 +VTS,1,1,300,0.84,CRD,5 +VTS,1,2,240,1.21,CSH,5.5 +VTS,1,2,300,0.99,CRD,5.5 +VTS,1,1,1560,4.28,CRD,18.5 +VTS,4,1,480,2.97,CRD,11 +VTS,1,1,900,3.54,CSH,14 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,600,1.4,CRD,8 +VTS,1,1,240,0.73,CRD,5 +VTS,1,1,780,1.57,CRD,9.5 +VTS,1,1,780,1.14,CRD,9.5 +VTS,1,1,780,1.77,CRD,10.5 +VTS,1,1,1440,3.09,CRD,16.5 +VTS,1,1,300,1.12,CSH,6 +VTS,1,1,720,2.47,CSH,11 +VTS,1,1,840,1.78,CRD,10.5 +VTS,1,1,360,1.16,CRD,6 +VTS,1,1,180,0.5,CRD,4 +VTS,1,1,360,1.32,CRD,6.5 +VTS,1,1,420,0.83,CSH,6 +VTS,1,1,1260,4.56,CRD,17 +VTS,1,1,480,1.58,CRD,7.5 +VTS,1,1,660,1.92,CSH,9 +VTS,1,2,660,2.06,CSH,9.5 +VTS,1,1,840,2.85,CSH,12.5 +VTS,1,1,540,3.73,CRD,12 +VTS,1,1,540,2.3,CRD,10 +VTS,1,1,480,1.43,CRD,8 +VTS,1,1,180,0.96,CRD,4.5 +VTS,1,1,720,2.64,CRD,11 +VTS,1,2,60,0.09,CSH,2.5 +VTS,1,2,540,2.61,CRD,10.5 +VTS,1,1,300,1,CRD,5.5 +VTS,1,1,1500,8.37,CSH,27.5 +VTS,1,1,180,0.32,CSH,4 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,2,660,2.28,CRD,10 +VTS,1,2,1320,5.82,CRD,20.5 +VTS,1,1,420,0.99,CSH,6.5 +VTS,1,1,1320,7.78,CRD,25 +VTS,1,1,240,1.08,CRD,5.5 +VTS,1,1,1080,5.48,CSH,17.5 +VTS,1,2,360,1.32,CSH,6.5 +VTS,1,2,480,1.93,CSH,8 +VTS,1,1,1080,2.44,CRD,13 +VTS,1,1,1380,7.5,CSH,24.5 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,480,1.71,CRD,8 +VTS,1,1,300,1.22,CRD,6 +VTS,1,2,360,0.84,CRD,5.5 +VTS,1,1,840,4.53,CRD,15.5 +VTS,1,2,360,0.62,CRD,5.5 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,1,1080,2.34,CSH,12.5 +VTS,1,1,480,1.55,CSH,7.5 +VTS,2,5,2280,20.12,CRD,52 +VTS,1,1,1860,8.07,CRD,28 +VTS,1,1,660,1.71,CRD,9 +VTS,1,1,480,1.18,CRD,7 +VTS,1,1,720,2.07,CSH,10 +VTS,1,1,1260,2.46,CSH,14 +VTS,1,1,480,2.25,CRD,8.5 +VTS,1,1,420,1.53,CSH,7 +VTS,1,1,360,0.91,CSH,6 +VTS,1,1,1140,3.15,CSH,15 +VTS,1,2,360,0.88,CSH,6 +VTS,1,2,660,2.2,CSH,9.5 +VTS,1,1,180,1.07,CRD,5 +VTS,1,1,900,3.03,CSH,12.5 +VTS,1,1,1680,5.55,CRD,22.5 +VTS,1,1,540,2.08,CRD,9 +VTS,1,1,480,1.49,CRD,8 +VTS,1,1,660,1.51,CSH,9 +VTS,1,1,120,0.65,CSH,4 +VTS,1,1,600,2.19,CRD,9.5 +VTS,1,1,660,1.64,CRD,9.5 +VTS,1,1,1080,2.33,CRD,12.5 +VTS,1,1,240,0.47,CSH,4 +VTS,1,1,420,1.55,CSH,7.5 +VTS,1,1,540,3.83,CRD,12.5 +VTS,1,1,480,1.01,CSH,6.5 +VTS,1,1,300,0.93,CSH,6 +VTS,1,1,780,1.98,CRD,10.5 +VTS,1,1,900,2.33,CRD,11.5 +VTS,1,1,360,0.97,CRD,5.5 +VTS,1,1,1200,6.01,CRD,20.5 +VTS,1,1,1740,4.93,CSH,20 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,2280,11.15,CRD,36.5 +VTS,1,1,480,1.98,CSH,8 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,660,1.63,CRD,9 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,1,540,3.99,CSH,12.5 +VTS,1,1,840,2.91,CRD,12 +VTS,1,1,480,0.78,CSH,7 +VTS,1,1,540,1.6,CRD,7.5 +VTS,1,1,1020,2.36,CRD,12.5 +VTS,1,1,1320,1.18,CSH,13.5 +VTS,1,1,480,2.03,CRD,8.5 +VTS,1,1,900,3.7,CSH,14.5 +VTS,1,1,600,1.97,CRD,9 +VTS,1,1,480,1.05,CSH,7 +VTS,1,1,780,2.89,CSH,10.5 +VTS,1,2,840,2.78,CSH,12.5 +VTS,1,2,1560,7.28,CRD,24 +VTS,1,1,1020,2.85,CRD,13 +VTS,1,1,240,0.96,CSH,5.5 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,2,600,1.76,CRD,8.5 +VTS,1,1,240,0.63,CRD,5 +VTS,1,1,360,1.38,CSH,6.5 +VTS,1,1,420,1.6,CRD,7 +VTS,1,1,840,3.18,CRD,12.5 +VTS,2,5,2100,19.6,CRD,52 +VTS,1,1,480,2.28,CRD,9 +VTS,1,1,660,2.48,CRD,10.5 +VTS,1,1,1080,2.04,CSH,12.5 +VTS,1,1,480,1.66,CRD,8 +VTS,1,1,420,1.5,CSH,7.5 +VTS,1,1,480,1.51,CRD,7.5 +VTS,1,1,720,3.29,CSH,12 +VTS,1,1,360,0.64,CRD,6 +VTS,1,1,600,2.47,CSH,10 +VTS,1,1,120,0.49,CRD,4 +VTS,1,1,1020,3.24,CSH,13.5 +VTS,1,1,780,3.09,CRD,12 +VTS,1,1,180,0.78,CRD,4.5 +VTS,1,1,1140,8.89,CSH,26.5 +VTS,1,1,1320,3.04,CRD,16 +VTS,1,1,1260,4.03,CRD,17.5 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,420,0.98,CSH,6.5 +VTS,1,1,360,0.66,CRD,5 +VTS,1,1,420,0.95,CSH,6.5 +VTS,1,1,480,1.08,CSH,7 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,900,2.52,CRD,12.5 +VTS,1,1,420,0.66,CRD,6 +VTS,1,1,600,1.99,CSH,9 +VTS,1,1,120,0.64,CSH,4 +VTS,1,1,480,1.15,CRD,7.5 +VTS,1,1,960,7.9,CRD,23 +VTS,1,1,900,2.27,CRD,11.5 +VTS,1,1,360,0.79,CRD,5.5 +VTS,1,1,1080,1.63,CRD,12 +VTS,2,5,3480,16.93,CRD,52 +VTS,1,1,420,1.35,CRD,6.5 +VTS,1,1,600,1.25,CRD,8 +VTS,1,1,300,0.63,CRD,5 +VTS,1,1,480,0.85,CSH,6.5 +VTS,1,1,1080,3.88,CSH,15 +VTS,1,2,1080,4.69,CRD,18 +VTS,1,1,540,1.76,CSH,8.5 +VTS,2,5,1320,15.88,CSH,52 +VTS,1,1,1020,1.67,CRD,12 +VTS,1,1,720,1.94,CRD,10 +VTS,1,2,600,2.25,CRD,9 +VTS,1,1,480,2.46,CSH,9 +VTS,1,1,360,1.6,CRD,7 +VTS,1,1,780,3.17,CRD,12.5 +VTS,1,1,540,0.81,CSH,7 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,240,0.48,CRD,4.5 +VTS,1,1,540,1.36,CSH,7.5 +VTS,1,1,840,1.1,CSH,9.5 +VTS,1,1,1560,3.04,CSH,17 +VTS,1,1,1560,7.51,CRD,25 +VTS,1,1,180,0.49,CSH,4.5 +VTS,1,2,1020,2.98,CRD,13.5 +VTS,1,1,180,1.16,CSH,5 +VTS,1,1,540,2.22,CRD,9 +VTS,1,1,840,1.74,CSH,10 +VTS,1,1,300,0.66,CSH,5 +VTS,1,1,240,0.75,CSH,5 +VTS,1,1,1320,2.53,CRD,15 +VTS,1,1,300,0.64,CRD,5 +VTS,1,1,780,2.53,CSH,11.5 +VTS,1,1,540,1.49,CSH,7.5 +VTS,1,1,300,1.64,CSH,7 +VTS,1,1,300,1.01,CSH,5 +VTS,1,1,660,1.6,CSH,9 +VTS,1,1,720,2.18,CRD,11 +VTS,1,1,660,2.96,CRD,11 +VTS,1,2,480,2.87,CSH,10 +VTS,1,1,720,1.61,CSH,9 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,480,1.88,CRD,8.5 +VTS,1,1,180,0.45,CRD,4.5 +VTS,1,1,840,2.85,CRD,12 +VTS,1,1,840,3.09,CRD,12 +VTS,1,1,900,2.53,CRD,12 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,900,3.36,CRD,14 +VTS,1,1,1200,4.39,CRD,16 +VTS,1,1,240,0.58,CRD,4.5 +VTS,1,1,360,0.69,CRD,5.5 +VTS,1,1,780,2.18,CRD,10 +VTS,5,1,0,4.48,CRD,40 +VTS,1,1,300,0.58,CSH,5 +VTS,1,1,480,0.76,CRD,7 +VTS,1,1,120,0.79,CRD,4.5 +VTS,1,2,840,5.06,CSH,15.5 +VTS,1,1,720,2.53,CSH,10.5 +VTS,1,1,180,0.62,CRD,4.5 +VTS,1,1,360,2.29,CRD,8 +VTS,1,1,1380,2.84,CRD,16 +VTS,1,1,480,0.69,CSH,6.5 +VTS,1,1,1980,10.14,CRD,32.5 +VTS,1,1,420,1.63,CRD,7 +VTS,1,1,960,3.08,CSH,12.5 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,1,0,0.09,CSH,2.5 +VTS,1,1,2460,12.42,CSH,40 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,600,1.44,CSH,8.5 +VTS,1,2,1020,3.74,CRD,15.5 +VTS,1,2,360,1.63,CRD,7 +VTS,1,2,1740,13.36,CSH,39.5 +VTS,1,1,540,1.83,CRD,8.5 +VTS,1,1,840,3.87,CSH,13.5 +VTS,1,1,240,0.9,CSH,5.5 +VTS,1,1,420,1.1,CRD,7 +VTS,1,1,1020,2.85,CRD,13.5 +VTS,1,2,780,3.44,CSH,13 +VTS,1,2,480,1.25,CRD,7.5 +VTS,1,2,1620,9.92,CRD,32.5 +VTS,2,5,1800,19.1,CSH,52 +VTS,1,1,1080,2.58,CRD,13.5 +VTS,1,1,720,1.95,CSH,9.5 +VTS,1,1,420,1.71,CRD,7.5 +VTS,1,1,180,0.56,CSH,4 +VTS,1,1,900,3.02,CSH,12.5 +VTS,1,1,240,1.31,CRD,6 +VTS,1,1,1080,2.13,CSH,12 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,480,0.73,CRD,6.5 +VTS,1,1,540,1.73,CSH,8 +VTS,1,1,1020,2.79,CSH,13 +VTS,1,2,540,2.17,CRD,9.5 +VTS,1,1,1500,6.98,CRD,23.5 +VTS,1,1,360,0.78,CRD,6 +VTS,1,1,420,0.39,CSH,5.5 +VTS,2,5,2520,18.98,CRD,52 +VTS,1,1,900,2.89,CRD,12 +VTS,5,1,0,0,CRD,10 +VTS,1,1,360,1.75,CRD,7.5 +VTS,1,1,960,3.23,CRD,13.5 +VTS,1,1,780,1.86,CRD,10 +VTS,4,1,120,0.04,CSH,3.5 +VTS,1,1,1500,4.59,CSH,18.5 +VTS,1,1,180,1.04,CRD,5 +VTS,1,1,420,0.68,CRD,6 +VTS,1,1,480,1.36,CRD,7 +VTS,1,1,60,0.34,CSH,3.5 +VTS,1,1,960,3.25,CSH,13.5 +VTS,1,1,120,0.5,CRD,4 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,2,420,1.13,CSH,6 +VTS,1,1,180,0.83,CSH,5 +VTS,1,1,600,2.67,CRD,10.5 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,240,0.19,CRD,4 +VTS,1,1,660,1.58,CSH,9 +VTS,1,1,720,1.42,CRD,8.5 +VTS,1,1,300,0.65,CRD,5 +VTS,1,1,1800,5.62,CRD,23 +VTS,1,1,360,0.97,CSH,6 +VTS,1,1,600,1.93,CSH,8.5 +VTS,1,1,660,1.62,CRD,9 +VTS,1,1,360,0.79,CRD,5.5 +VTS,1,1,480,0.69,CSH,6.5 +VTS,1,2,0,0.16,CRD,2.5 +VTS,1,1,360,1.21,CSH,6 +VTS,1,1,840,1.47,CSH,10 +VTS,1,1,1500,4.53,CRD,19 +VTS,1,1,1860,9.87,CRD,32 +VTS,1,1,240,0.76,CSH,5 +VTS,1,1,1140,2.02,CRD,12.5 +VTS,1,2,1380,6.13,CRD,22 +VTS,1,1,1680,4.44,CRD,19.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,960,3.01,CRD,13 +VTS,1,1,720,1.44,CRD,9.5 +VTS,1,1,840,2.39,CSH,11.5 +VTS,1,1,180,0.35,CSH,4 +VTS,1,3,540,2.61,CRD,10 +VTS,1,2,360,2.2,CRD,8 +VTS,1,2,600,2.65,CRD,10 +VTS,1,2,540,1.69,CRD,8.5 +VTS,1,1,480,2.55,CRD,9.5 +VTS,1,1,120,0.89,CSH,4.5 +VTS,1,1,480,2.97,CSH,10.5 +VTS,1,1,1560,3.85,CSH,18.5 +VTS,1,1,1260,5.45,CRD,20 +VTS,1,1,600,2.07,CSH,9 +VTS,1,1,480,2.13,CSH,8.5 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,1,540,1.97,CSH,8.5 +VTS,1,1,1440,6.85,CRD,24 +VTS,1,1,540,1.86,CRD,8.5 +VTS,1,1,300,1.33,CRD,6 +VTS,1,1,540,0.95,CRD,7 +VTS,1,1,660,1.6,CSH,9 +VTS,1,1,420,1.75,CSH,7.5 +VTS,1,1,720,2.94,CRD,11 +VTS,1,1,1560,4.26,CRD,18.5 +VTS,1,1,300,1.39,CRD,6.5 +VTS,1,1,840,2.34,CSH,11.5 +VTS,1,1,1380,9.61,CRD,29 +VTS,1,1,780,2.83,CRD,12 +VTS,1,1,600,2.02,CRD,9.5 +VTS,1,1,660,2.8,CRD,10.5 +VTS,1,1,420,1.19,CSH,6.5 +VTS,1,1,360,0.93,CRD,6 +VTS,1,1,1320,4.06,CSH,16.5 +VTS,1,1,180,1.01,CSH,5 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,540,2.24,CSH,9.5 +VTS,1,1,780,2.76,CSH,11.5 +VTS,1,1,1080,7.33,CRD,22 +VTS,1,1,360,1.43,CSH,6.5 +VTS,1,1,900,7.76,CRD,22.5 +VTS,1,1,1260,3.4,CRD,14.5 +VTS,1,1,1260,5.89,CRD,20.5 +VTS,1,1,180,0.36,CSH,4 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,2,1140,3.22,CSH,14.5 +VTS,1,1,900,1.94,CRD,11 +VTS,1,1,1320,4.93,CRD,19 +VTS,1,1,600,1,CRD,7.5 +VTS,1,1,780,1.31,CSH,9 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,540,0.85,CSH,7 +VTS,1,1,480,1.09,CRD,7.5 +VTS,1,1,1080,3.3,CRD,15 +VTS,1,1,480,0.77,CSH,7 +VTS,1,1,540,0.75,CRD,7 +VTS,1,1,780,4.07,CSH,14 +VTS,1,1,900,2.89,CSH,12 +VTS,1,1,600,1.67,CRD,8.5 +VTS,1,1,540,1.89,CSH,9 +VTS,1,1,1200,2.27,CRD,14.5 +VTS,1,1,960,8.77,CRD,25.5 +VTS,1,1,660,3.31,CSH,12.5 +VTS,1,1,1020,8.44,CSH,24.5 +VTS,1,1,600,4.01,CSH,13 +VTS,1,1,540,2.06,CRD,8.5 +VTS,1,1,180,0.44,CRD,4.5 +VTS,1,1,660,1.76,CSH,9.5 +VTS,1,1,300,1.2,CSH,5.5 +VTS,1,1,720,2.23,CRD,10.5 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,300,1.23,CRD,6 +VTS,1,1,480,2.04,CSH,8.5 +VTS,1,1,1740,10.44,CSH,33 +VTS,1,1,780,1.5,CRD,9.5 +VTS,1,1,420,1,CRD,6 +VTS,1,1,840,1.88,CSH,10.5 +VTS,1,1,60,0.14,CSH,3 +VTS,1,2,180,0.31,CSH,4 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,420,1.93,CRD,8 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,1260,2.13,CRD,14 +VTS,1,1,1620,3.43,CSH,18 +VTS,1,1,1620,4.18,CSH,19.5 +VTS,1,1,1140,3.34,CSH,15 +VTS,1,2,1380,4.84,CRD,19 +VTS,1,1,660,3.57,CSH,12 +VTS,1,1,180,0.58,CSH,4 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,1260,4.25,CSH,17 +VTS,1,1,780,3.06,CSH,12.5 +VTS,1,1,960,2.96,CRD,14 +VTS,1,1,600,2.05,CRD,9 +VTS,1,1,60,0.41,CRD,3.5 +VTS,1,2,1020,1.1,CRD,11.5 +VTS,1,1,240,1.74,CSH,7 +VTS,1,1,1140,2.49,CRD,13.5 +VTS,1,1,780,2.67,CRD,11 +VTS,1,1,360,0.63,CRD,5.5 +VTS,2,5,2940,16.29,CRD,52 +VTS,2,5,3300,19.77,CRD,52 +VTS,1,1,1500,10.45,CRD,31 +VTS,1,1,900,3.39,CRD,13.5 +VTS,1,1,780,4.69,CRD,15 +VTS,1,1,1620,4.16,CRD,19.5 +VTS,1,1,720,1.57,CRD,9.5 +VTS,1,1,840,1.33,CRD,10 +VTS,1,1,780,1.9,CSH,10 +VTS,1,1,480,1.66,CSH,8 +VTS,1,1,600,2.73,CSH,10 +CMT,1,1,894,1.8,CRD,11 +CMT,1,1,311,0.9,CSH,5.5 +VTS,1,1,960,3.52,CSH,14 +VTS,1,1,1140,4.14,CRD,16.5 +VTS,1,1,780,2.14,CRD,10.5 +VTS,1,1,1260,4.14,CRD,17 +VTS,1,1,660,2.01,CSH,9.5 +VTS,1,1,1020,2.85,CRD,13 +VTS,1,1,300,0.68,CSH,5 +VTS,1,1,1080,4.59,CRD,17 +VTS,1,1,720,1.73,CRD,9.5 +VTS,1,1,480,1.35,CSH,7.5 +VTS,1,1,660,2.53,CRD,10.5 +VTS,1,1,1020,2.45,CRD,13.5 +VTS,1,1,1140,2.82,CSH,14 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,120,0.89,CSH,4.5 +VTS,1,1,900,2.4,CSH,11.5 +VTS,1,1,1440,6.18,CSH,21.5 +VTS,1,1,540,1.15,CSH,7.5 +VTS,1,1,300,0.71,CRD,5.5 +VTS,1,1,300,1.22,CRD,6 +VTS,1,1,840,1.45,CSH,9.5 +VTS,1,1,180,0.51,CSH,4.5 +VTS,1,2,360,1.28,CRD,6.5 +VTS,1,1,900,2.08,CRD,11 +VTS,1,1,120,0.77,CSH,4.5 +VTS,1,1,660,1.43,CSH,8 +VTS,1,1,480,1.84,CRD,8 +VTS,1,1,660,1.43,CSH,8.5 +VTS,1,1,1440,7.09,CRD,21.5 +VTS,1,1,420,0.91,CRD,6 +VTS,1,1,1440,5.27,CSH,20 +VTS,1,1,540,2.1,CRD,9 +VTS,1,1,180,0.69,CSH,4 +VTS,1,1,720,1.39,CSH,9.5 +VTS,1,1,780,2.09,CRD,10.5 +VTS,1,1,540,1.94,CRD,8.5 +VTS,1,1,720,2.61,CRD,10.5 +VTS,1,1,360,1.67,CRD,7.5 +VTS,1,1,1320,3.37,CRD,16.5 +VTS,1,1,120,0.39,CRD,4 +VTS,1,1,1200,3.41,CRD,15 +VTS,1,1,1200,2.74,CSH,14.5 +VTS,1,1,660,1.33,CSH,8.5 +VTS,1,1,600,1.21,CRD,8.5 +VTS,1,1,960,3.07,CSH,13.5 +VTS,1,2,660,1.6,CRD,9 +VTS,1,1,780,3.16,CSH,12.5 +VTS,1,1,360,1.2,CSH,6.5 +VTS,1,1,480,1.03,CSH,7 +VTS,1,2,2100,7.38,CSH,28 +VTS,1,1,540,1.17,CRD,7.5 +VTS,1,1,300,1.12,CSH,6 +VTS,1,2,120,0.53,CRD,4 +VTS,1,1,660,2.46,CSH,10.5 +VTS,1,1,960,1.11,CSH,10.5 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,900,3.59,CRD,13.5 +VTS,1,1,2100,10.51,CSH,34 +VTS,1,2,1440,6.4,CRD,23.5 +VTS,1,1,60,0,CSH,2.5 +VTS,1,1,360,0.95,CSH,6 +VTS,1,1,600,1.59,CRD,8.5 +VTS,1,1,1560,6.79,CRD,24 +VTS,1,1,300,1.14,CRD,6 +VTS,1,1,240,1.53,CRD,6.5 +VTS,1,1,1140,2.86,CSH,14 +VTS,1,2,600,3.18,CRD,11.5 +VTS,1,1,360,1.28,CSH,7 +VTS,1,2,300,1.48,CSH,6.5 +VTS,1,2,240,0.79,CSH,5 +VTS,1,1,600,2.11,CSH,9.5 +VTS,1,1,360,1.05,CRD,6 +VTS,1,1,1140,2.91,CRD,14 +VTS,1,1,660,1.65,CRD,9 +VTS,1,1,420,0.57,CRD,6 +VTS,1,1,780,1.81,CRD,10 +VTS,1,1,720,2.3,CSH,10.5 +VTS,1,1,900,1.77,CRD,10.5 +VTS,1,1,600,1.25,CSH,8.5 +VTS,1,1,900,2.13,CRD,11.5 +VTS,1,1,540,1.18,CRD,7 +VTS,1,1,720,2.46,CRD,10.5 +VTS,1,1,360,0.94,CRD,5.5 +VTS,1,1,300,0.56,CSH,5 +VTS,1,1,360,1.33,CRD,7 +VTS,1,1,900,2.17,CSH,11.5 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,420,1.68,CRD,7.5 +VTS,1,1,240,1.3,CSH,5.5 +VTS,1,2,1020,3.07,CRD,13.5 +VTS,1,1,180,0.85,CRD,4.5 +VTS,1,1,240,1.25,CRD,5.5 +VTS,1,1,180,0.59,CRD,4 +VTS,1,1,420,1.52,CRD,7 +VTS,1,1,600,0.96,CSH,8 +VTS,1,1,1080,5.61,CRD,19 +VTS,1,1,420,0.91,CSH,6 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,660,1.53,CRD,9 +VTS,1,1,420,1.64,CRD,7 +VTS,1,1,1080,3.65,CRD,14.5 +VTS,1,1,720,1.12,CSH,9 +VTS,1,1,1020,2.93,CRD,13.5 +VTS,1,1,300,0.78,CRD,5 +VTS,1,1,2160,7.26,CRD,28 +VTS,1,1,300,1.32,CSH,6.5 +VTS,1,1,180,0.54,CSH,4 +VTS,1,1,780,1.42,CRD,9.5 +VTS,1,1,2460,2.08,CSH,8 +VTS,1,1,600,1.97,CRD,9.5 +VTS,1,1,720,1.91,CSH,9.5 +VTS,1,2,1080,2.59,CRD,13 +VTS,1,1,780,3.54,CRD,13.5 +VTS,1,1,480,2.4,CSH,9 +VTS,1,1,660,2.51,CSH,10.5 +VTS,1,1,300,1.36,CRD,6 +VTS,1,1,780,2.67,CSH,11 +VTS,1,1,240,0.81,CSH,4.5 +VTS,1,1,360,0.9,CSH,5.5 +VTS,1,1,720,4.33,CRD,14 +VTS,1,1,1440,4.52,CSH,19 +VTS,1,1,1740,4.17,CSH,19 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,540,1.19,CRD,7.5 +VTS,1,1,240,0.49,CRD,4.5 +VTS,1,1,840,1.81,CSH,10.5 +VTS,1,1,540,1.14,CRD,7 +VTS,1,1,600,1.58,CSH,8.5 +VTS,1,2,540,1.66,CSH,8.5 +VTS,1,1,1380,6.25,CSH,23 +VTS,1,1,1380,9.1,CRD,28 +VTS,1,1,600,1.53,CRD,8 +VTS,1,1,120,0.51,CSH,4 +VTS,1,1,1500,4.06,CRD,19 +CMT,1,1,219,0.4,CSH,4.5 +CMT,1,1,469,1.1,CRD,7.5 +CMT,1,1,702,1.4,CRD,9 +CMT,1,1,122,0.4,CRD,3.5 +CMT,1,1,896,7.8,CSH,23 +CMT,1,2,299,0.4,CRD,5 +CMT,1,1,433,0.7,CRD,6 +CMT,1,1,426,1.1,CSH,6.5 +CMT,1,2,258,1,CSH,5.5 +CMT,1,1,409,2,CSH,8 +CMT,1,1,192,0.8,CRD,5 +CMT,1,1,166,0.6,CSH,4.5 +CMT,1,1,1059,1.8,CRD,12 +CMT,1,1,140,0.6,CSH,4 +CMT,1,1,291,0.5,CSH,5 +CMT,1,1,151,0.4,CSH,4 +CMT,1,1,130,0.4,CRD,3.5 +CMT,1,1,1419,11.2,CRD,33.5 +CMT,1,1,351,1.2,CSH,6.5 +CMT,1,1,632,2,CSH,9.5 +CMT,1,1,943,8.3,CRD,24.5 +CMT,1,1,213,1.2,CRD,5.5 +CMT,1,1,258,0.4,CRD,4.5 +VTS,1,2,240,0.75,CSH,5 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,840,2.19,CSH,11.5 +VTS,1,1,1920,11.13,CRD,35.5 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,1440,2.75,CSH,15.5 +VTS,1,1,600,1.03,CSH,8 +VTS,1,1,420,0.98,CSH,6.5 +CMT,1,1,1119,2.3,CSH,13.5 +CMT,1,1,667,6.3,CRD,18.5 +CMT,1,1,274,1,CRD,6 +CMT,1,1,710,1.2,CRD,8.5 +CMT,1,1,821,1.4,CRD,10 +CMT,1,1,472,0.5,CSH,6.5 +CMT,1,1,337,1,CSH,6 +CMT,1,2,200,0.4,CSH,4 +CMT,1,3,352,1,CSH,6 +CMT,1,2,1179,4.9,CRD,18.5 +CMT,1,1,600,2.1,CRD,9.5 +CMT,1,1,583,1.9,CRD,9 +CMT,1,1,66,0.4,CRD,3.5 +CMT,1,1,862,1.7,CSH,10.5 +CMT,1,1,696,2,CRD,10 +CMT,1,1,362,1.5,CSH,7 +CMT,1,1,534,1.5,CRD,8 +CMT,1,1,1202,4.1,CRD,16.5 +VTS,1,1,840,1.51,CSH,10 +VTS,1,1,780,2.14,CSH,11 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,660,1.47,CSH,9 +VTS,1,1,300,0.65,CSH,5 +VTS,1,1,900,2.09,CSH,12 +VTS,1,1,540,1.7,CRD,8.5 +CMT,1,1,546,2,CRD,9 +CMT,1,1,349,1.3,CRD,6.5 +CMT,1,1,202,0.5,CRD,4 +CMT,1,1,1788,3.4,CSH,19 +CMT,1,1,1003,1.3,CRD,11 +CMT,1,1,1307,4.6,CRD,19 +CMT,1,1,493,1,CSH,7 +CMT,1,1,498,2.2,CSH,9 +CMT,1,3,579,3.5,CRD,12 +CMT,1,1,93,0.2,CSH,3.5 +CMT,1,1,294,0.9,CRD,5.5 +CMT,1,1,535,1.5,CSH,8 +CMT,1,1,1221,6.1,CSH,20 +CMT,1,1,279,1.1,CSH,6 +CMT,1,1,689,2.5,CSH,10.5 +CMT,5,1,34,0,CRD,205 +CMT,1,1,1517,4.2,CRD,18.5 +CMT,1,1,267,1,CRD,5.5 +VTS,1,1,240,0.9,CRD,5 +VTS,1,1,900,1.72,CRD,11 +VTS,1,1,1500,3.33,CSH,17.5 +VTS,1,1,600,1.48,CSH,8 +VTS,1,2,180,0.37,CSH,4 +VTS,1,1,660,3.25,CSH,11.5 +VTS,1,2,660,2.58,CRD,11 +VTS,1,1,360,1.56,CRD,7 +VTS,1,1,2940,11.64,CSH,42 +VTS,1,1,660,2.99,CSH,12 +VTS,1,1,840,1.9,CSH,10 +VTS,1,2,600,2.06,CSH,9 +VTS,1,1,180,0.58,CRD,4 +VTS,1,1,780,1.62,CRD,9.5 +VTS,1,1,1020,4,CRD,15 +VTS,1,1,780,2.29,CSH,10 +VTS,1,1,180,0.95,CSH,5 +VTS,1,1,420,0.57,CRD,6 +VTS,1,1,660,1.3,CSH,9 +VTS,1,1,420,1.16,CSH,7 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,1260,5.12,CRD,18 +VTS,1,1,300,0.61,CSH,5 +VTS,1,1,240,1.34,CRD,6 +VTS,1,1,480,1.22,CSH,7.5 +VTS,1,2,360,0.71,CSH,5.5 +VTS,1,1,840,2.24,CRD,11.5 +VTS,1,1,420,0.82,CSH,6 +VTS,1,1,180,0.95,CRD,4.5 +VTS,1,1,480,1.28,CSH,7.5 +VTS,1,1,420,1.1,CSH,5.5 +VTS,1,1,420,1.47,CSH,7 +VTS,1,1,960,4.19,CRD,14.5 +VTS,1,1,540,2.51,CSH,10 +VTS,1,1,360,1.38,CSH,7 +VTS,1,1,180,0.51,CSH,4 +VTS,1,1,240,0.84,CRD,5 +VTS,1,1,900,1.73,CSH,10.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,900,2.68,CSH,12 +VTS,1,1,540,1.07,CSH,7 +VTS,1,1,300,1.35,CRD,6.5 +VTS,1,1,600,1.06,CRD,7.5 +VTS,1,2,300,1.6,CRD,6.5 +VTS,1,1,960,3.41,CSH,14 +VTS,1,2,420,1.29,CRD,7 +VTS,1,1,720,4.02,CSH,13 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,1260,2.55,CRD,14 +VTS,1,1,960,3.03,CRD,13 +VTS,1,1,1020,3.6,CRD,14.5 +VTS,1,1,1260,2.97,CSH,15.5 +VTS,1,1,1200,3.6,CRD,15.5 +VTS,1,1,1500,4.48,CSH,19 +VTS,1,1,540,1.32,CSH,8 +VTS,1,1,300,0.39,CSH,4.5 +VTS,1,1,720,1.47,CRD,9.5 +VTS,1,1,420,2.47,CRD,9 +VTS,1,1,600,2.93,CSH,11 +VTS,1,1,240,0.76,CRD,5 +VTS,1,1,780,1.6,CRD,9 +VTS,1,1,600,2.18,CSH,9.5 +VTS,1,1,60,0,CSH,2.5 +VTS,1,1,960,1.52,CRD,11 +VTS,1,1,1560,4.49,CRD,20.5 +VTS,1,1,180,0.52,CSH,4.5 +VTS,1,2,420,1.11,CRD,7 +VTS,1,1,1080,7.6,CRD,23 +VTS,1,1,360,0.67,CRD,5.5 +VTS,1,1,1020,3.45,CRD,14.5 +VTS,1,1,1380,3.23,CSH,16.5 +VTS,1,1,300,0.37,CSH,4.5 +VTS,1,1,600,2.5,CRD,10 +VTS,1,1,780,2.86,CRD,11 +VTS,1,1,1560,5.63,CSH,21 +VTS,1,1,360,0.49,CRD,5.5 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,660,1.15,CSH,8.5 +VTS,1,1,300,0.97,CSH,5.5 +VTS,1,1,420,1.2,CSH,7 +VTS,1,1,300,0.79,CSH,5.5 +VTS,1,1,240,1.16,CRD,5.5 +VTS,1,1,600,2.13,CRD,9 +VTS,1,1,1080,2.5,CRD,13 +VTS,1,1,540,0.92,CRD,7 +VTS,1,1,780,1.7,CSH,9.5 +VTS,1,1,240,1.44,CRD,6.5 +VTS,1,1,420,1.03,CRD,6.5 +VTS,1,1,1500,4.45,CRD,19 +VTS,1,2,1740,6.97,CSH,25.5 +VTS,1,2,360,0.78,CSH,5 +VTS,1,1,540,1.76,CSH,8 +VTS,1,1,1020,3.62,CSH,14 +VTS,1,1,480,1.75,CSH,8 +VTS,1,2,960,2.74,CSH,13 +VTS,1,1,720,1.84,CRD,10 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,1,780,3.77,CRD,13 +VTS,1,1,660,1.72,CRD,9 +VTS,1,1,720,1.54,CSH,8.5 +VTS,1,1,540,0.76,CSH,7 +VTS,1,1,900,2.47,CSH,12 +VTS,1,1,540,1.92,CRD,8.5 +VTS,1,1,480,1.27,CSH,7.5 +VTS,1,1,900,2.59,CRD,12 +VTS,1,1,180,1.16,CSH,5.5 +VTS,1,1,780,2.26,CRD,10.5 +VTS,1,1,480,1.67,CRD,8 +VTS,1,1,1740,6.47,CSH,24.5 +VTS,1,1,360,1.55,CRD,7 +VTS,1,1,120,0.3,CSH,3.5 +VTS,1,1,1680,8.67,CRD,27 +VTS,1,1,540,1.89,CRD,9 +VTS,1,2,540,1.39,CSH,8 +VTS,1,1,960,3.62,CRD,14.5 +CMT,1,1,498,0.9,CSH,7 +CMT,1,1,625,0.9,CSH,8 +CMT,1,1,105,0.2,CSH,3.5 +CMT,1,1,1057,8.4,CRD,24.5 +CMT,1,1,601,2,CSH,9.5 +CMT,1,1,89,0.5,CSH,4 +CMT,1,1,213,0.4,CSH,4 +CMT,1,1,1465,4.1,CRD,18.5 +CMT,1,1,594,1.8,CRD,9 +CMT,1,2,1306,6.3,CRD,21 +CMT,1,2,667,1.7,CRD,9.5 +CMT,1,1,524,1.3,CRD,8 +CMT,1,2,1601,6.7,CSH,24 +CMT,1,1,379,0.7,CRD,6 +CMT,1,1,869,5,CRD,17 +CMT,1,1,781,2.5,CRD,11 +CMT,1,1,1238,1.5,CSH,13.5 +CMT,1,1,1,0,CSH,2.5 +CMT,1,1,110,0.5,CSH,4 +CMT,1,3,1690,2.6,CRD,18 +CMT,1,2,419,1.3,CSH,7 +CMT,1,1,239,0.8,CSH,5 +CMT,1,1,995,4.2,CRD,15.5 +CMT,1,2,814,4,CSH,14.5 +CMT,1,1,969,2.8,CSH,12.5 +CMT,1,1,772,3,CSH,12.5 +CMT,1,1,987,2.9,CRD,13 +CMT,1,1,948,3.3,CRD,14 +CMT,1,1,201,0.8,CRD,5 +CMT,1,1,1558,3.5,CSH,18 +CMT,1,1,203,0.9,CSH,5 +CMT,1,1,421,1.2,CSH,7 +CMT,1,1,759,3,CRD,12 +CMT,1,1,633,1.3,CSH,8.5 +CMT,1,1,132,0.4,CRD,4 +CMT,1,1,360,0.7,CSH,5.5 +CMT,1,1,775,1,CRD,9.5 +CMT,1,1,563,2.1,CRD,9 +CMT,1,1,443,1.2,CRD,7 +CMT,1,1,1416,3.4,CRD,17 +CMT,1,1,1032,2.6,CRD,13.5 +CMT,1,1,166,0.7,CSH,4.5 +CMT,1,1,1316,3.7,CRD,17 +CMT,1,1,481,1.1,CRD,7.5 +CMT,1,1,895,2.3,CSH,11.5 +CMT,1,1,889,2,CRD,11 +CMT,1,1,1807,6.3,CSH,25 +CMT,1,2,227,0.8,CRD,5 +CMT,1,1,966,4.2,CRD,15.5 +CMT,1,1,680,1.7,CRD,9.5 +CMT,1,1,828,2.1,CSH,11 +CMT,1,1,947,3,CRD,13 +CMT,1,1,1025,7.7,CSH,23.5 +CMT,1,1,455,1.4,CSH,8 +CMT,1,1,709,2.4,CSH,10.5 +CMT,1,1,824,3.2,CRD,13 +CMT,1,1,623,1.5,CRD,8.5 +CMT,1,1,1239,6.4,CSH,22 +CMT,1,1,334,1.2,CRD,6.5 +CMT,1,1,439,0.8,CRD,6.5 +CMT,1,1,399,1,CRD,6.5 +CMT,1,1,347,0.7,CSH,5.5 +CMT,1,2,611,2,CSH,9.5 +CMT,1,1,400,0.9,CSH,6 +CMT,1,1,1251,1.9,CRD,14 +CMT,1,1,1515,3.7,CSH,18 +CMT,1,1,655,2.6,CRD,11 +CMT,1,1,755,2.4,CRD,11 +CMT,1,1,380,0.9,CRD,6 +CMT,1,1,411,1.4,CSH,7 +CMT,1,1,920,3.8,CRD,14 +CMT,1,1,318,0.9,CRD,5.5 +CMT,1,4,726,1.7,CRD,10 +CMT,1,1,459,1.2,CRD,7 +CMT,1,1,884,1.8,CSH,11 +CMT,1,1,718,1.3,CRD,9.5 +CMT,1,2,1280,3.3,CSH,15.5 +CMT,1,2,559,1.7,CRD,8.5 +CMT,1,1,560,1.9,CRD,9 +CMT,1,1,549,1.6,CRD,8.5 +CMT,1,1,419,2.2,CRD,8.5 +CMT,1,1,1016,4.3,CRD,15.5 +CMT,1,1,673,0.6,CRD,8 +CMT,1,1,722,1.7,CRD,9.5 +CMT,1,1,980,0.9,CSH,11 +CMT,1,1,722,1.9,CSH,10 +CMT,1,1,411,0.7,CRD,6 +CMT,1,1,634,1.5,CSH,8.5 +CMT,1,1,441,2.1,CRD,8.5 +CMT,1,1,233,0.6,CRD,5 +CMT,1,1,816,1.3,CSH,10 +CMT,1,2,531,1.8,CSH,8 +CMT,1,1,249,0.7,CRD,5 +CMT,1,1,1368,4.1,CSH,17.5 +CMT,1,1,262,1.1,CRD,5.5 +CMT,1,1,860,1.4,CRD,10 +CMT,1,1,230,0.5,CRD,4.5 +CMT,1,1,1202,1.9,CRD,13.5 +CMT,1,1,205,0.7,CRD,4.5 +CMT,1,1,1072,1.8,CRD,12 +CMT,1,1,616,1.6,CRD,9 +CMT,1,1,606,1.1,CRD,8 +CMT,1,1,636,1.6,CRD,9 +CMT,1,1,665,2.2,CRD,10 +CMT,1,1,1785,4.7,CRD,22 +CMT,1,1,1011,2.4,CSH,13.5 +CMT,1,1,820,2.8,CSH,12 +CMT,1,1,574,2.2,CRD,9.5 +CMT,1,1,851,1.5,CSH,10.5 +CMT,1,1,705,0.6,CRD,8.5 +CMT,1,1,619,0.6,CSH,7.5 +CMT,1,2,258,0.8,CSH,5 +CMT,1,1,454,0.5,CSH,6.5 +CMT,1,1,671,0.8,CRD,8.5 +CMT,1,1,285,0.9,CRD,6 +CMT,1,1,690,3.1,CSH,11.5 +CMT,1,1,576,2,CRD,9 +CMT,1,2,841,1.3,CSH,10 +CMT,1,2,213,0.8,CSH,5 +VTS,1,1,540,1.35,CRD,8 +VTS,1,1,960,2.33,CRD,11.5 +VTS,1,1,660,1.99,CSH,9.5 +VTS,1,1,1320,7.43,CRD,23.5 +CMT,1,1,614,1.4,CRD,8.5 +CMT,1,1,708,1.6,CRD,9 +CMT,1,1,1491,16.3,CRD,44.5 +CMT,1,1,911,8,CRD,23.5 +CMT,1,1,1188,1.9,CRD,13.5 +CMT,1,1,174,0.4,CRD,4 +CMT,1,1,655,1.5,CSH,9 +CMT,1,1,295,1,CSH,6 +CMT,1,1,101,0.6,CRD,4 +CMT,1,1,826,2.2,CRD,11 +CMT,1,1,594,0.8,CRD,7.5 +CMT,1,1,545,1.9,CSH,9 +CMT,1,1,120,0.8,CSH,4.5 +CMT,1,1,167,0.7,CSH,4.5 +CMT,1,1,496,1.4,CSH,8 +CMT,1,1,148,0.5,CRD,4 +CMT,1,1,188,0.8,CSH,5 +CMT,1,1,387,1.2,CSH,7 +CMT,1,1,285,1.2,CRD,6 +CMT,1,1,354,1.4,CRD,7 +CMT,1,1,1600,12.6,CRD,37 +CMT,1,1,846,2.9,CRD,12.5 +CMT,1,1,323,2.1,CSH,8 +CMT,1,1,92,0.4,CSH,3.5 +CMT,1,1,409,1.1,CSH,6.5 +CMT,1,1,478,1.3,CSH,7.5 +CMT,1,1,187,0.6,CSH,4.5 +CMT,1,1,513,2.3,CSH,9.5 +CMT,1,1,362,1,CSH,6 +CMT,1,1,698,1,CRD,8.5 +CMT,1,1,651,2.1,CSH,10 +CMT,1,1,393,1.1,CRD,6.5 +CMT,1,1,416,0.7,CRD,6 +CMT,1,1,1003,3.5,CSH,14.5 +CMT,1,1,222,0.7,CRD,4.5 +CMT,1,1,955,2.6,CRD,13 +CMT,1,1,723,1.6,CSH,9.5 +CMT,1,1,190,0.4,CSH,4 +CMT,1,1,252,0.7,CRD,5 +CMT,1,1,655,2.6,CSH,11 +CMT,1,1,472,0.5,CRD,6.5 +CMT,1,1,379,0.9,CRD,6 +CMT,1,1,1149,2.1,CRD,13.5 +CMT,1,1,801,6.3,CRD,19.5 +CMT,1,1,801,1.8,CRD,10.5 +CMT,1,2,524,0.8,CSH,7 +CMT,1,1,341,0.8,CSH,6 +CMT,1,2,472,1.2,CSH,7.5 +VTS,1,1,480,1.67,CSH,8 +VTS,1,1,600,2.04,CSH,9.5 +VTS,1,1,720,2.43,CRD,10 +VTS,1,1,480,2.08,CSH,8 +VTS,1,3,540,1.38,CRD,7.5 +VTS,1,1,660,2.95,CSH,10.5 +VTS,1,1,420,1.02,CSH,6 +VTS,1,1,660,1.85,CRD,9.5 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,660,2.53,CSH,10 +VTS,1,1,420,1.42,CRD,7.5 +CMT,1,1,294,0.9,CRD,5.5 +CMT,1,1,364,0.6,CSH,5.5 +CMT,1,1,153,0.6,CRD,4 +CMT,1,1,1252,2.3,CSH,14 +CMT,1,1,1248,4.8,CRD,18.5 +CMT,1,1,689,1.1,CSH,8.5 +CMT,1,1,409,1,CSH,6.5 +CMT,1,2,232,0.9,CSH,5 +CMT,1,1,395,1.7,CSH,8 +CMT,1,1,1324,4.1,CRD,17 +CMT,1,1,563,1.3,CRD,8 +CMT,1,1,484,1.6,CRD,8 +CMT,1,1,627,1.3,CSH,8 +CMT,1,1,1193,4,CRD,16.5 +CMT,1,1,66,0.5,CSH,3.5 +CMT,1,1,268,1.2,CRD,6 +CMT,1,1,399,2.3,CSH,9 +CMT,1,1,381,1.9,CRD,8 +CMT,1,1,1158,3.5,CRD,16.5 +CMT,1,1,392,1.6,CSH,7.5 +CMT,1,1,276,0.7,CSH,5 +CMT,1,1,643,2.5,CRD,10 +CMT,1,1,566,1.5,CSH,8.5 +CMT,1,1,622,1.6,CSH,9 +CMT,1,1,725,2,CRD,10.5 +CMT,1,1,1194,9.8,CRD,29 +CMT,1,1,2061,10,CSH,34 +CMT,1,1,817,2.7,CSH,12.5 +CMT,1,1,800,3.6,CSH,13.5 +CMT,1,1,381,0.7,CSH,6 +CMT,1,1,557,1.3,CSH,8 +CMT,1,1,1216,1.9,CSH,13.5 +CMT,1,1,778,1.2,CSH,9.5 +CMT,1,2,144,0.5,CSH,4 +CMT,1,1,2,0,CSH,2.5 +CMT,1,1,478,1.2,CSH,7 +CMT,1,1,386,1.2,CSH,6.5 +CMT,1,1,125,0.6,CSH,4 +CMT,1,1,299,1,CSH,6 +CMT,1,1,799,5,CSH,17 +CMT,1,1,739,1.7,CSH,10 +CMT,1,2,719,2.5,CSH,10.5 +CMT,1,2,210,0.7,CSH,5 +CMT,1,2,252,1.4,CRD,6 +CMT,1,1,655,3.5,CRD,12.5 +CMT,1,1,1383,9.9,CRD,30.5 +CMT,1,1,801,1.6,CRD,10.5 +CMT,1,1,1467,2.4,CRD,16 +CMT,1,2,2042,4.2,CSH,22.5 +CMT,1,1,623,1.8,CRD,9 +CMT,1,1,597,1.7,CRD,9 +CMT,1,1,863,1.1,CSH,10 +CMT,1,1,1071,2.5,CSH,13.5 +CMT,1,1,475,2.6,CRD,9.5 +CMT,1,2,554,1.1,CSH,7.5 +CMT,1,1,32,0.6,NOC,2.5 +CMT,1,3,629,1.6,CSH,9 +CMT,1,1,307,0.6,CRD,5 +CMT,1,1,1063,4.1,CRD,15.5 +CMT,1,1,715,2.8,CSH,11.5 +CMT,1,2,1263,9.7,CRD,30 +CMT,1,2,489,1.9,CSH,8.5 +CMT,1,1,451,0.6,CSH,6 +CMT,1,1,614,4.2,CRD,14 +CMT,1,1,860,5.8,CRD,19 +CMT,1,1,875,1.6,CSH,10.5 +CMT,1,1,819,2.3,CRD,11 +CMT,1,1,672,1.6,CRD,9.5 +CMT,1,1,676,1.1,CRD,8.5 +CMT,1,1,305,0.7,CRD,5 +CMT,1,1,492,1.3,CRD,7.5 +CMT,1,1,202,1,CSH,5 +CMT,1,1,1660,5.2,CSH,22.5 +CMT,1,1,1037,2.1,CSH,12.5 +CMT,1,1,689,2.9,CSH,11.5 +CMT,1,1,442,1.1,CSH,7 +CMT,1,1,778,2.2,CRD,11 +CMT,1,1,995,3.5,CRD,14 +CMT,1,1,813,2.6,CRD,11.5 +CMT,1,1,359,1.3,CRD,6.5 +CMT,1,1,420,0.8,CSH,6.5 +CMT,1,1,758,1.2,CRD,9.5 +CMT,1,1,531,1,CRD,7 +CMT,1,2,172,0.5,CSH,4 +CMT,1,1,331,1.1,CSH,6.5 +CMT,1,2,992,9.1,CRD,26.5 +CMT,1,1,1198,11.4,CRD,32 +CMT,1,1,1120,4.5,CSH,17.5 +CMT,1,1,966,8.4,CRD,25 +CMT,1,1,435,2.3,CRD,9 +CMT,1,2,1181,7.4,CSH,23.5 +CMT,1,1,248,0.8,CRD,5 +CMT,1,1,316,1.2,CRD,6.5 +CMT,1,1,852,1.6,CSH,10.5 +CMT,1,1,2275,15.7,CSH,48 +CMT,1,1,906,2.5,CSH,12 +CMT,1,1,389,0.8,CSH,6 +CMT,1,2,209,1,CSH,5.5 +CMT,1,1,936,4.5,CRD,16.5 +CMT,1,1,544,0.8,CRD,7 +CMT,1,1,715,1.6,CSH,9.5 +CMT,1,2,993,2.7,CRD,13 +CMT,1,2,275,1,CSH,5.5 +CMT,1,4,1257,3.3,CSH,16 +CMT,1,1,426,0.9,CSH,7 +CMT,1,1,331,0.5,CSH,5.5 +CMT,1,2,442,0.8,CRD,6.5 +CMT,1,1,735,1,CSH,9 +CMT,1,1,480,1.2,CRD,7 +CMT,1,2,1402,5.9,CSH,22 +CMT,1,1,510,2.7,CRD,10 +CMT,1,1,255,1.3,CSH,6 +CMT,1,1,490,0.7,CSH,7 +CMT,1,1,491,2.1,CRD,9.5 +CMT,1,1,533,1.6,CSH,8.5 +CMT,1,1,1372,5.6,CSH,20.5 +CMT,1,1,515,1.2,CRD,7 +CMT,1,2,1112,3.9,CSH,15.5 +CMT,1,2,264,0.9,CRD,5.5 +CMT,1,1,380,2,CRD,8 +CMT,1,1,159,0.3,CRD,4 +CMT,1,1,1163,5.1,CRD,19 +CMT,1,1,749,5.6,CSH,18 +CMT,1,1,850,2.3,CSH,12 +CMT,1,1,1224,2.4,CSH,14.5 +CMT,1,1,1109,1.9,CRD,13 +CMT,1,1,553,0.8,CRD,7 +CMT,1,1,461,1.5,CRD,7.5 +CMT,1,1,264,1.2,CSH,6 +CMT,1,1,235,0.8,CSH,5 +CMT,1,1,337,1,CRD,6 +CMT,1,2,308,1.3,CSH,6 +CMT,1,1,468,0.8,CRD,6.5 +CMT,1,2,143,0.2,CSH,3.5 +CMT,1,1,324,0.5,CSH,5 +CMT,1,2,651,1.4,CRD,9 +CMT,1,2,1395,5.1,CRD,20.5 +CMT,1,2,957,2.2,CRD,12.5 +CMT,1,1,167,0.4,CSH,4 +CMT,1,2,277,1.1,CSH,6 +CMT,1,1,848,1.6,CRD,10.5 +CMT,1,1,964,1.9,CSH,11.5 +CMT,1,2,860,1,CRD,10 +CMT,2,1,2138,20.6,CRD,52 +CMT,1,2,212,0.5,CSH,4.5 +CMT,1,1,280,0.8,CSH,5.5 +CMT,1,1,1466,2.2,CRD,16 +CMT,1,1,366,0.9,CSH,6 +CMT,1,1,528,1,CRD,7.5 +CMT,1,1,894,5.2,CSH,17 +CMT,1,3,1059,5,CRD,17.5 +CMT,1,1,524,1,CSH,7.5 +CMT,1,3,675,1.3,CRD,9 +CMT,2,1,118,0.6,NOC,52 +CMT,1,1,1318,12.5,CSH,34.5 +CMT,2,1,1787,21.9,CSH,52 +CMT,1,1,1965,10.8,CSH,32.5 +CMT,1,1,215,0.6,CSH,5 +CMT,1,1,874,3.3,CSH,13 +CMT,1,1,287,1.2,CSH,6 +CMT,1,1,671,1.1,CSH,8.5 +CMT,1,1,1447,4.2,CRD,18.5 +CMT,1,1,1240,2,CRD,13.5 +CMT,1,1,384,1.2,CRD,7 +CMT,1,1,284,1,CRD,5.5 +CMT,1,1,408,1.3,CRD,7 +CMT,1,3,454,1.7,CSH,8 +CMT,1,2,463,1.4,CRD,7.5 +CMT,1,1,781,2.7,CRD,12 +CMT,1,2,1643,8.5,CRD,27.5 +CMT,1,1,417,2.1,CRD,8 +CMT,1,1,250,0.4,CRD,4.5 +CMT,1,1,955,2.4,CRD,12.5 +CMT,1,1,426,0.7,CRD,6.5 +CMT,1,1,2141,5.1,CSH,25.5 +CMT,1,1,346,0.7,CSH,6 +CMT,1,1,225,0.5,CRD,4.5 +CMT,1,1,801,3.2,CRD,13.5 +CMT,1,1,1484,4.7,CRD,20 +CMT,1,1,343,0.8,CRD,6 +CMT,1,1,794,2.2,CRD,11 +CMT,1,2,289,1.2,CSH,6 +CMT,1,1,933,2.3,CSH,12 +CMT,1,1,1594,7.3,CRD,23 +CMT,1,2,1549,9,CSH,27.5 +CMT,1,1,3235,5.8,CRD,35.5 +CMT,1,1,978,5.7,CRD,18.5 +CMT,2,1,2835,17.6,CRD,52 +CMT,1,1,492,1.1,CRD,7.5 +CMT,1,1,1762,4.5,CRD,21 +CMT,1,1,1083,5.5,CSH,20 +CMT,1,1,295,1.5,CSH,6.5 +CMT,1,1,2071,16.6,CSH,47.5 +CMT,1,1,248,1,CSH,5.5 +CMT,1,3,454,1.3,CRD,7 +CMT,1,2,235,0.5,CSH,4.5 +CMT,1,1,394,1.6,CSH,7.5 +CMT,1,1,322,1.1,CRD,6 +CMT,1,1,790,0.5,CSH,9.5 +CMT,1,1,271,0.6,CSH,5 +CMT,1,1,310,1.1,CRD,6 +CMT,1,1,603,2,CRD,9.5 +CMT,1,1,937,2.2,CRD,11.5 +CMT,1,1,429,1.2,CRD,7 +CMT,1,1,342,0.1,CSH,5 +CMT,1,1,667,0.9,CRD,8.5 +CMT,1,1,997,2.8,CRD,13.5 +CMT,1,1,355,1.2,CRD,6.5 +CMT,1,1,413,2.2,CSH,8.5 +CMT,1,1,637,1.4,CSH,8.5 +CMT,1,4,795,1.5,CSH,10 +CMT,1,4,1543,6.3,CRD,24 +CMT,1,1,568,1.2,CRD,8 +CMT,1,2,490,3,CSH,10.5 +CMT,1,1,294,1.3,CSH,6 +CMT,1,1,133,0.5,CSH,4 +CMT,1,2,864,2.2,CRD,11 +CMT,1,2,637,1.3,CSH,8.5 +CMT,1,3,473,1.3,CRD,7.5 +CMT,2,1,1946,18.9,CRD,52 +CMT,1,1,637,1.2,CRD,8.5 +CMT,1,1,533,0.5,CSH,7 +CMT,1,1,998,3.4,CRD,14 +CMT,1,2,977,4.6,CSH,16 +CMT,1,1,856,5.9,CRD,18.5 +CMT,1,2,461,1.9,CRD,8 +CMT,1,1,578,2.2,CRD,9.5 +CMT,1,1,456,2.5,CRD,9.5 +CMT,1,2,121,0.4,CRD,4 +CMT,1,1,475,1.3,CSH,7.5 +CMT,1,4,1287,6.9,CSH,22.5 +CMT,1,2,365,1,CSH,6 +CMT,1,3,616,1.5,CSH,8.5 +CMT,1,1,567,1.6,CRD,8.5 +CMT,1,2,1262,3.6,CSH,17 +CMT,1,1,373,0.9,CRD,6.5 +CMT,1,1,650,1.9,CRD,9.5 +CMT,1,1,1089,6.5,CRD,22 +CMT,1,1,192,0.9,CRD,5 +CMT,1,1,85,0.4,CRD,3.5 +CMT,1,1,577,1.9,CRD,9.5 +CMT,1,2,205,0.7,CSH,5 +CMT,1,1,553,0.9,CRD,7.5 +CMT,1,1,1355,3.4,CSH,16.5 +CMT,1,1,236,0.8,CRD,5 +CMT,1,1,437,1,CRD,6.5 +CMT,1,1,422,1.3,CRD,7 +CMT,1,1,832,2.1,CRD,11 +CMT,1,2,294,0.7,CRD,5.5 +CMT,1,2,325,0.8,CSH,5.5 +CMT,1,1,578,2,CSH,9.5 +CMT,1,1,303,0.9,CRD,5.5 +CMT,1,1,86,0.2,CRD,3 +CMT,1,2,793,1.4,CSH,10 +CMT,1,1,1006,1.1,CRD,11.5 +CMT,1,1,1737,6.7,CRD,25.5 +CMT,1,1,1048,1.9,CSH,12 +CMT,1,1,1507,1.3,CRD,15.5 +CMT,1,1,375,1.7,CRD,7.5 +CMT,1,1,804,2.3,CSH,11 +CMT,1,1,268,0.8,CSH,5 +CMT,1,1,1546,7.3,CRD,25.5 +CMT,1,1,1049,6.1,CRD,19.5 +CMT,1,3,325,1,CSH,6 +CMT,1,1,204,0.9,CSH,5 +CMT,1,2,667,1.9,CSH,9.5 +CMT,1,3,1031,2.7,CRD,13.5 +CMT,1,1,311,0.8,CSH,5.5 +CMT,1,1,329,1.4,CSH,6.5 +CMT,2,1,1723,16.8,CSH,52 +CMT,1,1,630,1.2,CSH,8 +CMT,1,1,146,0.3,CSH,3.5 +CMT,1,3,464,1.4,CSH,8 +CMT,1,1,1063,10.6,CRD,30 +CMT,1,1,1137,4.5,CSH,17 +CMT,1,1,10,0.8,CSH,2.5 +CMT,1,1,430,1.5,CSH,7.5 +CMT,1,1,439,1.6,CRD,8 +CMT,1,1,917,2.1,CRD,12 +CMT,1,1,418,1.1,CSH,7 +CMT,1,2,737,1.1,CRD,9.5 +CMT,1,1,652,2.7,CRD,10.5 +CMT,1,2,866,2.2,CSH,11.5 +CMT,1,1,377,1.5,CRD,7 +CMT,1,1,724,3.1,CRD,12 +CMT,1,1,918,1.9,CSH,11.5 +CMT,1,2,1383,4.5,CRD,18.5 +CMT,1,2,640,1.9,CSH,9.5 +CMT,1,1,476,1.2,CSH,7 +CMT,1,1,378,1.2,CRD,6.5 +CMT,1,1,870,2.4,CRD,12 +CMT,1,1,287,1.1,CRD,6 +CMT,1,2,463,1.6,CSH,8 +CMT,1,1,492,1.5,CRD,8 +CMT,1,1,1039,2.8,CSH,13.5 +CMT,1,1,705,2,CRD,10 +CMT,1,1,1684,5.3,CRD,22.5 +CMT,1,1,783,5.6,CSH,18 +CMT,1,1,938,4.6,CRD,17 +CMT,2,1,3384,19.2,CRD,52 +CMT,1,1,882,1.7,CSH,10.5 +CMT,1,1,1575,3.3,CRD,18 +CMT,1,1,1101,3.2,CSH,14.5 +CMT,1,3,723,1.9,CSH,10.5 +CMT,1,1,635,2.3,CRD,10 +CMT,1,1,1708,5.5,CSH,22 +CMT,1,2,1352,10.2,CSH,31 +CMT,1,1,1227,6.5,CRD,22 +CMT,1,1,696,1.9,CSH,10 +CMT,1,1,550,3.2,CSH,11 +CMT,1,1,147,0.5,CSH,4 +CMT,1,1,240,1,CRD,5.5 +CMT,1,2,2876,10.6,CSH,38 +CMT,1,1,535,1,CSH,7.5 +CMT,1,1,367,0.6,CSH,5.5 +CMT,1,1,831,2.3,CRD,11.5 +CMT,1,1,1081,3.5,CRD,15 +CMT,1,1,704,2.2,CSH,10 +CMT,1,1,854,5.8,CSH,19 +CMT,1,1,604,2.1,CRD,9.5 +CMT,1,2,744,2.8,CRD,11 +CMT,1,1,543,2.8,CRD,10 +CMT,1,2,546,1,CRD,7.5 +CMT,1,1,1682,4.2,CRD,20 +CMT,1,1,852,3.3,CSH,13.5 +CMT,1,2,317,1.1,CRD,6 +CMT,1,1,738,3.5,CSH,13 +CMT,1,1,682,2.5,CRD,11 +CMT,1,1,693,2.5,CSH,10.5 +CMT,1,1,379,1.2,CRD,6.5 +CMT,1,1,2559,7.5,CRD,32 +CMT,1,1,727,1.5,CRD,9.5 +CMT,1,1,299,0.3,CRD,5 +CMT,1,1,825,1.2,CRD,9.5 +CMT,1,2,468,1.3,CSH,7 +CMT,1,1,835,2,CRD,11 +CMT,1,2,1581,5,CRD,20.5 +CMT,1,1,515,1.4,CSH,8 +CMT,1,1,787,2.6,CRD,11 +CMT,1,1,486,1.3,CRD,7.5 +CMT,1,1,1017,2.8,CRD,13.5 +CMT,1,1,639,1.5,CSH,9 +CMT,1,1,320,1.1,CRD,6 +CMT,1,1,450,1.5,CRD,7.5 +CMT,1,1,437,1.6,CSH,7.5 +CMT,1,1,582,1.6,CRD,9 +CMT,1,1,371,1.4,CSH,7 +CMT,1,1,405,1.3,CRD,7 +CMT,1,1,319,1.5,CRD,6.5 +CMT,1,1,697,2.2,CSH,10 +CMT,1,1,521,1.8,CRD,8.5 +CMT,1,1,636,2.9,CSH,11.5 +CMT,1,2,1068,1.9,CSH,12.5 +CMT,1,1,1148,3.7,CRD,15.5 +CMT,1,1,983,1.5,CRD,11.5 +CMT,1,1,656,2,CSH,9.5 +CMT,1,1,505,0.7,CRD,7 +CMT,1,1,521,1.4,CSH,8 +CMT,1,1,916,2.6,CRD,12.5 +CMT,1,1,371,0.8,CRD,6 +CMT,1,1,323,0.9,CSH,5.5 +CMT,1,1,628,1.4,CSH,8.5 +CMT,1,1,344,1.7,CRD,7 +CMT,1,1,666,3.5,CSH,12.5 +CMT,1,1,784,2.5,CSH,11.5 +CMT,1,2,480,1.5,CRD,8 +CMT,1,1,847,1.6,CSH,10.5 +CMT,1,3,709,1.7,CRD,10 +CMT,1,1,813,2,CSH,10.5 +CMT,1,1,848,1.9,CSH,10.5 +CMT,1,3,179,0.5,CSH,4 +CMT,1,1,606,3.1,CRD,11.5 +CMT,1,1,598,3.1,CRD,11.5 +CMT,1,1,1694,2.8,CSH,12 +CMT,1,1,1498,4.9,CSH,19.5 +CMT,1,1,1076,3.3,CSH,14.5 +CMT,1,1,422,1.2,CSH,7 +CMT,1,1,541,1,CSH,7.5 +CMT,1,1,513,2.9,CSH,10.5 +CMT,1,1,174,1,CRD,5.5 +CMT,1,1,787,3.7,CSH,13.5 +CMT,1,1,525,1.5,CSH,8.5 +CMT,1,1,1264,9.9,CSH,29.5 +CMT,1,1,384,0.9,CSH,6 +CMT,1,1,547,1.8,CRD,8.5 +CMT,1,1,817,2.2,CSH,11 +CMT,1,1,1426,5.6,CRD,21 +CMT,1,1,4,0,NOC,2.5 +CMT,1,1,1007,2.6,CRD,13.5 +CMT,1,1,1151,3,CRD,14.5 +CMT,1,1,927,1.6,CSH,11 +CMT,1,1,286,1,CRD,6 +CMT,1,1,688,0.8,CRD,8.5 +CMT,1,1,541,2.6,CSH,9.5 +CMT,1,1,474,1.6,CRD,8 +CMT,1,1,715,1.4,CRD,9.5 +CMT,1,2,289,0.2,CSH,4.5 +CMT,1,1,828,2.5,CRD,11.5 +CMT,1,1,738,1.5,CSH,9.5 +CMT,1,2,1308,11.9,CSH,33.5 +CMT,1,1,378,1.4,CSH,7 +CMT,1,1,122,0.6,CSH,4 +CMT,1,1,814,1.6,CSH,10 +CMT,1,1,1220,1.6,CRD,13.5 +CMT,1,1,426,0.6,CRD,6 +CMT,1,1,577,2.6,CSH,10.5 +CMT,1,1,378,1.5,CSH,7.5 +CMT,1,2,206,0.5,CRD,4.5 +CMT,1,2,404,1.4,CRD,7 +CMT,1,2,250,0.5,CSH,4.5 +CMT,1,1,148,0.4,CRD,4 +CMT,1,1,496,1.5,CRD,8 +CMT,1,2,860,2.6,CSH,12 +CMT,1,1,308,1.1,CRD,6 +CMT,1,1,501,2.8,CRD,10 +CMT,1,2,683,2.6,CRD,11 +CMT,1,1,645,1.5,CRD,9 +CMT,1,1,238,0.6,CSH,5 +CMT,1,1,242,0.6,CSH,5 +CMT,1,1,357,0.9,CSH,6 +CMT,1,1,584,1.5,CRD,8.5 +CMT,1,2,910,2.4,CRD,11.5 +CMT,1,1,357,1.1,CSH,6.5 +CMT,1,1,381,1.6,CSH,7 +CMT,1,1,856,5.3,CRD,17 +CMT,1,1,143,0.6,CSH,4 +CMT,1,1,1069,8.2,CSH,24.5 +CMT,1,1,765,2.4,CRD,11 +CMT,1,1,836,1.2,CSH,10 +CMT,1,1,825,4.6,CSH,16 +CMT,1,1,297,1.2,CSH,6.5 +CMT,1,1,152,0.5,CSH,4.5 +CMT,1,2,1308,9.1,CRD,27 +CMT,1,1,340,0.9,CRD,6 +CMT,1,1,487,1.3,CRD,7.5 +CMT,1,1,790,1.3,CRD,9.5 +CMT,1,1,677,2.5,CRD,11 +CMT,1,2,769,1.2,CRD,9.5 +CMT,1,1,354,1.9,CRD,7.5 +CMT,1,2,605,2.1,CRD,9.5 +CMT,1,1,1105,2.8,CRD,14 +CMT,1,1,895,3.4,CRD,14 +CMT,1,1,646,2.5,CRD,11 +CMT,1,1,546,1.4,CRD,8.5 +CMT,1,1,330,0.4,CRD,5.5 +CMT,1,1,335,1.7,CRD,7 +CMT,1,1,634,1.4,CRD,9 +CMT,1,1,411,1.3,CSH,7 +CMT,1,2,733,1.6,CRD,9 +CMT,1,1,654,1.4,CRD,9 +CMT,1,1,468,0.9,CRD,7 +CMT,1,1,539,1.2,CSH,8 +CMT,1,1,738,1.3,CRD,9.5 +CMT,1,1,1328,14.8,CSH,40.5 +CMT,1,2,470,5.1,CSH,16 +CMT,1,1,254,1.1,CRD,5.5 +CMT,5,1,41,0,CRD,38.3 +CMT,1,1,645,1.9,CRD,9.5 +CMT,1,1,596,0.6,NOC,7.5 +CMT,1,1,1255,4.5,CRD,18 +CMT,1,1,898,4.7,CRD,16 +CMT,1,1,445,1,CSH,7 +CMT,1,1,674,1.9,CRD,9.5 +CMT,1,1,297,0.5,CRD,5 +CMT,1,1,934,3.2,CRD,13 +CMT,1,1,1546,2.9,CRD,17.5 +CMT,1,1,685,1,CRD,8.5 +CMT,1,1,297,1,CRD,6 +CMT,1,1,672,1.4,CSH,9 +CMT,1,1,929,2.1,CRD,12 +CMT,1,2,2286,7.9,CRD,29 +CMT,1,1,74,0.4,CSH,3.5 +CMT,1,1,992,3.7,CRD,14.5 +CMT,1,1,791,1.6,CRD,10.5 +CMT,1,1,135,0.5,CRD,4 +CMT,1,1,378,1.1,CSH,6.5 +CMT,1,1,117,0.5,CSH,4 +CMT,1,1,1735,5.7,CRD,23.5 +CMT,1,1,536,1.5,CSH,8 +CMT,1,1,556,1.2,CSH,8 +CMT,1,1,449,0.8,CSH,6.5 +CMT,1,2,604,1.3,CSH,8 +CMT,1,3,937,4.7,CSH,16.5 +CMT,1,1,655,1.7,CRD,9 +CMT,1,1,130,0.2,CSH,3.5 +CMT,1,1,140,0.3,CRD,3.5 +CMT,1,1,253,0.4,CRD,4.5 +CMT,1,1,985,1.5,CRD,11.5 +CMT,1,1,271,1.4,CRD,6 +CMT,1,1,373,1.9,CRD,7.5 +CMT,1,2,556,3.2,CRD,11 +CMT,1,3,785,4.1,NOC,14 +CMT,5,1,16,0,CRD,20 +CMT,1,2,1391,4.2,CSH,18.5 +CMT,1,4,5889,1.5,CSH,8 +CMT,1,1,462,1.1,CSH,7 +CMT,1,1,348,1.4,CSH,6.5 +CMT,1,1,1286,3.7,CRD,17 +CMT,1,1,289,1.4,CSH,7 +CMT,1,1,786,2.8,CSH,12 +CMT,1,1,621,1.7,CSH,9.5 +CMT,1,1,962,3.3,CSH,14.5 +CMT,1,1,2330,5.4,CRD,27 +CMT,1,1,869,1.9,CSH,11.5 +CMT,1,1,530,1.1,CSH,7.5 +CMT,1,1,373,0.9,CRD,6 +CMT,1,1,263,1,CSH,6 +CMT,1,3,1077,1.7,CRD,12 +CMT,1,1,518,1.5,CSH,8 +CMT,1,1,447,1.4,CSH,7 +CMT,1,4,1233,2.2,CRD,14.5 +CMT,1,1,235,1.7,CRD,7 +CMT,1,1,727,2.1,CSH,10.5 +CMT,1,1,407,0.8,CRD,6.5 +CMT,1,1,497,1.9,CRD,9 +CMT,1,1,339,0.2,CSH,5 +CMT,1,1,360,0.8,CSH,6 +CMT,1,1,637,1.3,CRD,8.5 +CMT,1,1,891,1.2,CRD,10 +CMT,1,1,903,3.1,CSH,13.5 +CMT,1,1,235,0.6,CRD,4.5 +CMT,1,1,494,1.5,CRD,7.5 +CMT,1,1,672,0.8,CRD,8 +CMT,1,1,158,0.6,CSH,4 +CMT,1,1,453,1.2,CSH,6.5 +CMT,1,1,709,3.3,CRD,12 +CMT,1,1,371,0.7,CRD,6 +CMT,1,1,628,12.6,CSH,2.5 +CMT,1,1,1171,1.6,CRD,13 +CMT,1,1,1240,3,CSH,14.5 +CMT,1,1,683,1.6,CSH,9 +CMT,1,1,1446,2.5,CRD,16.5 +CMT,1,1,1336,5.5,CRD,20.5 +CMT,2,2,1163,17.9,CRD,52 +CMT,1,1,147,0.5,CSH,4 +CMT,1,1,330,1.3,CRD,7 +CMT,1,1,2063,8.1,CRD,31 +CMT,1,1,1055,5,CRD,18 +CMT,1,1,210,0.8,CSH,5 +CMT,1,1,786,1.5,CSH,10.5 +CMT,1,1,165,0.6,NOC,4 +CMT,1,3,310,0.9,CRD,6 +CMT,1,1,379,0.5,CSH,5.5 +CMT,1,1,340,0.7,CSH,5.5 +CMT,1,1,1360,3.3,CRD,15.5 +CMT,1,1,117,0.6,CRD,4 +CMT,1,1,1106,7.2,CRD,22.5 +CMT,1,1,979,3.3,CRD,13.5 +CMT,1,1,1901,5.8,CRD,23 +CMT,1,1,241,0.7,CSH,4.5 +CMT,1,1,159,0.4,CSH,4 +CMT,1,1,524,1.5,CRD,8 +CMT,1,1,766,1.3,CSH,9.5 +CMT,1,1,245,0.5,CSH,4.5 +CMT,1,1,740,0.8,CRD,9 +CMT,1,1,274,1,CRD,5.5 +CMT,1,1,405,1.8,CRD,7.5 +CMT,1,1,630,1.2,CSH,8.5 +CMT,1,1,411,0.7,CRD,6.5 +CMT,1,1,539,1.6,CRD,8.5 +CMT,1,1,1192,2.4,CRD,14 +CMT,1,1,418,0.9,CSH,6.5 +CMT,1,1,1200,2.6,CRD,14 +CMT,1,1,306,0.5,CRD,5 +CMT,1,1,447,1.3,CRD,7 +CMT,1,1,588,1.7,CRD,8.5 +CMT,1,1,259,1.1,CSH,5.5 +CMT,1,1,400,1.4,CRD,7 +CMT,1,1,476,1.6,CSH,7.5 +CMT,1,1,654,0.7,CRD,8 +CMT,1,1,678,1.4,CSH,9 +CMT,1,1,824,2.9,CSH,12 +CMT,1,3,601,1.7,CRD,9 +CMT,1,3,285,0.7,CRD,5 +CMT,1,1,585,1.7,CSH,9 +CMT,1,1,656,3.3,CSH,12 +CMT,1,1,104,0.7,CRD,4 +CMT,1,1,275,0.7,CSH,5 +CMT,1,1,330,1.1,CRD,6 +CMT,1,1,760,1.5,CRD,10 +CMT,1,1,313,1.4,CSH,6.5 +CMT,1,1,1681,7.2,CRD,25.5 +CMT,1,2,503,1.2,CSH,7.5 +CMT,1,1,1914,5.7,CSH,23 +CMT,1,2,518,1.9,CSH,9 +CMT,1,1,316,0.8,CRD,5.5 +CMT,1,1,555,1.4,CSH,8 +CMT,1,1,302,1.5,CRD,7 +CMT,1,1,366,1.5,CSH,7.5 +CMT,1,1,307,0.9,CSH,5.5 +CMT,1,2,592,1.8,CSH,9 +CMT,1,1,994,4.8,CSH,17.5 +CMT,1,1,651,1.8,CRD,9.5 +CMT,1,1,57,0.2,NOC,3 +CMT,1,1,1491,9.9,CSH,30.5 +CMT,1,1,406,1.2,CSH,6.5 +CMT,1,1,358,0.7,CSH,5.5 +CMT,1,1,1645,5.1,CSH,22.5 +CMT,1,1,427,1.5,CRD,8 +CMT,1,1,515,1.8,CSH,8.5 +CMT,1,1,605,1.5,CRD,9 +CMT,1,1,1143,1.5,CSH,12.5 +CMT,1,1,562,1.9,CSH,9 +CMT,1,1,100,0.4,CSH,3.5 +CMT,1,1,682,1.2,CSH,8.5 +CMT,1,1,911,1.4,CRD,10.5 +CMT,1,1,514,1.8,CSH,9 +CMT,1,1,618,2.9,CRD,11 +CMT,1,2,197,0.7,CRD,4.5 +CMT,1,1,1079,3.9,CRD,16 +CMT,1,1,949,2.5,CSH,13.5 +CMT,1,1,1216,0.8,CSH,5.5 +CMT,1,1,636,2.5,CRD,10.5 +CMT,1,1,1004,4.3,CRD,15.5 +CMT,1,1,815,2.7,CRD,12.5 +CMT,1,2,1227,4.1,CSH,17.5 +CMT,1,2,690,1.6,CRD,9.5 +CMT,1,1,199,0.6,CSH,4.5 +CMT,1,1,1367,3.1,CRD,17 +CMT,1,1,221,0.7,CSH,5 +CMT,1,1,582,1.6,CRD,8.5 +CMT,1,1,887,4.5,CSH,16 +CMT,1,2,210,1,CRD,5 +CMT,1,1,459,2.1,CRD,8.5 +CMT,1,1,549,2.7,CRD,10 +CMT,1,2,415,1.8,CRD,8 +CMT,1,1,401,2.2,CSH,8.5 +CMT,1,1,949,4.7,CRD,16.5 +CMT,1,1,321,1.6,CRD,7 +CMT,1,1,138,0.4,CSH,3.5 +CMT,1,1,871,2.3,CSH,11.5 +CMT,1,1,350,0.9,CRD,6 +CMT,1,1,1088,1.5,CSH,12.5 +CMT,1,1,642,2.7,CSH,11 +CMT,1,1,410,1.3,CRD,7 +CMT,1,1,341,1.2,CRD,6.5 +CMT,1,1,509,1.3,CSH,7.5 +CMT,1,1,1087,2.2,CRD,12.5 +CMT,1,1,936,3.7,CRD,15 +CMT,1,2,306,1,CRD,6 +CMT,2,2,2014,18.1,CRD,52 +CMT,1,1,170,0.8,CSH,4.5 +CMT,1,2,675,1.6,CRD,9 +CMT,1,2,587,1.7,CSH,9 +CMT,1,1,797,1,CRD,9.5 +CMT,1,1,1001,3.2,CSH,14 +CMT,5,2,1486,6.4,CRD,60 +CMT,1,1,123,0.3,CSH,3.5 +CMT,1,1,1102,4,CSH,15.5 +CMT,2,1,1208,16.7,CSH,52 +CMT,1,3,294,1,CSH,6 +CMT,1,1,821,6,CSH,19.5 +CMT,1,2,270,0.6,CSH,5 +CMT,1,1,948,2.6,CSH,12.5 +CMT,1,2,435,1.4,CRD,7.5 +CMT,1,1,315,1.3,CSH,6.5 +CMT,1,2,636,2.4,CSH,11 +CMT,1,1,561,1.4,CSH,8 +CMT,1,1,1370,3.7,CSH,17 +CMT,1,1,617,2.6,CRD,10.5 +CMT,1,1,540,2.5,CRD,10.5 +CMT,1,1,610,2.6,CSH,10.5 +CMT,1,1,274,0.6,CRD,5 +CMT,1,1,391,0.8,CRD,6 +CMT,1,1,1528,4.6,CSH,20 +CMT,1,1,1021,2.2,CSH,12 +CMT,1,1,834,1.9,CRD,11 +CMT,1,1,1106,6.4,CRD,21.5 +CMT,1,2,836,2.7,CSH,12 +CMT,1,2,344,1.1,CSH,6 +CMT,1,2,689,1.4,CRD,9 +CMT,1,1,294,1,CRD,6 +CMT,1,1,555,3.1,CSH,11 +CMT,1,1,363,0.7,CRD,5.5 +CMT,1,1,793,1,CRD,9.5 +CMT,1,1,499,1.7,CSH,8 +CMT,1,1,539,1.2,CRD,8 +CMT,1,1,289,1.1,CRD,6 +CMT,1,1,882,2.4,CSH,12 +CMT,1,2,395,1.4,CRD,7 +CMT,1,2,1475,5.8,CRD,22 +CMT,1,2,880,2.6,CSH,12 +CMT,1,1,1046,7.9,CRD,23 +CMT,1,1,971,6.8,CSH,21.5 +CMT,1,1,85,0.4,CRD,3.5 +CMT,1,1,1551,5.1,CRD,21 +CMT,1,1,710,1.8,CRD,9.5 +CMT,1,1,1029,3.4,CRD,15 +CMT,1,1,315,0.8,CSH,5.5 +CMT,1,1,325,0.9,CRD,6 +CMT,1,2,1229,5.5,CRD,20 +CMT,1,1,176,0.4,CSH,4 +CMT,1,1,166,0.5,CSH,4.5 +CMT,1,1,545,2.1,CRD,9 +CMT,1,1,1066,1.7,CSH,12 +CMT,1,2,394,1.4,CRD,7.5 +CMT,1,1,607,3,CSH,11 +CMT,1,1,184,0.8,CSH,4.5 +CMT,1,1,585,2,CSH,9.5 +CMT,1,1,546,1.3,CRD,8 +CMT,1,1,663,1.5,CSH,9 +CMT,1,1,1411,4.3,CSH,18.5 +CMT,1,1,472,1.1,CSH,7 +CMT,1,1,784,3.1,CSH,12.5 +CMT,1,2,663,0.8,CSH,8 +CMT,1,1,606,1.4,CSH,8 +CMT,1,1,590,0.8,CRD,7.5 +CMT,1,2,1222,3.2,CRD,15 +CMT,1,1,1129,4.4,CRD,16.5 +CMT,1,1,939,2.6,CRD,13 +CMT,1,1,769,3.5,CRD,13.5 +CMT,1,1,641,2.3,CRD,10 +CMT,1,1,822,2.2,CRD,11 +CMT,1,1,1156,4.2,CRD,17 +CMT,1,1,1240,6.7,CRD,23 +CMT,1,1,726,2.5,CSH,11 +CMT,1,1,750,1.6,CRD,9.5 +CMT,1,3,420,0.8,CSH,6.5 +CMT,1,1,1538,5.1,NOC,15.5 +CMT,1,1,603,3.2,CRD,12 +CMT,1,1,1041,2.7,CSH,13 +CMT,1,1,386,1,CSH,6 +CMT,1,1,574,3.6,CRD,12.5 +CMT,1,1,865,5.3,CRD,17 +CMT,1,1,1256,5.8,CSH,20 +CMT,1,1,438,1.6,CRD,7.5 +CMT,1,1,509,1.1,CSH,7.5 +CMT,1,1,830,6.1,CRD,19 +CMT,1,1,351,1.9,CRD,7.5 +CMT,1,1,642,2,CSH,10 +CMT,1,1,1040,4.4,CRD,16 +CMT,1,1,929,3.6,CRD,14 +CMT,1,1,318,1.3,CSH,6 +CMT,1,3,356,0.8,CRD,5.5 +CMT,1,1,510,1,CRD,7.5 +CMT,1,1,787,2.7,CRD,12 +CMT,1,1,1253,6,CRD,22 +CMT,1,1,853,4.4,CRD,15 +CMT,1,1,710,1.3,CSH,9 +CMT,1,1,154,0.4,CRD,4 +CMT,1,1,208,0.8,CSH,5 +CMT,1,1,337,1.1,CRD,6 +CMT,1,1,366,0.9,CSH,6 +CMT,1,1,33,0,NOC,2.5 +CMT,1,3,360,0.8,CRD,6 +CMT,1,1,217,0.8,CSH,5 +CMT,1,2,394,1.5,CSH,7 +CMT,1,2,1040,3.6,CSH,15.5 +CMT,1,1,152,0.5,CRD,4 +CMT,1,2,618,4.3,CSH,13.5 +CMT,1,2,198,0.9,CSH,5 +CMT,1,2,656,2.3,CSH,10.5 +CMT,1,1,744,3.6,CRD,13 +CMT,1,2,362,1.1,CSH,6.5 +CMT,1,1,552,1.5,CSH,8 +CMT,1,2,276,0.7,CRD,5.5 +CMT,1,1,1057,6.6,CSH,21.5 +CMT,1,1,1375,7.4,CSH,11 +CMT,1,1,226,0.5,CSH,4.5 +CMT,1,1,734,2.1,CSH,10.5 +CMT,1,1,837,3.1,CRD,12.5 +CMT,1,1,501,1.3,CSH,7.5 +CMT,1,1,330,0.6,CSH,5.5 +CMT,1,1,1680,14.5,CRD,42 +CMT,1,1,2632,10.3,CRD,37 +CMT,1,1,309,1,CRD,5.5 +CMT,1,1,621,2.7,CRD,11 +CMT,1,1,699,2.1,CSH,10 +CMT,1,1,719,1.9,CRD,10 +CMT,1,1,517,1.8,CSH,8.5 +CMT,1,2,431,1.8,CRD,8 +CMT,1,1,995,5.7,CSH,19.5 +CMT,1,1,841,4.5,CRD,16 +CMT,5,1,819,5,CRD,52 +CMT,1,2,235,0.4,CRD,4.5 +CMT,1,2,544,2.5,CRD,10 +CMT,1,1,230,0.7,CRD,4.5 +CMT,1,2,609,1.9,CSH,9 +CMT,1,2,1407,5.1,CSH,20 +CMT,1,1,1659,4.4,CRD,20 +CMT,1,1,224,1,CRD,5.5 +CMT,1,1,393,1,CSH,6.5 +CMT,1,2,474,1.6,CRD,8 +CMT,1,2,168,0.7,CSH,4 +CMT,1,1,283,0.9,CSH,5.5 +CMT,1,1,377,0.8,CSH,6 +CMT,1,1,1379,5.6,CRD,20 +CMT,1,1,694,2.7,CRD,11 +CMT,1,1,458,1.3,CRD,7.5 +CMT,1,1,269,0.4,CSH,4.5 +CMT,1,1,921,1.7,CSH,11.5 +CMT,1,1,911,17.2,NOC,2.5 +CMT,1,1,421,1.3,CSH,7 +CMT,1,1,436,1.7,CSH,8 +CMT,1,1,660,2.2,CRD,10.5 +CMT,1,1,331,0.8,CRD,5.5 +CMT,1,1,708,2,CRD,10.5 +CMT,1,4,825,2.2,CSH,11 +CMT,1,1,499,2.3,CRD,9.5 +CMT,1,2,1099,3.7,CRD,15.5 +CMT,1,1,563,2.9,CRD,10.5 +VTS,1,1,720,1.47,CRD,9 +VTS,5,1,3480,42.93,CSH,140 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,900,5.47,CRD,18.5 +VTS,1,1,840,2.79,CSH,12 +VTS,1,1,1200,2.79,CRD,14 +VTS,1,1,2340,4.98,CSH,22.5 +VTS,1,1,360,1.19,CRD,6 +VTS,1,1,540,1.43,CSH,7.5 +VTS,1,1,240,0.57,CRD,5 +VTS,1,1,840,3.76,CRD,14.5 +VTS,1,1,720,1.45,CSH,9 +VTS,1,1,600,2.55,CRD,10 +VTS,1,1,480,1.24,CRD,7 +VTS,1,1,540,1.28,CRD,8 +VTS,1,1,1380,2.86,CRD,17 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,1,1560,6.93,CSH,23 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,1,0,0.09,CSH,2.5 +CMT,1,1,278,0.7,CSH,5 +CMT,1,1,204,0.5,CRD,4.5 +CMT,1,1,1632,6.6,CRD,24 +CMT,1,1,1111,7.1,CSH,23 +CMT,1,2,605,0.5,CSH,7.5 +CMT,1,1,315,0.9,CSH,5.5 +CMT,1,2,152,0.6,CRD,4 +CMT,1,1,611,4.3,CRD,14 +CMT,1,2,360,1.1,CRD,6.5 +CMT,1,1,740,2.7,CRD,12 +CMT,1,2,412,1.4,CSH,7 +VTS,1,1,480,1.79,CSH,8.5 +VTS,1,1,660,1.63,CSH,9.5 +VTS,1,1,1080,3.28,CRD,14.5 +VTS,1,1,660,1.78,CRD,9.5 +VTS,1,1,540,1.18,CSH,8 +VTS,1,1,780,3.43,CSH,13 +VTS,1,1,720,4.09,CSH,13.5 +VTS,1,1,660,1.84,CSH,9.5 +VTS,1,1,1020,1.51,CSH,12 +VTS,1,1,360,1.65,CSH,7 +VTS,1,1,300,1.06,CRD,6 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,600,1.38,CRD,8.5 +VTS,1,1,540,1.28,CRD,8 +VTS,1,1,480,1.38,CRD,7 +CMT,1,1,265,1.3,CRD,6 +CMT,1,1,535,1.7,CRD,8.5 +CMT,1,1,682,2.1,CRD,10.5 +CMT,1,1,722,5.5,CRD,17.5 +CMT,1,1,64,0.1,CSH,3 +CMT,1,1,1211,5.8,CSH,7 +CMT,1,2,383,1.5,CSH,7 +CMT,1,1,146,0.8,CRD,4.5 +CMT,1,1,1575,2.4,CRD,17.5 +CMT,1,1,220,0.6,CSH,4.5 +CMT,1,1,165,0.5,CSH,4 +CMT,1,1,157,0.6,CRD,4 +CMT,1,1,1095,2.8,CRD,13.5 +CMT,1,1,671,2.5,CSH,11 +CMT,1,1,810,2.4,CSH,11.5 +CMT,1,1,406,1.2,CRD,6.5 +CMT,1,1,478,1.6,CSH,8 +CMT,2,1,1895,18,CRD,52 +CMT,1,3,427,0.9,CSH,6.5 +CMT,1,1,1100,3.7,CRD,15 +VTS,1,1,600,1.83,CSH,8.5 +VTS,1,1,480,1.4,CRD,7.5 +VTS,1,1,1500,10.36,CRD,30.5 +VTS,1,1,720,1.62,CRD,9.5 +VTS,1,1,540,1.27,CSH,7.5 +VTS,1,1,660,1.29,CRD,8.5 +CMT,1,1,625,2.3,CRD,9.5 +CMT,2,1,2211,20.2,CRD,52 +CMT,1,1,174,0.5,CSH,4 +CMT,1,1,568,1.1,CRD,8 +CMT,1,2,1402,11.7,CSH,34 +CMT,1,3,889,4.1,CSH,15.5 +CMT,1,1,518,1.9,CRD,9 +VTS,1,1,660,1.16,CSH,8.5 +VTS,1,1,360,1.01,CRD,6 +VTS,1,1,240,0.76,CRD,5 +VTS,1,1,960,3.96,CRD,15.5 +VTS,1,1,2340,9.95,CSH,35 +VTS,1,1,480,1.87,CRD,8.5 +VTS,1,1,420,2.11,CRD,8.5 +VTS,1,1,360,2.07,CSH,8 +VTS,1,1,900,2.46,CSH,12 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,1,480,1.26,CRD,7.5 +VTS,1,1,180,0.95,CSH,5.5 +VTS,1,1,780,1.54,CSH,10 +VTS,1,1,420,2.18,CSH,8.5 +VTS,1,1,1500,8.61,CSH,28 +VTS,1,1,1920,9.93,CRD,33.5 +VTS,1,1,780,1.59,CRD,9.5 +VTS,1,1,180,0.53,CRD,4 +VTS,1,1,480,1.59,CSH,8 +CMT,1,1,1372,1.5,CSH,14.5 +CMT,1,1,248,0.5,CRD,4.5 +CMT,1,1,77,0.3,CSH,3 +CMT,1,1,670,1.3,CRD,9 +CMT,1,1,516,1.4,CRD,8 +CMT,1,1,86,0.2,CSH,3 +CMT,1,1,1005,2.2,CRD,12 +CMT,1,1,262,0.9,CRD,5 +CMT,1,1,116,0.3,CSH,3.5 +CMT,1,1,172,0.5,CRD,4.5 +CMT,1,1,881,2,CRD,12 +CMT,1,1,366,0.4,CSH,5.5 +CMT,1,1,769,2.2,CSH,11 +CMT,1,1,439,0.8,CSH,6.5 +CMT,1,1,813,0.9,CSH,9.5 +CMT,1,3,1222,4.9,CSH,19 +CMT,2,2,2265,19.3,CRD,52 +CMT,1,1,688,1.9,CSH,10 +CMT,1,3,335,0.7,CRD,5.5 +CMT,1,3,928,3.3,CSH,13.5 +CMT,1,1,456,1.7,CSH,8 +CMT,1,1,936,4.9,CRD,17.5 +CMT,1,2,333,0.7,CSH,5.5 +CMT,1,1,376,0.7,CRD,5.5 +CMT,1,1,443,1.5,CRD,8 +CMT,1,1,343,1.1,CSH,6.5 +CMT,1,1,871,2.4,CSH,12 +CMT,1,1,567,1.9,CSH,9 +CMT,1,3,530,1.7,CSH,8.5 +CMT,1,1,210,0.8,CRD,4.5 +CMT,1,3,268,0.8,CSH,5.5 +CMT,1,2,187,0.6,CSH,4.5 +CMT,1,2,735,2.9,CRD,11.5 +CMT,1,2,476,2.5,CRD,9.5 +VTS,1,1,1080,1.9,CRD,13 +VTS,1,1,360,0.72,CSH,6 +VTS,1,1,180,0.77,CRD,4.5 +VTS,1,1,900,3.49,CSH,14 +VTS,1,1,1440,5.31,CSH,20 +VTS,1,1,600,2.86,CSH,10.5 +VTS,1,1,960,3.19,CRD,14 +VTS,1,1,660,1.91,CSH,10 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,780,4.53,CSH,15 +VTS,1,1,420,1.24,CRD,7 +VTS,1,1,720,2.12,CSH,10 +VTS,1,1,1500,9.83,CRD,31.5 +VTS,1,1,300,1.11,CSH,5.5 +VTS,1,1,1080,2.06,CSH,12.5 +VTS,1,1,420,1.52,CSH,7.5 +VTS,1,1,1200,4.99,CRD,18 +VTS,1,1,840,4.64,CSH,15.5 +CMT,1,1,311,2,CRD,8 +CMT,1,1,1204,13.1,CSH,36 +CMT,1,1,1028,1.7,CRD,12 +CMT,1,2,924,4.6,CRD,17 +CMT,1,1,541,0.9,CRD,7.5 +CMT,1,1,325,0.6,CRD,5 +CMT,1,1,257,0.4,CSH,4.5 +CMT,1,1,433,1.6,CSH,8 +CMT,1,1,506,2.5,CRD,10 +CMT,1,1,595,2.6,CRD,10 +CMT,1,1,1069,4,CSH,15 +CMT,1,1,1139,8.8,CSH,25.5 +VTS,1,1,1440,7.1,CRD,24.5 +VTS,1,1,1020,3.54,CRD,14.5 +VTS,1,1,360,1.18,CRD,6 +VTS,1,1,300,1.42,CSH,7 +VTS,1,1,600,1.28,CSH,6.5 +VTS,1,1,840,1.8,CRD,10.5 +VTS,1,1,720,2.97,CRD,11.5 +VTS,1,1,960,4.36,CRD,16 +VTS,1,1,180,0.46,CSH,4.5 +VTS,1,1,360,1.39,CRD,7 +VTS,1,1,1080,2.28,CSH,13 +VTS,1,1,1140,2.04,CSH,13 +VTS,1,1,780,2.37,CSH,10.5 +VTS,1,1,600,1.6,CRD,8.5 +CMT,1,1,589,1.9,CRD,9 +CMT,1,2,299,1.5,CSH,7 +CMT,1,1,206,0.5,CSH,4.5 +CMT,1,1,966,2.2,CSH,12 +CMT,1,2,1149,5.1,CRD,18.5 +CMT,1,2,844,2.7,CSH,12 +CMT,1,1,557,1.6,CRD,8.5 +CMT,1,1,1208,1.7,CSH,13.5 +CMT,1,1,279,0.5,CRD,5 +CMT,1,1,470,0.9,CRD,6.5 +CMT,1,1,1138,2.1,CSH,13 +CMT,1,1,690,1.6,CSH,9.5 +CMT,1,1,460,1.2,CRD,7.5 +CMT,1,1,950,3.6,CSH,15 +CMT,1,1,311,1.1,CSH,6.5 +CMT,1,1,640,1.9,CRD,9.5 +CMT,1,1,645,1.8,CRD,9.5 +CMT,1,1,1325,3.2,CRD,16 +CMT,1,1,470,1,CSH,7 +CMT,1,1,284,2.2,CSH,8 +CMT,1,1,436,1,CSH,7 +CMT,1,2,23,0.2,NOC,2.5 +CMT,1,4,1038,9,CSH,26.5 +CMT,1,1,2299,7.3,CRD,29 +CMT,1,1,347,1.2,CRD,6.5 +CMT,1,1,446,1.1,CSH,7 +VTS,1,1,660,1.41,CRD,9 +VTS,1,1,1920,9.53,CSH,30 +VTS,1,1,300,2.03,CSH,7.5 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,480,2.17,CSH,8.5 +VTS,1,1,360,0.94,CSH,6 +VTS,1,1,300,1.01,CRD,6 +VTS,1,1,780,3.41,CRD,13 +VTS,1,1,540,2.14,CRD,9 +VTS,1,1,660,1.95,CSH,9.5 +VTS,1,1,600,2.52,CSH,10.5 +VTS,1,1,900,3.48,CRD,13.5 +VTS,1,1,300,1.18,CRD,6 +VTS,1,1,1560,3.29,CRD,17.5 +VTS,1,1,480,1.01,CSH,6.5 +VTS,1,1,1380,6.25,CRD,21.5 +VTS,1,1,840,1.81,CRD,7.5 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,600,1.89,CSH,9 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,180,0.55,CSH,4 +VTS,1,1,240,0.37,CSH,4 +VTS,1,1,540,2.45,CSH,10 +VTS,1,1,660,1.05,CSH,8 +VTS,1,1,720,2.08,CRD,10.5 +VTS,1,1,540,1.01,CRD,7 +VTS,1,1,360,2.46,CRD,9 +VTS,1,1,540,1.05,CRD,7.5 +VTS,1,1,600,2.05,CSH,9 +VTS,1,1,660,2.67,CRD,11.5 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,1320,5.89,CRD,20.5 +VTS,1,1,780,2.5,CSH,11.5 +VTS,1,1,420,0.85,CRD,6 +VTS,1,1,360,1.31,CSH,6.5 +VTS,1,1,180,0.5,CSH,4 +VTS,1,1,600,1.73,CRD,9 +VTS,1,1,720,2.93,CRD,11.5 +VTS,1,1,720,3.02,CSH,12 +VTS,1,1,600,1.74,CRD,9 +VTS,1,1,300,0.87,CSH,6 +VTS,1,1,540,1.87,CRD,8.5 +VTS,1,1,300,1.95,CRD,8 +VTS,1,1,240,1.33,CSH,6 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,600,1.66,CRD,8 +VTS,1,1,360,0.89,CRD,6 +VTS,1,1,540,0.98,CSH,7 +VTS,1,1,180,0.71,CRD,4 +VTS,1,1,540,2.8,CRD,10.5 +VTS,1,1,960,1.91,CSH,11.5 +VTS,1,1,720,2.22,CRD,10 +CMT,1,2,524,1,CRD,7.5 +CMT,1,1,780,1.7,CSH,10 +CMT,1,1,434,1.4,CRD,7 +CMT,1,1,401,1.2,CRD,7 +CMT,1,3,748,2.9,CSH,12 +CMT,1,2,410,1.2,CRD,7 +CMT,1,1,247,0.9,CRD,5.5 +CMT,2,2,1561,17.5,CSH,52 +CMT,1,1,378,0.9,CRD,6 +CMT,1,1,789,4.3,CSH,15 +CMT,1,1,214,0.7,CRD,5 +CMT,1,1,749,4.9,CRD,16 +CMT,1,1,649,1.7,CSH,9.5 +CMT,1,1,286,1.1,CRD,5.5 +CMT,1,1,667,1.1,CSH,8.5 +CMT,1,2,878,2.7,CSH,12 +CMT,1,1,719,3.4,CRD,13.5 +CMT,1,1,336,1.5,CRD,7 +VTS,1,1,660,3,CRD,11.5 +VTS,1,1,180,0.84,CRD,4.5 +VTS,1,1,3120,8.96,CSH,39 +VTS,1,1,720,2.97,CRD,12 +VTS,1,1,780,2.38,CRD,11 +VTS,1,1,360,0.84,CSH,5.5 +VTS,1,1,600,1.27,CSH,8 +VTS,1,1,1080,3.61,CSH,15 +VTS,1,1,540,1.43,CRD,8 +VTS,2,1,2040,17.19,CRD,52 +VTS,1,1,360,1,CRD,6 +VTS,1,1,1140,12.18,CRD,33.5 +VTS,1,1,540,1.1,CSH,7 +VTS,1,1,360,1.56,CRD,7 +VTS,1,1,1440,3.92,CRD,17.5 +VTS,1,1,420,1.37,CRD,7 +VTS,1,1,540,1.94,CRD,8.5 +VTS,1,1,420,1.39,CRD,7 +VTS,1,1,660,2.21,CSH,10 +VTS,1,1,1140,2.23,CSH,13 +VTS,1,1,1020,2.49,CRD,12.5 +VTS,1,1,540,1.02,CSH,7 +VTS,1,1,960,4.22,CSH,15.5 +VTS,1,1,720,2.81,CSH,11.5 +VTS,1,1,2880,11.33,CSH,40 +VTS,1,1,360,1.85,CSH,7.5 +VTS,1,1,660,1.04,CSH,8.5 +VTS,1,1,360,1.1,CSH,6 +VTS,1,1,480,0.95,CRD,7 +VTS,1,1,1320,6.17,CSH,20.5 +VTS,1,1,1380,6.23,CRD,21 +VTS,1,1,540,1.8,CRD,8.5 +VTS,1,1,960,3.28,CRD,13.5 +VTS,1,1,720,1.99,CRD,10 +VTS,1,1,480,1.08,CSH,7 +VTS,1,1,1020,2.17,CSH,12.5 +VTS,2,1,1740,17.08,CSH,52 +VTS,1,1,600,2.17,CRD,9.5 +VTS,1,1,1560,9.9,CRD,31 +VTS,1,1,540,3.85,CRD,12.5 +VTS,1,1,1080,5.94,CSH,19.5 +VTS,1,1,420,0.92,CSH,6 +VTS,1,1,180,0.83,CSH,5 +VTS,1,1,780,1.81,CSH,10 +VTS,1,1,660,1.79,CRD,9.5 +VTS,1,1,480,1.29,CRD,7.5 +VTS,1,1,240,1.41,CSH,6 +VTS,1,1,780,2.15,CRD,10.5 +VTS,1,1,960,2.82,CRD,13 +VTS,1,1,540,1.3,CRD,7.5 +VTS,1,1,540,2.09,CRD,9 +VTS,1,1,420,1.69,CRD,7.5 +VTS,1,1,300,0.7,CSH,5 +VTS,1,1,300,0.69,CRD,5 +VTS,1,1,1860,7.12,CSH,25.5 +VTS,1,1,900,2.35,CRD,11.5 +VTS,1,1,360,1.82,CRD,7.5 +VTS,1,1,480,2.08,CRD,8.5 +VTS,1,1,180,0.91,CRD,5 +VTS,1,1,300,1.2,CRD,6 +VTS,1,1,1500,3.78,CRD,17.5 +VTS,1,1,1500,4.33,CSH,18.5 +VTS,1,1,1080,3.14,CSH,14 +VTS,1,1,1080,3.05,CRD,13.5 +VTS,1,1,1560,3.52,CRD,18 +VTS,1,1,480,1.36,CRD,7 +VTS,1,1,1260,4.25,CRD,17.5 +VTS,1,1,840,2.95,CRD,12 +VTS,1,1,420,1.31,CRD,7 +VTS,1,1,900,2.68,CRD,12.5 +VTS,1,1,540,2.17,CSH,9.5 +VTS,1,1,720,2.48,CSH,11 +VTS,1,1,1200,5,CSH,18.5 +VTS,1,1,420,1.91,CRD,8 +VTS,1,1,1320,4.63,CRD,18.5 +VTS,1,1,240,0.53,CSH,5 +VTS,1,1,420,0.77,CSH,5.5 +VTS,1,1,480,1.05,CSH,6.5 +VTS,1,1,960,3.39,CRD,13.5 +VTS,1,1,900,5.28,CRD,17 +VTS,1,1,540,1,CSH,7 +VTS,1,1,300,0.6,CRD,5 +VTS,1,1,300,0.62,CRD,5 +VTS,1,1,1800,4.27,CSH,19 +VTS,1,1,1260,11.44,CRD,32 +VTS,1,1,1620,8.58,CRD,27.5 +VTS,1,1,1440,3.78,CRD,17.5 +VTS,1,1,360,0.95,CRD,6 +VTS,2,1,1560,17.47,CSH,52 +VTS,1,1,240,1.35,CRD,6 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,480,1.03,CRD,7 +VTS,1,1,600,3.01,CSH,11 +VTS,1,1,480,1.73,CSH,8 +VTS,1,1,660,2.55,CSH,10.5 +VTS,1,1,420,3.48,CSH,11.5 +VTS,1,1,600,1.83,CRD,9 +VTS,1,1,360,0.93,CSH,6 +VTS,1,1,720,3.24,CRD,12.5 +VTS,1,1,420,1.33,CSH,7 +VTS,1,1,1320,5.27,CRD,19 +VTS,1,1,480,2.02,CRD,9 +VTS,1,1,780,3.33,CRD,12.5 +VTS,1,1,1260,2.32,CSH,13.5 +VTS,1,1,720,1.4,CRD,9 +VTS,1,1,300,1.13,CRD,6 +VTS,1,1,780,2.3,CRD,11 +VTS,1,1,840,7.54,CRD,22 +VTS,1,1,720,2.5,CSH,11 +VTS,1,1,1020,5.6,CSH,18.5 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,240,0.38,CSH,4.5 +VTS,1,1,420,0.91,CRD,6 +VTS,1,1,540,1.3,CRD,8 +VTS,1,1,180,0.52,CRD,4 +VTS,1,1,360,0.73,CSH,5.5 +VTS,1,1,120,0.5,CSH,4 +VTS,1,1,1080,1.16,CRD,12 +VTS,1,1,1080,1.99,CRD,13 +VTS,1,1,180,0.73,CRD,5 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,600,3.11,CSH,11 +VTS,1,1,1020,7.23,CRD,22 +VTS,1,1,420,1.63,CRD,7.5 +VTS,1,1,420,0.94,CRD,6 +VTS,1,1,2520,6.46,CRD,29.5 +VTS,1,1,240,0.69,CRD,4.5 +VTS,1,1,120,0.68,CSH,4 +VTS,1,1,840,2.71,CRD,11.5 +VTS,1,1,1020,4.51,CSH,16.5 +VTS,1,1,720,3.24,CRD,11.5 +VTS,1,1,240,1.08,CSH,5.5 +VTS,1,1,120,0.97,CRD,4.5 +VTS,1,1,1380,2.74,CRD,16 +VTS,1,1,720,0.72,CRD,8.5 +VTS,1,1,660,2.3,CRD,10 +VTS,1,1,960,6.19,CSH,18.5 +VTS,1,1,720,2.23,CSH,10 +VTS,1,1,240,0.57,CRD,4.5 +VTS,1,1,900,2.19,CRD,11.5 +VTS,1,1,840,2.71,CRD,13 +VTS,1,1,480,1.62,CRD,8 +VTS,1,1,600,2.11,CRD,10 +VTS,1,1,420,0.72,CRD,6 +VTS,1,1,300,0.69,CSH,5 +VTS,1,1,840,2.77,CSH,12.5 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,240,0.77,CSH,5 +VTS,1,1,240,0.83,CRD,5 +VTS,1,1,300,1.13,CSH,6 +VTS,1,1,660,1.71,CSH,9.5 +VTS,1,1,1260,4.31,CRD,17.5 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,1200,10.89,CRD,31 +VTS,1,1,660,3.29,CSH,12 +VTS,1,1,2040,5.7,CRD,25 +VTS,1,2,600,1.82,CSH,9 +VTS,1,1,780,3.77,CSH,13.5 +VTS,1,2,840,3.99,CRD,15 +VTS,1,2,900,4.46,CSH,16.5 +VTS,1,2,480,1.58,CRD,8 +VTS,3,2,1980,19.72,CSH,71 +VTS,2,1,1440,17.08,CSH,52 +VTS,1,2,360,1.19,CRD,6.5 +VTS,1,1,660,1.4,CSH,8.5 +VTS,1,1,780,1.53,CRD,10 +VTS,1,1,300,0.72,CSH,5.5 +VTS,1,1,360,0.54,CSH,5 +VTS,1,1,660,1.53,CSH,8 +VTS,1,1,300,0.71,CRD,5.5 +VTS,1,1,540,1.2,CSH,7.5 +VTS,1,1,780,3.43,CRD,12.5 +VTS,1,1,600,2.54,CRD,10.5 +VTS,1,1,120,0.31,CRD,3.5 +VTS,5,1,1920,15.42,CRD,50 +VTS,1,1,840,1.84,CRD,11 +VTS,1,2,2460,16.62,CRD,49 +VTS,1,2,180,1.24,CRD,5.5 +VTS,1,2,240,0.83,CSH,5 +VTS,1,2,1800,12.29,CSH,36.5 +VTS,1,2,780,6.19,CSH,19.5 +VTS,1,2,1380,8.46,CSH,27.5 +VTS,1,3,480,1.13,CRD,7.5 +VTS,1,3,300,0.99,CSH,5.5 +VTS,1,2,420,1.01,CRD,6.5 +VTS,1,2,900,3.37,CRD,14 +VTS,1,2,600,1.83,CRD,9 +VTS,1,2,660,1.22,CRD,9 +VTS,1,2,1500,4.38,CSH,20 +VTS,1,1,540,1.86,CSH,8.5 +CMT,1,3,1017,2.6,CRD,13.5 +CMT,1,2,703,1.1,CRD,8.5 +CMT,1,3,286,1,CSH,5.5 +CMT,1,2,139,0.4,CSH,4 +VTS,1,1,780,1.55,CRD,9.5 +VTS,1,1,1560,12.03,CSH,35 +VTS,1,1,1080,3.33,CRD,14.5 +VTS,1,1,720,1.41,CSH,9.5 +VTS,1,1,540,5.15,CRD,16 +VTS,1,1,480,1.94,CSH,8.5 +VTS,1,1,660,2.47,CRD,10.5 +VTS,1,1,720,2.23,CSH,10.5 +VTS,1,1,600,1.34,CRD,7.5 +VTS,1,1,1020,5.98,CSH,20.5 +VTS,1,1,600,1.77,CSH,9.5 +VTS,1,1,2040,8.74,CSH,34 +VTS,1,1,900,5.14,CRD,16.5 +VTS,1,1,360,2.63,CRD,9 +VTS,1,1,420,0.96,CRD,6 +VTS,1,1,840,2.41,CRD,11.5 +VTS,1,1,360,2.25,CSH,8.5 +VTS,1,1,360,2.57,CRD,9 +VTS,1,1,300,1.04,CSH,6 +VTS,1,1,420,1.35,CSH,7 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,900,2.34,CSH,12 +VTS,1,1,1860,6.54,CRD,26 +VTS,1,1,1260,4.95,CRD,18.5 +VTS,1,1,660,3.59,CRD,12.5 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,1440,3.42,CRD,17 +VTS,1,1,600,0.74,CRD,7 +VTS,1,1,720,1.09,CSH,9 +VTS,1,1,1620,4.87,CRD,21.5 +VTS,1,1,120,0.42,CSH,3.5 +VTS,1,1,480,0.93,CSH,7 +VTS,1,1,540,0.76,CSH,7.5 +VTS,1,1,720,2.25,CRD,10 +VTS,1,1,420,1.75,CSH,8 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,240,1.19,CRD,5.5 +VTS,1,1,600,1.07,CRD,7.5 +VTS,1,1,1860,6.05,CRD,24.5 +VTS,1,1,1380,5.37,CRD,19.5 +VTS,1,2,960,4.46,CRD,15.5 +VTS,1,1,840,2.96,CSH,12 +VTS,1,1,420,0.6,CRD,6 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,120,0.54,CSH,4 +VTS,1,1,1800,5.47,CRD,22.5 +VTS,1,1,420,0.84,CRD,6.5 +VTS,1,1,1440,3.56,CSH,17 +VTS,1,1,360,0.72,CSH,6 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,660,1.06,CSH,8 +VTS,1,1,1140,2.2,CSH,13.5 +VTS,1,1,360,0.96,CSH,6 +VTS,1,1,660,1.78,CSH,9 +VTS,1,1,480,1.03,CRD,7 +VTS,1,1,360,0.8,CSH,6 +VTS,1,1,600,2.49,CRD,10 +VTS,1,1,360,1.27,CSH,7 +VTS,1,1,1320,5.46,CRD,20 +VTS,1,1,600,1.72,CRD,9 +VTS,1,1,1140,2.48,CRD,14 +VTS,1,1,480,1.64,CSH,8 +VTS,1,1,600,2.12,CSH,9.5 +VTS,1,1,540,1.78,CSH,8.5 +VTS,1,1,660,2.63,CRD,10.5 +VTS,1,1,180,0.43,CSH,4 +VTS,1,1,360,1.29,CRD,6 +VTS,1,1,480,1.19,CRD,7.5 +VTS,1,1,420,1.12,CRD,7 +VTS,1,1,900,4.5,CRD,16 +VTS,1,1,1140,4.75,CRD,17 +VTS,1,1,1080,5.55,CSH,18.5 +VTS,1,1,840,2.63,CRD,11.5 +VTS,1,1,1080,2.49,CRD,13 +VTS,3,1,60,0.02,CSH,20.5 +VTS,3,1,2520,18.58,CRD,71.5 +VTS,1,1,660,1.94,CRD,10 +VTS,1,1,660,2.33,CRD,10 +VTS,1,1,1380,7.37,CRD,24.5 +VTS,1,1,1380,3.69,CSH,16.5 +VTS,1,1,900,2.02,CRD,11 +VTS,1,1,360,1.46,CRD,7 +VTS,1,1,720,1.83,CRD,10 +VTS,1,1,360,1.18,CRD,6 +VTS,1,1,1020,4.71,CSH,16.5 +VTS,1,1,1440,6.9,CRD,22.5 +VTS,1,1,720,1.7,CRD,9.5 +VTS,1,1,240,1.14,CRD,5.5 +VTS,1,1,600,2.06,CRD,9 +VTS,1,1,300,1.35,CSH,6.5 +VTS,1,2,540,1.26,CSH,7.5 +VTS,1,2,1380,5.89,CSH,21 +VTS,1,2,540,2.1,CSH,9 +VTS,1,1,240,0.79,CSH,5 +VTS,1,1,300,1.23,CSH,6 +VTS,1,2,360,1.55,CRD,7.5 +VTS,1,3,240,1.63,CSH,6.5 +VTS,1,2,360,2.36,CSH,9 +VTS,2,2,2220,19.3,CRD,52 +VTS,1,3,900,4.28,CSH,15.5 +VTS,1,1,420,2.13,CSH,8.5 +VTS,1,1,780,1.87,CSH,10 +VTS,1,1,540,1.07,CSH,7.5 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,1500,6.01,CSH,22.5 +VTS,1,1,1020,3.27,CSH,13.5 +VTS,1,1,360,0.89,CRD,6 +VTS,1,1,660,2.15,CRD,9.5 +VTS,1,1,540,1.63,CRD,8.5 +VTS,1,1,660,1.23,CRD,8.5 +VTS,1,1,360,1,CSH,6 +VTS,1,1,180,0.57,CRD,4.5 +VTS,1,1,360,0.92,CRD,6 +VTS,1,1,780,1.29,CRD,9.5 +VTS,1,1,660,1.9,CRD,9.5 +VTS,1,1,0,0.03,CSH,2.5 +VTS,1,1,480,1.28,CSH,7.5 +VTS,1,1,720,3.2,CSH,12 +VTS,1,1,1320,5.37,CSH,19.5 +VTS,1,1,480,1.93,CRD,8.5 +VTS,1,1,720,3.45,CRD,13 +VTS,1,1,180,0.88,CSH,5 +VTS,1,1,1680,2.98,CSH,17.5 +VTS,1,1,300,1.02,CSH,6.5 +VTS,1,1,780,3.04,CRD,12.5 +VTS,1,1,360,1.57,CSH,7 +VTS,1,1,1140,0.35,CSH,12 +VTS,1,1,300,0.7,CSH,5 +VTS,1,2,360,0.72,CSH,5.5 +VTS,1,2,840,2.13,CSH,12 +VTS,1,2,180,1.39,CSH,6 +VTS,2,2,2220,19.71,CSH,52 +VTS,1,3,120,0.44,CRD,3.5 +VTS,1,2,660,1.8,CRD,9 +VTS,1,2,360,0.89,CSH,5.5 +VTS,1,2,300,1,CSH,6 +VTS,1,3,840,2.99,CSH,13 +VTS,1,2,660,1.96,CRD,9.5 +VTS,1,2,480,0.85,CSH,6.5 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,3,600,1.22,CRD,8 +VTS,1,2,480,1.09,CRD,7 +VTS,1,2,420,1.08,CRD,6.5 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,1500,5.85,CSH,22.5 +VTS,1,3,600,2.04,CSH,9.5 +VTS,1,2,660,3.43,CSH,12.5 +VTS,1,3,600,2.14,CSH,9.5 +VTS,1,2,360,1.15,CSH,6.5 +VTS,1,1,300,0.86,CSH,5.5 +VTS,2,2,1440,18.31,CRD,52 +VTS,1,1,420,1.4,CRD,7 +VTS,1,1,780,2.5,CSH,11.5 +VTS,1,2,180,0.84,CSH,4.5 +VTS,1,2,360,2.6,CSH,9 +VTS,1,2,1380,10.59,CRD,31.5 +VTS,2,2,1560,17.7,CSH,52 +VTS,1,3,120,0.69,CSH,4.5 +VTS,1,2,600,2.17,CRD,9 +VTS,1,2,420,1.22,CSH,7 +VTS,1,2,360,1.04,CSH,6.5 +VTS,1,2,120,0.66,CSH,4.5 +VTS,1,1,660,1.47,CSH,9 +VTS,1,2,780,4.06,CSH,14.5 +VTS,1,2,420,1.65,CSH,8 +VTS,1,1,180,0.46,CSH,4 +VTS,1,3,840,3.23,CRD,12.5 +VTS,1,1,600,2.43,CRD,10 +VTS,1,2,180,0.43,CRD,4.5 +VTS,1,2,900,3.46,CSH,14 +VTS,1,3,480,1.47,CSH,8 +VTS,1,2,600,1.58,CSH,9 +VTS,1,2,420,2.16,CSH,9 +VTS,1,2,540,4.77,CRD,14.5 +VTS,1,3,480,2.35,CRD,8.5 +VTS,2,1,3240,19.8,CSH,52 +VTS,1,2,600,3.09,CSH,11 +VTS,1,1,420,0.72,CRD,6 +VTS,1,1,1020,4.16,CRD,16.5 +VTS,1,1,960,5.06,CSH,17 +VTS,1,1,420,1.2,CSH,7 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,840,0.85,CRD,9.5 +VTS,1,1,600,1.43,CRD,8 +VTS,1,1,1320,4.18,CSH,17 +VTS,1,1,60,0.28,CSH,3 +VTS,1,1,1020,3.58,CSH,15 +VTS,2,1,1740,18.17,CRD,52 +VTS,1,1,1020,3.91,CRD,15 +VTS,1,3,240,1.2,CSH,6 +VTS,1,2,1260,12.68,CSH,36 +VTS,1,2,180,1,CRD,5 +VTS,1,2,1920,11.21,CSH,36 +VTS,1,2,120,0.44,CSH,4 +VTS,1,1,540,1.3,CSH,7.5 +VTS,1,2,1020,2.3,CSH,12 +VTS,1,3,660,2.46,CSH,10.5 +VTS,1,2,360,1.31,CRD,6.5 +VTS,1,2,180,0.81,CRD,5 +VTS,1,1,60,0.31,CSH,3 +VTS,1,1,660,2.71,CRD,11 +VTS,1,2,420,1.96,CRD,8.5 +VTS,1,2,720,3,CSH,11.5 +VTS,1,2,480,2.04,CSH,8.5 +VTS,1,2,180,1.42,CRD,6 +VTS,1,3,420,1.38,CRD,7 +VTS,1,2,840,3.43,CSH,13.5 +VTS,1,2,480,0.74,CRD,6.5 +VTS,1,2,420,0.89,CSH,6.5 +VTS,1,2,480,1.52,CRD,8 +VTS,1,2,420,1.52,CSH,7.5 +VTS,1,2,840,2.84,CSH,12 +VTS,1,2,420,1.27,CSH,7 +VTS,1,2,1140,10.22,CRD,30 +VTS,1,2,360,1.35,CSH,6.5 +VTS,1,1,1260,4.32,CSH,18.5 +VTS,1,3,540,1.97,CSH,9.5 +VTS,1,2,660,2.16,CSH,10 +VTS,1,2,900,2.92,CSH,13.5 +VTS,1,2,360,0.86,CSH,6 +VTS,1,2,540,1.26,CSH,7.5 +VTS,1,3,540,1.57,CSH,8 +VTS,1,1,1320,7.56,CSH,25 +VTS,1,2,540,1.84,CSH,9 +VTS,1,3,600,3.55,CRD,12.5 +VTS,2,1,3900,19.51,CRD,52 +VTS,1,3,360,1.42,CRD,7 +VTS,1,2,840,3.87,CRD,15 +VTS,1,2,540,1.85,CSH,8.5 +VTS,1,1,540,1.04,CSH,7.5 +VTS,1,3,1080,7.19,CSH,23 +VTS,1,2,480,1.43,CSH,8 +VTS,2,2,1380,16.91,CRD,52 +VTS,1,2,240,0.93,CRD,5.5 +VTS,1,2,420,1.85,CRD,8 +VTS,1,2,240,1.44,CSH,6 +VTS,1,2,900,2.5,CSH,12 +VTS,1,2,540,0.91,CRD,7 +VTS,1,3,720,1.48,CRD,9.5 +VTS,1,2,2160,13.68,CRD,40.5 +VTS,1,2,2220,8.21,CSH,30.5 +VTS,1,1,720,2.67,CSH,11 +VTS,1,1,300,1.05,CRD,5 +VTS,1,1,240,0.9,CSH,5.5 +VTS,1,2,780,3.5,CRD,13.5 +VTS,1,2,360,1.54,CSH,7.5 +VTS,1,3,600,2.39,CRD,9.5 +VTS,1,2,180,0.84,CSH,4.5 +VTS,1,2,600,1.63,CRD,9 +VTS,1,2,1020,5.03,CRD,17.5 +VTS,1,2,960,3.94,CRD,15.5 +VTS,1,2,300,0.69,CSH,5 +VTS,1,2,540,1.23,CSH,7.5 +VTS,1,2,420,2.01,CRD,8 +VTS,1,2,300,1.03,CRD,6 +VTS,1,2,1980,15.27,CRD,42.5 +VTS,1,2,480,2.47,CRD,9.5 +VTS,1,1,780,1.65,CRD,9.5 +VTS,1,1,900,2.8,CRD,13 +VTS,1,2,480,1.55,CRD,7.5 +VTS,1,2,1200,3.91,CRD,17 +VTS,1,2,480,1.29,CSH,7.5 +VTS,1,2,960,2.73,CRD,13 +VTS,1,3,480,2.17,CRD,9 +VTS,1,2,300,0.68,CSH,5.5 +VTS,1,1,420,0.65,CSH,6 +VTS,1,2,540,2.16,CRD,9 +VTS,1,2,420,1.11,CSH,7 +VTS,1,2,420,0.67,CRD,6.5 +VTS,1,2,1020,4.64,CRD,18 +VTS,1,2,600,2.22,CSH,10 +VTS,1,2,480,1.5,CRD,8 +VTS,1,2,240,1.25,CSH,6 +VTS,1,3,720,2.03,CRD,10.5 +VTS,1,2,1080,2.27,CRD,13.5 +VTS,1,2,660,1.97,CSH,10 +VTS,1,1,420,0.87,CSH,6.5 +VTS,1,2,540,1.19,CRD,8 +VTS,1,2,1260,7.92,CSH,26 +VTS,1,2,240,1.01,CSH,5.5 +VTS,1,2,600,1.37,CRD,8.5 +VTS,1,2,300,0.91,CSH,5 +VTS,1,2,600,2.13,CRD,9.5 +VTS,1,2,60,0.41,CRD,3.5 +VTS,1,3,300,0.63,CRD,5 +VTS,1,2,1260,4.77,CRD,18 +VTS,1,2,1140,4.7,CSH,17.5 +VTS,1,2,300,2.61,CSH,9 +VTS,2,1,1500,17.64,CRD,52 +VTS,1,3,900,4.53,CSH,16 +VTS,1,3,480,1.98,CRD,8.5 +VTS,1,2,540,2.01,CSH,8.5 +VTS,1,2,720,2.57,CSH,11 +VTS,1,2,120,0.6,CSH,4 +VTS,1,2,420,1.92,CSH,8 +VTS,1,2,180,1.14,CRD,5 +VTS,1,2,120,0.44,CRD,4 +VTS,1,3,240,0.96,CSH,5 +VTS,1,3,1020,6.41,CRD,20 +VTS,1,2,780,2.67,CRD,11.5 +VTS,1,3,180,0.42,CSH,4 +VTS,1,3,1500,3.89,CSH,19 +VTS,1,2,180,0.9,CSH,5 +VTS,1,2,780,1.98,CSH,10.5 +VTS,1,2,120,0.42,CSH,3.5 +VTS,1,2,120,0.73,CSH,4.5 +VTS,1,3,660,1.46,CRD,9.5 +VTS,1,2,120,0.88,CSH,4.5 +VTS,2,2,1440,16.51,CRD,52 +VTS,2,1,2820,18.46,CRD,52 +VTS,1,2,960,3.78,CRD,15 +VTS,1,2,780,2.69,CRD,12.5 +VTS,1,2,240,0.49,CSH,4.5 +VTS,1,2,60,0.5,CSH,3.5 +VTS,1,2,360,1.34,CSH,7 +VTS,1,1,120,1.05,CSH,5 +VTS,1,3,660,1.98,CSH,9.5 +VTS,1,2,1020,2.77,CRD,13 +VTS,1,2,600,1.95,CSH,9.5 +VTS,1,3,660,2.4,CSH,10.5 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,2,180,0.73,CSH,4 +VTS,1,3,300,1.48,CRD,7 +VTS,1,2,300,1.05,CSH,5.5 +VTS,1,1,1020,0.85,CSH,11 +VTS,1,1,300,0.79,CSH,5.5 +VTS,1,1,240,1.05,CSH,5.5 +VTS,1,2,660,1.81,CRD,9 +VTS,1,2,360,1.84,CSH,7.5 +VTS,1,3,420,1.11,CRD,6.5 +VTS,1,2,240,0.98,CRD,5 +VTS,1,2,1560,9.42,CSH,31 +VTS,1,2,600,2.02,CSH,9.5 +VTS,1,1,240,0.57,CRD,4.5 +VTS,1,1,180,0.51,CSH,4 +VTS,1,1,240,0.72,CSH,5 +VTS,1,1,660,1.6,CSH,9 +VTS,1,1,420,0.92,CSH,6 +VTS,1,1,360,1.88,CSH,8 +VTS,1,1,660,2.34,CSH,10 +VTS,1,1,420,1.02,CRD,6.5 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,1,780,2.94,CSH,12 +VTS,1,1,720,1.88,CSH,10 +VTS,1,1,360,0.57,CSH,5.5 +VTS,1,1,600,1.03,CRD,8 +VTS,1,1,840,2.79,CSH,12 +VTS,1,2,240,0.65,CSH,5 +VTS,1,2,240,0.73,CSH,5.5 +VTS,1,3,900,4.94,CSH,17 +VTS,1,3,480,2.41,CRD,9 +VTS,1,3,1620,5.51,CSH,21.5 +VTS,1,2,240,0.93,CSH,5 +VTS,1,1,540,1.99,CSH,8.5 +VTS,1,2,300,0.77,CRD,5 +VTS,1,2,840,4.31,CSH,14.5 +VTS,1,3,1260,5.68,CSH,20.5 +VTS,1,2,360,1.07,CSH,6.5 +VTS,1,2,780,4.04,CRD,14.5 +VTS,1,1,180,1,CSH,5 +VTS,1,3,420,1.88,CRD,8 +VTS,1,2,1920,5.7,CRD,24.5 +VTS,1,2,900,2.04,CRD,11.5 +VTS,1,2,540,1.94,CRD,9 +VTS,1,2,780,2.97,CSH,12.5 +VTS,1,2,900,2.83,CRD,12.5 +VTS,1,2,660,0.57,CRD,8.5 +VTS,1,3,1500,7.42,CSH,25 +VTS,1,3,1440,8.32,CSH,27 +VTS,1,2,420,2.33,CRD,9.5 +VTS,1,2,1080,3.71,CSH,13.5 +VTS,1,2,660,2.37,CRD,10.5 +VTS,2,1,2340,17.56,CSH,52 +VTS,1,1,840,2.7,CSH,12 +VTS,1,2,1200,4.21,CSH,17.5 +VTS,1,2,540,1.13,CSH,7 +VTS,1,2,360,1.08,CSH,6 +VTS,1,2,240,1.25,CSH,6 +VTS,1,2,660,4.17,CRD,14 +VTS,1,1,480,0.73,CRD,6.5 +VTS,1,1,540,3.15,CSH,11.5 +VTS,1,1,1440,5.57,CSH,23.5 +VTS,1,1,900,2.02,CRD,11.5 +VTS,1,2,420,1.09,CSH,6.5 +VTS,1,2,660,0.91,CSH,8.5 +VTS,1,2,300,1.61,CRD,6.5 +VTS,1,2,1020,3.44,CSH,14.5 +VTS,1,2,600,2.07,CSH,9.5 +VTS,1,1,1260,12.14,CSH,34.5 +VTS,1,1,900,1.7,CSH,11.5 +VTS,1,3,540,1.17,CSH,8 +VTS,1,3,600,2.72,CRD,10.5 +VTS,1,2,540,1.36,CSH,7.5 +VTS,1,2,1500,3.89,CSH,19 +VTS,1,3,540,1.79,CRD,8.5 +VTS,1,2,300,0.98,CSH,5.5 +VTS,1,2,360,1.19,CRD,6 +VTS,1,2,300,1.17,CRD,5.5 +VTS,1,2,420,1.85,CSH,7.5 +VTS,1,2,180,0.88,CSH,5 +VTS,1,3,2100,6.34,CRD,26.5 +VTS,1,2,1860,13.65,CRD,40 +VTS,1,3,420,1.52,CSH,7 +VTS,1,2,960,8.54,CRD,24.5 +VTS,1,2,480,1.62,CRD,8 +VTS,1,3,240,1.17,CRD,6 +VTS,1,1,360,0.6,CSH,6 +VTS,1,4,240,0.83,CSH,5.5 +VTS,1,2,300,0.62,CRD,5 +VTS,1,3,360,0.76,CSH,6 +VTS,1,1,360,1.14,CRD,6 +VTS,1,2,300,0.95,CSH,6 +VTS,1,2,420,1.15,CRD,7 +VTS,1,2,2160,8.3,CSH,32 +VTS,1,2,660,1.36,CRD,8.5 +VTS,1,2,180,0.42,CSH,4 +VTS,1,2,300,0.56,CSH,5.5 +VTS,1,1,540,0.99,CSH,7.5 +VTS,1,2,300,0.57,CSH,5 +VTS,1,2,1140,2.49,CSH,13.5 +VTS,1,2,660,0.99,CRD,8.5 +VTS,1,2,660,2.19,CSH,9.5 +VTS,1,2,240,0.55,CRD,4.5 +VTS,1,2,240,0.51,CSH,4.5 +VTS,1,2,540,1.65,CRD,8 +VTS,1,2,1140,8.04,CSH,24.5 +VTS,1,2,120,0.44,CRD,3.5 +VTS,1,2,540,1.62,CRD,8.5 +VTS,1,2,840,5.43,CSH,17 +VTS,1,2,1260,5.48,CSH,20 +VTS,1,3,960,7.29,CSH,22.5 +VTS,1,3,180,0.57,CRD,4.5 +VTS,1,1,480,0.98,CRD,6.5 +VTS,1,2,900,3.36,CRD,13.5 +VTS,1,2,540,1.67,CSH,9 +VTS,1,3,180,0.79,CSH,5 +VTS,1,2,900,2.95,CRD,13 +VTS,1,2,300,1.26,CRD,6.5 +VTS,1,2,480,1.35,CSH,7.5 +VTS,1,1,780,3.26,CSH,13 +VTS,1,2,660,2.22,CRD,10 +VTS,1,2,780,2.77,CSH,11 +VTS,1,2,300,1.19,CSH,6 +VTS,1,2,420,1.59,CSH,7.5 +VTS,1,2,540,1.22,CSH,7.5 +VTS,1,4,540,2.59,CRD,10.5 +VTS,1,2,180,1.22,CSH,6 +VTS,2,2,1560,17.66,CRD,52 +VTS,2,2,1980,18.19,CRD,52 +VTS,1,2,720,3.34,CRD,13 +VTS,1,2,480,1.92,CSH,8.5 +VTS,1,1,660,1.53,CRD,9 +VTS,1,2,720,2.32,CSH,11 +VTS,1,2,1440,4.36,CRD,18 +VTS,1,2,540,2.15,CRD,9 +VTS,1,3,360,0.78,CSH,5 +VTS,1,3,660,2.06,CSH,9.5 +VTS,1,2,840,3.96,CRD,14.5 +VTS,1,3,180,0.83,CRD,5 +VTS,1,2,360,1.38,CSH,6.5 +VTS,1,2,660,2.21,CRD,10.5 +VTS,1,2,660,1.83,CRD,9 +VTS,1,2,420,1.25,CRD,7 +VTS,1,3,300,0.78,CRD,5.5 +VTS,1,2,360,1.77,CSH,7 +VTS,1,2,660,2.1,CSH,10 +VTS,1,1,540,1.39,CSH,8 +VTS,1,2,420,1.92,CSH,8 +VTS,1,3,960,3.62,CRD,15 +VTS,1,3,240,1.77,CRD,6.5 +VTS,1,2,480,2.45,CSH,9 +VTS,1,2,660,2.02,CSH,8 +VTS,1,2,1020,2.47,CRD,12.5 +VTS,1,2,900,2.45,CRD,12.5 +VTS,1,3,1080,4.08,CRD,15.5 +VTS,1,2,300,1.24,CRD,6 +VTS,1,1,180,1.23,CRD,5.5 +VTS,1,2,1560,3.43,CRD,18 +VTS,1,2,660,1.93,CRD,9.5 +VTS,1,2,840,2.48,CSH,11.5 +VTS,1,2,1200,6.62,CRD,22.5 +VTS,1,3,540,1.25,CSH,7.5 +VTS,1,2,960,1.99,CRD,11.5 +VTS,1,2,960,1.9,CSH,12.5 +VTS,1,2,600,1.1,CSH,8 +VTS,1,2,1200,2.81,CSH,15 +VTS,1,2,420,0.84,CRD,6.5 +VTS,1,2,420,2.25,CSH,8.5 +VTS,1,2,420,1.67,CRD,7.5 +VTS,1,2,540,2.08,CSH,9.5 +VTS,1,3,360,1.73,CRD,7.5 +VTS,1,3,240,1.35,CRD,6 +VTS,1,2,360,1.8,CRD,7 +VTS,1,3,660,2.23,CSH,10 +VTS,1,2,780,2.06,CRD,11 +VTS,1,3,240,0.96,CSH,5 +VTS,1,3,840,5.43,CSH,17 +VTS,2,2,2640,18.37,CSH,52 +VTS,1,2,180,0.75,CSH,4.5 +VTS,1,1,1260,6.77,CRD,22.5 +VTS,1,2,300,1.57,CRD,6.5 +VTS,1,2,1500,6.54,CRD,23.5 +VTS,1,2,180,0.46,CSH,4 +VTS,1,3,180,0.63,CSH,4.5 +VTS,1,1,540,1.86,CRD,8.5 +VTS,1,2,240,0.98,CSH,5.5 +VTS,1,2,1440,9.53,CSH,29 +VTS,1,2,780,2.19,CRD,10.5 +VTS,1,2,240,0.71,CSH,5 +VTS,1,2,420,1.32,CSH,7 +VTS,1,2,780,2.24,CSH,11 +VTS,1,3,1140,5.02,CSH,18.5 +VTS,1,3,540,2.82,CRD,10.5 +VTS,1,2,1320,4.27,CSH,18.5 +VTS,1,3,240,0.62,CRD,4.5 +VTS,1,3,240,0.58,CRD,4.5 +VTS,1,2,180,0.56,CSH,4 +VTS,1,2,2280,12.02,CRD,38 +VTS,1,2,480,1.35,CRD,7.5 +VTS,1,2,1320,10.2,CRD,30 +VTS,1,2,300,0.94,CRD,6 +VTS,1,1,660,1.24,CSH,8.5 +VTS,1,2,1920,3.33,CSH,20.5 +VTS,1,3,720,2.28,CSH,10.5 +VTS,1,2,1260,3.69,CRD,17 +VTS,1,3,1680,10.87,CSH,33.5 +VTS,1,3,900,1.81,CSH,11 +VTS,1,2,720,3.62,CRD,13 +VTS,1,2,480,1.77,CRD,8.5 +VTS,1,3,240,1.02,CRD,5.5 +VTS,1,2,1620,18.86,CSH,50 +VTS,1,3,600,2.87,CSH,10.5 +VTS,1,3,900,2.1,CSH,12 +VTS,1,3,900,2.42,CSH,12 +VTS,1,2,540,1.41,CSH,8 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,3,1320,3.84,CRD,16.5 +VTS,1,3,900,2.04,CRD,11.5 +VTS,1,2,420,0.81,CSH,6.5 +VTS,1,3,600,1.9,CSH,9.5 +VTS,1,2,180,0.59,CSH,4.5 +VTS,1,3,480,2.2,CSH,8.5 +VTS,1,2,360,0.73,CSH,5.5 +VTS,1,2,1200,2.34,CRD,14.5 +VTS,1,2,660,0.99,CRD,8.5 +VTS,1,2,540,1.55,CRD,8 +VTS,1,2,1800,4.38,CRD,22 +VTS,1,3,780,2.55,CRD,11.5 +VTS,1,2,480,1.75,CSH,8 +VTS,1,2,480,1.5,CSH,8 +VTS,1,2,660,2.03,CSH,10.5 +VTS,1,2,180,0.69,CRD,4.5 +VTS,1,3,540,2.17,CSH,9.5 +VTS,1,2,240,0.77,CRD,5 +VTS,1,2,240,0.71,CSH,5 +VTS,1,2,240,0.44,CRD,4.5 +VTS,1,3,240,0.63,CRD,4.5 +VTS,1,2,900,2.4,CRD,11.5 +VTS,1,2,1380,11.38,CSH,33 +VTS,1,2,300,0.92,CSH,5.5 +VTS,1,2,900,1.25,CRD,10.5 +VTS,1,1,960,2.42,CSH,12 +VTS,1,1,540,1.09,CRD,7.5 +VTS,1,2,300,1.16,CRD,6 +VTS,1,6,840,3.24,CRD,13 +VTS,1,6,1080,8.75,CRD,26 +VTS,1,2,1260,8.01,CRD,25.5 +VTS,2,2,2880,21.84,CRD,52 +VTS,1,2,1320,8.96,CRD,28 +VTS,1,2,300,1.24,CSH,6 +VTS,1,2,300,0.42,CSH,5 +VTS,1,2,900,1.59,CSH,11 +VTS,1,3,900,2.65,CSH,12 +VTS,1,2,420,1.06,CSH,6.5 +VTS,1,3,180,0.89,CSH,4.5 +VTS,1,2,2700,27.44,CRD,75.5 +VTS,1,2,600,2.66,CSH,10.5 +VTS,1,3,420,0.93,CSH,6 +VTS,1,2,1020,2.75,CSH,13.5 +VTS,1,2,720,1.99,CRD,10 +VTS,1,2,300,0.72,CSH,5.5 +VTS,1,3,420,1.38,CSH,7 +VTS,1,2,960,9.39,CSH,26.5 +VTS,1,2,300,0.82,CSH,5.5 +VTS,1,2,180,0.81,CRD,4.5 +VTS,1,2,480,1.48,CRD,7.5 +VTS,1,2,120,0.44,CRD,3.5 +VTS,1,2,1080,3.07,CSH,15 +VTS,1,3,180,1.34,CSH,5.5 +VTS,1,2,300,0.97,CRD,6 +VTS,1,3,840,3.83,CSH,14.5 +VTS,1,2,1440,6.25,CRD,23 +VTS,1,2,1740,10.36,CRD,32.5 +VTS,1,3,540,2.09,CSH,9.5 +VTS,1,2,480,1.67,CSH,8 +VTS,1,2,240,1.01,CSH,5.5 +VTS,1,1,540,1.95,CSH,9.5 +VTS,1,2,660,2.58,CRD,10.5 +VTS,1,3,360,1.04,CSH,6.5 +VTS,1,3,300,0.97,CSH,5.5 +VTS,1,1,300,0.59,CSH,5.5 +VTS,1,2,240,1.2,CSH,5.5 +VTS,1,2,480,2.41,CRD,9.5 +VTS,1,3,300,1.14,CRD,6 +VTS,1,2,180,0.71,CRD,4.5 +VTS,1,3,420,1.23,CRD,7 +VTS,1,2,240,1.33,CRD,6.5 +VTS,1,2,660,0.53,CRD,7.5 +VTS,1,2,960,3.41,CRD,14 +VTS,1,2,840,3.33,CRD,13 +VTS,1,3,360,1.36,CRD,7 +VTS,1,2,1380,4.94,CSH,19.5 +VTS,1,3,600,2.22,CRD,10 +VTS,1,2,1200,3.19,CSH,15 +VTS,1,3,60,0.34,CSH,3.5 +VTS,1,2,1140,5.66,CRD,19.5 +VTS,1,2,1260,3.32,CRD,16 +VTS,1,2,900,6.23,CSH,20 +VTS,1,2,720,3.95,CRD,13.5 +VTS,1,1,1260,4.64,CRD,19 +VTS,1,2,660,2.01,CSH,10 +VTS,1,3,420,1.69,CSH,7.5 +VTS,1,2,180,0.68,CSH,5 +VTS,1,2,780,2.09,CSH,10.5 +VTS,1,3,1920,9.62,CSH,32 +VTS,1,2,600,2.79,CRD,10.5 +VTS,1,2,240,1.02,CRD,5.5 +VTS,1,3,1620,7.59,CRD,27 +VTS,1,3,1020,4.58,CRD,17.5 +VTS,1,2,720,4.82,CRD,16.5 +VTS,1,2,1020,8.77,CSH,25.5 +VTS,1,3,1440,3.82,CRD,18 +VTS,1,2,660,1.6,CSH,9.5 +VTS,1,2,120,0.94,CSH,5 +VTS,1,3,780,2.59,CSH,11.5 +VTS,1,2,300,1.27,CRD,6 +VTS,1,3,480,2.59,CSH,9.5 +VTS,1,3,360,1.07,CSH,5.5 +VTS,1,2,780,2.06,CRD,10.5 +VTS,1,2,780,1.29,CSH,10 +VTS,1,1,720,1.94,CRD,9.5 +VTS,1,3,600,1.84,CRD,9 +VTS,1,3,480,0.82,CSH,7 +VTS,1,3,1200,3.5,CRD,15.5 +VTS,1,3,540,1.61,CRD,8.5 +VTS,1,2,420,0.67,CRD,6 +VTS,1,2,300,1.42,CSH,6 +VTS,1,2,420,2.34,CSH,9 +VTS,1,2,120,0.26,CSH,3.5 +VTS,1,2,780,2.31,CRD,11.5 +VTS,1,3,1320,12.79,CSH,35.5 +VTS,1,2,660,2.12,CSH,9.5 +VTS,1,1,360,0.89,CSH,6 +VTS,1,2,300,1.03,CSH,5.5 +VTS,1,3,180,0.54,CRD,4.5 +VTS,1,3,1140,3.24,CSH,15 +VTS,1,3,180,0.52,CSH,4.5 +VTS,1,2,120,0.33,CSH,3.5 +VTS,1,3,600,1.4,CRD,8 +VTS,1,2,720,1.78,CSH,10 +VTS,1,2,360,1.2,CRD,6.5 +VTS,1,3,780,2.81,CSH,12.5 +VTS,1,3,600,1.92,CRD,9 +VTS,1,2,780,1.43,CSH,9.5 +VTS,1,2,960,2.01,CSH,11.5 +VTS,1,2,1320,3.24,CRD,16 +VTS,1,2,900,2.19,CRD,11.5 +VTS,1,2,840,1.46,CRD,10 +VTS,1,2,300,1.24,CSH,6 +VTS,1,6,1260,12.11,CSH,33.5 +VTS,1,2,1320,12.45,CRD,35 +VTS,1,3,420,1.37,CRD,7 +VTS,1,2,1320,13.09,CSH,36 +VTS,1,3,180,0.63,CSH,4 +VTS,1,2,960,2.24,CRD,12 +VTS,1,3,360,1.01,CRD,6 +VTS,1,2,600,0.87,CSH,8 +VTS,1,2,1020,2.82,CSH,13 +VTS,1,2,240,0.45,CRD,5 +VTS,1,6,420,0.94,CRD,6 +VTS,1,6,780,1.03,CSH,9 +VTS,1,6,720,2.65,CRD,11 +VTS,1,6,420,1.92,CRD,8 +VTS,1,6,360,0.54,CSH,5.5 +VTS,1,6,600,1.78,CRD,9 +VTS,1,6,600,2.49,CSH,10 +VTS,1,6,1200,9.2,CSH,27.5 +VTS,1,6,840,2.63,CRD,11.5 +VTS,1,6,1500,3.66,CSH,17.5 +VTS,1,6,600,0.94,CSH,7.5 +VTS,1,6,1680,11.26,CRD,34 +VTS,1,6,960,5,CSH,17 +VTS,1,6,1080,8.84,CSH,25.5 +VTS,1,6,540,2.3,CSH,9.5 +VTS,1,6,900,3.29,CSH,13.5 +VTS,1,6,1080,9.67,CRD,27.5 +VTS,1,3,360,1.32,CRD,7 +VTS,1,2,660,3.84,CSH,13.5 +VTS,1,2,960,9.73,CSH,27 +VTS,1,3,420,1.77,CRD,7.5 +VTS,1,2,420,1.08,CRD,6.5 +VTS,1,2,660,1.39,CRD,9 +VTS,1,2,420,1.68,CSH,7.5 +VTS,1,2,300,0.84,CSH,5.5 +VTS,1,2,540,2.15,CRD,9 +VTS,1,2,720,1.33,CSH,9.5 +VTS,1,2,360,1.04,CSH,6 +VTS,1,2,660,1.78,CSH,9.5 +VTS,1,2,420,0.83,CRD,6.5 +VTS,1,2,540,1.1,CRD,7.5 +VTS,1,2,780,1.67,CSH,10 +VTS,1,2,240,0.87,CSH,5.5 +VTS,1,3,2100,20.71,CRD,56 +VTS,1,2,300,1.12,CSH,6 +VTS,1,3,780,1.32,CSH,10 +VTS,1,2,1080,9.52,CRD,27.5 +VTS,1,2,180,1.32,CSH,5.5 +VTS,1,3,900,3.06,CSH,13 +VTS,1,2,1320,1.36,CRD,13.5 +VTS,1,2,240,0.98,CSH,5 +VTS,1,2,480,1.32,CSH,7.5 +VTS,1,2,900,2.41,CRD,11.5 +VTS,1,2,660,1.28,CSH,8.5 +VTS,1,1,60,0,CSH,3 +VTS,1,6,660,3.12,CRD,11.5 +VTS,1,6,480,1.53,CRD,7.5 +VTS,1,6,480,1.31,CRD,7.5 +VTS,1,6,540,2.67,CRD,10 +VTS,1,6,960,2.42,CRD,12.5 +VTS,1,6,480,1.36,CRD,7.5 +VTS,1,6,900,3.64,CSH,14 +VTS,1,6,300,0.43,CRD,4.5 +VTS,1,6,960,3.65,CRD,13.5 +VTS,1,6,420,1.08,CSH,6.5 +VTS,1,6,240,0.72,CSH,5 +VTS,1,6,480,0.98,CRD,7 +VTS,1,6,4680,9.95,CRD,50.5 +VTS,1,6,900,2.26,CSH,11.5 +VTS,1,6,480,2.27,CSH,9.5 +VTS,1,6,1020,4.57,CRD,16.5 +VTS,1,6,1380,10.36,CSH,31 +VTS,1,6,360,1.36,CRD,6.5 +VTS,1,6,1440,4.34,CSH,18.5 +VTS,1,6,1200,3.04,CSH,14.5 +VTS,1,6,720,2.3,CSH,10.5 +VTS,1,6,1260,10.55,CRD,31 +VTS,1,6,360,1.11,CRD,6.5 +VTS,1,6,840,3.81,CSH,15 +VTS,1,6,900,4.29,CRD,15.5 +VTS,1,3,600,1.9,CRD,9 +VTS,1,2,1620,6.55,CSH,24.5 +VTS,2,2,3060,18.63,CSH,52 +VTS,1,1,420,1.47,CRD,7.5 +VTS,1,2,480,1.31,CRD,7.5 +VTS,1,2,420,1.4,CRD,7 +VTS,1,2,1020,1.89,CSH,12.5 +VTS,1,2,360,1.32,CRD,7 +VTS,1,2,420,1.1,CRD,6.5 +VTS,1,2,240,1.19,CRD,6 +VTS,1,2,300,1.27,CSH,6.5 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,540,2.08,CSH,9 +VTS,1,1,720,2.74,CRD,11.5 +VTS,1,2,1140,7.34,CRD,23 +VTS,1,3,420,2.13,CSH,8.5 +VTS,1,3,840,2.56,CSH,12 +VTS,1,2,240,1,CRD,5.5 +VTS,1,2,360,1.94,CSH,7.5 +VTS,1,2,420,2.18,CRD,8.5 +VTS,1,1,540,1.59,CRD,8 +VTS,1,2,720,0.66,CSH,8.5 +VTS,1,2,1320,2.78,CSH,14.5 +VTS,1,1,840,2.59,CSH,12 +VTS,1,3,480,0.94,CRD,6.5 +VTS,1,3,540,1.06,CRD,7.5 +VTS,1,2,240,1.06,CSH,5 +VTS,1,2,1740,6.73,CRD,25 +VTS,1,2,420,1.98,CSH,8 +VTS,1,2,1140,5.23,CRD,19 +VTS,1,3,2040,5.54,CRD,25.5 +VTS,1,3,600,2.26,CSH,10 +VTS,1,2,540,1.4,CRD,8 +VTS,1,2,720,2.2,CSH,10.5 +VTS,1,3,1380,5.04,CRD,20.5 +VTS,1,2,660,0.96,CSH,8.5 +VTS,1,2,600,3.44,CSH,12 +VTS,1,2,600,1.47,CSH,8.5 +VTS,1,2,540,1.36,CRD,7.5 +VTS,1,6,1320,9.64,CSH,28.5 +VTS,1,6,300,0.96,CRD,5.5 +VTS,1,6,480,1.25,CSH,7.5 +VTS,1,6,240,0.59,CRD,4.5 +VTS,1,6,420,1.31,CSH,7 +VTS,1,6,1320,5.27,CRD,19.5 +VTS,1,6,1500,10.89,CRD,31.5 +VTS,1,6,480,1.57,CRD,7.5 +VTS,1,6,960,3.17,CRD,13 +VTS,1,6,1260,4.7,CRD,18 +VTS,1,6,1200,5.66,CSH,20.5 +VTS,1,6,360,1.2,CSH,6 +VTS,1,6,180,0.73,CRD,4.5 +VTS,1,3,900,3.58,CRD,14 +VTS,1,3,300,1.29,CRD,6.5 +VTS,1,3,720,3.09,CRD,11.5 +VTS,1,2,660,1.95,CSH,10 +VTS,1,2,180,0.59,CRD,4 +VTS,1,2,300,0.79,CSH,5.5 +VTS,1,2,240,0.55,CSH,4.5 +VTS,1,2,240,1.14,CRD,6 +VTS,1,3,720,2.02,CSH,10 +VTS,1,2,720,2.22,CRD,10.5 +VTS,1,2,300,0.86,CSH,6 +VTS,1,3,360,1.09,CSH,6.5 +VTS,1,2,600,2.25,CRD,10 +VTS,1,3,300,0.63,CRD,5.5 +VTS,1,3,720,2.28,CSH,10.5 +VTS,1,6,1200,7.86,CRD,23 +VTS,1,6,1140,8.94,CRD,26 +VTS,1,6,540,1.16,CSH,7.5 +VTS,1,6,1020,2.11,CRD,12.5 +VTS,1,6,1260,6.89,CSH,23 +VTS,1,6,420,2.95,CSH,10.5 +VTS,1,6,1020,13.32,CRD,35.5 +VTS,1,6,660,4.18,CRD,14.5 +VTS,1,6,900,3.87,CRD,14 +VTS,1,6,240,1.15,CRD,5.5 +VTS,1,6,960,3.75,CSH,14.5 +VTS,1,1,120,0.61,CSH,4 +VTS,1,2,900,2.46,CSH,12 +VTS,1,2,360,0.97,CSH,6.5 +VTS,1,3,660,1.99,CSH,9 +VTS,1,2,180,0.83,CSH,4.5 +VTS,1,3,360,1.79,CRD,8 +VTS,1,3,480,2.31,CRD,9 +VTS,1,1,960,1.89,CRD,11.5 +VTS,1,2,120,0.36,CSH,3.5 +VTS,1,2,180,0.53,CRD,4 +VTS,1,2,180,0.56,CRD,4.5 +VTS,1,2,840,1.58,CSH,10.5 +VTS,1,3,300,0.64,CRD,4.5 +VTS,1,2,360,1.26,CSH,6.5 +VTS,1,2,1440,7.25,CRD,25.5 +VTS,1,2,600,1.19,CRD,7.5 +VTS,1,2,300,0.76,CSH,5 +VTS,1,2,0,0.05,CSH,2.5 +VTS,1,2,300,0.66,CSH,5.5 +VTS,1,3,480,1.93,CSH,9.5 +VTS,1,3,180,0.57,CSH,4.5 +VTS,1,2,120,0.37,CSH,3.5 +VTS,1,2,540,1.53,CRD,8 +VTS,1,2,660,5.17,CRD,16.5 +VTS,1,3,420,1.05,CSH,7 +VTS,1,3,1500,2.08,CRD,16.5 +VTS,1,6,300,1.16,CSH,6 +VTS,1,6,1140,11.6,CSH,31.5 +VTS,1,6,660,4.15,CRD,14 +VTS,1,6,480,1.58,CRD,8 +VTS,1,6,1500,3.75,CRD,17.5 +VTS,1,6,1260,6.37,CRD,21 +VTS,1,6,300,0.92,CRD,5 +VTS,1,6,480,0.95,CRD,6.5 +VTS,1,6,1500,12.94,CSH,36 +VTS,1,6,960,5.19,CRD,17 +VTS,1,6,1140,3.88,CSH,15.5 +VTS,1,6,240,0.54,CRD,4.5 +VTS,1,6,840,3.34,CRD,13 +VTS,1,6,360,1.82,CRD,7.5 +VTS,1,6,1200,4.89,CRD,18 +VTS,1,6,1800,8.11,CRD,27 +VTS,1,6,1440,7.02,CSH,23.5 +VTS,1,6,1380,4.29,CRD,19 +VTS,1,6,360,0.88,CRD,6 +VTS,1,6,600,2.96,CRD,11 +VTS,1,6,120,0.26,CRD,3.5 +VTS,1,6,480,0.9,CRD,6.5 +VTS,1,6,1320,4.93,CRD,19 +VTS,1,6,600,1.28,CSH,8 +VTS,1,6,900,2.25,CSH,12 +VTS,1,6,1260,10.57,CRD,31 +VTS,1,6,600,2.91,CRD,11 +VTS,1,6,780,2.2,CSH,9 +VTS,1,6,300,0.87,CSH,5.5 +VTS,1,6,600,1.9,CRD,9 +VTS,1,6,1860,3.22,CSH,20 +VTS,1,6,300,1.27,CSH,6 +VTS,1,6,660,2.45,CRD,10.5 +VTS,1,6,660,2.14,CRD,10 +VTS,1,6,960,4.11,CSH,15 +VTS,1,6,420,2.15,CRD,8.5 +VTS,1,6,1080,2.85,CRD,14 +VTS,1,6,840,6.02,CRD,18.5 +VTS,1,6,480,1.2,CSH,7 +VTS,1,6,720,2.53,CRD,10.5 +VTS,1,6,540,1.25,CSH,7.5 +VTS,1,6,720,2.02,CSH,9.5 +VTS,1,6,960,8.39,CRD,24.5 +VTS,1,6,120,0.44,CRD,3.5 +VTS,1,6,240,0.75,CRD,5 +VTS,1,6,720,2.51,CRD,11 +VTS,1,6,360,0.77,CSH,6 +VTS,1,6,720,0.83,CRD,8.5 +VTS,1,6,1560,5.36,CRD,20 +VTS,1,6,420,0.79,CRD,5.5 +VTS,1,6,300,0.89,CRD,5.5 +VTS,1,6,240,0.84,CRD,5 +VTS,1,6,900,5.95,CRD,19.5 +VTS,1,6,660,1.78,CSH,9 +VTS,1,6,360,1.11,CRD,6 +VTS,1,6,840,8.53,CSH,24 +VTS,1,6,960,10.9,CSH,30 +VTS,1,6,780,2.75,CRD,12 +VTS,1,6,240,0.49,CRD,4.5 +VTS,1,6,540,1.35,CRD,8 +VTS,1,6,900,2.53,CRD,12.5 +VTS,1,6,1500,10.11,CRD,31 +VTS,1,6,180,0.55,CSH,4.5 +VTS,1,6,840,4.06,CSH,14.5 +VTS,1,6,300,1.51,CRD,6.5 +VTS,1,6,720,1.88,CRD,9.5 +VTS,1,6,300,0.78,CSH,5.5 +VTS,1,6,780,2.68,CRD,11 +VTS,1,6,480,1.02,CRD,7 +VTS,1,6,780,2.55,CSH,11.5 +VTS,1,6,900,3.69,CSH,14 +VTS,1,6,600,1.74,CRD,9 +VTS,1,6,660,1.8,CSH,9 +VTS,5,1,1500,5.13,CRD,45 +VTS,1,6,900,3.46,CSH,14 +VTS,1,6,300,0.53,CSH,5 +VTS,1,6,300,1.2,CSH,6 +VTS,1,6,720,1.04,CSH,9 +VTS,1,6,180,0.55,CRD,4 +VTS,1,6,960,2.64,CSH,13 +VTS,1,6,660,2.17,CSH,9.5 +VTS,1,6,480,2.03,CSH,8.5 +VTS,1,6,600,2.33,CSH,9.5 +VTS,1,6,300,1.14,CRD,6 +VTS,1,6,1020,4.18,CSH,16.5 +VTS,1,6,660,2.72,CSH,11 +VTS,1,6,480,1.34,CRD,7.5 +VTS,1,6,840,3.81,CRD,13.5 +VTS,1,6,1380,4.58,CRD,18.5 +VTS,1,6,720,5.26,CRD,16.5 +VTS,1,6,720,1.23,CRD,9 +VTS,1,6,300,1.48,CSH,6.5 +VTS,1,6,1020,1.78,CRD,11.5 +VTS,1,6,840,8.41,CRD,24 +VTS,1,6,120,0.6,CRD,4 +VTS,1,6,240,0.33,CSH,4.5 +VTS,1,6,600,2.29,CRD,10 +VTS,1,6,180,0.52,CRD,4 +VTS,1,6,480,1.84,CRD,8 +VTS,1,6,540,2.85,CRD,10.5 +VTS,1,6,480,1.27,CSH,7.5 +VTS,1,6,1260,3.51,CRD,16.5 +VTS,1,6,120,0.55,CRD,4 +VTS,1,6,600,0.47,CRD,7.5 +VTS,1,6,480,0.67,CSH,6.5 +VTS,1,6,1500,8.02,CRD,26.5 +VTS,1,6,600,2.26,CSH,9.5 +VTS,1,6,360,0.8,CRD,6.5 +VTS,1,6,1260,5.25,CRD,18 +VTS,1,6,720,4.44,CSH,15 +VTS,1,6,1140,4.36,CRD,16 +VTS,1,6,660,1.29,CRD,8.5 +VTS,1,6,1260,3.93,CSH,17 +VTS,1,6,4020,10.68,CRD,45.5 +VTS,1,6,360,1.01,CSH,6 +VTS,1,6,480,1.41,CRD,7.5 +VTS,1,6,240,0.31,CRD,4.5 +VTS,1,6,1020,2.88,CRD,13 +VTS,1,6,600,1.92,CRD,9 +VTS,1,6,300,0.85,CRD,6 +VTS,1,6,1440,9.52,CRD,29.5 +VTS,1,6,1080,5.85,CRD,19 +VTS,1,6,1140,7.29,CSH,22.5 +VTS,1,6,1380,4.63,CSH,18.5 +VTS,1,6,300,0.95,CSH,5.5 +VTS,1,6,240,0.67,CSH,5 +VTS,1,6,240,0.54,CSH,4.5 +VTS,1,6,1080,2.16,CRD,13 +VTS,1,6,1200,3.18,CRD,14.5 +VTS,1,6,540,2.32,CSH,9.5 +VTS,1,6,540,0.74,CRD,7 +VTS,1,6,720,3.02,CRD,12 +VTS,1,6,1560,8.96,CRD,29.5 +VTS,1,6,1980,9.89,CRD,32.5 +VTS,1,6,1020,3.9,CSH,15 +VTS,1,6,360,0.71,CRD,5.5 +VTS,1,6,840,2.33,CSH,11.5 +VTS,1,6,1560,7.63,CRD,26.5 +VTS,1,6,720,2.66,CRD,11 +VTS,1,6,300,0.91,CSH,5.5 +VTS,1,6,720,1.98,CRD,10 +VTS,1,6,240,1.16,CSH,5.5 +VTS,1,6,2040,11.82,CRD,35.5 +VTS,1,6,1140,1.91,CRD,13 +VTS,1,6,720,1.66,CRD,9 +VTS,1,6,1020,5.03,CRD,17 +VTS,1,6,360,0.93,CSH,6 +VTS,1,6,660,1.31,CSH,8.5 +VTS,1,6,2040,10.19,CSH,33.5 +VTS,1,6,360,1.67,CSH,7.5 +VTS,1,1,1560,11.5,CRD,35 +VTS,3,1,1860,18.3,CRD,68 +VTS,1,1,900,4.23,CRD,16 +VTS,1,1,900,2.23,CRD,11.5 +VTS,1,1,180,0.6,CSH,4 +VTS,1,1,780,1.86,CRD,10 +VTS,2,1,1800,16.99,CSH,52 +VTS,1,6,540,1.06,CRD,7.5 +VTS,1,6,720,2.56,CSH,11.5 +VTS,1,6,1080,7.41,CSH,21.5 +VTS,1,6,1260,5.74,CRD,20.5 +VTS,1,6,900,8.21,CSH,24 +VTS,1,6,180,0.57,CSH,4 +VTS,1,6,420,1.58,CSH,8 +VTS,1,6,2700,11.33,CRD,40 +VTS,1,6,360,0.69,CRD,5.5 +VTS,1,6,600,2.05,CRD,9.5 +VTS,1,6,1800,7.27,CSH,26 +VTS,1,6,660,1.12,CSH,8 +VTS,1,6,1380,8.35,CRD,27 +VTS,1,6,1680,8.14,CSH,28 +VTS,1,6,420,0.58,CRD,6 +VTS,1,6,300,0.7,CRD,5 +VTS,1,6,480,1.93,CSH,8 +VTS,1,6,420,1.17,CRD,7 +VTS,1,6,720,3,CSH,12 +VTS,1,6,300,0.97,CRD,5.5 +VTS,1,1,1440,11.45,CSH,33.5 +VTS,1,1,180,0.4,CSH,4 +VTS,1,1,1200,8.59,CSH,26.5 +VTS,1,1,960,10.46,CSH,29 +VTS,2,1,1860,17.73,CRD,52 +VTS,1,1,600,4.84,CRD,15 +VTS,1,6,600,2.82,CSH,11 +VTS,1,6,360,2.11,CSH,8.5 +VTS,1,6,420,1.24,CSH,6.5 +VTS,1,6,420,1.27,CRD,7 +VTS,1,6,240,0.67,CSH,5 +VTS,1,6,1620,6.92,CRD,24.5 +VTS,1,6,2280,9.65,CRD,34 +VTS,1,6,420,1.09,CRD,6.5 +VTS,1,6,960,3.36,CRD,14 +VTS,1,6,1020,3.29,CSH,13.5 +VTS,1,6,1260,10.95,CSH,31 +VTS,1,6,300,1.31,CRD,6 +VTS,1,6,420,1.83,CRD,8 +VTS,1,6,360,0.72,CRD,5.5 +VTS,1,6,480,1.44,CRD,7.5 +VTS,1,6,1560,9.53,CRD,30 +VTS,1,6,420,1.27,CRD,7 +VTS,1,6,480,1.32,CRD,7.5 +VTS,1,6,600,1.8,CSH,8.5 +VTS,1,6,660,1.31,CSH,9 +VTS,1,6,480,1.58,CRD,8 +VTS,1,6,480,1.46,CRD,7 +VTS,1,6,420,1.12,CRD,7 +VTS,1,6,600,2.03,CSH,9 +VTS,1,6,180,1.31,CSH,5.5 +VTS,1,6,480,1.72,CRD,8.5 +VTS,1,3,1200,2.45,CSH,14.5 +VTS,1,3,360,1.31,CSH,6.5 +VTS,1,2,240,0.88,CSH,5.5 +VTS,1,3,720,1.29,CSH,9 +VTS,1,3,420,0.94,CRD,6.5 +VTS,1,2,600,1.93,CSH,9 +VTS,1,2,900,4.06,CRD,14.5 +VTS,1,3,540,2.08,CRD,9.5 +VTS,1,2,480,3.07,CSH,10.5 +VTS,1,3,720,5.17,CRD,16.5 +VTS,1,2,1200,4.63,CRD,18 +VTS,1,2,900,3.76,CRD,13.5 +VTS,1,2,960,4.54,CSH,16.5 +VTS,1,1,660,0.63,CRD,8 +VTS,1,2,720,0.86,CRD,8.5 +VTS,1,6,180,0.78,CSH,5 +VTS,1,6,180,0.84,CRD,4.5 +VTS,1,6,1020,8.67,CSH,25.5 +VTS,1,6,960,2.66,CRD,12.5 +VTS,1,6,540,0.97,CRD,7 +VTS,1,6,300,1.06,CSH,6 +VTS,1,6,300,0.89,CRD,5.5 +VTS,1,6,420,1.06,CRD,6.5 +VTS,1,6,420,1.54,CSH,7.5 +VTS,1,6,720,2.03,CSH,9.5 +VTS,1,6,540,2.43,CSH,9.5 +VTS,1,6,300,0.88,CRD,5.5 +VTS,1,6,360,1.03,CSH,6 +VTS,1,6,480,3.31,CRD,11 +VTS,1,6,1740,12.49,CSH,37 +VTS,1,6,360,1.04,CSH,6 +VTS,1,6,840,2.7,CRD,11.5 +VTS,1,6,360,1.53,CSH,7 +VTS,1,6,120,0.53,CSH,4 +VTS,1,6,600,1.39,CRD,8 +VTS,1,6,960,3.19,CSH,13.5 +VTS,1,6,900,2.3,CSH,11.5 +VTS,1,6,1080,1.92,CRD,12 +VTS,1,6,1020,2.93,CRD,13 +VTS,1,6,660,1.16,CRD,8 +VTS,1,6,840,3.23,CSH,13 +VTS,1,6,120,0.43,CSH,4 +VTS,1,6,1560,2.54,CRD,16.5 +VTS,1,6,840,1.32,CRD,10 +VTS,1,6,1080,0.71,CSH,11 +VTS,1,6,480,1.05,CRD,7 +VTS,1,6,1500,1.2,CSH,15 +VTS,1,6,420,1.87,CRD,8 +VTS,1,6,1200,4.33,CRD,18 +VTS,1,6,780,2.41,CRD,11.5 +VTS,1,6,360,0.82,CSH,6 +VTS,1,6,780,2.51,CSH,11 +VTS,1,2,720,1.65,CRD,9.5 +VTS,1,3,600,1.43,CSH,8.5 +VTS,1,3,960,3.17,CRD,13 +VTS,1,2,540,1.55,CSH,7.5 +VTS,1,2,780,2.02,CRD,11 +VTS,1,2,240,0.64,CRD,5 +VTS,1,2,360,1.09,CRD,6.5 +VTS,1,2,480,1.89,CSH,8.5 +VTS,1,3,540,1.5,CRD,8.5 +VTS,2,2,1980,17.76,CSH,52 +VTS,1,2,120,0.45,CSH,4 +VTS,1,2,600,1.51,CSH,8.5 +VTS,1,3,180,0.57,CSH,4 +VTS,1,2,600,1.2,CSH,8 +VTS,1,2,480,1.3,CSH,7.5 +VTS,1,2,780,1.34,CSH,9.5 +VTS,1,2,660,4.52,CSH,15.5 +VTS,1,3,1500,5.04,CRD,21.5 +VTS,1,2,300,0.99,CSH,5.5 +VTS,1,2,540,1.49,CRD,8.5 +VTS,1,2,300,1.02,CSH,5.5 +VTS,1,3,600,1.82,CSH,8.5 +VTS,1,2,180,0.81,CSH,5 +VTS,1,3,180,1.53,CSH,6 +VTS,1,2,360,1.3,CSH,6 +VTS,1,2,480,1.64,CRD,8 +VTS,1,2,840,1.69,CRD,10.5 +VTS,1,2,360,0.97,CSH,6 +VTS,1,2,3540,3.6,CSH,17.5 +VTS,1,3,420,1.55,CRD,7.5 +VTS,1,2,780,2.55,CRD,11.5 +VTS,1,3,720,1.76,CSH,9.5 +VTS,1,2,540,0.54,CRD,7 +VTS,1,6,1920,11.95,CSH,33.5 +VTS,1,6,300,1.45,CRD,6 +VTS,1,6,1200,5.05,CRD,18.5 +VTS,1,6,480,1.48,CSH,8 +VTS,1,6,480,1.31,CSH,7.5 +VTS,1,6,840,1.68,CSH,10 +VTS,1,6,480,1.55,CSH,8 +VTS,1,6,720,3.09,CRD,12 +VTS,1,6,180,0.58,CSH,4 +VTS,1,6,2100,9.58,CSH,34 +VTS,1,6,480,2.56,CRD,9.5 +VTS,1,6,840,1.02,CSH,9.5 +VTS,1,6,180,0.36,CSH,4 +VTS,1,6,300,1.14,CRD,6 +VTS,1,6,540,1.73,CSH,8.5 +VTS,1,6,480,1.24,CRD,7.5 +VTS,1,6,540,1.88,CRD,8.5 +VTS,1,6,2880,14.7,CRD,47.5 +VTS,1,6,1020,3.97,CSH,15 +VTS,1,6,840,2.23,CRD,11.5 +VTS,1,6,300,0.5,CSH,5 +VTS,1,6,420,1.53,CSH,7.5 +VTS,1,6,1500,2.23,CRD,16.5 +VTS,1,6,780,3.18,CSH,13 +VTS,1,6,720,3.34,CRD,12.5 +VTS,1,6,660,3.24,CRD,12 +VTS,1,6,540,1.38,CRD,7.5 +VTS,1,6,1140,5.11,CRD,19 +VTS,1,6,600,2.81,CRD,11 +VTS,1,6,1140,8.13,CRD,23.5 +VTS,1,6,1620,3.51,CRD,18.5 +VTS,1,6,600,0.85,CRD,7.5 +VTS,1,6,480,1.08,CSH,7 +VTS,1,6,420,1.44,CRD,7.5 +VTS,2,1,1500,16.47,CSH,52 +VTS,3,1,2880,28.36,CSH,94 +VTS,5,2,0,0.26,CRD,85 +VTS,1,1,180,0.53,CRD,4 +VTS,2,1,1680,20.18,CRD,52 +VTS,1,1,780,3.21,CSH,12 +VTS,1,1,960,3.84,CSH,15 +VTS,1,1,2460,13.03,CRD,42 +VTS,1,1,1500,4.79,CRD,20 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,840,8.48,CRD,24.5 +VTS,1,1,660,3.07,CSH,11.5 +VTS,1,1,420,1.36,CRD,7 +VTS,1,6,360,1.79,CRD,7.5 +VTS,1,6,480,1.98,CRD,8 +VTS,1,6,1200,4.87,CRD,18 +VTS,1,6,300,2.36,CRD,8.5 +VTS,1,6,420,0.92,CSH,6.5 +VTS,1,6,840,8.23,CRD,23.5 +VTS,1,6,240,0.68,CRD,4.5 +VTS,1,6,420,2,CRD,8.5 +VTS,1,6,360,1.26,CSH,6.5 +VTS,1,6,900,6.67,CRD,20.5 +VTS,1,6,420,0.57,CRD,6 +VTS,1,6,1020,3.47,CRD,15 +VTS,1,6,540,1.11,CRD,7.5 +VTS,1,6,480,0.73,CRD,7 +VTS,1,6,480,1.6,CRD,8 +VTS,1,1,360,1.06,CRD,6 +VTS,2,1,2220,19.16,CRD,52 +VTS,1,1,360,0.79,CRD,6 +VTS,1,1,780,4.28,CSH,14.5 +VTS,1,1,840,5.5,CRD,18 +VTS,1,1,1140,1.38,CSH,12.5 +VTS,1,1,180,0.6,CSH,4 +VTS,1,1,360,0.5,CRD,5.5 +VTS,1,1,2760,10.64,CRD,39 +VTS,1,1,360,1.7,CSH,7.5 +VTS,1,1,360,0.87,CRD,6 +VTS,1,1,480,2.45,CRD,10 +VTS,2,1,0,0,CRD,52 +VTS,1,1,1200,3.25,CRD,15.5 +VTS,1,2,1440,9.71,CRD,29.5 +VTS,5,1,0,0,CRD,75 +VTS,1,1,300,0.77,CSH,5.5 +VTS,1,1,1320,2.32,CSH,15 +VTS,1,1,960,1.61,CSH,11.5 +VTS,1,1,360,0.85,CRD,6 +VTS,1,1,840,1.49,CRD,10.5 +VTS,1,1,540,1.12,CSH,7.5 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,2,780,4.33,CRD,15 +VTS,1,1,540,1.69,CRD,8.5 +VTS,1,1,240,1.26,CRD,6 +VTS,1,1,1260,8.39,CRD,26.5 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,720,1.9,CRD,9.5 +VTS,1,1,120,0.49,CSH,4 +VTS,1,1,1260,6.99,CRD,23 +VTS,1,1,420,1.01,CSH,6 +VTS,1,1,480,0.77,CSH,6.5 +VTS,1,1,780,2.19,CSH,11 +VTS,1,1,480,0.94,CSH,7 +VTS,1,1,1140,3.51,CRD,15 +VTS,1,1,1080,5.31,CSH,19 +VTS,1,1,1020,3.82,CRD,15 +VTS,1,6,2040,8.87,CRD,29 +VTS,1,6,540,1.1,CSH,7.5 +VTS,1,6,720,2.08,CRD,10 +VTS,1,6,780,2,CRD,10.5 +VTS,1,6,660,1.22,CRD,8 +VTS,1,6,300,2.09,CRD,8 +VTS,1,6,1020,1.77,CRD,12.5 +VTS,1,6,420,0.91,CSH,6.5 +VTS,1,1,2340,17.73,CSH,51 +VTS,1,1,600,2.22,CSH,9.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,1560,11.36,CSH,34 +VTS,1,1,1140,9.23,CRD,26 +VTS,2,1,1380,16.92,CRD,52 +VTS,1,1,420,1.4,CRD,7.5 +VTS,1,1,420,2.36,CSH,8.5 +VTS,1,1,240,1.13,CSH,5.5 +VTS,1,1,420,2.06,CRD,8.5 +VTS,1,1,420,0.74,CRD,6 +VTS,1,1,660,0.98,CRD,8.5 +VTS,1,1,180,0.71,CSH,4 +VTS,2,1,1620,17.65,CRD,52 +VTS,1,1,1200,2.93,CSH,14.5 +VTS,1,1,600,1.41,CSH,8 +VTS,1,1,660,0.97,CRD,8.5 +VTS,1,1,1380,5.54,CRD,21.5 +VTS,1,1,540,1.01,CSH,7.5 +VTS,1,1,2100,20.19,CSH,54 +VTS,1,1,1140,10.71,CRD,30.5 +VTS,1,1,300,1.36,CSH,6.5 +VTS,1,1,1320,11.95,CRD,33.5 +VTS,1,1,1500,9.68,CSH,30 +VTS,1,1,1080,10.52,CRD,30 +VTS,1,1,300,1.53,CRD,6.5 +VTS,1,1,180,0.58,CSH,4 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,780,2.24,CRD,11 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,1,780,6.43,CSH,20 +VTS,1,1,540,2.05,CSH,9 +VTS,1,1,840,1.71,CRD,10.5 +VTS,1,1,1440,4.29,CRD,18 +VTS,1,1,180,0.45,CRD,4 +VTS,1,1,1320,11.09,CRD,32 +VTS,1,1,300,1.41,CRD,6.5 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,1,600,2.69,CRD,10 +VTS,1,1,300,0.78,CSH,5 +VTS,1,1,60,0.13,CRD,3 +CMT,1,1,1007,9.9,CRD,27.5 +VTS,1,1,780,4.01,CSH,14 +VTS,1,1,1020,3.68,CRD,15.5 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,1380,6.57,CRD,22.5 +VTS,1,1,420,0.93,CRD,6 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,1,480,1.49,CSH,7.5 +VTS,1,1,600,2.63,CRD,10 +VTS,1,1,660,2.38,CRD,11 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,180,0.93,CRD,5 +VTS,1,1,780,3.01,CSH,12 +VTS,1,1,240,1.07,CRD,5.5 +VTS,1,1,180,1.24,CSH,5.5 +VTS,1,1,300,1.04,CRD,6 +VTS,1,1,720,1.66,CRD,9.5 +VTS,1,1,660,0.8,CSH,8 +CMT,1,1,626,5,CSH,16 +CMT,1,1,749,4.2,CRD,14.5 +CMT,1,2,687,3.6,CSH,12.5 +CMT,4,1,1520,17.5,CSH,57 +CMT,1,1,664,5.3,CSH,16.5 +CMT,1,2,462,0.8,CSH,6.5 +CMT,1,2,717,0.9,CRD,8.5 +CMT,1,1,601,1.7,CRD,9 +VTS,1,1,780,1.98,CRD,10.5 +VTS,1,1,360,0.91,CSH,6 +VTS,1,1,480,1.54,CSH,7.5 +VTS,1,1,300,0.75,CSH,5 +VTS,1,1,660,1.46,CSH,9 +VTS,1,1,420,0.59,CSH,6 +VTS,1,1,480,0.91,CSH,7 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,240,0.54,CRD,4.5 +VTS,1,1,420,0.88,CSH,6.5 +VTS,1,1,420,0.8,CSH,6.5 +VTS,1,1,660,1.05,CSH,9 +VTS,1,1,240,0.72,CSH,5 +VTS,1,1,720,1.47,CSH,9 +VTS,1,1,780,2.38,CRD,11 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,600,2.11,CSH,9.5 +VTS,1,1,1260,3.9,CRD,17 +VTS,1,1,2040,12.42,CSH,38 +VTS,1,1,900,7.75,CRD,22.5 +VTS,1,1,360,0.79,CRD,6 +CMT,2,1,24,0,CRD,52 +CMT,1,1,696,3.7,CSH,13 +CMT,1,1,653,1.2,CRD,8.5 +VTS,1,6,900,3.5,CRD,13 +VTS,1,6,840,1.95,CRD,11 +VTS,1,6,360,1.16,CSH,6.5 +VTS,1,6,180,0.62,CRD,4.5 +VTS,1,6,1740,13.98,CSH,41 +VTS,1,6,360,2.02,CRD,7.5 +VTS,1,6,1200,3.09,CSH,14.5 +VTS,1,6,480,1.69,CRD,8 +VTS,1,6,1080,4.31,CRD,16.5 +VTS,1,6,360,2.05,CSH,8.5 +VTS,1,6,660,1.76,CRD,9.5 +VTS,1,6,1020,9.06,CSH,26.5 +VTS,1,6,360,0.92,CRD,6.5 +VTS,1,6,1680,10.2,CRD,30.5 +VTS,1,6,1680,10.57,CRD,33 +VTS,1,6,840,2.18,CRD,11.5 +VTS,1,6,1500,8.66,CRD,27 +VTS,1,6,180,0.65,CRD,4.5 +VTS,1,6,300,1.16,CSH,6 +VTS,1,6,1140,8.85,CRD,26.5 +VTS,1,6,360,0.8,CRD,6 +VTS,1,6,840,4.8,CSH,17 +VTS,1,6,780,0.72,CSH,9 +VTS,1,6,240,0.51,CRD,4.5 +VTS,1,6,840,4.9,CSH,16 +VTS,1,6,360,1.23,CRD,6.5 +VTS,1,6,1020,2.24,CRD,12 +VTS,1,6,600,1.11,CRD,8 +VTS,1,6,1200,2.13,CSH,13.5 +VTS,1,6,840,2.79,CSH,12 +VTS,1,6,1140,10.31,CSH,29.5 +VTS,1,1,1200,11.71,CRD,32.5 +VTS,2,1,2100,17.85,CRD,52 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,660,3.18,CSH,12 +VTS,2,1,1200,16.52,CRD,52 +VTS,1,1,2640,13.24,CRD,42 +VTS,2,1,2340,16.18,CSH,52 +VTS,1,1,1320,7.93,CSH,25 +VTS,1,1,300,0.5,CSH,4.5 +VTS,1,1,1980,8.05,CSH,30 +VTS,1,1,420,0.52,CRD,6 +VTS,1,1,420,1.16,CRD,7 +VTS,1,1,600,0.84,CRD,7.5 +VTS,1,1,480,0.64,CSH,6.5 +VTS,1,1,480,1.45,CSH,7.5 +VTS,2,1,1800,18.19,CSH,52 +VTS,1,1,1020,10.22,CRD,28 +VTS,1,1,360,1.05,CRD,6.5 +VTS,1,1,540,1.96,CSH,8 +VTS,1,1,780,1.18,CRD,9.5 +VTS,1,1,540,1.8,CSH,9 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,1500,3.93,CSH,19.5 +VTS,1,1,480,0.97,CSH,6.5 +VTS,1,1,960,2.09,CRD,12.5 +VTS,1,1,660,1.32,CRD,8.5 +VTS,1,1,480,1.36,CSH,8 +VTS,2,1,1740,18.89,CRD,52 +VTS,1,1,420,1.06,CSH,6 +VTS,1,1,1020,1.82,CRD,12 +VTS,1,1,720,0.71,CRD,8.5 +VTS,1,1,600,1.71,CRD,8.5 +VTS,1,1,1320,5.05,CSH,19.5 +VTS,1,1,1080,4.91,CRD,17 +VTS,1,1,540,2.29,CRD,10 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,420,1.63,CRD,7.5 +VTS,1,1,780,3.45,CSH,13 +VTS,1,1,360,1.54,CRD,7 +VTS,1,1,480,2.37,CSH,9 +VTS,1,1,240,0.65,CRD,5 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,540,1.13,CRD,8 +VTS,1,1,180,0.73,CSH,4.5 +CMT,1,4,651,3,CSH,11.5 +CMT,1,2,254,0.5,CSH,4.5 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,420,2.18,CSH,8.5 +VTS,1,1,120,0.65,CRD,4 +VTS,1,1,120,0.71,CSH,4.5 +VTS,1,1,480,2.5,CSH,9.5 +VTS,1,1,1020,4.78,CRD,17 +VTS,1,1,960,1.48,CRD,10.5 +VTS,1,1,360,0.89,CSH,5.5 +VTS,1,1,1020,1.62,CRD,12 +CMT,1,1,933,8.1,CSH,24 +CMT,1,1,554,1.5,CSH,8.5 +CMT,1,2,438,1.5,CSH,7.5 +CMT,1,2,329,1.8,CRD,7.5 +CMT,1,1,848,5.7,CSH,18.5 +CMT,1,1,549,2.1,CSH,9 +CMT,1,1,149,0.6,CSH,4 +CMT,1,2,316,0.6,CSH,5.5 +CMT,1,2,1038,3.9,CRD,16 +CMT,1,1,379,1.3,CSH,6.5 +CMT,1,1,662,2.7,CRD,11 +CMT,1,3,565,2,CRD,9 +CMT,1,2,400,0.9,CRD,6 +CMT,1,1,289,1.1,CSH,6 +CMT,1,1,2792,13.6,CSH,44.5 +CMT,1,1,180,0.7,CRD,4.5 +CMT,1,1,400,2.3,CSH,8.5 +CMT,1,1,550,0.9,CRD,7.5 +CMT,1,2,993,1.8,CSH,11.5 +CMT,1,1,697,2,CRD,10 +CMT,1,1,657,2.5,CSH,11 +CMT,1,1,625,1.8,CSH,9 +CMT,1,4,708,1.6,CSH,9.5 +CMT,1,1,920,4.3,CSH,16 +CMT,1,1,331,1,CRD,6 +CMT,1,1,190,0.6,CSH,4.5 +CMT,1,2,1523,5.5,CRD,20.5 +CMT,1,1,1109,5.7,CRD,18.5 +CMT,1,1,1297,9.5,CSH,28 +CMT,1,3,867,3,CSH,12.5 +CMT,1,1,160,0.7,CSH,4.5 +CMT,1,1,336,1.7,CSH,7.5 +CMT,1,2,845,3.6,CSH,14.5 +CMT,1,1,328,1.3,CSH,6.5 +CMT,1,2,233,0.9,CRD,5 +CMT,1,1,533,1,CSH,7.5 +CMT,1,1,458,1.7,CSH,8 +CMT,1,2,136,1,CRD,4.5 +CMT,1,1,590,1.7,CRD,8.5 +CMT,1,1,356,0.6,CRD,5.5 +CMT,1,1,164,0.6,CRD,4 +CMT,1,1,299,1,CSH,5.5 +CMT,1,1,124,0.5,CRD,4 +VTS,1,1,660,1.97,CSH,10 +VTS,1,1,1080,3.28,CRD,14.5 +VTS,1,1,1200,5.11,CSH,18.5 +VTS,1,1,840,2.77,CRD,12.5 +VTS,1,1,180,0.51,CSH,4.5 +VTS,1,1,1260,2.9,CRD,15.5 +VTS,1,1,600,2.16,CSH,9.5 +VTS,1,1,1440,4.25,CRD,17.5 +VTS,1,1,480,2.08,CSH,8.5 +VTS,1,1,660,2.46,CSH,11 +CMT,1,1,1245,9.7,CSH,29.5 +CMT,1,1,432,0.9,CSH,6.5 +CMT,1,1,2253,2.8,CSH,2.5 +CMT,1,1,711,1.2,CRD,8.5 +CMT,1,4,379,1.5,CSH,7 +CMT,1,1,482,0.9,CRD,7 +CMT,1,1,50,0,NOC,2.5 +CMT,1,1,480,0.7,CSH,6.5 +CMT,1,3,215,1,CRD,5 +CMT,1,4,530,0.9,CSH,7.5 +CMT,1,1,532,1.6,CRD,8 +CMT,1,2,196,0.6,CSH,4.5 +CMT,1,2,486,3.3,CSH,11.5 +CMT,1,1,250,0.9,CSH,5 +CMT,1,1,764,4.2,CRD,14.5 +CMT,1,1,534,1.2,CSH,7.5 +CMT,1,1,710,2.3,CRD,10.5 +CMT,1,1,848,2,CRD,10.5 +CMT,1,1,892,1.5,CRD,10.5 +CMT,1,1,715,2.2,CRD,10.5 +CMT,1,1,604,2.1,CSH,9 +CMT,1,2,1010,6.1,CSH,19.5 +CMT,1,1,257,1.1,CSH,5.5 +CMT,1,1,322,1.1,CRD,6 +CMT,1,1,510,1.4,CSH,8 +CMT,1,1,315,0.7,CSH,5.5 +CMT,1,1,704,1.9,CRD,9.5 +CMT,1,3,395,1,CSH,6.5 +CMT,1,2,999,1.7,CRD,11.5 +CMT,1,1,1001,3.9,CSH,15 +CMT,1,2,641,2.1,CRD,10 +CMT,1,1,758,3.2,CRD,12 +CMT,1,1,580,1.9,CSH,9 +CMT,1,1,750,1.6,CSH,9.5 +CMT,1,1,810,0.8,CSH,9 +CMT,1,1,467,1,CSH,7 +CMT,1,1,494,1.3,CRD,7.5 +CMT,1,1,508,2.3,CSH,9 +CMT,1,1,182,0.7,CSH,4.5 +CMT,1,1,564,1.3,CRD,8 +CMT,1,1,1190,4.1,CSH,17 +CMT,5,1,32,0,CRD,20 +CMT,1,1,498,1.6,CRD,8 +CMT,1,1,795,1.6,CRD,10 +CMT,1,1,401,0.8,CRD,6 +CMT,1,1,788,3,CRD,12 +CMT,1,1,879,2.1,CRD,11 +CMT,1,2,1298,6.3,CSH,22.5 +CMT,1,1,749,1.6,CRD,10 +CMT,1,1,157,0.5,CRD,4 +CMT,1,1,2086,11.7,CSH,39 +CMT,1,2,557,1.1,CRD,7.5 +CMT,1,1,256,0.8,CSH,5 +CMT,1,1,313,1,CRD,6 +CMT,1,1,1031,7.2,CRD,22 +CMT,1,1,344,1.9,CSH,7.5 +CMT,1,4,1138,13.4,CSH,36.5 +CMT,1,1,531,2.4,CSH,10 +CMT,1,1,605,2,CSH,10 +CMT,1,1,1005,4.3,CRD,17 +CMT,1,1,846,3.3,CRD,14 +CMT,1,1,1532,5.9,CRD,22 +CMT,1,1,705,1.1,CSH,8.5 +CMT,1,1,306,0.7,CRD,5 +CMT,1,1,600,3.3,CRD,12.5 +CMT,1,1,30,0.8,DIS,6 +CMT,2,1,1624,15.8,CRD,52 +CMT,1,1,871,3.4,CSH,13 +VTS,1,6,1560,6.36,CSH,22 +VTS,1,6,360,2.01,CRD,8 +VTS,1,6,720,2.13,CRD,10.5 +VTS,1,6,1020,1.59,CRD,11.5 +VTS,1,6,360,0.88,CRD,5.5 +VTS,1,6,180,1.27,CSH,5.5 +VTS,1,1,0,0.09,CSH,2.5 +VTS,1,1,180,1.03,CSH,5 +VTS,1,1,420,0.72,CSH,7 +VTS,1,1,480,1.38,CRD,7.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,480,1.41,CSH,7.5 +VTS,1,1,660,2.71,CSH,11 +VTS,1,1,60,0.61,CSH,4 +VTS,2,1,2400,17.66,CSH,52 +VTS,1,1,2040,15.94,CRD,45.5 +VTS,2,1,1740,17.26,CRD,52 +VTS,2,1,1140,14.96,CSH,52 +VTS,1,1,660,2.32,CRD,10.5 +VTS,1,1,1260,6.64,CRD,22 +VTS,1,1,780,1.67,CRD,10 +VTS,1,1,120,0.41,CRD,3.5 +VTS,1,1,420,1.03,CSH,6.5 +VTS,1,1,480,0.82,CRD,6.5 +VTS,1,1,1620,11.4,CSH,35 +VTS,1,1,660,3.89,CRD,13.5 +VTS,1,1,240,0.98,CRD,5 +VTS,1,1,780,1.38,CSH,9.5 +VTS,1,1,120,0.28,CSH,3.5 +VTS,1,1,360,1.09,CRD,6.5 +VTS,1,1,1020,3.35,CSH,14.5 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,840,2.63,CSH,12 +VTS,1,1,420,1.38,CRD,7 +VTS,1,1,660,1.67,CRD,9 +VTS,1,1,960,2.81,CRD,13.5 +VTS,1,1,240,0.62,CRD,5 +VTS,1,1,660,2.44,CRD,10.5 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,480,1.45,CRD,7.5 +VTS,1,1,1440,4.63,CRD,19.5 +CMT,1,2,434,1.8,CSH,8 +CMT,1,1,575,4.1,CSH,13 +CMT,1,1,531,2.4,CSH,9.5 +CMT,1,1,147,0.3,CSH,3.5 +CMT,1,1,310,1.1,CSH,6 +CMT,1,1,660,1.2,CSH,8.5 +CMT,1,1,658,0.9,CSH,8 +CMT,1,1,1001,3.3,CRD,14 +CMT,1,3,1244,3.2,CSH,15.5 +CMT,1,1,338,1,CSH,6 +CMT,1,1,491,1.6,CRD,7.5 +VTS,1,6,960,8.13,CRD,23.5 +VTS,1,6,420,1.47,CRD,7.5 +VTS,1,6,1440,19.02,CRD,50 +VTS,1,1,1020,8.62,CSH,25.5 +VTS,1,1,180,0.69,CSH,4.5 +VTS,2,1,2100,18.64,CRD,52 +VTS,1,1,1200,10.49,CSH,30.5 +VTS,1,1,600,1.88,CSH,9 +VTS,1,1,1080,5.45,CRD,19.5 +VTS,1,1,1260,5.77,CRD,20 +VTS,1,1,1320,11.13,CRD,32.5 +VTS,1,1,1320,9.86,CRD,29.5 +VTS,1,1,180,1.13,CRD,5.5 +VTS,1,1,720,3.45,CSH,13 +VTS,1,1,1140,11.14,CRD,31 +VTS,1,1,1440,11.75,CRD,33.5 +VTS,1,1,660,2.84,CSH,11.5 +VTS,1,1,660,2.81,CRD,11 +VTS,1,1,1020,2.78,CRD,13 +VTS,2,1,2220,16.92,CSH,52 +VTS,1,1,540,1.49,CSH,7.5 +VTS,1,1,1200,2.39,CRD,13.5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,2,1,1680,17.23,CSH,52 +VTS,1,1,420,2.85,CRD,10 +VTS,1,1,360,2.51,CRD,9 +VTS,1,1,2460,9.34,CRD,34.5 +CMT,1,3,320,0.8,CSH,5.5 +CMT,1,1,842,2.1,CRD,11 +CMT,1,1,225,1,CSH,5 +CMT,1,2,585,1.3,CSH,8.5 +CMT,1,1,458,1.8,CSH,7.5 +CMT,1,1,1278,5.9,CSH,20 +CMT,1,2,543,2.1,CRD,9 +CMT,1,1,524,1.6,CRD,8 +CMT,1,1,507,2.2,CSH,9 +CMT,1,1,371,1.3,CSH,6.5 +CMT,1,1,638,3.4,CRD,12 +CMT,1,1,395,1.3,CRD,7 +CMT,1,1,269,0.8,CSH,5 +CMT,1,1,329,1.7,CSH,7 +CMT,1,1,2142,7.3,CSH,28.5 +CMT,1,1,673,1.5,CSH,8.5 +CMT,1,2,482,1,CSH,7 +CMT,1,1,322,1.1,CRD,6 +CMT,1,3,162,0.3,CSH,4 +CMT,1,1,547,1.5,CRD,8 +CMT,1,1,234,0.8,CSH,5 +CMT,1,1,532,1.2,CSH,7.5 +CMT,1,2,665,0.9,CSH,8 +CMT,1,1,997,1.7,CSH,11.5 +CMT,1,1,934,2.8,CRD,12 +CMT,1,1,286,1.1,CRD,6 +CMT,1,1,617,1.9,CRD,9 +CMT,1,1,501,1.3,CRD,7.5 +CMT,1,1,1067,12.2,CRD,33 +CMT,1,1,1994,10.9,CSH,33.5 +CMT,1,1,990,1.3,CRD,11 +CMT,1,1,413,0.5,CSH,6 +CMT,1,1,640,0.9,CSH,8 +CMT,1,1,2206,11,CRD,36.5 +CMT,1,1,891,6.3,CSH,20 +CMT,1,1,1653,12.8,CRD,37.5 +CMT,1,1,1225,4,CSH,17 +CMT,1,2,539,1.7,CRD,8.5 +CMT,1,1,466,1.2,CRD,7 +CMT,1,1,194,0.7,CRD,4.5 +CMT,1,1,698,5.8,CRD,18 +CMT,1,3,550,1.9,CSH,9 +CMT,1,1,244,1.1,CRD,5.5 +CMT,1,1,655,2.2,CSH,10 +CMT,1,3,329,1.7,CSH,7 +CMT,1,1,250,0.8,CSH,5 +CMT,1,1,591,2.5,CSH,10.5 +CMT,1,1,595,2.2,CRD,9.5 +CMT,1,1,411,1.3,CRD,7 +CMT,1,1,730,3.6,CRD,13 +CMT,2,1,2353,15.6,CSH,52 +CMT,1,3,702,3.8,CRD,13.5 +CMT,1,4,287,1.5,CSH,6.5 +CMT,1,1,956,2.9,CSH,13 +CMT,1,2,1089,3.2,CSH,14 +CMT,1,1,798,3.5,CRD,12.5 +CMT,1,2,460,1.7,CRD,8 +CMT,1,2,945,2.7,CRD,12.5 +CMT,1,1,177,1.3,CRD,5.5 +CMT,1,2,752,2.4,CSH,11 +CMT,1,1,565,1,CSH,7.5 +CMT,1,1,409,0.9,CRD,6.5 +CMT,1,4,2355,1.5,CRD,7 +CMT,1,2,289,1,CRD,5.5 +CMT,1,2,393,1.8,CSH,7.5 +CMT,1,1,2212,7.8,CRD,28.5 +CMT,1,2,822,2.9,CRD,12 +CMT,1,1,313,0.9,CRD,6 +CMT,1,1,284,0.8,CSH,5.5 +CMT,1,1,1194,6,CSH,22 +CMT,1,1,323,0.7,CSH,5.5 +CMT,1,1,108,0.3,CSH,3.5 +CMT,1,1,1165,3.3,CSH,14.5 +CMT,1,1,120,0.6,CSH,4 +CMT,1,2,1470,11.2,CSH,33.5 +CMT,1,1,825,3.2,CSH,13 +CMT,1,1,272,0.9,CSH,5 +CMT,1,1,340,0.8,CSH,5.5 +CMT,1,2,633,3.4,CRD,12 +CMT,1,1,887,6.2,CSH,19.5 +CMT,1,1,251,0.7,CSH,5 +CMT,1,1,288,1,CSH,5.5 +CMT,1,1,418,1.1,CRD,7 +CMT,1,2,316,1.1,CSH,6 +CMT,1,1,505,1.9,CRD,9 +CMT,1,1,608,1.4,CRD,8.5 +CMT,1,1,1151,9.9,CRD,28.5 +CMT,1,2,1108,2.7,CSH,14.5 +CMT,1,1,559,2.6,CSH,10 +CMT,1,1,225,0.9,CRD,5 +CMT,1,2,789,5.8,CSH,18.5 +CMT,1,2,782,2.5,CRD,11.5 +CMT,1,1,622,1.9,CRD,9.5 +CMT,1,1,1125,7.9,CSH,24 +CMT,1,1,329,0.6,CSH,5.5 +CMT,1,2,547,1.3,CSH,8 +CMT,1,1,286,0.8,CRD,5 +CMT,1,1,842,1.7,CRD,10.5 +CMT,1,1,75,0.3,CRD,3 +CMT,1,3,873,2.8,CSH,12 +CMT,1,1,285,0.5,CSH,5 +CMT,1,2,579,2.1,CSH,10 +CMT,1,1,1039,2.6,CRD,13.5 +CMT,1,3,668,2.4,CSH,10.5 +CMT,1,2,214,0.6,CRD,4.5 +CMT,1,1,797,6.6,CSH,20.5 +CMT,1,1,655,1.7,CRD,9 +CMT,1,1,3,0,NOC,2.5 +CMT,1,1,387,1.6,CSH,7 +CMT,1,1,617,2.8,CSH,10.5 +CMT,1,2,979,5.3,CSH,18.5 +CMT,1,2,398,1.7,CSH,7.5 +CMT,1,1,276,0.7,CSH,5 +CMT,1,1,472,0.8,CSH,6.5 +CMT,1,1,1781,9.4,CRD,31 +CMT,1,1,949,5.5,CSH,18 +CMT,1,1,1587,5.3,CRD,20 +CMT,1,2,1014,3.1,CSH,14 +CMT,1,1,741,1.7,CSH,10 +CMT,1,1,411,0.8,CSH,6 +CMT,1,1,2836,10.5,CRD,39.5 +CMT,1,2,1370,9.2,CSH,29.5 +CMT,1,1,963,7.7,CSH,23 +CMT,1,1,311,0.8,CSH,5.5 +CMT,1,1,542,4.3,CSH,14 +CMT,1,1,314,1.3,CRD,6.5 +CMT,2,2,1946,20.6,CSH,52 +CMT,1,1,1199,4.2,CRD,17 +CMT,1,1,1088,10.2,CRD,29.5 +CMT,1,1,356,1.1,CSH,6.5 +CMT,1,2,1099,4,CRD,15.5 +CMT,1,2,580,3.3,CRD,11.5 +CMT,1,2,369,0.8,CRD,6 +CMT,1,2,1204,6.6,CRD,21.5 +CMT,1,2,1070,5.2,CSH,19 +CMT,1,1,1414,3.9,CSH,17 +CMT,1,1,755,2.3,CRD,11 +CMT,1,1,577,0.5,CSH,7 +CMT,1,2,296,0.6,CSH,5 +CMT,1,2,394,1,CRD,6 +CMT,1,1,845,4.3,CRD,14.5 +CMT,1,1,237,0.6,CRD,4.5 +CMT,1,1,676,1.5,CSH,8.5 +CMT,1,2,1520,5.1,CSH,20 +CMT,1,1,897,2.5,CSH,12 +CMT,1,1,444,1.9,CRD,8 +CMT,1,2,401,1.1,CSH,7 +CMT,1,1,748,4.5,CRD,15 +CMT,1,1,247,0.6,CSH,5 +CMT,1,1,2449,8.9,CSH,34 +CMT,1,1,1111,6.5,CRD,20.5 +CMT,1,4,901,4,CSH,14.5 +CMT,1,1,448,1.7,CRD,8 +CMT,1,1,1923,10.8,CRD,32.5 +CMT,1,1,289,0.6,CSH,5 +CMT,1,1,362,1.1,CRD,6 +CMT,1,1,1611,10.8,CRD,33.5 +CMT,1,2,368,1.8,CSH,7.5 +CMT,1,1,172,0.6,CSH,4 +CMT,1,1,243,1,CRD,5.5 +CMT,1,4,631,2.1,CRD,10 +CMT,1,4,440,1.2,CSH,7 +CMT,1,2,377,1.1,CSH,6.5 +CMT,1,1,3300,28.6,CSH,78.5 +CMT,1,1,1776,10.4,CRD,32 +CMT,1,2,1319,9.3,CSH,29 +CMT,1,1,415,1,CSH,6.5 +CMT,1,1,946,2.1,CRD,12 +CMT,1,1,1709,3.6,CRD,19 +CMT,1,1,302,0.4,CRD,5 +CMT,1,2,319,1.3,CSH,6 +CMT,1,1,934,2.8,CSH,12.5 +CMT,1,4,1198,3.2,CSH,15 +CMT,1,2,675,1.5,CRD,9 +CMT,1,1,463,2,CRD,8.5 +CMT,1,1,101,0.6,CSH,4 +CMT,1,1,660,1,CSH,8.5 +CMT,1,1,586,1.5,CSH,8 +CMT,1,1,322,1.4,CSH,6.5 +CMT,1,1,1087,4.2,CRD,16 +CMT,1,1,673,1.8,CRD,9.5 +CMT,1,1,1229,3.1,CRD,15 +CMT,1,2,452,1.2,CSH,7 +CMT,1,2,911,4,CSH,15 +CMT,1,2,810,2.9,CRD,12.5 +CMT,1,1,1597,13.2,CRD,36.5 +CMT,1,1,783,2,CRD,9 +CMT,1,1,522,1.2,CSH,7.5 +CMT,1,2,641,1,CSH,8 +CMT,1,1,837,1.4,CRD,10 +CMT,1,1,327,1.2,CRD,6.5 +CMT,1,1,1244,3.8,CRD,16.5 +CMT,1,1,1110,3.8,CRD,16 +CMT,1,1,438,1,CSH,7 +CMT,1,1,802,1.7,CRD,10.5 +CMT,1,1,717,3.2,CRD,12 +CMT,1,1,317,1.2,CRD,6 +CMT,1,1,659,2.9,CSH,11.5 +CMT,1,2,291,1.3,CSH,6 +CMT,5,1,41,0,CRD,7 +CMT,1,1,213,0.7,CRD,4.5 +CMT,1,1,580,1.8,CRD,9 +CMT,1,1,1222,4,CSH,16.5 +CMT,1,1,136,1,CSH,4.5 +CMT,1,1,419,1,CSH,6.5 +CMT,1,1,303,0.6,CSH,5 +CMT,1,1,1945,9.4,CRD,30.5 +CMT,1,1,394,0.8,CSH,6 +CMT,1,1,848,2,CSH,11.5 +CMT,1,1,98,0.4,CRD,3.5 +CMT,1,1,355,0.5,CRD,5.5 +CMT,1,1,567,1.4,CRD,8 +CMT,1,2,1020,8,CRD,24 +CMT,1,1,1950,4.3,CRD,22 +CMT,1,1,940,1,CSH,10.5 +CMT,1,3,591,1.1,CSH,7.5 +CMT,1,4,312,0.9,CSH,6 +CMT,1,1,478,1.2,CSH,7 +CMT,1,1,421,1.3,CSH,7 +CMT,1,1,985,1.9,CRD,11.5 +CMT,1,1,341,1.3,CSH,6.5 +CMT,1,2,381,1.3,CSH,6.5 +CMT,1,2,219,1,CSH,5 +CMT,1,1,1012,4.1,CRD,15.5 +CMT,1,1,817,2.7,CSH,11.5 +CMT,1,1,117,0.4,CSH,3.5 +CMT,1,1,1173,4.1,CRD,16 +CMT,1,1,1673,4.3,CSH,20.5 +CMT,1,2,1540,1.7,CSH,16 +CMT,1,1,934,1.7,CRD,11 +CMT,1,1,437,1,CRD,6.5 +CMT,1,1,991,2.8,CSH,13 +CMT,2,3,1879,17.6,CSH,52 +CMT,1,1,171,0.4,CRD,4 +VTS,1,1,660,1.78,CSH,9.5 +VTS,1,1,1200,5.11,CSH,18.5 +VTS,1,1,180,0.45,CRD,4.5 +VTS,1,1,840,3.11,CRD,13 +VTS,1,1,720,2.52,CRD,11 +VTS,1,1,120,0.51,CSH,3.5 +VTS,1,1,300,0.89,CSH,5 +VTS,1,1,600,2.13,CRD,10 +VTS,1,1,660,4.36,CSH,14 +VTS,1,1,900,2.48,CRD,11.5 +VTS,1,1,480,2.11,CSH,8.5 +VTS,1,1,480,1.91,CRD,8.5 +VTS,1,1,900,1.77,CRD,11 +VTS,1,1,540,3.28,CRD,12 +CMT,1,1,383,0.8,CSH,6.5 +CMT,1,1,999,2.8,CSH,13.5 +CMT,1,1,433,0.7,CSH,6 +CMT,1,1,215,0.9,CSH,5 +CMT,1,1,765,1.5,CRD,10 +CMT,1,3,899,2.7,CRD,12.5 +CMT,1,1,1778,6.6,CRD,24.5 +CMT,3,4,1571,17.3,CSH,64 +CMT,1,1,1317,4.7,CSH,18 +CMT,1,3,533,1.3,CSH,8 +CMT,1,1,613,1.8,CRD,9 +CMT,1,2,1008,2.1,CRD,12 +CMT,1,4,477,2.2,CSH,9 +CMT,1,1,372,1.5,CRD,7 +CMT,1,1,769,0.8,CRD,9 +CMT,1,2,762,2.8,CRD,11.5 +CMT,1,1,429,1.3,CRD,7 +CMT,1,1,137,0.3,CRD,3.5 +CMT,1,2,263,1.1,CSH,6 +CMT,1,1,757,1.7,CSH,10 +CMT,1,1,391,1.5,CSH,7.5 +CMT,1,1,962,8.5,CRD,25 +CMT,1,1,150,0.4,CSH,4 +CMT,1,1,412,0.7,CSH,6 +CMT,1,1,1351,2.4,CRD,15 +CMT,1,2,726,1.1,CSH,9 +CMT,1,1,830,3.9,CRD,14 +CMT,1,1,716,3.4,CRD,12.5 +CMT,1,1,887,2.9,CRD,12.5 +CMT,1,1,475,1.2,CRD,7 +CMT,1,2,512,1.7,CSH,8 +CMT,1,1,1131,3.6,CRD,16 +CMT,1,2,631,1,CRD,8 +CMT,1,1,1051,4.2,CRD,15.5 +CMT,1,3,941,2.2,CRD,12 +CMT,1,1,1247,5.3,CSH,19 +CMT,1,2,1199,2.6,CSH,14 +CMT,1,1,125,0.7,CSH,4 +CMT,1,2,550,2.5,CSH,10 +CMT,1,1,399,0.7,CRD,6 +CMT,1,1,555,1.4,CRD,8 +CMT,1,1,1136,3,CSH,14 +CMT,1,1,674,2.4,CSH,10.5 +CMT,1,1,245,1,CSH,5.5 +CMT,1,1,1516,10.4,CRD,30.5 +CMT,1,1,850,9,CRD,25.5 +CMT,1,1,858,1.6,CRD,10.5 +CMT,1,1,559,1.5,CSH,8 +CMT,1,1,239,0.9,CSH,5 +CMT,1,1,649,3,CRD,11 +CMT,1,1,672,1.6,CRD,9 +CMT,1,1,662,3.5,CSH,12.5 +CMT,1,1,258,0.7,CRD,5 +CMT,1,1,821,3.6,CRD,13.5 +CMT,1,1,1008,1.6,CRD,11.5 +CMT,1,1,1172,3.1,CRD,14.5 +CMT,1,1,448,2,CSH,8.5 +CMT,1,1,384,1.1,CRD,6.5 +CMT,1,1,832,3.4,CRD,12.5 +CMT,1,1,794,2.6,CSH,12 +CMT,1,1,301,0.9,CRD,5.5 +CMT,1,1,755,2.3,CRD,10.5 +CMT,1,1,645,1.8,CRD,9 +CMT,1,1,298,0.8,CRD,5.5 +CMT,1,1,229,0.8,CSH,5 +CMT,1,1,556,2.6,CRD,10.5 +CMT,1,1,292,0.9,CRD,5.5 +CMT,1,1,371,0.7,CRD,5.5 +CMT,1,2,917,3.5,CRD,14 +CMT,1,1,214,0.6,CSH,4.5 +CMT,1,1,762,1.2,CSH,9.5 +CMT,1,1,1446,3.9,CSH,17.5 +CMT,1,4,976,2.7,CSH,13 +CMT,1,2,1373,3.1,CSH,16.5 +CMT,1,1,2151,10.3,CSH,36 +CMT,1,1,501,2.2,CSH,8.5 +CMT,1,2,826,2.5,CSH,11.5 +CMT,1,1,989,8.6,CRD,25 +CMT,1,1,8,0,CSH,2.5 +CMT,1,1,309,1,CRD,6 +CMT,1,1,329,0.8,CSH,5.5 +CMT,1,2,328,1,CRD,6 +CMT,1,1,1308,9.1,CRD,26.5 +CMT,1,1,545,2.2,CSH,9 +CMT,1,1,362,1.2,CSH,6.5 +CMT,1,1,730,1.7,CRD,9.5 +CMT,1,1,1135,5.7,CSH,20 +CMT,1,1,1188,9.6,CSH,28.5 +CMT,1,1,682,2.5,CRD,11 +CMT,1,1,128,0.3,CSH,3.5 +CMT,1,1,115,0.9,CSH,4.5 +CMT,1,1,647,2.1,CSH,10 +CMT,1,1,630,1.9,CSH,9.5 +CMT,1,1,427,1,CRD,6.5 +CMT,1,1,343,1,CSH,6 +CMT,1,1,1026,10.2,CSH,29.5 +CMT,1,1,757,3.8,CSH,13.5 +CMT,4,1,1385,16,CSH,51 +CMT,1,1,405,1,CSH,6.5 +CMT,1,1,147,0.8,CRD,4.5 +CMT,1,1,744,2.4,CRD,10.5 +CMT,1,1,1349,6,CRD,21 +CMT,1,1,460,1.6,CRD,8 +CMT,1,1,1202,9.9,CRD,28.5 +CMT,1,1,594,1.3,CRD,8.5 +CMT,1,1,779,1.2,CRD,9.5 +CMT,1,3,2438,12.9,CSH,40 +CMT,1,1,1686,18.6,CRD,50.5 +CMT,1,1,1068,2.6,CRD,13.5 +CMT,1,1,269,0.6,CSH,5 +CMT,1,1,232,0.8,CSH,5 +CMT,1,1,1361,9.9,CRD,29 +CMT,1,1,1714,3.7,CRD,20 +CMT,1,1,896,8.2,CSH,23 +CMT,1,1,850,6.5,CSH,20 +CMT,1,3,1045,10.2,CSH,29 +CMT,1,1,219,0.7,CRD,4.5 +CMT,1,1,594,2.8,CSH,11 +CMT,1,1,416,1.5,CRD,7.5 +CMT,1,1,318,1.4,CSH,6.5 +CMT,1,1,288,1,CSH,6 +CMT,1,1,187,0.7,CRD,4.5 +CMT,1,1,603,2.3,CRD,10 +CMT,1,1,355,2,CRD,8 +CMT,1,1,1229,5.1,CRD,18.5 +CMT,1,1,469,1.3,CRD,7 +CMT,1,1,533,2.4,CRD,9.5 +CMT,1,1,213,0.8,CRD,5 +CMT,1,1,2958,12.6,CRD,44 +CMT,1,1,329,1,CSH,6 +CMT,1,1,444,1.6,CSH,7.5 +CMT,1,1,1268,4.1,CSH,16.5 +CMT,1,1,790,1,CSH,9 +CMT,1,1,1061,8.2,CRD,25 +CMT,1,1,518,1.7,CRD,8.5 +CMT,1,1,555,2.2,CRD,9 +CMT,1,1,500,1.3,CRD,7 +CMT,1,1,523,2.1,CRD,9 +CMT,1,1,1127,2.1,CSH,12.5 +CMT,1,1,576,1,CRD,7.5 +CMT,2,1,2362,15.3,CSH,52 +CMT,2,1,1396,16.9,CRD,52 +CMT,1,1,332,0.9,CSH,6 +CMT,1,1,1678,16.5,CSH,46 +CMT,1,1,86,0.5,CSH,3.5 +CMT,1,1,617,3.8,CRD,13 +CMT,1,1,302,0.8,CSH,5.5 +CMT,1,1,1547,10,CRD,30.5 +CMT,1,1,582,1.8,CSH,9 +CMT,1,1,1363,7.3,CRD,24 +CMT,1,1,537,4.1,CRD,13 +CMT,1,1,603,2.2,CRD,9.5 +CMT,1,1,762,2.7,CSH,11.5 +CMT,1,1,222,0.5,CRD,4.5 +CMT,1,1,950,3.9,CRD,15 +CMT,1,1,982,2.9,CRD,13 +CMT,1,1,421,2.1,CSH,8.5 +CMT,1,1,763,1.5,CSH,10 +CMT,1,1,277,0.9,CRD,5.5 +CMT,1,1,299,0.8,CSH,5.5 +CMT,1,1,986,1.3,CRD,11.5 +CMT,1,1,661,1.4,CRD,8.5 +CMT,1,1,711,2.1,CSH,10 +CMT,1,1,2222,8.1,CRD,31 +CMT,1,1,1939,10.9,CRD,34 +CMT,1,1,1112,4.9,CSH,17.5 +CMT,1,1,809,2.9,CSH,11.5 +CMT,1,1,1420,14.2,CSH,38 +CMT,1,1,794,2.6,CRD,11.5 +CMT,1,1,154,0.4,CSH,4 +CMT,1,1,700,1.6,CRD,9.5 +CMT,1,1,838,3.8,CRD,14 +CMT,1,1,1222,8.9,CSH,26.5 +CMT,1,1,317,1.8,CRD,7 +CMT,1,1,271,0.8,CRD,5 +CMT,1,1,528,1.5,CSH,8 +CMT,1,1,803,3.6,CRD,13 +CMT,1,1,878,5.8,CSH,19 +CMT,1,1,306,0.9,CSH,6 +CMT,1,1,580,2,CRD,9.5 +CMT,1,1,612,1.8,CSH,9 +CMT,1,1,216,1.4,CSH,6 +CMT,1,1,1125,6.9,CRD,22.5 +CMT,1,1,785,2.8,CSH,12 +CMT,1,1,452,1.7,CRD,7.5 +CMT,1,1,1180,2.6,CRD,14 +CMT,1,2,2603,12.9,CRD,42.5 +CMT,1,1,205,0.6,CRD,4.5 +CMT,1,1,474,1.6,CRD,8 +CMT,1,1,336,2,CSH,8 +CMT,1,1,1379,9.8,CRD,30 +CMT,1,1,632,2.2,CRD,9 +CMT,1,1,519,2.1,CSH,8.5 +CMT,1,1,364,1.4,CSH,7 +CMT,1,1,308,0.9,CRD,5.5 +CMT,1,1,193,0.7,CSH,4.5 +CMT,1,1,1055,5,CRD,17.5 +CMT,1,1,712,3.4,CSH,13 +CMT,1,1,1383,10.1,CRD,30.5 +CMT,1,1,695,2,CSH,9.5 +CMT,1,1,272,1.1,CSH,5.5 +CMT,1,1,362,1.1,CRD,6.5 +CMT,1,1,418,1.3,CSH,7 +CMT,1,1,385,1,CSH,6 +CMT,1,1,555,2.7,CRD,10 +CMT,1,1,347,1.2,CRD,6 +CMT,1,1,670,2.9,CSH,11 +CMT,1,1,1657,12.4,CSH,37 +CMT,1,1,1451,4.2,CRD,18.5 +CMT,1,1,607,1.6,CRD,8.5 +CMT,1,1,368,0.8,CSH,6 +CMT,1,1,2471,16.1,CSH,47.5 +CMT,1,1,842,1.9,CSH,11 +CMT,1,1,1072,1.3,CSH,11.5 +CMT,1,1,398,2.1,CSH,8 +CMT,1,1,389,1.6,CRD,7 +CMT,1,1,275,0.9,CRD,5 +CMT,1,1,193,0.5,CSH,4.5 +CMT,1,1,395,1.1,CRD,6.5 +CMT,1,1,597,1,CRD,7.5 +CMT,1,1,275,0.6,CSH,5 +CMT,1,1,713,2.6,CSH,10.5 +CMT,1,1,1129,2.4,CRD,13.5 +CMT,1,1,215,0.8,CSH,5 +CMT,1,1,724,3.1,CSH,11.5 +CMT,1,1,864,2,CSH,11 +CMT,1,1,476,1.2,CRD,7 +CMT,1,1,367,0.7,CSH,5.5 +CMT,1,1,206,0.6,CSH,4.5 +CMT,1,1,483,0.9,CRD,6.5 +CMT,1,1,386,1.2,CRD,6.5 +CMT,1,1,204,1.2,CSH,5.5 +CMT,1,1,425,1.6,CSH,7.5 +CMT,1,1,196,0.5,CSH,4.5 +CMT,1,1,137,0.5,CRD,4 +CMT,1,1,893,4.8,CRD,17 +CMT,1,2,1475,8.9,CSH,29 +CMT,1,1,926,1.2,CRD,10.5 +CMT,1,1,255,0.8,CSH,5 +CMT,1,1,907,4.3,CRD,15.5 +CMT,1,1,799,1.4,CSH,9.5 +CMT,1,1,865,6.1,CRD,19.5 +CMT,1,1,239,0.7,CSH,5 +CMT,1,1,392,1.5,CSH,7.5 +CMT,1,1,1133,4.5,CSH,17.5 +CMT,1,1,280,0.8,CRD,5.5 +CMT,1,1,184,1.3,CRD,5.5 +CMT,1,1,598,2.3,CSH,10 +CMT,1,1,262,0.8,CSH,5 +CMT,1,1,974,5.4,CSH,17.5 +CMT,1,1,428,1.5,CRD,7 +CMT,1,1,562,1.9,CRD,8.5 +CMT,1,1,688,1.7,CSH,9.5 +CMT,1,1,505,1.3,CSH,7.5 +CMT,1,1,278,1,CSH,6 +CMT,1,1,605,2.5,CRD,10.5 +CMT,1,1,2052,10.5,CRD,34 +CMT,1,1,232,0.6,CSH,4.5 +CMT,1,1,566,1.3,CRD,8 +CMT,1,1,2776,17.7,CRD,50.5 +CMT,1,1,1325,2.1,CSH,15 +CMT,1,1,543,1.8,CSH,8.5 +CMT,1,1,737,1.9,CRD,10 +CMT,1,1,386,1.5,CSH,7 +CMT,1,1,471,1.1,CRD,6.5 +CMT,1,1,579,3.8,CRD,13.5 +CMT,1,1,842,1.8,CSH,10.5 +CMT,1,1,164,0.9,CRD,5 +CMT,1,1,299,1.5,CSH,6.5 +CMT,2,1,1832,17.2,CSH,52 +CMT,1,1,1970,10.1,CRD,32 +CMT,1,1,998,4.1,CSH,15 +CMT,1,1,865,5.8,CSH,19 +CMT,1,1,1301,0.9,CRD,13 +CMT,1,1,517,1.3,CRD,7.5 +CMT,1,1,945,2,CRD,12 +CMT,1,1,1039,3.8,CRD,15 +CMT,2,1,1501,15.7,CSH,52 +CMT,1,1,143,0.5,CRD,4 +CMT,1,1,573,1.5,CRD,8 +CMT,1,1,677,1.8,CSH,9.5 +CMT,1,1,945,2.3,CRD,12 +CMT,1,1,302,0.8,CSH,5.5 +CMT,1,1,898,1.5,CRD,10.5 +CMT,1,1,477,1.2,CSH,7 +CMT,1,1,669,1.9,CRD,9 +CMT,1,1,612,2.6,CSH,10 +CMT,1,1,1259,8.5,CRD,26.5 +CMT,1,1,651,2.5,CRD,10.5 +CMT,1,1,2020,16.1,CRD,44 +CMT,1,1,733,1.8,CSH,10 +CMT,1,1,1019,2.6,CRD,13 +CMT,1,1,861,6.4,CSH,20 +CMT,1,1,1510,8.3,CRD,26.5 +CMT,1,1,361,1.1,CSH,6 +CMT,4,1,405,0.9,CRD,6.5 +CMT,1,1,244,0.5,CRD,5 +CMT,1,1,162,0.6,CRD,4 +CMT,1,1,955,3.1,CRD,13 +CMT,1,1,333,1.4,CRD,6.5 +CMT,1,1,239,0.7,CSH,5 +CMT,1,1,476,1.4,CSH,7.5 +CMT,1,1,458,1.1,CRD,7 +CMT,1,1,449,1.7,CSH,8 +CMT,1,1,260,1,CRD,5.5 +CMT,1,1,176,0.9,CSH,5 +CMT,1,1,634,1.7,CRD,9 +CMT,1,1,403,1,CRD,6 +CMT,1,2,1200,6.9,CRD,22.5 +CMT,1,1,771,3.5,CSH,13 +CMT,1,1,1181,2.2,CRD,13.5 +CMT,1,1,1196,4.9,CRD,18.5 +CMT,1,2,1546,4.7,CSH,20 +CMT,1,1,325,0.9,CSH,5.5 +CMT,1,1,686,2,CSH,9.5 +CMT,1,1,1000,3.6,CRD,14.5 +CMT,1,1,597,1.2,CRD,8 +CMT,1,1,662,2,CRD,10 +CMT,1,1,389,1.9,CRD,8 +CMT,1,2,583,1.6,CRD,9 +CMT,1,1,135,0.9,CRD,4.5 +CMT,1,1,1451,6.2,CRD,22 +CMT,1,2,181,0.4,CSH,4 +CMT,1,1,193,0.8,CSH,4.5 +CMT,1,1,1416,6.4,CRD,22.5 +CMT,1,1,645,2.3,CSH,10 +CMT,1,1,636,4.1,CRD,14 +CMT,1,2,850,2.1,CSH,11.5 +CMT,1,1,1013,1.6,CSH,11.5 +CMT,1,1,1313,9.2,CRD,27 +CMT,1,4,351,1.4,CRD,6.5 +CMT,1,2,1380,9.5,CRD,30 +CMT,1,1,616,1.9,CRD,9 +CMT,1,1,399,1.7,CRD,7.5 +CMT,1,1,1530,10.7,CRD,32.5 +CMT,1,1,478,1.3,CSH,7.5 +CMT,1,1,133,0.4,CSH,4 +CMT,1,1,296,1,CSH,5.5 +CMT,1,1,289,1.1,CSH,6 +CMT,1,1,362,1.3,CSH,6.5 +CMT,1,1,1084,3.4,CSH,14.5 +CMT,1,1,686,2.9,CRD,11.5 +CMT,1,1,1116,2.8,CRD,14 +CMT,1,1,874,2,CSH,11 +CMT,1,1,188,0.7,CSH,4.5 +CMT,1,1,1336,12.2,CSH,33.5 +CMT,1,1,1325,12.5,CSH,35.5 +CMT,1,1,143,0.7,CSH,4.5 +CMT,1,1,591,2.4,CRD,10 +CMT,1,1,875,3.1,CRD,13.5 +CMT,1,1,2125,7.2,CSH,26.5 +CMT,1,1,853,8.1,CRD,24 +CMT,1,3,1110,9.8,CRD,27.5 +CMT,1,1,208,0.9,CRD,5 +CMT,1,1,154,0.4,CRD,4 +CMT,1,1,742,3.3,CSH,12.5 +CMT,1,1,217,1.1,CSH,5.5 +CMT,1,1,396,1.1,CSH,6.5 +CMT,1,1,877,3.5,CRD,14 +CMT,1,1,404,1.3,CSH,6.5 +CMT,1,1,361,1.4,CRD,7 +CMT,1,1,660,1.2,CRD,8.5 +CMT,1,1,801,2,CSH,10.5 +CMT,1,1,4082,19.4,CSH,66 +CMT,1,1,1255,8.3,CSH,26.5 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,1,1499,11.3,CSH,33 +CMT,1,1,699,2.1,CRD,10 +CMT,1,1,490,1.8,CSH,8 +CMT,2,4,1944,17.1,CSH,52 +CMT,2,1,1761,21,CRD,52 +CMT,1,1,698,2.3,CRD,10.5 +CMT,1,1,848,4.7,CRD,16.5 +CMT,1,2,1684,10.2,CSH,31 +CMT,1,1,480,1.4,CSH,7.5 +CMT,1,1,435,1.2,CSH,7 +CMT,1,1,444,0.8,CRD,6.5 +CMT,1,1,948,2.6,CRD,12.5 +CMT,1,1,346,1,CSH,6 +CMT,1,1,671,2.1,CSH,10 +CMT,1,1,459,1.5,CSH,7.5 +CMT,1,1,294,1.1,CRD,5.5 +CMT,1,1,455,0.7,CRD,6 +CMT,1,1,559,1.4,CRD,8 +CMT,1,1,492,1.2,CSH,7 +CMT,1,1,441,1.4,CRD,7.5 +CMT,1,1,543,1,CSH,7 +CMT,1,1,302,0.6,CRD,5 +CMT,1,1,698,2.9,CRD,11.5 +CMT,1,1,1427,3.3,CRD,17 +CMT,1,1,1146,4.7,CRD,18 +CMT,1,1,1052,10.1,CRD,29 +CMT,1,1,1238,11.7,CSH,33.5 +CMT,1,1,760,8.4,CSH,24 +CMT,1,1,1055,3.3,CRD,14 +CMT,1,1,422,1.6,CSH,7.5 +CMT,1,1,1455,5.2,CRD,19 +CMT,1,1,922,9.2,CSH,26.5 +CMT,1,1,1637,11.4,CRD,35 +CMT,1,1,343,1,CSH,6 +CMT,1,1,298,1.2,CSH,6 +CMT,1,1,763,3.3,CRD,12 +CMT,1,1,344,1.1,CRD,6.5 +CMT,1,1,266,0.7,CRD,5 +CMT,1,1,740,6,CRD,19 +CMT,1,1,1286,8,CSH,25 +CMT,1,1,231,0.8,CSH,5 +CMT,4,1,1632,14.2,CRD,49.5 +CMT,1,1,348,1.6,CRD,7 +CMT,1,1,830,6.4,CSH,19 +CMT,1,2,2600,15.2,CSH,47 +CMT,1,1,377,1.8,CRD,7.5 +CMT,1,1,557,3.1,CSH,11 +CMT,1,1,1661,4.2,CSH,20 +CMT,1,1,584,1.6,CRD,8 +CMT,1,1,514,2.6,CRD,10.5 +CMT,1,1,837,1.7,CRD,10.5 +CMT,1,1,1136,3.3,CSH,14.5 +CMT,1,1,885,2.4,CSH,11.5 +CMT,1,1,1611,13.5,CSH,38.5 +CMT,1,1,1067,13,CSH,35.5 +CMT,1,1,172,0.5,CSH,4 +CMT,1,1,302,0.8,CRD,5.5 +CMT,1,1,867,2.8,CSH,13 +CMT,1,1,275,1,CSH,5.5 +CMT,1,2,1182,7.6,CRD,24 +CMT,1,1,482,2.1,CRD,8.5 +CMT,1,1,2065,5.8,CSH,26.5 +CMT,1,1,568,1.4,CSH,8 +CMT,1,1,366,1,CSH,6.5 +CMT,1,1,893,4.1,CSH,14.5 +CMT,1,1,480,1.9,CSH,8 +CMT,1,1,837,2.1,CSH,11 +CMT,1,1,148,1,CSH,5 +CMT,1,1,506,1.4,CRD,7.5 +CMT,1,1,1034,2.6,CRD,13 +CMT,1,1,664,2.5,CRD,10.5 +CMT,1,1,728,2.6,CRD,11.5 +CMT,2,1,3,0,NOC,52 +CMT,1,1,302,0.9,CRD,5.5 +CMT,1,1,176,0.7,CRD,4.5 +CMT,1,1,1066,11.7,CRD,32 +CMT,1,1,241,1,CSH,5 +CMT,1,1,513,1,CSH,7 +CMT,1,1,325,1.3,CRD,6.5 +CMT,1,1,223,0.7,CSH,5 +CMT,1,1,564,1.6,CRD,8.5 +CMT,1,1,1260,10.6,CRD,30.5 +CMT,1,1,1488,4.9,CSH,20 +CMT,1,1,284,0.7,CRD,5 +CMT,1,1,1837,9.5,CSH,30.5 +CMT,1,1,1050,7,CRD,21.5 +CMT,1,1,934,2.6,CSH,12.5 +CMT,1,1,445,0.8,CRD,6 +CMT,1,1,947,4.7,CSH,15.5 +CMT,1,1,741,3,CRD,11.5 +CMT,1,1,1394,10.8,CSH,31.5 +CMT,1,1,570,1.9,CSH,8.5 +CMT,1,1,442,1.2,CSH,7 +CMT,1,1,691,1.5,CRD,9.5 +CMT,1,1,1366,4.3,CRD,19 +CMT,1,1,507,2,CSH,9 +CMT,1,1,894,3.6,CRD,13.5 +CMT,1,1,1041,9.2,CSH,27 +CMT,4,1,771,3,CSH,22.5 +CMT,1,1,1997,12.1,CRD,35 +CMT,1,1,400,1.6,CRD,7.5 +CMT,1,1,524,1.6,CSH,8.5 +CMT,1,1,498,1.5,CSH,8 +CMT,1,1,1060,3,CSH,13.5 +CMT,1,1,517,1.6,CRD,8.5 +CMT,1,1,737,2.6,CSH,11.5 +CMT,1,1,615,2.7,CRD,11 +CMT,1,1,2869,10.8,CRD,38 +CMT,1,1,775,1.6,CRD,10 +CMT,1,1,327,1.9,CRD,7 +CMT,1,1,550,2.2,CSH,9.5 +CMT,1,1,494,1.4,CRD,7.5 +CMT,1,1,354,0.7,CRD,5.5 +CMT,1,1,1557,9.1,CRD,29 +CMT,1,1,181,0.7,CSH,4.5 +CMT,1,1,163,0.4,CRD,4 +CMT,1,1,489,1.5,CRD,8 +CMT,1,1,369,1.3,CSH,6.5 +CMT,1,1,383,0.8,CRD,6 +CMT,1,1,481,1.5,CSH,8 +CMT,1,1,446,1.4,CRD,7 +CMT,1,1,1217,10.9,CRD,30.5 +CMT,1,1,546,3.3,CRD,11 +CMT,1,1,516,2,CSH,8.5 +CMT,1,1,202,0.7,CSH,4.5 +CMT,1,1,626,2.8,CSH,11 +CMT,1,1,291,1.1,CSH,6 +CMT,1,1,562,1.8,CRD,8.5 +CMT,1,1,811,2.8,CRD,12 +CMT,1,1,503,2.6,CSH,10 +CMT,1,1,139,0.5,CSH,4 +CMT,1,1,181,0.4,CSH,4 +CMT,1,1,1716,14.3,CRD,40 +CMT,1,1,656,3.8,CRD,13.5 +CMT,1,1,452,0.9,CRD,6.5 +CMT,1,1,1869,11.5,CSH,35 +CMT,1,1,1021,1.7,CSH,11 +CMT,1,1,573,1.4,CRD,8.5 +CMT,1,1,1987,3.9,CRD,20.5 +CMT,1,1,664,1.2,CRD,8.5 +CMT,1,1,783,5.4,CRD,17.5 +CMT,1,1,991,2.2,CRD,12 +CMT,1,2,2191,17.8,CRD,49 +CMT,1,1,243,0.6,CSH,4.5 +CMT,1,1,487,1.8,CRD,8 +CMT,1,1,272,1,CSH,5.5 +CMT,1,1,397,1.4,CSH,7 +CMT,1,1,1073,6.6,CSH,22 +CMT,1,1,548,3.3,CRD,11.5 +CMT,1,1,13,0,DIS,2.5 +CMT,1,1,718,2.3,CSH,10 +CMT,1,1,467,1.8,CRD,8 +CMT,1,1,621,2.4,CSH,10 +CMT,1,1,639,2.3,CSH,10 +CMT,1,1,244,0.9,CRD,5 +CMT,1,1,401,1.1,CRD,6.5 +CMT,1,1,900,6.7,CRD,21 +CMT,1,1,962,3.1,CRD,13.5 +CMT,1,1,860,2,CRD,10.5 +CMT,1,1,744,2.4,CSH,10.5 +CMT,1,1,347,0.9,CRD,6 +CMT,1,1,656,7.3,CSH,21 +CMT,1,1,279,0.9,CRD,5.5 +CMT,1,1,815,2.4,CSH,11.5 +CMT,1,1,311,1.1,CSH,6 +CMT,1,1,574,2.3,CSH,9.5 +CMT,1,1,2006,8.3,CRD,28.5 +CMT,1,1,152,0.4,CSH,4 +CMT,1,1,494,1.1,CSH,7 +CMT,1,1,1054,3.2,CRD,15 +CMT,1,1,1176,2.8,CRD,14 +CMT,1,1,1030,2.8,CRD,13.5 +CMT,1,1,328,0.4,CRD,5 +CMT,1,2,1402,10.2,CSH,31 +CMT,1,1,296,1.3,CRD,6.5 +CMT,1,1,580,2.2,CRD,9 +CMT,1,1,652,5.4,CRD,17 +CMT,1,1,415,1.6,CRD,8 +CMT,1,1,406,1.3,CRD,7 +CMT,1,1,571,1.2,CRD,8 +CMT,1,1,822,5,CSH,16.5 +CMT,1,1,534,3.4,CRD,11 +CMT,1,1,395,1,CRD,6 +CMT,2,1,1653,15.5,CSH,52 +CMT,1,1,974,2.7,CRD,12 +CMT,1,1,446,1.4,CRD,7.5 +CMT,1,1,1471,6.3,CRD,23.5 +CMT,1,1,897,1.7,CRD,10.5 +CMT,1,1,586,1.6,CSH,8 +CMT,1,1,279,0.8,CRD,5 +CMT,1,1,1283,8.3,CRD,25 +CMT,1,1,502,1.2,CRD,7.5 +CMT,1,1,640,1,CRD,8 +CMT,1,1,314,0.7,CSH,5.5 +CMT,1,1,414,1.2,CRD,7 +CMT,1,1,230,1.4,CRD,6 +CMT,1,1,654,4.2,CSH,13 +CMT,1,1,333,1.5,CSH,7 +CMT,1,1,568,1.3,CRD,7.5 +CMT,1,1,143,0.4,CRD,4 +CMT,1,1,505,1.5,CRD,8 +CMT,1,1,662,5.8,CRD,17.5 +CMT,1,1,4875,22.6,CSH,77 +CMT,1,1,912,3.6,CSH,14 +CMT,1,1,718,5.3,CSH,17 +CMT,1,1,1764,12.1,CSH,37 +CMT,1,1,1743,10.3,CSH,31.5 +CMT,1,1,873,2.7,CSH,12 +CMT,1,1,488,0.8,CSH,6.5 +CMT,1,1,252,0.7,CRD,5 +CMT,1,1,190,0.4,CRD,4 +CMT,1,1,882,2.2,CSH,11.5 +CMT,1,1,665,1.8,CRD,9 +CMT,1,1,606,0.9,CSH,7.5 +CMT,1,1,813,2.6,CSH,12 +CMT,1,1,515,2.4,CRD,9 +CMT,1,1,1963,12.2,CRD,36.5 +CMT,1,1,978,7.7,CRD,23.5 +CMT,1,1,508,1.2,CSH,7 +CMT,1,1,940,3.5,CRD,13.5 +CMT,1,1,1492,7.9,CSH,26 +CMT,1,1,722,4.2,CRD,14.5 +CMT,1,1,1423,7.6,CRD,24.5 +CMT,1,1,689,1.8,CRD,9 +CMT,1,1,2906,5.9,CSH,30 +CMT,1,1,588,2.6,CRD,10.5 +CMT,1,1,1093,6.4,CRD,21 +CMT,1,1,409,1.2,CSH,6.5 +CMT,1,1,178,0.5,CSH,4 +CMT,1,1,662,1.8,CSH,9.5 +CMT,1,1,607,1.6,CSH,8.5 +CMT,1,1,1052,3,CSH,14 +CMT,1,1,384,1.4,CRD,7 +CMT,1,1,2081,16.3,CRD,45 +CMT,1,1,1734,15.5,CRD,43.5 +VTS,1,1,660,2.85,CRD,11.5 +VTS,1,1,600,1.61,CSH,8.5 +VTS,1,1,780,1.22,CSH,9.5 +VTS,1,1,480,1.64,CRD,8 +VTS,1,1,840,3.88,CSH,14.5 +VTS,1,1,300,1.24,CSH,6 +VTS,1,1,600,3.13,CSH,11.5 +VTS,1,1,660,1.95,CSH,9.5 +VTS,1,1,960,2.63,CSH,12.5 +CMT,1,1,1028,5.2,CSH,17.5 +CMT,1,1,202,1.1,CSH,5.5 +CMT,1,1,1029,8,CSH,24 +CMT,1,1,483,2.7,CRD,9.5 +CMT,1,1,127,0.6,CSH,4 +CMT,1,1,1268,6.5,CSH,22 +CMT,1,1,222,0.5,CRD,4.5 +CMT,1,1,454,1.7,CRD,7.5 +CMT,1,1,115,0.3,CSH,3.5 +CMT,1,1,192,0.6,CSH,4 +CMT,1,1,1349,6.2,CRD,22 +CMT,1,1,532,1.8,CSH,8.5 +CMT,1,1,998,4.5,CRD,16.5 +CMT,1,1,1189,3,CRD,14.5 +CMT,1,1,272,0.3,CSH,4 +CMT,1,1,574,1.6,CRD,9 +CMT,1,1,1273,5.4,CRD,19.5 +CMT,1,1,442,1.5,CRD,7 +CMT,1,1,348,0.7,CRD,5.5 +CMT,1,1,235,1,CSH,5.5 +CMT,1,1,2853,12,CSH,37.5 +CMT,1,1,706,2.6,CRD,11 +CMT,1,1,362,1,CRD,6.5 +CMT,1,1,558,1.1,CSH,7.5 +CMT,1,1,806,2.8,CRD,11.5 +CMT,1,1,526,2.1,CSH,9 +CMT,1,1,281,0.8,CSH,5.5 +CMT,1,1,122,0.6,CSH,4 +CMT,1,1,1259,3.3,CRD,15 +CMT,1,1,967,3.5,CRD,14 +CMT,1,1,324,1.3,CRD,6.5 +CMT,1,1,836,8.7,CRD,24.5 +CMT,1,1,155,0.6,CSH,4 +CMT,1,1,936,2.3,CRD,11.5 +CMT,2,2,1024,4.3,CRD,52 +CMT,1,1,1568,5.6,CRD,21 +CMT,1,1,605,2.1,CRD,9 +CMT,1,1,1995,13.5,CRD,40 +CMT,1,1,1120,6.3,CSH,21 +CMT,1,1,570,1.5,CRD,8 +CMT,1,1,715,2,CRD,10 +CMT,1,1,738,2.9,CRD,11.5 +CMT,1,1,741,1.3,CRD,9 +CMT,1,1,375,0.8,CSH,6 +CMT,1,1,201,0.4,CRD,4 +CMT,1,1,667,1.7,CRD,9.5 +CMT,1,1,380,1.3,CSH,6.5 +VTS,1,1,180,0.77,CRD,5 +VTS,1,1,540,2.41,CSH,9.5 +VTS,1,1,420,0.99,CSH,6.5 +VTS,1,1,360,0.79,CRD,6 +VTS,1,1,1140,3.61,CSH,15.5 +CMT,1,1,317,0.9,CRD,5.5 +CMT,1,1,466,1.4,CRD,6.5 +VTS,1,1,600,2.33,CRD,9.5 +VTS,1,1,780,3.03,CSH,12 +VTS,1,1,360,0.83,CRD,5.5 +VTS,1,1,600,1.51,CSH,8.5 +VTS,1,1,600,2.83,CRD,10.5 +VTS,1,1,540,1.94,CRD,9 +VTS,1,1,600,1.09,CRD,7.5 +VTS,1,1,840,6.36,CRD,20.5 +VTS,1,1,360,1.41,CSH,7 +VTS,1,1,480,1.36,CRD,7.5 +VTS,1,1,840,2.47,CRD,11.5 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,1,480,1.88,CRD,8 +VTS,1,1,420,1.6,CRD,8 +VTS,1,1,840,2.66,CSH,12 +VTS,1,1,240,0.63,CRD,5 +VTS,1,1,1020,3.03,CSH,13.5 +VTS,1,1,360,0.98,CRD,6 +VTS,1,1,1200,3.67,CSH,16 +VTS,1,1,780,3.69,CRD,13 +VTS,1,1,1140,3.33,CSH,14.5 +VTS,1,1,420,1.93,CRD,8 +VTS,1,1,720,3.08,CSH,12 +VTS,1,1,600,2.3,CSH,10 +VTS,1,1,600,2.37,CRD,9.5 +VTS,1,1,840,2.63,CSH,11.5 +VTS,1,1,660,4.88,CSH,15.5 +VTS,2,1,3360,17.99,CSH,52 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,360,0.99,CSH,6.5 +VTS,1,1,540,2.19,CSH,9.5 +VTS,1,1,960,2.91,CRD,13 +VTS,1,1,600,1.7,CRD,9 +VTS,1,1,780,2.32,CSH,11 +VTS,1,1,660,2.39,CRD,10.5 +VTS,1,1,540,1.75,CSH,9 +VTS,1,1,1080,2.12,CRD,13 +VTS,1,1,420,1.48,CRD,7.5 +VTS,1,1,780,0.84,CRD,9.5 +VTS,1,1,660,1.79,CRD,9.5 +VTS,1,1,480,2.24,CSH,9 +VTS,1,1,780,2.59,CSH,11.5 +VTS,1,1,960,1.33,CRD,11 +VTS,1,1,360,1.16,CSH,6.5 +VTS,1,1,660,1.73,CRD,9 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,720,2.03,CRD,10 +VTS,1,1,600,2.54,CRD,10 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,720,1.44,CSH,9 +CMT,1,1,1517,11.8,CRD,34.5 +CMT,1,1,672,2,CSH,9.5 +CMT,1,1,848,2.7,CRD,12 +CMT,1,1,1119,4.7,CRD,18 +CMT,1,1,985,2.8,CSH,13 +CMT,1,1,326,1.5,CRD,6.5 +CMT,1,1,553,3.5,CRD,12.5 +CMT,1,1,1184,4.5,CRD,17.5 +VTS,1,1,1260,5.86,CSH,21.5 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,720,1.79,CSH,10 +VTS,2,1,2820,19.01,CRD,52 +VTS,1,1,480,2,CSH,9 +VTS,1,1,840,3.1,CSH,12.5 +VTS,1,1,900,4.42,CRD,16 +VTS,1,1,1140,5.9,CRD,20 +VTS,1,1,240,1.08,CSH,5.5 +VTS,1,1,300,1.11,CRD,6 +VTS,1,1,240,0.75,CSH,4.5 +VTS,1,1,540,1.79,CSH,8.5 +VTS,1,1,600,1.27,CRD,8 +VTS,1,1,360,1.36,CSH,7 +VTS,1,1,600,1.56,CSH,8.5 +VTS,1,1,420,1.58,CSH,7.5 +VTS,1,1,600,3.14,CSH,11 +VTS,1,1,240,0.98,CRD,5 +CMT,1,1,377,2,CRD,8 +CMT,1,1,602,2.9,CRD,11 +CMT,1,1,353,1,CSH,6 +CMT,1,1,332,1.4,CRD,6.5 +CMT,1,1,336,0.3,CRD,5 +CMT,1,1,419,0.8,CRD,6 +CMT,1,1,588,3.3,CSH,11.5 +CMT,1,1,314,0.6,CSH,5 +CMT,1,1,1954,12.1,CRD,35.5 +CMT,1,1,445,0.9,CSH,6.5 +CMT,1,1,793,2.5,CSH,11 +CMT,1,1,552,2,CSH,9 +CMT,1,1,229,1.2,CRD,6 +VTS,1,1,900,3.02,CRD,13 +VTS,1,1,1260,4.79,CSH,18.5 +VTS,1,1,1560,3.17,CRD,18 +VTS,1,1,240,1.18,CSH,5.5 +VTS,1,1,780,2.94,CSH,11.5 +VTS,1,1,120,0.48,CSH,4 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,300,1.14,CSH,6 +VTS,1,1,240,0.93,CSH,5 +VTS,1,1,540,1.67,CRD,9 +VTS,1,1,720,1.88,CRD,9.5 +VTS,1,1,600,2.08,CRD,9 +VTS,1,1,1140,10.52,CRD,30 +VTS,1,1,540,1.87,CRD,9 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,300,0.63,CRD,5 +VTS,1,1,540,1.68,CRD,8.5 +VTS,1,1,420,1.85,CRD,7.5 +VTS,1,1,420,1.08,CSH,7 +VTS,1,1,840,4.21,CRD,15 +VTS,1,1,1140,4.67,CRD,17 +VTS,1,1,300,0.55,CSH,5 +VTS,1,1,1080,5.94,CRD,19 +VTS,1,1,480,1.71,CRD,8 +VTS,1,1,300,0.76,CSH,5 +VTS,1,1,480,1.14,CRD,7 +VTS,1,1,540,1.68,CRD,8.5 +VTS,1,1,180,0.48,CRD,4.5 +VTS,1,1,840,2.37,CSH,11.5 +VTS,1,1,240,0.64,CSH,5 +VTS,1,1,1140,2.98,CRD,14.5 +VTS,1,1,240,0.87,CRD,5 +VTS,1,1,840,1.84,CRD,10.5 +VTS,1,1,720,1.64,CRD,9.5 +VTS,1,1,240,1.07,CRD,5.5 +VTS,1,1,660,1.22,CSH,8.5 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,540,1.64,CRD,8.5 +VTS,1,1,300,1.14,CSH,5.5 +VTS,1,1,480,1.68,CRD,8 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,540,1.8,CRD,8 +VTS,1,1,180,0.81,CSH,5 +VTS,1,1,720,2.28,CRD,10.5 +VTS,2,1,3300,18.53,CRD,52 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,420,1.27,CRD,7 +VTS,1,1,360,0.94,CRD,6 +VTS,1,1,120,0.55,CRD,3.5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,420,0.89,CRD,6 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,480,1.1,CSH,7 +VTS,1,1,2340,13.64,CRD,40 +VTS,1,1,1860,9.67,CRD,30 +VTS,1,1,600,1.6,CRD,8.5 +VTS,1,1,420,1.09,CSH,6.5 +VTS,1,1,600,1.71,CSH,9 +VTS,1,1,1140,3.84,CSH,16 +VTS,1,1,480,2.03,CRD,9 +VTS,1,1,420,1.68,CRD,7 +VTS,1,1,540,4.08,CRD,13.5 +VTS,1,1,1200,5.76,CRD,19.5 +VTS,1,1,720,2.9,CRD,12 +VTS,1,1,480,1.1,CSH,7.5 +VTS,1,1,420,1.5,CRD,7.5 +VTS,1,1,360,1.77,CRD,8 +VTS,1,1,300,0.85,CRD,5.5 +VTS,1,1,240,0.85,CRD,5.5 +VTS,2,1,2880,21.39,CRD,52 +VTS,1,1,180,0.62,CSH,4 +VTS,1,1,480,1.32,CRD,7 +VTS,1,1,180,1.12,CSH,5 +VTS,1,1,1200,3.2,CSH,15.5 +VTS,1,1,300,1.52,CSH,6.5 +VTS,1,1,240,1.21,CSH,6 +VTS,1,1,1020,1.8,CRD,12.5 +VTS,1,1,540,1.75,CSH,8.5 +VTS,1,1,660,1.95,CRD,9.5 +VTS,1,1,1080,3.23,CSH,14 +VTS,1,1,540,1.69,CRD,8 +VTS,1,1,300,1.99,CRD,7.5 +VTS,1,1,180,1.32,CSH,5.5 +VTS,1,1,300,1.23,CRD,6 +VTS,1,1,360,0.55,CSH,5.5 +VTS,1,1,840,2.71,CRD,11.5 +VTS,1,1,1140,5.23,CRD,18.5 +VTS,1,1,540,1.27,CSH,7.5 +VTS,1,1,600,2.68,CSH,10 +VTS,1,1,240,1.16,CSH,6 +VTS,1,1,840,2.59,CRD,11.5 +VTS,1,1,540,1.22,CRD,7.5 +VTS,1,1,1560,9.56,CSH,30 +VTS,1,1,720,1.59,CSH,9.5 +VTS,1,1,960,3,CSH,13 +VTS,1,1,780,2.45,CSH,11.5 +VTS,1,1,1020,3.58,CRD,14.5 +VTS,1,1,720,2.6,CRD,11 +VTS,1,1,840,2.44,CSH,11.5 +VTS,1,1,1020,3.48,CRD,15 +VTS,1,1,300,1.03,CSH,5.5 +VTS,1,1,1320,2.47,CSH,14.5 +VTS,2,1,2640,18.92,CSH,52 +VTS,1,1,600,1.63,CSH,9 +VTS,1,1,540,1.69,CRD,8.5 +VTS,1,1,480,2.93,CRD,10.5 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,540,1.64,CRD,8 +VTS,1,1,1560,6.12,CRD,23 +VTS,1,1,600,1.09,CRD,8 +VTS,1,1,660,2.14,CRD,10 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,1440,4.27,CRD,19.5 +VTS,1,1,780,2.82,CRD,11.5 +VTS,1,1,120,0.22,CSH,3.5 +VTS,1,1,1860,4.03,CRD,21 +VTS,1,1,120,0.54,CRD,4 +VTS,1,1,300,1.07,CSH,5.5 +VTS,1,1,840,2.15,CSH,11.5 +VTS,1,1,420,1.06,CRD,6.5 +VTS,1,1,360,1.89,CRD,7.5 +VTS,1,1,540,2.62,CRD,10.5 +VTS,1,1,840,2.96,CRD,13 +VTS,1,1,540,1.3,CRD,8 +VTS,1,1,600,2.17,CRD,9 +VTS,1,1,300,1.12,CRD,6 +VTS,1,1,2760,8,CSH,32.5 +VTS,1,1,420,2.09,CRD,8 +VTS,1,1,600,2.31,CSH,9.5 +VTS,1,1,600,2.63,CRD,10.5 +VTS,1,1,960,1.45,CSH,11 +VTS,1,1,420,1.84,CSH,7.5 +VTS,1,1,120,0.47,CSH,4 +VTS,1,1,1200,2.98,CRD,15 +VTS,1,1,540,3.52,CRD,12 +VTS,1,1,840,2.51,CSH,11.5 +VTS,1,1,1920,3.42,CSH,20.5 +VTS,1,1,360,1.84,CRD,7 +VTS,1,1,480,2.2,CRD,9.5 +VTS,1,1,300,1.54,CSH,7 +VTS,1,1,240,1.61,CSH,6.5 +VTS,1,1,1440,6.13,CRD,21 +VTS,1,1,540,2.77,CRD,10 +VTS,1,1,420,1.67,CRD,8 +VTS,1,1,180,0.51,CSH,4 +VTS,1,1,780,2.54,CSH,11.5 +VTS,1,1,60,0.55,CRD,3.5 +VTS,1,1,300,0.76,CSH,5 +VTS,1,1,660,1.81,CRD,9.5 +VTS,1,1,660,0.72,CRD,8 +VTS,1,1,420,0.98,CSH,6 +VTS,1,1,360,0.37,CSH,6 +VTS,1,1,480,1.35,CSH,7 +VTS,1,1,1080,3.64,CRD,15 +VTS,1,1,720,3.04,CSH,12.5 +VTS,1,1,720,4.14,CRD,14 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,420,1.11,CRD,7 +VTS,1,1,360,1.56,CRD,7 +VTS,1,1,120,0.7,CRD,4.5 +VTS,1,1,660,1.32,CRD,8.5 +VTS,1,1,1080,2.38,CSH,13 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,780,3.95,CSH,14 +VTS,1,1,240,0.77,CRD,5 +VTS,1,1,2280,13.13,CSH,41 +VTS,1,1,240,0.47,CSH,4.5 +VTS,1,1,540,1.51,CSH,8 +VTS,1,1,420,1.88,CRD,8 +CMT,1,1,1069,8.1,CRD,24 +CMT,1,1,602,1.8,CRD,8.5 +CMT,1,2,2656,12,CSH,40 +CMT,2,1,623,3.4,CRD,52 +CMT,1,1,802,1.8,CSH,10.5 +CMT,1,1,1017,4.4,CSH,15.5 +CMT,1,1,670,1.9,CRD,9 +CMT,1,1,782,5.1,CSH,17 +CMT,1,1,494,1,CSH,7 +CMT,1,1,718,1.1,CRD,8.5 +CMT,1,1,464,1.1,CSH,7 +CMT,1,1,349,0.9,CSH,5.5 +CMT,1,1,566,1.6,CSH,8.5 +CMT,1,1,715,1.7,CRD,9.5 +CMT,1,1,1156,8.3,CRD,25 +CMT,1,1,532,3.1,CRD,11 +CMT,1,1,1507,2.7,CRD,16.5 +CMT,1,1,365,2.2,CRD,8 +CMT,1,1,676,1.6,CSH,9 +VTS,1,1,960,2.18,CSH,12.5 +VTS,1,1,1560,5.37,CRD,20.5 +VTS,1,1,1140,4.96,CSH,17 +VTS,1,1,240,0.81,CSH,5 +VTS,1,1,240,1.15,CSH,6 +VTS,1,1,840,1.53,CRD,10 +VTS,1,1,300,1.4,CSH,6.5 +VTS,1,1,600,2.02,CSH,9.5 +VTS,1,1,660,2.1,CSH,10 +VTS,1,1,660,2.82,CRD,11 +VTS,1,1,720,1.5,CSH,9 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,420,1.09,CSH,7 +VTS,1,1,840,5.53,CRD,18 +VTS,1,1,300,1,CSH,5.5 +VTS,1,1,660,2.45,CRD,10 +VTS,1,1,840,1.87,CRD,10.5 +VTS,1,1,60,0.26,CRD,3 +VTS,1,1,120,0.64,CRD,4 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,420,1.58,CRD,7.5 +VTS,1,1,720,1.58,CRD,10 +VTS,1,1,660,1.57,CSH,9 +VTS,1,1,840,1.64,CSH,10.5 +VTS,1,1,1980,6.45,CRD,26 +VTS,1,1,1140,4.03,CSH,16 +VTS,1,1,180,0.47,CSH,4 +VTS,1,1,1440,2.93,CRD,16 +VTS,1,1,1440,5.74,CRD,21.5 +VTS,1,1,1380,3.36,CRD,16.5 +VTS,1,1,600,1.41,CSH,8.5 +VTS,1,1,720,2.56,CSH,11 +VTS,1,1,720,2.25,CRD,11 +VTS,1,1,420,1.14,CSH,7 +VTS,2,1,2040,18.48,CRD,52 +VTS,1,1,480,1.61,CRD,7.5 +VTS,1,1,480,1.66,CSH,8 +VTS,1,1,900,2.71,CRD,12.5 +VTS,1,1,600,1.75,CSH,8.5 +VTS,1,1,120,0.64,CRD,4 +VTS,1,1,300,0.65,CSH,5 +VTS,1,1,660,1.73,CRD,9 +VTS,1,1,900,1.99,CRD,11 +VTS,1,1,1320,3.08,CSH,15 +VTS,1,1,1020,3.27,CSH,13.5 +VTS,1,1,420,1.17,CRD,7 +VTS,1,1,1440,4.61,CRD,18.5 +VTS,1,1,480,2.13,CSH,9 +VTS,1,1,1080,4.57,CRD,17.5 +VTS,1,1,780,3.07,CRD,12 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,660,1.69,CRD,9 +VTS,1,1,300,1.09,CRD,6 +VTS,1,1,480,1.74,CSH,8.5 +VTS,1,1,540,1.61,CRD,8.5 +VTS,1,1,360,1.19,CRD,6 +VTS,1,1,180,0.45,CRD,4 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,420,1.38,CRD,7 +VTS,1,1,1080,4.4,CSH,17.5 +VTS,1,1,360,1.27,CSH,6.5 +VTS,1,1,1140,9.16,CRD,27.5 +VTS,1,1,780,1.84,CRD,9.5 +VTS,1,1,1380,8.63,CRD,27.5 +VTS,1,1,360,0.5,CSH,5.5 +VTS,1,1,300,0.69,CSH,5 +VTS,1,1,420,0.68,CSH,6 +VTS,2,1,1920,17.66,CRD,52 +VTS,1,1,780,2.53,CRD,11.5 +VTS,1,1,660,1.74,CRD,9.5 +VTS,1,1,120,0.52,CRD,3.5 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,240,0.91,CSH,5 +VTS,1,1,480,1.62,CRD,8.5 +VTS,1,1,180,0.37,CSH,4 +VTS,1,1,300,0.68,CRD,5.5 +VTS,1,1,840,2.52,CRD,11.5 +VTS,1,1,240,1.1,CRD,6 +VTS,1,1,720,1.8,CRD,9.5 +VTS,1,1,420,1.72,CRD,7.5 +VTS,1,1,240,0.57,CRD,4.5 +VTS,1,1,600,1.6,CRD,9 +VTS,1,1,960,1.56,CSH,11 +VTS,1,1,1140,4.36,CRD,17 +VTS,1,1,240,0.7,CRD,5 +VTS,1,1,840,1.62,CSH,10.5 +VTS,1,1,900,3.94,CSH,14 +VTS,1,1,480,1.81,CRD,8 +VTS,1,1,540,1.41,CRD,8.5 +VTS,1,1,480,1.41,CRD,7.5 +VTS,1,1,720,1.38,CRD,9.5 +VTS,1,1,480,1.74,CRD,8 +VTS,1,1,240,0.72,CRD,5 +VTS,1,1,420,1.3,CSH,7 +VTS,1,1,360,2.05,CSH,8 +VTS,1,1,1080,2.41,CRD,13 +VTS,1,1,420,1.67,CSH,7.5 +VTS,1,1,300,0.73,CSH,5.5 +VTS,1,1,300,1.04,CRD,6 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,660,2.33,CRD,10 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,240,0.89,CSH,5.5 +VTS,1,1,780,1.31,CRD,9 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,120,0.5,CRD,3.5 +VTS,1,1,360,0.79,CSH,6 +VTS,1,1,720,3.45,CRD,12.5 +VTS,1,1,660,0.95,CSH,8 +VTS,1,1,240,0.98,CSH,5 +VTS,1,1,600,2.42,CRD,10 +VTS,1,1,540,1.81,CSH,8.5 +VTS,1,1,540,0.79,CRD,7 +VTS,1,1,360,0.76,CSH,6 +VTS,1,1,780,2.06,CRD,10.5 +VTS,1,1,420,0.88,CRD,6.5 +VTS,1,1,600,1.8,CSH,9 +VTS,1,1,480,1.22,CSH,7.5 +VTS,1,1,360,1.72,CSH,7.5 +VTS,1,1,540,1.1,CRD,7.5 +VTS,1,1,720,1.56,CSH,9.5 +VTS,1,1,840,3.27,CSH,13 +VTS,1,1,180,0.99,CRD,5 +VTS,1,1,360,0.79,CRD,6 +VTS,1,1,600,0.88,CRD,8 +VTS,1,1,540,1.22,CRD,8 +VTS,1,1,420,1.34,CRD,7 +VTS,1,1,420,1.49,CSH,7 +VTS,1,1,720,2.22,CRD,10.5 +VTS,1,1,480,2.23,CSH,9 +VTS,1,1,780,1.85,CSH,10.5 +VTS,1,1,720,1.76,CRD,9.5 +VTS,1,1,600,1.57,CRD,8 +VTS,1,1,540,1.5,CSH,8 +VTS,1,1,1140,3.66,CRD,16 +VTS,1,1,1140,4.09,CRD,16.5 +VTS,1,1,2340,3.99,CRD,24 +VTS,2,1,2040,17.94,CRD,52 +VTS,1,1,1320,4.79,CSH,18 +VTS,1,1,840,2.1,CSH,10.5 +VTS,1,1,420,1.68,CSH,8 +VTS,1,1,660,1.84,CRD,9.5 +VTS,1,1,120,0.5,CSH,4 +VTS,1,1,1020,3.75,CSH,15 +VTS,1,1,240,0.69,CSH,5 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,1440,5.61,CRD,21 +VTS,1,1,1320,5.62,CRD,19.5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,360,0.86,CRD,5.5 +VTS,1,1,480,0.92,CRD,7 +VTS,1,1,660,1.59,CRD,9.5 +VTS,1,1,300,1.34,CSH,6 +VTS,1,1,540,1.63,CSH,8 +VTS,1,1,780,1.05,CRD,9 +VTS,1,1,1020,1.23,CRD,11.5 +VTS,1,1,420,0.79,CRD,6.5 +VTS,1,1,1020,2.32,CRD,13 +VTS,1,1,360,0.9,CSH,5.5 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,1320,7.37,CSH,23.5 +VTS,1,1,1140,4.12,CRD,15.5 +VTS,1,1,420,1.79,CRD,7.5 +VTS,1,1,300,1.39,CRD,7 +VTS,1,1,1500,7.77,CRD,24.5 +VTS,1,1,180,0.45,CRD,4.5 +VTS,1,1,1080,1.14,CSH,12 +VTS,1,1,240,0.76,CRD,5 +VTS,1,1,300,0.7,CRD,5.5 +VTS,1,1,240,0.82,CRD,5 +VTS,1,1,360,1.16,CRD,6.5 +VTS,1,1,600,2.72,CRD,10.5 +VTS,1,1,480,1.16,CRD,7 +VTS,1,1,1140,2.95,CSH,13.5 +VTS,1,1,720,2.18,CRD,10 +VTS,1,1,480,0.78,CSH,7 +VTS,1,1,480,1.52,CRD,7.5 +VTS,1,1,480,0.79,CSH,6.5 +VTS,1,1,420,0.95,CRD,6 +VTS,1,1,900,3.66,CRD,14 +VTS,1,1,660,3.87,CSH,13 +VTS,1,1,780,3.31,CSH,12.5 +VTS,1,1,660,2.93,CSH,11.5 +VTS,1,1,360,1.02,CRD,6.5 +VTS,1,1,180,0.54,CSH,4.5 +VTS,1,1,1200,4.18,CRD,16 +VTS,1,1,780,2.86,CRD,12 +VTS,1,1,360,0.78,CSH,6 +VTS,1,1,420,1.22,CSH,7 +VTS,1,1,1980,3.98,CRD,21.5 +VTS,1,1,1440,4.39,CRD,18 +VTS,1,1,780,2.46,CRD,11.5 +VTS,1,1,360,0.63,CSH,5.5 +VTS,1,1,1380,2.37,CRD,14.5 +VTS,1,1,1500,4.67,CSH,19.5 +VTS,1,1,1200,5.62,CRD,19 +VTS,1,1,1140,3.41,CSH,15 +VTS,1,1,660,3.14,CRD,11.5 +VTS,1,1,660,1.2,CRD,8.5 +VTS,1,1,720,1.33,CSH,9 +VTS,1,1,540,1.3,CSH,8 +VTS,1,1,3180,10.72,CRD,41.5 +VTS,1,1,780,3.03,CSH,12.5 +VTS,1,1,300,1.01,CSH,5.5 +VTS,1,1,1200,6.99,CRD,23 +VTS,1,1,120,0.71,CSH,4 +VTS,1,1,300,0.49,CSH,5 +VTS,1,1,180,0.9,CSH,5 +VTS,1,1,300,1.31,CSH,6 +VTS,1,1,780,2.96,CSH,12 +VTS,1,1,300,1.13,CSH,6 +VTS,1,1,600,3.54,CRD,12.5 +VTS,1,1,240,0.66,CSH,4.5 +VTS,1,1,780,3.1,CSH,12 +VTS,1,1,780,2,CRD,10.5 +VTS,1,1,1020,1.97,CSH,12 +VTS,1,1,420,1.2,CRD,7 +VTS,1,1,1560,16.49,CRD,45.5 +VTS,1,1,300,1.15,CRD,6 +VTS,1,1,1380,10.35,CSH,31 +VTS,1,1,480,1.75,CRD,8.5 +VTS,1,1,360,0.86,CSH,5.5 +VTS,1,1,540,1.87,CSH,9 +VTS,1,1,600,1.92,CSH,9 +VTS,1,1,1320,3.13,CRD,16 +VTS,1,1,1200,5.21,CRD,19 +VTS,1,1,360,1.09,CRD,6 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,780,2.11,CSH,11 +VTS,1,1,300,0.8,CSH,5 +VTS,1,1,540,1.99,CSH,9 +VTS,1,1,1080,4.07,CRD,16 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,1020,4.01,CRD,15.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,420,1.94,CRD,8 +VTS,1,1,1080,1.83,CRD,12.5 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,1,480,1.44,CRD,7.5 +VTS,1,1,360,1.29,CRD,6.5 +VTS,1,1,600,2.07,CRD,9.5 +VTS,1,1,960,1.52,CRD,11 +VTS,1,1,120,0.75,CRD,4 +VTS,1,1,600,1.88,CRD,8.5 +VTS,1,1,900,1.7,CSH,11 +VTS,1,1,360,0.73,CSH,5.5 +VTS,1,1,1440,4.57,CSH,18.5 +VTS,1,1,300,0.99,CSH,6 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,300,1.21,CSH,6 +VTS,1,1,300,1.03,CSH,6 +VTS,1,1,360,1.13,CSH,6 +VTS,1,1,960,4.33,CSH,15 +VTS,1,1,60,0.45,CRD,3.5 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,480,1.1,CSH,7 +VTS,1,1,360,1.36,CRD,7 +VTS,1,1,660,1.69,CSH,9 +VTS,1,1,1440,8.74,CRD,27 +VTS,1,1,120,0.7,CRD,4.5 +VTS,1,1,780,2.14,CRD,10.5 +VTS,1,1,900,2.05,CSH,11 +VTS,1,1,180,1.16,CSH,5 +VTS,1,1,180,0.56,CRD,4 +VTS,1,1,840,3.91,CRD,14.5 +VTS,1,1,1560,2.9,CRD,18 +VTS,1,1,540,1.37,CRD,7.5 +VTS,1,1,1440,3.51,CRD,16.5 +CMT,1,1,468,1.2,CSH,7 +CMT,1,1,711,2.2,CSH,10.5 +VTS,1,1,1140,4.9,CRD,18 +VTS,1,1,720,1.61,CSH,9.5 +VTS,1,1,240,1.16,CSH,6 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,900,4.45,CSH,15.5 +VTS,1,1,480,0.94,CRD,6.5 +VTS,1,1,420,1.92,CSH,8 +VTS,1,1,600,2,CSH,9.5 +VTS,1,1,840,2.51,CSH,11.5 +VTS,1,1,900,6.35,CSH,20 +VTS,1,1,540,1.62,CSH,8.5 +VTS,1,1,300,0.61,CSH,4.5 +VTS,1,1,300,1.24,CSH,6 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,660,2.02,CSH,9.5 +VTS,1,1,660,2.44,CRD,10.5 +VTS,1,1,180,0.57,CRD,4 +VTS,1,1,660,3.11,CRD,11.5 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,1020,1.51,CSH,12 +VTS,1,1,780,2.53,CRD,11.5 +VTS,1,1,420,2.04,CRD,8 +VTS,1,1,1200,6,CSH,20.5 +VTS,1,1,780,2.35,CSH,11 +VTS,1,1,780,7.45,CRD,22 +VTS,1,1,1140,3.01,CRD,14.5 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,420,1.19,CRD,7 +VTS,1,1,900,1.75,CSH,11 +VTS,1,1,420,1.15,CRD,7 +VTS,1,1,1080,3,CRD,13.5 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,1200,2.84,CSH,14.5 +VTS,1,1,120,0.49,CSH,4 +VTS,1,1,960,4.66,CRD,16.5 +VTS,1,1,840,2.66,CRD,11.5 +VTS,5,4,0,0,CRD,50 +VTS,1,1,120,0.73,CSH,4.5 +VTS,1,1,360,0.85,CRD,6 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,480,1.74,CRD,8 +VTS,2,1,1440,18.73,CSH,52 +VTS,1,1,300,0.9,CSH,6 +VTS,1,1,1080,2.97,CRD,14 +VTS,1,1,180,0.55,CSH,4 +VTS,1,1,420,0.99,CRD,6 +VTS,1,1,420,1.21,CSH,6.5 +VTS,1,1,1020,3.33,CSH,13.5 +VTS,1,1,300,0.99,CSH,5.5 +VTS,5,1,0,0,CRD,8 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,600,1.93,CRD,9.5 +VTS,1,1,480,0.94,CRD,7 +VTS,1,1,1080,2.54,CRD,13.5 +VTS,1,1,420,1.08,CSH,7 +VTS,1,1,1380,2.8,CRD,16 +VTS,1,1,180,0.97,CRD,5 +VTS,1,1,1440,4.58,CRD,18.5 +VTS,1,1,600,1.06,CSH,8 +VTS,1,1,420,1.25,CRD,7 +VTS,1,1,420,1.54,CSH,7.5 +VTS,1,1,660,4.28,CSH,15 +VTS,1,1,120,0.6,CSH,4 +VTS,1,1,780,2.6,CRD,11.5 +VTS,1,1,480,1.55,CRD,7.5 +VTS,1,1,720,1.83,CSH,10 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,1,360,0.84,CSH,6 +VTS,1,1,300,1.5,CSH,7 +VTS,1,1,720,3.19,CRD,12 +VTS,1,1,1560,6.53,CRD,23.5 +VTS,1,1,780,1.82,CRD,10.5 +VTS,1,1,600,1.34,CSH,8 +VTS,1,1,1200,8.26,CSH,25.5 +VTS,1,1,1140,2.2,CSH,13 +VTS,1,1,720,2.17,CSH,10 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,480,2.11,CSH,8.5 +VTS,1,1,480,1.48,CRD,7.5 +VTS,1,1,60,0.29,CSH,3 +VTS,1,1,480,2.32,CSH,9.5 +VTS,1,1,540,3.9,CSH,13 +VTS,1,1,600,2.41,CSH,10 +VTS,1,1,900,3.66,CRD,13.5 +VTS,1,1,900,4.67,CRD,17.5 +VTS,1,1,1140,2.36,CRD,12.5 +VTS,1,1,180,0.31,CSH,4 +VTS,1,1,420,2.11,CRD,8 +VTS,1,1,540,1.54,CSH,8.5 +VTS,1,1,1620,9.97,CRD,31 +VTS,1,1,300,1.58,CRD,6.5 +VTS,1,1,420,0.85,CSH,7 +VTS,1,1,720,2.11,CRD,10.5 +VTS,1,1,1740,8.48,CSH,29 +VTS,1,1,180,0.57,CSH,4 +VTS,1,1,780,1.37,CSH,9.5 +VTS,1,1,480,1.08,CSH,7 +VTS,1,1,540,2.05,CRD,8.5 +VTS,1,1,600,1.95,CRD,9.5 +VTS,1,1,300,1.78,CRD,7 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,420,1.63,CRD,7.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,540,1.79,CRD,8.5 +VTS,1,1,840,2.86,CRD,12.5 +VTS,1,1,1320,3.51,CRD,17 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,420,1.36,CSH,7 +VTS,1,1,480,1.36,CSH,7 +VTS,1,1,420,1.23,CRD,6.5 +VTS,1,1,240,1.44,CRD,6 +VTS,1,1,1380,4.28,CRD,18.5 +VTS,1,1,180,0.47,CSH,4.5 +VTS,1,1,660,1.5,CRD,8.5 +VTS,1,1,360,0.67,CSH,5.5 +VTS,1,1,240,0.61,CRD,5 +VTS,1,1,300,1.07,CRD,6 +VTS,1,1,180,0.27,CSH,4 +VTS,1,1,780,1.96,CRD,10.5 +VTS,1,1,420,1.56,CSH,7.5 +VTS,1,1,720,2.43,CSH,11 +VTS,1,1,240,0.66,CRD,5 +VTS,1,1,780,3.09,CRD,12 +VTS,1,1,300,0.53,CSH,5 +VTS,1,1,1260,4.95,CRD,19 +VTS,1,1,420,1.54,CSH,7.5 +VTS,1,1,540,2.14,CRD,9.5 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,240,0.66,CSH,5 +VTS,1,1,660,1.24,CRD,8.5 +VTS,1,1,360,1.04,CSH,6 +VTS,1,1,480,1.29,CRD,7.5 +VTS,1,1,480,1.23,CSH,7 +VTS,1,1,960,2.53,CSH,12.5 +VTS,1,1,540,1.3,CRD,8 +VTS,1,1,660,2.85,CRD,11 +VTS,1,1,1320,3.7,CRD,17 +VTS,1,1,420,0.93,CRD,6.5 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,780,2.31,CSH,10.5 +VTS,1,1,600,1.24,CRD,8 +VTS,1,1,900,2.13,CRD,11.5 +VTS,1,1,660,0.68,CRD,8 +VTS,1,1,1560,5.37,CSH,21.5 +VTS,1,1,840,3.47,CRD,13.5 +VTS,1,1,600,1.83,CSH,9 +VTS,1,1,720,1.07,CSH,8.5 +VTS,1,1,420,1.58,CSH,8 +VTS,1,1,840,2.97,CSH,12.5 +VTS,1,1,900,3.21,CRD,13 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,960,2.87,CRD,13 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,360,1.8,CSH,8 +VTS,1,1,360,1.01,CRD,6 +VTS,1,1,600,1.31,CSH,8 +VTS,2,1,3540,17.46,CRD,52 +VTS,1,1,2280,9.9,CSH,34 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,720,1.8,CRD,10 +VTS,1,1,300,1.07,CSH,6 +VTS,1,1,300,0.77,CSH,5.5 +VTS,1,1,540,0.94,CSH,7.5 +VTS,1,1,540,2.49,CRD,10.5 +VTS,1,1,840,3.64,CSH,13.5 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,240,0.94,CRD,5.5 +VTS,1,1,240,0.33,CRD,4.5 +VTS,1,1,960,1.47,CRD,11 +VTS,1,1,360,0.58,CRD,5.5 +VTS,1,1,720,2.47,CSH,11.5 +VTS,1,1,1380,3.29,CSH,16.5 +VTS,1,1,840,2.81,CRD,12.5 +VTS,1,1,540,1.31,CSH,7.5 +VTS,1,1,1080,5.11,CRD,18.5 +VTS,1,1,540,1.88,CRD,9 +VTS,1,1,720,2.34,CRD,10.5 +VTS,1,1,720,2.3,CRD,10.5 +VTS,1,1,420,0.82,CSH,6 +VTS,1,1,1620,2.45,CSH,17.5 +VTS,1,1,240,0.62,CRD,5 +VTS,1,1,1080,2.85,CRD,13.5 +VTS,1,1,480,1.46,CSH,7.5 +VTS,1,1,540,0.98,CRD,7 +VTS,1,1,240,0.95,CRD,5.5 +VTS,1,1,720,2.5,CSH,10.5 +VTS,1,1,180,0.45,CSH,4.5 +VTS,1,1,1260,4.11,CSH,17 +VTS,1,1,180,1.04,CRD,5 +VTS,1,1,1020,2.52,CSH,13 +VTS,1,1,1740,5.78,CRD,21.5 +VTS,1,1,480,0.77,CRD,6.5 +VTS,1,1,480,1.56,CSH,7.5 +VTS,1,1,180,0.47,CSH,4 +VTS,1,1,540,1.86,CSH,8.5 +VTS,1,1,240,0.33,CRD,4 +VTS,1,1,120,0.31,CSH,3.5 +VTS,1,1,720,2.06,CSH,9.5 +VTS,1,1,1260,3.72,CRD,16.5 +VTS,1,1,480,1.54,CSH,7.5 +VTS,1,1,1320,4.06,CRD,17 +VTS,1,1,420,1.22,CSH,7 +VTS,1,1,480,0.59,CRD,6.5 +VTS,1,1,840,4.15,CRD,14 +VTS,1,1,600,1.75,CSH,9 +VTS,1,1,1200,2.28,CRD,13.5 +VTS,1,1,360,1.01,CRD,6.5 +VTS,1,1,120,0.4,CSH,4 +VTS,1,1,780,1.39,CRD,10 +VTS,1,1,1020,2.4,CRD,12.5 +VTS,1,1,900,1.25,CSH,10.5 +VTS,1,1,240,0.75,CSH,5 +VTS,1,1,1320,7.46,CSH,25 +VTS,1,1,1140,3.07,CRD,14.5 +VTS,1,1,420,1.24,CRD,7 +VTS,1,1,720,1.56,CSH,9 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,1440,5.64,CRD,21.5 +VTS,1,1,660,2.3,CRD,10 +VTS,1,1,1020,3.13,CSH,14 +VTS,1,1,600,3.04,CRD,11 +VTS,1,1,180,0.54,CRD,4 +VTS,1,1,120,0.56,CSH,4 +VTS,1,1,780,1.53,CSH,10 +VTS,1,1,780,1.26,CRD,9.5 +VTS,1,1,480,1.69,CSH,7.5 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,1020,2.57,CRD,13 +VTS,1,1,720,1.82,CSH,9.5 +VTS,1,1,180,0.37,CRD,4 +VTS,1,1,720,3.3,CRD,12 +VTS,1,1,1020,3.05,CRD,14 +VTS,1,1,840,1.61,CSH,10.5 +VTS,1,1,360,1.41,CSH,7 +VTS,1,1,660,6.12,CSH,18 +VTS,1,1,540,1.63,CRD,8 +VTS,1,1,960,3.35,CSH,13.5 +VTS,1,1,420,1.7,CRD,8 +VTS,1,1,240,0.63,CRD,5 +VTS,1,1,240,0.79,CSH,5 +VTS,1,1,480,0.9,CSH,7 +VTS,1,1,780,2.03,CSH,10.5 +VTS,1,1,720,3.23,CSH,12 +VTS,1,1,540,0.76,CRD,6.5 +VTS,1,1,300,0.64,CRD,5 +VTS,1,1,660,1.01,CSH,8.5 +VTS,1,1,840,1.29,CSH,9.5 +VTS,1,1,540,1.3,CSH,7.5 +VTS,1,1,840,1.77,CSH,10.5 +VTS,1,1,120,0.52,CRD,3.5 +VTS,1,1,660,2.87,CRD,11 +VTS,1,1,660,2.13,CSH,9.5 +VTS,1,1,780,2.85,CSH,12 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,420,1.21,CSH,7.5 +VTS,1,1,420,0.7,CRD,6 +VTS,1,1,660,2.54,CRD,10.5 +VTS,1,1,540,0.76,CRD,7 +VTS,1,1,660,2.19,CSH,9.5 +VTS,1,1,540,0.58,CSH,7 +VTS,1,1,900,2.04,CRD,11 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,780,1.33,CSH,9 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,180,0.15,CSH,4 +VTS,2,1,1560,18.51,CRD,52 +VTS,1,1,480,0.95,CRD,6.5 +VTS,1,1,540,1.04,CRD,7.5 +VTS,1,1,300,0.41,CRD,5 +VTS,1,1,840,1.26,CRD,9.5 +VTS,1,1,540,1.43,CSH,7.5 +VTS,1,1,480,1.25,CSH,7.5 +VTS,1,1,360,1.09,CSH,6 +VTS,1,1,1020,3.29,CSH,14 +VTS,1,1,600,1.97,CRD,9.5 +VTS,1,1,300,1.29,CRD,6 +VTS,1,1,1080,2.15,CRD,12.5 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,900,2.96,CSH,13 +VTS,1,1,1980,14.93,CRD,41.5 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,1800,4.72,CRD,21.5 +VTS,1,1,420,1.51,CSH,7 +VTS,1,1,300,0.39,CSH,5 +VTS,1,1,180,0.4,CRD,4 +VTS,1,1,300,1.2,CSH,6.5 +VTS,1,1,780,2.51,CSH,11 +VTS,1,1,540,0.96,CSH,7 +VTS,1,1,540,2.5,CRD,9.5 +VTS,1,1,600,2.37,CRD,10 +VTS,1,1,600,2.32,CSH,9.5 +VTS,1,1,840,1.89,CRD,10.5 +VTS,1,1,540,2.17,CSH,9 +VTS,1,1,300,1.23,CSH,6 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,420,1.03,CSH,6.5 +VTS,1,1,360,1.05,CSH,6 +VTS,1,1,540,1.7,CSH,8 +VTS,1,1,900,2.06,CRD,11.5 +VTS,1,1,480,1.52,CSH,7.5 +VTS,1,1,300,1.14,CRD,6 +VTS,1,1,540,1.73,CRD,9 +VTS,1,1,600,1.71,CRD,9 +VTS,1,1,780,2.67,CSH,11.5 +VTS,1,1,420,1.17,CRD,7 +VTS,1,1,180,0.4,CSH,4 +VTS,1,1,720,0.94,CSH,8.5 +VTS,1,1,180,0.5,CRD,4 +VTS,1,1,420,0.82,CSH,6.5 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,1140,3.8,CRD,15.5 +VTS,1,1,300,1.22,CSH,6.5 +VTS,1,1,1020,3.18,CSH,14 +VTS,1,1,1140,4.08,CRD,16.5 +VTS,1,1,540,1.69,CRD,8 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,360,1.03,CSH,6.5 +VTS,1,1,600,1.46,CRD,8 +VTS,1,1,300,1.13,CSH,5.5 +VTS,1,1,1020,1.62,CSH,7 +VTS,1,1,240,1.46,CRD,6 +VTS,1,1,240,1,CRD,5 +VTS,1,1,1080,4.83,CRD,17 +VTS,1,1,840,1.91,CRD,10.5 +VTS,1,1,120,0.6,CRD,4 +VTS,1,1,660,1.83,CRD,9.5 +VTS,1,1,480,1.26,CSH,6.5 +VTS,1,1,360,1.22,CSH,6.5 +VTS,1,1,1200,3.89,CSH,16.5 +VTS,1,1,840,2.3,CSH,11.5 +VTS,1,1,660,1.12,CSH,8.5 +VTS,1,1,240,0.83,CRD,5 +VTS,1,1,600,2.05,CRD,9.5 +VTS,1,1,660,2.42,CSH,10 +VTS,1,1,420,1.19,CSH,6.5 +VTS,1,1,960,2.14,CRD,12 +VTS,1,1,300,0.55,CSH,5 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,780,3.33,CSH,13 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,240,0.81,CSH,5 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,180,0.62,CRD,4.5 +VTS,1,1,240,0.7,CRD,5 +VTS,1,1,540,2.3,CRD,9.5 +VTS,1,1,480,2.74,CSH,10 +VTS,1,1,540,1.5,CRD,8 +VTS,1,1,780,2.15,CSH,10.5 +VTS,1,1,840,8.97,CRD,25 +VTS,1,1,1200,5.67,CRD,20.5 +VTS,1,1,480,0.7,CSH,6.5 +VTS,1,1,1620,8.54,CRD,29 +VTS,1,1,600,1.31,CRD,8.5 +VTS,1,1,360,0.97,CRD,6 +VTS,1,5,120,0.67,CSH,4 +VTS,1,5,540,3.38,CRD,12 +VTS,1,5,480,1.02,CRD,6.5 +VTS,1,5,1020,3.55,CRD,15.5 +VTS,1,5,1080,2.45,CRD,13.5 +VTS,2,5,1680,18.01,CRD,52 +VTS,1,5,2880,12.32,CRD,44 +VTS,1,5,1500,8.14,CRD,26.5 +VTS,1,5,960,3,CRD,13 +VTS,1,5,1320,11.86,CRD,34 +VTS,1,5,300,1.28,CSH,6.5 +VTS,1,1,360,1.05,CRD,5.5 +VTS,1,1,720,2.17,CRD,10.5 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,600,0.8,CRD,7.5 +VTS,1,1,1200,2.49,CRD,14 +VTS,1,1,1440,4.21,CRD,19 +VTS,1,1,540,1.51,CRD,8.5 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,240,1.42,CSH,6 +VTS,1,1,600,1.22,CRD,8.5 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,300,0.65,CRD,4.5 +VTS,1,1,420,1.61,CSH,7 +VTS,1,1,180,1.07,CSH,5.5 +VTS,1,1,540,1.7,CSH,8.5 +VTS,1,1,420,1.49,CSH,7 +VTS,1,1,360,1.08,CSH,6.5 +VTS,1,1,300,0.67,CSH,5.5 +VTS,1,1,660,2.17,CRD,10 +VTS,1,1,780,2.12,CRD,10.5 +VTS,1,1,480,1.52,CRD,7.5 +VTS,1,1,420,1.7,CRD,7.5 +VTS,1,1,1680,7.43,CRD,26.5 +VTS,1,1,240,0.8,CRD,5.5 +VTS,1,1,360,1.72,CSH,7.5 +VTS,1,1,1020,3.22,CRD,14 +VTS,1,1,480,1.73,CRD,8.5 +VTS,1,1,900,4.37,CSH,15.5 +VTS,2,1,1560,17.66,CRD,52 +VTS,2,1,2580,17.95,CRD,52 +VTS,1,1,180,0.89,CRD,5 +VTS,1,1,1320,6,CSH,21 +VTS,1,1,840,2.45,CSH,11 +VTS,1,1,1020,3.19,CSH,13.5 +VTS,1,1,840,2.36,CRD,11.5 +VTS,1,1,1380,2.79,CRD,15 +VTS,1,1,1860,2.1,CRD,18.5 +VTS,1,1,720,1.02,CRD,9 +VTS,1,1,840,3.24,CSH,12.5 +VTS,1,1,240,0.75,CSH,5 +VTS,1,1,780,3.22,CRD,12.5 +VTS,1,1,600,2.31,CSH,9.5 +VTS,1,1,1260,5.86,CRD,21 +VTS,1,1,300,0.4,CRD,5 +VTS,1,1,360,0.96,CRD,6 +VTS,1,1,840,2.74,CSH,12.5 +VTS,1,1,600,1.95,CRD,9 +VTS,1,1,1620,3.02,CRD,17.5 +VTS,1,1,600,1.65,CSH,8 +VTS,1,1,840,2.81,CSH,13 +VTS,1,1,300,1.16,CRD,6 +VTS,1,1,660,3.05,CSH,11.5 +VTS,1,1,1020,3.13,CRD,13.5 +VTS,1,1,1200,3.38,CSH,15 +VTS,1,1,900,8.06,CRD,24 +VTS,1,1,600,2.06,CSH,9.5 +VTS,1,1,1080,2.91,CRD,14 +VTS,1,1,300,0.85,CRD,5 +VTS,1,1,1020,1.97,CSH,12.5 +VTS,1,1,240,0.93,CSH,5 +VTS,1,1,420,1.18,CRD,7 +VTS,1,1,900,2.1,CRD,11.5 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,360,1.08,CRD,6 +VTS,1,1,240,0.36,CSH,4.5 +VTS,1,1,540,2.02,CRD,9.5 +VTS,1,5,1080,5.91,CSH,20 +VTS,1,5,180,0.44,CSH,4 +VTS,5,2,660,2.64,CSH,5.7 +VTS,1,5,180,0.62,CSH,4.5 +VTS,1,5,1380,3.31,CRD,13.5 +VTS,1,5,1020,2.26,CSH,13 +VTS,1,5,540,1.33,CSH,8 +VTS,1,5,3960,21.41,UNK,62 +VTS,1,5,840,2.3,CSH,11 +VTS,1,5,780,1.68,CSH,10 +VTS,5,1,2220,13.87,CSH,5.7 +VTS,1,5,540,1.26,CRD,8 +VTS,1,5,240,0.45,CSH,4.5 +VTS,1,5,420,1.37,CSH,7 +VTS,1,1,540,1.44,CSH,8 +VTS,1,1,300,1.11,CRD,6 +VTS,1,1,900,5.72,CRD,19.5 +VTS,1,1,600,1.29,CSH,8 +VTS,1,1,480,1.6,CRD,8 +VTS,1,1,300,0.86,CRD,5.5 +VTS,1,1,780,3.54,CSH,13.5 +VTS,1,5,240,0.88,CRD,5 +VTS,1,5,1440,10.78,CSH,32 +VTS,1,5,1860,14.22,CSH,40.5 +VTS,1,5,4800,9.65,CRD,54 +VTS,1,5,660,2.65,CSH,11 +VTS,1,5,780,2.3,CRD,11.5 +VTS,1,5,540,1.81,CSH,9 +VTS,1,5,540,0.87,UNK,7.5 +VTS,1,5,3060,11.39,CSH,42 +VTS,5,3,2640,5.65,CSH,6.5 +VTS,5,1,420,2.24,CSH,5.7 +VTS,1,5,780,2.06,CSH,10.5 +VTS,1,5,1320,3.33,CSH,16.5 +VTS,1,5,1140,4.25,UNK,16.5 +VTS,1,5,600,1.85,CRD,9.5 +VTS,1,5,2220,7.1,CRD,30 +VTS,1,5,1260,3.56,CSH,17 +VTS,1,5,1140,3.46,CRD,16 +VTS,1,5,600,1.42,CRD,8.5 +VTS,1,5,660,1.94,CSH,9.5 +VTS,1,1,660,0.88,CSH,8.5 +VTS,1,1,600,0.97,CSH,7.5 +VTS,1,1,120,0.49,CSH,4 +VTS,1,1,960,5.33,CSH,17 +VTS,1,1,540,1.97,CRD,9 +VTS,1,1,1800,9.6,CRD,30 +VTS,1,1,3240,15.26,CRD,51 +VTS,1,1,660,1.87,CSH,9 +VTS,1,5,180,0.5,CSH,4.5 +VTS,1,5,780,1.99,CRD,11 +VTS,5,1,360,3.17,CSH,5.7 +VTS,1,5,720,2.83,CSH,10 +VTS,1,5,660,1.24,CSH,8.5 +VTS,1,5,240,0.68,CSH,5 +VTS,1,5,360,1.07,CRD,6 +VTS,1,5,660,1.13,CSH,8.5 +VTS,1,5,1200,2.41,CSH,14.5 +VTS,1,5,720,2.5,CRD,11 +VTS,1,5,720,2.65,CRD,11 +VTS,1,5,540,0.68,CRD,7 +VTS,1,5,660,1.66,CSH,9 +VTS,1,5,180,0.5,CRD,4 +VTS,1,5,840,2.37,CRD,12 +VTS,5,1,840,8.68,CSH,5.7 +VTS,1,5,420,1.19,CRD,7 +VTS,1,5,900,2.65,UNK,12.5 +VTS,1,5,780,1.89,CRD,10.5 +VTS,1,5,240,0.74,CRD,5 +VTS,1,5,300,1.49,UNK,7 +VTS,5,2,600,2.25,CSH,5.7 +VTS,1,5,1320,3.74,CRD,17 +VTS,1,5,840,1.71,UNK,10.5 +VTS,1,5,240,1.13,CSH,5.5 +VTS,1,5,900,3.07,CRD,13 +VTS,1,5,1020,3.54,UNK,15.5 +VTS,1,5,480,1.39,CRD,7.5 +VTS,1,5,180,0.95,CRD,5 +VTS,1,5,1020,2.65,CRD,12.5 +VTS,1,5,480,0.99,CSH,7 +VTS,1,5,300,1,CSH,6 +VTS,1,5,780,2.19,CRD,10.5 +VTS,5,1,1440,12,CSH,5.7 +VTS,1,5,840,1.52,CSH,9.5 +VTS,1,5,120,0.47,CSH,4 +VTS,1,5,1020,3.21,CRD,13.5 +VTS,1,5,1380,2.52,CRD,15.5 +VTS,5,2,2280,16.48,CSH,6.5 +VTS,1,5,720,2.33,CRD,11 +VTS,1,5,1020,3.75,CRD,14.5 +VTS,1,5,840,3.2,CRD,13.5 +VTS,1,5,660,1.34,CSH,8.5 +VTS,1,5,540,2.26,CRD,9 +VTS,1,5,600,2.27,CRD,9.5 +VTS,1,1,660,1.09,CSH,8.5 +VTS,1,5,300,2.12,CSH,7.5 +VTS,1,5,420,1.55,CSH,7.5 +VTS,1,5,420,1.41,CSH,7 +VTS,1,5,1020,3.01,CSH,14.5 +VTS,1,5,1380,13.02,CRD,36.5 +VTS,1,5,600,1.45,CRD,8 +VTS,1,5,660,1.91,CSH,9.5 +VTS,1,5,420,1.37,CSH,7 +VTS,1,5,660,2.14,CRD,10.5 +VTS,1,5,600,2.35,CSH,10 +VTS,2,5,2460,15.89,CRD,52 +VTS,1,5,840,1.33,CSH,10 +VTS,1,5,600,1.23,CRD,7.5 +VTS,1,5,480,1.31,CSH,7.5 +VTS,1,5,1740,3.61,CRD,19.5 +VTS,1,5,780,1.39,CSH,9.5 +VTS,1,5,1200,3.36,CRD,16 +VTS,1,5,1140,2.73,CRD,14 +VTS,5,1,1440,6.38,CSH,5.7 +VTS,1,5,360,1.22,UNK,6.5 +VTS,1,5,780,3.19,CRD,13 +VTS,1,5,120,0.84,CSH,4.5 +VTS,1,5,300,0.7,CSH,5.5 +VTS,1,5,960,3.24,CSH,13.5 +VTS,1,5,480,0.88,CSH,6.5 +VTS,1,5,480,1.37,CSH,7.5 +VTS,1,1,1080,2.96,CRD,14 +VTS,1,1,840,1.79,CRD,10.5 +VTS,1,1,660,1.74,CSH,9.5 +VTS,1,1,540,1.29,CSH,8 +VTS,1,1,1020,1.83,CRD,12 +VTS,2,1,2280,18.89,CRD,52 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,840,3.04,CRD,12.5 +VTS,1,1,420,1.19,CRD,7 +VTS,1,1,1140,3.91,CSH,16.5 +VTS,1,5,780,2.62,UNK,11.5 +VTS,1,5,240,1.16,CSH,6 +VTS,1,5,300,0.83,CSH,5.5 +VTS,1,5,1200,8.04,CSH,25 +VTS,1,5,360,2.02,CSH,8.5 +VTS,1,5,240,0.88,CRD,5 +VTS,1,5,480,1.25,CRD,7 +VTS,2,5,1560,19.97,UNK,52 +VTS,1,5,540,1.7,CSH,8.5 +VTS,1,5,1140,2.51,CRD,14.5 +VTS,1,5,120,0.52,CSH,4.5 +VTS,1,5,1620,7.95,CRD,26 +VTS,1,5,1200,2.44,CRD,14 +VTS,1,5,780,1.73,CSH,10.5 +VTS,1,5,660,1.63,CSH,9 +VTS,1,5,120,0.43,CSH,3.5 +VTS,1,5,480,1.07,CSH,7 +VTS,1,5,60,0.64,CRD,4 +VTS,1,5,660,2.28,CSH,10.5 +VTS,1,5,540,1.86,CRD,8.5 +VTS,1,5,540,1.19,CRD,8 +VTS,1,5,300,1.27,CRD,6.5 +VTS,1,5,480,0.88,CSH,6.5 +VTS,1,5,1020,2.63,CSH,13 +VTS,1,5,1140,4.64,CSH,17.5 +VTS,1,5,240,0.68,CRD,4.5 +VTS,1,5,780,2.26,CRD,11 +VTS,1,5,780,2.12,CSH,10.5 +VTS,1,5,180,0.49,CSH,4 +VTS,1,5,600,1.53,CSH,7.5 +VTS,1,5,480,0.84,CSH,7 +VTS,1,5,1140,4.11,UNK,17.5 +VTS,1,5,240,0.89,CSH,5.5 +VTS,1,5,420,1.22,CRD,7 +VTS,1,5,600,1.28,CSH,8 +VTS,1,5,1320,4,UNK,17.5 +VTS,1,5,600,2.68,CRD,10 +VTS,1,5,2520,12.7,CSH,41.5 +VTS,1,5,600,1.59,CRD,8.5 +VTS,1,5,1200,4.02,CSH,17 +VTS,1,5,300,1.28,CSH,6.5 +VTS,1,5,720,1.73,CRD,9.5 +VTS,1,5,1320,4.05,CRD,17 +VTS,1,5,420,0.67,CRD,6 +VTS,1,5,180,0.8,CRD,4.5 +VTS,1,5,1020,12.76,CSH,35 +VTS,5,2,960,5.29,CSH,5.7 +VTS,1,5,780,2.67,CRD,11.5 +VTS,1,5,1020,2.36,CRD,13 +VTS,1,5,900,2.56,CSH,12.5 +VTS,1,5,420,0.78,CSH,6 +VTS,1,5,480,1.23,CRD,8 +VTS,1,5,960,1.13,CRD,10.5 +VTS,1,5,240,0.57,CSH,4.5 +VTS,1,5,480,1.16,CSH,7.5 +VTS,1,5,240,0.83,CRD,5.5 +VTS,1,5,1080,6.9,CSH,22 +VTS,1,5,540,1.13,CSH,7.5 +VTS,1,5,420,1.09,CSH,7 +VTS,1,5,660,2.16,UNK,10.5 +VTS,1,5,180,0.66,UNK,4.5 +VTS,1,5,1680,7.65,CRD,26 +VTS,5,2,660,4.34,CSH,5.8 +VTS,1,5,960,2.34,CSH,13 +VTS,1,5,480,0.92,UNK,7.5 +VTS,1,5,1200,7.83,CRD,25 +VTS,1,5,660,0.98,CRD,8.5 +VTS,1,5,660,2.4,CSH,10.5 +VTS,1,5,420,0.85,CRD,6.5 +VTS,1,5,720,1.3,CRD,9 +VTS,1,5,480,1.82,UNK,8 +VTS,1,5,420,0.59,UNK,6 +VTS,1,5,540,2.29,CRD,9.5 +VTS,1,5,300,0.58,CSH,5.5 +VTS,1,5,300,0.56,CSH,5 +VTS,1,5,1140,2.08,UNK,13.5 +VTS,1,5,1200,3.6,CRD,16.5 +VTS,1,5,480,1.32,CRD,7.5 +VTS,1,5,720,1.62,CSH,9.5 +VTS,2,5,3540,17.78,UNK,52 +VTS,1,5,1920,12.46,UNK,36.5 +VTS,1,5,540,1.4,UNK,8 +VTS,1,5,1320,2.42,CRD,14.5 +VTS,1,5,360,1.35,CSH,7 +VTS,1,5,660,1.88,CSH,10 +VTS,5,2,2520,14.46,CSH,6.5 +VTS,1,5,660,1.76,UNK,9.5 +VTS,1,5,540,2.03,CRD,9 +VTS,1,5,1740,4.11,CSH,21 +VTS,1,5,420,1.43,CRD,7.5 +VTS,2,5,1320,16.47,CRD,52 +VTS,1,5,120,0.64,CSH,4.5 +VTS,1,5,660,1.15,UNK,8 +VTS,1,5,1800,11.64,CRD,34 +VTS,2,5,420,5.89,UNK,52 +VTS,1,5,720,1.94,CRD,9.5 +VTS,1,5,300,0.94,CSH,5.5 +VTS,1,5,660,1.07,CSH,8.5 +VTS,1,5,240,0.91,CRD,4.5 +VTS,1,5,480,1.29,UNK,8 +VTS,1,5,1140,3.62,CSH,16 +VTS,1,5,840,2.49,CRD,11.5 +VTS,1,5,420,2.07,CRD,9 +VTS,1,5,120,0.68,CSH,4 +VTS,1,5,960,3.38,CSH,14 +VTS,1,5,1200,3.86,CRD,16 +VTS,1,5,660,2.6,CSH,11 +VTS,1,5,1260,4.08,CSH,17.5 +VTS,2,5,1980,17.49,CRD,52 +VTS,1,5,540,1.31,CSH,8 +VTS,1,5,480,1.61,CSH,8 +VTS,1,5,720,2.02,CSH,10 +VTS,1,5,420,1.38,UNK,7.5 +VTS,1,5,300,0.83,CSH,5.5 +VTS,1,5,300,1.24,CSH,6 +VTS,1,5,720,1.78,CRD,10 +VTS,1,5,1800,4.56,CRD,21.5 +VTS,1,5,900,2.12,UNK,11.5 +VTS,1,5,720,3.46,CRD,13.5 +VTS,1,5,720,2.65,CSH,11 +VTS,1,5,840,2.84,CSH,12 +VTS,1,5,480,1.21,CSH,7.5 +VTS,1,5,780,3.33,UNK,13 +VTS,1,5,240,1.18,CRD,6 +VTS,1,5,540,3.26,CRD,11 +VTS,1,5,240,0.97,CSH,5 +VTS,1,5,660,2.55,CRD,11 +VTS,1,5,900,1.74,CRD,11 +VTS,1,5,480,1.52,CSH,7.5 +VTS,1,5,1680,3.7,CSH,19 +VTS,1,5,2040,10.14,CSH,33.5 +VTS,1,5,1380,19.66,CSH,52.5 +VTS,1,5,360,1.43,CRD,6.5 +VTS,1,5,780,1.37,UNK,9.5 +VTS,1,5,1380,4.39,CSH,18 +VTS,1,5,1980,20.48,CRD,56.5 +VTS,5,1,2220,12.76,CSH,5.8 +VTS,1,5,1560,3.67,CSH,18.5 +VTS,1,5,1680,7.98,CRD,28.5 +VTS,1,5,360,0.83,CSH,5.5 +VTS,1,5,1080,2.92,CRD,14 +VTS,5,2,1740,15.6,CSH,5.8 +VTS,1,5,480,0.77,CRD,6.5 +VTS,1,5,360,0.62,CRD,5.5 +VTS,1,5,1440,3.34,CRD,17 +VTS,1,5,480,1.53,CRD,8 +VTS,1,5,600,1.58,CRD,8.5 +VTS,1,5,480,0.84,CSH,6.5 +VTS,1,5,480,2.49,CSH,9.5 +VTS,5,2,2040,12.38,CSH,5.8 +VTS,1,5,780,2.47,CRD,11.5 +VTS,1,5,900,2.62,CSH,12 +VTS,1,1,600,1.07,CSH,7.5 +VTS,1,1,180,0.8,CRD,5 +VTS,1,1,420,1.11,CRD,6 +VTS,1,1,240,0.76,CSH,5.5 +VTS,1,1,1020,2.34,CRD,12.5 +VTS,1,1,1800,2.54,CRD,19 +VTS,1,1,480,0.58,CRD,7 +VTS,1,1,900,1.85,CRD,11.5 +VTS,1,1,780,4.14,CRD,13.5 +VTS,1,1,420,1.25,CRD,6 +VTS,1,1,1020,3.72,CSH,14.5 +VTS,1,1,300,0.96,CRD,6 +VTS,1,5,300,1.54,CSH,6.5 +VTS,1,5,120,0.81,CRD,4.5 +VTS,1,5,420,1.25,CSH,7 +VTS,1,5,600,1.92,CRD,9 +VTS,1,5,1500,5.08,CRD,20.5 +VTS,5,2,600,1.27,CSH,5.7 +VTS,1,5,240,1.08,UNK,6 +VTS,1,5,300,0.61,CRD,5 +VTS,1,5,360,0.73,CRD,6 +VTS,1,5,240,0.74,CSH,5 +VTS,1,5,1080,2.69,CSH,13 +VTS,1,5,660,3.4,CRD,12.5 +VTS,5,3,0,0,CRD,65 +VTS,1,5,360,0.84,CRD,6 +VTS,1,5,720,2.13,CSH,10.5 +VTS,1,5,660,3.06,CRD,11.5 +VTS,1,5,120,0.29,CSH,3.5 +VTS,1,5,1080,2.73,CSH,13.5 +VTS,1,5,600,2.05,CRD,9 +VTS,1,5,180,0.56,CRD,4.5 +VTS,1,5,240,0.98,CSH,5.5 +VTS,1,5,120,0.5,CSH,4 +VTS,1,5,240,0.6,CSH,4.5 +VTS,1,5,480,1.04,CRD,7 +VTS,1,5,960,5.73,UNK,19.5 +VTS,1,5,600,1.62,CRD,8.5 +VTS,1,5,900,1.59,UNK,11 +VTS,1,5,1200,3,CSH,15 +VTS,1,5,480,1.69,UNK,8 +VTS,1,5,1080,3.2,UNK,14.5 +VTS,1,5,900,1.52,CSH,10.5 +VTS,1,5,960,2.08,CSH,12 +VTS,1,5,1500,3.2,CRD,17.5 +VTS,1,5,600,1.45,UNK,8 +VTS,1,5,1200,2.88,CSH,14.5 +VTS,1,5,960,3.71,CRD,15 +VTS,1,5,1260,8.31,CSH,25.5 +VTS,1,5,1020,4.92,CRD,17 +VTS,1,5,1320,3.94,CRD,17 +VTS,1,5,1200,4.88,CSH,17.5 +VTS,1,5,420,1.75,CSH,8 +VTS,1,5,1260,4.55,CRD,18.5 +VTS,1,5,600,1.52,UNK,8.5 +VTS,1,5,300,0.51,CRD,5 +VTS,1,5,1200,3.64,UNK,16.5 +VTS,1,5,300,0.67,CSH,5 +VTS,2,5,2220,16.92,CRD,52 +VTS,1,5,420,1.28,CRD,7 +VTS,1,5,1200,2.25,CRD,13 +VTS,1,5,660,1.08,CRD,8 +VTS,1,5,660,2.37,CRD,10.5 +VTS,1,5,420,1.23,CRD,6.5 +VTS,1,5,720,1.61,CSH,9.5 +VTS,1,5,720,2.28,CSH,10 +VTS,1,5,1260,2.32,CRD,14 +VTS,1,5,1440,3.69,CRD,17 +VTS,1,5,2280,3.91,CRD,24.5 +VTS,1,5,120,0.81,CRD,4.5 +VTS,1,5,960,4.65,CSH,16.5 +VTS,1,5,1800,6.61,UNK,24.5 +VTS,1,5,780,2.53,CSH,11.5 +VTS,1,5,1020,4.42,CSH,16 +VTS,1,5,1440,3.83,CSH,18 +VTS,1,5,600,1.34,CRD,8 +VTS,1,5,1560,6.49,CRD,25 +VTS,1,5,780,1.16,CSH,9 +VTS,1,5,540,0.39,CSH,6.5 +VTS,1,5,840,4.76,CRD,15.5 +VTS,1,5,1140,2.52,CSH,14 +VTS,1,5,420,2.32,CRD,9 +VTS,1,5,1380,4.7,CRD,20 +VTS,1,5,840,2.87,CRD,12 +VTS,1,5,480,1.35,CRD,7.5 +VTS,1,5,600,2.25,CRD,10.5 +VTS,5,1,1800,13.36,CSH,6.5 +VTS,1,5,300,0.88,CSH,5.5 +VTS,1,5,240,0.94,CSH,5 +VTS,1,5,240,0.71,CRD,5 +VTS,1,5,780,1.55,CRD,10 +VTS,1,5,720,1.53,CRD,9 +VTS,1,5,1080,2.07,CSH,12.5 +VTS,1,5,420,1.64,UNK,8 +VTS,1,5,1140,2.87,CRD,14.5 +VTS,1,5,1200,4.12,CSH,16.5 +VTS,1,5,420,1.43,CRD,7 +VTS,1,5,600,2.94,CRD,11 +VTS,1,5,600,1.58,CRD,8.5 +VTS,1,5,180,0.82,CSH,4.5 +VTS,1,5,1140,3.16,CRD,15 +VTS,1,5,1020,4.95,CRD,17.5 +VTS,1,5,660,2.03,UNK,10.5 +VTS,1,5,420,1.86,CRD,7.5 +VTS,1,5,300,0.65,CSH,5 +VTS,1,5,1320,2.59,CSH,14.5 +VTS,1,5,780,2.36,CRD,11 +VTS,1,5,480,1.27,CRD,7 +VTS,1,5,240,0.93,CRD,5.5 +VTS,1,5,1380,12.07,CSH,34.5 +VTS,1,5,720,2.48,CRD,11 +VTS,1,5,120,0.55,CRD,4 +VTS,1,5,540,1.5,CRD,8 +VTS,1,5,180,0.52,CRD,4 +VTS,1,5,480,1.03,CSH,7 +VTS,1,5,600,1.34,CRD,8 +VTS,1,5,780,2.51,CSH,11.5 +VTS,1,5,540,1.68,CRD,8.5 +VTS,1,5,660,2.19,UNK,10 +VTS,1,5,360,0.95,CRD,6 +VTS,1,5,540,0.93,CSH,7 +VTS,1,5,1260,4.35,CRD,16.5 +VTS,1,5,180,0.44,CSH,4 +VTS,1,5,1380,3.39,CRD,16.5 +VTS,1,5,300,1.28,CRD,6 +VTS,1,5,360,0.75,CSH,5.5 +VTS,1,5,1080,3.04,CRD,14 +VTS,1,5,240,0.38,CSH,4.5 +VTS,1,5,360,1.55,CRD,7 +VTS,1,5,360,0.75,CRD,5.5 +VTS,1,2,780,2.28,CSH,10 +VTS,1,2,420,0.61,CSH,6 +VTS,1,3,1020,3.02,CRD,13.5 +VTS,1,2,780,1.16,CSH,9 +VTS,1,2,420,1.22,CSH,7 +VTS,1,5,3420,12.81,UNK,48 +VTS,1,5,600,1.65,CSH,9 +VTS,1,5,360,0.94,CSH,6.5 +VTS,1,5,540,1.47,CRD,8.5 +VTS,1,5,660,2.52,CSH,10.5 +VTS,1,5,180,0.54,UNK,4.5 +VTS,1,5,660,2.34,CSH,10.5 +VTS,1,5,540,1.75,CRD,9 +VTS,1,5,660,2.11,CSH,10 +VTS,1,5,360,1.22,CRD,7 +VTS,1,5,360,1.32,CRD,7 +VTS,1,5,180,0.87,CRD,4.5 +VTS,1,5,300,0.96,UNK,6 +VTS,1,5,300,1.25,CRD,6.5 +VTS,1,5,360,1.28,CRD,6.5 +VTS,1,5,420,1.63,CSH,7.5 +VTS,1,5,720,2.57,CRD,11 +VTS,1,2,420,1.44,CRD,7 +VTS,1,2,480,0.98,CSH,7 +VTS,1,2,660,2.32,CSH,9 +VTS,1,2,600,1.28,CRD,7.5 +VTS,1,2,240,0.8,CRD,5 +VTS,1,3,300,0.97,CSH,5.5 +VTS,1,2,540,0.82,CRD,7 +VTS,1,2,840,5.28,CRD,17 +VTS,1,2,480,1.99,CRD,8 +VTS,1,3,480,1.37,CRD,7.5 +VTS,1,5,480,1.85,CSH,8 +VTS,1,5,420,1.47,CRD,7.5 +VTS,1,5,780,2.56,CSH,11.5 +VTS,1,5,780,2.16,CRD,10.5 +VTS,1,5,1020,2.96,UNK,13.5 +VTS,1,5,720,1.58,UNK,9.5 +VTS,2,5,1320,10.27,CRD,52 +VTS,1,5,780,0.78,UNK,9 +VTS,1,5,360,1.27,UNK,7 +VTS,1,5,360,1.17,CSH,7 +VTS,1,5,2280,13.41,CSH,40 +VTS,1,5,1020,3.6,UNK,14 +VTS,1,5,1680,11.1,CRD,34.5 +VTS,1,5,960,3.14,UNK,13.5 +VTS,1,5,540,0.93,CSH,7 +VTS,1,5,540,1.97,CSH,9 +VTS,1,5,1620,4.94,CSH,20.5 +VTS,2,5,1140,6.38,CRD,52 +VTS,1,5,1260,2.66,UNK,15 +VTS,1,5,840,2.64,CRD,13 +VTS,1,5,240,0.56,CSH,4.5 +VTS,1,5,600,2.28,CRD,10 +VTS,2,5,3240,20.06,CRD,52 +VTS,1,5,120,0.37,CSH,3.5 +VTS,1,5,300,1.04,UNK,6 +VTS,1,5,240,1.2,CSH,5.5 +VTS,1,2,660,1.25,CRD,8.5 +VTS,1,5,1320,3.87,CRD,17 +VTS,1,5,1620,5.07,CRD,21.5 +VTS,1,5,1140,2.74,CSH,13 +VTS,1,5,180,0.56,CSH,4 +VTS,1,5,780,3.05,CRD,12.5 +VTS,1,5,360,0.96,CRD,6 +VTS,1,5,240,0.98,CSH,5 +VTS,1,5,960,4.16,CRD,16 +VTS,1,5,660,0.62,CSH,7.5 +VTS,1,2,1140,2.44,CSH,13 +VTS,1,2,600,1.3,CSH,8 +VTS,1,1,960,2.14,CSH,12 +VTS,1,2,420,0.96,CRD,6.5 +VTS,1,2,420,1.69,CRD,8 +VTS,1,2,480,1.55,CRD,8 +VTS,1,2,360,1.04,CRD,5.5 +VTS,1,2,1020,3.63,CSH,14.5 +VTS,1,2,180,0.46,CSH,4.5 +VTS,1,2,660,1.61,CRD,8.5 +VTS,1,3,660,1.98,CSH,9.5 +VTS,1,3,1620,11.29,CSH,33 +VTS,1,2,540,1.06,CRD,7.5 +VTS,1,3,540,2.36,CRD,10 +VTS,1,3,180,0.72,CSH,4.5 +VTS,1,3,1140,2.44,CSH,14 +VTS,1,2,300,1.08,CSH,6 +VTS,1,3,660,2.12,CRD,10 +VTS,5,1,420,2.87,CSH,6.5 +VTS,1,5,240,0.86,CRD,5 +VTS,1,5,900,3.02,CSH,13 +VTS,1,5,180,0.72,CSH,4.5 +VTS,1,5,540,1.83,CSH,8.5 +VTS,1,5,240,0.48,CRD,4.5 +VTS,1,5,240,0.89,CRD,5 +VTS,1,5,1020,8.63,CRD,25 +VTS,1,5,780,1.43,CSH,9.5 +VTS,1,5,540,1.37,CSH,7.5 +VTS,1,5,1440,3.07,CRD,16.5 +VTS,1,5,600,1.34,CSH,7.5 +VTS,1,5,1260,16.02,CRD,43 +VTS,1,5,1020,5.07,CSH,18.5 +VTS,1,5,840,1.02,CRD,9.5 +VTS,1,5,480,1.07,CRD,7 +VTS,1,5,780,1.76,CRD,10 +VTS,1,5,1200,2.78,CSH,15 +VTS,1,2,180,0.67,CSH,4 +VTS,1,2,300,0.71,CSH,5 +VTS,1,3,780,2.79,CSH,12 +VTS,1,2,420,1.22,CRD,6.5 +VTS,1,2,1920,11.19,CRD,34.5 +VTS,1,2,1260,4.16,CRD,18.5 +VTS,1,2,1620,7.66,CRD,26.5 +VTS,1,1,660,2.12,CRD,9.5 +VTS,1,2,240,0.82,CSH,5 +VTS,1,5,1620,3.58,CSH,19 +VTS,1,5,540,1.44,CSH,8 +VTS,1,5,1440,2.94,CSH,16 +VTS,1,5,420,1.15,CRD,6.5 +VTS,1,5,480,1.55,CRD,8 +VTS,1,5,360,2.35,CRD,8.5 +VTS,1,2,1500,3.55,CRD,18 +VTS,1,2,1200,2.11,CRD,13.5 +VTS,1,2,720,1.75,CRD,10 +VTS,1,2,960,2.74,CRD,13 +VTS,1,2,780,2.23,CSH,10.5 +VTS,1,1,720,3.25,CSH,12 +VTS,1,2,780,2.71,CRD,11.5 +VTS,1,2,540,1.53,CRD,8 +VTS,1,2,300,0.75,CSH,5 +VTS,1,2,360,1.18,CRD,6.5 +VTS,1,2,480,1.6,CRD,8 +VTS,1,2,240,1.18,CSH,6 +VTS,1,2,1020,1.58,CSH,11.5 +VTS,1,2,540,1.47,CSH,7 +VTS,1,2,1020,1.81,CRD,12 +VTS,1,2,60,0.26,CSH,3 +VTS,1,3,1620,11.31,CRD,33.5 +VTS,1,3,420,0.65,CSH,6 +VTS,1,3,420,0.79,CRD,6 +VTS,2,2,2100,11.97,CRD,52 +VTS,1,3,600,1.33,CSH,8.5 +VTS,1,5,1020,4.63,CRD,17 +VTS,1,5,180,0.64,CRD,4.5 +VTS,1,5,840,2.41,CSH,12 +VTS,1,5,780,2.69,CRD,12 +VTS,1,2,2340,8.84,CRD,33.5 +VTS,1,2,540,1.2,CRD,8 +VTS,1,2,360,0.91,CRD,6 +VTS,1,2,720,1.75,CSH,10 +VTS,1,2,660,2.4,CSH,10.5 +VTS,1,2,360,0.58,CRD,6 +VTS,1,2,900,2,CRD,12 +VTS,1,3,1140,2.76,CRD,14 +VTS,1,2,1440,1.67,CRD,15 +VTS,1,2,1680,5.1,CRD,22 +VTS,1,2,360,1.26,CSH,6.5 +VTS,1,1,1080,3.38,CRD,14.5 +VTS,1,2,480,1.51,CSH,7.5 +VTS,1,2,2100,13.14,CSH,41 +VTS,1,2,480,1.13,CSH,7 +VTS,1,3,360,1.17,CSH,6.5 +VTS,1,3,780,3.59,CSH,13 +VTS,1,2,240,1.2,CSH,5.5 +VTS,1,3,540,1,CSH,7 +VTS,1,2,840,1.31,CRD,10 +VTS,1,2,1440,3.25,CSH,15 +VTS,1,3,240,0.52,CRD,4.5 +VTS,1,3,1020,1.45,CSH,11.5 +VTS,1,5,840,3.49,CRD,14 +VTS,1,5,720,1.56,CRD,9 +VTS,1,5,600,0.98,CSH,8 +VTS,1,5,1020,2.65,CRD,14 +VTS,1,5,1260,3.91,CRD,17 +VTS,1,5,420,1.39,CSH,7 +VTS,1,5,360,1.02,CRD,6.5 +VTS,1,5,540,0.87,CRD,7.5 +VTS,1,5,2100,16.27,CSH,45 +VTS,1,5,600,4.75,CSH,15 +VTS,1,5,180,0.52,CSH,4 +VTS,1,5,720,1.85,CRD,9.5 +VTS,1,5,660,4.58,CSH,15.5 +VTS,1,5,840,1.59,CSH,10.5 +VTS,1,5,120,0.74,CSH,4.5 +VTS,1,5,1320,3.34,CSH,16 +VTS,1,5,360,0.99,CRD,6 +VTS,1,5,480,0.7,CSH,6.5 +VTS,1,5,180,0.37,UNK,4 +VTS,1,5,360,0.65,UNK,5.5 +VTS,1,5,480,1.16,CSH,7.5 +VTS,1,5,480,2.01,CSH,9 +VTS,1,5,540,2.91,CSH,10.5 +VTS,1,5,360,1.44,CRD,7 +VTS,1,5,1440,9.94,CSH,30 +VTS,1,5,1200,9.29,CRD,28.5 +VTS,1,5,900,4.14,CRD,15 +VTS,1,5,1680,4.58,CRD,20 +VTS,1,5,540,1.23,CRD,8 +VTS,1,5,300,0.33,CRD,4.5 +VTS,1,5,420,0.95,CSH,6.5 +VTS,1,5,600,2.03,UNK,9.5 +VTS,1,5,900,3.84,CRD,14.5 +VTS,1,5,480,1.05,CSH,7 +VTS,1,5,720,1.92,CSH,10 +VTS,1,5,180,0.53,CSH,4.5 +VTS,1,5,1740,4.29,CRD,21 +VTS,1,5,300,0.84,CRD,6 +VTS,1,5,540,1.26,CSH,7.5 +VTS,1,5,2760,9.85,CRD,36.5 +VTS,1,5,180,1.1,CRD,5 +VTS,1,5,2100,7.18,UNK,28.5 +VTS,1,5,960,6.35,UNK,19.5 +VTS,1,5,1140,2.51,CRD,13.5 +VTS,1,2,900,1.69,CSH,11 +VTS,1,2,300,1.39,CSH,7 +VTS,1,2,600,0.82,CRD,7.5 +VTS,1,1,1740,8.61,CRD,29.5 +VTS,1,2,480,1.51,CRD,7.5 +VTS,1,3,600,0.71,CSH,7.5 +VTS,1,2,420,1.53,CRD,7 +VTS,1,2,360,1.01,CSH,6 +VTS,1,2,1380,7.99,CRD,26 +VTS,1,3,2760,11.11,CSH,38.5 +VTS,1,2,720,2.91,CRD,11.5 +VTS,1,3,240,1.43,CSH,6 +VTS,1,3,900,2.71,CRD,12.5 +VTS,1,2,540,1.5,CRD,8 +VTS,1,2,660,1.35,CSH,8 +VTS,1,3,1020,5.55,CRD,18.5 +VTS,1,2,780,1.54,CRD,9.5 +VTS,1,2,300,0.78,CSH,5 +VTS,1,3,540,0.7,CRD,7 +VTS,1,2,960,1.92,CRD,11.5 +VTS,1,2,900,2.57,CRD,12 +VTS,1,3,420,1.46,CRD,7.5 +VTS,1,1,1020,4.05,CSH,16 +VTS,1,1,240,0.92,CSH,5.5 +VTS,1,1,240,0.69,CRD,5 +VTS,1,1,900,2.26,CRD,11 +VTS,1,1,600,2.38,CSH,10 +VTS,1,1,660,3.13,CRD,12 +VTS,1,1,420,1.2,CRD,7 +VTS,1,1,480,3.87,CRD,12.5 +VTS,1,2,780,4.51,CRD,15 +VTS,1,1,300,0.98,CRD,5.5 +VTS,2,1,60,2.42,CSH,52 +VTS,1,1,1200,6.32,CRD,21.5 +VTS,1,1,660,5.71,CSH,17.5 +VTS,1,1,420,1.36,CSH,7 +VTS,1,2,300,0.33,CSH,5 +VTS,1,2,480,1.42,CRD,7.5 +VTS,1,3,600,1.62,CRD,8.5 +VTS,1,2,600,1.01,CSH,7.5 +VTS,1,2,1920,6.65,CSH,27.5 +VTS,1,2,60,0.47,CSH,3.5 +VTS,1,2,420,1.64,CRD,7.5 +VTS,1,2,960,1.99,CRD,12 +VTS,1,2,420,1.27,CSH,6.5 +VTS,1,2,360,1.72,CRD,7.5 +VTS,1,1,300,1.02,CRD,6 +VTS,1,1,240,0.65,CSH,4.5 +VTS,1,1,360,2.75,CSH,10 +VTS,1,1,780,4.46,CSH,15 +VTS,1,1,360,1.81,CRD,7.5 +VTS,1,1,540,2.05,CSH,9 +VTS,1,1,300,0.73,CSH,5 +VTS,1,1,600,3.59,CRD,13 +VTS,1,1,1500,9.39,CSH,29 +VTS,1,1,420,2.24,CRD,8.5 +VTS,1,1,660,5.16,CRD,17 +VTS,1,1,180,0.82,CSH,5 +VTS,1,1,720,2.58,CRD,11 +VTS,1,1,1440,11.79,CRD,34.5 +VTS,1,1,480,1.73,CRD,8 +VTS,1,1,360,2.62,CRD,9 +VTS,1,2,420,1.2,CRD,7 +VTS,1,2,300,0.85,CRD,5.5 +VTS,1,1,780,2.68,CSH,11.5 +VTS,1,2,1140,2.91,CRD,14 +VTS,1,2,1320,2.01,CSH,14.5 +VTS,1,2,1440,2.63,CSH,15.5 +VTS,1,3,600,1.87,CRD,9 +VTS,1,2,2220,9.02,CRD,33 +VTS,2,2,120,0,CRD,52 +VTS,1,2,600,1.58,CRD,8.5 +VTS,1,2,1380,11.02,CRD,32.5 +VTS,1,3,480,1.24,CRD,7.5 +VTS,1,2,240,0.68,CRD,4.5 +VTS,1,2,1020,2.06,CSH,12.5 +VTS,1,2,1380,2.99,CSH,16 +VTS,1,2,540,4.8,CRD,15.5 +VTS,1,2,540,2.69,CSH,10.5 +VTS,1,2,240,0.75,CSH,5 +VTS,1,2,780,1.57,CRD,9.5 +VTS,1,1,1080,6.43,CRD,21 +VTS,1,1,180,0.97,CSH,5 +VTS,5,2,540,3.49,CSH,60 +VTS,1,1,540,1.67,CRD,8.5 +VTS,1,1,480,1.48,CSH,7.5 +VTS,1,1,1860,14,CSH,40 +VTS,1,1,720,2.07,CSH,10 +VTS,1,1,420,1.51,CRD,7 +VTS,1,3,720,1.1,CRD,8.5 +VTS,1,3,840,1.63,CRD,10.5 +VTS,1,2,420,1.26,CSH,6.5 +VTS,1,3,660,4.42,CRD,14.5 +VTS,1,2,360,0.92,CRD,6 +VTS,1,2,540,1.01,CSH,7 +VTS,1,2,600,1.79,CSH,9 +VTS,1,1,360,1.48,CSH,6.5 +VTS,1,1,720,2.96,CRD,12.5 +VTS,1,1,960,1.54,CSH,11.5 +VTS,1,1,120,0.09,CSH,3 +VTS,1,1,600,2.34,CRD,9.5 +VTS,1,1,600,2.02,CRD,9.5 +VTS,1,1,2580,21,CRD,59 +VTS,1,1,180,1.17,CSH,5.5 +VTS,1,1,960,3.18,CSH,13 +VTS,1,1,480,1.54,CRD,8 +VTS,1,1,480,1.76,CRD,8.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,300,1.43,CSH,7 +VTS,1,1,300,1.05,CRD,6 +VTS,1,1,720,2.39,CRD,10.5 +VTS,2,1,60,0.4,CRD,52 +VTS,1,1,1020,3.59,CSH,14.5 +VTS,1,1,1380,4.78,CRD,18.5 +VTS,1,1,1260,3.53,CSH,16.5 +VTS,1,1,360,0.73,CRD,5.5 +VTS,1,2,240,0.49,CSH,4.5 +VTS,1,2,180,0.46,CSH,4 +VTS,1,3,240,0.47,CSH,4.5 +VTS,1,2,780,2.64,CRD,11.5 +VTS,1,1,600,2.27,CRD,10 +VTS,1,1,780,0.84,CSH,9.5 +VTS,1,1,720,2.26,CSH,10.5 +VTS,1,1,660,1.98,CSH,9.5 +VTS,1,1,360,1.27,CRD,6 +VTS,1,1,420,0.84,CRD,6.5 +VTS,1,1,1200,7.33,CSH,22 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,900,5.09,CRD,17.5 +VTS,1,1,780,4.66,CRD,16 +VTS,1,1,1740,4.91,CRD,21.5 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,1,420,1.26,CRD,6.5 +VTS,1,1,360,2.05,CRD,8 +VTS,1,1,780,4.13,CRD,14 +VTS,1,1,780,2.88,CRD,13 +VTS,1,1,480,1.33,CSH,7 +VTS,1,1,960,2.3,CSH,10.5 +VTS,1,1,960,2.55,CRD,12 +VTS,1,1,660,2.09,CRD,10 +VTS,1,1,1080,3.88,CSH,15.5 +VTS,1,1,480,2.56,CRD,9 +VTS,1,2,840,1.09,CSH,9.5 +VTS,1,2,1740,6.83,CRD,24.5 +VTS,1,2,720,0.92,CRD,8.5 +VTS,1,2,1080,2,CRD,12.5 +VTS,1,2,1020,3.6,CSH,15 +VTS,1,2,780,2.04,CRD,10.5 +VTS,1,2,360,0.82,CRD,5.5 +VTS,1,2,1020,2.21,CRD,12 +VTS,1,2,600,1.13,CRD,8 +VTS,1,2,540,0.89,CSH,7 +VTS,1,3,1200,3.34,CRD,15 +VTS,1,2,480,1.31,CSH,7.5 +VTS,1,2,420,1.71,CSH,7.5 +VTS,1,3,720,0.71,CSH,8.5 +VTS,1,3,300,0.9,CRD,6 +VTS,1,2,1020,2.62,CRD,13 +VTS,1,2,240,0.65,CRD,4.5 +VTS,1,3,660,0.92,CRD,8 +VTS,1,2,2040,9.11,CRD,31 +VTS,1,2,180,0.4,CSH,4 +VTS,1,1,840,1.51,CSH,10.5 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,720,2.16,CRD,11 +VTS,1,1,360,0.7,CRD,6 +VTS,1,1,240,1.75,CRD,7 +VTS,2,1,0,0,CRD,52 +VTS,1,1,240,1.43,CSH,6.5 +VTS,1,2,480,0.79,CRD,6.5 +VTS,1,2,240,0.59,CRD,5 +VTS,1,3,300,1.21,CSH,6.5 +VTS,1,2,360,1.1,CRD,6 +VTS,1,1,480,1.52,CSH,8 +VTS,2,1,0,0,CRD,52 +VTS,1,1,1260,4.28,CSH,17.5 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,1980,10.83,CSH,34.5 +VTS,1,1,180,1.42,CSH,6 +VTS,1,1,660,2.13,CRD,10 +VTS,1,1,240,0.88,CRD,5 +VTS,1,1,900,2.82,CSH,12.5 +VTS,1,1,360,2.45,CSH,9 +VTS,1,1,360,2.74,CSH,10 +VTS,1,1,720,2.17,CRD,10.5 +VTS,1,1,720,2.86,CSH,12 +VTS,1,1,480,1.58,CSH,8 +VTS,1,1,180,0.94,CRD,5 +VTS,1,1,840,2.62,CSH,12 +VTS,1,1,600,2.13,CSH,9.5 +VTS,1,1,2580,2.96,CSH,27 +VTS,1,2,600,2.34,CSH,9.5 +VTS,1,1,300,1.65,CSH,7 +VTS,1,1,480,1.6,CRD,8 +VTS,1,1,600,1.58,CRD,8.5 +VTS,1,1,540,1.25,CRD,7.5 +VTS,1,1,420,1.29,CSH,7 +VTS,1,1,720,0.91,CSH,9 +VTS,1,1,360,1.45,CSH,6.5 +VTS,3,1,2160,16.5,CRD,66 +VTS,1,1,1080,9.33,CRD,26.5 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,720,1.14,CSH,9 +VTS,1,1,780,2.96,CSH,11.5 +VTS,1,1,420,1.32,CSH,7 +VTS,1,1,600,1.98,CRD,9.5 +VTS,1,1,600,1.65,CRD,8.5 +VTS,1,1,1500,6.33,CRD,21.5 +VTS,1,1,1260,3.5,CRD,15 +VTS,1,1,1620,3.47,CRD,18 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,360,1.54,CRD,7.5 +VTS,1,1,240,1.58,CRD,6.5 +VTS,1,1,840,2.25,CRD,11 +VTS,1,2,720,1.7,CRD,10 +VTS,2,2,3180,18.66,CRD,52 +VTS,1,2,840,3.43,CSH,13 +VTS,1,2,900,3.17,CRD,12.5 +VTS,1,2,600,1.17,CSH,8 +VTS,1,2,180,0.85,CRD,5 +VTS,1,2,1080,1.71,CSH,12 +VTS,1,2,840,2.14,CRD,11 +VTS,1,2,720,1.28,CRD,8.5 +VTS,1,2,360,0.71,CRD,5.5 +VTS,1,2,1320,6.51,CSH,22.5 +VTS,1,3,300,0.77,CSH,5.5 +VTS,1,2,240,0.54,CRD,4.5 +VTS,1,2,420,0.98,CSH,6.5 +VTS,1,3,720,2.16,CRD,10.5 +VTS,1,2,480,1.24,CRD,7 +VTS,1,2,540,1.45,CSH,8 +VTS,1,2,960,1.71,CRD,11.5 +VTS,1,2,720,0.89,CRD,8.5 +VTS,1,3,180,0.24,CSH,3.5 +VTS,1,1,780,2.09,CSH,10.5 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,180,0.99,CSH,5 +VTS,1,1,360,1,CSH,6 +VTS,1,1,360,1.01,CSH,6 +VTS,1,1,960,5.28,CSH,16.5 +VTS,1,1,660,2.47,CRD,10.5 +VTS,1,1,360,1.35,CRD,6.5 +VTS,1,1,480,1.98,CRD,9 +VTS,1,1,600,1.81,CRD,9 +VTS,1,1,360,2.12,CRD,8 +VTS,1,1,660,2.45,CRD,10 +VTS,1,1,960,7.45,CSH,23 +VTS,1,1,360,2.87,CSH,10 +VTS,2,1,1260,16.71,CRD,52 +VTS,1,1,420,1.48,CRD,7 +VTS,1,1,540,2.11,CRD,9 +VTS,1,1,480,1.52,CSH,7 +VTS,1,1,780,4.61,CRD,16 +VTS,1,1,180,0.91,CRD,5 +VTS,1,1,180,0.61,CSH,4 +VTS,1,1,480,1.52,CSH,7.5 +VTS,1,1,360,1.11,CRD,6 +VTS,1,1,300,1.13,CRD,6 +VTS,1,1,660,2.9,CRD,11.5 +VTS,1,1,1140,5.19,CRD,19 +VTS,1,1,1020,5,CSH,18 +VTS,1,1,1260,9.96,CSH,29 +VTS,1,1,1560,9.97,CSH,31 +VTS,2,1,0,0,CRD,52 +VTS,1,1,240,0.69,CSH,4.5 +VTS,1,1,720,5.25,CRD,17.5 +VTS,1,1,300,1.36,CRD,6.5 +VTS,1,1,600,1.07,CRD,7.5 +VTS,1,1,180,0.53,CSH,4 +VTS,1,1,240,1.5,CRD,6.5 +VTS,1,1,1320,2.81,CRD,15.5 +VTS,1,1,780,6.54,CRD,19.5 +VTS,1,1,1080,5.64,CRD,19.5 +VTS,1,1,360,0.69,CRD,6 +VTS,1,1,300,1.08,CRD,6 +VTS,1,1,840,3.64,CSH,13.5 +VTS,1,1,540,1.75,CSH,8.5 +VTS,1,2,300,0.74,CRD,5 +VTS,1,1,180,0.88,CSH,5 +VTS,1,1,420,1.4,CSH,7 +VTS,1,1,120,0.49,CSH,4 +VTS,1,1,420,1.51,CSH,7.5 +VTS,1,1,1260,2.62,CSH,14.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,360,0.91,CSH,6 +VTS,1,1,180,0.99,CRD,5 +VTS,1,1,180,0.08,CRD,4 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,1320,9.91,CRD,29.5 +VTS,1,1,480,1.95,CSH,8 +VTS,1,1,420,1.2,CSH,7 +VTS,1,1,180,0.77,CRD,4.5 +VTS,1,1,900,1.3,CSH,10 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,780,1.8,CSH,10 +VTS,1,1,1020,2.56,CRD,13 +VTS,1,1,900,2.2,CRD,11.5 +VTS,1,1,1140,9.01,CRD,26.5 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,600,1.41,CSH,8 +VTS,1,1,60,0.26,CSH,3 +VTS,1,1,1260,3.33,CSH,15.5 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,1140,3.15,CSH,14.5 +VTS,1,1,660,2.79,CRD,11 +VTS,1,1,420,1.7,CRD,7.5 +VTS,1,1,720,3.28,CSH,13 +VTS,1,1,360,0.68,CSH,5.5 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,720,2.67,CRD,11.5 +VTS,1,1,420,1.25,CSH,7 +VTS,1,1,1440,9.23,CRD,29 +VTS,2,1,0,0,CRD,52 +VTS,1,1,180,0.8,CRD,5 +VTS,1,1,360,1.05,CSH,6 +VTS,1,1,420,0.94,CRD,6 +VTS,1,1,300,0.59,CRD,5 +VTS,5,1,0,0,CRD,86 +VTS,1,1,660,1.55,CSH,9 +VTS,1,1,540,1,CRD,7.5 +VTS,1,1,480,2.37,CSH,9 +VTS,1,1,900,2.13,CRD,11.5 +VTS,1,3,840,1.77,CRD,10 +VTS,1,3,600,1.89,CRD,8.5 +VTS,1,1,1560,7.18,CSH,24 +VTS,1,1,1260,3.44,CRD,16 +VTS,1,3,300,0.95,CRD,5.5 +VTS,1,1,960,3.96,CRD,14.5 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,840,2.36,CRD,11.5 +VTS,1,1,360,0.79,CSH,5.5 +VTS,1,1,720,4.5,CSH,14.5 +VTS,1,1,720,1.92,CSH,10 +VTS,1,1,480,2.4,CSH,10 +VTS,1,1,420,0.98,CSH,6.5 +VTS,1,1,360,1.27,CRD,7 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,600,1.54,CSH,8.5 +VTS,1,1,480,1.44,CSH,7.5 +VTS,1,1,420,4.54,CRD,13.5 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,120,0.44,CSH,4 +VTS,1,1,1080,8.26,CSH,25.5 +VTS,2,1,360,0.71,CRD,52 +VTS,1,1,600,1.99,CRD,9.5 +VTS,1,1,1260,2.87,CSH,15.5 +VTS,1,1,480,2.37,CSH,9 +VTS,1,1,720,2.21,CRD,10 +VTS,1,1,300,0.97,CSH,6 +VTS,1,1,720,2.59,CRD,11 +VTS,1,1,420,1.21,CSH,6.5 +VTS,1,1,660,1.4,CSH,8.5 +VTS,1,1,1680,9.04,CRD,29.5 +VTS,1,1,480,0.78,CSH,5.5 +VTS,1,1,420,0.67,CSH,5.5 +VTS,1,1,780,2.3,CRD,10.5 +VTS,1,1,1320,2.09,CRD,14.5 +VTS,1,1,420,0.97,CSH,6 +VTS,1,1,720,1.24,CRD,8.5 +VTS,1,1,1920,8.74,CRD,29.5 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,120,0.84,CSH,4.5 +VTS,1,1,300,0.98,CRD,6 +VTS,1,1,360,1.09,CRD,6 +VTS,1,1,780,3.69,CSH,13.5 +VTS,1,1,780,3.95,CSH,13.5 +VTS,1,1,420,1.47,CSH,7.5 +VTS,1,1,780,2.57,CRD,11.5 +VTS,1,1,660,1.4,CRD,8.5 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,420,1.88,CRD,8 +VTS,1,1,600,1.97,CSH,9 +VTS,1,1,540,3.39,CRD,11 +VTS,1,1,900,1.87,CRD,10.5 +VTS,1,1,1080,4.68,CRD,17 +VTS,1,1,720,2.61,CSH,10.5 +VTS,1,1,420,2.02,CSH,8.5 +VTS,1,1,1260,2.93,CRD,14.5 +VTS,1,1,660,1.84,CRD,9 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,960,3.99,CRD,15 +VTS,1,1,660,2.24,CRD,10 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,1080,7.74,CSH,24 +VTS,1,1,480,2.18,CRD,9.5 +VTS,1,1,120,0.62,CSH,4 +VTS,1,1,480,1.15,CRD,7 +VTS,1,1,360,1.95,CRD,7.5 +VTS,1,1,1200,3.76,CRD,15.5 +VTS,1,1,240,0.65,CSH,5 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,1020,5.83,CRD,19 +VTS,1,1,720,2.21,CRD,10.5 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,540,0.83,CSH,7.5 +VTS,1,3,540,1.41,CRD,7.5 +VTS,1,2,360,1.06,CSH,6.5 +VTS,1,2,840,2.69,CSH,12 +VTS,1,2,540,1.23,CSH,7.5 +VTS,1,2,900,2.16,CSH,11 +VTS,1,2,2100,4.8,CRD,23 +VTS,1,2,660,1.83,CRD,10 +VTS,1,1,600,2.26,CSH,9 +VTS,1,1,360,0.77,CRD,5.5 +VTS,1,3,840,2.47,CRD,11 +VTS,1,3,480,2.21,CRD,8.5 +VTS,1,3,1620,6.42,CRD,23 +VTS,1,1,480,2.44,CSH,9.5 +VTS,1,3,300,0.63,CRD,5 +VTS,1,4,780,3.13,CSH,12.5 +VTS,1,1,420,0.76,CSH,6 +VTS,1,1,180,0.29,CSH,3.5 +VTS,1,1,900,5.1,CRD,17 +VTS,1,1,300,0.67,CSH,4.5 +VTS,1,1,1020,2.44,CSH,12.5 +VTS,1,1,480,1.36,CSH,7 +VTS,1,1,720,2.21,CSH,10.5 +VTS,1,1,240,0.64,CRD,5 +VTS,1,1,540,1.8,CRD,8 +VTS,1,1,840,2.32,CRD,10.5 +VTS,1,1,720,1.9,CRD,9.5 +VTS,1,1,60,0.42,CSH,3.5 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,420,1.16,CSH,6.5 +VTS,1,1,360,0.8,CSH,5.5 +VTS,1,1,420,1.04,CRD,6 +VTS,1,1,1260,2.71,CRD,14.5 +VTS,1,1,360,0.81,CSH,5 +VTS,1,1,420,0.84,CSH,6 +VTS,1,1,420,0.92,CRD,6.5 +VTS,1,1,480,1.23,CSH,7 +VTS,1,3,480,1.48,CRD,8 +VTS,2,3,1800,18.6,CRD,52 +VTS,1,2,420,1.32,CSH,7 +VTS,1,3,840,1.87,CRD,10.5 +VTS,1,2,300,0.87,CRD,5.5 +VTS,1,3,540,1.88,CSH,8.5 +VTS,1,3,300,1.18,CSH,6 +VTS,1,2,960,2.06,CSH,11.5 +VTS,1,3,180,0.6,CSH,4.5 +VTS,1,2,360,0.77,CSH,5.5 +VTS,1,1,1260,6.58,CSH,22 +VTS,1,3,360,1.21,CRD,6.5 +VTS,1,2,900,2,CRD,11.5 +VTS,1,3,1080,2.71,CRD,13.5 +VTS,1,1,840,2.03,CRD,10.5 +VTS,1,1,1260,3.88,CRD,16.5 +VTS,1,1,360,1.03,CRD,6 +VTS,1,1,1500,5.33,CRD,21 +VTS,1,1,1380,9.35,CRD,28 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,1800,7.2,CSH,25 +VTS,1,1,420,1.19,CSH,6.5 +VTS,1,1,180,0.39,CSH,4 +VTS,1,1,660,1.33,CSH,8 +VTS,1,1,960,3.7,CSH,15 +VTS,1,1,1140,2.85,CRD,14.5 +VTS,1,1,480,1.78,CRD,8.5 +VTS,1,1,1440,3.23,CRD,17 +VTS,1,1,240,0.96,CSH,5.5 +VTS,1,1,540,0.76,CRD,7 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,1020,4.5,CRD,16 +VTS,1,1,780,1.99,CRD,10.5 +VTS,1,1,720,2.56,CSH,11 +VTS,1,1,360,1.62,CSH,7 +VTS,1,1,1260,12.32,CSH,34 +VTS,1,1,600,2.03,CRD,9 +VTS,1,1,840,3.66,CRD,14 +VTS,1,1,840,4.99,CRD,16 +VTS,1,1,1800,12.17,CRD,36 +VTS,1,1,420,0.97,CSH,6.5 +VTS,1,1,960,4.33,CSH,16 +VTS,1,1,420,0.86,CSH,6.5 +VTS,1,1,1200,3.99,CRD,17 +VTS,1,1,480,0.95,CSH,7 +VTS,1,1,720,1.81,CRD,10 +VTS,1,1,1260,4.67,CSH,18.5 +VTS,1,1,240,1.07,CSH,5.5 +VTS,1,1,1320,3.3,CRD,15.5 +VTS,1,1,660,1.28,CRD,8.5 +VTS,1,1,1140,1.89,CRD,13 +VTS,1,1,720,3.67,CRD,13 +VTS,1,1,2040,20.11,CSH,54 +VTS,1,1,240,0.85,CRD,5.5 +VTS,2,1,0,0,CRD,52 +VTS,1,1,840,2.59,CSH,11.5 +VTS,1,1,540,0.86,CRD,7.5 +VTS,1,1,480,0.71,CRD,6 +VTS,1,1,420,1.89,CRD,8 +VTS,1,1,780,7.44,CSH,22.5 +VTS,2,1,0,0,CRD,52 +VTS,1,1,300,1.3,CSH,6 +VTS,1,1,900,3.09,CRD,13.5 +VTS,1,1,600,1.34,CRD,8 +VTS,1,1,360,1.2,CSH,6.5 +VTS,1,1,420,1.71,CRD,7 +VTS,1,1,540,2.39,CRD,9.5 +VTS,1,1,2160,14.95,CRD,44 +VTS,1,1,360,2.13,CSH,8.5 +VTS,1,1,360,1.05,CRD,6.5 +VTS,1,1,2040,12.19,CSH,39 +VTS,1,1,540,2.7,CRD,10.5 +VTS,1,1,540,1.56,CRD,8 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,1020,2.76,CRD,13 +VTS,1,1,360,1.15,CSH,6 +VTS,1,1,720,1.5,CRD,9 +VTS,1,1,600,1.25,CSH,7.5 +VTS,1,1,240,1.29,CSH,6 +VTS,1,1,600,1.39,CRD,8.5 +VTS,1,1,1920,2.08,CSH,19.5 +VTS,1,1,660,2.91,CRD,11 +VTS,1,1,1920,14.37,CSH,41 +VTS,1,1,480,1.09,CSH,7 +VTS,1,1,660,1.9,CRD,9.5 +VTS,1,1,840,4.51,CRD,15 +VTS,1,1,240,0.65,CSH,5 +VTS,1,1,540,2.74,CRD,10.5 +VTS,1,1,480,1.14,CRD,7.5 +VTS,1,1,900,3.98,CSH,15 +VTS,1,1,420,1.2,CRD,6.5 +VTS,1,1,300,2.43,CRD,8.5 +VTS,1,1,300,1.26,CSH,6 +VTS,1,1,360,2.11,CRD,8 +VTS,1,1,840,2.02,CSH,11 +VTS,1,1,360,1.01,CRD,6 +VTS,1,1,120,0.53,CRD,4 +VTS,1,1,240,0.84,CSH,5 +VTS,1,1,540,1.72,CSH,8.5 +VTS,1,1,1020,2.23,CRD,12.5 +VTS,1,1,360,0.72,CRD,5.5 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,1080,5.24,CRD,17.5 +VTS,1,1,840,2.37,CRD,11.5 +VTS,1,1,180,0.54,CRD,4 +VTS,1,1,360,0.91,CRD,6.5 +VTS,1,1,600,1.8,CRD,8.5 +VTS,1,1,480,2.07,CRD,8.5 +VTS,1,1,660,2.07,CSH,10 +VTS,1,1,360,1.08,CSH,6 +VTS,1,1,180,0.63,CRD,4 +VTS,1,1,420,1.15,CSH,7 +VTS,1,1,180,0.5,CSH,4 +VTS,1,1,420,1.37,CSH,7 +VTS,1,1,900,3.6,CSH,14 +VTS,1,1,420,0.88,CRD,6.5 +VTS,1,1,1200,1.45,CSH,12.5 +VTS,1,1,300,1.11,CSH,5.5 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,1,600,2.02,CSH,9 +VTS,1,1,1020,3.59,CRD,14 +VTS,1,1,600,2.94,CSH,11 +VTS,1,1,240,1.47,CSH,6 +VTS,1,1,1020,4.92,CSH,17 +VTS,1,1,360,0.81,CRD,6 +VTS,1,1,480,2.34,CSH,10 +VTS,1,1,1140,3.1,CRD,14.5 +VTS,1,1,540,1.3,CSH,7.5 +VTS,1,1,660,2.02,CRD,9.5 +VTS,1,1,480,2.53,CSH,9.5 +VTS,1,1,1080,1.7,CRD,12.5 +VTS,2,1,0,0,CRD,52 +VTS,1,1,1380,5.95,CRD,21 +VTS,1,1,780,1.38,CRD,9.5 +VTS,1,2,660,1.86,CSH,9.5 +VTS,1,2,780,1.33,CRD,10 +VTS,1,2,840,1.66,CRD,10.5 +VTS,1,3,960,2.56,CRD,12 +VTS,1,4,960,3.14,CSH,13.5 +VTS,1,3,1140,3.64,CSH,16 +VTS,1,2,960,2.85,CRD,13.5 +VTS,1,1,480,1.11,CRD,7 +VTS,1,1,480,0.93,CSH,6.5 +VTS,1,1,660,2.34,CRD,10 +VTS,1,1,780,2.21,CSH,9.5 +VTS,1,1,300,0.53,CSH,5 +VTS,1,1,360,1.1,CSH,5.5 +VTS,1,1,180,0.55,CSH,4 +VTS,1,1,360,0.7,CRD,5.5 +VTS,1,1,1020,3.55,CSH,14 +VTS,1,1,2820,12.08,CRD,40.5 +VTS,1,1,1020,3.76,CRD,14.5 +VTS,1,1,1320,3.35,CRD,16 +VTS,1,1,660,0.91,CRD,8 +VTS,1,1,480,1.48,CSH,7.5 +VTS,1,1,600,3.86,CRD,12.5 +VTS,1,1,60,0.32,CRD,3.5 +VTS,1,1,600,2,CSH,9 +VTS,1,1,660,2.38,CRD,10 +VTS,1,1,840,2.26,CRD,11 +VTS,1,1,720,2.3,CRD,11 +VTS,1,1,1020,3.85,CRD,16 +VTS,1,2,660,1.65,CRD,9 +VTS,1,2,1380,7.21,CSH,24.5 +VTS,2,2,4080,18.34,CRD,52 +VTS,1,3,240,0.82,CRD,5 +VTS,1,3,1380,5.72,CRD,21.5 +VTS,1,3,480,1.57,CRD,8 +VTS,1,3,420,1.15,CSH,7 +VTS,1,3,720,1.97,CSH,10 +VTS,1,3,840,1.84,CRD,10.5 +VTS,1,2,480,1.24,CRD,7 +VTS,1,1,1560,4.08,CRD,19 +VTS,1,1,0,0,CSH,2.5 +VTS,3,1,1560,14.14,CRD,56.5 +VTS,1,1,780,1.93,CSH,10 +VTS,1,1,780,2.07,CSH,10 +VTS,1,1,360,2.02,CRD,8 +VTS,1,1,240,0.63,CRD,5 +VTS,1,1,360,1.53,CRD,7 +VTS,1,1,840,2.55,CSH,12 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,480,1.44,CRD,7 +VTS,1,1,600,1.68,CRD,9 +VTS,1,1,300,1.75,CRD,7 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,1,480,1.73,CRD,8 +VTS,2,3,3000,18.95,CRD,52 +VTS,1,2,960,7.24,CRD,22 +VTS,1,2,360,0.95,CRD,6.5 +VTS,1,2,1800,15.77,CSH,44 +VTS,1,2,1920,8.49,CRD,28.5 +VTS,1,3,480,1.47,CSH,8 +VTS,1,2,540,1.18,CSH,7.5 +VTS,1,3,360,1.43,CSH,7 +VTS,1,3,240,0.96,CSH,5.5 +VTS,1,2,1380,7.24,CRD,24 +VTS,1,1,480,1.7,CSH,8 +VTS,1,3,660,1.23,CRD,8.5 +VTS,1,2,240,0.26,CRD,4.5 +VTS,1,3,1140,4.03,CRD,17 +VTS,1,2,2040,5.31,CSH,25.5 +VTS,1,2,180,0.58,CRD,4 +VTS,1,1,240,0.91,CRD,5.5 +VTS,1,1,480,0.8,CSH,6.5 +VTS,1,1,1020,2.87,CRD,13 +VTS,1,1,1020,2.18,CRD,12 +VTS,1,1,540,2.32,CRD,9.5 +VTS,1,1,480,1.57,CRD,7.5 +VTS,1,1,840,1.44,CSH,9.5 +VTS,1,1,180,0.86,CRD,4.5 +VTS,1,1,600,1.69,CSH,8.5 +VTS,1,1,1440,6.2,CRD,21 +VTS,1,1,660,3.32,CSH,12 +VTS,1,1,300,0.79,CRD,5 +VTS,1,1,660,2.31,CSH,10 +VTS,1,1,1860,7.87,CRD,27.5 +VTS,1,1,1140,4.88,CRD,18 +VTS,1,1,780,2.35,CRD,10.5 +VTS,1,1,1680,5.83,CRD,22 +VTS,1,1,900,4.05,CRD,14 +VTS,1,1,780,2.32,CRD,11 +VTS,1,1,480,2.13,CSH,8.5 +VTS,1,1,420,1.38,CRD,7 +VTS,1,1,1140,5.13,CRD,18.5 +VTS,1,1,480,1.46,CSH,7.5 +VTS,1,1,480,1.77,CRD,8 +VTS,1,1,420,1.43,CRD,7 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,6,480,1,CSH,7 +VTS,1,6,540,1.67,CRD,8.5 +VTS,1,6,780,2.93,CSH,12 +VTS,1,6,1260,3.61,CRD,16 +VTS,1,6,480,3.15,CSH,11 +VTS,1,1,540,1.96,CRD,9 +VTS,1,1,420,1.19,CRD,6.5 +VTS,1,1,600,1.79,CRD,8.5 +VTS,1,1,1440,3.86,CRD,17.5 +VTS,1,1,420,1.06,CRD,6.5 +VTS,1,1,900,2.14,CSH,11.5 +VTS,5,1,60,0,CRD,8 +VTS,1,1,1260,4.26,CRD,16.5 +VTS,1,1,660,2.37,CRD,10 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,1,1380,4.32,CRD,18.5 +VTS,1,1,420,0.9,CRD,6.5 +VTS,1,1,960,1.45,CRD,11 +VTS,1,1,360,1.64,CRD,7 +VTS,1,1,900,2.68,CSH,12.5 +VTS,1,1,660,1.39,CSH,8 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,660,2.13,CRD,9.5 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,540,1.5,CRD,8 +VTS,1,1,420,1.92,CRD,8 +VTS,1,1,360,0.94,CSH,6 +VTS,1,1,1200,2.35,CRD,13 +VTS,1,1,840,1.78,CSH,10.5 +VTS,1,1,300,0.81,CSH,5 +VTS,1,1,1020,4.08,CRD,15.5 +VTS,1,1,900,1.93,CRD,11 +VTS,1,1,1200,3.32,CRD,15 +VTS,1,1,600,1.71,CSH,8.5 +VTS,1,1,1920,11.46,CRD,34 +VTS,1,1,360,0.55,CRD,5 +VTS,1,1,1740,9.71,CRD,31 +VTS,1,1,780,1.87,CRD,10.5 +VTS,1,1,780,2.62,CRD,11.5 +VTS,1,1,1560,5.68,CRD,22.5 +VTS,1,1,840,5.46,CRD,17.5 +VTS,1,1,600,2.13,CRD,9 +VTS,1,1,360,0.99,CSH,6 +VTS,1,1,960,2.06,CRD,11.5 +VTS,1,1,600,2.47,CSH,10 +VTS,1,1,1200,5.78,CRD,20 +VTS,1,6,540,2.47,CSH,10.5 +VTS,1,6,360,1.19,CRD,6.5 +VTS,1,6,360,0.81,CRD,5.5 +VTS,1,6,180,0.63,CSH,4.5 +VTS,1,6,180,0.99,CSH,5.5 +VTS,1,6,900,2.84,CSH,13 +VTS,1,6,600,2.07,CSH,9.5 +VTS,1,6,480,2.22,CRD,9.5 +VTS,1,6,240,0.83,CSH,5.5 +VTS,1,6,540,1.22,CSH,7.5 +VTS,1,6,660,0.99,CSH,8.5 +VTS,1,6,780,3.6,CSH,13.5 +VTS,1,1,540,4.78,CRD,15.5 +VTS,1,1,240,1.44,CSH,6.5 +VTS,1,1,300,1.85,CRD,7.5 +VTS,1,1,840,3.63,CRD,14 +VTS,1,1,960,2.19,CSH,12 +VTS,1,1,540,1.54,CSH,8 +VTS,1,1,480,1.27,CRD,7.5 +VTS,1,1,840,1.5,CRD,10.5 +VTS,1,1,180,0.54,CSH,4 +VTS,1,1,1500,10.57,CRD,31.5 +VTS,1,1,780,2.74,CRD,11.5 +VTS,1,1,780,1.56,CRD,10 +VTS,1,1,660,2.72,CSH,11.5 +VTS,1,1,780,1.77,CSH,10 +VTS,1,1,600,1.9,CSH,8.5 +VTS,1,1,1020,2.92,CRD,13.5 +VTS,1,1,600,3.9,CRD,14 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,300,0.73,CRD,5 +VTS,1,1,1440,3.13,CSH,17 +VTS,1,2,720,1.99,CSH,9.5 +VTS,1,2,1800,10.22,CRD,32 +VTS,1,1,420,1.51,CSH,7 +VTS,1,3,960,2.79,CRD,13 +VTS,1,2,1020,2.89,CRD,13 +VTS,1,3,120,0.75,CSH,4 +VTS,1,3,600,1.92,CSH,9 +VTS,1,3,780,2.85,CRD,12 +VTS,1,1,1200,1.9,CSH,12.5 +VTS,1,1,600,1.52,CSH,8.5 +VTS,1,1,300,0.59,CRD,5 +VTS,1,1,300,0.71,CRD,5.5 +VTS,1,1,120,0.35,CSH,3.5 +VTS,1,1,1020,2.49,CRD,12.5 +VTS,1,1,1080,4.71,CRD,16.5 +VTS,1,1,360,0.81,CSH,5.5 +VTS,1,1,660,2.58,CRD,11 +VTS,1,1,540,1.13,CRD,8 +VTS,1,1,660,2.01,CRD,9.5 +VTS,1,1,180,1.14,CRD,5.5 +VTS,1,1,300,1.38,CSH,6.5 +VTS,1,1,660,3.49,CRD,12 +VTS,1,1,900,2.1,CRD,11 +VTS,1,1,1020,3.69,CRD,14.5 +VTS,1,1,720,3.67,CRD,12.5 +VTS,1,1,660,2.92,CRD,11.5 +VTS,1,1,540,1.62,CRD,8 +VTS,1,1,540,1.47,CSH,8 +VTS,1,1,180,0.47,CRD,4 +VTS,1,1,540,1.3,CRD,7.5 +VTS,1,1,600,1.9,CRD,8.5 +VTS,1,1,840,2.77,CSH,11.5 +VTS,1,1,420,1.29,CRD,7 +VTS,1,1,840,2.8,CSH,12 +VTS,1,1,600,1.07,CSH,8 +VTS,1,1,1260,3.61,CSH,16 +VTS,1,1,240,0.87,CSH,5 +VTS,1,6,600,2.2,CSH,9.5 +VTS,1,6,480,1.2,CRD,7 +VTS,1,6,420,1.89,CRD,8 +VTS,1,6,780,4.23,CSH,14.5 +VTS,1,6,240,0.49,CRD,4.5 +VTS,1,6,120,0.84,CSH,4.5 +VTS,1,6,120,0.55,CSH,4 +VTS,1,6,300,0.9,CRD,5.5 +VTS,1,6,780,2.78,CRD,11.5 +VTS,1,6,180,0.94,CRD,5 +VTS,1,6,720,2.58,CRD,11 +VTS,1,6,120,0.53,CSH,4 +VTS,1,6,300,1.17,CRD,6 +VTS,1,6,420,1.47,CSH,7 +VTS,1,6,240,0.88,CRD,5 +VTS,1,6,540,1.56,CSH,8 +VTS,1,6,840,2.27,CSH,11 +VTS,1,6,900,4.21,CRD,15 +VTS,1,6,420,1.53,CRD,7 +VTS,1,6,240,0.95,CRD,5 +VTS,1,6,120,0.67,CSH,4 +VTS,1,6,480,2.42,CRD,9.5 +VTS,1,6,660,2.32,CSH,10 +VTS,1,6,1380,4.02,CRD,17.5 +VTS,1,6,120,0.3,CSH,3 +VTS,1,6,1860,8.49,CRD,28 +VTS,1,6,840,3.56,CSH,13.5 +VTS,1,6,480,1.71,CRD,8 +VTS,1,6,540,0.75,CSH,7 +VTS,1,6,540,1.57,CRD,8 +VTS,1,6,240,0.64,CSH,5 +VTS,1,6,600,2.86,CSH,11 +VTS,1,6,300,1.69,CSH,7 +VTS,1,6,480,1.31,CSH,7.5 +VTS,1,6,360,1.06,CSH,6 +VTS,1,6,1440,14.01,CRD,39 +VTS,1,6,420,0.46,CSH,6 +VTS,1,6,1080,6.23,CRD,20 +VTS,1,6,720,2.03,CRD,10 +VTS,1,6,480,2.77,CRD,9.5 +VTS,1,6,420,1.24,CRD,7 +VTS,1,6,300,1.06,CRD,6 +VTS,1,6,960,2.83,CSH,12.5 +VTS,1,6,1080,4.56,CRD,16.5 +VTS,1,6,300,1.37,CRD,6 +VTS,1,6,180,1,CSH,5 +VTS,1,6,360,1.93,CSH,8 +VTS,1,6,360,0.99,CSH,6 +VTS,1,6,1080,2.27,CSH,13 +VTS,1,6,1080,10.94,CRD,30 +VTS,1,6,1200,6.23,CSH,20.5 +VTS,1,6,540,0.75,CRD,7.5 +VTS,1,6,120,0.79,CSH,4 +VTS,1,6,300,1.1,CSH,6 +VTS,1,6,420,1.11,CRD,6.5 +VTS,1,6,1200,9.58,CRD,28 +VTS,1,6,540,1.62,CRD,7.5 +VTS,1,6,600,1.33,CSH,8 +VTS,1,6,540,2.6,CRD,9.5 +VTS,1,6,180,0.97,CSH,5 +VTS,1,6,600,3.38,CSH,11.5 +VTS,1,6,1080,4.2,CRD,16 +VTS,1,6,480,1.76,CRD,8 +VTS,1,6,420,1.68,CSH,7.5 +VTS,1,6,420,0.73,CSH,5.5 +VTS,1,6,660,1.43,CSH,8.5 +VTS,1,6,180,0.24,CSH,3.5 +VTS,1,6,840,3.15,CRD,12.5 +VTS,1,6,420,1.27,CSH,6.5 +VTS,1,6,1200,4.42,CSH,17.5 +VTS,1,6,240,1.12,CRD,5.5 +VTS,1,6,360,1.11,CSH,6.5 +VTS,1,6,1560,9.47,CRD,30 +VTS,1,1,1140,4.5,CRD,17.5 +VTS,1,1,600,4.12,CRD,13 +VTS,1,1,480,1.28,CSH,7.5 +VTS,1,1,1260,5.67,CSH,19.5 +VTS,1,1,1260,4.38,CRD,17.5 +VTS,1,1,480,0.95,CRD,7 +VTS,1,1,660,1.01,CRD,8.5 +VTS,1,1,660,2.9,CRD,10.5 +VTS,1,1,600,1.47,CRD,8.5 +VTS,1,1,540,1.36,CRD,8 +VTS,1,1,660,1.7,CRD,9 +VTS,1,1,780,3.11,CRD,13 +VTS,1,1,480,1.18,CRD,7.5 +VTS,1,1,240,0.98,CRD,5 +VTS,1,1,540,2.15,CSH,9 +VTS,1,1,420,1.18,CRD,7 +VTS,1,1,1380,5.16,CRD,19.5 +VTS,1,1,660,4.34,CRD,14.5 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,420,0.74,CRD,6 +VTS,1,1,1440,6.71,CSH,22.5 +VTS,1,1,1320,5.28,CSH,19.5 +VTS,1,1,960,1.7,CRD,11.5 +VTS,1,1,420,1.39,CRD,7 +VTS,1,1,1500,10.75,CRD,32 +VTS,1,1,960,2,CRD,11.5 +VTS,1,1,1800,10.52,CRD,32.5 +VTS,1,1,780,2.02,CRD,10.5 +VTS,1,1,600,1.86,CRD,8.5 +VTS,1,1,2040,7.23,CRD,26.5 +VTS,1,1,720,2.58,CSH,11 +VTS,1,1,960,2.13,CSH,12 +VTS,1,1,540,1.48,CRD,8 +VTS,1,1,420,2.02,CRD,8 +VTS,1,1,480,1.68,CRD,7.5 +VTS,1,6,120,0.75,CRD,4 +VTS,1,6,360,1.76,CSH,7.5 +VTS,1,6,1500,14.02,CSH,39 +VTS,1,6,300,1.22,CRD,6 +VTS,1,6,180,0.99,CRD,5 +VTS,1,6,240,1.08,CRD,5.5 +VTS,1,6,600,2.47,CRD,10 +VTS,1,6,600,1.02,CSH,8 +VTS,1,6,1020,5.32,CRD,17.5 +VTS,1,6,480,1.51,CSH,7 +VTS,1,6,1140,3.25,CRD,14.5 +VTS,1,6,840,3.23,CSH,12.5 +VTS,1,6,420,0.96,CSH,6.5 +VTS,1,6,480,3.55,CRD,12 +VTS,1,6,360,1.14,CRD,6.5 +VTS,1,6,300,1.23,CRD,6 +VTS,1,6,1560,4.38,CRD,20 +VTS,1,6,240,0.55,CSH,4.5 +VTS,1,6,540,1.6,CSH,8.5 +VTS,1,6,1260,11.52,CRD,33.5 +VTS,1,6,1080,9.6,CRD,28 +VTS,1,6,1020,5.4,CRD,17.5 +VTS,1,6,660,3.78,CRD,13.5 +VTS,1,6,720,1.28,CRD,9 +VTS,1,6,240,0.65,CRD,4.5 +VTS,1,6,180,0.53,CSH,4 +VTS,1,6,300,0.69,CRD,5 +VTS,1,6,420,2.17,CRD,8.5 +VTS,1,6,420,2.23,CSH,8.5 +VTS,1,6,180,0.72,CRD,4.5 +VTS,1,6,780,1.62,CSH,10 +VTS,1,6,360,0.82,CRD,6 +VTS,1,6,600,2.06,CRD,9.5 +VTS,1,6,60,0.17,CSH,3 +VTS,1,6,300,1.02,CSH,5.5 +VTS,1,6,300,1.53,CSH,6.5 +VTS,1,6,360,0.73,CSH,6 +VTS,1,6,660,2.37,CSH,10 +VTS,1,6,420,2.26,CRD,9.5 +VTS,1,6,840,1.91,CSH,11 +VTS,1,6,1080,3.39,CSH,14.5 +VTS,1,6,480,1.4,CRD,7.5 +VTS,1,6,180,0.98,CSH,5 +VTS,1,1,240,0.87,CSH,5.5 +VTS,1,1,300,0.59,CSH,5 +VTS,1,1,600,0.92,CSH,7.5 +VTS,1,1,2460,10.06,CRD,35 +VTS,1,1,360,1.02,CSH,6.5 +VTS,1,1,300,1.67,CRD,7 +VTS,1,6,1920,1.76,CSH,19.5 +VTS,1,6,60,0.18,CSH,3 +VTS,1,6,840,3.13,CRD,12.5 +VTS,1,6,960,7.66,CRD,23.5 +VTS,1,6,240,0.93,CRD,5 +VTS,1,6,360,1.27,CSH,6.5 +VTS,1,6,300,1.01,CSH,5.5 +VTS,1,6,180,0.53,CSH,4.5 +VTS,1,6,420,1.58,CSH,7 +VTS,1,6,360,0.74,CRD,6 +VTS,1,6,360,1.27,CRD,6.5 +VTS,1,6,1080,11.1,CRD,32 +VTS,1,6,360,0.76,CSH,5.5 +VTS,1,6,360,0.81,CRD,5.5 +VTS,1,6,540,2.43,CRD,9 +VTS,1,6,1020,2.7,CSH,13.5 +VTS,1,6,420,1.65,CRD,8 +VTS,1,6,300,0.88,CSH,6 +VTS,1,6,420,2.69,CSH,9.5 +VTS,1,6,1380,2.18,CRD,14.5 +VTS,1,1,1320,6.85,CRD,23.5 +VTS,1,1,480,1.56,CRD,8 +VTS,1,1,600,1.43,CRD,8 +VTS,1,1,240,0.66,CRD,5 +VTS,1,1,480,1.25,CSH,7 +VTS,1,1,720,0.97,CRD,9 +VTS,1,1,1500,1.57,CRD,16 +VTS,1,1,540,2.22,CSH,9 +VTS,1,1,600,3.19,CSH,11 +VTS,1,1,780,2.77,CSH,11 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,360,1.92,CSH,7.5 +VTS,1,1,480,1.26,CRD,7 +VTS,1,1,480,1.01,CSH,7 +VTS,1,1,1140,2.65,CRD,14 +VTS,1,1,960,2.85,CRD,13.5 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,720,1.59,CRD,10 +VTS,1,6,240,0.66,CRD,4.5 +VTS,1,6,240,0.72,CSH,5 +VTS,1,6,720,3.02,CRD,11.5 +VTS,1,6,780,2.64,CRD,11.5 +VTS,1,6,540,1.79,CSH,8 +VTS,1,6,960,2.94,CRD,13 +VTS,1,6,780,1.47,CSH,9.5 +VTS,1,6,240,0.88,CRD,5 +VTS,1,1,1560,3.85,CSH,18 +VTS,1,1,360,1.53,CSH,7 +VTS,1,1,240,0.83,CSH,5 +VTS,1,1,840,2.9,CRD,11.5 +VTS,1,1,240,1.22,CSH,6 +VTS,1,1,300,0.2,CSH,5 +VTS,1,1,480,1.97,CSH,8 +VTS,1,1,780,1.48,CSH,10 +VTS,1,1,360,0.84,CSH,6 +VTS,1,1,360,0.94,CSH,5.5 +VTS,1,1,840,2.79,CSH,12 +VTS,1,1,1380,4.85,CRD,19 +VTS,1,1,720,1.41,CRD,9.5 +VTS,1,1,1500,4.01,CSH,18.5 +VTS,1,1,960,1.04,CRD,11 +VTS,1,1,1200,3.56,CRD,15.5 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,360,1.19,CSH,6 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,720,1.73,CRD,9.5 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,300,1.42,CSH,6.5 +VTS,1,1,900,4.06,CRD,14.5 +VTS,1,1,240,0.76,CSH,4.5 +VTS,1,1,420,2.03,CSH,8 +VTS,1,1,600,2.49,CRD,10 +VTS,1,1,300,1.25,CSH,6 +VTS,1,1,120,0.42,CSH,3.5 +VTS,1,1,720,2.94,CRD,12 +VTS,1,1,2280,6.92,CRD,28 +VTS,1,1,180,0.33,CRD,4 +VTS,1,1,540,1.43,CSH,7.5 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,1,360,1.74,CRD,7.5 +VTS,1,1,3540,11.56,CRD,46.5 +VTS,1,1,600,2.41,CRD,9 +VTS,1,1,1080,5.72,CRD,19 +VTS,1,1,1560,3.11,CSH,17.5 +VTS,1,1,300,1.12,CRD,6 +VTS,1,1,660,2.9,CSH,11 +VTS,1,6,240,0.77,CSH,5 +VTS,1,6,420,1.05,CRD,6.5 +VTS,1,6,180,0.71,CSH,4.5 +VTS,1,6,840,2.55,CSH,12 +VTS,1,6,660,2.24,CRD,10 +VTS,1,6,1140,11.69,CRD,33 +VTS,1,6,120,0.22,CSH,3 +VTS,1,6,600,2.98,CSH,11 +VTS,1,6,180,0.55,CRD,4 +VTS,1,6,720,1.66,CSH,9.5 +VTS,1,6,360,2.2,CSH,8.5 +VTS,1,6,540,1.41,CSH,8 +VTS,1,1,660,1.4,CRD,8.5 +VTS,1,1,840,3.27,CRD,12.5 +VTS,1,1,600,2.17,CSH,9 +VTS,1,1,2160,17.61,CRD,49.5 +VTS,1,1,1200,2.59,CSH,14 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,1920,5.82,CRD,25 +VTS,1,1,780,3.92,CRD,14 +VTS,1,1,540,1.5,CSH,8 +VTS,1,1,780,1.65,CRD,9 +VTS,1,1,660,1.85,CSH,9.5 +VTS,1,1,960,3.51,CRD,14 +VTS,1,1,4500,15.52,CRD,55.5 +VTS,1,1,300,0.97,CSH,6 +VTS,1,1,240,1.14,CSH,6 +VTS,1,1,1560,5.3,CRD,21 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,1440,6.21,CRD,23 +VTS,1,1,240,0.41,CRD,4.5 +VTS,1,1,420,0.77,CRD,6 +VTS,1,1,660,1.83,CRD,9 +VTS,1,1,2100,9.27,CSH,29 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,240,0.45,CRD,4.5 +VTS,1,1,1560,4.23,CRD,19 +VTS,1,1,720,2.19,CSH,10 +VTS,1,6,1020,5.66,CRD,19 +VTS,1,6,540,1.35,CRD,8.5 +VTS,1,6,180,0.77,CRD,4.5 +VTS,1,6,720,1.68,CSH,9 +VTS,1,6,480,1.53,CRD,8 +VTS,1,6,540,2.16,CRD,9.5 +VTS,1,6,660,1.02,CSH,8.5 +VTS,1,6,840,3.04,CRD,12.5 +VTS,1,6,660,1.54,CRD,9 +VTS,1,6,480,2.62,CRD,10 +VTS,1,6,360,2.09,CRD,8.5 +VTS,1,6,240,1.2,CSH,5.5 +VTS,1,6,1320,2.51,CSH,15.5 +VTS,1,6,240,0.45,CSH,4.5 +VTS,1,6,1080,2.29,CSH,13 +VTS,1,6,540,2.24,CSH,9.5 +VTS,1,6,1320,9.39,CRD,27.5 +VTS,1,6,660,1.66,CRD,9 +VTS,1,6,540,1.39,CRD,7.5 +VTS,1,6,1200,3.81,CRD,16.5 +VTS,1,6,360,0.59,CRD,5.5 +VTS,1,6,1560,5.52,CSH,22 +VTS,1,6,660,1.71,CSH,9.5 +VTS,1,6,180,0.55,CRD,4.5 +VTS,1,6,1020,4.81,CSH,18 +VTS,1,6,120,0.73,CSH,4 +VTS,1,6,1200,3.48,CRD,15 +VTS,1,6,600,1.47,CSH,9 +VTS,1,6,1080,5.46,CRD,18 +VTS,1,6,1200,1.75,CRD,13.5 +VTS,1,6,1080,1.37,CRD,11.5 +VTS,1,6,840,2.25,CRD,11.5 +VTS,1,6,360,1.42,CSH,7 +VTS,1,6,540,2.63,CSH,10 +VTS,1,6,180,0.62,CSH,5 +VTS,1,6,420,1.42,CSH,7.5 +VTS,1,6,360,1.15,CRD,6 +VTS,1,6,720,1.98,CSH,10.5 +VTS,1,6,720,3.58,CRD,13 +VTS,1,6,600,1.95,CRD,9.5 +VTS,1,6,900,8.01,CRD,23 +VTS,1,6,900,4.76,CRD,15.5 +VTS,1,6,540,2.23,CRD,10 +VTS,1,6,780,2.01,CRD,10.5 +VTS,1,6,720,1.67,CSH,9.5 +VTS,1,6,240,0.57,CRD,4.5 +VTS,1,6,540,1.34,CRD,8 +VTS,1,6,360,0.87,CRD,6 +VTS,1,6,1380,7.76,CSH,26 +VTS,1,6,420,1.93,CRD,8 +VTS,1,6,420,2.15,CRD,8.5 +VTS,1,6,480,0.88,CRD,6.5 +VTS,1,6,900,6.16,CRD,19.5 +VTS,1,6,2760,11.45,CSH,40.5 +VTS,1,6,540,2.07,CRD,9 +VTS,1,6,540,2.15,CSH,9 +VTS,1,6,780,1.65,CSH,10 +VTS,1,6,1020,7.09,CSH,21 +VTS,1,6,1200,3.02,CSH,14.5 +VTS,1,6,960,5.75,CSH,18.5 +VTS,1,6,900,4.56,CSH,15.5 +VTS,1,6,540,3.54,CRD,12 +VTS,1,6,600,1.98,CSH,9 +VTS,1,6,540,1.18,CRD,7.5 +VTS,1,6,240,0.94,CSH,5 +VTS,1,6,240,0.7,CSH,5 +VTS,1,6,120,0.56,CSH,4 +VTS,1,6,1320,2.14,CRD,14.5 +VTS,1,6,420,1.91,CSH,8.5 +VTS,1,6,1140,5.47,CSH,19 +VTS,1,6,120,0.59,CSH,4 +VTS,1,6,780,3.99,CRD,14 +VTS,1,6,780,2.32,CSH,11 +VTS,1,6,300,1.42,CSH,6.5 +VTS,1,6,840,6.33,CSH,20 +VTS,1,6,900,8.04,CSH,24 +VTS,1,6,1260,2.88,CRD,15 +VTS,1,6,1620,5.52,CRD,22.5 +VTS,1,6,180,0.56,CRD,4.5 +VTS,1,6,240,0.68,CRD,4.5 +VTS,1,6,720,1.77,CSH,9.5 +VTS,1,6,600,2.25,CRD,9.5 +VTS,1,6,900,2.44,CSH,11.5 +VTS,1,6,1080,5.97,CSH,20.5 +VTS,1,6,720,2.84,CRD,11.5 +VTS,1,6,1980,6.82,CSH,27 +VTS,1,6,420,1.46,CRD,7 +VTS,1,6,960,2.81,CSH,12.5 +VTS,1,6,300,0.84,CRD,5.5 +VTS,1,6,1140,4.5,CSH,16.5 +VTS,1,6,960,7.9,CRD,23.5 +VTS,1,6,1500,3.53,CRD,18 +VTS,1,6,900,3.64,CRD,13.5 +VTS,1,6,720,2.85,CSH,11.5 +VTS,1,6,180,0.45,CSH,4 +VTS,1,6,780,4.59,CRD,15 +VTS,1,6,180,0.53,CSH,4 +VTS,1,6,1140,4.87,CRD,18 +VTS,5,1,660,3.75,CRD,52.5 +VTS,1,6,1140,7.37,CSH,24 +VTS,1,6,240,1,CSH,5.5 +VTS,1,6,840,4.34,CRD,15 +VTS,1,6,60,0.38,CSH,3.5 +VTS,1,6,780,3.88,CSH,13.5 +VTS,1,6,300,0.93,CSH,5.5 +VTS,1,6,1200,3.9,CRD,16.5 +VTS,1,6,660,2.79,CSH,11 +VTS,1,6,1260,5.14,CRD,19 +VTS,1,6,240,1.05,CSH,6 +VTS,1,6,660,5.56,CRD,17 +VTS,1,6,300,0.98,CRD,5.5 +VTS,1,6,420,1.57,CSH,7.5 +VTS,1,6,780,3.84,CSH,14 +VTS,1,6,300,1.3,CSH,6.5 +VTS,1,6,960,4.8,CRD,17 +VTS,1,6,360,1.87,CRD,7.5 +VTS,1,6,660,3.43,CRD,12 +VTS,1,6,120,0.76,CRD,4.5 +VTS,1,6,1020,4.36,CSH,16.5 +VTS,1,6,540,2.02,CRD,9 +VTS,1,6,480,3.38,CSH,11 +VTS,1,6,360,1.86,CRD,7.5 +VTS,1,6,120,0.53,CSH,4 +VTS,1,6,720,1.72,CRD,9.5 +VTS,1,6,1200,15.18,CRD,41 +VTS,1,6,720,2.34,CRD,11 +VTS,1,6,120,0.81,CSH,4.5 +VTS,1,6,240,0.49,CSH,5 +VTS,1,6,300,0.77,CRD,6 +VTS,1,6,600,1.64,CSH,8.5 +VTS,1,6,420,1.52,CRD,7.5 +VTS,1,6,780,3.06,CSH,12 +VTS,1,6,840,3.86,CRD,14.5 +VTS,1,6,660,2.64,CSH,10.5 +VTS,1,6,1020,3.02,CSH,13.5 +VTS,1,6,720,3.04,CSH,11 +VTS,1,6,300,2.18,CRD,8 +VTS,1,6,540,1.46,CRD,8 +VTS,1,6,600,1.66,CRD,9 +VTS,1,6,300,1.07,CRD,6 +VTS,1,6,1020,3.12,CRD,13.5 +VTS,1,6,540,1.05,CRD,7.5 +VTS,1,6,720,1.94,CSH,10 +VTS,1,6,420,1.55,CRD,7.5 +VTS,1,6,300,1.45,CRD,6.5 +VTS,1,6,420,1.36,CSH,7 +VTS,1,6,780,1.34,CRD,10 +VTS,1,6,420,1.44,CRD,7 +VTS,1,6,600,2.08,CSH,9.5 +VTS,1,6,480,1.76,CSH,8 +VTS,1,6,900,3.11,CRD,13 +VTS,1,6,540,1.39,CRD,7.5 +VTS,1,6,540,1.3,CRD,8 +VTS,1,6,1080,3.13,CRD,13.5 +VTS,1,6,1140,5.86,CSH,19 +VTS,1,6,420,1.18,CSH,6.5 +VTS,1,6,300,0.9,CRD,5.5 +VTS,1,6,1500,6.39,CRD,23 +VTS,1,6,480,2.38,CRD,9 +VTS,1,6,480,1.47,CSH,7.5 +VTS,1,6,1920,3.66,CRD,21.5 +VTS,1,6,720,2.8,CRD,11.5 +VTS,1,6,540,3.24,CRD,11 +VTS,1,6,1020,3.95,CRD,15.5 +VTS,1,6,840,3.26,CRD,13.5 +VTS,1,6,720,3.87,CSH,14 +VTS,1,6,600,1.06,CRD,8 +VTS,1,6,1080,3.19,CRD,14 +VTS,1,6,300,0.83,CRD,5.5 +VTS,1,6,480,2.1,CRD,9 +VTS,1,6,420,1.24,CSH,6.5 +VTS,1,6,480,1.4,CRD,7.5 +VTS,1,6,1260,3.34,CRD,16 +VTS,1,6,660,1.63,CSH,9 +VTS,1,6,600,1.76,CRD,8.5 +VTS,1,6,480,0.81,CSH,6.5 +VTS,1,6,1020,4.39,CRD,16.5 +VTS,1,5,1080,8.3,CSH,25.5 +VTS,2,5,2700,18,CSH,52 +VTS,1,5,960,2.95,CSH,12.5 +VTS,1,5,2640,13.21,CSH,44.5 +VTS,2,5,2400,17.23,CRD,52 +VTS,1,6,240,0.96,CRD,5.5 +VTS,1,6,720,1.53,CSH,9 +VTS,1,6,420,2.23,CRD,8.5 +VTS,1,6,240,0.96,CRD,5 +VTS,1,6,540,1.62,CRD,8 +VTS,1,6,300,0.64,CSH,5 +VTS,1,6,600,1.46,CSH,8 +VTS,1,6,120,0.27,CRD,3.5 +VTS,1,6,660,3.28,CRD,12 +VTS,1,6,300,0.73,CRD,5 +VTS,1,6,540,1.71,CSH,8.5 +VTS,1,6,720,1.94,CSH,10 +VTS,1,6,1320,5.06,CRD,19.5 +VTS,1,6,300,1.48,CRD,6.5 +VTS,1,6,780,3.29,CRD,12.5 +VTS,1,6,180,0.9,CSH,5 +VTS,1,6,600,0.99,CSH,7.5 +VTS,1,6,360,1.44,CSH,6.5 +VTS,1,6,540,1.74,CSH,8.5 +VTS,1,6,720,2.07,CSH,10.5 +VTS,1,6,120,0.97,CSH,4.5 +VTS,1,6,900,2.87,CSH,13 +VTS,1,6,540,1.52,CRD,8 +VTS,1,6,540,1.49,CSH,8 +VTS,1,6,900,4.26,CRD,15.5 +VTS,5,2,1260,6.34,CRD,45 +VTS,1,6,360,1.75,CSH,7 +VTS,1,6,720,2.04,CRD,10 +VTS,1,6,240,1.2,CRD,6 +VTS,1,6,360,1.13,CRD,6.5 +VTS,1,6,1260,3.47,CRD,16 +VTS,1,6,540,1.82,CSH,8.5 +VTS,2,6,2880,18.4,CSH,52 +VTS,1,6,240,0.92,CSH,5.5 +VTS,1,6,660,1.87,CSH,9.5 +VTS,1,6,420,0.98,CSH,6.5 +VTS,1,6,1260,6.14,CRD,22 +VTS,1,6,660,2.36,CSH,11 +VTS,1,6,1140,4.55,CSH,16.5 +VTS,1,6,480,1.84,CSH,8 +VTS,1,6,600,1.5,CRD,8.5 +VTS,1,6,420,1.03,CRD,6 +VTS,1,6,180,0.68,CRD,4.5 +VTS,1,6,480,1.89,CRD,8.5 +VTS,1,6,300,2.33,CRD,8.5 +VTS,1,6,1680,6.86,CSH,25.5 +VTS,1,6,300,0.65,CSH,5.5 +VTS,1,6,480,2.11,CRD,9 +VTS,1,6,180,1.07,CRD,5 +VTS,1,6,600,2.3,CRD,9.5 +VTS,1,6,660,2.23,CSH,10.5 +VTS,1,6,360,0.74,CSH,6 +VTS,1,6,600,1.74,CRD,8.5 +VTS,1,6,360,0.78,CRD,6 +VTS,1,6,420,2.19,CRD,8 +VTS,1,6,480,1,CRD,7 +VTS,1,6,420,1.68,CRD,7.5 +VTS,1,6,780,2.49,CRD,11 +VTS,1,6,120,0.56,CSH,4 +VTS,1,6,180,0.65,CSH,4.5 +VTS,1,6,540,2.04,CSH,9.5 +VTS,1,6,1260,5.67,CSH,20 +VTS,1,6,600,1.34,CSH,8 +VTS,1,6,660,2.1,CRD,9.5 +VTS,1,6,300,1.08,CRD,6 +VTS,1,6,480,1.96,CRD,8.5 +VTS,1,6,1380,5.65,CSH,21 +VTS,1,6,360,1.96,CRD,8 +VTS,1,6,180,0.78,CRD,4.5 +VTS,1,6,900,2.59,CSH,12.5 +VTS,1,6,360,1.62,CRD,7 +VTS,1,6,540,2.09,CRD,9 +VTS,1,6,720,4.54,CRD,15 +VTS,1,6,240,0.79,CRD,5 +VTS,1,6,240,0.89,CRD,5 +VTS,1,6,360,1.4,CRD,6.5 +VTS,1,6,1680,7.26,CRD,25 +VTS,1,6,1020,3.18,CSH,14 +VTS,1,6,780,4.64,CSH,16 +VTS,1,6,840,2.38,CRD,11 +VTS,1,6,180,0.6,CRD,4.5 +VTS,1,6,360,1.66,CSH,7 +VTS,1,6,480,1.61,CRD,8 +VTS,1,6,900,4.39,CRD,15.5 +VTS,1,6,1020,5.29,CSH,18 +VTS,1,6,1260,6.13,CSH,21.5 +VTS,1,6,540,1.04,CSH,7 +VTS,1,6,1080,3.53,CRD,15 +VTS,1,6,420,1.39,CRD,7 +VTS,1,6,600,1.6,CSH,8.5 +VTS,1,6,360,1.19,CSH,6 +VTS,1,6,240,0.73,CSH,5 +VTS,1,6,240,0.82,CSH,5 +VTS,1,6,300,1.19,CSH,6.5 +VTS,1,6,180,0.76,CRD,5 +VTS,1,6,480,1.98,CRD,8.5 +VTS,1,6,1200,4.9,CRD,19 +VTS,1,6,420,1.79,CSH,8 +VTS,1,6,300,0.78,CSH,5.5 +VTS,1,6,660,2.19,CRD,10 +VTS,1,6,1140,10.85,CSH,31.5 +VTS,1,6,480,1.41,CSH,7.5 +VTS,1,6,1020,4.09,CSH,15 +VTS,1,6,420,1.45,CSH,7 +VTS,1,6,300,0.89,CSH,5.5 +VTS,1,6,1080,5.54,CRD,18 +VTS,1,5,1560,9.74,CSH,31 +VTS,1,5,240,0.6,CRD,5 +VTS,2,5,0,0,CRD,52 +VTS,1,5,1260,3.89,CRD,16.5 +VTS,1,5,300,0.74,CRD,5.5 +VTS,2,5,6840,52.61,CSH,52 +VTS,1,5,600,3.09,CRD,11 +VTS,2,5,0,0,CSH,52 +VTS,1,5,420,0.85,CRD,6 +VTS,1,5,1020,3.01,CRD,13.5 +VTS,2,5,2040,17.91,CSH,52 +VTS,1,5,2100,8.36,CRD,31 +VTS,1,5,1560,7.92,CRD,26.5 +VTS,1,5,540,1.61,CSH,8.5 +VTS,1,5,600,1.08,CSH,8 +VTS,1,5,1260,2.5,CSH,14.5 +VTS,1,5,1440,10.96,CRD,33 +VTS,1,5,480,1.38,CSH,7 +VTS,1,5,900,3.24,CRD,13 +VTS,1,5,420,3.28,CSH,11 +VTS,2,5,1800,13.91,CRD,52 +VTS,1,5,720,1.58,CRD,9.5 +VTS,1,5,180,0.72,CSH,4.5 +VTS,1,5,540,1.62,CSH,8 +VTS,1,5,600,2.03,CSH,9.5 +VTS,1,6,240,0.84,CRD,5 +VTS,1,6,900,2.58,CSH,11.5 +VTS,1,6,480,1.28,CRD,7 +VTS,2,5,6120,53.76,CRD,52 +VTS,1,5,660,2.94,CSH,12 +VTS,2,5,3360,13.73,CRD,52 +VTS,2,5,2220,19.27,CSH,52 +VTS,1,5,2940,13.3,CRD,45 +VTS,1,5,240,0.56,CRD,5 +VTS,1,5,1440,17.31,CRD,47 +VTS,1,5,540,1.26,CSH,8 +VTS,1,5,960,3.86,CRD,14.5 +VTS,1,5,420,1.28,CRD,7 +VTS,2,5,1380,11.28,CRD,52 +VTS,2,5,2100,19.5,CRD,52 +VTS,1,5,780,2.57,CRD,11.5 +VTS,1,5,1800,3.29,CSH,20 +VTS,1,5,1020,2.36,CRD,13 +VTS,1,5,600,0.96,CRD,8 +VTS,1,5,300,0.98,CRD,5.5 +VTS,1,5,1200,12.29,CSH,34 +VTS,1,5,1860,16.5,CRD,47.5 +VTS,1,4,300,0.4,CRD,5 +VTS,2,5,2460,20.63,CSH,52 +VTS,2,5,2100,15.56,CRD,52 +VTS,1,5,120,0.45,CRD,4 +VTS,1,6,360,2.03,CRD,8 +VTS,1,6,780,3.65,CSH,13 +VTS,1,6,720,3.34,CSH,12.5 +VTS,1,6,240,0.57,CSH,4.5 +VTS,1,6,1500,5.54,CRD,21.5 +VTS,1,6,240,0.88,CSH,5.5 +VTS,1,6,780,4.59,CRD,15 +VTS,1,6,1380,10.65,CRD,31.5 +VTS,1,6,660,2.36,CSH,11 +VTS,1,6,360,1.08,CRD,6.5 +VTS,1,6,840,2.42,CRD,11.5 +VTS,1,6,1500,5.4,CRD,22 +VTS,1,6,240,0.81,CSH,5 +VTS,1,6,1200,4.6,CRD,17.5 +VTS,1,6,600,1.52,CRD,8.5 +VTS,1,6,480,1.03,CRD,7 +VTS,1,5,1260,5.87,CRD,21.5 +VTS,2,5,0,0,CRD,52 +VTS,1,5,1860,8.28,CSH,29 +VTS,1,5,2340,23.47,CSH,65 +VTS,1,5,900,2.79,CRD,12 +VTS,1,5,480,1.57,CSH,7.5 +VTS,1,5,720,2.68,CRD,12 +VTS,2,5,1800,17.54,CRD,52 +VTS,1,5,360,0.98,CRD,6 +VTS,1,5,780,2.52,CRD,11.5 +VTS,1,5,1620,5.55,CSH,22.5 +VTS,1,5,360,1.29,CSH,6.5 +VTS,1,5,840,0.73,CSH,9.5 +VTS,1,5,180,0.53,CRD,4.5 +VTS,1,5,1980,4.35,CSH,16 +VTS,2,5,5160,58.84,CRD,52 +VTS,2,5,840,1.38,CRD,52 +VTS,1,5,1020,1.46,CSH,11.5 +VTS,1,5,600,0.84,CRD,8 +VTS,1,5,960,1.75,CSH,11.5 +VTS,1,5,1020,1.98,CSH,12 +VTS,3,5,1740,18.93,CRD,68.5 +VTS,1,5,300,0.87,CSH,5.5 +VTS,1,5,1020,2.24,CSH,12.5 +VTS,1,5,120,0.4,CSH,3.5 +VTS,1,5,300,1.28,CSH,6 +VTS,2,5,0,0,CSH,52 +VTS,1,5,600,1.42,CRD,8 +VTS,1,5,300,1.03,CSH,5.5 +VTS,1,5,540,1.14,CRD,7.5 +VTS,1,5,240,0.78,CRD,5 +VTS,1,5,600,2.29,CRD,10 +VTS,1,5,1440,4.04,CSH,19.5 +VTS,1,5,900,5.36,CRD,17 +VTS,1,5,480,1.13,CRD,7 +VTS,1,5,780,1.45,CRD,9.5 +VTS,1,5,480,1.12,CRD,6.5 +VTS,1,6,420,0.53,CRD,5.5 +VTS,1,6,300,0.98,CSH,6 +VTS,1,6,540,3.17,CRD,11.5 +VTS,1,6,420,1.08,CSH,7 +VTS,1,6,780,3.96,CRD,14 +VTS,1,6,480,2.66,CRD,9.5 +VTS,1,6,360,0.95,CSH,6 +VTS,1,6,240,1.1,CRD,5 +VTS,1,6,780,2.26,CSH,11 +VTS,1,6,480,1.06,CSH,7.5 +VTS,1,6,780,1.1,CRD,9.5 +VTS,1,6,300,0.84,CSH,5.5 +VTS,1,6,360,0.98,CRD,6.5 +VTS,1,6,840,3.22,CRD,13 +VTS,1,6,780,1.13,CRD,9 +VTS,1,6,120,0.45,CRD,4 +VTS,1,6,120,0.52,CSH,3.5 +VTS,1,6,180,1.03,CRD,5 +VTS,1,6,720,1.53,CSH,9 +VTS,1,6,660,1.98,CRD,10 +VTS,1,6,660,2.02,CRD,9.5 +VTS,1,6,480,0.96,CSH,6.5 +VTS,1,6,600,1.48,CRD,8.5 +VTS,1,6,540,1.86,CRD,8.5 +VTS,1,6,660,2.04,CRD,10 +VTS,1,5,180,0.71,CSH,4.5 +VTS,1,6,420,1,CSH,6.5 +VTS,1,6,660,2.99,CRD,12 +VTS,1,6,360,0.9,CRD,6 +VTS,1,6,180,0.49,CSH,4 +VTS,1,6,240,1.12,CRD,5.5 +VTS,1,6,360,1.45,CRD,7 +VTS,1,6,540,2.06,CSH,9 +VTS,1,6,240,0.63,CSH,4.5 +VTS,1,6,1440,6.63,CRD,22.5 +VTS,1,6,420,1.43,CRD,7.5 +VTS,1,6,420,2.18,CRD,8.5 +VTS,1,6,480,1.4,CRD,7 +VTS,1,6,420,0.63,CSH,6 +VTS,1,6,480,2.02,CRD,9 +VTS,1,6,180,0.88,CSH,5 +VTS,1,6,720,2.66,CRD,11.5 +VTS,1,6,1200,3.84,CRD,16.5 +VTS,1,6,600,3.2,CRD,12 +VTS,1,6,300,0.68,CRD,5 +VTS,1,6,1260,2.22,CRD,15 +VTS,1,6,480,1.3,CSH,7.5 +VTS,1,6,780,1.62,CRD,9.5 +VTS,1,6,1020,2.31,CRD,12 +VTS,1,6,780,1.37,CRD,10 +VTS,1,6,720,6.27,CRD,19 +VTS,1,6,300,0.7,CRD,5 +VTS,1,5,1140,3.89,CRD,15.5 +VTS,1,5,1020,11.26,CRD,31 +VTS,2,5,5220,36.7,CSH,52 +VTS,1,5,180,0.28,CSH,3.5 +VTS,2,5,3600,21.19,CSH,52 +VTS,1,5,540,2.36,CSH,9.5 +VTS,1,5,1560,6.57,CRD,26 +VTS,1,5,1740,4.24,CSH,21.5 +VTS,2,5,1680,17.98,CRD,52 +VTS,1,5,420,1.45,CSH,7.5 +VTS,1,5,300,2.68,CSH,9 +VTS,1,5,360,1.04,CRD,6.5 +VTS,1,5,420,0.81,CSH,6 +VTS,1,5,120,0.61,CRD,4 +VTS,1,5,480,2.79,CSH,10 +VTS,1,5,1320,3.95,CRD,16.5 +VTS,1,5,420,1.3,CRD,7 +VTS,1,5,120,0.56,CSH,4 +VTS,1,5,300,0.6,CSH,5 +VTS,1,5,300,1.28,CRD,6 +VTS,1,5,360,0.94,CSH,6 +VTS,1,5,1260,1.44,CRD,13 +VTS,1,5,360,1.09,CSH,6 +VTS,1,5,1200,1.29,CRD,12.5 +VTS,1,6,1620,11.04,CSH,33.5 +VTS,1,6,480,2.18,CSH,9 +VTS,2,5,120,0.78,CRD,52 +VTS,1,5,840,3.09,CRD,12.5 +VTS,1,5,600,2.33,CRD,9.5 +VTS,1,5,540,1.37,CSH,8 +VTS,1,5,240,0.59,CSH,5 +VTS,2,5,2400,16.7,CRD,52 +VTS,1,5,1380,10.13,CRD,30 +VTS,1,5,540,3.57,CRD,12.5 +VTS,1,5,420,0.86,CRD,6 +VTS,2,5,2880,18.91,CRD,52 +VTS,1,5,1560,9.16,CSH,29.5 +VTS,1,5,480,1.41,CSH,7.5 +VTS,1,5,1140,2.71,CRD,14.5 +VTS,1,5,180,0.42,CSH,4 +VTS,1,5,240,0.37,CSH,4.5 +VTS,1,5,720,2.11,CSH,10.5 +VTS,2,5,360,0.68,CRD,52 +VTS,1,5,960,6.42,CSH,20.5 +VTS,1,5,540,1.59,CSH,8 +VTS,1,5,1080,8.72,CRD,25.5 +VTS,1,5,180,0.34,CSH,4 +VTS,1,5,300,0.78,CRD,5.5 +VTS,1,5,1200,4.58,CSH,17 +VTS,1,5,1380,6.42,CRD,22.5 +VTS,1,5,1500,4.66,CRD,19.5 +VTS,1,5,840,2.59,CRD,12 +VTS,1,5,420,1.69,CSH,7.5 +VTS,1,5,900,1.57,CRD,10.5 +VTS,1,5,240,0.74,CSH,5 +VTS,1,5,420,1.68,CRD,8 +VTS,1,5,2820,7.41,CSH,34 +VTS,1,5,900,2.94,CRD,12.5 +VTS,2,5,2520,13.47,CSH,52 +VTS,1,5,540,2.49,CSH,9.5 +VTS,1,5,660,1.8,CSH,9 +VTS,1,6,240,0.7,CSH,5 +VTS,1,5,720,1.82,CRD,9.5 +VTS,2,5,1500,18.04,CRD,52 +VTS,2,5,2340,16.62,CSH,52 +VTS,1,5,540,2.11,CSH,9.5 +VTS,1,5,600,0.78,CRD,8 +VTS,1,5,480,1.15,CSH,7 +VTS,1,5,420,1.26,CRD,7 +VTS,1,5,480,0.87,CRD,7 +VTS,2,5,2040,17.88,CSH,52 +VTS,1,5,540,1.74,CSH,9 +VTS,1,5,300,0.96,CSH,5.5 +VTS,1,5,660,2.77,CSH,11.5 +VTS,2,5,1980,18.42,CRD,52 +VTS,2,5,120,0.3,CRD,52 +VTS,1,5,840,2,CSH,11 +VTS,1,5,600,1.57,CRD,9 +VTS,1,5,420,1.07,CRD,6.5 +VTS,1,5,780,1.41,CRD,10 +VTS,1,5,120,0.43,CRD,3.5 +VTS,1,6,1260,2.46,CSH,15 +VTS,1,6,780,2.62,CSH,11 +VTS,1,6,420,1.23,CSH,7 +VTS,2,6,1740,17.92,CSH,52 +VTS,1,6,360,1.46,CRD,7.5 +VTS,1,6,540,2.14,CRD,9 +VTS,1,6,540,1.64,CRD,8.5 +VTS,1,6,1920,10.36,CRD,34 +VTS,1,6,840,2.16,CRD,11 +VTS,1,6,180,0.64,CRD,4.5 +VTS,1,6,480,2.47,CRD,9.5 +VTS,1,6,720,3.09,CRD,12 +VTS,1,6,600,7.8,CRD,22 +VTS,1,6,900,5.25,CSH,17.5 +VTS,1,6,660,4.09,CRD,13.5 +VTS,1,6,600,1.82,CSH,9 +VTS,1,6,420,1.62,CSH,7.5 +VTS,1,6,540,2.87,CRD,11 +VTS,1,5,300,1.15,CRD,6.5 +VTS,1,6,60,0.34,CSH,3.5 +VTS,1,6,720,2.23,CSH,11 +VTS,1,6,540,2.3,CSH,9 +VTS,1,6,1980,8.98,CSH,30.5 +VTS,1,5,840,2.42,CRD,11 +VTS,1,5,540,1.17,CSH,7 +VTS,1,5,360,1.38,CSH,6.5 +VTS,1,6,840,3.69,CSH,13.5 +VTS,1,6,960,5.34,CRD,17 +VTS,1,6,1020,6.28,CRD,19 +VTS,1,6,300,1.99,CRD,7.5 +VTS,1,6,540,1.59,CRD,8.5 +VTS,1,6,120,0.48,CSH,4 +VTS,1,6,180,0.47,CRD,4 +VTS,1,6,840,3.2,CRD,13.5 +VTS,1,6,240,0.82,CSH,5 +VTS,1,6,660,2.75,CRD,11 +VTS,1,6,1020,3.01,CSH,14 +VTS,1,6,420,1.32,CRD,7 +VTS,1,6,600,1.93,CSH,9 +VTS,1,6,240,1.05,CSH,5.5 +VTS,1,6,1260,5.67,CSH,20 +VTS,1,6,300,0.95,CSH,6 +VTS,1,6,360,0.82,CSH,5.5 +VTS,1,6,900,4.96,CSH,17 +VTS,1,6,540,2.88,CSH,11 +VTS,1,6,480,1.4,CSH,7.5 +VTS,1,6,300,1.21,CSH,6.5 +VTS,1,6,300,2.05,CRD,7.5 +VTS,1,6,1080,4.8,CSH,18 +VTS,1,6,420,1.08,CSH,7 +VTS,1,6,300,0.79,CRD,5 +VTS,1,6,720,2.92,CRD,11.5 +VTS,1,6,420,1.46,CSH,7.5 +VTS,1,6,900,3.77,CRD,14 +VTS,1,6,420,1.81,CRD,8 +VTS,1,6,240,0.68,CSH,4.5 +VTS,1,6,1380,4.87,CRD,19 +VTS,1,6,300,1.44,CSH,6.5 +VTS,1,6,1260,4.18,CRD,17 +VTS,1,6,120,0.6,CSH,4 +VTS,1,6,600,1.63,CRD,9 +VTS,1,6,840,3.37,CRD,13 +VTS,1,6,420,0.87,CRD,6.5 +VTS,1,6,540,1.28,CRD,8 +VTS,1,6,660,3.83,CSH,13 +VTS,1,6,1140,3.19,CSH,14.5 +VTS,1,6,360,1.17,CSH,6.5 +VTS,1,6,780,3.37,CRD,12.5 +VTS,1,6,300,1.27,CRD,6 +VTS,1,6,1740,3.51,CSH,19.5 +VTS,1,6,720,2.18,CRD,10 +VTS,1,6,480,1.36,CRD,7.5 +VTS,1,6,1560,4.07,CSH,18 +VTS,1,6,1440,4.64,CRD,19 +VTS,1,6,300,1.56,CSH,7 +VTS,1,6,840,1.69,CSH,10.5 +VTS,1,6,900,4.17,CRD,15 +VTS,1,6,540,2.26,CSH,9.5 +VTS,1,6,1440,3.7,CRD,17.5 +VTS,1,6,300,1.41,CRD,6.5 +VTS,1,6,420,2.34,CSH,9 +VTS,1,6,660,2.62,CSH,11 +VTS,1,6,120,0.45,CSH,4 +VTS,1,6,300,0.99,CRD,6.5 +VTS,1,6,240,0.62,CRD,4.5 +VTS,1,6,720,3.3,CRD,12.5 +VTS,2,5,1680,19.27,CRD,52 +VTS,1,5,1800,12.04,CSH,36.5 +VTS,1,5,960,2.45,CRD,12.5 +VTS,1,5,180,0.82,CSH,4.5 +VTS,1,5,540,1.41,CRD,8 +VTS,2,5,660,5.05,CRD,52 +VTS,2,5,9060,56.39,CSH,52 +VTS,1,5,3120,15.4,CRD,49 +VTS,1,5,660,1.26,CSH,8.5 +VTS,1,5,780,2.1,CRD,10.5 +VTS,1,5,600,1.35,CSH,8.5 +VTS,1,5,240,0.12,CSH,4.5 +VTS,1,5,360,1.22,CSH,6.5 +VTS,1,5,1560,17.55,CSH,47 +VTS,1,5,1140,3.29,CRD,14 +VTS,1,5,480,0.65,CRD,6.5 +VTS,1,5,180,0.42,CSH,4 +VTS,1,5,360,0.5,CRD,5 +VTS,1,5,240,0.84,CRD,5.5 +VTS,1,5,240,0.47,CSH,4.5 +VTS,1,5,300,0.8,CSH,5.5 +VTS,1,5,300,0.69,CSH,5.5 +VTS,1,6,660,3.9,CRD,13 +VTS,1,6,720,2.81,CRD,11.5 +VTS,1,6,300,1.2,CSH,6.5 +VTS,1,6,360,1.11,CRD,6.5 +VTS,1,6,240,1.02,CSH,5.5 +VTS,1,6,360,1.66,CRD,7 +VTS,1,6,1320,4.81,CSH,19.5 +VTS,1,6,540,2.5,CRD,10 +VTS,1,6,720,2.34,CSH,11 +VTS,1,6,360,1.41,CSH,6.5 +VTS,1,6,300,0.89,CSH,6 +VTS,1,6,480,1.27,CRD,7.5 +VTS,1,6,660,4.99,CRD,16 +VTS,1,6,300,0.88,CRD,6 +VTS,1,6,420,2.03,CRD,8.5 +VTS,1,6,360,2.22,CRD,8 +VTS,1,6,360,1.21,CRD,6.5 +VTS,1,6,540,3.2,CSH,12 +VTS,1,5,1320,11.45,CRD,32 +VTS,2,5,2520,16.84,CSH,52 +VTS,1,5,1080,2.56,CRD,13.5 +VTS,1,5,1320,2.04,CSH,15 +VTS,1,5,360,0.73,CRD,6 +VTS,1,5,420,0.73,CSH,6 +VTS,1,5,1020,2.7,CRD,13.5 +VTS,1,5,600,1.97,CRD,9 +VTS,2,5,2820,17.48,CRD,52 +VTS,1,5,720,7.68,CRD,22 +VTS,1,5,420,1.1,CRD,6.5 +VTS,1,5,180,0.41,CSH,4 +VTS,1,6,540,2.12,CRD,9.5 +VTS,1,6,600,3.94,CSH,13.5 +VTS,1,6,720,4.47,CSH,15 +VTS,1,6,60,0.29,CSH,3 +VTS,1,6,300,1.67,CRD,7 +VTS,1,6,840,1.11,CSH,9.5 +VTS,1,6,660,1.92,CRD,10 +VTS,1,6,540,2.62,CRD,10 +VTS,1,6,240,1.72,CRD,7 +VTS,1,6,300,1.13,CSH,6 +VTS,1,6,300,0.94,CRD,5.5 +VTS,1,6,480,1.38,CRD,7.5 +VTS,1,6,240,1.45,CSH,6 +VTS,1,6,180,0.9,CRD,5 +VTS,1,6,720,7.55,CSH,22 +VTS,1,5,420,1.68,CRD,7.5 +VTS,1,5,300,0.93,CSH,5.5 +VTS,1,5,240,0.8,CSH,5 +VTS,1,5,720,2.28,CRD,10.5 +VTS,1,5,1560,3.24,CRD,17.5 +VTS,1,5,420,1.86,CSH,8 +VTS,1,5,420,0.93,CSH,6 +VTS,1,5,1020,3.24,CSH,14.5 +VTS,1,5,180,0.85,CSH,4.5 +VTS,2,5,2580,19.75,CRD,52 +VTS,1,5,1020,2.74,CSH,13.5 +VTS,1,5,960,1.84,CRD,11.5 +VTS,1,5,600,1.77,CRD,9 +VTS,1,5,1980,10.85,CRD,34 +VTS,1,5,480,1.76,CSH,8 +VTS,1,5,1560,2.88,CRD,17 +VTS,1,5,1440,2.94,CSH,17 +VTS,1,5,300,0.67,CRD,5 +VTS,1,5,600,2.08,CSH,9.5 +VTS,1,5,540,3.2,CSH,11.5 +VTS,2,5,1200,9.52,CSH,52 +VTS,1,5,720,0.84,CSH,8.5 +VTS,1,5,780,2.8,CRD,11.5 +VTS,1,5,660,1.62,CRD,9 +VTS,1,5,540,1.79,CRD,8.5 +VTS,1,5,360,1.29,CRD,6.5 +VTS,1,5,420,1.38,CSH,7.5 +VTS,1,5,600,1.38,CSH,8.5 +VTS,1,5,840,1.71,CRD,10.5 +VTS,1,5,240,1.15,CSH,5.5 +VTS,2,5,1380,19.52,CRD,52 +VTS,1,5,1200,9.73,CSH,28 +VTS,2,5,2160,22.22,CSH,52 +VTS,1,5,1080,4.98,CRD,18 +VTS,1,5,360,0.85,CRD,6 +VTS,1,5,780,2.26,CRD,11 +VTS,1,5,1080,1.75,CRD,13 +VTS,1,5,1020,1.59,CRD,11.5 +VTS,1,5,660,1.69,CSH,9 +VTS,1,5,660,1.1,CRD,8 +VTS,1,6,240,1.22,CRD,6 +VTS,1,6,120,0.56,CSH,3.5 +VTS,1,6,360,1.56,CRD,7 +VTS,1,6,420,1.82,CSH,8 +VTS,1,6,960,4.27,CSH,15 +VTS,1,6,1380,11.57,CRD,33 +VTS,1,6,300,1.72,CSH,7 +VTS,1,6,840,2.9,CRD,12.5 +VTS,1,6,540,2.29,CRD,9.5 +VTS,1,6,660,3.78,CSH,12.5 +VTS,1,6,60,0.66,CSH,4 +VTS,1,6,420,2.59,CRD,9.5 +VTS,1,6,660,4.44,CRD,14.5 +VTS,1,6,1560,5.28,CRD,20 +VTS,1,6,120,0.22,CRD,3.5 +VTS,1,6,900,3.85,CRD,14 +VTS,1,6,300,0.77,CSH,5.5 +VTS,1,5,300,0.93,CSH,5.5 +VTS,1,5,660,2.63,CSH,11 +VTS,1,5,360,1.34,CRD,6.5 +VTS,1,5,660,3.21,CRD,12 +VTS,1,5,480,2.11,CSH,8.5 +VTS,1,5,180,1.44,CSH,6 +VTS,1,5,600,2.04,CSH,9 +VTS,1,5,960,4.94,CSH,17 +VTS,1,5,420,1.12,CSH,6.5 +VTS,1,5,1200,5.89,CRD,20.5 +VTS,1,5,480,3.36,CSH,11.5 +VTS,1,5,840,8.77,CSH,25 +VTS,1,5,660,1.77,CSH,9.5 +VTS,1,5,720,1.88,CSH,9.5 +VTS,1,5,780,3.13,CRD,12 +VTS,1,1,780,8.13,CRD,23 +VTS,1,1,480,2.49,CRD,9.5 +VTS,1,1,360,1.39,CSH,6.5 +VTS,1,1,600,3.12,CRD,11.5 +VTS,1,1,600,2.85,CRD,10.5 +VTS,1,1,240,0.78,CRD,5 +VTS,1,6,480,3.49,CRD,12.5 +VTS,1,6,540,1.97,CRD,9 +VTS,1,6,360,0.94,CSH,6 +VTS,1,6,720,3.95,CRD,14 +VTS,1,6,660,1.7,CSH,9.5 +VTS,1,6,1380,4.14,CRD,19 +VTS,1,6,60,0.62,CSH,4 +VTS,1,6,360,1.44,CSH,7.5 +VTS,1,6,420,1.29,CRD,7 +VTS,1,6,540,2.03,CRD,9 +VTS,1,6,420,2.31,CRD,8.5 +VTS,1,5,480,1.74,CSH,7.5 +VTS,1,5,360,1.64,CSH,7.5 +VTS,1,5,360,0.93,CSH,6.5 +VTS,1,5,120,0,CRD,3 +VTS,1,5,480,1.71,CRD,8 +VTS,1,5,480,1.01,CSH,7 +VTS,1,5,1440,6.71,CRD,22 +VTS,1,5,420,1.48,CRD,7 +VTS,1,5,240,0.77,CSH,5 +VTS,1,5,1140,6.44,CSH,21.5 +VTS,1,4,840,9.03,CRD,26 +VTS,1,5,300,0.97,CSH,5.5 +VTS,1,5,420,2.06,CRD,8.5 +VTS,1,5,360,1.25,CSH,6 +VTS,1,5,480,2.32,CSH,9 +VTS,1,6,300,1.35,CSH,6.5 +VTS,1,6,420,1.96,CSH,8 +VTS,1,6,480,1.92,CRD,8.5 +VTS,1,6,540,1.38,CRD,8 +VTS,1,6,360,2.05,CSH,8 +VTS,1,6,720,3.58,CRD,13 +VTS,1,5,420,0.82,CSH,6.5 +VTS,1,5,960,5.5,CSH,17.5 +VTS,1,5,480,1.31,CSH,7 +VTS,1,5,780,3.06,CRD,12 +VTS,1,5,420,0.94,CSH,6.5 +VTS,1,5,660,3.4,CSH,12.5 +VTS,1,5,120,0.64,CSH,4.5 +VTS,1,5,300,1.01,CSH,5.5 +VTS,1,5,600,4.42,CRD,14.5 +VTS,1,5,1020,5.9,CSH,19.5 +VTS,1,5,360,1.24,CSH,6.5 +VTS,1,5,420,1,CSH,6.5 +VTS,1,5,480,2.8,CSH,9.5 +VTS,1,5,300,0.67,CSH,5 +VTS,1,5,180,1.02,CSH,5 +VTS,1,1,480,1.6,CRD,7.5 +VTS,1,1,840,2.68,CSH,12 +VTS,1,1,1080,5.13,CRD,18.5 +VTS,1,1,720,3.45,CSH,12.5 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,5,300,0.89,CSH,5.5 +VTS,1,5,1980,10.29,CRD,32.5 +VTS,1,6,480,2.38,CRD,9 +VTS,1,6,660,7.06,CSH,20 +VTS,2,6,1620,17.75,CRD,52 +VTS,1,5,960,2.38,CRD,13.5 +VTS,1,6,360,1,CRD,6.5 +VTS,1,1,60,0.05,CSH,2.5 +VTS,1,6,720,2.71,CRD,11 +VTS,1,6,660,2.39,CSH,10.5 +VTS,1,6,480,1.2,CRD,7.5 +VTS,1,6,840,2.11,CRD,11 +VTS,1,6,540,1.04,CSH,5.5 +VTS,1,5,60,0.38,CSH,3.5 +VTS,1,6,1020,3.33,CRD,14.5 +VTS,1,6,600,0.88,CRD,8 +VTS,1,6,780,1.99,CRD,11 +VTS,1,6,960,4.51,CSH,16.5 +VTS,1,6,480,2.53,CRD,9.5 +VTS,1,6,180,1.13,CSH,5.5 +VTS,1,6,420,1.41,CSH,7.5 +VTS,1,6,660,1.96,CRD,9.5 +VTS,1,6,240,1.23,CSH,6 +VTS,1,6,360,1.35,CRD,6.5 +VTS,1,6,180,0.64,CSH,4 +VTS,1,6,540,1.75,CRD,9 +VTS,1,6,720,3.5,CRD,13.5 +VTS,1,6,480,1.19,CSH,7 +VTS,1,6,300,1.75,CRD,7 +VTS,1,5,420,1.47,CRD,7.5 +VTS,1,5,660,2.17,CRD,9.5 +VTS,2,1,1800,17.85,CRD,52 +VTS,1,5,420,1.84,CRD,7.5 +VTS,1,5,1860,12.16,CSH,37 +VTS,1,5,660,4.31,CRD,14 +VTS,1,5,600,1.97,CSH,9.5 +VTS,1,5,660,5.08,CSH,15.5 +VTS,1,5,1080,10.61,CSH,30.5 +VTS,1,5,420,3.34,CSH,11 +VTS,1,5,60,0,CRD,3 +VTS,1,5,480,1.69,CSH,8 +VTS,1,5,660,6.29,CRD,18.5 +VTS,1,5,360,1.17,CSH,6 +VTS,1,5,1260,9.69,CRD,28.5 +VTS,1,5,540,2.14,CSH,9 +VTS,1,5,900,4.94,CRD,16.5 +VTS,1,5,480,2.02,CSH,8.5 +VTS,1,4,360,2.7,CRD,9 +VTS,1,5,840,2.11,CRD,10.5 +VTS,1,5,1140,3.51,CRD,15 +VTS,1,1,180,0.45,CSH,4 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,6,1200,1.42,CSH,13 +VTS,1,6,1320,5.35,CRD,20.5 +VTS,1,6,60,0.43,CRD,3.5 +VTS,1,6,480,1.83,CRD,8 +VTS,1,6,1140,4.33,CSH,16.5 +VTS,1,5,360,0.9,CSH,6 +VTS,1,6,600,1.55,CSH,8 +VTS,1,6,840,6.73,CRD,20.5 +VTS,1,6,960,2.5,CRD,12.5 +VTS,1,6,780,4.61,CSH,15 +VTS,1,6,480,1.47,CSH,7.5 +VTS,1,6,600,1.62,CSH,9 +VTS,1,6,240,0.68,CRD,5 +VTS,1,6,360,1.7,CRD,7 +VTS,1,6,840,1.9,CRD,11 +VTS,1,6,900,3.13,CSH,12.5 +VTS,1,6,240,0.82,CRD,5 +VTS,1,5,600,1.42,CSH,8 +VTS,1,5,1680,18.77,CSH,50 +VTS,1,5,600,1.75,CSH,8.5 +VTS,2,5,2520,18.99,CSH,52 +VTS,1,5,420,1.55,CRD,7.5 +VTS,1,5,300,1.18,CRD,6 +VTS,2,5,0,0,CRD,52 +VTS,1,5,240,0.71,CRD,5 +VTS,1,5,720,3.61,CRD,12.5 +VTS,1,6,420,0.81,CSH,6.5 +VTS,1,5,540,1.05,CRD,7 +VTS,1,5,420,1.8,CRD,7.5 +VTS,1,5,1140,2.63,CRD,14.5 +VTS,1,5,1260,4.44,CRD,18 +VTS,1,5,600,0.57,CRD,7 +VTS,2,5,1860,17.81,CRD,52 +VTS,2,5,2760,18.75,CSH,52 +VTS,1,5,1920,5.44,CRD,22.5 +VTS,1,5,780,2.79,CSH,11.5 +VTS,1,5,1440,17.43,CRD,47 +VTS,1,5,1860,13.44,CRD,40 +VTS,1,5,2340,9.08,CSH,33 +VTS,2,5,540,1.25,CRD,52 +VTS,1,5,540,0.81,CSH,7 +VTS,1,5,660,1,CSH,9 +VTS,1,5,960,2.41,CRD,12.5 +VTS,1,5,540,2.4,CSH,10 +VTS,1,5,1380,4.69,CRD,19.5 +VTS,1,5,1080,3.21,CSH,14 +VTS,1,5,480,1.39,CSH,7 +VTS,1,5,1200,3.83,CRD,16.5 +VTS,2,5,0,0,CSH,52 +VTS,1,5,360,0.98,CRD,6 +VTS,1,5,1320,3.11,CSH,16 +VTS,1,5,1020,3.65,CRD,15 +VTS,1,5,540,1.33,CRD,7.5 +VTS,1,5,1980,10.52,CRD,35 +VTS,1,5,480,1.8,CSH,8 +VTS,1,6,780,2.08,CRD,10 +VTS,1,6,1800,10.15,CSH,33 +VTS,1,6,300,0.96,CSH,5.5 +VTS,1,6,360,1.06,CSH,6.5 +VTS,1,6,1080,5.5,CSH,19.5 +VTS,1,6,840,3.07,CRD,13.5 +VTS,1,6,180,0.63,CSH,4 +VTS,1,6,480,1.84,CSH,7.5 +VTS,1,5,540,1.09,CRD,7 +VTS,1,6,840,3.28,CSH,13 +VTS,1,6,240,1.06,CRD,5.5 +VTS,1,6,300,1.18,CRD,6 +VTS,1,6,420,1.59,CSH,8 +VTS,1,6,540,1.52,CSH,8.5 +VTS,1,6,660,1.62,CSH,9 +VTS,1,6,660,1.87,CRD,9.5 +VTS,1,6,180,1.07,CSH,5.5 +VTS,1,6,900,4.96,CRD,16.5 +VTS,1,6,360,1.97,CRD,7.5 +VTS,1,5,1500,15.86,CRD,42 +VTS,1,5,840,2.4,CSH,12 +VTS,1,5,1380,9.68,CSH,30 +VTS,1,5,180,0.86,CRD,5 +VTS,1,5,1380,6.88,CSH,23.5 +VTS,1,6,300,1.52,CRD,6.5 +VTS,1,6,240,0.98,CSH,5 +VTS,1,6,720,2.63,CRD,11.5 +VTS,1,6,600,3.6,CSH,12 +VTS,1,6,900,4.16,CRD,15 +VTS,1,6,240,1.39,CSH,6 +VTS,1,6,900,2.7,CRD,12.5 +VTS,1,6,1200,3.94,CSH,16.5 +VTS,1,6,540,1.84,CSH,8.5 +VTS,1,6,300,0.4,CSH,4.5 +VTS,1,6,480,2.01,CRD,8.5 +VTS,1,6,720,5.27,CRD,15.5 +VTS,1,6,600,3.35,CRD,12 +VTS,1,6,420,1.64,CSH,7.5 +VTS,1,6,540,2.31,CRD,9.5 +VTS,1,6,540,1.44,CRD,8.5 +VTS,1,6,180,1.55,CSH,6.5 +VTS,1,6,660,2.26,CSH,10.5 +VTS,1,6,480,1.11,CRD,7 +VTS,1,6,420,1.26,CSH,7 +VTS,1,6,1860,20.13,CRD,55.5 +VTS,1,5,720,6.09,CRD,18.5 +VTS,1,5,180,0.36,CSH,4 +VTS,1,5,780,3.96,CSH,14 +VTS,1,5,540,2.72,CRD,10.5 +VTS,1,5,360,1.32,CSH,6.5 +VTS,1,5,240,1.04,CRD,5.5 +VTS,1,5,600,1.31,CSH,8 +VTS,1,5,180,0.55,CSH,3.5 +VTS,1,5,840,4.48,CSH,15 +VTS,1,5,120,0.56,CRD,4 +VTS,1,5,840,4.36,CSH,15.5 +VTS,1,5,840,4.43,CSH,16 +VTS,1,5,240,0.78,CSH,5 +VTS,1,5,1020,6.28,CRD,19.5 +VTS,1,5,180,0.43,CSH,4 +VTS,1,5,480,2.76,CRD,10 +VTS,1,5,60,0.15,CSH,2.5 +VTS,1,1,60,0,CSH,2.5 +VTS,1,1,360,1.19,CSH,6.5 +VTS,1,1,960,4.47,CRD,15.5 +VTS,1,1,300,1.01,CRD,6 +VTS,1,1,180,0.77,CRD,4 +VTS,1,1,600,2.66,CRD,10.5 +VTS,1,1,360,2.36,CSH,9 +VTS,1,1,480,1.68,CSH,8 +VTS,1,1,480,2.49,CSH,9.5 +VTS,1,1,120,0.55,CSH,3.5 +VTS,1,2,1080,3.21,CSH,14 +VTS,1,1,480,1.2,CRD,7 +VTS,2,1,2340,20.01,CSH,52 +VTS,1,1,420,1.79,CRD,7.5 +VTS,1,5,1080,10.25,CSH,30 +VTS,1,5,780,1.84,CRD,10.5 +VTS,1,5,1320,7.07,CSH,23 +VTS,1,1,720,3.22,CRD,12 +VTS,1,1,300,1.49,CSH,6.5 +VTS,1,1,1500,4.82,CSH,19 +VTS,1,1,960,3.53,CRD,14 +VTS,1,1,840,1.75,CSH,10.5 +VTS,1,1,120,0.46,CRD,3.5 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,780,2.64,CSH,11.5 +VTS,1,1,540,2.54,CRD,10 +VTS,1,1,900,4.15,CRD,15 +VTS,1,1,240,0.59,CRD,5 +VTS,1,1,300,1.31,CSH,6.5 +VTS,1,1,1200,4.04,CSH,16 +VTS,1,1,840,1.76,CSH,10.5 +VTS,1,1,780,3.83,CSH,13.5 +VTS,1,1,300,0.98,CSH,6 +VTS,1,1,180,0.84,CSH,4.5 +VTS,1,1,1680,9.42,CRD,31 +VTS,1,1,660,0.89,CRD,8 +VTS,2,1,2160,18.54,CRD,52 +VTS,1,1,660,4.38,CSH,14.5 +VTS,1,1,240,0.75,CSH,5 +VTS,1,1,660,2.75,CRD,10.5 +VTS,1,6,540,1.55,CRD,9 +VTS,1,6,960,7.74,CSH,23 +VTS,1,6,960,4.63,CSH,16.5 +VTS,1,6,420,2.12,CSH,9 +VTS,1,6,540,2.71,CSH,10 +VTS,1,6,120,0.59,CRD,4 +VTS,1,6,1560,1.6,CRD,16 +VTS,1,6,840,2.28,CSH,11.5 +VTS,1,6,480,1.69,CSH,8 +VTS,1,6,300,2.09,CRD,8 +VTS,1,6,360,1.77,CRD,7.5 +VTS,1,5,240,1.02,CRD,5.5 +VTS,1,5,480,1.85,CSH,8.5 +VTS,1,5,540,2.86,CSH,11 +VTS,1,5,720,4.88,CRD,15 +VTS,1,5,120,0.6,CSH,4 +VTS,1,5,360,0.56,CRD,5.5 +VTS,1,5,1020,4.1,CRD,15.5 +VTS,1,5,300,1.32,CRD,6.5 +VTS,1,5,720,2.6,CSH,11 +VTS,1,5,300,1.18,CRD,5.5 +VTS,1,5,480,2.38,CRD,9 +VTS,1,5,300,1.55,CRD,6.5 +VTS,1,5,420,1.59,CSH,7.5 +VTS,1,5,540,3.29,CRD,11 +VTS,1,5,180,0.95,CSH,5 +VTS,1,1,480,1.74,CSH,8 +VTS,1,1,60,0.19,CSH,3 +VTS,1,1,600,4.15,CSH,14.5 +VTS,1,1,180,0.56,CSH,4.5 +VTS,1,1,540,2.18,CRD,9 +VTS,1,1,780,2.43,CRD,11 +VTS,1,1,420,1.44,CSH,7 +VTS,1,1,480,1.33,CRD,8 +VTS,1,1,480,2.99,CRD,10.5 +VTS,1,1,900,4.02,CSH,15.5 +VTS,1,1,1200,13.69,CSH,38 +VTS,1,1,660,2.42,CSH,10 +VTS,1,1,540,1.69,CSH,9 +VTS,1,1,660,2.5,CRD,10.5 +VTS,1,1,720,3.37,CSH,12.5 +VTS,1,1,720,3.8,CRD,13.5 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,1440,15.05,CRD,42 +VTS,1,1,300,1.43,CSH,6.5 +VTS,1,1,600,1.26,CSH,8 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,600,1.93,CSH,9 +VTS,1,1,420,1.26,CSH,7 +VTS,1,1,600,1.15,CSH,7 +VTS,1,1,540,2.31,CRD,9 +VTS,1,1,2100,7.26,CRD,29 +VTS,1,1,540,1.04,CRD,7.5 +VTS,1,1,480,2.43,CRD,9 +VTS,1,1,480,1,CSH,7 +VTS,1,1,240,0.82,CSH,4.5 +VTS,1,1,600,3.16,CRD,11 +VTS,1,1,120,0.46,CSH,4 +VTS,1,1,1020,1.83,CSH,12.5 +VTS,1,1,660,1.98,CRD,9 +VTS,1,1,840,4.51,CSH,16 +VTS,1,1,60,0.23,CSH,3 +VTS,1,2,480,1.73,CSH,7.5 +VTS,1,1,480,2.01,CRD,8 +VTS,1,1,300,0.95,CSH,6 +VTS,1,1,720,4.63,CRD,14.5 +VTS,1,1,1320,8.92,CRD,28 +VTS,1,1,1800,5.42,CSH,23 +VTS,1,1,960,5.58,CRD,19 +VTS,1,1,120,0.77,CSH,4 +VTS,1,1,540,1.34,CSH,8 +VTS,1,1,2280,7.18,CSH,29 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,600,2.29,CSH,10 +VTS,1,1,660,3.23,CRD,12 +VTS,1,1,720,3.82,CRD,14 +VTS,1,1,0,0.04,CSH,2.5 +VTS,1,1,840,1,CRD,9.5 +VTS,1,1,780,6.04,CRD,19 +VTS,1,1,900,2.87,CSH,12.5 +VTS,1,1,480,1.2,CRD,7 +VTS,1,1,720,3.1,CSH,12 +VTS,1,1,480,1.06,CRD,6.5 +VTS,1,1,840,3.33,CRD,13.5 +VTS,1,1,840,5.27,CSH,16.5 +VTS,1,1,480,5.73,CSH,17 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,960,3,CSH,12.5 +VTS,1,1,240,0.4,CRD,4 +VTS,1,1,480,1.54,CSH,8 +VTS,1,1,720,2.61,CSH,10.5 +VTS,1,1,660,2.31,CSH,10 +VTS,1,1,180,0.97,CRD,5 +VTS,1,1,480,2.17,CRD,9 +VTS,1,1,900,5.38,CRD,18 +VTS,1,1,540,1.49,CRD,7.5 +VTS,1,1,420,1.52,CRD,7 +VTS,1,1,240,1.53,CRD,6.5 +VTS,1,1,480,2.4,CRD,9 +VTS,1,1,540,2.19,CSH,9.5 +VTS,1,1,540,1.55,CRD,8 +VTS,1,1,540,1.8,CSH,8.5 +VTS,1,1,240,0.91,CSH,5 +VTS,1,1,300,1.05,CSH,6 +VTS,1,1,360,1.56,CSH,7 +VTS,1,5,1200,6.86,CRD,22 +VTS,1,5,1560,9.21,CRD,28.5 +VTS,1,5,300,0.73,CSH,5 +VTS,1,4,1020,6.24,CRD,21 +VTS,1,5,360,1.28,CSH,6.5 +VTS,1,5,900,3.87,CRD,14.5 +VTS,1,5,960,4.75,CSH,16 +VTS,1,5,600,3.68,CRD,12.5 +VTS,1,5,120,0.92,CRD,4.5 +VTS,1,5,1020,10.04,CRD,29 +VTS,1,5,360,1.93,CSH,8 +VTS,1,5,720,3.35,CRD,12.5 +VTS,1,1,840,5.31,CSH,17.5 +VTS,1,1,900,3.63,CRD,13.5 +VTS,1,1,1560,6.7,CSH,24 +VTS,1,1,60,0.08,CSH,2.5 +VTS,1,1,420,0.65,CRD,5.5 +VTS,1,1,360,1.53,CRD,6.5 +VTS,1,1,600,1.26,CRD,8.5 +VTS,1,1,1140,4,CSH,16.5 +VTS,1,1,420,2.63,CSH,10 +VTS,1,1,480,1.23,CSH,6 +VTS,1,1,1740,14.49,CSH,41.5 +VTS,1,1,720,3.04,CSH,11.5 +VTS,1,1,240,0.67,CSH,5 +VTS,1,1,420,1.35,CSH,7 +VTS,1,6,1860,13.58,CSH,40 +VTS,1,6,540,2.86,CSH,11 +VTS,1,6,240,0.66,CSH,5 +VTS,1,6,180,0.84,CSH,5 +VTS,1,5,180,1.11,CSH,5.5 +VTS,1,6,360,1.14,CSH,6 +VTS,1,6,600,1.99,CSH,9 +VTS,1,6,600,2.29,CRD,10 +VTS,1,6,540,1.72,CSH,8 +VTS,1,6,360,1.51,CSH,7 +VTS,1,6,840,7.69,CRD,24 +VTS,2,1,1980,18.59,CRD,52 +VTS,1,5,480,1.7,CSH,8 +VTS,1,5,480,1.86,CSH,8 +VTS,1,5,420,1.42,CRD,7 +VTS,1,5,360,1.06,CSH,6 +VTS,1,5,960,2.39,CRD,11.5 +VTS,1,5,900,1.74,CSH,11.5 +VTS,1,5,240,1.2,CSH,6 +VTS,1,5,840,2.83,CSH,12.5 +VTS,1,5,720,2.5,CRD,10.5 +VTS,2,1,2940,18.43,CRD,52 +VTS,1,5,240,0.56,CSH,4.5 +VTS,1,1,780,4.94,CRD,15.5 +VTS,1,1,420,0.96,CSH,6.5 +VTS,1,1,360,0.71,CSH,5.5 +VTS,1,1,480,1.66,CSH,8 +VTS,1,1,420,2.19,CSH,8.5 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,1,720,5.07,CSH,16.5 +VTS,1,1,1500,10.28,CSH,32 +VTS,1,1,60,0.14,CSH,2.5 +VTS,1,1,360,1.02,CRD,6.5 +VTS,1,1,600,1.49,CRD,8.5 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,1260,4.29,CRD,17 +VTS,1,1,360,0.98,CSH,5.5 +VTS,1,1,360,0.92,CRD,6 +VTS,1,1,960,4.85,CRD,16.5 +VTS,1,1,600,2.11,CSH,9.5 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,780,3.97,CRD,14 +VTS,1,1,300,1.63,CRD,7 +VTS,1,1,480,1.36,CSH,7.5 +VTS,1,1,540,1.28,CSH,7.5 +VTS,1,1,780,7.04,CRD,21 +VTS,1,1,540,1.11,CSH,7.5 +VTS,1,1,480,1.68,CRD,8 +VTS,1,1,1080,4.39,CSH,16.5 +VTS,1,1,480,2.78,CSH,10.5 +VTS,1,1,900,3.84,CRD,14.5 +VTS,1,1,300,1.3,CSH,6.5 +VTS,1,1,300,1.14,CRD,6 +VTS,1,1,480,2.41,CRD,9 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,1380,11.16,CRD,33 +VTS,1,1,420,1.06,CRD,6.5 +VTS,1,1,180,0.53,CRD,4 +VTS,1,1,1620,6.56,CRD,24.5 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,300,2.81,CSH,10 +VTS,1,1,300,1.23,CRD,6.5 +VTS,1,1,1020,10.26,CRD,29 +VTS,1,1,1380,5.09,CSH,20.5 +VTS,1,2,480,1.14,CSH,7 +VTS,1,1,720,2.77,CRD,11.5 +VTS,1,1,300,1.69,CRD,7 +VTS,1,1,780,2.01,CSH,11 +VTS,1,1,420,1.72,CRD,7.5 +VTS,1,1,840,5.21,CSH,17.5 +VTS,1,1,1020,3.97,CSH,16 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,960,4.58,CRD,16.5 +VTS,1,1,480,3.63,CSH,11.5 +VTS,1,1,480,1.82,CRD,8.5 +VTS,1,1,180,0.77,CSH,4.5 +VTS,5,2,0,0,CRD,10 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,1,1560,7.43,CSH,25.5 +VTS,1,1,1320,3.66,CRD,16.5 +VTS,1,1,540,1.4,CSH,7.5 +VTS,1,1,780,3.81,CRD,13.5 +VTS,1,2,360,0.77,CSH,6 +VTS,1,1,480,1.04,CRD,7 +VTS,1,1,480,1.24,CSH,7 +VTS,1,1,720,3.09,CSH,12 +VTS,1,1,240,0.54,CRD,4.5 +VTS,1,1,480,3.57,CSH,11.5 +VTS,1,1,840,3.15,CRD,12.5 +VTS,1,1,360,1,CRD,6 +VTS,1,1,420,1.76,CRD,8 +VTS,1,1,420,1.2,CRD,7 +VTS,1,1,1320,3.63,CRD,16.5 +VTS,1,1,1320,4.78,CSH,18 +VTS,1,1,300,1.64,CSH,6.5 +VTS,1,1,120,0.85,CSH,4.5 +VTS,1,1,300,0.43,CSH,5 +VTS,1,1,1440,4.07,CSH,17.5 +VTS,1,1,600,1.52,CRD,8.5 +VTS,1,1,600,1.95,CRD,9 +VTS,1,1,1080,6.48,CSH,21.5 +VTS,1,1,660,2.72,CRD,11.5 +VTS,1,1,420,2.09,CRD,8.5 +VTS,1,1,1620,7.22,CRD,24.5 +VTS,1,1,300,0.94,CRD,6 +VTS,1,1,600,2.97,CSH,11 +VTS,1,1,240,0.89,CRD,5 +VTS,1,1,660,4.09,CRD,14 +VTS,1,1,720,2.07,CRD,10 +VTS,1,1,1380,6.55,CRD,21.5 +VTS,1,1,480,2.47,CSH,9.5 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,780,2.32,CRD,11 +VTS,1,1,660,2.53,CRD,11 +VTS,1,1,480,2.56,CSH,9.5 +VTS,1,1,780,9.48,CRD,27 +VTS,1,1,240,1.41,CRD,6.5 +VTS,1,1,720,3.38,CSH,12.5 +VTS,1,1,480,2.91,CSH,11 +VTS,1,1,360,1.23,CRD,6.5 +VTS,1,1,420,0.82,CRD,6.5 +VTS,1,1,300,1.59,CRD,6.5 +VTS,1,3,1200,5.56,CSH,19 +VTS,1,3,300,1.34,CRD,6 +VTS,1,3,720,3.26,CRD,12 +VTS,1,4,1320,7.81,CSH,25 +VTS,2,3,1740,17.65,CRD,52 +VTS,1,3,1320,10.85,CRD,31 +VTS,1,3,240,1.06,CSH,5 +VTS,1,3,420,2.13,CSH,8 +VTS,1,2,480,0.84,CSH,6.5 +VTS,1,5,780,2.77,CSH,12 +VTS,1,4,480,1.87,CSH,7.5 +VTS,1,5,780,2.98,CRD,12 +VTS,2,1,1500,18.25,CRD,52 +VTS,1,1,660,2.38,CRD,10.5 +VTS,1,1,540,1.53,CRD,8 +VTS,1,1,60,0.48,CSH,3.5 +VTS,1,1,300,0.76,CSH,5.5 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,1140,9.59,CRD,28.5 +VTS,1,1,420,1.89,CRD,8 +VTS,1,1,660,2.42,CSH,10 +VTS,1,1,420,1.39,CRD,7 +VTS,1,1,300,1.52,CRD,6.5 +VTS,1,1,240,0.62,CSH,5 +VTS,1,1,840,3.07,CRD,12.5 +VTS,1,1,1140,8.98,CSH,27 +VTS,1,1,2100,11.14,CRD,34 +VTS,1,1,420,2.04,CRD,8 +VTS,1,1,240,0.77,CSH,5 +VTS,1,1,480,1.14,CRD,7 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,540,1.3,CSH,8 +VTS,1,1,1080,3.53,CSH,15.5 +VTS,1,1,300,1.18,CRD,6 +VTS,1,1,480,1.24,CSH,7 +VTS,1,1,780,3.69,CSH,14 +VTS,1,1,900,5.9,CSH,19 +VTS,1,1,540,2.51,CSH,10 +VTS,1,1,660,2.23,CRD,10 +VTS,1,1,3180,15.82,CSH,52 +VTS,1,1,240,0.9,CSH,5 +VTS,1,1,660,3.46,CRD,12.5 +VTS,1,1,720,3.53,CRD,13 +VTS,1,2,180,0.57,CSH,4 +VTS,1,1,540,1.57,CRD,8.5 +VTS,1,1,600,3.22,CSH,12 +VTS,1,1,300,1.01,CSH,5.5 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,1140,4.86,CRD,18 +VTS,1,1,600,3.73,CSH,13.5 +VTS,2,1,1980,17.39,CRD,52 +VTS,1,1,180,0.44,CRD,4 +VTS,1,1,660,2.73,CRD,10 +VTS,1,1,360,2.56,CRD,9 +VTS,1,1,420,0.88,CRD,6 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,480,2.35,CSH,9 +VTS,1,1,780,1.89,CRD,10.5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,480,1.27,CRD,7.5 +VTS,1,1,600,1.5,CSH,9 +VTS,1,1,540,1.57,CRD,7.5 +VTS,1,1,1500,10.6,CRD,31 +VTS,1,1,480,2.22,CRD,8.5 +VTS,1,1,840,3.76,CRD,14 +VTS,1,1,1080,2.76,CRD,13.5 +VTS,1,1,900,6.87,CRD,21.5 +VTS,1,1,600,1.84,CSH,9 +VTS,1,1,300,1.3,CSH,6.5 +VTS,1,1,1020,6.3,CSH,19.5 +VTS,1,1,1200,2.19,CRD,13.5 +VTS,1,1,780,6.36,CRD,19 +VTS,1,1,780,2.58,CSH,11.5 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,540,2.61,CSH,10 +VTS,1,2,360,1.68,CRD,7.5 +VTS,1,1,600,2.14,CRD,10 +VTS,1,1,360,1.81,CSH,7.5 +VTS,1,1,300,1.04,CRD,6 +VTS,1,1,420,2.76,CRD,9.5 +VTS,1,1,900,10.98,CSH,30 +VTS,1,1,660,1.63,CRD,9 +VTS,1,1,360,0.83,CSH,6 +VTS,1,1,660,1.83,CRD,9.5 +VTS,1,1,180,0.78,CRD,4.5 +VTS,1,1,1080,6.57,CSH,20.5 +VTS,1,1,540,1.42,CRD,8 +VTS,1,1,480,3.45,CSH,11.5 +VTS,1,1,1080,2.98,CSH,13.5 +VTS,1,1,1080,5.2,CSH,18 +VTS,1,1,60,0.06,CSH,2.5 +VTS,1,1,180,0.84,CSH,5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,300,0.84,CRD,5.5 +VTS,1,1,240,0.98,CSH,5 +VTS,1,2,1380,7.76,CSH,25 +VTS,1,1,960,10.52,CRD,29.5 +VTS,1,1,780,2.96,CSH,12.5 +VTS,1,1,300,0.78,CSH,5 +VTS,1,1,420,1.22,CRD,6.5 +VTS,1,1,360,0.85,CSH,6 +VTS,1,1,600,3.58,CRD,12 +VTS,1,1,1020,5.87,CSH,19 +VTS,1,1,600,2,CSH,9.5 +VTS,1,2,420,1.29,CSH,7 +VTS,1,1,480,1.48,CRD,7.5 +VTS,1,1,360,1.32,CRD,6.5 +VTS,1,1,540,2.1,CSH,9.5 +VTS,1,1,600,2.29,CSH,10 +VTS,1,1,900,2.3,CSH,11.5 +VTS,1,1,480,0.94,CSH,6 +VTS,1,1,420,1.13,CSH,7 +VTS,1,1,780,2.2,CRD,10.5 +VTS,1,1,1080,3.1,CRD,14.5 +VTS,1,1,240,0.87,CRD,5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,240,1.16,CRD,5.5 +VTS,1,1,1200,8.81,CRD,27 +VTS,1,1,120,0.48,CRD,4 +VTS,1,1,180,1.47,CSH,6 +VTS,1,1,840,2.12,CRD,11 +VTS,1,1,780,3.16,CRD,12 +VTS,1,2,540,1.7,CRD,8 +VTS,1,1,360,1.06,CSH,6 +VTS,1,1,960,7.01,CSH,22 +VTS,1,1,660,2.03,CSH,9.5 +VTS,2,1,3060,17.94,CRD,52 +VTS,1,1,660,3.24,CRD,11.5 +VTS,1,1,120,0.6,CSH,4 +VTS,1,1,120,0.83,CRD,4.5 +VTS,1,1,360,1.11,CSH,6 +VTS,1,1,1260,4.14,CRD,17 +VTS,1,1,300,1.07,CRD,6 +VTS,1,1,600,2.04,CRD,9.5 +VTS,1,1,480,1.36,CSH,7 +VTS,1,1,1500,4.14,CSH,19 +VTS,1,1,360,0.92,CRD,5.5 +VTS,1,1,1080,2.19,CSH,12.5 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,840,4.63,CRD,15.5 +VTS,1,1,600,3.54,CRD,12 +VTS,1,1,480,2.29,CRD,9 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,240,1.15,CRD,5.5 +VTS,1,1,180,0.99,CSH,5 +VTS,1,1,780,2.76,CRD,12 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,840,3.08,CSH,12.5 +VTS,1,1,840,4.32,CSH,15.5 +VTS,1,1,180,0.59,CSH,4 +VTS,1,1,180,1.28,CRD,5.5 +VTS,1,1,300,0.79,CSH,5 +VTS,1,1,420,1.35,CSH,7 +VTS,1,1,660,2.02,CRD,9.5 +VTS,1,1,540,2.78,CSH,10.5 +VTS,1,1,1020,3.46,CSH,14.5 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,480,1.83,CSH,8 +VTS,1,1,480,2.15,CRD,9 +VTS,1,1,840,4.34,CRD,16 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,300,0.73,CRD,5 +VTS,1,1,960,5.7,CSH,18.5 +VTS,1,1,1680,11.39,CSH,34.5 +VTS,1,1,480,1.87,CSH,8 +VTS,1,1,300,2.04,CRD,7.5 +VTS,1,1,780,2.58,CRD,11 +VTS,1,1,600,1.68,CRD,8.5 +VTS,1,1,360,1.36,CRD,6.5 +VTS,1,1,780,5.69,CSH,18 +VTS,1,1,120,0.44,CSH,3.5 +VTS,1,1,1320,11.12,CRD,31.5 +VTS,1,1,720,2.11,CSH,10.5 +VTS,1,1,600,1.95,CRD,9.5 +VTS,1,1,720,2.17,CSH,10.5 +VTS,1,1,600,1.68,CRD,9 +VTS,1,1,360,0.92,CRD,6 +VTS,1,1,900,3.53,CRD,13.5 +VTS,1,1,360,1.36,CSH,6.5 +VTS,1,1,180,0.9,CRD,4.5 +VTS,1,1,360,0.94,CRD,6 +VTS,1,1,180,0.86,CSH,5 +VTS,1,1,780,4.22,CSH,13.5 +VTS,1,1,540,4.37,CRD,14.5 +VTS,1,1,360,1.38,CRD,7 +VTS,1,1,1140,5.59,CRD,19 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,480,1.1,CSH,6 +VTS,1,1,660,0.71,CRD,8 +VTS,1,1,1140,3.14,CRD,14.5 +VTS,1,1,300,0.98,CRD,6 +VTS,1,1,240,0.85,CSH,5 +VTS,1,1,780,3.78,CSH,13.5 +VTS,1,1,600,1.46,CSH,8.5 +VTS,1,1,300,1.07,CSH,6 +VTS,1,1,540,2.23,CRD,10 +VTS,1,1,180,0.51,CRD,4 +VTS,1,1,1380,10.23,CSH,31.5 +VTS,5,1,0,0,CRD,32.5 +VTS,1,2,480,1.12,CRD,6.5 +VTS,1,1,420,1.05,CSH,6 +VTS,1,1,2640,9.39,CRD,33.5 +VTS,1,1,1080,3.52,CRD,14.5 +VTS,1,1,660,1.45,CSH,8 +VTS,1,1,300,0.59,CRD,5 +VTS,1,1,300,1.16,CRD,6 +VTS,1,1,360,1.9,CSH,7.5 +VTS,1,1,780,2.31,CRD,11.5 +VTS,1,2,660,2.76,CSH,10.5 +VTS,1,1,780,4.15,CSH,15 +VTS,1,1,420,1.88,CRD,8 +VTS,1,1,600,1.61,CSH,9 +VTS,1,1,300,1.29,CRD,6.5 +VTS,1,1,660,2.24,CRD,10 +VTS,1,1,420,2.83,CRD,10 +VTS,1,1,1500,8.49,CSH,28 +VTS,1,1,360,0.88,CSH,6 +VTS,1,1,1260,11.33,CSH,33 +VTS,1,1,480,0.99,CSH,7 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,60,0.15,CSH,2.5 +VTS,1,1,420,1.79,CRD,7.5 +VTS,1,1,600,1.66,CSH,8.5 +VTS,1,1,600,1.77,CRD,9 +VTS,1,1,660,2.45,CRD,10.5 +VTS,1,1,60,0,CSH,3 +VTS,1,2,660,1.33,CSH,8.5 +VTS,1,2,240,1,CRD,5.5 +VTS,1,1,1140,7.03,CRD,22 +VTS,1,1,420,1.21,CRD,7 +VTS,1,1,540,1.61,CRD,8 +VTS,1,1,1140,6.17,CSH,21.5 +VTS,1,1,540,1.76,CRD,8.5 +VTS,1,1,180,0.52,CSH,4 +VTS,1,1,720,2.62,CRD,11.5 +VTS,1,1,240,1,CRD,5.5 +VTS,1,1,900,3.27,CRD,13 +VTS,1,1,240,0.72,CRD,5 +VTS,1,1,300,1.45,CRD,6.5 +VTS,2,2,3060,21.14,CRD,52 +VTS,1,3,1920,10.21,CSH,33.5 +VTS,1,3,1200,2.84,CRD,14.5 +VTS,1,3,1140,2.06,CSH,13 +VTS,1,1,420,1.91,CRD,8.5 +VTS,1,1,360,1.05,CRD,6.5 +VTS,1,1,540,1.97,CRD,9 +VTS,1,1,120,0.75,CRD,4 +VTS,1,1,540,1.58,CRD,8 +VTS,1,1,600,2.68,CSH,10.5 +VTS,1,1,660,3.07,CRD,12 +VTS,1,1,1620,7.62,CRD,26 +VTS,1,1,720,2.19,CRD,10.5 +VTS,1,1,540,1.17,CRD,7.5 +VTS,1,1,900,5.58,CSH,17.5 +VTS,1,1,180,1.22,CRD,5.5 +VTS,1,1,660,1.65,CSH,9 +VTS,1,1,360,1.28,CRD,6.5 +VTS,1,1,360,1.28,CRD,6.5 +VTS,1,1,960,6.59,CSH,21 +VTS,1,1,480,1.64,CRD,8.5 +VTS,1,1,720,3.65,CRD,12.5 +VTS,1,1,780,2.67,CRD,11 +VTS,1,1,600,3.54,CSH,12.5 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,1,480,1.17,CSH,7 +VTS,1,1,1320,9.17,CRD,27.5 +VTS,1,1,420,1.03,CSH,6.5 +VTS,1,1,1260,7.3,CRD,23 +VTS,1,1,240,0.98,CSH,5.5 +VTS,1,1,180,0.88,CRD,5 +VTS,1,1,480,1.15,CRD,7.5 +VTS,1,1,960,4.37,CSH,16 +VTS,1,1,900,4.09,CRD,14.5 +VTS,1,1,900,5.04,CRD,17 +VTS,1,1,840,3.18,CRD,13.5 +VTS,2,1,4680,20.92,CRD,52 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,420,1.58,CRD,7.5 +VTS,1,1,660,2.84,CRD,11.5 +VTS,1,1,660,2.7,CRD,10.5 +VTS,1,1,240,1.12,CRD,5.5 +VTS,1,1,600,3.46,CRD,12.5 +VTS,1,1,840,4.31,CRD,16 +VTS,1,1,540,1.91,CRD,9 +VTS,1,1,240,0.9,CSH,5.5 +VTS,1,1,1140,2.94,CSH,14.5 +VTS,1,1,1440,5.91,CRD,21.5 +VTS,1,1,120,0.75,CSH,4.5 +VTS,1,1,240,1.2,CSH,6 +VTS,1,1,660,1.46,CSH,8 +VTS,1,1,1140,3.4,CRD,15 +VTS,1,2,660,3.86,CRD,13.5 +VTS,1,1,480,1.7,CRD,8 +VTS,1,1,360,1.41,CRD,7 +VTS,1,2,360,1.41,CRD,6.5 +VTS,1,1,240,0.72,CRD,5 +VTS,1,1,1320,3.44,CSH,16.5 +VTS,1,1,240,1.18,CRD,6 +VTS,1,1,1020,2.7,CSH,13.5 +VTS,1,1,480,2.08,CRD,8.5 +VTS,1,1,720,2.56,CSH,11 +VTS,1,1,360,1.28,CRD,6.5 +VTS,1,1,2640,12.5,CSH,42.5 +VTS,2,1,1500,19.16,CSH,52 +VTS,1,1,420,1.53,CSH,7.5 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,780,7.05,CSH,21.5 +VTS,1,1,480,2.08,CSH,9 +VTS,1,1,420,1.39,CRD,7.5 +VTS,1,1,480,1.29,CSH,7.5 +VTS,1,1,420,1.13,CSH,7 +VTS,1,1,600,1.29,CRD,8 +VTS,1,1,660,1.24,CRD,8.5 +VTS,1,1,420,0.88,CSH,6 +VTS,1,1,420,1.48,CRD,7.5 +VTS,1,1,540,1.62,CSH,8 +VTS,1,1,900,7.98,CRD,23.5 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,1,480,1.94,CRD,9 +VTS,1,1,840,3.91,CRD,14.5 +VTS,2,3,1980,19.09,CRD,52 +VTS,1,1,420,1.14,CSH,7 +VTS,1,2,1020,3.28,CSH,14 +VTS,1,1,660,1.76,CRD,9 +VTS,1,1,660,1.76,CSH,9.5 +VTS,1,1,840,3.27,CRD,12.5 +VTS,1,1,660,2.1,CRD,9.5 +VTS,1,1,840,1.58,CRD,10.5 +VTS,1,1,960,5.24,CRD,18 +VTS,1,1,120,0.66,CRD,4 +VTS,1,3,360,1.01,CSH,6 +VTS,1,3,60,0.1,CSH,2.5 +VTS,1,3,600,1.38,CRD,8.5 +VTS,1,3,180,0.64,CSH,4.5 +VTS,1,3,1020,2.13,CSH,12 +VTS,1,3,1500,7.9,CSH,25 +VTS,1,4,1020,2.4,CSH,12.5 +VTS,1,3,780,2.07,CSH,10 +VTS,1,2,240,1.78,CRD,6.5 +VTS,1,2,1020,4.91,CRD,17.5 +VTS,1,3,420,1.74,CSH,7.5 +VTS,1,6,1200,1.35,CRD,13 +VTS,1,6,540,1.29,CSH,8 +VTS,1,2,720,2.13,CSH,10 +VTS,1,1,540,1.45,CSH,8 +VTS,1,1,120,0.59,CSH,4.5 +VTS,1,3,720,0.85,CRD,9 +VTS,1,3,420,1,CRD,6 +VTS,1,4,420,1.2,CSH,6.5 +VTS,2,3,3720,18.44,CRD,52 +VTS,1,2,1440,4.49,CSH,19 +VTS,1,6,900,2.25,CRD,11.5 +VTS,1,6,720,0.98,CSH,8.5 +VTS,1,1,300,1.01,CSH,6 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,240,0.98,CSH,5.5 +VTS,1,1,480,1.63,CRD,8 +VTS,1,2,480,0.96,CRD,7 +VTS,1,2,360,0.91,CSH,6 +VTS,1,3,240,1.08,CSH,5.5 +VTS,1,2,1080,4.17,CRD,15.5 +VTS,1,2,360,1.07,CRD,6.5 +VTS,1,3,300,1.57,CRD,6.5 +VTS,1,3,480,1.37,CRD,8 +VTS,1,3,1680,10.9,CRD,34.5 +VTS,1,2,600,0.82,CSH,8 +VTS,1,2,540,0.96,CSH,7.5 +VTS,1,3,2700,19.34,CSH,54.5 +VTS,1,2,840,2.28,CSH,11.5 +VTS,1,3,1080,3.95,CRD,15 +VTS,1,3,540,0.68,CRD,7 +VTS,1,2,720,1.36,CRD,9 +VTS,1,3,120,0.29,CSH,3.5 +VTS,1,1,1560,8.2,CSH,27 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,600,1.96,CRD,9 +VTS,1,1,660,2.06,CSH,9.5 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,1020,7.13,CRD,22.5 +VTS,1,1,1080,7.12,CSH,22.5 +VTS,1,1,540,1.61,CRD,8 +VTS,1,3,480,2.11,CSH,9 +VTS,1,3,480,1.15,CSH,7 +VTS,1,3,1080,5.34,CRD,18 +VTS,1,3,480,1.39,CRD,8 +VTS,1,3,300,0.89,CSH,5.5 +VTS,1,3,720,2.23,CSH,10.5 +VTS,1,2,240,0.85,CRD,5 +VTS,1,1,1500,5.36,CRD,21 +VTS,1,1,1680,2.37,CSH,18 +VTS,1,1,420,0.64,CRD,6 +VTS,1,1,1620,10.28,CRD,31 +VTS,1,2,180,0.44,CRD,4 +VTS,1,3,1080,2.07,CSH,12 +VTS,1,2,480,1.65,CRD,7.5 +VTS,1,3,420,1.12,CRD,6.5 +VTS,1,3,1980,7.83,CRD,29 +VTS,1,3,300,0.93,CSH,5.5 +VTS,1,2,1080,3.52,CSH,16 +VTS,1,3,840,2.5,CRD,11.5 +VTS,1,1,600,2.39,CRD,10 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,1560,4,CRD,18.5 +VTS,1,1,1740,9.53,CSH,32 +VTS,1,2,420,1.69,CSH,8 +VTS,1,2,1320,10.22,CRD,30 +VTS,1,2,420,2.17,CSH,8.5 +VTS,1,3,420,2.29,CSH,8.5 +VTS,1,3,420,1.03,CSH,6.5 +VTS,1,2,480,1.73,CRD,8 +VTS,1,2,720,2.02,CRD,10 +VTS,1,2,660,1.91,CSH,9.5 +VTS,1,2,960,3.24,CRD,14 +VTS,1,3,720,1.29,CSH,9 +VTS,1,2,540,0.73,CSH,7.5 +VTS,1,2,540,0.91,CSH,7.5 +VTS,1,2,780,1.42,CSH,10 +VTS,1,3,1500,2.53,CSH,16.5 +VTS,1,3,240,1.04,CRD,5.5 +VTS,1,4,420,1.22,CSH,7 +VTS,1,3,600,1.85,CRD,9 +VTS,1,3,360,0.85,CSH,6 +VTS,1,3,1080,1.14,CRD,11.5 +VTS,1,2,660,0.9,CSH,8.5 +VTS,1,2,360,0.86,CRD,5.5 +VTS,1,1,720,1.61,CRD,10 +VTS,1,1,240,1.22,CRD,6 +VTS,1,1,120,0.75,CSH,4 +VTS,1,3,1920,19.94,CRD,54.5 +VTS,1,3,180,0.99,CSH,5 +VTS,1,3,240,0.85,CSH,5 +VTS,1,3,720,1.85,CSH,9.5 +VTS,1,3,840,2.37,CRD,11 +VTS,1,3,300,0.81,CRD,5 +VTS,1,2,540,2.49,CRD,10 +VTS,1,3,540,1.59,CRD,8 +VTS,1,1,420,1.32,CRD,7 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,1260,2.15,CSH,14.5 +VTS,1,2,1560,4.33,CSH,18.5 +VTS,1,2,420,2.03,CSH,8.5 +VTS,1,2,180,1.31,CRD,5.5 +VTS,1,3,540,2.15,CSH,9 +VTS,1,2,2460,12.19,CSH,41 +VTS,2,3,2880,19.03,CSH,52 +VTS,1,2,1740,3.53,CSH,20 +VTS,1,3,540,0.98,CSH,7 +VTS,1,2,420,1.94,CRD,8 +VTS,1,1,540,1.3,CRD,8 +VTS,1,3,960,2.4,CSH,12 +VTS,1,3,1320,6.22,CRD,21.5 +VTS,1,3,1500,10.1,CSH,31 +VTS,1,1,300,1.49,CSH,6.5 +VTS,1,3,300,0.64,CSH,5 +VTS,1,2,1140,3.54,CRD,15 +VTS,1,3,660,2.81,CRD,10.5 +VTS,1,3,420,1.5,CRD,7.5 +VTS,1,2,540,1.83,CRD,8.5 +VTS,1,3,780,1.85,CSH,10 +VTS,1,2,300,1.64,CRD,7 +VTS,1,2,540,0.97,CSH,7 +VTS,1,2,720,2.01,CRD,10 +VTS,1,3,1380,3.22,CSH,17 +VTS,1,2,960,4.39,CSH,16 +VTS,1,3,600,1.44,CRD,8.5 +VTS,1,4,1860,9.48,CRD,30.5 +VTS,1,2,300,1.05,CSH,5.5 +VTS,1,3,180,0.97,CSH,5 +VTS,1,3,240,1.01,CSH,5 +VTS,1,3,480,1.43,CRD,7.5 +VTS,1,4,1140,3.33,CSH,16 +VTS,1,3,660,2.19,CSH,10.5 +VTS,1,3,960,1.95,CRD,12 +VTS,1,3,660,1.63,CSH,9 +VTS,1,3,960,3.18,CSH,13.5 +VTS,1,2,720,0.88,CSH,8.5 +VTS,1,3,360,1.45,CRD,7 +VTS,1,2,300,0.92,CSH,6 +VTS,1,1,420,0.95,CSH,6 +VTS,1,1,720,3.96,CRD,13.5 +VTS,1,1,840,4.11,CSH,14.5 +VTS,1,1,720,6.39,CSH,19.5 +VTS,1,1,600,3.35,CRD,12 +VTS,1,1,300,1.99,CRD,7.5 +VTS,1,2,360,1.45,CSH,7 +VTS,1,1,420,1.55,CSH,7 +VTS,1,1,540,2.15,CRD,9 +VTS,1,1,720,2.59,CSH,11.5 +VTS,1,1,720,4.69,CSH,15.5 +VTS,1,1,420,1.68,CRD,7.5 +VTS,1,1,420,0.9,CRD,6.5 +VTS,1,1,300,1.41,CSH,6.5 +VTS,1,1,900,4.3,CSH,15.5 +VTS,5,1,3000,36.85,CRD,175 +VTS,1,1,660,2.92,CRD,11.5 +VTS,1,1,720,2.09,CRD,10.5 +VTS,1,1,840,1.85,CSH,10.5 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,1,780,3.23,CSH,12 +VTS,1,1,480,1.19,CSH,7 +VTS,1,1,300,0.72,CRD,5 +VTS,1,1,1020,4.74,CRD,16 +VTS,1,1,300,1.12,CRD,6 +VTS,1,1,300,1.2,CRD,6.5 +VTS,1,3,1200,3.21,CRD,14.5 +VTS,1,3,480,1.47,CSH,7.5 +VTS,1,3,300,1.37,CSH,6.5 +VTS,1,3,480,1.58,CRD,8 +VTS,1,3,120,0.66,CSH,4.5 +VTS,1,3,540,1.21,CSH,7 +VTS,2,3,2220,16.58,CSH,52 +VTS,1,2,1200,1.5,CSH,13 +VTS,1,6,180,0.95,CSH,4.5 +VTS,1,6,600,1.54,CRD,8.5 +VTS,1,1,540,1.75,CRD,8.5 +VTS,1,1,480,1.17,CRD,7 +VTS,1,1,1380,10.65,CRD,30.5 +VTS,1,1,1200,9.12,CRD,27.5 +VTS,1,1,480,0.91,CSH,6.5 +VTS,1,1,1440,10.01,CRD,30 +VTS,1,1,1500,8.59,CRD,27.5 +VTS,1,1,660,1.71,CRD,8.5 +VTS,1,1,540,1.12,CSH,7 +VTS,1,2,1380,3.03,CRD,16 +VTS,1,2,240,0.66,CSH,5 +VTS,1,2,300,0.93,CSH,5.5 +VTS,1,3,300,1.2,CSH,6 +VTS,1,2,2220,12.1,CRD,39 +VTS,1,1,360,0.68,CSH,5.5 +VTS,1,2,300,1.25,CRD,6 +VTS,1,2,1020,1.88,CRD,12 +VTS,1,3,480,1.26,CRD,7 +VTS,1,2,480,1.48,CSH,8 +VTS,1,2,420,1.26,CRD,7 +VTS,1,2,420,1.38,CRD,7 +VTS,1,2,120,0.5,CRD,4 +VTS,1,2,360,0.97,CSH,6 +VTS,1,2,660,1.23,CRD,8.5 +VTS,1,2,300,0.44,CSH,5 +VTS,1,3,1200,2.55,CRD,14 +VTS,1,3,1560,8.79,CRD,28 +VTS,1,2,360,0.92,CSH,6 +VTS,1,3,720,0.95,CRD,8.5 +VTS,1,2,1020,1.59,CRD,11.5 +VTS,1,3,180,0.81,CRD,4.5 +VTS,1,2,600,3.1,CRD,11 +VTS,1,3,1020,2.96,CSH,13.5 +VTS,1,3,1440,2.86,CRD,17 +VTS,1,2,360,2.09,CSH,8 +VTS,1,2,180,1.18,CSH,5.5 +VTS,1,3,480,1.22,CRD,7.5 +VTS,1,2,420,1.95,CSH,8 +VTS,1,3,840,1.92,CRD,10.5 +VTS,1,3,420,0.97,CRD,6.5 +VTS,1,3,60,0.38,CRD,3.5 +VTS,1,2,540,1.71,CRD,8.5 +VTS,1,3,300,1.07,CSH,6 +VTS,1,3,240,0.58,CSH,4.5 +VTS,1,3,480,1.42,CSH,7.5 +VTS,2,3,3960,21.04,CRD,52 +VTS,1,3,120,0.52,CSH,4 +VTS,1,3,420,1.05,CSH,6.5 +VTS,1,3,2280,15.49,CRD,43.5 +VTS,1,4,360,1.04,CRD,6 +VTS,1,1,720,1.68,CRD,9.5 +VTS,1,2,840,1.59,CSH,10.5 +VTS,1,2,360,1.16,CRD,6 +VTS,1,1,240,0.81,CRD,5 +VTS,1,2,480,2.54,CSH,9.5 +VTS,1,2,600,1.76,CRD,8.5 +VTS,1,3,660,1.94,CRD,9.5 +VTS,1,3,1440,9.19,CRD,28.5 +VTS,1,3,360,1.15,CSH,6 +VTS,1,2,840,3.38,CRD,12.5 +VTS,1,2,720,2.83,CSH,12 +VTS,1,3,540,1.63,CRD,8 +VTS,1,2,480,0.94,CRD,7 +VTS,1,2,240,0.63,CRD,4.5 +VTS,1,2,960,2.1,CRD,11.5 +VTS,1,2,600,0.89,CRD,7.5 +VTS,1,3,480,0.85,CSH,7 +VTS,1,4,540,1.09,CRD,7.5 +VTS,1,3,1020,1.56,CRD,11.5 +VTS,1,3,1620,4.24,CRD,19 +VTS,1,2,240,0.75,CRD,5 +VTS,1,3,960,1.57,CSH,11 +VTS,1,3,600,1.22,CRD,8 +VTS,1,3,1860,5.77,CRD,23.5 +VTS,1,2,1440,5.46,CSH,21.5 +VTS,1,3,600,1.51,CSH,8.5 +VTS,1,3,1680,9.3,CRD,29 +VTS,1,3,120,0.51,CSH,4 +VTS,1,3,600,0.85,CRD,7.5 +VTS,1,3,480,2.41,CSH,9 +VTS,1,2,480,1.6,CRD,7.5 +VTS,1,3,420,0.89,CRD,6.5 +VTS,1,2,360,1.1,CRD,6 +VTS,1,2,1140,5.06,CSH,18 +VTS,1,2,1440,10.55,CSH,31.5 +VTS,1,2,2580,12.01,CRD,41 +VTS,1,2,300,0.83,CSH,5.5 +VTS,1,1,540,2.55,CRD,10 +VTS,1,2,480,1.7,CRD,7.5 +VTS,1,2,540,1.28,CSH,8 +VTS,1,2,420,1.38,CSH,7 +VTS,1,3,780,3.73,CSH,13.5 +VTS,5,2,1200,11.98,CRD,107 +VTS,1,2,360,1.08,CRD,6.5 +VTS,1,3,1800,11.43,CRD,36 +VTS,1,3,240,0.68,CRD,5 +VTS,1,3,1080,2.98,CSH,14 +VTS,1,3,540,2.29,CSH,9.5 +VTS,1,3,360,1.92,CRD,7.5 +VTS,1,2,360,1.55,CRD,7 +VTS,1,1,960,1.87,CSH,11.5 +VTS,5,3,1680,15.84,CRD,56 +VTS,1,2,480,1.33,CRD,7 +VTS,1,2,660,2.96,CRD,11.5 +VTS,1,3,480,1.67,CSH,7.5 +VTS,1,2,900,5.2,CSH,17.5 +VTS,1,2,360,0.97,CSH,5.5 +VTS,1,2,1680,10.02,CRD,31 +VTS,1,2,1560,2.88,CRD,17 +VTS,1,2,240,0.65,CSH,4.5 +VTS,1,4,720,2.18,CSH,10 +VTS,1,4,480,1.69,CRD,8 +VTS,2,5,2160,14.76,CRD,52 +VTS,1,5,480,1.24,CSH,7 +VTS,1,5,360,0.66,CSH,5.5 +VTS,1,4,240,0.76,CSH,4.5 +VTS,1,4,960,2.79,CRD,13 +VTS,1,5,240,0.74,CRD,5 +VTS,1,4,600,1.87,CSH,9 +VTS,1,4,360,1.01,CSH,6 +VTS,1,3,600,0.98,CRD,7.5 +VTS,1,2,480,1.71,CRD,7.5 +VTS,1,2,1080,4.45,CSH,16 +VTS,1,2,1140,1.96,CRD,12.5 +VTS,1,3,480,1.3,CRD,7.5 +VTS,1,2,600,1.03,CSH,8 +VTS,1,2,780,1.96,CRD,10.5 +VTS,1,2,60,0.14,CSH,2.5 +VTS,1,2,1080,1.33,CRD,11.5 +VTS,1,2,840,1.29,CRD,9.5 +VTS,1,3,540,1.33,CSH,7 +VTS,1,5,840,4.71,CSH,16.5 +VTS,1,5,2040,6.44,CRD,26 +VTS,1,4,300,1.34,CRD,6 +VTS,1,5,1260,10.81,CSH,31 +VTS,1,4,480,1.19,CRD,7 +VTS,1,5,600,2.54,CSH,10 +VTS,1,5,600,2.27,CRD,9.5 +VTS,1,4,840,2.89,CRD,12.5 +VTS,1,4,240,0.58,CRD,4.5 +VTS,1,4,720,4.18,CRD,14 +VTS,1,4,420,1.75,CRD,7.5 +VTS,1,5,1020,11.97,CSH,33 +VTS,1,6,1560,16.51,CRD,46.5 +VTS,1,6,420,1.13,CRD,7 +VTS,1,6,420,1.74,CRD,7.5 +VTS,1,3,1740,9.49,CSH,29 +VTS,1,3,360,1.09,CRD,6.5 +VTS,1,3,420,1.19,CSH,7 +VTS,1,3,780,2.33,CRD,11 +VTS,1,2,420,0.85,CRD,6.5 +VTS,1,1,780,1.43,CSH,9.5 +VTS,1,1,60,0.5,CSH,3.5 +VTS,1,2,480,1.09,CSH,7 +VTS,1,2,660,1.86,CRD,9.5 +VTS,1,2,660,1.23,CSH,8.5 +VTS,1,1,540,0.88,CRD,7 +VTS,1,1,1500,8.05,CSH,27 +VTS,1,2,360,0.91,CRD,6 +VTS,1,2,840,2.83,CSH,12 +VTS,1,2,1200,4.26,CRD,17 +VTS,1,3,780,3.23,CRD,13 +VTS,1,2,1560,12.23,CSH,34.5 +VTS,1,2,480,1.39,CSH,8 +VTS,1,2,1320,3.53,CRD,16 +VTS,1,3,540,0.83,CRD,7.5 +VTS,1,3,780,1.7,CSH,10 +VTS,1,4,960,6.72,CSH,21 +VTS,1,5,360,0.77,CRD,5.5 +VTS,1,4,600,2.36,CRD,10.5 +VTS,1,5,600,1.67,CSH,9 +VTS,1,4,240,0.95,CRD,5 +VTS,1,1,360,0.67,CRD,6 +VTS,1,2,2220,7.61,CRD,29.5 +VTS,1,2,1560,9.89,CSH,30.5 +VTS,2,2,2280,17.32,CSH,52 +VTS,1,2,660,2.07,CRD,9.5 +VTS,1,3,420,0.77,CSH,6 +VTS,1,3,1200,4.55,CRD,18 +VTS,1,3,1020,2.31,CSH,12.5 +VTS,1,3,120,0.28,CSH,3.5 +VTS,1,3,120,0.25,CSH,3 +VTS,1,3,660,5,CRD,16 +VTS,1,4,300,1.31,CSH,6.5 +VTS,1,4,420,1.23,CSH,6.5 +VTS,1,3,120,0.46,CSH,3.5 +VTS,1,2,180,0.74,CRD,4.5 +VTS,1,4,120,0.66,CSH,4 +VTS,1,3,540,1.64,CRD,8.5 +VTS,1,3,540,1.55,CSH,9 +VTS,1,2,600,1.41,CRD,8 +VTS,1,2,2640,15.85,CRD,47 +VTS,1,1,0,0.04,CRD,2.5 +VTS,1,2,480,1.57,CRD,8 +VTS,1,2,360,0.84,CSH,5.5 +VTS,1,2,1140,4.27,CRD,16.5 +VTS,1,2,420,1.12,CSH,6 +VTS,1,2,720,3.09,CSH,12 +VTS,1,3,480,1.26,CRD,6.5 +VTS,1,4,540,2.14,CSH,9.5 +VTS,1,5,240,0.62,CRD,4.5 +VTS,2,5,1380,16.44,CSH,52 +VTS,1,6,540,3.34,CRD,11 +VTS,1,5,1980,10.89,CSH,35 +VTS,1,5,720,3.54,CRD,13.5 +VTS,1,5,780,4.15,CRD,14.5 +VTS,1,5,360,1.23,CRD,7 +VTS,1,5,600,3.93,CRD,13 +VTS,1,5,240,0.8,CRD,5.5 +VTS,1,5,960,5.28,CRD,18 +VTS,1,6,480,1.67,CSH,8 +VTS,1,5,780,2.43,CSH,11 +VTS,1,5,180,0.57,CSH,4.5 +VTS,1,5,420,1.7,CRD,7.5 +VTS,2,5,1560,17.75,CRD,52 +VTS,1,6,240,1.22,CRD,5.5 +VTS,1,5,840,4.3,CRD,14.5 +VTS,1,6,480,1.69,CRD,8 +VTS,1,5,420,2.07,CRD,8 +VTS,1,5,960,8.45,CSH,25 +VTS,1,5,600,2.97,CRD,11.5 +VTS,1,6,480,1.35,CSH,7.5 +VTS,1,5,900,8.36,CRD,23.5 +VTS,1,5,240,0.79,CSH,4.5 +VTS,1,5,780,3.82,CRD,13.5 +VTS,1,2,1080,2.1,CRD,12.5 +VTS,1,4,1860,6.48,CRD,24.5 +VTS,1,5,240,0.94,CRD,5 +VTS,1,5,300,0.78,CRD,5.5 +VTS,1,5,1260,9.14,CSH,29 +VTS,1,5,480,2.36,CSH,9.5 +VTS,1,5,660,1.77,CSH,9 +VTS,1,4,420,1.31,CRD,7 +VTS,1,4,1380,4.5,CRD,19.5 +VTS,1,4,120,0.48,CRD,3.5 +VTS,1,5,360,1.25,CRD,6.5 +VTS,1,4,480,1.54,CSH,7.5 +VTS,1,4,720,2.84,CSH,11.5 +VTS,1,5,1800,5.97,CRD,23.5 +VTS,1,5,960,3.58,CSH,14.5 +VTS,1,5,720,3.54,CSH,13.5 +VTS,1,6,120,0.65,CRD,4 +VTS,1,5,900,9.12,CRD,26.5 +VTS,2,5,2700,18.36,CRD,52 +VTS,1,6,720,4.23,CRD,13.5 +VTS,1,6,180,0.97,CSH,4.5 +VTS,1,6,240,1,CRD,5.5 +VTS,1,6,660,1.51,CSH,9.5 +VTS,1,5,240,1.1,CSH,6 +VTS,1,6,120,0.56,CSH,4 +VTS,1,5,420,1.62,CSH,7.5 +VTS,1,3,360,0.93,CSH,5.5 +VTS,1,4,480,1.71,CRD,8 +VTS,1,3,960,3.23,CRD,13.5 +VTS,1,3,1380,6.34,CRD,22 +VTS,1,3,1440,10.24,CRD,29.5 +VTS,1,3,420,0.83,CRD,6 +VTS,1,3,1200,8.86,CSH,26.5 +VTS,1,3,1500,11.93,CSH,34 +VTS,1,3,480,0.91,CRD,6 +VTS,1,3,1080,2.51,CSH,11.5 +VTS,1,3,360,1.3,CSH,6.5 +VTS,1,2,240,0.97,CSH,5.5 +VTS,1,6,360,0.92,CSH,6 +VTS,1,1,2160,5.01,CRD,24.5 +VTS,1,1,120,0.6,CRD,4 +VTS,2,1,2640,17.96,CRD,52 +VTS,1,1,420,0.92,CRD,6.5 +VTS,1,2,120,0.5,CRD,4 +VTS,1,2,1140,3.17,CRD,15 +VTS,1,2,480,1.27,CSH,7 +VTS,1,2,1380,9.94,CRD,29.5 +VTS,1,4,480,1.97,CSH,8.5 +VTS,1,2,540,1.45,CSH,8 +VTS,1,3,180,0.6,CSH,4 +VTS,1,1,360,0.7,CSH,6 +VTS,1,3,1920,5.07,CSH,22.5 +VTS,1,3,780,2.63,CRD,11 +VTS,1,3,360,0.64,CSH,5.5 +VTS,1,2,780,4.55,CSH,15.5 +VTS,1,3,300,0.97,CRD,5.5 +VTS,1,3,960,6.47,CRD,21 +VTS,1,3,1620,11.08,CRD,34 +VTS,1,2,180,0.8,CRD,4.5 +VTS,1,3,360,1.21,CRD,6 +VTS,1,2,420,1.41,CRD,7.5 +VTS,1,2,600,1.56,CRD,8.5 +VTS,1,2,360,0.72,CSH,6 +VTS,1,3,180,0.4,CSH,4.5 +VTS,1,2,180,0.54,CSH,4 +VTS,1,3,540,1.07,CSH,7 +VTS,1,2,540,1.34,CRD,8 +VTS,1,2,720,2.34,CSH,10.5 +VTS,1,2,840,2.5,CSH,11.5 +VTS,1,2,540,0.95,CSH,7 +VTS,1,2,600,0.95,CRD,7.5 +VTS,1,2,780,2.45,CSH,11.5 +VTS,1,3,420,1.67,CSH,8 +VTS,1,2,360,1.05,CSH,6.5 +VTS,1,3,540,1.52,CRD,8 +VTS,1,2,480,0.94,CRD,7 +VTS,1,3,660,3.57,CRD,13.5 +VTS,1,4,780,2.43,CSH,11 +VTS,1,3,540,1.19,CSH,7 +VTS,1,3,1740,9.27,CSH,30.5 +VTS,1,3,540,1.83,CRD,9 +VTS,1,3,720,2.71,CSH,11.5 +VTS,1,3,360,0.8,CSH,5.5 +VTS,1,3,600,1.15,CSH,8 +VTS,1,3,180,0.85,CSH,4.5 +VTS,1,3,660,2.06,CSH,9.5 +VTS,1,3,1080,4.85,CSH,17 +VTS,1,2,660,1.11,CSH,9 +VTS,1,3,900,2.62,CRD,12.5 +VTS,1,2,1740,6.03,CRD,24 +VTS,1,1,360,1.26,CSH,7 +VTS,1,2,840,3.45,CRD,13.5 +VTS,1,2,2040,10.96,CRD,36 +VTS,1,2,1200,7.83,CRD,24.5 +VTS,1,1,180,0.55,CRD,4.5 +VTS,1,3,720,2.98,CRD,11.5 +VTS,1,3,720,2.07,CRD,10 +VTS,2,3,2880,17.5,CSH,52 +VTS,1,2,240,0.83,CSH,5 +VTS,1,2,360,1.41,CRD,7 +VTS,1,3,360,1.54,CRD,7 +VTS,1,1,180,1.5,CRD,6 +VTS,1,2,1140,1.41,CRD,12.5 +VTS,1,2,660,1.56,CRD,8.5 +VTS,1,3,1920,10.81,CSH,34 +VTS,1,2,540,0.93,CSH,7 +VTS,1,3,1320,2.39,CSH,14.5 +VTS,1,3,1200,2.74,CSH,14 +VTS,1,3,240,0.42,CSH,4 +VTS,1,2,1260,2.41,CSH,14.5 +VTS,1,2,540,1.57,CRD,8 +VTS,1,3,1620,11.58,CSH,34 +VTS,1,2,360,0.62,CRD,6 +VTS,1,2,960,1.95,CSH,12 +VTS,1,2,1800,3.26,CRD,19.5 +VTS,1,4,600,2.47,CSH,10.5 +VTS,1,4,180,0.51,CSH,4 +VTS,1,5,840,2.09,CSH,10.5 +VTS,1,5,480,0.84,CSH,6.5 +VTS,1,4,840,2.77,CRD,11.5 +VTS,1,5,300,0.62,CRD,5 +VTS,1,5,480,1.83,CRD,8 +VTS,1,4,720,3.12,CRD,12.5 +VTS,1,5,840,7.58,CSH,22.5 +VTS,1,6,240,0.82,CRD,5 +VTS,1,6,660,2.3,CRD,10 +VTS,1,5,1500,9.12,CRD,29.5 +VTS,1,5,420,0.89,CRD,6.5 +VTS,1,5,480,2.08,CRD,9 +VTS,1,5,840,5.13,CSH,16.5 +VTS,1,3,360,1.69,CRD,7 +VTS,1,2,780,0.51,CRD,9 +VTS,1,2,780,1.05,CRD,9.5 +VTS,1,2,420,1.25,CRD,7 +VTS,1,3,660,1.43,CRD,8.5 +VTS,1,3,1560,3.26,CRD,17.5 +VTS,1,3,840,3.38,CRD,13 +VTS,1,3,960,1.52,CSH,11.5 +VTS,1,4,1260,8.89,CSH,27.5 +VTS,1,3,180,0.84,CSH,5 +VTS,1,2,1020,4.35,CSH,16.5 +VTS,1,3,1560,4.24,CRD,19.5 +VTS,2,2,2040,18.68,CRD,52 +VTS,1,2,660,1.09,CRD,8.5 +VTS,1,2,420,1.44,CRD,7.5 +VTS,1,2,360,1.15,CRD,6 +VTS,1,3,360,1.13,CSH,6.5 +VTS,1,2,960,4.03,CRD,15 +VTS,1,2,2340,12.8,CRD,40.5 +VTS,1,3,120,0.64,CRD,4.5 +VTS,1,2,360,1.54,CSH,6.5 +VTS,1,2,660,3.13,CRD,12 +VTS,1,3,240,1.12,CRD,5.5 +VTS,1,2,720,1.84,CSH,10 +VTS,1,2,1920,9.97,CSH,33.5 +VTS,1,2,1500,4.38,CSH,19.5 +VTS,1,2,1080,3.97,CRD,16.5 +VTS,1,2,1500,3.63,CRD,18.5 +VTS,1,2,1140,2,CRD,13 +VTS,1,2,360,0.88,CSH,6 +VTS,1,1,780,3.19,CSH,12.5 +VTS,1,2,120,0.67,CSH,4 +VTS,1,3,960,0.8,CSH,10.5 +VTS,1,2,540,1.44,CSH,8.5 +VTS,1,2,420,1.3,CSH,7 +VTS,2,2,1680,18.04,CRD,52 +VTS,1,2,540,1.31,CRD,7.5 +VTS,1,5,180,0.59,CSH,4 +VTS,1,5,1200,4.97,CRD,17.5 +VTS,1,5,660,3.23,CSH,12 +VTS,1,5,240,0.61,CRD,5 +VTS,1,5,540,3.03,CRD,11.5 +VTS,1,4,240,0.81,CSH,5 +VTS,1,4,240,1.08,CSH,5.5 +VTS,1,5,1380,6.12,CRD,21.5 +VTS,1,6,1080,1.75,CSH,13 +VTS,1,6,120,0.32,CSH,3.5 +VTS,1,5,300,0.94,CRD,5.5 +VTS,1,6,420,1.62,CRD,8 +VTS,1,6,420,3.4,CRD,12 +VTS,1,5,180,0.51,CRD,4 +VTS,1,5,660,4.02,CRD,14 +VTS,1,2,600,1.9,CRD,9 +VTS,1,3,180,0.76,CRD,5 +VTS,1,2,360,1.11,CSH,6.5 +VTS,1,2,420,1.76,CSH,8.5 +VTS,1,2,600,1.43,CSH,8 +VTS,1,2,840,1.91,CRD,11 +VTS,1,2,300,1.09,CSH,5.5 +VTS,1,2,660,1.63,CSH,9.5 +VTS,1,2,840,2.52,CRD,12 +VTS,1,2,1020,2.77,CRD,14 +VTS,2,3,4320,18.04,CRD,52 +VTS,1,2,420,0.96,CRD,6.5 +VTS,1,2,1020,2.5,CRD,12.5 +VTS,1,5,300,1.06,CRD,5.5 +VTS,1,5,420,1.26,CSH,7 +VTS,1,5,540,1.74,CRD,8 +VTS,1,5,60,0.53,CSH,3.5 +VTS,1,5,720,2.17,CRD,10 +VTS,1,4,1140,4.85,CRD,17 +VTS,5,1,660,3.54,CRD,60 +VTS,1,4,480,0.99,CRD,7 +VTS,1,4,360,1.58,CRD,7.5 +VTS,1,4,480,2.12,CRD,8.5 +VTS,1,5,900,2.2,CSH,11 +VTS,1,5,1080,5.76,CRD,20 +VTS,1,6,480,0.6,CRD,6.5 +VTS,1,5,360,1.34,CSH,6.5 +VTS,1,4,300,0.46,CSH,5 +VTS,1,4,480,1.57,CSH,7.5 +VTS,1,5,840,6.47,CSH,19.5 +VTS,1,5,480,1.71,CSH,8 +VTS,1,5,360,1.72,CSH,7.5 +VTS,1,5,720,3.85,CSH,13 +VTS,1,4,1740,5.83,CRD,23 +VTS,1,4,360,1.38,CRD,6.5 +VTS,1,4,1020,5.57,CSH,18.5 +VTS,1,5,1560,14.42,CRD,40 +VTS,1,6,840,6.24,CRD,20 +VTS,1,6,120,0.72,CSH,4 +VTS,1,5,480,3.4,CRD,11 +VTS,1,6,180,1.14,CSH,5.5 +VTS,1,5,420,1.87,CSH,8 +VTS,1,5,540,2.07,CRD,9 +VTS,1,5,420,1.36,CRD,7.5 +VTS,1,5,780,2.91,CSH,12 +VTS,1,6,1020,5.93,CSH,19.5 +VTS,1,5,120,0.87,CSH,4.5 +VTS,1,6,3060,22.64,CSH,65 +VTS,1,5,540,1.85,CRD,8.5 +VTS,1,5,300,0.98,CSH,5.5 +VTS,1,5,1140,6.37,CRD,20.5 +VTS,1,5,240,0.73,CRD,5 +VTS,1,5,840,2.52,CSH,12 +VTS,1,5,180,0.76,CSH,4.5 +VTS,1,6,240,0.79,CRD,5 +VTS,1,5,300,1.11,CRD,6 +VTS,1,5,360,2.17,CRD,8.5 +VTS,1,6,1260,5.45,CRD,19.5 +VTS,1,5,360,0.85,CSH,6 +VTS,1,5,60,0.36,CSH,3.5 +VTS,1,5,840,5.28,CSH,16.5 +VTS,1,5,660,3.88,CRD,13.5 +VTS,1,5,1140,8.66,CSH,26 +VTS,1,5,720,6.84,CRD,20.5 +VTS,2,5,2100,21.61,CSH,52 +VTS,1,5,720,2.76,CSH,11.5 +VTS,1,5,300,1.19,CSH,6.5 +VTS,1,5,1680,6.73,CRD,24.5 +VTS,1,5,120,0.39,CRD,3.5 +VTS,1,5,1020,5.79,CRD,18.5 +VTS,1,1,1800,10.85,CRD,34 +VTS,1,2,1500,5.09,CRD,19.5 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,2,420,2.17,CSH,8 +VTS,1,1,1080,1.27,CSH,11.5 +VTS,1,1,420,2.16,CSH,8.5 +VTS,1,1,720,2.22,CRD,10 +VTS,1,1,720,3.19,CSH,11.5 +VTS,1,5,660,2.39,CSH,10 +VTS,1,6,600,1.73,CSH,9 +VTS,1,5,960,3.38,CRD,13.5 +VTS,1,5,240,0.88,CSH,5 +VTS,1,5,360,1.69,CRD,7 +VTS,1,6,540,2.16,CRD,9 +VTS,1,5,480,2.36,CSH,9 +VTS,1,5,780,4.76,CSH,15 +VTS,1,6,240,1.03,CRD,5 +VTS,1,5,180,0.58,CRD,4 +VTS,1,5,840,9.84,CRD,27 +VTS,1,5,840,5.68,CRD,17.5 +VTS,1,5,240,0.34,CRD,4.5 +VTS,1,5,180,0.47,CRD,4 +VTS,1,1,1140,5.74,CSH,20 +VTS,1,2,1140,5.13,CRD,18.5 +VTS,1,1,120,0.31,CSH,3.5 +VTS,1,1,660,2.01,CRD,10 +VTS,3,2,1680,13.73,CRD,56 +VTS,5,1,60,0,CRD,65 +VTS,1,1,480,3.19,CRD,10.5 +VTS,1,1,540,1.86,CRD,8.5 +VTS,1,1,300,1.5,CSH,6 +VTS,1,1,600,2.99,CSH,11 +VTS,1,3,360,1.63,CRD,7 +VTS,1,2,1680,12.14,CRD,36 +VTS,1,6,540,2.28,CSH,9.5 +VTS,1,6,780,3.45,CSH,13 +VTS,1,5,360,1.31,CSH,7 +VTS,1,5,300,0.81,CRD,5.5 +VTS,1,5,2100,14.51,CSH,41.5 +VTS,1,5,660,3.07,CRD,11.5 +VTS,1,6,780,2.9,CSH,12.5 +VTS,1,6,660,1.03,CRD,8 +VTS,1,5,1320,7.89,CRD,24.5 +VTS,1,5,360,1.23,CRD,6.5 +VTS,1,5,600,1.22,CSH,8 +VTS,1,5,360,1.97,CRD,7.5 +VTS,1,5,300,1.12,CRD,6 +VTS,1,5,1080,10.29,CSH,29 +VTS,1,5,180,0.8,CSH,4.5 +VTS,1,5,300,1.15,CSH,6.5 +VTS,1,5,540,1.43,CRD,8 +VTS,1,5,600,1.34,CRD,8 +VTS,1,5,180,0.81,CRD,4.5 +VTS,1,5,60,0.52,CRD,3.5 +VTS,1,2,660,2.07,CSH,9.5 +VTS,1,2,360,1.05,CSH,6.5 +VTS,1,4,600,2.19,CRD,9.5 +VTS,5,1,60,0,CRD,45 +VTS,1,1,480,1.54,CRD,7.5 +VTS,1,1,300,1.27,CSH,6.5 +VTS,1,2,720,1.91,CSH,10 +VTS,1,2,1140,4.79,CRD,17.5 +VTS,1,1,240,0.6,CSH,5 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,600,2.65,CRD,10 +VTS,1,2,540,0.78,CSH,7.5 +VTS,1,2,1080,5,CSH,18 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,780,1.57,CSH,9 +VTS,1,1,720,2.45,CRD,11 +VTS,1,1,600,0.83,CSH,7.5 +VTS,1,1,540,1.28,CRD,7.5 +VTS,1,1,960,2.85,CRD,12.5 +VTS,2,2,1680,17.08,CRD,52 +VTS,1,5,1320,9.49,CRD,28.5 +VTS,1,1,1080,3.14,CRD,14 +VTS,1,1,480,2.41,CRD,9.5 +VTS,1,1,600,1.41,CRD,8 +VTS,1,1,600,2.03,CSH,9.5 +VTS,1,1,480,0.94,CRD,7 +VTS,1,1,540,1.72,CSH,8 +VTS,1,1,1020,3.34,CSH,14.5 +VTS,1,1,360,0.68,CRD,6 +VTS,1,1,60,0.1,CSH,3 +VTS,1,1,1020,2.9,CSH,14 +VTS,1,1,1500,3.05,CRD,18.5 +VTS,1,6,900,3.01,CRD,14 +VTS,1,5,1260,8.04,CRD,25 +VTS,1,5,1200,5.49,CRD,19 +VTS,1,5,420,1.07,CRD,7 +VTS,1,5,300,0.9,CSH,5.5 +VTS,1,5,360,1.77,CRD,7.5 +VTS,1,5,480,2.61,CRD,10 +VTS,1,6,180,0.91,CSH,5 +VTS,1,5,540,3.87,CRD,13 +VTS,1,5,480,3.19,CRD,11 +VTS,1,5,660,2.24,CRD,10 +VTS,1,5,1680,7.88,CSH,27.5 +VTS,1,5,660,2.38,CSH,10.5 +VTS,1,2,480,2.78,CSH,10 +VTS,1,1,660,2.1,CSH,10 +VTS,1,5,1800,23.57,CSH,63.5 +VTS,1,1,300,1.21,CRD,6 +VTS,1,1,660,1.35,CRD,8 +VTS,1,1,600,1.25,CRD,8 +VTS,1,1,1020,5.75,CRD,19.5 +VTS,1,1,720,2.6,CSH,11 +VTS,1,2,540,1.99,CRD,8.5 +VTS,1,2,180,0.53,CSH,4 +VTS,1,4,540,1.2,CSH,7.5 +VTS,1,1,660,2.94,CSH,11.5 +VTS,1,1,420,1.8,CRD,7.5 +VTS,1,4,720,3.1,CSH,12 +VTS,1,4,360,1.01,CRD,6 +VTS,1,4,480,2.62,CSH,10.5 +VTS,1,5,180,0.88,CRD,4.5 +VTS,1,4,480,1.89,CSH,8 +VTS,1,4,1620,13.83,CRD,39.5 +VTS,1,6,360,1.37,CRD,6.5 +VTS,2,6,1860,17.62,CRD,52 +VTS,1,5,780,2.89,CRD,13 +VTS,1,5,600,3.48,CSH,12 +VTS,1,5,540,2.04,CSH,9 +VTS,1,6,900,4.33,CRD,16 +VTS,1,5,360,2.01,CSH,7.5 +VTS,1,5,1320,9.2,CRD,27.5 +VTS,1,6,960,6.13,CRD,18.5 +VTS,1,5,180,1.45,CSH,6 +VTS,1,5,660,1.48,CRD,9 +VTS,1,5,540,1.56,CSH,8.5 +VTS,1,5,1200,8.29,CSH,25.5 +VTS,1,6,840,1.29,CSH,10 +VTS,1,1,300,1.2,CSH,6 +VTS,1,1,360,0.89,CRD,5.5 +VTS,1,1,1080,2.95,CSH,15 +VTS,1,2,420,1.04,CSH,6.5 +VTS,1,2,960,4.28,CSH,15.5 +VTS,1,2,360,1.75,CRD,7 +VTS,1,1,420,0.9,CSH,6 +VTS,1,1,600,1.74,CRD,8.5 +VTS,1,1,900,4.12,CSH,15 +VTS,1,1,780,2.86,CSH,12 +VTS,1,1,600,2.04,CRD,10 +VTS,1,1,420,1.29,CRD,7 +VTS,1,1,360,0.95,CRD,6 +VTS,1,1,180,0.88,CSH,4.5 +VTS,1,2,1200,7.7,CRD,24.5 +VTS,1,2,900,3.26,CSH,13.5 +VTS,1,5,300,0.93,CSH,5 +VTS,1,5,120,0.39,CSH,3.5 +VTS,1,5,600,2.07,CRD,9.5 +VTS,1,5,180,0.57,CRD,4 +VTS,1,5,900,3.09,CRD,12.5 +VTS,1,1,420,1.41,CSH,7 +VTS,1,1,600,2.13,CRD,9.5 +VTS,1,1,2400,5.87,CRD,26.5 +VTS,1,1,600,1.38,CSH,8.5 +VTS,1,1,360,1.89,CSH,7.5 +VTS,1,1,1200,13.04,CSH,35.5 +VTS,1,1,300,0.61,CRD,5 +VTS,1,1,1560,3.48,CSH,18 +VTS,1,1,240,1.38,CRD,6 +VTS,1,1,480,1.47,CSH,7.5 +VTS,1,1,1260,3.57,CRD,16 +VTS,1,1,480,2.64,CRD,10 +VTS,1,2,1320,11.11,CSH,32.5 +VTS,1,1,480,1.15,CRD,7 +VTS,1,1,1140,3.58,CRD,15 +VTS,1,1,720,1.97,CSH,10 +VTS,1,2,840,3.23,CRD,12.5 +VTS,1,1,1020,7.95,CSH,24 +VTS,1,5,300,1.16,CRD,6 +VTS,1,5,360,0.76,CRD,6 +VTS,1,1,780,2.85,CSH,11.5 +VTS,1,1,960,2.85,CSH,12.5 +VTS,1,1,420,1.51,CSH,7 +VTS,1,1,480,2.23,CRD,8.5 +VTS,1,5,840,1.36,CRD,9.5 +VTS,1,1,960,2.25,CSH,12 +VTS,1,1,1140,4.38,CSH,16.5 +VTS,1,1,660,1.5,CSH,8.5 +VTS,1,1,840,3.38,CSH,13.5 +VTS,1,1,480,1.15,CSH,6.5 +VTS,1,1,1020,4.11,CSH,16.5 +VTS,1,1,240,0.77,CSH,5 +VTS,1,1,780,3.94,CRD,13.5 +VTS,1,1,780,5.77,CRD,18.5 +VTS,1,1,780,3.67,CRD,13 +VTS,1,1,300,1.32,CSH,6.5 +VTS,1,1,480,1.94,CSH,8 +VTS,1,5,540,2.39,CSH,9.5 +VTS,1,1,840,2.96,CRD,12.5 +VTS,1,1,900,3.68,CSH,14.5 +VTS,1,1,1020,4.12,CSH,16 +VTS,1,2,1020,3.36,CSH,14 +VTS,1,2,540,2.37,CSH,9.5 +VTS,1,1,240,1,CRD,5.5 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,600,1.4,CRD,8.5 +VTS,1,1,720,2.1,CSH,10.5 +VTS,1,1,660,1.34,CRD,8 +VTS,1,1,1440,3.09,CRD,17 +VTS,1,1,360,0.89,CSH,5.5 +VTS,1,1,660,2.76,CRD,10.5 +VTS,1,5,1920,7.19,CRD,24.5 +VTS,1,5,1440,11.61,CSH,34 +VTS,1,1,360,0.76,CRD,5 +VTS,1,1,600,3.57,CSH,13 +VTS,1,1,360,0.8,CSH,5.5 +VTS,1,1,960,5.25,CRD,17 +VTS,1,1,420,1.57,CSH,7.5 +VTS,1,1,1080,3.9,CRD,16 +VTS,1,1,780,1.97,CSH,10.5 +VTS,1,1,300,0.6,CSH,4.5 +VTS,1,1,540,0.99,CRD,7.5 +VTS,1,1,300,0.65,CRD,5 +VTS,1,1,840,6.09,CRD,19 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,600,2.67,CRD,10.5 +VTS,1,1,360,0.97,CRD,6 +VTS,1,1,300,0.57,CRD,5 +VTS,1,1,240,0.35,CRD,4 +VTS,1,1,120,0.6,CSH,4 +VTS,1,5,180,1,CRD,5 +VTS,1,5,720,3.53,CSH,12.5 +VTS,1,5,840,3.66,CSH,14 +VTS,1,5,1080,10.13,CSH,29 +VTS,1,5,360,0.88,CSH,6 +VTS,1,5,360,1.77,CSH,7.5 +VTS,1,5,540,2.88,CSH,10.5 +VTS,1,5,480,2.48,CRD,10 +VTS,1,5,420,1.51,CSH,7.5 +VTS,1,5,120,0.45,CSH,4 +VTS,1,5,720,3.93,CSH,13.5 +VTS,1,5,540,1.36,CRD,7.5 +VTS,1,5,1380,4.46,CRD,18.5 +VTS,1,5,360,0.83,CRD,6 +VTS,1,5,1440,5.21,CRD,21 +VTS,1,5,480,4.13,CRD,13.5 +VTS,1,5,540,1.89,CSH,8.5 +VTS,1,5,780,2.06,CRD,10.5 +VTS,1,5,420,1.41,CSH,7 +VTS,1,1,480,1.63,CRD,7.5 +VTS,1,1,660,2.19,CRD,10 +VTS,1,1,300,1.05,CSH,6 +VTS,1,1,180,1.14,CSH,5 +VTS,1,1,300,2.07,CSH,7.5 +VTS,1,1,780,2.68,CSH,12.5 +VTS,1,1,900,4.36,CRD,15 +VTS,1,1,540,1.55,CRD,8 +VTS,1,1,480,2.4,CSH,9 +VTS,1,1,300,1.51,CRD,6.5 +VTS,1,1,600,1.66,CRD,9 +VTS,1,1,720,2.39,CSH,10.5 +VTS,1,1,900,1.89,CRD,11 +VTS,1,1,300,1.41,CRD,6.5 +VTS,1,1,240,0.58,CRD,4.5 +VTS,4,1,840,1.9,CSH,9.5 +VTS,1,1,660,1.4,CRD,8.5 +VTS,1,5,480,2.21,CRD,9 +VTS,1,5,300,1.63,CSH,6.5 +VTS,1,5,240,1.36,CSH,6 +VTS,1,5,540,3.54,CSH,11.5 +VTS,1,5,360,1.57,CSH,7 +VTS,1,5,420,2.25,CRD,8.5 +VTS,1,5,660,4.69,CRD,14 +VTS,1,5,360,1.36,CSH,6.5 +VTS,1,5,420,1.2,CRD,6.5 +VTS,1,1,600,1.86,CRD,8.5 +VTS,1,1,840,3.79,CSH,14.5 +VTS,1,1,360,0.78,CSH,5 +VTS,1,1,1260,6.5,CSH,21.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,480,1.53,CRD,7.5 +VTS,1,1,240,0.87,CSH,5 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,120,0.44,CSH,4 +VTS,1,1,360,1.59,CRD,7 +VTS,1,1,1320,2.39,CSH,14 +VTS,1,1,1860,12.74,CRD,38.5 +VTS,1,1,1020,6.26,CRD,20.5 +VTS,1,1,600,1.7,CSH,8.5 +VTS,1,5,120,0.83,CSH,4.5 +VTS,1,5,180,0.62,CSH,4 +VTS,1,5,960,4.86,CSH,16 +VTS,1,5,480,2.66,CSH,9.5 +VTS,1,5,420,2.32,CRD,9 +VTS,1,5,180,0.55,CSH,4 +VTS,1,5,240,1.35,CSH,6 +VTS,1,5,420,1.35,CSH,7 +VTS,1,5,420,1.11,CRD,6.5 +VTS,1,5,420,1.16,CRD,6.5 +VTS,1,5,540,2.71,CRD,10 +VTS,1,1,960,2.41,CSH,12 +VTS,1,1,600,1.96,CRD,9.5 +VTS,1,1,660,2.36,CSH,10 +VTS,1,1,540,1.49,CRD,7.5 +VTS,1,1,180,0.51,CSH,4.5 +VTS,1,5,420,1.04,CSH,6.5 +VTS,1,5,660,1.98,CSH,9.5 +VTS,1,1,120,0.18,CSH,2.5 +VTS,1,1,780,1.95,CSH,10 +VTS,1,1,780,4.77,CRD,15 +VTS,1,2,480,1.36,CSH,7 +VTS,1,1,660,0.54,CSH,8 +VTS,1,1,1020,3.12,CSH,13.5 +VTS,1,1,180,0.37,CSH,3.5 +VTS,1,1,660,3.88,CRD,13.5 +VTS,1,1,180,0.58,CRD,4 +VTS,1,1,420,2.64,CRD,10 +VTS,1,1,1620,8.67,CSH,27.5 +VTS,1,1,120,0.75,CSH,4.5 +VTS,1,1,360,1.76,CRD,7.5 +VTS,1,1,420,1.47,CRD,7 +VTS,1,1,780,2.43,CSH,11 +VTS,1,1,360,1.9,CSH,8 +VTS,1,1,0,0,CSH,2.5 +VTS,1,5,480,2.11,CRD,8.5 +VTS,1,5,180,0.69,CSH,4.5 +VTS,1,5,480,2.77,CRD,9.5 +VTS,1,5,420,3.21,CRD,10.5 +VTS,1,5,660,3.14,CSH,12 +VTS,1,5,360,1.32,CSH,6.5 +VTS,1,5,780,1.06,CRD,9 +VTS,1,5,1080,3.89,CRD,15 +VTS,1,5,300,1.15,CSH,6 +VTS,1,5,300,1.61,CSH,6.5 +VTS,1,5,240,1.48,CSH,6 +VTS,1,5,720,2.94,CRD,11.5 +VTS,1,5,420,1.35,CRD,7 +VTS,1,5,240,0.78,CRD,4.5 +VTS,1,5,180,0.92,CRD,4.5 +VTS,1,5,180,1.12,CRD,5 +VTS,1,5,1080,2.94,CRD,13.5 +VTS,1,5,540,2.15,CRD,9 +VTS,1,5,540,2.01,CRD,9 +VTS,1,5,240,0.77,CRD,5 +VTS,1,5,180,1.4,CRD,6 +VTS,1,5,360,1.57,CRD,7.5 +VTS,1,5,660,4.69,CSH,15.5 +VTS,1,5,300,1.26,CSH,6 +VTS,1,5,480,2,CRD,8.5 +VTS,1,5,540,1.33,CRD,7.5 +VTS,1,5,540,2.2,CRD,9.5 +VTS,1,5,840,4.51,CSH,15 +VTS,1,5,180,0.64,CSH,4 +VTS,1,5,660,3.75,CSH,12.5 +VTS,1,5,120,0.48,CSH,4 +VTS,2,5,2940,18.97,CRD,52 +VTS,1,5,900,3.91,CRD,14 +VTS,1,5,600,2.91,CSH,11 +VTS,1,5,1140,5.08,CRD,17.5 +VTS,1,5,900,1.57,CSH,10 +VTS,1,5,300,0.87,CSH,5.5 +VTS,1,5,960,4.04,CRD,15 +VTS,1,5,300,1.51,CSH,6.5 +VTS,1,5,720,1.69,CSH,9 +VTS,1,5,780,3.69,CSH,13.5 +VTS,1,5,1500,8.16,CSH,25.5 +VTS,1,5,1260,4.56,CRD,18 +VTS,1,5,720,5,CSH,15.5 +VTS,1,5,600,1.41,CSH,7.5 +VTS,1,5,1320,6.77,CRD,23.5 +VTS,1,5,240,1.53,CSH,6 +VTS,1,5,600,2.05,CRD,9.5 +VTS,1,5,120,0.53,CSH,3.5 +VTS,1,5,720,4.7,CRD,15 +VTS,1,5,420,2.68,CRD,9.5 +VTS,1,5,300,1.02,CSH,5.5 +VTS,1,5,180,0.69,CSH,4.5 +VTS,1,5,960,4.31,CRD,15.5 +VTS,1,5,600,2.35,CRD,10 +VTS,1,5,1080,4.96,CSH,17.5 +VTS,1,5,300,0.94,CRD,5.5 +VTS,1,5,540,2.69,CRD,10 +VTS,1,5,300,1.89,CSH,7.5 +VTS,1,5,1740,6.57,CRD,23 +VTS,1,5,420,0.83,CSH,6 +VTS,1,5,120,0.53,CRD,3.5 +VTS,1,5,1020,3.98,CSH,15 +VTS,1,5,180,0.58,CRD,4.5 +VTS,1,5,240,0.94,CSH,5 +VTS,1,5,600,2.1,CRD,9.5 +VTS,1,5,480,1.66,CRD,8 +VTS,1,5,540,2.08,CRD,8.5 +VTS,1,5,420,1.25,CRD,6.5 +VTS,1,5,540,2.35,CRD,9.5 +VTS,1,5,780,2.11,CSH,10.5 +VTS,1,5,960,4.43,CRD,16 +VTS,1,5,1500,7.52,CRD,24 +VTS,1,4,1440,4.14,CSH,16 +VTS,1,5,1020,4.67,CSH,16.5 +VTS,1,5,540,1.38,CRD,7.5 +VTS,1,5,240,1.05,CSH,5 +VTS,1,5,60,0.38,CSH,3 +VTS,1,5,420,1.19,CSH,6.5 +VTS,1,5,420,1.18,CRD,6.5 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,720,1.82,CSH,9 +VTS,1,1,660,3.79,CRD,13 +VTS,1,1,600,3.52,CRD,12 +VTS,1,1,120,0.01,CSH,2.5 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,2,540,1.32,CRD,7.5 +VTS,1,1,120,0.59,CSH,3.5 +VTS,1,1,1200,9.34,CRD,28 +VTS,1,5,1320,8.97,CRD,27 +VTS,1,5,480,2.83,CRD,10 +VTS,1,5,720,6.77,CRD,20 +VTS,1,5,1080,4.02,CRD,16 +VTS,1,1,780,2.75,CSH,11.5 +VTS,4,1,660,2.27,CSH,10 +VTS,1,1,900,5.15,CSH,17.5 +VTS,1,1,600,1.39,CSH,8 +VTS,1,1,1200,6.42,CSH,21 +VTS,1,1,180,1.05,CSH,5 +VTS,1,1,300,1.36,CSH,6 +VTS,1,1,1020,3.28,CRD,14 +VTS,1,1,660,1.94,CRD,9 +VTS,1,1,600,2.16,CRD,9.5 +VTS,1,1,360,1.63,CRD,7 +VTS,1,1,480,1.49,CSH,7.5 +VTS,1,1,360,0.99,CSH,6 +VTS,1,1,180,0.55,CRD,4 +VTS,4,1,2580,3.16,CSH,25 +VTS,1,5,600,3.02,CSH,11 +VTS,1,5,300,1.53,CSH,7 +VTS,1,5,420,1.5,CSH,7.5 +VTS,1,5,600,2.46,CRD,10 +VTS,1,5,660,1.72,CSH,9 +VTS,1,5,720,3.96,CSH,13.5 +VTS,1,5,720,2.21,CRD,10.5 +VTS,1,5,540,2.25,CSH,9.5 +VTS,1,5,480,2.34,CRD,9 +VTS,1,5,960,9.2,CSH,26.5 +VTS,1,5,60,0,CRD,2.5 +VTS,1,5,120,0.54,CSH,4 +VTS,1,5,660,3.48,CRD,12.5 +VTS,1,5,300,1.45,CSH,6.5 +VTS,1,5,660,3.95,CRD,13.5 +VTS,1,5,540,3,CRD,11 +VTS,1,5,180,0.59,CSH,4 +VTS,1,5,540,3.07,CRD,10.5 +VTS,1,5,180,0.49,CSH,4 +VTS,1,5,1080,5.8,CRD,20 +VTS,1,5,780,3.73,CRD,13 +VTS,1,5,420,2.17,CRD,8 +VTS,1,5,480,2.09,CSH,8.5 +VTS,1,5,360,0.59,CRD,5 +VTS,1,5,420,1.13,CSH,6.5 +VTS,1,5,1020,4.85,CRD,18 +VTS,1,5,360,1.31,CSH,6.5 +VTS,1,6,360,0.94,CRD,6 +VTS,1,5,240,1.02,CSH,5 +VTS,1,5,1020,5.6,CRD,18.5 +VTS,1,6,360,1.35,CSH,6.5 +VTS,1,5,960,2.51,CSH,12.5 +VTS,1,5,360,1.41,CRD,7 +VTS,1,5,120,0.64,CSH,4 +VTS,1,5,480,1.31,CRD,7.5 +VTS,1,5,780,4.44,CRD,15 +VTS,1,5,480,1.86,CRD,8 +VTS,1,5,240,1.06,CSH,5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,3,360,0.83,CRD,5.5 +VTS,3,1,3540,40.16,CSH,123.5 +VTS,1,1,300,1.35,CSH,6 +VTS,1,1,420,1.01,CSH,6.5 +VTS,1,1,660,2.68,CRD,11 +VTS,1,1,540,2.1,CRD,8.5 +VTS,1,1,900,3.56,CRD,14.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,2,780,2.15,CRD,10.5 +VTS,1,2,420,1.46,CRD,7 +VTS,1,2,360,1.89,CSH,8 +VTS,1,1,1560,3.3,CRD,17.5 +VTS,1,5,240,0.96,CSH,5 +VTS,1,5,720,3.61,CRD,13 +VTS,1,5,1200,7.94,CRD,24.5 +VTS,1,1,600,2.19,CRD,9.5 +VTS,1,1,900,4.75,CRD,16.5 +VTS,1,1,840,2.19,CRD,11 +VTS,1,1,720,1.46,CSH,9.5 +VTS,1,1,540,1.67,CSH,7.5 +VTS,1,1,540,2.07,CRD,9 +VTS,1,1,600,1.91,CSH,9 +VTS,1,1,1680,5.4,CRD,22 +VTS,1,1,1620,9.15,CRD,29.5 +VTS,1,1,420,1.46,CRD,7 +VTS,1,1,120,0.59,CSH,4 +VTS,1,1,360,0.75,CRD,5.5 +VTS,1,1,540,1.92,CSH,9 +VTS,1,1,480,1.54,CSH,7.5 +VTS,1,1,840,3.03,CRD,12.5 +VTS,1,1,660,3.99,CRD,13 +VTS,1,1,300,1.05,CSH,6 +VTS,1,1,660,2.14,CRD,10 +VTS,1,1,600,2.3,CSH,9.5 +VTS,1,1,1140,2.41,CRD,13 +VTS,1,1,1200,9.56,CRD,28 +VTS,1,1,360,0.87,CRD,6 +VTS,1,2,360,1.27,CRD,6.5 +VTS,1,1,600,2.15,CSH,9.5 +VTS,1,2,360,1.43,CRD,6.5 +VTS,1,1,1200,4.14,CRD,16.5 +VTS,1,1,1080,2.71,CSH,13.5 +VTS,1,1,1320,4.91,CRD,18.5 +VTS,1,1,240,0.44,CRD,4.5 +VTS,1,1,1380,8.4,CSH,25.5 +VTS,1,1,420,0.89,CSH,6 +VTS,1,1,420,1.71,CSH,7.5 +VTS,1,1,240,1.25,CSH,6.5 +VTS,1,5,180,1.12,CSH,5 +VTS,1,5,420,1.86,CSH,7.5 +VTS,1,5,600,5.93,CRD,17.5 +VTS,1,1,1080,2.45,CRD,13 +VTS,1,1,780,3.55,CRD,13 +VTS,1,1,1560,4.69,CRD,20 +VTS,1,1,1080,2.8,CRD,14 +VTS,1,1,720,3.2,CRD,12.5 +VTS,1,1,180,0.26,CSH,3.5 +VTS,1,1,420,1.37,CRD,6.5 +VTS,1,1,180,0.67,CSH,4 +VTS,1,1,360,1.48,CRD,7 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,660,3.65,CSH,12 +VTS,1,1,540,1.41,CSH,8 +VTS,1,5,300,1.7,CRD,7 +VTS,1,5,540,1.56,CSH,8 +VTS,1,5,1320,5.91,CSH,20.5 +VTS,1,5,720,5.09,CRD,15.5 +VTS,1,5,1140,6.53,CSH,20.5 +VTS,1,5,240,1.46,CRD,6 +VTS,1,5,360,2.08,CSH,8 +VTS,1,5,240,0.88,CSH,5 +VTS,1,5,180,1,CRD,5 +VTS,1,5,120,0.66,CSH,4 +VTS,1,5,960,6.02,CRD,18 +VTS,1,5,540,1.87,CSH,9 +VTS,1,5,120,0.46,CRD,4 +VTS,1,5,360,1.06,CRD,6 +VTS,1,5,420,1.28,CRD,7 +VTS,1,5,240,0.85,CSH,5 +VTS,1,5,180,0.91,CRD,5 +VTS,1,5,1200,3.76,CRD,15.5 +VTS,1,5,960,4.27,CRD,15 +VTS,1,5,360,1.99,CSH,7.5 +VTS,1,5,1500,6.3,CRD,22.5 +VTS,1,5,840,3.13,CRD,12.5 +VTS,1,5,300,1.57,CSH,6.5 +VTS,1,5,120,0.37,CSH,3 +VTS,1,5,600,1.27,CRD,7.5 +VTS,1,5,360,1.36,CSH,6 +VTS,1,1,3180,11.15,CRD,41.5 +VTS,4,1,720,0.86,CSH,8 +VTS,1,5,420,2.3,CSH,8.5 +VTS,1,5,480,2.05,CSH,9 +VTS,1,5,360,1.21,CRD,6 +VTS,1,5,300,0.87,CSH,5 +VTS,1,5,1200,2.99,CSH,14.5 +VTS,1,5,1080,3.97,CSH,15 +VTS,1,5,540,1.78,CSH,8 +VTS,1,5,1260,9.29,CSH,27.5 +VTS,1,5,720,2.45,CSH,10.5 +VTS,1,5,300,0.4,CRD,4.5 +VTS,1,5,840,3.53,CSH,13 +VTS,1,5,1140,8.91,CRD,26 +VTS,1,5,420,1.51,CSH,7.5 +VTS,1,5,180,0.69,CRD,4.5 +VTS,1,5,300,1.49,CRD,6.5 +VTS,1,5,540,3.72,CSH,12 +VTS,1,5,600,1.81,CSH,9 +VTS,1,5,720,2.68,CRD,11 +VTS,1,5,600,1.82,CRD,8.5 +VTS,1,5,420,1.16,CSH,7 +VTS,1,5,1140,3.45,CRD,14.5 +VTS,1,5,300,1.97,CSH,8 +VTS,1,5,600,1.87,CSH,9 +VTS,1,5,420,2.15,CRD,8 +VTS,1,5,1380,7.35,CRD,23.5 +VTS,1,5,420,2.12,CRD,8.5 +VTS,1,5,240,0.81,CSH,5 +VTS,1,5,240,0.52,CSH,4.5 +VTS,1,5,600,1.41,CSH,8.5 +VTS,1,5,600,1.14,CRD,8 +VTS,1,5,180,0.79,CSH,4.5 +VTS,1,5,420,1.47,CSH,7.5 +VTS,1,5,720,2.8,CRD,11 +VTS,1,5,540,1.32,CSH,7.5 +VTS,1,5,900,4.31,CRD,15.5 +VTS,1,5,420,1.19,CRD,7 +VTS,1,5,60,0.31,CRD,3 +VTS,1,5,1140,9.98,CRD,28 +VTS,1,5,180,0.95,CRD,5 +VTS,1,5,900,3.53,CRD,14 +VTS,1,5,300,1.07,CSH,5.5 +VTS,1,5,540,2.8,CSH,10 +VTS,1,5,900,3.89,CSH,14.5 +VTS,1,5,660,1.49,CRD,8 +VTS,1,5,2400,10.32,CSH,35 +VTS,1,5,1080,4.96,CSH,16.5 +VTS,1,5,480,1.99,CRD,8 +VTS,1,5,1740,4.57,CRD,22 +VTS,1,5,180,0.85,CSH,5 +VTS,1,5,600,1.47,CRD,8 +VTS,1,5,720,4.42,CRD,14.5 +VTS,1,5,240,0.83,CSH,5 +VTS,1,5,360,1.33,CRD,6.5 +VTS,1,5,480,1.65,CSH,8 +VTS,1,5,360,1.6,CRD,7 +VTS,1,5,540,1.18,CRD,7.5 +VTS,1,5,720,3.5,CRD,12.5 +VTS,1,5,180,1.7,CSH,6.5 +VTS,1,5,900,3.3,CRD,13.5 +VTS,1,5,180,0.17,CRD,3.5 +VTS,1,5,660,2.93,CRD,11 +VTS,1,2,660,3.67,CRD,12.5 +VTS,1,5,540,2.07,CRD,8.5 +VTS,1,5,960,4.2,CSH,15 +VTS,1,5,240,0.62,CRD,4.5 +VTS,1,5,1260,12.29,CSH,33.5 +VTS,1,5,900,4.62,CRD,16 +VTS,1,5,480,2.7,CSH,9.5 +VTS,1,5,180,0.65,CSH,4.5 +VTS,1,5,180,0.59,CSH,4 +VTS,1,5,480,2.86,CRD,9.5 +VTS,1,5,780,2.36,CRD,11 +VTS,1,5,180,0.89,CSH,4.5 +VTS,1,5,240,0.29,CRD,4 +VTS,1,5,780,3,CRD,12.5 +VTS,1,5,1020,4.62,CSH,18 +VTS,1,5,240,1.02,CSH,5.5 +VTS,1,5,780,5.56,CRD,17.5 +VTS,1,5,660,3.17,CRD,11.5 +VTS,1,5,660,2.55,CSH,10 +VTS,1,5,540,1.67,CRD,8 +VTS,1,5,600,1.17,CRD,8 +VTS,1,5,1200,3.66,CRD,16 +VTS,1,5,1560,8.59,CRD,28 +VTS,1,5,420,1.07,CRD,6.5 +VTS,1,5,420,2.71,CRD,9.5 +VTS,1,5,1260,6.83,CSH,21.5 +VTS,1,5,300,0.83,CSH,5.5 +VTS,1,5,540,3.21,CRD,10.5 +VTS,1,5,840,3.42,CSH,13 +VTS,1,5,120,0.66,CRD,4 +VTS,1,5,660,5.13,CRD,15.5 +VTS,1,5,240,0.87,CSH,5 +VTS,1,5,780,4.49,CRD,14.5 +VTS,1,5,360,1,CSH,6 +VTS,1,5,540,3.55,CRD,12 +VTS,1,5,540,1.26,CRD,8 +VTS,1,5,660,2.97,CRD,11.5 +VTS,1,5,1380,9.77,CRD,28.5 +VTS,1,5,1140,5.59,CRD,19.5 +VTS,1,5,360,1.34,CRD,6.5 +VTS,1,5,120,0.6,CSH,4 +VTS,1,5,240,0.89,CRD,5 +VTS,1,5,180,0.52,CRD,4 +VTS,1,5,600,3.03,CRD,11.5 +VTS,1,5,960,3.04,CRD,13.5 +VTS,1,5,840,4.86,CRD,15.5 +VTS,1,5,900,2.19,CRD,11.5 +VTS,1,5,720,4.19,CSH,13.5 +VTS,1,5,180,0.83,CSH,4.5 +VTS,1,5,1320,3.67,CSH,15.5 +VTS,1,5,1260,4.32,CRD,16.5 +VTS,1,5,480,3.59,CSH,12 +VTS,1,5,660,2.81,CRD,11 +VTS,1,5,600,2.75,CSH,9.5 +VTS,1,5,300,0.84,CSH,5.5 +VTS,1,5,120,0.83,CSH,4.5 +VTS,1,5,900,4.45,CRD,15 +VTS,1,5,540,1.34,CRD,7.5 +VTS,1,5,660,4.08,CRD,13 +VTS,1,5,660,1.61,CRD,9 +VTS,1,5,600,2.58,CRD,10 +VTS,1,5,360,0.94,CRD,6 +VTS,1,5,780,2.65,CRD,11.5 +VTS,1,5,2160,12.3,CRD,38 +VTS,1,5,660,2.57,CSH,10.5 +VTS,1,5,1380,2.51,CRD,15 +VTS,1,5,2580,8.22,CSH,32.5 +VTS,1,1,360,1.03,CSH,6 +VTS,1,5,480,1.75,CSH,7.5 +VTS,1,5,600,2.45,CRD,10.5 +VTS,1,5,540,2.22,CSH,9.5 +VTS,1,5,480,1.78,CSH,8 +VTS,1,5,540,1.73,CRD,8 +VTS,1,5,540,2.45,CSH,9.5 +VTS,1,5,180,0.61,CSH,4 +VTS,1,5,720,3.77,CSH,13.5 +VTS,1,5,660,2.28,CRD,10 +VTS,1,5,1020,4.55,CRD,16 +VTS,1,5,480,1.38,CRD,7.5 +VTS,1,5,480,2.13,CSH,8 +VTS,1,5,1380,3.3,CSH,15.5 +VTS,1,5,480,1.56,CSH,7.5 +VTS,4,3,240,0.97,CSH,5 +VTS,1,5,720,3.65,CSH,12.5 +VTS,1,5,960,4.59,CRD,16.5 +VTS,1,5,540,2.06,CRD,9 +VTS,1,5,600,2.62,CRD,10.5 +VTS,1,5,660,0.86,CRD,7.5 +VTS,1,5,600,2.76,CSH,10.5 +VTS,1,5,900,3.04,CRD,12.5 +VTS,1,5,3000,11.94,CRD,41 +VTS,1,5,540,1.25,CSH,7 +VTS,1,5,1260,5.51,CRD,19.5 +VTS,1,5,600,1.85,CRD,9 +VTS,1,5,180,0.5,CSH,4 +VTS,1,5,420,1.26,CRD,7 +VTS,1,5,900,1.79,CSH,11 +VTS,1,5,1800,11.11,CRD,33.5 +VTS,1,5,600,2.43,CSH,9.5 +VTS,1,5,180,0.74,CSH,4.5 +VTS,1,5,120,0.44,CSH,3.5 +VTS,1,5,120,0.48,CSH,4 +VTS,1,5,240,1.46,CRD,6 +VTS,1,5,480,1.38,CRD,7 +VTS,4,5,180,1.04,CSH,5 +VTS,1,5,480,1.35,CSH,7.5 +VTS,1,5,240,0.53,CSH,4.5 +VTS,1,5,660,2.34,CRD,9.5 +VTS,1,5,720,2.9,CRD,11.5 +VTS,1,5,300,1.05,CSH,5.5 +VTS,1,5,360,2.17,CRD,8.5 +VTS,1,5,840,3.61,CRD,13 +VTS,1,5,720,2.35,CRD,10.5 +VTS,1,5,780,5.57,CRD,18 +VTS,1,5,480,1.83,CRD,8 +VTS,1,5,120,0.36,CSH,3.5 +VTS,1,5,660,3.71,CSH,13 +VTS,1,5,1200,4.83,CSH,18.5 +VTS,1,5,360,1.16,CRD,6 +VTS,1,5,480,2.75,CRD,10 +VTS,1,5,480,1.93,CSH,8.5 +VTS,1,5,660,3.74,CRD,13 +VTS,1,5,900,8.03,CSH,23 +VTS,1,5,300,0.73,CRD,5 +VTS,1,5,900,2.44,CSH,12 +VTS,1,5,600,1.98,CRD,9.5 +VTS,1,5,660,7.18,CSH,20.5 +VTS,1,5,420,1.74,CRD,7.5 +VTS,3,5,2340,16.66,CRD,65.5 +VTS,1,5,180,0.27,CSH,4 +VTS,1,5,480,1.66,CRD,8 +VTS,1,5,60,0,CRD,2.5 +VTS,1,5,60,0.18,CSH,2.5 +VTS,1,5,840,2.26,CRD,11 +VTS,1,5,180,0.4,CRD,4 +VTS,1,5,600,0.87,CSH,7.5 +VTS,1,5,300,1.16,CRD,6 +VTS,1,5,660,0.96,CSH,8.5 +VTS,1,5,540,1.85,CSH,8.5 +VTS,1,5,360,1.06,CSH,5.5 +VTS,1,5,420,1.69,CSH,7.5 +VTS,1,5,600,2.03,CRD,9 +VTS,1,5,480,2.27,CRD,9 +VTS,1,5,360,1.21,CSH,6.5 +VTS,1,5,1020,4.52,CRD,16.5 +VTS,1,5,600,2.95,CRD,11 +VTS,1,5,480,1.02,CSH,6.5 +VTS,1,5,780,2.76,CRD,11 +VTS,1,5,240,0.64,CRD,5 +VTS,1,5,540,1.91,CSH,8.5 +VTS,1,5,1200,9.7,CSH,28.5 +VTS,1,4,780,3.16,CSH,12.5 +VTS,1,5,300,1.35,CSH,6 +VTS,1,5,240,0.55,CSH,4.5 +VTS,1,5,960,4.88,CRD,16.5 +VTS,1,5,120,0.34,CRD,3 +VTS,1,5,180,0.43,CSH,4 +VTS,1,5,180,0.71,CRD,4.5 +VTS,1,5,240,0.96,CRD,5 +VTS,1,5,420,1.59,CSH,8 +VTS,1,5,780,3.46,CSH,12.5 +VTS,1,5,1020,4.74,CSH,17 +VTS,1,5,540,1.7,CRD,8 +VTS,1,5,2160,12.86,CSH,39 +VTS,1,5,1740,14.92,CRD,43.5 +VTS,1,5,1200,11.82,CRD,33.5 +VTS,1,5,1380,15.84,CRD,43 +VTS,1,5,60,0.01,CSH,3 +VTS,1,5,540,1.65,CSH,8 +VTS,1,5,660,1.43,CSH,8.5 +VTS,1,5,840,1.68,CSH,10.5 +VTS,1,1,1260,5.14,CRD,19.5 +VTS,1,1,420,1,CRD,6.5 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,5,300,0.68,CSH,5 +VTS,1,5,360,1.42,CRD,6.5 +VTS,1,5,1260,5.25,CSH,18.5 +VTS,1,5,360,2.42,CSH,8.5 +VTS,1,5,240,0.98,CRD,5 +VTS,1,5,420,2.29,CSH,8.5 +VTS,1,5,300,1.62,CSH,6.5 +VTS,1,5,420,1.98,CRD,8 +VTS,1,5,300,0.81,CSH,5 +VTS,1,5,300,1.85,CSH,7.5 +VTS,1,5,780,1.73,CSH,9.5 +VTS,1,5,1320,6.44,CRD,22.5 +VTS,1,5,960,3.55,CSH,15 +VTS,1,5,1560,11.38,CSH,32.5 +VTS,2,5,2100,23.03,CRD,52 +VTS,1,5,540,2.43,CRD,10.5 +VTS,1,5,240,0.45,CRD,4.5 +VTS,1,5,540,1.07,CRD,7.5 +VTS,1,5,180,0.78,CSH,4.5 +VTS,1,5,780,2.98,CRD,12 +VTS,1,5,540,1.38,CRD,8 +VTS,1,5,60,0.18,CSH,3 +VTS,1,5,360,0.62,CRD,5 +VTS,1,5,1200,7.6,CSH,24 +VTS,1,5,660,2.73,CRD,11 +VTS,1,5,840,1.7,CSH,10 +VTS,1,5,540,1.94,CSH,8.5 +VTS,1,5,1200,3.14,CSH,15.5 +VTS,1,5,660,2.64,CSH,10.5 +VTS,1,5,180,0.63,CSH,4.5 +VTS,1,5,300,1.62,CSH,7 +VTS,1,5,180,0.73,CRD,4.5 +VTS,1,5,720,4.46,CRD,14.5 +VTS,1,5,120,0.72,CRD,4.5 +VTS,1,5,840,3.31,CRD,13.5 +VTS,1,5,540,1.89,CSH,8.5 +VTS,1,5,900,4.34,CRD,15.5 +VTS,1,5,660,3.53,CSH,12.5 +VTS,1,5,1560,8.09,CRD,26 +VTS,1,5,360,1.41,CRD,7 +VTS,1,5,540,3.84,CSH,12.5 +VTS,1,5,480,1.45,CRD,7.5 +VTS,1,5,180,0.81,CSH,4.5 +VTS,1,5,420,1.47,CSH,7.5 +VTS,1,5,180,0.87,CRD,5 +VTS,1,5,420,1.25,CRD,6.5 +VTS,1,5,420,1.42,CRD,7 +VTS,1,5,780,6.38,CRD,19.5 +VTS,1,5,300,1.51,CSH,6 +VTS,1,5,360,1.18,CSH,6.5 +VTS,1,5,300,1.61,CSH,7 +VTS,1,5,660,2.92,CSH,11 +VTS,1,5,420,1.22,CRD,7 +VTS,1,5,600,3.17,CSH,11 +VTS,1,5,900,6.42,CSH,19.5 +VTS,1,5,600,1.86,CSH,9 +VTS,1,5,480,1.96,CRD,8 +VTS,1,5,240,1.69,CRD,7 +VTS,1,5,1320,8.99,CRD,27.5 +VTS,1,5,720,1.08,CRD,9 +VTS,1,5,960,4.74,CSH,16.5 +VTS,1,5,1320,8.43,CRD,25.5 +VTS,1,5,480,3.04,CSH,10.5 +VTS,1,5,600,2.54,CSH,10 +VTS,1,5,600,3.27,CRD,11.5 +VTS,1,5,780,3.67,CRD,13.5 +VTS,1,5,1080,5.71,CRD,19 +VTS,1,5,1020,9.18,CSH,26.5 +VTS,1,5,180,0.83,CSH,4.5 +VTS,1,5,780,2.48,CSH,11 +VTS,1,5,780,2.83,CRD,11.5 +VTS,1,5,300,0.89,CRD,5 +VTS,1,5,240,1.12,CSH,5 +VTS,1,5,960,3.11,CRD,12.5 +VTS,1,5,420,0.77,CRD,6 +VTS,1,5,780,5.08,CSH,16 +VTS,1,5,540,0.7,CSH,7 +VTS,1,5,960,2.77,CRD,13 +VTS,1,5,300,0.81,CSH,5 +VTS,1,5,480,1.95,CSH,8 +VTS,1,5,840,4.77,CSH,15.5 +VTS,1,5,840,4.52,CRD,15 +VTS,1,5,540,1.14,CRD,7 +VTS,1,5,180,0.91,CSH,5 +VTS,1,5,1440,7.03,CRD,23.5 +VTS,1,5,960,7.67,CSH,23.5 +VTS,1,5,360,1.35,CRD,6 +VTS,1,5,240,1.38,CSH,5.5 +VTS,1,5,180,0.58,CSH,4 +VTS,1,5,480,0.92,CSH,6.5 +VTS,1,5,420,1.83,CSH,8 +VTS,1,5,1080,7.6,CSH,23.5 +VTS,1,5,360,1.57,CSH,7 +VTS,1,5,540,0.98,CSH,7.5 +VTS,1,5,600,3.02,CRD,10.5 +VTS,1,5,300,0.4,CRD,4.5 +VTS,1,1,2220,10.92,CRD,36 +VTS,1,3,180,0.83,CSH,4.5 +VTS,1,2,420,1.41,CRD,7 +VTS,1,2,720,1.66,CRD,9.5 +VTS,1,2,240,0.9,CRD,5 +VTS,1,5,240,0.93,CRD,5.5 +VTS,1,5,1440,6.14,CSH,21.5 +VTS,1,5,180,0.59,CSH,4 +VTS,1,5,1200,8.6,CRD,25 +VTS,1,5,660,2.89,CRD,11 +VTS,1,5,120,0.66,CSH,4.5 +VTS,1,5,1500,3,CRD,16.5 +VTS,1,5,420,1.53,CSH,7 +VTS,1,5,720,4.37,CRD,14 +VTS,1,5,840,3.68,CRD,13 +VTS,1,5,900,2.19,CRD,10.5 +VTS,1,5,480,0.39,CSH,6.5 +VTS,1,5,1320,10.46,CRD,31 +VTS,1,5,1260,10.45,CSH,30.5 +VTS,1,5,1020,2.81,CRD,13 +VTS,1,5,480,2.11,CRD,8 +VTS,1,5,480,1.29,CRD,7 +VTS,1,5,1140,1.9,CRD,12.5 +VTS,1,5,1140,4.38,CRD,16.5 +VTS,1,5,2220,8.29,CSH,30 +VTS,1,5,420,1.33,CSH,7 +VTS,1,5,1080,3.07,CSH,13.5 +VTS,1,5,960,2.88,CRD,12.5 +VTS,1,5,240,1.23,CSH,5.5 +VTS,1,5,180,0.87,CRD,5 +VTS,1,5,960,4.42,CRD,15.5 +VTS,1,5,720,7.46,CRD,21.5 +VTS,1,5,1020,2.48,CSH,13 +VTS,1,5,240,1.02,CRD,5.5 +VTS,1,5,420,1.71,CSH,8 +VTS,1,5,780,2.86,CRD,12 +VTS,1,5,660,3.81,CSH,12.5 +VTS,1,5,180,0.96,CRD,5 +VTS,1,5,540,3.16,CSH,11.5 +VTS,1,5,420,1.36,CSH,7.5 +VTS,1,5,360,1.16,CSH,6 +VTS,1,5,1380,7.01,CSH,23.5 +VTS,1,5,300,0.79,CSH,5 +VTS,1,5,540,3.53,CSH,11.5 +VTS,1,5,780,3.31,CSH,12.5 +VTS,1,5,900,2.2,CRD,11.5 +VTS,1,5,360,0.9,CSH,5.5 +VTS,1,5,480,1.93,CRD,8 +VTS,1,5,360,1.26,CSH,6.5 +VTS,1,5,360,1.12,CSH,5.5 +VTS,1,5,840,3.55,CRD,13.5 +VTS,1,5,600,1.14,CSH,8 +VTS,1,5,540,1.56,CSH,8 +VTS,1,5,660,0.51,CSH,8.5 +VTS,1,2,780,2.21,CSH,10.5 +VTS,1,2,660,1.54,CSH,8.5 +VTS,1,1,1260,4.81,CSH,19 +VTS,1,5,360,0.7,CSH,6 +VTS,1,5,480,2.21,CRD,9 +VTS,1,3,300,0.68,CRD,5 +VTS,1,1,360,1.18,CRD,6 +VTS,1,2,420,1.39,CRD,7 +VTS,1,3,120,0.64,CRD,4 +VTS,1,2,600,2.91,CRD,11 +VTS,1,3,300,0.71,CRD,5.5 +VTS,2,2,2520,18.92,CRD,52 +VTS,1,1,1200,10.56,CRD,30 +VTS,1,1,0,0.1,CSH,2.5 +VTS,1,1,1020,5.68,CRD,19 +VTS,2,2,2100,21.85,CSH,52 +VTS,1,1,120,0.84,CSH,4.5 +VTS,1,1,480,1.3,CRD,7 +VTS,1,1,600,1.21,CRD,7.5 +VTS,1,1,1920,8.66,CSH,28.5 +VTS,1,1,840,10.81,CSH,29.5 +VTS,1,1,1320,10.1,CSH,31 +VTS,1,1,1080,11.12,CRD,31 +VTS,1,1,360,0.59,CSH,5.5 +VTS,1,1,2280,11.28,CRD,36.5 +VTS,1,1,1380,12.38,CRD,34.5 +VTS,1,1,1620,11.76,CSH,33.5 +VTS,1,1,720,0.73,CRD,8 +VTS,1,1,720,1.06,CSH,8.5 +VTS,1,5,840,3.46,CRD,13.5 +VTS,1,1,360,1.05,CSH,6 +VTS,1,1,660,2.29,CSH,10 +VTS,1,3,300,0.89,CRD,5.5 +VTS,1,1,420,0.91,CSH,6.5 +VTS,1,3,720,2.01,CRD,10 +VTS,1,1,840,3.46,CRD,13 +VTS,1,1,4020,14.98,CRD,56.5 +VTS,1,1,1380,8.93,CSH,27.5 +VTS,2,1,2160,21.19,CRD,52 +VTS,1,1,1380,11.53,CSH,34 +VTS,1,1,1860,18.85,CSH,51.5 +VTS,1,1,480,2.72,CSH,9.5 +VTS,2,2,1500,19.02,CSH,52 +VTS,1,1,720,4.06,CSH,13.5 +VTS,1,1,480,0.93,CSH,7 +VTS,1,1,900,3.12,CSH,12.5 +VTS,1,1,960,6.64,CSH,21.5 +VTS,5,1,3360,18.18,CRD,88 +VTS,2,1,1920,17.03,CRD,52 +VTS,2,1,3360,16.43,CSH,52 +VTS,1,1,1500,15.86,CRD,43 +VTS,1,1,1440,9.67,CSH,30 +VTS,1,1,1020,11.54,CRD,31.5 +VTS,1,1,720,2.25,CSH,10.5 +VTS,1,1,2220,10.47,CSH,33.5 +VTS,1,5,660,2.73,CRD,11 +VTS,1,5,960,7.21,CRD,22 +VTS,1,5,480,2.4,CSH,9.5 +VTS,2,5,60,0,CRD,52 +VTS,1,5,480,0.91,CSH,7 +VTS,1,5,1080,2.71,CSH,13.5 +VTS,1,5,300,0.46,CSH,4 +VTS,1,5,300,0.85,CRD,5 +VTS,1,3,780,1.3,CRD,10 +VTS,1,2,1020,3.05,CRD,13.5 +VTS,1,2,660,1.93,CRD,9 +VTS,1,3,180,0.74,CSH,4 +VTS,1,2,240,0.5,CSH,4.5 +VTS,1,1,900,3.54,CRD,14 +VTS,1,2,660,1.66,CSH,9 +VTS,1,2,600,1.35,CRD,7.5 +VTS,1,2,480,1.59,CSH,8 +VTS,1,1,1200,8.97,CRD,26.5 +VTS,2,2,2700,26.9,CSH,52 +VTS,1,1,2760,13.1,CRD,43 +VTS,1,1,720,4.44,CSH,15 +VTS,1,1,1500,9.74,CRD,29 +VTS,1,1,600,1.53,CSH,8.5 +VTS,1,1,900,4.79,CSH,16.5 +VTS,1,1,2820,23.03,CSH,65.5 +VTS,1,1,840,1.75,CRD,10.5 +VTS,1,5,420,1.88,CSH,7.5 +VTS,1,5,2100,11.29,CRD,35.5 +VTS,1,5,180,0.67,CSH,4.5 +VTS,1,5,540,1.52,CRD,8 +VTS,1,5,840,3.39,CRD,13 +VTS,1,5,420,1.88,CSH,7.5 +VTS,1,5,240,0.87,CSH,5 +VTS,1,5,420,0.9,CRD,6 +VTS,1,5,540,2.74,CRD,10 +VTS,1,5,3120,9.38,CRD,40.5 +VTS,1,5,420,1.21,CSH,6.5 +VTS,1,5,1200,3.11,CRD,15 +VTS,1,3,1260,2.47,CRD,14.5 +VTS,1,2,120,0.57,CRD,3.5 +VTS,1,2,420,1.75,CRD,8 +VTS,1,3,420,1.43,CRD,6.5 +VTS,1,2,240,0.63,CSH,4.5 +VTS,1,3,1620,11.86,CSH,34.5 +VTS,1,1,1320,6.99,CSH,23 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,1080,10.56,CSH,30 +VTS,1,1,240,0.64,CRD,5 +VTS,1,1,660,3.91,CSH,13.5 +VTS,1,1,1620,12.06,CSH,34.5 +VTS,1,1,2580,10.45,CSH,41 +VTS,1,1,1020,3.11,CRD,13.5 +VTS,1,5,1200,3.69,CRD,15 +VTS,1,5,240,1.28,CRD,6 +VTS,1,5,900,3.06,CRD,13.5 +VTS,1,5,780,3.39,CRD,12.5 +VTS,1,5,600,1.96,CRD,9 +VTS,1,5,900,2.84,CRD,12.5 +VTS,1,5,420,2.16,CSH,8.5 +VTS,1,5,600,3.61,CRD,12.5 +VTS,1,5,660,2.28,CSH,10 +VTS,1,3,1020,4.26,CRD,15.5 +VTS,1,3,1320,3.14,CRD,15.5 +VTS,1,3,360,1.48,CSH,7 +VTS,1,1,1560,7.78,CSH,27 +VTS,2,3,2940,17.86,CSH,52 +VTS,1,1,1500,9.51,CRD,29 +VTS,2,1,2700,21.44,CSH,52 +VTS,1,1,1080,10.47,CRD,29 +VTS,2,1,2700,22.27,CRD,52 +VTS,1,1,1140,11.3,CRD,31 +VTS,1,1,1320,9.23,CSH,29 +VTS,2,1,4260,17.24,CRD,52 +VTS,1,1,1320,10.8,CRD,30.5 +VTS,1,1,2040,11.5,CRD,36 +VTS,2,1,2460,19.04,CSH,52 +VTS,1,5,180,1,CSH,5 +VTS,1,1,660,2.7,CRD,11 +VTS,1,5,540,1.9,CSH,9 +VTS,1,5,660,1.57,CSH,9 +VTS,1,5,360,1.41,CRD,6.5 +VTS,1,5,1620,6.64,CSH,21 +VTS,1,5,1500,10.41,CRD,31 +VTS,1,5,600,1.95,CRD,9 +VTS,1,5,180,0.48,CRD,3.5 +VTS,1,5,300,0.47,CSH,5 +VTS,1,5,540,1.57,CRD,8.5 +VTS,1,5,720,3.97,CSH,13.5 +VTS,1,5,840,3.47,CRD,13 +VTS,1,5,60,0.37,CSH,3 +VTS,1,5,540,1.66,CRD,8.5 +VTS,1,5,240,1.57,CSH,6 +VTS,1,5,180,0.51,CSH,4 +VTS,1,5,360,1.48,CRD,7 +VTS,1,5,840,3.49,CSH,13 +VTS,1,5,1680,10.17,CRD,31 +VTS,1,5,420,1.93,CRD,8 +VTS,1,5,840,2.62,CSH,12 +VTS,1,5,600,1.98,CSH,9 +VTS,1,5,780,2.82,CRD,11.5 +VTS,1,5,900,3.81,CRD,13.5 +VTS,1,5,960,4.06,CSH,15.5 +VTS,1,5,780,2.3,CSH,10.5 +VTS,1,5,540,3.15,CRD,11.5 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,780,3.39,CSH,13 +VTS,1,1,1080,9.89,CRD,28.5 +VTS,1,1,60,0.31,CSH,3 +VTS,1,1,600,1.54,CRD,8.5 +VTS,1,1,900,1.5,CSH,11 +VTS,2,1,2040,16.51,CRD,52 +VTS,2,1,1620,11.15,CRD,52 +VTS,1,1,960,1.98,CSH,13.5 +VTS,1,1,1500,10.44,CSH,32 +VTS,1,1,1020,10.47,CSH,29.5 +VTS,1,1,1080,1.88,CSH,9.5 +VTS,2,1,1380,16.19,CRD,52 +VTS,1,1,1800,9.78,CRD,31 +VTS,2,2,2940,19.66,CRD,52 +VTS,1,1,780,0.89,CSH,9 +VTS,1,1,1380,8.21,CSH,24.5 +VTS,1,1,300,0.79,CSH,5 +VTS,1,1,540,2.22,CSH,9.5 +VTS,1,1,660,1.11,CSH,8.5 +VTS,1,1,840,2.09,CSH,11 +VTS,5,1,3660,39.68,CRD,143 +VTS,1,1,540,1.74,CSH,8.5 +VTS,1,1,360,1.37,CSH,6.5 +VTS,1,6,420,1.09,CRD,7 +VTS,1,6,480,1.55,CRD,8 +VTS,1,3,840,5.85,CRD,18 +VTS,1,2,720,1.11,CRD,8.5 +VTS,1,2,540,1.53,CSH,8 +VTS,1,3,480,2.09,CSH,8 +VTS,2,2,1440,17.75,CRD,52 +VTS,1,3,600,2.49,CRD,10.5 +VTS,1,1,1020,3.69,CSH,14 +VTS,1,2,660,1.91,CSH,9 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,480,1.13,CSH,7 +VTS,2,2,2100,16.14,CSH,52 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,360,1.35,CSH,7 +VTS,1,1,300,1.23,CSH,6 +VTS,1,1,780,1.85,CSH,10 +VTS,2,2,2460,22.81,CSH,52 +VTS,2,2,1740,19.27,CRD,52 +VTS,2,1,1560,16.21,CRD,52 +VTS,1,1,1560,9.69,CSH,31 +VTS,2,2,2520,21.61,CSH,52 +VTS,2,2,3300,18.03,CRD,52 +VTS,1,1,1800,11.46,CSH,35.5 +VTS,1,1,840,2.19,CSH,10.5 +VTS,1,1,480,1.53,CRD,7.5 +VTS,2,2,3780,19.97,CSH,52 +VTS,2,1,2160,19.34,CSH,52 +VTS,1,1,480,1.43,CRD,7 +VTS,1,1,660,3.21,CSH,12 +VTS,1,1,1500,9.69,CSH,29.5 +VTS,2,1,3600,17.47,CSH,52 +VTS,2,1,3960,28.46,CRD,52 +VTS,1,1,240,0.9,CSH,5 +VTS,1,1,1680,9.88,CRD,30.5 +VTS,1,2,2040,6.71,CSH,28 +VTS,1,1,180,0.42,CSH,3.5 +VTS,1,1,360,1.35,CSH,6.5 +VTS,1,1,1020,1.32,CSH,11.5 +VTS,1,1,360,0.57,CSH,4 +VTS,1,1,720,1.09,CRD,8.5 +VTS,2,1,2940,21.09,CRD,52 +VTS,2,1,2820,21.5,CRD,52 +VTS,1,1,480,0.81,CSH,7 +VTS,1,1,960,1.06,CRD,8.5 +VTS,5,1,60,0.53,CRD,75 +VTS,1,1,360,1.09,CRD,6 +VTS,1,6,1020,2.65,CRD,13 +VTS,1,6,1320,4.73,CRD,18 +VTS,1,6,300,1.08,CSH,6 +VTS,1,1,420,2.49,CRD,9.5 +VTS,1,6,480,2.14,CSH,8.5 +VTS,1,6,1020,2.76,CRD,13 +VTS,1,6,1020,2.19,CRD,13 +VTS,1,2,1080,10.2,CRD,28.5 +VTS,1,2,420,2.28,CSH,9 +VTS,1,2,360,1.04,CSH,6.5 +VTS,1,3,420,1.57,CSH,7.5 +VTS,1,2,1080,5.94,CSH,20 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,660,1.62,CSH,9 +VTS,1,1,2940,16.19,CSH,48.5 +VTS,1,1,3000,18.19,CRD,55.5 +VTS,1,1,2340,23.76,CSH,63.5 +VTS,2,1,2820,17.05,CRD,52 +VTS,1,1,1440,10.95,CRD,32 +VTS,1,1,1320,13.64,CSH,38.5 +VTS,1,1,1800,12.18,CSH,37.5 +VTS,1,1,1020,10.57,CRD,29.5 +VTS,2,1,2640,21.37,CSH,52 +VTS,1,1,300,0.83,CSH,6 +VTS,1,1,2220,10.71,CSH,36 +VTS,1,1,660,3.5,CSH,12.5 +VTS,1,1,1560,7.46,CSH,25.5 +VTS,1,1,660,2.71,CSH,11 +VTS,1,1,540,2.5,CSH,9.5 +VTS,1,1,1080,6.46,CSH,21.5 +VTS,1,1,360,0.97,CRD,6 +VTS,1,1,1320,11.8,CRD,33 +VTS,1,1,780,1.85,CSH,10 +VTS,1,1,480,1.32,CRD,7 +VTS,1,1,780,1.26,CSH,9.5 +VTS,1,1,1020,10.44,CSH,29.5 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,1020,4.66,CSH,17 +VTS,1,1,3900,15.1,CRD,53 +VTS,2,2,2640,22.46,CSH,52 +VTS,1,1,360,0.85,CSH,5.5 +VTS,1,1,1620,6.51,CSH,23.5 +VTS,1,1,900,1.04,CRD,10.5 +VTS,1,1,1140,11.15,CRD,30.5 +VTS,1,1,540,1.64,CSH,7 +VTS,1,1,900,2.71,CSH,12.5 +VTS,1,1,480,2.83,CRD,10.5 +VTS,1,1,540,3.2,CRD,11.5 +VTS,1,1,240,1.06,CRD,6 +VTS,1,6,480,2.86,CSH,10 +VTS,1,6,120,0.17,CSH,3 +VTS,1,6,780,5.77,CRD,18.5 +VTS,1,6,540,2.72,CSH,10 +VTS,1,6,180,0.86,CSH,5 +VTS,1,6,660,2.51,CSH,11 +VTS,1,6,660,3.08,CRD,11.5 +VTS,1,6,900,2.73,CSH,12.5 +VTS,1,1,900,3,CSH,12.5 +VTS,1,1,1920,19.02,CRD,52.5 +VTS,1,1,180,0.52,CRD,4 +VTS,1,1,180,0.28,CSH,4 +VTS,1,1,780,2.15,CSH,10.5 +VTS,1,1,660,1.85,CRD,9.5 +VTS,1,1,900,9.01,CRD,26.5 +VTS,1,6,540,3.02,CRD,11 +VTS,1,6,780,2.1,CSH,10.5 +VTS,1,6,300,0.83,CRD,5.5 +VTS,1,6,240,0.7,CSH,5 +VTS,1,6,480,1.55,CRD,8 +VTS,1,6,480,2.95,CRD,11 +VTS,1,6,300,0.97,CRD,5.5 +VTS,1,6,540,1.46,CRD,8.5 +VTS,1,6,1080,3.74,CRD,15 +VTS,1,1,420,1.48,CRD,7.5 +VTS,1,1,420,1.45,CRD,7 +VTS,1,1,120,0.28,CSH,3.5 +VTS,1,1,540,3.39,CRD,12 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,420,1.51,CRD,7.5 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,240,1.19,CSH,5.5 +VTS,1,1,480,1.14,CRD,7.5 +VTS,1,1,960,3.18,CRD,14 +VTS,1,1,720,1.12,CSH,9 +VTS,1,1,540,3.74,CSH,12.5 +VTS,1,2,660,1.67,CSH,9 +VTS,2,1,2340,21.82,CSH,52 +VTS,1,1,1320,9.22,CRD,28 +VTS,1,1,1380,10.28,CRD,30.5 +VTS,1,1,720,1.94,CRD,10 +VTS,5,1,4860,22.18,CSH,88 +VTS,1,1,1020,11.34,CSH,31.5 +VTS,1,1,240,0.56,CSH,4.5 +VTS,2,1,2640,20.11,CSH,52 +VTS,4,1,1680,16,CRD,50 +VTS,1,1,2640,10.98,CRD,38.5 +VTS,1,1,2100,13.3,CRD,40.5 +VTS,1,1,60,0.13,CSH,3 +VTS,1,1,1020,10.53,CRD,29.5 +VTS,1,1,1080,2.15,CSH,11 +VTS,1,1,60,0.23,CSH,3 +VTS,1,1,240,0.46,CSH,4 +VTS,2,1,4200,18.36,CRD,52 +VTS,1,1,360,0.84,CSH,5.5 +VTS,1,1,720,2.13,CRD,10.5 +VTS,1,1,1200,4.66,CRD,17.5 +VTS,1,6,480,2.35,CRD,9 +VTS,1,6,540,2.75,CRD,10.5 +VTS,1,6,60,0.3,CSH,3 +VTS,1,6,780,4.21,CRD,15.5 +VTS,1,6,360,1.64,CRD,7 +VTS,1,6,420,2.2,CRD,8.5 +VTS,1,6,960,6.36,CSH,20 +VTS,1,6,600,3.11,CRD,11.5 +VTS,1,6,660,2.38,CRD,11 +VTS,1,1,480,1.94,CSH,8.5 +VTS,1,1,600,1,CSH,8 +VTS,1,1,480,1.15,CSH,7 +VTS,1,1,540,2.07,CRD,9 +VTS,1,1,660,2.2,CSH,10 +VTS,1,1,360,1.23,CSH,6 +VTS,1,1,360,2.05,CRD,8 +VTS,1,1,720,7.54,CRD,22 +VTS,1,1,660,4.49,CRD,14.5 +VTS,1,1,720,1.61,CSH,9.5 +VTS,1,1,600,1.94,CSH,9 +VTS,1,2,180,0.62,CSH,4 +VTS,1,2,600,2.04,CRD,9 +VTS,1,6,900,3.76,CRD,14 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,420,1.78,CRD,8.5 +VTS,1,1,1200,8.18,CRD,25.5 +VTS,1,1,960,4.49,CRD,16.5 +VTS,1,1,240,0.6,CRD,5 +VTS,1,1,1380,6.15,CRD,22 +VTS,1,2,240,0.77,CSH,5 +VTS,1,2,240,0.62,CSH,5 +VTS,1,6,300,1.08,CRD,6 +VTS,1,1,360,1.47,CRD,6.5 +VTS,1,1,600,1.9,CSH,9.5 +VTS,1,1,660,2.14,CRD,10 +VTS,1,1,480,1.62,CSH,8 +VTS,1,1,720,3.67,CRD,12.5 +VTS,1,1,300,1.43,CSH,6.5 +VTS,1,1,780,2.17,CSH,10.5 +VTS,1,1,840,2.69,CRD,12 +VTS,1,1,480,0.96,CSH,6.5 +VTS,1,1,360,1.31,CSH,6.5 +VTS,1,1,240,0.42,CRD,4.5 +VTS,1,2,240,1.29,CSH,5.5 +VTS,1,6,240,1.21,CRD,5.5 +VTS,1,6,480,1.62,CSH,7.5 +VTS,1,1,360,0.79,CRD,6 +VTS,1,1,120,0.42,CRD,4 +VTS,1,1,600,1.99,CSH,9.5 +VTS,1,1,60,0.31,CSH,3.5 +VTS,1,1,600,1.79,CRD,9 +VTS,1,1,780,1.92,CRD,10 +VTS,1,3,1260,3.72,CSH,16.5 +VTS,1,3,960,2.53,CRD,12.5 +VTS,1,2,120,0.4,CSH,3.5 +VTS,1,2,180,0.82,CRD,5 +VTS,1,1,600,1.47,CSH,8.5 +VTS,1,1,1800,15.7,CRD,44 +VTS,1,1,540,0.49,CSH,6.5 +VTS,1,1,1080,3.84,CSH,15 +VTS,1,1,360,1.92,CSH,7.5 +VTS,2,1,1500,16.49,CSH,52 +VTS,2,1,1440,16.38,CRD,52 +VTS,5,1,60,0,CRD,34.5 +VTS,1,1,1320,7.2,CSH,24 +VTS,1,1,660,1.37,CSH,9 +VTS,1,1,3660,19.29,CSH,62 +VTS,1,1,1320,11.61,CSH,33.5 +VTS,1,1,1920,11.16,CRD,34 +VTS,1,1,720,5.24,CRD,16.5 +VTS,1,1,660,0.94,CSH,7.5 +VTS,1,1,420,1.15,CSH,6.5 +VTS,2,1,1560,16.33,CSH,52 +VTS,2,2,1800,17.35,CSH,52 +VTS,1,1,60,0.16,CSH,3 +VTS,2,2,5580,20.34,CSH,52 +VTS,1,1,2040,14.99,CSH,44.5 +VTS,1,1,480,1.98,CSH,8 +VTS,1,1,660,2.15,CRD,10.5 +VTS,1,6,960,5.55,CSH,17.5 +VTS,1,6,900,3.32,CSH,13.5 +VTS,1,6,240,0.75,CRD,5 +VTS,1,6,900,5.78,CRD,19 +VTS,1,1,540,0.57,CSH,6.5 +VTS,1,1,1800,10.59,CSH,33 +VTS,2,1,3000,18.18,CSH,52 +VTS,1,1,1980,14.35,CRD,40.5 +VTS,1,1,1320,9.75,CSH,29 +VTS,1,1,2040,12.01,CRD,37.5 +VTS,1,1,1320,1.58,CSH,13.5 +VTS,1,1,780,2.49,CSH,11 +VTS,1,1,1740,9,CSH,29 +VTS,1,6,780,2.69,CSH,11.5 +VTS,1,1,240,0.94,CRD,5.5 +VTS,1,1,360,1.72,CSH,7.5 +VTS,1,1,540,1.8,CRD,8.5 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,480,2.62,CRD,10 +VTS,1,1,540,1.97,CRD,9.5 +VTS,1,1,300,1.02,CRD,5.5 +VTS,1,1,300,1.22,CSH,6 +VTS,1,1,1200,4.74,CRD,17.5 +VTS,1,1,480,0.97,CSH,6.5 +VTS,1,1,720,1.8,CSH,10 +VTS,1,2,540,2.11,CRD,9 +VTS,1,2,600,1.86,CSH,9 +VTS,1,2,420,1.4,CSH,7.5 +VTS,1,2,600,2.65,CRD,10.5 +VTS,2,6,2100,18.18,CRD,52 +VTS,1,1,240,1.08,CRD,5 +VTS,1,1,600,1.79,CSH,9 +VTS,1,1,780,2.46,CRD,10.5 +VTS,1,1,1560,6.01,CRD,21.5 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,480,1.1,CRD,7 +VTS,1,1,1080,1.92,CSH,10.5 +VTS,1,1,360,0.81,CSH,6 +VTS,1,1,360,0.71,CSH,5.5 +VTS,1,1,900,2.44,CRD,12.5 +VTS,1,1,180,0.59,CRD,4 +VTS,1,1,720,1.35,CRD,9 +VTS,1,2,360,1.03,CRD,6.5 +VTS,1,2,1560,3.12,CSH,19 +VTS,1,6,360,0.91,CSH,6 +VTS,1,6,120,0.66,CSH,4.5 +VTS,1,1,240,0.92,CRD,5 +VTS,1,1,420,1.48,CRD,7.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,480,1.93,CSH,8.5 +VTS,1,1,120,0.59,CSH,4.5 +VTS,1,3,480,1.36,CSH,7.5 +VTS,1,2,480,2.46,CRD,9.5 +VTS,1,3,720,4.16,CRD,14 +VTS,1,1,180,0.77,CRD,5 +VTS,1,6,720,2.78,CRD,11.5 +VTS,1,6,480,1.59,CSH,8 +VTS,1,6,840,2.15,CRD,11.5 +VTS,1,1,720,2.01,CRD,10 +VTS,1,1,240,0.83,CRD,5 +VTS,1,1,720,2.4,CSH,10 +VTS,1,1,240,0.67,CSH,5 +VTS,1,1,660,4.35,CSH,14 +VTS,1,1,600,1.57,CRD,8.5 +VTS,1,1,180,0.46,CRD,4 +VTS,1,1,420,0.96,CRD,6.5 +VTS,1,2,180,1.21,CRD,5.5 +VTS,1,1,1800,8.06,CRD,29 +VTS,1,2,840,4.31,CSH,14.5 +VTS,1,6,900,2.16,CSH,12 +VTS,1,6,1020,2.23,CSH,12.5 +VTS,1,1,720,1.66,CRD,10 +VTS,1,2,300,0.64,CSH,5.5 +VTS,1,2,600,2.62,CSH,10.5 +VTS,1,2,180,0.44,CSH,4.5 +VTS,1,1,240,1,CSH,5 +VTS,1,1,60,0.34,CSH,3 +VTS,1,1,480,1.58,CRD,8 +VTS,1,1,240,0.46,CRD,4.5 +VTS,1,1,1020,4.41,CSH,16.5 +VTS,1,1,360,0.61,CSH,5.5 +VTS,1,6,360,1.13,CSH,6.5 +VTS,1,6,180,0.63,CSH,4.5 +VTS,1,6,240,1.02,CRD,5 +VTS,1,6,1260,3.04,CRD,15 +VTS,1,6,840,2.53,CSH,12 +VTS,1,1,360,0.92,CRD,6 +VTS,1,1,600,1.35,CSH,8 +VTS,1,1,300,1.2,CRD,6 +VTS,1,1,1020,5.53,CSH,18.5 +VTS,1,1,420,1.42,CSH,7.5 +VTS,1,1,180,1.25,CSH,5.5 +VTS,1,1,720,2.39,CRD,11 +VTS,1,1,1020,2.24,CRD,12.5 +VTS,1,1,900,1.93,CSH,11 +VTS,1,1,360,0.8,CSH,6 +VTS,1,1,1500,2.97,CSH,17 +VTS,1,1,900,1.84,CRD,11 +VTS,1,2,540,2.58,CSH,10 +VTS,1,2,300,1.04,CRD,5.5 +VTS,1,2,420,2.28,CRD,8.5 +VTS,1,6,480,1.85,CSH,8.5 +VTS,2,1,1500,17.69,CSH,52 +VTS,1,1,1440,3.32,CSH,17 +VTS,1,1,180,0.84,CRD,4.5 +VTS,1,1,1140,4.81,CRD,18.5 +VTS,1,1,1140,5.06,CRD,17.5 +VTS,1,2,240,1.71,CRD,7 +VTS,1,3,840,4.71,CRD,16 +VTS,1,1,720,2.14,CSH,10.5 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,300,1.05,CSH,5.5 +VTS,1,1,780,1.76,CRD,9.5 +VTS,1,1,840,2.3,CSH,11.5 +VTS,1,1,780,5.07,CRD,17 +VTS,1,5,60,0.65,CRD,4 +VTS,1,5,660,2.94,CRD,11.5 +VTS,1,5,180,1.05,CRD,5 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,540,2.74,CRD,11 +VTS,1,1,1140,7.11,CSH,23.5 +VTS,1,1,960,6.06,CRD,19.5 +VTS,1,1,1140,7.52,CRD,24.5 +VTS,1,1,540,1.04,CRD,7.5 +VTS,1,1,840,2.13,CRD,11 +VTS,1,1,240,0.66,CSH,4.5 +VTS,1,1,600,1.49,CRD,8.5 +VTS,1,1,180,0.79,CRD,5 +VTS,1,1,1260,7.26,CRD,24 +VTS,1,1,660,1.41,CSH,9 +VTS,1,1,480,1.51,CRD,7.5 +VTS,1,1,1320,5.07,CRD,19.5 +VTS,1,1,360,1.38,CSH,6.5 +VTS,1,1,1020,8.86,CRD,25.5 +VTS,1,1,1080,8.99,CSH,26.5 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,1080,2.96,CRD,15 +VTS,1,1,480,1.65,CRD,8 +VTS,1,5,600,1.75,CSH,9.5 +VTS,1,5,600,1.46,CSH,7 +VTS,1,5,1440,5.92,CRD,21.5 +VTS,1,1,840,5.63,CSH,19 +VTS,1,1,1140,7.32,CRD,24 +VTS,1,1,420,0.95,CRD,6.5 +VTS,1,1,420,1.16,CSH,6.5 +VTS,1,1,960,1.82,CSH,10.5 +VTS,1,1,720,4.78,CRD,15.5 +VTS,1,1,1500,5.74,CRD,23.5 +VTS,1,1,660,3.74,CRD,13.5 +VTS,1,1,1140,2.93,CSH,14.5 +VTS,1,1,540,1.63,CRD,8 +VTS,1,1,480,2.55,CRD,9.5 +VTS,1,1,600,1.31,CSH,8.5 +VTS,1,1,60,0.31,CRD,3 +VTS,1,1,600,1.14,CRD,8.5 +VTS,1,1,1200,4.95,CSH,18 +VTS,1,1,900,3.71,CRD,14.5 +VTS,1,1,600,1.67,CSH,8.5 +VTS,1,1,360,1.37,CSH,7 +VTS,1,1,900,4.38,CRD,15.5 +VTS,1,1,720,2.51,CRD,10.5 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,1,780,7.6,CRD,22 +VTS,2,1,1920,18.78,CRD,52 +VTS,1,3,540,1.69,CSH,8.5 +VTS,1,3,480,0.77,CRD,6.5 +VTS,1,2,1980,5.46,CRD,25 +VTS,1,2,420,1.79,CRD,8.5 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,1,540,2.53,CRD,10 +VTS,1,1,600,2.17,CSH,9.5 +VTS,1,1,840,2.85,CSH,12 +VTS,1,1,240,0.69,CRD,4.5 +VTS,1,1,120,0.54,CSH,4 +VTS,1,1,240,0.88,CSH,5.5 +VTS,1,1,780,7.08,CRD,21 +VTS,1,1,360,1.4,CSH,7 +VTS,1,1,660,1.69,CRD,9.5 +VTS,1,5,600,2.56,CSH,10 +VTS,1,5,300,1.23,CSH,6 +VTS,1,1,660,2.12,CSH,10 +VTS,1,1,780,2.85,CSH,12 +VTS,1,1,120,0.29,CRD,3.5 +VTS,1,1,540,0.67,CSH,7 +VTS,1,1,720,6.39,CRD,19 +VTS,1,6,60,0.51,CRD,3.5 +VTS,1,1,180,0.61,CSH,4 +VTS,1,1,120,0.47,CSH,4 +VTS,1,1,480,1.91,CRD,8.5 +VTS,1,1,540,2.22,CRD,9.5 +VTS,1,2,660,2.03,CSH,10.5 +VTS,1,3,1080,4.88,CSH,17.5 +VTS,1,1,1140,3.13,CRD,15 +VTS,1,1,780,2.74,CRD,12 +VTS,1,1,480,3.02,CRD,10.5 +VTS,1,1,480,0.48,CRD,6.5 +VTS,1,1,1380,4.89,CSH,20 +VTS,1,1,960,1.02,CSH,11 +VTS,1,1,1740,13.16,CSH,39 +VTS,1,5,540,2.11,CSH,9 +VTS,1,5,780,4.67,CSH,15.5 +VTS,1,1,1200,10.19,CRD,29.5 +VTS,1,1,300,1.48,CSH,7 +VTS,1,1,300,1.76,CSH,7.5 +VTS,1,1,1080,2.7,CRD,13.5 +VTS,1,1,540,1.86,CRD,8.5 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,240,1,CRD,5 +VTS,1,1,360,0.9,CRD,6 +VTS,1,1,780,5.33,CSH,16.5 +VTS,1,1,240,0.92,CRD,5.5 +VTS,1,5,660,1.2,CRD,8.5 +VTS,1,1,300,0.64,CSH,4.5 +VTS,1,1,180,0.86,CSH,5 +VTS,1,1,300,0.68,CRD,5 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,600,1.9,CSH,8.5 +VTS,1,1,600,2.61,CSH,10 +VTS,1,1,360,1.45,CRD,7 +VTS,1,1,780,7.21,CSH,21.5 +VTS,1,1,900,7.77,CSH,23 +VTS,1,1,720,3.77,CSH,14 +VTS,1,1,1500,9.91,CSH,30.5 +VTS,1,1,420,1.57,CRD,7.5 +VTS,1,1,420,0.48,CSH,6 +VTS,1,1,960,4.25,CSH,15 +VTS,1,1,300,1.4,CRD,6.5 +VTS,1,1,600,2.21,CRD,9.5 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,360,0.88,CRD,6 +VTS,1,1,420,1.53,CRD,7.5 +VTS,1,1,300,1.77,CSH,7 +VTS,1,1,660,2.91,CSH,11 +VTS,1,1,1320,3.62,CRD,17 +VTS,1,1,600,2.27,CRD,10 +VTS,1,1,480,1.18,CRD,7.5 +VTS,1,1,240,0.95,CRD,6 +VTS,1,1,540,3.06,CSH,11.5 +VTS,1,1,420,1.29,CRD,7 +VTS,1,1,420,0.88,CRD,6.5 +VTS,1,1,1020,6.27,CRD,20 +VTS,1,1,840,2.53,CRD,11.5 +VTS,1,1,180,0.54,CSH,4 +VTS,1,1,1080,3.57,CRD,14.5 +VTS,1,1,240,0.84,CRD,5.5 +VTS,1,1,1500,10.98,CRD,33 +VTS,1,1,120,0.74,CSH,4.5 +VTS,1,1,60,0.54,CSH,3.5 +VTS,1,1,960,3.78,CRD,15 +VTS,1,1,480,1.79,CRD,8.5 +VTS,1,1,1080,4.88,CSH,17 +VTS,1,1,1140,5.08,CRD,19 +VTS,1,1,780,1.74,CRD,10 +VTS,1,1,360,0.82,CSH,5.5 +VTS,1,1,1020,2.35,CRD,13 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,480,3.29,CSH,11 +VTS,1,1,720,4.51,CSH,15 +VTS,1,1,180,0.51,CRD,4 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,540,1.24,CRD,7.5 +VTS,1,1,420,1.26,CRD,7 +VTS,1,1,1740,2.88,CSH,17.5 +VTS,1,2,360,2.49,CRD,8.5 +VTS,1,1,420,1.18,CSH,7 +VTS,1,1,300,1.06,CSH,6 +VTS,1,1,120,0.51,CSH,4 +VTS,1,1,240,1.22,CRD,5.5 +VTS,1,2,300,0.8,CSH,5.5 +VTS,1,3,1200,3.4,CSH,16 +VTS,1,1,300,1.71,CRD,7 +VTS,1,1,360,1.67,CRD,7 +VTS,1,1,240,0.83,CSH,5.5 +VTS,1,1,720,1.54,CRD,9.5 +VTS,1,1,300,1.79,CRD,7 +VTS,1,1,660,1.9,CSH,9.5 +VTS,1,1,720,1.04,CRD,9 +VTS,1,1,1620,8.58,CRD,27.5 +VTS,1,5,900,2.77,CRD,13 +VTS,1,5,1020,3.43,CRD,14 +VTS,1,5,900,3.09,CSH,13 +VTS,1,5,480,2.61,CRD,9.5 +VTS,1,1,540,2.66,CRD,10 +VTS,1,1,780,1.74,CRD,10 +VTS,1,1,2700,8.79,CRD,34 +VTS,1,1,360,0.98,CSH,6.5 +VTS,1,1,420,1.11,CRD,7 +VTS,1,1,300,0.66,CRD,5.5 +VTS,1,1,360,1.04,CRD,6 +VTS,1,1,1440,3.72,CSH,17.5 +VTS,1,1,720,2.89,CRD,12 +VTS,1,1,180,0.54,CSH,4.5 +VTS,1,1,540,1.93,CSH,8.5 +VTS,1,1,720,3.43,CRD,12 +VTS,1,1,600,1.78,CSH,9.5 +VTS,1,1,1320,6.04,CRD,21 +VTS,1,1,540,1.13,CSH,7.5 +VTS,1,1,660,1.22,CRD,8 +VTS,1,1,420,1.44,CSH,7 +VTS,1,1,480,2.23,CRD,9 +VTS,1,1,600,1.75,CRD,9 +VTS,1,1,300,0.86,CRD,5.5 +VTS,2,1,2100,19.1,CRD,52 +VTS,1,1,540,1.52,CRD,8.5 +VTS,1,1,660,3.01,CRD,11 +VTS,1,1,720,3.31,CRD,12 +VTS,1,1,480,1.03,CSH,6.5 +VTS,1,1,1560,5.99,CSH,23 +VTS,1,1,900,7.16,CRD,22 +VTS,1,1,1140,6.14,CSH,19.5 +VTS,1,1,780,1.01,CRD,9 +VTS,1,1,420,1.21,CSH,6.5 +VTS,1,1,900,1.98,CSH,11 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,840,2.38,CRD,11 +VTS,1,1,1680,5.55,CRD,22.5 +VTS,1,1,600,1.86,CSH,9 +VTS,1,1,720,1.89,CSH,9 +VTS,1,1,1140,11.35,CRD,31.5 +VTS,5,1,0,0.01,CRD,34.5 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,1380,3.42,CSH,17 +VTS,1,1,420,1.13,CSH,6 +VTS,1,1,1140,6.78,CSH,22.5 +VTS,1,1,420,1.24,CSH,7 +VTS,1,1,240,0.72,CSH,5 +VTS,1,1,720,3.14,CRD,12 +VTS,1,1,2040,4.57,CRD,22.5 +VTS,1,1,600,3.71,CRD,13 +VTS,1,1,780,3.73,CRD,13.5 +VTS,1,6,900,5.33,CRD,17 +VTS,1,1,720,2.29,CSH,10.5 +VTS,1,6,1080,4.61,CSH,17.5 +VTS,1,6,180,0.44,CRD,4 +VTS,1,6,660,1.38,CSH,9 +VTS,1,1,420,1.28,CSH,7 +VTS,1,6,540,1.13,CRD,7.5 +VTS,1,1,300,0.69,CRD,5 +VTS,1,1,180,0.56,CSH,4 +VTS,1,1,660,1.93,CSH,9.5 +VTS,1,1,540,1.75,CSH,8 +VTS,1,1,720,3.11,CSH,12.5 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,300,1.34,CRD,6 +VTS,1,1,540,1.79,CSH,8.5 +VTS,1,1,420,1.51,CSH,7.5 +VTS,1,1,480,0.87,CRD,6.5 +VTS,1,3,420,1.86,CRD,8 +VTS,1,1,1260,4.23,CRD,17.5 +VTS,1,1,420,1,CRD,7 +VTS,1,2,1020,4.09,CRD,15.5 +VTS,1,6,780,2.99,CRD,11.5 +VTS,1,1,540,1.3,CRD,7.5 +VTS,1,1,180,0.55,CRD,4.5 +VTS,1,1,540,2.13,CRD,9 +VTS,1,3,1200,3.8,CRD,16 +VTS,1,2,1200,4.31,CRD,17.5 +VTS,1,3,2160,13.79,CSH,42.5 +VTS,1,2,480,2.52,CRD,10 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,600,2.37,CRD,10 +VTS,1,1,780,2.17,CRD,11 +VTS,1,1,480,1.54,CRD,8 +VTS,1,1,480,1.68,CSH,8 +VTS,1,1,60,0.35,CRD,3 +VTS,1,1,120,0.53,CRD,4 +VTS,1,1,300,1.81,CSH,7 +VTS,1,5,480,1.46,CRD,7.5 +VTS,1,5,1260,5.07,CRD,19.5 +VTS,1,1,780,1.66,CSH,9.5 +VTS,1,1,660,1.75,CRD,9.5 +VTS,1,1,480,0.87,CRD,7 +VTS,1,1,480,2.99,CRD,11 +VTS,1,1,720,1.78,CSH,10 +VTS,1,2,660,3.54,CSH,13.5 +VTS,1,1,360,1.17,CSH,6 +VTS,1,1,300,0.42,CSH,5 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,540,1.34,CRD,8 +VTS,1,1,600,2.01,CRD,9 +VTS,1,1,180,0.62,CSH,4 +VTS,1,1,540,2.12,CRD,9.5 +VTS,1,1,360,0.8,CRD,5.5 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,420,1.36,CSH,7 +VTS,1,1,480,1.09,CRD,6.5 +VTS,1,1,660,1.35,CRD,8 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,840,1.6,CRD,10 +VTS,1,1,720,1.53,CRD,9.5 +VTS,1,1,360,0.89,CRD,5.5 +VTS,1,1,480,3.91,CSH,12.5 +VTS,1,1,900,2.67,CRD,12 +VTS,1,5,720,2.53,CRD,10.5 +VTS,1,5,1020,5,CRD,17.5 +VTS,1,1,660,2.49,CSH,10.5 +VTS,1,1,1140,5.9,CRD,20.5 +VTS,1,1,600,2.02,CSH,9 +VTS,1,1,120,0.69,CRD,4.5 +VTS,1,1,120,0.59,CSH,4 +VTS,1,1,540,2.03,CSH,9 +VTS,1,1,660,1.41,CSH,9 +VTS,1,1,420,1.41,CSH,7 +VTS,1,1,180,0.95,CSH,4.5 +VTS,1,1,420,0.92,CSH,6 +VTS,1,1,480,1.5,CRD,7.5 +VTS,1,1,300,2.31,CSH,8 +VTS,1,1,240,0.9,CRD,5 +VTS,1,1,240,0.56,CSH,5 +VTS,1,1,840,1.68,CRD,10 +VTS,1,1,660,2.07,CSH,9.5 +VTS,1,1,900,3.56,CSH,14.5 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,600,1.68,CSH,9 +VTS,1,1,660,3.57,CRD,12.5 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,480,1.02,CRD,7.5 +VTS,1,1,720,2.08,CRD,10 +VTS,1,1,1020,3.5,CRD,14 +VTS,1,1,240,1.16,CRD,6 +VTS,1,1,1260,9.6,CRD,28 +VTS,1,1,900,2.62,CSH,12 +VTS,1,1,1920,12,CSH,37.5 +VTS,1,1,1260,3.72,CRD,16.5 +VTS,1,1,960,2.84,CSH,13 +VTS,1,1,660,1.24,CSH,8.5 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,780,0.81,CRD,9 +VTS,1,1,900,1.63,CRD,11 +VTS,1,1,300,0.78,CRD,5 +VTS,1,1,540,2.43,CSH,10 +VTS,1,1,960,3.86,CRD,15.5 +VTS,1,1,780,6.71,CRD,20 +VTS,1,1,540,2.07,CRD,9 +VTS,1,1,720,2.78,CRD,11 +VTS,1,1,780,2.03,CRD,10 +VTS,1,1,720,1.87,CSH,9.5 +VTS,1,1,720,2.76,CSH,11.5 +VTS,1,2,600,3.55,CRD,12.5 +VTS,1,1,540,1.58,CSH,8.5 +VTS,1,1,1080,5.97,CRD,20.5 +VTS,1,1,1140,5.93,CSH,20 +VTS,1,2,420,1.86,CRD,8.5 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,240,2.07,CSH,7.5 +VTS,1,1,180,0.57,CSH,4 +VTS,1,1,420,1.57,CSH,7 +VTS,1,1,180,0.57,CRD,4 +VTS,1,1,120,0.25,CSH,3.5 +VTS,1,1,600,1.45,CSH,8 +VTS,1,1,840,3.8,CRD,14.5 +VTS,1,1,480,1.04,CSH,6.5 +VTS,1,1,660,1.54,CSH,9 +VTS,1,1,420,1.21,CRD,6.5 +VTS,1,1,480,2.27,CRD,9 +VTS,1,1,600,1.31,CRD,8 +VTS,1,1,540,1.39,CSH,8 +VTS,1,1,600,2.5,CRD,10 +VTS,1,1,1080,3.3,CRD,14.5 +VTS,1,1,360,1.12,CRD,6 +VTS,1,2,360,1.48,CRD,7 +VTS,1,1,960,2.68,CRD,12.5 +VTS,1,1,360,1.17,CSH,6 +VTS,1,2,600,1.64,CSH,8.5 +VTS,1,2,360,1.53,CRD,7 +VTS,1,1,660,3.47,CSH,12.5 +VTS,1,1,960,3.06,CRD,13 +VTS,1,1,300,1.05,CSH,6 +VTS,1,1,600,1.87,CSH,9 +VTS,1,1,360,1.97,CSH,8 +VTS,1,1,240,0.76,CSH,5 +VTS,1,1,480,1.64,CRD,8 +VTS,1,1,420,1.24,CSH,7 +VTS,1,1,780,2.31,CSH,10.5 +VTS,1,1,1200,4.11,CSH,17 +VTS,1,1,180,0.69,CSH,4 +VTS,1,1,240,0.65,CSH,5 +VTS,1,1,600,1.07,CSH,7.5 +VTS,1,1,1140,1.53,CRD,13 +VTS,1,1,420,1.14,CRD,7 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,480,1.25,CRD,7 +VTS,1,1,480,0.86,CSH,6.5 +VTS,1,1,1080,2.7,CSH,12.5 +VTS,1,1,540,1.53,CRD,8 +VTS,1,1,660,1.29,CRD,8 +VTS,1,1,120,0.49,CSH,4 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,900,6.46,CRD,20.5 +VTS,1,1,3240,15.75,CSH,49.5 +VTS,1,1,960,3.8,CSH,15.5 +VTS,1,1,900,4.46,CRD,15.5 +VTS,1,1,180,0.7,CSH,5 +VTS,1,1,1860,12,CRD,36.5 +VTS,1,1,240,1.01,CSH,5 +VTS,1,1,720,2.43,CRD,10.5 +VTS,1,1,1140,4.07,CSH,16.5 +VTS,1,1,1200,8.65,CRD,26.5 +VTS,1,1,1020,3.51,CSH,14.5 +VTS,1,1,420,0.62,CRD,5.5 +VTS,1,1,360,1.28,CRD,7 +VTS,1,1,360,1.13,CRD,6.5 +VTS,1,1,660,2.01,CRD,10 +VTS,1,1,480,1.26,CSH,7 +VTS,1,1,60,0.2,CRD,3 +VTS,1,1,480,1.48,CRD,7.5 +VTS,1,1,360,0.63,CRD,5.5 +VTS,1,1,720,2.47,CRD,11 +VTS,1,1,420,2.68,CSH,9.5 +VTS,1,1,600,2.86,CRD,11 +VTS,1,1,60,0.63,CSH,4 +VTS,1,1,480,1.25,CRD,7 +VTS,1,1,600,1.59,CSH,9 +VTS,1,3,240,0.51,CRD,4.5 +VTS,1,3,720,4.88,CRD,16 +VTS,1,3,240,1.21,CRD,6 +VTS,1,3,780,1.98,CSH,10 +VTS,1,4,540,1.47,CSH,8.5 +VTS,1,3,780,3.33,CSH,12.5 +VTS,1,3,180,0.95,CRD,5 +VTS,1,3,660,3.37,CRD,13.5 +VTS,2,1,1920,17.67,CSH,52 +VTS,1,1,840,2.64,CRD,12 +VTS,1,1,1560,5.64,CRD,21.5 +VTS,1,1,1560,3.97,CRD,19 +VTS,1,1,540,5.14,CRD,15.5 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,1560,5.54,CRD,20 +VTS,1,1,540,1.81,CRD,8 +VTS,1,1,1620,8.43,CRD,28 +VTS,1,1,1260,4.6,CRD,18 +VTS,1,1,420,1.12,CSH,6.5 +VTS,1,1,180,0.42,CSH,4.5 +VTS,1,1,960,2.81,CSH,13.5 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,540,2.37,CRD,9.5 +VTS,1,1,120,0.54,CSH,4 +VTS,1,1,480,1.73,CSH,8.5 +VTS,1,1,840,2.35,CRD,11.5 +VTS,1,1,240,0.89,CRD,5 +VTS,1,1,720,2.64,CSH,11 +VTS,1,1,1140,4.27,CSH,16 +VTS,1,2,720,4.04,CSH,14 +VTS,1,2,660,3.04,CSH,12 +VTS,1,1,2340,10.78,CRD,38 +VTS,1,1,420,1.39,CRD,7 +VTS,1,1,1500,6.49,CRD,24 +VTS,1,1,660,2.24,CSH,9.5 +VTS,1,1,420,1.85,CRD,7.5 +VTS,1,1,600,1.49,CSH,8.5 +VTS,1,1,1560,6.12,CSH,23 +VTS,1,1,360,1.05,CRD,6.5 +VTS,1,1,240,0.77,CSH,5 +VTS,1,1,660,1.68,CRD,8.5 +VTS,1,1,480,1.03,CSH,7 +VTS,1,1,780,2.9,CSH,12 +VTS,1,1,240,0.53,CSH,5 +VTS,1,1,480,1.54,CSH,8 +VTS,1,1,420,1.29,CRD,7 +VTS,1,1,1620,9.35,CRD,30.5 +VTS,1,1,300,1.14,CSH,6 +VTS,1,1,240,0.84,CRD,5.5 +VTS,1,1,300,1.43,CSH,6.5 +VTS,1,1,720,3.05,CRD,12 +VTS,1,1,420,0.98,CSH,6 +VTS,1,1,540,1.59,CRD,8 +VTS,1,1,420,1.31,CRD,7.5 +VTS,1,1,600,1.03,CSH,8 +VTS,1,1,420,1.24,CRD,6.5 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,1560,9.19,CSH,29 +VTS,1,1,900,2,CRD,11.5 +VTS,1,1,900,7.14,CSH,22 +VTS,1,1,360,0.92,CSH,5.5 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,240,0.8,CSH,5.5 +VTS,1,1,720,1.81,CRD,9.5 +VTS,1,1,840,4.18,CRD,15.5 +VTS,1,1,240,0.64,CSH,5 +VTS,1,1,1680,12.48,CRD,37 +VTS,2,1,2280,17.89,CRD,52 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,1620,10.69,CRD,33 +VTS,1,1,360,1.08,CSH,6 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,600,2.86,CRD,10.5 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,420,1.58,CSH,7.5 +VTS,1,1,420,1.08,CRD,7 +VTS,1,2,480,2.09,CRD,9 +VTS,1,2,180,0.6,CRD,4 +VTS,1,3,360,1.02,CSH,6 +VTS,1,3,180,0.89,CRD,4.5 +VTS,1,3,660,5.06,CRD,15.5 +VTS,1,4,1020,4.31,CRD,16.5 +VTS,1,3,540,1.26,CRD,7.5 +VTS,1,3,360,1.59,CRD,7 +VTS,1,3,720,4.16,CRD,14.5 +VTS,1,1,1380,7.47,CRD,25 +VTS,1,1,1260,4.73,CRD,18 +VTS,1,4,600,2.09,CRD,9.5 +VTS,1,3,240,0.77,CRD,5 +VTS,1,4,300,0.73,CSH,5 +VTS,1,3,360,1,CRD,6 +VTS,1,3,660,1.92,CRD,10 +VTS,1,3,420,2.02,CSH,8 +VTS,1,3,360,1.97,CSH,7.5 +VTS,1,3,300,1.15,CSH,6 +VTS,1,3,360,1.02,CSH,6 +VTS,1,3,840,4.53,CRD,16 +VTS,1,3,720,1.13,CSH,9 +VTS,1,3,120,0.51,CRD,4 +VTS,1,4,360,1.22,CRD,7 +VTS,1,4,660,2.02,CRD,9.5 +VTS,1,4,240,1.57,CRD,6.5 +VTS,1,2,1080,2.36,CRD,13.5 +VTS,1,3,420,1.6,CRD,7.5 +VTS,1,3,1140,2.25,CSH,13.5 +VTS,1,3,180,0.61,CSH,4.5 +VTS,1,4,480,1.93,CSH,8.5 +VTS,1,2,540,2.94,CSH,10.5 +VTS,1,4,480,2.68,CRD,10 +VTS,1,3,1440,8.75,CSH,28 +VTS,1,4,960,2.45,CRD,12 +VTS,1,2,1440,4.82,CRD,20 +VTS,1,1,840,9.43,CSH,26 +VTS,1,1,180,1.13,CRD,5.5 +VTS,1,1,300,0.56,CRD,5 +VTS,1,1,1080,3.55,CRD,15 +VTS,1,2,300,0.66,CRD,5 +VTS,1,4,540,1.38,CRD,8.5 +VTS,1,3,660,2.86,CRD,11 +VTS,1,3,420,1.46,CSH,7 +VTS,1,4,540,1.34,CRD,8 +VTS,1,4,1320,4.01,CSH,18 +VTS,1,5,600,0.95,CSH,7 +VTS,1,2,300,1.2,CSH,6.5 +VTS,2,2,1140,15.06,CSH,52 +VTS,1,4,480,1.24,CRD,7 +VTS,1,4,300,1.55,CSH,7 +VTS,1,3,540,1.03,CSH,7.5 +VTS,1,2,660,1.3,CSH,8.5 +VTS,1,3,720,1.47,CSH,9.5 +VTS,1,4,600,1.69,CSH,9 +VTS,1,3,960,3.79,CSH,15 +VTS,1,3,480,1.55,CRD,8 +VTS,1,3,420,0.9,CRD,6.5 +VTS,1,3,480,0.86,CSH,7 +VTS,1,4,480,1.36,CRD,7.5 +VTS,1,5,600,1.78,CRD,9 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,4,720,3.38,CRD,13.5 +VTS,1,3,540,1.74,CSH,8.5 +VTS,1,3,1320,4.36,CRD,18 +VTS,1,3,300,0.73,CRD,5 +VTS,1,3,420,1.33,CSH,7.5 +VTS,1,3,420,1.1,CRD,6.5 +VTS,1,4,420,2.21,CRD,8.5 +VTS,1,3,480,2.29,CSH,9 +VTS,1,3,360,0.71,CSH,5.5 +VTS,2,1,0,0,CRD,52 +VTS,2,1,1500,18.79,CRD,52 +VTS,1,4,360,1.19,CSH,6.5 +VTS,1,3,900,1.21,CSH,10 +VTS,1,3,600,2.75,CSH,10 +VTS,1,3,1200,3.85,CSH,16 +VTS,1,4,840,1.69,CSH,11 +VTS,1,3,300,1.15,CRD,6 +VTS,1,4,720,1.96,CSH,10.5 +VTS,1,4,1320,4.73,CSH,18.5 +VTS,1,3,540,1.15,CRD,7.5 +VTS,1,4,600,1.56,CSH,8 +VTS,1,4,420,1.39,CRD,7 +VTS,1,3,180,0.55,CRD,4.5 +VTS,1,4,240,0.89,CSH,5 +VTS,1,3,480,0.66,CSH,6.5 +VTS,1,4,780,2.28,CRD,11 +VTS,1,1,660,3.02,CSH,11.5 +VTS,1,1,780,4.29,CRD,15.5 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,960,1.96,CSH,12 +VTS,1,1,360,1.72,CSH,7 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,360,1.6,CSH,7 +VTS,1,1,600,0.84,CSH,8 +VTS,1,1,600,2.66,CRD,10.5 +VTS,1,1,240,1.22,CRD,6 +VTS,1,1,840,1.76,CRD,10.5 +VTS,1,1,720,3.59,CSH,12.5 +VTS,1,1,780,3.71,CSH,13.5 +VTS,1,1,360,0.77,CRD,5.5 +VTS,1,1,480,0.95,CSH,7 +VTS,1,1,900,2.88,CSH,12.5 +VTS,1,1,120,0.78,CSH,4 +VTS,1,1,1440,4.45,CRD,19 +VTS,1,1,240,1.05,CRD,5.5 +VTS,1,1,540,1.65,CRD,9 +VTS,1,1,300,0.9,CSH,6 +VTS,1,1,840,3.39,CSH,13.5 +VTS,1,1,120,0.74,CSH,4.5 +VTS,1,1,600,1.7,CSH,9 +VTS,1,1,540,2.66,CRD,11 +VTS,1,1,840,3.24,CRD,13 +VTS,1,3,420,1.41,CSH,7.5 +VTS,1,4,420,0.66,CRD,6 +VTS,1,4,1320,2.86,CSH,15.5 +VTS,1,4,1440,5.02,CRD,19.5 +VTS,1,3,660,2.17,CRD,10.5 +VTS,1,4,660,2.61,CSH,10.5 +VTS,1,4,540,3.01,CRD,11.5 +VTS,1,3,660,5.7,CRD,17.5 +VTS,1,2,780,3.9,CRD,14 +VTS,1,4,540,1.72,CSH,8.5 +VTS,1,4,1080,2.22,CRD,13 +VTS,1,4,540,0.75,CRD,7 +VTS,1,4,1440,2.4,CSH,15 +VTS,1,4,720,2.05,CSH,11 +VTS,1,3,840,2.59,CRD,12 +VTS,1,3,180,0.7,CSH,4.5 +VTS,1,3,1140,5.65,CSH,19.5 +VTS,1,5,540,1.96,CSH,8.5 +VTS,1,3,240,0.86,CRD,5 +VTS,1,3,180,0.74,CRD,5 +VTS,1,4,300,1.21,CRD,6 +VTS,1,3,480,1.26,CSH,7.5 +VTS,1,2,360,1.04,CRD,6 +VTS,1,3,900,2.88,CSH,12.5 +VTS,1,4,360,1.04,CRD,6 +VTS,1,3,480,3.44,CRD,12 +VTS,1,1,660,2.3,CRD,10 +VTS,1,1,2160,18.52,CRD,50.5 +VTS,1,4,1320,5.81,CSH,20.5 +VTS,1,1,1920,11.55,CSH,35 +VTS,1,1,180,0.43,CRD,4 +VTS,1,1,600,2.1,CSH,9 +VTS,1,3,900,1.59,CSH,10.5 +VTS,1,3,360,1.48,CSH,7 +VTS,1,4,240,0.59,CSH,4.5 +VTS,1,4,600,2.06,CSH,9.5 +VTS,1,4,180,0.66,CRD,4.5 +VTS,1,2,240,0.78,CRD,5 +VTS,1,2,180,0.98,CRD,5 +VTS,2,2,1980,16.47,CRD,52 +VTS,1,4,1080,7.25,CSH,22.5 +VTS,1,2,0,0,CRD,2.5 +VTS,1,3,840,2.25,CRD,11.5 +VTS,1,3,360,0.96,CRD,6 +VTS,1,3,420,1.51,CRD,7 +VTS,1,3,1380,4.63,CRD,19 +VTS,1,4,180,0.84,CSH,4.5 +VTS,1,2,960,5.14,CRD,17 +VTS,1,3,60,0.35,CSH,3 +VTS,1,2,180,0.95,CSH,5 +VTS,1,3,1140,2.88,CRD,14.5 +VTS,1,4,780,2.64,CSH,11 +VTS,1,4,420,1.19,CSH,7 +VTS,1,2,1140,3.61,CSH,15.5 +VTS,1,3,2580,14.38,CRD,42.5 +VTS,1,3,240,0.81,CRD,5 +VTS,1,3,300,1.31,CSH,6.5 +VTS,1,4,540,2.65,CRD,10 +VTS,1,3,1800,12.65,CRD,36.5 +VTS,1,4,420,1.36,CRD,7 +VTS,1,4,540,1.85,CRD,9 +VTS,1,3,600,0.92,CRD,7.5 +VTS,1,2,300,1.77,CSH,7 +VTS,1,3,240,0.94,CRD,5.5 +VTS,1,4,540,1.31,CSH,7.5 +VTS,1,3,300,1.04,CRD,6 +VTS,1,2,360,2.01,CSH,8 +VTS,1,3,240,0.94,CRD,5.5 +VTS,1,3,120,0.51,CRD,4 +VTS,1,3,1020,7.31,CRD,22.5 +VTS,1,4,660,1.41,CRD,9 +VTS,1,4,360,1.28,CSH,6.5 +VTS,1,3,780,3.14,CRD,12 +VTS,1,2,900,6.38,CSH,20.5 +VTS,1,4,660,1.93,CSH,9.5 +VTS,1,4,480,1.32,CRD,7.5 +VTS,1,3,600,2.29,CSH,10 +VTS,1,4,300,1.34,CRD,6 +VTS,1,3,1020,1.81,CRD,12 +VTS,1,2,300,2.04,CRD,7.5 +VTS,1,3,540,1.55,CSH,8 +VTS,1,3,480,0.9,CRD,7 +VTS,1,4,1920,11.73,CSH,36.5 +VTS,1,4,240,0.74,CSH,5 +VTS,1,3,360,1.08,CSH,6.5 +VTS,1,5,720,1.54,CSH,9 +VTS,1,4,300,0.93,CSH,6 +VTS,1,4,960,3.53,CSH,14.5 +VTS,1,4,1020,1.61,CRD,11.5 +VTS,1,4,660,1.49,CRD,9 +VTS,1,2,540,1.6,CSH,8 +VTS,1,3,600,1.81,CRD,9 +VTS,1,3,1020,1.13,CRD,11 +VTS,1,3,1260,6.82,CRD,24 +VTS,1,3,1260,6.78,CRD,22.5 +VTS,1,3,180,0.65,CSH,4.5 +VTS,1,2,720,1.24,CSH,9 +VTS,1,3,1020,2.79,CSH,13.5 +VTS,1,3,960,7.32,CRD,22 +VTS,1,3,360,1.71,CRD,7 +VTS,1,3,660,1.02,CSH,8.5 +VTS,1,3,1260,4.74,CRD,18.5 +VTS,1,3,60,0.35,CRD,3.5 +VTS,1,2,660,2.92,CSH,11.5 +VTS,1,3,600,1.83,CSH,9 +VTS,1,2,360,2.07,CSH,8.5 +VTS,1,3,1260,14.62,CSH,40 +VTS,1,3,660,1.88,CSH,10 +VTS,1,5,480,1.14,CRD,7 +VTS,1,3,360,1.67,CRD,7 +VTS,1,3,600,1.43,CRD,8.5 +VTS,1,2,360,0.67,CSH,5 +VTS,1,3,480,1.53,CSH,8 +VTS,1,3,660,1.41,CRD,8.5 +VTS,1,3,240,0.66,CSH,5 +VTS,1,4,600,1.54,CRD,8.5 +VTS,1,4,2100,11.67,CRD,35.5 +VTS,1,4,480,1.81,CRD,8.5 +VTS,1,2,180,0.91,CRD,4.5 +VTS,1,3,360,0.73,CSH,6 +VTS,1,5,660,3.63,CSH,13.5 +VTS,1,3,660,2.46,CSH,10.5 +VTS,1,3,360,1.04,CSH,6 +VTS,1,4,540,1,CRD,7.5 +VTS,1,3,780,4.58,CSH,16 +VTS,1,4,2040,4.55,CRD,23 +VTS,1,4,180,0.57,CSH,4 +VTS,1,3,900,4.73,CRD,16.5 +VTS,1,3,480,3.15,CRD,10.5 +VTS,1,4,540,2.49,CSH,9.5 +VTS,1,3,960,4.6,CRD,17.5 +VTS,1,1,540,0.73,CSH,6.5 +VTS,1,1,480,1.09,CRD,7 +VTS,1,1,840,2.13,CSH,10.5 +VTS,1,1,240,0.73,CSH,4.5 +VTS,1,1,600,5.25,CSH,16 +VTS,1,1,660,1.89,CRD,9.5 +VTS,1,1,780,3.1,CRD,12 +VTS,1,1,540,1.47,CRD,8 +VTS,1,1,1020,3.26,CSH,14 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,480,2.86,CSH,10 +VTS,1,1,780,3.6,CRD,13.5 +VTS,1,2,180,0.32,CSH,3.5 +VTS,1,1,1440,5.18,CRD,20.5 +VTS,1,1,1260,10.27,CRD,29 +VTS,1,2,1440,3.65,CRD,18 +VTS,1,1,3720,14.1,CRD,53 +VTS,1,1,360,2.03,CRD,8 +VTS,3,2,1980,19.32,CRD,70.5 +VTS,1,3,240,0.75,CSH,5 +VTS,1,4,1260,7.46,CSH,24.5 +VTS,1,5,1020,2.25,CRD,12.5 +VTS,1,3,300,1.56,CRD,6.5 +VTS,1,3,480,1.06,CSH,7.5 +VTS,1,4,240,0.88,CSH,5 +VTS,1,2,360,1.2,CRD,7 +VTS,1,4,360,0.82,CRD,6 +VTS,1,3,540,2.26,CRD,9.5 +VTS,1,3,900,3.58,CRD,13.5 +VTS,1,4,420,1.33,CSH,6.5 +VTS,1,3,780,2.97,CRD,13 +VTS,1,4,780,1.75,CRD,10 +VTS,1,2,480,1.68,CSH,8 +VTS,1,3,300,0.87,CSH,5.5 +VTS,1,3,780,2.63,CRD,11.5 +VTS,1,3,1320,4.38,CSH,18.5 +VTS,1,2,360,2.12,CSH,8 +VTS,1,2,420,1.67,CRD,8 +VTS,1,4,1200,3.29,CRD,15 +VTS,1,3,360,1.7,CSH,7 +VTS,1,5,540,0.9,CSH,7 +VTS,1,4,840,1.28,CRD,10 +VTS,1,3,540,2.41,CSH,9.5 +VTS,1,3,720,2.4,CRD,11 +VTS,1,4,720,1.64,CRD,9.5 +VTS,1,4,360,0.48,CSH,5.5 +VTS,1,2,1260,5.79,CRD,19.5 +VTS,1,3,300,1.2,CSH,6.5 +VTS,1,3,120,0.5,CSH,4 +VTS,1,3,600,0.84,CRD,7.5 +VTS,1,4,1140,6.71,CRD,23 +VTS,1,4,1260,3.94,CRD,17 +VTS,1,3,420,1.16,CSH,7 +VTS,1,3,840,5.79,CSH,19 +VTS,1,4,480,1.08,CRD,7 +VTS,1,4,960,5.3,CRD,18.5 +VTS,1,3,480,1.01,CSH,7 +VTS,1,3,540,0.78,CSH,7.5 +VTS,1,4,420,1.81,CRD,8 +VTS,1,2,420,1.28,CRD,7 +VTS,1,3,480,1.3,CSH,7.5 +VTS,1,3,480,1.25,CRD,7.5 +VTS,1,2,180,0.61,CSH,4.5 +VTS,1,3,600,1.81,CSH,9 +VTS,1,5,480,1.45,CRD,7.5 +VTS,1,4,900,2.58,CRD,12 +VTS,1,4,1140,2.93,CRD,14 +VTS,1,3,1080,2.41,CRD,13.5 +VTS,1,4,420,1.11,CRD,7 +VTS,1,3,240,0.99,CRD,5.5 +VTS,1,2,1440,10.88,CRD,32.5 +VTS,1,2,540,2.33,CRD,9.5 +VTS,1,4,300,1.28,CRD,6.5 +VTS,1,3,420,2.41,CRD,9 +VTS,1,3,1020,7.38,CSH,23 +VTS,1,3,840,3.37,CRD,14 +VTS,1,3,780,3.76,CRD,13.5 +VTS,1,3,900,5.68,CSH,18.5 +VTS,1,3,540,1.84,CRD,9 +VTS,1,3,300,1.21,CSH,6.5 +VTS,1,4,1140,2.07,CRD,13.5 +VTS,1,2,300,0.93,CSH,5.5 +VTS,1,4,540,2.2,CSH,9.5 +VTS,1,4,120,0.63,CSH,4 +VTS,1,4,720,2.16,CRD,10 +VTS,1,4,720,2.21,CRD,10 +VTS,1,4,600,1.02,CRD,8 +VTS,1,3,540,2.8,CRD,11 +VTS,1,2,540,3.08,CRD,11 +VTS,1,3,360,1.43,CSH,6.5 +VTS,1,3,1080,7.23,CRD,23 +VTS,1,3,540,1.9,CSH,8.5 +VTS,1,4,120,0.46,CSH,3.5 +VTS,1,3,300,0.9,CRD,6 +VTS,1,4,2040,9.73,CRD,32.5 +VTS,1,3,720,1.9,CRD,9.5 +VTS,1,4,1140,3.02,CSH,14 +VTS,1,2,900,2.74,CRD,12.5 +VTS,1,3,840,1.96,CRD,10.5 +VTS,1,4,300,1.07,CRD,6 +VTS,5,1,2160,15.33,CRD,105 +CMT,1,3,363,1.5,CRD,6.5 +CMT,1,2,268,0.8,CSH,5.5 +CMT,1,2,931,3.7,CRD,14 +VTS,1,2,240,0.66,CRD,5 +VTS,1,2,240,1.38,CRD,6.5 +VTS,1,4,420,0.72,CRD,6 +VTS,1,2,720,3.41,CRD,12.5 +VTS,1,3,300,1.01,CRD,5.5 +VTS,1,3,480,1.64,CSH,8 +VTS,1,3,180,0.67,CRD,4.5 +VTS,1,2,1380,3.4,CSH,17.5 +VTS,1,4,240,0.84,CRD,5.5 +VTS,1,3,180,0.43,CSH,4 +VTS,1,2,720,1.92,CRD,10 +VTS,1,3,480,1.24,CRD,7 +VTS,1,4,600,1.35,CRD,8.5 +VTS,1,4,300,1.62,CRD,7 +VTS,1,3,840,2.1,CRD,11 +VTS,1,3,600,2.48,CRD,10.5 +VTS,1,3,480,1.17,CSH,7 +VTS,1,4,720,2.66,CSH,11 +VTS,1,4,840,2.77,CSH,12 +VTS,1,3,720,1.35,CRD,9 +VTS,1,2,780,6.75,CSH,20.5 +VTS,1,2,660,3.22,CSH,12 +VTS,1,3,660,1.07,CSH,8 +VTS,1,4,360,0.68,CSH,5.5 +VTS,1,4,600,1.21,CRD,8.5 +VTS,1,4,1740,3.63,CSH,19 +VTS,1,3,1560,3.71,CRD,19.5 +VTS,1,3,660,2.05,CSH,9.5 +VTS,1,3,300,0.75,CSH,5 +VTS,1,3,1320,4.6,CRD,18.5 +VTS,1,3,480,1.25,CSH,7 +VTS,1,2,600,1.1,CSH,8 +VTS,1,3,1140,3.66,CRD,16 +VTS,1,3,840,3.67,CRD,13.5 +VTS,1,3,1020,4.13,CRD,16.5 +VTS,1,2,660,0.97,CSH,8.5 +VTS,1,3,960,2.52,CRD,12.5 +VTS,1,3,1020,3.39,CSH,14.5 +VTS,1,3,600,0.86,CSH,8 +VTS,1,4,240,0.62,CSH,5 +VTS,1,2,660,4.8,CSH,15.5 +VTS,1,3,420,1.5,CRD,7.5 +VTS,1,3,480,1.46,CSH,7.5 +VTS,1,2,960,2.54,CSH,13 +VTS,1,2,120,0.23,CSH,3.5 +VTS,1,3,420,1.07,CRD,6.5 +VTS,1,2,1020,3.7,CSH,14 +VTS,1,3,420,1.44,CRD,7 +VTS,1,2,1380,3.19,CRD,12 +VTS,1,2,480,1.82,CRD,8 +VTS,1,4,420,1.22,CRD,7 +VTS,1,2,1140,3.14,CSH,15.5 +VTS,1,3,300,0.68,CSH,5 +VTS,1,3,480,1.38,CRD,7.5 +VTS,1,4,1140,3.38,CRD,15.5 +VTS,1,4,1020,3.5,CRD,14.5 +VTS,1,4,600,2.44,CSH,10.5 +VTS,1,4,720,2.86,CRD,11.5 +VTS,1,3,240,0.89,CRD,5 +VTS,1,4,180,0.66,CSH,4.5 +VTS,1,4,660,1.97,CRD,10 +VTS,1,4,660,1.87,CRD,9.5 +VTS,1,3,240,0.6,CSH,4.5 +VTS,1,3,240,0.74,CSH,5 +VTS,1,2,180,0.61,CSH,4.5 +VTS,1,3,1200,6.35,CSH,22 +VTS,1,4,600,2.16,CSH,10 +VTS,1,3,420,1.66,CRD,8 +VTS,1,4,540,1.5,CSH,8.5 +VTS,1,2,300,0.8,CSH,5 +VTS,1,3,840,3.42,CRD,13.5 +VTS,1,3,1500,4.56,CRD,20 +VTS,1,4,300,0.96,CSH,6 +VTS,1,3,2100,2.74,CRD,21.5 +VTS,1,3,720,4.17,CRD,14.5 +VTS,2,2,1500,16.41,CSH,52 +VTS,1,2,1080,3.39,CSH,14.5 +VTS,1,3,540,0.83,CSH,6.5 +VTS,1,3,660,2.06,CRD,10 +VTS,1,3,180,1.15,CRD,5.5 +VTS,1,3,360,1.73,CRD,8 +VTS,1,3,540,1.29,CSH,7.5 +VTS,1,2,420,1.16,CRD,7 +VTS,1,3,660,3.01,CSH,11.5 +VTS,1,3,840,3.27,CRD,13 +VTS,1,4,420,1.98,CSH,8.5 +VTS,1,3,480,1.01,CRD,7 +VTS,1,2,900,6.28,CRD,20 +VTS,1,3,240,0.86,CSH,5 +VTS,1,3,660,1.16,CRD,8.5 +VTS,1,3,420,0.78,CSH,6 +VTS,1,3,300,0.85,CSH,5.5 +VTS,1,5,420,1.34,CRD,7.5 +VTS,1,4,540,1.69,CSH,8.5 +VTS,1,3,120,0.31,CSH,3.5 +VTS,1,3,1320,2.23,CSH,14.5 +VTS,1,3,300,0.65,CRD,5.5 +VTS,1,3,240,1.15,CRD,5.5 +VTS,1,4,480,0.87,CRD,6.5 +VTS,1,3,240,0.71,CRD,5 +VTS,1,3,720,1.86,CRD,10 +VTS,1,2,1560,4.84,CSH,21 +VTS,1,3,360,1.03,CRD,6 +VTS,1,3,660,2.31,CSH,10.5 +VTS,1,2,480,2.06,CRD,9 +VTS,1,4,1680,7.06,CSH,25.5 +VTS,1,3,300,0.86,CSH,5.5 +VTS,1,2,840,3.04,CSH,12.5 +VTS,1,3,540,0.86,CSH,8 +VTS,1,3,1860,3.96,CRD,20 +VTS,1,2,540,1.01,CSH,7.5 +VTS,1,2,420,1.1,CRD,7 +CMT,1,2,761,2.4,CRD,11 +CMT,5,2,512,2.9,CRD,70 +CMT,1,1,721,2.2,CSH,10.5 +CMT,1,1,887,6.5,CRD,20 +CMT,1,1,441,1.5,CRD,7 +CMT,1,2,823,2.4,CSH,11.5 +CMT,1,1,320,0.9,CSH,5.5 +CMT,1,1,979,2.4,CSH,12.5 +CMT,1,4,536,1.4,CSH,8 +CMT,1,1,1255,6.6,CRD,22.5 +CMT,1,2,488,1.6,CSH,7.5 +CMT,1,1,925,3.6,CRD,14.5 +CMT,1,2,726,3.2,CSH,12.5 +CMT,1,2,202,0.4,CRD,4 +CMT,1,3,261,1.1,CSH,5.5 +CMT,1,1,510,2.7,CRD,10.5 +CMT,1,2,751,2.4,CSH,10.5 +CMT,1,1,445,1.5,CRD,7.5 +VTS,1,4,360,2.23,CRD,8 +VTS,2,3,3180,18.03,CSH,52 +VTS,1,3,180,1.01,CRD,5 +VTS,1,3,420,1.41,CRD,7 +VTS,1,4,360,0.5,CSH,5.5 +VTS,1,4,720,1.97,CSH,10 +VTS,1,2,900,2.39,CRD,11.5 +VTS,1,3,120,0.78,CRD,4.5 +VTS,1,4,540,6.95,CSH,20 +VTS,1,4,420,2.18,CSH,8.5 +VTS,1,2,1500,4.41,CRD,20 +VTS,1,3,900,2.49,CRD,12.5 +VTS,1,3,180,0.46,CSH,4 +VTS,1,4,240,0.82,CSH,5 +VTS,1,3,900,2.05,CRD,11 +VTS,1,3,1620,3.31,CRD,18 +VTS,1,4,840,1.71,CRD,11.5 +VTS,1,4,360,0.69,CRD,5.5 +VTS,1,3,1740,7.13,CRD,25 +VTS,1,4,300,0.75,CSH,5.5 +VTS,1,4,600,1.48,CSH,6.5 +VTS,1,2,2160,5.89,CRD,25.5 +VTS,1,3,120,0.79,CRD,4.5 +VTS,1,4,360,1.03,CSH,6 +VTS,1,3,780,2.43,CSH,11 +VTS,1,3,840,3.35,CSH,13.5 +VTS,1,3,240,0.46,CRD,4.5 +VTS,1,3,300,0.84,CSH,5.5 +VTS,1,2,360,0.82,CRD,5.5 +VTS,1,3,720,2.07,CRD,10 +VTS,1,2,540,4.64,CRD,15 +VTS,1,2,600,1.57,CSH,8 +VTS,1,3,300,0.54,CRD,5 +VTS,1,4,420,1.29,CSH,6.5 +VTS,1,3,780,1.22,CRD,9 +VTS,1,3,660,3.81,CSH,13 +VTS,1,3,540,2.16,CRD,9 +VTS,1,3,300,0.76,CSH,5.5 +CMT,1,1,619,4.2,CSH,14 +CMT,1,4,387,1.9,CRD,8 +CMT,1,4,922,3.7,CSH,14 +CMT,1,1,469,2.2,CSH,9 +CMT,1,1,578,1.1,CSH,8 +CMT,1,2,157,0.3,CSH,4 +CMT,1,2,1590,6.5,CRD,23 +CMT,1,1,763,4.1,CSH,14.5 +CMT,1,1,654,1.2,CRD,8.5 +CMT,1,1,568,1.2,CRD,8 +CMT,1,2,387,1.1,CSH,6 +CMT,1,3,719,2.2,CSH,10.5 +CMT,1,1,863,4,CSH,14 +CMT,1,1,833,2.6,CSH,11 +VTS,1,4,2220,3.41,CRD,23 +VTS,1,4,900,2.39,CRD,11.5 +VTS,1,3,1080,5.35,CRD,19.5 +VTS,1,3,360,1.04,CRD,6 +VTS,1,4,300,0.71,CSH,5 +VTS,1,4,480,1.48,CSH,7.5 +VTS,1,2,780,2.7,CSH,11.5 +VTS,1,3,300,0.84,CRD,5.5 +VTS,1,3,600,2.63,CSH,11 +VTS,1,3,600,1.65,CRD,9 +VTS,1,2,1080,2.24,CSH,13 +VTS,1,4,840,2.37,CSH,11.5 +VTS,1,3,660,4.56,CSH,16 +VTS,1,3,480,1.25,CRD,7.5 +VTS,1,3,300,0.55,CSH,5 +VTS,1,2,0,0.19,CSH,3 +VTS,1,3,840,2.21,CSH,11.5 +VTS,1,3,960,1.36,CSH,11 +VTS,1,3,540,1.78,CRD,8.5 +VTS,1,4,780,1.5,CRD,10.5 +VTS,1,3,720,1.05,CSH,8.5 +VTS,1,3,540,1.12,CSH,7.5 +VTS,1,3,180,0.59,CSH,4 +VTS,1,2,360,0.98,CSH,6 +VTS,1,5,840,8.52,CRD,24.5 +VTS,1,3,300,0.88,CRD,5.5 +VTS,1,2,840,10.2,CRD,28.5 +VTS,1,4,240,0.76,CRD,5 +VTS,1,4,780,2.64,CRD,11.5 +VTS,1,3,420,1.55,CSH,8 +VTS,1,2,1260,12.28,CSH,34.5 +VTS,1,3,1380,8.74,CSH,26.5 +VTS,1,3,1260,4.44,CRD,17.5 +VTS,1,3,360,1.15,CSH,6 +VTS,1,3,240,0.98,CSH,5.5 +VTS,1,4,1020,5.52,CSH,18.5 +VTS,1,4,960,2.95,CSH,13 +VTS,1,4,840,6.43,CSH,19.5 +VTS,1,3,420,2.99,CSH,10 +VTS,1,3,120,0.45,CSH,3.5 +VTS,1,3,420,2.32,CRD,9 +VTS,1,4,600,1.58,CRD,9 +VTS,2,3,3720,19.6,CRD,52 +VTS,1,2,1260,9.38,CRD,28 +VTS,1,3,240,0.6,CSH,4.5 +VTS,1,4,780,1.55,CRD,10 +VTS,1,4,300,2.09,CRD,8 +VTS,1,3,1080,6.92,CSH,23 +VTS,1,4,900,5.08,CSH,18 +VTS,1,4,540,2.19,CSH,9.5 +VTS,1,4,540,3.41,CSH,12 +VTS,1,3,720,1.94,CRD,10 +VTS,1,4,420,1.13,CSH,7 +VTS,1,3,960,1.91,CRD,12.5 +VTS,1,2,420,2.37,CSH,9 +VTS,1,2,780,3.57,CSH,13.5 +VTS,1,3,540,1.93,CSH,9.5 +VTS,1,3,900,2.29,CRD,12 +VTS,1,4,960,1.9,CSH,11.5 +VTS,1,2,360,1.2,CSH,6.5 +VTS,1,4,540,1.42,CSH,8 +VTS,1,3,300,0.95,CSH,5.5 +VTS,2,1,3060,19.73,CRD,52 +VTS,1,2,480,2.39,CRD,9.5 +VTS,1,3,240,0.87,CSH,5 +VTS,1,3,420,1.46,CRD,7 +VTS,1,3,1200,3.2,CRD,15 +VTS,1,5,600,0.91,CSH,7.5 +VTS,1,4,960,2.03,CRD,12 +VTS,1,4,540,1.54,CRD,8 +VTS,1,4,1140,5.39,CSH,19.5 +VTS,1,2,240,1,CSH,5.5 +VTS,1,2,1260,6.49,CRD,22.5 +VTS,1,3,180,0.3,CSH,3.5 +VTS,1,3,360,1.72,CRD,7.5 +VTS,1,3,420,0.92,CSH,6 +VTS,1,3,1260,2.17,CSH,13.5 +VTS,1,2,660,1.78,CSH,9.5 +VTS,2,2,1560,20.16,CRD,52 +VTS,1,4,1200,1.46,CSH,13 +VTS,1,3,360,0.97,CSH,6.5 +VTS,1,2,360,1.31,CRD,6.5 +VTS,1,3,1260,8.24,CSH,25.5 +VTS,1,3,720,1.43,CRD,9 +VTS,1,2,480,1.32,CRD,7.5 +VTS,1,4,600,1.3,CSH,8 +VTS,1,3,540,1.06,CSH,7.5 +VTS,3,2,2460,19.06,CRD,70.5 +VTS,1,4,240,0.97,CSH,5 +VTS,1,3,600,3.28,CRD,12.5 +VTS,1,3,540,2.48,CRD,10 +VTS,1,2,360,1.08,CSH,6.5 +VTS,1,2,900,2.29,CRD,12 +CMT,1,2,209,0.4,CSH,4 +CMT,1,1,504,1.3,CSH,8 +CMT,1,2,780,3.4,CRD,12.5 +CMT,1,1,623,1.8,CRD,9 +CMT,1,1,474,0.7,CRD,6.5 +CMT,1,2,1173,5.3,CRD,19.5 +CMT,1,1,543,1.2,CSH,7.5 +CMT,1,1,124,0.8,CSH,4 +CMT,1,1,967,2.2,CRD,11.5 +CMT,1,2,652,2.5,CRD,10 +CMT,1,2,349,0.4,CSH,5.5 +VTS,1,3,540,1.01,CRD,7 +VTS,1,3,720,2.52,CSH,11 +VTS,1,3,720,1.55,CSH,10 +VTS,1,3,900,6.43,CRD,21 +VTS,1,3,240,1.31,CSH,6.5 +VTS,1,2,1500,7.64,CRD,25.5 +VTS,1,3,300,0.56,CRD,5 +VTS,1,3,480,1.99,CSH,8.5 +VTS,1,3,1440,2.55,CSH,15.5 +VTS,1,3,360,0.79,CRD,6 +VTS,1,3,420,0.68,CRD,6 +VTS,1,3,180,1.14,CSH,5.5 +VTS,1,3,180,0.45,CSH,4 +VTS,1,3,1140,2.58,CSH,14 +VTS,1,2,360,1.52,CRD,7 +VTS,1,2,660,3.05,CRD,11.5 +VTS,1,2,840,2.42,CSH,11.5 +VTS,1,2,480,2.56,CRD,10 +VTS,1,4,780,2,CSH,10.5 +VTS,1,3,540,2.19,CSH,10 +VTS,1,3,240,1.04,CRD,5.5 +VTS,1,4,720,4.24,CRD,13.5 +VTS,1,3,720,1.25,CRD,9 +VTS,1,3,900,2.32,CRD,11.5 +VTS,1,4,660,2.75,CSH,11 +VTS,1,2,480,1.69,CSH,8 +VTS,1,2,1200,5.43,CRD,20.5 +VTS,1,3,960,4.38,CRD,16 +VTS,1,3,240,0.41,CRD,4 +VTS,1,4,840,1.47,CSH,10.5 +VTS,1,2,720,1.82,CSH,7.5 +VTS,1,3,480,1.92,CSH,8.5 +VTS,1,4,1200,2.04,CRD,10.5 +VTS,1,2,900,1.44,CSH,10.5 +VTS,1,3,960,2.52,CSH,12.5 +VTS,1,3,360,0.82,CSH,6 +VTS,1,3,780,2.81,CRD,12 +VTS,1,3,660,1.16,CRD,9 +VTS,1,3,540,1.07,CRD,8 +VTS,1,2,420,1.88,CRD,8 +VTS,1,3,180,0.72,CRD,4.5 +VTS,1,4,420,1.17,CRD,6.5 +VTS,1,3,1680,9.26,CRD,29.5 +VTS,1,4,960,3.09,CRD,13.5 +CMT,1,1,617,3.2,CRD,12 +CMT,1,1,767,1.8,CSH,10 +CMT,1,2,549,1.9,CSH,9 +CMT,1,2,710,3.4,CSH,12 +CMT,1,1,1024,8.1,CSH,24 +CMT,1,1,514,2.1,CRD,9 +CMT,1,2,605,2.4,CRD,10 +CMT,1,4,647,2.7,CSH,10.5 +CMT,1,2,470,2.7,CRD,10 +CMT,1,1,375,0.9,CSH,6 +CMT,1,1,386,0.7,CRD,6 +CMT,1,4,484,1.1,CSH,7 +CMT,1,1,356,0.9,CSH,6 +CMT,1,3,874,1.4,CSH,10 +CMT,1,4,270,1.2,CSH,6 +CMT,1,2,599,1.5,CSH,8 +CMT,1,1,556,1.4,CSH,8 +CMT,1,1,683,2.1,CSH,10 +CMT,1,1,283,1,CSH,5.5 +CMT,1,1,104,0.5,CRD,3.5 +CMT,1,2,609,1.7,CSH,9 +CMT,1,1,1025,1.5,CSH,12 +CMT,1,3,422,0.5,CSH,6 +CMT,1,1,988,2.6,CRD,12.5 +CMT,1,1,608,1.6,CSH,8.5 +CMT,1,1,769,3.1,CSH,13 +CMT,1,3,741,2.9,CSH,11.5 +CMT,1,3,686,2.3,CSH,10.5 +CMT,1,2,524,1.7,CRD,8 +CMT,1,1,596,3.4,CSH,12 +CMT,1,1,540,2.2,CSH,9.5 +CMT,1,2,684,3.2,CSH,11.5 +CMT,1,2,305,1.1,CSH,5.5 +CMT,1,3,495,1.2,CSH,7 +VTS,1,2,1680,11.62,CSH,35 +VTS,1,2,1380,10.58,CRD,31.5 +CMT,1,2,290,0.7,CRD,5 +CMT,1,4,573,1.6,CSH,8.5 +CMT,1,1,246,0.7,NOC,4.5 +CMT,1,1,861,3.3,CRD,13 +CMT,1,1,1784,5.9,CSH,23.5 +CMT,1,2,288,0.7,CSH,5 +CMT,1,1,394,1.1,CRD,6 +CMT,1,1,544,2.3,CSH,9 +CMT,1,1,981,6.7,CSH,21 +CMT,1,1,348,0.9,CSH,6 +CMT,1,2,211,0.9,CRD,5 +CMT,1,1,448,1,CRD,6.5 +CMT,1,1,461,1.8,CSH,8 +CMT,1,3,1149,4.4,CSH,17.5 +CMT,1,2,562,2.2,CRD,9.5 +CMT,1,2,419,2.2,CRD,8.5 +CMT,1,1,137,0.8,CSH,4.5 +CMT,1,1,553,2.1,CRD,9 +CMT,1,1,251,0.6,CSH,4.5 +CMT,1,3,1019,3.5,CSH,15 +CMT,1,1,369,2.7,CSH,9 +CMT,1,1,523,2.6,CRD,9.5 +CMT,1,1,678,2.9,CRD,11 +CMT,1,1,1247,4.8,CSH,18.5 +CMT,1,1,415,0.5,CSH,6 +CMT,1,2,841,2.8,CSH,12 +CMT,1,2,588,2,CSH,9 +CMT,1,2,246,1,CSH,5.5 +CMT,1,1,425,1.6,CSH,7.5 +CMT,1,2,995,10,CSH,28.5 +CMT,1,1,954,4.2,CRD,15.5 +CMT,1,3,389,1.1,CSH,6.5 +CMT,1,1,112,0.6,CSH,4 +CMT,1,1,177,0.8,CSH,4.5 +CMT,1,2,480,1.7,CRD,8 +CMT,1,2,227,0.5,CRD,4.5 +CMT,1,2,391,1.7,CSH,7.5 +CMT,1,1,452,2,CRD,8 +CMT,1,1,242,1.2,CRD,5.5 +CMT,1,2,305,0.8,CSH,5.5 +CMT,1,2,954,3.2,CRD,14 +CMT,1,1,381,1.2,CSH,6.5 +CMT,1,1,484,2.4,CRD,9 +CMT,1,1,624,3.3,CRD,11 +CMT,1,1,992,2.2,CRD,12 +CMT,1,2,420,1.4,CSH,7 +CMT,1,1,206,0.9,CSH,5 +CMT,1,2,428,1.6,CSH,7.5 +CMT,1,1,410,2,CRD,8 +CMT,1,2,504,1.5,CRD,7.5 +CMT,1,2,933,2.9,CRD,12.5 +CMT,1,3,568,1.7,CSH,8.5 +CMT,1,2,986,2.8,CRD,13 +CMT,1,4,618,2.2,CSH,9.5 +CMT,1,1,622,3,CSH,11.5 +CMT,1,1,713,4.2,CSH,13 +CMT,1,2,413,1.2,CSH,6.5 +CMT,1,1,595,3.1,CSH,11 +CMT,1,2,918,3.1,CSH,13 +CMT,1,1,578,2.2,CSH,9.5 +CMT,1,1,633,2.6,CRD,10.5 +CMT,1,1,584,1.5,CSH,8.5 +CMT,1,4,490,2.3,CRD,8.5 +CMT,1,1,810,4.8,CSH,16.5 +CMT,1,1,1065,4.2,CRD,16 +CMT,1,2,371,1.5,CSH,7 +CMT,1,1,393,1,CRD,6.5 +CMT,1,1,174,0.5,CSH,4 +CMT,1,1,208,1.5,CSH,6 +CMT,1,4,668,2.4,CRD,10.5 +CMT,1,1,304,0.8,CSH,5.5 +CMT,1,1,344,0.6,CSH,5.5 +CMT,1,1,686,2.1,CRD,10 +CMT,1,2,401,0.7,CSH,6 +CMT,1,1,410,1,CRD,6.5 +CMT,1,3,366,1.3,CRD,6.5 +VTS,1,2,540,1.78,CSH,8.5 +VTS,1,2,420,1.31,CRD,7 +VTS,1,3,420,0.48,CRD,6 +VTS,1,3,1500,4.59,CSH,20.5 +VTS,1,3,960,6.13,CRD,20 +VTS,1,4,1260,4.57,CRD,18 +VTS,1,5,1080,3.12,CRD,14 +VTS,1,4,780,3.75,CRD,14 +VTS,1,3,360,1.06,CSH,6.5 +VTS,1,3,1140,4.01,CSH,16.5 +VTS,1,3,360,0.99,CSH,6 +VTS,1,4,360,1.23,CSH,6.5 +VTS,1,3,840,4.1,CSH,14 +VTS,1,2,180,0.72,CSH,4.5 +VTS,1,2,1380,8.91,CSH,27.5 +VTS,1,3,360,0.86,CSH,5.5 +VTS,1,3,1140,3.32,CSH,14.5 +VTS,1,3,600,2.91,CRD,11 +VTS,1,3,60,0.35,CSH,3 +VTS,1,2,420,0.78,CSH,6.5 +VTS,1,2,240,0.84,CSH,5 +VTS,1,2,600,1.93,CSH,9.5 +VTS,1,2,180,0.65,CSH,5 +VTS,1,4,600,1.85,CRD,9 +VTS,1,3,540,1.74,CRD,8.5 +VTS,1,4,1020,4.49,CRD,16.5 +CMT,1,4,330,0.5,CSH,5.5 +CMT,1,4,280,0.9,CRD,5.5 +CMT,1,1,123,0.4,CSH,3.5 +CMT,1,1,546,2.4,CSH,9.5 +CMT,1,2,837,2.3,CSH,11.5 +CMT,1,1,481,2.5,CSH,10 +CMT,1,1,372,0.9,CSH,6 +CMT,1,1,817,3.7,CRD,13.5 +CMT,1,1,1120,2.1,CSH,13 +CMT,1,1,315,1.3,CSH,6.5 +CMT,1,1,648,1.2,CSH,8.5 +CMT,1,1,964,3.4,CSH,13.5 +CMT,1,1,221,0.5,CSH,4.5 +CMT,1,2,262,0.7,CRD,5.5 +CMT,1,1,385,1.2,CSH,6.5 +CMT,1,1,370,0.8,CRD,6 +CMT,1,1,1019,2.6,CRD,13 +CMT,1,1,730,2.3,CSH,10.5 +CMT,1,2,419,1,CSH,6.5 +CMT,1,2,247,0.3,CSH,4.5 +CMT,1,1,554,2.2,CRD,9 +CMT,1,1,421,1,CRD,6.5 +CMT,1,2,837,3.4,CRD,13 +CMT,1,1,300,2.1,CRD,7.5 +CMT,1,1,865,5.9,CSH,19 +CMT,1,1,576,2.1,CRD,9 +CMT,1,1,404,0.9,CSH,6.5 +CMT,1,1,529,1.9,CSH,8.5 +CMT,5,1,1190,5.4,CRD,62 +CMT,1,1,721,4,CSH,13 +CMT,1,1,543,1.7,CRD,8.5 +CMT,1,4,582,1.2,CSH,7.5 +CMT,1,1,753,3.4,CRD,12.5 +CMT,1,2,234,0.4,CRD,4.5 +CMT,1,1,200,0.6,CSH,4.5 +CMT,1,1,326,1.3,CRD,6 +CMT,1,1,337,0.7,CSH,5.5 +CMT,1,2,654,0.9,CSH,8 +CMT,1,1,526,1.8,CRD,8.5 +CMT,1,2,840,1.8,CRD,10.5 +CMT,1,1,800,3,CRD,12 +CMT,1,1,417,1.1,CRD,6.5 +CMT,1,1,805,3.3,CRD,13 +CMT,1,1,256,0.8,CRD,5 +CMT,1,1,237,0.8,CRD,5 +CMT,1,1,772,2.3,CSH,10.5 +CMT,1,1,568,2.1,CRD,9 +CMT,1,3,1369,6,CSH,21.5 +CMT,1,2,425,1.6,CRD,7.5 +CMT,1,1,1008,4,CSH,15 +CMT,1,1,1021,3.9,CRD,15 +CMT,1,2,264,0.5,CSH,5 +CMT,1,1,339,0.7,CSH,5.5 +CMT,1,2,329,0.5,CRD,5 +CMT,1,1,297,0.9,CRD,5.5 +CMT,1,2,458,1.6,CRD,7.5 +CMT,1,1,438,2.6,CRD,9.5 +CMT,1,4,263,1.1,CSH,5.5 +CMT,1,2,369,1,CRD,6 +CMT,1,1,776,4.4,CRD,15 +CMT,1,1,161,0.8,CSH,4.5 +CMT,1,2,311,1.5,CSH,6.5 +CMT,1,1,373,1.5,CRD,7 +CMT,1,1,1604,12.7,CRD,36.5 +CMT,1,1,126,0.8,CSH,4 +CMT,1,1,905,2.5,CRD,12 +CMT,1,1,601,3.7,CRD,12.5 +CMT,1,1,711,2.3,CRD,10.5 +CMT,1,2,725,2.4,CRD,10.5 +CMT,1,2,301,1.1,CRD,6 +CMT,1,4,519,1.2,CSH,7.5 +CMT,1,2,337,1.3,CRD,6.5 +CMT,5,2,120,0,CRD,50 +CMT,1,2,352,1.1,CSH,6 +CMT,1,4,576,1.8,CSH,8.5 +CMT,1,1,248,0.7,CRD,5 +CMT,1,1,158,0.9,CSH,4.5 +CMT,1,1,296,1,CRD,5.5 +CMT,1,2,573,2.5,CSH,9.5 +CMT,1,1,372,1,CRD,6 +CMT,1,1,942,4,CSH,14.5 +CMT,1,2,575,2.4,CSH,9.5 +CMT,1,2,336,1.3,CRD,6 +CMT,1,1,270,0.5,CSH,4.5 +CMT,1,2,689,2,CRD,9.5 +CMT,1,1,630,1.1,CSH,8 +CMT,1,1,454,1.3,CRD,7 +CMT,1,2,1310,3.4,CRD,16.5 +CMT,1,1,527,1,CRD,7 +CMT,1,2,676,2.3,CRD,10 +CMT,1,3,294,0.9,CRD,5.5 +CMT,1,1,498,2,CRD,8.5 +CMT,1,4,455,2.1,CSH,8.5 +CMT,1,1,811,4.2,CRD,14 +CMT,1,2,737,1.5,CSH,9.5 +CMT,1,4,579,2.5,CSH,10 +CMT,1,1,246,0.7,CSH,5 +CMT,1,1,811,4.7,CRD,15.5 +CMT,1,1,2180,7.8,CRD,31 +CMT,1,4,575,1.6,CSH,8.5 +CMT,1,1,471,1.6,CSH,7.5 +CMT,1,1,484,2,CSH,8.5 +CMT,1,2,1354,9.4,CRD,28.5 +CMT,1,1,239,0.8,CRD,5 +VTS,1,2,1140,10.33,CRD,29.5 +CMT,1,1,377,1.4,CSH,6.5 +CMT,1,2,664,4.3,CSH,14.5 +CMT,1,2,760,5.4,CSH,17.5 +CMT,1,2,1589,4.6,CRD,20 +CMT,1,3,660,2,CSH,9.5 +CMT,1,3,198,0.6,CSH,4.5 +CMT,1,1,230,0.5,CSH,4.5 +CMT,1,2,511,1.2,CSH,7.5 +CMT,1,1,1086,6.8,CSH,21.5 +CMT,1,1,1118,8.5,CRD,25 +CMT,1,1,611,2.2,CSH,9.5 +CMT,1,4,313,0.6,CSH,5 +CMT,1,3,862,1.6,CSH,10.5 +CMT,1,2,404,1.3,CSH,7 +CMT,1,2,797,2.3,CRD,10.5 +CMT,1,1,286,1.3,CRD,6 +CMT,1,4,310,1.3,CSH,6.5 +CMT,1,2,241,0.8,CSH,5 +CMT,1,1,306,1.1,CRD,6 +CMT,1,1,180,1,CSH,5 +CMT,1,1,637,2.8,CRD,11 +CMT,1,2,330,1.2,CRD,6.5 +CMT,1,2,1166,2.5,CSH,13 +CMT,1,1,498,1.4,CRD,7.5 +CMT,1,1,442,1.1,CRD,7 +CMT,1,1,410,1.3,CSH,6.5 +CMT,1,2,313,0.9,CRD,5.5 +CMT,1,2,716,1.6,CRD,9.5 +CMT,1,2,789,3,CRD,12.5 +CMT,1,2,659,2.8,CRD,11 +CMT,1,1,563,1.2,CSH,8 +CMT,1,2,612,2.3,CSH,10 +CMT,1,1,910,4,CSH,14.5 +CMT,1,1,210,1.1,CSH,5 +CMT,1,1,367,1.2,CSH,6 +CMT,1,1,237,1.3,CSH,6 +CMT,1,1,905,1.6,CSH,10.5 +CMT,1,1,888,3,CRD,12 +CMT,1,2,424,1.7,CRD,7.5 +CMT,1,1,542,3.2,CRD,11 +CMT,1,1,1246,6,CRD,20 +CMT,1,1,360,1.7,CSH,7 +CMT,1,2,1105,5.8,CSH,20 +CMT,1,1,2056,6.4,CSH,26 +CMT,1,2,446,1,CSH,6.5 +CMT,1,1,969,2.2,CRD,12 +CMT,1,1,578,3.9,CRD,12.5 +CMT,1,2,219,0.7,CSH,4.5 +CMT,1,1,328,1,CSH,6 +CMT,1,1,519,1.2,CRD,7.5 +CMT,1,1,562,1.6,CSH,8 +CMT,1,1,208,1,CSH,5 +CMT,1,1,331,0.6,CSH,5 +CMT,1,1,265,1.4,CSH,6 +CMT,1,1,604,2.6,CRD,11 +CMT,1,1,240,0.9,CRD,5 +CMT,1,1,502,2.6,CRD,10 +CMT,1,1,665,2.6,CRD,10 +CMT,1,1,185,0.6,CSH,4.5 +CMT,1,2,1131,4.6,CSH,16.5 +CMT,1,1,1246,4.6,CRD,18 +CMT,1,1,538,0.8,CSH,7 +CMT,1,1,405,1.2,CSH,6.5 +CMT,1,2,172,0.6,CSH,4 +CMT,1,1,85,0.4,CRD,3.5 +CMT,1,1,637,1.9,CSH,9 +CMT,1,1,436,1.8,CRD,8 +CMT,1,2,1059,3.2,CRD,14 +CMT,1,1,984,3.8,CSH,15 +CMT,1,2,772,3.9,CSH,14 +CMT,1,2,961,3.1,CRD,13.5 +CMT,1,1,272,0.9,CRD,5 +CMT,1,4,417,0.8,CSH,6 +CMT,1,2,703,4.1,CRD,14.5 +CMT,1,2,711,2.7,CRD,11 +CMT,1,1,915,4,CSH,14.5 +CMT,1,1,638,0.8,CSH,8 +CMT,1,2,586,2.5,CRD,9.5 +CMT,1,2,445,1.4,CSH,7 +CMT,1,1,637,1.6,CRD,9 +CMT,1,2,136,0.5,CSH,4 +CMT,1,1,757,4.4,CRD,14.5 +CMT,1,1,591,1.9,CRD,9.5 +CMT,1,2,202,1,CSH,5 +CMT,1,2,373,1.3,CSH,6.5 +CMT,1,1,395,1.2,CSH,6.5 +CMT,1,1,120,0.4,CSH,3.5 +CMT,1,2,651,3,CSH,11 +CMT,1,1,428,1.4,CRD,7 +CMT,1,1,595,2.4,CSH,9.5 +CMT,1,1,520,2,CRD,9 +CMT,1,1,457,1.8,CRD,8 +CMT,1,1,59,0,CSH,2.5 +CMT,1,1,397,1.3,CRD,7 +CMT,1,1,160,0.7,CSH,4.5 +CMT,1,1,1160,4.7,CSH,17 +CMT,1,1,1048,3.1,CRD,14 +CMT,1,1,314,0.8,CRD,5.5 +CMT,1,1,447,1.3,CRD,7.5 +CMT,1,1,1465,6.2,CRD,22.5 +CMT,1,1,882,3.1,CSH,12.5 +CMT,1,1,2152,8.4,CRD,30.5 +CMT,1,2,169,0.5,CSH,4 +CMT,1,1,579,2.7,CSH,10.5 +CMT,1,2,885,2.3,CRD,12 +CMT,1,1,402,1.2,CSH,6.5 +CMT,1,2,369,0.6,CSH,5.5 +CMT,1,2,742,3.1,CRD,11.5 +CMT,1,2,1021,2.1,CRD,12 +CMT,1,1,667,2.4,CRD,10 +CMT,1,4,256,1.1,CRD,5.5 +CMT,1,1,342,1,CSH,6 +CMT,4,1,587,2.8,CSH,10 +CMT,1,1,802,3.2,CRD,12 +CMT,1,1,389,1.3,CRD,7 +CMT,1,1,190,0.7,CSH,4.5 +CMT,1,2,758,2.2,CRD,11 +CMT,1,2,284,1.6,CSH,6.5 +CMT,1,1,320,1.6,CSH,7 +CMT,1,1,989,5.3,CRD,17.5 +CMT,1,1,320,1.3,CRD,6.5 +CMT,1,1,326,0.8,CRD,5.5 +CMT,1,2,180,0.7,CSH,4.5 +CMT,1,2,342,1,CSH,6 +CMT,1,2,472,1.1,CSH,6.5 +CMT,4,2,289,0.8,CRD,5.5 +CMT,1,2,300,1,CRD,5.5 +CMT,1,1,1197,4,CRD,16 +CMT,1,1,384,0.7,CRD,6 +CMT,5,1,33,0,CRD,58 +CMT,1,2,332,1.5,CSH,7 +CMT,1,1,572,2.7,CRD,10.5 +CMT,1,3,196,0.9,CRD,5 +CMT,1,1,411,1.1,CSH,6.5 +CMT,1,1,1079,10.3,CRD,29.5 +CMT,1,1,513,0.7,CRD,7 +CMT,1,1,439,1.4,CRD,7 +CMT,1,2,184,0.6,CRD,4 +CMT,1,1,605,1.2,CRD,8 +CMT,1,1,712,5.4,CRD,17 +CMT,1,1,246,0.6,CSH,4.5 +CMT,1,1,240,0.7,CSH,4.5 +CMT,1,1,746,1.6,CSH,9.5 +CMT,1,1,2242,12.1,CRD,37 +CMT,1,1,718,2.9,CRD,12 +CMT,1,1,706,2.3,CSH,10.5 +CMT,1,1,1028,3.1,CSH,14 +CMT,1,2,1407,6.5,CRD,22 +CMT,1,1,305,0.9,CRD,5.5 +CMT,1,1,1236,3.1,CSH,14.5 +CMT,1,1,53,0.1,CSH,2.5 +CMT,1,2,437,0.8,CSH,6.5 +CMT,1,1,264,0.9,CSH,5.5 +CMT,1,1,251,0.9,CSH,5 +CMT,1,4,471,0.8,CSH,6.5 +CMT,1,1,861,2.6,CSH,11.5 +CMT,1,3,759,6.5,CRD,19.5 +CMT,1,1,1345,10.5,CRD,31 +CMT,1,1,760,3,CRD,12 +CMT,1,3,232,0.8,CSH,5 +CMT,1,1,632,2,CSH,9.5 +CMT,1,1,969,2.4,CRD,12 +CMT,1,2,653,1,CSH,8.5 +CMT,1,1,595,2.2,CRD,10 +CMT,1,1,387,1.6,CRD,7 +CMT,1,1,1170,5.5,CRD,18.5 +CMT,1,3,678,3.2,CRD,12 +CMT,1,3,637,1.6,CRD,8.5 +CMT,1,1,505,2.1,CRD,8.5 +CMT,1,1,155,0.7,CRD,4 +CMT,1,3,177,0.4,CSH,4 +CMT,1,4,657,0.8,CSH,8 +CMT,1,1,271,0.8,CSH,5 +CMT,1,1,609,2.4,CRD,9.5 +CMT,1,1,172,0.7,CSH,4.5 +CMT,1,2,1020,8.8,CRD,26 +CMT,1,1,678,2,CRD,9.5 +CMT,1,1,448,1.7,CRD,7.5 +CMT,1,2,233,0.9,CRD,5.5 +CMT,1,3,216,0.7,CSH,4.5 +CMT,1,1,406,0.8,CRD,6.5 +CMT,1,2,371,2,CSH,8.5 +CMT,1,2,215,0.6,CRD,4.5 +CMT,1,1,770,1.6,CSH,10 +CMT,1,1,532,0.9,CRD,7.5 +CMT,1,1,156,0.5,CSH,4 +CMT,1,1,296,2.1,CSH,8 +CMT,1,1,1186,9.2,CSH,27.5 +CMT,1,3,383,1.4,CSH,6.5 +CMT,1,3,303,0.8,CRD,5.5 +CMT,1,4,1594,4.4,CRD,20 +CMT,1,1,1146,7.3,CRD,22 +CMT,1,2,558,1.6,CRD,8.5 +CMT,1,2,954,2.7,CRD,12.5 +CMT,1,2,566,2.5,CRD,10.5 +CMT,1,1,647,2.6,CRD,10 +CMT,1,2,492,1.5,CSH,7.5 +CMT,1,1,859,8,CRD,23.5 +CMT,1,2,1131,7.1,CRD,23 +CMT,1,1,517,2.1,CSH,9 +CMT,1,1,698,2.6,CRD,10.5 +CMT,1,3,533,1.5,CSH,8 +CMT,1,1,456,1.8,CSH,8 +CMT,1,1,1492,13.3,CRD,37.5 +CMT,1,4,186,0.7,CSH,4.5 +CMT,1,1,463,3.1,CRD,10.5 +CMT,1,1,2403,4.6,CRD,21 +CMT,1,1,206,0.7,CRD,4.5 +CMT,1,1,1509,6.1,CRD,22.5 +CMT,1,1,559,2.4,CRD,10 +CMT,1,1,613,3,CRD,11 +CMT,1,2,947,2.9,CSH,12.5 +CMT,1,1,372,0.7,CRD,6 +CMT,1,2,443,1.6,CSH,7.5 +CMT,1,2,730,1,CSH,9 +CMT,1,1,1480,4.8,CRD,20 +CMT,1,4,215,0.7,CSH,4.5 +CMT,1,1,611,1.5,CRD,8.5 +CMT,1,1,277,1.1,CSH,5.5 +CMT,1,1,251,1.1,CSH,5.5 +CMT,1,2,143,0.7,CRD,4 +CMT,1,1,437,1,CSH,6.5 +CMT,1,3,601,1.3,CRD,8 +CMT,1,1,768,4.6,CRD,14.5 +CMT,1,1,439,2.2,CRD,8.5 +CMT,1,3,405,1.1,CRD,6.5 +CMT,1,1,762,2.7,CSH,11 +CMT,1,1,506,1.8,CSH,8 +CMT,1,1,308,0.7,CRD,5.5 +CMT,1,2,215,1,CSH,5 +CMT,1,1,306,0.9,CSH,5.5 +CMT,1,1,821,2.8,CSH,11.5 +CMT,1,1,1182,3.5,CRD,15 +CMT,1,2,931,2.7,CRD,12.5 +CMT,1,2,400,0.9,CSH,6 +CMT,1,3,1291,14,CSH,39 +CMT,1,2,1287,9.9,CRD,29.5 +CMT,1,2,171,0.6,CRD,4.5 +CMT,1,1,325,4,CSH,12.5 +CMT,1,1,945,1.4,CSH,11 +CMT,1,2,613,1.6,CSH,8.5 +CMT,1,1,570,1.1,CRD,7.5 +CMT,1,2,725,2.6,CRD,11 +CMT,1,1,253,0.7,CRD,5 +CMT,1,2,608,1.4,CSH,8.5 +CMT,1,1,654,3.7,CRD,13 +CMT,1,2,512,1.8,CRD,8 +CMT,1,3,398,1.5,CSH,7.5 +CMT,1,1,850,3.2,CSH,12.5 +CMT,1,1,703,1.6,CSH,9.5 +CMT,1,2,422,1.2,CRD,7 +CMT,1,2,395,1.8,CRD,7.5 +CMT,1,4,633,1.6,CSH,9 +CMT,1,1,741,3.4,CRD,12.5 +CMT,1,1,490,1.7,CRD,8 +CMT,1,2,389,1.1,CSH,6.5 +CMT,1,4,593,3.4,CSH,11.5 +CMT,1,1,390,1.9,CRD,7.5 +CMT,1,1,397,1.1,CRD,6.5 +CMT,1,1,619,1.8,CSH,8.5 +CMT,1,2,397,1.4,CSH,7 +CMT,1,1,1388,5.5,CRD,20.5 +CMT,1,4,273,1,CSH,5.5 +CMT,1,1,287,1,CRD,5.5 +CMT,1,1,1145,5.1,CSH,18 +CMT,1,1,310,1.4,CSH,6.5 +CMT,1,1,509,1.3,CSH,7.5 +CMT,1,2,530,1.9,CSH,8.5 +CMT,1,1,350,1.5,CRD,7 +CMT,1,2,682,2.1,CSH,10 +CMT,1,2,316,0.9,CRD,5.5 +CMT,1,1,354,1.3,CSH,6.5 +CMT,1,1,197,0.5,CSH,4.5 +CMT,1,1,683,1.6,CSH,9 +CMT,1,1,594,0.7,CSH,7.5 +CMT,1,1,512,2.4,CRD,9 +CMT,1,2,210,0.7,CRD,4.5 +CMT,1,1,197,0.6,CSH,4.5 +CMT,1,1,195,0.7,CSH,4.5 +CMT,1,1,654,1.7,CSH,9 +CMT,1,1,414,2.2,CRD,8.5 +CMT,1,1,85,0.4,CSH,3.5 +CMT,1,2,371,0.7,CRD,5.5 +CMT,1,1,567,1.4,CRD,8 +CMT,1,1,391,1,CSH,6 +CMT,1,3,405,1.5,CRD,7 +CMT,1,2,272,1,CSH,5.5 +CMT,1,2,275,1,CSH,5.5 +CMT,5,2,1548,19,CRD,75 +CMT,1,3,383,0.8,CRD,6 +CMT,1,1,207,1,CRD,5 +CMT,1,2,368,1.2,CRD,6.5 +CMT,1,1,696,1.3,CSH,8.5 +CMT,1,1,644,2.2,CRD,10 +CMT,1,1,490,1.6,CSH,8 +CMT,1,1,543,1.3,CRD,7.5 +CMT,1,2,443,1.4,CRD,7.5 +CMT,1,1,255,1,CSH,5 +CMT,1,1,227,0.8,CRD,5 +CMT,1,1,139,0.5,CSH,4 +CMT,1,1,379,1.8,CSH,7.5 +CMT,1,2,828,5.2,CRD,17 +CMT,1,1,196,0.6,CSH,4.5 +CMT,1,1,490,1.5,CSH,8 +CMT,1,1,201,0.9,CRD,5 +CMT,1,1,676,2.3,CRD,10.5 +CMT,1,1,350,0.8,CSH,5.5 +CMT,1,1,429,1.5,CRD,7 +CMT,1,1,682,2.9,CSH,11.5 +CMT,2,2,2833,20.2,CRD,52 +CMT,1,1,541,1,CRD,7 +VTS,1,3,1020,3.22,CRD,14 +VTS,1,3,1260,5.02,CRD,18.5 +VTS,1,2,180,0.72,CRD,5 +VTS,1,4,1200,5.03,CRD,18.5 +VTS,1,3,660,1.62,CSH,9 +VTS,1,3,1020,2.5,CRD,13 +VTS,1,4,600,0.85,CSH,7.5 +VTS,1,3,1140,4.31,CRD,17.5 +VTS,1,3,720,2.14,CRD,10 +VTS,1,3,600,1.77,CRD,9 +VTS,1,2,300,0.91,CSH,5.5 +VTS,1,2,1080,3.8,CRD,16 +VTS,1,2,300,1.3,CRD,6.5 +CMT,1,2,625,2.5,CRD,10 +CMT,1,2,690,2.6,CSH,10.5 +CMT,1,4,870,9.5,CRD,26 +CMT,1,2,280,1,CRD,5.5 +CMT,1,2,212,0.7,CSH,4.5 +CMT,1,2,853,3.2,CRD,12.5 +CMT,1,1,615,2.5,CSH,10 +CMT,1,2,456,1.4,CRD,7.5 +CMT,1,1,1231,4.6,CSH,18 +CMT,1,1,1185,11.3,CSH,33 +CMT,1,1,655,2.2,CRD,10 +CMT,1,1,1325,3.1,CRD,16.5 +CMT,1,1,460,2.6,CRD,9.5 +CMT,1,1,552,1.9,CRD,8.5 +CMT,1,2,319,0.7,CSH,5.5 +CMT,1,1,590,3.1,CRD,11 +CMT,1,1,655,2,CRD,9.5 +CMT,1,1,760,2.7,CRD,11.5 +CMT,1,2,444,1.3,CSH,7 +CMT,1,1,611,1.4,CSH,8.5 +CMT,1,1,750,1.6,CRD,10 +CMT,1,4,609,1.3,CRD,8 +CMT,1,1,340,0.9,CRD,5.5 +CMT,1,1,229,0.8,CSH,4.5 +CMT,1,3,356,0.9,CRD,6 +CMT,1,1,584,1.7,CSH,8.5 +CMT,1,1,537,1.7,CRD,8.5 +CMT,1,1,766,2.7,CRD,11 +CMT,1,1,328,1,CSH,5.5 +CMT,1,1,583,2.2,CRD,9 +CMT,1,1,505,1.1,CSH,7 +CMT,1,2,996,5.1,CRD,17.5 +CMT,1,2,295,0.8,CRD,5.5 +CMT,1,1,793,0.7,CRD,9 +CMT,1,2,360,0.8,CRD,5.5 +CMT,1,2,472,1.3,CRD,7 +CMT,1,2,245,0.6,CSH,5 +CMT,1,1,660,3,CRD,11 +CMT,1,1,234,0.9,CRD,5 +CMT,1,2,326,1.4,CRD,6.5 +CMT,1,3,716,3.4,CRD,12.5 +CMT,1,2,1526,9.9,CRD,30.5 +CMT,1,3,1162,5,CRD,18.5 +CMT,1,1,706,2.6,CSH,10.5 +CMT,1,4,229,0.8,CRD,5 +CMT,1,1,1340,5.6,CRD,20.5 +CMT,1,1,449,1.7,CSH,7.5 +CMT,1,1,1145,3.9,CRD,15 +CMT,1,2,375,1.3,CSH,6.5 +CMT,1,2,613,1.8,CRD,9 +CMT,1,2,175,0.3,CRD,4 +CMT,1,2,610,2.3,CSH,10 +CMT,1,2,610,2.1,CRD,9.5 +CMT,1,2,1105,9.7,CRD,28 +CMT,1,2,738,3.3,CRD,12 +CMT,1,1,269,1.4,CSH,6.5 +CMT,1,1,462,2.1,CSH,8.5 +CMT,1,2,898,2.5,CSH,12 +CMT,1,2,710,1.6,CRD,9 +CMT,1,1,684,1.3,CSH,8.5 +CMT,1,2,303,1.2,CSH,6 +CMT,1,1,594,2,CRD,9 +CMT,1,1,223,0.5,CRD,4.5 +CMT,1,1,125,0.5,CSH,3.5 +CMT,1,1,299,0.9,CSH,5.5 +CMT,1,1,590,1.3,CRD,8 +CMT,1,1,388,1.1,CSH,6.5 +CMT,1,1,280,1.1,CSH,6 +CMT,1,4,589,1.8,CSH,9 +CMT,1,2,501,2.4,CRD,9 +CMT,1,2,493,1.3,CRD,7 +CMT,1,1,622,2.3,CSH,10 +CMT,1,2,602,2.4,CSH,10 +CMT,1,1,390,1.4,CRD,7 +CMT,1,1,193,0.8,CRD,4.5 +CMT,1,1,693,2.2,CSH,10 +CMT,1,1,964,4,CRD,14.5 +CMT,1,1,811,2.6,CRD,11.5 +CMT,1,1,433,1.2,CRD,6.5 +CMT,1,2,505,1.4,CSH,8 +CMT,1,3,1293,2.8,CSH,15 +CMT,1,4,316,1,CSH,5.5 +CMT,1,1,176,0.3,CRD,4 +CMT,1,2,1074,4.1,CRD,16 +CMT,1,2,730,5.1,CRD,17 +CMT,1,4,1016,4,CSH,15.5 +CMT,1,1,503,3,CRD,10 +CMT,1,1,677,2,CRD,9.5 +CMT,1,2,1407,7,CRD,24 +CMT,1,4,449,1.6,CSH,7.5 +CMT,1,3,458,2.3,CSH,9.5 +CMT,1,4,576,2.3,CSH,10 +CMT,1,1,859,3.4,CRD,13 +CMT,1,1,1392,9.3,CSH,29 +CMT,1,1,270,1.2,CSH,6 +CMT,1,1,164,0.4,CSH,4 +CMT,1,2,834,5.3,CSH,17 +CMT,1,4,252,0.6,CRD,5 +CMT,1,3,963,3.1,CRD,13.5 +CMT,1,1,200,0.6,CSH,4.5 +CMT,1,1,427,2,CRD,8 +CMT,1,1,821,3.1,CRD,12 +CMT,1,2,240,0.8,CSH,5 +CMT,1,1,117,0.6,CRD,4 +CMT,1,1,641,0.9,CRD,8 +CMT,1,1,301,0.7,CSH,5 +CMT,1,2,443,1.7,CSH,7.5 +CMT,1,1,240,1,CRD,5.5 +CMT,1,1,348,2.1,CRD,8 +CMT,1,1,425,1.7,CRD,8 +CMT,1,2,1616,16.3,CSH,45 +CMT,1,2,430,0.8,CRD,6 +CMT,1,3,340,1.8,CRD,7.5 +CMT,1,4,739,2.4,CSH,10.5 +CMT,1,2,1706,4.3,CRD,20.5 +CMT,1,4,393,1.4,CSH,7.5 +CMT,1,4,675,1.4,CSH,9 +CMT,1,2,769,2.7,CSH,11.5 +CMT,1,2,488,2,CRD,8.5 +CMT,1,2,816,2.6,CRD,11.5 +CMT,1,2,396,1.1,CSH,6.5 +CMT,1,2,620,1.8,CRD,9 +CMT,1,1,534,1.5,CRD,8 +CMT,1,1,929,1.5,CRD,10.5 +CMT,1,1,522,2.1,CRD,9 +CMT,1,1,895,1.6,CRD,10.5 +CMT,1,2,742,1.4,CSH,9.5 +CMT,1,2,214,0.6,CSH,4.5 +CMT,1,1,317,1.1,CRD,6 +CMT,1,2,2358,15.2,CRD,47 +CMT,1,1,1196,6.8,CRD,22 +CMT,1,1,180,0.7,CRD,4 +CMT,1,1,3495,2.6,CRD,32.5 +CMT,1,1,795,4.6,CRD,15.5 +CMT,1,1,341,0.8,CRD,5.5 +CMT,1,2,475,1,CRD,7 +CMT,1,1,667,5.3,CRD,16.5 +CMT,1,1,608,1,CSH,7.5 +CMT,1,1,379,1.1,CSH,6.5 +CMT,1,2,1198,6.7,CRD,21.5 +CMT,1,4,726,3.7,CSH,13 +CMT,1,3,817,2.3,CRD,11 +CMT,1,2,307,0.5,CRD,5 +CMT,1,1,576,2.9,CRD,10.5 +CMT,1,1,740,2.5,CRD,11 +CMT,1,1,190,0.4,CRD,4 +CMT,1,1,453,1.7,CRD,8 +CMT,1,2,710,3.5,CSH,13 +CMT,1,1,313,0.8,CSH,5.5 +CMT,1,1,441,1.5,CRD,7.5 +CMT,1,2,268,0.8,CSH,5 +CMT,1,1,485,1.9,CSH,8 +CMT,1,1,532,1.1,CSH,7 +CMT,1,3,950,4.5,CRD,15.5 +CMT,1,1,363,1.3,CSH,6.5 +CMT,1,1,621,3.2,CSH,12 +CMT,1,1,522,2.2,CRD,9 +CMT,1,1,415,0.8,CRD,6 +CMT,1,3,136,0.4,CRD,3.5 +CMT,1,1,762,2.7,CRD,11.5 +CMT,1,1,1474,10.8,CRD,32.5 +CMT,1,2,262,0.9,CSH,5 +CMT,1,1,1078,3.6,CSH,14.5 +CMT,1,1,625,2.3,CSH,10.5 +CMT,1,1,155,0.8,CRD,4.5 +CMT,1,1,318,1.4,CSH,6.5 +CMT,1,1,781,2.9,CRD,11.5 +CMT,1,1,391,0.9,CRD,6 +CMT,1,1,605,2.1,CRD,9.5 +CMT,1,1,1144,2.6,CRD,13.5 +CMT,1,1,321,1,CRD,5.5 +CMT,1,1,913,6.8,CSH,21 +CMT,1,1,846,3.7,CRD,14 +CMT,1,1,360,1.2,CRD,6 +CMT,1,3,428,0.3,CSH,6 +CMT,1,2,1256,6.9,CRD,22.5 +CMT,1,2,399,1.2,CSH,6.5 +CMT,1,3,625,1.7,CRD,9 +CMT,1,2,393,1.7,CSH,7.5 +CMT,1,1,689,3.3,CSH,12 +CMT,1,4,464,1.3,CRD,7 +CMT,1,2,569,1,CRD,7.5 +CMT,1,1,492,1.2,CSH,7 +CMT,1,1,922,3.3,CRD,13.5 +CMT,1,2,252,1.2,CRD,5.5 +CMT,1,4,521,1.6,CSH,8 +CMT,1,2,418,2.3,CRD,8.5 +CMT,1,1,485,3.1,CRD,11 +CMT,1,1,408,1.3,CRD,7 +CMT,1,1,841,1.1,CSH,10.5 +CMT,1,1,787,2.7,CSH,11.5 +CMT,1,2,324,0.8,CSH,5.5 +CMT,1,2,370,0.8,CSH,6 +CMT,1,2,348,0.9,CSH,6 +CMT,1,1,999,7.4,CRD,22 +CMT,1,1,2625,11.3,CRD,39.5 +CMT,1,1,270,0.9,CRD,5 +CMT,1,1,982,5.5,CRD,18.5 +CMT,1,1,766,2.6,CSH,11 +CMT,1,2,906,1.7,CRD,10.5 +CMT,1,2,943,3.4,CSH,13.5 +CMT,1,3,555,2,CSH,9 +CMT,1,1,1007,5,CRD,18 +CMT,1,1,355,0.7,CRD,5.5 +CMT,1,1,1094,8,CRD,24 +CMT,1,4,463,1.6,CSH,8 +CMT,1,2,603,1.9,CRD,9 +CMT,1,1,742,5,CSH,16 +CMT,1,4,175,0.4,CRD,4 +CMT,1,1,1040,3.1,CRD,14 +CMT,1,3,188,0.8,CSH,4.5 +CMT,1,1,588,2.2,CRD,9.5 +CMT,1,1,437,1.5,CRD,7.5 +CMT,1,2,290,0.8,CRD,5.5 +CMT,1,1,36,0.2,CSH,3 +CMT,1,1,1597,10.2,CSH,32.5 +CMT,1,1,221,1.2,CSH,5.5 +CMT,1,1,153,1.1,CRD,5 +CMT,1,1,430,1.1,CRD,6.5 +CMT,1,1,1227,4.7,CSH,19.5 +CMT,1,1,645,1.8,CRD,9 +CMT,1,1,859,7.4,CRD,22 +CMT,1,1,194,0.7,CSH,4.5 +CMT,1,1,460,1.1,CSH,7 +CMT,1,4,1093,3.1,CRD,14 +CMT,1,2,875,2.2,CRD,11 +CMT,1,1,1341,7.5,CSH,24.5 +CMT,1,1,496,2.1,CSH,8.5 +CMT,1,2,471,0.8,CSH,6.5 +CMT,1,1,1254,2.1,CRD,14 +CMT,1,1,903,3.2,CRD,13 +CMT,1,1,257,1.5,CSH,6 +CMT,1,1,348,1,CRD,6 +CMT,1,1,622,1.7,CSH,9 +CMT,1,1,455,1.8,CSH,7.5 +CMT,1,1,653,2.5,CRD,10.5 +CMT,1,4,441,1.1,CSH,6.5 +CMT,1,1,428,1.1,CRD,6.5 +CMT,1,1,836,9.1,CRD,25.5 +CMT,1,1,609,2,CSH,9.5 +CMT,1,1,203,0.6,CSH,4.5 +CMT,1,1,340,1.8,CRD,7 +CMT,1,1,603,2,CRD,9 +CMT,1,1,161,0.4,CRD,4 +CMT,1,1,174,0.6,CSH,4 +CMT,1,1,547,1.6,CSH,8 +CMT,1,1,1228,3,CRD,15 +CMT,1,1,254,0.9,CRD,5 +CMT,1,1,151,0.7,CSH,4.5 +CMT,1,4,184,0.5,CSH,4.5 +CMT,1,2,392,1.3,CSH,6.5 +CMT,1,2,2367,5.6,CSH,26 +CMT,1,1,208,0.7,CRD,4.5 +CMT,1,1,627,1.2,CSH,8 +CMT,1,2,333,1.2,CRD,6 +CMT,1,1,1435,5.6,CRD,20.5 +CMT,1,2,899,3.1,CSH,12 +CMT,1,1,701,1.8,CRD,9.5 +CMT,1,2,440,1.5,CSH,7.5 +CMT,1,1,916,2.4,CRD,12 +CMT,1,1,604,3.7,CRD,12 +CMT,1,1,534,2.1,CRD,9.5 +CMT,1,2,741,2.4,CRD,10.5 +CMT,1,3,478,1.5,CSH,7.5 +CMT,1,2,886,2.8,CSH,12 +CMT,1,2,711,2.7,CSH,11.5 +CMT,1,1,591,2.1,CRD,9.5 +CMT,1,2,284,0.9,CRD,5.5 +CMT,1,1,294,1.3,CSH,6 +CMT,1,1,404,0.7,CSH,6 +CMT,1,1,580,1.9,CRD,8.5 +CMT,1,2,277,1.2,CRD,6 +CMT,1,1,361,0.9,CRD,6 +CMT,1,3,306,1.1,CSH,6 +CMT,1,2,306,0.8,CSH,5.5 +CMT,1,1,79,0.2,CSH,3 +CMT,1,1,327,0.9,CSH,5.5 +CMT,1,2,683,1.5,CSH,8.5 +CMT,1,1,1126,4.8,CSH,17 +CMT,1,1,1208,9.6,CRD,28.5 +CMT,1,1,257,1.1,CSH,5.5 +CMT,1,1,127,0.7,CRD,4 +CMT,1,2,109,0.5,CSH,3.5 +CMT,1,1,148,0.5,CRD,4 +CMT,1,2,687,2.9,CRD,12 +CMT,1,1,245,1.1,CRD,5.5 +CMT,1,2,582,1.5,CSH,8 +CMT,1,1,314,0.5,CSH,5 +CMT,1,2,349,0.7,CRD,5.5 +CMT,1,1,314,1.7,CRD,7 +CMT,1,1,763,4.2,CRD,14 +CMT,1,1,409,1.2,CRD,7 +CMT,1,1,208,0.7,CRD,4.5 +CMT,1,1,702,2.5,CRD,10.5 +CMT,1,1,1003,2.2,CRD,12 +CMT,1,1,512,1.1,CSH,7.5 +CMT,1,1,728,1.2,CRD,9 +CMT,1,1,921,2.2,CSH,11.5 +CMT,1,1,328,1.5,CRD,7 +CMT,1,1,1116,5.5,CRD,20 +CMT,1,1,576,1.2,CRD,8 +CMT,1,3,345,0.8,CSH,5.5 +CMT,1,1,453,1.1,CSH,7 +CMT,1,1,347,0.9,CSH,6 +CMT,1,2,450,1.4,CRD,7.5 +CMT,1,1,647,2.1,CRD,10 +CMT,1,1,279,1.3,CRD,6 +CMT,1,1,204,1.3,CRD,5.5 +CMT,1,1,541,1.3,CRD,7.5 +CMT,1,1,463,1.2,CRD,7 +CMT,5,2,907,5.5,CRD,58 +CMT,1,1,887,1.6,CRD,10.5 +CMT,1,1,993,1.8,CRD,11 +CMT,1,2,283,0.8,CRD,5.5 +CMT,1,2,635,2.3,CSH,9.5 +CMT,1,1,272,1,CSH,5 +CMT,1,2,165,0.8,CRD,4.5 +CMT,1,2,673,2.5,CRD,10.5 +CMT,1,3,445,1.6,CRD,7.5 +CMT,1,2,1116,2.8,CRD,13.5 +CMT,1,1,430,1.4,CSH,7 +CMT,1,1,199,0.5,CSH,4.5 +CMT,1,3,419,1.4,CRD,7 +CMT,1,1,288,1.4,CSH,6 +CMT,1,1,442,1,CRD,6.5 +CMT,1,1,712,1.5,CRD,9.5 +CMT,1,2,641,1.8,CRD,9 +CMT,1,1,804,3,CRD,13 +CMT,1,2,400,1.4,CSH,7 +CMT,1,1,382,1.1,CSH,6.5 +CMT,1,1,1483,8.5,CSH,27.5 +CMT,1,2,452,2.2,CRD,8.5 +CMT,1,1,486,2.4,CRD,9 +CMT,1,1,712,3.4,CRD,12.5 +CMT,1,1,1337,4.8,CRD,18 +CMT,1,1,471,1.6,CRD,8 +CMT,1,1,348,0.9,CSH,6 +CMT,1,3,1005,3.5,CRD,14 +CMT,1,1,870,6,CSH,19.5 +CMT,1,1,1127,6.4,CRD,21 +CMT,1,1,586,1.9,CRD,9 +CMT,1,1,468,2.1,CSH,8.5 +CMT,1,1,804,2.9,CSH,12 +CMT,2,1,1393,10.9,CRD,52 +CMT,1,1,346,1.5,CRD,7 +CMT,1,1,1015,3.5,CSH,14 +CMT,1,1,407,1.1,CRD,6.5 +CMT,1,1,966,5.8,CSH,19.5 +CMT,1,1,983,4,CRD,15.5 +CMT,1,1,772,2.7,CSH,12 +CMT,1,1,694,2.3,CRD,10.5 +CMT,1,1,462,1.7,CSH,8 +CMT,1,1,1235,3.8,CSH,16 +CMT,1,1,709,2.8,CSH,11 +CMT,1,1,202,1.2,CSH,5.5 +CMT,1,1,771,3.1,CSH,12 +CMT,1,1,231,0.7,CRD,5 +CMT,1,1,262,1,CSH,5.5 +CMT,1,1,571,0.9,CSH,7.5 +CMT,1,1,714,2.3,CRD,10.5 +CMT,1,1,727,1.9,CRD,10 +CMT,1,1,284,1.2,CRD,6 +CMT,1,1,493,1.4,CRD,7 +CMT,1,1,762,3,CRD,12.5 +CMT,1,1,1888,3.6,CRD,21 +CMT,1,1,459,1.9,CRD,8.5 +CMT,1,1,208,0.5,CRD,4.5 +CMT,1,1,515,1.2,CRD,7.5 +CMT,1,1,767,5,CSH,15.5 +CMT,1,1,411,2.6,CRD,9 +CMT,1,1,275,1.3,CSH,6 +CMT,1,1,573,2.6,CRD,10 +CMT,1,1,646,1.8,CRD,9 +CMT,1,1,696,2.9,CRD,11 +CMT,1,1,1001,9.4,CRD,26.5 +CMT,1,1,1385,11.4,CRD,33 +CMT,1,1,551,2,CSH,9 +CMT,1,3,618,1.9,CSH,9 +CMT,1,1,209,0.7,CSH,4.5 +CMT,1,3,286,1.2,CSH,6 +CMT,1,1,345,1.1,CSH,6 +CMT,1,1,680,2.9,CRD,11 +CMT,1,1,1128,2.4,CRD,13 +CMT,1,1,838,5.4,CRD,18 +CMT,1,1,255,0.6,CRD,5 +CMT,1,1,1051,2.1,CRD,12 +CMT,1,4,1254,2.9,CSH,14.5 +CMT,1,2,340,1.5,CSH,7 +CMT,1,1,246,1.1,CRD,5.5 +CMT,1,1,252,1.2,CRD,5.5 +CMT,1,1,447,2.1,CRD,9 +CMT,1,1,199,1.1,CSH,5.5 +CMT,1,1,356,1.3,CRD,7 +CMT,1,1,1319,6.7,CSH,21.5 +CMT,1,1,250,1,CRD,5.5 +CMT,1,1,373,1,CSH,6.5 +CMT,1,1,285,1,CSH,5.5 +CMT,1,1,246,0.6,CSH,4.5 +CMT,1,1,674,1.3,CSH,8.5 +CMT,1,1,803,6.1,CSH,18.5 +CMT,2,1,1895,18.7,CRD,52 +CMT,1,1,1133,5.7,CRD,21 +CMT,2,1,1422,18.4,CSH,52 +CMT,1,1,581,2.3,CSH,9.5 +CMT,1,1,911,1.8,CSH,11 +CMT,1,1,803,5.5,CRD,17.5 +CMT,1,1,981,2,CSH,12 +CMT,1,1,2055,11.4,CSH,35.5 +CMT,1,1,1276,9.6,CSH,29.5 +CMT,1,1,1081,3,CRD,14 +CMT,1,1,1096,2.3,CRD,13 +CMT,1,1,280,1.5,CRD,6.5 +CMT,1,1,576,1.5,CRD,8 +CMT,1,1,908,1.9,CRD,11 +CMT,1,1,904,10.2,CSH,29 +CMT,1,1,1171,2.8,CSH,14 +CMT,1,1,1191,9.2,CRD,27 +CMT,1,1,778,4,CRD,14 +CMT,1,1,813,1.4,CSH,10 +CMT,1,1,314,0.8,CSH,5.5 +CMT,1,1,569,2.3,CSH,9.5 +CMT,1,1,635,3,CRD,12 +CMT,1,1,845,2,CRD,10.5 +CMT,1,1,791,2.5,CRD,11 +CMT,1,1,1834,5.9,CSH,23.5 +CMT,1,1,1267,6.3,CRD,21 +CMT,1,1,1025,3.3,CSH,14 +CMT,1,1,1183,3,CRD,14 +CMT,1,1,2084,11.4,CRD,36 +CMT,1,2,677,1.7,CSH,9.5 +CMT,1,1,1186,3.4,CRD,14.5 +CMT,1,2,1714,13.4,CRD,39 +CMT,1,1,1038,3,CRD,13 +CMT,1,1,606,2,CRD,9 +CMT,1,1,761,3.3,CSH,12 +CMT,1,1,487,1.7,CSH,8 +CMT,1,3,302,1,CSH,6 +CMT,1,1,736,1.7,CSH,9.5 +CMT,1,1,372,1.4,CSH,6.5 +CMT,1,2,578,2.8,CRD,10.5 +CMT,1,1,284,1.1,CSH,5.5 +CMT,1,1,289,0.8,CRD,5.5 +CMT,1,1,262,1.6,CSH,6.5 +CMT,1,1,530,1.8,CRD,8.5 +CMT,1,1,347,0.9,CSH,6 +CMT,1,1,338,1,CSH,6 +CMT,1,1,272,1,CSH,6 +CMT,1,1,351,1.3,CRD,6 +CMT,1,1,1644,10.6,CSH,32.5 +CMT,1,1,744,1.9,CRD,10 +CMT,1,1,734,3.6,CRD,13 +CMT,1,1,1881,11.7,CRD,36 +CMT,1,1,590,2.3,CSH,10 +CMT,1,1,543,2.5,CSH,10 +CMT,1,1,455,0.8,CRD,6.5 +CMT,1,1,400,1,CSH,6.5 +CMT,1,1,792,2.1,CRD,10.5 +CMT,1,1,428,0.7,CRD,6 +CMT,1,4,1226,3.4,CSH,14.5 +CMT,1,1,291,0.8,CRD,5.5 +CMT,1,1,1014,3.1,CSH,14 +CMT,1,1,285,1.1,CSH,5.5 +CMT,1,1,254,0.9,CRD,5 +CMT,1,1,496,1.8,CSH,8 +CMT,1,1,1236,10.4,CRD,30 +CMT,1,1,474,0.9,CRD,7 +CMT,1,1,918,7.4,CSH,22.5 +CMT,1,1,179,0.5,CSH,4.5 +CMT,1,1,218,1.1,CRD,5.5 +CMT,1,1,1178,3.8,CRD,16 +CMT,1,1,1054,3.5,CRD,14.5 +CMT,1,1,714,1.9,CSH,10 +CMT,1,1,1278,5.3,CRD,19.5 +CMT,1,1,918,5.7,CRD,18 +CMT,1,1,585,0.9,CSH,7.5 +CMT,1,1,472,1.3,CRD,7 +CMT,1,1,640,2.6,CRD,10.5 +CMT,1,1,762,2.2,CRD,11 +CMT,1,1,458,0.9,CSH,6.5 +CMT,1,1,325,2.4,CSH,9 +CMT,1,1,218,0.9,CSH,5 +CMT,1,1,1128,7.5,CSH,23 +CMT,1,1,1086,4.4,CRD,16 +CMT,1,1,427,1,CRD,6.5 +CMT,1,2,597,2.2,CSH,9.5 +CMT,1,1,743,1.9,CSH,9.5 +CMT,1,2,1157,3.4,CRD,14.5 +CMT,1,2,480,1.2,CSH,7 +CMT,4,1,935,4.4,CRD,15.5 +CMT,1,2,233,0.5,CSH,4.5 +CMT,1,2,922,3.8,CRD,14.5 +CMT,1,1,241,0.5,CRD,4.5 +CMT,1,1,159,0.6,CSH,4 +CMT,1,1,1233,5.6,CRD,20.5 +CMT,1,1,1708,19.5,CSH,52 +CMT,1,1,371,1.1,CSH,6.5 +CMT,1,1,1155,13.2,CRD,36 +CMT,1,1,1044,3.8,CRD,15 +CMT,1,1,768,1.8,CSH,9.5 +CMT,1,1,181,1,CSH,5 +CMT,1,1,491,1.1,CSH,7 +CMT,1,1,283,0.7,CSH,5 +CMT,1,1,393,1.6,CRD,7.5 +CMT,1,1,796,2.6,CRD,11.5 +CMT,1,1,659,2.2,CSH,9.5 +CMT,1,1,296,1.2,CSH,6 +CMT,1,1,632,2.9,CRD,11 +CMT,2,1,1881,18.7,CRD,52 +CMT,1,1,1392,6,CRD,21 +CMT,1,1,377,1,CSH,6.5 +CMT,1,1,1032,3.2,CSH,14 +CMT,1,1,358,1.4,CSH,7 +CMT,1,1,1049,5.2,CRD,17.5 +CMT,1,1,980,1.6,CSH,11.5 +CMT,1,1,1468,11.2,CSH,33 +CMT,1,1,674,2,CRD,10 +CMT,1,1,167,0.7,CRD,4 +CMT,1,1,92,0.3,CRD,3.5 +CMT,1,1,323,0.9,CSH,5.5 +CMT,1,1,369,0.7,CRD,5.5 +CMT,1,1,220,0.7,CSH,4.5 +CMT,1,1,397,1.4,CRD,7 +CMT,2,1,3538,17.1,CRD,52 +CMT,1,1,743,2,CRD,10 +CMT,1,1,618,1.3,CSH,8.5 +CMT,1,1,490,2.5,CRD,10.5 +CMT,1,1,1269,10.8,CRD,31 +CMT,1,1,366,1.2,CRD,6.5 +CMT,1,1,430,1.6,CRD,7.5 +CMT,1,1,746,2.6,CRD,11.5 +CMT,1,1,561,1.5,CRD,8.5 +CMT,1,1,751,2,CRD,10.5 +CMT,1,1,486,1.3,CRD,7 +CMT,1,1,140,0.4,CRD,3.5 +CMT,1,1,1042,4.1,CSH,16 +CMT,1,1,173,0.6,CSH,4.5 +CMT,1,1,350,1,CRD,6 +CMT,1,1,1129,2.5,CRD,13.5 +CMT,1,1,422,0.7,CSH,6 +CMT,1,1,766,4.2,CRD,14.5 +CMT,1,1,292,0.7,CRD,5 +CMT,1,1,1029,4.1,CSH,16 +CMT,1,1,535,1.6,CRD,8 +CMT,1,1,272,1,CSH,5.5 +CMT,1,1,237,0.6,CRD,4.5 +CMT,1,1,649,1.9,CRD,8.5 +CMT,1,1,737,6,CSH,19 +CMT,1,1,592,1.4,CSH,8.5 +CMT,1,1,244,0.5,CRD,4.5 +CMT,1,1,382,1.2,CRD,6.5 +CMT,1,1,345,0.6,CRD,5.5 +CMT,5,1,899,10.7,CRD,83 +CMT,2,1,1898,17.9,CRD,52 +CMT,1,1,532,1.7,CRD,8 +CMT,1,1,192,0.4,CSH,4 +CMT,1,1,173,0.7,CSH,4.5 +CMT,1,1,973,2.6,CRD,13 +CMT,1,1,140,0.3,CSH,3.5 +CMT,1,1,251,1,CRD,5.5 +CMT,1,1,1176,5.6,CRD,19.5 +CMT,1,1,1426,3.1,CSH,16.5 +CMT,1,1,636,1.7,CRD,8.5 +CMT,1,1,1128,6.4,CRD,21 +CMT,1,1,453,1.2,CRD,7 +CMT,1,1,857,2.7,CSH,12 +CMT,1,1,621,1.2,CRD,8 +CMT,2,1,1498,17.6,CRD,52 +CMT,1,1,548,2.4,CRD,9.5 +CMT,1,1,357,1.7,CSH,7 +CMT,1,1,398,1.5,CSH,7 +CMT,1,1,1338,11.9,CSH,34.5 +CMT,1,1,754,2.9,CRD,12 +CMT,1,1,490,1.7,CRD,8 +CMT,1,1,1382,10.6,CRD,32 +CMT,1,1,434,1.2,CRD,7 +CMT,1,1,578,2.2,CRD,9.5 +CMT,1,1,1348,2.7,CRD,15.5 +CMT,1,1,317,1.1,CSH,6 +CMT,1,1,896,2.2,CSH,11 +CMT,1,1,510,2.3,CRD,9 +CMT,1,1,609,2.3,CSH,10 +CMT,1,1,1988,10.5,CRD,36 +CMT,1,1,999,3.4,CSH,14.5 +CMT,1,1,386,2.1,CRD,8 +CMT,1,1,401,0.5,CRD,6 +CMT,1,1,878,6.8,CSH,21 +CMT,1,1,908,3.4,CRD,14.5 +CMT,1,1,145,0.6,CRD,4 +CMT,1,1,329,1,CRD,5.5 +CMT,1,1,1206,10.2,CSH,29.5 +CMT,1,1,829,1.8,CRD,10 +CMT,1,1,776,1.4,CRD,9.5 +CMT,1,1,728,1.9,CRD,9.5 +CMT,1,1,135,0.7,CRD,4.5 +CMT,1,1,779,1.5,CRD,10 +CMT,1,1,718,1.6,CSH,9.5 +CMT,1,1,626,1.1,CRD,8.5 +CMT,1,1,483,1.9,CRD,8 +CMT,1,1,745,3.5,CRD,12.5 +CMT,1,1,640,2.5,CSH,10.5 +CMT,1,1,452,1.4,CSH,8 +CMT,1,1,791,1.5,CRD,10 +CMT,1,1,737,1.5,CSH,9.5 +CMT,1,1,1444,5.8,CSH,21.5 +CMT,1,1,435,1.3,CRD,7 +CMT,1,1,475,1,CRD,7 +CMT,1,1,279,1.3,CRD,6 +CMT,1,1,1111,6.2,CRD,21.5 +CMT,1,1,924,3,CSH,12.5 +CMT,1,1,504,1,CSH,7.5 +CMT,1,1,306,0.8,CRD,5.5 +CMT,1,1,236,0.9,CRD,5.5 +CMT,1,1,369,1.6,CSH,7 +CMT,1,1,563,1.6,CSH,8.5 +CMT,1,1,1030,2,CSH,12 +CMT,1,1,258,1.3,CSH,6 +CMT,1,1,223,1,CRD,5 +CMT,1,1,320,1,CSH,6 +CMT,1,1,499,1.1,CSH,7.5 +CMT,1,1,443,1,CSH,6.5 +CMT,1,1,903,4.3,CRD,15.5 +CMT,1,1,1666,10.2,CRD,31.5 +CMT,1,1,510,1,CSH,7 +CMT,1,1,233,2,CSH,7 +CMT,1,1,738,2.4,CSH,11 +CMT,1,1,424,2.8,CRD,9.5 +CMT,1,1,348,1.3,CSH,6.5 +CMT,1,1,1117,3.7,CRD,15.5 +CMT,1,1,747,1.2,CRD,9.5 +CMT,1,1,856,4.1,CRD,15.5 +CMT,1,1,628,1.7,CRD,9.5 +CMT,1,1,522,1.5,CRD,8 +CMT,1,1,144,0.5,CSH,4 +CMT,1,1,720,1,CRD,8.5 +CMT,1,1,1620,9.8,CSH,31.5 +CMT,1,1,887,1.5,CSH,10.5 +CMT,1,1,691,1,CRD,8.5 +CMT,1,1,845,4,CRD,15.5 +CMT,1,1,231,0.8,CRD,5 +CMT,1,1,199,0.7,CRD,4.5 +CMT,1,1,747,1.7,CRD,10 +CMT,1,1,196,0.8,CSH,4.5 +CMT,1,1,710,1.5,CRD,9 +CMT,1,1,533,2,CRD,8.5 +CMT,1,1,166,0.4,CRD,4 +CMT,1,1,746,0.9,CSH,9 +CMT,1,1,192,0.4,CSH,4 +CMT,1,1,412,0.9,CSH,6.5 +CMT,1,1,635,1.1,CRD,8 +CMT,1,1,470,2.3,CRD,9.5 +CMT,1,1,477,2.3,CRD,9 +CMT,1,1,461,0.9,CRD,6.5 +CMT,1,1,1043,2.8,CRD,13.5 +CMT,1,1,198,0.4,CSH,4 +CMT,1,1,747,2.1,CSH,10.5 +CMT,1,1,3488,10.7,CRD,43.5 +CMT,1,1,438,1.2,CRD,7 +CMT,1,1,96,0.3,CSH,3.5 +CMT,1,1,765,2.6,CSH,11.5 +CMT,2,1,1833,17.4,CRD,52 +CMT,1,1,929,1.7,CRD,11.5 +CMT,1,1,441,1.1,CRD,7 +CMT,1,1,850,2.4,CSH,11 +CMT,1,1,1304,3.4,CSH,15.5 +CMT,1,1,336,1.1,CSH,6 +CMT,1,1,335,1.6,CSH,7 +CMT,1,1,744,1.2,CRD,9 +CMT,1,1,885,2.7,CRD,12 +CMT,1,1,617,1.8,CRD,9 +CMT,1,1,300,0.9,CSH,5.5 +CMT,1,1,873,2,CSH,11 +CMT,1,1,797,5.4,CRD,17.5 +CMT,1,1,1327,11.3,CSH,32.5 +CMT,1,1,940,2.4,CRD,12.5 +CMT,1,1,186,0.6,CRD,4 +CMT,1,1,279,0.6,CRD,5.5 +CMT,1,1,311,0.9,CSH,5.5 +CMT,1,1,1269,4,CRD,16.5 +CMT,1,1,578,1.4,CRD,8 +CMT,1,1,1148,7.2,CRD,23 +CMT,1,1,1046,5,CSH,18.5 +CMT,1,1,324,1,CSH,6 +CMT,1,1,538,2.2,CRD,9 +CMT,1,1,213,0.9,CRD,5 +CMT,1,1,335,1.1,CSH,6 +CMT,1,1,346,1.3,CSH,6.5 +CMT,1,1,1209,5.6,CRD,20.5 +CMT,1,1,1620,4,CRD,19 +CMT,1,1,1458,3.2,CRD,17 +CMT,1,1,549,2.7,CRD,10 +CMT,1,1,171,0.6,CSH,4.5 +CMT,1,1,1177,3.3,CRD,15.5 +CMT,1,1,420,2,CRD,8.5 +CMT,1,1,549,1.1,CSH,7.5 +CMT,1,1,391,1.5,CSH,7 +CMT,1,1,859,3,CSH,13 +CMT,1,1,828,3,CRD,12 +CMT,1,1,274,0.8,CSH,5 +CMT,1,1,546,1.1,CRD,7.5 +CMT,1,1,868,2.2,CRD,11 +CMT,1,1,301,1.7,CRD,7 +CMT,1,1,861,3.5,CRD,13.5 +CMT,1,1,246,2,CRD,7.5 +CMT,1,1,473,1.6,CSH,7.5 +CMT,1,1,753,4.4,CRD,15 +CMT,1,1,278,0.8,CSH,5 +CMT,1,1,801,3.8,CSH,14 +CMT,1,1,553,1.8,CSH,9 +CMT,1,1,494,1.3,CSH,7 +CMT,1,1,594,3.1,CSH,11 +CMT,1,1,759,1.8,CRD,10 +CMT,1,1,940,2.3,CRD,11.5 +CMT,1,1,95,0.4,CSH,3.5 +CMT,1,1,467,1.5,CRD,7.5 +CMT,1,1,382,1.5,CRD,7 +CMT,1,1,750,0.8,CSH,9 +CMT,1,1,1143,2.5,CSH,13.5 +CMT,1,1,345,0.6,CRD,5.5 +CMT,1,1,673,3.6,CSH,13 +CMT,1,1,630,1.6,CSH,8.5 +CMT,1,1,265,0.8,CSH,5 +CMT,1,1,464,3.1,CRD,10.5 +CMT,1,1,496,1.1,CRD,7.5 +CMT,1,1,434,0.5,CSH,6 +CMT,1,1,272,0.9,CRD,5.5 +CMT,1,1,534,1.1,CRD,7 +CMT,1,1,829,2.8,CRD,12 +CMT,1,1,379,1.7,CSH,7.5 +CMT,1,1,634,1.8,CSH,9 +CMT,1,1,576,2.3,CRD,10 +CMT,1,1,499,4.1,CRD,13 +CMT,1,1,257,0.9,CRD,5.5 +CMT,1,1,324,0.8,CSH,5.5 +CMT,1,1,986,3.3,CRD,13.5 +CMT,1,1,151,0.7,CRD,4 +CMT,1,1,344,1.4,CRD,6.5 +CMT,1,1,980,1.5,CRD,11.5 +CMT,1,1,208,0.4,CRD,4 +CMT,1,1,467,1.2,CRD,7 +CMT,1,1,176,0.5,CRD,4 +CMT,1,1,1641,9.8,CRD,30.5 +CMT,1,1,824,1.2,CSH,9.5 +CMT,1,1,517,0.9,CSH,7 +CMT,1,1,605,2.9,CRD,10.5 +CMT,1,1,447,0.7,CRD,6.5 +CMT,1,1,1445,5.9,CSH,23 +CMT,1,1,403,2.5,CRD,9.5 +CMT,1,1,394,1.2,CRD,6.5 +CMT,1,1,399,2.2,CRD,8 +CMT,1,1,480,1.6,CRD,7.5 +CMT,1,1,315,1.2,CSH,6 +CMT,1,1,250,0.9,CRD,5 +CMT,1,1,560,1.3,CSH,8 +CMT,1,1,661,1,CRD,8.5 +CMT,1,1,1316,4.1,CSH,18.5 +CMT,1,1,426,0.6,CRD,6 +CMT,1,1,691,2.4,CRD,10.5 +CMT,1,1,569,2.5,CRD,10 +CMT,1,1,877,2.4,CRD,12 +CMT,1,1,384,1,CRD,6 +CMT,1,1,1578,10.8,CRD,33 +CMT,1,1,832,2,CSH,11 +CMT,1,1,776,2.2,CRD,10.5 +CMT,1,1,1138,5.9,CRD,20.5 +CMT,1,1,740,2.1,CRD,10 +VTS,1,1,300,0.49,CSH,5 +VTS,1,1,480,0.82,CRD,6.5 +CMT,1,1,633,4,CSH,13.5 +CMT,1,1,187,0.7,CRD,4.5 +CMT,1,1,670,1.1,CSH,8.5 +CMT,1,1,159,0.6,CRD,4 +CMT,1,1,231,0.4,CRD,4.5 +CMT,1,1,258,0.9,CSH,5.5 +CMT,1,1,496,1.7,CSH,8.5 +CMT,1,1,286,0.6,CRD,5 +CMT,1,1,434,2,CRD,8 +CMT,1,1,311,1,CSH,5.5 +CMT,1,1,784,2.5,CRD,11 +CMT,1,1,686,1.9,CSH,9.5 +CMT,1,1,722,2,CSH,9.5 +CMT,1,1,308,0.8,CRD,5.5 +CMT,1,1,216,1.1,CSH,5.5 +CMT,1,1,474,0.6,CSH,6.5 +CMT,1,1,549,1.1,CSH,7.5 +CMT,1,1,1047,1.5,CSH,12 +CMT,1,1,828,1.6,CRD,10.5 +CMT,1,1,175,0.7,CRD,4.5 +VTS,1,1,1020,2.22,CRD,12.5 +VTS,1,1,540,1.3,CSH,8 +VTS,1,1,360,0.69,CRD,5.5 +VTS,1,1,360,1.41,CSH,6.5 +VTS,1,1,60,0.15,CRD,3 +VTS,1,1,1380,8.22,CSH,26 +CMT,1,1,529,0.7,CRD,7 +CMT,1,1,811,4.5,CSH,16 +CMT,1,1,876,2.9,CSH,12.5 +CMT,1,1,1094,5.1,CSH,18.5 +CMT,1,1,169,1.1,CSH,5 +CMT,1,1,113,0.5,CSH,4 +CMT,1,1,575,1.7,CRD,8.5 +CMT,1,1,204,0.6,CSH,4.5 +CMT,1,1,1443,4.6,CRD,18.5 +CMT,1,1,585,3.7,CRD,13 +CMT,1,1,701,1.3,CRD,9 +CMT,1,1,1303,3.6,CSH,16 +CMT,1,1,405,1,CRD,6 +CMT,1,1,454,1.8,CRD,8 +CMT,1,1,1180,4.3,CRD,17 +CMT,1,1,345,0.8,CSH,6 +CMT,1,1,387,0.7,CSH,5.5 +CMT,1,1,544,3.5,CRD,12 +CMT,1,1,747,2.9,CSH,12 +CMT,1,1,711,1.1,CSH,9 +CMT,1,1,759,3.4,CSH,13 +CMT,1,1,655,1,CRD,8 +CMT,1,1,1236,1.6,CSH,13 +CMT,1,1,922,1.9,CRD,11 +VTS,1,5,240,0,CSH,4 +VTS,1,1,360,0.72,CSH,5.5 +CMT,1,1,1003,1.8,CRD,11.5 +CMT,1,1,248,1,CSH,5.5 +CMT,1,1,149,0.5,CSH,4 +CMT,1,1,391,2.4,CRD,9 +CMT,1,1,1315,5.2,CRD,20 +CMT,1,1,692,1.8,CRD,9.5 +CMT,1,1,373,0.9,CRD,6 +CMT,1,1,453,0.6,CRD,6 +CMT,1,1,267,1.2,CRD,5.5 +CMT,1,1,514,1.3,CRD,7.5 +CMT,1,1,745,4.6,CRD,14.5 +CMT,1,1,515,1.6,CSH,7.5 +CMT,1,1,842,2.5,CSH,11.5 +CMT,1,1,260,1.1,CRD,6 +CMT,1,1,296,1.3,CRD,6.5 +CMT,1,1,388,0.9,CSH,6 +CMT,1,1,759,3.6,CSH,13.5 +CMT,1,1,478,1.3,CRD,7.5 +CMT,1,1,861,1.3,CSH,10 +CMT,1,1,499,1.3,CSH,7.5 +CMT,1,1,63,0.5,CSH,3.5 +CMT,1,1,650,3,CRD,11 +CMT,1,1,977,5.7,CRD,19.5 +CMT,1,1,357,1.3,CSH,6.5 +CMT,1,1,239,0.8,CSH,5 +CMT,1,1,542,1.7,CSH,8.5 +CMT,1,1,227,0.7,CSH,4.5 +CMT,1,1,1195,5.1,CSH,18.5 +CMT,1,1,341,1.3,CSH,6.5 +CMT,1,1,263,1.3,CRD,6.5 +CMT,1,1,445,0.9,CRD,6.5 +CMT,1,1,520,2.5,CRD,10 +CMT,1,1,476,1,CRD,7 +CMT,1,1,985,8.3,CRD,24.5 +CMT,1,1,410,1.5,CRD,7 +CMT,1,1,928,3.1,CRD,13.5 +CMT,1,1,1062,2.9,CSH,14 +CMT,1,1,213,0.5,CRD,4.5 +CMT,1,1,182,1.4,CRD,6 +CMT,1,1,1475,9.7,CSH,30.5 +CMT,1,1,699,1.4,CRD,9.5 +CMT,1,1,858,3.3,CSH,13.5 +CMT,1,1,3334,7.8,CRD,39 +CMT,1,1,164,0.8,CRD,4.5 +CMT,1,1,433,0.9,CRD,6.5 +CMT,1,1,273,0.7,CSH,5 +CMT,1,1,894,1.9,CSH,11 +CMT,1,1,664,1.1,CSH,8 +CMT,1,1,595,3.7,CSH,13 +CMT,1,1,1091,2.3,CRD,13 +CMT,1,1,1012,5.2,CSH,18 +CMT,1,1,182,0.9,CSH,5 +CMT,1,1,298,0.5,CSH,5 +CMT,1,1,901,3.2,CSH,13.5 +CMT,1,1,183,0.6,CSH,4.5 +CMT,1,1,522,1.4,CRD,8 +CMT,1,1,1066,2.3,CSH,12.5 +CMT,1,1,383,0.9,CSH,6 +CMT,1,1,406,0.8,CRD,6 +CMT,1,1,621,0.9,CSH,8 +CMT,1,1,335,0.7,CRD,5.5 +CMT,1,1,277,0.6,CRD,5 +CMT,1,1,916,1.6,CSH,11 +CMT,1,1,418,1,CRD,6.5 +CMT,1,1,390,1,CSH,6 +CMT,1,1,772,1,CRD,9.5 +CMT,1,1,428,1.9,CSH,8.5 +CMT,1,1,335,1.8,CSH,7.5 +CMT,1,1,500,2.2,CRD,8.5 +CMT,1,1,690,4.5,CSH,14.5 +CMT,1,1,441,1.3,CRD,7 +CMT,1,1,409,2.4,CSH,9 +CMT,1,1,471,1.6,CRD,8 +CMT,1,1,1170,2.8,CSH,14 +CMT,1,1,413,0.8,CRD,6 +CMT,1,1,919,1.9,CRD,11.5 +CMT,1,1,1073,2.5,CRD,13 +CMT,1,1,327,1.7,CRD,7 +CMT,1,1,526,2.2,CRD,9.5 +CMT,1,1,331,0.7,CRD,5.5 +CMT,1,1,492,1.1,CSH,7 +CMT,1,1,497,1.3,CRD,7.5 +CMT,2,1,2104,20.6,CSH,52 +CMT,1,1,451,1.5,CRD,7.5 +CMT,1,1,490,1,CRD,7 +CMT,1,1,1559,11.1,CRD,33.5 +CMT,1,1,993,1.4,CSH,11 +CMT,1,1,591,1.9,CSH,9 +CMT,1,1,2094,8.2,CSH,30.5 +CMT,1,1,883,1.8,CRD,11 +CMT,1,1,1673,5.4,CRD,22.5 +CMT,1,1,382,0.8,CSH,6 +CMT,1,1,368,1.5,CRD,7 +CMT,1,1,378,1.7,CRD,7.5 +CMT,3,1,1513,17.4,CRD,64.5 +CMT,1,1,523,1.2,CRD,7.5 +CMT,1,1,252,1.3,CRD,6 +CMT,1,1,308,0.8,CRD,5.5 +CMT,1,1,198,0.6,CSH,4.5 +CMT,1,1,1510,2.7,CRD,16.5 +CMT,1,1,491,1.7,CRD,7.5 +CMT,1,1,876,0.8,CRD,9.5 +CMT,1,1,605,1.4,CRD,8 +CMT,1,1,1232,7.5,CRD,24.5 +CMT,1,1,838,3.2,CSH,12.5 +CMT,5,1,1252,13,CRD,78 +CMT,1,1,629,3.6,CRD,12.5 +CMT,1,1,125,1,CSH,5 +CMT,1,1,1199,5.4,CRD,19 +CMT,1,1,198,0.6,CSH,4.5 +CMT,1,1,1211,4.1,CRD,16.5 +CMT,1,1,580,1,CRD,8 +CMT,1,1,460,1.1,CRD,7 +CMT,1,1,750,1.7,CRD,10 +CMT,1,1,763,4,CSH,13.5 +CMT,1,1,184,0.3,CSH,4 +CMT,1,1,1024,3.3,CRD,14 +CMT,1,1,173,0.6,CRD,4 +CMT,1,1,291,0.8,CRD,5 +CMT,1,1,174,0.6,CRD,4 +CMT,1,1,638,1.6,CSH,8.5 +CMT,1,1,809,1.3,CRD,10 +CMT,1,1,480,1,CRD,7 +CMT,1,1,223,0.4,CRD,4 +CMT,1,1,523,1.5,CRD,7.5 +CMT,1,1,1085,5.3,CRD,19 +CMT,1,1,809,1.3,CRD,9.5 +VTS,1,1,960,1.93,CRD,11.5 +VTS,1,1,660,2.3,CSH,10.5 +VTS,1,1,720,1.73,CRD,10 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,960,2.98,CRD,12.5 +VTS,1,1,1440,2.76,CRD,17 +VTS,1,1,1140,3.27,CSH,15 +VTS,1,1,720,1.76,CRD,10 +VTS,1,1,1320,4.28,CRD,18 +VTS,1,1,600,1.28,CRD,8 +VTS,1,1,840,2.21,CRD,11 +VTS,1,1,360,1.02,CSH,6.5 +VTS,1,1,960,1.7,CRD,12 +VTS,1,1,360,1.43,CSH,7 +VTS,1,1,660,2.88,CRD,11.5 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,420,1.43,CRD,7.5 +VTS,1,1,780,6.58,CSH,20.5 +VTS,1,1,840,3.6,CRD,14.5 +VTS,1,1,660,2.37,CSH,10 +VTS,1,1,240,0.77,CRD,4.5 +VTS,1,1,360,0.97,CSH,6 +VTS,1,1,240,0.4,CSH,4.5 +VTS,1,1,720,1.17,CRD,9 +VTS,1,1,480,0.96,CRD,7.5 +VTS,1,1,1080,2.56,CRD,13.5 +VTS,1,1,180,0.32,CRD,3.5 +VTS,1,1,360,0.81,CRD,6 +CMT,1,1,375,1.6,CRD,7.5 +CMT,1,1,713,2.2,CRD,10 +CMT,1,1,384,1.4,CRD,7 +CMT,1,1,203,0.7,CSH,4.5 +CMT,1,1,602,1.4,CSH,8 +CMT,1,1,433,1.1,CSH,6.5 +CMT,1,1,321,0.9,CSH,5.5 +CMT,1,1,697,0.9,CRD,8.5 +CMT,1,1,235,0.9,CRD,5 +CMT,1,1,58,0.4,CRD,3 +CMT,1,1,549,1.9,CRD,8.5 +CMT,1,1,1026,2.7,CRD,12.5 +CMT,2,1,1487,17.3,CSH,52 +CMT,1,1,175,0.9,CRD,5 +CMT,1,1,365,1.3,CSH,7 +CMT,1,1,1550,5.6,CRD,22.5 +CMT,1,1,314,0.7,CSH,5.5 +CMT,1,1,504,1.5,CRD,7.5 +CMT,1,1,454,1.5,CRD,7.5 +CMT,1,1,902,6.2,CSH,18.5 +CMT,1,1,1210,2.2,CSH,14.5 +CMT,5,1,1199,15.8,CRD,88 +CMT,1,1,297,0.9,CRD,5.5 +CMT,1,1,750,4.3,CRD,15 +CMT,1,1,266,0.8,CRD,5 +CMT,1,1,500,1.2,CRD,7.5 +VTS,1,1,300,0.52,CRD,4.5 +VTS,1,1,300,1.02,CSH,6 +VTS,1,1,1140,4.01,CRD,16.5 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,960,5.96,CSH,19.5 +VTS,1,1,720,1.99,CRD,10 +VTS,1,1,600,1.64,CRD,9 +VTS,1,1,660,1.14,CSH,8.5 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,240,0.83,CRD,5.5 +VTS,1,1,420,1.89,CSH,8 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,300,0.91,CSH,6 +VTS,1,1,1080,2.75,CSH,15 +VTS,1,1,540,2.04,CRD,9 +VTS,1,1,480,1.91,CSH,8 +VTS,1,1,540,1.56,CSH,8.5 +VTS,1,1,660,1.3,CSH,9 +VTS,1,1,900,2.21,CRD,11 +VTS,1,1,420,1.56,CRD,7.5 +VTS,1,1,300,0.71,CRD,5.5 +VTS,1,1,540,1.23,CSH,7.5 +VTS,1,1,840,1.55,CRD,10.5 +VTS,1,1,660,1.08,CSH,8.5 +VTS,1,1,960,2.65,CSH,13.5 +VTS,1,1,960,3.34,CSH,14.5 +CMT,1,1,675,2.5,CRD,11 +CMT,1,1,610,2.1,CRD,9.5 +CMT,1,1,511,0.9,CRD,7 +CMT,1,1,826,1.2,CRD,9.5 +CMT,1,1,461,1.1,CRD,7 +CMT,1,1,1394,9.8,CRD,30 +CMT,1,1,273,0.7,CSH,5 +CMT,1,1,508,1.2,CRD,7.5 +VTS,1,1,720,2.42,CSH,10.5 +VTS,1,1,780,1.86,CSH,10.5 +VTS,1,1,300,1.24,CSH,6.5 +VTS,1,1,60,0.47,CSH,3.5 +VTS,1,1,300,0.55,CRD,5 +VTS,1,1,1320,2.29,CSH,14 +VTS,1,1,240,0.28,CRD,4 +VTS,1,1,120,0.44,CSH,3.5 +VTS,1,1,600,1.26,CRD,8 +VTS,1,1,960,1.86,CRD,12 +VTS,1,1,360,0.86,CSH,6 +VTS,1,1,720,1.54,CSH,9.5 +VTS,1,1,180,0.47,CRD,4 +VTS,1,1,240,0.71,CRD,5 +VTS,1,1,120,0.77,CSH,4.5 +VTS,1,1,480,1.96,CRD,8.5 +VTS,1,1,1020,3.07,CSH,11 +VTS,1,1,840,2.47,CRD,12 +CMT,1,1,248,0.6,CRD,4.5 +CMT,1,1,579,0.9,CRD,7.5 +VTS,1,1,600,1.56,CSH,9 +VTS,1,1,1680,3.91,CRD,19.5 +VTS,1,1,960,2.82,CRD,13 +VTS,1,1,540,1.32,CSH,7.5 +VTS,1,1,1020,1.91,CRD,11.5 +VTS,1,1,120,0.35,CSH,3.5 +VTS,1,1,360,1.19,CSH,6.5 +VTS,1,1,1140,2.25,CRD,13.5 +VTS,1,1,720,1.64,CRD,9.5 +VTS,1,1,540,1.2,CSH,7.5 +VTS,1,1,480,1.12,CSH,7 +VTS,1,1,780,2.09,CRD,10.5 +VTS,1,1,1260,2.41,CSH,14.5 +VTS,1,1,180,0.85,CRD,4.5 +VTS,1,1,1680,4.39,CSH,21.5 +VTS,1,1,720,3.52,CSH,12.5 +VTS,1,1,600,1.5,CRD,9 +VTS,1,1,540,1.51,CRD,8.5 +VTS,1,1,420,1.48,CSH,7.5 +VTS,1,1,480,1,CSH,6.5 +VTS,1,1,420,1.55,CSH,8 +VTS,1,1,360,1.35,CSH,6.5 +VTS,1,1,900,2.28,CSH,12.5 +VTS,1,1,480,1.2,CSH,7.5 +VTS,1,1,420,1.48,CSH,7.5 +VTS,1,1,1320,1.99,CRD,14.5 +VTS,1,1,360,1.52,CSH,7 +VTS,1,1,960,2.43,CRD,12 +VTS,1,1,300,0.66,CSH,5.5 +VTS,1,1,240,0.74,CRD,5 +VTS,1,1,420,1.33,CSH,7.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,780,2.4,CRD,11 +VTS,1,1,480,0.97,CSH,7 +VTS,1,1,600,2.81,CRD,11 +VTS,1,1,360,1.31,CSH,7 +VTS,1,1,300,1.75,CRD,7 +VTS,1,1,660,2.4,CSH,10.5 +VTS,1,1,420,2.35,CSH,9 +VTS,1,1,780,2.26,CSH,11 +VTS,1,1,540,1.41,CSH,8.5 +VTS,1,1,540,1.4,CSH,8 +VTS,1,1,120,0.58,CSH,4 +VTS,1,1,420,1.04,CSH,6.5 +VTS,2,1,2160,19.27,CRD,52 +VTS,1,1,900,2.17,CRD,11.5 +VTS,1,1,540,1.4,CSH,8 +VTS,1,1,1620,3.8,CRD,19 +VTS,1,1,540,1.43,CRD,7.5 +VTS,1,1,240,0.69,CSH,5 +CMT,1,1,340,0.6,CRD,5 +CMT,1,1,788,5.8,CRD,18 +VTS,1,1,900,2.76,CRD,13 +VTS,1,1,480,0.97,CRD,7 +VTS,1,1,660,1.06,CRD,8.5 +VTS,1,1,840,1.84,CSH,11 +VTS,1,1,660,2.1,CSH,9.5 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,1200,2.69,CRD,14 +VTS,1,1,720,2.18,CRD,10.5 +VTS,1,1,540,1.37,CRD,7.5 +VTS,1,1,960,2.14,CSH,12 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,960,3.09,CRD,13.5 +VTS,1,1,540,1.13,CRD,7.5 +VTS,1,1,780,1.28,CSH,9.5 +VTS,1,1,420,1.09,CSH,6.5 +VTS,1,1,1140,2.93,CSH,14 +VTS,1,1,300,1.18,CRD,6 +VTS,1,1,1200,5.45,CSH,19 +VTS,1,1,480,2.35,CRD,9.5 +VTS,1,1,720,1.93,CRD,10.5 +VTS,1,1,480,1.08,CSH,6.5 +VTS,1,1,600,1.55,CRD,8.5 +VTS,1,1,360,1.43,CRD,7 +VTS,1,1,540,1.91,CRD,9 +VTS,1,1,840,1.81,CRD,11 +VTS,1,1,720,2.78,CRD,11.5 +VTS,1,1,960,2.55,CSH,12 +VTS,1,1,900,2.78,CRD,12.5 +VTS,1,1,840,1.84,CSH,10.5 +VTS,1,1,600,1.45,CSH,8.5 +VTS,1,1,540,1.34,CSH,8 +VTS,1,1,1620,4.65,CSH,20 +VTS,1,1,720,1.48,CSH,9.5 +VTS,1,1,420,0.61,CRD,6 +VTS,1,1,900,1.81,CSH,10.5 +VTS,1,1,660,0.91,CRD,8 +VTS,1,1,240,0.77,CSH,5 +VTS,1,1,1860,5.26,CRD,24 +VTS,1,1,420,0.65,CSH,6 +VTS,1,1,1080,3.65,CRD,15.5 +VTS,1,1,360,0.85,CSH,6 +VTS,1,1,480,1.45,CRD,8 +VTS,1,1,840,2.82,CRD,12 +VTS,1,1,420,1.31,CRD,6.5 +VTS,1,1,2280,4.48,CSH,25 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,540,2.38,CSH,10.5 +VTS,1,1,180,0.75,CSH,5 +VTS,1,1,120,0.59,CSH,4 +VTS,1,1,420,1.32,CSH,7 +CMT,1,1,334,0.7,CSH,5.5 +CMT,1,1,993,3.8,CRD,14.5 +CMT,1,1,735,2.1,CSH,10 +CMT,1,1,1037,9,CRD,26 +CMT,1,1,1111,5.2,CRD,18.5 +CMT,1,1,509,1,CRD,7 +CMT,1,1,1142,3.6,CSH,15 +CMT,1,1,1091,2.8,CSH,14 +CMT,1,1,372,1.1,CSH,6.5 +CMT,1,1,1391,3.1,CRD,16 +CMT,1,1,694,1.5,CSH,9 +CMT,1,1,390,1.4,CSH,6.5 +CMT,2,1,1339,18,CSH,52 +CMT,1,1,436,1.1,CRD,7 +CMT,1,1,455,1.7,CRD,8 +CMT,1,1,1071,8.8,CSH,25.5 +CMT,1,1,617,2.9,CRD,11 +CMT,1,1,464,1.1,CRD,7 +CMT,1,1,461,1.6,CRD,8.5 +CMT,1,1,245,0.6,CSH,4.5 +CMT,1,1,255,0.6,CSH,5 +CMT,1,1,900,2.8,CSH,12.5 +CMT,1,1,503,2.8,CSH,10.5 +CMT,1,1,530,1.7,CRD,8.5 +CMT,1,1,1023,1.6,CSH,11.5 +CMT,1,1,1157,1.9,CRD,13 +CMT,1,1,352,1,CRD,6 +CMT,1,1,126,0.4,CSH,3.5 +CMT,1,1,906,1.1,CSH,10.5 +CMT,1,1,240,1,CSH,5 +CMT,1,1,1219,4.6,CRD,18 +CMT,1,1,873,1.8,CRD,11 +CMT,1,1,1295,5.9,CRD,20.5 +CMT,1,1,787,2,CRD,10.5 +CMT,1,1,484,1.8,CRD,8.5 +CMT,1,1,370,2.2,CRD,8.5 +CMT,1,1,560,2.1,CRD,9 +CMT,1,1,199,0.5,CSH,4.5 +CMT,1,1,799,2.2,CRD,11 +CMT,1,1,535,1.5,CRD,8 +CMT,1,1,336,0.6,CSH,5.5 +CMT,1,1,501,3,CRD,10.5 +CMT,1,1,1161,3.4,CRD,15.5 +CMT,1,1,556,3,CRD,10.5 +CMT,1,1,817,1.5,CRD,9.5 +CMT,1,1,268,1.3,CSH,6 +CMT,1,1,1266,3.3,CRD,15.5 +VTS,1,4,60,0,CRD,2.5 +VTS,1,1,840,2.71,CSH,12 +VTS,1,1,540,0.9,CSH,7.5 +VTS,1,1,480,1.44,CSH,7 +VTS,1,1,900,2.94,CRD,12 +VTS,1,1,420,1.2,CRD,7 +VTS,1,1,1380,2.86,CRD,16 +VTS,1,1,240,0.39,CSH,4.5 +VTS,1,1,240,0.5,CRD,4.5 +VTS,1,1,480,1.02,CRD,6.5 +VTS,1,1,1080,4.34,CRD,16.5 +VTS,1,1,480,0.74,CSH,6 +VTS,1,1,720,3.47,CSH,12.5 +VTS,1,1,420,1.01,CRD,6.5 +VTS,1,1,360,1.1,CRD,6 +VTS,1,1,240,0.91,CSH,5 +VTS,1,1,1020,4.09,CRD,16 +VTS,1,1,240,1.18,CSH,5.5 +VTS,1,1,60,0.65,CSH,4 +VTS,1,1,900,3.61,CRD,14 +VTS,1,1,420,1.03,CRD,6.5 +VTS,1,1,240,0.9,CRD,5 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,180,0.59,CSH,4 +VTS,1,1,600,1.58,CRD,8.5 +VTS,1,1,960,2.74,CRD,12.5 +VTS,1,1,900,3.6,CRD,14 +VTS,1,1,600,2.17,CRD,9.5 +VTS,1,1,540,1.94,CSH,9 +VTS,1,1,480,1.8,CSH,8.5 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,60,0.42,CSH,3.5 +VTS,1,1,480,1.98,CSH,8.5 +VTS,1,1,480,1.21,CRD,7.5 +VTS,1,1,1020,2.24,CSH,12.5 +VTS,1,1,480,1.15,CSH,7 +VTS,1,1,600,1.06,CSH,7.5 +VTS,1,1,480,1.19,CRD,7.5 +VTS,1,1,480,1.46,CRD,8 +VTS,1,1,1260,1.72,CSH,13.5 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,1080,3.77,CRD,15.5 +VTS,1,1,780,3.45,CSH,13 +VTS,1,1,120,0.3,CSH,3.5 +VTS,1,1,480,2.19,CRD,9.5 +VTS,1,1,540,2.9,CRD,11 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,1140,5.57,CRD,20 +VTS,1,1,960,2.56,CSH,13 +VTS,1,1,420,1.93,CSH,8 +VTS,1,1,300,1.12,CSH,6 +VTS,1,1,660,2.42,CRD,10 +VTS,1,1,420,1.34,CRD,7 +VTS,1,1,480,1.69,CSH,8 +VTS,1,1,1020,1.9,CRD,12.5 +VTS,1,1,1260,3.51,CRD,16.5 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,1,840,2.01,CRD,11 +VTS,1,1,1200,3.43,CSH,16 +VTS,1,1,1560,2.18,CRD,16 +VTS,1,1,660,2.5,CRD,10.5 +VTS,1,1,840,2.52,CRD,12 +VTS,1,1,1200,3.25,CRD,15 +VTS,1,1,1200,3.87,CSH,15.5 +VTS,1,1,960,3.61,CSH,14.5 +VTS,3,1,1200,13.79,CRD,55.5 +VTS,1,1,540,1.73,CSH,8.5 +VTS,1,1,300,0.85,CRD,5.5 +VTS,1,1,1740,8.36,CRD,29.5 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,660,2.94,CRD,11.5 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,780,3.19,CSH,13 +VTS,1,1,540,1.65,CSH,9 +VTS,1,1,420,1.39,CSH,7 +VTS,1,1,1140,3.15,CRD,15 +VTS,1,1,660,2.21,CSH,10 +VTS,1,1,540,2.34,CRD,9.5 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,480,1.5,CSH,7.5 +VTS,1,1,540,1.84,CSH,9 +VTS,1,1,360,0.96,CSH,6 +VTS,1,1,240,0.74,CRD,5 +VTS,1,1,840,2.6,CSH,10.5 +VTS,1,1,180,0.54,CSH,4 +VTS,1,1,540,0.82,CSH,7 +VTS,1,1,540,3.59,CRD,12 +VTS,1,1,480,0.82,CSH,7 +VTS,1,1,600,1.85,CRD,9 +VTS,1,1,120,0.65,CSH,4.5 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,600,1.42,CSH,9 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,480,1.7,CRD,8.5 +VTS,1,1,240,1.34,CSH,6 +VTS,1,1,780,2.74,CSH,12.5 +VTS,1,1,780,2.8,CRD,11.5 +VTS,1,1,360,1.24,CSH,7 +VTS,1,1,840,1.87,CSH,11 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,180,0.48,CSH,4 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,1,600,0.78,CSH,7.5 +VTS,1,1,360,0.99,CSH,6 +VTS,1,1,540,1.84,CSH,9 +VTS,1,1,600,1.44,CRD,8.5 +VTS,1,1,1320,3.52,CSH,17 +VTS,1,1,300,0.67,CRD,5 +VTS,1,1,900,1.95,CRD,11.5 +VTS,1,1,300,0.72,CSH,5 +VTS,1,1,360,1.13,CRD,6.5 +VTS,1,1,840,1.87,CRD,11 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,1320,3.86,CRD,18 +VTS,1,1,1020,1.48,CSH,11.5 +VTS,1,1,1080,3.66,CRD,15 +VTS,1,1,60,0.32,CSH,3 +VTS,1,1,120,0.54,CSH,4 +VTS,1,1,780,1.19,CRD,10 +VTS,1,1,720,1.28,CRD,9 +VTS,1,1,60,0.52,CSH,3.5 +VTS,1,1,120,0.63,CSH,4 +VTS,1,1,780,2.73,CRD,12 +VTS,1,1,120,0.62,CSH,4 +VTS,1,1,420,1.16,CRD,7 +VTS,1,1,720,1.32,CRD,9 +VTS,1,1,600,1.44,CSH,8.5 +VTS,1,1,1620,4.46,CRD,21 +VTS,1,1,360,0.65,CSH,5.5 +VTS,1,1,540,1.4,CSH,8 +VTS,1,1,1680,7.4,CRD,27.5 +VTS,1,1,780,2.57,CRD,11.5 +VTS,1,1,1080,2.3,CRD,13 +VTS,1,1,840,1.51,CSH,10 +VTS,1,1,360,0.79,CSH,6 +VTS,1,1,1260,4.72,CSH,17.5 +VTS,1,1,720,3.4,CRD,12.5 +VTS,1,1,240,1.25,CRD,5.5 +VTS,1,1,1260,1.16,CSH,13 +VTS,1,1,720,2.01,CRD,10.5 +VTS,1,1,960,6.44,CRD,21.5 +VTS,1,1,1440,3.53,CRD,17.5 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,840,2.8,CSH,11.5 +VTS,1,1,600,2.61,CSH,10 +VTS,1,1,480,0.71,CSH,6.5 +VTS,1,5,1200,4.36,CRD,17.5 +VTS,1,1,1020,8.24,CSH,24.5 +VTS,1,4,1020,6.68,CSH,20.5 +VTS,1,4,240,0.7,CSH,4.5 +VTS,1,4,120,0.42,CRD,3.5 +VTS,1,1,2040,9.89,CRD,36 +VTS,1,4,600,2.51,CSH,10 +VTS,1,4,360,1.44,CSH,7 +VTS,1,5,840,3.1,CRD,12.5 +VTS,1,5,120,0.84,CRD,4.5 +VTS,1,5,480,3.27,CSH,11 +VTS,1,4,600,2.07,CSH,9.5 +VTS,1,4,600,2.17,CRD,9 +VTS,1,1,360,0.7,CSH,5.5 +VTS,1,1,1380,2.87,CSH,16 +VTS,1,1,300,0.29,CRD,5 +VTS,1,1,420,1.41,CSH,7.5 +VTS,1,1,300,1.16,CSH,6 +VTS,1,1,480,2.01,CRD,8.5 +VTS,1,1,300,1.22,CRD,6.5 +VTS,1,1,780,5.03,CRD,17 +VTS,1,1,480,1.24,CSH,7.5 +VTS,1,1,540,1.7,CSH,8.5 +VTS,1,1,660,4.34,CSH,15 +VTS,1,1,1020,8.83,CSH,26 +VTS,1,1,720,1.93,CSH,10.5 +VTS,1,1,660,1.47,CRD,9 +VTS,1,1,420,1.21,CSH,7 +VTS,1,1,240,0.8,CSH,5.5 +VTS,1,1,480,1,CRD,7 +VTS,1,1,1080,3.51,CRD,15 +VTS,1,1,540,1.24,CRD,8 +VTS,1,1,480,1.79,CSH,8 +VTS,1,1,720,3.26,CRD,12.5 +VTS,1,1,720,2.23,CSH,10.5 +VTS,1,1,480,1.35,CSH,7.5 +VTS,1,1,120,0.53,CSH,4 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,840,1.78,CRD,10.5 +VTS,1,1,600,1.28,CRD,8 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,2340,4.26,CRD,24.5 +VTS,1,1,840,1.66,CSH,10.5 +VTS,1,1,120,0.89,CSH,5 +VTS,1,1,540,0.98,CRD,7 +VTS,1,1,600,1.16,CRD,8 +VTS,1,1,300,0.64,CRD,5.5 +VTS,1,1,420,1.35,CRD,7 +VTS,1,1,300,0.97,CSH,5.5 +VTS,1,1,960,6.02,CRD,20 +VTS,1,1,120,0.71,CRD,4.5 +VTS,1,1,900,4.51,CSH,16.5 +VTS,1,1,540,2.43,CRD,10 +VTS,1,1,900,1.44,CRD,11 +VTS,1,1,180,0.72,CRD,5 +VTS,1,1,360,0.5,CSH,6 +VTS,1,1,420,0.93,CRD,6 +VTS,1,1,300,1.06,CRD,5.5 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,960,1.69,CSH,11.5 +VTS,1,1,600,2.03,CRD,9.5 +VTS,1,1,960,8.37,CRD,24 +VTS,1,1,180,0.37,CRD,4 +VTS,1,1,1260,4.27,CRD,17.5 +VTS,1,1,960,2.07,CRD,12 +VTS,1,1,480,1.83,CSH,8.5 +VTS,1,1,1140,2.98,CSH,14.5 +VTS,3,1,2460,17.85,CRD,69 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,600,1.91,CSH,9 +VTS,1,1,1200,3.27,CRD,15 +VTS,1,1,240,0.6,CRD,4.5 +VTS,1,1,360,0.88,CRD,6 +VTS,1,1,1500,4.12,CRD,18.5 +VTS,1,1,660,2.07,CRD,10 +VTS,1,1,420,1.51,CSH,7 +VTS,1,1,1560,4.49,CRD,20.5 +VTS,1,1,600,1.48,CSH,8.5 +VTS,1,1,420,0.63,CSH,6 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,1020,2.36,CRD,13 +VTS,1,1,900,2.88,CSH,12.5 +VTS,1,1,480,2.69,CSH,10 +VTS,1,1,1260,2.24,CRD,15 +VTS,1,1,480,0.48,CSH,6.5 +VTS,1,1,720,2.27,CRD,10 +VTS,1,5,360,1.23,CSH,6.5 +VTS,1,1,720,3.69,CSH,13.5 +VTS,1,4,1080,7.45,CSH,23.5 +VTS,1,4,180,0.94,CSH,4.5 +VTS,1,1,120,0.36,CSH,3.5 +VTS,1,1,180,1.12,CRD,5.5 +VTS,1,1,840,2.26,CSH,12 +VTS,1,1,420,1.81,CSH,7.5 +VTS,1,1,780,4.01,CRD,14.5 +VTS,1,1,360,0.73,CRD,6 +VTS,1,1,360,0.98,CRD,6 +VTS,1,1,720,1.07,CSH,8.5 +VTS,1,1,1140,2.31,CSH,13 +VTS,1,1,180,0.56,CRD,4 +VTS,1,1,840,2.2,CSH,11 +VTS,1,1,900,3.34,CRD,13 +VTS,1,1,420,0.73,CSH,6.5 +VTS,1,1,540,1.26,CRD,8 +VTS,1,1,540,1.3,CSH,7.5 +VTS,1,1,780,2.8,CRD,12 +VTS,1,1,1380,2.86,CRD,16 +VTS,1,1,660,2.14,CSH,10 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,1260,4.38,CRD,18 +VTS,1,1,840,1.58,CRD,10 +VTS,1,1,180,0.5,CRD,4.5 +VTS,1,1,3000,5.07,CSH,30.5 +VTS,1,1,600,1.62,CRD,9 +VTS,1,1,540,2.21,CRD,9.5 +VTS,1,1,240,0.63,CRD,5 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,600,1.6,CRD,8.5 +VTS,1,1,480,0.77,CRD,6.5 +VTS,1,1,600,1.89,CRD,9 +VTS,1,1,60,0.42,CSH,3.5 +VTS,1,1,660,1.48,CRD,8.5 +VTS,1,1,180,0.34,CSH,4 +VTS,1,1,1140,2.42,CRD,14 +VTS,1,1,1560,8.85,CSH,28.5 +VTS,1,1,1140,6.97,CRD,23 +VTS,1,1,360,0.91,CRD,5.5 +VTS,1,1,660,2.24,CRD,10 +VTS,1,1,180,0.58,CRD,4 +VTS,1,1,1020,3.15,CSH,13.5 +VTS,1,1,1620,3.54,CSH,18.5 +VTS,1,1,600,3.06,CSH,11 +VTS,1,1,480,1.59,CRD,8.5 +VTS,1,1,120,0.72,CSH,4 +VTS,1,1,240,0.84,CSH,5 +VTS,1,1,1380,10.51,CRD,32.5 +VTS,1,1,780,1.65,CSH,10.5 +VTS,1,1,720,1.23,CRD,8.5 +VTS,1,1,660,2.27,CSH,10 +VTS,1,1,300,0.64,CSH,5.5 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,840,3.91,CSH,13.5 +VTS,1,5,420,2.21,CRD,8.5 +VTS,1,1,600,1.02,CRD,8 +VTS,1,1,420,0.89,CSH,6 +VTS,1,4,360,1.48,CRD,7 +VTS,1,4,420,3.6,CSH,11.5 +VTS,1,4,300,1.36,CSH,7 +VTS,1,5,240,0.98,CSH,5.5 +VTS,1,4,1200,9.09,CSH,27.5 +VTS,1,4,480,1.95,CRD,8.5 +VTS,1,4,240,0.92,CSH,5.5 +VTS,1,4,300,0.92,CRD,6 +VTS,1,5,180,1.05,CRD,5 +VTS,1,5,120,0.62,CRD,4 +VTS,1,5,300,0.95,CSH,6 +VTS,1,5,780,3.36,CSH,13.5 +VTS,1,1,660,4.37,CSH,15 +VTS,1,5,1140,6.11,CRD,20 +VTS,1,4,780,2.48,CSH,11.5 +VTS,1,5,420,1.31,CRD,7 +VTS,1,5,600,1.94,CSH,9 +VTS,1,5,300,1.65,CSH,7 +VTS,1,4,480,1.44,CRD,7 +VTS,1,4,1080,12.26,CSH,33.5 +VTS,1,4,60,0.04,CSH,2.5 +VTS,1,4,240,1.01,CRD,5.5 +VTS,1,4,660,2.79,CSH,11 +VTS,1,4,360,1.75,CSH,7.5 +VTS,1,1,240,0.7,CRD,5 +VTS,1,1,480,1.69,CRD,8.5 +VTS,1,1,960,6.33,CRD,20.5 +VTS,1,1,1080,3.45,CRD,14.5 +VTS,1,1,1020,4.86,CRD,18 +VTS,1,1,540,1.48,CSH,8.5 +VTS,1,1,360,0.48,CRD,5.5 +VTS,1,1,120,0.46,CRD,4 +VTS,1,1,1380,5.63,CSH,21.5 +VTS,1,1,1380,3.36,CSH,17 +VTS,3,1,1500,13.85,CRD,56.5 +VTS,1,1,780,3,CSH,12 +VTS,1,5,600,1.5,CSH,8.5 +VTS,1,5,660,3.22,CSH,12 +VTS,1,4,600,2.09,CRD,9.5 +VTS,1,1,660,3.37,CSH,12 +VTS,1,4,300,0.79,CSH,5 +VTS,1,5,600,3.47,CSH,12 +VTS,1,4,1260,8.36,CRD,26 +VTS,1,1,420,1.3,CSH,7 +VTS,1,4,1080,7.13,CRD,22 +VTS,1,4,180,0.76,CRD,5 +VTS,1,4,480,1.59,CSH,8 +VTS,1,4,420,2.81,CRD,10 +VTS,1,4,120,0.39,CSH,3.5 +VTS,1,4,960,4.22,CRD,16 +VTS,1,1,1200,3.62,CRD,16 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,780,2.84,CSH,12 +VTS,1,1,300,0.83,CRD,6 +VTS,1,1,120,0.35,CSH,4 +VTS,1,4,360,1,CSH,6 +VTS,1,5,1080,4.99,CRD,17.5 +VTS,1,4,300,1.66,CSH,7 +VTS,1,4,540,2.25,CSH,9.5 +VTS,1,5,360,2.02,CSH,8 +VTS,1,1,300,2.13,CSH,8 +VTS,1,4,540,2.5,CSH,10 +VTS,1,4,1620,10.59,CRD,32.5 +VTS,1,4,120,0.45,CSH,4 +VTS,1,5,480,2.06,CSH,8.5 +VTS,1,1,300,1.22,CSH,6 +VTS,1,4,300,1.86,CRD,7.5 +VTS,1,1,1620,15.81,CSH,43.5 +VTS,1,4,1560,17.68,CRD,47.5 +VTS,1,1,660,5.4,CSH,17 +VTS,1,4,960,7.05,CRD,22.5 +VTS,1,4,480,1.22,CSH,7 +VTS,1,5,360,1.78,CSH,7.5 +VTS,1,5,900,4.47,CRD,15.5 +VTS,1,4,240,0.93,CRD,5.5 +VTS,1,4,360,1.41,CSH,7 +VTS,1,1,180,0.55,CSH,4 +VTS,1,1,780,1.25,CSH,10 +VTS,1,1,840,2.25,CRD,11.5 +VTS,1,1,660,1.22,CSH,8.5 +VTS,1,1,1500,4.13,CRD,18.5 +VTS,1,1,1020,3.91,CSH,15 +VTS,1,1,480,0.99,CRD,6.5 +VTS,1,1,1440,3.31,CSH,16.5 +VTS,1,1,360,1.04,CRD,6 +VTS,1,1,480,1.1,CSH,7 +VTS,1,1,480,1.53,CRD,7.5 +VTS,1,1,480,1.74,CSH,8 +VTS,1,5,420,1.16,CSH,7 +VTS,1,5,780,4.01,CRD,14 +VTS,1,1,240,1.22,CRD,5.5 +VTS,1,5,1860,4.31,CRD,22 +VTS,1,4,420,2.05,CSH,8.5 +VTS,5,1,0,0,CSH,60 +VTS,1,4,720,2.7,CRD,11 +VTS,1,4,660,2.23,CRD,10.5 +VTS,1,5,1740,7.69,CSH,26.5 +VTS,1,5,1020,9.4,CSH,26.5 +VTS,1,1,1020,5.49,CRD,18.5 +VTS,1,4,1200,4.84,CSH,18.5 +VTS,1,5,480,2.06,CSH,9 +VTS,1,5,540,2.75,CRD,10.5 +VTS,1,4,660,3.6,CSH,12.5 +VTS,1,4,300,1.26,CSH,6.5 +VTS,1,5,240,1.32,CRD,6 +VTS,1,5,600,1.06,CRD,7.5 +VTS,1,1,660,2.74,CRD,11 +VTS,1,5,840,1.82,CSH,10.5 +VTS,1,5,780,1.44,CRD,9.5 +VTS,1,4,120,0.92,CRD,5 +VTS,1,4,180,1.1,CRD,5 +VTS,1,5,1140,3.69,CRD,16.5 +VTS,1,4,600,2.76,CRD,10.5 +VTS,1,1,720,4.56,CRD,15 +VTS,1,4,540,1.52,CSH,8 +VTS,1,4,480,1.29,CRD,7.5 +VTS,1,4,240,0.67,CSH,5 +VTS,1,4,1020,5.02,CRD,16.5 +VTS,1,4,300,0.83,CSH,6 +VTS,1,4,300,1.03,CSH,5.5 +VTS,1,4,780,4.6,CSH,15.5 +VTS,1,4,1560,6.45,CSH,22.5 +VTS,1,4,420,1.42,CRD,7.5 +VTS,1,5,240,0.62,CSH,4.5 +VTS,1,4,420,1.82,CRD,8 +VTS,1,4,1680,16.37,CRD,44 +VTS,1,4,1680,13.02,CSH,37.5 +VTS,1,4,240,0.73,CSH,5 +VTS,1,4,780,7.2,CRD,21 +VTS,5,3,0,0,CRD,37.3 +VTS,1,4,180,0.71,CRD,4.5 +VTS,1,4,540,1.02,CSH,8 +VTS,1,4,720,4.39,CRD,14.5 +VTS,1,1,300,0.02,CSH,4.5 +VTS,1,4,540,2.37,CSH,9.5 +VTS,1,4,240,0.96,CSH,5 +VTS,1,5,360,1.28,CRD,6.5 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,600,2,CRD,9 +VTS,1,2,1080,2.6,CSH,13 +VTS,1,1,480,1.51,CRD,7.5 +VTS,1,1,420,0.84,CRD,6 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,2,600,1.85,CRD,9 +VTS,1,1,360,1.48,CRD,7 +VTS,1,3,660,1.34,CRD,9 +VTS,1,1,600,2.05,CRD,9 +VTS,1,2,720,1.66,CRD,9.5 +VTS,1,1,540,1.8,CSH,8.5 +VTS,5,1,1740,5.83,CSH,100 +VTS,1,1,480,2.03,CRD,8.5 +VTS,1,2,420,1.82,CRD,7.5 +VTS,1,1,360,1.03,CSH,6 +VTS,1,3,540,0.99,CRD,7 +VTS,1,3,960,4.81,CSH,16.5 +VTS,1,2,1200,7.34,CSH,24 +VTS,1,4,420,2.51,CRD,9.5 +VTS,1,5,480,1.23,CRD,7 +VTS,1,4,300,1.11,CRD,6 +VTS,1,5,1200,9.15,CRD,26.5 +VTS,1,4,180,0.77,CRD,4.5 +VTS,1,4,540,2.98,CSH,10.5 +VTS,1,4,420,1.48,CRD,7.5 +VTS,1,4,480,2.66,CSH,9.5 +VTS,1,4,900,4.67,CRD,16 +VTS,1,4,300,0.9,CSH,6 +VTS,1,4,600,1.58,CSH,8.5 +VTS,1,4,420,2.52,CSH,9 +VTS,1,5,480,1.35,CRD,7.5 +VTS,1,5,240,0.34,CRD,4.5 +VTS,1,5,300,0.92,CRD,5.5 +VTS,1,4,1320,6.48,CRD,21.5 +VTS,1,4,360,1.56,CSH,7 +VTS,1,4,540,0.64,CSH,7 +VTS,1,4,1200,7.61,CRD,24 +VTS,1,4,180,0.5,CRD,4 +VTS,1,4,540,2.75,CRD,10.5 +VTS,1,4,300,1.13,CRD,6 +VTS,1,4,720,4.74,CRD,15 +VTS,1,4,180,1.09,CRD,5 +VTS,1,5,120,0.45,CRD,4 +VTS,1,4,420,1.21,CSH,7 +VTS,1,5,360,0.91,CSH,6 +VTS,1,4,240,0.73,CSH,5 +VTS,1,3,780,1.47,CRD,9.5 +VTS,1,4,600,2.09,CRD,9.5 +VTS,1,4,180,0.81,CRD,5 +VTS,1,4,1560,3.59,CRD,19.5 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,4,360,2.63,CRD,9.5 +VTS,1,4,960,10,CSH,29 +VTS,1,4,1620,6.04,CRD,23 +VTS,1,5,660,3.22,CRD,12 +VTS,1,4,300,1.67,CSH,7 +VTS,1,4,1380,11.36,CRD,32 +VTS,1,5,540,2.04,CRD,9 +VTS,1,4,540,2.12,CSH,9 +VTS,1,1,600,2.56,CRD,10.5 +VTS,1,1,1080,2.82,CSH,13.5 +VTS,1,4,840,5.88,CSH,18.5 +VTS,1,4,180,0.68,CSH,4.5 +VTS,1,1,240,1.39,CRD,6.5 +VTS,1,4,540,3.01,CRD,10.5 +VTS,1,4,420,1.51,CSH,7 +VTS,1,1,600,2.28,CSH,10.5 +VTS,1,1,600,3.17,CRD,11.5 +VTS,1,4,420,2.84,CSH,10 +VTS,1,3,1920,11.42,CRD,35.5 +VTS,1,4,600,2.78,CRD,11 +VTS,1,4,1080,7.58,CRD,24 +VTS,1,4,240,0.65,CRD,4.5 +VTS,1,4,300,1.27,CSH,6 +VTS,1,4,420,1.87,CRD,8 +VTS,1,4,1380,6.55,CRD,22.5 +VTS,1,4,1380,6.55,CRD,23 +VTS,1,4,300,0.86,CSH,6 +VTS,1,4,420,2.63,CRD,9.5 +VTS,1,5,660,3.2,CRD,11.5 +VTS,1,4,240,0.7,CSH,5 +VTS,1,4,240,0.95,CRD,5.5 +VTS,1,5,480,1.67,CRD,7.5 +VTS,1,4,420,1.63,CRD,7.5 +VTS,1,4,360,1.16,CSH,6.5 +VTS,1,5,480,2.32,CSH,8.5 +VTS,1,4,180,0.69,CSH,4.5 +VTS,1,4,360,2.97,CSH,10 +VTS,1,5,420,1.56,CSH,7.5 +VTS,1,4,1860,10.33,CRD,32.5 +VTS,1,4,1620,9.94,CRD,29.5 +VTS,1,4,420,2.08,CRD,8 +VTS,1,4,240,1.06,CSH,5.5 +VTS,1,5,1500,5.78,CRD,21 +VTS,1,4,840,3.39,CRD,13.5 +VTS,1,5,1380,6.15,CRD,21.5 +VTS,1,5,420,2.17,CRD,8.5 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,3,720,1.41,CSH,9 +VTS,1,1,240,0.79,CSH,5.5 +VTS,1,3,900,2.38,CRD,12 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,360,1.31,CRD,6.5 +VTS,1,1,1080,3.26,CRD,14.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,720,2.56,CSH,11 +VTS,1,2,420,1.57,CRD,7.5 +VTS,1,1,420,1.88,CSH,8 +VTS,1,2,180,0.47,CSH,3.5 +VTS,1,1,900,2.89,CRD,12.5 +VTS,1,1,180,0.55,CSH,4.5 +VTS,1,2,240,0.49,CRD,5 +VTS,1,2,780,2.82,CRD,12 +VTS,1,1,1020,3.59,CRD,14 +VTS,1,1,660,3.51,CRD,12 +VTS,1,1,540,5.29,CRD,16 +VTS,1,3,1380,5.28,CSH,21 +VTS,1,1,780,2.49,CSH,11.5 +VTS,1,2,720,2.32,CRD,10.5 +VTS,1,1,120,0.5,CSH,4 +VTS,1,1,420,1.43,CRD,7 +VTS,1,1,360,1.53,CRD,7 +VTS,1,5,480,3.55,CSH,11.5 +VTS,1,4,360,1.71,CSH,7.5 +VTS,1,4,300,1.98,CSH,7.5 +VTS,1,4,300,0.82,CSH,5.5 +VTS,1,4,240,1.23,CRD,5.5 +VTS,1,4,900,4.24,CSH,15 +VTS,1,4,1380,6.17,CRD,21.5 +VTS,1,4,660,2.37,CRD,10 +VTS,1,1,1260,8.95,CSH,27 +VTS,1,1,1860,10.2,CSH,31 +VTS,1,5,480,1.21,CSH,7.5 +VTS,1,5,1560,6.83,CSH,23.5 +VTS,1,4,1080,11.58,CRD,32.5 +VTS,1,5,660,2.22,CRD,9.5 +VTS,1,4,240,1.7,CSH,6.5 +VTS,1,1,420,1.8,CSH,8 +VTS,1,5,0,0.3,CRD,3 +VTS,1,3,540,1.04,CRD,7.5 +VTS,1,1,1500,6.17,CRD,22.5 +VTS,1,1,540,1.88,CSH,9 +VTS,1,1,420,0.57,CSH,5.5 +VTS,1,2,540,1.87,CSH,9 +VTS,1,1,900,2.56,CRD,12 +VTS,1,1,900,2.86,CRD,12.5 +VTS,1,1,480,0.77,CRD,6.5 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,5,240,1.13,CRD,5.5 +VTS,1,1,780,2.06,CRD,10.5 +VTS,1,1,900,2.89,CRD,13.5 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,1,1200,2.63,CRD,14.5 +VTS,1,1,960,3.08,CRD,13 +VTS,1,1,540,1.97,CRD,8.5 +VTS,1,2,420,1.25,CSH,7 +VTS,1,1,960,1.86,CSH,11.5 +VTS,1,1,1020,2.88,CRD,13 +VTS,1,2,540,1.24,CSH,7.5 +VTS,1,3,300,1.3,CSH,6 +VTS,1,1,780,5.5,CRD,17.5 +VTS,1,1,1860,8.11,CSH,29.5 +VTS,1,1,480,1.51,CSH,8 +VTS,1,1,1260,6.52,CRD,21.5 +VTS,1,1,960,2.41,CSH,12 +VTS,1,1,420,0.92,CSH,6.5 +VTS,1,2,1140,4.65,CRD,18 +VTS,1,1,960,5.98,CSH,19.5 +VTS,1,1,540,0.84,CRD,7 +VTS,1,2,660,1.13,CRD,8 +VTS,1,2,480,1.58,CSH,7.5 +VTS,1,2,360,0.81,CRD,5.5 +VTS,1,2,1020,3.57,CSH,14.5 +VTS,1,1,480,2.17,CSH,8.5 +VTS,1,4,180,0.89,CRD,5 +VTS,1,4,660,2.61,CSH,10.5 +VTS,1,1,600,1.94,CSH,9 +VTS,1,5,480,1.87,CRD,8.5 +VTS,1,4,120,0.53,CSH,4.5 +VTS,1,5,300,1.84,CRD,7.5 +VTS,1,1,300,1.23,CSH,6 +VTS,1,1,720,2.97,CRD,12.5 +VTS,1,1,1140,4.52,CRD,16.5 +VTS,1,2,540,1.61,CRD,8.5 +VTS,1,3,240,0.8,CSH,5 +VTS,1,1,1200,7.77,CRD,24.5 +VTS,1,1,1380,3.09,CRD,16 +VTS,1,1,420,0.82,CRD,6 +VTS,1,2,660,1.76,CRD,9 +VTS,1,2,960,3.43,CRD,13.5 +VTS,1,1,360,1.09,CRD,6 +VTS,1,1,180,0.69,CSH,5 +VTS,1,3,360,1.16,CSH,6 +VTS,1,3,600,2.38,CSH,10 +VTS,1,1,1200,2.21,CSH,14 +VTS,1,2,1020,1.19,CSH,11.5 +VTS,1,1,300,1.12,CRD,6 +VTS,1,2,1020,4.39,CSH,16.5 +VTS,1,3,480,1.32,CSH,7.5 +VTS,1,1,300,0.38,CSH,5 +VTS,1,2,240,1.25,CSH,6 +VTS,1,1,420,0.63,CRD,5.5 +VTS,1,1,360,1.29,CRD,6.5 +VTS,1,1,300,1.8,CSH,7 +VTS,1,1,1080,10.64,CSH,30 +VTS,1,2,1080,4.15,CSH,17 +VTS,1,2,300,0.7,CRD,5 +VTS,1,1,600,1.64,CSH,9 +VTS,1,1,0,0,CRD,2.5 +VTS,1,3,300,0.73,CRD,6 +VTS,1,1,480,1.03,CSH,7 +VTS,1,2,540,0.85,CRD,7 +VTS,1,2,360,1.01,CSH,6 +VTS,1,2,120,0.82,CSH,4.5 +VTS,1,3,840,1.11,CSH,9.5 +VTS,1,1,300,0.64,CRD,5 +VTS,1,2,720,5.34,CRD,17 +VTS,1,1,1260,5.05,CRD,19 +VTS,1,1,600,2.15,CSH,10 +VTS,1,1,480,2.37,CRD,9 +VTS,1,1,540,3.51,CSH,11.5 +VTS,1,1,840,1.75,CRD,10.5 +VTS,1,1,1140,2.6,CRD,14 +VTS,1,1,540,1.51,CRD,8 +VTS,1,1,1680,5.38,CRD,21 +VTS,1,1,600,1.55,CRD,8.5 +VTS,1,1,1560,8.15,CRD,27 +VTS,1,1,1020,8.83,CRD,26 +VTS,1,1,1200,6.34,CRD,20.5 +VTS,1,1,600,0.96,CRD,7.5 +VTS,1,1,540,1.73,CRD,8.5 +VTS,1,1,1320,5.31,CRD,20.5 +VTS,1,2,1260,2.87,CRD,15.5 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,1080,9.11,CRD,26.5 +VTS,1,1,720,1.02,CRD,9 +VTS,1,1,720,1.8,CRD,10 +VTS,1,2,720,2.38,CRD,10.5 +VTS,1,1,420,2.51,CRD,9.5 +VTS,1,2,480,0.95,CSH,7 +VTS,1,1,1200,8.89,CSH,26.5 +VTS,1,3,900,2.95,CRD,13.5 +VTS,1,1,300,1.02,CRD,5.5 +VTS,1,1,600,1.6,CSH,8.5 +VTS,1,1,660,2.55,CRD,10.5 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,2,1680,1.37,CSH,16.5 +VTS,1,3,780,1.8,CSH,10 +VTS,1,1,600,2.12,CRD,10 +VTS,1,3,300,0.69,CSH,5.5 +VTS,1,1,720,3.62,CSH,13 +VTS,1,1,600,2,CSH,9 +VTS,1,3,180,0.53,CSH,4 +VTS,1,1,960,4.67,CSH,16.5 +VTS,1,4,900,3.78,CSH,14.5 +VTS,1,5,300,0.81,CSH,5.5 +VTS,1,5,180,0.97,CRD,5 +VTS,1,1,480,1.7,CRD,8.5 +VTS,1,1,720,3.14,CRD,12 +VTS,1,1,360,0.8,CRD,6 +VTS,1,3,420,1.25,CRD,7 +VTS,1,1,840,2.24,CRD,11.5 +VTS,1,1,780,1.85,CRD,10 +VTS,1,1,480,1.18,CRD,7 +VTS,1,1,1080,6.33,CSH,20.5 +VTS,1,1,780,2.2,CRD,11 +VTS,1,1,180,0.52,CSH,4 +VTS,1,1,120,0.48,CSH,4 +VTS,1,2,360,0.83,CSH,5.5 +VTS,1,2,840,2.4,CSH,11 +VTS,1,2,420,0.99,CSH,6.5 +VTS,1,3,960,3.02,CSH,13 +VTS,1,1,240,0.99,CSH,5 +VTS,1,2,60,0.42,CSH,3.5 +VTS,1,1,1860,5.6,CRD,25 +VTS,1,1,1080,4.19,CSH,16.5 +VTS,1,1,360,0.93,CRD,6 +VTS,1,1,840,1.75,CRD,10.5 +VTS,1,3,300,1.53,CSH,7.5 +VTS,1,5,1320,10.43,CSH,30.5 +VTS,1,5,360,1.86,CRD,8 +VTS,1,4,180,0.71,CSH,5 +VTS,1,5,1320,6.38,CSH,21.5 +VTS,5,2,720,3.79,CRD,45 +VTS,1,5,960,4.28,CSH,15.5 +VTS,1,5,360,0.88,CSH,6 +VTS,1,5,600,1.09,CSH,8 +VTS,1,5,480,2.99,CSH,10.5 +VTS,1,4,360,1.88,CRD,8 +VTS,1,4,480,1.67,CRD,8 +VTS,1,4,240,0.63,CRD,5 +VTS,1,4,420,1.33,CSH,7 +VTS,1,4,240,0.61,CRD,5 +VTS,1,4,660,3.95,CRD,13.5 +VTS,1,4,1200,6.03,CRD,21 +VTS,1,5,720,3.44,CRD,12.5 +VTS,1,4,360,0.8,CSH,5.5 +VTS,1,4,600,3.57,CSH,12 +VTS,1,4,1260,9.96,CRD,29 +VTS,1,4,300,1.59,CRD,7 +VTS,1,4,480,2.87,CRD,10 +VTS,1,1,660,2.15,CRD,10 +VTS,1,5,600,2.57,CSH,10.5 +VTS,1,5,240,1,CRD,5.5 +VTS,1,4,240,1.12,CRD,5.5 +VTS,1,1,180,0.43,CSH,4.5 +VTS,1,5,660,1.84,CSH,10 +VTS,1,1,720,2.35,CSH,10.5 +VTS,1,4,840,8.48,CRD,24 +VTS,1,4,1380,5.24,CSH,20.5 +VTS,1,4,720,6.8,CSH,20 +VTS,1,4,600,2.88,CSH,11 +VTS,1,4,900,3.08,CRD,13.5 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,180,0.04,CSH,3.5 +VTS,1,1,300,1.32,CRD,6 +VTS,1,3,780,2.74,CSH,11.5 +VTS,1,2,360,0.84,CRD,6 +VTS,1,1,240,0.8,CSH,4.5 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,2,180,0.9,CRD,5.5 +VTS,1,1,180,0.5,CSH,4 +VTS,1,1,480,0.61,CRD,6.5 +VTS,1,1,540,1.62,CSH,8 +VTS,1,1,1320,3.5,CSH,17 +VTS,1,1,660,1.72,CRD,9 +VTS,1,2,840,3.01,CRD,12.5 +VTS,1,2,540,2.35,CRD,9.5 +VTS,1,1,840,4.16,CSH,15 +VTS,1,1,360,0.85,CSH,5.5 +VTS,1,1,600,1.17,CSH,8 +VTS,1,1,840,6.99,CRD,21 +VTS,1,1,720,3.25,CSH,12 +VTS,1,1,360,0.84,CRD,6 +VTS,1,1,960,3.36,CRD,14 +VTS,1,1,1380,2.92,CRD,17 +VTS,1,1,240,0.86,CRD,5.5 +VTS,1,4,600,2.59,CSH,11 +VTS,1,1,240,0.96,CSH,5 +VTS,1,1,480,2.62,CSH,9.5 +VTS,1,4,300,0.79,CSH,5 +VTS,1,4,360,1.07,CRD,6 +VTS,1,4,300,1.22,CSH,6 +VTS,1,4,720,3.99,CRD,13.5 +VTS,1,4,840,6.34,CRD,19.5 +VTS,1,4,480,1.63,CSH,7.5 +VTS,1,1,420,1.89,CSH,8 +VTS,1,5,360,1.48,CRD,7 +VTS,1,4,780,5.2,CSH,17.5 +VTS,1,4,1200,6.03,CRD,20.5 +VTS,1,4,840,3.93,CRD,14 +VTS,1,1,420,1.22,CSH,6.5 +VTS,1,5,1140,5.31,CRD,18 +VTS,1,4,1140,5.93,CSH,20 +VTS,1,4,360,0.94,CRD,6 +VTS,1,2,1080,4.26,CSH,17 +VTS,1,4,60,0.52,CSH,3.5 +VTS,1,4,180,0.51,CSH,4 +VTS,1,5,660,1.52,CSH,9.5 +VTS,1,5,480,2.05,CRD,9 +VTS,1,4,120,0.88,CSH,4.5 +VTS,1,4,240,0.58,CSH,4.5 +VTS,1,4,300,1.13,CRD,6 +VTS,1,4,240,0.58,CRD,4.5 +VTS,1,4,960,4.77,CRD,17 +VTS,1,4,780,4.3,CSH,14.5 +VTS,1,4,2400,8.97,CRD,34 +VTS,1,5,360,1.02,CSH,6 +VTS,1,4,300,1.49,CSH,6.5 +VTS,1,5,1500,9.8,CSH,29.5 +VTS,1,1,480,1.27,CSH,7 +VTS,1,4,0,0.36,CRD,3 +VTS,1,4,240,1.4,CSH,6 +VTS,1,4,540,1.66,CSH,8.5 +VTS,1,5,600,1.4,CSH,8 +VTS,1,1,420,1.73,CRD,7.5 +VTS,1,4,540,3.89,CSH,12 +VTS,1,4,900,3.57,CSH,14 +VTS,1,5,600,2.8,CRD,11 +VTS,1,2,540,4.04,CSH,13.5 +VTS,1,1,2700,28.12,CRD,76.5 +VTS,1,4,360,1.2,CSH,7 +VTS,1,1,540,2.34,CRD,10 +VTS,1,4,960,3.46,CRD,14 +VTS,1,4,1440,11.48,CRD,33 +VTS,1,4,120,0.48,CSH,3.5 +VTS,1,1,780,2.88,CRD,12 +VTS,1,1,720,3.97,CSH,13 +VTS,1,1,600,1.45,CRD,8.5 +VTS,1,1,300,0.64,CRD,5 +VTS,1,1,360,1.52,CRD,7 +VTS,1,1,180,0.9,CRD,5 +VTS,1,2,600,2.23,CSH,9.5 +VTS,1,1,900,2.05,CRD,11.5 +VTS,1,2,1200,4.15,CSH,17 +VTS,1,1,300,1.11,CRD,6 +VTS,1,2,480,1.61,CRD,8 +VTS,1,1,300,0.95,CRD,5.5 +VTS,1,2,600,1.94,CRD,9 +VTS,1,2,300,0.51,CRD,4.5 +VTS,1,1,1140,4.99,CRD,19 +VTS,1,1,480,1.75,CSH,8.5 +VTS,1,1,300,2.84,CSH,9.5 +VTS,1,1,120,0.36,CRD,3.5 +VTS,1,1,180,1.1,CSH,5.5 +VTS,1,2,660,0.71,CSH,8 +VTS,1,1,420,1.07,CSH,6 +VTS,1,1,1320,5.05,CRD,19 +VTS,1,2,900,2.45,CSH,11.5 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,720,1.74,CSH,10.5 +VTS,1,2,360,1.38,CSH,7 +VTS,1,1,540,1.15,CSH,7.5 +VTS,1,1,480,0.49,CRD,6 +VTS,1,2,600,2.75,CSH,11 +VTS,1,1,1620,5.02,CRD,20.5 +VTS,1,2,900,5.52,CSH,18.5 +VTS,1,1,1260,8.13,CRD,24.5 +VTS,1,1,660,2.63,CRD,11 +VTS,1,2,1440,6.6,CSH,22.5 +VTS,1,1,1440,2.15,CSH,15 +VTS,1,1,1260,4.75,CRD,17.5 +VTS,5,4,3120,24.33,CSH,150 +VTS,1,1,300,1.02,CRD,6 +VTS,1,1,240,1.26,CRD,5.5 +VTS,1,3,420,1.82,CRD,8 +VTS,1,3,240,0.54,CSH,4.5 +VTS,1,2,1140,4.74,CSH,17.5 +VTS,1,1,300,1.14,CRD,6 +VTS,1,3,1500,3.09,CSH,17.5 +VTS,1,1,1080,1.75,CRD,12.5 +VTS,1,2,1020,3.14,CSH,14 +VTS,1,2,600,2.74,CSH,11 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,2,540,1.23,CSH,8 +VTS,1,1,600,0.96,CRD,7.5 +VTS,1,1,300,1.05,CSH,6 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,600,1.43,CRD,8 +VTS,1,1,360,1.73,CSH,8 +VTS,1,1,360,2.33,CRD,8.5 +VTS,1,2,480,2.2,CSH,9 +VTS,1,1,0,0.02,CSH,2.5 +VTS,1,2,300,1.18,CSH,6 +VTS,1,1,360,1.02,CRD,6.5 +VTS,1,1,180,0.47,CSH,4 +VTS,1,1,1440,3.39,CRD,17.5 +VTS,1,2,720,2.29,CSH,10.5 +VTS,1,2,900,3.87,CRD,14.5 +VTS,1,1,240,0.75,CRD,5 +VTS,1,2,900,4.3,CRD,15.5 +VTS,1,2,300,1.35,CRD,6.5 +VTS,1,2,360,1.21,CSH,6.5 +VTS,1,2,1080,2.27,CRD,13 +VTS,1,1,1800,7.56,CSH,27.5 +VTS,1,2,240,0.47,CRD,4.5 +VTS,1,2,1500,6.29,CSH,22 +VTS,1,2,2040,8.58,CSH,32 +VTS,1,1,1020,4.32,CRD,16.5 +VTS,1,1,420,1.1,CRD,6.5 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,1260,8.35,CRD,26 +VTS,1,2,60,0.75,CSH,4 +VTS,1,1,1020,7.16,CSH,22.5 +VTS,1,1,1140,6.6,CSH,20.5 +VTS,1,1,600,1.5,CRD,8 +VTS,1,1,300,2.03,CRD,7.5 +VTS,1,3,1860,3.46,CSH,20 +VTS,1,1,1080,3.97,CRD,16.5 +VTS,1,1,540,1.66,CSH,8.5 +VTS,1,1,840,8.54,CSH,24 +VTS,1,1,1080,5.25,CSH,19 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,600,2.45,CRD,9.5 +VTS,1,3,660,2.47,CRD,10.5 +VTS,1,1,540,3.32,CRD,12 +VTS,1,1,180,0.56,CSH,4.5 +VTS,1,1,3660,6.09,CSH,37.5 +VTS,1,3,540,0.87,CSH,7 +VTS,1,2,180,0.53,CRD,4.5 +VTS,1,2,180,0.69,CSH,4.5 +VTS,1,1,300,0.53,CRD,5 +VTS,1,2,1440,5.91,CSH,21.5 +VTS,1,1,1140,2.07,CRD,13.5 +VTS,1,1,900,3.98,CRD,15 +VTS,1,2,900,2.35,CSH,12.5 +VTS,1,3,780,3.75,CSH,14.5 +VTS,1,1,660,2.64,CSH,11 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,2,900,3.27,CRD,13 +VTS,1,1,540,1.8,CRD,9 +VTS,1,2,1920,14.22,CSH,42 +VTS,1,1,540,1.73,CRD,8.5 +VTS,1,1,420,2.12,CRD,8.5 +VTS,1,2,960,4.88,CSH,16.5 +VTS,1,1,840,1.92,CSH,10.5 +VTS,2,2,1980,17.17,CSH,52 +VTS,1,2,780,3.37,CSH,12.5 +VTS,1,2,900,3.35,CSH,13 +VTS,1,1,600,0.99,CSH,7.5 +VTS,1,2,360,0.61,CRD,5.5 +VTS,1,1,480,1.19,CSH,7 +VTS,1,1,420,1.9,CSH,8 +VTS,1,1,300,0.7,CSH,5 +VTS,1,1,1380,7.35,CSH,23.5 +VTS,1,1,420,2.27,CRD,8.5 +VTS,1,1,660,3.39,CRD,12.5 +VTS,1,1,1440,10.5,CRD,32 +VTS,1,1,420,0.88,CSH,7 +VTS,1,2,420,1.5,CRD,8 +VTS,1,1,960,2.17,CRD,12.5 +VTS,1,1,660,0.85,CRD,8.5 +VTS,1,2,660,1.37,CSH,8.5 +VTS,1,2,360,0.99,CRD,6.5 +VTS,1,1,240,0.81,CSH,5 +VTS,1,1,180,1.02,CSH,5.5 +VTS,1,1,360,1.62,CRD,7 +VTS,1,1,360,1.21,CSH,6 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,1080,8.12,CRD,24.5 +VTS,1,1,720,3.01,CRD,11.5 +VTS,1,1,720,2.71,CSH,11.5 +VTS,1,1,660,2.27,CSH,10 +VTS,5,1,840,4.22,CRD,45 +VTS,1,1,900,2.61,CRD,12 +VTS,1,2,600,2.51,CRD,10 +VTS,1,2,1200,3.97,CRD,16.5 +VTS,1,1,840,1.5,CSH,10 +VTS,1,2,540,1.82,CRD,8.5 +VTS,1,2,600,2.67,CRD,11 +VTS,1,3,1380,6.72,CSH,23.5 +VTS,1,2,960,2.61,CSH,12 +VTS,1,2,1200,5.83,CRD,21.5 +VTS,1,2,1020,6.95,CSH,22 +VTS,1,1,300,0.75,CSH,5.5 +VTS,1,1,900,6.26,CRD,20 +VTS,1,1,600,2.46,CRD,10.5 +VTS,1,1,1020,4.65,CSH,17 +VTS,1,1,540,1.8,CRD,8.5 +VTS,1,2,240,0.88,CSH,5.5 +VTS,1,1,1140,10.72,CRD,30.5 +VTS,1,1,420,1,CRD,6 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,780,7.27,CRD,21.5 +VTS,1,1,600,3.14,CSH,11.5 +VTS,1,1,180,0.85,CSH,5 +VTS,1,2,300,0.38,CSH,4.5 +VTS,1,2,1140,4.31,CSH,17.5 +VTS,1,1,480,1.23,CRD,7 +VTS,1,1,240,0.64,CRD,4.5 +VTS,1,1,540,1.47,CRD,8 +VTS,1,1,420,1.65,CSH,8 +VTS,1,2,960,3.76,CRD,14.5 +VTS,1,1,60,0.56,CRD,3.5 +VTS,1,1,420,0.93,CSH,6.5 +VTS,1,2,240,0.63,CSH,5 +VTS,1,1,900,5,CRD,17.5 +VTS,1,1,1500,3.02,CRD,16.5 +VTS,1,2,900,1.04,CRD,10 +VTS,1,2,180,0.52,CSH,4.5 +VTS,1,1,180,1.22,CSH,5.5 +VTS,1,1,780,3.09,CRD,12.5 +VTS,1,1,480,2.68,CRD,9.5 +VTS,1,3,480,1.82,CSH,8.5 +VTS,1,2,540,1.86,CRD,8.5 +VTS,1,3,1140,4.62,CSH,17 +VTS,1,2,360,1.48,CSH,7.5 +VTS,1,1,960,5.35,CSH,16.5 +VTS,1,1,480,1.41,CRD,7.5 +VTS,1,1,1440,1.76,CRD,15.5 +VTS,1,1,1080,3.69,CRD,15.5 +VTS,1,2,960,3.27,CRD,14.5 +VTS,1,1,480,1.28,CSH,7.5 +VTS,1,1,1260,5.93,CSH,21.5 +VTS,1,1,480,1.74,CSH,8 +VTS,1,1,420,2.18,CSH,8.5 +VTS,1,1,300,1.08,CSH,6 +VTS,1,1,480,2,CRD,8.5 +VTS,1,1,780,2.4,CRD,11.5 +VTS,1,2,540,3.15,CRD,10.5 +VTS,1,2,180,0.78,CSH,4.5 +VTS,1,1,720,2.3,CRD,11 +VTS,1,1,900,2.21,CRD,12 +VTS,1,1,660,2.35,CRD,10.5 +VTS,1,1,480,1.24,CRD,7 +VTS,1,2,1560,5.03,CSH,21.5 +VTS,1,1,300,0.62,CSH,5.5 +VTS,1,2,1080,3.75,CRD,15 +VTS,1,2,180,0.63,CSH,4.5 +VTS,1,1,420,1.13,CSH,6.5 +VTS,1,2,360,1.51,CSH,6.5 +VTS,1,1,300,0.76,CSH,5 +VTS,1,2,240,1.1,CRD,5.5 +VTS,1,1,180,0.94,CSH,5 +VTS,1,1,720,2.13,CSH,10.5 +VTS,1,1,660,1.5,CSH,8 +VTS,1,1,780,1.5,CRD,9.5 +VTS,1,3,960,2.85,CRD,13 +VTS,1,1,660,2.37,CRD,10 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,1140,4.4,CRD,16.5 +VTS,1,3,780,3.34,CSH,13 +VTS,1,2,480,1.6,CSH,8 +VTS,1,1,960,2.33,CSH,12.5 +VTS,1,2,840,1.52,CRD,10.5 +VTS,1,1,840,1.87,CSH,11 +VTS,1,1,240,0.98,CRD,5 +VTS,1,1,840,2.09,CRD,11.5 +VTS,1,1,420,0.96,CSH,6.5 +VTS,1,1,660,1.71,CSH,9 +VTS,1,3,420,1.1,CSH,6.5 +VTS,1,2,180,0.48,CSH,4 +VTS,1,2,780,2.34,CSH,11.5 +VTS,1,2,1500,5.78,CSH,23 +VTS,1,1,840,2.74,CSH,12 +VTS,1,1,240,1.19,CRD,5.5 +VTS,1,1,780,1.97,CRD,10.5 +VTS,1,1,660,0.99,CRD,8 +VTS,1,1,540,2.34,CRD,9.5 +VTS,1,2,300,1.03,CSH,5.5 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,2040,17.25,CSH,49.5 +VTS,1,1,720,2.95,CRD,11.5 +VTS,1,1,900,2.53,CRD,12 +VTS,1,3,600,1.03,CSH,8 +VTS,1,1,540,1.68,CSH,8.5 +VTS,1,1,1080,2.52,CSH,13 +VTS,1,1,300,0.69,CSH,5.5 +VTS,1,1,960,3.03,CRD,13.5 +VTS,1,1,660,1.46,CRD,8.5 +VTS,1,1,600,2.77,CSH,11 +VTS,1,3,1440,6.09,CSH,21.5 +VTS,1,2,900,8.97,CSH,25.5 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,2,120,0.66,CSH,4 +VTS,2,1,1920,16.65,CSH,52 +VTS,1,1,720,1.33,CSH,9 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,360,1.03,CRD,6 +VTS,1,1,300,1.21,CSH,6 +VTS,1,1,180,0.59,CRD,4.5 +VTS,1,1,300,1.08,CRD,6 +VTS,1,1,480,1.48,CRD,7.5 +VTS,1,2,240,1.02,CSH,5.5 +VTS,1,1,660,1.37,CSH,8.5 +VTS,1,1,420,1.44,CSH,7 +VTS,1,2,660,2.27,CSH,10 +VTS,1,1,420,1.19,CSH,6.5 +VTS,1,1,840,2.48,CRD,12 +VTS,1,1,480,3.75,CRD,12 +VTS,1,1,540,1.33,CRD,8 +VTS,1,1,780,2.78,CRD,12 +VTS,1,1,1560,7.32,CSH,25.5 +VTS,1,1,660,2.92,CSH,11.5 +VTS,1,2,600,2.37,CSH,10.5 +VTS,1,1,60,0.24,CSH,3 +VTS,1,2,900,2.52,CRD,12 +VTS,1,2,540,1.06,CRD,7.5 +VTS,1,1,420,1.25,CSH,7 +VTS,1,1,1500,3.37,CSH,17.5 +VTS,1,1,600,2.4,CSH,10 +VTS,1,1,300,0.59,CRD,5 +VTS,1,1,300,0.62,CSH,5 +VTS,1,1,900,1.99,CSH,11 +VTS,1,2,1320,6.98,CSH,24 +VTS,1,1,240,1,CRD,5.5 +VTS,1,1,120,0.7,CSH,4.5 +VTS,1,1,420,0.96,CSH,6 +VTS,1,3,300,0.69,CSH,5 +VTS,1,1,1380,2.85,CRD,15.5 +VTS,1,2,360,1.1,CRD,6 +VTS,1,3,660,2.62,CRD,11 +VTS,1,1,240,0.96,CRD,5 +VTS,1,1,900,6.03,CSH,19 +VTS,1,1,180,0.42,CRD,4 +VTS,1,1,780,4.63,CRD,15 +VTS,1,1,600,0.57,CRD,7.5 +VTS,1,2,360,1.1,CRD,6 +VTS,1,1,600,2.2,CSH,9.5 +VTS,2,3,1800,19.83,CRD,52 +VTS,1,2,660,1.87,CSH,9 +VTS,1,2,420,0.31,CSH,5.5 +VTS,1,1,720,2.29,CSH,10.5 +VTS,1,1,540,1.4,CSH,8 +VTS,1,1,600,2.26,CRD,9.5 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,2,720,1.18,CSH,9 +VTS,1,1,480,1.7,CSH,8.5 +VTS,3,2,1860,14.48,CSH,59.5 +VTS,1,1,1020,1.94,CSH,10.5 +VTS,1,1,960,4.84,CRD,17.5 +VTS,1,1,900,3.05,CRD,13 +VTS,1,2,120,0.44,CSH,3.5 +VTS,1,2,960,10.12,CRD,28.5 +VTS,1,1,420,1.71,CSH,7.5 +VTS,1,2,540,1.49,CSH,8 +VTS,1,1,900,1.93,CRD,11 +VTS,1,2,360,0.71,CSH,6 +VTS,1,2,420,1.22,CSH,7 +VTS,1,2,780,2.5,CRD,11 +VTS,1,1,480,1.93,CSH,8.5 +VTS,1,1,480,1.82,CRD,8 +VTS,1,2,120,0.43,CRD,3.5 +VTS,1,1,600,2.99,CRD,11 +VTS,1,1,840,2.37,CRD,11 +VTS,1,1,1020,2.18,CRD,12 +VTS,1,1,960,5.96,CRD,19.5 +VTS,2,1,2340,17.59,CRD,52 +VTS,1,1,540,1,CRD,7.5 +VTS,1,3,240,0.25,CSH,4 +VTS,1,1,360,1.18,CSH,6 +VTS,1,1,60,0,CRD,2.5 +VTS,1,2,180,0.42,CRD,4 +VTS,1,2,420,1.04,CRD,6.5 +VTS,1,1,300,0.78,CRD,5 +VTS,1,1,780,3.28,CRD,13 +VTS,1,1,1320,3.29,CRD,16.5 +VTS,1,1,300,0.99,CRD,6 +VTS,1,1,180,1.25,CRD,5.5 +VTS,1,1,660,2.05,CRD,10 +VTS,1,2,1680,4.79,CSH,21 +VTS,1,2,420,0.94,CSH,6.5 +VTS,1,2,900,2.75,CRD,12 +VTS,1,3,480,1.97,CSH,8 +VTS,1,1,360,1.04,CRD,6.5 +VTS,1,1,840,1.5,CRD,10.5 +VTS,1,1,540,1.04,CSH,7 +VTS,1,3,420,1.18,CSH,7 +VTS,1,1,180,0.38,CRD,3.5 +VTS,1,2,840,1.55,CRD,10.5 +VTS,1,1,540,1.4,CRD,7.5 +VTS,1,2,300,0.93,CSH,5.5 +VTS,1,1,840,2.47,CRD,11.5 +VTS,1,1,480,1.28,CRD,7.5 +VTS,1,2,960,2.39,CRD,12 +VTS,1,1,660,1.56,CRD,9.5 +VTS,1,2,180,0.83,CSH,4.5 +VTS,1,1,360,1.32,CSH,7 +VTS,1,1,840,2.25,CRD,11 +VTS,1,2,360,1.14,CRD,6.5 +VTS,1,2,600,1.67,CSH,9 +VTS,1,2,660,2.19,CSH,9.5 +VTS,1,1,660,2.67,CSH,10.5 +CMT,1,1,2737,11.5,CSH,41 +CMT,1,1,971,4,CSH,15.5 +CMT,1,1,1522,4.9,CSH,20.5 +CMT,1,1,894,1.7,CRD,10.5 +VTS,1,1,660,2.11,CRD,10 +VTS,1,1,840,1.48,CSH,10 +VTS,1,2,1020,3.44,CRD,14 +VTS,1,2,780,2.23,CSH,11 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,540,0.99,CRD,7 +VTS,1,2,240,0.84,CSH,5.5 +VTS,1,1,540,1.38,CRD,8 +VTS,1,3,600,1.88,CRD,9 +VTS,1,1,1020,2.65,CSH,12.5 +VTS,1,1,420,1.34,CRD,7 +VTS,1,1,720,2.91,CRD,11.5 +VTS,1,1,240,0.99,CRD,5 +VTS,1,1,960,1.94,CSH,11.5 +VTS,1,1,1140,5.28,CRD,18.5 +VTS,1,1,1200,2.37,CRD,14 +VTS,1,1,420,0.59,CSH,6 +VTS,1,1,720,2.82,CRD,11.5 +VTS,1,1,300,0.55,CRD,5 +VTS,1,1,660,2.85,CSH,11 +VTS,1,1,360,1.51,CRD,7.5 +VTS,1,4,60,0.3,CSH,3.5 +VTS,1,1,780,1.83,CSH,10 +VTS,1,1,900,6.29,CRD,20 +CMT,4,1,1613,16,CSH,64 +CMT,1,1,375,0.7,CSH,6 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,960,2.18,CSH,11.5 +VTS,5,1,1860,19.45,CRD,88 +VTS,1,2,900,1.94,CSH,11 +VTS,1,2,300,0.55,CRD,4.5 +VTS,1,1,2160,13.07,CSH,40.5 +VTS,1,1,720,1.92,CRD,10.5 +VTS,1,1,1320,7.55,CSH,24 +VTS,1,3,600,1.2,CRD,8.5 +VTS,1,1,720,2.37,CSH,10.5 +VTS,1,2,2400,10.88,CSH,38 +VTS,1,3,480,0.77,CRD,7 +VTS,1,1,720,2.82,CSH,11.5 +VTS,1,1,1080,3.73,CSH,15.5 +CMT,1,1,91,0.3,CSH,3 +CMT,1,1,571,2.2,CSH,9.5 +CMT,1,1,310,0.8,CSH,5.5 +CMT,1,1,444,1.6,CRD,8 +CMT,1,1,632,1,CSH,8 +CMT,1,1,314,0.8,CSH,5.5 +CMT,1,1,760,6.6,CRD,19.5 +CMT,1,3,329,1.1,CSH,6 +CMT,1,1,371,1.1,CSH,6.5 +CMT,1,2,797,4.5,CRD,16 +CMT,1,1,694,1.7,CRD,9 +CMT,1,1,390,1.9,CRD,8 +VTS,1,2,540,1.23,CSH,7.5 +VTS,1,1,600,1.99,CRD,9.5 +VTS,1,1,1020,2.87,CSH,13 +VTS,1,2,480,1.18,CSH,7 +VTS,1,1,1080,5.32,CSH,18.5 +VTS,1,1,60,0.42,CSH,3.5 +VTS,1,2,420,0.52,CSH,6 +VTS,1,1,1740,10.4,CRD,32 +VTS,1,1,2280,10.83,CSH,35.5 +VTS,1,1,660,1.14,CRD,8.5 +VTS,1,1,420,0.89,CSH,6.5 +CMT,4,1,1180,10.3,CRD,36 +CMT,1,1,948,8.2,CRD,24 +CMT,1,1,293,0.8,CRD,5.5 +CMT,1,1,785,2.1,CRD,10.5 +CMT,1,1,847,2,CRD,11 +CMT,1,1,374,0.8,CSH,6 +CMT,1,1,788,8.2,CRD,23 +CMT,1,1,920,1.8,CRD,11.5 +CMT,1,1,454,1.3,CSH,7 +CMT,1,1,1087,2.9,CRD,13.5 +CMT,1,1,482,1.4,CSH,7.5 +CMT,1,1,556,1.1,CRD,7.5 +CMT,1,3,807,3.2,CSH,12.5 +CMT,1,3,1007,3.2,CRD,13.5 +CMT,1,2,307,0.7,CRD,5.5 +CMT,1,1,824,1.1,CRD,9.5 +CMT,1,1,2241,9.4,CRD,34 +CMT,1,1,560,1.4,CSH,8 +CMT,1,1,267,0.4,CSH,4.5 +CMT,1,1,795,1.3,CRD,9.5 +CMT,1,1,122,0.5,CSH,3.5 +CMT,1,1,772,3.6,CSH,13 +CMT,1,1,785,3.2,CRD,13 +CMT,1,1,844,3.9,CSH,14.5 +CMT,1,1,1471,11.4,CRD,34 +CMT,1,1,901,2,CRD,11.5 +CMT,1,2,1451,3.8,CSH,17.5 +CMT,1,1,314,0.7,CSH,5.5 +CMT,2,2,1346,16.2,CSH,52 +CMT,1,1,370,0.7,CRD,5.5 +CMT,1,1,474,1.5,CRD,7.5 +CMT,1,1,258,0.9,CSH,5 +CMT,1,1,213,1.2,CSH,5.5 +CMT,1,1,460,1.2,CRD,7 +CMT,1,1,535,0.6,CSH,7 +CMT,1,1,557,1.3,CSH,7.5 +CMT,1,1,665,1.7,CRD,9 +CMT,1,1,620,1.5,CRD,8.5 +CMT,1,2,527,1.2,CSH,8 +CMT,1,1,132,0.5,CSH,4 +CMT,1,1,772,1.3,CRD,9.5 +CMT,1,1,788,2.3,CRD,11 +CMT,1,1,901,3,CRD,12.5 +CMT,1,1,854,4.9,CRD,16 +CMT,1,1,193,0.4,CSH,4 +CMT,1,1,2212,8.2,CSH,29.5 +CMT,1,1,299,0.7,CRD,5.5 +CMT,1,1,453,1.5,CSH,7.5 +CMT,1,1,1038,2.5,CRD,13 +CMT,1,1,552,1.7,CSH,8.5 +CMT,1,1,279,1.2,CRD,6 +CMT,1,1,189,0.5,CRD,4 +CMT,1,1,652,1.9,CSH,9 +CMT,1,2,817,1.9,CRD,10.5 +CMT,1,1,254,0.4,CSH,4.5 +CMT,1,1,775,4.9,CSH,16 +CMT,1,1,344,1.4,CRD,6 +CMT,1,1,309,0.9,CSH,5.5 +CMT,1,1,1089,2.2,CSH,13 +CMT,1,2,1029,10.4,CSH,29.5 +CMT,1,1,889,2.9,CRD,12 +CMT,1,3,265,0.8,CSH,5 +CMT,1,1,1606,5.7,CSH,22 +CMT,1,1,170,0.9,CSH,5 +CMT,1,2,457,1.2,CRD,7 +CMT,1,3,1678,9.9,CSH,31.5 +CMT,1,1,556,1.7,CSH,8.5 +CMT,1,1,177,0.6,CSH,4.5 +CMT,1,1,1472,13,CRD,36.5 +CMT,1,1,612,3.3,CRD,12 +CMT,1,2,943,8.8,CRD,25 +CMT,1,1,981,6.8,CRD,21 +CMT,1,1,1280,10.4,CRD,29 +CMT,1,1,270,1.7,CSH,7 +CMT,1,1,164,1,CSH,5 +CMT,1,1,825,1.6,CRD,10 +CMT,1,1,742,0.9,CSH,8.5 +CMT,1,1,174,1.6,CSH,6.5 +CMT,1,1,340,1.7,CRD,7 +CMT,1,1,638,2.2,CRD,9.5 +CMT,1,1,329,1,CSH,5.5 +CMT,1,1,303,1.2,CRD,6 +CMT,1,1,443,1.2,CRD,7 +CMT,1,1,947,8.7,CRD,25 +CMT,1,1,268,0.4,CSH,4.5 +CMT,1,1,400,0.9,CSH,6 +CMT,1,1,431,1.3,CRD,7 +CMT,1,1,829,4.9,CSH,16.5 +CMT,1,1,611,1.1,CSH,7.5 +CMT,1,1,328,0.8,CRD,5.5 +CMT,1,1,2190,9.4,CSH,31.5 +CMT,1,1,368,1.1,CRD,6 +CMT,1,1,110,1,CSH,4.5 +VTS,1,1,360,1.89,CRD,8 +VTS,1,2,600,1.59,CRD,8.5 +VTS,1,1,840,2.17,CRD,11 +VTS,1,1,480,1.25,CRD,7.5 +VTS,1,1,420,0.52,CRD,6 +VTS,1,1,300,0.46,CRD,5 +VTS,1,1,420,1.23,CRD,7 +VTS,1,1,540,0.98,CSH,7.5 +VTS,1,4,480,1.48,CRD,7.5 +VTS,1,1,960,2.43,CRD,12 +VTS,1,1,600,1.06,CSH,7.5 +VTS,1,1,480,1.39,CRD,7.5 +VTS,1,1,420,0.89,CRD,6.5 +VTS,1,4,240,1.15,CRD,5.5 +VTS,1,2,780,1.29,CSH,9.5 +CMT,1,1,1528,6.5,CRD,23.5 +CMT,1,1,1377,8.4,CRD,27 +CMT,1,1,342,1,CSH,6 +CMT,1,1,287,0.6,CSH,5 +CMT,2,1,1,0,CRD,52 +CMT,1,1,163,0.6,CSH,4.5 +CMT,1,1,248,0.9,CSH,5 +CMT,1,1,1008,6.1,CSH,20 +CMT,1,1,649,3.4,CRD,12.5 +CMT,1,1,212,0.9,CRD,5 +CMT,1,1,981,6.3,CSH,19.5 +VTS,1,1,600,1.39,CRD,8 +VTS,1,2,360,0.91,CRD,6 +VTS,1,1,360,1.73,CRD,7.5 +VTS,1,3,1080,6.54,CSH,21.5 +VTS,1,2,360,1.15,CSH,6.5 +VTS,1,2,540,2.19,CSH,9.5 +VTS,1,1,120,0.57,CSH,4 +VTS,1,1,840,3.42,CRD,12.5 +VTS,1,1,720,2.08,CRD,10 +VTS,1,1,900,2.48,CSH,12 +VTS,1,1,420,1.19,CRD,6.5 +VTS,1,2,300,0.66,CSH,5 +VTS,1,1,1200,3.18,CSH,15.5 +VTS,1,1,660,2.17,CRD,10.5 +VTS,1,2,300,1.67,CSH,7 +VTS,1,1,300,0.86,CRD,5.5 +VTS,1,4,480,1.43,CSH,7.5 +VTS,1,1,600,1.44,CSH,8.5 +VTS,1,1,480,0.8,CRD,7 +VTS,1,1,480,1.12,CRD,7 +VTS,1,1,420,1,CRD,6.5 +VTS,1,1,1140,3.14,CSH,15.5 +VTS,1,2,540,2.02,CRD,8.5 +VTS,1,3,600,1.63,CSH,8.5 +VTS,1,1,540,0.87,CRD,7 +VTS,1,1,660,2.06,CRD,10 +CMT,1,1,1356,3.4,CRD,16.5 +CMT,1,1,233,0.9,CRD,5 +CMT,1,1,740,2.3,CSH,10.5 +CMT,1,1,237,0.7,CSH,5 +CMT,1,1,1744,14.2,CRD,41.5 +CMT,1,1,1439,11.8,CSH,33.5 +CMT,1,1,1081,2.1,CSH,12.5 +CMT,1,1,696,0.9,CRD,8.5 +CMT,1,1,661,1.4,CRD,8.5 +CMT,1,1,323,1,CRD,6 +CMT,1,1,908,2.3,CRD,11.5 +CMT,1,3,416,0.8,CRD,6 +CMT,1,1,215,0.8,CRD,5 +CMT,1,2,1409,5.1,CRD,19.5 +CMT,1,2,869,1.1,CSH,10 +CMT,1,1,1236,2.8,CRD,14.5 +CMT,1,1,923,2,CSH,11.5 +CMT,1,1,968,5.5,CRD,18 +CMT,1,1,332,1.1,CRD,6.5 +CMT,1,1,267,0.9,CSH,5.5 +CMT,1,1,253,1.1,CSH,5.5 +CMT,1,1,266,1.1,CRD,5.5 +CMT,1,1,504,0.9,CRD,7 +CMT,1,2,774,1.1,CRD,9 +CMT,1,1,623,5,CRD,15.5 +CMT,1,1,386,1.7,CRD,7.5 +CMT,1,3,325,1.3,CSH,6.5 +CMT,1,1,264,1.2,CSH,6 +CMT,1,1,581,5.1,CSH,16 +CMT,1,1,553,1.3,CSH,7.5 +CMT,1,1,695,2.6,CRD,11 +CMT,1,2,520,1.8,CRD,8.5 +CMT,1,1,230,0.8,CRD,5 +CMT,1,1,334,1.5,CSH,7 +CMT,1,1,476,2.2,CSH,8.5 +CMT,1,2,1200,3,CRD,14 +CMT,1,1,316,2.2,CSH,8 +CMT,1,1,324,1.3,CSH,6.5 +CMT,1,1,1302,4.8,CSH,19 +CMT,1,1,1127,8.2,CRD,24.5 +CMT,1,1,737,2.4,CRD,10.5 +CMT,1,2,847,5.3,CRD,17.5 +CMT,1,1,733,1.7,CSH,9.5 +CMT,1,2,846,0.9,CSH,9.5 +CMT,1,1,815,1.8,CRD,10.5 +CMT,1,1,952,2,CSH,11.5 +CMT,1,1,273,1.6,CSH,6.5 +CMT,1,1,1389,6.1,CSH,22 +CMT,1,1,1000,3,CSH,13.5 +CMT,1,1,482,1,CSH,7 +CMT,1,2,167,0.8,CRD,4.5 +CMT,1,1,164,0.5,CSH,4 +VTS,1,2,960,4.35,CSH,16 +VTS,1,1,300,0.9,CSH,6 +CMT,1,1,1437,12.3,CRD,35 +CMT,1,1,526,1.4,CSH,8 +CMT,1,1,633,1.5,CSH,9 +CMT,1,1,333,1.1,CSH,6 +CMT,1,1,314,0.5,CSH,5 +CMT,1,1,1231,7.2,CSH,24 +CMT,1,1,779,2.6,CRD,11 +CMT,1,1,1657,10.9,CSH,33 +CMT,1,1,1106,3.6,CSH,15 +CMT,1,1,461,1.3,CSH,7 +CMT,1,4,722,0.7,CSH,8.5 +CMT,1,4,965,3.4,CSH,13.5 +CMT,1,1,323,0.8,CRD,5.5 +CMT,1,1,406,1.8,CSH,8.5 +CMT,1,1,862,4.5,CSH,16.5 +CMT,1,1,339,1.1,CSH,6 +CMT,1,1,1285,2.1,CRD,14.5 +CMT,1,2,364,1,CSH,6 +CMT,1,2,1081,2,CSH,13 +CMT,1,1,370,0.8,CRD,6 +CMT,1,1,342,0.7,CRD,5.5 +CMT,1,1,128,1,CRD,5 +CMT,1,1,404,1.1,CSH,6.5 +CMT,1,2,1583,10.5,CSH,32 +CMT,1,1,1887,9.3,CSH,31.5 +CMT,1,1,797,1.6,CSH,10 +CMT,1,2,456,1.2,CRD,7 +CMT,1,1,538,1.1,CRD,7.5 +CMT,1,2,840,2.6,CRD,11.5 +CMT,1,1,439,1.6,CSH,7.5 +CMT,1,3,481,2.3,CSH,9 +CMT,1,1,670,2.4,CRD,10.5 +CMT,1,1,764,1.3,CRD,9 +CMT,1,2,607,1.8,CRD,9 +CMT,1,1,511,1.2,CSH,7.5 +CMT,1,1,475,1.8,CSH,8.5 +CMT,1,1,552,2.9,CRD,11 +CMT,1,1,549,1,CRD,7.5 +CMT,1,2,544,1,CSH,7.5 +CMT,1,1,936,1.4,CSH,11 +CMT,1,1,860,1.3,CSH,10 +CMT,1,1,565,0.8,CRD,7 +CMT,1,1,132,0.4,CRD,3.5 +CMT,1,1,163,0.9,CSH,5 +CMT,1,1,655,1.4,CSH,8.5 +CMT,1,2,650,1.9,CRD,9.5 +CMT,1,1,591,2.3,CSH,10 +CMT,1,2,604,2.1,CRD,10 +CMT,1,1,114,0.8,CRD,4 +CMT,1,1,242,1.1,CSH,6 +VTS,1,2,1320,3.58,CSH,17 +VTS,1,1,540,1.22,CRD,7.5 +VTS,1,1,180,0.63,CSH,4 +VTS,1,1,780,1.68,CRD,10 +VTS,1,1,480,1.12,CRD,7 +VTS,1,2,540,1.86,CRD,9 +VTS,1,1,960,2.83,CSH,13 +VTS,1,1,840,1.57,CSH,10 +VTS,1,1,780,1.3,CRD,9.5 +VTS,1,2,540,1.67,CRD,8.5 +VTS,1,1,900,1.94,CRD,11.5 +VTS,1,1,480,1.2,CRD,7.5 +VTS,1,1,1740,9.56,CSH,32 +VTS,1,1,1200,4.38,CRD,17.5 +VTS,1,2,180,0.53,CSH,4.5 +CMT,1,1,538,2.5,CRD,10 +CMT,1,1,930,4.6,CSH,16 +CMT,1,1,253,0.8,CRD,5 +CMT,1,1,643,1.1,CSH,8 +CMT,1,1,696,1.5,CSH,9 +CMT,1,1,551,1.4,CSH,8 +CMT,3,1,1776,12.8,CSH,56.5 +CMT,1,1,338,1.4,CSH,7 +CMT,1,3,223,1,CSH,5 +CMT,1,1,292,1.2,CRD,6 +CMT,1,1,371,1.4,CRD,7 +VTS,1,1,720,2.44,CRD,11 +VTS,1,1,120,0.06,CSH,3 +VTS,5,1,1080,5.76,CRD,40 +VTS,1,1,660,1.4,CRD,9 +VTS,1,1,300,1.13,CSH,6 +VTS,3,2,2100,18.13,CSH,69 +VTS,1,2,1200,1.66,CSH,13 +VTS,1,1,660,1.75,CRD,9 +VTS,1,1,720,1.78,CSH,10 +VTS,1,2,420,1.53,CSH,7.5 +VTS,1,2,660,2.03,CRD,10 +VTS,1,1,240,0.58,CRD,4.5 +VTS,1,1,480,0.97,CSH,7 +VTS,1,2,240,1.13,CSH,5.5 +VTS,1,1,480,1.23,CSH,7.5 +VTS,1,1,1800,3.82,CSH,20.5 +VTS,1,2,300,1.59,CSH,7 +VTS,2,1,2100,17.86,CSH,52 +VTS,1,1,840,1.5,CSH,10 +VTS,1,1,120,0.74,CRD,4 +VTS,1,2,360,1.77,CRD,7.5 +VTS,1,1,600,1.01,CSH,7.5 +VTS,1,1,1020,6.86,CRD,22 +VTS,1,1,240,0.67,CSH,5 +VTS,1,1,1200,3.99,CSH,16.5 +VTS,1,1,720,1.11,CRD,9 +CMT,1,1,1130,9,CRD,27 +CMT,1,1,341,1,CRD,5.5 +CMT,1,1,287,0.7,CSH,5 +CMT,1,1,802,1.9,CRD,11 +CMT,1,1,746,2.7,CSH,11.5 +CMT,1,1,402,0.6,CRD,6 +CMT,1,1,1119,2.5,CRD,13.5 +CMT,1,1,1385,4.4,CRD,18.5 +CMT,1,2,593,1.7,CRD,8.5 +CMT,1,1,240,0.8,CSH,5 +CMT,1,1,482,1.3,CRD,7.5 +CMT,1,4,2522,7.6,CSH,32.5 +CMT,1,3,498,2.2,CRD,9 +CMT,1,1,128,0.5,CRD,4 +CMT,2,2,1273,16.1,CRD,52 +CMT,1,1,355,1.6,CSH,7 +CMT,1,1,767,1.9,CRD,10 +CMT,1,1,309,1.1,CSH,6 +CMT,1,3,996,2.4,CSH,12.5 +CMT,1,4,949,2.6,CRD,12.5 +CMT,1,2,215,0.8,CSH,5 +CMT,1,1,381,1.2,CSH,7 +CMT,1,2,545,1.1,CSH,7.5 +CMT,1,2,432,1,CSH,6.5 +CMT,1,2,226,1.1,CRD,5.5 +CMT,1,1,279,1.6,CRD,6.5 +CMT,1,1,519,1.2,CRD,7.5 +CMT,1,1,268,0.5,CSH,4.5 +CMT,1,3,597,1.5,CSH,8.5 +CMT,1,1,1065,6.8,CRD,21 +CMT,1,2,281,1.5,CRD,6.5 +CMT,1,2,992,5.8,CSH,19 +CMT,1,1,257,1.2,CRD,6 +CMT,1,1,151,0.6,CSH,4.5 +CMT,1,1,411,1.5,CRD,7.5 +CMT,1,3,309,0.9,CSH,5.5 +CMT,1,1,704,5.4,CRD,17 +CMT,1,1,663,1.9,CSH,9.5 +CMT,1,1,889,3.9,CRD,14 +CMT,1,1,1232,6.9,CRD,23.5 +CMT,1,1,677,0.8,CSH,8 +CMT,1,1,432,2.1,CRD,8.5 +CMT,1,2,346,1.6,CRD,7 +CMT,1,1,147,0.6,CSH,4.5 +CMT,1,1,439,2.8,CRD,9.5 +CMT,1,1,853,9.2,CRD,25.5 +CMT,1,1,757,2.2,CRD,10.5 +CMT,1,1,224,0.9,CRD,5 +CMT,1,1,987,9.7,CRD,27.5 +CMT,1,1,731,2.8,CRD,11.5 +CMT,1,2,814,2.3,CSH,11 +CMT,1,3,143,0.5,CRD,4 +CMT,1,1,521,2.2,CRD,9 +CMT,1,1,2300,4.7,CRD,24.5 +CMT,1,1,609,1.1,CRD,8 +CMT,1,1,721,1.9,CSH,9.5 +CMT,1,1,891,1.4,CRD,10.5 +CMT,1,3,1860,3,CSH,20 +CMT,1,1,1098,5.3,CRD,18 +CMT,1,1,724,2.9,CSH,12 +CMT,1,4,481,1.5,CSH,7.5 +CMT,1,1,411,0.8,CSH,6 +CMT,1,3,527,1.6,CRD,8 +CMT,1,3,284,1.2,CRD,6 +CMT,1,1,972,7.6,CRD,22.5 +CMT,1,2,472,0.6,CRD,6.5 +CMT,1,1,650,1.9,CRD,9.5 +CMT,1,2,306,0.6,CRD,5 +CMT,1,1,721,1.5,CRD,9.5 +CMT,1,1,469,1.1,CSH,7 +CMT,1,1,881,5.3,CSH,17 +CMT,1,1,523,1.8,CSH,8.5 +CMT,1,2,298,1.6,CRD,7 +CMT,1,2,463,2.2,CSH,9 +CMT,1,1,653,4.7,CRD,14.5 +CMT,1,3,150,0.6,CSH,4 +CMT,1,1,229,1.6,CRD,6.5 +CMT,1,1,890,2.5,CSH,12 +CMT,1,1,505,1.4,CRD,7.5 +CMT,1,1,652,1.3,CSH,8.5 +CMT,1,1,655,2.7,CRD,11 +CMT,1,4,374,1.8,CSH,7 +CMT,1,2,819,3.3,CRD,12.5 +CMT,1,1,358,1,CSH,6 +CMT,1,1,585,2.2,CSH,10 +CMT,1,1,236,0.7,CSH,4.5 +CMT,1,1,465,1.3,CRD,7.5 +CMT,1,1,585,1.1,CRD,8 +CMT,1,1,143,0.9,CRD,4.5 +CMT,1,1,611,0.7,CRD,7.5 +CMT,1,1,397,1,CRD,6 +CMT,1,1,902,5.3,CSH,18 +CMT,1,1,433,1.1,CRD,6.5 +CMT,1,1,1037,9.6,CRD,27.5 +CMT,1,2,1198,5,CRD,18 +CMT,1,1,662,1.4,CRD,8.5 +CMT,1,2,985,5,CSH,18 +CMT,1,1,482,1.6,CRD,8 +CMT,1,1,341,1,CSH,6 +CMT,1,1,357,1.5,CRD,7.5 +CMT,1,1,214,1.5,CSH,6 +CMT,1,1,555,1.6,CRD,8.5 +CMT,1,1,560,2.4,CRD,10 +CMT,1,1,506,0.8,CSH,7 +CMT,1,1,426,2.1,CRD,8.5 +CMT,1,2,886,4,CRD,15 +CMT,1,2,359,1.3,CRD,6.5 +CMT,1,1,884,2.6,CSH,12 +CMT,1,3,687,2.5,CRD,10.5 +CMT,1,1,1027,5,CRD,17.5 +CMT,1,1,461,1.4,CRD,7.5 +CMT,1,2,374,0.6,CRD,6 +CMT,2,3,1351,16.5,CSH,52 +CMT,1,3,1237,9.5,CSH,28 +CMT,1,1,170,0.7,CSH,4.5 +CMT,1,1,318,1.1,CSH,6 +CMT,1,1,524,1.3,CRD,7.5 +CMT,1,1,333,1.2,CSH,6 +CMT,1,1,979,2.2,CSH,11.5 +CMT,1,1,833,1.6,CRD,10 +CMT,1,1,160,0.6,CRD,4 +CMT,1,1,539,1.5,CRD,8 +CMT,1,1,350,1.4,CSH,6.5 +CMT,1,1,931,10.3,CRD,28.5 +CMT,1,4,423,1.4,CSH,7 +CMT,1,1,541,1.4,CSH,8.5 +CMT,1,1,285,0.9,CSH,5.5 +CMT,1,1,552,2.1,CSH,9 +CMT,1,1,432,1.5,CRD,7 +CMT,1,1,435,1.6,CRD,7 +CMT,1,1,525,1.5,CRD,7.5 +CMT,1,1,830,4.8,CSH,16 +CMT,1,1,323,1.7,CRD,7.5 +CMT,1,1,1073,4.1,CSH,15.5 +CMT,1,1,707,2.2,CSH,9.5 +CMT,1,2,1027,4.9,CRD,17.5 +CMT,1,1,181,1.2,CRD,5.5 +CMT,1,1,831,1.5,CSH,10 +CMT,1,1,1359,8.6,CRD,27 +CMT,1,2,829,3.3,CSH,13.5 +CMT,1,1,768,3.5,CSH,13 +CMT,1,1,515,1.8,CRD,8.5 +CMT,1,1,244,0.9,CSH,5 +CMT,1,2,795,2.7,CSH,11 +CMT,1,1,1084,1.4,CSH,12 +CMT,1,1,1414,5.4,CRD,20.5 +CMT,1,1,332,1,CRD,6 +CMT,1,1,173,0.9,CSH,5 +CMT,1,2,524,1.1,CRD,7.5 +CMT,1,1,229,0.5,CSH,4.5 +CMT,1,1,623,1.2,CRD,8.5 +CMT,1,1,593,0.9,CSH,7.5 +CMT,1,3,1082,3.2,CRD,14.5 +CMT,1,1,1369,2.9,CRD,16 +CMT,1,1,310,1,CSH,5.5 +CMT,1,1,725,0.9,CSH,8.5 +VTS,1,1,1440,3.84,CSH,18.5 +VTS,1,2,660,1.25,CRD,8.5 +VTS,1,2,900,2.08,CSH,11 +VTS,1,3,1860,12.22,CSH,38 +VTS,1,1,1200,3.68,CSH,16.5 +VTS,1,2,540,2.03,CSH,9 +CMT,1,1,1354,4.4,CSH,18.5 +CMT,1,1,1428,2.5,CRD,15.5 +CMT,1,1,1252,5.6,CSH,20.5 +CMT,1,1,349,2.1,CSH,8 +CMT,1,1,556,3.2,CRD,11 +CMT,1,1,179,0.7,CRD,4.5 +CMT,1,1,501,1.8,CSH,8.5 +CMT,1,1,1611,10.5,CSH,32 +CMT,1,1,589,2,CSH,10 +CMT,1,1,198,0.7,CSH,5 +CMT,1,1,567,1.6,CSH,8.5 +CMT,2,1,1,0,CRD,52 +CMT,1,1,1063,1.9,CRD,12 +CMT,1,1,476,0.9,CSH,7 +CMT,1,1,449,1.1,CRD,7 +CMT,1,4,1018,3.4,CRD,14 +CMT,1,1,597,2.6,CSH,10.5 +CMT,1,1,450,2.2,CRD,9.5 +CMT,1,1,1880,8.4,CSH,29 +CMT,1,2,976,1.9,CRD,11.5 +CMT,1,1,591,1.8,CSH,9 +CMT,1,1,243,1.3,CRD,6 +CMT,1,1,628,3.1,CRD,11.5 +CMT,1,1,1059,1.9,CRD,12.5 +CMT,1,2,368,0.7,CSH,5.5 +CMT,1,1,718,1.9,CRD,10 +CMT,1,2,653,1.3,CRD,8.5 +CMT,1,1,943,9.7,CRD,26.5 +CMT,1,1,1121,2.5,CSH,13.5 +CMT,1,2,570,1.1,CRD,8 +CMT,1,3,764,3.9,CRD,14 +CMT,1,3,1230,3.4,CSH,15.5 +CMT,1,1,1057,9.4,CSH,27 +CMT,1,2,581,1.1,CSH,8 +CMT,1,1,363,0.9,CRD,6 +CMT,1,1,377,1.6,CSH,7.5 +CMT,1,1,112,0.3,CRD,3.5 +CMT,1,1,247,1.2,CSH,6 +CMT,1,1,815,6.4,CRD,20 +CMT,1,1,1521,4.5,CRD,19.5 +CMT,1,1,570,1.1,CRD,7.5 +CMT,1,2,236,0.9,CRD,5.5 +CMT,1,1,657,5.2,CSH,16.5 +CMT,1,1,303,0.9,CRD,5.5 +CMT,1,1,1652,1.8,CRD,17 +CMT,1,1,847,6.1,CRD,18 +CMT,1,1,1537,3.3,CRD,17.5 +CMT,1,3,528,1.6,CSH,8 +CMT,1,3,1443,4.5,CSH,19 +CMT,1,2,823,8.4,CSH,24 +CMT,1,3,889,2.9,CSH,12.5 +CMT,1,1,354,0.9,CRD,6 +CMT,1,1,1389,2.8,CRD,16 +CMT,1,1,363,2.8,CSH,9.5 +CMT,1,1,317,1.3,CSH,6.5 +CMT,1,1,1319,4.6,CSH,18.5 +CMT,1,1,277,0.8,CSH,5.5 +CMT,1,1,488,2.3,CSH,9 +CMT,1,1,1769,4.6,CSH,21 +CMT,1,1,643,1.8,CSH,9 +CMT,1,2,888,1.5,CRD,10.5 +CMT,1,1,724,4.8,CRD,15.5 +CMT,1,2,474,0.9,CSH,7 +CMT,1,1,464,1.2,CSH,7 +CMT,1,1,225,0.6,CRD,4.5 +CMT,2,1,2168,21.3,CRD,52 +CMT,1,1,1566,3.8,CRD,18 +CMT,1,1,636,2,CRD,9.5 +CMT,1,1,443,0.4,CSH,6 +CMT,1,4,1082,3.1,CSH,14.5 +CMT,1,4,602,1.8,CRD,9 +CMT,1,2,721,1.8,CSH,9.5 +CMT,1,1,869,2.3,CSH,11.5 +CMT,1,1,1259,2.5,CRD,14.5 +CMT,1,2,785,1.5,CSH,9.5 +CMT,1,1,706,1.3,CRD,8.5 +CMT,1,3,649,1.3,CRD,8.5 +CMT,1,2,1182,1.8,CSH,13.5 +CMT,1,1,1193,4.5,CRD,18 +CMT,1,1,581,1.8,CRD,9 +CMT,1,1,658,1.5,CSH,9 +CMT,1,1,205,0.6,CSH,4.5 +CMT,1,1,364,1.9,CSH,7.5 +CMT,1,1,436,1.1,CRD,7 +CMT,1,1,573,1.7,CSH,8.5 +CMT,1,2,623,1.8,CSH,9.5 +CMT,1,2,332,1.4,CRD,6.5 +CMT,1,1,426,1.5,CRD,7.5 +CMT,1,1,344,1.9,CSH,7.5 +CMT,1,1,294,0.8,CSH,5.5 +CMT,1,1,179,0.5,CRD,4 +CMT,1,1,478,1,CRD,7 +CMT,1,1,355,1.2,CRD,6.5 +CMT,1,1,765,2.2,CRD,10.5 +CMT,1,1,524,1,CSH,7.5 +CMT,1,1,96,0.3,CSH,3.5 +CMT,1,1,306,0.5,CSH,5.5 +CMT,1,1,734,2.1,CSH,11 +CMT,1,2,566,1.8,CSH,9 +CMT,1,1,924,4,CSH,14.5 +CMT,1,1,669,2.5,CSH,11 +CMT,1,1,568,1.7,CSH,8 +CMT,1,1,465,2.3,CRD,9 +CMT,1,1,121,0.5,CSH,4 +CMT,1,1,586,1,CSH,7.5 +CMT,1,1,462,1,CRD,6.5 +CMT,1,1,745,1.5,CRD,9.5 +CMT,1,2,1584,4.2,CSH,19 +CMT,1,3,1651,4.6,CRD,20.5 +CMT,1,2,271,0.8,CRD,5 +CMT,1,1,876,1.6,CRD,10.5 +CMT,1,1,232,0.5,CSH,4.5 +CMT,1,1,533,1.3,CSH,8 +CMT,1,1,502,1.8,CRD,8.5 +CMT,1,1,292,1.6,CSH,6.5 +CMT,1,1,494,2,CSH,8.5 +CMT,1,3,986,4,CRD,15.5 +CMT,1,1,687,3.8,CRD,13.5 +CMT,1,1,701,2.5,CSH,11 +CMT,1,1,481,2,CSH,9 +CMT,1,4,672,1.5,CSH,9 +CMT,1,1,711,2.6,CRD,11 +CMT,1,1,126,0.9,CRD,4.5 +CMT,1,1,363,1.3,CSH,6.5 +CMT,1,1,486,2.5,CSH,9.5 +CMT,1,1,1331,7,CRD,22.5 +CMT,1,1,309,1.1,CRD,6 +CMT,1,1,2,0,CSH,2.5 +CMT,4,1,657,2.4,CRD,10 +CMT,1,1,251,0.9,CRD,5 +CMT,1,1,346,0.8,CSH,5.5 +CMT,1,1,531,1.5,CRD,8 +CMT,1,1,387,0.8,CRD,6 +CMT,1,1,258,0.7,CRD,5 +CMT,1,1,743,1.9,CRD,10 +CMT,1,1,4,0,CSH,2.5 +CMT,1,1,251,0.9,CSH,5.5 +CMT,4,1,392,0.8,CSH,6 +CMT,1,1,1130,5.4,CRD,18 +CMT,1,1,361,1.6,CSH,7 +CMT,1,1,408,1.5,CRD,7 +CMT,1,1,666,2.7,CRD,11 +CMT,1,1,252,2,CRD,7 +CMT,1,1,153,0.4,CRD,4 +CMT,1,1,361,1.1,CSH,6.5 +CMT,1,1,161,0.4,CSH,4 +CMT,1,1,478,2.3,CSH,9 +CMT,1,1,244,0.8,CRD,5 +CMT,1,1,667,1.7,CSH,9 +CMT,1,1,212,0.7,CRD,4.5 +CMT,1,1,344,1,CSH,6 +CMT,1,1,215,0.8,CSH,5 +CMT,1,1,1057,1.9,CRD,12 +CMT,1,1,327,0.6,CRD,5.5 +CMT,1,1,1033,8.6,CRD,24.5 +CMT,1,1,579,0.9,CRD,7.5 +CMT,1,1,479,1.5,CRD,8 +CMT,1,1,246,0.8,CRD,5 +CMT,2,3,1328,16.2,CSH,52 +CMT,1,1,1018,4.2,CRD,17 +CMT,1,1,186,1.3,CRD,5.5 +CMT,1,1,928,3.3,CRD,13.5 +CMT,1,1,594,1.3,CSH,8.5 +CMT,1,1,224,0.6,CRD,4.5 +CMT,1,1,275,0.9,CSH,5.5 +CMT,1,1,1497,2.7,CRD,16.5 +CMT,1,1,413,0.6,CRD,6 +CMT,1,2,469,2,CSH,9 +CMT,1,2,376,0.8,CRD,6 +CMT,1,1,845,1,CRD,10 +CMT,1,1,1034,1.7,CRD,11.5 +CMT,1,1,280,0.5,CSH,5 +CMT,1,1,289,1.7,CSH,7 +CMT,1,1,375,0.8,CSH,6 +CMT,1,1,277,1.2,CRD,6 +CMT,1,1,152,0.6,CSH,4 +CMT,1,1,222,0.7,CRD,4.5 +CMT,1,1,682,2.3,CRD,10.5 +CMT,1,1,441,1.2,CSH,6.5 +CMT,1,1,393,0.5,CRD,5.5 +CMT,1,1,259,1.1,CSH,6 +CMT,1,1,678,4.5,CRD,14 +CMT,1,1,172,0.9,CSH,5 +CMT,1,1,249,1.1,CSH,5.5 +CMT,1,1,716,3.7,CSH,13 +CMT,1,4,619,1.2,CSH,8.5 +CMT,1,1,415,1.6,CSH,7.5 +CMT,1,1,231,0.5,CRD,4.5 +CMT,1,1,387,1,CSH,6.5 +CMT,1,2,354,1.3,CRD,6.5 +CMT,1,2,1534,4.5,CRD,19 +CMT,1,1,1283,10.5,CRD,29.5 +CMT,1,1,251,0.6,CSH,4.5 +CMT,1,1,377,1.2,CSH,6.5 +CMT,1,1,234,0.8,CSH,5.5 +CMT,1,1,419,1.1,CRD,6.5 +CMT,1,3,1008,4.4,CSH,15.5 +CMT,1,1,580,1.4,CSH,8.5 +CMT,1,1,274,1,CRD,5.5 +CMT,1,1,508,1.9,CSH,8.5 +CMT,1,1,1872,9.1,CRD,29 +CMT,1,1,416,1,CRD,6.5 +CMT,1,1,480,1.2,CRD,7 +CMT,1,1,629,3.5,CSH,12.5 +CMT,1,2,458,2.1,CSH,8.5 +CMT,1,1,155,0.3,CSH,4 +CMT,1,2,292,0.6,CSH,5 +CMT,1,1,1521,9.9,CSH,30.5 +CMT,1,1,796,2.1,CRD,11 +CMT,1,1,736,1.7,CSH,9.5 +CMT,1,1,1366,3.5,CRD,16.5 +CMT,1,1,572,1.6,CRD,8 +CMT,1,1,1040,4.5,CRD,16.5 +CMT,1,1,691,1.9,CRD,10 +CMT,1,2,994,3.4,CRD,15 +CMT,1,1,484,1.9,CSH,8.5 +CMT,1,1,692,2.1,CSH,10 +CMT,1,1,1140,2,CRD,13 +CMT,1,1,1151,2.6,CRD,13.5 +CMT,1,1,940,4.9,CSH,17 +CMT,1,1,944,5.5,CRD,19 +CMT,1,1,444,1.7,CSH,7.5 +CMT,1,1,866,1.9,CSH,11 +CMT,1,1,600,4.5,CSH,14 +CMT,1,1,403,1,CRD,6.5 +CMT,1,1,134,0.7,CSH,4 +CMT,1,1,371,1.1,CSH,6 +CMT,1,1,1084,5.8,CSH,19.5 +CMT,1,1,804,3.6,CRD,14 +CMT,1,1,398,0.6,CSH,6 +CMT,1,1,704,1.8,CRD,9.5 +CMT,1,2,602,1.4,CSH,8.5 +CMT,1,1,866,1.2,CSH,10.5 +CMT,1,1,435,1,CRD,6.5 +CMT,1,1,564,1,CRD,7.5 +CMT,1,1,863,5.1,CSH,16.5 +CMT,2,2,1442,15.9,CRD,52 +CMT,1,1,275,1,CSH,5.5 +CMT,1,1,528,0.7,CSH,6.5 +CMT,1,2,996,6.1,CRD,20 +CMT,1,1,844,1.7,CRD,10.5 +CMT,1,2,1496,5.5,CSH,21.5 +CMT,1,2,656,1.5,CRD,9 +CMT,1,1,1089,6.9,CSH,22.5 +CMT,1,3,685,2.3,CRD,10 +CMT,1,2,384,0.8,CSH,6 +CMT,1,2,983,3,CRD,13.5 +CMT,1,1,1306,7,CSH,23.5 +CMT,1,2,892,4.9,CSH,17 +CMT,1,1,282,1.2,CRD,6 +CMT,1,2,773,2.6,CRD,11.5 +CMT,1,1,598,2.5,CRD,9.5 +CMT,1,2,228,0.6,CRD,4.5 +CMT,1,1,401,1.1,CRD,7 +CMT,1,1,301,0.7,CSH,5 +CMT,1,1,909,1.6,CSH,10.5 +CMT,2,1,1324,16.8,CSH,52 +CMT,1,1,348,1.6,CRD,7 +CMT,1,1,655,1.6,CSH,9 +CMT,1,1,1289,4.1,CRD,17 +CMT,1,1,301,0.8,CRD,5.5 +CMT,1,1,876,5.9,CSH,19 +CMT,1,2,1819,4.7,CRD,22 +CMT,1,1,529,2.9,CRD,10.5 +CMT,1,2,399,0.6,CRD,6 +CMT,1,2,1696,3.2,CSH,19.5 +CMT,1,2,760,2,CSH,10.5 +CMT,1,2,591,1.4,CSH,8.5 +CMT,1,3,501,1.3,CSH,7.5 +CMT,1,2,345,1.1,CSH,6 +CMT,1,1,504,2.5,CSH,9.5 +CMT,1,1,617,2.4,CRD,10 +CMT,1,1,448,1.8,CRD,8 +CMT,1,2,464,1.7,CRD,7.5 +CMT,1,1,282,1.1,CRD,6 +CMT,1,1,1288,4,CRD,16.5 +CMT,1,3,180,0.8,CSH,4.5 +CMT,1,1,517,1,CSH,7.5 +CMT,1,2,148,0.8,CSH,4.5 +CMT,1,3,844,8.5,CSH,24.5 +CMT,1,1,569,1.9,CSH,9 +CMT,1,1,350,1.6,CSH,7.5 +CMT,1,1,1175,6.1,CRD,20 +CMT,1,1,604,1.9,CRD,9 +CMT,1,1,1049,3.5,CRD,14.5 +CMT,1,1,338,1.2,CRD,6.5 +CMT,1,1,1401,6.3,CSH,22 +CMT,1,1,356,1.3,CSH,6.5 +CMT,1,1,454,1.5,CRD,7.5 +CMT,1,1,614,1.4,CRD,8.5 +CMT,1,1,325,0.8,CRD,5.5 +CMT,1,1,572,2.2,CRD,9.5 +CMT,1,1,288,1,CRD,5.5 +CMT,1,1,942,5.1,CSH,18 +CMT,1,1,332,1.2,CRD,6 +CMT,1,1,515,2.4,CRD,9.5 +CMT,1,1,394,1.5,CSH,7 +CMT,1,1,461,1.9,CSH,8 +CMT,1,1,1047,2.8,CRD,13.5 +CMT,1,1,106,0.2,CSH,3 +CMT,1,1,943,3,CSH,13.5 +CMT,1,1,248,0.9,CRD,5 +CMT,1,1,887,1.3,CRD,10.5 +CMT,1,1,383,1.2,CRD,6.5 +CMT,1,1,222,0.8,CSH,5 +CMT,1,1,513,2.5,CRD,10.5 +CMT,1,1,276,0.6,CRD,5 +CMT,1,2,617,1.3,CRD,8 +CMT,1,1,636,2.4,CRD,10 +CMT,1,2,698,4.2,CRD,14 +CMT,1,2,789,3.6,CRD,13.5 +CMT,1,2,515,2.2,CRD,9.5 +CMT,1,2,706,2.5,CSH,10.5 +CMT,1,2,675,2.4,CSH,10 +CMT,1,1,226,0.9,CRD,5 +CMT,1,1,842,3.5,CRD,13.5 +CMT,1,1,759,4.6,CRD,15.5 +CMT,1,1,598,0.8,CRD,7.5 +CMT,1,1,1030,6.3,CSH,20 +CMT,1,1,1203,9.1,CSH,27.5 +CMT,1,1,384,1.5,CRD,7.5 +CMT,1,1,329,1.3,CRD,6 +CMT,1,1,214,0.5,CRD,4.5 +CMT,1,1,830,6.8,CRD,21 +CMT,1,1,1015,2.2,CRD,12 +CMT,1,1,416,1.7,CSH,7.5 +CMT,1,1,729,2.3,CRD,10.5 +CMT,1,1,1809,5.1,CRD,22 +CMT,1,1,408,1.7,CRD,7.5 +CMT,1,1,859,4.4,CRD,15.5 +CMT,1,1,569,1.6,CRD,8.5 +CMT,1,1,648,1.9,CSH,9.5 +CMT,1,1,596,4,CSH,13 +CMT,1,2,688,4.3,CSH,14 +CMT,1,1,385,1.5,CRD,7 +CMT,1,1,227,1.2,CRD,6 +CMT,1,1,707,2.4,CSH,10.5 +CMT,1,1,739,2.2,CSH,10.5 +CMT,1,1,559,3,CRD,11 +CMT,1,1,329,0.7,CSH,5.5 +CMT,1,1,582,1.3,CSH,8 +CMT,1,1,561,0.9,CRD,7.5 +CMT,1,1,347,0.6,CRD,5.5 +CMT,1,1,470,1.4,CSH,7.5 +CMT,1,1,755,2,CSH,10.5 +CMT,1,1,153,0.5,CRD,4 +CMT,1,1,500,1.8,CSH,8.5 +CMT,1,1,641,2.8,CSH,11 +CMT,1,1,576,0.8,CSH,7.5 +CMT,1,1,1070,1.9,CSH,12 +CMT,1,1,411,1.6,CRD,7.5 +CMT,1,1,121,0.5,CRD,4 +CMT,1,1,1328,3.7,CRD,16.5 +CMT,1,1,164,0.6,CRD,4 +CMT,1,1,274,0.9,CRD,5.5 +CMT,5,1,40,0,CRD,25 +CMT,1,1,423,1.2,CRD,7 +CMT,1,1,422,1.3,CSH,7 +CMT,1,1,517,1.5,CRD,8 +CMT,1,2,1563,3.3,CSH,17.5 +CMT,1,1,613,1.4,CSH,8.5 +CMT,1,1,388,1,CSH,6.5 +CMT,1,1,407,0.8,CRD,6 +CMT,1,1,485,1.4,CSH,7.5 +CMT,1,1,1111,10.9,CSH,30 +CMT,1,1,196,0.7,CRD,4.5 +CMT,1,3,734,2.8,CRD,11.5 +CMT,1,1,572,2.4,CRD,10 +CMT,2,1,1623,16.4,CRD,52 +CMT,1,1,1295,2.3,CRD,15 +CMT,1,2,413,0.8,CRD,6 +CMT,1,2,687,1.2,CSH,8.5 +CMT,1,2,731,3,CSH,11.5 +CMT,1,2,1526,6.7,CSH,24 +CMT,1,1,287,0.8,CRD,5.5 +CMT,1,1,265,1.2,CRD,6 +CMT,1,1,216,1.1,CSH,5.5 +CMT,1,1,7,0,CSH,2.5 +CMT,1,1,206,0.9,CSH,5 +CMT,1,1,1219,4.6,CRD,17.5 +CMT,1,1,775,3.6,CRD,13.5 +CMT,1,1,606,2.6,CRD,10.5 +CMT,1,1,937,2.1,CRD,11.5 +CMT,1,1,1691,5.5,CRD,23 +CMT,1,1,446,1.1,CSH,6.5 +CMT,4,3,1081,2.6,CRD,13.5 +CMT,1,1,747,5,CRD,16.5 +CMT,1,2,569,0.9,CRD,7.5 +CMT,1,1,1040,2,CSH,12 +CMT,1,1,771,0.8,CRD,9 +CMT,1,4,441,0.8,CSH,6.5 +CMT,1,1,737,5.2,CRD,17 +CMT,1,1,931,5.8,CSH,18 +CMT,1,1,544,2.5,CSH,10 +CMT,1,1,439,1.7,CSH,7.5 +CMT,1,1,403,1.8,CRD,7.5 +CMT,1,1,486,1.9,CRD,8.5 +CMT,1,1,977,2.5,CSH,12.5 +CMT,1,1,253,0.6,CSH,4.5 +CMT,1,1,441,2.3,CSH,9 +CMT,1,1,388,1.1,CRD,6.5 +CMT,1,1,604,1.8,CSH,9 +CMT,1,1,323,1.7,CRD,7 +CMT,1,1,844,3.6,CRD,13.5 +CMT,1,1,1017,2.8,CSH,13 +CMT,1,1,587,2.6,CRD,10.5 +CMT,1,1,870,4.9,CSH,16 +CMT,1,1,998,3.9,CRD,15.5 +CMT,1,1,1006,2.6,CSH,13 +CMT,1,1,700,1.9,CRD,10 +CMT,1,1,985,5.9,CRD,19 +CMT,1,1,818,4.6,CRD,15 +CMT,1,1,543,2.3,CRD,9.5 +CMT,1,1,312,1.4,CSH,6.5 +CMT,1,1,304,1.1,CSH,6 +CMT,1,1,427,1.9,CRD,8 +CMT,1,1,389,1.2,CSH,7 +CMT,1,1,546,2.4,CRD,9.5 +CMT,1,1,621,1.6,CRD,9 +CMT,1,1,560,1.5,CRD,8 +CMT,1,1,224,0.4,CSH,4 +CMT,1,1,767,2.3,CRD,11.5 +CMT,1,1,268,0.7,CRD,5 +CMT,1,1,254,1,CRD,5.5 +CMT,1,1,1131,5.2,CRD,18.5 +CMT,1,1,173,0.6,CSH,4 +CMT,1,1,321,0.8,CRD,5.5 +CMT,1,1,596,1.5,CSH,8.5 +CMT,1,1,637,2.9,CRD,11.5 +CMT,1,1,1137,2.7,CRD,13.5 +CMT,1,1,421,1.6,CRD,7.5 +CMT,1,1,680,3.7,CSH,13 +CMT,1,1,1262,3.9,CRD,16.5 +CMT,1,1,141,0.6,CRD,4 +CMT,1,1,306,2.1,CRD,7.5 +CMT,1,1,552,2,CRD,8.5 +CMT,1,1,1147,3.4,CRD,14.5 +CMT,1,1,170,0.4,CRD,4 +CMT,1,2,1537,3.4,CRD,17.5 +CMT,1,1,959,5.3,CRD,18 +CMT,1,1,908,3,CSH,12.5 +CMT,1,1,232,1.2,CSH,6 +CMT,1,1,311,2.1,CSH,7.5 +CMT,1,1,448,0.6,CRD,6 +CMT,1,1,1085,4.3,CRD,17 +CMT,1,1,652,2.8,CRD,11 +CMT,1,1,654,1.4,CSH,8.5 +CMT,1,1,142,0.5,CRD,4 +CMT,1,1,256,0.8,CRD,5 +CMT,1,1,659,3.6,CSH,12.5 +CMT,1,1,932,4.7,CSH,16 +CMT,1,2,251,0.7,CSH,5 +CMT,1,3,418,0.8,CSH,6 +CMT,2,2,2378,16.8,CRD,52 +CMT,1,1,936,2.2,CSH,11.5 +CMT,1,1,482,1.4,CRD,7.5 +CMT,1,1,164,0.9,CRD,5 +CMT,1,1,227,0.6,CSH,4.5 +CMT,1,1,464,1,CRD,6.5 +CMT,1,1,567,1.3,CRD,8 +CMT,1,1,369,1.2,CSH,6.5 +CMT,1,1,517,0.9,CRD,7.5 +CMT,1,1,268,0.8,CRD,5 +CMT,1,1,390,1.9,CSH,7.5 +CMT,1,1,745,3.2,CRD,13 +CMT,1,1,1017,5.2,CRD,18.5 +CMT,1,1,407,2.5,CSH,9 +CMT,1,1,1172,2.3,CRD,13.5 +CMT,1,1,586,1.8,CRD,8.5 +CMT,1,1,1643,4.4,CRD,20 +CMT,1,1,223,0.9,CRD,5 +CMT,1,1,423,2.2,CRD,8.5 +CMT,1,1,1029,3.5,CRD,14 +CMT,1,1,553,1,CSH,7 +CMT,1,1,526,2.3,CSH,9 +CMT,1,1,594,2.4,CRD,9.5 +CMT,1,1,648,4.7,CRD,15 +CMT,1,1,1084,5.1,CSH,18 +CMT,1,1,717,3.5,CRD,13 +CMT,1,1,688,2.7,CRD,11 +CMT,1,1,692,4.8,CRD,14.5 +CMT,1,1,203,0.5,CRD,4 +CMT,1,1,305,0.8,CSH,5.5 +CMT,1,1,593,2.1,CRD,9.5 +CMT,1,1,126,0.6,CRD,4 +CMT,1,1,655,3.1,CRD,11.5 +CMT,1,1,414,0.6,CRD,6 +CMT,1,1,528,1.5,CSH,8 +CMT,1,1,364,1.8,CRD,7.5 +CMT,1,1,721,3,CSH,12 +CMT,1,1,604,1.1,CRD,7.5 +CMT,1,1,604,0.9,CRD,8 +CMT,1,1,699,2.3,CRD,10 +CMT,1,1,130,0.7,CSH,4 +CMT,1,1,876,8.4,CRD,24 +CMT,1,1,308,1.2,CSH,6 +CMT,1,1,159,0.8,CRD,4.5 +CMT,1,1,856,2.7,CRD,12 +CMT,1,1,166,0.8,CRD,4.5 +CMT,1,1,853,3.7,CRD,14 +CMT,1,1,518,1.3,CRD,7.5 +CMT,1,1,319,1.5,CRD,7 +CMT,1,1,987,3.2,CSH,13 +CMT,1,1,384,1.2,CRD,6.5 +CMT,1,1,476,2.1,CRD,8.5 +CMT,1,1,350,1.6,CRD,7 +CMT,1,1,1232,5.7,CSH,19.5 +CMT,1,1,812,3.1,CSH,13 +CMT,1,1,222,0.9,CRD,5 +CMT,1,1,430,0.7,CSH,6 +CMT,1,1,1188,3.2,CRD,15.5 +CMT,1,1,633,1.9,CSH,9.5 +CMT,1,1,91,0.5,CSH,3.5 +CMT,1,1,744,2.9,CSH,11.5 +CMT,1,1,480,1.6,CRD,7.5 +CMT,1,1,2,0,CSH,2.5 +CMT,1,2,1959,10.9,CSH,33 +CMT,1,1,342,1.6,CRD,7 +CMT,1,1,637,1.6,CSH,9 +CMT,1,1,1468,3.9,CRD,18 +CMT,1,1,918,1.8,CRD,11 +CMT,1,1,566,1.2,CRD,7.5 +CMT,1,1,1423,6.1,CRD,21.5 +CMT,1,1,585,1.3,CRD,8 +CMT,1,1,323,1,CRD,5.5 +CMT,1,1,1061,2.3,CSH,2.5 +CMT,1,1,473,2.6,CRD,10 +CMT,1,1,347,0.6,CSH,5.5 +CMT,1,1,167,0.4,CSH,4 +CMT,1,1,649,2.2,CSH,10 +CMT,1,1,888,7.8,CRD,23 +CMT,1,1,204,1,CRD,5.5 +CMT,1,1,189,0.6,CRD,4.5 +CMT,1,1,403,1.2,CSH,6.5 +CMT,1,1,179,0.6,CRD,4 +CMT,1,1,370,1.4,CRD,6.5 +CMT,1,1,794,4.8,CRD,16.5 +CMT,1,1,363,1.8,CRD,7.5 +CMT,1,1,573,1.3,CSH,8 +CMT,1,1,739,2.5,CSH,11 +CMT,1,1,818,2.6,CRD,11.5 +CMT,1,1,218,0.9,CSH,5.5 +CMT,1,1,810,4.1,CSH,14 +CMT,1,1,941,4.8,CSH,16 +CMT,1,1,630,2.2,CRD,10 +CMT,1,1,333,0.7,CSH,5.5 +CMT,1,1,544,1.7,CRD,8 +CMT,1,1,1457,5.4,CRD,20.5 +CMT,1,1,387,1.3,CSH,6.5 +CMT,1,1,465,1.1,CRD,7 +CMT,1,1,1137,4.1,CRD,15.5 +CMT,1,1,1066,5.6,CRD,19 +CMT,1,1,653,2,CRD,9.5 +CMT,1,1,198,0.4,CRD,4 +CMT,2,2,2682,16.7,CRD,52 +CMT,1,1,386,1.6,CSH,7.5 +CMT,1,1,351,1,CRD,6 +CMT,1,1,549,1.3,CRD,7.5 +CMT,1,1,589,2,CSH,9.5 +CMT,1,1,743,2.9,CRD,12 +CMT,1,1,1,0,CSH,2.5 +CMT,1,1,313,0.8,CRD,6 +CMT,1,1,2160,9.2,CRD,31.5 +CMT,1,1,819,2,CRD,10.5 +CMT,1,1,807,5.2,CSH,17 +CMT,1,1,388,1.9,CRD,7.5 +CMT,1,1,526,1.6,CSH,8 +CMT,1,1,187,1.2,CSH,5.5 +CMT,1,1,1018,7.5,CRD,23 +CMT,1,1,488,2.1,CSH,9 +CMT,1,1,472,2,CRD,8.5 +CMT,1,1,656,1.9,CRD,9.5 +CMT,1,1,392,2,CSH,7.5 +CMT,1,1,380,0.8,CSH,6 +CMT,1,1,372,1.5,CSH,7 +CMT,1,1,193,0.7,CRD,4.5 +CMT,1,1,302,0.8,CRD,5.5 +CMT,1,1,750,2.5,CRD,10.5 +CMT,1,1,459,2.5,CRD,9.5 +CMT,1,1,205,0.6,CRD,4.5 +CMT,1,1,865,2.8,CSH,12 +CMT,1,1,1361,5,CSH,19 +CMT,1,1,217,0.6,CSH,4.5 +CMT,1,1,739,2.6,CRD,11 +CMT,1,1,627,2.3,CRD,10 +CMT,1,1,1711,0,CSH,2.5 +CMT,1,1,1061,3.1,CRD,14 +CMT,1,1,608,1,CRD,8 +CMT,1,1,1197,5,CRD,19 +CMT,1,1,589,1.5,CSH,8.5 +CMT,1,1,428,0.8,CSH,6.5 +CMT,1,1,992,2.6,CSH,13 +CMT,1,1,901,2.7,CRD,12.5 +CMT,1,1,1680,9.3,CRD,30 +CMT,1,1,680,1.1,CSH,8.5 +CMT,1,1,269,1.2,CSH,5.5 +CMT,4,1,546,2.4,CRD,9.5 +CMT,1,1,349,1.2,CRD,6.5 +CMT,1,1,554,1.6,CRD,8 +CMT,1,1,1673,6.8,CRD,24 +CMT,1,1,596,1.9,CRD,9 +CMT,1,1,675,3.7,CRD,13 +CMT,1,1,428,1.3,CSH,7 +CMT,1,1,454,2.3,CSH,9 +CMT,1,1,246,0.8,CSH,5 +CMT,1,1,1362,6.5,CRD,22 +CMT,1,1,174,0.6,CRD,4 +CMT,1,1,929,2.9,CRD,13.5 +CMT,1,1,474,2.2,CRD,8.5 +CMT,1,1,871,5.7,CRD,18.5 +CMT,1,1,520,0.9,CSH,7 +CMT,4,1,1118,5.3,CRD,17.5 +CMT,1,1,211,0.9,CRD,5 +CMT,1,1,1026,4.2,CSH,15.5 +CMT,1,1,662,2.9,CRD,12 +CMT,1,1,352,0.6,CSH,5.5 +CMT,1,1,784,2.1,CRD,10.5 +CMT,1,1,194,0.7,CRD,4.5 +CMT,1,1,297,0.7,CSH,5.5 +CMT,1,1,823,3.3,CRD,13 +CMT,1,1,291,0.8,CRD,5.5 +CMT,1,1,1167,6.2,CRD,19.5 +CMT,1,1,1015,6.9,CRD,21 +CMT,1,1,440,1.4,CSH,7.5 +CMT,1,1,1110,2.9,CSH,14 +CMT,1,1,990,4.6,CSH,16.5 +CMT,1,1,863,3.6,CSH,13 +CMT,1,1,480,1.7,CSH,8 +CMT,1,1,394,1.3,CRD,7 +CMT,1,1,272,1,CSH,5.5 +CMT,1,1,341,1,CSH,5.5 +CMT,1,1,425,0.9,CRD,6.5 +CMT,1,1,139,1.1,CRD,5 +CMT,1,1,1013,2.9,CRD,13 +CMT,1,1,534,1.3,CRD,7.5 +CMT,1,1,479,1.3,CRD,7.5 +CMT,1,1,1438,7,CRD,23.5 +CMT,1,1,497,1.9,CRD,8.5 +CMT,1,1,391,1.2,CSH,6.5 +CMT,1,1,498,1.6,CRD,7.5 +CMT,1,1,453,1.4,CSH,7.5 +CMT,1,1,197,0.9,CSH,5 +CMT,1,1,716,3.6,CRD,12.5 +CMT,1,1,584,2.6,CRD,10.5 +CMT,1,1,1536,2.3,CRD,17 +CMT,1,1,1291,3.6,CSH,17 +CMT,1,1,594,2.1,CSH,9.5 +CMT,1,1,812,2.4,CRD,11.5 +CMT,1,1,374,0.5,CRD,5.5 +CMT,1,1,528,2.5,CSH,10 +CMT,1,1,387,2,CRD,8 +CMT,1,1,1569,6.2,CRD,22.5 +CMT,1,1,723,1.7,CSH,9.5 +CMT,1,1,351,1,CSH,6 +CMT,1,1,545,2.3,CRD,9.5 +CMT,1,1,854,4.2,CRD,15 +CMT,1,1,550,1.9,CRD,9 +CMT,1,1,607,2.1,CRD,9.5 +CMT,1,1,530,1.3,CRD,8 +CMT,1,1,2169,7.4,CSH,28.5 +CMT,4,1,920,2.5,CRD,12.5 +CMT,1,1,759,3,CSH,11.5 +CMT,1,1,513,1.4,CSH,8 +CMT,1,1,574,1.4,CRD,8.5 +CMT,1,1,362,1.5,CSH,7 +CMT,1,1,305,0.8,CSH,5.5 +CMT,1,1,376,0.6,CRD,6 +CMT,1,1,540,1.4,CSH,8 +CMT,1,1,740,3.4,CRD,12.5 +CMT,1,1,550,1.7,CSH,8.5 +CMT,1,1,157,0.6,CRD,4 +CMT,1,1,572,1,CSH,7 +CMT,1,1,427,0.9,CRD,6.5 +CMT,1,1,833,4.1,CSH,14.5 +CMT,1,1,201,0.6,CSH,4.5 +CMT,1,1,364,1.1,CRD,6.5 +CMT,1,1,162,1,CRD,5 +CMT,1,1,153,0.8,CSH,4.5 +CMT,1,1,974,3.4,CRD,14.5 +CMT,1,1,354,1,CSH,6 +CMT,1,1,984,4.6,CSH,16.5 +CMT,1,1,888,3,CRD,12.5 +CMT,1,1,689,3.3,CRD,12 +CMT,1,1,676,1.6,CRD,9 +CMT,1,1,846,2.2,CRD,11 +CMT,1,1,345,0.9,CRD,5.5 +CMT,1,1,895,2.6,CRD,12 +CMT,1,1,989,6.5,CSH,20.5 +CMT,1,1,401,1,CSH,6.5 +CMT,1,2,769,1.9,CRD,10.5 +CMT,1,2,197,1,CRD,5 +CMT,1,3,651,3.2,CRD,11.5 +CMT,1,1,162,0.3,CSH,4 +CMT,1,1,1282,7.8,CSH,25 +CMT,1,4,728,3,CSH,12.5 +CMT,1,1,423,2,CSH,8.5 +CMT,1,1,312,1.3,CRD,6.5 +CMT,1,1,411,0.9,CRD,6.5 +CMT,1,1,326,1.1,CRD,6 +CMT,1,1,412,1.8,CRD,7.5 +CMT,1,1,432,0.7,CRD,6.5 +CMT,1,1,1042,2,CRD,12.5 +CMT,1,1,249,0.9,CSH,5 +CMT,1,1,827,2.7,CSH,12.5 +CMT,1,1,574,2.6,CRD,11 +CMT,1,1,69,0.5,CSH,3.5 +CMT,1,1,130,0.6,CSH,4 +CMT,1,1,1162,4.4,CSH,17.5 +CMT,1,1,204,0.5,CRD,4.5 +CMT,1,1,1138,2.6,CRD,13.5 +CMT,1,1,644,1.5,CSH,8.5 +CMT,1,1,452,1,CRD,7 +CMT,1,1,592,4.7,CRD,14.5 +CMT,1,1,1002,6,CSH,19.5 +CMT,1,1,323,1.3,CRD,6.5 +CMT,1,1,778,3.9,CRD,13.5 +CMT,1,1,411,1.7,CRD,7.5 +CMT,1,1,605,2.5,CSH,10 +CMT,1,1,1220,2.7,CRD,14 +CMT,1,1,474,1.1,CSH,7 +CMT,1,1,438,1.5,CSH,7.5 +CMT,1,1,243,0.9,CSH,5 +CMT,1,1,967,3.8,CSH,14.5 +CMT,1,1,312,1,CRD,6 +CMT,1,1,1,0,CSH,2.5 +CMT,1,1,172,0.8,CSH,4.5 +CMT,1,1,712,3.1,CRD,12 +CMT,1,1,461,2.2,CSH,8.5 +CMT,1,1,512,1.6,CSH,8 +CMT,1,1,215,0.6,CSH,4.5 +CMT,1,1,410,1.1,CRD,6.5 +CMT,1,1,97,0.5,CRD,3.5 +CMT,1,1,1293,6.3,CRD,21.5 +CMT,1,1,650,2.2,CSH,9.5 +CMT,1,1,851,2.9,CSH,12 +CMT,1,1,468,1.6,CRD,7.5 +CMT,1,1,660,2.9,CRD,11.5 +CMT,1,1,531,1.7,CRD,8.5 +CMT,1,1,837,3.2,CSH,12.5 +CMT,1,1,507,2.4,CRD,9.5 +CMT,1,1,698,3.1,CRD,11.5 +CMT,1,1,1090,3.4,CSH,14.5 +CMT,1,1,1905,6.4,CRD,23.5 +CMT,1,1,1105,3.1,CSH,14 +CMT,1,1,252,0.5,CSH,4.5 +CMT,1,1,223,1.3,CSH,5.5 +CMT,1,1,640,1,CSH,8 +CMT,1,1,1858,11.4,CRD,33.5 +CMT,1,1,603,2.5,CRD,10 +CMT,1,1,199,1,CRD,5 +CMT,1,1,630,1.4,CRD,8.5 +CMT,1,1,398,1.5,CSH,7 +CMT,1,1,952,5.5,CSH,17 +CMT,1,1,947,6.9,CRD,21 +CMT,1,1,855,6,CRD,19.5 +CMT,1,1,573,0.9,CRD,7.5 +CMT,1,1,471,1.4,CRD,7.5 +CMT,1,1,903,5,CSH,17 +CMT,1,1,500,0.8,CRD,7 +CMT,1,1,446,1.8,CRD,8 +CMT,1,1,1126,5.7,CRD,19 +CMT,1,1,624,2.8,CRD,10 +CMT,1,1,645,1.2,CRD,8.5 +CMT,1,1,705,2.2,CSH,10 +CMT,1,1,800,2.9,CRD,12 +CMT,1,1,613,1.6,CRD,8.5 +CMT,1,1,512,2.2,CSH,9 +CMT,1,1,602,1.8,CRD,9.5 +CMT,1,1,1219,5.8,CSH,19 +CMT,1,1,586,1.7,CRD,8.5 +CMT,1,1,2116,8.6,CRD,30 +CMT,1,1,516,1.9,CRD,8.5 +CMT,1,1,331,0.9,CRD,5.5 +CMT,1,1,1095,3.5,CSH,14.5 +CMT,1,1,252,0.8,CRD,5 +CMT,1,1,374,1.3,CRD,6.5 +CMT,1,1,758,3,CSH,11.5 +CMT,1,1,319,1.4,CSH,6.5 +CMT,1,1,858,2.5,CRD,11.5 +CMT,1,1,616,1.6,CSH,8.5 +CMT,1,1,745,0.9,CSH,9 +CMT,1,1,966,3.7,CRD,14 +CMT,1,1,369,1.2,CSH,6.5 +CMT,1,1,917,5.7,CSH,19 +CMT,1,1,249,1.2,CSH,6 +CMT,1,1,514,2.2,CRD,9.5 +CMT,1,1,821,1.7,CSH,10.5 +CMT,1,1,548,1,CRD,7.5 +CMT,1,1,1504,7.3,CSH,24.5 +CMT,1,1,435,0.8,CRD,6.5 +CMT,1,1,171,1,CSH,5 +CMT,1,1,255,0.8,CRD,5 +CMT,1,1,904,3.5,CRD,14 +CMT,1,1,488,1.9,CRD,8.5 +CMT,1,1,983,3.7,CRD,14.5 +CMT,1,1,742,2.3,CSH,10.5 +CMT,1,1,649,2.8,CRD,11 +CMT,1,1,185,1.6,CSH,6 +CMT,1,1,2415,5.3,CRD,26 +CMT,1,1,615,2.9,CSH,11 +CMT,1,1,671,1.5,CSH,9 +CMT,1,1,389,1.3,CRD,6.5 +CMT,1,1,1,0,CSH,2.5 +CMT,1,1,365,0.9,CRD,6 +CMT,1,1,657,2.3,CRD,10 +CMT,1,1,182,0.8,CSH,4.5 +CMT,1,1,143,0.4,CSH,3.5 +CMT,1,1,469,2.1,CSH,8.5 +CMT,1,1,1021,5.3,CSH,18 +CMT,1,1,266,1,CRD,5.5 +CMT,1,1,224,1.1,CRD,5.5 +CMT,1,1,1007,3.6,CSH,14.5 +CMT,1,1,135,0.7,CSH,4 +CMT,1,1,1022,2.5,CSH,12 +CMT,1,1,1234,6.5,CSH,20 +CMT,1,1,779,3.2,CSH,12.5 +CMT,1,1,1173,6.3,CRD,21 +CMT,1,1,334,0.8,CSH,5.5 +CMT,1,1,627,1.9,CRD,9 +CMT,1,1,916,1.7,CRD,11 +CMT,1,1,355,1.3,CSH,6.5 +CMT,1,1,1160,11.8,CRD,33 +CMT,1,1,511,1.8,CRD,8.5 +CMT,1,1,218,0.8,CRD,5 +CMT,1,1,684,2.6,CRD,11 +CMT,1,1,301,0.8,CSH,5.5 +CMT,1,1,364,1.7,CRD,7.5 +CMT,1,1,457,1.3,CRD,7 +CMT,1,1,641,1.9,CRD,9 +CMT,1,1,693,3.9,CRD,13 +CMT,1,1,177,0.8,CRD,4.5 +CMT,1,1,330,2.2,CSH,8 +CMT,1,1,643,0.6,CRD,7.5 +CMT,1,4,809,6.1,CRD,19 +CMT,1,1,251,1.1,CSH,5.5 +CMT,1,1,498,2.5,CSH,10 +CMT,1,4,954,5.4,CSH,18.5 +CMT,1,1,257,1.2,CRD,6 +CMT,1,1,326,1.3,CRD,7 +CMT,1,1,1327,10.6,CSH,30.5 +CMT,1,1,438,3,CRD,10 +CMT,1,1,498,1.5,CRD,8 +CMT,1,1,1352,2.5,CSH,15 +CMT,1,1,231,0.4,CRD,4.5 +CMT,1,1,1611,8.8,CSH,28 +CMT,1,3,514,3.1,CRD,10.5 +CMT,1,1,589,1.1,CRD,8 +CMT,1,1,502,1,CRD,7 +CMT,1,1,555,3,CRD,10.5 +CMT,1,1,499,1.2,CRD,7 +CMT,1,2,902,1.6,CSH,10.5 +CMT,1,1,207,0.7,CRD,4.5 +CMT,1,1,445,1.3,CSH,7 +CMT,1,1,517,1.8,CSH,8 +CMT,1,1,565,1.8,CSH,9 +CMT,1,1,190,0.9,CSH,5 +CMT,1,1,252,1.2,CRD,5.5 +CMT,1,1,516,1.8,CRD,8 +CMT,1,2,363,0.9,CSH,6 +CMT,1,1,563,2.3,CSH,10 +CMT,1,2,398,1.1,CSH,6.5 +CMT,1,1,485,2,CSH,9 +CMT,1,3,880,3.3,CSH,13.5 +CMT,1,2,505,2.1,CSH,9 +CMT,1,1,622,2.5,CSH,10.5 +CMT,1,1,97,0.4,CSH,3.5 +CMT,1,1,645,1,CRD,8 +CMT,1,1,1083,3.9,CRD,15.5 +CMT,1,1,352,2,CSH,8 +CMT,1,1,489,1.6,CRD,8 +CMT,1,1,196,0.8,CSH,4.5 +CMT,1,1,1020,3.7,CSH,15 +CMT,1,1,1614,3.6,CSH,19 +CMT,1,1,717,1.4,CRD,9.5 +CMT,1,1,779,3.3,CRD,12.5 +CMT,1,1,73,0.3,CSH,3 +CMT,1,1,950,1.8,CSH,11.5 +CMT,1,1,801,2.1,CRD,10.5 +CMT,1,1,443,2.1,CSH,8.5 +CMT,1,1,384,1.7,CRD,8 +CMT,1,1,369,1.7,CSH,7.5 +CMT,1,2,327,1.2,CSH,6.5 +CMT,1,2,732,2.9,CRD,11.5 +CMT,1,1,848,3,CRD,13 +CMT,1,1,37,0.1,CSH,2.5 +CMT,1,2,337,1,CSH,6 +CMT,1,1,250,0.8,CSH,5 +CMT,1,2,273,0.9,CRD,5.5 +CMT,5,2,2712,18.2,CRD,57.3 +CMT,1,1,397,0.8,CRD,6 +CMT,1,1,698,1.8,CSH,9.5 +CMT,1,1,378,1.5,CSH,7.5 +CMT,1,1,162,1,CSH,5 +CMT,1,1,721,2.7,CSH,11 +CMT,1,1,625,2.6,CRD,10.5 +CMT,1,2,1100,3.5,CSH,14.5 +CMT,1,1,159,0.5,CSH,4 +CMT,1,1,1455,4.3,CRD,18.5 +CMT,1,1,786,1.1,CRD,9.5 +CMT,1,3,1035,3.1,CSH,13.5 +CMT,1,1,508,1.7,CSH,8.5 +CMT,4,1,1456,5.2,CSH,19.5 +CMT,1,1,208,0.8,CRD,4.5 +CMT,1,1,946,6,CSH,19.5 +CMT,1,1,1140,4,CSH,16 +CMT,1,1,798,2.5,CSH,11.5 +CMT,1,1,248,0.9,CRD,5 +CMT,1,1,274,0.7,CSH,5 +CMT,1,1,2,0,CSH,2.5 +CMT,1,1,702,0.6,CSH,8 +CMT,1,1,652,1.3,CRD,8.5 +CMT,1,1,1048,3,CRD,13.5 +CMT,1,1,855,4.3,CSH,15.5 +CMT,1,1,891,2.9,CSH,13 +CMT,1,1,840,1.2,CSH,10 +CMT,1,1,430,1.4,CSH,7 +CMT,1,1,568,2.1,CRD,9 +CMT,1,1,714,4.5,CRD,14.5 +CMT,1,1,226,1,CRD,5 +CMT,1,2,591,1.7,CSH,8.5 +CMT,1,4,900,4.4,CRD,16 +CMT,1,3,212,0.9,CSH,5 +CMT,1,1,683,4.2,CSH,14 +CMT,1,1,324,1.2,CRD,6 +CMT,1,1,136,0.7,CSH,4 +CMT,1,1,561,2.4,CRD,10.5 +CMT,1,2,1571,11.1,CSH,33.5 +CMT,1,1,505,1.5,CSH,8 +CMT,1,1,390,1.4,CRD,7 +CMT,1,1,1032,4,CSH,15.5 +CMT,1,1,529,1.8,CSH,8.5 +CMT,1,1,567,2.1,CRD,9 +CMT,1,1,210,1,CSH,5 +CMT,1,1,173,1,CSH,4.5 +CMT,1,4,601,2.5,CRD,10.5 +CMT,1,3,1613,8.7,CSH,29 +CMT,1,1,428,1.5,CSH,7.5 +CMT,1,1,186,1,CSH,5.5 +CMT,1,1,255,0.8,CSH,5 +CMT,1,4,768,3.1,CSH,12.5 +CMT,1,3,750,2.7,CSH,11.5 +CMT,1,2,406,1.9,CRD,8 +CMT,1,3,671,2,CSH,10 +CMT,1,1,299,2.1,CSH,7.5 +CMT,1,3,703,2.3,CSH,10.5 +CMT,1,1,1133,4.3,CSH,17 +CMT,1,1,1088,2.2,CSH,12.5 +CMT,1,1,1233,2.8,CRD,14 +CMT,1,1,184,0.6,CRD,4.5 +CMT,1,1,871,3.6,CSH,13.5 +CMT,1,1,735,2.3,CSH,10.5 +CMT,1,1,491,2.6,CRD,9.5 +CMT,1,1,879,3.2,CRD,14 +CMT,1,1,940,5.9,CRD,18.5 +CMT,1,2,449,1.9,CRD,8.5 +CMT,1,1,154,0.6,CSH,4.5 +CMT,1,4,889,2.6,CSH,12.5 +CMT,1,2,1216,2.8,CRD,15 +CMT,1,3,1461,10.4,CSH,31.5 +CMT,1,1,389,1.5,CRD,7 +CMT,1,1,298,1.1,CSH,6 +CMT,1,1,358,1.8,CRD,7.5 +CMT,1,1,166,0.6,CSH,4 +CMT,1,2,508,1.6,CSH,8 +CMT,1,4,363,0.6,CSH,5.5 +CMT,1,1,461,1.7,CRD,8 +CMT,1,1,535,1.9,CRD,9 +CMT,1,1,384,1.1,CRD,6.5 +CMT,1,1,911,2.1,CSH,12 +CMT,1,1,817,3,CSH,12 +CMT,1,1,787,3.9,CRD,14.5 +CMT,1,1,1539,9,CRD,28.5 +CMT,1,1,5,0,CSH,2.5 +CMT,1,2,485,1.7,CRD,8.5 +CMT,1,1,259,1.1,CSH,6 +CMT,1,1,813,3.5,CRD,14 +CMT,1,1,811,1.7,CSH,10.5 +CMT,1,1,1499,3.8,CSH,18 +CMT,1,1,1006,0.7,CSH,8 +CMT,1,1,569,2.7,CRD,10 +CMT,1,1,95,0.4,CRD,3.5 +CMT,1,1,873,4,CRD,14.5 +CMT,1,3,531,1.8,CSH,9 +CMT,1,1,1105,6.4,CRD,22 +CMT,1,1,812,4.4,CSH,15 +CMT,4,1,1342,5.4,CSH,21 +CMT,5,2,2070,17.4,CRD,57.3 +CMT,1,2,2528,10.9,CRD,39 +CMT,1,1,377,1.3,CRD,6.5 +CMT,1,1,493,1.4,CSH,7.5 +CMT,1,1,704,1.6,CRD,9 +CMT,1,1,501,2.1,CRD,9 +CMT,1,1,354,1.5,CSH,7 +CMT,1,1,763,1.9,CRD,10.5 +CMT,1,1,1457,9.4,CRD,29 +CMT,1,1,556,1.3,CRD,8 +CMT,1,1,219,0.3,CRD,3.5 +CMT,1,1,398,1.4,CSH,7 +CMT,1,2,556,1.9,CSH,9 +CMT,1,1,206,1,CSH,5.5 +CMT,1,2,1184,2.9,CRD,15 +CMT,1,2,285,0.7,CSH,5 +CMT,1,1,484,1.8,CRD,8 +CMT,1,1,695,2,CRD,10 +CMT,1,2,356,1,CRD,6 +CMT,1,2,209,0.7,CRD,4.5 +CMT,1,1,395,1.2,CSH,6.5 +CMT,1,1,1368,8.4,CSH,26.5 +CMT,1,1,733,2,CRD,10 +CMT,1,2,298,1.5,CRD,6.5 +CMT,1,1,198,0.3,CRD,4 +CMT,1,1,198,1,CSH,5 +CMT,1,2,613,1.7,CSH,8.5 +CMT,1,1,429,2.5,CRD,9 +CMT,1,2,405,2,CRD,8.5 +CMT,1,2,467,1.1,CSH,7 +CMT,1,2,376,1.2,CRD,6.5 +CMT,1,1,743,4,CRD,13.5 +CMT,1,1,166,0.7,CRD,4.5 +CMT,1,1,550,1.7,CRD,8.5 +CMT,1,1,263,0.7,CSH,5 +CMT,1,2,1820,4.3,CRD,20.5 +CMT,1,2,680,1.4,CRD,9 +CMT,1,1,729,2.6,CRD,11 +CMT,1,1,267,0.6,CRD,5 +CMT,1,1,149,0.5,CSH,4 +CMT,1,1,799,2,CSH,10 +CMT,1,1,249,1,CSH,5.5 +CMT,1,1,575,0.8,CRD,7.5 +CMT,1,1,954,3.4,CSH,13.5 +CMT,1,1,293,1.2,CSH,6 +CMT,2,3,2197,18.7,CSH,52 +CMT,1,2,344,0.5,CRD,5.5 +CMT,1,3,691,2.5,CRD,10.5 +CMT,1,1,830,2.9,CRD,12 +CMT,1,1,1471,7.4,CSH,24.5 +CMT,1,2,382,1.1,CRD,6.5 +CMT,1,1,984,4.7,CSH,16.5 +CMT,1,2,1021,2.7,CRD,13 +CMT,1,1,636,1.6,CSH,9 +CMT,1,2,1972,14.3,CRD,41.5 +CMT,1,1,248,0.9,CSH,5 +CMT,1,1,454,1.4,CSH,7 +CMT,1,1,904,2.4,CSH,11.5 +CMT,1,2,1142,2.4,CRD,14 +CMT,1,1,459,2.1,CSH,8.5 +CMT,1,1,284,1.2,CRD,6 +CMT,1,1,496,1.4,CSH,7.5 +CMT,1,1,568,2.5,CSH,10 +CMT,1,1,613,2.2,CSH,10 +CMT,1,1,362,1,CRD,6 +CMT,1,1,623,1.8,CSH,8.5 +CMT,1,1,1259,2.5,CSH,14 +CMT,1,1,208,0.6,CSH,4.5 +CMT,1,1,495,1.8,CRD,8.5 +CMT,1,1,1245,5.4,CSH,19 +CMT,1,1,402,1.9,CRD,8 +CMT,1,1,717,2.5,CRD,11 +CMT,1,1,1471,3.4,CSH,17.5 +CMT,1,1,1153,5.6,CSH,19.5 +CMT,1,1,735,3.6,CRD,12.5 +CMT,1,1,1,0,CSH,2.5 +CMT,1,1,297,1.9,CRD,7.5 +CMT,1,1,131,0.2,CSH,3.5 +CMT,1,1,292,0.8,CRD,5 +CMT,1,1,2048,3.8,CSH,21 +CMT,1,1,1094,3.6,CRD,15.5 +CMT,1,1,1,0,CSH,2.5 +CMT,1,1,894,1.8,CRD,11 +CMT,1,1,524,1.1,CSH,7.5 +CMT,1,1,778,4.1,CRD,13.5 +CMT,1,1,696,1.9,CRD,10 +CMT,1,1,409,1.7,CRD,8 +CMT,1,2,889,5,CSH,17 +CMT,1,1,387,2.7,CSH,9.5 +CMT,1,2,371,1.2,CRD,6.5 +CMT,1,3,1541,9.3,CSH,29 +CMT,1,1,73,0.4,CRD,3 +CMT,1,1,481,1.2,CSH,7 +CMT,1,1,253,0.6,CSH,5 +CMT,1,1,311,1,CSH,5.5 +CMT,1,1,1163,3.4,CRD,15.5 +CMT,1,1,581,1.7,CSH,8 +CMT,1,1,1276,4.1,CRD,17 +CMT,1,1,235,0.9,CRD,5 +CMT,1,1,954,1.1,CRD,11 +CMT,1,1,116,0.6,CSH,4 +CMT,1,1,1095,2.3,CRD,13 +CMT,1,1,492,1.3,CRD,7.5 +CMT,1,1,537,1.1,CRD,7.5 +CMT,1,1,1126,1.9,CSH,13 +CMT,1,1,864,3,CRD,12.5 +CMT,1,1,882,9.2,CSH,26 +CMT,1,1,2440,15.1,CRD,47.5 +CMT,1,1,562,1.3,CRD,8 +CMT,1,1,614,0.7,CSH,7.5 +CMT,2,1,3121,18.6,CSH,52 +CMT,1,1,587,1.9,CSH,9 +CMT,1,1,150,0.3,CSH,3.5 +CMT,1,1,538,0.9,CSH,7.5 +CMT,1,1,859,4,CRD,14 +CMT,1,1,183,0.7,CRD,4.5 +CMT,1,2,313,1.4,CRD,6.5 +CMT,1,1,750,3.5,CRD,13 +CMT,1,3,516,1.8,CSH,8.5 +CMT,1,1,345,2.1,CRD,8 +CMT,1,4,871,2.6,CRD,12 +CMT,1,1,1433,12.5,CRD,36 +CMT,1,2,442,1.1,CRD,6.5 +CMT,1,1,316,0.5,CSH,5 +CMT,1,1,1435,6.1,CSH,22.5 +CMT,1,2,1001,9.4,CSH,26 +CMT,1,1,272,0.8,CRD,5.5 +CMT,1,1,468,1.5,CSH,7.5 +CMT,1,1,641,3.6,CRD,12.5 +CMT,1,1,856,4.3,CSH,15 +CMT,1,1,349,0.5,CSH,5.5 +CMT,1,1,203,1,CRD,5 +CMT,1,1,345,1.8,CRD,7.5 +CMT,4,1,1683,18.2,CSH,57 +CMT,1,4,95,0.1,CSH,3 +CMT,1,1,840,3.1,CSH,12.5 +CMT,1,2,2056,7.2,CSH,28 +CMT,1,2,236,1,CRD,5.5 +CMT,1,1,739,3.1,CRD,12 +CMT,1,2,473,2.4,CSH,9.5 +VTS,1,3,1260,6.57,CSH,23 +VTS,1,1,720,2.6,CRD,11 +VTS,1,1,1080,8.72,CRD,25 +VTS,1,1,1260,8.95,CSH,27.5 +VTS,1,1,300,1.26,CSH,6 +VTS,1,1,120,0.37,CRD,4 +VTS,1,3,900,3.65,CRD,14 +VTS,1,2,1440,7.44,CSH,24 +VTS,1,1,240,0.89,CRD,5 +VTS,1,1,480,1.07,CRD,6.5 +VTS,1,2,1200,6.94,CRD,22 +VTS,1,1,300,1.35,CRD,6.5 +CMT,1,1,1816,10.7,CSH,33.5 +CMT,1,1,649,3.2,CRD,12 +CMT,1,2,154,0.4,CRD,4 +CMT,1,1,283,1,CRD,5.5 +CMT,1,1,693,1.8,CRD,10 +CMT,1,2,287,1.2,CSH,6 +CMT,4,1,491,3,CRD,11 +CMT,1,2,634,1.8,CSH,9 +CMT,1,1,385,1.5,CRD,7 +CMT,1,1,533,2.4,CSH,10 +CMT,1,1,311,0.9,CRD,5.5 +CMT,1,1,526,1.9,CRD,8.5 +CMT,1,4,762,3.2,CSH,12 +CMT,1,1,402,1,CRD,6.5 +CMT,1,3,406,1.5,CRD,7 +CMT,1,2,621,2.5,CRD,10.5 +CMT,1,1,591,3.2,CRD,11.5 +CMT,1,1,359,1,CRD,6 +CMT,1,1,799,3.5,CSH,13 +CMT,1,1,692,1.7,CRD,9.5 +CMT,1,1,484,1.2,CRD,7 +CMT,1,1,530,1.8,CRD,8.5 +CMT,1,1,649,3.2,CRD,12.5 +CMT,1,1,989,2.8,CRD,12.5 +CMT,1,1,344,1.7,CSH,7.5 +CMT,1,3,812,2.4,CRD,11 +CMT,1,1,373,0.7,CRD,6 +CMT,1,1,768,1.9,CSH,10 +CMT,1,1,386,1.2,CSH,6.5 +CMT,1,1,799,2.2,CRD,10.5 +CMT,1,4,751,1.9,CRD,10.5 +CMT,1,1,1318,6.9,CRD,24 +CMT,1,2,280,1.1,CSH,6 +VTS,1,1,300,0.73,CSH,5 +VTS,1,1,1080,9.5,CSH,27.5 +VTS,1,1,900,7.58,CRD,23 +VTS,1,2,540,1.19,CRD,7.5 +VTS,1,2,360,1.48,CRD,7 +VTS,1,2,180,0.45,CRD,4 +VTS,1,1,660,3.18,CRD,12 +VTS,1,1,300,1.15,CRD,5.5 +VTS,4,3,60,0,CSH,2.5 +VTS,1,2,480,1.67,CRD,8.5 +VTS,1,1,540,3.55,CSH,12 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,2,780,1.04,CRD,9 +VTS,1,2,600,2.63,CSH,10.5 +VTS,1,1,300,1.27,CRD,6 +VTS,1,1,960,5.9,CRD,19 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,2,480,1.92,CRD,8.5 +VTS,1,1,540,1.8,CSH,8.5 +CMT,1,1,683,2,CRD,9.5 +CMT,1,1,844,2.8,CRD,12.5 +CMT,1,1,277,0.9,CRD,5.5 +CMT,1,1,498,1.8,CSH,8 +CMT,1,1,374,1.3,CRD,6.5 +CMT,1,1,479,2.1,CSH,9 +CMT,1,1,401,1.2,CSH,7 +CMT,1,1,859,4.3,CSH,14.5 +CMT,1,1,727,3.3,CSH,12.5 +CMT,1,1,248,0.9,CSH,5 +CMT,1,1,262,1,CSH,5.5 +CMT,1,1,523,2.1,CRD,9 +CMT,1,1,221,0.9,CSH,5 +CMT,1,1,348,2.2,CSH,8 +CMT,1,2,423,1.8,CSH,8 +CMT,1,1,461,1.8,CRD,8 +CMT,1,2,402,3.2,CRD,11 +CMT,1,1,656,2.3,CSH,9.5 +CMT,1,2,1327,5,CRD,19 +CMT,1,2,1279,5.2,CRD,19 +CMT,1,1,432,2,CRD,8 +CMT,1,4,374,1.7,CRD,7.5 +CMT,1,2,1122,4.7,CSH,17.5 +CMT,1,1,954,4.4,CSH,16 +CMT,1,1,233,0.5,CSH,4.5 +CMT,1,1,300,1.1,CRD,6 +CMT,1,1,285,0.9,CRD,5.5 +CMT,1,1,361,1,CSH,6.5 +CMT,1,1,535,1.6,CRD,8 +CMT,1,1,315,1.1,CSH,6 +CMT,1,1,361,1.4,CRD,7 +CMT,1,1,1380,7.2,CSH,24 +CMT,1,1,804,2.2,CSH,11 +CMT,1,1,985,1.6,CRD,11.5 +CMT,1,1,1398,7.1,CSH,23.5 +CMT,1,3,802,2.6,CSH,12 +CMT,1,1,319,0.9,CSH,6 +CMT,1,1,955,4.6,CSH,16 +CMT,1,1,259,1.4,CSH,6 +CMT,1,1,546,2.1,CRD,9 +CMT,1,2,882,2,CSH,11 +CMT,1,2,754,2.5,CRD,11.5 +CMT,1,1,879,1.8,CRD,11 +CMT,1,2,432,1.5,CSH,7.5 +CMT,1,2,182,0.9,CRD,5 +CMT,1,2,779,7.9,CRD,22.5 +CMT,1,1,757,2.4,CSH,11 +CMT,1,1,119,0.8,CRD,4.5 +CMT,1,3,472,1,CRD,7 +CMT,1,1,687,2.5,CSH,10.5 +CMT,1,1,484,3,CRD,10.5 +CMT,1,1,294,1.2,CSH,6 +VTS,1,1,360,1.84,CSH,7.5 +VTS,1,2,720,3.79,CRD,13.5 +VTS,1,1,840,3.69,CRD,13 +VTS,1,1,360,1.22,CRD,6 +VTS,1,1,240,1.23,CRD,5.5 +VTS,1,2,420,1.89,CSH,8 +VTS,1,2,120,0.43,CSH,3.5 +VTS,1,1,300,0.95,CRD,6 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,2,300,1.24,CSH,6 +VTS,1,2,780,2.75,CSH,11 +VTS,1,1,600,1.85,CSH,8.5 +VTS,1,1,240,0.42,CSH,4 +VTS,1,1,2640,8.84,CRD,31 +VTS,1,1,300,1.5,CSH,6.5 +VTS,1,3,240,0.63,CSH,4.5 +VTS,1,2,720,1.49,CSH,9 +VTS,1,1,900,4.66,CRD,16.5 +VTS,1,2,1800,9.98,CSH,32 +VTS,1,2,1200,4.35,CRD,16.5 +VTS,1,2,900,2.31,CSH,12.5 +VTS,1,3,600,1.43,CRD,8.5 +VTS,1,1,1140,5.54,CRD,19 +VTS,1,1,780,6.24,CSH,19 +VTS,1,2,660,2.95,CSH,11.5 +VTS,1,2,240,1.15,CSH,6 +CMT,1,1,601,4.7,CRD,14.5 +CMT,1,1,669,3.2,CRD,12 +CMT,1,1,1276,3,CSH,15.5 +CMT,1,4,2129,17.2,CSH,48.5 +CMT,1,1,1222,5.9,NOC,20 +CMT,1,1,327,1.1,CSH,6 +CMT,1,1,384,1.4,CSH,7 +CMT,1,1,400,1.5,CSH,7 +CMT,1,1,648,2.1,CSH,9.5 +CMT,1,1,741,2.8,CSH,12 +CMT,1,1,402,1.8,CRD,8 +CMT,1,1,516,1.5,CRD,8 +CMT,1,1,1448,9.9,CRD,30.5 +CMT,1,1,512,1.5,CRD,7.5 +CMT,2,1,2605,18.3,CRD,52 +CMT,1,1,630,2.4,CSH,10.5 +CMT,1,1,941,8.3,CSH,25 +VTS,1,3,1620,10.04,CRD,31.5 +VTS,1,1,660,1.9,CSH,9 +VTS,1,2,660,2.41,CRD,11 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,1,360,0.41,CRD,5 +VTS,1,2,720,4.61,CSH,15.5 +VTS,1,1,1320,9.02,CRD,26.5 +VTS,1,1,360,1.03,CRD,6 +VTS,1,1,600,2.01,CRD,10 +CMT,1,1,216,0.6,CRD,4.5 +CMT,1,1,725,2.2,CRD,10.5 +CMT,1,1,398,1.5,CSH,7 +CMT,1,1,617,1.7,CSH,9 +CMT,1,1,217,1.1,CRD,5.5 +CMT,1,2,927,4.6,CSH,16.5 +CMT,1,1,1628,10.3,CRD,32 +CMT,1,1,350,1.1,CSH,6 +CMT,1,3,220,1.5,CRD,6.5 +CMT,1,1,844,1.6,CRD,10.5 +CMT,1,1,7,0,CSH,2.5 +CMT,1,1,300,0.8,CRD,5.5 +CMT,1,1,756,3.5,CRD,13 +CMT,1,1,251,0.7,CSH,5 +CMT,1,3,396,1.2,CSH,7 +CMT,1,4,816,2.5,CRD,11.5 +CMT,1,2,318,1.9,CSH,7 +CMT,1,1,282,0.9,CSH,5.5 +CMT,1,2,653,2.2,CSH,10 +CMT,1,2,327,1,CSH,6 +CMT,1,2,1177,3.7,CRD,16.5 +CMT,1,1,643,1.9,CRD,9 +CMT,1,2,812,2.3,CSH,11 +CMT,1,2,1326,6.9,CRD,23.5 +CMT,1,1,888,5.5,CSH,18 +CMT,1,1,1128,5,CRD,17.5 +CMT,1,1,306,1.3,CSH,6 +CMT,1,1,776,2.6,CSH,11 +CMT,1,1,600,3.4,CRD,12.5 +CMT,1,1,1328,3.4,CRD,16 +CMT,1,1,97,0.6,CSH,4 +CMT,1,1,1338,3.5,CSH,16 +CMT,1,1,1272,2.9,CRD,15 +CMT,1,1,268,0.9,CSH,5 +CMT,1,1,307,0.9,CRD,5.5 +CMT,1,1,1528,3.6,CSH,18.5 +CMT,1,1,647,1.1,CSH,8.5 +CMT,1,1,664,2.7,CSH,10.5 +CMT,1,1,207,0.7,CSH,4.5 +CMT,1,1,5,0,NOC,2.5 +CMT,1,2,486,2.2,CRD,8.5 +CMT,1,1,717,1.6,CRD,9.5 +CMT,1,4,512,1,CRD,7.5 +CMT,1,3,570,1.8,CRD,9 +CMT,1,2,503,1.1,CSH,7 +CMT,1,1,291,1.4,CSH,6.5 +VTS,1,1,1320,8.65,CSH,27.5 +VTS,1,2,540,4.07,CSH,13.5 +VTS,1,2,960,8.15,CRD,24.5 +VTS,1,1,300,1.06,CSH,6 +VTS,1,2,360,0.81,CSH,6 +VTS,1,1,480,1.33,CSH,7 +CMT,1,1,156,0.7,CRD,4 +CMT,1,1,804,1.7,CRD,10 +CMT,1,1,400,0.9,CSH,6.5 +CMT,1,1,470,1.7,CSH,8 +CMT,1,1,585,1.7,CRD,9 +CMT,1,1,1446,13.1,CSH,36.5 +CMT,1,1,428,1.6,CRD,7.5 +CMT,1,1,453,1.1,CRD,7 +CMT,1,1,373,1,CRD,6 +CMT,1,1,487,1.2,CSH,7.5 +CMT,1,1,864,2.2,CRD,11.5 +CMT,1,2,805,2.5,CRD,12 +CMT,1,1,1717,11.5,CRD,34.5 +CMT,1,3,1020,1.8,CSH,12 +CMT,1,2,427,2.1,CSH,8.5 +VTS,1,3,660,1.35,CRD,8.5 +VTS,1,1,900,5.66,CSH,18 +VTS,1,1,480,2.61,CRD,10 +VTS,1,2,300,1.2,CSH,6 +VTS,1,1,240,1.15,CRD,5.5 +VTS,1,2,120,0.89,CSH,4.5 +VTS,1,1,600,2.14,CRD,9.5 +VTS,1,2,1020,3.01,CSH,12.5 +VTS,1,2,540,1.49,CRD,7.5 +VTS,1,2,180,0.69,CSH,4.5 +VTS,1,1,900,3.84,CRD,14 +VTS,1,2,540,1.81,CSH,8.5 +VTS,1,1,840,2.93,CRD,12 +VTS,1,2,780,2.1,CSH,10 +VTS,1,2,1020,3.16,CRD,13.5 +VTS,1,2,240,0.28,CRD,4.5 +VTS,1,2,540,2.29,CRD,10 +VTS,1,2,300,1.11,CRD,6 +VTS,1,1,1080,6.85,CSH,21 +VTS,1,1,780,2.12,CRD,10 +VTS,1,4,1140,5.39,CSH,19 +VTS,1,1,600,2,CRD,9 +VTS,1,1,900,3.76,CSH,13.5 +VTS,1,2,660,2.31,CRD,10.5 +VTS,1,1,360,0.75,CRD,5.5 +VTS,1,1,360,1.61,CSH,7.5 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,720,3.1,CSH,11.5 +VTS,1,2,1020,3.94,CRD,15.5 +VTS,1,1,1020,3.59,CSH,14.5 +VTS,1,1,540,1.35,CRD,8.5 +VTS,1,2,900,5.65,CSH,17.5 +VTS,1,1,540,2.35,CSH,9.5 +VTS,1,1,600,1.85,CRD,9.5 +VTS,1,4,840,2,CSH,11 +VTS,1,2,360,0.67,CSH,6 +VTS,1,2,300,1.1,CRD,6 +VTS,1,2,900,3.25,CRD,13 +VTS,1,1,480,1.23,CSH,7 +VTS,1,3,480,1.52,CSH,8 +VTS,1,2,360,1.25,CSH,6 +VTS,1,3,540,0.98,CRD,7.5 +VTS,1,2,240,1.29,CRD,6 +VTS,1,1,420,1.57,CRD,7 +VTS,1,2,540,1.31,CRD,8 +VTS,1,1,240,0.81,CRD,5 +VTS,1,3,540,1.11,CSH,7.5 +VTS,1,1,840,3.99,CSH,15 +VTS,1,1,660,5.93,CRD,17.5 +VTS,1,1,360,1.84,CSH,8 +VTS,1,1,720,4.97,CSH,16.5 +VTS,1,1,480,0.85,CRD,6.5 +VTS,1,1,900,4.06,CRD,14.5 +VTS,1,2,300,1.39,CRD,6.5 +VTS,1,2,900,2.91,CRD,12 +VTS,1,3,960,3.76,CSH,14.5 +VTS,1,2,540,0.88,CRD,6 +VTS,1,1,360,0.91,CRD,6 +VTS,1,1,900,4.08,CSH,14.5 +VTS,1,2,1020,3.6,CSH,15 +VTS,1,2,240,0.64,CSH,4.5 +VTS,1,1,240,0.91,CSH,5.5 +VTS,1,3,360,1.07,CRD,6.5 +VTS,1,2,1260,6.29,CRD,20.5 +VTS,1,1,240,0.88,CSH,5 +VTS,1,1,2400,8.53,CSH,31.5 +VTS,5,1,1020,4.91,CRD,45 +VTS,1,1,1140,5.39,CSH,19 +VTS,1,2,1200,4.8,CRD,18 +VTS,1,3,240,1.21,CSH,5.5 +VTS,1,1,1440,9.66,CRD,30 +VTS,1,1,720,2.36,CSH,10.5 +VTS,1,1,420,1.99,CRD,8.5 +VTS,1,1,540,1.86,CRD,8.5 +VTS,1,1,240,0.72,CSH,4.5 +VTS,1,2,360,0.74,CRD,6 +VTS,1,1,360,1.08,CSH,6 +VTS,1,1,480,1.31,CSH,7 +VTS,1,2,540,1.9,CRD,8.5 +VTS,1,3,720,2.94,CRD,11.5 +VTS,1,2,300,0.98,CRD,5.5 +VTS,1,2,480,1.73,CRD,8.5 +VTS,1,3,900,4.97,CSH,16.5 +VTS,1,1,1620,3.41,CRD,16.5 +VTS,1,1,960,3.59,CRD,13.5 +VTS,1,1,900,2.45,CSH,11.5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,1320,13,CRD,36.5 +VTS,1,2,720,1.68,CSH,8.5 +VTS,1,3,480,1.42,CRD,7.5 +VTS,1,1,240,0.65,CSH,4.5 +VTS,1,1,600,2.43,CRD,9.5 +VTS,1,2,660,2.2,CRD,9 +VTS,1,3,1020,3.17,CSH,13.5 +VTS,1,1,600,2.62,CSH,10 +VTS,1,2,540,1.95,CRD,8.5 +VTS,1,1,660,1.77,CSH,9 +VTS,1,2,780,3.64,CSH,13.5 +VTS,1,4,300,1.42,CSH,6.5 +VTS,1,1,480,1.64,CRD,7.5 +VTS,1,1,1020,2.4,CRD,11.5 +VTS,1,1,720,6.59,CRD,19.5 +VTS,1,2,420,1.29,CRD,7 +VTS,1,2,180,0.25,CRD,4 +VTS,1,1,600,2.16,CRD,9.5 +VTS,1,1,480,1.28,CSH,7 +VTS,1,1,540,1.62,CSH,8 +VTS,1,1,300,1.81,CRD,7 +VTS,1,2,360,1.25,CRD,6.5 +VTS,1,2,180,0.85,CSH,5 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,480,1.64,CRD,7.5 +VTS,1,1,60,0.48,CSH,3.5 +VTS,1,2,480,1.54,CRD,8 +VTS,1,2,840,3.81,CSH,14 +CMT,1,3,1303,5.2,CRD,19.5 +CMT,1,1,813,3.6,CRD,14.5 +CMT,1,1,1041,2.9,CRD,14 +CMT,1,3,1233,6.4,CSH,21 +VTS,1,2,1200,5.42,CRD,18.5 +VTS,1,1,1620,2.6,CSH,15.5 +VTS,1,2,420,1.58,CSH,7.5 +VTS,1,1,420,2.06,CSH,8 +VTS,1,1,120,0.53,CSH,3.5 +VTS,1,1,540,1.41,CRD,7 +VTS,1,2,240,0.64,CRD,4.5 +VTS,1,2,660,2.51,CSH,10.5 +VTS,1,1,180,0.52,CSH,4 +VTS,1,2,420,1.2,CSH,6.5 +VTS,1,2,420,1.75,CRD,7.5 +VTS,1,3,480,2.05,CRD,8.5 +VTS,1,3,600,3.48,CRD,12.5 +VTS,1,2,840,2.89,CRD,12 +VTS,1,3,420,2.73,CRD,10 +VTS,1,1,240,0.6,CRD,5 +VTS,1,1,180,0.6,CRD,4 +VTS,1,1,420,0.92,CRD,6 +VTS,1,2,1140,3.62,CSH,15 +VTS,1,1,300,1.22,CSH,6 +VTS,1,1,240,1.13,CRD,5.5 +VTS,1,2,420,1.05,CRD,6 +VTS,1,2,360,1.18,CRD,6.5 +VTS,1,1,360,1.19,CSH,6.5 +VTS,1,4,120,0.38,CSH,4 +VTS,1,2,600,1.14,CSH,8 +VTS,1,1,420,1.54,CRD,7 +VTS,1,1,660,3.49,CRD,12 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,720,3.77,CRD,13.5 +VTS,1,2,840,2.22,CSH,11.5 +VTS,1,1,960,3.72,CRD,14 +VTS,1,1,660,1.6,CRD,8.5 +VTS,1,1,1260,5.19,CSH,19.5 +VTS,1,1,240,1.02,CSH,5 +VTS,1,2,120,0.75,CSH,4 +VTS,1,1,420,1.8,CSH,8 +VTS,1,1,600,3.1,CSH,12 +VTS,1,1,720,3.14,CRD,12 +VTS,1,1,600,1.96,CSH,9 +VTS,1,1,1020,4.62,CRD,16 +VTS,1,2,1140,4.69,CRD,17 +VTS,1,1,660,3.39,CRD,12 +VTS,1,2,900,4.28,CRD,15.5 +VTS,1,3,420,1.5,CSH,8 +VTS,1,2,780,2.46,CRD,11.5 +VTS,1,1,420,0.61,CSH,6 +VTS,1,1,300,0.69,CRD,5.5 +VTS,1,1,600,1.71,CSH,8.5 +VTS,1,1,360,1.37,CSH,6.5 +VTS,1,2,720,2.49,CRD,10.5 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,360,0.9,CRD,6 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,1,840,4.88,CSH,16 +VTS,1,3,900,3.58,CSH,13.5 +VTS,1,1,1320,6.13,CRD,21 +VTS,1,2,1200,5.04,CRD,18.5 +VTS,1,3,480,0.97,CSH,7 +VTS,1,4,1020,2.63,CSH,13 +VTS,1,3,480,2.43,CSH,9 +VTS,1,2,1020,5.21,CSH,19 +VTS,1,1,1080,2.15,CRD,12.5 +VTS,4,2,660,3.28,CSH,12.5 +VTS,1,2,300,1.36,CSH,6.5 +VTS,1,1,360,1.44,CSH,7 +VTS,1,1,660,1.33,CRD,9 +VTS,1,1,900,6,CRD,18.5 +VTS,1,1,540,2.31,CRD,10 +VTS,1,1,660,6.51,CRD,19.5 +VTS,1,2,540,1.83,CSH,8.5 +VTS,1,2,1080,2.28,CRD,11.5 +VTS,1,1,780,1.09,CRD,9 +VTS,1,2,720,2.59,CRD,11.5 +VTS,1,2,780,1.69,CRD,9.5 +VTS,1,1,300,1.23,CSH,6 +VTS,1,3,420,1.49,CSH,7.5 +VTS,1,2,60,0.05,CSH,3 +VTS,1,1,300,1.58,CRD,7 +VTS,1,2,600,2.19,CSH,9.5 +VTS,1,3,1080,2.2,CSH,13 +VTS,1,2,300,1.35,CRD,6.5 +VTS,1,1,1020,5.36,CSH,18 +VTS,1,1,1320,5.4,CRD,18.5 +VTS,1,3,420,1.78,CRD,8 +VTS,1,2,360,1.66,CRD,7 +VTS,1,2,300,1.09,CSH,5.5 +VTS,1,1,180,0.41,CRD,4 +VTS,1,1,480,1.26,CSH,6.5 +VTS,1,3,1020,3.36,CSH,13 +VTS,1,3,600,0.3,CSH,6.5 +VTS,1,1,360,2.06,CRD,8.5 +VTS,1,1,540,1.32,CRD,8 +VTS,1,1,1200,6.41,CSH,21.5 +VTS,1,3,780,2.47,CRD,11.5 +VTS,1,1,660,2.2,CRD,10.5 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,540,2.66,CSH,10.5 +VTS,1,3,1740,11.65,CRD,34.5 +VTS,1,1,300,1.06,CSH,6 +VTS,1,1,600,1.36,CRD,8 +VTS,1,1,1740,5.82,CRD,22 +VTS,1,1,900,2.9,CRD,12.5 +VTS,1,1,420,1.31,CRD,7 +VTS,1,3,1620,11.89,CSH,35 +VTS,1,1,600,1.39,CRD,7.5 +VTS,1,2,840,1.46,CSH,9.5 +VTS,1,2,780,1.31,CRD,10 +VTS,1,2,360,1.07,CSH,6 +VTS,1,3,840,3.61,CRD,14 +VTS,1,2,600,2.55,CRD,10 +VTS,1,1,1440,3.39,CRD,16.5 +VTS,1,3,540,1.63,CRD,8.5 +VTS,1,3,240,0.9,CSH,5 +VTS,1,2,420,1.68,CRD,8 +VTS,1,3,360,1.37,CRD,6.5 +VTS,1,1,1080,6.46,CRD,20 +VTS,1,2,1140,4.78,CRD,17.5 +VTS,1,1,1320,6.05,CRD,21.5 +VTS,1,1,1200,4.14,CRD,15.5 +VTS,1,1,900,2.02,CRD,10.5 +VTS,1,1,420,1.16,CSH,6.5 +VTS,1,1,540,1.81,CSH,9 +VTS,1,2,420,1.06,CSH,6 +VTS,1,1,660,2.12,CSH,9.5 +VTS,1,3,360,0.59,CRD,5.5 +VTS,1,2,60,0.43,CSH,3.5 +VTS,1,2,900,4.11,CRD,16 +VTS,1,1,1440,12.19,CSH,34.5 +VTS,1,1,1500,11.69,CSH,35 +VTS,1,1,1620,15.27,CRD,42 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,660,1.67,CRD,9 +VTS,1,1,660,2.86,CRD,11.5 +VTS,1,2,660,2.66,CSH,10.5 +VTS,1,2,240,0.68,CRD,4.5 +VTS,1,2,360,1.86,CRD,7.5 +VTS,1,1,600,1.9,CRD,9 +VTS,1,1,360,1.68,CSH,7 +VTS,1,2,480,1.91,CRD,8.5 +VTS,1,3,1140,2.48,CSH,14 +VTS,1,1,1260,4.61,CSH,17 +VTS,1,3,360,0.97,CSH,5.5 +VTS,1,2,720,2.48,CRD,11 +VTS,1,3,660,2.91,CSH,11.5 +VTS,1,2,600,4.37,CRD,14.5 +VTS,1,2,840,3.05,CSH,13.5 +VTS,1,1,1320,8.71,CRD,26 +VTS,1,1,660,2.79,CRD,11.5 +VTS,1,1,720,2.52,CSH,11 +VTS,1,1,600,2.75,CRD,10.5 +VTS,1,1,660,1.55,CRD,8.5 +VTS,1,1,540,2.44,CSH,10.5 +VTS,1,1,720,3.1,CSH,11.5 +VTS,1,2,1500,7.49,CRD,24.5 +VTS,1,1,420,1.17,CRD,6.5 +VTS,1,2,480,1.25,CSH,6.5 +VTS,1,1,900,2.57,CRD,12.5 +VTS,1,1,1080,4.32,CRD,16 +VTS,1,1,840,3.09,CSH,12.5 +VTS,1,2,1080,2.75,CRD,14 +VTS,1,2,240,1.02,CSH,5.5 +VTS,1,2,240,0.61,CSH,4.5 +VTS,1,1,420,1.49,CRD,7.5 +VTS,1,1,960,3.36,CRD,13.5 +VTS,1,3,300,0.99,CRD,6 +VTS,1,2,300,1.14,CRD,5.5 +VTS,1,1,600,1.54,CRD,8.5 +VTS,1,1,240,1.37,CRD,6.5 +VTS,1,2,300,1.21,CSH,6 +VTS,1,2,600,1.21,CRD,7.5 +VTS,2,1,2520,16.52,CRD,52 +VTS,1,1,240,0.64,CRD,4.5 +VTS,1,1,240,1.05,CSH,5.5 +VTS,1,2,540,2.51,CRD,10 +VTS,1,1,840,4.95,CSH,16.5 +VTS,1,3,780,3.14,CSH,12 +VTS,1,1,1260,3.81,CRD,15.5 +VTS,1,2,300,1.43,CSH,6.5 +VTS,1,1,480,2.52,CRD,9.5 +VTS,5,1,1680,9.2,CRD,65 +VTS,1,2,840,4.93,CRD,16 +VTS,5,1,960,5.4,CRD,52 +VTS,1,1,2280,5.86,CRD,25 +VTS,1,2,60,0.55,CRD,3.5 +VTS,1,1,300,1.47,CRD,7 +VTS,1,1,60,0.18,CRD,3 +VTS,1,1,480,1.61,CSH,7.5 +VTS,1,2,360,0.97,CSH,6 +VTS,1,3,660,2.61,CSH,10.5 +VTS,1,1,420,1.52,CSH,7.5 +VTS,1,2,900,2.71,CSH,12.5 +VTS,1,1,960,4.62,CRD,16.5 +VTS,1,2,480,1.65,CSH,8 +VTS,1,2,420,1.67,CSH,7.5 +VTS,1,2,180,1.03,CSH,5 +VTS,1,2,300,1.4,CRD,6.5 +VTS,1,1,780,3.55,CRD,13.5 +VTS,1,1,360,1.5,CRD,7 +VTS,1,1,780,3.03,CRD,12.5 +VTS,1,1,420,1.03,CSH,6.5 +VTS,1,1,1980,7.09,CRD,28 +VTS,1,1,1680,3.06,CRD,17 +VTS,5,1,0,0,CRD,18 +VTS,1,1,420,1.28,CRD,7 +CMT,1,2,359,0.8,CSH,6 +CMT,1,1,441,1.4,CRD,7.5 +CMT,1,1,461,1.7,CRD,8 +CMT,1,2,1153,2,CSH,13 +VTS,1,2,1440,10.13,CRD,31.5 +VTS,1,3,780,4.43,CRD,14.5 +VTS,1,2,1560,16.61,CSH,46 +VTS,1,1,480,0.92,CSH,6.5 +VTS,1,2,480,1.42,CSH,7 +VTS,1,1,660,1.71,CSH,8 +VTS,1,1,540,2.08,CRD,8.5 +VTS,1,1,240,0.68,CRD,5 +VTS,1,2,840,3,CRD,13 +VTS,1,3,300,1.16,CRD,6.5 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,600,1.04,CRD,7.5 +VTS,1,3,300,0.84,CRD,5.5 +VTS,1,1,420,1.55,CSH,7.5 +VTS,1,1,900,4.49,CRD,16.5 +VTS,1,1,660,3.96,CSH,13.5 +VTS,1,1,540,1.44,CRD,7.5 +VTS,1,1,480,1.4,CRD,7.5 +VTS,1,1,300,1.04,CRD,5.5 +VTS,1,1,660,2.76,CSH,11 +VTS,1,1,420,1.5,CRD,7.5 +VTS,1,1,240,1.37,CRD,6 +VTS,1,2,1320,5.66,CRD,19.5 +VTS,1,2,240,1.01,CSH,5 +VTS,1,1,780,1.98,CRD,10 +VTS,1,1,780,3.57,CSH,13.5 +VTS,1,1,600,2.58,CRD,10.5 +VTS,1,2,600,3.01,CRD,11.5 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,600,1.49,CSH,8.5 +VTS,1,1,300,1.07,CRD,5.5 +VTS,1,2,240,1.35,CRD,6 +VTS,1,2,360,1.47,CRD,7 +VTS,1,2,720,2.17,CSH,10.5 +VTS,1,1,1620,11.61,CRD,35 +VTS,1,1,960,4.49,CRD,16 +VTS,1,1,240,1.23,CRD,6 +VTS,1,1,1320,10.37,CSH,29.5 +VTS,1,1,1020,3.57,CRD,14 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,600,2.56,CRD,10 +VTS,1,2,600,2.56,CRD,10.5 +VTS,1,1,780,3.82,CSH,14.5 +VTS,1,2,420,1.31,CSH,7 +VTS,1,1,360,0.94,CSH,6 +VTS,1,1,660,2.65,CRD,11 +VTS,1,1,480,0.79,CRD,6 +VTS,1,2,840,7.99,CSH,23 +VTS,1,1,540,1.46,CRD,8 +VTS,1,1,300,2.59,CRD,9 +VTS,1,3,1140,2.49,CSH,12 +VTS,1,1,240,0.42,CRD,4.5 +VTS,1,1,360,1.01,CSH,6.5 +VTS,1,1,660,2.07,CRD,9.5 +VTS,1,2,2220,8.71,CRD,32.5 +VTS,1,3,480,2.04,CRD,8.5 +VTS,1,1,480,1.32,CRD,7.5 +VTS,1,1,600,1.45,CSH,8.5 +VTS,1,1,300,1.09,CSH,6.5 +VTS,1,1,480,1.15,CSH,7 +VTS,1,1,960,5.83,CRD,20 +VTS,1,2,1500,5.53,CSH,21.5 +VTS,1,2,1320,5.51,CSH,20 +VTS,1,1,480,2.27,CRD,9.5 +VTS,1,3,1380,4.2,CSH,16.5 +VTS,1,1,180,0.5,CSH,4 +VTS,1,2,540,2.1,CSH,9.5 +VTS,1,2,1980,8.4,CSH,26.5 +VTS,1,1,600,1.6,CRD,8 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,2,120,0.6,CSH,4 +VTS,1,1,240,0.41,CRD,4.5 +VTS,1,1,600,0.95,CRD,7.5 +VTS,1,1,600,2.8,CRD,10.5 +CMT,1,1,94,0.3,CSH,3.5 +CMT,1,1,962,8.7,CRD,25 +CMT,1,2,230,0.8,CSH,4.5 +CMT,1,1,737,2.6,CRD,11.5 +CMT,1,1,347,0.7,CSH,6 +CMT,1,1,669,2.4,CRD,10.5 +CMT,1,1,239,0.8,CSH,5 +CMT,1,1,252,0.8,CRD,5 +CMT,1,1,998,2.7,CSH,12.5 +CMT,1,1,195,0.9,CSH,5 +CMT,1,1,957,3.9,CRD,14.5 +CMT,1,1,490,2.7,CSH,9.5 +CMT,1,1,78,0.5,CSH,3.5 +CMT,1,1,605,2,CRD,9 +CMT,1,2,308,0.9,CRD,5.5 +CMT,1,2,1168,6,CRD,21.5 +CMT,1,2,681,3,CSH,11 +VTS,1,2,1620,5.91,CRD,22.5 +VTS,1,1,600,3.04,CRD,11 +VTS,1,2,420,2.59,CRD,9.5 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,1620,5.62,CRD,21 +VTS,1,1,780,2.21,CRD,10 +VTS,1,2,360,1.09,CRD,5.5 +VTS,1,2,1080,4.2,CRD,16 +VTS,1,1,360,2.26,CRD,8 +VTS,1,2,720,2.11,CRD,10 +VTS,1,1,1500,5.59,CSH,21.5 +VTS,1,2,360,1.04,CRD,6 +VTS,1,1,1440,12.52,CSH,35.5 +VTS,1,2,720,0.93,CRD,8.5 +VTS,1,1,720,2.23,CRD,9.5 +VTS,1,1,1200,2.1,CRD,12 +VTS,1,1,300,1.11,CRD,5.5 +VTS,1,1,720,2.68,CRD,11.5 +VTS,1,2,1440,4.84,CRD,19.5 +VTS,1,1,420,1.61,CRD,7.5 +VTS,1,1,240,0.52,CRD,4.5 +VTS,1,2,180,0.66,CSH,4.5 +VTS,1,1,420,1.37,CRD,7.5 +VTS,1,3,360,1.12,CRD,6 +VTS,1,1,900,3,CRD,12.5 +VTS,1,1,1020,3.46,CRD,13 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,900,4.21,CRD,15 +VTS,1,1,120,0.36,CSH,3.5 +VTS,1,4,1200,2.83,CSH,15 +VTS,1,2,1080,5.01,CRD,17 +VTS,1,2,480,1.51,CSH,8 +VTS,1,2,1080,4.29,CSH,16 +VTS,1,1,600,0.87,CRD,8 +VTS,1,1,1260,5.18,CRD,17.5 +VTS,1,1,60,0.29,CSH,3 +VTS,1,1,360,1.01,CSH,5.5 +VTS,1,1,540,0.88,CRD,6.5 +VTS,1,2,1080,4,CSH,15 +VTS,1,1,300,1.36,CRD,6 +VTS,1,4,180,0.46,CSH,4 +VTS,1,4,420,1.86,CSH,8 +VTS,1,1,420,0.98,CSH,6.5 +VTS,1,1,1440,8.44,CRD,25.5 +VTS,1,1,1980,20.03,CSH,55 +VTS,1,2,600,2.23,CSH,9.5 +VTS,1,1,660,3.22,CSH,12 +VTS,1,1,600,1.19,CSH,7.5 +VTS,1,2,480,1.92,CRD,8 +VTS,1,1,240,0.57,CSH,5 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,420,1.19,CRD,6.5 +VTS,1,2,840,2.65,CRD,11.5 +VTS,1,1,420,1.17,CSH,6.5 +VTS,1,2,480,2.43,CSH,9 +VTS,1,3,360,0.99,CRD,6.5 +VTS,1,1,300,0.9,CSH,6 +VTS,1,1,480,1.33,CSH,7 +VTS,1,2,780,3.37,CRD,13.5 +VTS,1,3,360,1.78,CSH,7 +VTS,1,1,300,0.69,CRD,5 +VTS,1,1,660,1.71,CRD,8.5 +VTS,1,1,420,0.58,CRD,5.5 +VTS,1,3,840,2.28,CRD,10.5 +VTS,1,1,960,4.19,CRD,15 +VTS,1,1,840,2,CSH,11 +VTS,1,1,540,1.35,CRD,8 +VTS,1,2,360,2.39,CRD,8.5 +VTS,1,1,360,1.44,CRD,7 +VTS,1,2,660,2.19,CRD,9.5 +VTS,1,1,600,1.72,CRD,8.5 +VTS,1,2,720,4.53,CRD,14.5 +VTS,1,1,720,3.07,CSH,11.5 +VTS,1,1,180,1.07,CSH,5 +VTS,1,2,600,1.18,CSH,7 +VTS,1,3,660,1.19,CRD,8.5 +VTS,1,3,360,1.05,CRD,6 +VTS,1,2,1860,7.54,CRD,26.5 +VTS,1,2,1200,4.09,CSH,17 +VTS,1,2,360,1.02,CSH,6 +VTS,1,1,960,2.56,CRD,13 +VTS,1,1,1320,7.02,CRD,23 +VTS,1,1,180,0.38,CRD,4 +VTS,1,2,660,1.54,CRD,9 +VTS,1,2,480,2.11,CRD,8.5 +VTS,1,1,600,1.81,CSH,9 +VTS,1,2,300,0.81,CRD,5.5 +VTS,1,1,600,1.33,CRD,7.5 +VTS,1,2,1140,3.64,CRD,15 +VTS,1,2,480,1.38,CSH,7.5 +VTS,1,1,660,1.79,CRD,9.5 +VTS,1,3,300,0.89,CRD,5.5 +VTS,1,2,720,2.27,CRD,10.5 +VTS,1,2,600,1.82,CRD,9.5 +VTS,3,2,1920,16.9,CRD,64.5 +VTS,1,2,1440,2.26,CRD,16 +VTS,1,3,540,2.29,CSH,9.5 +VTS,1,2,1620,10.08,CSH,30 +VTS,1,1,1020,4.43,CSH,16 +VTS,1,2,780,5.19,CSH,16.5 +VTS,1,2,2220,6.29,CRD,27.5 +VTS,1,1,1020,4.37,CSH,16 +VTS,1,1,240,0.64,CRD,4.5 +VTS,1,1,720,1.67,CRD,9.5 +VTS,1,2,900,2.08,CRD,11.5 +VTS,1,1,420,1.92,CRD,8.5 +VTS,1,1,1140,4.99,CSH,17.5 +VTS,1,1,1020,8.44,CRD,25.5 +VTS,1,1,540,2.85,CRD,11 +VTS,1,1,300,0.74,CRD,5.5 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,1,480,1,CRD,7 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,2,660,2.54,CRD,10.5 +VTS,1,2,600,1.98,CSH,9.5 +VTS,1,1,420,1.16,CSH,6.5 +VTS,1,2,300,0.78,CSH,5 +VTS,1,1,600,1.88,CSH,8.5 +VTS,1,1,540,1.58,CRD,8 +VTS,1,1,1200,7.52,CRD,23.5 +VTS,1,3,840,3.43,CRD,13 +VTS,1,1,660,0.87,CSH,8 +VTS,1,1,660,0.84,CRD,8 +VTS,1,1,780,2.32,CRD,11 +VTS,1,2,360,1.08,CSH,6 +VTS,1,2,960,2.39,CRD,12.5 +VTS,1,2,1020,2.08,CRD,12 +VTS,1,1,840,2.04,CSH,11 +VTS,1,1,600,2,CSH,9.5 +VTS,1,1,720,1.59,CRD,9.5 +VTS,1,1,600,2.11,CRD,9 +VTS,1,2,780,3.16,CRD,12 +VTS,1,1,600,1.49,CRD,8 +VTS,1,1,120,0.36,CSH,3.5 +VTS,1,1,480,2.29,CRD,9.5 +VTS,1,1,1080,9.98,CRD,28 +VTS,1,1,480,0.93,CRD,7 +VTS,1,1,1500,4.97,CSH,20 +VTS,1,2,120,0.41,CRD,3.5 +VTS,1,1,660,1.64,CRD,8.5 +VTS,1,1,360,0.77,CRD,5 +VTS,1,1,180,0.81,CRD,4.5 +VTS,1,1,600,1.4,CSH,8 +VTS,1,2,300,0.88,CRD,5.5 +VTS,1,2,720,1.42,CRD,9 +VTS,1,1,480,1.67,CRD,8.5 +VTS,1,4,360,1.66,CRD,7.5 +VTS,1,1,360,1.86,CRD,7 +VTS,1,2,900,3.51,CRD,13.5 +VTS,1,1,540,1.39,CRD,8 +VTS,1,1,840,4.46,CSH,15 +VTS,1,2,1260,8.5,CSH,26.5 +VTS,1,1,420,1.41,CRD,7.5 +VTS,1,3,480,1.72,CSH,8 +VTS,1,2,840,3.19,CRD,13 +VTS,1,1,660,2.97,CRD,11.5 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,480,2.07,CSH,9 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,840,1.64,CSH,10 +VTS,1,1,720,2.27,CSH,11 +VTS,1,1,720,2.74,CSH,11 +VTS,1,1,1380,10.83,CRD,31.5 +VTS,1,1,240,0.82,CRD,5 +VTS,1,1,960,3.4,CSH,14 +VTS,1,2,360,1.6,CSH,7 +VTS,1,1,960,3.26,CRD,13.5 +VTS,1,3,420,2.37,CSH,9.5 +VTS,1,2,300,1.05,CRD,6 +VTS,1,1,600,3.21,CRD,11 +VTS,1,1,540,1.68,CRD,8.5 +VTS,1,1,360,0.93,CSH,6 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,420,1.5,CSH,7 +VTS,1,1,660,3.22,CRD,12 +VTS,1,1,1260,10.81,CRD,32 +VTS,1,1,780,2.14,CRD,11 +VTS,1,1,660,0.78,CRD,8 +VTS,1,1,240,0.64,CSH,5 +VTS,1,1,60,0.45,CSH,3.5 +VTS,1,1,540,0.84,CSH,7.5 +VTS,1,1,720,2.16,CSH,10.5 +VTS,1,1,720,1.04,CSH,9 +VTS,1,1,180,0.53,CSH,4.5 +VTS,1,1,1080,5.53,CRD,19 +VTS,1,1,420,0.94,CSH,6.5 +VTS,1,1,1020,4.15,CSH,16.5 +VTS,1,1,420,0.76,CRD,6 +VTS,1,1,780,1.96,CSH,10.5 +VTS,1,1,60,0.2,CRD,3.5 +VTS,1,1,360,0.51,CRD,5.5 +VTS,1,1,780,3.94,CSH,14 +VTS,1,1,300,0.83,CSH,5 +VTS,1,2,360,0.91,CRD,6 +VTS,1,3,180,0.37,CSH,3.5 +VTS,1,2,120,0.42,CRD,4 +VTS,1,2,600,2.13,CSH,10 +VTS,1,1,300,1.88,CRD,7.5 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,2,660,2.27,CSH,10 +VTS,1,1,420,1.66,CRD,7 +VTS,1,1,300,1.36,CSH,6 +VTS,1,1,540,2.29,CRD,9 +VTS,1,2,960,1.85,CSH,10.5 +VTS,1,1,840,2.49,CRD,11 +VTS,1,2,720,2.3,CSH,10 +VTS,1,2,240,0.69,CSH,4.5 +VTS,1,1,600,2.45,CRD,10 +VTS,1,1,300,1.1,CSH,6 +VTS,1,2,360,1.1,CRD,6.5 +VTS,1,2,360,1.09,CSH,6 +VTS,1,3,480,1.55,CSH,8 +VTS,1,4,780,2.26,CRD,10.5 +VTS,1,2,1200,4.44,CRD,18.5 +VTS,1,3,660,1.79,CRD,9.5 +VTS,1,3,720,4.31,CRD,15.5 +VTS,1,1,540,0.81,CRD,7 +VTS,1,1,480,2,CRD,9 +VTS,1,2,360,0.61,CSH,6 +VTS,1,1,1140,3,CRD,14 +VTS,1,2,300,1.05,CSH,5.5 +VTS,1,2,240,0.74,CSH,5 +VTS,1,2,720,3.97,CSH,14 +VTS,1,1,180,0.78,CRD,4.5 +VTS,1,1,540,1.39,CSH,8 +VTS,1,2,180,0.5,CSH,4 +VTS,1,2,840,2.92,CRD,12.5 +VTS,1,2,780,1.33,CRD,9.5 +VTS,1,1,300,1.03,CRD,5.5 +VTS,1,2,360,0.9,CSH,6 +VTS,1,2,240,0.89,CRD,5 +VTS,1,1,720,1.55,CRD,9.5 +VTS,1,1,480,1.18,CSH,7.5 +VTS,1,2,420,1.15,CSH,6.5 +VTS,1,1,540,2.39,CSH,9.5 +VTS,1,1,720,2.77,CRD,11.5 +VTS,1,1,600,1.43,CRD,8.5 +VTS,1,1,2160,10.97,CSH,36.5 +VTS,1,1,480,2.15,CRD,9 +VTS,1,1,1080,5.94,CRD,19.5 +VTS,1,1,1320,3.03,CRD,16 +VTS,2,1,2880,15.23,CRD,52 +VTS,1,1,1500,13.87,CSH,39 +VTS,1,1,840,4.1,CRD,15.5 +VTS,1,1,360,1.15,CRD,6 +VTS,1,1,1140,1.4,CRD,12.5 +VTS,1,1,360,1.08,CRD,6.5 +VTS,1,1,1140,6.7,CSH,21.5 +VTS,1,1,660,2.22,CRD,10 +VTS,1,1,600,1.18,CRD,8.5 +VTS,1,1,480,1.27,CSH,7.5 +VTS,1,1,900,2.19,CRD,12 +VTS,1,1,1260,5.16,CRD,18.5 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,1,600,2.79,CRD,11 +VTS,1,1,420,1.28,CSH,7.5 +VTS,2,1,2220,20.38,CRD,52 +VTS,1,1,420,1.33,CRD,7 +VTS,1,1,1020,9.48,CSH,27.5 +VTS,1,1,540,1.74,CRD,8.5 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,1,840,2.15,CSH,11.5 +VTS,1,1,1320,10.87,CRD,31.5 +VTS,2,1,3180,18.75,CRD,52 +VTS,1,1,660,1.82,CSH,9.5 +VTS,1,1,1200,2.15,CRD,13.5 +VTS,1,1,720,1.62,CSH,9.5 +VTS,1,1,1620,12.43,CRD,37.5 +VTS,1,1,1980,12.88,CSH,39.5 +VTS,1,1,900,2.39,CSH,12 +VTS,1,1,1800,12.49,CSH,38 +VTS,1,1,720,1.76,CRD,10 +VTS,1,1,420,1.39,CSH,7.5 +VTS,1,1,720,3.09,CRD,11.5 +VTS,1,1,240,0.88,CSH,5.5 +VTS,1,1,1080,3.69,CSH,15.5 +VTS,1,1,960,4.15,CSH,15 +VTS,1,1,780,5.04,CRD,16 +VTS,1,1,1500,4.3,CSH,19 +VTS,1,1,180,0.38,CSH,4 +VTS,1,1,840,2.26,CSH,11.5 +VTS,1,1,840,2.68,CRD,12 +VTS,1,1,1140,4.72,CSH,18 +VTS,1,1,720,5.26,CSH,16.5 +VTS,1,1,360,0.91,CSH,6 +VTS,1,1,360,1.07,CRD,6 +VTS,1,1,660,1.91,CSH,9 +VTS,1,1,1080,3.64,CRD,15 +VTS,1,1,420,0.85,CSH,6 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,2,420,1.23,CRD,7 +VTS,1,1,960,4.03,CRD,14.5 +VTS,1,1,1620,10.63,CRD,31.5 +VTS,1,1,480,2.4,CSH,10 +VTS,1,1,420,0.82,CSH,6.5 +VTS,1,1,1380,7.37,CRD,25 +VTS,1,1,360,2.12,CRD,8.5 +VTS,1,1,720,2.8,CRD,12 +VTS,1,1,360,0.77,CRD,5.5 +VTS,1,1,360,1.2,CRD,6.5 +VTS,1,1,420,3.87,CSH,12.5 +VTS,1,1,780,1.47,CSH,10 +VTS,1,1,900,1.47,CRD,10.5 +VTS,1,1,240,0.75,CSH,5 +VTS,1,1,900,5.81,CRD,19 +VTS,1,1,1500,10.85,CRD,31 +VTS,1,1,660,1.5,CRD,9 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,360,0.52,CSH,5.5 +VTS,1,1,1980,4.02,CSH,22.5 +VTS,1,1,1680,6.61,CRD,24 +VTS,1,1,660,1.85,CRD,9.5 +VTS,1,1,720,1.39,CSH,9 +VTS,1,1,1320,2.85,CRD,15.5 +VTS,1,1,360,0.89,CRD,6 +VTS,1,1,360,0.62,CSH,5.5 +VTS,1,1,720,2.17,CSH,10 +VTS,1,1,840,3.71,CSH,13 +VTS,1,1,420,1.35,CSH,7 +VTS,1,1,960,2.54,CSH,12 +VTS,1,1,360,0.85,CSH,6 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,300,1.03,CSH,6 +VTS,1,1,360,2.11,CRD,8 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,480,1.76,CRD,8.5 +VTS,1,1,960,3.93,CRD,15 +VTS,1,1,1020,7.16,CSH,22 +VTS,1,1,360,0.9,CRD,6 +VTS,1,1,540,2.02,CSH,9 +VTS,1,1,1740,12.41,CRD,37.5 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,1740,3.52,CSH,19.5 +VTS,1,1,600,3.19,CRD,11.5 +VTS,1,1,360,0.55,CSH,5.5 +VTS,1,1,1320,2.68,CRD,15.5 +VTS,1,1,360,0.74,CSH,6 +VTS,1,1,1620,6.39,CRD,24.5 +VTS,1,1,420,1.28,CSH,7 +VTS,1,1,720,4.33,CRD,14.5 +VTS,1,1,300,1.14,CSH,6 +VTS,1,1,660,1.84,CRD,9.5 +VTS,1,1,1440,10.63,CRD,32 +VTS,1,1,420,0.95,CSH,7 +VTS,1,1,1260,10.7,CSH,31.5 +VTS,1,1,480,0.96,CRD,7 +VTS,1,1,600,1.66,CSH,9 +VTS,1,1,660,2.1,CRD,10 +VTS,1,1,1080,3.99,CSH,15.5 +VTS,1,2,360,1.28,CSH,6.5 +VTS,1,1,300,0.64,CRD,5 +VTS,1,1,720,1.68,CRD,9.5 +VTS,1,1,480,1.69,CRD,8.5 +VTS,1,2,780,1.22,CSH,9 +VTS,1,1,420,0.97,CSH,6.5 +VTS,1,1,360,1.37,CSH,6.5 +VTS,1,1,720,1.35,CRD,9 +VTS,1,1,540,2,CSH,8 +VTS,1,1,540,2.21,CRD,9.5 +VTS,1,1,180,0.7,CSH,4.5 +VTS,5,1,660,4.1,CRD,45 +VTS,5,1,840,4.16,CRD,45 +VTS,1,1,600,1.87,CRD,9.5 +VTS,1,1,120,0.19,CSH,3 +VTS,1,1,420,1.13,CRD,7 +VTS,1,1,960,6.76,CRD,21.5 +VTS,1,1,180,0.75,CSH,4 +VTS,1,1,1020,5.12,CRD,19.5 +VTS,1,1,720,1.71,CSH,9.5 +VTS,1,1,540,2.28,CSH,9 +VTS,1,1,600,1.36,CSH,8.5 +VTS,1,1,420,2.1,CSH,8.5 +VTS,1,1,300,1.27,CSH,6 +VTS,1,1,300,1.58,CRD,6.5 +VTS,1,2,780,3.22,CSH,12.5 +VTS,1,1,1260,8.95,CSH,27 +VTS,1,1,1440,10.35,CRD,31 +VTS,1,1,240,0.74,CSH,5.5 +VTS,1,1,360,0.79,CRD,6 +VTS,1,1,900,4.62,CRD,16 +VTS,1,2,180,0.62,CRD,4.5 +VTS,1,2,1440,8.52,CRD,27.5 +VTS,1,1,240,1.26,CSH,6 +VTS,1,1,360,1.95,CSH,7.5 +VTS,1,1,660,1.72,CRD,9.5 +VTS,1,1,1080,2.87,CSH,13.5 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,1020,2.14,CSH,12.5 +VTS,1,1,540,2.65,CRD,10.5 +VTS,1,1,720,1.88,CRD,10 +VTS,1,1,360,0.51,CSH,5.5 +VTS,1,1,420,0.55,CRD,6 +VTS,1,1,720,1.41,CRD,9 +VTS,1,1,840,1.55,CRD,10.5 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,720,1.77,CRD,9.5 +VTS,1,1,780,2.62,CRD,11 +VTS,1,1,1200,9.44,CRD,28 +VTS,1,1,840,1.6,CSH,10.5 +VTS,1,1,540,2.08,CRD,9.5 +VTS,1,1,300,0.97,CSH,6 +VTS,1,1,960,0.67,CSH,10 +VTS,1,1,240,1.17,CSH,6 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,660,1.66,CRD,9.5 +VTS,1,1,780,2.83,CSH,11.5 +VTS,1,1,420,0.83,CSH,6.5 +VTS,1,1,480,0.74,CSH,7 +VTS,1,1,600,1.55,CRD,8.5 +VTS,1,1,720,1.48,CSH,9 +VTS,1,1,540,2.27,CRD,10 +VTS,1,1,420,1.98,CRD,8 +VTS,1,1,660,1.65,CSH,9 +VTS,1,1,300,0.94,CSH,6 +VTS,1,1,1140,3.27,CSH,15 +VTS,1,1,960,10.37,CRD,29 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,600,2.4,CRD,11 +VTS,1,1,300,1.16,CRD,6 +VTS,1,1,1500,2.97,CSH,16.5 +VTS,1,1,2040,11.25,CRD,36 +VTS,1,1,300,1.04,CRD,6 +VTS,1,1,1500,16.07,CRD,44 +VTS,1,1,600,1.9,CRD,9.5 +VTS,1,1,1320,10.84,CRD,30.5 +VTS,1,1,1260,4.38,CSH,17.5 +VTS,1,1,960,2.45,CSH,12 +VTS,1,1,480,1.14,CSH,7.5 +VTS,1,1,840,4.81,CRD,16.5 +VTS,1,1,240,0.82,CSH,5.5 +VTS,1,1,1260,2.57,CRD,14 +VTS,1,1,420,1.45,CSH,7 +VTS,1,1,420,0.88,CRD,6.5 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,840,6.67,CRD,20.5 +VTS,1,1,1080,8.96,CRD,26.5 +VTS,1,1,660,2.19,CRD,10 +VTS,1,1,540,0.99,CSH,8 +VTS,1,1,720,1.34,CSH,9 +VTS,1,1,540,1.48,CSH,8.5 +VTS,1,1,1440,4.17,CRD,18.5 +VTS,1,1,480,0.97,CSH,7 +VTS,1,1,1260,6.66,CRD,22.5 +VTS,1,1,1020,2.87,CRD,13.5 +VTS,1,1,900,2.87,CSH,12.5 +VTS,1,1,600,4.76,CRD,15.5 +VTS,2,1,1920,17.69,CRD,52 +VTS,1,1,2340,16.85,CRD,49 +VTS,1,1,600,2.99,CRD,11.5 +VTS,1,1,360,1.42,CRD,6.5 +VTS,1,1,720,1.27,CSH,9.5 +VTS,1,1,1680,11.17,CRD,34.5 +VTS,1,1,900,2.94,CRD,12.5 +VTS,1,1,1260,4.96,CSH,19.5 +VTS,1,1,420,1.31,CSH,7 +VTS,1,1,1680,6.95,CRD,24.5 +VTS,1,1,600,1.65,CRD,8.5 +VTS,1,1,1380,4.34,CRD,18.5 +VTS,1,1,240,0.41,CSH,4.5 +VTS,1,1,1980,8.68,CRD,29 +VTS,1,1,240,0.7,CSH,4.5 +VTS,1,1,420,2.29,CSH,9 +VTS,1,1,1320,8.69,CRD,27.5 +VTS,1,1,540,0.86,CRD,7 +VTS,1,1,420,0.5,CSH,6 +VTS,1,1,360,1.07,CRD,6 +VTS,1,1,1080,10.39,CRD,29.5 +VTS,1,1,840,8.15,CRD,23.5 +VTS,1,1,0,0.15,CSH,2.5 +VTS,1,1,480,2.64,CSH,10 +VTS,1,1,180,1.19,CRD,5.5 +VTS,1,1,720,2.92,CSH,12 +VTS,1,1,840,2.93,CSH,12 +VTS,1,1,720,2.48,CRD,11 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,1,120,0.66,CRD,4.5 +VTS,1,1,720,7.36,CRD,21 +VTS,1,1,780,1.61,CRD,10 +VTS,1,1,180,0.87,CRD,5.5 +VTS,1,1,660,2.52,CRD,10.5 +VTS,1,1,300,1.13,CRD,6 +VTS,1,1,660,1.97,CSH,10 +VTS,2,1,4140,22.79,CRD,52 +VTS,1,1,1080,7.89,CSH,24 +VTS,1,1,360,1.58,CRD,6.5 +VTS,1,1,540,2.41,CRD,9.5 +VTS,1,1,1560,12.1,CRD,35.5 +VTS,1,1,1260,2.81,CRD,15 +VTS,2,1,2220,14.66,CRD,52 +VTS,1,1,1980,11.98,CSH,36.5 +VTS,1,1,600,1.19,CRD,8 +VTS,1,1,420,0.82,CSH,6 +VTS,1,1,1620,11.46,CRD,33.5 +VTS,1,1,900,3.77,CRD,14.5 +VTS,1,1,1140,2.77,CSH,14.5 +VTS,1,1,360,0.54,CRD,6 +VTS,1,1,660,1.06,CRD,8 +VTS,1,6,120,0.64,CRD,4 +VTS,1,6,360,0.87,CRD,5.5 +VTS,1,6,180,0.67,CSH,4.5 +VTS,1,6,1800,11.01,CRD,34.5 +VTS,1,6,720,2.41,CRD,10.5 +VTS,1,6,360,1.25,CSH,6.5 +VTS,1,1,720,2.4,CRD,11 +VTS,1,1,720,1.06,CRD,8.5 +VTS,1,1,1020,4.68,CRD,18 +VTS,1,1,300,1.15,CSH,6 +VTS,1,1,240,0.67,CRD,5 +VTS,1,1,660,1.85,CRD,9.5 +VTS,1,1,540,1.69,CSH,8.5 +VTS,1,1,480,1.11,CSH,7 +VTS,1,1,900,2.67,CSH,12.5 +VTS,1,1,1500,10.88,CRD,33 +VTS,1,1,540,1.12,CSH,7.5 +VTS,1,1,420,0.78,CSH,6.5 +VTS,1,1,900,1.79,CRD,11.5 +VTS,1,1,660,1.49,CRD,8.5 +VTS,1,1,360,0.79,CRD,5.5 +VTS,1,1,600,0.73,CRD,7.5 +VTS,1,1,540,1.68,CRD,8.5 +VTS,1,6,1020,3.7,CSH,15 +VTS,1,6,360,1.53,CSH,6.5 +VTS,1,6,480,1.65,CSH,8 +VTS,1,6,1260,3.91,CRD,17 +VTS,1,6,420,1.5,CSH,7 +VTS,1,6,120,0.51,CSH,4 +VTS,1,6,480,2.84,CSH,10.5 +VTS,1,6,360,0.63,CSH,5.5 +VTS,1,6,180,0.7,CRD,4.5 +VTS,1,1,120,0.47,CSH,3.5 +VTS,1,1,780,1.49,CSH,10 +VTS,1,1,600,1.05,CRD,8 +VTS,1,1,1620,10.78,CRD,34 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,300,1.39,CSH,6.5 +VTS,1,1,780,2.86,CRD,12.5 +VTS,1,1,600,1.63,CRD,9.5 +VTS,1,1,240,0.67,CRD,5 +VTS,1,1,300,1.39,CSH,6.5 +VTS,1,1,1860,5.45,CRD,23.5 +VTS,1,1,780,2.54,CSH,11.5 +VTS,1,1,1140,6.36,CSH,20.5 +VTS,1,1,1080,6.01,CRD,20.5 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,720,2.16,CSH,10.5 +VTS,1,1,960,2.09,CRD,12 +VTS,1,1,420,0.78,CSH,6 +VTS,1,1,660,1.72,CSH,9 +VTS,1,1,720,1.06,CRD,8.5 +VTS,1,1,360,1.57,CRD,7.5 +VTS,1,1,960,7.95,CRD,24 +VTS,1,1,600,2.53,CSH,10 +VTS,1,1,420,1.14,CSH,6.5 +VTS,1,1,240,1.15,CRD,5.5 +VTS,1,1,960,6.11,CRD,20 +VTS,1,1,1440,6.96,CSH,23.5 +VTS,1,1,420,1.53,CRD,7.5 +VTS,1,1,960,3.75,CRD,15 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,720,1.78,CRD,9.5 +VTS,1,1,540,0.73,CSH,7 +VTS,1,1,600,1.46,CSH,9 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,1380,3.13,CRD,16.5 +VTS,1,1,660,2.68,CRD,11 +VTS,1,1,600,1.29,CRD,8.5 +VTS,1,1,780,2.03,CRD,10.5 +VTS,1,1,480,1.93,CSH,8 +VTS,1,1,420,1.35,CRD,7.5 +VTS,1,1,480,1.83,CSH,8 +VTS,1,1,600,5.76,CRD,17.5 +VTS,1,1,540,2.01,CSH,9 +VTS,1,1,300,1.6,CRD,7 +VTS,1,1,120,0.58,CSH,4 +VTS,1,1,660,1.3,CSH,9 +VTS,1,1,480,0.78,CSH,6.5 +VTS,1,1,1860,12.62,CRD,36.5 +VTS,1,1,420,1.09,CSH,6.5 +VTS,1,1,900,1.52,CSH,11 +VTS,1,1,480,0.67,CSH,6.5 +VTS,1,1,960,2.4,CSH,12.5 +VTS,1,1,600,1.7,CSH,8.5 +VTS,1,1,900,1.79,CRD,11.5 +VTS,1,1,480,1.73,CRD,8.5 +VTS,1,1,1020,6.34,CRD,20.5 +VTS,1,1,360,0.89,CSH,6 +VTS,1,1,660,2.8,CSH,11 +VTS,1,1,420,1.31,CSH,7 +VTS,1,1,180,0.51,CRD,4 +VTS,1,1,780,5.67,CSH,18 +VTS,1,1,240,1.29,CRD,6 +VTS,1,1,240,1.68,CSH,6.5 +VTS,1,1,900,5.58,CRD,18.5 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,6,360,1.42,CSH,7 +VTS,1,6,420,1.3,CSH,7 +VTS,1,6,360,1.57,CRD,7.5 +VTS,1,6,660,1.73,CSH,9 +VTS,1,6,1020,9.08,CRD,26.5 +VTS,1,6,1020,5.77,CSH,19 +VTS,1,6,480,1.36,CSH,7 +VTS,1,6,1260,5.46,CRD,20.5 +VTS,1,6,600,1.3,CRD,8.5 +VTS,1,6,420,1.72,CSH,8 +VTS,1,6,360,0.86,CRD,6 +VTS,1,6,660,2.8,CSH,11 +VTS,1,6,600,2.55,CSH,10.5 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,540,2.09,CRD,9 +VTS,1,1,1020,3.64,CRD,14.5 +VTS,1,1,300,0.53,CRD,5 +VTS,1,1,1320,10.29,CRD,30.5 +VTS,1,1,600,1.93,CRD,9 +VTS,1,1,180,0.83,CSH,4.5 +VTS,1,1,660,5.52,CRD,17 +VTS,1,1,600,1.37,CRD,8.5 +VTS,1,1,300,0.76,CRD,5 +VTS,1,1,1140,4.32,CSH,16.5 +VTS,1,1,180,1.21,CRD,6 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,300,1.21,CRD,6.5 +VTS,1,1,1380,6.47,CSH,24 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,420,1.2,CRD,7 +VTS,1,1,480,2.95,CSH,10.5 +VTS,1,1,780,2.36,CRD,11.5 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,660,2.1,CSH,10 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,780,1.21,CRD,9.5 +VTS,1,1,900,3.57,CRD,15 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,300,1.03,CSH,6 +VTS,1,1,120,0.55,CRD,3.5 +VTS,1,1,1020,3.35,CRD,14 +VTS,1,1,1260,3.4,CSH,16 +VTS,1,1,1380,4.14,CSH,18 +VTS,1,1,1200,6.63,CSH,23 +VTS,1,1,420,1.1,CSH,7 +VTS,1,1,900,3.75,CRD,14.5 +VTS,1,1,540,1.26,CSH,8.5 +VTS,1,1,300,1.16,CRD,6 +VTS,1,1,180,1.59,CRD,6 +VTS,1,1,480,1.82,CSH,8.5 +VTS,1,1,1320,4.63,CSH,18.5 +VTS,2,1,2880,16.58,CRD,52 +VTS,1,1,1140,1.4,CRD,12.5 +VTS,1,1,1680,2.65,CSH,17.5 +VTS,1,1,1320,11.16,CSH,33 +VTS,1,1,420,0.96,CSH,6 +VTS,1,1,480,1.23,CRD,7.5 +VTS,1,1,300,1.03,CSH,6 +VTS,1,1,180,1.3,CSH,5.5 +VTS,1,1,1260,7.32,CRD,24 +VTS,1,1,360,1.09,CSH,6 +VTS,1,1,1500,6.95,CRD,25 +VTS,5,1,0,0,CRD,18 +VTS,1,1,300,1.3,CSH,6.5 +VTS,1,1,360,1.15,CSH,6.5 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,660,3.95,CRD,13.5 +VTS,1,1,1980,11.83,CRD,37 +VTS,1,1,720,1.73,CRD,9 +VTS,1,1,2040,11.1,CRD,35.5 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,720,2.04,CSH,10 +VTS,1,1,1680,9.98,CRD,29 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,780,2.55,CSH,11.5 +VTS,1,1,780,1.59,CRD,10 +VTS,1,1,300,0.63,CRD,5 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,840,3.44,CRD,13.5 +VTS,1,1,720,3.44,CSH,12.5 +VTS,1,1,300,0.77,CSH,5 +VTS,1,1,1200,6.09,CSH,22 +VTS,1,1,180,0.62,CRD,4.5 +VTS,1,1,780,2.73,CRD,11.5 +VTS,1,1,780,3.55,CRD,13.5 +VTS,1,1,1020,2.19,CRD,12.5 +VTS,1,1,720,3.53,CRD,12.5 +VTS,1,1,240,1.5,CSH,6.5 +VTS,1,1,720,3.58,CRD,12.5 +VTS,1,1,1080,5.72,CSH,20 +VTS,1,1,1920,12.2,CRD,37.5 +VTS,1,1,720,1.69,CRD,9.5 +VTS,1,1,720,1.9,CRD,10.5 +VTS,2,1,1800,20.61,CRD,52 +VTS,1,1,2220,4.95,CRD,28 +VTS,2,1,2040,19.59,CRD,52 +VTS,1,1,600,2.58,CRD,10.5 +VTS,1,1,360,1.99,CSH,7.5 +VTS,1,1,720,2.05,CRD,10 +VTS,1,1,1500,11.66,CSH,34.5 +VTS,1,1,1500,2.2,CRD,16 +VTS,1,1,660,2.16,CRD,10 +VTS,1,1,3600,11.07,CRD,44 +VTS,1,1,540,1.72,CSH,8.5 +VTS,1,1,600,1.11,CSH,8 +VTS,1,1,660,4.8,CRD,16 +VTS,1,1,1620,3.9,CSH,21.5 +VTS,1,1,480,1.42,CSH,8 +VTS,1,1,1140,3.48,CSH,15 +VTS,1,1,660,2.13,CSH,10.5 +VTS,1,1,360,0.81,CSH,5.5 +VTS,1,1,1140,7.33,CSH,23.5 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,660,1.76,CSH,9.5 +VTS,1,1,780,3.11,CSH,12.5 +VTS,1,1,780,2.75,CSH,12 +VTS,1,1,840,2.69,CRD,12 +VTS,1,1,300,0.75,CSH,5.5 +VTS,1,1,1980,10.64,CSH,35 +VTS,1,1,960,4.32,CRD,16.5 +VTS,1,1,840,2.31,CRD,11.5 +VTS,1,1,1500,10.45,CRD,33 +VTS,1,1,780,1.83,CRD,10.5 +VTS,1,1,180,0.54,CRD,4 +VTS,1,1,900,6.51,CSH,20.5 +VTS,1,1,1260,11.1,CRD,31.5 +VTS,1,1,480,0.76,CSH,6.5 +VTS,1,1,300,1.02,CSH,6 +VTS,1,1,300,0.89,CSH,6 +VTS,1,1,900,3.82,CSH,15 +VTS,1,1,1020,2.93,CRD,14 +VTS,1,1,420,1.08,CRD,7 +VTS,1,1,840,2.41,CRD,12 +VTS,1,1,120,0.58,CSH,3.5 +VTS,1,1,1020,3.31,CSH,14.5 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,660,1.89,CRD,10 +VTS,1,1,420,2.56,CRD,9 +VTS,1,1,780,4.35,CSH,14.5 +VTS,1,1,240,0.96,CSH,5 +VTS,1,1,300,1.21,CRD,6 +VTS,1,1,240,0.64,CSH,4.5 +VTS,1,1,360,1.55,CRD,7 +VTS,1,1,1440,2.99,CSH,16.5 +VTS,1,1,780,2.79,CRD,12 +VTS,1,1,360,0.71,CRD,5.5 +VTS,1,1,360,1.13,CRD,6 +VTS,1,1,120,0.6,CSH,4 +VTS,1,1,1920,8.82,CRD,30.5 +VTS,1,1,600,1.69,CSH,8.5 +VTS,1,1,1440,4.51,CSH,19.5 +VTS,1,1,900,2.27,CRD,12 +VTS,1,1,1260,5.94,CSH,20.5 +VTS,1,1,480,3.12,CSH,11 +VTS,1,1,1920,6.78,CRD,26 +VTS,1,1,360,1,CSH,6 +VTS,1,1,540,0.95,CSH,7 +VTS,1,1,420,1.76,CSH,7.5 +VTS,1,1,780,2.45,CSH,11 +VTS,1,1,360,0.83,CSH,5.5 +VTS,1,1,360,0.68,CSH,6 +VTS,1,1,300,0.54,CSH,5 +VTS,1,1,660,1.83,CSH,9.5 +VTS,2,1,2520,17.04,CRD,52 +VTS,1,1,780,2.49,CSH,11.5 +VTS,1,1,780,2.85,CRD,12.5 +VTS,1,1,480,1.63,CSH,8 +VTS,1,6,300,1.47,CSH,7 +VTS,1,6,900,1.74,CRD,11 +VTS,1,6,660,1.67,CRD,9.5 +VTS,1,1,240,0.87,CSH,5 +VTS,1,1,1020,8.29,CRD,24.5 +VTS,1,1,240,1.07,CSH,6 +VTS,1,1,180,1.02,CSH,5 +VTS,1,1,1020,4.35,CRD,16.5 +VTS,1,1,180,0.47,CSH,4 +VTS,1,1,120,0.29,CSH,3.5 +VTS,1,1,960,6.01,CSH,20 +VTS,1,1,300,1.32,CRD,6.5 +VTS,1,1,540,1.11,CSH,7.5 +VTS,1,1,900,1.69,CSH,11 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,420,1.31,CSH,7 +VTS,1,1,480,2.26,CRD,9.5 +VTS,1,1,300,0.77,CRD,5 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,360,1.31,CRD,6.5 +VTS,1,1,540,4.84,CRD,15 +VTS,1,1,720,1.38,CRD,9.5 +VTS,1,1,900,3.65,CRD,13.5 +VTS,1,1,1020,2.85,CSH,13.5 +VTS,2,1,3180,16.17,CRD,52 +VTS,1,6,360,0.92,CSH,6.5 +VTS,1,6,660,0.99,CSH,8 +VTS,1,6,1380,3.81,CSH,16.5 +VTS,1,6,480,1.77,CSH,8 +VTS,1,6,300,0.94,CRD,6 +VTS,1,6,240,1.08,CRD,5.5 +VTS,1,6,360,1.26,CRD,6 +VTS,1,6,660,2.09,CSH,9.5 +VTS,1,6,300,1.04,CSH,6 +VTS,1,6,360,2.45,CSH,8.5 +VTS,1,6,540,2.12,CSH,9.5 +VTS,1,6,960,3.5,CSH,13 +VTS,1,6,660,2.68,CSH,11 +VTS,1,6,180,0.71,CRD,4.5 +VTS,1,6,540,2.09,CRD,9 +VTS,1,6,360,1.43,CSH,7 +VTS,1,6,420,1.42,CSH,7 +VTS,1,6,540,2.08,CRD,9 +VTS,1,6,540,1.97,CSH,9 +VTS,1,6,540,1.39,CSH,8 +VTS,1,6,1260,3.84,CSH,17.5 +VTS,1,6,1920,9.65,CRD,33 +VTS,1,6,360,0.64,CSH,5.5 +VTS,1,6,600,1.52,CRD,8 +VTS,1,6,420,0.75,CSH,6.5 +VTS,1,6,180,0.64,CSH,4 +VTS,1,6,420,1.58,CSH,7.5 +VTS,1,6,1200,2.92,CSH,14.5 +VTS,1,6,180,0.91,CRD,5.5 +VTS,1,6,840,4.3,CRD,15 +VTS,1,6,300,1.46,CRD,6 +VTS,1,1,660,6.1,CSH,18 +VTS,1,1,2040,12.59,CRD,39 +VTS,1,1,420,2.22,CSH,9 +VTS,1,1,540,0.94,CSH,7.5 +VTS,1,1,480,1.16,CRD,7 +VTS,1,1,540,2.24,CRD,9 +VTS,1,1,600,1.59,CRD,9 +VTS,1,1,720,1.99,CRD,10.5 +VTS,1,6,660,1.43,CSH,9 +VTS,1,6,420,4.54,CRD,14.5 +VTS,1,6,300,1.3,CSH,6.5 +VTS,1,6,660,2.35,CRD,10 +VTS,1,6,540,2.22,CSH,9.5 +VTS,1,6,60,0.19,CSH,3 +VTS,1,6,780,0.93,CSH,7.5 +VTS,1,6,1500,2.41,CRD,15.5 +VTS,1,6,900,1.24,CRD,10.5 +VTS,1,6,480,2.24,CSH,9 +VTS,1,6,600,2.09,CSH,9.5 +VTS,1,6,840,2.49,CSH,11.5 +VTS,1,6,420,1.54,CSH,7.5 +VTS,1,6,900,2.47,CRD,12 +VTS,1,6,420,1.09,CRD,6.5 +VTS,1,6,1560,8.87,CRD,27 +VTS,1,6,120,0.5,CSH,4 +VTS,1,6,360,0.67,CRD,6 +VTS,1,6,120,0.3,CSH,3.5 +VTS,1,6,900,3.11,CSH,14 +VTS,1,6,1260,4.24,CRD,18 +VTS,1,6,480,0.88,CSH,7 +VTS,1,6,480,1.63,CSH,8 +VTS,1,6,420,0.95,CSH,6.5 +VTS,1,6,780,4.74,CRD,16.5 +VTS,1,6,660,2.36,CRD,9.5 +VTS,1,6,240,0.53,CSH,4.5 +VTS,1,6,360,0.9,CSH,6 +VTS,1,6,240,1.17,CSH,5.5 +VTS,1,6,480,1.36,CRD,7.5 +VTS,1,6,180,0.63,CRD,4.5 +VTS,1,6,840,6.27,CRD,20 +VTS,1,6,480,1.75,CRD,8.5 +VTS,1,6,300,1.1,CSH,5.5 +VTS,1,6,120,0.5,CRD,3.5 +VTS,1,6,600,1.71,CSH,7.5 +VTS,1,6,1260,3.83,CRD,16.5 +VTS,1,6,240,0.74,CRD,5 +VTS,1,6,180,0.89,CSH,4.5 +VTS,1,6,240,0.83,CRD,5 +VTS,1,6,900,5.12,CRD,16 +VTS,1,6,420,0.88,CSH,6 +VTS,1,6,180,0.68,CRD,4 +VTS,1,6,300,0.95,CSH,5.5 +VTS,1,6,480,1.2,CRD,7.5 +VTS,1,6,180,0.59,CSH,4 +VTS,1,6,240,0.49,CSH,4.5 +VTS,1,6,540,1.44,CSH,8.5 +VTS,1,6,1260,4.49,CSH,17.5 +VTS,1,6,780,3.72,CRD,14.5 +VTS,1,6,420,1.49,CRD,7.5 +VTS,1,6,420,1.36,CRD,7 +VTS,1,6,1200,2.38,CSH,14 +VTS,1,6,240,0.52,CSH,4.5 +VTS,1,6,600,1.36,CSH,8.5 +VTS,1,6,2520,5.74,CRD,27.5 +VTS,1,6,300,0.96,CSH,5.5 +VTS,1,6,480,1.31,CSH,7.5 +VTS,1,6,360,1.19,CSH,7 +VTS,1,6,540,1.66,CSH,8.5 +VTS,1,6,720,1.59,CSH,9.5 +VTS,1,6,480,2.16,CRD,9 +VTS,1,6,840,1.97,CSH,10.5 +VTS,1,6,1200,2.81,CRD,14 +VTS,1,6,720,1.84,CSH,10 +VTS,1,6,240,1,CRD,5.5 +VTS,1,6,1260,3.4,CSH,15.5 +VTS,1,6,420,1.08,CRD,6.5 +VTS,1,6,960,2.37,CRD,12.5 +VTS,1,6,360,0.98,CSH,5.5 +VTS,1,6,300,1.53,CRD,6.5 +VTS,1,6,960,4.09,CSH,15 +VTS,1,6,240,1.1,CRD,5.5 +VTS,1,6,420,2.19,CSH,8.5 +VTS,1,6,660,3.3,CRD,13 +VTS,1,6,120,0.59,CSH,4 +VTS,1,6,660,2.18,CSH,10 +VTS,1,6,1020,4,CRD,15.5 +VTS,1,6,960,6.21,CSH,20.5 +VTS,1,6,420,0.88,CRD,6 +VTS,1,6,300,0.8,CRD,5 +VTS,1,6,1080,2.84,CRD,14 +VTS,1,6,480,0.44,CSH,6 +VTS,1,6,120,0.45,CSH,4 +VTS,1,6,780,2.47,CRD,11 +VTS,1,6,420,1.2,CRD,7 +VTS,1,6,600,4.85,CRD,15 +VTS,1,6,720,3.49,CRD,13 +VTS,1,6,180,0.35,CSH,4 +VTS,1,6,1020,3.69,CRD,15.5 +VTS,1,6,420,2.5,CRD,8.5 +VTS,1,6,420,1.43,CSH,7 +VTS,1,6,600,1.91,CSH,9 +VTS,1,6,3480,20.67,CRD,62 +VTS,1,6,540,1.37,CSH,8 +VTS,1,6,420,1.49,CRD,7.5 +VTS,1,6,1020,8.85,CSH,25 +VTS,1,6,180,0.48,CSH,4 +VTS,1,6,420,2.21,CRD,8.5 +VTS,1,6,480,0.77,CSH,7 +VTS,1,6,780,2.77,CSH,11.5 +VTS,1,6,420,1.18,CRD,7 +VTS,1,6,480,2.04,CSH,8.5 +VTS,1,6,180,0.56,CSH,4 +VTS,1,6,1680,4.44,CRD,21 +VTS,1,6,240,1.31,CRD,6 +VTS,1,6,900,3.86,CRD,14.5 +VTS,1,6,60,0.41,CRD,3.5 +VTS,1,6,180,0.96,CSH,5 +VTS,1,6,120,0.4,CRD,3.5 +VTS,1,6,1200,6.55,CRD,22 +VTS,1,6,240,0.5,CRD,4.5 +VTS,1,6,300,0.92,CRD,5.5 +VTS,1,6,900,2.77,CRD,12 +VTS,1,6,420,1.11,CRD,6.5 +VTS,1,6,1380,4.11,CRD,17.5 +VTS,1,6,1140,4.69,CRD,18 +VTS,1,6,1380,9.68,CRD,29.5 +VTS,1,6,600,2.55,CRD,10.5 +VTS,1,6,720,1.27,CRD,9 +VTS,1,6,180,0.51,CRD,4.5 +VTS,1,6,660,2.06,CRD,10 +VTS,1,6,600,1.12,CRD,7.5 +VTS,1,1,1140,3.18,CRD,15 +VTS,1,1,960,7.77,CSH,24 +VTS,1,1,420,1.31,CRD,7.5 +VTS,1,1,960,5.67,CSH,19 +VTS,1,1,1020,4.08,CRD,15.5 +VTS,1,1,1380,10.43,CSH,31 +VTS,1,1,720,1.36,CSH,9 +VTS,1,1,540,0.78,CRD,7 +VTS,1,6,660,2.85,CRD,11.5 +VTS,1,6,600,2.2,CSH,9 +VTS,1,6,240,1.2,CSH,6 +VTS,1,6,1440,3.07,CRD,17 +VTS,1,6,480,1.61,CSH,7.5 +VTS,1,6,480,1.94,CRD,8.5 +VTS,1,6,420,1.11,CSH,6 +VTS,1,6,180,0.77,CSH,4.5 +VTS,1,6,60,0.34,CSH,3.5 +VTS,1,6,780,3.29,CRD,12.5 +VTS,1,6,1140,5.39,CSH,19 +VTS,1,6,180,0.71,CRD,4.5 +VTS,1,6,300,0.74,CRD,5.5 +VTS,1,6,840,2.26,CRD,11 +VTS,1,6,780,2.44,CRD,11 +VTS,1,6,660,1.52,CRD,9 +VTS,1,6,480,1.4,CRD,7.5 +VTS,1,6,1140,5.21,CSH,19 +VTS,1,1,1320,6.39,CRD,23.5 +VTS,1,1,480,1.26,CRD,7 +VTS,1,6,60,0.4,CSH,3.5 +VTS,1,6,900,2.52,CSH,12 +VTS,1,6,540,1.51,CSH,8.5 +VTS,1,6,720,3.34,CRD,12 +VTS,1,6,720,3.12,CRD,12 +VTS,1,6,240,1.05,CSH,5.5 +VTS,1,6,1380,5.61,CRD,20.5 +VTS,1,6,240,0.82,CSH,4.5 +VTS,1,6,900,3.43,CRD,13 +VTS,1,6,300,0.6,CSH,5.5 +VTS,1,6,180,0.65,CRD,4 +VTS,1,6,420,1.84,CRD,8 +VTS,1,6,420,1.38,CRD,6.5 +VTS,1,6,300,0.86,CSH,6 +VTS,1,6,900,9.07,CRD,25.5 +VTS,1,6,480,2.02,CSH,8.5 +VTS,1,6,960,4.77,CRD,17 +VTS,1,6,300,1.01,CSH,5.5 +VTS,1,6,1440,14.22,CRD,39.5 +VTS,1,6,840,1.57,CRD,10.5 +VTS,1,6,420,1.39,CRD,7 +VTS,1,6,600,2.51,CRD,10.5 +VTS,1,6,240,0.75,CSH,5 +VTS,1,6,1560,6.3,CRD,23.5 +VTS,1,6,240,0.5,CSH,4.5 +VTS,1,6,360,0.73,CSH,5 +VTS,1,6,1320,3.39,CRD,17 +VTS,1,6,720,1.81,CRD,9.5 +VTS,1,6,900,2.67,CSH,12.5 +VTS,1,6,480,1.74,CRD,8 +VTS,1,6,480,1.44,CSH,7.5 +VTS,1,6,300,1.11,CSH,6 +VTS,1,6,360,1.06,CRD,6 +VTS,1,6,600,1.06,CRD,8 +VTS,1,6,240,1.27,CRD,6 +VTS,1,6,540,0.97,CSH,7 +VTS,1,6,720,2.39,CRD,11 +VTS,1,6,420,1.22,CRD,6.5 +VTS,1,6,420,1.1,CSH,6.5 +VTS,1,6,420,1.78,CRD,8 +VTS,1,6,360,0.9,CRD,6 +VTS,1,6,780,1.08,CSH,9 +VTS,1,6,720,1.99,CSH,10 +VTS,1,6,240,0.71,CRD,5 +VTS,1,6,420,1.48,CSH,7.5 +VTS,1,6,1080,3.6,CRD,15 +VTS,1,6,960,2.2,CSH,12 +VTS,1,6,600,2.18,CRD,9.5 +VTS,1,6,1140,3.41,CSH,14.5 +VTS,1,6,1320,2.4,CRD,15 +VTS,1,6,660,1.65,CRD,9.5 +VTS,1,6,240,0.53,CSH,4.5 +VTS,1,6,420,1.69,CRD,7.5 +VTS,1,6,1140,3.42,CRD,14.5 +VTS,1,6,540,1.31,CSH,8 +VTS,1,6,900,3.82,CRD,14.5 +VTS,1,6,420,0.78,CSH,6 +VTS,1,6,660,1.04,CRD,8 +VTS,1,6,300,0.83,CSH,5.5 +VTS,1,6,240,0.62,CRD,5 +VTS,1,6,480,1.01,CSH,7 +VTS,1,6,540,1.3,CRD,7.5 +VTS,1,6,480,2.04,CSH,8 +VTS,1,6,300,0.81,CRD,5.5 +VTS,1,6,780,1.18,CSH,9.5 +VTS,1,6,300,0.82,CRD,5.5 +VTS,1,6,540,1.49,CSH,8 +VTS,1,6,600,1.1,CSH,7.5 +VTS,1,6,720,2.45,CSH,9.5 +VTS,1,6,480,1.42,CSH,7.5 +VTS,1,6,300,1.07,CRD,5.5 +VTS,1,6,180,0.77,CRD,4.5 +VTS,1,6,1140,3.83,CSH,16 +VTS,1,6,360,0.85,CSH,6 +VTS,1,6,180,0.37,CRD,4 +VTS,1,6,360,1.23,CRD,6 +VTS,1,6,420,0.88,CRD,6 +VTS,1,6,300,1.16,CSH,6.5 +VTS,1,6,840,1.72,CSH,10.5 +VTS,1,6,780,6.58,CRD,20 +VTS,1,6,1200,3.68,CSH,15.5 +VTS,1,6,780,1.75,CSH,10.5 +VTS,1,6,660,1.48,CRD,9 +VTS,1,6,1560,10.18,CRD,31.5 +VTS,1,6,780,1.32,CRD,10 +VTS,5,1,0,0,CRD,11 +VTS,1,6,600,1.95,CRD,9 +VTS,1,6,1500,2.66,CRD,16.5 +VTS,1,6,780,1.7,CSH,10 +VTS,1,6,420,1.4,CSH,7 +VTS,1,6,1320,5.57,CSH,21 +VTS,2,6,0,0,CRD,52 +VTS,1,6,1920,7.52,CRD,26.5 +VTS,1,6,540,0.73,CSH,7 +VTS,1,6,600,2.08,CRD,9.5 +VTS,1,6,180,0.73,CSH,4.5 +VTS,1,6,360,2.06,CRD,8 +VTS,1,6,1320,4.53,CRD,18.5 +VTS,1,6,540,1.75,CRD,8.5 +VTS,1,6,240,0.76,CSH,5 +VTS,1,6,300,0.91,CRD,5.5 +VTS,1,6,420,1.37,CSH,7 +VTS,1,6,480,1.93,CRD,8.5 +VTS,1,6,540,2.23,CRD,9.5 +VTS,1,6,540,1.31,CRD,7.5 +VTS,1,6,300,1.17,CRD,6 +VTS,1,6,420,1.39,CRD,7.5 +VTS,1,6,840,1.16,CSH,9.5 +VTS,1,6,420,1.47,CRD,7 +VTS,1,6,540,1.41,CSH,8.5 +VTS,1,6,780,2.48,CSH,11.5 +VTS,1,6,720,1.86,CRD,10 +VTS,1,6,1560,3,CRD,17.5 +VTS,1,6,840,1.62,CRD,10.5 +VTS,1,6,840,3.29,CRD,13.5 +VTS,1,6,900,4.44,CRD,15 +VTS,1,6,960,4.15,CSH,15.5 +VTS,1,6,960,2.4,CSH,12.5 +VTS,1,6,540,1.45,CSH,8 +VTS,1,6,900,3.03,CSH,12.5 +VTS,1,6,1140,2.72,CSH,14 +VTS,1,6,480,1.75,CSH,8 +VTS,1,6,1740,4.83,CSH,21 +VTS,1,6,0,0.12,CSH,2.5 +VTS,1,6,240,0.43,CSH,4.5 +VTS,1,6,360,0.93,CRD,6 +VTS,1,6,780,1.5,CSH,9.5 +VTS,1,6,120,0.51,CRD,4 +VTS,1,6,660,2.09,CRD,10 +VTS,1,6,480,1.34,CSH,7.5 +VTS,1,6,660,2.41,CRD,10 +VTS,1,6,1200,3.97,CSH,15 +VTS,1,6,120,0.25,CSH,3.5 +VTS,1,6,540,1.38,CSH,7.5 +VTS,1,6,600,2.58,CSH,10.5 +VTS,1,6,300,0.66,CRD,5.5 +VTS,1,6,420,1.25,CRD,6.5 +VTS,1,6,780,2.05,CRD,10.5 +VTS,1,6,540,1.13,CSH,7.5 +VTS,1,6,1320,3.19,CRD,16 +VTS,1,6,240,0.75,CSH,5 +VTS,5,1,0,0,CRD,17 +VTS,1,6,360,0.91,CSH,5.5 +VTS,1,6,900,2.49,CSH,12 +VTS,1,6,360,1.92,CRD,7.5 +VTS,1,6,240,0.57,CRD,5 +VTS,1,6,420,1.06,CRD,6.5 +VTS,1,6,420,0.96,CRD,6 +VTS,1,6,480,0.52,CRD,6.5 +VTS,1,6,120,0.54,CRD,4 +VTS,1,6,360,1.54,CRD,7 +VTS,1,6,780,1.32,CSH,9.5 +VTS,1,6,420,1.64,CSH,8 +VTS,1,6,240,0.75,CSH,5 +VTS,1,6,1020,3.6,CRD,15 +VTS,1,6,180,0.44,CSH,4 +VTS,1,6,600,2.93,CSH,10.5 +VTS,1,6,2400,6.72,CSH,27.5 +VTS,1,6,480,1.61,CRD,7.5 +VTS,1,6,900,2.83,CRD,12.5 +VTS,1,6,120,0.61,CRD,4 +VTS,1,6,180,0.37,CSH,4 +VTS,1,6,480,1.25,CSH,7 +VTS,1,6,540,1.38,CSH,8 +VTS,2,6,0,0.01,CRD,52 +VTS,1,6,420,1.28,CSH,6.5 +VTS,1,6,660,1.38,CRD,8.5 +VTS,1,6,1140,2.27,CSH,12.5 +VTS,1,6,1080,3.75,CRD,16 +VTS,1,6,360,0.6,CSH,5.5 +VTS,1,6,600,1.84,CRD,9 +VTS,1,6,1560,6.87,CRD,24 +VTS,1,6,120,0.49,CSH,3.5 +VTS,1,6,240,1.42,CRD,6 +VTS,1,6,720,2.62,CRD,10.5 +VTS,1,6,660,1.51,CSH,8 +VTS,1,6,600,1.55,CRD,8 +VTS,1,6,480,1.06,CSH,7 +VTS,1,6,240,0.67,CSH,4.5 +VTS,1,6,1740,12.29,CSH,37 +VTS,1,1,540,1.79,CSH,8.5 +VTS,1,1,420,1.41,CRD,7.5 +VTS,1,1,480,2.74,CSH,10 +VTS,1,1,720,3.42,CRD,13 +VTS,1,6,360,1.7,CSH,7.5 +VTS,1,6,300,0.69,CSH,5 +VTS,1,6,900,2.38,CRD,12 +VTS,1,6,1080,2.19,CSH,12.5 +VTS,1,6,840,3.08,CSH,12 +VTS,1,6,1080,2.15,CRD,12.5 +VTS,1,6,360,0.98,CRD,6 +VTS,1,6,1320,4,CSH,16.5 +VTS,1,6,660,1.48,CRD,9 +VTS,1,6,240,0.27,CSH,4 +VTS,1,6,900,2.42,CSH,11.5 +VTS,1,6,660,6.35,CRD,19 +VTS,1,6,480,1.49,CSH,7.5 +VTS,1,6,600,1.21,CRD,8 +VTS,1,6,300,1.12,CSH,6 +VTS,1,6,420,1.1,CSH,6.5 +VTS,1,6,900,2.41,CSH,11.5 +VTS,1,6,600,1.1,CRD,7.5 +VTS,1,6,120,0.45,CSH,3.5 +VTS,1,6,660,1.69,CRD,9 +VTS,1,6,840,2.43,CRD,11.5 +VTS,1,6,1500,7.89,CRD,25 +VTS,1,1,120,0.84,CRD,4.5 +VTS,1,1,960,4.56,CRD,16 +VTS,1,1,1140,9.2,CRD,27.5 +VTS,1,1,540,1.72,CSH,8.5 +VTS,1,1,480,1.23,CSH,7.5 +VTS,1,6,2100,6.95,CRD,27.5 +VTS,1,6,300,0.82,CRD,5 +VTS,1,6,600,2.12,CSH,10 +VTS,1,6,420,2.03,CRD,8.5 +VTS,1,6,300,1.01,CSH,5.5 +VTS,1,6,240,1.19,CRD,5.5 +VTS,1,6,480,1.56,CSH,7.5 +VTS,1,6,1140,1.73,CSH,12.5 +VTS,1,6,720,0.92,CSH,8 +VTS,1,6,660,1.09,CRD,8.5 +VTS,1,6,1380,3.04,CSH,15.5 +VTS,1,6,360,0.92,CRD,6 +VTS,1,6,300,1.03,CSH,6 +VTS,1,6,360,1.18,CRD,6.5 +VTS,1,6,780,2.15,CRD,11 +VTS,1,6,240,0.8,CRD,5 +VTS,1,6,840,1.73,CRD,10.5 +VTS,1,6,600,1.58,CRD,9 +VTS,1,6,540,2.39,CSH,9.5 +VTS,1,6,1140,2.28,CRD,14 +VTS,1,6,600,2.01,CSH,9.5 +VTS,1,6,720,5.15,CRD,17 +VTS,1,6,600,1.82,CSH,9 +VTS,1,6,120,0.55,CSH,4 +VTS,1,6,540,2.06,CRD,9 +VTS,1,6,780,1.77,CSH,10 +VTS,1,6,600,1.21,CRD,8 +VTS,1,6,660,1.59,CRD,8.5 +VTS,1,6,1020,2.54,CSH,13 +VTS,1,6,660,1.73,CSH,9.5 +VTS,1,6,180,0.75,CRD,5 +VTS,1,6,1560,10.11,CRD,31 +VTS,1,6,1080,6.35,CRD,21.5 +VTS,1,6,720,1.71,CRD,9.5 +VTS,1,6,780,2.26,CRD,10.5 +VTS,1,6,600,2.12,CSH,9 +VTS,1,6,300,1.01,CSH,5.5 +VTS,1,6,240,0.69,CSH,5 +VTS,1,6,960,3.88,CRD,15 +VTS,1,6,420,1.7,CSH,8 +VTS,1,6,1020,2.86,CRD,13 +VTS,1,6,540,1.72,CRD,8 +VTS,1,6,420,1.83,CRD,8 +VTS,1,6,960,2.29,CSH,12 +VTS,1,6,480,0.44,CRD,6.5 +VTS,1,6,360,0.97,CRD,6 +VTS,1,6,660,1.48,CRD,9 +VTS,1,6,540,1.19,CSH,8 +VTS,1,6,780,2.21,CRD,10.5 +VTS,1,6,1020,6.36,CRD,21 +VTS,1,1,780,2,CSH,10 +VTS,1,1,780,2.1,CRD,11 +VTS,1,1,300,1.28,CRD,6.5 +VTS,1,6,120,0.29,CSH,3 +VTS,1,6,360,1.11,CRD,6.5 +VTS,1,6,1080,2.98,CSH,14.5 +VTS,1,6,660,2.07,CRD,9.5 +VTS,1,6,600,1.22,CSH,7.5 +VTS,1,6,1080,3.3,CRD,15 +VTS,2,6,0,0.14,CRD,52 +VTS,1,6,1080,3.34,CRD,15.5 +VTS,1,6,660,1.11,CRD,8.5 +VTS,1,6,960,8.71,CRD,25.5 +VTS,1,6,360,2.14,CSH,8 +VTS,1,6,300,1.58,CRD,7 +VTS,1,6,780,1.31,CRD,10 +VTS,1,6,840,2,CSH,11 +VTS,1,6,240,0.41,CSH,4.5 +VTS,1,6,540,1.11,CSH,7 +VTS,1,6,1200,3.18,CSH,14.5 +VTS,1,6,180,0.61,CSH,4.5 +VTS,1,6,300,1.02,CRD,5.5 +VTS,1,6,780,2.95,CRD,12 +VTS,1,6,1140,3.43,CSH,15.5 +VTS,1,6,660,1.67,CRD,9 +VTS,1,6,660,2.49,CRD,10.5 +VTS,1,6,1020,3.68,CSH,15 +VTS,1,6,300,1.19,CSH,5.5 +VTS,1,6,540,1.17,CRD,7.5 +VTS,1,6,600,1.29,CRD,8 +VTS,1,6,480,0.84,CRD,7 +VTS,1,6,600,1.82,CRD,9 +VTS,1,6,2160,9.05,CRD,32 +VTS,1,6,900,2.06,CRD,11 +VTS,1,6,780,2.68,CRD,11 +VTS,1,6,900,1.32,CRD,11 +VTS,1,6,480,0.85,CSH,5.5 +VTS,1,6,540,2.8,CRD,10.5 +VTS,1,6,900,2.25,CRD,11.5 +VTS,1,6,600,1.86,CSH,8 +VTS,1,6,300,0.73,CRD,5.5 +VTS,1,6,480,0.94,CSH,7 +VTS,1,6,240,0.71,CSH,5 +VTS,1,6,360,0.58,CRD,5.5 +VTS,1,6,240,0.69,CSH,5 +VTS,1,6,300,1.02,CSH,5.5 +VTS,1,6,600,1.04,CSH,8 +VTS,1,6,60,0.39,CRD,3.5 +VTS,1,6,2940,9.88,CRD,37.5 +VTS,1,6,360,0.88,CRD,5.5 +VTS,1,6,600,0.76,CSH,7.5 +VTS,1,6,540,2.36,CSH,9.5 +VTS,1,1,660,1.81,CSH,9.5 +VTS,1,1,540,2.01,CSH,9 +VTS,1,1,240,1.15,CSH,5.5 +VTS,1,1,1620,8.43,CSH,27.5 +VTS,1,1,960,4.3,CSH,16.5 +VTS,1,1,240,1.12,CSH,5.5 +VTS,1,1,360,1.11,CRD,6.5 +VTS,1,1,540,3.58,CSH,12 +VTS,1,1,540,1.74,CSH,8.5 +VTS,1,1,540,2.53,CRD,9.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,540,3.1,CSH,11 +VTS,1,1,780,3.86,CSH,13.5 +VTS,1,1,660,1.51,CRD,9 +VTS,5,1,0,0,CRD,58 +VTS,1,1,420,1.89,CSH,8 +VTS,1,1,600,2.33,CSH,10 +VTS,1,1,600,1.42,CSH,8 +VTS,1,1,1020,5.04,CRD,17 +VTS,1,1,780,2.99,CRD,12.5 +VTS,1,1,1380,8.64,CRD,27.5 +VTS,1,1,360,2.09,CRD,8 +VTS,1,1,900,3.02,CRD,13.5 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,1740,7.22,CRD,26.5 +VTS,1,1,900,4.88,CSH,16.5 +VTS,1,1,180,1.04,CSH,5 +VTS,1,1,300,0.82,CSH,5 +VTS,1,1,1080,8.74,CRD,26.5 +VTS,1,1,1080,4.86,CSH,17 +VTS,1,1,420,1.77,CRD,8 +VTS,1,6,720,1.11,CSH,8.5 +VTS,1,6,300,0.92,CSH,5.5 +VTS,1,6,600,1.83,CSH,9 +VTS,1,6,1440,4.14,CRD,18.5 +VTS,1,6,1140,1.33,CSH,12.5 +VTS,1,6,360,1.03,CSH,6 +VTS,1,6,360,1.69,CSH,7.5 +VTS,1,6,1680,11.08,CRD,34 +VTS,1,6,1200,5.01,CRD,18.5 +VTS,1,6,1320,7.58,CSH,25 +VTS,1,6,360,1.27,CRD,6.5 +VTS,1,6,660,1.01,CRD,8 +VTS,1,6,1020,3.48,CSH,14 +VTS,1,6,300,1.48,CRD,7 +VTS,1,6,1200,5.82,CRD,19.5 +VTS,1,6,300,1.02,CSH,5.5 +VTS,1,6,840,2.14,CSH,11 +VTS,1,6,420,1.31,CRD,7 +VTS,1,6,480,1.03,CRD,7.5 +VTS,1,6,300,0.7,CSH,5 +VTS,1,6,1500,4.82,CRD,20.5 +VTS,1,6,420,1.21,CRD,7 +VTS,1,6,600,1.46,CSH,8.5 +VTS,1,6,480,0.73,CRD,6 +VTS,1,6,720,1.9,CSH,10.5 +VTS,1,6,300,0.79,CRD,5 +VTS,1,6,1080,7.86,CRD,24 +VTS,1,6,540,1.73,CSH,8.5 +VTS,1,6,180,0.91,CSH,4.5 +VTS,1,6,420,1.62,CRD,7.5 +VTS,1,6,1200,7.27,CRD,23.5 +VTS,1,6,240,0.87,CSH,5 +VTS,1,6,600,1.17,CRD,7.5 +VTS,1,1,1680,10.02,CSH,31 +VTS,1,1,420,1.42,CRD,7 +VTS,1,1,300,2.4,CSH,8.5 +VTS,1,1,660,1.99,CRD,10 +VTS,1,1,240,0.72,CRD,5 +VTS,1,1,720,2.23,CSH,10.5 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,1200,9.88,CSH,29 +VTS,1,1,720,2.98,CSH,12.5 +VTS,1,1,660,4.44,CRD,14.5 +VTS,1,1,480,3.68,CSH,12.5 +VTS,1,1,480,2.05,CSH,9 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,120,0.69,CRD,4 +VTS,1,1,240,1.46,CSH,6 +VTS,1,1,600,1.27,CRD,8 +VTS,1,1,2520,17.11,CSH,52 +VTS,1,1,420,1.83,CRD,8 +VTS,1,1,1380,9.56,CRD,29.5 +VTS,1,1,240,0.8,CSH,5 +VTS,1,6,720,0.99,CSH,9 +VTS,1,6,600,1.81,CRD,9.5 +VTS,1,6,720,1.59,CRD,9 +VTS,1,6,180,0.43,CRD,4 +VTS,1,6,420,1.17,CSH,7 +VTS,1,6,360,1.45,CRD,6.5 +VTS,1,6,480,1.56,CSH,8 +VTS,1,6,480,1.12,CRD,7 +VTS,1,6,600,2.46,CRD,9.5 +VTS,1,6,360,1.2,CRD,6.5 +VTS,1,6,840,8.16,CRD,23.5 +VTS,1,6,420,2.51,CSH,9.5 +VTS,1,6,420,1.78,CSH,8 +VTS,1,6,900,1.36,CRD,10 +VTS,1,6,1260,4.74,CRD,17.5 +VTS,1,6,360,1.1,CRD,6 +VTS,1,6,780,1.62,CRD,10 +VTS,1,6,600,1.38,CRD,8 +VTS,1,6,480,1.24,CRD,7.5 +VTS,1,6,960,1.09,CSH,10.5 +VTS,1,6,600,1.56,CSH,9 +VTS,1,1,720,3.07,CSH,12 +VTS,5,1,0,0,CRD,65 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,900,5.16,CSH,16.5 +VTS,1,1,660,1.19,CSH,8.5 +VTS,1,1,1740,6.71,CRD,25 +VTS,1,2,180,0.88,CSH,5 +VTS,1,1,420,1.4,CSH,7 +VTS,1,1,1140,11.16,CRD,31.5 +VTS,1,1,600,3.1,CRD,11 +VTS,1,1,1800,1.51,CSH,8.5 +VTS,1,1,1140,6.15,CSH,18.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,540,1.91,CRD,8 +VTS,1,1,240,1.14,CRD,5.5 +VTS,1,1,960,10.14,CRD,29 +VTS,1,1,720,2.65,CSH,11 +VTS,1,1,780,2.73,CSH,10 +VTS,1,1,180,0.87,CSH,4.5 +VTS,1,1,180,1.16,CSH,5 +VTS,1,1,480,2.47,CRD,10 +VTS,1,1,420,2.2,CSH,8.5 +VTS,1,1,1020,2.66,CSH,13 +VTS,1,1,300,1.6,CRD,7 +VTS,1,1,600,1.77,CSH,9 +VTS,1,1,420,1.43,CRD,7.5 +VTS,1,1,540,1.39,CRD,7.5 +VTS,1,1,480,1.34,CSH,7 +VTS,1,1,420,3.36,CRD,11.5 +VTS,1,1,720,3.46,CRD,12.5 +VTS,1,1,900,6.64,CRD,20.5 +VTS,1,1,480,1.08,CRD,7.5 +VTS,1,1,1500,5.43,CSH,21.5 +VTS,1,1,600,3.24,CSH,12 +VTS,1,1,600,3.29,CSH,11.5 +VTS,1,1,780,3.95,CRD,13.5 +VTS,1,1,180,0.79,CSH,5 +VTS,1,1,1020,6.49,CSH,21.5 +VTS,1,1,840,3.94,CRD,14 +VTS,1,1,900,5.57,CRD,17 +VTS,1,1,240,0.66,CRD,5 +VTS,1,1,660,2.28,CRD,10 +VTS,1,1,780,1.91,CSH,10 +VTS,1,1,420,0.84,CRD,6 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,480,2.98,CSH,10 +VTS,1,1,660,2.52,CRD,10.5 +VTS,1,1,660,3.25,CRD,12.5 +VTS,1,1,540,2.62,CRD,10.5 +VTS,1,1,480,1.7,CSH,8.5 +VTS,1,1,540,2.36,CSH,9.5 +VTS,1,1,660,2.65,CSH,10.5 +VTS,1,1,780,1.71,CRD,10 +VTS,1,1,420,1.44,CRD,7 +VTS,1,1,540,3.62,CRD,12 +VTS,1,1,600,1.67,CSH,8.5 +VTS,1,1,420,1.04,CSH,6 +VTS,5,1,0,0,CRD,99 +VTS,1,1,360,0.93,CRD,6 +VTS,1,1,540,1.69,CRD,8.5 +VTS,1,6,780,2.09,CSH,10.5 +VTS,1,6,660,3.02,CSH,12 +VTS,1,1,420,2.8,CSH,9.5 +VTS,1,1,660,3.3,CSH,12 +VTS,1,1,480,1.56,CSH,7.5 +VTS,1,1,420,1.32,CSH,7.5 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,600,1.5,CRD,8.5 +VTS,1,1,300,1.3,CSH,6 +VTS,1,1,660,2.69,CRD,10.5 +VTS,1,1,420,1.89,CRD,8 +VTS,1,1,540,3.63,CSH,13 +VTS,1,1,420,1.3,CSH,7 +VTS,1,1,600,2.7,CRD,10.5 +VTS,1,1,1500,7.52,CSH,25.5 +VTS,1,1,600,1.73,CSH,9 +VTS,1,1,1260,7.66,CRD,25 +VTS,1,1,1740,7.03,CSH,24 +VTS,1,1,600,1.72,CRD,8.5 +VTS,1,1,420,1.85,CRD,8 +VTS,1,1,900,4.35,CRD,16 +VTS,1,1,780,3.15,CRD,13 +VTS,1,1,720,1.09,CSH,8.5 +VTS,1,1,840,2.55,CRD,11 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,2760,15.2,CSH,47.5 +VTS,1,6,360,1.18,CSH,6.5 +VTS,1,6,600,1.46,CRD,8.5 +VTS,1,6,60,0.3,CSH,3 +VTS,1,6,420,0.89,CSH,6.5 +VTS,1,6,660,1.12,CSH,8 +VTS,2,6,0,0.03,CRD,52 +VTS,1,6,1680,16.68,CSH,46 +VTS,1,6,420,1.04,CRD,6.5 +VTS,1,6,300,0.8,CRD,5.5 +VTS,1,6,1920,7.57,CRD,27 +VTS,1,1,840,3.21,CSH,13.5 +VTS,1,1,1080,4.9,CRD,18 +VTS,1,1,540,1.58,CSH,8.5 +VTS,1,1,300,1.2,CSH,6 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,1,660,2.56,CRD,10.5 +VTS,1,1,600,4.18,CSH,13.5 +VTS,1,1,1080,5.97,CSH,19 +VTS,1,1,540,2.44,CSH,10 +VTS,1,1,420,2.3,CSH,8.5 +VTS,1,1,540,1.75,CRD,8.5 +VTS,1,1,720,4.36,CSH,14.5 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,900,1.38,CSH,10 +VTS,1,1,420,0.68,CRD,6 +VTS,1,1,480,2.43,CSH,10 +VTS,1,1,480,2.71,CRD,10 +VTS,1,1,1320,8.75,CRD,27.5 +VTS,1,1,360,1.77,CRD,7.5 +VTS,1,1,180,0.58,CRD,4 +VTS,1,1,1440,7.44,CSH,24 +VTS,1,1,840,2.02,CSH,10 +VTS,1,1,360,1.21,CRD,6 +VTS,1,1,540,2.53,CRD,10 +VTS,1,1,1500,5.04,CSH,20.5 +VTS,1,1,360,1.83,CSH,8 +VTS,1,1,240,1.21,CSH,6 +VTS,1,1,900,2.95,CRD,12.5 +VTS,1,1,1260,4.53,CRD,17 +VTS,1,1,540,2.66,CSH,10 +VTS,1,1,900,4.61,CRD,16.5 +VTS,1,1,1620,11.19,CRD,34 +VTS,1,1,600,2.15,CRD,10 +VTS,1,1,660,2.38,CSH,10.5 +VTS,1,1,300,0.85,CRD,5.5 +VTS,1,1,480,1.65,CSH,8 +VTS,1,1,900,3.4,CSH,11.5 +VTS,1,1,1020,2.66,CSH,12.5 +VTS,1,1,300,1.56,CSH,6.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,1140,9.75,CRD,28 +VTS,1,1,780,2.65,CRD,11.5 +VTS,1,1,360,1.6,CRD,7 +VTS,1,1,960,5.16,CSH,17 +VTS,1,1,660,2.22,CRD,10 +VTS,1,1,360,1.83,CSH,7 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,540,2.89,CRD,10.5 +VTS,1,1,1020,4.12,CRD,15.5 +VTS,1,1,420,1.8,CRD,8 +VTS,1,1,1620,3.54,CSH,12 +VTS,1,1,180,0.85,CSH,4.5 +VTS,1,1,600,4.36,CRD,14 +VTS,1,1,360,1.53,CSH,7 +VTS,1,1,660,1.74,CRD,9 +VTS,1,1,1440,4.1,CRD,17.5 +VTS,1,1,1080,8.16,CSH,24 +VTS,1,1,300,1.38,CRD,6.5 +VTS,1,1,600,2.68,CRD,10 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,1,1020,3.3,CRD,14.5 +VTS,1,1,1080,5.98,CRD,19 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,960,4.94,CRD,17 +VTS,1,1,540,2.15,CSH,9 +VTS,1,1,900,2.88,CRD,12.5 +VTS,1,1,720,2.48,CRD,11 +VTS,1,1,600,1.64,CSH,8.5 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,360,1.13,CSH,6 +VTS,1,1,780,3.07,CRD,12 +VTS,1,1,360,1.23,CSH,6.5 +VTS,1,1,540,1.58,CRD,8.5 +VTS,1,1,360,1.28,CRD,7 +VTS,1,1,240,1.12,CRD,5.5 +VTS,1,1,900,3.15,CRD,13.5 +VTS,1,1,240,1.21,CSH,5.5 +VTS,1,1,180,1.61,CSH,6.5 +VTS,1,1,480,3.14,CSH,11.5 +VTS,1,1,480,1.3,CRD,7 +VTS,1,1,360,0.85,CSH,5.5 +VTS,1,1,240,0.66,CRD,5 +VTS,1,1,240,1.35,CSH,6 +VTS,1,1,480,2.4,CRD,9.5 +VTS,1,1,540,2.48,CRD,10 +VTS,1,1,300,1.34,CRD,6.5 +VTS,1,1,840,7.65,CRD,22.5 +VTS,1,1,540,2.48,CSH,9.5 +VTS,1,1,900,3.4,CRD,13.5 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,480,1.89,CRD,8 +VTS,1,1,360,0.96,CRD,6 +VTS,1,1,660,2.25,CRD,10 +VTS,1,1,420,1.61,CRD,7.5 +VTS,1,1,660,2.08,CSH,10 +VTS,1,1,660,3.18,CRD,12 +VTS,1,1,540,1.77,CRD,8.5 +VTS,1,1,420,1.21,CRD,7 +VTS,1,1,1620,6.86,CSH,24.5 +VTS,1,1,480,2,CRD,8.5 +VTS,1,1,780,3.43,CRD,13 +VTS,1,1,420,1.79,CRD,7.5 +VTS,1,1,780,2.84,CSH,11.5 +VTS,1,1,420,1.44,CRD,7 +VTS,1,1,1440,9.28,CRD,28.5 +VTS,1,1,600,2.47,CRD,10 +VTS,1,1,540,1.67,CSH,8.5 +VTS,1,1,1740,10.54,CRD,33 +VTS,1,1,1380,7.42,CSH,25.5 +VTS,1,1,240,0.86,CSH,5.5 +VTS,1,1,600,3.32,CSH,11.5 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,360,1.87,CSH,7.5 +VTS,1,1,240,0.67,CSH,4.5 +VTS,1,1,1380,12.2,CSH,34.5 +VTS,1,1,360,0.83,CSH,6 +VTS,1,1,1200,5.42,CRD,20 +VTS,1,1,660,4.13,CRD,13.5 +VTS,1,1,600,1.41,CSH,8.5 +VTS,1,1,120,0.71,CRD,4.5 +VTS,1,1,1020,4.09,CRD,15.5 +VTS,1,1,1320,6.65,CSH,21.5 +VTS,1,1,360,1.3,CSH,6 +VTS,1,1,600,2.09,CSH,9.5 +VTS,1,1,360,1.47,CRD,7 +VTS,1,1,480,2.47,CRD,9.5 +VTS,1,1,420,1.14,CRD,7 +VTS,1,1,600,2.09,CRD,9.5 +VTS,5,2,0,0,CRD,73 +VTS,1,2,240,0.57,CSH,4.5 +VTS,1,1,480,1.4,CRD,8 +VTS,1,1,360,1.09,CSH,6.5 +VTS,1,1,540,2.19,CSH,9 +VTS,1,1,840,2.69,CRD,11.5 +VTS,1,1,660,2.19,CSH,9.5 +VTS,1,1,1980,5.39,CSH,22.5 +VTS,1,1,840,3.98,CSH,15 +VTS,1,1,720,3.01,CRD,12 +VTS,1,1,300,1.26,CSH,6 +VTS,1,1,840,3.19,CRD,12.5 +VTS,1,1,480,2.15,CRD,9 +VTS,1,1,1080,6.34,CSH,21.5 +VTS,1,1,480,1.99,CSH,9 +VTS,1,1,1620,5.18,CRD,21.5 +VTS,1,1,960,2.97,CRD,13.5 +VTS,5,1,0,0,CRD,9 +VTS,1,1,1260,5.76,CRD,20 +VTS,1,1,900,2.75,CRD,12.5 +VTS,1,1,1200,3.31,CSH,16 +VTS,1,1,660,4.23,CSH,14.5 +VTS,1,1,480,0.97,CRD,6.5 +VTS,1,1,300,1.54,CRD,6.5 +VTS,1,1,900,4.78,CSH,16.5 +VTS,1,1,1500,6.3,CSH,23 +VTS,1,1,1080,2.4,CRD,13 +VTS,1,1,720,5.52,CRD,17.5 +VTS,1,1,1140,2.98,CSH,14.5 +VTS,1,1,540,2.04,CSH,9.5 +VTS,1,1,1440,9.88,CRD,30.5 +VTS,1,1,540,2.66,CRD,10 +VTS,1,1,780,2.62,CRD,12 +VTS,1,1,600,1.54,CRD,8.5 +VTS,1,1,1020,3.06,CRD,13.5 +VTS,1,1,660,2.22,CSH,10 +VTS,1,1,1320,5.34,CRD,20 +VTS,1,2,480,1.06,CRD,7 +VTS,1,1,840,4.14,CSH,14 +VTS,1,1,660,2.58,CRD,10.5 +VTS,1,1,480,1.18,CRD,7 +VTS,1,1,840,2.54,CSH,10 +VTS,1,1,600,2.43,CSH,10 +VTS,1,1,600,2.42,CRD,10 +VTS,1,1,240,0.77,CRD,5 +VTS,1,1,1380,3.36,CSH,17.5 +VTS,1,1,660,3.97,CSH,14 +VTS,1,1,480,2.59,CSH,10 +VTS,1,1,360,1.64,CRD,7 +VTS,1,1,840,4.36,CRD,15 +VTS,1,1,240,0.67,CRD,5 +VTS,1,1,600,1.66,CSH,8 +VTS,1,1,540,1.62,CSH,8 +VTS,1,1,600,1.83,CSH,8.5 +VTS,1,1,420,1.3,CRD,7 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,900,4.32,CRD,15 +VTS,1,1,1320,4.78,CSH,19 +VTS,1,1,420,2.06,CRD,8 +VTS,1,1,480,1.69,CSH,8 +VTS,1,1,660,2.49,CRD,10.5 +VTS,1,1,360,1.55,CRD,7 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,900,3.71,CRD,15 +CMT,1,1,536,1.6,CSH,8.5 +CMT,1,1,995,3.4,CSH,14 +CMT,1,1,2733,11.6,CRD,39.5 +CMT,1,1,1156,1.7,CRD,13 +CMT,1,1,881,4.9,CRD,16.5 +CMT,2,1,1755,17.6,CSH,52 +VTS,1,1,300,2.29,CRD,8 +VTS,1,1,840,2.6,CRD,11.5 +VTS,1,1,1620,7.86,CRD,26.5 +VTS,1,1,180,0.36,CSH,3.5 +VTS,1,1,420,2.24,CRD,8.5 +VTS,1,1,660,2,CRD,9.5 +VTS,1,1,300,1.13,CSH,6 +VTS,1,1,780,3.31,CRD,13.5 +VTS,1,1,600,2.2,CRD,10 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,360,0.91,CSH,6 +VTS,1,1,1860,8.23,CSH,28 +VTS,1,1,360,1.15,CSH,6 +VTS,1,1,1020,4.69,CRD,16.5 +VTS,1,1,480,2.32,CRD,9 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,360,1.09,CRD,6.5 +VTS,1,1,840,7.29,CRD,21.5 +VTS,1,1,780,1.24,CSH,9.5 +VTS,1,1,360,1.31,CRD,7 +VTS,1,1,1500,6.65,CSH,24 +VTS,1,1,1080,4.9,CRD,17 +VTS,1,1,840,4.63,CRD,15.5 +VTS,1,1,240,1.16,CRD,5.5 +VTS,1,1,900,3.86,CRD,14 +VTS,1,1,240,1.45,CRD,6.5 +VTS,1,1,840,1.9,CSH,10.5 +VTS,1,1,540,1.22,CSH,7.5 +VTS,1,1,780,1.41,CRD,9.5 +VTS,1,1,240,1.12,CRD,6 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,60,0.36,CSH,3.5 +VTS,1,1,360,1.16,CSH,6 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,420,1.66,CSH,7.5 +VTS,1,1,900,4.15,CRD,15 +VTS,1,1,960,2.97,CSH,13 +VTS,1,1,780,4.22,CRD,14.5 +VTS,1,1,600,2.23,CRD,9.5 +VTS,1,1,240,0.65,CSH,4.5 +VTS,1,1,900,2.04,CRD,12 +VTS,1,1,1860,2.45,CRD,19.5 +VTS,1,1,1440,5.03,CRD,19 +VTS,1,1,540,2.51,CRD,9.5 +VTS,1,1,1800,4.27,CSH,14.5 +VTS,1,1,900,3.78,CRD,14 +VTS,1,1,540,1.35,CSH,8 +VTS,1,1,420,0.73,CRD,6 +VTS,1,1,720,4.28,CSH,14 +VTS,1,1,180,0.63,CRD,4.5 +VTS,1,1,840,2.49,CRD,11.5 +VTS,1,1,120,0.77,CSH,4 +VTS,1,1,1320,6.98,CSH,22.5 +VTS,1,1,240,0.99,CRD,5.5 +VTS,1,1,420,1.55,CRD,7.5 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,2820,12.12,CSH,43 +CMT,1,1,195,0.9,CSH,5 +CMT,1,1,450,3.4,CSH,11 +CMT,1,1,577,2.3,CSH,9.5 +CMT,1,1,634,1.6,CSH,9 +CMT,1,1,1487,11.8,CRD,34.5 +CMT,1,1,852,2,CSH,11 +CMT,1,1,1723,10.7,CSH,33.5 +CMT,1,1,517,1.9,CSH,8.5 +CMT,1,1,1464,1.8,CSH,15.5 +CMT,1,1,734,1.6,CSH,9.5 +CMT,1,1,426,1.2,CSH,7 +CMT,1,1,1249,8.5,CRD,26.5 +CMT,1,1,263,0.7,CRD,5 +CMT,1,1,172,0.7,CRD,4.5 +CMT,1,1,830,1.9,CRD,11 +CMT,1,1,1035,3,CSH,13.5 +CMT,1,1,979,3.6,CSH,14.5 +CMT,1,1,279,0.9,CSH,6 +CMT,1,1,328,1.1,CSH,6 +CMT,1,1,293,0.9,CSH,5.5 +CMT,1,1,1108,1.5,CSH,2.5 +VTS,1,1,780,3.3,CSH,13 +VTS,1,1,1080,3.79,CRD,15 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,720,1.93,CSH,10 +VTS,1,1,960,3.1,CRD,12.5 +VTS,1,1,420,1.43,CRD,7.5 +VTS,1,1,480,0.98,CRD,7 +VTS,1,1,2760,15.81,CSH,46 +VTS,1,1,300,1.27,CRD,6.5 +VTS,1,1,300,0.98,CSH,6 +VTS,1,1,180,0.27,CSH,4 +VTS,1,1,960,2.59,CRD,13 +VTS,1,1,300,0.73,CRD,5 +VTS,1,1,540,2.46,CRD,9.5 +VTS,1,1,780,2.37,CSH,8.5 +VTS,1,1,660,2.04,CRD,10 +VTS,2,1,3120,21.01,CRD,52 +VTS,1,1,720,2.49,CRD,11.5 +VTS,1,1,240,1.69,CRD,7 +VTS,1,1,180,0.5,CSH,4 +VTS,1,1,600,1.69,CRD,9 +VTS,1,1,1260,6.03,CRD,21.5 +CMT,1,1,465,1.6,CSH,8 +CMT,1,1,430,1.6,CRD,8 +CMT,1,1,922,5.5,CSH,18 +CMT,1,1,1212,3.4,CSH,15 +VTS,1,1,1680,8.71,CRD,28 +VTS,1,1,420,1.2,CRD,6.5 +VTS,1,1,240,1.28,CSH,6 +VTS,1,1,360,0.85,CSH,6 +VTS,1,1,660,1.6,CRD,9 +VTS,1,1,240,1.13,CRD,6 +VTS,1,1,1080,3.43,CRD,15 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,840,2.44,CSH,12 +VTS,1,1,660,1.9,CSH,9.5 +VTS,1,1,1020,4.6,CRD,16 +VTS,1,1,780,4.68,CSH,16 +VTS,1,1,720,4.31,CRD,14 +VTS,1,1,660,3.48,CRD,12.5 +VTS,1,1,240,1.32,CSH,6 +VTS,1,1,60,0.53,CRD,4 +VTS,1,1,360,1.72,CSH,6.5 +VTS,1,1,900,4.41,CRD,16 +VTS,1,1,1140,4.62,CRD,18.5 +VTS,1,1,960,9.08,CSH,26 +VTS,1,1,60,0.63,CSH,4 +VTS,1,1,1380,6.21,CSH,21.5 +VTS,1,1,540,1.27,CSH,7.5 +VTS,1,1,420,1.52,CRD,7 +VTS,1,1,1440,8.95,CSH,28.5 +VTS,1,1,720,2.32,CRD,11 +VTS,1,1,240,1.14,CSH,5.5 +VTS,1,1,840,2.75,CSH,12 +VTS,1,1,420,1.81,CRD,8 +VTS,1,2,420,1.91,CSH,8.5 +VTS,1,1,1140,4.95,CRD,18 +VTS,1,1,1500,6.61,CSH,23.5 +VTS,1,1,660,2.52,CSH,9.5 +VTS,1,1,1800,13.32,CRD,39 +VTS,1,1,480,2.24,CRD,8.5 +VTS,1,1,480,2.03,CSH,8.5 +VTS,1,1,180,1.16,CSH,5.5 +VTS,1,1,960,3.39,CRD,14.5 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,240,1.15,CSH,5.5 +VTS,1,1,660,2.39,CRD,10.5 +VTS,1,1,1020,4.89,CSH,17 +VTS,1,1,600,2.41,CSH,9.5 +VTS,1,1,420,1.67,CSH,7.5 +VTS,5,1,0,0,CRD,58 +CMT,1,1,1317,10.6,CRD,31.5 +CMT,1,1,715,2.5,CRD,11 +CMT,1,1,729,2.7,CSH,11.5 +CMT,1,1,606,1.7,CRD,9 +CMT,1,1,801,2.1,CRD,11 +CMT,1,1,862,4,CRD,14.5 +CMT,1,1,235,0.9,CRD,5 +VTS,1,1,1380,2.46,CSH,14 +VTS,1,1,960,8.46,CRD,24 +VTS,1,1,240,1.21,CRD,5.5 +VTS,1,1,720,2.92,CRD,11.5 +VTS,1,1,780,2.38,CRD,11 +VTS,1,1,420,1.46,CSH,7.5 +VTS,1,1,780,1.51,CSH,7 +VTS,1,1,300,1.27,CSH,6.5 +VTS,1,1,60,0.7,CSH,4 +VTS,1,1,1020,6.4,CSH,21 +VTS,1,1,120,0.5,CSH,3.5 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,1140,3.36,CRD,15 +VTS,1,1,480,1.67,CSH,8 +VTS,1,1,1320,3.22,CSH,16 +VTS,1,1,360,0.56,CSH,5.5 +VTS,1,1,900,2.54,CRD,12.5 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,660,2.44,CRD,10.5 +VTS,1,1,420,0.97,CSH,6 +VTS,1,1,60,0.52,CSH,3.5 +VTS,1,1,960,2.18,CSH,12.5 +VTS,1,1,900,6.1,CRD,19.5 +VTS,1,1,900,4.09,CSH,13.5 +VTS,1,1,540,0.82,CSH,7 +VTS,1,1,1620,12.37,CRD,36.5 +CMT,1,1,276,0.7,CSH,5 +CMT,1,1,443,2.1,CSH,8 +CMT,1,1,206,0.9,CSH,5 +CMT,1,1,206,0.7,CSH,5 +CMT,1,1,618,2.4,CRD,10 +CMT,1,1,1041,3.9,CSH,16 +CMT,1,1,1094,3.5,CSH,14.5 +CMT,1,1,645,3.6,CRD,12.5 +CMT,1,1,251,1.1,CRD,5.5 +CMT,1,1,344,1.6,CRD,7.5 +CMT,1,1,1540,4,CRD,18.5 +CMT,1,1,483,0.8,CRD,7 +CMT,1,1,254,0.8,CRD,5.5 +CMT,1,1,429,1.4,CSH,7.5 +CMT,1,1,405,1.7,CSH,7.5 +CMT,1,1,787,3.2,CSH,12.5 +CMT,1,1,285,1.2,CRD,6 +CMT,1,1,1290,0.7,CSH,13.5 +CMT,1,1,1293,5.5,CSH,21 +CMT,1,1,273,0.8,CSH,5.5 +CMT,1,2,2306,21.5,CRD,58.5 +CMT,1,1,643,1.9,CRD,10 +CMT,1,1,302,0.8,CRD,5.5 +CMT,1,1,1334,0.9,CRD,14 +CMT,1,1,698,1,CRD,9 +CMT,1,1,97,0.3,CRD,3.5 +VTS,1,1,960,2.22,CRD,12 +VTS,1,1,420,0.92,CRD,6.5 +VTS,1,1,420,1.48,CRD,7.5 +VTS,1,1,720,2.09,CRD,10 +VTS,1,1,600,3.15,CRD,11.5 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,420,1.7,CRD,7.5 +VTS,1,1,180,0.36,CSH,3.5 +VTS,1,1,1440,5.82,CRD,22 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,1,660,1.64,CRD,8.5 +VTS,1,1,1200,5.3,CRD,19.5 +VTS,1,1,780,2.8,CRD,12.5 +VTS,1,1,600,2.6,CRD,11 +VTS,1,1,840,2.51,CRD,11.5 +VTS,1,1,480,1.36,CRD,7.5 +VTS,1,1,1020,5.66,CSH,18.5 +VTS,1,1,420,1.46,CRD,7 +VTS,1,1,180,0.68,CSH,4 +VTS,1,1,300,1.72,CSH,7 +VTS,1,1,360,1.13,CRD,6.5 +VTS,1,1,960,2.91,CSH,10.5 +VTS,1,1,540,1.47,CSH,7.5 +VTS,5,1,0,0,CRD,45 +VTS,1,1,540,1.19,CRD,7.5 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,300,0.77,CRD,5 +VTS,1,1,1080,9.26,CSH,27 +VTS,1,1,960,3.53,CRD,14.5 +VTS,1,1,600,1.62,CRD,9 +VTS,1,1,180,0.81,CRD,4.5 +VTS,1,1,300,1.08,CSH,6 +VTS,1,1,540,1.41,CRD,8 +VTS,1,1,300,1.54,CRD,6.5 +VTS,1,1,1320,3.4,CSH,16 +VTS,1,1,1800,21.55,CRD,58 +VTS,1,1,2940,16.87,CSH,49.5 +VTS,1,1,900,2.96,CRD,12.5 +VTS,1,2,840,2.31,CSH,9.5 +VTS,1,1,840,3.09,CSH,12.5 +VTS,1,1,720,2.22,CRD,10 +VTS,1,1,1500,6.79,CRD,24 +VTS,1,1,480,1.24,CSH,7.5 +VTS,1,1,360,0.97,CSH,6 +VTS,1,1,540,2.08,CRD,9.5 +VTS,1,1,360,1.07,CRD,6 +VTS,1,1,360,1.6,CRD,7 +VTS,1,1,1020,3.96,CRD,15.5 +VTS,1,1,840,1.54,CSH,10 +CMT,1,1,597,2.3,CSH,9.5 +CMT,1,1,202,0.3,CRD,4 +CMT,1,1,430,1.5,CRD,7.5 +CMT,1,1,242,1,CRD,5.5 +CMT,1,1,611,1.6,CSH,9 +CMT,1,1,1449,9.4,CSH,29.5 +CMT,1,1,542,1.1,CSH,8 +CMT,1,1,517,1.2,CRD,8 +CMT,1,1,273,1,CRD,6 +CMT,1,1,1049,4.6,CSH,16 +CMT,1,1,640,2.2,CSH,10 +CMT,1,1,737,2.4,CRD,11 +CMT,1,1,980,3.5,CRD,15 +CMT,1,1,781,2.4,CRD,11 +CMT,1,1,2080,24.3,CRD,65 +CMT,1,1,220,1,CSH,5.5 +CMT,1,1,612,2.6,CRD,10 +CMT,1,1,859,2.6,CRD,12.5 +CMT,1,1,398,1.1,CSH,6.5 +CMT,1,1,255,0.8,CSH,5.5 +CMT,1,1,656,2.6,CRD,11.5 +CMT,1,1,278,0.6,CSH,5 +CMT,1,1,113,0.7,CSH,3 +CMT,1,1,506,1.6,CSH,8.5 +CMT,1,1,2782,6.8,CRD,33.5 +CMT,1,1,492,1.6,CSH,8 +CMT,1,1,1041,3.7,CSH,15 +CMT,1,1,470,1.4,CRD,7.5 +CMT,1,1,1500,10.2,CRD,31.5 +CMT,1,1,642,0.7,CRD,8 +VTS,1,1,420,1.62,CSH,7.5 +VTS,1,1,480,1.55,CRD,8 +VTS,1,1,1260,3.85,CRD,17.5 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,780,2.6,CSH,11 +VTS,1,1,1320,5.76,CRD,21 +VTS,1,1,1020,5.3,CSH,18.5 +VTS,1,1,900,2.08,CSH,11 +VTS,1,1,1380,4.14,CRD,17.5 +VTS,1,1,840,3.54,CSH,13.5 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,240,1.21,CRD,6 +VTS,1,1,1920,6.51,CRD,26.5 +VTS,1,1,1140,2.78,CSH,14 +VTS,1,1,840,3.21,CRD,12.5 +VTS,1,1,540,2.07,CSH,9 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,1200,5.24,CRD,18 +VTS,1,1,900,3.68,CSH,13 +VTS,1,1,600,1.41,CRD,8 +VTS,1,1,300,1.06,CRD,6 +VTS,1,1,240,0.78,CSH,5.5 +VTS,1,1,360,0.79,CRD,5.5 +VTS,1,1,600,3.39,CRD,12 +CMT,1,1,404,0.9,CSH,6.5 +VTS,1,1,660,2.53,CSH,10.5 +CMT,1,1,579,1.7,CRD,8.5 +CMT,1,1,876,4.5,CRD,16.5 +CMT,1,1,29,0,CSH,2.5 +CMT,1,1,548,2.6,CSH,10 +CMT,2,1,3192,20.5,CSH,52 +CMT,1,1,814,2.1,CRD,10.5 +CMT,1,1,360,1.1,CRD,6 +CMT,1,1,708,2,CRD,10 +CMT,1,1,369,0.3,CRD,5.5 +CMT,1,1,760,2.2,CSH,11 +CMT,1,1,348,0.5,CRD,5.5 +CMT,1,1,398,1.1,CRD,6.5 +CMT,1,1,331,1,CSH,6 +CMT,1,1,122,0.4,CSH,3.5 +CMT,1,1,440,1,CRD,7 +CMT,1,1,1148,3.2,CRD,15 +CMT,1,1,1481,14.4,CRD,39 +CMT,1,1,790,1.7,CRD,10 +CMT,1,1,2,0,CSH,2.5 +CMT,1,1,164,0.5,CSH,4 +CMT,1,1,835,1.4,CSH,10 +CMT,1,1,131,0.9,CRD,4.5 +CMT,1,1,640,1.7,CRD,9 +CMT,1,1,3009,26.6,CRD,74 +CMT,1,1,461,2,CRD,8 +CMT,1,1,648,1.9,CSH,9 +CMT,1,1,279,0.7,CSH,5 +CMT,1,1,1208,3.4,CRD,16 +CMT,1,1,1100,3.8,CSH,15.5 +CMT,1,1,880,2.9,CSH,12.5 +CMT,1,1,296,2.1,CSH,7.5 +CMT,1,1,437,2.9,CRD,10 +CMT,1,1,925,5.4,CRD,18.5 +CMT,1,1,892,2.4,CSH,11.5 +CMT,1,1,1014,3.3,CRD,14 +CMT,2,1,1707,17.4,CRD,52 +CMT,1,1,416,1.7,CRD,7.5 +CMT,1,1,276,0.2,CSH,4.5 +CMT,1,1,249,0.9,CRD,5.5 +CMT,1,1,148,0.7,CSH,4.5 +CMT,1,1,383,1,CSH,6.5 +CMT,1,1,240,0.9,CRD,5 +CMT,1,1,554,1.5,CSH,8 +CMT,1,1,1745,9.4,CRD,31 +CMT,1,1,92,0.4,CRD,3.5 +CMT,1,1,987,9.1,CRD,26 +CMT,1,1,531,2.5,CSH,9.5 +CMT,1,1,518,0.8,CRD,7 +CMT,1,1,398,1,CRD,6.5 +CMT,1,1,1334,2.2,CSH,14 +CMT,3,2,2652,18.5,CRD,72 +CMT,1,1,1042,3.7,CSH,15.5 +CMT,1,1,565,2.7,CSH,10.5 +CMT,1,1,394,1.9,CRD,8 +CMT,1,1,1625,10.1,CSH,31.5 +CMT,2,1,2607,17.4,CRD,52 +CMT,1,1,425,1.4,CSH,7.5 +CMT,1,1,394,1,CRD,6.5 +CMT,1,1,135,0.4,CSH,3.5 +CMT,1,1,1567,4.7,CSH,20 +CMT,1,1,197,0.6,CSH,4.5 +CMT,1,1,101,0.3,CRD,3.5 +CMT,1,1,377,1.2,CSH,6.5 +CMT,1,1,563,3,CRD,11.5 +CMT,1,1,799,2.2,CSH,11 +CMT,1,1,280,0.7,CSH,5 +CMT,1,1,258,0.7,CRD,5 +CMT,2,1,2175,18.2,CSH,52 +CMT,1,1,1286,2.4,CSH,15.5 +CMT,1,1,229,0.7,CSH,5 +CMT,1,1,1428,4.6,CRD,19 +CMT,1,1,636,2.2,CRD,10 +CMT,1,1,315,1.2,CSH,6.5 +CMT,1,1,792,2,CRD,11 +CMT,1,1,642,2.2,CRD,10 +CMT,1,1,1533,6.9,CSH,25 +CMT,1,1,737,7,CSH,20.5 +CMT,1,1,656,2.2,CSH,10.5 +CMT,1,1,566,2,CSH,9 +CMT,1,1,903,3.5,CRD,14.5 +CMT,1,1,540,0.8,CRD,7 +CMT,1,1,243,0.4,CSH,4.5 +CMT,1,1,884,2.9,CRD,12.5 +CMT,1,1,282,0.8,CSH,5.5 +CMT,1,1,716,1.9,CSH,9.5 +CMT,1,1,1863,10.9,CRD,33 +CMT,1,1,1049,2.9,CRD,13.5 +CMT,1,1,332,1.1,CRD,6 +CMT,1,1,891,1.5,CRD,11 +CMT,1,1,187,0.5,CSH,4.5 +CMT,1,1,405,0.7,CRD,6 +CMT,1,2,2763,9.3,CRD,37.5 +CMT,1,1,530,1.9,CSH,9 +CMT,1,1,102,0.4,CRD,3.5 +CMT,1,1,946,3,CSH,13 +CMT,1,1,113,0.6,CSH,4 +CMT,1,1,568,2,CRD,9 +CMT,1,1,894,2.2,CSH,12 +CMT,1,1,634,1.6,CSH,9 +CMT,1,1,469,1.2,CSH,7.5 +CMT,1,1,346,1.4,CRD,7 +CMT,1,1,678,6.2,CSH,18.5 +CMT,1,1,345,1.2,CSH,6.5 +CMT,1,1,462,1.8,CRD,8 +CMT,1,1,703,1,CSH,8.5 +CMT,1,1,1198,3.3,CSH,15 +CMT,1,1,703,2.3,CSH,10 +CMT,1,1,1337,6,CRD,20.5 +CMT,1,1,994,0.8,CRD,10.5 +CMT,1,1,1824,3.9,CRD,21 +CMT,1,1,1379,3.5,CSH,17 +CMT,1,1,383,1.7,CSH,8 +CMT,2,1,2109,17.3,CRD,52 +CMT,1,1,382,1,CRD,6.5 +CMT,1,1,527,1.1,CRD,7.5 +CMT,1,1,650,1.6,CSH,9.5 +CMT,1,1,383,1.6,CRD,7.5 +CMT,1,1,1316,1.4,CSH,13.5 +CMT,1,1,425,0.7,CSH,6.5 +CMT,1,1,326,0.9,CRD,5.5 +CMT,1,1,434,1,CRD,6.5 +CMT,1,1,1510,6.6,CRD,23.5 +CMT,1,1,574,2.7,CSH,11 +CMT,1,1,665,2.5,CRD,11.5 +CMT,1,1,681,2.1,CRD,10 +CMT,1,1,451,0.7,CSH,6.5 +CMT,1,1,1030,3.6,CRD,14.5 +CMT,1,1,1203,6.9,CSH,23 +CMT,1,1,266,1.4,CRD,6 +CMT,1,1,2395,5,CSH,17.5 +CMT,1,1,573,1.7,CRD,8.5 +CMT,1,1,568,1.8,CRD,9 +CMT,1,1,1069,2.4,CRD,13.5 +CMT,1,1,426,1.2,CSH,7 +CMT,1,1,618,5.4,CSH,17 +CMT,1,1,347,1.2,CRD,6.5 +CMT,1,1,1020,1.9,CSH,12 +CMT,1,1,402,1.3,CSH,7 +CMT,1,1,301,0.7,CRD,5.5 +CMT,1,1,621,2.5,CSH,10.5 +CMT,1,1,1297,5.9,CSH,21 +CMT,1,1,460,1.2,CSH,7 +CMT,1,1,292,1.3,CRD,6.5 +CMT,1,1,1109,3.9,CSH,16 +CMT,1,1,956,1.9,CRD,12 +CMT,1,1,828,1.8,CSH,10.5 +CMT,1,1,373,1.5,CRD,7 +CMT,1,1,205,0.3,CRD,4.5 +CMT,1,1,734,2.1,CRD,10.5 +CMT,1,2,1076,6.3,CRD,21 +CMT,1,1,695,1.5,CRD,9.5 +CMT,1,1,950,3,CRD,13.5 +CMT,1,1,1023,2,CRD,12.5 +CMT,1,1,196,0.7,CSH,5 +CMT,1,1,1675,2.6,CRD,18 +CMT,1,1,1083,3.1,CSH,15 +CMT,1,1,237,0.6,CRD,5 +CMT,1,1,205,0.9,CSH,5 +CMT,1,1,298,0.9,CSH,5.5 +CMT,1,1,815,2.1,CRD,11 +CMT,1,1,388,1.5,CRD,7.5 +CMT,1,1,854,3.3,CSH,13.5 +CMT,1,1,288,0.9,CSH,6 +CMT,1,1,359,1.1,CSH,6 +CMT,2,1,2307,17.7,CRD,52 +CMT,1,1,766,6.2,CSH,19.5 +CMT,1,1,794,2.7,CSH,12.5 +CMT,1,1,348,1.7,CRD,7.5 +CMT,1,1,691,2,CRD,10 +CMT,1,1,1491,8.6,CRD,29 +CMT,1,1,849,1.1,CRD,10 +CMT,1,1,1040,4.9,CRD,18 +CMT,1,1,560,1.2,CRD,7.5 +CMT,1,1,940,4.3,CRD,15.5 +CMT,1,1,1053,2.6,CSH,13.5 +CMT,1,1,467,0.8,CRD,6.5 +CMT,1,1,1322,10,CRD,29.5 +CMT,1,1,1012,3.7,CRD,14.5 +CMT,1,1,738,1.8,CRD,10 +CMT,1,1,1090,2.7,CRD,13.5 +CMT,1,1,382,1.1,CRD,6.5 +CMT,1,1,1838,5.1,CSH,22.5 +CMT,1,1,858,2.1,CSH,11.5 +CMT,1,1,1688,10.3,CSH,32 +CMT,1,1,977,3.7,CRD,14 +CMT,1,1,1290,7.2,CRD,24.5 +CMT,1,1,547,1.6,CRD,8.5 +CMT,1,1,1195,4.8,CRD,18.5 +CMT,1,1,870,2.7,CRD,11.5 +CMT,1,1,788,1.3,CRD,9.5 +CMT,1,1,549,1,CSH,7.5 +CMT,1,1,265,0.7,CRD,5 +CMT,1,1,607,1.9,CRD,9.5 +CMT,1,1,438,1.2,CSH,6.5 +CMT,1,1,589,1.9,CSH,9 +CMT,1,1,983,1.8,CSH,11.5 +CMT,1,1,538,1.7,CRD,8.5 +CMT,1,1,1466,11.1,CRD,33 +CMT,1,1,644,1,CSH,8 +CMT,1,1,1128,3.2,CSH,15 +CMT,1,1,124,0.3,CRD,3.5 +CMT,1,1,1108,2.6,CSH,13.5 +CMT,1,1,165,0.7,CSH,4.5 +CMT,1,1,237,0.9,CSH,5.5 +CMT,1,1,672,3.2,CRD,12 +CMT,1,1,232,0.6,CSH,4.5 +CMT,1,1,835,2,CRD,11 +CMT,1,4,8166,13.8,CSH,40 +CMT,1,1,2676,3.6,CRD,15 +CMT,1,1,352,1.4,CRD,6.5 +CMT,1,1,434,1.2,CRD,7 +CMT,1,1,868,5,CRD,17 +CMT,1,1,269,0.7,CRD,5 +CMT,1,1,295,0.7,CSH,5 +CMT,1,1,796,1.4,CSH,10 +CMT,1,1,413,1.1,CRD,6.5 +CMT,1,1,427,1,CSH,6.5 +CMT,1,1,550,1.7,CSH,8.5 +CMT,1,1,126,0.3,CSH,3.5 +CMT,1,1,342,0.8,CSH,5.5 +CMT,1,1,181,0.3,CSH,4 +CMT,1,1,250,0.5,CSH,4.5 +CMT,1,1,447,0.6,CSH,6 +CMT,1,1,223,0.9,CRD,5 +CMT,1,1,836,4,CRD,14 +CMT,1,1,176,0.5,CSH,4.5 +CMT,1,1,582,1.6,CSH,8.5 +CMT,1,1,572,1.4,CSH,8.5 +CMT,1,1,783,1.4,CRD,9.5 +CMT,1,1,564,1.2,CSH,8 +CMT,1,1,275,0.8,CRD,5 +CMT,2,2,2888,18.7,CSH,52 +CMT,1,1,692,1.1,CRD,9 +CMT,1,1,334,1,CRD,6 +CMT,1,1,2220,8.4,CRD,30.5 +CMT,1,1,1121,1.5,CSH,12.5 +CMT,1,1,665,2.5,CSH,10.5 +CMT,1,1,310,0.6,CRD,5 +CMT,1,1,1197,2.7,CSH,14 +CMT,1,1,766,2.5,CRD,11 +CMT,1,1,374,0.7,CSH,6 +CMT,1,1,411,1.4,CSH,7 +CMT,1,1,307,0.7,CRD,5.5 +CMT,1,1,199,0.5,CSH,4.5 +CMT,1,1,299,0.8,CSH,5.5 +CMT,1,1,730,1.4,CRD,9.5 +CMT,1,1,923,8.4,CSH,24.5 +CMT,1,1,448,1.2,CSH,7 +CMT,1,1,965,3.1,CSH,13.5 +CMT,1,1,464,1.3,CSH,7 +CMT,1,1,617,2,CSH,9.5 +CMT,1,1,454,0.9,CRD,7 +CMT,1,1,688,1.4,CRD,9 +CMT,1,1,952,2.3,CSH,12 +CMT,1,1,1294,4.2,CRD,18 +CMT,1,1,530,0.6,CSH,7 +CMT,1,1,307,1.3,CRD,6.5 +CMT,1,1,1204,2.6,CSH,14.5 +CMT,1,1,804,1,CSH,9.5 +CMT,1,1,450,1.4,CRD,8 +CMT,1,1,656,2.7,CSH,11 +CMT,1,4,3071,2.3,CRD,29.5 +CMT,1,1,365,1.2,CRD,6.5 +CMT,1,1,1310,4.7,CRD,19 +CMT,1,1,91,0.6,CSH,4 +CMT,1,1,252,0.9,CRD,5.5 +CMT,1,1,999,3.2,CSH,14.5 +CMT,1,1,667,1.8,CSH,9.5 +CMT,1,1,479,0.7,CRD,6.5 +CMT,1,1,282,0.6,CRD,5.5 +CMT,1,1,590,1.6,CRD,8.5 +CMT,1,1,747,2.1,CRD,10.5 +CMT,1,1,302,1.5,CRD,7 +CMT,1,1,544,1.8,CRD,9 +CMT,1,1,564,1.5,CRD,8 +CMT,1,1,629,3.1,CRD,11.5 +CMT,1,1,161,1.3,CRD,5.5 +CMT,1,1,632,1.9,CRD,9 +CMT,1,1,642,2.7,CRD,10.5 +CMT,1,1,388,1.2,CRD,7 +CMT,1,1,972,2.3,CRD,12 +CMT,1,1,381,0.5,CSH,5.5 +CMT,1,1,993,2,CSH,12.5 +CMT,1,1,1563,3.8,CSH,19.5 +CMT,1,1,547,2.3,CSH,9.5 +CMT,1,1,386,1.6,CRD,7.5 +CMT,1,1,823,3.5,CSH,13.5 +CMT,1,1,465,0.6,CRD,6.5 +CMT,1,1,417,1,CSH,6.5 +CMT,1,1,338,0.8,CSH,5.5 +CMT,1,1,821,1.9,CRD,11 +CMT,1,1,463,1.6,CSH,8 +CMT,1,1,711,3.1,CSH,12 +CMT,1,1,508,1.7,CRD,8.5 +CMT,1,1,316,0.9,CSH,6 +CMT,1,1,836,2,CRD,11 +CMT,1,1,451,2.1,CRD,8.5 +CMT,1,1,1170,9.1,CSH,28 +CMT,1,1,452,1.2,CRD,7 +CMT,1,1,373,0.8,CRD,6 +CMT,1,1,806,1.7,CSH,10 +CMT,1,1,1136,9,CRD,27 +CMT,1,1,176,0.6,CSH,4 +CMT,1,1,200,0.3,CRD,4 +CMT,1,1,430,1.4,CSH,7 +CMT,1,1,300,0.6,CRD,5.5 +CMT,1,1,227,0.6,CSH,5 +CMT,1,1,482,0.4,CRD,6.5 +CMT,1,1,360,0.6,CSH,5.5 +CMT,1,1,360,0.2,CSH,5 +CMT,1,1,1171,3.5,CRD,16.5 +CMT,1,1,352,1.3,CSH,6.5 +CMT,1,1,508,1.9,CSH,8.5 +CMT,1,1,253,0.7,CRD,5 +CMT,1,1,1533,3.9,CRD,19 +CMT,1,1,203,0.7,CRD,5 +CMT,1,1,710,1.7,CRD,9.5 +CMT,1,1,310,1.2,CRD,6.5 +CMT,1,1,273,1,CSH,5.5 +CMT,1,1,711,1.9,CRD,10 +CMT,1,1,1018,4.7,CSH,17.5 +CMT,1,1,907,2.5,CSH,12 +CMT,1,1,332,0.9,CRD,6 +CMT,1,1,219,0.5,CRD,4.5 +CMT,1,1,137,0.1,CSH,3.5 +CMT,1,1,599,2.4,CSH,10 +CMT,1,1,695,3.4,CRD,12.5 +CMT,1,1,396,1.3,CRD,7 +CMT,1,1,399,1.6,CSH,7.5 +CMT,1,1,229,0.3,CSH,4.5 +CMT,1,1,463,1.3,CRD,7.5 +CMT,1,1,836,2.5,CRD,11.5 +CMT,1,1,909,1.9,CSH,11.5 +CMT,1,1,294,1,CSH,5.5 +CMT,1,1,382,1.3,CSH,7 +CMT,1,1,264,0.6,CSH,5 +CMT,1,1,159,0.5,CSH,4.5 +CMT,1,1,309,0.6,CSH,5 +CMT,1,1,871,1.7,CRD,10.5 +CMT,1,1,446,1.6,CRD,8 +CMT,1,1,467,0.8,CSH,6.5 +CMT,1,1,322,0.9,CSH,5.5 +CMT,1,1,691,2.6,CRD,11 +CMT,1,1,671,3.1,CSH,11.5 +CMT,1,1,579,1.3,CRD,8 +CMT,1,1,916,3.5,CRD,13.5 +CMT,1,1,376,1.4,CRD,7 +CMT,1,1,191,0.4,CSH,4 +CMT,1,1,2092,5.4,CRD,25.5 +CMT,1,1,444,2.5,CRD,9.5 +CMT,1,1,1853,10.8,CRD,34.5 +CMT,1,1,383,1.2,CRD,7 +CMT,1,1,172,0.7,CSH,4.5 +CMT,1,1,481,1.2,CSH,7 +CMT,1,1,1277,5.5,CSH,20 +CMT,1,1,1477,3.1,CSH,17.5 +CMT,1,1,364,0.8,CRD,6 +CMT,1,1,849,1.6,CSH,10.5 +CMT,1,1,811,1.4,CRD,10 +CMT,1,1,324,0.8,CRD,6 +CMT,1,1,271,0.7,CRD,5 +CMT,1,1,106,0.2,CRD,3.5 +CMT,1,1,324,1.2,CSH,6.5 +CMT,1,1,256,0.6,CSH,5 +CMT,1,1,714,1.5,CRD,9.5 +CMT,1,1,108,0.2,CRD,3.5 +CMT,1,1,805,1.9,CSH,10.5 +CMT,1,1,863,3,CRD,13 +CMT,1,1,832,1.9,CSH,11 +CMT,1,1,317,0.7,CRD,5.5 +CMT,1,2,435,1.4,CSH,7.5 +CMT,1,1,351,1,CSH,6 +CMT,1,1,464,1.3,CRD,7 +CMT,1,1,357,1.2,CSH,6.5 +CMT,1,1,722,2.7,CSH,11.5 +CMT,1,3,941,2.5,CSH,12.5 +CMT,1,1,704,1.4,CSH,9 +CMT,1,1,857,2.8,CRD,12 +CMT,1,1,464,1.7,CSH,8 +CMT,1,1,985,2.4,CSH,12 +CMT,1,1,668,1.4,CSH,9 +CMT,1,1,1127,2,CSH,13 +CMT,1,1,1017,2.2,CSH,12.5 +CMT,1,1,343,1.2,CRD,6 +CMT,1,1,370,0.9,CRD,6 +CMT,1,1,1518,6.2,CRD,23 +CMT,1,1,1285,2.3,CSH,14.5 +CMT,1,1,321,1.6,CSH,7 +CMT,1,1,951,4.2,CSH,16 +CMT,1,1,650,1.4,CRD,9 +CMT,1,1,596,3.1,CRD,11 +CMT,1,1,257,1,CRD,6 +CMT,1,1,839,1.9,CSH,11 +CMT,1,1,355,0.8,CSH,6 +CMT,1,1,1288,3.8,CRD,17.5 +CMT,1,1,471,1.2,CSH,7.5 +CMT,1,1,914,2.2,CSH,11.5 +CMT,1,1,275,0.6,CSH,5 +CMT,1,1,1232,0.9,CRD,12.5 +CMT,1,1,167,0.7,CSH,4.5 +CMT,1,1,393,1.7,CSH,7.5 +CMT,1,1,128,0.5,CRD,4 +CMT,1,1,758,3.3,CSH,12 +CMT,1,1,697,2.2,CRD,10.5 +CMT,1,1,355,1.2,CSH,6 +CMT,1,1,619,0.6,CSH,7.5 +CMT,1,1,201,0.9,CSH,5 +CMT,1,1,1092,2.9,CRD,14 +CMT,1,3,362,1.3,CSH,6.5 +CMT,1,1,271,1,CSH,6 +CMT,1,1,180,0.7,CRD,4.5 +CMT,1,1,428,1.6,CRD,7.5 +CMT,1,1,228,1.1,CRD,5.5 +CMT,1,1,1027,1.2,CRD,11.5 +CMT,1,1,680,1.2,CSH,8.5 +CMT,1,1,652,2.1,CSH,10 +CMT,1,1,451,1,CRD,6.5 +CMT,1,1,362,1.7,CRD,7 +CMT,1,1,241,0.8,CRD,5 +CMT,1,1,757,3.6,CSH,13 +CMT,1,1,349,0.8,CSH,5.5 +CMT,1,1,1013,2.5,CSH,12 +CMT,1,1,351,0.8,CRD,6 +CMT,1,1,1569,2.1,CSH,16 +CMT,1,1,380,0.9,CSH,6.5 +CMT,1,1,652,1.8,CSH,9.5 +CMT,1,1,446,1.2,CSH,7 +CMT,1,1,209,0.5,CRD,4.5 +CMT,1,1,721,1.2,CRD,9 +CMT,1,1,409,1.1,CRD,6.5 +CMT,1,1,1010,8.2,CSH,24.5 +CMT,1,1,445,1,CSH,7 +CMT,1,1,381,0.7,CRD,6 +CMT,1,1,1201,3.4,CRD,15 +CMT,1,1,864,3.4,CRD,13 +CMT,1,1,137,0.9,CSH,4.5 +CMT,1,1,1103,2.5,CSH,13.5 +CMT,1,1,83,0.3,CSH,3.5 +CMT,1,1,293,0.8,CRD,5.5 +CMT,1,1,1150,3.3,CRD,15.5 +CMT,1,1,161,0.3,CSH,4 +CMT,1,1,1854,8,CRD,29 +CMT,1,1,974,2.7,CSH,12.5 +CMT,1,1,616,1.3,CRD,8.5 +CMT,1,1,280,0.6,CSH,5 +CMT,1,1,150,0.7,CSH,4.5 +CMT,1,1,522,1.2,CRD,7.5 +CMT,1,1,1371,2.5,CSH,15.5 +CMT,1,1,699,1.2,CRD,9 +CMT,1,1,1532,3.5,CSH,18 +CMT,1,1,109,0.4,CSH,3.5 +CMT,1,1,362,1.1,CRD,6 +CMT,1,1,489,0.6,CRD,6.5 +CMT,1,1,236,1,CRD,5.5 +CMT,1,1,1179,1.6,CSH,13 +CMT,1,1,895,2.5,CSH,12.5 +CMT,1,1,302,0.7,CRD,5.5 +CMT,1,1,1194,2.2,CRD,13.5 +CMT,1,2,448,0.6,CSH,6.5 +CMT,1,4,1145,5.7,CSH,19 +CMT,1,2,235,0.6,CSH,4.5 +CMT,1,1,318,1.4,CRD,6.5 +CMT,1,2,461,1.2,CRD,7.5 +CMT,1,2,1575,11,CRD,33 +CMT,1,1,168,0.4,CSH,4 +CMT,1,1,250,1.2,CSH,6 +CMT,1,3,295,0.9,CRD,5.5 +CMT,1,1,485,1.7,CRD,8.5 +CMT,1,2,223,0.5,CRD,4.5 +CMT,1,3,521,1.4,CRD,7.5 +CMT,1,3,1143,4.8,CSH,17.5 +CMT,1,1,408,2.3,CRD,9 +CMT,1,4,309,1.1,CSH,6 +CMT,1,2,194,1.1,CRD,5.5 +CMT,1,2,928,2.7,CSH,12 +CMT,1,1,406,1.9,CRD,8 +CMT,1,2,332,1.6,CSH,7 +CMT,1,1,536,3.4,CRD,11.5 +CMT,1,2,397,1,CSH,6.5 +CMT,1,2,803,3.9,CSH,14.5 +CMT,1,1,221,0.8,CSH,5 +CMT,1,1,1390,9.6,CRD,29 +CMT,1,1,197,1.1,CSH,5.5 +CMT,1,2,802,6.5,CRD,19.5 +CMT,1,4,463,0.7,CSH,6.5 +CMT,1,1,374,0.9,CRD,6 +CMT,1,2,2040,13.1,CSH,40 +CMT,1,1,176,0.7,CSH,4.5 +CMT,1,1,511,1,CRD,7.5 +CMT,1,1,213,0.8,CRD,5 +CMT,1,1,706,2.2,CRD,10 +CMT,1,1,442,2.1,CSH,8.5 +CMT,1,3,756,2.6,CRD,11 +CMT,1,1,540,2,CSH,8.5 +CMT,1,1,511,1.2,CSH,7.5 +CMT,1,1,342,0.9,CRD,6 +CMT,1,1,290,0.8,CRD,5.5 +CMT,1,1,511,1.6,CSH,8 +CMT,1,1,890,1.4,CSH,11 +CMT,1,1,848,1.1,CRD,9.5 +CMT,1,4,1365,5.5,CRD,19.5 +CMT,1,3,349,0.8,CSH,6 +CMT,1,2,667,3.4,CSH,12.5 +CMT,1,2,1232,8.4,CSH,26 +CMT,1,2,245,0.9,CSH,5.5 +CMT,1,2,806,2.4,CSH,11 +CMT,1,2,1010,3.3,CRD,14 +CMT,1,2,1348,6.6,CSH,22.5 +CMT,1,3,496,1.2,CSH,7.5 +CMT,5,1,888,5.1,CRD,40 +CMT,1,1,719,3.6,CSH,13.5 +CMT,1,3,869,3.9,CSH,14 +CMT,1,1,123,0.5,CRD,4 +CMT,1,2,713,2,CSH,10 +CMT,1,2,1104,4.2,CRD,17 +CMT,1,1,898,7.7,CSH,23.5 +CMT,1,1,627,2.6,CRD,10.5 +CMT,1,1,133,0.3,CSH,3.5 +CMT,1,1,358,1.3,CRD,6.5 +CMT,1,3,968,5.4,CRD,17.5 +CMT,1,1,1265,5.6,CSH,19.5 +CMT,1,4,1266,7.3,CRD,24.5 +CMT,1,2,274,1.1,CSH,6 +CMT,1,2,1286,9.5,CRD,28 +CMT,1,1,539,2.3,CRD,10 +CMT,1,1,1248,12.9,CRD,36.5 +CMT,1,1,235,0.6,CRD,5 +CMT,1,2,207,0.9,CRD,5 +CMT,1,1,423,1,CSH,6.5 +CMT,1,1,1108,9.1,CSH,27.5 +CMT,1,1,1123,5.3,CRD,18 +CMT,1,2,432,3.9,CSH,12.5 +CMT,1,1,619,2.4,CRD,10 +CMT,1,1,332,1.6,CSH,7 +CMT,1,4,403,1.8,CRD,8 +CMT,1,1,823,2.5,CRD,11 +CMT,1,1,605,1,CRD,7.5 +CMT,1,2,385,0.7,CSH,5.5 +CMT,1,3,492,1.3,CSH,7.5 +CMT,1,3,773,2.8,CRD,12 +CMT,1,1,174,0.4,CSH,4 +CMT,1,2,248,0.5,CSH,4.5 +CMT,1,1,330,0.7,CRD,5.5 +CMT,1,2,439,1.5,CSH,7.5 +CMT,1,2,561,1.9,CSH,9 +CMT,1,1,927,3.7,CRD,15 +CMT,1,1,460,2.6,CSH,9.5 +CMT,1,1,1275,4.2,CSH,18 +CMT,1,1,370,1.2,CRD,7 +CMT,1,1,676,2,CRD,10 +CMT,1,1,287,0.7,CRD,5 +CMT,1,1,154,0.3,CSH,4 +CMT,1,1,656,1.3,CSH,8.5 +CMT,1,1,520,1.2,CRD,7.5 +CMT,1,1,194,0.6,CRD,4.5 +CMT,1,1,157,0.5,CSH,4 +CMT,1,1,132,0.8,CRD,4.5 +CMT,1,1,223,1.2,CRD,5.5 +CMT,1,1,188,0.4,CRD,4 +CMT,1,1,709,1.7,CSH,9.5 +CMT,1,1,346,0.8,CSH,5.5 +CMT,1,1,598,0.6,CSH,7.5 +CMT,1,1,347,0.9,CRD,6 +CMT,1,1,713,1.8,CSH,9.5 +CMT,1,1,731,1.6,CRD,9.5 +CMT,1,1,880,2.3,CSH,11.5 +CMT,1,1,569,5.5,CSH,17 +CMT,1,1,727,1.4,CSH,9.5 +CMT,1,1,416,1.6,CRD,7.5 +CMT,1,1,302,1.1,CSH,6 +CMT,1,1,943,2.6,CRD,12.5 +CMT,1,1,946,1.8,CRD,11.5 +CMT,1,2,956,4,CSH,15 +CMT,1,3,390,1.9,CSH,8.5 +CMT,1,2,825,5,CRD,17 +CMT,1,1,240,0.6,CRD,5 +CMT,1,3,520,1.4,CRD,8 +CMT,1,1,408,2.2,CSH,8.5 +CMT,1,2,789,2.2,CSH,11 +CMT,1,2,175,0.8,CRD,4.5 +CMT,1,1,357,2.1,CRD,8 +CMT,1,2,919,3.4,CRD,14 +CMT,1,1,491,0.8,CSH,7 +CMT,1,2,1311,10.3,CSH,31 +CMT,1,2,256,1,CRD,5.5 +CMT,1,2,299,0.8,CSH,5.5 +CMT,1,1,972,5.5,CRD,19 +CMT,1,1,942,5.7,CSH,18.5 +CMT,1,2,1325,6.5,CRD,22 +CMT,1,1,774,3.1,CRD,12.5 +CMT,1,3,618,2.3,CSH,10 +CMT,1,1,287,1.5,CSH,6.5 +CMT,1,1,275,1.3,CRD,6.5 +CMT,1,2,2498,20,CSH,58 +CMT,1,2,456,0.8,CRD,6.5 +CMT,1,1,716,2.2,CRD,10.5 +CMT,1,1,144,0.4,CSH,3.5 +CMT,1,1,804,3.6,CRD,13.5 +CMT,1,2,1004,4,CRD,16 +CMT,1,3,986,3.7,CRD,15 +CMT,1,1,704,2.2,CRD,10.5 +CMT,1,1,711,3.9,CSH,13.5 +CMT,1,3,763,1.7,CRD,10 +CMT,1,1,206,1.1,CRD,5.5 +CMT,1,2,521,1.9,CRD,8.5 +CMT,1,1,188,0.7,CSH,4.5 +CMT,1,1,143,0.7,CSH,4.5 +CMT,1,1,592,2.9,CRD,10.5 +CMT,1,2,234,0.7,CSH,4.5 +CMT,1,1,105,0.5,CRD,3.5 +CMT,1,1,615,2.7,CRD,10.5 +CMT,1,1,394,1.7,CRD,7.5 +CMT,1,1,351,1.1,CRD,6.5 +CMT,1,1,344,1.5,CRD,6.5 +CMT,1,1,702,6.5,CRD,19.5 +CMT,1,2,253,0.9,CRD,5 +CMT,1,1,1063,6,CRD,20.5 +CMT,1,2,811,3.8,CRD,14 +CMT,1,1,337,1,CSH,6 +CMT,1,1,118,0.4,CSH,3.5 +CMT,1,2,625,1.7,CSH,9 +CMT,1,3,461,1.5,CRD,7.5 +CMT,1,1,987,4.8,CRD,17 +CMT,1,1,437,2.5,CRD,9 +CMT,1,1,802,2.1,CSH,11 +CMT,1,1,560,1.8,CSH,9 +CMT,1,1,587,1.4,CRD,8 +CMT,1,1,987,0.9,CSH,10.5 +CMT,1,1,270,0.8,CRD,5.5 +CMT,1,1,671,2,CRD,10 +CMT,1,1,95,0.3,CSH,3.5 +CMT,1,1,404,1.4,CRD,7.5 +CMT,1,1,1179,6.9,CRD,21.5 +CMT,1,2,420,2.2,CSH,8.5 +CMT,1,1,235,0.7,CSH,5 +CMT,1,1,384,1.4,CSH,7 +CMT,1,2,507,2.3,CSH,9 +CMT,1,2,495,1.5,CRD,8 +CMT,1,4,1206,2.8,CSH,15 +CMT,1,3,1628,3,CSH,18 +CMT,1,3,539,1.8,CRD,8.5 +CMT,1,2,1104,4.6,CRD,17.5 +CMT,1,1,473,1,CRD,7 +CMT,1,1,340,1.1,CRD,6 +CMT,1,1,373,1.1,CSH,6.5 +CMT,1,4,559,1.5,CSH,8.5 +CMT,1,1,1203,3.2,CRD,14.5 +CMT,1,1,680,2.2,CSH,10 +CMT,1,2,284,1.1,CRD,5.5 +CMT,1,1,265,1.5,CSH,7 +CMT,2,1,3416,19.6,CSH,52 +CMT,1,1,393,1.6,CSH,7.5 +CMT,1,1,535,3.6,CRD,12 +CMT,1,1,463,1.1,CRD,7 +CMT,1,1,1170,3.8,CRD,16.5 +CMT,1,1,411,0.7,CRD,6 +CMT,1,1,465,1.3,CRD,7 +CMT,1,1,348,0.8,CRD,6 +CMT,1,1,566,2.5,CRD,10.5 +CMT,1,1,520,2.3,CRD,9.5 +CMT,1,1,534,1.5,CSH,8 +CMT,1,1,1006,2.7,CSH,12.5 +CMT,1,1,368,1.3,CRD,7 +CMT,1,1,481,0.9,CRD,7 +CMT,1,1,439,1.2,CSH,7.5 +CMT,1,3,2513,5.4,CSH,27 +CMT,1,2,561,1.6,CRD,8.5 +CMT,1,1,119,0.5,CSH,4 +CMT,1,1,601,3,CRD,11 +CMT,1,2,523,2.4,CRD,9.5 +CMT,1,4,337,2.1,CSH,8.5 +CMT,1,3,269,1.1,CSH,6 +CMT,1,1,1348,9,CRD,28 +CMT,1,1,688,4.1,CRD,14 +CMT,1,1,964,3.2,CRD,13.5 +CMT,1,1,419,1.3,CSH,7 +CMT,1,1,113,0.4,CRD,3.5 +CMT,1,3,343,0.7,CSH,5.5 +CMT,1,1,1029,4.5,CRD,16 +CMT,1,2,1310,1.6,CSH,14 +CMT,1,1,720,4.6,CSH,14.5 +CMT,1,2,517,1.5,CRD,8 +CMT,1,1,421,1.5,CSH,7 +CMT,1,1,804,3.1,CRD,12 +CMT,1,2,1248,5,CRD,18.5 +CMT,1,4,228,0.6,CSH,5 +CMT,1,1,603,1,CSH,8 +CMT,1,4,278,1.9,CRD,7.5 +CMT,1,1,161,0.4,CSH,4 +CMT,1,4,304,1.2,CRD,6 +CMT,1,1,586,3,CSH,10.5 +CMT,1,3,284,1.6,CRD,6.5 +CMT,1,1,346,1.1,CRD,6 +CMT,1,1,539,1.4,CRD,8 +CMT,1,1,822,3.7,CRD,13.5 +CMT,1,1,870,3,CSH,12.5 +CMT,1,2,697,2.5,CSH,11 +CMT,1,2,942,3.2,CSH,14 +CMT,1,1,405,1.2,CRD,7 +CMT,1,1,264,0.8,CRD,5.5 +CMT,1,2,855,3.8,CRD,14.5 +CMT,1,2,1267,3.2,CRD,16 +CMT,1,2,339,1.5,CRD,7 +CMT,1,2,315,1.5,CRD,6.5 +CMT,1,1,240,1,CRD,5.5 +CMT,1,2,852,2,CSH,10.5 +CMT,1,1,597,3.3,CRD,11.5 +CMT,1,1,209,1.5,CSH,6 +CMT,1,1,363,1.7,CSH,8 +CMT,1,1,752,2,CSH,10.5 +CMT,1,1,389,0.9,CRD,6.5 +CMT,1,1,445,1,CSH,6.5 +CMT,1,2,247,0.7,CRD,5 +CMT,1,2,1053,4.6,CSH,16.5 +CMT,1,2,405,1.5,CSH,7.5 +CMT,1,3,406,1.4,CSH,7.5 +CMT,1,3,315,0.8,CSH,5.5 +CMT,1,2,376,0.7,CSH,6 +CMT,1,3,1150,3.5,CRD,15.5 +CMT,1,1,285,1.1,CRD,6 +CMT,1,3,112,0.3,CSH,3.5 +CMT,1,1,154,0.4,CSH,4 +CMT,1,4,302,0.8,CRD,5.5 +CMT,1,2,843,3.3,CRD,13 +CMT,1,1,439,1.1,CSH,7 +CMT,1,2,293,0.6,CRD,5 +CMT,1,3,723,1.7,CSH,9.5 +CMT,1,1,480,1.7,CRD,8 +CMT,1,1,2150,10,CRD,33 +CMT,1,1,446,1.3,CRD,7.5 +CMT,1,1,349,1.3,CSH,6.5 +CMT,1,2,528,1.8,CRD,8.5 +CMT,1,2,725,2.6,CSH,10.5 +CMT,1,1,465,3,CSH,10.5 +CMT,1,3,688,3.9,CSH,13 +CMT,1,1,288,1.2,CSH,6 +CMT,1,2,1425,5.5,CSH,19.5 +CMT,1,1,380,1.6,CRD,7 +CMT,1,2,322,1,CRD,6 +CMT,1,1,220,0.5,CSH,4.5 +CMT,1,1,961,4.2,CSH,15.5 +CMT,1,2,410,1.1,CRD,6.5 +CMT,2,1,2378,29.1,CRD,52 +CMT,1,2,659,2.7,CSH,11 +CMT,1,2,162,0.2,CSH,3.5 +CMT,1,1,2864,13,CRD,43.5 +CMT,1,3,474,3.1,CRD,11.5 +CMT,1,1,374,1.3,CSH,7 +CMT,1,1,642,3.9,CRD,14 +CMT,1,2,427,1.9,CSH,8.5 +CMT,1,2,223,1.5,CSH,6.5 +CMT,1,1,506,1.5,CRD,7.5 +CMT,1,3,805,3.1,CRD,12.5 +CMT,1,1,819,5.3,CSH,17 +CMT,1,1,286,0.8,CSH,5.5 +CMT,1,1,744,1.8,CSH,10 +CMT,1,1,540,1.6,CSH,8.5 +CMT,1,1,294,1.3,CRD,6.5 +CMT,1,1,1200,5,CRD,20 +CMT,1,2,990,3.1,CRD,13.5 +CMT,1,2,578,1.7,CRD,9 +CMT,1,3,1563,9.9,CRD,31 +CMT,1,1,202,0.6,CRD,4.5 +CMT,1,2,251,0.5,CRD,5 +CMT,1,1,394,2.6,CRD,9.5 +CMT,1,4,364,1.4,CSH,7 +CMT,1,1,159,0.7,CSH,4.5 +CMT,1,2,379,1.3,CSH,7 +CMT,1,2,485,1.1,CRD,7 +CMT,1,1,940,4,CRD,15 +CMT,1,1,826,4.1,CRD,14.5 +CMT,1,1,1090,4.7,CRD,17 +CMT,1,2,582,1.4,CSH,8.5 +CMT,1,1,376,0.9,CRD,6 +CMT,1,1,847,2.8,CRD,12 +CMT,1,2,806,4.8,CRD,15 +CMT,1,2,702,2.7,CSH,11.5 +CMT,1,1,591,1.9,CRD,9.5 +CMT,1,1,191,1.2,CRD,5.5 +CMT,1,1,412,1.4,CRD,7 +CMT,1,2,1207,6.3,CRD,20.5 +CMT,1,1,742,3,CSH,11.5 +CMT,1,1,245,0.9,CRD,5 +CMT,1,1,483,1.4,CSH,8 +CMT,1,2,482,1.1,CSH,7 +CMT,1,1,632,2.6,CRD,10.5 +CMT,1,1,1135,4.7,CSH,16.5 +CMT,1,1,365,1.1,CSH,6.5 +CMT,1,1,1142,2.1,CRD,13 +CMT,1,2,1346,5.6,CSH,20 +CMT,1,1,358,1.1,CSH,6.5 +CMT,1,1,561,2.1,CRD,9.5 +CMT,1,2,211,0.7,CSH,5 +CMT,1,2,376,1.5,CRD,7 +CMT,1,3,267,0.6,CRD,5 +CMT,1,2,166,0.7,CSH,4.5 +CMT,1,1,210,0.6,CRD,4.5 +CMT,1,1,364,3,CRD,10 +CMT,1,2,423,1.5,CRD,7.5 +CMT,1,1,260,2,CSH,7.5 +CMT,1,2,1186,6.3,CSH,21 +CMT,1,2,1636,5.2,CSH,21 +CMT,1,1,485,2,CRD,8 +CMT,1,1,1157,5.5,CSH,19 +CMT,1,1,220,0.5,CRD,4.5 +CMT,1,1,879,2.1,CSH,11.5 +CMT,1,1,844,1.7,CSH,10.5 +CMT,1,1,571,1.5,CRD,8.5 +CMT,1,1,163,0.6,CSH,4 +CMT,1,1,448,0.8,CSH,6.5 +CMT,1,1,666,2,CSH,9.5 +CMT,1,1,1142,8.7,CSH,26 +CMT,1,1,687,2.1,CSH,10 +CMT,1,1,404,0.8,CRD,6 +CMT,1,1,838,2.2,CRD,11 +CMT,1,1,700,1.1,CSH,9 +CMT,1,1,379,1.7,CSH,7.5 +CMT,1,1,726,1.4,CRD,9.5 +CMT,1,1,672,2.3,CSH,10 +CMT,1,1,890,3.9,CRD,14 +CMT,1,2,602,1.3,CSH,8.5 +CMT,1,1,2247,12.7,CRD,40 +CMT,1,2,398,0.9,CRD,6 +CMT,1,1,396,1.1,CRD,7 +CMT,1,2,443,3.4,CRD,11.5 +CMT,1,1,725,3.3,CRD,12 +CMT,1,1,353,2.5,CRD,9.5 +CMT,1,1,530,3.8,CSH,12 +CMT,1,1,738,1.3,CRD,9 +CMT,1,2,329,2.1,CSH,7.5 +CMT,1,1,321,1.4,CSH,6.5 +CMT,1,1,1113,12.2,CSH,33.5 +CMT,1,1,855,3.2,CRD,13 +CMT,1,1,290,1.2,CRD,6 +CMT,1,1,1256,7,CSH,24 +CMT,1,1,1094,4.4,CRD,16 +CMT,1,1,223,0.9,CSH,5 +CMT,1,2,1262,6.5,CRD,21 +CMT,1,1,330,0.4,CRD,5 +CMT,1,1,1977,7.1,CRD,27 +CMT,1,1,521,1.8,CSH,8 +CMT,1,1,524,1.7,CRD,8.5 +CMT,1,1,637,3.2,CRD,11.5 +CMT,1,1,909,5.6,CSH,17.5 +CMT,1,3,747,3.4,CRD,12.5 +CMT,1,2,627,1.7,CSH,9.5 +CMT,1,2,471,1.7,CSH,8 +CMT,1,1,359,0.9,CSH,6 +CMT,1,1,700,6.8,CRD,20 +CMT,1,1,598,2.2,CRD,9.5 +CMT,1,1,204,0.5,CSH,4.5 +CMT,1,1,1350,5.3,CRD,21 +CMT,1,2,181,0.7,CRD,4.5 +CMT,1,1,714,3.2,CSH,13 +CMT,1,1,1455,7.9,CSH,26 +CMT,1,3,308,0.9,CRD,5.5 +CMT,1,1,290,0.8,CRD,5 +CMT,1,1,372,1,CSH,6.5 +CMT,2,1,2937,21.4,CRD,52 +CMT,1,1,1467,4.7,CRD,19.5 +CMT,1,2,678,1.4,CSH,9 +CMT,1,1,239,1,CSH,5.5 +CMT,1,1,1077,4.1,CSH,16 +CMT,1,1,415,0.7,CRD,6 +CMT,1,1,176,0.4,CRD,4 +CMT,1,1,851,2.3,CSH,11.5 +CMT,1,1,185,0.3,CRD,4 +CMT,1,1,408,1.4,CRD,7 +CMT,1,1,1735,3.1,CRD,19 +CMT,1,1,266,0.7,CSH,5.5 +CMT,1,1,1063,2.5,CRD,13 +CMT,1,1,1444,7.2,CRD,24.5 +CMT,1,1,1353,3.1,CRD,16 +CMT,1,1,439,0.9,CRD,6.5 +CMT,1,2,1439,4.2,CRD,18 +CMT,1,1,361,1.2,CRD,6.5 +CMT,1,1,472,1.3,CRD,7.5 +CMT,1,1,539,2.4,CRD,9.5 +CMT,1,1,707,4.2,CRD,14 +CMT,1,1,190,1.1,CSH,5.5 +CMT,1,1,345,1.2,CRD,6.5 +CMT,1,1,1258,2.3,CSH,14.5 +CMT,1,1,429,2,CRD,8 +CMT,1,1,1421,5.9,CSH,21 +CMT,1,1,1133,10.8,CSH,30.5 +CMT,1,1,889,7.2,CRD,22 +CMT,1,1,533,2.6,CRD,10 +CMT,1,2,347,1.8,CRD,7.5 +CMT,1,2,1220,4.8,CSH,18.5 +CMT,1,1,603,2.3,CRD,10 +CMT,1,2,365,1.7,CRD,7 +CMT,1,3,685,2.1,CRD,9.5 +CMT,1,1,967,3,CSH,13 +CMT,1,2,407,0.9,CSH,6.5 +CMT,1,1,1059,4.2,CRD,16 +CMT,1,1,672,6,CSH,18.5 +CMT,1,1,968,6.8,CRD,21.5 +CMT,1,1,297,1.3,CRD,6 +CMT,1,3,1493,7.4,CRD,25 +CMT,1,2,624,4,CRD,13 +CMT,1,2,687,2.2,CRD,10 +CMT,1,1,816,1.3,CRD,10 +CMT,1,1,223,1.1,CRD,5.5 +CMT,1,3,806,1.6,CSH,9.5 +CMT,1,2,756,1.7,CSH,9.5 +CMT,1,3,450,1.3,CRD,7 +CMT,1,2,1674,10.6,CSH,33 +CMT,1,1,541,1.8,CRD,8.5 +CMT,1,1,993,5.1,CRD,17.5 +CMT,1,1,543,3.5,CSH,11.5 +CMT,1,1,978,5.3,CRD,17 +CMT,1,1,230,1.6,CSH,6.5 +CMT,1,1,552,1.9,CRD,9 +CMT,1,2,493,1.1,CSH,7 +CMT,1,1,828,3.7,CSH,13.5 +CMT,1,1,172,0.5,CSH,4 +CMT,1,1,151,0.2,CRD,3.5 +CMT,1,1,226,0.5,CSH,4.5 +CMT,1,1,518,5.8,CRD,17.5 +CMT,1,2,941,4.4,CSH,16 +CMT,1,1,691,4.1,CSH,14 +CMT,1,1,730,4.2,CSH,14.5 +CMT,1,2,1484,11.9,CRD,35.5 +CMT,1,2,52,0.3,CRD,3 +CMT,1,2,780,8.9,CRD,25 +CMT,1,1,616,1.8,CSH,9 +CMT,1,1,428,3.7,CRD,12 +CMT,1,2,299,0.9,CRD,6 +CMT,1,1,826,2.9,CSH,12 +CMT,1,1,1114,5.2,CRD,19.5 +CMT,1,1,668,2.3,CRD,10.5 +CMT,1,1,170,0.8,CSH,4.5 +CMT,1,1,383,2.7,CRD,9.5 +CMT,1,1,692,3.4,CSH,13 +CMT,1,1,220,0.9,CRD,5 +CMT,1,2,305,1,CSH,6 +CMT,1,2,105,0.5,CRD,4 +CMT,1,1,642,2,CRD,9.5 +CMT,1,2,655,1.4,CRD,9 +CMT,1,2,706,2.5,CSH,11.5 +CMT,1,2,1048,2.3,CSH,12 +CMT,1,1,191,0.4,CSH,4 +CMT,1,2,233,0.7,CSH,4.5 +CMT,1,3,354,1.1,CRD,6 +CMT,1,3,627,1.8,CSH,9 +CMT,1,1,675,3.1,CRD,12 +CMT,1,1,701,3.1,CRD,11.5 +CMT,1,1,1143,5.2,CRD,19 +CMT,1,2,57,0.3,CRD,3 +CMT,1,2,479,2.2,CSH,9 +CMT,1,1,513,2.2,CRD,9 +CMT,1,1,1230,5.8,CRD,21 +CMT,1,1,1252,3.9,CRD,16.5 +CMT,1,1,790,2.7,CRD,11.5 +CMT,1,1,262,0.7,CRD,5.5 +CMT,1,1,413,1.4,CSH,7 +CMT,1,1,669,1,CRD,8.5 +CMT,1,2,1137,4,CSH,16 +CMT,1,1,301,1.7,CSH,7 +CMT,1,1,311,0.9,CRD,6 +CMT,1,1,392,1.3,CSH,7 +CMT,1,1,598,1,CRD,8 +CMT,1,2,1375,4.2,CSH,17 +CMT,1,1,1032,4.5,CRD,16 +CMT,1,1,491,3,CSH,10.5 +CMT,1,1,723,4.2,CSH,14 +CMT,1,2,644,1.9,CRD,9 +CMT,1,2,1031,4.6,CRD,16 +CMT,1,1,530,3.5,CRD,11.5 +CMT,1,1,522,1.9,CRD,9 +CMT,1,1,948,6.8,CRD,21.5 +CMT,1,2,598,1.7,CRD,9.5 +CMT,1,2,548,2.3,CSH,9.5 +CMT,1,1,833,2.4,CRD,11 +CMT,1,1,774,2.8,CSH,12 +CMT,1,1,360,1.9,CRD,7.5 +CMT,1,1,573,2.2,CRD,9.5 +CMT,1,1,464,1.7,CRD,7.5 +CMT,1,2,216,0.8,CRD,5 +CMT,1,3,1553,9.6,CRD,28 +CMT,1,1,582,1.4,CRD,8.5 +CMT,1,2,1596,6.3,CRD,24 +CMT,1,1,1024,5.8,CSH,19.5 +CMT,1,1,568,1.7,CSH,8.5 +CMT,1,1,890,9,CRD,26 +CMT,1,1,1730,13.6,CRD,40 +CMT,2,1,13,0,CRD,52 +CMT,1,2,798,2.5,CSH,11 +CMT,1,1,1549,5.9,CRD,21 +CMT,1,2,1390,4.9,CSH,19 +CMT,1,2,1273,7.1,CSH,22 +CMT,1,3,301,0.7,CRD,5.5 +CMT,1,1,435,0.9,CRD,6.5 +CMT,1,3,211,1.4,CSH,6 +CMT,1,1,156,0.4,CRD,4 +CMT,1,1,704,3.8,CSH,13.5 +CMT,1,2,527,2.9,CRD,11 +CMT,1,1,898,2.9,CRD,12.5 +CMT,1,1,661,2.4,CSH,10 +CMT,1,1,678,1.8,CSH,9 +CMT,1,4,763,2.1,CRD,11 +CMT,1,2,695,4.4,CRD,14.5 +CMT,1,2,1229,4.2,CSH,16.5 +CMT,1,1,259,1,CSH,6 +CMT,1,2,423,1.6,CSH,8 +CMT,1,1,66,0.4,CSH,3.5 +CMT,1,1,827,1.6,CRD,11 +CMT,1,1,360,1.5,CSH,7 +CMT,1,1,1081,7,CRD,22 +CMT,1,1,82,0.6,CSH,4 +CMT,1,2,543,2.4,CSH,9.5 +CMT,1,1,666,4,CSH,13.5 +CMT,1,1,442,3.6,CRD,11.5 +CMT,1,1,382,1.8,CSH,7.5 +CMT,1,1,536,1.2,CRD,8 +CMT,1,1,929,3,CRD,13 +CMT,1,1,488,1.8,CRD,8.5 +CMT,1,1,377,1.5,CRD,7.5 +CMT,1,1,400,1.6,CRD,7.5 +CMT,1,1,886,4.2,CRD,14.5 +CMT,1,1,121,0.3,CRD,3.5 +CMT,1,1,582,2.2,CRD,9.5 +CMT,1,1,1291,5.2,CRD,18.5 +CMT,1,3,370,1,CRD,6 +CMT,1,1,377,2,CSH,8 +CMT,1,1,634,2.1,CSH,10 +CMT,1,1,628,3.2,CSH,12 +CMT,1,1,767,3.3,CRD,12.5 +CMT,1,1,229,0.4,CRD,4.5 +CMT,1,2,177,0.5,CRD,4 +CMT,1,1,1124,6,CRD,20 +CMT,1,1,309,1.8,CRD,7.5 +CMT,1,1,290,0.8,CSH,5.5 +CMT,1,1,463,2.3,CSH,9.5 +CMT,1,1,259,1.3,CSH,6.5 +CMT,1,1,531,0.7,CRD,7 +CMT,1,1,804,2.4,CRD,11.5 +CMT,1,2,758,3.1,CSH,13 +CMT,1,1,213,1,CSH,5 +CMT,1,2,204,0.5,CSH,4.5 +CMT,1,4,1114,5.1,CRD,18.5 +CMT,1,2,272,0.9,CSH,5.5 +CMT,1,1,397,0.4,CRD,5.5 +CMT,1,1,523,2.8,CRD,10 +CMT,1,2,1240,5.8,CSH,20 +CMT,1,1,362,1.5,CSH,7.5 +CMT,1,2,796,5.9,CSH,18 +CMT,1,1,472,1.2,CSH,7 +CMT,1,1,280,0.5,CRD,5 +CMT,1,1,823,5.4,CRD,16.5 +CMT,1,1,421,1.5,CSH,7.5 +CMT,1,2,477,1,CRD,7 +CMT,1,1,351,1.6,CSH,7 +CMT,1,2,185,0.9,CRD,5 +CMT,1,2,933,10.4,CRD,29 +CMT,1,1,1632,3.7,CSH,19.5 +CMT,1,1,491,1.1,CSH,7 +CMT,1,1,829,5.6,CRD,18.5 +CMT,1,1,157,0.3,CSH,4 +CMT,1,2,918,3.6,CSH,14.5 +CMT,1,1,719,1.5,CSH,9 +CMT,1,1,395,1.3,CRD,7 +CMT,1,3,133,0.5,CRD,4 +CMT,1,1,323,1.6,CRD,7 +CMT,1,1,291,1.2,CRD,6 +CMT,1,1,314,0.8,CRD,5.5 +CMT,1,2,1113,8.9,CSH,27 +CMT,1,1,432,2.3,CSH,8.5 +CMT,1,1,376,2.4,CRD,8.5 +CMT,1,1,1248,3.4,CRD,15.5 +CMT,1,3,819,3.1,CSH,13 +CMT,1,1,543,2.1,CSH,9 +CMT,1,4,919,2.9,CSH,12.5 +CMT,1,2,1076,3.2,CSH,14 +CMT,1,1,151,0.6,CRD,4 +CMT,1,1,972,3.8,CSH,14.5 +CMT,1,2,609,4,CSH,13.5 +CMT,1,1,977,8.8,CRD,26 +CMT,1,1,466,2,CSH,9 +CMT,1,2,270,0.4,CSH,4.5 +CMT,1,2,1034,5.9,CSH,20 +CMT,1,1,892,7.2,CRD,22.5 +CMT,1,1,363,1.7,CSH,8 +CMT,1,2,760,4.6,CSH,15.5 +CMT,1,1,655,1.6,CRD,9 +CMT,1,4,505,4,CSH,13 +CMT,1,1,579,1.9,CSH,9.5 +CMT,1,2,775,2.6,CSH,11.5 +CMT,1,3,274,1.2,CRD,6 +CMT,1,1,496,1.5,CSH,8 +CMT,1,1,652,2.7,CSH,11 +CMT,1,1,467,1.4,CSH,7.5 +CMT,1,1,150,1.1,CRD,5 +CMT,1,1,106,0.7,CSH,4 +CMT,1,1,651,2.8,CRD,11 +CMT,1,1,842,5.4,CSH,17 +CMT,1,1,254,1,CRD,5.5 +CMT,1,1,901,4.8,CRD,17 +CMT,1,1,191,0.6,CSH,4.5 +CMT,1,1,783,1.2,CRD,9.5 +CMT,1,1,1069,6.7,CRD,21.5 +CMT,1,1,155,0.5,CSH,4 +CMT,1,1,1488,13.4,CRD,38 +CMT,1,1,638,4,CRD,13 +CMT,1,1,879,5.6,CSH,18.5 +CMT,1,2,131,0.6,CRD,4 +CMT,1,1,380,1.5,CRD,7 +CMT,1,1,1353,6.3,CSH,22 +CMT,1,1,473,2.4,CSH,9.5 +CMT,1,1,339,2,CSH,8.5 +CMT,5,1,34,0,CRD,50 +CMT,1,1,964,4,CSH,15 +CMT,1,1,743,1.3,CSH,10 +CMT,1,1,501,2.4,CRD,9.5 +CMT,5,2,39,0,CRD,90 +CMT,1,3,271,0.5,CRD,5 +CMT,1,1,306,1.5,CSH,6.5 +CMT,1,1,270,1.5,CRD,6.5 +CMT,1,1,236,0.7,CSH,5 +CMT,1,1,514,3.3,CSH,12 +CMT,1,3,816,1.9,CRD,11 +CMT,1,1,153,0.8,CRD,4.5 +CMT,1,1,973,7.5,CRD,23 +CMT,1,1,484,2.6,CSH,10.5 +CMT,1,4,384,1.7,CSH,7.5 +CMT,1,1,701,4.7,CSH,15.5 +CMT,1,1,672,1.5,CRD,9 +CMT,1,1,456,2.7,CRD,10 +CMT,1,2,314,1.2,CSH,6.5 +CMT,1,1,219,0.9,CSH,5 +CMT,1,1,407,1.7,CSH,8 +CMT,1,1,425,1.6,CSH,8 +CMT,1,1,535,3,CRD,11.5 +CMT,1,1,279,2,CSH,7.5 +CMT,1,1,251,1.1,CRD,6 +CMT,1,2,1100,3.7,CSH,15 +CMT,1,1,397,1.6,CRD,7.5 +CMT,1,1,629,3.3,CRD,11.5 +CMT,1,1,1062,2.5,CRD,13.5 +CMT,1,1,108,0.8,CSH,4.5 +CMT,1,1,934,5.2,CRD,18 +CMT,1,1,1354,2.8,CRD,16 +CMT,1,1,898,6.1,CSH,19.5 +CMT,1,1,579,3,CSH,11 +CMT,1,1,754,2.1,CSH,10.5 +CMT,1,1,622,4.8,CRD,15.5 +CMT,1,1,398,1.5,CRD,7.5 +CMT,1,1,538,1.5,CRD,8 +CMT,1,1,810,2.7,CRD,11.5 +CMT,1,1,494,2.2,CRD,9 +CMT,1,2,1000,5.3,CRD,18 +CMT,1,1,331,0.8,CSH,5.5 +CMT,1,4,1090,3.6,CSH,15.5 +CMT,1,1,706,2,CSH,10 +CMT,1,1,1317,5.9,CSH,21 +CMT,1,1,662,1.4,CSH,8.5 +CMT,1,1,674,1.9,CRD,9.5 +CMT,1,1,860,2.6,CRD,12 +CMT,1,2,204,0.6,CRD,4.5 +CMT,1,1,495,1.7,CRD,8.5 +CMT,1,2,542,1.8,CRD,8.5 +CMT,1,3,410,1.5,CRD,7.5 +CMT,1,2,1277,6.7,CRD,21.5 +CMT,1,2,898,3.8,CRD,14 +CMT,1,1,232,1,CRD,5.5 +CMT,1,2,1156,6,CSH,21 +CMT,1,1,681,1.9,CRD,9.5 +CMT,1,1,243,1.2,CRD,6 +CMT,2,1,1596,16.5,CRD,52 +CMT,1,1,1021,9.6,CRD,27.5 +CMT,1,3,341,0.7,CSH,5.5 +CMT,1,1,931,3.5,CRD,14 +CMT,1,1,214,1.5,CRD,6 +CMT,1,1,144,0.5,CSH,4 +CMT,1,3,152,0.3,CSH,3.5 +CMT,1,2,1546,10.8,CSH,34 +CMT,1,1,960,7.9,CRD,24 +CMT,1,3,1231,5.3,CSH,19.5 +CMT,1,1,518,3,CSH,10.5 +CMT,1,3,485,1.5,CSH,7.5 +CMT,1,3,435,1.2,CRD,7 +CMT,1,1,447,1.5,CSH,7.5 +CMT,1,1,214,0.9,CSH,5 +CMT,1,1,597,2,CSH,9.5 +CMT,1,1,351,0.8,CRD,6 +CMT,1,1,1463,3.9,CRD,18.5 +CMT,1,1,1621,14.5,CRD,40 +CMT,1,1,419,0.7,CRD,6 +CMT,1,2,176,0.6,CSH,4.5 +CMT,1,1,258,1,CSH,5.5 +CMT,1,3,991,4.5,CRD,16 +CMT,1,1,998,2.5,CRD,12.5 +CMT,1,1,73,0.2,CSH,3 +CMT,1,1,237,0.6,CRD,5 +CMT,1,1,461,1.1,CSH,7 +CMT,1,2,969,3,CRD,13 +CMT,1,2,260,0.7,CRD,5 +CMT,1,1,469,0.9,CSH,7 +CMT,1,1,1193,4.7,CRD,17.5 +CMT,1,1,2102,12.1,CSH,38 +CMT,1,1,658,3.8,CSH,13.5 +CMT,1,2,903,9.5,CSH,26.5 +CMT,1,3,631,2.4,CSH,10 +CMT,1,1,466,2.5,CRD,9.5 +CMT,1,1,366,2.4,CSH,9 +CMT,1,1,441,1.4,CRD,7.5 +CMT,1,1,589,2.7,CSH,11 +CMT,1,1,508,2.5,CSH,10 +CMT,1,1,820,8.3,CSH,24 +CMT,1,3,1470,6.7,CSH,23.5 +CMT,1,1,527,4.3,CSH,14 +CMT,1,2,276,0.6,CRD,5 +CMT,1,1,172,1.7,CSH,6.5 +CMT,1,1,353,2.6,CSH,9 +CMT,1,1,1693,14.6,CSH,42 +CMT,1,1,244,1.2,CRD,6 +CMT,1,2,895,5.9,CSH,19 +CMT,1,4,447,2.3,CSH,9.5 +CMT,1,3,529,1.5,CRD,8 +CMT,1,1,562,2.9,CSH,11 +CMT,1,1,165,0.5,CSH,4.5 +CMT,1,1,426,1.4,CSH,7 +CMT,1,1,243,1.1,CSH,6 +CMT,1,2,201,0.8,CRD,5 +CMT,1,1,299,1.5,CRD,7 +CMT,1,1,1031,5.2,CRD,17.5 +CMT,5,1,275,2.6,CRD,58 +CMT,1,1,383,1.2,CRD,6.5 +CMT,1,2,1300,5.1,CRD,19.5 +CMT,1,3,1040,9.5,CSH,28.5 +CMT,1,2,616,1.2,CRD,8.5 +CMT,1,2,959,4.8,CSH,17 +CMT,1,1,523,1.3,CSH,8 +CMT,1,1,425,1.8,CRD,8 +CMT,1,1,180,0.5,CRD,4.5 +CMT,1,1,959,3.4,CRD,14 +CMT,1,4,550,2,CSH,9 +CMT,1,1,994,5.2,CRD,18 +CMT,1,1,612,2.2,CSH,9.5 +CMT,1,1,448,1.1,CSH,7 +CMT,1,2,734,4.4,CRD,15 +CMT,1,1,209,0.5,CRD,4.5 +CMT,1,1,164,0.8,CRD,4.5 +CMT,1,1,208,1,CSH,5 +CMT,1,1,1710,10.5,CSH,31 +CMT,1,3,415,1.6,CSH,7.5 +CMT,1,2,417,1.8,CSH,7.5 +CMT,1,1,221,0.8,CRD,5 +CMT,1,1,124,1.1,CRD,5 +CMT,1,2,931,6.1,CSH,19 +CMT,1,2,124,0.6,CSH,4 +CMT,1,2,711,2.2,CSH,10.5 +CMT,1,1,378,2.7,CRD,9 +CMT,5,1,37,0,CRD,65 +CMT,1,1,732,2.5,CSH,10.5 +CMT,1,1,309,1.6,CRD,7 +CMT,1,1,349,0.3,CSH,5.5 +CMT,1,1,203,1.1,CRD,5.5 +CMT,1,1,163,0.4,CRD,4 +CMT,1,1,476,2.3,CRD,9.5 +CMT,1,1,6,0,CSH,2.5 +CMT,1,1,467,1.9,CSH,9 +CMT,1,1,425,1.5,CSH,7.5 +CMT,1,2,1321,6.1,CSH,21.5 +CMT,1,2,192,0.7,CSH,5 +CMT,1,1,1334,4.5,CSH,18.5 +CMT,1,2,346,2.5,CSH,9 +CMT,1,1,1009,3.9,CSH,15.5 +CMT,1,1,153,0.7,CSH,4.5 +CMT,1,1,429,1.2,CSH,7 +CMT,1,1,841,1.7,CSH,10.5 +CMT,1,1,738,4.5,CRD,15 +CMT,1,1,294,1.7,CSH,7 +CMT,1,1,185,0.9,CSH,5 +CMT,1,3,312,0.6,CSH,5.5 +CMT,1,2,247,0.6,CSH,5 +CMT,1,1,586,3.2,CRD,11.5 +CMT,1,1,110,0.4,CSH,3.5 +CMT,1,2,845,2.9,CRD,12.5 +CMT,1,1,489,1.5,CSH,8 +CMT,1,1,817,4.5,CSH,15 +CMT,1,1,235,0.9,CRD,5.5 +CMT,1,3,1895,10,CSH,33 +CMT,1,1,116,0.7,CSH,4 +CMT,1,2,407,2.8,CRD,10 +CMT,1,1,1055,6,CSH,20.5 +CMT,1,1,343,1.5,CRD,7 +CMT,1,1,229,0.9,CSH,5 +CMT,1,1,315,1.4,CSH,6.5 +CMT,1,1,135,0.2,CSH,3.5 +CMT,1,2,1561,10.4,CSH,31 +CMT,1,1,556,2.4,CSH,10 +CMT,1,1,615,3.8,CSH,13 +CMT,1,1,502,2.3,CSH,9.5 +CMT,1,2,379,1.6,CSH,7.5 +CMT,1,1,453,2.4,CSH,9.5 +CMT,1,1,669,7.9,CRD,22 +CMT,1,2,127,0.8,CSH,4.5 +CMT,1,3,388,1.7,CRD,8 +CMT,1,1,1241,6.7,CSH,22 +CMT,1,1,266,1,CSH,6 +CMT,1,1,342,1.5,CRD,7 +CMT,1,2,996,8,CRD,24.5 +CMT,1,1,712,3.4,CRD,12.5 +CMT,1,1,792,4.6,CRD,15.5 +CMT,1,1,456,1.7,CSH,8 +CMT,1,1,649,1.5,CSH,8.5 +CMT,1,2,670,1.8,CRD,9 +CMT,1,1,455,1.4,CSH,7.5 +CMT,1,1,614,4.6,CSH,14.5 +CMT,1,1,479,1.3,CSH,7.5 +CMT,1,1,559,1.9,CRD,9 +CMT,1,1,730,3.5,CRD,12.5 +CMT,1,1,381,0.9,CSH,6.5 +CMT,1,1,346,1.5,CSH,7 +CMT,1,1,203,0.9,CRD,5 +CMT,2,1,1383,16.5,CRD,52 +CMT,1,1,400,1.3,CRD,7 +CMT,1,1,192,0.6,CSH,4.5 +CMT,1,1,814,4,CRD,15 +CMT,1,1,85,0.5,CSH,4 +CMT,1,2,431,1.4,CSH,7 +CMT,1,1,812,2.9,CSH,12.5 +CMT,1,1,943,5.6,CSH,19 +CMT,1,1,308,1.4,CSH,7 +CMT,1,1,467,2,CRD,9 +CMT,1,1,210,1.2,CSH,5.5 +CMT,1,1,231,0.9,CSH,5 +CMT,1,1,521,1.6,CRD,8 +CMT,1,2,722,2.5,CRD,11 +CMT,1,1,252,0.8,CSH,5 +CMT,1,1,391,1.6,CSH,7.5 +CMT,1,1,843,5.2,CRD,16.5 +CMT,1,2,150,0.5,CSH,4 +CMT,1,1,283,1.1,CSH,6 +CMT,1,1,650,2.6,CRD,11 +CMT,1,1,434,1.9,CRD,8.5 +CMT,1,2,252,1.6,CSH,6.5 +CMT,1,1,570,2.7,CRD,10.5 +CMT,1,2,186,0.5,CSH,4.5 +CMT,1,1,382,1.1,CSH,6.5 +CMT,1,1,1179,8.9,CSH,26.5 +CMT,1,2,1015,4.8,CSH,17.5 +CMT,1,1,398,1.3,CRD,7 +CMT,1,1,389,1.4,CSH,7.5 +CMT,1,1,534,2.5,CRD,10 +CMT,1,1,348,1.4,CSH,7 +CMT,1,1,226,0.9,CRD,5 +CMT,1,1,708,4.3,CSH,14 +CMT,1,2,483,2,CSH,8.5 +CMT,1,1,313,1.9,CSH,7.5 +CMT,1,3,1361,8.9,CSH,28 +CMT,1,1,316,0.9,CSH,5.5 +CMT,1,1,914,2.9,CRD,13 +CMT,1,2,521,2.3,CSH,10 +CMT,1,1,549,1.9,CRD,9 +CMT,1,3,384,1.2,CSH,7 +CMT,1,1,555,4.2,CRD,13.5 +CMT,1,4,479,1.3,CSH,7 +CMT,1,2,562,2.6,CSH,10 +CMT,1,1,780,4.2,CSH,14.5 +CMT,1,1,666,2.9,CRD,11.5 +CMT,1,1,545,2.6,CRD,10.5 +CMT,1,1,742,4.5,CSH,15.5 +CMT,1,2,326,1.4,CSH,6.5 +CMT,1,1,568,1.7,CSH,9 +CMT,1,2,712,2.7,CSH,11.5 +CMT,1,2,687,2.3,CSH,10.5 +CMT,1,4,878,4.8,CSH,16.5 +CMT,1,1,468,1.3,CSH,7.5 +CMT,1,1,422,1.5,CRD,7.5 +CMT,1,2,250,0.8,CSH,5 +CMT,1,1,401,2.9,CSH,10.5 +CMT,1,1,1415,6.3,CRD,22 +CMT,1,1,759,5.3,CSH,18 +CMT,1,1,1798,17.7,CRD,49 +CMT,1,1,875,6.9,CSH,20.5 +CMT,1,1,2107,9.1,CSH,33.5 +CMT,1,2,708,1.4,CSH,9.5 +CMT,1,1,643,4,CSH,13.5 +CMT,1,1,872,5.1,CRD,16 +CMT,1,1,323,1.5,CSH,7 +CMT,1,1,288,0.7,CRD,5.5 +CMT,1,1,424,1.3,CRD,7.5 +CMT,1,1,673,1.2,CSH,9.5 +CMT,1,1,121,0.6,CSH,4 +CMT,1,1,448,1.8,CRD,8 +CMT,1,1,231,1.4,CRD,6.5 +CMT,1,1,903,5.7,CSH,18.5 +CMT,1,1,933,9.8,CSH,27.5 +CMT,1,1,309,1.6,CSH,7 +CMT,1,1,145,0.4,CSH,4 +CMT,1,3,394,1,CSH,6.5 +CMT,1,1,709,2.7,CRD,9.5 +CMT,1,1,755,3.3,CSH,13.5 +CMT,1,1,374,1.3,CSH,7 +CMT,1,1,638,1.6,CRD,9 +CMT,1,2,533,2.3,CRD,9.5 +CMT,1,1,335,0.9,CRD,6 +CMT,1,1,220,0.7,CSH,5 +CMT,1,1,297,1.3,CSH,6.5 +CMT,1,2,188,0.6,CSH,4.5 +CMT,1,1,527,3.4,CRD,11.5 +CMT,1,1,354,2.4,CRD,9 +CMT,1,3,919,1.2,CSH,10.5 +CMT,1,1,335,1.8,CSH,8 +CMT,1,1,175,1.1,CSH,5 +CMT,1,1,221,2.1,CRD,7.5 +CMT,1,2,1038,2.1,CRD,13 +CMT,1,1,436,2.4,CSH,9 +CMT,1,1,1065,5.4,CRD,18.5 +CMT,1,1,775,2.8,CSH,12 +CMT,1,1,240,1.2,CSH,6 +CMT,1,2,567,1.8,CRD,8.5 +CMT,1,1,373,0.8,CRD,6 +CMT,1,1,399,2.6,CRD,9.5 +CMT,1,2,646,3.4,CSH,12.5 +CMT,1,1,805,1.8,CSH,10 +CMT,1,3,454,1.6,CRD,7.5 +CMT,1,1,704,3.8,CSH,14 +CMT,1,4,274,1.2,CSH,6 +CMT,1,1,391,1.2,CSH,6.5 +CMT,1,1,818,9.2,CSH,26 +CMT,1,1,1301,3.4,CRD,18 +CMT,1,1,758,7.1,CSH,21.5 +CMT,1,4,272,0.7,CSH,5.5 +CMT,1,1,808,0.8,CRD,9 +CMT,1,1,592,1.9,CRD,9 +CMT,1,1,531,2,CSH,9 +CMT,1,1,334,1.1,CSH,6 +CMT,1,2,422,2.6,CSH,9.5 +CMT,1,1,1029,7.7,CSH,23.5 +CMT,1,3,528,1,CSH,7.5 +CMT,1,1,647,2.6,CRD,11 +CMT,1,1,490,3.6,CRD,12 +CMT,1,1,327,0.5,CSH,5.5 +CMT,1,3,797,2.1,CSH,10.5 +CMT,5,2,38,0,CRD,8 +CMT,1,1,119,0.4,CSH,3.5 +CMT,1,2,643,2.7,CRD,10.5 +CMT,1,1,245,1.4,CSH,6 +CMT,1,1,557,3.5,CSH,12 +CMT,1,1,1024,3.4,CRD,14.5 +CMT,1,4,462,1.5,CSH,8 +CMT,1,1,311,0.9,CSH,6 +CMT,1,1,234,0.7,CRD,5 +CMT,1,1,627,4,CSH,14.5 +CMT,1,3,349,0.9,CRD,6 +CMT,1,1,439,2.1,CSH,9 +CMT,1,1,508,1.3,CRD,7.5 +CMT,1,1,720,2.9,CRD,11.5 +CMT,1,1,918,3.9,CSH,14.5 +CMT,1,1,242,1.1,CSH,5.5 +CMT,1,1,388,1.3,CRD,7 +CMT,1,1,480,2.3,CSH,9 +CMT,1,1,569,7.9,CRD,22.5 +CMT,1,1,1042,5.2,CSH,18.5 +CMT,1,1,557,1.5,CRD,8.5 +CMT,1,1,186,0.7,CRD,4.5 +CMT,1,1,296,1,CRD,5.5 +CMT,1,1,1141,5.7,CSH,19.5 +CMT,1,1,117,0.9,CSH,5 +CMT,1,1,488,2,CRD,9 +CMT,1,1,123,0.5,CRD,4 +CMT,1,1,1551,4.8,CSH,20.5 +CMT,1,1,330,1.5,CSH,7 +CMT,1,1,451,1.5,CRD,7.5 +CMT,1,1,462,1.7,CRD,8 +CMT,1,1,482,1.5,CRD,7.5 +CMT,1,3,649,3,CRD,11.5 +CMT,1,1,1071,3.6,CRD,15 +CMT,1,2,799,4.8,CSH,16 +CMT,1,1,1009,5.3,CRD,18.5 +CMT,1,1,1,0,CRD,2.5 +CMT,1,1,221,0.5,CSH,4.5 +CMT,1,1,415,1.8,CRD,7.5 +CMT,1,1,340,0.6,CRD,5.5 +CMT,1,1,280,1.1,CRD,6 +CMT,1,1,779,3.8,CRD,13.5 +CMT,1,1,152,0.5,CSH,4.5 +CMT,1,1,555,3.5,CRD,12 +CMT,1,2,887,3.1,CRD,13 +CMT,1,1,1696,15.5,CRD,44.5 +CMT,1,1,855,5.8,CRD,18 +CMT,1,1,273,1.9,CSH,7 +CMT,1,1,86,0.4,CRD,3.5 +CMT,1,1,205,1,CSH,5 +CMT,1,1,282,2,CSH,7.5 +CMT,1,1,325,1.2,CRD,6.5 +CMT,1,1,411,1.2,CRD,7 +CMT,1,1,947,5.2,CRD,18.5 +CMT,1,1,248,0.9,CSH,5.5 +CMT,1,1,1601,9.7,CRD,31 +CMT,1,1,1286,8.5,CSH,26.5 +CMT,1,3,1648,16.7,CSH,46 +CMT,1,1,304,1.5,CSH,6.5 +CMT,1,1,481,1.6,CSH,8 +CMT,1,1,720,3.8,CRD,14 +CMT,1,1,803,4,CRD,13.5 +CMT,1,1,468,1.1,CRD,7 +CMT,1,1,183,1.1,CRD,5.5 +CMT,1,1,1162,3.1,CSH,14.5 +CMT,1,1,869,2.1,CRD,11.5 +CMT,2,1,975,13.4,CRD,52 +CMT,1,1,814,1.8,CRD,10 +CMT,1,1,757,3.8,CSH,13.5 +CMT,1,1,607,2,CSH,9 +CMT,1,3,290,0.9,CSH,5.5 +CMT,1,1,257,0.9,CSH,5.5 +CMT,1,1,295,0.7,CRD,5.5 +CMT,1,1,1556,10,CSH,30.5 +CMT,1,1,847,1.8,CRD,11 +CMT,1,4,255,0.7,CSH,5 +CMT,1,1,302,0.6,CRD,5 +CMT,1,3,593,3.2,CRD,11 +CMT,1,1,122,0.8,CSH,4.5 +CMT,1,1,234,0.9,CSH,5.5 +CMT,1,1,502,3.1,CRD,11 +CMT,1,1,634,2.6,CRD,11 +CMT,1,1,569,1.2,CSH,8 +CMT,1,1,241,0.9,CSH,5 +CMT,1,1,406,1,CRD,7 +CMT,1,1,416,2.7,CSH,9.5 +CMT,1,1,319,2.2,CRD,8 +CMT,1,1,640,3.6,CRD,12.5 +CMT,1,1,266,0.9,CSH,5.5 +CMT,1,1,249,1.1,CSH,5.5 +CMT,1,1,780,4.3,CSH,14.5 +CMT,1,1,232,0.6,CSH,4.5 +CMT,1,3,1146,6.7,CRD,23 +CMT,1,1,950,4.9,CRD,17.5 +CMT,1,1,1357,6.5,CSH,21 +CMT,1,1,288,1,CSH,6 +CMT,1,1,379,2.5,CSH,9 +CMT,1,1,459,2,CRD,8.5 +CMT,1,1,1285,7,CSH,23 +CMT,1,1,495,1.3,CRD,7.5 +CMT,1,1,415,0.6,CRD,6.5 +CMT,1,1,545,2.4,CSH,10.5 +CMT,1,2,711,2.9,CSH,11.5 +CMT,1,1,285,2.1,CRD,7.5 +CMT,1,1,472,2.9,CSH,10 +CMT,1,1,311,1.5,CSH,7 +CMT,1,1,1081,3.7,CSH,14.5 +CMT,1,1,262,0.7,CSH,5 +CMT,1,1,435,1.4,CRD,7.5 +CMT,1,1,340,0.8,CSH,6 +CMT,1,1,114,0.5,CRD,3.5 +CMT,1,2,1617,6.6,CSH,25 +CMT,1,1,737,1.3,CSH,9.5 +CMT,1,1,1546,3.3,CRD,18 +CMT,1,2,138,0.6,CSH,4 +CMT,1,2,560,1.4,CSH,8.5 +CMT,1,1,584,0.8,CRD,7.5 +CMT,1,1,956,2.3,CRD,12.5 +CMT,1,1,843,2,CRD,11.5 +CMT,1,1,1245,1.9,CRD,13.5 +CMT,1,4,1029,6.1,CSH,20.5 +CMT,1,1,727,1.9,CSH,10.5 +CMT,1,1,524,1.2,CSH,8 +CMT,1,1,713,1.6,CRD,9.5 +CMT,1,2,477,0.9,CRD,7 +CMT,1,1,557,1.9,CRD,9 +CMT,1,1,226,0.8,CRD,5 +CMT,1,1,465,1.1,CSH,7 +CMT,1,1,325,1.2,CSH,6 +CMT,1,1,314,0.8,CRD,5.5 +CMT,1,1,685,6.9,CSH,20.5 +CMT,1,1,96,0.8,CSH,4.5 +CMT,1,1,548,3.2,CSH,11.5 +CMT,1,1,237,0.6,CSH,4.5 +CMT,1,1,454,2.1,CSH,9 +CMT,1,1,191,0.5,CSH,4.5 +CMT,1,1,1666,17.9,CRD,48.5 +CMT,1,1,963,8.9,CSH,25.5 +CMT,1,1,436,1.3,CSH,7 +CMT,1,2,934,2.3,CSH,12.5 +CMT,1,1,339,0.7,CSH,6 +CMT,1,1,355,0.9,CSH,6 +CMT,1,2,455,1.2,CSH,7.5 +CMT,1,1,770,2,CRD,10.5 +CMT,1,2,509,1.6,CRD,8.5 +CMT,1,1,839,1.9,CRD,11 +CMT,1,1,228,0.7,CSH,5 +CMT,1,2,2246,7.1,CSH,29 +CMT,1,1,131,0.6,CSH,4 +CMT,1,1,856,8.4,CSH,25 +CMT,1,1,269,1.3,CRD,6.5 +CMT,1,1,1503,10.5,CRD,32 +CMT,1,1,412,1.6,CRD,7.5 +CMT,1,1,520,2.6,CSH,9.5 +CMT,1,1,266,1.1,CSH,6 +CMT,1,1,468,2.2,CSH,9 +CMT,1,1,193,0.5,CSH,4.5 +CMT,5,1,77,0,DIS,75 +CMT,5,1,47,0,CRD,50 +CMT,1,1,601,2.4,CRD,10 +CMT,1,1,231,1,CRD,5.5 +CMT,1,1,234,0.6,CRD,5 +CMT,1,2,592,2.6,CSH,10 +CMT,1,1,673,2.9,CRD,11 +CMT,1,1,1131,5.3,CSH,19.5 +CMT,1,3,633,4,CSH,14.5 +CMT,1,1,392,1.7,CSH,7.5 +CMT,1,1,801,1.8,CSH,10 +CMT,1,1,558,2,CSH,8.5 +CMT,1,1,542,0.8,CRD,7 +CMT,1,1,784,2.1,CRD,10.5 +CMT,1,1,198,0.7,CRD,4.5 +CMT,1,1,310,2.5,CSH,8.5 +CMT,1,1,966,2.1,CSH,12.5 +CMT,1,1,437,1.1,CRD,6.5 +CMT,1,1,270,0.6,CSH,5 +CMT,1,1,745,1.5,CRD,9.5 +CMT,1,1,686,1.6,CRD,9.5 +CMT,1,1,1291,3.3,CSH,15.5 +CMT,1,1,1023,2.8,CSH,13.5 +CMT,1,1,106,0.3,CSH,3.5 +CMT,1,1,485,1.4,CSH,7.5 +CMT,1,2,697,1.1,CRD,8.5 +CMT,1,2,681,2,CRD,10 +CMT,1,1,618,2.2,CRD,9.5 +CMT,1,2,414,1.3,CRD,7 +CMT,1,2,269,1.1,CSH,5.5 +CMT,1,1,1319,4.4,CRD,18 +CMT,1,1,1532,2.1,CRD,16.5 +CMT,1,1,345,0.4,CSH,5.5 +CMT,1,1,506,1,CRD,7.5 +CMT,1,1,233,0.2,CSH,4.5 +CMT,1,1,395,1,CRD,6 +CMT,1,2,511,1.2,CSH,7.5 +CMT,1,1,372,0.8,CRD,6 +CMT,1,2,308,0.9,CSH,5.5 +CMT,1,1,607,2.8,CSH,10.5 +CMT,1,1,285,1.3,CSH,6.5 +CMT,1,1,1279,10.8,CSH,31 +CMT,1,1,1156,1.7,CSH,13 +CMT,1,2,515,1.7,CRD,8.5 +CMT,1,1,155,1,CSH,5 +CMT,1,1,994,3.7,CSH,15.5 +CMT,1,1,684,2.4,CSH,10.5 +CMT,1,2,435,1.4,CRD,7.5 +CMT,1,1,218,1.2,CSH,6 +CMT,1,1,207,0.5,CSH,4 +CMT,1,1,542,1.7,CSH,8.5 +CMT,1,1,271,1.4,CSH,6.5 +CMT,1,1,167,0.6,CRD,4.5 +CMT,1,1,1240,5.3,CSH,20 +CMT,1,1,1511,11.1,CSH,33 +CMT,1,1,238,1,CRD,5.5 +CMT,1,1,371,1.4,CRD,7 +CMT,1,1,268,0.7,CRD,5.5 +CMT,2,2,1784,16.9,CRD,52 +CMT,1,1,496,1.7,CSH,8 +CMT,2,1,2852,15.7,CRD,52 +CMT,1,2,350,2,CSH,8 +CMT,1,1,214,0.7,CRD,5 +CMT,1,1,224,0.8,CSH,5 +CMT,1,2,691,1.1,CSH,8.5 +CMT,1,1,750,1.6,CSH,9.5 +CMT,1,1,452,1.7,CRD,8 +CMT,1,1,709,1.9,CRD,10 +CMT,1,1,1444,4.9,CSH,20 +CMT,1,1,942,1.6,CRD,11.5 +CMT,1,3,636,1.2,CRD,8.5 +CMT,1,1,841,2.1,CRD,11 +CMT,1,1,600,1.3,CRD,8 +CMT,1,1,334,0.8,CRD,5.5 +CMT,1,2,381,1.7,CSH,8 +CMT,1,1,328,0.7,CRD,5.5 +CMT,1,1,592,2.2,CSH,9.5 +CMT,1,2,193,0.7,CSH,4.5 +CMT,1,1,576,2.1,CRD,9 +CMT,1,1,612,6.5,CRD,19 +CMT,1,1,379,1.3,CRD,7 +CMT,1,1,444,1.6,CRD,8 +CMT,1,1,662,2.6,CRD,10.5 +CMT,1,1,1125,3,CSH,14.5 +CMT,1,1,420,1,CRD,6.5 +CMT,1,1,331,0.6,CSH,5.5 +CMT,1,1,291,0.7,CRD,5.5 +CMT,1,2,661,0.9,CSH,8 +CMT,1,2,401,0.7,CSH,6 +CMT,1,1,1181,6.5,CSH,22.5 +CMT,1,1,971,8.7,CRD,25 +CMT,1,2,520,1.6,CRD,8.5 +CMT,1,1,561,1.1,CSH,7.5 +CMT,1,2,978,3.1,CSH,14 +CMT,1,1,888,8.3,CRD,24 +CMT,1,1,385,1.9,CSH,8 +CMT,1,1,615,3.9,CSH,13.5 +CMT,1,1,346,1,CRD,6 +CMT,1,1,401,2.6,CSH,10 +CMT,1,1,343,1.8,CRD,7.5 +CMT,1,2,387,2.1,CRD,8 +CMT,1,1,451,2.1,CSH,9 +CMT,1,2,288,0.7,CSH,5 +CMT,1,2,503,2.2,CSH,9 +CMT,1,1,1053,3.3,CRD,14.5 +CMT,1,1,624,2,CRD,9.5 +CMT,1,1,649,1.7,CRD,9 +CMT,1,1,567,1.1,CSH,7.5 +CMT,1,1,660,1.6,CRD,9 +CMT,1,2,110,0.7,CRD,4 +CMT,1,1,245,0.9,CSH,5.5 +CMT,1,1,718,3,CSH,12 +CMT,1,2,1234,8.8,CSH,27.5 +CMT,1,1,1017,2.6,CSH,13.5 +CMT,1,1,249,0.8,CSH,5 +CMT,1,1,522,1.3,CRD,7.5 +CMT,1,1,520,1.2,CSH,7.5 +CMT,1,1,768,1.5,CSH,9.5 +CMT,1,1,465,1.3,CRD,7.5 +CMT,1,1,1712,6.8,CRD,26 +CMT,1,1,530,1.2,CSH,7.5 +CMT,1,1,942,8.3,CSH,24 +CMT,1,1,673,2.8,CRD,11.5 +CMT,1,2,616,3.3,CSH,11.5 +CMT,1,1,569,6.4,CRD,18.5 +CMT,1,2,757,7.4,CSH,22 +CMT,1,1,534,4,CSH,13 +CMT,1,1,351,1.3,CSH,6.5 +CMT,1,1,890,7.5,CRD,23 +CMT,1,2,509,2.4,CRD,9.5 +CMT,1,1,1235,3.7,CRD,16 +CMT,1,4,1325,8.1,CRD,26.5 +CMT,1,1,577,2.4,CRD,10 +CMT,1,1,339,1.1,CRD,6.5 +CMT,1,1,693,2.1,CSH,10.5 +CMT,1,2,333,0.7,CRD,5.5 +CMT,1,2,431,1.8,CSH,8 +CMT,1,1,154,0.5,CSH,4 +CMT,1,1,328,1.5,CSH,7 +CMT,1,1,269,1.2,CRD,6 +CMT,1,1,163,0.9,CSH,5 +CMT,1,1,1031,5.2,CRD,18 +CMT,1,3,378,1.2,CSH,7 +CMT,1,1,655,1.7,CSH,9 +CMT,1,1,1198,9.8,CRD,28.5 +CMT,1,1,833,1.9,CRD,10.5 +CMT,1,2,911,1.2,CSH,10 +CMT,1,1,495,1.9,CRD,8 +CMT,1,1,1681,10.7,CRD,32.5 +CMT,1,1,429,2.9,CRD,10.5 +CMT,1,1,802,4.3,CSH,14.5 +CMT,1,1,71,0.4,CSH,3.5 +CMT,1,1,417,2.3,CRD,9 +CMT,1,2,176,1.3,CSH,5.5 +CMT,1,1,357,0.9,CRD,6 +CMT,1,1,229,0.6,CRD,4.5 +CMT,1,1,294,1,CRD,6 +CMT,1,1,802,1.5,CRD,10 +CMT,1,1,1539,3.8,CRD,17.5 +CMT,1,2,467,1,CSH,6.5 +CMT,1,1,1073,5.7,CRD,20.5 +CMT,1,2,761,0.8,CSH,9 +CMT,1,1,240,1.4,CSH,6.5 +CMT,1,1,475,1.1,CSH,7 +CMT,1,1,325,0.6,CRD,5.5 +CMT,1,1,188,0.6,CRD,4.5 +CMT,1,1,918,2.3,CRD,11.5 +CMT,1,2,692,1.7,CSH,10 +CMT,1,2,360,1.3,CRD,6.5 +CMT,1,1,230,1.2,CSH,5.5 +CMT,1,2,768,1.8,CRD,10 +CMT,1,1,165,0.7,CRD,4.5 +CMT,1,1,262,0.8,CSH,5 +CMT,1,1,498,1.1,CSH,7 +CMT,1,1,165,0.2,CSH,4 +CMT,1,1,1067,5.3,CSH,19.5 +CMT,1,1,519,1.7,CRD,8 +CMT,1,1,610,1.3,CRD,8 +CMT,1,1,564,1.7,CSH,8.5 +CMT,1,1,93,0.2,CSH,3 +CMT,1,3,381,1.1,CSH,6.5 +CMT,1,1,700,2,CSH,10 +CMT,1,1,226,0.4,CSH,4.5 +CMT,1,1,543,3,CRD,11 +CMT,1,1,319,1.8,CRD,7.5 +CMT,1,1,1664,14.9,CRD,41 +CMT,1,1,536,1.1,CRD,7.5 +CMT,1,1,773,6.6,CSH,19.5 +CMT,1,1,350,1.3,CRD,6.5 +CMT,1,1,366,0.8,CRD,5.5 +CMT,1,2,1220,5.6,CSH,19.5 +CMT,1,2,1458,10.7,CRD,32 +CMT,1,2,702,1.8,CRD,10 +CMT,1,1,314,0.7,CSH,5.5 +CMT,1,2,1903,12.6,CSH,39 +CMT,1,2,538,1.9,CSH,9 +CMT,1,2,1058,8.2,CSH,24.5 +CMT,1,1,1408,6.4,CRD,23.5 +CMT,1,1,350,0.8,CSH,5.5 +CMT,1,1,1913,3.6,CRD,21 +CMT,1,1,226,0.5,CSH,4.5 +CMT,1,1,1747,14.4,CRD,40 +CMT,1,2,899,2.2,CRD,11 +CMT,1,1,649,1.5,CRD,9 +CMT,1,1,677,1.1,CRD,8.5 +CMT,1,1,1482,6.5,CSH,23.5 +CMT,1,2,2097,12,CRD,40 +CMT,1,1,836,1.4,CSH,10 +CMT,1,1,770,1.9,CRD,10.5 +CMT,1,1,342,0.8,CSH,6 +CMT,1,1,2072,11.2,CRD,36 +CMT,1,1,600,2.4,CRD,10 +CMT,1,1,1374,2.7,CRD,16 +CMT,1,1,559,2.4,CRD,9.5 +CMT,1,1,1434,11.7,CSH,34 +CMT,1,1,172,0.5,CSH,4.5 +CMT,1,1,316,1,CRD,6 +CMT,1,1,127,0.4,CSH,3.5 +CMT,1,1,551,1.4,CRD,8 +CMT,1,1,731,1.4,CSH,9.5 +CMT,1,1,942,1.6,CRD,11 +CMT,1,1,1127,2.7,CRD,14.5 +CMT,1,1,868,1.7,CRD,10.5 +CMT,1,1,607,0.5,CRD,7.5 +CMT,1,1,1399,4.6,CRD,19.5 +CMT,1,2,1165,1.9,CRD,13 +CMT,1,1,523,2,CSH,8.5 +CMT,1,1,237,0.6,CRD,5 +CMT,1,1,749,3.5,CRD,12.5 +CMT,1,1,233,1.8,CSH,7 +CMT,1,1,937,8.8,CRD,26.5 +CMT,1,1,1349,2.9,CRD,16 +CMT,1,1,810,3.4,CSH,13.5 +CMT,1,1,245,1,CRD,5.5 +CMT,1,1,275,1.2,CRD,6 +CMT,1,2,936,5.9,CSH,19.5 +CMT,1,1,379,2.3,CSH,8.5 +CMT,1,1,185,1.1,CRD,5 +CMT,1,2,1389,13.8,CSH,38.5 +CMT,1,2,417,1.3,CSH,7 +CMT,1,1,363,0.5,CSH,5.5 +CMT,1,2,250,0.6,CRD,4.5 +CMT,1,2,419,1.5,CRD,7.5 +CMT,1,2,597,1.2,CSH,8 +CMT,1,2,373,0.6,CRD,5.5 +CMT,1,1,169,0.4,CRD,4 +CMT,1,4,508,1.4,CRD,8 +CMT,1,1,1293,1.6,CRD,14 +CMT,1,1,549,1.7,CSH,8 +CMT,1,1,467,1.4,CSH,7.5 +CMT,1,1,400,0.7,CRD,6 +CMT,1,2,314,1.1,CRD,6 +CMT,1,1,640,5.3,CRD,16.5 +CMT,1,2,471,0.8,CRD,6.5 +CMT,1,1,418,1.5,CRD,7.5 +CMT,1,2,40,0.1,CSH,2.5 +CMT,1,1,887,1.8,CRD,11 +CMT,1,1,2050,12,CRD,37.5 +CMT,1,1,864,1.8,CSH,11 +CMT,1,1,465,1.4,CSH,7.5 +CMT,1,3,593,1.9,CRD,9 +CMT,1,1,713,0.9,CRD,8.5 +CMT,1,2,1241,4.6,CRD,18.5 +CMT,1,1,609,1.8,CRD,9 +CMT,1,1,1039,2.6,CRD,13.5 +CMT,1,3,1496,7.8,CSH,26.5 +CMT,1,1,628,0.9,CSH,8 +CMT,1,3,1272,9.3,CRD,27 +CMT,1,1,1047,3.6,CRD,14.5 +CMT,1,1,447,0.8,CSH,6.5 +CMT,1,1,363,1.2,CRD,6.5 +CMT,1,1,464,1.6,CRD,8 +CMT,1,1,498,1,CSH,7.5 +CMT,1,1,1170,2.4,CRD,14 +CMT,1,1,488,1,CSH,7 +CMT,1,1,560,3.5,CSH,12 +CMT,1,1,375,0.5,CRD,5.5 +CMT,1,1,512,2.5,CSH,10 +CMT,1,1,449,3.6,CSH,12.5 +CMT,1,1,193,1,CSH,5 +CMT,1,1,766,2.1,CRD,10.5 +CMT,1,1,1321,5.1,CSH,20 +CMT,1,1,123,0.5,CRD,4 +CMT,1,1,181,0.7,CSH,4.5 +CMT,1,1,872,4.1,CSH,14.5 +CMT,1,4,925,5.3,CSH,18 +CMT,1,3,743,1.7,CRD,9.5 +CMT,1,1,828,4.3,CSH,15 +CMT,1,1,234,1,CSH,5.5 +CMT,1,1,205,1.1,CSH,5.5 +CMT,1,1,768,2.2,CRD,10.5 +CMT,1,4,453,1.1,CSH,7 +CMT,1,1,682,2.2,CSH,10.5 +CMT,1,1,616,3.1,CSH,12 +CMT,1,1,112,0.5,CSH,4 +CMT,1,1,416,1,CRD,6.5 +CMT,1,1,189,0.4,CSH,4 +CMT,1,1,291,1.3,CSH,6.5 +CMT,1,1,481,1.7,CSH,8 +CMT,1,1,212,1,CRD,5 +CMT,1,1,221,0.5,CSH,4.5 +CMT,1,1,782,3.1,CSH,13 +CMT,1,4,194,1.1,CRD,5.5 +CMT,1,2,448,1.1,CRD,7 +CMT,1,1,309,1.9,CRD,7.5 +CMT,1,2,702,4.1,CSH,14 +CMT,1,1,2047,6.6,CRD,26 +CMT,1,1,198,0.7,CRD,5 +CMT,1,1,152,0.6,CRD,4 +CMT,1,1,212,0.6,CRD,4.5 +CMT,1,1,965,6,CRD,18 +CMT,1,1,322,1.2,CRD,6 +CMT,1,1,1264,6.2,CRD,21.5 +CMT,1,2,746,1.6,CSH,9.5 +CMT,1,1,1505,8.2,CSH,26.5 +CMT,1,1,477,1.1,CSH,7 +CMT,1,1,264,0.8,CRD,5 +CMT,1,1,355,1.1,CSH,6.5 +CMT,1,2,382,1.5,CSH,7.5 +CMT,1,2,1201,3.9,CSH,17 +CMT,1,1,49,0.2,CRD,3 +CMT,1,2,655,2.9,CRD,11 +CMT,1,1,1988,16.4,CSH,46 +CMT,1,1,397,1.1,CSH,7 +CMT,1,1,667,4.7,CSH,15.5 +CMT,1,1,615,1.3,CRD,8.5 +CMT,1,1,336,1.3,CRD,6.5 +CMT,1,1,231,0.8,CRD,5 +CMT,1,1,798,4.4,CSH,15 +CMT,1,1,130,0.5,CSH,3.5 +CMT,1,2,611,1.5,CRD,8.5 +CMT,1,1,336,1.6,CRD,7 +CMT,1,1,512,0.5,CRD,6.5 +CMT,1,2,518,2,CSH,9 +CMT,1,1,744,3.4,CRD,12.5 +CMT,1,1,542,1.7,CSH,8.5 +CMT,1,2,779,2.8,CSH,12 +CMT,1,2,663,3.4,CSH,12 +CMT,1,1,186,0.8,CSH,4.5 +CMT,1,1,895,3.5,CRD,13 +CMT,1,1,196,0.9,CRD,5 +CMT,1,1,491,0.9,CSH,7 +CMT,1,2,755,1.2,CRD,9.5 +CMT,1,1,1930,3.1,CRD,20.5 +CMT,1,1,957,2.1,CRD,12 +CMT,1,1,886,3.2,CSH,13 +CMT,1,3,963,2.3,CSH,12 +CMT,1,1,186,0.4,CSH,4 +CMT,1,1,286,0.3,CRD,5 +CMT,1,1,1619,5.2,CRD,21.5 +CMT,1,1,1240,2.9,CRD,15.5 +CMT,1,1,135,0.9,CSH,4.5 +CMT,1,2,3048,16.2,CSH,51.5 +CMT,1,1,771,4.3,CRD,15 +CMT,1,2,338,1,CSH,6 +CMT,1,1,1015,2.6,CRD,13.5 +CMT,1,1,256,0.5,CSH,5 +CMT,1,1,666,2.2,CRD,10.5 +CMT,1,1,655,1.2,CSH,8.5 +CMT,1,1,1104,2.6,CSH,14 +CMT,1,1,1625,2.9,CRD,18 +CMT,1,2,626,2.1,CRD,10 +CMT,1,2,431,2.1,CRD,8.5 +CMT,2,1,1627,16.3,CRD,52 +CMT,1,1,1890,2.2,CRD,19 +CMT,1,1,1268,2.2,CRD,14 +CMT,1,1,557,1.1,CSH,7.5 +CMT,1,2,721,1.5,CRD,9 +CMT,1,1,458,1.5,CSH,7.5 +CMT,1,2,338,0.9,CSH,6 +CMT,1,2,913,1.4,CSH,11 +CMT,1,1,178,0.6,CSH,4.5 +CMT,1,1,309,0.9,CRD,6 +CMT,1,2,785,2.4,CSH,11.5 +CMT,1,1,685,1.8,CSH,9.5 +CMT,1,1,1482,9.2,CSH,30 +CMT,1,1,2052,4.3,CSH,23 +CMT,1,1,604,1.2,CSH,8 +CMT,1,2,136,0.3,CSH,4 +CMT,1,2,2098,10.3,CRD,35.5 +CMT,1,1,214,0.6,CSH,4.5 +CMT,1,1,522,0.9,CSH,7.5 +CMT,1,1,306,0.9,CSH,5.5 +CMT,1,1,54,0.2,CSH,3 +CMT,1,3,814,0.9,CSH,9.5 +CMT,1,1,153,0.8,CRD,4.5 +CMT,1,1,962,1.2,CSH,11 +CMT,1,3,979,1.3,CRD,11 +CMT,1,1,272,1.1,CSH,6 +CMT,1,1,2474,8.9,CRD,34 +CMT,1,4,502,1.4,CSH,8 +CMT,1,1,509,0.7,CRD,6.5 +CMT,1,1,172,0.7,CRD,4.5 +CMT,1,2,532,1.4,CSH,8 +CMT,1,1,808,3,CRD,12.5 +CMT,1,1,457,1.9,CSH,8 +CMT,1,2,725,2.4,CSH,11 +CMT,1,1,205,0.6,CSH,4.5 +CMT,1,1,452,1.1,CRD,7 +CMT,1,1,803,0.7,CSH,9 +CMT,1,1,498,2.3,CRD,9.5 +CMT,1,1,298,0.8,CRD,5.5 +CMT,1,1,996,3.8,CSH,15 +CMT,1,1,948,2.2,CSH,12 +CMT,1,2,693,3.6,CSH,13 +CMT,1,2,444,0.9,CSH,7 +VTS,1,1,1320,9.25,CRD,27 +CMT,1,1,1231,5.3,CRD,20 +CMT,1,1,509,1.7,CSH,8.5 +CMT,1,2,367,1,CSH,6 +CMT,1,2,610,2.2,CRD,10 +CMT,1,1,660,2.2,CSH,10.5 +CMT,1,1,331,0.4,CRD,5 +CMT,1,3,421,1,CSH,6.5 +CMT,1,1,555,1.3,CRD,8 +CMT,1,1,764,4.2,CRD,15 +CMT,1,1,255,1.1,CRD,6 +CMT,1,1,1354,6,CRD,21 +CMT,1,1,441,1,CRD,6.5 +CMT,1,1,450,1.6,CRD,7.5 +CMT,1,1,471,0.7,CRD,6.5 +CMT,1,1,391,1,CRD,6.5 +CMT,1,2,721,0.7,CSH,8.5 +CMT,1,1,105,0.4,CSH,3.5 +CMT,1,1,561,2.4,CSH,10 +CMT,1,1,467,2,CRD,8.5 +CMT,1,1,976,2.8,CRD,13 +CMT,1,2,159,0.5,CSH,4 +CMT,1,2,330,0.5,CRD,5 +CMT,1,4,179,0.8,CSH,5 +CMT,1,2,477,1.4,CSH,7.5 +CMT,1,1,1016,7.8,CRD,22.5 +CMT,1,1,1128,5.1,CSH,18 +CMT,1,1,274,0.6,CRD,5 +CMT,1,2,608,1.1,CSH,8 +CMT,1,2,424,1.2,CSH,6.5 +CMT,1,2,753,5,CRD,16.5 +CMT,1,2,825,1.7,CSH,10.5 +CMT,1,1,724,1.9,CRD,9.5 +CMT,1,1,475,1,CSH,7 +CMT,1,1,1957,11.8,CRD,35.5 +CMT,1,2,453,1.3,CRD,7 +CMT,1,1,866,1.7,CRD,11 +CMT,1,1,1390,7.1,CSH,24 +CMT,1,1,1102,4.7,CRD,18 +CMT,1,1,94,0.2,CSH,3 +CMT,1,1,632,2.3,CRD,10.5 +CMT,1,1,334,0.6,CSH,5.5 +CMT,1,1,1091,3.1,CSH,14.5 +CMT,1,1,1490,6.5,CRD,23 +CMT,1,1,662,2.1,CRD,9.5 +CMT,1,1,427,2.3,CSH,8.5 +CMT,1,2,746,1.8,CRD,10 +CMT,1,1,641,1.4,CRD,8.5 +VTS,1,1,3480,14.22,CRD,46.5 +VTS,1,1,540,2.52,CRD,9.5 +VTS,1,1,360,1.56,CSH,7 +VTS,1,1,480,1.7,CRD,7.5 +VTS,1,1,840,2.97,CRD,12 +CMT,1,1,585,1.1,CRD,8 +CMT,1,2,155,0.5,CSH,4 +CMT,1,1,696,2.6,CRD,11 +CMT,1,1,307,0.6,CRD,5.5 +CMT,1,1,1846,12.3,CRD,37 +CMT,1,1,1210,2.4,CRD,14.5 +CMT,1,1,516,1.1,CSH,7.5 +CMT,1,2,437,0.9,CSH,6.5 +CMT,1,1,170,1.1,CSH,5 +CMT,1,1,767,2.4,CRD,11 +CMT,1,1,955,6.4,CSH,21 +CMT,1,1,681,1,CSH,8.5 +CMT,1,1,562,1.4,CRD,8 +CMT,1,1,756,1.4,CRD,9.5 +CMT,1,2,362,1.2,CRD,6.5 +CMT,1,1,671,1.3,CRD,8.5 +CMT,1,2,378,1,CSH,6.5 +CMT,1,1,810,2.1,CRD,10.5 +CMT,1,2,955,3.6,CRD,15 +CMT,1,1,256,0.9,CRD,5.5 +CMT,1,1,242,1.5,CRD,6.5 +CMT,1,2,959,4.1,CRD,16 +CMT,1,2,309,0.8,CRD,5.5 +CMT,1,3,1089,4.3,CSH,16.5 +CMT,1,1,815,1.9,CRD,11 +CMT,1,1,548,0.8,CRD,7 +CMT,1,1,666,1.6,CRD,9 +CMT,1,2,349,1.1,CSH,6.5 +CMT,1,2,499,2.1,CRD,9 +CMT,1,2,501,1.2,CSH,7 +CMT,1,1,1773,2.9,CRD,18.5 +CMT,1,1,630,1,CRD,8 +CMT,1,2,1235,4.6,CSH,18.5 +CMT,1,1,902,2.6,CRD,13 +CMT,1,1,982,1.2,CSH,11 +CMT,1,1,901,1.7,CRD,11 +CMT,1,1,570,1.1,CRD,8 +CMT,1,1,763,5.7,CRD,17.5 +CMT,1,1,519,1.2,CRD,8 +CMT,1,1,666,1.8,CSH,9.5 +CMT,1,1,204,0.4,CSH,4.5 +CMT,1,1,744,1.8,CSH,10 +CMT,1,1,852,1.3,CRD,10 +CMT,1,1,610,1.2,CRD,8 +VTS,1,1,900,4.31,CRD,15.5 +VTS,1,1,480,1.99,CSH,8.5 +VTS,1,1,900,2.01,CRD,11.5 +VTS,1,1,540,1.77,CRD,8.5 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,5,420,1.51,CSH,7 +VTS,1,5,540,0.67,CRD,7 +VTS,1,1,180,0.33,CRD,3.5 +CMT,1,2,559,0.8,CRD,7.5 +CMT,1,1,862,2.7,CRD,12 +CMT,1,1,354,0.9,CSH,6 +VTS,1,1,480,1.47,CSH,8 +VTS,1,1,540,2.03,CSH,8.5 +VTS,1,1,600,3,CRD,11 +VTS,1,1,660,2.31,CRD,10 +VTS,1,1,300,1.37,CRD,6 +VTS,1,5,360,1.4,CRD,6.5 +VTS,1,5,60,0.64,CSH,4 +VTS,1,5,720,1.63,CSH,9.5 +VTS,1,5,1860,10.41,CRD,33.5 +VTS,1,5,1500,11.26,CSH,33 +VTS,1,5,1080,3.2,CRD,14 +VTS,1,5,840,1.03,CRD,9.5 +VTS,1,5,1140,3.33,CRD,14.5 +VTS,1,1,420,0.71,CSH,5.5 +VTS,1,1,1260,7.74,CRD,24.5 +VTS,1,1,1200,3.3,CRD,14 +VTS,1,1,600,2.45,CSH,10 +VTS,1,1,660,2.01,CSH,9.5 +VTS,1,1,780,4.57,CRD,14.5 +VTS,2,1,2280,19.67,CRD,52 +VTS,1,5,360,1.63,CSH,7.5 +VTS,1,5,1200,10.56,CRD,30 +VTS,1,5,1140,6.9,CSH,22 +CMT,1,1,666,2.3,CSH,10 +CMT,1,1,1446,11.2,CSH,33 +CMT,1,1,234,0.7,CRD,5 +CMT,1,1,253,0.9,CRD,5.5 +CMT,1,1,733,3.3,CRD,12.5 +CMT,1,1,746,2.1,CRD,11 +CMT,1,2,766,2.9,CRD,12 +CMT,1,1,420,2,CSH,8.5 +CMT,1,1,345,1.2,CSH,6.5 +CMT,1,2,772,2.3,CSH,11 +CMT,1,1,93,0.5,CRD,3.5 +CMT,1,1,25,0,CSH,2.5 +CMT,1,1,524,2,CRD,9 +CMT,1,1,166,0.9,CSH,4.5 +CMT,1,1,432,1.8,CSH,8 +CMT,1,1,374,1.5,CSH,7 +CMT,1,1,1112,3.2,CRD,14.5 +CMT,1,1,504,2.8,CSH,10 +CMT,1,1,500,1.3,CSH,7.5 +CMT,1,1,1228,7.3,CSH,24 +CMT,1,1,615,1.4,CSH,8 +CMT,1,1,256,0.6,CSH,5 +CMT,1,3,794,2.4,CRD,11 +CMT,1,1,312,1.2,CRD,6.5 +CMT,1,1,729,4.4,CRD,14.5 +CMT,1,1,985,7,CSH,21.5 +CMT,1,1,105,0.4,CSH,3.5 +CMT,1,1,618,2,CSH,9.5 +CMT,1,1,4,0,CRD,2.5 +CMT,1,1,473,2,CRD,9 +CMT,1,1,381,1.5,CRD,7.5 +CMT,1,1,140,0.4,CRD,4 +CMT,1,1,1053,2.5,CRD,13 +CMT,1,1,240,0.6,CSH,5 +CMT,1,2,348,0.8,CRD,6 +CMT,1,2,534,0.6,CSH,7 +CMT,1,1,372,0.9,CRD,6 +CMT,1,2,402,1,CSH,6.5 +CMT,1,1,883,2.9,CSH,12 +CMT,1,1,190,0.3,CSH,4 +CMT,1,2,846,1.6,CSH,10.5 +CMT,1,1,829,2.5,CSH,11.5 +CMT,1,1,944,4.1,CRD,16 +CMT,1,1,425,1.7,CRD,8 +CMT,1,1,502,1.8,CRD,8.5 +CMT,1,1,771,2.5,CRD,11 +CMT,1,1,475,1.3,CRD,7.5 +CMT,1,1,1059,3.2,CRD,15.5 +CMT,1,2,188,0.6,CSH,4.5 +CMT,1,2,878,2.4,CSH,11.5 +CMT,1,3,129,0.3,CSH,3.5 +CMT,1,3,758,1.7,CSH,10 +CMT,1,1,183,1.1,CSH,5 +CMT,1,1,1228,9.3,CSH,28 +CMT,1,1,245,0.7,CRD,5 +CMT,1,1,1241,4.6,CSH,18.5 +CMT,1,1,735,2.8,CRD,12 +CMT,1,2,127,0.5,CRD,4 +CMT,1,1,796,7.9,CRD,23 +CMT,1,4,346,1.6,CSH,7.5 +CMT,1,1,551,1.4,CSH,8 +CMT,1,1,840,3.4,CSH,14 +CMT,1,1,253,0.8,CSH,5.5 +CMT,1,2,545,2,CSH,9 +CMT,1,2,256,0.6,CSH,4.5 +CMT,1,2,1131,2.5,CRD,13.5 +CMT,1,1,715,1.7,CSH,9.5 +CMT,1,2,2020,7.3,CRD,29 +CMT,1,1,569,1.6,CRD,8.5 +CMT,1,2,1246,2.6,CRD,14.5 +CMT,1,1,796,1.8,CRD,10.5 +CMT,1,1,499,0.9,CSH,7 +CMT,1,1,680,3.8,CRD,14 +CMT,1,1,843,3.2,CSH,13 +CMT,1,1,447,2.1,CSH,9 +CMT,1,1,585,1.6,CRD,9 +CMT,1,1,523,1.1,CRD,7.5 +CMT,1,1,497,2.8,CSH,10 +CMT,1,3,488,1,CRD,7.5 +CMT,1,1,525,1.1,CRD,7.5 +CMT,1,1,1659,10.8,CRD,32.5 +CMT,1,1,670,2.7,CRD,11 +CMT,1,1,611,2.7,CRD,11 +CMT,1,1,768,3.8,CRD,13.5 +CMT,1,1,1007,2.7,CSH,13.5 +CMT,1,1,592,1.7,CSH,9 +CMT,1,1,384,1.3,CSH,6.5 +CMT,1,1,715,1.7,CSH,9.5 +CMT,1,2,607,0.5,CRD,7.5 +CMT,1,1,351,1.2,CRD,6.5 +CMT,1,1,482,1.8,CRD,8 +CMT,1,1,748,1.6,CRD,10 +CMT,1,1,1330,6.4,CSH,22.5 +CMT,1,1,397,1.3,CRD,7 +CMT,1,1,621,1.4,CSH,8.5 +CMT,1,1,300,0.7,CSH,5.5 +CMT,1,1,259,0.9,CRD,5.5 +VTS,1,1,960,3.86,CRD,14.5 +VTS,1,1,300,2.66,CSH,9.5 +VTS,1,1,1080,2.39,CSH,13 +VTS,1,1,1020,4.16,CRD,15.5 +VTS,1,5,900,3.67,CRD,14.5 +VTS,1,5,540,2.08,CRD,8.5 +VTS,1,5,720,2.38,CRD,11 +CMT,1,3,724,0.9,CSH,8.5 +CMT,1,1,338,1,CRD,6 +CMT,1,1,1091,2.1,CRD,13.5 +CMT,1,1,1111,3,CRD,13.5 +CMT,1,1,527,1.4,CRD,8 +CMT,1,1,859,1.7,CSH,11 +CMT,1,2,379,0.6,CSH,5.5 +CMT,1,1,530,0.8,CRD,7 +CMT,1,2,562,0.8,CSH,7.5 +CMT,1,2,925,2.1,CSH,11.5 +CMT,1,2,1086,2.7,CRD,13.5 +CMT,1,1,652,1.1,CSH,8 +CMT,1,2,1878,11.1,CSH,35 +CMT,1,1,488,1.7,CSH,8 +CMT,1,1,367,0.9,CSH,6 +CMT,1,1,673,2,CSH,10 +CMT,1,1,2293,13.9,CRD,42.5 +CMT,1,1,248,0.7,CSH,5 +CMT,1,2,465,1.1,CRD,7 +CMT,1,1,892,4.5,CRD,15.5 +VTS,1,1,1140,6.47,CSH,20.5 +VTS,1,1,540,1.32,CRD,8 +VTS,1,1,480,1.96,CSH,8 +VTS,1,1,660,2.75,CSH,11 +VTS,1,1,720,2.09,CSH,10.5 +VTS,1,1,900,3.29,CSH,13.5 +CMT,1,1,653,1.5,CRD,9 +CMT,1,1,1949,13.3,CSH,39.5 +CMT,1,1,420,1.3,CRD,7 +CMT,1,1,1013,3.1,CSH,14 +CMT,1,1,1382,10,CRD,28.5 +CMT,1,1,1718,3.5,CRD,19 +VTS,1,1,840,5.39,CRD,17.5 +VTS,1,1,1380,5.07,CRD,18.5 +VTS,1,1,300,1.31,CSH,6.5 +VTS,1,1,960,12.22,CRD,33 +VTS,1,1,2220,10.07,CRD,33.5 +VTS,1,1,600,3.46,CRD,12 +VTS,1,1,720,1.89,CRD,10.5 +VTS,1,1,1200,6.32,CRD,20.5 +VTS,1,5,900,6.34,CSH,20 +VTS,2,5,1620,16.73,CSH,52 +VTS,1,1,1080,6.19,CSH,20 +VTS,1,1,420,1.87,CSH,8 +VTS,1,2,480,1.83,CSH,8.5 +VTS,1,1,240,0.84,CSH,5 +VTS,1,1,900,7.12,CRD,21.5 +VTS,1,2,1260,9.36,CRD,28.5 +VTS,1,5,1260,11.35,CRD,32 +VTS,1,5,180,0.78,CRD,4.5 +VTS,1,5,900,3.43,CSH,13.5 +VTS,1,5,240,1.54,CSH,6.5 +VTS,1,1,600,3.35,CRD,12 +VTS,1,5,360,1.52,CSH,6.5 +VTS,1,5,300,0.78,CRD,5.5 +VTS,1,5,1440,4.32,CSH,17.5 +VTS,1,5,600,1.49,CSH,8 +VTS,1,5,780,2.2,CRD,10.5 +VTS,1,1,1680,7.22,CSH,25 +VTS,1,1,300,0.62,CRD,5 +VTS,1,1,720,2.84,CRD,11.5 +VTS,1,5,420,1.79,CRD,8 +VTS,1,5,480,2.02,CSH,8.5 +VTS,1,5,1080,6.96,CRD,22 +VTS,1,5,660,6.63,CSH,20 +VTS,1,1,720,2.91,CSH,11.5 +VTS,1,1,600,2.39,CRD,10.5 +VTS,1,2,300,0.95,CSH,6 +VTS,1,5,540,1.83,CRD,9 +VTS,1,5,240,0.61,CSH,4.5 +VTS,1,5,360,0.75,CSH,5.5 +VTS,1,5,720,2.84,CSH,12 +VTS,1,5,420,1.32,CRD,7 +VTS,1,5,660,2.97,CRD,11.5 +VTS,1,5,600,4.43,CRD,14.5 +VTS,1,5,780,2.52,CRD,11.5 +VTS,1,5,600,1.86,CRD,9 +VTS,1,5,120,0.65,CSH,4.5 +VTS,1,5,1140,2.53,CSH,13.5 +VTS,1,5,1020,7.01,CSH,22.5 +VTS,1,5,540,2.18,CSH,9.5 +VTS,1,5,360,1.3,CSH,7 +VTS,1,5,360,0.64,CSH,5.5 +VTS,1,5,1020,3.28,CSH,14.5 +VTS,1,5,480,1.43,CRD,7.5 +VTS,1,5,180,0.63,CSH,4.5 +VTS,1,5,300,0.86,CSH,5.5 +VTS,1,5,600,0.79,CRD,7.5 +VTS,1,5,840,2.2,CRD,11.5 +VTS,1,5,300,0.84,CSH,5 +VTS,1,5,480,1.39,CSH,7.5 +VTS,1,5,360,0.73,CSH,5.5 +VTS,1,5,540,3.43,CRD,12 +VTS,1,5,360,1.3,CSH,7 +VTS,1,5,600,2.17,CSH,9.5 +VTS,1,5,1200,2.99,CRD,14.5 +VTS,1,5,420,1.88,CSH,8 +VTS,1,5,480,1.41,CSH,7 +VTS,1,5,540,1.56,CSH,8 +VTS,1,5,960,4.42,CSH,16.5 +VTS,1,5,540,1.83,CRD,8.5 +VTS,1,5,1080,6.2,CRD,20.5 +VTS,1,5,480,1.47,CRD,7.5 +VTS,1,5,180,0.59,CSH,4.5 +VTS,1,5,540,2.07,CSH,9 +VTS,1,1,960,8.59,CRD,25.5 +VTS,1,5,420,1.17,CSH,6.5 +VTS,1,5,360,1.17,CRD,6 +VTS,1,1,2400,10.91,CRD,36 +VTS,1,1,1500,10.17,CRD,31 +VTS,1,5,360,0.99,CRD,5.5 +VTS,1,5,780,1.53,CRD,10 +VTS,1,5,1260,4.93,CSH,18.5 +VTS,1,5,840,2.81,CRD,11.5 +VTS,1,5,1080,1.65,CSH,12 +VTS,1,5,600,1.24,CSH,8.5 +VTS,1,5,420,1.13,CRD,6.5 +VTS,1,5,660,1.26,CRD,8.5 +VTS,1,5,1080,3.64,CRD,16 +VTS,1,5,360,1.34,CSH,6.5 +VTS,1,5,540,2.97,CSH,10.5 +VTS,1,5,360,1.25,CRD,6 +VTS,1,5,480,1.76,CRD,7.5 +VTS,1,5,600,1.96,CRD,8.5 +VTS,1,5,540,1.6,CRD,8 +VTS,1,5,840,2.03,CSH,11 +VTS,1,5,300,0.3,CSH,4.5 +VTS,1,5,480,2.25,CRD,9 +VTS,1,5,420,1.59,CRD,7.5 +VTS,1,5,240,0.68,CRD,5 +VTS,1,5,960,4.8,CSH,16.5 +VTS,1,5,420,1.66,CSH,7.5 +VTS,1,5,1440,9.5,CRD,29 +VTS,1,5,1380,6.47,CSH,22.5 +VTS,1,5,660,2.48,CRD,10.5 +VTS,1,5,780,5.31,CRD,17 +VTS,1,5,1800,11.01,CRD,34 +VTS,1,5,480,2.98,CSH,10.5 +VTS,1,5,240,0.73,CRD,4.5 +VTS,1,5,720,1.99,CRD,10 +VTS,1,5,1200,3.54,CSH,15.5 +VTS,1,5,540,2.61,CSH,10 +VTS,1,5,1620,11.43,CRD,34.5 +VTS,1,5,900,2.1,CSH,12 +VTS,1,5,840,1.65,CSH,10.5 +VTS,1,5,480,0.69,CSH,6.5 +VTS,1,5,1260,3.63,CRD,16.5 +VTS,1,5,720,1.53,CRD,9.5 +VTS,1,5,240,0.79,CRD,5 +VTS,1,5,540,1.21,CSH,7.5 +VTS,1,5,1020,6.65,CSH,21 +VTS,1,5,840,2.22,CSH,11.5 +VTS,1,5,300,0.88,CRD,5 +VTS,1,5,1260,4.62,CSH,18.5 +VTS,1,5,1080,3.98,CSH,16 +VTS,1,5,720,1.45,CRD,8.5 +CMT,1,1,770,1.4,CRD,9.5 +CMT,1,1,608,2.6,CRD,11 +CMT,1,1,2278,7.2,CSH,31.5 +CMT,1,1,491,1.8,CRD,8 +CMT,1,1,632,1,CSH,8 +CMT,1,4,1039,4.2,CRD,16.5 +CMT,1,1,654,1.8,CSH,9.5 +CMT,1,1,226,0.8,CSH,5 +CMT,1,1,581,2,CRD,9 +CMT,1,1,2055,9.9,CRD,32.5 +CMT,1,1,726,2.4,CSH,11 +CMT,1,1,695,2,CSH,10 +CMT,1,1,355,1.3,CSH,6.5 +CMT,1,1,1018,1.8,CRD,12.5 +CMT,1,2,374,1,CRD,6.5 +CMT,1,1,523,1,CSH,7.5 +CMT,1,2,789,3.3,CRD,13.5 +CMT,1,1,368,1.3,CRD,6.5 +CMT,1,1,187,0.4,CSH,4 +CMT,1,2,567,2.4,CRD,10 +CMT,1,1,297,0.9,CRD,5.5 +CMT,1,3,1695,12.2,CRD,35.5 +CMT,1,1,293,1.1,CRD,6 +CMT,1,1,322,0.9,CSH,6 +CMT,1,2,545,1.8,CRD,9 +CMT,1,1,1174,3,CSH,14.5 +VTS,1,1,720,2.84,CRD,11.5 +VTS,1,1,1680,10.21,CRD,32 +VTS,1,1,600,1.15,CRD,8 +VTS,1,1,960,8.28,CRD,24 +VTS,1,1,300,1.45,CRD,6.5 +VTS,5,1,60,0,CRD,53 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,360,1.94,CRD,8 +VTS,1,1,1020,3.53,CSH,14.5 +VTS,1,1,720,3.17,CRD,12 +VTS,1,5,960,5.94,CRD,20 +VTS,1,5,1080,2.15,CRD,12.5 +VTS,1,5,780,1.27,CRD,9.5 +VTS,1,5,420,0.88,CSH,6.5 +VTS,1,5,420,0.86,CSH,6.5 +VTS,1,1,600,1.87,CRD,9 +VTS,1,1,960,8.48,CSH,25 +VTS,1,1,780,2.77,CRD,11.5 +VTS,1,5,300,1.46,CSH,6.5 +VTS,1,1,300,0.76,CRD,4.5 +VTS,1,1,780,4.1,CRD,14 +VTS,1,1,840,10.01,CRD,27.5 +VTS,1,5,720,4.92,CRD,15.5 +VTS,1,5,1680,13.2,CSH,38.5 +VTS,1,5,240,0.49,CRD,4.5 +VTS,1,5,420,0.96,CRD,6.5 +VTS,1,5,240,0.56,CSH,4.5 +VTS,1,5,960,2.24,CRD,12 +VTS,1,5,1020,6.47,CSH,21 +VTS,1,5,480,1.14,CSH,7.5 +VTS,1,5,0,0,CSH,2.5 +VTS,1,5,780,2.46,CRD,11 +VTS,1,5,540,1.7,CRD,8.5 +VTS,1,5,420,1.14,CSH,7 +VTS,1,5,540,2.43,CRD,9.5 +VTS,1,5,1140,8.73,CSH,26 +VTS,1,5,360,0.73,CSH,5.5 +VTS,1,5,720,1.68,CRD,9 +VTS,1,5,480,0.88,CSH,6.5 +VTS,1,5,420,1.11,CRD,6.5 +VTS,1,5,420,0.88,CSH,6 +VTS,1,5,960,2.88,CRD,12.5 +VTS,1,5,900,3.14,CRD,12.5 +VTS,1,5,1320,10.58,CSH,31 +VTS,1,5,600,4.05,CRD,13.5 +VTS,1,5,300,0.63,CSH,5 +VTS,1,5,240,0.49,CRD,4 +VTS,1,5,480,1.86,CRD,8 +VTS,1,5,780,1.39,CSH,9.5 +VTS,1,5,420,1.04,CRD,6.5 +VTS,1,5,600,1.71,CRD,8.5 +VTS,1,5,360,1.02,CRD,6 +VTS,1,5,960,2.75,CRD,12 +VTS,1,5,540,0.92,CSH,7.5 +VTS,1,5,120,0.6,CSH,4 +VTS,1,5,420,0.85,CSH,6.5 +VTS,1,5,180,0.69,CRD,4.5 +VTS,1,5,660,2.1,CSH,9.5 +VTS,1,5,360,0.92,CSH,6 +VTS,1,5,660,2.39,CRD,10.5 +VTS,1,5,420,1.07,CRD,6.5 +VTS,1,5,180,0.56,CRD,4.5 +VTS,1,5,900,4.04,CRD,14.5 +VTS,1,5,1380,3.12,CRD,16 +VTS,1,5,840,1.45,CSH,10 +VTS,1,5,1500,7.27,CSH,25 +VTS,1,5,540,1.72,CRD,8.5 +VTS,1,5,1560,3.9,CRD,18.5 +VTS,1,5,780,7.9,CSH,22.5 +VTS,1,5,480,2.35,CRD,8.5 +VTS,1,5,420,1.37,CSH,7 +VTS,1,5,360,1.59,CRD,7 +VTS,1,5,960,5.84,CSH,19.5 +VTS,1,5,960,3.28,CSH,13 +VTS,1,5,960,4.32,CRD,16 +VTS,1,5,180,0.45,CSH,4 +VTS,1,5,360,1.64,CSH,7.5 +VTS,1,5,720,2.64,CSH,11 +VTS,1,5,900,3.38,CRD,13.5 +VTS,1,5,780,1.75,CRD,10 +VTS,1,5,1140,4.4,CSH,17 +VTS,1,5,300,0.74,CRD,5 +VTS,1,5,1320,2.87,CSH,15.5 +VTS,1,5,420,1.43,CSH,7 +VTS,1,5,1020,1.77,CRD,12 +VTS,1,5,300,0.66,CSH,5.5 +VTS,1,5,420,1.88,CRD,7.5 +VTS,1,5,720,1.34,CRD,9 +VTS,1,5,360,1.07,CRD,6 +VTS,1,5,300,0.71,CRD,5.5 +VTS,1,5,480,1.25,CSH,7 +VTS,1,5,720,1.29,CRD,9 +VTS,1,5,600,1.68,CSH,8.5 +VTS,1,5,240,0.88,CSH,5 +VTS,1,5,840,1.4,CSH,10 +VTS,1,5,1380,5.34,CRD,20 +VTS,1,5,480,1.31,CRD,7 +VTS,1,5,420,1.16,CSH,6 +VTS,1,5,900,1.77,CSH,11 +VTS,1,5,720,2.54,CRD,11 +VTS,1,5,1080,7.35,CSH,22.5 +VTS,1,5,1020,9.68,CRD,27 +VTS,1,5,300,1.67,CSH,7 +VTS,1,5,480,1.22,CSH,7 +VTS,1,5,1080,5.81,CRD,19.5 +VTS,1,5,540,1.62,CRD,8.5 +VTS,1,5,300,0.61,CSH,5 +VTS,1,5,720,3.29,CRD,12.5 +VTS,1,5,1440,3.64,CSH,17 +VTS,1,5,960,2.72,CRD,12.5 +VTS,1,5,300,1.36,CSH,6.5 +VTS,1,5,600,0.81,CRD,7.5 +VTS,1,5,420,1.06,CSH,7 +VTS,1,5,720,2.13,CRD,9.5 +VTS,1,5,1980,9.9,CRD,32 +VTS,1,5,480,1.62,CRD,7.5 +VTS,1,5,1080,5.94,CSH,20.5 +VTS,1,5,900,3.15,CRD,13.5 +VTS,1,5,240,1.34,CSH,6 +VTS,1,5,840,2.69,CSH,11.5 +VTS,1,5,240,1.37,CSH,6 +VTS,1,5,240,1.12,CRD,5.5 +VTS,1,5,180,0.88,CSH,5 +VTS,1,5,780,3.4,CSH,13.5 +VTS,1,5,360,0.6,CSH,5.5 +VTS,1,5,780,5.13,CSH,17 +VTS,1,5,540,0.51,CSH,6.5 +VTS,1,5,600,2.35,CSH,10 +VTS,1,5,360,1.52,CRD,7.5 +VTS,1,5,1320,3.34,CRD,16 +VTS,1,5,900,1.53,CSH,10.5 +VTS,1,5,900,5.5,CSH,18 +VTS,1,5,660,1.41,CSH,9 +VTS,1,5,960,4.47,CRD,16 +VTS,1,5,1380,7.26,CRD,25 +VTS,1,5,120,0.51,CSH,4 +VTS,1,5,480,1.54,CRD,7.5 +VTS,1,5,720,1.43,CSH,9.5 +VTS,1,5,1020,3.25,CSH,13.5 +VTS,1,5,360,0.74,CSH,5.5 +VTS,1,5,780,1.63,CRD,9.5 +VTS,1,5,360,1.65,CRD,7.5 +VTS,1,5,240,0.86,CSH,5 +VTS,1,5,360,0.67,CSH,5.5 +VTS,1,5,240,0.75,CSH,5 +VTS,1,5,540,2.5,CRD,9.5 +VTS,1,5,240,1.34,CRD,5.5 +VTS,1,5,780,1.98,CRD,10 +VTS,1,5,420,1.25,CRD,6.5 +VTS,1,5,1020,6.6,CRD,20.5 +VTS,1,5,840,2.77,CRD,11.5 +VTS,1,5,360,1.01,CSH,6 +VTS,1,5,1140,2.18,CSH,13 +VTS,1,5,1740,7.68,CRD,28 +VTS,1,5,1200,3.87,CSH,17 +VTS,1,5,300,1.98,CSH,7.5 +VTS,1,5,660,1.88,CSH,10 +VTS,1,5,240,0.59,CSH,5 +VTS,1,5,480,1.44,CRD,7 +VTS,1,1,360,1.39,CSH,6.5 +VTS,1,1,420,1.89,CSH,8 +VTS,1,1,360,1.86,CSH,7.5 +VTS,1,1,180,0.66,CSH,4.5 +VTS,2,2,2400,19.81,CSH,52 +VTS,1,1,540,2.78,CRD,10.5 +VTS,2,5,60,0,CRD,52 +VTS,1,5,600,2.15,CSH,10 +VTS,1,5,180,0.59,CSH,4 +VTS,1,5,1080,4.09,CRD,16 +VTS,1,5,540,1.15,CSH,7.5 +VTS,1,5,420,1.64,CRD,7.5 +VTS,1,5,720,2.56,CSH,10.5 +VTS,1,5,1200,7.69,CSH,24.5 +VTS,1,5,540,1.25,CSH,7.5 +VTS,1,5,660,1.47,CRD,9 +VTS,1,5,360,2.16,CSH,8.5 +VTS,1,5,660,1.53,CRD,9 +VTS,1,5,300,1.04,CRD,5.5 +VTS,1,5,720,1.36,CSH,9 +VTS,1,5,1620,10.78,CRD,32.5 +VTS,1,5,300,0.67,CSH,5 +VTS,1,5,720,2.34,CSH,10.5 +VTS,1,5,960,3.3,CRD,13.5 +VTS,1,5,360,0.97,CRD,6 +VTS,1,5,300,0.73,CSH,5 +VTS,1,5,300,1.23,CSH,6.5 +VTS,1,5,300,0.98,CSH,6 +VTS,1,5,1080,7.95,CSH,24.5 +VTS,1,5,360,2.17,CRD,8 +VTS,1,5,240,0.79,CRD,5 +VTS,1,5,540,0.84,CSH,7 +VTS,1,5,420,1.35,CSH,7 +VTS,1,5,240,0.45,CSH,5 +VTS,1,5,1860,6.44,CRD,24 +VTS,1,5,300,0.53,CRD,4.5 +VTS,1,5,1320,2.94,CRD,15.5 +VTS,1,5,420,1.06,CSH,6.5 +VTS,1,5,240,0.61,CSH,5 +VTS,1,5,780,2.96,CRD,12.5 +VTS,1,5,480,1.57,CSH,7.5 +VTS,1,5,660,1.14,CRD,8.5 +VTS,1,5,1620,10.84,CRD,32.5 +VTS,1,5,960,5.79,CSH,18 +VTS,1,5,960,5.9,CSH,18.5 +VTS,1,5,900,5.7,CRD,17.5 +VTS,1,5,360,1.92,CSH,7 +VTS,1,5,1620,9.21,CRD,29 +VTS,1,5,1140,7.48,CRD,23.5 +VTS,1,5,300,1.47,CRD,6.5 +VTS,1,5,1080,5.37,CSH,18 +VTS,1,5,600,2.26,CRD,9.5 +VTS,1,5,1020,9.23,CSH,26.5 +VTS,1,5,240,0.38,CRD,4 +VTS,1,5,840,2.13,CSH,11 +VTS,1,5,660,0.8,CRD,8 +VTS,2,5,60,0.09,CSH,52 +VTS,1,5,240,0.87,CRD,5 +VTS,1,5,300,1.06,CSH,5.5 +VTS,1,5,360,0.75,CRD,5.5 +VTS,1,5,1920,3.15,CSH,20.5 +VTS,1,5,780,1.69,CRD,9.5 +VTS,1,5,960,2.93,CRD,13 +VTS,1,5,1920,3.7,CSH,21 +VTS,1,5,960,2.08,CRD,11.5 +VTS,1,5,720,3.44,CRD,13.5 +VTS,1,5,420,1.61,CSH,7.5 +VTS,1,5,420,0.81,CSH,6 +VTS,1,5,540,1.2,CRD,7.5 +VTS,1,5,840,3.17,CRD,12.5 +VTS,1,5,960,7.79,CSH,23.5 +VTS,1,5,540,1.78,CSH,8.5 +VTS,1,5,240,1.48,CSH,6 +VTS,1,5,420,1.31,CSH,7 +VTS,1,1,720,3.08,CRD,11.5 +VTS,1,1,420,1.42,CRD,7.5 +VTS,1,5,480,2.16,CSH,8.5 +VTS,1,5,660,2.27,CRD,10 +VTS,1,5,540,2.16,CSH,9 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,240,1.47,CRD,6 +VTS,1,1,900,4.41,CRD,15 +VTS,1,1,960,5.37,CSH,17 +VTS,1,2,540,6.49,CRD,19 +VTS,1,5,240,0.73,CRD,5 +VTS,1,5,180,0.93,CSH,5 +VTS,1,5,1080,1.84,CRD,12.5 +VTS,1,5,300,0.97,CSH,6 +VTS,1,5,0,0,CSH,2.5 +VTS,1,5,840,2.05,CRD,10.5 +VTS,1,5,360,0.82,CSH,5.5 +VTS,1,5,720,2.68,CSH,11.5 +VTS,1,5,540,2.49,CRD,10 +VTS,1,5,660,0.86,CSH,8 +VTS,1,5,720,1.87,CRD,10 +VTS,1,5,480,1.82,CRD,8 +VTS,1,5,600,1.4,CRD,8 +VTS,1,5,600,3.11,CSH,11.5 +VTS,1,5,1200,3.48,CSH,16.5 +VTS,1,5,900,2.77,CRD,12 +CMT,1,1,449,0.6,CSH,6.5 +CMT,1,1,542,1.3,CSH,7.5 +CMT,1,2,650,1.1,CSH,8.5 +CMT,1,1,342,1.1,CRD,6.5 +CMT,1,1,843,1.1,CRD,9.5 +CMT,1,1,555,1.4,CRD,8.5 +VTS,1,1,420,1.9,CSH,8 +VTS,1,1,1320,10,CRD,29.5 +VTS,1,1,420,1.86,CRD,8 +VTS,1,1,540,1.16,CSH,8 +VTS,1,1,1140,2.34,CSH,12.5 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,1,540,1.2,CRD,7.5 +VTS,1,5,240,1.51,CSH,6 +VTS,1,5,300,1.22,CSH,6.5 +VTS,1,5,360,1.17,CRD,6.5 +VTS,1,5,1200,2.94,CRD,15 +VTS,1,1,1020,4.58,CRD,16 +VTS,1,5,1620,7.44,CSH,26 +VTS,1,5,180,0.98,CSH,5 +VTS,1,1,1440,6.45,CRD,23 +VTS,1,1,120,0.58,CSH,4 +VTS,1,1,900,5.13,CRD,17 +VTS,1,1,840,7.72,CSH,23 +VTS,1,1,1020,3.81,CSH,15 +VTS,1,5,480,1.51,CSH,8 +VTS,1,5,480,1,CRD,7 +VTS,1,5,660,3.7,CRD,13 +VTS,1,5,420,1.77,CSH,8 +VTS,1,5,720,2.8,CRD,11 +VTS,1,5,900,2.74,CRD,12.5 +VTS,1,5,840,2.03,CRD,11 +VTS,1,5,660,2.33,CRD,10 +VTS,1,5,360,0.84,CSH,6 +VTS,1,5,360,1.26,CRD,6.5 +VTS,1,5,660,2.16,CRD,9.5 +VTS,1,5,660,1.77,CSH,9 +VTS,1,5,540,1.21,CSH,7.5 +VTS,1,5,360,0.9,CSH,6 +VTS,1,5,600,3.25,CSH,11.5 +VTS,1,5,420,1.59,CSH,7 +VTS,1,5,300,0.51,CSH,5 +VTS,1,5,540,2.29,CRD,9.5 +VTS,1,5,1200,1.81,CRD,13.5 +VTS,1,5,1320,6.42,CSH,22 +VTS,1,5,420,1.53,CSH,7.5 +VTS,1,5,600,2.96,CRD,11 +VTS,1,5,540,4.94,CSH,15.5 +VTS,1,5,360,0.97,CSH,6.5 +VTS,1,5,600,1.2,CRD,8.5 +VTS,1,5,540,1.17,CSH,7.5 +VTS,1,5,1020,2.07,CSH,12.5 +VTS,1,5,840,2.13,CRD,11.5 +VTS,1,5,600,5.69,CRD,17 +VTS,1,5,480,0.97,CSH,7 +VTS,1,5,900,5.91,CRD,19.5 +VTS,1,5,900,2.12,CRD,11 +VTS,1,5,1020,3.5,CRD,14.5 +VTS,1,5,540,1.84,CRD,9 +VTS,1,5,420,2.26,CSH,9 +VTS,1,5,480,1.38,CSH,7.5 +VTS,1,5,840,3.58,CRD,13 +VTS,1,5,600,2.08,CRD,9.5 +VTS,1,5,540,1.48,CSH,8 +VTS,1,5,1200,5.67,CRD,19.5 +VTS,1,5,660,2.88,CRD,11 +VTS,1,5,540,1.74,CRD,8.5 +VTS,1,5,540,1.46,CRD,8 +VTS,1,5,960,3.94,CSH,15.5 +VTS,1,5,660,2.36,CRD,11 +VTS,1,5,480,1.79,CSH,8 +VTS,1,5,480,0.89,CRD,6.5 +VTS,1,5,360,0.56,CSH,5.5 +VTS,1,5,960,1.68,CSH,11.5 +VTS,1,5,300,0.87,CSH,5.5 +VTS,1,5,600,1.58,CRD,8.5 +VTS,1,5,840,2.47,CRD,12.5 +VTS,1,5,540,1.04,CRD,7 +VTS,1,5,1140,5.96,CSH,19.5 +VTS,1,5,240,1.58,CSH,7 +VTS,1,5,660,3.57,CRD,12.5 +VTS,1,5,540,2.18,CSH,9.5 +VTS,1,5,1140,4.78,CSH,17.5 +VTS,1,5,720,2.06,CSH,10 +VTS,1,5,540,1.46,CRD,8 +VTS,1,5,360,0.57,CSH,5.5 +VTS,1,5,1140,5.32,CSH,18.5 +VTS,1,5,360,0.87,CSH,6 +VTS,1,5,720,2.31,CSH,10.5 +VTS,1,5,900,3.58,CSH,14.5 +VTS,1,5,540,1.79,CSH,8.5 +VTS,1,5,660,2.08,CSH,10 +VTS,1,5,120,0.44,CSH,3.5 +VTS,1,5,840,1.98,CRD,11.5 +VTS,1,5,360,0.89,CRD,6 +VTS,1,5,240,0.94,CRD,5 +VTS,1,5,300,0.8,CSH,5.5 +VTS,1,5,180,0.87,CSH,5 +VTS,1,5,180,1.01,CSH,5 +VTS,1,5,1080,2.31,CSH,13 +VTS,1,5,1200,11.97,CRD,32.5 +VTS,1,5,720,1.76,CRD,9.5 +VTS,1,5,1020,3.01,CRD,13 +VTS,1,5,660,1.21,CRD,8.5 +VTS,1,5,660,2.07,CRD,9.5 +VTS,1,5,540,1.27,CRD,8 +VTS,1,5,600,0.67,CRD,7.5 +VTS,1,5,1200,7.86,CSH,25 +VTS,1,5,840,4.13,CSH,15 +VTS,1,5,600,5.35,CRD,16.5 +VTS,1,5,660,3.32,CSH,11.5 +VTS,1,5,420,2.25,CRD,8.5 +VTS,1,5,420,2.43,CRD,9 +VTS,1,5,180,0.51,CSH,4 +VTS,1,5,300,0.89,CRD,6 +VTS,1,5,1740,8.07,CRD,28 +VTS,1,5,900,6.91,CSH,21 +VTS,1,5,1200,2.52,CSH,14.5 +VTS,1,5,240,1.33,CRD,6 +VTS,1,5,900,1.85,CRD,10.5 +VTS,1,5,480,0.76,CSH,6.5 +VTS,1,5,240,0.95,CRD,5 +VTS,1,5,840,2.1,CRD,11.5 +VTS,1,5,480,1.01,CSH,7 +VTS,1,5,240,0.71,CRD,5 +VTS,1,5,540,2.55,CRD,10 +VTS,1,5,480,1.69,CRD,8 +VTS,1,5,240,0.65,CSH,4.5 +VTS,1,5,480,1.7,CRD,8 +VTS,1,5,720,3.18,CRD,12 +VTS,1,5,600,2.24,CRD,9.5 +VTS,1,5,540,1.65,CRD,8.5 +VTS,1,5,300,1.43,CSH,6.5 +VTS,1,5,540,1.72,CSH,8.5 +VTS,1,5,480,0.57,CSH,6.5 +VTS,1,5,720,2.43,CRD,10 +VTS,1,5,300,0.99,CSH,5.5 +VTS,1,5,300,0.84,CSH,5.5 +VTS,1,5,540,1.7,CSH,8.5 +VTS,1,5,540,1.63,CSH,8 +VTS,1,5,780,1.27,CSH,9.5 +VTS,1,5,900,3.52,CRD,14 +VTS,1,5,660,1.1,CRD,8 +VTS,1,5,300,0.54,CSH,4.5 +VTS,1,5,660,1.09,CSH,8.5 +VTS,1,5,300,0.71,CSH,5 +VTS,1,5,120,0.59,CSH,4 +VTS,1,5,2400,12.39,CRD,37.5 +VTS,1,5,300,0.94,CSH,5.5 +VTS,1,5,960,3.26,CSH,14.5 +VTS,1,5,1140,3.8,CSH,15.5 +VTS,1,5,420,0.55,CRD,6 +VTS,1,5,600,2.51,CRD,10 +VTS,1,5,600,2.05,CSH,9 +VTS,1,5,480,1.46,CSH,7.5 +VTS,1,5,600,2.49,CRD,10 +VTS,1,5,3540,15.46,CSH,53 +VTS,1,5,480,1.21,CSH,7 +VTS,1,5,420,0.86,CSH,6 +VTS,1,5,420,1.87,CSH,8.5 +VTS,1,5,300,1.32,CSH,6.5 +VTS,1,5,900,2.18,CSH,11.5 +VTS,1,5,540,1.92,CRD,9 +VTS,1,5,360,1.22,CSH,7 +VTS,1,5,960,6.46,CRD,20.5 +VTS,1,5,960,1.53,CSH,11 +VTS,1,5,300,0.99,CRD,5.5 +VTS,1,5,360,0.76,CSH,6 +VTS,1,5,900,2.92,CRD,12.5 +VTS,1,5,1200,2.88,CRD,15 +VTS,1,5,660,1.81,CSH,9.5 +VTS,1,5,1140,2.85,CSH,14 +VTS,1,5,900,8.15,CSH,23.5 +VTS,1,5,420,0.87,CSH,6 +VTS,1,5,240,0.83,CSH,5 +VTS,1,5,780,2.23,CRD,10 +VTS,1,5,600,1.12,CRD,8 +VTS,1,5,1020,2.23,CRD,12.5 +VTS,1,5,1080,6.13,CRD,20.5 +VTS,1,5,720,3.47,CSH,12.5 +VTS,1,5,240,0.81,CRD,4.5 +VTS,1,5,480,1.98,CRD,8.5 +VTS,1,5,1260,14.81,CRD,39.5 +VTS,1,5,1140,5.98,CRD,21 +VTS,1,5,540,1.4,CRD,7.5 +VTS,1,5,300,0.63,CSH,5 +VTS,1,5,1440,11.2,CSH,32.5 +VTS,1,5,540,2.73,CSH,10 +VTS,1,5,1860,4.17,CRD,21.5 +VTS,1,5,840,2.17,CSH,11 +VTS,1,5,720,2.02,CRD,9.5 +VTS,1,5,780,2.89,CRD,11.5 +VTS,1,5,240,0.4,CSH,4 +VTS,1,5,420,1.16,CRD,6.5 +VTS,1,5,240,0.8,CSH,5 +VTS,1,5,720,5.3,CRD,17 +VTS,1,5,420,1.48,CSH,7 +VTS,1,5,540,1.57,CSH,8 +VTS,1,5,240,0.45,CRD,4 +VTS,1,5,840,2.72,CSH,12.5 +VTS,1,5,660,2.33,CSH,10 +VTS,1,5,480,1.34,CSH,7 +VTS,1,5,120,0.58,CSH,4 +VTS,1,5,840,2.71,CSH,12 +VTS,1,5,720,2.07,CRD,10.5 +VTS,1,5,660,1.66,CSH,9 +VTS,1,5,420,0.97,CSH,6.5 +VTS,1,5,300,1.6,CSH,7 +VTS,1,5,1200,2.43,CSH,14 +VTS,1,5,1800,2.94,CRD,19 +VTS,1,5,360,0.77,CSH,5.5 +VTS,1,5,540,2.19,CSH,9.5 +VTS,1,5,540,2.22,CRD,8.5 +VTS,1,5,1140,7.04,CSH,22.5 +VTS,1,5,840,2.49,CRD,11.5 +VTS,1,5,540,5.6,CRD,17 +VTS,1,5,840,4.65,CRD,15.5 +VTS,1,5,1020,4.1,CSH,16.5 +VTS,1,5,300,1.09,CSH,6 +VTS,1,5,720,2.42,CRD,10 +VTS,1,5,360,1.05,CRD,6.5 +VTS,1,5,480,1.91,CSH,8.5 +VTS,1,5,600,1.96,CRD,8.5 +VTS,1,5,540,1.17,CSH,8 +VTS,1,5,300,0.96,CRD,5.5 +VTS,1,5,0,0.02,CSH,2.5 +VTS,1,5,300,1.34,CSH,6.5 +VTS,1,5,240,0.61,CRD,4.5 +VTS,1,5,1500,2.55,CRD,16 +VTS,1,5,120,0.4,CRD,3.5 +VTS,1,5,840,3.84,CSH,14.5 +VTS,1,5,720,2.79,CRD,11 +VTS,1,5,960,3.38,CRD,14.5 +VTS,1,5,780,0.92,CRD,9.5 +VTS,1,5,360,1.41,CRD,6.5 +VTS,1,5,420,1.02,CRD,6.5 +VTS,1,5,420,1.46,CSH,8 +VTS,1,5,660,1.11,CRD,8.5 +VTS,1,5,720,1.33,CSH,9 +VTS,1,5,1200,4.96,CRD,18.5 +VTS,1,5,600,1.54,CRD,8.5 +VTS,1,5,660,2.65,CSH,11 +VTS,1,5,420,1.86,CRD,8.5 +VTS,1,5,480,0.97,CSH,7 +VTS,1,5,720,2.4,CSH,11 +VTS,1,5,720,3.28,CRD,12.5 +VTS,1,5,720,1.47,CRD,9 +VTS,1,5,360,1.37,CSH,6 +VTS,1,5,540,1.46,CSH,8 +VTS,1,5,780,2.01,CSH,10 +VTS,1,5,420,0.99,CRD,6.5 +VTS,1,5,480,1.38,CSH,7 +VTS,1,5,180,0.65,CRD,4 +VTS,1,5,900,1.28,CRD,10.5 +VTS,1,5,480,0.88,CSH,7 +VTS,1,1,480,2,CSH,8.5 +VTS,1,1,660,2.39,CSH,10.5 +VTS,1,5,300,1.02,CRD,5.5 +VTS,1,5,360,1.55,CRD,7 +VTS,1,5,720,2.47,CRD,10.5 +VTS,1,5,420,1.88,CRD,7.5 +VTS,1,5,840,2.48,CRD,11 +VTS,1,5,540,1.47,CRD,7.5 +VTS,1,5,420,1.97,CSH,8.5 +VTS,1,5,300,1.26,CRD,6 +VTS,1,5,720,5.64,CRD,17 +VTS,1,5,120,0.46,CSH,3.5 +VTS,1,5,300,0.41,CSH,5 +VTS,1,5,1020,3.92,CRD,15.5 +VTS,1,5,540,2.86,CRD,10.5 +VTS,1,5,480,2.18,CSH,8.5 +VTS,1,5,900,6.53,CRD,20.5 +VTS,1,5,1080,1.99,CSH,13 +VTS,1,5,900,2.62,CSH,12 +VTS,1,1,360,1.07,CRD,6 +VTS,1,1,360,1.15,CSH,6.5 +VTS,1,5,540,1.65,CSH,8.5 +VTS,1,5,300,0.7,CSH,5 +VTS,1,5,660,2.79,CSH,11 +VTS,1,5,600,1.02,CRD,8 +VTS,1,5,180,0.53,CSH,4 +VTS,1,5,660,2.05,CRD,9.5 +VTS,1,5,600,1.23,CSH,8 +VTS,1,5,600,2.77,CSH,10 +VTS,1,5,420,1.64,CRD,7.5 +VTS,1,1,960,6.43,CRD,21 +VTS,1,5,480,1.75,CSH,8 +VTS,1,5,600,1.79,CRD,9 +VTS,1,5,300,1.18,CSH,6 +VTS,1,5,1080,2.16,CRD,12 +VTS,1,5,240,0.38,CSH,4.5 +VTS,1,5,1620,3.23,CRD,18 +VTS,1,5,780,1.1,CSH,9.5 +VTS,1,5,420,1.08,CRD,6 +VTS,1,5,240,1.1,CRD,5.5 +VTS,1,5,720,1.79,CRD,9.5 +VTS,1,5,180,0.52,CRD,4 +VTS,1,5,480,1.37,CSH,7.5 +VTS,1,5,960,2.4,CSH,12 +VTS,1,5,120,0.25,CRD,3 +VTS,1,5,900,2.94,CRD,13 +VTS,1,5,300,1.39,CRD,6 +VTS,1,5,480,1.19,CSH,7 +VTS,1,5,1020,2.31,CRD,12.5 +VTS,1,1,660,3.04,CSH,12 +VTS,1,5,840,2.4,CSH,11.5 +VTS,1,5,180,0.89,CRD,5 +VTS,1,5,480,1.91,CRD,8 +VTS,1,5,420,1.22,CRD,6.5 +VTS,1,5,720,4.21,CSH,13 +VTS,1,5,480,1.48,CSH,7.5 +VTS,2,1,1200,15.33,CRD,52 +VTS,1,5,720,1.97,CRD,9.5 +VTS,1,5,360,0.61,CRD,5.5 +VTS,1,5,480,0.88,CRD,6.5 +VTS,1,5,900,1.42,CSH,10 +VTS,1,5,660,0.42,CRD,7.5 +VTS,1,5,540,1.24,CRD,7.5 +VTS,1,5,600,1.1,CSH,8 +VTS,1,5,300,0.84,CSH,5.5 +VTS,1,5,1200,2.99,CRD,15 +VTS,1,5,300,0.41,CSH,4.5 +VTS,1,5,240,0.66,CSH,4.5 +VTS,1,1,720,1.75,CSH,9 +VTS,1,1,300,2.01,CSH,8 +VTS,1,5,660,3.35,CRD,12 +VTS,1,5,300,0.94,CSH,5.5 +VTS,1,5,180,0.59,CSH,4.5 +VTS,1,5,420,1.11,CSH,7 +VTS,1,5,600,1.74,CRD,9 +VTS,1,5,1080,4.57,CRD,16.5 +VTS,1,5,240,1.04,CRD,5.5 +VTS,1,5,600,2.09,CSH,9.5 +VTS,1,1,900,9.34,CRD,26 +VTS,1,1,600,1.58,CRD,8.5 +VTS,1,1,600,1.61,CRD,8.5 +VTS,1,1,240,0.63,CRD,4 +VTS,1,5,240,0.49,CSH,4.5 +VTS,1,5,180,0.75,CRD,4.5 +VTS,1,5,480,1.22,CSH,7.5 +VTS,1,5,300,0.49,CRD,5 +VTS,1,5,480,0.91,CRD,6.5 +VTS,1,5,480,1.76,CRD,8 +VTS,1,5,780,5.86,CSH,18.5 +VTS,1,5,1200,2.9,CSH,13.5 +VTS,1,5,120,0.33,CSH,3.5 +VTS,1,5,720,1.54,CSH,9.5 +VTS,1,5,600,1.45,CSH,8.5 +VTS,1,5,1020,1.86,CSH,11.5 +VTS,1,1,900,2.17,CSH,11.5 +VTS,1,1,120,0.5,CRD,3.5 +VTS,1,5,660,1.19,CRD,8 +VTS,1,5,960,3.72,CSH,14.5 +VTS,1,5,480,1.58,CSH,7.5 +VTS,1,5,840,2.88,CRD,12 +VTS,1,5,1140,4.47,CSH,17.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,600,1.45,CRD,8 +VTS,1,1,660,1.81,CSH,9.5 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,5,240,0.52,CRD,4.5 +VTS,1,5,480,0.98,CRD,6.5 +VTS,1,5,540,1.06,CRD,7 +VTS,1,5,480,0.86,CSH,6.5 +VTS,1,1,780,2.42,CSH,11 +VTS,1,1,660,2.3,CRD,10 +VTS,1,1,540,0.91,CSH,7 +VTS,1,1,1140,7.39,CRD,23.5 +VTS,1,1,600,2.39,CRD,9 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,480,0.92,CSH,6.5 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,5,360,0.58,CRD,5 +VTS,1,5,180,0.53,CSH,4 +VTS,1,5,420,1.19,CSH,6.5 +VTS,1,5,1020,1.19,CSH,11.5 +VTS,1,5,780,1.27,CRD,9 +VTS,1,5,1080,9.7,CRD,28 +VTS,1,5,1500,10.52,CRD,31.5 +VTS,1,5,600,1.78,CSH,9 +VTS,1,1,480,0.5,CSH,6 +VTS,1,1,600,1.64,CSH,9 +VTS,1,1,540,1.53,CRD,8 +VTS,1,1,180,1.11,CSH,5.5 +VTS,1,1,780,1.82,CSH,10.5 +VTS,1,1,180,0.97,CSH,5 +VTS,1,1,120,0.56,CSH,4 +VTS,1,1,1140,3.72,CRD,14.5 +VTS,1,1,240,1.16,CSH,5.5 +VTS,1,1,540,1.17,CRD,8 +VTS,1,5,600,1.08,CSH,8 +VTS,1,5,480,1.49,CSH,7.5 +VTS,1,5,600,2.27,CRD,10 +VTS,1,5,720,6.49,CSH,19.5 +VTS,1,5,1200,1.4,CSH,13 +VTS,1,5,120,0.71,CSH,4.5 +VTS,1,5,1020,2.5,CRD,12.5 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,180,0.52,CRD,4.5 +VTS,1,1,600,1.82,CRD,9 +VTS,1,5,660,2.45,CRD,10.5 +VTS,1,5,300,1.41,CRD,6 +VTS,1,5,240,0.67,CRD,4.5 +VTS,1,5,540,1.66,CSH,8 +VTS,1,5,360,0.92,CSH,5.5 +VTS,1,5,360,2.02,CSH,7.5 +VTS,1,1,900,8.27,CSH,24.5 +VTS,1,1,660,2.2,CRD,9.5 +VTS,1,1,780,2.87,CRD,11.5 +VTS,1,1,600,1.49,CRD,8 +VTS,1,1,540,1.57,CSH,8 +VTS,1,5,1440,3.93,CRD,18.5 +VTS,1,5,300,0.88,CSH,5 +VTS,2,5,2640,19.98,CRD,52 +VTS,1,5,1320,10.29,CSH,30 +VTS,1,5,540,1.97,CRD,8.5 +VTS,1,5,840,2.91,CRD,12 +VTS,1,5,600,2.38,CRD,10 +VTS,1,5,360,1.23,CSH,6.5 +VTS,1,1,240,0.53,CRD,4 +VTS,1,1,780,3.68,CSH,13 +VTS,1,1,180,0.36,CRD,4 +VTS,1,1,240,1.01,CSH,5.5 +VTS,1,5,300,1.1,CSH,5.5 +VTS,1,5,600,1.66,CRD,8.5 +VTS,1,5,1200,2.06,CSH,14 +VTS,1,5,360,0.97,CRD,6 +VTS,1,1,420,1.87,CRD,7.5 +VTS,1,2,660,2.54,CSH,10.5 +VTS,1,3,240,0.81,CSH,5 +VTS,1,2,300,1.32,CSH,6.5 +VTS,1,1,1140,9.86,CRD,28.5 +VTS,1,1,600,2.4,CSH,10 +VTS,1,1,1200,5.84,CSH,22 +VTS,1,1,1140,7.37,CSH,22.5 +VTS,1,1,840,2.89,CRD,12.5 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,900,5.47,CRD,18 +VTS,1,1,360,0.86,CRD,6 +VTS,1,1,900,2.76,CRD,11 +VTS,1,1,720,3.26,CSH,12 +VTS,1,5,240,0.94,CSH,5 +VTS,1,5,1500,9.5,CSH,29.5 +VTS,1,5,240,0.94,CSH,5.5 +VTS,1,5,180,0.41,CSH,4 +VTS,1,5,840,2.31,CSH,11.5 +VTS,1,5,360,0.92,CSH,5.5 +VTS,1,5,360,1.41,CRD,7 +VTS,1,5,600,1.53,CRD,8.5 +VTS,1,5,1200,3.42,CRD,15 +VTS,1,5,360,1.54,CSH,7.5 +VTS,1,5,360,0.57,CRD,5.5 +VTS,1,5,1080,3.31,CRD,14 +VTS,1,5,540,2.21,CSH,9 +VTS,1,5,300,0.67,CSH,5 +VTS,1,5,180,0.4,CSH,4 +VTS,1,5,480,0.64,CRD,6.5 +VTS,1,5,840,0.73,CRD,9.5 +VTS,1,5,240,0.99,CSH,5.5 +VTS,1,5,420,1.8,CRD,8 +VTS,1,5,180,1.59,CSH,6 +VTS,1,5,1140,5.17,CSH,19 +VTS,1,5,300,0.81,CSH,5.5 +VTS,1,5,1020,1.6,CRD,11 +VTS,1,5,240,0.54,CSH,4.5 +VTS,1,5,240,1.39,CRD,6 +VTS,1,5,960,3.93,CRD,14.5 +VTS,1,5,240,0.69,CSH,4 +VTS,1,5,900,1.59,CRD,10 +VTS,1,5,300,0.95,CSH,5.5 +VTS,1,5,720,1.61,CRD,10 +VTS,1,1,240,0.83,CSH,4.5 +VTS,1,1,240,0.76,CRD,5 +VTS,1,5,180,0.64,CSH,4.5 +VTS,1,5,660,1.96,CRD,9.5 +VTS,1,5,480,1.79,CRD,8.5 +VTS,1,5,420,1.6,CRD,7.5 +VTS,1,5,600,1.94,CSH,9 +VTS,1,5,600,1.69,CSH,8.5 +VTS,1,5,840,3.28,CRD,12.5 +VTS,1,1,900,2.85,CSH,13 +VTS,1,1,480,1.69,CSH,8 +VTS,1,1,420,0.98,CRD,6.5 +VTS,1,1,540,2,CRD,9 +VTS,1,1,180,0.54,CSH,4 +VTS,1,1,360,1.38,CRD,6.5 +VTS,1,5,840,2.49,CRD,11.5 +VTS,1,5,420,0.96,CSH,6.5 +VTS,1,5,360,0.78,CSH,5.5 +VTS,1,5,720,2.19,CRD,10.5 +VTS,1,5,1080,1.48,CRD,12 +VTS,1,5,420,1,CSH,6.5 +VTS,1,5,480,1.76,CSH,8.5 +VTS,1,5,360,0.86,CSH,6 +VTS,1,5,1320,2.57,CSH,15 +VTS,1,1,300,1.27,CSH,6 +VTS,1,1,840,3.52,CSH,13.5 +VTS,1,1,660,1.99,CSH,10 +VTS,1,2,240,0.87,CSH,5.5 +VTS,1,3,660,1.92,CSH,9.5 +VTS,1,1,300,0.74,CSH,5 +VTS,1,1,480,1.48,CSH,7.5 +VTS,1,1,1140,4.11,CRD,16 +VTS,1,1,1500,10.86,CRD,34 +VTS,1,1,1800,21.14,CRD,56.5 +VTS,1,1,900,2.58,CSH,12 +VTS,1,1,600,2.65,CSH,10.5 +VTS,1,1,1020,4.51,CRD,16.5 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,1860,7.47,CSH,26.5 +VTS,1,1,1020,2.94,CSH,13.5 +VTS,1,2,660,2.09,CSH,10 +VTS,1,1,540,2.22,CRD,9 +VTS,1,1,1320,7.1,CRD,23.5 +VTS,1,2,420,1.73,CSH,8 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,720,1.93,CRD,10 +VTS,1,1,600,1.42,CRD,8.5 +VTS,1,1,540,1.09,CSH,7 +VTS,1,5,660,1.4,CSH,8.5 +VTS,1,5,1200,3.13,CRD,14.5 +VTS,1,1,240,0.85,CSH,5 +VTS,1,1,660,1.03,CSH,7.5 +VTS,1,3,360,1.79,CSH,7.5 +VTS,1,1,360,1.11,CRD,6.5 +VTS,1,1,540,1.32,CSH,8 +VTS,1,1,840,3.1,CSH,12 +VTS,1,1,480,1.06,CRD,6.5 +VTS,1,1,360,1.7,CSH,7 +VTS,1,1,540,2.59,CSH,10 +VTS,1,1,540,2.95,CRD,11 +VTS,1,1,240,0.91,CSH,5 +VTS,1,1,480,1.64,CRD,8 +VTS,1,1,420,1.12,CRD,7 +VTS,1,1,540,1.87,CSH,8 +VTS,1,1,1200,10.7,CRD,30.5 +VTS,1,1,300,1.1,CSH,6 +VTS,1,2,480,1.23,CSH,7 +VTS,1,1,360,1.78,CSH,8 +VTS,1,1,1320,4.65,CSH,18 +VTS,1,1,480,1.9,CSH,8 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,540,1.4,CSH,8 +VTS,1,1,120,0.28,CSH,3 +VTS,1,1,180,0.47,CRD,4 +VTS,1,1,1740,10.64,CRD,33 +VTS,1,1,900,3.72,CRD,13.5 +VTS,1,1,780,5.27,CSH,17 +VTS,1,1,1860,4.37,CRD,22.5 +VTS,1,1,420,1.47,CRD,7.5 +VTS,1,1,960,4.58,CRD,16.5 +VTS,1,1,660,2.63,CSH,10.5 +VTS,1,1,1200,3.02,CRD,14.5 +VTS,1,1,480,2.54,CSH,9.5 +VTS,1,1,120,0.69,CRD,4.5 +VTS,1,1,360,0.94,CSH,6.5 +VTS,1,1,300,1.09,CSH,6 +VTS,1,1,120,0.36,CSH,4 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,1440,10.54,CRD,32 +VTS,1,1,180,0.55,CRD,4 +VTS,1,1,300,1.51,CSH,6.5 +VTS,1,1,1020,2.51,CRD,13 +VTS,1,1,480,1.69,CRD,7.5 +VTS,1,1,600,2.05,CSH,9.5 +VTS,1,1,480,2.01,CRD,8.5 +VTS,1,1,300,3.16,CSH,10.5 +VTS,1,1,420,1.42,CRD,7 +VTS,1,1,240,1.15,CRD,5.5 +VTS,1,1,1740,9.7,CRD,30 +VTS,1,1,720,2.61,CRD,11 +VTS,1,5,1200,2.33,CSH,13.5 +VTS,1,5,1740,6.29,CRD,24.5 +VTS,1,5,1140,11.49,CSH,31.5 +VTS,1,5,180,0.61,CSH,4 +VTS,1,5,600,2.07,CRD,9 +VTS,1,5,240,0.73,CSH,4.5 +VTS,1,1,300,1.19,CSH,6 +VTS,1,1,120,0.6,CSH,4 +VTS,1,1,1080,3.74,CSH,14.5 +VTS,2,1,60,0,CRD,52 +VTS,1,1,480,2.07,CSH,8.5 +VTS,1,1,120,0.38,CRD,3.5 +VTS,1,1,1320,14.24,CSH,39 +VTS,1,1,660,2.87,CSH,11.5 +VTS,1,1,780,3.3,CSH,12.5 +VTS,1,1,360,1.41,CSH,6.5 +VTS,1,1,1560,5.91,CRD,22.5 +VTS,1,1,1740,15.32,CSH,43.5 +VTS,1,1,1380,4.53,CRD,18 +VTS,1,1,360,0.83,CSH,6 +VTS,1,1,1080,4.55,CSH,17.5 +VTS,1,1,660,2.63,CSH,11 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,540,1.85,CSH,8.5 +VTS,1,1,360,1.48,CSH,7 +VTS,1,1,300,0.64,CRD,5 +VTS,1,1,120,0.34,CSH,3.5 +VTS,1,1,420,2.23,CSH,9 +VTS,1,1,2400,7.51,CSH,30 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,660,2.33,CSH,10 +VTS,1,1,420,1.9,CSH,8 +VTS,1,1,240,0.9,CRD,5 +VTS,1,1,1140,3.66,CSH,15 +VTS,1,1,840,1.73,CSH,10.5 +VTS,1,1,360,0.93,CSH,6 +VTS,1,1,540,1.36,CRD,7.5 +VTS,1,2,900,1.59,CRD,10.5 +VTS,1,1,600,1.93,CSH,9 +VTS,1,1,180,0.83,CSH,4.5 +VTS,1,2,1080,3.85,CRD,15.5 +VTS,1,1,1020,3.09,CSH,13.5 +VTS,1,1,1020,4.16,CRD,16 +VTS,1,1,840,1.9,CRD,9.5 +VTS,1,1,600,3.02,CRD,10.5 +VTS,1,1,720,3.25,CRD,11.5 +VTS,1,1,480,0.65,CRD,6.5 +VTS,1,1,1320,2.94,CRD,15.5 +VTS,1,1,1080,4.79,CRD,17.5 +VTS,1,1,2160,10.56,CRD,34.5 +VTS,1,1,720,2.67,CRD,11.5 +VTS,1,1,480,0.74,CSH,6.5 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,1,600,1.49,CRD,8.5 +VTS,1,1,420,1.25,CRD,6.5 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,2,1740,18.73,CRD,51.5 +VTS,1,1,840,3.92,CRD,14 +VTS,1,1,300,0.74,CRD,5 +VTS,1,1,480,2.06,CSH,9 +VTS,1,1,420,1.18,CSH,6.5 +VTS,1,1,660,1.76,CSH,8.5 +VTS,1,1,420,0.76,CSH,5.5 +VTS,1,1,180,0.78,CRD,4.5 +VTS,1,1,420,1.46,CRD,7 +VTS,1,2,840,2.22,CRD,11.5 +VTS,1,1,840,3.53,CSH,13 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,1560,12.11,CRD,34.5 +VTS,1,1,1080,10.74,CSH,30 +VTS,1,1,1560,4.07,CSH,19.5 +VTS,1,1,600,1.64,CRD,9 +VTS,1,1,360,0.84,CSH,5.5 +VTS,1,2,660,5.49,CSH,17 +VTS,1,1,300,0.51,CRD,4.5 +VTS,1,1,360,1.23,CSH,7 +VTS,1,1,600,1.62,CRD,8.5 +VTS,1,5,600,0.69,CSH,7 +VTS,1,5,540,2.39,CSH,9.5 +VTS,1,5,480,1.91,CSH,9 +VTS,1,5,600,1.06,CRD,7.5 +VTS,1,5,360,1.89,CSH,7.5 +VTS,1,5,480,1.17,CRD,7 +VTS,1,5,540,1.26,CSH,8 +VTS,1,5,540,2.49,CRD,10 +VTS,1,5,1320,4.69,CRD,18.5 +VTS,2,5,2160,15.85,CRD,52 +VTS,1,5,300,0.51,CSH,5 +VTS,1,5,720,1.85,CRD,10 +VTS,1,5,540,1.61,CRD,8 +VTS,1,5,300,0.8,CRD,5 +VTS,1,5,660,1.84,CRD,9 +VTS,1,5,360,1.12,CSH,6.5 +VTS,1,5,420,0.96,CRD,6 +VTS,1,5,420,1.32,CSH,6.5 +VTS,1,5,720,2.45,CSH,11 +VTS,1,5,180,0.69,CRD,4.5 +VTS,1,5,600,1.88,CSH,9.5 +VTS,1,5,960,3.11,CRD,13 +VTS,1,5,600,1.31,CRD,8 +VTS,1,5,960,1.12,CSH,10.5 +VTS,1,5,600,1.38,CSH,8 +VTS,1,5,840,3.58,CRD,13.5 +VTS,1,5,0,0.04,CSH,2.5 +VTS,1,5,540,1.31,CSH,8 +VTS,1,5,960,5.92,CRD,19 +VTS,1,5,1260,4.27,CRD,17.5 +VTS,1,5,180,0.71,CRD,4 +VTS,1,5,900,1.67,CSH,11 +VTS,1,5,780,2.41,CRD,10.5 +VTS,1,5,1500,4.14,CRD,18.5 +VTS,1,5,360,1.13,CSH,6 +VTS,1,5,420,1.04,CRD,6 +VTS,1,1,1020,3.45,CSH,14 +VTS,1,1,720,2.46,CRD,10.5 +VTS,1,1,1140,4.31,CSH,15.5 +VTS,1,1,1380,14.28,CSH,39.5 +VTS,1,5,1020,5.74,CSH,19 +VTS,1,5,1020,3.12,CSH,13.5 +VTS,1,5,300,1.19,CRD,6 +VTS,1,1,420,1.31,CRD,6.5 +VTS,1,1,1200,3.79,CRD,15.5 +VTS,1,1,720,2.32,CSH,10.5 +VTS,1,1,540,1.8,CRD,8.5 +VTS,1,5,480,0.43,CRD,6.5 +VTS,1,5,240,0.47,CSH,4.5 +VTS,1,5,360,1.55,CSH,7 +VTS,1,5,900,2.86,CRD,12.5 +VTS,1,2,1740,10.54,CSH,32 +VTS,1,1,600,2.2,CRD,9.5 +VTS,1,1,480,2.12,CRD,8.5 +VTS,1,1,480,1.16,CRD,7 +VTS,1,1,600,1.3,CRD,8 +VTS,1,1,600,2.14,CSH,9.5 +VTS,1,1,1860,4.99,CRD,21 +VTS,1,1,1440,2.38,CRD,14.5 +VTS,1,2,1320,5.4,CSH,19 +VTS,1,1,840,2.37,CSH,11 +VTS,1,1,660,3.56,CRD,13 +VTS,1,1,420,1.76,CSH,7.5 +VTS,1,2,780,5.41,CSH,16.5 +VTS,1,1,240,0.71,CRD,4.5 +VTS,1,1,420,1.34,CSH,7 +VTS,1,1,480,1.39,CRD,7 +VTS,1,1,540,1.79,CRD,8.5 +VTS,1,1,180,0.4,CSH,4 +VTS,1,1,1080,6.83,CRD,21.5 +VTS,1,1,600,1.85,CSH,9 +VTS,1,1,600,2.53,CRD,10.5 +VTS,1,1,1020,4.43,CSH,16.5 +VTS,1,1,420,1.64,CRD,7.5 +VTS,1,1,1920,7.45,CRD,28 +VTS,1,1,600,2.6,CRD,10 +VTS,1,1,1020,1.83,CRD,11.5 +VTS,1,2,600,0.72,CSH,7.5 +VTS,1,1,180,0.55,CSH,4.5 +VTS,1,1,780,1.92,CSH,10 +VTS,1,1,120,0.37,CRD,3.5 +VTS,1,1,1200,4.53,CRD,17 +VTS,1,1,1200,3.96,CSH,17 +VTS,1,1,360,0.36,CRD,5.5 +VTS,1,1,1200,4.68,CRD,17 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,1740,4.21,CRD,21 +VTS,1,1,960,7.27,CRD,22 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,720,2.03,CRD,10 +VTS,1,1,360,1.68,CRD,7 +VTS,1,1,840,3.5,CRD,14 +VTS,1,1,960,3.95,CRD,15.5 +VTS,1,1,720,3.66,CRD,13 +VTS,1,1,1440,8.7,CRD,27 +VTS,1,1,1500,4.8,CSH,19.5 +VTS,1,1,300,1.4,CSH,6 +VTS,1,1,480,1.69,CRD,8 +VTS,1,1,1860,9.04,CRD,29.5 +VTS,1,1,300,0.69,CSH,5.5 +VTS,1,1,660,1.2,CRD,8 +VTS,1,1,840,4.18,CSH,14.5 +VTS,1,1,1020,2.01,CRD,12.5 +VTS,1,1,1320,2.61,CRD,15 +VTS,1,1,240,0.7,CRD,5 +VTS,1,1,720,3.38,CSH,13 +VTS,1,1,1140,5.48,CRD,19.5 +VTS,1,1,240,0.78,CRD,5 +VTS,1,1,660,2.25,CSH,10.5 +VTS,1,1,540,2.1,CRD,8.5 +VTS,1,1,420,1.95,CRD,8 +VTS,1,1,360,1.2,CRD,6 +VTS,1,1,900,3.99,CRD,14 +VTS,1,1,2280,9.48,CRD,37 +VTS,1,2,720,1.46,CRD,10 +VTS,1,1,660,4.88,CRD,15.5 +VTS,1,1,480,1.42,CRD,7 +VTS,1,1,120,0.41,CSH,4 +VTS,1,1,480,1.56,CRD,7.5 +VTS,1,1,120,0.37,CRD,3.5 +VTS,1,1,840,3.6,CRD,13 +VTS,1,1,720,2.83,CSH,11 +VTS,1,1,1320,7.38,CSH,24.5 +VTS,1,1,780,4.58,CRD,16 +VTS,1,1,780,2.77,CRD,12 +VTS,1,1,600,4.85,CSH,15 +VTS,1,1,1200,9.52,CRD,27.5 +VTS,1,1,1200,8.1,CRD,25 +VTS,1,1,960,8.5,CRD,24.5 +VTS,1,1,300,1.52,CRD,6.5 +VTS,1,1,720,3.45,CSH,12 +VTS,1,1,420,2.23,CRD,8.5 +VTS,1,1,720,2.43,CRD,11 +VTS,1,1,1800,7.37,CRD,27 +VTS,1,1,300,0.94,CRD,6 +VTS,1,1,360,1.04,CRD,6 +VTS,1,1,960,3.34,CRD,14 +VTS,1,1,300,1.23,CRD,6 +VTS,1,1,1860,11.89,CSH,36 +VTS,1,1,600,1.65,CRD,9 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,600,1.9,CSH,8.5 +VTS,1,1,420,1.63,CSH,7 +VTS,1,1,1500,4.82,CRD,19 +VTS,1,1,480,2.69,CSH,10 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,780,5.92,CSH,18 +VTS,1,1,720,2.82,CRD,11.5 +VTS,1,1,360,2.42,CRD,8.5 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,900,3.32,CSH,13.5 +VTS,1,1,480,1.04,CRD,7 +VTS,1,1,1200,4.48,CRD,17.5 +VTS,1,1,120,0.55,CSH,4 +VTS,1,1,540,2.08,CSH,9 +VTS,1,1,540,1.23,CSH,7.5 +VTS,1,1,900,2.19,CRD,12 +VTS,1,1,780,2.31,CRD,11 +VTS,1,1,780,2.69,CRD,11 +VTS,1,1,60,0.79,CSH,4.5 +VTS,1,1,360,0.8,CRD,5.5 +VTS,1,1,600,1.58,CRD,8.5 +VTS,1,1,360,1.12,CRD,6 +VTS,1,2,180,0.98,CSH,5 +VTS,1,1,1020,8.14,CRD,24 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,780,3.99,CSH,13 +VTS,1,1,480,0.58,CRD,6 +VTS,1,1,1260,9.28,CSH,27.5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,360,1.47,CSH,7 +VTS,1,1,480,2.21,CRD,9 +VTS,1,1,1080,3.57,CSH,14 +VTS,1,1,840,2.62,CSH,12 +VTS,1,1,300,1.2,CSH,6 +VTS,1,1,540,3.01,CSH,11 +VTS,1,1,780,1.2,CRD,9 +VTS,1,1,1020,3.25,CRD,14 +VTS,1,1,780,2.23,CRD,10.5 +VTS,1,1,360,1.49,CSH,6.5 +VTS,1,1,540,1.5,CRD,8 +VTS,1,5,1260,2.69,CRD,15 +VTS,1,5,480,0.83,CSH,6.5 +VTS,1,5,660,0.96,CSH,8 +VTS,1,2,600,1.53,CSH,8.5 +VTS,1,2,1800,10.23,CSH,29.5 +VTS,1,1,60,0.4,CSH,3 +VTS,1,1,540,3.64,CSH,11.5 +VTS,1,1,300,0.93,CSH,6 +VTS,1,1,480,1.32,CSH,7.5 +VTS,1,1,360,1.1,CSH,6 +VTS,1,1,1920,9.93,CRD,32.5 +VTS,1,1,300,1.32,CSH,6 +VTS,1,1,2100,10.79,CRD,34 +VTS,1,1,600,2.08,CRD,9 +VTS,1,1,960,4.38,CSH,16 +VTS,1,1,540,1.66,CRD,8 +VTS,1,1,960,3.15,CSH,12.5 +VTS,5,1,0,0,CRD,9 +VTS,1,1,900,6.54,CSH,20 +VTS,1,1,540,0.69,CRD,6.5 +VTS,1,1,1020,3.55,CRD,14 +VTS,1,1,780,2.25,CSH,11 +VTS,1,1,1140,5.23,CRD,19 +VTS,1,1,1200,3.83,CSH,15.5 +VTS,1,1,120,0.13,CSH,3 +VTS,1,1,540,1.65,CSH,8 +VTS,1,1,1080,4.64,CSH,16.5 +VTS,1,1,420,1.16,CRD,7 +VTS,1,1,540,1.54,CSH,8 +VTS,1,1,600,1.94,CRD,9.5 +VTS,1,2,240,0.58,CSH,4.5 +VTS,1,1,780,2.77,CSH,11.5 +VTS,1,1,600,2.67,CRD,10 +VTS,1,1,480,1.26,CSH,7 +VTS,1,1,540,2.34,CSH,9.5 +VTS,1,1,240,0.81,CSH,5 +VTS,1,1,180,0.52,CRD,4.5 +VTS,1,1,1440,9.28,CRD,27.5 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,480,2.12,CRD,8.5 +VTS,1,1,660,2.18,CRD,10 +VTS,1,1,240,0.66,CSH,4.5 +VTS,1,1,1320,8.77,CRD,27 +VTS,1,1,600,1.92,CRD,9.5 +VTS,1,1,420,0.87,CSH,6.5 +VTS,1,1,660,1.83,CRD,9.5 +VTS,1,1,540,3.38,CSH,12 +VTS,1,1,960,5.03,CSH,18 +VTS,1,1,1980,6.43,CSH,24 +VTS,1,1,1680,5.87,CSH,23 +VTS,1,1,360,1.02,CSH,5.5 +VTS,1,1,600,3.03,CSH,11 +VTS,1,2,1320,2.81,CSH,15.5 +VTS,1,1,780,1.74,CRD,10 +VTS,1,1,180,0.92,CSH,5 +VTS,1,1,780,1.43,CSH,9 +VTS,1,1,900,2.24,CSH,11.5 +VTS,1,1,180,0.59,CSH,4.5 +VTS,1,2,420,1.94,CSH,8 +VTS,1,1,1320,11.32,CRD,32.5 +VTS,1,1,420,1.29,CSH,6.5 +VTS,1,1,420,2.73,CRD,9.5 +VTS,1,1,360,1.51,CRD,7 +VTS,1,1,1080,4.76,CRD,16.5 +VTS,1,1,540,2.94,CRD,11 +VTS,1,1,540,1.7,CRD,8.5 +VTS,1,1,360,1.12,CSH,6 +VTS,1,1,1020,3.23,CSH,14 +VTS,1,1,1080,4.53,CSH,16.5 +VTS,1,1,540,2.17,CSH,9 +VTS,1,1,540,2.03,CSH,9.5 +VTS,1,1,720,1.73,CSH,9.5 +VTS,1,1,660,2.13,CSH,9.5 +VTS,1,1,1080,3.6,CRD,15 +VTS,1,1,1020,4.46,CRD,16.5 +VTS,1,1,300,1.23,CSH,5.5 +VTS,1,1,300,1.03,CRD,6 +VTS,1,1,1440,10.04,CRD,30.5 +VTS,1,1,240,1.44,CSH,6.5 +VTS,1,1,720,2.29,CSH,10.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,2,840,3.53,CRD,14 +VTS,1,1,4020,10.37,CRD,45.5 +VTS,1,1,240,0.91,CRD,5 +VTS,1,1,420,1.41,CRD,7 +VTS,1,1,780,3.66,CRD,13 +VTS,1,1,420,2.81,CSH,10 +VTS,1,1,360,0.32,CRD,5.5 +VTS,1,1,720,3.41,CSH,13 +VTS,1,1,1080,4.29,CRD,15.5 +VTS,1,1,780,2.82,CSH,11.5 +VTS,1,1,660,2.44,CSH,10.5 +VTS,1,1,300,1.14,CRD,6 +VTS,1,1,1500,1.89,CSH,15.5 +VTS,1,1,900,3.01,CSH,12.5 +VTS,1,1,540,3.23,CSH,11 +VTS,1,1,660,2.3,CRD,9.5 +VTS,1,1,1380,11.17,CSH,33 +VTS,1,1,780,2.18,CRD,10.5 +VTS,1,1,480,1.31,CSH,7 +VTS,1,1,600,2.11,CRD,9.5 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,1020,3.3,CRD,13.5 +VTS,1,1,780,4.31,CRD,14 +VTS,1,1,540,0.61,CSH,7 +VTS,1,1,840,3.35,CRD,13 +VTS,2,1,0,0,CRD,52 +VTS,1,1,300,0.65,CSH,5 +VTS,1,1,540,1.67,CSH,8.5 +VTS,1,1,960,4.45,CSH,16 +VTS,1,1,900,2.24,CSH,11 +VTS,1,1,480,2.2,CSH,9 +VTS,1,1,360,1.64,CSH,7.5 +VTS,1,1,180,0.64,CRD,4 +VTS,1,1,360,1.67,CRD,7.5 +VTS,1,1,1080,5,CRD,18 +VTS,1,1,180,0.59,CSH,4.5 +VTS,1,1,900,2.15,CRD,11 +VTS,1,1,1080,3.52,CRD,15 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,1,1140,9.53,CSH,28 +VTS,5,1,0,0,CRD,13 +VTS,1,1,300,0.86,CRD,5.5 +VTS,1,1,480,0.78,CSH,6.5 +VTS,1,1,600,2.14,CRD,9 +VTS,1,1,1440,6.04,CRD,22 +VTS,1,1,480,2.22,CRD,9 +VTS,1,1,300,1.11,CSH,5.5 +VTS,1,1,1560,6.12,CSH,20 +VTS,1,1,1020,3.06,CRD,13 +VTS,1,1,900,5.53,CSH,18 +VTS,1,1,1260,4.68,CSH,18.5 +VTS,1,1,1020,3.74,CSH,15 +VTS,1,1,420,2.17,CRD,8.5 +VTS,1,1,240,0.63,CRD,4 +VTS,1,1,240,1.48,CRD,6 +VTS,1,1,1140,3.26,CSH,14.5 +VTS,1,1,540,1.09,CRD,7.5 +VTS,1,1,180,0.9,CRD,4.5 +VTS,1,1,1380,13.12,CRD,36.5 +VTS,1,1,840,2.5,CSH,11.5 +VTS,1,1,600,1.38,CRD,8 +VTS,1,1,420,1.39,CRD,7 +VTS,1,1,1500,4.72,CSH,20.5 +VTS,1,1,1080,4.97,CSH,17.5 +VTS,1,1,900,5.48,CRD,17.5 +VTS,1,1,480,3.59,CSH,11.5 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,1,480,2.21,CRD,8.5 +VTS,1,1,300,1.02,CRD,6 +VTS,1,1,600,2.15,CRD,9 +VTS,1,1,480,1.38,CSH,7 +VTS,1,1,420,2.86,CRD,9.5 +VTS,1,1,420,0.9,CSH,6.5 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,1260,4.31,CSH,17.5 +VTS,1,1,180,0.59,CRD,4.5 +VTS,1,1,120,0.43,CRD,3.5 +VTS,1,1,780,3.4,CRD,12.5 +VTS,1,1,1740,12.99,CRD,37 +VTS,2,1,60,0,CRD,52 +VTS,1,1,420,1.59,CRD,7.5 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,420,1.23,CRD,7 +VTS,1,1,780,3.84,CSH,13.5 +VTS,1,1,1080,2.73,CSH,13 +VTS,1,1,600,3.12,CSH,11 +VTS,1,1,180,0.6,CRD,4 +VTS,1,1,780,2.35,CRD,10.5 +VTS,1,1,1440,10.81,CRD,31 +VTS,1,1,600,2.42,CSH,10 +VTS,1,1,660,3.26,CSH,12 +VTS,1,1,600,2.53,CRD,10 +VTS,1,1,1440,5.57,CSH,21.5 +VTS,1,1,1440,11.04,CSH,32 +VTS,1,1,840,2.58,CRD,12 +VTS,1,1,780,1.61,CSH,9.5 +VTS,1,1,660,2.32,CRD,10 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,960,3.61,CSH,14 +VTS,1,1,180,0.51,CRD,4.5 +VTS,1,1,480,1.25,CSH,7 +VTS,1,1,360,1.67,CSH,7.5 +VTS,1,2,540,1.78,CSH,8.5 +VTS,1,1,240,0.85,CSH,5 +VTS,1,1,1320,4.59,CRD,17 +VTS,1,1,1200,3.91,CSH,16.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,720,4.61,CRD,14.5 +VTS,1,1,600,2.7,CRD,10.5 +VTS,1,1,480,2.15,CSH,9.5 +VTS,1,1,540,1.51,CRD,7.5 +VTS,1,2,540,1.52,CRD,8 +VTS,1,1,660,2.21,CRD,10.5 +VTS,1,1,540,1.15,CRD,8 +VTS,1,1,180,0.88,CSH,5 +VTS,1,1,780,2.78,CRD,11 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,420,0.99,CRD,6.5 +VTS,1,1,1260,9,CRD,26.5 +VTS,1,1,120,0.82,CRD,4.5 +VTS,1,1,480,1.65,CSH,7.5 +VTS,1,1,720,3.09,CSH,12 +VTS,1,1,420,1.69,CRD,8 +VTS,1,1,1920,9.78,CSH,32 +VTS,1,1,300,0.56,CSH,5 +VTS,1,1,240,0.41,CSH,4.5 +VTS,1,1,480,1.7,CRD,8 +VTS,1,1,1200,5.68,CRD,20.5 +VTS,1,1,240,0.82,CSH,5 +VTS,1,1,180,0.63,CRD,4.5 +VTS,1,1,1380,9.25,CRD,28 +VTS,1,1,300,0.83,CSH,5 +VTS,1,1,660,2.21,CRD,10 +VTS,1,1,540,1.87,CSH,8.5 +VTS,1,1,1020,2.9,CRD,13 +VTS,1,1,1320,3.55,CRD,16.5 +VTS,1,1,1680,10.12,CSH,31.5 +VTS,1,1,660,2.11,CSH,9.5 +VTS,1,5,1860,12.35,CSH,35.5 +VTS,1,5,60,0.25,CSH,3 +VTS,1,5,1140,6.72,CRD,20.5 +VTS,1,2,420,1.01,CRD,6.5 +VTS,1,2,1620,3.79,CRD,19.5 +VTS,1,3,1800,8.11,CRD,27.5 +CMT,1,3,400,1.1,CSH,6.5 +CMT,1,1,966,1.5,CRD,11 +CMT,1,1,874,1.7,CSH,10.5 +CMT,1,1,1109,3.1,CSH,14.5 +CMT,1,1,488,1,CSH,7 +CMT,1,1,318,1.6,CRD,7 +CMT,1,1,920,3,CRD,13.5 +VTS,1,1,720,2.78,CSH,11 +VTS,1,1,780,3.46,CRD,12.5 +VTS,1,1,540,1.64,CRD,8.5 +VTS,1,1,1140,2.87,CRD,14 +VTS,1,1,180,0.64,CSH,4 +VTS,1,1,1140,2.2,CSH,13 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,1560,3.72,CSH,18 +VTS,1,1,1140,5.38,CSH,19 +VTS,1,1,1800,4.23,CRD,20.5 +VTS,1,1,420,1.74,CSH,8 +VTS,1,1,660,1.42,CRD,8.5 +VTS,1,1,1500,11.24,CRD,32.5 +VTS,1,5,2040,9.59,CRD,33 +VTS,1,2,1200,5.09,CSH,19.5 +VTS,1,2,480,1.26,CSH,7 +VTS,1,1,360,0.85,CSH,6 +VTS,1,2,780,1.89,CRD,10 +VTS,1,1,180,1.08,CSH,5.5 +CMT,1,2,455,1.9,CSH,8 +CMT,1,1,1869,6.5,CSH,25.5 +CMT,1,1,536,2,CRD,9 +CMT,1,1,253,1.2,CRD,5.5 +CMT,1,1,449,1.3,CSH,7.5 +CMT,1,2,414,1,CSH,6.5 +CMT,1,1,827,3.1,CRD,13 +VTS,1,1,480,2.69,CSH,9.5 +VTS,1,1,960,4.43,CRD,15 +VTS,1,1,900,1.53,CSH,11 +VTS,1,1,660,2.84,CSH,11 +VTS,1,1,1020,3.88,CSH,15 +VTS,1,1,540,1.65,CRD,8 +VTS,1,1,360,1.13,CRD,6 +VTS,1,1,480,1.43,CRD,8 +VTS,1,1,420,1.21,CRD,6.5 +VTS,1,1,300,1.27,CRD,6.5 +VTS,1,1,300,0.96,CSH,6 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,1320,6.55,CRD,22 +VTS,1,1,540,2.65,CSH,10 +VTS,1,1,540,2.38,CRD,9.5 +VTS,1,1,600,2.35,CSH,10 +VTS,1,1,360,0.64,CSH,5.5 +VTS,1,1,240,0.69,CSH,4.5 +VTS,1,1,780,2.73,CRD,11 +VTS,1,1,900,3.6,CRD,14.5 +VTS,1,1,240,0.82,CRD,5 +VTS,1,1,540,1.1,CSH,7 +VTS,1,1,540,1.67,CSH,8 +VTS,1,1,1200,4.08,CRD,17.5 +VTS,1,1,360,0.82,CRD,6 +VTS,5,1,60,0,CRD,19 +VTS,1,1,540,2.07,CSH,8.5 +VTS,1,1,1020,3.94,CRD,15.5 +VTS,1,1,360,1.12,CSH,6 +VTS,1,1,1200,2.19,CRD,13 +VTS,1,1,1020,2.9,CRD,13 +VTS,1,1,180,0.99,CRD,5 +VTS,1,1,540,2.33,CSH,10 +VTS,1,2,1440,4.91,CRD,19 +VTS,1,1,1020,7.79,CSH,23.5 +VTS,1,2,540,2.62,CRD,10 +VTS,1,5,420,0.71,CSH,5.5 +VTS,1,2,1020,2.98,CRD,13.5 +VTS,1,1,660,1.26,CSH,8.5 +VTS,1,2,840,2.65,CRD,12 +VTS,1,1,780,1.64,CRD,9.5 +CMT,1,1,244,0.7,CSH,5 +CMT,1,1,891,2.9,CRD,12.5 +CMT,1,1,286,0.6,CSH,5 +CMT,1,1,342,0.7,CRD,5.5 +CMT,1,1,941,2,CSH,11.5 +CMT,1,1,297,2,CRD,7.5 +CMT,1,1,404,1.1,CSH,6.5 +CMT,1,2,421,1.1,CSH,6.5 +CMT,1,1,455,1.6,CSH,8 +CMT,1,1,34,1.5,CSH,7 +CMT,1,1,523,1.4,CRD,8 +VTS,1,1,1320,3.32,CRD,16 +VTS,1,1,360,1.76,CSH,7.5 +VTS,1,1,540,1.49,CRD,8 +VTS,1,2,300,1.68,CRD,7 +VTS,1,1,900,4.48,CRD,15.5 +VTS,1,1,1680,12.23,CRD,37 +VTS,1,1,3420,15.76,CRD,54 +VTS,1,5,360,1.06,CRD,6.5 +VTS,1,5,660,2.3,CRD,9.5 +VTS,1,5,1080,5.15,CRD,18 +VTS,1,5,480,0.93,CRD,7 +VTS,1,3,720,2.1,CSH,10.5 +VTS,1,2,360,0.8,CSH,5.5 +VTS,1,2,1860,4.67,CSH,22.5 +CMT,1,1,819,3.1,CRD,12.5 +CMT,1,1,260,0.9,CRD,5.5 +CMT,1,1,248,1.2,CSH,5.5 +CMT,1,3,1376,5.6,CSH,21.5 +CMT,1,4,459,2.3,CSH,9 +CMT,1,1,286,1.8,CRD,7 +CMT,1,1,416,1.5,CSH,7.5 +CMT,1,1,2,1.4,CRD,7 +CMT,1,1,392,1.6,CRD,7 +CMT,1,1,738,1.5,CRD,9 +CMT,1,1,652,2.2,CRD,9.5 +CMT,1,1,762,2.8,CSH,11 +VTS,1,1,240,0.5,CRD,4.5 +VTS,1,1,720,2.42,CRD,10.5 +VTS,1,1,1140,3.62,CRD,15 +VTS,1,1,960,2.61,CRD,12 +VTS,1,1,1140,3.21,CRD,15 +VTS,1,5,720,2.91,CSH,11.5 +VTS,1,5,240,0.71,CRD,5 +VTS,1,5,720,0.91,CSH,9 +VTS,1,5,360,0.82,CSH,5.5 +VTS,1,5,360,0.85,CSH,6 +VTS,1,2,180,0.71,CSH,4.5 +VTS,1,1,180,0.43,CRD,3.5 +VTS,1,1,360,1.21,CSH,6.5 +CMT,1,3,764,2.9,CRD,11.5 +CMT,1,2,490,1.5,CSH,8 +CMT,1,1,629,2.3,CSH,9.5 +CMT,1,1,1337,5.2,CRD,19.5 +CMT,1,1,1610,3.6,CRD,18.5 +CMT,1,1,566,0.9,CSH,7.5 +CMT,1,1,307,1.5,CSH,6.5 +CMT,1,3,1048,4.5,CSH,17 +CMT,1,2,541,1.8,CRD,9 +CMT,1,1,593,1.5,CRD,8.5 +CMT,1,2,298,1.4,CRD,6.5 +CMT,2,1,1906,18.3,CRD,52 +CMT,2,2,1948,18.1,CRD,52 +CMT,1,1,829,3,CSH,13 +CMT,1,1,593,2,CRD,9.5 +CMT,1,1,475,1.7,CRD,7.5 +CMT,1,1,407,1.7,CSH,7.5 +CMT,1,2,788,5.2,CRD,16 +CMT,1,1,414,2.8,CSH,10 +CMT,2,1,1793,17.9,CSH,52 +CMT,1,1,1109,3.8,CSH,16 +CMT,1,1,289,1.1,CSH,6 +CMT,1,1,881,3.5,CRD,14 +CMT,1,1,386,1.4,CSH,7 +CMT,1,1,888,4.2,CSH,15.5 +CMT,1,1,453,1,CRD,6.5 +CMT,3,1,1471,16.9,CRD,62.5 +CMT,1,1,698,1.2,CSH,9 +CMT,1,2,1620,10.2,CSH,32 +CMT,1,2,929,4,CSH,15.5 +CMT,1,1,696,3.2,CSH,12.5 +CMT,1,2,660,3.6,CSH,12 +CMT,1,1,564,1.8,CSH,9 +CMT,1,2,1192,4.9,CRD,18 +CMT,1,1,313,0.5,CRD,5 +CMT,1,1,255,0.8,CRD,5 +CMT,1,1,633,3.7,CRD,12.5 +CMT,1,1,231,1.3,CRD,5.5 +CMT,1,1,635,1.5,CRD,8.5 +VTS,1,1,660,2.27,CRD,10 +VTS,1,1,240,0.59,CRD,5 +VTS,1,1,540,2.66,CRD,10.5 +VTS,1,1,660,1.41,CRD,8.5 +VTS,1,1,720,1.72,CRD,9.5 +VTS,1,2,420,1.91,CSH,7.5 +VTS,1,1,360,0.88,CRD,5.5 +VTS,1,1,1440,5.01,CSH,20.5 +VTS,1,1,600,1.64,CSH,8 +VTS,1,1,1920,4.56,CSH,24 +VTS,1,5,1740,18.5,CSH,50 +VTS,1,1,420,1.26,CSH,7 +VTS,1,2,1200,3.14,CRD,14.5 +VTS,1,3,1020,8.81,CRD,26 +CMT,1,2,370,1.2,CSH,6.5 +CMT,1,2,1185,3.6,CRD,16 +CMT,1,1,975,2.1,CSH,12.5 +CMT,1,2,440,1.7,CRD,7.5 +CMT,1,1,634,2.2,CRD,9.5 +CMT,1,1,259,1,CSH,5.5 +CMT,1,1,467,2.9,CRD,10 +CMT,1,1,591,1.2,CSH,8 +CMT,1,1,930,2.7,CRD,13 +CMT,1,1,283,0.3,CSH,5 +CMT,1,1,137,0.6,CSH,4.5 +CMT,1,1,366,1.2,CRD,6.5 +CMT,1,1,233,0.8,CSH,5 +CMT,1,1,383,0.9,CRD,6 +CMT,1,1,848,4.8,CSH,16 +CMT,1,1,867,3.4,CSH,14 +CMT,1,1,920,6.3,CSH,20 +CMT,1,1,765,5.6,CSH,17.5 +CMT,1,1,115,0.8,CRD,4.5 +CMT,1,1,200,0.5,CSH,4.5 +CMT,1,1,705,1.7,CSH,9.5 +CMT,1,1,196,0.7,CSH,4.5 +CMT,1,1,41,0.1,CSH,2.5 +CMT,1,1,560,1.7,CSH,8.5 +CMT,1,1,566,4.3,CRD,14.5 +CMT,1,1,899,1.2,CSH,10.5 +CMT,1,1,469,0.9,CSH,7 +CMT,1,2,678,2.9,CSH,11 +CMT,1,1,217,0.9,CSH,5 +CMT,1,1,742,3.5,CRD,13 +CMT,1,1,288,1.3,CSH,6.5 +CMT,1,1,224,0.8,CSH,5 +CMT,1,1,961,4.2,CRD,16.5 +CMT,1,2,448,2.7,CSH,10.5 +CMT,1,1,809,2.4,CSH,11 +CMT,1,1,317,1.3,CRD,6.5 +CMT,1,1,1093,3.7,CRD,16 +CMT,1,4,420,0.5,CSH,6 +VTS,1,1,720,1.49,CSH,9.5 +VTS,1,1,1860,9.58,CRD,30 +VTS,1,2,1080,3.37,CSH,14 +VTS,1,1,720,2.24,CSH,11 +VTS,1,1,420,2.04,CSH,8 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,1,360,1.39,CRD,6.5 +VTS,1,1,240,0.62,CRD,5 +VTS,1,1,300,1.16,CSH,6 +VTS,1,1,420,1.51,CSH,7 +VTS,1,1,1020,2.96,CSH,13.5 +VTS,1,1,1080,7.61,CRD,24 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,180,0.87,CSH,4.5 +VTS,1,1,360,0.93,CRD,6 +VTS,1,1,360,0.59,CSH,5.5 +VTS,1,1,900,3.66,CRD,14 +VTS,2,1,1800,17.27,CRD,52 +VTS,1,1,660,2.29,CSH,10 +VTS,1,1,1020,3.41,CRD,13.5 +VTS,1,1,420,1.97,CRD,8 +VTS,1,1,360,0.77,CSH,6 +VTS,1,1,660,1.5,CSH,9 +VTS,1,2,360,0.94,CSH,6 +VTS,1,1,660,1.17,CRD,8.5 +VTS,1,1,240,0.42,CRD,4 +VTS,1,1,360,1.57,CSH,7 +VTS,1,1,480,1.98,CSH,8 +VTS,1,1,240,0.57,CRD,4.5 +VTS,1,1,1680,6.31,CSH,23.5 +VTS,1,1,660,1.28,CRD,9 +VTS,1,1,360,1.45,CSH,7 +VTS,1,1,1440,5.21,CSH,20 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,420,1.53,CSH,7 +VTS,1,1,600,1.33,CRD,8.5 +VTS,1,1,1140,3.86,CSH,15.5 +VTS,1,1,1560,5.61,CRD,21.5 +VTS,1,1,420,2.42,CSH,9 +VTS,1,1,600,2.01,CRD,9 +VTS,1,1,660,1.86,CSH,9 +VTS,1,1,900,2.93,CRD,12 +VTS,1,1,540,1.31,CRD,7.5 +VTS,1,1,420,1.49,CRD,7 +VTS,1,1,840,3.9,CRD,14.5 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,480,2.07,CRD,8.5 +VTS,1,1,420,1.03,CRD,6 +VTS,1,1,300,1.27,CRD,5.5 +VTS,1,1,1020,9.17,CRD,27.5 +VTS,1,1,480,1.17,CSH,7 +CMT,1,1,353,1,CSH,6 +CMT,1,2,1048,1,CSH,11.5 +CMT,1,2,444,1.1,CSH,7 +CMT,1,1,950,5.6,CRD,18 +CMT,1,2,304,0.9,CSH,5.5 +CMT,1,1,895,2.8,CRD,13 +CMT,1,1,529,2.9,CRD,10 +CMT,1,1,440,1.9,CRD,8 +CMT,1,1,720,1.6,NOC,2.5 +CMT,1,1,616,1.9,CSH,9.5 +CMT,1,2,1349,10.5,CRD,31 +CMT,1,1,170,0.6,CSH,4.5 +CMT,1,1,167,0.7,CSH,4.5 +CMT,1,1,141,0.7,CRD,4 +CMT,1,1,201,0.4,CSH,4.5 +CMT,1,1,165,0.2,CSH,3.5 +CMT,1,1,115,0.9,CSH,4.5 +CMT,1,1,179,0.6,CSH,4.5 +CMT,1,1,297,0.9,CSH,5.5 +CMT,1,1,739,2.9,CRD,11.5 +CMT,1,1,706,3.9,CRD,13 +CMT,1,1,820,2.8,CSH,12 +CMT,1,1,779,3.1,CSH,13 +CMT,1,1,676,1.4,CSH,8.5 +CMT,1,1,1111,1.7,CRD,13 +CMT,1,2,346,1.1,CSH,6 +CMT,1,1,127,0.6,CSH,4 +CMT,1,1,127,0.3,CRD,3.5 +CMT,1,2,1314,8.8,CSH,27.5 +CMT,1,2,786,1.6,CSH,10 +CMT,2,4,2500,18.3,CRD,52 +CMT,1,1,600,2,CSH,9.5 +CMT,1,2,821,2.6,CRD,11.5 +CMT,1,1,1349,4.5,CSH,18 +CMT,1,1,210,0.7,CSH,4.5 +CMT,1,1,316,0.3,CSH,5 +CMT,1,1,391,1.2,CSH,7 +CMT,1,1,655,6.2,CSH,19 +CMT,1,1,759,2.8,CSH,11.5 +CMT,1,1,845,3.7,CSH,14 +CMT,1,2,2497,9.4,CSH,34.5 +CMT,1,1,357,1.5,CSH,7 +CMT,1,1,896,1.8,CRD,11 +CMT,1,1,421,1.7,CRD,7.5 +CMT,1,1,396,1.4,CRD,7 +CMT,1,1,923,3.3,CSH,14 +CMT,1,1,468,1.3,CSH,7 +CMT,1,1,910,2.1,CRD,12 +CMT,1,1,433,1.2,CRD,7 +CMT,1,1,326,1.3,CRD,6.5 +CMT,1,1,415,2.4,CRD,9 +CMT,1,1,288,1.1,CSH,6 +CMT,1,1,632,1.3,CSH,8.5 +CMT,1,1,1186,9.7,CSH,28.5 +CMT,1,1,881,1.7,CRD,11.5 +CMT,2,1,1331,17,CRD,52 +CMT,1,1,383,1.7,CSH,8 +CMT,1,1,220,0.7,CSH,5 +CMT,1,1,678,3.7,CSH,12.5 +CMT,1,1,446,1.1,CRD,6 +CMT,1,1,138,0.8,CRD,4.5 +CMT,1,1,211,1.1,CRD,5.5 +CMT,1,1,365,2.3,CRD,8.5 +CMT,1,1,392,1.2,CRD,6.5 +CMT,1,1,1319,4.9,CSH,19.5 +CMT,1,1,746,2.6,CRD,11 +CMT,1,1,506,1.1,CRD,7.5 +CMT,1,2,635,1.6,CSH,9 +CMT,1,1,350,1.2,CRD,6.5 +CMT,1,3,574,2.1,CSH,9.5 +CMT,1,1,1101,2.7,CRD,13.5 +CMT,1,1,177,1.1,CRD,5 +CMT,1,1,268,1,CSH,5.5 +CMT,1,1,140,0.5,CRD,4 +CMT,1,1,462,2.8,CSH,9.5 +CMT,1,1,193,0.9,CSH,5 +CMT,1,2,308,1.1,CSH,5.5 +CMT,1,2,203,0.8,CRD,4.5 +CMT,1,4,1122,5.6,CSH,19.5 +CMT,1,2,429,1.1,CRD,6.5 +CMT,1,1,221,0.7,CRD,4.5 +CMT,1,2,1317,2.8,CSH,15 +CMT,1,2,257,0.7,CSH,5 +CMT,1,2,529,1,CSH,7.5 +CMT,1,2,191,1,CRD,5 +CMT,1,1,429,1.1,CRD,6.5 +CMT,1,1,167,0.4,CSH,4 +CMT,1,1,221,1,CRD,5 +CMT,1,4,1071,4.1,CSH,15.5 +CMT,1,1,1172,7.5,CRD,24 +CMT,1,1,201,0.9,CSH,4.5 +CMT,1,1,273,1.2,CRD,6 +CMT,1,1,1329,13.8,CSH,38 +CMT,1,1,995,9.9,CRD,28.5 +CMT,1,1,260,1.1,CRD,5.5 +CMT,1,2,335,1.6,CSH,7 +CMT,1,1,150,0.9,CSH,4.5 +CMT,1,1,753,2.7,CRD,12 +CMT,1,1,285,0.8,CSH,5.5 +CMT,1,1,129,0.5,CRD,4 +CMT,1,1,248,0.8,CSH,5 +CMT,1,1,590,2.1,CRD,9.5 +CMT,1,1,393,0.1,CRD,2.5 +CMT,1,1,1351,11.1,CRD,31 +VTS,1,1,600,3.28,CRD,11 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,1,360,1.35,CRD,7 +VTS,1,1,840,2.94,CRD,12 +VTS,1,1,1140,4.17,CRD,16 +VTS,1,1,420,0.43,CSH,6 +VTS,1,1,360,0.85,CSH,5.5 +VTS,1,1,1020,3.62,CRD,14 +VTS,1,2,840,2.14,CSH,11 +VTS,1,1,1020,1.59,CRD,11.5 +VTS,1,1,420,0.57,CRD,5.5 +VTS,1,2,720,2.37,CSH,10.5 +VTS,1,1,120,0.42,CRD,3.5 +VTS,1,1,600,1.54,CRD,8.5 +VTS,1,1,300,1.83,CRD,7.5 +VTS,1,1,660,2.41,CRD,10.5 +VTS,1,5,720,2.28,CRD,10.5 +VTS,1,5,1020,5.19,CRD,17.5 +CMT,1,1,573,2.5,CSH,10 +CMT,1,1,536,1.1,CRD,7.5 +CMT,1,1,812,3.3,CSH,12.5 +CMT,1,1,695,1.9,CSH,10 +CMT,1,1,647,2.2,CRD,10 +CMT,1,2,1221,4.3,CRD,17 +CMT,1,2,280,0.8,CRD,5.5 +CMT,1,1,281,0.6,CSH,5 +CMT,1,1,268,0.7,CSH,5 +CMT,1,1,961,3.3,CSH,14 +CMT,1,1,502,1.7,CRD,8 +CMT,2,1,1407,17.7,CRD,52 +CMT,1,3,232,0.7,CSH,5 +CMT,1,2,308,0.6,CSH,5.5 +CMT,1,1,643,1.8,CRD,9.5 +CMT,1,1,1027,4.7,CRD,17 +CMT,1,1,702,3.2,CRD,12 +CMT,1,4,1124,4.9,CSH,18.5 +CMT,1,1,1200,5.4,CRD,20.5 +CMT,1,1,322,1,CRD,5.5 +CMT,1,2,524,1.7,CSH,8.5 +CMT,1,1,1852,12.7,CSH,38 +CMT,1,2,1662,12.5,CSH,37 +CMT,1,1,260,1.3,CSH,6 +CMT,1,2,252,0.8,CSH,5 +CMT,1,1,465,1.4,CRD,7.5 +CMT,1,2,613,2.8,CSH,11 +CMT,1,3,881,3.9,CSH,14 +CMT,1,2,1911,12.4,CRD,38.5 +CMT,1,1,168,0.6,CSH,4.5 +CMT,1,2,608,1.6,CSH,9 +CMT,1,1,605,4,CRD,13 +CMT,1,1,687,2.5,CRD,10.5 +CMT,1,1,452,1.1,CRD,7 +VTS,1,1,1200,6.06,CRD,19.5 +VTS,1,1,1020,2.59,CRD,12.5 +VTS,1,1,300,0.69,CSH,5 +VTS,1,1,480,1.19,CSH,7.5 +VTS,1,1,1080,1.86,CRD,12 +VTS,1,1,840,4.34,CSH,15.5 +VTS,1,1,780,3.09,CRD,12.5 +VTS,1,1,1020,5.6,CRD,18 +VTS,1,1,1080,1.23,CRD,11.5 +VTS,1,5,660,2.12,CRD,9.5 +VTS,1,5,300,1.14,CRD,6 +VTS,1,1,540,2.84,CRD,10 +VTS,1,3,840,1.95,CRD,10.5 +VTS,1,2,360,1.09,CSH,6.5 +CMT,1,2,1539,5.2,CRD,20.5 +CMT,1,2,476,1.9,CSH,8 +CMT,1,1,771,5.6,CSH,17 +CMT,1,1,906,2.2,CSH,11 +CMT,1,1,831,4.5,CRD,15 +CMT,1,1,943,1.9,CSH,10 +CMT,1,1,554,2.3,CRD,9.5 +CMT,1,1,643,3.1,CSH,12 +CMT,1,1,589,2.1,CRD,9.5 +CMT,1,1,840,2.6,CSH,11.5 +CMT,1,2,224,1,CSH,5.5 +CMT,1,1,1039,5.7,CRD,20 +CMT,1,1,316,1,CSH,5.5 +CMT,1,4,823,1,CSH,9.5 +CMT,1,1,294,1.3,CRD,6 +CMT,1,1,809,2.5,CSH,11 +CMT,1,2,425,2,CSH,8 +CMT,1,1,579,2.2,CSH,10 +CMT,1,2,289,3.5,CRD,11 +CMT,1,2,368,1.3,CSH,6.5 +CMT,1,2,220,0.7,CSH,5 +CMT,1,2,509,2.9,CSH,10 +CMT,1,3,744,3.5,CRD,13.5 +CMT,1,2,1160,3.7,CSH,16 +CMT,1,1,405,1.3,CSH,7 +CMT,1,1,127,0.5,CSH,4 +CMT,1,1,168,0.5,CRD,4 +CMT,1,1,123,0.6,CSH,4 +CMT,1,1,1306,2.9,CSH,15.5 +CMT,1,1,1168,1.9,CSH,13 +CMT,1,1,841,2.6,CSH,12 +CMT,1,1,420,1.2,CSH,7 +CMT,1,2,1037,2.3,CRD,13 +CMT,1,2,1097,8.8,CRD,25.5 +CMT,1,1,749,3.1,CSH,12.5 +CMT,1,1,949,4.3,CSH,16.5 +CMT,1,1,320,1.2,CRD,6 +CMT,1,1,504,2,CRD,8.5 +CMT,1,1,689,3.7,CRD,13 +CMT,1,2,1038,3.1,CRD,14.5 +CMT,1,2,720,2.1,CRD,10.5 +CMT,1,1,404,1.5,CRD,7 +CMT,1,1,866,4,CSH,14.5 +CMT,1,1,555,2.9,CSH,10.5 +CMT,1,1,857,4.6,CRD,16 +CMT,2,1,1396,17.4,CRD,52 +CMT,1,1,664,3.1,CSH,11.5 +CMT,1,1,1334,4.8,CSH,19 +CMT,1,1,571,1.1,CSH,8 +CMT,1,1,259,0.7,CSH,5 +CMT,1,3,307,0.9,CRD,5.5 +CMT,1,1,369,1.2,CSH,6.5 +CMT,1,2,236,0.6,CRD,4.5 +CMT,1,2,563,0.8,CSH,7.5 +CMT,1,2,559,1.4,CSH,8 +CMT,1,1,344,1.3,CSH,6 +CMT,1,3,266,0.7,CSH,5 +CMT,1,1,835,6.7,CSH,21 +CMT,1,3,255,0.8,CRD,5 +CMT,1,1,915,2.6,CRD,13 +CMT,1,1,317,1.3,CSH,6.5 +CMT,1,2,409,2.1,CRD,8.5 +CMT,1,2,230,0.7,CSH,4.5 +CMT,1,1,512,2.6,CSH,9.5 +CMT,1,3,1349,5,CSH,19.5 +CMT,1,1,910,2.7,CRD,12.5 +CMT,1,1,1042,2.2,CRD,12.5 +CMT,1,2,1321,4.3,CSH,18 +CMT,1,2,484,1,CRD,7 +CMT,1,2,1147,3.6,CSH,15.5 +CMT,1,3,293,1.4,CSH,6.5 +CMT,1,1,359,1.4,CSH,7 +CMT,1,1,836,3.7,CSH,13 +CMT,1,1,1259,6.3,CSH,22.5 +CMT,1,1,229,0.6,CRD,4.5 +CMT,1,1,443,2.4,CRD,9 +CMT,1,2,320,1.1,CRD,6 +CMT,1,1,372,0.6,CRD,6 +CMT,1,1,651,2.4,CSH,10.5 +CMT,1,4,420,1.3,CSH,7 +CMT,1,1,908,2.3,CRD,11.5 +CMT,1,1,512,2.4,CSH,9.5 +CMT,1,1,742,2.8,CRD,11.5 +CMT,1,1,348,0.5,CSH,5.5 +CMT,1,1,344,1.1,CSH,6 +CMT,1,2,975,5.6,CSH,18.5 +CMT,1,1,733,1.7,CSH,10 +CMT,1,1,2277,11.9,CRD,41 +CMT,1,1,401,1.9,CRD,8 +CMT,1,1,225,0.5,CSH,4.5 +CMT,1,1,821,2.9,CSH,12.5 +CMT,1,1,681,1.4,CRD,9 +CMT,1,1,759,1.5,CSH,10 +CMT,1,1,1222,7.7,CRD,24.5 +CMT,1,1,447,2.1,CRD,9 +CMT,1,1,226,1.2,CRD,5.5 +CMT,1,1,369,1.7,CSH,7.5 +CMT,1,1,610,2.2,CSH,10 +CMT,1,1,994,2.7,CRD,13 +CMT,1,1,909,1.1,CSH,10 +CMT,1,1,647,2,CSH,10 +CMT,1,1,1017,2.6,CRD,13 +CMT,1,1,395,1.3,CSH,7 +CMT,1,2,1055,4.1,CSH,15.5 +CMT,1,1,911,3,CRD,13 +CMT,1,1,469,1.3,CSH,7 +CMT,1,1,804,3,CRD,12.5 +CMT,1,1,1135,8.2,CRD,25.5 +CMT,1,1,552,2.1,CSH,9.5 +CMT,1,2,1045,3.7,CSH,15 +CMT,1,1,456,1,CSH,6.5 +CMT,1,1,426,0.9,CRD,6.5 +CMT,1,2,667,2.2,CSH,10.5 +CMT,1,1,584,2,CRD,9 +CMT,1,2,409,1,CSH,6.5 +CMT,1,1,839,2.7,CRD,12 +CMT,1,2,296,0.6,CRD,5 +CMT,1,1,455,1.8,CRD,8 +CMT,1,1,618,2.2,CSH,10.5 +CMT,1,2,216,1.2,CSH,5.5 +CMT,1,1,375,1.7,CSH,7 +CMT,1,1,479,1.3,CRD,7.5 +CMT,1,2,615,3.9,CSH,13.5 +CMT,1,1,690,4.9,CRD,16 +CMT,1,1,954,5.6,CRD,18.5 +CMT,1,1,787,3.3,CRD,13 +CMT,1,1,276,0.8,CSH,5 +CMT,1,2,755,2.5,CSH,11 +CMT,1,2,565,2.7,CSH,10 +CMT,1,1,373,1.4,CSH,6.5 +CMT,1,2,1122,2.9,CRD,14.5 +CMT,1,1,483,1.5,CRD,7.5 +CMT,1,1,1530,4.2,CRD,19.5 +CMT,1,1,481,1,CRD,7 +CMT,1,1,215,0.5,CSH,4.5 +CMT,1,1,234,0.6,CRD,5 +CMT,1,1,649,1.8,CSH,9.5 +CMT,1,1,431,1.1,CRD,7 +CMT,1,2,1276,6.7,CRD,23 +CMT,1,2,1574,10.5,CRD,32.5 +CMT,1,2,600,2.3,CSH,9.5 +CMT,1,1,454,1.1,CRD,6.5 +CMT,1,1,267,1.5,CSH,6.5 +CMT,1,1,901,4.8,CRD,16.5 +CMT,1,2,1161,8.6,CRD,25.5 +CMT,1,2,691,3,CSH,11.5 +CMT,1,1,103,0.4,CRD,3.5 +CMT,1,1,131,0.8,CRD,4 +CMT,1,2,776,2.3,CSH,11 +CMT,1,1,317,1.5,CSH,6.5 +CMT,1,1,1360,4.7,CSH,19.5 +CMT,1,1,854,7.6,CSH,22.5 +CMT,1,1,428,0.7,CSH,6.5 +CMT,1,2,829,3.9,CSH,15 +CMT,1,1,658,1.3,CSH,9 +CMT,1,1,736,2.3,CSH,10.5 +CMT,1,1,2078,10.7,CRD,35.5 +CMT,1,1,445,1.7,CSH,7.5 +CMT,1,1,1396,8,CSH,28 +CMT,1,1,535,1.4,CSH,8 +CMT,1,1,546,1.7,CRD,8.5 +CMT,1,1,493,1.2,CRD,7.5 +CMT,1,1,1271,5.3,CSH,20 +CMT,1,2,1315,2.8,CRD,15.5 +CMT,1,2,301,1,CSH,6 +CMT,1,1,160,0.5,CRD,4 +CMT,1,1,1294,4.8,CRD,19 +CMT,1,1,402,1.5,CRD,7 +CMT,1,1,299,1.3,CSH,6.5 +CMT,1,1,368,1,CSH,6 +CMT,1,1,568,1.2,CRD,7.5 +CMT,1,1,984,1.9,CRD,12 +CMT,1,1,1036,3.2,CRD,15.5 +CMT,1,1,949,1.8,CSH,11.5 +CMT,1,1,1015,2.5,CSH,13 +CMT,1,1,1238,3.8,CSH,16 +CMT,1,1,181,0.6,CRD,4.5 +CMT,1,1,169,0.4,CSH,4 +CMT,1,1,277,0.8,CRD,5.5 +CMT,1,1,160,0.8,CSH,5 +CMT,1,1,423,0.6,CSH,6 +CMT,1,1,244,0.7,CRD,5 +CMT,1,2,1296,5.6,CSH,21 +CMT,1,1,204,0.7,CRD,4.5 +CMT,1,1,651,2.8,CRD,11 +CMT,1,1,911,4.6,CRD,17 +CMT,1,1,299,0.7,CSH,5 +CMT,1,1,165,0.9,CSH,5 +CMT,1,1,249,0.8,CSH,5 +CMT,1,1,857,6.1,CRD,19 +CMT,1,2,96,0.4,CSH,3.5 +CMT,1,1,820,1,CSH,9.5 +CMT,1,2,1389,6.9,CRD,23 +CMT,1,1,1104,5.9,CRD,20.5 +CMT,1,2,610,1.5,CSH,8.5 +CMT,1,1,1457,10.2,CSH,30.5 +CMT,1,1,974,0.9,CRD,10.5 +CMT,1,3,463,1.6,CRD,7.5 +CMT,1,1,385,0.9,CRD,6.5 +CMT,1,1,335,0.9,CRD,6 +CMT,1,1,979,2,CRD,11.5 +CMT,1,3,466,1.4,CRD,8 +CMT,1,1,218,0.6,CSH,4.5 +CMT,1,1,912,1.4,CSH,10.5 +CMT,1,1,366,0.6,CRD,6 +CMT,1,1,701,1.1,CSH,8.5 +CMT,1,1,304,0.6,CSH,5 +CMT,1,3,515,2.3,CSH,9 +CMT,1,3,585,2.7,CRD,10.5 +CMT,1,2,328,1.4,CRD,7 +CMT,1,2,630,3.1,CRD,11 +CMT,1,1,929,2.9,CSH,13 +CMT,1,1,549,2.2,CSH,9 +CMT,1,1,327,0.6,CSH,5.5 +CMT,1,2,1211,7,CSH,23 +CMT,1,2,262,0.8,CRD,5.5 +CMT,1,1,1377,17.5,CRD,46.5 +CMT,1,1,1304,1.9,CRD,13.5 +CMT,1,1,815,1.6,CRD,10 +CMT,1,4,1280,6.6,CSH,23 +CMT,1,2,407,1.3,CSH,7 +CMT,1,2,656,1.2,CSH,8.5 +CMT,1,1,437,1,CRD,6.5 +CMT,1,1,248,0.6,CSH,4.5 +CMT,1,1,617,1.2,CSH,8 +CMT,1,3,447,0.8,CRD,6.5 +CMT,1,1,49,0,CSH,2.5 +CMT,1,1,848,6.8,CRD,21 +CMT,1,1,639,3.1,CRD,12 +CMT,1,1,539,3.9,CSH,12.5 +CMT,1,1,276,1.3,CRD,6 +CMT,1,1,591,2.9,CRD,10.5 +CMT,1,1,748,1.8,CRD,10.5 +CMT,1,1,1068,9,CRD,26.5 +CMT,1,1,524,1.1,CSH,7.5 +CMT,1,1,1058,9.4,CSH,27.5 +CMT,1,1,1226,4.5,CRD,17 +CMT,1,1,456,0.4,CRD,6 +CMT,1,1,870,1.5,CRD,10.5 +CMT,1,1,2014,4.1,CRD,22.5 +CMT,1,1,1344,2.4,CRD,15 +CMT,1,2,793,2.8,CRD,12.5 +CMT,1,1,1251,2.6,CRD,11 +CMT,1,1,103,0.5,CSH,3.5 +CMT,1,1,358,2,CSH,8 +CMT,1,1,1187,6,CRD,21.5 +CMT,1,1,367,1.2,CSH,6.5 +CMT,1,1,378,1.6,CRD,7.5 +CMT,1,1,729,2.1,CSH,10.5 +CMT,1,1,596,0.6,CRD,7.5 +CMT,1,1,631,1.8,CRD,9.5 +CMT,1,2,422,0.8,CRD,6.5 +CMT,1,1,572,1.7,CSH,9 +CMT,1,1,209,0.8,CRD,4.5 +CMT,1,1,303,0.7,CRD,5.5 +CMT,1,1,957,2.7,CRD,13.5 +CMT,1,1,1479,10.6,CSH,31 +CMT,1,1,1229,11.3,CRD,32 +CMT,1,4,395,0.9,CRD,6.5 +CMT,1,1,96,0.7,CSH,4 +CMT,1,1,842,4.7,CRD,15 +CMT,1,1,604,1.8,CRD,9 +CMT,1,1,434,2,CSH,8 +CMT,1,2,1312,7.3,CRD,24.5 +CMT,1,1,373,1,CRD,6 +CMT,1,1,445,0.9,CRD,6.5 +CMT,1,2,324,1.4,CSH,6.5 +CMT,1,1,252,1,CSH,5.5 +CMT,1,1,582,3.1,CSH,11.5 +CMT,1,1,361,0.8,CSH,6 +CMT,1,1,560,3.1,CSH,11 +CMT,1,2,228,1.1,CSH,5.5 +CMT,1,2,484,1.1,CRD,7 +CMT,1,1,878,0.7,CSH,10 +CMT,1,2,776,2.1,CSH,11 +CMT,1,1,781,3.3,CRD,12.5 +CMT,1,2,459,1.1,CSH,7 +CMT,1,1,264,0.9,CSH,5.5 +CMT,1,4,771,1.1,CSH,9.5 +CMT,1,2,848,3.5,CRD,14 +CMT,1,1,822,0.8,CSH,9.5 +CMT,1,1,707,1.6,CSH,9 +CMT,1,1,476,1.2,CSH,7 +CMT,1,1,1063,4.3,CSH,16.5 +CMT,1,1,450,3.6,CSH,12 +CMT,1,1,1052,2.5,CRD,13.5 +CMT,1,1,369,0.7,CSH,5.5 +CMT,1,2,78,0.4,CSH,3 +CMT,1,1,268,0.8,CSH,5.5 +CMT,1,1,729,6.6,CSH,20 +CMT,1,1,249,0.7,CRD,5 +CMT,1,1,785,2.5,CRD,11 +CMT,1,4,804,2.4,CRD,11.5 +CMT,1,2,1124,1.8,CRD,12.5 +CMT,1,2,520,1.7,CSH,8 +CMT,1,1,1265,4.5,CSH,17 +CMT,1,2,374,0.7,CSH,5.5 +CMT,1,1,4314,16,CSH,46 +CMT,1,1,384,1.1,CRD,6.5 +CMT,1,1,1798,2.8,CRD,19.5 +CMT,1,1,117,0.3,CSH,3.5 +CMT,1,1,564,1.3,CSH,8 +CMT,1,1,1590,9.4,CRD,30 +CMT,1,2,500,1.9,CSH,8.5 +CMT,2,2,2993,20.2,CSH,52 +CMT,1,2,425,1.7,CRD,7.5 +CMT,1,2,650,1.4,CRD,8.5 +CMT,1,1,404,1.5,CRD,7.5 +CMT,1,1,879,2.3,CRD,11.5 +CMT,1,1,1158,6.8,CSH,21.5 +CMT,1,1,437,1.1,CRD,7 +CMT,1,1,2972,3.3,CRD,29.5 +CMT,1,2,843,2.4,CRD,11.5 +CMT,1,1,1351,5.7,CRD,21.5 +CMT,1,1,299,0.6,CSH,5 +CMT,1,1,238,0.8,CRD,5 +CMT,1,4,1069,3.2,CSH,14 +CMT,1,2,433,0.9,CSH,6.5 +CMT,1,1,506,1.3,CRD,7.5 +CMT,1,1,474,0.4,CSH,6.5 +CMT,1,1,264,1.3,CSH,6 +CMT,1,1,940,5.7,CRD,19 +CMT,1,1,869,4.3,CRD,14.5 +CMT,1,1,594,1.7,CSH,9 +CMT,1,1,790,1.6,CRD,9.5 +CMT,1,1,1250,8.4,CRD,26.5 +CMT,1,1,235,0.6,CRD,5 +CMT,1,1,1522,8.5,CRD,27.5 +CMT,1,2,478,1,CRD,6.5 +CMT,1,1,550,0.7,CSH,7.5 +CMT,1,1,680,2.6,CRD,10.5 +CMT,1,1,1137,3.7,CSH,15.5 +CMT,1,1,410,1.1,CSH,6.5 +CMT,1,1,892,2.8,CSH,13 +CMT,1,1,933,2.5,CRD,12.5 +CMT,1,2,986,3,CSH,14 +CMT,1,1,427,3,CRD,10.5 +CMT,1,1,1359,3.1,CSH,15.5 +CMT,1,2,214,0.4,CSH,4.5 +CMT,1,1,593,0.6,CSH,7.5 +CMT,1,2,463,0.9,CRD,6.5 +CMT,1,1,624,1.5,CSH,8.5 +CMT,1,1,761,1.2,CRD,9.5 +CMT,1,1,1428,4.2,CSH,19.5 +CMT,1,1,719,1.5,CRD,9.5 +CMT,1,1,251,0.5,CSH,4.5 +CMT,1,1,7,0,CRD,2.5 +CMT,1,1,2221,2.6,CSH,22 +CMT,1,1,801,2.5,CRD,11.5 +CMT,1,1,2520,13.1,CRD,41 +CMT,1,2,1035,3.1,CSH,14 +CMT,1,1,473,1.1,CRD,7 +CMT,1,1,304,1,CSH,6 +CMT,1,4,332,1.1,CSH,6.5 +CMT,1,1,1365,9.2,CRD,28 +CMT,1,1,1199,1.7,CSH,13.5 +CMT,1,1,578,1.8,CRD,9 +CMT,1,2,488,1,CSH,7 +CMT,1,1,230,0.9,CSH,5 +CMT,1,1,486,1.5,CRD,8 +CMT,1,1,616,1.7,CRD,8.5 +CMT,1,2,96,0.3,CRD,3.5 +CMT,1,3,801,1.9,CSH,10.5 +CMT,1,1,459,1.3,CSH,7.5 +CMT,1,1,1269,3.8,CSH,16 +CMT,1,1,439,0.8,CRD,6.5 +CMT,1,2,829,3.7,CRD,14.5 +CMT,1,1,511,1.4,CRD,7.5 +CMT,1,1,660,2.6,CRD,10.5 +CMT,1,1,518,1.1,CSH,7 +CMT,1,1,278,0.7,CRD,5 +CMT,1,1,757,2.8,CRD,11.5 +CMT,1,1,976,1.7,CSH,11.5 +CMT,1,1,430,0.8,CSH,6 +CMT,1,1,1062,10.7,CRD,29.5 +CMT,1,2,488,2.1,CSH,9 +CMT,1,1,799,2,CSH,11 +CMT,1,1,1210,2.7,CRD,14 +CMT,1,1,663,2,CRD,9.5 +CMT,1,4,431,1.4,CSH,7.5 +CMT,1,1,315,0.7,CRD,5 +CMT,1,1,540,1.6,CRD,8 +CMT,1,1,723,3.4,CRD,13 +CMT,1,3,256,0.6,CRD,5 +CMT,1,1,467,1.3,CRD,7.5 +CMT,1,1,1163,3,CSH,15.5 +CMT,1,1,745,3.3,CRD,13.5 +CMT,1,2,241,1.4,CSH,6.5 +CMT,1,3,521,1.9,CSH,8.5 +CMT,3,1,1518,17.4,CRD,64.5 +CMT,1,1,640,4.6,CSH,15.5 +CMT,1,1,430,1.1,CRD,6.5 +CMT,1,1,266,0.6,CRD,5 +CMT,1,1,188,1,CSH,5 +CMT,1,2,591,1.1,CSH,7.5 +CMT,1,3,935,2.1,CSH,11.5 +CMT,1,4,791,2.6,CSH,12 +CMT,1,2,249,1.2,CSH,5.5 +CMT,1,1,154,0.9,CRD,4.5 +CMT,1,1,1034,2.2,CRD,12.5 +CMT,1,1,838,4.1,CRD,14.5 +CMT,1,2,1028,4.6,CRD,17.5 +CMT,1,1,191,0.7,CRD,4.5 +CMT,1,1,518,2.2,CSH,9.5 +CMT,1,1,50,0.3,CSH,3 +CMT,1,1,549,2.5,CRD,10 +CMT,1,1,1326,11.7,CRD,33.5 +CMT,1,2,218,0.6,CSH,4.5 +CMT,1,2,872,3.8,CRD,14.5 +CMT,1,2,549,1.9,CSH,9 +CMT,1,1,439,2.1,CRD,8.5 +CMT,1,1,714,5.9,CRD,18.5 +CMT,1,2,101,0.5,CSH,3.5 +CMT,1,2,241,0.5,CSH,4.5 +CMT,1,1,233,0.8,CSH,5 +CMT,1,1,176,0.7,CRD,4.5 +CMT,1,1,1486,11.3,CRD,34 +CMT,1,4,158,1.1,CSH,5 +CMT,1,1,694,1.5,CSH,9.5 +CMT,1,1,722,2.6,CRD,11 +CMT,1,1,1088,1.8,CRD,12.5 +CMT,1,1,354,1,CSH,6 +CMT,1,1,1668,11.5,CRD,34.5 +CMT,1,1,291,1,CSH,6 +CMT,1,1,1271,3.2,CRD,16 +CMT,1,1,154,0.4,CSH,4 +CMT,1,1,728,6.8,CRD,20.5 +CMT,1,1,159,0.5,CRD,4 +CMT,1,1,515,1.1,CRD,7.5 +CMT,1,1,508,1.5,CSH,8 +CMT,1,1,297,0.7,CSH,5.5 +CMT,1,2,983,4.7,CSH,17 +CMT,1,1,1094,3.4,CRD,15 +CMT,1,2,919,3.4,CRD,14 +CMT,1,1,126,0.3,CRD,3.5 +CMT,1,1,1722,11.7,CSH,36 +CMT,1,1,353,1.6,CRD,7.5 +CMT,1,1,281,1.4,CRD,6.5 +CMT,1,1,1836,4.2,CRD,22.5 +CMT,1,1,818,4.2,CRD,15 +CMT,1,1,938,1,CRD,10.5 +CMT,1,2,481,1.1,CSH,7.5 +CMT,1,2,393,0.7,CRD,6 +CMT,1,1,600,3.8,CRD,13 +CMT,1,1,765,2.1,CRD,11 +CMT,1,2,442,2.1,NOC,8.5 +CMT,1,1,531,1.6,CRD,8 +CMT,1,1,338,0.8,CRD,6 +CMT,1,1,535,2.2,CRD,9 +CMT,1,3,867,5.5,CRD,18 +CMT,1,1,827,1,CRD,9.5 +CMT,1,1,654,2,CSH,10 +CMT,1,1,280,0.8,CSH,5.5 +CMT,1,1,653,5.1,CRD,16.5 +CMT,1,1,542,1.2,CSH,7.5 +CMT,1,3,198,0.8,CSH,4.5 +CMT,1,2,1020,5.5,CRD,20 +CMT,1,2,632,1.8,CSH,9 +CMT,1,2,608,1.2,CRD,8 +CMT,1,1,91,0.4,CSH,3.5 +CMT,1,2,534,1.1,CRD,7.5 +CMT,1,1,210,0.7,CSH,5 +CMT,1,1,722,2.1,CSH,10 +CMT,1,2,164,0.5,CRD,4 +CMT,1,1,495,1.3,CSH,7.5 +CMT,1,1,215,1.1,CRD,5.5 +CMT,1,1,282,1.3,CSH,6.5 +CMT,1,1,175,0.9,CSH,5 +CMT,1,1,522,3.6,CRD,12.5 +CMT,1,1,972,9.1,CRD,26 +CMT,1,1,1615,7,CSH,25.5 +CMT,1,1,75,0.4,CRD,3.5 +CMT,1,1,495,1.7,CSH,8 +CMT,1,2,295,0.8,CRD,5.5 +CMT,1,3,259,0.6,CRD,5 +CMT,1,3,487,1.4,CSH,7.5 +CMT,1,1,508,1.9,CSH,8.5 +CMT,1,1,1505,12.1,CRD,35.5 +CMT,1,4,506,1.4,CRD,7.5 +CMT,1,1,629,5.1,CRD,16.5 +CMT,1,2,898,2.5,CRD,12.5 +CMT,1,1,883,8,CRD,23 +CMT,1,1,1099,2.9,CRD,14.5 +CMT,1,1,854,2.6,CRD,12 +CMT,1,1,487,1,CRD,7 +CMT,1,2,522,2.3,CSH,9.5 +CMT,1,1,547,1.1,CRD,7.5 +CMT,1,1,1652,9.2,CRD,28 +CMT,1,3,1086,1.1,CRD,12 +CMT,3,1,1820,17.8,CSH,67 +CMT,1,1,631,2.5,CSH,10.5 +CMT,1,3,590,1.3,CRD,8.5 +CMT,1,1,458,1.4,CRD,7.5 +CMT,1,1,480,1.9,CRD,8.5 +CMT,1,2,774,2.7,CSH,12 +CMT,1,1,1676,11.2,CRD,33.5 +CMT,1,2,579,2.3,CSH,10 +CMT,1,1,2395,9.3,CRD,34 +CMT,1,2,1122,3.6,CRD,15 +CMT,1,1,390,2.3,CRD,9 +CMT,1,1,343,1.1,CRD,6.5 +CMT,1,2,220,1.1,CRD,5.5 +CMT,1,1,341,2.1,CSH,8 +CMT,1,1,524,3,CRD,11 +CMT,1,1,336,1.9,CSH,7.5 +CMT,1,1,238,1.1,CRD,5.5 +CMT,1,1,1194,5.3,CRD,19.5 +CMT,1,1,329,1.1,CSH,6.5 +CMT,1,1,301,0.6,CSH,5.5 +CMT,1,1,182,0.7,CSH,4.5 +CMT,1,2,374,0.9,CSH,6.5 +CMT,1,1,177,0.6,CRD,4.5 +CMT,1,1,320,1.5,CRD,7 +CMT,1,1,641,1.9,CRD,9.5 +CMT,1,2,611,1.5,CSH,8.5 +CMT,1,1,56,0.1,CSH,3 +CMT,1,1,702,5.2,CSH,16.5 +CMT,1,2,175,0.4,CSH,4 +CMT,1,1,269,1.1,CRD,6 +CMT,2,2,1903,15.1,CSH,52 +CMT,1,2,798,3,CSH,13 +CMT,1,1,573,3.9,CRD,13.5 +CMT,1,1,406,1.3,CSH,7 +CMT,1,1,449,1.6,CRD,7.5 +CMT,1,1,1162,6.9,CSH,23 +CMT,1,1,580,1.5,CRD,9 +CMT,1,1,247,0.8,CSH,5 +CMT,1,1,520,1.5,CSH,8 +CMT,1,1,304,0.6,CRD,5 +CMT,1,1,390,1.4,CRD,7 +CMT,1,1,181,0.8,CSH,4.5 +CMT,1,1,695,2.6,CSH,10 +CMT,1,1,419,0.9,CRD,6.5 +CMT,1,2,436,1.3,CSH,7.5 +CMT,1,1,464,0.7,CSH,6.5 +CMT,1,1,883,2.4,CSH,11.5 +CMT,1,1,517,1.8,CSH,8 +CMT,1,1,635,0.9,CRD,8 +CMT,1,1,330,0.8,CRD,5.5 +CMT,1,4,554,1.4,CSH,8 +CMT,1,1,483,0.9,CSH,7 +CMT,1,1,1037,11.3,CSH,31.5 +CMT,1,3,885,3.9,CRD,14.5 +CMT,1,2,331,1.2,CRD,6.5 +CMT,1,2,83,0.5,CSH,3.5 +CMT,1,1,113,0.5,CSH,3.5 +CMT,1,1,543,2,CSH,8.5 +CMT,1,1,1338,9.3,CRD,28.5 +CMT,1,2,944,2.6,CSH,12.5 +CMT,1,1,431,1.7,CSH,7.5 +CMT,1,1,282,1.2,CRD,6 +CMT,1,1,238,0.5,CRD,4.5 +CMT,1,1,299,1,CSH,5.5 +CMT,1,1,1335,9.9,CSH,28.5 +CMT,1,1,2402,6,CRD,27.5 +CMT,1,1,276,0.6,CSH,5 +CMT,1,1,1139,6.1,CRD,20.5 +CMT,1,2,127,0.5,CSH,4 +CMT,1,1,617,3,CRD,11.5 +CMT,1,3,361,2.1,CSH,8 +CMT,1,1,144,0.8,CSH,4.5 +CMT,1,1,1297,6.8,CSH,22 +CMT,1,1,352,1.3,CRD,6.5 +CMT,1,2,524,1.4,CSH,7.5 +CMT,1,1,257,0.9,CRD,5.5 +CMT,1,1,319,0.8,CRD,5.5 +CMT,1,1,192,0.4,CRD,4.5 +CMT,1,2,204,0.8,CRD,5 +CMT,1,2,1493,12.3,CRD,34.5 +CMT,1,2,501,1.4,CSH,8 +CMT,1,1,900,3.4,CRD,14 +CMT,1,1,594,2,CSH,9.5 +CMT,1,1,379,1.2,CSH,6.5 +CMT,1,1,1943,14.2,CRD,41 +CMT,1,1,777,1.7,CRD,10 +CMT,1,2,1570,3.5,CRD,18 +CMT,1,1,287,0.9,CRD,5.5 +CMT,1,1,659,2,CSH,9.5 +CMT,1,1,840,3.6,CRD,13.5 +CMT,1,1,1186,12,CRD,33.5 +CMT,1,1,154,0.7,CSH,4.5 +CMT,1,1,543,2.6,CSH,10.5 +CMT,1,1,513,1.8,CRD,8.5 +CMT,1,1,1106,3.5,CRD,15.5 +CMT,1,1,621,1.4,CRD,8.5 +CMT,1,1,220,0.9,CRD,5 +CMT,1,1,274,0.8,CSH,5.5 +CMT,1,1,273,0.7,CSH,5.5 +CMT,1,2,273,0.7,CRD,5 +CMT,1,1,756,2.1,CRD,10 +CMT,1,2,580,2.2,CSH,9.5 +CMT,1,1,733,1.4,CRD,9.5 +CMT,1,1,295,0.9,CRD,5.5 +CMT,1,1,1292,9.6,CRD,27.5 +CMT,1,2,217,0.7,CSH,4.5 +CMT,1,3,209,0.6,CSH,4.5 +CMT,1,1,353,1.5,CRD,7 +CMT,1,1,534,1.6,CRD,8 +CMT,1,1,453,4,CRD,12.5 +CMT,1,1,213,0.5,CSH,4.5 +CMT,1,1,230,0.9,CSH,5 +CMT,1,1,293,0.8,CRD,5.5 +CMT,1,1,103,0.4,CSH,3.5 +CMT,1,1,1197,8.6,CRD,27 +CMT,1,1,325,1,CRD,6 +CMT,1,1,139,0.5,CSH,4 +CMT,1,1,139,0.5,CSH,4 +CMT,1,1,344,2.5,CRD,8.5 +CMT,1,1,559,1.9,CRD,9 +CMT,1,1,628,2.9,CRD,11.5 +CMT,1,1,1271,2.7,CRD,15 +CMT,1,2,951,2.7,CSH,13 +CMT,1,2,235,0.6,CRD,4.5 +CMT,1,1,270,1.2,CRD,6 +CMT,1,1,563,3.7,CRD,12 +CMT,1,1,556,2.8,CRD,10.5 +CMT,1,1,254,1,CSH,5.5 +CMT,1,1,455,2.4,CRD,9.5 +CMT,1,2,657,1.5,CRD,9 +CMT,1,1,109,0.5,CSH,4 +CMT,1,1,954,4.9,CRD,17 +CMT,1,1,638,1.1,CSH,8.5 +CMT,1,1,1388,4,CRD,17.5 +CMT,1,1,470,1,CRD,6.5 +CMT,1,1,431,1.3,CSH,7 +CMT,1,1,332,1,CRD,5.5 +CMT,1,1,594,1,CRD,8 +CMT,1,1,1291,1.7,CSH,13.5 +CMT,1,1,1543,11.2,CRD,33 +CMT,1,2,638,1.9,CSH,9.5 +CMT,1,1,349,1,CSH,6.5 +CMT,1,1,87,0.2,CSH,3 +CMT,1,1,751,5.4,CSH,17.5 +CMT,1,1,151,0.3,CSH,4 +CMT,1,1,554,1.3,CRD,8 +CMT,1,1,465,1.4,CRD,8 +CMT,1,1,170,0.4,CSH,4 +CMT,1,3,1520,2.3,CSH,15.5 +CMT,1,2,650,1.6,CSH,9 +CMT,1,1,426,0.6,CRD,6 +CMT,1,1,728,2.2,CSH,11 +CMT,1,1,322,1.4,CRD,6.5 +CMT,1,1,449,2.6,CRD,9.5 +CMT,1,2,287,1.9,CRD,7.5 +CMT,1,1,195,0.9,CSH,5 +CMT,1,1,348,1.8,CRD,7.5 +CMT,1,1,277,1.4,CSH,6 +CMT,1,1,1237,8.8,CRD,27.5 +CMT,1,1,694,2.4,CSH,10.5 +CMT,1,1,476,0.8,CRD,6.5 +CMT,1,1,469,1.8,CRD,8.5 +CMT,1,3,351,1.2,CSH,6.5 +CMT,1,1,911,3.2,CRD,13 +CMT,1,3,588,1.9,CRD,9 +CMT,1,1,468,1.5,CRD,7.5 +CMT,1,1,630,1.3,CRD,8.5 +CMT,1,1,239,0.7,CRD,4.5 +CMT,1,1,373,1.3,CSH,6.5 +CMT,1,1,480,1.8,CRD,8 +CMT,1,1,91,0.4,CSH,3.5 +CMT,1,1,337,0.5,CSH,5.5 +CMT,1,1,1474,3.2,CRD,17 +CMT,1,1,1433,3.6,CRD,17 +CMT,1,2,273,0.8,CSH,5 +CMT,1,1,528,1.1,CRD,7.5 +CMT,1,1,64,0.3,CSH,3 +CMT,1,3,1101,2.6,CSH,13 +CMT,1,2,703,2.6,CSH,11.5 +CMT,1,2,930,6,CSH,19 +CMT,1,1,1031,10.7,CSH,29.5 +CMT,1,1,337,1.2,CSH,6.5 +CMT,1,1,507,2.5,CSH,9.5 +CMT,1,1,1333,5,CSH,20 +CMT,1,1,993,6,CSH,19.5 +CMT,1,3,1381,9.6,CRD,27.5 +CMT,1,1,213,1,CRD,5 +CMT,1,1,447,0.8,CSH,6.5 +CMT,1,1,212,0.5,CRD,4.5 +CMT,1,1,794,3.3,CSH,13 +CMT,1,2,773,1.8,CRD,10 +CMT,1,1,1129,2.1,CRD,13 +CMT,1,1,475,1.2,CRD,7 +CMT,1,1,689,2.9,CRD,11.5 +CMT,1,1,826,1.5,CRD,10 +CMT,1,2,595,1.5,CSH,8.5 +CMT,1,2,338,0.9,CSH,6 +CMT,1,2,512,1.6,CRD,8 +CMT,1,1,1551,6.6,CRD,23 +CMT,1,1,199,0.5,CRD,4.5 +CMT,1,2,830,3.7,CSH,13.5 +CMT,1,1,464,1.8,CRD,8 +CMT,1,1,277,1.2,CRD,6 +CMT,1,1,300,0.9,CSH,5.5 +CMT,1,1,752,2.1,CSH,10.5 +CMT,1,1,1056,8.7,CRD,24.5 +CMT,1,1,341,1.4,CRD,6.5 +CMT,1,1,214,0.8,CRD,4.5 +CMT,1,1,808,3.3,CRD,13 +CMT,1,1,419,1.4,CRD,7 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,1,249,0.6,CSH,4.5 +CMT,1,1,309,0.8,CRD,5.5 +CMT,1,1,824,1.6,CSH,10 +CMT,1,2,1373,2.2,CSH,14.5 +CMT,1,1,706,6.1,CRD,18.5 +CMT,1,1,207,0.5,CRD,4.5 +CMT,1,1,578,0.9,CRD,7.5 +CMT,1,1,489,2.2,CSH,9 +CMT,1,1,707,1.7,CRD,9 +CMT,1,1,530,1,CSH,7 +CMT,1,1,1611,9.8,CSH,30 +CMT,1,1,691,2.6,CSH,10.5 +CMT,1,1,1100,2.6,CSH,13.5 +CMT,1,1,671,2.3,CRD,10 +CMT,1,1,1288,1.4,CRD,13.5 +CMT,1,2,1198,2.5,CSH,14 +CMT,1,1,503,1.7,CSH,8 +CMT,1,2,2488,11.6,CSH,6.5 +CMT,1,3,472,1.7,CSH,8 +CMT,1,1,375,1.2,CRD,6.5 +CMT,1,1,135,0.3,CSH,3.5 +CMT,1,1,2501,5.8,CRD,28.5 +CMT,1,2,1474,10.8,CRD,32 +CMT,1,1,383,0.7,CRD,6 +CMT,1,1,159,0.4,CRD,4 +CMT,1,1,347,1.2,CRD,6 +CMT,1,1,486,0.7,CRD,6.5 +CMT,1,1,875,1.8,CSH,10.5 +CMT,1,1,792,2.7,CSH,11.5 +CMT,1,1,454,0.9,CSH,6.5 +CMT,1,2,627,1.2,CSH,9 +CMT,1,1,91,0.4,CSH,3.5 +CMT,1,1,1431,1.8,CRD,15.5 +CMT,1,1,585,2.7,CSH,11 +CMT,1,1,244,0.7,CRD,4.5 +CMT,1,1,700,4.2,CRD,14.5 +CMT,1,1,701,5.1,CRD,16.5 +CMT,1,2,662,1.8,CRD,9.5 +CMT,1,1,1201,6.6,CRD,22.5 +CMT,1,1,720,2.5,CRD,11.5 +CMT,1,1,927,1,CSH,10.5 +CMT,1,1,1489,9.8,CSH,29 +CMT,1,1,1688,14.7,CSH,41 +CMT,1,1,972,7.9,CRD,24 +CMT,1,1,2183,13.1,CSH,39.5 +CMT,1,2,404,2.4,CRD,9 +CMT,1,2,198,1,CRD,5 +CMT,1,2,498,0.8,CSH,7 +CMT,1,1,196,0.5,CSH,4 +CMT,1,1,1421,8.6,CRD,27 +CMT,1,2,228,0.8,CRD,5 +CMT,1,1,976,4.9,CSH,17.5 +CMT,1,2,651,1.3,CSH,8 +CMT,1,1,479,1.7,CSH,7.5 +CMT,1,2,1076,3.2,CSH,14 +CMT,1,1,323,0.8,CRD,5.5 +CMT,1,1,2194,12.4,CSH,37.5 +CMT,1,1,166,0.8,CRD,4.5 +CMT,1,1,700,2.1,CRD,10.5 +CMT,1,1,2108,12.7,CRD,39 +CMT,1,1,755,1.2,CRD,9 +CMT,1,1,709,1.7,CSH,9.5 +CMT,1,1,1375,3.7,CSH,17.5 +CMT,1,1,241,1.6,CSH,6.5 +CMT,1,1,541,1.9,CSH,9 +CMT,1,1,250,0.7,CSH,5 +CMT,1,1,669,3.3,CSH,12 +VTS,1,2,1200,3.95,CRD,17.5 +VTS,1,2,2220,5.47,CSH,25 +VTS,1,1,780,4.42,CSH,14 +VTS,1,2,600,1.76,CSH,8.5 +VTS,1,2,1260,5.98,CRD,20 +VTS,1,1,660,3.34,CRD,12 +VTS,1,1,600,3.15,CSH,11.5 +VTS,1,3,240,0.58,CSH,4.5 +VTS,1,2,540,1.3,CRD,7 +VTS,1,2,780,3.41,CRD,12.5 +VTS,1,2,1320,9.76,CRD,28.5 +VTS,1,1,300,1.05,CSH,6 +VTS,1,1,720,2.46,CSH,11.5 +VTS,1,1,240,0.45,CRD,4 +VTS,1,2,180,0.82,CSH,5 +VTS,1,1,300,1.77,CSH,7 +VTS,1,1,180,0.14,CSH,3.5 +VTS,1,1,1620,10.38,CSH,32 +VTS,1,1,1860,8.17,CRD,28.5 +VTS,1,1,420,1.51,CRD,7 +VTS,1,1,660,1.14,CRD,8 +VTS,1,1,780,1.83,CSH,10 +VTS,1,1,420,1.31,CRD,6.5 +VTS,1,1,600,2.52,CSH,10 +VTS,1,4,1020,3.78,CSH,15 +CMT,1,1,1154,2.7,CRD,14.5 +CMT,1,1,526,1,CRD,7.5 +CMT,1,1,264,0.8,CRD,5 +CMT,1,1,418,1,CSH,6.5 +CMT,1,1,275,0.7,CRD,5 +VTS,1,1,1680,16.1,CRD,44 +VTS,1,1,660,1.88,CRD,9.5 +VTS,2,2,1800,16.93,CSH,52 +VTS,1,1,900,4.62,CRD,15.5 +VTS,1,2,180,0.89,CSH,4.5 +VTS,1,1,1080,8.62,CSH,25.5 +VTS,1,3,780,2.52,CSH,10 +VTS,1,1,540,2.03,CSH,9 +VTS,1,2,300,0.91,CSH,5.5 +VTS,1,1,540,2.51,CRD,10.5 +VTS,1,1,540,1.17,CSH,7.5 +VTS,1,4,1380,6.62,CSH,23 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,2,720,1.88,CSH,9.5 +VTS,1,1,240,1.72,CRD,6.5 +VTS,2,1,1800,17.65,CSH,52 +VTS,1,1,780,2.52,CRD,11.5 +VTS,1,1,360,1.26,CRD,6 +VTS,1,3,1680,13.21,CSH,38 +VTS,1,1,1080,2.87,CSH,13.5 +VTS,1,1,180,0.46,CRD,4 +CMT,1,4,1174,2.2,CSH,13.5 +CMT,1,1,120,0.9,CSH,4.5 +CMT,1,1,286,1.3,CSH,6 +CMT,1,1,560,1,CSH,7.5 +CMT,1,2,778,2.3,CSH,11 +CMT,1,3,280,0.7,CRD,5.5 +CMT,1,1,229,0.5,CSH,4.5 +CMT,1,1,165,0.6,CSH,4 +CMT,1,2,426,1.4,CRD,7 +CMT,1,2,2748,24.1,CSH,67 +CMT,1,2,1140,9.3,CRD,27.5 +CMT,1,1,231,0.8,CRD,5 +CMT,1,2,166,0.5,CSH,4 +CMT,1,3,922,2.5,CRD,12 +CMT,1,1,362,1.5,CSH,7 +CMT,1,4,998,2.2,CSH,13 +CMT,1,1,807,1.3,CSH,9.5 +CMT,1,1,511,1.5,CRD,8 +CMT,1,1,381,2,CSH,8 +CMT,1,1,648,1.9,CRD,9.5 +CMT,1,1,494,2.2,CRD,9 +CMT,1,2,1368,10.9,CSH,32.5 +CMT,1,2,428,0.6,CRD,6 +CMT,1,1,236,0.9,CRD,5 +CMT,1,1,443,1.2,CRD,7 +CMT,1,1,6783,0.7,CRD,6 +CMT,1,1,524,1.6,CSH,8 +CMT,1,2,938,6,CRD,19 +CMT,1,1,460,4.9,CRD,14.5 +CMT,1,1,615,2.5,CRD,10.5 +CMT,1,1,213,0.8,CRD,5 +CMT,1,1,593,1.4,CSH,8.5 +CMT,1,1,1424,10.4,CRD,31 +CMT,1,1,181,0.4,CSH,4 +CMT,1,1,628,1.4,CRD,9 +CMT,3,1,2532,18.5,CRD,71 +CMT,1,1,503,1.7,CRD,8.5 +CMT,1,3,334,0.8,CSH,5.5 +CMT,1,1,813,5,CSH,17 +CMT,1,1,1025,5,CSH,18 +CMT,1,1,427,2.1,CRD,8.5 +CMT,1,1,770,2.5,CRD,11.5 +CMT,1,1,582,1.6,CRD,8.5 +CMT,1,1,579,2.2,CRD,9 +CMT,1,2,626,1.6,CRD,9 +CMT,1,1,440,2.3,CSH,9.5 +CMT,1,1,350,1.3,CSH,6.5 +CMT,1,1,241,0.9,CSH,5 +CMT,1,1,668,3,CRD,11.5 +CMT,1,1,152,0.5,CRD,4 +CMT,1,1,1779,4.9,CRD,21.5 +CMT,1,1,1043,5.2,CRD,18 +CMT,1,2,240,0.6,CRD,5 +CMT,1,1,282,0.7,CSH,5 +CMT,3,1,2506,17.4,CSH,68.5 +CMT,1,2,714,1.8,CSH,9.5 +CMT,1,4,872,1.4,CSH,10.5 +CMT,1,3,975,3.5,CSH,14.5 +CMT,1,2,751,2.3,CSH,11 +CMT,1,1,351,1.3,CRD,7 +CMT,1,1,102,0.6,CSH,3.5 +CMT,1,2,659,1.1,CSH,8.5 +CMT,1,1,1361,9.8,CRD,30 +CMT,1,1,132,0.7,CSH,4 +CMT,1,1,484,1.2,CRD,7.5 +CMT,1,1,107,0.5,CRD,3.5 +CMT,1,1,490,1.3,CRD,7.5 +CMT,1,1,369,1.1,CRD,6 +CMT,1,2,192,0.9,CSH,5 +CMT,1,1,700,3.5,CSH,13 +CMT,1,1,157,0.8,CSH,4.5 +CMT,1,1,410,1,CSH,6.5 +CMT,1,1,389,0.8,CSH,6 +CMT,1,1,1272,2.2,CSH,14.5 +CMT,1,1,675,1.3,CSH,9 +CMT,1,2,879,2.6,CSH,12 +CMT,1,1,1025,3.1,CRD,14 +CMT,1,1,1146,4.7,CRD,18.5 +CMT,1,2,998,1.8,CSH,12 +CMT,1,1,762,5.4,CRD,17.5 +CMT,1,1,1833,5.5,CRD,24 +CMT,1,2,244,0.8,CRD,5 +CMT,1,1,227,0.5,CRD,4.5 +CMT,1,1,473,1.3,CRD,7.5 +CMT,1,1,546,1.3,CSH,8 +CMT,1,1,668,2.6,CRD,11 +CMT,1,1,211,0.7,CRD,4.5 +CMT,1,4,628,1.3,CSH,8.5 +CMT,1,1,248,0.8,CSH,5 +CMT,1,1,698,2.2,CSH,10.5 +CMT,1,1,1583,7.7,CRD,26.5 +CMT,1,4,1425,11.2,CRD,33 +CMT,1,1,705,5.5,CRD,17 +CMT,1,2,354,1.2,CSH,6.5 +CMT,1,1,234,0.7,CRD,4.5 +CMT,1,1,1013,9.1,CRD,26 +CMT,1,1,373,1.8,CSH,7.5 +CMT,1,1,1113,7.8,CRD,24.5 +CMT,1,2,611,1.8,CRD,8.5 +CMT,1,1,394,1.4,CRD,7 +CMT,1,1,1056,2.1,CSH,13 +CMT,1,1,1456,4.9,CSH,20.5 +CMT,1,2,1016,2.7,CSH,13 +CMT,1,4,737,3.1,CRD,12 +CMT,1,1,1293,3.5,CSH,15.5 +CMT,1,3,698,1.9,CSH,9.5 +CMT,1,1,689,1,CSH,8.5 +CMT,1,1,401,1.6,CRD,7 +CMT,1,1,317,0.7,CSH,5.5 +CMT,1,3,1626,12.2,CSH,35 +CMT,1,1,624,1.9,CRD,10 +CMT,1,1,1279,4,CSH,17 +CMT,1,1,1054,7.5,CSH,23 +CMT,1,1,809,2.5,CSH,11.5 +CMT,1,3,1006,3.2,CRD,14 +CMT,1,4,178,0.6,CSH,4.5 +CMT,1,1,545,5.4,CSH,16.5 +CMT,1,1,801,2.2,CRD,11 +CMT,1,1,757,2.9,CRD,12 +CMT,1,1,500,0.9,CSH,7 +CMT,1,1,1310,3.1,CRD,16 +CMT,1,1,453,0.9,CSH,6.5 +CMT,1,2,138,0.4,CSH,3.5 +CMT,1,1,1504,2.2,CRD,16 +CMT,1,1,441,1.2,CRD,7 +CMT,1,1,644,3,CSH,11.5 +CMT,1,1,1284,8.5,CRD,27.5 +VTS,1,2,840,1.91,CSH,10.5 +VTS,1,1,1380,7.31,CRD,24.5 +VTS,1,4,1080,4.9,CRD,17 +CMT,1,2,1481,5.6,CRD,21 +CMT,1,2,1404,5,CSH,20.5 +CMT,1,1,356,1.1,CSH,6.5 +CMT,1,2,603,1.9,CRD,9 +CMT,1,1,628,2,CSH,9.5 +CMT,1,3,525,2.7,CSH,9.5 +CMT,1,1,342,0.8,CSH,5.5 +CMT,1,1,995,4.8,CSH,17 +CMT,1,1,605,1.3,CRD,8 +CMT,1,1,161,0.6,CSH,4.5 +CMT,1,1,1719,2.1,CRD,17.5 +CMT,1,4,701,1.5,CRD,9.5 +CMT,1,3,493,0.8,CSH,7 +CMT,1,2,328,0.4,CSH,5 +CMT,1,1,564,1.6,CRD,8.5 +CMT,1,2,152,0.4,CSH,4 +CMT,1,1,680,1.7,CRD,9 +CMT,1,1,622,2.1,CRD,9 +CMT,1,1,753,2.6,CSH,11 +VTS,2,1,2040,19.51,CRD,52 +VTS,1,1,420,0.96,CSH,6.5 +VTS,1,1,660,2.56,CRD,10 +VTS,1,2,540,2.64,CSH,9.5 +VTS,1,1,360,1.5,CSH,7 +VTS,1,4,840,3.24,CSH,12.5 +VTS,2,1,1980,18.31,CRD,52 +CMT,1,1,521,3.1,CSH,11.5 +CMT,1,1,448,2.3,CSH,9 +VTS,1,1,780,3.51,CSH,13.5 +VTS,1,1,1260,6.52,CSH,22 +VTS,1,1,540,1.55,CSH,8 +VTS,1,2,1080,5.12,CRD,18 +VTS,1,1,540,1.51,CRD,8 +VTS,1,1,780,1.9,CRD,9.5 +VTS,1,4,540,1.74,CSH,8 +VTS,1,1,180,0.39,CSH,4 +VTS,1,1,540,1.64,CRD,8.5 +VTS,1,1,360,1.16,CSH,6 +VTS,1,1,480,1.63,CSH,8 +VTS,1,1,660,2.36,CSH,10 +VTS,1,1,480,1.89,CRD,8.5 +VTS,1,4,540,1.79,CSH,9 +VTS,1,1,540,1.74,CRD,8.5 +VTS,1,1,1620,3.72,CRD,18.5 +VTS,1,1,1020,3.6,CRD,14.5 +VTS,1,3,840,2.82,CSH,12 +VTS,1,1,840,4.18,CRD,15 +VTS,1,1,180,0.34,CSH,3.5 +VTS,1,1,840,3.17,CSH,12.5 +VTS,1,2,1020,3.76,CSH,14.5 +VTS,1,2,840,3.58,CSH,13.5 +VTS,1,1,780,3.59,CRD,12.5 +CMT,1,1,799,2.3,CRD,11 +CMT,1,1,1304,4.5,CSH,18.5 +CMT,1,1,754,1.9,CRD,10.5 +CMT,1,2,325,0.5,CSH,5 +CMT,1,1,345,0.1,CSH,5 +CMT,1,1,296,1.1,CRD,6 +CMT,1,1,300,1,CSH,5.5 +CMT,1,1,623,2.5,CSH,10 +CMT,1,1,317,1.3,CSH,6.5 +VTS,1,1,900,5.2,CSH,17 +VTS,1,1,240,0.8,CRD,5 +VTS,1,2,780,3.02,CRD,12 +VTS,2,1,60,0,CRD,52 +VTS,1,2,180,0.45,CSH,4 +VTS,1,1,420,1.29,CRD,7 +VTS,1,2,600,2.68,CSH,10.5 +VTS,1,1,420,0.95,CRD,6 +VTS,1,1,780,1.52,CRD,9.5 +VTS,1,1,720,1.82,CRD,9.5 +VTS,1,1,540,1.18,CSH,7.5 +VTS,1,1,300,1.29,CRD,6 +VTS,1,1,360,1.97,CSH,7.5 +VTS,1,2,840,4.04,CRD,14 +VTS,1,1,1020,2.3,CSH,12 +VTS,1,2,600,1.18,CRD,7.5 +VTS,1,1,480,2.8,CRD,10 +VTS,1,1,960,1.83,CRD,10 +VTS,1,2,1440,4.33,CRD,18 +VTS,1,1,240,0.65,CSH,4.5 +VTS,1,2,240,0.89,CSH,5 +VTS,1,1,660,1.34,CRD,8 +VTS,1,1,480,1.57,CRD,7.5 +VTS,1,1,780,1.83,CRD,10.5 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,4,540,1.72,CSH,8.5 +VTS,1,1,900,5.14,CSH,17.5 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,360,1,CRD,6 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,2,540,2.04,CRD,9 +VTS,1,1,960,4.56,CRD,16.5 +VTS,1,1,360,1.24,CRD,6 +VTS,1,1,420,0.68,CSH,6 +VTS,1,1,540,2.3,CRD,9.5 +VTS,1,2,1680,7.47,CSH,25.5 +VTS,1,3,540,3.05,CSH,10.5 +VTS,1,1,840,6.26,CRD,19.5 +VTS,1,1,780,4.76,CSH,15.5 +VTS,1,1,660,1.8,CSH,9 +VTS,1,1,300,0.61,CSH,5.5 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,960,7.92,CRD,23 +CMT,1,1,204,0.8,CSH,5 +VTS,1,1,1620,11.18,CSH,32.5 +VTS,1,2,1320,5.08,CSH,19 +VTS,1,2,240,0.78,CRD,4.5 +VTS,1,1,660,2.39,CRD,10.5 +VTS,1,1,480,2.8,CRD,9.5 +VTS,1,1,1020,4.33,CSH,16 +VTS,1,1,720,3.6,CSH,13 +VTS,1,1,60,0.33,CSH,3 +VTS,1,1,660,2.76,CSH,11 +VTS,1,1,240,0.93,CRD,5 +VTS,1,2,540,3.49,CSH,12 +VTS,1,1,840,4.2,CRD,14.5 +VTS,1,1,300,1.02,CRD,5.5 +VTS,1,3,2580,12.59,CRD,40 +VTS,1,1,660,1.82,CRD,9 +VTS,1,1,840,3.27,CRD,13 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,2,2100,13.87,CRD,42 +VTS,1,1,720,5.33,CSH,17 +VTS,1,1,900,5.26,CSH,17.5 +VTS,4,2,780,2.96,CSH,11.5 +VTS,1,2,780,1.3,CSH,8 +VTS,1,2,1260,6.86,CSH,22 +VTS,1,2,660,1.29,CSH,8.5 +VTS,1,2,480,1.53,CRD,7.5 +VTS,1,2,1260,3.67,CRD,16.5 +VTS,1,3,120,0.29,CRD,3 +VTS,1,2,1680,13,CRD,38 +VTS,1,2,780,4.28,CRD,15 +VTS,1,2,660,1.41,CRD,8.5 +VTS,1,1,660,2.93,CRD,11 +VTS,1,1,1080,3.8,CSH,15.5 +VTS,1,1,660,2.79,CSH,11 +VTS,1,1,1320,7.54,CRD,24 +VTS,1,1,300,1.73,CRD,7 +VTS,1,1,360,1.66,CSH,7 +VTS,1,2,1200,3.88,CRD,15.5 +VTS,1,1,900,5.23,CSH,17 +VTS,1,1,1500,7.07,CSH,23.5 +VTS,1,1,960,1.83,CRD,10.5 +VTS,1,1,240,0.77,CSH,5 +VTS,1,2,180,0.56,CSH,4.5 +VTS,1,2,480,1.93,CSH,8.5 +VTS,1,2,1080,3.71,CSH,15 +VTS,1,1,660,1.18,CRD,8.5 +VTS,1,1,420,1.67,CRD,7.5 +VTS,1,2,720,2.8,CRD,11.5 +VTS,1,4,780,2.36,CSH,9 +VTS,1,1,540,2.84,CSH,10.5 +VTS,1,1,480,2.42,CSH,9 +VTS,1,1,540,1.82,CRD,8.5 +VTS,1,1,960,3.67,CSH,14.5 +VTS,1,4,360,0.7,CSH,5 +VTS,1,3,900,1.05,CRD,10 +VTS,1,2,900,3.16,CSH,12.5 +VTS,1,1,720,3.19,CSH,12.5 +VTS,1,1,960,4.47,CSH,15.5 +VTS,1,3,900,3.07,CRD,12 +VTS,1,1,480,1.64,CSH,8 +VTS,1,1,600,2.34,CRD,9.5 +VTS,1,2,480,1.57,CSH,7.5 +VTS,2,1,1500,16.27,CRD,52 +VTS,1,1,180,0.83,CSH,4.5 +VTS,1,1,720,3.64,CSH,12 +VTS,1,2,480,1.64,CSH,7.5 +VTS,1,1,660,0.77,CSH,8 +VTS,1,4,1080,2.5,CRD,13 +VTS,1,2,240,0.9,CSH,5 +VTS,1,2,1080,2.94,CRD,13.5 +VTS,1,1,1320,12.5,CSH,34.5 +VTS,1,1,360,0.91,CRD,5.5 +VTS,1,1,240,0.73,CRD,5 +VTS,1,1,540,1.35,CSH,8 +VTS,1,1,660,2.01,CRD,10 +VTS,1,3,540,1.5,CSH,8 +VTS,1,1,420,1.92,CRD,8 +VTS,1,1,660,2.1,CSH,9.5 +VTS,1,1,900,4.1,CRD,14.5 +VTS,1,1,1920,5.85,CSH,23 +VTS,1,1,480,2.2,CRD,8.5 +VTS,1,2,360,1.4,CRD,7 +VTS,1,1,720,2.15,CRD,9.5 +VTS,1,3,480,1.54,CSH,7.5 +VTS,1,1,1080,2.99,CRD,14 +VTS,1,1,720,1.99,CSH,9 +VTS,1,1,780,5.44,CSH,17.5 +VTS,1,2,960,3.14,CRD,13.5 +VTS,1,1,420,1.61,CSH,7 +VTS,1,1,780,3.4,CSH,13 +VTS,1,1,540,2.04,CSH,9.5 +VTS,1,1,960,3.19,CSH,14 +VTS,1,1,660,1.82,CSH,9.5 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,900,4.43,CSH,15 +VTS,1,1,480,2.07,CRD,8.5 +VTS,1,1,660,3.23,CSH,11.5 +VTS,1,1,120,0,CSH,2.5 +VTS,1,1,1020,7.11,CRD,22 +VTS,1,1,120,0,CRD,2.5 +VTS,1,1,240,0.95,CRD,5 +VTS,1,2,600,2.71,CSH,11 +VTS,1,1,240,0.82,CSH,5 +VTS,1,2,600,1.05,CRD,7.5 +VTS,2,2,1800,20.65,CSH,52 +VTS,1,2,1020,3.84,CRD,15.5 +VTS,1,2,360,1.25,CSH,6.5 +VTS,1,2,660,3.97,CRD,14 +VTS,1,1,1200,2.7,CSH,15.5 +VTS,1,1,540,2.2,CSH,9 +VTS,1,1,960,2.78,CSH,12.5 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,1,420,2.77,CRD,10 +VTS,1,4,1800,6.33,CSH,25 +VTS,1,1,840,2.8,CRD,12 +VTS,1,3,960,3.64,CSH,13.5 +VTS,1,2,540,1.97,CSH,9 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,600,1.32,CRD,7.5 +VTS,1,1,720,2.46,CSH,11.5 +VTS,1,2,540,1.08,CRD,7.5 +VTS,1,3,660,2.64,CRD,10.5 +VTS,1,3,480,1.2,CSH,7 +VTS,1,3,720,3.84,CSH,13.5 +VTS,1,1,360,1.16,CRD,6 +VTS,1,1,240,0.68,CRD,5 +VTS,1,1,1020,4.96,CRD,17 +VTS,1,1,480,1.63,CRD,8 +VTS,1,1,2220,18.55,CSH,52.5 +VTS,1,1,720,1.74,CRD,9 +CMT,1,2,555,1.9,CSH,8.5 +CMT,1,1,593,2.6,CSH,10 +CMT,1,1,456,1.4,CRD,7.5 +CMT,1,1,501,1.4,CSH,7.5 +CMT,1,2,666,1.7,CSH,9.5 +CMT,1,1,1113,7.3,CRD,22.5 +CMT,1,3,547,1.8,CRD,8.5 +CMT,1,2,1076,3.5,CSH,14.5 +CMT,1,1,728,1.5,CSH,9.5 +CMT,1,1,255,1,CRD,5.5 +CMT,1,1,662,1.4,CRD,8.5 +CMT,1,1,1106,3.4,CRD,15 +CMT,1,1,325,1.2,CRD,6 +CMT,1,1,1166,5.5,CSH,19 +CMT,1,3,2013,11.6,CSH,36 +VTS,1,2,1500,6.88,CRD,24 +VTS,1,2,480,1.41,CSH,7 +VTS,1,1,60,11.19,CRD,32.5 +VTS,1,2,720,2.55,CSH,10.5 +VTS,1,2,720,3.8,CSH,13.5 +VTS,2,1,1800,18.4,CRD,52 +VTS,1,1,720,2.25,CSH,10 +VTS,1,2,720,3.36,CRD,12.5 +VTS,1,2,180,0.83,CSH,4.5 +VTS,1,1,540,2.29,CRD,10 +VTS,1,1,1020,3.26,CSH,12 +VTS,1,1,900,4.01,CRD,14.5 +VTS,1,4,1500,4.71,CSH,19 +VTS,1,1,1140,6.14,CRD,20.5 +VTS,1,1,180,0.8,CSH,5 +VTS,1,1,1200,12.33,CSH,34 +VTS,1,3,300,0.9,CSH,5.5 +VTS,1,1,720,1.76,CSH,9.5 +VTS,1,1,600,1.96,CRD,9.5 +VTS,1,2,420,1.01,CSH,6.5 +VTS,1,1,1260,4.02,CSH,17 +VTS,4,1,1200,4.47,CSH,17.5 +VTS,1,1,1260,5.92,CRD,20.5 +VTS,1,1,3660,13.67,CSH,44 +VTS,1,1,960,3.82,CSH,15 +VTS,1,1,840,3.32,CRD,13 +VTS,1,1,960,4.39,CSH,15.5 +VTS,1,2,960,5.17,CRD,18 +VTS,1,1,300,0.96,CSH,5 +VTS,1,2,1260,2.68,CSH,14.5 +VTS,1,3,1140,2.68,CSH,13 +VTS,1,2,360,1.17,CRD,6.5 +VTS,1,2,960,4.88,CRD,17 +VTS,1,1,660,3.27,CSH,12 +VTS,1,1,660,1.74,CRD,8.5 +VTS,1,1,900,2.18,CRD,11 +VTS,1,3,540,0.82,CRD,6.5 +VTS,1,4,2220,24.45,CSH,64.5 +VTS,1,1,360,1.46,CRD,6.5 +VTS,1,2,840,1.53,CRD,10 +VTS,1,1,540,1.52,CRD,7.5 +VTS,1,4,1080,3.57,CRD,14.5 +VTS,1,3,1080,3.54,CSH,14.5 +VTS,1,2,1080,3.81,CSH,15.5 +VTS,1,1,780,2.71,CSH,11.5 +VTS,1,2,1200,5.35,CRD,19.5 +VTS,1,1,720,3.13,CRD,11.5 +VTS,1,1,240,0.39,CSH,4 +VTS,1,1,720,3.5,CRD,12.5 +VTS,1,3,900,3.36,CRD,13.5 +VTS,1,4,1500,3.7,CSH,17.5 +VTS,1,2,420,0.7,CRD,6 +VTS,1,1,300,0.7,CRD,5.5 +VTS,1,2,900,2.76,CSH,12 +VTS,1,1,600,2.24,CRD,10 +VTS,1,1,480,3.19,CSH,10.5 +VTS,1,1,720,1.98,CRD,10 +VTS,1,2,420,1.55,CRD,7.5 +VTS,1,1,480,1.63,CRD,8 +VTS,1,1,1140,2.24,CRD,13.5 +VTS,1,1,240,0.67,CRD,4.5 +VTS,1,4,1500,4.03,CRD,17.5 +VTS,2,1,1920,17.98,CRD,52 +VTS,1,1,240,0.91,CRD,5.5 +VTS,1,1,240,0.53,CRD,4 +VTS,1,1,780,2.19,CRD,10.5 +VTS,1,1,480,2.11,CRD,9 +VTS,1,1,720,3.36,CRD,12.5 +VTS,1,3,660,2.43,CSH,10 +VTS,1,4,540,1.7,CSH,8.5 +VTS,1,1,300,0.66,CSH,5 +VTS,1,1,1020,6.8,CRD,22 +VTS,1,1,540,1.22,CRD,7.5 +VTS,1,2,360,1.63,CRD,7 +VTS,1,1,420,1.49,CRD,7.5 +VTS,1,3,600,2.16,CRD,9 +VTS,1,2,1320,6.16,CSH,21 +VTS,1,1,540,2.04,CRD,9 +VTS,1,1,360,1.02,CRD,5.5 +VTS,1,1,180,0.54,CRD,4 +VTS,1,1,300,0.95,CRD,6 +VTS,1,1,600,2.28,CRD,9.5 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,2,360,0.77,CSH,6 +VTS,1,2,600,2.32,CSH,10 +VTS,1,3,840,2.77,CSH,12 +VTS,1,4,1320,3.18,CRD,16 +VTS,1,1,1020,2.14,CRD,12 +VTS,1,1,1620,6.77,CRD,23 +VTS,1,1,120,0.64,CRD,4 +VTS,1,1,540,1.33,CRD,7.5 +VTS,1,1,960,3.64,CSH,13.5 +VTS,1,1,180,0.37,CSH,3.5 +VTS,2,2,1680,18.01,CSH,52 +VTS,1,2,360,0.94,CSH,6 +VTS,1,1,360,2.05,CSH,8 +VTS,1,1,360,1.08,CRD,6 +VTS,1,1,1020,5.02,CRD,18 +VTS,1,1,780,3.04,CSH,12.5 +VTS,1,1,1200,4.21,CSH,16.5 +VTS,1,3,840,2.57,CRD,11.5 +VTS,1,4,1260,2.72,CRD,14.5 +VTS,2,1,1740,17.58,CRD,52 +VTS,1,1,900,3.21,CRD,12.5 +VTS,1,2,180,0.57,CSH,4.5 +VTS,1,1,480,2.55,CRD,10 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,540,1.7,CRD,8 +VTS,1,1,540,1.96,CRD,9 +VTS,1,2,1260,4.34,CRD,17 +VTS,1,2,660,2.27,CRD,10.5 +VTS,2,1,2160,17.72,CRD,52 +VTS,1,1,240,0.42,CRD,4.5 +VTS,1,2,780,3.12,CRD,12 +VTS,1,1,960,3.64,CRD,14 +VTS,1,1,1380,5.3,CRD,20 +VTS,1,1,1740,17.44,CRD,47.5 +VTS,2,1,1980,18.27,CSH,52 +VTS,1,1,480,1.74,CSH,8.5 +VTS,1,1,1380,5.34,CRD,20 +VTS,1,1,600,4.32,CSH,14.5 +VTS,1,3,660,1.47,CRD,8 +VTS,1,1,600,2.44,CRD,9.5 +VTS,1,2,360,0.84,CRD,6 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,540,2.65,CSH,10 +VTS,1,1,60,0.01,CSH,2.5 +VTS,1,1,600,5.52,CSH,17 +VTS,1,2,360,2.13,CRD,7.5 +VTS,1,1,180,0.6,CSH,4 +VTS,1,1,1080,1.79,CRD,12.5 +VTS,1,1,840,1.89,CRD,11 +VTS,1,1,1380,5.65,CRD,20.5 +VTS,1,1,360,0.43,CSH,5.5 +VTS,1,1,720,1.16,CRD,8.5 +VTS,1,2,600,1.71,CRD,8.5 +VTS,1,1,960,2.82,CRD,12.5 +VTS,1,1,600,2.33,CRD,10 +VTS,1,3,600,1.57,CSH,8.5 +VTS,1,3,1860,11.15,CRD,35 +VTS,2,3,2700,18,CRD,52 +VTS,1,1,1620,7.43,CSH,26 +VTS,1,1,360,1.58,CRD,7 +VTS,1,1,240,0.54,CRD,4.5 +VTS,1,1,300,0.47,CRD,5 +VTS,1,2,240,0.73,CRD,5 +VTS,1,1,1140,2.01,CSH,13 +VTS,1,2,720,1.93,CRD,9.5 +VTS,1,1,720,3.51,CRD,12.5 +VTS,1,1,900,6.85,CSH,20.5 +VTS,1,1,840,1.81,CRD,10.5 +VTS,2,2,2040,17.28,CRD,52 +VTS,2,3,1620,17.46,CRD,52 +VTS,1,2,1020,10.44,CRD,29 +VTS,1,3,3360,16.46,CSH,52.5 +VTS,2,3,1500,14.72,CRD,52 +VTS,2,3,2820,16.99,CSH,52 +VTS,2,3,1860,17.29,CSH,52 +VTS,2,3,1920,17.19,CSH,52 +VTS,2,3,2280,18.2,CSH,52 +VTS,1,3,1200,10.91,CRD,30.5 +VTS,1,3,1980,14.63,CRD,42 +VTS,1,3,840,4.29,CSH,15 +VTS,1,3,1800,8.39,CRD,28 +VTS,1,3,720,3.06,CRD,12.5 +VTS,1,3,2280,17.32,CRD,49.5 +VTS,2,3,1920,16.93,CSH,52 +VTS,1,1,120,0.47,CSH,3.5 +VTS,1,1,480,0.27,CSH,3.5 +VTS,1,1,360,0.94,CRD,6 +VTS,1,2,1380,4.78,CSH,18.5 +VTS,1,1,540,2.33,CSH,9 +VTS,1,2,180,0.67,CRD,4.5 +VTS,1,1,1200,5.18,CSH,19 +VTS,1,3,660,1.8,CSH,9 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,1320,6.92,CSH,22 +VTS,1,1,1200,4.92,CSH,18 +VTS,1,1,300,1.34,CRD,6 +VTS,1,1,420,0.89,CSH,6 +VTS,2,2,2580,17.16,CSH,52 +VTS,1,1,660,1.33,CSH,8.5 +VTS,1,4,840,0.76,CSH,9 +VTS,1,2,180,0.3,CSH,3.5 +VTS,2,1,2340,16.55,CSH,52 +VTS,1,1,1440,1.92,CRD,15 +VTS,1,1,1020,3.73,CRD,14 +VTS,1,1,300,0.77,CSH,5.5 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,660,3.1,CRD,11.5 +VTS,1,2,780,7.71,CSH,22.5 +VTS,2,3,2100,17.25,CSH,52 +VTS,2,4,2040,17.26,CSH,52 +VTS,1,1,900,1.94,CRD,11 +VTS,1,1,2340,14.31,CRD,43 +VTS,1,4,1320,7.8,CSH,25 +VTS,1,1,1380,5.41,CRD,19.5 +VTS,1,1,240,0.59,CSH,4 +VTS,1,1,660,3.05,CRD,11.5 +VTS,1,1,960,1.06,CRD,10.5 +VTS,1,1,300,2.14,CSH,8 +VTS,2,1,1800,17.45,CSH,52 +VTS,1,3,1020,7.8,CRD,23.5 +VTS,2,3,1560,20.31,CSH,52 +VTS,2,3,1560,18.55,CRD,52 +VTS,2,3,1680,17.23,CSH,52 +VTS,1,3,1500,10.61,CRD,32.5 +VTS,1,3,1020,12.72,CSH,34.5 +VTS,5,1,1560,14.18,CRD,92 +VTS,2,2,2940,19.35,CRD,52 +VTS,1,4,1380,10.48,CSH,29.5 +VTS,2,3,1920,17.65,CRD,52 +VTS,1,3,1260,11.34,CSH,32 +VTS,5,1,0,0,CRD,86.55 +VTS,2,3,2340,17.26,CSH,52 +VTS,2,4,2700,21.29,CSH,52 +VTS,1,4,1020,10.44,CRD,29 +VTS,1,4,300,0.99,CSH,6 +VTS,1,5,300,0.87,CRD,5.5 +VTS,1,3,3180,16.15,CSH,52 +VTS,2,3,1800,18.23,CSH,52 +VTS,1,3,2640,17.63,CSH,51 +VTS,1,2,420,1.31,CRD,7.5 +VTS,1,3,420,0.79,CSH,6 +VTS,1,3,420,0.67,CRD,6 +VTS,2,3,2640,17,CSH,52 +VTS,2,4,2940,16.43,CRD,52 +VTS,1,3,1080,9.46,CRD,27.5 +VTS,2,3,2160,19.34,CSH,52 +VTS,2,4,1380,17.12,CRD,52 +VTS,1,3,1680,10.97,CSH,33 +VTS,1,3,1860,23.36,CSH,61.5 +VTS,5,1,2760,35.96,CRD,124 +VTS,1,5,1080,8.11,CSH,25 +VTS,1,5,840,3.75,CRD,13.5 +VTS,1,5,240,0.66,CRD,4.5 +VTS,1,5,120,0.59,CSH,4 +VTS,1,5,360,1.24,CSH,6.5 +VTS,1,6,780,1.49,CSH,10 +VTS,1,6,240,1.02,CRD,5 +VTS,1,6,1020,5.04,CSH,18.5 +VTS,1,6,180,0.76,CRD,4.5 +VTS,1,6,720,3.17,CRD,12 +VTS,1,6,240,0.82,CSH,5 +VTS,1,6,720,1.95,CSH,10 +VTS,1,4,360,1.03,CSH,6.5 +VTS,1,2,480,2.18,CRD,8.5 +VTS,1,1,1260,4.83,CRD,18 +VTS,1,2,240,0.72,CSH,5 +VTS,1,1,960,7.74,CSH,23 +VTS,1,2,1020,5.21,CRD,18 +VTS,1,1,480,0.97,CSH,7 +VTS,1,1,420,1.03,CSH,6 +VTS,1,1,120,0.54,CSH,4 +VTS,1,1,300,0.86,CRD,5 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,420,1.28,CRD,6.5 +VTS,1,3,900,3.67,CRD,13.5 +VTS,1,2,1440,3.88,CSH,17 +VTS,2,2,1740,17.13,CRD,52 +VTS,1,1,360,1.02,CRD,6 +VTS,1,4,1200,3.66,CSH,15.5 +VTS,1,1,300,1.02,CSH,5.5 +VTS,1,1,900,8.01,CRD,23 +VTS,1,1,720,2.86,CSH,11 +VTS,1,1,540,0.95,CRD,7 +VTS,1,1,240,0.31,CSH,4 +VTS,1,1,300,1.07,CSH,6 +VTS,1,1,1080,7.46,CRD,23 +VTS,1,3,600,2.6,CRD,10 +VTS,1,3,840,4.08,CSH,14.5 +VTS,1,2,720,1.86,CRD,9.5 +VTS,1,2,240,0.98,CRD,5 +VTS,1,2,720,2.39,CSH,10 +VTS,1,3,1080,10.98,CSH,30.5 +VTS,1,3,540,1.67,CRD,8 +VTS,1,2,1500,11.62,CRD,32 +VTS,2,4,1980,15.37,CSH,52 +VTS,1,3,1380,11.44,CSH,33 +VTS,1,3,1380,10.46,CRD,31 +VTS,5,1,60,0.1,CSH,92 +VTS,2,3,1560,15.98,CRD,52 +VTS,1,4,1020,11.02,CRD,30.5 +VTS,1,4,960,10.71,CRD,30 +VTS,2,4,2340,19.44,CRD,52 +VTS,2,3,2160,17.62,CSH,52 +VTS,1,3,1560,11.02,CRD,31 +VTS,1,3,1440,11.68,CRD,33 +VTS,1,3,1140,11.02,CRD,31 +VTS,1,3,960,10.31,CSH,28.5 +VTS,1,3,1560,19.83,CSH,52.5 +VTS,1,3,3120,26.45,CSH,72.5 +VTS,1,3,660,0.81,CRD,8 +VTS,1,4,2340,12.68,CRD,39 +VTS,2,3,2940,18.96,CRD,52 +VTS,2,3,1680,17.35,CRD,52 +VTS,1,5,420,1.44,CSH,7 +VTS,2,3,3360,18.91,CSH,52 +VTS,1,3,2460,16.47,CRD,50 +VTS,1,3,1740,16.21,CSH,45 +VTS,1,3,1980,12.02,CRD,37.5 +VTS,2,3,4500,17.49,CRD,52 +VTS,2,4,2580,21.37,CRD,52 +VTS,1,4,660,8.01,CSH,22.5 +VTS,1,3,1800,20.58,CSH,55 +VTS,4,4,840,7.74,CSH,26.5 +VTS,2,3,3720,16.8,CSH,52 +VTS,1,3,1500,9.94,CSH,30.5 +VTS,5,1,1800,15.28,CRD,92 +VTS,2,4,3300,18.24,CRD,52 +VTS,4,3,300,0.49,CSH,5 +VTS,1,5,480,1.84,CRD,9 +VTS,1,5,360,2.35,CRD,8.5 +VTS,1,5,660,1.86,CRD,9 +VTS,1,5,1080,9.22,CRD,26.5 +VTS,1,5,720,4.07,CSH,14 +VTS,1,5,360,1.14,CSH,6.5 +VTS,1,5,360,1.27,CSH,6.5 +VTS,1,6,360,0.87,CRD,6 +VTS,1,6,360,0.78,CSH,6 +VTS,1,6,480,2.38,CRD,9.5 +VTS,1,6,1080,5.86,CSH,19.5 +VTS,1,6,300,1.15,CSH,6.5 +VTS,1,6,600,1.03,CRD,8 +VTS,1,6,420,0.72,CRD,6 +VTS,1,6,1800,11.1,CSH,34.5 +VTS,1,6,4020,26.86,CRD,77.5 +VTS,1,6,360,0.77,CRD,5.5 +VTS,1,6,720,2.1,CSH,10 +VTS,1,6,540,1.68,CRD,8.5 +VTS,1,6,540,1.46,CRD,8 +VTS,1,6,900,2.81,CSH,12.5 +VTS,1,6,420,1.36,CRD,7 +VTS,1,6,1440,11.2,CRD,32.5 +VTS,1,6,1980,9.98,CSH,34.5 +VTS,1,6,300,0.9,CSH,5.5 +VTS,1,6,1560,9.94,CRD,29.5 +VTS,1,6,900,2.53,CSH,12.5 +VTS,1,6,600,1.08,CSH,7.5 +VTS,1,6,420,1.16,CRD,7 +VTS,1,5,720,3.22,CRD,12.5 +VTS,1,5,540,3.97,CSH,13.5 +VTS,1,5,1080,8.09,CRD,25 +VTS,1,5,540,1.46,CSH,8 +VTS,1,5,540,3.6,CSH,12 +VTS,1,5,720,1.39,CRD,9 +VTS,1,5,480,1.25,CRD,7 +VTS,1,5,1200,6.47,CRD,21 +VTS,1,5,120,0.69,CSH,4 +VTS,1,2,660,2.69,CSH,11 +VTS,1,1,120,0.34,CSH,3.5 +VTS,1,1,300,1.15,CSH,6 +VTS,1,1,360,0.99,CRD,6 +VTS,2,4,1920,17.01,CRD,52 +VTS,1,4,1800,9.56,CSH,32 +VTS,2,3,1860,18.6,CRD,52 +VTS,1,3,1200,14.33,CRD,39 +VTS,1,3,1140,10,CRD,28.5 +VTS,1,2,2160,11.06,CRD,35.5 +VTS,1,3,1020,9.36,CSH,26.5 +VTS,1,3,1560,9.83,CRD,29 +VTS,2,3,1860,17.7,CRD,52 +VTS,1,5,360,1.22,CRD,6.5 +VTS,1,5,240,0.86,CSH,5.5 +VTS,1,5,840,2.24,CSH,11 +VTS,1,5,300,0.74,CRD,5.5 +VTS,1,5,540,1.95,CSH,9 +VTS,1,6,1380,5.34,CRD,20.5 +VTS,1,6,240,0.66,CSH,5 +VTS,1,6,480,0.57,CRD,7 +VTS,1,6,900,2.92,CRD,13 +VTS,1,6,1260,9.4,CSH,27.5 +VTS,1,6,660,1.85,CSH,9.5 +VTS,1,6,600,1.89,CSH,9 +VTS,1,6,720,3.16,CRD,12.5 +VTS,2,3,2340,17.24,CSH,52 +VTS,1,3,720,1.46,CRD,9.5 +VTS,2,3,1860,17.08,CRD,52 +VTS,1,5,180,0.3,CSH,3.5 +VTS,1,5,1080,3.55,CSH,15 +VTS,1,5,1080,4.74,CRD,17.5 +VTS,1,5,360,0.92,CSH,6 +VTS,1,5,780,3.58,CRD,13 +VTS,1,6,540,1.04,CRD,7.5 +VTS,1,6,420,1.78,CRD,8.5 +VTS,1,6,1680,7.96,CRD,27 +VTS,1,6,480,1.99,CRD,8.5 +VTS,1,6,480,1.62,CRD,8 +VTS,1,6,60,0.43,CRD,3.5 +VTS,1,6,540,0.89,CSH,7.5 +VTS,1,6,240,0.87,CRD,5 +VTS,1,6,300,0.85,CSH,5.5 +VTS,1,6,360,0.56,CRD,5.5 +VTS,1,6,120,0.76,CRD,4.5 +VTS,1,6,780,1.48,CSH,9.5 +VTS,1,6,1500,9.83,CRD,29.5 +VTS,1,6,480,2.38,CRD,9 +VTS,1,6,480,1.6,CSH,7.5 +VTS,1,6,1620,6.9,CRD,25 +VTS,1,6,720,3.1,CSH,12.5 +VTS,1,6,540,1.4,CSH,8 +VTS,1,5,960,5.71,CRD,18.5 +VTS,1,5,2940,11.59,CSH,34.5 +VTS,1,5,360,0.96,CRD,5.5 +VTS,1,6,660,2.34,CRD,10.5 +VTS,1,6,660,1.44,CSH,9 +VTS,1,6,420,1.93,CRD,8 +VTS,1,6,420,1.06,CSH,6.5 +VTS,1,6,480,1.48,CRD,7.5 +VTS,1,6,480,0.67,CRD,6.5 +VTS,1,6,300,1.39,CSH,6.5 +VTS,1,6,240,0.2,CRD,4 +VTS,1,6,540,1.36,CSH,7.5 +VTS,1,6,240,1.16,CSH,6 +VTS,1,6,360,1.04,CSH,6 +VTS,1,6,180,1.08,CSH,5 +VTS,1,6,360,1.11,CRD,6 +VTS,1,6,2340,3.75,CRD,24.5 +VTS,1,6,1200,4.03,CSH,18 +VTS,1,5,600,1.97,CSH,9 +VTS,1,5,1560,10.11,CSH,30 +VTS,1,5,840,3.72,CSH,13.5 +VTS,1,5,300,0.72,CRD,5 +VTS,1,5,540,3.14,CRD,11.5 +VTS,1,5,600,5.55,CSH,17 +VTS,1,5,480,2.64,CSH,9.5 +VTS,1,5,960,1.52,CSH,11 +VTS,1,5,720,4.17,CRD,14 +VTS,1,5,1680,10.3,CSH,32 +VTS,1,5,480,1.57,CRD,8 +VTS,1,5,600,1.95,CRD,9 +VTS,1,5,1560,4.82,CRD,20.5 +VTS,1,5,300,1.44,CSH,6.5 +VTS,1,5,660,1.88,CSH,9.5 +VTS,1,5,240,0.51,CSH,5 +VTS,1,5,960,5.16,CRD,17.5 +VTS,1,5,540,3.38,CSH,12 +VTS,1,5,900,4.69,CRD,16 +VTS,1,5,600,2.51,CRD,10.5 +VTS,1,5,1440,10.26,CRD,30 +VTS,1,5,600,2,CRD,9.5 +VTS,1,5,1020,2.87,CSH,13.5 +VTS,1,5,960,3.61,CRD,14 +VTS,1,5,600,2.94,CRD,11.5 +VTS,1,5,1800,9.84,CRD,31.5 +VTS,1,5,540,1.26,CRD,8 +VTS,1,5,1200,5.37,CSH,19 +VTS,1,5,900,1.18,CSH,10.5 +VTS,1,5,360,1.91,CRD,7.5 +VTS,1,5,360,1.36,CRD,6.5 +VTS,1,5,660,1.99,CRD,9.5 +VTS,1,5,600,2.47,CRD,9.5 +VTS,1,5,900,3.81,CSH,14.5 +VTS,1,3,480,0.89,CSH,7 +VTS,5,1,4320,50.63,CRD,174 +VTS,2,4,2400,17.09,CRD,52 +VTS,1,3,1200,2.52,CRD,14 +VTS,1,3,4440,19.27,CRD,63.5 +VTS,1,3,1020,9.14,CSH,26.5 +VTS,1,4,840,8.58,CRD,24.5 +VTS,1,3,1620,13.85,CSH,38.5 +VTS,2,3,2640,18.25,CRD,52 +VTS,1,3,1200,10.47,CRD,29 +VTS,1,3,960,8.01,CSH,23.5 +VTS,2,3,2880,17.45,CSH,52 +VTS,2,4,2940,17.68,CRD,52 +VTS,1,5,1260,2.03,CRD,14 +VTS,1,5,360,0.98,CRD,6.5 +VTS,1,5,2040,10.31,CSH,33 +VTS,1,5,1080,6.57,CSH,21 +VTS,1,5,300,1.13,CSH,6 +VTS,1,5,360,1.23,CSH,6.5 +VTS,1,6,180,0.61,CSH,4.5 +VTS,1,6,480,2.25,CRD,9.5 +VTS,1,6,840,2.4,CSH,11.5 +VTS,1,6,1560,10.2,CRD,30.5 +VTS,1,6,600,1.96,CSH,9 +VTS,2,6,2400,19.14,CRD,52 +VTS,1,6,840,7.53,CRD,22.5 +VTS,1,6,900,1.75,CSH,10.5 +VTS,1,6,840,1.07,CRD,9.5 +VTS,1,5,60,0.14,CSH,3 +VTS,1,5,660,2.98,CSH,11 +VTS,1,5,660,2.63,CSH,11 +VTS,1,5,420,1.48,CSH,7.5 +VTS,1,5,300,1.17,CRD,6 +VTS,1,5,240,1.27,CRD,6 +VTS,1,5,1080,8.73,CRD,25.5 +VTS,1,5,480,2.05,CSH,8.5 +VTS,1,5,1080,6.62,CRD,21 +VTS,1,5,300,0.79,CSH,5.5 +VTS,1,5,780,2.88,CSH,11.5 +VTS,1,5,660,2.07,CRD,9.5 +VTS,1,5,1620,7.87,CSH,26.5 +VTS,1,5,480,1.57,CSH,7.5 +VTS,1,5,960,2.82,CRD,13 +VTS,1,5,1260,2.86,CSH,16 +VTS,1,5,60,0.19,CSH,3 +VTS,1,5,540,1.56,CRD,8.5 +VTS,1,5,2220,7.11,CSH,27 +VTS,1,5,780,3.28,CRD,12 +VTS,1,5,780,2.89,CRD,11.5 +VTS,1,5,240,0.53,CRD,4.5 +VTS,1,5,780,7.69,CRD,22 +VTS,1,5,780,1.78,CSH,10.5 +VTS,1,6,540,5.92,CRD,17.5 +VTS,1,6,360,1.17,CRD,6 +VTS,1,6,420,1.34,CRD,7 +VTS,1,6,780,1.87,CSH,10 +VTS,1,6,420,1.03,CRD,6.5 +VTS,1,6,300,0.98,CRD,6 +VTS,1,6,420,0.94,CSH,7 +VTS,1,5,720,1.96,CSH,9.5 +VTS,1,5,540,1.71,CSH,8.5 +VTS,1,5,780,3.17,CRD,12.5 +VTS,1,5,180,0.82,CSH,4.5 +VTS,1,5,300,0.77,CRD,5 +VTS,1,5,420,0.95,CSH,6.5 +VTS,1,5,1680,10.24,CSH,31.5 +VTS,1,5,300,1.34,CRD,6.5 +VTS,1,5,960,7.16,CRD,22 +VTS,1,5,660,1.59,CSH,9 +VTS,1,5,660,2,CRD,10 +VTS,1,5,240,0.52,CSH,4.5 +VTS,1,5,1140,3.2,CRD,15 +VTS,1,5,600,2,CRD,9 +VTS,1,5,960,5.44,CSH,17 +VTS,1,5,600,2.1,CRD,10 +VTS,1,5,120,1.19,CRD,5.5 +VTS,1,5,480,2.44,CRD,9 +VTS,1,5,660,2.32,CRD,10 +VTS,1,6,600,1.18,CSH,8 +VTS,1,6,600,1.76,CRD,8.5 +VTS,1,6,480,1.03,CSH,7 +VTS,1,6,300,1.3,CRD,6 +VTS,1,6,420,1.1,CRD,7 +VTS,1,6,420,1.26,CSH,7 +VTS,1,6,480,0.8,CSH,6.5 +VTS,1,6,1020,3.02,CSH,13 +VTS,1,6,720,2.23,CRD,10.5 +VTS,1,6,780,1.66,CSH,10 +VTS,1,6,120,0.31,CSH,3 +VTS,1,6,420,0.81,CRD,6 +VTS,2,6,3480,19.06,CRD,52 +VTS,1,5,300,1.23,CSH,6 +VTS,1,5,540,1.16,CRD,7 +VTS,1,5,180,1.09,CRD,5.5 +VTS,1,5,360,0.8,CSH,5.5 +VTS,1,5,660,1.44,CRD,9 +VTS,1,5,1200,6.55,CRD,21.5 +VTS,1,5,420,1.16,CRD,7 +VTS,1,5,600,1.01,CSH,8 +VTS,1,5,360,1.48,CSH,7 +VTS,1,5,1440,6.83,CSH,22.5 +VTS,1,5,300,1.08,CRD,6 +VTS,1,5,300,1.16,CSH,6 +VTS,1,5,180,0.68,CRD,4.5 +VTS,1,5,1440,5.72,CRD,20.5 +VTS,1,5,840,5.76,CRD,18 +VTS,1,5,720,3.75,CRD,13 +VTS,1,6,300,0.71,CSH,5.5 +VTS,1,6,1200,2.91,CRD,14.5 +VTS,1,6,480,3.62,CSH,11.5 +VTS,1,6,660,3.73,CSH,12.5 +VTS,1,6,240,0.61,CSH,4.5 +VTS,1,6,540,3.18,CSH,11 +VTS,1,6,720,3.46,CRD,12.5 +VTS,1,6,1200,3.17,CRD,15.5 +VTS,1,6,180,0.52,CSH,4 +VTS,1,6,720,3.55,CRD,13 +VTS,1,6,420,1.73,CRD,7.5 +VTS,1,6,900,2.8,CRD,12.5 +VTS,1,6,1080,2.09,CRD,13 +VTS,1,6,300,0.85,CRD,6 +VTS,1,6,300,1.25,CRD,6 +VTS,1,6,480,1.08,CRD,7 +VTS,1,6,600,2.07,CRD,9 +VTS,1,6,240,0.53,CSH,5 +VTS,1,6,480,1.34,CSH,7.5 +VTS,2,6,2880,17.44,CRD,52 +VTS,1,5,660,4.41,CRD,15 +VTS,1,5,360,1.08,CRD,6 +VTS,1,5,1200,4.11,CRD,17 +VTS,1,3,480,2.44,CSH,9 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,360,0.95,CSH,6 +VTS,1,1,1320,5.4,CRD,20 +VTS,1,1,1200,6.72,CSH,20.5 +VTS,1,1,180,0.93,CSH,5 +VTS,1,1,660,2.01,CRD,9.5 +VTS,1,1,240,0.84,CSH,5 +VTS,1,1,1500,3.97,CRD,17 +VTS,1,1,600,2.36,CRD,9.5 +VTS,1,3,1320,3.46,CRD,15.5 +VTS,1,1,420,1.87,CSH,9 +VTS,1,1,600,1.66,CRD,8.5 +VTS,1,1,360,0.82,CSH,6 +VTS,1,1,480,2.9,CSH,10 +VTS,1,2,720,2.7,CRD,10.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,2,300,0.99,CSH,6 +VTS,1,2,840,1.1,CSH,9 +VTS,1,1,720,2.82,CRD,11 +VTS,1,1,1020,0.96,CRD,11 +VTS,1,1,660,1.33,CRD,8 +VTS,1,1,840,4.03,CSH,15 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,1980,11.81,CRD,36.5 +VTS,2,4,2040,18.23,CSH,52 +VTS,2,3,1860,17.66,CSH,52 +VTS,2,3,2460,17.52,CRD,52 +VTS,1,3,2700,16.46,CSH,50.5 +VTS,1,4,1200,10.21,CRD,30 +VTS,1,4,720,2.02,CRD,10 +VTS,5,1,0,0,CRD,33 +VTS,2,3,1740,16.87,CRD,52 +VTS,2,3,2760,19.69,CSH,52 +VTS,1,3,1560,9.05,CRD,28 +VTS,1,3,900,6.55,CSH,20 +VTS,1,3,1380,11.24,CRD,31 +VTS,2,2,2220,18.23,CRD,52 +VTS,3,4,2160,20.28,CSH,73.5 +VTS,2,4,2460,18.9,CSH,52 +VTS,1,3,1740,11.13,CRD,32.5 +VTS,1,5,180,0.55,CRD,4 +VTS,1,5,360,1,CSH,6 +VTS,1,5,540,1.93,CRD,9 +VTS,1,5,900,2.41,CRD,12 +VTS,1,5,420,2.09,CRD,8.5 +VTS,1,5,720,2.07,CRD,10.5 +VTS,1,5,960,4.52,CSH,16 +VTS,1,6,1140,9.24,CSH,27.5 +VTS,1,6,540,2.32,CRD,10.5 +VTS,1,6,780,2.13,CRD,10.5 +VTS,1,6,180,0.99,CSH,5 +VTS,1,5,1320,6.39,CRD,21 +VTS,1,5,240,0.65,CSH,4.5 +VTS,1,5,240,1.03,CRD,5.5 +VTS,1,5,720,2.29,CSH,11 +VTS,1,5,900,4.59,CRD,15.5 +VTS,1,5,300,0.89,CRD,5.5 +VTS,1,5,120,0.38,CRD,3.5 +VTS,1,5,1380,4.88,CSH,20 +VTS,1,5,480,1.64,CSH,7.5 +VTS,1,5,120,0.49,CSH,4 +VTS,1,5,240,1.61,CRD,6.5 +VTS,1,5,1020,4.13,CRD,15.5 +VTS,1,5,1920,17.88,CSH,49.5 +VTS,1,5,1020,4.49,CSH,16.5 +VTS,1,5,960,3.95,CRD,15 +VTS,1,5,540,0.91,CSH,7 +VTS,1,5,840,2.54,CRD,11.5 +VTS,1,5,420,1.14,CRD,6.5 +VTS,1,5,180,0.73,CRD,4.5 +VTS,1,5,960,3.45,CSH,15 +VTS,1,5,960,1.91,CRD,11.5 +VTS,1,5,420,1.6,CSH,7.5 +VTS,1,5,1800,9.82,CSH,32.5 +VTS,1,5,540,1.95,CRD,8.5 +VTS,1,5,420,1.41,CRD,7.5 +VTS,1,5,1380,4.03,CRD,17 +VTS,1,5,180,0.84,CSH,5 +VTS,1,5,360,1.01,CRD,6 +VTS,1,5,300,1.03,CSH,5.5 +VTS,1,5,1020,4.1,CRD,15 +VTS,1,5,600,1.84,CSH,8 +VTS,1,5,360,1.53,CSH,7 +VTS,1,5,1020,4.84,CSH,17 +VTS,1,5,1380,2.77,CRD,15.5 +VTS,1,5,1140,4.04,CRD,16 +VTS,1,5,900,2.89,CRD,12.5 +VTS,1,5,180,0.75,CSH,4.5 +VTS,1,5,600,2.48,CRD,11 +VTS,1,5,420,2.19,CRD,9 +VTS,1,5,780,4.29,CRD,15.5 +VTS,1,5,900,1.73,CSH,11 +VTS,1,5,120,0.54,CRD,4 +VTS,1,5,360,1.07,CSH,6 +VTS,1,5,660,2.09,CRD,9.5 +VTS,1,5,600,2.17,CRD,9.5 +VTS,1,5,480,1.62,CRD,7.5 +VTS,1,5,660,2.81,CRD,10.5 +VTS,1,5,1260,2.47,CRD,14.5 +VTS,1,5,2820,7.78,CRD,32.5 +VTS,1,5,960,2.04,CRD,11.5 +VTS,1,5,540,1.49,CSH,8 +VTS,1,5,540,1.53,CSH,8 +VTS,1,5,600,1.17,CSH,7.5 +VTS,1,5,480,1.6,CRD,7.5 +VTS,1,5,1140,2.91,CSH,14.5 +VTS,1,5,360,1.15,CRD,6.5 +VTS,1,5,360,1.28,CRD,6.5 +VTS,1,5,600,1.99,CRD,9 +VTS,1,5,840,4.91,CRD,16 +VTS,1,5,540,1.96,CRD,9 +VTS,1,5,240,1.35,CRD,5.5 +VTS,1,5,1020,1.78,CRD,12 +VTS,1,5,960,4.16,CRD,15.5 +VTS,1,5,300,1.04,CSH,6 +VTS,1,5,660,1.52,CRD,8.5 +VTS,1,5,780,3.11,CRD,12 +VTS,1,5,300,1.93,CRD,7 +VTS,1,5,1140,4.04,CRD,16 +VTS,1,5,1140,4.56,CSH,17 +VTS,1,5,900,2.8,CSH,12.5 +VTS,1,5,720,1.75,CSH,9.5 +VTS,1,5,1200,3.28,CRD,15.5 +VTS,1,5,960,3.42,CRD,13.5 +VTS,1,5,360,1.04,CRD,6 +VTS,1,5,1680,6.53,CSH,25 +VTS,1,5,840,3.99,CSH,15 +VTS,1,5,180,1.09,CSH,5 +VTS,1,5,840,2.07,CSH,11 +VTS,1,5,240,0.74,CRD,4.5 +VTS,1,5,480,0.72,CRD,6.5 +VTS,1,5,1260,5.56,CRD,20 +VTS,1,5,1200,5.32,CRD,19 +VTS,1,5,660,1.98,CRD,9.5 +VTS,1,5,300,1.1,CRD,6 +VTS,1,5,900,2.53,CSH,11.5 +VTS,1,5,360,0.96,CRD,5.5 +VTS,1,5,960,5.04,CSH,17.5 +VTS,1,5,1020,4.72,CRD,17 +VTS,1,5,60,0.4,CSH,3.5 +VTS,1,5,1020,6.19,CSH,19.5 +VTS,1,5,1320,3.84,CSH,17 +VTS,1,5,240,1.29,CRD,6 +VTS,1,5,360,0.92,CRD,6 +VTS,1,5,420,1.46,CRD,6.5 +VTS,1,5,2040,18.54,CSH,51 +VTS,1,5,480,1.27,CSH,7 +VTS,1,5,480,1.82,CSH,8 +VTS,1,5,1140,4.13,CRD,16 +VTS,1,5,480,0.87,CSH,6.5 +VTS,1,5,240,0.97,CSH,5.5 +VTS,1,5,1080,3.76,CSH,15.5 +VTS,1,5,180,0.56,CRD,4.5 +VTS,1,5,540,1.84,CRD,9 +VTS,1,5,540,2.16,CRD,9.5 +VTS,1,5,180,0.84,CRD,5 +VTS,1,5,1200,1.74,CRD,13.5 +VTS,1,5,600,4.78,CSH,15.5 +VTS,1,5,480,1.53,CSH,7.5 +VTS,1,5,1620,9.37,CRD,30 +VTS,1,5,120,0.33,CSH,3.5 +VTS,1,5,120,0.61,CSH,4 +VTS,1,5,540,1.5,CSH,8 +VTS,1,5,660,1.81,CRD,9.5 +VTS,1,5,780,2.58,CSH,11.5 +VTS,1,5,780,2.37,CRD,11 +VTS,1,5,1260,3.59,CSH,16 +VTS,1,5,180,0.85,CSH,4.5 +VTS,1,5,240,0.79,CSH,5 +VTS,1,5,180,0.63,CSH,4 +VTS,1,5,480,1.33,CSH,7 +VTS,1,5,840,2.3,CRD,12 +VTS,1,5,1380,8.64,CRD,27 +VTS,1,5,960,4.53,CSH,15.5 +VTS,1,5,600,2.3,CRD,10 +VTS,1,5,300,1.16,CRD,6 +VTS,1,5,960,3.42,CRD,14 +VTS,1,5,1140,6.45,CRD,22 +VTS,1,5,480,1.93,CSH,8.5 +VTS,1,5,300,0.87,CRD,5.5 +VTS,1,5,1140,3.41,CRD,15 +VTS,1,6,360,1.14,CSH,6.5 +VTS,1,6,780,3.02,CSH,12.5 +VTS,1,6,480,1.33,CSH,7.5 +VTS,1,6,480,0.81,CSH,7 +VTS,1,6,540,1.37,CSH,7.5 +VTS,1,6,720,1.43,CRD,9 +VTS,1,6,1560,4.41,CRD,19 +VTS,1,6,1200,9.82,CRD,29 +VTS,1,6,180,0.45,CSH,4.5 +VTS,1,6,540,1.7,CSH,8.5 +VTS,1,6,300,1.21,CSH,6 +VTS,1,6,900,1.95,CSH,12 +VTS,1,6,660,1.69,CRD,9.5 +VTS,1,5,480,1.58,CRD,8 +VTS,1,5,780,9.56,CRD,26.5 +VTS,1,5,540,1.57,CSH,8.5 +VTS,1,5,1440,9.87,CRD,30.5 +VTS,1,5,660,1.63,CRD,9 +VTS,1,5,480,1.11,CSH,7 +VTS,1,5,180,0.76,CRD,4.5 +VTS,1,5,1080,8.81,CRD,26.5 +VTS,1,5,60,0.44,CSH,3.5 +VTS,1,5,420,1.66,CRD,8 +VTS,1,5,840,7.19,CSH,21.5 +VTS,1,5,720,1.59,CRD,9.5 +VTS,1,5,720,2.89,CSH,11.5 +VTS,1,5,480,1.37,CRD,8 +VTS,1,5,420,3.32,CRD,11 +VTS,1,5,240,1.1,CRD,5.5 +VTS,1,5,780,4.42,CSH,14.5 +VTS,1,5,1140,5.58,CRD,19.5 +VTS,1,5,240,1.57,CRD,6.5 +VTS,1,5,1980,10.4,CRD,32 +VTS,1,5,420,1.34,CSH,7 +VTS,1,5,480,2.12,CRD,8.5 +VTS,1,5,420,1.16,CRD,6.5 +VTS,1,5,540,1.77,CRD,8 +VTS,1,5,180,0.54,CSH,4.5 +VTS,1,5,900,4.21,CRD,14.5 +VTS,1,5,1560,4.6,CSH,19.5 +VTS,1,5,420,1.65,CSH,7.5 +VTS,1,5,720,2.25,CSH,11 +VTS,1,5,900,2.23,CRD,11.5 +VTS,1,5,480,1.76,CRD,8 +VTS,1,5,420,0.79,CRD,5.5 +VTS,1,5,660,1.32,CRD,8.5 +VTS,1,5,300,0.68,CRD,5 +VTS,1,5,1740,8.84,CRD,29 +VTS,1,5,360,0.93,CSH,6 +VTS,1,5,840,3.78,CRD,13.5 +VTS,1,5,1980,8.96,CRD,31 +VTS,1,5,300,0.57,CSH,5 +VTS,1,5,540,1.48,CSH,8 +VTS,1,5,900,4.37,CSH,15.5 +VTS,1,5,120,0.31,CSH,3.5 +VTS,1,5,180,0.74,CRD,4.5 +VTS,1,5,540,2.03,CRD,8.5 +VTS,1,5,240,0.58,CRD,4.5 +VTS,1,5,780,1.76,CSH,10 +VTS,1,5,960,2.33,CRD,12 +VTS,1,5,1320,9.02,CRD,27.5 +VTS,1,5,120,0.52,CSH,3.5 +VTS,1,5,1620,5.06,CRD,20 +VTS,1,5,1320,7.74,CRD,24.5 +VTS,1,5,540,2.47,CRD,10 +VTS,1,5,2460,4.19,CRD,25 +VTS,1,5,420,0.97,CRD,6 +VTS,1,5,180,0.6,CSH,4.5 +VTS,1,5,0,0,CSH,2.5 +VTS,1,5,960,1.71,CSH,11 +VTS,1,5,1140,2.46,CSH,14 +VTS,1,5,300,0.82,CRD,5.5 +VTS,1,5,1680,11.46,CSH,33.5 +VTS,1,5,1440,9.36,CRD,28.5 +VTS,2,5,2880,19.08,CRD,52 +VTS,1,5,240,1.06,CRD,5.5 +VTS,1,5,300,2.07,CRD,7.5 +VTS,1,5,720,1.65,CRD,9.5 +VTS,1,5,840,3.46,CSH,13 +VTS,1,5,1020,2.75,CSH,13 +VTS,1,5,900,3.11,CRD,13 +VTS,1,5,480,1.07,CRD,7 +VTS,1,5,960,4.64,CRD,16 +VTS,1,5,540,3.7,CRD,12 +VTS,1,5,1500,6.81,CSH,24 +VTS,1,5,600,4.11,CSH,13.5 +VTS,1,5,660,4.74,CRD,15 +VTS,1,5,480,1.62,CRD,8 +VTS,1,5,240,0.85,CRD,5 +VTS,1,5,1080,3.22,CRD,14 +VTS,1,5,1800,6.62,CRD,24 +VTS,1,5,300,1.38,CRD,6.5 +VTS,1,5,180,1.11,CSH,5 +VTS,1,5,1260,6.27,CRD,22 +VTS,1,5,1440,10.29,CRD,30.5 +VTS,1,5,720,4.22,CRD,14.5 +VTS,1,5,660,1.72,CRD,9.5 +VTS,1,5,240,0.93,CSH,5.5 +VTS,1,5,540,2.73,CRD,10 +VTS,1,5,540,1.96,CSH,8.5 +VTS,1,1,840,3.2,CRD,13 +VTS,1,1,360,2.2,CSH,9 +VTS,1,1,60,0.49,CSH,3.5 +VTS,1,1,360,0.85,CSH,5.5 +VTS,1,2,600,2.35,CSH,10 +VTS,1,5,720,4.15,CRD,14 +VTS,1,5,720,2.1,CSH,10 +VTS,1,5,2040,9.92,CRD,33.5 +VTS,1,5,2040,10.1,CRD,34 +VTS,1,5,600,3.82,CRD,13.5 +VTS,1,5,300,1.45,CSH,6.5 +VTS,1,5,540,1.86,CSH,8.5 +VTS,1,5,300,1.12,CSH,5.5 +VTS,1,5,1080,2.21,CRD,13 +VTS,1,5,480,1.49,CRD,7.5 +VTS,1,5,840,1.16,CRD,10 +VTS,1,5,720,1.17,CRD,8.5 +VTS,1,5,420,0.6,CSH,6 +VTS,1,5,1500,5.1,CSH,20 +VTS,1,5,720,2.77,CSH,11 +VTS,1,5,1020,5.13,CRD,18 +VTS,1,5,1200,6.06,CSH,20 +VTS,1,5,480,1.58,CSH,7.5 +VTS,1,5,720,3.59,CRD,12.5 +VTS,1,5,660,2.25,CRD,10 +VTS,1,5,1380,4.22,CRD,18 +VTS,1,5,360,0.77,CSH,6 +VTS,1,5,300,0.88,CRD,6 +VTS,1,5,300,0.84,CSH,5.5 +VTS,1,5,840,5.21,CRD,16.5 +VTS,1,5,600,1.88,CRD,9.5 +VTS,1,6,300,0.81,CRD,5.5 +VTS,1,6,600,3.83,CSH,13 +VTS,1,6,300,1.61,CSH,7 +VTS,1,6,720,3.37,CSH,12.5 +VTS,1,6,720,1.38,CRD,9 +VTS,1,6,300,0.99,CRD,6 +VTS,1,6,1500,6.6,CRD,22.5 +VTS,1,6,480,0.92,CRD,6.5 +VTS,1,6,1080,1.7,CRD,12.5 +VTS,2,6,2040,18.38,CRD,52 +VTS,1,6,420,0.76,CSH,6.5 +VTS,1,6,1200,3.94,CSH,16.5 +VTS,1,6,300,0.99,CSH,6 +VTS,1,6,600,1.44,CSH,8.5 +VTS,1,6,1440,2.93,CSH,16.5 +VTS,1,6,780,3.52,CSH,13.5 +VTS,1,5,540,1.44,CRD,8 +VTS,1,5,1140,4.76,CRD,18 +VTS,1,5,120,0.39,CSH,3.5 +VTS,1,5,180,0.52,CSH,4.5 +VTS,1,5,420,1.75,CRD,7.5 +VTS,1,5,180,0.96,CSH,4.5 +VTS,1,5,1260,6.03,CSH,20 +VTS,1,5,480,2.36,CRD,9 +VTS,1,5,420,1.88,CSH,8 +VTS,1,5,840,3.76,CRD,14 +VTS,1,5,900,8.29,CSH,24 +VTS,1,5,360,1.1,CRD,6.5 +VTS,1,5,1200,2.64,CRD,14 +VTS,1,5,240,0.91,CRD,5 +VTS,1,5,540,2.01,CSH,8.5 +VTS,1,5,540,1.43,CSH,8 +VTS,1,5,300,0.97,CRD,5.5 +VTS,1,5,300,1.74,CSH,7 +VTS,1,5,1560,10.35,CRD,32.5 +VTS,1,5,120,0.12,CRD,3 +VTS,1,5,660,2.65,CRD,10 +VTS,1,5,180,0.86,CRD,5 +VTS,1,5,900,3.45,CRD,14 +VTS,1,5,720,2.3,CRD,10.5 +VTS,1,5,1200,5.33,CSH,18.5 +VTS,1,5,540,1.2,CRD,7.5 +VTS,1,5,660,3.3,CSH,12 +VTS,1,5,180,0.71,CRD,4.5 +VTS,1,5,240,0.45,CSH,4.5 +VTS,1,5,420,1.46,CRD,7.5 +VTS,1,5,300,1.1,CSH,6 +VTS,1,5,600,0.98,CSH,8 +VTS,1,5,1080,10.3,CRD,28.5 +VTS,1,5,1020,2.87,CRD,13 +VTS,1,5,420,1.4,CRD,7 +VTS,1,5,360,0.92,CRD,6 +VTS,1,5,1260,2.97,CSH,15 +VTS,1,5,240,0.84,CSH,5 +VTS,1,5,720,1.17,CSH,9 +VTS,1,5,780,2.03,CSH,10 +VTS,1,5,360,1.25,CRD,6.5 +VTS,1,5,660,1.49,CSH,9 +VTS,1,5,180,0.68,CSH,4.5 +VTS,1,5,360,0.97,CSH,6 +VTS,1,5,240,1.02,CSH,5.5 +VTS,1,5,660,1.46,CSH,8.5 +VTS,1,5,420,1.92,CRD,8.5 +VTS,1,5,2640,11.07,CSH,38 +VTS,1,5,480,1.69,CRD,8.5 +VTS,1,5,420,1.1,CRD,6.5 +VTS,1,5,300,0.98,CRD,6 +VTS,1,5,660,2.59,CSH,11 +VTS,1,5,420,1.17,CRD,7 +VTS,1,5,660,3.14,CRD,12 +VTS,2,5,2280,18.39,CSH,52 +VTS,1,5,1260,5.42,CRD,19 +VTS,1,5,300,0.74,CRD,5.5 +VTS,1,5,660,3.55,CRD,12.5 +VTS,1,5,900,4.09,CSH,15 +VTS,1,5,420,1.67,CRD,7.5 +VTS,1,5,420,2.28,CRD,8.5 +VTS,1,5,840,3.83,CRD,14 +VTS,1,5,360,0.42,CSH,5 +VTS,1,5,1620,9.83,CRD,30 +VTS,1,5,480,1.23,CSH,7.5 +VTS,1,5,480,0.58,CRD,7 +VTS,1,5,1200,5.18,CSH,18.5 +VTS,1,5,360,1.02,CRD,6 +VTS,1,5,420,1.14,CRD,6.5 +VTS,1,5,1860,10.83,CSH,34 +VTS,1,5,720,1.87,CRD,9.5 +VTS,1,5,780,3.84,CRD,14 +VTS,1,5,600,2.91,CRD,11.5 +VTS,1,5,420,1.63,CRD,7.5 +VTS,1,5,540,1.33,CRD,7.5 +VTS,1,5,360,0.72,CRD,5 +VTS,1,5,300,1.13,CSH,6 +VTS,1,5,480,1.16,CSH,6.5 +VTS,1,5,480,2.03,CRD,8.5 +VTS,1,5,300,0.32,CSH,4.5 +VTS,1,5,300,1.87,CSH,7 +VTS,1,5,960,2.82,CSH,12.5 +VTS,1,5,780,4.02,CRD,13.5 +VTS,1,5,480,1.97,CRD,8 +VTS,1,5,480,1.31,CSH,7 +VTS,1,5,1380,4.42,CRD,17.5 +VTS,1,5,540,1.78,CRD,8.5 +VTS,1,5,600,2.73,CRD,10 +VTS,1,5,540,1.59,CSH,8.5 +VTS,1,5,720,1.83,CRD,10 +VTS,1,5,540,0.98,CRD,7.5 +VTS,1,5,540,1.25,CSH,7.5 +VTS,1,5,960,4.56,CRD,16 +VTS,1,5,1320,2.07,CSH,15 +VTS,1,5,840,4.48,CRD,15 +VTS,1,5,720,3.73,CRD,13 +VTS,1,5,180,0.61,CSH,4.5 +VTS,1,5,180,0.6,CRD,4.5 +VTS,1,5,360,0.96,CRD,6 +VTS,1,5,240,1.08,CRD,5.5 +VTS,1,5,480,1.94,CRD,8.5 +VTS,1,5,420,2.8,CRD,9.5 +VTS,1,5,660,2.16,CRD,10 +VTS,1,5,840,2.3,CRD,11.5 +VTS,1,5,1080,2.13,CRD,12.5 +VTS,1,5,1200,2.3,CRD,14.5 +VTS,1,5,600,1.46,CRD,8.5 +VTS,1,5,300,1.06,CRD,6 +VTS,1,5,300,0.88,CSH,5.5 +VTS,1,5,840,3.44,CSH,13 +VTS,1,5,1260,5.17,CRD,19 +VTS,1,5,540,1.7,CRD,8.5 +VTS,1,5,900,2.24,CRD,12 +VTS,1,5,360,1.2,CRD,6.5 +VTS,1,5,1380,6.02,CRD,20.5 +VTS,1,5,480,1.94,CRD,8.5 +VTS,1,5,540,2,CRD,8.5 +VTS,1,5,780,1.36,CRD,9.5 +VTS,1,5,1200,3.01,CSH,14.5 +VTS,1,5,660,1.2,CSH,8 +VTS,1,5,720,1.25,CSH,9 +VTS,1,5,480,1.6,CRD,7.5 +VTS,1,5,1140,5.44,CSH,19 +VTS,1,5,1680,7.17,CSH,24.5 +VTS,1,5,1020,4.3,CRD,16.5 +VTS,1,5,660,3.8,CRD,12.5 +VTS,1,5,300,0.95,CSH,6 +VTS,1,5,1140,5.37,CRD,18 +VTS,1,5,660,2.59,CRD,10.5 +VTS,1,5,660,2.23,CRD,10 +VTS,1,5,300,1.37,CSH,6.5 +VTS,1,1,300,1.38,CRD,6 +VTS,1,2,840,5.18,CRD,17.5 +VTS,1,1,180,0.4,CSH,3.5 +VTS,1,1,720,1.73,CRD,9.5 +VTS,1,1,420,1.66,CRD,8 +VTS,1,1,720,1.7,CSH,9.5 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,480,0.91,CSH,6.5 +VTS,1,1,960,2.45,CRD,12.5 +VTS,1,1,480,2.27,CSH,9 +VTS,1,1,360,1.78,CRD,7.5 +VTS,1,2,360,1.05,CSH,6 +VTS,1,2,300,1.29,CSH,6.5 +VTS,1,1,780,3.36,CSH,13 +VTS,1,2,300,0.81,CRD,5.5 +VTS,1,2,300,1.08,CSH,5.5 +VTS,1,1,300,0.94,CRD,6 +VTS,1,1,180,0.85,CRD,4.5 +VTS,1,2,660,1.24,CSH,9 +VTS,2,1,3000,20.64,CRD,52 +VTS,1,1,480,0.78,CRD,7 +VTS,1,2,360,1.21,CSH,6.5 +VTS,1,1,240,0.86,CSH,5.5 +VTS,1,1,420,1.36,CRD,7 +VTS,1,1,720,4.8,CRD,15 +VTS,1,1,60,0.48,CRD,3.5 +VTS,1,1,540,1.82,CRD,9 +VTS,1,1,1140,5.55,CSH,20.5 +VTS,1,1,660,2.2,CRD,10 +VTS,2,2,2400,17.89,CRD,52 +VTS,1,1,840,8.55,CSH,24 +VTS,1,1,720,2.29,CRD,11 +VTS,1,1,840,2.91,CRD,12.5 +VTS,1,1,780,2.44,CRD,11.5 +VTS,1,1,720,1.81,CSH,9.5 +VTS,1,5,480,1.18,CRD,7 +VTS,1,5,720,1.48,CSH,9 +VTS,1,5,840,2.93,CSH,12 +VTS,1,5,480,1.64,CSH,7.5 +VTS,1,5,2400,19.55,CRD,56.5 +VTS,1,5,840,4.69,CSH,15.5 +VTS,1,5,360,1.27,CRD,6.5 +VTS,1,5,360,1.05,CRD,6 +VTS,1,5,240,0.51,CSH,4 +VTS,1,5,600,2.6,CSH,10.5 +VTS,1,5,600,2.18,CSH,9 +VTS,1,5,780,0.76,CSH,8.5 +VTS,1,5,1320,5.12,CSH,19.5 +VTS,1,5,360,1.44,CRD,7 +VTS,1,5,780,3.65,CRD,13.5 +VTS,1,5,1080,9.09,CSH,27 +VTS,1,5,540,1.94,CRD,8.5 +VTS,1,5,540,0.75,CSH,7 +VTS,1,5,1860,4.33,CRD,21 +VTS,1,5,540,1.43,CSH,7.5 +VTS,1,5,300,1.4,CSH,6 +VTS,1,5,240,0.79,CRD,5 +VTS,1,5,900,2.76,CSH,12.5 +VTS,1,5,660,1.89,CSH,9.5 +VTS,1,5,1440,2.97,CSH,16.5 +VTS,1,5,540,2.33,CSH,9.5 +VTS,1,5,1140,8.86,CRD,26.5 +VTS,1,5,300,0.61,CSH,5 +VTS,1,5,840,5.34,CSH,17 +VTS,1,2,240,0.51,CSH,4.5 +VTS,1,1,180,0.6,CRD,4 +VTS,1,2,960,4.1,CSH,15 +VTS,1,2,960,7.45,CRD,22.5 +VTS,1,2,1320,11.25,CRD,33 +VTS,1,2,240,0.8,CSH,5 +VTS,1,1,300,1.39,CRD,6 +VTS,1,1,360,1.04,CSH,6.5 +VTS,1,1,1020,5.28,CRD,18.5 +VTS,1,1,240,0.77,CRD,5 +VTS,1,2,840,3.01,CSH,13 +VTS,1,1,3180,21.54,CRD,61.5 +VTS,1,2,240,1.26,CRD,6 +VTS,1,2,360,0.52,CSH,5.5 +VTS,1,1,480,1.79,CSH,8.5 +VTS,1,2,120,0.31,CSH,3.5 +VTS,1,1,840,1.55,CRD,10.5 +VTS,1,2,480,1.16,CSH,7.5 +VTS,1,1,480,1.84,CSH,8.5 +VTS,1,1,240,1.06,CRD,6 +VTS,1,1,420,2.59,CRD,9.5 +VTS,1,2,360,1.75,CSH,7.5 +VTS,1,1,480,0.96,CRD,7 +VTS,1,5,1200,4.38,CRD,18 +VTS,1,5,1080,6.53,CRD,20 +VTS,1,5,1500,4.65,CSH,20.5 +VTS,1,5,540,2.27,CSH,9.5 +VTS,1,1,420,2.8,CRD,10 +VTS,1,2,360,1.34,CRD,6.5 +VTS,1,1,1620,1.69,CSH,13.5 +VTS,1,1,720,1.71,CRD,10 +VTS,1,2,840,5.81,CRD,18.5 +VTS,1,1,540,1.79,CSH,8.5 +VTS,3,1,2520,17.85,CSH,70 +VTS,1,1,660,3.52,CSH,12.5 +VTS,1,1,480,1.05,CRD,7.5 +VTS,1,1,240,0.87,CRD,5.5 +VTS,1,1,660,2.68,CRD,10.5 +VTS,1,1,420,1.53,CRD,7.5 +VTS,1,1,120,0.43,CRD,3.5 +VTS,2,2,1800,15.55,CSH,52 +VTS,1,1,420,3.4,CSH,11 +VTS,1,1,660,2.04,CRD,10 +VTS,1,1,660,3.65,CRD,12.5 +VTS,1,1,840,3.11,CRD,12.5 +VTS,1,1,120,0.99,CSH,5 +VTS,1,1,300,0.71,CSH,5 +VTS,1,1,300,1.7,CRD,6.5 +VTS,1,1,720,1.32,CRD,9.5 +VTS,1,1,300,0.87,CSH,5 +VTS,1,1,600,2.84,CSH,11 +VTS,1,1,1020,3.34,CRD,14.5 +VTS,1,1,540,2.71,CSH,10.5 +VTS,1,1,600,2.46,CRD,10 +VTS,1,1,720,2.12,CRD,10.5 +VTS,1,1,900,7.99,CSH,23 +VTS,1,1,780,3.49,CRD,13.5 +VTS,1,1,360,1.45,CRD,7 +VTS,1,2,1200,4.33,CRD,17.5 +VTS,1,1,780,2.11,CSH,10.5 +VTS,1,1,1200,11.26,CRD,31.5 +VTS,1,1,360,0.68,CSH,5.5 +VTS,1,1,840,5.55,CRD,18 +VTS,1,1,240,0.46,CRD,4.5 +VTS,1,1,480,2.04,CSH,8.5 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,540,1.25,CRD,7.5 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,2,300,0.53,CRD,5.5 +VTS,1,1,600,2.11,CRD,10 +VTS,1,2,840,2.21,CSH,12 +VTS,1,1,660,1.54,CSH,9 +VTS,1,1,480,3.04,CRD,10.5 +VTS,1,1,360,1.69,CSH,7.5 +VTS,1,1,360,0.87,CSH,6 +VTS,1,5,840,4.22,CRD,14.5 +VTS,1,5,360,1.8,CRD,7.5 +VTS,1,1,720,3.71,CRD,13 +VTS,1,2,240,1.42,CRD,6 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,2,1740,13.62,CRD,39.5 +VTS,1,1,660,1.96,CRD,9.5 +VTS,1,1,1080,2.82,CSH,14 +VTS,1,1,420,1.21,CRD,7 +VTS,1,1,1140,11.38,CSH,31.5 +VTS,1,1,960,10.82,CSH,30.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,2,2,1440,18.63,CRD,52 +VTS,1,1,540,1.96,CRD,9 +VTS,1,1,960,5.01,CSH,17 +VTS,1,1,660,1.62,CRD,9.5 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,600,2,CSH,9 +VTS,1,1,180,0.52,CSH,4.5 +VTS,1,1,360,0.97,CRD,6 +VTS,1,1,900,3.93,CSH,15 +VTS,3,2,2580,20.54,CSH,77.5 +VTS,1,1,480,0.84,CSH,6.5 +VTS,1,2,300,0.61,CSH,5 +VTS,1,1,300,1.16,CRD,6 +VTS,1,2,780,1.32,CSH,9.5 +VTS,1,5,60,0.63,CRD,4 +VTS,1,5,240,0.76,CSH,4.5 +VTS,1,5,540,4.13,CSH,13.5 +VTS,1,5,480,1.69,CSH,8 +VTS,1,5,180,0.82,CRD,5 +VTS,1,5,480,2,CRD,8.5 +VTS,1,5,780,3.25,CRD,12 +VTS,1,1,960,5.76,CSH,19 +VTS,1,1,360,1.79,CSH,7 +VTS,1,1,660,3.99,CRD,13 +VTS,1,2,180,1.04,CSH,5 +VTS,1,2,600,3.1,CSH,11 +VTS,1,1,840,1.17,CSH,9.5 +VTS,1,2,300,1.9,CSH,7.5 +VTS,1,1,540,1.88,CSH,9 +VTS,1,1,540,1.97,CRD,9 +VTS,1,2,300,1.46,CSH,6.5 +VTS,1,1,420,1.08,CSH,7 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,360,1.73,CSH,7.5 +VTS,2,1,2220,19.48,CRD,52 +VTS,2,2,2640,18.54,CSH,52 +VTS,1,2,600,1.8,CRD,9 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,540,4.14,CSH,13 +VTS,1,1,540,1.21,CSH,7.5 +VTS,1,5,660,3.43,CRD,12 +VTS,1,5,540,1.69,CSH,8.5 +VTS,1,5,1560,5.65,CSH,21.5 +VTS,1,5,780,2.73,CSH,11.5 +VTS,1,5,660,2.14,CSH,10 +VTS,1,5,1020,3.36,CSH,14 +VTS,1,5,600,1.6,CRD,8.5 +VTS,1,5,360,0.77,CSH,6 +VTS,1,5,720,3.9,CRD,13.5 +VTS,1,5,1320,9.79,CRD,29 +VTS,1,5,900,2.32,CSH,11.5 +VTS,1,5,480,1.27,CRD,7 +VTS,1,5,660,1.95,CSH,10 +VTS,1,5,960,3.11,CRD,14.5 +VTS,1,5,300,0.99,CSH,5.5 +VTS,1,5,420,1.23,CSH,6.5 +VTS,1,5,360,1.43,CRD,6.5 +VTS,1,5,300,1.57,CSH,6.5 +VTS,1,5,240,0.78,CRD,5 +VTS,1,5,2040,2.22,CSH,20.5 +VTS,1,5,1200,3.61,CRD,14.5 +VTS,1,5,300,1.1,CSH,5.5 +VTS,1,5,1740,9.37,CSH,31 +VTS,1,5,600,2.22,CRD,10 +VTS,1,5,840,1.59,CRD,10.5 +VTS,1,5,960,4.29,CRD,15.5 +VTS,1,1,1080,3.06,CSH,15 +VTS,1,1,780,2.03,CSH,10.5 +VTS,1,1,420,0.84,CSH,5.5 +VTS,1,1,420,2.11,CSH,8 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,420,1.5,CRD,7 +VTS,1,1,1080,6.62,CSH,21.5 +VTS,1,1,2040,11.78,CRD,36.5 +VTS,1,1,1200,1.72,CRD,13.5 +VTS,1,1,540,2.77,CRD,11 +VTS,1,1,120,0.76,CSH,4 +VTS,1,1,420,1.01,CSH,7 +VTS,1,1,420,1.13,CSH,7 +VTS,1,1,1080,3.75,CSH,15.5 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,1,420,1.39,CRD,7 +VTS,1,1,840,2.01,CSH,10.5 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,780,5.64,CRD,18 +VTS,1,1,300,1.17,CSH,6.5 +VTS,1,3,660,2.22,CSH,10.5 +VTS,1,1,360,0.82,CSH,5.5 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,960,2.03,CSH,11.5 +VTS,1,2,1560,7.13,CRD,25 +VTS,1,1,660,2.03,CSH,10 +VTS,1,2,360,2.16,CRD,8.5 +VTS,1,2,120,1.09,CRD,5 +VTS,1,1,660,2.55,CSH,11 +VTS,1,1,240,0.91,CSH,5 +VTS,1,1,1860,9.14,CRD,29.5 +VTS,1,2,840,7.91,CRD,22.5 +VTS,1,1,600,0.52,CSH,7.5 +VTS,1,1,480,1.84,CSH,8.5 +VTS,1,1,540,1.3,CRD,8 +VTS,1,1,240,0.87,CRD,5.5 +VTS,1,1,480,1.23,CRD,7 +VTS,1,1,600,1.87,CRD,8.5 +VTS,1,2,1140,4.22,CSH,16.5 +VTS,1,1,360,0.93,CRD,5.5 +VTS,1,1,420,1.32,CRD,7 +VTS,1,1,480,1.19,CSH,7.5 +VTS,1,1,240,0.45,CSH,4.5 +VTS,1,1,360,1.35,CSH,6.5 +VTS,1,1,1140,4.81,CRD,18.5 +VTS,1,2,720,1.44,CRD,9 +VTS,1,1,1200,1.91,CSH,13 +VTS,1,1,300,1.42,CRD,6 +VTS,1,1,1440,12.74,CRD,36.5 +VTS,1,1,720,3.03,CSH,11.5 +VTS,1,1,120,0.79,CSH,4.5 +VTS,1,1,480,1.92,CRD,8.5 +VTS,1,1,360,2.16,CRD,8.5 +VTS,1,1,180,0.94,CSH,5 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,420,0.91,CSH,6.5 +VTS,1,1,960,2.85,CRD,12.5 +VTS,1,1,660,1.35,CSH,9 +VTS,1,1,240,0.62,CSH,5 +VTS,1,2,1080,4.58,CRD,17.5 +VTS,1,1,540,1.36,CSH,7.5 +VTS,2,1,1800,16.59,CSH,52 +VTS,1,1,1080,1.53,CSH,12 +VTS,1,1,420,0.99,CSH,6.5 +VTS,1,2,300,1.06,CRD,5.5 +VTS,1,2,540,2.56,CSH,10 +VTS,1,1,960,0.93,CRD,10.5 +VTS,1,1,360,1.45,CSH,6.5 +VTS,1,1,900,2.25,CRD,11.5 +VTS,1,1,1140,2.4,CSH,14 +VTS,1,1,360,1.02,CRD,5.5 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,1800,14.8,CSH,43 +VTS,1,2,600,1.82,CRD,8.5 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,300,1.22,CRD,6 +VTS,1,1,480,1.49,CSH,8 +VTS,1,1,420,0.97,CSH,6.5 +VTS,1,1,480,2.87,CSH,10 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,2580,12.44,CSH,42.5 +VTS,1,1,660,0.58,CRD,7.5 +VTS,1,1,1980,5.04,CRD,25.5 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,1560,4.1,CRD,19 +VTS,2,1,1560,17.46,CRD,52 +VTS,1,1,420,1.54,CSH,7.5 +VTS,1,2,660,2.57,CRD,10.5 +VTS,1,1,360,2.57,CRD,9 +VTS,1,1,300,1.33,CSH,6.5 +VTS,1,1,660,2.2,CSH,10 +VTS,1,2,480,1.68,CRD,8.5 +VTS,1,1,300,0.87,CSH,5 +VTS,1,1,180,0.45,CSH,4.5 +VTS,1,1,300,0.8,CSH,5 +VTS,1,1,480,1.2,CRD,7 +VTS,1,2,540,2.18,CRD,9.5 +VTS,1,1,540,2.75,CSH,10.5 +VTS,1,1,360,0.82,CSH,6 +VTS,1,1,660,0.92,CRD,8.5 +VTS,1,1,1440,11.58,CSH,33.5 +VTS,1,1,360,0.84,CRD,5.5 +VTS,1,1,1380,6.33,CRD,23.5 +VTS,1,1,420,0.44,CRD,6 +VTS,1,1,1740,12.37,CSH,37.5 +VTS,1,1,420,2.25,CSH,8.5 +VTS,1,1,120,0.6,CSH,4 +VTS,1,1,1080,2.21,CRD,13 +VTS,1,1,720,0.85,CSH,8 +VTS,1,1,780,1.69,CRD,10 +VTS,1,1,360,0.53,CSH,5.5 +VTS,1,1,360,0.79,CRD,5.5 +VTS,1,2,720,1.53,CRD,9.5 +VTS,1,1,420,1.14,CSH,7 +VTS,1,1,600,1.48,CRD,8 +VTS,1,2,780,1.83,CSH,10 +VTS,1,1,720,5.82,CRD,18.5 +VTS,1,1,960,6.28,CRD,20 +VTS,1,1,600,5.43,CRD,16.5 +VTS,1,1,420,1.46,CSH,7 +VTS,1,1,1920,5.65,CRD,23.5 +VTS,1,1,120,0.69,CSH,4 +VTS,1,1,420,1.7,CRD,7.5 +VTS,1,1,540,1.34,CRD,8 +VTS,1,1,1020,1.61,CRD,11.5 +VTS,1,1,420,1.55,CRD,7.5 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,1,720,0.74,CSH,8 +VTS,1,1,540,0.51,CRD,7 +VTS,1,1,720,1.49,CRD,9.5 +VTS,2,1,2280,17.83,CRD,52 +VTS,1,1,300,0.37,CSH,5.5 +VTS,1,1,480,1.63,CSH,7.5 +VTS,1,1,360,1.45,CSH,7 +VTS,1,1,1500,12.62,CRD,36.5 +VTS,1,1,720,2.22,CSH,10.5 +VTS,1,1,360,1.15,CSH,6 +VTS,1,1,1140,6.05,CSH,20 +VTS,1,2,300,1.13,CRD,6.5 +VTS,1,2,360,1.51,CSH,7.5 +VTS,1,1,540,1.82,CRD,8.5 +VTS,1,1,420,1.31,CSH,7 +VTS,1,1,480,1.45,CRD,7.5 +VTS,1,1,540,1.71,CSH,8.5 +VTS,1,1,300,0.73,CSH,5 +VTS,1,1,360,1.69,CRD,7.5 +VTS,1,1,300,1.82,CSH,7 +VTS,1,2,720,2.09,CSH,10 +VTS,1,1,480,1.22,CSH,7 +VTS,1,1,480,0.89,CSH,6.5 +VTS,1,1,420,1.36,CRD,7 +VTS,1,1,360,1.07,CSH,6 +VTS,1,1,420,0.9,CSH,6.5 +VTS,1,1,600,2.91,CSH,10.5 +VTS,1,1,600,2.84,CSH,10.5 +VTS,1,5,360,1.28,CSH,6.5 +VTS,1,5,300,0.9,CRD,5.5 +VTS,1,5,2040,9.61,CSH,32 +VTS,1,5,1440,6.02,CRD,22.5 +VTS,1,5,600,1.21,CRD,8.5 +VTS,1,2,540,3.11,CSH,11.5 +VTS,1,1,180,0.88,CRD,5 +VTS,1,1,420,1.77,CSH,7.5 +VTS,1,1,360,1.88,CSH,7.5 +VTS,1,2,240,0.77,CSH,5 +VTS,1,2,480,1.66,CSH,8 +VTS,1,1,180,0.16,CSH,3.5 +VTS,1,2,840,4.03,CSH,15 +VTS,1,1,360,0.69,CSH,5.5 +VTS,1,2,360,0.77,CRD,5.5 +VTS,1,1,240,0.77,CRD,4.5 +VTS,1,1,360,1.12,CSH,6.5 +VTS,1,1,600,1.77,CRD,8.5 +VTS,1,1,660,2.3,CRD,10 +VTS,1,2,1020,6.2,CSH,21 +VTS,1,1,780,4.99,CSH,16.5 +VTS,1,2,180,1.11,CSH,5.5 +VTS,1,1,360,1.41,CSH,6.5 +VTS,1,1,780,1.99,CRD,10.5 +VTS,1,1,660,2.12,CSH,10.5 +VTS,1,2,1020,2.74,CRD,13 +VTS,1,1,1140,2.76,CSH,14 +VTS,1,1,300,1.07,CSH,6 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,660,1.44,CSH,8.5 +VTS,1,1,660,1.98,CRD,10.5 +VTS,1,1,480,0.78,CRD,6.5 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,300,1.29,CRD,6 +VTS,1,1,780,1.97,CSH,11 +VTS,1,1,240,1.28,CRD,5.5 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,1,60,0,CSH,3 +VTS,1,2,540,1.32,CSH,8 +VTS,1,1,1560,10.02,CSH,31.5 +VTS,1,1,1260,3.97,CSH,16.5 +VTS,1,1,600,1.2,CRD,8 +VTS,1,1,240,0.6,CRD,5 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,300,1.07,CSH,6 +VTS,1,1,720,0.97,CSH,9 +VTS,1,1,600,1.49,CSH,7 +VTS,1,1,300,1.25,CSH,6 +VTS,1,1,1440,5.65,CSH,22.5 +VTS,1,1,360,0.85,CRD,6 +VTS,1,1,2820,12.88,CSH,43.5 +VTS,1,2,420,2.09,CRD,8.5 +VTS,1,1,240,0.7,CSH,5 +VTS,2,1,1680,17.95,CSH,52 +VTS,1,1,600,4.95,CSH,15.5 +VTS,1,1,420,1.9,CRD,8.5 +VTS,1,2,420,1.99,CSH,8 +VTS,1,1,840,1.91,CSH,11 +VTS,1,1,780,1.38,CSH,9.5 +VTS,1,1,360,0.91,CSH,5.5 +VTS,1,1,600,1.89,CSH,8.5 +VTS,1,1,60,0.95,CSH,4.5 +VTS,1,1,1200,3.77,CRD,16 +VTS,1,1,660,2.29,CSH,10 +VTS,1,1,1860,14.1,CSH,41 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,540,2,CSH,8.5 +VTS,1,1,480,1.76,CSH,8.5 +VTS,1,1,360,1.81,CRD,7 +VTS,1,1,660,2.29,CRD,10 +VTS,1,1,660,1.36,CSH,8.5 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,1080,6.08,CSH,20.5 +VTS,1,1,120,0.28,CSH,3.5 +VTS,1,1,240,0.42,CSH,4.5 +VTS,1,1,360,1.51,CSH,7.5 +VTS,1,1,600,3.82,CRD,12.5 +VTS,1,1,480,1.69,CRD,8 +VTS,1,5,900,8.62,CRD,25 +VTS,1,5,1080,2.29,CRD,13 +VTS,1,5,660,2.5,CSH,10 +VTS,1,5,540,1.63,CRD,8.5 +VTS,1,5,1020,2.51,CRD,13 +VTS,1,5,480,1.23,CRD,7.5 +VTS,1,5,840,9.92,CRD,27.5 +VTS,1,5,1680,9.16,CRD,29 +VTS,1,5,240,0.62,CRD,4.5 +VTS,1,5,240,0.68,CRD,4.5 +VTS,1,5,1260,5.22,CRD,18.5 +VTS,1,5,600,3.21,CSH,12 +VTS,1,5,540,2.83,CRD,10.5 +VTS,1,1,600,5.28,CSH,16 +VTS,1,1,480,2.49,CSH,9 +VTS,1,1,780,2.61,CSH,11 +VTS,1,1,360,1.91,CRD,7.5 +VTS,1,2,480,1.35,CSH,7.5 +VTS,1,2,360,1.41,CRD,6.5 +VTS,1,2,900,4.42,CSH,15 +VTS,1,2,600,1.34,CRD,8.5 +VTS,1,1,600,0.73,CSH,7 +VTS,1,1,420,0.86,CSH,6 +VTS,1,2,600,3.6,CSH,12 +VTS,1,1,180,1.44,CRD,6 +VTS,1,1,540,2.19,CSH,9 +VTS,1,2,480,1.78,CRD,8 +VTS,1,2,1140,10.77,CRD,31 +VTS,1,1,240,0.63,CSH,5 +VTS,1,2,300,1.01,CSH,6 +VTS,1,1,720,5.9,CRD,18 +VTS,1,1,420,1.53,CSH,7.5 +VTS,1,1,720,2.14,CRD,10 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,1680,11.39,CRD,35 +VTS,1,1,1620,3.82,CRD,18.5 +VTS,1,1,360,1,CSH,6 +VTS,1,1,420,1.14,CRD,7 +VTS,1,1,360,0.82,CRD,5.5 +VTS,1,1,300,1.4,CRD,6 +VTS,1,1,840,1.91,CRD,11 +VTS,1,1,1920,5.98,CRD,23 +VTS,1,1,1080,4.36,CRD,17 +VTS,1,2,300,1.25,CSH,6 +VTS,1,1,420,1.38,CSH,6.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,600,2.09,CSH,9.5 +VTS,1,1,360,0.99,CRD,6.5 +VTS,1,1,360,1.29,CSH,7 +VTS,1,1,1260,5.28,CRD,20 +VTS,1,1,300,1.12,CRD,6 +VTS,1,1,360,0.57,CRD,5.5 +VTS,1,1,540,2.16,CSH,9.5 +VTS,1,1,240,0.43,CSH,4.5 +VTS,1,1,1380,4.79,CRD,19 +VTS,1,1,600,1.8,CSH,9 +VTS,1,1,540,1.72,CRD,8.5 +VTS,1,1,1260,3.08,CSH,16 +VTS,1,1,480,1.35,CSH,8 +VTS,1,1,360,1.23,CSH,6.5 +VTS,1,1,420,1.36,CSH,7 +VTS,1,1,360,1.37,CRD,7 +VTS,1,1,300,1.05,CRD,5.5 +VTS,1,1,540,1.21,CSH,8 +VTS,1,1,420,1.12,CSH,7 +VTS,1,1,720,2.42,CSH,10.5 +VTS,1,1,660,2.6,CRD,10.5 +VTS,1,1,2400,10.55,CSH,37 +VTS,1,1,420,1.93,CRD,8.5 +VTS,1,1,720,5.29,CRD,17 +VTS,1,1,240,0.67,CRD,4.5 +VTS,1,1,480,1.02,CSH,7 +VTS,1,2,300,0.84,CRD,5.5 +VTS,1,1,660,1.48,CRD,9 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,1,720,6.4,CSH,19 +VTS,1,1,300,1.69,CSH,7 +VTS,1,1,420,1.13,CRD,7 +VTS,1,1,540,1.49,CSH,8.5 +VTS,1,1,900,1.69,CSH,10.5 +VTS,1,1,780,2.44,CRD,11.5 +VTS,1,1,120,0.77,CRD,4.5 +VTS,1,1,720,1.79,CSH,9.5 +VTS,1,1,900,3.91,CRD,15 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,1,120,0.66,CSH,4 +VTS,1,1,840,3.8,CSH,13.5 +VTS,1,1,840,8.18,CSH,23.5 +VTS,1,1,180,0.86,CSH,5 +VTS,1,1,480,2.26,CRD,9.5 +VTS,1,1,420,1.16,CRD,6.5 +VTS,1,1,2220,16.09,CSH,45 +VTS,1,1,840,1.75,CSH,9 +VTS,1,1,2220,14.74,CSH,44.5 +VTS,1,1,180,0.37,CRD,4 +VTS,1,1,420,1.17,CSH,7 +VTS,1,1,240,1.22,CRD,6 +VTS,1,1,540,0.94,CRD,7 +VTS,1,1,300,1.7,CRD,7 +VTS,1,1,540,0.6,CSH,6.5 +VTS,1,1,1440,11.94,CSH,34.5 +VTS,1,1,300,1.2,CRD,6.5 +VTS,1,1,600,2.34,CSH,10.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,660,1.79,CRD,9.5 +VTS,1,1,600,0.81,CSH,8 +VTS,1,1,480,1.73,CRD,8 +VTS,1,1,1200,6.4,CSH,21.5 +VTS,1,1,360,1.36,CSH,6.5 +VTS,1,1,660,2.35,CRD,10 +VTS,1,1,600,3.14,CSH,12 +VTS,1,1,60,0.34,CSH,3.5 +VTS,1,1,840,5.01,CSH,16 +VTS,1,1,900,4.77,CSH,16.5 +VTS,1,1,540,2.93,CRD,10 +VTS,1,1,1080,8.11,CSH,24 +VTS,1,1,1500,9,CSH,30 +VTS,1,1,600,1.15,CRD,8 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,2,420,0.95,CRD,6.5 +VTS,1,1,600,0.86,CRD,7.5 +VTS,1,1,480,0.84,CSH,7 +VTS,1,1,900,4.91,CRD,16 +VTS,1,1,780,3.21,CSH,12 +VTS,1,1,660,4.4,CRD,13.5 +VTS,1,1,180,0.79,CRD,4.5 +VTS,1,1,180,0.64,CSH,5 +VTS,1,1,600,2.3,CSH,9.5 +VTS,1,1,240,0.35,CSH,4 +VTS,1,1,300,1.48,CRD,6.5 +VTS,1,1,360,1.78,CRD,7 +VTS,1,1,780,2.69,CSH,11.5 +VTS,1,1,120,0.45,CSH,4 +VTS,1,1,600,1.63,CRD,8.5 +VTS,1,1,960,3.33,CRD,13.5 +VTS,1,1,540,1.5,CRD,8 +VTS,1,1,600,1.92,CRD,9.5 +VTS,1,1,1020,2.45,CRD,12.5 +VTS,1,1,180,0.48,CSH,4 +VTS,2,2,1980,18.1,CRD,52 +VTS,1,1,240,1.19,CRD,6 +VTS,1,1,840,2.19,CSH,11.5 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,960,2.26,CRD,12.5 +VTS,1,1,1440,5.79,CRD,21.5 +VTS,1,1,540,1.52,CSH,8.5 +VTS,1,1,960,8.24,CSH,24.5 +VTS,1,1,480,1.05,CRD,7 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,480,1.28,CSH,7.5 +VTS,1,1,1200,11.57,CRD,32.5 +VTS,1,1,960,5.4,CSH,17.5 +VTS,1,1,480,1.75,CSH,7.5 +VTS,1,1,300,0.67,CRD,5 +VTS,1,1,600,3.2,CRD,11.5 +VTS,1,1,720,3.19,CSH,12 +VTS,1,1,960,1.73,CSH,11.5 +VTS,1,1,720,2.35,CRD,11 +VTS,1,1,300,0.71,CRD,5 +VTS,1,1,120,0.41,CSH,4 +VTS,1,1,480,1.28,CRD,7 +VTS,1,1,720,2.53,CRD,10.5 +VTS,1,1,900,2.89,CRD,12 +VTS,1,1,180,0.56,CSH,4 +VTS,1,1,360,1.47,CRD,7 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,1080,2.9,CSH,14 +VTS,1,1,1020,4.61,CRD,16.5 +VTS,1,1,360,1.04,CSH,6 +VTS,1,1,840,0.88,CRD,9.5 +VTS,1,1,1080,2.25,CRD,13 +VTS,1,1,720,2.64,CSH,11.5 +VTS,1,1,960,2.06,CSH,11.5 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,1380,3.03,CSH,17 +VTS,1,2,720,1.3,CSH,9 +VTS,1,1,1020,1.62,CSH,12 +VTS,1,1,1260,4.64,CSH,17.5 +VTS,1,2,240,0.65,CSH,5 +VTS,1,1,2400,13.35,CSH,41.5 +VTS,1,1,360,1.52,CRD,7.5 +VTS,1,1,660,5.16,CRD,16 +VTS,1,1,840,1.71,CSH,10.5 +VTS,1,1,540,1.09,CRD,7.5 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,780,1.88,CSH,11 +VTS,1,1,360,2.01,CSH,7.5 +VTS,1,1,480,1.27,CSH,7.5 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,1,300,0.97,CSH,5.5 +VTS,1,1,300,2.59,CSH,8.5 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,540,3.2,CRD,11 +VTS,1,1,720,1.67,CSH,9.5 +VTS,1,1,660,1.92,CSH,9.5 +VTS,1,1,720,1.58,CSH,9 +VTS,1,1,300,1.06,CSH,5.5 +VTS,1,1,600,1.48,CSH,8.5 +VTS,1,1,180,0.56,CSH,4.5 +VTS,1,1,600,1.97,CRD,9 +VTS,1,1,300,1.29,CSH,6 +VTS,1,1,1320,2.33,CSH,15 +VTS,1,1,360,0.77,CRD,5.5 +VTS,1,1,840,1.96,CSH,11 +VTS,1,1,780,2.22,CRD,10.5 +VTS,1,1,540,1.84,CRD,8.5 +VTS,1,1,780,2.49,CRD,11 +VTS,1,1,1320,3.53,CRD,17 +VTS,2,1,1680,17.81,CRD,52 +VTS,1,1,240,1.18,CSH,5.5 +VTS,1,1,1140,2.31,CRD,13.5 +VTS,3,2,2220,20.54,CSH,74.5 +VTS,1,1,1260,4.88,CRD,19 +VTS,2,1,2940,16.87,CSH,52 +VTS,2,2,2940,18.57,CSH,52 +VTS,1,1,1140,4.23,CRD,17 +VTS,1,1,360,0.92,CSH,6 +VTS,1,1,660,1.63,CRD,9 +VTS,1,1,480,1.95,CSH,8.5 +VTS,1,1,840,1.1,CSH,10 +VTS,1,1,420,1.37,CRD,7 +VTS,1,1,420,0.66,CRD,6.5 +VTS,1,1,600,1.64,CRD,9 +VTS,1,1,840,1.78,CSH,10.5 +VTS,1,1,840,1.91,CSH,11 +VTS,1,1,240,0.87,CSH,5 +VTS,1,1,300,1.15,CRD,6 +VTS,1,1,1080,7.85,CSH,24.5 +VTS,1,1,840,5.73,CSH,18.5 +VTS,1,1,900,4.15,CSH,16 +VTS,1,1,180,0.59,CSH,4.5 +VTS,1,1,1560,12.43,CRD,36.5 +VTS,1,1,600,2.03,CRD,9 +VTS,1,1,540,1.08,CSH,7.5 +VTS,1,1,300,1.25,CSH,6.5 +VTS,1,1,420,0.92,CSH,6 +VTS,1,1,360,1.24,CRD,6 +VTS,1,1,420,1.02,CRD,6 +VTS,1,1,720,1.33,CRD,9 +VTS,1,1,240,0.75,CRD,5 +VTS,1,1,660,1.23,CRD,9 +VTS,1,1,240,1.06,CSH,5.5 +VTS,1,1,120,0.57,CSH,4 +VTS,1,1,540,1.53,CRD,8 +VTS,1,1,1200,5.85,CSH,21 +VTS,1,1,240,0.63,CRD,4.5 +VTS,1,1,300,1.39,CRD,6.5 +VTS,1,1,540,2.52,CSH,10 +VTS,1,1,900,3.62,CSH,14.5 +VTS,1,1,540,1.37,CSH,8 +VTS,1,1,360,1.67,CSH,7.5 +VTS,1,1,780,1.9,CSH,10 +VTS,1,1,420,1.41,CRD,7 +VTS,1,1,300,1.53,CRD,6.5 +VTS,1,1,1020,3.1,CRD,14.5 +VTS,1,1,540,1.31,CSH,7.5 +VTS,1,1,1680,4.28,CRD,20 +VTS,1,1,420,1,CSH,6 +VTS,1,1,1320,3.22,CRD,16 +VTS,1,1,900,3.88,CRD,14.5 +VTS,1,1,420,1.5,CSH,7 +VTS,1,1,900,3.69,CSH,13.5 +VTS,1,2,180,1.84,CSH,7 +VTS,1,1,480,1.47,CSH,7.5 +VTS,1,1,120,0.67,CRD,4 +VTS,1,2,840,2.78,CSH,12.5 +VTS,1,1,420,0.86,CRD,6.5 +VTS,1,1,1320,6.25,CSH,23 +VTS,1,1,780,2.01,CSH,10.5 +VTS,1,1,840,1.92,CSH,11 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,360,1.05,CRD,6 +VTS,1,2,2280,11.11,CRD,38 +VTS,1,1,420,3.37,CSH,11 +VTS,1,1,300,1.34,CRD,6.5 +VTS,1,1,420,1.19,CSH,6.5 +VTS,1,1,300,0.68,CRD,5 +VTS,1,1,1320,6.12,CSH,21 +VTS,1,1,660,3.99,CSH,14 +VTS,1,1,480,1,CSH,7 +VTS,1,1,540,1.71,CSH,8 +VTS,1,1,180,0.41,CSH,3.5 +VTS,1,1,420,1.56,CRD,7 +VTS,1,1,1440,10.1,CRD,31 +VTS,1,1,900,2.97,CRD,13.5 +VTS,1,1,120,0.77,CSH,4.5 +VTS,1,1,1140,7.48,CSH,23 +VTS,1,1,540,1.49,CRD,8 +VTS,1,1,660,1.53,CSH,9 +VTS,1,1,720,1.04,CSH,8.5 +VTS,1,1,480,0.71,CRD,6.5 +VTS,1,1,1140,4.79,CSH,18.5 +VTS,1,1,1440,16.82,CRD,44.5 +VTS,1,1,480,0.94,CSH,6.5 +VTS,1,1,720,1.26,CSH,9 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,420,1.46,CRD,7 +VTS,1,1,960,3.75,CSH,14 +VTS,1,1,120,0.42,CSH,3.5 +VTS,1,1,300,1.47,CSH,6.5 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,480,1.82,CSH,8 +VTS,1,1,900,2.12,CSH,11 +VTS,1,1,540,2.74,CSH,10 +VTS,1,1,1380,7.88,CSH,26 +VTS,1,1,540,1.79,CRD,8.5 +VTS,1,1,600,1.79,CSH,8.5 +VTS,1,1,540,1.37,CSH,8 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,420,1,CSH,6 +VTS,1,1,660,2.07,CRD,10 +VTS,1,1,1140,1.44,CRD,12.5 +VTS,1,1,900,1.87,CSH,11 +VTS,1,1,600,1.71,CRD,9 +VTS,1,1,600,3.44,CRD,12.5 +VTS,1,1,420,2.04,CSH,8.5 +VTS,1,1,660,1.74,CSH,9 +VTS,1,1,1620,10.99,CRD,32.5 +VTS,1,1,240,0.86,CRD,5 +VTS,1,2,360,1.53,CRD,7 +VTS,1,1,540,2.03,CSH,9 +VTS,1,1,180,0.75,CSH,5 +VTS,1,1,540,1.29,CSH,8 +VTS,1,1,900,1.49,CRD,10.5 +VTS,1,1,1200,7,CRD,23 +VTS,1,1,300,1.1,CSH,5.5 +VTS,1,1,900,2.4,CRD,11.5 +VTS,1,1,540,2.17,CSH,9.5 +VTS,1,1,600,2.24,CSH,9.5 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,600,0.95,CRD,8 +VTS,1,1,120,0.31,CRD,3.5 +VTS,1,1,720,1.88,CRD,9.5 +VTS,1,1,240,0.56,CRD,5 +VTS,1,1,600,2.43,CRD,10 +VTS,1,1,1020,12.4,CRD,33.5 +VTS,1,1,540,2.37,CRD,9.5 +VTS,1,1,540,1.5,CRD,8 +VTS,1,1,540,1.01,CSH,7.5 +VTS,1,1,660,2.36,CRD,10 +VTS,1,1,240,0.55,CRD,4 +VTS,1,1,1320,6.23,CRD,21.5 +VTS,1,1,360,1.28,CRD,6.5 +VTS,1,1,480,1.67,CRD,7.5 +VTS,1,1,780,4.37,CSH,14 +VTS,1,1,420,1.2,CRD,7 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,600,1.2,CSH,8.5 +VTS,1,1,840,4.05,CSH,14 +VTS,1,1,720,1.51,CRD,9.5 +VTS,1,1,120,0.63,CRD,4 +VTS,1,1,1020,1.6,CSH,11.5 +VTS,1,1,720,2.14,CRD,10.5 +VTS,1,2,180,0.5,CSH,4 +VTS,1,1,1020,3.5,CRD,15 +VTS,1,1,480,1.1,CRD,7 +VTS,1,1,960,3.8,CSH,15 +VTS,1,1,240,0.57,CRD,4.5 +VTS,1,1,600,1.92,CSH,8.5 +VTS,1,2,240,1.02,CSH,5 +VTS,1,1,840,1.34,CSH,9.5 +VTS,1,1,720,2.95,CSH,12 +VTS,1,2,240,0.9,CRD,5 +VTS,1,1,960,5.19,CRD,17 +VTS,1,1,720,2.46,CRD,11.5 +VTS,1,1,720,0.9,CRD,8.5 +VTS,1,1,240,0.95,CSH,5.5 +VTS,1,1,660,2.46,CSH,10 +VTS,1,1,60,0.01,CSH,3 +VTS,1,1,240,0.73,CRD,5.5 +VTS,1,1,1140,2.51,CSH,14.5 +VTS,1,2,420,1.04,CSH,6.5 +VTS,1,2,240,0.7,CRD,5 +VTS,1,1,1260,4.99,CRD,18.5 +VTS,1,1,420,0.51,CSH,5.5 +VTS,1,1,960,6.1,CSH,20 +VTS,1,1,600,1.01,CSH,6 +VTS,5,1,1080,5.74,CRD,60 +VTS,1,1,120,0.51,CSH,4 +VTS,1,1,360,1.14,CRD,6 +VTS,1,2,420,2.28,CSH,8.5 +VTS,1,1,540,1.87,CSH,8.5 +VTS,1,2,480,2.44,CRD,9 +VTS,1,1,900,2.74,CRD,12.5 +VTS,1,1,600,3.37,CSH,12 +VTS,1,1,720,3.24,CSH,12.5 +VTS,1,1,720,2.1,CRD,10 +VTS,1,1,600,1.62,CRD,9 +VTS,1,1,420,0.83,CSH,6 +VTS,1,1,120,0.59,CSH,4 +VTS,1,1,300,1.16,CSH,6 +VTS,1,1,840,1.62,CRD,10.5 +VTS,1,1,900,4.33,CRD,15 +VTS,1,1,480,1.4,CRD,7.5 +VTS,1,1,240,0.79,CSH,5 +VTS,1,1,600,2.2,CRD,9 +VTS,1,1,1020,1.47,CSH,11 +VTS,1,1,1200,11.94,CSH,33 +VTS,1,1,420,1.76,CSH,8 +VTS,1,1,120,0.64,CSH,4 +VTS,1,1,960,9.14,CRD,25.5 +VTS,1,1,780,2.22,CRD,11 +VTS,1,1,780,5.5,CRD,17.5 +VTS,1,1,1680,3.76,CSH,18.5 +VTS,1,1,1860,4.51,CRD,21.5 +VTS,1,1,720,1.87,CRD,10 +VTS,1,1,720,1.82,CRD,9.5 +VTS,1,1,480,0.98,CRD,7 +VTS,1,1,900,7.73,CSH,22 +VTS,1,1,180,0.76,CSH,5 +VTS,1,1,540,3.94,CRD,13.5 +VTS,1,1,60,0.71,CRD,4 +VTS,1,1,540,1.29,CSH,8 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,540,1.35,CSH,8 +VTS,1,1,780,3.13,CSH,12 +VTS,1,1,240,0.89,CRD,5 +VTS,1,1,600,0.89,CSH,8 +VTS,1,1,1320,3.17,CSH,15 +VTS,1,2,600,1.93,CRD,8.5 +VTS,1,1,600,1.96,CSH,9 +VTS,1,1,300,0.77,CRD,5 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,1080,3.61,CRD,14.5 +VTS,1,1,720,2.21,CRD,10.5 +VTS,1,1,120,0.68,CSH,4 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,1,1200,3.68,CSH,17 +VTS,1,1,600,0.9,CSH,7.5 +VTS,1,1,360,1.4,CRD,6.5 +VTS,1,1,900,2.97,CSH,13 +VTS,1,1,600,2.09,CSH,9.5 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,660,1.67,CRD,9 +VTS,1,1,960,2.18,CRD,12 +VTS,1,2,180,0.45,CRD,4 +VTS,1,1,420,1.4,CSH,7.5 +VTS,1,1,660,2.87,CSH,11 +VTS,1,1,780,2.7,CRD,11.5 +VTS,1,1,600,1.65,CSH,8.5 +VTS,1,1,600,1.21,CRD,8 +VTS,1,1,780,6.04,CRD,19 +VTS,1,1,600,1.43,CSH,8.5 +VTS,1,1,480,1.54,CRD,8 +VTS,1,1,480,1.15,CSH,7 +VTS,1,1,1500,3.23,CRD,17.5 +VTS,1,1,240,0.6,CSH,5 +VTS,1,1,780,2.34,CRD,11 +VTS,1,1,720,3.03,CSH,11.5 +VTS,1,1,660,1.98,CSH,10 +VTS,1,1,1320,4.3,CSH,17.5 +VTS,1,1,720,2.18,CRD,10 +VTS,1,1,840,7.89,CSH,23 +VTS,1,1,480,1.49,CSH,8 +VTS,1,1,480,1.59,CSH,8 +VTS,1,2,720,1.81,CSH,9.5 +VTS,1,1,360,0.84,CRD,5.5 +VTS,1,1,360,1.06,CRD,6 +VTS,2,1,2160,16.78,CSH,52 +VTS,1,1,60,0.37,CSH,3.5 +VTS,1,1,660,1.35,CRD,9 +VTS,1,1,540,1.76,CSH,8 +VTS,1,1,360,1.4,CSH,7 +VTS,1,1,120,0.42,CSH,3.5 +VTS,1,1,840,1.98,CRD,11 +VTS,1,1,720,2.39,CRD,10.5 +VTS,1,1,360,1.11,CSH,6 +VTS,1,1,1080,8.51,CSH,25 +VTS,1,2,660,1.7,CRD,8.5 +VTS,1,1,300,1.2,CSH,6 +VTS,1,1,180,0.84,CSH,4.5 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,420,1.25,CSH,7 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,600,1.65,CRD,8.5 +VTS,1,1,420,1.55,CRD,7.5 +VTS,1,1,900,2.19,CRD,11.5 +VTS,1,1,1500,4.05,CRD,18.5 +VTS,1,1,960,2.7,CSH,12.5 +VTS,1,1,1440,3.03,CSH,16 +VTS,1,1,840,2.17,CRD,11.5 +VTS,1,1,420,0.93,CSH,6.5 +VTS,1,1,540,1.62,CRD,8 +VTS,1,1,240,0.41,CSH,4.5 +VTS,1,1,540,0.92,CSH,7.5 +VTS,1,1,1500,11.12,CSH,33.5 +VTS,1,1,1500,4.01,CSH,18 +VTS,1,1,420,0.92,CRD,6.5 +VTS,1,1,840,1.39,CRD,10 +VTS,1,1,780,2.1,CSH,10.5 +VTS,1,1,1020,3.68,CSH,14.5 +VTS,1,1,120,0.57,CSH,3.5 +VTS,1,1,900,3.31,CRD,13.5 +VTS,1,1,1260,3.33,CSH,15 +VTS,1,1,300,1.18,CRD,6 +VTS,1,1,1260,1.25,CRD,14 +VTS,1,1,660,1.75,CRD,9.5 +VTS,1,1,780,2.39,CSH,11 +VTS,1,1,600,1.37,CSH,8 +VTS,1,1,840,4.58,CSH,16.5 +VTS,1,1,420,1.07,CSH,7 +VTS,1,1,1260,3.33,CRD,15.5 +VTS,1,1,480,1.12,CSH,7 +VTS,1,1,360,0.75,CSH,6 +VTS,1,1,420,2,CSH,8.5 +VTS,1,1,420,1.67,CSH,7.5 +VTS,1,1,360,0.73,CRD,6 +VTS,1,1,1320,5.23,CRD,19 +VTS,1,1,180,0.59,CRD,4 +VTS,1,1,420,1.3,CRD,7 +VTS,1,1,420,1.69,CRD,8 +VTS,1,1,660,3,CSH,11 +VTS,1,1,480,1.85,CSH,8 +VTS,1,1,480,1.5,CSH,7.5 +VTS,1,1,1860,8.11,CRD,28.5 +VTS,1,2,300,1.53,CRD,7 +VTS,1,2,540,2.29,CRD,9 +VTS,1,1,900,4.88,CSH,16 +VTS,1,1,900,6.22,CRD,19 +VTS,1,1,720,2.56,CRD,11 +VTS,1,1,360,0.54,CRD,5.5 +VTS,1,1,540,2.26,CRD,9.5 +VTS,1,1,480,0.44,CSH,6 +VTS,1,1,600,2,CRD,9 +VTS,1,1,780,1.61,CRD,10 +VTS,1,1,720,1.26,CRD,9 +VTS,1,1,780,1.57,CRD,9.5 +VTS,1,1,540,2.31,CRD,9 +VTS,1,1,780,2.11,CSH,10.5 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,780,2.25,CRD,10.5 +VTS,1,2,960,2.23,CSH,12.5 +VTS,1,1,540,1.63,CRD,8 +VTS,1,1,180,1.13,CSH,5.5 +VTS,1,1,420,0.74,CRD,6 +VTS,1,1,720,2.51,CRD,11 +VTS,2,2,0,0.01,CSH,52 +VTS,1,1,540,1.19,CRD,7.5 +VTS,1,1,1020,4.2,CRD,16 +VTS,1,1,480,2.43,CRD,9 +VTS,1,1,660,1.87,CRD,9.5 +VTS,1,1,240,0.89,CRD,5 +VTS,1,1,0,0,CRD,2.5 +VTS,1,1,420,1.32,CSH,7.5 +VTS,1,1,1200,2.43,CSH,13.5 +VTS,1,1,420,1.57,CSH,7 +VTS,1,1,720,2.4,CRD,10.5 +VTS,1,1,660,1.42,CSH,9 +VTS,1,1,600,1.1,CRD,7.5 +VTS,1,1,180,0.22,CRD,3.5 +VTS,1,1,1080,3.01,CSH,14 +VTS,1,2,480,1.12,CSH,7.5 +VTS,1,1,240,0.85,CSH,5 +VTS,1,1,300,1.06,CSH,6 +VTS,1,1,300,0.7,CSH,5 +VTS,1,1,540,1.13,CSH,7.5 +VTS,1,1,420,1.68,CSH,7.5 +VTS,1,1,540,1.5,CRD,8 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,360,1.25,CSH,6 +VTS,1,1,360,1.87,CRD,7.5 +VTS,2,1,1800,16.65,CRD,52 +VTS,1,1,420,1.01,CSH,6.5 +VTS,1,1,1020,2.99,CSH,13.5 +VTS,1,1,720,2.09,CRD,10 +VTS,1,1,720,2.05,CRD,10 +VTS,1,1,180,1.06,CSH,5 +VTS,1,1,780,2.92,CSH,11.5 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,600,1.37,CSH,8 +VTS,1,1,1140,5.25,CRD,19 +VTS,1,1,2160,13.57,CRD,42.5 +VTS,1,1,1020,2.36,CRD,13 +VTS,1,1,840,1.98,CRD,10.5 +VTS,1,1,1440,4.37,CRD,18 +VTS,1,1,900,4.42,CRD,15.5 +VTS,1,1,1020,5.75,CSH,19.5 +VTS,1,1,360,0.61,CRD,5.5 +VTS,1,1,900,1.38,CRD,10.5 +VTS,1,1,660,2.3,CRD,10.5 +VTS,1,2,600,1.74,CSH,9 +VTS,1,1,780,2.01,CSH,10.5 +VTS,1,1,840,5.47,CRD,17.5 +VTS,1,1,1020,2.66,CRD,13 +VTS,1,1,660,1.14,CSH,8 +VTS,1,1,480,1.08,CSH,7 +VTS,1,1,840,3.33,CRD,12.5 +VTS,1,2,1140,4.6,CRD,17 +VTS,1,1,1200,3.44,CSH,15 +VTS,1,1,600,1.97,CSH,9 +VTS,1,2,120,0.34,CSH,3.5 +VTS,1,1,840,2.32,CRD,11.5 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,2,240,0.69,CSH,4.5 +VTS,1,1,1200,4.19,CSH,16 +VTS,1,1,600,1.8,CSH,8.5 +VTS,1,1,780,3.7,CRD,13 +VTS,1,1,480,1.35,CRD,7.5 +VTS,1,1,300,1.12,CSH,6 +VTS,1,1,420,1.35,CRD,7 +VTS,1,2,1200,2.84,CRD,14.5 +VTS,1,1,420,2.83,CRD,10 +VTS,1,1,480,1.13,CSH,7 +VTS,1,1,660,1.35,CRD,8.5 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,2,240,1.19,CSH,5.5 +VTS,1,1,1440,8.27,CRD,26.5 +VTS,1,1,300,1.65,CSH,6.5 +VTS,1,1,840,4.99,CSH,16 +VTS,1,2,840,5.42,CRD,17.5 +VTS,1,1,1080,4.15,CSH,16.5 +VTS,1,1,780,1.6,CRD,10 +VTS,1,2,840,1.52,CSH,10 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,1020,1.74,CRD,12 +VTS,1,1,720,1.19,CSH,9 +VTS,1,1,600,1.26,CRD,8.5 +VTS,1,1,1140,6.68,CSH,21 +VTS,1,1,480,1.79,CRD,8 +VTS,1,1,120,0.57,CSH,4 +VTS,1,1,540,0.71,CSH,7.5 +VTS,1,1,600,0.81,CRD,7.5 +VTS,1,1,1140,3.98,CSH,17 +VTS,1,1,240,1.1,CSH,6 +VTS,1,1,420,0.76,CRD,6.5 +VTS,1,1,420,1.91,CRD,8 +VTS,1,1,720,1.73,CRD,9.5 +VTS,1,1,180,0.68,CSH,5 +VTS,1,1,1500,11.27,CRD,32.5 +VTS,1,2,360,1.31,CSH,6.5 +VTS,1,1,840,2.73,CSH,12 +VTS,1,2,840,3.32,CRD,13 +VTS,1,1,660,2.79,CRD,11 +VTS,1,1,1080,2.31,CSH,14 +VTS,1,1,660,2.27,CSH,10 +VTS,1,1,300,1,CRD,5.5 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,2,1980,6.16,CSH,25 +VTS,1,1,1740,7.25,CSH,25.5 +VTS,1,1,180,0.86,CSH,5 +VTS,1,1,960,2.92,CRD,13 +VTS,1,1,600,3.01,CRD,11.5 +VTS,1,1,540,1.09,CSH,8 +VTS,1,1,780,2.53,CSH,11 +VTS,1,1,840,1.48,CRD,10 +VTS,1,1,1020,1.63,CRD,11.5 +VTS,1,2,240,0.7,CRD,4.5 +VTS,1,1,240,0.41,CSH,4.5 +VTS,1,1,660,1.67,CSH,9 +VTS,1,1,180,0.83,CSH,5 +VTS,1,1,1320,6.51,CRD,22.5 +VTS,1,1,420,0.92,CRD,6 +VTS,1,1,2040,4.56,CSH,23.5 +VTS,1,1,1200,4.78,CSH,17.5 +VTS,1,1,900,2.81,CSH,12 +VTS,1,1,420,0.65,CSH,6 +VTS,1,1,300,0.68,CRD,5 +VTS,1,1,1080,3.48,CRD,14 +VTS,1,1,360,0.69,CRD,6 +VTS,1,1,180,0.62,CRD,4.5 +VTS,1,1,480,1.14,CSH,7 +VTS,1,2,360,1.14,CSH,6 +VTS,1,1,420,1.14,CSH,6.5 +VTS,1,2,480,1.57,CSH,7.5 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,0,0.35,CRD,3 +VTS,1,1,420,0.53,CSH,6 +VTS,1,1,1140,10.04,CRD,29 +VTS,1,1,1020,9.54,CRD,27 +VTS,1,1,1440,3.87,CRD,18.5 +VTS,1,1,540,1.24,CRD,7.5 +VTS,1,1,660,1.11,CRD,8.5 +VTS,1,1,1200,7.19,CRD,23 +VTS,1,2,720,2.3,CSH,10 +VTS,1,1,1080,3.61,CRD,15 +VTS,1,1,420,0.93,CSH,6.5 +VTS,1,1,480,1.32,CSH,7 +VTS,1,1,960,6.13,CRD,20 +VTS,1,1,780,1.83,CRD,10.5 +VTS,1,1,660,2.03,CSH,9.5 +VTS,1,2,780,0.87,CSH,9.5 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,1560,6.38,CRD,23 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,960,1.75,CRD,11.5 +VTS,1,1,480,1.8,CSH,8.5 +VTS,1,1,300,1.1,CSH,5.5 +VTS,1,1,1140,7.21,CRD,22.5 +VTS,1,1,780,3.04,CRD,12 +VTS,1,1,1080,2.11,CRD,12.5 +VTS,1,2,840,2.19,CSH,11 +VTS,1,2,180,0.97,CRD,5 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,420,2.21,CRD,8.5 +VTS,1,1,780,2.38,CRD,11 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,2,900,3.79,CRD,14 +VTS,1,1,540,2.42,CRD,10 +VTS,1,1,300,1.31,CRD,6.5 +VTS,1,1,660,1.6,CRD,8.5 +VTS,1,1,540,1.45,CSH,8 +VTS,1,1,900,2.69,CSH,12 +VTS,1,1,660,2.04,CRD,9.5 +VTS,1,1,480,1.46,CRD,7.5 +VTS,1,1,660,2.97,CRD,11.5 +VTS,1,1,480,2.62,CRD,9.5 +VTS,1,1,540,2.35,CRD,9.5 +VTS,1,1,780,2.01,CSH,10.5 +VTS,1,1,120,0.39,CRD,3.5 +VTS,1,1,1020,4.4,CSH,16.5 +VTS,1,2,360,1.61,CSH,7 +VTS,1,1,540,0.99,CRD,7 +VTS,1,1,420,1.35,CSH,7 +VTS,1,1,2580,8.1,CSH,32.5 +VTS,1,1,360,1.4,CRD,6.5 +VTS,1,1,120,0.72,CRD,4.5 +VTS,1,1,420,1.3,CSH,7 +VTS,1,1,240,0.73,CRD,5 +VTS,1,1,540,1.97,CSH,9 +VTS,1,1,540,1.59,CSH,8.5 +VTS,1,1,300,1.19,CSH,6 +VTS,1,1,660,0.86,CSH,8 +VTS,1,1,2160,5.15,CRD,25.5 +VTS,1,1,780,3.36,CRD,12.5 +VTS,1,1,420,1.11,CSH,6.5 +VTS,1,1,720,3.61,CRD,13 +VTS,1,1,300,0.66,CSH,5 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,1080,4.42,CRD,16.5 +VTS,1,1,420,1.33,CSH,7 +VTS,1,1,1140,3.11,CRD,15 +VTS,1,1,300,0.57,CSH,5 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,600,1.21,CRD,8 +VTS,1,1,1200,4.43,CRD,17 +VTS,1,1,360,0.98,CSH,6.5 +VTS,1,1,420,1.94,CRD,8 +VTS,1,1,660,2.21,CRD,10 +VTS,1,1,240,0.78,CSH,5 +VTS,1,2,300,1.1,CRD,5.5 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,1260,5.66,CRD,21 +VTS,1,1,1260,5.36,CSH,19 +VTS,1,1,360,0.62,CSH,5.5 +VTS,1,1,1080,3.75,CRD,15 +VTS,1,1,540,1.68,CSH,8.5 +VTS,1,1,180,1.06,CRD,5 +VTS,1,1,900,8.02,CRD,22.5 +VTS,1,1,1140,10.07,CRD,28.5 +VTS,1,1,1080,5.25,CSH,19 +VTS,1,2,840,3.59,CRD,13.5 +VTS,1,1,420,1.31,CRD,7 +VTS,1,1,1080,3.47,CRD,14.5 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,780,2.44,CRD,11.5 +VTS,3,1,1980,15.68,CRD,62.5 +VTS,1,1,300,1.02,CRD,6 +VTS,1,1,780,1.91,CSH,9.5 +VTS,1,1,240,1.4,CRD,6 +VTS,1,1,180,0.68,CSH,4 +VTS,1,1,360,1.5,CSH,7 +VTS,1,1,480,0.99,CSH,6.5 +VTS,1,1,660,1.63,CRD,9 +VTS,1,1,900,1.64,CSH,10.5 +VTS,1,2,840,2.19,CRD,11 +VTS,1,1,660,1.5,CSH,8.5 +VTS,2,1,3720,21.33,CSH,52 +VTS,1,1,360,1.33,CSH,7 +VTS,1,1,1200,4.02,CRD,16.5 +VTS,1,1,360,0.7,CSH,5.5 +VTS,1,1,480,1.45,CRD,7.5 +VTS,1,1,960,2.62,CSH,12.5 +VTS,1,1,660,1.64,CSH,9 +VTS,1,2,360,0.94,CSH,6 +VTS,1,1,540,0.77,CSH,7 +VTS,1,1,900,2.58,CSH,11.5 +VTS,1,1,1200,4.03,CSH,17 +VTS,1,1,840,1.96,CRD,11 +VTS,1,1,1380,8.02,CRD,25 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,480,2.07,CRD,8.5 +VTS,1,1,840,3.08,CSH,12.5 +VTS,1,1,600,3.13,CRD,11 +VTS,1,1,600,1.73,CRD,8.5 +VTS,1,1,180,0.62,CSH,4 +VTS,1,1,720,3.38,CSH,12.5 +VTS,1,1,120,0.51,CSH,3.5 +VTS,1,1,1080,3.39,CRD,14 +VTS,1,1,660,1.8,CSH,9.5 +VTS,1,1,600,0.97,CSH,8 +VTS,1,1,540,1.89,CSH,8.5 +VTS,1,1,780,2.51,CSH,11.5 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,720,1.98,CSH,10 +VTS,1,2,480,2.35,CSH,9.5 +VTS,1,1,300,1.5,CSH,6.5 +VTS,1,1,960,1.97,CRD,11.5 +VTS,1,1,900,2.61,CSH,12 +VTS,1,1,420,1.39,CSH,7 +VTS,1,1,300,1.13,CSH,6 +VTS,1,1,660,2.05,CSH,9 +VTS,1,1,1200,4.93,CRD,18.5 +VTS,1,1,720,2.62,CRD,11.5 +VTS,1,1,1440,3.91,CRD,18 +VTS,1,1,1380,4.14,CRD,18 +VTS,1,1,660,2.52,CSH,10.5 +VTS,1,1,480,0.7,CRD,7 +VTS,1,1,1260,2.47,CSH,14.5 +VTS,1,1,720,2.1,CSH,10 +VTS,1,2,420,1.57,CSH,7.5 +VTS,1,1,720,1.01,CSH,8.5 +VTS,1,1,600,1.21,CRD,7.5 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,1,1140,5.06,CSH,18 +VTS,1,2,420,1.7,CSH,7.5 +VTS,1,1,1320,4.48,CRD,18 +VTS,1,1,840,1.28,CRD,9.5 +VTS,1,1,420,1.3,CRD,7 +VTS,1,1,480,1.44,CSH,7 +VTS,1,1,1080,3.18,CSH,14 +VTS,1,1,540,2.06,CSH,8.5 +VTS,1,1,180,0.58,CSH,4 +VTS,1,1,600,1.99,CSH,9 +VTS,1,1,780,2.72,CRD,11.5 +VTS,1,1,1500,6.32,CRD,21.5 +VTS,1,1,360,1.15,CSH,6.5 +VTS,1,1,660,2.58,CSH,10.5 +VTS,1,1,120,0.32,CRD,3.5 +VTS,1,1,360,1.4,CSH,7 +VTS,1,1,960,3.8,CSH,15 +VTS,1,1,1080,2.18,CRD,13 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,1,300,1.43,CSH,6.5 +VTS,1,1,960,9.04,CRD,26 +VTS,1,1,300,0.5,CRD,5 +VTS,1,1,600,3.38,CRD,12 +VTS,1,1,1080,1.02,CSH,11.5 +VTS,1,2,1320,7.63,CRD,24.5 +VTS,1,1,420,1.52,CRD,7 +VTS,1,1,780,1.1,CSH,9 +VTS,1,1,420,1.27,CSH,6.5 +VTS,1,1,2640,7.14,CSH,31 +VTS,1,1,1200,2.21,CRD,14 +VTS,1,1,300,0.83,CSH,6 +VTS,1,1,540,0.97,CRD,7.5 +VTS,1,1,360,0.95,CSH,6 +VTS,1,1,360,0.49,CSH,5.5 +VTS,1,1,300,1.47,CRD,6.5 +VTS,1,1,780,2.59,CRD,11.5 +VTS,1,1,900,2.7,CSH,12.5 +VTS,1,2,780,3.44,CSH,13 +VTS,1,1,840,4.18,CSH,14.5 +VTS,1,2,360,0.69,CSH,5.5 +VTS,1,2,660,1.41,CSH,8.5 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,480,1.64,CRD,8 +VTS,1,1,420,1.25,CSH,6.5 +VTS,1,1,1080,2.54,CSH,13.5 +VTS,1,1,600,1.09,CRD,7.5 +VTS,1,1,360,1.28,CRD,7 +VTS,1,1,1500,3.93,CSH,18 +VTS,1,2,1260,4,CRD,16.5 +VTS,1,1,60,0,CSH,2.5 +VTS,1,1,900,2.14,CSH,11 +VTS,1,2,120,0.98,CSH,4.5 +VTS,1,1,420,1.35,CRD,7 +VTS,1,2,600,2.23,CRD,9.5 +VTS,1,1,1140,10.5,CRD,29.5 +VTS,1,1,1380,10,CSH,29.5 +VTS,1,1,540,1.58,CRD,8 +VTS,1,1,840,3.21,CSH,13 +VTS,1,1,300,1.12,CRD,6 +VTS,1,1,600,1.22,CSH,8 +VTS,1,1,660,1.25,CSH,9 +VTS,1,1,1260,3.8,CRD,16 +VTS,1,1,1140,2.12,CRD,13 +VTS,1,1,240,0.68,CSH,5 +VTS,1,1,900,5.95,CRD,19 +VTS,1,1,2220,14.49,CRD,42 +VTS,1,1,1800,9.14,CRD,30 +VTS,1,2,600,1.22,CRD,8 +VTS,1,1,420,1.98,CRD,8 +VTS,1,1,960,3.8,CRD,14.5 +VTS,1,1,660,2.22,CRD,10 +VTS,1,1,600,1.69,CSH,9 +VTS,1,1,660,2.08,CRD,9 +VTS,1,1,780,3.35,CSH,13 +VTS,1,1,540,2.58,CRD,9.5 +VTS,1,1,420,1.14,CRD,7 +VTS,1,1,540,1.45,CRD,8 +VTS,1,1,540,2.39,CSH,9.5 +VTS,1,1,420,1.51,CSH,7 +VTS,1,1,600,2.1,CSH,10 +VTS,1,1,1020,3.54,CRD,14.5 +VTS,1,1,180,0.77,CRD,4.5 +VTS,1,2,1680,8.48,CRD,29 +VTS,1,2,1080,3.47,CRD,14.5 +VTS,1,2,600,1.28,CRD,8 +VTS,1,1,300,1.1,CRD,5.5 +VTS,1,1,480,0.99,CRD,6.5 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,540,1.79,CRD,9 +VTS,1,2,360,1.3,CRD,6.5 +VTS,1,1,360,0.85,CRD,6 +VTS,1,1,540,0.89,CRD,7 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,600,1.15,CSH,8 +VTS,1,2,840,4.34,CSH,15.5 +VTS,1,1,660,2.27,CRD,10 +VTS,1,1,180,0.47,CSH,4.5 +VTS,1,2,420,0.77,CSH,6 +VTS,1,1,900,3.04,CRD,13.5 +VTS,1,1,1020,3.17,CSH,13.5 +VTS,1,1,540,2.32,CRD,9.5 +VTS,1,1,1380,2.77,CRD,15.5 +VTS,1,1,1140,2.51,CSH,14 +VTS,1,1,240,1.24,CSH,6 +VTS,1,1,1500,10.15,CSH,31 +VTS,1,1,840,2.99,CSH,12.5 +VTS,1,1,1080,3.83,CSH,15 +VTS,1,1,900,3.95,CSH,14.5 +VTS,1,1,120,0.55,CRD,4 +VTS,1,1,240,0.81,CSH,5 +VTS,1,1,180,0.59,CRD,4.5 +VTS,1,1,420,2.21,CRD,9 +VTS,1,1,420,0.74,CSH,6 +VTS,1,1,720,2.37,CRD,11 +VTS,1,1,720,3.26,CRD,12.5 +VTS,1,1,660,1.52,CSH,9 +VTS,1,1,240,1.22,CRD,6 +VTS,1,1,1440,4.12,CSH,17 +VTS,1,1,660,3.79,CRD,13 +VTS,1,1,120,0.45,CSH,3.5 +VTS,1,2,660,1.8,CRD,9 +VTS,1,1,660,3.44,CSH,12 +VTS,1,1,240,0.93,CRD,5 +VTS,1,1,180,0.5,CSH,4 +VTS,1,1,300,0.71,CRD,5 +VTS,1,2,420,1.23,CRD,6.5 +VTS,1,1,480,1.02,CRD,7 +VTS,1,1,420,1.91,CRD,7.5 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,420,0.76,CSH,6.5 +VTS,1,1,900,1.87,CSH,11 +VTS,1,1,660,1.55,CRD,8.5 +VTS,1,2,240,0.99,CSH,5 +VTS,1,1,540,1.93,CSH,8.5 +VTS,1,1,540,1.86,CSH,8.5 +VTS,1,1,420,1.43,CRD,6.5 +VTS,1,1,60,0.41,CSH,3.5 +VTS,1,1,480,1.91,CSH,8 +VTS,1,1,240,1.27,CRD,6 +VTS,1,1,1140,3.84,CSH,15.5 +VTS,1,1,420,0.46,CRD,6 +VTS,1,1,1260,5.53,CRD,19.5 +VTS,1,1,480,1.41,CRD,7.5 +VTS,1,1,540,1.85,CSH,8 +VTS,1,1,420,0.82,CRD,6 +VTS,1,2,1260,2.91,CSH,15 +VTS,1,2,660,1.24,CRD,9 +VTS,1,1,1020,2.56,CRD,12 +VTS,1,1,480,1.7,CRD,8 +VTS,1,1,840,1.89,CRD,11 +VTS,1,1,900,1.55,CSH,10.5 +VTS,1,2,840,2.58,CSH,11.5 +VTS,1,1,660,2.81,CRD,10.5 +VTS,1,1,960,4.12,CRD,15 +VTS,1,1,540,1.47,CRD,7.5 +VTS,1,1,300,1.5,CSH,6.5 +VTS,1,1,1620,5.14,CRD,22 +VTS,1,1,480,1.41,CRD,7 +VTS,1,1,1200,9.87,CRD,29 +VTS,1,1,240,0.4,CSH,4.5 +VTS,1,1,1740,15.44,CSH,42.5 +VTS,1,1,1260,4.88,CRD,18.5 +VTS,1,1,480,1.09,CSH,7 +VTS,1,1,780,3.14,CRD,12.5 +VTS,1,1,420,0.58,CSH,6 +VTS,1,1,240,0.94,CSH,5 +VTS,1,1,660,1.44,CSH,8.5 +VTS,1,1,720,1.61,CRD,9 +VTS,2,1,1320,16.83,CRD,52 +VTS,1,1,840,2.43,CRD,12 +VTS,1,1,1260,3.51,CSH,15.5 +VTS,1,1,540,1.66,CRD,8.5 +VTS,1,1,540,1.34,CRD,7.5 +VTS,1,1,780,2.41,CSH,10.5 +VTS,1,1,1080,5.34,CRD,18 +VTS,1,1,180,0.33,CSH,3.5 +VTS,1,2,480,1.47,CRD,8 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,660,3.88,CRD,13.5 +VTS,1,1,720,1.72,CSH,9.5 +VTS,1,1,240,0.94,CRD,5.5 +VTS,1,1,360,0.96,CRD,6 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,1080,2.8,CRD,13.5 +VTS,1,1,360,0.58,CSH,5.5 +VTS,1,1,1740,4.39,CRD,21.5 +VTS,1,2,660,1.91,CRD,9.5 +VTS,1,1,960,4.29,CRD,15.5 +VTS,1,1,1140,6.01,CSH,21 +VTS,1,1,420,0.93,CSH,6.5 +VTS,1,2,480,1.5,CSH,7.5 +VTS,1,1,420,0.85,CSH,6.5 +VTS,1,2,1020,4.11,CRD,16 +VTS,1,1,420,1.51,CRD,7 +VTS,1,1,420,2.5,CRD,9 +VTS,1,1,960,2.72,CRD,13.5 +VTS,1,1,660,2.18,CSH,10 +VTS,1,1,720,2.28,CSH,10.5 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,1020,5.1,CRD,18 +VTS,1,1,1200,6.06,CRD,20.5 +VTS,1,1,300,1.19,CRD,6 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,600,1.46,CSH,8 +VTS,1,1,360,0.62,CSH,5 +VTS,1,2,540,1.91,CSH,8.5 +VTS,1,1,1260,2.64,CRD,14 +VTS,1,1,420,1.83,CRD,8 +VTS,1,1,900,6.07,CSH,19 +VTS,1,2,1080,4.92,CRD,18.5 +VTS,1,1,540,1.62,CSH,8 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,2,1620,6.57,CRD,23 +VTS,1,1,960,2.51,CRD,12 +VTS,1,1,840,4.72,CRD,16.5 +VTS,1,1,600,0.64,CSH,7 +VTS,1,1,120,0.3,CRD,3.5 +VTS,1,1,780,2.36,CSH,11 +VTS,1,1,360,1.03,CRD,6 +VTS,1,1,240,0.95,CRD,5.5 +VTS,1,1,660,2.21,CRD,10 +VTS,1,1,480,0.92,CRD,6 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,840,3.04,CSH,12 +VTS,1,1,600,2.18,CSH,9 +VTS,1,2,360,0.92,CSH,6 +VTS,1,2,720,5.45,CRD,17 +VTS,1,1,780,1.22,CSH,9.5 +VTS,1,1,60,0.42,CSH,3.5 +VTS,1,2,540,2.05,CSH,8.5 +VTS,1,1,240,0.98,CRD,5 +VTS,1,1,180,0.44,CSH,4 +VTS,1,1,360,0.78,CRD,6 +VTS,1,2,1380,4.08,CRD,16.5 +VTS,1,1,660,2.62,CRD,10.5 +VTS,1,1,540,1.03,CRD,7.5 +VTS,1,1,720,1.97,CSH,9.5 +VTS,1,2,1020,6.73,CSH,20.5 +VTS,1,1,960,2.73,CSH,12 +VTS,1,1,180,0.85,CRD,4.5 +VTS,1,1,540,2.34,CRD,9 +VTS,1,1,1260,4.46,CRD,17 +VTS,1,1,780,5.44,CRD,17.5 +VTS,1,1,2340,5.79,CRD,27 +VTS,1,1,120,0.14,CSH,3 +VTS,1,2,540,1.77,CRD,8 +VTS,1,1,480,0.68,CRD,6.5 +VTS,1,1,1260,1.99,CRD,13.5 +VTS,1,1,1380,4.22,CRD,17.5 +VTS,1,1,960,2.35,CSH,12 +VTS,1,1,900,3.27,CRD,14 +VTS,1,2,840,4.73,CRD,16.5 +VTS,1,1,900,2.41,CSH,12 +VTS,1,1,1620,3.53,CSH,18 +VTS,1,1,1740,3.77,CSH,20 +VTS,1,2,300,0.65,CSH,5 +VTS,1,1,720,2.33,CRD,10.5 +VTS,1,1,900,1.62,CRD,11 +VTS,1,1,1140,2.44,CSH,13 +VTS,1,2,780,1.61,CRD,9.5 +VTS,1,1,780,1.56,CRD,9.5 +VTS,1,1,600,1.24,CRD,8 +VTS,1,1,1020,2.23,CSH,12 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,660,3.55,CRD,12 +VTS,1,2,1500,2.76,CSH,16 +VTS,1,2,1080,3.29,CRD,14 +VTS,1,1,240,0.63,CSH,5 +VTS,1,2,240,0.4,CRD,4.5 +VTS,1,1,420,1.4,CRD,7.5 +VTS,1,1,540,1.01,CSH,7 +VTS,1,1,900,1.75,CRD,10.5 +VTS,1,1,720,6.07,CRD,18.5 +VTS,1,1,960,3.9,CRD,15.5 +VTS,1,1,1920,7.7,CRD,28 +VTS,1,1,300,1.04,CRD,6 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,1,540,2.39,CRD,9.5 +VTS,1,1,300,1.22,CRD,6 +VTS,1,1,600,1.97,CSH,9 +VTS,1,1,1020,4.06,CRD,15 +VTS,1,1,600,1.04,CRD,7.5 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,780,3.42,CSH,13 +VTS,1,1,840,3,CRD,12.5 +VTS,1,1,1260,3.62,CRD,16 +VTS,1,1,600,2.46,CRD,10 +VTS,1,1,60,0.01,CSH,2.5 +VTS,1,1,900,1.81,CRD,10.5 +VTS,1,1,360,0.73,CRD,6 +VTS,1,2,960,10.97,CRD,30 +VTS,1,1,300,1.23,CRD,6 +VTS,1,1,900,1.57,CRD,10.5 +VTS,1,1,420,1.7,CRD,7.5 +VTS,1,1,780,1.86,CRD,9.5 +VTS,1,1,300,1.31,CRD,6 +VTS,1,1,360,1.09,CSH,6.5 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,2340,8.06,CSH,32 +VTS,1,1,360,1.1,CRD,6 +VTS,1,2,660,1.74,CRD,9 +VTS,1,1,360,0.84,CSH,5.5 +VTS,1,2,1200,2.18,CRD,14 +VTS,1,1,540,0.87,CRD,7 +VTS,1,1,600,2.02,CSH,9 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,360,1.11,CRD,6 +VTS,1,1,840,1.69,CRD,10.5 +VTS,1,1,360,1.49,CSH,7 +VTS,1,1,960,2.42,CSH,12 +VTS,1,1,1080,3.12,CRD,13.5 +VTS,1,2,1260,6.06,CRD,20.5 +VTS,2,1,2400,19.27,CRD,52 +VTS,1,2,120,0.76,CRD,4 +VTS,1,2,1440,2.68,CRD,16.5 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,420,0.79,CRD,6 +VTS,1,1,1500,4.67,CRD,19.5 +VTS,1,1,840,2.71,CSH,11.5 +VTS,1,1,300,0.67,CRD,5.5 +VTS,1,1,360,1.53,CSH,7 +VTS,1,1,420,1.84,CSH,7.5 +VTS,1,1,960,3.22,CRD,13.5 +VTS,1,1,1080,2.21,CRD,13 +VTS,1,1,780,2.69,CRD,12 +VTS,1,1,1080,3.56,CRD,15 +VTS,1,1,900,2,CRD,11.5 +VTS,1,2,360,0.72,CRD,5.5 +VTS,1,1,780,0.93,CSH,9 +VTS,1,1,720,1.49,CRD,9 +VTS,1,1,1200,2.27,CSH,13.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,1320,9.76,CRD,28 +VTS,1,1,300,1,CSH,5.5 +VTS,1,1,840,4.1,CSH,15 +VTS,1,1,600,1.75,CRD,9 +VTS,1,1,1020,2.96,CRD,13.5 +VTS,1,1,540,1.3,CSH,7.5 +VTS,1,1,360,1.39,CSH,6.5 +VTS,1,1,540,1.38,CRD,8 +VTS,1,1,120,0.47,CRD,3.5 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,900,3.51,CRD,13.5 +VTS,1,1,420,1.29,CSH,7 +VTS,1,1,1200,2.29,CRD,14 +VTS,1,1,1020,3.78,CSH,15 +VTS,1,1,420,1.19,CRD,6.5 +VTS,1,1,840,1.13,CSH,10 +VTS,1,1,840,2.01,CSH,11 +VTS,1,1,480,1.4,CRD,7.5 +VTS,1,1,720,2.32,CSH,10.5 +VTS,1,2,540,2.25,CRD,9 +VTS,1,2,480,1.92,CRD,8.5 +VTS,1,1,540,0.58,CRD,7 +VTS,1,1,960,2.72,CRD,12.5 +VTS,1,1,660,1.59,CSH,9 +VTS,1,1,780,2.2,CRD,10.5 +VTS,1,1,1260,5.5,CRD,19 +VTS,1,1,1140,2.3,CRD,13.5 +VTS,1,1,180,1.04,CSH,5 +VTS,1,1,900,1.58,CRD,10 +VTS,1,1,1020,6.11,CSH,20 +VTS,1,1,360,1.84,CRD,7.5 +VTS,1,1,300,0.77,CSH,5.5 +VTS,1,1,720,2.82,CRD,11.5 +VTS,1,1,480,3.89,CSH,13 +VTS,2,1,2940,19.75,CSH,52 +VTS,1,1,240,0.59,CSH,5 +VTS,1,2,480,1.63,CSH,8 +VTS,1,1,660,1.62,CSH,9 +VTS,1,1,480,1.22,CSH,7.5 +VTS,1,1,1080,2.24,CSH,13 +VTS,1,1,180,0.31,CRD,3.5 +VTS,1,1,420,0.86,CSH,6 +VTS,1,1,300,0.34,CRD,5 +VTS,1,1,240,2.12,CRD,7.5 +VTS,1,1,420,0.76,CSH,6 +VTS,1,1,480,1.3,CRD,7.5 +VTS,1,1,300,0.87,CRD,5 +VTS,1,1,480,0.94,CRD,7 +VTS,1,1,780,3.29,CSH,12.5 +VTS,1,1,780,3.37,CSH,12.5 +VTS,1,1,120,0.5,CRD,4 +VTS,1,2,780,2.65,CRD,11 +VTS,1,1,900,3.33,CRD,13 +VTS,1,2,840,1.87,CRD,11 +VTS,1,1,1320,3.1,CSH,15 +VTS,1,1,540,1.18,CSH,7.5 +VTS,1,1,540,2.06,CRD,8.5 +VTS,1,1,300,1.11,CRD,6 +VTS,1,1,660,1.15,CRD,8.5 +VTS,1,1,600,0.87,CRD,7.5 +VTS,1,1,360,1.14,CSH,6 +VTS,1,1,1260,4.11,CRD,16.5 +VTS,1,1,960,4.28,CSH,15 +VTS,1,1,720,2.31,CSH,11 +VTS,1,1,960,3.96,CRD,15 +VTS,1,1,1380,3.17,CRD,16.5 +VTS,1,1,540,1.96,CRD,9 +VTS,1,1,2040,5.1,CRD,23.5 +VTS,1,1,420,1.18,CSH,7 +VTS,1,1,780,2.16,CRD,11 +VTS,1,1,180,0.54,CRD,4.5 +VTS,1,1,840,1.8,CRD,10 +VTS,1,2,420,1.43,CSH,7 +VTS,2,1,1980,16.17,CSH,52 +VTS,1,1,360,0.84,CRD,5.5 +VTS,1,1,900,2.02,CRD,11 +VTS,1,1,1140,2.98,CRD,14 +VTS,1,1,840,1.96,CSH,11 +VTS,1,1,1020,2.8,CRD,13 +VTS,1,1,660,1.38,CSH,8.5 +VTS,1,1,1020,1.49,CSH,11.5 +VTS,1,1,600,4.6,CRD,14.5 +VTS,1,1,360,0.91,CSH,6 +VTS,1,1,420,1.42,CSH,7 +VTS,1,2,300,1.11,CRD,6 +VTS,1,2,660,1.07,CRD,8.5 +VTS,1,1,900,3.36,CRD,13 +VTS,1,1,1500,6.21,CRD,23 +VTS,1,2,480,1.23,CRD,7 +VTS,1,2,300,0.6,CSH,4.5 +VTS,1,1,780,3.71,CRD,13.5 +VTS,1,1,300,1.31,CSH,6 +VTS,1,1,1800,7.43,CSH,26 +VTS,1,1,660,1.17,CRD,8.5 +VTS,1,1,1080,3.11,CRD,14 +VTS,1,1,480,1.14,CSH,7 +VTS,1,1,1320,3.63,CRD,16 +VTS,1,1,360,1.2,CRD,6 +VTS,1,1,600,2.57,CRD,10 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,360,1.6,CRD,7 +VTS,1,1,300,0.98,CSH,6 +VTS,1,1,300,0.67,CSH,5.5 +VTS,1,2,240,0.45,CSH,5 +VTS,1,1,720,1.77,CRD,9.5 +VTS,1,1,300,1.25,CSH,6 +VTS,1,1,1140,3.96,CRD,16 +VTS,1,1,840,1.85,CSH,11 +VTS,1,1,300,0.61,CRD,5 +VTS,1,1,480,1.6,CRD,7.5 +VTS,1,1,600,1.07,CRD,8 +VTS,1,1,360,0.91,CSH,5.5 +VTS,1,1,960,2.16,CRD,12 +VTS,1,1,1620,2.43,CRD,17.5 +VTS,1,1,420,1.44,CRD,7 +VTS,1,1,600,1.02,CRD,8 +VTS,1,1,660,2.28,CRD,10 +VTS,1,1,660,3.62,CSH,13 +VTS,1,1,840,1.3,CRD,10 +VTS,1,1,360,1.38,CSH,6.5 +VTS,1,1,480,1.36,CRD,7 +VTS,1,1,360,0.98,CRD,6 +VTS,1,1,360,1.4,CRD,6.5 +VTS,1,1,60,0.02,CSH,2.5 +VTS,1,2,660,2.38,CRD,10 +VTS,1,2,1020,3.13,CRD,13.5 +VTS,1,2,180,0.51,CSH,4 +VTS,1,2,240,0.62,CSH,5 +VTS,1,2,480,1.17,CSH,6.5 +VTS,1,2,240,0.9,CRD,5 +VTS,1,2,480,1.43,CSH,7.5 +VTS,1,2,1320,5.07,CRD,19.5 +VTS,1,1,780,1.68,CSH,9.5 +VTS,1,1,660,2.15,CRD,9.5 +VTS,1,1,600,2.25,CSH,9.5 +VTS,1,1,420,1.32,CRD,7 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,1080,1.8,CRD,12 +VTS,1,2,720,2.84,CSH,12 +VTS,1,1,1260,5.61,CRD,21 +VTS,1,1,1800,16.01,CRD,44.5 +VTS,1,1,300,1.05,CRD,5.5 +VTS,1,1,1560,8.52,CSH,28 +VTS,1,1,960,2.28,CRD,12 +VTS,1,1,1200,3.16,CRD,15.5 +VTS,1,1,60,0.24,CSH,3.5 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,1020,2.9,CRD,13 +VTS,1,1,540,1.67,CRD,8 +VTS,1,1,300,0.9,CRD,5 +VTS,2,1,1980,17.33,CRD,52 +VTS,1,2,1440,9.18,CRD,29.5 +VTS,1,2,300,0.62,CSH,5 +VTS,1,2,480,1.31,CSH,7.5 +VTS,5,1,3180,19.33,CRD,105 +VTS,1,2,1080,3.53,CRD,14 +VTS,1,2,660,2.44,CSH,10 +VTS,2,1,1260,5.55,CRD,52 +VTS,1,1,900,2.06,CRD,11 +VTS,1,1,300,1.36,CSH,6 +VTS,1,1,720,2.18,CSH,10.5 +VTS,1,1,720,2.09,CRD,10 +VTS,1,1,420,1.63,CSH,8 +VTS,1,2,540,0.3,CSH,7 +VTS,1,2,1500,8.67,CSH,27.5 +VTS,1,2,720,2.34,CRD,11.5 +VTS,1,2,420,1.18,CSH,7 +VTS,2,2,1080,8.09,CRD,52 +VTS,2,2,1680,13.51,CRD,52 +VTS,1,2,1980,11.41,CSH,38 +VTS,1,2,600,1.48,CRD,8.5 +VTS,1,2,720,5.91,CRD,18 +VTS,1,2,480,1.86,CRD,8.5 +VTS,1,2,600,2.46,CRD,10 +VTS,4,2,480,1.16,CSH,7 +VTS,1,2,60,0,CSH,2.5 +VTS,1,2,960,5.84,CRD,19 +VTS,1,2,720,1.41,CSH,9.5 +VTS,1,2,480,2.91,CSH,10 +VTS,1,2,1740,12.1,CSH,36 +VTS,1,2,600,1.95,CRD,9 +VTS,1,2,1440,4.23,CRD,17 +VTS,1,2,240,0.68,CSH,4.5 +VTS,1,2,180,0.6,CSH,4.5 +VTS,1,2,360,0.97,CSH,6.5 +VTS,1,1,840,2.2,CRD,11.5 +VTS,1,2,540,1.67,CSH,8 +VTS,1,1,660,1,CRD,8 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,1740,20.55,CRD,54.5 +VTS,1,1,180,0.63,CRD,4.5 +VTS,1,2,900,2.4,CSH,12 +VTS,1,2,420,2.07,CSH,8.5 +VTS,1,2,1140,4.43,CRD,16.5 +VTS,1,2,420,1.15,CSH,6.5 +VTS,1,2,540,1.25,CSH,7 +VTS,1,2,720,1.85,CRD,9 +VTS,1,2,540,1.76,CSH,8 +VTS,1,2,300,0.76,CSH,5.5 +VTS,1,2,1800,13.06,CSH,39.5 +VTS,1,2,60,0.04,CSH,3 +VTS,1,2,660,1.72,CSH,9 +VTS,2,2,2040,17.91,CRD,52 +VTS,1,2,840,3.64,CRD,14 +VTS,1,2,1620,9.95,CSH,31 +VTS,1,2,120,0.32,CSH,3.5 +VTS,1,2,1680,10.32,CSH,32.5 +VTS,1,2,1020,9.05,CSH,25.5 +VTS,1,2,660,1.67,CSH,9 +VTS,1,2,420,1.87,CSH,8 +VTS,1,2,1140,1.61,CSH,12.5 +VTS,1,1,60,0.47,CRD,3.5 +VTS,1,1,840,2.04,CRD,10.5 +VTS,1,1,480,2.25,CSH,8.5 +VTS,1,1,540,1.78,CRD,9 +VTS,1,1,1140,3.03,CRD,14 +VTS,1,1,420,2.61,CSH,9.5 +VTS,1,2,1440,5.74,CRD,22 +VTS,1,2,720,2.99,CSH,12.5 +VTS,1,2,180,0.67,CSH,4.5 +VTS,1,2,300,1.33,CSH,6.5 +VTS,1,1,1080,3.74,CRD,15.5 +VTS,1,1,1260,8.8,CRD,26.5 +VTS,1,1,360,1.36,CSH,6.5 +VTS,1,2,420,1.27,CSH,7 +VTS,1,2,900,3.25,CRD,13 +VTS,1,2,300,1.09,CSH,5.5 +VTS,1,2,1080,6.75,CSH,22 +VTS,1,1,1500,6.54,CRD,23.5 +VTS,1,2,420,2.28,CSH,8.5 +VTS,1,2,240,0.97,CRD,5.5 +VTS,1,2,900,4.59,CRD,16 +VTS,1,2,360,1.65,CRD,7.5 +VTS,1,2,1320,14.11,CRD,39.5 +VTS,1,2,960,8.37,CRD,24.5 +VTS,1,2,360,1.29,CRD,6 +VTS,1,2,600,2.29,CRD,9.5 +VTS,1,1,900,2.11,CSH,10.5 +VTS,1,1,240,1.23,CRD,5.5 +VTS,1,1,600,1.92,CSH,9 +VTS,1,1,660,1.11,CRD,8 +VTS,1,1,240,1.3,CRD,6 +VTS,1,1,600,2.56,CSH,10.5 +VTS,1,1,660,1.63,CRD,9 +VTS,1,1,1140,10.76,CRD,30 +VTS,1,1,1200,5.53,CRD,19 +VTS,1,1,420,1.53,CRD,7 +VTS,1,2,1560,5.42,CRD,23 +VTS,1,2,540,2.33,CSH,9.5 +VTS,1,2,420,1.23,CSH,7 +VTS,1,2,1620,13.33,CSH,38 +VTS,1,2,540,4.82,CSH,15 +VTS,1,2,60,0.13,CSH,2.5 +VTS,1,1,300,1.34,CSH,5.5 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,2,1140,5.92,CRD,20 +VTS,1,2,720,4.69,CRD,15.5 +VTS,1,2,1380,3.31,CSH,15.5 +VTS,2,2,1320,17.82,CRD,52 +VTS,1,2,540,1.48,CSH,8 +VTS,2,3,3120,20.74,CRD,52 +VTS,1,2,480,2.25,CRD,9.5 +VTS,1,2,660,2.69,CSH,11.5 +VTS,1,2,840,1.26,CSH,10 +VTS,1,2,180,0.84,CSH,4.5 +VTS,1,1,420,1.35,CRD,7.5 +VTS,1,1,900,2.38,CRD,11.5 +VTS,1,1,480,1.59,CRD,7.5 +VTS,1,2,1020,2.26,CSH,12.5 +VTS,1,2,840,1.35,CSH,10.5 +VTS,1,2,1020,3.39,CSH,14.5 +VTS,1,2,180,0.8,CRD,5 +VTS,1,2,300,2.03,CSH,8 +VTS,1,2,540,1.85,CRD,9 +VTS,1,2,120,1.01,CRD,5 +VTS,1,2,1380,16.34,CRD,44 +VTS,1,2,1440,16.7,CSH,46 +VTS,1,2,780,2.43,CSH,11 +VTS,1,1,780,2.88,CRD,12 +VTS,1,2,600,2.29,CSH,10 +VTS,1,2,300,0.74,CRD,5 +VTS,1,1,420,1.26,CSH,6.5 +VTS,1,2,420,1.47,CRD,7 +VTS,1,2,720,1.58,CRD,10 +VTS,1,2,480,1.04,CSH,7 +VTS,1,1,480,1.94,CSH,8.5 +VTS,1,3,1020,8.67,CSH,25.5 +VTS,1,2,420,1.38,CRD,7 +VTS,1,2,540,0.84,CRD,7.5 +VTS,1,2,360,1.31,CSH,7 +VTS,1,2,780,3.66,CSH,13 +VTS,1,2,600,2.58,CRD,10 +VTS,1,2,540,2.55,CSH,10.5 +VTS,1,2,1980,11.7,CRD,37 +VTS,1,2,300,0.83,CRD,5.5 +VTS,1,3,540,2.17,CRD,9 +VTS,1,2,1080,2.94,CRD,13.5 +VTS,1,1,420,1.46,CRD,7 +VTS,1,2,360,0.94,CRD,6 +VTS,1,2,1380,8.46,CRD,25 +VTS,1,2,1740,13.33,CSH,37 +VTS,1,2,300,1.21,CRD,6 +VTS,1,2,1740,13.55,CRD,38 +VTS,1,1,660,2.22,CRD,9.5 +VTS,1,2,540,1.59,CSH,8.5 +VTS,1,1,540,0.65,CSH,7 +VTS,1,2,840,2.21,CSH,10 +VTS,1,2,1440,4.35,CSH,17.5 +VTS,1,2,420,0.91,CRD,6 +VTS,1,2,780,2.27,CRD,11 +VTS,1,2,1560,6.68,CSH,23.5 +VTS,2,2,1860,19.45,CRD,52 +VTS,1,3,180,0.63,CSH,4.5 +VTS,1,2,660,2.74,CSH,11 +VTS,1,3,300,1.4,CRD,6.5 +VTS,1,2,720,3.73,CRD,13.5 +VTS,1,2,420,1.1,CSH,6.5 +VTS,2,2,3420,20.49,CRD,52 +VTS,1,2,240,0.95,CRD,5 +VTS,1,3,1500,8.64,CRD,27.5 +VTS,1,2,360,0.39,CSH,5 +VTS,1,2,1200,5.6,CRD,18.5 +VTS,1,2,660,2.13,CSH,10 +VTS,1,2,360,1.63,CRD,7 +VTS,1,2,240,0.46,CSH,4 +VTS,1,1,300,0.7,CRD,5.5 +VTS,1,2,1680,6.36,CSH,24 +VTS,1,1,1020,4.43,CSH,16.5 +VTS,1,2,840,2.14,CSH,11.5 +VTS,1,2,1020,3.8,CRD,15 +VTS,1,2,600,2.15,CRD,9.5 +VTS,4,2,420,1.86,CSH,7.5 +VTS,1,2,540,1.7,CRD,8 +VTS,1,2,600,2.53,CRD,10 +VTS,1,2,840,3.64,CRD,13 +VTS,1,2,480,0.91,CSH,6.5 +VTS,1,2,720,3.21,CRD,12.5 +VTS,1,2,420,1.29,CSH,7 +VTS,1,2,1980,12.89,CRD,38 +VTS,1,2,1800,3.54,CSH,19.5 +VTS,1,2,480,1.36,CSH,7.5 +VTS,1,2,2340,10.66,CRD,33.5 +VTS,1,2,1620,10.94,CRD,32 +VTS,1,2,360,0.88,CRD,6.5 +VTS,1,2,300,1.16,CRD,6 +VTS,1,2,1260,11.71,CSH,33 +VTS,1,2,960,2.24,CSH,12 +VTS,1,2,960,2.57,CRD,11.5 +VTS,1,2,300,0.93,CRD,5.5 +VTS,1,2,60,0.32,CSH,3 +VTS,1,2,540,2.03,CSH,8.5 +VTS,1,2,360,1.14,CSH,6.5 +VTS,1,2,480,1.51,CSH,7.5 +VTS,2,2,2340,10.37,CSH,52 +VTS,1,2,480,2.99,CRD,10.5 +VTS,1,2,900,4.23,CRD,15 +VTS,1,3,480,1.88,CRD,8 +VTS,1,2,1140,3.54,CRD,14 +VTS,1,2,780,1.47,CRD,8.5 +VTS,1,2,900,9.18,CRD,26.5 +VTS,1,2,660,2.1,CSH,10 +VTS,1,1,1800,3.76,CRD,18.5 +VTS,1,2,2280,7.09,CSH,28.5 +VTS,1,2,600,2.46,CRD,10 +VTS,1,2,540,0.93,CSH,7 +VTS,1,2,600,5.25,CSH,16 +VTS,1,2,420,1.19,CSH,7 +VTS,1,2,660,8.07,CSH,22.5 +VTS,1,2,1200,9.34,CSH,27.5 +VTS,1,2,360,0.36,CSH,5 +VTS,1,2,1500,4.87,CRD,21 +VTS,1,2,540,2.15,CSH,9.5 +VTS,1,2,480,2.75,CSH,10.5 +VTS,1,2,300,0.62,CRD,5 +VTS,1,2,780,1.57,CRD,10 +VTS,1,2,660,1.7,CRD,9 +VTS,1,2,1500,9.77,CSH,30 +VTS,1,2,240,0.67,CRD,4.5 +VTS,1,1,1020,3.65,CRD,14.5 +VTS,1,1,240,0.56,CRD,5 +VTS,1,3,540,1.5,CRD,8 +VTS,1,2,1440,9.32,CSH,28.5 +VTS,1,2,840,2.13,CSH,11 +VTS,1,2,720,1.49,CSH,9.5 +VTS,1,2,180,0.39,CSH,4 +VTS,1,2,1020,1.86,CSH,12 +VTS,1,2,360,0.89,CSH,6 +VTS,1,2,1500,12.25,CRD,36 +VTS,1,2,540,1.43,CRD,7.5 +VTS,1,2,540,2.26,CRD,9 +VTS,1,2,180,0.47,CSH,4 +VTS,1,2,240,0.58,CSH,4.5 +VTS,1,2,960,2.49,CSH,11.5 +VTS,1,2,720,3.98,CRD,13 +VTS,1,2,1020,3.46,CSH,13.5 +VTS,1,2,660,1.37,CRD,8.5 +VTS,1,2,1200,11.5,CRD,32 +VTS,1,2,1320,4.34,CRD,18.5 +VTS,1,2,240,0.8,CRD,5 +VTS,1,2,360,1.2,CRD,6 +VTS,1,2,300,0.68,CSH,5 +VTS,2,2,2340,17.51,CRD,52 +VTS,1,2,480,2.43,CSH,9.5 +VTS,1,2,1020,6.23,CRD,21 +VTS,1,1,360,0.88,CRD,6 +VTS,1,2,960,2.79,CRD,13 +VTS,1,2,720,3,CRD,12.5 +VTS,1,2,900,4.55,CRD,15.5 +VTS,1,2,480,1.04,CRD,7 +VTS,1,2,480,1.73,CRD,8.5 +VTS,1,2,300,1.1,CRD,6 +VTS,1,2,480,1.65,CRD,7.5 +VTS,1,2,540,1.29,CSH,7 +VTS,1,2,600,3.53,CSH,13 +VTS,1,2,600,1.94,CRD,9 +VTS,1,2,1260,3.79,CSH,17.5 +VTS,1,2,2280,8.48,CRD,28.5 +VTS,1,2,660,6.04,CRD,18 +VTS,1,2,600,1.97,CRD,9 +VTS,1,2,780,2.18,CSH,10.5 +VTS,1,2,420,0.69,CSH,5.5 +VTS,1,2,1560,3.96,CSH,16.5 +VTS,1,1,1140,3.45,CRD,15 +VTS,1,2,240,0.88,CSH,5 +VTS,1,2,1020,1.89,CRD,12 +VTS,1,1,480,1.29,CRD,7.5 +VTS,1,1,360,0.98,CRD,6 +VTS,1,1,240,0.64,CRD,5 +VTS,1,1,1140,2.51,CSH,13.5 +VTS,1,1,720,2.04,CSH,10 +VTS,1,1,480,0.89,CSH,7 +VTS,1,1,180,0.42,CRD,4.5 +VTS,1,1,240,0.77,CRD,5.5 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,300,0.7,CRD,5 +VTS,1,1,120,0.44,CSH,3.5 +VTS,1,2,300,0.83,CRD,5 +VTS,1,1,540,2.01,CRD,8.5 +VTS,1,1,900,8.29,CRD,24 +VTS,1,2,720,2.23,CRD,10 +VTS,1,1,600,0.96,CSH,7.5 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,420,1.1,CRD,6 +VTS,1,1,180,0.81,CRD,4.5 +VTS,1,1,600,1.62,CRD,8.5 +VTS,2,1,2160,21.01,CSH,52 +VTS,1,1,1500,5.12,CRD,21 +VTS,1,1,540,0.93,CSH,7.5 +VTS,1,1,780,2.07,CSH,10.5 +VTS,1,1,1200,3.69,CSH,16.5 +VTS,1,2,180,0.36,CRD,4 +VTS,1,2,1140,9.43,CSH,27.5 +VTS,1,2,1440,5.07,CRD,19 +VTS,1,2,660,1.67,CRD,8 +VTS,1,1,480,1.65,CRD,8 +VTS,1,2,1500,10.41,CRD,31 +VTS,1,2,1320,3.16,CRD,16 +VTS,1,2,480,1.4,CSH,7.5 +VTS,1,2,360,0.91,CSH,6 +VTS,1,2,1680,9.32,CRD,29.5 +VTS,1,2,1860,9.95,CSH,32 +VTS,1,1,960,1.69,CRD,11.5 +VTS,1,2,1080,2.15,CRD,13 +VTS,1,2,720,2.14,CSH,9.5 +VTS,1,2,480,1.55,CRD,7.5 +VTS,1,2,180,0.74,CSH,5 +VTS,1,2,180,0.52,CSH,4.5 +VTS,1,2,1440,5.97,CRD,22 +VTS,1,2,780,1.44,CRD,9.5 +VTS,1,2,660,2.56,CSH,10.5 +VTS,1,2,600,1.83,CRD,8.5 +VTS,1,2,1140,7.72,CRD,23.5 +VTS,1,2,540,1.82,CSH,9 +VTS,4,2,540,0.99,CRD,7 +VTS,1,2,720,1.55,CSH,8.5 +VTS,1,2,360,1.29,CSH,6.5 +VTS,1,2,1080,3.1,CRD,13.5 +VTS,1,2,60,0.29,CRD,3 +VTS,1,2,360,1.02,CRD,5.5 +VTS,1,2,900,2.27,CRD,12 +VTS,1,3,420,2.59,CSH,10 +VTS,1,2,540,1.05,CRD,7 +VTS,1,2,480,1.72,CRD,7.5 +VTS,1,2,1320,5.41,CSH,20.5 +VTS,1,2,540,3.21,CRD,11 +VTS,1,2,780,2.49,CRD,11 +VTS,1,2,480,1.84,CRD,8 +VTS,1,2,540,1.77,CSH,8.5 +VTS,1,2,2640,15.13,CSH,45.5 +VTS,1,2,1500,7.68,CSH,24.5 +VTS,1,2,480,1.32,CRD,7.5 +VTS,1,3,660,1.97,CRD,9.5 +VTS,1,3,780,3.96,CSH,13.5 +VTS,1,2,300,0.94,CSH,5.5 +VTS,1,2,540,1.72,CRD,8 +VTS,1,2,540,2.4,CRD,9.5 +VTS,1,2,720,1.95,CSH,10 +VTS,1,3,780,3.01,CRD,12 +VTS,1,2,960,5,CRD,16.5 +VTS,1,2,300,1.63,CSH,6.5 +VTS,1,2,780,2.13,CSH,11 +VTS,1,2,1560,12.34,CRD,36.5 +VTS,1,2,840,7.26,CSH,21.5 +VTS,1,2,1140,6.36,CRD,21 +VTS,2,2,540,5.19,CRD,52 +VTS,1,2,660,1.52,CRD,9 +VTS,1,1,600,1.93,CSH,9.5 +VTS,1,2,360,0.71,CSH,5.5 +VTS,1,3,480,2.03,CRD,8.5 +VTS,1,2,420,1.04,CRD,7 +VTS,1,2,540,1.71,CRD,8 +VTS,1,1,240,1.34,CRD,6 +VTS,1,2,240,1.15,CRD,5.5 +VTS,1,2,540,1.57,CRD,8 +VTS,1,2,420,0.81,CSH,6.5 +VTS,1,2,120,0.9,CSH,4.5 +VTS,1,2,1380,3.73,CRD,16.5 +VTS,1,2,1620,7.19,CRD,25 +VTS,1,2,360,0.56,CSH,6 +VTS,1,2,1140,5.04,CRD,17 +VTS,1,2,420,2.47,CSH,9 +VTS,1,2,660,1.68,CSH,8.5 +VTS,1,2,420,1.02,CRD,6.5 +VTS,1,2,2100,9.89,CSH,31.5 +VTS,1,2,1560,11.6,CRD,34.5 +VTS,1,2,720,1.53,CRD,9.5 +VTS,1,2,660,2.37,CRD,9.5 +VTS,1,2,1080,2.31,CSH,12.5 +VTS,1,2,660,1.54,CSH,9 +VTS,1,2,720,2.46,CRD,10.5 +VTS,1,2,900,2.68,CSH,12.5 +VTS,1,2,360,1.12,CSH,7 +VTS,1,2,180,0.77,CRD,5 +VTS,1,2,1320,3.44,CRD,16.5 +VTS,1,1,900,6.14,CRD,19 +VTS,1,2,1020,4.3,CRD,15.5 +VTS,1,2,420,1.28,CRD,6.5 +VTS,1,1,1440,12.35,CRD,35 +VTS,1,2,840,3.18,CRD,13.5 +VTS,1,2,480,1.06,CSH,7 +VTS,1,2,2100,11.45,CSH,36.5 +VTS,1,2,780,2.11,CRD,10 +VTS,1,1,360,1.27,CSH,6.5 +VTS,1,2,840,1.98,CRD,11 +VTS,1,2,1080,1.92,CRD,11.5 +VTS,1,3,1020,10.95,CRD,30.5 +VTS,1,2,1500,5.8,CRD,21.5 +VTS,1,2,480,1.87,CRD,8.5 +VTS,1,2,600,1.6,CRD,9 +VTS,2,2,1920,19.5,CSH,52 +VTS,1,2,240,0.45,CSH,4.5 +VTS,1,2,960,1.96,CRD,10.5 +VTS,2,2,420,2.63,CRD,52 +VTS,1,2,480,1.81,CSH,8 +VTS,1,2,480,1.54,CSH,8 +VTS,1,2,1020,2.09,CRD,10.5 +VTS,1,2,660,2.14,CRD,9 +VTS,1,2,1020,3.24,CRD,14 +VTS,1,2,540,1.01,CRD,7 +VTS,1,2,720,1.59,CSH,10 +VTS,1,2,1020,2.34,CRD,12.5 +VTS,1,2,1380,4.08,CRD,17.5 +VTS,2,2,1740,18.25,CSH,52 +VTS,1,2,540,2.2,CRD,9.5 +VTS,1,3,480,1.91,CSH,9 +VTS,1,3,120,0.65,CSH,4 +VTS,1,2,480,1.38,CSH,7.5 +VTS,1,2,600,2.35,CRD,10 +VTS,1,2,480,1.43,CSH,7 +VTS,1,2,540,1.72,CRD,8 +VTS,1,2,1200,3.83,CSH,16 +VTS,1,2,1380,3.69,CSH,17.5 +VTS,1,2,180,0.89,CSH,5 +VTS,1,2,480,1,CRD,6.5 +VTS,1,2,360,1.22,CRD,6 +VTS,1,2,720,1.61,CRD,9.5 +VTS,1,3,540,2.21,CRD,9.5 +VTS,2,2,3600,16.24,CSH,52 +VTS,1,3,240,0.63,CSH,4.5 +VTS,1,2,300,0.97,CSH,6 +VTS,1,2,420,1.32,CSH,7 +VTS,1,2,540,2.1,CSH,9 +VTS,1,2,420,1.42,CRD,7 +VTS,1,2,480,1.94,CSH,9 +VTS,1,1,480,1.31,CSH,7.5 +VTS,1,2,780,3.21,CRD,12.5 +VTS,1,2,480,2.25,CRD,9 +VTS,1,2,420,1.24,CSH,7 +VTS,1,2,480,1.6,CSH,8 +VTS,1,2,1140,3.07,CRD,14.5 +VTS,1,2,360,1.46,CSH,6.5 +VTS,1,2,1380,2.92,CSH,14 +VTS,1,1,720,2.66,CRD,11.5 +VTS,1,2,420,1.43,CRD,7 +VTS,1,2,1080,2.59,CSH,13.5 +VTS,1,2,240,0.78,CRD,5 +VTS,1,2,540,1.8,CSH,8 +VTS,1,2,840,3.26,CRD,13 +VTS,1,2,180,0.68,CRD,4.5 +VTS,2,1,1200,13.42,CRD,52 +VTS,1,2,1200,2.7,CRD,12.5 +VTS,1,1,480,1.3,CRD,7 +VTS,1,1,360,1.86,CRD,7.5 +VTS,1,2,540,1.57,CRD,7.5 +VTS,4,2,1260,15.26,CSH,50 +VTS,1,2,780,2.62,CSH,11 +VTS,1,2,540,1.29,CSH,7.5 +VTS,1,2,480,0.92,CRD,6.5 +VTS,1,2,1080,4.55,CRD,17.5 +VTS,1,2,2340,12.94,CSH,42 +VTS,1,2,1020,2.69,CRD,12 +VTS,1,2,720,4.1,CSH,15 +VTS,1,2,120,0.56,CSH,4 +VTS,1,2,300,1.28,CRD,6.5 +VTS,1,2,300,0.83,CRD,6 +VTS,1,2,1260,7.28,CRD,24.5 +VTS,1,2,480,1.15,CRD,7 +VTS,1,2,540,1.75,CRD,8 +VTS,1,2,960,2.77,CSH,12.5 +VTS,1,2,540,0.81,CRD,7 +VTS,1,2,600,2,CRD,9.5 +VTS,1,2,1260,5.73,CSH,21.5 +VTS,1,2,1140,3.01,CRD,14.5 +VTS,1,2,840,2,CSH,9 +VTS,1,1,540,1.27,CRD,7.5 +VTS,1,2,1200,8.96,CSH,27 +VTS,1,2,780,1.62,CRD,9 +VTS,1,2,720,3.14,CRD,12 +VTS,1,2,180,0.71,CRD,4.5 +VTS,1,2,180,0.6,CSH,4.5 +VTS,1,2,840,6.16,CRD,19 +VTS,1,2,540,1.44,CSH,8 +VTS,1,2,480,0.87,CRD,6.5 +VTS,1,2,900,3.1,CRD,12.5 +VTS,5,1,0,0,CRD,57.3 +VTS,1,2,780,1.85,CRD,9.5 +VTS,1,2,600,3.4,CSH,12 +VTS,1,2,840,7.64,CRD,22.5 +VTS,1,2,1260,3.37,CRD,16 +VTS,2,2,1320,9.77,CRD,52 +VTS,1,2,960,7.37,CRD,22.5 +VTS,1,2,600,2.37,CRD,10 +VTS,1,2,1260,3.22,CSH,15.5 +VTS,1,2,480,2.02,CSH,8 +VTS,1,2,420,0.94,CRD,6 +VTS,1,1,480,1.31,CSH,7 +VTS,1,2,1020,2.23,CSH,11.5 +VTS,1,2,660,2.29,CSH,10 +VTS,1,2,300,1.45,CRD,7 +VTS,1,2,660,2.41,CRD,10 +VTS,1,2,960,6.15,CSH,19.5 +VTS,2,1,1620,13.32,CRD,52 +VTS,1,2,960,10.29,CSH,28.5 +VTS,2,2,2100,21.2,CRD,52 +VTS,1,2,360,1.37,CSH,6.5 +VTS,1,2,1080,10.37,CRD,29.5 +VTS,1,2,360,0.51,CSH,5.5 +VTS,1,2,360,0.85,CRD,6 +CMT,1,2,573,2,CSH,9 +CMT,1,3,566,2.6,CSH,10.5 +CMT,1,1,475,2.1,CRD,9 +VTS,1,2,300,0.87,CRD,5.5 +VTS,1,2,780,4.68,CRD,15.5 +VTS,1,2,480,1.04,CRD,6.5 +VTS,1,2,480,1.62,CSH,8 +VTS,1,2,300,1,CRD,5.5 +VTS,1,2,480,1.33,CRD,7.5 +VTS,1,2,840,2.36,CSH,11.5 +VTS,1,3,360,0.92,CSH,6 +VTS,1,2,1200,5.84,CRD,19.5 +VTS,1,2,300,0.97,CRD,6 +VTS,1,2,240,0.6,CSH,5 +VTS,1,2,360,1.06,CSH,6 +VTS,1,2,300,0.77,CRD,5.5 +VTS,1,2,900,4.18,CRD,14.5 +VTS,1,3,540,1.58,CSH,8.5 +VTS,1,2,180,0.29,CRD,3.5 +VTS,1,2,1200,4.98,CRD,18 +VTS,1,2,720,1.2,CSH,8 +VTS,1,2,720,2.45,CSH,10 +VTS,1,2,360,1.69,CSH,7 +VTS,1,2,660,2.35,CRD,10 +VTS,1,2,960,3.12,CRD,13.5 +VTS,1,3,1440,4.26,CSH,18 +VTS,1,2,300,1.06,CRD,5.5 +VTS,1,2,780,2.23,CRD,10 +VTS,1,2,480,1.44,CRD,7.5 +VTS,1,2,1320,8.92,CRD,28 +VTS,1,3,660,2.68,CRD,11.5 +VTS,1,2,540,1.76,CRD,8.5 +VTS,1,2,240,0.84,CRD,5 +VTS,1,2,1200,2.41,CRD,14 +VTS,1,2,180,0.48,CSH,4 +VTS,1,2,660,2,CRD,9 +VTS,1,2,540,1.47,CRD,7.5 +VTS,1,2,180,0.76,CSH,4.5 +VTS,1,2,420,0.88,CSH,6.5 +VTS,1,3,780,2.03,CRD,10.5 +VTS,1,2,900,7.4,CRD,22.5 +VTS,1,2,1860,5.29,CSH,21 +VTS,1,2,1320,4.3,CRD,16.5 +VTS,1,3,360,0.96,CSH,5.5 +VTS,2,2,1320,5.68,CRD,52 +VTS,1,2,600,1.41,CRD,9 +VTS,1,2,420,0.73,CSH,6.5 +VTS,1,2,420,1.05,CRD,6 +VTS,1,2,300,2.27,CRD,8.5 +VTS,1,3,300,1.09,CSH,6 +VTS,1,2,360,0.74,CRD,5.5 +VTS,1,2,420,2.56,CRD,9 +VTS,1,2,240,1.63,CRD,6.5 +VTS,1,2,600,2.71,CSH,10 +VTS,1,2,780,1.94,CSH,9.5 +VTS,1,2,1020,4.79,CRD,16 +VTS,1,1,420,0.91,CRD,6 +VTS,1,1,300,1.2,CRD,6 +VTS,1,1,1500,4.56,CRD,19 +VTS,1,1,480,1.47,CRD,8 +VTS,1,1,840,2.37,CSH,11.5 +VTS,1,1,360,1.35,CRD,6.5 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,1,240,0.6,CSH,5 +VTS,1,1,1260,2.2,CSH,14 +VTS,1,2,900,2.14,CSH,11.5 +VTS,1,1,360,0.63,CSH,5.5 +VTS,1,1,960,6.12,CRD,20 +VTS,1,1,540,1.56,CRD,8 +VTS,1,1,660,0.8,CRD,8.5 +VTS,1,1,0,0,CRD,2.5 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,720,2.33,CSH,10.5 +VTS,1,1,300,0.9,CRD,6 +VTS,1,1,540,2.18,CSH,9 +VTS,1,2,480,1.45,CSH,7.5 +VTS,1,1,780,1.2,CRD,9.5 +VTS,1,1,1920,4.17,CRD,21 +VTS,1,1,540,1.27,CRD,7.5 +VTS,1,1,420,1.26,CRD,7 +VTS,1,1,1440,13.3,CRD,37.5 +VTS,1,2,360,1.35,CRD,7 +VTS,1,1,1380,4.75,CSH,19.5 +VTS,1,2,240,0.52,CRD,4.5 +VTS,1,2,840,2.85,CSH,12.5 +VTS,1,2,360,0.93,CRD,5.5 +VTS,1,2,660,1.61,CSH,8.5 +VTS,1,2,720,1.36,CRD,9 +VTS,1,2,540,1.98,CRD,9 +VTS,1,2,840,4.48,CSH,15 +VTS,1,2,360,1.59,CSH,7.5 +VTS,1,2,660,2.2,CRD,9.5 +VTS,1,2,2220,14.12,CRD,42.5 +VTS,1,2,780,2.21,CRD,11 +VTS,1,2,840,2.57,CRD,12 +VTS,1,2,600,1.79,CSH,9.5 +VTS,1,1,420,0.96,CRD,7 +VTS,1,2,1020,4.18,CRD,16.5 +VTS,1,2,480,1.62,CRD,8.5 +VTS,1,2,780,3.52,CSH,13.5 +VTS,1,2,900,2.39,CRD,11.5 +VTS,1,2,1920,4.79,CSH,20.5 +VTS,1,2,720,2.38,CRD,10.5 +VTS,1,2,1440,8,CSH,26 +VTS,1,2,720,4.3,CSH,14 +VTS,1,2,780,3.83,CSH,14 +VTS,1,2,480,1.59,CSH,7.5 +VTS,4,2,420,0.93,CSH,6 +VTS,1,2,660,2.49,CSH,10.5 +VTS,1,2,1440,6.15,CSH,21 +VTS,1,2,1260,3.52,CRD,15 +VTS,1,2,480,1.52,CRD,7 +VTS,5,2,0,0,CRD,15 +VTS,1,2,960,3.75,CSH,14.5 +VTS,1,2,480,0.77,CRD,7 +VTS,1,2,660,2.94,CSH,11 +VTS,1,2,660,2.19,CSH,10 +VTS,1,2,2280,16.98,CSH,48.5 +VTS,1,2,480,1,CSH,7 +VTS,1,3,1260,6.06,CSH,21 +VTS,1,2,180,0.29,CSH,3.5 +VTS,1,2,660,2.32,CSH,10.5 +VTS,1,2,660,2.35,CRD,10.5 +VTS,1,2,1380,3.85,CRD,18.5 +VTS,1,2,660,3.07,CSH,11.5 +VTS,1,2,480,1.98,CRD,8.5 +VTS,1,2,420,0.97,CSH,6.5 +VTS,1,2,540,1.32,CSH,7 +VTS,1,2,360,0.51,CSH,5.5 +VTS,1,2,300,0.97,CSH,6 +VTS,1,2,240,0.63,CSH,4.5 +VTS,1,2,240,0.67,CSH,4.5 +VTS,1,2,720,0.93,CSH,8 +VTS,1,2,840,3.24,CRD,12 +VTS,1,2,660,1.94,CSH,9.5 +VTS,1,2,360,1,CRD,6 +VTS,1,2,1320,7.34,CRD,23.5 +VTS,1,2,600,1.42,CRD,8.5 +VTS,1,2,780,2.52,CSH,11.5 +VTS,2,2,1260,10.13,CRD,52 +VTS,1,2,840,3.61,CSH,13 +VTS,1,2,420,0.96,CSH,6.5 +VTS,1,3,660,0.97,CSH,8.5 +VTS,1,2,1620,3.55,CRD,20 +VTS,1,2,240,1.39,CRD,6 +VTS,1,3,480,2.07,CSH,8.5 +VTS,1,2,720,1.86,CRD,9.5 +VTS,1,2,420,1.17,CSH,6 +VTS,1,2,540,1.51,CRD,8.5 +VTS,1,3,300,0.87,CRD,5.5 +VTS,1,2,780,2.77,CSH,11.5 +VTS,1,2,1200,7.01,CSH,22 +VTS,1,2,1740,4.54,CSH,21.5 +VTS,1,1,240,0.22,CSH,4.5 +VTS,1,1,600,1.94,CSH,9 +VTS,1,2,540,1.49,CRD,8 +VTS,1,2,480,1.45,CRD,7.5 +VTS,1,2,1620,3,CRD,18 +VTS,2,1,1260,7.74,CRD,52 +CMT,1,2,166,0.9,CSH,4.5 +CMT,1,4,396,2.2,CSH,8.5 +CMT,1,4,266,1,CSH,6 +CMT,1,1,1302,11.1,CSH,32.5 +VTS,1,2,660,2.12,CRD,9.5 +VTS,1,3,660,2.01,CSH,9 +VTS,1,2,120,0.59,CSH,4 +VTS,1,2,1200,3.71,CSH,15.5 +VTS,1,2,720,2.53,CRD,11 +VTS,1,2,900,3.53,CSH,13.5 +VTS,1,2,600,2.18,CRD,9.5 +VTS,1,2,240,0.56,CRD,4.5 +VTS,1,2,180,0.54,CRD,4.5 +VTS,1,2,240,0.59,CSH,4.5 +VTS,1,2,600,1.45,CRD,8 +VTS,1,2,1500,4.04,CRD,18.5 +VTS,1,2,180,0.93,CRD,5 +VTS,1,2,1380,5.49,CSH,21 +VTS,1,2,360,0.77,CRD,5.5 +CMT,1,2,566,3.6,CRD,12.5 +CMT,1,2,792,4.9,CSH,17 +CMT,1,2,684,3.1,CSH,11.5 +CMT,1,1,384,1,CRD,6 +CMT,1,1,396,0.9,CRD,6 +CMT,1,2,89,0.1,CRD,3 +CMT,1,2,989,3.6,CSH,14.5 +CMT,1,1,375,1,CSH,6 +CMT,1,2,479,1.6,CSH,8 +CMT,1,1,1104,3.5,CSH,14.5 +CMT,1,1,332,0.8,CSH,6 +VTS,1,2,1200,3.72,CSH,14.5 +VTS,1,2,600,1.62,CRD,8 +VTS,1,2,180,0.24,CRD,3.5 +VTS,1,2,660,1.96,CRD,9.5 +VTS,1,2,360,1.32,CSH,6 +VTS,1,2,1440,3.29,CRD,15 +VTS,1,2,1260,4.31,CRD,17 +VTS,1,2,1680,7.17,CSH,26 +VTS,2,3,1620,9.86,CRD,52 +VTS,1,2,840,2.64,CRD,12 +VTS,1,2,1260,5.34,CSH,20 +VTS,1,2,660,1.94,CRD,8.5 +VTS,1,2,600,1.75,CRD,8.5 +VTS,2,2,3600,17.21,CSH,52 +VTS,1,2,840,1.17,CRD,9.5 +VTS,1,2,1140,4.47,CRD,17 +VTS,1,2,300,0.72,CSH,5.5 +VTS,1,2,600,2.67,CSH,10.5 +CMT,1,2,1417,5.5,CSH,21 +CMT,1,4,574,2.8,CSH,11.5 +CMT,1,1,688,3.3,CRD,12.5 +CMT,1,2,374,1,CRD,6 +CMT,1,1,447,0.8,CSH,6.5 +CMT,1,1,498,1,CSH,7 +CMT,1,1,1811,3.7,CSH,20.5 +CMT,1,1,1267,1.8,CSH,14 +VTS,1,2,840,3.15,CRD,12 +VTS,1,2,360,1.21,CRD,6 +VTS,1,2,960,3.61,CRD,14.5 +VTS,1,2,540,2.32,CRD,9 +VTS,1,2,480,1.75,CSH,7.5 +VTS,1,2,240,0.49,CSH,4.5 +VTS,1,1,1980,10.14,CSH,34.5 +VTS,1,2,840,2.15,CSH,10 +VTS,1,2,900,2.51,CRD,11.5 +VTS,1,3,720,3.39,CSH,12.5 +VTS,1,2,720,2.63,CRD,11 +VTS,1,2,1080,1.47,CRD,12 +VTS,1,2,420,1.45,CRD,7 +VTS,1,2,540,2.43,CSH,9.5 +VTS,1,2,840,3.41,CRD,13.5 +CMT,1,1,243,1.4,CSH,6.5 +CMT,1,1,400,2.1,CRD,8 +CMT,1,3,148,0.3,CSH,3.5 +CMT,1,3,405,1.2,CSH,7 +CMT,1,1,739,3.3,CSH,13 +CMT,1,2,376,1.2,CRD,6.5 +CMT,1,2,512,1.4,CRD,8 +CMT,1,1,459,1.2,CRD,7 +CMT,1,1,692,1.2,CRD,9 +CMT,1,1,1541,4.1,CRD,20 +CMT,1,1,1368,1.6,CRD,8.5 +VTS,1,2,300,0.96,CRD,5.5 +VTS,1,2,1500,7.2,CRD,23.5 +VTS,1,2,660,2.07,CRD,9.5 +VTS,1,2,1200,10.89,CSH,31 +VTS,1,2,1020,5.39,CSH,19 +VTS,1,2,420,1.27,CSH,7 +VTS,1,2,300,0.77,CRD,5 +VTS,1,2,840,3.35,CRD,12 +VTS,1,2,360,1.03,CSH,6 +VTS,1,2,360,1.33,CRD,6.5 +VTS,1,1,120,0.63,CSH,4 +VTS,1,2,240,0.81,CSH,5 +VTS,1,2,900,5.2,CSH,17 +VTS,1,2,480,1.05,CSH,6.5 +VTS,1,2,660,0.87,CSH,7.5 +VTS,1,3,900,1.65,CRD,11 +VTS,1,2,300,0.79,CSH,5 +VTS,1,2,2040,5.72,CRD,24.5 +VTS,1,3,1980,6.02,CSH,24 +VTS,1,2,360,1.22,CSH,6.5 +VTS,1,2,660,2.2,CRD,10.5 +CMT,1,2,700,1.3,CSH,9 +CMT,1,3,324,0.7,CSH,5.5 +CMT,1,1,505,1.5,CRD,8 +CMT,1,2,487,1.5,CSH,8 +CMT,1,1,239,0.9,CSH,5.5 +VTS,1,2,840,3.6,CRD,13.5 +VTS,1,2,360,1.42,CRD,7 +VTS,1,2,240,1.31,CRD,6 +VTS,1,2,1380,10.9,CRD,31.5 +VTS,1,2,300,1.03,CSH,5.5 +VTS,1,2,780,1.64,CRD,9 +VTS,1,2,960,3.14,CRD,12.5 +VTS,1,2,180,0.88,CRD,4.5 +VTS,1,2,660,1.29,CRD,8 +VTS,1,1,1320,3.13,CRD,16 +VTS,1,2,600,1.85,CSH,8.5 +VTS,1,3,600,1.88,CSH,9 +VTS,1,2,480,1.67,CSH,8 +CMT,1,1,355,1.1,CSH,6.5 +CMT,1,2,406,0.7,CSH,6 +CMT,1,2,315,0.9,CRD,6 +CMT,1,1,203,0.7,CRD,4.5 +CMT,1,1,1108,2.6,CRD,14 +CMT,1,1,1669,11,CRD,34.5 +CMT,1,2,221,0.7,CSH,5 +CMT,1,1,148,1,CRD,5 +CMT,1,2,232,0.7,CSH,5 +CMT,1,4,961,3.5,CSH,14 +CMT,1,1,728,1.5,CSH,9.5 +CMT,1,1,411,0.7,CSH,6.5 +CMT,1,1,383,0.8,CRD,6 +CMT,1,2,352,1.6,CSH,7.5 +CMT,1,1,208,0.5,CSH,4.5 +CMT,1,1,118,0.6,CRD,4 +CMT,1,1,924,4.2,CRD,16 +CMT,1,4,695,1.1,CSH,9 +CMT,1,2,272,0.5,CSH,4.5 +CMT,1,2,850,1.9,CSH,10.5 +CMT,1,4,1525,10.4,CSH,31.5 +CMT,1,1,415,1,CSH,6.5 +CMT,1,1,536,1.4,CSH,8 +CMT,1,1,622,1.9,CSH,9 +CMT,1,1,1401,7,CRD,23.5 +CMT,1,1,441,0.7,CSH,6.5 +CMT,1,2,357,0.6,CRD,5.5 +CMT,1,2,1034,1.6,CRD,12 +CMT,1,1,1100,1.3,CSH,12.5 +CMT,1,1,425,1.4,CRD,7 +CMT,1,2,840,2.3,CSH,11 +CMT,1,1,1238,1.4,CRD,13 +CMT,1,2,412,1.4,CRD,7 +CMT,1,2,566,1.3,CSH,8 +CMT,1,2,253,0.4,CSH,4.5 +CMT,1,1,440,1.2,CSH,7 +CMT,1,2,696,1.3,CSH,9 +CMT,1,1,566,1.4,CSH,8.5 +CMT,1,1,1362,3.4,CRD,17 +CMT,1,1,728,2.5,CRD,11 +CMT,1,1,919,3.3,CRD,13.5 +CMT,1,2,566,1,CSH,8 +CMT,1,1,679,1,CRD,8.5 +CMT,1,1,984,2.1,CSH,12 +CMT,1,2,785,2.1,CRD,11 +CMT,1,1,656,2.4,CSH,10 +CMT,1,1,856,3.4,CRD,13.5 +CMT,1,1,152,0.6,CSH,4 +CMT,1,4,413,1.1,CSH,6.5 +CMT,1,1,873,1.9,CRD,11 +CMT,1,2,262,0.9,CRD,5.5 +CMT,1,1,103,0.5,CSH,3.5 +CMT,1,1,235,0.9,CSH,5 +CMT,1,1,945,4,CSH,16 +CMT,1,1,192,0.6,CRD,4.5 +CMT,1,1,375,0.9,CRD,6 +CMT,1,1,332,1,CSH,5.5 +CMT,1,1,382,1.4,CSH,7 +CMT,1,1,310,0.8,CRD,5.5 +CMT,1,1,785,2,CRD,11 +CMT,1,1,449,1.1,CRD,7 +CMT,1,2,510,1.1,CRD,7.5 +CMT,1,2,380,0.9,CSH,6 +CMT,1,1,468,1.1,CSH,7 +CMT,1,1,1454,2.2,CSH,15.5 +CMT,1,4,1058,1.9,CRD,12.5 +CMT,1,1,679,1.9,CRD,9.5 +CMT,1,2,473,2.2,CRD,9 +CMT,1,2,236,1.1,CRD,5.5 +CMT,1,1,512,1,CSH,7 +CMT,1,1,836,1.3,CRD,10 +CMT,1,1,568,1.2,CSH,8 +CMT,1,1,1189,4.8,CRD,19.5 +CMT,1,2,534,1.2,CRD,7.5 +CMT,1,1,232,0.9,CSH,5.5 +CMT,1,1,440,1.2,CRD,7 +CMT,1,1,700,1,CSH,8.5 +CMT,1,1,411,1.2,CSH,7 +CMT,1,2,603,1,CSH,8 +CMT,1,2,845,2.9,CRD,12 +CMT,1,4,974,3.5,CRD,14.5 +CMT,1,2,612,1.9,CRD,9.5 +CMT,1,1,512,1,CSH,7.5 +CMT,1,1,333,1.3,CSH,6.5 +CMT,1,1,1487,4.8,CRD,20 +CMT,1,1,660,1.4,CSH,8.5 +CMT,1,1,746,1.8,CRD,10 +CMT,1,1,923,2.3,CSH,12 +CMT,1,1,1347,1.9,CSH,14.5 +CMT,1,2,299,1,CRD,6 +CMT,1,1,451,0.9,CSH,7 +CMT,1,2,371,0.6,CSH,5.5 +CMT,1,1,359,1,CSH,6 +CMT,1,1,556,1.7,CRD,8.5 +CMT,1,1,497,0.8,CSH,7 +CMT,1,2,858,1.4,CSH,10.5 +CMT,1,1,342,0.5,CRD,5.5 +CMT,1,3,1613,3.3,CRD,18 +CMT,1,1,302,1.1,CSH,6 +CMT,1,1,404,0.7,CRD,6 +CMT,1,1,286,1.1,CRD,6 +CMT,1,2,338,1.1,CSH,6.5 +CMT,1,1,204,0.5,CRD,4.5 +CMT,1,1,321,1.2,CRD,6 +CMT,1,1,377,0.9,CSH,6 +CMT,1,1,135,0.6,CRD,4.5 +CMT,1,1,1235,1.8,CRD,13.5 +CMT,1,1,348,1.4,CRD,7 +CMT,1,1,440,1.3,CRD,7 +CMT,1,1,1879,11.8,CRD,36.5 +CMT,1,1,726,1.8,CRD,10 +CMT,1,1,750,2.7,CRD,11.5 +CMT,1,1,811,2.4,CRD,11.5 +CMT,1,2,272,0.5,CSH,5 +CMT,1,3,506,2.5,CSH,10 +CMT,1,1,514,1.2,CRD,7.5 +CMT,1,1,465,0.8,CSH,6.5 +CMT,1,1,863,1.9,CRD,11 +CMT,1,1,355,0.7,CSH,5.5 +CMT,1,1,955,1.8,CSH,11.5 +CMT,1,1,338,1,CRD,6 +CMT,1,1,389,0.9,CRD,6.5 +CMT,1,1,980,3.3,CRD,14.5 +CMT,1,1,706,1.7,CSH,10 +CMT,1,2,2028,7.3,CRD,28.5 +CMT,1,1,804,2.3,CSH,11 +CMT,1,1,234,1,CRD,5.5 +CMT,1,2,1230,3.6,CRD,16 +CMT,1,2,619,1.9,CSH,9.5 +CMT,1,1,605,1.8,CSH,9 +CMT,1,1,221,0.8,CSH,5 +CMT,1,1,702,2.1,CRD,10.5 +CMT,1,1,1008,2,CRD,12 +CMT,1,1,182,0.9,CSH,4.5 +CMT,1,1,424,1.4,CSH,7 +CMT,1,1,677,1.9,CRD,9.5 +CMT,1,1,784,1.5,CRD,10 +CMT,1,4,438,1.2,CSH,7 +CMT,1,1,418,1.6,CRD,7.5 +CMT,1,1,461,0.4,CRD,6.5 +CMT,1,1,766,1.6,CRD,9.5 +CMT,1,2,578,1.9,CRD,9 +CMT,1,2,659,1.7,CSH,9 +CMT,1,1,718,1.2,CSH,9 +CMT,1,1,1774,2.8,CRD,18.5 +CMT,1,2,669,1.2,CSH,8.5 +CMT,1,1,1647,5.3,CRD,22.5 +CMT,1,1,503,1,CSH,7 +CMT,1,1,455,1.2,CSH,7 +CMT,1,1,305,0.9,CSH,6 +CMT,1,1,1724,18.8,CSH,50 +CMT,1,3,447,1.4,CSH,7.5 +CMT,1,1,506,1,CSH,7 +CMT,1,1,835,3.7,CSH,14.5 +CMT,1,1,1545,3,CRD,18 +CMT,1,1,691,1.9,CRD,9.5 +CMT,1,1,877,3.7,CRD,13.5 +CMT,1,1,264,0.7,CSH,5 +CMT,1,4,469,1.1,CSH,7 +CMT,1,1,362,1.2,CRD,6.5 +CMT,1,1,632,2.9,CRD,11 +CMT,1,1,897,2,CRD,11.5 +CMT,1,1,996,2,CRD,12 +CMT,1,1,631,0.9,CRD,8 +CMT,1,1,316,0.8,CRD,5.5 +CMT,1,1,255,0.4,CSH,4.5 +CMT,1,1,99,0.3,CRD,3.5 +CMT,1,2,659,1.6,CRD,9.5 +CMT,1,3,263,0.9,CRD,5.5 +CMT,1,1,376,2.2,CRD,9 +CMT,1,1,1198,5.1,CSH,20 +CMT,1,1,704,2.8,CSH,11.5 +CMT,1,2,389,1.3,CRD,7 +CMT,1,1,634,1.1,CRD,8 +CMT,1,2,622,2.1,CRD,9.5 +CMT,1,1,344,0.8,CSH,6 +CMT,1,1,966,1.4,CRD,11 +CMT,1,2,464,0.6,CRD,6.5 +CMT,1,1,1061,2.9,CRD,13.5 +CMT,1,1,310,0.6,CSH,5 +CMT,1,1,182,0.5,CSH,4.5 +CMT,1,1,1039,4,CRD,16 +CMT,1,1,430,2.3,CSH,9.5 +CMT,1,1,629,1.3,CRD,8.5 +CMT,1,1,465,1.7,CSH,8 +CMT,1,1,22,0,CSH,2.5 +CMT,1,1,617,1.4,CRD,8.5 +CMT,1,1,422,0.6,CRD,6 +CMT,1,1,986,1.9,CRD,12 +CMT,1,1,426,0.7,CSH,6 +CMT,1,2,500,1.6,CSH,8 +CMT,1,3,942,4.5,CSH,16 +CMT,1,2,328,0.9,CRD,6 +CMT,1,1,1221,6.2,CSH,21 +CMT,1,1,609,3.4,CRD,12 +CMT,1,1,358,0.6,CSH,5.5 +CMT,1,1,668,1.2,CRD,8.5 +CMT,1,1,185,0.4,CSH,4 +CMT,1,1,1015,0.6,CRD,11 +CMT,1,1,371,1.2,CRD,6.5 +CMT,1,1,169,0.6,CSH,4.5 +CMT,1,1,1915,7.5,CRD,27.5 +CMT,1,1,128,0.3,CSH,3.5 +CMT,1,1,984,1.5,CSH,11 +CMT,1,1,673,2.9,CSH,11.5 +CMT,1,1,311,1,CSH,6 +CMT,1,2,668,1.9,CRD,10 +CMT,1,1,246,0.7,CRD,5 +CMT,1,1,395,1.9,CRD,8 +CMT,1,4,334,1.1,CRD,6.5 +CMT,1,3,515,1.4,CSH,8 +CMT,1,1,195,0.5,CRD,4.5 +CMT,1,1,332,0.8,CRD,5.5 +CMT,1,1,746,1.3,CRD,9 +CMT,1,1,551,1.1,CSH,7.5 +CMT,1,1,1379,3.3,CRD,17 +CMT,1,1,171,0.9,CRD,5 +CMT,1,1,808,5.5,CRD,18 +CMT,1,1,282,0.8,CSH,5 +CMT,1,1,659,1.7,CRD,9.5 +CMT,1,3,1382,3.2,CSH,16.5 +VTS,1,2,1440,7.6,CSH,22.5 +VTS,1,2,960,3.18,CRD,13.5 +VTS,1,2,960,4.45,CSH,16.5 +VTS,1,1,780,3.77,CSH,13.5 +VTS,2,2,2580,18.53,CRD,52 +VTS,1,1,1500,9,CRD,28 +VTS,1,2,840,9.12,CSH,26 +VTS,1,2,1260,4.43,CSH,18 +VTS,1,2,720,2.1,CSH,10 +CMT,1,1,966,3.7,CSH,15 +CMT,1,2,228,0.7,CSH,5 +CMT,1,1,1299,9.7,CRD,29.5 +CMT,1,1,1158,3.4,CRD,14.5 +CMT,1,1,674,2,CRD,9.5 +CMT,1,2,400,0.9,CRD,6 +CMT,1,1,732,1.4,CRD,9.5 +CMT,1,4,617,1.5,CSH,8.5 +CMT,1,2,365,0.8,CSH,6 +CMT,1,1,942,2.1,CSH,12 +CMT,1,1,1076,5,CRD,19 +CMT,1,1,929,4,CSH,15 +CMT,1,1,86,0.3,CRD,3.5 +CMT,1,1,431,1.1,CSH,7 +CMT,1,1,501,0.9,CRD,7 +CMT,1,1,1878,3.4,CRD,20 +CMT,1,1,1172,1.1,CSH,12.5 +CMT,1,1,439,1.6,CSH,7.5 +CMT,1,1,273,0.8,CRD,5 +CMT,1,2,153,0.4,CRD,4 +CMT,1,2,143,0.6,CSH,4 +CMT,1,2,1352,5.4,CRD,21 +CMT,1,1,785,2.6,CRD,11.5 +CMT,1,1,777,2,CRD,10.5 +CMT,1,1,772,1.6,CSH,9.5 +CMT,1,1,1363,2.9,CSH,15.5 +CMT,1,1,442,1.5,CRD,7.5 +CMT,1,1,809,2.5,CRD,12.5 +CMT,1,1,588,1.7,CSH,9 +CMT,1,1,687,2.2,CRD,10 +CMT,1,1,1022,1.8,CRD,11.5 +CMT,1,1,312,0.4,CRD,5 +CMT,1,1,152,0.8,CSH,3.5 +CMT,1,1,1157,3.5,CRD,16 +CMT,1,1,556,1.2,CSH,8 +CMT,1,2,519,2.5,CSH,10 +CMT,1,1,347,1.1,CRD,6 +CMT,1,2,268,1,CSH,5.5 +CMT,1,1,702,1.7,CSH,10 +CMT,1,3,774,1.4,CSH,10 +CMT,1,1,678,2,CRD,10 +CMT,1,4,217,0.8,CRD,5 +CMT,1,2,831,2.9,CRD,12 +CMT,1,1,570,1.7,CSH,8.5 +CMT,1,1,740,2.5,CRD,11.5 +CMT,1,1,350,1.4,CSH,7 +CMT,1,1,501,0.9,CRD,7 +CMT,1,1,233,1,CSH,5.5 +CMT,1,1,400,2.3,CRD,8.5 +CMT,1,1,378,1.5,CRD,7 +CMT,1,1,541,1,CSH,7.5 +CMT,1,1,1211,2.4,CRD,14 +CMT,1,3,658,1.7,CRD,8.5 +CMT,1,2,979,2.2,CRD,12 +CMT,1,1,655,2.2,CRD,10.5 +CMT,1,1,1098,4.2,CRD,17.5 +CMT,1,2,640,0.7,CRD,8 +CMT,1,1,794,1.8,CSH,10 +CMT,1,3,1094,2.3,CRD,13 +CMT,1,2,221,0.5,CSH,4.5 +CMT,1,1,751,1.9,CRD,10.5 +CMT,1,2,398,1.4,CRD,7 +CMT,1,2,1237,4,CSH,16.5 +CMT,1,3,436,1,CSH,6.5 +CMT,1,1,336,1.1,CSH,6.5 +CMT,1,1,188,0.7,CSH,4.5 +CMT,1,2,510,1.1,CRD,7.5 +CMT,1,1,524,1.4,CRD,8 +CMT,1,1,97,0.2,CSH,3.5 +CMT,1,2,375,1,CSH,6 +CMT,1,4,958,3.3,CRD,14.5 +CMT,1,1,862,2.4,CSH,12 +CMT,1,2,604,1.6,CRD,8.5 +CMT,1,1,657,1.5,CRD,9 +CMT,1,1,1341,2.2,CSH,15 +CMT,1,1,573,0.6,CSH,7.5 +CMT,1,1,469,1.1,CRD,7 +CMT,1,2,544,1,CSH,7.5 +CMT,1,2,575,1.5,CSH,8.5 +CMT,1,1,774,2.3,CSH,11 +CMT,1,1,2125,4.9,CSH,25 +CMT,1,2,150,0.5,CSH,4 +CMT,1,1,186,0.2,CRD,4 +CMT,1,2,644,1.4,CRD,9 +CMT,1,1,853,2.2,CRD,12 +CMT,1,1,729,1.7,CRD,10 +CMT,1,1,920,3.3,CSH,14 +CMT,1,3,367,1.6,CSH,7.5 +CMT,1,4,919,3.6,CSH,14.5 +CMT,2,1,2530,17.1,CSH,52 +CMT,1,2,159,0.6,CRD,4.5 +CMT,1,1,584,0.9,CRD,8 +CMT,1,1,477,1.6,CSH,8 +CMT,1,1,1257,3.2,CRD,15 +CMT,1,1,356,0.5,CRD,5.5 +CMT,1,1,446,1.3,CSH,7.5 +CMT,1,1,361,0.7,CSH,6 +CMT,1,1,327,0.9,CSH,6 +CMT,1,1,278,0.9,CSH,5.5 +CMT,1,2,573,2.5,CSH,10 +CMT,1,1,1025,2.2,CSH,13 +CMT,1,3,655,2.1,CRD,9.5 +CMT,1,2,569,2,CRD,9 +CMT,1,1,263,0.9,CSH,5.5 +CMT,1,1,591,0.9,CRD,7.5 +CMT,1,1,334,0.8,CRD,5.5 +CMT,1,1,137,0.1,CSH,3.5 +CMT,1,1,480,1.5,CRD,7.5 +CMT,1,1,686,1.7,CSH,9.5 +CMT,1,1,362,0.8,CRD,6 +CMT,1,3,318,0.9,CRD,6 +CMT,1,1,330,0.8,CRD,5.5 +CMT,1,1,1576,7,CRD,24.5 +CMT,1,1,683,4,CRD,14 +CMT,1,1,342,1.3,CRD,7 +CMT,1,1,248,0.5,CRD,4.5 +CMT,1,2,387,1.1,CSH,6.5 +CMT,1,1,286,1.8,CSH,7 +CMT,1,1,665,2.7,CSH,11 +CMT,1,2,598,2.2,CRD,9.5 +CMT,1,2,332,1.1,CSH,6 +CMT,1,2,1187,3.3,CRD,15.5 +CMT,1,1,798,2.6,CSH,12 +CMT,1,1,738,3.2,CRD,12 +CMT,1,1,1306,7.4,CRD,23 +CMT,1,1,252,0.7,CSH,5 +CMT,1,1,764,6.7,CRD,20 +CMT,1,1,1324,12.1,CRD,34.5 +CMT,1,1,279,1,CRD,6 +CMT,1,1,581,2.5,CSH,10.5 +CMT,1,2,493,1.1,CRD,7 +CMT,1,1,330,1.1,CRD,6 +CMT,1,1,447,1.5,CRD,7.5 +CMT,1,1,400,0.7,CRD,6 +CMT,1,1,719,2.4,CRD,10.5 +CMT,1,2,172,0.3,CSH,4 +CMT,1,1,297,0.4,CRD,5 +CMT,1,1,312,0.8,CSH,5.5 +CMT,1,1,497,2,CSH,9 +CMT,1,2,248,0.9,CRD,5 +CMT,1,4,1094,4.2,CRD,15.5 +CMT,1,1,789,3.3,CRD,13 +CMT,1,2,327,0.9,CSH,5.5 +CMT,1,1,1131,4.9,CRD,18.5 +CMT,1,1,728,2.9,CSH,11.5 +CMT,1,2,176,0.4,CSH,4 +CMT,1,1,695,1.3,CRD,9 +CMT,1,1,956,2.4,CRD,12.5 +CMT,1,2,546,1.8,CRD,8.5 +CMT,1,1,499,1.2,CRD,7.5 +CMT,1,1,797,2.6,CRD,12 +CMT,1,4,300,1.1,CRD,6 +CMT,1,1,362,1,CRD,6 +CMT,1,4,623,1,CSH,8 +CMT,1,1,1567,10.3,CRD,31 +CMT,1,1,744,1.4,CRD,9.5 +CMT,1,1,848,1.1,CSH,10 +CMT,1,1,1889,7.1,CSH,25.5 +CMT,1,2,269,0.6,CSH,5 +CMT,1,1,224,0.6,CRD,4.5 +CMT,1,1,437,1.7,CSH,7.5 +CMT,1,2,1131,4.9,CSH,18.5 +CMT,1,4,415,1,CSH,6.5 +CMT,1,1,732,1.9,CSH,10 +CMT,1,1,1091,2.1,CSH,13 +CMT,1,1,475,1.3,CRD,7.5 +CMT,1,1,764,1.7,CRD,10 +CMT,2,1,2197,16.6,CRD,52 +CMT,1,1,1624,7.8,CSH,26.5 +CMT,1,1,1432,8.6,CRD,28 +CMT,1,1,492,2.1,CRD,9.5 +CMT,1,1,932,2.3,CSH,12 +CMT,1,1,633,0.7,CRD,8 +CMT,1,1,402,1.8,CSH,7.5 +CMT,1,1,952,11,CRD,31 +CMT,1,3,181,0.9,CSH,5 +CMT,1,3,828,3.1,CRD,12.5 +CMT,1,2,314,0.8,CSH,5.5 +CMT,1,1,1644,7.2,CRD,26 +CMT,1,2,492,5,CRD,15 +CMT,1,1,530,0.8,CSH,7.5 +CMT,1,1,322,1.2,CRD,6.5 +CMT,1,1,459,0.9,CRD,7 +CMT,1,3,1225,3,CRD,14.5 +CMT,1,2,1011,3,CRD,14 +CMT,1,1,563,1.6,CRD,8.5 +CMT,1,1,685,2,CSH,10.5 +CMT,1,4,591,2.5,CSH,10 +CMT,1,1,620,2.9,CRD,11.5 +CMT,1,1,927,3.2,CRD,14 +CMT,1,1,765,3.7,CRD,13.5 +CMT,1,1,348,0.5,CSH,5.5 +CMT,1,1,1657,12,CRD,35.5 +CMT,1,1,444,3.3,CRD,11 +CMT,1,1,305,0.9,CSH,5.5 +CMT,1,3,833,3.5,CRD,14 +CMT,1,1,347,0.9,CRD,6 +CMT,1,1,341,0.9,CSH,6 +CMT,1,2,1293,4.9,CRD,18.5 +CMT,1,1,542,1.7,CRD,8.5 +CMT,1,1,258,0.7,CSH,5 +CMT,1,1,531,1.1,CSH,7.5 +CMT,1,2,844,1.1,CRD,10 +CMT,1,1,829,2.1,CRD,11.5 +CMT,2,2,3185,17.1,CSH,52 +CMT,1,2,933,2.8,CSH,12.5 +CMT,1,1,414,1.2,CSH,7 +CMT,1,1,225,0.7,CSH,5 +CMT,1,1,149,0.4,CSH,3.5 +CMT,1,1,1191,4.7,CRD,17.5 +CMT,1,1,427,0.9,CRD,6.5 +CMT,1,1,638,2.3,CRD,10 +CMT,1,1,170,0.9,CSH,5 +CMT,1,1,2860,0.8,CRD,6 +CMT,1,1,817,1.7,CSH,10.5 +CMT,1,1,208,0.4,CSH,4.5 +CMT,1,2,1457,2.9,CRD,17 +CMT,1,1,819,3.1,CRD,13 +CMT,1,1,270,1.3,CRD,6 +CMT,1,1,762,1.4,CRD,10 +CMT,1,1,331,1,CRD,6.5 +CMT,1,4,878,1.9,CSH,11 +CMT,1,1,439,2.1,CSH,8.5 +CMT,1,1,567,1.5,CRD,8.5 +CMT,1,1,212,0.6,CSH,4.5 +CMT,1,1,457,1.1,CSH,7.5 +CMT,1,1,1442,5.2,CRD,19.5 +CMT,1,1,993,5.8,CRD,19.5 +CMT,1,1,1922,5.8,CRD,24.5 +CMT,1,1,664,0.8,CRD,8 +CMT,1,3,299,1,CSH,6 +CMT,1,3,1059,3.7,CRD,16 +CMT,1,1,355,0.8,CRD,6 +CMT,1,1,765,2.5,CSH,11 +CMT,1,3,623,2.8,CSH,11.5 +CMT,1,2,597,2.8,CSH,11 +CMT,1,3,552,2.2,CRD,9 +CMT,1,1,195,1.3,CSH,5.5 +CMT,1,2,433,2,CRD,8 +CMT,1,1,175,0.3,CSH,4 +CMT,1,2,810,3.5,CSH,13.5 +CMT,1,2,400,0.7,CSH,6 +CMT,1,2,883,2.1,CRD,11.5 +CMT,1,2,756,3.4,CRD,13.5 +CMT,1,1,410,1.9,CSH,8.5 +CMT,1,1,1102,5.3,CRD,18.5 +CMT,1,1,939,9.7,CRD,27 +CMT,1,2,279,1.1,CRD,6 +CMT,1,2,298,1.4,CRD,6.5 +CMT,1,3,997,5.9,CRD,19 +CMT,1,2,243,0.9,CRD,5.5 +CMT,1,2,740,1.3,CSH,10 +CMT,1,1,1205,5.2,CSH,18.5 +CMT,1,2,546,2.5,CSH,9.5 +CMT,1,1,589,2.3,CRD,9.5 +CMT,1,2,203,0.9,CRD,5 +CMT,1,4,1241,4.4,CRD,17.5 +CMT,1,1,764,4.4,CSH,15.5 +CMT,1,1,190,0.6,CSH,4.5 +CMT,1,1,313,0.8,CSH,6 +CMT,1,1,702,4.4,CRD,14.5 +CMT,1,1,460,1.3,CRD,6.5 +CMT,1,2,1147,5.6,CSH,19 +CMT,1,1,1035,5.1,CRD,18 +CMT,1,1,846,4.8,CSH,15.5 +CMT,1,1,1018,8.5,CRD,25.5 +CMT,5,3,947,4.7,CRD,45 +CMT,1,1,890,2.2,CRD,11.5 +CMT,1,1,1274,4.6,CSH,18.5 +CMT,1,1,2068,9.2,CSH,31.5 +CMT,1,1,689,2.8,CRD,11 +CMT,1,1,665,1.5,CRD,9 +VTS,1,1,360,1.73,CSH,8 +VTS,1,1,660,1.98,CSH,10 +VTS,1,1,960,4.23,CSH,16 +VTS,1,1,300,2.03,CRD,7.5 +VTS,1,1,300,0.91,CSH,5.5 +CMT,1,1,287,0.7,CSH,5.5 +CMT,1,1,2520,8,CRD,31.5 +CMT,1,1,457,1,CSH,6.5 +CMT,1,1,595,0.9,CSH,8 +CMT,1,1,1181,3.7,CSH,17 +CMT,1,1,318,1.8,CSH,7 +CMT,1,2,577,2.9,CSH,11 +CMT,1,1,265,0.5,CSH,5 +CMT,2,1,2754,23.1,CRD,52 +CMT,1,1,519,0.9,CRD,7 +CMT,1,2,564,0.4,CSH,7 +CMT,1,2,570,1.8,CRD,8.5 +CMT,1,1,444,1.4,CSH,7 +CMT,1,1,530,1.5,CSH,8.5 +CMT,1,1,1983,16.9,CRD,47.5 +CMT,1,1,257,1.1,CSH,5.5 +CMT,1,1,539,0.8,CRD,7.5 +CMT,1,1,1603,4.1,CRD,19 +CMT,1,3,2214,8.6,CRD,31 +CMT,1,1,1333,4.4,CSH,18 +CMT,1,3,626,3.6,CSH,13 +CMT,1,1,206,0.6,CSH,4.5 +CMT,1,2,1202,5.7,CSH,20.5 +CMT,1,1,568,2.9,CRD,11 +CMT,1,2,342,1,CSH,6 +CMT,1,1,1241,7.7,CRD,25.5 +CMT,1,2,884,4.7,CSH,16 +CMT,1,2,893,3.5,CRD,14 +CMT,1,1,306,1.1,CSH,6 +CMT,1,1,176,0.5,CSH,4 +CMT,1,2,690,1.8,CRD,9.5 +CMT,1,3,1076,3.4,CRD,15 +CMT,1,2,1024,4.9,CRD,17.5 +CMT,1,1,901,4.7,CRD,16.5 +CMT,1,2,265,0.8,CSH,5.5 +CMT,1,1,258,1.2,CSH,6 +CMT,1,2,638,5.9,CRD,18 +CMT,1,1,447,1.3,CRD,7 +CMT,1,4,713,2.6,CRD,11.5 +CMT,1,2,227,0.7,CRD,5 +CMT,1,1,334,1.2,CRD,6 +CMT,1,1,277,0.7,CRD,5.5 +CMT,1,2,1058,3.2,CSH,14 +CMT,1,1,1704,5.7,CRD,23.5 +CMT,1,2,187,0.4,CSH,4 +CMT,1,1,940,2.6,CRD,12 +CMT,1,3,1052,4.3,CRD,16 +CMT,1,1,600,1.8,CSH,9 +CMT,1,2,221,0.4,CSH,4.5 +CMT,1,2,739,3.1,CSH,12.5 +CMT,1,2,1702,8.4,CRD,28 +CMT,1,1,839,3.1,CRD,13 +CMT,1,3,711,2.5,CRD,11 +CMT,1,3,1224,3.9,CSH,17 +CMT,1,1,743,4,CSH,14 +CMT,1,3,403,2,CRD,8 +CMT,1,1,723,3.1,CSH,12 +CMT,1,2,689,2.9,CSH,11 +CMT,1,2,415,0.9,CRD,6.5 +CMT,1,2,302,0.9,CRD,5.5 +CMT,1,2,706,2.8,CRD,11.5 +CMT,1,1,377,1,CRD,6 +CMT,1,1,496,1.4,CRD,7.5 +CMT,1,1,883,5.1,CRD,16.5 +CMT,1,2,44,0.2,NOC,3 +CMT,1,1,1199,3.6,CRD,16.5 +CMT,1,1,2138,10.1,CRD,34.5 +CMT,1,1,407,1.4,CSH,7.5 +CMT,1,1,1696,11.5,CRD,35 +CMT,1,1,1320,2.2,CRD,9.5 +VTS,1,1,900,8.09,CRD,23.5 +VTS,1,1,660,1.46,CSH,9.5 +VTS,1,1,600,2.85,CRD,10.5 +VTS,1,1,120,0.69,CSH,4.5 +VTS,1,1,660,3.08,CRD,11 +VTS,1,1,1020,3.8,CRD,15 +VTS,1,1,600,1.89,CRD,9 +VTS,1,1,660,2.17,CSH,9.5 +VTS,1,1,240,1.19,CRD,5.5 +VTS,1,1,300,0.85,CSH,5 +VTS,1,1,960,2.5,CRD,12.5 +VTS,1,1,840,3,CSH,12 +VTS,1,1,180,1.43,CSH,6 +VTS,1,1,720,1.02,CRD,9 +VTS,1,1,480,1.59,CSH,7.5 +VTS,1,1,540,1.48,CRD,8.5 +VTS,1,1,540,2.52,CSH,10 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,480,1.73,CRD,8 +VTS,1,1,720,3.56,CRD,12.5 +VTS,1,1,60,0.86,CRD,4.5 +VTS,1,1,480,2.49,CRD,9.5 +VTS,1,1,540,1.4,CRD,8 +VTS,1,1,60,0.24,CRD,3 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,360,1.37,CSH,7 +VTS,1,1,540,2.25,CSH,9 +VTS,1,1,480,2.1,CSH,8.5 +VTS,1,1,600,1.67,CRD,9 +VTS,1,1,180,0.53,CRD,4.5 +VTS,1,1,360,1.82,CSH,7.5 +VTS,1,1,300,1.37,CSH,6.5 +VTS,1,1,180,0.79,CSH,5 +VTS,1,1,420,1.35,CSH,7 +CMT,1,1,1661,10.2,CSH,31.5 +CMT,1,1,1877,3.5,CSH,20.5 +CMT,1,1,1230,3.8,CRD,17.5 +CMT,1,2,306,0.8,CSH,5.5 +CMT,1,1,1015,3.6,CRD,15 +CMT,1,2,205,0.9,CRD,5 +CMT,1,1,407,2.1,CRD,8.5 +CMT,1,1,598,1.9,CSH,9 +CMT,1,1,661,1.4,CRD,9 +CMT,1,1,841,2.2,CRD,11 +CMT,1,1,1022,2.3,CRD,12.5 +CMT,1,1,554,0.9,CSH,7.5 +CMT,1,1,1144,2.4,CRD,13 +CMT,1,1,578,0.9,CSH,7.5 +CMT,1,1,458,1,CSH,7 +CMT,1,1,972,4.1,CSH,15 +CMT,1,1,404,1.6,CRD,7.5 +CMT,1,1,743,3,CSH,12 +CMT,1,2,1011,3.4,CSH,14 +CMT,1,1,479,1.3,CSH,7.5 +CMT,1,2,472,1.4,CRD,7.5 +CMT,1,1,430,1.3,CRD,7 +CMT,1,1,180,0.5,CRD,4 +CMT,1,1,737,1.8,CSH,10 +CMT,1,1,415,0.9,CRD,6.5 +CMT,1,1,1075,2.1,CRD,13 +CMT,1,1,561,2.1,CSH,9.5 +CMT,1,1,873,4.1,CRD,14.5 +CMT,1,1,375,0.9,CSH,6.5 +CMT,1,3,428,1.3,CRD,7 +CMT,1,2,392,1.7,CSH,7.5 +CMT,1,1,690,3.4,CRD,12.5 +CMT,1,1,469,1.7,CRD,7.5 +CMT,1,2,339,0.9,CSH,6 +CMT,1,1,1133,6.2,CSH,21 +CMT,1,1,1177,4.5,CSH,18 +CMT,1,3,24,0,NOC,2.5 +CMT,1,1,1259,7.3,CRD,22.5 +CMT,1,3,216,0.9,CSH,5 +CMT,1,1,1561,4.4,CRD,18.5 +CMT,1,1,182,0.5,CSH,4 +CMT,1,4,784,3.1,CSH,12.5 +CMT,1,1,967,4.1,CSH,15.5 +CMT,1,2,439,1.2,CSH,7 +VTS,1,1,300,1.72,CRD,7 +VTS,1,1,780,4.13,CRD,14.5 +VTS,1,1,60,0.6,CSH,4 +VTS,1,1,360,2.45,CRD,9 +VTS,1,1,180,0.94,CSH,5 +VTS,1,1,300,1.4,CSH,6.5 +VTS,1,1,300,1.51,CRD,7 +VTS,1,1,120,0.45,CSH,4 +CMT,1,1,269,0.9,CSH,5.5 +CMT,1,1,995,6.5,CRD,22.5 +CMT,1,1,1001,3.4,CRD,14.5 +CMT,1,1,223,0.5,CSH,4.5 +CMT,1,1,601,1,CRD,8 +CMT,1,2,1204,8.7,CRD,27 +CMT,1,2,1068,1,CRD,11.5 +CMT,1,1,354,1.1,CSH,6 +CMT,1,4,355,0.9,CRD,6 +CMT,1,1,885,2.7,CSH,12 +CMT,1,1,872,7.7,CSH,23.5 +CMT,1,1,952,6.9,CRD,21.5 +CMT,1,1,345,1.2,CSH,6.5 +CMT,1,1,765,6,CRD,19 +CMT,1,1,389,2.7,CSH,9.5 +CMT,1,1,199,0.8,CSH,5 +CMT,1,2,492,1.8,CSH,8.5 +CMT,1,2,289,1.2,CSH,6.5 +CMT,1,4,1093,5.6,CSH,19 +CMT,1,2,1015,3,CSH,14 +CMT,1,1,141,0.1,CRD,3.5 +CMT,1,1,369,1.5,CRD,7 +CMT,1,1,603,1.6,CRD,8.5 +CMT,1,1,138,0.8,CRD,4.5 +CMT,1,1,421,1.6,CRD,8 +CMT,1,4,1001,1.7,CSH,11.5 +CMT,1,2,834,4.4,CRD,16 +CMT,1,2,677,1.8,CRD,10 +CMT,1,3,1418,5.3,CRD,20 +CMT,1,1,429,1.8,CRD,8 +CMT,1,2,1224,11.6,CRD,33.5 +CMT,1,1,657,6.6,CRD,19.5 +CMT,1,2,550,3.6,CRD,12 +CMT,1,1,1187,5.9,CRD,20 +CMT,1,1,79,0.5,CRD,3.5 +CMT,1,1,1041,4.9,CRD,17 +CMT,1,1,171,0.4,CSH,4 +CMT,1,1,220,0.9,CRD,5 +CMT,1,1,121,0.5,CRD,4 +CMT,1,1,858,4.2,CRD,15 +CMT,1,1,337,2.1,CSH,8 +CMT,1,1,381,1.3,CSH,6.5 +CMT,1,1,883,1.9,CRD,11 +CMT,1,2,306,1.2,CSH,6 +CMT,1,1,1857,14.9,CRD,41.5 +CMT,1,2,1403,5.6,CRD,20.5 +CMT,1,2,641,2.3,CSH,10.5 +CMT,1,1,1554,10.4,CRD,32.5 +CMT,1,1,343,0.9,CSH,6 +CMT,1,3,295,0.8,CRD,5.5 +CMT,1,2,263,1,CSH,5.5 +CMT,1,2,207,0.5,CRD,4.5 +CMT,1,2,1479,5.3,CRD,21 +CMT,1,2,486,2.3,CRD,9 +CMT,1,1,401,1.6,CRD,7.5 +CMT,1,2,372,0.7,CSH,6 +CMT,1,1,699,3.4,CRD,13 +CMT,1,1,584,2.3,CRD,10 +CMT,1,1,665,3.1,CSH,11.5 +CMT,1,1,604,1.6,CRD,9 +CMT,1,1,367,0.9,CSH,6 +CMT,1,1,816,2.9,CSH,12.5 +CMT,1,2,101,0.4,CSH,3.5 +CMT,1,2,1239,4,CSH,16.5 +VTS,1,1,300,0.75,CSH,5.5 +VTS,1,1,180,1.57,CSH,6 +VTS,1,1,300,2.51,CRD,8.5 +VTS,1,1,480,1.62,CRD,8 +VTS,1,1,480,2.45,CSH,10 +VTS,1,1,480,3.13,CSH,10.5 +VTS,1,1,480,1.44,CRD,8 +VTS,1,1,480,1.24,CSH,7.5 +VTS,2,1,2940,17.33,CSH,52 +VTS,1,1,780,0.78,CRD,9.5 +VTS,1,1,300,0.74,CSH,5 +VTS,1,1,240,0.96,CSH,5.5 +VTS,1,1,360,0.82,CSH,5.5 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,720,6.56,CRD,19.5 +VTS,1,1,720,1.61,CRD,9.5 +VTS,1,1,120,0.37,CRD,3.5 +VTS,1,1,180,0.85,CRD,5 +VTS,1,1,120,0.6,CSH,4 +VTS,1,1,600,1.47,CRD,8.5 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,660,0.91,CRD,8.5 +VTS,1,1,480,1.12,CRD,7 +VTS,1,1,660,2.85,CRD,10.5 +VTS,1,1,480,2.05,CSH,8 +VTS,1,1,300,1.17,CRD,6.5 +VTS,1,1,300,1.67,CRD,7 +VTS,1,1,300,1.43,CSH,7 +VTS,1,1,180,0.53,CSH,4 +VTS,1,1,240,2,CSH,7 +VTS,1,1,840,2.55,CSH,12 +VTS,1,1,600,1.61,CSH,9 +VTS,1,1,780,2.04,CSH,10.5 +VTS,1,1,180,0.48,CRD,4 +VTS,1,1,480,2.67,CSH,9.5 +VTS,1,1,420,1.48,CSH,8 +VTS,1,1,540,2.23,CSH,9.5 +VTS,1,1,300,0.79,CSH,5.5 +VTS,1,1,1680,5.54,CRD,22 +VTS,1,1,1800,5,CRD,23 +VTS,1,1,180,0.45,CSH,4 +VTS,1,1,240,0.65,CRD,4.5 +VTS,1,1,900,4.55,CSH,15 +VTS,1,1,960,4.19,CRD,16 +VTS,1,1,360,0.7,CRD,6 +VTS,1,1,960,3.29,CSH,13 +VTS,1,1,300,1.82,CRD,7 +VTS,1,1,540,1.11,CRD,7.5 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,480,2.24,CRD,9 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,1,780,1.57,CRD,9.5 +VTS,1,1,780,2.37,CSH,11 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,1,60,0.52,CSH,3.5 +VTS,1,1,240,0.97,CRD,5 +VTS,1,1,360,1.47,CSH,6.5 +VTS,1,1,240,1.2,CRD,6 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,900,4.47,CRD,16 +VTS,1,1,540,2.43,CRD,10 +VTS,1,1,480,0.76,CRD,6.5 +VTS,1,1,960,3.54,CSH,14 +VTS,1,1,360,0.82,CSH,6 +VTS,1,1,300,0.68,CSH,5 +VTS,1,1,540,1.91,CRD,9.5 +VTS,1,1,300,0.99,CSH,6 +CMT,1,1,789,6.5,CRD,19.5 +CMT,1,1,493,1.4,CSH,8 +CMT,1,1,1355,5.6,CRD,21 +CMT,1,1,603,2.4,CRD,10 +CMT,1,1,1421,11,CRD,33 +VTS,1,1,180,1.09,CRD,5.5 +VTS,1,1,300,2.1,CRD,7.5 +VTS,1,1,240,1.16,CSH,6 +VTS,1,1,240,1.08,CRD,6 +VTS,1,1,1080,4.09,CSH,16.5 +VTS,1,1,1680,5.55,CSH,17 +VTS,1,1,480,1.27,CRD,7 +VTS,1,1,1020,6.75,CRD,21.5 +VTS,1,1,720,2.26,CSH,10 +VTS,1,1,840,2.59,CSH,10 +VTS,1,1,180,1.29,CSH,6 +VTS,1,1,360,2.23,CRD,8.5 +VTS,1,1,120,0.61,CSH,4 +VTS,1,1,120,0.62,CRD,4 +VTS,1,1,360,1.62,CSH,7 +VTS,1,1,420,1.55,CSH,7 +VTS,1,1,420,0.91,CSH,7 +VTS,1,1,720,8.33,CSH,18.5 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,1,240,1.27,CRD,5.5 +VTS,1,1,900,1.91,CRD,11.5 +CMT,1,1,543,3,CRD,10.5 +CMT,1,1,1004,6.3,CSH,20 +VTS,1,1,720,3.24,CRD,12 +VTS,1,1,420,1.58,CRD,7 +VTS,1,1,360,1.5,CRD,7 +VTS,1,1,780,3.32,CSH,12 +VTS,1,1,240,1.07,CSH,5.5 +VTS,1,1,240,0.6,CSH,5 +VTS,1,1,660,2.12,CSH,10.5 +VTS,1,1,780,2.24,CSH,11 +VTS,1,1,900,4.28,CSH,15.5 +VTS,1,1,360,1.34,CRD,7 +VTS,1,1,180,1.33,CRD,6 +VTS,1,1,300,1.91,CSH,7.5 +VTS,1,1,180,1.01,CRD,5 +VTS,1,1,1020,3.29,CRD,14 +VTS,1,1,240,1.15,CSH,5.5 +VTS,1,1,420,0.93,CRD,6 +VTS,1,1,300,1.12,CRD,6 +VTS,1,1,720,3.72,CRD,13 +VTS,1,1,180,1.8,CSH,6.5 +VTS,1,1,540,1.94,CSH,8.5 +VTS,1,1,240,0.98,CSH,5.5 +VTS,1,2,240,0.66,CSH,4.5 +VTS,1,1,180,0.71,CRD,4 +VTS,1,1,120,0.56,CRD,4 +VTS,1,1,240,0.41,CSH,4.5 +VTS,1,1,300,1.07,CSH,5.5 +VTS,1,1,300,0.96,CSH,6 +VTS,1,1,900,2.21,CSH,11.5 +VTS,1,1,2340,10.49,CSH,38.5 +VTS,1,1,600,2.44,CSH,10 +VTS,1,1,300,1.77,CSH,7 +VTS,1,1,180,0.81,CRD,5 +VTS,1,1,480,2.04,CRD,8 +VTS,1,1,720,2.77,CRD,11 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,1,180,0.82,CSH,5 +VTS,1,1,360,1.73,CSH,7.5 +VTS,1,1,420,1.44,CSH,7 +VTS,1,1,840,1.76,CRD,10 +VTS,1,1,660,2.74,CRD,10.5 +VTS,1,1,240,1,CSH,5.5 +VTS,1,1,240,0.98,CSH,5 +VTS,1,1,600,2.14,CSH,9.5 +VTS,1,1,420,1.64,CSH,7.5 +VTS,1,1,420,1.61,CRD,7.5 +VTS,1,1,300,1.19,CSH,6.5 +VTS,1,1,600,2.93,CRD,11 +VTS,3,1,1800,15.3,CRD,60.5 +VTS,1,1,300,1.74,CSH,7 +VTS,1,1,420,1.12,CSH,7 +VTS,1,1,420,1.83,CSH,8 +VTS,1,1,300,1.78,CRD,7 +VTS,1,1,360,2.2,CRD,8.5 +VTS,1,1,600,2.2,CRD,9 +VTS,1,1,840,2.36,CRD,12 +VTS,1,1,600,2.72,CSH,10.5 +VTS,1,1,720,1.38,CSH,9.5 +VTS,1,1,480,1.27,CRD,7 +VTS,1,1,180,1.17,CRD,5.5 +VTS,1,1,660,2.68,CRD,11 +VTS,1,1,540,2.25,CRD,9.5 +VTS,1,1,300,1.09,CSH,6.5 +VTS,1,1,540,2.08,CSH,9 +VTS,1,1,60,0.36,CSH,3 +VTS,1,1,600,1.74,CSH,9 +VTS,1,1,540,1.9,CSH,9 +VTS,1,1,360,1.94,CRD,7.5 +VTS,1,1,180,0.88,CSH,4.5 +VTS,1,1,900,1.57,CRD,10.5 +VTS,1,1,480,2.23,CRD,8.5 +VTS,1,1,1380,3.93,CRD,17.5 +VTS,1,1,900,2.08,CSH,11.5 +VTS,1,1,1380,5.54,CRD,20 +VTS,1,1,120,0.34,CSH,4 +VTS,1,1,1260,3.75,CRD,16.5 +VTS,1,1,660,1.94,CRD,9 +CMT,1,1,753,2.4,CSH,11 +CMT,1,2,1137,3.7,CSH,15.5 +CMT,1,2,664,2.2,CSH,10 +CMT,1,1,525,1.6,CRD,8 +CMT,1,1,979,8.3,CRD,25 +CMT,1,2,278,0.8,CSH,5.5 +CMT,1,2,585,2,CRD,9 +CMT,4,2,1479,4.7,CSH,18 +CMT,1,1,80,0.2,CSH,3 +CMT,1,2,1249,3.8,CRD,17 +VTS,1,1,360,1.84,CSH,8 +VTS,1,1,660,2.97,CSH,12 +VTS,1,1,540,4,CRD,13 +VTS,1,1,840,3.92,CRD,14.5 +VTS,1,1,240,1,CSH,5.5 +VTS,1,1,600,1.95,CSH,9.5 +VTS,1,1,780,4.3,CRD,14.5 +VTS,1,1,240,0.72,CSH,5 +VTS,1,1,480,2.44,CSH,9 +VTS,1,1,660,2.23,CSH,10.5 +VTS,1,1,420,2.22,CSH,9 +VTS,1,1,240,0.7,CSH,4.5 +VTS,1,1,1800,5.77,CSH,23.5 +VTS,1,1,300,0.84,CRD,5.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,240,0.91,CRD,5 +VTS,1,1,480,1.7,CRD,8 +VTS,1,1,1080,4.51,CRD,17 +VTS,1,1,240,1.44,CSH,6.5 +VTS,1,1,240,2.33,CRD,8 +VTS,1,1,420,1.39,CRD,7.5 +VTS,1,1,1500,5.76,CSH,21 +VTS,1,1,360,1.12,CRD,6 +VTS,1,1,120,0.57,CRD,4 +VTS,1,1,240,0.99,CRD,5 +VTS,1,1,240,0.9,CSH,5.5 +VTS,1,1,420,2.53,CSH,9 +VTS,1,1,360,0.92,CRD,5.5 +VTS,1,1,480,1.86,CRD,8 +VTS,1,1,480,3.08,CSH,10.5 +VTS,1,1,240,1.02,CRD,6 +VTS,1,1,240,0.92,CRD,5 +VTS,1,1,120,0.71,CSH,4 +VTS,1,1,60,0.17,CSH,3 +VTS,1,1,240,1.06,CRD,5.5 +VTS,1,1,840,0.68,CRD,9.5 +VTS,1,1,1080,2.21,CRD,13 +VTS,1,1,240,1.25,CRD,5.5 +VTS,1,1,360,1.04,CRD,6.5 +VTS,1,1,360,1.02,CSH,6.5 +VTS,1,1,780,3.48,CSH,13 +VTS,1,1,360,2.03,CSH,8 +VTS,1,1,420,1.08,CRD,6.5 +VTS,1,1,240,1.18,CRD,6 +VTS,1,1,720,3.39,CRD,13 +VTS,1,1,120,0.56,CRD,4 +VTS,1,1,720,1.66,CSH,9.5 +VTS,1,1,300,2.43,CSH,8.5 +VTS,1,1,960,2.54,CSH,12.5 +VTS,1,1,600,1.06,CRD,8 +VTS,1,1,540,0.99,CRD,7 +VTS,1,1,300,0.45,CSH,5 +VTS,1,1,900,2.46,CRD,12.5 +VTS,1,1,660,2.43,CSH,11 +VTS,1,1,360,0.58,CSH,5.5 +VTS,1,1,780,2.55,CSH,11 +VTS,1,1,480,1.84,CRD,8.5 +VTS,1,1,240,1.44,CRD,6 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,1080,1.5,CRD,12 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,600,1.9,CRD,9 +VTS,1,1,120,0.56,CRD,4 +VTS,1,1,420,1.34,CRD,7.5 +VTS,1,1,720,1.98,CRD,10 +VTS,1,1,600,2.79,CSH,10.5 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,600,1.45,CRD,8.5 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,300,1.1,CSH,6 +VTS,1,1,300,0.72,CRD,5 +VTS,1,1,360,1.2,CRD,6 +VTS,1,1,780,1.41,CSH,10 +VTS,1,1,780,2.22,CRD,11 +VTS,1,1,240,0.69,CSH,5 +VTS,1,1,660,1.67,CSH,9 +VTS,1,1,300,1.42,CRD,7 +VTS,1,1,360,0.9,CRD,6 +VTS,2,1,2820,16.88,CSH,52 +VTS,1,1,300,1.05,CSH,5.5 +VTS,1,1,1500,3.41,CRD,17 +VTS,1,1,540,2.12,CRD,9 +VTS,1,1,420,1.89,CSH,8 +VTS,1,1,120,0.82,CSH,4.5 +VTS,1,1,780,2.37,CRD,11 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,1,540,1.51,CRD,8.5 +VTS,1,1,600,1.34,CRD,8.5 +VTS,1,1,480,1.87,CSH,8.5 +VTS,1,2,480,2.4,CSH,9.5 +VTS,1,1,420,1.92,CRD,8 +VTS,1,1,840,1.63,CSH,10.5 +VTS,1,1,1320,9.89,CRD,29 +VTS,1,1,420,1.51,CRD,7.5 +VTS,1,1,900,8.63,CSH,24.5 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,480,0.53,CRD,6 +VTS,1,1,240,0.89,CSH,5.5 +VTS,1,1,360,0.6,CSH,5.5 +VTS,1,1,480,0.84,CSH,6.5 +VTS,1,1,480,1.15,CSH,7.5 +VTS,1,1,600,0.98,CSH,7.5 +VTS,1,1,720,2.38,CRD,11.5 +VTS,1,1,420,1.05,CRD,7 +VTS,1,1,120,0.69,CSH,4 +VTS,1,1,480,1.68,CRD,8 +VTS,1,1,540,1.63,CRD,8 +VTS,1,1,540,1.07,CRD,7.5 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,780,1.95,CSH,10.5 +VTS,1,1,660,2.35,CSH,10 +VTS,1,1,360,1.11,CSH,6 +VTS,1,1,540,2.07,CSH,9.5 +VTS,1,1,420,1.67,CRD,7.5 +VTS,1,1,600,1.84,CRD,9 +VTS,1,1,60,0.57,CSH,3.5 +VTS,1,1,600,2.26,CRD,10 +VTS,1,1,420,1.97,CRD,8 +VTS,1,1,120,0.61,CSH,4 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,480,1.64,CSH,8.5 +VTS,1,1,360,1.5,CRD,7 +VTS,1,1,120,0.47,CRD,3.5 +VTS,1,1,360,0.94,CRD,6 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,300,0.75,CRD,5 +VTS,1,1,240,0.29,CRD,4 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,480,1.5,CRD,8 +VTS,1,1,1140,5.34,CRD,19.5 +VTS,1,1,840,4.83,CRD,16.5 +VTS,1,1,120,0.15,CSH,3.5 +VTS,1,1,540,1.53,CSH,8 +VTS,1,1,180,0.48,CRD,4.5 +VTS,1,1,600,1.31,CSH,8 +VTS,1,1,180,1,CRD,5 +VTS,1,1,660,1.61,CSH,9 +VTS,1,1,660,1.95,CRD,10.5 +VTS,1,1,420,2.69,CRD,9.5 +VTS,1,1,720,2.63,CSH,11 +VTS,1,1,840,2.24,CRD,11.5 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,900,1.42,CRD,10 +VTS,1,1,780,2.95,CRD,12 +VTS,1,1,120,0.44,CSH,3.5 +VTS,1,1,600,2.67,CRD,10.5 +VTS,2,1,2700,15.89,CRD,52 +VTS,1,1,660,1.71,CSH,9.5 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,540,1.45,CRD,8 +VTS,1,1,480,1.21,CSH,7.5 +VTS,1,1,300,1.26,CRD,6 +VTS,1,1,780,1.89,CSH,9.5 +VTS,1,1,960,3.75,CRD,14.5 +VTS,1,1,420,1.12,CRD,6.5 +VTS,1,1,360,0.58,CRD,5.5 +VTS,1,1,420,1.01,CRD,6.5 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,360,0.93,CSH,6 +VTS,1,1,420,1,CRD,6.5 +VTS,1,1,1500,4.36,CRD,18 +VTS,1,1,300,0.97,CRD,6 +VTS,1,1,240,0.47,CSH,4.5 +VTS,1,1,540,1.34,CRD,8 +VTS,1,1,300,1.05,CRD,6 +VTS,1,1,300,1.69,CRD,7 +VTS,1,1,120,0.82,CRD,4.5 +VTS,1,1,1260,2.49,CRD,14.5 +VTS,1,1,540,1.11,CSH,7 +VTS,1,1,660,2.16,CRD,10 +VTS,1,1,900,3.25,CSH,13 +VTS,1,1,360,0.61,CSH,5.5 +VTS,1,1,420,0.96,CSH,6.5 +VTS,1,1,1380,10.3,CRD,30 +VTS,1,1,300,0.57,CSH,5.5 +VTS,1,1,1200,3.41,CSH,15.5 +VTS,1,1,120,0.95,CSH,4.5 +VTS,1,1,780,2.74,CSH,12 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,480,2.05,CSH,8.5 +VTS,1,1,360,1.59,CSH,7.5 +VTS,1,1,180,0.94,CSH,4.5 +VTS,1,1,120,0.92,CRD,4.5 +VTS,1,1,420,1.49,CRD,7.5 +VTS,1,1,960,2.74,CSH,12.5 +VTS,1,1,600,2.14,CRD,9.5 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,660,3.6,CSH,13 +VTS,1,1,300,0.53,CRD,4.5 +VTS,1,1,120,0.77,CSH,4 +VTS,1,1,0,0.04,CSH,2.5 +VTS,1,1,360,2.27,CRD,8.5 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,1,840,2.7,CSH,12 +VTS,1,1,780,3.02,CSH,12 +VTS,1,1,240,0.94,CRD,5.5 +VTS,1,1,660,1.66,CSH,9 +VTS,2,1,1860,17.04,CSH,52 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,360,0.6,CRD,5.5 +VTS,1,1,540,3.34,CRD,11.5 +VTS,1,1,540,1.83,CRD,9 +VTS,1,1,240,0.81,CSH,4.5 +VTS,1,1,660,2.27,CSH,10.5 +VTS,1,1,180,1.25,CRD,5.5 +VTS,1,1,240,1.31,CSH,6 +VTS,1,1,360,0.47,CRD,5.5 +VTS,1,1,780,2.47,CRD,11.5 +VTS,1,1,1080,3.73,CRD,15.5 +VTS,1,1,180,0.84,CRD,4.5 +VTS,1,1,120,0.58,CSH,4 +VTS,1,1,180,1.01,CSH,5.5 +VTS,1,1,660,3,CRD,11.5 +VTS,1,1,960,1.86,CRD,11.5 +VTS,1,1,900,1.79,CRD,11.5 +VTS,1,1,540,1.96,CRD,9 +VTS,1,1,1020,11.59,CRD,32 +VTS,1,1,120,0.53,CRD,4 +VTS,1,1,420,1.3,CSH,7 +VTS,1,1,900,2.18,CSH,11.5 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,420,1.53,CSH,7 +VTS,1,1,600,1.45,CRD,8.5 +VTS,1,1,300,1.27,CSH,6.5 +VTS,1,1,360,1.56,CRD,7 +VTS,1,1,420,1.59,CRD,7.5 +VTS,1,1,480,1.31,CSH,7.5 +VTS,1,1,180,0.55,CSH,4 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,660,1.96,CRD,10 +VTS,1,1,120,0.47,CRD,4 +VTS,1,1,660,3.12,CSH,11.5 +VTS,1,1,540,1.75,CSH,8.5 +VTS,1,1,1620,4.12,CRD,19.5 +VTS,1,1,300,0.73,CSH,5 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,60,0.31,CSH,3 +VTS,1,1,180,0.43,CRD,4 +VTS,1,1,420,1.32,CSH,7 +VTS,1,1,660,2.06,CSH,9.5 +VTS,1,1,600,1.19,CSH,8 +VTS,1,1,180,1.22,CRD,5.5 +VTS,1,1,300,1.43,CRD,6.5 +VTS,1,1,240,1.19,CSH,5.5 +VTS,1,1,660,0.72,CSH,8 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,780,1.51,CSH,10 +VTS,1,1,480,0.96,CRD,7 +VTS,1,1,60,0.43,CSH,3.5 +VTS,1,1,300,1.2,CRD,6 +VTS,1,1,480,1.14,CSH,7 +VTS,1,1,60,0.32,CSH,3.5 +VTS,1,1,480,2.03,CRD,8.5 +VTS,1,1,240,1.41,CRD,6.5 +VTS,1,1,120,0.52,CSH,4 +VTS,1,1,360,0.98,CRD,6 +VTS,1,1,120,1.31,CRD,5.5 +VTS,1,1,120,0.6,CSH,4 +VTS,1,1,600,3.44,CSH,11.5 +VTS,1,1,780,3.13,CRD,12.5 +VTS,1,1,480,1.08,CSH,7 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,780,3.9,CSH,14.5 +VTS,1,1,660,4.84,CSH,15.5 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,600,2.12,CRD,9.5 +VTS,1,1,660,1.88,CRD,10 +VTS,1,1,600,1.66,CRD,8.5 +VTS,1,1,1200,4.11,CRD,16.5 +VTS,1,1,540,1.56,CRD,8 +VTS,1,1,1080,8.23,CRD,23.5 +VTS,1,1,1140,2.97,CSH,15 +VTS,1,1,660,2.32,CSH,10.5 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,600,0.48,CSH,8 +VTS,1,1,540,1.88,CSH,9 +VTS,1,1,600,2.34,CRD,9.5 +VTS,1,1,600,3.2,CSH,12 +VTS,1,1,360,0.74,CRD,5.5 +VTS,1,1,420,1.21,CRD,6.5 +VTS,1,1,480,1.06,CRD,7 +VTS,1,1,240,0.69,CRD,4.5 +VTS,1,1,300,1.56,CRD,6.5 +VTS,1,1,540,2.12,CRD,9 +VTS,1,1,540,1.74,CRD,8.5 +VTS,1,1,600,1.44,CRD,8.5 +VTS,1,1,960,2.41,CRD,11.5 +VTS,1,1,240,1.15,CSH,6 +VTS,1,1,120,0.31,CSH,3.5 +VTS,1,1,420,2.92,CRD,10 +VTS,1,1,480,1.55,CRD,8 +VTS,1,1,240,1.25,CRD,6 +VTS,1,1,600,2.55,CRD,10.5 +VTS,1,1,180,1.12,CSH,5 +VTS,1,1,300,1.58,CRD,6.5 +VTS,1,1,360,1.92,CSH,7.5 +VTS,1,1,660,2.27,CRD,10.5 +VTS,1,1,600,2.64,CRD,10 +VTS,1,1,780,3.6,CRD,13 +VTS,1,1,360,1.78,CRD,7.5 +VTS,1,1,480,3.11,CRD,11 +VTS,1,1,1320,10.15,CRD,29.5 +VTS,1,1,840,2.03,CRD,11 +VTS,1,1,360,1.46,CRD,7 +VTS,1,1,780,1.75,CRD,10 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,840,2.55,CRD,12 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,1,600,1.11,CRD,7.5 +VTS,1,1,180,0.91,CSH,5 +VTS,1,1,120,0.84,CSH,5 +VTS,1,1,540,2.03,CRD,9 +VTS,1,1,600,2.42,CSH,9.5 +VTS,1,1,420,2.84,CRD,10 +VTS,1,1,480,1.3,CRD,7 +VTS,1,1,360,1.43,CSH,6.5 +VTS,1,1,960,2.18,CRD,12 +VTS,1,1,660,1.25,CRD,8.5 +VTS,1,1,840,1.94,CRD,11 +VTS,1,1,960,3.29,CRD,13.5 +VTS,1,1,120,0.44,CSH,4 +VTS,1,1,300,1.2,CRD,6.5 +VTS,1,1,420,2.41,CRD,9 +VTS,1,1,1560,11,CRD,32 +VTS,1,1,420,1.82,CRD,8 +VTS,1,1,1200,3.18,CSH,15 +VTS,1,1,420,2.26,CRD,9 +VTS,1,1,360,1.11,CSH,6 +VTS,1,1,720,2.88,CSH,11.5 +VTS,1,1,540,1.85,CSH,8.5 +VTS,1,1,960,4.07,CSH,15 +VTS,1,1,600,2.45,CSH,10 +VTS,1,1,720,2.15,CRD,10.5 +VTS,1,1,180,0.42,CRD,4 +VTS,1,1,300,0.66,CSH,5 +VTS,1,1,360,0.97,CSH,6.5 +VTS,1,1,900,1.56,CSH,11 +VTS,1,1,300,0.6,CSH,4.5 +VTS,1,1,240,0.64,CSH,4.5 +VTS,1,1,480,1.1,CRD,7 +VTS,1,1,180,0.47,CRD,4 +VTS,1,1,300,0.58,CRD,5 +VTS,1,1,840,1.73,CRD,11 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,2160,10.19,CRD,34 +VTS,1,1,660,2.45,CRD,10 +VTS,1,1,480,0.9,CRD,7 +VTS,1,1,420,1.54,CSH,8 +VTS,1,1,1080,1.26,CRD,12.5 +VTS,1,1,540,1.38,CRD,8 +VTS,1,1,300,1.69,CRD,7 +VTS,1,1,180,0.87,CSH,5 +VTS,1,1,1140,6.26,CSH,20.5 +VTS,1,1,540,1.35,CRD,7.5 +VTS,1,1,2040,8.94,CRD,28.5 +VTS,1,1,240,1.15,CSH,6 +VTS,1,1,480,2.23,CSH,9 +VTS,1,1,300,0.53,CSH,5 +VTS,1,1,360,0.47,CSH,5 +VTS,1,1,180,0.82,CSH,5 +VTS,1,1,480,1.33,CSH,6 +VTS,1,1,720,1.86,CRD,10 +VTS,1,1,540,3.25,CSH,11.5 +VTS,1,1,780,2.88,CRD,12 +VTS,1,1,540,1.86,CRD,8.5 +VTS,1,1,480,1.59,CSH,7.5 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,1,180,0.36,CSH,4 +VTS,1,1,420,2.86,CSH,10 +VTS,1,1,900,3.71,CSH,14 +VTS,1,1,780,1.43,CSH,9.5 +VTS,1,1,120,0.68,CRD,4 +VTS,1,1,480,1.95,CSH,8 +VTS,1,1,300,0.92,CSH,6 +VTS,1,1,720,1.51,CRD,9.5 +VTS,1,1,120,0.25,CRD,3.5 +VTS,1,1,720,1.87,CSH,9.5 +VTS,1,1,360,1.2,CSH,6.5 +VTS,1,1,480,1.36,CRD,7.5 +VTS,1,1,540,2.25,CSH,9.5 +VTS,1,1,60,0.26,CRD,3 +VTS,1,1,240,0.92,CRD,5.5 +VTS,1,1,720,2.55,CRD,10.5 +VTS,1,1,660,2,CSH,10 +VTS,1,1,780,1.99,CRD,10.5 +VTS,1,1,660,1.15,CSH,8.5 +VTS,1,1,420,1.26,CSH,7 +VTS,1,1,720,1.82,CRD,9.5 +VTS,1,1,960,9.09,CSH,26 +VTS,1,1,600,3.02,CSH,10.5 +VTS,1,1,660,0.75,CRD,8 +VTS,1,1,240,0.59,CSH,5 +VTS,1,1,660,2.5,CSH,10.5 +VTS,1,1,300,1.76,CSH,7 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,600,2.49,CSH,10.5 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,960,2.62,CRD,12.5 +VTS,1,1,240,0.32,CSH,4.5 +VTS,1,1,480,1.41,CRD,7.5 +VTS,1,1,420,1.31,CRD,7 +VTS,1,1,420,1.35,CRD,7 +VTS,1,1,900,1.85,CRD,11 +VTS,1,1,420,1.51,CRD,7.5 +VTS,1,1,840,3.89,CSH,13.5 +VTS,1,1,1440,3.44,CSH,17 +VTS,1,1,1320,4.45,CRD,18 +VTS,1,1,120,0.8,CSH,4.5 +VTS,1,1,540,1.19,CRD,8 +VTS,1,1,1080,3.78,CSH,15.5 +VTS,1,1,300,1.01,CRD,6 +VTS,1,1,600,2.31,CRD,9.5 +VTS,1,1,1440,10.45,CRD,31.5 +VTS,1,1,1140,3.63,CSH,15 +VTS,1,1,840,2.06,CSH,10.5 +VTS,1,1,360,0.64,CRD,5.5 +VTS,1,1,480,1.44,CSH,7.5 +VTS,1,1,240,0.63,CRD,5 +VTS,1,1,240,0.63,CRD,5 +VTS,1,1,660,1.75,CSH,9 +VTS,1,1,660,1.34,CSH,9 +VTS,1,1,600,1.73,CRD,8.5 +VTS,1,1,660,1.48,CSH,8.5 +VTS,1,1,780,2.17,CSH,11 +VTS,1,1,1620,9.31,CSH,30.5 +VTS,1,1,420,1.66,CRD,7.5 +VTS,1,1,480,2.13,CSH,9 +VTS,1,1,720,2.19,CSH,10 +VTS,1,1,1020,7.82,CSH,24 +VTS,1,1,540,2.06,CSH,9.5 +VTS,1,1,660,3.94,CSH,13.5 +VTS,1,1,720,3.85,CSH,14 +VTS,1,1,1320,3.61,CSH,16.5 +VTS,1,1,1440,3.95,CRD,18 +VTS,1,1,420,2.69,CRD,9.5 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,240,1.23,CRD,6 +VTS,1,1,1440,7.76,CSH,25.5 +VTS,1,1,600,2.53,CRD,10.5 +VTS,1,1,960,2.55,CSH,12 +VTS,1,1,780,8.34,CSH,23.5 +VTS,1,1,180,0.84,CSH,4.5 +VTS,1,1,900,1.5,CSH,11 +VTS,1,1,780,3.41,CRD,12.5 +VTS,1,1,1320,6.04,CSH,20.5 +VTS,1,1,1080,2.56,CRD,13.5 +VTS,1,1,1260,3.35,CSH,16.5 +VTS,1,1,1020,3.17,CRD,14 +VTS,1,1,360,0.69,CSH,5.5 +VTS,1,1,300,0.5,CSH,5 +VTS,1,1,480,1.47,CSH,7.5 +VTS,1,1,180,0.39,CSH,4 +VTS,1,1,300,0.31,CSH,4.5 +VTS,1,1,600,1.56,CSH,8.5 +VTS,1,1,1380,9.55,CSH,29.5 +VTS,1,1,720,1.53,CSH,9.5 +VTS,1,1,360,1.23,CSH,6.5 +VTS,1,1,1200,5.17,CRD,19 +VTS,1,1,1140,2.83,CSH,14 +VTS,1,1,240,1.35,CRD,6 +VTS,1,1,540,1.65,CSH,8 +VTS,1,1,240,0.83,CRD,5 +VTS,1,1,660,1.87,CRD,9.5 +VTS,1,1,300,0.5,CSH,5.5 +VTS,1,1,1080,3.93,CRD,16 +VTS,1,1,720,2.16,CRD,10.5 +VTS,1,1,360,1.13,CRD,6.5 +VTS,1,1,660,1.89,CSH,9.5 +VTS,1,1,180,0.42,CSH,4 +VTS,1,1,660,1.39,CSH,8.5 +VTS,1,1,420,2.08,CSH,8.5 +VTS,1,2,360,0.94,CRD,6.5 +VTS,1,1,720,3.03,CSH,12.5 +VTS,1,1,900,9.47,CSH,27 +VTS,1,1,720,2.22,CSH,10 +VTS,1,1,240,1.31,CSH,5.5 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,240,0.63,CSH,5 +VTS,1,1,120,0.67,CSH,4 +VTS,1,1,300,0.78,CSH,5 +VTS,1,1,420,1.66,CSH,7.5 +VTS,1,1,1020,2.45,CSH,12.5 +VTS,1,1,660,2.41,CSH,10.5 +VTS,1,1,600,3.36,CSH,11.5 +VTS,1,1,420,0.75,CRD,6 +VTS,1,1,900,2.45,CSH,12 +VTS,1,1,360,1.48,CRD,7 +VTS,1,1,180,1.48,CSH,6 +VTS,1,1,780,2.31,CRD,11 +VTS,1,1,780,1.64,CRD,10 +VTS,1,1,300,0.65,CRD,5 +VTS,1,1,240,0.84,CSH,5.5 +VTS,1,1,780,3.89,CRD,14 +VTS,1,1,1020,2.06,CSH,12 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,600,1.63,CRD,8.5 +VTS,1,1,1380,3.55,CSH,12.5 +VTS,1,1,300,1.1,CSH,6 +VTS,1,1,1320,11.15,CSH,32.5 +VTS,1,1,480,1.36,CSH,7.5 +VTS,1,1,720,3.16,CSH,12.5 +VTS,1,1,300,0.54,CSH,5 +VTS,1,1,660,3.33,CSH,11.5 +VTS,1,1,900,2.76,CSH,12 +VTS,1,1,1080,5.68,CSH,19.5 +VTS,1,1,600,1.5,CSH,8.5 +VTS,1,1,360,0.98,CSH,6.5 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,480,1.23,CSH,7.5 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,1440,5.8,CSH,22 +VTS,1,1,420,2.59,CSH,10 +VTS,1,1,360,1.71,CSH,7.5 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,1,1080,3.51,CSH,13 +VTS,1,1,960,2.79,CSH,12.5 +VTS,1,1,900,1.7,CSH,11 +VTS,1,1,1020,6.06,CSH,19.5 +VTS,1,1,420,1.33,CSH,7 +VTS,1,1,660,1.95,CSH,9.5 +VTS,1,1,540,1.86,CSH,8.5 +VTS,1,1,360,1.47,CSH,7.5 +VTS,1,1,480,1.28,CSH,7.5 +VTS,1,1,600,1.46,CSH,8.5 +VTS,1,1,360,1.11,CRD,6.5 +VTS,1,1,540,2.12,CSH,9 +VTS,1,1,240,0.3,CSH,4.5 +VTS,1,1,420,1.39,CSH,7 +VTS,1,1,240,0.77,CSH,4.5 +VTS,1,1,720,1.95,CSH,10 +VTS,1,1,720,4.67,CSH,15.5 +VTS,1,1,180,0.79,CSH,5 +VTS,1,1,420,1.64,CRD,7 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,1020,2.51,CSH,10.5 +VTS,1,1,360,0.51,CSH,5 +VTS,1,1,540,1.77,CSH,8.5 +VTS,1,1,660,2.03,CSH,9.5 +VTS,1,1,300,0.68,CSH,5.5 +VTS,1,1,360,0.9,CSH,6 +VTS,1,1,720,2.58,CSH,11 +VTS,1,1,1380,8.81,CSH,29 +VTS,1,1,240,0.94,CSH,5 +VTS,1,1,600,1.42,CSH,8.5 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,240,1.14,CRD,6 +VTS,1,1,540,1.66,CSH,8.5 +VTS,1,1,1440,13.26,CSH,37.5 +VTS,1,1,600,2.34,CSH,10 +VTS,1,1,600,3.31,CSH,11.5 +VTS,1,1,180,1.07,CSH,5 +VTS,1,1,1200,5.81,CRD,20.5 +VTS,1,1,960,3.19,CSH,13 +VTS,1,1,480,1.9,CSH,8.5 +VTS,1,1,540,1.6,CSH,8 +VTS,1,1,240,1.49,CSH,6.5 +VTS,1,1,120,0,CSH,3 +VTS,1,1,120,0,CSH,3 +VTS,1,1,1500,2.96,CSH,13 +VTS,1,1,900,2.79,CSH,13 +VTS,1,1,1140,5.85,CSH,20 +VTS,1,1,1080,3.26,CSH,14.5 +VTS,1,1,1080,2.48,CSH,12.5 +VTS,1,1,240,1.17,CRD,5.5 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,600,1.85,CRD,9 +VTS,1,1,360,1.19,CSH,6.5 +VTS,1,1,420,1.23,CSH,7 +VTS,1,1,120,0.56,CSH,4 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,660,1.9,CRD,9.5 +VTS,1,1,60,0.61,CRD,4 +VTS,1,1,960,1.74,CSH,11.5 +VTS,1,1,480,2.4,CRD,9.5 +VTS,1,1,240,1.25,CRD,6 +VTS,1,1,420,2.18,CSH,8.5 +VTS,1,1,840,2.93,CRD,12 +VTS,1,1,540,1.63,CRD,8.5 +VTS,1,1,240,1.1,CRD,5.5 +VTS,1,1,180,0.82,CRD,4.5 +VTS,1,1,660,2.22,CRD,9.5 +VTS,1,1,540,1.36,CRD,7.5 +VTS,1,1,600,1.26,CRD,8 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,900,3.06,CRD,13.5 +VTS,1,1,780,3.8,CSH,13.5 +VTS,1,1,300,0.63,CSH,5 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,1020,4.32,CRD,16 +VTS,1,1,1020,5.39,CSH,19.5 +VTS,1,1,660,2.89,CRD,11.5 +VTS,1,1,120,0.97,CRD,5 +VTS,1,1,480,1.13,CSH,6.5 +VTS,1,1,420,1.89,CRD,7.5 +VTS,1,1,300,1.17,CRD,5.5 +VTS,1,1,720,3.9,CSH,14.5 +VTS,1,1,300,0.66,CSH,5.5 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,720,1.87,CRD,9.5 +VTS,1,1,300,1.12,CSH,6 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,420,2.26,CRD,8.5 +VTS,1,1,360,0.74,CRD,5.5 +VTS,1,1,420,1.34,CRD,7 +VTS,1,1,480,2.35,CRD,9 +VTS,1,1,660,1.81,CRD,9.5 +VTS,1,1,480,1.8,CRD,8.5 +VTS,1,1,1320,3.35,CRD,16.5 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,1140,4.62,CSH,17.5 +VTS,1,1,420,1.12,CRD,6.5 +VTS,1,1,600,2.06,CSH,9 +VTS,1,1,240,0.53,CSH,4.5 +VTS,1,1,360,1.62,CRD,7 +VTS,1,1,780,3,CRD,12.5 +VTS,1,1,1140,5.55,CRD,18.5 +VTS,1,1,180,0.57,CRD,4.5 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,600,2.07,CRD,9.5 +VTS,1,1,840,1.84,CRD,11 +VTS,1,1,180,0.86,CSH,4.5 +VTS,1,1,540,1.89,CSH,9 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,660,2.85,CSH,11.5 +VTS,1,1,300,0.63,CSH,5 +VTS,1,1,900,3.45,CSH,14.5 +VTS,1,1,180,0.99,CSH,5 +VTS,1,1,1260,6.23,CRD,20.5 +VTS,1,1,720,1.63,CRD,9.5 +VTS,1,1,480,1.6,CSH,7.5 +VTS,1,1,480,0.82,CSH,6.5 +VTS,1,1,540,1.37,CSH,8 +VTS,1,1,600,2.55,CRD,10 +VTS,1,1,480,2.12,CSH,8.5 +VTS,1,1,720,1.49,CSH,9 +VTS,1,1,660,2.72,CSH,10.5 +VTS,1,1,240,0.67,CSH,5 +VTS,1,1,540,2.6,CSH,10 +VTS,1,1,300,1.32,CSH,6.5 +VTS,1,1,660,1.93,CSH,9.5 +VTS,1,1,540,1.51,CSH,8 +VTS,1,1,600,2.91,CSH,11.5 +VTS,1,1,180,0.19,CSH,3.5 +VTS,1,1,480,1.32,CSH,7.5 +VTS,1,1,720,4.76,CSH,15 +VTS,1,1,300,0.72,CSH,5 +VTS,1,1,840,4.08,CSH,15 +VTS,1,1,660,2.35,CSH,10.5 +VTS,1,1,480,1.46,CSH,7.5 +VTS,1,1,300,1.63,CRD,6.5 +VTS,1,1,240,0.64,CSH,5 +VTS,1,1,900,3.17,CSH,13 +VTS,1,1,660,1.79,CSH,9 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,480,0.87,CSH,6.5 +VTS,1,1,180,0.89,CSH,5 +VTS,1,1,1140,3.73,CSH,16.5 +VTS,1,1,1260,8.32,CSH,26 +VTS,1,1,120,0.45,CSH,4 +VTS,1,1,780,2.42,CSH,11 +VTS,1,1,1080,3.34,CSH,14.5 +VTS,1,1,420,1.23,CSH,6.5 +VTS,1,1,540,2.03,CSH,8.5 +VTS,1,1,480,1.56,CSH,8 +VTS,1,1,660,2.6,CSH,11 +VTS,1,1,480,1.82,CSH,8.5 +VTS,1,1,960,1.74,CSH,12 +VTS,1,1,1020,2.92,CSH,13 +VTS,1,1,900,1.6,CSH,11 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,300,1.54,CSH,6.5 +VTS,1,1,780,5.98,CSH,19 +VTS,1,1,780,1.21,CSH,9.5 +VTS,1,1,960,2.67,CRD,13 +VTS,1,1,480,1.59,CSH,8 +VTS,1,1,300,1.56,CSH,7 +VTS,1,1,540,2.99,CSH,11 +VTS,1,1,540,2.03,CSH,9 +VTS,1,1,420,1.04,CSH,6 +VTS,1,1,360,1.42,CSH,6.5 +VTS,1,1,720,1.72,CSH,6.5 +VTS,1,1,420,0.94,CSH,6.5 +VTS,1,1,600,3.07,CSH,11.5 +VTS,1,1,720,1.95,CSH,9.5 +VTS,1,1,1140,2.86,CSH,11.5 +VTS,1,1,840,4.22,CSH,15 +VTS,1,1,1260,4.34,CRD,17 +VTS,1,1,600,2.99,CSH,11 +VTS,1,1,240,0.64,CSH,4.5 +VTS,1,1,420,2.4,CSH,9.5 +VTS,1,1,420,1.98,CRD,8.5 +VTS,1,1,480,1.73,CSH,7 +VTS,1,1,780,7.94,CSH,23 +VTS,1,1,1320,3.18,CRD,16 +VTS,1,1,420,1.52,CSH,7.5 +VTS,1,1,660,1.27,CSH,8.5 +VTS,1,1,240,0.85,CRD,5 +VTS,1,1,240,0.81,CSH,5 +VTS,1,1,540,1.46,CRD,8 +VTS,1,1,420,2.2,CRD,8.5 +VTS,1,1,180,0.48,CRD,4 +VTS,1,1,540,1.41,CSH,8 +VTS,1,1,120,0.35,CRD,4 +VTS,1,6,0,0,CSH,2.5 +VTS,1,1,720,2.46,CRD,10.5 +VTS,1,1,1740,3.97,CRD,20 +VTS,1,1,360,0.71,CSH,5.5 +VTS,1,1,240,1.07,CSH,5 +VTS,1,1,840,3.06,CSH,13 +VTS,1,1,600,2.3,CSH,9.5 +VTS,1,1,120,0.55,CSH,3.5 +VTS,1,1,180,1.66,CSH,6.5 +VTS,1,1,780,2.29,CSH,11 +VTS,1,1,600,2.1,CSH,9.5 +VTS,1,1,480,2.01,CSH,8.5 +VTS,1,1,1080,2.89,CSH,13.5 +VTS,1,1,960,3.63,CSH,15 +VTS,1,1,300,1.44,CSH,6.5 +VTS,1,1,660,2.04,CSH,9 +VTS,1,1,300,1.16,CSH,6 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,420,1.01,CSH,7 +VTS,1,1,600,2.1,CSH,10 +VTS,1,1,780,4.42,CRD,14.5 +VTS,1,1,540,3.96,CRD,13 +VTS,1,1,780,2.35,CSH,11.5 +VTS,1,1,600,2.52,CSH,10 +VTS,1,1,360,1.6,CSH,7 +VTS,1,1,960,3.18,CSH,13.5 +VTS,1,1,300,0.63,CSH,5 +VTS,1,1,360,1.48,CSH,6.5 +VTS,1,1,1380,5.78,CSH,20.5 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,900,3.96,CSH,15.5 +VTS,1,1,720,2.84,CRD,12 +VTS,1,1,240,0.42,CSH,4.5 +VTS,1,1,360,1.36,CSH,7 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,480,1.73,CSH,7 +VTS,1,1,600,1.54,CSH,9 +VTS,1,1,360,1.07,CSH,6 +VTS,1,1,1140,3.12,CRD,14.5 +VTS,1,1,840,4.46,CSH,16 +VTS,1,1,240,0.95,CRD,5.5 +VTS,1,1,660,1.59,CSH,8 +VTS,1,1,900,1.98,CSH,11 +VTS,1,1,300,1.46,CRD,6.5 +VTS,1,1,840,3.22,CRD,13 +VTS,1,1,180,1.04,CSH,5 +VTS,1,1,360,1.3,CRD,6.5 +VTS,1,1,600,2.53,CRD,10 +VTS,1,1,540,2.3,CSH,9.5 +VTS,1,1,360,1.89,CSH,7.5 +VTS,1,1,660,2.74,CRD,11.5 +VTS,1,1,420,2.02,CSH,8.5 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,480,1.2,CRD,7 +VTS,1,1,780,1.43,CSH,9.5 +VTS,1,1,660,1.13,CSH,8.5 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,1,840,2.48,CRD,11.5 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,540,2.07,CSH,9.5 +VTS,1,1,360,0.84,CRD,6 +VTS,1,1,240,1.48,CSH,6 +VTS,1,1,600,1.61,CSH,9 +VTS,1,1,120,0.51,CSH,3.5 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,360,1.5,CRD,7 +VTS,1,1,840,2.81,CRD,12 +VTS,1,1,540,2.01,CRD,9 +VTS,1,1,300,1.05,CRD,5.5 +VTS,1,1,1140,4.27,CSH,16 +VTS,1,1,240,0.63,CSH,5 +VTS,1,1,900,2.92,CSH,13 +VTS,1,1,1200,4.54,CRD,17.5 +VTS,1,1,1800,6.17,CSH,21 +VTS,1,1,1260,1.44,CSH,13.5 +VTS,1,1,480,1.55,CSH,7 +VTS,1,1,840,1.58,CSH,7.5 +VTS,1,1,600,1.88,CSH,8 +VTS,1,1,960,1.36,CSH,10.5 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,300,1.5,CRD,7 +VTS,1,1,960,2.7,CRD,12.5 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,1,540,1.59,CSH,8.5 +VTS,1,1,480,1.8,CRD,8 +VTS,1,1,300,1.27,CSH,6 +VTS,1,1,1320,7.37,CSH,24 +VTS,1,1,360,1.34,CSH,6.5 +VTS,1,1,960,2.34,CSH,12 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,1080,4.94,CSH,18 +VTS,1,1,1560,4.16,CSH,16 +VTS,1,1,60,0.27,CSH,3 +VTS,1,1,420,1.12,CSH,7 +VTS,1,1,540,2.02,CSH,8.5 +VTS,1,1,1020,2.89,CSH,13 +VTS,1,1,1440,11.08,CSH,32 +VTS,1,1,780,2.25,CSH,11 +VTS,1,1,720,2.44,CSH,10.5 +VTS,1,1,720,0.96,CSH,9 +VTS,1,1,540,1.06,CSH,7.5 +VTS,1,1,480,1.79,CRD,8.5 +VTS,1,1,780,4.51,CRD,15 +VTS,1,1,2160,5.55,CRD,25 +VTS,1,1,300,1.56,CRD,7 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,1,360,0.9,CSH,6 +VTS,1,1,660,2.08,CSH,10 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,900,4.23,CSH,15 +VTS,1,1,480,1.18,CSH,7 +VTS,1,1,1800,3.59,CSH,20 +VTS,1,1,960,2.14,CSH,10.5 +VTS,1,1,600,2.93,CSH,11 +VTS,1,1,480,1.61,CSH,7 +VTS,1,1,540,2.04,CSH,9 +VTS,1,1,1680,11.95,CSH,35 +VTS,1,1,660,2.48,CSH,10 +VTS,1,1,1260,6.94,CSH,23.5 +VTS,1,1,780,4.29,CSH,14.5 +VTS,1,1,1980,9.29,CSH,30.5 +VTS,1,1,1200,6.82,CSH,22 +VTS,1,1,900,5.52,CRD,17.5 +VTS,1,1,540,0.99,CSH,7.5 +VTS,1,1,60,0.53,CRD,3.5 +VTS,1,1,660,2.93,CSH,11 +VTS,1,1,360,0.91,CRD,6.5 +VTS,1,1,360,1.12,CSH,6 +VTS,1,1,540,2.29,CSH,9.5 +VTS,1,1,660,2.53,CSH,10 +VTS,1,1,1020,1.74,CSH,11.5 +VTS,1,1,840,2.55,CSH,10.5 +VTS,1,1,360,1.22,CSH,6.5 +VTS,1,1,240,1.24,CSH,6 +VTS,1,1,420,0.7,CSH,6 +VTS,1,1,420,1.24,CSH,7 +VTS,1,1,600,4.31,CSH,13.5 +VTS,1,1,120,0.66,CRD,4 +VTS,1,1,660,1.29,CSH,6 +VTS,1,1,600,1.25,CSH,8 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,840,5.54,CRD,16 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,600,3.87,CSH,13 +VTS,1,1,540,2.78,CSH,10 +VTS,1,1,180,1.25,CRD,5.5 +VTS,1,1,900,3,CSH,10 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,180,0.8,CSH,5 +VTS,1,1,720,3.14,CRD,12 +VTS,1,1,360,0.97,CSH,6 +VTS,1,1,480,1.75,CSH,8 +VTS,1,1,300,1.78,CSH,7 +VTS,1,1,660,2.81,CSH,11.5 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,600,1.79,CSH,8.5 +VTS,1,1,420,1.35,CSH,6.5 +VTS,1,1,120,0.44,CRD,3.5 +VTS,1,1,300,1.52,CRD,7 +VTS,1,1,1200,5.98,CSH,20.5 +VTS,1,1,300,1.29,CSH,6.5 +VTS,1,1,240,1.3,CSH,5.5 +VTS,1,1,480,1.67,CSH,7 +VTS,1,1,420,1.05,CSH,5 +VTS,1,1,360,1.28,CRD,6.5 +VTS,1,1,720,2.19,CSH,10 +VTS,1,1,480,2.38,CSH,8.5 +VTS,1,1,660,1.66,CRD,9 +VTS,1,1,120,0.43,CRD,3.5 +VTS,1,1,240,0.72,CRD,5 +VTS,1,1,420,2.69,CRD,9.5 +VTS,1,1,840,6.77,CRD,20.5 +VTS,1,1,360,1.52,CRD,7 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,600,1.38,CSH,8.5 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,1320,2.87,CSH,14 +VTS,1,1,600,2.45,CSH,10 +VTS,1,1,300,1.02,CSH,6 +VTS,1,1,780,2.48,CSH,11.5 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,840,3.08,CRD,13 +VTS,1,1,780,2.17,CSH,11 +VTS,1,1,300,0.87,CSH,6 +VTS,1,1,360,1.48,CRD,7 +VTS,1,1,300,1.04,CSH,6 +VTS,1,1,180,0.54,CSH,4 +VTS,1,1,900,3.05,CSH,12.5 +VTS,1,1,300,1.31,CSH,6 +VTS,1,1,720,3.16,CSH,11.5 +VTS,1,1,840,2.56,CSH,12 +VTS,1,1,960,2.71,CSH,12.5 +VTS,1,1,780,2.64,CSH,11 +VTS,1,1,960,4.37,CSH,16.5 +VTS,1,1,420,1.2,CSH,6.5 +VTS,1,1,720,1.87,CSH,9.5 +VTS,1,1,600,1.26,CSH,8 +VTS,1,1,360,0.83,CSH,5.5 +VTS,1,1,1260,6.63,CSH,22.5 +VTS,1,1,900,2.89,CRD,10 +VTS,1,1,720,2.19,CSH,10.5 +VTS,1,1,780,1.97,CSH,11 +VTS,1,1,900,2.3,CSH,11.5 +VTS,1,1,660,3.73,CRD,12 +VTS,1,1,240,0.88,CSH,5 +VTS,1,1,600,1.07,CSH,8 +VTS,1,1,660,2.35,CSH,10 +VTS,1,1,180,1.29,CSH,6 +VTS,1,1,60,0.62,CSH,4 +VTS,1,1,840,2.22,CSH,11 +VTS,1,1,360,0.89,CSH,6 +VTS,1,1,300,1.1,CSH,6 +VTS,1,1,300,0.83,CSH,5 +VTS,1,1,1380,3.02,CSH,16 +VTS,1,1,600,1.15,CSH,7.5 +VTS,1,1,300,0.52,CRD,5 +VTS,1,1,660,1.03,CSH,8.5 +VTS,1,1,1080,3.01,CRD,14 +VTS,1,1,420,1.3,CSH,5.5 +VTS,1,1,840,4.97,CRD,16 +VTS,1,1,360,1.29,CSH,6.5 +VTS,1,1,480,1,CRD,7 +VTS,1,1,540,3.36,CSH,11.5 +VTS,1,1,540,3.61,CSH,12 +VTS,1,1,780,2.67,CSH,11 +VTS,1,1,120,0.04,CSH,3 +VTS,1,1,480,1.54,CSH,8 +VTS,1,1,960,3.41,CSH,14 +VTS,1,1,960,3.64,CRD,15 +VTS,1,1,420,1.66,CSH,7.5 +VTS,1,1,240,1.55,CRD,6.5 +VTS,1,1,240,1.08,CSH,6 +VTS,1,1,780,3.76,CSH,13 +VTS,1,1,480,1.33,CSH,7 +VTS,1,1,120,0.57,CSH,4 +VTS,1,1,360,1.87,CSH,8 +VTS,1,1,600,2.89,CRD,10.5 +VTS,1,1,1500,6.99,CRD,24.5 +VTS,1,1,360,1.08,CSH,6.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,180,0,CSH,3.5 +VTS,1,1,960,3.35,CSH,14 +VTS,1,1,960,3.19,CSH,13.5 +VTS,1,1,480,0.63,CSH,6 +VTS,1,1,1020,4.03,CSH,16.5 +VTS,1,1,300,0.41,CSH,5 +VTS,1,1,420,1.98,CSH,8 +VTS,1,1,720,2.39,CRD,10.5 +VTS,1,1,900,3.71,CSH,15 +VTS,1,1,480,0.78,CRD,6.5 +VTS,1,1,300,1.59,CSH,7 +VTS,1,1,960,4.83,CSH,17 +VTS,1,1,300,0.89,CRD,5 +VTS,1,1,60,0.4,CRD,3.5 +VTS,1,1,960,3.96,CSH,15 +VTS,1,1,660,1.99,CSH,9.5 +VTS,1,1,1680,8.03,CSH,27.5 +VTS,1,1,2640,5.15,CSH,27.5 +VTS,1,1,1260,2.79,CSH,13 +VTS,1,1,780,4,CSH,14.5 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,420,1.1,CSH,5.5 +VTS,1,1,1200,3.15,CSH,15 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,600,2.46,CRD,10 +VTS,1,1,420,1.3,CSH,6 +VTS,1,1,300,0.95,CRD,6 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,660,3.79,CSH,13 +VTS,1,1,360,1.35,CSH,6.5 +VTS,1,1,420,1.79,CSH,7.5 +VTS,1,1,480,1.68,CSH,8 +VTS,1,1,420,1.39,CSH,7 +VTS,1,1,540,0.7,CSH,7 +VTS,1,1,660,2.82,CSH,11 +VTS,1,1,240,0.77,CSH,4 +VTS,1,1,1020,2.46,CSH,12.5 +VTS,1,1,960,2.82,CSH,13 +VTS,1,1,600,1.3,CSH,8.5 +VTS,1,1,780,1.42,CSH,9.5 +VTS,1,1,360,0.52,CSH,5.5 +VTS,1,1,660,2.79,CSH,11.5 +VTS,1,1,780,2.73,CSH,11 +VTS,1,1,420,1.15,CSH,6.5 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,120,0.87,CRD,4.5 +VTS,1,1,540,2,CSH,8.5 +VTS,1,1,300,1.48,CSH,6.5 +VTS,1,1,480,0.89,CSH,7 +VTS,1,1,360,0.89,CSH,6 +VTS,1,1,180,0.5,CSH,4 +VTS,1,1,660,2.82,CSH,11 +VTS,1,1,660,1.58,CSH,9 +VTS,1,1,420,1.61,CSH,8 +VTS,1,1,300,1.74,CSH,7.5 +VTS,1,1,1980,6.66,CSH,27 +VTS,1,1,900,3.39,CSH,13 +VTS,1,1,600,2.08,CSH,9 +VTS,1,1,1020,3.07,CSH,14.5 +VTS,1,1,960,4.38,CSH,17 +VTS,1,1,600,1.07,CSH,6.5 +VTS,1,1,840,2.13,CSH,11 +VTS,1,1,540,2.94,CRD,10.5 +VTS,1,1,540,1.49,CSH,8 +VTS,1,1,120,0.71,CRD,4 +VTS,1,1,660,2.36,CRD,10 +VTS,1,1,660,2.32,CRD,10.5 +VTS,1,1,600,1.42,CSH,6.5 +VTS,1,1,360,0.93,CSH,6 +VTS,1,1,480,1.32,CSH,7 +VTS,1,1,240,1.16,CSH,5.5 +VTS,1,1,480,1.22,CSH,7 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,240,0.65,CSH,5 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,360,1.03,CSH,5 +VTS,1,1,960,2.99,CSH,13.5 +VTS,1,1,1140,3.33,CSH,15.5 +VTS,1,1,600,2.38,CSH,9.5 +VTS,1,1,300,1.52,CSH,6.5 +VTS,1,1,720,3.43,CSH,13 +VTS,1,1,900,1.87,CSH,11 +VTS,1,1,360,0.63,CSH,5.5 +VTS,1,1,60,0.2,CSH,3 +VTS,1,1,840,3.51,CRD,13.5 +VTS,1,1,120,0.68,CRD,4 +VTS,1,1,600,2.21,CSH,9.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,1140,7.17,CSH,23 +VTS,1,1,1260,3.42,CSH,15 +VTS,1,1,840,2.33,CSH,9.5 +VTS,1,1,780,1,CSH,5 +VTS,1,1,1140,1.53,CSH,12.5 +VTS,1,1,840,2.64,CSH,11 +VTS,1,1,1200,3.5,CSH,14.5 +VTS,1,1,840,3.26,CSH,13 +VTS,1,1,600,2.86,CSH,11 +VTS,1,1,540,0.98,CSH,7.5 +VTS,1,1,300,0.78,CRD,5 +VTS,1,1,180,0.56,CSH,4 +VTS,1,1,840,3.62,CSH,12 +VTS,1,1,300,0.77,CSH,5 +VTS,1,1,540,2.29,CSH,9 +VTS,1,1,540,2.41,CSH,9.5 +VTS,1,1,840,2.91,CSH,11.5 +VTS,1,1,660,2.78,CSH,11.5 +VTS,1,1,420,1.93,CRD,7 +VTS,1,1,600,1.91,CSH,9.5 +VTS,1,1,300,1.42,CSH,6.5 +VTS,1,1,660,2.25,CSH,10 +VTS,1,1,360,1.57,CRD,7 +VTS,1,1,360,1.35,CRD,6.5 +VTS,1,1,540,2.99,CSH,10.5 +VTS,1,1,840,5.59,CRD,18.5 +VTS,1,1,240,1.53,CRD,6.5 +VTS,1,1,180,0.89,CRD,4.5 +VTS,1,1,660,2.41,CSH,10 +VTS,1,1,480,1.46,CSH,7 +VTS,1,1,900,4.58,CRD,15.5 +VTS,1,1,600,2.52,CSH,10.5 +VTS,1,1,480,1.1,CSH,7 +VTS,1,1,480,2.43,CRD,9 +VTS,1,1,180,0.39,CSH,4 +VTS,1,1,720,1.67,CRD,10 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,660,2.33,CSH,10.5 +VTS,1,1,540,2.28,CSH,9 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,840,3.5,CRD,13.5 +VTS,1,1,240,1.05,CSH,5.5 +VTS,1,1,420,1.54,CSH,7.5 +VTS,1,1,300,1.16,CSH,6 +VTS,1,1,900,3.09,CRD,13 +VTS,1,1,360,0.86,CSH,6 +VTS,1,1,300,0.54,CSH,5 +VTS,1,1,600,1.18,CSH,8.5 +VTS,1,1,180,0.92,CRD,5 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,600,2.1,CRD,10.5 +VTS,1,1,360,0.85,CSH,6 +VTS,1,1,660,3.08,CSH,11 +VTS,1,1,1200,4.36,CSH,17 +VTS,1,1,240,1.05,CSH,5 +VTS,1,1,540,2,CSH,9.5 +VTS,1,1,660,3.02,CSH,12 +VTS,1,1,600,2.11,CSH,9.5 +VTS,1,1,1140,3.81,CSH,15 +VTS,1,1,1380,4.37,CSH,17.5 +VTS,1,1,600,3.62,CSH,12 +VTS,1,1,1020,5.17,CSH,17.5 +VTS,1,1,600,1.87,CSH,8.5 +VTS,1,1,960,3.24,CSH,13.5 +VTS,1,1,300,1.15,CSH,5.5 +VTS,1,1,600,1.72,CSH,8.5 +VTS,1,1,480,2.41,CSH,10 +VTS,1,1,600,1.6,CSH,9 +VTS,1,1,660,2.95,CSH,11 +VTS,1,1,300,0.54,CSH,5 +VTS,1,1,660,2.6,CSH,11 +VTS,1,1,420,1.61,CRD,7.5 +VTS,1,1,480,3.73,CSH,12 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,240,0.87,CSH,5 +VTS,1,1,360,2.34,CSH,8.5 +VTS,1,1,660,2.72,CSH,10 +VTS,1,1,420,1.61,CSH,7 +VTS,1,1,1260,5.34,CSH,19 +VTS,1,1,540,1.32,CSH,7.5 +VTS,1,1,300,0.67,CSH,4.5 +VTS,1,1,120,0.55,CSH,4 +VTS,1,1,660,3.87,CRD,13.5 +VTS,1,1,1020,5.21,CRD,18.5 +VTS,1,1,360,0.99,CSH,6 +VTS,1,1,960,6.01,CSH,20 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,120,0.45,CSH,3.5 +VTS,1,1,360,1.24,CRD,6 +VTS,1,1,600,1.49,CSH,8.5 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,600,3.63,CSH,12.5 +VTS,1,1,360,1.49,CRD,7 +VTS,1,1,1080,4.21,CSH,16 +VTS,1,1,540,1.23,CSH,7.5 +VTS,1,1,480,1.42,CSH,7.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,540,1.59,CRD,8 +VTS,1,1,660,3.72,CSH,12.5 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,120,0.64,CSH,4.5 +VTS,1,1,420,1.93,CRD,8 +VTS,1,1,60,0,CSH,2.5 +VTS,1,1,360,1.14,CSH,6 +VTS,1,1,900,2.96,CSH,12.5 +VTS,1,1,480,0.96,CSH,6 +VTS,1,1,780,2.39,CSH,11 +VTS,1,1,840,4.16,CSH,15.5 +VTS,1,1,420,2.42,CSH,9.5 +VTS,1,1,240,0.94,CRD,5.5 +VTS,1,1,1140,3.62,CSH,15.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,780,3.44,CRD,11 +VTS,1,1,1200,3.1,CSH,14 +VTS,1,1,180,0.59,CSH,4 +VTS,1,1,960,4.79,CSH,17 +VTS,1,1,780,9.12,CSH,26 +VTS,1,1,840,2.7,CSH,12.5 +VTS,1,1,240,0.81,CSH,5 +VTS,1,1,900,4.2,CSH,15 +VTS,1,1,300,1.47,CSH,6 +VTS,1,1,1380,3.22,CSH,17 +VTS,1,1,720,2.36,CSH,10 +VTS,1,1,720,3.1,CSH,12 +VTS,1,1,360,0.63,CSH,5.5 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,540,3.17,CSH,11 +VTS,1,1,540,1.92,CRD,8.5 +VTS,1,1,1080,1.82,CSH,11.5 +VTS,1,1,540,2.48,CRD,10 +VTS,1,1,720,2.4,CSH,11 +VTS,1,1,300,1.43,CRD,6.5 +VTS,1,1,420,1.19,CRD,6.5 +VTS,1,1,660,1.27,CRD,8.5 +VTS,2,1,3180,20.29,CRD,52 +VTS,1,1,120,0,CSH,3 +VTS,1,1,120,0.23,CSH,3 +VTS,1,1,720,0.82,CSH,8.5 +VTS,1,1,900,5.13,CSH,16 +VTS,1,1,1320,9.86,CSH,29 +VTS,1,1,660,1.66,CSH,9 +VTS,1,1,240,0.72,CSH,5 +VTS,1,1,1560,2.27,CSH,16 +VTS,1,1,480,0.86,CSH,6.5 +VTS,1,1,360,1.51,CSH,6.5 +VTS,1,1,780,4.23,CSH,14 +VTS,1,1,420,2.45,CRD,9 +VTS,1,1,900,2.75,CSH,12.5 +VTS,1,1,1140,3.27,CSH,14.5 +VTS,1,1,480,0.69,CRD,7 +VTS,1,1,360,1.44,CRD,6.5 +VTS,1,1,840,3.24,CSH,13 +VTS,1,1,780,2.2,CRD,11 +VTS,1,1,780,2.95,CSH,12.5 +VTS,1,1,960,3.05,CRD,13 +VTS,1,1,300,0.79,CSH,4.5 +VTS,1,1,180,0.56,CRD,4 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,780,2.5,CSH,11 +VTS,1,1,780,4.24,CRD,14.5 +VTS,1,1,660,1.5,CSH,8.5 +VTS,1,1,840,2.76,CSH,12 +VTS,1,1,1740,4.69,CRD,21 +VTS,1,1,420,1.07,CSH,6 +VTS,1,1,840,3.15,CSH,12 +VTS,1,1,1080,4.37,CSH,16.5 +VTS,1,1,1020,6.71,CSH,21.5 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,240,0.72,CSH,5 +VTS,1,1,180,0.44,CSH,4 +VTS,1,1,1140,6.01,CRD,20 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,300,0.83,CSH,5 +VTS,1,1,600,2.44,CSH,10 +VTS,1,1,660,3.28,CSH,12.5 +VTS,1,1,360,1.12,CRD,6 +VTS,1,1,660,1.63,CSH,9 +VTS,1,1,300,1,CSH,6 +VTS,1,1,180,0.34,CSH,4 +VTS,1,1,660,1.51,CSH,7 +VTS,1,1,600,1.39,CSH,8.5 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,480,2.08,CSH,9 +VTS,1,1,120,0.55,CSH,4 +VTS,2,1,2460,17.01,CRD,52 +VTS,1,1,360,1.81,CSH,7.5 +VTS,1,1,900,1.61,CSH,8 +VTS,1,1,1560,4.74,CSH,21 +VTS,1,1,540,2.11,CRD,9.5 +VTS,1,1,840,3.34,CSH,14 +VTS,1,1,1440,3.69,CSH,17 +VTS,1,1,420,1.18,CSH,6.5 +VTS,1,1,360,1.62,CSH,7 +VTS,1,1,240,1.19,CRD,5.5 +VTS,1,1,480,1.58,CSH,8 +VTS,1,1,900,2.96,CSH,13.5 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,960,2.45,CSH,12 +VTS,1,1,1800,6.89,CSH,25.5 +VTS,1,1,720,1.84,CSH,10 +VTS,1,1,900,2.19,CSH,11.5 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,540,2,CSH,9 +VTS,1,1,720,1.64,CSH,9.5 +VTS,1,1,600,1.32,CSH,8 +VTS,1,1,540,1.05,CSH,7.5 +VTS,1,1,420,1.84,CSH,8 +VTS,1,1,480,0.94,CSH,7 +VTS,1,1,120,0.31,CRD,3.5 +VTS,1,1,120,0.75,CRD,4 +VTS,1,1,1080,9.86,CRD,28.5 +VTS,1,1,780,2.71,CSH,11.5 +VTS,1,1,960,2.77,CSH,12 +VTS,1,1,480,0.79,CSH,7 +VTS,1,1,540,2.62,CSH,10 +VTS,1,1,1320,3.83,CSH,17.5 +VTS,1,1,1080,1.92,CSH,12.5 +VTS,1,1,660,2.17,CSH,10 +VTS,1,1,1500,8.7,CSH,27.5 +VTS,1,1,720,1.92,CSH,9.5 +VTS,1,1,780,1.94,CSH,9.5 +VTS,1,1,900,3.22,CSH,14 +VTS,1,1,840,3.78,CSH,13.5 +VTS,1,1,660,2.7,CSH,10.5 +VTS,1,1,1020,10.24,CSH,28 +VTS,1,1,360,0.52,CSH,5.5 +VTS,1,1,1860,7.99,CRD,28 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,300,1.01,CSH,5.5 +VTS,1,1,360,1.19,CSH,6.5 +VTS,1,1,840,2.26,CRD,11 +VTS,1,1,720,2.23,CRD,10.5 +VTS,1,1,300,1.31,CSH,6 +VTS,1,1,480,1.57,CSH,8.5 +VTS,1,1,420,1.35,CSH,7 +VTS,1,1,660,1.77,CSH,9.5 +VTS,1,1,480,1.06,CSH,7 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,420,1.53,CSH,7.5 +VTS,1,1,1080,2.2,CSH,12.5 +VTS,1,1,960,2.08,CSH,12 +VTS,1,1,1080,2.72,CSH,13.5 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,480,2.76,CSH,10 +VTS,1,1,540,3.86,CSH,13 +VTS,1,1,660,2.09,CSH,10 +VTS,1,1,480,1.46,CSH,7.5 +VTS,1,1,600,1.72,CRD,8.5 +VTS,1,1,600,1.63,CSH,8.5 +VTS,1,1,540,1.44,CSH,8 +VTS,1,1,240,0.93,CRD,5 +VTS,1,1,720,1.73,CSH,9.5 +VTS,1,1,300,1.34,CSH,6.5 +VTS,1,1,600,2.58,CRD,10 +VTS,1,1,360,3.57,CSH,11.5 +VTS,1,1,1500,8.89,CRD,29 +VTS,1,1,420,1.1,CRD,6.5 +VTS,1,1,1020,3.04,CRD,13.5 +VTS,1,1,600,1.08,CRD,7.5 +VTS,1,1,240,1.44,CSH,6.5 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,660,1.38,CSH,8.5 +VTS,1,1,540,2.04,CSH,9.5 +VTS,1,1,1020,2.16,CSH,12 +VTS,1,1,480,1.31,CRD,7 +VTS,1,1,1140,3.61,CRD,15 +VTS,1,1,660,2,CRD,10 +VTS,1,1,720,4.88,CRD,15 +VTS,1,1,600,1.6,CSH,8.5 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,120,0.64,CRD,4 +VTS,1,1,480,1.6,CSH,7.5 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,240,1.09,CSH,6 +VTS,1,1,420,1.06,CSH,6 +VTS,1,1,360,1.06,CSH,6 +VTS,1,1,1380,4.51,CSH,18 +VTS,1,1,420,1.22,CSH,7 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,900,2.77,CSH,10.5 +VTS,1,1,540,1.62,CSH,8 +VTS,1,1,720,2.15,CSH,10.5 +VTS,1,1,240,0.75,CSH,4.5 +VTS,1,1,360,0.92,CSH,6 +VTS,1,1,720,1.16,CSH,5.5 +VTS,1,1,300,1.86,CSH,7.5 +VTS,1,1,180,0.56,CSH,4 +VTS,1,1,960,7.95,CRD,24 +VTS,1,1,420,1.51,CRD,7 +VTS,1,1,300,1.52,CSH,6.5 +VTS,1,1,540,1.49,CSH,8.5 +VTS,1,1,1080,3.7,CSH,15 +VTS,1,1,900,2.93,CRD,13.5 +VTS,1,1,540,1.6,CSH,6.5 +VTS,1,1,1500,3.82,CSH,17 +VTS,1,1,360,1.57,CSH,7 +VTS,1,1,120,0.26,CSH,3.5 +VTS,1,1,300,0.6,CSH,5 +VTS,1,1,1320,2.17,CSH,14.5 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,360,0.92,CSH,5.5 +VTS,1,1,120,0.82,CSH,4.5 +VTS,1,1,660,1.47,CSH,9 +VTS,1,1,480,1.78,CSH,8 +VTS,1,1,420,2.31,CSH,8.5 +VTS,1,1,600,1.02,CSH,8.5 +VTS,1,1,1080,6.51,CRD,21.5 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,540,2.15,CSH,9.5 +VTS,1,1,240,0.82,CSH,5 +VTS,1,1,780,4.25,CSH,14.5 +VTS,1,1,1440,5.61,CSH,21 +VTS,1,1,300,0.98,CSH,6 +VTS,1,1,360,1.65,CSH,7.5 +VTS,1,1,300,1.21,CSH,6 +VTS,1,1,720,1.77,CSH,9.5 +VTS,1,1,420,2.37,CRD,8.5 +VTS,1,1,960,3.66,CSH,15 +VTS,1,1,960,5.31,CRD,18 +VTS,1,1,1080,2.55,CSH,13.5 +VTS,1,1,360,1.48,CSH,7 +VTS,1,1,480,1.06,CSH,6.5 +VTS,1,1,1080,4.25,CSH,16 +VTS,1,1,1740,4.28,CSH,18 +VTS,1,1,600,1.98,CSH,9.5 +VTS,1,1,300,1.15,CSH,6 +VTS,1,1,1020,3.12,CSH,13.5 +VTS,1,1,1200,4.02,CSH,16 +VTS,1,1,1080,7.43,CSH,23 +VTS,1,1,360,1.47,CRD,6.5 +VTS,1,1,780,1.94,CRD,10 +VTS,1,1,900,2.72,CSH,12.5 +VTS,1,1,1020,4.93,CRD,18.5 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,360,0.75,CSH,5.5 +VTS,1,1,360,0.87,CSH,5.5 +VTS,1,1,1080,3.53,CRD,15 +VTS,1,1,180,0.26,CSH,4 +VTS,1,1,960,2.59,CSH,12 +VTS,1,1,660,2.03,CSH,10 +VTS,1,1,1080,3.11,CRD,13.5 +VTS,1,1,420,1.08,CRD,7 +VTS,1,1,540,0.81,CRD,7 +VTS,1,1,420,1.19,CSH,6.5 +VTS,1,1,1260,5.08,CSH,18.5 +VTS,1,1,420,1.2,CSH,6.5 +VTS,1,1,480,1.48,CSH,7.5 +VTS,1,1,360,1.47,CSH,6.5 +VTS,1,1,780,1.96,CSH,10.5 +VTS,1,1,240,0.98,CSH,5.5 +VTS,1,1,420,1.34,CSH,6.5 +VTS,1,1,1080,2.25,CSH,13 +VTS,1,1,1680,5.6,CSH,22.5 +VTS,1,1,180,0.6,CSH,4 +VTS,1,1,420,0.85,CSH,6 +VTS,1,1,480,1.57,CSH,7.5 +VTS,1,1,1320,4.03,CRD,18 +VTS,1,1,480,0.95,CSH,6.5 +VTS,1,1,480,1.47,CSH,7.5 +VTS,1,1,540,1.72,CSH,8.5 +VTS,1,1,360,1.72,CRD,7.5 +VTS,1,1,720,2.13,CSH,10 +VTS,1,1,720,2.3,CSH,10.5 +VTS,1,1,480,1.75,CSH,8 +VTS,1,1,1500,3.99,CSH,18 +VTS,1,1,180,0.65,CSH,4 +VTS,1,1,540,2.23,CSH,9.5 +VTS,1,1,420,1.97,CSH,8.5 +VTS,1,1,720,1.76,CSH,10 +VTS,1,1,1080,4.09,CSH,17 +VTS,1,1,240,0.95,CRD,5.5 +VTS,1,1,480,1.07,CSH,6.5 +VTS,1,1,180,1.05,CSH,5.5 +VTS,1,1,960,9.3,CRD,27 +VTS,1,1,900,7.02,CRD,21.5 +VTS,1,1,180,0.51,CSH,4 +VTS,2,1,3360,16.92,CRD,52 +VTS,1,1,660,3.75,CRD,13.5 +VTS,1,1,1080,2.95,CRD,13.5 +VTS,1,1,720,1.81,CSH,10 +VTS,1,1,420,1.15,CRD,7 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,480,0.56,CRD,6.5 +VTS,1,1,840,2.84,CSH,12 +VTS,1,1,840,3.07,CRD,12.5 +VTS,1,1,420,1.35,CRD,7.5 +VTS,1,1,720,2.11,CSH,10.5 +VTS,1,1,1560,11.26,CRD,32 +VTS,1,1,480,1.35,CRD,7 +VTS,1,1,480,0.63,CSH,7 +VTS,1,1,1800,2.93,CRD,19.5 +VTS,1,1,240,0.59,CSH,4.5 +VTS,1,1,840,2.97,CRD,12.5 +VTS,1,1,300,1.03,CSH,6 +VTS,1,1,360,1.08,CSH,6.5 +VTS,1,1,240,0.45,CSH,4.5 +VTS,1,1,1380,3.33,CRD,17 +VTS,1,1,600,1.46,CSH,8.5 +VTS,1,1,240,0.5,CRD,4.5 +VTS,1,1,660,1.71,CRD,9 +VTS,1,1,540,1.41,CRD,8 +VTS,1,1,720,2.15,CRD,10 +VTS,3,1,1620,16.03,CRD,62 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,540,2.88,CRD,10.5 +VTS,1,1,600,2.2,CRD,9.5 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,720,0.9,CSH,8.5 +VTS,1,1,1080,2.48,CRD,13.5 +VTS,1,1,360,1.18,CRD,7 +VTS,1,1,1380,3.5,CRD,16.5 +VTS,1,1,480,1.13,CSH,7 +VTS,1,1,120,0.74,CRD,4.5 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,180,0.41,CSH,4 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,1020,2.94,CSH,13.5 +VTS,1,1,420,1.97,CRD,8.5 +VTS,1,1,300,1.15,CSH,6 +VTS,1,1,240,1,CRD,5.5 +VTS,1,1,300,1.29,CSH,6 +VTS,1,1,540,1.01,CSH,7.5 +VTS,1,1,660,1.39,CSH,8.5 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,780,2.05,CSH,10.5 +VTS,1,1,1200,5.62,CRD,20 +VTS,1,1,480,1.32,CSH,7 +VTS,1,1,600,2.21,CSH,9 +VTS,1,1,1200,4.19,CRD,17.5 +VTS,1,1,240,1.2,CSH,6 +VTS,1,1,660,2.06,CRD,10 +VTS,1,1,240,1.16,CRD,5.5 +VTS,1,1,1020,6.91,CRD,22 +VTS,1,1,60,0.75,CSH,4 +VTS,1,1,900,6.93,CRD,21 +VTS,1,1,660,2.77,CRD,10.5 +VTS,1,1,840,5.15,CRD,17.5 +VTS,1,1,780,2.06,CSH,10.5 +VTS,1,1,360,1.39,CSH,6.5 +VTS,1,1,1080,2.39,CRD,12.5 +VTS,1,1,900,6.44,CSH,20 +VTS,2,1,2160,16.52,CRD,52 +VTS,1,1,240,0.7,CRD,4.5 +VTS,1,1,480,1.2,CSH,7 +VTS,1,1,1380,9.22,CRD,29 +VTS,1,1,660,1.24,CRD,9 +VTS,1,1,840,1.47,CRD,10 +VTS,1,1,2340,13.94,CRD,40.5 +VTS,1,1,240,0.52,CRD,4.5 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,660,1.87,CRD,9.5 +VTS,1,1,2280,6.67,CRD,30 +VTS,1,1,600,1.48,CRD,9 +VTS,1,1,600,0.83,CRD,8 +VTS,1,1,900,3.14,CRD,13.5 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,540,3.36,CRD,11.5 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,840,2.01,CRD,10.5 +VTS,1,1,660,1.92,CRD,9.5 +VTS,1,1,780,3.29,CRD,13 +VTS,1,1,360,0.83,CRD,6 +VTS,1,1,420,1.93,CRD,8 +VTS,1,1,2220,15.77,CRD,45 +VTS,1,1,300,1.06,CRD,6 +VTS,1,1,480,2.63,CRD,9.5 +VTS,1,1,420,1.47,CSH,7.5 +VTS,1,1,540,0.87,CRD,7 +VTS,1,1,540,1.64,CRD,8.5 +VTS,1,1,120,0.46,CSH,3.5 +VTS,2,1,2280,15.2,CRD,52 +VTS,1,1,240,1,CRD,5.5 +VTS,1,1,600,2.42,CRD,10 +VTS,1,1,840,1.22,CRD,9.5 +VTS,1,1,2340,4.44,CRD,25.5 +VTS,1,1,900,3.55,CSH,13.5 +VTS,1,1,900,2.12,CSH,11.5 +VTS,1,1,540,1.93,CRD,9 +VTS,1,1,420,1.02,CSH,7 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,900,2.66,CRD,12 +VTS,1,1,1800,9.04,CRD,29 +VTS,1,1,420,0.76,CRD,6.5 +VTS,1,1,480,1.89,CRD,8 +VTS,1,1,240,1.25,CRD,6 +VTS,1,1,540,3.13,CRD,12 +VTS,1,1,240,1.15,CRD,5.5 +VTS,1,1,660,3.24,CRD,11.5 +VTS,1,1,600,0.89,CSH,8 +VTS,1,1,420,1.37,CRD,7 +VTS,1,1,1860,11.98,CRD,37.5 +VTS,1,1,2280,12.04,CRD,40.5 +VTS,1,1,300,1.16,CRD,6 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,360,0.89,CSH,6 +VTS,1,1,1140,8.11,CRD,24.5 +VTS,1,1,240,0.75,CSH,5 +VTS,1,1,480,0.8,CRD,6.5 +VTS,1,1,1200,2.54,CRD,14.5 +VTS,1,1,780,1.06,CRD,9.5 +VTS,1,1,300,0.94,CSH,5 +VTS,1,1,360,1.61,CRD,7 +VTS,2,1,1260,17.46,CRD,52 +VTS,1,1,1020,2.01,CRD,12 +VTS,1,1,1800,3.72,CRD,20 +VTS,1,1,360,0.96,CSH,5.5 +VTS,1,1,960,5.05,CRD,18 +VTS,1,1,540,1.86,CRD,8.5 +VTS,1,1,240,1.44,CRD,6.5 +VTS,1,1,360,1.2,CRD,7 +VTS,1,1,420,1.49,CSH,7.5 +VTS,1,1,1500,10.61,CRD,32.5 +VTS,1,1,480,1.62,CRD,8 +VTS,1,1,1860,4.96,CRD,23 +VTS,2,1,1620,17.01,CRD,52 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,1620,1.91,CRD,16.5 +VTS,1,1,960,3.32,CSH,14 +VTS,1,1,300,1.58,CRD,7 +VTS,1,1,180,0.42,CSH,4 +VTS,1,1,960,3.24,CRD,13.5 +VTS,1,1,180,0.21,CSH,4 +VTS,1,1,480,1.44,CRD,8 +VTS,1,1,300,0.65,CRD,5 +VTS,1,1,600,2.01,CRD,9 +VTS,1,1,720,2.93,CSH,11.5 +VTS,1,1,660,1.79,CRD,9 +VTS,1,1,360,1.37,CRD,7 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,960,2.94,CRD,13.5 +VTS,1,1,480,1.15,CSH,7.5 +VTS,1,1,1200,4.45,CRD,16.5 +VTS,2,1,0,0,CRD,52 +VTS,1,1,780,2.76,CSH,11.5 +VTS,1,1,540,3.38,CSH,11 +VTS,1,1,1380,10.95,CRD,33 +VTS,1,1,540,2.08,CRD,9 +VTS,1,1,720,2.14,CRD,10.5 +VTS,1,1,600,2.71,CSH,10.5 +VTS,1,1,780,2.31,CRD,11.5 +VTS,1,1,780,1.74,CRD,10 +VTS,1,1,600,1.76,CRD,9 +VTS,1,1,660,2.11,CSH,9.5 +VTS,1,1,780,3.11,CSH,12 +VTS,1,1,360,0.92,CRD,6 +VTS,1,1,600,1.36,CRD,8.5 +VTS,1,1,240,0.83,CSH,5.5 +VTS,1,1,540,2.28,CRD,9.5 +VTS,1,1,600,0.75,CRD,7.5 +VTS,1,1,960,3.61,CRD,14.5 +VTS,1,1,600,2.23,CRD,9.5 +VTS,1,1,360,1.35,CRD,7 +VTS,1,1,240,0.94,CRD,5.5 +VTS,1,1,1380,12.38,CRD,35.5 +VTS,1,1,1500,4.3,CRD,18.5 +VTS,1,1,1440,6.74,CRD,23.5 +VTS,1,1,720,2.96,CRD,11.5 +VTS,1,1,660,2.29,CRD,9.5 +VTS,1,1,540,1.24,CSH,7.5 +VTS,1,1,660,1.2,CRD,8.5 +VTS,1,1,660,2.11,CRD,9.5 +VTS,1,1,300,1.67,CSH,6.5 +VTS,1,1,480,1.85,CSH,9 +VTS,1,1,660,1.68,CRD,9 +VTS,1,1,480,1.44,CRD,7.5 +VTS,1,1,1200,3.27,CRD,15.5 +VTS,1,1,180,0.49,CRD,4.5 +VTS,1,1,180,0.3,CSH,4.5 +VTS,1,1,240,0.41,CSH,4.5 +VTS,3,1,1440,15.38,CRD,59.5 +VTS,1,1,600,1.93,CRD,9 +VTS,1,1,120,0.51,CSH,4 +VTS,1,1,360,1.62,CRD,7.5 +VTS,1,1,300,1.18,CSH,6 +VTS,1,1,540,1.3,CRD,7.5 +VTS,1,1,360,1.06,CSH,6 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,240,0.78,CRD,5 +VTS,1,1,840,3.77,CRD,15 +VTS,1,1,1200,3.58,CRD,16 +VTS,1,1,360,0.94,CRD,6 +VTS,1,1,300,0.35,CSH,4 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,2040,12.81,CSH,39.5 +VTS,1,1,2040,10.36,CRD,32.5 +VTS,1,1,600,2.52,CRD,10 +VTS,1,1,1380,11.23,CRD,32 +VTS,2,1,3180,21.3,CRD,52 +VTS,1,1,240,0.51,CSH,4.5 +VTS,1,1,480,2.03,CSH,8.5 +VTS,1,1,420,1.38,CSH,7 +VTS,1,1,540,2.06,CSH,9.5 +VTS,1,1,360,0.91,CRD,5.5 +VTS,1,1,180,0.93,CRD,4.5 +VTS,1,1,2880,14.01,CRD,46.5 +VTS,1,1,900,3.29,CRD,13.5 +VTS,1,1,240,0.79,CSH,5 +VTS,1,1,960,2.16,CSH,11.5 +VTS,1,1,300,0.36,CSH,5 +VTS,1,1,1860,13.96,CRD,39.5 +VTS,2,1,2220,16.81,CRD,52 +VTS,1,1,540,1.69,CSH,8 +VTS,1,1,480,1.47,CSH,7.5 +VTS,1,1,300,0.37,CSH,4.5 +VTS,1,1,420,1.27,CSH,6.5 +VTS,1,1,300,1.23,CRD,6 +VTS,1,1,900,2.81,CRD,12.5 +VTS,1,1,420,0.53,CSH,6 +VTS,1,1,660,4.41,CRD,14.5 +VTS,1,1,240,1.35,CSH,5.5 +VTS,1,1,420,1.26,CRD,7 +VTS,1,1,1620,5.28,CRD,22.5 +VTS,1,1,420,1.02,CSH,6.5 +VTS,1,1,960,2.56,CRD,13 +VTS,1,1,300,0.59,CSH,5 +VTS,1,1,300,0.61,CRD,5 +VTS,1,1,360,1.18,CSH,6 +VTS,1,1,420,1.39,CRD,7.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,360,1.09,CSH,6.5 +VTS,1,1,780,2.44,CRD,11 +VTS,1,1,600,1.82,CRD,9 +VTS,1,1,720,1.31,CRD,9 +VTS,1,1,1560,8.81,CRD,29 +VTS,1,1,240,0.44,CRD,4.5 +VTS,1,1,1440,4.68,CRD,20.5 +VTS,1,1,540,1.17,CRD,7.5 +VTS,1,1,420,1.09,CRD,6.5 +VTS,1,1,660,3.96,CRD,13.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,540,2.34,CRD,10 +VTS,1,1,840,1.4,CRD,10 +VTS,1,1,60,0.2,CRD,3 +VTS,2,1,2400,17.55,CRD,52 +VTS,1,1,780,1.65,CRD,10.5 +VTS,1,1,240,0.72,CSH,5 +VTS,1,1,660,1.89,CSH,9.5 +VTS,1,1,480,1.1,CRD,7 +VTS,1,1,780,2.62,CSH,12 +VTS,1,1,120,0.4,CRD,3.5 +VTS,1,1,600,1.33,CRD,9 +VTS,1,1,840,4.56,CRD,16 +VTS,1,1,60,0.5,CSH,3.5 +VTS,1,1,300,0.87,CSH,6 +VTS,1,1,480,1.66,CRD,8 +VTS,1,1,120,0.75,CSH,4 +VTS,1,1,360,1.92,CSH,7.5 +VTS,1,1,2100,7.78,CRD,29 +VTS,1,1,1020,2.1,CRD,12.5 +VTS,1,1,180,0.85,CRD,5 +VTS,1,1,720,2.03,CRD,10.5 +VTS,1,1,360,1.1,CRD,6 +VTS,1,1,1020,3.42,CSH,14.5 +VTS,1,1,420,1.51,CSH,7.5 +VTS,1,1,720,3.55,CRD,12.5 +VTS,1,1,660,2.51,CSH,10.5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,5,1,0,0,CSH,55 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,840,4.4,CRD,15.5 +VTS,1,2,420,1.79,CRD,8 +VTS,1,1,720,2.42,CRD,10.5 +VTS,1,1,420,2.34,CRD,8.5 +VTS,2,1,3420,19,CRD,52 +VTS,1,1,540,1.48,CSH,8 +VTS,1,1,240,1.15,CRD,5.5 +VTS,1,1,540,2.84,CSH,10.5 +VTS,1,1,600,2.94,CSH,10.5 +VTS,1,1,960,4.71,CSH,16 +VTS,1,1,420,1.1,CRD,6.5 +VTS,1,1,600,3.61,CRD,12.5 +VTS,1,1,540,3.07,CRD,10.5 +VTS,2,1,2040,27.6,CSH,52 +VTS,1,1,780,2.6,CRD,12 +VTS,1,1,900,5.18,CSH,18 +VTS,1,1,840,3.53,CSH,13 +VTS,1,1,660,0.98,CRD,8 +VTS,1,1,360,0.62,CSH,5 +VTS,1,1,600,3.06,CRD,11.5 +VTS,1,1,1020,8.55,CSH,25 +VTS,1,1,240,0.81,CSH,5 +VTS,1,1,180,1.08,CSH,5.5 +VTS,1,1,480,1.8,CRD,8.5 +VTS,1,1,960,4.67,CSH,16.5 +VTS,1,1,420,1.47,CRD,7 +VTS,1,1,1500,12.48,CRD,36.5 +VTS,1,1,780,8.24,CSH,23.5 +VTS,1,1,240,1.42,CSH,6 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,360,1.32,CSH,7.5 +VTS,1,1,480,1.99,CRD,8.5 +VTS,1,1,720,1.78,CRD,9.5 +VTS,1,1,360,0.93,CSH,6.5 +VTS,1,1,360,0.82,CRD,5.5 +VTS,1,1,900,2.24,CSH,12 +VTS,1,1,1200,4.82,CRD,19 +VTS,1,1,900,3.92,CRD,14.5 +VTS,1,1,660,1.81,CRD,9.5 +VTS,1,1,720,0.47,CSH,8.5 +VTS,1,1,660,2.53,CSH,10 +VTS,1,1,1140,3.77,CRD,16 +VTS,1,1,1380,6.72,CRD,23 +VTS,1,1,660,1.94,CRD,9 +VTS,1,1,660,1.77,CSH,8.5 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,420,1.4,CRD,7 +VTS,1,1,720,1.72,CSH,9 +VTS,1,1,1020,4.84,CRD,17.5 +VTS,1,1,960,2.51,CRD,12.5 +VTS,1,1,360,0.85,CRD,5.5 +VTS,1,1,300,0.66,CSH,5.5 +VTS,1,1,540,2.1,CSH,8.5 +VTS,1,1,420,2.35,CSH,9 +VTS,1,1,360,0.74,CSH,5.5 +VTS,1,1,240,0.59,CSH,5 +VTS,1,1,1140,2.23,CSH,13.5 +VTS,1,1,300,1.43,CSH,6.5 +VTS,1,1,720,3.61,CRD,12.5 +VTS,1,1,120,0.57,CSH,3.5 +VTS,1,1,480,1.45,CRD,8 +VTS,5,1,0,0,CRD,55 +VTS,1,1,780,1.46,CSH,9.5 +VTS,1,1,1260,5.33,CSH,19.5 +VTS,1,1,540,2.43,CSH,10 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,2,420,0.99,CSH,6.5 +VTS,1,1,1380,3.97,CSH,17.5 +VTS,1,1,840,2.5,CSH,11 +VTS,1,1,1080,6.52,CSH,20 +VTS,1,1,540,1.01,CRD,7.5 +VTS,1,1,540,2.89,CSH,10.5 +VTS,2,1,3000,19.35,CSH,52 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,1380,13.7,CSH,38 +VTS,1,1,540,1.83,CRD,8.5 +VTS,1,1,1320,2.73,CRD,14.5 +VTS,1,1,180,0.33,CSH,4 +VTS,1,1,240,0.6,CRD,4.5 +VTS,1,1,480,1.81,CSH,8.5 +VTS,1,1,540,0.96,CSH,7.5 +VTS,1,1,780,1.27,CRD,9.5 +VTS,1,1,660,1.98,CSH,9.5 +VTS,1,1,360,0.54,CSH,6 +VTS,1,1,1560,13.45,CRD,37.5 +VTS,1,1,540,1.5,CRD,8 +VTS,1,1,960,3.04,CSH,13.5 +VTS,1,1,720,2.26,CRD,10.5 +VTS,1,1,660,1.22,CRD,9 +VTS,1,1,360,0.48,CRD,5.5 +VTS,1,1,1800,11.88,CRD,35.5 +VTS,1,1,1320,4.31,CRD,18.5 +VTS,1,1,1020,3.1,CSH,14 +VTS,1,1,780,1.65,CSH,10 +VTS,1,1,1620,3.89,CRD,19.5 +VTS,1,1,660,2.88,CSH,11.5 +VTS,1,1,240,0.82,CSH,5 +VTS,1,1,660,2.64,CSH,11 +VTS,1,1,420,1.82,CSH,8 +VTS,1,1,600,3.16,CRD,11.5 +VTS,1,1,840,2.57,CSH,12 +VTS,1,1,420,1.58,CSH,7.5 +VTS,1,1,240,0.81,CSH,5.5 +VTS,2,1,0,0,CRD,52 +VTS,1,1,480,0.67,CRD,6.5 +VTS,1,1,240,0.74,CRD,5 +VTS,1,1,540,1.87,CRD,9 +VTS,1,1,600,2.33,CSH,9.5 +VTS,1,1,900,3.34,CRD,13.5 +VTS,1,1,420,1.37,CSH,7.5 +VTS,1,1,240,0,CSH,4 +VTS,1,1,2280,13.83,CRD,42 +VTS,1,2,840,2.3,CRD,11.5 +VTS,1,1,720,2.42,CSH,11.5 +VTS,1,1,540,2.23,CSH,9.5 +VTS,1,1,600,1.25,CRD,8.5 +VTS,1,1,900,2.72,CRD,12 +VTS,1,1,900,3.38,CSH,13 +VTS,1,1,120,0.51,CSH,3.5 +VTS,1,1,900,7.52,CRD,22.5 +VTS,2,1,3060,20.54,CSH,52 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,1,600,2.29,CRD,9.5 +VTS,1,1,840,3.43,CRD,13 +VTS,1,1,600,0.93,CRD,8 +VTS,1,1,540,1.3,CSH,7.5 +VTS,1,1,660,3.36,CRD,12.5 +VTS,1,1,900,3.02,CSH,13 +VTS,1,1,660,1.71,CRD,9 +VTS,1,1,360,0.52,CRD,5.5 +VTS,1,1,720,1.42,CRD,9.5 +VTS,1,1,420,0.95,CRD,6 +VTS,1,1,120,0.29,CSH,3.5 +VTS,1,1,1200,5.01,CRD,18.5 +VTS,1,1,660,3.09,CSH,11.5 +VTS,1,1,420,0.92,CSH,6.5 +VTS,1,1,780,2.7,CRD,11.5 +VTS,1,1,1020,3.77,CRD,15.5 +VTS,1,1,360,1.46,CSH,7 +VTS,1,1,1440,3.92,CRD,18 +VTS,1,1,1260,3.99,CRD,17 +VTS,1,1,1380,2.63,CRD,15.5 +VTS,1,1,300,1,CRD,5.5 +VTS,1,1,900,1.81,CRD,10.5 +VTS,1,1,420,1.22,CRD,7.5 +VTS,1,1,420,2.12,CSH,8.5 +VTS,1,1,120,0.53,CRD,4 +VTS,1,1,480,1.6,CRD,7.5 +VTS,1,1,720,2.42,CSH,11 +VTS,1,1,540,2.71,CRD,10.5 +VTS,1,1,900,5.71,CSH,18 +VTS,1,1,300,1.53,CRD,6.5 +VTS,1,1,180,0.91,CSH,5 +VTS,1,1,480,2.15,CRD,9 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,720,2.76,CSH,11.5 +VTS,1,1,420,0.74,CSH,6 +VTS,1,1,480,1.55,CSH,7.5 +VTS,1,1,60,0.39,CSH,3.5 +VTS,1,1,480,1.19,CRD,7 +VTS,1,1,1260,10.57,CRD,30.5 +VTS,1,1,600,1.76,CSH,9 +VTS,1,1,840,2.76,CRD,12.5 +VTS,1,1,480,1.19,CSH,7.5 +VTS,1,1,480,1.01,CRD,7 +VTS,1,1,2640,12.38,CRD,41 +VTS,1,1,360,1.46,CRD,7 +VTS,1,1,1560,5.31,CRD,21.5 +VTS,1,1,300,1.49,CSH,6.5 +VTS,1,1,360,1.08,CSH,6 +VTS,1,1,1080,4.95,CRD,17 +VTS,1,1,1140,3.28,CRD,15 +VTS,1,1,420,1.63,CSH,8 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,120,0.38,CRD,4 +VTS,1,1,900,1.78,CSH,11.5 +VTS,1,1,180,0.59,CSH,4.5 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,2760,11.78,CRD,39 +VTS,3,1,2700,17.31,CRD,68.5 +VTS,2,1,3180,16.62,CRD,52 +VTS,1,1,720,2.34,CSH,10.5 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,480,1.07,CSH,7 +VTS,1,1,480,1.97,CRD,8 +VTS,1,1,420,1.54,CRD,8 +VTS,1,1,780,2.34,CRD,11 +VTS,1,1,780,6.88,CSH,20.5 +VTS,1,1,840,2.07,CRD,11 +VTS,1,1,300,0.98,CRD,6 +VTS,1,1,240,0.42,CSH,4 +VTS,1,1,180,1.02,CSH,5 +VTS,1,1,1380,6.57,CRD,21.5 +VTS,1,1,1380,3.39,CRD,16.5 +VTS,1,1,540,0.94,CRD,7 +VTS,1,1,300,1.27,CRD,6 +VTS,1,1,900,2.07,CSH,11 +VTS,1,1,420,1.4,CRD,7.5 +VTS,2,1,1740,18.03,CRD,52 +VTS,1,1,1380,4.48,CRD,19 +VTS,1,1,2040,17.64,CRD,50.5 +VTS,1,1,300,1.32,CRD,6.5 +VTS,1,1,1320,16.41,CRD,44 +VTS,1,1,180,0.94,CRD,5 +VTS,1,1,1200,2.53,CRD,14.5 +VTS,1,1,480,1.65,CRD,8 +VTS,1,1,540,1.61,CRD,8 +VTS,2,1,0,0,CRD,52 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,540,2.09,CRD,9.5 +VTS,1,1,300,1.37,CRD,6.5 +VTS,2,1,3240,20.61,CRD,52 +VTS,1,1,1440,5.1,CRD,20 +VTS,1,1,840,5.35,CRD,18 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,720,2.13,CSH,10.5 +VTS,3,1,1860,16.73,CRD,65.5 +VTS,1,1,1740,9.72,CRD,33 +VTS,1,1,780,1.47,CSH,10 +VTS,1,1,1740,3.55,CRD,19 +VTS,1,1,1020,2.22,CRD,12.5 +VTS,1,1,900,5.91,CRD,19 +VTS,1,1,780,3.62,CSH,13 +VTS,1,1,360,1.2,CRD,6.5 +VTS,1,1,600,0.84,CRD,7.5 +VTS,1,1,360,0.8,CRD,6 +VTS,1,1,1260,8.82,CRD,27 +VTS,1,1,240,0.59,CSH,5 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,960,8.27,CRD,25 +VTS,1,1,420,1.43,CSH,7 +VTS,1,1,1440,10.56,CRD,31.5 +VTS,1,1,480,1.37,CRD,7 +VTS,1,1,780,2.02,CRD,10.5 +VTS,1,1,720,2.35,CRD,11.5 +VTS,1,1,600,3.71,CRD,13 +VTS,1,1,600,2.13,CRD,9.5 +VTS,1,1,960,6.31,CRD,20.5 +VTS,1,1,840,3.99,CRD,15 +VTS,1,1,60,0.34,CSH,3 +VTS,1,1,420,0.84,CRD,6 +VTS,1,1,180,0.54,CSH,4.5 +VTS,1,1,600,1.97,CRD,9 +VTS,1,1,780,4.01,CSH,14.5 +VTS,1,1,600,5.95,CRD,18.5 +VTS,1,1,420,1.17,CSH,6.5 +VTS,1,1,900,3.35,CRD,13 +VTS,1,1,1320,2.49,CRD,15.5 +VTS,1,1,420,2.45,CRD,9 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,660,5.12,CSH,16 +VTS,5,1,0,0,CRD,17.5 +VTS,1,1,1440,5.56,CRD,21.5 +VTS,1,1,240,1.05,CRD,5.5 +VTS,1,1,660,0.92,CSH,8 +VTS,1,1,360,1.5,CSH,7 +VTS,1,1,360,1.91,CSH,7 +VTS,1,1,1800,5.74,CSH,23.5 +VTS,1,1,480,3.5,CSH,12 +VTS,1,1,600,5.23,CSH,16 +VTS,1,1,1560,3.44,CRD,19 +VTS,1,1,420,1.49,CSH,7.5 +VTS,1,1,420,2.09,CSH,8.5 +VTS,1,1,1200,11.5,CSH,31.5 +VTS,1,1,720,3.25,CSH,12 +VTS,1,1,780,4.93,CSH,16.5 +VTS,1,1,600,0.55,CRD,7.5 +VTS,1,1,360,1.2,CSH,6 +VTS,1,1,600,1.72,CSH,8 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,660,2.62,CSH,10.5 +VTS,1,1,600,2.55,CSH,10.5 +VTS,1,1,300,0.97,CSH,5.5 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,480,2.35,CRD,9 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,360,1.86,CSH,7.5 +VTS,1,1,780,4.57,CSH,15 +VTS,1,1,780,2.83,CRD,11.5 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,240,0.92,CSH,5.5 +VTS,1,1,840,2.11,CSH,11 +VTS,1,1,1380,5.57,CRD,21.5 +VTS,1,1,780,6.86,CRD,20.5 +VTS,1,1,840,3.8,CRD,14 +VTS,1,1,480,0.94,CRD,6.5 +VTS,1,1,600,1.35,CSH,8 +VTS,1,1,900,3.34,CSH,13 +VTS,1,1,480,1.43,CRD,8 +VTS,1,1,420,1.85,CSH,8.5 +VTS,1,1,660,4.09,CSH,13.5 +VTS,1,1,660,1.27,CRD,8.5 +VTS,1,1,240,1.04,CRD,5.5 +VTS,1,1,1200,4.63,CRD,18.5 +VTS,1,1,780,3.47,CSH,12.5 +VTS,1,1,660,2.08,CSH,9 +VTS,1,1,420,1.94,CRD,8 +VTS,5,1,0,0,CRD,10.5 +VTS,1,1,1320,7.68,CRD,25 +VTS,1,1,240,0.77,CSH,5 +VTS,1,1,1020,6.95,CRD,22 +VTS,1,1,780,3.03,CRD,12.5 +VTS,1,1,1020,5.64,CRD,19 +VTS,1,1,300,1.73,CRD,7.5 +VTS,2,1,2220,17.97,CRD,52 +VTS,1,1,1440,11.68,CRD,34 +VTS,1,1,120,0.45,CSH,4 +VTS,1,1,480,2.03,CRD,9 +VTS,1,1,240,0.92,CSH,5.5 +VTS,1,1,300,1.32,CSH,6.5 +VTS,1,1,300,1.89,CRD,7 +VTS,1,1,720,2.39,CRD,11 +VTS,1,1,300,1.46,CSH,6.5 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,1,1020,4.66,CSH,16 +VTS,1,1,540,1.06,CSH,7.5 +VTS,1,1,300,1.6,CRD,7 +VTS,1,1,720,3.52,CRD,13 +VTS,1,1,1020,7.28,CRD,22.5 +VTS,2,1,4200,18.32,CRD,52 +VTS,1,1,300,0.68,CSH,5.5 +VTS,1,1,360,2.17,CRD,8 +VTS,1,1,480,2.16,CSH,9.5 +VTS,1,1,840,3.01,CSH,12 +VTS,1,1,840,3.3,CSH,13 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,1260,11.19,CSH,32.5 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,780,2.55,CRD,11.5 +VTS,1,1,360,1.53,CRD,6.5 +VTS,1,1,780,2.04,CRD,11 +VTS,1,1,1680,10.58,CSH,33.5 +VTS,1,1,60,0.1,CSH,3 +VTS,1,1,1200,4.87,CSH,18.5 +VTS,1,1,360,1.18,CSH,7 +VTS,1,1,480,1.35,CRD,7.5 +VTS,1,1,1620,14.69,CRD,41.5 +VTS,1,1,0,0.02,CSH,2.5 +VTS,1,1,1140,4.29,CRD,16 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,420,1.27,CRD,7 +VTS,1,1,660,2.21,CRD,10.5 +VTS,1,1,900,7.52,CSH,23 +VTS,1,1,480,1.83,CRD,8 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,360,1.93,CRD,7.5 +VTS,1,1,1080,5.09,CSH,18 +VTS,1,1,600,3.84,CRD,13 +VTS,1,1,1020,11.41,CSH,31.5 +VTS,1,1,540,3.04,CRD,11 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,360,1.72,CSH,7.5 +VTS,1,1,420,1.61,CRD,7 +VTS,1,1,900,7.06,CRD,22 +VTS,1,1,180,0.9,CSH,5 +VTS,1,1,780,6,CSH,19 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,1,1140,11.34,CRD,32 +VTS,2,1,3720,18.75,CSH,52 +VTS,1,1,780,1.9,CSH,10.5 +VTS,1,1,1140,4.32,CSH,16.5 +VTS,1,1,300,1.07,CRD,5.5 +VTS,1,1,1560,6.67,CRD,23 +VTS,5,1,0,0,CRD,47 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,840,4.16,CSH,15 +VTS,1,1,1020,4.02,CRD,15.5 +VTS,1,1,240,1.17,CRD,6 +VTS,1,2,360,1.22,CSH,6.5 +VTS,5,1,0,0,CRD,200 +VTS,1,1,300,1.07,CSH,6 +VTS,1,1,180,1.02,CRD,5 +VTS,1,1,120,1.09,CRD,5 +VTS,1,1,720,3.46,CSH,13 +VTS,1,1,480,2.18,CSH,9.5 +VTS,1,1,420,3.53,CSH,11.5 +VTS,1,1,1140,6.89,CSH,20.5 +VTS,2,1,3180,29.3,CSH,52 +VTS,1,1,360,1.34,CSH,7 +VTS,1,1,1200,3.82,CRD,16.5 +VTS,1,1,960,3.6,CSH,14 +VTS,1,1,780,5.64,CSH,17.5 +VTS,1,1,900,3.17,CRD,13.5 +VTS,1,1,540,1.06,CSH,7.5 +VTS,1,1,360,1.8,CSH,7.5 +VTS,1,1,1200,3.05,CSH,14.5 +VTS,1,1,480,1.63,CRD,8 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,960,4.08,CRD,16 +VTS,1,1,960,3.83,CSH,14.5 +VTS,1,1,360,2.73,CRD,10 +VTS,2,2,2160,19.56,CRD,52 +VTS,1,1,720,4.48,CSH,15 +VTS,2,1,2700,18.45,CRD,52 +VTS,1,1,420,1.79,CRD,7.5 +VTS,1,1,240,0.57,CSH,5 +VTS,1,1,1680,12.73,CRD,36.5 +VTS,1,1,600,1.72,CRD,9 +VTS,2,1,2340,18.12,CRD,52 +VTS,1,1,720,1.66,CSH,9.5 +VTS,1,1,900,2.71,CSH,12.5 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,600,2.12,CSH,9 +VTS,1,1,360,1.29,CSH,6.5 +VTS,1,1,900,3.37,CSH,13 +VTS,1,1,240,0.73,CRD,5 +VTS,1,1,420,1.6,CSH,8 +VTS,1,1,900,3.6,CRD,14 +VTS,1,1,1800,11.3,CRD,34.5 +VTS,1,1,660,7.95,CRD,22.5 +VTS,1,1,540,1,CSH,7.5 +VTS,1,1,1080,4.07,CRD,16.5 +VTS,1,1,660,3.35,CRD,12.5 +VTS,1,1,540,0.95,CRD,6.5 +VTS,1,1,420,0.98,CSH,6.5 +VTS,1,1,600,3.07,CRD,11 +VTS,1,1,2100,13.37,CSH,39 +VTS,1,1,600,2.52,CRD,10.5 +VTS,1,1,240,1.59,CSH,6.5 +VTS,1,1,720,2.31,CRD,10.5 +VTS,1,1,120,0.5,CRD,3.5 +VTS,1,1,480,1.33,CRD,7.5 +VTS,1,2,840,2.89,CSH,12 +VTS,1,1,300,1.02,CRD,5.5 +VTS,1,1,420,1.53,CRD,7 +VTS,1,1,180,1.29,CSH,5.5 +VTS,1,1,240,1.08,CRD,5.5 +VTS,1,1,240,0.53,CRD,4.5 +VTS,1,1,180,0.9,CSH,5 +VTS,1,1,600,4.39,CSH,14.5 +VTS,1,1,1080,9.41,CRD,27 +VTS,1,1,900,4.81,CRD,17 +VTS,1,1,420,0.82,CSH,6.5 +VTS,1,1,1140,4.41,CRD,16.5 +VTS,1,1,360,1.62,CRD,7.5 +VTS,1,1,960,2.1,CRD,11.5 +VTS,1,1,600,1.81,CSH,9 +VTS,1,1,840,8.03,CRD,23 +VTS,1,1,660,3.61,CSH,13 +VTS,1,1,300,1.8,CSH,7.5 +VTS,1,1,180,1.05,CRD,5.5 +VTS,1,1,300,1.49,CRD,6.5 +VTS,1,1,960,2.29,CRD,11.5 +VTS,1,2,60,0.56,CRD,3.5 +VTS,1,1,540,2.87,CSH,10.5 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,840,3.9,CRD,14 +VTS,2,1,2280,19.32,CRD,52 +VTS,1,1,360,1.48,CRD,7 +VTS,1,1,720,1.57,CRD,9.5 +VTS,1,1,240,0.85,CSH,5.5 +VTS,1,1,600,2.02,CSH,10 +VTS,1,1,420,2.33,CSH,8.5 +VTS,1,1,300,1.23,CSH,6 +VTS,1,1,480,2.39,CSH,9.5 +VTS,1,1,120,0.69,CSH,4 +VTS,1,1,720,3,CRD,11.5 +VTS,1,1,300,1.55,CRD,7 +VTS,1,1,660,2.14,CRD,10 +VTS,1,1,540,1.27,CRD,7.5 +VTS,1,1,720,1.95,CRD,10 +VTS,1,1,420,1.53,CSH,7 +VTS,1,1,420,3.04,CSH,10 +VTS,1,1,420,2.03,CRD,8.5 +VTS,1,1,600,1.83,CRD,9 +VTS,1,1,420,0.9,CSH,6.5 +VTS,1,1,780,1.84,CRD,10 +VTS,1,1,480,1.99,CRD,9 +VTS,1,1,480,1.2,CSH,7 +VTS,1,2,720,1.89,CSH,10 +VTS,1,1,0,0.03,CSH,2.5 +VTS,1,1,780,3.13,CSH,12.5 +VTS,1,1,720,2.17,CSH,10.5 +VTS,1,1,480,1.29,CSH,7.5 +VTS,1,1,1260,8.67,CSH,27 +VTS,1,1,720,3.28,CRD,12.5 +VTS,5,1,0,0,CRD,26 +VTS,1,1,1320,6.6,CRD,21.5 +VTS,1,1,1020,5.03,CRD,17.5 +VTS,1,1,120,0.46,CSH,4 +VTS,1,1,480,2.15,CRD,9 +VTS,2,1,4560,17.62,CSH,52 +VTS,1,1,240,0.69,CSH,5 +VTS,1,1,660,3.61,CSH,13 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,840,1.46,CSH,11 +VTS,1,1,840,2.99,CRD,12.5 +VTS,1,1,360,1.23,CRD,6.5 +VTS,1,1,360,1.7,CSH,7.5 +VTS,1,1,360,2.22,CSH,8.5 +VTS,1,1,1200,5.11,CSH,18.5 +VTS,1,1,360,0.73,CSH,6 +VTS,1,1,1500,6.14,CRD,22 +VTS,1,1,660,2.26,CSH,10.5 +VTS,1,1,360,1.94,CRD,7.5 +VTS,1,1,1080,5.63,CRD,18.5 +VTS,1,1,780,4.34,CRD,14.5 +VTS,1,1,1320,6.88,CRD,24 +VTS,1,1,720,1.85,CRD,9.5 +VTS,1,1,660,2.94,CRD,12 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,840,1.01,CRD,9 +VTS,1,1,1020,2.68,CRD,14 +VTS,1,1,480,1.19,CSH,7.5 +VTS,1,1,1020,2.56,CSH,13.5 +VTS,1,1,420,1.21,CRD,7 +VTS,1,1,2100,7.28,CRD,29 +VTS,1,1,780,3.65,CRD,13 +VTS,1,1,660,2.17,CRD,10 +VTS,1,1,300,1.72,CRD,7 +VTS,1,1,480,1.38,CSH,8 +VTS,1,1,900,3.89,CSH,15.5 +VTS,1,1,420,1.45,CRD,7.5 +VTS,1,1,1020,3.14,CRD,13.5 +VTS,1,1,540,1.09,CSH,8 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,420,1.18,CSH,7 +VTS,1,1,840,1.71,CRD,11 +VTS,1,1,360,0.99,CSH,6 +VTS,1,1,360,0.72,CSH,6 +VTS,1,1,300,0.12,CSH,4.5 +VTS,1,1,420,2,CRD,8 +VTS,1,1,1440,11.13,CRD,32 +VTS,1,1,360,1.14,CSH,6 +VTS,1,1,600,1.92,CSH,9.5 +VTS,1,1,540,4.01,CSH,13 +VTS,1,1,540,1.39,CRD,8 +VTS,1,1,480,1.25,CSH,7.5 +VTS,1,1,840,5.88,CSH,17.5 +VTS,1,1,420,0.7,CRD,6 +VTS,1,1,180,0.79,CRD,4.5 +VTS,2,1,1800,17.55,CRD,52 +VTS,1,1,360,2.28,CRD,8.5 +VTS,1,1,180,0.42,CRD,4 +VTS,1,1,180,0.26,CSH,3.5 +VTS,1,1,900,6.3,CSH,19 +VTS,1,1,600,1.94,CRD,9 +VTS,1,1,900,4.1,CSH,14.5 +VTS,1,1,720,2.99,CRD,11.5 +VTS,1,1,1500,3.26,CRD,17.5 +VTS,1,1,960,3.95,CRD,15 +VTS,1,1,180,1.36,CRD,5.5 +VTS,1,1,960,3.11,CSH,13 +VTS,1,1,1080,5.29,CSH,19 +VTS,1,1,420,1.37,CSH,7.5 +VTS,1,1,60,0.36,CSH,3 +VTS,1,1,540,2.57,CSH,10 +VTS,1,1,180,0.66,CSH,4.5 +VTS,1,1,1020,6.78,CRD,21.5 +VTS,1,1,600,2.37,CRD,10 +VTS,1,1,840,3.31,CSH,12.5 +VTS,1,1,1020,2.19,CRD,12 +VTS,1,1,480,1.76,CSH,8.5 +VTS,1,1,720,3.22,CRD,12 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,2040,12.95,CRD,40 +VTS,1,1,840,4.71,CSH,15.5 +VTS,1,1,840,2.7,CSH,12 +VTS,1,1,60,0.09,CSH,2.5 +VTS,1,1,840,3.08,CRD,12.5 +VTS,1,1,480,2.85,CRD,10 +VTS,1,1,540,1.6,CRD,8.5 +VTS,1,1,120,0.48,CRD,4 +VTS,1,1,900,8.11,CRD,23.5 +VTS,1,1,300,1.13,CSH,6 +VTS,1,1,420,1.23,CSH,7 +VTS,1,1,840,3.08,CSH,13 +VTS,1,1,480,1.75,CSH,8.5 +VTS,1,1,600,2.78,CRD,11.5 +VTS,1,1,660,1.7,CRD,9.5 +VTS,1,1,360,0.94,CSH,6.5 +VTS,1,1,1020,2.56,CRD,12.5 +VTS,1,1,780,3.13,CSH,12.5 +VTS,1,1,420,2.45,CSH,9 +VTS,1,1,2580,19.52,CRD,53.5 +VTS,1,1,420,2.61,CSH,9.5 +VTS,1,1,1380,14.23,CSH,39.5 +VTS,1,1,1860,10.62,CSH,34.5 +VTS,1,1,540,3.38,CSH,11 +VTS,1,1,300,1.1,CRD,6 +VTS,1,1,960,2.52,CRD,12 +VTS,1,1,1020,4.95,CSH,18 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,240,0.97,CRD,5 +VTS,1,1,1560,5.33,CRD,22 +VTS,1,1,420,1.76,CSH,8 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,1020,11.79,CRD,32.5 +VTS,1,1,1020,6.08,CSH,19.5 +VTS,1,1,360,1.2,CRD,6 +VTS,1,1,540,2.16,CSH,9.5 +VTS,1,1,1020,5.15,CSH,17.5 +VTS,1,1,360,1.64,CSH,7.5 +VTS,1,1,240,0.88,CRD,5.5 +VTS,1,1,420,2.01,CRD,8 +VTS,1,1,360,1.07,CRD,6 +VTS,1,1,3600,21.92,CSH,64 +VTS,1,1,720,2.21,CSH,10.5 +VTS,1,1,900,5.39,CRD,17.5 +VTS,1,1,780,1.34,CRD,10 +VTS,1,1,480,2.26,CSH,9 +VTS,1,1,660,2.9,CRD,12 +VTS,1,1,1260,1.15,CSH,13 +VTS,1,2,420,1.58,CRD,7.5 +VTS,1,1,240,0.84,CSH,5.5 +VTS,1,1,1800,8.48,CSH,29 +VTS,1,1,960,4.22,CSH,15.5 +VTS,1,1,900,3.28,CSH,13 +VTS,1,1,540,1.8,CSH,8.5 +VTS,1,1,540,2.95,CSH,11.5 +VTS,1,1,600,2.17,CSH,9.5 +VTS,1,1,1080,5.92,CSH,20 +VTS,1,1,900,5.57,CRD,18.5 +VTS,2,1,2700,18.66,CRD,52 +VTS,1,1,900,2.68,CRD,12 +VTS,1,1,300,0.72,CSH,5 +VTS,5,1,60,0,CRD,14 +VTS,1,1,420,1.4,CRD,7.5 +VTS,1,1,1200,3.64,CSH,15 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,780,2.83,CRD,12 +VTS,1,1,720,2.11,CRD,10 +VTS,1,1,480,1.82,CRD,8.5 +VTS,1,1,1140,5.36,CSH,18.5 +VTS,1,1,1440,10.35,CSH,31.5 +VTS,1,1,300,2.22,CRD,8.5 +VTS,1,1,240,0.95,CSH,5.5 +VTS,1,1,1020,7.91,CRD,24.5 +VTS,1,1,360,3,CRD,10.5 +VTS,1,1,540,3.66,CSH,12.5 +VTS,1,1,420,1.03,CSH,6.5 +VTS,1,1,480,2.35,CSH,9.5 +VTS,1,1,600,1.81,CRD,9 +VTS,1,1,2040,11.33,CSH,36 +VTS,1,1,540,3.99,CRD,13.5 +VTS,1,1,840,3.02,CRD,12.5 +VTS,1,1,480,0.33,CSH,6 +VTS,1,1,720,5.26,CRD,17 +VTS,1,1,180,0.56,CSH,4 +VTS,1,1,240,0.98,CSH,5 +VTS,1,1,840,3.06,CRD,12.5 +VTS,1,1,1320,8.91,CRD,27 +VTS,1,1,420,2.74,CRD,10 +VTS,1,1,840,2.06,CRD,10.5 +VTS,1,1,780,3.25,CRD,13 +VTS,1,1,900,2.1,CRD,11 +VTS,1,1,420,1.72,CRD,7.5 +VTS,1,1,960,2.89,CSH,13 +VTS,1,1,600,2.39,CRD,10 +VTS,1,1,1020,2.8,CRD,12.5 +VTS,1,1,1320,2.03,CSH,12.5 +VTS,1,1,660,1.46,CSH,8.5 +VTS,1,1,960,2.21,CRD,11.5 +VTS,1,1,600,2.96,CRD,11 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,180,1.04,CSH,5 +VTS,1,1,1680,6.2,CRD,24 +VTS,1,1,540,2.22,CRD,9 +VTS,1,1,660,2.8,CSH,11.5 +VTS,1,1,360,1.25,CRD,7 +VTS,1,1,180,1.69,CSH,6.5 +VTS,1,1,720,4.1,CRD,14 +VTS,1,1,840,5.36,CSH,17.5 +VTS,1,1,180,0.94,CSH,5 +VTS,1,1,180,1.04,CSH,5.5 +VTS,1,1,780,3.16,CSH,12 +VTS,1,1,420,0.82,CSH,6 +VTS,2,1,1980,17.31,CSH,52 +VTS,2,1,2040,20.87,CRD,52 +VTS,1,1,360,1.7,CSH,7 +VTS,1,1,660,3.23,CRD,11.5 +VTS,1,1,2400,15.37,CSH,44.5 +VTS,1,1,660,1.46,CRD,9.5 +VTS,1,1,240,1.28,CRD,6 +VTS,1,1,1380,8.14,CSH,26 +VTS,1,1,120,0.44,CRD,3.5 +VTS,1,1,420,2.11,CRD,8 +VTS,1,1,1020,4.09,CRD,15.5 +VTS,1,1,660,5.26,CSH,16.5 +VTS,1,1,180,1.05,CRD,5 +VTS,1,1,480,1.18,CSH,7 +VTS,1,1,480,1.23,CSH,7.5 +VTS,1,1,300,1.71,CRD,7 +CMT,1,1,780,2.5,CRD,11 +CMT,1,1,476,0.7,CRD,6.5 +VTS,1,1,480,1.61,CRD,8 +VTS,1,1,780,4.16,CSH,14.5 +VTS,1,1,1320,7.81,CRD,25.5 +VTS,1,1,1860,11.56,CRD,36.5 +VTS,1,1,600,4.26,CSH,13.5 +VTS,1,1,1260,11.83,CSH,33.5 +VTS,1,1,0,0.07,CSH,2.5 +VTS,1,1,660,0.86,CRD,8 +VTS,1,1,720,6.39,CRD,19.5 +VTS,1,1,420,1.6,CRD,7.5 +VTS,1,1,600,1.24,CRD,7.5 +VTS,5,1,0,0,CRD,8 +VTS,1,1,900,3.42,CSH,14 +VTS,1,1,420,2.09,CRD,9 +VTS,1,1,720,2.78,CRD,12 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,420,1.72,CRD,8 +VTS,1,1,720,2.6,CRD,11 +CMT,1,1,555,1.3,CRD,8 +CMT,1,2,898,6.1,CSH,20 +CMT,1,1,542,2.5,CRD,10 +CMT,1,1,168,0.4,CSH,4 +CMT,2,2,1333,17.2,CRD,52 +CMT,1,1,243,1.3,CSH,6 +CMT,1,1,935,3.9,CSH,15 +CMT,1,1,443,0.9,CRD,6.5 +CMT,1,1,406,1.2,CSH,7 +VTS,5,1,0,0,CRD,24 +VTS,1,1,780,3.62,CRD,14 +VTS,1,1,840,4.86,CSH,17 +VTS,1,1,1980,18.44,CRD,50.5 +VTS,1,1,120,0.85,CRD,4.5 +VTS,1,1,240,0.69,CRD,5 +VTS,1,1,1080,3.63,CSH,15.5 +VTS,1,1,840,4.65,CRD,16 +VTS,1,1,900,3.35,CSH,13.5 +VTS,1,1,300,1.69,CRD,7 +VTS,1,1,2340,9.02,CRD,33 +VTS,1,1,780,2.82,CSH,11.5 +VTS,1,1,960,1.53,CRD,11 +VTS,1,1,780,1.79,CRD,10.5 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,1320,4.2,CRD,17 +VTS,1,1,720,3.54,CRD,13 +VTS,1,1,1380,13.49,CSH,38 +VTS,1,1,840,3.33,CSH,13 +VTS,1,1,780,1.55,CSH,9.5 +CMT,1,1,2244,6.3,CSH,29 +CMT,1,1,637,1.4,CSH,8.5 +CMT,1,1,350,1.1,CSH,6 +CMT,1,1,594,2.6,CRD,10 +CMT,1,1,900,5.5,CRD,18 +CMT,1,1,564,2.6,CSH,10 +VTS,1,1,240,1.09,CSH,6 +VTS,1,1,660,1.94,CSH,9.5 +VTS,1,1,420,1.02,CRD,6.5 +VTS,1,1,480,1.04,CSH,7 +VTS,1,1,300,1.14,CSH,6.5 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,1380,9.78,CSH,29.5 +VTS,1,1,420,3.03,CSH,10.5 +VTS,1,1,540,1.27,CRD,7.5 +VTS,1,1,420,2.25,CRD,8.5 +VTS,1,1,480,2.33,CSH,9 +VTS,1,1,1320,14.68,CRD,40.5 +CMT,1,2,640,1,CRD,8 +CMT,1,1,1006,1.5,CSH,11.5 +CMT,2,2,4552,20.4,CSH,52 +CMT,1,1,750,3.1,CRD,12.5 +CMT,1,3,431,2.2,CSH,8.5 +CMT,1,1,813,3.2,CSH,12.5 +CMT,1,1,594,5.5,CRD,17 +CMT,1,1,509,1.2,CRD,7.5 +CMT,1,1,346,1.2,CSH,6.5 +CMT,1,1,452,2.2,CSH,8.5 +CMT,1,1,1255,5,CSH,15.5 +CMT,1,1,573,1.6,CSH,8.5 +CMT,1,1,591,1,CSH,8 +CMT,1,1,714,1.4,CSH,9 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,240,1.47,CRD,6.5 +VTS,1,1,900,4.51,CRD,16 +VTS,2,1,2400,18.03,CSH,52 +VTS,1,1,120,0.42,CSH,4 +VTS,1,1,300,0.83,CSH,5 +VTS,1,1,660,1.61,CRD,9 +VTS,1,1,420,1.36,CRD,7.5 +VTS,1,1,840,4.42,CSH,15.5 +VTS,1,1,1200,5.22,CRD,19 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,1,1200,6.52,CRD,22 +VTS,1,1,480,1.06,CSH,7 +VTS,1,1,720,3.14,CSH,12 +VTS,1,1,660,2.13,CSH,9.5 +VTS,1,1,240,0.7,CRD,5 +VTS,1,1,240,0.87,CSH,5 +VTS,1,1,540,1.43,CSH,8.5 +VTS,1,1,660,2.77,CSH,11.5 +VTS,1,1,420,2.14,CRD,9 +VTS,1,1,540,1.77,CRD,8.5 +VTS,1,1,780,4.13,CSH,15.5 +VTS,2,1,1680,21.12,CRD,52 +VTS,1,1,1020,2.45,CSH,13 +VTS,1,1,240,1.28,CSH,6 +VTS,1,1,1200,4.97,CRD,18 +VTS,1,1,840,4.1,CSH,15 +VTS,1,1,1620,10.06,CSH,31 +CMT,1,1,198,0.7,CRD,4.5 +CMT,1,1,223,0.9,CSH,5 +CMT,1,1,435,1,CRD,6.5 +CMT,1,2,1600,2.7,CSH,17.5 +CMT,1,2,525,1,CRD,7.5 +CMT,1,1,301,2.2,CSH,8 +CMT,1,1,215,0.5,CRD,4.5 +CMT,1,1,701,4.4,CRD,14.5 +CMT,1,1,307,0.8,CSH,5.5 +CMT,1,2,600,2.7,CSH,11 +CMT,2,1,2241,16.7,CRD,52 +CMT,1,3,1161,3,CSH,14.5 +CMT,1,1,1121,2.6,CSH,14 +CMT,1,1,330,1.3,CRD,6.5 +CMT,1,1,609,2,CSH,9 +CMT,1,1,441,0.8,CRD,6.5 +CMT,1,1,806,2.4,CSH,11 +CMT,1,1,1336,7.4,CRD,25 +CMT,1,1,907,5.9,CRD,19.5 +CMT,1,1,454,1.2,CSH,7.5 +CMT,1,1,569,1.9,CSH,9 +CMT,1,1,355,1.2,CSH,6.5 +CMT,1,2,562,2.5,CSH,10 +CMT,1,1,687,1.6,CSH,9.5 +CMT,1,1,1105,1.9,CRD,13.5 +CMT,1,1,344,1.3,CRD,6.5 +CMT,1,2,807,0.9,CSH,9.5 +CMT,1,1,679,3.3,CRD,12.5 +CMT,1,1,190,0.9,CRD,5 +CMT,1,1,743,2.3,CSH,11 +CMT,1,1,1113,4.1,CSH,16 +CMT,1,2,294,1.1,CSH,6 +CMT,1,1,109,0.4,CSH,3.5 +CMT,1,1,1235,3.1,CRD,15.5 +CMT,1,1,1115,6.4,CSH,21.5 +CMT,1,1,479,0.7,CSH,6.5 +CMT,1,1,399,1.2,CSH,6.5 +CMT,1,1,1491,8.5,CSH,28.5 +CMT,1,1,345,2.1,CRD,8 +CMT,1,1,494,1.4,CSH,7.5 +CMT,1,1,608,1.4,CSH,8.5 +CMT,1,1,487,1.6,CSH,8 +CMT,1,1,182,0.7,CRD,4.5 +CMT,1,1,907,3.4,CSH,14.5 +CMT,1,3,480,1.1,CSH,7.5 +CMT,1,1,238,0.9,CSH,5 +CMT,1,1,492,2.2,CRD,8.5 +CMT,1,1,270,0.5,CSH,5 +CMT,1,1,905,3.3,CRD,14 +CMT,1,1,706,3.2,CRD,12.5 +CMT,1,1,1791,9.8,CSH,33 +CMT,1,1,348,1.1,CSH,6 +CMT,1,1,612,1.2,CRD,8 +CMT,1,1,439,0.9,CRD,6.5 +CMT,1,1,1226,2.9,CRD,15 +CMT,1,2,258,0.6,CSH,5 +CMT,1,1,358,1,CRD,6 +CMT,1,1,347,1.5,CRD,7.5 +CMT,1,1,522,2.1,CRD,9.5 +CMT,1,1,665,2.6,CRD,11 +CMT,1,2,676,1.8,CSH,9.5 +CMT,1,1,231,1.1,CSH,5.5 +CMT,1,1,1375,9,CRD,29 +CMT,1,1,356,1.5,CRD,7 +CMT,1,1,251,1.4,CRD,6 +CMT,1,1,141,0.7,CRD,4 +CMT,1,1,371,1.2,CSH,6.5 +CMT,1,1,1020,4,CRD,15.5 +CMT,1,1,1025,4.5,CRD,16 +CMT,1,1,867,1.7,CSH,10.5 +CMT,1,1,467,1.7,CRD,8.5 +CMT,1,1,654,1,CRD,8 +CMT,1,3,871,2,CRD,11 +CMT,1,1,1133,10.9,CSH,30.5 +CMT,1,1,1180,3.8,CRD,16 +CMT,1,1,286,0.9,CRD,5.5 +CMT,1,1,549,1.3,CSH,8 +CMT,1,1,936,5.9,CRD,18.5 +CMT,1,1,516,1.4,CRD,8 +CMT,1,1,395,1,CSH,6 +CMT,1,1,259,0.9,CSH,5.5 +CMT,1,1,224,1.7,CSH,6.5 +CMT,1,1,576,2,CRD,9.5 +CMT,1,2,360,1.3,CSH,7 +CMT,1,1,225,1,CSH,5.5 +CMT,1,1,146,0.7,CSH,4.5 +CMT,1,1,1352,6.8,CSH,22.5 +CMT,1,1,276,0.9,CSH,5.5 +CMT,1,1,1186,2.6,CRD,14.5 +CMT,1,1,452,2.9,CSH,11 +CMT,1,1,437,2,CSH,8 +CMT,1,1,293,1.3,CRD,6 +CMT,1,2,1117,3.2,CRD,14.5 +CMT,1,1,432,1.4,CRD,7.5 +CMT,1,1,239,0.6,CSH,4.5 +CMT,1,1,1056,2.9,CRD,14 +CMT,1,1,677,1.7,CRD,9.5 +CMT,1,1,1205,5.5,CRD,20.5 +CMT,1,1,1177,2.3,CSH,14 +CMT,1,1,370,0.6,CSH,5.5 +CMT,1,1,806,2.6,CRD,11 +CMT,1,1,352,0.4,CSH,5.5 +CMT,1,1,575,1.1,CSH,7.5 +CMT,1,1,524,1.3,CRD,8 +CMT,1,1,223,0.6,CSH,5 +CMT,1,1,1077,6.6,CRD,22.5 +CMT,1,1,571,1.7,CSH,8.5 +CMT,1,1,291,1,CRD,5.5 +CMT,1,1,175,0.5,CRD,4 +CMT,1,1,870,9,CRD,25.5 +CMT,1,1,1091,2.2,CRD,12.5 +CMT,1,1,771,2.3,CSH,11 +CMT,1,1,216,0.9,CRD,5 +CMT,1,1,1262,2.9,CSH,15.5 +CMT,1,1,265,0.9,CRD,5 +CMT,1,1,998,10.7,CRD,29.5 +CMT,1,1,1731,7,CRD,25.5 +CMT,1,1,1244,3.4,CSH,16 +CMT,1,1,1004,3.9,CRD,15 +CMT,1,1,419,1.6,CSH,7.5 +CMT,1,1,856,2.8,CRD,12.5 +CMT,1,1,286,1,CSH,6 +CMT,1,1,1150,8.7,CRD,26.5 +CMT,1,1,224,0.6,CSH,4.5 +CMT,1,1,498,3.1,CRD,10.5 +CMT,1,2,1129,1.8,CSH,13 +CMT,1,1,430,1.1,CSH,6.5 +CMT,1,1,517,1.5,CSH,8 +CMT,1,1,764,1.9,CRD,10 +CMT,1,1,840,4.3,CSH,15.5 +CMT,1,1,349,1,CSH,6 +CMT,1,1,738,1.4,CRD,9.5 +CMT,1,1,1165,11.4,CRD,31.5 +CMT,1,2,240,1,CRD,5.5 +CMT,1,1,353,1.8,CRD,7.5 +CMT,1,1,446,2.4,CRD,9 +CMT,1,1,384,1.4,CSH,6.5 +CMT,1,1,812,2.7,CRD,12 +CMT,1,1,1152,7.1,CRD,23 +CMT,1,1,870,2.9,CSH,12.5 +CMT,1,1,629,2.1,CRD,10 +CMT,1,1,264,1.1,CSH,6 +CMT,1,1,974,2.8,CRD,13 +CMT,1,1,282,1.1,CRD,6 +CMT,1,1,655,1.3,CSH,9 +CMT,1,1,484,3,CRD,10.5 +CMT,1,1,724,1.3,CSH,9 +CMT,1,1,1089,6.2,CRD,20.5 +CMT,1,1,1138,1,CSH,12.5 +CMT,1,2,738,3.1,CSH,12 +CMT,1,1,170,0.6,CSH,4.5 +CMT,1,1,328,0.9,CSH,6 +CMT,1,1,995,2.5,CRD,12.5 +CMT,1,2,542,1,CRD,7.5 +CMT,1,2,578,2,CSH,9.5 +CMT,1,1,634,2.6,CRD,10.5 +CMT,1,1,125,0.5,CRD,4 +CMT,1,1,630,2,CSH,9.5 +CMT,1,1,634,5,CSH,16 +CMT,1,1,618,1.2,CRD,8 +CMT,1,1,857,1.3,CSH,10 +CMT,1,1,305,0.7,CRD,5 +CMT,1,1,566,0.8,CRD,7.5 +CMT,1,1,584,1.3,CRD,8 +CMT,1,1,772,5.4,CSH,16.5 +CMT,1,3,844,4.5,CSH,16 +CMT,1,1,689,2,CRD,9.5 +CMT,1,1,437,1,CRD,6.5 +CMT,1,1,598,1.1,CRD,8 +CMT,1,1,974,5.4,CRD,17.5 +CMT,1,1,995,1.9,CRD,2.5 +CMT,1,1,561,1.5,CRD,8 +CMT,1,1,307,0.8,CRD,5.5 +CMT,1,1,307,0.9,CRD,5.5 +CMT,1,1,498,1.6,CSH,8.5 +CMT,1,1,757,3.1,CRD,12 +CMT,1,1,745,2.3,CRD,10.5 +CMT,1,1,469,1.6,CSH,8 +CMT,1,1,330,0.7,CRD,5.5 +CMT,1,2,357,1.4,CSH,7 +CMT,1,1,232,0.7,CRD,4.5 +CMT,1,1,461,1,CRD,6.5 +CMT,1,1,684,2.9,CRD,11 +CMT,1,1,307,1.2,CSH,6 +CMT,1,1,312,1.1,CSH,6 +CMT,1,1,562,1.4,CRD,8.5 +CMT,1,1,658,1.4,CRD,9 +CMT,1,1,196,0.8,CRD,4.5 +CMT,1,1,329,1.2,CRD,6.5 +CMT,1,1,335,1.7,CRD,7 +CMT,1,2,1171,3.5,CRD,15 +CMT,1,3,723,4.2,CSH,15 +CMT,1,1,2016,8,CSH,29 +CMT,1,1,1011,7.7,CSH,23.5 +CMT,1,1,80,0.6,CRD,4 +CMT,1,2,906,3.1,CSH,13.5 +CMT,1,1,499,1.9,CSH,8.5 +CMT,1,1,372,1.4,CRD,6.5 +CMT,1,1,364,1.6,CRD,7.5 +CMT,1,1,230,1.1,CRD,5.5 +CMT,1,1,556,2.3,CRD,9.5 +CMT,2,2,1917,16,CSH,52 +CMT,1,1,1299,5.4,CRD,19.5 +CMT,1,1,1023,2.4,CSH,13 +CMT,1,1,1466,5,CSH,20.5 +CMT,1,1,334,0.8,CSH,5.5 +VTS,1,1,600,2.11,CSH,9.5 +VTS,1,1,360,1.58,CRD,7 +VTS,1,1,240,1.34,CSH,6 +VTS,1,1,780,5.37,CRD,17 +VTS,1,1,660,1.83,CSH,10 +VTS,1,1,1260,2.98,CSH,15 +VTS,1,1,1500,7.9,CRD,25 +VTS,2,2,3900,18.67,CRD,52 +VTS,1,1,720,1.82,CSH,9.5 +VTS,1,1,1440,2.43,CRD,15 +VTS,1,1,540,1.67,CSH,8.5 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,900,3.68,CRD,13.5 +VTS,1,1,720,2.83,CRD,11.5 +VTS,1,1,540,0.77,CSH,7 +VTS,1,1,720,0.99,CRD,9 +VTS,1,1,360,1.17,CRD,7 +VTS,1,1,300,1.3,CRD,6 +VTS,1,1,1800,20.99,CSH,55.5 +VTS,1,1,660,3.18,CSH,11.5 +VTS,1,1,1620,7.56,CRD,26.5 +VTS,1,1,900,3.59,CRD,13.5 +VTS,2,1,3720,19.95,CRD,52 +VTS,1,1,1380,6.72,CSH,23 +CMT,1,1,1213,7.4,CRD,24 +CMT,1,1,406,1.3,CRD,7 +CMT,1,1,156,0.7,CSH,4.5 +CMT,1,1,336,2,CSH,8 +CMT,1,1,349,0.4,CSH,5.5 +CMT,1,1,414,0.8,CSH,6.5 +CMT,1,1,962,3.3,CRD,14 +CMT,1,1,544,1.3,CSH,7.5 +CMT,1,1,347,0.7,CRD,6 +CMT,1,1,462,2.1,CSH,9 +CMT,1,1,384,1.2,CSH,6.5 +CMT,1,1,328,1,CRD,6 +CMT,1,1,586,1.9,CRD,9 +CMT,1,1,477,2,CRD,8.5 +CMT,1,1,1456,10.3,CRD,31.5 +CMT,1,1,517,0.9,CRD,7.5 +CMT,1,1,2189,7.9,CSH,30 +CMT,1,1,1069,2.1,CSH,13.5 +CMT,1,1,582,1.7,CRD,8.5 +CMT,1,1,441,1.7,CRD,8 +CMT,1,1,487,1.6,CRD,8 +CMT,1,1,358,0.8,CSH,6 +CMT,1,1,139,0.8,CSH,4.5 +CMT,1,1,946,4.8,CSH,16 +CMT,1,2,805,2.2,CRD,11 +CMT,1,2,638,1.2,CSH,8.5 +CMT,1,1,836,4.6,CSH,16.5 +CMT,1,1,534,3.1,CRD,11 +VTS,1,1,540,2.16,CSH,8.5 +VTS,1,1,720,2.83,CRD,11.5 +VTS,1,1,780,3.2,CRD,12.5 +VTS,2,1,1620,18.06,CRD,52 +CMT,1,1,301,2.8,CSH,9.5 +CMT,1,1,662,1.6,CRD,9 +CMT,1,1,314,1,CSH,6 +CMT,1,2,694,2,CRD,10 +CMT,1,1,149,0.5,CSH,4 +CMT,2,3,3896,17,NOC,52 +CMT,1,1,591,1.4,CRD,8.5 +CMT,1,1,987,2.5,CRD,13.5 +CMT,1,1,941,2.7,CRD,13 +CMT,1,1,500,1.2,CRD,7.5 +CMT,1,1,837,3.7,CRD,13.5 +CMT,1,1,1122,3.1,CRD,14.5 +CMT,1,1,402,0.9,CSH,6.5 +CMT,1,1,424,1.2,CSH,7 +CMT,1,1,52,0.4,CSH,3.5 +CMT,1,1,900,4,CSH,14 +CMT,1,1,274,0.8,CRD,5 +CMT,1,1,690,3,CRD,12 +CMT,1,1,457,0.6,CSH,6.5 +CMT,1,2,892,2.6,CRD,12 +CMT,1,1,313,0.7,CRD,5.5 +CMT,1,1,498,1.3,CRD,8 +CMT,1,1,770,1.1,CRD,9.5 +CMT,1,1,238,0.5,CSH,4.5 +CMT,1,1,333,0.7,CRD,5.5 +CMT,1,1,365,2.1,CRD,8 +CMT,1,2,494,2,CRD,8.5 +CMT,1,1,404,1.5,CRD,7.5 +CMT,1,1,600,1.8,CSH,9 +CMT,1,1,454,0.6,CRD,6.5 +CMT,1,1,211,0.4,CSH,4 +CMT,1,1,323,0.5,CRD,5.5 +CMT,1,1,119,0.5,CSH,4 +CMT,1,1,1446,7.5,CSH,25.5 +CMT,1,1,1331,1.6,CRD,14.5 +CMT,1,1,938,2.7,CRD,12.5 +CMT,1,1,844,2.3,CSH,11.5 +CMT,1,2,586,2.4,CSH,10 +CMT,1,3,780,2.5,CSH,11.5 +CMT,1,1,199,0.8,CRD,5 +CMT,1,1,336,0.7,CRD,5.5 +CMT,1,1,81,0.3,CSH,3.5 +CMT,4,1,363,0.5,NOC,5 +CMT,1,1,342,1.7,CRD,7.5 +CMT,1,1,862,2.9,CSH,13 +CMT,1,1,713,1.8,CSH,9.5 +CMT,1,2,997,5.1,CSH,19 +CMT,1,1,322,1,CSH,6 +VTS,1,1,1560,8.97,CRD,29.5 +VTS,1,1,840,4.56,CRD,16 +VTS,1,1,1140,4.87,CRD,17.5 +VTS,1,1,780,4.78,CRD,16 +VTS,1,1,1080,3.46,CSH,15 +VTS,1,1,1200,7.65,CRD,25.5 +VTS,1,1,1620,3.63,CSH,19.5 +VTS,1,1,960,1.59,CRD,11.5 +VTS,1,1,600,1.98,CSH,8.5 +VTS,1,1,780,2.38,CRD,11 +VTS,2,1,1860,15.35,CRD,52 +VTS,1,1,1140,5.02,CRD,19 +VTS,1,1,420,2.33,CRD,9 +VTS,2,1,2520,20.77,CRD,52 +VTS,1,1,120,0.19,CRD,3.5 +VTS,1,1,240,1.13,CSH,5.5 +VTS,1,1,360,1.74,CRD,7.5 +VTS,1,1,480,1.94,CSH,8.5 +CMT,2,1,2070,17,CRD,52 +CMT,1,2,1040,4.6,CRD,16 +CMT,1,2,1070,3.9,CSH,16 +CMT,1,1,243,0.5,CRD,5 +CMT,1,2,418,1.8,CSH,8 +CMT,1,2,214,0.9,CSH,5 +CMT,1,1,950,4.2,CSH,15 +CMT,1,1,103,0.3,CSH,3.5 +CMT,1,1,553,0.9,CRD,7 +CMT,1,2,489,1.1,CRD,7.5 +CMT,2,1,3,0,CRD,52 +CMT,1,1,271,1.8,CRD,7 +CMT,1,1,612,2.8,CSH,10.5 +CMT,1,1,222,0.4,CRD,4.5 +CMT,1,1,130,0.2,CSH,3.5 +CMT,1,1,983,2.1,CRD,12 +CMT,1,1,79,0.4,CSH,3.5 +CMT,1,1,467,1.7,CRD,8 +CMT,1,1,693,2.3,CRD,11 +CMT,1,1,659,2.6,CSH,11 +CMT,1,1,749,4.5,CRD,15.5 +CMT,1,1,919,2.8,CRD,13 +CMT,1,1,502,1.6,CSH,8 +CMT,1,1,681,1.3,CSH,9 +CMT,1,1,1119,3.3,CRD,15 +CMT,1,1,300,1,CRD,6 +CMT,1,1,271,0.9,CSH,5 +CMT,1,1,742,2,CRD,10.5 +CMT,1,1,1246,3,CSH,15 +CMT,1,1,839,2.2,CSH,11.5 +CMT,1,1,110,0.5,CSH,4 +CMT,1,1,332,1.1,CRD,6 +CMT,1,1,379,1.6,CSH,7.5 +CMT,1,1,1206,6.3,CRD,22.5 +CMT,1,1,300,1.1,CRD,6 +CMT,1,1,456,1,CRD,7 +CMT,1,1,354,1.1,CRD,6 +CMT,1,1,274,0.9,CRD,5.5 +CMT,1,1,260,1.4,CSH,6.5 +CMT,1,1,332,1.1,CSH,6.5 +CMT,1,2,729,3.4,CRD,13.5 +CMT,1,1,210,1,CRD,5 +CMT,1,1,1245,5,CRD,18 +CMT,1,2,1086,4.1,CSH,17 +CMT,1,1,226,0.7,CRD,5 +CMT,1,1,287,2,CRD,7.5 +CMT,1,1,327,1.2,CSH,6.5 +CMT,1,1,330,0.8,CSH,5.5 +CMT,1,2,351,1.1,CSH,6 +CMT,1,1,791,3,CRD,12.5 +CMT,1,1,1200,2.4,CRD,14 +CMT,1,2,979,4.5,CSH,17.5 +CMT,1,1,711,1.1,CSH,8.5 +CMT,1,1,224,1.1,CSH,5.5 +CMT,1,1,1747,7.4,CRD,26 +CMT,1,1,410,1.3,CRD,6.5 +CMT,1,1,320,0.8,CSH,5.5 +CMT,1,1,617,2.4,CRD,9.5 +CMT,1,1,239,0.9,CSH,5.5 +CMT,1,1,257,0.6,CSH,4.5 +CMT,1,1,1210,2.8,CSH,12 +CMT,1,1,175,0.8,CSH,5 +CMT,1,1,513,1.8,CSH,8.5 +CMT,1,1,1327,2.1,CRD,15 +CMT,1,1,361,1,CSH,6.5 +CMT,1,1,378,0.8,CSH,6 +CMT,1,2,512,1.8,CRD,8 +CMT,1,1,985,2.3,CRD,12 +CMT,1,1,526,1.3,CSH,7.5 +CMT,1,1,1142,3.6,CRD,16 +CMT,1,1,1095,5.6,CSH,19.5 +CMT,1,1,552,1.8,CRD,8.5 +CMT,1,2,743,2.4,CRD,10.5 +CMT,1,1,927,2.2,CRD,11.5 +CMT,1,1,666,1.5,CRD,9 +CMT,1,1,363,1.2,CSH,6.5 +CMT,1,1,922,2.4,CRD,12 +CMT,1,1,298,0.8,CSH,5.5 +CMT,1,1,548,1.6,CSH,8 +CMT,1,1,553,2.9,CSH,11 +CMT,1,2,527,1.6,CRD,8.5 +CMT,1,1,907,3.6,CRD,14 +CMT,1,1,479,1.5,CRD,7.5 +CMT,1,1,252,1.1,CSH,5.5 +CMT,1,1,313,1.3,CSH,6.5 +CMT,1,3,939,2.6,CRD,13 +CMT,1,1,660,2.4,CSH,9.5 +CMT,1,1,102,0.3,CRD,3.5 +CMT,1,1,838,2.4,CSH,11 +CMT,1,1,574,4.3,CSH,13 +CMT,1,1,578,1.4,CRD,8 +CMT,1,1,572,0.7,CRD,7.5 +CMT,1,1,623,0.7,CSH,7.5 +CMT,1,1,347,0.9,CRD,6 +CMT,1,1,534,1.4,CSH,8 +CMT,1,1,191,0.6,CRD,4.5 +CMT,1,3,1223,4,CSH,16 +CMT,1,1,139,0.8,CSH,4.5 +CMT,1,1,434,0.9,CSH,6.5 +CMT,1,1,355,0.8,CRD,6 +CMT,1,1,283,1.7,CRD,7 +CMT,1,1,691,2.1,CRD,10.5 +CMT,1,1,541,1.7,CSH,8.5 +CMT,1,1,443,1.5,CSH,8 +CMT,1,1,393,1.8,CSH,7.5 +CMT,1,1,201,1,CRD,5 +CMT,2,1,1676,17.4,CRD,52 +CMT,1,1,1407,8.6,CSH,26 +CMT,1,2,233,0.2,CSH,4.5 +CMT,1,2,869,3.3,CRD,13.5 +CMT,1,1,347,0.7,CSH,5.5 +CMT,1,1,539,1.6,CRD,8.5 +CMT,1,1,1614,4.2,CRD,21 +CMT,1,1,111,0.7,CSH,4 +CMT,1,1,610,1.8,CRD,9 +CMT,1,1,557,1,CRD,7.5 +CMT,1,1,933,2.5,CRD,12 +CMT,1,1,1191,2.1,CSH,13.5 +CMT,1,1,1102,2.8,CRD,13.5 +CMT,1,1,854,6.6,CSH,21 +CMT,1,1,1208,1.6,CRD,13.5 +CMT,1,1,707,1.9,CRD,9.5 +CMT,1,1,176,0.6,CSH,4.5 +CMT,1,2,1253,5.5,CRD,20.5 +CMT,1,1,443,1,CRD,7 +CMT,1,1,539,1.9,CSH,8.5 +CMT,1,1,258,1.4,CSH,6 +CMT,1,1,162,0.5,CRD,4 +CMT,1,1,404,1.9,CRD,8 +CMT,1,1,1197,2.1,CRD,13.5 +CMT,1,1,215,0.7,CRD,4.5 +CMT,1,1,1192,8.6,CRD,27 +CMT,1,1,616,1.6,CRD,9 +CMT,1,1,1009,6.2,CRD,20 +CMT,1,1,740,1.4,CSH,9.5 +CMT,1,3,756,2,CSH,10 +CMT,1,1,110,0.6,CSH,4 +CMT,1,1,765,6.4,CRD,20.5 +CMT,1,1,581,2.1,CSH,10 +CMT,1,1,2383,3.3,CSH,14 +CMT,1,1,563,0.8,CSH,7.5 +CMT,1,1,273,1,CRD,5.5 +CMT,1,1,814,5.1,CSH,16.5 +CMT,1,1,1645,2.6,CRD,17.5 +CMT,1,2,376,0.5,CSH,5.5 +CMT,1,1,380,0.7,CSH,6 +CMT,1,1,1821,6,CSH,26 +CMT,1,1,676,2.1,CRD,10 +CMT,1,1,271,0.7,CRD,5 +CMT,1,1,719,1.6,CSH,9.5 +CMT,1,1,460,1.2,CRD,7.5 +CMT,1,1,349,1.6,CSH,7 +CMT,1,1,312,1.2,CRD,6.5 +CMT,1,1,276,0.8,CRD,5.5 +CMT,1,1,369,0.7,CSH,6 +CMT,1,1,121,0.3,CSH,3.5 +CMT,1,1,1319,6.1,CRD,22 +CMT,1,1,501,3.2,CSH,11 +CMT,1,1,1262,4,CSH,17 +CMT,1,2,300,1.5,CRD,6.5 +CMT,1,1,515,2.4,CRD,9.5 +CMT,1,1,819,2,CRD,10.5 +CMT,1,1,161,0.5,CSH,4 +CMT,1,2,396,1.2,CSH,7 +CMT,1,1,393,1.2,CRD,6.5 +CMT,1,1,470,1.4,CRD,7.5 +CMT,1,1,359,1.6,CSH,7 +CMT,1,1,1305,2.7,CRD,15.5 +CMT,1,1,1365,4,CSH,17.5 +CMT,1,2,424,1.2,CSH,6.5 +CMT,1,1,756,1.7,CRD,10 +CMT,1,1,1234,8.9,CSH,27 +CMT,1,1,728,1.5,CRD,9.5 +CMT,1,1,284,0.8,CSH,5.5 +CMT,1,1,408,1.5,CSH,7.5 +CMT,1,1,130,0.9,CRD,4.5 +CMT,1,1,374,1.2,CRD,7 +CMT,1,1,345,1.2,CSH,6.5 +CMT,1,2,1160,2.4,CRD,14 +CMT,1,1,299,1.6,CRD,7 +CMT,1,1,660,1.4,CRD,9 +CMT,1,1,420,1.4,CRD,7 +CMT,1,1,686,2.7,CRD,11.5 +CMT,1,3,402,0.9,CSH,6.5 +CMT,1,1,764,2.6,CSH,11 +CMT,1,1,214,0.8,CSH,5 +CMT,1,1,175,1.1,CSH,5 +CMT,1,1,1391,9.5,CRD,29 +CMT,1,1,604,1.2,CSH,8.5 +CMT,1,1,757,1.2,CRD,9 +CMT,1,1,364,1,CRD,6.5 +CMT,1,1,190,0.6,CRD,4.5 +CMT,1,1,573,1.3,CRD,8.5 +CMT,1,1,316,0.7,CSH,5.5 +CMT,1,1,86,0.5,CSH,3.5 +CMT,1,1,942,2.9,CRD,13 +CMT,1,1,713,2.9,CRD,12 +CMT,1,1,837,1,CSH,10 +CMT,1,1,938,9.4,CSH,27 +CMT,1,1,806,1,CRD,9.5 +CMT,1,1,479,1.4,CRD,8 +CMT,1,1,148,0.4,CSH,4 +CMT,1,1,327,0.9,CSH,5.5 +CMT,1,1,777,2.4,CRD,11 +CMT,1,1,122,0.4,CRD,4 +CMT,1,1,705,2.5,CRD,11 +CMT,1,1,470,1.4,CRD,7.5 +CMT,1,1,793,1.8,CRD,10 +CMT,1,1,668,1.8,CSH,9.5 +CMT,1,1,716,1.3,CSH,9.5 +CMT,1,1,315,1.8,CSH,7 +CMT,1,1,1274,4.5,CRD,17.5 +CMT,1,1,568,0.7,CRD,7 +CMT,1,1,1063,2.3,CSH,13 +CMT,1,1,1565,3.6,CRD,19 +CMT,1,1,235,0.7,CSH,5 +CMT,1,1,736,2.4,CRD,10.5 +CMT,1,1,516,1,CRD,7 +CMT,1,1,346,1.2,CSH,6.5 +CMT,1,1,434,1.1,CSH,7 +CMT,1,1,192,0.6,CRD,4.5 +CMT,1,1,752,1.4,CRD,9.5 +CMT,1,1,794,1.3,CRD,9.5 +CMT,1,2,585,1.4,CRD,8.5 +CMT,1,1,259,0.9,CRD,5.5 +CMT,1,1,1136,2.7,CRD,14.5 +CMT,1,1,141,0.5,CSH,4 +CMT,1,1,262,0.8,CSH,5.5 +CMT,1,1,527,1.9,CSH,8.5 +CMT,1,1,140,0.6,CSH,4 +CMT,1,1,1068,5.3,CSH,18.5 +CMT,1,1,725,1.9,CRD,10 +CMT,1,1,968,2.6,CSH,12.5 +CMT,1,2,712,2.4,CSH,10.5 +CMT,1,1,680,2.6,CSH,11 +CMT,1,1,177,0.7,CRD,4.5 +CMT,1,1,98,0.5,CRD,3.5 +CMT,1,1,736,2.4,CRD,11 +CMT,1,1,771,3.7,CRD,13 +CMT,1,1,155,0.7,CRD,4.5 +CMT,1,1,693,0.9,CRD,8.5 +CMT,1,1,342,0.8,CRD,5.5 +CMT,1,1,1389,3.5,CRD,17 +CMT,1,1,663,1.9,CSH,9.5 +CMT,2,1,1410,15.7,CRD,52 +CMT,1,1,382,0.7,CRD,6 +CMT,1,1,1389,9.8,CSH,29.5 +CMT,1,1,626,2.9,CRD,11.5 +CMT,1,1,1140,3.5,CRD,15.5 +CMT,1,1,42,0.2,CSH,3 +CMT,1,1,415,0.7,CRD,6.5 +CMT,1,1,1247,7.1,CSH,22.5 +CMT,1,1,411,1.5,CRD,7 +CMT,1,1,667,1.3,CRD,8.5 +CMT,1,1,847,2.3,CSH,11 +CMT,1,1,929,1.4,CSH,11 +CMT,1,1,701,1.7,CSH,9.5 +CMT,1,1,327,0.9,CRD,6 +CMT,1,1,203,0.8,CSH,5 +CMT,1,2,164,0.8,CSH,4.5 +CMT,1,1,170,0.4,CRD,4 +CMT,1,1,552,1.4,CRD,8 +CMT,1,1,423,1.8,CRD,8 +CMT,1,1,932,2.8,CSH,13.5 +CMT,1,1,1562,9.9,CSH,31.5 +CMT,1,1,568,1.6,CSH,8.5 +CMT,1,1,303,1,CSH,5.5 +CMT,1,1,338,1.5,CRD,6.5 +CMT,1,1,730,3.8,CSH,13.5 +CMT,1,1,48,0.2,CSH,3 +CMT,1,1,976,2.9,CRD,13 +CMT,1,1,1286,3.9,CRD,17 +CMT,1,1,1643,3.8,CSH,19 +CMT,1,1,861,3.6,CSH,13.5 +CMT,1,1,176,0.6,CSH,4.5 +CMT,1,1,763,1.8,CSH,10 +CMT,1,1,551,1.7,CSH,8.5 +CMT,1,1,741,1.2,CRD,9.5 +CMT,1,1,815,2.4,CSH,12 +CMT,1,4,231,1.2,CSH,6 +CMT,1,1,966,7.1,CRD,21.5 +CMT,1,1,308,0.6,CSH,5 +CMT,1,1,193,0.6,CSH,4.5 +CMT,1,1,772,2,CRD,10.5 +CMT,1,1,1142,2.8,CRD,14 +CMT,1,1,614,1.2,CSH,8 +CMT,1,1,468,1.9,CSH,8.5 +CMT,1,1,351,0.7,CSH,5.5 +CMT,1,1,1261,1,CSH,13 +CMT,1,1,336,0.6,CSH,5.5 +CMT,1,1,980,1.2,CRD,11 +CMT,1,1,530,0.6,CSH,7 +CMT,1,2,1238,6.6,CSH,22 +CMT,1,1,402,2.9,CRD,9.5 +CMT,1,1,737,2.2,CRD,10.5 +CMT,1,1,617,1.2,CSH,8.5 +CMT,1,1,440,1.6,CRD,8 +CMT,1,1,786,2.2,CRD,10.5 +CMT,1,1,1297,2.9,CSH,15.5 +CMT,1,1,123,0.1,CSH,3.5 +CMT,1,1,623,1.3,CRD,8 +CMT,1,1,745,1.7,CRD,9.5 +CMT,1,1,1129,3.7,CRD,16 +CMT,1,1,227,0.4,CRD,4.5 +CMT,1,1,437,1.1,CSH,7 +CMT,1,1,551,1.3,CSH,8.5 +CMT,1,1,463,1.7,CRD,7.5 +CMT,1,2,302,0.8,CRD,5.5 +CMT,1,1,680,2.1,CRD,10 +CMT,1,1,465,1.1,CSH,7 +CMT,1,2,391,1.2,CRD,6.5 +CMT,1,1,224,0.5,CRD,4.5 +CMT,1,1,526,1.6,CRD,8.5 +CMT,1,1,437,1.1,CSH,7 +CMT,1,1,449,1.4,CSH,7.5 +CMT,1,2,127,0.4,CSH,3.5 +CMT,1,1,528,3.2,CSH,11 +CMT,1,2,276,0.9,CSH,5 +CMT,1,1,347,1.8,CRD,7.5 +CMT,1,1,509,1.6,CRD,8.5 +CMT,1,1,139,0.7,CRD,4 +CMT,1,1,297,0.8,CRD,5.5 +CMT,1,1,225,0.5,CRD,4.5 +CMT,1,1,502,1.8,CSH,8.5 +CMT,1,1,441,1.3,CRD,7 +CMT,1,1,1020,2.2,CRD,12.5 +CMT,1,1,794,1.6,CRD,10 +CMT,1,1,763,4,CRD,14.5 +CMT,1,1,381,1,CSH,6.5 +CMT,1,1,177,0.5,CRD,4.5 +CMT,1,1,564,1.6,CSH,8.5 +CMT,1,1,231,0.5,CSH,4.5 +CMT,1,1,169,1.1,CSH,5 +CMT,1,1,309,0.7,CSH,5 +CMT,1,1,596,2.3,CSH,11 +CMT,1,1,1073,3.6,CSH,15.5 +CMT,1,1,450,0.9,CRD,6.5 +CMT,1,1,554,1.4,CSH,8 +CMT,1,1,1191,2.8,CSH,14.5 +CMT,1,1,635,1.4,CRD,8.5 +CMT,1,1,715,1.5,CSH,9.5 +CMT,1,1,710,1.1,CRD,9 +CMT,1,1,258,0.5,CRD,5 +CMT,1,1,139,0.4,CSH,3.5 +CMT,1,1,3061,12.2,CSH,44.5 +CMT,1,1,850,2.2,CRD,11.5 +CMT,1,1,172,1.2,CSH,5.5 +CMT,1,1,185,0.8,CRD,5 +CMT,1,1,824,1.9,CSH,11 +CMT,1,1,548,1.1,CRD,7.5 +CMT,1,1,1469,4.2,CRD,18.5 +CMT,1,1,1178,1.5,CRD,13 +CMT,1,1,1222,7,CSH,23.5 +CMT,1,1,145,0.7,CSH,4.5 +CMT,1,1,487,1.1,CRD,7 +CMT,1,1,348,0.7,CRD,5.5 +CMT,1,1,568,1.1,CRD,8 +CMT,1,1,761,4,CRD,15 +CMT,2,1,1568,15.8,CRD,52 +CMT,1,1,283,0.8,CSH,5.5 +CMT,1,1,901,3.7,CRD,14.5 +CMT,1,1,206,1,CRD,5 +CMT,1,1,371,0.9,CSH,6 +CMT,1,1,707,2.2,CSH,10.5 +CMT,1,1,592,1,CRD,7.5 +CMT,1,1,529,1.3,CRD,7.5 +CMT,1,1,640,1.9,CSH,9.5 +CMT,1,1,1524,7.1,CRD,25.5 +CMT,1,1,677,1.6,CSH,9 +CMT,1,1,411,1.1,CSH,7 +CMT,1,4,995,3.9,CSH,14.5 +CMT,1,2,330,0.5,CSH,5.5 +CMT,1,1,321,1.2,CRD,6.5 +CMT,1,1,313,1.6,CRD,7 +CMT,1,1,586,2.2,CRD,9.5 +CMT,1,1,531,1.5,CRD,8 +CMT,1,3,440,0.9,CRD,6 +CMT,1,1,421,2.7,CRD,10 +CMT,1,1,253,1,CSH,5.5 +CMT,1,1,440,3.3,CRD,11 +CMT,1,1,242,0.9,CRD,5.5 +CMT,1,1,875,5.5,CSH,18 +CMT,1,1,1628,8.5,CSH,27.5 +CMT,1,1,636,4.6,CRD,15 +CMT,1,2,599,2,CSH,9.5 +CMT,1,1,817,2.3,CRD,11.5 +CMT,1,1,1177,2.8,CSH,14.5 +CMT,3,1,1545,16.9,CRD,63 +CMT,1,1,630,1.7,CRD,9 +CMT,1,1,607,2.4,CSH,10 +CMT,1,1,438,1.2,CSH,7 +CMT,1,1,970,8.7,CSH,25 +CMT,1,1,368,0.9,CRD,6 +CMT,1,1,801,4.9,CRD,16.5 +CMT,1,1,821,1.1,CRD,9.5 +CMT,1,1,648,2.5,CRD,10.5 +CMT,1,1,373,1.4,CRD,7 +CMT,1,1,1242,3.4,CRD,16 +CMT,1,1,1163,3,CSH,15 +CMT,1,1,306,0.6,CRD,5 +CMT,1,1,1313,2.9,CRD,15.5 +CMT,1,1,473,1.2,CSH,7 +CMT,1,1,157,0.6,CSH,4.5 +CMT,1,1,1496,5,CSH,19.5 +CMT,1,1,629,1.4,CRD,8.5 +CMT,1,1,1307,5.3,CRD,20 +CMT,1,1,466,1.6,CRD,8 +CMT,1,1,679,2.7,CRD,10.5 +CMT,1,1,374,1.6,CSH,7.5 +CMT,1,1,1318,6.9,CSH,23 +CMT,1,1,240,0.8,CRD,5.5 +CMT,1,1,293,0.9,CSH,5.5 +CMT,1,1,860,2.6,CSH,12 +CMT,1,1,447,1.1,CSH,7 +CMT,1,1,419,0.9,CSH,6.5 +CMT,1,3,1632,2.8,CRD,17.5 +CMT,1,1,331,1.2,CSH,6 +CMT,1,1,891,2.9,CRD,12.5 +CMT,1,1,387,1,CRD,6.5 +CMT,1,1,129,0.4,CRD,3.5 +CMT,1,1,602,2.1,CRD,9.5 +CMT,1,1,206,1.5,CRD,6 +CMT,1,1,324,1.2,CSH,6.5 +CMT,1,2,658,1.1,CSH,8.5 +CMT,1,1,417,2.2,CRD,8.5 +CMT,1,1,179,0.3,CRD,4 +CMT,1,1,626,1.4,CRD,8.5 +CMT,1,1,506,0.8,CSH,7 +CMT,1,1,264,0.7,CSH,5 +CMT,1,1,174,0.7,CSH,4.5 +CMT,1,1,1313,3.7,CRD,16 +CMT,1,1,493,1.3,CRD,7.5 +CMT,1,1,275,0.7,CRD,5 +CMT,1,1,688,1.6,CSH,9.5 +CMT,1,1,360,2.6,CRD,9 +CMT,1,1,127,0.5,CSH,4 +CMT,1,2,814,2.3,CSH,11.5 +CMT,1,1,1177,2.9,CRD,15 +CMT,1,1,442,0.8,CSH,6.5 +CMT,1,1,722,1,CRD,8.5 +CMT,1,1,1624,4.9,CSH,21.5 +CMT,1,1,826,0.9,CRD,9.5 +CMT,1,2,725,4,CSH,14 +CMT,1,1,464,1.4,CRD,7.5 +CMT,1,1,1171,3.9,CSH,16 +CMT,1,1,1263,3.9,CSH,13.5 +CMT,1,1,439,1.3,CRD,7 +CMT,1,1,608,1.3,CRD,8.5 +CMT,1,1,710,3.3,CSH,12 +CMT,1,2,225,0.6,CRD,4.5 +CMT,1,1,389,1.6,CRD,7.5 +CMT,1,1,594,4.5,CRD,14.5 +CMT,1,1,831,2,CSH,11 +CMT,1,1,891,1.6,CRD,11 +CMT,1,1,471,2.3,CSH,9 +CMT,1,1,1532,4.6,CRD,20 +CMT,1,1,465,1.5,CRD,7.5 +CMT,1,1,1209,3.5,CRD,16 +CMT,1,1,481,1.7,CSH,8 +CMT,1,1,1823,8.5,CRD,29 +CMT,1,1,291,1,CSH,5.5 +CMT,1,1,566,2.1,CSH,9.5 +CMT,1,1,140,0.6,CSH,4 +CMT,1,1,413,1.4,CSH,7 +CMT,1,1,523,1.1,CRD,7.5 +CMT,1,2,685,2.2,CSH,10 +CMT,1,1,197,0.7,CSH,4.5 +CMT,1,1,320,0.6,CSH,5 +CMT,1,4,533,1.5,CSH,8 +CMT,1,1,641,1.4,CRD,9 +CMT,2,1,3241,19.1,CRD,52 +CMT,1,1,564,1.4,CSH,8 +CMT,1,1,287,0.7,CRD,5.5 +CMT,1,1,950,4.3,CRD,15.5 +CMT,1,2,513,1.5,CRD,8 +CMT,1,1,860,2.3,CRD,12 +CMT,1,2,769,1.3,CSH,9.5 +CMT,1,1,549,2.1,CRD,9.5 +CMT,1,1,279,0.7,CRD,5 +CMT,1,3,875,3.8,CSH,15 +CMT,1,1,1615,4.2,CRD,20 +CMT,1,1,922,1.6,CSH,11 +CMT,1,1,257,0.8,CSH,5.5 +CMT,1,1,147,1,CRD,5 +CMT,1,1,1213,6.1,CRD,22 +CMT,1,1,711,2.2,CRD,11 +CMT,1,1,183,0.6,CSH,4.5 +CMT,1,1,107,0.3,CSH,3.5 +CMT,1,1,1432,4.6,CRD,20 +CMT,1,1,271,1.1,CRD,5.5 +CMT,1,1,450,1.4,CRD,7.5 +CMT,1,1,321,0.9,CSH,6 +CMT,1,1,1275,8.3,CSH,27 +CMT,1,1,638,1.3,CSH,8.5 +CMT,1,1,386,0.7,CRD,6 +CMT,1,1,277,0.7,CRD,5 +CMT,1,1,689,1.4,CSH,9 +CMT,1,1,204,0.7,CRD,4.5 +CMT,1,1,622,0.8,NOC,4.5 +CMT,1,3,267,0.9,CSH,5.5 +CMT,1,1,722,3.2,CRD,11.5 +CMT,1,1,1034,4,CSH,15.5 +CMT,1,1,782,2.3,CSH,11 +CMT,1,1,511,1.2,CRD,7.5 +CMT,1,1,832,3.7,CSH,13.5 +CMT,1,1,1131,7,CRD,23 +CMT,1,2,391,1.2,CRD,6.5 +CMT,1,1,445,2.3,CRD,8.5 +CMT,1,1,318,0.7,CRD,5 +CMT,1,1,766,4.3,CRD,14.5 +CMT,1,2,270,1,CRD,5.5 +CMT,1,1,573,2.7,CRD,10.5 +CMT,1,1,518,1.4,CSH,8 +CMT,1,1,264,0.6,CRD,5 +CMT,1,1,668,1.9,CRD,9.5 +CMT,1,1,834,2.8,CSH,12 +CMT,1,2,1097,5.4,CSH,18.5 +CMT,1,1,643,4.1,CRD,13 +CMT,1,1,480,1.1,CRD,7 +CMT,1,1,994,2.4,CRD,9.5 +CMT,1,1,1708,7.3,CRD,25 +CMT,1,1,282,0.4,CRD,5 +CMT,1,1,243,1.3,CRD,6 +CMT,1,1,139,0.8,CRD,4.5 +CMT,1,1,1013,4.8,CRD,16 +CMT,1,1,995,2.9,CSH,14 +CMT,1,1,1270,11.6,CRD,33.5 +CMT,1,1,928,3,CRD,12.5 +CMT,1,1,777,3,CRD,11.5 +CMT,1,1,499,1.3,CSH,8 +CMT,1,1,512,0.8,CRD,7 +CMT,1,1,481,0.9,CRD,7 +CMT,1,1,611,1.3,CRD,8 +CMT,1,1,437,1.2,CRD,6.5 +CMT,1,1,815,0.6,CSH,9 +CMT,1,1,360,1.7,CRD,7.5 +CMT,1,1,289,1.1,CRD,5.5 +CMT,1,1,828,2.4,CRD,10 +CMT,1,1,1007,3,CSH,13 +CMT,1,1,777,2.9,CRD,12 +CMT,1,2,590,2,CRD,9 +CMT,1,3,218,0.8,CSH,5 +CMT,1,1,1323,6.8,CRD,23.5 +CMT,1,3,310,0.7,CRD,5.5 +CMT,1,2,663,2.9,CRD,11 +CMT,1,1,249,0.9,CRD,5 +CMT,1,2,1513,7.4,CRD,24.5 +CMT,1,1,462,2.6,CRD,10 +CMT,1,1,469,2,CRD,8.5 +CMT,1,1,423,1.2,CSH,7 +CMT,1,1,1047,4.1,CSH,16 +CMT,1,1,305,0.9,CRD,5.5 +CMT,1,1,506,0.9,CSH,7 +CMT,1,1,798,1.1,CSH,9.5 +CMT,1,2,448,1,CSH,6.5 +CMT,1,1,344,1.2,CSH,6 +CMT,1,1,1770,8,CRD,27 +CMT,1,1,1361,4.6,CRD,19 +CMT,1,1,139,0.5,CSH,4 +CMT,1,3,205,0.9,CSH,5 +CMT,1,2,301,1,CRD,5 +CMT,1,1,283,1.1,CSH,6 +CMT,1,2,656,1.3,CRD,8 +CMT,1,1,733,1.3,CRD,9 +CMT,1,1,473,1.3,CRD,7.5 +CMT,1,1,689,1.5,CRD,9 +CMT,1,1,900,4.2,CSH,15 +CMT,1,1,472,1.9,CSH,8.5 +CMT,1,1,328,1.4,CRD,7 +CMT,1,1,208,0.7,CSH,4.5 +CMT,1,1,368,0.8,CRD,4.5 +CMT,1,1,829,1.9,CRD,8.5 +CMT,1,1,500,1.7,CSH,8 +CMT,1,1,323,1.2,CRD,5.5 +CMT,1,3,1004,4.4,CSH,15.5 +CMT,1,4,465,1.6,CSH,7.5 +CMT,1,1,1030,4.6,CRD,16 +CMT,1,2,545,1.7,CSH,9 +CMT,1,2,860,4.8,CSH,17 +CMT,1,1,381,1.2,CRD,6.5 +CMT,1,1,775,5.9,CRD,19 +CMT,1,1,126,0.6,CRD,4 +CMT,1,1,496,1.3,CSH,7.5 +CMT,1,1,445,1.9,CRD,8 +CMT,1,1,471,2.3,CRD,9.5 +CMT,1,1,1312,4.1,CSH,18.5 +CMT,1,1,306,1,CSH,6 +CMT,1,1,1058,4.9,CSH,18 +CMT,1,1,768,3.1,CRD,12.5 +CMT,1,1,471,1,CSH,7 +CMT,1,1,846,1.9,CRD,10.5 +CMT,1,1,406,1.2,CSH,7 +CMT,1,1,381,1.2,CRD,6.5 +CMT,1,1,288,1.3,CRD,6.5 +CMT,1,1,553,1.4,CRD,8 +CMT,1,1,1119,4.8,CRD,18 +CMT,1,1,532,1.6,CSH,8.5 +CMT,1,2,512,1.8,CRD,8.5 +CMT,1,1,222,1.3,CRD,6 +CMT,1,1,345,0.8,CSH,5.5 +CMT,1,1,152,0.5,CRD,4 +CMT,1,2,676,1.3,CSH,8.5 +CMT,1,1,475,1.1,CSH,7 +CMT,1,1,682,2.5,CRD,10.5 +CMT,1,1,1168,2.4,CSH,11 +CMT,1,2,357,1.4,CSH,7 +CMT,1,1,426,1.2,CRD,6.5 +CMT,1,1,429,1.5,CRD,7 +CMT,1,2,360,0.6,CRD,5.5 +CMT,1,1,318,1,CRD,5.5 +CMT,1,2,554,1.2,CSH,8 +CMT,1,1,349,1.1,CRD,6 +CMT,1,1,299,0.9,CRD,5.5 +CMT,1,2,246,0.7,CRD,5 +CMT,1,1,210,0.8,CRD,5 +CMT,1,1,907,4,CRD,15 +CMT,1,1,911,1.9,CRD,11.5 +CMT,1,1,641,2.6,CRD,11 +CMT,1,1,1053,3.4,CRD,14.5 +CMT,1,1,398,1.7,CRD,7.5 +CMT,1,2,614,2.6,CSH,10 +CMT,1,2,731,2,CSH,10.5 +CMT,1,1,739,3.1,CRD,13 +CMT,1,3,717,2.4,CSH,10.5 +CMT,1,1,535,2.9,CRD,10.5 +CMT,1,1,331,1.1,CSH,6 +CMT,1,2,1677,5.6,CRD,22.5 +CMT,1,1,819,1.8,CRD,10.5 +CMT,1,1,1367,5.5,CRD,21 +CMT,1,1,310,1,CRD,6 +CMT,1,1,964,5.5,CSH,18.5 +CMT,1,1,1673,4,CRD,20 +CMT,1,2,806,2.6,CRD,12 +CMT,1,2,311,1.7,CRD,7 +CMT,1,1,106,0.5,CSH,4 +CMT,1,1,170,0.7,CSH,4.5 +CMT,1,1,752,2.3,CSH,11 +CMT,1,1,535,1.8,CRD,8.5 +CMT,1,1,807,2.2,CSH,11 +CMT,1,2,807,1.5,CSH,9 +CMT,1,1,202,0.9,CSH,5 +CMT,1,1,577,2.1,CRD,9 +CMT,1,2,991,3.1,CRD,13.5 +CMT,1,1,988,2.6,CSH,9 +CMT,1,1,675,3,CRD,11 +CMT,1,1,2043,6.7,CRD,27 +CMT,1,1,657,1.4,CSH,7 +CMT,1,1,882,2.8,CRD,12 +CMT,1,2,655,2.1,CSH,9.5 +CMT,1,2,754,2.1,CSH,10.5 +CMT,1,3,1211,3.9,CSH,16.5 +CMT,1,1,550,1.3,CRD,7.5 +CMT,1,2,1143,3.9,CRD,16 +CMT,1,2,3761,5.5,CRD,29 +CMT,1,1,1098,3,CRD,14 +CMT,1,2,155,0.6,CSH,4 +CMT,1,1,590,1.5,CSH,8.5 +CMT,1,1,298,0.5,CRD,5 +CMT,1,1,591,2.2,CRD,9 +CMT,1,1,385,1.1,CRD,6.5 +CMT,1,1,309,0.9,CRD,5.5 +CMT,1,1,305,0.5,CRD,5 +CMT,1,1,1353,6.4,CRD,22 +CMT,1,1,450,1.1,CRD,6.5 +CMT,1,1,592,2.1,CRD,9.5 +CMT,1,1,169,0.7,CSH,4.5 +CMT,1,1,494,1.5,CSH,7.5 +CMT,1,2,579,2.6,CRD,10 +CMT,1,1,529,1.2,CSH,7.5 +CMT,1,1,358,1.5,CSH,7 +CMT,1,1,743,2.1,CRD,10 +CMT,1,2,229,0.9,CRD,5 +CMT,1,1,800,1.8,CRD,10.5 +CMT,3,1,9,0,NOC,20 +CMT,1,1,1473,6.3,CRD,21.5 +CMT,1,1,679,2,CSH,10 +CMT,1,1,1069,5.3,CRD,18.5 +CMT,1,1,282,1,CRD,6 +CMT,1,1,295,1.5,CRD,6.5 +CMT,1,1,134,0.5,CSH,4 +CMT,1,1,732,2.6,CSH,11.5 +CMT,1,1,913,3.6,CSH,15 +CMT,1,2,198,0.7,CSH,4.5 +CMT,1,1,179,0.6,CRD,4.5 +CMT,1,1,195,0.5,CRD,4.5 +CMT,1,1,1021,5.2,CSH,17.5 +CMT,1,1,226,1.6,CSH,6.5 +CMT,1,1,994,2.6,CRD,13 +CMT,1,1,183,0.4,CSH,4 +CMT,1,2,2394,9.5,CRD,34.5 +CMT,1,3,397,0.8,CRD,6.5 +CMT,1,2,259,0.7,CSH,5 +CMT,1,1,976,2.7,CSH,12.5 +CMT,1,1,298,1.3,CSH,6 +CMT,1,1,1388,5.5,CRD,21.5 +CMT,1,1,767,4,CRD,13.5 +CMT,1,1,169,1,CRD,5 +CMT,1,1,397,1.2,CSH,6.5 +CMT,1,1,216,0.7,CSH,4.5 +CMT,1,1,1159,5.5,CRD,18.5 +CMT,1,1,145,0.7,CSH,4 +CMT,1,1,466,1.6,CRD,7.5 +CMT,1,1,360,1.5,CSH,6.5 +CMT,1,1,325,1.7,CSH,7 +CMT,1,1,220,0.5,CSH,4.5 +CMT,1,1,1142,3.6,CRD,15.5 +CMT,1,1,994,3.4,CRD,14 +CMT,1,1,716,2.8,CRD,11 +CMT,1,1,535,1.2,CRD,7.5 +CMT,1,2,2685,9.3,CRD,35 +CMT,1,1,507,0.9,CRD,7 +CMT,1,1,1000,2.7,CRD,12.5 +CMT,1,3,472,1.6,CSH,7.5 +CMT,1,1,530,2.9,CSH,10.5 +CMT,1,4,148,0.6,CSH,4.5 +CMT,1,1,203,0.8,CRD,5 +CMT,1,1,596,1.7,CRD,9 +CMT,1,1,578,1.1,CSH,7.5 +CMT,1,1,516,1.1,CRD,7.5 +CMT,1,2,709,2.2,CRD,9 +CMT,1,2,420,1.6,CRD,7.5 +CMT,1,1,397,1.6,CRD,7.5 +CMT,1,1,313,1.3,CRD,6 +CMT,1,1,202,1,CRD,5.5 +CMT,1,1,448,1.1,CRD,7 +CMT,1,2,491,1.2,CRD,7.5 +CMT,1,1,967,5.1,CSH,17 +CMT,1,2,506,1.5,CRD,8 +CMT,1,1,521,1.6,CRD,8 +CMT,1,1,1180,4.5,CSH,18 +CMT,1,1,1340,3.7,CSH,17 +CMT,1,1,573,2.1,CRD,9.5 +CMT,1,2,984,3.9,CSH,15 +CMT,1,2,802,3,CRD,12 +CMT,1,3,150,0.3,CRD,3.5 +CMT,1,1,347,1.7,CSH,7 +CMT,1,1,463,1.4,CSH,7.5 +CMT,1,1,228,0.7,CRD,4.5 +CMT,1,1,350,0.8,CSH,6 +CMT,1,1,148,0.4,CRD,4 +CMT,2,2,3441,17.9,CRD,52 +CMT,1,1,1722,12.6,CRD,36.5 +CMT,1,1,1132,5,CRD,18.5 +CMT,1,1,510,2.9,CRD,10.5 +CMT,1,1,1681,5.6,CRD,23 +CMT,1,1,449,0.5,CRD,6 +CMT,1,1,643,1.3,CSH,9 +CMT,1,1,1278,3.8,CRD,18 +CMT,1,1,105,0.3,CSH,3.5 +CMT,1,1,763,1.9,CRD,10 +CMT,1,1,280,0.7,CRD,5.5 +CMT,1,1,272,0.4,CRD,5 +CMT,1,1,1286,3.5,CRD,16 +CMT,1,1,505,2,CSH,8.5 +CMT,1,1,926,1.9,CRD,11.5 +CMT,1,1,521,1,CSH,7 +CMT,1,1,234,0.8,CSH,5 +CMT,1,1,1410,6.5,CSH,23.5 +CMT,1,1,315,0.7,CSH,5.5 +CMT,1,1,567,2.4,CSH,10 +CMT,1,1,370,1.3,CRD,7 +CMT,1,1,518,2.2,CRD,9.5 +CMT,1,1,422,1.3,CSH,7 +CMT,1,3,233,0.8,CRD,5 +CMT,1,1,706,2.3,CRD,10 +CMT,1,2,573,2.7,CRD,10.5 +CMT,1,1,314,2,CRD,7.5 +CMT,1,1,993,3.1,CRD,14.5 +CMT,1,1,1382,5.8,CRD,21 +CMT,1,1,1555,7.7,CRD,25.5 +CMT,1,2,671,2.4,CRD,10.5 +CMT,1,1,853,3.6,CSH,13.5 +CMT,2,1,2950,18.1,CSH,52 +CMT,1,2,371,0.8,CRD,6 +CMT,1,2,721,3.1,CSH,11.5 +CMT,1,1,1723,5.2,CRD,21.5 +CMT,1,3,483,0.7,CRD,6.5 +CMT,1,4,1011,4.3,CSH,15.5 +CMT,1,1,1560,9.2,CSH,30.5 +CMT,1,2,661,2.2,CSH,10 +CMT,1,1,754,1.9,CRD,8 +CMT,1,1,167,0.7,CRD,4.5 +CMT,1,1,353,1,CSH,6 +CMT,1,1,474,0.9,CRD,6.5 +CMT,1,1,396,1.1,CSH,6.5 +CMT,1,1,412,1.2,CSH,6.5 +CMT,1,1,1140,4.7,CRD,17.5 +CMT,1,1,485,1.6,CSH,8 +CMT,1,1,1012,1.6,CRD,11 +CMT,1,1,1178,5.8,CRD,19.5 +CMT,1,1,640,2.2,CSH,9.5 +CMT,1,1,309,1.4,CRD,6 +CMT,1,1,585,2.2,CSH,9.5 +CMT,1,1,909,3.3,CRD,13 +CMT,1,1,420,0.7,CSH,6 +CMT,1,1,196,0.8,CRD,4.5 +CMT,1,1,291,2.1,CSH,7.5 +CMT,1,3,400,1.7,CSH,7.5 +CMT,1,1,523,2.1,CRD,9 +CMT,1,1,457,1.2,CRD,7 +CMT,1,2,582,2.2,CSH,9.5 +CMT,1,2,545,1.5,CSH,8 +CMT,1,1,415,1.6,CRD,7.5 +CMT,1,1,498,3.3,CSH,11.5 +CMT,1,1,680,2.3,CSH,8 +CMT,1,1,742,2.4,CSH,10.5 +CMT,1,3,734,2.6,CSH,11 +CMT,1,2,1501,9,CSH,29 +CMT,1,1,1376,3.2,CRD,16.5 +CMT,1,2,205,0.5,CRD,4.5 +CMT,1,1,835,3.8,CRD,14 +CMT,1,2,514,1.4,CSH,8 +CMT,1,4,417,1,CSH,6.5 +CMT,1,2,855,2.4,CRD,12 +CMT,1,2,286,1.1,CRD,5.5 +CMT,1,1,165,0.8,CSH,4.5 +CMT,1,1,439,1.2,CRD,6.5 +CMT,1,1,355,2.1,CRD,8 +CMT,1,2,473,1.4,CSH,7 +CMT,1,1,437,2.4,CRD,9 +CMT,1,1,421,1,CRD,6.5 +CMT,1,1,646,2.6,CSH,11 +CMT,1,1,658,1.4,CRD,9 +CMT,1,1,147,0.4,CSH,4 +CMT,1,1,1176,2.5,CRD,12.5 +CMT,1,2,324,0.6,CRD,4 +CMT,1,2,524,2.2,CSH,9 +CMT,1,1,394,1.5,CSH,7.5 +CMT,1,1,873,3.5,CRD,13.5 +CMT,1,1,567,1.4,CSH,8.5 +CMT,1,2,823,3.3,CSH,13 +CMT,1,1,1342,3.3,CRD,15.5 +CMT,1,1,295,0.9,CRD,5.5 +CMT,1,2,282,0.7,CSH,5 +CMT,1,1,293,0.8,CSH,5.5 +CMT,1,1,839,2.6,CRD,11.5 +CMT,1,3,547,1.3,CSH,8 +CMT,1,1,929,6.4,CSH,20 +CMT,1,1,46,0.4,CSH,3 +CMT,1,1,257,0.8,CSH,5 +CMT,1,1,465,1.2,CRD,7 +CMT,1,2,107,0.3,CRD,3.5 +CMT,1,1,734,2.6,CRD,11 +CMT,1,3,469,1.2,CSH,7 +CMT,1,2,435,1.3,CSH,7 +CMT,1,2,557,2.3,CSH,9.5 +CMT,1,1,1177,5.8,CRD,21 +CMT,1,1,171,1.1,CSH,5 +CMT,1,1,365,0.5,CSH,5.5 +CMT,1,1,242,0.7,CSH,5 +CMT,1,2,400,0.9,CSH,6 +CMT,1,1,326,1.2,CRD,6.5 +CMT,1,2,943,2.9,CRD,13 +CMT,1,2,904,4.1,CRD,15.5 +CMT,1,1,574,1.2,CRD,8 +CMT,1,1,400,1.2,CRD,6.5 +CMT,1,2,1001,3.9,CRD,15 +CMT,1,2,898,3.9,CSH,15 +CMT,1,1,1493,10,CRD,30.5 +CMT,1,1,271,0.6,CSH,4.5 +CMT,1,1,281,0.5,CRD,5 +CMT,1,1,706,1.5,CSH,9.5 +CMT,1,1,1139,2.4,CSH,14 +CMT,1,1,597,2.2,CRD,9.5 +VTS,2,5,2280,18.92,CSH,52 +VTS,2,2,2760,21.77,CRD,52 +CMT,1,1,278,0.7,CSH,5 +CMT,1,1,465,1.4,CRD,6 +CMT,1,1,156,0.4,CSH,4 +CMT,4,1,1258,5.5,CRD,19 +CMT,1,2,1844,4.5,CSH,22 +CMT,1,2,565,2,CRD,9.5 +CMT,1,3,2837,8,CSH,36 +CMT,1,1,191,0.7,CRD,4.5 +CMT,1,1,568,1.5,CSH,8 +CMT,1,3,180,1,CSH,5 +CMT,1,1,263,0.9,CRD,5.5 +CMT,1,1,290,1.4,CSH,6.5 +CMT,1,1,621,2.1,CRD,9.5 +CMT,1,1,641,1.1,CRD,8 +CMT,1,1,331,0.9,CSH,5.5 +CMT,1,2,298,1.9,CRD,7.5 +CMT,1,2,1540,4.3,CRD,19.5 +CMT,1,2,975,3.8,CRD,15 +CMT,1,2,1643,14.7,CSH,41.5 +CMT,1,3,1139,6.1,CRD,20.5 +CMT,1,2,675,1.6,CSH,9 +CMT,1,1,643,1.3,CSH,8.5 +CMT,1,1,915,1.6,CRD,11 +CMT,1,1,381,1.3,CRD,6.5 +CMT,1,1,1419,5.7,CSH,19 +CMT,1,1,340,1.6,CRD,7 +CMT,1,1,242,0.7,CSH,5 +CMT,1,1,1107,4.1,CRD,16 +CMT,1,2,956,1.6,CSH,11.5 +CMT,1,2,313,0.6,CRD,5.5 +CMT,1,1,712,2.4,CRD,10.5 +CMT,1,1,805,2,CRD,11 +CMT,1,1,1071,3.2,CSH,14.5 +CMT,1,1,1291,5.8,CRD,21 +CMT,1,1,897,3,CSH,14 +CMT,1,1,1356,4.8,CSH,2.5 +CMT,1,3,345,0.9,CRD,5.5 +CMT,1,2,846,4.7,CRD,15.5 +CMT,1,1,409,1.2,CRD,6.5 +CMT,1,1,714,2.4,CRD,11 +CMT,1,1,1395,15.7,CRD,42 +CMT,1,1,1290,3,CSH,15.5 +CMT,1,1,189,0.8,CRD,5 +CMT,1,2,774,2.4,CRD,11 +CMT,1,1,415,1.2,CSH,7 +CMT,1,2,330,1.4,CSH,6 +CMT,1,1,406,1.4,CRD,7.5 +CMT,1,1,420,1.3,CSH,7.5 +CMT,1,2,1348,3.6,CSH,17 +CMT,1,2,1227,3.1,CRD,16 +CMT,1,1,682,1.4,CSH,9 +VTS,1,2,1140,12.47,CSH,34 +CMT,1,1,856,4.7,CRD,15.5 +CMT,1,2,411,1.5,CRD,7 +CMT,1,1,1922,7.1,CRD,26.5 +CMT,1,1,1235,4.6,CRD,18 +CMT,1,1,997,3,CRD,13.5 +CMT,1,1,252,0.6,CSH,5 +CMT,1,1,1243,5.6,CRD,21 +CMT,1,2,539,2,CRD,9 +CMT,1,1,1008,3,CRD,13.5 +CMT,1,1,1959,8.2,CSH,29 +CMT,1,1,212,0.4,CSH,4 +CMT,1,2,1559,6.7,CRD,24 +CMT,1,1,218,0.4,CSH,4.5 +CMT,1,2,1746,8,CRD,27.5 +CMT,1,2,570,1.6,CRD,8.5 +CMT,1,1,1162,2.7,CRD,13 +CMT,1,1,219,0.6,CRD,4.5 +CMT,1,1,462,1.5,CRD,7.5 +CMT,1,2,317,0.8,CRD,5.5 +CMT,1,2,543,1.3,CRD,8 +CMT,1,1,660,1.7,CSH,9 +CMT,1,1,653,1.5,CSH,9 +CMT,1,1,1088,11.2,CRD,32 +CMT,1,1,564,2.1,CRD,9 +CMT,1,1,635,2.3,CRD,10 +CMT,1,2,885,2.6,CRD,12 +CMT,1,1,535,2,CRD,9 +CMT,1,2,1430,3.9,CRD,15 +CMT,1,1,528,1.7,CSH,7.5 +CMT,1,1,491,1.4,CSH,8 +CMT,1,2,890,2.7,CRD,12.5 +CMT,1,2,1052,5.5,CSH,19 +CMT,1,2,536,2.3,CRD,10 +CMT,1,1,236,1.1,CRD,5.5 +CMT,1,2,639,2,CSH,9.5 +CMT,1,1,583,1.7,CRD,8.5 +CMT,1,1,519,1.8,CSH,8.5 +CMT,1,1,1055,4.2,CRD,16.5 +CMT,1,1,428,0.8,CSH,6.5 +CMT,1,1,346,1.4,CSH,6.5 +CMT,1,1,837,3.3,CRD,13 +CMT,1,1,930,2.7,CSH,11 +CMT,1,1,824,4.6,CSH,14.5 +CMT,1,1,1046,3.6,CRD,14.5 +CMT,1,2,149,0.8,CRD,4.5 +CMT,1,1,405,1.3,CRD,6.5 +CMT,1,1,1086,2.3,CRD,12 +CMT,1,1,107,0.6,CRD,4 +CMT,1,1,1638,13.7,CRD,38.5 +CMT,1,1,519,1.8,CSH,8.5 +CMT,1,1,230,0.5,CRD,4.5 +CMT,1,2,449,0.9,CSH,6.5 +CMT,1,2,604,1.8,CRD,9 +CMT,1,4,1094,5.6,CRD,20 +CMT,5,1,38,0,CRD,15 +CMT,1,1,590,2.9,CRD,11 +CMT,1,2,909,3.8,CRD,15 +CMT,1,1,333,1.1,CSH,6 +CMT,1,1,241,0.8,CRD,5 +CMT,1,1,189,0.3,CSH,4 +CMT,1,1,954,4.1,CSH,14.5 +CMT,1,1,520,2.2,CRD,9.5 +CMT,1,1,175,0.7,CRD,4 +CMT,1,3,744,1.8,CRD,9.5 +CMT,1,1,157,0.6,CRD,4.5 +CMT,1,3,339,1.5,CSH,6.5 +CMT,1,1,565,4.3,CRD,14 +CMT,1,1,1809,4.8,CRD,15 +CMT,1,1,451,1.3,CSH,7 +CMT,1,1,686,2.5,CRD,11 +CMT,1,2,506,1.4,CSH,7.5 +CMT,1,1,186,0.7,CRD,4.5 +CMT,1,1,1488,5.2,CRD,20.5 +CMT,1,3,1175,4.2,CSH,17.5 +CMT,1,2,545,1.6,CSH,8.5 +VTS,2,3,3420,18.17,CRD,52 +VTS,1,2,1800,7.14,CRD,26 +VTS,2,3,2760,20.19,CRD,52 +CMT,1,3,618,2.2,CRD,9.5 +CMT,1,2,312,1.2,CSH,6.5 +CMT,1,3,248,0.7,CSH,5.5 +CMT,1,1,205,0.4,CSH,4 +CMT,1,1,100,0.3,CRD,3.5 +CMT,1,1,383,1.2,CRD,6.5 +CMT,1,1,2172,4.1,CSH,23 +CMT,1,2,1690,5,CRD,21 +CMT,1,1,527,2.5,CSH,9.5 +CMT,1,1,723,1.7,CRD,10 +CMT,1,1,221,0.5,CSH,4.5 +CMT,1,1,1120,5.6,CRD,19.5 +CMT,1,1,691,2.7,CRD,11 +CMT,1,1,328,1.1,CSH,6.5 +CMT,1,2,595,1.3,CSH,8 +CMT,1,1,360,1.2,CSH,6.5 +CMT,1,2,531,1.6,CSH,8.5 +VTS,2,2,3180,18.09,CRD,52 +VTS,1,5,2100,15.39,CSH,43 +VTS,2,2,4680,17.31,CRD,52 +VTS,1,2,1620,7.87,CRD,26.5 +VTS,2,2,2040,17.49,CRD,52 +VTS,2,2,1800,17.86,CRD,52 +VTS,3,2,2640,18.51,CSH,72 +VTS,2,1,3000,18.72,CRD,52 +VTS,1,2,420,0.52,CSH,6 +CMT,1,1,162,0.6,CRD,4 +CMT,1,1,819,6.3,CSH,19.5 +CMT,1,1,2225,4.1,CSH,23.5 +CMT,1,1,1707,6.9,CRD,25 +CMT,1,2,1517,8,CSH,27 +CMT,1,1,343,1.5,CSH,6.5 +CMT,1,2,665,2.9,CSH,11.5 +CMT,1,1,581,2.1,CSH,9 +VTS,2,2,3960,18.83,CRD,52 +VTS,1,2,2100,11.13,CSH,35.5 +VTS,2,5,2760,17.38,CSH,52 +VTS,1,2,2040,11.9,CSH,35.5 +VTS,1,3,960,6.14,CSH,19.5 +VTS,1,2,2940,13,CRD,41 +VTS,1,1,600,4.37,CSH,14.5 +VTS,1,2,1500,8.26,CSH,25.5 +VTS,2,3,2100,18.22,CSH,52 +VTS,2,4,3840,17.88,CRD,52 +VTS,2,2,2940,19.11,CRD,52 +VTS,1,2,3420,14.09,CRD,49.5 +VTS,1,3,300,0.87,CSH,5.5 +VTS,1,2,960,1.5,CRD,11 +VTS,1,2,720,1.53,CSH,9 +VTS,1,2,420,1.36,CRD,7 +VTS,2,4,2760,19.33,CRD,52 +VTS,1,3,300,1.11,CSH,6 +VTS,1,2,540,1.67,CRD,8 +VTS,1,2,3300,17.63,CSH,54.5 +VTS,1,1,300,0.6,CSH,5 +VTS,1,2,1620,19.03,CSH,51 +VTS,1,1,540,1.61,CSH,8.5 +VTS,2,1,2340,10.38,CSH,52 +VTS,1,1,720,1.38,CRD,9.5 +VTS,1,3,540,1.06,CSH,7 +VTS,1,2,720,1.95,CRD,10 +VTS,1,2,600,2.58,CSH,10.5 +VTS,1,2,600,2.61,CSH,10.5 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,2,720,1.88,CSH,10 +VTS,1,2,420,1.09,CSH,7 +VTS,1,2,540,0.98,CRD,7 +VTS,1,2,1260,5.02,CSH,18.5 +VTS,1,2,960,3.55,CSH,14.5 +VTS,1,2,1740,11.67,CRD,35.5 +VTS,1,2,240,0.65,CSH,5 +VTS,1,2,360,1.32,CSH,6.5 +VTS,1,3,480,1.42,CSH,7.5 +VTS,1,2,480,1.07,CRD,7 +VTS,1,2,300,0.68,CRD,5.5 +VTS,1,2,300,0.95,CSH,5.5 +VTS,1,2,180,0.53,CSH,4.5 +VTS,1,2,840,1,CRD,9.5 +CMT,1,1,758,2.4,CRD,11 +CMT,1,2,595,1.7,CSH,9 +CMT,1,2,1607,3.1,CRD,17.5 +CMT,1,1,400,0.7,CSH,5.5 +CMT,1,1,920,2.4,CRD,11.5 +CMT,1,3,1046,4,CSH,15 +CMT,1,4,652,1.3,CSH,8.5 +CMT,1,1,435,2,CSH,8 +CMT,1,1,1147,4.2,CRD,16.5 +CMT,1,1,1067,4.6,CRD,17 +CMT,1,1,722,2,CRD,9.5 +CMT,1,1,747,0.8,CRD,9 +CMT,1,1,370,1.3,CSH,7 +CMT,1,1,519,1.7,CRD,8 +CMT,1,2,139,0.8,CRD,4.5 +CMT,1,1,605,3.9,CSH,13.5 +CMT,1,2,1023,3.1,CSH,13.5 +CMT,1,3,237,0.9,CRD,5.5 +CMT,1,1,138,0.2,CRD,3.5 +CMT,1,1,416,0.9,CRD,6 +CMT,1,1,978,4.1,CSH,15 +CMT,1,2,177,0.5,CRD,4 +CMT,1,1,214,0.7,CRD,4.5 +CMT,1,1,488,1.4,CRD,7.5 +CMT,1,1,522,1.3,CSH,7.5 +CMT,1,1,523,2.2,CRD,9.5 +CMT,1,1,698,2.5,CRD,10.5 +CMT,1,1,482,2,CSH,8 +CMT,1,1,424,1,CRD,6.5 +CMT,1,1,398,1.4,CSH,7 +CMT,1,1,572,2.7,CRD,10 +CMT,1,1,589,2.1,CRD,9.5 +CMT,1,1,618,2,CRD,9 +CMT,1,1,1091,2.9,CRD,14 +CMT,1,1,610,1.7,CSH,9 +CMT,1,1,343,1.1,CSH,6.5 +CMT,1,1,703,2.3,CRD,11 +CMT,1,1,678,2,CRD,10 +VTS,2,2,2520,19.16,CRD,52 +VTS,1,2,720,5.66,CSH,17 +VTS,1,2,2700,12.84,CSH,43 +VTS,2,4,3780,18.64,CRD,52 +VTS,1,3,1620,14,CSH,40 +VTS,2,2,3600,17.53,CSH,52 +VTS,1,1,1020,1.88,CSH,11 +VTS,1,3,1260,2.52,CRD,14 +VTS,4,2,2880,34.4,CRD,111.5 +VTS,1,1,1800,12.19,CRD,34.5 +VTS,1,1,960,3.69,CRD,14 +VTS,1,2,120,0.39,CSH,3.5 +VTS,1,4,1020,6.13,CSH,20.5 +VTS,1,2,720,2.34,CSH,11 +CMT,1,1,643,2.2,CSH,10 +CMT,1,1,695,2.2,CSH,10.5 +CMT,1,1,385,1.4,CSH,7 +CMT,1,1,484,0.7,CSH,6.5 +CMT,1,1,309,0.8,CSH,5.5 +CMT,1,1,573,2,CRD,9 +CMT,1,1,90,0.4,CSH,3.5 +CMT,1,1,189,0.6,CSH,4.5 +CMT,1,1,416,1.8,CRD,8 +CMT,1,1,306,0.9,CRD,6 +CMT,1,1,1165,10.2,CRD,29.5 +CMT,1,1,1170,7.6,CRD,24.5 +CMT,1,1,1403,3,CSH,16.5 +CMT,1,1,1372,3.5,CSH,16.5 +CMT,1,1,271,2.1,CSH,8 +CMT,1,1,730,1.4,CSH,9.5 +CMT,1,1,607,1.2,CSH,8.5 +CMT,1,1,2023,7.9,CSH,29.5 +CMT,1,1,270,0.7,CRD,5 +CMT,1,3,354,0.9,CRD,5.5 +CMT,1,1,675,1.6,CRD,9 +CMT,1,1,605,1.2,CRD,8 +CMT,1,1,420,1.8,CRD,8 +CMT,1,1,1104,2.7,CRD,14 +CMT,1,1,865,2.2,CRD,12 +CMT,1,1,83,0.4,CRD,3 +CMT,2,1,1447,16.4,CRD,52 +CMT,1,1,897,3,CRD,13 +CMT,1,1,172,0.8,CSH,4.5 +CMT,1,1,1002,4.4,CSH,15.5 +CMT,1,3,1092,1,CSH,12 +CMT,1,1,947,4.3,CRD,16 +CMT,1,1,462,1,CSH,7 +CMT,1,4,824,1.3,CSH,8.5 +CMT,1,1,756,4.4,CRD,15.5 +CMT,1,1,387,1.9,CSH,8 +CMT,1,1,79,0.2,CSH,3 +CMT,1,1,506,2.7,CSH,10 +CMT,2,1,3482,19.8,CRD,52 +CMT,3,1,1,0,NOC,20 +CMT,1,1,1192,4.1,CRD,16.5 +CMT,1,1,1060,2.5,CRD,13 +CMT,1,2,639,1.2,CRD,8.5 +CMT,1,1,158,0.7,CRD,4.5 +CMT,1,1,251,1,CSH,5 +CMT,1,1,467,1.5,CRD,7.5 +CMT,1,1,695,2,CSH,9.5 +CMT,1,2,1260,6.8,CRD,23 +CMT,1,1,783,3,CSH,11.5 +CMT,1,1,513,1.2,CRD,7 +CMT,1,2,736,4,CRD,13.5 +CMT,1,1,1891,6,CRD,23.5 +CMT,1,1,387,1.1,CSH,6 +CMT,1,1,1263,3.4,CSH,15.5 +CMT,1,1,1568,5.4,CRD,21 +CMT,1,1,1551,6.1,CRD,18 +CMT,1,1,400,1,CRD,6.5 +CMT,1,2,1525,8.1,CRD,27 +CMT,1,1,326,1.5,CRD,6.5 +CMT,1,2,400,1.1,CRD,6.5 +CMT,1,1,426,1.2,CRD,6.5 +CMT,1,2,1724,11,CSH,34.5 +CMT,1,1,509,1.2,CSH,7.5 +CMT,1,1,898,2.1,CRD,10.5 +CMT,1,2,713,3.4,CRD,12.5 +CMT,1,4,429,1.4,CSH,7 +CMT,1,1,2065,6.2,CRD,25 +CMT,1,2,680,2.6,CRD,11 +CMT,1,1,993,2.1,CSH,12.5 +CMT,1,1,330,0.9,CRD,5.5 +CMT,1,1,647,2.4,CSH,10.5 +CMT,1,1,281,1.8,CSH,7 +CMT,1,2,575,0.7,CSH,7.5 +CMT,1,1,930,3.2,CRD,14 +CMT,1,1,250,0.7,CSH,5 +CMT,1,1,1094,4.9,CRD,17.5 +CMT,1,1,655,2.7,CRD,10.5 +CMT,1,2,579,2.4,CRD,9.5 +CMT,1,1,266,0.8,CRD,5 +CMT,1,4,1472,3.6,CSH,17.5 +CMT,1,1,644,2.8,CRD,11 +CMT,1,1,754,2.1,CRD,10 +CMT,1,2,404,1.1,CSH,6 +CMT,1,1,169,0.6,CRD,4.5 +CMT,1,1,183,0.9,CSH,5 +CMT,1,1,481,1.4,CRD,7.5 +CMT,1,1,908,2.3,CSH,12 +CMT,5,1,40,0,CRD,18.5 +CMT,1,1,609,1.8,CSH,9.5 +CMT,1,1,525,1.4,CSH,8 +CMT,1,2,264,1.1,CRD,5.5 +CMT,1,1,783,2.8,CSH,11.5 +CMT,1,1,270,1.2,CRD,6 +CMT,1,1,1041,4.5,CRD,16.5 +CMT,1,2,804,2.5,CSH,11 +CMT,1,2,612,2.5,CRD,10.5 +CMT,1,1,762,3.4,CRD,12.5 +CMT,1,3,1272,4.6,CRD,18 +CMT,1,1,338,0.9,CSH,6 +CMT,1,1,68,0.4,CRD,3 +CMT,1,1,1124,5.3,CSH,17.5 +CMT,1,1,154,0.5,CSH,4 +CMT,1,1,451,1.5,CRD,7.5 +CMT,1,1,354,0.9,CRD,6 +CMT,1,1,1219,4.2,CRD,17 +CMT,1,1,875,4.3,CRD,15 +CMT,1,2,385,1.3,CSH,7 +CMT,1,1,845,2.2,CSH,11 +CMT,1,2,382,1.1,CRD,6.5 +CMT,1,1,540,2.2,CRD,10 +CMT,1,2,351,1.4,CSH,6.5 +CMT,1,1,333,1,CSH,6.5 +VTS,1,3,1140,11.84,CSH,33 +VTS,2,3,3000,18.11,CSH,52 +VTS,1,4,3120,13.99,CSH,46 +VTS,2,3,2940,22.21,CSH,52 +VTS,2,1,2640,18.68,CSH,52 +VTS,2,3,3120,19.11,CRD,52 +VTS,1,2,840,3.93,CSH,15 +VTS,1,2,480,0.85,CRD,7 +VTS,1,4,1200,5.97,CSH,21 +VTS,1,2,300,0.64,CSH,5 +VTS,1,2,240,0.51,CSH,5 +VTS,1,3,360,1.07,CSH,6 +VTS,1,2,720,1.95,CRD,9.5 +VTS,1,2,360,0.63,CSH,5.5 +VTS,1,2,600,1.32,CRD,7.5 +VTS,1,3,780,2.36,CSH,10.5 +VTS,1,2,180,0.86,CRD,5 +VTS,1,2,1260,16.08,CRD,43 +VTS,2,2,3660,16.8,CRD,52 +VTS,2,2,4020,18.55,CRD,52 +VTS,1,2,1620,16.74,CRD,46.5 +VTS,1,1,780,1.53,CRD,9.5 +VTS,1,1,480,0.99,CRD,6.5 +VTS,1,2,900,4.17,CRD,14.5 +VTS,2,1,3000,18.58,CRD,52 +VTS,1,2,600,2.53,CSH,9.5 +VTS,1,2,840,1.86,CRD,10 +VTS,1,2,960,3.18,CRD,13 +VTS,1,2,120,0.88,CRD,4.5 +VTS,1,3,1260,3.53,CSH,15.5 +VTS,1,2,1260,4.58,CRD,18.5 +VTS,1,2,480,1.38,CRD,7.5 +VTS,1,2,540,1.38,CRD,7.5 +VTS,1,2,180,0.69,CSH,4.5 +VTS,1,2,600,1.41,CSH,8.5 +VTS,1,2,360,0.95,CSH,5.5 +VTS,1,1,360,0.8,CRD,6 +VTS,1,2,600,1.92,CRD,9 +VTS,1,2,480,1.83,CRD,8 +VTS,1,2,420,2.39,CRD,9 +VTS,1,2,1260,4.49,CSH,17.5 +VTS,1,3,780,1.11,CRD,9 +VTS,1,3,480,1.55,CRD,7.5 +VTS,1,2,720,2.34,CRD,10.5 +VTS,2,3,1800,17.85,CSH,52 +VTS,2,2,1860,19.66,CSH,52 +VTS,2,3,3300,18.33,CSH,52 +VTS,2,2,3540,18.6,CRD,52 +VTS,1,2,1140,11.71,CSH,32 +VTS,1,2,1860,12.82,CRD,37 +VTS,2,3,3840,19.44,CRD,52 +VTS,3,5,4440,32.35,CSH,106.5 +VTS,2,3,4020,18.6,CRD,52 +VTS,2,2,2940,21.72,CSH,52 +VTS,2,2,2460,21.94,CRD,52 +VTS,4,5,1260,7.67,CSH,29 +VTS,1,3,1200,1.95,CSH,13.5 +VTS,1,2,1020,1.62,CRD,11.5 +VTS,2,3,3000,18.29,CSH,52 +VTS,1,3,480,2.41,CRD,9.5 +VTS,1,3,900,3.72,CSH,13.5 +VTS,1,3,600,1.47,CSH,8.5 +VTS,1,2,720,1.34,CSH,9.5 +VTS,1,2,1440,11.11,CRD,33 +VTS,1,3,480,2.52,CRD,10 +VTS,1,2,360,0.9,CSH,6 +VTS,1,2,180,0.56,CSH,4 +VTS,1,2,1200,9.63,CRD,28 +VTS,1,2,540,1.72,CRD,8 +VTS,1,2,1140,2.91,CRD,14 +VTS,2,2,2100,20.5,CSH,52 +VTS,1,2,1140,12.05,CRD,33 +VTS,1,2,420,0.97,CRD,6.5 +VTS,1,2,780,0.9,CRD,9 +VTS,1,2,120,0.52,CRD,4 +VTS,2,3,3060,15.46,CRD,52 +VTS,1,2,360,1.07,CRD,6 +VTS,1,2,660,2.51,CSH,10 +VTS,1,3,240,0.66,CRD,5 +VTS,1,2,1380,2.55,CRD,15.5 +VTS,1,2,780,1.77,CRD,10 +VTS,1,3,840,2.29,CRD,11 +VTS,1,4,600,1.5,CSH,8.5 +VTS,1,4,660,5.2,CSH,16.5 +VTS,1,2,1560,14.97,CRD,41 +VTS,1,2,1440,2.48,CSH,15.5 +VTS,1,3,780,1.81,CRD,10 +VTS,1,2,720,1.27,CRD,9 +VTS,1,2,720,0.94,CRD,8.5 +VTS,1,2,1320,1.85,CSH,14 +VTS,1,2,780,2.38,CRD,11 +VTS,1,2,780,1.57,CRD,10 +VTS,1,2,660,1.92,CRD,9.5 +VTS,1,2,420,0.86,CRD,6.5 +VTS,1,2,360,1.04,CSH,6 +VTS,1,2,660,1.44,CRD,8.5 +VTS,1,3,1920,12.46,CRD,38 +VTS,1,2,1260,2.15,CRD,14 +VTS,1,2,420,1.2,CRD,7 +VTS,1,2,240,0.87,CSH,5 +VTS,1,2,300,1.2,CSH,6.5 +VTS,1,2,2100,13.54,CRD,39.5 +VTS,1,2,660,1.65,CSH,9 +VTS,1,3,420,1.26,CSH,7 +VTS,1,3,540,1.18,CRD,7.5 +VTS,1,2,660,1.78,CRD,9.5 +VTS,1,4,780,2.28,CSH,10.5 +VTS,1,2,1620,14.74,CRD,41.5 +VTS,1,2,1500,11.92,CSH,34 +VTS,1,2,360,1.24,CRD,6.5 +VTS,1,3,120,0.67,CRD,4 +VTS,1,2,360,0.64,CSH,5.5 +VTS,1,2,420,1.01,CRD,6.5 +VTS,1,2,1020,6.28,CRD,20.5 +VTS,1,2,960,1.6,CSH,11 +VTS,1,2,660,3.17,CSH,11 +VTS,1,2,540,1.63,CSH,8.5 +VTS,1,2,180,0.51,CRD,4 +VTS,1,2,2880,5.95,CRD,28.5 +VTS,1,2,600,1.61,CRD,9 +VTS,1,3,1260,8.62,CSH,26.5 +VTS,1,2,300,0.53,CSH,4.5 +CMT,1,2,284,0.8,CRD,5.5 +CMT,1,2,869,2.8,CRD,12 +CMT,1,1,264,0.8,CRD,5 +VTS,2,2,2160,18.8,CRD,52 +VTS,2,3,2520,17.86,CRD,52 +VTS,2,2,2280,20.03,CRD,52 +VTS,1,1,540,4.25,CSH,14 +VTS,2,2,4980,19.45,CRD,52 +VTS,1,5,840,5.39,CSH,16.5 +VTS,1,2,780,0.69,CRD,9 +VTS,1,2,1560,11.41,CSH,33 +VTS,2,2,2460,18.06,CSH,52 +VTS,1,1,3600,16.3,CSH,54 +VTS,1,2,960,4.27,CSH,16 +VTS,2,3,2640,21.45,CSH,52 +VTS,2,2,3300,19.52,CRD,52 +VTS,2,2,4080,17.99,CRD,52 +VTS,1,2,1260,7.84,CRD,26 +VTS,1,2,1080,8.33,CRD,25.5 +VTS,1,3,660,1.8,CSH,9.5 +VTS,1,2,660,0.82,CRD,8 +VTS,1,3,1560,8.37,CRD,28.5 +VTS,1,2,720,3.28,CRD,12.5 +VTS,1,3,540,2,CSH,8.5 +VTS,1,1,300,0.96,CRD,5 +VTS,1,2,1440,4.96,CRD,20.5 +VTS,1,2,1140,3.68,CSH,15.5 +VTS,1,2,540,0.66,CRD,7 +VTS,1,2,1380,10.64,CRD,31.5 +VTS,1,3,480,1.67,CRD,8 +VTS,1,2,660,1.2,CRD,8 +VTS,1,2,480,1.29,CSH,7 +VTS,1,4,3480,28.97,CRD,79.5 +VTS,1,1,600,1.9,CSH,9 +VTS,1,2,960,2.77,CRD,12.5 +VTS,1,2,300,0.96,CRD,6 +VTS,1,2,600,1.98,CRD,9 +VTS,1,2,720,2.18,CSH,10.5 +VTS,1,2,780,1.3,CSH,9.5 +VTS,1,2,540,1.7,CSH,8.5 +VTS,1,2,840,5.43,CRD,17.5 +VTS,1,2,720,1.52,CSH,9 +VTS,1,2,420,1.18,CSH,7 +VTS,1,2,960,2.55,CRD,12 +VTS,1,2,600,1.2,CRD,7.5 +VTS,1,2,960,4.89,CRD,17.5 +VTS,1,2,1380,11.29,CSH,32.5 +VTS,1,1,720,2.57,CRD,11.5 +VTS,1,2,600,1.23,CRD,8.5 +VTS,1,2,240,0.75,CRD,5 +VTS,1,3,840,2.1,CRD,11 +VTS,1,2,480,1.1,CSH,7 +VTS,1,2,1080,2.21,CRD,13 +VTS,1,2,600,2.11,CSH,9.5 +VTS,1,2,480,2,CRD,8 +VTS,1,2,660,2.11,CSH,9.5 +VTS,1,2,900,2.28,CSH,12 +VTS,1,2,780,2.2,CSH,10 +VTS,1,2,960,1.54,CRD,11 +VTS,1,3,900,1.94,CRD,11 +VTS,1,2,720,3.47,CRD,13.5 +VTS,1,2,1020,7.02,CRD,21.5 +VTS,1,2,840,1.71,CRD,11 +VTS,1,2,360,1,CSH,6 +VTS,1,2,360,0.56,CSH,5.5 +VTS,1,2,1440,10.24,CRD,30.5 +VTS,1,1,900,1.98,CSH,12 +VTS,1,2,480,1.03,CRD,7 +VTS,1,1,480,0.96,CSH,6.5 +VTS,1,2,1980,12.34,CSH,39 +VTS,1,2,720,2.15,CRD,10 +VTS,1,2,600,1.12,CSH,8 +VTS,1,2,360,1.17,CRD,6.5 +VTS,1,2,600,0.9,CSH,7.5 +VTS,1,2,1260,2.44,CRD,14.5 +VTS,1,2,480,0.54,CRD,6 +VTS,1,2,420,1.93,CSH,8.5 +VTS,1,2,540,0.81,CRD,7 +VTS,1,2,1680,3.9,CRD,19.5 +VTS,1,2,360,1.38,CSH,6.5 +VTS,1,2,1020,5.67,CRD,19 +VTS,1,2,360,0.78,CSH,5.5 +VTS,1,2,1560,3.11,CRD,17.5 +VTS,1,2,720,2.11,CRD,10 +VTS,1,3,600,1.01,CSH,7.5 +VTS,1,2,300,0.8,CSH,5.5 +VTS,1,2,60,0.65,CSH,4 +VTS,1,2,360,1.21,CSH,6.5 +VTS,1,2,600,1.85,CSH,9 +VTS,1,2,240,0.7,CSH,4.5 +VTS,1,2,1320,2.08,CSH,14.5 +VTS,1,2,360,1.27,CSH,6 +VTS,1,2,660,1.09,CRD,8.5 +VTS,1,2,600,1.86,CRD,9 +VTS,1,2,1620,15.82,CRD,43.5 +VTS,1,2,600,2.14,CRD,10 +VTS,1,2,600,1.09,CRD,8 +VTS,1,2,1380,11.28,CRD,32 +VTS,1,2,1560,5.24,CSH,21.5 +VTS,1,1,780,4.91,CRD,17 +VTS,1,2,300,0.76,CRD,5.5 +VTS,1,2,780,2.05,CSH,10.5 +VTS,1,3,840,1.83,CRD,10.5 +VTS,1,2,420,0.99,CSH,7 +VTS,1,2,600,0.89,CSH,7.5 +VTS,1,2,840,1.94,CRD,11 +VTS,1,2,600,1.55,CSH,8.5 +VTS,1,2,540,0.99,CRD,7 +VTS,1,2,420,0.95,CRD,6.5 +VTS,1,2,660,4.83,CSH,15.5 +VTS,1,2,600,1.3,CRD,8 +VTS,1,2,240,0.71,CRD,4.5 +VTS,1,2,720,2.51,CSH,11 +VTS,1,2,1200,6.46,CRD,22 +VTS,1,3,960,4.06,CSH,15.5 +VTS,1,2,2640,8.73,CRD,36 +VTS,1,2,1200,3.89,CRD,16 +VTS,1,3,720,1.9,CSH,9.5 +VTS,1,3,360,0.74,CSH,5 +VTS,1,2,1380,4.51,CSH,18.5 +VTS,1,2,1260,4.81,CRD,18.5 +VTS,1,2,540,0.93,CSH,7 +VTS,1,2,540,1.34,CSH,8 +VTS,1,2,1020,3.44,CSH,14 +VTS,1,2,1620,4.91,CSH,20 +VTS,1,2,540,0.66,CSH,7.5 +VTS,1,3,840,2.44,CRD,12 +VTS,1,2,1380,8.21,CSH,27 +VTS,1,2,480,1.49,CSH,7.5 +VTS,1,3,1020,1.44,CSH,11 +VTS,2,2,2400,18.17,CRD,52 +VTS,1,1,480,1.15,CRD,7 +VTS,1,2,480,1.59,CRD,8 +VTS,1,2,600,1.48,CSH,8.5 +VTS,1,2,660,2.94,CSH,11.5 +VTS,1,2,180,0.54,CSH,4 +VTS,1,2,960,2.29,CSH,12 +VTS,1,2,3420,17.36,CRD,57 +VTS,1,2,840,3.07,CRD,12.5 +VTS,1,2,300,1.15,CSH,6 +VTS,1,2,900,1.88,CSH,11 +VTS,1,2,1320,1.38,CSH,13.5 +VTS,1,2,840,0.98,CSH,10 +VTS,1,2,240,0.64,CRD,4.5 +VTS,1,2,2100,17.5,CSH,49.5 +VTS,1,2,300,0.39,CSH,4.5 +VTS,1,2,180,0.58,CSH,4.5 +VTS,1,2,720,2.07,CRD,10 +VTS,1,2,180,0.19,CSH,3.5 +VTS,1,2,420,1.52,CSH,7 +VTS,1,2,60,0.05,CSH,3 +VTS,1,2,240,0.55,CRD,5 +VTS,1,2,1200,4.47,CRD,17 +VTS,1,3,720,2.15,CRD,10.5 +VTS,1,3,600,0.7,CRD,7.5 +VTS,1,3,1920,14.43,CRD,42.5 +VTS,1,2,1080,1.93,CRD,12 +VTS,1,2,960,3.72,CRD,14 +VTS,1,2,900,2.28,CRD,11.5 +VTS,1,3,240,1.09,CSH,6 +VTS,1,2,960,2.73,CSH,13 +VTS,1,2,360,1.29,CSH,7 +VTS,1,2,600,1.39,CSH,8.5 +VTS,1,2,540,1.11,CSH,7.5 +VTS,1,2,1080,4.64,CRD,17.5 +VTS,1,2,300,1.2,CRD,6 +VTS,1,2,300,1.09,CSH,5.5 +VTS,1,1,480,1.94,CSH,8.5 +VTS,1,2,180,1.19,CRD,5 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,420,0.98,CRD,6 +VTS,1,1,660,2.91,CSH,11.5 +VTS,1,1,720,2.75,CSH,11 +VTS,1,2,540,2.11,CRD,9 +VTS,1,3,1080,6.51,CRD,21 +VTS,1,1,660,2.83,CSH,10.5 +VTS,1,2,180,0.86,CSH,5 +VTS,2,1,180,0,CRD,52 +VTS,1,1,840,1.87,CRD,10.5 +VTS,1,1,780,1.08,CRD,9.5 +VTS,1,2,300,1.71,CSH,7.5 +VTS,1,3,720,4.1,CSH,13.5 +VTS,1,2,420,0.53,CSH,5.5 +VTS,1,2,1500,3.96,CRD,18 +VTS,1,2,780,3.07,CRD,12 +VTS,1,2,840,3.19,CRD,13 +VTS,1,2,360,0.77,CRD,5.5 +VTS,1,2,1080,2.11,CSH,12.5 +VTS,1,2,1200,2.6,CSH,14.5 +VTS,1,2,720,1.81,CSH,9 +VTS,1,3,960,9.2,CRD,25.5 +VTS,1,2,240,0.85,CSH,5.5 +VTS,1,2,720,2.44,CSH,10.5 +VTS,1,2,480,1.71,CSH,8 +VTS,1,2,720,2.65,CRD,10.5 +VTS,1,3,300,1.31,CSH,6 +VTS,1,2,1680,11.77,CRD,34.5 +VTS,1,1,1140,6.97,CSH,23.5 +VTS,1,2,420,1.13,CRD,6.5 +VTS,1,1,960,2.55,CSH,12 +VTS,1,1,480,1.49,CSH,8 +VTS,1,1,420,2.15,CSH,8 +VTS,1,2,240,0.91,CRD,4.5 +VTS,1,2,600,1.62,CRD,8.5 +VTS,1,2,300,0.8,CSH,5 +VTS,1,2,1080,7.15,CSH,22 +VTS,1,1,540,2.4,CSH,10 +VTS,1,1,660,1.66,CRD,9 +VTS,1,2,900,2.55,CSH,12 +VTS,1,2,360,0.49,CRD,5.5 +VTS,1,3,180,0.57,CRD,4 +VTS,1,1,660,3.73,CRD,12.5 +VTS,1,1,420,1.72,CSH,8 +VTS,1,4,480,1.32,CSH,7.5 +VTS,2,1,120,0,CRD,52 +VTS,1,3,420,2.18,CRD,8.5 +VTS,1,3,300,0.86,CSH,5.5 +VTS,1,2,720,2.27,CSH,10.5 +VTS,1,2,420,0.94,CRD,6 +VTS,1,1,180,1.09,CRD,5 +VTS,1,1,240,0.84,CRD,5 +VTS,1,4,300,0.54,CSH,4.5 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,1140,5.03,CSH,18.5 +VTS,1,1,540,2.82,CRD,10.5 +VTS,1,4,120,0.43,CSH,3.5 +VTS,1,2,960,4.34,CRD,15.5 +VTS,1,2,120,0.62,CRD,4 +VTS,1,1,1560,12.63,CRD,36.5 +VTS,1,2,480,1.24,CSH,7 +VTS,1,2,600,2.26,CRD,9 +VTS,1,1,420,1.21,CSH,7 +VTS,1,1,540,1.92,CSH,8.5 +VTS,1,1,660,2.56,CRD,11 +VTS,2,3,2760,18.13,CRD,52 +VTS,1,2,420,1.48,CSH,7.5 +VTS,1,2,720,1.94,CRD,9.5 +VTS,1,2,540,1.03,CSH,7.5 +VTS,1,2,840,1.72,CRD,10 +VTS,1,2,600,1.53,CRD,8 +VTS,1,2,420,1.15,CSH,7 +VTS,1,2,780,2.24,CRD,10.5 +VTS,1,3,1020,1.54,CRD,12 +VTS,1,2,240,0.97,CRD,5 +VTS,1,2,1500,9.56,CRD,28 +VTS,1,2,540,2.07,CRD,8.5 +VTS,1,3,780,1.44,CRD,10 +VTS,1,2,600,1.81,CSH,9 +VTS,1,2,900,1.91,CRD,11 +VTS,1,2,660,1.56,CRD,9 +VTS,1,3,1200,3.58,CSH,15.5 +VTS,1,2,1680,3.43,CSH,18.5 +VTS,1,2,1140,3.45,CRD,14.5 +VTS,1,2,720,3.07,CRD,11.5 +VTS,1,2,1200,3.18,CSH,15 +VTS,1,2,660,1.48,CSH,9 +VTS,1,2,660,0.81,CSH,8 +VTS,1,2,3300,12.21,CRD,43 +VTS,1,2,420,0.68,CSH,6.5 +VTS,1,2,780,1.82,CRD,10 +VTS,1,2,420,1.61,CSH,7 +VTS,1,2,240,0.37,CRD,4.5 +VTS,1,2,480,1.37,CRD,7.5 +VTS,1,2,420,0.78,CRD,6 +VTS,1,3,900,2.54,CSH,11.5 +VTS,1,2,780,1.93,CSH,10.5 +VTS,1,2,420,1.31,CRD,6.5 +VTS,1,2,1080,1.84,CRD,12.5 +VTS,1,2,420,0.97,CSH,6 +VTS,1,2,960,1.39,CSH,11 +VTS,2,3,2580,16.65,CRD,52 +VTS,2,3,2640,14.6,CRD,52 +VTS,1,2,240,0.74,CSH,5 +VTS,1,3,480,2.56,CRD,10 +VTS,1,2,540,1.3,CSH,8 +VTS,1,2,480,1.07,CRD,7 +VTS,1,2,1320,10.57,CRD,31 +VTS,1,2,240,0.83,CSH,4.5 +VTS,1,2,720,1.61,CSH,9.5 +VTS,1,2,540,1.38,CRD,8 +VTS,1,2,660,1.91,CRD,9 +VTS,1,2,1260,2.31,CRD,14 +VTS,1,2,600,0.86,CSH,7 +VTS,1,2,360,1.12,CSH,6.5 +VTS,1,2,600,1.42,CRD,8 +VTS,1,2,360,0.56,CRD,5.5 +VTS,1,2,240,0.97,CSH,5.5 +VTS,1,2,1380,9.59,CRD,28.5 +VTS,1,2,780,2.8,CSH,12 +VTS,1,2,1560,12.4,CRD,35.5 +VTS,1,2,1800,9.17,CSH,31 +VTS,1,2,1200,5.85,CRD,20.5 +VTS,1,2,660,1.52,CRD,9 +VTS,1,2,240,0.78,CRD,4.5 +VTS,1,2,960,1.71,CRD,11 +VTS,1,3,840,2.21,CRD,11 +VTS,1,2,960,2.9,CRD,12.5 +VTS,1,2,2220,9.26,CSH,31.5 +VTS,1,2,360,1.09,CRD,6 +VTS,1,3,780,2.72,CSH,11.5 +VTS,1,2,780,1.59,CRD,10 +VTS,1,2,900,2.69,CRD,12.5 +VTS,1,2,720,1.99,CSH,10.5 +VTS,1,2,180,0.71,CRD,4.5 +VTS,1,3,180,0.64,CSH,4.5 +VTS,1,2,960,2.75,CSH,12.5 +VTS,1,2,120,0.2,CRD,3.5 +VTS,1,2,360,1.09,CRD,6.5 +VTS,1,3,1560,3.97,CSH,18.5 +VTS,1,2,180,0.66,CRD,4.5 +VTS,1,2,420,1.39,CSH,7 +VTS,1,2,600,1.34,CSH,8.5 +VTS,1,1,600,3.15,CRD,11.5 +VTS,1,2,300,1.24,CRD,6 +VTS,1,1,420,1.91,CRD,8.5 +VTS,1,1,420,1.83,CRD,7.5 +VTS,1,1,300,1.62,CSH,7 +VTS,1,4,780,2.48,CRD,11.5 +VTS,1,2,840,2.52,CRD,11 +VTS,1,1,600,1.6,CRD,8.5 +VTS,1,1,1080,5.78,CSH,20 +VTS,1,2,480,0.94,CRD,7 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,2,840,1.7,CSH,10 +VTS,1,2,360,1.61,CRD,7 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,360,1.08,CSH,6.5 +VTS,2,1,60,0,CRD,52 +VTS,1,1,2040,7.61,CRD,28 +VTS,1,2,1260,7.74,CSH,25 +VTS,2,1,180,0.04,CSH,52 +VTS,1,4,420,0.93,CSH,5.5 +VTS,1,1,420,1.45,CSH,7 +VTS,1,1,420,1.23,CSH,7 +VTS,1,1,120,0.59,CSH,4 +VTS,1,2,960,1.69,CRD,11.5 +VTS,1,1,1020,5.7,CSH,19 +VTS,1,2,300,0.65,CRD,5.5 +VTS,1,2,1080,1.39,CRD,12.5 +VTS,1,2,900,1.7,CSH,10.5 +VTS,1,2,900,4.01,CRD,16 +VTS,1,2,480,1.3,CSH,7 +VTS,1,2,420,1.4,CSH,7 +VTS,1,2,2040,22.9,CSH,61 +VTS,1,2,480,0.96,CRD,5.5 +VTS,1,3,420,0.73,CSH,6 +VTS,1,2,1560,7.33,CRD,25 +VTS,1,2,1320,6.22,CRD,21.5 +VTS,1,2,960,5.52,CSH,17.5 +VTS,1,2,240,0.49,CRD,4.5 +VTS,1,1,1080,2.99,CSH,13.5 +VTS,1,1,240,0.7,CRD,5 +VTS,1,2,540,1.58,CSH,8.5 +VTS,1,2,420,2.35,CRD,8.5 +VTS,1,1,420,1.08,CRD,6.5 +VTS,1,2,780,2.65,CRD,11.5 +VTS,1,1,360,1.63,CRD,7 +VTS,1,1,300,1.2,CRD,6 +VTS,1,2,240,1.25,CSH,5.5 +VTS,2,1,60,0,CRD,52 +VTS,1,2,360,1,CRD,6 +VTS,1,1,300,1,CSH,5.5 +VTS,1,2,600,1.59,CSH,9 +VTS,1,2,1260,2.43,CRD,14 +VTS,1,2,360,0.87,CSH,6 +VTS,1,3,420,0.93,CRD,6 +VTS,1,2,900,1.99,CRD,11 +VTS,1,2,1680,11.42,CRD,34 +VTS,1,2,720,0.86,CSH,8.5 +VTS,1,2,60,0.31,CSH,3 +VTS,1,2,540,0.48,CRD,6.5 +VTS,1,1,660,1.19,CSH,8.5 +VTS,1,2,1260,3.15,CSH,16 +VTS,1,2,420,1.34,CRD,7 +VTS,1,1,360,1.94,CRD,7.5 +VTS,1,2,900,3.33,CRD,14 +VTS,1,1,300,1.46,CSH,6.5 +VTS,1,1,300,1.09,CSH,6 +VTS,1,1,1080,3.42,CRD,14.5 +VTS,1,2,1620,4.56,CSH,19.5 +VTS,1,1,420,1.83,CRD,8 +VTS,1,1,660,3.12,CRD,12.5 +VTS,1,2,540,1.68,CRD,8.5 +VTS,1,2,600,2.26,CRD,9.5 +VTS,1,2,900,2.56,CSH,12 +VTS,1,1,1320,3.99,CRD,17 +VTS,1,3,420,0.92,CRD,6.5 +VTS,1,2,540,2.19,CSH,9.5 +VTS,1,2,540,1.34,CSH,8 +VTS,1,1,300,0.9,CRD,5 +VTS,1,2,420,1.23,CRD,7 +VTS,1,2,540,1.74,CSH,8.5 +VTS,1,2,660,1.58,CSH,9 +VTS,1,2,660,2.73,CRD,11 +VTS,1,2,840,1.99,CSH,10.5 +VTS,1,1,720,2.43,CSH,10.5 +VTS,1,2,1200,5.03,CSH,17.5 +VTS,1,2,360,0.93,CRD,6 +VTS,1,2,900,1.2,CRD,10.5 +VTS,1,2,120,0.39,CRD,3.5 +VTS,1,2,1500,3.8,CSH,16.5 +VTS,1,1,300,0.76,CSH,5.5 +VTS,1,2,780,1.52,CSH,10 +VTS,1,2,1020,2.73,CRD,12.5 +VTS,1,2,1380,4.23,CSH,17.5 +VTS,1,1,720,3.1,CRD,12 +VTS,1,2,480,1.22,CSH,7 +VTS,1,2,300,1.05,CSH,5.5 +VTS,1,2,900,2.63,CRD,12 +VTS,1,2,360,0.91,CSH,6 +VTS,1,2,1200,3.71,CSH,15.5 +VTS,1,1,420,1.5,CRD,7.5 +VTS,1,2,240,0.58,CSH,4.5 +VTS,1,4,2100,5.79,CRD,25.5 +VTS,1,2,420,0.85,CRD,6.5 +VTS,1,2,420,0.8,CSH,6 +VTS,1,2,720,2.89,CSH,12 +VTS,1,1,180,0.4,CSH,4 +VTS,1,2,1500,10.65,CRD,32.5 +VTS,1,1,780,2.73,CSH,11.5 +VTS,1,1,660,2.44,CSH,10.5 +VTS,1,2,840,2.54,CSH,11.5 +VTS,1,1,1020,3,CRD,14 +VTS,1,1,240,0.82,CSH,4.5 +VTS,1,2,300,0.89,CSH,5 +VTS,1,2,360,1.4,CRD,6.5 +VTS,1,2,480,1.61,CSH,7.5 +VTS,1,2,540,1.77,CSH,8.5 +VTS,1,2,540,1.78,CSH,8.5 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,4,300,1.12,CRD,6 +VTS,1,1,600,2.4,CSH,10.5 +VTS,1,1,540,1.2,CRD,7.5 +VTS,1,2,840,3.62,CRD,14 +VTS,1,1,1020,1.89,CRD,12 +VTS,1,1,660,1.85,CRD,9.5 +VTS,1,4,180,0.53,CSH,4.5 +VTS,1,2,300,0.79,CSH,5.5 +VTS,1,2,1860,7.24,CRD,26 +VTS,1,2,960,2.44,CRD,12 +VTS,1,2,660,1.23,CRD,8.5 +VTS,1,1,240,0.45,CRD,4 +VTS,1,2,780,2.5,CSH,11.5 +VTS,1,2,540,3.45,CSH,12 +VTS,1,2,120,0.52,CSH,4 +VTS,1,2,720,2.95,CRD,12 +VTS,1,1,240,1.13,CSH,5.5 +VTS,1,1,300,1.1,CRD,5.5 +VTS,1,1,480,1.97,CSH,8 +VTS,1,1,180,0.94,CSH,5 +VTS,1,2,240,0.95,CRD,5 +VTS,1,1,1380,3.38,CSH,16.5 +VTS,1,3,1740,10.02,CSH,32.5 +VTS,1,2,420,1.22,CSH,7 +VTS,1,2,780,1.76,CSH,10.5 +VTS,1,1,1140,3.38,CRD,14.5 +VTS,1,2,660,2.72,CSH,11 +VTS,1,2,300,1.63,CSH,7 +VTS,1,1,360,1.62,CSH,7 +VTS,1,1,420,0.84,CRD,6.5 +VTS,1,2,1860,11.29,CRD,37 +VTS,1,1,1560,10.06,CSH,31 +VTS,1,2,1020,5.69,CRD,18.5 +VTS,2,1,60,0,CRD,52 +VTS,1,2,600,1.75,CRD,8.5 +VTS,1,1,660,1.54,CRD,9 +VTS,1,1,1560,7.97,CSH,25.5 +VTS,1,1,720,1.08,CRD,9 +VTS,1,4,240,1.01,CRD,5 +VTS,1,1,240,1.11,CRD,5.5 +VTS,1,1,600,1.34,CRD,8 +VTS,1,1,240,1.26,CSH,6 +VTS,1,1,120,0.45,CRD,4 +VTS,1,1,180,0.5,CSH,4.5 +VTS,1,2,540,1.48,CSH,8 +VTS,1,1,840,2.61,CSH,11.5 +VTS,1,1,900,2.66,CSH,12.5 +VTS,1,1,1020,6.27,CRD,20.5 +VTS,1,2,540,2.69,CRD,10 +VTS,1,1,420,0.54,CRD,5.5 +VTS,1,1,420,1.66,CRD,7 +VTS,1,2,300,1.11,CSH,6 +VTS,1,1,480,1.6,CRD,8 +VTS,2,1,60,0.01,CRD,52 +VTS,1,1,360,1.5,CSH,6.5 +VTS,1,2,900,3.88,CRD,14.5 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,1,780,1.96,CRD,11 +VTS,1,1,120,0.4,CSH,4 +VTS,1,1,540,0.68,CSH,6.5 +VTS,1,1,1080,1.55,CRD,11.5 +VTS,2,1,0,0,CRD,52 +VTS,1,1,480,1.31,CSH,7.5 +VTS,1,1,840,6.88,CRD,20.5 +VTS,1,2,660,1.82,CRD,9.5 +VTS,1,2,720,1.68,CRD,9.5 +VTS,1,2,840,5.21,CRD,17 +VTS,1,1,1080,3.75,CSH,15.5 +VTS,1,1,540,3.84,CSH,12.5 +VTS,1,2,300,1.2,CRD,6 +VTS,1,1,300,0.65,CRD,5.5 +VTS,1,1,480,2.26,CRD,9 +VTS,1,1,1440,8.9,CRD,27.5 +VTS,1,1,2460,8.78,CRD,33 +VTS,1,3,420,0.98,CRD,6 +VTS,1,2,60,0.14,CSH,2.5 +VTS,1,3,360,0.66,CRD,5 +VTS,1,1,240,0.92,CRD,5 +VTS,1,1,720,1.37,CRD,9 +VTS,1,2,600,2.13,CRD,9 +VTS,1,2,360,0.6,CRD,5 +VTS,1,2,1500,12.08,CSH,34.5 +VTS,1,1,540,1.39,CSH,8 +VTS,1,2,300,1.13,CSH,6 +VTS,1,2,600,2.04,CRD,9.5 +VTS,1,1,1860,8.86,CSH,29.5 +VTS,1,2,780,1.74,CRD,10 +VTS,1,1,720,2.73,CSH,12 +VTS,1,2,780,4,CSH,15 +VTS,1,2,780,1.43,CRD,9 +VTS,1,1,480,0.98,CSH,7 +VTS,1,2,2580,19.93,CSH,57.5 +VTS,1,1,540,1.79,CSH,9 +VTS,1,2,540,1.42,CSH,8.5 +VTS,1,2,480,1.35,CRD,8 +VTS,1,1,180,1.03,CRD,5 +VTS,1,4,720,2.41,CSH,11 +VTS,1,2,1980,10.26,CSH,34 +VTS,1,2,660,2.32,CRD,10.5 +VTS,1,2,360,0.67,CSH,5.5 +VTS,1,2,1620,4.54,CSH,20.5 +VTS,1,1,840,1.64,CRD,10.5 +VTS,1,2,480,1.56,CSH,7.5 +VTS,1,1,240,1.45,CSH,6 +VTS,1,2,300,1.65,CRD,6.5 +VTS,1,1,60,0.29,CSH,3 +VTS,1,1,300,0.77,CRD,5 +VTS,1,1,540,1.8,CSH,8.5 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,1,420,0.93,CSH,6.5 +VTS,1,2,180,0.5,CRD,4 +VTS,1,1,600,2.74,CSH,10 +VTS,1,1,1140,5.53,CSH,19.5 +VTS,1,1,960,1.9,CSH,11.5 +VTS,1,1,540,1.98,CSH,8.5 +VTS,1,1,360,1,CRD,6 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,480,0.99,CRD,6.5 +VTS,1,1,1860,11.89,CRD,37 +VTS,1,1,720,3.42,CSH,12 +VTS,1,1,300,1.27,CRD,6.5 +VTS,1,1,840,2.64,CSH,12.5 +VTS,1,1,480,2.28,CRD,8.5 +VTS,1,1,240,1,CSH,5.5 +VTS,1,1,480,2.26,CRD,9 +VTS,1,1,1140,5.5,CSH,19 +VTS,1,2,540,2.45,CSH,10 +VTS,1,2,720,3.35,CSH,12.5 +VTS,1,2,420,1.27,CRD,7 +VTS,1,4,240,0.5,CRD,4 +VTS,1,2,480,1.45,CSH,7 +VTS,1,2,480,2.56,CRD,10 +VTS,1,1,420,1.31,CRD,6.5 +VTS,1,2,840,1.85,CSH,11 +VTS,1,2,660,3.95,CSH,14 +VTS,1,1,960,4.76,CRD,16 +VTS,2,1,0,0.01,CRD,52 +VTS,1,1,240,1.15,CSH,5.5 +VTS,1,2,480,1.56,CRD,8 +VTS,1,3,900,3.52,CSH,14 +VTS,1,1,540,2.22,CSH,9.5 +VTS,1,2,300,0.77,CSH,5.5 +VTS,1,2,240,0.59,CSH,4.5 +VTS,1,2,300,0.81,CSH,5.5 +VTS,1,2,2760,20.24,CRD,55.5 +VTS,1,2,900,2.11,CRD,11.5 +VTS,1,2,420,1.04,CSH,6.5 +VTS,1,2,540,0.82,CRD,7 +VTS,1,2,420,1.28,CSH,6.5 +VTS,1,2,540,1.34,CRD,7.5 +VTS,2,4,3960,15.36,CRD,52 +VTS,1,2,300,0.77,CSH,5.5 +VTS,1,2,1200,3.37,CRD,15 +VTS,1,2,540,0.8,CSH,7 +VTS,1,2,1620,10.66,CRD,33.5 +VTS,1,2,660,1.94,CSH,9.5 +VTS,1,2,840,3.25,CSH,13 +VTS,1,2,1980,3.75,CRD,21 +VTS,1,2,480,0.9,CRD,6.5 +VTS,1,2,300,0.82,CRD,5.5 +VTS,1,2,300,0.96,CSH,5.5 +VTS,1,2,360,0.72,CRD,6 +VTS,1,3,1680,4.95,CSH,21 +VTS,1,3,360,0.84,CRD,5.5 +VTS,1,2,660,2.01,CSH,10 +VTS,1,2,300,1.96,CSH,7.5 +VTS,1,2,2160,15.38,CRD,43.5 +VTS,1,2,360,0.68,CSH,5.5 +VTS,1,2,480,0.92,CRD,7 +VTS,1,2,1260,4.9,CRD,19 +VTS,1,2,540,1.61,CRD,8 +VTS,1,2,480,0.67,CRD,6.5 +VTS,1,2,480,2.49,CSH,9.5 +VTS,1,3,360,1.79,CRD,8 +VTS,1,2,480,0.94,CRD,7 +VTS,1,2,120,0.59,CSH,4 +VTS,1,2,180,0.68,CRD,4.5 +VTS,1,2,1140,3.3,CSH,14.5 +VTS,1,2,540,1.43,CSH,8 +VTS,1,2,780,1.49,CSH,9.5 +VTS,1,2,960,3.93,CSH,14.5 +VTS,1,2,300,1.31,CRD,6.5 +VTS,1,2,480,1.16,CRD,7.5 +VTS,1,2,840,1.85,CRD,10 +VTS,1,2,660,1.42,CSH,8.5 +VTS,1,1,300,1.17,CRD,5.5 +VTS,1,3,240,1,CSH,5 +VTS,1,1,1980,13.94,CRD,42 +VTS,1,2,240,1.59,CRD,6.5 +VTS,1,2,120,0.55,CRD,3.5 +VTS,1,4,1260,5.5,CSH,20 +VTS,1,1,660,2.38,CSH,10.5 +VTS,1,2,240,0.45,CSH,4.5 +VTS,1,1,1860,15.17,CSH,43 +VTS,1,2,180,0.59,CRD,4.5 +VTS,1,1,1020,3.21,CRD,14 +VTS,1,1,780,2.13,CRD,11 +VTS,1,1,540,2,CSH,9.5 +VTS,1,1,300,0.92,CRD,5 +VTS,1,2,1860,11.34,CRD,33 +VTS,1,2,960,4.78,CSH,16.5 +VTS,1,2,540,0.81,CSH,7 +VTS,1,1,780,2.45,CRD,10.5 +VTS,1,2,660,2.32,CSH,10 +VTS,1,1,660,2.62,CSH,11 +VTS,1,1,0,0,CSH,2.5 +VTS,1,2,360,0.99,CSH,6 +VTS,1,1,240,0.61,CRD,4 +VTS,1,1,1020,3.8,CSH,15 +VTS,1,1,120,0.57,CSH,3.5 +VTS,1,1,780,1.93,CRD,10 +VTS,1,1,780,5.22,CSH,17 +VTS,1,2,1020,3.81,CRD,15.5 +VTS,1,1,480,1.58,CRD,8 +VTS,1,2,600,2.56,CSH,10 +VTS,1,1,540,1.43,CSH,8 +VTS,1,2,1620,8.93,CSH,29.5 +VTS,1,2,240,0.74,CSH,5 +VTS,1,3,360,0.41,CSH,5.5 +VTS,1,1,240,1.21,CSH,6.5 +VTS,1,2,240,1.31,CRD,6 +VTS,1,2,480,1.02,CSH,7 +VTS,1,1,540,1.04,CSH,7.5 +VTS,1,2,420,0.84,CSH,6 +VTS,1,2,360,0.88,CRD,5.5 +VTS,1,2,720,1.38,CSH,9 +VTS,1,2,660,2.56,CSH,10 +VTS,1,2,600,1.15,CRD,8 +VTS,1,2,780,2.68,CSH,12 +VTS,1,2,60,0.57,CSH,4 +VTS,1,2,720,5.03,CSH,16 +VTS,1,2,300,0.94,CSH,5.5 +VTS,1,2,840,2.44,CRD,11.5 +VTS,1,2,960,2.33,CRD,12 +VTS,1,2,480,1.4,CSH,7.5 +VTS,1,2,300,1.08,CSH,6 +VTS,2,2,3180,16.42,CSH,52 +VTS,1,1,840,1.68,CRD,10.5 +VTS,1,2,360,0.94,CSH,6 +VTS,1,2,1560,7.32,CRD,25.5 +VTS,1,1,360,2.07,CRD,8 +VTS,1,2,240,1.01,CRD,5.5 +VTS,1,4,660,1.79,CSH,9.5 +VTS,1,2,240,0.89,CSH,5.5 +VTS,1,1,1620,9.03,CRD,28 +VTS,1,1,360,0.92,CSH,6 +VTS,1,1,600,2.38,CRD,10 +VTS,1,1,480,1.75,CRD,8.5 +VTS,1,2,420,1.69,CRD,7.5 +VTS,1,2,780,3.37,CSH,12.5 +VTS,1,2,840,2.33,CSH,11.5 +VTS,1,1,360,0.96,CRD,6 +VTS,1,3,360,1.31,CRD,6.5 +VTS,1,1,540,1.5,CSH,8 +VTS,1,1,660,2.34,CSH,10.5 +VTS,1,1,960,1.36,CSH,11 +VTS,1,1,900,4.05,CSH,14 +VTS,1,3,240,0.36,CSH,4 +VTS,1,1,1920,10.13,CSH,34 +VTS,1,1,540,1.03,CRD,7 +VTS,2,1,60,0,CRD,52 +VTS,1,1,420,1.8,CRD,7.5 +VTS,1,1,660,1.71,CSH,9 +VTS,1,1,660,2.19,CRD,10 +VTS,1,1,60,0.03,CSH,2.5 +VTS,1,1,240,0.89,CSH,5 +VTS,1,2,660,1.99,CRD,9.5 +VTS,1,1,1080,1.92,CSH,12 +VTS,1,1,780,1.95,CRD,10 +VTS,1,2,480,1.94,CRD,8 +VTS,1,1,360,1.59,CRD,7 +VTS,1,1,1020,4.58,CRD,16 +VTS,1,1,1260,6.38,CRD,22 +VTS,1,2,420,1.62,CSH,7.5 +VTS,1,1,900,5.05,CSH,16.5 +VTS,1,2,840,2.94,CSH,12.5 +VTS,1,1,240,0.72,CRD,5 +VTS,1,2,480,1.49,CRD,7.5 +VTS,1,1,780,3.08,CRD,12.5 +VTS,1,2,660,7.6,CSH,22 +VTS,1,1,120,0.56,CRD,4 +VTS,1,2,1320,8.95,CSH,27 +VTS,1,1,180,0.42,CRD,4 +VTS,1,1,1020,3.4,CSH,14.5 +VTS,1,1,240,0.96,CSH,5.5 +VTS,1,2,780,2.79,CRD,11.5 +VTS,1,1,1020,4.74,CRD,16.5 +VTS,1,1,240,1.76,CRD,6.5 +VTS,1,1,720,4.43,CRD,14.5 +VTS,1,1,360,0.84,CSH,6.5 +VTS,1,2,1260,1.94,CSH,13.5 +VTS,1,1,540,1.64,CRD,8 +VTS,1,1,480,1.67,CRD,8 +VTS,1,1,420,0.92,CSH,6 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,360,1.84,CRD,7.5 +VTS,1,1,180,0.62,CSH,4 +VTS,1,2,1020,3.71,CSH,14.5 +VTS,1,2,2100,9.8,CRD,34 +VTS,1,2,1440,8.39,CSH,27.5 +VTS,1,1,480,1.33,CSH,7 +VTS,1,1,360,0.95,CRD,6 +VTS,1,1,660,1.96,CSH,9.5 +VTS,1,2,660,5.08,CSH,16 +VTS,1,1,240,2.13,CSH,7.5 +VTS,1,1,1440,6.88,CSH,25 +VTS,1,1,1620,9.85,CRD,30.5 +VTS,1,1,1080,3,CRD,14 +VTS,1,1,420,1.67,CRD,7.5 +VTS,1,2,720,2.63,CRD,11 +VTS,1,1,360,2.27,CRD,8 +VTS,1,2,360,0.81,CRD,5.5 +VTS,1,2,540,2.86,CRD,10 +VTS,1,2,540,1.3,CSH,7.5 +VTS,1,3,480,1.86,CRD,8 +VTS,1,1,480,1.8,CSH,8.5 +VTS,1,2,540,2.58,CRD,10 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,1020,3.13,CRD,14 +VTS,1,1,480,1.1,CSH,7 +VTS,1,2,1800,12.66,CSH,38 +VTS,1,1,420,1.08,CRD,6.5 +VTS,1,1,3180,19.41,CSH,58 +VTS,1,1,300,0.77,CSH,5.5 +VTS,1,3,1200,3.02,CRD,14.5 +VTS,1,1,300,1.41,CRD,6.5 +VTS,1,1,720,3.26,CRD,12 +VTS,1,1,240,0.71,CRD,5 +VTS,1,2,780,1.9,CSH,10.5 +VTS,1,1,180,0.24,CRD,4 +VTS,1,1,600,2.2,CSH,9 +VTS,1,1,300,0.56,CRD,4.5 +VTS,1,1,540,1.45,CSH,6.5 +VTS,1,1,780,1.39,CSH,9.5 +VTS,1,1,240,0.82,CRD,4.5 +VTS,1,1,240,0.77,CRD,4.5 +VTS,1,1,240,0.48,CSH,4.5 +VTS,1,1,1020,3.8,CSH,15.5 +VTS,1,2,660,2.17,CSH,10 +VTS,1,1,1320,3.14,CRD,16.5 +VTS,1,1,240,0.77,CRD,5 +VTS,1,1,840,1.79,CRD,10.5 +VTS,1,1,360,0.69,CSH,5 +VTS,1,1,660,1.99,CSH,9.5 +VTS,1,1,300,0.53,CSH,4.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,960,2.87,CRD,13 +VTS,1,1,1920,8.01,CSH,27.5 +VTS,4,1,900,2.04,CRD,11.5 +VTS,1,1,1380,3.25,CSH,15.5 +VTS,1,1,1620,8.28,CSH,27 +VTS,1,1,960,3.51,CSH,13.5 +VTS,1,1,780,3.06,CSH,12 +VTS,1,1,360,2.48,CSH,8.5 +VTS,1,1,180,0.54,CSH,4 +VTS,1,2,540,1.86,CSH,8.5 +VTS,1,4,180,0.89,CSH,5 +VTS,1,2,1380,4.06,CRD,17.5 +VTS,1,1,840,5.03,CRD,16.5 +VTS,1,2,1260,7.62,CRD,23.5 +VTS,1,1,1080,1.92,CSH,13 +VTS,1,1,780,2.35,CRD,11 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,360,1.93,CRD,8.5 +VTS,1,2,420,0.96,CSH,6.5 +VTS,1,2,1800,15.75,CSH,44 +VTS,1,2,840,4.05,CSH,14 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,420,0.7,CSH,6 +VTS,1,1,960,5.41,CRD,18.5 +VTS,1,1,240,0.42,CRD,4.5 +VTS,1,1,540,1.66,CSH,8 +VTS,1,1,540,1.15,CSH,7.5 +VTS,1,1,540,1.93,CRD,8.5 +VTS,1,1,660,1.54,CSH,8 +VTS,1,1,900,1.29,CRD,9.5 +VTS,1,2,720,3.06,CRD,11.5 +VTS,1,1,360,0.9,CSH,6 +VTS,1,1,540,2.24,CSH,9 +VTS,1,1,300,1.26,CSH,5.5 +VTS,1,2,360,1.09,CRD,6 +VTS,1,1,720,1.38,CRD,9 +VTS,1,1,360,0.98,CSH,6 +VTS,1,1,1020,3.01,CSH,13.5 +VTS,1,1,600,2.2,CSH,9.5 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,540,6.08,CRD,18 +VTS,1,1,720,2.77,CRD,11 +VTS,1,1,900,2.09,CRD,12 +VTS,1,1,480,1.4,CSH,7.5 +VTS,1,1,1680,5.92,CRD,22.5 +VTS,1,1,660,4.94,CRD,15.5 +VTS,1,1,1140,4.82,CRD,17.5 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,900,1.66,CSH,11 +VTS,1,1,720,1.88,CRD,10 +VTS,1,1,360,0.51,CRD,5.5 +VTS,1,1,660,2.66,CSH,11 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,480,1.17,CSH,7.5 +VTS,1,1,480,2.16,CRD,9 +VTS,1,1,660,2.25,CRD,10 +VTS,1,1,960,3.81,CRD,14.5 +VTS,1,1,240,0.85,CSH,5 +VTS,1,1,240,1.1,CRD,5.5 +VTS,1,2,540,2.2,CSH,9 +VTS,1,1,480,2.03,CSH,8 +VTS,1,1,720,2.5,CRD,10.5 +VTS,1,1,1260,6.45,CRD,22.5 +VTS,1,1,600,2.5,CSH,10.5 +VTS,1,1,1500,4.33,CRD,19 +VTS,1,1,540,1.14,CSH,7.5 +VTS,1,1,1140,2.87,CSH,14.5 +VTS,1,2,480,1.12,CSH,6.5 +VTS,1,1,480,1.4,CRD,7.5 +VTS,1,1,660,2.48,CSH,9.5 +VTS,1,1,240,0.74,CSH,4.5 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,660,1.82,CSH,9 +VTS,1,1,1380,5.65,CRD,20 +VTS,1,1,180,0.53,CSH,4 +VTS,1,1,540,1.57,CRD,7.5 +VTS,1,1,540,1.94,CSH,9 +VTS,1,2,480,1.34,CSH,7 +VTS,1,1,540,1.75,CRD,8.5 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,240,0.8,CRD,5 +VTS,1,2,1020,2.59,CRD,13 +VTS,1,2,900,5.4,CRD,18 +VTS,1,3,300,1.16,CSH,6 +VTS,1,1,900,6.57,CRD,20 +VTS,1,2,240,0.9,CRD,5.5 +VTS,1,1,780,2.38,CRD,11 +VTS,1,3,360,1.31,CSH,6.5 +VTS,1,2,420,1.62,CSH,7.5 +VTS,1,2,960,3.13,CRD,13.5 +VTS,2,1,60,0,CRD,52 +VTS,1,1,1380,7.72,CRD,25.5 +VTS,1,2,420,0.62,CSH,6 +VTS,1,1,1260,8.93,CRD,26 +VTS,1,2,1680,3.83,CRD,19 +VTS,1,2,600,2.51,CRD,10 +VTS,1,2,900,1.75,CRD,10 +VTS,1,1,420,1.44,CRD,7 +VTS,1,1,1140,7.75,CRD,23 +VTS,1,1,360,0.74,CRD,5.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,2,1,120,0,CRD,52 +VTS,1,1,420,1.61,CSH,7.5 +VTS,1,1,600,2.1,CRD,9 +VTS,1,1,180,0.36,CSH,4 +VTS,1,1,240,0.73,CRD,5 +VTS,1,1,960,3.03,CSH,13.5 +VTS,1,1,360,1,CSH,6 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,360,1.86,CRD,7.5 +VTS,1,1,420,1.07,CRD,6.5 +VTS,1,2,540,1.62,CSH,8.5 +VTS,1,1,1020,2.5,CSH,13 +VTS,1,1,180,0.47,CRD,3.5 +VTS,1,1,240,1.25,CSH,5.5 +VTS,1,1,420,1.02,CRD,6.5 +VTS,1,1,540,2.27,CRD,9.5 +VTS,1,1,420,2.16,CSH,8.5 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,1020,4.01,CSH,15.5 +VTS,1,1,420,1.1,CRD,6.5 +VTS,1,1,660,2.01,CSH,9 +VTS,1,1,300,1.01,CSH,6 +VTS,1,1,300,1,CSH,5.5 +VTS,1,1,600,2.09,CRD,9 +VTS,1,1,720,1.59,CSH,9.5 +VTS,1,1,780,1.65,CSH,9.5 +VTS,1,1,1560,3.39,CSH,18 +VTS,1,1,540,1.57,CRD,7.5 +VTS,1,1,480,1.38,CRD,7 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,420,2.33,CSH,8.5 +VTS,1,1,300,0.56,CRD,5 +VTS,1,1,420,1.63,CRD,7.5 +VTS,1,1,180,0.43,CSH,4 +VTS,1,2,360,1.61,CSH,7 +VTS,1,1,480,1.12,CSH,7.5 +VTS,1,2,360,1.44,CSH,6.5 +VTS,1,2,480,1.78,CSH,8 +VTS,1,2,660,2.92,CRD,12 +VTS,1,2,420,1.69,CSH,7.5 +VTS,1,1,240,1.07,CSH,5.5 +VTS,1,1,420,1.76,CSH,7.5 +VTS,1,4,1020,4.14,CRD,15.5 +VTS,1,2,180,0.82,CSH,5 +VTS,1,2,420,1.55,CRD,8 +VTS,1,3,180,0.93,CSH,5 +VTS,1,2,780,2.78,CRD,11.5 +VTS,1,2,780,2.99,CRD,12 +VTS,1,1,540,2.23,CSH,9 +VTS,1,2,540,1.26,CSH,7.5 +VTS,1,2,1020,8.35,CRD,25 +VTS,1,2,240,0.77,CSH,5 +VTS,1,4,600,1.83,CRD,9.5 +VTS,1,1,300,0.54,CSH,5 +VTS,1,2,420,1.19,CRD,6.5 +VTS,1,1,180,0.48,CSH,4 +VTS,2,1,0,0,CRD,52 +VTS,1,1,960,6.5,CSH,21 +VTS,1,3,360,1.34,CRD,6.5 +VTS,1,1,720,3.87,CRD,13 +VTS,1,1,300,1.4,CSH,7 +VTS,2,1,60,0,CRD,52 +VTS,1,2,1380,12.01,CSH,35 +VTS,1,3,360,1.38,CSH,6.5 +VTS,1,2,300,1.1,CRD,6 +VTS,1,1,360,0.92,CRD,5.5 +VTS,1,1,240,0.64,CSH,5 +VTS,1,1,900,7.63,CRD,23.5 +VTS,1,1,600,2.71,CRD,10.5 +VTS,1,1,600,0.81,CRD,7.5 +VTS,1,2,1560,4.6,CSH,20.5 +VTS,1,1,360,0.75,CSH,6 +VTS,1,2,1620,11.2,CRD,34 +VTS,1,2,780,3.2,CSH,12 +VTS,1,2,360,1.51,CSH,7 +VTS,1,2,1020,4.01,CSH,15 +VTS,1,1,720,0.77,CRD,8.5 +VTS,1,2,600,1.65,CSH,9 +VTS,1,2,300,1.17,CSH,6.5 +VTS,1,2,240,1.14,CSH,5.5 +VTS,1,2,240,0.81,CSH,5 +VTS,1,1,1200,3.41,CRD,15.5 +VTS,1,1,420,0.62,CRD,6 +VTS,1,3,1200,5.91,CRD,20 +VTS,1,1,240,1.18,CRD,5.5 +VTS,1,2,660,1.71,CSH,9.5 +VTS,1,1,600,1.76,CRD,8.5 +VTS,1,1,480,1.58,CSH,7.5 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,180,0.83,CRD,4.5 +VTS,1,2,480,1.12,CSH,7 +VTS,1,1,1140,3.2,CSH,14 +VTS,1,1,540,1.57,CRD,8.5 +VTS,1,1,1200,3.44,CRD,15.5 +VTS,1,1,780,2.19,CSH,10.5 +VTS,1,1,420,1.36,CRD,6.5 +VTS,1,1,360,1.28,CSH,6.5 +VTS,1,1,300,0.56,CSH,5 +VTS,1,1,480,1.26,CRD,7 +VTS,1,1,300,1.06,CSH,6 +VTS,1,1,1020,5.27,CSH,18 +VTS,1,1,360,1.05,CSH,5.5 +VTS,1,1,1680,11.87,CSH,36 +VTS,1,1,420,1.18,CSH,7 +VTS,1,1,480,1.6,CSH,8 +VTS,1,1,300,0.93,CRD,5 +VTS,1,1,900,3.66,CRD,14 +VTS,1,2,420,0.72,CRD,5.5 +VTS,1,1,420,1.68,CRD,7.5 +VTS,1,1,360,1.55,CRD,6.5 +VTS,1,1,780,3.06,CRD,12 +VTS,1,1,180,0.83,CRD,4.5 +VTS,1,1,180,0.88,CSH,4.5 +VTS,1,1,420,1.48,CRD,7 +VTS,1,1,1140,3.79,CRD,15 +VTS,1,1,780,3.44,CRD,12.5 +VTS,1,1,660,2.86,CRD,11 +VTS,1,2,300,0.77,CSH,5 +VTS,1,1,420,1.49,CSH,7.5 +VTS,1,1,240,0.87,CRD,5 +VTS,1,1,900,2.13,CRD,11 +VTS,1,1,240,0.73,CRD,4.5 +VTS,1,1,600,1.31,CSH,8 +VTS,1,1,840,3.14,CSH,12 +VTS,1,1,420,1.32,CRD,7 +VTS,1,1,600,1.27,CSH,8 +VTS,1,1,420,1.91,CSH,8 +VTS,1,1,120,0.64,CSH,4 +VTS,1,1,360,0.71,CSH,5.5 +VTS,1,1,120,0.42,CSH,3.5 +VTS,1,1,300,1.17,CRD,5.5 +VTS,1,1,900,3.5,CRD,13.5 +VTS,1,1,600,1.78,CSH,9.5 +VTS,1,1,360,1.38,CSH,6.5 +VTS,1,1,420,0.87,CRD,6 +VTS,1,1,540,2.25,CRD,9.5 +VTS,1,1,1260,2.91,CRD,15 +VTS,1,1,300,1.11,CRD,5.5 +VTS,1,1,300,1.05,CSH,6 +VTS,1,1,300,1.04,CSH,6 +VTS,1,2,420,1.23,CSH,6.5 +VTS,1,1,600,2.75,CSH,10.5 +VTS,1,1,1260,4.66,CSH,18 +VTS,1,1,240,0.65,CSH,4.5 +VTS,1,1,1260,3.7,CRD,16.5 +VTS,1,1,360,0.7,CSH,5.5 +VTS,1,1,660,1.64,CSH,8.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,900,2.03,CRD,11.5 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,600,2.08,CRD,9.5 +VTS,1,1,300,1.05,CSH,5 +VTS,1,1,300,1.33,CRD,6 +VTS,1,2,300,0.85,CSH,5.5 +VTS,1,1,840,4.4,CSH,14.5 +VTS,1,1,240,0.77,CRD,4.5 +VTS,1,1,780,2.46,CSH,11 +VTS,1,1,540,1.64,CRD,8 +VTS,1,1,300,1.06,CRD,5.5 +VTS,1,1,120,0.27,CRD,3 +VTS,1,1,480,1.6,CSH,7.5 +VTS,1,1,900,1.83,CSH,11 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,2,840,3.3,CRD,12.5 +VTS,1,2,1020,4.96,CRD,16.5 +VTS,1,1,4260,17.82,CRD,61 +VTS,1,1,480,1.03,CRD,7 +VTS,1,1,720,2.15,CSH,10 +VTS,1,1,1560,5.34,CRD,21 +VTS,1,1,360,0.83,CSH,5.5 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,720,2.28,CSH,10.5 +VTS,1,1,480,1.5,CRD,7 +VTS,1,1,300,0.73,CSH,5.5 +VTS,1,2,360,1.43,CSH,7 +VTS,1,1,360,0.9,CRD,5.5 +VTS,1,1,180,0.83,CSH,4.5 +VTS,1,1,420,1.81,CRD,8.5 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,480,2.06,CSH,8.5 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,840,2.04,CSH,10.5 +VTS,1,1,1140,3.19,CSH,13.5 +VTS,1,1,180,0.57,CRD,4 +VTS,1,2,600,2.28,CSH,10 +VTS,1,1,1500,3.65,CSH,17.5 +VTS,1,1,720,2.15,CRD,9.5 +VTS,1,1,840,2.15,CSH,10.5 +VTS,1,1,360,1.06,CRD,6 +VTS,1,1,420,1.23,CSH,6.5 +VTS,1,1,180,0.86,CSH,4.5 +VTS,1,1,660,2.88,CSH,11.5 +VTS,1,1,720,1.36,CSH,9 +VTS,1,1,480,0.82,CRD,6.5 +VTS,1,1,540,1.79,CRD,8.5 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,2,240,0.68,CRD,5 +VTS,1,1,1260,3.98,CRD,16 +VTS,1,1,300,1.01,CRD,6 +VTS,1,1,600,1.85,CSH,9 +VTS,1,1,720,1.58,CRD,9 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,420,1.47,CRD,6.5 +VTS,1,1,480,0.97,CSH,6.5 +VTS,1,2,720,2.01,CRD,10 +VTS,1,1,480,0.94,CRD,7 +VTS,1,2,240,0.8,CSH,5 +VTS,1,1,1140,4.2,CSH,17 +VTS,1,2,900,3.97,CRD,14.5 +VTS,1,1,120,0.91,CRD,4.5 +VTS,1,1,720,2.69,CSH,11 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,480,1.75,CRD,7.5 +VTS,1,1,240,0.67,CSH,4.5 +VTS,1,1,420,0.71,CSH,5.5 +VTS,1,1,360,1.22,CSH,6.5 +VTS,1,1,1080,4.48,CSH,17 +VTS,1,2,660,2.14,CRD,9.5 +VTS,1,1,240,0.67,CSH,4.5 +VTS,1,2,480,2.56,CRD,10 +VTS,1,1,480,2.17,CSH,9.5 +VTS,1,1,900,2,CRD,11.5 +VTS,1,1,660,1.84,CSH,9.5 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,1,180,0.49,CRD,4 +VTS,1,1,120,0.51,CSH,4 +VTS,1,1,600,1.15,CSH,7.5 +VTS,1,1,300,1.02,CSH,5.5 +VTS,1,2,420,1.33,CSH,6.5 +VTS,1,1,360,1.26,CRD,6.5 +VTS,1,1,720,2.78,CSH,11 +VTS,1,1,480,2.04,CSH,9 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,960,4.95,CRD,16.5 +VTS,1,1,660,2.11,CRD,10 +VTS,1,1,300,1.66,CSH,7 +VTS,1,1,480,1.55,CRD,7.5 +VTS,1,1,360,1.09,CSH,6 +VTS,1,1,480,1.52,CSH,7.5 +VTS,1,2,600,1.87,CSH,9 +VTS,1,1,420,1.7,CRD,8 +VTS,1,1,420,1.2,CSH,6.5 +VTS,1,1,600,2.94,CSH,11 +VTS,1,2,420,1.37,CSH,7.5 +VTS,1,1,600,3.33,CRD,11 +VTS,1,1,180,0.33,CSH,3.5 +VTS,1,1,660,2.44,CRD,10 +VTS,1,1,960,1.67,CRD,10.5 +VTS,1,1,480,0.95,CSH,7 +VTS,1,1,540,1.64,CSH,8 +VTS,1,1,840,2.44,CSH,11 +VTS,1,1,480,1.7,CRD,8 +VTS,1,1,300,1.17,CSH,6 +VTS,1,1,180,0.48,CSH,4 +VTS,1,1,720,2.12,CSH,10.5 +VTS,1,1,240,0.67,CRD,4.5 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,1,900,1.43,CSH,10.5 +VTS,1,1,240,0.58,CRD,5 +VTS,1,1,300,1.14,CRD,6 +VTS,1,1,420,1.83,CRD,8 +VTS,1,1,960,9.03,CSH,26 +VTS,1,1,1080,1.86,CRD,12 +VTS,1,1,480,2.4,CSH,9.5 +VTS,1,1,540,1.08,CSH,7.5 +VTS,1,1,1740,8.95,CRD,29.5 +VTS,1,1,360,0.65,CRD,5.5 +VTS,1,1,480,1.7,CRD,8 +VTS,1,1,420,1.68,CSH,8 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,2100,4.96,CRD,24 +VTS,1,1,900,2.75,CRD,12.5 +VTS,1,1,480,0.92,CSH,7 +VTS,1,1,420,1.98,CSH,8 +VTS,1,1,360,1.59,CSH,7 +VTS,1,1,1080,4.72,CRD,17.5 +VTS,1,1,60,0.43,CSH,3.5 +VTS,1,1,240,1.08,CSH,5.5 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,840,2.18,CRD,11 +VTS,1,1,660,2.66,CSH,10.5 +VTS,1,1,540,1.86,CSH,8.5 +VTS,1,1,660,3.39,CSH,12 +VTS,1,1,780,4.08,CRD,14 +VTS,1,1,840,1.76,CRD,10.5 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,1380,4.6,CRD,18 +VTS,1,1,420,1.25,CSH,7 +VTS,1,1,660,3.83,CSH,12.5 +VTS,1,1,600,1.65,CSH,8.5 +VTS,1,1,360,0.91,CSH,6 +VTS,1,1,480,1.48,CRD,7.5 +VTS,1,1,420,1.54,CSH,7 +VTS,1,1,1260,2.88,CRD,15 +VTS,1,1,780,3.56,CRD,13 +VTS,1,1,420,1.5,CSH,7 +VTS,1,1,420,1.94,CRD,8.5 +VTS,1,1,600,2.2,CSH,9.5 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,480,1.61,CSH,7.5 +VTS,1,1,840,5.86,CSH,18.5 +VTS,1,1,660,1.72,CRD,9 +VTS,1,2,1620,3.73,CRD,18.5 +VTS,1,1,480,1.65,CSH,8 +VTS,1,1,480,2.13,CSH,9 +VTS,1,1,780,3.81,CRD,14 +VTS,1,1,360,0.75,CSH,6 +VTS,1,1,540,2.79,CRD,10 +VTS,1,1,780,2.43,CRD,11.5 +VTS,1,1,300,0.56,CRD,5 +VTS,1,1,540,1.65,CRD,8 +VTS,1,1,240,0.69,CSH,4.5 +VTS,1,1,240,0.51,CSH,4 +VTS,1,1,360,0.77,CSH,4.5 +VTS,1,1,1260,4.94,CRD,18.5 +VTS,1,1,1080,3.68,CSH,14.5 +VTS,1,1,540,1.81,CSH,8 +VTS,1,1,1260,3.19,CRD,15 +VTS,1,1,600,2.52,CSH,10.5 +VTS,1,1,1320,5.49,CSH,19.5 +VTS,1,1,720,3.91,CRD,13 +VTS,1,1,660,1.57,CSH,8 +VTS,1,1,540,1.86,CRD,9 +VTS,1,1,240,1.2,CSH,6 +VTS,1,1,720,1.98,CRD,10 +VTS,1,1,780,3.33,CRD,12.5 +VTS,1,1,780,3.47,CSH,13.5 +VTS,1,1,480,0.54,CSH,6 +VTS,1,1,600,1.63,CSH,8.5 +VTS,1,1,240,0.56,CSH,4 +VTS,1,1,720,2.01,CRD,10 +VTS,1,1,780,1.29,CRD,9 +VTS,1,1,420,1.93,CSH,7.5 +VTS,1,1,780,5.36,CRD,17.5 +VTS,1,1,960,1.99,CRD,11.5 +VTS,1,2,180,0.83,CRD,4.5 +VTS,1,1,780,2.72,CRD,11.5 +VTS,1,1,420,1.33,CRD,6.5 +VTS,1,1,360,0.9,CSH,6 +VTS,1,1,420,1.05,CSH,7 +VTS,1,1,1200,5.13,CRD,18.5 +VTS,1,1,360,1.29,CSH,7 +VTS,1,1,240,0.7,CRD,5 +VTS,1,1,540,3.16,CRD,11 +VTS,1,1,540,1.54,CRD,8 +VTS,1,1,360,0.94,CRD,6 +VTS,1,1,960,4.04,CSH,15 +VTS,1,1,480,2.08,CSH,9 +VTS,1,1,420,1.46,CRD,7 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,2,780,0.67,CSH,9 +VTS,1,1,480,2.01,CSH,8 +VTS,1,1,1020,3.35,CRD,14.5 +VTS,1,1,240,0.93,CRD,5.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,300,0.6,CSH,4.5 +VTS,1,1,600,2.5,CRD,10 +VTS,1,1,360,1.03,CRD,6 +VTS,1,1,600,2.75,CRD,10.5 +VTS,1,1,420,1.38,CSH,7.5 +VTS,1,1,1320,5.53,CSH,19.5 +VTS,1,1,420,2.6,CRD,9 +VTS,1,1,1320,5.18,CRD,19.5 +VTS,1,1,780,2.45,CRD,10.5 +VTS,1,1,480,0.96,CSH,6.5 +VTS,1,1,120,0.33,CRD,3.5 +VTS,1,1,360,1.59,CRD,7 +VTS,1,1,420,2.51,CSH,9 +VTS,1,1,300,1.11,CRD,5.5 +VTS,1,1,660,2,CRD,10 +VTS,1,1,420,1.13,CSH,6 +VTS,1,1,360,1.21,CRD,6.5 +VTS,1,1,720,2.83,CRD,11 +VTS,1,1,540,1.83,CSH,8.5 +VTS,1,1,420,1.56,CSH,7 +VTS,1,1,960,3.73,CSH,14 +VTS,1,1,1200,3.5,CRD,15.5 +VTS,1,1,1260,2.29,CRD,14 +VTS,1,1,900,2.39,CRD,11.5 +VTS,1,1,600,1.12,CRD,7.5 +VTS,1,1,1320,2.54,CRD,15.5 +VTS,1,1,900,1.79,CSH,10.5 +VTS,1,1,360,0.98,CRD,6 +VTS,1,1,1140,6.32,CRD,20.5 +VTS,1,1,540,0.42,CSH,6.5 +VTS,1,1,1200,2.71,CSH,14 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,540,1.44,CSH,7.5 +VTS,1,1,960,2.93,CSH,13 +VTS,1,1,420,2.32,CRD,8.5 +VTS,1,1,960,4.93,CSH,16.5 +VTS,1,1,480,0.96,CRD,6.5 +VTS,1,1,780,2.11,CSH,10 +VTS,1,1,540,0.87,CRD,7.5 +VTS,1,1,240,0.92,CSH,5.5 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,180,0.59,CRD,4.5 +VTS,1,1,180,0.79,CRD,4.5 +VTS,1,1,1080,9.14,CSH,27 +VTS,1,1,480,1.66,CRD,7 +VTS,1,1,360,2.27,CRD,8 +VTS,1,1,60,0.3,CSH,3 +VTS,1,2,900,2.94,CRD,12.5 +VTS,1,1,1020,3.77,CSH,15 +VTS,1,1,780,2.46,CRD,11 +VTS,1,1,1380,2.36,CSH,15.5 +VTS,1,1,180,0.93,CSH,5 +VTS,1,1,180,0.46,CRD,4 +VTS,1,1,1140,2.65,CRD,13.5 +VTS,1,1,480,0.74,CSH,5.5 +VTS,1,1,1020,1.23,CRD,11 +VTS,1,1,480,1.45,CSH,7.5 +VTS,1,1,300,0.44,CSH,5.5 +VTS,1,1,360,0.94,CSH,5.5 +VTS,1,1,600,1.36,CSH,8 +VTS,1,1,420,0.94,CSH,7 +VTS,1,1,660,3.13,CSH,12 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,840,2.91,CSH,12 +VTS,1,1,600,2.94,CRD,11 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,480,1.44,CRD,7.5 +VTS,1,1,540,1.74,CRD,8.5 +VTS,1,1,960,3.33,CRD,13 +VTS,1,1,300,0.81,CRD,5 +VTS,1,1,960,2.17,CRD,11.5 +VTS,1,1,300,1.55,CSH,6.5 +VTS,1,1,540,1.9,CSH,9 +VTS,1,1,600,1.3,CSH,8 +VTS,1,1,540,1.76,CRD,8.5 +VTS,1,2,780,2.62,CSH,12 +VTS,1,1,1620,2.99,CRD,18 +VTS,1,1,300,0.59,CRD,5 +VTS,1,1,1020,2.35,CRD,12.5 +VTS,1,1,420,1.24,CRD,6.5 +VTS,1,1,420,1.75,CRD,8 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,1,600,2.26,CSH,9.5 +VTS,1,1,480,1.68,CRD,8 +VTS,1,1,720,1.77,CRD,9 +VTS,1,1,360,2.15,CSH,8 +VTS,1,1,600,2.03,CSH,9 +VTS,1,1,1140,4.62,CRD,17 +VTS,1,1,780,3.5,CRD,12.5 +VTS,1,1,300,1.02,CSH,5.5 +VTS,1,1,360,0.96,CSH,6 +VTS,1,1,1200,1.05,CSH,13 +VTS,1,1,420,1.79,CSH,7.5 +VTS,1,1,660,1.02,CRD,7.5 +VTS,1,1,960,4.33,CSH,16 +VTS,1,1,360,1.54,CSH,7 +VTS,1,1,540,2.52,CSH,10 +VTS,1,1,720,7.18,CSH,20.5 +VTS,1,1,0,0.02,CSH,2.5 +VTS,1,1,420,0.67,CSH,6 +VTS,1,1,480,1.01,CSH,7 +VTS,1,1,540,2.28,CSH,9.5 +VTS,1,1,1500,6.89,CRD,24.5 +VTS,1,1,360,1.03,CRD,6 +VTS,1,1,840,2.47,CSH,11 +VTS,1,1,660,3.54,CRD,12 +VTS,1,1,480,1.78,CSH,8.5 +VTS,1,1,780,2.27,CRD,10.5 +VTS,1,1,1740,4.85,CRD,21.5 +VTS,1,1,540,1.74,CSH,8.5 +VTS,1,1,240,0.52,CRD,4 +VTS,1,1,960,2.09,CRD,11.5 +VTS,1,1,900,6.63,CSH,20.5 +VTS,1,1,300,0.67,CRD,4.5 +VTS,1,1,2580,9.48,CRD,34 +VTS,1,1,420,1.9,CSH,8.5 +VTS,1,1,360,1.6,CRD,7 +VTS,1,1,660,1.86,CSH,9 +VTS,1,1,720,1.94,CRD,10 +VTS,1,1,540,1.58,CSH,8 +VTS,1,1,1500,5.23,CRD,20 +VTS,1,1,360,1.11,CRD,6 +VTS,1,1,120,0.4,CSH,3.5 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,180,0.51,CSH,4.5 +VTS,1,1,960,3.73,CRD,13.5 +VTS,1,1,180,0.4,CSH,4 +VTS,1,1,120,0.38,CRD,3.5 +VTS,1,1,300,1.06,CRD,5.5 +VTS,1,2,420,1.53,CSH,7 +VTS,1,1,420,1.84,CSH,8 +VTS,1,1,360,0.85,CSH,6 +VTS,1,1,720,2.45,CSH,10.5 +VTS,1,1,840,1.68,CSH,10 +VTS,1,1,1200,3.09,CSH,15.5 +VTS,1,1,1020,6.45,CRD,21 +VTS,1,1,780,2.47,CRD,11 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,600,1.14,CRD,8 +VTS,1,1,120,0.53,CSH,3.5 +VTS,1,2,600,2.47,CRD,10.5 +VTS,1,1,720,2.11,CRD,10.5 +VTS,1,1,360,1.71,CSH,7 +VTS,1,1,240,0.92,CRD,5 +VTS,1,1,1320,8.91,CRD,27 +VTS,1,1,420,0.8,CSH,6.5 +VTS,1,1,600,1.22,CSH,7.5 +VTS,1,1,480,0.91,CRD,7 +VTS,1,1,720,3.68,CSH,12.5 +VTS,1,1,480,1.61,CRD,7.5 +VTS,1,1,360,1.45,CSH,7 +VTS,1,1,300,1.67,CSH,7 +VTS,1,1,600,3.14,CRD,11 +VTS,1,1,420,1.59,CRD,7.5 +VTS,1,1,900,2.34,CRD,12 +VTS,1,1,600,2.33,CSH,10 +VTS,1,1,1320,3.36,CSH,15.5 +VTS,1,1,660,1.81,CRD,9.5 +VTS,1,1,300,1.29,CSH,6 +VTS,1,1,1920,8.54,CRD,29.5 +VTS,1,1,300,0.66,CRD,5 +VTS,1,1,480,1.64,CSH,7.5 +VTS,1,1,240,1.23,CSH,5.5 +VTS,1,1,660,2.22,CRD,10 +VTS,1,1,780,4.74,CSH,15.5 +VTS,1,1,2160,4.51,CRD,24.5 +VTS,1,1,1680,7.17,CRD,27.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,540,1.34,CSH,7.5 +VTS,1,1,1080,2.19,CRD,12.5 +VTS,1,2,1440,4.05,CRD,18 +VTS,1,1,660,2.04,CRD,10 +VTS,1,1,720,2.95,CRD,11.5 +VTS,1,1,480,0.93,CRD,6.5 +VTS,1,1,1020,5.37,CRD,18 +VTS,1,1,660,2.82,CSH,11 +VTS,1,1,300,1.89,CSH,7.5 +VTS,1,1,660,2.04,CSH,9.5 +VTS,1,1,180,0.39,CSH,3.5 +VTS,1,1,660,1.74,CSH,9 +VTS,1,1,600,2.63,CRD,9.5 +VTS,1,1,780,2.77,CRD,11 +VTS,1,1,480,1.17,CRD,6.5 +VTS,1,1,840,1.89,CRD,10 +VTS,1,1,720,2.52,CSH,10.5 +VTS,1,1,600,1.34,CSH,8 +VTS,1,1,420,1.37,CRD,6.5 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,720,2.26,CRD,10.5 +VTS,1,1,1680,7.52,CSH,24 +VTS,1,1,360,0.59,CRD,5.5 +VTS,1,1,780,2,CRD,10.5 +VTS,1,1,300,1.68,CRD,6.5 +VTS,1,1,180,1.14,CSH,5 +VTS,1,1,540,1.66,CRD,8.5 +VTS,1,1,360,1.91,CRD,7 +CMT,1,4,945,3.2,CSH,14 +VTS,1,1,480,1.41,CSH,7.5 +VTS,1,1,300,0.64,CSH,5 +VTS,1,1,1560,4.56,CSH,19 +VTS,1,1,1020,5.2,CRD,18.5 +VTS,1,1,300,1.54,CRD,6.5 +VTS,1,1,1320,6,CSH,21 +VTS,1,1,240,0.56,CRD,4 +VTS,1,1,360,0.8,CSH,5.5 +VTS,1,1,420,1.41,CSH,7.5 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,120,0.57,CSH,4 +VTS,1,1,660,1.93,CRD,9.5 +VTS,1,1,720,2.58,CRD,11 +VTS,1,1,960,1.57,CRD,10 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,720,3.59,CRD,13 +VTS,1,1,240,1.58,CRD,6 +VTS,1,1,660,2.44,CSH,10 +VTS,1,1,600,3.5,CSH,12.5 +VTS,1,1,720,2.91,CRD,11 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,1,480,1.71,CRD,8 +VTS,1,1,600,1.98,CRD,9 +VTS,1,1,660,3.28,CRD,11.5 +VTS,1,1,1320,5.46,CSH,19.5 +VTS,1,1,360,0.93,CRD,6 +VTS,1,1,120,0.58,CRD,3.5 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,1,480,0.96,CRD,6.5 +VTS,1,1,660,1.99,CRD,9 +VTS,1,1,540,1.67,CSH,8 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,1,300,1.15,CRD,5.5 +VTS,1,1,480,1.73,CRD,7.5 +VTS,1,1,840,1.83,CSH,10 +VTS,1,1,1080,3.48,CRD,14.5 +CMT,1,1,359,0.7,CSH,5.5 +CMT,1,2,580,2.1,CSH,10 +CMT,2,1,2411,18.6,CRD,52 +CMT,1,2,378,1.4,CSH,7 +CMT,1,1,556,2.2,CSH,9.5 +CMT,1,2,1036,3.8,CRD,15 +CMT,1,1,680,3,CSH,11.5 +CMT,1,1,3447,11.4,CRD,46 +CMT,1,1,1805,16,CRD,46.5 +CMT,1,1,146,0.5,CSH,4 +CMT,1,1,365,0.9,CRD,6 +CMT,1,3,902,2.6,CRD,12 +CMT,1,2,529,2,CRD,9 +CMT,1,1,2109,10.9,CRD,34 +CMT,1,2,650,1.7,CSH,9 +CMT,1,2,1289,6.5,CRD,23 +CMT,1,2,804,3.4,CSH,13.5 +CMT,1,2,619,4.5,CSH,13.5 +CMT,2,1,1747,18,CRD,52 +CMT,1,1,700,1.2,CRD,9 +CMT,1,3,222,0.4,CSH,4.5 +CMT,1,1,285,0.7,CRD,5.5 +CMT,1,2,537,1,CSH,7.5 +CMT,1,2,782,2.9,CSH,12.5 +CMT,1,1,433,2,CSH,8 +CMT,1,1,1050,9.6,CSH,27.5 +CMT,1,1,756,1.9,CRD,10 +CMT,1,2,189,0.4,CSH,4 +CMT,1,1,719,1.3,CRD,9.5 +CMT,1,2,391,1.1,CSH,6.5 +CMT,1,1,315,1.6,CRD,7 +CMT,1,1,499,1.3,CRD,7.5 +CMT,1,2,533,2,CSH,9 +CMT,1,1,460,1.5,CRD,8 +CMT,1,2,612,1.5,CSH,8.5 +CMT,2,1,3054,21.8,CRD,52 +CMT,1,2,249,0.7,CRD,5 +CMT,1,1,221,1.5,CRD,6.5 +CMT,1,2,808,3.2,CSH,13.5 +CMT,1,1,696,1.8,CRD,10 +CMT,5,1,1920,5.8,CRD,45 +VTS,1,1,540,2.12,CRD,9 +VTS,1,1,660,2.14,CSH,9 +VTS,1,1,360,1.18,CRD,6.5 +VTS,1,1,480,1.78,CSH,8 +VTS,4,1,180,0.31,CSH,4 +VTS,1,1,900,3.94,CSH,14.5 +VTS,1,1,600,1.83,CRD,9 +VTS,1,1,360,1.36,CRD,6.5 +VTS,1,1,180,0.61,CSH,4.5 +CMT,1,3,2025,4.5,CSH,23.5 +CMT,1,2,1856,16.1,CSH,46 +CMT,1,3,849,2.8,CSH,12.5 +CMT,1,1,228,0.6,CSH,4.5 +CMT,5,1,37,0,CRD,134.9 +CMT,1,2,416,1.3,CSH,7 +CMT,1,1,1514,10.7,CSH,32 +CMT,1,1,934,3.6,CSH,14.5 +CMT,2,1,2898,19.4,CRD,52 +CMT,2,2,2187,16.9,CSH,52 +CMT,1,1,278,0.8,CSH,5.5 +CMT,1,2,3003,13.4,CSH,45.5 +CMT,2,1,2361,17.6,CRD,52 +CMT,1,1,380,0.7,CRD,6 +CMT,1,1,1471,4.3,CRD,19 +CMT,1,1,142,0.3,CRD,3.5 +CMT,2,1,3570,19.5,CRD,52 +VTS,1,1,540,1.36,CRD,7.5 +VTS,1,1,420,2.13,CSH,8.5 +VTS,1,1,60,0.05,CSH,2.5 +VTS,1,1,900,2.35,CRD,12.5 +VTS,1,1,360,0.99,CSH,6 +CMT,1,2,274,0.7,CRD,5 +CMT,1,1,685,7.4,CSH,21.5 +CMT,2,1,1543,17.3,CRD,52 +CMT,1,1,822,5.5,CRD,17.5 +CMT,1,1,403,1.5,CRD,7.5 +CMT,1,2,840,2.7,CRD,12 +CMT,1,2,338,1.6,CRD,7 +CMT,1,2,1528,10.3,CRD,30.5 +CMT,1,2,330,0.6,CSH,5.5 +CMT,1,1,369,0.9,CRD,6.5 +CMT,1,1,2275,13.9,CSH,42 +CMT,1,1,1020,3.2,CRD,13.5 +CMT,2,2,1833,18.1,CSH,52 +CMT,1,2,111,0.6,CSH,4 +CMT,1,2,462,1.9,CRD,8.5 +CMT,1,1,641,1.8,CSH,9.5 +CMT,1,2,294,1,CRD,6 +CMT,1,1,1202,3.5,CRD,15.5 +CMT,1,1,791,1.6,CSH,10 +CMT,1,1,483,2.2,CRD,9 +CMT,1,1,1070,4.7,CRD,17.5 +VTS,1,1,1020,2.12,CRD,12 +VTS,1,1,480,1.03,CRD,6.5 +VTS,1,1,540,2.53,CSH,9.5 +VTS,1,1,960,3.54,CSH,13.5 +VTS,1,1,420,1.24,CSH,7 +VTS,1,1,660,1.85,CRD,9.5 +VTS,1,1,360,1.47,CSH,7 +VTS,1,1,360,1.43,CSH,6.5 +VTS,1,1,780,4.35,CSH,15 +VTS,1,1,600,1.4,CSH,8 +VTS,1,1,60,0.02,CSH,2.5 +VTS,1,1,420,1.19,CSH,7 +VTS,1,1,1320,3.25,CRD,15.5 +VTS,1,1,300,1.28,CSH,6 +VTS,1,1,600,1.67,CRD,9 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,1,1320,4.79,CRD,18 +VTS,1,1,540,1.7,CRD,8.5 +VTS,1,1,360,0.55,CSH,5.5 +VTS,1,1,480,0.84,CRD,6.5 +VTS,1,1,720,1.37,CRD,9 +VTS,1,1,180,0.61,CRD,4 +VTS,1,1,300,0.77,CSH,5 +VTS,1,1,360,1.18,CSH,6 +VTS,1,1,360,0.81,CRD,5.5 +VTS,1,1,660,2.86,CRD,11 +VTS,1,1,300,0.77,CSH,5 +VTS,1,1,120,0.49,CSH,4 +VTS,1,1,1560,7.45,CRD,24 +VTS,1,1,300,0.74,CSH,5 +VTS,1,1,120,0.54,CRD,4 +VTS,1,1,600,1.68,CRD,8.5 +VTS,1,1,60,0.02,CRD,2.5 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,480,1.06,CRD,7 +VTS,1,1,780,3.18,CSH,12.5 +VTS,1,1,480,2.26,CRD,8.5 +CMT,1,2,1120,2.3,CSH,13.5 +CMT,1,4,1258,5,CRD,19 +CMT,2,1,2928,18.3,CRD,52 +CMT,1,1,255,1.2,CSH,5.5 +CMT,1,1,415,1.2,CRD,7 +CMT,1,2,1611,10.7,CSH,33 +CMT,1,1,1874,8.8,CSH,30 +CMT,1,2,1581,5.6,CRD,21 +CMT,1,1,516,2.1,CSH,9 +CMT,1,1,250,1.2,CRD,5.5 +CMT,1,2,284,0.6,CRD,5 +CMT,1,2,450,1.7,CRD,7.5 +CMT,1,1,644,2,CRD,10 +CMT,1,1,238,1.5,CSH,6.5 +CMT,2,1,2631,19.4,CSH,52 +CMT,2,1,1397,16.9,CRD,52 +CMT,1,2,1259,4.7,CRD,19 +CMT,1,2,259,1.4,CRD,6 +CMT,1,2,1170,4.9,CRD,18 +CMT,1,1,245,0.9,CSH,5 +CMT,1,2,918,2.5,CRD,12.5 +CMT,1,1,1080,2.6,CSH,13.5 +CMT,1,3,945,2.4,CRD,12 +CMT,1,1,705,1.8,CRD,9.5 +CMT,1,1,1178,4.1,CRD,16.5 +CMT,1,1,468,1.6,CSH,8 +CMT,1,3,2017,6,CSH,26 +CMT,1,1,897,3.7,CRD,14 +CMT,1,1,260,0.6,CSH,5 +CMT,1,1,977,7.8,CRD,23.5 +CMT,1,1,626,1.9,CRD,9.5 +CMT,1,1,666,3.7,CRD,13.5 +CMT,2,1,2006,21.6,CRD,52 +CMT,1,2,460,1.5,CRD,7.5 +CMT,2,1,771,3.4,CRD,52 +CMT,1,1,532,2.4,CRD,10 +CMT,1,3,975,2.7,CSH,12.5 +CMT,1,1,906,2.6,CRD,12.5 +CMT,1,1,1334,6.3,CRD,23 +CMT,1,1,566,2.4,CRD,10 +CMT,1,1,807,3.4,CRD,12.5 +VTS,1,1,600,2.43,CRD,10 +VTS,1,1,420,1.72,CSH,8 +CMT,1,2,329,0.8,CRD,6 +CMT,2,2,3085,20.8,CSH,52 +CMT,1,2,1114,1.7,CSH,12 +CMT,1,1,1299,6.5,CSH,22 +CMT,1,1,2491,19.7,CSH,54 +CMT,1,1,351,1.3,CSH,6.5 +CMT,1,1,675,2.3,CRD,10.5 +CMT,1,1,173,0.8,CRD,4.5 +CMT,1,1,610,2.5,CRD,10 +CMT,1,2,1632,9.8,CRD,31.5 +CMT,1,1,639,2.1,CSH,9.5 +CMT,1,3,349,0.9,CRD,6 +CMT,1,2,751,4.2,CRD,15 +CMT,1,1,492,2.5,CSH,9.5 +CMT,1,2,308,1.2,CRD,6 +CMT,1,2,619,3,CRD,11.5 +CMT,1,2,685,1.5,CRD,9.5 +CMT,1,1,383,0.8,CRD,6 +CMT,1,2,1122,4.4,CRD,17 +CMT,1,1,364,0.9,CRD,6 +CMT,1,1,419,1.1,CSH,7 +CMT,1,1,48,0.2,CRD,3 +CMT,1,3,1298,5.2,CRD,19.5 +CMT,1,1,216,1,CSH,5 +CMT,1,3,752,2.8,CSH,11.5 +CMT,1,1,192,0.8,CRD,5 +CMT,1,1,803,2.5,CSH,11.5 +CMT,1,1,106,0.3,CSH,3.5 +CMT,1,2,1031,2.5,CRD,13 +CMT,1,1,432,1.2,CRD,7 +CMT,1,2,449,0.9,CSH,7 +CMT,1,1,889,2.1,CRD,11 +CMT,1,1,73,0.3,CSH,3 +CMT,1,3,1723,10.4,CSH,32 +CMT,1,1,760,4.3,CRD,14 +CMT,1,1,263,1.8,CSH,7.5 +CMT,1,1,658,3,CSH,12 +CMT,1,3,298,0.6,CSH,5 +CMT,1,2,800,1.8,CSH,10.5 +CMT,1,2,466,1,CSH,6.5 +CMT,1,1,603,1.1,CRD,8 +CMT,1,2,1028,2.9,CRD,13.5 +CMT,1,2,1070,4.2,CSH,16 +CMT,1,1,831,1.6,CRD,10.5 +CMT,1,1,1059,3.4,CSH,14.5 +CMT,1,1,504,1.6,CRD,8 +CMT,1,2,1266,4.2,CRD,17 +CMT,1,1,1282,10.2,CSH,30 +CMT,1,2,462,0.4,CRD,6.5 +CMT,2,1,2335,16.5,CRD,52 +CMT,1,2,2413,16,CRD,47 +CMT,1,3,365,1.6,CSH,7 +CMT,1,3,595,2,CRD,9.5 +CMT,1,1,1341,8.8,CSH,28 +CMT,1,1,293,0.4,CRD,5 +CMT,1,4,332,1.1,CSH,6 +CMT,1,2,563,1.7,CRD,8.5 +CMT,1,2,196,0.5,CSH,4.5 +CMT,1,1,947,3,CSH,13.5 +CMT,1,2,742,1.3,CSH,9 +CMT,1,2,540,1.5,CRD,8 +CMT,1,1,664,3.4,CRD,12.5 +CMT,1,3,203,0.4,CSH,4 +CMT,1,2,823,3.3,CSH,13.5 +CMT,1,2,236,0.7,CSH,5 +CMT,1,1,1055,5.6,CRD,19.5 +CMT,1,3,350,1.5,CSH,7 +CMT,2,1,2275,22.8,CRD,52 +CMT,1,2,310,1.5,CRD,6.5 +CMT,1,1,822,6.9,CSH,21 +CMT,1,2,254,0.5,CRD,5 +CMT,1,1,266,0.7,CSH,5 +CMT,1,1,396,0.9,CRD,6.5 +CMT,1,1,777,3.1,CRD,13 +CMT,1,1,104,0.5,CRD,4 +CMT,2,1,3080,20.7,CSH,52 +CMT,1,1,239,1,CSH,5.5 +CMT,1,1,25,0.4,NOC,2.5 +CMT,1,2,275,0.7,CSH,5 +CMT,1,1,568,2.8,CRD,11 +CMT,1,1,314,0.4,CSH,5.5 +CMT,1,2,362,0.8,CSH,6 +CMT,1,1,904,2.1,CRD,11.5 +CMT,1,1,451,2,CRD,8.5 +CMT,1,1,606,1.9,CRD,9.5 +CMT,1,1,2625,11.8,CSH,40 +CMT,2,2,2733,19.7,CSH,52 +CMT,2,1,2537,18.8,CSH,52 +CMT,2,1,2879,17.6,CSH,52 +CMT,1,1,665,2,CRD,9.5 +CMT,1,1,853,2.9,CRD,12.5 +CMT,1,1,999,4.9,CRD,16.5 +CMT,1,1,621,1.4,CRD,8.5 +CMT,1,2,660,2.2,CSH,10 +CMT,1,2,449,1.4,CSH,7.5 +CMT,1,1,787,4.5,CSH,15 +CMT,2,2,2541,21.9,CSH,52 +CMT,1,1,580,1.8,CRD,9 +CMT,1,1,490,1,CSH,7.5 +CMT,1,3,712,1.9,CRD,10 +CMT,1,1,486,2.7,CRD,10.5 +CMT,1,1,187,0.6,CSH,4.5 +VTS,1,1,1200,2.75,CSH,14.5 +VTS,1,1,540,1.46,CRD,8 +VTS,1,1,600,2.15,CRD,9.5 +VTS,1,1,360,1.3,CRD,6.5 +VTS,1,1,960,3.35,CRD,14 +VTS,1,1,600,1.55,CSH,8.5 +VTS,1,1,720,2,CSH,10 +VTS,1,1,240,1.48,CRD,6.5 +VTS,1,1,1080,5.75,CRD,19.5 +VTS,1,1,1020,2.15,CSH,12 +VTS,1,1,360,0.99,CSH,6 +VTS,1,2,240,0.65,CRD,5 +VTS,1,1,1080,4.59,CRD,16 +VTS,1,1,420,0.83,CSH,5.5 +VTS,1,1,2280,9.37,CRD,32.5 +VTS,1,1,960,2.57,CSH,12.5 +VTS,1,1,540,2.2,CRD,9 +VTS,1,1,780,1.98,CSH,9.5 +VTS,1,1,240,0.69,CSH,5 +VTS,1,1,600,2.29,CSH,10 +VTS,1,1,180,0.48,CRD,4 +VTS,1,2,360,0.86,CSH,6 +VTS,1,1,780,1.3,CSH,9 +VTS,1,1,420,1.61,CRD,7.5 +VTS,1,1,720,2.5,CSH,11 +VTS,1,1,240,0.75,CRD,5 +VTS,1,1,300,1.25,CSH,6 +VTS,1,1,600,2.29,CRD,9.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,660,5.31,CSH,17 +VTS,1,1,2400,3.47,CRD,24 +VTS,4,1,1080,3.15,CRD,13.5 +VTS,1,1,420,0.78,CSH,6 +VTS,1,1,420,1.76,CSH,7 +VTS,1,1,900,4.85,CRD,16 +VTS,1,1,780,1.9,CRD,10.5 +VTS,1,1,1020,2.61,CSH,12 +VTS,1,2,660,2.59,CSH,11 +VTS,1,1,1500,6.08,CSH,22 +CMT,1,1,1136,14.7,CSH,39.5 +CMT,2,2,1899,18.6,CSH,52 +CMT,1,1,1044,3.3,CSH,14 +CMT,1,1,205,0.4,CSH,4 +CMT,1,1,652,2.5,CRD,10 +CMT,1,2,99,0.5,CSH,3.5 +CMT,1,1,327,0.9,CSH,6 +CMT,1,2,618,1.9,CSH,9 +CMT,1,2,707,1.3,CSH,9 +CMT,1,3,315,0.8,CSH,5.5 +CMT,4,1,1141,15,CRD,62.5 +CMT,1,2,2334,6.5,CRD,27 +CMT,1,1,502,1.3,CRD,7.5 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,360,1.39,CRD,7 +VTS,1,1,840,3.08,CSH,12 +VTS,1,1,720,2.39,CSH,10 +VTS,1,2,240,0.44,CRD,4 +VTS,1,1,540,1.19,CRD,7 +VTS,1,1,300,1.27,CRD,6 +VTS,1,1,780,2.66,CRD,11 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,1,360,0.93,CSH,6 +VTS,1,1,960,6.99,CRD,21.5 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,900,4.14,CSH,14.5 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,1680,3.93,CSH,19 +VTS,1,1,1320,2.39,CRD,14 +VTS,1,1,420,0.83,CSH,6.5 +VTS,1,1,420,0.67,CSH,6 +VTS,1,1,600,1.23,CRD,8.5 +VTS,1,1,360,2.13,CSH,7.5 +VTS,1,1,420,1.6,CSH,7.5 +VTS,1,1,300,1.05,CRD,5.5 +VTS,1,1,360,1.45,CRD,6.5 +CMT,1,4,1396,5.8,CRD,20.5 +CMT,1,2,1800,18.5,CSH,49.5 +CMT,1,1,2061,5.2,CRD,25.5 +CMT,1,1,669,2.8,CSH,11.5 +CMT,1,2,389,1.4,CSH,6.5 +CMT,1,2,877,4.7,CSH,16.5 +CMT,2,1,2658,20.9,CRD,52 +CMT,1,3,2606,9.7,CRD,35.5 +CMT,1,2,986,2.7,CRD,13 +CMT,2,1,2414,17.7,CSH,52 +CMT,1,1,273,0.7,CSH,5 +CMT,1,1,196,0.8,CRD,5 +CMT,1,1,408,1.3,CRD,7 +CMT,1,1,765,7.8,CRD,22.5 +CMT,1,1,1078,4.5,CRD,16 +CMT,1,2,709,2.2,CSH,10.5 +CMT,1,1,603,1.1,CRD,8.5 +CMT,1,1,510,1.9,CRD,8.5 +CMT,1,1,562,3.7,CSH,13 +CMT,1,1,560,3.7,CRD,13 +CMT,1,2,1848,6.3,CSH,24.5 +CMT,1,1,693,2.6,CSH,10.5 +CMT,1,2,1209,7.7,CRD,24.5 +CMT,1,2,729,3.4,CRD,12.5 +CMT,2,1,1472,17.3,CSH,52 +CMT,1,1,891,4.3,CRD,15 +CMT,1,1,453,1.1,CSH,7 +CMT,1,2,336,1.4,CRD,6.5 +CMT,1,1,773,2.3,CRD,11 +CMT,1,2,1243,7.1,CSH,23 +CMT,1,1,452,2.1,CRD,9 +CMT,1,1,195,0.8,CSH,4.5 +CMT,1,1,108,0.4,CSH,4 +CMT,1,2,2534,21.7,CRD,60 +CMT,1,2,637,1.4,CRD,8.5 +CMT,1,2,793,0.9,CRD,9.5 +CMT,1,1,1108,5.6,CSH,19 +CMT,1,3,838,2.8,CRD,12.5 +CMT,1,1,362,1.5,CRD,7 +CMT,1,2,639,2.5,CRD,10.5 +CMT,2,1,3943,18.3,CRD,52 +CMT,2,1,2296,19.5,CRD,52 +CMT,1,1,1017,3.1,CRD,14 +CMT,1,2,550,1.8,CSH,8.5 +CMT,2,1,3104,17.9,CSH,52 +CMT,1,2,711,1,CSH,8.5 +CMT,1,3,403,1,CSH,6 +CMT,1,1,940,4,CSH,15 +CMT,1,1,611,1,CSH,8 +CMT,1,2,407,1.2,CSH,6.5 +CMT,1,1,624,2.7,CSH,11.5 +CMT,1,1,735,1.2,CRD,9 +CMT,1,1,533,1.9,CRD,9 +CMT,1,2,1433,11.5,CRD,34 +CMT,1,1,1162,5.1,CSH,18.5 +CMT,1,1,254,0.6,CSH,5 +CMT,1,2,390,1.3,CSH,6.5 +CMT,1,2,673,2.3,CRD,10.5 +CMT,1,1,2596,18.8,CRD,52.5 +CMT,1,2,996,10.2,CSH,29 +CMT,1,1,909,2.3,CRD,12.5 +CMT,1,1,803,2.4,CRD,11 +CMT,1,2,856,6.1,CRD,20 +CMT,1,1,321,1.4,CRD,6.5 +CMT,1,2,1076,4.3,CRD,16.5 +CMT,1,2,210,1.1,CRD,5.5 +CMT,1,1,978,5.5,CSH,18 +CMT,1,1,889,2.3,CSH,12 +CMT,1,2,632,1.8,CRD,9 +CMT,1,1,848,4.3,CRD,15 +CMT,1,1,314,1,CRD,6 +CMT,1,2,674,1.9,CSH,9.5 +CMT,1,1,838,3.9,CRD,15 +CMT,1,4,605,2.1,CRD,9.5 +CMT,1,1,635,0.8,CRD,8.5 +CMT,1,1,541,1.7,CSH,8.5 +CMT,1,3,1004,1.7,CRD,12 +CMT,1,4,266,0.6,CRD,5 +CMT,1,2,415,1.1,CRD,7 +CMT,1,1,629,1.5,CRD,8.5 +CMT,1,1,438,1,CSH,6.5 +CMT,2,1,2895,20,CRD,52 +CMT,1,1,760,2,CRD,10.5 +CMT,1,1,505,1.4,CRD,7.5 +CMT,1,1,501,1.7,CRD,8 +CMT,1,1,741,1.5,CRD,9 +CMT,1,2,974,3.9,CSH,15 +CMT,1,1,590,1.5,CSH,8.5 +CMT,1,1,1153,7.7,CRD,24.5 +CMT,1,1,1005,5.3,CRD,18 +CMT,1,1,135,0.4,CSH,3.5 +CMT,1,4,534,1.8,CSH,8.5 +CMT,2,1,1754,18.6,CSH,52 +CMT,1,1,4,0,NOC,2.5 +CMT,1,2,238,1.7,CRD,6.5 +CMT,1,1,1456,2.4,CRD,15.5 +CMT,1,1,383,1.2,CSH,6.5 +CMT,1,2,419,1,CRD,6.5 +CMT,1,2,628,2.7,CRD,10.5 +CMT,1,1,883,2.6,CSH,12 +CMT,1,1,269,1.1,CSH,5.5 +CMT,1,1,279,0.5,CRD,5 +CMT,1,1,527,1.3,CRD,8 +CMT,1,2,678,3,CSH,11.5 +CMT,1,1,759,2.2,CRD,10.5 +CMT,1,1,661,2.8,CRD,11 +CMT,1,1,301,1.1,CRD,6 +CMT,1,2,203,0.6,CSH,4.5 +CMT,1,2,452,1,CRD,6.5 +CMT,1,1,931,4.5,CSH,15.5 +CMT,1,1,850,2.9,CRD,12.5 +CMT,1,2,611,1.7,CRD,9 +CMT,1,2,838,2.6,CRD,11.5 +CMT,1,4,350,1,CSH,6 +CMT,1,1,356,0.5,CSH,5.5 +CMT,1,2,646,2.4,CSH,10 +CMT,1,2,1253,3.2,CRD,15.5 +CMT,1,1,1003,3.6,CRD,14.5 +CMT,1,2,259,0.8,CSH,5.5 +CMT,1,2,464,2.1,CRD,8.5 +CMT,1,1,325,0.6,CSH,5.5 +CMT,1,1,145,0.3,CSH,4 +CMT,1,2,458,1.9,CSH,8 +CMT,1,2,644,0.9,CSH,8 +CMT,1,1,264,0.7,CRD,5 +CMT,2,1,2084,19.2,CSH,52 +CMT,1,1,370,1.1,CSH,6.5 +CMT,1,1,437,1.4,CSH,7 +CMT,1,1,120,0.4,CSH,3.5 +CMT,1,1,1615,9,CRD,30 +CMT,1,2,493,1.5,CRD,7.5 +CMT,1,2,465,0.8,CRD,7 +CMT,1,1,654,1.1,CRD,8.5 +CMT,1,1,1209,4.3,CRD,17 +CMT,1,3,202,0.7,CSH,4.5 +CMT,1,1,508,1.9,CRD,9 +CMT,1,1,1621,6.6,CRD,24.5 +CMT,1,1,266,0.7,CRD,5 +CMT,1,2,2382,12.1,CSH,40 +CMT,1,3,146,0.2,CSH,3.5 +CMT,1,2,621,1.8,CSH,9.5 +CMT,1,1,521,1.7,CRD,8.5 +CMT,1,1,1386,9.9,CSH,29.5 +CMT,1,2,268,1,CRD,5.5 +CMT,1,1,805,1.5,CRD,10 +CMT,1,1,193,1,CSH,5 +CMT,1,1,621,1.1,CSH,8 +CMT,1,1,355,0.7,CSH,5.5 +CMT,1,1,526,2,CRD,8.5 +CMT,1,1,391,1.2,CRD,7 +CMT,1,1,2050,9.2,CRD,31.5 +CMT,1,1,766,1.3,CRD,10 +CMT,1,2,276,0.5,CSH,5 +CMT,1,1,801,1.8,CSH,10.5 +CMT,1,1,738,2.5,CSH,11 +CMT,1,2,687,2.1,CRD,9.5 +CMT,1,1,437,1.2,CSH,7 +CMT,5,1,35,0,CRD,77 +CMT,1,2,558,3.5,CSH,11.5 +CMT,1,1,729,2.8,CRD,12 +CMT,1,1,139,0.8,CRD,4.5 +CMT,1,1,857,6.9,CSH,21.5 +CMT,1,1,693,3,CSH,11 +CMT,1,1,722,2.2,CRD,10.5 +CMT,1,1,762,2.6,CRD,11 +CMT,2,2,1684,19,CRD,52 +CMT,1,1,857,1.9,CSH,11 +CMT,1,1,633,2.3,CSH,10 +CMT,1,1,228,1.3,CRD,6 +CMT,1,1,223,0.4,CRD,4.5 +CMT,1,1,556,1.4,CRD,8.5 +CMT,1,2,332,0.4,CSH,5.5 +CMT,1,1,706,1.8,CRD,10 +CMT,1,1,2231,14.4,CSH,42.5 +CMT,2,2,1744,17.2,CRD,52 +CMT,1,2,176,0.9,CSH,4.5 +CMT,1,1,793,1.7,CRD,10.5 +CMT,1,1,1452,8.6,CSH,27.5 +CMT,1,1,1547,5.1,CRD,20 +CMT,1,2,766,1.7,CSH,10 +CMT,1,1,322,1.5,CRD,6.5 +CMT,1,1,394,1.6,CRD,7.5 +CMT,1,1,175,0.5,CSH,4.5 +CMT,1,1,571,2.3,CSH,10 +CMT,1,2,672,1.6,CSH,9 +CMT,1,1,727,2.8,CRD,11.5 +CMT,1,1,779,2.7,CSH,11 +CMT,2,1,90,0.1,CSH,52 +CMT,1,1,429,2,CSH,8.5 +CMT,1,1,793,7.2,CRD,21.5 +CMT,2,2,971,3.7,CSH,52 +CMT,2,1,1801,21.7,CSH,52 +CMT,1,2,869,4.3,CSH,15.5 +CMT,1,1,133,0.3,CSH,3.5 +CMT,1,1,2898,22.4,CSH,62.5 +CMT,1,1,1623,2.1,CSH,17.5 +CMT,1,2,866,9.4,CRD,26.5 +CMT,2,2,1584,5.1,CSH,52 +CMT,1,1,505,0.9,CRD,7 +CMT,2,1,1492,17.3,CRD,52 +CMT,1,4,572,1.6,CSH,8.5 +CMT,1,2,458,2.3,CRD,9 +CMT,1,1,595,3.3,CSH,11.5 +CMT,2,1,1471,17.5,CSH,52 +CMT,2,1,2235,21.1,CRD,52 +CMT,1,1,1231,4.4,CRD,17 +CMT,1,4,327,1.5,CSH,6.5 +CMT,1,1,173,0.6,CRD,4 +CMT,1,1,1014,2.5,CRD,12.5 +CMT,1,1,862,4.4,CSH,15 +CMT,1,1,730,1.6,CSH,9.5 +CMT,1,2,544,1.6,CSH,8.5 +CMT,1,1,1950,17.8,CSH,53 +CMT,1,1,627,2.4,CRD,10 +CMT,2,1,2501,18.3,CRD,52 +CMT,1,1,472,1.3,CRD,7 +CMT,1,1,520,2.3,CRD,9.5 +CMT,1,2,364,1.1,CSH,6 +CMT,1,1,1686,5,CRD,21.5 +CMT,1,2,1177,2.4,CSH,14 +CMT,1,2,942,3.3,CSH,13 +CMT,1,1,1127,2.4,CSH,14 +CMT,1,1,480,1.1,CSH,7 +CMT,1,1,785,2.7,CRD,11.5 +CMT,1,1,718,1.4,CSH,9 +CMT,1,1,672,1.3,CRD,8.5 +CMT,1,1,368,0.9,CSH,6.5 +CMT,1,1,1087,2.8,CSH,14 +CMT,1,1,1586,4.7,CRD,20.5 +CMT,1,1,264,0.6,CSH,5 +CMT,1,1,483,1.1,CRD,7 +CMT,1,1,107,0.1,CSH,3 +CMT,1,1,1011,2.4,CSH,13 +CMT,1,1,764,1.9,CRD,10.5 +CMT,1,2,371,1.3,CSH,7 +CMT,1,1,1220,6.2,CSH,21.5 +CMT,1,1,959,5.9,CSH,19.5 +CMT,1,2,945,3,CSH,13.5 +CMT,1,1,1067,6,CRD,21 +CMT,1,1,512,2,CSH,8.5 +CMT,1,1,1064,5.1,CRD,18.5 +CMT,1,2,662,1.2,CSH,8.5 +CMT,1,4,874,1.4,CRD,10.5 +CMT,1,1,847,5.5,CRD,17.5 +CMT,1,2,290,0.9,CRD,5.5 +CMT,1,1,219,0.8,CRD,5 +CMT,1,2,470,1.2,CSH,7.5 +CMT,1,2,882,4.3,CSH,15 +CMT,1,3,858,2.4,CSH,11.5 +CMT,1,1,835,3.1,CRD,13.5 +CMT,2,2,1747,21,CRD,52 +CMT,2,1,3788,18.6,CRD,52 +CMT,1,1,465,0.4,CSH,6.5 +CMT,1,1,130,0.5,CSH,4 +CMT,1,2,784,3.8,CSH,14 +CMT,1,1,318,0.7,CSH,5.5 +CMT,1,1,697,1.1,CSH,8.5 +CMT,1,2,2396,12.2,CRD,40.5 +CMT,1,1,752,4,CRD,14.5 +CMT,1,1,163,0.5,CSH,4 +CMT,1,1,370,1.1,CSH,6 +CMT,1,2,463,1.2,CRD,7 +CMT,1,1,530,2.9,CRD,10.5 +CMT,1,1,1564,3.1,CSH,18 +CMT,1,3,1033,2.5,CSH,13 +CMT,1,1,1609,11.2,CSH,33 +CMT,1,1,189,0.7,CSH,4.5 +CMT,1,2,269,0.8,CRD,5.5 +CMT,1,2,699,1.5,CSH,9 +CMT,1,2,573,1.3,CSH,8 +CMT,1,1,186,0.8,CSH,4.5 +CMT,1,1,776,2.2,CSH,11 +CMT,1,1,520,1.6,CRD,8 +CMT,1,1,353,0.3,CSH,5 +CMT,2,1,2093,16.9,CRD,52 +CMT,1,2,589,5.7,CSH,17 +CMT,1,1,493,1.5,CRD,7.5 +CMT,1,2,991,2.8,CRD,13 +CMT,2,1,1251,7.9,CRD,52 +CMT,1,3,1857,12.8,CSH,38 +CMT,1,1,294,0.8,CRD,5.5 +CMT,1,1,279,1,CSH,5.5 +CMT,1,1,223,0.9,CRD,5 +CMT,1,2,462,1.3,CSH,7.5 +CMT,1,2,643,2.2,CSH,10 +CMT,1,1,1098,5.1,CRD,18 +CMT,1,2,806,6.2,CSH,19.5 +CMT,1,1,571,1.8,CRD,8.5 +CMT,1,1,534,1.8,CRD,9 +CMT,1,1,1261,4.4,CRD,18.5 +CMT,1,3,500,1.2,CRD,7.5 +CMT,1,1,617,1.5,CSH,8.5 +CMT,1,2,269,0.7,CSH,5 +CMT,1,1,808,2.1,CRD,11 +CMT,1,1,681,2.2,CRD,10 +CMT,1,1,413,0.9,CRD,6.5 +CMT,1,1,406,1.6,CRD,7.5 +CMT,1,1,877,1,CRD,10 +CMT,1,2,527,1.7,CRD,8.5 +CMT,1,1,496,1.8,CSH,8.5 +CMT,1,1,792,3.9,CSH,15 +CMT,1,1,786,2.9,CRD,12 +CMT,1,2,2001,4.8,CRD,23.5 +CMT,1,1,510,1.7,CRD,8.5 +CMT,1,1,585,0.9,CRD,7.5 +CMT,1,1,300,1,CRD,6 +CMT,1,2,154,0.6,CSH,4 +CMT,1,1,178,0.8,CSH,5 +CMT,1,1,670,2.3,CRD,10 +CMT,1,1,356,1.1,CRD,6.5 +CMT,1,1,1724,16.5,CRD,46 +CMT,1,1,589,2,CRD,9 +CMT,1,1,447,1.5,CSH,7.5 +CMT,1,2,348,1.2,CSH,6.5 +CMT,1,1,861,2.2,CRD,11 +CMT,1,1,537,0.7,CSH,7 +CMT,1,1,643,1.5,CSH,9 +CMT,1,1,208,0.9,CSH,5 +CMT,1,1,692,1.8,CSH,10 +CMT,1,1,684,1.7,CRD,9.5 +CMT,1,2,1646,12.1,CSH,35.5 +CMT,1,1,987,3.3,CRD,14 +CMT,1,2,905,3.6,CRD,14.5 +CMT,1,1,668,1.9,CSH,10 +CMT,1,1,780,1.6,CSH,10 +CMT,1,2,2833,11.2,CSH,40.5 +CMT,1,1,736,1.3,CRD,9 +CMT,1,1,2134,9.2,CRD,33 +CMT,1,1,1031,3.3,CSH,15.5 +CMT,1,3,679,2.2,CSH,10 +CMT,1,1,500,1.3,CSH,7.5 +CMT,1,4,1274,2.9,CRD,15 +CMT,1,1,580,1,CRD,7.5 +CMT,1,1,878,4.6,CSH,15.5 +CMT,1,2,1182,1.7,CRD,13.5 +CMT,1,1,220,0.4,CRD,4.5 +CMT,1,1,391,1.8,CRD,7.5 +CMT,1,2,613,1.6,CSH,8.5 +CMT,1,1,537,1.8,CSH,8.5 +CMT,1,1,510,1.1,CRD,7 +CMT,1,1,515,1.7,CSH,8.5 +CMT,2,2,2415,17.7,CSH,52 +CMT,1,2,854,2.1,CRD,11 +CMT,1,1,188,0.2,CSH,4 +CMT,1,1,325,1,CRD,6 +CMT,1,1,510,2.4,CRD,9.5 +CMT,1,1,1041,3,CRD,14.5 +CMT,2,1,3099,19.5,CSH,52 +CMT,1,1,863,1.4,CSH,10.5 +CMT,1,1,534,0.9,CSH,7.5 +CMT,1,1,545,1.7,CSH,8.5 +CMT,1,1,775,2.5,CRD,11 +CMT,1,1,398,1.3,CSH,7 +CMT,1,1,1005,5.2,CSH,17.5 +CMT,1,2,733,2,CRD,10 +CMT,1,1,1333,5.2,CRD,20 +CMT,1,1,384,0.8,CRD,6 +CMT,1,1,952,3.4,CSH,15 +CMT,1,1,166,0.3,CSH,4 +CMT,1,1,622,1.5,CRD,8.5 +CMT,1,1,1412,5.3,CRD,20.5 +CMT,1,1,450,1.2,CRD,7 +CMT,1,1,493,2,CRD,8.5 +CMT,1,1,652,2.8,CSH,11 +CMT,1,1,660,2,CRD,9.5 +CMT,1,2,574,3.4,CRD,12 +CMT,1,2,620,3.7,CSH,13.5 +CMT,2,1,4729,17.7,CSH,52 +CMT,1,1,346,1.8,CSH,7.5 +CMT,1,1,599,2.2,CSH,10 +CMT,1,1,118,0.3,CSH,3.5 +CMT,1,1,105,0.5,CSH,3.5 +CMT,1,1,491,1.9,CSH,8.5 +CMT,1,1,1214,3.7,CSH,16 +CMT,1,1,798,2.2,CRD,11 +CMT,1,1,638,0.7,CRD,8 +CMT,1,1,130,0.4,CSH,4 +CMT,1,1,291,0.6,CRD,5 +CMT,1,1,233,1,CSH,5.5 +CMT,1,1,506,0.7,CSH,7 +CMT,1,2,158,0.3,CSH,3.5 +CMT,1,2,1326,9.7,CRD,29.5 +CMT,1,1,720,1.6,CRD,9.5 +CMT,1,1,1008,5.1,CSH,17 +CMT,1,1,195,0.7,CSH,4.5 +CMT,1,2,404,1,CSH,6.5 +CMT,1,1,917,8.5,CRD,24 +CMT,1,2,1228,6,CRD,21.5 +CMT,1,1,685,1.7,CRD,9.5 +CMT,1,2,415,1.3,CSH,7 +CMT,1,2,746,2.4,CSH,11.5 +CMT,1,2,324,1,CSH,6 +CMT,1,1,277,0.7,CSH,5.5 +CMT,1,2,724,2.7,CSH,11.5 +CMT,1,1,129,0.5,CRD,4 +CMT,5,1,111,0,CRD,83 +CMT,1,2,2473,14.6,CRD,45.5 +CMT,1,2,329,0.8,CSH,5.5 +CMT,1,1,1237,1,CRD,13 +CMT,1,1,1902,6.7,CRD,26 +CMT,2,1,2178,16.1,CRD,52 +CMT,1,1,1344,11,CRD,32 +CMT,1,2,512,1.9,CRD,8.5 +CMT,1,1,509,1.1,CRD,7 +CMT,1,1,596,1.5,CRD,8.5 +CMT,1,1,845,3.9,CRD,14 +CMT,1,1,1486,4.3,CSH,19.5 +CMT,1,1,393,0.6,CRD,6 +CMT,1,1,557,0.7,CSH,7 +CMT,1,1,1152,3.9,CSH,15.5 +CMT,1,2,455,1.2,CSH,7 +CMT,1,2,453,1.7,CRD,7.5 +CMT,1,1,1311,3.6,CSH,16 +CMT,1,1,503,2,CRD,8.5 +CMT,1,2,670,1.5,CSH,9 +CMT,1,1,569,1.2,CRD,7.5 +CMT,1,3,1035,2.7,CSH,13 +CMT,1,1,1002,3,CSH,13.5 +CMT,1,1,366,0.6,CSH,5.5 +CMT,1,1,1057,3.6,CRD,14.5 +CMT,1,1,412,1,CSH,6.5 +CMT,1,3,1095,1.6,CSH,12.5 +CMT,1,1,819,2.6,CRD,12 +CMT,1,1,460,0.8,CRD,6.5 +CMT,1,1,588,1.4,CRD,8.5 +CMT,1,1,192,0.7,CSH,4.5 +CMT,1,1,1621,11.4,CRD,34.5 +CMT,1,1,747,1.5,CRD,9.5 +CMT,1,1,1347,2.3,CSH,15.5 +CMT,1,1,1056,2.9,CSH,13.5 +CMT,1,2,288,1.1,CSH,6 +CMT,1,2,1220,3.7,CRD,16 +CMT,1,1,827,1.7,CRD,10.5 +CMT,1,1,364,0.9,CSH,6 +CMT,1,1,428,2.2,CRD,8.5 +CMT,1,1,1150,6.1,CRD,21 +CMT,1,2,1480,5.5,CSH,21.5 +CMT,1,2,764,1.7,CSH,10 +CMT,1,1,923,3.7,CRD,15 +CMT,1,1,235,0.6,CSH,5 +CMT,1,1,1117,3,CSH,14 +CMT,1,2,1288,3.8,CRD,16.5 +CMT,1,1,1027,3.3,CSH,14.5 +CMT,1,1,565,1.6,CRD,8 +CMT,1,1,604,1.4,CRD,8.5 +CMT,1,2,822,2.7,CSH,12 +CMT,1,2,2768,18.9,CSH,54.5 +CMT,1,1,681,2.9,CRD,12 +CMT,1,2,718,2.1,CRD,10.5 +CMT,1,1,743,3,CRD,12 +CMT,1,1,632,3.1,CRD,11.5 +CMT,1,2,293,0.9,CRD,5.5 +CMT,1,4,715,2.2,CSH,10.5 +CMT,1,2,374,0.8,CSH,6 +CMT,1,4,943,6.6,CSH,21 +CMT,2,1,3208,18.8,CRD,52 +CMT,1,2,701,1.9,CSH,10 +CMT,1,1,524,2,CRD,8.5 +CMT,1,1,178,0.6,CRD,4 +CMT,1,1,457,2.4,CRD,9 +CMT,1,2,1252,3.8,CSH,16 +CMT,1,3,327,1,CRD,6 +CMT,1,2,442,1.2,CRD,7 +CMT,1,1,458,1.2,CRD,7 +CMT,1,1,1043,6.8,CSH,22.5 +CMT,1,3,216,0.7,CSH,5 +CMT,1,1,51,0.2,CRD,3 +CMT,1,1,2107,6.5,CRD,27.5 +CMT,1,1,938,4.9,CSH,16.5 +CMT,1,1,2035,5.9,CSH,25.5 +CMT,1,1,1324,4.8,CRD,19 +CMT,1,2,388,1.5,CSH,7 +CMT,1,1,870,3.2,CRD,13 +CMT,1,1,711,1.4,CSH,9.5 +CMT,5,1,1054,4.4,CRD,45 +CMT,1,1,443,1.3,CSH,7 +CMT,1,1,880,6.5,CRD,20.5 +CMT,1,1,670,3.1,CRD,12 +CMT,1,1,220,0.5,CRD,4.5 +CMT,1,2,993,2.3,CSH,12 +CMT,2,1,1904,15.8,CSH,52 +CMT,1,1,445,1,CRD,7.5 +CMT,1,1,153,0.4,CSH,4 +CMT,1,1,558,2.8,CSH,11 +CMT,1,1,923,5.9,CRD,19 +CMT,1,1,1168,3.9,CRD,15.5 +CMT,1,1,2137,2.1,CSH,21.5 +CMT,1,1,220,0.7,CSH,5 +CMT,2,1,2884,19.4,CRD,52 +CMT,1,1,883,2.6,CRD,12 +CMT,1,1,906,2.2,CSH,11.5 +CMT,1,1,1520,9.8,CRD,31.5 +CMT,1,2,804,1.8,CSH,10 +CMT,1,1,727,1.4,CSH,9 +CMT,1,1,611,2.3,CRD,9.5 +CMT,1,1,241,0.6,CRD,5 +CMT,1,1,1410,2.1,CSH,16 +CMT,1,1,1295,4.8,CRD,18 +CMT,1,1,1270,11.4,CRD,31.5 +CMT,1,1,1997,14.6,CSH,41 +CMT,1,1,266,0.4,CSH,5 +CMT,1,2,1184,10.4,CRD,30.5 +CMT,1,2,502,1.9,CSH,8.5 +CMT,1,1,622,2,CSH,9.5 +CMT,1,3,109,0.4,CRD,3.5 +CMT,1,1,392,0.7,CSH,6.5 +CMT,1,2,198,0.4,CSH,4 +CMT,1,1,677,1.6,CSH,9.5 +CMT,1,1,519,0.8,CSH,7.5 +CMT,1,1,2153,5.4,CRD,24.5 +CMT,1,1,599,1.7,CRD,9 +CMT,1,1,263,0.8,CSH,5 +CMT,1,1,219,0.7,CRD,5 +CMT,1,1,299,0.9,CRD,5.5 +CMT,1,2,913,2.3,CSH,11.5 +CMT,1,1,1570,7.8,CRD,26.5 +CMT,1,1,1405,2.2,CSH,15 +CMT,1,1,1177,2.2,CRD,13.5 +CMT,1,1,527,0.9,CRD,7 +CMT,1,4,621,1.7,CSH,9 +CMT,1,2,444,1.7,CSH,8 +CMT,1,1,260,1.2,CRD,6 +CMT,1,1,471,1.3,CRD,7.5 +CMT,1,1,1570,11,CSH,33.5 +CMT,1,1,314,0.9,CRD,5.5 +CMT,1,1,520,1.2,CSH,7.5 +CMT,1,1,594,1.7,CSH,9 +CMT,1,1,293,2.1,CSH,8 +CMT,1,1,1614,10.1,CSH,30.5 +CMT,1,1,481,1,CSH,7 +CMT,1,1,836,2.8,CRD,12 +CMT,1,1,353,1.7,CSH,7.5 +CMT,1,1,1310,4.6,CRD,17.5 +CMT,1,1,1030,1.4,CRD,12 +CMT,1,2,89,0.4,CSH,3.5 +CMT,1,1,1847,3.2,CRD,20 +CMT,1,1,421,1.1,CSH,6.5 +CMT,1,1,382,1,CRD,6.5 +CMT,1,2,374,0.7,CSH,6 +CMT,1,4,1201,3.8,CSH,16.5 +CMT,1,2,469,3,CSH,10.5 +CMT,1,1,466,1.1,CRD,7 +CMT,1,1,728,2.7,CRD,11.5 +CMT,1,1,197,0.5,CSH,4.5 +CMT,1,1,182,0.6,CSH,4.5 +CMT,1,2,356,0.7,CRD,6 +CMT,1,1,631,3.6,CRD,12 +CMT,1,1,626,2.6,CSH,10.5 +CMT,1,1,19,0.1,CSH,2.5 +CMT,1,3,914,1.1,CSH,10.5 +CMT,1,1,641,1.8,CSH,9 +CMT,1,1,507,0.8,CRD,7 +CMT,1,2,1621,3.4,CSH,19 +CMT,1,1,445,1.3,CRD,7.5 +CMT,1,1,342,1.1,CRD,6 +CMT,1,1,1363,10.4,CRD,31 +CMT,1,1,244,0.6,CSH,5 +CMT,1,2,838,1.7,CRD,10.5 +CMT,1,1,304,1,CRD,6 +CMT,1,1,404,0.9,CRD,6.5 +CMT,1,1,936,2.8,CRD,13 +CMT,1,1,344,1.1,CRD,6 +CMT,1,4,628,2.7,CSH,11 +CMT,1,4,770,3.8,CSH,14 +CMT,1,2,451,1.5,CRD,7.5 +CMT,1,1,473,1.3,CSH,7.5 +CMT,1,1,445,0.6,CSH,6.5 +CMT,1,1,655,1.7,CRD,9 +CMT,1,1,209,0.3,CRD,4 +CMT,1,1,610,1.2,CSH,8 +CMT,1,1,285,0.5,CRD,5 +CMT,1,1,148,0.5,CRD,4 +CMT,1,1,302,1.6,CRD,7 +CMT,1,1,622,3.2,CRD,12 +CMT,1,1,184,0.8,CRD,4.5 +CMT,1,1,1027,1.5,CRD,12 +CMT,1,2,384,1,CSH,6.5 +CMT,1,1,661,1.3,CSH,9 +CMT,1,1,112,0.6,CRD,4 +CMT,1,2,475,1.1,CSH,7 +CMT,1,2,418,2,CRD,8 +CMT,1,2,768,2,CRD,10 +CMT,1,2,949,5.4,CSH,18.5 +CMT,1,3,1961,8,CRD,29.5 +CMT,2,1,1730,16.4,CRD,52 +CMT,1,1,668,4.1,CRD,14 +CMT,1,1,705,2.2,CRD,10 +CMT,1,1,406,0.7,CRD,6 +CMT,1,3,756,2.4,CSH,11 +CMT,1,1,355,1.2,CSH,6 +CMT,1,1,479,1,CRD,7 +CMT,1,1,1477,6,CSH,22 +CMT,1,2,700,1.4,CSH,9 +CMT,1,1,752,1.6,CRD,9.5 +CMT,1,1,732,2.1,CRD,10 +CMT,1,1,314,0.8,CRD,5.5 +CMT,1,1,1397,10.1,CSH,30.5 +CMT,1,2,937,1.7,CSH,11.5 +CMT,1,2,154,0.7,CSH,4.5 +CMT,1,1,217,1,CSH,5.5 +CMT,1,3,1395,5.4,CRD,20.5 +CMT,1,1,711,3.7,CRD,13 +CMT,1,1,586,1.2,CRD,8 +CMT,1,1,660,3.5,CRD,13 +CMT,1,1,579,2.2,CRD,9.5 +CMT,1,1,431,1.5,CSH,7 +CMT,1,1,686,1.4,CSH,9 +CMT,1,1,261,0.9,CSH,5 +CMT,1,1,288,0.5,CSH,5 +CMT,1,1,509,1.9,CRD,8.5 +CMT,1,1,1107,1,CRD,11.5 +CMT,1,1,230,0.5,CSH,4.5 +CMT,1,1,256,0.9,CRD,5.5 +CMT,1,1,225,0.9,CRD,5 +CMT,1,4,535,1,CRD,7.5 +CMT,1,2,500,1.3,CSH,7.5 +CMT,1,1,1038,3.3,CSH,14 +CMT,1,1,166,0.7,CSH,4.5 +CMT,1,1,256,0.7,CRD,5 +CMT,1,1,185,0.4,CRD,4 +CMT,1,1,235,0.6,CSH,4.5 +CMT,1,1,376,1,CSH,6.5 +CMT,1,1,63,0.3,CSH,3 +CMT,1,2,161,0.7,CSH,4.5 +CMT,1,2,702,2.7,CSH,11 +CMT,1,1,319,1.4,CRD,7 +CMT,1,1,331,0.7,CSH,5.5 +CMT,1,1,333,1.1,CRD,6.5 +CMT,1,2,898,2.5,CRD,12 +CMT,1,2,1508,6.9,CSH,23.5 +CMT,1,2,1417,4.6,CSH,20 +CMT,1,2,502,1.9,CRD,8.5 +CMT,1,1,877,4.2,CRD,15 +CMT,1,1,513,1,CRD,7.5 +CMT,1,1,551,0.9,CRD,7.5 +CMT,1,1,859,5.2,CRD,17.5 +CMT,1,1,286,1.2,CRD,6 +CMT,1,1,540,3.7,CSH,12.5 +CMT,1,1,206,0.8,CSH,5 +CMT,1,1,884,8.3,CRD,24 +CMT,1,1,1006,3.3,CRD,14 +CMT,1,2,599,2.4,CRD,10 +CMT,1,1,400,1.1,CRD,6.5 +CMT,1,2,588,1.3,CSH,8.5 +CMT,1,1,274,1.6,CRD,6.5 +CMT,1,2,1761,4.5,CSH,21 +CMT,1,1,509,2.2,CRD,9 +CMT,1,2,265,0.5,CRD,5 +CMT,1,1,388,1.9,CRD,8 +CMT,1,1,96,0.2,CSH,3 +CMT,1,2,575,1.4,CSH,8.5 +CMT,1,1,256,1.4,CSH,6.5 +CMT,1,1,2054,6.4,CSH,25.5 +CMT,1,3,738,2.4,CRD,10.5 +CMT,1,1,344,0.5,CRD,5 +CMT,1,2,1124,2.3,CSH,12.5 +CMT,1,1,129,0.7,CSH,4.5 +CMT,1,1,121,0.6,CRD,4 +CMT,1,2,912,3.5,CRD,14 +CMT,1,1,696,2.9,CRD,12 +CMT,1,4,693,3.2,CSH,13 +CMT,1,2,268,1.6,CSH,6.5 +CMT,1,1,528,2.1,CRD,9 +CMT,1,1,524,1.9,CSH,9 +CMT,1,1,575,1.7,CRD,8.5 +CMT,1,1,513,3.1,CSH,10.5 +CMT,1,3,428,1.7,CSH,8 +CMT,1,1,111,0.5,CSH,3.5 +CMT,1,2,849,6.2,CRD,20 +CMT,1,1,188,1,CRD,5.5 +CMT,1,2,464,1.7,CSH,7.5 +CMT,1,4,570,3.5,CRD,12 +CMT,1,4,424,1.8,CSH,8 +CMT,1,1,722,3.4,CRD,12.5 +CMT,1,1,955,4.8,CSH,16 +CMT,1,2,595,2.1,CSH,9.5 +CMT,1,1,478,1.7,CRD,8 +CMT,1,1,336,0.7,CSH,5.5 +CMT,1,2,637,3,CSH,11 +CMT,1,2,1038,2.2,CRD,12.5 +CMT,1,1,147,0.3,CSH,4 +CMT,1,2,1486,5.6,CSH,21.5 +CMT,1,1,307,1.1,CRD,6 +CMT,1,1,324,0.8,CRD,5.5 +CMT,1,1,865,1,CRD,10 +CMT,1,1,702,1.4,CRD,8.5 +CMT,1,1,1237,2.8,CRD,15 +CMT,1,2,650,1.4,CSH,8.5 +CMT,1,1,567,3.2,CSH,12 +CMT,1,1,473,2.8,CRD,10.5 +CMT,1,2,956,6.3,CRD,21 +CMT,1,1,115,0.7,CRD,4 +CMT,1,1,809,3.2,CSH,12.5 +CMT,1,2,323,1.5,CRD,7 +CMT,1,2,479,1.9,CSH,8.5 +CMT,1,2,264,1.2,CSH,6 +CMT,1,1,332,1.3,CRD,6.5 +CMT,1,2,176,0.4,CRD,4 +CMT,1,1,973,4,CRD,15.5 +CMT,1,1,1155,3.6,CRD,15 +CMT,1,1,1888,12.3,CRD,37 +CMT,1,1,616,3.2,CSH,11.5 +CMT,1,3,479,2.3,CSH,9 +CMT,1,2,306,1,CSH,6 +CMT,1,1,489,0.7,CSH,6.5 +CMT,1,4,85,0.5,CSH,3.5 +CMT,1,1,285,1.2,CRD,6.5 +CMT,1,1,358,1.8,CRD,7.5 +CMT,1,1,225,0.8,CSH,5 +CMT,1,2,86,0.5,CSH,3.5 +CMT,1,1,1489,5.7,CRD,21.5 +CMT,1,1,912,3.8,CRD,15 +CMT,1,1,511,1.7,CRD,8.5 +CMT,1,1,257,0.7,CSH,5 +CMT,1,1,228,0.8,CRD,5 +CMT,1,2,566,2.5,CSH,10 +CMT,1,3,646,1.5,CRD,9 +CMT,1,3,250,0.4,CSH,4.5 +CMT,1,3,1026,5.8,CRD,19.5 +CMT,1,1,1083,6.9,CRD,22 +CMT,1,1,665,2.2,CSH,10 +CMT,1,1,537,1.8,CSH,8.5 +CMT,1,2,526,1.8,CSH,8.5 +CMT,1,1,750,2.7,CRD,11.5 +CMT,1,2,659,2.2,CRD,10.5 +CMT,1,1,397,0.9,CRD,6 +CMT,1,1,566,2.2,CRD,9.5 +CMT,1,2,122,0.2,CSH,3.5 +CMT,1,4,196,0.5,CSH,4.5 +CMT,1,1,1181,6,CRD,20 +CMT,1,1,512,1.9,CRD,8.5 +CMT,1,3,274,1.2,CRD,6 +CMT,1,2,517,2.5,CSH,9.5 +CMT,1,1,146,0.8,CSH,4.5 +CMT,1,1,243,0.9,CSH,5.5 +CMT,1,1,465,1.3,CRD,7.5 +CMT,1,2,441,2.8,CSH,9.5 +CMT,1,2,520,1.3,CRD,8 +CMT,1,2,132,0.8,CRD,4.5 +CMT,1,1,152,0.5,CSH,4 +CMT,1,2,633,2.4,CSH,10 +CMT,1,2,545,2.8,CRD,10.5 +CMT,1,1,692,1.7,CSH,9.5 +CMT,1,3,514,1.7,CRD,8.5 +CMT,1,2,672,2.6,CRD,11 +CMT,1,2,859,3.7,CRD,13.5 +CMT,1,1,797,2.5,CRD,11.5 +CMT,1,2,250,0.8,CRD,5.5 +CMT,1,1,221,0.8,CSH,5 +CMT,1,2,817,1.2,CSH,9.5 +CMT,1,1,896,2.9,CRD,13 +CMT,1,1,207,0.5,CRD,4.5 +CMT,1,1,299,1,CRD,6 +CMT,1,1,685,2.2,CRD,10 +CMT,1,1,460,3,CRD,11 +CMT,1,2,525,1.5,CRD,8 +CMT,1,1,1315,6.2,CRD,21.5 +CMT,1,1,385,0.9,CRD,6 +CMT,1,1,1346,9.8,CRD,29.5 +CMT,1,1,363,0.8,CSH,5.5 +CMT,1,1,621,2.1,CRD,9.5 +CMT,1,1,923,3.1,CRD,13.5 +CMT,1,1,445,1.8,CRD,8 +CMT,1,1,1040,11.2,CRD,31 +CMT,1,1,351,1.1,CSH,6.5 +CMT,1,3,260,1.1,CRD,5.5 +CMT,1,1,1266,7.6,CSH,23.5 +CMT,1,2,1994,10.5,CRD,35 +CMT,1,2,838,3.6,CSH,14 +CMT,1,1,664,1.3,CSH,8.5 +CMT,1,1,1307,6,CSH,21.5 +CMT,1,1,984,1.7,CSH,11.5 +CMT,1,1,548,1.3,CSH,8 +CMT,1,1,566,1.1,CRD,8 +CMT,1,1,453,1.5,CRD,7.5 +CMT,1,2,938,2.7,CSH,12.5 +CMT,1,2,251,0.4,CRD,4.5 +CMT,1,1,500,1.2,CSH,7.5 +CMT,1,2,214,0.7,CSH,4.5 +CMT,1,1,140,0.3,CSH,3.5 +CMT,1,1,389,1.3,CRD,6.5 +CMT,1,1,145,0.6,CSH,4 +CMT,1,1,216,0.5,CSH,4.5 +CMT,1,2,385,1.1,CSH,6.5 +CMT,1,1,496,2.7,CRD,10 +CMT,1,1,515,2.3,CSH,10 +CMT,1,1,246,1,CRD,5.5 +CMT,1,2,549,1.8,CRD,8.5 +CMT,1,1,933,3.4,CSH,14.5 +CMT,1,3,664,5.6,CRD,17 +CMT,1,1,253,0.7,CSH,5 +CMT,1,1,1034,3,CSH,14 +CMT,1,3,429,2.1,CSH,8.5 +CMT,1,2,629,2.7,CRD,11 +CMT,1,1,364,1.4,CRD,7 +CMT,1,1,766,3.6,CRD,14 +CMT,1,1,685,2,CRD,10 +CMT,1,3,257,1.6,CSH,7 +CMT,1,1,193,1,CSH,5 +CMT,1,1,182,0.9,CSH,4.5 +CMT,1,1,1279,5.7,CSH,19.5 +CMT,1,2,675,1.7,CSH,9.5 +CMT,1,2,493,0.9,CRD,7 +CMT,1,2,559,1.2,CRD,8 +CMT,1,2,546,1.8,CSH,8.5 +CMT,1,3,1036,3.4,CSH,14 +CMT,1,1,818,3.1,CRD,12.5 +CMT,1,2,1494,10,CRD,31 +CMT,1,1,663,2.4,CSH,10 +CMT,1,2,433,1.4,CSH,7.5 +CMT,1,2,489,0.7,CRD,7 +CMT,1,2,270,1.1,CRD,6 +CMT,1,3,381,1.5,CRD,7 +CMT,1,4,586,3,CRD,11 +CMT,1,2,1694,5.7,CRD,23 +CMT,1,1,245,0.9,CRD,5 +CMT,1,1,852,1.8,CRD,10.5 +CMT,1,1,512,1.5,CRD,7.5 +CMT,1,1,612,1.9,CSH,9.5 +CMT,1,2,1121,2.8,CRD,13.5 +CMT,1,1,245,0.5,CSH,4.5 +CMT,1,1,378,0.8,CRD,6 +CMT,1,3,344,0.6,CSH,5.5 +CMT,1,1,448,0.8,CRD,6.5 +CMT,1,1,1405,3.2,CSH,17 +CMT,1,2,959,2.2,CSH,12 +CMT,1,1,934,1.7,CRD,11 +CMT,1,2,243,0.9,CRD,5 +CMT,1,1,448,1,CSH,7 +CMT,2,1,2001,19.6,CRD,52 +CMT,1,1,820,3.1,CSH,12.5 +CMT,1,1,1158,3.8,CRD,16 +CMT,1,1,977,4.2,CRD,16.5 +CMT,1,1,385,1.3,CSH,7 +CMT,1,1,685,2.8,CRD,11 +CMT,1,2,240,1,CRD,5 +CMT,1,2,891,3.3,CRD,13 +CMT,1,2,1175,4,CRD,16 +CMT,1,2,255,1.2,CRD,6 +CMT,1,2,732,2.4,CRD,11 +CMT,1,3,288,1.7,CSH,7 +CMT,1,2,666,3.7,CRD,12.5 +CMT,1,1,171,0.6,CRD,4.5 +CMT,1,1,479,2.1,CRD,9 +CMT,1,1,240,0.7,CRD,5 +CMT,1,2,671,1.4,CRD,9 +CMT,1,1,373,1.1,CSH,6.5 +CMT,1,2,392,2.2,CRD,8.5 +CMT,1,1,107,0.5,CRD,4 +CMT,1,2,340,0.9,CRD,6 +CMT,1,4,675,1.3,CRD,9 +CMT,1,1,285,0.7,CRD,5.5 +CMT,1,1,211,1,CRD,5 +CMT,1,1,149,1,CSH,5 +CMT,1,2,713,4.4,CRD,15 +CMT,1,1,254,1.6,CSH,6.5 +CMT,1,1,932,3.9,CSH,15 +CMT,1,2,502,1.2,CRD,8 +CMT,1,1,283,1.2,CRD,6 +CMT,1,4,1470,13.3,CSH,37.5 +CMT,1,1,291,0.7,CSH,5.5 +CMT,1,1,810,2.7,CSH,12 +CMT,1,1,1241,10.2,CRD,29.5 +CMT,5,2,16,2.7,CRD,70 +CMT,1,1,598,1.2,CRD,8 +CMT,1,2,215,0.9,CSH,5 +CMT,1,1,325,1.2,CRD,6.5 +CMT,1,1,313,1.4,CRD,6.5 +CMT,1,2,719,3.9,CRD,14 +CMT,1,2,624,1.9,CSH,9 +CMT,1,1,357,0.9,CRD,6 +CMT,1,1,321,0.8,CRD,6 +CMT,1,1,340,1.5,CSH,7 +CMT,1,1,980,5.2,CRD,18.5 +CMT,1,1,1049,5.4,CRD,18.5 +CMT,1,1,237,1.1,CSH,5.5 +CMT,1,1,206,0.6,CSH,4.5 +CMT,1,2,441,1.1,CRD,7 +CMT,1,2,495,2,CRD,8.5 +CMT,1,1,457,1.7,CSH,8 +CMT,1,4,400,0.8,CSH,6 +CMT,1,2,2022,12.1,CRD,37.5 +CMT,1,1,320,1.1,CRD,6 +CMT,1,1,260,0.9,CRD,5.5 +CMT,1,1,206,0.8,CSH,5 +CMT,1,1,182,0.5,CSH,4 +CMT,1,1,587,1,CSH,8 +CMT,1,1,1172,7.5,CRD,23.5 +CMT,1,1,236,1.1,CRD,5.5 +CMT,1,4,312,0.9,CSH,5.5 +CMT,1,1,311,0.9,CSH,6 +CMT,1,1,879,4.8,CSH,16 +CMT,1,1,158,0.5,CSH,4 +CMT,1,1,393,1.3,CRD,7 +CMT,1,2,416,1.3,CRD,7 +CMT,1,3,407,1,CSH,6.5 +CMT,1,1,454,1.9,CRD,8 +CMT,1,1,906,4.1,CSH,14.5 +CMT,1,2,547,3.1,CRD,11 +CMT,1,1,808,3.7,CRD,13 +CMT,1,2,310,1.4,CSH,7 +CMT,1,1,648,3.3,CSH,12 +CMT,1,1,345,0.9,CRD,6 +CMT,1,3,831,1.5,CSH,10.5 +CMT,1,1,967,8.7,CRD,26 +CMT,1,1,354,1.7,CSH,7.5 +CMT,1,3,354,1.7,CRD,7.5 +CMT,1,2,165,0.7,CRD,4.5 +CMT,1,1,356,1.1,CRD,6 +CMT,1,1,126,0.8,CSH,4.5 +CMT,1,2,669,2.1,CSH,10 +CMT,1,1,1744,9,CSH,30.5 +CMT,1,1,366,1.5,CSH,6.5 +CMT,1,1,292,1.4,CRD,6.5 +CMT,1,3,245,0.5,CRD,4.5 +CMT,1,2,203,0.7,CRD,4.5 +CMT,1,1,284,1,CRD,5.5 +CMT,1,1,466,1.8,CRD,8 +CMT,1,1,249,0.9,CSH,5 +CMT,1,2,906,4.8,CRD,17 +CMT,1,2,103,0.6,CSH,4 +CMT,1,1,1310,6.3,CRD,22 +CMT,1,1,288,1.7,CSH,6.5 +CMT,1,1,943,2.6,CRD,12.5 +CMT,1,1,1613,5,CSH,21 +CMT,1,3,482,1.7,CSH,8 +CMT,1,1,388,1.1,CSH,6.5 +CMT,1,1,621,1.3,CSH,8.5 +CMT,1,1,294,1.9,CSH,7 +CMT,1,1,1761,7,CRD,25.5 +CMT,1,1,1195,2.2,DIS,13.5 +CMT,1,1,749,2.5,CRD,11 +CMT,1,2,685,2.4,CSH,11 +CMT,1,2,214,1,CSH,5 +CMT,1,3,367,1.5,CRD,7 +CMT,1,2,108,0.2,CSH,3.5 +CMT,1,2,693,2.3,CRD,10.5 +CMT,1,2,692,2.7,CRD,11.5 +CMT,1,1,510,2.2,CRD,9 +CMT,1,2,463,0.9,CSH,6.5 +CMT,1,1,372,1.7,CRD,7.5 +CMT,1,1,404,1.1,CRD,6.5 +CMT,1,1,606,1.9,CRD,9.5 +CMT,1,2,74,0.2,CSH,3 +CMT,1,3,1276,3.4,CRD,16.5 +CMT,1,1,324,2.5,CRD,9 +CMT,1,1,747,2.7,CRD,11.5 +CMT,1,1,1251,6.7,CRD,21.5 +CMT,1,1,1053,3,CRD,14.5 +CMT,1,3,172,0.7,CSH,4.5 +CMT,1,2,612,2.2,CRD,10 +CMT,1,1,221,0.5,CRD,4.5 +CMT,1,1,815,4,CRD,14 +CMT,1,1,766,2.4,CSH,11 +CMT,1,1,947,6.1,CRD,20 +CMT,1,1,197,0.7,CSH,4.5 +CMT,1,2,505,5.5,CRD,16.5 +CMT,1,2,452,2.7,CSH,9.5 +CMT,1,1,463,2,CRD,8.5 +CMT,1,1,418,2.3,CSH,9.5 +CMT,1,1,561,2,CRD,9 +CMT,1,1,70,0.4,CSH,3.5 +CMT,1,2,553,2.8,CRD,11 +CMT,1,1,1183,6.6,CRD,21.5 +CMT,1,1,442,1.7,CRD,8 +CMT,1,1,648,1.9,CSH,9.5 +CMT,1,1,261,1.5,CRD,6.5 +CMT,1,2,728,3,CSH,11.5 +CMT,1,1,212,1.8,CRD,7 +CMT,1,3,321,1.1,CSH,6 +CMT,1,1,578,1.8,CRD,9 +CMT,1,1,485,1.2,CRD,7.5 +CMT,1,1,641,1.9,CRD,9.5 +CMT,1,1,697,1.9,CRD,9.5 +CMT,1,2,616,1.4,CRD,8.5 +CMT,1,1,2052,10.4,CRD,33.5 +CMT,1,4,591,2.2,CRD,9.5 +CMT,1,4,970,3.9,CRD,15 +CMT,1,4,252,1,CSH,5.5 +CMT,1,1,1456,10.5,CSH,31 +CMT,1,1,1188,10.5,CRD,30 +CMT,1,2,363,1.7,CSH,7.5 +CMT,1,2,573,3.1,CRD,11.5 +CMT,1,4,165,0.6,CSH,4 +CMT,1,1,610,0.8,CSH,8 +CMT,1,2,576,2.7,CSH,10.5 +CMT,1,2,709,2.4,CRD,10.5 +CMT,1,2,480,1.5,CRD,8 +CMT,1,1,225,0.9,CSH,5 +CMT,1,2,931,4.6,CSH,16 +CMT,1,1,629,1.9,CRD,9 +CMT,1,4,437,1.7,CRD,8 +CMT,1,3,907,3.9,CSH,14.5 +CMT,1,1,448,1.5,CRD,7.5 +CMT,1,1,685,1.8,CSH,9.5 +CMT,1,1,979,3.8,CRD,15 +CMT,1,2,163,0.5,CRD,4 +CMT,1,2,459,1.8,CSH,8 +CMT,1,4,535,2.3,CSH,9 +CMT,1,2,561,1.8,CRD,9 +CMT,1,1,260,1,CSH,5.5 +CMT,1,1,209,0.8,CRD,5 +CMT,1,1,165,0.8,CSH,4.5 +CMT,1,1,749,2.5,CRD,11 +CMT,1,2,421,0.9,CSH,6.5 +CMT,1,1,479,1.8,CSH,8 +CMT,1,1,688,2.9,CSH,11 +CMT,1,1,482,2.1,CRD,9 +CMT,1,3,379,1.4,CSH,7 +CMT,1,1,903,4.5,CRD,15.5 +CMT,1,2,423,1.1,CSH,6.5 +CMT,1,1,1202,2.5,CRD,13 +CMT,1,1,245,1.3,CRD,6 +CMT,1,2,879,0.5,CSH,10 +CMT,1,1,648,1.5,CRD,9 +CMT,1,2,366,2,CSH,8 +CMT,1,2,547,2.3,CSH,9.5 +CMT,1,1,639,2.5,CRD,11 +CMT,1,1,252,0.7,CSH,5 +CMT,1,2,522,2.1,CSH,9 +CMT,1,2,775,2.2,CSH,11 +CMT,1,1,317,1.1,CSH,6.5 +CMT,1,2,662,3.4,CSH,12 +CMT,1,1,1070,6.3,CSH,20 +CMT,1,1,263,0.9,CSH,5.5 +CMT,1,1,801,2.9,CSH,11.5 +CMT,1,1,632,2.4,CRD,10.5 +CMT,1,2,405,1.7,CRD,7.5 +CMT,1,3,332,2,CRD,8 +CMT,1,1,94,0.6,CRD,4 +CMT,1,4,687,1.6,CRD,9.5 +CMT,1,1,700,4.3,CRD,14.5 +CMT,1,1,645,4,CRD,13.5 +CMT,1,2,474,1.5,CRD,7.5 +CMT,1,1,522,1.9,CRD,9 +CMT,5,1,15,0,CRD,5.5 +CMT,1,1,1498,7.5,CRD,24 +CMT,1,1,155,0.6,CSH,4.5 +CMT,1,1,258,0.9,CRD,5.5 +CMT,1,2,1271,7.3,CSH,23 +CMT,1,3,1118,3.2,CSH,14 +CMT,1,2,544,4.1,CRD,13.5 +CMT,1,2,384,1,CSH,6 +CMT,1,1,682,2.3,CRD,10 +CMT,1,1,294,1.2,CSH,6 +CMT,1,1,969,7.8,CRD,23.5 +CMT,1,1,401,1.8,CRD,8 +CMT,1,1,971,4.1,CRD,15 +CMT,1,1,533,1.3,CRD,7.5 +CMT,1,2,502,1.7,CRD,8.5 +CMT,1,4,814,3.5,CRD,13.5 +CMT,1,2,1883,9.1,CRD,29.5 +CMT,1,1,484,2.5,CRD,9 +CMT,1,1,223,1.1,CRD,5.5 +CMT,1,1,928,3.4,CRD,14 +CMT,1,2,417,1.4,CRD,7.5 +CMT,1,1,269,1.4,CSH,6.5 +CMT,1,3,907,3.7,CRD,14 +CMT,1,1,724,3.5,CRD,12.5 +CMT,1,1,61,0.1,CSH,3 +CMT,1,1,492,1.9,CSH,9 +CMT,1,2,492,0.5,CSH,6.5 +CMT,1,1,212,0.8,CSH,5 +CMT,1,1,904,4.7,CSH,16 +CMT,1,1,353,1,CRD,6 +CMT,1,2,209,1.4,CSH,6 +CMT,1,1,72,0.4,CSH,3.5 +CMT,1,1,251,1.3,CRD,6 +CMT,1,4,611,2.1,CSH,9.5 +CMT,1,3,1665,6.2,CSH,23.5 +CMT,1,1,607,4.2,CRD,13.5 +CMT,1,2,1231,11.1,CRD,31.5 +CMT,1,1,475,2.4,CSH,9 +CMT,1,2,608,1.6,CRD,8.5 +CMT,1,2,702,3.2,CRD,11.5 +CMT,1,1,283,1,CSH,6 +CMT,1,2,232,0.7,CRD,5 +CMT,1,1,154,0.6,CSH,4.5 +CMT,1,3,375,1.6,CRD,7.5 +CMT,1,1,774,1.4,CRD,10 +CMT,1,1,1048,3.1,CSH,14 +CMT,1,1,245,0.7,CRD,5 +CMT,1,1,632,5.1,CSH,16 +CMT,1,1,377,2.2,CRD,9 +CMT,1,2,512,0.9,CRD,7 +CMT,1,1,597,2.1,CRD,9.5 +CMT,1,4,970,2.2,CSH,12 +CMT,1,1,157,1,CRD,5 +CMT,1,1,683,3.3,CRD,13 +CMT,1,2,316,1.5,CSH,7 +CMT,1,1,919,4,CRD,15 +CMT,2,1,1694,19.4,CSH,52 +CMT,2,1,1344,18.5,CSH,52 +CMT,1,1,399,1.8,CSH,8 +CMT,1,1,585,3.4,CSH,12.5 +CMT,1,2,229,1.1,CSH,5.5 +CMT,1,1,402,2,CSH,8 +CMT,1,2,274,1,CRD,5.5 +CMT,1,4,291,0.9,CRD,5.5 +CMT,1,1,934,2.7,CRD,12.5 +CMT,1,1,993,9,CRD,26.5 +CMT,1,2,1181,1.7,CSH,13 +CMT,1,1,1126,2.4,CRD,13.5 +CMT,1,1,310,0.8,CSH,5.5 +CMT,1,1,353,0.7,CRD,5.5 +CMT,1,1,257,0.7,CRD,5 +CMT,1,1,624,1.9,CRD,9.5 +CMT,1,2,1048,2.4,CSH,13.5 +CMT,1,2,1084,5.6,CRD,18.5 +CMT,1,2,286,0.7,CRD,5.5 +CMT,1,1,342,0.8,CRD,5.5 +CMT,1,1,987,2.2,CRD,12.5 +CMT,1,2,216,0.6,CSH,5 +CMT,1,2,855,3.1,CRD,13 +CMT,1,2,539,2,CSH,9 +CMT,1,1,319,0.5,CRD,5 +CMT,1,1,242,0.9,CRD,5 +CMT,1,1,495,1.3,CSH,7.5 +CMT,1,1,490,1.9,CSH,9 +CMT,1,1,1001,5.6,CSH,18.5 +CMT,1,1,368,1.4,CRD,7 +CMT,1,2,199,0.9,CSH,5 +CMT,1,1,171,0.6,CSH,4.5 +CMT,1,1,376,1.4,CSH,7 +CMT,1,1,464,1.8,CRD,8.5 +CMT,1,1,418,2.7,CRD,9.5 +CMT,1,1,136,0.6,CSH,4 +CMT,1,2,412,1.1,CSH,6.5 +CMT,1,1,442,1.5,CSH,7.5 +CMT,1,2,480,1.9,CRD,8.5 +CMT,1,1,951,7.2,CRD,22 +CMT,1,2,541,1.8,CRD,8.5 +CMT,1,3,713,3.1,CRD,12 +CMT,1,2,442,1.9,CRD,8.5 +CMT,1,1,299,1,CSH,6 +CMT,1,1,449,1.3,CSH,7.5 +CMT,1,2,97,0.3,CRD,3 +CMT,1,1,494,2.5,CSH,9.5 +CMT,1,2,167,0.7,CRD,4.5 +CMT,1,2,1045,5.8,CRD,19 +CMT,1,4,1489,5.4,CSH,21 +CMT,1,1,389,1.5,CRD,7 +CMT,1,1,761,4.4,CSH,15 +CMT,1,1,277,1.2,CRD,6 +CMT,1,1,931,4.4,CRD,16.5 +CMT,1,2,508,1.5,CSH,8 +CMT,1,2,1170,6.4,CSH,21 +CMT,1,1,294,2,CSH,7.5 +CMT,1,2,502,1.6,CSH,8 +CMT,1,1,572,3.3,CSH,12 +CMT,1,1,614,1.4,CSH,8.5 +CMT,1,1,583,1.6,CRD,8 +CMT,1,1,758,2.5,CSH,11 +CMT,1,1,533,1.5,CSH,8.5 +CMT,1,1,648,2.2,CRD,9.5 +CMT,1,1,610,1.6,CRD,9.5 +CMT,1,1,692,2.9,CRD,11.5 +CMT,1,1,720,1.1,CRD,9 +CMT,1,2,759,2.6,CSH,11 +CMT,1,1,771,3.2,CRD,12 +CMT,3,1,1774,16.2,CSH,62.5 +CMT,1,1,445,2.9,CSH,10.5 +CMT,1,3,822,3.1,CSH,12.5 +CMT,1,1,620,4.1,CSH,14 +CMT,1,1,358,1.3,CRD,6.5 +CMT,1,1,282,1.1,CRD,6 +CMT,1,2,369,1.1,CSH,6 +CMT,1,2,614,2.9,CSH,11.5 +CMT,1,1,651,2,CSH,10 +CMT,1,1,757,1.7,CSH,10 +CMT,1,1,1729,4.1,CRD,20 +CMT,1,1,539,1.7,CSH,8.5 +CMT,1,2,1500,3.6,CRD,18 +CMT,1,2,601,3,CRD,10.5 +CMT,1,2,421,4.8,CSH,14.5 +CMT,1,1,243,1.3,CSH,6 +CMT,1,1,468,1.6,CRD,8 +CMT,1,2,270,0.8,CRD,5.5 +CMT,1,1,423,2.1,CRD,8.5 +CMT,1,1,354,1.4,CRD,7 +CMT,1,1,2172,10,CSH,33 +CMT,1,1,746,4.1,CRD,14.5 +CMT,1,1,216,0.8,CSH,5 +CMT,1,1,485,1.8,CRD,8 +CMT,1,4,903,4.3,CSH,16 +CMT,1,1,861,5.4,CSH,17 +CMT,1,1,521,2.7,CRD,10 +CMT,1,2,748,3.5,CSH,12.5 +CMT,1,1,381,0.9,CRD,6 +CMT,1,1,166,0.5,CSH,4 +CMT,1,1,386,0.6,CSH,6 +CMT,1,1,408,1.3,CSH,7.5 +CMT,1,1,647,2.6,CRD,10.5 +CMT,1,2,1054,9,CRD,26.5 +CMT,1,1,703,5.5,CRD,18 +CMT,1,1,137,0.5,CSH,4 +CMT,1,2,637,2.2,CRD,10.5 +CMT,1,1,136,0.5,CSH,4 +CMT,1,4,135,0.6,CSH,4 +CMT,1,1,117,0.6,CRD,4 +CMT,1,3,178,0.6,CSH,4.5 +CMT,1,1,613,2.3,CRD,10 +CMT,1,2,354,1.7,CSH,7.5 +CMT,1,1,297,0.9,CRD,5.5 +CMT,1,2,246,0.7,CSH,5 +CMT,1,1,156,0.4,CSH,4 +CMT,1,2,122,0.7,CSH,4 +CMT,1,3,454,1.4,CRD,7.5 +CMT,1,1,531,1.7,CSH,8.5 +CMT,1,1,445,1.6,CSH,8 +CMT,1,1,118,0.5,CRD,4 +CMT,1,1,286,1,CSH,6 +CMT,1,1,536,2.1,CRD,9 +CMT,1,1,327,1,CRD,6 +CMT,1,2,235,1.5,CRD,6 +CMT,1,2,160,0.8,CSH,4.5 +CMT,1,1,488,1.5,CRD,8.5 +CMT,1,1,2087,9.4,CRD,32 +CMT,1,1,686,2.8,CSH,11 +CMT,1,2,1236,6.3,CSH,21.5 +CMT,1,2,1288,5.3,CSH,20 +CMT,1,1,952,3.8,CSH,15.5 +CMT,1,1,624,3.1,CRD,11.5 +CMT,1,1,148,0.2,CSH,3.5 +CMT,1,2,385,1.1,CSH,6.5 +CMT,1,2,450,2.1,CRD,8.5 +CMT,1,1,371,1.1,CRD,6.5 +CMT,1,2,585,3.7,CRD,13 +CMT,1,1,1000,4,CRD,15 +CMT,1,1,922,5,CSH,16.5 +CMT,1,1,178,0.7,CSH,4.5 +CMT,1,2,545,2.6,CRD,9.5 +CMT,1,4,961,2.9,CSH,12.5 +CMT,1,1,568,2.9,CSH,11 +CMT,1,2,289,1.4,CRD,6.5 +CMT,1,2,555,2.7,CSH,10 +CMT,1,2,247,0.9,CRD,5.5 +CMT,1,2,750,2.4,CRD,11 +CMT,1,1,345,1.7,CRD,7 +CMT,1,2,409,1.2,CRD,6.5 +CMT,1,1,205,0.9,CSH,5 +CMT,1,2,811,2.5,CRD,12 +CMT,1,1,439,1.6,CRD,7.5 +CMT,1,1,1325,4.7,CRD,18 +CMT,1,1,883,2.7,CRD,12 +CMT,1,1,817,1.7,CRD,10.5 +CMT,1,2,308,0.6,CSH,5.5 +CMT,1,1,620,1.9,CSH,9.5 +CMT,1,1,514,1.7,CRD,8.5 +CMT,1,1,555,2.1,CRD,9 +CMT,1,2,544,2.1,CRD,9 +CMT,1,2,585,1.7,CRD,9 +CMT,1,1,347,1.7,CRD,7.5 +CMT,1,1,344,1.1,CRD,6.5 +CMT,1,1,1587,7.5,CRD,25.5 +CMT,1,1,428,1.5,CRD,7.5 +CMT,1,4,391,0.7,CSH,6 +CMT,1,2,660,3.2,CRD,12 +CMT,1,2,569,2.5,CSH,10 +CMT,1,4,132,0.4,CSH,3.5 +CMT,1,1,675,2.3,CRD,10 +CMT,1,2,140,0.4,CSH,3.5 +CMT,1,1,347,1.5,CRD,7 +CMT,1,2,325,0.9,CRD,6 +CMT,1,1,318,1,CSH,5.5 +CMT,1,2,134,0.4,CSH,3.5 +CMT,1,1,1056,3.5,CSH,14.5 +CMT,1,1,831,4.5,CRD,16.5 +CMT,1,1,194,1.2,CSH,5.5 +CMT,1,1,259,1.2,CSH,6 +CMT,1,1,240,1.2,CSH,5.5 +CMT,1,2,820,3.4,CSH,13 +CMT,1,2,374,1.2,CSH,6.5 +CMT,1,1,472,2.9,CRD,10.5 +CMT,1,1,329,1,CRD,6 +CMT,1,1,524,1.5,CSH,8 +CMT,1,1,643,1.6,CRD,9 +CMT,1,1,555,1.8,CRD,9 +CMT,1,1,223,0.7,CSH,5 +CMT,1,1,381,1,CSH,6 +CMT,1,2,880,2,CRD,11 +CMT,1,3,483,1.1,CSH,7 +CMT,1,1,538,1.3,CSH,8 +CMT,4,1,389,2,CSH,8 +CMT,2,1,1531,19.2,CRD,52 +CMT,1,1,135,0.6,CSH,4.5 +CMT,1,1,749,2.6,CSH,12 +CMT,1,1,514,2.3,CSH,9 +CMT,1,1,680,3.2,CRD,11.5 +CMT,1,1,98,0.5,CSH,3.5 +CMT,1,1,595,1.2,CRD,8 +CMT,1,1,1046,9.7,CRD,28 +CMT,1,1,323,0.8,CSH,5.5 +CMT,1,2,594,1.2,CSH,8 +CMT,1,1,807,2.7,CSH,11.5 +CMT,1,1,389,0.8,CSH,6 +CMT,1,1,790,3.7,CRD,14 +CMT,1,1,760,2.2,CRD,10.5 +CMT,1,2,682,1.5,CSH,9 +CMT,1,1,199,0.6,CSH,4.5 +CMT,1,1,490,1.3,CSH,7.5 +CMT,1,1,1139,4.7,CSH,17.5 +CMT,1,1,191,0.8,CSH,5 +CMT,1,1,408,1.7,CSH,7.5 +CMT,1,1,397,1.1,CSH,6.5 +CMT,1,1,912,2.6,CRD,12 +CMT,1,1,258,0.8,CSH,5 +CMT,1,1,223,0.8,CSH,5 +CMT,1,1,107,0.3,CSH,3.5 +CMT,1,1,1048,3.5,CSH,15 +CMT,1,1,866,4.4,CSH,15.5 +CMT,1,2,492,2.1,CSH,8.5 +CMT,1,1,1020,3.4,CSH,14 +CMT,1,1,300,0.9,CRD,5.5 +CMT,1,1,425,0.8,CSH,6 +CMT,2,1,1746,16.8,CSH,52 +CMT,1,2,148,0.5,CSH,4 +CMT,1,1,313,1.1,CSH,6.5 +CMT,1,1,412,1.7,CSH,8 +CMT,1,1,260,0.6,CRD,5 +CMT,1,2,448,1,CSH,6.5 +CMT,1,1,396,0.6,CSH,6 +CMT,1,1,337,0.9,CSH,5.5 +CMT,1,1,955,9.6,CRD,27.5 +CMT,1,2,1914,11.4,CSH,33.5 +CMT,1,1,992,8.2,CRD,24 +CMT,1,1,491,0.3,CRD,6.5 +CMT,1,1,382,2.3,CRD,9 +CMT,1,1,305,1.4,CRD,6.5 +CMT,1,1,475,1.3,CSH,7.5 +CMT,1,2,711,1.5,CSH,9 +CMT,1,1,372,0.6,CRD,5.5 +CMT,1,1,367,0.4,CRD,5.5 +CMT,1,1,365,0.8,CRD,6 +CMT,1,1,794,5,CRD,17 +CMT,1,1,477,1.8,CSH,8 +CMT,1,1,1301,6.1,CRD,21.5 +CMT,1,1,481,2,CSH,8.5 +CMT,1,1,519,1.6,CRD,8.5 +CMT,1,1,389,0.9,CSH,6 +CMT,1,1,1349,9.5,CRD,29 +CMT,1,2,384,1.6,CSH,7.5 +CMT,1,1,744,2.3,CRD,10.5 +CMT,1,1,939,4.1,CSH,15.5 +CMT,1,2,269,1.3,CSH,6 +CMT,1,2,579,2.1,CSH,9.5 +CMT,1,1,1008,2.3,CSH,12.5 +CMT,1,1,97,0.5,CSH,3.5 +CMT,1,1,316,0.5,CRD,5 +CMT,1,1,311,0.8,CRD,6 +CMT,1,1,832,0.9,CRD,9.5 +CMT,1,1,1377,5.4,CSH,20 +CMT,1,1,917,1.2,CSH,10.5 +CMT,1,1,294,1,CSH,5.5 +CMT,1,1,337,0.9,CSH,6 +CMT,1,1,644,4.7,CSH,15.5 +CMT,1,2,754,3.8,CRD,14 +CMT,1,1,282,1.4,CSH,6.5 +CMT,1,1,202,0.8,CRD,5 +CMT,1,1,441,2,CSH,8 +CMT,1,1,389,1.4,CSH,7 +CMT,1,1,728,2.7,CRD,11.5 +CMT,1,2,726,1.7,CRD,10 +CMT,1,1,925,0.9,CRD,10.5 +CMT,1,2,658,2.1,CSH,10.5 +CMT,1,1,1142,10.8,CSH,31 +CMT,1,1,405,1.4,CRD,7.5 +CMT,1,1,341,1.2,CRD,6.5 +CMT,1,1,421,0.9,CRD,6.5 +CMT,1,1,1087,1.6,CRD,12.5 +CMT,2,2,1665,16.4,CSH,52 +CMT,1,1,580,1.3,CSH,8 +CMT,1,1,1494,10.8,CSH,32 +CMT,1,2,798,3.1,CSH,12.5 +CMT,1,1,283,0.8,CRD,5 +CMT,1,1,221,0.7,CSH,4.5 +CMT,1,2,632,1.5,CSH,8.5 +CMT,1,2,634,1.8,CRD,9 +CMT,1,1,260,0.6,CSH,5 +CMT,1,1,1010,2,CSH,12 +CMT,1,2,564,2.2,CRD,9.5 +CMT,1,1,551,2.8,CRD,10.5 +CMT,1,2,314,1.2,CRD,6 +CMT,1,2,1219,7.4,CSH,24 +CMT,1,1,1089,4.2,CRD,16.5 +CMT,1,2,1368,6.7,CSH,23.5 +CMT,1,4,318,1.2,CSH,6 +CMT,1,1,229,1,CRD,5.5 +CMT,1,1,264,1.3,CRD,6 +CMT,1,1,297,0.9,CRD,5.5 +CMT,1,1,1676,13.6,CRD,39.5 +CMT,1,1,450,3.1,CRD,10.5 +CMT,1,1,407,2.2,CRD,9 +CMT,1,2,116,0.3,CRD,3.5 +CMT,1,2,306,1.1,CSH,6 +CMT,1,1,189,0.8,CSH,5 +CMT,1,2,164,0.8,CRD,4.5 +CMT,1,3,178,0.5,CSH,4.5 +CMT,1,1,908,8.4,CSH,24.5 +CMT,1,1,902,3.8,CRD,14 +CMT,1,1,574,2.2,CRD,9.5 +CMT,1,1,700,2.4,CRD,10.5 +CMT,1,1,83,0.1,NOC,3 +CMT,1,1,475,2.9,CSH,11 +CMT,1,1,263,1.4,CSH,6 +CMT,1,2,248,1,CRD,5.5 +CMT,1,1,541,2.6,CSH,10 +CMT,1,1,671,2.9,CRD,11 +CMT,1,1,129,0.8,CSH,4.5 +CMT,1,3,1003,6.4,CSH,19.5 +CMT,1,1,620,3.3,CSH,12 +CMT,1,1,916,5.3,CRD,18 +CMT,1,1,739,2.9,CSH,11.5 +CMT,1,1,535,1.9,CRD,9 +CMT,1,1,301,0.4,CRD,5 +CMT,1,1,768,3.3,CSH,12.5 +CMT,1,2,452,1.4,CRD,7.5 +CMT,1,1,329,1.6,CRD,7 +CMT,1,2,1197,4.5,CSH,17 +CMT,1,2,790,3.1,CRD,12.5 +CMT,1,1,935,8.2,CRD,24.5 +CMT,1,2,345,1.2,CRD,6.5 +CMT,1,2,297,1.2,CRD,6 +CMT,1,1,526,2.2,CSH,9.5 +CMT,1,1,701,4.3,CRD,15 +CMT,1,3,500,2.6,CSH,10 +CMT,1,1,422,1,CRD,6.5 +CMT,1,1,481,1.4,CSH,7.5 +CMT,1,1,599,2.3,CSH,10 +CMT,1,1,1280,11.7,CSH,33.5 +CMT,1,2,214,1,CSH,5 +CMT,1,1,488,2.6,CRD,9.5 +CMT,1,1,86,0.5,CSH,3.5 +CMT,2,1,1598,18.3,CSH,52 +CMT,1,1,1272,10.8,CSH,31.5 +CMT,1,3,1263,6.5,CRD,22.5 +CMT,1,1,238,1.1,CSH,5.5 +CMT,1,1,337,1.2,CSH,6.5 +CMT,1,2,913,3,CSH,13 +CMT,1,1,538,1.3,CRD,8 +CMT,1,1,732,1.1,CSH,9 +CMT,1,1,198,0.9,CSH,4.5 +CMT,1,1,262,0.8,CRD,5.5 +CMT,1,2,425,0.5,CSH,6 +CMT,1,1,1524,6.5,CSH,23.5 +CMT,1,1,745,1.4,CRD,9.5 +CMT,1,2,362,0.7,CSH,5.5 +CMT,1,1,607,2.8,CSH,10.5 +CMT,1,1,1108,2.6,CRD,13.5 +CMT,1,1,566,1.1,CRD,8 +CMT,1,2,496,1.6,CRD,7.5 +CMT,1,1,179,0.3,CSH,4 +CMT,1,1,253,0.7,CSH,5 +CMT,1,1,260,0.6,CSH,5 +CMT,1,1,185,0.8,CSH,5 +CMT,1,1,338,0.8,CRD,5.5 +CMT,1,3,533,1.3,CSH,8 +CMT,1,3,584,1.2,CSH,7.5 +CMT,1,1,1665,7.6,CRD,27 +CMT,1,1,366,0.8,CRD,6 +CMT,2,2,2409,17.6,CSH,52 +CMT,1,2,641,2.3,CSH,10 +CMT,1,1,353,1,CSH,6 +CMT,1,1,2943,16.1,CSH,49 +CMT,1,1,1298,11.4,CSH,33 +CMT,1,1,235,0.6,CSH,5 +CMT,1,2,832,2.6,CRD,11.5 +CMT,1,1,453,1.3,CRD,7 +CMT,1,2,832,2.3,CSH,11 +CMT,1,1,552,1.6,CRD,8.5 +CMT,1,1,375,1.1,CRD,6.5 +CMT,1,1,841,1.2,CSH,9.5 +CMT,1,1,1034,3.8,CSH,15.5 +CMT,1,1,440,0.8,CSH,6 +CMT,1,1,260,0.9,CSH,5.5 +CMT,1,1,860,5.6,CSH,17.5 +CMT,1,3,1987,11.8,CRD,36.5 +CMT,1,1,222,0.7,CSH,4.5 +CMT,1,1,517,0.9,CRD,7 +CMT,1,1,1134,4,CSH,16 +CMT,2,1,1792,17.6,CSH,52 +CMT,1,1,1602,5.7,CRD,22.5 +CMT,1,1,771,4.5,CSH,16 +CMT,1,1,494,0.7,CSH,6.5 +CMT,1,1,1086,2.9,CRD,14 +CMT,1,1,174,0.6,CSH,4.5 +CMT,1,1,477,1,CRD,7 +CMT,1,1,538,2.3,CRD,9 +CMT,1,1,395,0.6,CRD,6 +CMT,2,2,2261,17.6,CSH,52 +CMT,1,1,631,2,CSH,9.5 +CMT,1,1,2069,13,CRD,41 +CMT,2,2,1557,17.7,CSH,52 +CMT,1,1,397,1.5,CRD,7.5 +CMT,1,1,734,4,CRD,14.5 +CMT,1,1,464,0.9,CSH,6.5 +CMT,1,1,732,3.2,CSH,12 +CMT,1,2,820,1.9,CRD,10.5 +CMT,1,1,499,1.9,CSH,8.5 +CMT,1,1,1492,3.1,CSH,18.5 +CMT,1,2,824,2.4,CRD,11.5 +CMT,1,1,942,2.8,CSH,13 +CMT,1,1,361,2.1,CSH,8 +CMT,1,1,303,0.8,CSH,5.5 +CMT,1,2,205,0.8,CSH,5 +CMT,1,1,534,1.1,CSH,7.5 +CMT,1,2,478,1.5,CSH,7.5 +CMT,1,1,465,1.1,CSH,7 +CMT,1,1,732,1.6,CRD,9.5 +CMT,1,1,268,1,CSH,5.5 +CMT,1,2,1366,11.2,CSH,32.5 +CMT,1,1,592,2.4,CRD,10 +CMT,1,3,361,1.3,CRD,6.5 +CMT,1,1,298,1,CSH,6 +CMT,1,2,776,2.7,CRD,12 +CMT,1,1,403,2.2,CRD,8.5 +CMT,1,1,214,0.8,CRD,5 +CMT,1,1,374,1,CRD,6.5 +CMT,1,1,86,0.5,CSH,3.5 +CMT,1,1,157,0.6,CRD,4.5 +CMT,1,1,307,1.4,CRD,6.5 +CMT,1,1,1223,4,CRD,17 +CMT,1,1,1469,14.5,CSH,41.5 +CMT,2,1,2609,17.5,CSH,52 +CMT,1,1,618,2.7,CSH,11 +CMT,1,1,309,1.4,CRD,7 +CMT,1,1,526,2,CSH,9 +CMT,1,2,1067,3.5,CSH,15 +CMT,1,2,217,0.8,CSH,5 +CMT,2,2,2030,21,CRD,52 +CMT,2,2,3617,17.4,CSH,52 +CMT,1,1,754,1.2,CRD,9.5 +CMT,1,1,541,0.7,CRD,7 +CMT,1,1,901,1.4,CRD,10.5 +CMT,1,1,359,1.2,CRD,6.5 +CMT,1,3,279,0.6,CRD,5 +CMT,1,1,892,6.6,CSH,21 +CMT,1,1,974,3.9,CRD,16 +CMT,1,1,1910,11.3,CRD,36 +CMT,1,1,514,1.9,CRD,8.5 +CMT,1,1,410,1.7,CSH,7.5 +CMT,1,3,276,0.5,CRD,5 +CMT,1,1,496,1.9,CSH,8.5 +CMT,1,1,1224,3.7,CSH,16.5 +CMT,1,2,257,0.6,CSH,5 +CMT,1,1,522,1.8,CSH,8.5 +CMT,1,1,541,2.2,CRD,9 +CMT,1,1,219,0.8,CSH,5 +CMT,1,1,509,1.8,CRD,8.5 +CMT,1,1,895,1.8,CSH,10.5 +CMT,1,1,459,1.1,CSH,7 +CMT,1,1,1188,2.7,CRD,14.5 +CMT,1,1,668,1.8,CRD,10 +CMT,1,2,606,0.8,CSH,7 +CMT,1,1,799,1.5,CRD,9.5 +CMT,1,1,700,1.5,CSH,9 +CMT,1,1,699,1.7,CSH,9.5 +CMT,1,1,595,1.8,CSH,9 +CMT,1,1,293,0.8,CRD,5.5 +CMT,1,1,710,3,CSH,12 +CMT,1,1,334,0.9,CRD,5.5 +CMT,1,1,215,0.9,CSH,5 +CMT,1,1,430,1.6,CSH,7.5 +CMT,1,1,428,1.5,CSH,7 +CMT,1,3,942,1.6,CSH,11 +CMT,1,1,1516,9,CRD,28.5 +CMT,1,1,256,0.5,CSH,5 +CMT,1,1,592,1.9,CSH,9.5 +CMT,1,1,242,0.7,CSH,5 +CMT,1,1,677,1,CRD,8.5 +CMT,1,1,902,2.8,CSH,12.5 +CMT,1,1,1011,2.4,CRD,13 +CMT,1,1,669,1.5,CSH,9 +CMT,1,1,1107,2.7,CRD,13 +CMT,1,1,289,0.5,CSH,4.5 +CMT,1,1,492,1,CRD,7 +CMT,1,2,841,1.1,CRD,10 +CMT,1,1,317,1.8,CSH,7.5 +CMT,1,3,438,2,CSH,8 +CMT,1,1,373,1.2,CRD,6.5 +CMT,1,1,538,1.8,CSH,8.5 +CMT,1,1,408,1.7,CRD,8 +CMT,1,1,182,0.6,CSH,4.5 +CMT,1,1,446,1.1,CSH,7 +CMT,1,1,483,2,CRD,8.5 +CMT,1,2,427,0.8,CSH,6.5 +CMT,1,1,1494,2.2,CRD,16.5 +CMT,1,1,339,1.3,CRD,6.5 +CMT,1,1,1132,2.6,CRD,14 +CMT,1,2,469,0.8,CRD,6.5 +CMT,1,1,469,1,CRD,6.5 +CMT,1,1,800,2,CSH,11 +CMT,1,1,903,3.1,CRD,13 +CMT,1,1,413,1.1,CSH,6.5 +CMT,1,1,350,0.8,CSH,5.5 +CMT,1,1,88,0.3,CSH,3.5 +CMT,1,1,571,1.3,CSH,8 +CMT,1,1,511,1.5,CSH,7.5 +CMT,1,2,923,3.5,CSH,14 +CMT,1,1,849,1.2,CSH,10 +CMT,2,1,2100,18.9,CRD,52 +CMT,1,1,634,1.7,CSH,9 +CMT,1,1,774,2.2,CSH,11 +CMT,1,1,475,1,CSH,7 +CMT,1,1,364,1.7,CRD,7.5 +CMT,1,1,560,2.2,CRD,9.5 +CMT,1,1,986,1.7,CSH,11.5 +CMT,1,1,221,0.4,CRD,4.5 +CMT,1,1,923,1.7,CRD,11 +CMT,1,1,1459,10.8,CRD,33 +CMT,1,2,1088,3,CSH,13.5 +CMT,1,1,887,5.9,CSH,19.5 +CMT,1,2,209,0.3,CSH,4 +CMT,1,1,560,2.4,CRD,10 +CMT,1,1,389,1.6,CSH,7.5 +CMT,1,3,418,1.3,CSH,7 +CMT,1,1,162,0.6,CSH,4.5 +CMT,1,1,914,4.4,CSH,16.5 +CMT,1,1,688,1.7,CRD,9 +CMT,1,1,346,0.9,CSH,5.5 +CMT,1,1,569,1.4,CSH,8 +CMT,1,1,1532,4.4,CRD,19.5 +CMT,1,1,300,0.5,CSH,5 +CMT,1,1,275,0.5,CSH,5 +CMT,1,1,276,0.7,CSH,5 +CMT,1,1,371,1.4,CSH,7 +CMT,1,1,454,0.9,CRD,7 +CMT,1,1,397,1.1,CRD,7 +CMT,1,1,1038,1.5,CSH,12 +CMT,1,1,677,3.5,CSH,13 +CMT,1,1,189,0.8,CSH,4.5 +CMT,1,1,367,1.3,CRD,6.5 +CMT,1,2,635,1.2,CSH,8 +CMT,1,1,552,1.1,CRD,8 +CMT,1,1,881,3.8,CSH,14.5 +CMT,1,1,151,0.4,CRD,3.5 +CMT,1,1,640,1.7,CSH,9 +CMT,1,1,117,0.6,CRD,4 +CMT,1,2,446,1,CSH,6.5 +CMT,1,1,560,2.4,CSH,10 +CMT,1,1,659,1.2,CRD,8.5 +CMT,1,1,535,1.6,CSH,8 +CMT,1,1,747,1.1,DIS,9 +CMT,1,1,1182,3.3,CSH,15.5 +CMT,1,2,795,2.3,CSH,11 +CMT,1,1,203,0.5,CSH,4.5 +CMT,1,1,407,1.6,CSH,7.5 +CMT,1,1,749,2.1,CRD,10.5 +CMT,1,1,150,0.5,CSH,4 +CMT,1,2,698,6.7,CSH,21 +CMT,1,1,391,0.6,CSH,6 +CMT,1,2,1097,2.5,CRD,13.5 +CMT,1,1,611,1.9,CRD,9 +CMT,1,1,1066,3.6,CRD,14.5 +CMT,1,1,460,1.3,CSH,7.5 +CMT,1,2,480,1.4,CSH,8 +CMT,1,1,500,1.6,CSH,8 +CMT,1,1,175,1.2,CSH,5.5 +CMT,1,1,314,1.1,CRD,6.5 +CMT,1,1,532,2,CRD,9 +CMT,1,1,772,1.9,CRD,10 +CMT,1,1,1372,1.9,CRD,15 +CMT,1,1,235,0.9,CSH,5.5 +CMT,1,1,568,1.5,CRD,8 +CMT,1,2,779,1.3,CRD,9.5 +CMT,1,2,918,1.6,CSH,11 +CMT,1,1,208,0.5,CSH,4.5 +CMT,1,1,394,0.7,CRD,6 +CMT,1,1,1211,1.9,CRD,13.5 +CMT,1,1,258,1.1,CSH,5.5 +CMT,1,1,224,0.6,CSH,4.5 +CMT,1,1,93,0.2,CSH,3 +CMT,1,1,468,1,CSH,7 +CMT,1,2,935,4,CRD,15.5 +CMT,1,1,203,0.7,CSH,4.5 +CMT,1,1,156,0.5,CSH,4 +CMT,1,1,718,1.5,CSH,9.5 +CMT,1,1,508,0.8,CSH,7 +CMT,1,1,490,2.2,CSH,9.5 +CMT,1,3,300,1.2,CSH,6 +CMT,1,2,323,1.2,CSH,6 +CMT,1,1,486,1.8,CSH,8.5 +CMT,1,1,422,1.4,CSH,7 +CMT,1,1,194,1.1,CSH,5.5 +CMT,1,1,1722,4.6,CSH,21 +CMT,1,1,870,5.3,CSH,17 +CMT,1,1,410,1.1,CSH,6.5 +CMT,1,2,275,0.8,CSH,5.5 +CMT,1,1,240,1.2,CSH,6 +CMT,1,1,577,1.4,CSH,8.5 +CMT,1,2,295,0.9,CSH,5.5 +CMT,1,1,1016,2,CRD,13 +CMT,1,1,1040,1.9,CRD,12.5 +CMT,1,3,647,1.6,CSH,8.5 +CMT,1,1,1579,3.3,CRD,18.5 +CMT,1,1,1851,5.3,CSH,24 +CMT,1,1,707,0.6,CRD,8.5 +CMT,1,1,417,0.8,CSH,6 +CMT,1,1,1617,3,CSH,18 +CMT,1,1,653,1.8,CSH,9.5 +CMT,1,1,874,2.5,CRD,12.5 +CMT,1,1,869,1.2,CSH,10 +CMT,1,1,151,0.6,CRD,4 +CMT,1,1,1452,7.3,CRD,26 +CMT,1,1,1246,12.9,CSH,36 +CMT,1,3,992,5.3,CSH,18 +CMT,1,1,516,1.7,CSH,8 +CMT,1,1,172,0.5,CRD,4 +CMT,1,1,935,1.5,CRD,11.5 +CMT,1,3,639,1.6,CRD,8.5 +CMT,1,1,236,0.6,CSH,4.5 +CMT,1,1,597,0.9,CRD,7.5 +CMT,1,1,841,2,CSH,10.5 +CMT,1,1,571,1.4,CRD,8 +CMT,1,1,338,1.1,CRD,6.5 +CMT,1,1,639,1.3,CSH,8.5 +CMT,1,1,654,1.2,CRD,8 +CMT,1,1,1172,2,CRD,13.5 +CMT,1,1,897,4.2,CSH,15.5 +CMT,1,1,809,1.7,CSH,10 +CMT,1,1,216,0.8,CSH,5 +CMT,1,1,492,1.6,CSH,8 +CMT,1,2,337,1.1,CSH,6 +CMT,1,3,1512,6.7,CSH,24.5 +CMT,1,1,169,0.5,CSH,4 +CMT,1,1,203,0.5,CRD,4 +CMT,1,1,100,0.5,CSH,3.5 +CMT,1,1,415,1.3,CSH,7 +CMT,1,1,152,0.9,CSH,4.5 +CMT,1,1,804,1.4,CRD,10 +CMT,1,1,469,5.8,CSH,17.5 +CMT,1,1,1129,5.8,CSH,20.5 +CMT,1,1,368,0.9,CRD,6 +CMT,1,1,284,1,CRD,5.5 +CMT,1,1,359,1,CSH,6 +CMT,1,1,1210,2.4,CRD,14 +CMT,1,2,1021,4.1,CRD,16.5 +CMT,1,1,385,0.7,CRD,6 +CMT,1,1,1085,4.3,CSH,16.5 +CMT,1,1,487,1.2,CSH,7.5 +CMT,1,2,521,1,CSH,6.5 +CMT,1,1,279,0.9,CSH,5.5 +CMT,1,1,1395,7.4,CRD,25 +CMT,1,1,1288,3,CRD,15.5 +CMT,1,2,487,1.5,CRD,8 +CMT,1,1,434,1.1,CRD,6.5 +CMT,1,4,1231,2.9,CRD,15 +CMT,1,2,169,0.8,CSH,4.5 +CMT,1,2,361,1.5,CRD,7 +CMT,1,1,1314,6.1,CRD,21.5 +CMT,1,2,490,0.7,CSH,6.5 +CMT,1,1,232,1,CSH,5.5 +CMT,1,2,141,0.6,CRD,4 +CMT,1,1,838,5.1,CRD,17 +CMT,1,1,1259,4.4,CSH,17.5 +CMT,1,1,786,1.8,CRD,10.5 +CMT,1,1,501,2.8,CRD,10.5 +CMT,1,1,761,5.3,CRD,17.5 +CMT,1,1,1259,4.5,CRD,18 +CMT,1,1,718,3.7,CRD,13 +CMT,1,2,634,2.8,CSH,10.5 +CMT,1,1,925,3.8,CRD,15.5 +CMT,1,3,1333,3.3,CSH,15.5 +CMT,1,1,881,2.3,CSH,11.5 +CMT,1,1,290,0.8,CSH,5.5 +CMT,1,2,992,4,CSH,15 +CMT,1,1,906,3.6,CSH,14.5 +CMT,1,1,379,1,CSH,6 +CMT,1,1,895,2.3,CRD,11.5 +CMT,1,1,137,0.5,CSH,4 +CMT,1,1,471,1.7,CSH,8 +CMT,1,1,1026,4.9,CRD,17.5 +CMT,1,1,297,0.8,CSH,5.5 +CMT,1,1,576,0.7,CRD,7.5 +CMT,1,1,1302,5.9,CRD,21 +CMT,1,1,996,2.1,CSH,12.5 +CMT,1,1,324,0.5,CRD,5 +CMT,1,1,1032,3.4,CRD,14.5 +CMT,1,1,324,0.5,CRD,5 +CMT,1,1,457,1.5,CSH,7.5 +CMT,1,1,670,2.6,CRD,10.5 +CMT,1,1,1068,2.3,CSH,13 +CMT,1,1,540,2.8,CSH,10.5 +CMT,1,1,1220,5.2,CSH,19.5 +CMT,1,2,1174,10.9,CSH,32 +CMT,1,1,149,0.3,CSH,3.5 +CMT,1,3,416,0.9,CSH,6.5 +CMT,1,1,393,0.9,CSH,6 +CMT,2,1,2011,17.2,CSH,52 +CMT,1,1,724,2.2,CRD,10.5 +CMT,1,1,297,1.1,CRD,5.5 +CMT,1,1,1466,11.1,CSH,33.5 +CMT,1,1,394,0.9,CRD,6 +CMT,1,1,1162,2.9,CSH,14.5 +CMT,1,1,673,1.1,CSH,8.5 +CMT,1,1,688,2,CSH,9.5 +CMT,1,2,311,1.2,CSH,6 +CMT,1,2,576,1.5,CSH,8 +CMT,1,1,499,1.2,CRD,7.5 +CMT,1,1,466,1.1,CSH,7 +CMT,1,3,468,0.6,CSH,6.5 +CMT,1,1,1032,1.7,CRD,11.5 +CMT,1,3,795,1.7,CSH,9.5 +CMT,1,1,503,1.3,CRD,8 +CMT,1,1,1044,3.9,CSH,15 +CMT,1,1,204,0.6,CRD,4.5 +CMT,1,1,853,1.9,CRD,10.5 +CMT,1,1,72,0.3,CSH,3.5 +CMT,1,1,379,1.4,CSH,7.5 +CMT,1,1,229,0.9,CSH,5 +CMT,1,1,462,1.4,CSH,7.5 +CMT,1,1,186,0.7,CSH,4.5 +CMT,1,1,274,0.8,CSH,5.5 +CMT,1,1,884,3.2,CSH,13.5 +CMT,1,1,1039,2.1,CRD,13 +CMT,1,1,396,1.3,CSH,6.5 +CMT,1,1,867,2.1,CSH,11 +CMT,1,2,944,4.6,CRD,16.5 +CMT,1,1,290,0.9,CSH,5.5 +CMT,1,1,314,1.1,CSH,5.5 +CMT,1,2,304,1.1,CSH,5.5 +CMT,1,1,445,1,CSH,6 +CMT,1,1,290,0.8,CSH,5 +CMT,1,1,1223,6.8,CSH,23 +CMT,2,1,2332,18.2,CRD,52 +CMT,1,2,218,0.4,CSH,4 +CMT,1,2,445,1.1,CRD,7 +CMT,1,1,352,0.9,CSH,6 +CMT,1,1,558,1.5,CSH,8.5 +CMT,1,1,644,0.8,CSH,8 +CMT,1,1,524,1.4,CRD,8 +CMT,1,1,619,1,CSH,8 +CMT,1,2,337,0.8,CRD,6 +CMT,1,2,396,1.2,CSH,7 +CMT,1,1,517,2.2,CSH,9 +CMT,1,1,299,1,CRD,5.5 +CMT,1,1,302,1.2,CSH,6.5 +CMT,1,1,279,1,CSH,6 +CMT,1,1,103,0.4,CSH,3.5 +CMT,1,1,1151,11.4,CSH,32 +CMT,1,1,1097,2.2,CSH,13 +CMT,1,1,818,1.9,CRD,10.5 +CMT,1,1,1948,11.1,CRD,35 +CMT,1,2,2320,9.9,CSH,35.5 +CMT,1,1,345,0.6,CSH,5.5 +CMT,1,1,286,0.7,CRD,5 +CMT,1,1,526,1.5,CSH,8.5 +CMT,1,1,540,2.9,CRD,10.5 +CMT,1,1,521,2,CRD,9 +CMT,1,1,740,2.8,CSH,11.5 +CMT,1,1,1184,5.6,CSH,20.5 +CMT,1,1,504,1.4,CRD,8 +CMT,1,1,681,2.4,CRD,10.5 +CMT,1,3,366,1.1,CSH,6 +CMT,1,1,1135,4.8,CRD,18.5 +CMT,1,1,935,2.3,CSH,12 +CMT,1,1,592,1.5,CRD,8.5 +CMT,4,1,2262,18.7,CRD,68 +CMT,1,2,469,0.9,CSH,6.5 +CMT,1,1,394,2.3,CSH,8.5 +CMT,1,1,1224,2.9,CRD,15 +CMT,1,1,1050,1.9,CSH,12.5 +CMT,1,1,1061,1.6,CSH,12 +CMT,1,1,281,0.4,CSH,4.5 +CMT,1,3,557,1.3,CSH,8 +CMT,1,1,232,0.9,CSH,5 +CMT,1,1,668,2.9,CSH,11 +CMT,1,1,239,1,CSH,5.5 +CMT,1,1,678,2.6,CRD,10.5 +CMT,1,1,827,2.6,CSH,12 +CMT,1,1,107,0.7,CSH,4 +CMT,1,1,173,0.6,CSH,4.5 +CMT,1,1,623,1.3,CSH,8 +CMT,1,1,1088,2.3,CSH,12.5 +CMT,1,1,377,0.8,CRD,6 +CMT,1,1,336,0.5,CSH,5.5 +CMT,1,1,408,0.9,CSH,6.5 +CMT,1,1,773,5.1,CRD,17.5 +CMT,1,1,1812,3.9,CRD,20 +CMT,1,1,157,0.6,CSH,4 +CMT,1,1,247,0.5,CSH,4.5 +CMT,1,1,666,3.1,CRD,12 +CMT,1,1,336,0.8,CSH,5.5 +CMT,1,1,629,1.9,CSH,9.5 +CMT,1,1,217,1.7,CRD,6.5 +CMT,1,1,625,1.7,CSH,9 +CMT,1,2,342,2,CSH,7.5 +CMT,1,1,421,1.6,CSH,7.5 +CMT,1,1,740,3.4,CRD,13 +CMT,1,1,1100,6.1,CRD,20.5 +CMT,1,2,427,0.8,CRD,6.5 +CMT,1,1,393,1.4,CSH,7 +CMT,1,1,656,1.7,CRD,9 +CMT,1,1,1668,5.4,CSH,23.5 +CMT,1,2,2904,11.5,CRD,42 +CMT,1,1,167,0.8,CSH,4.5 +CMT,1,1,456,1.6,CRD,7.5 +CMT,1,1,633,2.6,CSH,10.5 +CMT,1,1,556,0.9,CSH,7.5 +CMT,1,1,716,1.9,CSH,10 +CMT,1,1,337,1.1,CRD,6.5 +CMT,1,1,260,0.6,CRD,5 +CMT,1,1,475,0.9,CRD,7 +CMT,1,1,847,2.1,CSH,10.5 +CMT,1,1,419,1.3,CSH,7 +CMT,1,1,446,1.9,CSH,8 +CMT,1,1,915,3.5,CRD,14.5 +CMT,1,1,348,0.9,CSH,6 +CMT,1,1,154,0.7,CSH,4.5 +CMT,1,1,779,1.5,CRD,10 +CMT,1,2,1849,10.6,CSH,34 +CMT,1,1,641,1.6,CRD,9 +CMT,1,1,700,3.6,CRD,13 +CMT,1,1,163,0.4,CSH,4 +CMT,1,1,488,1.6,CSH,8 +CMT,1,1,552,2.9,CSH,10.5 +CMT,1,1,485,1.5,CRD,8 +CMT,1,1,795,3.2,CRD,12.5 +CMT,1,1,324,1.9,CRD,7.5 +CMT,1,1,258,0.9,CRD,5.5 +CMT,1,1,294,0.4,CRD,5 +CMT,1,1,381,1.2,CSH,7 +CMT,1,1,620,2.5,CSH,10.5 +CMT,1,1,246,1.1,CRD,5.5 +CMT,1,1,704,3.8,CRD,14.5 +CMT,1,1,1203,1,CSH,12.5 +CMT,1,1,103,0.1,CSH,3 +CMT,1,1,302,1,CSH,6 +CMT,1,1,109,0.6,CSH,4 +CMT,1,1,123,0.4,CSH,3.5 +CMT,1,1,482,1.6,CSH,8 +CMT,1,1,125,0.5,CSH,4 +CMT,1,1,439,1.3,CSH,7 +CMT,1,1,275,0.8,CSH,5.5 +CMT,1,1,331,1.3,CSH,6.5 +CMT,1,1,365,1.4,CRD,6.5 +CMT,1,1,422,1.3,CSH,7 +CMT,1,1,219,0.8,CRD,5 +CMT,1,1,142,0.9,CRD,4.5 +CMT,1,1,557,2.2,CSH,9.5 +CMT,1,1,515,0.7,CRD,7 +CMT,1,1,228,0.8,CSH,5 +CMT,1,1,302,1.3,CSH,6 +CMT,1,1,1053,3.7,CSH,15 +CMT,1,1,1303,2.8,CSH,15 +CMT,1,1,1273,3.1,CSH,15.5 +CMT,1,2,1595,2.3,CSH,17.5 +CMT,1,1,802,2.3,CRD,11.5 +CMT,1,1,576,2,CRD,9 +CMT,1,1,62,0.2,CSH,3 +CMT,1,1,114,0.3,CRD,3.5 +CMT,1,1,1541,6.8,CSH,23.5 +CMT,1,1,346,0.9,CSH,6 +CMT,1,1,357,2,CSH,8 +CMT,1,1,241,0.9,CRD,5 +CMT,1,1,597,2.3,CRD,10 +CMT,1,1,128,0.9,CSH,4.5 +CMT,1,1,618,1.5,CSH,8.5 +CMT,1,1,480,2,CRD,8.5 +CMT,1,2,1047,3.1,CSH,14 +CMT,1,1,434,1.4,CSH,7.5 +CMT,1,1,791,5.8,CRD,18.5 +CMT,1,3,481,1.3,CSH,7.5 +CMT,1,1,495,1.7,CSH,8 +CMT,1,1,566,1.2,CRD,7.5 +CMT,1,1,455,0.4,CRD,6.5 +CMT,1,1,744,3.2,CRD,13 +CMT,1,1,512,2.3,CSH,9.5 +CMT,1,1,416,2,CRD,8.5 +CMT,1,1,106,0.1,CSH,3.5 +CMT,1,1,1114,2.4,CRD,13 +CMT,1,1,223,0.5,CRD,4.5 +CMT,1,1,1223,10.5,CRD,30.5 +CMT,1,1,567,1.9,CRD,9 +CMT,1,1,184,0.6,CSH,4.5 +CMT,1,1,1117,4.7,CSH,17.5 +CMT,1,1,325,1.6,CSH,7 +CMT,1,1,344,0.9,CSH,5.5 +CMT,1,2,574,1,CRD,7.5 +CMT,1,2,457,0.6,CRD,6 +CMT,1,1,1723,6.1,CRD,23 +CMT,1,1,325,1,CRD,6 +CMT,1,1,1420,9.1,CSH,28.5 +CMT,1,1,520,1.6,CSH,8.5 +CMT,1,1,286,1.4,CSH,6.5 +CMT,1,1,190,0.7,CSH,5 +CMT,1,1,961,1.9,CSH,12.5 +CMT,1,1,859,4.2,CRD,15.5 +CMT,1,1,79,0.2,CRD,3.5 +CMT,1,1,168,0.9,CRD,5 +CMT,1,2,313,1.2,CRD,6 +CMT,1,1,1140,10.8,CSH,31 +CMT,1,1,788,3.8,CSH,14 +CMT,1,1,1067,2.5,CSH,13.5 +CMT,1,2,1374,3.7,CSH,17 +CMT,1,1,567,1.5,CSH,8 +CMT,1,3,501,1.7,CRD,8.5 +CMT,1,1,651,1.7,CRD,9.5 +CMT,1,2,887,2.8,CSH,12.5 +CMT,1,1,263,1.2,CSH,6 +CMT,1,2,592,2.5,CRD,10.5 +CMT,1,2,504,2.7,CSH,10.5 +CMT,1,4,999,3.7,CSH,14.5 +CMT,1,2,342,1.1,CSH,6 +CMT,1,1,523,2.4,CRD,9 +CMT,1,2,955,1.8,CSH,11.5 +CMT,1,1,565,1.8,CSH,9 +CMT,1,1,543,2.5,CRD,10.5 +CMT,1,1,261,0.5,CRD,5 +CMT,1,1,390,0.9,CRD,6 +CMT,1,1,1275,4,CRD,17 +CMT,1,1,1000,7.9,CRD,24.5 +CMT,1,1,1155,5.8,CSH,20 +CMT,1,1,1798,10.7,CRD,34 +CMT,1,2,176,0.7,CSH,4.5 +CMT,1,3,894,6.8,CRD,21.5 +CMT,1,1,396,2,CRD,8.5 +CMT,1,1,628,2.9,CSH,11.5 +CMT,1,1,1231,1.7,CSH,14 +CMT,1,2,429,0.8,CSH,6.5 +CMT,1,2,257,0.2,CSH,4.5 +CMT,1,2,575,1.2,CSH,8.5 +CMT,1,1,585,3.4,CRD,11.5 +CMT,1,1,366,1.9,CRD,7.5 +CMT,1,1,511,4.1,CSH,13 +CMT,1,3,1183,5.2,CSH,18.5 +CMT,1,2,1043,7.6,CRD,24 +CMT,1,1,515,2.5,CSH,10.5 +CMT,1,1,594,1.7,CSH,9 +CMT,1,1,775,3.1,CRD,12.5 +CMT,1,2,514,1.8,CSH,8.5 +CMT,1,2,847,4.1,CSH,14.5 +CMT,1,1,1055,4.1,CSH,16.5 +CMT,1,1,206,0.8,CSH,4.5 +CMT,1,1,581,0.9,CRD,8 +CMT,1,1,1215,10.8,CSH,31 +CMT,1,1,213,0.7,CSH,4.5 +CMT,1,1,921,3.9,CRD,15.5 +CMT,1,2,500,0.9,CSH,7 +CMT,1,1,474,0.9,CSH,6.5 +CMT,1,1,1429,9.3,CSH,29.5 +CMT,1,1,278,0.6,CSH,5 +CMT,1,1,318,0.8,CRD,5.5 +CMT,1,1,715,3.6,CSH,13 +CMT,1,1,368,0.9,CRD,6 +CMT,1,1,652,3.3,CRD,12.5 +CMT,1,2,158,0.6,CSH,4 +CMT,1,1,305,0.8,CRD,5.5 +CMT,1,1,79,0.3,CSH,3 +CMT,1,1,792,4.8,CRD,15.5 +CMT,1,3,675,2.2,CSH,10.5 +CMT,1,2,187,0.4,CSH,4 +CMT,1,1,110,0.3,CSH,3.5 +CMT,1,2,1921,4,CRD,21.5 +CMT,1,1,464,1.4,CSH,7.5 +CMT,1,2,968,6.3,CRD,20 +CMT,1,1,395,1.6,CRD,7.5 +CMT,1,2,545,2.2,CRD,9.5 +CMT,1,1,408,1.2,CRD,6.5 +CMT,1,3,547,2.5,CSH,10 +CMT,1,1,545,2.7,CRD,10 +CMT,1,2,1024,3.6,CSH,14.5 +CMT,1,1,409,1.5,CRD,7.5 +CMT,1,1,968,2.8,CSH,13 +CMT,1,1,817,0.7,CRD,9.5 +CMT,1,2,472,1,CRD,6.5 +CMT,1,1,1060,3.6,CRD,15 +CMT,1,1,377,1.3,CSH,7 +CMT,1,1,228,0.8,CRD,5 +CMT,1,1,105,0.5,CSH,4 +CMT,1,1,355,2.5,CSH,9 +CMT,1,2,268,0.7,CSH,5 +CMT,1,2,346,1.4,CRD,6.5 +CMT,1,4,1188,1.3,CSH,13 +CMT,1,2,1176,4.3,CRD,18 +CMT,1,1,199,0.7,CSH,5 +CMT,1,1,258,0.8,CRD,5 +CMT,1,2,274,1.1,CSH,6 +CMT,1,1,698,1.4,CRD,9.5 +CMT,1,1,284,1.1,CSH,6 +CMT,1,2,651,2.2,CSH,10 +CMT,1,1,372,1.9,CSH,7.5 +CMT,1,1,436,1.4,CRD,7.5 +CMT,1,3,336,1.3,CSH,6.5 +CMT,1,2,406,1.3,CSH,7 +CMT,1,2,322,1.2,CRD,6.5 +CMT,1,1,337,1.3,CSH,6.5 +CMT,1,1,1378,33.8,CSH,2.5 +CMT,1,1,886,4.3,CSH,15 +CMT,1,1,356,1.9,CSH,8 +CMT,1,1,613,2.9,CRD,11 +CMT,1,1,330,1.3,CSH,6.5 +CMT,1,1,982,3.7,CRD,15 +CMT,1,1,638,1.9,CRD,9.5 +CMT,2,2,2746,16.8,CSH,52 +CMT,1,1,900,1.9,CRD,11 +CMT,1,2,997,2.7,CRD,12.5 +CMT,1,1,2662,16.4,CSH,49.5 +CMT,1,1,409,0.8,CRD,6.5 +CMT,1,1,257,1.6,CRD,6.5 +CMT,1,1,544,1,CRD,7.5 +CMT,1,1,137,0.3,CSH,3.5 +CMT,1,1,113,0.7,CSH,4 +CMT,1,1,826,1.4,CRD,10 +CMT,1,1,427,1.3,CSH,7 +CMT,1,2,383,1.7,CSH,7.5 +CMT,1,1,279,0.7,CRD,5.5 +CMT,1,1,841,3.1,CRD,13.5 +CMT,1,1,858,1.9,CRD,11 +CMT,1,1,586,1.1,CRD,8.5 +CMT,1,1,614,3.3,CRD,12.5 +CMT,1,1,543,1,CSH,7.5 +CMT,1,1,733,1.4,CRD,9 +CMT,1,2,1081,2.7,CSH,13.5 +CMT,1,1,421,0.4,CRD,6 +CMT,1,1,648,2.2,CRD,9.5 +CMT,1,1,408,1.1,CSH,6.5 +CMT,1,1,122,0.6,CSH,4 +CMT,1,1,711,5.3,CSH,17 +CMT,1,1,738,3.8,CRD,14 +CMT,1,1,540,1.5,CRD,8 +CMT,1,1,484,0.7,CRD,7 +CMT,1,1,109,0.4,CRD,3.5 +CMT,1,1,577,2.5,CSH,10 +CMT,1,2,435,1.6,CRD,7.5 +CMT,1,1,235,1.5,CSH,6 +CMT,1,2,459,0.9,CSH,7 +CMT,1,1,875,2.8,CSH,12.5 +CMT,1,1,380,1.4,CRD,7 +CMT,1,1,616,3,CRD,11.5 +CMT,1,1,314,1.1,CSH,6 +CMT,1,1,1099,6.5,CSH,22 +CMT,1,2,330,0.9,CSH,6 +CMT,1,2,617,3.4,CSH,12.5 +CMT,1,1,620,1.3,CRD,8.5 +CMT,1,1,1225,3.1,CRD,15 +CMT,1,2,291,0.6,CSH,5 +CMT,1,2,253,1.4,CSH,6 +CMT,1,1,479,1.9,CSH,8.5 +CMT,1,1,806,3.6,CRD,14 +CMT,1,3,369,1.6,CSH,7.5 +CMT,1,1,274,1,CSH,5.5 +CMT,1,1,289,1.4,CRD,6.5 +CMT,1,3,393,1.8,CSH,8 +CMT,1,1,1276,5.1,CRD,20.5 +CMT,1,1,599,2.1,CRD,9.5 +CMT,1,1,958,1.7,CSH,10.5 +CMT,1,2,179,0.8,CRD,4.5 +CMT,1,1,1405,6.9,CSH,24.5 +CMT,1,1,902,2.1,CSH,11 +CMT,1,1,673,3.2,CRD,11.5 +CMT,1,1,901,1.9,CRD,11 +CMT,1,1,431,1.2,CRD,7 +CMT,1,1,661,2.5,CRD,10.5 +CMT,1,1,498,1.9,CRD,8.5 +CMT,1,1,101,0.7,CRD,4 +CMT,1,1,742,1.7,CRD,10 +CMT,1,1,823,1.8,CRD,11 +CMT,1,1,832,2,CSH,11 +CMT,1,1,837,1.7,CSH,10.5 +CMT,1,4,511,1.5,CSH,8 +CMT,1,1,205,1,CRD,5 +CMT,1,2,477,0.7,CSH,6.5 +CMT,1,2,212,0.7,CSH,4.5 +CMT,1,2,823,2.4,CRD,11.5 +CMT,1,1,716,1.8,CSH,10 +CMT,1,4,530,1.4,CSH,8 +CMT,1,2,997,3.1,CSH,13.5 +CMT,1,3,967,4,CSH,15.5 +CMT,1,2,374,1.5,CRD,7 +CMT,1,1,413,1,CRD,6.5 +CMT,1,1,308,0.7,CRD,5.5 +CMT,1,1,166,0.8,CRD,4.5 +CMT,1,1,464,1.5,CRD,7.5 +CMT,1,1,394,1.4,CSH,7 +CMT,1,3,1323,7.9,CSH,25.5 +CMT,1,1,989,6.3,CRD,19.5 +CMT,1,3,558,1.6,CSH,8 +CMT,1,2,1357,7.3,CSH,24.5 +CMT,1,4,590,2.1,CSH,9.5 +CMT,1,1,678,2.9,CRD,12 +CMT,1,1,486,1.6,CRD,7.5 +CMT,1,1,516,1.5,CSH,8.5 +CMT,1,1,232,1.1,CRD,6 +CMT,1,1,888,3.7,CRD,14.5 +CMT,1,2,1214,4.4,CRD,17 +CMT,1,4,917,3.7,CSH,14 +CMT,1,2,564,2.5,CSH,10 +CMT,1,1,458,1.7,CSH,8 +CMT,1,1,943,5.5,CSH,18 +CMT,1,1,1008,2.9,CRD,13 +CMT,1,1,386,0.6,CRD,6 +CMT,1,1,428,1.9,CSH,8 +CMT,1,1,464,1.7,CSH,8 +CMT,1,1,1038,2.2,CRD,12.5 +CMT,1,1,476,1.1,CRD,7.5 +CMT,1,1,3076,11.2,CSH,40 +CMT,1,1,267,0.7,CSH,5 +CMT,1,1,1051,3.5,CRD,14.5 +CMT,1,1,333,0.8,CSH,6 +CMT,1,1,725,1.6,CSH,9.5 +CMT,1,3,316,0.8,CSH,5.5 +CMT,1,1,926,3.4,CSH,14 +CMT,1,1,552,1.9,CRD,9 +CMT,1,2,644,1.2,CRD,8.5 +CMT,1,4,191,0.5,CRD,4.5 +CMT,1,1,714,8.7,CRD,24.5 +CMT,1,2,416,1.6,CRD,7.5 +CMT,1,3,1021,3.2,CRD,14 +CMT,1,1,425,2.4,CRD,9 +CMT,1,1,317,1.7,CRD,7 +CMT,1,1,358,1.2,CSH,6.5 +CMT,1,2,824,2.9,CRD,12.5 +CMT,1,1,163,0.4,CRD,4 +CMT,1,2,536,1.5,CSH,8 +CMT,1,1,597,1.7,CRD,8.5 +CMT,1,1,251,1.1,CRD,6 +CMT,2,2,1392,10.8,CSH,52 +CMT,1,2,34,0.1,CRD,2.5 +CMT,1,1,720,3.2,CRD,13 +CMT,1,1,1188,5,CRD,19 +CMT,1,1,634,3.2,CSH,12 +CMT,1,1,1096,8.3,CRD,25 +CMT,1,1,647,1,CRD,8 +CMT,1,2,297,0.6,CSH,5 +CMT,1,2,669,1.5,CSH,9 +CMT,1,1,522,1.5,CRD,7.5 +CMT,1,4,563,2.1,CSH,9 +CMT,1,1,741,2.6,CRD,11 +CMT,1,1,684,3.1,CSH,12.5 +CMT,1,1,674,2.5,CRD,10.5 +CMT,1,1,607,2.2,CRD,9.5 +CMT,1,2,460,1.2,CSH,7 +CMT,1,1,495,1.1,CSH,7.5 +CMT,4,1,4746,21.1,CRD,135.5 +CMT,1,1,518,1,CRD,7 +CMT,1,2,1012,2.6,CSH,13.5 +CMT,1,1,288,0.9,CRD,5.5 +CMT,1,1,468,1.2,CSH,7 +CMT,1,1,901,3.4,CSH,14.5 +CMT,1,1,814,1.6,CRD,10 +CMT,1,2,1566,7.8,CRD,27 +CMT,1,1,762,2.5,CRD,11 +CMT,1,2,396,1.6,CRD,8 +CMT,1,1,445,2.9,CSH,10 +CMT,1,1,183,0.3,CRD,4 +CMT,1,1,355,1,CRD,6 +CMT,1,1,587,3.7,CRD,12.5 +CMT,1,1,874,4.1,CSH,15 +CMT,4,1,13,0,CSH,2.5 +CMT,1,2,493,1.1,CSH,7.5 +CMT,1,2,251,0.7,CRD,5 +CMT,1,2,430,0.6,CSH,6.5 +CMT,1,2,1034,5.1,CRD,17 +CMT,1,2,695,2.8,CRD,11.5 +CMT,1,2,705,4.6,CRD,16 +CMT,1,2,766,2.5,CSH,11 +CMT,1,1,304,1.6,CRD,7 +CMT,1,1,1983,8.3,CSH,26.5 +CMT,1,1,647,2.1,CRD,9.5 +CMT,1,1,1400,5.8,CRD,21 +CMT,1,1,335,1.2,CRD,6 +CMT,1,1,247,0.8,CRD,5.5 +CMT,1,1,409,0.9,CRD,6.5 +CMT,1,1,614,2.3,CRD,10.5 +CMT,1,1,281,0.7,CRD,5 +CMT,1,1,317,1.5,CRD,6.5 +CMT,1,2,560,3.4,CRD,12.5 +CMT,1,2,758,3.3,CSH,12.5 +CMT,1,2,1153,4.9,CSH,18 +CMT,1,2,275,0.9,CRD,5.5 +CMT,1,1,213,0.6,CRD,4.5 +CMT,1,1,744,1.6,CRD,9.5 +CMT,1,2,301,1.1,CSH,6 +CMT,1,1,508,2.7,CRD,10 +CMT,1,2,823,4.6,CRD,16.5 +CMT,1,3,117,0.5,CRD,4 +CMT,1,1,76,0.6,CSH,4 +CMT,1,1,254,1.3,CSH,6 +CMT,1,1,261,0.7,CRD,5 +CMT,1,3,1298,2.7,CSH,15 +CMT,1,1,241,0.8,CSH,5 +CMT,1,1,635,3.8,CSH,13.5 +CMT,1,1,250,0.6,CRD,5 +CMT,1,1,662,2,CRD,10 +CMT,1,1,496,2.3,CSH,9 +CMT,1,1,729,5,CSH,16.5 +CMT,1,1,596,1.9,CRD,9.5 +CMT,1,1,559,1.5,CRD,8.5 +CMT,1,1,981,1.6,CRD,11.5 +CMT,1,2,539,2,CSH,9 +CMT,1,1,178,0.9,CSH,5 +CMT,1,1,162,0.7,CSH,4.5 +CMT,1,3,257,0.4,CRD,4.5 +CMT,1,4,407,1.4,CSH,7.5 +CMT,1,1,124,0.5,CSH,4 +CMT,1,2,450,1.6,CRD,8 +CMT,2,1,1510,18.8,CRD,52 +CMT,1,1,743,2.6,CRD,11 +CMT,1,1,93,0.4,CRD,3.5 +CMT,1,1,2292,12.3,CSH,40.5 +CMT,1,1,214,0.5,CSH,4.5 +CMT,1,1,1162,2.6,CRD,13.5 +CMT,1,2,1783,4.5,CSH,20 +CMT,1,2,476,1,CRD,7 +CMT,1,1,191,0.6,CRD,4.5 +CMT,1,1,969,3.9,CSH,15.5 +CMT,1,1,489,1.4,CRD,8 +CMT,1,2,1033,3.1,CSH,14 +CMT,1,1,318,1,CSH,6 +CMT,1,2,307,0.7,CRD,5.5 +CMT,1,2,1242,3.1,CRD,15 +CMT,1,2,355,1.2,CRD,6.5 +CMT,1,3,560,1.1,CSH,7.5 +CMT,1,1,485,1.6,CRD,8 +CMT,1,3,1226,6.1,CSH,21.5 +CMT,1,1,702,2.1,CSH,10.5 +CMT,1,1,364,1.1,CSH,6.5 +CMT,1,1,442,0.8,CSH,6.5 +CMT,1,1,391,1,CSH,6.5 +CMT,1,1,220,0.7,CSH,4.5 +CMT,1,2,347,1.2,CSH,6.5 +CMT,1,2,1197,3.9,CRD,16.5 +CMT,1,1,70,0.2,NOC,3 +CMT,1,2,404,1.3,CRD,7 +CMT,1,1,280,1,CSH,6 +CMT,1,5,491,1.7,CSH,8.5 +CMT,1,3,217,0.8,CSH,5 +CMT,1,1,185,0.9,CRD,5 +CMT,1,1,916,3.4,CSH,13.5 +CMT,1,1,913,2.5,CRD,12 +CMT,1,1,815,2.1,CSH,11 +CMT,1,1,1016,4.2,CSH,16 +CMT,1,1,140,0.7,CRD,4 +CMT,1,1,153,0.3,CSH,4 +CMT,1,1,809,1.3,CRD,10 +CMT,1,1,302,1.8,CSH,7.5 +CMT,1,1,337,0.9,CSH,6 +CMT,1,1,1419,2.5,CSH,16 +CMT,1,1,975,1.6,CRD,11.5 +CMT,1,1,312,0.8,CRD,5.5 +CMT,1,1,1394,1.7,CRD,14.5 +CMT,1,2,617,2.5,CSH,10.5 +CMT,1,1,211,0.6,CRD,4.5 +CMT,1,1,1664,8.3,CRD,28 +CMT,1,1,1211,13,CRD,36 +CMT,1,2,240,0.5,CRD,4.5 +CMT,1,1,461,1.2,CRD,7 +CMT,1,4,613,2,CSH,9.5 +CMT,1,1,586,3.5,CRD,12 +CMT,1,5,964,6.5,CSH,20.5 +CMT,1,1,675,3.9,CSH,14 +CMT,1,2,783,3.1,CSH,12.5 +CMT,1,1,776,4.4,CRD,15 +CMT,1,1,187,1,CSH,5 +CMT,1,1,132,0.5,CRD,4 +CMT,1,1,980,3.5,CRD,14.5 +CMT,1,1,377,0.4,CSH,5.5 +CMT,1,1,747,1.8,CRD,10.5 +CMT,1,1,866,2.6,CRD,12 +CMT,1,1,157,0.4,CRD,4 +CMT,1,1,354,1.5,CSH,7 +CMT,1,1,294,1.4,CSH,6 +CMT,1,1,367,1.4,CRD,7 +CMT,1,1,823,1.6,CSH,10 +CMT,1,1,1144,2.9,CSH,14.5 +CMT,1,1,540,1.2,CSH,7.5 +CMT,1,1,567,2.5,CRD,10 +CMT,1,1,99,0.6,CSH,4 +CMT,1,1,242,1.8,CSH,7 +CMT,1,1,582,2.7,CSH,10.5 +CMT,1,1,395,1.9,CSH,8.5 +CMT,2,1,2524,21.2,CRD,52 +CMT,1,1,365,1.1,CRD,6.5 +CMT,1,1,265,0.8,CSH,5 +CMT,1,1,353,0.7,CSH,5.5 +CMT,1,1,1040,1.6,CRD,12 +CMT,1,2,1245,2.2,CSH,13.5 +CMT,1,1,48,0.2,CSH,3 +CMT,1,1,780,2.3,CSH,10.5 +CMT,1,1,2166,14.3,CSH,43 +CMT,1,1,972,5.2,CRD,18 +CMT,1,1,365,1.1,CRD,6.5 +CMT,1,1,417,2.5,CRD,9 +CMT,1,1,315,1.9,CRD,7.5 +CMT,1,1,581,3.4,CRD,11.5 +CMT,1,1,870,2.8,CRD,12 +CMT,1,1,915,3.1,CRD,13.5 +CMT,1,1,631,1.7,CSH,9.5 +CMT,1,1,343,1.8,CRD,7.5 +CMT,1,1,644,3.8,CRD,13.5 +CMT,1,2,362,1,CSH,6.5 +CMT,1,1,318,2,CRD,8 +CMT,1,1,803,2.6,CSH,11.5 +CMT,1,2,148,0.4,CRD,4 +CMT,1,1,493,1.8,CSH,8.5 +CMT,1,2,166,0.7,CSH,4.5 +CMT,1,2,407,1.5,CRD,7.5 +CMT,1,2,626,3,CSH,11.5 +CMT,1,1,226,1.1,CSH,5.5 +CMT,1,1,2006,11.5,CSH,37 +CMT,1,1,326,1.2,CRD,6.5 +CMT,5,1,37,0,CRD,17.5 +CMT,1,1,837,4.5,CRD,16 +CMT,1,4,607,3.2,CSH,11.5 +CMT,1,1,452,1,CSH,6.5 +CMT,1,1,763,4.5,CRD,15.5 +CMT,1,1,512,1.3,CRD,7.5 +CMT,1,1,907,3.8,CRD,14 +CMT,1,2,379,0.9,CSH,6 +CMT,1,2,1970,5.2,CSH,23.5 +CMT,1,1,370,0.9,CSH,6 +CMT,1,1,761,1.5,CRD,9.5 +CMT,1,1,169,0.4,CRD,4 +CMT,1,1,229,0.5,CSH,4.5 +CMT,1,1,396,1.6,CRD,7 +CMT,1,2,566,1.8,CSH,8.5 +CMT,1,1,172,1,CSH,5 +CMT,1,2,642,1.6,CSH,9 +CMT,1,1,687,2.2,CRD,10 +CMT,1,1,1206,5.7,CSH,20 +CMT,1,1,269,0.8,CSH,5 +CMT,1,1,691,2.6,CRD,11.5 +CMT,1,1,1180,5.1,CRD,19.5 +CMT,1,1,305,1,CRD,5.5 +CMT,1,1,445,2.6,CSH,9.5 +CMT,1,1,363,0.7,CSH,5.5 +CMT,1,1,321,1.2,CSH,6 +CMT,1,1,911,5.8,CRD,19.5 +CMT,1,1,430,1.9,CSH,8.5 +CMT,1,1,286,0.5,CRD,5 +CMT,1,1,260,0.7,CSH,5 +CMT,1,1,451,1.8,CSH,8 +CMT,1,1,399,0.8,CSH,6 +CMT,1,1,182,0.6,CSH,4 +CMT,1,1,871,1.1,CRD,10 +CMT,1,1,313,0.9,CRD,5.5 +CMT,1,1,150,0.6,CSH,4.5 +CMT,1,1,480,0.8,CRD,7 +CMT,1,1,239,1.1,CSH,5.5 +CMT,1,1,1408,2.4,CRD,15.5 +CMT,1,1,583,0.5,CRD,7.5 +CMT,1,1,267,0.5,CSH,5 +CMT,1,1,1030,2.6,CRD,13 +CMT,1,1,323,1,CRD,6 +CMT,1,1,123,0.2,CRD,3.5 +CMT,1,3,434,2.5,CRD,10 +CMT,1,2,1196,3.4,CSH,15.5 +CMT,1,4,264,1,CRD,5.5 +CMT,1,1,365,0.7,CSH,6 +CMT,1,2,662,2.3,CSH,10 +CMT,1,1,995,5.9,CRD,19.5 +CMT,1,1,130,0.4,CSH,4 +CMT,1,2,949,5.5,CRD,18.5 +CMT,1,1,621,1.3,CRD,8.5 +CMT,1,1,351,0.9,CSH,6 +CMT,1,1,57,0.2,CSH,3 +CMT,1,1,654,2.3,CRD,10.5 +CMT,1,1,248,0.9,CRD,5.5 +CMT,1,1,212,0.3,CSH,4 +CMT,1,1,620,2.7,CRD,10.5 +CMT,1,1,628,2.6,CRD,10.5 +CMT,1,1,324,1,CSH,6 +CMT,1,1,284,1.2,CSH,6 +CMT,1,1,914,2.6,CRD,12.5 +CMT,1,1,1264,4.3,CRD,18 +CMT,1,1,1601,4.4,CRD,20 +CMT,1,1,783,1.9,CRD,11 +CMT,1,1,846,2.2,CSH,11.5 +CMT,1,1,429,0.6,CRD,6 +CMT,4,1,787,1.2,CSH,9.5 +CMT,1,1,542,2.2,CRD,9.5 +CMT,1,1,175,0.8,CRD,5 +CMT,1,1,826,4.4,CRD,15 +CMT,1,2,563,2.9,CRD,11 +CMT,1,3,974,6.4,CSH,20 +CMT,1,1,166,0.5,CRD,4 +CMT,1,1,819,1.4,CRD,10 +CMT,1,1,978,2.7,CSH,12.5 +CMT,1,1,432,1.1,CRD,7 +CMT,1,2,475,0.8,CRD,6.5 +CMT,1,1,328,1.1,CSH,6 +CMT,1,1,165,0.6,CRD,4.5 +CMT,1,1,375,1.5,CRD,7 +CMT,1,1,424,1.9,CSH,8 +CMT,1,1,473,1.8,CRD,8.5 +CMT,1,1,670,1.8,CSH,9.5 +CMT,1,1,174,0.9,CSH,4.5 +CMT,1,1,587,2.1,CRD,9.5 +CMT,1,1,1477,6.9,CRD,23 +CMT,1,1,215,1.2,CRD,5.5 +CMT,1,1,298,0.7,CSH,5.5 +CMT,1,1,289,1,CSH,5.5 +CMT,1,1,418,0.9,CSH,6.5 +CMT,1,1,306,0.6,CSH,5 +CMT,1,1,950,3.5,CRD,14 +CMT,1,1,485,0.9,CSH,7 +CMT,1,2,459,1.3,CSH,7.5 +CMT,1,1,566,0.8,CRD,7.5 +CMT,1,1,690,0.8,CRD,8.5 +CMT,1,1,1668,8.9,CRD,29 +CMT,1,1,318,0.9,CRD,5.5 +CMT,1,1,900,2.8,CRD,13 +CMT,1,1,1214,2.8,CSH,15 +CMT,1,1,208,0.5,CRD,4.5 +CMT,1,1,651,3.5,CRD,12.5 +CMT,1,1,376,1.6,CSH,7.5 +CMT,1,1,1555,7.5,CSH,26 +CMT,1,1,673,2.5,CRD,10.5 +CMT,1,1,435,1.6,CSH,7.5 +CMT,1,1,561,1,CSH,7.5 +CMT,1,1,266,1.1,CRD,5.5 +CMT,1,1,1249,3.9,CRD,16.5 +CMT,1,1,347,0.8,CSH,6 +CMT,1,1,206,0.5,CSH,4.5 +CMT,1,1,803,2.2,CSH,11.5 +CMT,1,1,289,1.1,CRD,6 +CMT,1,1,345,0.9,CRD,6 +CMT,1,1,62,0.4,CSH,3.5 +CMT,1,1,775,3.5,CRD,13.5 +CMT,1,1,247,0.7,CRD,5 +CMT,1,1,211,0.7,CSH,4.5 +CMT,1,1,519,1.3,CRD,7.5 +CMT,1,1,742,1.9,CSH,10.5 +CMT,1,1,484,1.4,CRD,7.5 +CMT,1,1,1097,1.3,CRD,12 +CMT,1,1,809,2.4,CRD,11.5 +CMT,1,1,410,0.8,CRD,6 +CMT,1,1,711,0.8,CSH,8.5 +CMT,1,1,176,0.6,CRD,4.5 +CMT,1,1,665,1.9,CRD,9.5 +CMT,1,1,1050,7.8,CRD,24 +CMT,1,1,253,0.5,CRD,5 +CMT,1,1,192,0.8,CSH,5 +CMT,1,1,255,1,CSH,5.5 +CMT,1,1,290,0.8,CRD,5.5 +CMT,1,1,234,0.5,CRD,4.5 +CMT,1,1,645,1.3,CSH,8.5 +CMT,1,1,226,0.8,CRD,5 +CMT,1,1,603,1.7,CRD,8.5 +CMT,1,1,153,0.6,CSH,4.5 +CMT,1,1,963,5.7,CSH,18 +CMT,1,1,979,3.8,CSH,14.5 +CMT,1,1,950,2.9,CSH,13 +CMT,1,1,350,1,CRD,6.5 +CMT,1,1,296,0.7,CSH,5.5 +CMT,1,1,297,0.9,CSH,5.5 +CMT,1,1,546,1.5,CRD,8 +CMT,1,1,195,0.9,CRD,5 +CMT,1,1,655,0.6,CRD,8 +CMT,1,1,270,0.7,CSH,5 +CMT,1,1,420,1.2,CRD,7 +CMT,1,1,342,1.3,CSH,7 +CMT,1,1,262,1.1,CRD,5.5 +CMT,1,1,498,1.3,CSH,7.5 +CMT,1,1,306,1.3,CRD,6 +CMT,1,1,516,1.3,CRD,7.5 +CMT,1,1,596,2.4,CSH,10 +CMT,1,1,711,2.6,CSH,11 +CMT,1,1,810,2.4,CSH,11 +CMT,1,1,628,2.8,CRD,11 +CMT,1,1,276,0.7,CSH,5.5 +CMT,1,1,1074,4.6,CRD,16.5 +CMT,1,1,1170,1.8,CRD,13 +CMT,1,1,1342,5.4,CRD,20.5 +CMT,1,1,708,1.6,CRD,9.5 +CMT,1,1,741,1,CSH,9.5 +CMT,1,1,475,0.8,CSH,6.5 +CMT,1,1,208,1.3,CRD,5.5 +CMT,1,1,451,1.8,CSH,8 +CMT,1,1,142,0.3,CRD,3.5 +CMT,1,1,174,0.7,CRD,4.5 +CMT,1,1,202,0.2,CRD,4 +CMT,1,1,254,0.9,CRD,5.5 +CMT,1,1,816,3.3,CRD,12.5 +CMT,1,1,336,0.9,CSH,6 +CMT,1,1,416,1.3,CRD,7 +CMT,1,2,480,1.8,CSH,8 +CMT,1,2,233,0.9,CSH,5 +CMT,1,1,1299,5.4,CRD,20.5 +CMT,1,1,620,1.6,CSH,8.5 +CMT,1,1,343,0.7,CSH,5.5 +CMT,1,1,886,3.9,CRD,14.5 +CMT,1,1,377,0.6,CRD,5.5 +CMT,1,1,1224,2.2,CRD,14.5 +CMT,1,1,145,0.5,CRD,4 +CMT,1,2,582,2.2,CSH,9.5 +CMT,1,1,1357,11.7,CSH,34 +CMT,1,1,1013,3.6,CRD,15 +CMT,1,1,594,3.2,CRD,12 +CMT,1,1,285,0.9,CSH,5.5 +CMT,1,1,690,1.6,CRD,9 +CMT,1,1,594,1.9,CRD,9.5 +CMT,1,2,1003,5.1,CSH,18.5 +CMT,1,1,773,1.1,CRD,9.5 +CMT,1,1,532,0.8,CSH,7.5 +CMT,1,1,412,0.5,CSH,6 +CMT,1,1,728,3,CSH,12 +CMT,1,1,805,2.8,CRD,12 +CMT,1,1,799,4,CRD,14 +CMT,1,1,1692,7.9,CSH,27.5 +CMT,1,1,501,1.6,CSH,8 +CMT,1,1,466,1.9,CSH,8 +CMT,1,2,533,2.3,CRD,9.5 +CMT,1,1,1206,9.5,CRD,29 +CMT,1,2,335,0.9,CSH,6 +CMT,1,1,544,1.9,CRD,9 +CMT,1,1,73,0.3,CSH,3.5 +CMT,1,1,1211,2.3,CSH,14 +CMT,1,1,784,1.4,CSH,9.5 +CMT,1,1,234,1,CRD,5.5 +CMT,1,1,684,2.8,CRD,11 +CMT,1,1,831,3.5,CRD,14 +CMT,1,1,411,2.3,CSH,8.5 +CMT,1,1,257,0.8,CRD,5.5 +CMT,1,1,558,2.6,CRD,10.5 +CMT,1,1,811,6.8,CSH,20.5 +CMT,1,1,692,2.3,CRD,11 +CMT,1,1,306,1,CRD,6 +CMT,1,1,440,2,CRD,8 +CMT,1,1,309,0.6,CSH,5.5 +CMT,1,1,253,1.1,CSH,5.5 +CMT,1,1,904,1.7,CRD,11 +CMT,1,1,845,2.2,CRD,11 +CMT,1,1,249,0.5,CRD,4.5 +CMT,1,1,1282,3.6,CRD,16.5 +CMT,1,1,915,1.2,CRD,10.5 +CMT,1,1,1225,3.9,CSH,16.5 +CMT,1,1,867,2,CRD,11.5 +CMT,1,1,631,1.5,CSH,8.5 +CMT,1,1,832,1.6,CRD,10.5 +CMT,1,1,366,0.9,CRD,6 +CMT,1,1,454,1.2,CRD,7 +CMT,1,1,562,1.2,CRD,8 +CMT,1,1,606,2.2,CSH,9.5 +CMT,1,1,618,1.5,CRD,8.5 +CMT,1,1,760,1.7,CSH,10 +CMT,1,1,182,0.3,CRD,4 +CMT,1,1,472,2.1,CRD,8.5 +CMT,1,1,1444,4.7,CSH,20 +CMT,1,1,194,0.8,CSH,5 +CMT,1,1,222,0.6,CSH,4.5 +CMT,1,1,955,2.3,CRD,12.5 +CMT,1,1,633,1.4,CSH,8.5 +CMT,1,1,125,0.4,CSH,3.5 +CMT,1,1,796,3.6,CRD,13 +CMT,1,1,500,1.5,CRD,8 +CMT,1,1,699,2.1,CRD,10 +CMT,1,1,312,0.4,CRD,5 +CMT,1,1,278,1,CSH,5.5 +CMT,1,1,548,2.4,CRD,9.5 +CMT,1,2,483,1.3,CSH,7.5 +CMT,1,1,160,0.4,CSH,4 +CMT,1,1,690,3.8,CRD,13 +CMT,1,1,359,0.8,CRD,6 +CMT,1,1,163,0.5,CRD,4 +CMT,1,1,862,2.8,CRD,12 +CMT,1,1,669,1.7,CSH,9.5 +CMT,2,1,3747,20.7,CRD,52 +CMT,1,1,1052,2.3,CRD,13 +CMT,1,1,452,1.1,CSH,7 +CMT,1,1,632,1.3,CRD,8.5 +CMT,1,1,757,1.3,CSH,9.5 +CMT,1,1,328,0.5,CRD,5.5 +CMT,1,1,638,1,CSH,8 +CMT,1,1,415,1.1,CSH,6.5 +CMT,1,1,374,0.9,CSH,6.5 +CMT,1,1,470,0.9,CSH,6.5 +CMT,1,2,459,2.1,CSH,8.5 +CMT,1,1,774,2.6,CRD,11.5 +CMT,1,1,618,2.1,CSH,10 +CMT,1,1,1583,7.4,CRD,24.5 +CMT,1,1,321,1,CRD,6 +CMT,1,1,110,0.7,CRD,4 +CMT,1,1,346,1.7,CRD,7.5 +CMT,1,1,185,0.7,CSH,5 +CMT,1,1,564,1.6,CSH,8.5 +CMT,1,1,356,1.3,CRD,6.5 +CMT,1,1,1049,3.5,CSH,14.5 +CMT,1,1,1165,6.4,CRD,21 +CMT,1,1,426,1.6,CSH,7.5 +CMT,1,1,1040,7.4,CRD,23 +CMT,1,1,944,4.1,CRD,15 +CMT,1,1,449,1.6,CSH,8 +CMT,1,1,309,0.7,CRD,5.5 +CMT,1,1,1346,3.7,CRD,17 +CMT,1,1,271,0.8,CRD,5.5 +CMT,1,1,174,0.4,CSH,4 +CMT,1,1,352,2.6,CRD,9 +CMT,1,1,490,1.2,CRD,7.5 +CMT,1,1,775,2.1,CRD,10.5 +CMT,1,1,678,2.3,CSH,11 +CMT,1,1,1303,5.1,CRD,19.5 +CMT,1,1,334,0.8,CRD,5.5 +CMT,1,1,406,0.7,CSH,6 +CMT,1,1,721,2.3,CRD,10.5 +CMT,1,1,1092,5.5,CRD,18 +CMT,1,1,527,1.7,CSH,8.5 +CMT,1,2,1010,3.1,CSH,14 +CMT,1,1,760,2.5,CRD,11 +CMT,1,1,381,1.2,CRD,6.5 +CMT,1,1,551,2,CRD,8.5 +CMT,1,1,395,1.3,CRD,6.5 +CMT,1,1,665,3.1,CRD,11.5 +CMT,1,1,409,1.6,CRD,7.5 +CMT,1,1,461,1.1,CSH,7 +CMT,1,1,671,1.6,CRD,9.5 +CMT,1,1,441,1.3,CSH,7 +CMT,1,3,1135,4.2,CSH,16.5 +CMT,1,1,405,1.4,CSH,7 +CMT,1,1,1681,4.3,CRD,20.5 +CMT,1,1,574,1.1,CSH,7.5 +CMT,1,1,1043,4.2,CRD,16 +CMT,1,1,421,1.2,CSH,7 +CMT,1,1,1006,3.8,CRD,15.5 +CMT,1,1,746,1.5,CRD,9.5 +CMT,1,1,290,0.8,CSH,5.5 +CMT,1,1,355,0.9,CRD,6 +CMT,1,1,807,3.1,CRD,12.5 +CMT,1,1,850,2.4,CRD,11 +CMT,1,1,309,0.6,CSH,5.5 +CMT,1,1,505,1.5,CRD,8 +CMT,1,1,505,1.6,CSH,8 +CMT,1,1,681,3.7,CSH,12.5 +CMT,1,1,639,2,CRD,10 +CMT,1,1,368,1.3,CRD,6.5 +CMT,1,1,805,4.6,CRD,16 +CMT,1,1,1190,8.1,CRD,25.5 +CMT,1,1,364,1,CSH,6 +CMT,1,1,335,1.4,CRD,7 +CMT,1,1,1569,10.7,CRD,32.5 +CMT,1,1,46,0.2,CSH,3 +CMT,1,1,376,2.4,CSH,9 +CMT,1,2,534,2.1,CSH,9 +CMT,1,2,912,3.6,CSH,14 +CMT,1,4,418,1.4,CSH,7 +CMT,1,2,662,2.6,CSH,10.5 +CMT,1,1,240,1,CRD,5 +CMT,1,1,742,2.2,CRD,10.5 +CMT,1,2,325,1.4,CSH,6.5 +CMT,1,1,569,1.1,CSH,8 +CMT,1,2,870,1.5,CSH,10.5 +CMT,1,1,1125,2.8,CRD,14 +CMT,1,1,719,1.3,CRD,9 +CMT,1,1,1005,3.4,CSH,14.5 +CMT,1,1,1024,0.8,CSH,11 +CMT,1,1,286,0.8,CRD,5.5 +CMT,1,1,1057,5.3,CRD,18.5 +CMT,1,1,732,4,CSH,14 +CMT,1,1,671,1.5,CRD,9 +CMT,1,1,1243,4.2,CRD,17 +CMT,1,1,321,0.6,CSH,5.5 +CMT,1,1,322,1.4,CRD,6.5 +CMT,1,1,148,0.4,CRD,4 +CMT,1,1,407,1.4,CSH,7.5 +CMT,1,1,572,2.7,CSH,10.5 +CMT,1,1,870,1.1,CSH,10 +CMT,1,1,790,0.8,CSH,9.5 +CMT,1,1,616,4.2,CRD,13.5 +CMT,1,1,852,3.1,CRD,12.5 +CMT,1,1,133,0.5,CRD,4 +CMT,1,1,251,0.4,CRD,4.5 +CMT,1,1,330,0.9,CRD,6 +CMT,1,1,255,0.8,CRD,5.5 +CMT,1,1,1897,3.9,CRD,22.5 +CMT,1,1,981,4.4,CSH,16 +CMT,1,1,196,0.9,CSH,5 +CMT,1,1,213,1.1,CRD,5.5 +CMT,1,1,999,9,CSH,26.5 +CMT,1,1,417,1.1,CRD,6.5 +CMT,1,1,373,0.8,CSH,6 +CMT,1,1,259,1.2,CRD,6 +CMT,1,1,926,6.3,CRD,20 +CMT,1,1,111,0.4,CSH,3.5 +CMT,1,1,551,1.5,CRD,8.5 +CMT,5,1,3478,32.5,CRD,95 +CMT,1,1,463,0.7,CRD,6.5 +CMT,1,1,229,1.7,CSH,6.5 +CMT,1,1,490,1.2,CRD,7.5 +CMT,1,1,638,1.4,CRD,9 +CMT,1,1,514,1.2,CSH,7.5 +CMT,1,1,848,3.1,CRD,13 +CMT,1,1,758,1.7,CSH,10 +CMT,1,1,625,2.1,CSH,10 +CMT,1,1,441,1.5,CSH,7.5 +CMT,1,1,732,1.9,CRD,10 +CMT,1,1,327,0.9,CRD,6 +CMT,1,1,863,1.5,CRD,10.5 +CMT,1,1,1140,3.8,CRD,15 +CMT,1,1,186,0.6,CSH,4.5 +CMT,5,2,1501,7.1,CRD,40 +CMT,1,1,2884,13.4,CRD,45 +CMT,1,1,1770,7.6,CRD,27 +CMT,1,1,839,4.6,CSH,15.5 +CMT,1,1,732,1.1,CSH,9 +CMT,1,1,1352,4,CRD,18 +CMT,1,1,615,1.6,CSH,9 +CMT,1,1,752,3.1,CRD,12 +CMT,1,4,479,2.1,CSH,9 +CMT,1,1,826,1.4,CRD,10 +CMT,1,1,1318,6.6,CSH,23 +CMT,1,2,786,1.6,CSH,10 +CMT,1,1,230,1.3,CSH,6 +CMT,1,1,980,3.3,CSH,14 +CMT,1,1,547,1.7,CRD,8.5 +CMT,1,1,891,3,CRD,12.5 +CMT,1,1,618,1.8,CRD,9 +CMT,1,1,503,0.6,CSH,7 +CMT,1,1,519,0.9,CSH,7.5 +CMT,1,1,244,0.6,CSH,5 +CMT,1,1,719,1.1,CSH,9 +CMT,1,1,433,0.7,CSH,6 +CMT,1,1,549,1.3,CRD,8 +CMT,1,1,835,2.8,CSH,12.5 +CMT,1,1,500,1.6,CRD,8 +CMT,1,1,1146,1.9,CSH,13 +CMT,1,1,206,0.4,CSH,4 +CMT,1,1,362,1.7,CRD,7.5 +CMT,1,1,398,0.9,CRD,6.5 +CMT,1,1,469,1.3,CRD,7.5 +CMT,1,1,259,0.9,CSH,5.5 +CMT,1,1,5,0,CSH,2.5 +CMT,1,1,1006,3.7,CRD,15.5 +CMT,1,1,1211,4,CRD,16 +CMT,1,1,360,1,CRD,6 +CMT,1,1,454,1.6,CSH,7.5 +CMT,1,1,899,4.8,CSH,16.5 +CMT,1,1,1178,2.5,CSH,14 +CMT,1,1,944,4.3,CRD,16 +CMT,1,1,699,2.9,CRD,12 +CMT,1,1,926,3.4,CRD,13.5 +CMT,1,1,308,0.8,CSH,5.5 +CMT,1,1,360,0.8,CSH,6 +CMT,1,1,655,1.4,CRD,9 +CMT,1,1,915,3.1,CRD,13.5 +CMT,1,1,523,1.6,CRD,8.5 +CMT,1,1,365,1.7,CRD,7.5 +CMT,1,1,583,1.1,CRD,8 +CMT,1,1,627,1.6,CRD,9 +CMT,1,1,327,0.7,CRD,5.5 +CMT,1,1,134,0.2,CSH,3.5 +CMT,1,1,490,2,CSH,8.5 +CMT,1,1,502,1.8,CRD,9 +CMT,1,1,1854,3.8,CRD,20.5 +CMT,1,1,429,1,CRD,7 +CMT,1,1,666,2,CSH,10 +CMT,1,1,404,1.6,CSH,7.5 +CMT,1,1,448,2.8,CRD,10 +CMT,1,1,280,1.3,CSH,6 +CMT,1,1,955,2.2,CRD,12 +CMT,1,1,1914,9.5,CRD,32 +CMT,1,1,579,1.7,CRD,9 +CMT,1,1,1399,10,CSH,30.5 +CMT,1,1,669,2.9,CRD,11.5 +CMT,1,1,1369,9.8,CRD,30 +CMT,1,1,688,1.7,CRD,9.5 +CMT,1,1,1682,7.9,CRD,27 +CMT,1,1,490,1.1,CRD,7.5 +CMT,1,1,1824,4,CRD,21 +CMT,1,1,772,2.2,CSH,11 +CMT,1,1,145,0.6,CRD,4.5 +CMT,1,1,866,4.8,CRD,17.5 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,1,343,0.7,CSH,5.5 +CMT,1,1,997,3.6,CRD,15 +CMT,1,1,428,1.2,CSH,7 +CMT,1,1,1102,3.7,CSH,15 +CMT,1,1,350,1,CRD,6 +CMT,1,1,1185,2.2,CSH,14 +CMT,1,1,339,0.9,CRD,5.5 +CMT,1,1,337,1.4,CRD,7 +CMT,1,1,985,5.4,CSH,18.5 +CMT,1,1,164,0.3,CSH,4 +CMT,1,1,375,1.1,CSH,6.5 +CMT,1,1,1000,1.6,CSH,11.5 +CMT,1,1,465,2.4,CRD,9 +CMT,1,1,835,1.5,CRD,10 +CMT,1,1,366,1.2,CRD,6.5 +CMT,1,1,509,1.9,CSH,8.5 +CMT,1,1,817,2.4,CSH,11.5 +CMT,1,1,910,2,CRD,11.5 +CMT,1,1,216,0.3,CSH,4 +CMT,1,1,279,0.7,CSH,5.5 +CMT,1,1,396,1.5,CRD,7 +CMT,1,1,168,0.6,CRD,4.5 +CMT,1,1,1065,7.5,CRD,23 +CMT,1,1,771,1.4,CSH,9.5 +CMT,1,1,198,0.4,CSH,4 +CMT,1,1,685,2.9,CSH,12 +CMT,1,1,687,3.6,CSH,13 +CMT,1,1,382,1.1,CSH,6 +CMT,1,1,581,2.3,CSH,9.5 +CMT,1,1,546,2.1,CSH,9 +CMT,1,1,891,1.9,CSH,11.5 +CMT,1,1,604,2.4,CSH,10 +CMT,1,1,430,0.8,CRD,6.5 +CMT,1,1,408,1.1,CRD,6.5 +CMT,1,1,1177,5.1,CSH,19 +CMT,1,1,1301,3.5,CSH,17 +CMT,1,1,260,1.1,CSH,5.5 +CMT,1,1,1032,2.3,CRD,13 +CMT,1,1,1767,4.1,CSH,20 +CMT,1,1,326,1,CSH,6 +CMT,1,1,546,2,CRD,9.5 +CMT,1,1,1450,3.7,CSH,17.5 +CMT,1,1,202,0.5,CSH,4.5 +CMT,1,1,876,6.1,CRD,19.5 +CMT,1,1,569,0.9,CRD,8 +CMT,1,1,442,0.9,CSH,6.5 +CMT,1,1,1641,3.7,CSH,19 +CMT,1,1,1462,7.3,CRD,25 +CMT,1,1,1480,5.8,CRD,22.5 +CMT,1,1,922,1,CRD,10 +CMT,1,1,821,1.1,CRD,9.5 +CMT,1,1,685,2.8,CRD,11 +CMT,1,1,295,1.4,CSH,6.5 +CMT,1,1,601,2.3,CRD,10.5 +CMT,1,1,198,0.8,CRD,5 +CMT,1,1,319,1,CRD,6 +CMT,1,1,776,2.7,CRD,11.5 +CMT,1,1,872,1.9,CRD,10.5 +CMT,1,1,596,1.9,CRD,9.5 +CMT,1,1,557,1.8,CRD,9.5 +CMT,1,1,164,0.7,CSH,4.5 +CMT,1,1,321,1.3,CSH,6.5 +CMT,1,1,603,1.5,CRD,8.5 +CMT,1,1,90,0.2,CSH,3 +CMT,1,1,288,1.2,CSH,6 +CMT,1,1,427,1.3,CRD,7.5 +CMT,1,1,563,1.7,CSH,8.5 +CMT,1,1,737,2.1,CRD,10.5 +CMT,1,1,1606,6.8,CRD,25.5 +CMT,1,1,945,2,CRD,12 +CMT,1,1,1313,9.9,CRD,29.5 +CMT,1,1,1270,2.5,CRD,15 +CMT,1,1,700,1.4,CSH,9 +CMT,1,1,412,1.6,CSH,7 +CMT,1,1,351,0.7,CSH,5.5 +CMT,1,1,327,1.3,CSH,7 +CMT,1,1,783,3.3,CRD,12.5 +CMT,1,1,695,1.2,CRD,9.5 +CMT,1,1,680,2,CRD,9.5 +CMT,1,1,451,0.2,CSH,6 +CMT,1,1,340,1.4,CSH,6.5 +CMT,1,1,911,4.3,CSH,16 +CMT,1,1,296,0.6,CSH,5.5 +CMT,1,1,1176,2.7,CRD,14.5 +CMT,1,1,208,0.7,CRD,4.5 +CMT,1,1,807,1.4,CSH,10.5 +CMT,1,1,315,0.8,CSH,5.5 +CMT,1,1,1197,9.7,CRD,28 +CMT,1,1,750,2.3,CSH,11 +CMT,1,1,697,2.6,CRD,11.5 +CMT,1,1,328,1.3,CRD,6.5 +CMT,1,1,1366,4.7,CSH,18.5 +CMT,1,1,152,0.6,CRD,4 +CMT,1,1,465,1.2,CRD,7 +CMT,1,1,977,3.3,CSH,14 +CMT,1,1,1121,2.6,CSH,13.5 +CMT,1,1,669,1.9,CRD,9 +CMT,1,1,534,2.6,CRD,10 +CMT,1,1,849,1.1,CSH,9.5 +CMT,1,1,217,0.7,CRD,5 +CMT,1,1,422,1,CRD,7 +CMT,1,1,421,1.3,CSH,7.5 +CMT,1,1,836,3.7,CSH,14.5 +CMT,1,1,1033,3.1,CSH,14 +CMT,1,1,1591,7,CRD,25.5 +CMT,1,1,1011,3,CRD,14 +CMT,1,1,432,1.1,CSH,7 +CMT,1,1,1111,1.6,CRD,12.5 +CMT,1,1,712,2.9,CSH,12 +CMT,1,1,251,0.4,CSH,5 +CMT,1,1,389,1.5,CSH,7 +CMT,1,1,1254,5,CRD,18.5 +CMT,1,1,582,3.1,CRD,11.5 +CMT,2,3,2260,19.2,CRD,52 +CMT,1,1,268,0.7,CSH,5 +CMT,1,1,340,1.5,CRD,7 +CMT,1,1,712,1.9,CRD,10 +CMT,1,1,624,1.9,CSH,9.5 +CMT,1,1,994,2.1,CSH,12.5 +CMT,1,1,563,1.3,CRD,8 +CMT,1,1,1001,1.7,CSH,12 +CMT,1,1,458,0.4,CRD,6 +CMT,1,1,794,1,CRD,9.5 +CMT,1,1,1870,5.5,CRD,22.5 +CMT,1,1,692,1.2,CSH,9 +CMT,1,1,839,2.2,CSH,11 +CMT,1,1,661,1.6,CSH,9 +CMT,1,1,523,1.1,CSH,7.5 +CMT,1,1,281,0.5,CRD,5 +CMT,1,1,752,1.8,CRD,10 +CMT,1,1,155,0.8,CRD,4.5 +CMT,1,1,330,0.9,CRD,6 +CMT,1,1,663,0.7,CSH,8 +CMT,1,1,1205,1.7,CSH,13.5 +CMT,1,1,1379,3.8,CRD,17 +CMT,1,1,1223,2.7,CSH,15 +CMT,1,1,473,1.1,CRD,7 +CMT,1,1,528,0.7,CRD,7 +CMT,1,1,595,1.4,CSH,8.5 +CMT,1,1,626,1.8,CSH,9 +CMT,1,1,244,0.8,CRD,5 +CMT,1,1,1081,3,CRD,14 +CMT,1,1,412,1,CSH,6.5 +CMT,1,1,475,1.2,CSH,7 +CMT,1,1,192,0.9,CSH,5 +CMT,1,1,533,1.5,CRD,8.5 +CMT,1,1,341,1,CRD,6 +CMT,1,1,294,0.9,CSH,6 +CMT,1,1,1447,4.4,CRD,18 +CMT,1,1,312,0.8,CSH,5.5 +CMT,1,1,520,1.6,CSH,8 +CMT,1,1,1196,8.9,CRD,27.5 +CMT,1,1,559,3.5,CSH,12.5 +CMT,1,1,1037,6.6,CRD,21.5 +CMT,1,1,122,0.9,CRD,5 +CMT,1,1,366,0.6,CSH,5.5 +CMT,1,1,764,1.5,CRD,10 +CMT,1,1,217,1,CRD,5 +CMT,1,1,1763,8.6,CRD,30 +CMT,1,1,588,1.6,CRD,8.5 +CMT,1,1,904,1.9,CSH,11 +CMT,1,1,206,1,CSH,5 +CMT,1,1,242,0.8,CSH,5 +CMT,1,1,858,1.7,CSH,11 +CMT,1,1,919,4.2,CSH,16.5 +CMT,1,1,261,0.8,CSH,5 +CMT,1,1,1026,2.8,CSH,14 +CMT,1,1,1710,4.2,CRD,20.5 +CMT,1,1,743,1.5,CRD,9.5 +CMT,1,1,1311,1.5,CRD,13.5 +CMT,1,1,734,2.1,CSH,10 +CMT,1,1,776,1.3,CRD,9.5 +CMT,1,1,973,1.2,CRD,11 +CMT,1,1,316,0.9,CSH,5.5 +CMT,1,1,299,0.6,CRD,5 +CMT,1,1,456,1.2,CRD,7 +CMT,1,1,581,1.9,CSH,9 +CMT,1,1,426,0.5,CRD,6 +CMT,1,1,524,1.5,CSH,8.5 +CMT,1,1,543,1.3,CRD,8 +CMT,1,1,463,1.5,CSH,8 +CMT,1,1,423,1.3,CSH,7 +CMT,1,1,784,3.1,CSH,12.5 +CMT,1,1,420,1.6,CRD,7.5 +CMT,1,1,284,0.8,CSH,5 +CMT,1,1,993,2.2,CSH,12 +CMT,1,1,1273,3.7,CRD,16.5 +CMT,1,1,407,1.5,CSH,7.5 +CMT,1,1,1127,3.6,CSH,17 +CMT,1,1,879,2.5,CSH,12 +CMT,1,1,518,2,CSH,9 +CMT,1,1,1434,3,CRD,16.5 +CMT,1,1,223,0.9,CSH,5 +CMT,1,1,472,1.3,CSH,8 +CMT,1,1,503,1.1,CRD,7 +CMT,1,1,625,1.5,CSH,8.5 +CMT,1,1,311,0.5,CSH,5 +CMT,1,1,550,1,CRD,7.5 +CMT,1,1,455,1.1,CSH,7 +CMT,1,1,1009,2.9,CSH,14 +CMT,1,1,655,1.2,CRD,9 +CMT,1,1,571,1.4,CRD,8 +CMT,1,1,458,1.1,CRD,6.5 +CMT,1,1,827,1.6,CRD,10.5 +CMT,1,1,443,0.9,CSH,7 +CMT,1,1,849,2.6,CRD,12 +CMT,1,1,471,1.7,CSH,8 +CMT,1,1,24,0,CSH,2.5 +CMT,1,1,490,2.5,CSH,9.5 +CMT,1,1,1105,5.8,CSH,20 +CMT,1,1,441,2.3,CRD,9 +CMT,1,1,406,1.2,CSH,6.5 +CMT,1,1,388,1.3,CRD,7.5 +CMT,1,1,415,1.2,CSH,7 +CMT,1,1,1561,1.9,CSH,16 +CMT,1,1,557,1.2,CRD,7.5 +CMT,1,1,545,1.4,CSH,8.5 +CMT,1,1,1472,3.6,CSH,18 +CMT,1,1,511,1.2,CRD,8 +CMT,1,1,1257,4.3,CRD,18 +CMT,1,1,832,1.1,CRD,9.5 +CMT,1,1,494,0.5,CRD,6.5 +CMT,1,1,787,6.9,CRD,21 +CMT,1,1,765,2,NOC,8 +CMT,3,1,1569,17.7,CRD,65.5 +CMT,1,1,1599,3,CSH,17.5 +CMT,1,1,699,1.9,CSH,10 +CMT,1,1,402,1.7,CSH,7.5 +CMT,1,1,152,0.4,CSH,4 +CMT,1,1,1263,3.5,CSH,15.5 +CMT,1,1,979,4,CRD,16 +CMT,1,1,510,1.2,CRD,7.5 +CMT,1,1,314,1.1,CSH,6 +CMT,1,1,686,1.8,CRD,9.5 +CMT,1,1,156,0.7,CSH,4.5 +CMT,1,1,257,0.9,CRD,5.5 +CMT,1,1,233,0.7,CSH,5 +CMT,1,1,245,0.8,CSH,5 +CMT,1,1,177,0.8,CSH,4.5 +CMT,1,1,328,0.6,CSH,4.5 +CMT,1,1,560,1.7,CRD,8.5 +VTS,1,2,840,2.81,CSH,11 +VTS,1,1,240,0.67,CSH,5 +VTS,1,1,840,3.03,CRD,12 +VTS,1,1,1140,3.65,CSH,15 +VTS,1,1,960,2.65,CRD,12.5 +VTS,1,1,360,1.31,CSH,6.5 +VTS,1,1,360,2.03,CSH,8 +VTS,1,3,960,2.79,CSH,12.5 +VTS,1,1,360,1.56,CSH,7.5 +VTS,1,1,360,1.49,CSH,7.5 +VTS,1,1,1200,5.5,CRD,19.5 +VTS,1,1,300,1.45,CRD,6.5 +VTS,1,1,420,1.11,CSH,6 +VTS,1,2,660,0.9,CRD,8.5 +VTS,1,2,240,0.62,CSH,4.5 +VTS,1,2,540,1.58,CRD,8 +VTS,1,2,960,3.02,CSH,13 +VTS,1,1,540,2.2,CRD,9 +CMT,1,1,767,4.7,CSH,16 +CMT,1,1,1377,5.6,CSH,20.5 +CMT,1,2,1280,7.8,CSH,25.5 +CMT,1,1,950,7.4,CRD,22.5 +CMT,1,1,1250,4,CRD,17.5 +CMT,1,1,408,1,CRD,6.5 +CMT,1,1,308,0.9,CRD,5.5 +CMT,1,1,685,2.2,CSH,10 +CMT,1,1,523,0.8,CRD,7 +CMT,1,1,279,0.5,CRD,5 +CMT,1,1,1330,3.1,CRD,16 +CMT,1,1,286,1.3,CRD,6.5 +CMT,1,1,327,0.9,CRD,6 +CMT,1,1,226,0.7,CRD,5 +CMT,1,1,306,0.6,CSH,5 +CMT,1,1,459,1,CRD,7 +CMT,1,1,489,2,CSH,8.5 +CMT,1,1,551,1.4,CSH,8.5 +CMT,1,1,1231,9.1,CRD,27.5 +CMT,1,1,149,0.7,CRD,4 +CMT,1,1,523,1.1,CRD,7.5 +CMT,1,1,922,2,CSH,11.5 +CMT,1,1,628,1.5,CRD,8.5 +CMT,1,1,379,1.1,CRD,6.5 +CMT,1,1,1382,4.1,CSH,18.5 +CMT,1,1,1482,4.2,CRD,18.5 +CMT,1,1,83,0,CSH,3 +CMT,1,1,373,1,CRD,6.5 +CMT,1,1,395,1.3,CRD,7 +CMT,1,1,991,4.5,CRD,17 +CMT,1,1,512,2.5,CRD,10 +CMT,1,1,502,1.1,CSH,7.5 +CMT,1,1,407,1.5,CRD,8 +CMT,1,1,400,0.7,CSH,6 +CMT,1,1,250,0.5,CSH,5 +CMT,1,1,537,2.6,CSH,10.5 +CMT,1,3,106,0,CSH,3 +CMT,2,2,1804,18.5,CRD,52 +CMT,1,1,549,1.6,CSH,8.5 +CMT,1,1,554,1.8,CSH,8.5 +CMT,1,1,100,0.7,CRD,4 +CMT,1,1,614,2.1,CRD,10 +CMT,1,1,124,1,CSH,5 +CMT,1,1,283,1.5,CSH,6.5 +CMT,1,1,1062,3.9,CSH,16 +CMT,1,1,508,1.2,CSH,8 +VTS,1,2,0,0,CSH,2.5 +VTS,1,2,420,2.74,CSH,10 +VTS,1,2,240,0.65,CSH,4.5 +VTS,1,1,720,1.73,CRD,9.5 +VTS,1,2,300,0.73,CRD,5.5 +VTS,1,2,720,3.36,CSH,12.5 +CMT,1,1,523,0.6,CSH,7 +CMT,1,1,454,0.6,CRD,6.5 +CMT,1,1,273,0.9,CSH,5.5 +CMT,1,1,596,1.1,CRD,8 +CMT,1,1,448,1.4,CRD,7.5 +CMT,1,1,709,1.7,CSH,9.5 +CMT,1,1,1833,3.1,CRD,19.5 +CMT,1,1,175,0.6,CSH,4.5 +CMT,1,1,890,2.7,CRD,12.5 +CMT,1,1,598,1.9,CRD,9 +CMT,1,1,746,3.2,CRD,12.5 +CMT,1,1,147,0.3,CSH,3.5 +CMT,1,1,537,2.1,CRD,9.5 +CMT,1,1,603,2.5,CRD,11 +CMT,1,1,745,2.9,CSH,12 +CMT,1,1,497,2.2,CRD,9 +CMT,1,1,567,1.5,CRD,8.5 +CMT,1,1,389,1.3,CRD,6.5 +CMT,1,1,572,2.7,CSH,10.5 +CMT,1,1,633,3.5,CRD,12.5 +CMT,1,1,391,1,CRD,6.5 +CMT,1,1,309,0.9,CSH,5.5 +CMT,1,1,692,1.6,CSH,9.5 +CMT,1,1,299,1.6,CRD,7 +CMT,1,2,1145,9.5,CRD,29 +CMT,1,1,129,0.7,CRD,4 +CMT,1,1,224,0.7,CSH,4.5 +CMT,1,1,245,0.7,CSH,5 +CMT,1,1,346,1.1,CRD,6.5 +CMT,1,1,847,1.6,CRD,10.5 +CMT,1,1,467,0.7,CSH,6.5 +CMT,1,1,299,1.1,CSH,6 +CMT,1,1,691,1.9,CSH,9.5 +CMT,1,1,551,1.9,CRD,8.5 +CMT,1,1,429,1.3,CRD,7.5 +CMT,1,1,1042,1.9,CRD,12 +CMT,1,1,1463,6,CRD,23 +CMT,1,1,389,0.7,CRD,6 +CMT,1,1,1002,2.3,CRD,12.5 +CMT,1,1,558,1.6,CRD,8.5 +CMT,1,1,129,0.4,CRD,4 +CMT,1,1,1398,3.7,CRD,16.5 +CMT,1,1,550,1.5,CSH,8.5 +CMT,1,1,832,2.6,CRD,11.5 +CMT,1,1,176,0.5,CRD,4 +CMT,1,1,880,3.7,CSH,14 +CMT,1,1,1242,1.8,CRD,13.5 +CMT,1,1,338,0.9,CRD,6 +CMT,1,1,191,0.7,CSH,5 +CMT,1,1,1645,1.7,CSH,17 +CMT,1,1,953,3.3,CSH,13.5 +CMT,1,1,300,1,CRD,6 +CMT,1,1,633,2,CSH,10 +CMT,1,1,2052,4.2,CRD,23 +CMT,1,1,264,0.3,CRD,4.5 +CMT,1,1,408,1.6,CRD,7.5 +CMT,1,1,931,2.8,CRD,13 +CMT,1,1,177,0.5,CSH,4 +CMT,1,1,371,0.8,CSH,6 +CMT,1,1,233,0.6,CRD,4.5 +CMT,1,1,935,3.3,CSH,13.5 +CMT,1,1,655,2.3,CSH,10 +CMT,1,1,645,3.1,CSH,11.5 +CMT,1,1,463,3,CRD,10.5 +CMT,1,1,343,1.3,CSH,6.5 +CMT,1,1,290,1.6,CRD,6.5 +CMT,1,1,279,1.1,CRD,6 +CMT,1,1,739,3.1,CRD,12.5 +CMT,1,1,1813,10,CRD,33 +CMT,1,1,115,1,CRD,5 +CMT,1,1,288,0.7,CRD,5.5 +CMT,1,1,962,2.3,CSH,12.5 +CMT,1,1,740,2.1,CSH,10.5 +VTS,1,1,480,1.36,CSH,7 +VTS,1,1,660,1.48,CRD,8.5 +VTS,1,2,420,1.81,CSH,8 +VTS,1,2,600,1.14,CSH,8 +VTS,1,1,780,1.24,CRD,9 +CMT,1,1,665,2.2,CSH,10 +CMT,1,1,743,2,CSH,10.5 +CMT,1,1,305,1.1,CSH,6 +CMT,1,1,256,1,CSH,5.5 +CMT,1,1,1865,3.5,CSH,20 +CMT,1,1,358,0.8,CRD,5.5 +CMT,1,1,743,0.7,CSH,8.5 +CMT,1,1,257,0.6,CSH,5 +CMT,1,1,291,1.2,CRD,6 +CMT,1,1,557,3.3,CRD,12 +CMT,1,1,1471,5.6,CRD,22 +CMT,1,1,816,2.1,CRD,10.5 +CMT,1,1,78,0.1,CSH,3 +CMT,1,1,402,0.8,CSH,6 +CMT,1,1,905,2.2,CRD,12 +CMT,1,1,254,0.2,CSH,4.5 +CMT,1,1,214,1.1,CRD,5.5 +CMT,1,1,832,1.6,CRD,10 +CMT,1,1,521,2.3,CSH,9.5 +CMT,1,1,1281,5,CRD,18 +CMT,1,1,373,0.8,CSH,6 +CMT,1,1,448,1.9,CRD,8 +CMT,1,1,474,2.5,CSH,9.5 +CMT,1,1,122,0.5,CSH,4 +CMT,1,1,462,1.2,CRD,7.5 +CMT,1,1,1045,1.3,CSH,11.5 +CMT,1,1,135,0.4,CSH,4 +CMT,1,1,1012,2.9,CSH,13.5 +CMT,1,1,433,0.9,CRD,6.5 +CMT,1,1,248,0.6,CRD,5 +CMT,1,1,451,1,CRD,6.5 +CMT,1,1,1692,6.9,CRD,25 +CMT,1,1,481,1.3,CRD,7.5 +CMT,1,1,645,2,CRD,10 +CMT,1,1,339,1.1,CRD,6 +CMT,1,1,595,1.4,CSH,8.5 +CMT,1,1,604,1.7,CSH,9 +CMT,1,1,397,1.1,CSH,7 +CMT,1,1,844,2.5,CSH,12 +CMT,1,1,352,1.2,CRD,6.5 +CMT,1,1,445,1.6,CRD,7.5 +CMT,1,1,260,0.5,CRD,5 +CMT,1,1,173,0.5,CRD,4.5 +CMT,1,1,571,2.9,CSH,11 +CMT,1,1,203,0.6,CSH,4.5 +CMT,1,1,526,1.7,CRD,8 +CMT,1,1,254,0.7,CRD,5.5 +CMT,1,1,1259,5,CRD,19.5 +CMT,1,1,893,4.3,CRD,16 +CMT,1,1,781,2,CSH,10.5 +CMT,1,1,569,1.2,CSH,8 +CMT,1,1,436,1.5,CRD,7 +CMT,1,1,1353,4.5,CRD,19 +CMT,1,1,253,0.9,CSH,5.5 +CMT,1,1,778,2.1,CRD,10.5 +CMT,1,1,463,1.4,CRD,8 +CMT,1,1,237,1.2,CRD,5.5 +CMT,1,1,809,2.3,CRD,11.5 +CMT,1,1,166,0.6,CSH,4 +CMT,1,1,416,0.8,CSH,6.5 +CMT,1,1,354,0.8,CRD,6 +CMT,1,1,370,0.7,CSH,6 +CMT,1,1,1252,1.9,CRD,14 +CMT,1,1,484,0.8,CSH,6.5 +CMT,1,1,1750,5.4,CRD,22.5 +CMT,1,1,612,3.1,CRD,11.5 +CMT,1,1,453,2.1,CRD,9 +CMT,1,1,591,3.5,CRD,11.5 +CMT,1,1,820,1.8,CRD,10.5 +CMT,1,1,693,2.1,CSH,10 +CMT,1,1,1503,3,CSH,17 +CMT,1,1,1240,3.2,CRD,16.5 +CMT,1,1,283,1,CSH,6 +CMT,1,1,1025,1.8,CSH,12 +CMT,1,1,156,0.4,CRD,4 +CMT,1,1,498,2.5,CRD,9.5 +CMT,1,1,398,1.2,CRD,6.5 +CMT,1,1,495,1,CRD,7 +CMT,1,1,405,1.3,CSH,7 +CMT,1,1,483,1.2,CSH,7.5 +CMT,1,1,338,0.8,CSH,5.5 +CMT,1,1,554,1.4,CSH,8 +CMT,1,1,92,0.6,CRD,4 +CMT,1,1,524,1.8,CSH,9 +CMT,1,1,272,1.2,CSH,6.5 +CMT,1,1,370,1.2,CSH,6.5 +CMT,1,1,270,1.3,CSH,6.5 +CMT,1,1,400,0.9,CRD,6 +CMT,1,1,1971,4.9,CSH,23.5 +CMT,1,1,178,0.3,CSH,4 +CMT,1,1,1093,2.3,CSH,13 +CMT,1,1,378,0.7,CSH,6 +CMT,1,1,353,2,CRD,8 +CMT,1,1,533,3,CSH,11 +CMT,1,1,236,0.6,CSH,4.5 +CMT,1,1,552,1.1,CRD,7.5 +CMT,1,1,296,0.9,CRD,5.5 +CMT,1,1,702,2.5,CRD,11 +CMT,1,1,545,1.8,CRD,8.5 +CMT,1,1,748,2.2,CRD,10.5 +CMT,1,1,753,1.8,CSH,10 +CMT,1,1,245,0.8,CRD,5.5 +CMT,1,1,184,0.4,CSH,4 +CMT,1,1,1195,2.6,CSH,14.5 +CMT,1,1,118,0.4,CSH,3.5 +CMT,1,1,1649,9.8,CRD,31.5 +CMT,1,1,809,2.4,CRD,11.5 +CMT,1,1,445,0.8,CSH,6.5 +CMT,1,1,454,1.2,CSH,7 +CMT,1,1,455,2.1,CSH,9 +CMT,1,1,600,1.8,CRD,9 +CMT,1,1,245,0.9,CSH,5 +CMT,1,1,264,0.8,CRD,5.5 +CMT,1,1,353,1.1,CRD,6.5 +CMT,1,1,139,0.4,CSH,4 +CMT,1,1,470,2.5,CRD,9 +CMT,1,1,216,1.3,CSH,6 +CMT,1,1,322,1,CSH,6 +CMT,1,1,693,1.9,CRD,10 +CMT,1,1,432,2.3,CRD,9 +CMT,1,1,341,0.9,CRD,6 +CMT,1,1,983,3.4,CSH,14 +VTS,1,1,720,3.82,CSH,13.5 +VTS,1,1,420,1.08,CRD,6.5 +VTS,1,2,1620,6.22,CRD,23.5 +VTS,1,1,180,0.35,CSH,4 +VTS,1,2,780,1.76,CSH,10 +VTS,1,1,600,1.83,CSH,9 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,2,1380,3.61,CSH,17 +CMT,1,1,654,1.5,CRD,9 +CMT,1,1,833,2.9,CRD,13 +CMT,1,1,588,1.6,CSH,8.5 +CMT,1,1,275,0.6,CSH,5 +CMT,1,1,387,1.6,CSH,7.5 +CMT,1,1,688,1.7,CSH,9.5 +CMT,1,1,636,2.1,CSH,10.5 +CMT,1,1,557,1.6,CSH,8.5 +CMT,1,1,200,0.6,CSH,4.5 +CMT,1,1,891,2.7,CSH,12 +CMT,1,1,917,3,CRD,13.5 +CMT,1,1,183,0.6,CRD,4.5 +CMT,1,1,130,0.5,CSH,4 +CMT,1,1,599,2,CRD,9.5 +CMT,5,1,37,0,CRD,8 +CMT,1,1,390,0.9,CRD,6 +CMT,1,1,1105,4.5,CRD,18 +CMT,1,1,637,1.1,CSH,8.5 +CMT,1,1,435,1.2,CRD,7 +CMT,1,1,202,0.4,CSH,4.5 +CMT,1,1,533,3.7,CSH,12.5 +CMT,1,1,602,2.5,CRD,11 +CMT,1,1,329,1.1,CSH,6.5 +CMT,1,1,575,1.9,CRD,9 +CMT,1,1,203,0.9,CRD,5 +CMT,1,1,965,1.7,CSH,11 +CMT,1,1,326,1.4,CSH,7 +CMT,1,1,83,0.5,CSH,3.5 +CMT,1,1,487,1.2,CRD,7.5 +CMT,1,1,465,0.9,CSH,6.5 +CMT,1,1,577,1.7,CRD,8.5 +CMT,1,1,462,1.8,CRD,8 +CMT,1,1,444,1.2,CSH,7 +CMT,1,1,532,2.5,CRD,10 +CMT,1,1,160,0.9,CSH,4.5 +CMT,1,1,417,1.9,CSH,8 +CMT,1,1,1046,3.3,CRD,14.5 +VTS,2,1,1800,19.88,CRD,52 +VTS,1,2,780,2.87,CRD,11.5 +VTS,1,1,900,2.83,CRD,12.5 +VTS,1,3,600,2.4,CSH,10 +VTS,1,2,420,1.81,CSH,7.5 +VTS,1,1,780,2.55,CRD,11.5 +VTS,1,1,420,1.15,CRD,7 +VTS,1,1,300,1.03,CSH,6 +VTS,1,1,600,3.11,CSH,11.5 +VTS,1,1,180,0.88,CRD,4.5 +VTS,1,2,1380,11.83,CSH,34 +VTS,1,2,1140,3.01,CRD,14.5 +VTS,1,2,600,2.18,CRD,9.5 +VTS,2,2,2400,17.67,CSH,52 +VTS,1,1,540,2.4,CRD,9.5 +VTS,1,1,180,0.81,CSH,4.5 +VTS,1,1,420,1.79,CRD,7.5 +VTS,1,1,840,2.95,CRD,12.5 +VTS,1,1,360,1.56,CSH,7.5 +VTS,1,2,1740,3.68,CSH,19.5 +VTS,1,2,480,1.43,CRD,7.5 +VTS,1,1,540,1.16,CSH,7.5 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,1860,4.84,CRD,22 +VTS,1,2,600,2.06,CSH,9.5 +VTS,1,1,180,1.15,CRD,5.5 +VTS,1,2,360,1.32,CRD,7 +VTS,1,1,1140,4.35,CSH,16.5 +VTS,1,1,1020,1.85,CRD,12 +VTS,1,1,300,0.5,CRD,5 +VTS,1,1,660,1.51,CSH,9 +VTS,1,1,540,2.1,CSH,9 +VTS,1,2,960,4.17,CRD,15 +VTS,1,1,1500,4.67,CRD,20 +VTS,1,2,1080,2.73,CSH,13.5 +VTS,1,1,600,1.69,CSH,8.5 +VTS,1,2,1200,4.61,CRD,17 +VTS,1,1,300,1.16,CSH,6 +VTS,1,2,180,0.57,CSH,4 +VTS,1,2,600,1.94,CSH,9.5 +VTS,1,1,780,2.18,CRD,10.5 +VTS,1,1,120,0.53,CRD,3.5 +VTS,1,1,480,1.87,CRD,8.5 +VTS,1,1,420,1.11,CRD,7 +VTS,1,1,300,0.99,CRD,6 +VTS,1,1,360,1.33,CSH,6.5 +VTS,1,1,600,3.42,CSH,12 +VTS,1,2,600,2.17,CSH,9.5 +VTS,1,1,300,1.5,CRD,6.5 +VTS,1,2,660,2.64,CSH,11.5 +VTS,1,2,480,2.61,CRD,9.5 +VTS,1,2,1020,1.85,CRD,11.5 +VTS,1,1,2940,8.46,CRD,34.5 +VTS,1,1,960,4.52,CSH,14.5 +VTS,1,1,420,1.67,CRD,8 +VTS,1,2,1200,5.73,CRD,20.5 +VTS,1,1,300,1.08,CSH,6 +VTS,1,1,660,1.61,CRD,9 +VTS,1,1,1140,3.57,CSH,16 +VTS,2,1,2160,17.93,CRD,52 +VTS,1,1,360,1.18,CSH,6 +VTS,1,1,360,1.37,CRD,7 +VTS,1,1,480,0.84,CRD,7 +VTS,1,1,120,0.34,CSH,3.5 +VTS,1,2,1260,4.18,CRD,16.5 +VTS,1,1,960,5.02,CSH,16 +VTS,1,2,1800,5.17,CRD,23 +CMT,1,1,748,1.8,CRD,10 +CMT,1,1,937,2.6,CRD,13 +CMT,1,1,1111,9.5,CRD,27.5 +CMT,1,1,199,0.6,CSH,4.5 +VTS,1,2,180,1.12,CSH,5 +VTS,1,1,720,3.81,CSH,13.5 +VTS,1,1,540,2.43,CSH,9 +VTS,1,1,540,2.01,CRD,9.5 +VTS,1,1,480,1.89,CRD,8.5 +VTS,1,2,840,3.48,CRD,13.5 +VTS,1,1,960,2.92,CRD,12.5 +VTS,1,3,1860,6.91,CRD,25.5 +VTS,1,2,900,2.25,CSH,11.5 +VTS,1,1,540,1.98,CRD,9 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,300,0.56,CSH,5 +VTS,1,2,360,1.41,CSH,7 +VTS,1,1,1200,3.76,CSH,16.5 +VTS,1,1,600,1.94,CRD,9.5 +VTS,1,1,360,1.67,CSH,7.5 +VTS,1,1,240,0.71,CRD,5 +VTS,1,1,600,1.81,CSH,9 +VTS,1,1,600,1.47,CSH,8 +VTS,1,2,420,0.74,CRD,6 +VTS,1,1,900,3.13,CSH,13 +VTS,1,2,1740,6.09,CRD,24 +VTS,1,1,660,1.53,CSH,9 +VTS,2,1,1860,18.14,CRD,52 +VTS,1,2,780,3.16,CSH,12 +VTS,1,1,420,1.29,CSH,7 +VTS,1,2,660,3.39,CSH,12 +VTS,1,2,900,2.25,CSH,11.5 +VTS,1,2,180,0.69,CRD,5 +VTS,1,1,780,2.07,CRD,10.5 +VTS,1,1,480,1.43,CRD,8 +VTS,1,2,1140,4.31,CSH,16.5 +VTS,1,1,1860,6.31,CSH,25 +VTS,1,1,300,0.67,CSH,5 +VTS,1,2,300,1.07,CSH,6 +VTS,1,1,840,3.13,CSH,13 +VTS,1,1,1260,5.89,CRD,19.5 +VTS,1,1,480,1.51,CRD,8 +VTS,1,1,180,1.28,CSH,5.5 +VTS,1,2,300,1.03,CSH,5.5 +VTS,1,1,660,2.6,CSH,10.5 +VTS,1,1,360,0.77,CRD,5.5 +VTS,1,1,720,2.64,CRD,11.5 +VTS,1,1,420,1.25,CRD,7 +VTS,1,1,360,1.19,CSH,7 +VTS,1,1,540,1.32,CRD,8 +VTS,1,1,840,3.04,CRD,12.5 +VTS,1,1,480,0.99,CSH,7 +VTS,1,2,720,2.26,CSH,11 +VTS,1,1,660,1.59,CRD,9 +VTS,1,2,600,1.36,CSH,8.5 +VTS,1,2,540,1.7,CRD,9 +VTS,1,2,540,1.39,CSH,7.5 +VTS,1,1,1440,3.59,CRD,17 +VTS,1,2,300,0.87,CSH,5.5 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,1,840,2.69,CSH,11.5 +VTS,1,2,1980,8.97,CSH,33 +VTS,1,2,720,2.69,CRD,11 +VTS,1,2,240,0.74,CRD,5 +VTS,1,1,480,1.62,CRD,8 +VTS,1,1,240,0.98,CSH,5 +VTS,1,1,840,2.95,CSH,12 +VTS,1,1,960,2.99,CRD,13.5 +VTS,1,1,540,2.06,CRD,9 +VTS,1,1,1200,1.85,CSH,13.5 +VTS,1,1,660,2.31,CSH,10 +VTS,2,5,1620,18.6,CRD,52 +VTS,1,1,120,0.81,CSH,4.5 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,360,1.38,CRD,7 +VTS,1,1,60,0.37,CSH,3.5 +VTS,1,1,480,1.58,CRD,7.5 +VTS,1,1,540,1.89,CRD,8.5 +CMT,1,1,328,0.7,CSH,5.5 +CMT,1,1,322,1.8,CSH,7.5 +CMT,1,1,936,5.5,CRD,18 +CMT,1,1,1431,15.3,CSH,42.5 +CMT,1,1,853,9.3,CRD,26 +CMT,1,1,289,1.4,CSH,6.5 +CMT,1,1,360,0.7,CSH,5.5 +CMT,1,1,753,2.6,CRD,11 +VTS,1,1,840,5.09,CSH,16.5 +VTS,2,1,3120,18.49,CSH,52 +VTS,1,1,660,2.05,CSH,9.5 +VTS,1,1,840,2.47,CRD,11.5 +VTS,1,1,360,1.49,CRD,6.5 +VTS,1,2,300,0.85,CSH,5.5 +VTS,1,1,1440,4.76,CRD,19.5 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,900,3.19,CRD,13 +VTS,1,1,420,1.58,CRD,7.5 +VTS,1,2,840,2.09,CSH,11 +VTS,1,1,780,1.35,CRD,9.5 +VTS,1,2,300,1.5,CRD,7 +VTS,1,2,300,1.11,CRD,6 +VTS,1,1,540,2.49,CRD,10.5 +VTS,1,1,600,2.46,CSH,10.5 +VTS,1,1,780,4.12,CSH,15 +VTS,1,1,420,1.12,CSH,6.5 +VTS,1,1,1260,4.68,CRD,18.5 +VTS,1,2,720,3.19,CRD,12 +VTS,1,1,540,1.4,CSH,8 +VTS,1,2,120,0.39,CSH,3.5 +VTS,1,1,180,0.26,CSH,3.5 +VTS,1,2,480,1.17,CRD,7.5 +VTS,1,2,1020,5.08,CRD,17.5 +VTS,1,2,600,2.22,CSH,9.5 +VTS,1,1,1080,2.1,CSH,13 +VTS,1,2,480,1.17,CSH,7 +VTS,1,2,840,1.39,CRD,10 +VTS,1,1,360,1.28,CSH,7 +VTS,1,1,240,1.09,CSH,5.5 +VTS,1,2,360,0.64,CSH,5 +VTS,1,1,1200,6.94,CRD,23.5 +VTS,2,1,3000,17.31,CRD,52 +VTS,1,2,780,2.84,CRD,11.5 +VTS,1,1,360,1.38,CRD,7 +VTS,1,1,780,4.48,CRD,14.5 +VTS,1,1,720,2.25,CRD,10.5 +VTS,1,1,660,3.07,CRD,11 +VTS,1,1,360,1.75,CSH,7.5 +VTS,1,1,780,3.16,CSH,12.5 +VTS,1,1,120,0.58,CRD,4 +VTS,1,1,600,2.46,CSH,10 +VTS,1,1,240,0.48,CSH,4.5 +CMT,1,1,197,0.8,CRD,4.5 +CMT,1,1,297,0.8,CSH,5.5 +CMT,1,1,465,0.6,CSH,6.5 +CMT,1,1,332,0.7,CRD,5.5 +CMT,1,1,604,1.3,CRD,8 +CMT,1,1,365,0.7,CRD,6 +CMT,1,1,399,0.5,CSH,6 +CMT,1,1,659,1.5,CRD,8.5 +CMT,1,1,2020,4.4,CRD,23.5 +CMT,1,1,456,1.8,CRD,8 +CMT,1,1,706,3.1,CRD,12 +CMT,1,1,383,0.8,CSH,6 +CMT,1,1,560,1.2,CSH,8 +CMT,1,1,1184,2,CRD,13.5 +CMT,1,1,1251,7.7,CSH,24.5 +CMT,1,1,1291,3.1,CRD,16 +CMT,1,1,802,3.8,CRD,14 +CMT,1,1,79,0.6,CSH,4 +CMT,1,1,1224,6.2,CSH,21.5 +CMT,1,1,823,2.5,CSH,11.5 +CMT,1,1,228,0.8,CSH,5 +CMT,1,1,336,2.7,CSH,9.5 +CMT,1,1,398,1.7,CSH,7.5 +CMT,1,1,564,2.3,CSH,9.5 +CMT,1,1,811,2.8,CSH,12.5 +VTS,1,1,300,1.04,CSH,6 +VTS,1,1,840,5.21,CRD,17 +VTS,1,1,1020,4.73,CSH,16.5 +VTS,1,1,660,2.18,CSH,10 +VTS,1,1,720,3.97,CRD,14 +VTS,1,1,660,1.84,CRD,9.5 +VTS,1,1,300,1.24,CSH,6 +VTS,1,1,1320,3.87,CRD,17.5 +VTS,1,1,600,2.55,CRD,10.5 +VTS,1,1,600,1.68,CRD,9 +VTS,1,1,300,0.98,CRD,6 +VTS,1,1,300,1.1,CSH,6 +VTS,1,1,240,1.12,CSH,5.5 +VTS,1,1,840,1.96,CSH,11 +VTS,1,1,840,2.35,CSH,11.5 +VTS,1,2,300,1.94,CSH,7.5 +VTS,1,1,840,1.77,CRD,10.5 +VTS,1,1,360,1.06,CSH,6.5 +VTS,1,1,240,1.68,CRD,6.5 +VTS,1,1,1020,4.98,CRD,17.5 +VTS,1,1,720,1.7,CSH,9.5 +VTS,1,1,600,1.42,CSH,8 +VTS,1,1,960,2.2,CRD,11.5 +VTS,1,1,840,1.66,CRD,10.5 +VTS,1,1,1140,6.1,CRD,21 +VTS,1,1,540,2.59,CRD,10 +VTS,1,1,540,1.43,CRD,8 +VTS,1,2,1140,1.65,CRD,13 +VTS,1,2,540,2.74,CRD,10.5 +VTS,1,1,420,0.91,CSH,6.5 +VTS,1,2,780,2.43,CRD,11.5 +VTS,1,1,900,1.48,CRD,10.5 +VTS,1,1,1260,4.8,CRD,18 +VTS,1,2,1500,7.02,CSH,23.5 +VTS,1,2,240,0.91,CRD,5 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,660,1.29,CSH,9 +VTS,1,2,480,1.34,CSH,7.5 +VTS,1,2,480,1.31,CRD,7.5 +VTS,1,1,360,0.74,CSH,5.5 +VTS,1,1,600,2.9,CRD,10.5 +VTS,1,1,660,1.64,CRD,9 +VTS,1,2,720,2.14,CRD,10.5 +VTS,1,1,360,2.01,CRD,8.5 +VTS,1,1,660,2.93,CSH,11 +VTS,1,1,180,0.92,CRD,5 +VTS,1,1,600,2.56,CSH,10.5 +VTS,1,1,840,2.13,CSH,11.5 +VTS,1,2,600,1.77,CSH,9 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,300,1.49,CRD,6.5 +VTS,1,1,540,1.04,CRD,7 +VTS,1,1,1200,4.71,CSH,17 +VTS,1,1,600,1.45,CSH,8 +VTS,1,1,960,9.71,CSH,28 +VTS,1,1,660,1.96,CSH,9.5 +VTS,1,1,2220,6.96,CRD,28 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,660,2.47,CSH,10 +VTS,1,1,360,1.24,CSH,7 +VTS,1,1,540,1.94,CSH,9 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,600,2.05,CRD,9.5 +VTS,1,2,540,2.23,CRD,9.5 +VTS,1,1,540,2.16,CRD,9.5 +VTS,1,1,1140,3.54,CSH,15 +VTS,1,1,780,1.14,CRD,9.5 +VTS,1,1,1800,10.84,CRD,32 +VTS,1,1,720,2.35,CSH,10.5 +VTS,1,1,120,0.76,CSH,4.5 +VTS,1,1,600,1.05,CRD,7.5 +VTS,1,1,60,0.51,CSH,3.5 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,660,2.78,CSH,11 +VTS,1,1,900,2.55,CSH,12 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,1,960,2.56,CRD,12.5 +VTS,1,1,480,1.65,CRD,8 +VTS,1,1,420,1.4,CSH,7 +VTS,1,2,240,0.43,CRD,4 +VTS,1,2,780,1.62,CRD,10.5 +VTS,1,1,1620,2.42,CSH,17.5 +VTS,1,1,1440,3.16,CRD,16.5 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,540,1.03,CRD,8 +VTS,1,1,660,1.88,CRD,9.5 +VTS,1,1,780,3.55,CSH,13.5 +VTS,1,1,180,1.06,CRD,5 +VTS,1,1,180,1,CSH,5.5 +VTS,1,2,480,1.86,CSH,8.5 +VTS,1,1,840,2.19,CSH,11.5 +VTS,1,1,120,0.47,CRD,3.5 +VTS,1,1,960,2.27,CRD,12 +VTS,1,1,660,2.48,CRD,10.5 +VTS,1,1,180,0.58,CSH,4 +VTS,1,1,900,4.49,CSH,16.5 +VTS,1,1,60,0.47,CSH,3.5 +VTS,1,1,420,1.78,CSH,7.5 +VTS,1,1,300,1.62,CSH,7 +VTS,1,1,60,0.34,CSH,3 +VTS,1,2,540,2.07,CRD,8.5 +VTS,1,1,120,0.4,CRD,3.5 +VTS,1,1,300,1.09,CRD,5.5 +VTS,1,2,360,1.49,CRD,7 +VTS,1,1,300,0.71,CSH,5 +VTS,1,2,360,0.84,CSH,5.5 +VTS,1,2,720,2.32,CRD,10.5 +VTS,1,1,780,2.28,CRD,10.5 +VTS,1,2,1140,4.54,CSH,17 +VTS,1,2,300,0.52,CSH,5 +VTS,1,1,420,2.39,CRD,9.5 +VTS,1,1,360,1.73,CSH,7.5 +VTS,1,2,480,1.39,CSH,7.5 +VTS,1,1,540,1.19,CSH,8 +VTS,1,1,300,1.95,CRD,7.5 +VTS,1,1,660,2.43,CSH,10 +VTS,1,1,600,1.83,CRD,9 +VTS,1,1,480,1.53,CRD,8 +VTS,1,1,1080,4.02,CSH,16.5 +VTS,1,1,1080,2.91,CRD,14.5 +VTS,1,1,180,0.82,CSH,5 +VTS,1,1,420,1.29,CRD,7 +VTS,1,1,780,2.62,CRD,11.5 +VTS,1,1,660,2.23,CSH,10 +VTS,1,1,360,0.65,CRD,6 +VTS,1,1,420,1.62,CSH,7.5 +VTS,1,1,360,1.3,CSH,7 +VTS,1,1,720,2.55,CRD,10.5 +VTS,1,1,480,1.86,CSH,8 +VTS,1,1,480,1.87,CRD,8 +VTS,1,1,180,0.41,CSH,4.5 +VTS,1,1,600,1.47,CRD,8.5 +VTS,1,1,300,1.1,CRD,6 +VTS,1,1,540,1.43,CRD,8 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,420,0.82,CRD,6.5 +VTS,1,1,780,2.45,CRD,11 +VTS,1,1,540,2.02,CSH,9 +VTS,1,1,240,0.89,CRD,5 +VTS,1,1,960,4.92,CSH,18 +VTS,1,1,300,1.22,CRD,6.5 +VTS,1,1,300,0.5,CSH,4.5 +VTS,1,1,660,2.71,CRD,10 +VTS,1,1,660,2.44,CRD,10.5 +VTS,1,1,1200,4.96,CRD,18.5 +VTS,1,1,1260,2.79,CRD,15 +VTS,1,1,840,2.3,CSH,11.5 +VTS,1,1,480,0.85,CSH,6.5 +VTS,1,1,360,1.11,CSH,6 +VTS,1,1,360,0.93,CRD,6 +VTS,1,1,1440,4.35,CSH,18.5 +VTS,1,1,660,1.78,CRD,9.5 +VTS,2,5,2340,19.41,CSH,52 +VTS,1,1,1620,4.98,CRD,21.5 +VTS,1,1,720,1.59,CRD,10 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,300,1.41,CSH,6.5 +VTS,1,1,840,3.02,CSH,12 +VTS,1,1,1080,3.9,CSH,16.5 +VTS,1,1,1080,3.44,CRD,15 +VTS,1,1,960,3.1,CSH,13 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,1,540,1.49,CSH,7.5 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,1,780,6.34,CRD,19 +VTS,1,1,420,1.81,CSH,7.5 +VTS,1,1,660,2.03,CRD,10 +VTS,1,2,240,1.48,CSH,6 +VTS,1,1,180,0.97,CRD,5 +VTS,1,1,540,1.3,CRD,8 +VTS,1,1,240,0.79,CSH,5 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,300,1.03,CRD,5.5 +VTS,1,1,360,0.85,CRD,6 +VTS,1,1,660,2.23,CSH,10.5 +VTS,1,1,420,2.29,CRD,9 +VTS,1,1,600,1.71,CRD,8.5 +VTS,1,1,960,2.56,CSH,13 +VTS,1,1,540,1.42,CSH,7.5 +VTS,1,1,600,1.25,CSH,8 +VTS,1,1,660,1.28,CRD,8.5 +VTS,1,1,600,1.63,CRD,9 +VTS,1,1,120,0.27,CSH,3.5 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,1,720,3.14,CRD,12 +VTS,1,1,420,2.33,CRD,9 +VTS,1,1,660,2.38,CRD,10.5 +VTS,1,1,420,0.64,CSH,6 +VTS,1,1,600,1.57,CSH,8.5 +VTS,1,1,480,1.53,CRD,7.5 +VTS,1,1,420,1.61,CRD,7.5 +VTS,1,1,720,1.47,CRD,9.5 +VTS,1,1,780,2.13,CSH,10 +VTS,1,1,120,0.5,CSH,3.5 +VTS,1,1,1140,6.32,CRD,20.5 +VTS,1,1,300,0.53,CRD,5.5 +VTS,1,2,360,1.33,CSH,7 +VTS,1,1,540,1,CSH,7.5 +VTS,1,1,660,1.6,CRD,9 +VTS,1,1,1140,2.48,CRD,14 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,180,0.52,CRD,4 +VTS,1,1,480,1.33,CRD,7 +VTS,1,1,2340,4.5,CRD,26 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,540,1.15,CSH,8 +VTS,1,1,480,1.29,CSH,7.5 +VTS,1,1,660,1.31,CRD,9 +VTS,1,1,600,1.45,CSH,8.5 +VTS,1,1,960,2.36,CSH,13 +VTS,1,1,840,2.3,CRD,11 +VTS,1,1,1320,9.32,CRD,28 +VTS,1,1,420,3.52,CRD,11.5 +VTS,1,1,480,1.48,CRD,8 +VTS,1,1,780,1.69,CRD,10 +VTS,1,1,600,1.03,CSH,7.5 +VTS,1,1,240,1.29,CRD,6 +VTS,1,1,780,1.92,CSH,10.5 +VTS,1,1,780,2.28,CSH,11 +VTS,1,1,780,2.34,CSH,11 +VTS,1,1,480,1.2,CSH,7 +VTS,1,1,360,1.16,CSH,6.5 +VTS,1,1,420,0.48,CSH,6 +VTS,1,1,1200,5.74,CRD,20.5 +VTS,1,1,480,1.53,CRD,7.5 +VTS,1,1,540,2.05,CRD,8.5 +VTS,1,1,180,0.99,CRD,5 +VTS,1,1,480,1.58,CRD,8 +VTS,1,1,420,0.71,CSH,6 +VTS,1,1,540,1.35,CRD,8 +VTS,1,1,1380,3.48,CSH,16 +VTS,1,1,960,3.4,CRD,13 +VTS,1,1,540,1.36,CSH,8 +VTS,1,1,1500,6.86,CSH,24.5 +VTS,1,1,420,2.21,CRD,8.5 +VTS,1,1,420,2.33,CRD,8.5 +VTS,1,1,780,3.38,CRD,13.5 +VTS,1,1,420,1.3,CRD,7 +VTS,1,1,60,0.39,CRD,3.5 +VTS,1,1,960,2.15,CRD,12 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,360,1.53,CRD,7 +VTS,2,5,1740,17.79,CRD,52 +VTS,1,1,780,2.82,CSH,12 +VTS,1,1,240,0.55,CRD,5 +VTS,1,1,360,1.09,CSH,6 +VTS,1,1,480,0.56,CSH,7 +VTS,1,1,1860,10.26,CRD,32.5 +VTS,1,1,600,2.35,CRD,9.5 +VTS,1,1,840,2.71,CRD,12 +VTS,1,1,840,1.88,CSH,11 +VTS,1,1,780,1.91,CRD,10.5 +VTS,1,1,900,1.24,CSH,10.5 +VTS,1,1,720,5.26,CRD,17 +VTS,1,1,600,1.1,CRD,8 +VTS,1,1,300,1.24,CRD,6 +VTS,1,1,1680,4.21,CSH,19.5 +VTS,1,1,300,1.03,CRD,5.5 +VTS,1,1,900,2.93,CRD,13 +VTS,1,1,300,1,CRD,5.5 +VTS,1,1,660,2.62,CRD,11 +VTS,1,1,1200,4.6,CRD,17.5 +VTS,1,1,1140,3.49,CSH,15.5 +VTS,1,1,60,0.48,CSH,3.5 +VTS,1,1,900,4.04,CRD,14.5 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,1260,4.43,CRD,17.5 +VTS,1,1,360,0.74,CSH,6 +VTS,1,1,240,1.22,CSH,5.5 +VTS,1,1,180,1.01,CSH,5.5 +VTS,1,2,480,2.22,CRD,8.5 +VTS,1,1,120,0.57,CSH,4 +VTS,1,2,600,1.56,CSH,8 +VTS,1,1,420,1.53,CRD,7.5 +VTS,1,1,900,4.19,CRD,14.5 +VTS,1,1,780,2.8,CSH,11.5 +VTS,1,1,540,2.81,CSH,11 +VTS,1,1,420,1.6,CRD,7.5 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,300,1.33,CSH,6 +VTS,1,2,300,0.84,CSH,5.5 +VTS,1,1,240,0.82,CRD,4.5 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,120,0.42,CSH,3.5 +VTS,1,3,1440,11.31,CRD,31.5 +VTS,1,1,900,3.84,CRD,15 +VTS,1,1,360,1.15,CSH,6 +VTS,1,1,480,1.02,CRD,7 +VTS,1,1,3240,9.47,CSH,41 +VTS,1,1,240,0.78,CSH,4.5 +VTS,1,1,300,0.77,CSH,5.5 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,360,1.04,CRD,6 +VTS,1,1,900,2.53,CSH,12 +VTS,1,1,240,0.92,CSH,5.5 +VTS,1,1,300,1.38,CSH,6.5 +VTS,1,1,480,1.53,CRD,8 +VTS,1,1,600,2.1,CRD,9.5 +VTS,1,1,300,1.2,CSH,6 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,1,480,1.45,CSH,8 +VTS,1,1,780,1.9,CRD,10 +VTS,1,1,300,1.21,CRD,6.5 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,600,1.5,CRD,8.5 +VTS,1,1,120,0.56,CRD,4 +VTS,1,1,480,1.45,CRD,7 +VTS,1,1,660,0.85,CRD,8 +VTS,1,1,180,0.48,CSH,4 +VTS,1,1,840,2.4,CRD,11 +VTS,1,1,420,0.9,CRD,6 +VTS,1,1,540,2.1,CSH,9 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,600,1.54,CSH,8.5 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,1,420,1.13,CSH,6.5 +VTS,1,1,660,1.57,CRD,9.5 +VTS,1,1,720,2.31,CSH,11 +VTS,1,1,720,2.2,CSH,10.5 +VTS,1,1,240,0.63,CRD,5 +VTS,1,1,900,3.29,CRD,13 +VTS,1,1,420,1.19,CRD,7 +VTS,1,1,180,1.01,CSH,5 +VTS,1,2,300,1.89,CRD,7 +VTS,1,1,360,2.13,CRD,8 +VTS,1,1,600,2.55,CRD,10.5 +VTS,1,1,600,2.21,CRD,9.5 +VTS,1,1,360,1.12,CSH,6.5 +VTS,1,1,660,2.01,CRD,9.5 +VTS,1,1,780,2.04,CSH,10.5 +VTS,1,1,1440,5.66,CSH,22.5 +VTS,1,1,720,2.08,CRD,10 +VTS,1,1,660,1.94,CSH,9.5 +VTS,1,1,360,1.45,CRD,7 +VTS,1,1,540,2.03,CSH,9 +VTS,1,1,180,0.55,CSH,4 +VTS,1,1,540,1.22,CSH,7.5 +VTS,1,1,120,0.48,CSH,4 +VTS,1,1,420,2.94,CRD,10 +VTS,1,1,480,2.45,CRD,9 +VTS,1,2,1440,9.76,CRD,29.5 +VTS,1,1,540,1.96,CRD,8.5 +VTS,1,2,840,3.13,CRD,13 +VTS,1,1,720,3.55,CRD,13 +VTS,1,2,960,2.96,CSH,13.5 +VTS,1,1,1020,3.59,CRD,14.5 +VTS,1,1,60,0.36,CSH,3.5 +VTS,1,2,900,2.29,CSH,12 +VTS,1,2,720,1.53,CSH,9 +VTS,1,1,600,2.02,CSH,9.5 +VTS,1,2,300,1.09,CSH,5.5 +VTS,1,1,1200,6.36,CSH,20.5 +VTS,1,1,360,1.4,CSH,7 +VTS,1,1,780,4.85,CSH,16 +VTS,2,1,1920,20.2,CRD,52 +VTS,1,1,1320,3.84,CSH,17.5 +VTS,1,2,420,1.18,CRD,6.5 +VTS,1,1,840,1.01,CSH,9.5 +VTS,1,1,180,0.5,CRD,4.5 +VTS,1,1,900,3.29,CSH,13.5 +VTS,1,1,360,0.65,CSH,5.5 +VTS,1,2,660,3.3,CRD,12 +VTS,1,1,180,0.81,CRD,4.5 +VTS,1,2,360,1.35,CSH,6.5 +VTS,1,1,1200,4.27,CRD,17 +VTS,1,2,240,0.77,CRD,4.5 +VTS,1,1,960,2.18,CRD,11.5 +VTS,1,1,420,0.75,CSH,6 +VTS,1,1,1800,4.74,CRD,21.5 +VTS,1,1,1200,9.87,CRD,29.5 +VTS,1,1,900,2.35,CSH,12 +VTS,1,1,540,2.33,CRD,9 +VTS,1,1,1080,6.55,CRD,19.5 +VTS,1,1,1140,3.53,CRD,15.5 +VTS,1,1,420,1.4,CRD,7 +VTS,1,1,60,0.44,CRD,3.5 +VTS,1,1,1020,12.27,CRD,33.5 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,240,0.37,CSH,4 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,300,0.61,CSH,5.5 +VTS,1,2,720,3.65,CRD,13.5 +VTS,1,1,600,2.68,CRD,10.5 +VTS,1,1,1020,2.74,CRD,13 +VTS,1,1,540,2.63,CSH,10 +VTS,1,1,900,2.68,CSH,12.5 +VTS,1,1,600,2.69,CSH,10.5 +VTS,1,1,480,1.75,CSH,8 +VTS,1,1,180,0.47,CRD,4 +VTS,1,1,660,2.15,CSH,10.5 +VTS,1,1,660,1.92,CRD,9 +VTS,1,1,660,2.7,CSH,11 +VTS,1,1,480,1.25,CSH,7 +VTS,1,1,420,1.15,CSH,7 +VTS,1,2,180,0.74,CSH,4.5 +VTS,1,1,1080,2.66,CRD,14 +VTS,1,1,300,2.16,CSH,8 +VTS,1,1,60,0.64,CRD,4 +VTS,1,1,480,1.25,CRD,7 +VTS,1,1,720,1.57,CRD,9.5 +VTS,1,1,1020,3.27,CRD,14.5 +VTS,1,1,960,3.28,CRD,13.5 +VTS,1,1,120,0.72,CSH,4 +VTS,1,1,420,1.1,CRD,6.5 +VTS,1,1,1440,6.92,CSH,24 +VTS,1,1,600,2.16,CSH,9.5 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,240,0.82,CSH,5 +VTS,1,1,1020,2.07,CSH,12 +VTS,1,1,960,2.11,CRD,11.5 +VTS,1,1,1380,3.21,CSH,16.5 +VTS,1,1,480,1.97,CSH,8.5 +VTS,1,1,660,1.42,CRD,8.5 +VTS,1,1,840,2.31,CSH,11.5 +VTS,1,1,540,1.54,CSH,8 +VTS,1,1,240,0.63,CRD,4.5 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,600,2,CRD,9.5 +VTS,1,1,420,1.91,CRD,8 +VTS,1,2,300,0.88,CRD,6 +VTS,1,1,300,1.29,CSH,6 +VTS,1,1,900,2.53,CRD,13 +VTS,1,1,240,0.76,CSH,5 +VTS,1,1,420,1.18,CSH,6.5 +VTS,1,1,180,0.49,CRD,4 +VTS,1,1,780,1.47,CSH,9.5 +VTS,1,1,240,0.77,CRD,5 +VTS,1,1,360,1.35,CSH,7 +VTS,1,1,840,1.36,CRD,10 +VTS,1,1,480,1.04,CRD,7 +VTS,1,1,540,1.23,CRD,7.5 +VTS,1,1,1080,6.26,CRD,20.5 +VTS,1,1,1500,6.9,CRD,23.5 +VTS,2,5,1680,18.04,CRD,52 +VTS,1,1,300,0.94,CRD,6 +VTS,1,2,420,0.98,CRD,6.5 +VTS,1,1,660,1.28,CRD,8.5 +VTS,1,1,960,1.97,CRD,11.5 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,840,2.39,CSH,11.5 +VTS,1,1,240,1.45,CSH,6 +VTS,1,1,540,1.56,CRD,8.5 +VTS,1,1,720,3.63,CSH,13.5 +VTS,1,1,300,1.1,CSH,6 +VTS,1,1,960,3.04,CRD,13.5 +VTS,1,1,660,3.99,CSH,13.5 +VTS,1,1,180,0.84,CSH,5 +VTS,1,1,900,2.12,CRD,11.5 +VTS,1,1,840,1.66,CRD,10 +VTS,1,1,120,0.57,CRD,4 +VTS,1,1,360,1.15,CRD,7 +VTS,1,1,480,1.74,CRD,8 +VTS,1,1,360,2.06,CSH,8 +VTS,1,1,540,1.8,CSH,8.5 +VTS,1,1,1080,1.98,CRD,13 +VTS,1,1,780,2.13,CRD,10.5 +VTS,1,1,480,1.33,CSH,8 +VTS,1,1,1140,6.02,CRD,20 +VTS,1,1,840,4.04,CRD,14.5 +VTS,1,1,840,2.63,CSH,12.5 +VTS,1,1,960,2.83,CRD,12.5 +VTS,1,1,480,0.75,CRD,7 +VTS,1,1,780,0.92,CSH,9.5 +VTS,1,1,180,0.48,CSH,4 +VTS,1,1,840,2.56,CSH,11 +VTS,1,1,480,1.47,CSH,8 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,900,2.68,CRD,12.5 +VTS,1,1,720,1.59,CSH,9.5 +VTS,1,2,240,0.9,CSH,5.5 +VTS,1,1,0,0.13,CSH,2.5 +VTS,1,1,420,1.18,CSH,6.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,540,1.61,CRD,8.5 +VTS,1,1,360,1.36,CSH,6 +VTS,1,1,900,3.61,CSH,13 +VTS,1,2,360,1.27,CSH,6.5 +VTS,1,1,780,3.03,CRD,12 +VTS,1,1,420,1.31,CRD,7 +VTS,1,1,420,1.79,CSH,7.5 +VTS,1,1,660,2.23,CRD,10 +VTS,1,1,600,2.46,CRD,10 +VTS,1,1,1080,4.93,CRD,17.5 +VTS,1,1,420,1.9,CRD,8.5 +VTS,1,1,1800,6.62,CRD,26 +VTS,1,1,180,0.64,CSH,4.5 +VTS,1,1,1140,2.36,CSH,13.5 +VTS,1,1,660,2.05,CSH,10 +VTS,1,1,960,3.46,CRD,14 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,480,1.61,CSH,8 +VTS,1,1,180,1.32,CRD,6 +VTS,1,1,660,1.22,CRD,8.5 +VTS,1,1,900,2.82,CRD,12 +VTS,1,1,780,2.26,CRD,10.5 +VTS,1,1,540,2.46,CRD,9.5 +VTS,1,1,480,1.59,CSH,8 +VTS,1,1,540,1.98,CRD,8.5 +VTS,1,1,360,1.32,CSH,6 +VTS,1,1,660,1.64,CRD,9.5 +VTS,1,1,300,0.99,CSH,6 +VTS,1,1,420,1.4,CSH,7 +VTS,1,1,600,1.59,CRD,8.5 +VTS,1,1,120,0.41,CSH,3.5 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,1,840,2.58,CSH,12 +VTS,1,1,1080,5.06,CRD,17.5 +VTS,1,1,300,1.52,CSH,7 +VTS,2,5,2160,18.13,CSH,52 +VTS,1,1,540,0.99,CSH,7.5 +VTS,1,1,1140,3.06,CRD,14.5 +VTS,1,1,600,2.46,CSH,10 +VTS,1,1,420,1.13,CRD,7 +VTS,1,1,840,2.68,CRD,11.5 +VTS,1,1,300,1.59,CSH,6.5 +VTS,1,1,1200,5.11,CRD,19 +VTS,2,5,2100,17.54,CSH,52 +VTS,1,1,2040,11.2,CRD,37 +VTS,1,1,360,1.31,CSH,6.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,720,3.49,CRD,12.5 +VTS,1,1,660,2.64,CRD,11 +VTS,1,1,420,1.37,CSH,7 +VTS,1,1,420,1.67,CRD,7.5 +VTS,1,2,1800,11.24,CRD,34 +VTS,1,1,1020,2.17,CSH,12.5 +VTS,1,1,780,3.77,CRD,13.5 +VTS,1,1,360,1.09,CRD,6.5 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,2,1440,10.07,CRD,29 +VTS,1,1,480,1.98,CRD,8.5 +VTS,1,1,1020,3.2,CRD,14 +VTS,1,1,1800,5.82,CRD,24 +VTS,1,1,720,1.41,CSH,9 +VTS,1,1,780,1.55,CSH,9.5 +VTS,1,1,480,1.59,CRD,8 +VTS,1,1,660,1.31,CSH,8.5 +VTS,1,1,1500,4.31,CRD,19.5 +VTS,1,1,840,1.18,CRD,9.5 +VTS,1,1,240,0.57,CRD,4.5 +VTS,1,1,540,2.1,CRD,9 +VTS,1,1,540,1.21,CSH,7.5 +VTS,1,1,420,0.95,CRD,6 +VTS,1,1,600,1.89,CSH,9 +VTS,1,1,540,1.34,CSH,8 +VTS,1,1,420,1.1,CRD,7 +VTS,1,1,180,0.44,CRD,4 +VTS,1,1,120,0.51,CSH,4 +VTS,1,1,600,2.31,CSH,10 +VTS,1,2,360,0.95,CRD,6 +VTS,1,1,960,2.09,CRD,12 +VTS,1,1,240,0.78,CRD,5 +VTS,1,1,1260,9.74,CRD,28 +VTS,1,1,840,2.03,CRD,11 +VTS,1,1,1320,4.97,CRD,20 +VTS,2,5,1980,19.51,CRD,52 +VTS,1,1,660,2.09,CRD,10 +VTS,1,1,720,2.67,CRD,11.5 +VTS,1,1,840,2.02,CRD,11 +VTS,1,1,600,3.7,CRD,13 +VTS,1,1,480,1.41,CRD,7 +VTS,1,1,960,1.18,CSH,11 +VTS,1,1,540,2.04,CRD,8.5 +VTS,1,1,180,0.47,CRD,4 +VTS,1,1,120,0.43,CRD,3.5 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,180,0.47,CSH,4 +VTS,1,1,900,5.62,CRD,17.5 +VTS,1,1,660,1.31,CSH,8.5 +VTS,1,1,780,2.19,CRD,10.5 +VTS,1,1,660,2.61,CRD,10.5 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,1200,5.62,CRD,19 +VTS,1,1,300,1.04,CSH,6 +VTS,1,1,120,0.86,CRD,4.5 +VTS,1,1,360,0.9,CRD,6 +VTS,1,1,240,0.49,CRD,4.5 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,120,0.47,CSH,3.5 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,720,3.56,CRD,12.5 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,420,1.72,CRD,8 +VTS,1,1,420,0.99,CSH,6.5 +VTS,1,1,480,1.17,CSH,7 +VTS,1,1,960,2.56,CSH,12.5 +VTS,1,1,360,0.83,CRD,6 +VTS,1,1,780,3.12,CRD,12.5 +VTS,1,1,1680,9.37,CRD,28.5 +VTS,1,1,1740,11.53,CRD,35 +VTS,1,1,1800,17.04,CRD,48 +VTS,1,1,1620,3.65,CRD,19 +VTS,1,1,480,0.83,CRD,6.5 +VTS,1,1,420,2.16,CSH,8.5 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,1,120,0.44,CSH,3.5 +VTS,1,1,600,2.04,CSH,9.5 +VTS,1,1,420,0.99,CRD,6.5 +VTS,1,2,360,0.68,CSH,5.5 +VTS,1,1,360,0.79,CRD,5.5 +VTS,1,1,1200,4.08,CRD,16.5 +VTS,1,1,360,1.41,CSH,6.5 +VTS,1,1,660,1.39,CRD,8.5 +VTS,1,1,300,1.63,CSH,7 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,1,480,0.98,CRD,7 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,540,2.53,CRD,10 +VTS,1,1,120,0.64,CRD,4 +VTS,1,1,660,2.47,CSH,10.5 +VTS,1,1,540,2.33,CSH,9.5 +VTS,1,2,600,3.71,CRD,13 +VTS,1,1,540,1.73,CRD,9 +VTS,1,1,180,0.34,CRD,4 +VTS,1,2,1140,8.56,CSH,26 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,1,780,1.15,CSH,9.5 +VTS,1,1,840,2.39,CSH,12 +VTS,1,1,360,0.73,CSH,5.5 +VTS,1,1,1020,0.97,CRD,11 +VTS,1,1,840,1.98,CRD,10.5 +VTS,1,1,540,1.15,CSH,7 +VTS,1,1,720,1.98,CRD,9.5 +VTS,1,1,660,3.27,CRD,11 +VTS,1,1,120,0.84,CSH,4.5 +VTS,1,2,360,0.95,CRD,6 +VTS,1,1,780,1.96,CSH,10.5 +VTS,1,1,240,0.88,CRD,5 +VTS,1,1,240,0.66,CSH,5 +VTS,1,1,540,1.52,CSH,7.5 +VTS,1,1,720,1.57,CSH,9.5 +VTS,1,1,1140,2.27,CSH,13.5 +VTS,1,1,840,3.28,CRD,13 +VTS,1,1,360,1.31,CRD,6.5 +VTS,1,1,540,2.42,CRD,9 +VTS,1,2,420,2.18,CSH,8.5 +VTS,1,1,480,1.86,CSH,8.5 +VTS,1,1,300,0.91,CSH,6 +VTS,1,1,300,0.6,CRD,5 +VTS,1,1,540,1.29,CRD,7.5 +VTS,1,2,1140,9.23,CRD,26.5 +VTS,1,1,600,1.96,CRD,9 +VTS,1,1,840,4.94,CRD,17.5 +VTS,1,1,180,0.47,CSH,4 +VTS,1,1,1080,2.41,CSH,13 +VTS,1,1,420,1.28,CRD,7 +VTS,1,1,480,1.23,CRD,7 +VTS,1,1,780,0.89,CSH,9 +VTS,1,2,1560,9.61,CSH,29.5 +VTS,1,1,480,1.25,CRD,7 +VTS,1,1,840,1.72,CSH,10.5 +VTS,1,1,600,1.94,CRD,9 +VTS,1,1,600,3.38,CSH,12 +VTS,1,1,1020,2.07,CSH,12 +VTS,1,1,120,0.52,CSH,4 +VTS,1,1,420,1.43,CSH,7 +VTS,1,2,540,1.58,CSH,8 +VTS,1,1,1020,2.49,CRD,12.5 +VTS,1,1,480,1.3,CSH,7 +VTS,1,1,660,2.06,CSH,10 +VTS,1,1,600,3.38,CRD,12 +VTS,1,1,660,1.41,CRD,8.5 +VTS,1,1,1920,11.26,CRD,35 +VTS,1,1,1440,7.95,CRD,26 +VTS,1,1,1140,3.73,CRD,15.5 +VTS,1,1,840,1.84,CRD,11 +VTS,1,1,960,3.02,CRD,13.5 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,600,1.88,CSH,9.5 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,300,0.53,CRD,5 +VTS,1,1,300,0.66,CSH,5 +VTS,1,1,1080,2.03,CSH,13 +VTS,1,1,1200,3.05,CRD,15.5 +VTS,1,1,660,0.77,CRD,8.5 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,600,3.08,CSH,11.5 +VTS,1,1,1260,5.02,CRD,19 +VTS,1,1,420,1.67,CRD,7.5 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,480,0.88,CSH,7 +VTS,1,1,480,1.75,CSH,8.5 +VTS,1,2,300,0.63,CSH,5 +VTS,1,2,480,1.23,CRD,7 +VTS,1,1,1380,10.69,CRD,31.5 +VTS,1,1,720,1.62,CSH,9.5 +VTS,1,1,120,0.68,CSH,4 +VTS,1,1,180,0.45,CRD,4 +VTS,1,1,840,2.75,CRD,12 +VTS,1,1,240,1.16,CRD,6 +VTS,1,1,600,2.42,CRD,9.5 +VTS,1,1,360,1.55,CRD,7 +VTS,1,2,780,1.51,CSH,9.5 +VTS,1,1,360,1.19,CSH,6.5 +VTS,1,1,360,0.8,CSH,6 +VTS,1,1,360,1.03,CRD,6 +VTS,1,1,240,0.9,CRD,5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,180,0.92,CSH,4.5 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,60,0.22,CRD,3 +VTS,1,1,780,2.43,CSH,11 +VTS,1,1,660,1.71,CRD,9.5 +VTS,1,1,300,0.73,CRD,5 +VTS,1,1,480,1.11,CRD,7 +VTS,1,1,1500,10.89,CRD,32.5 +VTS,1,1,240,0.87,CRD,5.5 +VTS,1,1,600,1.44,CSH,8.5 +VTS,1,1,240,1.32,CRD,6 +VTS,2,4,1440,16.94,CSH,52 +VTS,1,1,60,0.49,CSH,3.5 +VTS,1,1,420,0.67,CSH,6 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,540,1.44,CSH,8 +VTS,1,1,420,1.14,CSH,6.5 +VTS,1,1,300,1.19,CSH,6 +VTS,1,1,600,1.64,CRD,8.5 +VTS,1,1,180,0.63,CRD,4.5 +VTS,1,1,1380,6.82,CRD,23 +VTS,1,1,1440,4.18,CRD,18.5 +VTS,1,2,1500,6.96,CRD,24 +VTS,1,1,720,2.39,CRD,11 +VTS,1,1,360,0.68,CRD,6 +VTS,1,1,1200,3.56,CRD,15 +VTS,1,1,420,1.24,CRD,7.5 +VTS,1,1,1080,2.81,CRD,14 +VTS,1,1,360,1.63,CRD,7 +VTS,1,1,540,1.17,CSH,7.5 +VTS,1,1,780,1.88,CRD,10 +VTS,1,1,480,0.7,CRD,6.5 +VTS,1,2,480,0.94,CRD,7 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,360,0.76,CRD,6 +VTS,1,1,420,1.41,CRD,7.5 +VTS,1,1,420,1.65,CRD,8 +VTS,1,1,360,1.65,CSH,7.5 +VTS,1,2,660,2.18,CRD,10.5 +VTS,1,1,540,1.58,CSH,8 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,540,2.27,CRD,9 +VTS,1,1,1080,1.65,CSH,12 +VTS,1,1,1860,4.01,CSH,20.5 +VTS,1,1,840,1.86,CRD,10.5 +VTS,1,1,660,3.14,CSH,12 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,840,2.19,CSH,11 +VTS,1,1,540,1.42,CSH,8 +VTS,1,1,540,1.54,CSH,8 +VTS,1,1,1140,1.99,CRD,13.5 +VTS,1,1,360,0.67,CSH,6 +VTS,1,1,300,0.58,CSH,5 +VTS,1,1,660,1.91,CRD,9.5 +VTS,1,1,240,0.58,CRD,5 +VTS,1,1,900,2.2,CSH,11.5 +VTS,1,1,240,0.97,CRD,5.5 +VTS,1,1,420,2.15,CSH,8.5 +VTS,1,1,180,0.53,CRD,4 +VTS,1,2,900,1.74,CSH,10.5 +VTS,1,1,600,0.8,CRD,7.5 +VTS,1,1,480,1.41,CSH,7 +VTS,1,1,360,0.77,CSH,6 +VTS,1,1,300,0.47,CSH,4.5 +VTS,1,1,540,1.11,CRD,7.5 +VTS,1,1,480,2.82,CSH,10 +VTS,1,1,180,0.79,CRD,4.5 +VTS,1,1,840,2.31,CRD,11 +VTS,1,1,360,0.84,CRD,6 +VTS,1,1,720,1.65,CSH,9.5 +VTS,1,1,660,1.92,CSH,9.5 +VTS,1,2,480,1.56,CSH,8 +VTS,1,1,300,1.27,CSH,6.5 +VTS,1,1,840,1.46,CSH,10 +VTS,1,1,360,1.25,CSH,7 +VTS,1,1,1380,3.04,CRD,17 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,360,0.59,CRD,5.5 +VTS,1,1,300,0.71,CSH,4.5 +VTS,1,1,360,1.14,CRD,6.5 +VTS,1,1,1560,7.8,CSH,27 +VTS,1,1,900,2.16,CRD,11.5 +VTS,1,1,660,0.82,CSH,8 +VTS,1,1,240,0.57,CSH,5 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,900,2.34,CRD,11.5 +VTS,1,1,720,3.46,CRD,13 +VTS,1,1,720,1.69,CSH,9.5 +VTS,1,1,480,0.99,CSH,7 +VTS,1,1,1920,2.08,CSH,19.5 +VTS,1,1,900,1.72,CRD,11 +VTS,1,1,120,0.59,CRD,4 +VTS,1,1,720,1.65,CRD,10 +VTS,1,1,840,2.95,CRD,12.5 +VTS,1,1,360,1.27,CSH,6.5 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,480,1.51,CSH,7.5 +VTS,1,2,240,0.67,CRD,4.5 +VTS,1,1,540,1.54,CSH,8 +VTS,1,1,720,2.21,CRD,10.5 +VTS,1,1,780,1.97,CRD,10.5 +VTS,1,2,480,1.65,CSH,8 +VTS,1,1,900,3.13,CRD,13 +VTS,1,1,360,0.58,CSH,5.5 +VTS,1,1,420,0.84,CSH,6.5 +VTS,1,1,1080,2.94,CRD,14 +VTS,1,1,1200,3.33,CRD,15 +VTS,1,1,240,0.52,CRD,4.5 +VTS,1,1,840,1.74,CRD,10.5 +VTS,1,1,540,2.11,CRD,9 +VTS,1,2,360,1.32,CRD,6.5 +VTS,1,1,420,1.54,CRD,7.5 +VTS,1,1,1080,1.92,CRD,12.5 +VTS,1,1,1920,11.47,CRD,34 +VTS,1,1,720,3.35,CSH,12.5 +VTS,1,1,480,1.98,CSH,8.5 +VTS,1,1,1020,3.01,CSH,13.5 +VTS,1,1,900,5.37,CRD,17.5 +VTS,1,2,360,0.9,CRD,6 +VTS,1,1,480,1.49,CRD,7 +VTS,1,1,1080,3.15,CRD,13.5 +VTS,1,1,420,1.94,CRD,8 +VTS,1,1,600,2.4,CRD,10 +VTS,1,1,420,1.01,CSH,6.5 +VTS,1,1,360,0.94,CSH,6 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,420,0.83,CRD,6.5 +VTS,1,1,600,1.81,CSH,9.5 +VTS,1,1,1200,4.18,CRD,16 +VTS,1,1,840,4.76,CSH,16.5 +VTS,1,1,1380,8.16,CSH,25.5 +VTS,1,2,840,2.95,CSH,11.5 +VTS,1,1,540,0.97,CSH,7.5 +VTS,1,1,180,0.77,CSH,5 +VTS,1,1,1200,3.05,CRD,15 +VTS,1,1,660,2.05,CRD,9.5 +VTS,1,1,300,0.53,CSH,4.5 +VTS,1,1,780,1.77,CRD,10.5 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,960,2.74,CSH,13 +VTS,1,1,240,0.57,CRD,5 +VTS,1,3,420,0.97,CSH,6.5 +VTS,1,2,240,0.5,CSH,4.5 +VTS,1,1,720,2.01,CRD,10 +VTS,1,2,1020,3.33,CRD,14 +VTS,1,1,540,1.49,CRD,8 +VTS,1,1,1200,9.09,CRD,27 +VTS,1,1,240,0.99,CRD,5 +VTS,1,1,780,2.71,CSH,11.5 +VTS,1,1,240,0.66,CSH,4.5 +VTS,1,1,540,1.31,CSH,8 +VTS,1,1,1380,8.93,CSH,28 +VTS,1,1,840,0.91,CSH,9.5 +VTS,1,1,660,1.99,CSH,8.5 +VTS,1,2,660,1.33,CRD,8.5 +VTS,1,1,120,0.26,CRD,3 +VTS,1,1,720,2.52,CRD,10.5 +VTS,1,1,360,0.67,CSH,5.5 +VTS,1,2,660,3,CSH,11.5 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,960,7.06,CRD,22.5 +VTS,1,1,1020,1.9,CRD,11.5 +VTS,1,1,180,0.41,CSH,3.5 +VTS,1,1,300,0.8,CRD,5 +VTS,1,1,540,2.1,CSH,9 +VTS,1,1,480,0.89,CSH,6.5 +VTS,1,1,600,2.64,CRD,10 +VTS,1,4,180,0.59,CSH,4 +VTS,1,2,480,0.87,CRD,6.5 +VTS,1,2,600,2.12,CSH,9.5 +VTS,1,2,660,2.05,CSH,9 +VTS,1,1,480,0.94,CRD,7 +VTS,1,2,900,2.75,CSH,12 +VTS,1,2,180,0.55,CSH,4.5 +VTS,1,1,480,1.61,CSH,8 +VTS,1,1,480,2.78,CRD,10 +VTS,1,1,720,2.05,CRD,9.5 +VTS,1,1,780,1.89,CRD,10 +VTS,1,2,240,0.89,CSH,5.5 +VTS,1,2,660,1.91,CSH,9.5 +VTS,1,1,300,1.22,CRD,6 +VTS,1,1,780,2.63,CSH,11 +VTS,1,3,1200,2.72,CSH,14 +VTS,1,1,900,2.33,CRD,11.5 +VTS,1,1,360,0.46,CRD,6 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,1,1320,5.64,CRD,20.5 +VTS,1,1,840,2.62,CSH,12 +VTS,1,1,960,3.01,CSH,13 +VTS,1,1,1620,6.33,CRD,24.5 +VTS,1,1,1320,11.09,CRD,32 +VTS,1,1,900,3.63,CSH,14 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,840,1.97,CRD,11 +VTS,1,1,420,1.45,CRD,7.5 +VTS,1,1,660,1.63,CRD,9 +VTS,1,1,180,0.61,CRD,4.5 +VTS,1,1,1020,5.13,CRD,17 +VTS,1,1,720,1.57,CRD,9 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,420,1.35,CRD,7 +VTS,1,1,420,1.41,CRD,7 +VTS,1,1,1500,10.51,CRD,32.5 +VTS,1,1,180,0.42,CRD,4 +VTS,1,1,300,0.76,CRD,5 +VTS,1,1,600,1.9,CSH,9 +VTS,1,1,300,0.74,CRD,5 +VTS,1,1,1080,2.97,CRD,13 +VTS,1,1,600,2.07,CSH,9.5 +VTS,1,2,720,2.5,CRD,11.5 +VTS,1,1,420,0.88,CRD,6 +VTS,1,1,360,1.28,CRD,6.5 +VTS,1,1,420,0.58,CRD,6 +VTS,1,1,1620,5.5,CRD,22.5 +VTS,1,1,180,0.46,CRD,4.5 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,1200,4.64,CSH,18 +VTS,1,1,660,1.33,CSH,8.5 +VTS,1,1,660,1.31,CSH,9 +VTS,1,1,1020,2.57,CRD,12.5 +VTS,1,1,300,1.19,CSH,6 +VTS,1,1,420,1.26,CSH,7 +VTS,1,1,600,1.68,CSH,9 +VTS,1,1,1140,2.11,CRD,12.5 +VTS,1,1,780,2,CRD,10 +VTS,1,1,780,5.28,CRD,16.5 +VTS,1,1,1080,2.38,CRD,13 +VTS,1,1,300,0.83,CRD,6 +VTS,1,2,540,1.67,CRD,9 +VTS,1,1,600,0.77,CSH,7 +VTS,1,2,900,2.88,CSH,12 +VTS,1,2,480,1.46,CSH,7.5 +VTS,1,1,540,1.7,CSH,8.5 +VTS,1,1,360,0.89,CSH,6.5 +VTS,1,1,540,2.01,CSH,9 +VTS,1,1,720,3.02,CRD,12 +VTS,1,1,1260,9.46,CRD,28.5 +VTS,1,1,840,4.02,CRD,14.5 +VTS,1,1,900,2.49,CRD,11.5 +VTS,1,1,600,1.08,CRD,8 +VTS,1,1,420,1.58,CSH,7.5 +VTS,1,1,240,0.62,CSH,5 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,180,0.8,CSH,5 +VTS,1,1,540,2.04,CRD,9 +VTS,1,1,420,0.77,CRD,6 +VTS,1,1,1140,3.3,CRD,16 +VTS,1,1,180,0.63,CRD,4 +VTS,1,1,480,1.07,CRD,7 +VTS,1,1,840,3.35,CRD,13 +VTS,1,1,300,0.78,CSH,5 +VTS,1,1,1860,11.76,CRD,35 +VTS,1,2,660,2.33,CSH,10 +VTS,1,1,180,0.54,CSH,4 +VTS,1,1,360,0.87,CSH,6 +VTS,1,2,420,1.26,CSH,7 +VTS,1,2,360,0.65,CSH,5.5 +VTS,1,1,660,3.76,CRD,13 +VTS,1,1,780,2.52,CRD,10.5 +VTS,1,2,1020,6.16,CRD,20.5 +VTS,1,1,300,1.51,CSH,6.5 +VTS,1,1,1080,5.34,CRD,17.5 +VTS,1,1,1320,9.48,CRD,27 +VTS,1,1,660,2.28,CRD,10.5 +VTS,1,1,60,0.49,CSH,3.5 +VTS,1,1,780,1.59,CRD,10 +VTS,1,1,900,2.05,CSH,12 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,540,1.65,CRD,8.5 +VTS,1,1,780,2.3,CRD,11 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,1560,2.47,CRD,15 +VTS,1,1,360,1.36,CSH,7 +VTS,1,1,1260,1.93,CRD,13.5 +VTS,1,2,1680,10.44,CRD,32.5 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,840,1.95,CRD,11 +VTS,1,1,1080,5.09,CRD,18.5 +VTS,1,2,480,0.75,CRD,7 +VTS,1,1,780,1.26,CSH,9.5 +VTS,1,1,780,2.99,CRD,12 +VTS,1,1,660,2.27,CSH,9.5 +VTS,1,2,540,1.14,CRD,7.5 +VTS,1,1,540,3.64,CRD,12.5 +VTS,2,1,2520,18.56,CRD,52 +VTS,1,2,1140,11.67,CRD,32.5 +VTS,1,1,300,1.34,CRD,6.5 +VTS,1,1,1500,3.07,CSH,17.5 +VTS,1,1,1500,3.54,CRD,18 +VTS,1,1,540,2,CSH,9 +VTS,1,1,480,1.09,CRD,7 +VTS,1,1,420,2.02,CRD,8 +VTS,1,1,300,1.54,CRD,7.5 +VTS,1,1,660,2.37,CSH,10.5 +VTS,1,2,420,1,CRD,6 +VTS,1,1,360,1.25,CRD,6 +VTS,1,1,600,1.86,CRD,9 +VTS,1,1,720,1.42,CRD,9 +VTS,1,1,840,1.7,CSH,10.5 +VTS,1,1,120,1.01,CSH,5 +VTS,1,1,900,3.25,CRD,12.5 +VTS,1,2,240,0.87,CRD,5 +VTS,1,1,780,3.67,CRD,13.5 +VTS,1,1,780,4.34,CSH,15 +VTS,1,2,180,0.31,CRD,3.5 +VTS,1,1,180,0.96,CRD,4.5 +VTS,1,1,480,1.25,CSH,7 +VTS,1,3,900,2.54,CRD,11.5 +VTS,1,1,660,1.58,CSH,8.5 +VTS,1,1,900,4.01,CRD,14.5 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,1,1320,7.56,CRD,25 +VTS,1,1,1080,3.02,CRD,14 +VTS,1,1,180,0.38,CSH,4 +VTS,1,1,360,1.31,CSH,6.5 +VTS,1,1,840,2.1,CRD,11.5 +VTS,1,1,360,1.16,CRD,6 +VTS,1,1,600,2.3,CRD,9.5 +VTS,1,1,1200,9.23,CRD,27.5 +VTS,1,1,840,6.75,CRD,20 +VTS,1,1,240,0.86,CRD,5 +VTS,1,1,540,1.43,CRD,7.5 +VTS,1,1,1020,1.08,CRD,11.5 +VTS,1,1,360,1.3,CSH,6.5 +VTS,1,1,2220,4.31,CRD,23.5 +VTS,1,1,240,1.17,CRD,5.5 +VTS,1,1,600,3.38,CSH,12 +VTS,1,1,1020,3.53,CRD,14.5 +VTS,1,2,360,0.9,CRD,6 +VTS,1,1,360,0.55,CSH,5 +VTS,1,1,660,1.1,CSH,8 +VTS,1,1,540,1.37,CRD,7.5 +VTS,1,1,1440,3.9,CSH,17.5 +VTS,1,1,1560,6.13,CRD,23 +VTS,1,1,720,3.65,CRD,13 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,540,1.18,CRD,7.5 +VTS,1,6,420,0.95,CRD,6.5 +VTS,1,6,420,1.48,CRD,7 +VTS,1,6,240,0.89,CRD,5 +VTS,1,1,1380,3.83,CRD,17 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,2,60,0.52,CSH,3.5 +VTS,1,1,1620,10.86,CRD,33.5 +VTS,1,1,240,1.01,CRD,6 +VTS,1,3,1020,3.25,CSH,13.5 +VTS,1,1,1260,3.44,CRD,16 +VTS,1,1,420,1.42,CSH,7 +VTS,1,1,420,1.18,CSH,7 +VTS,1,1,900,1.22,CSH,10 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,2,540,3.28,CRD,12 +VTS,1,1,1200,3.37,CSH,16.5 +VTS,1,2,540,1.73,CSH,8.5 +VTS,1,2,780,1.94,CRD,10 +VTS,1,1,900,3.35,CSH,13 +VTS,1,1,300,0.75,CSH,5.5 +VTS,1,3,720,2.84,CRD,12 +VTS,1,1,600,1.61,CSH,8.5 +VTS,1,1,360,1.87,CRD,7.5 +VTS,1,1,840,5.85,CSH,19 +VTS,1,1,600,2.4,CRD,9.5 +VTS,1,1,720,2.32,CRD,10 +VTS,1,3,540,2.14,CRD,8.5 +VTS,1,1,420,0.67,CRD,6 +VTS,1,1,1320,3.65,CRD,15 +VTS,1,1,660,3.09,CSH,11 +VTS,1,2,720,1.72,CSH,8.5 +VTS,1,4,240,0.31,CSH,4 +VTS,1,2,480,2.18,CRD,8.5 +VTS,1,1,540,1.29,CSH,7.5 +VTS,1,2,600,2.57,CRD,10 +VTS,1,2,660,0.66,CSH,8 +VTS,1,1,900,1.96,CRD,11 +VTS,1,1,540,0.57,CSH,6.5 +VTS,1,2,660,1.18,CRD,8 +VTS,1,1,300,0.99,CRD,6 +VTS,1,1,540,1.63,CSH,8 +VTS,1,1,360,1.31,CRD,6.5 +VTS,1,1,960,4.97,CSH,17 +VTS,1,1,1440,3.29,CSH,16 +VTS,1,1,540,2.23,CRD,9.5 +VTS,1,1,420,1.31,CRD,7 +VTS,1,1,960,6.32,CRD,19.5 +VTS,1,1,720,2.81,CRD,10.5 +VTS,1,1,660,1.74,CRD,8.5 +VTS,1,2,420,0.6,CSH,6 +VTS,1,2,1380,9.19,CRD,28 +VTS,1,1,480,2.61,CSH,10 +VTS,1,3,360,1.14,CSH,6 +VTS,1,1,480,1.96,CRD,8.5 +VTS,1,2,960,2.93,CSH,13 +VTS,1,1,540,1.21,CRD,7 +VTS,1,3,660,1.91,CRD,9.5 +VTS,1,2,180,0.45,CRD,4 +VTS,1,1,300,1.94,CRD,7 +VTS,1,1,660,2.08,CSH,9.5 +VTS,1,1,480,1.37,CRD,7 +VTS,1,1,2220,2.79,CSH,23 +VTS,1,1,840,1.26,CSH,9.5 +VTS,1,1,840,7.2,CRD,21.5 +VTS,1,2,360,1.77,CRD,7.5 +VTS,1,1,360,1.12,CSH,6.5 +VTS,1,1,480,1.33,CSH,7.5 +VTS,1,1,120,0.47,CRD,4 +VTS,1,1,360,1.09,CSH,6 +VTS,1,1,1080,7.21,CRD,22 +VTS,1,1,300,0.58,CSH,4.5 +VTS,1,2,720,2.02,CSH,10 +VTS,1,2,420,1.2,CSH,6 +VTS,1,4,600,2.01,CRD,9.5 +VTS,1,1,840,1.78,CRD,10.5 +VTS,1,2,1440,8.35,CRD,27.5 +VTS,1,1,420,1.29,CRD,7 +VTS,1,1,1200,3.62,CSH,15.5 +VTS,1,2,840,2.03,CRD,10.5 +VTS,1,1,600,2.23,CRD,9.5 +VTS,1,1,1560,7.92,CRD,26 +VTS,1,1,420,1.39,CSH,7 +VTS,1,1,0,0.26,CSH,3 +VTS,1,1,60,0.69,CSH,4 +VTS,1,1,780,2.15,CSH,10.5 +VTS,1,1,180,0.78,CRD,4.5 +VTS,1,1,480,1.62,CRD,8 +VTS,1,1,360,0.79,CSH,5.5 +VTS,1,1,600,1.87,CSH,9 +VTS,1,1,960,6.15,CRD,19.5 +VTS,1,1,900,1.2,CRD,10 +VTS,1,1,720,2.07,CRD,9.5 +VTS,1,1,180,0.5,CSH,4.5 +VTS,1,1,420,2,CSH,8 +VTS,1,1,360,0.6,CRD,5.5 +VTS,1,1,300,0.79,CRD,5 +VTS,1,1,660,1.01,CSH,8 +VTS,1,1,240,0.83,CSH,5.5 +VTS,1,1,420,0.68,CSH,6 +VTS,1,1,780,1.82,CSH,10 +VTS,1,1,600,1.5,CSH,9 +VTS,1,1,660,2.91,CSH,12 +VTS,1,1,480,2.27,CSH,9 +VTS,1,1,360,1.29,CSH,6 +VTS,1,1,240,0.51,CRD,5 +VTS,1,1,1080,1.53,CSH,12 +VTS,1,1,660,1.33,CSH,8.5 +VTS,1,2,360,1.27,CRD,6.5 +VTS,1,1,1080,2.53,CRD,13.5 +VTS,1,1,300,0.94,CRD,6 +VTS,1,1,540,1.26,CSH,7.5 +VTS,1,2,240,0.48,CRD,4 +VTS,1,1,600,1.81,CSH,8.5 +VTS,1,1,240,1.23,CSH,5.5 +VTS,1,1,420,1.6,CSH,7 +VTS,1,1,660,1.58,CRD,9 +VTS,1,1,540,1.24,CRD,7.5 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,2,720,1.9,CRD,10 +VTS,1,1,840,2.23,CSH,11.5 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,780,1.1,CRD,9 +VTS,1,1,1020,4.58,CRD,17 +VTS,1,1,1260,6.28,CRD,20 +VTS,1,2,780,4.23,CSH,14.5 +VTS,1,1,540,1.1,CRD,8 +VTS,1,1,660,4.24,CRD,14 +VTS,1,4,600,1.6,CSH,8.5 +VTS,1,2,360,0.94,CRD,6 +VTS,1,1,900,4.42,CSH,16 +VTS,1,1,420,1.26,CSH,7 +VTS,1,2,1020,2.77,CRD,13.5 +VTS,1,1,780,1.41,CRD,9.5 +VTS,1,1,540,2.21,CRD,9 +VTS,1,1,540,1.49,CRD,7.5 +VTS,1,1,660,2.72,CRD,10.5 +VTS,1,1,780,1.9,CRD,10.5 +VTS,1,1,2640,9.59,CRD,35 +VTS,1,1,960,1.36,CRD,11 +VTS,1,1,240,0.73,CSH,4.5 +VTS,1,1,660,1.79,CRD,8.5 +VTS,1,2,360,1.15,CSH,6 +VTS,5,1,60,0,CRD,11 +VTS,1,1,420,2.15,CRD,8.5 +VTS,1,3,900,2.12,CSH,11.5 +VTS,1,1,240,0.84,CSH,5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,2,660,1.5,CRD,8.5 +VTS,1,1,1440,5.81,CRD,20.5 +VTS,1,1,1080,4.76,CRD,17 +VTS,1,2,300,0.56,CSH,5 +VTS,1,1,1560,6.22,CSH,23.5 +VTS,1,1,360,1.6,CRD,7 +VTS,1,1,360,1.38,CRD,6.5 +VTS,1,3,360,0.92,CSH,6 +VTS,1,1,240,0.95,CSH,5 +VTS,1,1,960,4.1,CSH,15 +VTS,1,1,300,0.73,CRD,4.5 +VTS,1,1,300,0.9,CRD,5.5 +VTS,1,1,1020,3.22,CRD,14.5 +VTS,1,1,420,1.67,CRD,7.5 +VTS,1,1,120,0.32,CRD,3.5 +VTS,1,1,1020,2.94,CRD,13.5 +VTS,1,1,1260,10,CRD,29 +VTS,1,1,540,2.81,CSH,10 +VTS,1,1,360,1.85,CRD,7.5 +VTS,1,1,660,2.33,CSH,10 +VTS,1,1,720,2.96,CRD,11.5 +VTS,1,6,480,1.17,CRD,7 +VTS,1,6,300,1.49,CSH,6.5 +VTS,1,6,1260,4.94,CRD,19 +VTS,1,1,2280,7.57,CRD,29 +VTS,1,6,900,4.81,CSH,16.5 +VTS,1,6,60,0.07,CSH,2.5 +VTS,1,6,1260,1.16,CRD,13 +VTS,1,1,480,1.91,CSH,8 +VTS,1,6,420,2.03,CRD,8.5 +VTS,1,6,420,2.06,CSH,8 +VTS,1,6,1200,5.27,CRD,19 +VTS,1,6,900,1.39,CRD,11 +VTS,1,6,240,0.5,CSH,4.5 +VTS,1,6,480,2.05,CSH,8.5 +VTS,1,1,420,0.64,CSH,6 +VTS,1,6,1740,6.08,CSH,24.5 +VTS,1,6,420,1.28,CSH,7 +VTS,1,1,540,1.54,CRD,7.5 +VTS,1,1,660,1.23,CRD,8.5 +VTS,1,4,1260,3.24,CRD,15.5 +VTS,1,2,1080,4.08,CRD,16 +VTS,1,1,660,2.06,CSH,9 +VTS,1,1,600,2.09,CRD,9.5 +VTS,1,2,420,0.87,CRD,6 +VTS,1,1,360,1.07,CSH,6 +VTS,1,1,360,1.47,CSH,6.5 +VTS,1,1,540,2.08,CRD,9.5 +VTS,1,2,480,2.3,CSH,9 +VTS,1,1,600,1.34,CRD,8 +VTS,1,2,480,1,CRD,6.5 +VTS,1,1,540,1.29,CSH,7.5 +VTS,1,1,1680,15.22,CRD,42.5 +VTS,1,1,540,1.25,CSH,7.5 +VTS,1,6,60,0.51,CSH,3.5 +VTS,1,6,1140,4.86,CRD,17.5 +VTS,1,6,1320,5.46,CSH,20 +VTS,1,1,360,0.96,CRD,6 +VTS,1,6,420,0.94,CSH,6 +VTS,1,6,1200,4.68,CRD,18 +VTS,1,6,240,0.9,CSH,5 +VTS,1,6,360,0.71,CSH,5.5 +VTS,1,6,120,0.58,CRD,4 +VTS,1,1,300,1.53,CRD,6.5 +VTS,1,1,180,0.81,CSH,4.5 +VTS,1,1,300,1.65,CSH,6.5 +VTS,1,6,1080,2.55,CRD,13 +VTS,1,1,840,2.51,CSH,12 +VTS,1,1,1320,3.96,CSH,16.5 +VTS,1,1,1140,5.86,CRD,20 +VTS,1,1,720,3.11,CRD,11.5 +VTS,1,1,1620,3.6,CRD,18.5 +VTS,1,6,420,2.2,CRD,8.5 +VTS,1,6,720,1.73,CRD,10 +VTS,1,6,420,0.96,CRD,6.5 +VTS,1,1,420,0.91,CSH,6 +VTS,1,6,240,0.43,CSH,4.5 +VTS,1,1,780,3.19,CSH,13 +VTS,1,6,780,3.83,CSH,14.5 +VTS,1,6,360,1.44,CRD,7 +VTS,1,6,180,1.05,CSH,5 +VTS,1,6,480,2.14,CSH,9 +VTS,1,6,420,1.37,CRD,7 +VTS,1,1,480,1.44,CSH,7.5 +VTS,1,1,780,2.35,CSH,11 +VTS,1,6,720,2.31,CRD,10.5 +VTS,1,6,720,2.02,CSH,10 +VTS,1,6,1260,2.88,CSH,14.5 +VTS,1,6,1020,8.47,CRD,25.5 +VTS,1,6,900,3.01,CSH,13 +VTS,1,1,900,1.91,CRD,11.5 +VTS,1,6,300,0.75,CSH,5 +VTS,1,6,660,3.01,CRD,11.5 +VTS,1,6,600,1.82,CRD,9 +VTS,1,6,300,0.82,CRD,5.5 +VTS,1,6,360,0.93,CRD,6 +VTS,1,6,540,1.58,CSH,8.5 +VTS,1,6,840,3.13,CSH,13.5 +VTS,1,6,180,0.68,CRD,4.5 +VTS,1,6,840,2.22,CSH,11.5 +VTS,1,6,360,0.99,CSH,6 +VTS,1,6,600,2.53,CRD,10.5 +VTS,1,6,540,1.71,CSH,8 +VTS,1,6,1560,6.01,CSH,22.5 +VTS,1,6,300,1.16,CSH,6.5 +VTS,1,1,420,1.41,CRD,7.5 +VTS,1,1,360,1.36,CSH,7 +VTS,1,1,300,0.81,CSH,5 +VTS,1,1,960,2.52,CSH,12.5 +VTS,1,6,360,1.12,CSH,6 +VTS,1,6,240,0.94,CRD,5.5 +VTS,1,6,300,1.59,CRD,7 +VTS,1,6,1260,7.05,CSH,24 +VTS,1,6,180,0.67,CSH,4.5 +VTS,1,6,360,1.09,CSH,6 +VTS,1,6,240,0.75,CSH,4.5 +VTS,1,1,180,0.6,CRD,4.5 +VTS,1,1,300,0.41,CSH,4.5 +VTS,1,1,540,1.82,CSH,8.5 +VTS,1,1,540,1.34,CRD,7.5 +VTS,1,1,420,1.21,CSH,7 +VTS,1,1,480,1.71,CRD,7.5 +VTS,1,1,60,0.25,CRD,3 +VTS,1,1,660,1.39,CRD,8 +VTS,1,1,540,2.09,CRD,8.5 +VTS,1,1,720,2.43,CRD,11 +VTS,1,1,840,3.05,CSH,12.5 +VTS,1,1,660,1.25,CRD,8.5 +VTS,1,1,1080,1.59,CSH,11.5 +VTS,1,2,360,0.95,CSH,6 +VTS,1,2,420,1.56,CRD,7.5 +VTS,1,2,300,1.23,CSH,6 +VTS,1,1,480,1.65,CRD,7.5 +VTS,1,2,1500,6.32,CRD,22.5 +VTS,1,1,900,6.92,CRD,21 +VTS,1,6,1380,1.97,CRD,14.5 +VTS,1,6,360,1.39,CSH,7 +VTS,1,6,420,1.12,CSH,6.5 +VTS,1,6,1020,5.99,CSH,19 +VTS,1,6,780,3.52,CSH,13.5 +VTS,1,6,600,1.82,CRD,8.5 +VTS,1,1,660,2.15,CSH,10 +VTS,1,1,420,1.32,CRD,7 +VTS,1,2,720,2.59,CSH,11 +VTS,1,1,480,1.54,CSH,7.5 +VTS,1,1,240,0.84,CRD,4.5 +VTS,1,1,600,1.35,CRD,8 +VTS,1,1,840,4.83,CSH,16.5 +VTS,1,1,660,1.79,CSH,9 +VTS,1,1,660,1.87,CRD,9 +VTS,1,1,420,0.65,CRD,6 +VTS,1,2,780,4.39,CSH,14 +VTS,1,1,480,2.23,CRD,8.5 +VTS,1,1,720,3.56,CRD,12.5 +VTS,1,2,480,1.12,CSH,7 +VTS,1,2,540,3.58,CRD,12.5 +VTS,1,1,360,1.97,CRD,8 +VTS,1,2,660,2.23,CRD,9.5 +VTS,1,4,660,2.49,CRD,11 +VTS,1,1,540,1.94,CRD,9 +VTS,1,1,840,2.96,CRD,12 +VTS,1,1,180,0.44,CSH,4.5 +VTS,1,1,600,1.33,CRD,8.5 +VTS,1,6,420,1.46,CRD,7 +VTS,1,6,360,0.96,CRD,6.5 +VTS,1,6,720,1.97,CRD,9.5 +VTS,1,6,840,2.65,CRD,12 +VTS,1,6,1020,9.24,CSH,27 +VTS,1,6,300,0.82,CSH,5.5 +VTS,1,6,660,1.76,CSH,9 +VTS,1,6,300,0.97,CRD,5.5 +VTS,1,1,300,1.02,CSH,6 +VTS,1,6,1620,5.73,CRD,23 +VTS,1,6,420,1.64,CSH,7.5 +VTS,1,6,540,2.24,CSH,9 +VTS,1,1,1020,6.27,CRD,20.5 +VTS,1,6,240,0.94,CSH,5 +VTS,1,6,180,0.52,CSH,4 +VTS,1,6,240,1.12,CRD,5.5 +VTS,1,6,660,1.64,CSH,8.5 +VTS,1,6,660,1.87,CRD,9.5 +VTS,1,6,240,0.66,CRD,4.5 +VTS,1,6,1320,7.54,CRD,24 +VTS,1,1,480,1.92,CRD,8 +VTS,1,6,480,1.24,CSH,7.5 +VTS,1,6,780,2.07,CSH,10.5 +VTS,1,6,420,1.36,CSH,7 +VTS,1,6,900,2.04,CRD,11.5 +VTS,1,6,1320,2.12,CRD,14.5 +VTS,1,6,1380,4.89,CRD,19.5 +VTS,1,6,240,0.72,CRD,5 +VTS,1,6,660,3.98,CRD,13 +VTS,1,6,480,1.19,CSH,7.5 +VTS,1,6,240,0.98,CRD,5 +VTS,1,1,1080,3.63,CSH,15 +VTS,1,1,1380,5.76,CSH,20.5 +VTS,1,6,420,1.15,CRD,6.5 +VTS,1,6,600,1.48,CSH,8.5 +VTS,1,1,540,2.37,CSH,9.5 +VTS,1,6,600,1.39,CSH,8.5 +VTS,1,6,1020,1.91,CSH,12 +VTS,1,6,1140,4.42,CRD,17 +VTS,1,6,600,2.35,CRD,10 +VTS,1,6,420,2.16,CSH,8.5 +VTS,1,6,1680,11.11,CRD,31.5 +VTS,1,1,840,1.89,CRD,11 +VTS,1,6,360,0.58,CRD,5 +VTS,1,1,600,2.12,CRD,10 +VTS,1,6,1440,6.35,CRD,22 +VTS,1,6,300,0.99,CSH,5.5 +VTS,1,6,900,4.81,CRD,15.5 +VTS,1,1,960,3.38,CSH,13.5 +VTS,1,6,420,1.76,CSH,7.5 +VTS,1,6,480,2.26,CRD,9 +VTS,1,1,540,1.89,CSH,8.5 +VTS,1,6,600,2.5,CRD,10 +VTS,1,6,900,3.24,CRD,13 +VTS,1,6,660,1.22,CSH,8.5 +VTS,1,6,240,0.96,CSH,5 +VTS,1,2,300,0.97,CSH,5.5 +VTS,1,6,240,0.71,CSH,5 +VTS,1,6,1200,3.66,CSH,16.5 +VTS,1,6,420,0.83,CRD,6.5 +VTS,1,1,900,3.01,CRD,12.5 +VTS,1,6,300,0.65,CSH,5 +VTS,1,6,780,1.97,CSH,10 +VTS,1,1,240,0.89,CRD,5 +VTS,1,6,1260,4.9,CRD,19.5 +VTS,1,6,660,2.25,CRD,10 +VTS,1,6,600,1.91,CRD,9 +VTS,1,6,480,1.66,CRD,8 +VTS,1,6,360,1.86,CRD,7.5 +VTS,1,6,360,1.49,CSH,7 +VTS,1,6,420,1.76,CRD,7.5 +VTS,1,6,1080,5.92,CRD,19.5 +VTS,1,6,120,0.82,CSH,4.5 +VTS,1,6,600,3.17,CSH,11.5 +VTS,1,6,600,1.73,CRD,9 +VTS,1,6,780,2.19,CRD,10.5 +VTS,1,1,1020,3.81,CSH,15 +VTS,1,6,1080,3.58,CSH,16 +VTS,1,6,240,1.06,CSH,5.5 +VTS,1,6,1440,6.27,CRD,22 +VTS,1,6,660,2.55,CRD,10.5 +VTS,1,6,720,5.41,CRD,17 +VTS,1,6,900,2.25,CRD,11.5 +VTS,1,1,1560,5.95,CRD,23.5 +VTS,1,1,1140,4.07,CSH,15.5 +VTS,1,3,540,1.4,CSH,7.5 +VTS,1,1,720,2.6,CRD,10.5 +VTS,1,1,1380,6.24,CRD,21.5 +VTS,1,1,1560,4.63,CSH,19 +VTS,1,2,360,1.69,CRD,7 +VTS,1,1,480,2.52,CRD,9.5 +VTS,1,1,780,3.59,CRD,12.5 +VTS,1,1,780,3,CRD,12 +VTS,1,1,360,1.28,CSH,6 +VTS,1,1,360,0.94,CRD,5.5 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,1,420,1.32,CRD,7 +VTS,1,1,480,1.11,CRD,7 +VTS,1,1,840,3.24,CSH,13.5 +VTS,1,1,180,0.89,CSH,4.5 +VTS,1,4,960,2.58,CRD,12 +VTS,1,1,2580,11.47,CRD,38 +VTS,1,1,480,1.53,CRD,8 +VTS,1,2,720,3.41,CRD,13 +VTS,1,1,1260,4.73,CRD,18.5 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,720,2.85,CRD,11 +VTS,1,1,360,1.44,CSH,6.5 +VTS,1,1,420,2.55,CRD,9 +VTS,1,6,780,3.27,CSH,13 +VTS,1,1,480,2.02,CSH,8.5 +VTS,1,6,300,0.39,CRD,5 +VTS,1,6,840,2.14,CRD,11.5 +VTS,1,6,420,1.47,CSH,7 +VTS,1,6,840,4.86,CRD,16.5 +VTS,1,6,1380,4.97,CRD,18.5 +VTS,1,1,540,1.08,CSH,7 +VTS,1,6,480,1.54,CSH,7.5 +VTS,1,6,180,0.69,CRD,4.5 +VTS,1,6,180,0.97,CRD,5 +VTS,1,6,660,1.89,CSH,9 +VTS,1,6,300,0.65,CRD,5.5 +VTS,1,1,1200,8.65,CSH,25.5 +VTS,1,6,780,2.57,CRD,11.5 +VTS,1,6,600,2.73,CRD,11 +VTS,1,6,1200,5.72,CRD,19.5 +VTS,1,6,1260,7.15,CRD,23.5 +VTS,1,6,360,1.51,CSH,7 +VTS,2,6,3660,18.77,CRD,52 +VTS,1,6,1080,4.75,CRD,17 +VTS,1,1,960,3.41,CSH,14.5 +VTS,1,6,960,5.28,CRD,18 +VTS,1,6,900,2.52,CSH,10 +VTS,1,6,960,5.02,CRD,18 +VTS,1,6,180,0.67,CRD,4.5 +VTS,1,6,360,0.6,CSH,5 +VTS,1,1,360,1.25,CSH,6 +VTS,1,6,540,3.06,CRD,11.5 +VTS,1,1,780,3.21,CRD,12 +VTS,1,6,540,1.31,CRD,7.5 +VTS,1,6,1260,10.93,CRD,31.5 +VTS,1,6,240,0.86,CRD,5 +VTS,1,6,180,0.5,CRD,4 +VTS,1,6,120,0.54,CSH,4 +VTS,1,6,240,1.09,CSH,5.5 +VTS,1,6,540,1.77,CRD,8.5 +VTS,1,1,1980,4.21,CRD,21.5 +VTS,1,6,720,1.73,CRD,9.5 +VTS,1,6,300,1,CRD,5.5 +VTS,1,6,600,1.8,CRD,9 +VTS,1,6,540,4.58,CSH,14.5 +VTS,1,6,420,1.04,CRD,7 +VTS,1,6,360,0.94,CRD,6.5 +VTS,1,6,540,1.49,CSH,8 +VTS,1,6,240,0.89,CSH,5.5 +VTS,1,6,300,0.57,CSH,5 +VTS,1,6,960,4.09,CRD,15.5 +VTS,1,6,600,1.68,CSH,8.5 +VTS,1,6,1020,2.3,CSH,12 +VTS,1,6,480,1,CSH,7 +VTS,1,6,360,1.67,CSH,7 +VTS,1,6,300,1.28,CRD,6.5 +VTS,1,6,720,2.37,CSH,10.5 +VTS,1,6,120,0.44,CSH,3.5 +VTS,1,6,420,0.48,CRD,5.5 +VTS,1,6,1200,2.03,CRD,13 +VTS,1,6,240,1.18,CRD,5.5 +VTS,1,6,540,3.2,CRD,11 +VTS,1,6,420,1.68,CSH,7.5 +VTS,1,6,360,2.04,CSH,8 +VTS,1,6,480,2.45,CSH,9 +VTS,1,6,240,1.18,CRD,6 +VTS,1,6,1140,5.74,CSH,19.5 +VTS,1,6,1980,9.15,CSH,30 +VTS,1,6,720,4.13,CRD,14 +VTS,1,6,360,1.16,CSH,6.5 +VTS,1,6,540,1.63,CRD,8 +VTS,1,6,1740,6.36,CRD,23 +VTS,1,6,420,1.99,CRD,8 +VTS,1,6,1080,1.72,CRD,12.5 +VTS,1,6,1140,4.84,CRD,17 +VTS,1,6,1260,3.85,CRD,17 +VTS,1,6,300,0.95,CRD,5.5 +VTS,1,6,660,4.35,CRD,15.5 +VTS,1,6,420,2.5,CSH,9 +VTS,1,6,1140,3.13,CSH,14.5 +VTS,1,6,240,0.57,CRD,4.5 +VTS,1,6,420,2.2,CSH,8.5 +VTS,1,6,540,2.88,CRD,10.5 +VTS,1,6,360,1.35,CRD,7 +VTS,1,6,540,1.47,CSH,8 +VTS,1,6,420,1.38,CRD,7 +VTS,1,6,960,4.3,CRD,16 +VTS,1,6,540,1.22,CRD,8 +VTS,1,6,900,1.65,CRD,11 +VTS,1,6,780,2.34,CRD,11.5 +VTS,1,6,480,1.46,CRD,8 +VTS,1,6,240,0.72,CRD,4.5 +VTS,1,6,300,0.6,CRD,5 +VTS,1,6,1560,8.58,CSH,28 +VTS,1,6,480,1.8,CRD,8.5 +VTS,1,6,240,0.67,CSH,5 +VTS,1,6,360,1.4,CRD,6.5 +VTS,1,6,1020,5.1,CRD,18.5 +VTS,1,6,300,1.58,CSH,6.5 +VTS,1,6,1080,6.21,CRD,21 +VTS,1,6,180,0.73,CRD,4.5 +VTS,1,6,180,0.65,CSH,4 +VTS,1,6,540,1.59,CRD,8 +VTS,1,6,900,2.52,CRD,12 +VTS,1,6,480,1.44,CRD,7.5 +VTS,1,6,540,1.88,CSH,8.5 +VTS,1,6,300,0.94,CSH,5.5 +VTS,1,6,540,2.04,CRD,8.5 +VTS,1,6,240,0.81,CSH,4.5 +VTS,1,6,720,2.33,CRD,10 +VTS,1,1,900,3.03,CRD,12.5 +VTS,1,6,1680,5.89,CRD,23 +VTS,1,6,1140,3.65,CSH,15.5 +VTS,1,6,120,0.51,CRD,3.5 +VTS,1,6,660,2.98,CSH,10 +VTS,1,6,840,2.08,CSH,11 +VTS,1,6,540,1.58,CSH,8 +VTS,1,6,1200,3.61,CRD,16 +VTS,1,6,420,1.91,CRD,8 +VTS,1,1,420,1.78,CSH,8 +VTS,1,1,480,1.93,CSH,9 +VTS,1,1,360,1.35,CRD,7 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,480,1.14,CRD,7 +VTS,1,1,600,1.44,CSH,8 +VTS,1,1,720,1.49,CSH,9.5 +VTS,1,1,420,1.48,CRD,7.5 +VTS,1,1,300,1.02,CSH,5.5 +VTS,1,1,180,0.9,CSH,4.5 +VTS,1,1,720,3.61,CSH,13 +VTS,1,1,540,1.64,CRD,8 +VTS,1,1,180,1.17,CRD,6 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,6,360,1.22,CRD,6.5 +VTS,1,6,120,0.76,CSH,4.5 +VTS,1,6,540,1.44,CSH,7.5 +VTS,1,6,660,5.32,CRD,16.5 +VTS,1,6,1620,7.68,CRD,27.5 +VTS,1,6,420,0.9,CSH,6.5 +VTS,1,6,480,1.4,CRD,7.5 +VTS,1,6,1080,2.91,CRD,14.5 +VTS,1,6,420,1.31,CRD,7 +VTS,1,6,1620,18.38,CRD,49 +VTS,1,6,960,6.73,CSH,20.5 +VTS,1,6,360,1.27,CRD,6.5 +VTS,1,6,720,1,CRD,8.5 +VTS,1,1,420,1.57,CSH,7.5 +VTS,1,6,660,0.72,CSH,7.5 +VTS,1,6,1020,2.56,CRD,13 +VTS,1,6,1020,4.28,CSH,16 +VTS,1,6,660,6.41,CRD,19 +VTS,1,6,360,0.67,CRD,5.5 +VTS,1,6,1500,9.56,CSH,28 +VTS,1,6,720,1.45,CRD,9 +VTS,1,6,360,1.2,CSH,6 +VTS,1,6,1560,7.1,CRD,25 +VTS,1,6,540,1.51,CSH,8 +VTS,1,6,840,5.1,CRD,17 +VTS,1,1,360,1.34,CSH,6.5 +VTS,1,6,720,2.27,CRD,10.5 +VTS,1,6,600,1.52,CRD,9 +VTS,1,6,300,1.23,CSH,6 +VTS,1,6,300,0.53,CRD,5 +VTS,1,6,840,0.98,CRD,10 +VTS,1,6,420,1.31,CSH,7 +VTS,1,6,960,3.88,CRD,15 +VTS,1,6,540,1.45,CRD,8 +VTS,1,6,900,2.21,CRD,11.5 +VTS,1,6,1500,8.67,CRD,28 +VTS,1,6,840,3.23,CRD,12.5 +VTS,1,1,780,5.8,CRD,19 +VTS,1,1,960,3.62,CSH,14 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,1,960,3.47,CRD,15 +VTS,1,1,300,1.28,CRD,6.5 +VTS,1,1,180,0.84,CRD,5 +VTS,1,1,720,1.98,CSH,10 +VTS,1,1,1020,2.74,CSH,12.5 +VTS,1,1,360,0.99,CSH,6 +VTS,1,1,420,1.39,CSH,7 +VTS,1,1,960,3.16,CSH,13 +VTS,1,1,1800,5.43,CRD,23 +VTS,1,1,540,2.17,CSH,9 +VTS,1,1,120,0.42,CSH,4 +VTS,1,1,900,2.26,CRD,11.5 +VTS,1,6,300,1.69,CRD,7 +VTS,1,6,300,1.94,CRD,7.5 +VTS,1,6,360,1.41,CRD,6.5 +VTS,1,6,180,0.73,CRD,4.5 +VTS,1,6,540,0.75,CRD,7.5 +VTS,1,6,480,1.08,CRD,7.5 +VTS,1,6,660,1.82,CRD,9.5 +VTS,1,6,420,1.25,CRD,6.5 +VTS,1,6,660,2.34,CRD,10 +VTS,1,6,1620,7.52,CRD,27 +VTS,1,6,420,0.98,CRD,6 +VTS,1,6,480,1.29,CRD,7.5 +VTS,1,6,480,1.68,CSH,8 +VTS,1,6,420,1.14,CRD,6.5 +VTS,1,6,1500,3.37,CSH,17.5 +VTS,1,6,600,1.9,CRD,9.5 +VTS,1,6,540,0.92,CSH,7 +VTS,1,6,1440,8.44,CRD,26 +VTS,1,6,540,2.06,CSH,9 +VTS,1,6,1140,9.05,CSH,27 +VTS,1,6,120,0.5,CSH,3.5 +VTS,1,6,240,1.49,CRD,6.5 +VTS,1,2,540,1.79,CSH,9 +VTS,1,1,720,2.1,CRD,10 +VTS,1,1,420,1.2,CSH,7 +VTS,1,1,360,1.79,CRD,7.5 +VTS,1,1,720,2.83,CRD,12 +VTS,1,1,780,3.08,CSH,12.5 +VTS,1,1,360,1.7,CSH,7.5 +VTS,1,3,1200,3.14,CRD,14.5 +VTS,1,4,540,1.59,CSH,8.5 +VTS,1,1,120,0.55,CSH,4 +VTS,1,1,1440,4.7,CSH,19 +VTS,1,1,540,0.67,CSH,6.5 +VTS,1,1,720,5.06,CRD,16.5 +VTS,1,2,300,1.39,CSH,6.5 +VTS,1,1,1740,6.1,CSH,24 +VTS,1,1,840,4.15,CRD,15 +VTS,1,1,540,1.61,CRD,8.5 +VTS,1,1,600,1.38,CRD,8 +VTS,1,1,1020,4.1,CRD,15 +VTS,1,6,120,0.32,CSH,3.5 +VTS,1,6,540,2.11,CRD,9 +VTS,1,6,660,2.05,CSH,10 +VTS,1,6,360,1.17,CRD,6 +VTS,1,6,600,1.98,CSH,9 +VTS,1,6,1560,9.89,CRD,29 +VTS,1,6,540,1.08,CRD,8 +VTS,1,6,240,0.57,CRD,5 +VTS,1,6,1200,2.68,CRD,14.5 +VTS,1,6,480,0.97,CSH,7 +VTS,1,6,300,0.91,CSH,5.5 +VTS,1,6,780,2.36,CRD,11 +VTS,1,6,840,2.45,CRD,12 +VTS,1,6,480,1.26,CSH,7.5 +VTS,1,6,360,1.53,CRD,7 +VTS,1,1,300,0.79,CRD,5.5 +VTS,1,6,900,3.45,CRD,13.5 +VTS,1,6,420,2.13,CSH,8.5 +VTS,1,6,720,2.63,CRD,11.5 +VTS,1,6,360,0.94,CRD,6 +VTS,1,6,240,0.98,CRD,5.5 +VTS,1,6,840,6.47,CSH,20 +VTS,1,6,840,2.86,CSH,11.5 +VTS,1,6,600,2.3,CRD,9.5 +VTS,1,6,540,2.76,CRD,10.5 +VTS,1,6,240,0.42,CSH,4.5 +VTS,1,6,900,1.49,CRD,11 +VTS,1,6,480,1.51,CSH,7.5 +VTS,1,1,480,1.19,CRD,7.5 +VTS,1,6,420,1.48,CRD,7 +VTS,1,1,360,1.91,CSH,7.5 +VTS,1,1,300,1.77,CSH,7 +VTS,1,1,420,1.88,CSH,8 +VTS,1,1,720,2.46,CRD,11 +VTS,1,1,120,0.57,CSH,4 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,480,1.65,CSH,8.5 +VTS,1,2,1560,5.53,CRD,21 +VTS,1,6,840,3.57,CRD,14 +VTS,1,6,600,2.2,CRD,10 +VTS,1,6,240,0.7,CRD,4.5 +VTS,1,6,540,3.23,CSH,11 +VTS,1,1,360,1.54,CRD,7.5 +VTS,1,6,600,1.94,CSH,9 +VTS,1,6,720,5.41,CRD,17 +VTS,1,6,540,1.56,CRD,8.5 +VTS,1,6,300,0.89,CSH,5.5 +VTS,1,6,960,2.31,CRD,12 +VTS,1,6,660,2.35,CRD,10.5 +VTS,1,6,240,1,CSH,5 +VTS,1,1,420,0.95,CRD,6.5 +VTS,1,6,360,0.87,CRD,6 +VTS,1,6,720,1.34,CRD,8.5 +VTS,1,6,960,1.89,CSH,11.5 +VTS,1,6,960,6.37,CRD,19.5 +VTS,1,6,1440,3.61,CRD,17 +VTS,1,6,600,2.33,CSH,9 +VTS,1,6,960,9.17,CSH,26.5 +VTS,1,6,660,1.41,CRD,8.5 +VTS,1,6,540,1.33,CSH,7.5 +VTS,1,6,1020,9.03,CSH,26.5 +VTS,1,6,1260,5.62,CRD,19.5 +VTS,1,6,240,1.3,CRD,6 +VTS,1,1,660,5.03,CSH,16.5 +VTS,1,1,600,1.48,CSH,8 +VTS,1,1,660,2.31,CRD,10 +VTS,1,1,120,0.57,CSH,4 +VTS,1,1,720,2.11,CRD,10.5 +VTS,1,1,480,3.39,CSH,11 +VTS,1,1,360,1.08,CRD,6 +VTS,1,1,300,1.47,CSH,6.5 +VTS,1,1,420,1.92,CRD,8 +VTS,1,1,960,2.14,CSH,11.5 +VTS,1,1,360,2.21,CRD,8.5 +VTS,1,1,1080,9.25,CSH,28.5 +VTS,1,1,360,0.92,CSH,6 +VTS,1,1,660,1.6,CSH,9 +VTS,1,1,420,0.74,CRD,6 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,300,0.48,CSH,5 +VTS,1,1,1020,4.24,CSH,15.5 +VTS,1,1,420,0.96,CRD,6.5 +VTS,1,1,120,0.58,CSH,4 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,480,1.45,CRD,8 +VTS,1,1,540,0.94,CSH,7 +VTS,1,1,480,1.58,CSH,7.5 +VTS,1,1,600,1.78,CSH,9 +VTS,1,1,900,3.58,CSH,14.5 +VTS,1,1,600,0.96,CSH,7.5 +VTS,1,1,180,0.82,CRD,5 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,960,2.42,CRD,12.5 +VTS,1,1,660,1.86,CRD,9.5 +VTS,1,1,180,0.57,CRD,4 +VTS,1,1,1140,2.6,CSH,14 +VTS,1,1,720,2.29,CRD,10.5 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,600,3.08,CSH,11 +VTS,1,1,840,1.7,CSH,10.5 +VTS,1,1,240,0.83,CRD,5 +VTS,1,1,1020,2.81,CRD,13.5 +VTS,1,1,900,1.05,CRD,10 +VTS,1,1,540,0.63,CSH,7.5 +VTS,1,1,720,2.62,CSH,11 +VTS,1,1,1200,4.1,CRD,16.5 +VTS,1,1,300,0.77,CSH,5.5 +VTS,1,1,420,1.63,CRD,7.5 +VTS,1,1,900,4.12,CRD,15 +VTS,1,1,1260,2.78,CSH,12 +VTS,1,1,360,1,CRD,6 +VTS,1,1,360,1.17,CSH,6 +VTS,1,1,360,0.94,CRD,6 +VTS,1,1,420,0.76,CRD,6.5 +VTS,1,1,600,1.88,CSH,9 +VTS,1,1,780,2.58,CRD,11 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,1,600,0.95,CRD,8 +VTS,1,1,420,1.15,CSH,6.5 +VTS,1,1,1260,4.61,CRD,19 +VTS,1,1,240,0.68,CRD,5 +VTS,1,1,660,2.33,CRD,10 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,1140,2.8,CRD,14.5 +VTS,1,1,540,1.32,CSH,8 +VTS,1,1,1440,7.44,CRD,25 +VTS,1,1,1380,3.68,CSH,17 +VTS,1,1,1320,5.71,CSH,20 +VTS,1,1,420,1.45,CRD,7.5 +VTS,1,1,480,1.59,CSH,7.5 +VTS,1,1,1140,1.19,CRD,12.5 +VTS,1,1,1620,4.86,CRD,21.5 +VTS,1,1,540,1.34,CRD,8 +VTS,1,1,900,3.17,CRD,13.5 +VTS,1,1,540,1.32,CRD,8 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,1080,3.77,CRD,16 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,1140,4.44,CSH,16.5 +VTS,1,1,300,1.48,CRD,6.5 +VTS,1,1,1020,2.76,CRD,13.5 +VTS,1,1,240,0.77,CRD,5.5 +VTS,1,1,720,1.99,CSH,10 +VTS,1,1,540,1.25,CSH,7.5 +VTS,1,1,660,1.77,CRD,9.5 +VTS,1,1,720,4.51,CRD,14.5 +VTS,1,1,1380,10.7,CRD,31.5 +VTS,1,1,600,2.37,CRD,9.5 +VTS,1,1,660,2.21,CRD,9.5 +VTS,1,1,840,3.74,CSH,14.5 +VTS,1,1,600,2.46,CRD,10 +VTS,1,1,540,0.99,CRD,7.5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,480,1.3,CRD,7 +VTS,1,1,660,1.95,CRD,9.5 +VTS,1,1,300,0.73,CSH,5.5 +VTS,1,1,1620,5.44,CRD,21.5 +VTS,1,1,240,0.84,CSH,5 +VTS,1,1,360,0.8,CRD,5.5 +VTS,1,1,900,3.25,CSH,13.5 +VTS,1,1,480,1.57,CSH,7.5 +VTS,1,1,480,1,CSH,7 +VTS,1,1,300,1.08,CRD,6 +VTS,1,1,420,2.4,CRD,9 +VTS,1,1,540,2.5,CRD,10 +VTS,1,1,240,0.65,CRD,5 +VTS,1,1,180,0.53,CSH,4.5 +VTS,1,6,1020,3.07,CRD,13.5 +VTS,1,1,420,1.93,CRD,8.5 +VTS,1,6,720,2.21,CRD,10 +VTS,1,6,360,0.67,CSH,5.5 +VTS,1,1,240,1.04,CSH,5.5 +VTS,1,6,1200,3.71,CRD,16 +VTS,1,1,720,3.38,CSH,12.5 +VTS,1,1,420,1.54,CRD,7.5 +VTS,1,1,420,1.56,CRD,7.5 +VTS,1,1,300,0.98,CSH,6 +VTS,1,1,540,1.21,CSH,7.5 +VTS,2,1,1680,18.92,CRD,52 +VTS,1,1,540,2.02,CSH,9 +VTS,1,1,1080,2.69,CRD,14 +VTS,1,1,780,1.73,CRD,10 +VTS,1,1,360,1.17,CRD,7 +VTS,1,1,960,3.45,CSH,14 +VTS,1,1,360,1.52,CSH,7 +VTS,1,1,1260,8.72,CSH,27 +VTS,1,1,480,2.43,CSH,9.5 +VTS,1,1,360,1.07,CSH,6.5 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,540,1.59,CRD,8 +VTS,1,1,2340,14.94,CRD,46 +VTS,1,1,600,2.03,CRD,10 +VTS,1,1,480,1.75,CSH,8 +VTS,1,1,1080,1.63,CRD,12 +VTS,1,1,840,3.12,CSH,12.5 +VTS,1,1,600,3.41,CRD,12.5 +VTS,1,1,1020,6.11,CSH,20 +VTS,1,1,600,2.52,CSH,10.5 +VTS,1,1,240,1.14,CRD,5.5 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,360,1.81,CRD,7.5 +VTS,1,1,1560,3.95,CSH,18.5 +VTS,1,1,780,5.46,CSH,18 +VTS,1,1,960,5.23,CRD,18 +VTS,1,1,660,2.47,CRD,10 +VTS,1,1,720,2.19,CRD,9.5 +VTS,1,1,420,1.19,CSH,7 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,360,2.28,CRD,8.5 +VTS,1,1,180,1.36,CRD,6 +VTS,1,1,540,2.21,CSH,9 +VTS,1,1,600,1.07,CRD,8 +VTS,1,1,1320,4.53,CRD,18.5 +VTS,1,1,360,1.06,CRD,6.5 +VTS,1,1,300,0.73,CSH,5.5 +VTS,1,1,720,3.15,CRD,12.5 +VTS,1,1,420,1.62,CSH,7.5 +VTS,1,1,2040,4.92,CSH,23.5 +VTS,1,1,300,0.84,CRD,5.5 +VTS,1,1,60,0.34,CRD,3 +VTS,1,1,480,0.91,CRD,7 +VTS,1,1,960,2.95,CSH,13.5 +VTS,1,1,660,1.24,CRD,8.5 +VTS,1,1,660,2.2,CRD,10 +VTS,1,1,420,0.6,CRD,5.5 +VTS,1,1,1020,1.9,CSH,12 +VTS,1,1,720,2.32,CRD,10 +VTS,1,1,360,1.2,CRD,6 +VTS,1,1,720,1.23,CRD,9 +VTS,1,1,540,1.6,CRD,8 +VTS,1,1,240,1.2,CSH,5.5 +VTS,1,1,1740,11.95,CSH,36.5 +VTS,1,1,300,1.56,CRD,7 +VTS,1,1,2160,3.2,CRD,22 +VTS,1,1,300,1.19,CSH,6.5 +VTS,1,1,720,1.46,CSH,9.5 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,180,0.38,CSH,4 +VTS,1,1,1140,2.44,CRD,14 +VTS,1,1,540,0.96,CSH,7.5 +VTS,1,1,540,1.05,CSH,7.5 +VTS,1,1,600,0.85,CSH,7.5 +VTS,1,1,840,2.58,CRD,12 +VTS,1,1,1020,2.65,CRD,12.5 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,480,0.78,CRD,6.5 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,1,660,2.71,CRD,10.5 +VTS,1,1,960,2.15,CSH,11.5 +VTS,1,1,480,1.92,CSH,8.5 +VTS,1,1,300,0.5,CRD,4.5 +VTS,1,1,660,1.38,CRD,9 +VTS,1,1,1380,4.45,CSH,18 +VTS,1,1,360,1.42,CSH,7.5 +VTS,1,1,660,1.58,CRD,9 +VTS,1,1,600,1.69,CRD,9 +VTS,1,1,360,0.72,CRD,6 +VTS,1,1,960,2.32,CRD,12.5 +VTS,1,1,660,2.21,CSH,10 +VTS,1,1,360,0.82,CSH,5.5 +VTS,1,1,1140,3.07,CRD,15 +VTS,1,1,780,1.58,CSH,9.5 +VTS,1,1,420,1.47,CRD,7 +VTS,1,1,540,3.28,CRD,11 +VTS,1,1,600,1.18,CRD,8 +VTS,1,1,660,2.37,CSH,10 +VTS,1,1,1260,2.69,CSH,14.5 +VTS,1,1,240,1.92,CRD,7 +VTS,1,6,360,1.81,CSH,7.5 +VTS,1,1,60,0.44,CSH,3.5 +VTS,1,1,240,0.64,CSH,5 +VTS,1,1,1080,4.22,CSH,16 +VTS,1,1,600,0.88,CRD,7.5 +VTS,1,1,720,2.04,CSH,10 +VTS,1,1,480,1.15,CSH,6 +VTS,1,1,420,1.09,CRD,7 +VTS,1,1,960,1.89,CRD,12 +VTS,1,1,960,2.61,CRD,12.5 +VTS,1,1,660,1.49,CRD,9 +VTS,1,1,480,1.41,CSH,7.5 +VTS,1,1,780,2.55,CSH,11 +VTS,1,1,780,2.49,CRD,11.5 +VTS,1,1,300,0.67,CSH,5 +VTS,1,1,480,1.84,CRD,8.5 +VTS,1,1,300,1.04,CSH,6 +VTS,1,1,1380,6.66,CRD,23.5 +VTS,1,2,540,1.86,CRD,8.5 +VTS,1,1,780,2.45,CRD,11.5 +VTS,1,1,360,0.62,CSH,5 +VTS,1,1,780,1.74,CSH,10 +VTS,1,1,840,2.07,CRD,11 +VTS,1,1,1860,12.15,CRD,36.5 +VTS,1,1,1080,3.74,CRD,14.5 +VTS,1,1,660,1.56,CSH,9 +VTS,1,1,1260,3.1,CRD,15 +VTS,1,1,1200,5.67,CRD,20.5 +VTS,1,1,480,1.03,CRD,7 +VTS,1,1,900,2.41,CRD,11.5 +VTS,1,1,900,6.69,CSH,20 +VTS,1,1,180,0.34,CRD,4 +VTS,1,1,360,1.33,CSH,6.5 +VTS,1,1,360,0.8,CSH,6 +VTS,1,1,600,3.7,CRD,12.5 +VTS,1,1,2580,8.13,CSH,23.5 +VTS,1,1,1320,3.31,CRD,16 +VTS,1,1,840,1.82,CRD,10.5 +VTS,1,1,840,2.39,CRD,11 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,1,600,1.63,CRD,8.5 +VTS,1,1,720,1.8,CRD,10 +VTS,1,1,420,1.78,CSH,8 +VTS,1,1,1080,7.58,CRD,24 +VTS,1,1,180,1.03,CSH,5 +VTS,1,1,840,0.88,CRD,10 +VTS,1,1,360,0.86,CSH,6 +VTS,1,1,600,1.58,CRD,9 +VTS,1,1,420,1.58,CRD,7.5 +VTS,1,1,60,0.64,CRD,4 +VTS,1,1,420,1.44,CRD,7 +VTS,1,1,540,1.98,CRD,8.5 +VTS,1,6,1440,4.82,CRD,19.5 +VTS,1,6,660,1.73,CRD,9 +VTS,1,6,120,0.48,CSH,3.5 +VTS,1,6,1020,1.05,CSH,10.5 +VTS,1,6,720,2.28,CRD,10 +VTS,1,6,420,1.54,CRD,7.5 +VTS,1,6,240,0.52,CRD,4.5 +VTS,1,6,300,1.12,CRD,6 +VTS,1,6,840,2.78,CRD,12 +VTS,1,6,900,1.85,CSH,11.5 +VTS,1,6,660,1.6,CSH,9 +VTS,1,6,240,1.03,CSH,5.5 +VTS,1,6,600,1.53,CRD,8.5 +VTS,1,6,1140,4.28,CRD,17.5 +VTS,1,1,240,1.02,CSH,5.5 +VTS,1,1,480,2.66,CRD,10 +VTS,1,1,600,1.63,CSH,9 +VTS,1,1,540,2.25,CRD,9.5 +VTS,1,1,960,3.58,CRD,14 +VTS,1,1,360,0.93,CRD,6.5 +VTS,1,1,480,0.97,CRD,7 +VTS,1,1,480,1.27,CRD,7 +VTS,1,1,480,2.03,CSH,8.5 +VTS,1,1,240,0.78,CRD,5 +VTS,1,1,960,5.88,CSH,18.5 +VTS,1,1,1080,2.44,CRD,13.5 +VTS,1,1,660,2.13,CSH,10 +VTS,1,1,300,1.69,CRD,7 +VTS,1,1,480,1.69,CRD,8 +VTS,1,1,180,0.53,CRD,4 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,1380,3.09,CRD,15.5 +VTS,1,1,180,0.55,CRD,4.5 +VTS,1,1,360,0.42,CRD,5.5 +VTS,1,1,540,2.66,CSH,10 +VTS,1,1,1080,3.51,CRD,15 +VTS,1,1,840,1.31,CRD,10 +VTS,1,1,420,1.14,CSH,7 +VTS,1,1,1020,1.16,CRD,11 +VTS,1,1,180,0.83,CRD,5 +VTS,1,1,540,1.52,CRD,8 +VTS,1,1,360,0.73,CSH,5.5 +VTS,1,1,360,1.47,CRD,7 +VTS,1,1,540,1.63,CRD,8.5 +VTS,1,1,900,2.53,CSH,11.5 +VTS,1,1,540,1.28,CRD,7.5 +VTS,1,1,2160,13.96,CSH,43 +VTS,1,1,1200,4.49,CSH,17.5 +VTS,1,1,360,1.52,CRD,7 +VTS,1,1,1320,14.23,CRD,39 +VTS,1,1,240,1.25,CSH,6 +VTS,1,1,300,1.21,CSH,6 +VTS,1,1,900,2.62,CSH,12 +VTS,1,1,480,1.21,CSH,7.5 +VTS,1,1,840,1.49,CSH,10 +VTS,1,1,780,1.2,CRD,9 +VTS,1,1,300,1.17,CSH,6 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,1380,4.54,CSH,19 +VTS,1,1,660,2.81,CSH,11.5 +VTS,1,1,300,1.05,CRD,5.5 +VTS,1,1,540,2.09,CRD,9 +VTS,1,1,300,1.65,CSH,6.5 +VTS,1,1,720,3.01,CRD,12 +VTS,1,1,240,0.83,CSH,5.5 +VTS,1,1,480,1.77,CRD,8 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,1560,6.98,CRD,25.5 +VTS,1,1,540,1.81,CSH,8 +VTS,1,1,240,1.09,CSH,6 +VTS,1,1,1140,3.95,CSH,17 +VTS,1,1,540,1.01,CRD,7 +VTS,1,1,420,0.6,CRD,6 +VTS,1,1,60,0.37,CSH,3 +VTS,1,1,420,1.59,CRD,8 +VTS,1,1,660,2.16,CSH,10 +VTS,1,1,240,0.6,CRD,4 +VTS,1,1,720,2.93,CSH,12 +VTS,1,1,120,0.4,CSH,4 +VTS,1,1,1380,4.42,CSH,19 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,1140,3.98,CRD,16 +VTS,1,1,780,4.42,CSH,15.5 +VTS,1,1,660,2.22,CRD,10 +VTS,1,1,720,3.13,CSH,12 +VTS,1,1,1680,8.64,CRD,29.5 +VTS,1,1,900,4.4,CRD,15.5 +VTS,1,1,180,0.51,CRD,4 +VTS,1,1,780,2.96,CRD,12.5 +VTS,1,1,780,1.5,CSH,9.5 +VTS,1,1,840,2.29,CRD,11 +VTS,1,1,300,1.65,CSH,7 +VTS,1,1,540,1.21,CRD,7.5 +VTS,1,1,420,0.71,CRD,6.5 +VTS,1,1,720,2.11,CRD,10 +VTS,1,1,900,8.04,CSH,23.5 +VTS,1,1,1080,2.52,CRD,13 +VTS,1,1,1500,2.73,CRD,17 +VTS,1,1,240,1.36,CSH,6 +VTS,1,1,420,1.57,CRD,7.5 +VTS,1,1,540,3,CRD,10.5 +VTS,1,1,300,0.72,CSH,5 +VTS,1,1,780,1.65,CRD,10 +VTS,1,1,480,1.23,CRD,7 +VTS,1,1,1320,4.79,CRD,19.5 +VTS,1,1,1080,5.1,CSH,17 +VTS,1,1,1140,2.92,CSH,14.5 +VTS,1,1,480,1.3,CRD,7.5 +VTS,1,1,840,2.11,CSH,11 +VTS,1,1,660,1.94,CRD,9.5 +VTS,1,1,1080,2.38,CRD,13 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,120,0.64,CRD,4 +VTS,1,1,420,1.71,CSH,7.5 +VTS,1,1,840,3.41,CSH,13 +VTS,1,1,780,6.03,CSH,18.5 +VTS,1,1,540,1.35,CRD,7.5 +VTS,1,1,1020,3.04,CRD,13.5 +VTS,1,1,660,1.96,CRD,10 +VTS,1,2,180,0.64,CSH,4.5 +VTS,1,1,540,1.13,CRD,7.5 +VTS,1,1,720,1.48,CRD,9.5 +VTS,1,1,540,1.77,CSH,8.5 +VTS,1,1,300,0.5,CSH,5 +VTS,1,1,1320,4.49,CRD,18.5 +VTS,1,1,240,0.83,CSH,5 +VTS,1,1,1440,4.92,CSH,19.5 +VTS,1,1,1200,7.49,CRD,23.5 +VTS,1,1,480,1.19,CSH,7 +VTS,1,1,360,1.24,CRD,6.5 +VTS,1,1,240,0.92,CSH,5 +VTS,1,6,780,3.05,CRD,12.5 +VTS,1,6,660,1.26,CSH,8.5 +VTS,1,6,840,2,CRD,10.5 +VTS,1,6,960,2.9,CRD,12.5 +VTS,1,6,1080,6.44,CRD,21 +VTS,1,6,540,2.45,CSH,9.5 +VTS,1,6,600,1.56,CRD,8 +VTS,1,6,720,0.92,CRD,9 +VTS,1,6,420,1.3,CRD,7.5 +VTS,1,6,1500,3.65,CRD,18 +VTS,1,6,300,1.53,CRD,6.5 +VTS,1,6,360,1.09,CSH,6.5 +VTS,1,6,1020,4.23,CSH,16.5 +VTS,1,6,60,0.45,CRD,3.5 +VTS,1,6,780,3.59,CRD,13.5 +VTS,1,2,180,0.77,CRD,5 +VTS,1,1,420,2.11,CRD,8 +VTS,1,1,600,2.07,CRD,9 +VTS,1,1,240,0.67,CSH,5 +VTS,1,1,600,2.38,CSH,10 +VTS,1,1,600,2.43,CSH,9.5 +VTS,1,1,540,1.48,CSH,8 +VTS,1,1,180,0.9,CSH,5 +VTS,1,1,1080,2.19,CRD,12.5 +VTS,1,1,600,1.08,CSH,8 +VTS,1,1,360,0.89,CSH,5.5 +VTS,1,1,540,1.41,CRD,8 +VTS,1,1,1260,2.69,CRD,15 +VTS,1,1,720,1.28,CRD,9 +VTS,1,1,540,1.39,CRD,8 +VTS,1,2,720,1.14,CRD,9 +VTS,1,1,540,0.93,CRD,7 +VTS,1,1,720,2.11,CSH,10.5 +VTS,1,1,360,1.6,CSH,7 +VTS,1,1,300,0.42,CSH,4.5 +VTS,1,1,300,0.68,CRD,5 +VTS,1,1,660,3.09,CRD,12 +VTS,1,1,1140,2.67,CRD,14 +VTS,1,1,480,1.16,CSH,7 +VTS,1,1,420,1.07,CRD,6.5 +VTS,1,1,780,3.26,CRD,13 +VTS,1,1,420,1.52,CRD,7.5 +VTS,1,1,120,0.57,CSH,4 +VTS,1,1,600,1.4,CSH,8.5 +VTS,1,1,2400,6.99,CRD,30.5 +VTS,1,1,720,4.1,CRD,14.5 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,180,0.45,CSH,4 +VTS,1,1,420,1.07,CSH,6.5 +VTS,1,1,420,2.12,CSH,8.5 +VTS,1,1,60,0.36,CRD,3 +VTS,1,1,480,0.9,CRD,7 +VTS,1,1,660,2.39,CRD,10.5 +VTS,1,1,480,2.72,CSH,10.5 +VTS,1,1,540,2.08,CRD,9 +VTS,1,1,540,0.99,CSH,7 +VTS,1,1,1800,4.7,CRD,21.5 +VTS,1,1,540,2.41,CRD,9.5 +VTS,1,1,360,1.23,CRD,6.5 +VTS,1,1,720,1.91,CRD,9.5 +VTS,1,1,540,2.83,CRD,10 +VTS,1,1,720,2.71,CSH,11.5 +VTS,1,1,1740,4.21,CSH,20.5 +VTS,1,1,540,1.39,CRD,8 +VTS,1,1,1080,3.43,CRD,14 +VTS,1,1,480,0.94,CRD,7 +VTS,1,1,1320,3.51,CSH,17 +VTS,1,1,480,1.17,CRD,7.5 +VTS,1,1,480,1.54,CRD,7.5 +VTS,1,1,660,1.44,CRD,9 +VTS,1,1,180,0.89,CRD,5 +VTS,1,1,1200,2.51,CRD,15 +VTS,1,1,900,3.15,CSH,12.5 +VTS,1,1,1080,4.09,CSH,16.5 +VTS,1,1,60,0.58,CSH,3.5 +VTS,1,1,420,1.34,CRD,7 +VTS,1,1,480,1,CRD,6.5 +VTS,1,1,1320,4.21,CSH,17 +VTS,1,1,1080,2.01,CRD,12.5 +VTS,1,1,1260,3.83,CRD,16.5 +VTS,1,1,420,1.01,CRD,6.5 +VTS,1,1,960,2.37,CRD,12.5 +VTS,1,1,300,0.6,CRD,4.5 +VTS,1,1,1200,2.81,CSH,15 +VTS,1,1,1860,2.43,CRD,19.5 +VTS,1,1,360,1.85,CRD,7.5 +VTS,1,1,480,1.28,CRD,7.5 +VTS,1,1,1380,5.22,CRD,20 +VTS,1,1,360,0.86,CRD,5.5 +VTS,1,1,1080,3.57,CRD,16 +VTS,1,1,600,1.22,CSH,8 +VTS,1,1,600,2.45,CSH,10 +VTS,1,1,240,0.66,CSH,5 +VTS,1,1,720,2.33,CRD,10.5 +VTS,1,1,1080,1.98,CRD,12.5 +VTS,1,1,480,1.11,CSH,7 +VTS,1,1,420,1.25,CSH,6.5 +VTS,1,1,480,1.09,CRD,7 +VTS,1,1,660,0.88,CSH,8 +VTS,1,1,900,1.93,CRD,11 +VTS,1,1,1020,2.19,CRD,12.5 +VTS,1,1,600,1.22,CSH,7.5 +VTS,1,1,360,1.01,CRD,6 +VTS,1,1,120,0.47,CSH,3.5 +VTS,1,1,660,2.96,CRD,12 +VTS,1,1,180,0.73,CSH,5 +VTS,1,1,780,3.36,CSH,12.5 +VTS,1,1,900,1.76,CRD,11 +VTS,1,1,1740,3.98,CRD,19.5 +VTS,1,1,240,0.74,CSH,5.5 +VTS,1,1,1140,3.11,CSH,14.5 +VTS,1,1,540,1.18,CRD,7.5 +VTS,1,1,120,0.44,CSH,3.5 +VTS,1,1,420,1.8,CRD,8 +VTS,1,1,480,1.03,CSH,7.5 +VTS,1,1,900,1.6,CSH,10.5 +VTS,1,1,540,3.54,CRD,11.5 +VTS,1,1,600,2.73,CSH,11 +VTS,1,1,660,1.31,CSH,8 +VTS,1,1,1860,2.24,CSH,18.5 +VTS,1,1,300,1.48,CRD,6.5 +VTS,1,1,600,2.62,CSH,11 +VTS,1,1,540,1.59,CRD,8 +VTS,1,1,840,1.29,CRD,10 +VTS,1,1,600,2.43,CRD,10 +VTS,1,1,60,0.17,CSH,3 +VTS,1,1,960,5.81,CRD,18 +VTS,1,1,1200,2.01,CSH,14 +VTS,1,1,360,1,CRD,6 +VTS,1,1,720,2.44,CSH,10.5 +VTS,1,1,600,3.51,CRD,12 +VTS,1,1,120,0.51,CSH,3.5 +VTS,1,1,300,0.66,CRD,5 +VTS,1,1,420,1.24,CRD,6.5 +VTS,1,1,420,1.09,CSH,6.5 +VTS,1,1,600,1.92,CSH,8.5 +VTS,1,1,1320,3.05,CRD,15.5 +VTS,1,1,600,1.48,CRD,8.5 +VTS,1,1,540,1.26,CRD,7.5 +VTS,1,1,720,2.92,CSH,11.5 +VTS,1,1,600,1.83,CSH,9 +VTS,1,1,480,2.27,CRD,9.5 +VTS,1,1,840,3.81,CRD,14.5 +VTS,1,1,900,1.99,CSH,11 +VTS,1,1,300,1.13,CSH,6 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,420,0.88,CRD,6.5 +VTS,1,1,120,0.48,CSH,4 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,1,180,0.51,CSH,4 +VTS,1,1,960,1.04,CSH,10.5 +VTS,1,2,240,0.79,CSH,5 +VTS,1,1,360,1.3,CRD,7 +VTS,1,1,1140,3.72,CRD,15.5 +VTS,1,1,180,0.43,CSH,4 +VTS,1,1,1080,3,CRD,14 +VTS,1,1,360,1.01,CRD,6 +VTS,1,1,360,0.74,CRD,5.5 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,1,600,2.99,CSH,11 +VTS,1,1,960,4.31,CRD,16 +VTS,1,1,480,2.52,CSH,9.5 +VTS,1,1,780,2.55,CRD,11 +VTS,1,1,120,0.48,CSH,4 +VTS,1,1,720,2.42,CRD,11.5 +VTS,1,1,660,1.43,CRD,8.5 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,960,3.8,CRD,14.5 +VTS,1,1,360,0.96,CSH,6 +VTS,1,1,300,0.66,CSH,5 +VTS,1,1,480,2.68,CRD,10 +VTS,1,1,300,0.86,CRD,6 +VTS,1,1,1500,5.3,CRD,21.5 +VTS,1,1,480,0.85,CRD,7 +VTS,1,1,300,1.05,CSH,6 +VTS,1,1,60,0.01,CSH,2.5 +VTS,1,1,300,1.28,CSH,6 +VTS,1,1,360,1.45,CSH,7 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,1560,3.96,CSH,18.5 +VTS,1,1,540,1.67,CSH,8 +VTS,1,1,660,2.58,CRD,10.5 +VTS,1,1,900,2.62,CRD,12.5 +VTS,1,1,1080,2.54,CSH,13.5 +VTS,1,1,300,0.73,CRD,5.5 +VTS,1,1,900,2.23,CRD,12.5 +VTS,1,1,1380,3.86,CRD,18 +VTS,1,1,540,1.87,CRD,9 +VTS,1,1,660,2.43,CRD,10.5 +VTS,1,1,840,1.74,CRD,10.5 +VTS,1,1,900,1.74,CRD,11 +VTS,1,1,720,1.82,CSH,9.5 +VTS,1,1,1380,4.67,CRD,19 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,1320,6.41,CRD,21 +VTS,1,1,300,1.03,CRD,6 +VTS,1,1,120,0.8,CRD,4.5 +VTS,1,1,300,0.32,CRD,4.5 +VTS,1,1,300,2.15,CRD,8 +VTS,1,1,1080,1.68,CRD,12 +VTS,1,1,1680,3.38,CSH,18.5 +VTS,1,1,960,1.45,CSH,11 +VTS,1,1,480,0.87,CRD,7 +VTS,1,1,960,1.19,CSH,10.5 +VTS,1,1,480,1.41,CRD,7.5 +VTS,1,1,720,1.53,CSH,9.5 +VTS,1,1,1920,12.95,CRD,39 +VTS,1,1,1200,5.62,CSH,20 +VTS,1,1,420,0.57,CRD,6 +VTS,1,1,1080,2.84,CSH,13.5 +VTS,1,1,960,4.03,CSH,15 +VTS,1,1,300,1.05,CRD,6 +VTS,1,1,420,1.69,CRD,7.5 +VTS,1,1,600,2.48,CRD,10.5 +VTS,1,1,480,2.17,CRD,9 +VTS,1,1,480,1.17,CRD,7 +VTS,1,1,780,1.35,CRD,9.5 +VTS,1,1,480,0.74,CSH,6.5 +VTS,1,1,420,2.33,CSH,9 +VTS,1,1,180,0.29,CRD,4 +VTS,1,1,1980,5.49,CSH,24.5 +VTS,1,1,540,1.93,CSH,9 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,1260,3.41,CRD,15.5 +VTS,1,1,600,1.39,CRD,8 +VTS,1,1,780,2.47,CSH,11 +VTS,1,1,360,1.13,CSH,6.5 +VTS,1,1,360,2.16,CRD,8.5 +VTS,1,1,540,2.24,CRD,9 +VTS,1,1,600,1.89,CRD,9 +VTS,1,1,540,1.95,CRD,9 +VTS,1,1,1080,4,CSH,17.5 +VTS,1,1,540,1.05,CSH,7.5 +VTS,1,1,240,0.92,CRD,5 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,780,0.67,CRD,9 +VTS,1,1,720,1.33,CRD,9.5 +VTS,1,1,1740,9.5,CRD,31 +VTS,1,1,360,1.9,CSH,7.5 +VTS,1,1,600,1.73,CSH,8.5 +VTS,1,1,480,1.35,CRD,8 +VTS,1,1,1200,5.61,CRD,21.5 +VTS,1,1,960,2.58,CRD,13 +VTS,1,1,780,2.16,CRD,10.5 +VTS,1,1,540,3.26,CRD,11.5 +VTS,1,1,720,2.23,CRD,10.5 +VTS,1,1,1680,3.24,CRD,18.5 +VTS,1,1,1380,5.05,CRD,21 +VTS,1,1,420,1.31,CSH,7 +VTS,1,1,660,2.1,CRD,10 +VTS,1,1,1020,1.76,CRD,11.5 +VTS,1,1,180,0.55,CRD,4.5 +VTS,1,1,660,0.88,CRD,8 +VTS,1,1,1020,9.88,CRD,28 +VTS,1,1,840,6.22,CRD,19 +VTS,1,1,420,1,CSH,6.5 +VTS,1,1,360,1.71,CRD,7 +VTS,1,1,480,1.12,CSH,7 +VTS,1,1,660,2.69,CSH,11 +VTS,1,1,420,2.02,CSH,8.5 +VTS,1,1,480,1.31,CSH,7.5 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,300,0.7,CSH,5 +VTS,1,1,600,1.36,CSH,8.5 +VTS,1,1,720,1.74,CRD,9.5 +VTS,1,1,600,2.4,CSH,9.5 +VTS,5,2,0,0,CRD,5 +VTS,1,1,420,0.92,CSH,6.5 +VTS,1,1,120,0.39,CRD,4 +VTS,1,1,720,1.27,CRD,9 +VTS,1,1,360,2.04,CRD,8.5 +VTS,1,1,240,0.65,CSH,5 +VTS,1,1,1020,3.41,CRD,13.5 +VTS,1,1,780,2,CSH,10 +VTS,1,1,660,0.55,CSH,7.5 +VTS,1,1,600,0.76,CRD,8 +VTS,1,1,780,1.32,CRD,9.5 +VTS,1,1,180,1,CRD,5 +VTS,1,1,420,1.2,CSH,7 +VTS,1,1,420,1.4,CSH,7 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,1,540,2.89,CRD,11 +VTS,1,1,360,1,CRD,6 +VTS,1,1,600,1.53,CSH,8.5 +VTS,1,1,660,2.55,CRD,11 +VTS,1,1,240,0.53,CRD,4.5 +VTS,1,1,420,1.29,CRD,7 +VTS,1,1,660,2.73,CRD,11 +VTS,1,1,660,2.54,CRD,10.5 +VTS,1,1,1020,1.95,CSH,12 +VTS,1,1,540,1.18,CSH,7.5 +VTS,1,1,360,1.58,CSH,7 +VTS,1,1,300,1.06,CRD,6 +VTS,1,1,780,1.53,CRD,10 +VTS,1,1,660,1.61,CRD,9.5 +VTS,1,1,780,2.1,CRD,10.5 +VTS,1,1,780,2,CSH,10.5 +VTS,1,1,360,2.37,CRD,8.5 +VTS,1,1,960,1.87,CSH,11 +VTS,1,1,420,0.68,CSH,6 +VTS,1,1,1440,4.32,CRD,18.5 +VTS,1,1,840,2.17,CSH,11.5 +VTS,1,1,1260,5.33,CSH,19.5 +VTS,1,1,600,1.24,CSH,8 +VTS,1,1,480,1.29,CRD,7.5 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,180,0.58,CRD,4.5 +VTS,1,1,420,1.36,CRD,7 +VTS,1,1,780,2.12,CSH,10.5 +VTS,1,1,420,2.21,CRD,8.5 +VTS,1,1,1320,3.67,CSH,16.5 +VTS,1,1,660,0.98,CRD,8 +VTS,1,1,960,1.64,CRD,11 +VTS,1,1,540,1.1,CRD,7.5 +VTS,1,1,540,2.48,CRD,9.5 +VTS,1,1,240,0.68,CRD,5 +VTS,1,1,720,2.25,CRD,10.5 +VTS,1,1,660,1.3,CRD,8.5 +VTS,1,1,660,0.97,CSH,8.5 +VTS,1,1,1560,3.86,CSH,18.5 +VTS,1,1,1740,9.76,CRD,31.5 +VTS,1,1,900,4.36,CSH,15.5 +VTS,1,1,480,1.18,CSH,7.5 +VTS,1,1,540,1.33,CSH,8 +VTS,1,1,300,0.64,CSH,5 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,1080,2.16,CRD,13 +VTS,1,1,660,1.9,CSH,9.5 +VTS,1,1,120,0.41,CRD,3.5 +VTS,1,1,360,1.22,CSH,6.5 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,360,1.31,CRD,7 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,1200,3.23,CSH,15 +VTS,1,1,540,1.59,CRD,8.5 +VTS,1,1,780,1.32,CSH,9.5 +VTS,1,1,300,0.75,CSH,5.5 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,1,240,0.88,CSH,5 +VTS,1,1,240,1.39,CRD,6 +VTS,1,1,120,0.46,CRD,4 +VTS,1,1,180,0.6,CSH,4 +VTS,1,1,360,0.77,CRD,6 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,240,0.56,CRD,5 +VTS,1,1,240,0.72,CSH,4.5 +VTS,1,1,240,0.76,CSH,5 +VTS,1,1,300,0.72,CSH,5.5 +VTS,1,1,420,0.97,CRD,6 +VTS,1,1,900,6.07,CSH,20 +VTS,1,1,660,1.47,CSH,9 +VTS,1,1,1140,4.44,CSH,17 +VTS,1,1,360,1.93,CSH,7.5 +VTS,1,1,660,1.91,CSH,9.5 +VTS,1,1,660,4.18,CRD,14.5 +VTS,1,1,600,1.63,CSH,9 +VTS,1,1,300,1.1,CSH,5.5 +VTS,1,1,1560,10.12,CRD,31 +VTS,1,1,660,2.57,CRD,11.5 +VTS,2,1,1380,16.75,CSH,52 +VTS,1,1,660,1.99,CSH,9.5 +VTS,1,1,360,1.24,CSH,7 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,660,1.68,CSH,9 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,240,2.02,CRD,7.5 +VTS,1,1,600,2.68,CRD,11 +VTS,1,1,1440,2.9,CSH,14 +VTS,1,1,240,0.47,CSH,4.5 +VTS,1,1,780,1.54,CRD,10 +VTS,1,1,1680,2.18,CSH,17.5 +VTS,1,1,1020,4.2,CSH,15.5 +VTS,1,1,360,1.44,CSH,7 +VTS,1,1,1080,3.51,CSH,15 +VTS,1,1,480,2.23,CSH,9 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,180,1.28,CRD,6 +VTS,1,2,660,2.81,CSH,10.5 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,1320,3.66,CRD,16.5 +VTS,1,1,1860,11.39,CRD,35.5 +VTS,1,1,240,0.62,CSH,5 +VTS,1,1,1080,2.16,CRD,12.5 +VTS,1,1,1260,3.94,CSH,16.5 +VTS,1,1,780,3.54,CRD,14 +VTS,1,1,780,3.91,CRD,14.5 +VTS,1,1,720,4.61,CSH,14.5 +VTS,1,1,720,4.22,CSH,15.5 +VTS,1,1,180,0.65,CSH,4 +VTS,1,1,3060,13.41,CSH,46 +VTS,1,1,480,1.8,CSH,8.5 +VTS,1,1,300,1.58,CSH,7 +VTS,1,1,720,2.56,CSH,11 +VTS,1,1,900,2.92,CSH,12.5 +VTS,1,1,420,1.81,CRD,7.5 +VTS,1,1,1620,7.8,CSH,26.5 +VTS,1,1,240,1.25,CRD,5.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,480,1.28,CSH,7 +VTS,1,1,300,1.33,CSH,6.5 +VTS,1,1,300,0.68,CRD,5 +VTS,1,1,120,0.48,CRD,4 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,780,3.35,CRD,13 +VTS,1,1,1380,9.86,CRD,30.5 +VTS,1,1,1260,3.56,CRD,15.5 +VTS,1,1,120,0.53,CRD,4 +VTS,1,1,1320,4.02,CRD,17 +VTS,1,1,300,1.02,CRD,6 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,1500,8.28,CRD,27.5 +VTS,1,1,240,0.88,CSH,5 +VTS,1,1,1920,9.37,CSH,31.5 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,600,1.8,CSH,9 +VTS,1,1,2880,11.8,CRD,40.5 +VTS,1,1,120,0.46,CSH,4 +VTS,1,1,840,3.91,CRD,14.5 +VTS,1,1,660,2.82,CSH,11.5 +VTS,1,1,480,1.4,CSH,7.5 +VTS,1,1,1200,4.1,CSH,17 +VTS,1,1,720,3.02,CRD,12 +VTS,1,1,840,3.16,CRD,12.5 +VTS,1,1,900,2.83,CRD,13 +VTS,1,1,960,2.69,CRD,12.5 +VTS,1,1,300,1.43,CSH,6.5 +VTS,1,1,780,2.48,CRD,11.5 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,720,2.94,CRD,11.5 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,600,2.59,CRD,10.5 +VTS,1,1,1380,8.63,CSH,27 +VTS,1,1,600,1.35,CRD,8 +VTS,1,1,660,2.04,CSH,9.5 +VTS,1,1,360,0.62,CSH,5.5 +VTS,1,1,2160,12.02,CRD,36.5 +VTS,1,1,240,0.43,CRD,4.5 +VTS,1,1,420,0.92,CRD,6 +VTS,1,1,420,0.9,CRD,6 +VTS,1,1,1020,4.03,CRD,15 +VTS,1,1,1440,7.68,CSH,24.5 +VTS,2,1,2580,17.87,CRD,52 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,360,1,CSH,6.5 +VTS,1,1,840,2.89,CSH,12 +VTS,1,1,300,1.26,CSH,6.5 +VTS,1,1,1380,9.45,CSH,28.5 +VTS,1,1,660,1.61,CRD,9 +VTS,1,1,300,0.99,CSH,6 +VTS,1,1,420,1.66,CRD,8 +VTS,1,1,660,2.63,CRD,10.5 +VTS,1,1,840,1.81,CRD,10.5 +VTS,1,1,480,1.87,CRD,8 +VTS,1,1,600,1.05,CRD,7.5 +VTS,1,1,660,3.18,CSH,12 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,120,0.58,CSH,4 +VTS,1,1,240,0.31,CSH,4 +VTS,1,1,540,1.35,CRD,8 +VTS,1,1,600,1.15,CRD,8 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,480,1.43,CRD,8 +VTS,1,1,480,1.15,CRD,7 +VTS,1,1,1200,6.33,CRD,21 +VTS,1,1,300,0.45,CSH,5 +VTS,1,1,1080,9.64,CRD,28.5 +VTS,1,1,120,0.42,CSH,3.5 +VTS,1,1,420,0.96,CSH,6.5 +VTS,1,1,540,0.91,CRD,7 +VTS,1,1,240,1.24,CSH,5.5 +VTS,1,1,960,3.76,CRD,14 +VTS,1,1,420,1.32,CRD,7 +VTS,1,1,540,1.57,CSH,8 +VTS,1,1,900,4.26,CRD,15.5 +VTS,1,1,1080,3.73,CSH,16 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,1,900,1.75,CRD,11 +VTS,1,1,1560,7.54,CRD,25.5 +VTS,1,1,1020,5.04,CSH,17.5 +VTS,1,1,600,1.09,CRD,8 +VTS,1,1,420,1.47,CRD,7 +VTS,1,1,1020,5.58,CSH,18.5 +VTS,1,1,660,3.46,CRD,12.5 +VTS,1,1,600,2.63,CSH,11 +VTS,1,1,840,1.7,CRD,10.5 +VTS,1,1,300,1.19,CSH,6 +VTS,1,1,840,2.79,CRD,12 +VTS,1,1,900,3.32,CRD,14 +VTS,1,1,240,0.52,CRD,4.5 +VTS,1,1,1020,3.44,CRD,14.5 +VTS,1,1,1260,6.19,CRD,21 +VTS,1,1,420,0.91,CSH,6.5 +VTS,1,1,540,1.81,CRD,8.5 +VTS,1,1,420,2.85,CRD,10 +VTS,1,1,540,0.76,CRD,7 +VTS,1,1,900,4.75,CRD,16.5 +VTS,1,1,660,2.62,CSH,10.5 +VTS,1,1,840,3.64,CRD,13.5 +VTS,1,1,960,4.01,CRD,15.5 +VTS,1,1,480,1.4,CSH,7.5 +VTS,1,1,300,0.74,CRD,5 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,660,2.13,CRD,10 +VTS,1,1,240,0.91,CRD,5 +VTS,1,1,240,0.61,CRD,5 +VTS,1,1,420,0.81,CSH,6.5 +VTS,1,1,1140,4.2,CRD,16.5 +VTS,1,1,360,1.33,CSH,7 +VTS,1,1,360,0.87,CRD,6 +VTS,1,1,540,1.36,CRD,8.5 +VTS,1,1,900,3.29,CRD,14 +VTS,1,1,840,2.1,CSH,10.5 +VTS,1,1,2040,15.61,CRD,45 +VTS,1,1,960,3.45,CRD,14 +VTS,1,1,660,2.44,CRD,10.5 +VTS,1,1,1140,3.57,CRD,15.5 +VTS,1,1,240,0.42,CSH,4.5 +VTS,1,1,1020,5.46,CRD,19 +VTS,1,1,1200,6.1,CRD,21.5 +VTS,1,1,360,0.73,CRD,5.5 +VTS,1,1,660,2.83,CRD,11 +VTS,1,1,360,1.05,CRD,6.5 +VTS,1,1,600,1.32,CRD,8.5 +VTS,1,1,720,1.94,CRD,10.5 +VTS,1,1,300,1.71,CSH,7 +VTS,1,1,480,1.7,CSH,8.5 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,360,1.4,CRD,6.5 +VTS,1,1,660,1.59,CRD,9 +VTS,1,1,1620,7.21,CRD,25.5 +VTS,1,1,960,3.72,CRD,14 +VTS,1,1,540,3.51,CSH,12.5 +VTS,1,1,1560,10.51,CRD,32 +VTS,1,1,600,2.07,CRD,9 +VTS,1,1,1140,3.42,CSH,15 +VTS,1,1,420,0.9,CSH,6 +VTS,1,1,240,0.48,CRD,4.5 +VTS,1,1,360,1.41,CRD,7 +VTS,1,1,300,0.75,CSH,5 +VTS,1,1,900,4.47,CRD,16 +VTS,1,1,60,0.44,CSH,3.5 +VTS,1,1,540,0.55,CRD,7 +VTS,1,1,420,0.82,CSH,6 +VTS,1,1,300,1.12,CSH,6 +VTS,1,1,420,0.58,CSH,5.5 +VTS,1,1,540,1.6,CSH,8.5 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,1,1020,2.8,CSH,13 +VTS,1,1,1380,4.8,CSH,18.5 +VTS,1,1,420,1.38,CSH,7 +VTS,1,1,780,2.91,CSH,12 +VTS,1,1,300,0.99,CRD,6 +VTS,1,1,660,2.2,CRD,10 +VTS,1,1,420,1.01,CSH,6 +VTS,1,1,1140,4.33,CSH,16 +VTS,1,1,720,3,CRD,12 +VTS,1,1,1860,13.56,CSH,40.5 +VTS,1,1,540,1.44,CSH,8 +VTS,1,1,420,1.88,CRD,7.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,720,2.1,CSH,10 +VTS,1,1,360,1.71,CSH,7 +VTS,1,1,1080,5.56,CRD,18.5 +VTS,1,1,2100,14.97,CSH,43.5 +VTS,1,1,180,0.46,CRD,4 +VTS,1,1,120,0.41,CSH,4 +VTS,1,1,540,1.04,CSH,7.5 +VTS,1,1,120,0.48,CSH,3.5 +VTS,1,1,420,1.08,CRD,7 +VTS,1,1,1380,3.6,CRD,16.5 +VTS,1,1,900,2.02,CRD,11 +VTS,1,1,1260,5.94,CRD,21.5 +VTS,1,1,660,1.08,CSH,8 +VTS,1,1,960,4.66,CSH,16.5 +VTS,1,1,900,2.26,CSH,12 +VTS,1,1,1080,1.06,CSH,11.5 +VTS,1,1,720,1.78,CRD,9.5 +VTS,1,1,1020,1.53,CRD,11 +VTS,1,1,960,1.75,CRD,11.5 +VTS,1,1,840,2.38,CRD,11 +VTS,1,1,540,2.44,CSH,10 +VTS,1,1,240,0.61,CRD,5 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,420,1.47,CRD,7.5 +VTS,1,1,420,1.14,CRD,7 +VTS,1,1,720,1.61,CSH,9.5 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,180,0.86,CSH,5 +VTS,1,1,780,1.96,CSH,11.5 +VTS,1,1,780,1.06,CRD,9.5 +VTS,1,2,540,1.31,CRD,8 +VTS,1,1,180,0.59,CSH,4.5 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,780,1.37,CRD,9.5 +VTS,1,1,120,0.32,CSH,3.5 +VTS,1,1,720,2.01,CSH,10 +VTS,1,1,900,2.63,CRD,12 +VTS,1,1,360,1.36,CSH,6.5 +VTS,1,1,1020,3.87,CRD,14.5 +VTS,2,1,2280,19.12,CSH,52 +VTS,1,1,480,1.11,CRD,6.5 +VTS,1,1,1020,5.82,CRD,20 +VTS,1,1,720,2.82,CSH,11 +VTS,1,1,660,2.25,CRD,10 +VTS,1,1,1200,5.06,CRD,19.5 +VTS,1,1,480,1.98,CSH,8 +VTS,1,1,660,3.79,CRD,13.5 +VTS,1,1,1200,3.67,CSH,16.5 +VTS,1,1,1080,3.94,CRD,16 +VTS,1,1,600,2.46,CSH,9.5 +VTS,1,1,1020,5.4,CSH,18 +VTS,1,1,540,1.51,CSH,8.5 +VTS,1,1,420,0.81,CSH,6 +VTS,1,1,240,0.55,CRD,5 +VTS,1,1,840,2.57,CRD,11.5 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,1,780,2.46,CRD,11 +VTS,1,1,780,1.74,CRD,10 +VTS,1,1,300,0.81,CSH,5 +VTS,1,1,480,0.81,CRD,6.5 +VTS,1,1,720,2.68,CRD,11 +VTS,1,1,900,3.43,CRD,13.5 +VTS,1,1,240,0.94,CRD,5.5 +VTS,1,1,660,1.79,CSH,9.5 +VTS,1,1,780,3.51,CRD,12.5 +VTS,1,1,240,0.84,CSH,5 +VTS,1,1,900,11.26,CRD,30.5 +VTS,1,1,480,1.61,CSH,8 +VTS,1,1,960,4.14,CRD,15 +VTS,1,1,660,3.02,CSH,11.5 +VTS,1,1,540,2.02,CSH,9 +VTS,1,1,840,2.53,CRD,12 +VTS,1,1,540,1.89,CRD,9 +VTS,1,1,1260,5.78,CRD,20.5 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,780,1.79,CSH,10 +VTS,1,1,1740,4.88,CRD,22.5 +VTS,1,1,660,1.78,CRD,9 +VTS,1,1,360,1.62,CSH,7 +VTS,1,1,900,2.04,CRD,11.5 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,780,3.04,CRD,12.5 +VTS,1,1,1260,3.81,CSH,17 +VTS,1,1,1020,2.09,CRD,12.5 +VTS,1,1,480,0.9,CRD,7 +VTS,1,1,540,1.58,CSH,8 +VTS,1,1,960,5.43,CRD,19 +VTS,1,1,300,0.68,CSH,5.5 +VTS,1,1,480,2,CRD,8.5 +VTS,1,1,540,1.58,CRD,8.5 +VTS,1,1,1140,7.14,CRD,22.5 +VTS,1,1,360,0.85,CSH,6 +VTS,1,1,960,2.47,CSH,12 +VTS,1,1,420,1.96,CRD,8.5 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,420,0.77,CSH,6.5 +VTS,1,1,120,0.63,CRD,4 +VTS,1,1,1380,9.33,CRD,28 +VTS,1,1,360,1.43,CSH,6.5 +VTS,1,1,480,1.07,CRD,7 +VTS,1,1,360,1.45,CRD,7.5 +VTS,1,1,540,1.73,CRD,8 +VTS,1,1,1080,3.99,CRD,15.5 +VTS,1,1,720,1.76,CRD,9.5 +VTS,1,1,540,1.75,CSH,8.5 +VTS,1,1,1800,4.77,CRD,21.5 +VTS,1,1,360,1.17,CSH,6 +VTS,1,1,420,2.08,CRD,8 +VTS,1,1,420,1.26,CRD,7 +VTS,1,1,1740,15.91,CSH,45 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,540,0.75,CSH,7 +VTS,1,1,720,1.7,CRD,9.5 +VTS,1,1,180,0.89,CSH,5 +VTS,1,1,600,2.43,CSH,10.5 +VTS,1,1,180,0.5,CRD,4 +VTS,1,1,1320,4.92,CRD,19.5 +VTS,1,1,180,0.72,CRD,4.5 +VTS,1,1,1020,2.96,CRD,13.5 +VTS,1,1,720,2.41,CSH,11.5 +VTS,1,1,420,2.11,CSH,9.5 +VTS,1,1,840,2.62,CRD,11.5 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,600,1.8,CRD,9 +VTS,1,1,360,1.78,CSH,7.5 +VTS,1,1,300,1.15,CRD,6 +VTS,1,1,300,1.56,CSH,6.5 +VTS,1,1,720,2.04,CRD,9.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,720,2.56,CSH,10.5 +VTS,1,1,1020,3.92,CSH,15.5 +VTS,1,1,420,1.3,CRD,7 +VTS,1,1,1380,3.83,CRD,16.5 +VTS,1,1,540,1.2,CSH,7.5 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,1,1980,10.81,CRD,35 +VTS,1,1,1380,2.75,CSH,15.5 +VTS,1,1,480,1.41,CRD,7 +VTS,1,1,960,3.27,CSH,14 +VTS,1,1,780,4.06,CRD,14.5 +VTS,1,1,420,1.51,CRD,7.5 +VTS,1,1,780,1.69,CSH,10 +VTS,1,1,600,6.33,CSH,18.5 +VTS,1,1,960,3.31,CRD,13.5 +VTS,1,1,900,5.08,CRD,17.5 +VTS,1,1,1260,3.11,CRD,15.5 +VTS,1,1,360,1.83,CRD,7 +VTS,1,1,3900,8.53,CRD,41.5 +VTS,1,1,720,1.51,CRD,9 +VTS,1,1,1620,10.9,CRD,32.5 +VTS,1,1,1020,8.35,CRD,24 +VTS,1,1,360,2.01,CRD,8 +VTS,1,1,540,2.3,CRD,9.5 +VTS,1,1,420,1.74,CSH,7.5 +VTS,1,1,1200,8.57,CRD,25.5 +VTS,1,1,900,2.39,CRD,12 +VTS,1,1,240,1.04,CSH,5 +VTS,1,1,1140,9.74,CRD,28 +VTS,1,1,840,3.18,CRD,13 +VTS,1,1,660,2.08,CRD,10 +VTS,1,1,300,0.66,CRD,5 +VTS,1,1,1140,2.25,CRD,13.5 +VTS,1,1,1200,2.48,CRD,14.5 +VTS,1,1,240,0.44,CSH,4 +VTS,1,1,240,1.69,CRD,6.5 +VTS,1,1,180,0.51,CRD,4 +VTS,1,1,840,3.52,CSH,13.5 +VTS,1,1,720,1.35,CRD,9.5 +VTS,1,1,540,1.83,CSH,9 +VTS,1,1,1380,10.8,CSH,31.5 +VTS,1,1,1740,10.58,CRD,33.5 +VTS,1,1,2220,9.22,CRD,32.5 +VTS,1,1,360,1.54,CRD,7 +VTS,1,1,1200,5.95,CRD,20 +VTS,1,1,420,0.79,CRD,6 +VTS,1,1,180,0.99,CSH,5 +VTS,1,1,360,1.2,CRD,6.5 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,1200,6.73,CRD,22 +VTS,1,1,1500,3.35,CSH,16.5 +VTS,1,1,660,0.9,CRD,7.5 +VTS,1,1,960,2.05,CRD,11.5 +VTS,1,1,900,3.31,CSH,13 +VTS,1,1,1260,5.12,CSH,18.5 +VTS,1,1,1740,13.91,CRD,40 +VTS,1,1,420,1.28,CRD,7 +VTS,1,1,240,0.69,CRD,5 +VTS,1,1,1560,4.01,CRD,19 +VTS,1,1,600,2.65,CSH,10.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,1020,4.01,CRD,15.5 +VTS,1,1,660,3.04,CRD,12.5 +VTS,1,1,300,0.73,CRD,5 +VTS,1,1,240,0.61,CSH,5 +VTS,1,1,600,1.56,CRD,8.5 +VTS,1,1,600,1.98,CSH,9 +VTS,1,1,480,1.89,CSH,8.5 +VTS,1,1,1440,10.65,CRD,31.5 +VTS,1,1,1140,9.49,CSH,27.5 +VTS,1,1,540,2.57,CSH,10 +VTS,1,1,480,1,CSH,7 +VTS,1,1,1260,3.25,CRD,15.5 +VTS,1,1,780,2.28,CRD,11.5 +VTS,1,1,480,1.02,CSH,7 +VTS,1,1,300,1.52,CSH,6.5 +VTS,1,1,1260,4.23,CRD,18 +VTS,1,1,780,3.19,CRD,12.5 +VTS,5,1,1800,21.8,CRD,125 +VTS,1,1,600,1.06,CRD,8 +VTS,1,1,240,0.68,CRD,5 +VTS,1,1,360,1.46,CRD,6.5 +VTS,1,1,540,1.69,CRD,8 +VTS,1,1,660,1.22,CSH,8.5 +VTS,1,1,420,1.86,CRD,8 +VTS,1,1,180,0.34,CRD,4 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,1,180,0.65,CSH,4.5 +VTS,1,1,360,1.09,CSH,6 +VTS,1,1,1380,13.22,CSH,37 +VTS,1,1,840,3.87,CRD,14 +VTS,1,1,1020,2.01,CSH,12 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,900,3.6,CRD,14 +VTS,1,1,540,1.14,CSH,7.5 +VTS,1,1,540,1.62,CRD,8.5 +VTS,1,1,360,0.88,CSH,6 +VTS,1,1,600,3.19,CSH,12 +VTS,1,1,720,3.02,CSH,12 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,660,2.28,CSH,10 +VTS,1,1,480,1.12,CSH,7 +VTS,1,1,180,0.48,CSH,4 +VTS,1,1,900,2.68,CRD,12 +VTS,1,1,120,0.12,CSH,2.5 +VTS,1,1,420,1.4,CSH,7 +VTS,1,1,840,2.41,CRD,11.5 +VTS,1,1,180,0.85,CRD,4.5 +VTS,1,1,420,1.32,CRD,7 +VTS,1,1,1560,4.89,CRD,21 +VTS,1,1,720,1.7,CSH,9.5 +VTS,1,1,240,0.69,CSH,5 +VTS,1,1,900,1.25,CSH,10.5 +VTS,1,1,600,5.28,CRD,16 +VTS,1,1,540,1.46,CSH,8 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,1620,3.31,CSH,18.5 +VTS,1,1,1320,2.06,CRD,15 +VTS,1,1,300,1.08,CSH,6.5 +VTS,1,1,480,1.58,CRD,8 +VTS,1,1,780,2.71,CSH,11.5 +VTS,1,1,360,0.83,CSH,5.5 +VTS,1,1,900,3.17,CRD,13 +VTS,1,1,780,1.23,CSH,9.5 +VTS,1,1,840,2.39,CRD,11.5 +VTS,1,1,840,2.26,CSH,11 +VTS,1,1,480,1.47,CRD,7.5 +VTS,1,1,540,1.43,CSH,8 +VTS,1,1,1440,5.38,CRD,20 +VTS,1,1,900,3.59,CRD,14 +VTS,1,1,1200,2.39,CSH,13.5 +VTS,1,1,720,3.21,CRD,13 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,420,2,CSH,8.5 +VTS,1,1,1020,3.09,CRD,13.5 +VTS,1,1,360,1.14,CSH,6 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,120,0.46,CSH,4 +VTS,1,1,1080,3.11,CRD,14.5 +VTS,1,1,540,2.36,CSH,9.5 +VTS,1,1,1080,4.7,CSH,17 +VTS,1,1,1320,5.78,CRD,20.5 +VTS,5,2,1620,7.48,CRD,65 +VTS,1,1,840,1.75,CSH,11 +VTS,1,1,480,2.36,CSH,9 +VTS,1,1,480,1.09,CSH,6.5 +VTS,1,1,1320,5.2,CSH,19.5 +VTS,1,1,540,1.91,CRD,9 +VTS,1,1,420,1.81,CSH,8 +VTS,1,1,360,2.02,CSH,8 +VTS,1,1,120,0.22,CSH,3.5 +VTS,1,1,240,0.69,CSH,5 +VTS,1,1,480,0.88,CSH,6.5 +VTS,1,1,240,0.6,CSH,5 +VTS,1,1,360,1.25,CSH,6.5 +VTS,1,1,780,2.46,CRD,11 +VTS,1,1,960,2.35,CRD,12.5 +VTS,1,1,420,1.9,CSH,8 +VTS,1,1,600,1.26,CRD,8 +VTS,1,1,180,0.41,CSH,4 +VTS,1,1,300,0.99,CRD,6 +VTS,1,1,120,0.53,CSH,4 +VTS,1,1,540,1.71,CRD,8 +VTS,1,1,180,1.58,CRD,6.5 +VTS,1,1,720,1.99,CSH,9.5 +VTS,1,1,480,1.16,CSH,7.5 +VTS,1,1,480,1.33,CRD,7.5 +VTS,1,1,900,3.15,CRD,13 +VTS,1,1,540,1.35,CRD,8 +VTS,1,1,300,1.06,CRD,6 +VTS,1,1,420,1.27,CSH,6.5 +VTS,1,1,480,1.49,CSH,7.5 +VTS,1,1,2100,6.01,CRD,25.5 +VTS,1,1,360,1.41,CSH,7 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,240,0.68,CRD,5 +VTS,1,1,900,7.76,CRD,23 +VTS,1,1,240,0.65,CSH,5 +VTS,1,1,480,1.45,CSH,7 +VTS,1,1,2220,10.29,CSH,34 +VTS,1,1,1860,7.25,CRD,25.5 +VTS,1,1,720,1.34,CRD,9 +VTS,1,1,1800,3.59,CSH,20 +VTS,1,1,1020,3.21,CSH,14 +VTS,1,1,720,3.46,CSH,13 +VTS,1,1,300,1.86,CSH,7.5 +VTS,1,1,960,2.96,CRD,13 +VTS,1,1,360,1,CSH,6 +VTS,1,1,360,1.08,CSH,6.5 +VTS,1,1,600,2.16,CSH,10 +VTS,1,1,1440,6.51,CRD,23.5 +VTS,1,1,720,4.07,CRD,14 +VTS,1,1,420,1.59,CRD,7.5 +VTS,1,1,300,0.94,CSH,5 +VTS,1,1,480,1.18,CSH,7 +VTS,1,1,1440,5.93,CSH,22 +VTS,1,1,1140,5.94,CRD,20 +VTS,1,1,1740,11.06,CRD,33 +VTS,1,1,180,0.36,CSH,3.5 +VTS,1,1,660,2.03,CRD,10 +VTS,1,1,780,3.03,CRD,12 +VTS,1,1,480,1.29,CRD,7 +VTS,1,1,540,2.18,CRD,9 +VTS,1,1,480,1.2,CSH,7 +VTS,1,1,1560,6.82,CSH,24 +VTS,1,1,360,1.24,CSH,7 +VTS,1,1,600,1.38,CRD,9 +VTS,1,1,660,2.29,CRD,10.5 +VTS,1,1,960,2.15,CRD,12 +VTS,1,1,720,1.3,CSH,9 +VTS,1,1,840,3.78,CSH,14 +VTS,1,1,1320,9.08,CRD,27.5 +VTS,1,1,240,1.08,CRD,5 +VTS,1,1,420,1.8,CRD,7.5 +VTS,1,1,540,1.57,CSH,8 +VTS,1,1,360,0.96,CRD,6 +VTS,1,2,900,2.89,CSH,12.5 +VTS,1,1,900,2.9,CRD,12.5 +VTS,1,1,540,1.39,CRD,8 +VTS,1,1,540,1.52,CSH,8 +VTS,1,1,480,1.45,CRD,7.5 +VTS,1,1,1380,5.65,CRD,20.5 +VTS,1,1,900,1.65,CSH,11 +VTS,1,1,240,0.84,CRD,5 +VTS,1,1,1020,5.34,CSH,18.5 +VTS,1,1,600,2.5,CSH,10 +VTS,1,1,360,1.1,CRD,6.5 +VTS,1,1,300,0.62,CRD,5 +VTS,1,1,780,2.76,CSH,11.5 +VTS,1,1,600,1.02,CSH,7.5 +VTS,1,1,540,2.64,CSH,10.5 +VTS,1,1,480,1.51,CRD,8 +VTS,1,1,720,1.3,CSH,9 +VTS,1,1,540,1.32,CSH,8 +VTS,1,1,120,0.65,CRD,4 +VTS,1,1,360,1.83,CRD,7.5 +VTS,1,1,660,1.35,CSH,8.5 +VTS,1,1,540,1.65,CSH,8.5 +VTS,1,1,660,1.88,CSH,9 +VTS,1,1,780,2.31,CRD,11.5 +VTS,1,1,720,3.22,CRD,12 +VTS,1,1,1260,12.91,CSH,35.5 +VTS,3,1,1980,17.54,CSH,67.5 +VTS,1,1,720,2.79,CSH,11.5 +VTS,1,1,840,2.46,CRD,11.5 +VTS,1,1,420,1.48,CSH,7 +VTS,1,1,900,1.43,CRD,11.5 +VTS,1,1,240,1.26,CRD,6 +VTS,1,1,1320,11.75,CRD,34.5 +VTS,1,1,480,1.16,CSH,7 +VTS,1,1,1200,5.76,CRD,20.5 +VTS,1,1,240,0.27,CSH,4 +VTS,1,1,1140,2.92,CSH,14.5 +VTS,1,1,420,1.39,CRD,7 +VTS,1,1,1260,4.57,CSH,18 +VTS,5,2,540,4.15,CRD,38 +VTS,1,1,960,2.51,CRD,12 +VTS,1,1,900,4.09,CSH,14.5 +VTS,1,1,420,1.56,CSH,7.5 +VTS,1,1,420,1.36,CSH,7 +VTS,1,1,1200,5.91,CRD,20 +VTS,1,1,600,1.09,CRD,8 +VTS,1,1,1140,5.37,CRD,19.5 +VTS,1,1,900,3.61,CSH,14.5 +VTS,1,1,1080,7.61,CRD,23.5 +VTS,1,1,420,0.88,CRD,6 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,360,1.11,CRD,6.5 +VTS,1,1,180,0.82,CRD,4.5 +VTS,1,1,1320,2.66,CSH,14.5 +VTS,1,1,1980,10.33,CSH,33 +VTS,1,1,1380,7.85,CRD,25.5 +VTS,1,1,720,2.24,CSH,11 +VTS,1,1,600,1.63,CRD,9 +VTS,1,1,1320,8.19,CRD,25 +VTS,1,1,1080,3.34,CRD,15 +VTS,1,1,660,2.48,CSH,11 +VTS,1,1,900,4.28,CSH,16 +VTS,1,1,360,1.17,CRD,7 +VTS,1,1,960,2.6,CRD,12 +VTS,1,1,360,0.77,CSH,5.5 +VTS,1,1,1080,3.25,CSH,14 +VTS,1,1,360,1.5,CRD,7 +VTS,1,1,960,1.46,CSH,11 +VTS,1,1,1500,9.3,CSH,29 +VTS,1,1,780,3.07,CSH,12.5 +VTS,1,1,1080,4.43,CRD,17 +VTS,1,1,660,2.29,CSH,10 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,720,1.62,CRD,9.5 +VTS,1,1,240,1.31,CSH,6 +VTS,1,2,600,1.44,CRD,8 +VTS,1,2,120,0.53,CRD,3.5 +VTS,1,2,1740,3.4,CRD,19 +VTS,1,2,780,1.98,CRD,10.5 +VTS,1,1,420,1.96,CRD,8.5 +VTS,1,1,540,2.07,CRD,9 +VTS,1,1,120,0.94,CSH,4.5 +VTS,1,1,720,1.53,CRD,9 +VTS,1,1,240,0.52,CRD,4.5 +VTS,1,1,1080,4.23,CSH,15.5 +VTS,1,1,360,1.39,CSH,6.5 +VTS,1,1,720,4.3,CRD,14.5 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,2100,6.79,CRD,27 +VTS,1,1,240,0.92,CRD,4.5 +VTS,1,1,600,1.61,CRD,8.5 +VTS,1,1,1200,5.65,CSH,20 +VTS,1,1,180,1.27,CSH,5.5 +VTS,1,1,840,7.55,CSH,21.5 +VTS,1,1,540,0.85,CRD,7 +VTS,1,1,780,1.51,CSH,9.5 +VTS,1,1,840,2.77,CRD,12 +VTS,1,1,420,1.12,CRD,6.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,300,0.58,CSH,4.5 +VTS,1,1,540,1.5,CSH,7.5 +VTS,1,1,360,2.82,CRD,9.5 +VTS,1,1,840,3.65,CRD,13.5 +VTS,1,2,540,1.4,CRD,7 +VTS,1,2,840,0.92,CSH,9.5 +VTS,1,1,1680,11.27,CRD,33 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,1440,12.6,CRD,35.5 +VTS,1,1,780,1.3,CSH,9.5 +VTS,1,1,660,0.94,CRD,8 +VTS,1,1,420,1.7,CSH,7.5 +VTS,1,1,1020,2.67,CRD,13.5 +VTS,2,1,2280,16.97,CSH,52 +VTS,1,1,180,0.84,CRD,5 +VTS,1,1,240,0.99,CRD,5.5 +VTS,1,1,1140,3.3,CSH,15.5 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,1260,3.35,CRD,15 +VTS,1,1,480,2.27,CSH,8.5 +VTS,1,1,480,1.73,CRD,8 +VTS,1,1,240,1.06,CSH,6 +VTS,1,1,420,1.3,CRD,7.5 +VTS,1,1,600,2.04,CSH,9.5 +VTS,1,1,540,1.95,CSH,8.5 +VTS,1,1,540,1.2,CRD,8 +VTS,1,1,900,3.33,CRD,13 +VTS,1,1,1200,4.46,CRD,18 +VTS,1,1,420,1.27,CRD,7 +VTS,1,1,420,1.47,CSH,7.5 +VTS,1,1,480,1.76,CRD,8 +VTS,1,1,780,1,CSH,8.5 +VTS,1,1,360,0.8,CSH,5.5 +VTS,1,1,840,2.79,CRD,12 +VTS,1,1,240,1.14,CRD,5.5 +VTS,1,1,840,1.24,CRD,10 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,1,660,2.06,CRD,9.5 +VTS,1,2,480,1.44,CSH,8 +VTS,1,2,1080,1.16,CSH,12 +VTS,1,2,1500,4.94,CRD,20 +VTS,1,2,1260,4.29,CRD,16.5 +VTS,1,2,420,2.25,CRD,9 +VTS,1,2,480,1.11,CSH,7 +VTS,1,2,360,1.28,CRD,6.5 +VTS,1,2,1620,3.64,CSH,19.5 +VTS,1,2,2220,10.02,CSH,33 +VTS,1,1,120,0.51,CSH,4 +VTS,1,1,600,1.32,CRD,8 +VTS,1,1,480,1.42,CSH,7.5 +VTS,1,1,720,2.76,CSH,12 +VTS,1,1,1140,1.89,CRD,13 +VTS,1,1,720,3.14,CSH,11.5 +VTS,1,1,660,2.55,CRD,11 +VTS,1,1,1200,3.54,CSH,15.5 +VTS,1,1,720,1.93,CRD,9.5 +VTS,1,1,960,7.09,CRD,21.5 +VTS,1,1,720,2.16,CSH,10.5 +VTS,1,1,120,0.82,CSH,4.5 +VTS,1,1,60,0.32,CSH,3 +VTS,1,1,300,1.67,CRD,7 +VTS,1,1,120,0.6,CRD,4 +VTS,1,1,1920,7.19,CSH,26.5 +VTS,2,1,3300,20.89,CRD,52 +VTS,1,1,720,2.24,CSH,11 +VTS,1,1,1200,2.46,CSH,13 +VTS,1,1,660,3.07,CRD,11.5 +VTS,1,1,180,0.85,CRD,4.5 +VTS,1,1,1500,10.44,CRD,31 +VTS,1,1,840,3.34,CRD,13 +VTS,1,1,540,0.96,CSH,7.5 +VTS,1,1,240,1.58,CRD,6.5 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,240,1.07,CRD,5.5 +VTS,1,1,780,2.87,CRD,11.5 +VTS,1,1,720,1.87,CSH,9 +VTS,1,1,540,1.16,CRD,7.5 +VTS,1,2,900,2.3,CSH,11.5 +VTS,1,2,780,1.16,CRD,9 +VTS,1,2,1140,2.66,CRD,13.5 +VTS,1,2,660,1.7,CRD,9.5 +VTS,1,2,360,0.72,CRD,6 +VTS,1,2,420,1.31,CSH,6.5 +VTS,1,2,360,1.01,CSH,6 +VTS,1,1,1080,3.31,CSH,13 +VTS,1,1,420,2.2,CRD,8.5 +VTS,1,2,600,1.06,CSH,7.5 +VTS,1,2,300,1,CRD,5.5 +VTS,1,2,300,0.68,CRD,5 +VTS,1,2,420,1.16,CRD,6.5 +VTS,1,1,720,2.23,CSH,10 +VTS,1,1,300,1.05,CRD,5.5 +VTS,1,1,900,3.94,CRD,15 +VTS,1,1,480,2.29,CSH,9 +VTS,1,1,540,1.4,CRD,7.5 +VTS,1,1,780,3.24,CSH,13 +VTS,1,1,540,1.68,CSH,8.5 +VTS,1,1,840,2.27,CRD,11 +VTS,1,1,960,4.5,CSH,16 +VTS,1,1,900,4.06,CRD,15 +VTS,1,1,600,2.13,CSH,9.5 +VTS,1,1,660,1.71,CRD,8.5 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,600,1.67,CRD,8.5 +VTS,1,1,840,1.84,CRD,10.5 +VTS,1,1,2100,10.39,CSH,34 +VTS,1,1,1860,14.3,CRD,41 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,2,1200,6.14,CRD,20.5 +VTS,1,2,360,1.07,CRD,6 +VTS,1,2,480,0.89,CSH,7 +VTS,1,2,60,0.07,CSH,2.5 +VTS,1,2,900,2.35,CSH,11.5 +VTS,1,2,1200,2.12,CRD,14 +VTS,1,1,840,1.45,CSH,10.5 +VTS,1,1,1020,2.56,CSH,12.5 +VTS,1,1,840,2.48,CSH,11.5 +VTS,1,1,300,0.83,CSH,5 +VTS,1,1,540,1.31,CRD,7.5 +VTS,1,1,540,1.94,CRD,8.5 +VTS,1,1,480,1.55,CRD,7.5 +VTS,1,1,1560,6.59,CRD,23 +VTS,1,1,360,2.35,CSH,9 +VTS,1,1,420,2.49,CRD,9 +VTS,1,1,480,0.8,CRD,6.5 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,840,4.42,CRD,15.5 +VTS,1,1,1020,3.71,CRD,14.5 +VTS,1,1,300,0.99,CRD,5.5 +VTS,5,1,1260,5,CRD,60 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,540,1.24,CRD,7.5 +VTS,1,1,300,0.76,CSH,4.5 +VTS,1,1,900,1.39,CRD,10.5 +VTS,1,1,840,2.77,CSH,12 +VTS,1,1,300,0.67,CSH,5.5 +VTS,1,1,1320,4.97,CRD,18.5 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,660,1.28,CRD,8 +VTS,1,1,1020,3.35,CRD,14.5 +VTS,1,1,960,3.48,CRD,14 +VTS,1,1,540,1.32,CSH,8 +VTS,1,1,600,2.04,CSH,9.5 +VTS,1,1,300,0.74,CSH,5.5 +VTS,1,1,1380,8.23,CRD,27 +VTS,1,1,1860,12.42,CRD,39 +VTS,1,1,1260,4.06,CRD,17 +VTS,1,1,240,0.65,CRD,5 +VTS,1,1,240,1.2,CSH,6 +VTS,1,1,420,2.66,CRD,9 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,840,2.17,CRD,11 +VTS,1,1,960,3.14,CRD,13.5 +VTS,1,1,840,2.93,CSH,12.5 +VTS,1,1,180,0.85,CRD,5 +VTS,1,1,480,1.69,CRD,8 +VTS,1,1,960,3.36,CRD,14 +VTS,1,1,900,2.3,CSH,11.5 +VTS,1,1,240,1.06,CRD,5.5 +VTS,1,1,540,0.92,CRD,7 +VTS,1,1,660,2.71,CSH,11 +VTS,1,1,780,2.26,CSH,11.5 +VTS,1,1,900,8.52,CRD,24.5 +VTS,1,1,600,1.85,CRD,9 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,660,1.43,CSH,8.5 +VTS,1,1,660,1.32,CRD,8.5 +VTS,1,1,360,0.69,CRD,5.5 +VTS,1,1,960,3.41,CRD,13.5 +VTS,1,1,180,0.44,CSH,3.5 +VTS,1,1,720,3.41,CSH,12 +VTS,1,2,840,2.33,CRD,11 +VTS,1,2,780,2.11,CSH,10.5 +VTS,1,2,240,0.68,CSH,5 +VTS,1,2,540,1.4,CSH,8 +VTS,1,2,720,1.2,CRD,8.5 +VTS,1,1,660,1.07,CRD,8 +VTS,1,1,480,1.66,CRD,8 +VTS,1,1,660,2.12,CRD,9.5 +VTS,1,1,540,2.61,CRD,9.5 +VTS,1,1,180,0.35,CRD,3.5 +VTS,1,1,240,1.21,CSH,5.5 +VTS,1,1,660,2.75,CSH,11 +VTS,1,1,840,2.97,CSH,12 +VTS,1,1,1740,10.72,CRD,34 +VTS,1,1,360,0.69,CSH,5.5 +VTS,1,1,600,2.93,CRD,11.5 +VTS,1,1,360,1.51,CRD,6.5 +VTS,1,1,660,2.31,CSH,10.5 +VTS,1,1,420,0.96,CSH,6 +VTS,1,1,360,0.95,CRD,6 +VTS,1,1,480,2.04,CSH,8.5 +VTS,1,1,480,1.94,CRD,8 +VTS,2,2,60,0,CRD,52 +VTS,1,1,300,0.83,CSH,5 +VTS,1,1,600,3.07,CRD,11 +VTS,1,2,1860,8.82,CRD,28.5 +VTS,1,2,480,1.18,CSH,7 +VTS,1,1,360,0.74,CSH,5.5 +VTS,1,2,2040,8.36,CSH,29.5 +VTS,1,2,1380,3.16,CRD,16.5 +VTS,1,1,420,1.38,CSH,6.5 +VTS,1,2,300,0.88,CSH,5 +VTS,1,2,420,1.17,CRD,6.5 +VTS,1,1,360,0.85,CRD,6 +VTS,1,5,120,0.6,CRD,4 +VTS,1,5,840,1.59,CSH,10.5 +VTS,1,5,720,1.78,CRD,9.5 +VTS,1,5,240,0.86,CRD,5 +VTS,1,5,720,2.09,CRD,10.5 +VTS,1,5,600,1.89,CRD,9 +VTS,1,5,1020,2.71,CSH,14 +VTS,1,1,1440,9.95,CSH,30 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,540,1.52,CSH,8 +VTS,1,1,900,3.1,CSH,12.5 +VTS,1,1,960,2.23,CRD,12 +VTS,1,2,0,0,CSH,2.5 +VTS,1,1,300,1.23,CRD,6 +VTS,1,2,1080,7.56,CRD,23 +VTS,1,2,1380,4.19,CSH,17.5 +VTS,1,2,900,2.32,CSH,12 +VTS,4,1,840,2.8,CSH,11.5 +VTS,1,1,660,1.93,CRD,10 +VTS,1,2,840,1.63,CRD,10.5 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,720,1.65,CRD,9.5 +VTS,1,1,600,1.26,CRD,8 +VTS,1,1,360,1.02,CRD,6 +VTS,1,5,1200,4.08,CRD,17.5 +VTS,1,5,780,2.74,CSH,11.5 +VTS,1,5,660,2.59,CSH,11 +VTS,1,5,900,3.47,CRD,13.5 +VTS,1,5,1500,3.25,CRD,18 +VTS,1,5,420,1.62,CSH,7 +VTS,1,5,660,3.74,CSH,12.5 +VTS,1,1,300,0.77,CRD,5 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,1140,3.88,CRD,16 +VTS,1,2,960,1.67,CSH,11 +VTS,1,2,540,0.67,CSH,6.5 +VTS,1,1,1080,4.54,CSH,17 +VTS,1,1,840,1.22,CSH,10 +VTS,1,1,600,2.15,CSH,9 +VTS,1,1,1140,9.46,CRD,27.5 +VTS,1,1,360,0.88,CSH,6 +VTS,1,1,1380,6.43,CRD,22 +VTS,1,1,420,1.64,CRD,7.5 +VTS,1,1,240,1.13,CRD,6 +VTS,1,1,1080,4,CSH,16 +VTS,1,1,660,3.44,CRD,13 +VTS,1,1,1620,7.92,CSH,26.5 +VTS,1,1,840,3.25,CRD,13 +VTS,1,1,480,2.22,CSH,9.5 +VTS,1,1,480,2.14,CRD,9 +VTS,1,1,360,0.94,CSH,5.5 +VTS,1,1,300,1.25,CSH,6 +VTS,1,2,600,1.08,CSH,8 +VTS,1,1,720,5.06,CSH,16.5 +VTS,1,2,1080,3.43,CRD,14.5 +VTS,1,2,900,1.82,CRD,11 +VTS,1,2,720,1.81,CRD,7.5 +VTS,1,1,720,1.46,CRD,8.5 +VTS,1,1,1020,3.11,CRD,14.5 +VTS,1,2,600,2.64,CSH,10 +VTS,1,2,2460,11.55,CRD,38.5 +VTS,1,1,780,1.99,CSH,10 +VTS,1,1,540,1.58,CRD,8.5 +VTS,1,2,240,0.86,CSH,5 +VTS,1,5,600,2.75,CSH,10.5 +VTS,1,5,240,0.69,CSH,5 +VTS,1,5,300,0.61,CRD,5 +VTS,1,5,540,1.63,CRD,8.5 +VTS,1,5,720,2.19,CRD,10.5 +VTS,1,5,120,0.39,CRD,3.5 +VTS,1,5,660,2.01,CSH,9.5 +VTS,1,5,780,2.93,CSH,12.5 +VTS,1,1,1140,5.2,CRD,19.5 +VTS,1,1,600,2.7,CRD,10 +VTS,1,5,300,0.71,CRD,4.5 +VTS,1,5,1200,1.82,CSH,13 +VTS,1,1,360,1.68,CSH,7 +VTS,1,1,1140,8.92,CRD,25.5 +VTS,1,1,420,0.99,CRD,6.5 +VTS,1,1,1020,9.34,CSH,26 +VTS,1,1,840,3.7,CSH,14 +VTS,1,1,480,1.93,CRD,8.5 +VTS,1,1,900,3.22,CSH,13 +VTS,1,1,360,1.84,CRD,7.5 +VTS,1,1,300,0.71,CRD,5 +VTS,1,1,1320,3.94,CRD,17.5 +VTS,1,2,360,0.86,CSH,6 +VTS,1,1,660,4,CRD,13 +VTS,1,1,480,1.08,CRD,7 +VTS,1,1,1560,16.83,CSH,45.5 +VTS,1,1,660,2.4,CRD,10 +VTS,1,1,600,1.47,CSH,8 +VTS,1,1,120,0.65,CRD,4 +VTS,1,1,660,2.01,CRD,9 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,300,1.32,CRD,6 +VTS,1,1,720,3.96,CRD,13 +VTS,1,1,600,2.24,CRD,9.5 +VTS,1,1,240,0.43,CSH,4.5 +VTS,1,1,2700,13.31,CRD,43.5 +VTS,1,1,1080,9.24,CRD,26.5 +VTS,1,1,120,0.31,CSH,3.5 +VTS,1,2,720,1.48,CRD,9.5 +VTS,1,1,900,2.11,CRD,11.5 +VTS,1,2,360,1.21,CRD,6.5 +VTS,1,1,300,2.04,CSH,7.5 +VTS,1,1,720,1.7,CSH,9.5 +VTS,1,1,1500,2.13,CRD,16 +VTS,1,2,540,0.8,CSH,7 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,2,300,0.99,CRD,6 +VTS,1,2,420,1,CSH,6.5 +VTS,1,1,660,1.67,CSH,8.5 +VTS,1,1,240,0.97,CSH,5 +VTS,1,1,240,0.45,CRD,4.5 +VTS,1,1,120,0.52,CSH,3.5 +VTS,1,1,540,1.43,CSH,8 +VTS,1,1,240,0.42,CSH,4.5 +VTS,1,1,840,1.82,CSH,10.5 +VTS,1,2,540,1.24,CSH,7.5 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,600,1.91,CRD,9 +VTS,1,1,780,1.74,CSH,10.5 +VTS,1,1,540,1.51,CSH,8 +VTS,1,2,600,0.95,CRD,7.5 +VTS,1,1,1020,2.46,CRD,12.5 +VTS,1,2,900,1.8,CSH,11 +VTS,1,2,1260,10.76,CSH,30.5 +VTS,1,1,480,2.79,CRD,10.5 +VTS,1,5,300,1.13,CRD,6 +VTS,1,5,420,2.11,CSH,8 +VTS,1,5,540,2.05,CSH,9.5 +VTS,1,5,720,2.73,CRD,12 +VTS,1,5,1140,6.31,CRD,20.5 +VTS,1,5,360,1.27,CRD,6.5 +VTS,1,5,840,3.7,CRD,14 +VTS,1,1,780,2.43,CRD,11.5 +VTS,1,5,2040,8.54,CRD,28.5 +VTS,1,2,1200,3.02,CRD,15 +VTS,1,2,360,1.04,CRD,6 +VTS,1,2,720,1.62,CSH,9.5 +VTS,1,2,240,0.69,CSH,4 +VTS,1,2,420,1.22,CSH,6.5 +VTS,1,2,1080,2.12,CSH,12.5 +VTS,1,2,180,0.5,CRD,4 +VTS,1,2,180,0.43,CSH,4 +VTS,1,2,180,0.67,CRD,4.5 +VTS,1,1,600,2.09,CSH,9.5 +VTS,1,1,1620,4.03,CRD,19 +VTS,1,1,840,2.43,CRD,11.5 +VTS,1,1,360,0.95,CRD,5.5 +VTS,1,1,60,0.55,CSH,3.5 +VTS,1,1,780,2.18,CRD,10.5 +VTS,1,1,600,2.28,CSH,9.5 +VTS,1,1,480,1.67,CSH,7.5 +VTS,1,1,1200,2.91,CSH,15.5 +VTS,1,1,900,1.93,CSH,11.5 +VTS,1,1,720,1.82,CRD,10 +VTS,1,1,240,0.74,CRD,4.5 +VTS,1,2,1200,3.18,CSH,15 +VTS,1,2,420,0.59,CSH,5.5 +VTS,1,1,240,0.02,CRD,4 +VTS,1,2,720,2.08,CSH,10 +VTS,1,1,1020,4.66,CRD,17.5 +VTS,1,1,360,1.34,CRD,7 +VTS,1,1,480,1.33,CSH,7.5 +VTS,1,1,720,1.63,CSH,9.5 +VTS,1,1,1140,5.15,CRD,18 +VTS,1,1,1500,2.88,CSH,17 +VTS,1,1,420,3.04,CRD,10 +VTS,1,1,540,1.4,CSH,7.5 +VTS,1,1,960,4.03,CRD,14.5 +VTS,1,1,300,0.52,CRD,5 +VTS,1,1,2220,10.18,CRD,34.5 +VTS,1,1,780,6.4,CRD,19 +VTS,1,1,1320,6.08,CSH,21.5 +VTS,1,1,480,1.17,CSH,7.5 +VTS,1,1,360,1.23,CSH,6.5 +VTS,1,1,480,0.9,CSH,7 +VTS,1,1,120,0.51,CSH,3.5 +VTS,1,1,840,2.88,CRD,12 +VTS,1,1,1320,5.71,CRD,21 +VTS,1,1,360,0.92,CRD,6 +VTS,1,2,1500,3.44,CRD,17.5 +VTS,1,2,720,1.32,CRD,9.5 +VTS,1,2,540,2.09,CSH,9.5 +VTS,2,2,2940,19.38,CSH,52 +VTS,1,1,660,1.79,CSH,9.5 +VTS,1,1,1500,7.37,CRD,25 +VTS,1,1,420,2.34,CRD,9 +VTS,1,1,420,1.27,CRD,6.5 +VTS,1,1,1020,8.53,CRD,25 +VTS,1,1,720,1.52,CSH,9.5 +VTS,1,5,1620,3.82,CSH,18 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,480,1.77,CRD,8.5 +VTS,1,1,960,3.77,CRD,14.5 +VTS,1,1,480,1.55,CRD,7.5 +VTS,1,1,480,1.5,CRD,8 +VTS,1,1,360,0.77,CSH,6 +VTS,1,1,1260,6.82,CRD,22.5 +VTS,1,1,720,2.19,CRD,10.5 +VTS,1,5,1080,4.15,CSH,16.5 +VTS,1,5,660,1.97,CRD,9 +VTS,1,5,1320,12.23,CRD,34.5 +VTS,1,5,300,0.7,CRD,5 +VTS,1,5,1440,5.43,CSH,20 +VTS,1,5,1500,9.01,CRD,28.5 +VTS,1,5,900,1.99,CRD,11 +VTS,1,5,540,2.04,CRD,9 +VTS,1,5,360,1.23,CRD,6.5 +VTS,1,5,900,6.12,CSH,20 +VTS,1,1,300,1.05,CSH,6 +VTS,1,1,180,0.8,CSH,5 +VTS,1,1,1140,5.88,CRD,20.5 +VTS,1,1,480,1.52,CSH,7.5 +VTS,1,1,180,1.17,CRD,5 +VTS,1,1,600,0.84,CSH,8 +VTS,1,1,300,0.64,CRD,5 +VTS,1,1,240,0.82,CRD,5 +VTS,1,1,840,8.74,CRD,24.5 +VTS,1,1,1920,4.72,CSH,22 +VTS,1,1,360,0.47,CSH,5 +VTS,1,1,360,0.77,CRD,6 +VTS,1,1,960,4.85,CRD,17 +VTS,1,1,420,2.45,CRD,8.5 +VTS,1,1,1620,3.62,CRD,19 +VTS,1,1,480,2.56,CSH,10 +VTS,1,1,1320,9.19,CRD,28 +VTS,1,1,360,2.33,CRD,8 +VTS,1,1,540,1.63,CRD,7.5 +VTS,1,1,1200,4.97,CSH,18 +VTS,1,1,840,3.27,CSH,13 +VTS,1,1,840,4.04,CRD,14 +VTS,1,1,480,2.18,CRD,9 +VTS,1,1,480,1.29,CRD,7.5 +VTS,4,2,0,0,CSH,2.5 +VTS,1,1,360,0.92,CRD,6.5 +VTS,1,1,540,1.38,CRD,7.5 +VTS,1,1,360,0.89,CSH,5.5 +VTS,1,1,180,0.38,CSH,4 +VTS,1,1,240,0.67,CSH,4.5 +VTS,1,5,1200,4.55,CSH,17.5 +VTS,1,5,600,1.42,CSH,8.5 +VTS,3,1,2100,20.76,CSH,72.5 +VTS,1,5,720,1.81,CRD,10 +VTS,1,1,300,1.3,CSH,6 +VTS,1,1,1080,2.81,CRD,13.5 +VTS,1,1,120,1.11,CRD,5 +VTS,1,1,300,0.82,CRD,6 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,540,2.14,CRD,9.5 +VTS,1,1,780,1.69,CRD,10 +VTS,1,1,600,1.25,CRD,8 +VTS,1,5,420,1.13,CRD,6.5 +VTS,1,5,1320,4.62,CRD,17.5 +VTS,1,5,1080,7.79,CSH,24 +VTS,1,5,960,9.27,CRD,26.5 +VTS,1,5,840,7.6,CSH,22 +VTS,1,5,180,0.81,CSH,4.5 +VTS,1,5,1380,4.43,CRD,19 +VTS,1,5,180,0.62,CRD,4 +VTS,1,1,360,0.73,CSH,5.5 +VTS,1,1,780,2.47,CSH,11 +VTS,1,1,60,0.02,CSH,2.5 +VTS,1,1,240,0.82,CRD,5 +VTS,1,1,180,0.93,CRD,5 +VTS,1,1,240,0.81,CSH,5 +VTS,1,2,480,0.95,CSH,6.5 +VTS,1,1,840,2.34,CRD,11 +VTS,1,2,1500,11.65,CSH,34 +VTS,1,2,1920,9.74,CRD,31.5 +VTS,1,2,1080,8.73,CSH,26 +VTS,1,5,780,2,CSH,10.5 +VTS,1,5,480,2,CSH,8.5 +VTS,1,5,240,0.92,CRD,5.5 +VTS,1,5,780,2.97,CRD,11 +VTS,1,5,1980,3.16,CRD,21.5 +VTS,1,5,720,1.68,CRD,9.5 +VTS,1,5,540,0.84,CRD,7 +VTS,1,5,1140,4.81,CSH,18 +VTS,1,5,180,0.92,CSH,5 +VTS,1,5,1260,8.49,CRD,26.5 +VTS,1,1,480,1.66,CRD,8 +VTS,1,5,540,2.04,CSH,9 +VTS,1,5,840,2.04,CSH,11 +VTS,1,5,360,1.17,CRD,6.5 +VTS,2,5,180,0.09,CSH,52 +VTS,1,1,600,1.65,CSH,8.5 +VTS,1,1,1380,9.8,CRD,29 +VTS,1,1,420,1.35,CSH,7 +VTS,1,1,660,1.78,CSH,9 +VTS,1,1,240,0.93,CSH,5 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,1680,5.09,CSH,22 +VTS,1,5,300,0.78,CSH,5.5 +VTS,1,5,720,1.78,CSH,10 +VTS,1,5,600,3.41,CSH,12 +VTS,1,5,480,1.88,CRD,8.5 +VTS,1,5,1320,15.65,CRD,42 +VTS,1,5,900,2.61,CSH,12 +VTS,1,1,420,1.56,CSH,7.5 +VTS,1,1,840,1.34,CRD,10 +VTS,1,1,780,3.93,CSH,14.5 +VTS,1,1,1260,7.43,CRD,24 +VTS,1,1,1080,3.32,CRD,15.5 +VTS,1,5,660,2.48,CRD,10 +VTS,1,5,600,1.44,CRD,8 +VTS,1,5,840,2.73,CRD,12 +VTS,1,5,240,1.21,CSH,5.5 +VTS,1,5,1320,2.72,CRD,15.5 +VTS,1,5,420,0.94,CRD,6 +VTS,1,5,1560,8.18,CRD,27 +VTS,1,5,780,1.73,CRD,10 +VTS,1,5,720,1.26,CSH,9 +VTS,1,5,900,2.44,CRD,12 +VTS,1,1,120,0.79,CRD,4 +VTS,1,1,1080,9.96,CRD,28.5 +VTS,1,1,1440,8.71,CRD,27.5 +VTS,1,1,240,1.64,CSH,7 +VTS,1,2,780,1.76,CSH,10 +VTS,1,2,1440,3.29,CSH,16.5 +VTS,1,1,240,1,CSH,5.5 +VTS,2,1,2100,21.05,CRD,52 +VTS,1,5,1380,5.09,CSH,18.5 +VTS,1,5,780,2.45,CRD,11 +VTS,1,5,360,1.19,CSH,6 +VTS,1,5,180,0.64,CSH,4 +VTS,1,5,840,4.73,CRD,16 +VTS,1,5,420,1.09,CRD,6.5 +VTS,1,5,480,2.34,CSH,9.5 +VTS,1,5,780,5.25,CRD,17 +VTS,1,5,480,0.89,CSH,6.5 +VTS,1,5,1500,9.73,CRD,30 +VTS,1,5,1740,7.53,CSH,27 +VTS,1,1,420,1.07,CRD,6 +VTS,1,1,780,1.3,CSH,9 +VTS,1,1,540,2.85,CSH,11 +VTS,1,1,360,1.01,CRD,6 +VTS,1,5,360,0.87,CSH,6 +VTS,2,1,3060,21.01,CSH,52 +VTS,1,5,180,0.47,CRD,4 +VTS,1,5,720,1.94,CRD,10 +VTS,1,1,660,2.75,CRD,11 +VTS,1,1,660,1.83,CSH,9 +VTS,1,1,900,2.32,CSH,11 +VTS,1,1,1380,2.82,CRD,17 +VTS,1,1,660,2.02,CRD,10 +VTS,1,5,840,2.72,CRD,11.5 +VTS,1,5,420,1.17,CRD,7 +VTS,1,5,420,1.8,CRD,8 +VTS,1,5,960,3.18,CRD,13 +VTS,1,5,660,0.73,CRD,7.5 +VTS,1,5,360,0.44,CRD,5.5 +VTS,1,5,1320,3.98,CRD,18 +VTS,1,5,960,5.19,CSH,18.5 +VTS,1,5,960,2.68,CRD,12.5 +VTS,1,1,600,2.45,CSH,9.5 +VTS,1,1,180,1.21,CRD,5.5 +VTS,1,1,840,4.36,CSH,14.5 +VTS,1,1,480,1.19,CSH,7 +VTS,1,1,180,0.62,CRD,4.5 +VTS,1,2,840,3.99,CSH,13.5 +VTS,1,1,480,3.39,CRD,11.5 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,540,1.74,CSH,7.5 +VTS,1,1,480,1.62,CRD,7.5 +VTS,1,2,540,1.53,CSH,8.5 +VTS,1,1,1920,6.66,CRD,26 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,120,0.32,CSH,4 +VTS,1,5,840,2,CRD,10.5 +VTS,1,5,420,1.21,CSH,6.5 +VTS,1,5,600,0.75,CSH,7 +VTS,1,5,660,1.62,CRD,9 +VTS,1,5,600,1.08,CSH,7.5 +VTS,1,5,540,1.63,CRD,8 +VTS,1,5,540,0.93,CRD,7 +VTS,1,1,900,7.11,CSH,21.5 +VTS,1,1,360,1.51,CSH,7 +VTS,1,2,1080,2.6,CSH,14 +VTS,1,2,1140,5.12,CSH,18.5 +VTS,1,1,1500,3.25,CRD,17 +VTS,1,1,420,1.05,CSH,6.5 +VTS,1,1,1140,4.18,CSH,16 +VTS,1,1,900,2.16,CSH,11.5 +VTS,1,1,960,3.22,CRD,13 +VTS,1,1,1680,7.75,CRD,28 +VTS,1,5,300,1.16,CSH,6 +VTS,1,5,600,1.34,CRD,8.5 +VTS,1,5,540,1.04,CSH,7.5 +VTS,1,5,540,0.63,CRD,7 +VTS,1,5,1140,2.61,CSH,12 +VTS,1,2,1800,1.95,CSH,18 +VTS,1,2,840,2.05,CSH,10.5 +VTS,1,1,720,3.23,CRD,13 +VTS,1,1,480,1.55,CRD,7.5 +VTS,1,1,300,0.51,CSH,4.5 +VTS,1,1,360,1.75,CRD,7 +VTS,1,1,540,1.47,CRD,8.5 +VTS,1,5,720,2.27,CRD,10 +VTS,1,5,960,3.92,CSH,15 +VTS,1,5,540,2.27,CSH,9.5 +VTS,1,5,540,1.52,CRD,8 +VTS,1,5,180,0.25,CRD,3.5 +VTS,1,5,660,4.17,CRD,13.5 +VTS,1,5,180,0.38,CSH,4 +VTS,1,1,360,0.87,CSH,5.5 +VTS,1,1,360,0.45,CSH,5 +VTS,1,1,1200,5.02,CRD,18.5 +VTS,1,1,840,3.21,CSH,12.5 +VTS,1,1,720,1.55,CRD,9.5 +VTS,1,5,360,0.9,CSH,6 +VTS,1,5,960,1,CRD,10.5 +VTS,1,5,960,2.23,CRD,11 +VTS,1,5,780,1.25,CSH,9.5 +VTS,1,5,1020,3.15,CSH,14.5 +VTS,1,5,840,2.76,CSH,12 +VTS,1,5,360,1.13,CSH,6.5 +VTS,1,5,720,2.75,CRD,11.5 +VTS,1,5,1140,2.27,CRD,13 +VTS,1,1,540,2.59,CSH,10.5 +VTS,1,1,300,1.74,CRD,6.5 +VTS,1,2,300,0.45,CSH,5 +VTS,1,3,540,1.34,CRD,8 +VTS,1,2,300,0.47,CSH,4.5 +VTS,1,2,420,1.9,CSH,7.5 +VTS,1,2,780,2.81,CRD,12 +VTS,1,2,780,1.66,CSH,10 +VTS,5,1,1560,6.46,CRD,45 +VTS,1,2,480,1.67,CSH,8 +VTS,1,2,1080,7.04,CRD,21.5 +VTS,1,1,1440,10.34,CRD,30 +VTS,1,1,1740,12.98,CSH,36.5 +VTS,1,2,540,0.81,CSH,7 +VTS,1,1,360,0.66,CSH,5.5 +VTS,1,3,600,1.48,CRD,8 +VTS,1,1,480,1.53,CSH,8 +VTS,1,1,780,1.13,CSH,9 +VTS,1,1,480,1.8,CRD,8 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,1020,6.72,CRD,21 +VTS,1,5,1200,2.45,CSH,13 +VTS,1,5,1200,3.16,CRD,15 +VTS,1,5,300,0.77,CSH,5.5 +VTS,1,5,1740,6.12,CRD,23.5 +VTS,1,5,2460,2.42,CRD,23 +VTS,1,5,1680,1.84,CRD,16.5 +VTS,1,5,900,2.54,CRD,12 +VTS,1,2,1080,4.72,CSH,17 +VTS,1,5,900,2.98,CRD,13.5 +VTS,1,5,480,1.3,CRD,7.5 +VTS,1,5,420,2.19,CRD,8.5 +VTS,1,5,480,2.2,CSH,8.5 +VTS,1,5,480,1.17,CRD,6 +VTS,1,5,600,0.97,CRD,7.5 +VTS,1,5,420,1.71,CSH,7.5 +VTS,1,5,600,3.37,CRD,11.5 +VTS,1,5,420,1.76,CRD,7.5 +VTS,1,1,360,0.52,CSH,5.5 +VTS,1,1,420,1.28,CSH,6.5 +VTS,1,1,2520,8.01,CSH,32 +VTS,1,1,360,2.06,CSH,8 +VTS,1,5,120,0.35,CSH,3.5 +VTS,1,5,300,0.97,CSH,5.5 +VTS,1,1,420,1.3,CSH,6 +VTS,1,1,240,0.64,CSH,4 +VTS,1,1,480,0.8,CSH,6 +VTS,2,1,1560,17.55,CSH,52 +VTS,1,1,180,1.42,CSH,6 +VTS,1,1,300,0.72,CSH,5 +VTS,1,1,780,2.04,CSH,11 +VTS,1,1,900,1.72,CRD,10.5 +VTS,1,1,900,2.09,CRD,11 +VTS,1,1,540,1.3,CRD,7.5 +VTS,1,1,780,3.01,CSH,11.5 +VTS,1,1,180,0.97,CSH,5 +VTS,1,1,360,0.93,CSH,5.5 +VTS,1,1,660,2.13,CRD,10 +VTS,1,1,300,1.4,CRD,6.5 +VTS,1,1,900,2.99,CSH,13 +VTS,1,1,1020,3.12,CSH,13.5 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,420,1.25,CSH,7 +VTS,1,1,240,0.38,CRD,4.5 +VTS,1,1,540,1.64,CRD,8 +VTS,1,1,900,2.83,CSH,13 +VTS,1,1,1140,1.76,CSH,12.5 +VTS,1,1,1020,5.97,CRD,20 +VTS,1,1,1500,5.01,CRD,20.5 +VTS,1,5,1320,1.62,CSH,14 +VTS,1,5,1080,4.16,CSH,17 +VTS,1,5,480,1.4,CRD,7 +VTS,1,5,960,7.7,CSH,23.5 +VTS,1,5,660,2.68,CSH,10.5 +VTS,1,5,840,1.43,CRD,10 +VTS,1,5,120,0.43,CSH,3.5 +VTS,1,5,840,1.42,CRD,10 +VTS,1,5,360,1.33,CSH,6 +VTS,1,5,600,2.13,CSH,10 +VTS,1,5,480,1.33,CSH,7.5 +VTS,1,5,600,1.62,CRD,8.5 +VTS,1,1,180,0.63,CRD,4 +VTS,1,1,1500,2.67,CRD,17 +VTS,1,1,420,2.19,CRD,8.5 +VTS,1,1,720,1.17,CSH,8.5 +VTS,1,1,1260,7.71,CRD,24.5 +VTS,1,5,360,1.08,CSH,6 +VTS,1,5,1500,3.74,CRD,17.5 +VTS,1,5,540,1.1,CRD,8 +VTS,1,5,1020,1.16,CSH,11.5 +VTS,1,5,360,1.27,CRD,6 +VTS,1,5,600,1.44,CSH,8 +VTS,1,5,720,2.1,CRD,10 +VTS,1,5,300,0.65,CRD,5 +VTS,1,1,60,0,CRD,2.5 +VTS,1,1,1260,5.2,CRD,19 +VTS,1,1,540,3.55,CRD,12.5 +VTS,1,2,720,1.22,CSH,9 +VTS,1,2,180,0.7,CRD,4.5 +VTS,1,2,300,1.05,CSH,6 +VTS,1,1,480,1.8,CSH,8 +VTS,1,1,240,0.97,CRD,5 +VTS,1,1,720,2.18,CSH,10.5 +VTS,1,1,300,0.64,CSH,5 +VTS,1,1,420,0.66,CSH,5 +VTS,1,1,900,3.34,CRD,13 +VTS,2,1,60,0,CRD,52 +VTS,1,1,240,1.52,CRD,6.5 +VTS,1,1,540,1.84,CRD,9 +VTS,1,1,1440,3.78,CRD,17 +VTS,1,5,540,3.24,CSH,11.5 +VTS,1,5,1080,10.2,CRD,29 +VTS,1,5,600,2.34,CRD,9.5 +VTS,1,5,660,3.06,CSH,11.5 +VTS,1,5,960,3.14,CRD,13 +VTS,1,5,420,1.32,CSH,7 +VTS,1,5,1080,4.89,CRD,17 +VTS,1,5,780,6.67,CRD,20 +VTS,1,1,600,0.96,CRD,7.5 +VTS,1,1,600,0.99,CSH,7.5 +VTS,1,5,600,2.04,CSH,9 +VTS,1,5,600,1.36,CRD,8 +VTS,2,5,2340,17.16,CSH,52 +VTS,1,5,360,1.28,CRD,6 +VTS,1,5,1200,2.36,CRD,13.5 +VTS,1,5,1320,3.67,CRD,16.5 +VTS,1,5,1620,9.05,CRD,29 +VTS,1,1,180,1.02,CSH,5 +VTS,1,1,660,3.61,CRD,12.5 +VTS,1,2,540,1.41,CRD,7.5 +VTS,1,2,1260,9.84,CRD,29 +VTS,1,1,420,1.64,CSH,7.5 +VTS,1,1,1020,1.8,CSH,11 +VTS,1,5,300,0.97,CSH,5.5 +VTS,2,5,1680,17.52,CSH,52 +VTS,1,5,300,1.84,CSH,7 +VTS,1,5,480,1.27,CSH,7.5 +VTS,1,5,240,0.68,CRD,5 +VTS,1,5,180,0.71,CSH,4.5 +VTS,1,1,420,1.74,CRD,7.5 +VTS,1,1,660,2.58,CRD,10 +VTS,1,1,660,2.17,CRD,10 +VTS,1,1,1260,4.7,CRD,18 +VTS,1,5,600,1.63,CSH,9 +VTS,1,5,660,2.28,CRD,10 +VTS,1,5,2400,8.76,CRD,33 +VTS,1,5,840,2.24,CRD,10.5 +VTS,1,5,900,1.36,CRD,10 +VTS,1,5,180,0.47,CSH,4 +VTS,1,5,540,1.56,CRD,8 +VTS,1,5,720,2.05,CSH,10 +VTS,1,5,660,1.53,CRD,9 +VTS,1,5,1440,3.24,CSH,11.5 +VTS,2,1,2160,18.33,CRD,52 +VTS,1,2,360,0.79,CSH,6 +VTS,1,1,1020,2.48,CSH,12.5 +VTS,1,1,720,2.23,CSH,10 +VTS,1,1,600,2.71,CRD,10.5 +VTS,1,1,1140,8,CRD,24 +VTS,1,1,780,1.84,CSH,10 +VTS,1,1,540,0.86,CRD,7 +VTS,1,1,780,0.66,CSH,9 +VTS,1,1,600,1.2,CRD,8 +VTS,1,1,1380,2.18,CSH,15 +VTS,1,1,900,1.84,CRD,11 +VTS,1,2,480,1.18,CSH,7 +VTS,1,5,720,1.47,CRD,9.5 +VTS,1,5,720,2.73,CRD,11.5 +VTS,1,5,180,0.75,CSH,4.5 +VTS,1,5,180,0.53,CSH,4 +VTS,1,5,960,4.11,CSH,15.5 +VTS,1,5,480,1.12,CRD,7 +VTS,1,5,480,1.53,CSH,7.5 +VTS,1,5,480,2.33,CRD,9.5 +VTS,1,1,900,3.47,CRD,13.5 +VTS,1,1,600,2.01,CSH,9 +VTS,1,1,660,2.6,CSH,10.5 +VTS,1,1,960,2.17,CRD,11.5 +VTS,1,5,180,0.63,CSH,4.5 +VTS,1,5,1260,4.12,CRD,16 +VTS,4,5,1860,2.41,CSH,18 +VTS,1,1,780,2.14,CSH,11 +VTS,1,1,960,3.12,CSH,13 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,420,0.81,CSH,6 +VTS,1,1,780,1.87,CRD,10 +VTS,1,1,540,1.2,CRD,7.5 +VTS,1,1,1020,1.84,CRD,11.5 +VTS,1,1,420,1,CSH,6.5 +VTS,1,1,960,3.77,CSH,14 +VTS,1,1,360,0.87,CSH,6 +VTS,1,5,540,1.67,CRD,8 +VTS,1,5,360,1.37,CRD,6.5 +VTS,1,5,900,1.68,CRD,10 +VTS,1,5,780,1.15,CRD,9 +VTS,1,5,1200,3.19,CRD,15 +VTS,1,5,540,1.2,CSH,7.5 +VTS,1,5,840,2.92,CRD,12.5 +VTS,1,1,660,3.84,CSH,13.5 +VTS,1,1,480,1.88,CSH,8.5 +VTS,1,1,1500,3.14,CRD,17 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,600,2.02,CRD,9.5 +VTS,1,1,1140,3.46,CRD,16 +VTS,1,1,360,1.6,CSH,7.5 +VTS,1,1,540,1.86,CSH,8.5 +VTS,1,1,660,1.47,CRD,9 +VTS,1,1,120,0.52,CRD,3.5 +VTS,1,1,360,0.74,CSH,5 +VTS,1,1,360,1.27,CSH,6.5 +VTS,1,1,900,8.58,CRD,24.5 +VTS,1,2,900,1.46,CRD,10 +VTS,1,2,600,1.4,CRD,8 +VTS,1,1,360,1.39,CSH,6 +VTS,1,1,600,2.92,CSH,10.5 +VTS,1,1,540,1.79,CRD,8 +VTS,1,1,420,1.46,CRD,7.5 +VTS,1,1,780,2.36,CSH,11.5 +VTS,1,1,300,0.71,CRD,5.5 +VTS,1,1,300,0.65,CRD,5 +VTS,1,1,600,0.82,CSH,7.5 +VTS,1,1,480,0.89,CRD,7 +VTS,1,1,900,4.57,CRD,16 +VTS,1,5,240,0.72,CRD,4.5 +VTS,1,5,1260,2.79,CSH,15 +VTS,1,5,720,1.41,CRD,8.5 +VTS,1,5,420,0.61,CRD,6 +VTS,1,1,780,2.11,CRD,10 +VTS,1,1,960,2.87,CRD,13 +VTS,1,1,180,0.52,CSH,4.5 +VTS,1,1,660,2.78,CRD,10.5 +VTS,1,1,720,2.08,CRD,10 +VTS,1,1,840,2.11,CRD,11 +VTS,1,1,1260,2.33,CRD,15 +VTS,1,1,300,0.92,CSH,5.5 +VTS,1,1,840,2.23,CRD,11.5 +VTS,1,1,600,1.48,CRD,8.5 +VTS,1,5,1200,3.42,CRD,14.5 +VTS,1,5,540,1.77,CRD,8.5 +VTS,1,1,120,0.49,CRD,4 +VTS,1,1,1020,2.25,CSH,12.5 +VTS,1,1,240,0.82,CRD,5 +VTS,1,1,660,2.05,CRD,9 +VTS,1,1,1200,2.75,CRD,14 +VTS,1,1,720,1.82,CRD,10 +VTS,1,1,660,1.78,CSH,9.5 +VTS,1,1,1080,2.1,CRD,12.5 +VTS,1,1,1140,2.87,CRD,14 +VTS,1,1,480,1.28,CSH,7 +VTS,1,1,900,3,CSH,12.5 +VTS,1,1,480,2.53,CSH,9.5 +VTS,1,1,120,0.8,CRD,4.5 +VTS,1,1,420,1.13,CSH,6 +VTS,1,1,2880,6.2,CSH,30.5 +VTS,1,1,1200,1.49,CRD,13 +VTS,1,1,360,0.77,CRD,6 +VTS,1,1,1380,3.51,CSH,17 +VTS,1,1,360,0.78,CSH,6 +VTS,1,1,300,1.62,CRD,7 +VTS,1,1,360,1,CSH,6 +VTS,1,1,660,4.09,CRD,14 +VTS,1,5,840,2.66,CRD,12 +VTS,1,5,1620,7.02,CSH,24.5 +VTS,1,1,480,1.04,CSH,7 +VTS,1,1,780,4.19,CRD,14.5 +VTS,4,5,1620,2.5,CRD,16 +VTS,4,5,360,0.82,CSH,5 +VTS,1,5,780,2.78,CSH,12 +VTS,1,5,660,2.56,CRD,10.5 +VTS,1,5,480,1.14,CSH,7.5 +VTS,1,5,2160,4.36,CRD,24 +VTS,1,1,600,1.72,CRD,8 +VTS,1,1,1860,5.61,CRD,23 +VTS,1,1,300,1.38,CSH,6 +VTS,1,1,420,1.34,CRD,7 +VTS,1,1,360,0.84,CRD,5.5 +VTS,1,1,240,0.79,CSH,5 +VTS,1,1,180,0.58,CRD,4.5 +VTS,1,1,540,1.48,CSH,8 +VTS,1,1,660,2.23,CRD,10 +VTS,1,1,180,0.68,CSH,4.5 +VTS,1,1,1500,6.58,CSH,22 +VTS,1,1,420,1.96,CRD,8 +VTS,1,1,360,1.99,CRD,8 +VTS,3,1,2340,16.39,CRD,66 +VTS,1,5,1860,6.61,CSH,24.5 +VTS,1,5,1380,7.14,CRD,22.5 +VTS,1,5,960,3.56,CRD,14.5 +VTS,1,5,780,3.59,CSH,13 +VTS,1,1,660,3.18,CRD,12 +VTS,1,1,540,0.94,CRD,7 +VTS,1,1,240,1.12,CSH,5.5 +VTS,1,1,540,1.48,CSH,8 +VTS,1,1,300,0.55,CSH,5 +VTS,1,1,180,0.3,CSH,3.5 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,420,1.27,CRD,6.5 +VTS,1,1,840,3.57,CRD,13 +VTS,1,1,480,0.92,CSH,6.5 +VTS,1,1,900,3.71,CRD,14.5 +VTS,1,1,900,3.76,CSH,14.5 +VTS,1,1,420,1.85,CRD,7.5 +VTS,1,1,1020,11.39,CRD,31 +VTS,1,1,420,1.85,CRD,8 +VTS,1,1,1500,3.87,CSH,18.5 +VTS,1,1,720,2.48,CSH,9 +VTS,1,1,780,4.53,CSH,14.5 +VTS,1,1,420,1.69,CRD,7.5 +VTS,1,1,300,0.97,CRD,5.5 +VTS,1,1,840,2.79,CRD,13 +VTS,1,1,660,1.01,CSH,8 +VTS,1,1,720,1.64,CRD,9.5 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,300,1.43,CSH,6.5 +VTS,1,1,360,1.48,CRD,7 +VTS,1,1,780,1.65,CRD,10 +VTS,1,5,600,4.4,CSH,13.5 +VTS,1,4,780,1.39,CRD,8 +VTS,1,5,1680,4.94,CRD,20.5 +VTS,1,5,1500,0.82,CSH,15.5 +VTS,1,2,1020,2.61,CSH,12.5 +VTS,1,1,720,2.62,CRD,11.5 +VTS,1,1,540,2.34,CRD,9 +VTS,1,1,480,1.71,CSH,8 +VTS,1,1,540,1.89,CRD,8.5 +VTS,1,1,1080,3.01,CRD,14.5 +VTS,1,1,240,1.32,CRD,6 +VTS,1,1,300,0.73,CSH,5 +VTS,1,1,480,1.08,CRD,6.5 +VTS,1,1,360,1.57,CSH,7.5 +VTS,1,1,180,0.54,CSH,4 +VTS,1,1,1140,3.59,CRD,15 +VTS,1,1,660,1.66,CRD,9.5 +VTS,1,1,960,1.71,CRD,11 +VTS,1,1,240,0.88,CSH,5 +VTS,1,1,60,0.28,CSH,3 +VTS,1,1,900,1.69,CRD,11 +VTS,1,1,420,1.27,CRD,7 +VTS,1,1,300,0.48,CRD,5 +VTS,1,1,1320,5.39,CSH,20.5 +VTS,1,1,600,1.75,CSH,9 +VTS,1,1,480,1.22,CSH,7 +VTS,1,1,180,0.55,CSH,4.5 +VTS,1,1,1080,3.69,CRD,15 +VTS,1,1,660,3.39,CSH,12.5 +VTS,1,1,360,0.65,CSH,5.5 +VTS,1,1,360,0.6,CRD,5.5 +VTS,1,1,900,2.42,CRD,12 +VTS,1,5,540,1.33,CSH,7.5 +VTS,1,5,420,1.4,CRD,6.5 +VTS,1,5,1020,1.68,CRD,11.5 +VTS,1,5,540,2.95,CSH,11 +VTS,1,5,480,0.94,CRD,6.5 +VTS,1,5,240,0.77,CSH,5 +VTS,1,1,1080,3.72,CSH,14.5 +VTS,1,1,300,0.7,CSH,5 +VTS,1,1,360,1.34,CSH,6.5 +VTS,1,1,480,1.8,CRD,8.5 +VTS,1,1,420,1.14,CSH,6.5 +VTS,1,1,720,2.03,CRD,10 +VTS,1,1,360,0.73,CRD,5.5 +VTS,1,1,1080,3.51,CRD,15 +VTS,1,1,2040,5.87,CRD,25.5 +VTS,1,1,2220,8.07,CSH,30.5 +VTS,1,1,780,3.36,CRD,12.5 +VTS,1,1,420,2.44,CSH,9 +VTS,1,1,540,2.27,CSH,8.5 +VTS,1,1,480,0.97,CSH,6.5 +VTS,1,1,480,1.37,CSH,7.5 +VTS,1,1,1200,2.9,CSH,14.5 +VTS,1,1,240,0.37,CSH,4.5 +VTS,1,1,900,2.64,CSH,11.5 +VTS,1,1,540,2.48,CSH,10 +VTS,1,1,960,3.05,CSH,12 +VTS,1,1,480,1.89,CSH,7.5 +VTS,1,1,780,2.34,CRD,10.5 +VTS,1,1,300,1.06,CSH,5.5 +VTS,2,1,60,0,CSH,52 +VTS,2,1,120,0.01,CSH,52 +VTS,1,1,300,0.67,CSH,5 +VTS,1,1,480,2.25,CRD,9.5 +VTS,1,1,300,1.06,CSH,6.5 +VTS,1,1,600,2.04,CSH,9.5 +VTS,1,1,180,0.88,CSH,4.5 +VTS,1,1,480,1.35,CSH,7.5 +VTS,1,1,1560,11.56,CRD,34 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,1,60,0.16,CRD,3 +VTS,1,1,600,0.69,CSH,7.5 +VTS,1,1,1200,2.11,CRD,13 +VTS,1,1,360,0.37,CSH,5.5 +CMT,1,1,490,1.3,CSH,7.5 +CMT,1,1,450,2.3,CSH,9.5 +VTS,1,1,480,0.98,CRD,6.5 +VTS,1,1,420,0.91,CRD,6.5 +VTS,1,1,420,0.77,CSH,6 +VTS,1,1,720,2.42,CSH,10.5 +VTS,1,1,600,1.4,CSH,7 +VTS,1,1,360,1.47,CRD,6.5 +VTS,1,1,1380,3.03,CRD,16.5 +VTS,1,1,420,1.21,CSH,6.5 +VTS,1,1,420,0.87,CRD,6.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,360,1.85,CSH,8 +VTS,1,1,1680,7.02,CSH,24 +VTS,1,1,600,2.35,CRD,10 +VTS,1,1,660,2.25,CSH,10.5 +VTS,1,1,420,1.29,CRD,6.5 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,600,2.29,CSH,10 +VTS,1,1,300,0.8,CRD,5 +VTS,1,1,240,0.47,CSH,4.5 +VTS,1,1,720,3.45,CRD,13 +VTS,1,2,1380,5.54,CSH,20.5 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,300,0.37,CRD,4.5 +VTS,1,2,360,0.68,CRD,5 +VTS,1,1,1080,6.55,CSH,21.5 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,360,0.73,CRD,5 +VTS,1,1,180,0.56,CSH,4.5 +VTS,1,1,540,1.29,CSH,7.5 +VTS,1,1,660,1.87,CSH,9 +VTS,1,1,780,2.55,CSH,11.5 +VTS,1,1,900,4.37,CRD,15.5 +VTS,1,1,540,2.13,CRD,9 +VTS,1,1,420,1.21,CRD,6.5 +VTS,1,1,1080,3.85,CSH,15.5 +VTS,1,1,3540,15.28,CRD,50.5 +VTS,1,1,600,1.1,CRD,8 +VTS,1,1,900,1.89,CRD,10.5 +VTS,1,1,1080,2.47,CRD,13.5 +VTS,1,1,420,1.15,CSH,7 +VTS,1,1,1020,3.8,CRD,15 +VTS,1,1,1560,6.48,CRD,23.5 +VTS,1,1,840,1.8,CRD,10.5 +VTS,1,1,420,1.2,CSH,6.5 +VTS,1,5,180,0.85,CRD,4.5 +VTS,1,5,240,0.56,CSH,4 +VTS,1,5,540,1.76,CRD,8.5 +VTS,1,5,420,1.43,CRD,7.5 +VTS,1,1,300,0.59,CRD,5 +VTS,1,1,1260,2.67,CRD,14 +VTS,1,1,480,1.3,CRD,7 +VTS,1,1,360,0.97,CSH,5.5 +VTS,1,1,300,1.93,CRD,7.5 +VTS,1,1,540,2.04,CRD,8.5 +VTS,1,1,420,1.4,CSH,7.5 +VTS,1,1,420,1.62,CSH,7.5 +VTS,1,5,480,2.2,CRD,8.5 +VTS,1,5,660,1.01,CRD,8.5 +VTS,1,5,540,1.79,CSH,8.5 +VTS,1,5,240,0.75,CRD,4.5 +VTS,1,1,480,1.02,CRD,6.5 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,360,0.78,CSH,6 +VTS,1,1,600,1.21,CSH,7.5 +VTS,4,1,120,0.14,CSH,4.5 +VTS,1,1,480,0.52,CSH,6.5 +VTS,1,1,420,1.41,CSH,7 +VTS,1,1,1080,7.29,CRD,22 +VTS,1,1,780,2.35,CRD,11 +VTS,1,1,1140,5.74,CSH,21 +VTS,1,1,420,1.25,CSH,7 +VTS,1,3,720,1.37,CRD,9 +VTS,1,1,480,1.39,CSH,7.5 +VTS,1,1,840,2.81,CRD,12.5 +VTS,1,1,720,1.55,CRD,9.5 +VTS,1,1,480,1.13,CSH,7 +CMT,1,1,467,1.2,CSH,7 +CMT,1,1,891,3.8,CSH,14 +VTS,1,1,720,3.92,CRD,13.5 +VTS,1,1,120,0.23,CRD,3 +VTS,1,1,600,1.64,CRD,9 +VTS,1,1,960,1.43,CRD,11.5 +VTS,1,1,480,1.18,CRD,7.5 +VTS,1,5,600,2.62,CRD,10.5 +VTS,2,5,1560,19.06,CRD,52 +VTS,1,5,480,1.62,CRD,8 +VTS,1,5,480,1.58,CSH,8 +VTS,1,1,180,0.77,CSH,4.5 +VTS,1,1,960,3.26,CSH,14.5 +VTS,1,1,540,1.35,CSH,8 +VTS,1,1,1140,3.36,CRD,14.5 +VTS,1,5,360,0.65,CSH,5.5 +VTS,1,5,1200,1.72,CRD,13 +VTS,1,5,840,5.59,CSH,18 +VTS,1,5,300,0.76,CRD,5.5 +VTS,1,5,780,1.69,CSH,9.5 +VTS,1,5,480,1.14,CSH,7 +VTS,1,5,360,1,CSH,6 +VTS,1,5,780,1.44,CSH,10 +VTS,1,1,480,1.64,CRD,7.5 +VTS,1,2,780,1.45,CRD,9.5 +VTS,1,1,420,1.87,CSH,8 +VTS,1,2,780,2,CSH,10.5 +VTS,1,2,180,0.41,CSH,4 +VTS,1,1,240,0.98,CRD,5 +VTS,1,1,1260,13.92,CRD,37.5 +VTS,1,1,720,3.46,CRD,13 +VTS,1,1,1500,6.9,CSH,25.5 +VTS,1,1,660,2.07,CRD,9.5 +VTS,1,1,840,2.43,CRD,11 +VTS,1,1,360,0.9,CSH,6 +VTS,1,1,360,1.05,CSH,6 +CMT,1,1,540,2.1,CRD,8.5 +CMT,1,1,534,1.9,CSH,9 +CMT,1,1,490,2.1,CRD,8.5 +CMT,1,1,732,3.1,CSH,11.5 +CMT,1,1,546,1.6,CSH,8.5 +CMT,1,1,466,1.6,CRD,8 +CMT,1,1,627,2.2,CSH,10 +CMT,1,1,629,1.9,CRD,9.5 +CMT,1,1,357,1.6,CSH,7.5 +CMT,1,1,1174,5.8,CSH,20.5 +CMT,1,1,451,1.3,CSH,7 +CMT,1,2,1016,9.9,CRD,27.5 +CMT,1,1,359,1.5,CSH,7 +CMT,1,1,752,2.7,CSH,11.5 +CMT,1,1,771,2.6,CSH,11.5 +CMT,1,1,868,1.7,CSH,11 +CMT,1,1,1515,8.6,CSH,28 +CMT,1,1,632,2.6,CSH,10.5 +VTS,1,1,480,1.58,CRD,7.5 +VTS,1,1,600,1.49,CSH,8 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,1,60,0.36,CSH,3 +VTS,1,1,780,2.56,CRD,11.5 +VTS,1,1,420,0.53,CSH,6 +VTS,1,1,360,0.66,CSH,5.5 +VTS,1,1,1020,2.49,CRD,12.5 +VTS,2,1,1860,19.91,CRD,52 +VTS,1,1,660,2.22,CRD,9.5 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,660,1.87,CRD,9.5 +VTS,2,1,2400,17.41,CRD,52 +VTS,1,5,540,2.32,CSH,9.5 +VTS,1,5,360,1.41,CRD,7 +VTS,1,1,720,1.09,CRD,9 +VTS,1,1,1680,3.05,CRD,15.5 +VTS,1,1,540,1.54,CRD,8 +VTS,1,1,240,0.63,CSH,4.5 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,1,660,1.7,CRD,9.5 +VTS,1,1,1560,4,CRD,18 +VTS,1,1,780,1.05,CRD,8.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,720,1.27,CRD,8.5 +VTS,1,1,300,1.01,CSH,6 +CMT,1,1,1082,1.1,CRD,11.5 +CMT,1,1,345,0.7,CSH,6 +CMT,1,1,527,1.5,CSH,8 +CMT,1,1,704,2.1,CRD,10 +CMT,1,2,479,0.7,CSH,6.5 +CMT,1,1,493,2.8,CSH,10.5 +CMT,1,1,182,0.6,CSH,4.5 +CMT,1,2,858,5.5,CSH,18 +CMT,1,1,664,2.3,CSH,10.5 +CMT,1,1,432,2,CSH,8.5 +CMT,1,1,386,0.4,CSH,5.5 +CMT,1,1,240,0.7,CSH,5 +CMT,1,1,246,0.4,CRD,4.5 +CMT,1,1,658,1.6,CSH,9 +CMT,2,1,2146,21.5,CRD,52 +CMT,1,1,1052,7.4,CRD,23 +CMT,1,1,345,1.1,CSH,6.5 +CMT,1,1,618,1.8,CSH,9 +CMT,1,1,305,1.3,CSH,6.5 +CMT,1,1,1277,4.3,CRD,18 +CMT,1,1,292,0.4,CRD,5 +CMT,1,1,231,0.5,CSH,4.5 +CMT,1,1,452,1.3,CRD,7.5 +CMT,1,1,670,2.3,CSH,10 +CMT,1,1,722,3.2,CRD,12 +CMT,1,1,1685,1.3,CRD,17 +VTS,1,5,180,0.78,CRD,4.5 +VTS,1,5,780,1.15,CRD,7.5 +VTS,1,5,900,2.17,CRD,11.5 +VTS,1,5,1860,5.93,CRD,24 +VTS,1,5,960,4.39,CSH,16 +VTS,4,1,240,0.36,CSH,4.5 +VTS,1,1,360,0.48,CRD,5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,540,2.32,CSH,10 +VTS,1,1,840,3.22,CSH,12.5 +VTS,1,1,300,1.04,CRD,6 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,480,1.31,CSH,7.5 +VTS,1,1,360,0.74,CRD,5.5 +VTS,1,1,480,1.06,CSH,6.5 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,900,1.72,CRD,10.5 +CMT,1,1,404,1.6,CRD,8 +CMT,1,1,292,1,CRD,6 +CMT,1,1,138,0.6,CSH,4.5 +CMT,1,1,110,0.5,CRD,4 +CMT,1,1,752,6.8,CSH,20.5 +CMT,1,3,842,2.1,CSH,11 +CMT,1,2,442,0.5,CRD,6.5 +CMT,1,4,812,3.1,CSH,12.5 +CMT,2,1,3473,18.3,CRD,52 +VTS,1,1,660,1.4,CSH,8.5 +CMT,1,1,327,1.4,CRD,6.5 +CMT,1,1,181,0.4,CSH,4 +CMT,1,1,273,1,CRD,5.5 +CMT,1,1,1128,4.7,CRD,17 +CMT,1,1,1072,3.6,CSH,15 +CMT,1,1,1032,3.8,CSH,16 +CMT,1,1,286,0.7,CSH,5.5 +CMT,1,1,841,2.6,CSH,11.5 +CMT,1,1,545,1.6,CSH,8.5 +CMT,1,1,507,2.7,CRD,10 +CMT,1,1,1172,5.2,CRD,19 +CMT,1,1,355,1.1,CSH,6 +CMT,1,1,515,2.9,CSH,11 +CMT,1,1,768,3,CSH,12.5 +CMT,1,1,216,1,CRD,5.5 +CMT,1,1,581,0.8,CSH,7.5 +CMT,1,1,1016,3,CRD,14 +CMT,1,1,438,0.9,CSH,6.5 +CMT,1,1,886,5.7,CRD,18.5 +CMT,1,1,124,0.5,CSH,4 +CMT,1,1,273,0.5,CSH,5 +CMT,1,2,965,8.7,CSH,25.5 +CMT,1,1,297,1.5,CSH,6.5 +CMT,1,1,151,0.6,CSH,4.5 +CMT,1,1,476,1.6,CRD,8 +VTS,1,1,1620,4.27,CRD,20 +VTS,1,1,300,1.31,CRD,6.5 +VTS,1,1,60,0,CSH,2.5 +VTS,3,1,0,0,CSH,20 +VTS,1,1,1440,6.32,CRD,22.5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,1140,4.79,CRD,17.5 +VTS,1,1,840,3.17,CRD,13.5 +VTS,1,1,660,1.93,CRD,9.5 +VTS,1,1,300,1.36,CSH,6.5 +VTS,1,1,360,0.64,CSH,5.5 +VTS,1,1,1560,10.63,CRD,32.5 +VTS,1,1,1380,10.12,CSH,31.5 +VTS,1,1,420,1.64,CRD,7.5 +VTS,1,1,840,1.58,CRD,10 +CMT,1,1,1485,3.5,CRD,17 +CMT,1,1,288,1.3,CSH,6.5 +CMT,1,1,402,0.9,CSH,6.5 +CMT,1,1,563,1.6,CSH,8.5 +CMT,1,1,608,0.7,CRD,7.5 +CMT,1,1,1813,10.1,CSH,33.5 +CMT,1,1,929,5.5,CRD,17 +CMT,1,1,1003,7.1,CRD,22.5 +CMT,1,1,399,2.4,CSH,9.5 +CMT,1,1,5,0,NOC,2.5 +CMT,1,1,979,1.2,CSH,11.5 +CMT,1,1,668,2.3,CSH,10.5 +CMT,1,1,514,1.4,CSH,7.5 +CMT,1,1,950,2.3,CSH,12 +CMT,1,1,1005,2.3,CRD,12.5 +CMT,1,1,356,0.7,CRD,6 +CMT,1,1,418,1.3,CRD,7 +CMT,1,1,1060,3.6,CSH,14.5 +CMT,1,1,360,2.1,CSH,8 +CMT,1,2,1899,9.1,CRD,31.5 +CMT,1,1,239,0.6,CSH,5 +CMT,2,1,710,3.6,CSH,52 +CMT,1,1,347,0.8,CSH,5.5 +CMT,1,1,563,2.4,CSH,9.5 +CMT,1,1,239,1.4,CSH,6 +CMT,1,1,324,0.9,CSH,6 +CMT,1,1,1602,11.7,CRD,34.5 +CMT,1,1,477,1.3,CSH,7.5 +CMT,1,1,670,2.5,CRD,10.5 +CMT,1,2,330,0.9,CSH,6 +CMT,1,3,530,1.5,CRD,8 +CMT,1,3,763,2.2,CSH,10.5 +CMT,1,1,1030,10,CRD,28.5 +CMT,1,1,614,1.6,CRD,8.5 +CMT,1,1,304,1,CRD,6 +CMT,1,1,223,1,CSH,5.5 +CMT,1,1,567,1.9,CSH,9 +VTS,1,1,480,1.55,CSH,8 +VTS,1,1,1380,4.83,CRD,19.5 +VTS,1,1,720,1.32,CSH,9.5 +VTS,1,1,1020,4.03,CRD,16 +VTS,1,2,1200,4.22,CRD,16.5 +VTS,1,1,1140,5.86,CRD,19 +VTS,1,1,720,1.85,CSH,10 +VTS,1,1,2760,5.63,CSH,28.5 +VTS,1,1,420,0.71,CSH,6.5 +VTS,1,1,300,0.6,CSH,5 +CMT,1,1,998,2.6,CRD,12.5 +CMT,1,1,545,1.3,CRD,8 +CMT,1,1,973,5.7,CRD,19.5 +CMT,1,1,322,1.8,CRD,8 +CMT,1,1,358,1.2,CSH,6.5 +CMT,1,1,531,1.1,CSH,7.5 +CMT,1,1,276,1.1,CRD,6 +CMT,1,1,1129,4,CRD,16.5 +CMT,1,1,594,1.7,CSH,9 +CMT,1,1,722,2.7,CRD,11 +CMT,1,1,502,1.5,CRD,7.5 +CMT,1,1,810,4.7,CSH,16 +CMT,1,1,525,1.4,CRD,8 +CMT,1,1,140,1.1,CRD,5 +CMT,1,1,486,0.9,CSH,7 +CMT,1,1,383,1.3,CSH,7 +CMT,1,1,381,1.3,CRD,6.5 +CMT,1,1,579,1.8,CRD,9 +CMT,1,1,935,2.2,CSH,12 +CMT,1,1,837,1,CSH,9.5 +CMT,1,1,502,1.6,CSH,8.5 +CMT,1,1,411,0.8,CRD,6 +CMT,1,1,277,1.2,CRD,6 +CMT,1,1,272,0.6,CRD,5 +CMT,1,1,663,1.1,CRD,8.5 +CMT,1,1,405,0.8,CRD,6 +CMT,1,1,168,0.4,CSH,4 +CMT,1,1,600,2,CRD,9 +CMT,1,1,637,1.5,CRD,8.5 +CMT,1,1,304,0.7,CRD,5.5 +CMT,1,1,217,1.2,CSH,5.5 +CMT,1,2,1601,9.9,CSH,31 +CMT,1,2,691,2.1,CRD,10 +CMT,1,1,1751,11,CRD,33 +CMT,1,1,464,1.7,CSH,8.5 +CMT,1,1,387,1.1,CRD,6.5 +CMT,1,1,279,0.8,CSH,5.5 +CMT,1,1,641,1.9,CRD,10 +CMT,1,1,308,0.9,CSH,5.5 +CMT,1,1,586,1.8,CSH,9 +CMT,1,1,369,1.3,CSH,6.5 +CMT,1,1,520,1.6,CSH,8.5 +VTS,1,1,360,1.83,CRD,7.5 +VTS,1,1,1140,2.9,CRD,14 +VTS,1,1,720,1.56,CSH,9 +VTS,1,1,1260,3.66,CRD,16 +VTS,1,2,900,1.47,CSH,10.5 +VTS,1,2,480,1.18,CRD,7 +VTS,1,2,780,2.04,CSH,10.5 +VTS,1,1,1080,4.77,CSH,16.5 +VTS,1,5,1200,3.03,CSH,15 +VTS,1,5,360,0.66,CSH,5.5 +VTS,1,5,120,0.5,CRD,3.5 +VTS,1,5,600,1.71,CSH,8.5 +VTS,1,5,900,5.15,CRD,17.5 +VTS,1,5,840,1.35,CRD,10 +VTS,1,5,540,1.42,CRD,7.5 +VTS,1,1,540,1.44,CSH,8 +VTS,1,1,60,0.1,CSH,2.5 +VTS,1,1,360,0.66,CSH,5.5 +VTS,1,1,300,1.05,CRD,6 +VTS,1,1,480,1.35,CSH,7 +VTS,1,1,1440,3.07,CSH,16.5 +VTS,1,1,300,0.61,CSH,5 +VTS,1,1,180,0.48,CRD,4 +VTS,1,1,540,1.41,CSH,7.5 +VTS,1,1,360,0.91,CRD,6 +VTS,1,1,420,1.35,CRD,7 +VTS,1,1,420,1.75,CRD,7.5 +VTS,1,1,360,1.02,CSH,6.5 +VTS,1,1,120,0.85,CRD,4.5 +VTS,1,1,840,4.36,CSH,15 +VTS,1,1,960,9.05,CRD,25.5 +VTS,1,1,600,2.74,CRD,10.5 +VTS,1,1,540,1.91,CRD,8.5 +VTS,1,1,1260,9.1,CRD,27 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,240,0.35,CRD,4.5 +VTS,1,1,480,0.91,CRD,6.5 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,5,660,1.96,CSH,9.5 +VTS,1,5,840,3.9,CSH,14 +VTS,1,5,960,3.67,CRD,14.5 +VTS,1,1,1260,2.8,CSH,15 +VTS,1,1,420,1.39,CSH,7 +VTS,1,1,660,1.3,CRD,8 +VTS,1,1,420,1.15,CRD,6.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,540,2.03,CSH,8.5 +VTS,1,1,1140,2.35,CRD,13 +VTS,1,1,1020,8.68,CSH,25 +VTS,1,1,1320,6.68,CRD,23 +VTS,1,1,180,0.59,CSH,4.5 +VTS,1,1,240,0.98,CSH,5 +CMT,1,2,23,0,DIS,2.5 +CMT,1,1,668,2.7,CRD,11 +CMT,1,1,625,2.6,CSH,10.5 +CMT,1,3,250,0.6,CSH,5 +CMT,1,1,1111,8.6,CSH,26 +CMT,1,1,1723,5.5,CSH,23 +CMT,1,1,464,1.4,CSH,7 +CMT,1,1,890,4.1,CRD,14.5 +CMT,1,1,749,3.2,CSH,13 +CMT,1,1,417,2.6,CSH,9.5 +CMT,1,1,829,2.8,CSH,12 +CMT,1,1,577,2,CSH,9 +CMT,1,1,1176,3.3,CSH,15 +CMT,1,1,700,3.5,CRD,13 +CMT,1,1,666,3.1,CSH,12.5 +CMT,1,1,1125,4.1,NOC,16 +CMT,1,1,1118,1.4,CSH,7 +CMT,1,1,807,4,CSH,14 +CMT,1,1,144,0.6,CRD,4 +CMT,1,1,1151,6.2,CRD,20.5 +CMT,1,1,1427,10.9,CSH,32 +CMT,1,1,373,1.6,CRD,7 +CMT,1,1,1349,7.8,CSH,26 +CMT,1,1,478,1.9,CSH,8.5 +CMT,1,1,665,5.5,CRD,17.5 +CMT,1,1,657,2.8,CRD,11 +CMT,1,1,578,0.8,CRD,7.5 +CMT,1,1,622,2.1,CRD,9.5 +CMT,1,1,960,3,CRD,13.5 +CMT,1,1,745,2.1,CRD,10.5 +CMT,1,1,588,1.6,CSH,8.5 +CMT,1,1,654,2,CSH,9.5 +CMT,1,3,492,1.7,CRD,8.5 +CMT,2,1,2086,17.4,CSH,52 +CMT,1,2,289,0.9,CRD,5.5 +CMT,1,2,1175,4.4,CSH,16.5 +CMT,1,1,712,3,CRD,12.5 +CMT,1,1,1078,8.5,CRD,25.5 +CMT,1,1,314,1.1,CRD,6 +CMT,1,1,457,3.4,CRD,11.5 +CMT,1,1,138,0.4,CSH,3.5 +CMT,1,1,1609,9.1,CSH,27.5 +CMT,1,1,676,2.2,CRD,10 +CMT,1,1,408,2.3,CRD,8.5 +CMT,1,1,739,3.5,CRD,13 +CMT,1,1,855,2.4,CRD,11.5 +CMT,1,1,752,1.6,CSH,9.5 +CMT,1,1,662,2.8,CRD,11 +CMT,1,1,539,1.4,CRD,8 +CMT,1,1,1133,10.7,CRD,30.5 +CMT,1,1,1078,4.1,CRD,16 +CMT,1,1,445,1.5,CRD,7.5 +CMT,1,1,347,1.3,CRD,6.5 +CMT,1,1,998,2.2,CSH,12.5 +CMT,1,1,464,0.8,CSH,6.5 +CMT,1,1,339,0.9,CSH,6 +CMT,1,1,646,7.8,CSH,22.5 +CMT,1,1,536,1.6,CSH,8 +CMT,1,1,277,0.6,CRD,5 +CMT,1,1,277,0.4,CSH,5 +CMT,1,1,1012,4.5,CSH,17 +CMT,1,1,133,0.7,CRD,4.5 +CMT,1,1,564,2.1,CRD,9.5 +CMT,1,2,606,1.5,CSH,8.5 +CMT,1,3,632,1.7,CSH,9 +CMT,1,1,1740,7.4,CSH,26.5 +CMT,1,1,1602,7.9,CSH,27 +CMT,1,1,703,2.8,CRD,12 +CMT,1,1,1362,5.4,CRD,21 +CMT,1,1,454,1.7,CSH,8 +CMT,1,1,928,4.6,CRD,17 +CMT,1,1,326,1.2,CSH,6.5 +CMT,1,1,1141,3.2,CRD,14.5 +CMT,1,1,484,1.9,CRD,8 +CMT,1,1,345,1.5,CRD,7 +CMT,1,1,552,1.6,CRD,8.5 +CMT,1,1,1496,6.9,CRD,23 +CMT,1,1,800,4.9,CSH,16 +CMT,1,1,1018,2.7,CSH,13 +CMT,1,1,172,0.6,CSH,4 +CMT,1,1,699,1.8,CRD,9.5 +CMT,1,1,451,1,CRD,6.5 +CMT,1,1,238,0.7,CSH,5 +CMT,1,1,544,2.5,CSH,10.5 +CMT,1,1,346,1.6,CSH,7.5 +CMT,1,1,467,1,CSH,7 +CMT,1,1,2967,10.2,CSH,39 +CMT,1,1,221,1,CSH,5.5 +CMT,1,1,922,2.4,CSH,12 +CMT,1,1,1011,2.9,CSH,14 +CMT,1,1,1039,4.4,CSH,16.5 +CMT,1,1,1325,5.9,CSH,21 +CMT,1,1,329,0.8,CSH,5.5 +CMT,1,1,239,0.6,CSH,4.5 +CMT,1,1,402,1.3,CSH,7 +CMT,1,1,594,2.3,CSH,10 +CMT,1,1,316,0.8,CRD,5.5 +CMT,1,1,286,0.7,CSH,5 +CMT,1,1,885,5.1,CRD,17 +CMT,1,1,72,0.2,CSH,3 +CMT,1,1,1247,7.6,CRD,24.5 +CMT,1,1,1106,3.8,CRD,16 +CMT,1,1,453,2.5,CSH,9.5 +CMT,1,1,102,0.5,CRD,4 +CMT,1,1,946,2.8,CRD,12.5 +CMT,1,1,199,0.5,CSH,4.5 +CMT,1,1,2964,18.5,CRD,57 +CMT,1,1,805,1.6,CRD,10 +CMT,1,1,214,1.2,CRD,5.5 +CMT,1,1,763,2.4,CRD,11 +CMT,1,1,492,2.4,CSH,9.5 +CMT,1,1,1135,6,CSH,20 +CMT,1,1,605,1.9,CSH,9.5 +CMT,1,1,1027,2.9,CRD,14 +CMT,1,1,431,1.4,CSH,7.5 +CMT,1,1,250,0.9,CRD,5 +CMT,1,1,902,6.5,CRD,20 +CMT,1,1,277,1,CRD,5.5 +CMT,1,1,635,3.7,CSH,13 +CMT,1,1,1068,5.2,CSH,18.5 +CMT,1,1,1729,2.2,CRD,9.5 +CMT,1,1,1261,5.7,CSH,20 +CMT,1,1,632,1.4,CRD,8.5 +CMT,1,1,389,1.4,CRD,7 +CMT,1,1,189,0.5,CRD,4.5 +CMT,1,1,288,1,CRD,5.5 +CMT,1,1,411,0.6,CSH,6 +CMT,1,1,156,0.4,CSH,3.5 +CMT,1,1,257,0.9,CSH,5.5 +CMT,1,1,1668,6.8,CRD,25 +CMT,1,1,350,1,CSH,6 +CMT,1,1,172,0.4,CSH,4 +CMT,1,1,961,3.6,CSH,13.5 +CMT,1,1,240,1,CSH,5 +CMT,1,1,450,1.8,CRD,8 +CMT,1,1,326,1,CSH,6 +CMT,1,1,281,1.2,CSH,6 +CMT,1,1,340,1.1,CRD,6 +CMT,1,1,431,1,CRD,7 +CMT,1,1,785,3.3,CSH,13.5 +CMT,1,1,1031,6.6,CRD,21 +CMT,1,1,399,2.5,CSH,9 +CMT,1,1,142,0.9,CSH,4.5 +CMT,1,1,467,1.7,CSH,8 +CMT,1,1,1762,10.8,CRD,34.5 +CMT,1,1,739,2.8,CRD,12 +CMT,1,1,524,0.7,CRD,7 +CMT,1,1,1124,3.9,CRD,15.5 +CMT,1,1,369,1.4,CRD,7 +CMT,1,1,631,2.3,CSH,10 +CMT,1,1,883,5,CRD,16.5 +CMT,1,1,1139,7.2,CSH,22.5 +CMT,1,1,276,0.3,CSH,4.5 +CMT,1,1,644,2.2,CRD,10 +CMT,1,1,901,2.5,CSH,12.5 +CMT,1,1,205,1.1,CRD,5.5 +CMT,4,1,1928,20.2,CRD,56.5 +CMT,1,1,373,3.1,CRD,10.5 +CMT,1,2,1559,8.6,CSH,28.5 +CMT,1,1,298,1.1,CSH,6 +CMT,1,1,1398,4.9,CRD,20 +CMT,1,1,389,1,CSH,6.5 +CMT,1,1,873,4.2,CRD,15 +CMT,1,1,510,1.5,CRD,8 +CMT,1,1,1183,4.4,CRD,17 +CMT,1,1,482,1.2,CRD,7 +CMT,1,1,1114,8.1,CRD,24.5 +CMT,1,1,531,1.5,CSH,8 +CMT,1,1,287,1.3,CRD,6 +CMT,1,1,1299,6.3,CRD,22 +CMT,1,1,538,2.4,CSH,10 +CMT,1,1,139,0.6,CSH,4 +CMT,1,1,434,1.6,CSH,7.5 +CMT,1,1,981,1.9,CSH,11.5 +CMT,1,1,893,4,CRD,15.5 +CMT,1,1,1461,5.1,CRD,20 +CMT,1,1,443,1,CSH,6.5 +CMT,1,1,1205,3.7,CSH,16.5 +CMT,1,1,809,2.7,CSH,12 +CMT,1,1,386,2.3,CSH,8.5 +CMT,1,1,1162,3.1,CRD,14.5 +CMT,1,1,654,3.1,CRD,11.5 +CMT,1,1,750,4.5,CSH,15 +CMT,1,1,313,1.1,CSH,5.5 +CMT,1,1,664,3.4,CSH,12.5 +CMT,1,1,506,1.4,CRD,8 +CMT,1,1,320,0.7,CRD,6 +CMT,1,1,811,4.8,CRD,16 +CMT,1,1,785,3.8,CRD,14 +CMT,1,1,208,0.4,CSH,4.5 +CMT,1,1,332,0.9,CRD,6 +CMT,1,1,708,2.5,CSH,11 +CMT,1,1,838,3.3,CRD,14 +CMT,1,1,1155,2.4,CRD,13.5 +CMT,1,1,828,1.6,CSH,10.5 +CMT,1,1,217,0.7,CSH,4.5 +CMT,1,1,242,0.5,CSH,4.5 +CMT,1,1,577,0.7,CSH,7.5 +CMT,1,1,337,1.2,CSH,6.5 +CMT,1,1,844,4.3,CSH,15 +CMT,1,1,1011,4.9,CSH,17.5 +CMT,1,1,170,0.8,CSH,4.5 +CMT,1,1,380,0.6,CRD,6 +CMT,1,1,313,1.6,CRD,7.5 +CMT,1,1,620,2.9,CRD,12 +CMT,1,1,447,1.2,CSH,7 +CMT,1,1,483,4,CSH,13 +CMT,1,1,662,2.9,CSH,12 +CMT,1,1,995,6.4,CSH,20.5 +CMT,1,1,240,1.2,CRD,5.5 +CMT,1,1,816,1.5,CRD,10 +CMT,1,1,382,1.5,CRD,7 +CMT,1,1,1266,8.8,CRD,26.5 +CMT,1,1,554,1,CSH,7.5 +CMT,1,1,416,1.1,CSH,7 +CMT,1,1,640,3,CSH,11.5 +CMT,1,1,555,1.9,CRD,9 +CMT,1,1,778,5.3,CSH,17.5 +CMT,1,1,882,3,CRD,12.5 +CMT,1,1,260,1,CSH,5.5 +CMT,1,1,525,1.9,CRD,9 +CMT,1,1,433,1.2,CSH,7 +CMT,1,1,1373,4.5,CRD,18 +CMT,1,1,201,0.5,CRD,4.5 +CMT,1,1,1416,4.9,CRD,19 +CMT,1,1,141,0.6,CSH,4 +CMT,1,1,233,0.3,CSH,4.5 +CMT,1,1,252,1,CSH,5.5 +CMT,1,1,885,2.1,CSH,11.5 +CMT,1,1,1519,4.4,CRD,19.5 +CMT,1,1,1417,6.1,CRD,22 +CMT,1,1,260,1,CSH,5.5 +CMT,1,1,469,1.3,CRD,7.5 +CMT,1,1,566,1.8,CSH,9 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,240,1.05,CSH,6 +VTS,1,1,120,0.08,CSH,3 +VTS,1,1,1080,3.05,CRD,13.5 +VTS,1,1,540,2.15,CRD,9 +VTS,1,1,480,1.97,CRD,8.5 +VTS,1,1,1200,7.38,CRD,23.5 +VTS,1,1,420,0.68,CRD,6 +VTS,1,1,1020,2.47,CSH,13 +VTS,1,1,720,1.96,CRD,10 +VTS,1,1,660,1.73,CSH,9 +VTS,1,1,960,2.8,CSH,12.5 +CMT,1,1,171,1.2,CSH,5.5 +CMT,1,1,341,1.6,CRD,7.5 +CMT,1,1,160,0.7,CRD,4.5 +CMT,1,1,673,2.1,CRD,10 +CMT,1,1,828,2.7,CRD,11.5 +CMT,1,1,844,2.5,CSH,11.5 +CMT,1,1,539,1.9,CRD,9 +CMT,1,1,246,0.7,CSH,5 +CMT,1,1,283,1.8,CSH,7.5 +CMT,1,1,299,1.4,CRD,6.5 +CMT,1,1,430,1.4,CSH,7.5 +CMT,1,1,545,2.2,CSH,9.5 +CMT,1,1,1217,4.4,CSH,17.5 +CMT,1,1,595,1,CRD,8 +CMT,1,1,397,1.3,CRD,6.5 +CMT,1,1,881,4.2,CRD,15 +CMT,1,1,332,1.4,CRD,7 +CMT,1,1,1435,5.7,CSH,21 +CMT,1,1,786,4.4,CRD,15 +CMT,1,1,450,1.1,CSH,6.5 +CMT,1,1,177,0.5,CSH,4 +CMT,1,1,1500,2.9,CRD,16.5 +CMT,1,1,187,0.9,CRD,5 +CMT,1,1,1343,4.1,CRD,18 +CMT,1,1,456,0.8,CSH,6.5 +CMT,1,1,874,2.8,CRD,12.5 +CMT,1,1,276,0.6,CRD,5 +CMT,1,1,677,2.3,CRD,10 +CMT,1,1,695,2.8,CRD,12 +CMT,1,1,314,1.8,CRD,7 +CMT,1,1,1029,5.1,CSH,18 +CMT,1,1,307,1.7,CRD,7.5 +CMT,1,1,885,5.6,CRD,17.5 +CMT,1,1,361,1,CSH,6 +CMT,1,1,380,1.2,CSH,6.5 +CMT,1,1,570,1.3,CSH,8.5 +CMT,1,1,483,1.7,CRD,8 +CMT,1,1,348,1.7,CSH,7 +CMT,5,1,59,0,CRD,65 +CMT,1,1,446,2.4,CSH,9 +CMT,1,1,613,1.5,CSH,9 +CMT,1,1,930,2.7,CSH,12.5 +CMT,1,1,479,1.2,CSH,7.5 +CMT,1,1,1001,5.2,CSH,18 +CMT,1,1,1612,12.5,CSH,36 +CMT,1,1,947,3,CRD,13 +CMT,1,1,505,2.4,CRD,10 +CMT,1,1,303,0.6,CSH,5.5 +CMT,1,1,336,1,CSH,6 +CMT,1,1,688,1.8,CSH,9.5 +CMT,1,1,833,1.6,CRD,10.5 +CMT,1,1,336,0.7,CSH,5.5 +CMT,1,1,268,1,CRD,5.5 +CMT,1,1,898,4.9,CSH,16 +CMT,1,1,874,4.3,CRD,15.5 +CMT,1,1,662,2,CRD,10 +CMT,1,1,356,0.9,CRD,6 +CMT,1,1,959,2.7,CSH,13 +CMT,1,1,114,1,CSH,5 +CMT,1,1,434,1.7,CSH,7.5 +CMT,1,1,563,2.9,CRD,11 +CMT,1,1,1736,11.1,CRD,33.5 +CMT,1,1,907,4,CRD,14.5 +CMT,1,1,415,2.4,CRD,9 +CMT,1,1,655,1.5,CRD,9 +CMT,1,1,558,2,CSH,9 +CMT,1,1,963,4,CSH,15 +CMT,1,1,359,1.4,CRD,7 +CMT,1,1,834,3.2,CRD,12.5 +CMT,1,1,397,1.3,CRD,7 +CMT,1,1,117,0.3,CSH,3.5 +CMT,1,1,359,1.8,CSH,7.5 +CMT,1,1,198,0.7,CRD,4.5 +CMT,1,1,234,0.3,CRD,4.5 +CMT,1,1,466,1.4,CSH,7.5 +CMT,1,1,620,1.4,CRD,8 +CMT,1,1,534,1.2,CSH,7.5 +CMT,1,1,672,2.2,CRD,10 +CMT,1,1,642,1.6,CRD,9 +CMT,1,1,505,2.1,CRD,9 +CMT,1,1,205,0.5,CSH,4.5 +CMT,1,1,303,1.5,CSH,6.5 +CMT,1,1,175,0.9,CRD,5 +CMT,1,1,424,1.7,CSH,7.5 +CMT,1,1,362,1,CSH,6.5 +CMT,1,1,684,1.9,CRD,9.5 +CMT,1,1,1256,3,CRD,15 +CMT,1,1,391,1.3,CRD,7 +CMT,1,1,289,1.3,CRD,6.5 +CMT,1,1,1634,5.2,CRD,20.5 +CMT,1,2,1406,9.8,CSH,30 +CMT,1,1,261,0.7,CRD,5 +CMT,1,1,502,1.4,CRD,7.5 +CMT,1,1,332,0.8,CRD,5.5 +CMT,1,1,460,0.9,CSH,7 +CMT,1,1,433,1.4,CSH,7 +CMT,1,1,467,1.8,CSH,8 +CMT,1,1,249,0.5,CSH,4.5 +CMT,1,1,415,1.8,CRD,8 +CMT,1,1,1158,1.6,CRD,12 +CMT,1,1,240,0.7,CSH,4.5 +CMT,1,1,521,2.2,CRD,9 +CMT,1,1,861,4,CSH,14.5 +CMT,1,1,592,1.7,CSH,9 +CMT,1,1,1130,3.9,CRD,15.5 +CMT,1,1,1003,5.1,CRD,18 +CMT,1,1,794,4.4,CSH,15 +CMT,1,1,755,2.6,CRD,11 +CMT,1,1,1239,2.2,CSH,14 +CMT,1,1,302,0.7,CRD,5.5 +CMT,1,1,786,2.3,CRD,11 +CMT,1,1,241,0.7,CSH,5 +CMT,1,2,346,1,CRD,6 +CMT,1,2,312,0.7,CRD,5.5 +CMT,1,2,1294,8.1,CRD,26 +CMT,1,2,557,3,CSH,10.5 +CMT,1,1,878,4.6,CRD,16 +CMT,1,1,142,0.7,CRD,4.5 +CMT,1,1,290,0.8,CSH,5.5 +CMT,1,1,625,2,CSH,9 +CMT,1,1,1038,3.3,CSH,14 +CMT,1,1,495,1.3,CRD,7.5 +CMT,1,1,185,1.1,CRD,5 +CMT,1,1,188,0.5,CRD,4 +CMT,1,1,173,0.3,CRD,4 +CMT,1,1,931,3.6,CRD,14 +CMT,1,1,1016,3.6,CSH,15 +CMT,1,1,591,1.6,CRD,8.5 +CMT,1,1,282,0.8,CSH,5.5 +CMT,1,1,410,1,CRD,6.5 +CMT,1,1,689,1.9,CRD,9.5 +CMT,1,1,301,1.5,CRD,6.5 +CMT,1,1,559,2.3,CSH,9.5 +CMT,1,1,190,0.7,CSH,4.5 +CMT,1,1,359,0.9,CRD,6 +CMT,1,1,522,2.5,CSH,10 +CMT,1,1,1117,1.7,CRD,12.5 +CMT,1,1,375,1,CRD,6.5 +CMT,1,1,538,1.7,CSH,8.5 +CMT,1,1,696,4.2,CRD,14 +CMT,1,1,452,1.6,CSH,8 +CMT,1,1,888,4.8,CRD,15.5 +CMT,1,1,451,1.2,CSH,7 +CMT,1,1,391,2.1,CRD,9 +CMT,1,1,250,0.5,CSH,5 +CMT,1,1,307,1.5,CRD,6.5 +CMT,1,1,140,0.6,CRD,4 +CMT,1,1,827,4.5,CSH,15.5 +CMT,1,1,675,3,CSH,11.5 +CMT,1,1,444,1.4,CSH,7.5 +CMT,1,1,417,1.3,CRD,7.5 +CMT,1,1,1549,5,CSH,20.5 +CMT,1,1,437,2.1,CSH,8.5 +CMT,1,1,1281,3.5,CSH,16.5 +CMT,1,1,932,2.7,CRD,12.5 +CMT,1,1,1416,9.3,CSH,29 +CMT,1,1,589,0.9,CSH,7.5 +CMT,1,1,1293,5.2,CRD,19.5 +CMT,1,1,1199,7.4,CSH,23.5 +CMT,1,1,284,0.9,CRD,5.5 +CMT,1,1,590,3.8,CSH,13.5 +CMT,1,1,686,4.4,CRD,14.5 +CMT,1,1,159,0.7,CSH,4 +CMT,1,1,16,0.3,CSH,2.5 +CMT,1,1,531,1.3,CSH,7.5 +CMT,1,1,813,2.3,CRD,11 +CMT,1,1,336,0.7,CRD,5.5 +CMT,1,1,805,1.4,CRD,10 +CMT,1,1,1180,3.1,CRD,15.5 +CMT,1,1,664,2.6,CRD,10.5 +CMT,1,1,104,0.3,CSH,3.5 +CMT,1,1,334,1.2,CRD,6.5 +CMT,1,1,489,1.8,CSH,8 +CMT,1,1,1225,7.8,CSH,24 +CMT,1,1,1152,3.9,CRD,16 +CMT,1,1,352,1.1,CSH,6 +CMT,1,1,378,0.9,CRD,6 +CMT,1,1,648,1.8,CSH,9 +CMT,1,1,220,0.8,CSH,5 +CMT,1,1,330,1.2,CSH,6.5 +CMT,1,1,340,2.2,CRD,8.5 +CMT,1,1,771,2.1,CRD,10.5 +CMT,1,1,649,2.5,CRD,10.5 +CMT,1,1,850,4.1,CRD,14.5 +CMT,1,1,1520,16.5,CRD,44.5 +CMT,1,1,766,7.5,CRD,21.5 +CMT,1,1,86,0.3,CSH,3.5 +CMT,1,1,545,2.4,CSH,10 +CMT,1,1,255,0.5,CSH,4.5 +CMT,1,1,533,1.1,CSH,7.5 +CMT,1,1,1270,5.1,CRD,19 +CMT,1,1,971,5,CRD,17 +CMT,1,1,595,4.9,CSH,16 +CMT,1,1,932,5.2,CRD,18 +CMT,1,1,669,3.2,CSH,12.5 +CMT,1,1,984,1.9,CRD,11.5 +CMT,1,1,391,0.9,CSH,6 +CMT,1,1,949,1.7,CRD,11.5 +CMT,1,1,418,2.1,CSH,8.5 +CMT,1,1,684,3,CRD,12 +CMT,1,1,657,1.3,CSH,8.5 +CMT,1,1,338,1,CRD,6 +CMT,1,1,482,1,CSH,7 +CMT,1,1,382,1.2,CSH,7 +CMT,1,1,153,0.8,CRD,4.5 +CMT,1,1,842,3.3,CSH,13 +CMT,1,1,750,4.9,CSH,16 +CMT,1,1,421,1.5,CSH,7 +CMT,1,1,801,1.9,CRD,10.5 +CMT,1,1,1376,8.7,CSH,26.5 +CMT,1,1,318,0.7,CSH,5 +CMT,1,1,253,0.7,CSH,5 +CMT,1,1,1149,5.2,CSH,18 +CMT,1,1,445,1.1,CSH,7 +CMT,1,1,203,0.5,CSH,4.5 +CMT,1,1,866,3.1,CSH,12.5 +CMT,1,1,656,1.7,CRD,9 +CMT,1,1,1305,5.7,CSH,21 +CMT,1,1,395,1,CSH,6.5 +CMT,1,1,984,4.6,CSH,17 +CMT,1,1,901,2,CSH,11 +CMT,1,1,1856,2.6,CSH,2.5 +CMT,1,1,1072,4.5,CSH,17.5 +CMT,1,1,359,0.7,CSH,5.5 +CMT,1,1,1177,6.8,CRD,22.5 +CMT,1,1,421,1.6,CSH,7 +CMT,1,1,292,0.8,CRD,5.5 +CMT,1,1,905,1.2,CSH,10.5 +CMT,1,1,730,3.8,CRD,13 +CMT,1,1,641,1.5,CSH,9 +CMT,1,1,1544,9.1,CSH,29 +CMT,1,1,375,1.5,CRD,7.5 +CMT,1,1,578,1.8,CRD,9 +CMT,1,1,580,1.4,CRD,8 +CMT,1,1,574,2.6,CSH,10 +CMT,1,1,942,2.5,CRD,12.5 +CMT,1,1,461,1.8,CRD,8.5 +CMT,1,2,335,1.1,CSH,6.5 +CMT,1,1,331,0.8,CSH,5.5 +CMT,1,1,354,1.7,CSH,7 +CMT,1,1,624,1.8,CRD,9 +CMT,1,1,437,1.6,CSH,8 +CMT,1,1,292,0.8,CSH,5.5 +CMT,1,1,849,2.7,CRD,12 +CMT,1,1,365,1.1,CSH,6.5 +CMT,1,1,188,0.5,CRD,4 +CMT,1,1,249,0.5,CRD,4.5 +CMT,1,1,910,2.8,CSH,12 +CMT,1,1,868,3.8,CSH,14.5 +CMT,1,1,489,2.7,CSH,10.5 +CMT,1,1,109,0.5,CSH,3.5 +CMT,1,1,442,1.4,CSH,7 +CMT,1,1,1401,6.7,CSH,22 +CMT,1,1,888,4.3,CSH,14.5 +CMT,1,1,69,0.1,CSH,3 +CMT,1,1,903,3.8,CRD,14 +CMT,1,1,745,1.5,CSH,9.5 +CMT,1,1,1079,3.7,CSH,15.5 +CMT,1,1,434,1.1,CSH,7 +CMT,1,1,1006,3.3,CRD,14.5 +CMT,1,1,197,0.9,CRD,5 +CMT,1,1,138,0.5,CRD,4 +CMT,1,1,518,1.5,CRD,7.5 +CMT,1,1,576,2.9,CRD,11 +CMT,1,2,1016,5.2,CSH,17.5 +CMT,1,1,489,1.5,CSH,7.5 +CMT,1,2,982,1.4,CRD,11.5 +CMT,1,1,145,0.6,CSH,4 +CMT,1,1,170,0.8,CSH,4.5 +CMT,1,1,1065,2.4,CSH,13 +CMT,1,1,553,2,CRD,9 +CMT,1,1,335,0.9,CSH,5.5 +CMT,1,1,512,1.6,CSH,8.5 +CMT,1,1,235,0.4,CSH,4.5 +CMT,1,1,4103,0,DIS,2.5 +CMT,1,1,544,1.6,CSH,8.5 +CMT,1,1,18,0,CRD,2.5 +CMT,1,1,629,1.6,CRD,8.5 +CMT,1,1,586,1.7,CSH,8.5 +CMT,1,1,1082,5.8,CRD,20 +CMT,1,1,778,4.5,CRD,15 +CMT,1,1,453,0.8,CSH,6.5 +CMT,1,1,612,2.8,CSH,11 +CMT,1,1,578,1.5,CSH,8.5 +CMT,1,1,661,2.4,CSH,10 +CMT,1,1,465,0.5,CSH,6.5 +CMT,1,1,765,2.2,CSH,10.5 +CMT,1,1,376,0.7,CRD,5.5 +CMT,1,1,1022,2.6,CSH,13 +CMT,1,1,182,0.7,CSH,4.5 +CMT,1,1,317,0.9,CSH,5.5 +CMT,1,1,899,2.5,CRD,12.5 +CMT,1,1,98,0.3,CSH,3.5 +CMT,1,1,948,1,CRD,10 +CMT,1,1,307,1.2,CSH,6 +CMT,1,1,421,1,CSH,6.5 +CMT,1,1,1301,3.4,CSH,15.5 +CMT,1,1,599,1.3,CRD,8.5 +CMT,1,1,296,0.4,CSH,5 +CMT,1,1,618,2.8,CSH,10.5 +CMT,1,1,515,1.7,CRD,8.5 +CMT,1,1,829,3.6,CRD,13.5 +CMT,1,1,640,2.7,CRD,11 +CMT,1,1,194,0.7,CSH,5 +CMT,1,1,765,3.8,CRD,13.5 +CMT,1,1,875,1.3,CSH,10.5 +CMT,1,1,615,1.5,CSH,8.5 +CMT,1,1,763,1.3,CSH,9.5 +CMT,1,1,1065,2.9,CSH,13.5 +CMT,1,1,347,1.1,CRD,6.5 +CMT,1,1,817,3.7,CRD,14 +CMT,1,1,164,0.3,CSH,4 +CMT,1,1,395,1.3,CRD,6.5 +CMT,1,1,1064,2.5,CRD,13.5 +CMT,1,1,760,2.1,CSH,10.5 +CMT,1,1,94,0.2,CSH,3.5 +CMT,1,1,477,2.2,CRD,8.5 +CMT,1,1,910,3.4,CSH,13.5 +CMT,1,1,973,3.8,CSH,15 +CMT,1,1,246,0.9,CSH,5 +CMT,1,1,1653,7.6,CRD,26 +CMT,1,1,423,0.6,CSH,6 +CMT,1,1,1065,5.6,CRD,19.5 +CMT,1,1,1086,2.3,CRD,13 +CMT,1,1,589,1.1,CSH,7.5 +CMT,1,1,1015,8.9,CRD,25.5 +CMT,1,1,502,1.1,CSH,7 +CMT,1,1,644,2.8,CRD,11.5 +CMT,1,1,621,2.2,CRD,9.5 +CMT,1,1,1240,8,CSH,25.5 +CMT,1,1,58,0.3,CSH,3 +CMT,1,1,852,3.3,CRD,13 +CMT,1,1,306,1.4,CSH,6.5 +CMT,1,1,338,0.3,CRD,5 +CMT,1,1,423,0.9,CRD,6.5 +CMT,1,1,338,1,CSH,5.5 +CMT,1,1,154,0.8,CSH,4.5 +CMT,1,1,907,3.7,CSH,14.5 +CMT,1,1,1242,8.4,CRD,26.5 +CMT,1,1,753,4.1,CSH,14.5 +CMT,1,1,2729,5.8,CRD,28 +CMT,1,1,511,1.2,CRD,7 +CMT,1,1,634,1.9,CRD,9.5 +CMT,1,1,1246,4.3,CRD,18 +CMT,1,1,1379,9.9,CRD,29.5 +CMT,1,1,314,1,CSH,6 +CMT,1,1,1526,9.8,CRD,29.5 +CMT,1,1,540,1.9,CRD,9 +CMT,1,1,985,3.1,CRD,14 +CMT,1,1,803,2,CSH,11.5 +CMT,1,1,208,0.7,CRD,4.5 +CMT,1,1,347,1.6,CRD,7 +CMT,1,1,801,1.6,CSH,10 +CMT,1,1,691,1.4,CRD,9 +CMT,1,1,585,2.2,CRD,9.5 +CMT,1,1,1113,2.9,CRD,14 +CMT,1,1,1674,10.3,CRD,31.5 +CMT,1,1,200,0.7,CSH,4.5 +CMT,1,1,156,0.8,CSH,4.5 +CMT,1,1,1154,2.7,CSH,13.5 +CMT,1,1,193,0.6,CRD,4.5 +CMT,1,1,331,0.8,CRD,5.5 +CMT,1,1,260,0.3,CSH,4.5 +CMT,1,1,610,0.8,CRD,7.5 +CMT,1,1,383,1.5,CRD,7 +CMT,1,1,82,0.5,CSH,3.5 +CMT,1,2,397,3,CRD,10 +CMT,1,2,454,3,CSH,10.5 +CMT,1,2,347,2.1,CSH,8 +CMT,1,1,556,4.3,CSH,14 +CMT,1,1,573,1.7,CSH,8 +CMT,1,1,145,0.4,CSH,3.5 +CMT,1,1,432,1,CRD,6.5 +CMT,1,1,1423,4,CRD,18.5 +CMT,1,1,371,1.1,CSH,6.5 +CMT,1,1,1170,2.6,CRD,14.5 +CMT,1,1,582,1.9,CSH,9 +CMT,1,1,524,1.6,CSH,8 +CMT,1,1,1010,2.9,CSH,13.5 +CMT,1,1,3200,1,CSH,5.5 +CMT,1,1,469,1.7,CSH,8 +CMT,1,1,170,0.3,CSH,4 +CMT,1,1,727,1.9,CRD,10 +CMT,1,1,323,0.7,CRD,5 +CMT,1,1,1305,3.8,CSH,16.5 +CMT,1,1,341,1,CSH,6 +CMT,1,1,393,0.5,CSH,5.5 +CMT,1,1,815,6.2,CRD,19 +CMT,1,1,241,0.7,CSH,5 +CMT,1,1,612,0.9,CSH,8 +CMT,1,1,569,2.2,CRD,9.5 +CMT,1,1,2253,11.6,CSH,38 +CMT,1,1,179,0.3,CSH,4 +CMT,1,1,277,0.7,CSH,5 +CMT,1,1,403,1.3,CSH,7.5 +CMT,1,1,876,1.9,CRD,11 +CMT,1,1,1750,8,CSH,26 +CMT,1,1,623,1.9,CSH,9 +CMT,1,1,353,1.3,CSH,6.5 +CMT,1,1,708,1.5,CSH,9 +CMT,1,1,947,4.5,CRD,16.5 +CMT,1,1,1399,15.1,CSH,41 +CMT,1,1,418,1.3,CSH,6.5 +CMT,1,1,285,0.7,CSH,5.5 +CMT,1,1,494,0.8,CRD,7 +CMT,1,1,415,1.2,CRD,7 +CMT,1,1,496,1.6,CSH,8.5 +CMT,1,1,1111,3.2,CSH,15 +CMT,1,1,1491,9.7,CSH,29.5 +CMT,1,1,459,1.1,CSH,7 +CMT,1,1,594,2,CRD,9 +CMT,1,1,489,0.9,CRD,6.5 +CMT,1,1,454,0.8,CSH,6.5 +CMT,1,1,517,1.6,CRD,8 +CMT,1,1,745,1.2,CSH,9 +CMT,1,1,67,0.1,CSH,3 +CMT,1,1,602,1.2,CSH,8 +CMT,1,1,982,3,CSH,13 +CMT,1,1,638,1.7,CRD,8.5 +CMT,1,1,704,2.6,CSH,11 +CMT,1,1,537,2.5,CRD,9.5 +CMT,1,1,1001,2.1,CSH,12 +CMT,1,1,679,0.7,CRD,8 +CMT,1,1,1436,6.6,CRD,24.5 +CMT,1,1,548,0.9,CSH,7.5 +CMT,1,1,730,5.3,CRD,17 +CMT,1,1,598,4.6,CSH,15 +CMT,1,1,173,1,CSH,5 +CMT,1,1,1095,3,CSH,14.5 +CMT,1,1,544,0.7,CSH,7 +CMT,1,1,694,4,CSH,14 +CMT,1,1,601,3,CRD,11 +CMT,1,2,959,4.7,CRD,16.5 +CMT,1,1,800,2.2,CRD,11 +CMT,1,1,1861,3.5,CSH,20.5 +CMT,1,4,892,2.9,CSH,13 +CMT,1,1,195,0.5,CRD,4 +CMT,1,1,552,1.1,CSH,7.5 +CMT,1,1,311,0.7,CSH,5.5 +CMT,1,1,578,2.3,CSH,9.5 +CMT,1,1,1098,3.8,CSH,15.5 +CMT,1,1,241,0.8,CSH,5 +CMT,1,1,625,1.4,CSH,8 +CMT,1,1,468,1.2,CSH,7 +CMT,1,1,130,0.6,CSH,4 +CMT,1,1,276,0.9,CRD,5 +CMT,1,1,655,1.6,CSH,9 +CMT,1,1,705,2.1,CRD,10 +CMT,1,1,591,1.5,CSH,8.5 +CMT,1,1,908,2,CSH,11 +CMT,1,1,334,0.6,CSH,5.5 +CMT,1,1,489,1,CRD,7 +CMT,1,1,201,0.6,CSH,4.5 +CMT,1,1,1366,3,CSH,16.5 +CMT,1,1,1110,3.3,CRD,14.5 +CMT,1,1,318,1,CSH,6 +CMT,1,1,627,1.4,CRD,9 +CMT,1,1,1181,4.1,CSH,16.5 +CMT,1,1,655,2.2,CSH,10 +CMT,1,2,297,1.5,CRD,6.5 +CMT,1,2,1188,4.9,CSH,18 +CMT,1,2,915,5.6,CRD,18.5 +CMT,1,1,426,1.1,CSH,6 +CMT,1,1,649,2.7,CRD,10.5 +CMT,1,1,1084,2.4,CRD,13.5 +CMT,1,2,121,0.5,CSH,4 +CMT,1,2,581,2.3,CSH,9 +CMT,1,1,817,3.1,CSH,12 +CMT,1,1,1077,5.4,CRD,19.5 +CMT,1,1,243,0.7,CRD,5 +CMT,1,1,456,1.1,CRD,7 +CMT,1,1,1095,2.6,CRD,12.5 +CMT,1,1,470,1.2,CRD,7 +CMT,1,1,1349,1.1,CSH,13.5 +CMT,1,1,644,1.2,CSH,8.5 +CMT,1,1,899,2,CSH,11 +CMT,1,1,174,0.5,CSH,4 +CMT,1,1,564,1.8,CRD,8.5 +CMT,1,1,594,1.8,CSH,9 +CMT,1,1,275,0.7,CSH,5.5 +CMT,1,1,504,1.3,CSH,7 +CMT,1,1,129,0.6,CSH,4 +CMT,1,1,655,1.5,CSH,8.5 +CMT,1,1,202,0.6,CRD,4.5 +CMT,1,1,383,0.8,CSH,6 +CMT,1,1,1030,2.4,CSH,13 +CMT,1,1,708,2.5,CSH,11 +CMT,1,1,1150,8.9,CSH,27 +CMT,1,1,773,1.3,CSH,9.5 +CMT,1,1,1366,9.6,CSH,28 +CMT,1,1,859,2.3,CSH,11.5 +CMT,1,1,243,0.4,CSH,4.5 +CMT,1,1,198,0.6,CSH,5 +CMT,1,1,993,2,CSH,12 +CMT,1,1,260,0.6,CSH,5 +CMT,1,1,197,0.9,CSH,5 +CMT,1,1,307,0.7,CSH,5.5 +CMT,1,1,1056,2.6,CRD,13.5 +CMT,1,1,334,0.5,CRD,5.5 +CMT,1,1,352,0.6,CSH,5.5 +CMT,1,1,772,2.2,CRD,11 +CMT,1,1,815,3.5,CSH,14 +CMT,1,1,308,0.8,CSH,5 +CMT,1,1,1155,6.6,NOC,22.5 +CMT,1,1,725,1.9,CSH,8 +CMT,1,1,718,1.2,CSH,9.5 +CMT,1,1,190,0.5,CSH,4 +CMT,1,1,344,2.5,CSH,9 +CMT,1,1,535,2.5,CSH,9.5 +CMT,1,1,812,2.2,CSH,10.5 +CMT,1,1,357,1,CSH,6 +CMT,1,1,739,2.2,CRD,11 +CMT,1,1,212,0.8,CSH,5 +CMT,1,1,790,1.9,CSH,10.5 +CMT,1,1,224,0.5,CSH,4.5 +CMT,1,1,215,0.6,CRD,4.5 +CMT,1,1,550,1.5,CSH,8 +CMT,1,1,1191,4.3,CSH,18 +CMT,1,1,151,0.4,CSH,4 +CMT,1,1,760,1.3,CSH,9.5 +CMT,1,1,348,0.9,CRD,6 +CMT,1,1,502,1.3,CSH,7.5 +CMT,1,1,407,2.6,CSH,9.5 +CMT,1,1,748,1,CSH,9 +CMT,1,1,515,0.7,CSH,7 +CMT,1,1,1892,4.7,CSH,22.5 +CMT,1,1,540,1.1,CSH,8 +CMT,1,1,149,0.4,CSH,4 +CMT,1,1,969,1.9,CRD,11 +CMT,1,1,510,1.8,CSH,8 +CMT,1,1,284,0.6,CSH,5.5 +CMT,1,1,338,0.7,CSH,5.5 +CMT,1,1,317,1,CSH,5.5 +CMT,1,1,1497,4.1,CRD,19 +CMT,1,1,367,1.8,CSH,8 +CMT,1,1,853,3,CRD,12.5 +CMT,1,1,1317,4.9,CSH,19 +CMT,1,1,1399,5,CSH,20 +CMT,1,1,592,2,CRD,9.5 +CMT,1,1,761,2.3,CSH,11.5 +CMT,1,1,625,1.1,CSH,8 +CMT,1,1,669,1.2,CSH,8.5 +CMT,1,1,532,1.4,CSH,8 +CMT,1,1,22,0,CSH,2.5 +CMT,1,1,830,1.3,CRD,10 +CMT,1,1,853,1.7,CSH,11 +CMT,1,1,336,1,CRD,5.5 +CMT,1,1,1082,2.9,CRD,14 +CMT,1,1,743,0.9,CRD,9 +CMT,1,1,324,0.8,CSH,6 +CMT,1,1,394,0.9,CSH,6.5 +CMT,1,1,1009,5.5,CSH,19 +CMT,1,1,950,2.8,CSH,12.5 +CMT,1,1,269,0.7,CSH,5 +CMT,1,1,198,1.3,CRD,5.5 +CMT,1,1,255,0.6,CSH,5 +CMT,1,1,886,1.8,CSH,11 +CMT,1,1,290,0.9,CRD,5.5 +CMT,1,1,241,0.8,CSH,5.5 +CMT,1,1,513,1.1,CSH,7.5 +CMT,1,1,663,2.2,CRD,10 +CMT,1,1,645,1.6,CSH,9 +CMT,1,1,700,2.7,CSH,11.5 +CMT,1,1,311,0.8,CSH,5.5 +CMT,1,1,161,0.7,CSH,4.5 +CMT,1,1,1312,1.9,CSH,14 +CMT,1,1,851,2.8,CRD,11.5 +CMT,1,1,950,2.2,CSH,12 +CMT,1,1,570,0.5,CSH,7 +CMT,1,1,307,1,CSH,6 +CMT,1,1,1451,9.6,CSH,28 +CMT,1,1,241,0.9,CSH,5.5 +CMT,1,1,268,0.8,CRD,5.5 +CMT,1,1,532,2.1,CSH,9 +CMT,1,1,274,0.8,CSH,5.5 +CMT,1,1,825,2.6,CSH,12 +CMT,1,1,551,1.7,CSH,8.5 +CMT,1,1,793,2.7,CRD,11.5 +CMT,2,1,2,0.1,CSH,52 +CMT,1,1,702,1.8,CSH,10 +CMT,1,1,592,1.9,CRD,9.5 +CMT,1,1,369,1.7,CSH,7.5 +CMT,1,1,674,2.5,CSH,11 +CMT,1,1,913,5,CRD,18 +CMT,1,1,218,0.5,CRD,4.5 +CMT,1,1,236,1,CSH,5.5 +CMT,1,1,281,0.6,CRD,5 +CMT,1,1,1493,1.7,CSH,15.5 +CMT,1,1,446,1.4,CRD,7 +CMT,1,1,306,1.1,CRD,6 +CMT,1,1,1090,1.8,CRD,12.5 +CMT,1,1,933,1.2,CRD,10 +CMT,1,1,299,1,CSH,6 +CMT,1,1,1166,1.8,CRD,13 +CMT,1,1,624,2,CRD,9.5 +CMT,1,1,560,1.3,CSH,7.5 +CMT,1,1,1039,3.2,CSH,13.5 +CMT,1,1,748,1.6,CSH,9.5 +CMT,1,1,303,1.4,CSH,6.5 +CMT,1,1,324,0.9,CSH,6 +CMT,1,1,679,1.2,CSH,9 +CMT,1,1,258,0.7,CSH,4.5 +CMT,1,1,313,0.8,CSH,5.5 +CMT,1,1,416,1,CSH,6.5 +CMT,1,1,886,1.5,CRD,10.5 +CMT,1,1,1197,8.5,CSH,25.5 +CMT,1,1,269,0.7,CSH,5 +CMT,1,1,646,2.2,CSH,10 +CMT,1,1,247,0.5,CRD,4.5 +CMT,1,1,948,2.1,CSH,11.5 +CMT,1,1,655,1.6,CSH,8.5 +CMT,1,1,529,0.8,CRD,7 +CMT,5,1,63,0,CRD,50 +CMT,1,1,1223,9.4,CRD,28.5 +CMT,1,1,354,1.4,CRD,6.5 +CMT,1,1,523,1.3,CSH,8 +CMT,1,1,1243,3.2,CSH,16 +CMT,1,1,634,2.4,CRD,10 +CMT,1,1,269,0.8,CRD,5 +CMT,1,1,1485,3.4,CSH,18 +CMT,1,1,744,3.5,CRD,13 +CMT,1,1,378,1.4,CRD,7 +CMT,1,1,307,1,CSH,6 +CMT,1,2,283,1,CRD,6 +CMT,1,2,383,1.7,CSH,7.5 +CMT,1,1,560,1.7,CRD,8 +CMT,1,1,1035,6.9,CSH,21.5 +CMT,1,1,137,0.6,CSH,4 +CMT,1,2,597,2.9,CSH,11 +CMT,1,1,353,0.6,CSH,5.5 +CMT,1,1,889,5.3,CRD,18 +CMT,1,1,365,1.1,CRD,6.5 +CMT,1,1,646,1.6,CRD,8.5 +CMT,1,1,725,1.8,CRD,9.5 +CMT,1,1,388,1.2,CSH,6.5 +CMT,1,1,442,1.9,CSH,8 +CMT,1,1,645,1.8,CRD,9 +CMT,1,1,359,1,CRD,6 +CMT,1,1,410,1,CSH,6.5 +CMT,1,1,1297,11.3,CRD,32.5 +CMT,1,1,1197,4.2,CRD,17.5 +CMT,1,1,928,2.6,CSH,12.5 +CMT,1,1,1349,7.5,CSH,26 +CMT,1,1,1250,4.6,CSH,17.5 +CMT,1,1,394,0.5,CSH,5.5 +CMT,1,1,92,0,CSH,3 +CMT,1,1,416,1.5,CSH,7 +CMT,1,1,1431,5.1,CRD,21 +CMT,1,1,590,2.2,CSH,9.5 +CMT,1,1,771,1.2,CRD,9.5 +CMT,1,1,963,0.9,CSH,10.5 +CMT,1,1,567,1.4,CRD,8 +CMT,1,1,669,1.7,CSH,9 +CMT,1,1,93,0.4,CSH,3.5 +CMT,1,1,547,1.3,CSH,8 +CMT,1,1,178,0.8,CSH,4.5 +CMT,1,1,1139,5.5,CRD,19.5 +CMT,1,1,440,1.9,CSH,8 +CMT,1,1,497,2.1,CRD,9 +CMT,1,1,668,0.8,CRD,8.5 +CMT,1,1,375,1.1,CRD,6.5 +CMT,1,1,659,1.1,CRD,8.5 +CMT,1,1,506,1,CSH,7.5 +CMT,1,2,297,1.8,CRD,7 +CMT,1,1,497,1.4,CSH,8 +CMT,1,1,853,1.9,CRD,10.5 +CMT,1,1,271,0.6,CSH,5 +CMT,1,1,332,0.7,CRD,5.5 +CMT,1,1,527,1.6,CSH,8 +CMT,1,1,598,2.1,CRD,9.5 +CMT,1,1,1166,4.9,CSH,18 +CMT,1,1,192,0.6,CRD,4.5 +CMT,1,1,738,1.9,CSH,10.5 +CMT,1,1,375,1.2,CSH,6.5 +CMT,1,1,680,1.6,CSH,9.5 +CMT,1,1,466,0.6,CSH,6 +CMT,1,1,391,0.8,CSH,6 +CMT,1,1,332,0.8,CRD,6 +CMT,1,1,1018,10.2,CRD,28.5 +CMT,1,1,210,1.1,CSH,5.5 +CMT,1,1,597,2.1,CSH,9 +CMT,1,1,179,0.7,CSH,4.5 +CMT,1,1,556,1.4,CRD,8 +CMT,1,1,254,0.4,CSH,4.5 +CMT,1,1,733,2.1,CRD,10.5 +CMT,1,1,1099,4,CSH,15 +CMT,1,1,395,1.3,CSH,6.5 +CMT,1,1,165,0.4,CSH,4 +CMT,1,1,391,0.9,CRD,6 +CMT,1,1,425,1.2,CSH,7 +CMT,3,1,1731,17.6,CSH,65.5 +CMT,1,1,423,1.2,CSH,6.5 +CMT,1,1,595,1.1,CSH,7.5 +CMT,1,1,783,2.4,CSH,11 +CMT,1,1,236,0.8,CSH,5 +CMT,1,1,641,1.5,CSH,8.5 +CMT,1,1,327,1.1,CRD,6 +CMT,1,1,572,3.7,CSH,12.5 +CMT,1,1,211,0.2,CSH,4 +CMT,1,1,1012,2.2,CRD,12.5 +CMT,1,1,662,2.1,CRD,10 +CMT,1,1,232,0.5,CRD,4.5 +CMT,1,1,353,1,CRD,6 +CMT,1,1,323,0.5,CSH,5 +CMT,1,1,705,1.5,CSH,9.5 +CMT,1,1,1128,3.7,CRD,16.5 +CMT,1,1,1982,10.9,CSH,34 +CMT,1,1,538,1.1,CSH,7.5 +CMT,1,1,361,0.9,CSH,6 +CMT,1,1,461,1.4,CSH,7 +CMT,1,1,467,2,CSH,8 +CMT,1,1,672,2.4,CRD,10.5 +CMT,1,1,590,1.2,CRD,8 +CMT,1,1,720,2.9,CSH,11.5 +CMT,1,1,463,1.2,CRD,7 +CMT,1,1,724,1.9,CSH,9 +CMT,1,1,962,3.1,CSH,13.5 +CMT,1,1,1734,3.8,CRD,20.5 +CMT,1,1,379,1.9,CRD,8 +CMT,1,1,540,1.8,CRD,8.5 +CMT,1,1,287,1.2,CSH,6 +CMT,1,1,275,0.6,CSH,5 +CMT,1,1,517,1.4,CSH,8 +CMT,1,1,405,1.1,CSH,6.5 +CMT,1,1,831,1.4,CSH,9.5 +CMT,1,1,501,0.8,CRD,6.5 +CMT,1,1,1803,9.7,CSH,32 +CMT,1,1,99,0.4,CSH,3.5 +CMT,1,1,413,1.3,CRD,7 +CMT,1,1,570,1.5,CRD,8 +CMT,1,1,287,1.2,CRD,6 +CMT,1,1,684,1,CSH,8.5 +CMT,1,1,116,0.6,CSH,4 +CMT,1,1,946,2.6,CSH,12.5 +CMT,1,1,253,0.9,CSH,5.5 +CMT,1,1,480,1.5,CRD,7.5 +CMT,1,1,857,1.7,CSH,11 +CMT,1,1,889,1.1,CSH,10 +CMT,1,1,1197,7.3,CSH,23.5 +CMT,1,1,678,1.8,CRD,9 +CMT,1,2,1048,2.8,CRD,15 +CMT,1,1,700,2.2,CRD,10.5 +CMT,1,1,560,1.2,CRD,8 +CMT,1,1,1011,4.7,CSH,16.5 +CMT,1,1,625,1.4,CRD,9 +CMT,1,1,790,1.6,CSH,10 +CMT,1,1,421,0.8,CSH,6.5 +CMT,1,1,501,1.2,CSH,7 +CMT,1,1,824,1.6,CSH,10 +CMT,1,1,450,1.9,CSH,8.5 +CMT,1,1,389,1,CRD,6.5 +CMT,1,1,401,0.9,CSH,6.5 +CMT,1,1,551,0.1,CSH,4 +CMT,1,1,996,1.9,CSH,11 +CMT,1,1,1692,6.8,CSH,24 +CMT,1,1,191,0.6,CRD,4.5 +CMT,1,1,665,2.4,CRD,10.5 +CMT,1,1,478,1.1,CRD,7 +CMT,1,1,1296,2.6,CRD,15 +CMT,1,1,113,0.3,CRD,3.5 +CMT,1,1,384,1.1,CSH,6 +CMT,1,1,610,1.2,CRD,8 +CMT,1,1,317,0.9,CRD,5.5 +CMT,1,1,719,3,CRD,11.5 +CMT,1,1,1080,2.4,CRD,13 +CMT,1,1,959,2,CRD,12 +CMT,1,1,2205,11.5,CSH,35.5 +CMT,1,1,785,1.7,CRD,10.5 +CMT,1,1,1683,1.7,CSH,16.5 +CMT,1,1,702,2.3,CSH,10 +CMT,1,1,259,1.1,CSH,5.5 +CMT,1,1,2274,8.4,CSH,31 +CMT,1,1,928,1.2,CRD,11 +CMT,1,1,89,0.2,CRD,3 +CMT,1,1,124,0.5,CSH,3.5 +CMT,1,1,213,0.9,CSH,5 +CMT,1,1,276,1.3,CSH,6.5 +CMT,2,1,2358,17.1,CRD,52 +CMT,1,1,108,0.6,CSH,4 +CMT,1,1,517,2.3,CRD,9.5 +CMT,1,1,586,1.4,CRD,8.5 +CMT,1,1,344,0.9,CSH,6 +CMT,1,1,524,1.5,CSH,8 +CMT,1,2,968,2.2,CSH,12 +CMT,1,1,747,2.7,CSH,11.5 +CMT,1,1,972,6.6,CRD,20.5 +CMT,1,1,818,8.8,CSH,25 +CMT,1,1,256,1.2,CRD,6 +CMT,1,1,1867,7.6,CSH,26 +CMT,1,1,1246,3.7,CRD,17 +CMT,1,1,164,0.5,CSH,4 +CMT,1,1,759,3.3,CSH,13.5 +CMT,1,1,328,31,CSH,2.5 +CMT,1,1,1104,4.5,CSH,18 +CMT,1,1,494,1.7,CRD,8.5 +CMT,1,1,448,1.5,CRD,8 +CMT,1,1,417,1.1,CRD,6.5 +CMT,1,1,268,0.4,CSH,5 +CMT,1,1,1097,2.9,CRD,14 +CMT,1,1,326,1,CSH,6 +CMT,1,4,742,3.5,CSH,12.5 +CMT,1,1,710,2.2,CRD,10 +CMT,1,1,669,2,CRD,9.5 +CMT,1,1,516,2.4,CRD,9 +CMT,1,1,331,1.4,CRD,6.5 +CMT,1,1,757,3,CRD,11.5 +CMT,1,1,604,2.2,CRD,9.5 +CMT,1,1,579,2.5,CRD,10.5 +CMT,1,2,425,2.2,CRD,9 +CMT,2,3,2192,19,CSH,52 +CMT,2,1,2165,18,CSH,52 +CMT,1,1,1185,3.2,CRD,16 +CMT,1,1,140,0.5,CSH,4 +CMT,1,1,375,1.4,CRD,7 +CMT,1,1,510,1.3,CRD,7.5 +CMT,1,1,581,2.7,CSH,10.5 +CMT,1,1,618,2.4,CSH,10.5 +CMT,1,1,2202,8.4,CRD,31.5 +CMT,1,1,756,3.8,CSH,14 +CMT,1,1,1230,7.2,CSH,24 +CMT,1,1,564,1.4,CSH,8 +CMT,1,1,753,1.5,CRD,9.5 +CMT,1,1,214,0.4,CRD,4 +CMT,1,1,573,1.9,CRD,8.5 +CMT,1,1,833,2,CSH,10 +CMT,1,1,590,1.2,CSH,8 +CMT,1,1,357,0.9,CRD,6 +CMT,1,1,925,4.6,CSH,16.5 +CMT,1,1,610,1.9,CSH,9 +CMT,1,1,377,1.3,CSH,7 +CMT,1,1,856,2.4,CRD,12 +CMT,1,1,476,1.1,CSH,6.5 +CMT,1,1,760,2.7,CRD,11.5 +CMT,1,1,421,1.1,CSH,6.5 +CMT,1,1,431,1.1,CRD,7 +CMT,1,1,385,1.6,CSH,7.5 +CMT,1,1,285,1.5,CSH,7 +CMT,1,2,1252,5.8,CSH,21.5 +CMT,1,2,358,1.1,CSH,6.5 +CMT,1,2,684,1.9,CRD,10 +CMT,1,1,1507,5.4,CRD,21 +CMT,1,1,1258,4.6,CRD,17.5 +CMT,1,1,466,0.9,CSH,6.5 +CMT,1,1,339,1.5,CSH,7 +CMT,1,1,553,1.9,CSH,9 +CMT,1,1,263,1,CRD,5.5 +CMT,1,2,499,1.3,CSH,7.5 +CMT,1,1,1112,0.6,CRD,4 +CMT,1,1,756,2.8,CRD,12 +CMT,1,1,566,0.9,CRD,7.5 +CMT,1,1,521,1.6,CSH,8 +CMT,1,1,775,2.4,CRD,11 +CMT,1,1,1137,5.7,CRD,19.5 +CMT,1,1,604,1.6,CSH,9 +CMT,1,1,1128,2,CRD,13 +CMT,1,1,572,1.1,CSH,8 +CMT,1,1,1529,8,CSH,27 +CMT,2,1,2912,20.3,CSH,52 +CMT,1,1,511,3,CSH,11 +CMT,1,1,289,1.4,CSH,6.5 +VTS,1,1,300,1.41,CSH,6.5 +VTS,1,1,300,1.48,CSH,6.5 +VTS,1,1,540,2.53,CSH,10.5 +VTS,1,1,780,4.01,CRD,13.5 +VTS,1,1,480,1.89,CSH,8.5 +VTS,1,1,180,1.24,CSH,5.5 +VTS,1,1,360,1.12,CSH,6 +VTS,1,1,540,4.05,CSH,13.5 +VTS,1,1,240,1.3,CRD,6 +VTS,1,1,240,1.33,CRD,6 +VTS,1,1,1080,6.31,CSH,21 +VTS,1,1,660,2.83,CRD,11.5 +CMT,1,1,839,2.7,CSH,12 +CMT,1,1,1254,1.3,CRD,8 +CMT,1,1,205,0.3,CRD,4.5 +CMT,1,1,317,0.9,CSH,5.5 +CMT,1,1,734,1.9,CRD,10 +CMT,1,1,208,0.6,CSH,4.5 +CMT,1,1,424,1.5,CSH,7.5 +CMT,1,1,484,1.1,CSH,7 +CMT,1,1,1222,5.7,CRD,21.5 +CMT,1,1,1301,9.3,CRD,28.5 +CMT,1,1,461,0.8,CSH,6.5 +CMT,1,1,379,0.9,CRD,6.5 +CMT,1,1,352,0.5,CSH,5.5 +CMT,1,1,566,1.6,CSH,8.5 +CMT,1,1,496,1.1,CSH,7 +CMT,1,1,166,0.5,CRD,4 +CMT,1,1,600,2.4,CRD,10.5 +CMT,1,1,1020,2.5,CSH,13 +CMT,1,1,446,1.9,CRD,8 +CMT,1,1,312,1,CSH,6 +CMT,1,1,1871,2,CSH,9 +CMT,1,1,609,1.7,CRD,8.5 +CMT,1,1,730,2.3,CSH,10.5 +CMT,1,1,331,0.6,CSH,5.5 +CMT,1,1,252,0.8,CSH,5 +CMT,1,1,205,0.5,CSH,4 +CMT,1,1,595,4.1,CSH,13.5 +CMT,1,1,180,0.7,CSH,4.5 +CMT,1,1,203,0.6,CRD,4.5 +CMT,1,1,375,0.9,CSH,6 +CMT,1,1,1220,5.8,CSH,20 +CMT,1,1,872,1.6,CRD,10.5 +CMT,1,1,1361,5.4,CSH,20.5 +CMT,1,1,245,0.3,CSH,4.5 +CMT,1,1,699,1,CRD,8.5 +CMT,1,1,529,1.7,CRD,8.5 +CMT,1,1,408,1.3,CSH,7 +CMT,1,1,231,0.5,CSH,4.5 +CMT,1,1,261,1.2,CSH,5.5 +CMT,1,1,1094,2.3,CSH,13 +CMT,1,1,192,0.8,CSH,5 +CMT,1,1,751,1.5,CRD,10 +CMT,1,1,841,1.8,CSH,10.5 +CMT,1,1,553,1.1,CSH,8 +CMT,1,1,227,0.6,CRD,4.5 +CMT,1,1,803,2.1,CSH,10.5 +CMT,1,1,200,0.6,CRD,4.5 +CMT,1,1,579,1,CRD,7.5 +CMT,1,1,463,1,CRD,6.5 +CMT,1,1,323,1.7,CSH,7 +CMT,1,1,1440,10.6,CSH,31 +CMT,1,1,292,0.8,CSH,5.5 +CMT,1,1,906,2.7,CRD,12 +CMT,1,1,361,1.8,CRD,7.5 +CMT,1,1,1028,2,CRD,12.5 +CMT,1,1,515,1.1,CSH,7 +CMT,1,1,422,0.8,CSH,6 +CMT,1,1,210,0.8,CRD,5 +CMT,1,1,407,0.9,CSH,6 +CMT,1,1,271,0.4,CRD,5 +CMT,1,1,246,0.7,CSH,5 +CMT,1,1,478,0.5,CSH,6.5 +CMT,1,1,203,0.7,CSH,4.5 +CMT,1,1,856,3.9,CRD,14 +CMT,1,1,1515,7.6,CSH,23.5 +CMT,1,1,1714,12.7,CSH,38 +CMT,1,1,536,2.4,CRD,10 +CMT,1,1,425,2.3,CRD,9.5 +CMT,1,1,978,2.3,CSH,12 +CMT,1,1,501,1.1,CSH,7 +CMT,2,1,1741,19.6,CSH,52 +CMT,1,1,376,1.3,CSH,6.5 +CMT,1,1,674,1.3,CRD,9 +CMT,1,1,295,0.6,CRD,5 +CMT,1,1,787,2,CSH,10.5 +CMT,1,1,1231,2.8,CSH,14.5 +CMT,1,1,1938,8.3,CSH,29.5 +CMT,1,1,437,0.5,CSH,6 +CMT,1,1,262,1.6,CSH,6.5 +CMT,1,1,256,0.6,CRD,5 +CMT,1,1,720,2.8,CRD,11.5 +CMT,1,1,222,1.6,CSH,6.5 +CMT,2,1,2911,24.7,CSH,52 +CMT,1,1,341,1.9,CSH,7.5 +VTS,1,1,600,2.35,CRD,10.5 +VTS,1,1,240,0.93,CSH,5 +VTS,1,1,480,1.92,CSH,8 +VTS,1,1,720,1.26,CSH,8.5 +VTS,1,1,780,3.27,CSH,12.5 +VTS,1,1,600,5,CSH,15.5 +VTS,1,1,1260,5.2,CRD,19.5 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,1,780,2.21,CRD,11.5 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,1020,3.4,CRD,15 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,1440,6.13,CSH,22.5 +VTS,1,1,900,4.96,CRD,17.5 +VTS,1,1,1140,4.67,CSH,17.5 +VTS,1,1,480,2.17,CRD,8.5 +VTS,1,1,300,1.74,CRD,7.5 +VTS,1,1,540,2,CSH,9 +VTS,1,1,660,2.05,CRD,10 +VTS,1,1,360,1.02,CSH,6 +CMT,1,2,748,2.7,CSH,11.5 +CMT,1,1,583,1.9,CRD,9.5 +CMT,1,2,266,0.6,CSH,5 +CMT,1,2,484,2.4,CSH,9.5 +CMT,1,1,534,1.9,CRD,8.5 +CMT,1,1,1042,5.7,CSH,19.5 +CMT,1,1,600,3.1,CRD,11.5 +CMT,1,1,518,1.3,CRD,7.5 +CMT,1,1,142,0.5,CRD,4 +CMT,2,1,1945,17.3,CRD,52 +CMT,1,1,286,1,CSH,6 +CMT,1,1,794,3.2,CSH,13 +CMT,1,1,477,2.7,CSH,9.5 +CMT,1,1,513,1.5,CSH,8 +CMT,1,1,607,2.2,CSH,9.5 +CMT,1,1,279,1.7,CRD,7 +CMT,1,1,399,0.9,CSH,6 +CMT,1,1,1352,5.5,CRD,21 +CMT,1,1,579,2,CSH,9.5 +CMT,1,1,160,0.7,CRD,4.5 +CMT,1,1,657,2,CRD,10.5 +CMT,1,1,794,0.8,CRD,9 +CMT,1,1,419,1.2,CRD,7 +CMT,1,1,1444,6.8,CRD,23 +CMT,1,1,490,2.2,CRD,9.5 +CMT,1,1,484,2.4,CSH,9.5 +CMT,1,1,333,0.9,CRD,5.5 +CMT,1,1,729,2.9,CRD,11.5 +CMT,1,1,876,3.7,CSH,15 +CMT,1,1,693,1,CSH,8.5 +CMT,1,1,1062,10.2,CRD,29 +CMT,1,2,475,1.3,CSH,7.5 +CMT,1,1,510,2.3,CSH,9.5 +CMT,1,1,189,0.3,CSH,4 +CMT,1,1,351,0.9,CRD,6 +CMT,1,2,284,0.6,CSH,5 +CMT,1,2,590,1.7,CSH,9 +CMT,1,1,363,1.6,CSH,7 +CMT,1,1,1389,6.3,CSH,24 +CMT,1,1,1693,19.4,CSH,51.5 +CMT,1,1,1560,3.5,CSH,18.5 +CMT,2,1,2327,19.5,CRD,52 +CMT,1,1,903,5.2,CRD,18.5 +CMT,1,1,410,1.6,CRD,7.5 +CMT,1,2,585,3.3,CRD,11.5 +VTS,1,1,480,2.96,CRD,10.5 +VTS,1,1,960,5.21,CRD,17 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,420,2.1,CSH,8.5 +VTS,1,1,660,1.98,CSH,10 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,660,2.05,CSH,10 +CMT,1,1,200,0.9,CSH,5 +CMT,1,1,356,0.5,CSH,5.5 +CMT,1,1,1013,3.9,CRD,15 +CMT,2,1,2095,22.7,CRD,52 +CMT,1,1,1281,10.9,CSH,30.5 +CMT,1,1,152,0.8,CSH,4.5 +CMT,1,1,409,1.6,CRD,8 +VTS,1,1,1500,9.43,CSH,27.5 +VTS,1,1,720,2.04,CSH,9.5 +VTS,1,1,1080,4.75,CRD,17.5 +VTS,1,1,660,2.78,CSH,11 +VTS,1,1,360,1.38,CRD,7 +VTS,1,1,240,0.98,CSH,5.5 +VTS,1,1,600,1.9,CSH,9 +VTS,1,1,420,1.34,CRD,7 +VTS,1,1,240,0.78,CRD,5.5 +VTS,1,1,120,0.86,CSH,4.5 +VTS,1,1,1320,9.43,CRD,27.5 +VTS,1,1,420,1.34,CSH,7 +VTS,1,1,420,1.12,CRD,7 +VTS,1,1,420,1.21,CSH,7 +VTS,1,1,540,1.65,CRD,8 +VTS,1,1,240,0.99,CRD,5.5 +VTS,1,1,1080,3.61,CRD,15.5 +VTS,1,1,840,6.47,CRD,20 +VTS,1,1,720,2.14,CSH,10 +CMT,1,1,1366,7.1,CSH,24 +CMT,1,1,136,0.2,CSH,3.5 +CMT,1,1,1105,3.5,CSH,15.5 +CMT,1,1,271,1,CSH,5.5 +CMT,1,1,343,0.5,CSH,5.5 +CMT,1,1,1054,2.1,CRD,12.5 +CMT,1,1,416,1.4,CRD,7.5 +CMT,1,2,164,0.5,CSH,4 +CMT,1,1,347,2.1,CSH,8 +CMT,1,2,469,1.9,CRD,8.5 +CMT,1,1,439,0.8,CSH,6.5 +CMT,1,1,439,1.3,CRD,7 +CMT,1,1,1044,4,CRD,16.5 +CMT,1,1,440,1.7,CSH,8 +CMT,1,1,460,1.4,CRD,7.5 +CMT,1,1,568,2.1,CRD,9.5 +CMT,1,3,587,2.2,CSH,9.5 +CMT,1,1,1377,8,CSH,26.5 +CMT,1,1,377,1.4,CSH,7 +CMT,1,1,178,1.1,CSH,5.5 +CMT,1,1,668,2.3,CSH,10.5 +CMT,1,1,579,1.4,CSH,8 +CMT,1,1,779,2.5,CSH,11.5 +CMT,1,1,422,1.6,CSH,8 +CMT,1,1,420,0.9,CSH,7 +CMT,1,1,613,1.6,CRD,9.5 +CMT,1,1,357,1.4,CRD,7 +CMT,1,1,403,0.7,CRD,6 +CMT,1,1,1299,1.9,CRD,14.5 +CMT,1,1,966,2.1,CRD,11.5 +CMT,1,1,1673,4.6,CSH,21 +CMT,1,1,986,1.8,CSH,12 +CMT,1,1,568,1.7,CRD,9 +CMT,1,1,91,0.5,CSH,4 +CMT,2,1,2027,20.1,CSH,52 +VTS,1,1,360,1.86,CRD,8 +VTS,1,1,960,4.49,CSH,16.5 +VTS,1,1,120,0.47,CSH,4 +VTS,1,1,480,2.07,CSH,8.5 +VTS,1,1,120,0.33,CRD,3.5 +VTS,1,1,480,1.89,CRD,8.5 +VTS,1,1,780,5.21,CRD,17.5 +VTS,1,1,1740,8.25,CSH,27.5 +VTS,1,1,300,2.02,CSH,7.5 +VTS,1,1,540,2.35,CSH,9.5 +VTS,1,1,300,1.26,CSH,6 +VTS,1,1,900,3.34,CRD,14 +VTS,1,1,180,0.35,CSH,4.5 +VTS,1,1,300,1.8,CRD,7 +VTS,1,1,780,4.31,CSH,15.5 +VTS,1,1,720,2.09,CRD,10 +VTS,1,1,1920,2.06,CRD,19 +VTS,1,1,240,0.98,CRD,5 +VTS,1,1,780,7.84,CRD,22.5 +VTS,1,1,1020,5.6,CRD,19 +VTS,1,1,900,3.05,CRD,12.5 +VTS,1,1,240,0.76,CSH,5 +VTS,1,1,480,1.55,CSH,8 +VTS,1,1,960,2.94,CSH,13.5 +VTS,1,1,780,2.64,CRD,11 +VTS,1,1,480,2.4,CSH,9 +VTS,1,1,960,5.01,CSH,17 +VTS,1,1,540,1.62,CSH,8.5 +VTS,1,1,600,3,CRD,11.5 +VTS,1,1,360,2.13,CSH,8 +VTS,1,1,960,1.9,CRD,11 +VTS,1,1,540,1.06,CRD,7.5 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,660,2.62,CSH,10.5 +VTS,1,1,960,2.95,CRD,13.5 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,180,1.07,CSH,5 +VTS,1,1,480,1.38,CSH,7 +VTS,1,1,420,2.22,CRD,8.5 +VTS,1,1,300,1.43,CSH,6 +VTS,1,1,420,2.08,CSH,8.5 +VTS,1,1,840,2.08,CRD,11 +VTS,1,1,1500,3.92,CRD,18 +CMT,1,1,746,3.9,CRD,13.5 +CMT,2,2,2615,18.8,CSH,52 +CMT,1,2,804,2.9,CRD,11.5 +CMT,1,1,1279,6.1,CRD,22 +CMT,1,1,651,1.7,CRD,9 +CMT,1,1,658,1.8,CRD,9.5 +CMT,1,1,701,2.9,CSH,11.5 +CMT,1,1,344,1,CSH,6.5 +CMT,1,1,1107,8.9,CRD,26.5 +CMT,1,1,933,2.9,CSH,13 +CMT,1,1,1007,4.2,CRD,16 +CMT,3,1,1916,20.4,CSH,73 +CMT,1,2,816,3.5,CRD,13 +CMT,1,3,1826,11.5,CRD,35 +CMT,1,1,2241,14.7,CSH,44.5 +VTS,1,1,720,2.03,CRD,10.5 +VTS,1,1,1320,8.72,CRD,27 +VTS,1,1,720,3.31,CSH,12.5 +VTS,1,1,600,1.65,CSH,8.5 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,420,2.18,CRD,8.5 +VTS,1,1,600,3.42,CRD,11.5 +VTS,1,1,540,1.22,CRD,7.5 +VTS,1,1,1020,2.32,CSH,13 +VTS,1,1,600,1.83,CRD,8.5 +VTS,1,1,600,4.68,CRD,15.5 +VTS,1,1,180,0.81,CSH,4.5 +VTS,1,1,540,1.43,CSH,8 +VTS,1,1,720,3.64,CRD,13.5 +VTS,1,1,840,2.49,CSH,12 +VTS,1,1,300,0.86,CSH,6 +VTS,1,1,480,0.23,CSH,6 +VTS,1,1,480,2.25,CRD,8.5 +VTS,1,1,1020,6.77,CRD,21.5 +VTS,1,1,840,3.49,CRD,14 +VTS,1,1,2520,13.33,CRD,41.5 +VTS,1,1,600,2.4,CRD,9.5 +VTS,1,1,720,1.49,CSH,9 +VTS,1,1,240,1.8,CSH,7 +VTS,1,1,780,3.11,CRD,13 +VTS,1,1,1560,4.76,CSH,20 +VTS,1,1,300,1.51,CSH,6.5 +VTS,1,1,1080,5,CRD,18.5 +VTS,1,1,540,0.94,CSH,7.5 +VTS,1,1,240,0.96,CSH,5.5 +VTS,1,1,720,2.71,CRD,11 +VTS,1,1,540,2.15,CRD,9.5 +VTS,1,1,360,1.02,CRD,6 +VTS,1,1,240,0.82,CSH,5 +VTS,1,1,840,2.78,CRD,12 +VTS,1,1,1140,5.37,CSH,18.5 +VTS,1,1,420,1.17,CRD,6.5 +VTS,1,1,420,1.94,CRD,8 +VTS,1,1,1380,4.03,CSH,17 +VTS,1,1,720,2.74,CSH,12 +VTS,1,1,300,1.26,CRD,6 +VTS,1,1,840,2.71,CSH,12 +VTS,1,1,3840,14.53,CSH,52.5 +VTS,1,1,780,2.36,CSH,11 +VTS,1,1,360,1.27,CSH,6.5 +VTS,1,1,540,1.36,CRD,8.5 +VTS,1,1,720,6.66,CSH,20 +VTS,1,1,1740,12.68,CRD,37 +VTS,1,1,180,1.04,CRD,5 +VTS,1,1,660,2.6,CRD,10.5 +VTS,1,1,660,3.05,CRD,12 +VTS,1,1,600,1.39,CRD,8.5 +VTS,1,1,120,0.47,CSH,3.5 +VTS,1,1,1380,5.46,CRD,21.5 +VTS,1,1,720,2.73,CSH,11 +VTS,1,1,180,1.11,CSH,5 +VTS,1,1,420,1.33,CSH,7 +VTS,1,1,300,1.3,CRD,6.5 +VTS,1,1,720,1.98,CRD,9.5 +VTS,1,1,300,1.25,CRD,6 +VTS,1,1,300,0.72,CRD,5 +VTS,1,1,1980,5.81,CRD,25.5 +VTS,1,1,1080,4.5,CSH,17.5 +CMT,1,1,164,0.3,CSH,4 +VTS,1,1,1080,3.76,CRD,15 +VTS,1,1,240,1.17,CSH,5.5 +VTS,1,1,720,2.27,CRD,10.5 +VTS,1,1,240,0.67,CSH,5 +VTS,1,1,360,1.21,CRD,6.5 +VTS,1,1,780,3.78,CRD,13 +VTS,1,1,660,2.03,CRD,9.5 +VTS,1,1,240,0.98,CSH,6 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,1,720,2.4,CSH,10 +VTS,1,1,120,0.27,CRD,3.5 +VTS,1,1,600,2.9,CRD,11.5 +VTS,1,1,600,1.06,CRD,8 +VTS,1,1,480,1.22,CSH,7.5 +VTS,1,1,240,1.05,CRD,5.5 +VTS,1,1,120,0.59,CSH,4 +VTS,1,1,120,0.34,CSH,3.5 +VTS,1,1,780,4.08,CRD,15 +VTS,1,1,720,2.93,CRD,12 +VTS,1,1,660,1.46,CRD,8.5 +VTS,1,1,540,2.66,CRD,10.5 +VTS,1,1,420,0.9,CSH,6.5 +VTS,1,1,600,1.48,CSH,8 +VTS,1,1,1320,3.5,CSH,16 +VTS,1,1,1440,9.79,CRD,31.5 +VTS,1,1,60,0.11,CSH,3 +VTS,1,1,1020,1.57,CRD,12 +VTS,1,1,660,4.37,CRD,14.5 +VTS,1,1,480,1.73,CSH,8 +VTS,1,1,180,0.93,CSH,4.5 +VTS,1,1,1560,16.1,CRD,44 +VTS,1,1,540,1.73,CSH,8.5 +VTS,1,1,1200,6.02,CRD,21.5 +VTS,1,1,420,0.86,CRD,6.5 +VTS,1,1,480,1.17,CRD,7 +VTS,1,1,240,0.71,CRD,5 +VTS,1,1,960,6.03,CSH,20 +VTS,1,1,600,2.93,CSH,11.5 +VTS,1,1,1980,9.97,CRD,33.5 +VTS,1,1,900,1.7,CRD,11 +VTS,1,1,540,2.08,CSH,9 +VTS,1,1,300,1,CRD,5.5 +VTS,1,1,540,1.33,CSH,7.5 +VTS,1,1,1140,3.9,CSH,16.5 +VTS,1,1,1260,6.96,CRD,24 +VTS,1,1,1200,3.79,CSH,17 +VTS,1,1,480,2.65,CRD,10.5 +VTS,1,1,1020,2.88,CSH,14 +VTS,1,1,840,3.84,CSH,14.5 +VTS,1,1,360,1.93,CRD,7.5 +VTS,1,1,300,1.02,CRD,6 +CMT,1,1,502,0.7,CRD,6.5 +CMT,1,1,302,1.2,CSH,6 +CMT,1,1,1405,2.5,CSH,15 +CMT,1,1,661,0.9,CRD,8.5 +CMT,1,1,169,0.6,CRD,4.5 +CMT,1,1,403,1,CRD,7 +CMT,1,1,399,1.7,CRD,8 +CMT,1,1,1393,2.8,CSH,15.5 +CMT,1,1,323,0.7,CSH,5.5 +CMT,1,2,83,0.3,CSH,3.5 +CMT,1,1,675,3.6,CRD,13 +CMT,1,1,401,0.8,CRD,6.5 +CMT,1,1,574,1.1,CSH,8 +CMT,1,1,1329,9.3,CSH,28.5 +CMT,1,1,292,0.8,CSH,5.5 +CMT,1,1,321,0.9,CSH,6 +CMT,1,1,515,1.1,CRD,7.5 +CMT,1,1,1530,10.6,CRD,31 +CMT,1,2,739,3.6,CRD,13 +CMT,1,1,344,1.3,CRD,7 +CMT,1,1,302,1.1,CRD,6 +CMT,2,1,1354,16.7,CSH,52 +CMT,2,3,2984,18.2,CSH,52 +CMT,1,1,563,1.3,CSH,8 +CMT,1,1,972,2.2,CRD,13 +CMT,1,1,772,5.8,CRD,18.5 +VTS,1,1,660,4.2,CRD,14 +VTS,1,1,420,1.41,CRD,7.5 +VTS,1,1,1560,7.65,CRD,25.5 +VTS,1,1,420,2.17,CSH,8 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,420,0.9,CSH,6 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,660,2.21,CRD,10 +VTS,1,1,1440,4.91,CRD,19 +VTS,1,1,240,0.98,CRD,5.5 +VTS,1,1,360,2.31,CRD,8.5 +VTS,1,1,1260,10.46,CRD,30 +VTS,1,1,480,1.96,CSH,8.5 +VTS,1,1,360,2.5,CRD,8.5 +VTS,1,1,1020,4.9,CSH,17 +VTS,1,1,480,1.44,CRD,7.5 +VTS,1,1,900,4.68,CSH,16 +VTS,1,1,540,1.98,CSH,8.5 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,720,4.25,CSH,14.5 +VTS,1,2,360,1.87,CSH,7.5 +VTS,5,1,0,0,CRD,67 +VTS,1,1,300,1.58,CSH,7 +VTS,1,1,1620,3.6,CRD,18.5 +VTS,1,1,360,0.96,CSH,6 +VTS,1,1,240,1.3,CSH,6 +VTS,1,1,840,2.33,CSH,11.5 +VTS,1,1,480,1.07,CRD,7 +VTS,1,1,240,0.97,CSH,5 +VTS,1,1,600,2.41,CSH,10 +VTS,1,1,300,0.99,CSH,6 +VTS,1,1,540,2.49,CRD,9.5 +VTS,1,1,240,0.9,CSH,5 +VTS,1,1,360,1.34,CRD,6.5 +VTS,1,1,360,1.78,CRD,7 +VTS,1,1,480,1.52,CSH,7.5 +VTS,1,1,2100,11.27,CRD,35 +VTS,1,1,900,2.57,CRD,12 +VTS,1,1,480,1.65,CRD,8 +VTS,1,1,540,1.36,CRD,8 +VTS,1,1,840,5.47,CRD,17 +VTS,1,1,1200,3.82,CRD,17 +VTS,1,1,240,1.1,CRD,5.5 +VTS,1,1,540,1.8,CRD,8.5 +VTS,1,1,360,1.08,CSH,6 +VTS,1,1,1020,6.06,CRD,20 +VTS,1,1,1260,9.63,CSH,29 +VTS,1,1,840,1.87,CRD,10.5 +VTS,1,1,240,0.72,CRD,5 +VTS,1,1,600,2.25,CRD,9.5 +VTS,1,1,900,3.47,CRD,13.5 +VTS,1,1,1440,9.95,CSH,30.5 +VTS,1,1,540,1.53,CRD,8 +VTS,1,1,540,1.8,CSH,8.5 +VTS,1,1,240,1.25,CRD,5.5 +VTS,1,1,840,1.94,CRD,11 +VTS,1,1,780,2.73,CSH,12 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,120,0.4,CRD,3.5 +VTS,1,1,600,2.35,CRD,9.5 +VTS,1,1,300,1.78,CRD,7 +VTS,1,1,540,1.7,CSH,8.5 +VTS,1,1,240,1.13,CRD,5.5 +VTS,1,1,300,1.27,CRD,6 +VTS,1,1,600,1.87,CRD,8.5 +VTS,1,2,1020,3.11,CSH,14 +VTS,1,1,240,0.73,CRD,5 +VTS,1,1,840,3.82,CSH,14 +VTS,1,1,720,1.53,CRD,9.5 +VTS,1,1,600,1.71,CSH,8.5 +VTS,1,1,1800,12.7,CRD,37.5 +VTS,1,1,780,1.08,CSH,9.5 +VTS,1,1,900,3.34,CRD,13.5 +VTS,1,1,1140,3.23,CRD,14 +VTS,1,1,720,2.47,CRD,11 +VTS,1,1,1140,4.11,CSH,17 +VTS,1,1,300,0.44,CRD,4.5 +VTS,1,1,900,4.6,CRD,16 +VTS,1,1,540,2.5,CSH,10 +VTS,1,1,360,1.47,CSH,7 +VTS,1,1,420,0.76,CRD,6 +VTS,1,1,480,1.83,CSH,8.5 +VTS,1,1,480,1.01,CRD,6.5 +VTS,1,1,720,2.47,CRD,11 +VTS,1,1,420,1.35,CRD,7.5 +VTS,1,1,1560,2.99,CRD,18 +VTS,1,1,1140,6.88,CRD,22 +VTS,1,1,540,1.76,CRD,8.5 +VTS,1,1,960,1.08,CRD,11 +VTS,1,1,1260,3.25,CSH,15 +VTS,1,1,360,1.2,CRD,7 +VTS,1,1,600,1.05,CRD,7.5 +VTS,1,1,1200,3.7,CSH,16.5 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,1560,8.62,CRD,28 +VTS,1,1,780,2.76,CSH,12 +VTS,1,1,480,0.68,CRD,7 +VTS,1,1,600,2.06,CRD,9 +VTS,1,1,420,1.33,CSH,7 +VTS,1,1,60,0.39,CSH,3.5 +VTS,1,1,480,1.76,CRD,8 +VTS,1,1,240,1.3,CRD,5.5 +VTS,1,1,480,1.57,CSH,8 +VTS,1,1,720,3.48,CRD,12.5 +VTS,1,1,420,2.33,CSH,8.5 +VTS,1,1,300,1.45,CSH,6.5 +VTS,1,1,960,4.06,CRD,14.5 +VTS,1,1,540,0.99,CSH,7.5 +VTS,1,1,1500,11.41,CRD,34 +VTS,1,1,540,1.77,CRD,8.5 +VTS,1,1,900,2.29,CRD,11.5 +VTS,1,1,540,1.34,CSH,8 +VTS,1,1,660,2.53,CSH,11 +VTS,1,1,780,3.35,CRD,13 +VTS,1,1,540,1.65,CRD,8 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,240,0.75,CSH,4.5 +VTS,1,1,720,1.68,CRD,9.5 +VTS,1,1,120,0.58,CSH,4 +VTS,1,1,300,1.97,CRD,8 +VTS,1,1,240,0.72,CRD,5 +VTS,1,1,420,1.46,CRD,7 +VTS,1,1,1500,5.48,CRD,21.5 +VTS,1,1,840,4.42,CSH,15.5 +VTS,1,1,120,0.95,CRD,5 +VTS,1,1,240,0.58,CSH,5 +VTS,1,1,1020,3.19,CSH,14 +VTS,1,1,600,1.56,CSH,8.5 +VTS,1,1,300,1.48,CRD,6.5 +VTS,1,1,420,2.6,CRD,9.5 +VTS,1,1,900,3.45,CSH,13.5 +VTS,1,1,600,2.11,CRD,9.5 +VTS,1,1,360,1.93,CSH,8 +VTS,1,1,540,3.21,CRD,11 +VTS,1,1,420,1.7,CSH,8 +VTS,1,1,420,1.75,CRD,7.5 +VTS,1,1,1740,3.36,CSH,19 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,480,2.52,CRD,9.5 +VTS,1,1,540,3.72,CRD,12 +VTS,1,1,420,0.92,CRD,6.5 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,1200,5.23,CRD,19.5 +VTS,1,1,1320,2.94,CSH,15 +VTS,1,1,780,2.11,CRD,10.5 +VTS,1,1,1140,5.04,CSH,18 +VTS,1,1,180,0.91,CRD,4.5 +VTS,1,1,600,2.91,CSH,11.5 +VTS,1,1,600,1.3,CRD,8.5 +VTS,1,1,960,1.98,CSH,11 +VTS,1,1,780,2.56,CRD,11 +VTS,1,1,1200,3.25,CRD,15.5 +VTS,1,1,720,1.99,CSH,10 +VTS,1,1,2040,12.38,CRD,38 +VTS,1,1,300,1.48,CSH,6.5 +VTS,1,1,420,1.6,CSH,7.5 +VTS,1,1,1200,3.88,CSH,17 +VTS,1,1,120,0.55,CSH,4 +VTS,1,1,1020,4.99,CSH,17.5 +VTS,1,1,1980,13.01,CRD,39 +VTS,1,1,840,1.82,CSH,10 +VTS,1,1,480,2.16,CRD,9 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,600,1.55,CRD,8.5 +VTS,1,1,360,0.75,CRD,6 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,1080,5.53,CRD,18.5 +VTS,1,1,1440,4.09,CRD,19 +VTS,1,1,1500,4.78,CRD,19 +VTS,1,1,360,1.16,CSH,6.5 +VTS,1,1,420,0.86,CSH,6.5 +VTS,1,1,120,0.43,CRD,3.5 +VTS,1,1,480,1.33,CRD,7 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,660,2.06,CRD,10 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,840,3.75,CRD,13.5 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,5,720,1.83,CSH,9.5 +VTS,1,1,180,1.3,CSH,5.5 +VTS,1,1,540,2.41,CSH,9.5 +VTS,1,1,480,0.41,CSH,6.5 +VTS,1,1,1440,12.59,CRD,36.5 +VTS,1,1,1020,1.55,CRD,11 +VTS,1,1,780,2.56,CSH,11.5 +VTS,1,1,1080,7.52,CRD,23 +VTS,1,1,360,1.93,CRD,8 +VTS,1,1,420,1.19,CRD,7 +VTS,1,1,600,0.95,CRD,7.5 +VTS,1,5,480,1.56,CRD,8 +VTS,1,1,480,2.69,CSH,9 +VTS,1,1,300,1.16,CSH,6 +VTS,1,1,360,1.79,CRD,7.5 +VTS,1,1,240,0.33,CSH,4 +VTS,1,1,180,0.82,CRD,4.5 +VTS,1,1,360,0.7,CSH,5.5 +VTS,2,1,2160,18.14,CRD,52 +VTS,1,1,960,4.44,CRD,16 +VTS,1,1,360,0.81,CSH,6 +VTS,1,1,1020,2.67,CRD,13 +VTS,1,1,300,0.58,CRD,5 +VTS,1,1,600,1.06,CSH,7.5 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,540,1.95,CRD,9 +VTS,1,1,1020,6.06,CRD,20 +VTS,1,1,480,1.51,CSH,7.5 +VTS,1,1,1320,3.01,CRD,15.5 +VTS,1,1,900,6.32,CRD,19.5 +VTS,1,1,720,5.35,CRD,17 +VTS,1,1,300,1.42,CRD,6.5 +VTS,1,1,180,0.85,CRD,5 +VTS,1,1,660,3.16,CRD,12 +VTS,1,1,180,0.59,CSH,4 +VTS,1,1,480,1.24,CRD,7 +VTS,1,1,300,0.73,CSH,5 +VTS,1,1,1620,6.32,CRD,23 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,2700,6.74,CSH,32.5 +VTS,1,1,720,3.8,CSH,14 +VTS,1,1,660,1.37,CSH,8.5 +VTS,1,1,720,1,CSH,8.5 +VTS,1,1,120,0.98,CRD,5 +VTS,1,1,720,2.83,CSH,11.5 +VTS,1,1,1260,4.26,CSH,17 +VTS,1,1,900,4.09,CRD,15 +VTS,1,1,1680,5.24,CRD,22 +VTS,1,1,1740,11.29,CRD,34.5 +VTS,1,1,1920,11.22,CSH,37 +VTS,1,1,540,2.02,CSH,9 +VTS,1,1,780,2.43,CRD,11 +VTS,1,1,780,1.23,CRD,9 +VTS,1,1,480,2.85,CSH,10.5 +VTS,1,1,720,0.99,CRD,8.5 +VTS,1,1,600,2.75,CRD,11 +VTS,1,1,960,4.25,CRD,15.5 +VTS,1,1,960,3.8,CRD,14.5 +VTS,1,1,840,2.79,CRD,12 +VTS,1,1,300,0.59,CSH,5 +VTS,1,1,1200,2.39,CSH,13.5 +VTS,1,1,1380,2.38,CRD,14.5 +VTS,1,1,540,2.51,CRD,10.5 +VTS,1,1,720,2.12,CRD,10.5 +VTS,1,1,1080,3.09,CRD,14.5 +VTS,1,1,120,0.35,CRD,3 +VTS,1,1,900,4.43,CSH,16.5 +VTS,1,1,360,0.68,CRD,5.5 +VTS,1,1,1800,3.25,CSH,19 +VTS,1,1,1140,10.76,CRD,30.5 +VTS,1,1,960,3.33,CRD,13.5 +VTS,1,1,2160,8.58,CRD,32 +VTS,1,1,1080,1.53,CSH,12 +VTS,1,1,420,1.28,CRD,7 +VTS,1,1,1200,2.46,CSH,14.5 +VTS,1,1,720,1.63,CRD,9.5 +VTS,1,1,840,1.84,CRD,10 +VTS,1,1,300,1.31,CRD,6.5 +VTS,1,1,360,1.52,CRD,7 +VTS,1,1,420,1.03,CSH,6 +VTS,1,1,360,0.95,CRD,6 +CMT,1,1,795,0.9,CSH,9.5 +CMT,1,1,817,1.4,CRD,10 +CMT,1,1,624,2.3,CSH,10.5 +CMT,5,1,50,0,CRD,17 +CMT,1,1,1164,6.9,CRD,21.5 +CMT,1,2,978,3.4,CSH,14 +CMT,1,1,435,2,CRD,8.5 +VTS,1,1,420,1.97,CRD,8 +VTS,1,1,780,1.76,CSH,10 +VTS,1,1,660,2.02,CSH,10 +VTS,1,1,780,1.3,CSH,9.5 +VTS,1,1,180,0.48,CRD,4.5 +VTS,1,1,720,1.92,CSH,9.5 +VTS,1,1,240,1.66,CSH,7 +VTS,1,1,1680,10.26,CRD,32.5 +VTS,1,1,600,3.22,CRD,11.5 +VTS,1,1,180,0.51,CSH,4 +VTS,1,1,1500,4.6,CRD,19 +VTS,1,1,180,0.43,CSH,4.5 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,480,1.16,CSH,7 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,900,2.77,CRD,12.5 +VTS,1,1,420,1.42,CSH,7.5 +VTS,1,1,480,2.02,CSH,9 +VTS,1,1,360,1.49,CRD,7 +VTS,1,1,360,0.88,CRD,6 +VTS,1,1,1740,8.72,CRD,28.5 +VTS,1,1,360,1.06,CSH,6.5 +VTS,1,1,360,1.11,CRD,6.5 +VTS,1,1,360,0.79,CSH,5.5 +VTS,1,1,360,0.78,CSH,6 +VTS,1,1,660,2.17,CRD,10.5 +VTS,1,1,840,7.89,CRD,22.5 +VTS,1,1,540,1.96,CRD,9 +VTS,1,1,1860,7.88,CSH,28.5 +VTS,1,1,480,2.34,CRD,9.5 +VTS,1,1,600,2.04,CRD,9 +VTS,1,1,1440,5.83,CRD,21.5 +VTS,1,1,540,1.6,CSH,8.5 +VTS,1,1,300,1,CSH,5.5 +VTS,1,1,660,2.64,CSH,10.5 +VTS,1,1,360,1.08,CRD,6 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,660,2.92,CRD,11.5 +VTS,1,1,1380,8.84,CRD,27.5 +VTS,1,1,960,3.56,CRD,14 +VTS,1,1,600,1.49,CRD,8.5 +VTS,1,1,420,1.8,CRD,7.5 +VTS,1,1,300,0.77,CRD,5 +VTS,1,1,720,1,CRD,8.5 +VTS,1,1,600,1.82,CRD,8.5 +VTS,1,1,480,1.41,CRD,7.5 +VTS,1,1,840,4.18,CRD,14.5 +VTS,1,1,900,0.99,CSH,10 +VTS,1,1,300,0.88,CSH,5.5 +VTS,1,1,1260,5.6,CSH,20.5 +VTS,1,1,240,0.9,CSH,5 +VTS,1,1,1020,3.5,CSH,14.5 +VTS,1,1,1020,6.18,CRD,21 +VTS,1,1,300,1.21,CSH,6 +VTS,1,1,1080,3.68,CRD,15 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,960,1.68,CSH,11 +VTS,1,1,180,1.21,CRD,5.5 +VTS,1,1,1080,1.94,CSH,12.5 +VTS,1,1,720,5.86,CRD,18 +VTS,1,1,660,1.54,CSH,8.5 +VTS,1,1,1500,8.23,CRD,26.5 +VTS,1,1,480,1.31,CRD,7.5 +VTS,1,1,420,1.23,CRD,6.5 +VTS,1,1,900,1.48,CRD,10.5 +VTS,1,1,360,0.99,CSH,6 +VTS,1,1,720,3.04,CSH,11.5 +VTS,1,1,720,1.94,CSH,10 +VTS,1,1,600,1.51,CRD,8.5 +VTS,1,1,960,2.37,CRD,12 +VTS,1,1,420,1.74,CRD,7.5 +VTS,1,5,900,3.94,CRD,14.5 +VTS,1,5,720,2.99,CSH,11.5 +VTS,1,5,660,2.29,CSH,10.5 +VTS,1,1,300,1.79,CRD,7 +VTS,1,1,420,2.13,CSH,8.5 +VTS,1,1,300,1.55,CSH,6.5 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,540,1.51,CSH,8.5 +VTS,1,1,1740,7.28,CRD,27.5 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,1,1020,2.56,CRD,12.5 +VTS,1,1,360,0.62,CRD,5.5 +VTS,1,1,600,1.17,CRD,8 +VTS,1,1,360,0.91,CRD,6 +VTS,1,1,900,2.43,CRD,12 +VTS,1,1,960,5.25,CSH,17 +VTS,1,1,660,2.81,CRD,11 +VTS,1,1,540,0.89,CRD,7 +VTS,1,1,300,0.68,CRD,5 +VTS,1,1,660,1.77,CSH,9.5 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,600,1.6,CRD,9 +VTS,1,1,1440,6.71,CRD,23.5 +VTS,1,1,960,3.5,CRD,13.5 +VTS,1,1,1080,12.93,CSH,35 +VTS,1,1,960,2.42,CRD,12.5 +VTS,1,1,420,0.72,CRD,6 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,300,0.67,CSH,5 +VTS,1,5,360,1.52,CRD,7.5 +VTS,1,5,600,1.88,CRD,9 +VTS,1,5,120,0.71,CRD,4 +VTS,1,1,420,1.51,CRD,7.5 +VTS,1,1,300,1.07,CSH,5.5 +VTS,1,1,840,2.97,CRD,12.5 +VTS,1,1,420,0.75,CSH,6 +VTS,1,1,480,1.2,CRD,7 +VTS,1,1,1080,3.19,CSH,14 +VTS,1,1,240,1.26,CRD,6 +VTS,1,1,840,1.5,CRD,10 +VTS,1,1,540,1.62,CSH,8 +VTS,1,1,360,0.94,CRD,6 +VTS,1,1,240,0.48,CSH,4.5 +VTS,1,1,420,1.53,CRD,7.5 +VTS,1,1,120,0.45,CSH,3.5 +VTS,1,1,420,2.24,CRD,8.5 +VTS,1,1,1440,8,CRD,26 +VTS,1,1,1920,4.33,CSH,21.5 +VTS,1,1,480,1.2,CRD,7 +VTS,1,1,840,1.82,CRD,10 +VTS,1,1,660,3.33,CRD,12 +VTS,1,5,420,1.49,CSH,7.5 +VTS,1,5,780,2.72,CSH,12 +VTS,1,1,300,1.32,CSH,6 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,1200,9.85,CRD,28.5 +VTS,1,1,120,0.85,CSH,4.5 +VTS,1,1,600,1.98,CSH,9 +VTS,1,1,660,2.2,CRD,10 +VTS,1,1,480,1.13,CRD,7 +VTS,1,1,780,1.45,CSH,10 +VTS,1,1,1080,6.04,CRD,20 +VTS,1,1,240,1.46,CRD,6 +VTS,1,1,1740,5.55,CRD,23 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,1560,11.37,CSH,34.5 +VTS,1,1,300,0.98,CSH,6 +VTS,1,1,1140,1.54,CSH,13 +VTS,1,1,720,2.63,CSH,11.5 +VTS,1,1,120,0.55,CRD,4 +VTS,1,1,1680,3.68,CSH,19 +VTS,1,1,660,1.48,CRD,8.5 +VTS,1,1,240,1.4,CSH,6 +VTS,1,1,960,2.15,CRD,12 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,1020,2.91,CSH,13.5 +VTS,1,1,420,1.61,CRD,7.5 +VTS,1,1,660,1.47,CRD,8.5 +VTS,1,1,900,3.02,CSH,13 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,540,2.09,CRD,9.5 +VTS,1,1,1620,10.52,CRD,32 +VTS,1,1,480,1.11,CRD,6.5 +VTS,1,1,960,1.82,CSH,11.5 +VTS,1,1,840,2.49,CRD,11.5 +VTS,1,1,540,1.8,CRD,8.5 +VTS,1,1,540,1.64,CRD,8 +VTS,1,1,360,0.99,CRD,6.5 +VTS,1,1,1080,2.58,CSH,13.5 +VTS,1,1,1560,5.92,CSH,24 +VTS,1,1,1920,11.49,CRD,33.5 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,1260,3.77,CRD,15.5 +VTS,1,1,1500,9.58,CRD,29 +VTS,1,1,660,1.75,CSH,9.5 +VTS,1,1,360,0.55,CSH,5.5 +VTS,1,1,1020,2.54,CSH,13 +VTS,1,1,120,0.44,CRD,3.5 +VTS,1,1,300,1.58,CSH,7 +VTS,1,1,600,1.92,CRD,9 +VTS,1,1,300,0.76,CRD,5 +VTS,1,1,420,1.54,CRD,7.5 +VTS,1,1,1140,8.7,CRD,25.5 +VTS,1,1,1020,2.62,CRD,13 +VTS,1,1,1380,3.84,CSH,17 +VTS,1,1,1200,6.64,CRD,22 +VTS,1,1,600,2.28,CRD,10 +VTS,1,1,420,1.06,CSH,6.5 +VTS,1,1,780,2.38,CRD,11 +VTS,1,1,180,0.52,CSH,4 +VTS,1,1,480,1.39,CRD,7 +VTS,1,1,780,2.89,CRD,12 +VTS,1,1,420,1.82,CSH,8 +VTS,1,1,300,0.63,CSH,5.5 +VTS,1,1,1380,4.22,CRD,18 +VTS,1,1,1320,2.69,CSH,15 +VTS,1,1,1200,7.73,CRD,24 +VTS,1,1,1500,6.89,CRD,25.5 +VTS,1,1,180,0.52,CSH,4.5 +VTS,1,1,240,1.07,CRD,5.5 +VTS,1,1,300,0.61,CRD,5 +VTS,1,1,480,1.1,CSH,7 +VTS,1,1,840,2.55,CRD,12.5 +VTS,1,1,1680,8.31,CRD,28.5 +VTS,1,1,840,2,CRD,10.5 +VTS,1,1,420,0.81,CRD,6.5 +VTS,1,1,1140,4.58,CRD,17.5 +VTS,1,1,1740,7.6,CSH,26.5 +VTS,1,1,1560,7.64,CRD,26.5 +VTS,1,1,180,0.85,CSH,5 +VTS,1,1,1380,11.05,CSH,33 +VTS,1,1,360,2.99,CRD,10 +VTS,1,1,1440,11.23,CRD,32.5 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,240,1.06,CRD,5.5 +VTS,1,1,660,2.85,CRD,11.5 +VTS,1,1,840,2.36,CRD,11 +VTS,1,1,240,0.96,CSH,5 +VTS,1,1,180,0.45,CRD,4 +VTS,1,1,3300,9.23,CRD,37.5 +VTS,1,1,1920,12.98,CRD,39.5 +VTS,1,1,720,1.87,CSH,10 +VTS,1,1,1320,6.1,CSH,22 +VTS,1,1,480,0.83,CSH,7 +VTS,1,1,360,1.1,CSH,6.5 +VTS,1,1,480,1.07,CSH,6.5 +VTS,1,1,600,2.06,CRD,9 +VTS,1,1,420,0.53,CSH,6 +VTS,1,1,480,2.87,CRD,9.5 +VTS,1,1,1740,9.68,CSH,30.5 +VTS,1,1,720,2.39,CSH,10 +VTS,1,1,840,3.02,CRD,12.5 +VTS,1,1,660,2.32,CRD,10.5 +VTS,1,1,600,1.17,CRD,8 +VTS,1,1,540,1.35,CSH,8 +VTS,1,1,420,1.31,CRD,7 +VTS,1,1,420,1.18,CRD,6.5 +VTS,1,5,720,2.5,CRD,11 +VTS,1,1,480,2.61,CRD,9.5 +VTS,1,1,180,1.1,CRD,5 +VTS,1,1,360,1.02,CSH,6 +VTS,1,1,300,1.17,CSH,6 +VTS,1,1,360,1.52,CRD,7 +VTS,1,1,840,1.37,CSH,10 +VTS,1,1,480,1.9,CSH,8.5 +VTS,1,1,660,1.27,CRD,9 +VTS,1,1,840,0.93,CRD,9.5 +VTS,1,1,240,0.63,CRD,4.5 +VTS,1,1,300,1.24,CSH,6 +VTS,1,1,420,1.44,CSH,7 +VTS,1,1,1020,3.25,CRD,13.5 +VTS,1,1,1980,12.9,CRD,39 +VTS,1,1,960,2.29,CRD,12 +VTS,1,1,300,1.13,CRD,6 +VTS,1,1,120,0.49,CSH,4 +VTS,1,1,1440,4.11,CRD,18 +VTS,1,1,240,0.37,CSH,4.5 +VTS,1,1,420,2.14,CSH,8 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,600,1.25,CSH,8 +VTS,1,1,1500,5.27,CRD,21 +VTS,1,1,720,2.59,CSH,11 +VTS,1,1,540,2.4,CRD,9.5 +VTS,1,5,1320,4.53,CSH,19 +VTS,1,5,60,0.18,CSH,2.5 +VTS,1,1,660,3.18,CRD,12 +VTS,1,1,540,2.09,CRD,9 +VTS,1,1,300,0.81,CRD,5.5 +VTS,1,1,660,2.14,CRD,9.5 +VTS,2,1,2400,17.32,CSH,52 +VTS,1,1,300,0.89,CSH,5 +VTS,1,1,1800,11.52,CRD,35.5 +VTS,1,1,1020,3.76,CSH,15 +VTS,1,1,1140,5.27,CRD,19 +VTS,1,1,360,1.85,CSH,8 +VTS,1,1,540,1.56,CSH,8 +VTS,1,1,420,2.01,CRD,8 +VTS,1,1,480,0.78,CSH,7 +VTS,1,1,1080,5.56,CRD,19 +VTS,1,1,240,1.08,CSH,5.5 +VTS,1,1,840,1.52,CRD,10.5 +VTS,1,1,660,0.92,CRD,8 +VTS,1,1,1380,9.12,CSH,28.5 +VTS,1,1,780,2.01,CSH,10 +VTS,1,1,720,2.82,CSH,11 +VTS,1,1,1200,2.34,CRD,13.5 +VTS,1,1,780,1.77,CSH,10 +VTS,1,1,1260,10.66,CSH,31 +VTS,1,1,180,0.85,CSH,4.5 +VTS,1,1,660,1.43,CRD,8.5 +VTS,1,1,420,1.73,CRD,7.5 +VTS,1,1,1860,5.47,CRD,24 +VTS,1,1,420,1.78,CRD,7.5 +VTS,1,1,600,1.69,CSH,9 +VTS,1,1,420,1.04,CSH,7 +VTS,1,1,1320,10.1,CRD,29 +VTS,1,1,1980,16.33,CRD,45.5 +VTS,1,1,1200,2.92,CSH,15 +VTS,1,1,660,3.04,CRD,11.5 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,1,240,1.08,CSH,5.5 +VTS,1,1,360,1.29,CSH,6 +VTS,1,1,540,1.43,CSH,8 +VTS,1,5,1920,5.42,CRD,23.5 +VTS,1,5,540,1.23,CRD,8 +VTS,1,5,180,0.45,CRD,4 +VTS,1,1,480,1.86,CRD,8.5 +VTS,1,1,120,0.96,CSH,4.5 +VTS,1,1,600,1.55,CSH,8.5 +VTS,1,1,660,2.29,CRD,10 +VTS,1,1,660,3.01,CRD,11.5 +VTS,1,1,540,2.06,CSH,9 +VTS,1,1,420,1.18,CSH,6.5 +VTS,1,1,720,0.86,CRD,8.5 +VTS,1,1,60,0.61,CSH,4 +VTS,1,1,240,0.7,CRD,5 +VTS,1,1,660,1.64,CRD,9.5 +VTS,1,1,600,2.01,CSH,9 +VTS,1,1,300,0.38,CRD,5 +VTS,1,1,1800,5.93,CRD,25.5 +VTS,1,1,420,0.74,CRD,6.5 +VTS,1,1,180,0.59,CSH,4.5 +VTS,1,1,1500,6.53,CSH,23.5 +VTS,1,1,540,2.31,CRD,10 +VTS,1,1,1260,9.55,CRD,28.5 +VTS,1,1,180,0.89,CSH,5 +VTS,1,1,420,1.36,CRD,7 +VTS,1,1,1260,3.6,CSH,16.5 +VTS,1,1,840,1.22,CSH,9.5 +VTS,1,1,840,3.83,CRD,14.5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,1140,2.71,CSH,13.5 +VTS,1,1,840,2.58,CRD,12 +VTS,1,1,1380,5.68,CRD,21 +VTS,1,1,360,0.8,CRD,6 +VTS,1,1,540,1.41,CSH,8.5 +VTS,1,1,720,1.7,CRD,9.5 +VTS,5,1,1740,23.29,CRD,123 +VTS,1,1,360,0.85,CSH,6 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,600,1.49,CSH,8.5 +VTS,1,1,540,1.96,CRD,8.5 +VTS,1,1,540,1.34,CSH,7.5 +VTS,1,1,1080,2.26,CSH,13 +VTS,1,1,1680,3.41,CSH,18.5 +VTS,1,1,900,1.78,CRD,10.5 +VTS,1,1,1440,6.23,CRD,22.5 +VTS,1,1,1680,8.66,CRD,29 +VTS,1,1,1080,2.66,CSH,14 +VTS,1,1,1080,1.74,CRD,12.5 +VTS,1,1,660,1.84,CSH,9.5 +VTS,1,1,540,1.8,CRD,8 +VTS,1,1,1320,10.34,CSH,30 +VTS,1,1,300,1.64,CSH,7 +VTS,1,1,660,2.04,CRD,10 +VTS,1,1,900,5.14,CRD,17.5 +VTS,1,1,1500,5.1,CRD,20.5 +VTS,1,1,1440,7.55,CSH,25 +VTS,1,1,960,1.85,CRD,11.5 +VTS,1,1,1980,11.04,CSH,36 +VTS,1,1,540,1.78,CSH,9 +VTS,1,1,720,2.25,CRD,11 +VTS,1,1,660,1.35,CSH,8.5 +VTS,1,1,180,0.83,CRD,4.5 +VTS,1,1,900,3.87,CRD,14.5 +VTS,1,1,420,1.75,CSH,7.5 +VTS,1,1,840,2.04,CSH,10.5 +VTS,1,1,1200,3.6,CRD,15.5 +VTS,1,1,420,0.68,CSH,5.5 +VTS,1,1,1020,2.2,CRD,13.5 +VTS,1,1,2040,5.5,CSH,24 +VTS,1,1,1260,1.1,CSH,12.5 +VTS,1,1,960,1.31,CRD,10.5 +VTS,1,1,420,0.69,CSH,6 +VTS,1,1,960,3.04,CSH,13.5 +VTS,1,1,540,2.53,CSH,10.5 +VTS,1,1,1500,2.96,CSH,17 +VTS,1,1,360,0.67,CSH,5.5 +VTS,1,1,660,1.12,CRD,8.5 +VTS,1,1,660,0.94,CRD,8 +VTS,1,1,360,1.91,CSH,8 +VTS,1,1,360,1.68,CSH,7.5 +VTS,1,1,480,1.05,CSH,7 +VTS,1,1,780,2.97,CSH,12 +VTS,1,1,240,0.95,CRD,5 +VTS,1,1,1020,3.15,CRD,14 +VTS,1,1,840,2.38,CRD,11.5 +VTS,1,1,540,1.14,CSH,8 +VTS,1,1,240,0.48,CRD,4.5 +CMT,1,3,1827,11,CSH,35 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,720,2.85,CSH,11 +VTS,1,1,720,1.47,CSH,9 +VTS,1,1,960,2.23,CSH,12 +VTS,1,1,1020,3.07,CRD,14 +VTS,1,1,780,1.29,CRD,9.5 +VTS,1,1,900,2.44,CRD,12.5 +VTS,1,1,120,0.76,CSH,4.5 +VTS,1,1,420,0.72,CRD,6 +VTS,1,1,900,3.24,CRD,13 +VTS,1,1,720,1.72,CRD,10 +VTS,1,1,300,0.66,CSH,5 +VTS,1,1,540,1.78,CSH,8.5 +VTS,1,1,180,0.5,CSH,4 +VTS,1,1,900,2.97,CRD,10.5 +VTS,1,1,1020,2.26,CRD,12.5 +VTS,1,1,120,0.44,CSH,4 +VTS,1,1,180,0.48,CRD,4 +VTS,1,1,720,1.2,CRD,9 +VTS,1,1,600,1.53,CSH,8.5 +VTS,1,1,1020,7.98,CRD,24.5 +VTS,1,1,1440,4.52,CRD,19.5 +VTS,1,1,1380,2.91,CSH,15.5 +VTS,1,1,240,1.43,CSH,6 +VTS,1,1,1980,4.78,CSH,23 +VTS,1,1,540,1.33,CRD,7.5 +VTS,1,1,240,1,CSH,5.5 +VTS,1,1,900,5.2,CSH,17.5 +VTS,1,1,840,3.37,CSH,13 +CMT,2,1,2363,0,CRD,52 +CMT,1,1,588,1,CSH,8 +CMT,1,1,1326,4.8,CRD,19 +CMT,1,1,242,0.4,CSH,4.5 +CMT,1,2,1249,13.4,CSH,36.5 +CMT,1,1,422,1.2,CSH,7 +CMT,1,1,276,0.6,CSH,5 +CMT,1,2,258,1.3,CRD,6 +CMT,1,1,744,2.8,CSH,12 +CMT,1,1,831,2.4,CRD,11.5 +CMT,1,1,406,1.2,CRD,6.5 +CMT,1,1,879,1.9,CRD,11.5 +CMT,1,1,637,0.6,CSH,7.5 +CMT,1,1,373,0.9,CSH,6 +CMT,1,1,1123,3.2,CSH,15 +CMT,1,2,255,0.4,CRD,4.5 +CMT,1,1,867,1.1,CRD,10 +CMT,1,2,298,0.5,CSH,5 +CMT,1,2,368,1.1,CRD,6.5 +CMT,1,1,1368,2.9,CRD,16 +CMT,1,1,526,1.2,CSH,7.5 +CMT,1,1,987,2.1,CSH,12 +CMT,1,1,733,2.6,CRD,11 +VTS,1,1,360,0.95,CRD,6 +VTS,1,1,780,1.99,CRD,10.5 +VTS,1,1,1260,3.05,CRD,15.5 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,420,0.96,CSH,6.5 +VTS,1,1,240,0.77,CSH,5 +VTS,1,1,480,0.86,CSH,6.5 +VTS,1,1,300,0.57,CSH,5 +VTS,1,1,1020,4.48,CSH,17 +VTS,1,1,780,2.37,CSH,10.5 +VTS,5,1,960,4.76,CRD,40 +VTS,1,1,360,0.95,CSH,6.5 +VTS,1,1,480,1.73,CRD,8.5 +VTS,1,1,1200,2.28,CSH,13.5 +VTS,1,1,1980,3.35,CRD,21.5 +VTS,1,1,180,0.63,CRD,4.5 +VTS,1,1,540,0.47,CSH,7 +VTS,1,1,420,1.09,CRD,7 +VTS,2,1,2820,17.51,CRD,52 +VTS,2,1,2940,19.53,CSH,52 +VTS,1,1,1080,1.85,CSH,12 +VTS,1,1,540,1.05,CRD,7.5 +VTS,1,1,1140,2.15,CRD,13 +VTS,1,1,840,1.4,CSH,10 +VTS,1,1,720,1.5,CRD,9.5 +VTS,1,1,1500,5.74,CRD,21 +VTS,1,1,780,1.72,CRD,10 +VTS,1,1,1200,3.99,CRD,17 +VTS,1,1,660,1.39,CRD,9 +VTS,1,1,240,0.96,CSH,5 +VTS,1,1,720,1.99,CSH,10 +VTS,1,1,720,2.13,CRD,10 +VTS,1,1,1200,2.29,CRD,14 +VTS,1,1,1140,9.26,CRD,26.5 +VTS,1,1,1140,2.66,CRD,13 +VTS,1,1,780,1.73,CRD,10 +VTS,1,1,420,1.29,CRD,7 +VTS,1,1,960,3.94,CRD,15.5 +VTS,1,1,420,2.42,CSH,8.5 +VTS,1,1,780,2.39,CRD,11 +VTS,1,1,540,2.4,CRD,10 +VTS,1,1,900,5.49,CRD,18.5 +VTS,1,1,1140,3.86,CRD,17 +VTS,1,1,300,1.14,CSH,6 +VTS,1,1,840,3.61,CSH,13.5 +VTS,1,1,1140,4.94,CSH,18 +VTS,1,1,1680,3.39,CRD,18.5 +VTS,1,1,1260,1.71,CRD,13.5 +VTS,1,1,300,0.63,CSH,5 +VTS,1,1,1140,3.7,CRD,15.5 +VTS,1,1,720,3.34,CRD,12.5 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,180,1.05,CSH,5.5 +VTS,1,1,900,4.51,CSH,15.5 +VTS,1,1,720,3.27,CRD,12.5 +VTS,1,1,1200,3.43,CSH,15.5 +VTS,1,1,480,1.81,CRD,8.5 +VTS,1,1,60,0.36,CSH,3 +VTS,1,1,300,1,CRD,5.5 +VTS,1,1,480,1.55,CRD,7.5 +VTS,1,1,1080,3.21,CRD,14.5 +VTS,1,1,300,1.33,CSH,6.5 +VTS,1,1,540,1.02,CSH,8 +VTS,1,1,420,1.24,CRD,6.5 +VTS,1,1,660,1.89,CSH,9.5 +VTS,1,1,480,1.2,CSH,7 +VTS,1,1,840,1.56,CRD,10.5 +VTS,1,1,300,0.66,CSH,5 +VTS,1,1,1260,3.13,CRD,16 +VTS,1,1,1500,9.45,CSH,28.5 +VTS,1,1,1200,9.05,CRD,27 +VTS,1,1,1500,6.15,CRD,23.5 +VTS,1,1,780,4.52,CRD,15 +VTS,1,1,180,0.44,CSH,4 +VTS,1,1,300,0.59,CSH,5 +VTS,1,1,480,1.5,CRD,7.5 +VTS,1,1,780,2.11,CSH,10.5 +VTS,1,1,780,1.77,CRD,10.5 +VTS,1,1,540,1.7,CSH,8 +VTS,1,1,360,0.5,CSH,6 +VTS,1,1,780,1.56,CRD,10 +VTS,1,1,540,1.02,CSH,7 +VTS,1,1,600,1.58,CSH,9 +VTS,1,1,540,1.5,CSH,8 +VTS,1,1,300,0.48,CSH,4.5 +VTS,1,1,540,1.33,CSH,8 +VTS,1,1,420,0.89,CSH,6 +VTS,1,1,480,1.52,CSH,8 +VTS,1,1,600,1.77,CRD,9 +VTS,1,1,720,3.14,CRD,12.5 +VTS,1,1,180,1.12,CSH,5.5 +VTS,1,1,360,1.62,CSH,7 +VTS,1,1,1200,1.98,CRD,14 +VTS,1,1,720,1,CSH,9 +VTS,1,1,540,2.19,CRD,9.5 +VTS,1,1,780,1.86,CSH,10 +VTS,1,1,900,1.27,CRD,10.5 +VTS,1,1,600,1.14,CSH,8 +VTS,1,1,180,0.73,CSH,4.5 +VTS,1,1,240,0.89,CRD,5 +VTS,1,1,540,1.49,CRD,7.5 +CMT,1,2,827,2.7,CSH,12.5 +CMT,1,1,728,2.6,CRD,11.5 +CMT,1,2,246,1,CRD,6 +CMT,1,1,319,1.4,CSH,7 +CMT,1,1,941,2.6,CSH,12.5 +CMT,1,1,330,0.7,CRD,5.5 +CMT,1,1,1488,4.4,CSH,19.5 +CMT,1,2,3326,22.2,CRD,65.5 +CMT,1,2,1096,2.9,CSH,14 +CMT,1,1,972,2.5,CSH,12.5 +CMT,1,1,770,1.3,CSH,9.5 +CMT,1,1,311,0.5,CSH,5 +CMT,1,1,143,0.4,CSH,4 +CMT,1,3,248,0.5,CRD,5 +CMT,1,1,145,0.5,CRD,4 +CMT,1,1,760,1.9,CRD,10 +CMT,1,1,806,1.3,CRD,9.5 +CMT,1,1,543,0.7,CRD,7 +CMT,1,1,349,1.1,CSH,6.5 +CMT,1,2,329,1,CRD,6 +CMT,1,1,1156,3.7,CSH,16 +CMT,1,1,1175,3.7,CRD,16.5 +CMT,1,1,1193,13.4,CSH,37.5 +CMT,1,1,556,1.2,CSH,8 +CMT,1,4,957,6.4,CSH,20.5 +CMT,1,1,401,2.2,CRD,9 +CMT,1,1,1136,5.5,CSH,20.5 +CMT,1,2,578,0.9,CSH,7.5 +CMT,1,1,180,0.5,CSH,4 +VTS,1,1,360,0.97,CSH,6 +VTS,1,1,360,1.66,CRD,7.5 +VTS,1,1,900,3,CRD,13 +VTS,1,1,960,6.9,CSH,20.5 +VTS,1,1,360,0.87,CRD,6 +VTS,1,1,600,1.87,CRD,9.5 +VTS,1,1,660,1.21,CRD,8.5 +VTS,1,1,540,1.46,CRD,8 +VTS,1,1,300,0.7,CSH,5 +VTS,1,1,1080,2.11,CRD,13 +VTS,1,1,1260,2.69,CSH,15 +VTS,1,1,600,1.5,CSH,8.5 +VTS,1,1,780,1.42,CRD,9.5 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,360,0.88,CRD,5.5 +VTS,1,1,720,1.85,CSH,9.5 +VTS,1,1,1320,8.54,CRD,27 +VTS,1,1,960,2.56,CSH,12.5 +VTS,1,1,480,1.4,CSH,7.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,900,2.88,CRD,12.5 +CMT,1,1,450,2.5,CRD,9 +CMT,1,1,244,0.3,CRD,4.5 +CMT,1,1,549,2,CSH,9.5 +CMT,1,1,170,0.7,CRD,4.5 +CMT,1,1,1115,2.6,CSH,14.5 +CMT,1,1,715,1.9,CRD,10 +CMT,1,2,972,2.7,CRD,13.5 +CMT,1,1,596,0.8,CSH,7.5 +CMT,1,1,766,4.4,CRD,14.5 +CMT,1,1,2211,14.4,CRD,41 +CMT,1,1,390,1.2,CSH,6.5 +CMT,1,1,1103,1.9,CRD,13 +CMT,1,1,176,0.6,CSH,4.5 +CMT,1,1,331,0.3,CRD,5 +CMT,1,4,518,0.7,CSH,7 +CMT,1,1,589,1,CRD,8 +CMT,1,1,212,0.5,CSH,4.5 +CMT,1,1,264,0.6,CRD,5 +CMT,1,1,518,2.9,CSH,11.5 +CMT,1,1,915,2.3,CRD,12 +CMT,1,1,493,1.5,CSH,8 +CMT,1,1,805,1,CRD,9.5 +CMT,1,1,200,0.5,CSH,4.5 +CMT,1,1,223,0.8,CSH,5 +CMT,1,1,366,1.2,CRD,6.5 +CMT,1,1,403,1.1,CRD,6.5 +CMT,1,2,321,0.6,CSH,5.5 +CMT,1,2,1507,4.7,CSH,19.5 +CMT,1,1,947,5.7,CRD,19.5 +CMT,1,1,757,5.7,CSH,19 +CMT,1,1,399,1.6,CRD,7.5 +CMT,1,2,211,0.6,CSH,4.5 +CMT,1,2,777,2.4,CSH,11.5 +CMT,1,1,682,1.4,CSH,9 +CMT,1,1,1109,2.6,CRD,14 +CMT,1,2,2027,12.2,CRD,38.5 +CMT,1,1,100,0.3,CRD,3.5 +CMT,1,1,1199,5.4,CRD,19.5 +CMT,1,1,871,2,CRD,11 +CMT,1,3,344,0.8,CSH,6 +CMT,1,1,203,0.8,CSH,5 +CMT,1,1,228,0.4,CRD,4.5 +CMT,1,3,921,5.3,CRD,18 +CMT,1,1,557,1.2,CSH,8 +CMT,1,1,573,1,CRD,7.5 +CMT,1,1,945,0.9,CRD,10.5 +CMT,1,1,1974,5.8,CSH,24.5 +CMT,1,1,441,0.9,CSH,6.5 +CMT,1,2,839,1.5,CSH,10 +CMT,1,2,977,1.4,CSH,11 +CMT,1,2,492,1.3,CSH,7.5 +CMT,1,2,349,0.9,CRD,6 +CMT,1,1,1671,3,CSH,18.5 +CMT,1,1,376,0.8,CSH,6 +CMT,1,1,234,0.4,CSH,4.5 +CMT,1,1,697,1.1,CSH,8.5 +CMT,1,1,1076,2.2,CRD,13 +VTS,1,1,540,0.86,CRD,7 +VTS,1,1,600,1.9,CRD,9.5 +VTS,1,1,120,0.34,CRD,3.5 +VTS,1,1,600,1.56,CRD,9 +VTS,1,1,300,1.52,CSH,6.5 +VTS,1,1,120,0.88,CRD,4.5 +VTS,1,1,240,0.82,CRD,5 +VTS,1,1,780,3.13,CSH,12 +VTS,1,1,1320,3.71,CRD,15.5 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,720,1.98,CRD,10 +VTS,1,1,780,3.73,CSH,14 +VTS,1,1,1200,8.07,CSH,25 +VTS,1,1,360,1.01,CRD,6 +VTS,1,1,960,1.99,CRD,12 +VTS,1,1,840,1.53,CRD,10.5 +VTS,1,1,840,1.19,CSH,9.5 +VTS,1,1,360,0.59,CSH,5.5 +VTS,1,1,480,1.26,CRD,7.5 +VTS,1,1,960,2.5,CRD,12.5 +VTS,1,1,1200,3.17,CSH,14.5 +VTS,1,1,720,2.25,CRD,10 +VTS,1,1,360,0.67,CRD,5 +CMT,1,1,2582,12.8,CRD,43.5 +CMT,1,1,539,1.3,CRD,7.5 +CMT,1,1,579,1.3,CRD,8 +CMT,1,1,716,1.7,CRD,10 +CMT,2,1,2020,7.3,CRD,52 +CMT,2,1,2895,16.3,CSH,52 +CMT,1,1,832,2.5,CSH,11.5 +CMT,2,2,2816,19.2,CRD,52 +CMT,1,1,1878,4.9,CSH,22 +CMT,1,1,458,0.8,CRD,6.5 +CMT,1,2,1456,4.6,CSH,20 +CMT,1,4,588,1.6,CSH,8.5 +CMT,1,1,1146,6.9,CRD,22 +CMT,1,1,345,0.9,CSH,6 +CMT,1,1,1057,2.5,CRD,13 +CMT,1,1,1065,2.4,CRD,13 +CMT,1,1,496,1.6,CSH,8 +CMT,1,1,671,1.5,CRD,9 +CMT,1,1,1727,3.4,CSH,19 +CMT,1,2,688,1,CSH,8.5 +CMT,1,1,768,1.6,CSH,10 +CMT,1,4,296,0.6,CRD,5 +CMT,1,1,807,2.8,CRD,12 +CMT,1,2,210,0.5,CRD,4.5 +CMT,1,1,305,0.8,CSH,5.5 +CMT,1,2,374,1.2,CRD,6.5 +CMT,1,3,805,2.5,CSH,11.5 +CMT,1,2,4254,21,CRD,67 +CMT,1,1,340,0.9,CRD,6 +CMT,1,1,917,2.3,CRD,12.5 +CMT,1,1,1005,2.8,CSH,13.5 +CMT,1,1,447,0.9,CSH,6.5 +CMT,1,2,327,1,CRD,6 +CMT,1,1,518,1.9,CSH,8.5 +CMT,1,1,367,0.8,CRD,6 +CMT,1,2,1688,5.5,CSH,23 +CMT,1,1,496,1.6,CRD,8 +CMT,1,1,891,2,CSH,11.5 +CMT,1,1,1385,2.7,CRD,15.5 +CMT,1,1,1159,5.9,CRD,20 +CMT,1,1,98,0.4,CRD,3.5 +CMT,1,1,482,1.3,CRD,7.5 +CMT,1,1,545,1.7,CRD,8.5 +CMT,1,1,431,1.4,CSH,7.5 +CMT,1,1,673,1.5,CSH,9 +CMT,1,2,376,0.9,CRD,6 +CMT,1,1,428,1.6,CSH,8 +CMT,1,1,209,0.5,CRD,4.5 +CMT,1,1,1579,4.1,CRD,19.5 +CMT,3,1,1575,19.2,CRD,69 +CMT,1,1,697,1.9,CRD,10 +CMT,1,2,411,0.7,CRD,6 +CMT,1,2,545,1,CRD,7.5 +CMT,1,2,649,1.9,CSH,9.5 +CMT,1,1,789,1.8,CRD,10.5 +CMT,1,1,331,0.7,CSH,5.5 +CMT,1,1,746,2.6,CRD,12 +CMT,1,1,1190,6.5,CRD,22 +CMT,1,1,740,1.3,CRD,10 +CMT,1,2,382,1,CRD,6.5 +CMT,1,1,643,2.2,CRD,10 +CMT,1,1,72,0.3,CRD,3.5 +CMT,1,1,373,1.4,CSH,7.5 +CMT,1,2,982,9.6,CRD,28 +CMT,1,1,130,0.3,CSH,3.5 +CMT,1,1,587,1.5,CSH,8.5 +CMT,1,1,1077,1.7,CSH,12.5 +CMT,1,1,235,0.8,CSH,5 +CMT,1,3,757,0.9,CRD,9 +CMT,1,1,544,0.9,CSH,7.5 +CMT,1,1,504,1.5,CSH,8 +CMT,1,1,730,4,CRD,14 +CMT,1,2,1741,4.5,CSH,20.5 +CMT,1,1,231,0.4,CRD,4.5 +CMT,1,1,511,4,CSH,13.5 +CMT,1,3,1670,10.4,CRD,33 +CMT,1,1,679,0.9,CRD,8.5 +CMT,1,1,2027,11.5,CSH,35 +CMT,1,1,143,0.5,CSH,4 +CMT,1,3,1080,2.4,CSH,13 +CMT,1,2,522,1.2,CRD,7.5 +CMT,1,1,771,1.5,CRD,9.5 +CMT,1,1,564,1.7,CSH,9 +CMT,1,1,426,0.9,CSH,6.5 +CMT,1,1,1688,6.3,CSH,23.5 +CMT,1,1,541,1.6,CSH,9 +CMT,1,1,381,0.7,CSH,6 +CMT,1,2,358,1.5,CRD,7.5 +CMT,1,1,863,4.3,CSH,16 +CMT,1,1,144,0.5,CSH,4 +CMT,1,1,379,0.8,CRD,6 +CMT,1,1,625,1.8,CRD,9.5 +CMT,1,1,606,1.7,CSH,9 +CMT,1,1,139,0.4,CSH,4 +CMT,1,2,418,1.1,CRD,6.5 +CMT,1,1,921,2.3,CSH,12.5 +CMT,1,1,251,0.9,CRD,5.5 +CMT,1,1,977,2.3,CSH,12.5 +CMT,1,4,290,1,CSH,5.5 +CMT,1,3,353,0.9,CSH,6 +CMT,1,1,363,1.4,CRD,7 +CMT,1,1,1073,4.3,CRD,16 +CMT,1,3,619,3.3,CRD,12 +CMT,1,2,908,1.5,CSH,10.5 +CMT,1,1,482,1.5,CSH,7.5 +CMT,1,1,685,0.7,CSH,8 +CMT,1,1,1139,1.5,CRD,12.5 +VTS,1,1,780,3.39,CRD,13 +VTS,1,1,540,1.81,CRD,9 +VTS,1,1,780,1.67,CRD,9.5 +VTS,1,1,240,0.6,CRD,5 +VTS,1,1,420,1.33,CRD,7 +VTS,1,1,1320,6.58,CSH,23 +VTS,1,1,600,1.28,CRD,7.5 +VTS,1,1,540,2.62,CSH,10.5 +VTS,1,1,1140,10.43,CRD,30 +VTS,1,1,240,0.67,CSH,4.5 +VTS,1,1,1140,4.29,CSH,16.5 +VTS,1,1,1800,15,CRD,41.5 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,240,0.35,CSH,4 +VTS,1,1,1020,2.15,CRD,12 +VTS,1,1,1680,4.74,CRD,20.5 +VTS,1,1,1020,3.32,CSH,14 +VTS,1,1,540,1.99,CSH,9 +VTS,1,1,660,1.48,CRD,8.5 +VTS,1,1,1020,5.25,CRD,18 +VTS,1,1,300,0.77,CRD,5.5 +VTS,1,1,840,2.07,CRD,11 +VTS,1,1,900,1.75,CRD,11 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,840,1.93,CSH,10.5 +VTS,1,1,720,2.18,CRD,10.5 +VTS,1,1,1680,9.62,CRD,31 +VTS,1,1,780,2.14,CRD,11.5 +VTS,1,1,780,1.17,CRD,9.5 +VTS,1,1,420,1.62,CRD,7.5 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,300,1.13,CRD,5.5 +VTS,1,1,360,0.63,CSH,6 +VTS,1,1,540,2.14,CRD,9 +VTS,1,1,240,0.94,CSH,5.5 +VTS,1,1,960,1.94,CSH,12 +VTS,1,1,300,0.54,CSH,4.5 +VTS,1,1,420,0.98,CSH,6.5 +VTS,1,1,420,0.72,CSH,6.5 +VTS,1,1,1080,1.56,CRD,12 +VTS,1,1,600,1.6,CSH,8.5 +VTS,1,1,960,2.15,CRD,12 +VTS,1,1,1320,3.59,CSH,16.5 +VTS,1,1,1080,3.41,CSH,14.5 +VTS,1,1,120,0.62,CSH,4 +VTS,1,1,120,0.53,CRD,3.5 +VTS,1,1,540,1.04,CRD,7 +VTS,1,1,660,1.57,CRD,8.5 +CMT,1,1,997,6.5,CRD,21.5 +CMT,1,1,1089,3.9,CSH,15.5 +CMT,1,2,437,1,CSH,7 +CMT,1,3,691,1.9,CRD,10 +CMT,1,1,4004,7.5,CRD,40.5 +CMT,1,1,576,1,CRD,7.5 +CMT,1,3,619,1.2,CRD,8.5 +CMT,1,1,1573,9,CRD,29.5 +CMT,1,1,329,1,CSH,6 +CMT,1,1,450,0.8,CRD,6.5 +CMT,1,1,364,1,CSH,6 +CMT,1,1,472,1.2,CSH,7.5 +CMT,1,1,1136,6.5,CSH,22 +CMT,1,1,455,1.5,CSH,7.5 +CMT,1,1,590,1.1,CSH,8 +CMT,1,1,1293,11.1,CRD,32.5 +CMT,1,2,865,4.1,CSH,15 +CMT,1,1,381,1.3,CSH,6.5 +CMT,1,1,305,1,CSH,6 +CMT,1,2,426,0.7,CRD,6 +CMT,1,1,376,0.5,CRD,5.5 +CMT,1,1,1018,9.8,CRD,28 +CMT,1,1,1286,10.6,CRD,31 +CMT,1,1,1574,11.7,CRD,34 +CMT,1,1,525,0.6,CRD,7 +CMT,1,2,1165,11,CSH,31.5 +CMT,1,1,527,1.5,CSH,8 +CMT,1,1,774,1.1,CRD,9 +CMT,1,1,1180,2.5,CSH,14 +CMT,1,1,649,0.6,CRD,8 +CMT,1,1,119,0.3,CSH,3.5 +CMT,1,1,448,0.8,CSH,6.5 +CMT,1,1,194,0.6,CSH,4.5 +CMT,1,1,270,0.8,CRD,5.5 +CMT,1,1,424,0.4,CRD,6 +CMT,1,1,166,0.7,CRD,4.5 +CMT,1,2,656,2.1,CRD,10 +CMT,1,1,488,0.6,CRD,6.5 +CMT,1,1,204,0.6,CRD,4.5 +CMT,1,1,1261,3.6,CRD,16 +CMT,2,1,1620,0.7,CRD,52 +CMT,1,1,286,0.4,CSH,5 +CMT,1,2,2211,5.2,CSH,25.5 +CMT,1,1,323,1.1,CSH,6.5 +CMT,1,1,904,3.6,CSH,14.5 +CMT,1,2,1386,3.9,CSH,18.5 +CMT,1,1,665,2.2,CSH,10 +CMT,1,1,278,0.9,CRD,5.5 +CMT,1,1,547,1.4,CSH,8 +CMT,1,1,328,1.2,CSH,6.5 +CMT,2,1,2540,0.8,CRD,52 +CMT,1,1,517,1.9,CRD,8.5 +CMT,1,1,2121,8.2,CSH,30 +CMT,1,1,2149,8,CSH,30.5 +CMT,1,1,544,1.3,CRD,8 +CMT,1,2,1558,4.1,CRD,19 +CMT,1,1,352,1.4,CRD,7 +CMT,1,1,178,0.6,CSH,4.5 +CMT,1,1,612,1.6,CSH,8.5 +CMT,1,1,1295,7.5,CSH,24.5 +CMT,1,1,838,2.2,CSH,11 +CMT,1,1,1311,6.8,CRD,23 +CMT,1,1,436,1.4,CRD,7.5 +CMT,1,1,1028,1.2,CRD,12 +CMT,1,2,1133,2.4,CSH,13.5 +CMT,1,1,344,0.8,CSH,5.5 +CMT,1,1,997,2.4,CRD,13 +CMT,1,1,745,1.9,CSH,10.5 +CMT,1,1,879,1.9,CSH,11 +CMT,1,1,629,3.3,CRD,12.5 +CMT,1,1,689,1.2,CRD,9 +CMT,1,1,903,2.1,CRD,11.5 +CMT,1,1,494,1.9,CRD,8.5 +CMT,1,1,588,1.4,CRD,8.5 +CMT,1,1,1761,7.2,CSH,27 +CMT,1,2,256,0.6,CSH,5 +CMT,1,1,313,0.3,CRD,5 +CMT,2,1,2887,3.7,CRD,52 +CMT,1,1,1763,5.5,CRD,22.5 +CMT,1,2,1432,2.9,CRD,17 +CMT,1,1,1502,6.7,CRD,24.5 +CMT,1,1,1461,5.4,CRD,22 +CMT,1,1,525,0.9,CRD,7 +CMT,1,2,298,0.6,CRD,5.5 +CMT,1,1,769,0.9,CRD,9 +CMT,1,1,635,1.1,CRD,8 +CMT,1,1,483,1.5,CSH,8 +CMT,1,1,738,3.2,CSH,12.5 +CMT,1,3,420,1.3,CRD,7 +CMT,1,1,931,2.2,CRD,11.5 +CMT,1,1,264,0.7,CRD,5 +CMT,1,1,1176,2.4,CRD,14 +CMT,1,1,235,0.7,CSH,5 +CMT,1,3,1496,11.7,CSH,33.5 +CMT,1,1,1618,7.5,CRD,25.5 +CMT,1,1,407,1,CSH,6.5 +CMT,1,1,431,1.3,CSH,7 +CMT,1,1,847,2,CRD,11 +CMT,1,1,1325,10.5,CRD,32 +CMT,1,1,187,0.3,CRD,4 +CMT,1,1,768,3,CSH,13 +VTS,1,1,540,1.35,CRD,7.5 +VTS,1,1,900,5.24,CRD,16.5 +VTS,1,1,840,2.31,CSH,11.5 +VTS,1,1,540,2.16,CRD,9.5 +VTS,1,1,360,0.96,CSH,6 +VTS,1,1,480,2.23,CRD,9 +VTS,1,1,360,1.18,CRD,6 +VTS,1,1,600,1.54,CSH,8.5 +VTS,1,1,1080,3.55,CSH,14.5 +VTS,1,1,660,2.27,CSH,10.5 +VTS,1,1,660,2.13,CRD,10 +VTS,1,1,1440,2.59,CSH,17 +CMT,1,1,680,2,CSH,10 +CMT,2,2,2075,5.8,CRD,52 +CMT,1,1,1323,5.6,CRD,19.5 +CMT,1,3,953,2.7,CSH,13 +CMT,1,3,705,1.5,CSH,9 +CMT,1,1,682,2.4,CRD,10.5 +CMT,1,1,1020,2,CRD,12.5 +CMT,1,1,529,1.2,CSH,8 +CMT,1,1,427,0.9,CSH,6.5 +CMT,1,1,1191,3.2,CSH,15 +CMT,1,1,1145,5.5,CRD,20.5 +CMT,1,1,306,0.9,CSH,6 +CMT,1,1,203,0.3,CSH,4 +CMT,1,1,425,1.5,CSH,7.5 +CMT,1,1,308,1.4,CRD,6.5 +CMT,1,1,166,0.5,CSH,4 +CMT,1,1,966,1.9,CSH,12 +CMT,1,1,334,0.7,CSH,5.5 +CMT,1,1,819,1.6,CRD,10.5 +CMT,1,1,899,2.3,CSH,12 +CMT,1,1,565,0.8,CRD,7.5 +CMT,1,1,1532,4.2,CRD,19 +CMT,1,1,462,0.7,CRD,6.5 +CMT,1,1,1325,6.7,CRD,23 +CMT,1,1,787,2.4,CSH,11 +CMT,1,1,517,1.5,CRD,8 +CMT,1,2,1388,2.7,CRD,15.5 +CMT,1,1,209,0.5,CRD,4.5 +CMT,1,1,236,0.5,CRD,4.5 +CMT,1,3,1769,3.7,CSH,19.5 +CMT,1,1,369,1,CSH,6.5 +CMT,2,3,2059,1.5,CRD,52 +CMT,1,1,771,2,CRD,10.5 +CMT,1,1,749,1.3,CRD,9.5 +CMT,1,1,641,1.8,CSH,9 +CMT,1,1,1419,3.1,CSH,16.5 +CMT,1,1,399,0.7,CRD,6 +CMT,1,1,517,1.7,CSH,9 +CMT,1,2,1143,7.2,CRD,23.5 +CMT,1,1,297,0.7,CSH,5.5 +CMT,1,1,716,1.6,CSH,9.5 +CMT,1,1,670,1.7,CRD,10 +CMT,1,2,341,0.9,CRD,6 +CMT,1,1,548,1.4,CRD,8 +CMT,1,1,1296,10.8,CRD,31 +CMT,1,1,138,0.6,CRD,4 +CMT,1,1,608,1.5,CRD,8.5 +CMT,1,1,994,2.1,CRD,12 +CMT,1,1,293,0.3,CRD,5 +CMT,1,1,555,1.2,CRD,8 +CMT,1,1,289,0.9,CSH,5.5 +CMT,1,1,1806,2.8,CRD,19.5 +CMT,1,2,954,2.1,CRD,12 +CMT,1,1,157,0.4,CSH,4 +CMT,1,2,623,2.9,CRD,11 +CMT,1,2,535,1.1,CRD,7.5 +CMT,1,1,370,1.6,CRD,7.5 +CMT,1,1,561,1.6,CRD,9 +CMT,1,1,331,1.1,CRD,6.5 +CMT,1,1,413,1.5,CSH,7.5 +CMT,1,1,208,0.5,CSH,4.5 +CMT,3,1,1564,15.6,CRD,61 +CMT,1,1,1175,5.8,CRD,20.5 +CMT,1,1,1431,2.7,CRD,16 +CMT,1,1,98,0.6,CSH,4 +CMT,1,1,177,0.4,CSH,4 +CMT,1,1,932,5.9,CRD,19.5 +CMT,1,1,700,1.6,CSH,9 +CMT,1,1,837,2.1,CRD,11 +CMT,1,1,1337,3.1,CSH,16 +CMT,1,1,905,2.1,CSH,12 +CMT,1,1,1964,9.9,CSH,34.5 +CMT,1,1,1410,8.6,CRD,27.5 +CMT,1,1,676,1.6,CSH,9.5 +CMT,1,1,1921,17,CRD,47 +CMT,1,1,627,1.1,CRD,8.5 +CMT,1,1,1281,5,CRD,19 +CMT,1,1,1090,2.2,CRD,13 +CMT,1,1,661,1.3,CSH,8.5 +CMT,1,1,777,2.4,CRD,11.5 +CMT,1,1,778,1.3,CRD,9.5 +CMT,1,1,1668,4,CSH,20 +CMT,1,1,725,3.2,CRD,13 +CMT,1,1,428,1.5,CSH,7.5 +CMT,2,1,2786,21.7,CRD,52 +CMT,1,2,2081,8.2,CRD,29.5 +CMT,1,1,376,1.3,CSH,7 +CMT,1,1,1848,11.1,CSH,35.5 +CMT,1,1,638,2.3,CRD,10 +CMT,1,2,1716,5.2,CRD,22 +CMT,1,2,536,1.6,CSH,8.5 +CMT,1,1,381,1.2,CRD,7 +CMT,1,1,469,1.4,CRD,7.5 +VTS,1,1,360,1.49,CRD,6.5 +VTS,1,1,1320,2.79,CRD,15.5 +VTS,1,1,780,3.86,CRD,13.5 +VTS,1,1,840,2.76,CSH,12 +VTS,1,1,960,5.34,CRD,18 +VTS,1,1,1020,1.38,CRD,11.5 +CMT,1,1,671,2.2,CSH,10 +CMT,1,1,655,1.8,CRD,9.5 +CMT,1,1,205,0.5,CSH,4.5 +CMT,1,1,594,1.7,CRD,9 +CMT,1,1,797,2,CSH,11 +CMT,1,2,242,0.8,CRD,5 +CMT,1,1,267,0.7,CSH,5 +CMT,1,3,440,1,CRD,7 +CMT,1,1,234,0.6,CSH,5 +CMT,1,1,1197,3.5,CRD,16 +CMT,1,1,1393,11.3,CSH,33 +CMT,1,1,770,1.8,CSH,10 +CMT,1,4,446,0.8,CSH,6.5 +CMT,1,1,1118,1.4,CRD,12.5 +CMT,1,1,618,1.7,CSH,9 +CMT,1,1,84,0.4,CRD,3.5 +VTS,1,1,900,1.63,CSH,10.5 +VTS,1,1,480,1.51,CSH,8 +VTS,1,1,480,2.05,CRD,8.5 +VTS,1,1,360,1.71,CSH,7.5 +VTS,1,1,420,1.57,CRD,7.5 +VTS,1,1,480,0.95,CRD,7 +VTS,1,1,1320,4.45,CSH,18 +VTS,1,1,120,0.37,CSH,3.5 +VTS,1,1,180,0.54,CSH,4 +VTS,1,2,360,1.83,CSH,7.5 +VTS,1,1,480,1.94,CSH,8.5 +VTS,1,1,900,2.17,CRD,11.5 +VTS,1,1,120,0.44,CRD,4 +VTS,1,1,720,3.05,CSH,11.5 +VTS,1,1,180,0.93,CRD,5 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,600,1.58,CSH,8 +VTS,1,1,960,2.39,CSH,11.5 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,180,0.77,CRD,4.5 +VTS,1,1,900,3.5,CRD,13.5 +VTS,1,2,360,2.12,CSH,8 +VTS,1,2,540,3.13,CRD,11 +VTS,1,2,960,10.62,CRD,30 +VTS,1,2,600,8.43,CRD,23.5 +VTS,1,2,300,2.22,CSH,8 +VTS,1,2,840,6.01,CSH,19.5 +VTS,1,2,360,1.41,CSH,7 +VTS,1,2,420,2.71,CRD,9.5 +VTS,1,2,2340,15.54,CSH,44.5 +VTS,1,2,360,0.85,CSH,5.5 +VTS,1,3,720,2.62,CSH,10.5 +VTS,1,2,420,2.59,CSH,9.5 +VTS,1,2,540,1.67,CSH,8.5 +VTS,1,2,720,3.14,CRD,12.5 +VTS,1,2,720,2,CSH,10 +VTS,1,1,540,1.43,CRD,7.5 +VTS,1,2,540,2.62,CRD,10.5 +VTS,1,2,1080,11.54,CSH,32 +VTS,1,2,480,1.98,CSH,8.5 +VTS,1,2,540,3.44,CSH,11.5 +VTS,1,2,120,0.72,CRD,4 +VTS,1,2,480,0.81,CRD,7 +VTS,1,2,600,1.21,CRD,7.5 +VTS,1,2,1080,2.48,CRD,14 +VTS,1,2,480,0.98,CSH,7 +VTS,1,2,360,2.18,CSH,8 +VTS,1,2,120,0.67,CSH,4 +VTS,1,2,300,1.38,CSH,7 +VTS,1,2,540,1.69,CSH,8.5 +VTS,1,2,900,2.89,CRD,13 +VTS,1,2,300,1.68,CSH,7 +VTS,2,2,60,0,CRD,52 +VTS,1,2,1920,9.57,CSH,31 +VTS,1,2,240,0.82,CRD,5 +VTS,1,2,240,2.18,CRD,7.5 +VTS,1,2,540,4.69,CSH,14.5 +VTS,1,2,780,2.68,CSH,11.5 +VTS,1,2,300,1.29,CRD,6 +VTS,1,2,840,4.65,CRD,15.5 +VTS,1,2,480,2.21,CRD,9.5 +VTS,1,2,240,1.47,CSH,6.5 +VTS,1,2,420,2.32,CSH,9 +CMT,1,1,396,1.4,CRD,7 +CMT,1,2,438,1.4,CSH,7.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,420,1.51,CSH,7 +VTS,1,1,960,2.87,CSH,12.5 +VTS,1,1,180,0.99,CRD,5 +VTS,1,1,720,1.81,CRD,10.5 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,1080,2.41,CSH,13 +VTS,1,1,780,1.38,CRD,9 +VTS,5,1,720,3.16,CSH,45 +VTS,1,2,1140,4.03,CSH,16 +VTS,1,2,420,1.96,CSH,8 +VTS,1,2,240,0.95,CRD,5.5 +VTS,1,2,540,3.16,CRD,11.5 +VTS,1,2,540,3.34,CSH,11.5 +VTS,1,2,300,1.09,CSH,6 +VTS,1,2,480,2.26,CRD,9 +VTS,1,2,420,1.46,CSH,7.5 +VTS,1,2,540,1.84,CSH,9 +VTS,1,2,1080,4.06,CRD,15.5 +VTS,1,2,360,2.05,CSH,8 +VTS,1,2,360,1.88,CRD,7.5 +VTS,1,2,480,2.8,CRD,10 +VTS,1,2,960,10.24,CRD,28.5 +VTS,1,2,420,1.51,CSH,7.5 +VTS,1,2,360,0.86,CRD,6 +CMT,1,1,478,1.4,CSH,7.5 +CMT,1,1,124,0.3,CSH,3.5 +CMT,1,1,153,0.8,CRD,4.5 +VTS,1,1,300,0.75,CSH,5 +VTS,1,1,660,3.2,CRD,11.5 +VTS,1,1,660,2.77,CRD,11 +VTS,1,1,960,2.02,CRD,11.5 +VTS,1,1,360,0.91,CRD,6 +VTS,1,1,240,0.79,CRD,4.5 +VTS,1,1,540,2.65,CRD,10.5 +VTS,1,1,240,0.96,CSH,5.5 +VTS,1,1,900,3.53,CRD,13.5 +VTS,1,1,120,0.38,CSH,4 +VTS,1,2,300,0.98,CRD,5.5 +VTS,1,2,480,4.11,CSH,13 +VTS,1,2,360,1.08,CRD,6.5 +VTS,1,2,120,0.51,CSH,3.5 +VTS,1,2,840,4.3,CSH,15 +VTS,1,2,540,3.24,CRD,11 +VTS,1,2,300,1.17,CSH,6 +VTS,1,2,720,3.8,CRD,13 +VTS,1,2,300,1.52,CSH,7 +VTS,1,2,780,2.72,CSH,11.5 +VTS,1,2,780,3.43,CRD,12.5 +VTS,1,2,180,0.49,CSH,3.5 +VTS,1,2,240,1.36,CSH,6 +CMT,1,1,594,1.6,CRD,8.5 +CMT,1,2,738,2.3,CRD,11 +CMT,1,1,370,0.7,CSH,5.5 +CMT,1,1,981,1.6,CRD,11.5 +CMT,1,1,394,1.6,CSH,7.5 +VTS,1,1,480,1.01,CSH,7 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,780,3.59,CRD,14 +VTS,1,1,1500,4.14,CRD,18.5 +VTS,1,1,240,0.89,CRD,5 +VTS,1,1,780,3.27,CSH,12.5 +VTS,1,1,540,1.28,CRD,7.5 +VTS,1,1,180,0.95,CSH,5 +VTS,1,1,900,1.8,CRD,11 +VTS,1,1,540,1.69,CSH,8 +VTS,1,1,720,2.18,CRD,10.5 +VTS,1,1,1560,6.13,CRD,22.5 +VTS,1,2,300,2.27,CSH,8 +VTS,1,2,360,0.71,CRD,6 +VTS,1,2,360,0.82,CSH,5.5 +VTS,1,2,660,1.76,CRD,9.5 +VTS,1,2,1200,10.29,CRD,29.5 +VTS,1,2,300,0.48,CRD,5 +VTS,1,2,420,1.11,CSH,7 +VTS,1,2,360,0.83,CSH,6 +VTS,1,2,420,2.43,CSH,9 +CMT,1,1,344,1,CSH,6 +CMT,1,1,566,2.4,CSH,10 +CMT,1,1,491,1,CSH,7.5 +CMT,1,1,167,0.5,CRD,4 +CMT,1,1,481,2,CSH,8.5 +CMT,1,1,682,1,CRD,9 +VTS,1,1,480,1.29,CRD,7 +VTS,1,1,300,0.91,CRD,5.5 +VTS,1,1,240,0.93,CRD,5.5 +VTS,1,2,780,4.21,CSH,14.5 +VTS,1,2,360,1.94,CRD,8.5 +VTS,1,2,1260,4.36,CSH,19 +VTS,1,2,480,2.91,CSH,10 +VTS,1,2,780,4.5,CSH,15 +VTS,1,2,540,1.88,CSH,8.5 +VTS,1,2,300,1.15,CRD,6 +VTS,1,2,2160,7.2,CRD,29.5 +VTS,1,2,180,0.45,CRD,4 +VTS,1,2,480,0.94,CRD,6.5 +VTS,1,2,180,0.78,CSH,4.5 +VTS,1,2,540,0.89,CSH,7 +VTS,1,2,960,7.91,CRD,24 +VTS,1,2,600,3.02,CSH,11 +VTS,1,2,660,2.88,CSH,11.5 +VTS,1,2,240,1.17,CSH,5.5 +VTS,1,2,480,2.32,CSH,9.5 +VTS,1,2,300,1.58,CRD,7 +VTS,1,2,540,3.09,CSH,11.5 +VTS,1,2,480,1.56,CRD,7.5 +VTS,1,2,420,2.33,CSH,9 +VTS,1,2,480,2.63,CRD,10 +VTS,2,2,1140,16.02,CRD,52 +VTS,1,2,660,3.08,CRD,11.5 +VTS,1,2,600,1.99,CSH,9.5 +VTS,1,2,240,0.48,CSH,4.5 +VTS,1,2,720,2.11,CRD,10 +VTS,1,2,1620,12.28,CSH,36 +VTS,1,2,180,0.71,CSH,4.5 +VTS,1,2,540,1.7,CSH,7.5 +VTS,1,2,720,1.69,CSH,9.5 +VTS,1,2,1200,2.86,CSH,14.5 +VTS,1,2,900,2.21,CRD,11.5 +VTS,1,2,840,6.09,CSH,19 +VTS,1,2,480,2.88,CSH,11 +VTS,1,2,660,3.16,CRD,11.5 +VTS,1,2,1080,3.97,CRD,16 +VTS,1,2,360,0.78,CRD,5.5 +VTS,1,2,180,0.86,CSH,4.5 +VTS,1,2,240,1.11,CSH,5.5 +VTS,1,2,420,1.91,CSH,8 +VTS,1,2,1080,5.3,CSH,18 +VTS,1,2,120,0.5,CSH,4 +VTS,1,1,1020,3.08,CSH,14 +VTS,1,1,900,3.33,CRD,13.5 +VTS,1,1,1020,3.46,CRD,14.5 +VTS,1,2,540,4.7,CSH,15 +VTS,1,2,240,0.7,CSH,5 +VTS,1,2,780,4.21,CSH,15 +VTS,1,2,600,3.62,CSH,12.5 +VTS,1,2,540,2.08,CRD,9 +VTS,1,2,660,3.21,CRD,12 +VTS,1,2,720,3.72,CRD,13.5 +VTS,1,2,720,3.4,CRD,12.5 +VTS,1,2,420,1.16,CSH,7 +VTS,5,2,60,0,CRD,50 +VTS,1,2,300,0.93,CRD,6 +VTS,1,2,480,1.19,CSH,7.5 +VTS,1,2,540,0.82,CSH,7 +VTS,1,2,1140,2.46,CSH,13.5 +VTS,5,1,1260,5.39,CRD,65 +VTS,2,2,1440,17.7,CSH,52 +VTS,1,2,900,9.35,CSH,26.5 +VTS,1,2,240,1.61,CRD,6.5 +VTS,1,2,1320,12.99,CRD,36 +VTS,1,2,360,3.44,CRD,11.5 +VTS,1,2,480,2.43,CRD,9.5 +VTS,1,2,600,2.02,CRD,9.5 +VTS,1,2,300,1.06,CSH,6 +VTS,1,2,720,3.29,CSH,12.5 +VTS,1,2,780,8.39,CRD,24 +VTS,1,2,1620,13.44,CSH,39 +VTS,1,2,660,3.54,CSH,12.5 +VTS,1,2,1260,3.58,CRD,16.5 +VTS,1,2,2220,14.76,CRD,45 +VTS,1,2,720,4.55,CRD,14 +VTS,1,2,420,2.56,CRD,9.5 +VTS,1,2,840,2.47,CSH,12 +VTS,1,2,960,6.31,CSH,20 +VTS,1,2,720,2.91,CSH,12 +VTS,1,2,420,1.8,CRD,8 +VTS,1,2,240,0.88,CSH,5 +VTS,1,2,360,0.95,CRD,5.5 +VTS,1,2,660,3.74,CRD,13.5 +VTS,1,2,300,2.03,CRD,7.5 +VTS,1,2,720,4.65,CRD,14.5 +VTS,1,2,360,1.44,CRD,7 +VTS,1,2,180,0.92,CSH,5 +VTS,1,2,960,5.22,CRD,17 +VTS,1,2,900,5.02,CSH,17 +VTS,1,2,360,1.12,CRD,6 +VTS,1,2,720,4.91,CSH,16 +VTS,1,2,660,2.78,CSH,10.5 +VTS,1,2,540,4.13,CRD,13 +VTS,1,2,240,1.95,CRD,7.5 +VTS,1,2,300,2.11,CSH,7.5 +VTS,1,2,900,6.15,CRD,18.5 +VTS,1,2,120,0.61,CRD,4 +VTS,1,2,180,0.62,CRD,4.5 +VTS,1,2,900,4.24,CSH,14.5 +VTS,1,2,720,3.17,CSH,11.5 +VTS,1,2,180,1,CRD,5 +VTS,1,2,660,9.94,CRD,27 +VTS,1,2,540,2.07,CRD,9.5 +VTS,1,2,300,0.89,CRD,5.5 +VTS,1,2,600,3.22,CRD,11.5 +VTS,1,2,780,3.1,CSH,12 +VTS,1,2,180,0.68,CSH,4.5 +VTS,1,2,300,0.86,CSH,5.5 +VTS,1,2,240,0.69,CSH,5 +VTS,1,2,1620,7.65,CRD,25.5 +VTS,1,2,360,1.01,CRD,6 +VTS,1,2,420,1.92,CSH,8.5 +VTS,1,2,840,3.96,CSH,13 +VTS,1,2,240,1.24,CSH,6 +VTS,1,2,540,2.64,CRD,10.5 +VTS,1,2,180,0.91,CRD,5 +VTS,1,2,780,5.05,CRD,16.5 +VTS,1,2,900,6.1,CSH,19 +VTS,1,2,540,4.94,CRD,15.5 +VTS,1,2,660,2.17,CRD,10.5 +VTS,1,2,660,1.65,CSH,9 +VTS,1,2,360,1.89,CRD,8 +VTS,1,2,1080,8.6,CRD,26 +VTS,1,2,540,1,CRD,7.5 +VTS,1,2,480,1.96,CSH,8 +VTS,1,2,420,1.36,CSH,7.5 +VTS,1,2,420,1.45,CRD,7 +VTS,1,2,1200,5.26,CRD,19 +VTS,1,2,1020,5.55,CRD,18 +VTS,1,2,360,1.4,CSH,6 +VTS,1,2,480,2.07,CSH,8.5 +VTS,1,2,600,2.55,CSH,10.5 +VTS,1,2,660,4.25,CSH,14 +VTS,1,2,240,0.74,CRD,4.5 +VTS,1,2,1200,5.35,CRD,20 +VTS,1,2,960,4.26,CRD,16 +VTS,1,2,600,2.43,CRD,10.5 +VTS,1,2,420,3.17,CSH,10.5 +VTS,1,2,360,2.73,CSH,9 +VTS,1,2,300,0.93,CSH,5.5 +VTS,1,2,300,0.67,CRD,5.5 +VTS,1,2,420,1.2,CRD,6.5 +VTS,1,2,960,5.21,CRD,18 +VTS,1,2,540,5.12,CSH,16 +VTS,1,2,720,4.84,CRD,15 +VTS,1,3,780,4.66,CSH,16.5 +VTS,1,2,480,1.97,CRD,8.5 +VTS,1,2,300,1.24,CRD,6.5 +VTS,1,2,360,1.32,CRD,7 +VTS,1,2,480,1.67,CSH,8 +VTS,1,2,180,0.41,CRD,4 +VTS,1,2,480,3.32,CRD,11 +VTS,1,2,1020,4.26,CSH,15 +VTS,2,2,1080,16.44,CRD,52 +VTS,1,2,600,2.23,CSH,9.5 +VTS,1,2,1260,6.55,CSH,21 +VTS,1,2,720,4.05,CSH,14 +VTS,1,2,1320,9.05,CRD,28 +VTS,1,2,240,1.64,CSH,6.5 +VTS,1,2,720,4.21,CRD,14.5 +VTS,1,2,420,3.91,CRD,12.5 +VTS,1,2,180,1.01,CRD,5.5 +VTS,1,2,180,1.23,CSH,5.5 +VTS,1,2,720,6.01,CRD,18.5 +VTS,1,2,780,5.05,CSH,16 +VTS,1,2,600,2.06,CRD,9.5 +VTS,1,2,1200,6.48,CRD,22 +VTS,1,2,300,1.53,CRD,6.5 +VTS,1,2,900,8.52,CRD,24 +VTS,1,2,240,1.17,CSH,5.5 +VTS,1,2,420,1.55,CRD,7 +VTS,1,2,60,0.08,CRD,2.5 +VTS,1,2,960,5.23,CRD,17.5 +VTS,1,2,540,2.15,CSH,9 +VTS,1,2,420,3.01,CRD,10.5 +VTS,1,2,1080,9.29,CSH,26.5 +VTS,1,2,300,0.95,CRD,5.5 +VTS,1,2,240,0.68,CRD,5 +VTS,1,2,420,1.92,CRD,8 +VTS,1,2,1140,4.88,CSH,17.5 +VTS,1,2,300,1.77,CSH,7.5 +VTS,1,2,780,5.39,CSH,17 +VTS,1,2,540,2.97,CSH,11 +VTS,1,2,1080,4.21,CRD,17 +VTS,1,2,120,0.96,CRD,4.5 +VTS,1,2,540,1.58,CRD,8 +VTS,1,2,480,1.86,CSH,8 +VTS,1,2,1440,12.88,CSH,36.5 +VTS,1,2,240,0.86,CRD,5 +VTS,1,2,540,2.51,CRD,10 +VTS,1,2,480,1.6,CRD,8 +VTS,1,2,660,3.62,CRD,13 +VTS,1,2,180,0.8,CRD,4.5 +VTS,1,2,480,1.33,CRD,7 +VTS,1,2,840,5.03,CRD,16 +VTS,1,2,720,5.33,CRD,17 +VTS,1,2,720,4.35,CRD,14.5 +VTS,1,2,180,0.81,CSH,4.5 +VTS,1,2,720,3.36,CRD,13 +VTS,1,2,660,3.16,CRD,11.5 +VTS,1,2,420,1.4,CRD,7 +VTS,1,2,360,1.02,CSH,6 +VTS,1,2,540,2.47,CSH,10 +VTS,1,2,300,0.96,CRD,5.5 +VTS,1,2,60,0.66,CRD,4 +VTS,1,2,1200,4.77,CRD,18 +VTS,1,2,1620,7.95,CSH,27.5 +VTS,1,2,1020,4.56,CSH,16.5 +VTS,1,2,480,2.2,CRD,9 +VTS,1,2,480,2.14,CRD,9 +VTS,1,2,480,1.88,CSH,8.5 +VTS,1,2,720,3.48,CRD,12.5 +VTS,1,2,120,0.4,CRD,3.5 +VTS,1,2,840,6.16,CRD,20 +VTS,1,2,900,4.88,CSH,16.5 +VTS,1,2,240,2.02,CRD,7.5 +VTS,1,2,60,0.32,CRD,3 +VTS,1,2,480,2.47,CRD,10 +VTS,1,2,480,2.31,CRD,9.5 +VTS,1,2,420,2.06,CRD,8.5 +VTS,1,2,120,0.71,CSH,4 +VTS,1,2,720,4.72,CSH,15 +VTS,1,2,1080,3.75,CSH,15.5 +VTS,1,2,540,3.33,CSH,12 +VTS,1,2,420,2.56,CRD,9 +VTS,1,2,720,3.09,CSH,12 +VTS,1,2,240,0.65,CSH,4.5 +VTS,1,2,1200,6.6,CSH,22 +VTS,1,2,120,0.71,CSH,4 +VTS,1,2,420,1.59,CRD,7.5 +VTS,1,2,240,0.98,CRD,5.5 +VTS,1,2,840,8.26,CSH,23.5 +VTS,1,2,540,2.76,CRD,10 +VTS,1,2,240,1.01,CRD,5.5 +VTS,1,2,420,4.96,CRD,15 +VTS,1,2,360,1.39,CRD,6.5 +VTS,1,2,120,0.61,CRD,4 +VTS,1,2,360,1.47,CRD,7 +VTS,1,2,180,0.41,CRD,4 +VTS,1,2,600,3.58,CSH,13 +VTS,1,2,420,0.56,CRD,6.5 +VTS,1,2,360,1.91,CRD,7.5 +VTS,1,2,300,1.09,CRD,6 +VTS,1,2,960,5.32,CRD,18 +VTS,1,2,420,2.15,CSH,9 +VTS,1,2,1740,6.37,CRD,24 +VTS,1,2,600,1.73,CRD,8.5 +VTS,1,2,120,0.17,CRD,3.5 +VTS,1,2,720,3.55,CRD,12.5 +VTS,1,2,120,0.4,CRD,3.5 +VTS,1,2,240,0.75,CSH,5 +VTS,1,2,180,0.6,CRD,4.5 +VTS,1,2,420,2.41,CRD,9 +VTS,1,2,480,2.45,CRD,9.5 +VTS,1,2,1080,9.07,CRD,27 +VTS,1,2,300,1.11,CSH,6 +VTS,1,2,1200,7.32,CRD,24 +VTS,1,2,180,1.1,CSH,5 +VTS,1,2,960,6.47,CRD,20.5 +VTS,1,2,660,5.74,CRD,17.5 +VTS,1,2,540,1.84,CRD,9 +VTS,1,2,600,3.08,CRD,11 +VTS,1,2,1200,6.09,CSH,19.5 +VTS,1,2,480,1.69,CSH,8 +VTS,1,2,180,0.65,CSH,4.5 +VTS,1,2,60,0.12,CRD,2.5 +VTS,1,2,1440,10.01,CSH,30.5 +VTS,1,2,180,0.86,CSH,4.5 +VTS,1,2,240,0.74,CRD,5 +VTS,1,2,360,1.07,CRD,6 +VTS,1,2,420,2.26,CRD,9 +VTS,1,2,300,2.24,CRD,8.5 +VTS,1,2,480,3.6,CSH,12 +VTS,1,2,900,5.32,CSH,18 +VTS,1,2,180,0.71,CRD,5 +VTS,1,2,360,1.04,CSH,6 +VTS,1,2,420,1.2,CRD,6.5 +VTS,1,2,840,2.39,CSH,11.5 +VTS,1,2,1920,14.7,CRD,42.5 +VTS,1,2,240,0.69,CSH,5 +VTS,1,2,300,1.88,CSH,7 +VTS,1,2,600,3.31,CRD,11.5 +VTS,1,2,540,3.37,CRD,11.5 +VTS,1,2,600,1.67,CSH,8.5 +VTS,1,2,360,1.04,CRD,6 +VTS,1,2,360,1.45,CSH,6.5 +VTS,1,2,300,1.42,CSH,6.5 +VTS,1,2,300,1.57,CSH,7 +VTS,1,2,300,1.43,CRD,6.5 +VTS,1,2,600,3.08,CRD,11 +VTS,1,2,360,0.81,CSH,6 +VTS,1,2,540,3.45,CRD,11.5 +VTS,1,2,600,3.61,CSH,13 +VTS,2,2,1080,15.21,CRD,52 +VTS,1,2,180,0.85,CRD,5 +VTS,1,2,1020,8.32,CRD,25 +VTS,1,2,480,1.66,CSH,8 +VTS,1,2,1020,4.69,CRD,17 +VTS,1,2,180,0.61,CRD,4.5 +VTS,1,2,300,1.8,CRD,7 +VTS,1,2,840,3.23,CRD,12.5 +VTS,1,2,960,6.84,CSH,20.5 +VTS,1,2,360,1.89,CRD,7.5 +VTS,1,2,180,0.57,CSH,4.5 +VTS,1,2,300,1.27,CRD,6.5 +VTS,1,2,60,0.14,CRD,3 +VTS,1,2,1080,2.47,CRD,13.5 +VTS,1,2,180,0.64,CSH,4 +VTS,1,2,360,2.45,CRD,8.5 +VTS,1,2,600,3.07,CRD,11 +VTS,1,2,720,2.14,CSH,10.5 +VTS,1,2,240,0.66,CRD,4.5 +VTS,1,2,300,1.44,CRD,7 +VTS,1,2,300,1.7,CRD,7.5 +VTS,1,2,1020,10.92,CRD,31 +VTS,1,2,480,3.12,CRD,10.5 +VTS,1,2,780,4.01,CRD,14 +VTS,1,2,300,0.85,CRD,5.5 +VTS,1,2,120,0.39,CSH,3.5 +VTS,1,2,660,4.01,CRD,14 +VTS,1,2,780,6.15,CSH,18.5 +VTS,1,2,480,2.51,CSH,10 +VTS,2,2,1140,17.98,CRD,52 +VTS,1,2,240,1.05,CRD,5.5 +VTS,1,2,1260,13.56,CRD,37.5 +VTS,1,2,960,9.04,CSH,26.5 +VTS,1,2,1200,5.61,CSH,19 +VTS,1,2,360,1.42,CRD,6.5 +VTS,1,2,300,1.46,CSH,7 +VTS,1,2,420,2.33,CSH,8.5 +VTS,2,2,1500,16.59,CRD,52 +VTS,1,2,1260,6.15,CSH,21 +VTS,1,2,360,1.64,CRD,7.5 +VTS,1,2,180,0.66,CRD,4.5 +VTS,1,2,540,3.19,CSH,11 +VTS,1,2,420,1.83,CRD,8 +VTS,1,2,420,1.56,CRD,7.5 +VTS,1,2,240,0.37,CSH,4 +VTS,1,2,180,0.93,CRD,5 +VTS,1,2,480,1.27,CRD,7.5 +VTS,1,2,1200,2.58,CRD,14 +VTS,1,2,420,1.69,CSH,8 +VTS,1,2,540,2.91,CRD,10.5 +VTS,1,2,420,2.16,CSH,9 +VTS,1,2,240,1.58,CRD,6.5 +VTS,1,2,300,1.52,CRD,7 +VTS,1,2,720,3.34,CRD,13 +VTS,1,2,480,2.12,CSH,9.5 +VTS,1,2,480,2.57,CSH,10 +VTS,1,2,960,5.18,CSH,17.5 +VTS,1,2,1080,6.56,CSH,21 +VTS,1,2,660,3.41,CSH,11.5 +VTS,1,2,780,2.7,CSH,12 +VTS,1,2,480,1.15,CSH,7 +VTS,1,2,360,2.23,CRD,8 +VTS,1,2,660,3.05,CRD,12.5 +VTS,1,2,120,0.55,CRD,4 +VTS,1,2,120,0.46,CRD,3.5 +VTS,1,2,240,1.32,CSH,5.5 +VTS,1,2,540,2.98,CRD,10.5 +VTS,1,2,120,0.91,CSH,5 +VTS,1,2,360,2.26,CSH,8 +VTS,1,2,600,2.31,CRD,10 +VTS,1,1,720,4.97,CRD,16.5 +VTS,1,2,240,0.92,CRD,5.5 +VTS,1,2,780,3.13,CRD,12.5 +VTS,1,2,540,1.37,CRD,8 +VTS,1,2,960,4.86,CRD,16.5 +VTS,1,2,240,1.27,CRD,6 +VTS,1,2,600,3.39,CSH,12 +VTS,1,2,1200,11.01,CRD,32 +VTS,1,2,240,1.22,CSH,5.5 +VTS,1,2,540,1.96,CRD,8 +VTS,1,2,1680,9.59,CRD,30.5 +VTS,1,2,360,1.51,CRD,7 +VTS,1,2,1260,10.49,CRD,29.5 +VTS,1,2,360,0.98,CRD,6 +VTS,1,2,420,2.03,CRD,9 +VTS,1,2,420,2.12,CRD,8 +VTS,1,2,420,2.41,CRD,9 +VTS,1,2,300,1.48,CRD,7 +VTS,1,2,2160,6.47,CSH,27.5 +VTS,1,2,300,2.91,CRD,10 +VTS,1,2,900,4.65,CRD,16.5 +VTS,1,2,720,4.37,CSH,14.5 +VTS,1,2,480,1.67,CRD,8 +VTS,1,2,120,0.48,CSH,3.5 +VTS,1,2,720,3.39,CSH,13 +VTS,1,2,360,0.9,CRD,6 +VTS,1,2,600,2.9,CSH,11 +VTS,1,2,1080,4.16,CRD,16 +VTS,1,2,300,0.86,CSH,6 +VTS,1,2,1680,9.17,CRD,31.5 +VTS,1,2,480,1.29,CRD,7.5 +VTS,1,2,1260,8.64,CRD,26.5 +VTS,1,2,660,2.55,CRD,10.5 +VTS,1,2,240,1,CSH,5.5 +VTS,1,2,1200,4.1,CRD,17 +VTS,1,2,1440,5.03,CSH,21.5 +VTS,1,2,360,1.91,CSH,8 +VTS,1,2,600,2.8,CSH,11.5 +VTS,1,2,420,1.46,CRD,7.5 +VTS,1,2,660,2.62,CRD,10 +VTS,1,2,720,4.3,CSH,14.5 +VTS,1,2,720,3.83,CRD,14 +VTS,1,2,720,6.84,CRD,20.5 +VTS,1,2,540,3.15,CRD,11 +VTS,1,2,300,1.35,CRD,6.5 +VTS,2,2,1380,19.33,CSH,52 +VTS,1,2,720,3.12,CRD,12.5 +VTS,1,2,300,0.87,CRD,6 +VTS,1,2,960,1.64,CSH,11 +VTS,1,2,720,2.74,CSH,11 +VTS,1,2,300,1.56,CSH,7 +VTS,1,2,780,3.06,CRD,12.5 +VTS,1,2,360,1.62,CSH,7.5 +VTS,1,2,720,2.79,CSH,11.5 +VTS,1,2,660,2.83,CRD,11 +VTS,1,2,300,0.76,CRD,5.5 +VTS,1,2,960,4.64,CSH,15.5 +VTS,1,2,300,1.82,CRD,7.5 +VTS,1,2,360,2.28,CRD,8.5 +VTS,1,2,420,2.65,CSH,10 +VTS,1,2,300,2.13,CSH,7.5 +VTS,1,2,300,1.85,CRD,7.5 +VTS,1,2,1020,5.8,CRD,18.5 +VTS,1,2,420,1.91,CRD,8.5 +VTS,1,2,600,2.6,CRD,10.5 +VTS,1,2,240,1.27,CSH,6 +VTS,1,2,840,4.66,CSH,15.5 +VTS,1,2,540,2.73,CSH,10.5 +VTS,1,2,900,4.48,CRD,15.5 +VTS,1,2,840,3.45,CSH,13.5 +VTS,1,2,360,1.27,CSH,7 +VTS,1,2,840,3.93,CSH,14.5 +VTS,1,2,360,1.33,CRD,7 +VTS,1,2,300,1.3,CRD,6.5 +VTS,1,2,960,6.78,CSH,20 +VTS,1,2,1020,3.75,CSH,15 +VTS,1,2,240,1.08,CRD,5.5 +VTS,1,2,900,3.82,CRD,14 +VTS,1,2,1560,16.04,CSH,44 +VTS,1,2,480,2.38,CRD,9 +VTS,1,2,780,2.53,CSH,11 +VTS,1,2,180,0.6,CSH,4 +VTS,1,2,900,3.19,CSH,13.5 +VTS,1,2,900,7.42,CRD,22.5 +VTS,1,2,780,5.07,CRD,15.5 +VTS,1,2,180,1.13,CSH,5.5 +VTS,1,2,840,8.93,CSH,25.5 +VTS,1,2,180,0.9,CRD,5 +VTS,1,2,300,1.54,CRD,6.5 +VTS,1,2,480,2.65,CRD,10 +VTS,1,2,600,2.52,CRD,9.5 +VTS,1,2,420,1.05,CRD,6 +VTS,1,2,600,2.63,CRD,10.5 +VTS,1,2,300,1.23,CSH,5.5 +VTS,1,2,900,4.53,CSH,16 +VTS,1,2,360,2.27,CRD,9 +VTS,1,2,420,1.94,CSH,8 +VTS,1,2,780,2.38,CRD,11.5 +VTS,1,2,420,1.88,CSH,7.5 +VTS,1,2,180,0.99,CSH,5 +VTS,1,2,480,2.72,CRD,9.5 +VTS,1,2,480,1.69,CRD,8 +VTS,1,2,1620,12.9,CSH,38 +VTS,1,2,360,1.78,CRD,7 +VTS,1,2,600,3.79,CRD,12.5 +VTS,1,2,900,3.29,CSH,13.5 +VTS,1,2,420,1.65,CRD,7.5 +VTS,1,2,120,0.85,CSH,4.5 +VTS,1,2,1140,6.47,CSH,20.5 +VTS,1,2,600,4.69,CRD,15 +VTS,1,2,960,4.68,CRD,17 +VTS,1,2,540,1.69,CRD,8.5 +VTS,1,2,480,1.82,CSH,8.5 +VTS,1,2,900,4.41,CRD,15.5 +VTS,1,2,780,2.34,CRD,10.5 +VTS,1,2,960,4.95,CRD,17.5 +VTS,2,1,1920,20.9,CRD,52 +VTS,1,1,720,3.78,CRD,13.5 +VTS,1,1,540,1.65,CSH,8.5 +VTS,1,1,480,1.29,CRD,7 +VTS,1,2,240,0.67,CSH,4.5 +VTS,1,1,660,2.93,CSH,11 +VTS,1,2,360,1.09,CSH,6.5 +VTS,1,2,180,0.86,CRD,5 +VTS,1,2,480,0.91,CRD,7 +VTS,1,2,360,2.13,CSH,8 +VTS,1,2,120,1.06,CRD,5 +VTS,1,2,360,3.09,CRD,10.5 +VTS,1,2,180,0.9,CRD,5 +VTS,1,2,360,1.14,CSH,6.5 +VTS,1,2,1920,13.92,CRD,39.5 +VTS,1,2,480,1.44,CSH,7.5 +VTS,1,2,600,4.12,CSH,14.5 +VTS,1,2,300,1.92,CRD,7.5 +VTS,1,2,780,1.61,CSH,9.5 +VTS,1,2,600,2.18,CRD,10 +VTS,1,2,120,0.49,CSH,4 +VTS,1,1,600,3.86,CRD,13.5 +VTS,1,1,180,0.8,CSH,5 +VTS,1,1,1500,11.22,CRD,33.5 +VTS,1,1,660,3.5,CSH,13 +VTS,1,1,360,1.04,CSH,6 +VTS,2,1,6660,37.78,CSH,52 +VTS,1,1,240,1.06,CRD,5.5 +VTS,1,1,120,0.49,CSH,4 +VTS,2,1,1440,17.43,CSH,52 +VTS,1,1,960,2.21,CSH,11.5 +VTS,1,1,600,1.72,CSH,9 +VTS,1,1,720,1.49,CSH,9.5 +VTS,2,1,3000,17.8,CSH,52 +VTS,1,1,600,3.03,CRD,11.5 +VTS,1,1,840,3.28,CSH,13 +VTS,1,2,2460,6.09,CSH,22.5 +VTS,1,1,120,0.48,CRD,4 +VTS,1,1,720,3.35,CRD,12 +VTS,1,1,540,1.73,CSH,8.5 +VTS,1,1,720,2.1,CRD,10 +VTS,1,1,720,2.6,CRD,11.5 +VTS,1,2,540,1.58,CSH,8.5 +VTS,1,1,420,1.55,CSH,7.5 +VTS,1,2,1320,3.37,CSH,14 +VTS,1,2,720,3.76,CRD,14 +VTS,1,1,180,0.51,CSH,4.5 +VTS,1,1,840,3.31,CRD,13 +VTS,1,2,420,1.02,CRD,6.5 +VTS,1,1,480,4.22,CRD,13.5 +VTS,1,1,720,2.99,CSH,11.5 +VTS,1,1,420,1.53,CRD,7.5 +VTS,1,1,480,1.8,CRD,8 +VTS,2,2,1920,17.5,CSH,52 +VTS,1,2,1380,5.05,CSH,20 +VTS,1,1,1920,19.84,CRD,53 +VTS,1,1,420,1.3,CSH,7.5 +VTS,1,1,420,1.43,CSH,7 +VTS,1,2,180,0.6,CRD,4.5 +VTS,1,2,900,3.41,CRD,13.5 +VTS,1,2,780,2.83,CSH,12 +VTS,1,2,300,1.71,CSH,7.5 +VTS,1,2,60,0.52,CRD,3.5 +VTS,1,2,660,3.48,CSH,12.5 +VTS,1,2,120,0.32,CSH,3.5 +VTS,1,2,300,1.91,CRD,7.5 +VTS,1,2,720,2.55,CRD,11 +VTS,1,2,660,2.12,CRD,10 +VTS,1,1,300,1.53,CRD,6.5 +VTS,1,1,180,0.41,CSH,3.5 +VTS,1,1,480,3.55,CSH,11.5 +VTS,1,1,480,1.81,CSH,8 +VTS,1,2,180,0.67,CSH,4.5 +VTS,1,2,1080,4.88,CSH,17.5 +VTS,1,2,540,0.86,CSH,7.5 +VTS,1,1,480,1.15,CSH,7 +VTS,1,1,900,2.35,CSH,12 +VTS,1,1,300,0.68,CSH,5 +VTS,2,2,3240,19.06,CRD,52 +VTS,1,1,120,0.79,CRD,4.5 +VTS,2,1,1980,18.07,CRD,52 +VTS,1,2,600,2.53,CRD,10 +VTS,1,1,240,0.69,CRD,4.5 +VTS,1,1,780,1.17,CRD,9 +VTS,1,2,720,1.4,CRD,9.5 +VTS,1,2,840,2.26,CSH,11 +VTS,1,2,720,3.48,CRD,13 +VTS,1,2,180,0.37,CSH,3.5 +VTS,1,2,780,4.02,CSH,14 +VTS,1,2,660,2.3,CRD,9.5 +VTS,1,2,480,3.67,CRD,12.5 +VTS,1,2,720,4.76,CRD,15.5 +VTS,1,2,120,0.36,CRD,3.5 +VTS,1,2,360,1.64,CRD,7.5 +VTS,1,2,600,2.95,CSH,11 +VTS,1,2,1020,5.96,CSH,19.5 +VTS,1,2,540,3.46,CSH,12 +VTS,1,1,180,0.72,CSH,4 +VTS,1,2,1260,4.95,CSH,19 +VTS,1,1,840,6.28,CSH,19.5 +VTS,1,2,960,4.79,CSH,17.5 +VTS,1,1,780,1.84,CRD,10 +VTS,1,1,600,2.11,CRD,9 +VTS,1,1,360,1.14,CRD,6 +VTS,1,2,120,0.56,CRD,4 +VTS,1,2,360,1.04,CSH,5.5 +VTS,1,1,480,1.66,CSH,8 +VTS,1,2,540,1.71,CRD,9 +VTS,1,1,900,9.77,CSH,27.5 +VTS,1,2,120,0.48,CSH,3.5 +VTS,1,2,480,2.33,CSH,9 +VTS,1,2,240,0.53,CSH,4.5 +VTS,1,2,120,0.41,CSH,4 +VTS,1,2,540,2.4,CSH,10 +VTS,1,2,300,2.46,CRD,8.5 +VTS,1,2,720,7.52,CRD,22 +VTS,1,2,420,1.43,CSH,7.5 +VTS,1,2,960,6.52,CRD,20 +VTS,1,2,1020,4.49,CRD,15.5 +VTS,1,2,960,5.82,CRD,19.5 +VTS,1,2,600,3.67,CSH,13 +VTS,1,2,720,2.35,CSH,11 +VTS,1,2,660,5.03,CRD,16 +VTS,1,2,360,1.78,CRD,8 +VTS,1,1,900,6.99,CRD,22 +VTS,1,1,780,4.61,CSH,15.5 +VTS,1,1,1020,5.41,CRD,18.5 +VTS,2,2,2880,18.65,CSH,52 +VTS,1,2,540,1.01,CSH,7 +VTS,1,1,540,1.72,CRD,8 +VTS,1,2,300,1.27,CRD,6.5 +VTS,1,2,360,0.8,CRD,5.5 +VTS,1,1,300,1.17,CSH,6 +VTS,2,1,2460,18.8,CRD,52 +VTS,1,1,660,1.79,CRD,9 +VTS,1,1,1200,4.76,CSH,17.5 +VTS,1,1,600,2.09,CRD,9.5 +VTS,1,2,1500,13.65,CSH,38.5 +VTS,1,1,1260,9.67,CSH,29 +VTS,1,1,1140,9.06,CRD,27 +VTS,1,1,540,4.27,CRD,14 +VTS,1,1,360,1.08,CRD,6.5 +VTS,1,2,900,3.75,CSH,14 +VTS,1,2,540,2.38,CSH,9.5 +VTS,1,1,540,2.59,CSH,10 +VTS,1,2,960,2.46,CSH,12 +VTS,1,2,1020,8.08,CRD,25 +VTS,1,1,480,1.1,CSH,7 +VTS,1,1,1140,4.79,CRD,18 +VTS,1,1,1260,11.14,CSH,32 +VTS,1,2,240,0.83,CSH,5.5 +VTS,1,1,1440,3.55,CRD,17.5 +VTS,1,1,1020,4.16,CRD,16 +VTS,1,1,420,1.43,CRD,7 +VTS,1,2,1020,8.4,CRD,25 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,1200,4.47,CSH,18 +VTS,1,2,660,1.63,CSH,9 +VTS,1,2,540,1.99,CRD,8.5 +VTS,1,2,660,1.34,CSH,8.5 +VTS,1,1,840,1.26,CRD,10 +VTS,1,1,1020,2.21,CRD,13 +VTS,1,2,240,0.62,CRD,4.5 +VTS,1,1,1440,7.55,CSH,24.5 +VTS,1,1,2340,8.48,CSH,30.5 +VTS,1,1,600,2.29,CRD,9.5 +VTS,1,1,1560,11.12,CRD,34 +VTS,1,2,300,1.16,CRD,5.5 +VTS,2,1,3720,17.78,CSH,52 +VTS,1,1,180,1.02,CSH,5.5 +VTS,1,2,960,1.9,CSH,10.5 +VTS,1,1,360,1.81,CRD,7.5 +VTS,1,1,660,1.25,CSH,8.5 +VTS,1,2,600,0.82,CSH,7.5 +VTS,2,1,2100,16.98,CRD,52 +VTS,2,1,60,0,CRD,52 +VTS,1,2,120,0.62,CSH,4 +VTS,1,2,300,0.84,CRD,5.5 +VTS,1,1,720,2.39,CSH,11 +VTS,1,1,840,1.99,CSH,11 +VTS,1,1,840,3.6,CRD,13 +VTS,1,1,540,2.26,CRD,9 +VTS,1,1,600,0.69,CSH,7 +VTS,1,1,300,1.16,CSH,6.5 +VTS,1,1,660,2.26,CRD,10 +VTS,1,1,240,0.73,CRD,5 +VTS,1,1,2580,31.7,CSH,82.5 +VTS,1,1,480,2.59,CRD,10.5 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,960,2.65,CRD,13 +VTS,1,1,420,0.77,CRD,6.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,720,3.33,CSH,12.5 +VTS,1,1,420,1.81,CRD,8 +VTS,1,1,360,1.17,CSH,6.5 +VTS,2,1,1740,17.3,CSH,52 +VTS,1,1,420,2.5,CRD,9 +VTS,1,1,420,1.18,CSH,5.5 +VTS,1,1,720,3.26,CSH,12.5 +VTS,1,1,540,2.02,CRD,8.5 +VTS,1,1,540,2.2,CSH,9 +VTS,1,1,180,0.86,CSH,4.5 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,300,1.32,CSH,6.5 +VTS,1,1,480,2.76,CRD,10 +VTS,1,1,600,2.11,CSH,10 +VTS,1,1,240,1.43,CRD,6.5 +VTS,1,1,1560,14.23,CRD,41 +VTS,1,1,240,1.18,CSH,6 +VTS,2,1,2280,17.88,CRD,52 +VTS,1,1,420,1.35,CRD,7 +VTS,2,1,1620,17.41,CSH,52 +VTS,1,1,780,3.75,CSH,12.5 +VTS,1,1,240,1.21,CRD,5.5 +VTS,1,1,420,1.21,CSH,7.5 +VTS,1,2,120,0.36,CSH,3.5 +VTS,1,2,660,1.09,CSH,8.5 +VTS,1,2,420,2.22,CSH,8.5 +VTS,1,2,360,2.15,CRD,7.5 +VTS,1,2,900,4.01,CRD,14 +VTS,1,2,540,3.1,CSH,10.5 +VTS,1,2,1020,5.19,CSH,17.5 +VTS,1,2,900,5.52,CSH,17.5 +VTS,1,2,660,1.68,CRD,9.5 +VTS,1,2,300,0.72,CRD,5.5 +VTS,1,2,660,3.03,CSH,11.5 +VTS,1,2,1380,3.55,CRD,16.5 +VTS,1,2,180,1.2,CRD,5.5 +VTS,1,2,720,5.15,CRD,16.5 +VTS,1,2,660,4.85,CRD,15.5 +VTS,1,2,540,2.55,CRD,10 +VTS,1,2,480,2.52,CRD,10 +VTS,1,2,60,0,CSH,2.5 +VTS,1,2,300,0.95,CSH,5.5 +VTS,1,2,720,2.46,CRD,11 +VTS,1,2,1020,8.43,CSH,25 +VTS,1,2,420,2.4,CRD,9 +VTS,1,2,540,2.32,CRD,9.5 +VTS,1,2,300,1.1,CSH,5.5 +VTS,1,2,300,1.39,CSH,6 +VTS,1,2,240,0.73,CSH,5 +VTS,1,2,180,0.69,CSH,4.5 +VTS,1,2,300,1.19,CRD,6 +VTS,1,2,120,0.65,CSH,4 +VTS,1,2,300,1.3,CSH,6.5 +VTS,1,2,720,7.02,CSH,20.5 +VTS,1,2,780,1.58,CRD,9.5 +VTS,1,2,660,2.02,CRD,9.5 +VTS,1,2,420,4.14,CRD,13 +VTS,1,2,420,1.43,CSH,7 +VTS,1,2,900,5.53,CSH,18 +VTS,1,2,780,4.97,CRD,17 +VTS,1,2,780,2.9,CSH,11.5 +VTS,1,2,600,3.45,CRD,12 +VTS,1,2,840,3.97,CRD,14 +VTS,1,2,1020,4.04,CRD,16 +VTS,1,2,720,2.48,CRD,11 +VTS,1,2,360,1.39,CSH,7 +VTS,1,2,1500,8.22,CSH,26.5 +VTS,1,2,420,4.65,CSH,14.5 +VTS,1,2,480,1.88,CRD,8.5 +VTS,1,2,1200,7.31,CSH,23 +VTS,1,2,120,1.12,CSH,5 +VTS,1,2,1260,7.76,CRD,24.5 +VTS,1,2,540,2.74,CRD,10.5 +VTS,1,2,660,3.93,CRD,13.5 +VTS,1,2,1440,18.03,CSH,48.5 +VTS,1,1,600,1.21,CRD,8 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,780,8.13,CSH,23.5 +VTS,1,1,960,4.53,CRD,16 +VTS,1,1,1680,3.73,CSH,15.5 +VTS,1,1,1980,8.8,CRD,29.5 +VTS,1,1,660,0.89,CRD,8 +VTS,1,1,780,2.31,CRD,11 +VTS,2,1,1980,17.33,CSH,52 +VTS,1,1,420,1.37,CRD,7 +VTS,1,1,1080,3.92,CRD,15.5 +VTS,1,1,780,3.22,CRD,12.5 +VTS,1,1,480,1.8,CRD,8 +VTS,1,1,840,1.64,CRD,10.5 +VTS,1,1,600,1.56,CRD,8.5 +VTS,1,1,660,3.45,CRD,12.5 +VTS,3,1,1800,19.66,CRD,71 +VTS,3,1,1860,19.38,CSH,71.5 +VTS,1,1,720,2.59,CSH,11 +VTS,1,1,480,1.36,CSH,7.5 +VTS,1,1,720,3.14,CRD,12 +VTS,1,1,480,1.24,CRD,7 +VTS,1,1,420,0.95,CSH,6.5 +VTS,1,1,240,0.91,CRD,5.5 +VTS,1,1,180,0.55,CSH,4.5 +VTS,1,1,540,1.99,CRD,9 +VTS,1,1,360,1.5,CSH,7 +VTS,1,1,2820,10.44,CSH,40 +VTS,1,1,660,3.1,CSH,11.5 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,600,2.74,CSH,10.5 +VTS,1,1,840,3.52,CSH,13 +VTS,3,1,2280,21.19,CSH,77.5 +VTS,1,1,960,6.98,CSH,21 +VTS,1,1,600,1.94,CRD,9.5 +VTS,1,1,1620,11.08,CRD,34 +VTS,1,1,1500,10.14,CSH,30.5 +VTS,1,1,720,1.81,CSH,10 +VTS,1,1,960,2.6,CRD,12.5 +VTS,1,2,1020,2.85,CSH,13 +VTS,1,1,300,1.35,CRD,6.5 +VTS,1,1,480,3.33,CSH,10.5 +VTS,1,1,180,0.82,CSH,5 +VTS,1,2,480,1.72,CSH,8 +VTS,1,1,720,4.01,CRD,14 +VTS,2,2,1740,17.66,CSH,52 +VTS,1,1,420,1.61,CRD,8 +VTS,1,1,960,2.99,CRD,13 +VTS,1,2,300,1.04,CSH,5.5 +VTS,1,1,420,1.43,CRD,7 +VTS,1,1,480,1.24,CSH,7.5 +VTS,1,2,1020,4.75,CRD,17 +VTS,1,1,240,0.52,CSH,4.5 +VTS,1,2,480,1.54,CRD,7.5 +VTS,1,1,480,1.44,CRD,8 +VTS,1,2,960,2.79,CSH,13 +VTS,1,1,780,6.99,CRD,20 +VTS,1,1,660,1.65,CRD,9 +VTS,1,1,60,0.35,CRD,3.5 +VTS,1,1,1500,4.04,CSH,18.5 +VTS,1,1,0,0,CRD,2.5 +VTS,1,1,540,2.11,CRD,9 +VTS,1,1,540,1.16,CRD,7.5 +VTS,1,2,420,2.1,CRD,8.5 +VTS,1,1,1320,4.77,CRD,19 +VTS,1,2,960,3.9,CSH,14.5 +VTS,1,1,480,2.18,CRD,9 +VTS,1,1,1020,3.09,CSH,13.5 +VTS,1,1,240,0.58,CSH,4.5 +VTS,1,1,240,0.6,CRD,5 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,360,0.76,CSH,5.5 +VTS,2,1,1440,17.09,CRD,52 +VTS,1,1,1080,2.39,CSH,13 +VTS,1,1,600,1.34,CRD,8 +VTS,1,1,480,0.91,CRD,6.5 +VTS,1,1,420,3.46,CSH,11.5 +VTS,1,1,540,1.67,CRD,8.5 +VTS,1,2,840,5.07,CSH,16.5 +VTS,1,2,540,1.7,CRD,8.5 +VTS,1,2,480,2.5,CRD,10 +VTS,1,2,420,2.48,CSH,9.5 +VTS,1,2,360,1.28,CRD,6 +VTS,1,2,360,0.94,CSH,5.5 +VTS,1,2,900,5.64,CRD,18.5 +VTS,1,2,180,1.06,CRD,5 +VTS,1,2,180,1.19,CRD,6 +VTS,1,2,540,1.63,CSH,8 +VTS,1,2,780,5.74,CRD,17.5 +VTS,1,2,480,3.05,CRD,11 +VTS,1,2,420,3.07,CSH,10.5 +VTS,1,2,420,1.12,CRD,6.5 +VTS,1,2,720,2.03,CRD,10 +VTS,1,2,540,2.42,CRD,9.5 +VTS,1,2,180,0.72,CSH,4 +VTS,1,2,2220,13.08,CSH,40.5 +VTS,1,2,420,4.63,CRD,14.5 +VTS,1,2,240,0.53,CSH,4 +VTS,1,2,360,1.35,CSH,6.5 +VTS,1,2,1560,13.42,CRD,38 +VTS,1,2,180,0.8,CSH,4.5 +VTS,1,2,240,0.79,CRD,5 +VTS,1,2,1020,4.4,CSH,15.5 +VTS,1,2,660,1.48,CSH,8.5 +VTS,1,2,300,1.36,CSH,6.5 +VTS,1,2,780,3.48,CSH,13 +VTS,1,2,600,3.1,CSH,10.5 +VTS,1,2,240,0.83,CRD,5 +VTS,1,2,180,0.97,CSH,5 +VTS,1,2,540,1.96,CSH,8.5 +VTS,1,2,780,3.01,CRD,12 +VTS,1,2,540,2.28,CSH,10 +VTS,1,2,180,0.48,CSH,4 +VTS,1,2,2160,10.66,CRD,35 +VTS,1,2,540,3.77,CRD,12 +VTS,1,2,600,3.59,CRD,12 +VTS,1,2,900,8.12,CRD,23.5 +VTS,1,2,660,6.84,CRD,20 +VTS,2,1,1260,17.23,CRD,52 +VTS,1,1,1620,12.02,CRD,35.5 +VTS,1,1,120,0.36,CSH,3.5 +VTS,1,1,1440,3.65,CRD,17 +VTS,3,1,1800,19.53,CSH,71 +VTS,1,1,540,1.14,CSH,7.5 +VTS,1,1,600,2.74,CRD,10.5 +VTS,1,2,540,4.88,CSH,15.5 +VTS,1,2,360,0.71,CRD,5.5 +VTS,1,1,960,2.57,CRD,12.5 +VTS,2,1,2760,18.55,CRD,52 +VTS,1,1,420,1.54,CRD,7.5 +VTS,1,1,540,1.49,CRD,8 +VTS,1,2,360,1.04,CRD,6 +VTS,2,1,1980,17.31,CRD,52 +VTS,2,1,2640,17.43,CSH,52 +VTS,1,1,540,2.03,CSH,9.5 +VTS,1,1,300,1.13,CRD,6 +VTS,2,1,1980,17.06,CSH,52 +VTS,1,2,240,0.77,CSH,4.5 +VTS,1,1,360,0.86,CSH,6 +VTS,1,2,420,1.19,CSH,6.5 +VTS,1,2,1140,4.75,CSH,17 +VTS,1,1,540,1.33,CSH,7.5 +VTS,1,1,420,1.09,CSH,6.5 +VTS,1,1,660,1.65,CRD,8.5 +VTS,1,1,540,1.57,CSH,8 +VTS,1,1,780,1.97,CSH,10 +VTS,1,1,720,2.38,CSH,10.5 +VTS,2,1,1860,17.42,CSH,52 +VTS,2,1,2520,19.06,CSH,52 +VTS,1,1,900,3.2,CSH,13 +VTS,1,1,1440,6.76,CRD,24 +VTS,1,1,840,2.59,CSH,12 +VTS,1,1,540,3.05,CRD,11 +VTS,1,1,480,0.82,CRD,6.5 +VTS,1,1,660,1.85,CRD,9 +VTS,1,1,420,1.7,CSH,8 +VTS,1,1,600,2.44,CRD,9.5 +VTS,1,1,360,1.15,CRD,6 +VTS,2,1,2700,19.81,CRD,52 +VTS,1,1,420,1.25,CSH,6.5 +VTS,1,2,780,2.01,CSH,10.5 +VTS,1,1,900,1.27,CSH,10 +VTS,1,1,780,2.59,CRD,11 +VTS,1,1,1740,4.14,CRD,20 +VTS,1,1,420,1.02,CSH,7 +VTS,1,1,720,1.61,CRD,9.5 +VTS,1,2,780,2.1,CSH,10.5 +VTS,1,1,420,1.43,CSH,7.5 +VTS,1,1,480,1.13,CRD,7.5 +VTS,1,1,1560,5.19,CSH,20 +VTS,1,1,780,3.99,CRD,13.5 +VTS,1,1,600,2.26,CRD,10 +VTS,1,1,1500,7.78,CSH,25 +VTS,2,1,2340,20.58,CRD,52 +VTS,1,1,1440,4.56,CRD,19 +VTS,1,1,540,1.18,CRD,7.5 +VTS,2,1,2640,17.78,CRD,52 +VTS,1,2,120,0.36,CRD,3.5 +VTS,1,1,360,1.17,CRD,6.5 +VTS,1,1,540,1.18,CSH,8 +VTS,1,1,300,0.63,CSH,5.5 +VTS,1,1,420,1.23,CSH,6.5 +VTS,1,1,1740,10.42,CRD,33 +VTS,1,2,600,1.71,CRD,8 +VTS,1,1,360,0.74,CRD,6 +VTS,1,1,60,0.15,CRD,3 +VTS,1,1,720,2,CRD,10 +VTS,1,1,360,1.43,CSH,6.5 +VTS,1,1,240,0.86,CRD,5 +VTS,1,1,1200,4.56,CSH,17.5 +VTS,1,1,1140,5.08,CSH,18.5 +VTS,1,1,960,9.81,CSH,28 +VTS,1,2,600,1.6,CRD,8.5 +VTS,1,1,300,1.2,CSH,6.5 +VTS,1,1,720,6.14,CSH,18.5 +VTS,1,1,180,0.78,CRD,5 +VTS,1,1,1020,5.38,CRD,18.5 +VTS,1,1,420,1.39,CSH,7 +VTS,2,1,1740,19.6,CRD,52 +VTS,2,1,2160,17.43,CRD,52 +VTS,1,1,240,0.77,CRD,5.5 +VTS,1,1,480,1.68,CRD,7.5 +VTS,1,1,720,1.1,CSH,8.5 +VTS,1,1,660,1.48,CSH,9 +VTS,1,1,480,1.47,CSH,7.5 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,180,0.84,CSH,5 +VTS,1,2,660,1.75,CRD,9 +VTS,1,1,780,1.37,CSH,9 +VTS,1,1,420,1.48,CRD,7 +VTS,1,1,960,1.16,CRD,10.5 +VTS,1,1,540,1.7,CRD,8.5 +VTS,1,1,480,1.61,CSH,8 +VTS,1,1,660,2.29,CSH,10.5 +VTS,1,1,360,1.15,CSH,6 +VTS,1,1,240,0.83,CRD,5 +VTS,1,1,660,1.08,CSH,8 +VTS,1,1,420,2.76,CRD,9 +VTS,1,1,1020,1.52,CSH,11.5 +VTS,1,2,840,2.51,CSH,11.5 +VTS,1,1,240,0.88,CRD,5 +VTS,2,1,2040,17.11,CRD,52 +VTS,1,1,480,2.29,CRD,8.5 +VTS,1,1,1440,3.28,CRD,17 +VTS,1,1,360,0.57,CRD,5.5 +VTS,1,1,960,2.15,CSH,12 +VTS,1,1,420,0.99,CRD,6.5 +VTS,1,2,360,1.24,CSH,6.5 +VTS,1,1,180,1,CSH,5 +VTS,1,1,480,2.02,CSH,8.5 +VTS,1,1,900,1.71,CSH,11 +VTS,1,1,960,4.02,CRD,14.5 +VTS,1,1,420,2.41,CRD,9 +VTS,1,2,1140,6.3,CSH,21.5 +VTS,1,1,300,1.07,CSH,6 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,540,2.66,CRD,10.5 +VTS,1,1,180,0.62,CSH,4 +VTS,1,1,300,0.75,CSH,5.5 +VTS,1,1,660,1.74,CRD,9 +VTS,1,1,1320,5.45,CRD,20 +VTS,1,1,60,0.27,CSH,3.5 +VTS,1,1,660,0.98,CRD,8.5 +VTS,1,1,480,1.17,CRD,7.5 +VTS,2,1,2700,23.54,CSH,52 +VTS,1,2,360,0.86,CSH,6.5 +VTS,1,1,300,1.52,CSH,6.5 +VTS,1,1,600,2.79,CRD,10.5 +VTS,1,1,720,1.91,CRD,9.5 +VTS,1,1,1140,2.64,CSH,14 +VTS,1,1,360,0.81,CSH,6 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,300,0.89,CSH,6 +VTS,1,1,960,2.89,CRD,12.5 +VTS,1,1,540,1.99,CRD,9 +VTS,1,1,600,2.24,CRD,10 +VTS,1,1,300,1.07,CSH,5.5 +VTS,1,1,360,1.03,CSH,6 +VTS,1,1,300,0.77,CSH,5.5 +VTS,1,1,840,3.25,CRD,13 +VTS,1,1,480,1.86,CRD,8 +VTS,1,1,780,4.64,CSH,16 +VTS,1,1,240,2.15,CRD,7.5 +VTS,1,1,540,2.04,CRD,9 +VTS,1,1,1980,12.32,CRD,39 +VTS,1,1,420,0.85,CSH,6 +VTS,1,1,600,2.47,CRD,10.5 +VTS,1,1,960,4.59,CSH,16.5 +VTS,1,2,1020,3.95,CSH,15 +VTS,1,2,600,3.37,CRD,12 +VTS,1,1,240,0.87,CSH,5 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,2,840,3.62,CRD,13 +VTS,1,3,780,2.94,CSH,12 +VTS,1,1,420,1.47,CRD,7 +VTS,1,1,780,7.13,CSH,21 +VTS,1,1,1380,6.76,CRD,23 +VTS,1,2,300,1.37,CSH,6 +VTS,1,1,480,1.55,CRD,8 +VTS,1,3,180,0.34,CSH,4 +VTS,1,1,540,3.05,CRD,10.5 +VTS,1,1,180,1.13,CSH,5.5 +VTS,1,1,540,1.2,CRD,7 +VTS,1,3,60,0.14,CSH,3 +VTS,1,2,840,6.54,CRD,20 +VTS,1,1,780,3.74,CRD,13.5 +VTS,1,1,240,0.98,CSH,5.5 +VTS,1,2,360,1.01,CRD,6 +VTS,1,1,360,0.78,CSH,5.5 +VTS,1,1,1140,5.23,CRD,18.5 +VTS,1,1,2100,11.16,CRD,38 +VTS,1,1,1680,4.16,CRD,19 +VTS,1,2,840,1.82,CSH,10 +VTS,1,2,840,2.44,CRD,12 +VTS,1,2,1440,6.6,CRD,23.5 +VTS,1,1,1440,9.14,CSH,27.5 +VTS,1,1,240,1.01,CSH,6 +VTS,1,1,1020,6.39,CSH,21 +VTS,1,1,600,3.57,CRD,12.5 +VTS,1,1,420,1.13,CRD,6.5 +VTS,1,1,480,1.42,CRD,7 +VTS,1,1,1380,14.74,CRD,40.5 +VTS,1,1,300,0.74,CRD,5.5 +VTS,1,1,360,0.79,CSH,5.5 +VTS,1,1,0,0.05,CSH,2.5 +VTS,1,1,2280,11.4,CRD,36.5 +VTS,1,1,300,2.06,CRD,8 +VTS,1,1,1080,1.69,CSH,12.5 +VTS,1,2,960,2.39,CRD,12 +VTS,1,1,1260,2.64,CSH,15 +VTS,1,1,420,0.87,CRD,6.5 +VTS,1,1,420,0.83,CRD,6.5 +VTS,1,1,780,3.08,CRD,12 +VTS,1,1,780,2.78,CSH,11.5 +VTS,2,1,3180,17.91,CRD,52 +VTS,1,1,480,2.07,CRD,9 +VTS,2,1,2700,16.96,CRD,52 +VTS,1,1,660,1.65,CRD,9 +VTS,1,1,720,2.07,CSH,9.5 +VTS,1,1,480,1.56,CSH,8 +VTS,1,2,540,1.31,CSH,7.5 +VTS,1,2,420,0.9,CRD,6 +VTS,1,1,240,0.76,CRD,4.5 +VTS,1,1,660,4.59,CRD,15 +VTS,1,1,660,2.23,CSH,10.5 +VTS,1,1,480,1.14,CSH,6.5 +VTS,1,1,480,4.72,CSH,14 +VTS,1,1,1020,4,CRD,15.5 +VTS,1,1,300,1.43,CSH,6.5 +VTS,1,1,420,1.58,CRD,7 +VTS,1,1,360,1.31,CRD,6.5 +VTS,1,1,360,1.03,CRD,5.5 +VTS,1,1,480,2.12,CSH,9 +VTS,1,1,240,0.88,CSH,5 +VTS,1,1,540,1.29,CSH,7.5 +VTS,1,1,300,1.63,CSH,7 +VTS,1,3,720,3.55,CSH,13 +VTS,1,1,540,2.01,CRD,8.5 +VTS,1,1,420,1.52,CSH,7.5 +VTS,1,1,120,0.5,CSH,4 +VTS,1,1,180,0.49,CRD,4 +VTS,1,1,780,2.02,CSH,10.5 +VTS,1,2,120,0.53,CSH,3.5 +VTS,1,1,120,0.6,CRD,4 +VTS,1,1,840,3.97,CRD,15 +VTS,1,1,1320,3.39,CSH,15.5 +VTS,2,1,2880,18.06,CRD,52 +VTS,1,1,420,2.39,CSH,8.5 +VTS,1,1,840,2.67,CRD,12 +VTS,1,1,480,2.02,CSH,8.5 +VTS,1,1,300,1.57,CRD,6.5 +VTS,1,1,240,0.97,CSH,5 +VTS,1,2,480,1.74,CRD,8 +VTS,1,1,120,0.44,CSH,4 +VTS,1,2,840,3.59,CSH,13.5 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,480,1.48,CRD,7.5 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,2,420,1.52,CSH,7.5 +VTS,1,2,960,8.37,CSH,23.5 +VTS,1,1,660,2.67,CRD,10.5 +VTS,1,1,600,2.76,CRD,10.5 +VTS,1,2,420,1.49,CSH,7 +VTS,1,1,240,1.13,CRD,5.5 +VTS,1,1,780,5.36,CRD,17 +VTS,1,1,660,1.17,CRD,9 +VTS,1,1,300,0.69,CSH,5 +VTS,1,1,840,1.72,CSH,10 +VTS,1,1,420,1.64,CSH,7.5 +VTS,1,1,1140,2.68,CRD,14 +VTS,1,1,420,1.52,CSH,7 +VTS,1,1,180,0.45,CRD,4 +VTS,1,2,960,3.73,CRD,15 +VTS,1,1,1860,11.41,CRD,35 +VTS,1,1,1320,4.73,CRD,19 +VTS,1,1,300,1.51,CSH,6.5 +VTS,1,1,660,3.19,CSH,11.5 +VTS,1,2,720,3.65,CSH,12.5 +VTS,1,2,900,9.89,CSH,27.5 +VTS,1,1,180,1.12,CSH,5 +VTS,1,1,240,0.54,CRD,4 +VTS,1,1,300,0.73,CSH,5.5 +VTS,1,1,420,1.2,CRD,6.5 +VTS,1,1,420,1.61,CRD,8 +VTS,1,1,480,3.12,CRD,11 +VTS,1,1,360,1.57,CRD,7 +VTS,1,1,720,4.83,CRD,15.5 +VTS,1,1,600,1.44,CSH,8 +VTS,1,1,420,2.28,CRD,8.5 +VTS,1,1,720,2.56,CSH,11 +VTS,1,1,180,0.84,CRD,4.5 +VTS,1,1,720,4.08,CRD,14 +VTS,1,3,240,0.77,CSH,5 +VTS,1,1,780,2.31,CSH,11 +VTS,1,2,360,1.34,CSH,7 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,420,1.82,CRD,7.5 +VTS,1,1,360,1.56,CSH,7 +VTS,1,1,480,2.56,CRD,10 +VTS,1,1,840,5.55,CSH,18 +VTS,1,1,300,1.16,CRD,5.5 +VTS,1,1,480,3.45,CRD,11.5 +VTS,1,1,600,2.7,CSH,10.5 +VTS,1,1,240,0.72,CRD,4.5 +VTS,1,1,420,1.95,CRD,8 +VTS,1,1,360,1.16,CRD,6 +VTS,1,1,540,2.34,CSH,10 +VTS,1,1,900,7.83,CRD,23 +VTS,1,1,720,3.04,CRD,11.5 +VTS,1,1,600,2.11,CSH,9 +VTS,1,1,420,1.8,CSH,8 +VTS,1,1,600,2.05,CRD,9 +VTS,1,1,420,1.34,CSH,7 +VTS,1,1,420,2.06,CSH,8.5 +VTS,1,2,420,2.67,CSH,9.5 +VTS,1,2,300,0.87,CSH,5.5 +VTS,1,1,660,3,CRD,11 +VTS,1,1,540,6.66,CSH,19 +VTS,1,1,540,2,CSH,9 +VTS,1,2,1200,10.17,CRD,29.5 +VTS,2,1,1980,17.93,CRD,52 +VTS,1,1,420,1.75,CSH,7.5 +VTS,1,1,1020,3.83,CSH,15 +VTS,1,1,1140,2.21,CRD,13.5 +VTS,1,2,720,1.25,CSH,8.5 +VTS,1,2,420,1.11,CRD,6.5 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,1320,2.38,CRD,15 +VTS,2,1,3240,17.93,CSH,52 +VTS,1,1,480,1.48,CSH,8 +VTS,1,1,540,1.94,CRD,9 +VTS,1,1,1140,4.68,CRD,18.5 +VTS,1,1,900,1.4,CRD,10 +VTS,1,1,720,1.76,CRD,9.5 +VTS,1,1,1020,3.25,CRD,13.5 +VTS,1,1,1020,2.22,CRD,11.5 +VTS,1,1,840,2.1,CSH,10 +VTS,1,1,540,1.56,CRD,8 +VTS,1,1,540,1.82,CRD,8.5 +VTS,1,1,480,2.02,CRD,8.5 +VTS,1,2,420,1.41,CRD,7.5 +VTS,2,2,2400,17.99,CSH,52 +VTS,1,1,720,1.72,CRD,10 +VTS,1,1,480,0.86,CSH,7 +VTS,1,1,1140,2.11,CRD,13 +VTS,1,1,1920,11.84,CSH,38 +VTS,1,1,840,4.68,CRD,16.5 +VTS,1,1,540,1.48,CSH,8 +VTS,1,1,1320,11.29,CRD,32.5 +VTS,1,1,780,3.67,CRD,13 +VTS,1,2,900,3.47,CSH,13.5 +VTS,1,1,660,2.85,CRD,11.5 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,180,0.8,CSH,4.5 +VTS,1,1,1140,2.42,CRD,13.5 +VTS,1,1,360,2.46,CRD,9 +VTS,1,1,600,1.59,CRD,8.5 +VTS,1,1,600,2.1,CRD,9.5 +VTS,1,1,420,1.87,CRD,8 +VTS,1,1,660,3.01,CRD,11.5 +VTS,1,1,360,1.31,CRD,6.5 +VTS,1,1,360,1.26,CSH,6.5 +VTS,1,1,480,2.53,CSH,10 +VTS,1,2,240,0.71,CSH,4.5 +VTS,1,3,720,2.86,CSH,11 +VTS,1,1,360,1.23,CSH,6.5 +VTS,1,1,420,1.8,CSH,7.5 +VTS,1,1,240,0.95,CSH,5.5 +VTS,1,1,360,1.67,CSH,7 +VTS,1,2,780,3.39,CSH,12.5 +VTS,1,2,600,1.96,CSH,9.5 +VTS,1,1,720,1.34,CRD,9 +VTS,1,1,360,1.33,CRD,6.5 +VTS,1,2,180,1.17,CSH,5 +VTS,1,1,300,1.67,CRD,7 +VTS,1,1,480,1.48,CRD,7.5 +VTS,1,1,1980,5.27,CSH,25 +VTS,1,2,240,0.74,CSH,5.5 +VTS,1,1,420,1.13,CRD,6.5 +VTS,1,1,180,0.42,CSH,4 +VTS,1,1,420,1.57,CSH,7 +VTS,1,2,720,3.43,CSH,12 +VTS,1,1,300,1.19,CRD,5.5 +VTS,1,1,420,2.22,CRD,8.5 +VTS,1,1,600,2.3,CRD,10 +VTS,1,1,540,1.7,CRD,8 +VTS,1,2,600,1.77,CSH,9.5 +VTS,1,1,1440,4.5,CRD,18.5 +VTS,1,1,240,1.07,CRD,5.5 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,600,1.64,CRD,8 +VTS,1,1,360,0.81,CRD,5.5 +VTS,1,2,240,0.75,CRD,5 +VTS,1,1,420,1.82,CSH,8.5 +VTS,1,2,120,0.32,CSH,3.5 +VTS,1,1,540,1.88,CRD,8.5 +VTS,1,1,660,2.73,CRD,11 +VTS,1,1,180,0.88,CRD,4.5 +VTS,1,1,240,1.23,CSH,5.5 +VTS,1,1,300,1.95,CRD,7.5 +VTS,1,1,660,3.24,CSH,12 +VTS,1,1,300,0.5,CRD,4.5 +VTS,1,1,240,1.12,CSH,5.5 +VTS,1,1,180,1.02,CRD,5 +VTS,1,1,540,3.25,CRD,11 +VTS,1,2,660,2.86,CSH,11.5 +VTS,1,1,720,2.77,CRD,11 +VTS,1,2,900,4.25,CSH,14.5 +VTS,1,1,600,2.69,CSH,10.5 +VTS,1,1,720,2.77,CRD,11 +VTS,1,2,300,0.7,CSH,5.5 +VTS,1,1,420,1.58,CRD,7.5 +VTS,1,1,780,2.2,CRD,11 +VTS,1,1,600,1.54,CRD,8 +VTS,1,2,1500,6,CSH,22.5 +VTS,1,2,1620,9.15,CSH,29 +VTS,1,2,420,1.59,CRD,7 +VTS,1,1,900,4.42,CRD,15 +VTS,1,2,240,0.89,CSH,5 +VTS,1,1,600,3.05,CRD,11 +VTS,1,1,360,2.19,CSH,8 +VTS,1,2,420,1.73,CRD,7.5 +VTS,1,1,240,1.21,CRD,5.5 +VTS,1,1,900,7.55,CSH,22.5 +VTS,1,1,420,0.71,CSH,6 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,360,1.55,CSH,7 +VTS,1,1,600,2.68,CRD,10 +VTS,1,1,900,2.81,CRD,12 +VTS,1,1,1380,4.67,CRD,19 +VTS,1,1,540,2.26,CRD,9 +VTS,1,1,600,2.72,CRD,11 +VTS,1,3,540,2.07,CSH,9 +VTS,1,1,600,2.38,CRD,10 +VTS,1,1,240,1.33,CSH,6 +VTS,1,1,660,2.23,CRD,9.5 +VTS,1,1,360,1.34,CRD,6.5 +VTS,1,1,540,2.35,CRD,9.5 +VTS,1,1,300,0.96,CRD,5.5 +VTS,1,1,360,1.36,CRD,7 +VTS,1,1,540,2,CRD,8.5 +VTS,1,2,480,1.49,CRD,7.5 +VTS,1,1,300,0.61,CSH,5.5 +VTS,1,1,240,0.6,CSH,4.5 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,480,2.49,CRD,9 +VTS,1,1,660,4.65,CRD,15 +VTS,1,3,720,2.13,CSH,10 +VTS,1,1,540,1.69,CRD,8.5 +VTS,1,1,480,1.87,CSH,8 +VTS,1,1,300,1.09,CRD,6 +VTS,1,1,180,0.83,CRD,4.5 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,1,600,2.37,CRD,10 +VTS,1,2,360,1.96,CRD,7.5 +VTS,1,1,120,0.96,CRD,4.5 +VTS,1,1,600,3.78,CRD,13 +VTS,1,1,360,0.95,CRD,5.5 +VTS,1,1,1020,2.86,CRD,12.5 +VTS,1,1,360,1.34,CSH,6.5 +VTS,1,1,360,1.57,CRD,6.5 +VTS,1,1,780,2.85,CRD,11.5 +VTS,1,1,720,3.54,CRD,13 +VTS,1,1,900,2.2,CRD,11 +VTS,1,2,720,2.94,CRD,11 +VTS,1,1,600,2.14,CRD,9.5 +VTS,1,1,300,0.94,CRD,5.5 +VTS,1,1,840,3.92,CRD,14.5 +VTS,1,1,540,2.15,CRD,9 +VTS,1,2,300,1.13,CRD,5.5 +VTS,1,1,240,1.1,CRD,5.5 +VTS,1,2,480,2.04,CSH,8.5 +VTS,1,1,1200,5.84,CSH,20.5 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,540,2.75,CRD,10 +VTS,1,2,300,1.05,CRD,5.5 +VTS,1,2,360,2.17,CSH,8 +VTS,1,1,600,1.36,CRD,8 +VTS,1,1,600,1.65,CSH,8.5 +VTS,1,1,360,1.4,CRD,7 +VTS,1,1,1140,11.19,CSH,31.5 +VTS,1,3,480,1.56,CRD,7.5 +VTS,1,1,240,0.61,CRD,4 +VTS,1,1,600,2.11,CRD,9.5 +VTS,1,1,180,0.99,CSH,5.5 +VTS,1,2,300,1.35,CRD,6.5 +VTS,1,3,600,1.29,CSH,8 +VTS,1,2,780,1.83,CSH,10 +VTS,1,1,300,1.56,CSH,6.5 +VTS,1,1,420,2.16,CRD,8 +VTS,1,1,660,2.1,CRD,9.5 +VTS,1,1,480,1.34,CRD,7 +VTS,1,1,660,3.89,CRD,12 +VTS,1,1,240,0.83,CRD,5 +VTS,1,2,300,1.04,CSH,5.5 +VTS,1,2,180,0.62,CRD,4 +VTS,1,2,720,5.7,CSH,18 +VTS,1,2,240,0.82,CRD,5.5 +VTS,1,2,480,2.06,CSH,8 +VTS,1,1,600,2.91,CRD,11 +VTS,1,1,780,3.32,CSH,12.5 +VTS,1,1,240,0.85,CRD,5 +VTS,1,1,360,1.13,CRD,6.5 +VTS,1,2,240,0.95,CSH,5 +VTS,1,1,600,1.7,CRD,8.5 +VTS,1,1,480,1.18,CRD,7 +VTS,1,2,840,2.51,CSH,11 +VTS,1,1,360,0.86,CRD,6 +VTS,1,1,600,1.4,CRD,8 +VTS,1,1,780,2.68,CRD,12 +VTS,1,1,120,0.3,CRD,3.5 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,360,1.19,CSH,6 +VTS,1,1,540,1.39,CRD,7.5 +VTS,1,1,420,3.29,CRD,11 +VTS,1,2,420,2.88,CRD,10 +VTS,1,1,360,1.18,CSH,6 +VTS,1,1,480,1.21,CSH,7.5 +VTS,1,2,780,3.49,CRD,13.5 +VTS,1,1,480,1.67,CRD,8 +VTS,1,3,600,1.97,CRD,9 +VTS,1,1,480,1.28,CSH,7.5 +VTS,1,1,1080,8.96,CSH,26.5 +VTS,1,1,300,0.86,CSH,5.5 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,420,1.29,CSH,7 +VTS,1,1,420,1.96,CRD,8 +VTS,1,1,480,1.24,CRD,7.5 +VTS,1,1,900,0.88,CSH,10 +VTS,1,1,120,0.53,CRD,4 +VTS,1,1,780,1.58,CSH,9.5 +VTS,1,1,840,2.87,CRD,12 +VTS,1,2,240,0.55,CSH,4.5 +VTS,1,1,240,1.35,CSH,6.5 +VTS,1,1,360,1.9,CSH,7.5 +VTS,1,1,360,1.52,CRD,7 +VTS,1,2,600,1.89,CRD,8.5 +VTS,1,2,180,1.27,CRD,5.5 +VTS,1,2,300,0.85,CRD,5.5 +VTS,1,2,480,1.71,CRD,8 +VTS,1,2,780,6.09,CSH,18.5 +VTS,1,2,360,2.08,CSH,8 +VTS,1,2,900,3.78,CRD,14.5 +VTS,1,2,540,1.87,CSH,8.5 +VTS,1,2,300,0.93,CSH,5.5 +VTS,1,2,300,0.79,CSH,5 +VTS,1,2,960,3.15,CRD,13 +VTS,1,2,240,0.84,CRD,5 +VTS,1,2,480,2.08,CRD,8.5 +VTS,1,2,840,2.57,CRD,12 +VTS,1,2,180,0.77,CRD,5 +VTS,1,1,300,1.3,CRD,6.5 +VTS,1,2,600,1.7,CRD,8.5 +VTS,1,1,540,1.73,CSH,8 +VTS,1,1,420,1.26,CSH,7 +VTS,1,1,300,1.07,CRD,5.5 +VTS,1,1,540,1.57,CRD,8 +VTS,1,1,60,0.45,CSH,3.5 +VTS,1,1,660,1.52,CRD,9 +VTS,1,1,660,1.88,CRD,9 +VTS,1,2,300,0.92,CRD,5.5 +VTS,1,1,120,0.69,CRD,4 +VTS,1,1,180,1.24,CSH,5.5 +VTS,1,3,480,1.42,CRD,7.5 +VTS,1,1,180,0.94,CSH,5 +VTS,1,2,540,1.83,CRD,8 +VTS,1,1,420,1.47,CSH,7 +VTS,1,1,360,1.98,CRD,8 +VTS,1,1,1500,15.62,CRD,42 +VTS,1,1,420,1.3,CRD,7.5 +VTS,1,1,780,3.59,CRD,12.5 +VTS,1,1,180,0.88,CSH,4.5 +VTS,1,1,840,2.37,CRD,11.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,540,1.65,CRD,8 +VTS,1,1,360,0.83,CSH,6 +VTS,1,1,300,0.95,CRD,5 +VTS,1,1,600,1.59,CRD,8.5 +VTS,1,1,1380,5.35,CRD,19.5 +VTS,1,2,480,2.62,CRD,9.5 +VTS,1,1,420,2.67,CRD,9.5 +VTS,1,1,360,1.46,CRD,6.5 +VTS,1,1,600,1.6,CRD,8.5 +VTS,1,1,360,2,CRD,7.5 +VTS,1,1,420,1.48,CSH,7.5 +VTS,1,1,480,1.69,CSH,8 +VTS,1,1,60,0.34,CSH,3 +VTS,1,2,360,1.07,CRD,6 +VTS,1,2,180,0.47,CSH,4 +VTS,1,1,360,1.8,CRD,7.5 +VTS,1,1,1020,2.91,CSH,13 +VTS,1,1,420,0.79,CSH,6.5 +VTS,1,1,540,1.85,CRD,8.5 +VTS,1,1,360,1.61,CRD,7 +VTS,1,1,660,1.71,CRD,9 +VTS,1,1,300,0.9,CRD,5 +VTS,1,1,360,0.77,CRD,6 +VTS,1,1,540,2.27,CRD,9.5 +VTS,1,1,540,1.94,CRD,9 +VTS,1,1,1020,3.23,CRD,13.5 +VTS,1,1,1020,4.62,CSH,17 +VTS,1,1,480,0.76,CSH,7 +VTS,1,1,900,1.73,CRD,10.5 +VTS,1,1,480,1.78,CSH,8 +VTS,1,1,840,6.45,CRD,20 +VTS,3,1,2940,19.86,CSH,79.5 +VTS,1,1,1560,4.52,CRD,19.5 +VTS,1,1,540,0.78,CSH,7 +VTS,1,1,480,2.36,CRD,9 +VTS,1,1,1380,4.27,CSH,16.5 +VTS,1,1,480,1.28,CSH,7.5 +VTS,1,1,2520,11.61,CSH,35.5 +VTS,1,1,600,2.13,CRD,9.5 +VTS,1,1,600,1.03,CSH,8 +VTS,1,1,480,1.47,CSH,8 +VTS,1,1,1680,3.89,CRD,19 +VTS,1,1,360,1.14,CSH,6.5 +VTS,1,1,360,1.35,CSH,5.5 +VTS,1,2,1020,2.57,CSH,13.5 +VTS,1,1,660,2.21,CSH,10 +VTS,1,1,1320,11.89,CRD,34 +VTS,1,1,660,2.97,CSH,10 +VTS,2,1,2160,17.33,CRD,52 +VTS,1,1,240,1,CSH,5 +VTS,2,1,3180,17.24,CRD,52 +VTS,3,1,1380,15.35,CRD,58.5 +VTS,1,1,720,1.96,CRD,10 +VTS,1,1,960,2.69,CSH,13 +VTS,1,1,540,3.74,CRD,13.5 +VTS,1,2,840,6.67,CRD,20 +VTS,1,2,720,3.33,CSH,12.5 +VTS,1,1,180,0.64,CRD,4.5 +VTS,1,1,900,3.14,CSH,13 +VTS,1,1,540,1.99,CSH,9 +VTS,1,1,420,1.84,CSH,8 +VTS,1,1,660,2.55,CRD,11 +VTS,1,1,660,1.04,CSH,8.5 +VTS,1,1,600,2.92,CSH,10.5 +VTS,1,1,720,2.17,CRD,10.5 +VTS,1,1,180,0.92,CRD,5 +VTS,1,1,480,2.1,CRD,8.5 +VTS,1,1,360,1.37,CRD,6.5 +VTS,1,2,600,2.35,CRD,10 +VTS,1,1,300,1.62,CSH,6.5 +VTS,1,2,420,2.25,CSH,9 +VTS,1,1,180,0.97,CSH,5 +VTS,1,1,240,1,CRD,5.5 +VTS,1,1,960,2.2,CRD,11.5 +VTS,1,1,300,1.77,CSH,7 +VTS,1,1,300,0.67,CRD,5 +VTS,1,1,720,2.74,CRD,11 +VTS,1,1,1380,5.49,CRD,19.5 +VTS,1,1,540,2.6,CRD,10.5 +VTS,1,1,300,1.16,CSH,6 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,840,3.09,CSH,12.5 +VTS,1,1,960,3.21,CSH,13.5 +VTS,1,1,480,1.92,CSH,8.5 +VTS,1,1,660,3.59,CSH,12 +VTS,1,1,300,0.84,CSH,5.5 +VTS,1,1,420,1.76,CRD,7.5 +VTS,1,1,1020,3.95,CSH,14.5 +VTS,1,1,420,2.41,CRD,8.5 +VTS,1,1,60,0.45,CRD,3.5 +VTS,1,2,900,2.31,CSH,12 +VTS,1,1,180,1.09,CRD,5 +VTS,1,1,780,2.23,CSH,11 +VTS,1,1,780,2.01,CSH,10.5 +VTS,1,1,300,0.55,CRD,5 +VTS,1,1,240,1.37,CRD,6 +VTS,2,1,2400,17.53,CRD,52 +VTS,1,1,600,1.72,CSH,9 +VTS,1,1,120,0.6,CRD,4 +VTS,1,1,1080,5.92,CSH,19.5 +VTS,1,2,420,1.39,CSH,7 +VTS,1,2,420,0.96,CSH,6.5 +VTS,1,1,300,0.66,CRD,5 +VTS,1,2,360,1.28,CSH,6.5 +VTS,2,1,3000,21.64,CRD,52 +VTS,1,2,720,1.71,CRD,9.5 +VTS,1,2,180,0.92,CRD,5 +VTS,1,2,1020,2.8,CRD,13.5 +VTS,1,2,840,4.92,CSH,15.5 +VTS,1,1,900,8.12,CSH,23 +VTS,1,1,600,2.39,CSH,10 +VTS,1,2,1020,3.54,CRD,14 +VTS,1,1,360,1.55,CRD,7 +VTS,1,1,780,3.7,CSH,13.5 +VTS,1,1,600,2.57,CSH,11 +VTS,1,1,1740,5.52,CRD,23.5 +VTS,1,1,360,1.93,CSH,7.5 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,1,180,0.81,CSH,4.5 +VTS,1,1,780,2.46,CSH,11 +VTS,1,1,1200,8.43,CRD,26 +VTS,1,1,480,1.23,CRD,7.5 +VTS,1,1,660,2.17,CRD,9.5 +VTS,1,1,780,2.51,CSH,11.5 +VTS,1,1,300,0.69,CRD,5.5 +VTS,1,1,180,0.95,CRD,4.5 +VTS,1,2,720,2.53,CRD,11 +VTS,1,1,60,0.5,CSH,3.5 +VTS,1,2,60,0.09,CSH,3 +VTS,1,1,1440,4.21,CRD,18 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,660,1.98,CRD,9 +VTS,1,2,480,2.04,CRD,8.5 +VTS,1,1,1260,8.72,CRD,26.5 +VTS,1,1,540,2.04,CSH,9 +VTS,1,1,180,1.06,CSH,5 +VTS,1,1,900,4.28,CRD,14.5 +VTS,1,1,360,1.21,CRD,6 +VTS,1,1,900,2.11,CRD,11.5 +VTS,1,1,180,0.82,CRD,4.5 +VTS,1,2,720,2.8,CSH,11 +VTS,1,1,300,1.2,CRD,5.5 +VTS,1,2,540,1.89,CRD,8.5 +VTS,1,3,780,2.33,CSH,11 +VTS,1,1,420,1.61,CRD,7.5 +VTS,1,1,900,6.08,CSH,19 +VTS,1,2,720,3.23,CRD,12.5 +VTS,1,2,540,1.84,CRD,9 +VTS,1,2,180,0.99,CRD,5 +VTS,1,2,420,2.69,CSH,9.5 +VTS,1,2,0,0.02,CSH,2.5 +VTS,1,2,60,0.48,CSH,3.5 +VTS,1,2,720,1.67,CRD,9 +VTS,1,2,720,2.97,CRD,12 +VTS,1,2,600,2.58,CRD,10 +VTS,1,2,1140,2.88,CSH,14 +VTS,1,2,540,2,CSH,9.5 +VTS,1,2,480,2.11,CSH,8.5 +VTS,1,2,480,2.04,CRD,9 +VTS,1,2,240,0.72,CSH,5 +VTS,1,1,720,0.92,CRD,8.5 +VTS,1,1,300,1.26,CSH,5.5 +VTS,1,1,180,0.52,CSH,4.5 +VTS,1,2,180,0.47,CRD,4 +VTS,1,2,1020,2.8,CRD,13 +VTS,1,2,1080,8.76,CRD,26.5 +VTS,1,2,600,2.73,CRD,11 +VTS,1,2,540,2.18,CRD,9 +VTS,1,2,1080,10.95,CRD,31 +VTS,1,2,900,9.38,CRD,26.5 +VTS,1,2,660,1.55,CSH,8.5 +VTS,1,2,300,0.88,CSH,5.5 +VTS,1,2,300,1.49,CRD,6.5 +VTS,1,2,900,3.62,CSH,14.5 +VTS,1,2,480,0.67,CRD,6.5 +VTS,1,2,360,1.86,CRD,7.5 +VTS,1,2,480,1.11,CSH,7 +VTS,1,2,360,1.08,CRD,6 +VTS,1,2,240,0.53,CSH,5 +VTS,1,2,0,0.4,CSH,3 +VTS,1,2,540,1.5,CSH,8 +VTS,1,2,420,1.51,CRD,7.5 +VTS,1,2,960,1.1,CSH,11 +VTS,1,2,840,3.47,CRD,13.5 +VTS,1,2,240,1.19,CRD,6 +VTS,1,2,240,1.08,CSH,5.5 +VTS,1,2,720,2.32,CRD,10.5 +VTS,1,2,840,1.13,CSH,10.5 +VTS,1,2,660,3.63,CRD,12.5 +VTS,1,2,780,2.23,CRD,11 +VTS,1,2,960,4.14,CSH,14.5 +VTS,1,2,1020,3.63,CSH,12.5 +VTS,1,2,240,1.33,CRD,6.5 +VTS,1,2,540,2.23,CRD,9 +VTS,1,2,840,4.97,CRD,16.5 +VTS,1,2,480,2.91,CRD,10.5 +VTS,1,2,240,0.79,CSH,5 +VTS,1,2,720,4.09,CSH,13.5 +VTS,1,2,1260,4.04,CSH,13.5 +VTS,1,2,420,1.68,CRD,7.5 +VTS,1,2,600,2.27,CRD,10 +VTS,1,2,300,0.7,CRD,5.5 +VTS,1,2,540,2.5,CRD,9.5 +VTS,1,2,60,0.48,CSH,3.5 +VTS,1,2,420,1.36,CRD,7 +VTS,1,1,420,1.44,CSH,7 +VTS,1,1,780,1.43,CRD,10 +VTS,1,1,360,0.54,CSH,5.5 +VTS,1,1,60,0.19,CSH,3 +VTS,1,1,120,0.33,CSH,3 +VTS,1,1,480,1.22,CRD,7.5 +VTS,1,1,1080,3.09,CRD,14 +VTS,1,1,900,1.75,CRD,10.5 +VTS,1,1,1200,4.17,CRD,16.5 +VTS,1,1,840,3.32,CSH,13 +VTS,1,1,900,2.42,CSH,12 +VTS,1,1,180,0.43,CSH,4.5 +VTS,1,1,420,1.67,CRD,8 +VTS,1,1,1140,7.96,CSH,24.5 +VTS,1,1,1560,5.6,CSH,21.5 +VTS,1,2,600,2.1,CRD,9 +VTS,1,1,360,1.83,CRD,7.5 +VTS,1,1,180,0.81,CSH,5 +VTS,1,2,240,1.04,CRD,6 +VTS,1,2,420,1.57,CSH,7.5 +VTS,1,2,840,2.45,CRD,11 +VTS,1,1,1380,5.8,CSH,21.5 +VTS,1,2,480,1.99,CRD,8.5 +VTS,1,2,720,3.71,CSH,13.5 +VTS,1,2,840,2.13,CSH,11 +VTS,1,2,420,1.51,CSH,7 +VTS,1,2,240,1.2,CRD,5.5 +VTS,1,2,180,0.72,CRD,4.5 +VTS,1,2,360,1.29,CRD,6.5 +VTS,1,2,300,0.87,CRD,5 +VTS,1,2,1620,9.46,CSH,30.5 +VTS,1,2,600,2.59,CRD,10 +VTS,1,2,240,0.94,CSH,5.5 +VTS,1,1,180,0.5,CRD,4 +VTS,1,1,1320,6.19,CRD,21.5 +VTS,1,1,720,2.47,CSH,11 +VTS,1,2,480,1.06,CSH,6.5 +VTS,1,1,1200,6.45,CRD,21.5 +VTS,1,1,660,2.25,CRD,10 +VTS,1,1,360,1.18,CRD,6 +VTS,1,1,540,2.18,CRD,9 +VTS,1,1,120,0.45,CSH,3.5 +VTS,1,1,600,2.43,CRD,10 +VTS,1,1,420,0.7,CSH,6 +VTS,1,1,660,2.59,CSH,10.5 +VTS,1,1,420,2.04,CRD,8 +VTS,1,1,1020,5.28,CRD,18 +VTS,1,1,180,0.89,CRD,5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,420,1.65,CSH,7.5 +VTS,1,1,720,1.81,CRD,9.5 +VTS,1,1,900,8.25,CRD,24 +VTS,1,3,300,0.56,CSH,5 +VTS,1,1,480,1.66,CRD,7.5 +VTS,1,1,300,0.82,CRD,5 +VTS,1,1,420,0.68,CSH,6 +VTS,1,2,480,1.46,CRD,7.5 +VTS,1,1,240,0.85,CRD,5.5 +VTS,1,2,540,0.94,CRD,7 +VTS,1,2,300,1.1,CRD,6 +VTS,1,1,1200,0.7,CRD,12.5 +VTS,1,2,360,2.04,CRD,8 +VTS,1,2,180,0.48,CSH,4.5 +VTS,1,2,60,0.3,CSH,3 +VTS,1,2,180,0.72,CRD,4.5 +VTS,1,2,240,1.06,CRD,5.5 +VTS,1,2,420,2.33,CRD,9 +VTS,1,2,360,1.67,CRD,7 +VTS,1,2,480,2.83,CSH,10.5 +VTS,1,2,720,1.56,CSH,9.5 +VTS,1,2,300,1,CRD,5.5 +VTS,1,2,540,2.08,CRD,9 +VTS,1,2,420,2.11,CRD,8 +VTS,1,2,420,1.94,CSH,8 +VTS,1,2,240,1.64,CRD,6.5 +VTS,1,2,960,6.46,CRD,20 +VTS,1,2,960,8.28,CRD,24.5 +VTS,1,2,420,1.26,CRD,6.5 +VTS,1,2,900,2.84,CRD,12.5 +VTS,1,2,360,1.1,CRD,6.5 +VTS,1,2,480,1.31,CRD,7 +VTS,1,2,360,0.89,CRD,6 +VTS,1,1,660,2.91,CRD,11 +VTS,1,1,120,0.5,CRD,3.5 +VTS,1,1,300,1.1,CRD,6 +VTS,1,2,600,1.69,CSH,9 +VTS,1,2,1140,2.58,CSH,13.5 +VTS,1,2,1200,2.75,CRD,15 +VTS,1,2,300,1.69,CSH,7 +VTS,1,2,180,0.74,CSH,4.5 +VTS,1,2,240,0.88,CRD,5 +VTS,1,2,780,1.41,CRD,9.5 +VTS,1,2,480,1.82,CSH,8.5 +VTS,1,2,180,0.65,CRD,4.5 +VTS,1,2,420,2.16,CRD,8.5 +VTS,1,2,360,1.6,CRD,7 +VTS,1,2,960,2.88,CSH,12.5 +VTS,1,2,420,1.26,CSH,7 +VTS,1,2,1140,5.33,CRD,18.5 +VTS,1,2,300,1.83,CRD,7 +VTS,1,2,360,2.06,CSH,7.5 +VTS,1,2,180,0.6,CSH,4.5 +VTS,1,2,900,3.22,CSH,13.5 +VTS,1,2,240,0.91,CSH,5 +VTS,1,2,1200,3.28,CSH,15 +VTS,1,2,600,1.45,CSH,8.5 +VTS,1,2,840,3.96,CRD,14.5 +VTS,1,2,300,1,CRD,5.5 +VTS,1,2,600,0.69,CSH,8 +VTS,1,2,540,2.23,CSH,9 +VTS,1,2,360,0.87,CRD,6 +VTS,1,1,1380,11.23,CRD,31.5 +VTS,1,2,240,0.7,CSH,4.5 +VTS,1,2,360,1.33,CRD,7 +VTS,1,2,1080,3.68,CSH,15 +VTS,1,2,540,1.65,CRD,8.5 +VTS,1,2,600,1.88,CSH,9 +VTS,1,2,840,1.64,CRD,10.5 +VTS,1,2,780,3.36,CRD,13 +VTS,1,2,300,1.29,CSH,6.5 +VTS,1,2,420,1.95,CSH,8 +VTS,1,2,1860,10.93,CSH,34.5 +VTS,1,2,840,4.81,CSH,15.5 +VTS,1,2,840,3.51,CSH,13.5 +VTS,1,2,120,1,CRD,5 +VTS,1,2,540,2.14,CRD,9.5 +VTS,1,2,240,0.7,CSH,5 +VTS,1,2,360,1.38,CRD,6.5 +VTS,1,2,180,0.51,CSH,4 +VTS,1,2,240,0.72,CRD,4.5 +VTS,1,2,600,2.03,CRD,9 +VTS,1,2,240,0.94,CSH,5 +VTS,1,2,360,2,CSH,8 +VTS,1,2,540,0.8,CSH,6.5 +VTS,1,2,480,3.03,CRD,11 +VTS,1,1,420,1.04,CSH,6 +VTS,1,1,840,3.39,CRD,13.5 +VTS,1,2,180,1.06,CRD,5 +VTS,1,2,840,5.24,CRD,16.5 +VTS,2,2,1860,20.58,CRD,52 +VTS,1,2,660,1.62,CRD,9 +VTS,1,2,600,1.97,CRD,9 +VTS,1,2,180,0.59,CSH,4.5 +VTS,1,2,180,0.51,CRD,4 +VTS,1,2,1020,2.4,CRD,13 +VTS,1,2,240,1.17,CSH,5.5 +VTS,1,2,180,0.9,CRD,5 +VTS,1,2,420,1.73,CRD,8 +VTS,1,2,480,1.74,CRD,8 +VTS,1,2,300,0.69,CRD,5.5 +VTS,1,2,360,0.94,CRD,6 +VTS,1,2,420,0.99,CRD,7 +VTS,1,1,180,0.53,CSH,4 +VTS,1,1,180,0.66,CSH,4 +VTS,1,1,540,1.54,CRD,8.5 +VTS,1,2,480,1.16,CSH,7.5 +VTS,1,1,360,0.72,CSH,5.5 +VTS,1,1,300,0.53,CRD,5 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,420,1.38,CSH,7.5 +VTS,1,1,540,1.73,CRD,9 +VTS,1,1,600,1.56,CRD,8 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,300,1.58,CRD,6.5 +VTS,1,1,540,2.58,CSH,9.5 +VTS,1,1,180,0.39,CRD,4 +VTS,1,1,480,1.29,CRD,7.5 +VTS,1,1,2640,18.41,CRD,52 +VTS,1,1,180,1.25,CSH,5.5 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,360,1.03,CRD,6.5 +VTS,1,1,240,0.56,CRD,4.5 +VTS,1,1,300,1.17,CRD,6 +VTS,1,1,600,1.89,CSH,9.5 +VTS,1,1,360,1.2,CSH,6.5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,1440,4.1,CSH,18 +VTS,1,1,180,0.62,CRD,4.5 +VTS,1,1,480,0.87,CRD,6.5 +VTS,1,1,360,0.89,CRD,6 +VTS,1,1,660,3.27,CSH,12 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,540,2.1,CSH,9 +VTS,1,1,1740,10.69,CRD,33 +VTS,1,1,900,2.35,CSH,11.5 +VTS,1,1,420,1.39,CRD,7 +VTS,1,1,1680,3.13,CSH,19.5 +VTS,1,1,780,1.9,CRD,10 +VTS,1,1,540,2.26,CRD,9 +VTS,1,1,300,1,CSH,6 +VTS,1,1,420,0.85,CRD,6.5 +VTS,1,1,480,1.85,CSH,8.5 +VTS,1,1,420,1.32,CSH,7.5 +VTS,1,1,1080,3.14,CSH,14 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,300,1.14,CRD,6 +VTS,1,1,300,0.49,CRD,4.5 +VTS,1,1,420,0.84,CSH,6 +VTS,1,1,1020,8.86,CRD,25.5 +VTS,1,1,240,1.14,CRD,5.5 +VTS,1,1,840,2.48,CSH,11.5 +VTS,1,1,540,1.25,CRD,8 +VTS,1,1,300,1.2,CRD,6 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,300,0.75,CRD,5 +VTS,1,1,1740,10.01,CRD,31.5 +VTS,1,1,240,0.83,CSH,5.5 +VTS,1,1,240,0.55,CRD,4.5 +VTS,1,1,720,2.01,CRD,10 +VTS,1,1,240,1.01,CSH,5.5 +VTS,1,1,1260,4.25,CRD,17 +VTS,1,1,720,2.95,CSH,12 +VTS,1,1,840,2.02,CRD,10.5 +VTS,1,1,480,1.74,CSH,8 +VTS,1,1,780,3.39,CSH,12.5 +VTS,1,2,720,2.33,CRD,10.5 +VTS,1,2,420,1.09,CRD,7 +VTS,1,2,540,1.51,CSH,8.5 +VTS,1,2,840,3.66,CRD,13.5 +VTS,1,1,780,3.79,CRD,14 +VTS,1,1,780,2.78,CRD,11.5 +VTS,1,1,300,1.16,CRD,6 +VTS,1,1,300,1.05,CSH,5.5 +VTS,1,1,720,2.37,CSH,10 +VTS,1,1,600,2.56,CRD,10.5 +VTS,1,1,420,2.24,CRD,8.5 +VTS,1,1,600,2.31,CSH,10.5 +VTS,1,1,600,2.45,CRD,10 +VTS,1,1,780,3.1,CRD,12 +VTS,1,1,360,1.27,CSH,6.5 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,600,1.66,CRD,9 +VTS,1,1,540,1.87,CRD,9 +VTS,1,1,840,2.71,CRD,11.5 +VTS,1,1,540,1.54,CRD,8 +VTS,1,1,540,1.57,CSH,8.5 +VTS,1,1,780,2.47,CSH,11.5 +VTS,1,1,660,2.25,CSH,10.5 +VTS,1,1,840,2.4,CSH,11 +VTS,1,1,240,0.95,CSH,5.5 +VTS,1,1,420,1.62,CRD,7.5 +VTS,1,1,360,0.95,CRD,6 +VTS,1,1,180,0.53,CSH,4 +VTS,1,1,900,2.41,CRD,12 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,240,0.83,CSH,5 +VTS,1,1,420,1,CSH,6.5 +VTS,1,1,600,1.52,CRD,8.5 +VTS,1,1,480,2.18,CRD,8.5 +VTS,1,1,2220,5.88,CRD,26.5 +VTS,1,1,180,0.74,CSH,5 +VTS,1,1,360,1.36,CSH,7 +VTS,1,1,120,0.53,CSH,3.5 +VTS,1,1,840,4.34,CSH,15 +VTS,1,1,600,2.48,CRD,10.5 +VTS,1,1,660,1.8,CRD,9.5 +VTS,1,1,480,1.2,CSH,7 +VTS,1,1,240,0.68,CSH,5 +VTS,1,1,1980,8.25,CSH,30 +VTS,1,1,300,1.18,CRD,6 +VTS,1,1,420,1.08,CRD,6.5 +VTS,1,1,1260,2.33,CSH,14 +VTS,1,1,240,0.76,CRD,4.5 +VTS,1,1,660,3.22,CRD,12.5 +VTS,1,1,420,1.19,CSH,6.5 +VTS,1,1,540,0.73,CRD,6.5 +VTS,1,1,240,1.47,CRD,6 +VTS,1,1,540,1.31,CSH,7.5 +VTS,1,1,360,0.9,CRD,5.5 +VTS,1,1,1680,8.87,CRD,28 +VTS,1,1,1020,4.35,CRD,16.5 +VTS,1,1,540,1.66,CRD,8.5 +VTS,1,1,120,0.6,CSH,4 +VTS,1,1,300,1.02,CRD,6 +VTS,1,1,180,0.55,CRD,4 +VTS,1,1,720,2.01,CSH,10 +VTS,1,1,420,1.1,CRD,6.5 +VTS,1,1,240,0.92,CSH,5 +VTS,1,1,840,5.92,CSH,19.5 +VTS,1,1,300,1,CRD,6 +VTS,1,1,240,0.74,CRD,5 +VTS,1,1,540,2.25,CRD,9.5 +VTS,1,1,240,0.9,CRD,5 +VTS,1,1,780,2.15,CRD,10.5 +VTS,1,1,1080,2.95,CRD,13.5 +VTS,1,1,540,1.26,CRD,8 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,1200,2.33,CRD,13.5 +VTS,1,1,300,1.26,CSH,6.5 +VTS,1,1,420,1.65,CRD,7 +VTS,1,1,300,0.82,CRD,5.5 +VTS,1,1,1080,3.84,CSH,15.5 +VTS,1,1,300,0.58,CSH,5 +VTS,1,1,240,0.72,CSH,4.5 +VTS,1,1,240,1.02,CRD,5.5 +VTS,1,1,780,2.85,CRD,11.5 +VTS,1,1,600,1.48,CSH,8 +VTS,1,1,840,1.33,CSH,9.5 +VTS,1,1,480,0.68,CRD,6.5 +VTS,1,1,1680,4.62,CRD,19 +VTS,1,1,1200,3.17,CSH,15 +VTS,1,1,720,1.29,CSH,9.5 +VTS,1,1,660,2.42,CRD,10.5 +VTS,1,1,240,0.36,CRD,4.5 +VTS,1,1,180,0.39,CRD,3.5 +VTS,1,1,780,2.07,CSH,11 +VTS,1,1,480,1.86,CRD,8 +VTS,1,1,660,3.2,CSH,12 +VTS,1,1,960,1.96,CSH,11 +VTS,1,1,180,0.62,CSH,4 +VTS,1,1,420,1.97,CRD,8 +VTS,1,1,540,1.75,CRD,8 +VTS,1,1,540,1.2,CRD,8 +VTS,1,1,600,1.63,CRD,9 +VTS,1,1,600,2.66,CSH,10.5 +VTS,1,1,600,1.46,CSH,8.5 +VTS,1,1,180,0.29,CSH,3.5 +VTS,1,1,180,0.54,CRD,4.5 +VTS,1,1,480,1.56,CSH,7.5 +VTS,1,1,1200,5.85,CRD,19.5 +VTS,1,1,540,1.83,CRD,8 +VTS,1,1,240,1.3,CSH,6 +VTS,1,1,660,4.18,CRD,13.5 +VTS,1,1,120,0.53,CSH,3.5 +VTS,1,1,120,0.42,CRD,4 +VTS,1,1,240,0.65,CSH,4.5 +VTS,1,1,300,1.08,CSH,6 +VTS,1,2,180,0.63,CSH,4.5 +VTS,1,2,540,2.04,CRD,9 +VTS,1,2,840,4.8,CRD,15 +VTS,1,2,780,4.63,CRD,15 +VTS,1,2,1140,1.94,CRD,13 +VTS,1,2,780,2.52,CRD,11.5 +VTS,1,2,360,1.49,CRD,7 +VTS,2,2,1680,18.55,CSH,52 +VTS,1,2,60,0.01,CSH,2.5 +VTS,1,2,900,4.46,CRD,16 +VTS,1,2,180,1.15,CRD,5 +VTS,1,2,1440,9.18,CRD,28 +VTS,1,2,240,1.14,CSH,5.5 +VTS,1,2,660,2.86,CRD,11.5 +VTS,1,2,180,1.29,CSH,5.5 +VTS,1,2,900,3.44,CRD,13.5 +VTS,1,2,300,0.95,CSH,5.5 +VTS,1,2,540,2.01,CRD,8.5 +VTS,1,2,180,0.7,CRD,4.5 +VTS,1,2,120,0.2,CSH,3.5 +VTS,1,2,300,1.62,CSH,7 +VTS,1,2,300,1.54,CRD,7 +VTS,1,2,480,2.71,CSH,10 +VTS,1,2,960,2.9,CSH,13.5 +VTS,1,1,300,0.69,CRD,5.5 +VTS,1,1,720,1.51,CSH,9.5 +VTS,1,1,480,2.14,CRD,8.5 +VTS,1,1,300,1.78,CRD,7.5 +VTS,1,1,360,0.9,CSH,5.5 +VTS,1,1,540,1.82,CSH,8.5 +VTS,1,1,660,1.89,CSH,9.5 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,1,480,2.16,CSH,8.5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,600,2.21,CRD,9.5 +VTS,1,1,420,1.9,CSH,7.5 +VTS,1,1,600,1.75,CRD,9 +VTS,1,1,360,1.38,CRD,7 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,1200,7.79,CSH,25 +VTS,1,1,300,0.73,CRD,5 +VTS,1,1,1320,4.12,CRD,17 +VTS,1,1,1140,2.73,CRD,13.5 +VTS,1,1,1140,3.62,CSH,16.5 +VTS,1,1,660,6.51,CSH,19.5 +VTS,1,1,780,2.17,CSH,11 +VTS,1,1,240,0.68,CSH,4.5 +VTS,1,1,1080,2.68,CSH,13.5 +VTS,1,1,360,1.07,CRD,6 +VTS,1,1,1320,9.72,CRD,29 +VTS,1,1,420,1.58,CSH,7.5 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,600,3.24,CSH,12 +VTS,1,1,960,3.16,CSH,14 +VTS,1,1,420,0.81,CSH,6 +VTS,1,1,300,1.8,CRD,7 +VTS,1,1,240,0.54,CRD,4.5 +VTS,1,1,480,1.18,CRD,7 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,1,300,0.88,CRD,5 +VTS,1,1,1200,3.35,CRD,15.5 +VTS,1,1,840,2.51,CSH,11.5 +VTS,1,1,480,0.86,CSH,6.5 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,1,180,0.52,CSH,4 +VTS,1,1,660,1.24,CRD,8.5 +VTS,1,1,600,1.89,CSH,9 +VTS,1,1,240,0.63,CRD,4.5 +VTS,1,1,960,2.79,CSH,12.5 +VTS,1,1,180,0.55,CSH,4 +VTS,1,1,240,0.93,CRD,5.5 +VTS,1,1,240,0.39,CSH,4.5 +VTS,1,1,900,2.35,CRD,12 +VTS,1,1,1380,10.66,CRD,31 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,1140,5.45,CRD,19.5 +VTS,1,1,300,0.88,CRD,5 +VTS,1,1,360,0.93,CRD,6 +VTS,1,1,600,1.43,CRD,8 +VTS,1,1,420,0.96,CSH,6 +VTS,1,1,300,1.75,CRD,6.5 +VTS,1,1,420,2.13,CRD,8.5 +VTS,1,1,480,1.71,CSH,8 +VTS,1,1,540,1.12,CSH,7.5 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,1,300,1.3,CRD,6 +VTS,1,1,1500,9.58,CRD,29.5 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,1800,5.18,CSH,22 +VTS,1,1,360,0.88,CSH,5.5 +VTS,1,1,780,1.28,CSH,9 +VTS,1,1,240,0.71,CSH,4.5 +VTS,1,1,240,0.98,CSH,5.5 +VTS,1,1,300,1.77,CRD,7 +VTS,1,1,360,0.9,CSH,5.5 +VTS,1,1,300,1.37,CRD,6 +VTS,1,1,300,1.19,CSH,5.5 +VTS,1,1,540,1.29,CRD,7 +VTS,1,1,660,1.4,CRD,8.5 +VTS,1,1,1020,3.67,CRD,15 +VTS,1,1,180,0.91,CSH,5 +VTS,1,1,480,2.45,CSH,9 +VTS,1,1,480,0.79,CSH,6.5 +VTS,1,1,360,0.8,CSH,6 +VTS,1,1,180,0.45,CSH,4 +VTS,1,1,960,2.34,CRD,11.5 +VTS,1,1,1260,8.48,CRD,26 +VTS,1,1,480,1.97,CRD,8.5 +VTS,1,1,600,2.18,CRD,10 +VTS,1,1,780,1.8,CRD,10 +VTS,1,1,480,0.69,CRD,6.5 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,1,420,1.45,CRD,7 +VTS,1,1,540,2.08,CRD,9 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,1680,3.39,CRD,19 +VTS,2,1,1620,17.89,CSH,52 +VTS,1,1,1140,9.01,CRD,27 +VTS,1,1,240,1.21,CRD,6 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,120,0.59,CSH,4 +VTS,1,1,360,0.93,CRD,5.5 +VTS,1,1,1440,3.72,CRD,17 +VTS,1,1,720,2.41,CRD,10 +VTS,1,1,660,3.31,CSH,11.5 +VTS,1,1,300,0.77,CRD,5 +VTS,1,1,420,1.12,CSH,6.5 +VTS,1,1,600,1.4,CRD,8 +VTS,1,1,780,1.97,CSH,10.5 +VTS,1,1,360,2.35,CRD,9.5 +VTS,1,1,180,0.97,CSH,5 +VTS,1,1,240,0.5,CSH,4.5 +VTS,1,1,840,3.04,CRD,12.5 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,720,5.05,CRD,16 +VTS,1,1,720,0.86,CSH,8.5 +VTS,1,1,1020,4.1,CRD,16.5 +VTS,1,2,600,2.11,CRD,10 +VTS,1,2,960,8.97,CSH,25.5 +VTS,1,2,120,0.58,CRD,4 +VTS,1,2,360,0.74,CSH,6 +VTS,1,2,360,1.71,CRD,7.5 +VTS,1,2,1200,4.04,CRD,17 +VTS,1,2,360,0.98,CSH,6.5 +VTS,1,2,1080,3.6,CRD,15.5 +VTS,1,2,120,0.42,CSH,3.5 +VTS,1,2,180,0.74,CRD,4.5 +VTS,1,2,960,4.32,CRD,16.5 +VTS,2,1,1920,17.89,CRD,52 +VTS,1,1,1020,2.29,CRD,12.5 +VTS,1,1,480,1.12,CRD,7 +VTS,1,1,420,1.02,CSH,6.5 +VTS,1,1,540,1.57,CSH,8 +VTS,1,1,780,4.27,CRD,14 +VTS,1,1,540,1.22,CRD,7.5 +VTS,1,1,720,1.01,CRD,9 +VTS,1,1,180,0.54,CRD,4 +VTS,1,1,420,1.12,CSH,6.5 +VTS,1,1,240,0.87,CSH,5 +VTS,1,1,240,0.44,CSH,4.5 +VTS,1,1,480,2.21,CRD,9 +VTS,1,1,480,1.51,CRD,7 +VTS,1,1,720,3.12,CRD,12.5 +VTS,1,1,540,1.69,CRD,8.5 +VTS,1,1,1320,3.15,CRD,17 +VTS,1,1,720,2.83,CRD,12 +VTS,1,1,420,1.83,CRD,8 +VTS,1,1,480,0.96,CSH,7 +VTS,1,1,240,1.01,CRD,5.5 +VTS,1,1,420,1.01,CRD,6 +VTS,1,1,1140,2.99,CRD,14.5 +VTS,1,1,780,8.8,CSH,24.5 +VTS,1,2,720,1.78,CRD,9.5 +VTS,1,2,840,1.3,CRD,10.5 +VTS,1,1,480,1.1,CSH,7 +VTS,1,1,720,1.93,CSH,10 +VTS,1,1,900,1.03,CRD,10.5 +VTS,1,1,600,0.68,CRD,7 +VTS,1,1,360,0.7,CSH,5.5 +VTS,1,1,840,2.28,CSH,11 +VTS,1,1,1260,9.58,CSH,29 +VTS,1,1,660,2.9,CRD,12 +VTS,1,1,120,0.49,CRD,3.5 +VTS,1,1,180,0.87,CSH,4.5 +VTS,1,1,420,0.93,CSH,6.5 +VTS,1,1,420,1.63,CSH,7.5 +VTS,1,1,180,0.92,CRD,5 +VTS,2,1,1500,16.97,CSH,52 +VTS,1,1,720,1.95,CRD,10 +VTS,1,1,720,1.58,CRD,9 +VTS,1,1,180,0.73,CRD,5 +VTS,1,1,780,4,CRD,13.5 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,1140,9.42,CRD,27 +VTS,1,1,1200,3.46,CRD,15 +VTS,1,1,2640,9.99,CRD,38.5 +VTS,1,1,780,1.65,CSH,10.5 +VTS,1,1,1140,2.3,CRD,13.5 +VTS,1,1,480,1.62,CRD,8 +VTS,1,1,540,2.29,CSH,9.5 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,480,1.51,CRD,8 +VTS,1,1,600,4.85,CRD,15.5 +VTS,1,1,900,2.82,CSH,12 +VTS,1,1,540,1.7,CRD,8.5 +VTS,1,1,900,2.71,CSH,12 +VTS,1,1,420,1.57,CSH,7.5 +VTS,1,1,720,2.4,CSH,11 +VTS,1,1,120,0.88,CRD,4.5 +VTS,1,1,720,1.54,CSH,9 +VTS,1,1,540,2.04,CSH,9 +VTS,1,1,1200,2.51,CSH,13.5 +VTS,1,1,540,0.77,CSH,7 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,360,1.15,CRD,6 +VTS,1,1,480,1.21,CRD,7.5 +VTS,1,1,840,2.67,CRD,11.5 +VTS,1,1,900,1.37,CRD,10 +VTS,1,1,540,1.3,CRD,8 +VTS,1,1,300,0.91,CRD,5 +VTS,1,1,360,1.9,CRD,7.5 +VTS,1,1,840,3.14,CSH,13 +VTS,1,1,480,1.76,CSH,7.5 +VTS,1,1,300,0.95,CRD,6 +VTS,1,1,300,1,CRD,5.5 +VTS,1,1,960,3.78,CRD,15 +VTS,1,2,300,0.82,CRD,5.5 +VTS,1,2,480,0.95,CSH,7 +VTS,1,2,420,1.44,CSH,7 +VTS,1,2,960,4.22,CSH,16 +VTS,1,2,480,2.15,CRD,9 +VTS,1,2,480,1.09,CSH,7.5 +VTS,1,2,180,0.78,CSH,4.5 +VTS,1,2,1920,3.63,CRD,20.5 +VTS,1,2,600,1.04,CSH,7.5 +VTS,1,2,300,0.77,CSH,5.5 +VTS,1,2,480,1.31,CSH,7 +VTS,1,2,240,0.99,CRD,5.5 +VTS,1,2,420,0.92,CRD,6.5 +VTS,1,1,780,2.1,CRD,11 +VTS,1,2,240,0.76,CRD,5 +VTS,1,2,240,0.43,CRD,4.5 +VTS,1,2,1740,4.33,CRD,21 +VTS,1,2,1080,2.15,CRD,12.5 +VTS,1,2,300,1.2,CSH,6 +VTS,1,2,420,1.12,CSH,7 +VTS,1,2,960,2.21,CSH,12 +VTS,1,1,1320,6,CSH,22.5 +VTS,1,1,780,1.62,CRD,10.5 +VTS,1,1,840,2.16,CSH,11 +VTS,1,1,1200,3.15,CSH,14 +VTS,1,1,780,2.75,CSH,11.5 +VTS,1,1,840,7.85,CSH,23 +VTS,1,1,720,1.92,CRD,9.5 +VTS,1,1,420,0.88,CSH,6.5 +VTS,1,1,480,0.88,CRD,7 +VTS,1,1,600,1.43,CRD,8 +VTS,1,1,540,2.51,CRD,10.5 +VTS,1,2,120,0,CSH,2.5 +VTS,1,2,300,1.08,CRD,5.5 +VTS,1,2,300,1.3,CRD,6.5 +VTS,1,2,1080,2.46,CRD,13 +VTS,1,2,300,0.91,CRD,6 +VTS,1,2,480,0.95,CRD,7 +VTS,1,2,1020,4.57,CRD,16.5 +VTS,1,2,420,0.97,CSH,6 +VTS,1,2,360,1.19,CSH,6.5 +VTS,1,2,300,1.09,CSH,5.5 +VTS,1,2,240,0.85,CRD,5 +VTS,1,2,480,1.73,CRD,8 +VTS,1,2,360,0.84,CSH,6 +VTS,1,2,540,0.6,CSH,7 +VTS,2,2,1860,19.51,CRD,52 +VTS,1,2,1440,13.86,CRD,39 +VTS,1,2,720,1.3,CSH,9 +VTS,1,2,300,0.92,CRD,5.5 +VTS,1,2,120,0.22,CSH,3.5 +VTS,1,2,240,0.62,CRD,5 +VTS,1,1,2220,23.76,CSH,64.5 +VTS,2,1,1860,17.82,CRD,52 +VTS,1,1,540,1.18,CRD,8 +VTS,1,1,360,1.04,CSH,6.5 +VTS,1,1,360,1.04,CRD,6 +VTS,1,1,240,1.06,CSH,5.5 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,2160,8.76,CRD,31 +VTS,1,1,180,0.65,CRD,4.5 +VTS,1,1,180,0.47,CRD,4 +VTS,1,1,2040,4.12,CRD,22 +VTS,1,1,540,1.64,CRD,8 +VTS,1,1,1080,4.43,CRD,16.5 +VTS,1,1,720,3.16,CRD,12 +VTS,1,1,1260,5.55,CRD,20 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,480,1.17,CRD,7 +VTS,1,1,300,0.88,CRD,5 +VTS,1,1,1140,3.82,CRD,16 +VTS,1,1,180,0.57,CSH,4.5 +VTS,1,1,420,1.32,CRD,7 +VTS,1,1,660,1.42,CRD,8.5 +VTS,1,1,240,1.04,CSH,5 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,1,480,1.01,CRD,7 +VTS,1,2,840,1.88,CRD,11 +VTS,1,2,180,0.55,CRD,4 +VTS,1,1,540,1.68,CRD,8.5 +VTS,1,2,540,1.34,CSH,8 +VTS,1,2,360,1.53,CSH,7.5 +VTS,1,2,360,2.34,CRD,8.5 +VTS,1,2,360,1.03,CRD,6 +VTS,1,2,720,2.42,CRD,11 +VTS,1,2,1140,2.35,CRD,13.5 +VTS,1,2,660,2.2,CSH,10 +VTS,1,2,360,3.05,CRD,10 +VTS,1,2,120,0.51,CSH,4 +VTS,1,2,540,2.25,CSH,9.5 +VTS,1,2,240,0.62,CRD,4.5 +VTS,1,2,420,2.06,CRD,8.5 +VTS,1,2,2160,14.39,CRD,44.5 +VTS,1,2,660,0.76,CRD,8 +VTS,1,1,1140,3.05,CRD,15 +VTS,1,2,660,1.99,CSH,9.5 +VTS,1,2,300,0.8,CRD,5.5 +VTS,1,2,900,2.22,CRD,12 +VTS,1,2,540,0.92,CRD,7.5 +VTS,1,1,540,1.62,CSH,8.5 +VTS,2,1,1080,15.56,CSH,52 +VTS,1,1,300,1,CSH,5.5 +VTS,1,1,720,2.11,CRD,10 +VTS,1,1,480,1.5,CSH,8 +VTS,1,1,1500,5.16,CRD,21 +VTS,1,1,540,1,CSH,7.5 +VTS,1,1,540,1.47,CSH,7.5 +VTS,1,1,780,2.01,CRD,10.5 +VTS,1,1,720,2.01,CSH,10 +VTS,1,1,420,1.69,CSH,7.5 +VTS,1,1,600,1.21,CSH,8 +VTS,1,1,840,1.11,CRD,10 +VTS,1,1,480,1.97,CRD,8.5 +VTS,1,1,300,1.11,CRD,5.5 +VTS,1,1,300,1.33,CRD,6 +VTS,1,1,360,1.03,CRD,6.5 +VTS,1,1,1440,9.53,CSH,29 +VTS,1,1,120,0.78,CSH,4 +VTS,1,1,180,0.56,CSH,4 +VTS,1,1,720,2.27,CRD,10 +VTS,1,1,420,1.9,CSH,8 +VTS,1,1,720,1.95,CSH,9.5 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,1,900,4.06,CRD,14.5 +VTS,1,1,600,1.44,CRD,8.5 +VTS,1,1,300,0.58,CRD,5.5 +VTS,1,1,1200,3.15,CSH,14.5 +VTS,1,1,1200,3.81,CSH,16.5 +VTS,1,1,420,2.29,CSH,8.5 +VTS,1,1,540,2.61,CSH,10 +VTS,1,1,300,1.42,CSH,6.5 +VTS,1,1,720,0.92,CRD,8.5 +VTS,1,1,360,1.43,CRD,6.5 +VTS,2,1,2760,18.12,CRD,52 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,1,600,0.89,CSH,7.5 +VTS,1,1,960,2.64,CSH,12 +VTS,1,1,1020,4.06,CRD,16.5 +VTS,1,1,180,0.28,CRD,3.5 +VTS,1,1,720,1.67,CRD,9.5 +VTS,1,1,540,1.08,CRD,7 +VTS,1,1,420,1.45,CRD,7 +VTS,1,1,540,2.33,CSH,9.5 +VTS,1,1,1140,2.5,CRD,14 +VTS,1,1,1320,8.65,CSH,27 +VTS,1,1,1800,4.49,CRD,18.5 +VTS,1,1,600,1.53,CRD,8.5 +VTS,1,1,1320,2.25,CSH,15 +VTS,1,1,540,1.61,CSH,8 +VTS,1,2,540,1.52,CRD,8 +VTS,1,2,600,0.8,CSH,8 +VTS,1,2,600,1.97,CRD,9.5 +VTS,1,2,600,1.98,CSH,9.5 +VTS,1,2,120,0.52,CSH,4 +VTS,1,2,660,1.36,CRD,9 +VTS,1,2,1080,2.77,CSH,14 +VTS,1,2,600,3.73,CRD,12.5 +VTS,1,2,900,4.7,CRD,16 +VTS,1,2,540,1.79,CRD,9 +VTS,1,2,960,4.3,CSH,16 +VTS,2,1,3720,18.29,CSH,52 +VTS,1,1,240,0.78,CRD,4.5 +VTS,1,1,540,2.01,CRD,9 +VTS,1,1,1380,3.34,CRD,16.5 +VTS,1,1,780,1.72,CRD,10 +VTS,1,1,1140,2.15,CRD,13 +VTS,1,1,420,1.93,CRD,8 +VTS,1,1,300,0.63,CRD,5 +VTS,1,1,360,0.62,CRD,5.5 +VTS,1,1,420,2.27,CSH,9 +VTS,1,1,1860,4.82,CRD,22 +VTS,1,1,300,1.04,CSH,5.5 +VTS,1,1,840,4.13,CSH,14 +VTS,1,1,420,0.86,CSH,6 +VTS,1,1,480,1.33,CRD,7.5 +VTS,1,1,480,1.59,CRD,8 +VTS,1,1,1200,4.74,CSH,18 +VTS,1,1,180,0.57,CSH,4 +VTS,1,1,900,1.86,CRD,11 +VTS,1,1,1320,3.94,CSH,17.5 +VTS,1,1,660,1.87,CRD,9.5 +VTS,1,1,300,0.76,CRD,5 +VTS,1,1,1140,1.28,CRD,12.5 +VTS,1,2,1620,9.32,CSH,29 +VTS,1,2,300,0.77,CRD,5 +VTS,1,2,720,2.43,CRD,11 +VTS,1,1,480,3.03,CRD,10.5 +VTS,1,1,360,1.59,CRD,7 +VTS,1,1,600,2.18,CSH,9.5 +VTS,1,1,540,1.85,CSH,8.5 +VTS,1,1,960,2.63,CRD,12.5 +VTS,1,1,420,1.49,CRD,7 +VTS,1,1,420,0.92,CRD,6 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,420,2.21,CRD,8.5 +VTS,1,1,1020,3.33,CSH,14 +VTS,1,1,360,0.78,CRD,5.5 +VTS,1,1,660,1.89,CSH,9.5 +VTS,1,2,540,1.27,CRD,7.5 +VTS,1,2,1380,2.85,CSH,16.5 +VTS,1,2,540,1.63,CRD,8.5 +VTS,1,2,480,1.86,CRD,8 +VTS,1,2,720,4.46,CRD,14.5 +VTS,1,2,420,1.9,CSH,8 +VTS,1,2,480,1.52,CSH,7.5 +VTS,1,2,300,1.27,CRD,6 +VTS,1,2,900,5.2,CRD,17 +VTS,1,2,660,1.59,CRD,9 +VTS,1,2,240,0.49,CRD,4.5 +VTS,1,2,480,1.1,CRD,7 +VTS,1,2,420,1.04,CSH,6.5 +VTS,1,2,840,1.94,CRD,11 +VTS,1,2,780,1.89,CRD,10.5 +VTS,1,2,480,1.26,CRD,7 +VTS,1,2,300,1.03,CSH,6.5 +VTS,1,2,540,3.29,CSH,11.5 +VTS,1,2,300,0.64,CSH,5 +VTS,1,2,1200,2.39,CRD,14 +VTS,1,2,600,2.7,CSH,10.5 +VTS,1,2,360,1.3,CRD,7 +VTS,1,2,360,1.35,CRD,7 +VTS,1,2,540,2.06,CRD,9.5 +VTS,1,2,360,0.95,CRD,6 +VTS,1,2,360,2.42,CSH,9 +VTS,1,2,600,1.31,CRD,8.5 +VTS,1,2,720,1.67,CSH,9.5 +VTS,1,2,780,3.11,CSH,13 +VTS,1,1,960,2.9,CRD,12.5 +VTS,1,1,360,0.76,CRD,5.5 +VTS,1,1,1020,2.64,CSH,13 +VTS,1,1,120,0.64,CSH,4 +VTS,1,1,1320,10.9,CSH,31.5 +VTS,1,1,120,0.6,CRD,4 +VTS,1,1,360,0.89,CSH,6 +VTS,1,1,780,1.8,CSH,9.5 +VTS,1,1,840,1.52,CRD,10 +VTS,1,1,1200,2.35,CRD,14 +VTS,1,1,240,0.81,CSH,5 +VTS,1,1,420,0.61,CSH,6 +VTS,1,1,1680,4.71,CRD,22 +VTS,1,2,240,0.6,CRD,4.5 +VTS,1,2,240,1.06,CRD,5.5 +VTS,1,2,300,0.92,CRD,5.5 +VTS,1,2,300,0.67,CSH,5 +VTS,1,2,420,0.94,CRD,6.5 +VTS,1,2,660,1.56,CRD,9 +VTS,1,2,180,0.59,CRD,4 +VTS,1,1,300,1.2,CSH,6 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,480,2.44,CRD,9.5 +VTS,1,1,2100,11.91,CRD,38.5 +VTS,1,1,300,0.74,CSH,5 +VTS,1,1,600,1.78,CRD,9 +VTS,1,1,120,0.59,CSH,4 +VTS,1,1,1260,3.14,CRD,15.5 +VTS,1,1,480,1.42,CRD,7.5 +VTS,1,1,1860,13.99,CRD,39.5 +VTS,1,1,1740,7.28,CRD,27.5 +VTS,1,1,240,0.9,CRD,5.5 +VTS,1,1,780,1.57,CSH,9 +VTS,1,1,540,1.66,CSH,8 +VTS,1,1,660,1.43,CRD,9 +VTS,1,1,540,1.25,CSH,7.5 +VTS,1,1,240,1.05,CRD,6 +VTS,1,1,1140,2.55,CRD,14 +VTS,1,1,300,0.73,CRD,5 +VTS,1,1,300,1.62,CRD,7.5 +VTS,1,1,1620,12.02,CRD,35.5 +VTS,1,1,2340,6.86,CSH,30.5 +VTS,1,1,780,1.96,CSH,10 +VTS,1,1,300,2.04,CSH,7.5 +VTS,1,1,840,7.34,CRD,22 +VTS,1,1,1740,11.26,CRD,35 +VTS,1,1,900,2.33,CSH,11.5 +VTS,1,1,1260,3.37,CSH,15.5 +VTS,1,1,840,1.37,CSH,9.5 +VTS,1,1,960,2.1,CSH,11.5 +VTS,1,1,600,1.41,CRD,8 +VTS,1,1,1320,9.14,CRD,28 +VTS,1,1,360,0.66,CSH,5 +VTS,1,1,540,1.21,CRD,8 +VTS,1,1,1560,3.43,CSH,17.5 +VTS,1,1,600,0.71,CRD,7.5 +VTS,1,1,780,2.35,CRD,11.5 +VTS,1,1,1080,10.46,CRD,29.5 +VTS,1,1,1320,3.78,CRD,17 +VTS,1,1,960,9.43,CRD,27 +VTS,1,1,1320,2.76,CSH,15 +VTS,1,1,600,1.76,CSH,9 +VTS,1,1,300,1.45,CSH,6.5 +VTS,1,1,1200,9.42,CRD,28 +VTS,1,1,1080,2.49,CRD,13.5 +VTS,1,1,1620,5.08,CSH,21.5 +VTS,1,1,660,2.98,CRD,11.5 +VTS,1,1,1020,2.82,CRD,13.5 +VTS,1,1,1080,2.55,CRD,13.5 +VTS,1,1,2340,4.34,CRD,26.5 +VTS,2,1,2520,14.64,CRD,52 +VTS,1,1,600,1.38,CRD,8.5 +VTS,1,1,780,2.17,CSH,11 +VTS,1,1,2040,4.3,CSH,22.5 +VTS,1,1,720,1.12,CRD,8.5 +VTS,1,1,540,1.17,CRD,7.5 +VTS,1,1,600,1.08,CRD,8 +VTS,1,1,1860,7.61,CRD,28.5 +VTS,1,1,240,0.84,CRD,5 +VTS,1,1,420,2.58,CRD,9 +VTS,1,1,720,1.8,CSH,10 +VTS,1,1,1380,7.47,CRD,24.5 +VTS,1,1,600,3.02,CSH,11 +VTS,1,1,960,4.04,CRD,15.5 +VTS,1,1,3120,16.86,CRD,52 +VTS,1,1,660,1.01,CRD,8.5 +VTS,1,1,300,0.74,CSH,5 +VTS,1,1,480,2.32,CRD,10 +VTS,2,1,2040,17.41,CRD,52 +VTS,2,1,3120,17.48,CRD,52 +VTS,1,1,300,0.74,CSH,5.5 +VTS,3,1,1860,17.54,CRD,66 +VTS,1,1,420,1.43,CSH,7.5 +VTS,1,1,1620,4.98,CRD,21 +VTS,1,1,600,1.53,CRD,8.5 +VTS,1,1,1020,11.14,CRD,31 +VTS,1,1,1320,4.73,CRD,19 +VTS,1,1,300,0.7,CRD,5.5 +VTS,1,1,1140,1.77,CSH,12.5 +VTS,1,2,480,0.86,CRD,6.5 +VTS,1,2,360,0.97,CRD,6 +VTS,1,2,360,0.59,CRD,5.5 +VTS,1,2,480,1.29,CSH,7 +VTS,1,2,360,0.86,CSH,6 +VTS,1,2,240,1.5,CSH,6 +VTS,1,2,240,0.95,CRD,5.5 +VTS,1,2,360,1.54,CSH,7 +VTS,1,2,120,0.62,CSH,4 +VTS,1,2,900,3.79,CRD,14.5 +VTS,1,2,900,2.2,CSH,12 +VTS,1,1,780,2,CSH,10 +VTS,1,1,1200,11.15,CRD,31 +VTS,1,1,1380,13.48,CRD,37.5 +VTS,1,1,2640,14.13,CRD,43.5 +VTS,1,1,720,0.9,CRD,8.5 +VTS,1,1,1020,2.74,CSH,13 +VTS,1,1,240,0.56,CRD,4.5 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,600,1.76,CRD,9 +VTS,1,1,960,3.27,CSH,14 +VTS,1,1,1800,10.27,CRD,33.5 +VTS,1,1,900,3.16,CRD,13 +VTS,1,1,1860,10.8,CRD,32 +VTS,1,1,600,1.6,CRD,8.5 +VTS,1,1,180,1.15,CRD,5 +VTS,1,1,360,1.03,CRD,6.5 +VTS,1,1,600,2.85,CSH,10.5 +VTS,1,1,180,0.48,CSH,4 +VTS,1,1,540,0.91,CSH,7.5 +VTS,1,1,300,0.7,CRD,5.5 +VTS,1,1,480,1.31,CSH,7.5 +VTS,1,1,480,1.28,CRD,7.5 +VTS,1,1,960,2.05,CSH,11.5 +VTS,1,2,540,1.36,CRD,8 +VTS,1,2,660,2.33,CSH,10.5 +VTS,1,2,360,0.86,CSH,5.5 +VTS,1,2,180,0.33,CSH,3.5 +VTS,1,2,240,0.85,CSH,5 +VTS,1,2,960,2.4,CRD,12 +VTS,1,2,780,2.43,CRD,11.5 +VTS,1,2,540,1.29,CRD,7.5 +VTS,1,2,960,2.4,CRD,12 +VTS,1,2,660,1.72,CRD,9.5 +VTS,1,2,840,1.85,CRD,10.5 +VTS,1,2,420,0.72,CRD,6 +VTS,1,2,2340,14.54,CRD,43 +VTS,1,2,180,0.85,CRD,5 +VTS,1,2,480,1.26,CSH,7.5 +VTS,1,2,1500,3.53,CRD,18 +VTS,1,2,660,1.41,CRD,8.5 +VTS,1,2,540,1.59,CSH,8 +VTS,1,2,240,0.9,CSH,5.5 +VTS,1,1,120,1.07,CSH,5 +VTS,1,1,1560,11.01,CSH,33.5 +VTS,1,1,420,0.58,CSH,6 +VTS,1,1,660,2.85,CSH,11 +VTS,1,1,1560,12.11,CRD,36 +VTS,1,1,240,1.07,CSH,5.5 +VTS,1,1,480,3.71,CRD,12.5 +VTS,1,1,840,1.67,CSH,10.5 +VTS,1,1,840,3.43,CSH,14 +VTS,1,1,300,0.42,CRD,5 +VTS,1,1,240,0.42,CSH,4 +VTS,1,1,420,1.04,CSH,6.5 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,300,0.62,CRD,5 +VTS,1,1,1260,8.05,CRD,25.5 +VTS,1,1,720,1.71,CRD,10 +VTS,1,1,420,0.41,CSH,6 +VTS,1,1,1860,6.87,CSH,25.5 +VTS,1,1,960,5.2,CRD,17.5 +VTS,1,1,300,1.92,CRD,7 +VTS,1,1,900,1.59,CRD,10.5 +VTS,1,1,900,1.86,CRD,11 +VTS,1,1,480,1.64,CRD,7.5 +VTS,1,1,240,0.84,CSH,5 +VTS,1,1,540,1.8,CSH,8.5 +VTS,1,1,240,0.81,CRD,4.5 +VTS,1,1,2460,15.03,CRD,44.5 +VTS,1,1,1920,11.6,CRD,35 +VTS,1,1,900,3.93,CSH,15 +VTS,1,1,1080,6.21,CRD,20.5 +VTS,1,1,540,1.14,CSH,7.5 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,900,0.95,CSH,10 +VTS,1,1,540,0.84,CRD,7.5 +VTS,1,1,1560,3.19,CSH,17.5 +VTS,1,1,1860,11.96,CRD,37.5 +VTS,1,1,1500,12.88,CRD,36.5 +VTS,1,1,1020,7.87,CRD,23.5 +VTS,1,1,300,0.68,CSH,5 +VTS,1,1,600,1.2,CSH,8.5 +VTS,1,1,1080,5.01,CRD,17.5 +VTS,1,1,2640,13.05,CRD,42.5 +VTS,1,1,360,0.95,CRD,6 +VTS,1,1,540,0.82,CRD,6.5 +VTS,1,1,1260,3.55,CRD,15.5 +VTS,1,1,780,2.34,CRD,10.5 +VTS,1,1,240,0.74,CSH,5 +VTS,1,1,900,3.76,CSH,13 +VTS,1,1,360,1.51,CRD,7 +VTS,2,1,1500,17.44,CRD,52 +VTS,1,1,1140,4.15,CRD,16 +VTS,1,1,240,0.85,CRD,5.5 +VTS,1,1,540,1.61,CRD,8.5 +VTS,1,1,120,0.95,CRD,5 +VTS,1,1,780,1.62,CRD,10 +VTS,1,1,180,0.49,CSH,4 +VTS,1,1,480,0.85,CSH,7 +VTS,1,1,540,1.06,CRD,7.5 +VTS,1,1,1380,6.19,CRD,22.5 +VTS,1,1,480,1.11,CRD,7 +VTS,1,1,420,1.48,CRD,7 +VTS,1,1,240,0.72,CSH,5 +VTS,1,1,660,1.46,CRD,8.5 +VTS,1,1,240,0.82,CRD,5.5 +VTS,1,1,1680,4.09,CRD,20 +VTS,1,1,600,2.13,CRD,9.5 +VTS,1,1,480,1.39,CSH,7.5 +VTS,1,1,660,1.43,CRD,9 +VTS,1,1,1260,4.09,CRD,16.5 +VTS,1,1,360,0.96,CSH,6 +VTS,1,1,900,1.65,CSH,11 +VTS,1,1,300,0.56,CRD,5.5 +VTS,1,1,300,1.18,CSH,6.5 +VTS,1,1,1980,12.01,CRD,37 +VTS,1,1,420,1.26,CSH,7 +VTS,1,1,60,0.57,CRD,3.5 +VTS,5,1,60,0,CRD,88 +VTS,2,1,1740,16.46,CSH,52 +VTS,1,1,900,2.95,CRD,12.5 +VTS,1,1,240,0.94,CSH,5 +VTS,1,1,240,1.14,CSH,6 +VTS,1,1,1500,5.46,CRD,21 +VTS,1,1,360,1.08,CSH,6.5 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,600,2.49,CRD,10 +VTS,1,1,900,7.44,CSH,22.5 +VTS,1,1,180,0.91,CRD,5 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,1380,3.96,CSH,18 +VTS,1,1,900,1.23,CSH,10.5 +VTS,1,1,1140,1.25,CSH,12.5 +VTS,1,1,480,0.93,CSH,6.5 +VTS,1,1,1380,11.42,CSH,32.5 +VTS,1,1,300,0.66,CRD,5 +VTS,1,1,960,3.15,CRD,14 +VTS,1,1,660,1.19,CRD,8 +VTS,1,1,1560,10.93,CSH,31.5 +VTS,1,1,660,0.87,CSH,8 +VTS,1,1,360,1.51,CRD,7 +VTS,1,1,1440,5.03,CSH,20 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,780,0.84,CRD,9 +VTS,1,1,1140,2.66,CSH,14.5 +VTS,1,1,360,1.51,CRD,7 +VTS,1,1,240,0.85,CRD,5 +VTS,1,1,540,1.2,CRD,7.5 +VTS,1,1,420,1.31,CSH,7 +VTS,1,1,420,1.44,CRD,7.5 +VTS,1,1,2220,14.79,CSH,43 +VTS,1,1,1500,3.02,CSH,16.5 +VTS,1,1,1620,11.69,CRD,34.5 +VTS,1,1,1200,7.26,CRD,23.5 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,1620,12.69,CRD,37 +VTS,1,1,300,1.09,CSH,6 +VTS,1,1,1440,5.86,CRD,20.5 +VTS,1,1,600,1.74,CSH,9 +VTS,1,1,1440,2.61,CRD,16 +VTS,1,1,900,1.84,CSH,11 +VTS,2,1,2460,16.37,CRD,52 +VTS,1,1,1200,4.88,CRD,18.5 +VTS,1,1,780,0.98,CSH,9 +VTS,1,1,1500,4.14,CSH,19 +VTS,1,1,1440,5.24,CRD,21 +VTS,5,1,480,10.52,CRD,88 +VTS,1,1,1140,8.33,CRD,26 +VTS,1,1,360,0.85,CSH,6 +VTS,1,1,720,1.67,CSH,9.5 +VTS,1,1,540,0.79,CRD,7 +VTS,1,1,1380,11.11,CSH,33 +VTS,1,1,1080,2.43,CSH,13.5 +VTS,1,1,420,1.12,CSH,6.5 +VTS,1,1,480,1.86,CRD,8.5 +VTS,1,1,1620,3.32,CSH,18 +VTS,1,1,1260,12.03,CRD,33.5 +VTS,1,1,360,0.8,CSH,6 +VTS,1,1,600,2.61,CSH,11 +VTS,1,1,780,2.74,CSH,10.5 +VTS,1,1,1920,4.42,CRD,22 +VTS,1,1,1380,9.97,CRD,30 +VTS,1,1,120,0,CSH,3.5 +VTS,1,1,600,2.06,CRD,9.5 +VTS,1,1,420,2.14,CSH,9 +VTS,1,1,480,0.97,CRD,7 +VTS,1,1,240,1.1,CSH,5.5 +VTS,1,1,840,0.77,CSH,9.5 +VTS,1,1,480,0.84,CSH,6.5 +VTS,1,1,1440,2.75,CRD,16 +VTS,1,1,1380,14.43,CRD,39.5 +VTS,1,1,300,1.35,CSH,6 +VTS,1,1,900,8.85,CRD,25 +VTS,1,1,360,0.9,CRD,6 +VTS,1,1,840,1.48,CRD,10 +VTS,1,1,600,2.31,CSH,9.5 +VTS,1,1,540,1.19,CSH,7.5 +VTS,1,1,300,0.6,CSH,5 +VTS,1,1,420,1.53,CRD,7.5 +VTS,1,1,840,1.04,CSH,9.5 +VTS,1,1,1680,10.16,CRD,30.5 +VTS,2,1,1980,16.63,CRD,52 +VTS,1,1,540,1.12,CSH,7 +VTS,1,1,1020,2.29,CSH,12.5 +VTS,1,1,1680,5.96,CRD,25 +VTS,1,1,900,1.68,CSH,10.5 +VTS,1,1,1140,11.26,CRD,31.5 +VTS,1,1,180,0.61,CSH,4.5 +VTS,1,1,180,0.55,CSH,4 +VTS,1,1,360,1.53,CRD,7 +VTS,1,1,60,0.29,CSH,3 +VTS,1,1,300,0.62,CRD,5 +VTS,1,1,1620,10.76,CRD,33 +VTS,1,1,660,1.21,CSH,9 +VTS,1,1,840,1.7,CSH,10.5 +VTS,1,1,660,1.74,CSH,9 +VTS,1,1,600,2.2,CSH,9.5 +VTS,1,1,300,2.17,CSH,8 +VTS,1,1,480,1.95,CSH,8.5 +VTS,1,1,660,1.12,CSH,9 +VTS,1,1,840,2.14,CSH,11 +VTS,1,1,720,1.6,CRD,9.5 +VTS,1,1,240,0.54,CRD,5 +VTS,1,1,420,1.31,CSH,7 +VTS,1,1,540,1.13,CSH,7.5 +VTS,2,1,2940,16.26,CRD,52 +VTS,1,1,480,1.37,CRD,7.5 +VTS,1,1,180,0.97,CRD,5 +VTS,1,1,2100,9.5,CRD,33 +VTS,2,1,1560,18.95,CSH,52 +VTS,1,1,780,1.72,CSH,9.5 +VTS,1,1,1500,10.46,CRD,31 +VTS,2,1,2520,15.38,CRD,52 +VTS,1,1,180,0.43,CRD,4 +VTS,1,1,480,1.41,CRD,7.5 +VTS,1,1,120,0.34,CRD,3.5 +VTS,1,1,720,2.86,CRD,11 +VTS,1,1,300,1.1,CSH,6 +VTS,1,1,1020,2.46,CRD,13 +VTS,1,1,1320,7.3,CRD,23 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,180,0.53,CRD,4 +VTS,1,1,600,2.21,CSH,9.5 +VTS,1,2,780,2.02,CRD,11 +VTS,1,2,720,2.49,CSH,11.5 +VTS,1,2,780,2.24,CRD,11 +VTS,1,2,240,0.77,CSH,5 +VTS,1,2,960,3.73,CRD,14.5 +VTS,1,2,540,2.55,CRD,10 +VTS,1,2,540,2.1,CRD,9 +VTS,1,2,1080,3.45,CSH,15.5 +VTS,1,2,300,1.43,CSH,6.5 +VTS,1,2,240,0.77,CRD,5 +VTS,1,2,600,1.79,CSH,9 +VTS,1,2,360,1.72,CSH,7 +VTS,1,2,840,1.72,CRD,10.5 +VTS,1,2,300,0.8,CSH,5.5 +VTS,1,2,120,0.88,CSH,4.5 +VTS,1,2,780,1.54,CRD,9.5 +VTS,1,2,960,1.1,CRD,10.5 +VTS,1,2,660,1.85,CRD,9.5 +VTS,1,2,840,2.17,CSH,11.5 +VTS,1,1,1260,8.3,CRD,26 +VTS,1,1,180,0.79,CSH,5 +VTS,1,1,300,1.2,CSH,6.5 +VTS,1,1,1020,2.14,CRD,12.5 +VTS,1,1,1260,3.87,CSH,16.5 +VTS,1,1,420,0.9,CRD,6.5 +VTS,1,1,1320,2.63,CSH,9 +VTS,1,1,480,1.48,CSH,7.5 +VTS,1,1,840,2.67,CSH,12 +VTS,1,1,1560,2.79,CRD,16.5 +VTS,1,1,1080,1.93,CSH,12.5 +VTS,1,1,840,2.11,CSH,11 +VTS,1,1,1020,2.72,CSH,11.5 +VTS,1,1,660,1.85,CSH,10 +VTS,1,1,1320,4.4,CRD,18 +VTS,1,1,300,1.25,CSH,6 +VTS,1,1,1800,10.9,CSH,34.5 +VTS,1,1,240,1.02,CSH,5 +VTS,1,1,1980,4.35,CRD,22 +VTS,1,1,840,5.58,CRD,17.5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,1620,13.69,CRD,39.5 +VTS,1,1,1080,8.59,CRD,25.5 +VTS,1,1,300,1.12,CRD,6 +VTS,1,1,1140,7.2,CSH,20.5 +VTS,1,1,3060,16.32,CRD,49.5 +VTS,1,1,840,5.65,CRD,18.5 +VTS,1,1,2100,11.85,CSH,38 +VTS,1,1,360,0.48,CSH,5 +VTS,1,1,540,1.18,CSH,7 +VTS,1,1,780,1.41,CRD,9.5 +VTS,1,1,780,0.9,CSH,9 +VTS,1,1,1560,10.42,CRD,31 +VTS,1,1,1560,12.17,CSH,35 +VTS,1,1,1080,9.88,CSH,28 +VTS,1,1,180,0.76,CSH,4.5 +VTS,1,1,1680,8.85,CRD,29.5 +VTS,1,1,2040,10.56,CRD,34.5 +VTS,1,1,540,2.12,CSH,9.5 +VTS,1,1,660,1.28,CSH,8.5 +VTS,1,1,540,1.58,CRD,9 +VTS,2,1,2820,16.53,CRD,52 +VTS,1,1,1380,2.17,CRD,15.5 +VTS,1,1,420,1.6,CSH,7.5 +VTS,1,1,300,1,CSH,5.5 +VTS,1,1,300,1.5,CRD,6.5 +VTS,1,1,1860,11.05,CRD,34.5 +VTS,1,1,1320,9.03,CRD,27.5 +VTS,1,1,660,2.04,CSH,10.5 +VTS,1,1,420,1.11,CRD,7 +VTS,1,1,1080,3.88,CSH,14.5 +VTS,1,1,420,2.14,CSH,8.5 +VTS,1,1,300,2.02,CRD,7.5 +VTS,1,1,480,1.98,CRD,8.5 +VTS,1,1,360,0.53,CSH,5.5 +VTS,1,1,1020,4.24,CSH,15.5 +VTS,1,1,720,2.58,CSH,11 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,1320,11.44,CRD,32.5 +VTS,1,1,540,1.69,CRD,8 +VTS,1,1,240,0.75,CRD,5.5 +VTS,1,1,420,0.9,CRD,6 +VTS,1,1,180,0.87,CRD,5 +VTS,1,1,1080,3.61,CRD,15 +VTS,1,1,960,8.38,CSH,24.5 +VTS,1,1,360,0.96,CRD,6 +VTS,1,1,300,1.25,CRD,6.5 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,1140,9.58,CRD,28 +VTS,1,1,540,1.2,CRD,7.5 +VTS,1,1,1800,11.95,CSH,35 +VTS,1,1,0,0,CSH,2.5 +VTS,1,1,660,2.85,CSH,11.5 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,720,3.6,CRD,12.5 +VTS,1,1,1200,2.36,CRD,14 +VTS,1,1,720,2.09,CSH,10 +VTS,1,1,1080,2.47,CRD,13 +VTS,1,1,2280,16.8,CRD,49 +VTS,1,1,720,2.83,CRD,11.5 +VTS,1,1,360,0.97,CSH,6 +VTS,1,1,300,1.76,CSH,7 +VTS,1,1,240,1.22,CRD,5.5 +VTS,1,1,360,0.73,CRD,5.5 +VTS,1,1,480,1.34,CSH,7.5 +VTS,1,1,660,1.64,CRD,9 +VTS,1,1,540,1.46,CRD,8 +VTS,1,1,900,4.22,CRD,14.5 +VTS,1,1,480,2.03,CSH,9 +VTS,1,1,120,0.51,CSH,3.5 +VTS,1,1,660,1.66,CSH,9.5 +VTS,1,1,660,3.35,CRD,11.5 +VTS,1,1,300,0.98,CSH,5.5 +VTS,1,1,840,1.63,CRD,10 +VTS,1,1,780,4.28,CSH,14.5 +VTS,1,1,1740,7.18,CRD,25 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,600,1.99,CSH,9.5 +VTS,1,1,300,1.18,CRD,6 +VTS,1,1,540,1.8,CRD,9 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,660,2.02,CRD,10 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,420,1.57,CSH,7.5 +VTS,1,1,180,0.95,CSH,5 +VTS,1,1,780,2.1,CSH,10.5 +VTS,1,1,1080,4.13,CRD,16 +VTS,1,1,360,0.67,CRD,5.5 +VTS,1,1,300,1.4,CSH,6 +VTS,1,1,900,1.61,CSH,11 +VTS,1,1,840,1.88,CSH,11 +VTS,1,1,1320,5.32,CRD,20 +VTS,1,1,540,1.67,CRD,8 +VTS,1,1,540,1.79,CSH,8.5 +VTS,1,1,240,1.11,CSH,6 +VTS,1,1,540,1.93,CSH,8.5 +VTS,1,1,600,1.97,CSH,9 +VTS,1,1,540,1.29,CSH,8 +VTS,1,1,1320,3.28,CRD,15.5 +VTS,1,1,360,0.86,CRD,5.5 +VTS,1,1,1320,4.95,CSH,18 +VTS,1,1,420,1.17,CSH,7 +VTS,1,1,360,1.09,CSH,6 +VTS,1,1,720,2.31,CRD,10.5 +VTS,1,1,300,0.26,CSH,5 +VTS,1,1,480,1.01,CSH,7 +VTS,1,1,840,2.34,CRD,11.5 +VTS,1,1,240,0.88,CSH,5.5 +VTS,1,1,1020,2.36,CSH,13 +VTS,1,1,360,0.99,CSH,5.5 +VTS,1,1,420,1.05,CRD,7 +VTS,1,1,840,3.8,CRD,14.5 +VTS,1,1,780,1.05,CSH,8.5 +VTS,1,1,540,2.61,CRD,10.5 +VTS,1,1,600,0.74,CRD,7.5 +VTS,1,1,360,2.08,CRD,8 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,900,2.67,CSH,13.5 +VTS,1,1,480,1.92,CSH,8.5 +VTS,1,1,420,1.6,CRD,8 +VTS,1,1,240,1.4,CRD,6 +VTS,1,1,420,0.88,CSH,6 +VTS,1,1,1140,3.41,CRD,14.5 +VTS,1,1,420,1.66,CRD,7.5 +VTS,1,1,600,3.19,CRD,11.5 +VTS,1,1,900,2.67,CRD,12 +VTS,1,1,600,1.64,CRD,9 +VTS,1,1,780,2.47,CRD,11 +VTS,1,1,300,0.8,CRD,5.5 +VTS,1,1,480,0.84,CSH,7 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,1,600,1.23,CRD,8 +VTS,1,1,600,0.97,CSH,7.5 +VTS,1,1,1080,2.72,CRD,14 +VTS,1,1,1020,3.04,CRD,13.5 +VTS,1,1,600,3.6,CRD,12.5 +VTS,1,1,300,0.92,CRD,5.5 +VTS,1,1,420,1.98,CSH,8 +VTS,1,1,120,0.55,CSH,4 +VTS,1,1,1380,3.29,CSH,17 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,1,1500,5.7,CSH,20.5 +VTS,1,1,840,4.14,CRD,15 +VTS,1,1,1440,4.18,CSH,18.5 +VTS,1,1,360,0.86,CSH,6 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,600,1.73,CRD,9 +VTS,1,1,360,1,CRD,6 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,780,2.73,CRD,11.5 +VTS,1,1,360,1.49,CSH,7 +VTS,1,1,240,0.68,CSH,5 +VTS,1,1,1260,4.24,CRD,17.5 +VTS,1,1,240,1.37,CSH,6 +VTS,1,1,180,0.85,CRD,4.5 +VTS,1,1,180,0.93,CRD,4.5 +VTS,1,1,420,1.88,CSH,7.5 +VTS,1,1,420,2.05,CSH,8 +VTS,1,1,1620,4.52,CRD,20 +VTS,1,1,720,2.74,CSH,11.5 +VTS,1,1,660,2.4,CRD,10.5 +VTS,1,1,1200,6.02,CSH,21 +VTS,1,1,240,0.81,CRD,5 +VTS,1,1,1620,9.58,CRD,29.5 +VTS,1,1,420,1.32,CRD,7 +VTS,1,1,540,1.94,CRD,8.5 +VTS,1,1,540,1.96,CRD,8.5 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,1320,3.49,CSH,17 +VTS,1,1,900,1.76,CSH,11 +VTS,1,1,300,1.55,CSH,6.5 +VTS,1,1,420,1.72,CRD,8 +VTS,1,1,780,1.45,CRD,9.5 +VTS,1,1,420,0.94,CRD,6 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,300,0.71,CSH,5.5 +VTS,1,1,840,3.11,CSH,12 +VTS,1,1,480,1.43,CRD,7.5 +VTS,1,1,420,1.21,CRD,6.5 +VTS,1,1,360,1.39,CRD,7 +VTS,1,1,540,4.12,CSH,13.5 +VTS,1,1,840,2.28,CRD,11.5 +VTS,1,1,300,1.06,CSH,5.5 +VTS,1,1,720,1.79,CSH,9.5 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,360,1.9,CRD,8 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,840,1.06,CSH,9.5 +VTS,1,1,360,1.54,CRD,7 +VTS,1,1,1500,3.79,CSH,17.5 +VTS,1,1,300,0.76,CSH,5.5 +VTS,1,1,600,2.26,CRD,10 +VTS,1,1,540,1.92,CRD,8.5 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,180,0.48,CRD,4 +VTS,1,1,1980,13.39,CSH,39.5 +VTS,1,1,540,1.56,CSH,8 +VTS,1,1,600,1.5,CRD,8 +VTS,1,1,540,2.8,CRD,10.5 +VTS,1,1,660,1.62,CRD,9 +VTS,1,1,900,3.94,CRD,14.5 +VTS,1,1,540,2.14,CRD,9.5 +VTS,1,1,900,2.53,CSH,12 +VTS,1,1,660,2.71,CRD,11 +VTS,1,1,180,0.59,CRD,4.5 +VTS,1,1,900,3.3,CRD,13.5 +VTS,1,1,420,2.04,CRD,8 +VTS,1,1,840,1.07,CRD,10 +VTS,1,1,780,1.74,CRD,10 +VTS,1,1,360,1.42,CRD,7 +VTS,1,1,600,1.59,CRD,8.5 +VTS,1,1,1080,3.6,CRD,15.5 +VTS,1,1,240,0.87,CRD,5.5 +VTS,1,1,120,0.58,CSH,3.5 +VTS,1,1,480,0.53,CSH,7 +VTS,1,1,360,0.87,CSH,6 +VTS,1,1,240,1.52,CSH,6 +VTS,1,1,900,3,CRD,13 +VTS,1,1,240,0.96,CSH,5.5 +VTS,1,1,360,1.01,CSH,6 +VTS,1,1,300,0.76,CSH,5 +VTS,1,1,2520,8.32,CSH,32 +VTS,1,1,780,1.62,CRD,10 +VTS,1,1,540,1.37,CSH,8 +VTS,1,1,120,0.46,CSH,3.5 +VTS,1,1,600,2.85,CRD,11 +VTS,1,1,660,1.68,CSH,9 +VTS,1,1,480,0.79,CSH,6.5 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,900,1.17,CSH,10.5 +VTS,1,1,720,2.61,CRD,11.5 +VTS,1,1,660,2.61,CRD,10.5 +VTS,1,1,600,1.57,CSH,8.5 +VTS,1,1,420,1.74,CSH,7.5 +VTS,1,1,780,1.81,CSH,10.5 +VTS,1,1,480,1.62,CSH,7.5 +VTS,1,1,120,0.71,CRD,4 +VTS,1,1,1020,3.37,CRD,14 +VTS,1,1,360,2,CSH,7.5 +VTS,1,1,480,2.43,CSH,9 +VTS,1,1,1200,2.89,CRD,14 +VTS,1,1,900,4.95,CSH,16.5 +VTS,1,1,480,1.2,CRD,7.5 +VTS,1,1,660,2.34,CRD,10 +VTS,1,1,900,2.02,CRD,11 +VTS,1,1,540,1.61,CSH,8.5 +VTS,1,1,1440,2.2,CSH,15.5 +VTS,1,1,1320,5.27,CRD,19 +VTS,1,1,540,1.36,CRD,8 +VTS,1,1,660,1.09,CSH,8 +VTS,1,1,840,4.72,CRD,15.5 +VTS,1,1,720,2.98,CRD,11 +VTS,1,1,360,0.59,CRD,5.5 +VTS,1,1,900,2.38,CSH,11.5 +VTS,1,1,480,1.61,CRD,8 +VTS,1,1,240,0.49,CRD,4.5 +VTS,1,1,1680,1.68,CSH,17 +VTS,1,1,720,1.48,CSH,9.5 +VTS,1,1,60,0.04,CSH,2.5 +VTS,1,1,180,0.47,CSH,4 +VTS,1,1,540,2.18,CRD,9.5 +VTS,1,1,780,2.79,CRD,11.5 +VTS,1,1,300,1.1,CSH,6 +VTS,1,1,600,1.8,CRD,9.5 +VTS,1,1,1500,6.38,CRD,22 +VTS,1,1,900,2.63,CRD,11.5 +VTS,1,1,540,2.22,CRD,9 +VTS,1,1,300,0.9,CSH,5.5 +VTS,1,1,240,1.18,CRD,5.5 +VTS,1,1,480,1.3,CRD,7.5 +VTS,1,1,480,1.88,CSH,8.5 +VTS,1,1,720,1.9,CSH,10 +VTS,1,1,600,2.86,CSH,11 +VTS,1,1,1200,4.4,CRD,17 +VTS,1,1,1680,4.35,CRD,19.5 +VTS,1,1,540,1.21,CSH,7.5 +VTS,1,1,780,2.59,CSH,11 +VTS,1,1,360,1.05,CRD,6.5 +VTS,1,1,480,2.06,CSH,8.5 +VTS,1,1,360,0.92,CRD,6 +VTS,1,1,540,1.8,CSH,8.5 +VTS,1,1,1560,6.67,CSH,23.5 +VTS,1,1,360,1.6,CSH,7.5 +VTS,1,1,480,1.22,CSH,7 +VTS,1,1,540,2.2,CRD,9 +VTS,1,1,600,1.96,CRD,9.5 +VTS,1,1,1800,5.66,CSH,23.5 +VTS,1,1,600,2.23,CSH,9.5 +VTS,1,1,1020,8.63,CRD,25 +VTS,1,1,660,1.97,CRD,10 +VTS,1,1,420,0.99,CRD,6.5 +VTS,1,1,840,3.31,CRD,13 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,240,1.21,CRD,6 +VTS,1,1,660,2.27,CSH,10 +VTS,1,1,300,1.59,CSH,7 +VTS,1,1,420,1.37,CRD,6.5 +VTS,1,1,360,0.76,CSH,6 +VTS,1,1,1680,5.34,CSH,22.5 +VTS,1,1,600,2.84,CSH,10.5 +VTS,1,1,420,2.02,CSH,8 +VTS,1,1,360,1.49,CRD,6.5 +VTS,1,1,420,1.4,CSH,7 +VTS,1,1,960,1.14,CSH,11.5 +VTS,1,1,1440,4.2,CSH,18 +VTS,1,1,1800,9.76,CSH,30.5 +VTS,1,1,240,0.45,CSH,4.5 +VTS,1,1,420,0.42,CRD,5.5 +VTS,1,1,420,1.02,CRD,7 +VTS,1,1,1200,3.14,CSH,15.5 +VTS,1,1,900,3.47,CRD,14.5 +VTS,1,1,300,0.82,CRD,5 +VTS,1,1,720,2.44,CRD,10.5 +VTS,1,1,720,3.56,CRD,12 +VTS,1,1,540,1.61,CSH,8 +VTS,1,1,240,1.11,CRD,5.5 +VTS,1,1,360,0.98,CRD,6 +VTS,1,1,780,2.79,CRD,11 +VTS,1,1,480,2.02,CSH,8.5 +VTS,1,1,780,1.32,CSH,9 +VTS,1,1,300,1.1,CRD,6 +VTS,1,1,540,2.13,CSH,9.5 +VTS,1,1,300,1.59,CRD,7 +VTS,1,1,600,3.58,CRD,12 +VTS,1,1,480,1.08,CRD,7 +VTS,1,1,300,1.47,CSH,6.5 +VTS,1,1,720,2.46,CRD,10.5 +VTS,1,1,420,1.12,CSH,7 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,1,1380,1.51,CSH,14.5 +VTS,1,1,480,1.22,CSH,7 +VTS,1,1,960,3.53,CSH,15 +VTS,1,1,480,0.73,CSH,7 +VTS,1,1,120,0.38,CRD,4 +VTS,1,1,300,0.75,CSH,5 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,1800,7.31,CSH,25 +VTS,1,1,1500,6.72,CRD,23.5 +VTS,1,1,1260,2.28,CRD,14.5 +VTS,1,1,240,0.32,CRD,4.5 +VTS,1,1,900,2.13,CRD,11.5 +VTS,1,1,960,2.39,CRD,12.5 +VTS,1,1,480,1.67,CSH,8 +VTS,1,1,360,0.9,CRD,6 +VTS,1,1,1800,3.65,CSH,21.5 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,60,0.28,CRD,3.5 +VTS,1,1,900,3.42,CRD,13.5 +VTS,1,1,420,1.63,CRD,7 +VTS,1,1,240,0.91,CRD,5 +VTS,1,1,540,1.96,CRD,8.5 +VTS,1,1,1440,4.15,CSH,18 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,540,1.81,CRD,8.5 +VTS,1,1,1800,2.95,CRD,19 +VTS,1,1,600,1.6,CRD,8.5 +VTS,1,1,360,1.63,CRD,7 +VTS,1,1,1440,4.17,CSH,17.5 +VTS,1,1,840,2.19,CSH,10.5 +VTS,1,1,840,2.28,CRD,11 +VTS,1,1,1080,5.49,CRD,18 +VTS,1,1,960,2.67,CRD,12.5 +VTS,1,1,660,2.06,CSH,9.5 +VTS,1,1,1500,4.64,CSH,20 +VTS,1,1,540,0.91,CSH,7 +VTS,1,1,960,3.05,CSH,13 +VTS,1,1,120,0.55,CSH,4 +VTS,1,1,120,0.67,CSH,4 +VTS,1,1,180,1.17,CRD,5 +VTS,1,1,180,0.92,CSH,5 +VTS,1,1,1440,3.36,CSH,18 +VTS,1,1,1200,4.96,CRD,18.5 +VTS,1,1,480,1.13,CRD,6.5 +VTS,1,1,1140,5.27,CRD,18 +VTS,1,1,360,1.15,CRD,6.5 +VTS,1,1,480,1.32,CRD,7.5 +VTS,1,1,540,2.12,CRD,9 +VTS,1,1,1020,1.8,CSH,11.5 +VTS,1,1,2220,2.48,CRD,21.5 +VTS,1,1,720,2.78,CSH,11 +VTS,1,1,480,1.53,CSH,7.5 +VTS,1,1,1020,4.83,CSH,17 +VTS,1,1,660,1.22,CRD,8.5 +VTS,1,1,1080,1.39,CRD,11.5 +VTS,1,1,780,1.22,CSH,9 +VTS,1,1,1200,5.1,CRD,18 +VTS,1,1,660,2.11,CSH,10 +VTS,1,1,120,0.49,CSH,4 +VTS,1,1,780,2.64,CSH,12 +VTS,1,1,540,1.43,CRD,8 +VTS,1,1,420,0.98,CRD,6.5 +VTS,1,1,480,2.37,CRD,9 +VTS,1,1,840,3.08,CSH,13 +VTS,1,1,360,1.35,CRD,6.5 +VTS,1,1,480,1.68,CRD,7.5 +VTS,1,1,300,1.28,CRD,6.5 +VTS,1,1,720,2.82,CRD,11.5 +VTS,1,1,1200,4.98,CSH,18 +VTS,1,1,300,1.52,CSH,7 +VTS,1,1,480,2.77,CRD,10 +VTS,1,1,480,1.32,CRD,7 +VTS,1,1,300,1.05,CSH,6 +VTS,1,1,360,0.89,CSH,6 +VTS,1,1,600,2.38,CRD,10.5 +VTS,1,1,180,1.21,CRD,5.5 +VTS,1,1,480,2.72,CRD,9.5 +VTS,1,1,720,0.76,CRD,8.5 +VTS,1,1,600,1.73,CSH,9 +VTS,1,1,780,3.41,CSH,12.5 +VTS,1,1,660,3.41,CRD,12 +VTS,1,1,660,4.26,CSH,13.5 +VTS,1,1,600,1.98,CRD,9.5 +VTS,1,1,1500,6.24,CRD,22 +VTS,1,1,720,2.59,CRD,11 +VTS,1,1,1860,11.28,CRD,35.5 +VTS,1,1,240,1.41,CSH,6.5 +VTS,1,1,1800,5.59,CSH,24 +VTS,1,1,300,0.85,CRD,5 +VTS,1,1,540,3.11,CSH,11 +VTS,1,1,480,0.82,CRD,6.5 +VTS,1,1,1980,4.17,CRD,21.5 +VTS,1,1,300,0.75,CRD,5.5 +VTS,1,1,360,1.22,CRD,6.5 +VTS,1,1,900,4.44,CSH,15 +VTS,1,1,240,1.6,CSH,6.5 +VTS,1,1,420,1.17,CRD,6.5 +VTS,1,1,540,1.25,CRD,7.5 +VTS,1,1,660,0.87,CRD,8 +VTS,1,1,420,0.73,CSH,6.5 +VTS,1,1,720,1.77,CRD,10 +VTS,1,1,360,0.87,CSH,6 +VTS,1,1,480,1.72,CRD,8 +VTS,1,1,360,0.87,CRD,6 +VTS,1,1,360,1,CSH,6 +VTS,1,1,180,1.12,CRD,5.5 +VTS,1,1,960,3.07,CSH,13 +VTS,1,1,1200,3.18,CRD,15 +VTS,1,1,1200,4.03,CSH,16 +VTS,1,1,540,2.34,CRD,9.5 +VTS,1,1,1020,3.65,CRD,14.5 +VTS,1,1,720,2.09,CRD,10.5 +VTS,1,1,960,3.76,CRD,14 +VTS,1,1,540,1.58,CRD,8 +VTS,1,1,360,1.13,CSH,6 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,480,1.5,CSH,8 +VTS,1,1,120,0.56,CSH,4 +VTS,1,1,300,1,CRD,5.5 +VTS,1,1,540,1.39,CSH,8 +VTS,1,1,300,1.48,CSH,6.5 +VTS,1,1,660,3.08,CRD,11 +VTS,1,1,420,1.07,CRD,6.5 +VTS,1,1,720,2.74,CRD,11.5 +VTS,1,1,1500,3.36,CRD,17 +VTS,1,1,720,2.34,CRD,10.5 +VTS,1,1,1200,3.99,CRD,15.5 +VTS,1,1,1260,3.29,CRD,15.5 +VTS,1,1,1140,2.89,CRD,14 +VTS,1,1,960,1.88,CRD,11.5 +VTS,1,1,240,0.84,CSH,5 +VTS,1,1,1740,10.37,CSH,31.5 +VTS,1,1,1140,2.94,CRD,14 +VTS,1,1,420,1.16,CSH,6.5 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,720,1.97,CRD,9.5 +VTS,1,1,480,1.81,CRD,8 +VTS,1,1,300,0.64,CSH,5.5 +VTS,1,1,420,1.95,CRD,8 +VTS,1,1,240,0.64,CSH,5 +CMT,1,1,1,0,CSH,2.5 +CMT,1,1,406,2.1,CSH,8.5 +CMT,1,1,867,2.9,CRD,12.5 +CMT,1,1,289,1.2,CSH,6 +CMT,1,1,2404,12.7,CSH,42.5 +CMT,1,1,479,1.1,CRD,7 +CMT,1,1,103,0.2,CSH,3.5 +VTS,1,1,240,0.4,CSH,4.5 +VTS,1,1,420,1.7,CRD,7.5 +VTS,1,1,600,1.41,CRD,8.5 +VTS,1,1,300,1.19,CSH,6 +VTS,1,1,540,1.4,CRD,8 +VTS,1,1,240,1.16,CRD,5.5 +VTS,1,1,480,1.89,CRD,8 +VTS,1,1,600,2.21,CRD,9.5 +VTS,1,1,900,2.83,CRD,12.5 +VTS,1,1,660,2.26,CRD,10 +VTS,1,1,120,0.7,CSH,4.5 +VTS,1,1,840,2.8,CSH,11.5 +VTS,1,1,1140,3.52,CRD,15 +VTS,1,1,60,0.51,CRD,3.5 +VTS,1,1,360,1.82,CRD,7.5 +CMT,1,1,474,1.6,CRD,7.5 +CMT,1,1,204,0.9,CSH,5 +CMT,1,1,1572,15.9,CSH,44.5 +CMT,1,1,284,1.7,CSH,7 +CMT,1,1,825,4.1,CSH,14.5 +CMT,1,1,343,0.9,CRD,6 +CMT,1,1,286,0.9,CSH,5.5 +CMT,1,1,460,0.9,CSH,6.5 +CMT,1,1,140,0.4,CRD,4 +CMT,1,1,556,1.9,CRD,9 +CMT,1,1,214,0.6,CSH,4.5 +CMT,1,1,324,0.8,CSH,5.5 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,120,0.92,CRD,4.5 +VTS,1,1,300,1.93,CRD,7.5 +VTS,1,1,420,1.07,CRD,7 +VTS,1,1,480,1.46,CRD,8 +VTS,1,1,660,2.6,CSH,10 +VTS,1,1,780,1.68,CSH,10 +VTS,1,1,2220,7.46,CRD,29.5 +VTS,1,1,240,0.91,CRD,5 +VTS,1,1,420,1.44,CRD,7.5 +VTS,1,1,240,0.79,CSH,5.5 +VTS,1,1,300,2.21,CSH,8 +VTS,1,1,720,2.83,CRD,11.5 +VTS,1,1,1440,1.9,CRD,15 +VTS,1,1,420,0.84,CRD,6 +VTS,1,1,240,0.82,CRD,5 +VTS,1,1,1440,5.95,CRD,21 +VTS,1,1,960,3.33,CRD,14 +VTS,1,1,240,0.57,CSH,4.5 +VTS,1,1,480,1.22,CSH,7 +VTS,1,1,120,0.26,CSH,3.5 +VTS,1,1,1020,3.06,CSH,14 +VTS,1,1,180,0.6,CSH,4 +VTS,1,1,540,0.78,CSH,7 +VTS,1,1,420,1.35,CRD,7 +VTS,1,1,300,1.4,CSH,7 +VTS,1,1,1680,6.37,CRD,23 +VTS,1,1,1500,2.98,CRD,16 +VTS,1,1,1020,4.66,CSH,17 +VTS,1,1,1200,4.92,CRD,17.5 +VTS,1,1,60,0.4,CSH,3.5 +VTS,1,1,360,0.7,CRD,5.5 +VTS,1,1,1020,3.49,CRD,14 +VTS,1,1,300,0.7,CSH,5.5 +VTS,1,1,720,3.05,CSH,11.5 +VTS,1,1,540,2.09,CSH,9 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,420,1.27,CRD,7 +VTS,1,1,240,0.89,CSH,5 +VTS,1,1,420,1.17,CRD,7 +VTS,1,1,1260,3.64,CSH,16.5 +VTS,1,1,480,1.17,CRD,7 +VTS,1,1,960,2.34,CSH,12 +VTS,1,1,900,1.89,CRD,11 +VTS,1,1,1020,1.52,CSH,11.5 +VTS,1,1,600,1.91,CRD,9 +VTS,1,1,300,1.58,CSH,7 +VTS,1,1,420,0.82,CSH,6 +VTS,1,1,660,1.67,CRD,9.5 +VTS,1,1,840,1.96,CRD,10.5 +VTS,1,1,420,1.23,CRD,7 +VTS,1,1,420,1.27,CSH,7 +VTS,1,1,600,3.01,CSH,11.5 +VTS,1,1,480,1.39,CRD,7.5 +VTS,1,1,540,0.99,CRD,7 +VTS,1,1,360,2.06,CRD,8 +VTS,1,1,1200,6.07,CRD,20 +VTS,1,1,600,3.65,CRD,12 +VTS,1,1,960,3.93,CSH,15 +VTS,1,1,540,2.81,CSH,10.5 +VTS,1,1,540,2.37,CRD,9 +VTS,1,1,660,1,CSH,8 +VTS,1,1,1200,3,CRD,15 +VTS,1,1,300,1.28,CSH,6 +VTS,1,1,300,1.91,CRD,7.5 +VTS,1,1,240,1.19,CRD,5.5 +VTS,1,1,300,1.15,CRD,6 +CMT,1,1,784,2.9,CSH,12 +CMT,1,1,858,4.4,CSH,15.5 +CMT,4,1,129,0.9,CSH,4.5 +CMT,1,3,642,2.4,CRD,10.5 +CMT,1,1,932,3.9,CRD,15 +CMT,1,1,250,1.2,CSH,5.5 +CMT,1,1,1583,54,CSH,2.5 +CMT,1,1,384,1.4,CSH,7 +CMT,1,1,829,4.8,CRD,16.5 +CMT,1,1,292,0.8,CSH,5.5 +CMT,1,1,248,0.4,CSH,5 +CMT,1,1,735,1.5,CRD,9.5 +CMT,1,1,377,1.1,CSH,6.5 +CMT,1,1,594,1.1,CRD,8 +CMT,1,1,597,1.6,CRD,8.5 +CMT,1,1,83,0.5,CSH,3.5 +VTS,1,1,540,1.61,CRD,8 +VTS,1,1,300,0.67,CSH,5 +VTS,1,1,420,1.43,CSH,7.5 +CMT,1,1,197,0.8,CSH,5 +CMT,1,1,323,1.7,CSH,7 +CMT,1,3,363,1.7,CSH,7.5 +CMT,1,1,223,0.9,CSH,5 +CMT,1,1,75,0.1,CSH,3 +CMT,1,1,233,0.9,CRD,5 +CMT,1,1,594,2.7,CSH,10.5 +CMT,1,1,674,1.4,CSH,9 +CMT,1,1,223,0.8,CSH,5 +CMT,1,1,367,1,CSH,6.5 +CMT,1,1,459,1.5,CRD,8 +CMT,2,1,3423,17.3,CRD,52 +CMT,1,1,418,1.5,CSH,7.5 +CMT,1,2,492,1.3,CSH,7.5 +CMT,1,1,758,1.3,CRD,9 +CMT,1,1,1107,3.2,CRD,14.5 +CMT,1,1,649,2.2,CRD,10 +CMT,1,1,243,1.3,CSH,6 +CMT,1,1,1039,2.2,CSH,12.5 +CMT,1,1,601,1.6,CSH,9 +CMT,1,1,718,2,CRD,11 +CMT,1,1,1180,4.1,CRD,16.5 +CMT,1,1,285,0.7,CSH,5 +VTS,1,1,600,0.95,CSH,7.5 +VTS,1,1,300,1.57,CSH,7 +VTS,1,1,900,0.9,CRD,10 +VTS,1,1,600,3.46,CSH,12 +VTS,1,1,300,1.52,CSH,6 +VTS,1,1,540,1.78,CRD,8.5 +VTS,1,1,840,2.27,CSH,11 +VTS,1,1,720,2.73,CRD,11.5 +VTS,1,1,300,0.91,CSH,5.5 +VTS,1,1,540,2.17,CSH,9 +VTS,1,1,360,2.3,CRD,8.5 +VTS,1,1,120,0.45,CSH,3.5 +VTS,1,1,960,1.68,CRD,11.5 +VTS,1,1,840,3.16,CRD,12.5 +VTS,1,1,360,1.51,CSH,7 +VTS,1,1,1860,4.41,CRD,21 +VTS,1,1,600,1,CRD,8 +VTS,1,1,120,0.87,CSH,4.5 +VTS,1,1,900,3.42,CRD,13.5 +VTS,1,1,1440,6.25,CRD,22.5 +VTS,1,1,780,3.05,CRD,12 +VTS,1,1,540,2.53,CRD,10 +VTS,1,1,420,1.44,CRD,7 +VTS,1,1,780,3.16,CRD,12 +VTS,1,1,480,1.07,CRD,7 +VTS,1,1,3780,2.55,CSH,34 +VTS,1,1,420,0.86,CSH,6 +VTS,1,1,780,2.71,CRD,11.5 +VTS,1,1,840,1.82,CRD,10.5 +VTS,1,1,840,1.55,CSH,10 +VTS,1,1,600,3.06,CSH,11.5 +VTS,1,1,1620,4.55,CRD,20 +VTS,1,1,360,0.43,CRD,5.5 +VTS,1,1,660,1.31,CSH,8.5 +VTS,1,1,660,1.08,CSH,8.5 +VTS,1,1,480,1.51,CRD,7.5 +VTS,1,1,360,2.06,CRD,8 +VTS,1,1,300,1.14,CSH,6 +VTS,1,1,720,2.59,CRD,10.5 +VTS,1,1,3540,21.66,CRD,64 +CMT,1,1,602,1.8,CRD,9 +CMT,1,1,1054,6.7,CRD,21.5 +CMT,1,1,480,0.8,CSH,6.5 +CMT,1,1,278,0.8,CRD,5.5 +CMT,1,1,556,3.2,CSH,11 +CMT,1,1,313,0.9,CRD,6 +CMT,1,1,318,1,CSH,6 +CMT,1,1,658,0.9,CSH,8 +CMT,1,1,139,0.6,CSH,4 +CMT,3,1,3323,14.7,CRD,71 +CMT,1,1,734,2,CRD,10.5 +CMT,1,2,308,0.8,CRD,5.5 +CMT,1,1,197,0.5,CSH,4 +CMT,1,1,264,0.6,CRD,5 +CMT,1,1,240,0.9,CSH,5 +VTS,1,1,300,0.91,CSH,6 +VTS,1,1,300,1.23,CSH,6 +VTS,1,1,300,0.97,CRD,6 +VTS,1,1,600,1.43,CSH,8.5 +VTS,1,1,1260,3.25,CRD,15.5 +VTS,1,1,1020,5.97,CSH,19 +VTS,1,1,720,2.47,CRD,11 +VTS,1,1,300,1.7,CRD,7 +VTS,1,1,1020,5.07,CRD,18 +VTS,1,1,900,3.61,CSH,14 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,600,1.89,CRD,9.5 +VTS,1,1,660,2.51,CRD,10 +VTS,1,1,900,3.11,CSH,10.5 +VTS,1,1,600,2.37,CRD,10 +VTS,1,1,120,0.62,CSH,4 +VTS,1,1,300,1.34,CRD,6 +VTS,1,1,240,0.76,CSH,4.5 +VTS,1,1,1260,4.5,CRD,17.5 +VTS,1,1,420,1.87,CRD,7.5 +VTS,1,1,360,1.13,CRD,6 +VTS,1,1,1020,3.16,CSH,14 +VTS,1,1,480,1.08,CRD,7 +VTS,1,1,360,0.59,CSH,5.5 +VTS,1,1,360,0.78,CSH,6 +VTS,1,1,960,3.73,CRD,14 +VTS,1,1,780,2.95,CSH,12 +VTS,1,1,2520,4.06,CRD,25 +VTS,1,1,360,1.4,CRD,6.5 +VTS,1,1,480,1.85,CSH,8 +VTS,1,1,300,1.25,CSH,6 +VTS,1,1,360,1.12,CSH,7 +VTS,1,1,240,0.92,CRD,5 +VTS,1,1,660,2.74,CRD,11 +VTS,1,1,240,0.89,CRD,5.5 +VTS,1,1,540,1.79,CRD,8.5 +VTS,1,1,720,3.06,CRD,12 +VTS,1,1,660,2.14,CRD,9.5 +VTS,1,1,120,0.43,CRD,3.5 +VTS,1,1,720,3.05,CRD,12 +VTS,1,1,480,1.7,CRD,8 +VTS,1,1,1500,3.91,CRD,18 +VTS,1,1,420,0.61,CRD,5.5 +VTS,1,1,840,2.75,CRD,12.5 +VTS,1,1,720,2.16,CRD,10 +VTS,1,1,1680,6.15,CSH,22.5 +VTS,1,1,840,2.04,CRD,11 +VTS,1,1,720,2.47,CRD,11 +VTS,1,1,540,1.19,CRD,7.5 +VTS,1,1,540,2.35,CRD,9.5 +VTS,1,1,60,0.56,CSH,3.5 +VTS,1,1,1080,2.03,CRD,12 +VTS,1,1,1080,3.73,CSH,15 +VTS,1,1,540,2.36,CSH,9 +VTS,1,1,720,2.57,CSH,10.5 +VTS,1,1,300,0.4,CSH,5 +VTS,1,1,600,2.1,CSH,9.5 +VTS,1,1,120,0.33,CRD,3.5 +VTS,1,1,240,0.64,CRD,4.5 +VTS,1,1,660,2,CRD,10 +VTS,1,1,420,1.66,CRD,7.5 +CMT,1,1,891,2.6,CSH,12 +CMT,1,1,199,0.7,CSH,4.5 +CMT,1,1,712,6.1,CRD,18.5 +CMT,1,1,1144,2.3,CSH,13.5 +CMT,1,1,854,4.4,CSH,15.5 +CMT,1,1,422,1.1,CSH,7 +CMT,1,1,184,0.6,CSH,4 +CMT,1,1,252,0.8,CRD,5 +CMT,1,1,467,1,CRD,7 +CMT,1,2,633,1.7,CRD,9 +CMT,1,1,731,3.6,CSH,13 +CMT,1,1,438,0.9,CSH,6.5 +CMT,1,1,521,2.5,CRD,9.5 +CMT,1,1,2262,4.9,CSH,24 +CMT,1,1,1208,3.3,CRD,15 +CMT,1,1,274,0.6,CSH,5 +CMT,1,1,407,1.7,CRD,8 +CMT,1,1,1185,3,CRD,14.5 +CMT,1,1,686,1.2,CSH,9 +CMT,1,1,751,1.5,CRD,9.5 +CMT,1,1,247,1,CRD,5.5 +CMT,1,1,1076,1.3,CRD,12 +CMT,1,1,742,0.7,CRD,9 +VTS,1,1,660,1.19,CSH,9 +VTS,1,1,300,1.31,CRD,6.5 +VTS,1,1,1020,4.23,CRD,16 +VTS,1,1,240,0.95,CSH,5.5 +VTS,1,1,780,2.18,CRD,10 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,120,0.62,CSH,4 +VTS,1,1,660,1.05,CSH,8.5 +CMT,1,1,821,3.8,CSH,13.5 +CMT,1,1,465,1.2,CRD,7 +CMT,1,1,766,3,CRD,12 +CMT,1,1,141,0.5,CSH,4 +CMT,1,1,785,3,CSH,12.5 +CMT,1,1,223,1,CRD,5 +CMT,1,3,464,0.5,CSH,6.5 +CMT,1,1,434,1.5,CSH,7.5 +CMT,1,1,309,1.9,CSH,7.5 +CMT,1,1,399,1.4,CRD,7 +CMT,1,1,683,1,CRD,9 +CMT,1,1,448,1.2,CRD,7 +CMT,1,1,245,0.9,CRD,5.5 +CMT,1,1,461,0.6,CRD,6.5 +CMT,1,1,1394,5.5,CRD,21.5 +CMT,1,1,469,1.4,CRD,7.5 +CMT,1,1,895,3.1,CRD,13 +CMT,1,1,709,1.8,CRD,9.5 +CMT,1,1,790,2.5,CSH,11.5 +CMT,1,2,390,1,CRD,6.5 +CMT,1,1,194,1.1,CRD,5.5 +CMT,1,1,223,1,CRD,5.5 +CMT,1,1,184,0.9,CSH,5 +CMT,1,1,342,1.2,CSH,6.5 +CMT,1,1,440,0.8,CSH,6.5 +CMT,1,1,528,2,CSH,9.5 +CMT,1,1,434,1.6,CSH,7.5 +CMT,1,1,1062,4.5,CRD,17 +CMT,1,1,421,1,CSH,6.5 +CMT,1,1,565,0.8,CSH,7.5 +CMT,1,1,313,0.7,CSH,5.5 +CMT,1,1,1975,9.2,CSH,31.5 +CMT,1,1,1013,4.7,CRD,17 +CMT,1,1,332,0.6,CSH,5.5 +CMT,1,1,670,1.1,CRD,8.5 +CMT,1,1,486,1.4,CSH,7.5 +CMT,1,1,1420,2.6,CRD,16 +CMT,1,1,193,0.6,CRD,4.5 +CMT,1,1,1152,9.2,CRD,26.5 +CMT,1,1,537,1.9,CSH,9 +CMT,1,1,590,2.8,CSH,10.5 +CMT,1,1,173,0.7,CRD,4.5 +CMT,1,1,1317,5,CRD,18.5 +CMT,1,1,1139,1.4,CSH,12 +CMT,1,1,276,0.6,CSH,5 +CMT,1,2,580,1.3,CSH,8 +CMT,1,1,153,0.7,CSH,4.5 +CMT,1,1,620,1,CSH,8 +CMT,1,1,316,1,CRD,5.5 +CMT,1,1,265,0.9,CRD,5.5 +CMT,1,1,208,0.5,CRD,4.5 +CMT,1,1,202,0.8,CSH,4.5 +CMT,1,1,403,1.1,CRD,6.5 +CMT,1,1,1792,9.7,CRD,30 +CMT,1,2,2300,9.3,CRD,33 +CMT,1,1,637,2.4,CRD,10.5 +CMT,1,1,353,0.7,CSH,6 +CMT,1,1,949,0.7,CRD,10.5 +CMT,1,1,125,0.5,CRD,4 +CMT,1,1,1263,2.7,CSH,15 +CMT,1,2,1111,2.3,CSH,13.5 +CMT,1,1,121,0.6,CSH,4 +CMT,1,2,427,0.9,CSH,6.5 +CMT,1,1,447,0.8,CRD,6.5 +VTS,1,1,240,0.61,CSH,4.5 +VTS,2,1,2820,17.53,CRD,52 +VTS,1,1,540,1.73,CSH,8.5 +VTS,1,1,480,1.13,CRD,7.5 +VTS,1,1,360,0.55,CRD,5.5 +VTS,1,1,240,0.39,CSH,4 +VTS,1,1,240,1.08,CSH,5 +CMT,1,1,393,1.7,CRD,7.5 +CMT,1,1,752,1.3,CSH,9 +CMT,2,1,2862,18.5,CRD,52 +CMT,1,1,1677,8.4,CRD,27.5 +CMT,1,1,747,1.5,CSH,10 +CMT,1,1,1375,11.7,CRD,32.5 +CMT,1,1,753,2.3,CRD,11 +CMT,1,1,510,1.4,CRD,8 +CMT,1,1,369,1.3,CRD,6.5 +CMT,1,1,270,1.2,CSH,6 +CMT,1,1,1126,5.7,CRD,19 +CMT,1,1,434,1.7,CRD,8 +CMT,1,1,354,1.3,CRD,7 +CMT,1,1,670,1.6,CRD,9 +CMT,1,1,354,0.7,CSH,6 +CMT,1,1,1117,2.3,CRD,13 +CMT,1,1,1420,5.6,CRD,21.5 +CMT,1,1,304,0.9,CSH,6 +CMT,1,1,428,1.7,CRD,8 +CMT,1,1,477,1,CRD,7 +CMT,1,1,725,1.3,CSH,9 +CMT,1,1,568,1,CRD,7.5 +CMT,1,1,403,0.7,CRD,6 +CMT,1,1,596,1.9,CRD,9 +CMT,1,1,951,3.7,CRD,14 +CMT,1,1,1039,2.8,CSH,13.5 +CMT,1,1,267,0.6,CSH,5 +CMT,1,2,510,1.6,CSH,8.5 +CMT,1,1,2759,20.6,CRD,60 +CMT,1,1,758,2.4,CRD,11 +CMT,1,1,680,1.9,CSH,9.5 +CMT,1,1,575,1.9,CSH,9 +CMT,1,1,227,0.5,CRD,4.5 +CMT,1,1,818,1.7,CSH,10 +CMT,1,1,867,2,CRD,11 +CMT,1,3,712,1.7,CRD,9.5 +CMT,1,1,1603,2.9,CRD,17.5 +CMT,1,1,762,3.7,CRD,14 +CMT,1,1,270,0.4,CSH,5 +CMT,1,1,432,1,CSH,6.5 +CMT,1,1,234,0.4,CSH,4.5 +CMT,1,1,913,2,CRD,11 +CMT,1,1,518,1.1,CSH,7.5 +CMT,1,1,436,1.6,CSH,7.5 +VTS,1,1,540,1.61,CSH,8 +VTS,1,1,840,1.84,CRD,10.5 +VTS,1,1,420,1.2,CRD,6.5 +VTS,1,1,120,0.46,CRD,4 +VTS,1,1,420,1.64,CRD,7.5 +VTS,1,1,420,0.84,CRD,6 +VTS,1,1,540,1.22,CSH,7.5 +VTS,1,1,300,0.61,CRD,5.5 +CMT,1,1,540,1.8,CRD,8.5 +CMT,1,1,458,1.2,CRD,7 +CMT,1,1,1442,4.3,CRD,18.5 +CMT,1,1,1310,4.1,CRD,17 +CMT,1,1,293,0.8,CRD,5.5 +CMT,1,1,203,0.4,CSH,4 +CMT,1,2,257,0.8,CRD,5 +CMT,1,1,582,1,CRD,7.5 +CMT,1,1,942,1.6,CRD,11 +CMT,1,1,515,1,CRD,7 +CMT,1,1,526,1.3,CSH,7.5 +CMT,1,1,493,0.9,CSH,7 +CMT,1,1,338,1.1,CRD,6 +CMT,1,1,967,2.6,CRD,12.5 +CMT,1,1,440,1.4,CRD,7 +CMT,1,1,1216,1.3,CRD,13 +CMT,1,2,1043,3,CRD,13.5 +CMT,1,1,1265,3.8,CRD,16 +VTS,1,1,540,1.53,CRD,7.5 +VTS,1,1,780,1.59,CRD,9.5 +VTS,1,1,420,0.95,CSH,6.5 +VTS,1,1,540,1.55,CRD,8 +VTS,1,1,1020,5.89,CRD,19.5 +VTS,1,1,660,1.28,CSH,8.5 +VTS,1,1,360,1.84,CRD,7.5 +VTS,1,1,660,1.36,CRD,8.5 +CMT,1,1,1031,1.6,CRD,11.5 +CMT,1,1,706,2.3,CSH,10.5 +CMT,1,1,1359,7,CSH,22 +CMT,1,1,1218,5.1,CRD,18.5 +CMT,1,1,579,1.3,CRD,8 +CMT,1,1,1208,1.2,CSH,12.5 +CMT,1,1,737,1.2,CSH,9 +CMT,1,1,841,1.5,CRD,10 +CMT,1,1,1443,3.4,CSH,17 +CMT,1,1,322,0.5,CRD,5 +CMT,1,1,196,0.8,CRD,5 +VTS,1,1,720,1.32,CRD,9 +VTS,1,1,660,1.6,CRD,9 +VTS,1,1,660,1.59,CSH,9 +VTS,1,1,660,2.07,CRD,9.5 +VTS,1,1,360,0.76,CRD,6 +VTS,1,1,720,2.29,CRD,10 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,540,1.52,CSH,7.5 +VTS,1,1,900,1.35,CSH,10.5 +VTS,1,1,2640,10.93,CSH,39.5 +VTS,1,1,540,1.31,CRD,7.5 +VTS,1,1,540,0.85,CRD,7 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,420,1.58,CSH,7.5 +VTS,1,1,840,3.35,CRD,13 +CMT,1,1,323,1.4,CRD,6.5 +CMT,1,1,249,0.7,CRD,5 +CMT,1,1,824,0.7,CRD,9.5 +CMT,1,1,362,1.3,CSH,6.5 +CMT,1,1,691,1.7,CSH,9.5 +CMT,1,1,244,0.6,CSH,4.5 +CMT,1,1,793,1.4,CSH,10 +CMT,1,1,706,2.5,CSH,11 +CMT,1,1,416,1.8,CRD,8 +CMT,1,1,527,1.8,CSH,8 +CMT,1,1,563,1,CSH,7.5 +CMT,1,1,538,2.5,CRD,9.5 +CMT,1,1,1440,4.5,CRD,18.5 +CMT,1,1,674,1.8,CRD,9.5 +CMT,1,1,1036,3.3,CRD,13.5 +VTS,1,1,900,2.55,CSH,12 +VTS,1,1,1140,5.04,CRD,18.5 +VTS,1,1,240,1.19,CRD,5.5 +VTS,1,1,900,2.75,CRD,12 +VTS,1,1,1620,5.87,CRD,22 +VTS,1,1,840,1.27,CRD,9.5 +VTS,1,1,360,0.94,CRD,6 +VTS,1,1,420,1.03,CRD,6.5 +VTS,1,1,420,1.29,CRD,7 +VTS,1,1,660,1.49,CRD,8.5 +VTS,1,1,300,0.66,CSH,5 +VTS,1,1,540,1.37,CRD,8 +VTS,1,1,420,1.51,CRD,7 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,540,1.79,CSH,8.5 +VTS,1,1,480,1.63,CSH,8 +VTS,1,1,780,2.09,CRD,11 +VTS,1,1,540,2.42,CRD,9 +VTS,1,1,240,0.85,CSH,5 +VTS,1,1,1200,6.33,CRD,21 +VTS,1,1,600,2.1,CRD,8.5 +VTS,1,1,240,0.41,CRD,4.5 +VTS,1,1,1080,6.92,CSH,22 +VTS,1,1,1440,2.51,CSH,15.5 +VTS,2,1,2940,16.78,CRD,52 +VTS,1,1,480,0.96,CRD,7 +VTS,1,1,1080,2.61,CRD,13 +VTS,1,1,1260,9.65,CSH,28.5 +VTS,1,1,540,1.72,CSH,8.5 +VTS,1,1,300,1.06,CSH,5.5 +VTS,1,1,480,1.39,CSH,7.5 +VTS,1,1,480,2.13,CRD,8.5 +VTS,1,1,420,1.47,CSH,7 +VTS,1,1,840,3.37,CRD,12.5 +VTS,1,1,840,2.07,CRD,11 +VTS,1,1,360,0.97,CRD,6 +VTS,1,1,780,2.38,CRD,11 +VTS,1,1,600,1.61,CRD,8 +VTS,1,1,1560,8.03,CSH,26.5 +VTS,1,1,1140,2.49,CSH,13 +VTS,1,1,540,1.09,CRD,7.5 +VTS,1,1,1860,8.31,CRD,29 +VTS,1,1,600,2.13,CSH,9 +VTS,1,1,480,0.99,CSH,7 +VTS,1,1,1620,2.93,CSH,17.5 +VTS,1,1,420,1.71,CSH,7.5 +VTS,1,1,1080,2.53,CRD,13.5 +VTS,1,1,360,0.74,CSH,5.5 +VTS,1,1,420,0.64,CRD,5.5 +VTS,1,1,1020,2.6,CRD,12.5 +VTS,1,1,360,1.06,CRD,6 +VTS,1,1,420,1.99,CSH,8 +VTS,1,1,840,2.53,CSH,11.5 +VTS,1,1,600,1.42,CRD,8 +VTS,1,1,600,1.23,CSH,8 +VTS,1,1,300,1.22,CSH,6 +VTS,1,1,240,0.55,CRD,4.5 +VTS,1,1,660,3.19,CRD,12 +VTS,1,1,600,1.83,CRD,8.5 +VTS,1,1,360,0.6,CRD,5 +VTS,1,1,1260,4.14,CSH,17 +VTS,1,1,1200,2.35,CRD,13.5 +VTS,1,1,1320,2.51,CRD,16.5 +CMT,1,1,989,2.2,CSH,12 +CMT,1,1,464,1.1,CRD,7 +VTS,1,1,720,2.61,CRD,11 +VTS,1,1,1140,5.83,CSH,18.5 +VTS,1,1,180,0.79,CSH,4.5 +VTS,1,1,240,1.55,CRD,6 +VTS,1,1,180,0.91,CSH,5 +VTS,1,1,240,0.78,CSH,5 +VTS,1,1,840,2.3,CSH,11 +VTS,1,1,600,1.4,CSH,8 +VTS,1,1,540,2.1,CRD,9 +VTS,1,1,420,1.45,CRD,7 +VTS,1,1,540,1.27,CSH,7.5 +VTS,1,1,720,3.14,CRD,12 +VTS,1,1,240,0.78,CRD,5 +VTS,1,1,780,1.71,CRD,10 +VTS,1,1,540,1.27,CRD,7.5 +VTS,1,1,300,0.83,CRD,5.5 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,660,1.65,CRD,9 +VTS,1,1,600,1.37,CSH,8.5 +VTS,1,1,480,1.07,CRD,7 +VTS,1,1,1140,4.45,CSH,17 +VTS,1,1,1440,2.69,CRD,15 +VTS,1,1,1200,3.2,CRD,15 +VTS,1,1,900,4.21,CRD,15 +VTS,1,1,840,2.99,CSH,12.5 +VTS,1,1,1140,1.08,CRD,11.5 +VTS,1,1,1020,6.33,CRD,20.5 +VTS,1,1,420,1.5,CSH,7 +VTS,1,1,780,1.88,CSH,10 +VTS,1,1,780,1.9,CRD,10 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,540,1.8,CRD,8.5 +VTS,1,1,720,2.27,CRD,10.5 +VTS,1,1,840,3.99,CSH,14.5 +VTS,1,1,120,0.48,CRD,3.5 +VTS,1,1,360,1.2,CSH,6.5 +VTS,1,1,660,1.26,CRD,8.5 +VTS,1,1,600,2.82,CRD,10 +VTS,1,1,660,1.43,CSH,8.5 +VTS,1,1,960,2.85,CRD,13 +VTS,1,1,780,2.22,CRD,10.5 +VTS,1,1,360,1.4,CRD,7 +VTS,1,1,660,0.74,CRD,7.5 +VTS,1,1,720,2.65,CRD,11 +VTS,1,1,900,3.02,CRD,12.5 +VTS,1,1,420,1.56,CSH,7.5 +VTS,1,1,1020,3.5,CSH,15.5 +VTS,1,1,540,4.17,CRD,13.5 +VTS,1,1,720,2.75,CRD,11.5 +VTS,1,1,780,1.54,CSH,10 +VTS,1,1,1320,2.13,CRD,14 +VTS,1,1,1320,2.73,CRD,14.5 +VTS,1,1,360,0.81,CSH,5.5 +VTS,1,1,840,1.82,CRD,10 +VTS,1,1,1200,3.19,CSH,15.5 +VTS,1,1,1320,5.57,CRD,19 +VTS,1,1,1500,3.43,CRD,17 +VTS,1,1,360,1.06,CSH,5.5 +VTS,1,1,300,0.67,CRD,5 +VTS,1,1,720,1.17,CRD,8.5 +VTS,1,1,360,1.05,CSH,6.5 +VTS,1,1,300,0.76,CSH,5.5 +VTS,1,1,480,1.5,CSH,7.5 +VTS,1,1,540,1.54,CSH,8 +VTS,1,1,720,1.92,CSH,9 +VTS,1,1,540,1.54,CRD,8 +VTS,1,1,600,2.38,CRD,10.5 +VTS,1,1,1920,4.28,CRD,21 +VTS,1,1,900,1.69,CRD,10.5 +VTS,1,1,1080,1.34,CRD,12 +VTS,1,1,840,1.96,CRD,10.5 +VTS,1,1,540,1.34,CRD,8 +VTS,1,1,1140,0.96,CSH,12 +VTS,1,1,300,1.19,CRD,6 +VTS,1,1,840,4.42,CRD,15.5 +VTS,1,1,840,1.59,CSH,10 +VTS,1,1,360,1.11,CRD,6 +VTS,1,1,360,1.99,CRD,8 +VTS,1,1,1260,5,CRD,19 +VTS,1,1,300,0.8,CSH,5 +VTS,1,1,120,0.45,CRD,4 +VTS,1,1,300,0.51,CRD,5 +VTS,1,1,300,1.32,CRD,6.5 +VTS,1,1,300,1.77,CSH,7 +VTS,1,1,780,2.69,CRD,11.5 +VTS,1,1,660,5.79,CRD,17.5 +VTS,1,1,480,1.41,CSH,7 +VTS,1,1,1500,2.32,CSH,15.5 +VTS,1,1,240,0.66,CRD,5 +VTS,1,1,1380,3.86,CSH,17.5 +VTS,1,1,180,1.1,CRD,5.5 +VTS,1,1,480,1.03,CRD,6.5 +VTS,1,1,2100,9.86,CRD,33.5 +VTS,1,1,720,1,CSH,8.5 +VTS,1,1,480,1.22,CRD,7.5 +VTS,1,1,960,1.85,CRD,11.5 +VTS,1,1,660,2.17,CSH,9.5 +VTS,1,1,540,1.63,CSH,8.5 +VTS,1,1,600,1.1,CSH,8 +VTS,1,1,480,1.63,CRD,7.5 +VTS,1,1,420,1.65,CRD,7.5 +VTS,1,1,420,1.94,CRD,8.5 +CMT,1,1,572,1.6,CSH,8.5 +CMT,1,1,276,0.8,CSH,5 +CMT,1,1,266,0.6,CRD,5 +CMT,1,1,273,0.4,CRD,5 +CMT,1,1,563,1.6,CRD,8.5 +CMT,1,1,439,1.7,CRD,8 +VTS,1,1,480,2.12,CSH,8.5 +VTS,1,1,240,0.86,CRD,5 +VTS,1,1,1500,3.75,CRD,17.5 +VTS,1,1,660,2.07,CRD,9.5 +VTS,1,1,720,1.71,CRD,9.5 +VTS,1,1,720,2.03,CRD,10 +VTS,1,1,240,0.44,CSH,4 +VTS,1,1,1140,1.75,CRD,12.5 +VTS,1,1,540,1.36,CRD,7.5 +VTS,1,1,1560,4.05,CRD,19 +VTS,1,1,240,0.97,CRD,5 +VTS,1,1,540,1.4,CSH,8 +VTS,1,1,420,1.23,CSH,6.5 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,1620,4.33,CRD,20 +VTS,1,1,1020,5.17,CRD,18.5 +VTS,1,1,780,2.63,CRD,11 +VTS,1,1,600,0.7,CRD,7 +VTS,1,1,1260,2.17,CRD,13.5 +VTS,1,1,1200,2.36,CRD,13.5 +VTS,1,1,480,1.43,CSH,7.5 +VTS,1,1,360,1.75,CRD,7.5 +VTS,1,1,60,0.33,CSH,3 +VTS,1,1,240,0.88,CSH,5 +VTS,1,1,300,0.49,CSH,5 +VTS,1,1,360,1.04,CRD,6 +VTS,1,1,480,1.1,CSH,7 +VTS,1,1,600,1.67,CRD,9 +VTS,1,1,180,0.37,CRD,4 +VTS,1,1,420,0.67,CRD,6 +VTS,1,1,900,2.55,CRD,11.5 +VTS,1,1,1500,3.83,CRD,18.5 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,1560,4.43,CSH,20 +VTS,1,1,480,1.08,CRD,7 +VTS,1,1,1380,3.47,CRD,17 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,600,1.44,CRD,8.5 +VTS,1,1,600,1.29,CSH,8 +VTS,1,1,240,0.41,CSH,4.5 +VTS,1,1,1140,2.85,CRD,14 +VTS,1,1,300,1.35,CSH,6.5 +VTS,1,1,240,0.79,CRD,5 +VTS,1,1,480,1.72,CSH,8 +VTS,1,1,540,1.71,CRD,8 +VTS,1,1,420,1.3,CRD,7 +VTS,1,1,540,1.5,CSH,8 +VTS,1,1,720,2.97,CRD,11.5 +VTS,1,1,660,1.99,CSH,9.5 +VTS,1,1,240,0.46,CSH,4.5 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,120,0.53,CSH,3.5 +VTS,1,1,960,3.01,CSH,13.5 +VTS,1,1,1560,10.19,CSH,30 +VTS,1,1,240,0.73,CRD,4.5 +VTS,1,1,300,0.87,CSH,5.5 +VTS,1,1,360,1.55,CRD,7.5 +VTS,1,1,360,1.18,CSH,6.5 +VTS,1,1,780,1.25,CSH,9 +VTS,1,1,660,1.68,CRD,9.5 +VTS,1,1,240,0.38,CSH,4.5 +VTS,1,1,780,2.08,CSH,9 +VTS,1,1,600,1.36,CSH,8 +VTS,1,1,420,0.76,CRD,6 +VTS,2,1,2400,17.1,CRD,52 +VTS,1,1,600,2.22,CRD,10 +VTS,1,1,900,4.25,CRD,15 +VTS,1,1,480,0.76,CSH,6.5 +VTS,1,1,360,0.68,CSH,5.5 +VTS,1,1,300,0.86,CRD,5.5 +VTS,1,1,720,2.82,CSH,12 +VTS,1,1,420,1.02,CRD,6.5 +VTS,1,1,660,1.29,CSH,8.5 +VTS,1,1,480,1.21,CRD,7 +VTS,1,1,720,3.17,CRD,12 +VTS,1,1,1800,6.66,CSH,24.5 +VTS,1,1,480,1.27,CSH,7 +VTS,1,1,540,1.75,CRD,8 +VTS,1,1,360,0.94,CRD,6 +VTS,1,1,420,0.81,CRD,6.5 +VTS,1,1,120,0.6,CSH,4 +VTS,1,1,660,1.93,CRD,9.5 +VTS,1,1,0,0.01,CSH,2.5 +VTS,1,1,0,0.04,CSH,2.5 +VTS,1,1,2040,6.07,CRD,24 +VTS,1,1,1980,1.52,CRD,19 +VTS,1,1,600,1.35,CRD,8 +VTS,1,1,540,0.55,CRD,7 +VTS,1,1,480,2.01,CRD,8.5 +VTS,1,1,420,1.86,CRD,8 +VTS,1,1,180,0.81,CRD,4.5 +VTS,1,1,720,2.69,CSH,11.5 +VTS,1,1,420,1.79,CSH,8 +VTS,1,1,900,2.36,CSH,11.5 +VTS,1,1,360,0.94,CRD,6 +VTS,1,1,420,1.05,CRD,6.5 +VTS,1,1,180,0.61,CSH,4 +VTS,1,1,300,0.78,CSH,5.5 +VTS,1,1,900,3.06,CSH,13 +VTS,1,1,540,1.46,CSH,7 +VTS,2,1,1800,16.02,CRD,52 +VTS,1,1,420,1.18,CRD,7 +VTS,1,1,360,0.93,CRD,5.5 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,360,0.81,CSH,6 +VTS,1,1,660,1.14,CRD,8 +VTS,1,1,480,2.05,CRD,9 +VTS,1,1,120,0.73,CSH,4 +VTS,1,1,180,0.55,CSH,4.5 +VTS,1,1,540,2.06,CSH,9 +VTS,1,1,120,0.52,CRD,4 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,1,420,0.94,CSH,6.5 +VTS,1,1,720,2.23,CSH,10.5 +VTS,1,1,780,3.42,CRD,12.5 +VTS,1,1,720,2.83,CRD,11 +VTS,1,1,1260,2.56,CRD,14.5 +VTS,1,1,540,0.65,CRD,7 +VTS,1,1,1560,9.39,CRD,29.5 +VTS,1,1,540,0.69,CRD,6.5 +VTS,1,1,540,1.66,CSH,8 +VTS,1,1,840,2.14,CRD,11 +VTS,1,1,360,0.9,CSH,5.5 +VTS,1,1,780,1.51,CRD,9 +VTS,1,1,720,1.22,CRD,9 +CMT,1,3,458,1.4,CSH,7.5 +CMT,1,3,334,1,CSH,6 +CMT,1,4,384,1.4,CSH,7 +CMT,1,4,238,0.9,CSH,5 +CMT,1,1,705,4.1,CRD,14 +CMT,1,1,507,2.1,CRD,9 +CMT,1,1,533,2,CSH,9 +CMT,1,1,720,2.4,CSH,11 +CMT,1,2,450,1,CSH,7 +CMT,1,1,545,0.7,CRD,7 +CMT,1,1,1816,18.2,CRD,49 +CMT,1,2,238,1,CSH,5 +CMT,1,1,1330,3.7,CSH,16.5 +CMT,1,2,459,1.1,CSH,7 +CMT,1,1,2009,8.2,CSH,29.5 +CMT,1,1,433,0.7,CRD,6.5 +CMT,1,1,367,1.9,CSH,8 +CMT,1,1,618,2.2,CRD,9.5 +CMT,1,1,310,1.1,CSH,6 +CMT,1,1,742,1.8,CRD,9.5 +CMT,1,1,1402,3.9,CSH,17.5 +CMT,1,3,232,0.7,CRD,5 +CMT,1,1,420,0.8,CSH,6 +CMT,1,1,388,1.4,CSH,7 +CMT,1,1,883,3.3,CRD,13 +CMT,1,1,855,3.4,CRD,14 +CMT,1,1,843,1.8,CSH,10.5 +CMT,1,2,782,2.5,CRD,11.5 +CMT,1,1,200,0.5,CRD,4.5 +CMT,1,1,929,3,CSH,13 +VTS,1,1,1140,3.96,CSH,15.5 +VTS,1,1,780,2.16,CRD,11 +VTS,1,1,1260,3.29,CSH,15.5 +VTS,1,1,180,0.63,CRD,4 +VTS,1,1,420,1.19,CSH,6.5 +VTS,1,1,360,0.89,CRD,6 +VTS,1,1,960,2.43,CRD,12 +VTS,1,1,960,1.99,CSH,11.5 +VTS,1,1,60,0.33,CSH,3 +VTS,1,1,960,2.59,CRD,12.5 +VTS,1,1,540,1.36,CRD,8 +VTS,1,1,480,1.71,CSH,8 +VTS,1,1,240,0.48,CRD,4 +VTS,1,1,480,2.03,CSH,8.5 +VTS,1,1,240,0.7,CRD,5 +VTS,1,1,480,1.35,CSH,7 +VTS,1,1,1260,3.89,CSH,16.5 +VTS,1,1,300,1.04,CRD,6 +VTS,1,1,540,0.84,CRD,7 +VTS,1,1,540,1,CRD,7 +VTS,1,1,660,0.92,CSH,6 +VTS,1,1,420,1.62,CSH,7.5 +VTS,1,1,840,4.88,CRD,17 +VTS,1,1,240,0.53,CRD,4.5 +VTS,1,1,1500,3.61,CRD,17 +VTS,1,1,720,1.99,CSH,10 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,540,1.24,CRD,7.5 +VTS,1,1,420,1.28,CRD,7 +VTS,1,1,600,0.93,CRD,7.5 +VTS,1,1,720,1.59,CRD,9 +VTS,1,1,1020,2.2,CRD,12.5 +VTS,1,1,1140,1.91,CRD,12.5 +VTS,1,1,780,1.53,CRD,9.5 +VTS,1,1,780,1.6,CSH,9.5 +VTS,1,1,180,0.64,CSH,4 +VTS,1,1,600,1.93,CSH,9 +VTS,1,1,420,0.92,CRD,6 +VTS,1,1,420,1.29,CRD,6.5 +VTS,1,1,240,0.65,CSH,5 +VTS,1,1,480,1.53,CSH,8 +VTS,1,1,780,1.68,CRD,10 +VTS,1,1,720,1.6,CRD,9 +VTS,1,1,900,2.14,CRD,11 +VTS,1,2,0,0.04,CSH,2.5 +VTS,1,2,120,0.57,CSH,3.5 +VTS,1,1,540,0.87,CRD,7 +VTS,1,1,960,4.21,CSH,15 +VTS,1,1,300,1.03,CRD,5.5 +VTS,1,1,720,1.3,CSH,8.5 +VTS,1,1,60,0.08,CSH,2.5 +VTS,1,1,600,2.01,CSH,8.5 +VTS,1,1,1020,1.32,CRD,11.5 +VTS,1,1,780,1.73,CSH,8 +VTS,1,1,300,1.25,CSH,6 +VTS,1,1,300,0.72,CRD,5 +VTS,1,1,720,2.86,CRD,11 +VTS,1,1,540,1.73,CRD,8 +VTS,1,1,540,1.38,CRD,7.5 +VTS,1,1,420,0.63,CRD,6 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,300,0.79,CRD,5 +VTS,1,1,900,3.19,CRD,13 +VTS,1,1,300,0.53,CSH,5 +VTS,1,1,300,0.63,CSH,5.5 +VTS,1,1,480,1.62,CSH,8 +VTS,1,1,60,0,CRD,3 +VTS,1,1,720,3.63,CRD,12.5 +VTS,1,1,840,2.83,CRD,11.5 +VTS,1,1,300,1.4,CSH,6 +VTS,1,1,960,4.17,CSH,15 +VTS,1,1,540,1.66,CRD,8.5 +VTS,1,1,660,2.83,CRD,11 +VTS,1,1,540,1.91,CSH,8.5 +VTS,1,1,60,0.21,CSH,3 +VTS,1,1,720,1.21,CRD,9 +VTS,1,1,780,1.15,CSH,9.5 +VTS,1,1,600,0.6,CSH,7.5 +VTS,1,1,360,0.57,CSH,5.5 +VTS,1,1,660,1.16,CSH,8 +VTS,1,1,120,0.63,CSH,4 +VTS,1,1,840,2.13,CRD,11 +VTS,1,1,480,1.12,CRD,7 +VTS,1,1,1320,4.03,CSH,17 +VTS,1,1,960,1.3,CRD,10.5 +VTS,1,1,240,1.16,CRD,5.5 +VTS,1,1,360,1.28,CRD,6.5 +VTS,1,1,720,2.27,CSH,11 +VTS,1,1,600,2.74,CSH,10.5 +VTS,1,1,240,0.49,CSH,4.5 +VTS,1,1,720,2.04,CRD,10 +VTS,1,1,1380,3.07,CSH,15 +VTS,1,1,1080,2.05,CSH,13 +VTS,1,1,780,0.95,CSH,9 +VTS,1,1,720,1.89,CRD,10 +VTS,1,1,300,0.54,CRD,5 +VTS,1,1,720,4.72,CRD,15.5 +VTS,1,1,420,0.76,CRD,6 +VTS,1,1,60,0.29,CSH,3 +VTS,1,1,420,0.94,CRD,6.5 +VTS,1,1,180,0.8,CRD,4.5 +VTS,1,1,720,1.3,CSH,9 +VTS,1,1,300,0.64,CSH,5 +VTS,1,1,720,1.3,CSH,8.5 +VTS,1,1,1320,4.62,CSH,18 +VTS,1,1,180,0.61,CSH,4 +VTS,1,1,1560,5.1,CRD,20.5 +VTS,1,1,480,1.22,CRD,7.5 +VTS,1,1,240,0.78,CRD,5 +VTS,1,1,840,1,CSH,10 +VTS,1,1,480,1.27,CRD,7.5 +VTS,1,1,540,0.91,CRD,7 +VTS,1,1,600,2.72,CSH,10 +VTS,1,1,600,2.83,CRD,10.5 +VTS,1,1,180,0.63,CSH,4 +VTS,1,1,240,0.97,CRD,5 +VTS,1,1,420,1.79,CRD,7 +VTS,1,1,480,1.17,CSH,7 +VTS,1,1,1440,7.72,CSH,25 +VTS,1,1,540,1.39,CRD,8 +VTS,1,1,660,1.69,CRD,8.5 +VTS,1,1,600,2.6,CRD,9.5 +VTS,1,1,1080,3.31,CRD,13.5 +VTS,1,1,1260,5.89,CSH,21 +VTS,1,1,240,0.92,CRD,5 +VTS,1,1,540,1.45,CSH,7.5 +VTS,1,1,300,1.89,CRD,7.5 +VTS,1,1,1140,5.24,CRD,18.5 +VTS,1,1,360,2.08,CRD,8.5 +VTS,1,1,1020,1.98,CSH,12 +VTS,1,1,600,1.89,CSH,8.5 +VTS,1,1,660,1.13,CRD,8 +VTS,1,1,660,2.42,CSH,10 +VTS,1,5,0,0,CSH,2.5 +VTS,1,2,840,2.7,CSH,12 +VTS,1,1,780,1.44,CRD,10 +VTS,1,1,360,0.33,CSH,5 +VTS,1,1,1140,1.04,CSH,12 +VTS,1,1,900,4.99,CSH,16.5 +VTS,1,1,600,3.22,CSH,12 +VTS,1,1,540,1.91,CRD,8.5 +VTS,1,1,960,2.35,CSH,12 +VTS,1,1,1080,4.81,CRD,17 +VTS,1,1,1380,11.7,CSH,33 +VTS,1,1,660,3.49,CRD,12 +VTS,1,1,540,2.71,CSH,10 +VTS,1,1,540,2.3,CSH,9.5 +VTS,1,1,120,0.51,CRD,3.5 +VTS,1,1,240,0.75,CSH,4.5 +VTS,1,1,420,2.15,CRD,8.5 +VTS,1,1,300,1.31,CRD,6 +VTS,1,1,300,0.83,CSH,5 +VTS,1,1,240,0.76,CSH,4.5 +VTS,1,1,180,0.64,CSH,4 +VTS,1,1,120,0.38,CSH,3.5 +VTS,1,1,420,1.49,CSH,7 +VTS,1,1,240,0.75,CSH,4.5 +VTS,1,1,1140,5.08,CRD,18.5 +VTS,1,1,720,2.86,CRD,11 +VTS,1,1,360,0.64,CSH,5 +VTS,1,1,900,4.47,CRD,15 +VTS,1,1,720,4.37,CRD,15 +VTS,1,1,420,0.94,CSH,6 +VTS,1,1,420,1.03,CSH,6 +VTS,1,1,1020,3.61,CRD,14.5 +VTS,1,1,360,0.64,CSH,5.5 +VTS,1,1,120,0.59,CSH,4 +VTS,1,1,420,1.01,CRD,6 +VTS,1,1,900,5.46,CSH,17 +VTS,1,1,300,0.72,CRD,5.5 +VTS,1,1,540,1.74,CRD,8.5 +VTS,1,1,120,0.65,CSH,4 +VTS,1,1,540,1.73,CRD,8.5 +VTS,1,1,180,0.82,CSH,4.5 +VTS,1,1,720,3.66,CRD,13 +VTS,1,1,600,2.44,CRD,10 +VTS,1,1,1260,4.08,CSH,16.5 +VTS,1,1,360,0.89,CRD,5.5 +VTS,1,1,300,0.98,CRD,5.5 +VTS,1,1,1260,5.7,CSH,19 +VTS,1,1,360,0.6,CSH,5 +VTS,1,1,60,0.1,CSH,2.5 +VTS,1,1,300,0.68,CRD,5.5 +VTS,1,1,540,1.25,CRD,7.5 +VTS,1,1,960,3.3,CSH,13 +VTS,1,1,420,0.97,CSH,6 +VTS,1,1,360,2,CSH,8 +VTS,1,1,480,1.69,CRD,8 +VTS,1,1,660,2.94,CRD,12 +VTS,1,1,1080,3.17,CSH,15 +VTS,1,1,660,1.4,CRD,8.5 +VTS,1,1,900,4.74,CRD,16 +VTS,1,1,360,2.07,CSH,8 +VTS,1,1,840,3.14,CRD,12 +VTS,1,1,360,1.36,CSH,6.5 +VTS,1,1,480,1.23,CSH,7 +VTS,1,1,240,0.7,CRD,4.5 +VTS,1,1,720,2.82,CRD,11 +VTS,1,1,1320,5.35,CRD,20.5 +VTS,1,1,840,7.67,CRD,22 +VTS,1,1,180,0.93,CSH,4.5 +VTS,1,1,900,2.95,CRD,12.5 +VTS,1,1,480,2.11,CSH,8 +VTS,1,1,1500,7.88,CRD,25 +VTS,1,1,780,3.46,CRD,13.5 +VTS,1,1,360,0.89,CRD,5.5 +VTS,1,1,600,1.93,CRD,9 +VTS,1,1,480,0.78,CRD,6.5 +VTS,1,1,840,2.47,CRD,11.5 +VTS,1,1,660,0.61,CSH,8 +VTS,1,1,1320,2.25,CRD,14.5 +VTS,1,1,480,1.4,CRD,7.5 +VTS,1,1,1140,2.78,CSH,13.5 +VTS,1,1,660,1.8,CRD,9.5 +VTS,1,1,480,1.25,CSH,7 +VTS,1,1,180,0.4,CRD,4 +VTS,1,1,600,1.53,CSH,8 +VTS,1,1,180,1.06,CRD,5 +VTS,1,1,480,1.82,CSH,8 +VTS,1,1,600,1.87,CSH,9 +VTS,1,1,720,1.24,CSH,9 +VTS,1,1,540,1.47,CSH,8.5 +VTS,1,2,120,0.34,CSH,3.5 +VTS,1,1,180,0.83,CSH,5 +VTS,1,1,600,1.09,CSH,8 +VTS,1,1,180,0.53,CSH,3.5 +VTS,1,1,300,1,CRD,5.5 +VTS,1,1,600,2.26,CSH,9.5 +VTS,1,1,840,3.22,CSH,12.5 +VTS,1,1,540,1.91,CSH,8.5 +VTS,1,1,300,0.97,CSH,5.5 +VTS,1,1,720,3.6,CSH,13 +VTS,1,1,1140,2.57,CRD,14.5 +VTS,1,1,480,1.1,CRD,6.5 +VTS,1,1,960,3.35,CRD,13.5 +VTS,1,1,720,1.69,CSH,9.5 +VTS,1,1,1140,3.33,CRD,14.5 +VTS,1,1,420,1.01,CRD,6.5 +VTS,1,1,480,1.2,CRD,7 +VTS,1,1,600,2.63,CSH,10 +VTS,1,1,840,1.47,CRD,10 +VTS,1,1,840,4.98,CRD,16.5 +VTS,1,1,720,1.72,CSH,8.5 +VTS,1,2,240,1.06,CRD,5.5 +VTS,1,1,480,1.7,CRD,8 +VTS,1,1,420,2.1,CSH,8 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,1,480,1.61,CRD,8 +VTS,1,1,600,3.32,CSH,11.5 +VTS,1,1,2040,5.77,CRD,24.5 +VTS,1,1,600,1.77,CSH,8.5 +VTS,1,1,960,2.61,CRD,12 +VTS,1,1,900,5.33,CSH,16.5 +VTS,1,1,660,2.26,CRD,10 +VTS,2,1,2340,16.09,CRD,52 +VTS,1,1,540,2.05,CRD,8.5 +VTS,1,1,240,1.32,CRD,5.5 +VTS,1,1,480,2.31,CSH,9.5 +VTS,1,1,480,2.15,CSH,8.5 +VTS,1,1,420,2.01,CSH,8 +VTS,1,1,420,0.66,CRD,6 +VTS,1,1,420,1.84,CSH,8 +VTS,1,1,1020,3.96,CRD,15 +VTS,1,1,300,0.81,CRD,5 +VTS,1,1,1380,4.99,CRD,19.5 +VTS,1,1,420,1.34,CRD,6.5 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,780,2.3,CSH,10.5 +VTS,1,1,480,1.24,CSH,7 +VTS,1,1,240,1.07,CRD,5 +VTS,1,1,1500,6.46,CRD,23.5 +VTS,1,1,840,3.16,CSH,12.5 +VTS,1,1,540,0.71,CRD,7 +VTS,1,1,360,1.43,CSH,6.5 +VTS,1,1,300,1.2,CSH,6 +VTS,1,1,600,3.06,CRD,11 +VTS,1,1,300,0.84,CRD,5 +VTS,1,1,720,2.82,CRD,11.5 +VTS,1,1,300,0.89,CRD,5 +VTS,1,1,780,5.66,CRD,17.5 +VTS,1,1,540,2.12,CSH,9 +VTS,1,2,240,1.02,CRD,5 +VTS,1,1,1560,5.31,CRD,21 +VTS,1,1,360,1.27,CRD,6.5 +VTS,1,1,480,1.96,CSH,8.5 +VTS,1,1,600,2.46,CRD,9.5 +VTS,1,1,780,3.18,CSH,11.5 +VTS,1,1,420,2.09,CRD,8 +VTS,1,1,840,2.68,CRD,12.5 +VTS,1,1,1140,7.34,CRD,23 +VTS,1,1,1080,3.36,CRD,14 +VTS,1,1,600,2.05,CSH,9.5 +VTS,1,1,60,0.36,CSH,3 +VTS,1,1,180,0.46,CRD,4 +VTS,1,1,1080,3.65,CRD,15 +VTS,1,1,360,1.16,CSH,6 +VTS,1,1,2040,5.83,CRD,24.5 +VTS,1,1,360,1.35,CRD,6 +VTS,1,1,240,0.56,CSH,4.5 +VTS,1,1,420,0.95,CSH,6 +VTS,1,1,720,2.37,CSH,11 +VTS,1,1,480,1.73,CSH,7.5 +VTS,1,1,720,3.31,CSH,12 +VTS,1,1,180,0.55,CRD,4 +VTS,1,1,60,0.32,CRD,3 +VTS,1,1,660,1.65,CRD,8.5 +VTS,1,1,360,1.19,CRD,6 +VTS,1,1,720,4.69,CSH,14.5 +VTS,1,1,360,0.94,CSH,6 +VTS,1,1,360,1.44,CSH,6.5 +VTS,1,1,300,1.47,CSH,6 +VTS,1,1,300,0.62,CRD,5.5 +VTS,1,1,300,0.58,CRD,5 +VTS,1,1,1020,3.29,CRD,13.5 +VTS,1,1,360,0.51,CSH,5.5 +VTS,1,1,240,0.52,CSH,4 +VTS,1,1,660,1.82,CRD,9 +VTS,1,1,780,3.83,CRD,13 +VTS,1,1,840,3.28,CRD,13 +VTS,1,1,480,1.44,CRD,7.5 +VTS,1,1,960,6.67,CRD,21 +VTS,1,1,780,2.96,CRD,12 +VTS,1,1,960,3.62,CRD,14 +VTS,1,1,480,1.29,CRD,7 +VTS,1,1,660,2.38,CSH,10 +VTS,1,1,480,2.29,CRD,9 +VTS,1,1,540,2.02,CSH,9 +VTS,1,1,660,2.31,CSH,10.5 +VTS,1,1,840,3.63,CRD,13.5 +VTS,1,1,600,2.32,CRD,9 +VTS,1,1,180,0.84,CSH,5 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,1,900,4.02,CSH,16 +VTS,1,1,480,1.51,CRD,7.5 +VTS,1,1,600,1.33,CRD,8 +VTS,1,1,840,1.55,CSH,10 +VTS,1,1,720,6.64,CSH,20 +VTS,1,1,360,1.12,CRD,6 +VTS,1,1,420,1.51,CRD,7 +VTS,1,1,660,2.02,CRD,9 +VTS,1,1,360,2.26,CSH,8.5 +VTS,1,1,660,1.74,CSH,9 +VTS,1,1,900,4.64,CRD,15.5 +VTS,1,1,120,0.43,CSH,3.5 +VTS,1,1,780,1.94,CSH,9.5 +VTS,1,1,120,0.65,CRD,4 +VTS,1,1,480,1.63,CRD,7.5 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,1,600,1.79,CRD,9 +VTS,1,1,720,2.75,CRD,11 +VTS,1,1,420,0.67,CRD,6 +VTS,1,1,660,2.58,CSH,10.5 +VTS,1,1,600,2.21,CRD,9.5 +VTS,1,1,360,2.02,CSH,7.5 +VTS,1,1,540,2.06,CRD,9 +VTS,1,1,420,1.49,CRD,7 +VTS,1,1,480,1.13,CRD,7.5 +VTS,1,1,1080,10.3,CRD,30 +VTS,1,1,660,2.63,CRD,10.5 +VTS,1,1,900,4.51,CSH,15.5 +VTS,1,1,840,7.69,CRD,22.5 +VTS,1,1,420,0.85,CRD,6 +VTS,1,1,60,0.43,CSH,3.5 +VTS,1,1,360,1.12,CRD,6.5 +VTS,1,1,480,1.57,CRD,7.5 +VTS,1,1,240,0.46,CRD,4 +VTS,1,1,480,0.73,CSH,6 +VTS,1,1,360,0.85,CRD,5.5 +VTS,1,1,480,1.94,CSH,8 +VTS,1,1,300,1.15,CSH,6 +VTS,1,1,240,0.43,CSH,4.5 +VTS,1,1,900,6.34,CRD,19 +VTS,1,1,600,0.91,CRD,7 +VTS,1,1,1560,7.18,CSH,23 +VTS,1,1,360,1.5,CRD,7 +VTS,1,1,360,1.74,CSH,7 +VTS,1,1,300,0.61,CRD,5 +VTS,1,1,720,3.92,CSH,13 +VTS,1,1,1020,5.72,CRD,19.5 +VTS,1,1,1620,6.99,CRD,23.5 +VTS,1,1,780,3.65,CSH,13 +VTS,1,1,420,0.82,CRD,6 +VTS,1,1,480,1.64,CSH,7.5 +VTS,1,1,360,0.9,CSH,5.5 +VTS,1,1,300,1.08,CSH,6 +VTS,1,1,1560,9.07,CSH,27.5 +VTS,1,1,660,2.41,CRD,10.5 +VTS,1,1,660,1.99,CRD,9.5 +VTS,1,1,360,1.03,CRD,6 +VTS,1,1,180,0.41,CRD,4 +VTS,1,1,660,1.29,CSH,8.5 +VTS,1,1,1380,3.33,CSH,16 +VTS,1,1,600,1.42,CSH,8 +VTS,1,1,360,2.39,CRD,8.5 +VTS,1,1,1080,5.63,CSH,18.5 +VTS,1,1,360,1.39,CRD,6.5 +VTS,1,1,540,1.41,CSH,7.5 +VTS,1,1,1140,2.4,CRD,13.5 +VTS,1,1,720,1.84,CSH,9.5 +VTS,1,1,1080,2.6,CSH,13 +VTS,1,1,600,1.64,CRD,8.5 +VTS,1,1,900,2.72,CRD,12 +VTS,1,1,660,1.12,CSH,8 +VTS,1,1,360,0.55,CSH,5.5 +VTS,1,1,1200,4.26,CRD,17.5 +VTS,1,1,660,1.17,CSH,8 +VTS,1,1,300,0.83,CSH,5.5 +VTS,1,1,240,0.99,CSH,5.5 +VTS,1,1,720,2.14,CRD,10 +VTS,1,1,480,1.1,CSH,7 +VTS,1,1,300,0.52,CRD,4.5 +VTS,1,1,660,2.14,CSH,10 +VTS,1,1,540,2.09,CRD,9.5 +VTS,1,1,840,5.52,CRD,18 +VTS,1,1,660,2.03,CSH,9.5 +VTS,1,1,960,5.98,CRD,19 +VTS,1,1,720,4.16,CSH,13.5 +VTS,1,1,960,4.62,CRD,15.5 +VTS,1,1,960,5.02,CRD,17 +VTS,1,1,1260,5.68,CSH,19.5 +VTS,1,1,180,0.68,CRD,4 +VTS,1,1,300,0.93,CSH,5.5 +VTS,1,1,1200,5.73,CRD,19 +VTS,1,1,420,1.17,CSH,6 +VTS,1,1,960,3.51,CSH,14.5 +VTS,1,1,1020,5.05,CRD,17 +VTS,1,1,600,2.9,CRD,10.5 +VTS,1,1,840,7.29,CRD,21 +VTS,1,1,420,0.89,CRD,6 +VTS,1,1,420,1.08,CRD,7 +VTS,1,1,780,7.44,CSH,22 +VTS,5,1,0,0,CRD,105 +VTS,1,1,420,1.39,CRD,7 +VTS,1,1,600,1.45,CSH,8 +VTS,1,1,720,1.69,CRD,9 +VTS,1,1,420,2.46,CRD,9 +VTS,1,1,180,0.31,CRD,4 +VTS,1,1,360,1.43,CRD,6.5 +VTS,1,1,180,0.62,CRD,4.5 +VTS,1,1,900,2.24,CSH,11.5 +VTS,1,1,360,1.21,CSH,6.5 +VTS,1,1,840,1.89,CRD,10.5 +VTS,1,1,840,1.62,CSH,10 +VTS,1,1,420,0.72,CRD,6 +VTS,1,1,780,1.51,CRD,9.5 +VTS,1,1,600,1.49,CRD,8.5 +VTS,1,2,1140,3.12,CSH,15 +VTS,3,5,0,0,CSH,20 +VTS,1,1,960,3.53,CSH,14 +VTS,1,1,360,1.02,CSH,5.5 +VTS,1,1,300,1,CRD,5.5 +VTS,1,1,2340,9.97,CRD,34 +VTS,1,1,600,2.87,CSH,10.5 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,1,1380,5.08,CSH,19 +VTS,1,1,300,0.94,CSH,5.5 +VTS,1,1,840,2.95,CRD,12.5 +VTS,1,1,480,1.33,CSH,7 +VTS,1,1,540,1.77,CSH,8 +VTS,1,1,1260,6.85,CRD,23 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,540,1.22,CSH,7.5 +VTS,1,1,1260,6.34,CRD,21.5 +VTS,1,1,1020,3.14,CSH,13.5 +VTS,1,1,480,2.26,CSH,8.5 +VTS,1,1,120,0.5,CSH,3.5 +VTS,1,1,1080,5.16,CRD,17.5 +VTS,1,1,300,0.77,CSH,5 +VTS,1,1,840,4.28,CRD,14.5 +VTS,1,1,1200,6.75,CRD,21.5 +VTS,1,1,3720,18.32,CRD,54.5 +VTS,1,1,840,2.35,CRD,11.5 +VTS,1,1,720,3.59,CRD,12.5 +VTS,1,1,900,1.41,CRD,10 +VTS,1,1,660,2.71,CRD,10.5 +VTS,1,1,840,2.54,CRD,12.5 +VTS,1,1,660,3.25,CRD,11.5 +VTS,1,1,480,1.81,CSH,8 +VTS,1,1,300,1.07,CRD,6 +VTS,1,1,360,1.4,CRD,6.5 +VTS,1,1,1140,3.91,CRD,15.5 +VTS,1,1,540,1.2,CSH,7.5 +VTS,1,1,1200,7.96,CRD,23 +VTS,1,1,840,2.28,CRD,10.5 +VTS,1,1,1020,4.78,CSH,16.5 +VTS,1,1,600,2.06,CRD,9 +VTS,1,1,360,1.25,CRD,6.5 +VTS,1,1,60,0.56,CRD,3.5 +VTS,1,1,300,1.32,CSH,6 +VTS,1,1,1500,14.11,CRD,39 +VTS,1,1,120,0.31,CSH,3 +VTS,1,1,660,2.49,CSH,11 +VTS,1,1,600,1.76,CRD,8.5 +VTS,1,1,420,1.74,CSH,8 +VTS,1,1,300,1.34,CRD,6 +VTS,1,1,720,1.94,CSH,10 +VTS,1,1,540,1.7,CRD,8.5 +VTS,1,1,420,1.66,CSH,7.5 +VTS,1,1,1020,3.59,CRD,14.5 +VTS,1,1,360,1.3,CRD,6 +VTS,1,1,720,3.59,CRD,13 +VTS,1,1,1320,5.52,CRD,20.5 +VTS,1,1,1320,3.04,CRD,15.5 +VTS,2,1,1740,18.07,CSH,52 +VTS,1,1,120,0.47,CSH,4 +VTS,1,1,600,3.21,CSH,11.5 +VTS,1,1,1020,2.89,CRD,13 +VTS,1,1,840,2.78,CRD,11 +VTS,1,1,180,0.47,CRD,4 +VTS,1,1,360,0.96,CRD,6 +VTS,1,1,480,1.09,CSH,6.5 +VTS,1,1,120,0.52,CRD,3.5 +VTS,1,1,1200,4.53,CRD,17 +VTS,1,1,1020,3.71,CRD,14 +VTS,1,1,900,3.9,CRD,14 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,420,1.28,CRD,6.5 +VTS,1,1,1200,4.44,CRD,16.5 +VTS,1,1,1200,5.51,CRD,19 +VTS,1,1,600,1.39,CRD,7.5 +VTS,1,1,300,0.71,CRD,5 +VTS,1,1,360,1.51,CSH,6.5 +VTS,1,1,540,1.93,CSH,8 +VTS,1,1,1140,5.75,CSH,19.5 +VTS,1,1,600,2.05,CSH,9 +VTS,1,1,360,1.16,CRD,6.5 +VTS,1,1,600,1.59,CRD,8.5 +VTS,1,1,420,1.2,CRD,6 +VTS,1,1,600,1.87,CSH,8.5 +VTS,1,1,300,0.62,CRD,5.5 +VTS,1,1,900,2.19,CSH,11.5 +VTS,1,1,720,3.74,CSH,13 +VTS,1,1,960,4.25,CRD,15.5 +VTS,1,1,300,0.65,CSH,5 +VTS,1,1,1080,4.78,CSH,16.5 +VTS,1,1,300,1.09,CRD,6 +VTS,1,1,660,4.5,CSH,14 +VTS,1,2,420,1.44,CSH,7 +VTS,1,1,480,4.08,CRD,13.5 +VTS,1,1,660,3.62,CRD,12.5 +VTS,1,1,720,1.92,CRD,10 +VTS,1,1,840,2.64,CRD,11 +VTS,1,1,600,4.08,CSH,13.5 +VTS,1,1,1500,7.2,CSH,24 +VTS,1,1,960,3.49,CRD,14.5 +VTS,1,1,600,5.71,CRD,17 +VTS,1,1,300,1.26,CSH,6.5 +VTS,1,1,660,1.44,CRD,8.5 +VTS,1,1,240,0.9,CRD,5 +VTS,1,1,540,1.98,CSH,8.5 +VTS,1,1,480,1.93,CRD,8 +VTS,1,1,420,1.04,CRD,6.5 +VTS,1,1,600,1.22,CRD,8 +VTS,1,1,360,1.1,CRD,6 +VTS,1,1,180,0.56,CSH,4.5 +VTS,2,1,1920,20,CSH,52 +VTS,1,1,180,0.59,CSH,4 +VTS,1,1,1080,4.74,CSH,17 +VTS,1,1,60,0.01,CSH,2.5 +VTS,1,1,180,0.56,CSH,4 +VTS,1,1,420,1.88,CRD,7.5 +VTS,1,1,1020,4.86,CRD,16.5 +VTS,1,1,420,1.36,CRD,6.5 +VTS,1,1,660,2.83,CRD,11 +VTS,1,1,900,5.67,CRD,17 +VTS,1,1,420,1.65,CSH,7.5 +VTS,1,1,720,1.72,CRD,9.5 +VTS,1,1,660,3.22,CRD,11.5 +VTS,1,1,180,1.07,CSH,5 +VTS,1,1,600,2.94,CRD,11 +VTS,1,1,300,1.8,CSH,7 +VTS,1,1,300,0.54,CRD,4.5 +VTS,1,1,1200,5.01,CRD,18 +VTS,1,1,720,3.49,CRD,13 +VTS,1,1,720,1.71,CRD,9.5 +VTS,1,1,900,1.65,CRD,10.5 +VTS,1,1,180,0.59,CSH,4.5 +VTS,1,1,420,1.08,CSH,6.5 +VTS,1,1,480,2.12,CRD,9 +VTS,1,1,600,1.7,CRD,9.5 +VTS,1,1,1140,5.78,CRD,20 +VTS,1,1,360,1.43,CSH,7 +VTS,1,1,240,1.07,CRD,5.5 +VTS,1,1,780,3.18,CRD,12 +VTS,1,1,480,2.47,CRD,9 +VTS,1,1,240,0.75,CRD,4.5 +VTS,1,1,300,1.58,CRD,6.5 +VTS,1,1,300,1.36,CRD,6 +VTS,1,1,300,1.54,CRD,6.5 +VTS,1,1,480,1.74,CRD,8 +VTS,1,1,960,4.14,CRD,15.5 +VTS,1,1,300,2.48,CRD,8.5 +VTS,1,1,1440,12.48,CRD,36 +VTS,1,1,780,1.86,CRD,10 +VTS,1,1,540,1.41,CSH,7.5 +VTS,1,1,540,1.89,CRD,8.5 +VTS,1,1,180,0.48,CRD,4 +VTS,1,1,240,1.07,CRD,5.5 +VTS,1,1,180,0.59,CSH,4.5 +VTS,1,1,780,2.7,CSH,11.5 +VTS,1,1,720,1.9,CRD,9.5 +VTS,1,1,1080,3.76,CRD,15 +VTS,1,1,780,3.18,CRD,12.5 +VTS,1,1,900,3.55,CSH,14 +VTS,1,1,420,2.34,CSH,9 +VTS,1,1,420,0.86,CSH,6 +VTS,1,1,480,1.33,CSH,7 +VTS,1,1,360,1.56,CSH,6.5 +VTS,1,1,300,1.66,CRD,7 +VTS,1,1,420,1.38,CSH,6.5 +VTS,1,1,780,1.58,CRD,9.5 +VTS,1,1,120,0.34,CRD,3.5 +VTS,1,1,600,2.16,CRD,9 +VTS,1,1,1500,3.76,CSH,17 +VTS,1,1,1260,2.53,CSH,14 +VTS,1,1,1080,9.18,CSH,27 +VTS,1,1,540,3.61,CRD,12.5 +VTS,1,1,480,1.56,CSH,7.5 +VTS,1,1,180,0.81,CRD,4.5 +VTS,1,1,780,1.99,CRD,10 +VTS,1,1,180,0.61,CSH,4 +VTS,1,1,360,0.66,CRD,5.5 +VTS,1,1,1140,3.68,CSH,15 +VTS,1,1,1080,3.63,CSH,15 +VTS,1,1,360,1.01,CRD,6 +VTS,1,1,480,1.14,CSH,7 +VTS,1,1,300,1.08,CRD,5.5 +VTS,1,1,420,1.59,CRD,7 +VTS,1,1,180,0.86,CSH,4.5 +VTS,1,1,420,1.01,CRD,6.5 +VTS,1,1,420,1.99,CRD,8 +VTS,1,1,480,1.81,CRD,8 +VTS,1,1,840,2.76,CSH,11.5 +VTS,1,1,360,0.64,CSH,5.5 +VTS,1,1,120,0.44,CSH,3.5 +VTS,1,1,480,2.17,CRD,8.5 +VTS,1,1,660,3.03,CRD,11.5 +VTS,1,1,180,0.57,CSH,4 +VTS,1,1,180,0.67,CRD,4.5 +VTS,1,1,840,3.04,CRD,12 +VTS,1,1,660,2.7,CRD,10.5 +VTS,1,1,300,1.14,CSH,5.5 +VTS,1,1,1140,8.38,CRD,25.5 +VTS,1,1,420,1.82,CSH,7.5 +VTS,1,1,540,1.21,CSH,7.5 +VTS,1,1,660,1.5,CRD,8.5 +VTS,1,1,840,1.54,CRD,10 +VTS,1,1,360,1.12,CRD,6 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,1,1260,5.19,CRD,18 +VTS,1,1,1200,8.67,CRD,26 +VTS,1,1,780,3,CSH,11.5 +VTS,1,1,1320,6.27,CRD,21.5 +VTS,1,1,360,1.74,CSH,7.5 +VTS,1,1,720,2.39,CRD,10 +VTS,1,1,1140,6.56,CRD,21.5 +VTS,1,1,1200,5.61,CRD,19 +VTS,1,1,1320,4.24,CRD,17.5 +VTS,1,1,360,0.8,CSH,5.5 +VTS,1,1,480,1.89,CRD,8 +VTS,1,1,600,1.85,CSH,8.5 +VTS,1,1,540,2.03,CRD,9 +VTS,1,1,660,1.04,CRD,8 +VTS,1,1,840,2.78,CRD,12 +VTS,1,1,240,0.92,CSH,5.5 +VTS,1,1,1140,10.64,CRD,29.5 +VTS,1,1,540,2.5,CRD,9.5 +VTS,1,1,540,3.07,CRD,10 +VTS,1,1,960,4.62,CSH,15.5 +VTS,1,1,480,1.34,CRD,7.5 +VTS,1,1,120,0.51,CSH,4 +VTS,1,1,840,2.41,CSH,11.5 +VTS,1,1,420,0.89,CRD,6 +VTS,1,1,540,1.9,CSH,8.5 +VTS,1,1,960,7.05,CRD,21.5 +VTS,1,1,1440,14.16,CSH,39 +VTS,1,1,360,1.14,CRD,6 +VTS,2,2,1440,17.99,CRD,52 +VTS,1,1,480,2.92,CRD,10 +VTS,5,1,1200,6.13,CRD,60 +VTS,1,1,960,2.95,CRD,12.5 +VTS,1,1,780,3.24,CSH,12 +VTS,1,1,780,2.34,CSH,11 +VTS,1,1,1320,8.01,CRD,25.5 +VTS,1,1,660,2.74,CRD,11 +VTS,1,1,480,1.23,CSH,7 +VTS,1,1,720,3.4,CRD,12.5 +VTS,1,1,360,1.87,CRD,7.5 +VTS,1,1,600,2.04,CSH,9.5 +VTS,1,1,1440,14.72,CRD,40.5 +VTS,1,1,180,0.77,CRD,5 +VTS,1,1,1500,9.09,CRD,28 +VTS,1,2,240,1.1,CRD,5.5 +VTS,1,1,960,2.83,CRD,12.5 +VTS,1,2,960,4.75,CRD,16 +VTS,1,1,1200,5.45,CRD,20 +VTS,1,1,780,2.73,CRD,11.5 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,780,2.43,CSH,11.5 +VTS,1,1,300,1.68,CRD,7.5 +VTS,1,1,600,2.57,CSH,10.5 +VTS,1,1,660,1.6,CRD,9 +VTS,1,1,480,1.81,CRD,8 +VTS,1,1,1140,5.96,CSH,19.5 +VTS,1,1,180,0.83,CRD,5 +VTS,1,1,660,1.16,CSH,8 +VTS,1,1,780,1.68,CRD,9.5 +VTS,1,1,1200,3.79,CRD,16 +VTS,1,1,540,0.86,CRD,7 +VTS,1,1,540,1.72,CSH,8 +VTS,1,1,840,2.09,CRD,10 +VTS,1,1,480,1.54,CRD,7.5 +VTS,1,1,1440,5.89,CRD,20.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,420,0.76,CRD,6 +VTS,1,1,420,1.11,CRD,6.5 +VTS,1,1,420,0.97,CRD,6.5 +VTS,1,1,360,1.5,CSH,6.5 +VTS,1,1,660,2.07,CSH,9.5 +VTS,1,1,360,1.51,CRD,6.5 +VTS,1,1,660,1.85,CRD,9.5 +VTS,1,1,1020,4.69,CRD,16 +VTS,1,2,300,0.89,CSH,5.5 +VTS,1,2,420,1.1,CRD,6.5 +VTS,1,1,240,0.7,CRD,5 +VTS,1,1,420,1.63,CRD,8 +VTS,1,1,480,2.23,CRD,9 +VTS,1,1,540,1.84,CRD,8.5 +VTS,1,1,840,4.61,CSH,15 +VTS,1,2,1020,2.27,CSH,12.5 +VTS,1,2,1200,3.83,CRD,15.5 +VTS,1,1,600,1.22,CRD,8 +VTS,1,1,420,1.17,CSH,7 +VTS,1,1,660,3.63,CSH,12.5 +VTS,1,1,240,1.28,CSH,6 +VTS,1,1,540,0.98,CSH,7 +VTS,1,1,240,1.09,CSH,6 +VTS,1,1,2340,7.69,CSH,29 +VTS,1,1,600,2.59,CRD,10.5 +VTS,1,1,180,0.36,CSH,4 +VTS,1,1,420,1.49,CRD,7 +VTS,1,1,780,3.76,CRD,14 +VTS,1,1,600,7.84,CSH,22 +VTS,1,1,480,1.93,CRD,9 +VTS,1,1,540,2.02,CSH,9 +VTS,1,1,240,1.26,CSH,6.5 +VTS,1,1,1620,12.07,CRD,36.5 +VTS,1,1,720,5.97,CRD,18 +VTS,1,1,660,2.62,CRD,10.5 +VTS,1,1,300,1.22,CSH,6 +VTS,1,1,240,0.95,CRD,5 +VTS,1,1,240,0.79,CSH,5 +VTS,1,1,600,4.18,CRD,14.5 +VTS,1,1,780,3.62,CRD,13.5 +VTS,1,1,600,2.58,CSH,9.5 +VTS,1,1,300,1.38,CRD,6 +VTS,1,1,180,0.83,CRD,4.5 +VTS,1,1,420,1.32,CSH,7 +VTS,1,1,1620,5.12,CRD,20.5 +VTS,1,1,1140,4.74,CRD,16.5 +VTS,1,1,600,1.73,CSH,8 +VTS,1,1,960,1.87,CRD,11 +VTS,1,1,780,3.58,CRD,12.5 +VTS,1,1,600,1.18,CRD,8 +VTS,1,1,240,0.74,CRD,4.5 +VTS,1,1,600,1.74,CRD,9 +VTS,1,1,720,2.16,CRD,10.5 +VTS,1,1,8040,51.72,CSH,158.5 +VTS,1,1,300,1.69,CRD,6.5 +VTS,1,1,360,1.29,CSH,6.5 +VTS,1,1,360,1.25,CRD,6 +VTS,1,1,360,0.79,CRD,5.5 +VTS,1,1,540,1.35,CRD,8 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,600,2.03,CSH,9.5 +VTS,1,1,1320,3.73,CRD,17 +VTS,1,1,240,1.23,CSH,5.5 +VTS,1,1,540,1.97,CSH,8.5 +VTS,1,1,720,2.36,CRD,11 +VTS,1,1,600,1.55,CSH,8 +VTS,1,1,600,1.22,CSH,8 +VTS,1,1,900,3.25,CRD,13.5 +VTS,1,1,480,2.2,CRD,9 +VTS,1,1,240,0.45,CRD,4.5 +VTS,1,1,840,5.68,CRD,19 +VTS,1,1,180,0.85,CSH,5 +VTS,1,1,300,1.18,CSH,6 +VTS,1,1,240,0.57,CSH,5 +VTS,1,1,360,1.5,CRD,7 +VTS,1,1,780,1.39,CSH,9.5 +VTS,1,1,1440,4.85,CRD,19 +VTS,1,1,660,3.37,CSH,12 +VTS,1,1,360,2.23,CSH,8.5 +VTS,1,1,420,0.54,CSH,5.5 +VTS,1,1,1320,4.74,CRD,19 +VTS,1,1,480,1.83,CRD,8 +VTS,1,1,300,0.58,CRD,5 +VTS,1,1,720,4.23,CRD,14.5 +VTS,1,1,240,0.83,CRD,5.5 +VTS,1,1,540,1.42,CRD,7.5 +VTS,1,1,780,1.9,CRD,10 +VTS,1,1,1440,4.53,CRD,18 +VTS,1,1,600,1.79,CRD,9 +VTS,1,1,480,1.17,CSH,7.5 +VTS,1,1,1320,10.03,CRD,29 +VTS,1,1,360,0.92,CSH,6 +VTS,1,1,480,1.47,CSH,7 +VTS,1,1,1200,9.16,CRD,27.5 +VTS,1,1,1320,4.74,CRD,18.5 +VTS,1,1,600,3.21,CRD,11.5 +VTS,1,1,660,6.44,CRD,19 +VTS,1,1,240,1.12,CRD,6 +VTS,1,1,480,1.3,CRD,7.5 +VTS,1,1,1200,8.58,CRD,26 +VTS,1,1,660,1.54,CRD,9 +VTS,1,1,660,2.35,CSH,10.5 +VTS,1,1,2100,6.2,CSH,28 +VTS,1,1,240,0.79,CRD,4.5 +VTS,1,1,420,1.4,CRD,7.5 +VTS,1,1,240,1.09,CSH,5.5 +VTS,1,1,180,0.45,CRD,4 +VTS,1,1,360,1.78,CSH,8 +VTS,1,1,240,0.81,CSH,5 +VTS,1,1,120,0.71,CSH,4 +VTS,1,1,840,4.51,CSH,16 +VTS,1,1,600,2.74,CSH,10.5 +VTS,1,1,420,1.38,CSH,6.5 +VTS,1,1,360,2.06,CSH,8 +VTS,1,1,180,0.72,CSH,4.5 +VTS,1,1,2280,12.02,CRD,39 +VTS,1,1,360,0.98,CRD,6 +VTS,1,1,600,1.93,CSH,9 +VTS,1,1,540,1.44,CRD,7.5 +VTS,1,1,1020,4.07,CSH,16 +VTS,1,1,420,1.92,CRD,8.5 +VTS,1,1,1140,4.7,CSH,17 +VTS,1,1,1380,3.25,CRD,16 +VTS,1,1,300,1.15,CSH,6 +VTS,1,1,300,1.85,CRD,7.5 +VTS,1,1,240,1.21,CSH,6 +VTS,1,1,180,1.22,CSH,5.5 +VTS,1,1,900,4.25,CRD,16 +VTS,1,1,1080,8.72,CSH,26 +VTS,1,1,180,0.75,CSH,4.5 +VTS,1,1,1200,8.21,CSH,25 +VTS,1,1,1020,6.06,CSH,19.5 +VTS,1,1,480,1.19,CRD,7.5 +VTS,1,1,780,2.05,CRD,11 +VTS,1,1,240,0.8,CRD,5 +VTS,1,1,1800,7.58,CSH,27 +VTS,1,1,600,4.1,CSH,14 +VTS,1,1,240,1.44,CRD,6 +VTS,1,1,1320,9.41,CRD,28.5 +VTS,1,1,420,1.48,CSH,7.5 +VTS,1,1,240,1.15,CSH,5.5 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,1,1020,1.39,CRD,11.5 +VTS,1,1,720,1.96,CSH,10 +VTS,1,1,360,1.3,CRD,7 +VTS,1,1,660,2.68,CRD,10.5 +VTS,1,1,1080,2.35,CSH,13 +VTS,1,1,60,0.02,CSH,2.5 +VTS,1,1,360,1.32,CRD,7 +VTS,1,1,480,2.16,CRD,9 +VTS,1,1,540,0.56,CRD,7 +VTS,1,1,1320,4.92,CSH,19 +VTS,1,1,420,4.37,CSH,13.5 +VTS,1,1,840,4.14,CRD,15.5 +VTS,1,1,1380,9.82,CSH,31 +VTS,1,1,480,1.39,CRD,7.5 +VTS,1,1,900,3.9,CRD,14 +VTS,1,1,180,0.62,CSH,4.5 +VTS,1,1,660,5.31,CRD,17.5 +VTS,1,1,1320,7.21,CRD,24.5 +VTS,1,1,120,0.7,CSH,4 +VTS,1,1,240,0.7,CRD,5 +VTS,1,1,120,0.51,CSH,4 +VTS,1,1,780,4.41,CRD,15 +VTS,1,1,420,1.59,CSH,7.5 +VTS,1,1,300,1.08,CRD,6.5 +VTS,1,1,300,0.81,CSH,5.5 +VTS,1,1,360,1.56,CRD,7.5 +VTS,1,1,660,2.7,CSH,10.5 +VTS,1,1,780,3.29,CSH,13 +VTS,1,1,480,2.94,CRD,10.5 +VTS,1,1,840,4.22,CRD,14.5 +VTS,1,1,960,4.54,CSH,16.5 +VTS,1,1,600,2.71,CRD,10.5 +VTS,1,1,120,0.49,CSH,3.5 +VTS,1,1,420,2.39,CSH,8.5 +VTS,1,1,480,2,CSH,8.5 +VTS,1,1,720,3.9,CSH,14 +VTS,1,1,480,2.39,CRD,9 +VTS,1,1,600,2.36,CRD,10 +VTS,1,1,540,1.12,CRD,7.5 +VTS,1,1,1980,5.86,CSH,26 +VTS,1,1,660,2.15,CRD,10 +VTS,1,1,600,3.56,CRD,13 +VTS,1,1,1020,3.41,CSH,14.5 +VTS,1,1,300,1.49,CSH,7 +VTS,1,1,240,1.87,CSH,7.5 +VTS,1,1,360,1.77,CRD,8 +VTS,1,1,660,2.04,CRD,9.5 +VTS,1,1,660,3.11,CRD,11.5 +VTS,1,1,720,2.7,CSH,11.5 +VTS,1,1,420,2.17,CRD,8.5 +VTS,1,1,120,0.68,CSH,4 +VTS,1,1,240,0.99,CRD,5.5 +VTS,1,1,480,0.94,CSH,7 +VTS,1,1,840,8.39,CRD,24.5 +VTS,1,1,900,1.94,CSH,11 +VTS,1,1,1740,10.21,CRD,32.5 +VTS,1,1,420,1.23,CRD,6.5 +VTS,1,1,540,1.27,CRD,8 +VTS,1,1,480,1.69,CRD,8 +VTS,1,1,600,2.2,CSH,9.5 +VTS,1,1,1200,7.13,CSH,22 +VTS,1,1,720,3.1,CRD,12.5 +VTS,1,1,1440,7.08,CRD,23.5 +VTS,1,1,360,0.79,CSH,5.5 +VTS,1,1,1140,4.93,CRD,17.5 +VTS,1,1,540,1.66,CSH,8.5 +VTS,1,1,600,2.62,CSH,10.5 +VTS,1,1,240,1.27,CSH,6 +VTS,1,1,720,0.93,CRD,8.5 +VTS,1,1,180,0.66,CRD,4.5 +VTS,1,1,1740,5.41,CRD,22.5 +VTS,1,1,420,1.74,CSH,8 +VTS,1,2,540,1.76,CSH,8.5 +VTS,1,1,300,0.47,CSH,5 +VTS,1,2,420,0.54,CRD,6 +VTS,1,1,540,1.57,CRD,8 +VTS,1,2,240,0.82,CSH,5 +VTS,1,1,420,1.9,CSH,8.5 +VTS,1,2,240,1.09,CRD,5.5 +VTS,1,1,240,0.91,CSH,5.5 +VTS,1,1,420,1.79,CRD,8 +VTS,1,1,1020,10.19,CRD,29 +VTS,1,1,1740,10.57,CRD,33.5 +VTS,1,1,240,0.66,CRD,4.5 +VTS,1,1,1020,9.22,CRD,26 +VTS,1,1,240,0.93,CSH,5 +VTS,1,1,2100,10.31,CSH,33 +VTS,1,1,1140,1.41,CSH,12.5 +VTS,1,1,240,0.96,CSH,5 +VTS,1,1,300,1.09,CSH,5.5 +VTS,1,1,1140,6.47,CSH,21.5 +VTS,1,1,2340,5.8,CRD,30 +VTS,1,1,1200,4.13,CRD,17 +VTS,1,1,60,0.22,CRD,3 +VTS,1,1,660,1.9,CSH,9 +VTS,1,1,480,2.89,CSH,10.5 +VTS,1,1,120,0.77,CRD,4.5 +VTS,1,1,1020,9.01,CSH,26.5 +VTS,1,1,1320,5.52,CRD,20 +VTS,1,1,420,0.69,CSH,6.5 +VTS,1,1,240,1.37,CRD,6 +VTS,1,2,300,1.19,CSH,6 +VTS,1,1,120,0.69,CRD,4 +VTS,1,2,720,2.18,CSH,10.5 +VTS,1,2,480,1.78,CRD,8 +VTS,1,1,600,1.91,CSH,8.5 +VTS,1,1,600,1.88,CRD,8.5 +VTS,1,1,600,3.61,CSH,11.5 +VTS,1,1,720,3.12,CSH,11.5 +VTS,1,1,960,3.27,CSH,13 +VTS,1,1,180,0.63,CRD,4 +VTS,1,1,900,3.67,CRD,14 +VTS,1,1,420,1.88,CRD,7.5 +VTS,1,1,480,1.87,CRD,8 +VTS,1,1,660,2.48,CRD,10.5 +VTS,1,1,300,0.65,CSH,4.5 +VTS,1,1,900,2.85,CRD,12 +VTS,1,1,360,1.26,CSH,6 +VTS,1,1,180,0.83,CRD,5 +VTS,1,1,420,0.78,CSH,6 +VTS,1,1,960,0.86,CSH,10 +VTS,1,1,900,3.08,CSH,12 +VTS,1,1,720,1.28,CSH,9 +VTS,1,1,420,0.9,CRD,6 +VTS,1,1,540,2.73,CSH,10 +VTS,1,1,540,1.82,CSH,8 +VTS,1,1,1920,8.33,CSH,28.5 +VTS,1,1,780,2.2,CRD,11 +VTS,1,1,1080,2.53,CSH,13 +VTS,1,1,600,1.42,CRD,8 +VTS,1,1,780,2.26,CSH,10.5 +VTS,1,1,840,2.84,CSH,12.5 +VTS,1,1,780,2.55,CSH,11.5 +VTS,1,1,660,1.78,CRD,9.5 +VTS,1,1,480,2.3,CRD,9 +VTS,1,1,1020,2.75,CRD,14 +VTS,1,1,300,0.85,CSH,5.5 +VTS,1,1,1260,4.67,CSH,19 +VTS,1,1,180,0.46,CSH,4 +VTS,1,1,1020,3.03,CRD,13.5 +VTS,1,1,360,1.62,CSH,7.5 +VTS,1,1,1080,10.12,CSH,28.5 +VTS,1,1,420,1.43,CRD,7.5 +VTS,1,1,780,3.17,CRD,12.5 +VTS,1,1,240,1.47,CRD,6 +VTS,1,1,420,1.33,CSH,7 +VTS,1,1,420,1.53,CSH,7.5 +VTS,1,1,600,3.05,CSH,11.5 +VTS,1,1,660,1.62,CRD,9 +VTS,1,1,240,0.76,CRD,5 +VTS,1,1,120,0.58,CSH,4 +VTS,1,1,420,1.19,CSH,7 +VTS,1,1,720,2.33,CRD,11 +VTS,1,1,240,1.1,CRD,5.5 +VTS,1,1,720,2.64,CRD,11 +VTS,1,1,660,2.16,CRD,10 +VTS,1,1,120,0.4,CSH,4 +VTS,1,1,960,5.46,CSH,18 +VTS,1,1,420,1.53,CRD,7 +VTS,1,1,1020,5.94,CRD,19 +VTS,1,1,720,3.09,CRD,11.5 +VTS,1,1,600,3.46,CSH,12 +VTS,1,1,120,0.44,CRD,3.5 +VTS,1,1,780,5.68,CRD,18 +VTS,1,1,180,1.06,CSH,5 +VTS,1,1,840,4.24,CRD,15.5 +VTS,1,1,360,1.07,CSH,6 +VTS,1,1,240,1.19,CRD,6 +VTS,1,1,240,1.22,CRD,6 +VTS,1,1,600,1.55,CRD,8 +VTS,1,1,960,8.12,CRD,24.5 +VTS,1,1,240,1.19,CRD,6 +VTS,1,1,540,2.37,CRD,9.5 +VTS,1,1,600,2.46,CRD,10.5 +VTS,1,1,660,3.82,CRD,14 +VTS,1,1,600,2.42,CRD,10 +VTS,1,1,180,0.7,CRD,4.5 +VTS,1,1,600,1.58,CRD,8.5 +VTS,1,1,900,5.87,CSH,17.5 +VTS,1,1,780,3.09,CRD,12.5 +VTS,1,1,840,4.45,CRD,15 +VTS,1,1,840,5.06,CSH,17.5 +VTS,1,1,360,1.16,CRD,6.5 +VTS,1,2,1080,10.17,CSH,29 +VTS,1,2,360,0.89,CRD,5.5 +VTS,1,2,1260,3.17,CSH,15.5 +VTS,1,1,1020,2.03,CSH,12 +VTS,1,2,1020,2.87,CSH,13 +VTS,1,1,1140,4.55,CRD,17 +VTS,1,1,660,4.55,CSH,15 +VTS,1,2,1320,7.06,CRD,24 +VTS,1,1,840,3.84,CSH,14.5 +VTS,1,2,420,0.98,CSH,6.5 +VTS,1,2,360,0.74,CSH,6 +VTS,1,2,540,1.79,CRD,8.5 +VTS,1,1,660,2.57,CRD,10.5 +VTS,1,1,240,0.88,CSH,5 +VTS,1,1,480,1.49,CSH,8 +VTS,1,2,300,0.94,CSH,6 +VTS,1,2,960,3.01,CRD,13 +VTS,1,2,1020,2.56,CRD,13 +VTS,1,2,840,1.41,CSH,10.5 +VTS,1,2,960,1.91,CRD,11.5 +VTS,1,2,600,1.28,CRD,8 +VTS,1,1,1440,9.88,CSH,29.5 +VTS,1,1,420,0.74,CRD,6.5 +VTS,1,1,600,1.38,CRD,8 +VTS,1,2,600,1.78,CSH,9 +VTS,1,2,2100,10.31,CRD,35.5 +VTS,1,2,300,2.43,CRD,8.5 +VTS,1,2,480,2.39,CRD,9.5 +VTS,1,1,1980,12.87,CRD,39 +VTS,1,2,1260,5.93,CRD,22 +VTS,1,2,300,0.69,CRD,5 +VTS,1,2,360,0.73,CSH,6 +VTS,1,1,180,0.52,CSH,4 +VTS,1,1,120,0.53,CSH,4 +VTS,1,1,360,0.83,CSH,5.5 +VTS,1,2,480,0.77,CSH,6.5 +VTS,1,2,720,2.33,CSH,11 +VTS,1,1,120,0.33,CSH,3.5 +VTS,1,1,240,1.25,CSH,6 +VTS,1,1,1140,10.66,CSH,31 +VTS,1,2,1680,12.57,CRD,36.5 +VTS,1,2,660,2.33,CRD,10.5 +VTS,1,2,480,1.68,CRD,8 +VTS,1,2,1080,11.13,CRD,31 +VTS,1,1,600,1.82,CSH,8.5 +VTS,1,1,360,0.93,CSH,6 +VTS,1,1,720,1.25,CRD,9 +VTS,1,2,900,4.55,CRD,16 +VTS,1,2,480,1.4,CSH,7 +VTS,1,2,660,1.27,CSH,8.5 +VTS,1,2,480,1.55,CSH,8 +VTS,1,2,420,1.35,CRD,7 +VTS,1,1,840,3.1,CSH,13 +VTS,1,1,780,2.68,CRD,12.5 +VTS,1,1,240,1.28,CSH,6 +VTS,1,1,300,0.93,CRD,5.5 +VTS,1,1,180,1.02,CSH,5 +VTS,1,1,600,2.04,CSH,9.5 +VTS,1,1,180,0.74,CSH,4.5 +VTS,1,1,300,0.38,CRD,5 +VTS,1,1,1020,3.52,CSH,15 +VTS,1,1,1140,12.57,CSH,35 +VTS,1,1,300,1.2,CRD,6 +VTS,1,1,1500,8.17,CRD,26 +VTS,1,1,1500,10.16,CRD,30.5 +VTS,1,1,540,1.88,CRD,9 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,660,2.3,CRD,10 +VTS,1,1,480,2.93,CRD,10.5 +VTS,1,1,1020,4.26,CSH,15.5 +VTS,1,1,1020,4.33,CSH,15.5 +VTS,1,1,720,2.1,CSH,10 +VTS,1,1,360,1.16,CRD,6.5 +VTS,1,1,180,1.27,CRD,5.5 +VTS,2,1,0,0,CRD,52 +VTS,1,1,420,1.52,CSH,7 +VTS,1,1,600,2.07,CRD,9.5 +VTS,1,1,1080,4.82,CRD,17.5 +VTS,1,1,480,2.61,CRD,10 +VTS,1,1,360,1.79,CSH,7.5 +VTS,1,1,300,0.99,CSH,6 +VTS,1,1,120,0.83,CSH,4.5 +VTS,1,1,660,1.94,CRD,9.5 +VTS,1,1,540,2.88,CRD,10.5 +VTS,1,1,600,2.34,CSH,10 +VTS,1,1,600,2.92,CRD,11 +VTS,1,1,300,1.01,CRD,5.5 +VTS,1,1,540,1.37,CSH,8 +VTS,1,1,1440,13,CSH,36 +VTS,1,1,360,1.14,CSH,6 +VTS,1,1,540,1.72,CSH,8.5 +VTS,1,1,1500,11.16,CSH,33.5 +VTS,1,1,780,3.57,CRD,13.5 +VTS,1,1,240,0.62,CSH,4.5 +VTS,1,1,1800,9.1,CRD,31 +VTS,1,1,240,0.94,CRD,5 +VTS,1,1,600,2.13,CSH,10 +VTS,1,1,2460,8.85,CRD,32.5 +VTS,1,1,1200,10.69,CRD,31 +VTS,1,1,600,3.15,CSH,12 +VTS,1,1,840,3.07,CRD,12.5 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,1,600,0.8,CRD,7.5 +VTS,1,1,1020,3.17,CRD,13 +VTS,1,2,1740,13.67,CRD,40 +VTS,1,1,1200,4.64,CSH,18.5 +VTS,1,2,120,0.33,CSH,3.5 +VTS,1,2,420,1.6,CRD,7.5 +VTS,1,2,900,2.68,CSH,12 +VTS,1,2,960,1.92,CRD,11 +VTS,1,2,240,0.83,CSH,5 +VTS,1,1,600,1.87,CRD,8.5 +VTS,1,2,300,0.82,CRD,5.5 +VTS,1,2,240,1.06,CSH,5.5 +VTS,1,2,720,2.57,CRD,11 +VTS,1,2,120,0.35,CSH,4 +VTS,1,2,120,0.49,CSH,3.5 +VTS,1,2,120,0.81,CSH,4.5 +VTS,1,2,360,1.57,CSH,7.5 +VTS,1,2,1140,8.52,CRD,26.5 +VTS,1,2,360,1.16,CSH,6.5 +VTS,1,2,120,0.41,CSH,3.5 +VTS,1,1,780,1.52,CSH,9.5 +VTS,1,2,420,0.96,CSH,7 +VTS,1,2,240,0.74,CSH,5 +VTS,1,2,420,1.09,CSH,7 +VTS,1,1,600,1.34,CRD,8.5 +VTS,1,2,1860,8.19,CSH,29 +VTS,1,2,720,2.01,CRD,10 +VTS,1,2,240,1.31,CSH,6 +VTS,1,2,1200,2.9,CRD,14.5 +VTS,1,2,360,0.89,CRD,6 +VTS,1,1,1140,2.88,CSH,15 +VTS,1,1,360,1.41,CRD,6.5 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,240,0.59,CRD,4.5 +VTS,1,1,420,0.85,CSH,6.5 +VTS,1,1,120,0.26,CRD,3.5 +VTS,1,1,1260,9.25,CRD,28 +VTS,1,1,600,5.13,CRD,16 +VTS,2,1,1500,16.2,CSH,52 +VTS,1,2,1200,10.47,CSH,30.5 +VTS,1,1,420,1.13,CRD,7 +VTS,1,1,180,0.55,CRD,4.5 +VTS,1,2,360,1.29,CSH,6.5 +VTS,1,2,420,1.3,CSH,7 +VTS,2,2,2460,19.83,CRD,52 +VTS,1,2,1920,11.41,CRD,36 +VTS,1,2,420,1.25,CRD,7 +VTS,1,2,180,0.53,CSH,4 +VTS,1,2,360,0.74,CSH,6 +VTS,1,1,300,0.87,CRD,5.5 +VTS,1,2,540,1.19,CSH,7.5 +VTS,1,2,540,0.98,CRD,7.5 +VTS,1,2,1260,5.32,CRD,19.5 +VTS,1,2,1200,1.35,CSH,12.5 +VTS,1,2,360,1.35,CRD,6.5 +VTS,1,1,240,1.59,CRD,6.5 +VTS,1,2,1080,8.26,CRD,24 +VTS,1,2,780,2.85,CSH,12 +VTS,1,2,540,1.3,CRD,8 +VTS,1,1,180,0.41,CSH,4 +VTS,1,1,120,0.35,CRD,3.5 +VTS,1,2,180,0.99,CSH,5 +VTS,1,3,120,0.5,CRD,4 +VTS,1,2,480,1.87,CSH,8 +VTS,1,2,480,1.68,CSH,8.5 +VTS,1,2,480,0.97,CSH,7 +VTS,1,1,840,3.92,CSH,14 +VTS,1,1,480,1.24,CRD,7 +VTS,1,2,480,1.25,CRD,7 +VTS,1,2,180,0.4,CSH,4 +VTS,1,2,360,0.58,CSH,5.5 +VTS,1,2,120,0.95,CRD,4.5 +VTS,1,2,420,1.98,CSH,8.5 +VTS,1,2,240,0.91,CSH,5.5 +VTS,1,2,900,2.84,CRD,12.5 +VTS,1,2,300,0.84,CRD,5.5 +VTS,1,2,360,1.39,CSH,6.5 +VTS,1,2,720,1.84,CRD,10 +VTS,1,2,780,2.07,CSH,10.5 +VTS,1,2,1080,2.17,CRD,13 +VTS,1,2,420,1.79,CSH,7.5 +VTS,1,2,420,0.88,CRD,6 +VTS,1,3,900,2.04,CRD,11.5 +VTS,1,1,480,1.91,CRD,8.5 +VTS,1,1,480,1.18,CRD,7 +VTS,1,1,780,1.37,CSH,9 +VTS,1,1,600,3.07,CRD,12 +VTS,1,1,240,1.07,CRD,5.5 +VTS,1,1,420,1.49,CSH,7 +VTS,1,1,600,2.5,CRD,11 +VTS,1,1,840,1.87,CRD,10.5 +VTS,1,1,300,0.89,CRD,5.5 +VTS,1,1,1140,8.62,CSH,26 +VTS,2,2,1380,16.9,CSH,52 +VTS,1,2,660,2.43,CSH,11 +VTS,1,2,1140,2.53,CSH,13.5 +VTS,1,2,840,2.42,CSH,12 +VTS,1,1,180,0.55,CSH,4.5 +VTS,1,2,600,1.72,CSH,8.5 +VTS,1,1,720,1.99,CRD,10 +VTS,1,2,480,0.62,CSH,6.5 +VTS,1,2,480,1.03,CRD,6.5 +VTS,1,1,420,0.86,CSH,6 +VTS,1,2,1020,4.28,CRD,16 +VTS,3,2,2700,18.31,CSH,74 +VTS,1,2,480,1.54,CSH,7.5 +VTS,1,2,420,1.79,CRD,8 +VTS,1,1,240,0.7,CSH,5 +VTS,1,2,180,0.45,CSH,4 +VTS,1,1,480,1.75,CSH,8 +VTS,1,1,420,0.62,CSH,6 +VTS,1,1,360,0.8,CSH,6 +VTS,1,1,180,0.54,CSH,4.5 +VTS,1,1,1140,5.33,CSH,19 +VTS,1,1,360,2.5,CRD,8.5 +VTS,1,1,120,0.82,CRD,4.5 +VTS,1,2,360,1.14,CRD,6.5 +VTS,1,1,240,0.58,CRD,5 +VTS,1,2,300,0.7,CRD,5.5 +VTS,1,2,840,2.08,CRD,11 +VTS,1,1,900,2.31,CRD,12 +VTS,1,1,240,0.53,CRD,4.5 +VTS,1,2,180,0.43,CSH,3.5 +VTS,1,2,1080,11.28,CSH,32 +VTS,1,2,1080,8.07,CRD,24.5 +VTS,1,2,360,1.9,CRD,8 +VTS,1,1,180,0.96,CRD,5 +VTS,1,1,1860,11.09,CRD,36 +VTS,1,2,480,1.18,CSH,7.5 +VTS,1,2,480,1.2,CRD,7.5 +VTS,1,1,540,1.79,CSH,9 +VTS,1,2,480,1.02,CSH,6.5 +VTS,1,1,300,0.6,CSH,5 +VTS,1,2,360,0.95,CRD,6 +VTS,1,2,420,0.65,CSH,6 +VTS,1,2,900,1.53,CRD,10.5 +VTS,1,2,660,2.06,CSH,9.5 +VTS,1,2,240,0.65,CSH,4.5 +VTS,1,1,180,0.52,CSH,4.5 +VTS,1,2,420,1.28,CSH,7 +VTS,1,2,360,1.09,CRD,6 +VTS,1,2,720,2.99,CRD,11.5 +VTS,1,1,300,1.03,CSH,6 +VTS,1,2,1080,2.34,CRD,13 +VTS,1,2,2040,12.29,CRD,38.5 +VTS,1,2,120,0.27,CSH,3.5 +VTS,1,2,1560,4.06,CRD,19 +VTS,1,1,420,0.9,CSH,6 +VTS,1,2,300,0.89,CSH,6 +VTS,1,2,1920,6.31,CRD,26 +VTS,1,2,780,0.65,CRD,9 +VTS,1,2,2040,16.93,CRD,46.5 +VTS,1,2,540,1.04,CSH,7.5 +VTS,1,1,240,0.63,CRD,4.5 +VTS,1,2,1680,13.95,CRD,40 +VTS,1,2,1260,11.52,CSH,32.5 +VTS,1,2,780,4.73,CRD,16 +VTS,1,1,600,1.09,CRD,8 +VTS,2,1,2160,19.57,CRD,52 +VTS,1,2,1320,9.47,CRD,29 +VTS,1,2,540,0.96,CRD,7 +VTS,1,1,420,1.42,CRD,7 +VTS,1,2,0,0,CSH,2.5 +VTS,1,2,480,0.55,CSH,6.5 +VTS,1,1,180,0.76,CRD,4.5 +VTS,1,2,540,1.97,CSH,8.5 +VTS,1,1,660,3.95,CRD,13 +VTS,1,1,60,0.6,CSH,3.5 +VTS,1,1,180,0.73,CRD,4.5 +VTS,1,1,60,0.34,CSH,3 +VTS,1,1,720,1.79,CSH,10 +VTS,1,1,180,0.78,CSH,4.5 +VTS,1,1,120,0.47,CSH,3.5 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,1,180,0.86,CRD,4.5 +VTS,1,1,480,2.06,CRD,9 +VTS,1,1,60,0.24,CSH,3 +VTS,1,1,600,1.34,CSH,8.5 +VTS,1,1,420,2.2,CSH,9 +VTS,1,1,1260,4.5,CRD,17.5 +VTS,1,1,480,1.78,CSH,8 +VTS,1,1,480,1.66,CRD,8 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,780,3.37,CSH,14 +VTS,1,1,420,1.42,CRD,7.5 +VTS,1,1,780,3.98,CRD,14 +VTS,1,1,720,1.64,CRD,9 +VTS,1,1,420,3.38,CSH,12 +VTS,1,1,480,1.95,CSH,8 +VTS,1,1,540,1.9,CRD,8.5 +VTS,1,1,840,3.19,CRD,13.5 +VTS,1,1,1020,7.66,CRD,23.5 +VTS,1,1,600,1.26,CSH,8.5 +VTS,1,1,180,0.69,CRD,4.5 +VTS,1,1,300,1.32,CSH,6.5 +VTS,1,1,360,1.04,CSH,6 +VTS,1,1,660,2.21,CSH,10.5 +VTS,1,1,540,1.97,CRD,8.5 +VTS,1,1,540,1.71,CSH,8.5 +VTS,1,1,540,3.31,CRD,11.5 +VTS,1,1,420,2.29,CRD,9 +VTS,1,1,660,3.41,CSH,12.5 +VTS,1,1,720,2.6,CSH,11 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,1020,5.4,CRD,18.5 +VTS,1,1,420,1.32,CSH,7.5 +VTS,1,1,2100,10.12,CRD,35 +VTS,1,1,900,4.07,CRD,15 +VTS,1,1,120,0.39,CSH,3.5 +VTS,1,1,420,1.42,CSH,7.5 +VTS,1,1,840,2.79,CRD,12 +VTS,1,1,1440,2.95,CRD,16 +VTS,1,1,360,1.09,CSH,6 +VTS,1,1,840,5.92,CSH,18.5 +VTS,1,2,480,1.67,CRD,7.5 +VTS,1,2,1200,2.36,CRD,14.5 +VTS,1,2,900,1.91,CSH,11 +VTS,1,2,300,1.74,CSH,7.5 +VTS,1,1,420,0.68,CSH,6 +VTS,1,1,660,1.76,CRD,9.5 +VTS,1,2,420,0.66,CRD,6 +VTS,1,2,1020,7.01,CSH,22 +VTS,1,1,180,0.63,CSH,4.5 +VTS,1,2,540,1.7,CRD,8 +VTS,1,2,1440,13.42,CRD,38 +VTS,1,2,900,2.87,CRD,13 +VTS,1,2,300,1.21,CRD,6 +VTS,1,2,1860,13.31,CRD,38.5 +VTS,1,2,720,1.04,CSH,8.5 +VTS,1,2,960,1.76,CRD,12 +VTS,1,1,420,1.01,CRD,6.5 +VTS,1,2,540,0.95,CSH,7 +VTS,1,1,720,2,CSH,10 +VTS,1,2,1080,2.53,CRD,13.5 +VTS,1,1,840,1.03,CSH,9.5 +VTS,1,2,360,0.77,CSH,5.5 +VTS,1,2,840,1.76,CSH,10.5 +VTS,1,2,420,1.19,CRD,7 +VTS,1,2,420,1.11,CSH,6.5 +VTS,1,2,1380,2.74,CRD,15.5 +VTS,1,2,660,1.97,CRD,9.5 +VTS,1,2,1500,12.28,CRD,35.5 +VTS,1,1,600,1.08,CRD,8 +VTS,1,2,960,1.9,CRD,11.5 +VTS,1,1,1020,2.05,CRD,12 +VTS,1,2,900,1.1,CRD,10 +VTS,1,2,1080,2.39,CRD,13 +VTS,1,2,540,1.92,CRD,9 +VTS,1,2,1560,11.04,CRD,33 +VTS,1,2,600,1.53,CRD,8.5 +VTS,1,1,480,0.62,CRD,6.5 +VTS,1,1,420,0.88,CSH,6.5 +VTS,1,2,1560,12.3,CRD,36 +VTS,1,2,780,1.14,CRD,9.5 +VTS,1,2,600,1.04,CSH,7 +VTS,1,1,540,0.92,CSH,7.5 +VTS,1,2,1080,3.71,CRD,15 +VTS,1,2,1320,11.24,CSH,33 +VTS,1,2,1020,8.79,CRD,25.5 +VTS,1,2,600,1.56,CSH,9 +VTS,1,2,2760,12.99,CRD,44 +VTS,1,2,480,1.02,CRD,7 +VTS,1,2,420,0.9,CSH,6 +VTS,1,2,240,0.45,CRD,4.5 +VTS,1,2,300,0.59,CSH,5 +VTS,1,2,420,0.88,CSH,6.5 +VTS,1,2,420,0.49,CRD,6 +VTS,1,1,540,1.02,CSH,7.5 +VTS,1,2,420,1.11,CSH,7 +VTS,1,2,660,1.58,CSH,9 +VTS,1,1,900,2.12,CSH,11 +VTS,1,2,420,0.71,CSH,6.5 +VTS,1,2,540,1.17,CSH,7.5 +VTS,1,2,600,1.43,CRD,8 +VTS,1,2,180,0.87,CRD,5 +VTS,1,2,720,1.15,CSH,9 +VTS,1,2,1740,11.82,CRD,36.5 +VTS,1,2,600,2.64,CSH,10 +VTS,1,2,480,1.39,CSH,7 +VTS,1,2,420,1.67,CSH,8 +VTS,1,2,600,1.78,CSH,9 +VTS,1,2,660,1.16,CSH,8 +VTS,1,2,360,0.71,CSH,5.5 +VTS,1,1,1980,14.07,CRD,41.5 +VTS,1,3,720,1.79,CRD,9 +VTS,1,2,1320,4.32,CSH,18.5 +VTS,1,2,2040,12.78,CRD,40 +VTS,1,2,180,0.49,CSH,4 +VTS,1,2,600,1.16,CRD,8 +VTS,1,2,2100,17.51,CRD,48 +VTS,1,2,900,1.9,CSH,11 +VTS,1,5,660,1.99,CRD,9.5 +VTS,2,2,1440,17,CRD,52 +VTS,1,2,720,2.5,CRD,10.5 +VTS,1,2,240,0.87,CSH,5 +VTS,1,3,780,4.32,CRD,15.5 +VTS,1,2,480,0.82,CSH,7 +VTS,1,2,900,2.36,CSH,12 +VTS,1,1,360,0.83,CRD,6 +VTS,1,2,780,2.35,CSH,11 +VTS,1,2,240,0.94,CSH,5.5 +VTS,1,2,180,0.58,CRD,4.5 +VTS,1,2,480,0.82,CRD,6.5 +VTS,1,2,300,0.67,CSH,5.5 +VTS,1,2,780,3.51,CRD,13 +VTS,1,2,840,1.66,CRD,10 +VTS,1,2,660,1.22,CSH,8.5 +VTS,1,2,600,1.06,CSH,8 +VTS,1,2,600,1.28,CRD,8 +VTS,1,2,660,1.59,CRD,9 +VTS,1,2,900,2.58,CSH,12 +VTS,1,1,780,1.23,CRD,9.5 +VTS,1,2,300,1,CRD,6 +VTS,1,2,960,2.92,CSH,12.5 +VTS,1,2,1140,2.63,CSH,13 +VTS,1,2,540,0.78,CSH,7 +VTS,1,2,240,0.59,CSH,4.5 +VTS,1,2,1620,10.94,CRD,32 +VTS,1,1,300,0.89,CSH,5.5 +VTS,1,2,300,0.85,CSH,5.5 +VTS,1,2,540,0.84,CSH,7 +VTS,1,2,600,1.77,CRD,9 +VTS,1,2,840,1.74,CSH,10.5 +VTS,1,2,660,1.37,CSH,8.5 +VTS,1,2,480,0.63,CSH,6.5 +VTS,1,2,840,3.5,CSH,13.5 +VTS,1,2,1560,5.75,CRD,22 +VTS,1,1,300,0.98,CSH,6 +VTS,1,2,120,0.57,CSH,4 +VTS,1,2,1140,1.94,CSH,12.5 +VTS,1,2,780,2.09,CRD,10.5 +VTS,2,2,1740,16.72,CRD,52 +VTS,1,2,1440,11.43,CRD,33 +VTS,1,2,420,0.62,CRD,6.5 +VTS,1,2,720,1.32,CSH,8.5 +VTS,1,2,960,10.04,CRD,28.5 +VTS,1,2,720,1.21,CRD,9 +VTS,1,2,300,0.97,CSH,6 +VTS,1,2,720,0.87,CRD,8.5 +VTS,1,2,1440,9.22,CRD,29 +VTS,1,2,840,2.96,CSH,12.5 +VTS,1,2,900,8.63,CRD,25 +VTS,1,3,300,0.58,CRD,4.5 +VTS,1,2,1500,5.43,CRD,21 +VTS,1,5,720,3.57,CSH,13.5 +VTS,1,5,900,3.3,CRD,13.5 +VTS,1,5,1140,5.79,CSH,20 +VTS,1,5,1020,3.2,CSH,14 +VTS,1,5,300,0.7,CSH,5.5 +VTS,1,5,420,1.86,CRD,8.5 +VTS,1,5,1020,10.21,CRD,28.5 +VTS,1,5,660,3.64,CRD,13 +VTS,1,5,480,1.7,CSH,8 +VTS,1,5,600,1.33,CRD,9 +VTS,1,5,780,10.16,CSH,28 +VTS,1,5,360,1.06,CRD,6.5 +VTS,1,2,1260,7.93,CSH,25 +VTS,1,3,540,5.78,CSH,17.5 +VTS,1,1,1200,6.16,CRD,20.5 +VTS,1,2,1080,9.64,CRD,27.5 +VTS,1,3,240,0.65,CSH,5 +VTS,1,2,2040,21.04,CRD,57 +VTS,1,2,660,2.27,CSH,10 +VTS,1,2,600,1.73,CRD,8.5 +VTS,1,2,480,1.84,CRD,8 +VTS,2,1,60,0,CRD,52 +VTS,1,2,780,3.53,CRD,13.5 +VTS,1,2,900,4.23,CRD,15 +VTS,1,1,660,2.81,CSH,11 +VTS,1,2,1020,4.34,CSH,16.5 +VTS,1,2,1320,1.84,CSH,14 +VTS,1,3,2160,12.63,CRD,40 +VTS,1,2,900,2.71,CRD,11.5 +VTS,1,1,660,1.88,CRD,9 +VTS,1,2,540,1.63,CRD,8.5 +VTS,1,2,720,1.44,CRD,9 +VTS,1,2,660,0.84,CRD,8 +VTS,1,1,420,0.74,CSH,6.5 +VTS,1,2,1560,12.19,CRD,36 +VTS,1,2,480,2.21,CSH,9 +VTS,1,2,780,2.49,CRD,11 +VTS,1,2,420,1.77,CRD,8 +VTS,1,2,480,1.22,CRD,7.5 +VTS,1,2,180,0.37,CRD,4 +VTS,1,2,2520,13.26,CRD,43.5 +VTS,1,2,2820,11.48,CRD,42 +VTS,1,2,240,0.71,CSH,5 +VTS,1,2,360,0.77,CSH,6 +VTS,1,2,1320,2.63,CSH,15.5 +VTS,1,1,180,0.44,CRD,4 +VTS,1,2,840,1.99,CSH,11 +VTS,1,5,420,0.95,CRD,6 +VTS,1,5,600,2.17,CSH,10 +VTS,1,5,540,2.92,CRD,11 +VTS,1,5,840,4,CSH,14.5 +VTS,1,5,660,7.46,CSH,21 +VTS,1,2,600,1.06,CSH,7 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,2,1260,2.09,CRD,14.5 +VTS,1,2,420,1.63,CRD,7.5 +VTS,1,1,60,0.13,CSH,3 +VTS,1,2,540,0.97,CRD,7.5 +VTS,1,2,2280,17.28,CRD,49.5 +VTS,1,2,2820,14.83,CRD,46.5 +VTS,1,2,420,0.84,CSH,6.5 +VTS,1,2,1860,12.2,CRD,36.5 +VTS,1,2,300,1.2,CSH,6 +VTS,1,2,600,2.37,CSH,10 +VTS,2,1,1620,17.04,CSH,52 +VTS,1,2,1200,11.33,CRD,32.5 +VTS,1,2,600,0.74,CRD,7 +VTS,1,2,180,0.51,CSH,4.5 +VTS,1,2,300,1.05,CRD,6 +VTS,1,2,660,1.03,CSH,8 +VTS,1,2,600,1.43,CSH,8 +VTS,1,2,420,1.06,CSH,6.5 +VTS,1,2,1860,11.21,CSH,34.5 +VTS,1,2,780,2.19,CSH,10.5 +VTS,2,2,60,0.01,CSH,52 +VTS,1,2,120,0.41,CSH,3.5 +VTS,1,2,540,1.41,CSH,8 +VTS,1,2,660,0.96,CRD,8 +VTS,1,2,780,4.27,CSH,14.5 +VTS,1,2,300,0.61,CSH,5 +VTS,1,2,360,1.22,CRD,7 +VTS,1,5,240,0.58,CSH,4.5 +VTS,1,5,180,0.54,CSH,4.5 +VTS,1,5,660,1.93,CRD,9.5 +VTS,1,5,240,1.92,CRD,7 +VTS,1,5,480,1,CSH,7.5 +VTS,1,5,720,2.06,CRD,10.5 +VTS,1,5,540,4.56,CSH,15 +VTS,1,5,1800,19.63,CRD,54 +VTS,1,5,1560,10.06,CSH,32 +VTS,1,5,840,1.85,CRD,11 +VTS,1,2,300,0.71,CSH,5 +VTS,1,2,1200,7.38,CRD,23.5 +VTS,1,2,660,2.07,CSH,9.5 +VTS,1,2,300,0.57,CSH,5 +VTS,1,3,720,2.09,CRD,10 +VTS,1,2,960,2.27,CSH,12.5 +VTS,1,1,840,3.45,CRD,13.5 +VTS,1,1,540,1.17,CSH,7.5 +VTS,1,2,480,1.31,CRD,7.5 +VTS,5,1,60,0,CRD,25 +VTS,1,3,780,3.93,CRD,13.5 +VTS,1,2,240,0.79,CSH,5 +VTS,1,4,360,1.24,CSH,6.5 +VTS,1,2,480,1.35,CRD,8 +VTS,1,5,720,2.12,CRD,10.5 +VTS,1,5,900,3.77,CSH,14 +VTS,1,5,1020,7.01,CSH,22.5 +VTS,1,5,2700,9.82,CSH,35.5 +VTS,1,5,1200,7.66,CRD,24 +VTS,1,5,1140,12.57,CRD,35 +VTS,1,5,240,1.93,CSH,7 +VTS,1,5,480,1.37,CRD,7.5 +VTS,1,5,660,1.78,CSH,9.5 +VTS,1,5,660,2.88,CRD,11 +VTS,1,5,600,2.94,CRD,11.5 +VTS,1,2,300,0.47,CRD,4.5 +VTS,1,2,420,1.54,CRD,7 +VTS,1,2,420,2.46,CSH,9 +VTS,1,2,480,1.18,CSH,7 +VTS,1,2,0,0,CSH,2.5 +VTS,1,1,2580,11.51,CSH,38.5 +VTS,1,3,240,0.56,CSH,4.5 +VTS,1,2,960,8.89,CRD,25 +VTS,1,2,1140,9.5,CRD,27 +VTS,1,2,240,0.53,CSH,4.5 +VTS,1,2,600,1.97,CSH,9 +VTS,1,2,540,2.25,CRD,9.5 +VTS,1,3,480,2.2,CSH,9 +VTS,1,2,900,5.03,CRD,16.5 +VTS,1,2,600,4.18,CRD,14.5 +VTS,1,5,600,1.74,CRD,9 +VTS,1,5,1260,5.24,CRD,18.5 +VTS,1,5,180,1.59,CSH,6.5 +VTS,1,5,660,1.66,CRD,9 +VTS,1,5,420,1.72,CSH,8 +VTS,1,5,480,1.53,CRD,8 +VTS,1,5,600,2.47,CSH,10.5 +VTS,1,5,300,2.86,CRD,9.5 +VTS,1,5,1080,10.62,CSH,29.5 +VTS,1,5,480,0.61,CSH,6.5 +VTS,1,5,900,3.7,CRD,15 +VTS,1,5,360,2.33,CSH,9 +VTS,1,5,1260,10.41,CRD,30.5 +VTS,1,5,1260,9.72,CSH,29 +VTS,1,2,1860,10.97,CSH,34.5 +VTS,1,2,180,0.49,CSH,4 +VTS,1,4,180,0.49,CSH,4 +VTS,1,2,1080,2.52,CSH,13 +VTS,1,2,360,0.59,CSH,5.5 +VTS,1,2,600,1.19,CSH,8.5 +VTS,1,2,1080,2.93,CRD,13.5 +VTS,1,2,660,2.28,CRD,11 +VTS,1,1,240,0.79,CRD,4.5 +VTS,1,2,240,1.22,CRD,5.5 +VTS,1,2,420,0.88,CRD,6 +VTS,1,2,360,1.02,CSH,6 +VTS,1,1,840,7.51,CSH,22 +VTS,1,1,1920,18.48,CSH,51 +VTS,1,1,360,1.24,CSH,6.5 +VTS,1,1,1020,5.93,CSH,19 +VTS,1,1,780,2.84,CRD,12.5 +VTS,1,2,360,2.25,CRD,8.5 +VTS,1,1,120,0.43,CRD,3.5 +VTS,1,2,480,1.75,CRD,8.5 +VTS,1,1,360,0,CSH,2.5 +VTS,1,2,300,1.14,CSH,6 +VTS,1,2,780,2.22,CRD,10 +VTS,1,2,180,0.68,CRD,4.5 +VTS,1,1,120,0.64,CSH,4 +VTS,1,2,720,3.62,CSH,13 +VTS,1,2,360,0.99,CSH,6 +VTS,1,2,1260,6.04,CRD,20.5 +VTS,1,2,180,0.5,CRD,4 +VTS,1,2,420,0.68,CSH,6 +VTS,1,2,1260,4.9,CSH,19.5 +VTS,1,2,1560,5.92,CSH,23.5 +VTS,1,3,1020,2.49,CRD,12.5 +VTS,1,1,540,1.12,CRD,7.5 +VTS,1,2,1080,2.45,CRD,13.5 +VTS,1,1,360,0.7,CSH,5.5 +VTS,1,2,420,1.45,CSH,7 +VTS,1,2,600,1.1,CSH,7.5 +VTS,1,2,660,1.75,CSH,9.5 +VTS,1,2,1740,3.26,CRD,19.5 +VTS,1,2,180,0.67,CSH,4.5 +VTS,1,2,240,2.42,CSH,9 +VTS,1,2,240,1.02,CSH,5.5 +VTS,1,2,780,3.37,CRD,13.5 +VTS,1,2,1140,3.59,CRD,16.5 +VTS,1,2,660,1.58,CRD,9 +VTS,2,2,3060,20.02,CRD,52 +VTS,1,1,840,2.26,CRD,11.5 +VTS,1,2,1320,3.47,CRD,16 +VTS,1,1,540,1.44,CSH,8 +VTS,1,1,2040,12.67,CSH,40 +VTS,1,2,1080,4.11,CSH,15.5 +VTS,1,2,480,2.05,CRD,8 +VTS,1,2,720,1.82,CRD,10 +VTS,1,2,960,7.95,CRD,24 +VTS,1,2,720,1.89,CSH,10 +VTS,1,2,240,0.54,CSH,5 +VTS,1,2,720,2.9,CRD,12 +VTS,1,1,600,0.99,CRD,8 +VTS,1,2,900,1.74,CSH,11.5 +VTS,1,5,780,8.02,CSH,23 +VTS,1,5,540,3.2,CRD,11 +VTS,1,5,1140,5.98,CSH,20.5 +VTS,1,5,240,0.89,CSH,5 +VTS,1,5,900,9.88,CSH,27.5 +VTS,1,5,540,3.47,CRD,12.5 +VTS,1,5,1260,9.69,CRD,29 +VTS,1,5,780,3.04,CRD,12 +VTS,1,5,180,0.85,CRD,4.5 +VTS,1,5,1200,4.27,CSH,16.5 +VTS,1,5,780,6.3,CRD,20 +VTS,1,5,180,0.94,CSH,5.5 +VTS,1,5,600,2.41,CSH,10 +VTS,1,1,60,0,CSH,2.5 +VTS,1,2,600,0.98,CSH,8 +VTS,2,2,1140,16.92,CRD,52 +VTS,1,2,1080,3,CRD,13.5 +VTS,1,2,1320,8.22,CRD,26.5 +VTS,1,3,720,1.94,CSH,9.5 +VTS,1,2,1740,7.45,CSH,26.5 +VTS,1,1,600,1.37,CSH,8 +VTS,1,2,720,3.39,CRD,12 +VTS,1,2,1320,5.52,CRD,20.5 +VTS,1,1,540,1.45,CRD,8 +VTS,1,3,480,1.23,CSH,7.5 +VTS,1,2,120,0.75,CRD,4 +VTS,1,2,480,1.65,CSH,8 +VTS,1,1,1140,2.57,CSH,13.5 +VTS,1,2,720,1.38,CSH,9 +VTS,1,3,960,4.55,CSH,16 +VTS,1,2,240,1.08,CSH,5.5 +VTS,1,2,720,1.45,CSH,9.5 +VTS,1,3,720,5.72,CSH,17.5 +VTS,1,2,780,4.15,CRD,15 +VTS,1,2,180,1.33,CSH,5.5 +VTS,1,2,120,0.9,CSH,4.5 +VTS,1,2,420,0.91,CSH,6.5 +VTS,1,2,420,1.84,CSH,8 +VTS,1,1,1080,2.22,CSH,13 +VTS,1,2,840,2.48,CRD,11.5 +VTS,1,2,1020,4.79,CRD,17.5 +VTS,1,2,720,3.34,CSH,13 +VTS,1,2,600,2.01,CSH,9.5 +VTS,1,2,300,0.67,CRD,5 +VTS,1,3,360,1.1,CRD,6.5 +VTS,1,2,240,0.76,CRD,5 +VTS,1,1,660,1.6,CRD,9 +VTS,1,2,360,1.08,CSH,6 +VTS,1,3,1140,3.86,CSH,15.5 +VTS,1,2,1500,6.71,CSH,22.5 +VTS,1,2,360,1.49,CRD,6.5 +VTS,1,2,540,1.57,CRD,8.5 +VTS,1,3,720,2.04,CRD,10 +VTS,1,2,480,1.18,CRD,7 +VTS,1,2,900,4.18,CRD,15 +VTS,1,2,1020,5.06,CRD,17.5 +VTS,1,2,480,1.26,CRD,7.5 +VTS,1,2,1200,11.11,CRD,31 +VTS,1,2,840,2.3,CRD,10.5 +VTS,1,2,1200,6.22,CRD,20.5 +VTS,1,2,1080,3.46,CRD,15 +VTS,1,3,1260,5.62,CSH,20.5 +VTS,1,2,840,2.93,CRD,12.5 +VTS,1,1,660,1.58,CSH,9 +VTS,1,2,420,1.7,CSH,8 +VTS,1,2,480,2.32,CRD,8.5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,2,480,2,CRD,8 +VTS,1,2,540,1.62,CRD,8.5 +VTS,1,3,780,2.08,CRD,10 +VTS,1,2,600,2.46,CRD,10 +VTS,1,2,480,1.91,CRD,8 +VTS,1,1,120,0.61,CRD,4 +VTS,1,2,1620,9.49,CRD,32 +VTS,1,1,780,1.37,CRD,9.5 +VTS,1,6,600,1.16,CSH,8 +VTS,1,1,480,0.62,CSH,6.5 +VTS,1,2,240,0.53,CSH,4.5 +VTS,1,1,600,2.24,CRD,9.5 +VTS,1,6,540,2.07,CSH,9.5 +VTS,1,2,840,2.73,CRD,11.5 +VTS,1,6,660,4.97,CSH,16 +VTS,1,2,180,0.96,CRD,5 +VTS,1,2,300,0.83,CRD,5.5 +VTS,1,2,960,1.39,CSH,11 +VTS,1,2,300,0.76,CSH,5.5 +VTS,1,5,900,3.21,CSH,13.5 +VTS,1,5,1740,10.24,CSH,33 +VTS,1,5,180,0.57,CRD,4.5 +VTS,1,5,300,1.36,CRD,6 +VTS,1,5,1680,22.67,CRD,60 +VTS,1,5,300,0.81,CRD,5.5 +VTS,1,5,240,0.68,CRD,5 +VTS,1,1,240,0.84,CSH,5 +VTS,1,3,360,1.64,CSH,7 +VTS,1,3,420,1.08,CSH,7 +VTS,1,2,780,4.95,CRD,16 +VTS,1,2,180,1.17,CSH,5.5 +VTS,1,2,600,1.47,CSH,8.5 +VTS,1,2,1380,3.92,CRD,17 +VTS,1,1,60,0.05,CSH,2.5 +VTS,1,1,480,3.06,CSH,10.5 +VTS,1,2,240,0.79,CRD,5 +VTS,1,2,420,1.67,CRD,7.5 +VTS,1,2,660,4.66,CRD,15 +VTS,1,3,840,3.96,CSH,14 +VTS,1,2,240,0.47,CSH,4 +VTS,1,2,720,3.83,CRD,14 +VTS,1,2,180,0.41,CSH,4 +VTS,1,2,1020,1.39,CRD,11 +VTS,1,2,540,1.35,CRD,8 +VTS,1,1,480,0.62,CRD,6.5 +VTS,1,5,720,6.44,CRD,19.5 +VTS,1,5,960,5,CRD,17.5 +VTS,1,5,720,2.76,CRD,12 +VTS,1,5,1620,15.56,CRD,43.5 +VTS,1,5,1980,13.85,CSH,42.5 +VTS,1,5,1020,10.96,CRD,31 +VTS,1,5,780,2.46,CRD,11.5 +VTS,1,5,240,0.64,CSH,5 +VTS,1,5,240,1.24,CRD,6 +VTS,1,1,60,0,CRD,2.5 +VTS,1,2,540,1.42,CRD,8 +VTS,1,2,480,1.28,CSH,7.5 +VTS,1,1,420,1.4,CRD,6.5 +VTS,1,2,300,1.25,CSH,6 +VTS,1,2,300,0.5,CSH,5 +VTS,1,3,840,3.98,CRD,14 +VTS,1,2,240,0.53,CSH,4.5 +VTS,1,4,360,0.95,CSH,6 +VTS,1,3,900,3.7,CRD,14 +VTS,1,2,840,6.09,CSH,19 +VTS,1,2,540,2.4,CRD,9 +VTS,1,2,1080,4.98,CSH,17.5 +VTS,1,2,480,1.99,CSH,9 +VTS,1,2,360,1.31,CSH,7 +VTS,2,1,1980,15.88,CRD,52 +VTS,1,2,600,1.89,CSH,9 +VTS,1,2,900,3.97,CRD,14.5 +VTS,1,2,720,1.46,CRD,9.5 +VTS,1,2,900,1.16,CSH,10 +VTS,1,2,720,2.66,CRD,11 +VTS,1,2,780,2.19,CSH,10.5 +VTS,1,1,960,2.87,CSH,13 +VTS,1,2,1560,4.15,CSH,20 +VTS,1,2,960,7.77,CRD,23 +VTS,1,2,420,1.24,CRD,6.5 +VTS,1,2,960,3.17,CSH,12.5 +VTS,1,3,900,4.33,CRD,14.5 +VTS,1,3,600,1.7,CRD,9 +VTS,1,2,420,2.4,CRD,9 +VTS,1,3,180,0.45,CSH,4 +VTS,1,2,840,4.22,CRD,14.5 +VTS,1,2,720,3.31,CRD,12.5 +VTS,1,1,660,2.56,CRD,11 +VTS,1,3,360,0.69,CRD,6 +VTS,1,2,360,1.08,CRD,6 +VTS,1,2,480,2.01,CRD,8.5 +VTS,1,2,60,0.48,CRD,3.5 +VTS,5,1,240,0.47,CRD,75 +VTS,1,2,540,2.38,CRD,9.5 +VTS,1,2,1020,7.82,CSH,24 +VTS,1,2,720,6.28,CRD,18.5 +VTS,1,2,60,0.45,CSH,3.5 +VTS,1,2,1680,8.23,CSH,27.5 +VTS,1,2,840,5.2,CRD,16.5 +VTS,1,2,1380,4.17,CSH,18 +VTS,1,2,240,0.79,CSH,5 +VTS,1,2,720,1.9,CSH,10 +VTS,1,2,420,1.57,CSH,7.5 +VTS,2,2,2520,16.8,CRD,52 +VTS,1,4,360,0.95,CRD,5.5 +VTS,1,2,780,4.5,CRD,14.5 +VTS,1,2,900,2,CRD,11 +VTS,1,2,1860,8.36,CSH,28.5 +VTS,1,2,900,0.84,CRD,9.5 +VTS,1,2,960,2.99,CRD,13 +VTS,1,3,660,2.41,CRD,10 +VTS,1,1,840,6.18,CSH,19.5 +VTS,2,1,2160,20.23,CRD,52 +VTS,1,2,240,1.63,CRD,6.5 +VTS,1,6,540,2.96,CRD,10.5 +VTS,1,1,480,1.09,CRD,7 +VTS,1,6,720,4.86,CRD,16 +VTS,1,6,420,1.38,CSH,7 +VTS,1,6,480,2.49,CRD,9.5 +VTS,1,6,420,2.89,CRD,10 +VTS,1,2,480,1.27,CSH,7 +VTS,1,1,540,0.68,CSH,7 +VTS,1,2,540,1.78,CSH,8.5 +VTS,1,3,600,1.88,CSH,8.5 +VTS,1,2,480,4.12,CRD,13 +VTS,1,2,540,1.77,CRD,8 +VTS,1,3,720,2.21,CSH,10.5 +VTS,1,2,840,5.2,CRD,16 +VTS,1,1,240,0.75,CRD,5 +VTS,1,3,660,2.82,CSH,10.5 +VTS,1,3,0,0.06,CSH,2.5 +VTS,1,3,300,0.51,CSH,5 +VTS,1,3,540,1.81,CRD,8 +VTS,1,2,480,1.19,CSH,7 +VTS,1,2,360,0.94,CSH,5.5 +VTS,1,2,1440,3.23,CRD,16.5 +VTS,1,1,780,1.89,CRD,10 +VTS,1,2,660,1.87,CSH,9.5 +VTS,1,2,60,0.48,CSH,3.5 +VTS,1,2,420,0.97,CRD,6.5 +VTS,1,2,480,1.66,CSH,7.5 +VTS,1,2,420,2.81,CSH,10 +VTS,1,2,420,0.75,CSH,6.5 +VTS,1,3,120,0.67,CSH,4 +VTS,1,2,1200,3.47,CRD,15 +VTS,1,2,660,2.37,CSH,10.5 +VTS,1,3,480,4.14,CSH,13 +VTS,1,2,1260,10.64,CSH,30.5 +VTS,1,2,1140,2.06,CRD,13 +VTS,1,2,180,0.7,CRD,4.5 +VTS,1,2,720,3.23,CRD,12.5 +VTS,1,2,360,1.34,CSH,6.5 +VTS,1,2,840,2.53,CRD,11 +VTS,1,2,840,3.67,CSH,13.5 +VTS,1,2,480,3.35,CRD,11 +VTS,1,2,180,0.72,CRD,4.5 +VTS,1,2,720,2.28,CRD,10 +VTS,1,2,1920,11.61,CRD,34 +VTS,1,2,240,0.74,CRD,5 +VTS,1,1,600,3.43,CRD,12 +VTS,1,1,480,1.8,CRD,8 +VTS,1,6,1140,7.8,CRD,24 +VTS,1,1,420,0.96,CSH,6.5 +VTS,1,6,1380,3.61,CRD,17.5 +VTS,1,1,1440,9.61,CRD,29.5 +VTS,1,6,360,2.1,CSH,8 +VTS,1,6,720,3.3,CSH,12.5 +VTS,1,1,480,1.77,CSH,7.5 +VTS,1,6,420,1.37,CSH,7 +VTS,1,6,120,0.77,CSH,4 +VTS,1,6,1080,5.4,CSH,19 +VTS,1,6,1980,14.93,CSH,43 +VTS,1,2,180,0.61,CSH,4.5 +VTS,1,2,1200,5.92,CSH,20 +VTS,1,2,240,0.49,CRD,4.5 +VTS,1,2,0,0,CSH,2.5 +VTS,1,6,0,0,CSH,2.5 +VTS,1,6,300,0.81,CSH,5 +VTS,1,6,540,5.41,CSH,16 +VTS,1,6,660,2,CRD,9.5 +VTS,1,1,420,0.64,CRD,6.5 +VTS,1,6,600,1.5,CRD,8.5 +VTS,1,6,1020,3.83,CSH,15 +VTS,1,1,540,1.54,CSH,8 +VTS,1,6,720,1.66,CSH,9.5 +VTS,1,1,900,5,CRD,16.5 +VTS,1,6,720,2.37,CRD,10.5 +VTS,1,1,600,0.9,CSH,7.5 +VTS,1,6,900,3.14,CRD,12.5 +VTS,1,6,420,0.67,CSH,6 +VTS,1,6,180,0.72,CSH,4.5 +VTS,1,1,1200,5.07,CSH,19.5 +VTS,1,6,600,2.99,CSH,11 +VTS,1,6,660,4.29,CSH,14 +VTS,1,2,420,2.4,CRD,9.5 +VTS,1,1,780,2.84,CRD,11.5 +VTS,2,6,1020,15.4,CRD,52 +VTS,1,6,420,1.53,CSH,7.5 +VTS,1,1,480,1.43,CSH,7 +VTS,1,1,960,2.71,CRD,12.5 +VTS,1,2,660,3.08,CRD,11.5 +VTS,1,1,780,3.31,CRD,12.5 +VTS,1,2,480,1.52,CSH,7.5 +VTS,1,3,1980,9.42,CSH,32.5 +VTS,1,2,420,1.53,CSH,7 +VTS,1,2,900,2.14,CSH,11 +VTS,1,3,960,4.6,CSH,16.5 +VTS,1,2,1020,6.79,CSH,22 +VTS,1,2,60,0.01,CSH,2.5 +VTS,1,3,780,4.66,CRD,15 +VTS,1,2,240,2.41,CRD,8.5 +VTS,1,2,360,1.05,CRD,5.5 +VTS,1,2,480,1.82,CSH,8.5 +VTS,1,2,660,2.93,CRD,11 +VTS,1,1,120,0.44,CSH,3.5 +VTS,1,2,300,1.29,CSH,6 +VTS,1,2,660,3.14,CSH,11 +VTS,1,1,420,1.18,CSH,6.5 +VTS,1,2,420,2.38,CSH,9 +VTS,1,1,660,1.79,CRD,9.5 +VTS,1,1,1380,6.71,CSH,23.5 +VTS,1,1,540,3.74,CRD,12.5 +VTS,1,6,300,0.8,CSH,5 +VTS,1,6,420,2,CSH,8.5 +VTS,1,1,420,2.58,CRD,9 +VTS,1,5,300,1.11,CSH,6 +VTS,1,5,300,1.49,CSH,7 +VTS,1,5,360,1.96,CRD,8 +VTS,1,5,480,2.13,CSH,8.5 +VTS,1,5,900,6.11,CSH,20 +VTS,1,5,1140,6.62,CSH,21.5 +VTS,1,1,60,0,CRD,2.5 +VTS,1,2,1260,5.2,CRD,19 +VTS,1,1,1200,4.77,CRD,18 +VTS,1,3,300,1.11,CSH,6 +VTS,1,1,720,2.58,CSH,11 +VTS,1,2,840,2.79,CRD,11.5 +VTS,1,3,600,2.5,CRD,10 +VTS,1,2,720,2.95,CRD,12 +VTS,1,4,600,1.29,CSH,8 +VTS,1,2,420,1.69,CSH,7.5 +VTS,1,2,420,1.23,CSH,7 +VTS,1,3,180,0.46,CRD,4.5 +VTS,1,2,780,2.69,CSH,11 +VTS,1,2,540,1.53,CRD,7.5 +VTS,1,2,1560,3.56,CRD,18.5 +VTS,1,1,780,2.66,CSH,11.5 +VTS,1,2,240,0.66,CRD,4.5 +VTS,1,2,900,4.59,CRD,16 +VTS,1,1,300,0.61,CRD,5 +VTS,1,2,300,1.72,CRD,7 +VTS,1,6,360,1.95,CRD,7.5 +VTS,1,6,360,0.76,CRD,5.5 +VTS,1,6,300,0.88,CSH,5.5 +VTS,1,6,240,0.67,CSH,4.5 +VTS,1,6,300,0.74,CRD,5.5 +VTS,1,6,600,2.54,CRD,10 +VTS,1,6,360,0.73,CSH,5.5 +VTS,1,6,240,1.03,CRD,5.5 +VTS,1,6,300,1.07,CSH,5.5 +VTS,1,6,480,4.09,CSH,13 +VTS,1,6,360,1.65,CRD,7 +VTS,1,6,420,1.48,CRD,7 +VTS,1,1,360,1.67,CRD,7.5 +VTS,1,6,540,1.95,CRD,8.5 +VTS,1,1,1020,7.92,CSH,24.5 +VTS,1,6,360,1.3,CRD,6.5 +VTS,1,6,1020,3.66,CRD,14.5 +VTS,1,6,1680,8.84,CRD,30 +VTS,1,6,420,1.51,CRD,7.5 +VTS,1,6,420,2.75,CSH,9.5 +VTS,1,6,720,2.95,CSH,11.5 +VTS,1,6,240,1.26,CRD,5.5 +VTS,1,6,540,1.57,CSH,8 +VTS,1,6,1440,6.54,CRD,24 +VTS,1,6,1500,10.94,CSH,32.5 +VTS,1,6,180,0.7,CSH,4.5 +VTS,1,6,0,0,CSH,2.5 +VTS,1,6,960,6.62,CRD,21 +VTS,1,2,420,1.73,CRD,8 +VTS,1,2,480,1.88,CRD,8 +VTS,1,6,300,0.72,CRD,5 +VTS,1,2,360,0.96,CSH,6 +VTS,1,1,900,2.96,CSH,12.5 +VTS,1,6,660,3.38,CSH,12 +VTS,1,2,840,5.66,CRD,19 +VTS,1,1,660,1.61,CRD,9 +VTS,1,6,480,1.32,CSH,7.5 +VTS,1,6,420,1.48,CRD,7.5 +VTS,1,6,540,1.51,CSH,8.5 +VTS,1,1,540,4.4,CSH,14 +VTS,1,2,900,5.88,CSH,18 +VTS,1,6,480,1.27,CRD,7 +VTS,1,6,420,1.02,CRD,6 +VTS,1,6,840,1.58,CSH,10.5 +VTS,1,6,1500,5.54,CRD,20 +VTS,1,6,120,0.59,CSH,4 +VTS,1,6,180,0.54,CRD,4 +VTS,1,6,960,3.99,CRD,14.5 +VTS,1,6,300,1.13,CSH,6 +VTS,1,1,420,1.62,CSH,7.5 +VTS,1,6,1560,11.58,CRD,34 +VTS,1,6,600,0.36,CRD,7.5 +VTS,1,6,780,2.02,CRD,9.5 +VTS,1,6,300,0.88,CRD,5.5 +VTS,1,6,600,2.11,CSH,9 +VTS,1,6,300,0.76,CRD,5.5 +VTS,1,6,840,3.02,CRD,12 +VTS,1,6,420,1.42,CRD,7 +VTS,1,6,900,7.54,CRD,22.5 +VTS,1,6,360,1.62,CRD,7 +VTS,1,6,1200,5.13,CSH,18.5 +VTS,1,6,1320,9.66,CRD,29 +VTS,1,6,720,2.11,CSH,10.5 +VTS,1,6,540,1.03,CSH,8 +VTS,1,6,480,2.08,CSH,9 +VTS,1,6,480,2.58,CSH,9.5 +VTS,1,6,240,1.13,CSH,5.5 +VTS,1,6,240,0.83,CRD,5 +VTS,1,6,240,0.54,CRD,4.5 +VTS,1,6,180,0.64,CRD,4 +VTS,1,6,360,1.82,CRD,7.5 +VTS,1,6,480,2.35,CRD,9 +VTS,1,1,960,4.71,CRD,17 +VTS,1,6,480,1.2,CSH,6 +VTS,1,1,300,0.82,CSH,5.5 +VTS,1,1,720,1.72,CSH,9 +VTS,1,6,480,1.58,CRD,8 +VTS,1,6,60,0.59,CSH,3.5 +VTS,1,6,120,0.5,CSH,3.5 +VTS,1,6,180,0.72,CSH,4.5 +VTS,1,6,840,3.38,CSH,13 +VTS,1,6,780,1.67,CSH,10 +VTS,1,6,1200,1.89,CSH,13 +VTS,1,6,60,0.48,CSH,3.5 +VTS,1,6,240,1.1,CRD,5.5 +VTS,1,6,660,2.63,CRD,10.5 +VTS,1,6,1020,5.46,CSH,17.5 +VTS,1,6,1140,3.54,CSH,15 +VTS,1,6,720,2.05,CRD,10 +VTS,1,6,1500,13.86,CRD,39 +VTS,1,6,420,1.94,CSH,8 +VTS,1,6,1260,5.45,CSH,20 +VTS,1,1,1020,1.24,CRD,11.5 +VTS,5,1,960,4.91,CRD,45 +VTS,1,6,480,3.26,CRD,11 +VTS,1,6,600,3.39,CSH,12 +VTS,1,6,1020,9.71,CRD,27.5 +VTS,1,6,1500,12.77,CRD,36.5 +VTS,1,6,480,0.83,CSH,6.5 +VTS,1,6,480,1.43,CRD,8 +VTS,1,6,600,1.57,CRD,9 +VTS,1,6,480,3.52,CSH,12 +VTS,1,6,360,1.05,CRD,6.5 +VTS,1,6,480,0.96,CSH,7 +VTS,1,6,1080,2.35,CRD,13.5 +VTS,2,6,1500,17.08,CRD,52 +VTS,1,6,780,4.01,CSH,14 +VTS,1,1,960,6.04,CRD,19.5 +VTS,1,6,240,1.07,CRD,5.5 +VTS,1,1,1020,3.45,CSH,14 +VTS,1,6,180,0.98,CSH,5 +VTS,1,6,1020,3.59,CSH,14.5 +VTS,1,6,480,1.79,CSH,7.5 +VTS,1,6,120,0.31,CRD,3.5 +VTS,1,6,300,0.97,CSH,5.5 +VTS,1,6,480,1.87,CSH,8.5 +VTS,1,6,660,3.12,CRD,12 +VTS,1,6,1020,10.33,CSH,29.5 +VTS,1,6,300,0.79,CSH,5 +VTS,1,6,1380,3.72,CRD,17 +VTS,1,6,600,3.25,CRD,12 +VTS,1,6,660,1.03,CSH,8.5 +VTS,1,6,540,0.99,CSH,7 +VTS,1,6,840,2.24,CRD,11 +VTS,1,6,300,1.23,CRD,6 +VTS,1,6,1200,4.54,CSH,17 +VTS,1,1,1440,6.66,CSH,23 +VTS,1,1,1860,7.98,CSH,27.5 +VTS,2,1,2640,17.45,CRD,52 +VTS,1,6,1020,2.61,CSH,12.5 +VTS,1,6,900,1.96,CRD,11 +VTS,1,1,1200,2.7,CRD,14 +VTS,1,6,480,1.53,CRD,7.5 +VTS,1,1,180,0.58,CSH,4.5 +VTS,1,6,300,1.2,CRD,6 +VTS,1,1,300,1.19,CRD,6 +VTS,1,2,300,1.02,CRD,5.5 +VTS,1,6,660,3.44,CRD,12.5 +VTS,1,6,840,3.74,CRD,14 +VTS,1,6,360,1.67,CSH,6.5 +VTS,1,6,660,3.77,CRD,13 +VTS,1,6,300,1.13,CRD,6 +VTS,1,6,1080,9.34,CRD,26.5 +VTS,1,6,1440,11.73,CRD,34 +VTS,1,6,780,4.12,CRD,14 +VTS,1,6,780,3.41,CSH,13.5 +VTS,1,6,1320,8.66,CRD,27 +VTS,1,6,120,0.36,CSH,3.5 +VTS,1,6,780,3.73,CSH,13.5 +VTS,1,6,840,4.95,CSH,15.5 +VTS,1,6,540,2.92,CSH,11 +VTS,1,6,1260,2.4,CSH,14.5 +VTS,1,6,900,1.93,CSH,11 +VTS,1,6,600,3.56,CRD,12.5 +VTS,1,6,1020,2.54,CSH,12.5 +VTS,1,6,420,2.3,CSH,8.5 +VTS,1,6,1680,12.93,CSH,38.5 +VTS,1,3,60,0.09,CSH,2.5 +VTS,1,2,180,0.71,CSH,4.5 +VTS,1,2,360,1.77,CRD,7.5 +VTS,1,2,540,1.69,CSH,8.5 +VTS,1,1,1620,10.52,CSH,31 +VTS,1,2,840,2.74,CRD,12 +VTS,1,2,480,2.11,CSH,9 +VTS,1,3,780,4.06,CSH,14.5 +VTS,1,1,420,1.07,CRD,6 +VTS,1,2,540,2.2,CRD,9 +VTS,1,1,420,1.21,CRD,7 +VTS,1,2,1200,4.47,CRD,17.5 +VTS,1,6,900,8.48,CRD,24.5 +VTS,1,1,240,0.91,CRD,5 +VTS,1,6,600,3.2,CRD,11 +VTS,1,1,300,0.81,CSH,5 +VTS,1,6,1140,5.17,CRD,19 +VTS,1,6,840,5.11,CSH,17 +VTS,1,6,420,1.93,CSH,8 +VTS,1,6,360,1.05,CSH,6 +VTS,1,6,480,1.99,CRD,8.5 +VTS,1,6,780,5.34,CRD,17 +VTS,1,6,120,0.5,CRD,4 +VTS,1,6,960,6.68,CSH,20.5 +VTS,1,3,180,0.55,CSH,4.5 +VTS,1,2,540,1.96,CSH,8.5 +VTS,1,6,300,1.37,CSH,6.5 +VTS,1,6,1140,5.36,CSH,18 +VTS,1,6,300,0.78,CRD,5 +VTS,1,6,360,2.14,CRD,8 +VTS,1,6,480,2.01,CRD,8.5 +VTS,1,2,180,0.53,CSH,4 +VTS,1,1,960,4.52,CSH,16 +VTS,1,1,600,1.76,CRD,9 +VTS,1,3,540,2.52,CSH,9.5 +VTS,1,2,780,3.07,CSH,12 +VTS,1,4,1140,3.1,CSH,15.5 +VTS,1,2,180,0.87,CSH,4.5 +VTS,1,2,600,0.69,CRD,7 +VTS,1,1,1080,2.24,CRD,12.5 +VTS,1,1,660,2.95,CRD,11.5 +VTS,1,1,180,0.9,CSH,5 +VTS,1,1,600,1.28,CRD,8 +VTS,1,1,660,2.48,CSH,10.5 +VTS,1,2,600,2.35,CRD,10.5 +VTS,1,1,180,0.35,CSH,4 +VTS,1,1,1320,5.63,CRD,20.5 +VTS,1,2,720,2.13,CRD,10.5 +VTS,1,1,300,0.99,CSH,5.5 +VTS,1,2,180,0.85,CRD,5 +VTS,1,3,960,2.23,CSH,12 +VTS,1,1,480,0.69,CSH,7 +VTS,1,6,720,1.68,CRD,10 +VTS,1,2,240,1.57,CRD,6.5 +VTS,1,6,1020,3.27,CRD,14.5 +VTS,1,6,900,2.66,CSH,12 +VTS,1,6,660,2.84,CSH,11.5 +VTS,1,6,780,3.8,CSH,14 +VTS,1,6,660,1.85,CSH,9.5 +VTS,1,6,1020,3.53,CRD,14 +VTS,1,1,1920,4.55,CSH,21.5 +VTS,1,6,960,7.71,CRD,22.5 +VTS,1,6,240,1.07,CRD,5.5 +VTS,1,6,2160,5.56,CRD,25.5 +VTS,1,6,1080,1.56,CSH,12 +VTS,1,6,720,4.65,CRD,15.5 +VTS,1,6,360,2.53,CSH,9 +VTS,1,6,960,2.4,CRD,12 +VTS,1,6,600,2.58,CSH,10 +VTS,1,6,300,1.81,CSH,7 +VTS,1,6,540,1.42,CRD,7.5 +VTS,1,6,240,1.03,CSH,5.5 +VTS,1,6,240,1.06,CSH,5.5 +VTS,1,6,780,2.44,CSH,11 +VTS,1,2,1140,1.72,CSH,12.5 +VTS,1,6,240,0.72,CRD,5 +VTS,1,6,180,0.38,CRD,4 +VTS,1,2,120,0.58,CSH,4 +VTS,1,6,840,2.75,CRD,12 +VTS,1,6,720,3.18,CSH,12.5 +VTS,1,6,780,3.05,CRD,11.5 +VTS,1,6,480,2.62,CRD,9.5 +VTS,1,2,1200,6.32,CSH,20.5 +VTS,1,6,1140,9.47,CSH,28 +VTS,1,6,420,1.57,CRD,7.5 +VTS,1,6,420,2.1,CRD,8.5 +VTS,1,6,180,0.81,CRD,4.5 +VTS,1,1,540,2.44,CSH,10 +VTS,1,6,420,1.26,CSH,7 +VTS,1,6,840,6.5,CSH,19.5 +VTS,2,6,2280,21.17,CRD,52 +VTS,1,6,900,2.98,CSH,12.5 +VTS,1,1,720,2.02,CSH,10 +VTS,1,6,240,0.59,CRD,4.5 +VTS,1,6,240,1.25,CRD,6 +VTS,1,6,420,1.57,CRD,7.5 +VTS,1,6,720,3.08,CSH,12 +VTS,1,6,180,0.45,CSH,3.5 +VTS,2,6,1440,17.03,CRD,52 +VTS,1,1,360,1.3,CRD,6.5 +VTS,1,6,660,4.41,CRD,13.5 +VTS,1,1,780,1.54,CRD,10 +VTS,1,1,780,2.2,CSH,11 +VTS,1,6,420,1.15,CRD,7 +VTS,1,6,480,2.03,CSH,9 +VTS,1,6,240,0.69,CRD,5 +VTS,1,6,300,0.91,CSH,5.5 +VTS,1,1,480,2.14,CSH,8.5 +VTS,1,6,900,1.94,CRD,11 +VTS,1,6,960,4.07,CRD,15 +VTS,1,6,240,0.62,CRD,5 +VTS,1,6,300,1.12,CRD,6.5 +VTS,1,6,300,0.94,CSH,6 +VTS,1,1,780,4.16,CSH,14 +VTS,1,3,480,0.94,CSH,7 +VTS,1,2,540,1.47,CSH,8 +VTS,1,2,480,1.12,CRD,7 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,300,1.17,CSH,6 +VTS,1,2,1380,6.87,CRD,24 +VTS,1,2,660,1.94,CRD,9 +VTS,1,2,180,0.28,CSH,3.5 +VTS,1,1,1020,4,CRD,15 +VTS,1,3,720,1.67,CRD,9.5 +VTS,1,2,180,0.23,CSH,4 +VTS,1,1,900,2.02,CSH,10.5 +VTS,1,1,1020,2.69,CRD,13 +VTS,1,1,420,1.59,CRD,8 +VTS,1,1,420,1.23,CRD,7 +VTS,1,2,840,2.54,CSH,11.5 +VTS,1,2,780,4.43,CRD,15 +VTS,1,2,480,1.34,CSH,7 +VTS,1,2,360,0.77,CRD,6 +VTS,1,2,180,0.6,CSH,4 +VTS,1,3,180,0.8,CSH,4.5 +VTS,1,2,300,1.63,CSH,7 +VTS,1,2,180,0.39,CSH,4 +VTS,1,3,420,1.31,CSH,7 +VTS,1,2,1500,6.25,CSH,22.5 +VTS,1,2,480,1.85,CRD,8.5 +VTS,1,2,960,4.14,CSH,16 +VTS,1,2,300,0.96,CRD,5.5 +VTS,1,2,1080,7.15,CRD,22.5 +VTS,1,2,1140,6.49,CRD,20.5 +VTS,1,2,1620,12.67,CRD,36.5 +VTS,1,2,180,0.49,CSH,4 +VTS,1,2,1740,4.86,CSH,21 +VTS,1,2,60,0,CSH,2.5 +VTS,1,1,960,7.7,CRD,23 +VTS,1,1,540,1.34,CRD,8.5 +VTS,1,6,960,1.5,CSH,11.5 +VTS,1,2,480,1.78,CSH,8 +VTS,1,1,360,1.32,CSH,6.5 +VTS,1,2,1200,4.4,CRD,17 +VTS,1,6,420,1.85,CSH,8.5 +VTS,1,6,120,0.86,CSH,5 +VTS,1,1,600,1.94,CRD,9 +VTS,1,6,360,1.13,CRD,6 +VTS,1,1,480,1.54,CSH,8 +VTS,1,6,1320,15.1,CSH,42 +VTS,1,6,960,5.7,CRD,18 +VTS,1,6,600,2.19,CSH,9.5 +VTS,1,1,240,0.61,CSH,4.5 +VTS,1,2,480,1.95,CSH,8.5 +VTS,1,1,420,3.04,CSH,10.5 +VTS,1,1,360,1.31,CRD,6.5 +VTS,1,6,360,1.27,CSH,6.5 +VTS,1,6,120,0.39,CRD,3.5 +VTS,1,6,120,0.88,CRD,4.5 +VTS,1,1,420,1.14,CRD,7 +VTS,1,6,600,5.06,CSH,16 +VTS,1,6,1260,6.04,CRD,22 +VTS,1,6,420,2.64,CRD,9.5 +VTS,1,6,360,1.4,CRD,7 +VTS,1,6,1920,5.2,CRD,23 +VTS,1,6,180,0.47,CSH,4 +VTS,1,6,900,2.51,CSH,11.5 +VTS,1,6,1020,8.57,CRD,25 +VTS,1,6,720,1.36,CSH,9 +VTS,1,6,180,0.64,CSH,4.5 +VTS,1,6,60,0.52,CRD,3.5 +VTS,1,1,660,1.98,CRD,9.5 +VTS,1,6,1260,7.03,CRD,23 +VTS,1,6,240,1.02,CSH,5.5 +VTS,1,6,1140,3.54,CRD,15.5 +VTS,1,6,2640,8.27,CRD,31.5 +VTS,1,6,1200,3.93,CSH,16 +VTS,1,6,420,1.45,CRD,7 +VTS,1,6,180,1.35,CRD,5.5 +VTS,1,1,360,1.54,CRD,7 +VTS,1,3,1140,5.42,CSH,19 +VTS,1,1,540,2.47,CSH,9.5 +VTS,1,1,240,0.55,CSH,4.5 +VTS,1,1,1320,5.89,CSH,21.5 +VTS,1,1,180,0.4,CRD,3.5 +VTS,1,2,840,3.3,CSH,13 +VTS,1,1,1260,4.43,CRD,17.5 +VTS,1,1,420,3.16,CRD,10.5 +VTS,1,1,180,0.35,CSH,3.5 +VTS,1,1,720,2.59,CRD,11 +VTS,1,1,900,2.6,CRD,12 +VTS,1,4,1140,4.91,CSH,19 +VTS,1,1,960,6.88,CSH,21 +VTS,1,2,660,2.14,CSH,10 +VTS,1,1,480,1.53,CRD,8 +VTS,1,3,1020,2.68,CRD,13.5 +VTS,1,2,840,3.53,CRD,13 +VTS,1,2,720,2.16,CRD,11 +VTS,1,6,480,4.27,CSH,14 +VTS,1,6,360,1.59,CSH,6.5 +VTS,1,6,600,2.05,CRD,9 +VTS,1,6,420,2.2,CRD,8.5 +VTS,1,6,780,4.88,CRD,15.5 +VTS,1,6,420,0.51,CSH,5.5 +VTS,2,6,1860,17.92,CRD,52 +VTS,1,6,540,1.78,CRD,8.5 +VTS,1,6,960,2.37,CSH,12.5 +VTS,1,2,720,2.78,CRD,11.5 +VTS,1,1,360,3.94,CSH,12.5 +VTS,1,1,1080,10.07,CRD,28.5 +VTS,1,2,600,2.62,CRD,10.5 +VTS,1,3,300,1.07,CSH,6 +VTS,1,2,540,1.58,CSH,8 +VTS,1,2,780,2.65,CSH,12 +VTS,1,2,1140,2.68,CSH,12 +VTS,1,1,660,2.16,CRD,10.5 +VTS,1,1,660,2.03,CSH,10 +VTS,1,1,600,2.62,CRD,10 +VTS,1,1,720,1.94,CRD,10.5 +VTS,1,2,540,1.79,CRD,8.5 +VTS,1,1,300,1.07,CSH,6 +VTS,1,1,480,0.76,CSH,5.5 +VTS,1,3,540,2.38,CSH,9.5 +VTS,1,2,240,0.84,CRD,4.5 +VTS,1,6,540,2.95,CRD,10.5 +VTS,1,6,420,0.77,CRD,6 +VTS,1,6,900,3.16,CRD,13 +VTS,1,6,960,3.52,CRD,13.5 +VTS,1,2,420,2.99,CRD,10 +VTS,1,1,840,2.69,CSH,12.5 +VTS,1,2,360,1.92,CSH,7.5 +VTS,1,2,360,1.32,CRD,7 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,300,0.79,CSH,5 +VTS,1,1,300,1.06,CRD,5.5 +VTS,1,1,540,2.85,CRD,10.5 +VTS,1,1,1500,2.27,CRD,16 +VTS,1,1,60,0.52,CRD,3.5 +VTS,1,1,360,1.46,CSH,7 +VTS,1,1,780,1.7,CRD,10 +VTS,1,1,1020,3.4,CSH,14.5 +VTS,1,3,480,1.7,CSH,8 +VTS,1,1,240,1.06,CSH,5.5 +VTS,1,2,900,4.31,CRD,15 +VTS,1,2,540,1.74,CSH,8.5 +VTS,1,1,240,1.03,CSH,5.5 +VTS,1,1,660,2.04,CSH,10.5 +VTS,1,1,180,0.5,CSH,4 +VTS,1,2,360,0.97,CRD,5.5 +VTS,1,1,1140,4.57,CRD,16 +VTS,1,6,240,0.56,CRD,5 +VTS,1,6,420,1.2,CSH,7 +VTS,1,2,720,4.29,CRD,14.5 +VTS,1,1,300,1.14,CRD,6 +VTS,1,1,1740,5,CRD,21.5 +VTS,1,1,240,0.61,CRD,4.5 +VTS,1,2,720,2,CRD,10 +VTS,1,1,660,1.89,CSH,9 +VTS,1,1,180,0.74,CRD,4.5 +VTS,1,1,60,0.28,CRD,3 +VTS,1,1,240,0.42,CRD,4 +VTS,1,2,660,2.08,CSH,9.5 +VTS,1,2,900,3.02,CSH,13 +VTS,1,1,300,0.8,CSH,5.5 +VTS,1,1,600,2.2,CRD,9.5 +VTS,1,1,1020,3.03,CRD,13.5 +VTS,1,3,1620,7.02,CRD,25.5 +VTS,1,2,540,1.4,CSH,8 +VTS,1,1,420,1.45,CSH,7.5 +VTS,1,1,420,1.44,CRD,7 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,3,300,0.78,CSH,5.5 +VTS,1,1,600,1.21,CSH,7.5 +VTS,1,2,900,1.5,CRD,10.5 +VTS,1,1,660,3.33,CRD,12 +VTS,1,1,1200,3.06,CRD,14.5 +VTS,1,6,720,1.47,CSH,9 +VTS,1,6,780,1.48,CRD,9.5 +VTS,1,6,120,0.21,CSH,3.5 +VTS,1,6,780,3.61,CSH,13 +VTS,1,6,900,1.9,CRD,11.5 +VTS,1,6,960,4.86,CRD,16.5 +VTS,1,6,480,2.64,CSH,9.5 +VTS,1,1,300,1.11,CSH,6 +VTS,1,2,660,2.7,CSH,10.5 +VTS,1,1,480,1.2,CRD,7.5 +VTS,1,1,540,1.67,CSH,8.5 +VTS,1,1,300,1.25,CSH,5.5 +VTS,1,3,600,1.37,CRD,8 +VTS,1,2,480,1.36,CRD,7 +VTS,1,1,360,1.05,CRD,6 +VTS,1,4,840,2.16,CSH,10.5 +VTS,1,2,240,0.44,CSH,4.5 +VTS,1,3,780,1.95,CSH,10 +VTS,1,1,540,1.05,CRD,7.5 +VTS,1,2,300,1.35,CRD,6.5 +VTS,1,1,900,3.25,CSH,13.5 +VTS,1,3,1500,7.13,CSH,24 +VTS,1,2,2100,10.35,CSH,35 +VTS,1,1,540,1.23,CSH,7.5 +VTS,1,1,480,0.83,CSH,6.5 +VTS,1,1,1560,3.67,CSH,19 +VTS,1,4,1320,2.89,CRD,15.5 +VTS,1,1,720,1.61,CRD,9.5 +VTS,1,1,300,0.67,CSH,5 +VTS,1,1,840,3.52,CSH,13.5 +VTS,1,2,900,1.65,CSH,10.5 +VTS,1,1,420,1.12,CRD,6.5 +VTS,1,1,420,1,CRD,6.5 +VTS,1,2,240,0.78,CSH,5.5 +VTS,1,1,1380,3.45,CSH,17.5 +VTS,1,1,420,0.9,CRD,6 +VTS,1,1,180,0.34,CSH,4 +VTS,1,1,780,1.93,CRD,10.5 +VTS,1,2,600,0.93,CRD,7.5 +VTS,1,1,480,1.14,CRD,7 +VTS,1,1,780,2.48,CRD,11.5 +VTS,1,1,1020,2.31,CRD,12 +VTS,1,1,840,1.19,CSH,9.5 +VTS,1,1,540,1.23,CSH,7.5 +VTS,1,1,720,1.2,CSH,9 +VTS,1,1,360,0.56,CRD,5 +VTS,1,1,240,0.67,CRD,4.5 +VTS,1,2,540,2.95,CRD,11 +VTS,1,1,420,1.54,CRD,7 +VTS,1,1,600,2.19,CRD,9.5 +VTS,1,1,120,0.79,CSH,4.5 +VTS,1,4,480,1.47,CSH,7.5 +VTS,1,6,840,2.09,CSH,11 +VTS,1,6,780,3.21,CRD,12 +VTS,1,6,300,1.51,CRD,6.5 +VTS,1,1,600,2.74,CSH,10.5 +VTS,1,3,180,0.84,CSH,5 +VTS,1,3,420,1.57,CSH,8 +VTS,1,4,300,1.29,CSH,6 +VTS,1,1,420,1.49,CRD,7.5 +VTS,1,3,120,0.47,CSH,3.5 +VTS,1,2,240,0.81,CRD,5 +VTS,1,1,600,1.56,CSH,8.5 +VTS,1,1,660,1.14,CSH,8.5 +VTS,1,2,540,1.37,CRD,7.5 +VTS,1,1,540,1.02,CSH,7 +VTS,1,1,720,2.09,CRD,10.5 +VTS,1,1,360,1.78,CSH,7.5 +VTS,1,1,120,0.2,CSH,3 +VTS,1,4,240,0.75,CSH,5 +VTS,1,2,1140,5.1,CSH,19 +VTS,1,1,360,1.67,CSH,7.5 +VTS,1,2,240,1.06,CRD,5 +VTS,1,3,1260,2.05,CRD,14 +VTS,1,1,360,0.87,CSH,6 +VTS,1,2,420,0.95,CSH,6.5 +VTS,1,1,420,0.87,CRD,6 +VTS,1,1,480,0.84,CSH,7 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,1,540,1.65,CRD,8 +VTS,1,3,720,1.24,CSH,8.5 +VTS,1,1,720,3,CSH,12 +VTS,1,2,840,3.14,CRD,13 +VTS,1,1,840,2.04,CRD,11 +VTS,1,1,960,1.55,CRD,11 +VTS,1,2,1500,4.32,CSH,19 +VTS,1,1,1380,11.55,CRD,33 +VTS,1,2,240,0.79,CRD,5 +VTS,1,1,540,1.47,CRD,8 +VTS,1,1,300,1.08,CSH,5.5 +VTS,1,1,240,0.45,CSH,5 +VTS,1,1,720,1.62,CSH,9 +VTS,1,1,840,1.8,CSH,11 +VTS,1,1,360,1.37,CRD,6.5 +VTS,1,1,360,1.71,CRD,7.5 +VTS,1,1,780,2.34,CRD,11 +VTS,1,2,240,0.88,CRD,5.5 +VTS,1,2,420,1.12,CSH,7 +VTS,1,1,300,0.99,CRD,5.5 +VTS,1,1,480,1.39,CRD,7.5 +VTS,1,1,540,1.58,CSH,8.5 +VTS,1,2,300,0.9,CRD,5 +VTS,1,3,1020,3.39,CRD,14 +VTS,1,1,360,1.4,CSH,7 +VTS,1,1,960,2.26,CSH,12.5 +VTS,1,1,1740,8.5,CRD,29 +VTS,1,2,600,1.8,CRD,8.5 +VTS,1,5,660,1.22,CSH,8 +VTS,1,1,540,1.03,CRD,7 +VTS,1,1,1140,3.08,CRD,14.5 +VTS,1,1,1440,4.47,CSH,19.5 +VTS,1,1,720,1.88,CSH,10 +VTS,1,2,960,1.87,CSH,11.5 +VTS,1,2,600,1.57,CRD,8.5 +VTS,1,1,780,2.04,CRD,10 +VTS,1,1,480,1.31,CRD,7 +VTS,1,1,1080,3.65,CSH,15 +VTS,1,1,360,0.89,CRD,5.5 +VTS,1,1,180,0.8,CRD,5 +VTS,1,1,660,1.92,CRD,9.5 +VTS,1,1,480,1.69,CSH,8 +VTS,1,1,540,2.4,CRD,9.5 +VTS,1,1,1080,3.89,CRD,15 +VTS,1,3,1080,4.02,CSH,16 +VTS,1,4,1080,3.4,CSH,15 +VTS,1,2,600,1.6,CSH,8.5 +VTS,1,1,600,1.34,CSH,8.5 +VTS,1,1,660,1.41,CRD,8.5 +VTS,1,1,720,1.8,CRD,9.5 +VTS,1,2,3300,11.97,CSH,44 +VTS,1,1,120,0.64,CRD,4.5 +VTS,1,2,180,0.55,CSH,4.5 +VTS,1,2,360,1.7,CSH,7 +VTS,1,1,1020,2.95,CRD,13 +VTS,1,1,840,1.57,CRD,10.5 +VTS,1,2,780,2.37,CRD,10.5 +VTS,1,1,1560,6.92,CRD,24 +VTS,1,1,780,2.74,CRD,11.5 +VTS,2,1,2400,17.6,CSH,52 +VTS,1,2,120,0.54,CSH,4 +VTS,1,5,1200,4.97,CSH,19.5 +VTS,1,2,300,0.81,CSH,5.5 +VTS,1,1,660,1.33,CSH,8.5 +VTS,1,2,600,2.43,CRD,10 +VTS,1,1,420,1.42,CSH,6.5 +VTS,1,1,180,0.88,CRD,5 +VTS,1,1,540,1.19,CRD,7.5 +VTS,1,2,360,1.78,CRD,7.5 +VTS,1,1,420,1.35,CRD,7 +VTS,1,1,660,1.95,CRD,9.5 +VTS,2,1,1800,18.46,CRD,52 +VTS,1,1,1500,7.17,CSH,25 +VTS,1,1,480,1.37,CSH,7 +VTS,1,1,360,0.63,CSH,5 +VTS,1,2,1440,3.1,CRD,16 +VTS,1,1,720,1.68,CSH,10 +VTS,1,1,600,1.61,CRD,9 +VTS,1,1,300,0.52,CSH,5 +VTS,1,2,600,2.23,CRD,9.5 +VTS,1,1,480,4.6,CSH,14 +VTS,1,1,360,1.4,CSH,6.5 +VTS,1,1,300,0.64,CSH,5 +VTS,1,2,960,1.83,CRD,11.5 +VTS,1,1,480,0.95,CRD,7 +VTS,1,1,960,1.09,CRD,10 +VTS,1,6,1560,7.51,CRD,25 +VTS,1,6,840,4.5,CSH,15.5 +VTS,1,6,300,0.42,CSH,4.5 +VTS,1,6,720,0.69,CSH,8.5 +VTS,1,6,600,1.91,CRD,9.5 +VTS,1,6,1260,3.57,CRD,16.5 +VTS,1,6,600,2.18,CSH,8.5 +VTS,1,6,660,2.07,CSH,9.5 +VTS,1,6,600,2.34,CRD,10 +VTS,1,6,240,0.69,CSH,4.5 +VTS,1,6,960,2.01,CRD,11.5 +VTS,1,5,300,0.64,CRD,5 +VTS,1,6,180,0.62,CSH,4 +VTS,1,6,660,2.71,CSH,11 +VTS,1,1,480,0.66,CSH,6.5 +VTS,1,6,480,1.56,CSH,7.5 +VTS,1,6,420,0.73,CRD,6 +VTS,1,1,1020,2.22,CRD,12.5 +VTS,1,1,720,1.19,CRD,8.5 +VTS,1,1,600,1.55,CSH,8.5 +VTS,1,1,300,0.58,CRD,5 +VTS,1,6,540,1.06,CSH,7.5 +VTS,1,1,600,0.91,CSH,7.5 +VTS,1,1,600,0.87,CRD,7.5 +VTS,1,1,780,2.12,CRD,10.5 +VTS,1,6,720,2.39,CSH,10 +VTS,1,2,1020,4.01,CRD,14.5 +VTS,1,6,480,1.76,CRD,8 +VTS,1,6,360,0.99,CSH,6 +VTS,1,6,480,1.77,CRD,8 +VTS,1,6,240,0.92,CSH,5 +VTS,1,1,540,3.28,CRD,11.5 +VTS,1,6,840,5.15,CRD,17 +VTS,1,6,1380,8.77,CRD,27.5 +VTS,1,6,660,2.93,CRD,11.5 +VTS,1,6,900,3.01,CRD,12.5 +VTS,1,6,360,0.99,CSH,6 +VTS,1,6,600,1.46,CSH,8.5 +VTS,1,6,1680,7.51,CRD,25 +VTS,1,6,840,2.47,CRD,11.5 +VTS,1,1,180,0.35,CSH,4 +VTS,1,6,480,1.26,CSH,7 +VTS,1,6,780,2.82,CSH,11.5 +VTS,1,1,300,1.62,CRD,7 +VTS,1,1,900,1.97,CRD,11.5 +VTS,1,1,420,0.76,CSH,6 +VTS,1,1,180,0.7,CSH,4.5 +VTS,1,1,120,0.25,CSH,3 +VTS,1,1,1080,1.87,CRD,12 +VTS,1,1,600,0.99,CSH,8 +VTS,1,1,1020,2.33,CRD,12 +VTS,1,1,660,1.11,CSH,8.5 +VTS,1,6,600,1.37,CRD,8.5 +VTS,1,6,120,0.73,CSH,4.5 +VTS,1,6,540,2.03,CRD,9 +VTS,1,6,180,0.65,CRD,4.5 +VTS,1,6,720,2.9,CSH,11.5 +VTS,1,5,180,0.68,CSH,4.5 +VTS,1,6,780,2.45,CSH,11 +VTS,1,6,660,1.18,CRD,8.5 +VTS,1,6,660,1.56,CRD,9 +VTS,1,6,960,2.3,CRD,11.5 +VTS,1,6,360,0.7,CSH,6 +VTS,1,6,1440,2.97,CSH,15 +VTS,1,6,660,2.23,CSH,10 +VTS,1,6,600,1.14,CRD,8 +VTS,1,6,900,4.06,CRD,15.5 +VTS,1,6,300,0.56,CSH,5 +VTS,1,6,1320,3.89,CRD,16.5 +VTS,1,3,540,2.23,CRD,10 +VTS,1,3,180,0.4,CSH,4 +VTS,1,1,120,0.21,CSH,3 +VTS,1,1,600,1.08,CSH,8 +VTS,1,1,960,3.25,CRD,13 +VTS,1,1,240,1.11,CSH,5.5 +VTS,1,1,780,1.72,CRD,9.5 +VTS,1,4,660,2.94,CSH,11 +VTS,1,5,840,4.19,CSH,15 +VTS,1,1,720,2.52,CSH,11 +VTS,1,1,420,1.55,CSH,7 +VTS,1,1,960,2.29,CRD,11.5 +VTS,1,1,120,0.25,CSH,3.5 +VTS,1,1,660,2.02,CSH,9.5 +VTS,1,1,600,1.47,CRD,8 +VTS,1,1,1980,11.74,CSH,38 +VTS,1,1,1140,2.77,CRD,14 +VTS,1,2,540,1.71,CRD,9 +VTS,1,1,720,2.48,CSH,10.5 +VTS,1,1,240,0.59,CRD,5 +VTS,1,1,1740,2.01,CRD,17.5 +VTS,1,1,660,1.04,CRD,8.5 +VTS,1,6,1260,2.91,CSH,15.5 +VTS,1,6,360,0.95,CRD,6 +VTS,1,6,240,0.88,CSH,5 +VTS,1,6,540,1.91,CSH,8.5 +VTS,1,2,780,1.02,CSH,9 +VTS,1,1,660,1.55,CRD,8.5 +VTS,1,6,300,1.35,CRD,6.5 +VTS,1,6,900,4.49,CSH,16 +VTS,1,6,120,0.39,CSH,3.5 +VTS,1,6,360,1.4,CRD,7 +VTS,1,6,480,1.75,CRD,8 +VTS,1,1,240,0.96,CSH,5 +VTS,1,6,480,1.37,CSH,7.5 +VTS,1,6,660,1.59,CRD,9 +VTS,1,6,540,1.75,CSH,8.5 +VTS,1,6,360,0.85,CRD,6 +VTS,1,1,480,0.66,CSH,6.5 +VTS,1,6,1020,2.01,CSH,12 +VTS,1,6,660,1.6,CSH,9 +VTS,1,6,540,1.38,CRD,7.5 +VTS,1,6,360,0.88,CSH,5.5 +VTS,1,6,360,1.1,CRD,6.5 +VTS,1,6,300,0.96,CSH,5.5 +VTS,1,6,840,1.82,CRD,10.5 +VTS,1,6,120,0.4,CSH,3.5 +VTS,1,6,480,1.21,CSH,7.5 +VTS,1,1,660,1.7,CRD,9.5 +VTS,1,6,540,1.26,CRD,7.5 +VTS,1,6,180,0.61,CRD,4 +VTS,1,6,300,0.82,CRD,5.5 +VTS,1,6,540,2.38,CRD,10 +VTS,1,6,840,4.43,CRD,15.5 +VTS,1,6,540,2.34,CRD,10 +VTS,2,6,1740,19.06,CRD,52 +VTS,1,6,300,0.87,CRD,5.5 +VTS,1,6,720,1.96,CRD,9.5 +VTS,3,6,2160,18.11,CSH,68 +VTS,1,6,360,1.24,CSH,6 +VTS,1,1,660,2.42,CSH,10.5 +VTS,1,6,120,0.63,CRD,4 +VTS,1,6,600,1.78,CSH,9 +VTS,1,6,120,0.53,CSH,3.5 +VTS,1,6,180,0.3,CSH,4 +VTS,1,6,1440,6.54,CRD,23 +VTS,1,6,840,3.29,CSH,13.5 +VTS,1,1,540,1.55,CSH,8 +VTS,1,6,480,1.04,CSH,7 +VTS,1,6,600,1.24,CSH,8 +VTS,1,6,300,0.89,CSH,6 +VTS,1,6,1440,3.54,CSH,18 +VTS,1,6,300,1.33,CSH,6.5 +VTS,1,6,600,1.59,CSH,9 +VTS,1,6,1140,6.18,CRD,20.5 +VTS,1,6,480,2.43,CRD,9.5 +VTS,1,6,480,1.8,CRD,8.5 +VTS,1,6,420,3.05,CSH,10.5 +VTS,1,1,1020,2.16,CRD,12 +VTS,1,1,360,1.16,CRD,6 +VTS,1,1,1500,4.76,CRD,20 +VTS,1,3,780,2.08,CSH,10.5 +VTS,1,1,420,0.47,CSH,6 +VTS,1,1,1020,2.48,CRD,12.5 +VTS,1,2,420,0.78,CSH,5.5 +VTS,1,1,720,2.03,CRD,10 +VTS,1,1,660,1.05,CRD,8 +VTS,1,1,1800,5.44,CRD,24 +VTS,1,2,480,1.72,CSH,8 +VTS,1,2,540,1.41,CRD,8 +VTS,1,1,480,1.13,CSH,7 +VTS,1,1,1260,4.64,CSH,18 +VTS,1,1,1680,5.41,CRD,22 +VTS,1,1,420,1.46,CSH,7.5 +VTS,1,1,540,2,CRD,8.5 +VTS,1,1,1500,4.53,CSH,19.5 +VTS,1,2,480,1.58,CRD,8 +VTS,1,1,1920,6.94,CRD,24.5 +VTS,1,1,1500,3.72,CRD,17.5 +VTS,1,1,360,1.04,CRD,6.5 +VTS,1,1,300,0.93,CRD,5 +VTS,1,1,1140,3.04,CRD,14 +VTS,1,6,240,0.95,CRD,5.5 +VTS,1,1,480,0.87,CSH,7 +VTS,1,6,300,1.19,CSH,6.5 \ No newline at end of file diff --git a/src/Samples/Data/wikipedia-detox-250-line-data.tsv b/src/Samples/Data/wikipedia-detox-250-line-data.tsv new file mode 100644 index 0000000000..3da69df458 --- /dev/null +++ b/src/Samples/Data/wikipedia-detox-250-line-data.tsv @@ -0,0 +1,250 @@ +Sentiment SentimentText +1 ==RUDE== Dude, you are rude upload that carl picture back, or else. +1 == OK! == IM GOING TO VANDALIZE WILD ONES WIKI THEN!!! +1 Stop trolling, zapatancas, calling me a liar merely demonstartes that you arer Zapatancas. You may choose to chase every legitimate editor from this site and ignore me but I am an editor with a record that isnt 99% trolling and therefore my wishes are not to be completely ignored by a sockpuppet like yourself. The consensus is overwhelmingly against you and your trollin g lover Zapatancas, +1 ==You're cool== You seem like a really cool guy... *bursts out laughing at sarcasm*. +1 ::::: Why are you threatening me? I'm not being disruptive, its you who is being disruptive. +1 == hey waz up? == hey ummm... the fif four fifty one song... was the info inacurate? did i spell something wrong? hmm... cause i don't think you have a right to delete ANYTHING that is accurate and that peple may want to read about fool. i don't like being pushed around especially by some little boy. got it? +0 ::::::::::I'm not sure either. I think it has something to do with merely ahistorical vs being derived from pagan myths. Price does believe the latter, I'm not sure about other CMT proponents. +0 " *::Your POV and propaganda pushing is dully noted. However listing interesting facts in a netral and unacusitory tone is not POV. You seem to be confusing Censorship with POV monitoring. I see nothing POV expressed in the listing of intersting facts. If you want to contribute more facts or edit wording of the cited fact to make them sound more netral then go ahead. No need to CENSOR interesting factual information. " +0 == File:Hildebrandt-Greg and Tim.jpg listed for deletion == An image or media file that you uploaded or altered, File:Hildebrandt-Greg and Tim.jpg, has been listed at Wikipedia:Files for deletion. Please see the discussion to see why this is (you may have to search for the title of the image to find its entry), if you are interested in it not being deleted. +0 ::::::::This is a gross exaggeration. Nobody is setting a kangaroo court. There was a simple addition concerning the airline. It is the only one disputed here. +1 "::No, I won't unrevert your edits!"" ""sounds more like you're writing their MARKETING material!!"" Don't get bossy with me. Or snippy either, Miss religious Bigot! Kindly leave your hatred for Christianity at DailyKos before you log out there and log in over here as a...er...ahem...NPOV editor " +1 ::::I heard Mark Kermode say today that Turbo was rubbish, and he's never *cough* wrong! He doesn't like F1 but he loved Senna and liked Rush as well. +1 I am a sock puppet? THAT is my ban reason? This is my only account, and thanks for ignoring the bulk of my text. Wikipedia IS corrupt AND populated by idiots. I am free to say this, so please refrain from saying anything like that again. I didn't get banned for trolling, or personal attacks, I got banned because I changed an article to NPOV when the far majority of the editors here would rather the see the BNP article as a diatribe denouncing the party. +1 You twit, read the article before you revert edits. Power-mad jerks like you are ruining this place +0 " A tag has been placed on Jerome leung kam, requesting that it be speedily deleted from Wikipedia. This has been done because the article appears to be about a person, group of people, band, club, company, or web content, but it does not indicate how or why the subject is notable: that is, why an article about that subject should be included in an encyclopedia. Under the criteria for speedy deletion, articles that do not assert the subject's importance or significance may be deleted at any time. Please see the guidelines for what is generally accepted as notable. If you think that you can assert the notability of the subject, you may contest the deletion. To do this, add on the top of the page (just below the existing speedy deletion or ""db"" tag) and leave a note on the article's talk page explaining your position. Please do not remove the speedy deletion tag yourself, but don't hesitate to add information to the article that would confirm the subject's notability under Wikipedia guidelines. For guidelines on specific types of articles, you may want to check out our criteria for biographies, for web sites, for bands, or for companies. Feel free to leave a note on my talk page if you have any questions about this. " +1 ==READ THIS== This is Wikipedia. It is a place where people come for infomation. So tell me how it is that a guy wants to check John Cena's recent activity in the WWE can't because SOME people want to keep the page unedited. It is not worth my time to try to bring new infomation to a page every month or two if you NERDS just change it back. THERE IS NO POINT WHATSOEVER! If I want to put what happened at Backlash I WILL BLODDY WELL PUT WHAT HAPPENED AT BACKLASH! Don't any of you nerds try and stop me! +0 " == Administrator Complaint Filed Against You == I requested that you do not edit the article until the editor assistance has been sought. But you still added and the tag you added is fault because this is a professionally written article, besides the last section there is nothing about the article having a fan flavor to it. Before you add the add again please do show which section besides the ""What Ram's Fan's have to say about him"" seems written from a fan point of view. This article besides the last section adheres to the Wikpedia standard of writing. IF not please first prove it in my notes. As for the resource the technical person on the team is in the process of adding the refernce link to the source after which we will remove that tag as well. Once again please do not add false tags, lets wait for the editor and the administrator, I did tell the administrator to look at the history and have provided your notes to him. So at this time, just have patience and lets wait. I am also forwarding this to the administrator from whom I have requested help. Like I said before, as adminstrator came to the page and made the necessary changes, she did not find the article sub-standard, so please refrain from adding tags. " +1 It is a shame what people are here, I am disgusting of you. +0 :Hello Cielomobile. I have to say that I also belive that the edits made recently to the United States-Mexico barrier page were not vandalism. I understand that the topic of the border can be polemic, but I don't think that User:68.2.242.165 was vandalizing the page. Maybe you could use the talk page Talk:United States–Mexico barrier to lay out your objections to those edits without deleting them entirely. I think they were good-faith efforts to improve the article, and that is also one of the guiding principles of Wikipedia, to Assume Good Faith. It might help though, if the author of those edits were to register with Wikipedia so the edits won't appear merely with an IP address. +0 " == my removal of your content on DNA melting == I removed the content you placed when creating the article because it was wrong and unreferenced. Mutations do not have ""weird structures"" a point mutation might start with a single nucleotide mismatch, but those are rapidly detected and repaired to form a stable bonded double-helix structure, and subsequent rounds of DNA replication match each base with its complement. Perhaps your wording was wrong, perhaps you were thinking of an obscure related technology that I have heard of, but you didn't give a reference and I'm not going to help you with this, because you're being rude. I find it disturbing that you apparently made this scientific page on wikipedia claiming a statement of fact that was in merely based on your own speculations. " +1 wiki shold dye!they should be ashame!j +1 I suggest you kill yourself. +1 Yes, I was blocked for losing patience with you, and what I did then would constitute personal attack. Honest outspoken criticism that is based on fact is permitted though, and the shameless hate speech expressed here deserves more than just vocal criticism. As for you, I'll discuss you elsewhere. This isn't the place for that. +0 Get yourself some help. +1 == regarding threats == is not revert of person's edits, only unwarranted edit by bot. appeal has been made to bot but presumption of guilt on part of administrative base is sign of censorship so made edits again to see if reversion would occur second time. has not. please keep baseless threats to self, vulgar pedant. +1 Alright, your lack of fact checking and denial of truth is pathetic, especially by your staff. Stop making comments, just to harass me. You are assuming I'm everyone who doesn't agree with your wiki article. Pathetic. I will continue to report them until your competent employees do the right thing. +1 Telling that you wouldn't answer my question. You are a hypocrit as anyone can see +1 == YOUR INFORMATIONS ARE MISLEADING AND FULL OF ERRORS. == YOUR INFORMATIONS ARE MISLEADING AND FULL OF ERRORS. IF THIS IS THE WAY YOU SERVE PEOPLE, I PITY THEM FOR BEING BRAINWASHED WITH LIES OF YOU. +0 AND I EVEN PUT A LINK TO A HIGHLIGHTS VIDEO ON YOUTUBE +0 Wind in the Sahara rawks, too. Much more accessible than 7 pillars. +1 ::Excellent, thanks for looking into it. Some socks are quite dumb... +1 Hypocrit! you just cited a newspaper that claims to be reliable. i will incorporate and make a newspaper company then ill site it. its called TEADRINKERNEWS.com this site has no merit and you have no integrity! +1 == Conflict of interest == You are a person who is doing some sort of harm to this lady Saman Hasnain.. It is apparent that you are making sure that her name is defamed.... Okay no problem... Will get a better source... you are playing dirty... DOG Sonisona +1 REALLY REALLY ANGRY NOW GRRRRRRRRRRRR +0 " ::I also found use of the word ""humanists"" confusing. The types of people listed preceding ""humanists"" are defined by what they *do* (i.e. study, teach, do medical research) which makes sense in the context of talking about the commonplace book as one of their tools. ""Humanists"" defines people of a certain ethical ideologywhat does that have to do with the function of a commonplace book? Is the use of a commonplace book particularly defined by one's world perspective? To me this would be akin to writing ""many blogs are maintained by writers, professors, lawyers, editorialists, and Republicans/Democrats"" in an article about blogs. True though it may be, it confuses the reader into thinking that the subject being written about is somehow ideologically specific when it is not." +1 :the category was unnecesary, as explained in my edit summary. Your threats are disgrace to wikipedia. +1 == I hate you. == I hate you. I hate you! +0 " ==Drovers' Award== Better you hear it from me, and early, I suppose: The Wikipedia logo is ""All Rights Reserved, Wikimedia Foundation, Inc."", and use of it is governed by the Wikimedia visual identity guidelines, which states that ""no derivative of the Wikimedia logo can be published without prior approval from the Foundation."" " +0 " Please stop. If you continue to vandalize Wikipedia, you will be blocked from editing. | " +0 == removing a deletion review?!? == WP:SNOW doesn't apply to my deletion review since the issue is controversial. +0 Oooooh thank you Mr. DietLimeCola. Once again, nice job trying to pretend you have some authority over anybody here. You are a wannabe admin, which is even sadder than a real admin +1 Grow up you biased child. +0 :Saved without renaming; marked for rapid del. +1 ==Terrible== Anyone else agree this list is garbage? +1 == DON'T INTERFERE! == Look, I am telling you: YOU DON'T INTERFERE between me and Ohnoitsjamie. He is a filthy hog, an oldest enemy, and i can go to any extent to insult him to the fullest extent. So be a good boy, and eat potato crisps (Yummy... yummy ... munch crunch. - +0 " :Going by immediate place of origin is much more in keeping with the definition of ""Hispanic or Latino"". You're acting in good faith, obviously, but claiming every Hispanic/Latino person based on ancestry is too OR, too subjective, as can be seen from all that explaining you've had to do. There is a way to include these people we're discussing: with the support of reliable sources that refer to them as Hispanic or Latino, something that ideally should be done for everyone on the list. " +1 == Pathetic == This user needs a life +0 See the section below about the Macedonian last names, and common endings of the Macedonian last names, as well some common endings of the last names in the Slavic Languages. +0 "Hauskalainen|Tom]] RFC Response The ""criticism"" section reads like a POV essay without adequate references. I have added the appropriate tag. [[User:" +1 And, frankly, you are just as pathetic and immature, clearly these acts of annoyance are your favourite past time. +1 She's insane and a zealot. +0 " : I know you listed your English as on the ""level 2"", but don't worry, you seem to be doing nicely otherwise, judging by the same page - so don't be taken aback. I just wanted to know if you were aware of what you wrote, and think it's an interesting case. : I would write that sentence simply as ""Theoretically I am an altruist, but only by word, not by my actions."". : PS. You can reply to me on this same page, as I have it on my watchlist. " +1 == A bit of education for you... == Here is the link to Bay Lake, Florida. Now, what was that you were saying about it NOT being a city? Educate yourself a bit before you make such ludicrous ignorant comments +1 He is a CHEATER, and the article should say that. +1 " :: a.k.a. (among others) can't even get the air dates right, and the rest is a POV that is well-covered in the interesting book I cited, Hollywood Kryptonite. ""These"" users also cannot write proper English, which is what gives away that ""they"" are the same user, despite ""their"" denials. ==Reply to vandal Wakkeenah== To all the vandals and so called just administrators, the air dates are minor problems, the facts and details surrounding Reeves suicided are not being written well enough, as everybody else is reporting, the fact that Reeves was to fight Moore next day, is also being reverted, this is pure vandalism. As far as spelling goes by Vesa or Projects or whoever, well, if you keep on repeating yourself and have no time, some spelling errors might occur, but it's not the spelling that counts but content which is being vandalised by so called just users and administrators of this so called just wikipedia. And it is obvious wahkeenah has some personal interest in this, proof: All over internet we have Reeves' death explained in detail and possible people involved, but over here he is taking everything down, the idiotic administratotors are reversing it, thus making themselves look stupid and ignorant by not realizing the historical facts." +1 == Ridiculous == It's absolutely RIDICULOUS how long and detailed this article is. This is why Wikipedia is laughed at and why teachers won't allow Wikipedia to be used in schoolwork 1)the |diots writing this article are trying to demonize certain groups and 2) they're trying to revise the facts of the incident to make it seem something that it wasn't. +0 ::I agree. Trolling snitches should be protected. Where are these days when crybabies just haven't been payed attention to ? Eh, I'm waxing nostalgic.... +0 ==Fixed== Hi, I fixed up the Religion in Vietnam lead with atheism as state religion first as per your request, please take a look. The disparity in the pie chart seems mainly caused by that US institute counting 45% ancestor worship and traditional beliefs as religion, wheras officially that 45% are non-believers. It's a bit of a grey area... Second question: What do you think is better title chữ nho or chữ Hán? To my mind chữ Hán can still include Japanese and Chinese, but chữ nho is clearly Vietnamese-only, and is what Lonely Planet uses. Do you have any view? Cheers! +1 ::You should be ashamed of yourself for wasting adults' time, you ridiculous runt. +1 Good god, you wiped out my post just now. You can't even speak in coherent sentences. Bascially, you've been busted. +0 ::::I've explained beneath your unblock request that I do not feel comfortable with your proclamation. You indicated that you did not realize Banglapedia was a copyrighted source. This source bears copyright notice on every page. How can we be certain, given that, that you will not copy from other copyrighted sources without noticing that they cannot be used? I myself do not feel comfortable unblocking you until you promise not to copy from any source that you cannot prove to be without copyright restriction. +1 : Good grief have you nothing useful to do with your time? Oh well, I'll add you to the list. Fool +1 SOMETHING AWFUL IS DEAD DEAD DEAD DEAD DEAD +0 " == To the contributors of the article == Anonymiss Madchen has given you a cookie! Cookies promote WikiLove and hopefully this one has made your day better. You can Spread the ""WikiLove"" by giving someone else a cookie, whether it be someone you have had disagreements with in the past or a good friend. To spread the goodness of cookies, you can add to someone's talk page with a friendly message, or eat this cookie on the giver's talk page with ! Thank you for your hard work, and sorry about rough times in the past. I'm going to go edit other articles now. : " +1 == get a life loser. == get a life loser. +1 :::::Actually, you are the cockroach that followed me to the notice board, and repeatedly comes back to revert what I had written. FYI. 206.45.24.242 (talk) +1 I believe your actions to be pure vandalism either based on pig ignorant, racism or because you are being paid to do so. But if no one else agrees enjoy. It's more likely no one else cares either way you will reduce this to a stub or start supporting your own prejudices here. It's only wiki grow up son. This is not a conversation. The promise was a ban without farther notice so please don't give me any more notice you pathetic stooge +1 You are one of the worst page vandals I have ever seen. Your repeated vandalism of a user page shows what a pathetically insecure individual you are. +0 " :::I think the apple pie image is pretty dated. The expression ""as American as apple pie"" is dated and baseball's no longer the most popular sport in the US (football is). Plus, it's sort of weird having them on the flag. - " +1 ME IF YOU PROTECT THIS PAGE I'M GONNA KILL YOUR USER PAGE TOMORROW MORNING +0 " :::Ok, whatever, but if this separate Frankish province existed as such, then I still believe that it should be included as separate entry into disambiguation page, but I can live with the current version of the page as well. " +1 Why are you threatening me, buddy? I didn't do anything to you! And like I care about editing Wikipedia. Loser. +0 == April 2009 == Please do not attack other editors. If you continue, you will be blocked from editing Wikipedia. :If this is a shared IP address, and you didn't make any unconstructive edits, consider creating an account for yourself so you can avoid further irrelevant warnings. +1 " == HOW DARE YOU, HOW DARE YOU KUBIGULA, HOW DARE YOU!!!!!!!!!!!! == HOW DARE YOU DELETE BRILLIANT ARTICLE ON NILLIAM ""THE PHENOMENA"" TOWNSIRIS I CAN SENSE A PRESENCE ABOUT YOU BOY, AN EVIL PRESENCE, MAY THE FORCE FROM THE SPIRIT OF A SEAHORSE UNLEASH THE EXPECTO PATRONUM UPON YOU, YOU MUST EXPRESS KINDNESS TO NILLIAM TOWNSIRIS, FOR HE IS OUR SAVIOUR, THE ANSWER TO OUR ULLILOQUITY. IF YOU AS SO MUCH BLINK WHEN READING THE NEXT ARTICLE, THEN YOU WILL JUST MISS OUT THERE TIGER." +1 , 16 August 2008 (UTC) *I'm terribly disappointed by this. There are enough disagreeable people on wikipedia. I sincerely hope you change your mind again and retire, again. You suck. 14:23 +1 == Blind as bats == Not one of you has seen what I have done to this page. Obviously you rely on some form of program to revert vandalism and not your own eyes. +1 == You are just Jealous == that you aren't a part of the GAYTOURAGE... you probably don't even now how to WERQ it! Megna James +0 I hope this helps. +0 " ::I did provide a notable source for the references I was providinga book written by a respected journalist from a patient's perspective. I created a separate article for it, with tons of references, and merely put a reference to it under See Also. You deleted even that because it's allegedly an ""obscure anti-psychiatry book."" The fact is that you are biased because you have vested interests to protect. It is people like you who make sure the truth never becomes known because it would endanger your pocketbook. " +0 ==Hello== I just wanted to let you know how you can be a nicer person through therapy and talking about your past experiences that led you to be an angry antisocial person today. +1 Yes, and this page is wayyyyy too long as well. It really needs to be condensed heavily. There are much more important shows that don't have a tenth of what this article has. Shame. +0 ==Image copyright problem with Image:KissBOTI.jpg== Thank you for uploading Image:KissBOTI.jpg. However, it currently is missing information on its copyright status. Wikipedia takes copyright very seriously. It may be deleted soon, unless we can determine the license and the source of the image. If you know this information, then you can add a copyright tag to the image description page. If you have any questions, please feel free to ask them at the media copyright questions page. Thanks again for your cooperation. +0 Thanx efe, i noticed you remove 800 bytes of info on my watchlist so i went into red alert but it was a good call. +0 == Woah! == As someone who'd been the victim of his power abuse, this *really* came as a surprise to me when someone e-mailed this info to me this morning! Sorry he couldn't be more adult with his admin powers, but as Stan Lee said over four decades ago, with great power comes great responsibility. Of course, the big question now is who Matthew Fenton will run and hide behind when he gets his head handed to him over his wanton edits of the Jericho and Lost pages. +0 " == Newsletter == Thanks Indon. I tried to hide it until the delivery day, hehehhe. Have you seen it before? If not, then I have done a somewhat good job of hiding it P. Cheers " +0 == List of Malcolm in the Middle characters == Your addition to List of Malcolm in the Middle characters was excellent. Welcome! +1 OH MY just CALL THEM ROCK YOU IDIOTS!!!! +1 " ::::::::: I am not user 168.209.97.34. On what basis are you acusing me of being that user? Please answer the very simple question: Is the phrase ""anti-Islamic cut and past [sic] troll"" a personal attack or is it not a personal attack? Do you deem this to be acceptable language on Wikipedia? Pename" +0 :You did a great job in the Bailando por un sueño (Argentina) article. Congratulations! +0 : Saw your message on my homepage. Is there some reason you don't like my solution? — 3 July 2005 05:18 (UTC) +1 HHHHHHHHHHHHHHAAAAAAHAHA you're funny.. Na seriously dude. I'm reallyyyyyyy drunknnnk but ya're funny! +1 dont u speak to me like that id advise u to watch ur mouth!! +1 " :You call MacDonald's a part of your ""culture""? Nonsense! Spend some 10 years in France, and then you will have a hint of what Culture is! " +1 " ::""Somebody, go write one."" Do it yourself lazy. " +0 Please do not make personal attacks. Wikipedia has a strict policy against personal attacks. Attack pages and images are not tolerated by Wikipedia and are speedily deleted. Users who continue to create or repost such pages and images, especially those in violation of our biographies of living persons policy, will be blocked from editing Wikipedia. Thank you. +0 Thanks for your response in this matter. Our plan worke like a charm. We finally got the article negativity under control and then got it protected! +1 " ::This is ridiculous. ::Aside from the reference not actually calling it a war crime, saying that ""some"" characterize it as one doesn't make it one. ::War crimes are serious violations of the laws of war. The key words here are ""laws"" and ""war."" Unless one lives in a corrupt town, laws are made by legislatures, or in this case ratified by them, after being written and argued over by diplomats in consultation with their military's generals. The laws of war were written with the understanding that killing large numbers of people may be a legitimate and necessary part of that process. The laws of war were not written by corrupt and ignorant peaceniks sitting around dreaming up what they think would be moral. ::I'm deleting this section. It's not salvageable. :: " +1 == Who he really is == This poor guy had his IP stolen by me. Pwned! Too bad his ISP will permban him. +0 == POV issue == This article does not tell about the laws that require boards of directors, typical officers on a board, typical educations, experiences, contacts, etc. of board members. There is also nothing about the history of the concept of boards of directors. Almost the entire article is devoted to pointing out the alleged shortcomings of boards, and none of the statements have sources to verify them. I'm tagging this article as POV until these issues are resolved. +1 I'm Not vandalizing. You refuse my evidence on the talk area. You seem to be blind in your support of a Racist who calls for violence. +1 I'm not the deranged harrasser here. You and yours are. Project your personality onto someone else. +0 Please refrain from making unconstructive edits to Wikipedia, as you did to Meat grinder. Your edits appear to constitute vandalism and have been reverted. If you would like to experiment, please use the sandbox. Thank you. cab (talk) :Don't you mean: 'If you would like to experiment, please use a condom. Thank you.' +0 " :Nothing wrong with that portrait, but she was queen for 22 years, mostly as an adult. It's great for the section on her childhood. Haven't hade time to look at your English yet and help you with that, if needed. I don't see why you only took this as criticism, question my ""goal"" and got so grumpy. Of course all your positive input to improve the article is appreciated by everyone, including me. I have tried to do my bit earlier. " +0 ::Thanks for the tip! I've been looking at the mediation thing a bit already - and suspect you may be correct that a wholesale revert may be the answer... +1 Only a complete loser writes a Wiki profile about themself! 5 July 2005 21:21 (UTC) +1 MY CHANGES DO NOT AFFECT ANY OF THE CONCOCTED OFFENSES YOU HAVE BROUGHT UP! WP:NPOV issues / synthesis WP:Verifiable WP:OR I want to bring your OWN STANCE, as being pro orthodox which in itself is BIASED! i am again going to put the changes back on, BECAUSE I believe your STANCE IS TO PROTECT THE CURRENT SINGH SABHA ideological stance on sikhism, WHICH MEANS that wikipedia ONLY ACCEPTS ORTHODOX POV and NOT unorthodox! Which means going by your OWN judgment, that the CHRISTIAN UNORTHODOX CHURCH, which exist, on real life and on wiki, HAS NO merit! THAT IS A BIASED APPROACH! +1 == HiDrNick == Present for you fatty. Relax. don't get too excited, it's not a 5000 Rhino meal. [] [] +0 ==Unblock== Blocking me will not solve anything. I meant what I called that person and I shall not take it back. Today he allows himself to deleate all of our images, tommorow all of articles, then he calls us second class people. Shame on you for giving such users admin rights. See my messages on Wikipedia:Requests for comment/Lupo +1 == you know? == I already finish the main temple structure. whatever you say, arrogant guy. +0 Waaaaahh erase comments on this page too, do you really think anybody is reading this? Are you that insecure? +0 == Wikipedia:Counter Un-civility Unit == Wikipedia:Counter Un-civility Unit is a new wiki-project I have thought up. I was wondering if you thought it was a good idea and if you wanted to join up. I need some users backing me before I construct a wikiproject, and you seem to share my views on subjects such as concensus, civilty, etc. Reply on my talkpage if you're interested. Thanks, -MegamanZero|Talk +0 I am refering to List of Chinese languages and dialects. +0 "A rough google tally: *AIDS denialist 13,100 hits *Big Tobacco denialist/ Big Tobacco denialism 0 hits *Holocaust denialist 486 hits *Holocaust denier 306,000 hits So there are 486 hits on Holocaust denialists who are getting some personal gain from their denailism, but 306,000 google hits on Holocaust deniers who are not getting personal gain from their denialism? Is that what you maintain? And ""Big Tobacco denialism"" actually gets 0 google hits because it is so well known those denialists are doing it for personal gain? And so on and so forth. This is ludicrous. Give it up. " +0 " == Taken from Bell X1 External Links section == Bell X1 Flock Album Review at WERS.org • " +1 == Goodbye Cruel World == I have decided to kill myself. My Dad died two weeks ago, and I wish to join him. I just wanted to say goodbye. +0 " ==Kobe Tai== A proposed deletion template has been added to the article Kobe Tai, suggesting that it be deleted according to the proposed deletion process. All contributions are appreciated, but this article may not satisfy Wikipedia's criteria for inclusion, and the deletion notice should explain why (see also ""What Wikipedia is not"" and Wikipedia's deletion policy). You may prevent the proposed deletion by removing the notice, but please explain why you disagree with the proposed deletion in your edit summary or on its talk page. Also, please consider improving the article to address the issues raised. Even though removing the deletion notice will prevent deletion through the proposed deletion process, the article may still be deleted if it matches any of the speedy deletion criteria or it can be sent to Articles for Deletion, where it may be deleted if consensus to delete is reached. If you agree with the deletion of the article, and you are the only person who has made substantial edits to the page, please add to the top of Kobe Tai. '''''' * " +1 Yeah thanks to however did that because now the stupid fish guy can get off on stupid information Wrestlinglover420 +1 Pss Rex, be sure to DOCUMENT all the things you've discovered on the John Kerry page etc. It's awesome that you and I INDEPENDENTLY observed (and can corrorborate) virtually the exactsame pattern by these liberals. Demonizing conservatives; lionizing liberals. It's repeated ad infinitum, ad nauseum. The more proof we have, the easier it will be to persuade all but their fellow brain-dead truth haters to give a red cent to Wikipedia. And, until WHOLESALE changes are made from the top down, that's exactly what's about to happen. It's almost like this is the liberal's religion. Too bad they're gonna have to find a church other than Wikipedia to practice their faith, huh? I've heard rumors that my actions are already sending users Hippocrite, Fred Bauder, WoohooKitty, Kizzle, FVW, Derex and especially the pimply faced 15 year old RedWolf to become so verklempt they don't know whether to schedule an appointement with their psychiatrist...or their gynecologist. Big Daddy- PHASE II Dry up the funding (on the road) +1 Your ignorant comments Before acting as a functional illiterate, you should have read the pertinent prior discussion already took place in the talk page on the removed content which has no place in a biography. By the way, how is your boyfriend Bertil Videt doing? I read sensational stuff on his talk page which he keeps hiding. Did you get to meet with his other boyfriends yet? +1 . I'm afraid to say that if anyone agreed with your interpretation on what denotes a comment or remark by one to be an insult, well I'd have to say that you're all stark raving, bloody mad! +0 === Age of Modern Humans === The article says the age of modern humans is 200 thousands years which is unsourced material obviously becausee no one knows. However the source provided says 130,000 years. So how old are humans? 200 thousand years old, 130 years old, or the millions of other numbers that science has claimed? +1 It wasn't a personal attack. If your grasp of english is so poor you shouldn't be attempting to censor people. +0 :::*Generic fair use rationales are, by definition, impossible. +1 " :That isnt going to work, and you dont seem stupid enough to think that it will. '''''' - " +1 ::: Get off your high horse, or block me. +1 You're very unreasonable and bored, sick person! If you have no reason to delete an article without knowing or seeing the full content. Hold your horses and then decide. If you have an e-mail address I'd like to debate this with you. -Wikipedia Supervisor! +0 " ::The problem is not only with the sections concerning ""Controversy about media coverage"", the major problem is that many major points about the Greek debt crisis are missing in the lead and the article, even though it consists of >100 pages. This is addressed in ::* section #4 - "">100 pages, but still main points missing?"" ::* section #5 - "" Why did Greece need fiscal austerity in the midst of its crisis? "" ::* section #6 - "" POV / LEAD debate "" ::Two weeks ago, I proposed in this section #4 to have the main points at least in summary style in the lead (as important ones are not even in the article) ::Just let's only take the first point listed in #4, being joining the Euro without sufficient financial convergence and competitiveness in the summary list of causes for the Greek debt crisis. It is the major single and early root cause for the Greek debt crisis. Without this root cause Greece could technically not have had this debt crisis because it could always have printed itself out of every debt volume as they did before with the drachma. But this cause is missing in the 100 WP pages and in the WP lead. The current lead only lists normal problems like ""structural weaknesses"" and ""recessions"" (even though it is clear that Greece faced those normal problems for decades and always solved them with high drachma inflation if needed) - so without naming the root cause there is no cause for the Greek debt crisis. ::What happened after I proposed to have the main points in the article (at least in the lead as a summary) and also invited everybody to add/change/delete from my proposed the main point list? There were strong opponents working in a coordinated action, threatening to fight any significant change, saying one can not summarize a Greek debt crisis, saying ""Greek interests [need to have] a prominence"") when describing the debt crisis in WP, saying they will not let other editors summarize it, and so on. So we have almost 100 new pages in the talk section, and main points about the lemma not in the article (like it was during the last 5 years) :: " +1 | decline=Nobody on Wikipedia wants your moronic edits! Take a hike! +0 Welcome! Hello, , and welcome to Wikipedia! Thank you for your contributions. I hope you like the place and decide to stay. Here are a few good links for newcomers: *The five pillars of Wikipedia *How to edit a page *Help pages *Tutorial *How to write a great article *Manual of Style I hope you enjoy editing here and being a Wikipedian! Please sign your name on talk pages using four tildes (~~~~); this will automatically produce your name and the date. If you need help, check out Wikipedia:Questions, ask me on my talk page, or place {{helpme}} on your talk page and someone will show up shortly to answer your questions. Again, welcome!  By the way, I noticed you have created the article Dr. Manfred Gerstenfeld. Some of the sentences there seem copied directly from Dr Gerstenfeld’s homepage; this is not desirable, because it creates the impression that the article was copied from the homepage, which might be be a copyright violation. Perhaps you should try to rewrite the article a bit to avoid that. Also, some kind of indication about why Dr Gerstenfeld is notable would be nice to have (cf. WP:BIO and WP:PROFTEST for ideas on how to do that). — +1 == i hate your guts == i hope you feel good about that +1 :: oh i bet you are little boy. now go up stairs, your mummy made your lunch +1 PS: you're all middle-aged losers at home in your parents basements living off 50 bucks a week +1 Samuell, if you do not want to be the one dead, better proceed as requested. Either that or we'll keep beating! +1 == i dare you == Block me. I will do it again, i dare you to reply to my discussions rather owning articles and issuing warnings. +1 WELL SAID Loremaster you do not own the article, you tyrannical anti-knowledge hater. +1 I didn't say that I myself don't agree with what the reference says, or I myself know better than what the reference says, so I am going to correct it or remove it based on my own original research. Do not distort my words. I said Myanmar has nothing to do with the topic. You have problems with understanding. +1 ::So you think you know better than the admin! Are you excusing all of the above? Are you ignoring all of his breaks on the mediation - do you not remember your reaction when I changed BOMBER to Volunteer, you seem very quite of this, do you not think that is total hypocritical? +1 == October 2013 == You want ME for understanding? I'll give you understanding, you annoying editor! +0 , 6 January 2014 (UTC) ::::Ok, so Anon IP from Tempe, Arizona aka 174.19.166.126 aka 174.19.169.92, who apparently only edits the Ted Cruz article and no other, now that I have conclusively answered your question, please provide me reasons that the Ted Cruz article should be edited just like Jennifer Granholm article. It was your suggestion I assume you have some thoughts on this topic, right? 22:38 +1 You're a real glutton for punishment. ;-) +0 "I'm the latest yet, but congratulations on your re-adminship. That's the third time I've voted for you, don't make me do it again! -P 30 June 2005 17:17 (UTC) " +0 " :Erm, thank you. " +1 : LOTHAT VON TROTHA WAS POISONED, THAT'S WHAT CONTAMINATION IS! YOU GET TYPHOID FEVER ONLY THROUGH POISONED FOOD OR DRINK! +1 == Robbie Hummel == Way to speedy delete my Robbie Hummel article! It's now a real article and you can't do anything about it. I can't believe you would do this to me. You must hate black people. +0 :Merge and redirect as per , also for Base 32 into Base32 (I just edited Base32, and needed Base64 in UTF-1). +1 " You're a dumb American, right? No degree? Knows nothing of engineering? Thinks mathematics is ""universal""? Played monopoly in high school instead of learning? How am I doing so far?" +1 :::::::::::You read it; your note addressed something else. (Incidentally, your reasoning above is unsound; whether or not my Rushdie comparison holds up, it does not fail to hold up because his literary career is not a failure). But I hope you understand, I am not trying to get any decision reversed (and never was). Rather, I am yelling at you for enforcing a stupid policy. - +1 Sandifer, I'm going BUY my way back into wikipedia. For all your puffery, I'll bet you've never forked over a penny to the cause. And even you have, I'll make your contribution seem like pennies. +1 == Hello, Nawlins == Why do you like to deflower prepubescent girls? Don’t you know that’s a felony? +1 Vinny Burgoo = suspected sock puppet Are you ever going to withdraw this accusation? It's currently the second hit with a Google search with 'Vinny Burgoo' (my one and only online identity for nearly ten years) and it's wholly bogus. Someone posted something in support of something very stupid I had done at Wiktionary (I called a serial Wiki tyrant a 'c**t' after he had unambiguously broken Wiki's rules, then I compounded this by threatening him in what I thought at the time to be a transparently jocular manner, but wasn't) and this 'supporter' was assumed to be me using another identity and another IP trying to get around a temporary block. I still use Wikipedia a lot but have no interest whatsoever in editing it ever again, so by all means say that I was blocked for disruptive editing (guilty: I got fed up with the lot of you) or whatever else I was accused of before this puppeteer nonsense was settled on (the crime kept changing) but I'm not happy with what you currently show. Take it down or else. A genuine threat this time? We'll see. +0 Other than that you could see how the side bar looks intergrated into the top welcome section on the right and make it just one section. Providing you make it the same length and shrink the other pics down a little it should fit in the top? +1 I reckon you should die +0 This is British form and does not correspond to French nobiliary rules, which, in any case, are defunct, given that French noble titles were rendered obsolete more than a century ago. I think that, technically, she is merely Raine Spencer, having retrieved her previous surname upon her divorce from Chambrun. (And during the French marriage, she was not Countess of Chambrun, she was Countess Jean-Francois de Chambrun, and, as per French usage, would be referred to as Mme de Chambrun, with the title used only by servants and so-called inferiors.) +1 Hey jerk we may do a deal: please let in peace the articles of Carl Grissom and Bob the goon. Also unlock the Chase Meridian articles and accept that Jack Napier are in Batman Forever. In change I let of vandalize the user articles. +1 wikipedia.org for my fans i leave for one second and Wikipedia has blocked my published content for racist organizations who spam and/or advertize in the search engines under wikipedia.org name. would you like me to should you the links or the world the links? I am sick of the racism on wikipedia.org. stop blocking my publishing that is in fact not spam and not advertizing anything. It is my life, a real american, in america. +1 Once again the TYRANNY of Liberal opinions rules over all, just like the Nazis or Facists. +1 ok so its the currupt admin: desucka,crooked bullet,and krappydude. made a mental note +1 PAGE GO DIE YOU STUPID ARSEWHOLE AUTOMATED FILTER +0 " :::The article as it stands is of almost no use to the readership it's aimed at, that's the problem. I can't imagine why any medical professional would choose to use Wikipedia, but even if they do, they have easy access to better source material. The general reader doesn't have that easy access, so it would make sense to aim to the article at them. " +1 ::Dai antagonized me with he comment of my 'first' page move. Then Snowded suggested I was a either a drunk or just plain stupid. They should be attacking me on those public talkpages & through their 'edi summaries'. I used to be a happy bloke, but Dai & Snowy continue to poke & provoke me, via stalking, harrassment & contant ABF. They treat me like dirt, on thos public pages. +0 " == How rumours get started == Here is how rumours get started. Ramsquire is caught again starting a rumour. *RPJ: There is no chain of custody on the rifle. *Ramsquire: ""Yes there is."" *RPJ: Where? *Ramsquire: ""Its not in the article."" and ""I'm not going to do any research for you."" *RPJ: Ramsquire, please, just admit you made the whole story up about a there being ""chain of custody"" on the rifle. " +0 :::This discussion was dead from more than half of month when I archived it. I really want to see Heta, Stigma and Sho in article, but I cannot add them again effectively, because of threat of edit war triggering mentioned above by me, which is manifested by reverts made by other editors after readding these letters by me. +0 ::::::::Oh seriously, you're definitely a challenging one. As I said, it's a legal matter. +1 One thing I hate is people who talk about other people behind their backs because they are too gutless to confront them in person. You go bad mouthing people like me and Slim Virgin and others off behind our backs. Really honorable behaviour. You are a weak person. +0 *Please refrain from adding nonsense to Wikipedia, as you did to WWE RAW. It is considered vandalism. If you would like to experiment, use the sandbox. +1 == ... == WHY DO YOU ACT SO HOSTILE WHEN YOU GET INSULTED?!?! LEARN TO FRIGGIN FIND SOURCES BEFORE YOU DELETE THOSE PRICING GAME ARTICLES, GD +0 :::If you two weren't ganging up on me I'd get to report you first and get you banned. +1 if this is really world you enter my yard, I will use my hunter rifle blow out you head. but we are in wiki, so I will flag you as vandals. +0 == Your break == Hey Mr V. I hope you have a safe and restful break. But don't be gone for too long! ) Best wishes, +1 My edits are fine. You people are on the losing side. You have no shame. +1 == Dont go on making a FOOL of yourself , Paula! The whole school is laughing already! == Too bad that you cannot quit popping that stuff! Drugs are gonna get you in trouble one day! (much more then the stuff you do with half the guys in our class , at the movies! Jonathan told his mom, when she asked what the spots on his pants were!) Stop lying, stop accusing people of sockpuppetry who seem continents apart, stop hiding exactly those tracks about you that you accuse others of. You get yourself into a shambles, credibility wise. Anyhow, what business of yours is it what people without remotest relation to you do on wikipedia? You seem drunk, on drugs and having your period ??? +0 The place where it is now it's the correct place. It's chronologically and historically correct as it is now. Otherwise you have to move also your data as well +1 Before I accuse you of cringeworthy acts with donkeys, what does sprotected mean? +0 " ::Thanks for the reply – my biggest issue at the moment is whether to include ""sales figures"" for earlier years... as far as I know, there were no published end of year sales figures before 1994, and the sales published at the time for 1994 to 1996 have since been discredited and revised, so are basically worthless. The figures currently quoted in the articles up to 1996 are usually ""estimates"" that have been taken from various charts message boards, calculated by enthusiasts from officially published yearly sales figures per artist (i.e. sales could be made up of one or more singles or albums, and estimating what percentage of sales were assigned to each record). As these are completely unofficial and unverifiable, I am thinking to remove them altogether or at least add a note that all figures are unofficial and estimated. In any case I don't think most people are interested in how many records the 37th best selling album of 1987 sold that year – it makes more sense to me to concentrate efforts into keeping List of best-selling singles in the United Kingdom up to date. " +0 If you do have Welsh friends there ask them how my Welsh is? I cannot tell you if I'm a native speaker or not - I could be, I'm a cosmopolitan. Personally, my favorite version was . +1 :Spot, grow up! The article is being improved with the new structure. Please stop your nonsense. +1 SINCE WHEN IS >>>>SOURCED<<<< EDITING VANDALISM??? READ THE CITED SOURCES! WHERE pray tell me DOES IT SAY THAT IRAN EVER (I SAY EVER) HAD A DEMOCRATICAL ELECTION OF ANY SORT OR SHAPE in HISTORY?? QUIT CONVERTING WIKIPEDIA INTO A TRASH BIN with YOUR SILLY AND INFANTILE PRANKS! KISSING EACH OTHER'S REAR ENDS DOESN*T MAKE POV less POV +1 == Eww, I can s m e l l something horrible round here! == Ewwww is that you? i can s m e l l you from here, man! peee-yewww!go take a bath or something, fleabag! +1 " == Hi == How dare you? try to delete my words. Are you Libra, Gemini or some haters else? The picture on the ""front page"" was so show-off. " +1 UKDoctor responds Shut Up, David Ruben - can't you see JdWolff referring to others as TIGERS IN CAGES !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! David Ruben is not any better and should go take a flying leap into the deep end of the Pacific Ocean if he wants to. . . WE WHITE DOCTORS ARE TOTALLY ASHAMED OF THE GENERAL MEDICAL COUNCIL -and we certainly have the right to say our piece in any way fit. +1 "== Your ignorant comments == In response to your Please do not remove content from Wikipedia. It is considered vandalism. If you would like to experiment, please use the sandbox. Thank you. — @ Your record indicates that you were banned as a vandal several times and asked for a defense several times. Also, your record indicates that Bertil videt asked you to revert some legitimate changes without reason and you did it because he asked you, vandalazing good content that did not suit him or you. You should talk. Also please read your own talk page regarding many other warnings given to you by other users. Also be a man (at least try) and deal with your own talk page rather than begging others to hold your hand. Before acting as a functional illiterate, you should have read the pertinent prior discussion already took place in the talk page on the removed content which has no place in a biography. By the way, how is your boyfriend Bertil Videt doing? I read sensational stuff on his talk page which he keeps hiding. Did you get to meet with his other boyfriends yet? " +1 " ::::Based on ChrisO's behavior that's a load of bull, he's just pretexting to attack me. Further, he NEVER gave me a ""warning"" about being blocked, the only ""warning"" I had was this and I RESPONDED to the abusive jerk by placing a question of his interpretation of the rule which he flatly refused to respond to. " +0 REDIRECT Talk:57th Directors Guild of America Awards +1 ::::Ouch! That sounded like a threat and since I didn't actually attack you but instead criticised your behaviour, I see you are again out of line. / +1 " ""he grew up in Russia, he was training with Russians, he talks Russian, even Russian President came to see his fights, thats why he repeatedly has identified himself as Russian in interviews"" And that doesn't make him Russian? You really are very stupid, as the banderlogs are, of course. your whole ideology is based on stupidity and ignorance, after all. " +1 == ... == WHY DO YOU ACT SO HOSTILE WHEN YOU GET INSULTED?!?! LEARN TO FRIGGIN FIND SOURCES BEFORE YOU DELETE THOSE PRICING GAME ARTICLES, GD +0 " :Time to call in the ""Three Revert Rule"", as I see both have editted it again? I have left a message for both PeeJay2k3 and Oragina2 to not change the table again, until a consensus is come to here on the talk page. If not, we might need to move down the Resolving Disputes road. " +1 , and to suggest that is flabbergastingly arrogant +0 " :Look, you are clearly trolling now and I am becoming more than a little fed up of you wasting the time of those of us who are here to write a good encyclopaedia. I am of course prepared to accept your argument that Alan Whicker's position is 'absolutely, unequivocally, and unquestionably definitive': but only if you are prepared to accept that my next-door-neighbour Mr Osborne's position that Manchester is the second city is also 'absolutely, unequivocally, and unquestionably definitive', since there's just as much reason to take his word on the matter as Mr Whicker's. ⁿɡ͡b \ " +1 == Respect is earned by respect == That user IS a troll and a stalker. They are not respected and are close to being banned. Did you bother to read the inflammatory garbage that they write on wikipedia? Or are you just part of a troll posse? +0 ==No Personal Attacks== Stop trying to cover up the truth about Wikipedia. I asked the user a question about whether or not the allegations in that article were true. I didn't write that article. P.S. I actually didnt need to even ask if they were true- its obvious that they were. +1 : you are a notorious troll and vandal too Hrafn. +0 I just want to point something out (and I'm in no way a supporter of the strange old git), but he is referred to as Dear Leader, and his father was referred to as Great Leader. +0 harmony between people of this village, or maybe vice versa ... .. / Blerim Shabani. / +1 ===hahahahahahaha=== Your fake information u have filled wikipedia wont be tolerated , stop spread propaganda in wikipedia , all information is fake as the fake state of fyrom. The truth shall prevail +0 " :I can sympathize with your frustration. I know many comic book professionals and I know a lot of things I would love to include in articles but I can't. I am not a linked source that other people can double-check. Your conversation with Heck is useful in that you can let it guide you as you look for sources that you can link as references, but in Wikipedia, a personal conversation is not an appropriate source for citation. " +1 ==Reversion== Given that some jerk vandalized the characters section by changing the names to various Nintendo characters, I have reverted to a much older version. +1 " well first, ""accidental suicide"" made me laugh. There are accidents and you die and then there are suicides and you die. Second the next sentences hurt my head. You ASSUME checkers? I don't. Some writer is ""theorizing""? Well this guy believed that George Hodel was the killer of the Black Dahlia. He has been humiliated for being wrong up and down the internets. So why not put down MY theory? Theone in which Martians killed her? Oh, right, because it is not relevant " +0 ==Cell (film)== Why is it such a horrible thing for me to create a page for the film? I've seen pages for other movies that are currently in production. H-E doulbe hocky sticks, I've seen pages for movies that aren't even in production yet. Can I get some answers, and don't just tell me to read some other WP:BOLOGNA. +1 So, in other words, you are professionally on the dole. You must live in your parents basement and leech off of them, like a 11-year old. Maybe if you had a bit of motivation, you could look for a real job, and not play your fantasy as a Wiki boy. I'm sure you couls start a career as a video game player. +1 What a joker you are. European parliament has no power to do anything. It is non binding because it is not serious and silly reports like that are not meant to be serious. what is more important is that we ruled your ancestors for centuries and trying to put negative images of turks in the turkey page is not going to change that. This is not a place for you to get your 'revenge'. Go and edit the golden dawn wikipedia because your ideas will only be welcome there. +1 " == Ban of ""Bryansee"" from Wikipediocracy. == Hey, you are Zoloft. The one who banned me from Wikipediocracy with a threat that I die. ""Well"" means dead. ""Recover"" means ""die"". You are wanting me to die by a medication increase or meet my maker. Check this out: " +1 MODERATORS ARE SOME OF THE MOST INGORANT AND SELF SERVING JERKS YOU WILL FIND ON THE NET +0 " :So I will start with a criticism of the quote from Ollier and Pain, with whom I have more general issues than the ""postorogenic part"". Phrase by phrase that I disagree with: :# Only much later was it realized that the two processes [deformation and the creation of topography] were mostly not closely related, either in origin or in time. Very wrong. Deformation causes topography, and the generation of topography is synchronous with deformation. I will email you a copy of Dahlen and Suppe (1988), which shows that this is the case - send me a message so I have your address and can attach a PDF. They tackle the large-scale deformation of sedimentary rocks via folding and thrusting during orogenesis. :# ...fold-belt mountainous areas...: ""fold-belt"" isn't used professionally (AFAIK) to refer to a collisional mountain-building event. A minor thing though. :# Only in the very youngest, late Cenozoic mountains is there any evident causal relation between rock structure and surface landscape. and the following sentence: If I were British, I would call this ""utter twaddle"". As I mentioned above, there is no way for many of the exposed structures to get to the surface without large amounts of rock uplift and erosion. And as a matter of fact, the trajectory of different units of rock through an orogen is in part determined by patterns of surface erosion. To keep it simple and send you one paper, you'll find this in and at the end of the paper by Dahlen and Suppe (1988). : " +1 ::::::What are you deaf can't you hear ? +1 WAS HERE. HE POWNS NOOBS ALL DAY! +1 :::And as fully expected, yet another abusive admin gets away with abusing their tools. +1 :Grow up, you immature little brat. This edit warring seems to be the only thing you do around here. +0 " Please do not vandalize pages, as you did with this edit to American Eagle Outfitters. If you continue to do so, you will be blocked from editing. " +0 " * The ""bold move"" was at 05:48, 3 December 2013‎ by . Someone listed this move back as uncontroversial, and I have changed it into discussed, at Talk:Run Devil Run (Girls' Generation song)#Move? (2). " +0 ==THEN WHY IS Attacking my edits by removing my talk page comments== THAT IS SHOWING CONTEMPT FOR OTHER EDITORS AND IS VERY UNCIVIL AS WELL AS YOU UNEVEN AND UNFAIR LABELING ME... +1 If there was a cure for AIDs, it would probably be bought up by rich jerks and sold for double. I believe that if u have AIDs, then that is sad for you, but many people have said that the ones to blame are ..... well, I wont go into that here. many people have there own opinion of who it is. But that is just my opinion. It must suck to be a person with Aids. I would not know. +1 These people are INSANE. == +0 But then I rarely get my evil way with anything these days, must be getting old or lazy. Or perhaps both. +1 ":I have painstakingly taken the time to scan in the CD on my desk showing that ""Extreme Jaime""'s name is ""Jaime Guse"". Additionally, I continue to point out that Hiram skits are available both at DaveRyanShow.com and the Best of The Dave Ryan in the Morning Show CDs. The contents are viewable on Amazon. Additionally, I have taken some time to review your edits and history on Wikipedia. It appears you are trying to present yourself as authoritative, when you are not. You have tried multiple times to become an Administrator, but if you continue to act in such a reckless, inconsistent and immature manner, I doubt that it will ever happen. " +0 This is not an encyclopedia article, especially this bit: Armed once again with a song that possesses all the classic attributes of a successful Eurovision entry - a catchy, feel-good melody, and a key-change that builds up to a big finish - Chiara is highly likely to enter the contest as one of the favourites. This is more like a newspaper article. It should be removed. Chiara's fame is also not worthy of mention in an encyclopedia. We might as well start writing about the grocer or shopowner round the corner. +1 you should die from cancer. +1 Hard to be constructive when the other party behaves like a godking thug. +1 So, in other words, you are professionally on the dole. You must live in your parents basement and leech off of them, like a 11-year old. Maybe if you had a bit of motivation, you could look for a real job, and not play your fantasy as a Wiki boy. I'm sure you couls start a career as a video game player. +0 == Librier == Anon raised this issue in their edit summary. I agree that this term seems imprecisely added and not accurate. It is not generally or strictly associated with the Kelb tal-Fenek. +1 == ARRHGH! == Frederica is the most annoying talking head ever +1 Someone is threatning an annon and that is uncivilised wiki conduct. +1 I'll bet 80% of what she did was rubbish... +1 ==Hello== Dude your mother is totally hot. +1 I doubt this will get through your thick head (it's not an insult, it's an opinion based on your response) but the problem is not the issue itself. It's that people like you seem to enjoy (whether or not your side gets it right) to discuss, turn, twist and frankly abuse topics like this which are detrimental to the basic goals of Wikis in general and Wikipedia in particular. As John Stewart said to two hacks; You're hurting us. +1 2 words learn them SHUT UP DONT FOLLOW ME EVERYWHERE +1 " :::hey buddy, hey buddy, guess what? ""I"" dont care realy what ""your"" excuse is, and couldn't care less what Roaringflamer says, but you are obviously obsessed with redirects. If there is anybody that should be banned, its you for vandalism and disruption so there" +1 "OOOOHHHH With a big long Intellectually Terrifying and Superior name like ""(referenced to Journal of Labelled Compounds and Radiopharmaceuticals)"". How Could the quote be wrong Hey!! How dare I even question it, or possibly be right, in saying the ""supposed"" quote is wrong. What a stupid ignoramus I must be to challenge that. " +1 == YOUR THREATENING BEHAVIOUR == == YOUR CONSTANT BLOCKING AND SABOTAGE OF MY EDITS IS TANTAMOUNT TO STALIKING. ARE YOU STALKING ME? ARE YOU THREATENING ME STEVE? IS THIS WHAT YOURE ABOUT, THREATENING AND HARRASSING ME? WHY DO YOU KEEP STALKING ME THROUGH WIKIPEDIA? ARE YOU A TWISTED WACKO, DO YOU WISH ME HARM? WHY? WHY ARE YOU HARRASSING ME!!!!!!!!!!! LEAVE ME ALONE YOU RACIST WACKO!!!!!!!!! == +1 :O: I can't believe you thought that I would call you such a thing. I just wanted to give a cookie so you could get bigger and stronger. Obviously it wasn't because you're a fat pig. I'm sorry for the misunderstanding. +0 It's those biography and political articles you should watch out for. +1 FURTHERMORE.... I HAVE JUST VISITED RAGIB'S PAGE AND STUDIED THE DISCUSSION AREA. RAGIB IS OBVIOUSLY FROM BANGLADESH AND SEEMS TO BE A SIMILARLY PAROCHIAL CHAUVINIST EDITOR OF MANY OTHER ARTICLES, EVEN ASKING FOR UN-NECESSARY DELETIONS OF ARTICLES THAT HE DOES NOT LIKE..... AND GETTING SNUBBED FOR THE EFFORT!! +1 I beg your pardon? I am from the region, and berbers are a minority. How dare you presume to know people's origins? you can live in your make-belief world, but do not post it as fact and don't delete my posts either to further veil the truth. I am contacting Wikipedia immediately concerning this largely fictitious, vicious article and discussion. +0 , as, this is my IP adress +1 Would you believe it.. This frenchie threatens to ban me because I talk badly upon Foie Gras. I already said once that this page is protected by lobbyists. That includes frog eaters. +1 == HOW DARE YOU, TOO....... == HOW DARE YOU FOR ATTACKING ME! +1 == This is for removing my post on 100% == I'm going to DDOS your toaster for this. +1 you've made your point freakin heck what do you want me to do huh? I've explained why i changed mold to mould, i've made a user name now leave me alone already.... what is your problem. +0 " == Need your help in an article == Hi Kansas bear, I need your help in an article called ""Sultanate of Rum"", vandalized by Turkish nationalist and even including dubious sources from books like lonelyplanet travel guides. The guy has a profound anti neutrality agenda, even removing the Persianate description of the state and changing a section about Sultanate's architecture, by renaming it as ""culture"", in order to move around the sources for the Persianate terms. I think it needs to be addressed by more than one person to kick out the nationalistic bias from the article. " +1 This is pure tripe stolen from their bio on their official website, which is outdated by the way. That's bad wiki practice. +0 I saw it before watching the episode. Oh well. +1 Stupid! You're the one who stops for massive and undiscussed removal on the article. Also, you say you're interest in Chinese history well then go for it and don't ever pay attention to Vietnamese history. +0 "Jackson didn't perform at the WMA because he can't sing at all anymore. That is the real reason he hasn't toured for a decade, along with his bankruptcy. Even his vocals on ""We've Had Enough"" four years ago were poor and he never had a strong voice to begin with, certainly not comparable with the real King, Elvis Presley. Jackson has had financial problems since at least 1998 due to his declining sales and popularity, as well as his inactivity and having to support all his siblings and parents. In 2002 it was revealed he was in debt to various international banks to the tune of tens of millions of dollars, and after losing those lawsuits in May 2003 he was confirmed as on the verge of bankuptcy with debts of $400 million. Invincible was a flop because it sold less than a third of his last album, ""Dangerous"", and it was thoroughly mediocre music. Almost all of Jackson's remaining fans regard it as his worst album. In 1989 Jackson made it known he had to be addressed as the King of Pop - a meaningless, self-proclaimed title. He even planned to buy Graceland so he could demolish it, which certainly says far more about Jackson's megalomania than it does about Presley. Half the songs on the Dangerous album weren't good, especially the unbelievably awful Heal the World, and it only sold 30 million copies on the strength of his previous three albums. Yeah, WJ was unique all right, but the less said about that the better. You must know some very sad 20-year-olds if they still admire the disgraced former King of Pop. Anyway, most people know him as Wacko Jacko. Justin is the real King of Pop and like Eminem he just doesn't want to risk offending WJ's fans. Justin will continue to perform, while Jackson's active career finished a decade ago. ( ) " +1 ==Appears to Be Uncontructive?== Since when do your mere feelings = evidence? Get a clue hypocrite. You are the one being unconstructive. +1 WHy are you ugly and fat? +1 ::Is that so? Than why so many people questiong your incredibly arrogant, and entirely inappropriate edit actions? Maybe you're such an arrogant person, you think YOU are the only member of the community that matters? +1 Yep, he be the mouthpiece, but his law still stands. Oh, that was friggin' bad. +1 **And we have a winner for the douchiest comment award. +0 harmony between people of this village, or maybe vice versa ... .. / Blerim Shabani. / diff --git a/src/Samples/Data/wikipedia-detox-250-line-test.tsv b/src/Samples/Data/wikipedia-detox-250-line-test.tsv new file mode 100644 index 0000000000..261c2651aa --- /dev/null +++ b/src/Samples/Data/wikipedia-detox-250-line-test.tsv @@ -0,0 +1,19 @@ +Sentiment SentimentText +1 ==You're cool== You seem like a really cool guy... *bursts out laughing at sarcasm*. +0 I just want to point something out (and I'm in no way a supporter of the strange old git), but he is referred to as Dear Leader, and his father was referred to as Great Leader. +1 ==RUDE== Dude, you are rude upload that carl picture back, or else. +0 " : I know you listed your English as on the ""level 2"", but don't worry, you seem to be doing nicely otherwise, judging by the same page - so don't be taken aback. I just wanted to know if you were aware of what you wrote, and think it's an interesting case. : I would write that sentence simply as ""Theoretically I am an altruist, but only by word, not by my actions."". : PS. You can reply to me on this same page, as I have it on my watchlist. " +1 == Conflict of interest == You are a person who is doing some sort of harm to this lady Saman Hasnain.. It is apparent that you are making sure that her name is defamed.... Okay no problem... Will get a better source... you are playing dirty... DOG Sonisona +1 :the category was unnecesary, as explained in my edit summary. Your threats are disgrace to wikipedia. +1 " :You call MacDonald's a part of your ""culture""? Nonsense! Spend some 10 years in France, and then you will have a hint of what Culture is! " +1 Grow up you biased child. +1 Stop trolling, zapatancas, calling me a liar merely demonstartes that you arer Zapatancas. You may choose to chase every legitimate editor from this site and ignore me but I am an editor with a record that isnt 99% trolling and therefore my wishes are not to be completely ignored by a sockpuppet like yourself. The consensus is overwhelmingly against you and your trollin g lover Zapatancas, +0 I saw it before watching the episode. Oh well. +0 This is British form and does not correspond to French nobiliary rules, which, in any case, are defunct, given that French noble titles were rendered obsolete more than a century ago. I think that, technically, she is merely Raine Spencer, having retrieved her previous surname upon her divorce from Chambrun. (And during the French marriage, she was not Countess of Chambrun, she was Countess Jean-Francois de Chambrun, and, as per French usage, would be referred to as Mme de Chambrun, with the title used only by servants and so-called inferiors.) +1 Today was the worst day ever +0 I'm so happy +0 This is the best game I've ever played +0 This game is so dang good man +0 Such an incredible game. Absolutely loved it. +0 Until the next game comes out, this game is undisputedly the best Xbox game of all time +1 This game without that feature would be the worst fighting game ever. Y'all really overrate that franchise. \ No newline at end of file diff --git a/src/Samples/MulticlassClassification.cs b/src/Samples/MulticlassClassification.cs deleted file mode 100644 index e0e80d9b04..0000000000 --- a/src/Samples/MulticlassClassification.cs +++ /dev/null @@ -1,44 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using Microsoft.ML; -using Microsoft.ML.Auto; - -namespace Samples -{ - public class MulticlassClassification - { - public static void Run() - { - const string trainDataPath = @"C:\data\train.csv"; - const string validationDataPath = @"C:\data\valid.csv"; - const string testDataPath = @"C:\data\test.csv"; - const string label = "Label"; - - var mlContext = new MLContext(); - - // auto-load data from disk - var trainData = mlContext.Data.AutoRead(trainDataPath, label); - var validationData = mlContext.Data.AutoRead(validationDataPath, label); - var testData = mlContext.Data.AutoRead(testDataPath, label); - - // run AutoML & train model - var autoMlResult = mlContext.MulticlassClassification.AutoFit(trainData, "Label", validationData, - settings: new AutoFitSettings() - { - StoppingCriteria = new ExperimentStoppingCriteria() { MaxIterations = 10 } - }); - // get best AutoML model - var model = autoMlResult.BestPipeline.Model; - - // run AutoML on test data - var transformedOutput = model.Transform(testData); - var results = mlContext.BinaryClassification.Evaluate(transformedOutput); - Console.WriteLine($"Model Accuracy: {results.Accuracy}\r\n"); - - Console.ReadLine(); - } - } -} diff --git a/src/Samples/Program.cs b/src/Samples/Program.cs index 535e832124..36d7e0b021 100644 --- a/src/Samples/Program.cs +++ b/src/Samples/Program.cs @@ -2,17 +2,33 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; + namespace Samples { public class Program { public static void Main(string[] args) { - //BinaryClassification.Run(); - //MulticlassClassification.Run(); + try + { + AutoTrainRegression.Run(); + Console.Clear(); + + AutoTrainBinaryClassification.Run(); + Console.Clear(); + + AutoTrainMulticlassClassification.Run(); + Console.Clear(); + + Console.WriteLine("Done"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } - // GetFirstPipeline.Run(); - Benchmarking.Run(); + Console.ReadLine(); } } } diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index 6c732b34bd..766ac59272 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -29,8 +29,8 @@ public void AutoFitBinaryTest() } }, debugLogger: null); - Assert.IsNotNull(best?.BestPipeline?.Model); - Assert.IsTrue(best.BestPipeline.Metrics.Accuracy > 0.80); + Assert.IsNotNull(best?.BestIteration?.Model); + Assert.IsTrue(best.BestIteration.Metrics.Accuracy > 0.80); } [TestMethod] @@ -53,8 +53,8 @@ public void AutoFitMultiTest() } }, debugLogger: null); - Assert.IsNotNull(best?.BestPipeline?.Model); - Assert.IsTrue(best.BestPipeline.Metrics.AccuracyMicro > 0.80); + Assert.IsNotNull(best?.BestIteration?.Model); + Assert.IsTrue(best.BestIteration.Metrics.AccuracyMicro > 0.80); } [TestMethod] @@ -77,8 +77,8 @@ public void AutoFitRegressionTest() } }, debugLogger: null); - Assert.IsNotNull(best?.BestPipeline?.Model); - Assert.IsTrue(best.BestPipeline.Metrics.RSquared > 0.9); + Assert.IsNotNull(best?.BestIteration?.Model); + Assert.IsTrue(best.BestIteration.Metrics.RSquared > 0.9); } } } From e6fa88ef0e5a863af8ff0f7655d1fdc6c8cce0e9 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 30 Jan 2019 16:45:28 -0800 Subject: [PATCH 044/211] Revert "Set Nullable Auto params to null values" (#53) * Revert "First public api propsal (#52)" This reverts commit e4a64cf4aeab13ee9e5bf0efe242da3270241bd7. * Revert "Set Nullable Auto params to null values (#50)" This reverts commit 41c663cd14247d44022f40cf2dce5977dbab282d. --- .../TrainerExtensions/SweepableParams.cs | 25 ++++++------- .../TrainerExtensions/TrainerExtensionUtil.cs | 25 ++++++++++--- src/Test/TrainerExtensionsTests.cs | 36 ++++--------------- 3 files changed, 38 insertions(+), 48 deletions(-) diff --git a/src/AutoML/TrainerExtensions/SweepableParams.cs b/src/AutoML/TrainerExtensions/SweepableParams.cs index 9890127327..c2daeabd7b 100644 --- a/src/AutoML/TrainerExtensions/SweepableParams.cs +++ b/src/AutoML/TrainerExtensions/SweepableParams.cs @@ -31,14 +31,14 @@ private static IEnumerable BuildOnlineLinearArgsParams() private static IEnumerable BuildTreeArgsParams() { - return new SweepableParam[] - { + return new SweepableParam[] + { new SweepableLongParam("NumLeaves", 2, 128, isLogScale: true, stepSize: 4), new SweepableDiscreteParam("MinDocumentsInLeafs", new object[] { 1, 10, 50 }), new SweepableDiscreteParam("NumTrees", new object[] { 20, 100, 500 }), new SweepableFloatParam("LearningRates", 0.025f, 0.4f, isLogScale: true), new SweepableFloatParam("Shrinkage", 0.025f, 4f, isLogScale: true), - }; + }; } private static IEnumerable BuildLbfgsArgsParams() @@ -123,24 +123,22 @@ public static IEnumerable BuildPoissonRegressionParams() public static IEnumerable BuildSdcaParams() { return new SweepableParam[] { - new SweepableDiscreteParam("L2Const", new object[] { null, 1e-7f, 1e-6f, 1e-5f, 1e-4f, 1e-3f, 1e-2f }), - new SweepableDiscreteParam("L1Threshold", new object[] { null, 0f, 0.25f, 0.5f, 0.75f, 1f }), + new SweepableDiscreteParam("L2Const", new object[] { "", 1e-7f, 1e-6f, 1e-5f, 1e-4f, 1e-3f, 1e-2f }), + new SweepableDiscreteParam("L1Threshold", new object[] { "", 0f, 0.25f, 0.5f, 0.75f, 1f }), new SweepableDiscreteParam("ConvergenceTolerance", new object[] { 0.001f, 0.01f, 0.1f, 0.2f }), - new SweepableDiscreteParam("MaxIterations", new object[] { null, 10, 20, 100 }), + new SweepableDiscreteParam("MaxIterations", new object[] { "", 10, 20, 100 }), new SweepableDiscreteParam("Shuffle", null, isBool: true), new SweepableDiscreteParam("BiasLearningRate", new object[] { 0.0f, 0.01f, 0.1f, 1f }) }; } - public static IEnumerable BuildOrdinaryLeastSquaresParams() - { + public static IEnumerable BuildOrdinaryLeastSquaresParams() { return new SweepableParam[] { new SweepableDiscreteParam("L2Weight", new object[] { 1e-6f, 0.1f, 1f }) }; } - public static IEnumerable BuildSgdParams() - { + public static IEnumerable BuildSgdParams() { return new SweepableParam[] { new SweepableDiscreteParam("L2Weight", new object[] { 1e-7f, 5e-7f, 1e-6f, 5e-6f, 1e-5f }), new SweepableDiscreteParam("ConvergenceTolerance", new object[] { 1e-2f, 1e-3f, 1e-4f, 1e-5f }), @@ -149,13 +147,12 @@ public static IEnumerable BuildSgdParams() }; } - public static IEnumerable BuildSymSgdParams() - { + public static IEnumerable BuildSymSgdParams() { return new SweepableParam[] { new SweepableDiscreteParam("NumberOfIterations", new object[] { 1, 5, 10, 20, 30, 40, 50 }), - new SweepableDiscreteParam("LearningRate", new object[] { null, 1e1f, 1e0f, 1e-1f, 1e-2f, 1e-3f }), + new SweepableDiscreteParam("LearningRate", new object[] { "", 1e1f, 1e0f, 1e-1f, 1e-2f, 1e-3f }), new SweepableDiscreteParam("L2Regularization", new object[] { 0.0f, 1e-5f, 1e-5f, 1e-6f, 1e-7f }), - new SweepableDiscreteParam("UpdateFrequency", new object[] { null, 5, 20 }) + new SweepableDiscreteParam("UpdateFrequency", new object[] { "", 5, 20 }) }; } } diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs index e34be3d329..09066bfd44 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs @@ -77,7 +77,7 @@ public static Action CreateLightGbmArgsFunc(IEnumerable BuildPipelineNodeProps(TrainerName trainerName, IEnumerable sweepParams) { - if (trainerName == TrainerName.LightGbmBinary || trainerName == TrainerName.LightGbmMulti || + if(trainerName == TrainerName.LightGbmBinary || trainerName == TrainerName.LightGbmMulti || trainerName == TrainerName.LightGbmRegression) { return BuildLightGbmPipelineNodeProps(sweepParams); @@ -96,7 +96,7 @@ private static IDictionary BuildLightGbmPipelineNodeProps(IEnume var props = parentArgParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); props[LightGbmTreeBoosterPropName] = treeBoosterCustomProp; - + return props; } @@ -155,9 +155,24 @@ public static void UpdateFields(object obj, IEnumerable sweepPar { var optIndex = (int)dp.RawValue; //Contracts.Assert(0 <= optIndex && optIndex < dp.Options.Length, $"Options index out of range: {optIndex}"); - var option = dp.Options[optIndex]; - - if (option != null) + var option = dp.Options[optIndex].ToString().ToLower(); + + // Handle string values in sweep params + if (option == "auto" || option == "" || option == "< auto >") + { + //Check if nullable type, in which case 'null' is the auto value. + if (Nullable.GetUnderlyingType(fi.FieldType) != null) + fi.SetValue(obj, null); + else if (fi.FieldType.IsEnum) + { + // Check if there is an enum option named Auto + var enumDict = fi.FieldType.GetEnumValues().Cast() + .ToDictionary(v => Enum.GetName(fi.FieldType, v), v => v); + if (enumDict.ContainsKey("Auto")) + fi.SetValue(obj, enumDict["Auto"]); + } + } + else SetValue(fi, (IComparable)dp.Options[optIndex], obj, propType); } else diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index 34f788e3f1..e00d075289 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -17,7 +17,7 @@ public void TrainerExtensionInstanceTests() { var context = new MLContext(); var trainerNames = Enum.GetValues(typeof(TrainerName)).Cast(); - foreach (var trainerName in trainerNames) + foreach(var trainerName in trainerNames) { var extension = TrainerExtensionCatalog.GetTrainerExtension(trainerName); var instance = extension.CreateInstance(context, null); @@ -33,7 +33,7 @@ public void GetTrainersByMaxIterations() var tasks = new TaskKind[] { TaskKind.BinaryClassification, TaskKind.MulticlassClassification, TaskKind.Regression }; - foreach (var task in tasks) + foreach(var task in tasks) { var trainerSet10 = TrainerExtensionCatalog.GetTrainers(task, 10); var trainerSet50 = TrainerExtensionCatalog.GetTrainers(task, 50); @@ -52,7 +52,7 @@ public void GetTrainersByMaxIterations() public void BuildPipelineNodePropsLightGbm() { var sweepParams = SweepableParams.BuildLightGbmParams(); - foreach (var sweepParam in sweepParams) + foreach(var sweepParam in sweepParams) { sweepParam.RawValue = 1; } @@ -91,7 +91,7 @@ public void BuildPipelineNodePropsLightGbm() public void BuildPipelineNodePropsSdca() { var sweepParams = SweepableParams.BuildSdcaParams(); - foreach (var sweepParam in sweepParams) + foreach(var sweepParam in sweepParams) { sweepParam.RawValue = 1; } @@ -108,29 +108,7 @@ public void BuildPipelineNodePropsSdca() }"; Util.AssertObjectMatchesJson(expectedJson, sdcaBinaryProps); } - - [TestMethod] - public void BuildPipelineNodePropsSdcaWithNullValues() - { - var sweepParams = SweepableParams.BuildSdcaParams(); - foreach (var sweepParam in sweepParams) - { - sweepParam.RawValue = 0; - } - - var sdcaBinaryProps = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName.SdcaBinary, sweepParams); - var expectedJson = @" -{ - ""L2Const"": null, - ""L1Threshold"": null, - ""ConvergenceTolerance"": 0.001, - ""MaxIterations"": null, - ""Shuffle"": false, - ""BiasLearningRate"": 0.0 -}"; - Util.AssertObjectMatchesJson(expectedJson, sdcaBinaryProps); - } - + [TestMethod] public void BuildParameterSetLightGbm() { @@ -151,7 +129,7 @@ public void BuildParameterSetLightGbm() var multiParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.LightGbmMulti, props); var regressionParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.LightGbmRegression, props); - foreach (var paramSet in new ParameterSet[] { binaryParams, multiParams, regressionParams }) + foreach(var paramSet in new ParameterSet[] { binaryParams, multiParams, regressionParams }) { Assert.AreEqual(4, paramSet.Count); Assert.AreEqual("1", paramSet["NumBoostRound"].ValueText); @@ -170,7 +148,7 @@ public void BuildParameterSetSdca() }; var sdcaParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.SdcaBinary, props); - + Assert.AreEqual(1, sdcaParams.Count); Assert.AreEqual("1", sdcaParams["LearningRate"].ValueText); } From bbbd341bd462fafa7f2a626374a3281009a9317f Mon Sep 17 00:00:00 2001 From: vinodshanbhag <33269336+vinodshanbhag@users.noreply.github.com> Date: Fri, 1 Feb 2019 15:25:39 -0800 Subject: [PATCH 045/211] AutoFit return type is now an IEnumerable (#55) AutoFit returns is now an IEnumerable - this enables many good things Implementing variety of early stopping criteria (See sample) Early discard of models that are no good. This improves memory usage efficiency. (See sample) No need to implement a callback to get results back Getting best score is now outside of API implementation. It is a simple math function to compare scores (See sample). Also templatized the return type for better type safety through out the code. --- src/AutoML/API/MLContextAutoFitExtensions.cs | 169 ++++-------------- src/AutoML/API/Pipeline.cs | 6 +- src/AutoML/AutoFitter/AutoFitApi.cs | 53 ------ src/AutoML/AutoFitter/AutoFitter.cs | 107 +++++++---- .../AutoFitter/InferredPipelineRunResult.cs | 54 ------ ...ferredPipeline.cs => SuggestedPipeline.cs} | 12 +- .../AutoFitter/SuggestedPipelineResult.cs | 53 ++++++ .../PipelineSuggesters/PipelineSuggester.cs | 28 +-- .../TrainerExtensionCatalog.cs | 4 +- src/Samples/AutoTrainBinaryClassification.cs | 33 +++- .../AutoTrainMulticlassClassification.cs | 33 +++- src/Samples/AutoTrainRegression.cs | 37 ++-- src/Samples/EarlyStopping.cs | 86 +++++++++ src/Samples/Program.cs | 3 + src/Test/AutoFitTests.cs | 16 +- src/Test/GetNextPipelineTests.cs | 8 +- src/Test/InferredPipelineTests.cs | 20 +-- 17 files changed, 365 insertions(+), 357 deletions(-) delete mode 100644 src/AutoML/AutoFitter/AutoFitApi.cs delete mode 100644 src/AutoML/AutoFitter/InferredPipelineRunResult.cs rename src/AutoML/AutoFitter/{InferredPipeline.cs => SuggestedPipeline.cs} (92%) create mode 100644 src/AutoML/AutoFitter/SuggestedPipelineResult.cs create mode 100644 src/Samples/EarlyStopping.cs diff --git a/src/AutoML/API/MLContextAutoFitExtensions.cs b/src/AutoML/API/MLContextAutoFitExtensions.cs index f8827fd96a..7f5b2088c4 100644 --- a/src/AutoML/API/MLContextAutoFitExtensions.cs +++ b/src/AutoML/API/MLContextAutoFitExtensions.cs @@ -12,32 +12,28 @@ namespace Microsoft.ML.Auto { public static class RegressionExtensions { - public static RegressionResult AutoFit(this RegressionContext context, + public static IEnumerable> AutoFit(this RegressionContext context, IDataView trainData, string label = DefaultColumnNames.Label, IDataView validationData = null, uint timeoutInMinutes = AutoFitDefaults.TimeOutInMinutes, IEstimator preFeaturizers = null, - IEnumerable<(string, ColumnPurpose)> columnPurposes = null, - CancellationToken cancellationToken = default, - IProgress iterationCallback = null) + IEnumerable<(string, ColumnPurpose)> columnPurposes = null) { var settings = new AutoFitSettings(); settings.StoppingCriteria.TimeOutInMinutes = timeoutInMinutes; return AutoFit(context, trainData, label, validationData, settings, - preFeaturizers, columnPurposes, cancellationToken, iterationCallback, null); + preFeaturizers, columnPurposes, null); } - internal static RegressionResult AutoFit(this RegressionContext context, + internal static IEnumerable> AutoFit(this RegressionContext context, IDataView trainData, string label = DefaultColumnNames.Label, IDataView validationData = null, AutoFitSettings settings = null, IEstimator preFeaturizers = null, IEnumerable<(string, ColumnPurpose)> columnPurposes = null, - CancellationToken cancellationToken = default, - IProgress iterationCallback = null, IDebugLogger debugLogger = null) { UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, columnPurposes); @@ -48,49 +44,38 @@ internal static RegressionResult AutoFit(this RegressionContext context, } // run autofit & get all pipelines run in that process - var (allPipelines, bestPipeline) = AutoFitApi.Fit(trainData, validationData, label, - settings, preFeaturizers, TaskKind.Regression, OptimizingMetric.RSquared, columnPurposes, debugLogger); + var autoFitter = new AutoFitter(TaskKind.Regression, trainData, label, validationData, + settings, preFeaturizers, columnPurposes, + OptimizingMetric.RSquared, debugLogger); - var results = new RegressionIterationResult[allPipelines.Length]; - for (var i = 0; i < results.Length; i++) - { - var iterationResult = allPipelines[i]; - var result = new RegressionIterationResult(iterationResult.Model, (RegressionMetrics)iterationResult.EvaluatedMetrics, iterationResult.ScoredValidationData, iterationResult.Pipeline.ToPipeline()); - results[i] = result; - } - var bestResult = new RegressionIterationResult(bestPipeline.Model, (RegressionMetrics)bestPipeline.EvaluatedMetrics, bestPipeline.ScoredValidationData, bestPipeline.Pipeline.ToPipeline()); - return new RegressionResult(bestResult, results); + return autoFitter.Fit(); } } public static class BinaryClassificationExtensions { - public static BinaryClassificationResult AutoFit(this BinaryClassificationContext context, + public static IEnumerable> AutoFit(this BinaryClassificationContext context, IDataView trainData, string label = DefaultColumnNames.Label, IDataView validationData = null, uint timeoutInMinutes = AutoFitDefaults.TimeOutInMinutes, IEstimator preFeaturizers = null, - IEnumerable<(string, ColumnPurpose)> columnPurposes = null, - CancellationToken cancellationToken = default, - IProgress iterationCallback = null) + IEnumerable<(string, ColumnPurpose)> columnPurposes = null) { var settings = new AutoFitSettings(); settings.StoppingCriteria.TimeOutInMinutes = timeoutInMinutes; return AutoFit(context, trainData, label, validationData, settings, - preFeaturizers, columnPurposes, cancellationToken, iterationCallback, null); + preFeaturizers, columnPurposes, null); } - internal static BinaryClassificationResult AutoFit(this BinaryClassificationContext context, + internal static IEnumerable> AutoFit(this BinaryClassificationContext context, IDataView trainData, string label = DefaultColumnNames.Label, IDataView validationData = null, AutoFitSettings settings = null, IEstimator preFeaturizers = null, IEnumerable<(string, ColumnPurpose)> columnPurposes = null, - CancellationToken cancellationToken = default, - IProgress iterationCallback = null, IDebugLogger debugLogger = null) { UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, columnPurposes); @@ -101,50 +86,39 @@ internal static BinaryClassificationResult AutoFit(this BinaryClassificationCont } // run autofit & get all pipelines run in that process - var (allPipelines, bestPipeline) = AutoFitApi.Fit(trainData, validationData, label, - settings, preFeaturizers, TaskKind.BinaryClassification, OptimizingMetric.Accuracy, - columnPurposes, debugLogger); - - var results = new BinaryClassificationItertionResult[allPipelines.Length]; - for (var i = 0; i < results.Length; i++) - { - var iterationResult = allPipelines[i]; - var result = new BinaryClassificationItertionResult(iterationResult.Model, (BinaryClassificationMetrics)iterationResult.EvaluatedMetrics, iterationResult.ScoredValidationData, iterationResult.Pipeline.ToPipeline()); - results[i] = result; - } - var bestResult = new BinaryClassificationItertionResult(bestPipeline.Model, (BinaryClassificationMetrics)bestPipeline.EvaluatedMetrics, bestPipeline.ScoredValidationData, bestPipeline.Pipeline.ToPipeline()); - return new BinaryClassificationResult(bestResult, results); + var autoFitter = new AutoFitter(TaskKind.BinaryClassification, trainData, label, validationData, + settings, preFeaturizers, columnPurposes, + OptimizingMetric.RSquared, debugLogger); + + return autoFitter.Fit(); } } public static class MulticlassExtensions { - public static MulticlassClassificationResult AutoFit(this MulticlassClassificationContext context, + public static IEnumerable> AutoFit(this MulticlassClassificationContext context, IDataView trainData, string label = DefaultColumnNames.Label, IDataView validationData = null, uint timeoutInMinutes = AutoFitDefaults.TimeOutInMinutes, IEstimator preFeaturizers = null, - IEnumerable<(string, ColumnPurpose)> columnPurposes = null, - CancellationToken cancellationToken = default, - IProgress iterationCallback = null) + IEnumerable<(string, ColumnPurpose)> columnPurposes = null) { var settings = new AutoFitSettings(); settings.StoppingCriteria.TimeOutInMinutes = timeoutInMinutes; return AutoFit(context, trainData, label, validationData, settings, - preFeaturizers, columnPurposes, cancellationToken, iterationCallback, null); + preFeaturizers, columnPurposes, null); } - internal static MulticlassClassificationResult AutoFit(this MulticlassClassificationContext context, + internal static IEnumerable> AutoFit(this MulticlassClassificationContext context, IDataView trainData, string label = DefaultColumnNames.Label, IDataView validationData = null, AutoFitSettings settings = null, IEstimator preFeaturizers = null, IEnumerable<(string, ColumnPurpose)> columnPurposes = null, - CancellationToken cancellationToken = default, - IProgress iterationCallback = null, IDebugLogger debugLogger = null) + IDebugLogger debugLogger = null) { UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, columnPurposes); @@ -152,108 +126,27 @@ internal static MulticlassClassificationResult AutoFit(this MulticlassClassifica { (trainData, validationData) = context.TestValidateSplit(trainData); } - + // run autofit & get all pipelines run in that process - var (allPipelines, bestPipeline) = AutoFitApi.Fit(trainData, validationData, label, - settings, preFeaturizers, TaskKind.MulticlassClassification, OptimizingMetric.Accuracy, - columnPurposes, debugLogger); - - var results = new MulticlassClassificationIterationResult[allPipelines.Length]; - for (var i = 0; i < results.Length; i++) - { - var iterationResult = allPipelines[i]; - var result = new MulticlassClassificationIterationResult(iterationResult.Model, (MultiClassClassifierMetrics)iterationResult.EvaluatedMetrics, iterationResult.ScoredValidationData, iterationResult.Pipeline.ToPipeline()); - results[i] = result; - } - var bestResult = new MulticlassClassificationIterationResult(bestPipeline.Model, (MultiClassClassifierMetrics)bestPipeline.EvaluatedMetrics, bestPipeline.ScoredValidationData, bestPipeline.Pipeline.ToPipeline()); - return new MulticlassClassificationResult(bestResult, results); - } - } - - public class BinaryClassificationResult - { - public readonly BinaryClassificationItertionResult BestIteration; - public readonly BinaryClassificationItertionResult[] IterationResults; - - public BinaryClassificationResult(BinaryClassificationItertionResult bestPipeline, - BinaryClassificationItertionResult[] iterationResults) - { - BestIteration = bestPipeline; - IterationResults = iterationResults; - } - } - - public class MulticlassClassificationResult - { - public readonly MulticlassClassificationIterationResult BestIteration; - public readonly MulticlassClassificationIterationResult[] IterationResults; - - public MulticlassClassificationResult(MulticlassClassificationIterationResult bestPipeline, - MulticlassClassificationIterationResult[] iterationResults) - { - BestIteration = bestPipeline; - IterationResults = iterationResults; - } - } - - public class RegressionResult - { - public readonly RegressionIterationResult BestIteration; - public readonly RegressionIterationResult[] IterationResults; - - public RegressionResult(RegressionIterationResult bestPipeline, - RegressionIterationResult[] iterationResults) - { - BestIteration = bestPipeline; - IterationResults = iterationResults; - } - } - - public class BinaryClassificationItertionResult - { - public readonly BinaryClassificationMetrics Metrics; - public readonly ITransformer Model; - public readonly IDataView ScoredValidationData; - internal readonly Pipeline Pipeline; - - internal BinaryClassificationItertionResult(ITransformer model, BinaryClassificationMetrics metrics, IDataView scoredValidationData, Pipeline pipeline) - { - Model = model; - ScoredValidationData = scoredValidationData; - Metrics = metrics; - Pipeline = pipeline; - } - } - - public class MulticlassClassificationIterationResult - { - public readonly MultiClassClassifierMetrics Metrics; - public readonly ITransformer Model; - public readonly IDataView ScoredValidationData; - internal readonly Pipeline Pipeline; - - internal MulticlassClassificationIterationResult(ITransformer model, MultiClassClassifierMetrics metrics, IDataView scoredValidationData, Pipeline pipeline) - { - Model = model; - Metrics = metrics; - ScoredValidationData = scoredValidationData; - Pipeline = pipeline; + var autoFitter = new AutoFitter(TaskKind.MulticlassClassification, trainData, label, validationData, + settings, preFeaturizers, columnPurposes, OptimizingMetric.RSquared, debugLogger); + return autoFitter.Fit(); } } - public class RegressionIterationResult + public class IterationResult { - public readonly RegressionMetrics Metrics; + public readonly T Metrics; public readonly ITransformer Model; - public readonly IDataView ScoredValidationData; + public readonly Exception Exception; internal readonly Pipeline Pipeline; - internal RegressionIterationResult(ITransformer model, RegressionMetrics metrics, IDataView scoredValidationData, Pipeline pipeline) + internal IterationResult(ITransformer model, T metrics, Pipeline pipeline, Exception exception) { Model = model; Metrics = metrics; - ScoredValidationData = scoredValidationData; Pipeline = pipeline; + Exception = exception; } } } diff --git a/src/AutoML/API/Pipeline.cs b/src/AutoML/API/Pipeline.cs index a5644eaf83..4fe125f01d 100644 --- a/src/AutoML/API/Pipeline.cs +++ b/src/AutoML/API/Pipeline.cs @@ -23,7 +23,7 @@ internal Pipeline() public IEstimator ToEstimator() { - var inferredPipeline = InferredPipeline.FromPipeline(this); + var inferredPipeline = SuggestedPipeline.FromPipeline(this); return inferredPipeline.ToEstimator(); } } @@ -87,7 +87,7 @@ internal CustomProperty() } } - internal class PipelineRunResult + internal class PipelineScore { public readonly double Score; @@ -99,7 +99,7 @@ internal class PipelineRunResult internal readonly Pipeline Pipeline; - internal PipelineRunResult(Pipeline pipeline, double score, bool runSucceeded) + internal PipelineScore(Pipeline pipeline, double score, bool runSucceeded) { Pipeline = pipeline; Score = score; diff --git a/src/AutoML/AutoFitter/AutoFitApi.cs b/src/AutoML/AutoFitter/AutoFitApi.cs deleted file mode 100644 index 544f33191e..0000000000 --- a/src/AutoML/AutoFitter/AutoFitApi.cs +++ /dev/null @@ -1,53 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System.Collections.Generic; -using System.Linq; -using Microsoft.ML.Core.Data; -using Microsoft.ML.Data; - -namespace Microsoft.ML.Auto -{ - internal static class AutoFitApi - { - public static (InferredPipelineRunResult[] allPipelines, InferredPipelineRunResult bestPipeline) Fit(IDataView trainData, - IDataView validationData, string label, AutoFitSettings settings, IEstimator preFeaturizers, TaskKind task, OptimizingMetric metric, - IEnumerable<(string, ColumnPurpose)> purposeOverrides, IDebugLogger debugLogger) - { - // hack: init new MLContext - var mlContext = new MLContext(); - - ITransformer preprocessorTransform = null; - if (preFeaturizers != null) - { - // preprocess train and validation data - preprocessorTransform = preFeaturizers.Fit(trainData); - trainData = preprocessorTransform.Transform(trainData); - validationData = preprocessorTransform.Transform(validationData); - } - - var purposeOverridesDict = purposeOverrides?.ToDictionary(p => p.Item1, p => p.Item2); - var optimizingMetricfInfo = new OptimizingMetricInfo(metric); - - // infer pipelines - var autoFitter = new AutoFitter(mlContext, optimizingMetricfInfo, settings ?? new AutoFitSettings(), task, - label, trainData, validationData, purposeOverridesDict, debugLogger); - var allPipelines = autoFitter.Fit(); - - // apply preprocessor to returned models - if (preprocessorTransform != null) - { - for (var i = 0; i < allPipelines.Length; i++) - { - allPipelines[i].Model = preprocessorTransform.Append(allPipelines[i].Model); - } - } - - var bestScore = allPipelines.Max(p => p.Score); - var bestPipeline = allPipelines.First(p => p.Score == bestScore); - - return (allPipelines, bestPipeline); - } - } -} diff --git a/src/AutoML/AutoFitter/AutoFitter.cs b/src/AutoML/AutoFitter/AutoFitter.cs index f30a003f29..c57650f044 100644 --- a/src/AutoML/AutoFitter/AutoFitter.cs +++ b/src/AutoML/AutoFitter/AutoFitter.cs @@ -7,41 +7,61 @@ using System.Diagnostics; using System.Linq; using System.Text; +using System.Threading; +using Microsoft.ML.Core.Data; using Microsoft.ML.Data; namespace Microsoft.ML.Auto { - internal class AutoFitter + internal class AutoFitter where T : class { private readonly IDebugLogger _debugLogger; - private readonly IList _history; + private readonly IList> _history; private readonly string _label; private readonly MLContext _context; private readonly OptimizingMetricInfo _optimizingMetricInfo; private readonly IDictionary _purposeOverrides; private readonly AutoFitSettings _settings; - private readonly IDataView _trainData; private readonly TaskKind _task; - private readonly IDataView _validationData; - - public AutoFitter(MLContext context, OptimizingMetricInfo metricInfo, AutoFitSettings settings, - TaskKind task, string label, IDataView trainData, IDataView validationData, - IDictionary purposeOverrides, IDebugLogger debugLogger) + private readonly IEstimator _preFeaturizers; + + private IDataView _trainData; + private IDataView _validationData; + + public AutoFitter(TaskKind task, + IDataView trainData, + string label, + IDataView validationData, + AutoFitSettings settings, + IEstimator preFeaturizers, + IEnumerable<(string, ColumnPurpose)> purposeOverrides, + OptimizingMetric metric, + IDebugLogger debugLogger) { _debugLogger = debugLogger; - _history = new List(); + _history = new List>(); _label = label; - _context = context; - _optimizingMetricInfo = metricInfo; + _context = new MLContext(); + _optimizingMetricInfo = new OptimizingMetricInfo(metric); _settings = settings ?? new AutoFitSettings(); - _purposeOverrides = purposeOverrides; + _purposeOverrides = purposeOverrides?.ToDictionary(p => p.Item1, p => p.Item2); _trainData = trainData; _task = task; _validationData = validationData; + _preFeaturizers = preFeaturizers; } - public InferredPipelineRunResult[] Fit() + public IEnumerable> Fit() { + ITransformer preprocessorTransform = null; + if (_preFeaturizers != null) + { + // preprocess train and validation data + preprocessorTransform = _preFeaturizers.Fit(_trainData); + _trainData = preprocessorTransform.Transform(_trainData); + _validationData = preprocessorTransform.Transform(_validationData); + } + var stopwatch = Stopwatch.StartNew(); var columns = AutoMlUtils.GetColumnInfoTuples(_context, _trainData, _label, _purposeOverrides); @@ -58,62 +78,56 @@ public InferredPipelineRunResult[] Fit() } // evaluate pipeline - ProcessPipeline(pipeline); + SuggestedPipelineResult runResult = ProcessPipeline(pipeline); + + if (preprocessorTransform != null) + { + runResult.Model = preprocessorTransform.Append(runResult.Model); + } + + yield return runResult.ToIterationResult(); } while (_history.Count < _settings.StoppingCriteria.MaxIterations && stopwatch.Elapsed.TotalMinutes < _settings.StoppingCriteria.TimeOutInMinutes); - - return _history.ToArray(); } - private void ProcessPipeline(InferredPipeline pipeline) + private SuggestedPipelineResult ProcessPipeline(SuggestedPipeline pipeline) { // run pipeline var stopwatch = Stopwatch.StartNew(); - InferredPipelineRunResult runResult; + SuggestedPipelineResult runResult; try { - var pipelineModel = pipeline.TrainTransformer(_trainData); + var pipelineModel = pipeline.Fit(_trainData); var scoredValidationData = pipelineModel.Transform(_validationData); var evaluatedMetrics = GetEvaluatedMetrics(scoredValidationData); var score = GetPipelineScore(evaluatedMetrics); - runResult = new InferredPipelineRunResult(evaluatedMetrics, pipelineModel, pipeline, score, scoredValidationData); + runResult = new SuggestedPipelineResult(evaluatedMetrics, pipelineModel, pipeline, score, null); } catch(Exception ex) { WriteDebugLog(DebugStream.Exception, $"{pipeline.Trainer} Crashed {ex}"); - runResult = new InferredPipelineRunResult(pipeline, false); + runResult = new SuggestedPipelineResult(null, null, pipeline, 0, ex); } // save pipeline run _history.Add(runResult); + WriteIterationLog(pipeline, runResult, stopwatch); - // debug log pipeline result - if(runResult.RunSucceded) - { - var transformsSb = new StringBuilder(); - foreach (var transform in pipeline.Transforms) - { - transformsSb.Append("xf="); - transformsSb.Append(transform); - transformsSb.Append(" "); - } - var commandLineStr = $"{transformsSb.ToString()} tr={pipeline.Trainer}"; - WriteDebugLog(DebugStream.RunResult, $"{_history.Count}\t{runResult.Score}\t{stopwatch.Elapsed}\t{commandLineStr}"); - } + return runResult; } - private object GetEvaluatedMetrics(IDataView scoredData) + private T GetEvaluatedMetrics(IDataView scoredData) { switch(_task) { case TaskKind.BinaryClassification: - return _context.BinaryClassification.EvaluateNonCalibrated(scoredData); + return _context.BinaryClassification.EvaluateNonCalibrated(scoredData) as T; case TaskKind.MulticlassClassification: - return _context.MulticlassClassification.Evaluate(scoredData); + return _context.MulticlassClassification.Evaluate(scoredData) as T; case TaskKind.Regression: - return _context.Regression.Evaluate(scoredData); + return _context.Regression.Evaluate(scoredData) as T; // should not be possible to reach here default: throw new InvalidOperationException($"unsupported machine learning task type {_task}"); @@ -140,6 +154,23 @@ private double GetPipelineScore(object evaluatedMetrics) throw new InvalidOperationException($"unsupported machine learning task type {_task}"); } + private void WriteIterationLog(SuggestedPipeline pipeline, SuggestedPipelineResult runResult, Stopwatch stopwatch) + { + // debug log pipeline result + if (runResult.RunSucceded) + { + var transformsSb = new StringBuilder(); + foreach (var transform in pipeline.Transforms) + { + transformsSb.Append("xf="); + transformsSb.Append(transform); + transformsSb.Append(" "); + } + var commandLineStr = $"{transformsSb.ToString()} tr={pipeline.Trainer}"; + WriteDebugLog(DebugStream.RunResult, $"{_history.Count}\t{runResult.Score}\t{stopwatch.Elapsed}\t{commandLineStr}"); + } + } + private void WriteDebugLog(DebugStream stream, string message) { if(_debugLogger == null) diff --git a/src/AutoML/AutoFitter/InferredPipelineRunResult.cs b/src/AutoML/AutoFitter/InferredPipelineRunResult.cs deleted file mode 100644 index 825c53f219..0000000000 --- a/src/AutoML/AutoFitter/InferredPipelineRunResult.cs +++ /dev/null @@ -1,54 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.ML.Core.Data; -using Microsoft.ML.Data; - -namespace Microsoft.ML.Auto -{ - internal class InferredPipelineRunResult - { - public readonly object EvaluatedMetrics; - public readonly InferredPipeline Pipeline; - public readonly double Score; - public readonly IDataView ScoredValidationData; - - /// - /// This setting is true if the pipeline run succeeded & ran to completion. - /// Else, it is false if some exception was thrown before the run could complete. - /// - public readonly bool RunSucceded; - - public ITransformer Model { get; set; } - - public InferredPipelineRunResult(object evaluatedMetrics, ITransformer model, InferredPipeline pipeline, double score, IDataView scoredValidationData, - bool runSucceeded = true) - { - EvaluatedMetrics = evaluatedMetrics; - Model = model; - Pipeline = pipeline; - Score = score; - ScoredValidationData = scoredValidationData; - RunSucceded = runSucceeded; - } - - public InferredPipelineRunResult(InferredPipeline pipeline, bool runSucceeded) - { - Pipeline = pipeline; - RunSucceded = runSucceeded; - } - - public static InferredPipelineRunResult FromPipelineRunResult(PipelineRunResult pipelineRunResult) - { - return new InferredPipelineRunResult(null, null, - InferredPipeline.FromPipeline(pipelineRunResult.Pipeline), - pipelineRunResult.Score, null, pipelineRunResult.RunSucceded); - } - - public IRunResult ToRunResult(bool isMetricMaximizing) - { - return new RunResult(Pipeline.Trainer.HyperParamSet, Score, isMetricMaximizing); - } - } -} diff --git a/src/AutoML/AutoFitter/InferredPipeline.cs b/src/AutoML/AutoFitter/SuggestedPipeline.cs similarity index 92% rename from src/AutoML/AutoFitter/InferredPipeline.cs rename to src/AutoML/AutoFitter/SuggestedPipeline.cs index 8ef6c598da..e2c4f6d49c 100644 --- a/src/AutoML/AutoFitter/InferredPipeline.cs +++ b/src/AutoML/AutoFitter/SuggestedPipeline.cs @@ -14,13 +14,13 @@ namespace Microsoft.ML.Auto /// A runnable pipeline. Contains a learner and set of transforms, /// along with a RunSummary if it has already been exectued. /// - internal class InferredPipeline + internal class SuggestedPipeline { private readonly MLContext _context; public readonly IList Transforms; public readonly SuggestedTrainer Trainer; - public InferredPipeline(IEnumerable transforms, + public SuggestedPipeline(IEnumerable transforms, SuggestedTrainer trainer, MLContext context = null, bool autoNormalize = true) @@ -39,7 +39,7 @@ public InferredPipeline(IEnumerable transforms, public override bool Equals(object obj) { - var pipeline = obj as InferredPipeline; + var pipeline = obj as SuggestedPipeline; if(pipeline == null) { return false; @@ -63,7 +63,7 @@ public Pipeline ToPipeline() return new Pipeline(pipelineElements.ToArray()); } - public static InferredPipeline FromPipeline(Pipeline pipeline) + public static SuggestedPipeline FromPipeline(Pipeline pipeline) { var context = new MLContext(); @@ -89,7 +89,7 @@ public static InferredPipeline FromPipeline(Pipeline pipeline) } } - return new InferredPipeline(transforms, trainer, null, false); + return new SuggestedPipeline(transforms, trainer, null, false); } public IEstimator ToEstimator() @@ -114,7 +114,7 @@ public IEstimator ToEstimator() return pipeline; } - public ITransformer TrainTransformer(IDataView trainData) + public ITransformer Fit(IDataView trainData) { var estimator = ToEstimator(); return estimator.Fit(trainData); diff --git a/src/AutoML/AutoFitter/SuggestedPipelineResult.cs b/src/AutoML/AutoFitter/SuggestedPipelineResult.cs new file mode 100644 index 0000000000..894dd69b31 --- /dev/null +++ b/src/AutoML/AutoFitter/SuggestedPipelineResult.cs @@ -0,0 +1,53 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.ML.Core.Data; + +namespace Microsoft.ML.Auto +{ + internal class SuggestedPipelineResult + { + public readonly SuggestedPipeline Pipeline; + public readonly bool RunSucceded; + public readonly double Score; + + public SuggestedPipelineResult(SuggestedPipeline pipeline, double score, bool runSucceeded) + { + Pipeline = pipeline; + Score = score; + RunSucceded = runSucceeded; + } + + public static SuggestedPipelineResult FromPipelineRunResult(PipelineScore pipelineRunResult) + { + return new SuggestedPipelineResult(SuggestedPipeline.FromPipeline(pipelineRunResult.Pipeline), pipelineRunResult.Score, pipelineRunResult.RunSucceded); + } + + public IRunResult ToRunResult(bool isMetricMaximizing) + { + return new RunResult(Pipeline.Trainer.HyperParamSet, Score, isMetricMaximizing); + } + } + + internal class SuggestedPipelineResult : SuggestedPipelineResult + { + public readonly T EvaluatedMetrics; + public ITransformer Model { get; set; } + public Exception Exception { get; set; } + + public SuggestedPipelineResult(T evaluatedMetrics, ITransformer model, SuggestedPipeline pipeline, double score, Exception exception) + : base(pipeline, score, exception == null) + { + EvaluatedMetrics = evaluatedMetrics; + Model = model; + Exception = exception; + } + + public IterationResult ToIterationResult() + { + return new IterationResult(Model, EvaluatedMetrics, Pipeline.ToPipeline(), Exception); + } + } +} diff --git a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs index fc59151e0f..be1f43daa1 100644 --- a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs +++ b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs @@ -13,18 +13,18 @@ internal static class PipelineSuggester { private const int TopKTrainers = 3; - public static Pipeline GetNextPipeline(IEnumerable history, + public static Pipeline GetNextPipeline(IEnumerable history, (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns, TaskKind task, int iterationsRemaining, bool isMaximizingMetric = true) { - var inferredHistory = history.Select(r => InferredPipelineRunResult.FromPipelineRunResult(r)); + var inferredHistory = history.Select(r => SuggestedPipelineResult.FromPipelineRunResult(r)); var nextInferredPipeline = GetNextInferredPipeline(inferredHistory, columns, task, iterationsRemaining, isMaximizingMetric); return nextInferredPipeline?.ToPipeline(); } - public static InferredPipeline GetNextInferredPipeline(IEnumerable history, + public static SuggestedPipeline GetNextInferredPipeline(IEnumerable history, (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns, TaskKind task, int iterationsRemaining, @@ -48,7 +48,7 @@ public static InferredPipeline GetNextInferredPipeline(IEnumerable(history.Select(h => h.Pipeline)); + var visitedPipelines = new HashSet(history.Select(h => h.Pipeline)); // iterate over top trainers (from least run to most run), // to find next pipeline @@ -69,12 +69,12 @@ public static InferredPipeline GetNextInferredPipeline(IEnumerable /// Get top trainers from first stage /// - private static IEnumerable GetTopTrainers(IEnumerable history, + private static IEnumerable GetTopTrainers(IEnumerable history, IEnumerable availableTrainers, bool isMaximizingMetric) { @@ -93,7 +93,7 @@ private static IEnumerable GetTopTrainers(IEnumerable r.Pipeline.Trainer.TrainerName).Select(g => g.First()); - IEnumerable sortedHistory = history.OrderBy(r => r.Score); + IEnumerable sortedHistory = history.OrderBy(r => r.Score); if(isMaximizingMetric) { sortedHistory = sortedHistory.Reverse(); @@ -102,7 +102,7 @@ private static IEnumerable GetTopTrainers(IEnumerable OrderTrainersByNumTrials(IEnumerable history, + private static IEnumerable OrderTrainersByNumTrials(IEnumerable history, IEnumerable selectedTrainers) { var selectedTrainerNames = new HashSet(selectedTrainers.Select(t => t.TrainerName)); @@ -112,12 +112,12 @@ private static IEnumerable OrderTrainersByNumTrials(IEnumerabl .Select(x => x.First().Pipeline.Trainer); } - private static InferredPipeline GetNextFirstStagePipeline(IEnumerable history, + private static SuggestedPipeline GetNextFirstStagePipeline(IEnumerable history, IEnumerable availableTrainers, IEnumerable transforms) { var trainer = availableTrainers.ElementAt(history.Count()); - return new InferredPipeline(transforms, trainer); + return new SuggestedPipeline(transforms, trainer); } private static IValueGenerator[] ConvertToValueGenerators(IEnumerable hps) @@ -183,7 +183,7 @@ private static IValueGenerator[] ConvertToValueGenerators(IEnumerable - private static bool SampleHyperparameters(SuggestedTrainer trainer, IEnumerable history, bool isMaximizingMetric) + private static bool SampleHyperparameters(SuggestedTrainer trainer, IEnumerable history, bool isMaximizingMetric) { var sps = ConvertToValueGenerators(trainer.SweepParams); var sweeper = new SmacSweeper( @@ -192,7 +192,7 @@ private static bool SampleHyperparameters(SuggestedTrainer trainer, IEnumerable< SweptParameters = sps }); - IEnumerable historyToUse = history + IEnumerable historyToUse = history .Where(r => r.RunSucceded && r.Pipeline.Trainer.TrainerName == trainer.TrainerName && r.Pipeline.Trainer.HyperParamSet != null && r.Pipeline.Trainer.HyperParamSet.Any()); // get new set of hyperparameter values diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs b/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs index 0afab49725..4f7a9446c6 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs @@ -139,7 +139,7 @@ private static IEnumerable GetMultiLearners(int maxIterations learners.AddRange(new ITrainerExtension[] { new SgdOvaExtension(), - new FastForestOvaExtension(), + // new FastForestOvaExtension(), new LogisticRegressionMultiExtension(), }); @@ -163,7 +163,7 @@ private static IEnumerable GetRegressionLearners(int maxItera learners.AddRange(new ITrainerExtension[] { new FastTreeTweedieRegressionExtension(), - new FastForestRegressionExtension(), + // new FastForestRegressionExtension(), }); if(maxIterations < 100) diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index 4624c9d44e..f06da7ac49 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -40,21 +40,38 @@ public static void Run() // STEP 3: Print metrics for each iteration int iterationIndex = 0; PrintBinaryClassificationMetricsHeader(); - foreach (var i in autoFitResults.IterationResults) + + IDataView testDataViewWithBestScore = null; + IterationResult bestIteration = null; + double bestScore = 0; + + foreach (var iterationResult in autoFitResults) { - IDataView iterationPredictions = autoFitResults.BestIteration.Model.Transform(testDataView); - var testMetrics = mlContext.BinaryClassification.EvaluateNonCalibrated(iterationPredictions, label: "Label", score: "Score"); + if (iterationResult.Exception != null) + { + Console.WriteLine(iterationResult.Exception); + continue; + } + + IDataView testDataViewWithScore = iterationResult.Model.Transform(testDataView); + var testMetrics = mlContext.BinaryClassification.EvaluateNonCalibrated(testDataViewWithScore, label: "Label", score: "Score"); + if (bestScore < iterationResult.Metrics.Accuracy) + { + bestScore = iterationResult.Metrics.Accuracy; + bestIteration = iterationResult; + testDataViewWithBestScore = testDataViewWithScore; + } ++iterationIndex; - PrintBinaryClassificationMetrics(iterationIndex, "validation metrics", i.Metrics); + PrintBinaryClassificationMetrics(iterationIndex, "validation metrics", iterationResult.Metrics); PrintBinaryClassificationMetrics(iterationIndex, "test metrics ", testMetrics); Console.WriteLine(); } // STEP 4: Compare and print actual value vs predicted value for top 5 rows from validation data PrintActualVersusPredictedHeader(); - IEnumerable labels = autoFitResults.BestIteration.ScoredValidationData.GetColumn(mlContext, "Label"); - IEnumerable scores = autoFitResults.BestIteration.ScoredValidationData.GetColumn(mlContext, "Score"); + IEnumerable labels = testDataViewWithBestScore.GetColumn(mlContext, DefaultColumnNames.Label); + IEnumerable scores = testDataViewWithBestScore.GetColumn(mlContext, DefaultColumnNames.Score); int rowCount = 1; do { @@ -64,9 +81,9 @@ public static void Run() // STEP 5: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) - autoFitResults.BestIteration.Model.SaveTo(mlContext, fs); + bestIteration.Model.SaveTo(mlContext, fs); - Console.WriteLine("Press any key to exit.."); + Console.WriteLine("Press any key to continue.."); Console.ReadLine(); } diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index c68df92e48..d88ef3ff63 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -45,21 +45,38 @@ public static void Run() // STEP 3: Print metrics for each iteration int iterationIndex = 0; PrintMulticlassClassificationMetricsHeader(); - foreach (var i in autoFitResults.IterationResults) + + IDataView testDataViewWithBestScore = null; + IterationResult bestIteration = null; + double bestScore = 0; + + foreach (var iterationResult in autoFitResults) { - IDataView iterationPredictions = autoFitResults.BestIteration.Model.Transform(testDataView); - var testMetrics = mlContext.MulticlassClassification.Evaluate(iterationPredictions, label: "Label", score: "Score"); + if (iterationResult.Exception != null) + { + Console.WriteLine(iterationResult.Exception); + continue; + } + + IDataView testDataViewWithScore = iterationResult.Model.Transform(testDataView); + var testMetrics = mlContext.MulticlassClassification.Evaluate(testDataViewWithScore, label: "Label", score: "Score"); + if (bestScore < iterationResult.Metrics.AccuracyMacro) + { + bestScore = iterationResult.Metrics.AccuracyMacro; + bestIteration = iterationResult; + testDataViewWithBestScore = testDataViewWithScore; + } ++iterationIndex; - PrintMulticlassClassificationMetrics(iterationIndex, "validation metrics", i.Metrics); + PrintMulticlassClassificationMetrics(iterationIndex, "validation metrics", iterationResult.Metrics); PrintMulticlassClassificationMetrics(iterationIndex, "test metrics ", testMetrics); Console.WriteLine(); } // STEP 4: Compare and print actual value vs predicted value for top 5 rows from validation data PrintActualVersusPredictedHeader(); - IEnumerable labels = autoFitResults.BestIteration.ScoredValidationData.GetColumn(mlContext, "Label"); - IEnumerable scores = autoFitResults.BestIteration.ScoredValidationData.GetColumn(mlContext, "PredictedLabel"); + IEnumerable labels = testDataViewWithBestScore.GetColumn(mlContext, DefaultColumnNames.Label); + IEnumerable scores = testDataViewWithBestScore.GetColumn(mlContext, DefaultColumnNames.PredictedLabel); int rowCount = 1; do { @@ -68,9 +85,9 @@ public static void Run() // STEP 5: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) - autoFitResults.BestIteration.Model.SaveTo(mlContext, fs); + bestIteration.Model.SaveTo(mlContext, fs); - Console.WriteLine("Press any key to exit.."); + Console.WriteLine("Press any key to continue.."); Console.ReadLine(); } diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index 209ce2b361..0e406c0e86 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -45,21 +45,38 @@ public static void Run() // STEP 3: Print metrics for each iteration int iterationIndex = 0; PrintRegressionMetricsHeader(); - foreach (var i in autoFitResults.IterationResults) + + IDataView testDataViewWithBestScore = null; + IterationResult bestIteration = null; + double bestScore = 0; + + foreach (var iterationResult in autoFitResults) { - IDataView iterationPredictions = autoFitResults.BestIteration.Model.Transform(testDataView); - var testMetrics = mlContext.Regression.Evaluate(iterationPredictions, label: "Lable", score: "Score"); + if (iterationResult.Exception != null) + { + Console.WriteLine(iterationResult.Exception); + continue; + } + + IDataView testDataViewWithScore = iterationResult.Model.Transform(testDataView); + var testMetrics = mlContext.Regression.Evaluate(testDataViewWithScore, label: DefaultColumnNames.Label, DefaultColumnNames.Score); + if (bestScore < iterationResult.Metrics.RSquared) + { + bestScore = iterationResult.Metrics.RSquared; + bestIteration = iterationResult; + testDataViewWithBestScore = testDataViewWithScore; + } ++iterationIndex; - PrintRegressionMetrics(iterationIndex, "validation metrics", i.Metrics); + PrintRegressionMetrics(iterationIndex, "validation metrics", iterationResult.Metrics); PrintRegressionMetrics(iterationIndex, "test metrics ", testMetrics); Console.WriteLine(); } // STEP 4: Compare and print actual value vs predicted value for top 5 rows from validation data PrintActualVersusPredictedHeader(); - IEnumerable fareAmounts = autoFitResults.BestIteration.ScoredValidationData.GetColumn(mlContext, "FareAmount"); - IEnumerable scores = autoFitResults.BestIteration.ScoredValidationData.GetColumn(mlContext, "Score"); + IEnumerable fareAmounts = testDataViewWithBestScore.GetColumn(mlContext, "FareAmount"); + IEnumerable scores = testDataViewWithBestScore.GetColumn(mlContext, "Score"); int rowCount = 1; do { @@ -69,9 +86,9 @@ public static void Run() // STEP 5: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) - autoFitResults.BestIteration.Model.SaveTo(mlContext, fs); + bestIteration.Model.SaveTo(mlContext, fs); - Console.WriteLine("Press any key to exit.."); + Console.WriteLine("Press any key to continue.."); Console.ReadLine(); } @@ -82,7 +99,7 @@ static void PrintRegressionMetrics(int iteration, string typeOfMetrics, Regressi static void PrintActualVersusPredictedValue(int index, float fareAmount, float score) { - Console.WriteLine($"{index} {fareAmount} {score}"); + Console.WriteLine($"{index} {fareAmount} {score}"); } static void PrintRegressionMetricsHeader() @@ -90,7 +107,7 @@ static void PrintRegressionMetricsHeader() Console.WriteLine($"*************************************************"); Console.WriteLine($"* Metrics for regression model "); Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"iteration type LossFn R2-Score Absolute-loss Squared-loss RMS-loss"); + Console.WriteLine($"iteration type LossFn R2-Score Absolute-loss Squared-loss RMS-loss"); } static void PrintActualVersusPredictedHeader() diff --git a/src/Samples/EarlyStopping.cs b/src/Samples/EarlyStopping.cs new file mode 100644 index 0000000000..751c6ba779 --- /dev/null +++ b/src/Samples/EarlyStopping.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Microsoft.ML; +using Microsoft.ML.Data; +using Microsoft.ML.Auto; +using System.IO; +using System.Linq; + +namespace Samples +{ + static class EarlyStopping + { + private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; + private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; + private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; + private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; + + public static void Run() + { + //Create ML Context with seed for repeteable/deterministic results + MLContext mlContext = new MLContext(seed: 0); + + // STEP 1: Common data loading configuration + TextLoader textLoader = mlContext.Data.CreateTextReader(new[] + { + new TextLoader.Column("VendorId", DataKind.Text, 0), + new TextLoader.Column("RateCode", DataKind.Text, 1), + new TextLoader.Column("PassengerCount", DataKind.R4, 2), + new TextLoader.Column("TripTime", DataKind.R4, 3), + new TextLoader.Column("TripDistance", DataKind.R4, 4), + new TextLoader.Column("PaymentType", DataKind.Text, 5), + new TextLoader.Column("FareAmount", DataKind.R4, 6) + }, + hasHeader: true, + separatorChar: ',' + ); + + IDataView trainDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); + + // STEP 2: Auto featurize, auto train and auto hyperparameter tuning + var autoFitResults = mlContext.Regression.AutoFit(trainDataView, "FareAmount", timeoutInMinutes: 3); + + IterationResult bestIteration = null; + double bestScore = 0; + int totalIterations = 0; + int iterationsWithoutScoreImprovement = 0; + + foreach (var iterationResult in autoFitResults) + { + totalIterations++; + IDataView testDataViewWithScore = iterationResult.Model.Transform(testDataView); + var testMetrics = mlContext.Regression.Evaluate(testDataViewWithScore, label: DefaultColumnNames.Label, DefaultColumnNames.Score); + Console.WriteLine($"iteration{ totalIterations} score:{iterationResult.Metrics.RSquared}"); + if (bestScore < iterationResult?.Metrics.RSquared) + { + bestScore = iterationResult.Metrics.RSquared; + bestIteration = iterationResult; + iterationsWithoutScoreImprovement = 0; + } + else + { + iterationsWithoutScoreImprovement++; + } + + // Stop iterations when one of the criteria is met + // 1) Best score is above 0.95 + // 2) Score hasn't improved in last 10 iterations + // 3) Total iterations has exceeded 30 + if (bestScore > 0.95 || + totalIterations > 30 || + iterationsWithoutScoreImprovement > 10) + { + Console.WriteLine("Stopping early"); + break; + } + } + + Console.WriteLine($"total iterations:{totalIterations} bestscore:{bestScore} iterations without improvement:{iterationsWithoutScoreImprovement}"); + + Console.WriteLine("Press any key to continue.."); + Console.ReadLine(); + } + } +} diff --git a/src/Samples/Program.cs b/src/Samples/Program.cs index 36d7e0b021..f86fa480ad 100644 --- a/src/Samples/Program.cs +++ b/src/Samples/Program.cs @@ -21,6 +21,9 @@ public static void Main(string[] args) AutoTrainMulticlassClassification.Run(); Console.Clear(); + EarlyStopping.Run(); + Console.Clear(); + Console.WriteLine("Done"); } catch (Exception ex) diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index 766ac59272..918732f6be 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using Microsoft.VisualStudio.TestTools.UnitTesting; +using System.Linq; namespace Microsoft.ML.Auto.Test { @@ -19,7 +20,7 @@ public void AutoFitBinaryTest() var trainData = textLoader.Read(dataPath); var validationData = trainData.Take(100); trainData = trainData.Skip(100); - var best = context.BinaryClassification.AutoFit(trainData, DatasetUtil.UciAdultLabel, validationData, settings: + var result = context.BinaryClassification.AutoFit(trainData, DatasetUtil.UciAdultLabel, validationData, settings: new AutoFitSettings() { StoppingCriteria = new ExperimentStoppingCriteria() @@ -29,8 +30,7 @@ public void AutoFitBinaryTest() } }, debugLogger: null); - Assert.IsNotNull(best?.BestIteration?.Model); - Assert.IsTrue(best.BestIteration.Metrics.Accuracy > 0.80); + Assert.IsTrue(result.Max(i => i.Metrics.Accuracy) > 0.80); } [TestMethod] @@ -43,7 +43,7 @@ public void AutoFitMultiTest() var trainData = textLoader.Read(dataPath); var validationData = trainData.Take(20); trainData = trainData.Skip(20); - var best = context.MulticlassClassification.AutoFit(trainData, DatasetUtil.TrivialDatasetLabel, validationData, settings: + var result = context.MulticlassClassification.AutoFit(trainData, DatasetUtil.TrivialDatasetLabel, validationData, settings: new AutoFitSettings() { StoppingCriteria = new ExperimentStoppingCriteria() @@ -53,8 +53,7 @@ public void AutoFitMultiTest() } }, debugLogger: null); - Assert.IsNotNull(best?.BestIteration?.Model); - Assert.IsTrue(best.BestIteration.Metrics.AccuracyMicro > 0.80); + Assert.IsTrue(result.Max(i => i.Metrics.AccuracyMacro) > 0.80); } [TestMethod] @@ -67,7 +66,7 @@ public void AutoFitRegressionTest() var trainData = textLoader.Read(dataPath); var validationData = trainData.Take(20); trainData = trainData.Skip(20); - var best = context.Regression.AutoFit(trainData, DatasetUtil.MlNetGeneratedRegressionLabel, validationData, settings: + var result = context.Regression.AutoFit(trainData, DatasetUtil.MlNetGeneratedRegressionLabel, validationData, settings: new AutoFitSettings() { StoppingCriteria = new ExperimentStoppingCriteria() @@ -77,8 +76,7 @@ public void AutoFitRegressionTest() } }, debugLogger: null); - Assert.IsNotNull(best?.BestIteration?.Model); - Assert.IsTrue(best.BestIteration.Metrics.RSquared > 0.9); + Assert.IsTrue(result.Max(i => i.Metrics.RSquared > 0.9)); } } } diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs index 1e7f78007d..cd34863e91 100644 --- a/src/Test/GetNextPipelineTests.cs +++ b/src/Test/GetNextPipelineTests.cs @@ -20,7 +20,7 @@ public void GetNextPipeline() var columns = AutoMlUtils.GetColumnInfoTuples(context, uciAdult, DatasetUtil.UciAdultLabel, null); // get next pipeline - var pipeline = PipelineSuggester.GetNextPipeline(new List(), columns, TaskKind.BinaryClassification, 5); + var pipeline = PipelineSuggester.GetNextPipeline(new List(), columns, TaskKind.BinaryClassification, 5); // serialize & deserialize pipeline var serialized = JsonConvert.SerializeObject(pipeline); @@ -31,7 +31,7 @@ public void GetNextPipeline() var estimator = deserialized.ToEstimator(); var scoredData = estimator.Fit(uciAdult).Transform(uciAdult); var score = context.BinaryClassification.EvaluateNonCalibrated(scoredData).Accuracy; - var result = new PipelineRunResult(deserialized, score, true); + var result = new PipelineScore(deserialized, score, true); Assert.IsNotNull(result); } @@ -44,7 +44,7 @@ public void GetNextPipelineMock() var columns = AutoMlUtils.GetColumnInfoTuples(context, uciAdult, DatasetUtil.UciAdultLabel, null); // get next pipeline loop - var history = new List(); + var history = new List(); var maxIterations = 10; for (var i = 0; i < maxIterations; i++) { @@ -55,7 +55,7 @@ public void GetNextPipelineMock() break; } - var result = new PipelineRunResult(pipeline, AutoMlUtils.Random.NextDouble(), true); + var result = new PipelineScore(pipeline, AutoMlUtils.Random.NextDouble(), true); history.Add(result); } diff --git a/src/Test/InferredPipelineTests.cs b/src/Test/InferredPipelineTests.cs index 313fe0f1fd..ec5f8d0b88 100644 --- a/src/Test/InferredPipelineTests.cs +++ b/src/Test/InferredPipelineTests.cs @@ -21,16 +21,16 @@ public void InferredPipelinesHashTest() var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); var transforms1 = new List(); var transforms2 = new List(); - var inferredPipeline1 = new InferredPipeline(transforms1, trainer1); - var inferredPipeline2 = new InferredPipeline(transforms2, trainer2); + var inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1); + var inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2); Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // test same learners with hyperparams set vs empty hyperparams have different hash codes var hyperparams1 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams1); trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); - inferredPipeline1 = new InferredPipeline(transforms1, trainer1); - inferredPipeline2 = new InferredPipeline(transforms2, trainer2); + inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1); + inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same learners with different hyperparams @@ -38,8 +38,8 @@ public void InferredPipelinesHashTest() var hyperparams2 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 6) }); trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams1); trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams2); - inferredPipeline1 = new InferredPipeline(transforms1, trainer1); - inferredPipeline2 = new InferredPipeline(transforms2, trainer2); + inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1); + inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same learners with same transforms @@ -47,8 +47,8 @@ public void InferredPipelinesHashTest() trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - inferredPipeline1 = new InferredPipeline(transforms1, trainer1); - inferredPipeline2 = new InferredPipeline(transforms2, trainer2); + inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1); + inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2); Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same transforms with different learners @@ -56,8 +56,8 @@ public void InferredPipelinesHashTest() trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - inferredPipeline1 = new InferredPipeline(transforms1, trainer1); - inferredPipeline2 = new InferredPipeline(transforms2, trainer2); + inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1); + inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); } } From e3ae06fc08f187b8fd8926b2c02841864fb008ac Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Sat, 2 Feb 2019 23:02:18 -0800 Subject: [PATCH 046/211] misc fixes & test additions, towards 0.1 release (#56) --- .../DatasetDimensions/DatasetDimensionsApi.cs | 11 +- .../DatasetDimensionsUtil.cs | 1 + .../EstimatorExtensionCatalog.cs | 6 +- .../EstimatorExtensions.cs | 32 +- .../TransformInference/TransformInference.cs | 133 ++-- src/Test/DatasetDimensionsTests.cs | 96 +++ src/Test/EstimatorExtensionTests.cs | 3 +- src/Test/GetNextPipelineTests.cs | 31 +- src/Test/TrainerExtensionsTests.cs | 6 +- src/Test/TransformInferenceTests.cs | 712 +++++++++++++++++- src/Test/UserInputValidationTests.cs | 8 - src/Test/Util.cs | 6 +- 12 files changed, 914 insertions(+), 131 deletions(-) create mode 100644 src/Test/DatasetDimensionsTests.cs diff --git a/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs b/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs index fa3b320054..38df6e5432 100644 --- a/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs +++ b/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs @@ -25,15 +25,16 @@ public static ColumnDimensions[] CalcColumnDimensions(IDataView data, PurposeInf int? cardinality = null; bool? hasMissing = null; - // if categorical text feature, calc cardinality - if(column.Type.ItemType().IsText() && purpose.Purpose == ColumnPurpose.CategoricalFeature) + var itemType = column.Type.ItemType(); + + // If categorical text feature, calculate cardinality + if (itemType.IsText() && purpose.Purpose == ColumnPurpose.CategoricalFeature) { cardinality = DatasetDimensionsUtil.GetTextColumnCardinality(data, i); } - // if numeric feature, discover missing values - // todo: upgrade logic to consider R8? - if (column.Type.ItemType() == NumberType.R4) + // If numeric feature, discover missing values + if (itemType == NumberType.R4) { hasMissing = column.Type.IsVector() ? DatasetDimensionsUtil.HasMissingNumericVector(data, i) : diff --git a/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs b/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs index 3871abb070..2330d31e84 100644 --- a/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs +++ b/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; +using System.Linq; using Microsoft.ML.Data; namespace Microsoft.ML.Auto diff --git a/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs b/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs index 3eac9e3c4e..ca24f0fc0d 100644 --- a/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs +++ b/src/AutoML/EstimatorExtensions/EstimatorExtensionCatalog.cs @@ -11,7 +11,8 @@ internal enum EstimatorName { ColumnConcatenating, ColumnCopying, - MissingValueIndicator, + MissingValueIndicating, + MissingValueReplacing, Normalizing, OneHotEncoding, OneHotHashEncoding, @@ -27,7 +28,8 @@ internal class EstimatorExtensionCatalog { { EstimatorName.ColumnConcatenating, typeof(ColumnConcatenatingExtension) }, { EstimatorName.ColumnCopying, typeof(ColumnCopyingExtension) }, - { EstimatorName.MissingValueIndicator, typeof(MissingValueIndicatorExtension) }, + { EstimatorName.MissingValueIndicating, typeof(MissingValueIndicatingExtension) }, + { EstimatorName.MissingValueReplacing, typeof(MissingValueReplacingExtension) }, { EstimatorName.Normalizing, typeof(NormalizingExtension) }, { EstimatorName.OneHotEncoding, typeof(OneHotEncodingExtension) }, { EstimatorName.OneHotHashEncoding, typeof(OneHotHashEncodingExtension) }, diff --git a/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs b/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs index 19c52b9c05..de7bbb42dd 100644 --- a/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs +++ b/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs @@ -4,6 +4,7 @@ using Microsoft.ML.Core.Data; using Microsoft.ML.Data; +using Microsoft.ML.Transforms; using Microsoft.ML.Transforms.Categorical; using Microsoft.ML.Transforms.Conversions; @@ -51,7 +52,7 @@ private static IEstimator CreateInstance(MLContext context, string } } - internal class MissingValueIndicatorExtension : IEstimatorExtension + internal class MissingValueIndicatingExtension : IEstimatorExtension { public IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode) { @@ -60,7 +61,7 @@ public IEstimator CreateInstance(MLContext context, PipelineNode p public static SuggestedTransform CreateSuggestedTransform(MLContext context, string[] inColumns, string[] outColumns) { - var pipelineNode = new PipelineNode(EstimatorName.MissingValueIndicator.ToString(), + var pipelineNode = new PipelineNode(EstimatorName.MissingValueIndicating.ToString(), PipelineNodeType.Transform, inColumns, outColumns); var estimator = CreateInstance(context, inColumns, outColumns); return new SuggestedTransform(pipelineNode, estimator); @@ -78,6 +79,33 @@ private static IEstimator CreateInstance(MLContext context, string } } + internal class MissingValueReplacingExtension : IEstimatorExtension + { + public IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode) + { + return CreateInstance(context, pipelineNode.InColumns, pipelineNode.OutColumns); + } + + public static SuggestedTransform CreateSuggestedTransform(MLContext context, string[] inColumns, string[] outColumns) + { + var pipelineNode = new PipelineNode(EstimatorName.MissingValueReplacing.ToString(), + PipelineNodeType.Transform, inColumns, outColumns); + var estimator = CreateInstance(context, inColumns, outColumns); + return new SuggestedTransform(pipelineNode, estimator); + } + + private static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) + { + var pairs = new MissingValueReplacingTransformer.ColumnInfo[inColumns.Length]; + for (var i = 0; i < inColumns.Length; i++) + { + var pair = new MissingValueReplacingTransformer.ColumnInfo(inColumns[i], outColumns[i]); + pairs[i] = pair; + } + return context.Transforms.ReplaceMissingValues(pairs); + } + } + internal class NormalizingExtension : IEstimatorExtension { public IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode) diff --git a/src/AutoML/TransformInference/TransformInference.cs b/src/AutoML/TransformInference/TransformInference.cs index 179d46a865..1b7b0fc1b9 100644 --- a/src/AutoML/TransformInference/TransformInference.cs +++ b/src/AutoML/TransformInference/TransformInference.cs @@ -8,7 +8,6 @@ using System.Text; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; -using Microsoft.ML.Transforms; namespace Microsoft.ML.Auto { @@ -138,9 +137,6 @@ private static IEnumerable GetExperts() // The expert work independently of each other, the sequence is irrelevant // (it only determines the sequence of resulting transforms). - // If there's more than one feature column, concat all into Features. If it isn't called 'Features', rename it. - yield return new Experts.FeaturesColumnConcatRenameNumericOnly(); - // For text labels, convert to categories. yield return new Experts.AutoLabel(); @@ -226,7 +222,7 @@ public override IEnumerable Apply(IntermediateColumn[] colum continue; } - if (column.Dimensions.Cardinality < 100) + if (column.Dimensions.Cardinality != null && column.Dimensions.Cardinality < 100) { foundCat = true; catColumnsNew.Add(column.ColumnName); @@ -309,73 +305,24 @@ public override IEnumerable Apply(IntermediateColumn[] colum var columnsWithMissing = new List(); foreach (var column in columns) { - if (column.Type.ItemType() == NumberType.R4 && column.Purpose == ColumnPurpose.NumericFeature + if (column.Type.ItemType() == NumberType.R4 + && column.Purpose == ColumnPurpose.NumericFeature && column.Dimensions.HasMissing == true) { - columnsWithMissing.Add(column.ColumnName); + columnsWithMissing.Add(column.ColumnName); } } if (columnsWithMissing.Any()) { var columnsArr = columnsWithMissing.ToArray(); - yield return MissingValueIndicatorExtension.CreateSuggestedTransform(Context, columnsArr, columnsArr); + var indicatorColNames = GetNewColumnNames(columnsArr.Select(c => $"{c}_MissingIndicator"), columns).ToArray(); + yield return MissingValueIndicatingExtension.CreateSuggestedTransform(Context, columnsArr, indicatorColNames); + yield return TypeConvertingExtension.CreateSuggestedTransform(Context, indicatorColNames, indicatorColNames); + yield return MissingValueReplacingExtension.CreateSuggestedTransform(Context, columnsArr, columnsArr); } } } - - internal class FeaturesColumnConcatRename : TransformInferenceExpertBase - { - public virtual bool IgnoreColumn(ColumnPurpose purpose) - { - if (purpose != ColumnPurpose.TextFeature - && purpose != ColumnPurpose.CategoricalFeature - && purpose != ColumnPurpose.NumericFeature) - return true; - return false; - } - - public override IEnumerable Apply(IntermediateColumn[] columns) - { - var selectedColumns = columns.Where(c => !IgnoreColumn(c.Purpose)).ToArray(); - var colList = selectedColumns.Select(c => c.ColumnName).ToArray(); - bool allColumnsNumeric = selectedColumns.All(c => c.Purpose == ColumnPurpose.NumericFeature && c.Type.ItemType() != BoolType.Instance); - bool allColumnsNonNumeric = selectedColumns.All(c => c.Purpose != ColumnPurpose.NumericFeature); - - if (colList.Length > 0) - { - // Check if column is named features and already numeric - if (colList.Length == 1 && colList[0] == DefaultColumnNames.Features && allColumnsNumeric) - { - yield break; - } - - if (!allColumnsNumeric && !allColumnsNonNumeric) - { - yield break; - } - - var input = new ColumnConcatenatingEstimator(Context, DefaultColumnNames.Features, colList); - yield return ColumnConcatenatingExtension.CreateSuggestedTransform(Context, colList, DefaultColumnNames.Features); - } - } - } - - internal sealed class FeaturesColumnConcatRenameIgnoreText : FeaturesColumnConcatRename, ITransformInferenceExpert - { - public override bool IgnoreColumn(ColumnPurpose purpose) - { - return (purpose != ColumnPurpose.CategoricalFeature && purpose != ColumnPurpose.NumericFeature); - } - } - - internal sealed class FeaturesColumnConcatRenameNumericOnly : FeaturesColumnConcatRename, ITransformInferenceExpert - { - public override bool IgnoreColumn(ColumnPurpose purpose) - { - return (purpose != ColumnPurpose.NumericFeature); - } - } - + internal sealed class NameColumnConcatRename : TransformInferenceExpertBase { public override IEnumerable Apply(IntermediateColumn[] columns) @@ -443,8 +390,8 @@ public static SuggestedTransform[] InferTransforms(MLContext context, (string, C suggestedTransforms.AddRange(suggestions); } - var finalFeaturesConcatTransform = BuildFinalFeaturesConcatTransform(context, suggestedTransforms); - if(finalFeaturesConcatTransform != null) + var finalFeaturesConcatTransform = BuildFinalFeaturesConcatTransform(context, suggestedTransforms, intermediateCols); + if (finalFeaturesConcatTransform != null) { suggestedTransforms.Add(finalFeaturesConcatTransform); } @@ -457,24 +404,70 @@ public static SuggestedTransform[] InferTransforms(MLContext context, (string, C /// Take the output columns from all suggested experts (except for 'Label'), and concatenate them /// into one final 'Features' column that a trainer will accept. /// - private static SuggestedTransform BuildFinalFeaturesConcatTransform(MLContext context, IEnumerable suggestedTransforms) + private static SuggestedTransform BuildFinalFeaturesConcatTransform(MLContext context, IEnumerable suggestedTransforms, + IEnumerable intermediateCols) { // get the output column names from all suggested transforms - var outputColNames = new List(); + var concatColNames = new List(); foreach (var suggestedTransform in suggestedTransforms) { - outputColNames.AddRange(suggestedTransform.PipelineNode.OutColumns); + concatColNames.AddRange(suggestedTransform.PipelineNode.OutColumns); + } + + // include all numeric columns of type R4 + foreach(var intermediateCol in intermediateCols) + { + if (intermediateCol.Purpose == ColumnPurpose.NumericFeature && + intermediateCol.Type == NumberType.R4) + { + concatColNames.Add(intermediateCol.ColumnName); + } } // remove 'Label' if it was ever a suggested purpose - outputColNames.Remove(DefaultColumnNames.Label); + concatColNames.Remove(DefaultColumnNames.Label); + concatColNames.Remove(DefaultColumnNames.GroupId); + concatColNames.Remove(DefaultColumnNames.Name); - if(!outputColNames.Any()) + if (!concatColNames.Any() || (concatColNames.Count == 1 && concatColNames[0] == DefaultColumnNames.Features)) { return null; } - return ColumnConcatenatingExtension.CreateSuggestedTransform(context, outputColNames.ToArray(), DefaultColumnNames.Features); + // If Features column exists in original dataset, add it to concatColumnNames + if (intermediateCols.Any(c => c.ColumnName == DefaultColumnNames.Features)) + { + concatColNames.Add(DefaultColumnNames.Features); + } + + return ColumnConcatenatingExtension.CreateSuggestedTransform(context, concatColNames.Distinct().ToArray(), DefaultColumnNames.Features); + } + + private static IEnumerable GetNewColumnNames(IEnumerable desiredColNames, IEnumerable columns) + { + var newColNames = new List(); + + var existingColNames = new HashSet(columns.Select(c => c.ColumnName)); + foreach (var desiredColName in desiredColNames) + { + if (!existingColNames.Contains(desiredColName)) + { + newColNames.Add(desiredColName); + continue; + } + + for(var i = 0; ; i++) + { + var newColName = $"{desiredColName}{i}"; + if (!existingColNames.Contains(newColName)) + { + newColNames.Add(newColName); + break; + } + } + } + + return newColNames; } } } diff --git a/src/Test/DatasetDimensionsTests.cs b/src/Test/DatasetDimensionsTests.cs new file mode 100644 index 0000000000..1460a0e074 --- /dev/null +++ b/src/Test/DatasetDimensionsTests.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.ML.Data; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class DatasetDimensionsTests + { + public object DatasetDimensionUtil { get; private set; } + + [TestMethod] + public void TextColumnDimensionsTest() + { + var dataBuilder = new ArrayDataViewBuilder(new MLContext()); + dataBuilder.AddColumn("categorical", new string[] { "0", "1", "0", "1", "0", "1", "2", "2", "0", "1" }); + dataBuilder.AddColumn("text", new string[] { "0", "1", "0", "1", "0", "1", "2", "2", "0", "1" }); + var data = dataBuilder.GetDataView(); + var dimensions = DatasetDimensionsApi.CalcColumnDimensions(data, new[] { + new PurposeInference.Column(0, ColumnPurpose.CategoricalFeature), + new PurposeInference.Column(0, ColumnPurpose.TextFeature), + }); + Assert.IsNotNull(dimensions); + Assert.AreEqual(2, dimensions.Length); + Assert.AreEqual(3, dimensions[0].Cardinality); + Assert.AreEqual(null, dimensions[1].Cardinality); + Assert.IsNull(dimensions[0].HasMissing); + Assert.IsNull(dimensions[1].HasMissing); + } + + [TestMethod] + public void FloatColumnDimensionsTest() + { + var dataBuilder = new ArrayDataViewBuilder(new MLContext()); + dataBuilder.AddColumn("NoNan", NumberType.R4, new float[] { 0, 1, 0, 1, 0 }); + dataBuilder.AddColumn("Nan", NumberType.R4, new float[] { 0, 1, 0, 1, float.NaN }); + var data = dataBuilder.GetDataView(); + var dimensions = DatasetDimensionsApi.CalcColumnDimensions(data, new[] { + new PurposeInference.Column(0, ColumnPurpose.NumericFeature), + new PurposeInference.Column(1, ColumnPurpose.NumericFeature), + }); + Assert.IsNotNull(dimensions); + Assert.AreEqual(2, dimensions.Length); + Assert.AreEqual(null, dimensions[0].Cardinality); + Assert.AreEqual(null, dimensions[1].Cardinality); + Assert.AreEqual(false, dimensions[0].HasMissing); + Assert.AreEqual(true, dimensions[1].HasMissing); + } + + [TestMethod] + public void FloatVectorColumnHasNanTest() + { + var x = new MLContext(); + var dataBuilder = new ArrayDataViewBuilder(new MLContext()); + var slotNames = new[] { "Col1", "Col2" }; + var colValues = new float[][] + { + new float[] { 0, 0 }, + new float[] { 1, 1 }, + }; + dataBuilder.AddColumn("NoNan", GetKeyValueGetter(slotNames), NumberType.R4, colValues); + colValues = new float[][] + { + new float[] { 0, 0 }, + new float[] { 1, float.NaN }, + }; + dataBuilder.AddColumn("Nan", GetKeyValueGetter(slotNames), NumberType.R4, colValues); + var data = dataBuilder.GetDataView(); + var dimensions = DatasetDimensionsApi.CalcColumnDimensions(data, new[] { + new PurposeInference.Column(0, ColumnPurpose.NumericFeature), + new PurposeInference.Column(1, ColumnPurpose.NumericFeature), + }); + Assert.IsNotNull(dimensions); + Assert.AreEqual(2, dimensions.Length); + Assert.AreEqual(null, dimensions[0].Cardinality); + Assert.AreEqual(null, dimensions[1].Cardinality); + Assert.AreEqual(false, dimensions[0].HasMissing); + Assert.AreEqual(true, dimensions[1].HasMissing); + } + + private static ValueGetter>> GetKeyValueGetter(IEnumerable colNames) + { + return (ref VBuffer> dst) => + { + var editor = VBufferEditor.Create(ref dst, colNames.Count()); + for (int i = 0; i < colNames.Count(); i++) + { + editor.Values[i] = colNames.ElementAt(i).AsMemory(); + } + dst = editor.Commit(); + }; + } + } +} diff --git a/src/Test/EstimatorExtensionTests.cs b/src/Test/EstimatorExtensionTests.cs index 2847565a0c..d778429f93 100644 --- a/src/Test/EstimatorExtensionTests.cs +++ b/src/Test/EstimatorExtensionTests.cs @@ -40,7 +40,8 @@ public void EstimatorExtensionStaticTests() var outCols = new string[] { outCol }; Assert.IsNotNull(ColumnConcatenatingExtension.CreateSuggestedTransform(context, inCols, outCol)); Assert.IsNotNull(ColumnCopyingExtension.CreateSuggestedTransform(context, inCol, outCol)); - Assert.IsNotNull(MissingValueIndicatorExtension.CreateSuggestedTransform(context, inCols, outCols)); + Assert.IsNotNull(MissingValueIndicatingExtension.CreateSuggestedTransform(context, inCols, outCols)); + Assert.IsNotNull(MissingValueReplacingExtension.CreateSuggestedTransform(context, inCols, outCols)); Assert.IsNotNull(NormalizingExtension.CreateSuggestedTransform(context, inCol, outCol)); Assert.IsNotNull(OneHotEncodingExtension.CreateSuggestedTransform(context, inCols, outCols)); Assert.IsNotNull(OneHotHashEncodingExtension.CreateSuggestedTransform(context, inCols, outCols)); diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs index cd34863e91..de4293ae15 100644 --- a/src/Test/GetNextPipelineTests.cs +++ b/src/Test/GetNextPipelineTests.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; +using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; using Newtonsoft.Json; @@ -43,14 +44,15 @@ public void GetNextPipelineMock() var uciAdult = DatasetUtil.GetUciAdultDataView(); var columns = AutoMlUtils.GetColumnInfoTuples(context, uciAdult, DatasetUtil.UciAdultLabel, null); - // get next pipeline loop + // Get next pipeline loop var history = new List(); - var maxIterations = 10; + var task = TaskKind.BinaryClassification; + var maxIterations = 60; for (var i = 0; i < maxIterations; i++) { - // get next pipeline - var pipeline = PipelineSuggester.GetNextPipeline(history, columns, TaskKind.BinaryClassification, maxIterations - i); - if(pipeline == null) + // Get next pipeline + var pipeline = PipelineSuggester.GetNextPipeline(history, columns, task, maxIterations - i); + if (pipeline == null) { break; } @@ -58,8 +60,25 @@ public void GetNextPipelineMock() var result = new PipelineScore(pipeline, AutoMlUtils.Random.NextDouble(), true); history.Add(result); } - + Assert.AreEqual(maxIterations, history.Count); + + // Get all 'Stage 1' and 'Stage 2' runs from Pipeline Suggester + var allAvailableTrainers = RecipeInference.AllowedTrainers(context, task, maxIterations); + var stage1Runs = history.Take(allAvailableTrainers.Count()); + var stage2Runs = history.Skip(allAvailableTrainers.Count()); + + // Get the trainer names from top 3 Stage 1 runs + var topStage1Runs = stage1Runs.OrderByDescending(r => r.Score).Take(3); + var topStage1TrainerNames = topStage1Runs.Select(r => r.Pipeline.Nodes.Last().Name); + + // Get unique trainer names from Stage 2 runs + var stage2TrainerNames = stage2Runs.Select(r => r.Pipeline.Nodes.Last().Name).Distinct(); + + // Assert that are only 3 unique trainers used in stage 2 + Assert.AreEqual(3, stage2TrainerNames.Count()); + // Assert that all trainers in stage 2 were the top trainers from stage 1 + Assert.IsFalse(topStage1TrainerNames.Except(stage2TrainerNames).Any()); } } } diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index e00d075289..a881110c68 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -61,8 +61,7 @@ public void BuildPipelineNodePropsLightGbm() var lightGbmMultiProps = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName.LightGbmMulti, sweepParams); var lightGbmRegressionProps = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName.LightGbmRegression, sweepParams); - var expectedJson = @" -{ + var expectedJson = @"{ ""NumBoostRound"": 20, ""LearningRate"": 1, ""NumLeaves"": 1, @@ -97,8 +96,7 @@ public void BuildPipelineNodePropsSdca() } var sdcaBinaryProps = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName.SdcaBinary, sweepParams); - var expectedJson = @" -{ + var expectedJson = @"{ ""L2Const"": 1E-07, ""L1Threshold"": 0.0, ""ConvergenceTolerance"": 0.01, diff --git a/src/Test/TransformInferenceTests.cs b/src/Test/TransformInferenceTests.cs index ee8a1dc62a..5a83c40a17 100644 --- a/src/Test/TransformInferenceTests.cs +++ b/src/Test/TransformInferenceTests.cs @@ -2,6 +2,8 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; +using System.Collections.Generic; using System.Linq; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -12,52 +14,88 @@ namespace Microsoft.ML.Auto.Test public class TransformInferenceTests { [TestMethod] - public void TransformInferenceCategoricalColumns() + public void TransformInferenceNumAndCatCols() { - var transforms = TransformInferenceApi.InferTransforms(new MLContext(), - new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] { - ("Num1", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Num2", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Ignore", NumberType.R4, ColumnPurpose.Ignore, new ColumnDimensions(null, null)), - ("Cat1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), - ("Cat2", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + ("Numeric1", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Categorical1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + ("Categorical2", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), ("LargeCat1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), ("LargeCat2", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), - }); - - var actualNodes = transforms.Select(t => t.PipelineNode); - - var expectedNodesJson = @" -[ + }, @"[ + { + ""Name"": ""OneHotEncoding"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Categorical1"", + ""Categorical2"" + ], + ""OutColumns"": [ + ""Categorical1"", + ""Categorical2"" + ], + ""Properties"": {} + }, + { + ""Name"": ""OneHotHashEncoding"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""LargeCat1"", + ""LargeCat2"" + ], + ""OutColumns"": [ + ""LargeCat1"", + ""LargeCat2"" + ], + ""Properties"": {} + }, { ""Name"": ""ColumnConcatenating"", - ""NodeType"": 0, + ""NodeType"": ""Transform"", ""InColumns"": [ - ""Num1"", - ""Num2"" + ""Categorical1"", + ""Categorical2"", + ""LargeCat1"", + ""LargeCat2"", + ""Numeric1"" ], ""OutColumns"": [ ""Features"" ], ""Properties"": {} - }, + } +]"); + } + + [TestMethod] + public void TransformInferenceNumCatAndFeatCols() + { + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Numeric1", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Categorical1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + ("Categorical2", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + ("LargeCat1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + ("LargeCat2", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + }, @"[ { ""Name"": ""OneHotEncoding"", - ""NodeType"": 0, + ""NodeType"": ""Transform"", ""InColumns"": [ - ""Cat1"", - ""Cat2"" + ""Categorical1"", + ""Categorical2"" ], ""OutColumns"": [ - ""Cat1"", - ""Cat2"" + ""Categorical1"", + ""Categorical2"" ], ""Properties"": {} }, { ""Name"": ""OneHotHashEncoding"", - ""NodeType"": 0, + ""NodeType"": ""Transform"", ""InColumns"": [ ""LargeCat1"", ""LargeCat2"" @@ -70,21 +108,635 @@ public void TransformInferenceCategoricalColumns() }, { ""Name"": ""ColumnConcatenating"", - ""NodeType"": 0, + ""NodeType"": ""Transform"", ""InColumns"": [ + ""Categorical1"", + ""Categorical2"", + ""LargeCat1"", + ""LargeCat2"", ""Features"", - ""Cat1"", - ""Cat2"", + ""Numeric1"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceCatAndFeatCols() + { + TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Categorical1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + ("LargeCat1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + }, @"[ + { + ""Name"": ""OneHotEncoding"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Categorical1"" + ], + ""OutColumns"": [ + ""Categorical1"" + ], + ""Properties"": {} + }, + { + ""Name"": ""OneHotHashEncoding"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""LargeCat1"" + ], + ""OutColumns"": [ + ""LargeCat1"" + ], + ""Properties"": {} + }, + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Categorical1"", ""LargeCat1"", - ""LargeCat2"" + ""Features"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceNumericCol() + { + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + ("Numeric", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + }, + @"[ + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Numeric"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceNumericCols() + { + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + ("Numeric1", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Numeric2", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + }, @"[ + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Numeric1"", + ""Numeric2"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceFeatCol() + { + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + }, @"[]"); + } + + [TestMethod] + public void NumericAndFeatCol() + { + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Numeric", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + }, @"[ + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Features"", + ""Numeric"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceTextCol() + { + TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + ("Text", TextType.Instance, ColumnPurpose.TextFeature, new ColumnDimensions(null, null)), + }, @"[ + { + ""Name"": ""TextFeaturizing"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Text"" + ], + ""OutColumns"": [ + ""Text_tf"" + ], + ""Properties"": {} + }, + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Text_tf"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceTextAndFeatCol() + { + TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Text", TextType.Instance, ColumnPurpose.TextFeature, new ColumnDimensions(null, null)), + }, + @"[ + { + ""Name"": ""TextFeaturizing"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Text"" + ], + ""OutColumns"": [ + ""Text_tf"" + ], + ""Properties"": {} + }, + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Text_tf"", + ""Features"" ], ""OutColumns"": [ ""Features"" ], ""Properties"": {} } -]"; - Util.AssertObjectMatchesJson(expectedNodesJson, actualNodes); +]"); + } + + [TestMethod] + public void TransformInferenceBoolCol() + { + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + ("Bool", BoolType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + }, @"[ + { + ""Name"": ""TypeConverting"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Bool"" + ], + ""OutColumns"": [ + ""Bool"" + ], + ""Properties"": {} + }, + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Bool"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceBoolAndNumCols() + { + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + ("Numeric", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Bool", BoolType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + }, @"[ + { + ""Name"": ""TypeConverting"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Bool"" + ], + ""OutColumns"": [ + ""Bool"" + ], + ""Properties"": {} + }, + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Bool"", + ""Numeric"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceBoolAndFeatCol() + { + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Bool", BoolType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + }, @"[ + { + ""Name"": ""TypeConverting"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Bool"" + ], + ""OutColumns"": [ + ""Bool"" + ], + ""Properties"": {} + }, + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Bool"", + ""Features"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceNumericMissingCol() + { + TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + ("Missing", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), + ("Numeric", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), + }, @"[ + { + ""Name"": ""MissingValueIndicating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Missing"" + ], + ""OutColumns"": [ + ""Missing_MissingIndicator"" + ], + ""Properties"": {} + }, + { + ""Name"": ""TypeConverting"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Missing_MissingIndicator"" + ], + ""OutColumns"": [ + ""Missing_MissingIndicator"" + ], + ""Properties"": {} + }, + { + ""Name"": ""MissingValueReplacing"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Missing"" + ], + ""OutColumns"": [ + ""Missing"" + ], + ""Properties"": {} + }, + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Missing_MissingIndicator"", + ""Missing"", + ""Numeric"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceNumericMissingCols() + { + TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + ("Missing1", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), + ("Missing2", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), + ("Numeric", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), + }, @"[ + { + ""Name"": ""MissingValueIndicating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Missing1"", + ""Missing2"" + ], + ""OutColumns"": [ + ""Missing1_MissingIndicator"", + ""Missing2_MissingIndicator"" + ], + ""Properties"": {} + }, + { + ""Name"": ""TypeConverting"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Missing1_MissingIndicator"", + ""Missing2_MissingIndicator"" + ], + ""OutColumns"": [ + ""Missing1_MissingIndicator"", + ""Missing2_MissingIndicator"" + ], + ""Properties"": {} + }, + { + ""Name"": ""MissingValueReplacing"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Missing1"", + ""Missing2"" + ], + ""OutColumns"": [ + ""Missing1"", + ""Missing2"" + ], + ""Properties"": {} + }, + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Missing1_MissingIndicator"", + ""Missing2_MissingIndicator"", + ""Missing1"", + ""Missing2"", + ""Numeric"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceIgnoreCol() + { + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + ("Numeric1", NumberType.R4, ColumnPurpose.Ignore, new ColumnDimensions(null, null)), + ("Numeric2", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + }, @"[ + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Numeric2"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceDefaultLabelCol() + { + TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Label, NumberType.R4, ColumnPurpose.Label, new ColumnDimensions(null, null)), + }, @"[]"); + } + + [TestMethod] + public void TransformInferenceCustomLabelCol() + { + TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("CustomLabel", NumberType.R4, ColumnPurpose.Label, new ColumnDimensions(null, null)), + }, @"[ + { + ""Name"": ""ColumnCopying"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""CustomLabel"" + ], + ""OutColumns"": [ + ""Label"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceDefaultGroupIdCol() + { + TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.GroupId, NumberType.R4, ColumnPurpose.Group, new ColumnDimensions(null, null)), + }, @"[]"); + } + + [TestMethod] + public void TransformInferenceCustomGroupIdCol() + { + TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("CustomGroupId", NumberType.R4, ColumnPurpose.Group, new ColumnDimensions(null, null)), + }, @"[ + { + ""Name"": ""ColumnCopying"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""CustomGroupId"" + ], + ""OutColumns"": [ + ""GroupId"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceMissingNameCollision() + { + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + ("Missing", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), + ("Missing_MissingIndicator", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), + ("Missing_MissingIndicator0", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), + }, @"[ + { + ""Name"": ""MissingValueIndicating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Missing"" + ], + ""OutColumns"": [ + ""Missing_MissingIndicator1"" + ], + ""Properties"": {} + }, + { + ""Name"": ""TypeConverting"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Missing_MissingIndicator1"" + ], + ""OutColumns"": [ + ""Missing_MissingIndicator1"" + ], + ""Properties"": {} + }, + { + ""Name"": ""MissingValueReplacing"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Missing"" + ], + ""OutColumns"": [ + ""Missing"" + ], + ""Properties"": {} + }, + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Missing_MissingIndicator1"", + ""Missing"", + ""Missing_MissingIndicator"", + ""Missing_MissingIndicator0"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + private static void TransformInferenceTestCore( + (string name, ColumnType type, ColumnPurpose purpose, ColumnDimensions dimensions)[] columns, + string expectedJson) + { + var transforms = TransformInferenceApi.InferTransforms(new MLContext(), columns); + TestApplyTransformsToRealDataView(transforms, columns); + var pipelineNodes = transforms.Select(t => t.PipelineNode); + Util.AssertObjectMatchesJson(expectedJson, pipelineNodes); + } + + private static void TestApplyTransformsToRealDataView(IEnumerable transforms, + IEnumerable<(string name, ColumnType type, ColumnPurpose purpose, ColumnDimensions dimensions)> columns) + { + // create a dummy data view from input columns + var data = BuildDummyDataView(columns); + + // iterate thru suggested transforms and apply it to a real data view + foreach (var transform in transforms.Select(t => t.Estimator)) + { + data = transform.Fit(data).Transform(data); + } + + // assert Features column of type 'R4' exists + var featuresCol = data.Schema.GetColumnOrNull(DefaultColumnNames.Features); + Assert.IsNotNull(featuresCol); + Assert.AreEqual(NumberType.R4, featuresCol.Value.Type.ItemType()); + } + + private static IDataView BuildDummyDataView( + IEnumerable<(string name, ColumnType type, ColumnPurpose purpose, ColumnDimensions dimensions)> columns) + { + return BuildDummyDataView(columns.Select(c => (c.name, c.type))); + } + + private static IDataView BuildDummyDataView(IEnumerable<(string name, ColumnType type)> columns) + { + var dataBuilder = new ArrayDataViewBuilder(new MLContext()); + foreach(var column in columns) + { + if (column.type == NumberType.R4) + { + dataBuilder.AddColumn(column.name, NumberType.R4, new float[] { 0 }); + } + else if (column.type == BoolType.Instance) + { + dataBuilder.AddColumn(column.name, BoolType.Instance, new bool[] { false }); + } + else if (column.type == TextType.Instance) + { + dataBuilder.AddColumn(column.name, new string[] { "a" }); + } + } + return dataBuilder.GetDataView(); } } } diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index c2a962e162..6fd2dcac6e 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -67,14 +67,6 @@ public void ValidateAutoFitNullTrainData() DatasetUtil.GetUciAdultDataView(), null, null); } - [TestMethod] - [ExpectedException(typeof(ArgumentNullException))] - public void ValidateAutoFitArgsNullValidData() - { - UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), - DatasetUtil.UciAdultLabel, null, null, null); - } - [TestMethod] [ExpectedException(typeof(ArgumentNullException))] public void ValidateAutoFitArgsNullLabel() diff --git a/src/Test/Util.cs b/src/Test/Util.cs index c360863f83..7e3ba0c525 100644 --- a/src/Test/Util.cs +++ b/src/Test/Util.cs @@ -4,6 +4,7 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Newtonsoft.Json; +using Newtonsoft.Json.Converters; namespace Microsoft.ML.Auto.Test { @@ -11,9 +12,8 @@ internal static class Util { public static void AssertObjectMatchesJson(string expectedJson, T obj) { - var actualJson = JsonConvert.SerializeObject(obj); - var expectedObj = JsonConvert.DeserializeObject(expectedJson); - expectedJson = JsonConvert.SerializeObject(expectedObj); + var actualJson = JsonConvert.SerializeObject(obj, + Formatting.Indented, new JsonConverter[] { new StringEnumConverter() }); Assert.AreEqual(expectedJson, actualJson); } } From 6d4cb73436cfb2c9cbc7ced032e5845e451cf124 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Sat, 2 Feb 2019 23:15:42 -0800 Subject: [PATCH 047/211] Enable UnitTests on build server (#57) --- build.proj | 7 +++---- build/ci/phase-template.yml | 24 ++++++++++++------------ src/Test/Directory.Build.props | 9 +++++++++ src/Test/run-tests.proj | 19 +++++++++++++++++++ 4 files changed, 43 insertions(+), 16 deletions(-) create mode 100644 src/Test/Directory.Build.props create mode 100644 src/Test/run-tests.proj diff --git a/build.proj b/build.proj index e05e61b305..92f711f35e 100644 --- a/build.proj +++ b/build.proj @@ -90,12 +90,11 @@ - + --> - - --> + + diff --git a/build/ci/phase-template.yml b/build/ci/phase-template.yml index 860b52f83e..53a26d3314 100644 --- a/build/ci/phase-template.yml +++ b/build/ci/phase-template.yml @@ -31,18 +31,18 @@ phases: - ${{ if eq(parameters.name, 'MacOS') }}: - script: brew update && brew install libomp mono-libgdiplus gettext && brew link gettext --force displayName: Install runtime dependencies - # - script: $(_buildScript) -$(_configuration) -runtests - # displayName: Run Tests - # - task: PublishTestResults@2 - # displayName: Publish Test Results - # condition: succeededOrFailed() - # inputs: - # testRunner: 'vSTest' - # searchFolder: '$(System.DefaultWorkingDirectory)/bin' - # testResultsFiles: '**/*.trx' - # testRunTitle: Machinelearning_Tests_$(_phaseName)_$(_configuration)_$(Build.BuildNumber) - # configuration: $(_configuration) - # mergeTestResults: true + - script: $(_buildScript) -$(_configuration) -runtests + displayName: Run Tests + - task: PublishTestResults@2 + displayName: Publish Test Results + condition: succeededOrFailed() + inputs: + testRunner: 'vSTest' + searchFolder: '$(System.DefaultWorkingDirectory)/bin' + testResultsFiles: '**/*.trx' + testRunTitle: Machinelearning_Tests_$(_phaseName)_$(_configuration)_$(Build.BuildNumber) + configuration: $(_configuration) + mergeTestResults: true - task: CopyFiles@2 displayName: Stage build logs condition: not(succeeded()) diff --git a/src/Test/Directory.Build.props b/src/Test/Directory.Build.props new file mode 100644 index 0000000000..e161d1461b --- /dev/null +++ b/src/Test/Directory.Build.props @@ -0,0 +1,9 @@ + + + + + trx + $(OutputPath) + + + \ No newline at end of file diff --git a/src/Test/run-tests.proj b/src/Test/run-tests.proj new file mode 100644 index 0000000000..dd2433b3c5 --- /dev/null +++ b/src/Test/run-tests.proj @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file From 60083a8fcae309870fa312dfd42f178fbdd3f2a1 Mon Sep 17 00:00:00 2001 From: vinodshanbhag <33269336+vinodshanbhag@users.noreply.github.com> Date: Wed, 6 Feb 2019 12:00:28 -0800 Subject: [PATCH 048/211] 1) Making trainer name public (#62) 2) Fixing up samples to reflect it --- src/AutoML/API/MLContextAutoFitExtensions.cs | 3 +++ src/Samples/AutoTrainBinaryClassification.cs | 14 +++++++------- src/Samples/AutoTrainMulticlassClassification.cs | 14 +++++++------- src/Samples/AutoTrainRegression.cs | 14 +++++++------- 4 files changed, 24 insertions(+), 21 deletions(-) diff --git a/src/AutoML/API/MLContextAutoFitExtensions.cs b/src/AutoML/API/MLContextAutoFitExtensions.cs index 7f5b2088c4..219615f0f6 100644 --- a/src/AutoML/API/MLContextAutoFitExtensions.cs +++ b/src/AutoML/API/MLContextAutoFitExtensions.cs @@ -7,6 +7,7 @@ using System.Threading; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; +using System.Linq; namespace Microsoft.ML.Auto { @@ -139,6 +140,7 @@ public class IterationResult public readonly T Metrics; public readonly ITransformer Model; public readonly Exception Exception; + public readonly string TrainerName; internal readonly Pipeline Pipeline; internal IterationResult(ITransformer model, T metrics, Pipeline pipeline, Exception exception) @@ -147,6 +149,7 @@ internal IterationResult(ITransformer model, T metrics, Pipeline pipeline, Excep Metrics = metrics; Pipeline = pipeline; Exception = exception; + TrainerName = pipeline?.Nodes.Where(n => n.NodeType == PipelineNodeType.Trainer).Last().Name; } } } diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index f06da7ac49..0fb630a6a6 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -63,8 +63,8 @@ public static void Run() } ++iterationIndex; - PrintBinaryClassificationMetrics(iterationIndex, "validation metrics", iterationResult.Metrics); - PrintBinaryClassificationMetrics(iterationIndex, "test metrics ", testMetrics); + PrintBinaryClassificationMetrics(iterationIndex, iterationResult.TrainerName, "validation", iterationResult.Metrics); + PrintBinaryClassificationMetrics(iterationIndex, iterationResult.TrainerName, "test", testMetrics); Console.WriteLine(); } @@ -87,14 +87,14 @@ public static void Run() Console.ReadLine(); } - static void PrintBinaryClassificationMetrics(int iteration, string typeOfMetrics, BinaryClassificationMetrics metrics) + static void PrintBinaryClassificationMetrics(int iteration, string trainerName, string typeOfMetrics, BinaryClassificationMetrics metrics) { - Console.WriteLine($"{iteration} {typeOfMetrics} {metrics.Accuracy:P2} {metrics.Auc:P2} {metrics.F1Score:P2} {metrics.PositivePrecision:#.##} {metrics.PositiveRecall:#.##}"); + Console.WriteLine($"{iteration,-3}{trainerName,-35}{typeOfMetrics,-15}{metrics.Accuracy,-15:P2}{metrics.Auc,-15:P2}{metrics.F1Score,-8:P2}{metrics.PositivePrecision,-15:#.##}{metrics.PositiveRecall,-12:#.##}"); } static void PrintActualVersusPredictedValue(int index, bool label, float score) { - Console.WriteLine($"{index} {label} {(score == 0 ? false : true)}"); + Console.WriteLine($"{index,-5}{label,-15}{(score == 0 ? false : true),-15}"); } static void PrintBinaryClassificationMetricsHeader() @@ -102,7 +102,7 @@ static void PrintBinaryClassificationMetricsHeader() Console.WriteLine($"*************************************************"); Console.WriteLine($"* Metrics for binary classification model "); Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"iteration type Accuracy Auc F1Score PositivePrecision PositiveRecall"); + Console.WriteLine($"{" ",-3}{"Trainer",-35}{"Type",-15}{"Accuracy",-15}{"Auc",-15}{"F1Score",-8}{"P-Precision",-15}{"P-Recall",-12:#.##}"); } static void PrintActualVersusPredictedHeader() @@ -110,7 +110,7 @@ static void PrintActualVersusPredictedHeader() Console.WriteLine($"*************************************************"); Console.WriteLine($"* Actual value Vs predicted value "); Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"Row Actual Label Predicted Label"); + Console.WriteLine($"{"Row",-5}{"Actual",-15}{"Predicted",-15}"); } } } diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index d88ef3ff63..68b30524cc 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -68,8 +68,8 @@ public static void Run() } ++iterationIndex; - PrintMulticlassClassificationMetrics(iterationIndex, "validation metrics", iterationResult.Metrics); - PrintMulticlassClassificationMetrics(iterationIndex, "test metrics ", testMetrics); + PrintMulticlassClassificationMetrics(iterationIndex, iterationResult.TrainerName, "validation", iterationResult.Metrics); + PrintMulticlassClassificationMetrics(iterationIndex, iterationResult.TrainerName, "test", testMetrics); Console.WriteLine(); } @@ -91,14 +91,14 @@ public static void Run() Console.ReadLine(); } - static void PrintMulticlassClassificationMetrics(int iteration, string typeOfMetrics, MultiClassClassifierMetrics metrics) + static void PrintMulticlassClassificationMetrics(int iteration, string trainerName, string typeOfMetrics, MultiClassClassifierMetrics metrics) { - Console.WriteLine($"{iteration} {typeOfMetrics} {metrics.AccuracyMacro:0.####} {metrics.AccuracyMicro:0.####} {metrics.LogLossReduction:0.##}"); + Console.WriteLine($"{iteration,-3}{trainerName,-35}{typeOfMetrics,-15}{metrics.AccuracyMacro,-15:0.####}{metrics.AccuracyMicro,-15:0.####}{metrics.LogLossReduction,-15:0.##}"); } static void PrintActualVersusPredictedValue(int index, uint label, uint predictedLabel) { - Console.WriteLine($"{index} {label} {predictedLabel}"); + Console.WriteLine($"{index,-5}{label,-15}{predictedLabel,15}"); } static void PrintMulticlassClassificationMetricsHeader() @@ -106,7 +106,7 @@ static void PrintMulticlassClassificationMetricsHeader() Console.WriteLine($"*************************************************"); Console.WriteLine($"* Metrics for multiclass classification model "); Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"iteration type AccuracyMacro AccuracyMicro LogLossReduction"); + Console.WriteLine($"{" ",-3}{"Trainer",-35}{"Type",-15}{"AccuracyMacro",-15}{"AccuracyMicro",-15}{"LogLossReduction",-15}"); } static void PrintActualVersusPredictedHeader() @@ -114,7 +114,7 @@ static void PrintActualVersusPredictedHeader() Console.WriteLine($"*************************************************"); Console.WriteLine($"* Actual value Vs predicted value "); Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"Row Actual Predicted"); + Console.WriteLine($"{"Row",-5}{"Actual",-15}{"Predicted",15}"); } } } diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index 0e406c0e86..69e3167a8a 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -68,8 +68,8 @@ public static void Run() } ++iterationIndex; - PrintRegressionMetrics(iterationIndex, "validation metrics", iterationResult.Metrics); - PrintRegressionMetrics(iterationIndex, "test metrics ", testMetrics); + PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, "validation", iterationResult.Metrics); + PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, "test", testMetrics); Console.WriteLine(); } @@ -92,14 +92,14 @@ public static void Run() Console.ReadLine(); } - static void PrintRegressionMetrics(int iteration, string typeOfMetrics, RegressionMetrics metrics) + static void PrintRegressionMetrics(int iteration, string trainerName, string typeOfMetrics, RegressionMetrics metrics) { - Console.WriteLine($"{iteration} {typeOfMetrics} {metrics.LossFn:0.##} {metrics.RSquared:0.##} {metrics.L1:#.##} {metrics.L2:#.##} {metrics.Rms:#.##}"); + Console.WriteLine($"{iteration,-3}{trainerName, -35}{typeOfMetrics,-15}{metrics.LossFn,-8:0.##}{metrics.RSquared,-10:0.##}{metrics.L1,-15:#.##}{metrics.L2,-15:#.##}{metrics.Rms,-10:#.##}"); } static void PrintActualVersusPredictedValue(int index, float fareAmount, float score) { - Console.WriteLine($"{index} {fareAmount} {score}"); + Console.WriteLine($"{index,-5}{fareAmount,-20}{score,-20}"); } static void PrintRegressionMetricsHeader() @@ -107,7 +107,7 @@ static void PrintRegressionMetricsHeader() Console.WriteLine($"*************************************************"); Console.WriteLine($"* Metrics for regression model "); Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"iteration type LossFn R2-Score Absolute-loss Squared-loss RMS-loss"); + Console.WriteLine($"{" ",-3}{"Trainer",-35}{"Type",-15}{"LossFn",-8}{"R2-Score",-10}{"Absolute-loss",-15}{"Squared-loss",-15}{"RMS-loss",-10}"); } static void PrintActualVersusPredictedHeader() @@ -115,7 +115,7 @@ static void PrintActualVersusPredictedHeader() Console.WriteLine($"*************************************************"); Console.WriteLine($"* Actual value Vs predicted value "); Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"Row ActualFareAmount PredictedFareAmount"); + Console.WriteLine($"{"Row",-5}{"ActualFareAmount",-20}{"PredictedFareAmount",-20}"); } } } From 312e267624552af2ad3bb9de1efcd2d3cad17d4b Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 6 Feb 2019 13:53:56 -0800 Subject: [PATCH 049/211] Initial version of CLI tool for mlnet (#61) * added global tool initial project * removed unneccesary files, renamed files * refactoring and added base abstract classes for trainer generator * removed unused class * Added classes for transforms * added transform generate dummy classes * more refactoring, added first transform * more refactoring and added classes * changed the project structure * restructing added options class * sln changes * refactored options to different class: * added more logic for code generation of class * misc changes * reverted file * added commandline api package * reverted sample * added new command line api parser * added normalization of column names * Added command defaults and error message * implementation of all trainers * changed auto to null * added all transform generators * added error handling when args is empty and minor changes due to change in AutoML api names * changed the name of param * added new command line options and restructuring code * renamed proj file and added solution * Added code to generate usings, Fixed few bugs in the code * added validation to the command line options * changed project name * Bug fixes due to API change in AutoML * changed directory structure * added test framework and basic tests * added more tests * added improvements to template and error handling * renamed the estimator name * fixed test case * added comments * added headers * changed namespace and removed unneccesary properties from project * Revert "changed namespace and removed unneccesary properties from project" This reverts commit 9edae033e9845e910f663f296e168f1182b84f5f. * fixed test cases and renamed namespaces * cleaned up proj file * added folder structure * added symbols/tokens for strings * added more tests * review comments * modified test cases * review comments * change in the exception message * normalized line endings * made method private static * simplified range building /optimization * minor fix * added header * added static methods in command where necessary * nit picks * made few methods static * review comments * nitpick * remove line pragmas * fix test case --- AutoML.sln | 28 + NuGet.Config | 6 + src/AutoML/Assembly.cs | 4 +- src/AutoML/Sweepers/SmacSweeper.cs | 4 +- .../TrainerExtensions/TrainerExtensionUtil.cs | 6 +- src/Test/TrainerExtensionsTests.cs | 16 +- src/Test/UserInputValidationTests.cs | 10 +- src/mlnet.Test/CodeGenTests.cs | 137 +++++ src/mlnet.Test/mlnet.Test.csproj | 19 + src/mlnet/Assembly.cs | 7 + src/mlnet/CodeGenerator/CodeGenerator.cs | 209 +++++++ src/mlnet/CodeGenerator/Symbols.cs | 21 + .../CodeGenerator/TrainerGeneratorBase.cs | 140 +++++ .../CodeGenerator/TrainerGeneratorFactory.cs | 69 +++ src/mlnet/CodeGenerator/TrainerGenerators.cs | 421 ++++++++++++++ .../CodeGenerator/TransformGeneratorBase .cs | 51 ++ .../TransformGeneratorFactory.cs | 63 +++ .../CodeGenerator/TransformGenerators.cs | 273 ++++++++++ src/mlnet/Commands/CommandDefinitions.cs | 124 +++++ src/mlnet/Commands/NewCommand.cs | 134 +++++ src/mlnet/Data/Options.cs | 29 + src/mlnet/MlNet.sln | 37 ++ src/mlnet/Program.cs | 26 + src/mlnet/Templates/ConsoleHelper.cs | 515 ++++++++++++++++++ src/mlnet/Templates/ConsoleHelper.tt | 302 ++++++++++ src/mlnet/Templates/MLCodeGen.cs | 497 +++++++++++++++++ src/mlnet/Templates/MLCodeGen.tt | 185 +++++++ src/mlnet/Templates/MLProjectGen.cs | 321 +++++++++++ src/mlnet/Templates/MLProjectGen.tt | 22 + src/mlnet/mlnet.csproj | 69 +++ 30 files changed, 3727 insertions(+), 18 deletions(-) create mode 100644 NuGet.Config create mode 100644 src/mlnet.Test/CodeGenTests.cs create mode 100644 src/mlnet.Test/mlnet.Test.csproj create mode 100644 src/mlnet/Assembly.cs create mode 100644 src/mlnet/CodeGenerator/CodeGenerator.cs create mode 100644 src/mlnet/CodeGenerator/Symbols.cs create mode 100644 src/mlnet/CodeGenerator/TrainerGeneratorBase.cs create mode 100644 src/mlnet/CodeGenerator/TrainerGeneratorFactory.cs create mode 100644 src/mlnet/CodeGenerator/TrainerGenerators.cs create mode 100644 src/mlnet/CodeGenerator/TransformGeneratorBase .cs create mode 100644 src/mlnet/CodeGenerator/TransformGeneratorFactory.cs create mode 100644 src/mlnet/CodeGenerator/TransformGenerators.cs create mode 100644 src/mlnet/Commands/CommandDefinitions.cs create mode 100644 src/mlnet/Commands/NewCommand.cs create mode 100644 src/mlnet/Data/Options.cs create mode 100644 src/mlnet/MlNet.sln create mode 100644 src/mlnet/Program.cs create mode 100644 src/mlnet/Templates/ConsoleHelper.cs create mode 100644 src/mlnet/Templates/ConsoleHelper.tt create mode 100644 src/mlnet/Templates/MLCodeGen.cs create mode 100644 src/mlnet/Templates/MLCodeGen.tt create mode 100644 src/mlnet/Templates/MLProjectGen.cs create mode 100644 src/mlnet/Templates/MLProjectGen.tt create mode 100644 src/mlnet/mlnet.csproj diff --git a/AutoML.sln b/AutoML.sln index 6c7c1d2950..fc8900fb9d 100644 --- a/AutoML.sln +++ b/AutoML.sln @@ -9,6 +9,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples", "src\Samples\Samp EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Test", "src\Test\Test.csproj", "{55ACB7E2-053D-43BB-88E8-0E102FBD62F0}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mlnet", "src\mlnet\mlnet.csproj", "{ED714FA5-6F89-401B-9E7F-CADF1373C553}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mlnet.Test", "src\mlnet.Test\mlnet.Test.csproj", "{AAC3E4E6-C146-44BB-8873-A1E61D563F2A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -55,6 +59,30 @@ Global {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Release-Intrinsics|Any CPU.Build.0 = Release-Intrinsics|Any CPU {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {55ACB7E2-053D-43BB-88E8-0E102FBD62F0}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {ED714FA5-6F89-401B-9E7F-CADF1373C553}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ED714FA5-6F89-401B-9E7F-CADF1373C553}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ED714FA5-6F89-401B-9E7F-CADF1373C553}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug-Intrinsics|Any CPU + {ED714FA5-6F89-401B-9E7F-CADF1373C553}.Debug-Intrinsics|Any CPU.Build.0 = Debug-Intrinsics|Any CPU + {ED714FA5-6F89-401B-9E7F-CADF1373C553}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU + {ED714FA5-6F89-401B-9E7F-CADF1373C553}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {ED714FA5-6F89-401B-9E7F-CADF1373C553}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ED714FA5-6F89-401B-9E7F-CADF1373C553}.Release|Any CPU.Build.0 = Release|Any CPU + {ED714FA5-6F89-401B-9E7F-CADF1373C553}.Release-Intrinsics|Any CPU.ActiveCfg = Release-Intrinsics|Any CPU + {ED714FA5-6F89-401B-9E7F-CADF1373C553}.Release-Intrinsics|Any CPU.Build.0 = Release-Intrinsics|Any CPU + {ED714FA5-6F89-401B-9E7F-CADF1373C553}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU + {ED714FA5-6F89-401B-9E7F-CADF1373C553}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {AAC3E4E6-C146-44BB-8873-A1E61D563F2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AAC3E4E6-C146-44BB-8873-A1E61D563F2A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AAC3E4E6-C146-44BB-8873-A1E61D563F2A}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug-Intrinsics|Any CPU + {AAC3E4E6-C146-44BB-8873-A1E61D563F2A}.Debug-Intrinsics|Any CPU.Build.0 = Debug-Intrinsics|Any CPU + {AAC3E4E6-C146-44BB-8873-A1E61D563F2A}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU + {AAC3E4E6-C146-44BB-8873-A1E61D563F2A}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {AAC3E4E6-C146-44BB-8873-A1E61D563F2A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AAC3E4E6-C146-44BB-8873-A1E61D563F2A}.Release|Any CPU.Build.0 = Release|Any CPU + {AAC3E4E6-C146-44BB-8873-A1E61D563F2A}.Release-Intrinsics|Any CPU.ActiveCfg = Release-Intrinsics|Any CPU + {AAC3E4E6-C146-44BB-8873-A1E61D563F2A}.Release-Intrinsics|Any CPU.Build.0 = Release-Intrinsics|Any CPU + {AAC3E4E6-C146-44BB-8873-A1E61D563F2A}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU + {AAC3E4E6-C146-44BB-8873-A1E61D563F2A}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/NuGet.Config b/NuGet.Config new file mode 100644 index 0000000000..3f0e003403 --- /dev/null +++ b/NuGet.Config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/AutoML/Assembly.cs b/src/AutoML/Assembly.cs index db762b3db2..6cc5ec5ad5 100644 --- a/src/AutoML/Assembly.cs +++ b/src/AutoML/Assembly.cs @@ -4,4 +4,6 @@ using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo("Test, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] \ No newline at end of file +[assembly: InternalsVisibleTo("Test, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] +[assembly: InternalsVisibleTo("mlnet, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] +[assembly: InternalsVisibleTo("mlnet.Test, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] \ No newline at end of file diff --git a/src/AutoML/Sweepers/SmacSweeper.cs b/src/AutoML/Sweepers/SmacSweeper.cs index b1c9b11175..204654ff3e 100644 --- a/src/AutoML/Sweepers/SmacSweeper.cs +++ b/src/AutoML/Sweepers/SmacSweeper.cs @@ -111,7 +111,7 @@ private FastForestRegressionModelParameters FitModel(IEnumerable pre IDataView data = dvBuilder.GetDataView(); AutoMlUtils.Assert(data.GetRowCount() == targets.Length, "This data view will have as many rows as there have been evaluations"); - + // Set relevant random forest arguments. // Train random forest. var trainer = new FastForestRegression(_context, DefaultColumnNames.Label, DefaultColumnNames.Features, advancedSettings: s => @@ -195,7 +195,7 @@ private ParameterSet[] GreedyPlusRandomSearch(ParameterSet[] parents, FastForest var retainedConfigs = new HashSet(bestConfigurations.Select(x => x.Item2)); // remove configurations matching previous run - foreach(var previousRun in previousRuns) + foreach (var previousRun in previousRuns) { retainedConfigs.Remove(previousRun.ParameterSet); } diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs index 09066bfd44..ff52ecb0b1 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs @@ -77,7 +77,7 @@ public static Action CreateLightGbmArgsFunc(IEnumerable BuildPipelineNodeProps(TrainerName trainerName, IEnumerable sweepParams) { - if(trainerName == TrainerName.LightGbmBinary || trainerName == TrainerName.LightGbmMulti || + if (trainerName == TrainerName.LightGbmBinary || trainerName == TrainerName.LightGbmMulti || trainerName == TrainerName.LightGbmRegression) { return BuildLightGbmPipelineNodeProps(sweepParams); @@ -92,11 +92,11 @@ private static IDictionary BuildLightGbmPipelineNodeProps(IEnume var parentArgParams = sweepParams.Except(treeBoosterParams); var treeBoosterProps = treeBoosterParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); - var treeBoosterCustomProp = new CustomProperty("Microsoft.ML.LightGBM.TreeBooster", treeBoosterProps); + var treeBoosterCustomProp = new CustomProperty("LightGbmArguments.TreeBooster.Arguments", treeBoosterProps); var props = parentArgParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); props[LightGbmTreeBoosterPropName] = treeBoosterCustomProp; - + return props; } diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index a881110c68..708e22eea3 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -17,7 +17,7 @@ public void TrainerExtensionInstanceTests() { var context = new MLContext(); var trainerNames = Enum.GetValues(typeof(TrainerName)).Cast(); - foreach(var trainerName in trainerNames) + foreach (var trainerName in trainerNames) { var extension = TrainerExtensionCatalog.GetTrainerExtension(trainerName); var instance = extension.CreateInstance(context, null); @@ -33,7 +33,7 @@ public void GetTrainersByMaxIterations() var tasks = new TaskKind[] { TaskKind.BinaryClassification, TaskKind.MulticlassClassification, TaskKind.Regression }; - foreach(var task in tasks) + foreach (var task in tasks) { var trainerSet10 = TrainerExtensionCatalog.GetTrainers(task, 10); var trainerSet50 = TrainerExtensionCatalog.GetTrainers(task, 50); @@ -52,7 +52,7 @@ public void GetTrainersByMaxIterations() public void BuildPipelineNodePropsLightGbm() { var sweepParams = SweepableParams.BuildLightGbmParams(); - foreach(var sweepParam in sweepParams) + foreach (var sweepParam in sweepParams) { sweepParam.RawValue = 1; } @@ -74,7 +74,7 @@ public void BuildPipelineNodePropsLightGbm() ""CatSmooth"": 10, ""CatL2"": 0.5, ""TreeBooster"": { - ""Name"": ""Microsoft.ML.LightGBM.TreeBooster"", + ""Name"": ""LightGbmArguments.TreeBooster.Arguments"", ""Properties"": { ""RegLambda"": 0.5, ""RegAlpha"": 0.5 @@ -90,7 +90,7 @@ public void BuildPipelineNodePropsLightGbm() public void BuildPipelineNodePropsSdca() { var sweepParams = SweepableParams.BuildSdcaParams(); - foreach(var sweepParam in sweepParams) + foreach (var sweepParam in sweepParams) { sweepParam.RawValue = 1; } @@ -106,7 +106,7 @@ public void BuildPipelineNodePropsSdca() }"; Util.AssertObjectMatchesJson(expectedJson, sdcaBinaryProps); } - + [TestMethod] public void BuildParameterSetLightGbm() { @@ -127,7 +127,7 @@ public void BuildParameterSetLightGbm() var multiParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.LightGbmMulti, props); var regressionParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.LightGbmRegression, props); - foreach(var paramSet in new ParameterSet[] { binaryParams, multiParams, regressionParams }) + foreach (var paramSet in new ParameterSet[] { binaryParams, multiParams, regressionParams }) { Assert.AreEqual(4, paramSet.Count); Assert.AreEqual("1", paramSet["NumBoostRound"].ValueText); @@ -146,7 +146,7 @@ public void BuildParameterSetSdca() }; var sdcaParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.SdcaBinary, props); - + Assert.AreEqual(1, sdcaParams.Count); Assert.AreEqual("1", sdcaParams["LearningRate"].ValueText); } diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index 6fd2dcac6e..9fd84c1d97 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -44,7 +44,7 @@ public void ValidateCreateTextReaderArgsNullColumn() public void ValidateCreateTextReaderArgsColumnWithNullSoure() { var input = new ColumnInferenceResult( - new List<(TextLoader.Column, ColumnPurpose)>() { (new TextLoader.Column() { Name = "Column", Type = DataKind.R4 } , ColumnPurpose.CategoricalFeature) }, + new List<(TextLoader.Column, ColumnPurpose)>() { (new TextLoader.Column() { Name = "Column", Type = DataKind.R4 }, ColumnPurpose.CategoricalFeature) }, false, false, "\t", false, false); UserInputValidationUtil.ValidateCreateTextReaderArgs(input); } @@ -63,7 +63,7 @@ public void ValidateCreateTextReaderArgsNullSeparator() [ExpectedException(typeof(ArgumentNullException))] public void ValidateAutoFitNullTrainData() { - UserInputValidationUtil.ValidateAutoFitArgs(null, DatasetUtil.UciAdultLabel, + UserInputValidationUtil.ValidateAutoFitArgs(null, DatasetUtil.UciAdultLabel, DatasetUtil.GetUciAdultDataView(), null, null); } @@ -89,8 +89,10 @@ public void ValidateAutoFitArgsZeroMaxIterations() { UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), DatasetUtil.UciAdultLabel, DatasetUtil.GetUciAdultDataView(), - new AutoFitSettings() { - StoppingCriteria = new ExperimentStoppingCriteria() { + new AutoFitSettings() + { + StoppingCriteria = new ExperimentStoppingCriteria() + { MaxIterations = 0, } }, null); diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs new file mode 100644 index 0000000000..0c81e85bc4 --- /dev/null +++ b/src/mlnet.Test/CodeGenTests.cs @@ -0,0 +1,137 @@ +using System.Collections.Generic; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.Data; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Microsoft.ML.CLI; +using System; + +namespace mlnet.Test +{ + [TestClass] + public class CodeGeneratorTests + { + [TestMethod] + public void TrainerGeneratorBasicNamedParameterTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"LearningRate", 0.1f }, + {"NumLeaves", 1 }, + }; + PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); + var actual = codeGenerator.GenerateTrainer(); + string expected = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumn:\"Label\",featureColumn:\"Features\");"; + Assert.AreEqual(expected, actual); + } + + [TestMethod] + public void TrainerGeneratorBasicAdvancedParameterTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"LearningRate", 0.1f }, + {"NumLeaves", 1 }, + {"UseSoftmax", true } + }; + PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); + var actual = codeGenerator.GenerateTrainer(); + string expected = "LightGbm(new LightGbm.Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"});"; + Assert.AreEqual(expected, actual); + } + + [TestMethod] + public void TransformGeneratorBasicTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); + var actual = codeGenerator.GenerateTransforms(); + string expected = "Normalize(\"Label\",\"Label\")"; + Assert.AreEqual(expected, actual[0]); + } + + [TestMethod] + public void ClassLabelGenerationBasicTest() + { + List<(TextLoader.Column, ColumnPurpose)> list = new List<(TextLoader.Column, ColumnPurpose)>() + { + (new TextLoader.Column(){ Name = "Label", Source = new TextLoader.Range[]{new TextLoader.Range(0) }, Type = DataKind.Bool }, ColumnPurpose.Label), + }; + ColumnInferenceResult result = new ColumnInferenceResult(list, false, false, ",", true, true); + + CodeGenerator codeGenerator = new CodeGenerator(null, result); + var actual = codeGenerator.GenerateClassLabels(); + var expected1 = "[ColumnName(\"Label\")]"; + var expected2 = "public bool Label{get; set;}"; + + Assert.AreEqual(expected1, actual[0]); + Assert.AreEqual(expected2, actual[1]); + } + + [TestMethod] + public void GenerateUsingsBasicTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("TypeConverting", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); + var actual = codeGenerator.GenerateUsings(); + string expected = "using Microsoft.ML.Transforms.Conversions;\r\n"; + Assert.AreEqual(expected, actual); + } + + [TestMethod] + public void ColumnGenerationTest() + { + List<(TextLoader.Column, ColumnPurpose)> list = new List<(TextLoader.Column, ColumnPurpose)>() + { + (new TextLoader.Column(){ Name = "Label", Source = new TextLoader.Range[]{new TextLoader.Range(0) }, Type = DataKind.Bool }, ColumnPurpose.Label), + (new TextLoader.Column(){ Name = "Features", Source = new TextLoader.Range[]{new TextLoader.Range(1) }, Type = DataKind.R4 }, ColumnPurpose.NumericFeature), + }; + ColumnInferenceResult result = new ColumnInferenceResult(list, false, false, ",", true, true); + + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, result); + var actual = codeGenerator.GenerateColumns(); + Assert.AreEqual(actual.Count, 2); + string expectedColumn1 = "new Column(\"Label\",DataKind.BL,0),"; + string expectedColumn2 = "new Column(\"Features\",DataKind.R4,1),"; + Assert.AreEqual(expectedColumn1, actual[0]); + Assert.AreEqual(expectedColumn2, actual[1]); + } + + [TestMethod] + public void TrainerComplexParameterTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"TreeBooster", new CustomProperty(){Properties= new Dictionary(), Name = "TreeBooster"} }, + }; + PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); + var actual = codeGenerator.GenerateTrainer(); + string expected = "LightGbm(new LightGbm.Options(){TreeBooster=new TreeBooster(){},LabelColumn=\"Label\",FeatureColumn=\"Features\"});"; + Assert.AreEqual(expected, actual); + + } + + } +} diff --git a/src/mlnet.Test/mlnet.Test.csproj b/src/mlnet.Test/mlnet.Test.csproj new file mode 100644 index 0000000000..5da338c812 --- /dev/null +++ b/src/mlnet.Test/mlnet.Test.csproj @@ -0,0 +1,19 @@ + + + + netcoreapp2.1 + false + + + + + + + + + + + + + + diff --git a/src/mlnet/Assembly.cs b/src/mlnet/Assembly.cs new file mode 100644 index 0000000000..edb56e96d6 --- /dev/null +++ b/src/mlnet/Assembly.cs @@ -0,0 +1,7 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("mlnet.Test, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] \ No newline at end of file diff --git a/src/mlnet/CodeGenerator/CodeGenerator.cs b/src/mlnet/CodeGenerator/CodeGenerator.cs new file mode 100644 index 0000000000..90ad06a207 --- /dev/null +++ b/src/mlnet/CodeGenerator/CodeGenerator.cs @@ -0,0 +1,209 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.ML.Auto; +using static Microsoft.ML.Data.TextLoader; + +namespace Microsoft.ML.CLI +{ + internal class CodeGenerator + { + private readonly Pipeline pipeline; + private readonly ColumnInferenceResult columnInferenceResult; + + public CodeGenerator(Pipeline pipelineToDeconstruct, ColumnInferenceResult columnInferenceResult) + { + this.pipeline = pipelineToDeconstruct; + this.columnInferenceResult = columnInferenceResult; + } + internal IList GenerateTransforms() + { + var nodes = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Transform); + var results = new List(); + foreach (var node in nodes) + { + ITransformGenerator generator = TransformGeneratorFactory.GetInstance(node); + results.Add(generator.GenerateTransformer()); + } + + return results; + } + + internal string GenerateTrainer() + { + ITrainerGenerator generator = TrainerGeneratorFactory.GetInstance(pipeline); + var trainerString = generator.GenerateTrainer(); + return trainerString; + } + + internal IList GenerateClassLabels() + { + IList result = new List(); + foreach (var column in columnInferenceResult.Columns) + { + StringBuilder sb = new StringBuilder(); + var current = column.Item1; + int range = (current.Source[0].Max - current.Source[0].Min).Value; + bool isArray = range > 0; + sb.Append(Symbols.PublicSymbol); + sb.Append(Symbols.Space); + switch (current.Type) + { + case Microsoft.ML.Data.DataKind.TX: + sb.Append(Symbols.StringSymbol); + break; + case Microsoft.ML.Data.DataKind.BL: + sb.Append(Symbols.BoolSymbol); + break; + case Microsoft.ML.Data.DataKind.R4: + sb.Append(Symbols.FloatSymbol); + break; + case Microsoft.ML.Data.DataKind.R8: + sb.Append(Symbols.DoubleSymbol); + break; + case Microsoft.ML.Data.DataKind.I4: + sb.Append(Symbols.IntSymbol); + break; + case Microsoft.ML.Data.DataKind.U4: + sb.Append(Symbols.UIntSymbol); + break; + case Microsoft.ML.Data.DataKind.I8: + sb.Append(Symbols.LongSymbol); + break; + case Microsoft.ML.Data.DataKind.U8: + sb.Append(Symbols.UlongSymbol); + break; + default: + throw new ArgumentException($"The data type '{current.Type}' is not handled currently."); + + } + + if (range > 0) + { + result.Add("[ColumnName(\"" + current.Name + "\"), VectorType(" + (range + 1) + ")]"); + sb.Append("[]"); + } + else + { + result.Add("[ColumnName(\"" + current.Name + "\")]"); + } + sb.Append(" "); + sb.Append(Normalize(current.Name)); + sb.Append("{get; set;}"); + result.Add(sb.ToString()); + result.Add("\r\n"); + } + return result; + } + + internal IList GenerateColumns() + { + var result = new List(); + foreach (var column in columnInferenceResult.Columns) + { + result.Add(ConstructColumnDefinition(column.Item1)); + } + return result; + } + + private static string ConstructColumnDefinition(Column column) + { + Range[] source = column.Source; + StringBuilder rangeBuilder = new StringBuilder(); + if (source.Length == 1) + { + if (source[0].Min == source[0].Max) + rangeBuilder.Append($"{source[0].Max}"); + else + { + rangeBuilder.Append("new[]{"); + rangeBuilder.Append($"new Range({ source[0].Min },{ source[0].Max}),"); + rangeBuilder.Remove(rangeBuilder.Length - 1, 1); + rangeBuilder.Append("}"); + } + } + else + { + rangeBuilder.Append("new[]{"); + foreach (var range in source) + { + if (range.Min == range.Max) + { + rangeBuilder.Append($"new Range({range.Min}),"); + } + else + { + rangeBuilder.Append($"new Range({range.Min},{range.Max}),"); + } + } + rangeBuilder.Remove(rangeBuilder.Length - 1, 1); + rangeBuilder.Append("}"); + } + + var def = $"new Column(\"{column.Name}\",DataKind.{column.Type},{rangeBuilder.ToString()}),"; + return def; + } + + internal string GenerateUsings() + { + var trainerNodes = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Trainer); + var transformNodes = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Transform); + + StringBuilder sb = new StringBuilder(); + + foreach (var node in trainerNodes) + { + if (Enum.TryParse(node.Name, out TrainerName nodeName)) + { + if (nodeName == TrainerName.LightGbmBinary || nodeName == TrainerName.LightGbmMulti || nodeName == TrainerName.LightGbmRegression) + { + sb.Append("using Microsoft.ML.LightGBM;"); + sb.Append("\r\n"); + } + } + } + + foreach (var node in transformNodes) + { + if (Enum.TryParse(node.Name, out EstimatorName nodeName)) + { + if (nodeName == EstimatorName.OneHotEncoding || nodeName == EstimatorName.OneHotHashEncoding) + { + sb.Append("using Microsoft.ML.Transforms.Categorical;"); + sb.Append("\r\n"); + } + if (nodeName == EstimatorName.TypeConverting) + { + sb.Append("using Microsoft.ML.Transforms.Conversions;"); + sb.Append("\r\n"); + } + } + } + return sb.ToString(); + } + + private static string Normalize(string inputColumn) + { + //check if first character is int + if (!string.IsNullOrEmpty(inputColumn) && int.TryParse(inputColumn.Substring(0, 1), out int val)) + { + inputColumn = "Col" + inputColumn; + return inputColumn; + } + switch (inputColumn) + { + case null: throw new ArgumentNullException(nameof(inputColumn)); + case "": throw new ArgumentException($"{nameof(inputColumn)} cannot be empty", nameof(inputColumn)); + default: return inputColumn.First().ToString().ToUpper() + inputColumn.Substring(1); + } + } + + + + } +} diff --git a/src/mlnet/CodeGenerator/Symbols.cs b/src/mlnet/CodeGenerator/Symbols.cs new file mode 100644 index 0000000000..95e70273d7 --- /dev/null +++ b/src/mlnet/CodeGenerator/Symbols.cs @@ -0,0 +1,21 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.CLI +{ + internal static class Symbols + { + internal static readonly string Space = " "; + internal static readonly string StringSymbol = "string"; + internal static readonly string PublicSymbol = "public"; + internal static readonly string FloatSymbol = "float"; + internal static readonly string IntSymbol = "int"; + internal static readonly string UIntSymbol = "uint"; + internal static readonly string LongSymbol = "long"; + internal static readonly string UlongSymbol = "ulong"; + internal static readonly string BoolSymbol = "bool"; + internal static readonly string DoubleSymbol = "double"; + + } +} diff --git a/src/mlnet/CodeGenerator/TrainerGeneratorBase.cs b/src/mlnet/CodeGenerator/TrainerGeneratorBase.cs new file mode 100644 index 0000000000..ca2d04d0a0 --- /dev/null +++ b/src/mlnet/CodeGenerator/TrainerGeneratorBase.cs @@ -0,0 +1,140 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.ML.Auto; + +namespace Microsoft.ML.CLI +{ + /// + /// Supports generation of code for trainers (Binary,Multi,Regression) + /// Ova is an exception though. Need to figure out how to tackle that. + /// + internal abstract class TrainerGeneratorBase : ITrainerGenerator + { + private PipelineNode node; + private Dictionary arguments = new Dictionary(); + private bool hasAdvancedSettings = false; + private string seperator = null; + + //abstract properties + internal abstract string OptionsName { get; } + internal abstract string MethodName { get; } + internal abstract IDictionary NamedParameters { get; } + + /// + /// Generates an instance of TrainerGenerator + /// + /// + protected TrainerGeneratorBase(PipelineNode node) + { + Initialize(node); + } + + private void Initialize(PipelineNode node) + { + this.node = node; + hasAdvancedSettings = node.Properties.Keys.Any(t => !NamedParameters.ContainsKey(t)); + seperator = hasAdvancedSettings ? "=" : ":"; + node.Properties.Add("LabelColumn", "Label"); + node.Properties.Add("FeatureColumn", "Features"); + + foreach (var kv in node.Properties) + { + object value = null; + + //For Nullable values. + if (kv.Value == null) + continue; + Type type = kv.Value.GetType(); + if (type == typeof(bool)) + { + //True to true + value = ((bool)kv.Value).ToString().ToLowerInvariant(); + } + if (type == typeof(float)) + { + //0.0 to 0.0f + value = ((float)kv.Value).ToString() + "f"; + } + + if (type == typeof(int) || type == typeof(double) || type == typeof(long)) + { + value = (kv.Value).ToString(); + } + + if (type == typeof(string)) + { + var val = kv.Value.ToString(); + if (val == "auto" || val == "" || val == "< auto >") + continue; + + // string to "string" + value = "\"" + val + "\""; + } + + if (type == typeof(CustomProperty)) + { + value = kv.Value; + } + //more special cases to handle + + arguments.Add(hasAdvancedSettings ? kv.Key : NamedParameters[kv.Key], value); + } + } + + private static string BuildComplexParameter(string paramName, IDictionary arguments, string seperator) + { + StringBuilder sb = new StringBuilder(); + sb.Append("new "); + sb.Append(paramName); + sb.Append("(){"); + sb.Append(AppendArguments(arguments, seperator)); + sb.Append("}"); + return sb.ToString(); + } + + private static string AppendArguments(IDictionary arguments, string seperator) + { + if (arguments.Count == 0) + return string.Empty; + + StringBuilder sb = new StringBuilder(); + foreach (var kv in arguments) + { + sb.Append(kv.Key); + sb.Append(seperator); + if (kv.Value.GetType() == typeof(CustomProperty)) + sb.Append(BuildComplexParameter(((CustomProperty)kv.Value).Name, ((CustomProperty)kv.Value).Properties, "=")); + else + sb.Append(kv.Value.ToString()); + sb.Append(","); + } + sb.Remove(sb.Length - 1, 1); //remove the last , + return sb.ToString(); + } + + public string GenerateTrainer() + { + StringBuilder sb = new StringBuilder(); + sb.Append(MethodName); + sb.Append("("); + if (hasAdvancedSettings) + { + var paramString = BuildComplexParameter(OptionsName, arguments, "="); + sb.Append(paramString); + } + else + { + sb.Append(AppendArguments(arguments, ":")); + } + sb.Append(");"); + return sb.ToString(); + } + + } +} diff --git a/src/mlnet/CodeGenerator/TrainerGeneratorFactory.cs b/src/mlnet/CodeGenerator/TrainerGeneratorFactory.cs new file mode 100644 index 0000000000..109fee96ed --- /dev/null +++ b/src/mlnet/CodeGenerator/TrainerGeneratorFactory.cs @@ -0,0 +1,69 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Linq; +using Microsoft.ML.Auto; +using static Microsoft.ML.CLI.TrainerGenerators; + +namespace Microsoft.ML.CLI +{ + internal interface ITrainerGenerator + { + string GenerateTrainer(); + } + internal static class TrainerGeneratorFactory + { + internal static ITrainerGenerator GetInstance(Pipeline pipeline) + { + if (pipeline == null) + throw new ArgumentNullException(nameof(pipeline)); + var node = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Trainer).First(); + if (node == null) + return null; + if (Enum.TryParse(node.Name, out TrainerName trainer)) + { + switch (trainer) + { + case TrainerName.LightGbmBinary: + case TrainerName.LightGbmMulti: + case TrainerName.LightGbmRegression: + return new LightGbm(node); + case TrainerName.AveragedPerceptronBinary: + return new AveragedPerceptron(node); + case TrainerName.FastForestBinary: + case TrainerName.FastForestRegression: + return new FastForest(node); + case TrainerName.FastTreeBinary: + case TrainerName.FastTreeRegression: + return new FastTree(node); + case TrainerName.FastTreeTweedieRegression: + return new FastTreeTweedie(node); + + case TrainerName.LinearSvmBinary: + return new LinearSvm(node); + case TrainerName.LogisticRegressionBinary: + case TrainerName.LogisticRegressionMulti: + return new LogisticRegression(node); + case TrainerName.OnlineGradientDescentRegression: + return new OnlineGradientDescentRegression(node); + case TrainerName.OrdinaryLeastSquaresRegression: + return new OrdinaryLeastSquaresRegression(node); + case TrainerName.PoissonRegression: + return new PoissonRegression(node); + case TrainerName.SdcaBinary: + case TrainerName.SdcaMulti: + return new StochasticDualCoordinateAscent(node); + case TrainerName.StochasticGradientDescentBinary: + return new StochasticGradientDescent(node); + case TrainerName.SymSgdBinary: + return new SymbolicStochasticGradientDescent(node); + default: + return null; + } + } + return null; + } + } +} diff --git a/src/mlnet/CodeGenerator/TrainerGenerators.cs b/src/mlnet/CodeGenerator/TrainerGenerators.cs new file mode 100644 index 0000000000..a4b5f96551 --- /dev/null +++ b/src/mlnet/CodeGenerator/TrainerGenerators.cs @@ -0,0 +1,421 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using Microsoft.ML.Auto; + +namespace Microsoft.ML.CLI +{ + internal static class TrainerGenerators + { + internal class LightGbm : TrainerGeneratorBase + { + //ClassName of the trainer + internal override string MethodName => "LightGbm"; + + //ClassName of the options to trainer + internal override string OptionsName => "LightGbm.Options"; + + //The named parameters to the trainer. + internal override IDictionary NamedParameters + { + get + { + return + new Dictionary() + { + {"NumLeaves","numLeaves" }, + {"LabelColumn","labelColumn" }, + {"FeatureColumn","featureColumn" }, + {"MinDataPerLeaf","minDataPerLeaf" }, + {"LearningRate","learningRate" }, + {"NumBoostRound","numBoostRound" } + }; + } + } + + public LightGbm(PipelineNode node) : base(node) + { + } + } + + internal class AveragedPerceptron : TrainerGeneratorBase + { + //ClassName of the trainer + internal override string MethodName => "AveragedPerceptron"; + + //ClassName of the options to trainer + internal override string OptionsName => "AveragedPerceptron.Options"; + + //The named parameters to the trainer. + internal override IDictionary NamedParameters + { + get + { + return + new Dictionary() + { + {"Weights","weights" }, + {"LabelColumn","labelColumn" }, + {"FeatureColumn","featureColumn" }, + {"LossFunction","lossFunction" }, + {"LearningRate","learningRate" }, + {"DecreaseLearningRate","decreaseLearningRate" }, + {"L2RegularizerWeight","l2RegularizerWeight" }, + {"NumIterations","numIterations" } + }; + } + } + + public AveragedPerceptron(PipelineNode node) : base(node) + { + } + } + + internal class FastForest : TrainerGeneratorBase + { + //ClassName of the trainer + internal override string MethodName => "FastForest"; + + //ClassName of the options to trainer + internal override string OptionsName => "FastForest.Options"; + + //The named parameters to the trainer. + internal override IDictionary NamedParameters + { + get + { + return + new Dictionary() + { + {"Weights","weights" }, + {"LabelColumn","labelColumn" }, + {"FeatureColumn","featureColumn" }, + {"LearningRate","learningRate" }, + {"NumLeaves","numLeaves" }, + {"NumTrees","numTrees" }, + {"MinDatapointsInLeaves","minDatapointsInLeaves" }, + }; + } + } + + public FastForest(PipelineNode node) : base(node) + { + } + } + + internal class FastTree : TrainerGeneratorBase + { + //ClassName of the trainer + internal override string MethodName => "FastTree"; + + //ClassName of the options to trainer + internal override string OptionsName => "FastTree.Options"; + + //The named parameters to the trainer. + internal override IDictionary NamedParameters + { + get + { + return + new Dictionary() + { + {"WeightColumn","weights" }, + {"LabelColumn","labelColumn" }, + {"FeatureColumn","featureColumn" }, + {"LearningRate","learningRate" }, + {"NumLeaves","numLeaves" }, + {"NumTrees","numTrees" }, + {"MinDatapointsInLeaves","minDatapointsInLeaves" }, + }; + } + } + + public FastTree(PipelineNode node) : base(node) + { + } + } + + internal class FastTreeTweedie : TrainerGeneratorBase + { + //ClassName of the trainer + internal override string MethodName => "FastTreeTweedie"; + + //ClassName of the options to trainer + internal override string OptionsName => "FastTreeTweedie.Options"; + + //The named parameters to the trainer. + internal override IDictionary NamedParameters + { + get + { + return + new Dictionary() + { + {"Weights","weights" }, + {"LabelColumn","labelColumn" }, + {"FeatureColumn","featureColumn" }, + {"LearningRate","learningRate" }, + {"NumLeaves","numLeaves" }, + {"NumTrees","numTrees" }, + {"MinDatapointsInLeaves","minDatapointsInLeaves" }, + }; + } + } + + public FastTreeTweedie(PipelineNode node) : base(node) + { + } + } + + internal class LinearSvm : TrainerGeneratorBase + { + //ClassName of the trainer + internal override string MethodName => "LinearSupportVectorMachines"; + + //ClassName of the options to trainer + internal override string OptionsName => "LinearSvm.Options"; + + //The named parameters to the trainer. + internal override IDictionary NamedParameters + { + get + { + return + new Dictionary() + { + {"InitialWeights","weightsColumn" }, + {"LabelColumn","labelColumn" }, + {"FeatureColumn","featureColumn" }, + {"NumIterations","numIterations" }, + }; + } + } + + public LinearSvm(PipelineNode node) : base(node) + { + } + } + + internal class LogisticRegression : TrainerGeneratorBase + { + //ClassName of the trainer + internal override string MethodName => "LogisticRegression"; + + //ClassName of the options to trainer + internal override string OptionsName => "LogisticRegression.Options"; + + //The named parameters to the trainer. + internal override IDictionary NamedParameters + { + get + { + return + new Dictionary() + { + {"WeightColumn","weights" }, + {"LabelColumn","labelColumn" }, + {"FeatureColumn","featureColumn" }, + {"L1Weight","l1Weight" }, + {"L2Weight","l2Weight" }, + {"OptTol","optimizationTolerance" }, + {"MemorySize","memorySize" }, + {"EnforceNoNNegativity","enforceNoNegativity" }, + }; + } + } + + public LogisticRegression(PipelineNode node) : base(node) + { + } + } + + internal class OnlineGradientDescentRegression : TrainerGeneratorBase + { + //ClassName of the trainer + internal override string MethodName => "OnlineGradientDescent"; + + //ClassName of the options to trainer + internal override string OptionsName => "OnlineGradientDescent.Options"; + + //The named parameters to the trainer. + internal override IDictionary NamedParameters + { + get + { + return + new Dictionary() + { + {"LearningRate" , "learningRate" }, + {"DecreaseLearningRate" , "decreaseLearningRate" }, + {"L2RegularizerWeight" , "l2RegularizerWeight" }, + {"NumIterations" , "numIterations" }, + {"LabelColumn" , "labelColumn" }, + {"FeatureColumn" , "featureColumn" }, + {"InitialWeights" ,"weightsColumn" }, + {"LossFunction" ,"lossFunction" }, + + }; + } + } + + public OnlineGradientDescentRegression(PipelineNode node) : base(node) + { + } + } + + internal class OrdinaryLeastSquaresRegression : TrainerGeneratorBase + { + //ClassName of the trainer + internal override string MethodName => "OrdinaryLeastSquares"; + + //ClassName of the options to trainer + internal override string OptionsName => "OrdinaryLeastSquares.Options"; + + //The named parameters to the trainer. + internal override IDictionary NamedParameters + { + get + { + return + new Dictionary() + { + {"WeightColumn","weights" }, + {"LabelColumn","labelColumn" }, + {"FeatureColumn","featureColumn" }, + }; + } + } + + public OrdinaryLeastSquaresRegression(PipelineNode node) : base(node) + { + } + } + + internal class PoissonRegression : TrainerGeneratorBase + { + //ClassName of the trainer + internal override string MethodName => "PoissonRegression"; + + //ClassName of the options to trainer + internal override string OptionsName => "PoissonRegression.Options"; + + //The named parameters to the trainer. + internal override IDictionary NamedParameters + { + get + { + return + new Dictionary() + { + {"WeightColumn","weights" }, + {"LabelColumn","labelColumn" }, + {"FeatureColumn","featureColumn" }, + {"L1Weight","l1Weight" }, + {"L2Weight","l2Weight" }, + {"OptTol","optimizationTolerance" }, + {"MemorySize","memorySize" }, + {"EnforceNoNNegativity","enforceNoNegativity" }, + }; + } + } + + public PoissonRegression(PipelineNode node) : base(node) + { + } + } + + internal class StochasticDualCoordinateAscent : TrainerGeneratorBase + { + //ClassName of the trainer + internal override string MethodName => "StochasticDualCoordinateAscent"; + + //ClassName of the options to trainer + internal override string OptionsName => "StochasticDualCoordinateAscent.Options"; + + //The named parameters to the trainer. + internal override IDictionary NamedParameters + { + get + { + return + new Dictionary() + { + {"WeightColumn","weights" }, + {"LabelColumn","labelColumn" }, + {"FeatureColumn","featureColumn" }, + {"Loss","loss" }, + {"L2Const","l2Const" }, + {"L1Threshold","l1Threshold" }, + {"MaxIterations","maxIterations" } + }; + } + } + + public StochasticDualCoordinateAscent(PipelineNode node) : base(node) + { + } + } + + internal class StochasticGradientDescent : TrainerGeneratorBase + { + //ClassName of the trainer + internal override string MethodName => "StochasticGradientDescent"; + + //ClassName of the options to trainer + internal override string OptionsName => "StochasticGradientDescent.Options"; + + //The named parameters to the trainer. + internal override IDictionary NamedParameters + { + get + { + return + new Dictionary() + { + {"WeightColumn","weights" }, + {"LabelColumn","labelColumn" }, + {"FeatureColumn","featureColumn" }, + {"NumIterations","numIterations" }, + {"MaxIterations","maxIterations" }, + {"InitLearningRate","initLearningRate" }, + {"L2Weight","l2Weight" } + }; + } + } + + public StochasticGradientDescent(PipelineNode node) : base(node) + { + } + } + + internal class SymbolicStochasticGradientDescent : TrainerGeneratorBase + { + //ClassName of the trainer + internal override string MethodName => "SymbolicStochasticGradientDescent"; + + //ClassName of the options to trainer + internal override string OptionsName => "SymbolicStochasticGradientDescent.Options"; + + //The named parameters to the trainer. + internal override IDictionary NamedParameters + { + get + { + return + new Dictionary() + { + {"LabelColumn","labelColumn" }, + {"FeatureColumn","featureColumn" }, + }; + } + } + + public SymbolicStochasticGradientDescent(PipelineNode node) : base(node) + { + } + } + + } +} diff --git a/src/mlnet/CodeGenerator/TransformGeneratorBase .cs b/src/mlnet/CodeGenerator/TransformGeneratorBase .cs new file mode 100644 index 0000000000..76f16be04f --- /dev/null +++ b/src/mlnet/CodeGenerator/TransformGeneratorBase .cs @@ -0,0 +1,51 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Auto; + +namespace Microsoft.ML.CLI +{ + /// + /// Supports generation of code for trainers (Binary,Multi,Regression) + /// Ova is an exception though. Need to figure out how to tackle that. + /// + internal abstract class TransformGeneratorBase : ITransformGenerator + { + //abstract properties + internal abstract string MethodName { get; } + + protected string[] inputColumns; + + protected string[] outputColumns; + + /// + /// Generates an instance of TrainerGenerator + /// + /// + protected TransformGeneratorBase(PipelineNode node) + { + Initialize(node); + } + + private void Initialize(PipelineNode node) + { + inputColumns = new string[node.InColumns.Length]; + outputColumns = new string[node.OutColumns.Length]; + int i = 0; + foreach (var column in node.InColumns) + { + inputColumns[i++] = "\"" + column + "\""; + } + i = 0; + foreach (var column in node.OutColumns) + { + outputColumns[i++] = "\"" + column + "\""; + } + + } + + public abstract string GenerateTransformer(); + + } +} diff --git a/src/mlnet/CodeGenerator/TransformGeneratorFactory.cs b/src/mlnet/CodeGenerator/TransformGeneratorFactory.cs new file mode 100644 index 0000000000..1a4d504928 --- /dev/null +++ b/src/mlnet/CodeGenerator/TransformGeneratorFactory.cs @@ -0,0 +1,63 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.ML.Auto; + + +namespace Microsoft.ML.CLI +{ + internal interface ITransformGenerator + { + string GenerateTransformer(); + } + + internal static class TransformGeneratorFactory + { + internal static ITransformGenerator GetInstance(PipelineNode node) + { + ITransformGenerator result = null; + if (Enum.TryParse(node.Name, out EstimatorName trainer)) + { + switch (trainer) + { + case EstimatorName.Normalizing: + result = new Normalizer(node); + break; + case EstimatorName.OneHotEncoding: + result = new OneHotEncoding(node); + break; + case EstimatorName.ColumnConcatenating: + result = new ColumnConcat(node); + break; + case EstimatorName.ColumnCopying: + result = new ColumnCopying(node); + break; + case EstimatorName.MissingValueIndicating: + result = new MissingValueIndicator(node); + break; + //todo : add missing value replacing too. + case EstimatorName.OneHotHashEncoding: + result = new OneHotHashEncoding(node); + break; + case EstimatorName.TextFeaturizing: + result = new TextFeaturizing(node); + break; + case EstimatorName.TypeConverting: + result = new TypeConverting(node); + break; + case EstimatorName.ValueToKeyMapping: + result = new ValueToKeyMapping(node); + break; + default: + return null; + + } + } + return result; + } + } +} diff --git a/src/mlnet/CodeGenerator/TransformGenerators.cs b/src/mlnet/CodeGenerator/TransformGenerators.cs new file mode 100644 index 0000000000..8247e95627 --- /dev/null +++ b/src/mlnet/CodeGenerator/TransformGenerators.cs @@ -0,0 +1,273 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Linq; +using System.Text; +using Microsoft.ML.Auto; + +namespace Microsoft.ML.CLI +{ + internal class Normalizer : TransformGeneratorBase + { + public Normalizer(PipelineNode node) : base(node) + { + } + + internal override string MethodName => "Normalize"; + + public override string GenerateTransformer() + { + StringBuilder sb = new StringBuilder(); + string inputColumn = inputColumns.Count() > 0 ? inputColumns[0] : "\"Features\""; + string outputColumn = outputColumns.Count() > 0 ? outputColumns[0] : throw new Exception($"output columns for the suggested transform: {MethodName} are null"); + sb.Append(MethodName); + sb.Append("("); + sb.Append(inputColumn); + sb.Append(","); + sb.Append(outputColumn); + sb.Append(")"); + return sb.ToString(); + } + } + + internal class OneHotEncoding : TransformGeneratorBase + { + public OneHotEncoding(PipelineNode node) : base(node) + { + } + + internal override string MethodName => "Categorical.OneHotEncoding"; + + private string ArgumentsName = "OneHotEncodingEstimator.ColumnInfo"; + + public override string GenerateTransformer() + { + StringBuilder sb = new StringBuilder(); + sb.Append(MethodName); + sb.Append("("); + sb.Append("new []{"); + for (int i = 0; i < inputColumns.Length; i++) + { + sb.Append("new "); + sb.Append(ArgumentsName); + sb.Append("("); + sb.Append(inputColumns[i]); + sb.Append(","); + sb.Append(outputColumns[i]); + sb.Append(")"); + sb.Append(","); + } + sb.Remove(sb.Length - 1, 1); // remove extra , + + sb.Append("}"); + sb.Append(")"); + return sb.ToString(); + } + } + + internal class ColumnConcat : TransformGeneratorBase + { + public ColumnConcat(PipelineNode node) : base(node) + { + } + + internal override string MethodName => "Concatenate"; + + public override string GenerateTransformer() + { + StringBuilder sb = new StringBuilder(); + string inputColumn = inputColumns.Count() > 0 ? inputColumns[0] : "\"Features\""; + string outputColumn = outputColumns.Count() > 0 ? outputColumns[0] : throw new Exception($"output columns for the suggested transform: {MethodName} are null"); + sb.Append(MethodName); + sb.Append("("); + sb.Append(outputColumn); + sb.Append(","); + sb.Append("new []{"); + foreach (var col in inputColumns) + { + sb.Append(col); + sb.Append(","); + } + sb.Remove(sb.Length - 1, 1); + sb.Append("}"); + sb.Append(")"); + return sb.ToString(); + } + } + + internal class ColumnCopying : TransformGeneratorBase + { + public ColumnCopying(PipelineNode node) : base(node) + { + } + + internal override string MethodName => "CopyColumns"; + + public override string GenerateTransformer() + { + StringBuilder sb = new StringBuilder(); + string inputColumn = inputColumns.Count() > 0 ? inputColumns[0] : "\"Features\""; + string outputColumn = outputColumns.Count() > 0 ? outputColumns[0] : throw new Exception($"output columns for the suggested transform: {MethodName} are null"); + sb.Append(MethodName); + sb.Append("("); + sb.Append(outputColumn); + sb.Append(","); + sb.Append(inputColumn); + sb.Append(")"); + return sb.ToString(); + } + } + + internal class MissingValueIndicator : TransformGeneratorBase + { + public MissingValueIndicator(PipelineNode node) : base(node) + { + } + + internal override string MethodName => "IndicateMissingValues"; + + public override string GenerateTransformer() + { + StringBuilder sb = new StringBuilder(); + string inputColumn = inputColumns.Count() > 0 ? inputColumns[0] : "\"Features\""; + string outputColumn = outputColumns.Count() > 0 ? outputColumns[0] : throw new Exception($"output columns for the suggested transform: {MethodName} are null"); + sb.Append(MethodName); + sb.Append("("); + sb.Append("new []{"); + for (int i = 0; i < inputColumns.Length; i++) + { + sb.Append("("); + sb.Append(inputColumns[i]); + sb.Append(","); + sb.Append(outputColumns[i]); + sb.Append(")"); + sb.Append(","); + } + sb.Remove(sb.Length - 1, 1); // remove extra , + sb.Append("}"); + sb.Append(")"); + return sb.ToString(); + } + } + + internal class OneHotHashEncoding : TransformGeneratorBase + { + public OneHotHashEncoding(PipelineNode node) : base(node) + { + } + + internal override string MethodName => "Categorical.OneHotHashEncoding"; + + private string ArgumentsName = "OneHotHashEncodingEstimator.ColumnInfo"; + + public override string GenerateTransformer() + { + StringBuilder sb = new StringBuilder(); + sb.Append(MethodName); + sb.Append("("); + sb.Append("new []{"); + for (int i = 0; i < inputColumns.Length; i++) + { + sb.Append("new "); + sb.Append(ArgumentsName); + sb.Append("("); + sb.Append(inputColumns[i]); + sb.Append(","); + sb.Append(outputColumns[i]); + sb.Append(")"); + sb.Append(","); + } + sb.Remove(sb.Length - 1, 1); // remove extra , + + sb.Append("}"); + sb.Append(")"); + return sb.ToString(); + } + } + + internal class TextFeaturizing : TransformGeneratorBase + { + public TextFeaturizing(PipelineNode node) : base(node) + { + } + + internal override string MethodName => "Text.FeaturizeText"; + + public override string GenerateTransformer() + { + StringBuilder sb = new StringBuilder(); + string inputColumn = inputColumns.Count() > 0 ? inputColumns[0] : "\"Features\""; + string outputColumn = outputColumns.Count() > 0 ? outputColumns[0] : throw new Exception($"output columns for the suggested transform: {MethodName} are null"); + sb.Append(MethodName); + sb.Append("("); + sb.Append(outputColumn); + sb.Append(","); + sb.Append(inputColumn); + sb.Append(")"); + return sb.ToString(); + } + } + + internal class TypeConverting : TransformGeneratorBase + { + public TypeConverting(PipelineNode node) : base(node) + { + } + + internal override string MethodName => "Conversion.ConvertType"; + + private string ArgumentsName = "TypeConvertingTransformer.ColumnInfo"; + + public override string GenerateTransformer() + { + StringBuilder sb = new StringBuilder(); + sb.Append(MethodName); + sb.Append("("); + sb.Append("new []{"); + for (int i = 0; i < inputColumns.Length; i++) + { + sb.Append("new "); + sb.Append(ArgumentsName); + sb.Append("("); + sb.Append(inputColumns[i]); + sb.Append(","); + sb.Append(outputColumns[i]); + sb.Append(","); + sb.Append("DataKind.R4"); + sb.Append(")"); + sb.Append(","); + } + sb.Remove(sb.Length - 1, 1); // remove extra , + + sb.Append("}"); + sb.Append(")"); + return sb.ToString(); + } + } + + internal class ValueToKeyMapping : TransformGeneratorBase + { + public ValueToKeyMapping(PipelineNode node) : base(node) + { + } + + internal override string MethodName => "Conversion.MapValueToKey"; + + public override string GenerateTransformer() + { + StringBuilder sb = new StringBuilder(); + string inputColumn = inputColumns.Count() > 0 ? inputColumns[0] : "\"Features\""; + string outputColumn = outputColumns.Count() > 0 ? outputColumns[0] : throw new Exception($"output columns for the suggested transform: {MethodName} are null"); + sb.Append(MethodName); + sb.Append("("); + sb.Append(outputColumn); + sb.Append(","); + sb.Append(inputColumn); + sb.Append(")"); + return sb.ToString(); + } + } + +} diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs new file mode 100644 index 0000000000..affb95518b --- /dev/null +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -0,0 +1,124 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.CommandLine; +using System.CommandLine.Builder; +using System.CommandLine.Invocation; +using System.IO; +using System.Linq; +using Microsoft.ML.Auto; + +namespace Microsoft.ML.CLI +{ + public static class CommandDefinitions + { + public static System.CommandLine.Command New() + { + var newCommand = new System.CommandLine.Command("new", "ML.NET CLI tool for code generation", + + handler: CommandHandler.Create((/*FileInfo dataset,*/ FileInfo trainDataset, /*FileInfo validationDataset,*/ FileInfo testDataset, TaskKind mlTask, string labelColumnName) => + { + NewCommand.Run(new Options() + { + /*Dataset = dataset,*/ + TrainDataset = trainDataset, + /*ValidationDataset = validationDataset,*/ + TestDataset = testDataset, + MlTask = mlTask, + LabelName = labelColumnName + }); + + })) + { + //Dataset(), + TrainDataset(), + //ValidationDataset(), + TestDataset(), + MlTask(), + LabelName(), + //ColumnSeperator(), + //ExplorationTimeout(), + //Name(), + //ShowOutput() + //LabelIndex() + }; + + newCommand.Argument.AddValidator((sym) => + { + if (sym.Children["--train-dataset"] == null) + { + return "Option required : --train-dataset"; + } + if (sym.Children["--test-dataset"] == null) + { + return "Option required : --test-dataset"; + } + if (sym.Children["--ml-task"] == null) + { + return "Option required : --ml-task"; + } + if (sym.Children["--label-column-name"] == null) + { + return "Option required : --label-column-name"; + } + + return null; + }); + + return newCommand; + + //Option Dataset() => + // new Option("--dataset", "Dataset file path.", + // new Argument().ExistingOnly()); + + Option TrainDataset() => + new Option("--train-dataset", "Train dataset file path.", + new Argument().ExistingOnly()); + + //Option ValidationDataset() => + // new Option("--validation-dataset", "Test dataset file path.", + // new Argument().ExistingOnly()); + + Option TestDataset() => + new Option("--test-dataset", "Test dataset file path.", + new Argument().ExistingOnly()); + + Option MlTask() => + new Option("--ml-task", "Type of ML task.", + new Argument().WithSuggestions(GetMlTaskSuggestions())); + + Option LabelName() => + new Option("--label-column-name", "Name of the label column.", + new Argument()); + + //Option ColumnSeperator() => + // new Option("--column-separator", "Column separator in dataset file.", + // new Argument(defaultValue: default(string))); + + //Option ExplorationTimeout() => + // new Option("--exploration-timeout", "Timeout for exploring the best models.", + // new Argument(defaultValue: 10)); + + //Option Name() => + // new Option("--name", "Name of the project file.", + // new Argument(defaultValue: "SampleProject")); + + //Option ShowOutput() => + // new Option("--show-output", "Show output on the console", + // new Argument(defaultValue: true)); + + //Option LabelIndex() => + // new Option("--label-column-index", "Index of the label column.", + // new Argument(defaultValue: -1)); + + + } + + private static string[] GetMlTaskSuggestions() + { + return Enum.GetValues(typeof(TaskKind)).Cast().Select(v => v.ToString()).ToArray(); + } + } +} diff --git a/src/mlnet/Commands/NewCommand.cs b/src/mlnet/Commands/NewCommand.cs new file mode 100644 index 0000000000..febbe8c24e --- /dev/null +++ b/src/mlnet/Commands/NewCommand.cs @@ -0,0 +1,134 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.IO; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; +using mlnet.Templates; + +namespace Microsoft.ML.CLI +{ + internal class NewCommand + { + internal static void Run(Options options) + { + var context = new MLContext(); + var label = options.LabelName; + + // For Version 0.1 It is required that the data set has header. + var columnInference = context.Data.InferColumns(options.TrainDataset.FullName, label, true, groupColumns: false); + var textLoader = context.Data.CreateTextReader(columnInference); + var trainData = textLoader.Read(options.TrainDataset.FullName); + + var validationData = textLoader.Read(options.TestDataset.FullName); + Pipeline pipelineToDeconstruct = null; + + var result = ExploreModels(options, context, label, trainData, validationData, pipelineToDeconstruct); + pipelineToDeconstruct = result.Item1; + var model = result.Item2; + //Path can be overriden from args + GenerateModel(model, @"./BestModel", "model.zip", context); + RunCodeGen(options, columnInference, pipelineToDeconstruct); + } + + private static void GenerateModel(ITransformer model, string ModelPath, string modelName, MLContext mlContext) + { + if (!Directory.Exists(ModelPath)) + { + Directory.CreateDirectory(ModelPath); + } + ModelPath = ModelPath + "/" + modelName; + using (var fs = File.Create(ModelPath)) + model.SaveTo(mlContext, fs); + } + + private static (Pipeline, ITransformer) ExploreModels( + Options options, MLContext context, + string label, + IDataView trainData, + IDataView validationData, + Pipeline pipelineToDeconstruct) + { + ITransformer model = null; + + if (options.MlTask == TaskKind.BinaryClassification) + { + var result = context.BinaryClassification.AutoFit(trainData, label, validationData, settings: + new AutoFitSettings() + { + StoppingCriteria = new ExperimentStoppingCriteria() + { + //default need to have a way to override + TimeOutInMinutes = 10 + } + }); + result = result.OrderByDescending(t => t.Metrics.Accuracy); + var bestIteration = result.FirstOrDefault(); + pipelineToDeconstruct = bestIteration.Pipeline; + model = bestIteration.Model; + } + + if (options.MlTask == TaskKind.Regression) + { + var result = context.Regression.AutoFit(trainData, label, validationData, settings: + new AutoFitSettings() + { + StoppingCriteria = new ExperimentStoppingCriteria() + { + //default need to have a way to override + TimeOutInMinutes = 10 + } + }); + result = result.OrderByDescending(t => t.Metrics.RSquared); + var bestIteration = result.FirstOrDefault(); + pipelineToDeconstruct = bestIteration.Pipeline; + model = bestIteration.Model; + } + + if (options.MlTask == TaskKind.Regression) + { + throw new NotImplementedException(); + } + //Multi-class exploration here + + return (pipelineToDeconstruct, model); + } + + private static void RunCodeGen(Options options, ColumnInferenceResult columnInference, Pipeline pipelineToDeconstruct) + { + var codeGenerator = new CodeGenerator(pipelineToDeconstruct, columnInference); + MLCodeGen codeGen = new MLCodeGen() + { + Path = options.TrainDataset.FullName, + TestPath = options.TestDataset.FullName, + Columns = codeGenerator.GenerateColumns(), + Transforms = codeGenerator.GenerateTransforms(), + HasHeader = columnInference.HasHeader, + Separator = columnInference.Separator, + Trainer = codeGenerator.GenerateTrainer(), + TaskType = options.MlTask.ToString(), + ClassLabels = codeGenerator.GenerateClassLabels(), + GeneratedUsings = codeGenerator.GenerateUsings() + }; + + MLProjectGen csProjGenerator = new MLProjectGen(); + ConsoleHelper consoleHelper = new ConsoleHelper(); + var trainScoreCode = codeGen.TransformText(); + var projectSourceCode = csProjGenerator.TransformText(); + var consoleHelperCode = consoleHelper.TransformText(); + if (!Directory.Exists("./BestModel")) + { + Directory.CreateDirectory("./BestModel"); + } + File.WriteAllText("./BestModel/Train.cs", trainScoreCode); + File.WriteAllText("./BestModel/MyML.csproj", projectSourceCode); + File.WriteAllText("./BestModel/ConsoleHelper.cs", consoleHelperCode); + } + + } +} diff --git a/src/mlnet/Data/Options.cs b/src/mlnet/Data/Options.cs new file mode 100644 index 0000000000..364da93b51 --- /dev/null +++ b/src/mlnet/Data/Options.cs @@ -0,0 +1,29 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.IO; +using Microsoft.ML.Auto; + +namespace Microsoft.ML.CLI +{ + internal class Options + { + internal string Name { get; set; } + + internal FileInfo Dataset { get; set; } + + internal FileInfo ValidationDataset { get; set; } + + internal FileInfo TrainDataset { get; set; } + + internal FileInfo TestDataset { get; set; } + + internal string LabelName { get; set; } + + internal int LabelIndex { get; set; } + + internal TaskKind MlTask { get; set; } + + } +} diff --git a/src/mlnet/MlNet.sln b/src/mlnet/MlNet.sln new file mode 100644 index 0000000000..5de99265f9 --- /dev/null +++ b/src/mlnet/MlNet.sln @@ -0,0 +1,37 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.329 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MLNet", "MLNet.csproj", "{AF38203D-CFEE-41BA-ADC5-9810B0C0A388}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug-Intrinsics|Any CPU = Debug-Intrinsics|Any CPU + Debug-netfx|Any CPU = Debug-netfx|Any CPU + Release|Any CPU = Release|Any CPU + Release-Intrinsics|Any CPU = Release-Intrinsics|Any CPU + Release-netfx|Any CPU = Release-netfx|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug-Intrinsics|Any CPU + {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Debug-Intrinsics|Any CPU.Build.0 = Debug-Intrinsics|Any CPU + {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU + {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Release|Any CPU.Build.0 = Release|Any CPU + {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Release-Intrinsics|Any CPU.ActiveCfg = Release-Intrinsics|Any CPU + {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Release-Intrinsics|Any CPU.Build.0 = Release-Intrinsics|Any CPU + {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU + {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {057D3477-77B6-4A63-A20E-B08DB203DA7D} + EndGlobalSection +EndGlobal diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs new file mode 100644 index 0000000000..92d1f7d13a --- /dev/null +++ b/src/mlnet/Program.cs @@ -0,0 +1,26 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.CommandLine.Builder; +using System.CommandLine.Invocation; + +namespace Microsoft.ML.CLI +{ + class Program + { + public static void Main(string[] args) + { + var parser = new CommandLineBuilder() + // parser + .AddCommand(CommandDefinitions.New()) + .UseDefaults() + .Build(); + + parser.InvokeAsync(args).Wait(); + } + + + } +} diff --git a/src/mlnet/Templates/ConsoleHelper.cs b/src/mlnet/Templates/ConsoleHelper.cs new file mode 100644 index 0000000000..b24f3e44fb --- /dev/null +++ b/src/mlnet/Templates/ConsoleHelper.cs @@ -0,0 +1,515 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version: 15.0.0.0 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +namespace mlnet.Templates +{ + using System.Linq; + using System.Text; + using System.Collections.Generic; + using System; + + /// + /// Class to produce the template output + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public partial class ConsoleHelper : ConsoleHelperBase + { + /// + /// Create the template output + /// + public virtual string TransformText() + { + this.Write("using System;\r\nusing System.IO;\r\nusing System.IO.Compression;\r\nusing System.Linq;" + + "\r\nusing Microsoft.ML.Core.Data;\r\nusing System.Collections.Generic;\r\nusing Micros" + + "oft.ML.Data;\r\nusing Microsoft.ML;\r\n\r\nusing System.Reflection;\r\n\r\nnamespace Mlnet" + + "Sample\r\n{\r\n public static class ConsoleHelper\r\n {\r\n public static v" + + "oid PrintPrediction(string prediction)\r\n {\r\n Console.WriteLine" + + "($\"*************************************************\");\r\n Console.Wri" + + "teLine($\"Predicted : {prediction}\");\r\n Console.WriteLine($\"**********" + + "***************************************\");\r\n }\r\n\r\n public static v" + + "oid PrintRegressionPredictionVersusObserved(string predictionCount, string obser" + + "vedCount)\r\n {\r\n Console.WriteLine($\"--------------------------" + + "-----------------------\");\r\n Console.WriteLine($\"Predicted : {predict" + + "ionCount}\");\r\n Console.WriteLine($\"Actual: {observedCount}\");\r\n " + + " Console.WriteLine($\"-------------------------------------------------\"" + + ");\r\n }\r\n\r\n //(CDLTLL-Pending to Fix - Results --> ?)\r\n //\r\n" + + " public static void PrintRegressionMetrics(string name, RegressionMetrics" + + " metrics)\r\n {\r\n Console.WriteLine($\"**************************" + + "***********************\");\r\n Console.WriteLine($\"* Metrics for " + + "{name} regression model \");\r\n Console.WriteLine($\"*-------------" + + "-----------------------------------\");\r\n Console.WriteLine($\"* " + + "LossFn: {metrics.LossFn:0.##}\");\r\n Console.WriteLine($\"* " + + " R2 Score: {metrics.RSquared:0.##}\");\r\n Console.WriteLine($\"* " + + " Absolute loss: {metrics.L1:#.##}\");\r\n Console.WriteLine($\"* " + + " Squared loss: {metrics.L2:#.##}\");\r\n Console.WriteLine($\"* RM" + + "S loss: {metrics.Rms:#.##}\");\r\n Console.WriteLine($\"************" + + "*************************************\");\r\n }\r\n\r\n public static voi" + + "d PrintBinaryClassificationMetrics(string name, CalibratedBinaryClassificationMe" + + "trics metrics)\r\n {\r\n Console.WriteLine($\"*********************" + + "***************************************\");\r\n Console.WriteLine($\"* " + + " Metrics for {name} binary classification model \");\r\n Console" + + ".WriteLine($\"*-----------------------------------------------------------\");\r\n " + + " Console.WriteLine($\"* Accuracy: {metrics.Accuracy:P2}\");\r\n " + + " Console.WriteLine($\"* Auc: {metrics.Auc:P2}\");\r\n Con" + + "sole.WriteLine($\"* Auprc: {metrics.Auprc:P2}\");\r\n Console.Writ" + + "eLine($\"* F1Score: {metrics.F1Score:P2}\");\r\n Console.WriteLine" + + "($\"* LogLoss: {metrics.LogLoss:#.##}\");\r\n Console.WriteLine($\"" + + "* LogLossReduction: {metrics.LogLossReduction:#.##}\");\r\n Conso" + + "le.WriteLine($\"* PositivePrecision: {metrics.PositivePrecision:#.##}\");\r\n" + + " Console.WriteLine($\"* PositiveRecall: {metrics.PositiveRecall" + + ":#.##}\");\r\n Console.WriteLine($\"* NegativePrecision: {metrics." + + "NegativePrecision:#.##}\");\r\n Console.WriteLine($\"* NegativeReca" + + "ll: {metrics.NegativeRecall:P2}\");\r\n Console.WriteLine($\"***********" + + "*************************************************\");\r\n }\r\n\r\n publi" + + "c static void PrintMultiClassClassificationMetrics(string name, MultiClassClassi" + + "fierMetrics metrics)\r\n {\r\n Console.WriteLine($\"***************" + + "*********************************************\");\r\n Console.WriteLine(" + + "$\"* Metrics for {name} multi-class classification model \");\r\n Co" + + "nsole.WriteLine($\"*-----------------------------------------------------------\")" + + ";\r\n Console.WriteLine($\" AccuracyMacro = {metrics.AccuracyMacro:0." + + "####}, a value between 0 and 1, the closer to 1, the better\");\r\n Cons" + + "ole.WriteLine($\" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value betw" + + "een 0 and 1, the closer to 1, the better\");\r\n Console.WriteLine($\" " + + " LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better\");\r\n " + + " Console.WriteLine($\" LogLoss for class 1 = {metrics.PerClassLogLoss[0]:0.###" + + "#}, the closer to 0, the better\");\r\n Console.WriteLine($\" LogLoss " + + "for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to 0, the better\")" + + ";\r\n Console.WriteLine($\" LogLoss for class 3 = {metrics.PerClassLo" + + "gLoss[2]:0.####}, the closer to 0, the better\");\r\n Console.WriteLine(" + + "$\"************************************************************\");\r\n }\r\n\r\n" + + " //(CDLTLL-Pending to Fix - Results --> ?)\r\n\r\n public static void " + + "PrintRegressionFoldsAverageMetrics(string algorithmName,\r\n " + + " (RegressionMetrics metrics,\r\n " + + " ITransformer model,\r\n " + + " IDataView scoredTestData" + + ")[] crossValidationResults\r\n " + + " )\r\n {\r\n var L1 = crossValidationResults.Select(r => r" + + ".metrics.L1);\r\n var L2 = crossValidationResults.Select(r => r.metrics" + + ".L2);\r\n var RMS = crossValidationResults.Select(r => r.metrics.L1);\r\n" + + " var lossFunction = crossValidationResults.Select(r => r.metrics.Loss" + + "Fn);\r\n var R2 = crossValidationResults.Select(r => r.metrics.RSquared" + + ");\r\n\r\n Console.WriteLine($\"******************************************" + + "*******************************************************************\");\r\n " + + " Console.WriteLine($\"* Metrics for {algorithmName} Regression model " + + " \");\r\n Console.WriteLine($\"*----------------------------------------" + + "--------------------------------------------------------------------\");\r\n " + + " Console.WriteLine($\"* Average L1 Loss: {L1.Average():0.###} \");\r\n " + + " Console.WriteLine($\"* Average L2 Loss: {L2.Average():0.###} " + + " \");\r\n Console.WriteLine($\"* Average RMS: {RMS.Average" + + "():0.###} \");\r\n Console.WriteLine($\"* Average Loss Function: {" + + "lossFunction.Average():0.###} \");\r\n Console.WriteLine($\"* Aver" + + "age R-squared: {R2.Average():0.###} \");\r\n Console.WriteLine($\"******" + + "********************************************************************************" + + "***********************\");\r\n }\r\n\r\n public static void PrintMulticl" + + "assClassificationFoldsAverageMetrics(\r\n " + + "string algorithmName,\r\n (MultiClassClass" + + "ifierMetrics metrics,\r\n ITransformer mo" + + "del,\r\n IDataView scoredTestData)[] cros" + + "sValResults\r\n " + + " )\r\n {\r\n var metricsInMultipleFolds = crossValResults.S" + + "elect(r => r.metrics);\r\n\r\n var microAccuracyValues = metricsInMultipl" + + "eFolds.Select(m => m.AccuracyMicro);\r\n var microAccuracyAverage = mic" + + "roAccuracyValues.Average();\r\n var microAccuraciesStdDeviation = Calcu" + + "lateStandardDeviation(microAccuracyValues);\r\n var microAccuraciesConf" + + "idenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues);\r\n\r\n " + + " var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMac" + + "ro);\r\n var macroAccuracyAverage = macroAccuracyValues.Average();\r\n " + + " var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccur" + + "acyValues);\r\n var macroAccuraciesConfidenceInterval95 = CalculateConf" + + "idenceInterval95(macroAccuracyValues);\r\n\r\n var logLossValues = metric" + + "sInMultipleFolds.Select(m => m.LogLoss);\r\n var logLossAverage = logLo" + + "ssValues.Average();\r\n var logLossStdDeviation = CalculateStandardDevi" + + "ation(logLossValues);\r\n var logLossConfidenceInterval95 = CalculateCo" + + "nfidenceInterval95(logLossValues);\r\n\r\n var logLossReductionValues = m" + + "etricsInMultipleFolds.Select(m => m.LogLossReduction);\r\n var logLossR" + + "eductionAverage = logLossReductionValues.Average();\r\n var logLossRedu" + + "ctionStdDeviation = CalculateStandardDeviation(logLossReductionValues);\r\n " + + " var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(lo" + + "gLossReductionValues);\r\n\r\n Console.WriteLine($\"**********************" + + "********************************************************************************" + + "*******\");\r\n Console.WriteLine($\"* Metrics for {algorithmName} " + + "Multi-class Classification model \");\r\n Console.WriteLine($\"*----" + + "--------------------------------------------------------------------------------" + + "------------------------\");\r\n Console.WriteLine($\"* Average Mic" + + "roAccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccura" + + "ciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidence" + + "Interval95:#.###})\");\r\n Console.WriteLine($\"* Average MacroAccu" + + "racy: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesSt" + + "dDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterv" + + "al95:#.###})\");\r\n Console.WriteLine($\"* Average LogLoss: " + + " {logLossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) " + + "- Confidence Interval 95%: ({logLossConfidenceInterval95:#.###})\");\r\n " + + " Console.WriteLine($\"* Average LogLossReduction: {logLossReductionAverage:" + + "#.###} - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confiden" + + "ce Interval 95%: ({logLossReductionConfidenceInterval95:#.###})\");\r\n " + + "Console.WriteLine($\"************************************************************" + + "*************************************************\");\r\n\r\n }\r\n\r\n pub" + + "lic static double CalculateStandardDeviation(IEnumerable values)\r\n " + + " {\r\n double average = values.Average();\r\n double sumOfSqu" + + "aresOfDifferences = values.Select(val => (val - average) * (val - average)).Sum(" + + ");\r\n double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences /" + + " (values.Count() - 1));\r\n return standardDeviation;\r\n }\r\n\r\n " + + " public static double CalculateConfidenceInterval95(IEnumerable valu" + + "es)\r\n {\r\n double confidenceInterval95 = 1.96 * CalculateStanda" + + "rdDeviation(values) / Math.Sqrt((values.Count() - 1));\r\n return confi" + + "denceInterval95;\r\n }\r\n\r\n public static void PrintClusteringMetrics" + + "(string name, ClusteringMetrics metrics)\r\n {\r\n Console.WriteLi" + + "ne($\"*************************************************\");\r\n Console.W" + + "riteLine($\"* Metrics for {name} clustering model \");\r\n Con" + + "sole.WriteLine($\"*------------------------------------------------\");\r\n " + + " Console.WriteLine($\"* AvgMinScore: {metrics.AvgMinScore}\");\r\n " + + " Console.WriteLine($\"* DBI is: {metrics.Dbi}\");\r\n Console.Writ" + + "eLine($\"*************************************************\");\r\n }\r\n\r\n " + + " public static List PeekDataViewInConsole(MLContex" + + "t mlContext, IDataView dataView, IEstimator pipeline, int numberOf" + + "Rows = 4)\r\n where TObservation : class, new()\r\n {\r\n " + + " string msg = string.Format(\"Peek data in DataView: Showing {0} rows with the co" + + "lumns specified by TObservation class\", numberOfRows.ToString());\r\n C" + + "onsoleWriteHeader(msg);\r\n\r\n //https://github.com/dotnet/machinelearni" + + "ng/blob/master/docs/code/MlNetCookBook.md#how-do-i-look-at-the-intermediate-data" + + "\r\n var transformer = pipeline.Fit(dataView);\r\n var transfo" + + "rmedData = transformer.Transform(dataView);\r\n\r\n // \'transformedData\' " + + "is a \'promise\' of data, lazy-loading. Let\'s actually read it.\r\n // Co" + + "nvert to an enumerable of user-defined type.\r\n var someRows = transfo" + + "rmedData.AsEnumerable(mlContext, reuseRowObject: false)\r\n " + + " // Take the specified number of rows\r\n " + + " .Take(numberOfRows)\r\n " + + " // Convert to List\r\n " + + " .ToList();\r\n\r\n someRows.ForEach(row =>\r\n {\r\n " + + " string lineToPrint = \"Row--> \";\r\n\r\n var fieldsInRow = row.Get" + + "Type().GetFields(BindingFlags.Instance |\r\n " + + " BindingFlags.Static |\r\n " + + " BindingFlags.NonPublic |\r\n " + + " BindingFlags.Public);\r\n foreach (FieldIn" + + "fo field in fieldsInRow)\r\n {\r\n lineToPrint += " + + "$\"| {field.Name}: {field.GetValue(row)}\";\r\n }\r\n Co" + + "nsole.WriteLine(lineToPrint);\r\n });\r\n\r\n return someRows;\r\n" + + " }\r\n\r\n public static List PeekVectorColumnDataInConsole(M" + + "LContext mlContext, string columnName, IDataView dataView, IEstimator pipeline, int numberOfRows = 4)\r\n {\r\n string msg = string." + + "Format(\"Peek data in DataView: : Show {0} rows with just the \'{1}\' column\", numb" + + "erOfRows, columnName);\r\n ConsoleWriteHeader(msg);\r\n\r\n var " + + "transformer = pipeline.Fit(dataView);\r\n var transformedData = transfo" + + "rmer.Transform(dataView);\r\n\r\n // Extract the \'Features\' column.\r\n " + + " var someColumnData = transformedData.GetColumn(mlContext, colum" + + "nName)\r\n .Take(numberOfRo" + + "ws).ToList();\r\n\r\n // print to console the peeked rows\r\n so" + + "meColumnData.ForEach(row =>\r\n {\r\n String concatColumn " + + "= String.Empty;\r\n foreach (float f in row)\r\n {\r\n " + + " concatColumn += f.ToString();\r\n }\r\n " + + " Console.WriteLine(concatColumn);\r\n });\r\n\r\n return some" + + "ColumnData;\r\n }\r\n\r\n public static void ConsoleWriteHeader(params s" + + "tring[] lines)\r\n {\r\n var defaultColor = Console.ForegroundColo" + + "r;\r\n Console.ForegroundColor = ConsoleColor.Yellow;\r\n Cons" + + "ole.WriteLine(\" \");\r\n foreach (var line in lines)\r\n {\r\n " + + " Console.WriteLine(line);\r\n }\r\n var maxLength " + + "= lines.Select(x => x.Length).Max();\r\n Console.WriteLine(new string(\'" + + "#\', maxLength));\r\n Console.ForegroundColor = defaultColor;\r\n }" + + "\r\n\r\n public static void ConsoleWriterSection(params string[] lines)\r\n " + + " {\r\n var defaultColor = Console.ForegroundColor;\r\n Cons" + + "ole.ForegroundColor = ConsoleColor.Blue;\r\n Console.WriteLine(\" \");\r\n " + + " foreach (var line in lines)\r\n {\r\n Console.W" + + "riteLine(line);\r\n }\r\n var maxLength = lines.Select(x => x." + + "Length).Max();\r\n Console.WriteLine(new string(\'-\', maxLength));\r\n " + + " Console.ForegroundColor = defaultColor;\r\n }\r\n\r\n public sta" + + "tic void ConsolePressAnyKey()\r\n {\r\n var defaultColor = Console" + + ".ForegroundColor;\r\n Console.ForegroundColor = ConsoleColor.Green;\r\n " + + " Console.WriteLine(\" \");\r\n Console.WriteLine(\"Press any key " + + "to finish.\");\r\n Console.ReadKey();\r\n }\r\n\r\n public stati" + + "c void ConsoleWriteException(params string[] lines)\r\n {\r\n var " + + "defaultColor = Console.ForegroundColor;\r\n Console.ForegroundColor = C" + + "onsoleColor.Red;\r\n const string exceptionTitle = \"EXCEPTION\";\r\n " + + " Console.WriteLine(\" \");\r\n Console.WriteLine(exceptionTitle);\r\n " + + " Console.WriteLine(new string(\'#\', exceptionTitle.Length));\r\n " + + " Console.ForegroundColor = defaultColor;\r\n foreach (var line in lin" + + "es)\r\n {\r\n Console.WriteLine(line);\r\n }\r\n " + + " }\r\n\r\n public static void ConsoleWriteWarning(params string[] lines)\r" + + "\n {\r\n var defaultColor = Console.ForegroundColor;\r\n " + + " Console.ForegroundColor = ConsoleColor.DarkMagenta;\r\n const string w" + + "arningTitle = \"WARNING\";\r\n Console.WriteLine(\" \");\r\n Conso" + + "le.WriteLine(warningTitle);\r\n Console.WriteLine(new string(\'#\', warni" + + "ngTitle.Length));\r\n Console.ForegroundColor = defaultColor;\r\n " + + " foreach (var line in lines)\r\n {\r\n Console.WriteLin" + + "e(line);\r\n }\r\n }\r\n\r\n }\r\n}"); + return this.GenerationEnvironment.ToString(); + } + } + #region Base class + /// + /// Base class for this transformation + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public class ConsoleHelperBase + { + #region Fields + private global::System.Text.StringBuilder generationEnvironmentField; + private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; + private global::System.Collections.Generic.List indentLengthsField; + private string currentIndentField = ""; + private bool endsWithNewline; + private global::System.Collections.Generic.IDictionary sessionField; + #endregion + #region Properties + /// + /// The string builder that generation-time code is using to assemble generated output + /// + protected System.Text.StringBuilder GenerationEnvironment + { + get + { + if ((this.generationEnvironmentField == null)) + { + this.generationEnvironmentField = new global::System.Text.StringBuilder(); + } + return this.generationEnvironmentField; + } + set + { + this.generationEnvironmentField = value; + } + } + /// + /// The error collection for the generation process + /// + public System.CodeDom.Compiler.CompilerErrorCollection Errors + { + get + { + if ((this.errorsField == null)) + { + this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); + } + return this.errorsField; + } + } + /// + /// A list of the lengths of each indent that was added with PushIndent + /// + private System.Collections.Generic.List indentLengths + { + get + { + if ((this.indentLengthsField == null)) + { + this.indentLengthsField = new global::System.Collections.Generic.List(); + } + return this.indentLengthsField; + } + } + /// + /// Gets the current indent we use when adding lines to the output + /// + public string CurrentIndent + { + get + { + return this.currentIndentField; + } + } + /// + /// Current transformation session + /// + public virtual global::System.Collections.Generic.IDictionary Session + { + get + { + return this.sessionField; + } + set + { + this.sessionField = value; + } + } + #endregion + #region Transform-time helpers + /// + /// Write text directly into the generated output + /// + public void Write(string textToAppend) + { + if (string.IsNullOrEmpty(textToAppend)) + { + return; + } + // If we're starting off, or if the previous text ended with a newline, + // we have to append the current indent first. + if (((this.GenerationEnvironment.Length == 0) + || this.endsWithNewline)) + { + this.GenerationEnvironment.Append(this.currentIndentField); + this.endsWithNewline = false; + } + // Check if the current text ends with a newline + if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) + { + this.endsWithNewline = true; + } + // This is an optimization. If the current indent is "", then we don't have to do any + // of the more complex stuff further down. + if ((this.currentIndentField.Length == 0)) + { + this.GenerationEnvironment.Append(textToAppend); + return; + } + // Everywhere there is a newline in the text, add an indent after it + textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); + // If the text ends with a newline, then we should strip off the indent added at the very end + // because the appropriate indent will be added when the next time Write() is called + if (this.endsWithNewline) + { + this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); + } + else + { + this.GenerationEnvironment.Append(textToAppend); + } + } + /// + /// Write text directly into the generated output + /// + public void WriteLine(string textToAppend) + { + this.Write(textToAppend); + this.GenerationEnvironment.AppendLine(); + this.endsWithNewline = true; + } + /// + /// Write formatted text directly into the generated output + /// + public void Write(string format, params object[] args) + { + this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Write formatted text directly into the generated output + /// + public void WriteLine(string format, params object[] args) + { + this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Raise an error + /// + public void Error(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + this.Errors.Add(error); + } + /// + /// Raise a warning + /// + public void Warning(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + error.IsWarning = true; + this.Errors.Add(error); + } + /// + /// Increase the indent + /// + public void PushIndent(string indent) + { + if ((indent == null)) + { + throw new global::System.ArgumentNullException("indent"); + } + this.currentIndentField = (this.currentIndentField + indent); + this.indentLengths.Add(indent.Length); + } + /// + /// Remove the last indent that was added with PushIndent + /// + public string PopIndent() + { + string returnValue = ""; + if ((this.indentLengths.Count > 0)) + { + int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; + this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); + if ((indentLength > 0)) + { + returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); + this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); + } + } + return returnValue; + } + /// + /// Remove any indentation + /// + public void ClearIndent() + { + this.indentLengths.Clear(); + this.currentIndentField = ""; + } + #endregion + #region ToString Helpers + /// + /// Utility class to produce culture-oriented representation of an object as a string. + /// + public class ToStringInstanceHelper + { + private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; + /// + /// Gets or sets format provider to be used by ToStringWithCulture method. + /// + public System.IFormatProvider FormatProvider + { + get + { + return this.formatProviderField ; + } + set + { + if ((value != null)) + { + this.formatProviderField = value; + } + } + } + /// + /// This is called from the compile/run appdomain to convert objects within an expression block to a string + /// + public string ToStringWithCulture(object objectToConvert) + { + if ((objectToConvert == null)) + { + throw new global::System.ArgumentNullException("objectToConvert"); + } + System.Type t = objectToConvert.GetType(); + System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { + typeof(System.IFormatProvider)}); + if ((method == null)) + { + return objectToConvert.ToString(); + } + else + { + return ((string)(method.Invoke(objectToConvert, new object[] { + this.formatProviderField }))); + } + } + } + private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); + /// + /// Helper to produce culture-oriented representation of an object as a string + /// + public ToStringInstanceHelper ToStringHelper + { + get + { + return this.toStringHelperField; + } + } + #endregion + } + #endregion +} diff --git a/src/mlnet/Templates/ConsoleHelper.tt b/src/mlnet/Templates/ConsoleHelper.tt new file mode 100644 index 0000000000..171c589939 --- /dev/null +++ b/src/mlnet/Templates/ConsoleHelper.tt @@ -0,0 +1,302 @@ +<#@ template language="C#" linePragmas="false" #> +<#@ assembly name="System.Core" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text" #> +<#@ import namespace="System.Collections.Generic" #> +using System; +using System.IO; +using System.IO.Compression; +using System.Linq; +using Microsoft.ML.Core.Data; +using System.Collections.Generic; +using Microsoft.ML.Data; +using Microsoft.ML; + +using System.Reflection; + +namespace MlnetSample +{ + public static class ConsoleHelper + { + public static void PrintPrediction(string prediction) + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"Predicted : {prediction}"); + Console.WriteLine($"*************************************************"); + } + + public static void PrintRegressionPredictionVersusObserved(string predictionCount, string observedCount) + { + Console.WriteLine($"-------------------------------------------------"); + Console.WriteLine($"Predicted : {predictionCount}"); + Console.WriteLine($"Actual: {observedCount}"); + Console.WriteLine($"-------------------------------------------------"); + } + + //(CDLTLL-Pending to Fix - Results --> ?) + // + public static void PrintRegressionMetrics(string name, RegressionMetrics metrics) + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Metrics for {name} regression model "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"* LossFn: {metrics.LossFn:0.##}"); + Console.WriteLine($"* R2 Score: {metrics.RSquared:0.##}"); + Console.WriteLine($"* Absolute loss: {metrics.L1:#.##}"); + Console.WriteLine($"* Squared loss: {metrics.L2:#.##}"); + Console.WriteLine($"* RMS loss: {metrics.Rms:#.##}"); + Console.WriteLine($"*************************************************"); + } + + public static void PrintBinaryClassificationMetrics(string name, CalibratedBinaryClassificationMetrics metrics) + { + Console.WriteLine($"************************************************************"); + Console.WriteLine($"* Metrics for {name} binary classification model "); + Console.WriteLine($"*-----------------------------------------------------------"); + Console.WriteLine($"* Accuracy: {metrics.Accuracy:P2}"); + Console.WriteLine($"* Auc: {metrics.Auc:P2}"); + Console.WriteLine($"* Auprc: {metrics.Auprc:P2}"); + Console.WriteLine($"* F1Score: {metrics.F1Score:P2}"); + Console.WriteLine($"* LogLoss: {metrics.LogLoss:#.##}"); + Console.WriteLine($"* LogLossReduction: {metrics.LogLossReduction:#.##}"); + Console.WriteLine($"* PositivePrecision: {metrics.PositivePrecision:#.##}"); + Console.WriteLine($"* PositiveRecall: {metrics.PositiveRecall:#.##}"); + Console.WriteLine($"* NegativePrecision: {metrics.NegativePrecision:#.##}"); + Console.WriteLine($"* NegativeRecall: {metrics.NegativeRecall:P2}"); + Console.WriteLine($"************************************************************"); + } + + public static void PrintMultiClassClassificationMetrics(string name, MultiClassClassifierMetrics metrics) + { + Console.WriteLine($"************************************************************"); + Console.WriteLine($"* Metrics for {name} multi-class classification model "); + Console.WriteLine($"*-----------------------------------------------------------"); + Console.WriteLine($" AccuracyMacro = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the better"); + Console.WriteLine($" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value between 0 and 1, the closer to 1, the better"); + Console.WriteLine($" LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better"); + Console.WriteLine($" LogLoss for class 1 = {metrics.PerClassLogLoss[0]:0.####}, the closer to 0, the better"); + Console.WriteLine($" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to 0, the better"); + Console.WriteLine($" LogLoss for class 3 = {metrics.PerClassLogLoss[2]:0.####}, the closer to 0, the better"); + Console.WriteLine($"************************************************************"); + } + + //(CDLTLL-Pending to Fix - Results --> ?) + + public static void PrintRegressionFoldsAverageMetrics(string algorithmName, + (RegressionMetrics metrics, + ITransformer model, + IDataView scoredTestData)[] crossValidationResults + ) + { + var L1 = crossValidationResults.Select(r => r.metrics.L1); + var L2 = crossValidationResults.Select(r => r.metrics.L2); + var RMS = crossValidationResults.Select(r => r.metrics.L1); + var lossFunction = crossValidationResults.Select(r => r.metrics.LossFn); + var R2 = crossValidationResults.Select(r => r.metrics.RSquared); + + Console.WriteLine($"*************************************************************************************************************"); + Console.WriteLine($"* Metrics for {algorithmName} Regression model "); + Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); + Console.WriteLine($"* Average L1 Loss: {L1.Average():0.###} "); + Console.WriteLine($"* Average L2 Loss: {L2.Average():0.###} "); + Console.WriteLine($"* Average RMS: {RMS.Average():0.###} "); + Console.WriteLine($"* Average Loss Function: {lossFunction.Average():0.###} "); + Console.WriteLine($"* Average R-squared: {R2.Average():0.###} "); + Console.WriteLine($"*************************************************************************************************************"); + } + + public static void PrintMulticlassClassificationFoldsAverageMetrics( + string algorithmName, + (MultiClassClassifierMetrics metrics, + ITransformer model, + IDataView scoredTestData)[] crossValResults + ) + { + var metricsInMultipleFolds = crossValResults.Select(r => r.metrics); + + var microAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMicro); + var microAccuracyAverage = microAccuracyValues.Average(); + var microAccuraciesStdDeviation = CalculateStandardDeviation(microAccuracyValues); + var microAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues); + + var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro); + var macroAccuracyAverage = macroAccuracyValues.Average(); + var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues); + var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macroAccuracyValues); + + var logLossValues = metricsInMultipleFolds.Select(m => m.LogLoss); + var logLossAverage = logLossValues.Average(); + var logLossStdDeviation = CalculateStandardDeviation(logLossValues); + var logLossConfidenceInterval95 = CalculateConfidenceInterval95(logLossValues); + + var logLossReductionValues = metricsInMultipleFolds.Select(m => m.LogLossReduction); + var logLossReductionAverage = logLossReductionValues.Average(); + var logLossReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues); + var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(logLossReductionValues); + + Console.WriteLine($"*************************************************************************************************************"); + Console.WriteLine($"* Metrics for {algorithmName} Multi-class Classification model "); + Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); + Console.WriteLine($"* Average MicroAccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average MacroAccuracy: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average LogLoss: {logLossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average LogLossReduction: {logLossReductionAverage:#.###} - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: ({logLossReductionConfidenceInterval95:#.###})"); + Console.WriteLine($"*************************************************************************************************************"); + + } + + public static double CalculateStandardDeviation(IEnumerable values) + { + double average = values.Average(); + double sumOfSquaresOfDifferences = values.Select(val => (val - average) * (val - average)).Sum(); + double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Count() - 1)); + return standardDeviation; + } + + public static double CalculateConfidenceInterval95(IEnumerable values) + { + double confidenceInterval95 = 1.96 * CalculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1)); + return confidenceInterval95; + } + + public static void PrintClusteringMetrics(string name, ClusteringMetrics metrics) + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Metrics for {name} clustering model "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"* AvgMinScore: {metrics.AvgMinScore}"); + Console.WriteLine($"* DBI is: {metrics.Dbi}"); + Console.WriteLine($"*************************************************"); + } + + public static List PeekDataViewInConsole(MLContext mlContext, IDataView dataView, IEstimator pipeline, int numberOfRows = 4) + where TObservation : class, new() + { + string msg = string.Format("Peek data in DataView: Showing {0} rows with the columns specified by TObservation class", numberOfRows.ToString()); + ConsoleWriteHeader(msg); + + //https://github.com/dotnet/machinelearning/blob/master/docs/code/MlNetCookBook.md#how-do-i-look-at-the-intermediate-data + var transformer = pipeline.Fit(dataView); + var transformedData = transformer.Transform(dataView); + + // 'transformedData' is a 'promise' of data, lazy-loading. Let's actually read it. + // Convert to an enumerable of user-defined type. + var someRows = transformedData.AsEnumerable(mlContext, reuseRowObject: false) + // Take the specified number of rows + .Take(numberOfRows) + // Convert to List + .ToList(); + + someRows.ForEach(row => + { + string lineToPrint = "Row--> "; + + var fieldsInRow = row.GetType().GetFields(BindingFlags.Instance | + BindingFlags.Static | + BindingFlags.NonPublic | + BindingFlags.Public); + foreach (FieldInfo field in fieldsInRow) + { + lineToPrint += $"| {field.Name}: {field.GetValue(row)}"; + } + Console.WriteLine(lineToPrint); + }); + + return someRows; + } + + public static List PeekVectorColumnDataInConsole(MLContext mlContext, string columnName, IDataView dataView, IEstimator pipeline, int numberOfRows = 4) + { + string msg = string.Format("Peek data in DataView: : Show {0} rows with just the '{1}' column", numberOfRows, columnName); + ConsoleWriteHeader(msg); + + var transformer = pipeline.Fit(dataView); + var transformedData = transformer.Transform(dataView); + + // Extract the 'Features' column. + var someColumnData = transformedData.GetColumn(mlContext, columnName) + .Take(numberOfRows).ToList(); + + // print to console the peeked rows + someColumnData.ForEach(row => + { + String concatColumn = String.Empty; + foreach (float f in row) + { + concatColumn += f.ToString(); + } + Console.WriteLine(concatColumn); + }); + + return someColumnData; + } + + public static void ConsoleWriteHeader(params string[] lines) + { + var defaultColor = Console.ForegroundColor; + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine(" "); + foreach (var line in lines) + { + Console.WriteLine(line); + } + var maxLength = lines.Select(x => x.Length).Max(); + Console.WriteLine(new string('#', maxLength)); + Console.ForegroundColor = defaultColor; + } + + public static void ConsoleWriterSection(params string[] lines) + { + var defaultColor = Console.ForegroundColor; + Console.ForegroundColor = ConsoleColor.Blue; + Console.WriteLine(" "); + foreach (var line in lines) + { + Console.WriteLine(line); + } + var maxLength = lines.Select(x => x.Length).Max(); + Console.WriteLine(new string('-', maxLength)); + Console.ForegroundColor = defaultColor; + } + + public static void ConsolePressAnyKey() + { + var defaultColor = Console.ForegroundColor; + Console.ForegroundColor = ConsoleColor.Green; + Console.WriteLine(" "); + Console.WriteLine("Press any key to finish."); + Console.ReadKey(); + } + + public static void ConsoleWriteException(params string[] lines) + { + var defaultColor = Console.ForegroundColor; + Console.ForegroundColor = ConsoleColor.Red; + const string exceptionTitle = "EXCEPTION"; + Console.WriteLine(" "); + Console.WriteLine(exceptionTitle); + Console.WriteLine(new string('#', exceptionTitle.Length)); + Console.ForegroundColor = defaultColor; + foreach (var line in lines) + { + Console.WriteLine(line); + } + } + + public static void ConsoleWriteWarning(params string[] lines) + { + var defaultColor = Console.ForegroundColor; + Console.ForegroundColor = ConsoleColor.DarkMagenta; + const string warningTitle = "WARNING"; + Console.WriteLine(" "); + Console.WriteLine(warningTitle); + Console.WriteLine(new string('#', warningTitle.Length)); + Console.ForegroundColor = defaultColor; + foreach (var line in lines) + { + Console.WriteLine(line); + } + } + + } +} \ No newline at end of file diff --git a/src/mlnet/Templates/MLCodeGen.cs b/src/mlnet/Templates/MLCodeGen.cs new file mode 100644 index 0000000000..6fbc67978d --- /dev/null +++ b/src/mlnet/Templates/MLCodeGen.cs @@ -0,0 +1,497 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version: 15.0.0.0 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +namespace mlnet.Templates +{ + using System.Linq; + using System.Text; + using System.Collections.Generic; + using System; + + /// + /// Class to produce the template output + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public partial class MLCodeGen : MLCodeGenBase + { + /// + /// Create the template output + /// + public virtual string TransformText() + { + this.Write(@"/* This template shows the building blocks for training a machine learning model with ML.NET (https://aka.ms/mlnet). + * This model predicts whether a sentence has a positive or negative sentiment. It is based on a sample that can be + * found at https://aka.ms/mlnetsentimentanalysis, which provides a more detailed introduction to ML.NET and the scenario. */ + +using System; +using System.IO; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; +using static Microsoft.ML.Data.TextLoader; +"); + this.Write(this.ToStringHelper.ToStringWithCulture(GeneratedUsings)); + this.Write("\r\n\r\n\r\nnamespace MlnetSample\r\n{\r\n class Program\r\n {\r\n private static " + + "string TrainDataPath = @\""); + this.Write(this.ToStringHelper.ToStringWithCulture(Path)); + this.Write("\";\r\n private static string TestDataPath = @\""); + this.Write(this.ToStringHelper.ToStringWithCulture(Path)); + this.Write(@"""; + private static string ModelPath = @""./model.zip""; + + static void Main(string[] args) + { + //Create MLContext to be shared across the model creation workflow objects + //Set a random seed for repeatable/deterministic results across multiple trainings. + var mlContext = new MLContext(seed: 1); + + // Create, Train, Evaluate and Save a model + BuildTrainEvaluateAndSaveModel(mlContext); + ConsoleHelper.ConsoleWriteHeader(""=============== End of training processh ===============""); + + // Make a single test prediction loding the model from .ZIP file + TestSinglePrediction(mlContext); + + ConsoleHelper.ConsoleWriteHeader(""=============== End of process, hit any key to finish ===============""); + Console.ReadKey(); + + } + + private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) + { + // STEP 1: Common data loading configuration + TextLoader textLoader = GetTextLoader(mlContext); + + IDataView trainingDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); + +"); + if(Transforms.Count >0 ) { + this.Write(" // STEP 2: Common data process configuration with pipeline data trans" + + "formations \r\n\r\n var dataProcessPipeline = "); + for(int i=0;i0) + { Write("\n .Append("); + } + Write("mlContext.Transforms."+Transforms[i]); + } + this.Write(";\r\n"); +} + this.Write("\r\n // STEP 3: Set the training algorithm, then create and config the m" + + "odelBuilder \r\n var trainer = mlContext."); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(".Trainers."); + this.Write(this.ToStringHelper.ToStringWithCulture(Trainer)); + this.Write(";\r\n\r\n // STEP 4: Train the model fitting to the DataSet\r\n"); + if(Transforms.Count >0 ) { + this.Write(" var trainingPipeline = dataProcessPipeline.Append(trainer);\r\n " + + " var trainedModel = trainingPipeline.Fit(trainingDataView);\r\n"); + } +else{ + this.Write(" var trainedModel = trainer.Fit(trainingDataView);\r\n"); +} + this.Write(@" + // STEP 5: Evaluate the model and show accuracy stats + Console.WriteLine(""===== Evaluating Model's accuracy with Test data =====""); + var predictions = trainedModel.Transform(testDataView); + var metrics = mlContext."); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(".Evaluate(predictions, \"Label\", \"Score\");\r\n"); +if("BinaryClassification".Equals(TaskType)){ + this.Write(" ConsoleHelper.PrintBinaryClassificationMetrics(trainer.ToString(), me" + + "trics);\r\n"); +} +if("Regression".Equals(TaskType)){ + this.Write(" ConsoleHelper.PrintRegressionMetrics(trainer.ToString(), metrics);\r\n"); +} + this.Write(@" // STEP 6: Save/persist the trained model to a .ZIP file + + using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) + mlContext.Model.Save(trainedModel, fs); + + Console.WriteLine(""The model is saved to {0}"", ModelPath); + + return trainedModel; + } + + private static TextLoader GetTextLoader(MLContext mlContext) + { + return mlContext.Data.CreateTextReader( + columns: new[] + { +"); + foreach(var col in Columns) { + this.Write(" "); + this.Write(this.ToStringHelper.ToStringWithCulture(col)); + this.Write("\r\n"); + } + this.Write(" }, " + + " \r\n " + + " hasHeader:"); + this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); + this.Write(",\r\n separatorChar:\'"); + this.Write(this.ToStringHelper.ToStringWithCulture(Separator)); + this.Write(@"' + ); + } + + // (OPTIONAL) Try/test a single prediction by loding the model from the file, first. + private static void TestSinglePrediction(MLContext mlContext) + { + TextLoader textLoader = GetTextLoader(mlContext); + + //Load data to test. Could be any test data. For demonstration purpose train data is used here. + IDataView trainingDataView = textLoader.Read(TrainDataPath); + + var sample = trainingDataView.AsEnumerable(mlContext, false).First(); + + ITransformer trainedModel; + using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + trainedModel = mlContext.Model.Load(stream); + } + + // Create prediction engine related to the loaded trained model + var predEngine= trainedModel.CreatePredictionEngine(mlContext); + + //Score + var resultprediction = predEngine.Predict(sample); + + Console.WriteLine($""=============== Single Prediction ===============""); + Console.WriteLine($""Input: {sample} | Prediction: {resultprediction."); +if("BinaryClassification".Equals(TaskType)){ + this.Write("Prediction"); +}else{ + this.Write("Score"); +} + this.Write("} "); +if("BinaryClassification".Equals(TaskType)){ + this.Write("Probability: {resultprediction.Probability} "); + } + this.Write("\");\r\n Console.WriteLine($\"============================================" + + "======\");\r\n }\r\n\r\n }\r\n\r\n public class SampleClass\r\n {\r\n"); + +foreach(var label in ClassLabels) +{ + this.Write(" "); + this.Write(this.ToStringHelper.ToStringWithCulture(label)); + this.Write("\r\n"); + +} + + this.Write(" }\r\n\r\n public class SamplePrediction\r\n {\r\n"); +if("BinaryClassification".Equals(TaskType)){ + this.Write(@" // ColumnName attribute is used to change the column name from + // its default value, which is the name of the field. + [ColumnName(""PredictedLabel"")] + public bool Prediction { get; set; } + + // No need to specify ColumnName attribute, because the field + // name ""Probability"" is the column name we want. + public float Probability { get; set; } +"); + } +if("MultiClassClassification".Equals(TaskType)){ + this.Write(" public float[] Score { get; set; }\r\n"); +}else{ + this.Write(" public float Score { get; set; }\r\n"); +} + this.Write(" }\r\n\r\n}\r\n"); + return this.GenerationEnvironment.ToString(); + } + +public string Path {get;set;} +public string TestPath {get;set;} +public IList Columns {get;set;} +public bool HasHeader {get;set;} +public string Separator {get;set;} +public IList Transforms {get;set;} +public string Trainer {get;set;} +public string TaskType {get;set;} +public IList ClassLabels {get;set;} +public bool UsingLightGBM {get;set;} +public bool UsingCategorical {get;set;} +public string GeneratedUsings {get;set;} + + } + #region Base class + /// + /// Base class for this transformation + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public class MLCodeGenBase + { + #region Fields + private global::System.Text.StringBuilder generationEnvironmentField; + private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; + private global::System.Collections.Generic.List indentLengthsField; + private string currentIndentField = ""; + private bool endsWithNewline; + private global::System.Collections.Generic.IDictionary sessionField; + #endregion + #region Properties + /// + /// The string builder that generation-time code is using to assemble generated output + /// + protected System.Text.StringBuilder GenerationEnvironment + { + get + { + if ((this.generationEnvironmentField == null)) + { + this.generationEnvironmentField = new global::System.Text.StringBuilder(); + } + return this.generationEnvironmentField; + } + set + { + this.generationEnvironmentField = value; + } + } + /// + /// The error collection for the generation process + /// + public System.CodeDom.Compiler.CompilerErrorCollection Errors + { + get + { + if ((this.errorsField == null)) + { + this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); + } + return this.errorsField; + } + } + /// + /// A list of the lengths of each indent that was added with PushIndent + /// + private System.Collections.Generic.List indentLengths + { + get + { + if ((this.indentLengthsField == null)) + { + this.indentLengthsField = new global::System.Collections.Generic.List(); + } + return this.indentLengthsField; + } + } + /// + /// Gets the current indent we use when adding lines to the output + /// + public string CurrentIndent + { + get + { + return this.currentIndentField; + } + } + /// + /// Current transformation session + /// + public virtual global::System.Collections.Generic.IDictionary Session + { + get + { + return this.sessionField; + } + set + { + this.sessionField = value; + } + } + #endregion + #region Transform-time helpers + /// + /// Write text directly into the generated output + /// + public void Write(string textToAppend) + { + if (string.IsNullOrEmpty(textToAppend)) + { + return; + } + // If we're starting off, or if the previous text ended with a newline, + // we have to append the current indent first. + if (((this.GenerationEnvironment.Length == 0) + || this.endsWithNewline)) + { + this.GenerationEnvironment.Append(this.currentIndentField); + this.endsWithNewline = false; + } + // Check if the current text ends with a newline + if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) + { + this.endsWithNewline = true; + } + // This is an optimization. If the current indent is "", then we don't have to do any + // of the more complex stuff further down. + if ((this.currentIndentField.Length == 0)) + { + this.GenerationEnvironment.Append(textToAppend); + return; + } + // Everywhere there is a newline in the text, add an indent after it + textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); + // If the text ends with a newline, then we should strip off the indent added at the very end + // because the appropriate indent will be added when the next time Write() is called + if (this.endsWithNewline) + { + this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); + } + else + { + this.GenerationEnvironment.Append(textToAppend); + } + } + /// + /// Write text directly into the generated output + /// + public void WriteLine(string textToAppend) + { + this.Write(textToAppend); + this.GenerationEnvironment.AppendLine(); + this.endsWithNewline = true; + } + /// + /// Write formatted text directly into the generated output + /// + public void Write(string format, params object[] args) + { + this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Write formatted text directly into the generated output + /// + public void WriteLine(string format, params object[] args) + { + this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Raise an error + /// + public void Error(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + this.Errors.Add(error); + } + /// + /// Raise a warning + /// + public void Warning(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + error.IsWarning = true; + this.Errors.Add(error); + } + /// + /// Increase the indent + /// + public void PushIndent(string indent) + { + if ((indent == null)) + { + throw new global::System.ArgumentNullException("indent"); + } + this.currentIndentField = (this.currentIndentField + indent); + this.indentLengths.Add(indent.Length); + } + /// + /// Remove the last indent that was added with PushIndent + /// + public string PopIndent() + { + string returnValue = ""; + if ((this.indentLengths.Count > 0)) + { + int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; + this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); + if ((indentLength > 0)) + { + returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); + this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); + } + } + return returnValue; + } + /// + /// Remove any indentation + /// + public void ClearIndent() + { + this.indentLengths.Clear(); + this.currentIndentField = ""; + } + #endregion + #region ToString Helpers + /// + /// Utility class to produce culture-oriented representation of an object as a string. + /// + public class ToStringInstanceHelper + { + private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; + /// + /// Gets or sets format provider to be used by ToStringWithCulture method. + /// + public System.IFormatProvider FormatProvider + { + get + { + return this.formatProviderField ; + } + set + { + if ((value != null)) + { + this.formatProviderField = value; + } + } + } + /// + /// This is called from the compile/run appdomain to convert objects within an expression block to a string + /// + public string ToStringWithCulture(object objectToConvert) + { + if ((objectToConvert == null)) + { + throw new global::System.ArgumentNullException("objectToConvert"); + } + System.Type t = objectToConvert.GetType(); + System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { + typeof(System.IFormatProvider)}); + if ((method == null)) + { + return objectToConvert.ToString(); + } + else + { + return ((string)(method.Invoke(objectToConvert, new object[] { + this.formatProviderField }))); + } + } + } + private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); + /// + /// Helper to produce culture-oriented representation of an object as a string + /// + public ToStringInstanceHelper ToStringHelper + { + get + { + return this.toStringHelperField; + } + } + #endregion + } + #endregion +} diff --git a/src/mlnet/Templates/MLCodeGen.tt b/src/mlnet/Templates/MLCodeGen.tt new file mode 100644 index 0000000000..911bf995f2 --- /dev/null +++ b/src/mlnet/Templates/MLCodeGen.tt @@ -0,0 +1,185 @@ +<#@ template language="C#" linePragmas="false" #> +<#@ assembly name="System.Core" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text" #> +<#@ import namespace="System.Collections.Generic" #> +/* This template shows the building blocks for training a machine learning model with ML.NET (https://aka.ms/mlnet). + * This model predicts whether a sentence has a positive or negative sentiment. It is based on a sample that can be + * found at https://aka.ms/mlnetsentimentanalysis, which provides a more detailed introduction to ML.NET and the scenario. */ + +using System; +using System.IO; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; +using static Microsoft.ML.Data.TextLoader; +<#= GeneratedUsings #> + + +namespace MlnetSample +{ + class Program + { + private static string TrainDataPath = @"<#= Path #>"; + private static string TestDataPath = @"<#= Path #>"; + private static string ModelPath = @"./model.zip"; + + static void Main(string[] args) + { + //Create MLContext to be shared across the model creation workflow objects + //Set a random seed for repeatable/deterministic results across multiple trainings. + var mlContext = new MLContext(seed: 1); + + // Create, Train, Evaluate and Save a model + BuildTrainEvaluateAndSaveModel(mlContext); + ConsoleHelper.ConsoleWriteHeader("=============== End of training processh ==============="); + + // Make a single test prediction loding the model from .ZIP file + TestSinglePrediction(mlContext); + + ConsoleHelper.ConsoleWriteHeader("=============== End of process, hit any key to finish ==============="); + Console.ReadKey(); + + } + + private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) + { + // STEP 1: Common data loading configuration + TextLoader textLoader = GetTextLoader(mlContext); + + IDataView trainingDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); + +<# if(Transforms.Count >0 ) {#> + // STEP 2: Common data process configuration with pipeline data transformations + + var dataProcessPipeline = <# for(int i=0;i0) + { Write("\n .Append("); + } + Write("mlContext.Transforms."+Transforms[i]); + }#>; +<#}#> + + // STEP 3: Set the training algorithm, then create and config the modelBuilder + var trainer = mlContext.<#= TaskType #>.Trainers.<#= Trainer #>; + + // STEP 4: Train the model fitting to the DataSet +<# if(Transforms.Count >0 ) {#> + var trainingPipeline = dataProcessPipeline.Append(trainer); + var trainedModel = trainingPipeline.Fit(trainingDataView); +<# } +else{#> + var trainedModel = trainer.Fit(trainingDataView); +<#}#> + + // STEP 5: Evaluate the model and show accuracy stats + Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); + var predictions = trainedModel.Transform(testDataView); + var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "Label", "Score"); +<#if("BinaryClassification".Equals(TaskType)){ #> + ConsoleHelper.PrintBinaryClassificationMetrics(trainer.ToString(), metrics); +<#}#> +<#if("Regression".Equals(TaskType)){ #> + ConsoleHelper.PrintRegressionMetrics(trainer.ToString(), metrics); +<#}#> + // STEP 6: Save/persist the trained model to a .ZIP file + + using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) + mlContext.Model.Save(trainedModel, fs); + + Console.WriteLine("The model is saved to {0}", ModelPath); + + return trainedModel; + } + + private static TextLoader GetTextLoader(MLContext mlContext) + { + return mlContext.Data.CreateTextReader( + columns: new[] + { +<# foreach(var col in Columns) {#> + <#= col #> +<# } #> + }, + hasHeader:<#= HasHeader.ToString().ToLowerInvariant() #>, + separatorChar:'<#= Separator #>' + ); + } + + // (OPTIONAL) Try/test a single prediction by loding the model from the file, first. + private static void TestSinglePrediction(MLContext mlContext) + { + TextLoader textLoader = GetTextLoader(mlContext); + + //Load data to test. Could be any test data. For demonstration purpose train data is used here. + IDataView trainingDataView = textLoader.Read(TrainDataPath); + + var sample = trainingDataView.AsEnumerable(mlContext, false).First(); + + ITransformer trainedModel; + using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + trainedModel = mlContext.Model.Load(stream); + } + + // Create prediction engine related to the loaded trained model + var predEngine= trainedModel.CreatePredictionEngine(mlContext); + + //Score + var resultprediction = predEngine.Predict(sample); + + Console.WriteLine($"=============== Single Prediction ==============="); + Console.WriteLine($"Input: {sample} | Prediction: {resultprediction.<#if("BinaryClassification".Equals(TaskType)){ #>Prediction<#}else{#>Score<#}#>} <#if("BinaryClassification".Equals(TaskType)){ #>Probability: {resultprediction.Probability} <# } #>"); + Console.WriteLine($"=================================================="); + } + + } + + public class SampleClass + { +<# +foreach(var label in ClassLabels) +{#> + <#=label#> +<# +} +#> + } + + public class SamplePrediction + { +<#if("BinaryClassification".Equals(TaskType)){ #> + // ColumnName attribute is used to change the column name from + // its default value, which is the name of the field. + [ColumnName("PredictedLabel")] + public bool Prediction { get; set; } + + // No need to specify ColumnName attribute, because the field + // name "Probability" is the column name we want. + public float Probability { get; set; } +<# } #> +<#if("MultiClassClassification".Equals(TaskType)){ #> + public float[] Score { get; set; } +<#}else{ #> + public float Score { get; set; } +<#}#> + } + +} +<#+ +public string Path {get;set;} +public string TestPath {get;set;} +public IList Columns {get;set;} +public bool HasHeader {get;set;} +public string Separator {get;set;} +public IList Transforms {get;set;} +public string Trainer {get;set;} +public string TaskType {get;set;} +public IList ClassLabels {get;set;} +public bool UsingLightGBM {get;set;} +public bool UsingCategorical {get;set;} +public string GeneratedUsings {get;set;} +#> diff --git a/src/mlnet/Templates/MLProjectGen.cs b/src/mlnet/Templates/MLProjectGen.cs new file mode 100644 index 0000000000..7155c4e017 --- /dev/null +++ b/src/mlnet/Templates/MLProjectGen.cs @@ -0,0 +1,321 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version: 15.0.0.0 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +namespace mlnet.Templates +{ + using System.Linq; + using System.Text; + using System.Collections.Generic; + using System; + + /// + /// Class to produce the template output + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public partial class MLProjectGen : MLProjectGenBase + { + /// + /// Create the template output + /// + public virtual string TransformText() + { + this.Write(@" + + + Exe + netcoreapp2.1 + False + + + + + + + + + + + +"); + return this.GenerationEnvironment.ToString(); + } + } + #region Base class + /// + /// Base class for this transformation + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public class MLProjectGenBase + { + #region Fields + private global::System.Text.StringBuilder generationEnvironmentField; + private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; + private global::System.Collections.Generic.List indentLengthsField; + private string currentIndentField = ""; + private bool endsWithNewline; + private global::System.Collections.Generic.IDictionary sessionField; + #endregion + #region Properties + /// + /// The string builder that generation-time code is using to assemble generated output + /// + protected System.Text.StringBuilder GenerationEnvironment + { + get + { + if ((this.generationEnvironmentField == null)) + { + this.generationEnvironmentField = new global::System.Text.StringBuilder(); + } + return this.generationEnvironmentField; + } + set + { + this.generationEnvironmentField = value; + } + } + /// + /// The error collection for the generation process + /// + public System.CodeDom.Compiler.CompilerErrorCollection Errors + { + get + { + if ((this.errorsField == null)) + { + this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); + } + return this.errorsField; + } + } + /// + /// A list of the lengths of each indent that was added with PushIndent + /// + private System.Collections.Generic.List indentLengths + { + get + { + if ((this.indentLengthsField == null)) + { + this.indentLengthsField = new global::System.Collections.Generic.List(); + } + return this.indentLengthsField; + } + } + /// + /// Gets the current indent we use when adding lines to the output + /// + public string CurrentIndent + { + get + { + return this.currentIndentField; + } + } + /// + /// Current transformation session + /// + public virtual global::System.Collections.Generic.IDictionary Session + { + get + { + return this.sessionField; + } + set + { + this.sessionField = value; + } + } + #endregion + #region Transform-time helpers + /// + /// Write text directly into the generated output + /// + public void Write(string textToAppend) + { + if (string.IsNullOrEmpty(textToAppend)) + { + return; + } + // If we're starting off, or if the previous text ended with a newline, + // we have to append the current indent first. + if (((this.GenerationEnvironment.Length == 0) + || this.endsWithNewline)) + { + this.GenerationEnvironment.Append(this.currentIndentField); + this.endsWithNewline = false; + } + // Check if the current text ends with a newline + if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) + { + this.endsWithNewline = true; + } + // This is an optimization. If the current indent is "", then we don't have to do any + // of the more complex stuff further down. + if ((this.currentIndentField.Length == 0)) + { + this.GenerationEnvironment.Append(textToAppend); + return; + } + // Everywhere there is a newline in the text, add an indent after it + textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); + // If the text ends with a newline, then we should strip off the indent added at the very end + // because the appropriate indent will be added when the next time Write() is called + if (this.endsWithNewline) + { + this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); + } + else + { + this.GenerationEnvironment.Append(textToAppend); + } + } + /// + /// Write text directly into the generated output + /// + public void WriteLine(string textToAppend) + { + this.Write(textToAppend); + this.GenerationEnvironment.AppendLine(); + this.endsWithNewline = true; + } + /// + /// Write formatted text directly into the generated output + /// + public void Write(string format, params object[] args) + { + this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Write formatted text directly into the generated output + /// + public void WriteLine(string format, params object[] args) + { + this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Raise an error + /// + public void Error(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + this.Errors.Add(error); + } + /// + /// Raise a warning + /// + public void Warning(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + error.IsWarning = true; + this.Errors.Add(error); + } + /// + /// Increase the indent + /// + public void PushIndent(string indent) + { + if ((indent == null)) + { + throw new global::System.ArgumentNullException("indent"); + } + this.currentIndentField = (this.currentIndentField + indent); + this.indentLengths.Add(indent.Length); + } + /// + /// Remove the last indent that was added with PushIndent + /// + public string PopIndent() + { + string returnValue = ""; + if ((this.indentLengths.Count > 0)) + { + int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; + this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); + if ((indentLength > 0)) + { + returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); + this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); + } + } + return returnValue; + } + /// + /// Remove any indentation + /// + public void ClearIndent() + { + this.indentLengths.Clear(); + this.currentIndentField = ""; + } + #endregion + #region ToString Helpers + /// + /// Utility class to produce culture-oriented representation of an object as a string. + /// + public class ToStringInstanceHelper + { + private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; + /// + /// Gets or sets format provider to be used by ToStringWithCulture method. + /// + public System.IFormatProvider FormatProvider + { + get + { + return this.formatProviderField ; + } + set + { + if ((value != null)) + { + this.formatProviderField = value; + } + } + } + /// + /// This is called from the compile/run appdomain to convert objects within an expression block to a string + /// + public string ToStringWithCulture(object objectToConvert) + { + if ((objectToConvert == null)) + { + throw new global::System.ArgumentNullException("objectToConvert"); + } + System.Type t = objectToConvert.GetType(); + System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { + typeof(System.IFormatProvider)}); + if ((method == null)) + { + return objectToConvert.ToString(); + } + else + { + return ((string)(method.Invoke(objectToConvert, new object[] { + this.formatProviderField }))); + } + } + } + private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); + /// + /// Helper to produce culture-oriented representation of an object as a string + /// + public ToStringInstanceHelper ToStringHelper + { + get + { + return this.toStringHelperField; + } + } + #endregion + } + #endregion +} diff --git a/src/mlnet/Templates/MLProjectGen.tt b/src/mlnet/Templates/MLProjectGen.tt new file mode 100644 index 0000000000..0b1ce18ce1 --- /dev/null +++ b/src/mlnet/Templates/MLProjectGen.tt @@ -0,0 +1,22 @@ +<#@ template language="C#" linePragmas="false" #> +<#@ assembly name="System.Core" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text" #> +<#@ import namespace="System.Collections.Generic" #> + + + + Exe + netcoreapp2.1 + False + + + + + + + + + + + diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj new file mode 100644 index 0000000000..b91901ea8d --- /dev/null +++ b/src/mlnet/mlnet.csproj @@ -0,0 +1,69 @@ + + + + Exe + netcoreapp2.1 + true + mlnet + mlgen + mlgen + + + + + + + + + + + + + mscorlib + + + System + + + System.Core + + + + + + + + + + True + True + ConsoleHelper.tt + + + True + True + MLCodeGen.tt + + + True + True + MLProjectGen.tt + + + + + + TextTemplatingFilePreprocessor + ConsoleHelper.cs + + + TextTemplatingFilePreprocessor + MLCodeGen.cs + + + TextTemplatingFilePreprocessor + MLProjectGen.cs + + + + From 4748f037cac7e99bab7d6c8156b16a1991547e7a Mon Sep 17 00:00:00 2001 From: vinodshanbhag <33269336+vinodshanbhag@users.noreply.github.com> Date: Wed, 6 Feb 2019 15:44:08 -0800 Subject: [PATCH 050/211] Use better AutiFit overload and ignore Multiclass (#64) --- src/mlnet/Commands/NewCommand.cs | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/src/mlnet/Commands/NewCommand.cs b/src/mlnet/Commands/NewCommand.cs index febbe8c24e..32ef71edf3 100644 --- a/src/mlnet/Commands/NewCommand.cs +++ b/src/mlnet/Commands/NewCommand.cs @@ -58,15 +58,7 @@ private static (Pipeline, ITransformer) ExploreModels( if (options.MlTask == TaskKind.BinaryClassification) { - var result = context.BinaryClassification.AutoFit(trainData, label, validationData, settings: - new AutoFitSettings() - { - StoppingCriteria = new ExperimentStoppingCriteria() - { - //default need to have a way to override - TimeOutInMinutes = 10 - } - }); + var result = context.BinaryClassification.AutoFit(trainData, label, validationData, 10); result = result.OrderByDescending(t => t.Metrics.Accuracy); var bestIteration = result.FirstOrDefault(); pipelineToDeconstruct = bestIteration.Pipeline; @@ -75,22 +67,14 @@ private static (Pipeline, ITransformer) ExploreModels( if (options.MlTask == TaskKind.Regression) { - var result = context.Regression.AutoFit(trainData, label, validationData, settings: - new AutoFitSettings() - { - StoppingCriteria = new ExperimentStoppingCriteria() - { - //default need to have a way to override - TimeOutInMinutes = 10 - } - }); + var result = context.Regression.AutoFit(trainData, label, validationData, 10); result = result.OrderByDescending(t => t.Metrics.RSquared); var bestIteration = result.FirstOrDefault(); pipelineToDeconstruct = bestIteration.Pipeline; model = bestIteration.Model; } - if (options.MlTask == TaskKind.Regression) + if (options.MlTask == TaskKind.MulticlassClassification) { throw new NotImplementedException(); } From 974b2d7170c68675fa23ec3c468088ef6c52fd10 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 6 Feb 2019 19:09:30 -0800 Subject: [PATCH 051/211] Upgrading CLI to produce ML.NET V.10 APIs and bunch of Refactoring tasks (#65) * Added sequential grouping of columns * reverted the file * upgrade to v .10 and refactoring * added null check * fixed unit tests * review comments * removed the settings change * added regions * fixed unit tests --- .../TrainerExtensions/TrainerExtensionUtil.cs | 4 +- src/Test/TrainerExtensionsTests.cs | 8 +- src/mlnet.Test/CodeGenTests.cs | 56 ++++--- src/mlnet/CodeGenerator/CodeGenerator.cs | 49 +----- .../CodeGenerator/TrainerGeneratorBase.cs | 8 + .../CodeGenerator/TrainerGeneratorFactory.cs | 18 +- src/mlnet/CodeGenerator/TrainerGenerators.cs | 158 +++++++++++------- .../CodeGenerator/TransformGeneratorBase .cs | 6 + .../TransformGeneratorFactory.cs | 2 + .../CodeGenerator/TransformGenerators.cs | 38 +++-- src/mlnet/Commands/NewCommand.cs | 37 +++- src/mlnet/Templates/MLCodeGen.cs | 10 +- src/mlnet/Templates/MLCodeGen.tt | 10 +- src/mlnet/Templates/MLProjectGen.cs | 6 +- src/mlnet/Templates/MLProjectGen.tt | 6 +- 15 files changed, 248 insertions(+), 168 deletions(-) diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs index ff52ecb0b1..2dca8ff9e5 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs @@ -57,7 +57,7 @@ public static Action CreateArgsFunc(IEnumerable sweepParam } private static string[] _lightGbmTreeBoosterParamNames = new[] { "RegLambda", "RegAlpha" }; - private const string LightGbmTreeBoosterPropName = "TreeBooster"; + private const string LightGbmTreeBoosterPropName = "Booster"; public static Action CreateLightGbmArgsFunc(IEnumerable sweepParams) { @@ -92,7 +92,7 @@ private static IDictionary BuildLightGbmPipelineNodeProps(IEnume var parentArgParams = sweepParams.Except(treeBoosterParams); var treeBoosterProps = treeBoosterParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); - var treeBoosterCustomProp = new CustomProperty("LightGbmArguments.TreeBooster.Arguments", treeBoosterProps); + var treeBoosterCustomProp = new CustomProperty("Options.TreeBooster.Arguments", treeBoosterProps); var props = parentArgParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); props[LightGbmTreeBoosterPropName] = treeBoosterCustomProp; diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index 708e22eea3..dc18676a2c 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -73,8 +73,8 @@ public void BuildPipelineNodePropsLightGbm() ""MaxCatThreshold"": 16, ""CatSmooth"": 10, ""CatL2"": 0.5, - ""TreeBooster"": { - ""Name"": ""LightGbmArguments.TreeBooster.Arguments"", + ""Booster"": { + ""Name"": ""Options.TreeBooster.Arguments"", ""Properties"": { ""RegLambda"": 0.5, ""RegAlpha"": 0.5 @@ -114,8 +114,8 @@ public void BuildParameterSetLightGbm() { {"NumBoostRound", 1 }, {"LearningRate", 1 }, - {"TreeBooster", new CustomProperty() { - Name = "Microsoft.ML.LightGBM.TreeBooster", + {"Booster", new CustomProperty() { + Name = "Options.TreeBooster.Arguments", Properties = new Dictionary() { {"RegLambda", 1 }, diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index 0c81e85bc4..3e88141829 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -24,9 +24,10 @@ public void TrainerGeneratorBasicNamedParameterTest() PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); - var actual = codeGenerator.GenerateTrainer(); + var actual = codeGenerator.GenerateTrainerAndUsings(); string expected = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumn:\"Label\",featureColumn:\"Features\");"; - Assert.AreEqual(expected, actual); + Assert.AreEqual(expected, actual.Item1); + Assert.IsNull(actual.Item2); } [TestMethod] @@ -43,9 +44,11 @@ public void TrainerGeneratorBasicAdvancedParameterTest() PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); - var actual = codeGenerator.GenerateTrainer(); - string expected = "LightGbm(new LightGbm.Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"});"; - Assert.AreEqual(expected, actual); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainer = "LightGbm(new Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"});"; + string expectedUsing = "using Microsoft.ML.LightGBM;\r\n"; + Assert.AreEqual(expectedTrainer, actual.Item1); + Assert.AreEqual(expectedUsing, actual.Item2); } [TestMethod] @@ -56,9 +59,25 @@ public void TransformGeneratorBasicTest() PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); - var actual = codeGenerator.GenerateTransforms(); + var actual = codeGenerator.GenerateTransformsAndUsings(); string expected = "Normalize(\"Label\",\"Label\")"; - Assert.AreEqual(expected, actual[0]); + Assert.AreEqual(expected, actual[0].Item1); + Assert.IsNull(actual[0].Item2); + } + + [TestMethod] + public void TransformGeneratorUsingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"Label\",\"Label\")})"; + var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); } [TestMethod] @@ -79,19 +98,6 @@ public void ClassLabelGenerationBasicTest() Assert.AreEqual(expected2, actual[1]); } - [TestMethod] - public void GenerateUsingsBasicTest() - { - var context = new MLContext(); - var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("TypeConverting", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); - Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); - var actual = codeGenerator.GenerateUsings(); - string expected = "using Microsoft.ML.Transforms.Conversions;\r\n"; - Assert.AreEqual(expected, actual); - } - [TestMethod] public void ColumnGenerationTest() { @@ -122,14 +128,16 @@ public void TrainerComplexParameterTest() var elementProperties = new Dictionary() { - {"TreeBooster", new CustomProperty(){Properties= new Dictionary(), Name = "TreeBooster"} }, + {"Booster", new CustomProperty(){Properties= new Dictionary(), Name = "TreeBooster"} }, }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); - var actual = codeGenerator.GenerateTrainer(); - string expected = "LightGbm(new LightGbm.Options(){TreeBooster=new TreeBooster(){},LabelColumn=\"Label\",FeatureColumn=\"Features\"});"; - Assert.AreEqual(expected, actual); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainer = "LightGbm(new Options(){Booster=new TreeBooster(){},LabelColumn=\"Label\",FeatureColumn=\"Features\"});"; + var expectedUsings = "using Microsoft.ML.LightGBM;\r\n"; + Assert.AreEqual(expectedTrainer, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); } diff --git a/src/mlnet/CodeGenerator/CodeGenerator.cs b/src/mlnet/CodeGenerator/CodeGenerator.cs index 90ad06a207..2707c2c6e2 100644 --- a/src/mlnet/CodeGenerator/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CodeGenerator.cs @@ -21,24 +21,25 @@ public CodeGenerator(Pipeline pipelineToDeconstruct, ColumnInferenceResult colum this.pipeline = pipelineToDeconstruct; this.columnInferenceResult = columnInferenceResult; } - internal IList GenerateTransforms() + internal IList<(string, string)> GenerateTransformsAndUsings() { var nodes = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Transform); - var results = new List(); + var results = new List<(string, string)>(); foreach (var node in nodes) { ITransformGenerator generator = TransformGeneratorFactory.GetInstance(node); - results.Add(generator.GenerateTransformer()); + results.Add((generator.GenerateTransformer(), generator.GenerateUsings())); } return results; } - internal string GenerateTrainer() + internal (string, string) GenerateTrainerAndUsings() { ITrainerGenerator generator = TrainerGeneratorFactory.GetInstance(pipeline); var trainerString = generator.GenerateTrainer(); - return trainerString; + var trainerUsings = generator.GenerateUsings(); + return (trainerString, trainerUsings); } internal IList GenerateClassLabels() @@ -149,44 +150,6 @@ private static string ConstructColumnDefinition(Column column) return def; } - internal string GenerateUsings() - { - var trainerNodes = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Trainer); - var transformNodes = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Transform); - - StringBuilder sb = new StringBuilder(); - - foreach (var node in trainerNodes) - { - if (Enum.TryParse(node.Name, out TrainerName nodeName)) - { - if (nodeName == TrainerName.LightGbmBinary || nodeName == TrainerName.LightGbmMulti || nodeName == TrainerName.LightGbmRegression) - { - sb.Append("using Microsoft.ML.LightGBM;"); - sb.Append("\r\n"); - } - } - } - - foreach (var node in transformNodes) - { - if (Enum.TryParse(node.Name, out EstimatorName nodeName)) - { - if (nodeName == EstimatorName.OneHotEncoding || nodeName == EstimatorName.OneHotHashEncoding) - { - sb.Append("using Microsoft.ML.Transforms.Categorical;"); - sb.Append("\r\n"); - } - if (nodeName == EstimatorName.TypeConverting) - { - sb.Append("using Microsoft.ML.Transforms.Conversions;"); - sb.Append("\r\n"); - } - } - } - return sb.ToString(); - } - private static string Normalize(string inputColumn) { //check if first character is int diff --git a/src/mlnet/CodeGenerator/TrainerGeneratorBase.cs b/src/mlnet/CodeGenerator/TrainerGeneratorBase.cs index ca2d04d0a0..20e953c4cf 100644 --- a/src/mlnet/CodeGenerator/TrainerGeneratorBase.cs +++ b/src/mlnet/CodeGenerator/TrainerGeneratorBase.cs @@ -25,6 +25,7 @@ internal abstract class TrainerGeneratorBase : ITrainerGenerator internal abstract string OptionsName { get; } internal abstract string MethodName { get; } internal abstract IDictionary NamedParameters { get; } + internal abstract string Usings { get; } /// /// Generates an instance of TrainerGenerator @@ -136,5 +137,12 @@ public string GenerateTrainer() return sb.ToString(); } + public string GenerateUsings() + { + if (hasAdvancedSettings) + return Usings; + + return null; + } } } diff --git a/src/mlnet/CodeGenerator/TrainerGeneratorFactory.cs b/src/mlnet/CodeGenerator/TrainerGeneratorFactory.cs index 109fee96ed..4e57d6f773 100644 --- a/src/mlnet/CodeGenerator/TrainerGeneratorFactory.cs +++ b/src/mlnet/CodeGenerator/TrainerGeneratorFactory.cs @@ -12,6 +12,7 @@ namespace Microsoft.ML.CLI internal interface ITrainerGenerator { string GenerateTrainer(); + string GenerateUsings(); } internal static class TrainerGeneratorFactory { @@ -33,19 +34,19 @@ internal static ITrainerGenerator GetInstance(Pipeline pipeline) case TrainerName.AveragedPerceptronBinary: return new AveragedPerceptron(node); case TrainerName.FastForestBinary: + return new FastForestClassification(node); case TrainerName.FastForestRegression: - return new FastForest(node); + return new FastForestRegression(node); case TrainerName.FastTreeBinary: + return new FastTreeClassification(node); case TrainerName.FastTreeRegression: - return new FastTree(node); + return new FastTreeRegression(node); case TrainerName.FastTreeTweedieRegression: return new FastTreeTweedie(node); - case TrainerName.LinearSvmBinary: return new LinearSvm(node); case TrainerName.LogisticRegressionBinary: - case TrainerName.LogisticRegressionMulti: - return new LogisticRegression(node); + return new LogisticRegressionBinary(node); case TrainerName.OnlineGradientDescentRegression: return new OnlineGradientDescentRegression(node); case TrainerName.OrdinaryLeastSquaresRegression: @@ -53,10 +54,11 @@ internal static ITrainerGenerator GetInstance(Pipeline pipeline) case TrainerName.PoissonRegression: return new PoissonRegression(node); case TrainerName.SdcaBinary: - case TrainerName.SdcaMulti: - return new StochasticDualCoordinateAscent(node); + return new StochasticDualCoordinateAscentBinary(node); + case TrainerName.SdcaRegression: + return new StochasticDualCoordinateAscentRegression(node); case TrainerName.StochasticGradientDescentBinary: - return new StochasticGradientDescent(node); + return new StochasticGradientDescentClassification(node); case TrainerName.SymSgdBinary: return new SymbolicStochasticGradientDescent(node); default: diff --git a/src/mlnet/CodeGenerator/TrainerGenerators.cs b/src/mlnet/CodeGenerator/TrainerGenerators.cs index a4b5f96551..0149e1bf24 100644 --- a/src/mlnet/CodeGenerator/TrainerGenerators.cs +++ b/src/mlnet/CodeGenerator/TrainerGenerators.cs @@ -15,7 +15,7 @@ internal class LightGbm : TrainerGeneratorBase internal override string MethodName => "LightGbm"; //ClassName of the options to trainer - internal override string OptionsName => "LightGbm.Options"; + internal override string OptionsName => "Options"; //The named parameters to the trainer. internal override IDictionary NamedParameters @@ -35,6 +35,8 @@ internal override IDictionary NamedParameters } } + internal override string Usings => "using Microsoft.ML.LightGBM;\r\n"; + public LightGbm(PipelineNode node) : base(node) { } @@ -46,7 +48,7 @@ internal class AveragedPerceptron : TrainerGeneratorBase internal override string MethodName => "AveragedPerceptron"; //ClassName of the options to trainer - internal override string OptionsName => "AveragedPerceptron.Options"; + internal override string OptionsName => "AveragedPerceptronTrainer.Options"; //The named parameters to the trainer. internal override IDictionary NamedParameters @@ -68,18 +70,17 @@ internal override IDictionary NamedParameters } } + internal override string Usings => "using Microsoft.ML.Trainers.Online;\r\n "; + public AveragedPerceptron(PipelineNode node) : base(node) { } } - internal class FastForest : TrainerGeneratorBase + #region FastTree + internal abstract class FastTreeBase : TrainerGeneratorBase { - //ClassName of the trainer - internal override string MethodName => "FastForest"; - - //ClassName of the options to trainer - internal override string OptionsName => "FastForest.Options"; + internal override string Usings => "using Microsoft.ML.Trainers.FastTree;\r\n"; //The named parameters to the trainer. internal override IDictionary NamedParameters @@ -100,74 +101,76 @@ internal override IDictionary NamedParameters } } - public FastForest(PipelineNode node) : base(node) + public FastTreeBase(PipelineNode node) : base(node) { } } - internal class FastTree : TrainerGeneratorBase + internal class FastForestClassification : FastTreeBase { //ClassName of the trainer - internal override string MethodName => "FastTree"; + internal override string MethodName => "FastForest"; //ClassName of the options to trainer - internal override string OptionsName => "FastTree.Options"; + internal override string OptionsName => "FastForestClassification.Options"; - //The named parameters to the trainer. - internal override IDictionary NamedParameters + public FastForestClassification(PipelineNode node) : base(node) { - get - { - return - new Dictionary() - { - {"WeightColumn","weights" }, - {"LabelColumn","labelColumn" }, - {"FeatureColumn","featureColumn" }, - {"LearningRate","learningRate" }, - {"NumLeaves","numLeaves" }, - {"NumTrees","numTrees" }, - {"MinDatapointsInLeaves","minDatapointsInLeaves" }, - }; - } } + } + + internal class FastForestRegression : FastTreeBase + { + //ClassName of the trainer + internal override string MethodName => "FastForest"; - public FastTree(PipelineNode node) : base(node) + //ClassName of the options to trainer + internal override string OptionsName => "FastForestRegression.Options"; + + public FastForestRegression(PipelineNode node) : base(node) { } } - internal class FastTreeTweedie : TrainerGeneratorBase + internal class FastTreeClassification : FastTreeBase { //ClassName of the trainer - internal override string MethodName => "FastTreeTweedie"; + internal override string MethodName => "FastTree"; //ClassName of the options to trainer - internal override string OptionsName => "FastTreeTweedie.Options"; + internal override string OptionsName => "FastTreeBinaryClassificationTrainer.Options"; - //The named parameters to the trainer. - internal override IDictionary NamedParameters + public FastTreeClassification(PipelineNode node) : base(node) { - get - { - return - new Dictionary() - { - {"Weights","weights" }, - {"LabelColumn","labelColumn" }, - {"FeatureColumn","featureColumn" }, - {"LearningRate","learningRate" }, - {"NumLeaves","numLeaves" }, - {"NumTrees","numTrees" }, - {"MinDatapointsInLeaves","minDatapointsInLeaves" }, - }; - } } + } + + internal class FastTreeRegression : FastTreeBase + { + //ClassName of the trainer + internal override string MethodName => "FastTree"; + + //ClassName of the options to trainer + internal override string OptionsName => "FastTreeRegressionTrainer.Options"; + + public FastTreeRegression(PipelineNode node) : base(node) + { + } + } + + internal class FastTreeTweedie : FastTreeBase + { + //ClassName of the trainer + internal override string MethodName => "FastTreeTweedie"; + + //ClassName of the options to trainer + internal override string OptionsName => "FastTreeTweedieTrainer.Options"; public FastTreeTweedie(PipelineNode node) : base(node) { } } + #endregion internal class LinearSvm : TrainerGeneratorBase { @@ -193,12 +196,14 @@ internal override IDictionary NamedParameters } } + internal override string Usings => "using Microsoft.ML.Trainers.Online;\r\n "; + public LinearSvm(PipelineNode node) : base(node) { } } - internal class LogisticRegression : TrainerGeneratorBase + internal class LogisticRegressionBinary : TrainerGeneratorBase { //ClassName of the trainer internal override string MethodName => "LogisticRegression"; @@ -226,7 +231,9 @@ internal override IDictionary NamedParameters } } - public LogisticRegression(PipelineNode node) : base(node) + internal override string Usings => "using Microsoft.ML.Learners;\r\n"; + + public LogisticRegressionBinary(PipelineNode node) : base(node) { } } @@ -237,7 +244,7 @@ internal class OnlineGradientDescentRegression : TrainerGeneratorBase internal override string MethodName => "OnlineGradientDescent"; //ClassName of the options to trainer - internal override string OptionsName => "OnlineGradientDescent.Options"; + internal override string OptionsName => "OnlineGradientDescentTrainer.Options"; //The named parameters to the trainer. internal override IDictionary NamedParameters @@ -260,6 +267,8 @@ internal override IDictionary NamedParameters } } + internal override string Usings => "using Microsoft.ML.Trainers.Online;\r\n"; + public OnlineGradientDescentRegression(PipelineNode node) : base(node) { } @@ -271,7 +280,7 @@ internal class OrdinaryLeastSquaresRegression : TrainerGeneratorBase internal override string MethodName => "OrdinaryLeastSquares"; //ClassName of the options to trainer - internal override string OptionsName => "OrdinaryLeastSquares.Options"; + internal override string OptionsName => "OlsLinearRegressionTrainer.Options"; //The named parameters to the trainer. internal override IDictionary NamedParameters @@ -288,6 +297,8 @@ internal override IDictionary NamedParameters } } + internal override string Usings => "using Microsoft.ML.Trainers.HalLearners;\r\n"; + public OrdinaryLeastSquaresRegression(PipelineNode node) : base(node) { } @@ -321,19 +332,19 @@ internal override IDictionary NamedParameters } } + internal override string Usings => "using Microsoft.ML.Trainers;\r\n"; + public PoissonRegression(PipelineNode node) : base(node) { } } - internal class StochasticDualCoordinateAscent : TrainerGeneratorBase + #region SDCA + internal abstract class StochasticDualCoordinateAscentBase : TrainerGeneratorBase { //ClassName of the trainer internal override string MethodName => "StochasticDualCoordinateAscent"; - //ClassName of the options to trainer - internal override string OptionsName => "StochasticDualCoordinateAscent.Options"; - //The named parameters to the trainer. internal override IDictionary NamedParameters { @@ -353,18 +364,41 @@ internal override IDictionary NamedParameters } } - public StochasticDualCoordinateAscent(PipelineNode node) : base(node) + internal override string Usings => "using Microsoft.ML.Trainers;\r\n"; + + public StochasticDualCoordinateAscentBase(PipelineNode node) : base(node) + { + } + } + + internal class StochasticDualCoordinateAscentBinary : StochasticDualCoordinateAscentBase + { + //ClassName of the options to trainer + internal override string OptionsName => "SdcaBinaryTrainer.Options"; + + public StochasticDualCoordinateAscentBinary(PipelineNode node) : base(node) + { + } + } + + internal class StochasticDualCoordinateAscentRegression : StochasticDualCoordinateAscentBase + { + //ClassName of the options to trainer + internal override string OptionsName => "SdcaRegressionTrainer.Options"; + + public StochasticDualCoordinateAscentRegression(PipelineNode node) : base(node) { } } + #endregion - internal class StochasticGradientDescent : TrainerGeneratorBase + internal class StochasticGradientDescentClassification : TrainerGeneratorBase { //ClassName of the trainer internal override string MethodName => "StochasticGradientDescent"; //ClassName of the options to trainer - internal override string OptionsName => "StochasticGradientDescent.Options"; + internal override string OptionsName => "StochasticGradientDescentClassificationTrainer.Options"; //The named parameters to the trainer. internal override IDictionary NamedParameters @@ -385,7 +419,9 @@ internal override IDictionary NamedParameters } } - public StochasticGradientDescent(PipelineNode node) : base(node) + internal override string Usings => "using Microsoft.ML.Trainers;\r\n"; + + public StochasticGradientDescentClassification(PipelineNode node) : base(node) { } } @@ -412,6 +448,8 @@ internal override IDictionary NamedParameters } } + internal override string Usings => "using Microsoft.ML.Trainers.SymSgd;\r\n"; + public SymbolicStochasticGradientDescent(PipelineNode node) : base(node) { } diff --git a/src/mlnet/CodeGenerator/TransformGeneratorBase .cs b/src/mlnet/CodeGenerator/TransformGeneratorBase .cs index 76f16be04f..a7c1f064de 100644 --- a/src/mlnet/CodeGenerator/TransformGeneratorBase .cs +++ b/src/mlnet/CodeGenerator/TransformGeneratorBase .cs @@ -15,6 +15,8 @@ internal abstract class TransformGeneratorBase : ITransformGenerator //abstract properties internal abstract string MethodName { get; } + internal abstract string Usings { get; } + protected string[] inputColumns; protected string[] outputColumns; @@ -47,5 +49,9 @@ private void Initialize(PipelineNode node) public abstract string GenerateTransformer(); + public string GenerateUsings() + { + return Usings; + } } } diff --git a/src/mlnet/CodeGenerator/TransformGeneratorFactory.cs b/src/mlnet/CodeGenerator/TransformGeneratorFactory.cs index 1a4d504928..1428efa86b 100644 --- a/src/mlnet/CodeGenerator/TransformGeneratorFactory.cs +++ b/src/mlnet/CodeGenerator/TransformGeneratorFactory.cs @@ -13,6 +13,8 @@ namespace Microsoft.ML.CLI internal interface ITransformGenerator { string GenerateTransformer(); + + string GenerateUsings(); } internal static class TransformGeneratorFactory diff --git a/src/mlnet/CodeGenerator/TransformGenerators.cs b/src/mlnet/CodeGenerator/TransformGenerators.cs index 8247e95627..1239e5947d 100644 --- a/src/mlnet/CodeGenerator/TransformGenerators.cs +++ b/src/mlnet/CodeGenerator/TransformGenerators.cs @@ -17,6 +17,8 @@ public Normalizer(PipelineNode node) : base(node) internal override string MethodName => "Normalize"; + internal override string Usings => null; + public override string GenerateTransformer() { StringBuilder sb = new StringBuilder(); @@ -24,9 +26,9 @@ public override string GenerateTransformer() string outputColumn = outputColumns.Count() > 0 ? outputColumns[0] : throw new Exception($"output columns for the suggested transform: {MethodName} are null"); sb.Append(MethodName); sb.Append("("); - sb.Append(inputColumn); - sb.Append(","); sb.Append(outputColumn); + sb.Append(","); + sb.Append(inputColumn); sb.Append(")"); return sb.ToString(); } @@ -40,6 +42,8 @@ public OneHotEncoding(PipelineNode node) : base(node) internal override string MethodName => "Categorical.OneHotEncoding"; + internal override string Usings => "using Microsoft.ML.Transforms.Categorical;\r\n"; + private string ArgumentsName = "OneHotEncodingEstimator.ColumnInfo"; public override string GenerateTransformer() @@ -53,9 +57,9 @@ public override string GenerateTransformer() sb.Append("new "); sb.Append(ArgumentsName); sb.Append("("); - sb.Append(inputColumns[i]); - sb.Append(","); sb.Append(outputColumns[i]); + sb.Append(","); + sb.Append(inputColumns[i]); sb.Append(")"); sb.Append(","); } @@ -75,6 +79,8 @@ public ColumnConcat(PipelineNode node) : base(node) internal override string MethodName => "Concatenate"; + internal override string Usings => null; + public override string GenerateTransformer() { StringBuilder sb = new StringBuilder(); @@ -105,6 +111,8 @@ public ColumnCopying(PipelineNode node) : base(node) internal override string MethodName => "CopyColumns"; + internal override string Usings => null; + public override string GenerateTransformer() { StringBuilder sb = new StringBuilder(); @@ -128,6 +136,8 @@ public MissingValueIndicator(PipelineNode node) : base(node) internal override string MethodName => "IndicateMissingValues"; + internal override string Usings => null; + public override string GenerateTransformer() { StringBuilder sb = new StringBuilder(); @@ -139,9 +149,9 @@ public override string GenerateTransformer() for (int i = 0; i < inputColumns.Length; i++) { sb.Append("("); - sb.Append(inputColumns[i]); - sb.Append(","); sb.Append(outputColumns[i]); + sb.Append(","); + sb.Append(inputColumns[i]); sb.Append(")"); sb.Append(","); } @@ -160,6 +170,8 @@ public OneHotHashEncoding(PipelineNode node) : base(node) internal override string MethodName => "Categorical.OneHotHashEncoding"; + internal override string Usings => "using Microsoft.ML.Transforms.Categorical;\r\n"; + private string ArgumentsName = "OneHotHashEncodingEstimator.ColumnInfo"; public override string GenerateTransformer() @@ -173,9 +185,9 @@ public override string GenerateTransformer() sb.Append("new "); sb.Append(ArgumentsName); sb.Append("("); - sb.Append(inputColumns[i]); - sb.Append(","); sb.Append(outputColumns[i]); + sb.Append(","); + sb.Append(inputColumns[i]); sb.Append(")"); sb.Append(","); } @@ -195,6 +207,8 @@ public TextFeaturizing(PipelineNode node) : base(node) internal override string MethodName => "Text.FeaturizeText"; + internal override string Usings => null; + public override string GenerateTransformer() { StringBuilder sb = new StringBuilder(); @@ -218,6 +232,8 @@ public TypeConverting(PipelineNode node) : base(node) internal override string MethodName => "Conversion.ConvertType"; + internal override string Usings => null; + private string ArgumentsName = "TypeConvertingTransformer.ColumnInfo"; public override string GenerateTransformer() @@ -231,11 +247,11 @@ public override string GenerateTransformer() sb.Append("new "); sb.Append(ArgumentsName); sb.Append("("); - sb.Append(inputColumns[i]); - sb.Append(","); sb.Append(outputColumns[i]); sb.Append(","); sb.Append("DataKind.R4"); + sb.Append(","); + sb.Append(inputColumns[i]); sb.Append(")"); sb.Append(","); } @@ -255,6 +271,8 @@ public ValueToKeyMapping(PipelineNode node) : base(node) internal override string MethodName => "Conversion.MapValueToKey"; + internal override string Usings => null; + public override string GenerateTransformer() { StringBuilder sb = new StringBuilder(); diff --git a/src/mlnet/Commands/NewCommand.cs b/src/mlnet/Commands/NewCommand.cs index 32ef71edf3..2898f3a7d8 100644 --- a/src/mlnet/Commands/NewCommand.cs +++ b/src/mlnet/Commands/NewCommand.cs @@ -5,6 +5,7 @@ using System; using System.IO; using System.Linq; +using System.Text; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Core.Data; @@ -86,18 +87,44 @@ private static (Pipeline, ITransformer) ExploreModels( private static void RunCodeGen(Options options, ColumnInferenceResult columnInference, Pipeline pipelineToDeconstruct) { var codeGenerator = new CodeGenerator(pipelineToDeconstruct, columnInference); + var trainerAndUsings = codeGenerator.GenerateTrainerAndUsings(); + var transformsAndUsings = codeGenerator.GenerateTransformsAndUsings(); + + //Get trainer code and its associated usings. + var trainer = trainerAndUsings.Item1; + var trainerUsings = trainerAndUsings.Item2; + + //Get transforms code and its associated usings. + var transforms = transformsAndUsings.Select(t => t.Item1).ToList(); + var transformUsings = transformsAndUsings.Select(t => t.Item2).ToList(); + + //Combine all using statements. + StringBuilder usings = new StringBuilder(); + transformUsings.ForEach(t => + { + if (t != null) + usings.Append(t); + }); + usings.Append(trainerUsings); + + //Generate code for columns + var columns = codeGenerator.GenerateColumns(); + + //Generate code for prediction Class labels + var classLabels = codeGenerator.GenerateClassLabels(); + MLCodeGen codeGen = new MLCodeGen() { Path = options.TrainDataset.FullName, TestPath = options.TestDataset.FullName, - Columns = codeGenerator.GenerateColumns(), - Transforms = codeGenerator.GenerateTransforms(), + Columns = columns, + Transforms = transforms, HasHeader = columnInference.HasHeader, Separator = columnInference.Separator, - Trainer = codeGenerator.GenerateTrainer(), + Trainer = trainer, TaskType = options.MlTask.ToString(), - ClassLabels = codeGenerator.GenerateClassLabels(), - GeneratedUsings = codeGenerator.GenerateUsings() + ClassLabels = classLabels, + GeneratedUsings = usings.ToString() }; MLProjectGen csProjGenerator = new MLProjectGen(); diff --git a/src/mlnet/Templates/MLCodeGen.cs b/src/mlnet/Templates/MLCodeGen.cs index 6fbc67978d..7c64ada095 100644 --- a/src/mlnet/Templates/MLCodeGen.cs +++ b/src/mlnet/Templates/MLCodeGen.cs @@ -36,6 +36,7 @@ public virtual string TransformText() using Microsoft.ML.Core.Data; using Microsoft.ML.Data; using static Microsoft.ML.Data.TextLoader; +using Microsoft.Data.DataView; "); this.Write(this.ToStringHelper.ToStringWithCulture(GeneratedUsings)); this.Write("\r\n\r\n\r\nnamespace MlnetSample\r\n{\r\n class Program\r\n {\r\n private static " + @@ -81,7 +82,10 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) if(i>0) { Write("\n .Append("); } - Write("mlContext.Transforms."+Transforms[i]); + Write("mlContext.Transforms."+Transforms[i]); + if(i>0) + { Write(")"); + } } this.Write(";\r\n"); } @@ -124,7 +128,7 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) private static TextLoader GetTextLoader(MLContext mlContext) { - return mlContext.Data.CreateTextReader( + return mlContext.Data.CreateTextLoader( columns: new[] { "); @@ -151,7 +155,7 @@ private static void TestSinglePrediction(MLContext mlContext) //Load data to test. Could be any test data. For demonstration purpose train data is used here. IDataView trainingDataView = textLoader.Read(TrainDataPath); - var sample = trainingDataView.AsEnumerable(mlContext, false).First(); + var sample = mlContext.CreateEnumerable(trainingDataView, false).First(); ITransformer trainedModel; using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) diff --git a/src/mlnet/Templates/MLCodeGen.tt b/src/mlnet/Templates/MLCodeGen.tt index 911bf995f2..60120dcca2 100644 --- a/src/mlnet/Templates/MLCodeGen.tt +++ b/src/mlnet/Templates/MLCodeGen.tt @@ -14,6 +14,7 @@ using Microsoft.ML; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; using static Microsoft.ML.Data.TextLoader; +using Microsoft.Data.DataView; <#= GeneratedUsings #> @@ -59,7 +60,10 @@ namespace MlnetSample if(i>0) { Write("\n .Append("); } - Write("mlContext.Transforms."+Transforms[i]); + Write("mlContext.Transforms."+Transforms[i]); + if(i>0) + { Write(")"); + } }#>; <#}#> @@ -97,7 +101,7 @@ else{#> private static TextLoader GetTextLoader(MLContext mlContext) { - return mlContext.Data.CreateTextReader( + return mlContext.Data.CreateTextLoader( columns: new[] { <# foreach(var col in Columns) {#> @@ -117,7 +121,7 @@ else{#> //Load data to test. Could be any test data. For demonstration purpose train data is used here. IDataView trainingDataView = textLoader.Read(TrainDataPath); - var sample = trainingDataView.AsEnumerable(mlContext, false).First(); + var sample = mlContext.CreateEnumerable(trainingDataView, false).First(); ITransformer trainedModel; using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) diff --git a/src/mlnet/Templates/MLProjectGen.cs b/src/mlnet/Templates/MLProjectGen.cs index 7155c4e017..72bc0db191 100644 --- a/src/mlnet/Templates/MLProjectGen.cs +++ b/src/mlnet/Templates/MLProjectGen.cs @@ -37,9 +37,9 @@ public virtual string TransformText() - - - + + + "); diff --git a/src/mlnet/Templates/MLProjectGen.tt b/src/mlnet/Templates/MLProjectGen.tt index 0b1ce18ce1..b7201bd508 100644 --- a/src/mlnet/Templates/MLProjectGen.tt +++ b/src/mlnet/Templates/MLProjectGen.tt @@ -15,8 +15,8 @@ - - - + + + From bd9b5feaa0ab0a1e01c0e95d5da1eed9a7c60e02 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 7 Feb 2019 00:10:49 -0800 Subject: [PATCH 052/211] Upgrade ML.NET package to 0.10.0 (#70) --- src/AutoML/API/MLContextAutoFitExtensions.cs | 28 +++++----- src/AutoML/API/MLContextDataExtensions.cs | 17 ++++--- src/AutoML/AutoFitter/AutoFitter.cs | 2 +- src/AutoML/AutoFitter/SuggestedPipeline.cs | 1 + src/AutoML/AutoML.csproj | 6 +-- src/AutoML/AutoMlUtils.cs | 12 ++--- .../ColumnGroupingInference.cs | 51 +++++++++---------- .../ColumnInference/ColumnInferenceApi.cs | 8 +-- .../ColumnInference/ColumnTypeInference.cs | 14 ++--- .../ColumnInference/PurposeInference.cs | 9 ++-- .../ColumnInference/TextFileContents.cs | 18 ++++--- .../DatasetDimensions/DatasetDimensionsApi.cs | 4 +- .../DatasetDimensionsUtil.cs | 8 +-- .../EstimatorExtensions.cs | 18 +++---- .../PipelineSuggesters/PipelineSuggester.cs | 2 +- src/AutoML/Sweepers/SmacSweeper.cs | 15 +++--- .../BinaryTrainerExtensions.cs | 51 +++++++++---------- .../MultiTrainerExtensions.cs | 13 +++-- .../RegressionTrainerExtensions.cs | 32 ++++++------ .../TrainerExtensions/TrainerExtensionUtil.cs | 33 +++++------- .../TransformInference/TransformInference.cs | 9 ++-- .../TransformInferenceApi.cs | 2 +- src/AutoML/Utils/ColumnTypeExtensions.cs | 5 +- src/AutoML/Utils/DataKindExtensions.cs | 1 + src/AutoML/Utils/UserInputValidationUtil.cs | 6 +-- src/Samples/AutoTrainBinaryClassification.cs | 3 +- .../AutoTrainMulticlassClassification.cs | 5 +- src/Samples/AutoTrainRegression.cs | 10 ++-- src/Samples/EarlyStopping.cs | 9 ++-- src/Test/AutoFitTests.cs | 6 +-- src/Test/DatasetDimensionsTests.cs | 1 + src/Test/DatasetUtil.cs | 1 + src/Test/TransformInferenceTests.cs | 4 +- src/Test/UserInputValidationTests.cs | 9 ++-- src/mlnet.Test/CodeGenTests.cs | 4 +- src/mlnet/Commands/NewCommand.cs | 6 +-- src/mlnet/Templates/MLCodeGen.cs | 2 +- 37 files changed, 208 insertions(+), 217 deletions(-) diff --git a/src/AutoML/API/MLContextAutoFitExtensions.cs b/src/AutoML/API/MLContextAutoFitExtensions.cs index 219615f0f6..64e7a02ec9 100644 --- a/src/AutoML/API/MLContextAutoFitExtensions.cs +++ b/src/AutoML/API/MLContextAutoFitExtensions.cs @@ -4,16 +4,16 @@ using System; using System.Collections.Generic; -using System.Threading; +using System.Linq; +using Microsoft.Data.DataView; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; -using System.Linq; namespace Microsoft.ML.Auto { public static class RegressionExtensions { - public static IEnumerable> AutoFit(this RegressionContext context, + public static IEnumerable> AutoFit(this RegressionCatalog catalog, IDataView trainData, string label = DefaultColumnNames.Label, IDataView validationData = null, @@ -24,11 +24,11 @@ public static IEnumerable> AutoFit(this Regre var settings = new AutoFitSettings(); settings.StoppingCriteria.TimeOutInMinutes = timeoutInMinutes; - return AutoFit(context, trainData, label, validationData, settings, + return AutoFit(catalog, trainData, label, validationData, settings, preFeaturizers, columnPurposes, null); } - internal static IEnumerable> AutoFit(this RegressionContext context, + internal static IEnumerable> AutoFit(this RegressionCatalog catalog, IDataView trainData, string label = DefaultColumnNames.Label, IDataView validationData = null, @@ -41,7 +41,7 @@ internal static IEnumerable> AutoFit(this Reg if (validationData == null) { - (trainData, validationData) = context.TestValidateSplit(trainData); + (trainData, validationData) = catalog.TestValidateSplit(trainData); } // run autofit & get all pipelines run in that process @@ -55,7 +55,7 @@ internal static IEnumerable> AutoFit(this Reg public static class BinaryClassificationExtensions { - public static IEnumerable> AutoFit(this BinaryClassificationContext context, + public static IEnumerable> AutoFit(this BinaryClassificationCatalog catalog, IDataView trainData, string label = DefaultColumnNames.Label, IDataView validationData = null, @@ -66,11 +66,11 @@ public static IEnumerable> AutoFit( var settings = new AutoFitSettings(); settings.StoppingCriteria.TimeOutInMinutes = timeoutInMinutes; - return AutoFit(context, trainData, label, validationData, settings, + return AutoFit(catalog, trainData, label, validationData, settings, preFeaturizers, columnPurposes, null); } - internal static IEnumerable> AutoFit(this BinaryClassificationContext context, + internal static IEnumerable> AutoFit(this BinaryClassificationCatalog catalog, IDataView trainData, string label = DefaultColumnNames.Label, IDataView validationData = null, @@ -83,7 +83,7 @@ internal static IEnumerable> AutoFi if (validationData == null) { - (trainData, validationData) = context.TestValidateSplit(trainData); + (trainData, validationData) = catalog.TestValidateSplit(trainData); } // run autofit & get all pipelines run in that process @@ -97,7 +97,7 @@ internal static IEnumerable> AutoFi public static class MulticlassExtensions { - public static IEnumerable> AutoFit(this MulticlassClassificationContext context, + public static IEnumerable> AutoFit(this MulticlassClassificationCatalog catalog, IDataView trainData, string label = DefaultColumnNames.Label, IDataView validationData = null, @@ -108,11 +108,11 @@ public static IEnumerable> AutoFit( var settings = new AutoFitSettings(); settings.StoppingCriteria.TimeOutInMinutes = timeoutInMinutes; - return AutoFit(context, trainData, label, validationData, settings, + return AutoFit(catalog, trainData, label, validationData, settings, preFeaturizers, columnPurposes, null); } - internal static IEnumerable> AutoFit(this MulticlassClassificationContext context, + internal static IEnumerable> AutoFit(this MulticlassClassificationCatalog catalog, IDataView trainData, string label = DefaultColumnNames.Label, IDataView validationData = null, @@ -125,7 +125,7 @@ internal static IEnumerable> AutoFi if (validationData == null) { - (trainData, validationData) = context.TestValidateSplit(trainData); + (trainData, validationData) = catalog.TestValidateSplit(trainData); } // run autofit & get all pipelines run in that process diff --git a/src/AutoML/API/MLContextDataExtensions.cs b/src/AutoML/API/MLContextDataExtensions.cs index 315c5d1bdb..1dbb104191 100644 --- a/src/AutoML/API/MLContextDataExtensions.cs +++ b/src/AutoML/API/MLContextDataExtensions.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -12,7 +13,7 @@ namespace Microsoft.ML.Auto public static class DataExtensions { // Delimiter, header, column datatype inference - public static ColumnInferenceResult InferColumns(this DataOperations catalog, string path, string label, + public static ColumnInferenceResult InferColumns(this DataOperationsCatalog catalog, string path, string label, bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) { UserInputValidationUtil.ValidateInferColumnsArgs(path, label); @@ -20,7 +21,7 @@ public static ColumnInferenceResult InferColumns(this DataOperations catalog, st return ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); } - public static IDataView AutoRead(this DataOperations catalog, string path, string label, + public static IDataView AutoRead(this DataOperationsCatalog catalog, string path, string label, bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) { UserInputValidationUtil.ValidateAutoReadArgs(path, label); @@ -30,14 +31,14 @@ public static IDataView AutoRead(this DataOperations catalog, string path, strin return textLoader.Read(path); } - public static TextLoader CreateTextReader(this DataOperations catalog, ColumnInferenceResult columnInferenceResult) + public static TextLoader CreateTextLoader(this DataOperationsCatalog catalog, ColumnInferenceResult columnInferenceResult) { UserInputValidationUtil.ValidateCreateTextReaderArgs(columnInferenceResult); return columnInferenceResult.BuildTextLoader(); } // Task inference - public static MachineLearningTaskType InferTask(this DataOperations catalog, IDataView dataView) + public static MachineLearningTaskType InferTask(this DataOperationsCatalog catalog, IDataView dataView) { throw new NotImplementedException(); } @@ -55,17 +56,17 @@ public class ColumnInferenceResult public readonly IEnumerable<(TextLoader.Column, ColumnPurpose)> Columns; public readonly bool AllowQuotedStrings; public readonly bool SupportSparse; - public readonly string Separator; + public readonly char[] Separators; public readonly bool HasHeader; public readonly bool TrimWhitespace; public ColumnInferenceResult(IEnumerable<(TextLoader.Column, ColumnPurpose)> columns, - bool allowQuotedStrings, bool supportSparse, string separator, bool hasHeader, bool trimWhitespace) + bool allowQuotedStrings, bool supportSparse, char[] separators, bool hasHeader, bool trimWhitespace) { Columns = columns; AllowQuotedStrings = allowQuotedStrings; SupportSparse = supportSparse; - Separator = separator; + Separators = separators; HasHeader = hasHeader; TrimWhitespace = trimWhitespace; } @@ -78,7 +79,7 @@ internal TextLoader BuildTextLoader() AllowQuoting = AllowQuotedStrings, AllowSparse = SupportSparse, Column = Columns.Select(c => c.Item1).ToArray(), - Separator = Separator, + Separators = Separators, HasHeader = HasHeader, TrimWhitespace = TrimWhitespace }); diff --git a/src/AutoML/AutoFitter/AutoFitter.cs b/src/AutoML/AutoFitter/AutoFitter.cs index c57650f044..c0bf524dbc 100644 --- a/src/AutoML/AutoFitter/AutoFitter.cs +++ b/src/AutoML/AutoFitter/AutoFitter.cs @@ -7,7 +7,7 @@ using System.Diagnostics; using System.Linq; using System.Text; -using System.Threading; +using Microsoft.Data.DataView; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; diff --git a/src/AutoML/AutoFitter/SuggestedPipeline.cs b/src/AutoML/AutoFitter/SuggestedPipeline.cs index e2c4f6d49c..9ae605ab3f 100644 --- a/src/AutoML/AutoFitter/SuggestedPipeline.cs +++ b/src/AutoML/AutoFitter/SuggestedPipeline.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.Data.DataView; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; diff --git a/src/AutoML/AutoML.csproj b/src/AutoML/AutoML.csproj index 9b273ddd38..abda483746 100644 --- a/src/AutoML/AutoML.csproj +++ b/src/AutoML/AutoML.csproj @@ -15,8 +15,8 @@ - - - + + + diff --git a/src/AutoML/AutoMlUtils.cs b/src/AutoML/AutoMlUtils.cs index 5182052f4b..3d70f414cc 100644 --- a/src/AutoML/AutoMlUtils.cs +++ b/src/AutoML/AutoMlUtils.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; -using Microsoft.ML.Data; +using Microsoft.Data.DataView; using Microsoft.ML.Transforms; namespace Microsoft.ML.Auto @@ -26,8 +26,7 @@ public static void Assert(bool boolVal, string message = null) public static IDataView Take(this IDataView data, int count) { var context = new MLContext(); - var filter = SkipTakeFilter.Create(context, new SkipTakeFilter.TakeArguments { Count = count }, data); - return new CacheDataView(context, filter, Enumerable.Range(0, data.Schema.Count).ToArray()); + return TakeFilter.Create(context, data, count); } public static IDataView DropLastColumn(this IDataView data) @@ -35,10 +34,10 @@ public static IDataView DropLastColumn(this IDataView data) return new MLContext().Transforms.DropColumns(data.Schema[data.Schema.Count - 1].Name).Fit(data).Transform(data); } - public static (IDataView testData, IDataView validationData) TestValidateSplit(this TrainContextBase context, IDataView trainData) + public static (IDataView testData, IDataView validationData) TestValidateSplit(this TrainCatalogBase catalog, IDataView trainData) { IDataView validationData; - (trainData, validationData) = context.TrainTestSplit(trainData); + (trainData, validationData) = catalog.TrainTestSplit(trainData); trainData = trainData.DropLastColumn(); validationData = validationData.DropLastColumn(); return (trainData, validationData); @@ -47,8 +46,7 @@ public static (IDataView testData, IDataView validationData) TestValidateSplit(t public static IDataView Skip(this IDataView data, int count) { var context = new MLContext(); - var filter = SkipTakeFilter.Create(context, new SkipTakeFilter.SkipArguments { Count = count }, data); - return new CacheDataView(context, filter, Enumerable.Range(0, data.Schema.Count).ToArray()); + return SkipFilter.Create(context, data, count); } public static (string, ColumnType, ColumnPurpose, ColumnDimensions)[] GetColumnInfoTuples(MLContext context, diff --git a/src/AutoML/ColumnInference/ColumnGroupingInference.cs b/src/AutoML/ColumnInference/ColumnGroupingInference.cs index 7bb17316a4..56060f96da 100644 --- a/src/AutoML/ColumnInference/ColumnGroupingInference.cs +++ b/src/AutoML/ColumnInference/ColumnGroupingInference.cs @@ -7,6 +7,7 @@ using System.Linq; using System.Text; using Microsoft.ML.Data; +using static Microsoft.ML.Data.TextLoader; namespace Microsoft.ML.Auto { @@ -25,19 +26,19 @@ public class GroupingColumn public string SuggestedName; public DataKind ItemKind; public ColumnPurpose Purpose; - public string ColumnRangeSelector; + public Range[] Ranges; - public GroupingColumn(string name, DataKind kind, ColumnPurpose purpose, string rangeSelector) + public GroupingColumn(string name, DataKind kind, ColumnPurpose purpose, Range[] ranges) { SuggestedName = name; ItemKind = kind; Purpose = purpose; - ColumnRangeSelector = rangeSelector; + Ranges = ranges; } public TextLoader.Column GenerateTextLoaderColumn() { - return TextLoader.Column.Parse(string.Format("{0}:{1}:{2}", SuggestedName, ItemKind, ColumnRangeSelector)); + return new TextLoader.Column(SuggestedName, ItemKind, Ranges); } } @@ -71,10 +72,10 @@ into g { string name = (hasHeader && g.Count() == 1) ? g.First().Item1.SuggestedName - : GetName(g.Key.ItemType.RawKind(), g.Key.Purpose, result); + : GetName(g.Key.ItemType.GetRawKind(), g.Key.Purpose, result); - string range = GetRange(g.Select(t => t.Item1.ColumnIndex).ToArray()); - result.Add(new GroupingColumn(name, g.Key.ItemType.RawKind(), g.Key.Purpose, range)); + var ranges = GetRanges(g.Select(t => t.Item1.ColumnIndex).ToArray()); + result.Add(new GroupingColumn(name, g.Key.ItemType.GetRawKind(), g.Key.Purpose, ranges)); } return result.ToArray(); @@ -122,33 +123,27 @@ private static string GetPurposeName(ColumnPurpose purpose, DataKind itemKind) } /// - /// Generates a range selector from the array of indices. + /// Generates a collection of Ranges from indices. /// - private static string GetRange(int[] indices) + private static Range[] GetRanges(int[] indices) { - var sb = new StringBuilder(); - var sorted = indices.OrderBy(x => x).ToArray(); - - sb.Append(indices[0]); - var prev = sorted[0]; - var start = sorted[0]; - for (int i = 1; i < sorted.Length; i++) + Array.Sort(indices); + var allRanges = new List(); + var currRange = new Range(indices[0]); + for (int i = 1; i < indices.Length; i++) { - if (sorted[i] > prev + 1) + if (indices[i] == currRange.Max + 1) { - if (prev > start) - sb.AppendFormat("-{0}", prev); - start = sorted[i]; - sb.AppendFormat(",{0}", start); + currRange.Max++; + } + else + { + allRanges.Add(currRange); + currRange = new Range(indices[i]); } - prev = sorted[i]; - } - if (prev > start) - { - sb.AppendFormat("-{0}", prev); } - - return sb.ToString(); + allRanges.Add(currRange); + return allRanges.ToArray(); } } } diff --git a/src/AutoML/ColumnInference/ColumnInferenceApi.cs b/src/AutoML/ColumnInference/ColumnInferenceApi.cs index 992d457631..36686f7a24 100644 --- a/src/AutoML/ColumnInference/ColumnInferenceApi.cs +++ b/src/AutoML/ColumnInference/ColumnInferenceApi.cs @@ -23,13 +23,13 @@ public static ColumnInferenceResult InferColumns(MLContext context, string path, var typedLoaderArgs = new TextLoader.Arguments { Column = loaderColumns, - Separator = splitInference.Separator, + Separators = new[] { splitInference.Separator.Value }, AllowSparse = splitInference.AllowSparse, AllowQuoting = splitInference.AllowQuote, HasHeader = hasHeader, TrimWhitespace = trimWhitespace }; - var textLoader = context.Data.CreateTextReader(typedLoaderArgs); + var textLoader = context.Data.CreateTextLoader(typedLoaderArgs); var dataView = textLoader.Read(path); var purposeInferenceResult = PurposeInference.InferPurposes(context, dataView, label); @@ -52,7 +52,7 @@ public static ColumnInferenceResult InferColumns(MLContext context, string path, inferredColumns[i] = (loaderColumns[i], purposeInferenceResult[i].Purpose); } } - return new ColumnInferenceResult(inferredColumns, splitInference.AllowQuote, splitInference.AllowSparse, splitInference.Separator, hasHeader, trimWhitespace); + return new ColumnInferenceResult(inferredColumns, splitInference.AllowQuote, splitInference.AllowSparse, new char[] { splitInference.Separator.Value }, hasHeader, trimWhitespace); } private static TextFileContents.ColumnSplitResult InferSplit(TextFileSample sample, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse) @@ -86,7 +86,7 @@ private static ColumnTypeInference.InferenceResult InferColumnTypes(MLContext co new ColumnTypeInference.Arguments { ColumnCount = splitInference.ColumnCount, - Separator = splitInference.Separator, + Separator = splitInference.Separator.Value, AllowSparse = splitInference.AllowSparse, AllowQuote = splitInference.AllowQuote, HasHeader = hasHeader diff --git a/src/AutoML/ColumnInference/ColumnTypeInference.cs b/src/AutoML/ColumnInference/ColumnTypeInference.cs index 65188b3dd7..42deda7d94 100644 --- a/src/AutoML/ColumnInference/ColumnTypeInference.cs +++ b/src/AutoML/ColumnInference/ColumnTypeInference.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; +using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -23,7 +24,7 @@ internal static class ColumnTypeInference internal sealed class Arguments { - public string Separator; + public char Separator; public bool AllowSparse; public bool AllowQuote; public int ColumnCount; @@ -244,8 +245,8 @@ private static InferenceResult InferTextFileColumnTypesCore(MLContext env, IMult // read the file as the specified number of text columns var textLoaderArgs = new TextLoader.Arguments { - Column = new[] { TextLoader.Column.Parse(string.Format("C:TX:0-{0}", args.ColumnCount - 1)) }, - Separator = args.Separator, + Column = new[] { new TextLoader.Column("C", DataKind.TX, 0, args.ColumnCount - 1) }, + Separators = new[] { args.Separator }, AllowSparse = args.AllowSparse, AllowQuoting = args.AllowQuote, }; @@ -256,7 +257,7 @@ private static InferenceResult InferTextFileColumnTypesCore(MLContext env, IMult // read all the data into memory. // list items are rows of the dataset. var data = new List[]>(); - using (var cursor = idv.GetRowCursor(col => true)) + using (var cursor = idv.GetRowCursor(idv.Schema)) { var column = cursor.Schema.GetColumnOrNull("C"); int columnIndex = column.Value.Index; @@ -364,9 +365,8 @@ public static TextLoader.Column[] GenerateLoaderColumns(Column[] columns) var loaderColumns = new List(); foreach (var col in columns) { - var loaderColumn = TextLoader.Column.Parse(string.Format("{0}:{1}:{2}", col.SuggestedName, col.ItemType, col.ColumnIndex)); - if (loaderColumn != null && loaderColumn.IsValid()) - loaderColumns.Add(loaderColumn); + var loaderColumn = new TextLoader.Column(col.SuggestedName, col.ItemType.GetRawKind(), col.ColumnIndex); + loaderColumns.Add(loaderColumn); } return loaderColumns.ToArray(); } diff --git a/src/AutoML/ColumnInference/PurposeInference.cs b/src/AutoML/ColumnInference/PurposeInference.cs index 782ed4f3f3..631e43e25a 100644 --- a/src/AutoML/ColumnInference/PurposeInference.cs +++ b/src/AutoML/ColumnInference/PurposeInference.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; +using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -88,7 +89,7 @@ public T[] GetData() return _cachedData as T[]; var results = new List(); - using (var cursor = _data.GetRowCursor(id => id == _columnId)) + using (var cursor = _data.GetRowCursor(new[] { _data.Schema[_columnId] })) { var getter = cursor.GetGetter(_columnId); while (cursor.MoveNext()) @@ -191,7 +192,7 @@ public void Apply(IntermediateColumn[] columns) { if (column.IsPurposeSuggested) continue; - if (column.Type.ItemType().IsNumber()) + if (column.Type.GetItemType().IsNumber()) column.SuggestedPurpose = ColumnPurpose.NumericFeature; } } @@ -205,7 +206,7 @@ public void Apply(IntermediateColumn[] columns) { if (column.IsPurposeSuggested) continue; - if (column.Type.ItemType().IsBool()) + if (column.Type.GetItemType().IsBool()) column.SuggestedPurpose = ColumnPurpose.NumericFeature; } } @@ -219,7 +220,7 @@ public void Apply(IntermediateColumn[] columns) { if (column.IsPurposeSuggested) continue; - if (column.Type.IsVector() && column.Type.ItemType().IsText()) + if (column.Type.IsVector() && column.Type.GetItemType().IsText()) column.SuggestedPurpose = ColumnPurpose.TextFeature; } } diff --git a/src/AutoML/ColumnInference/TextFileContents.cs b/src/AutoML/ColumnInference/TextFileContents.cs index 17b81a8797..c499889a2b 100644 --- a/src/AutoML/ColumnInference/TextFileContents.cs +++ b/src/AutoML/ColumnInference/TextFileContents.cs @@ -18,13 +18,13 @@ internal static class TextFileContents public class ColumnSplitResult { public readonly bool IsSuccess; - public readonly string Separator; + public readonly char? Separator; public readonly int ColumnCount; public bool AllowQuote { get; set; } public bool AllowSparse { get; set; } - public ColumnSplitResult(bool isSuccess, string separator, bool allowQuote, bool allowSparse, int columnCount) + public ColumnSplitResult(bool isSuccess, char? separator, bool allowQuote, bool allowSparse, int columnCount) { IsSuccess = isSuccess; Separator = separator; @@ -59,8 +59,12 @@ from _sep in separatorCandidates { var args = new TextLoader.Arguments { - Column = new[] { TextLoader.Column.Parse("C:TX:0-**") }, - Separator = perm._sep.ToString(), + Column = new[] { new TextLoader.Column() { + Name = "C", + Type = DataKind.TX, + Source = new[] { new TextLoader.Range(0, null) } + } }, + Separators = new[] { perm._sep }, AllowQuoting = perm._allowQuote, AllowSparse = perm._allowSparse }; @@ -77,13 +81,13 @@ from _sep in separatorCandidates private static bool TryParseFile(TextLoader.Arguments args, IMultiStreamSource source, out ColumnSplitResult result) { result = null; - var textLoader = new TextLoader(new MLContext(), args); + var textLoader = new TextLoader(new MLContext(), args, source); var idv = textLoader.Read(source).Take(1000); var columnCounts = new List(); var column = idv.Schema["C"]; var columnIndex = column.Index; - using (var cursor = idv.GetRowCursor(x => x == columnIndex)) + using (var cursor = idv.GetRowCursor(new[] { idv.Schema[columnIndex] })) { var getter = cursor.GetGetter>>(columnIndex); @@ -104,7 +108,7 @@ private static bool TryParseFile(TextLoader.Arguments args, IMultiStreamSource s // disallow single-column case if (mostCommon.Key <= 1) { return false; } - result = new ColumnSplitResult(true, args.Separator, args.AllowQuoting, args.AllowSparse, mostCommon.Key); + result = new ColumnSplitResult(true, args.Separators.First(), args.AllowQuoting, args.AllowSparse, mostCommon.Key); return true; } } diff --git a/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs b/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs index 38df6e5432..d62c2c6b0b 100644 --- a/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs +++ b/src/AutoML/DatasetDimensions/DatasetDimensionsApi.cs @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Microsoft.ML.Data; +using Microsoft.Data.DataView; namespace Microsoft.ML.Auto { @@ -25,7 +25,7 @@ public static ColumnDimensions[] CalcColumnDimensions(IDataView data, PurposeInf int? cardinality = null; bool? hasMissing = null; - var itemType = column.Type.ItemType(); + var itemType = column.Type.GetItemType(); // If categorical text feature, calculate cardinality if (itemType.IsText() && purpose.Purpose == ColumnPurpose.CategoricalFeature) diff --git a/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs b/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs index 2330d31e84..65b9942527 100644 --- a/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs +++ b/src/AutoML/DatasetDimensions/DatasetDimensionsUtil.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; -using System.Linq; +using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -14,7 +14,7 @@ internal static class DatasetDimensionsUtil public static int GetTextColumnCardinality(IDataView data, int colIndex) { var seen = new HashSet(); - using (var cursor = data.GetRowCursor(x => x == colIndex)) + using (var cursor = data.GetRowCursor(new[] { data.Schema[colIndex] })) { var getter = cursor.GetGetter>(colIndex); while (cursor.MoveNext()) @@ -30,7 +30,7 @@ public static int GetTextColumnCardinality(IDataView data, int colIndex) public static bool HasMissingNumericSingleValue(IDataView data, int colIndex) { - using (var cursor = data.GetRowCursor(x => x == colIndex)) + using (var cursor = data.GetRowCursor(new[] { data.Schema[colIndex] })) { var getter = cursor.GetGetter(colIndex); var value = default(Single); @@ -48,7 +48,7 @@ public static bool HasMissingNumericSingleValue(IDataView data, int colIndex) public static bool HasMissingNumericVector(IDataView data, int colIndex) { - using (var cursor = data.GetRowCursor(x => x == colIndex)) + using (var cursor = data.GetRowCursor(new[] { data.Schema[colIndex] })) { var getter = cursor.GetGetter>(colIndex); var value = default(VBuffer); diff --git a/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs b/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs index de7bbb42dd..230f500ff3 100644 --- a/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs +++ b/src/AutoML/EstimatorExtensions/EstimatorExtensions.cs @@ -48,7 +48,7 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string inColumn, string outColumn) { - return context.Transforms.CopyColumns(inColumn, outColumn); + return context.Transforms.CopyColumns(outColumn, inColumn); } } @@ -72,7 +72,7 @@ private static IEstimator CreateInstance(MLContext context, string var pairs = new (string, string)[inColumns.Length]; for (var i = 0; i < inColumns.Length; i++) { - var pair = (inColumns[i], outColumns[i]); + var pair = (outColumns[i], inColumns[i]); pairs[i] = pair; } return context.Transforms.IndicateMissingValues(pairs); @@ -99,7 +99,7 @@ private static IEstimator CreateInstance(MLContext context, string var pairs = new MissingValueReplacingTransformer.ColumnInfo[inColumns.Length]; for (var i = 0; i < inColumns.Length; i++) { - var pair = new MissingValueReplacingTransformer.ColumnInfo(inColumns[i], outColumns[i]); + var pair = new MissingValueReplacingTransformer.ColumnInfo(outColumns[i], inColumns[i]); pairs[i] = pair; } return context.Transforms.ReplaceMissingValues(pairs); @@ -123,7 +123,7 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string inColumn, string outColumn) { - return context.Transforms.Normalize(inColumn, outColumn); + return context.Transforms.Normalize(outColumn, inColumn); } } @@ -147,7 +147,7 @@ public static IEstimator CreateInstance(MLContext context, string[ var cols = new OneHotEncodingEstimator.ColumnInfo[inColumns.Length]; for (var i = 0; i < cols.Length; i++) { - cols[i] = new OneHotEncodingEstimator.ColumnInfo(inColumns[i], outColumns[i]); + cols[i] = new OneHotEncodingEstimator.ColumnInfo(outColumns[i], inColumns[i]); } return context.Transforms.Categorical.OneHotEncoding(cols); } @@ -178,7 +178,7 @@ private static IEstimator CreateInstance(MLContext context, string var cols = new OneHotHashEncodingEstimator.ColumnInfo[inColumns.Length]; for (var i = 0; i < cols.Length; i++) { - cols[i] = new OneHotHashEncodingEstimator.ColumnInfo(inColumns[i], outColumns[i]); + cols[i] = new OneHotHashEncodingEstimator.ColumnInfo(outColumns[i], inColumns[i]); } return context.Transforms.Categorical.OneHotHashEncoding(cols); } @@ -201,7 +201,7 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string inColumn, string outColumn) { - return context.Transforms.Text.FeaturizeText(inColumn, outColumn); + return context.Transforms.Text.FeaturizeText(outColumn, inColumn); } } @@ -225,7 +225,7 @@ private static IEstimator CreateInstance(MLContext context, string var cols = new TypeConvertingTransformer.ColumnInfo[inColumns.Length]; for (var i = 0; i < cols.Length; i++) { - cols[i] = new TypeConvertingTransformer.ColumnInfo(inColumns[i], outColumns[i], DataKind.R4); + cols[i] = new TypeConvertingTransformer.ColumnInfo(outColumns[i], DataKind.R4, inColumns[i]); } return context.Transforms.Conversion.ConvertType(cols); } @@ -248,7 +248,7 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string inColumn, string outColumn) { - return context.Transforms.Conversion.MapValueToKey(inColumn, outColumn); + return context.Transforms.Conversion.MapValueToKey(outColumn, inColumn); } } } diff --git a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs index be1f43daa1..286067774b 100644 --- a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs +++ b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; -using Microsoft.ML.Data; +using Microsoft.Data.DataView; namespace Microsoft.ML.Auto { diff --git a/src/AutoML/Sweepers/SmacSweeper.cs b/src/AutoML/Sweepers/SmacSweeper.cs index 204654ff3e..67fc734fdf 100644 --- a/src/AutoML/Sweepers/SmacSweeper.cs +++ b/src/AutoML/Sweepers/SmacSweeper.cs @@ -2,15 +2,14 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Float = System.Single; - using System; using System.Collections.Generic; using System.Linq; - +using Microsoft.Data.DataView; +using Microsoft.ML.Data; using Microsoft.ML.Trainers.FastTree; using Microsoft.ML.Trainers.FastTree.Internal; -using Microsoft.ML.Data; +using Float = System.Single; namespace Microsoft.ML.Auto { @@ -114,11 +113,11 @@ private FastForestRegressionModelParameters FitModel(IEnumerable pre // Set relevant random forest arguments. // Train random forest. - var trainer = new FastForestRegression(_context, DefaultColumnNames.Label, DefaultColumnNames.Features, advancedSettings: s => + var trainer = _context.Regression.Trainers.FastForest(new FastForestRegression.Options() { - s.FeatureFraction = _args.SplitRatio; - s.NumTrees = _args.NumOfTrees; - s.MinDocumentsInLeafs = _args.NMinForSplit; + FeatureFraction = _args.SplitRatio, + NumTrees = _args.NumOfTrees, + MinDocumentsInLeafs = _args.NMinForSplit }); var predictor = trainer.Train(data).Model; diff --git a/src/AutoML/TrainerExtensions/BinaryTrainerExtensions.cs b/src/AutoML/TrainerExtensions/BinaryTrainerExtensions.cs index d6a70ca856..2b7dda0cd9 100644 --- a/src/AutoML/TrainerExtensions/BinaryTrainerExtensions.cs +++ b/src/AutoML/TrainerExtensions/BinaryTrainerExtensions.cs @@ -2,15 +2,13 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Microsoft.ML.Training; +using System.Collections.Generic; +using Microsoft.ML.Learners; using Microsoft.ML.Trainers; using Microsoft.ML.Trainers.FastTree; using Microsoft.ML.Trainers.Online; using Microsoft.ML.Trainers.SymSgd; -using System; -using System.Collections.Generic; -using Microsoft.ML.LightGBM; -using Microsoft.ML.Learners; +using Microsoft.ML.Training; namespace Microsoft.ML.Auto { @@ -27,19 +25,16 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - Action argsFunc = null; + var options = new AveragedPerceptronTrainer.Options(); if (sweepParams == null) { - argsFunc = (args) => - { - args.NumIterations = DefaultNumIterations; - }; + options.NumIterations = DefaultNumIterations; } else { - argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); + options = TrainerExtensionUtil.CreateOptions(sweepParams); } - return mlContext.BinaryClassification.Trainers.AveragedPerceptron(advancedSettings: argsFunc); + return mlContext.BinaryClassification.Trainers.AveragedPerceptron(options); } } @@ -52,8 +47,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.BinaryClassification.Trainers.FastForest(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.BinaryClassification.Trainers.FastForest(options); } } @@ -66,8 +61,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.BinaryClassification.Trainers.FastTree(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.BinaryClassification.Trainers.FastTree(options); } } @@ -80,8 +75,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - Action argsFunc = TrainerExtensionUtil.CreateLightGbmArgsFunc(sweepParams); - return mlContext.BinaryClassification.Trainers.LightGbm(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateLightGbmOptions(sweepParams); + return mlContext.BinaryClassification.Trainers.LightGbm(options); } } @@ -94,8 +89,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.BinaryClassification.Trainers.LinearSupportVectorMachines(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.BinaryClassification.Trainers.LinearSupportVectorMachines(options); } } @@ -108,8 +103,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.BinaryClassification.Trainers.StochasticDualCoordinateAscent(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.BinaryClassification.Trainers.StochasticDualCoordinateAscent(options); } } @@ -122,8 +117,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.BinaryClassification.Trainers.LogisticRegression(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.BinaryClassification.Trainers.LogisticRegression(options); } } @@ -136,8 +131,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.BinaryClassification.Trainers.StochasticGradientDescent(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.BinaryClassification.Trainers.StochasticGradientDescent(options); } } @@ -150,8 +145,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.BinaryClassification.Trainers.SymbolicStochasticGradientDescent(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.BinaryClassification.Trainers.SymbolicStochasticGradientDescent(options); } } } \ No newline at end of file diff --git a/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs b/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs index ac5846f81c..85adf06905 100644 --- a/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs +++ b/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using Microsoft.ML.Learners; -using Microsoft.ML.LightGBM; using Microsoft.ML.Trainers; using Microsoft.ML.Training; @@ -55,8 +54,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - Action argsFunc = TrainerExtensionUtil.CreateLightGbmArgsFunc(sweepParams); - return mlContext.MulticlassClassification.Trainers.LightGbm(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateLightGbmOptions(sweepParams); + return mlContext.MulticlassClassification.Trainers.LightGbm(options); } } @@ -85,8 +84,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.MulticlassClassification.Trainers.StochasticDualCoordinateAscent(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.MulticlassClassification.Trainers.StochasticDualCoordinateAscent(options); } } @@ -164,8 +163,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.MulticlassClassification.Trainers.LogisticRegression(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.MulticlassClassification.Trainers.LogisticRegression(options); } } } \ No newline at end of file diff --git a/src/AutoML/TrainerExtensions/RegressionTrainerExtensions.cs b/src/AutoML/TrainerExtensions/RegressionTrainerExtensions.cs index f3dbeea238..ccb52bc858 100644 --- a/src/AutoML/TrainerExtensions/RegressionTrainerExtensions.cs +++ b/src/AutoML/TrainerExtensions/RegressionTrainerExtensions.cs @@ -22,8 +22,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.Regression.Trainers.FastForest(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.Regression.Trainers.FastForest(options); } } @@ -36,8 +36,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.Regression.Trainers.FastTree(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.Regression.Trainers.FastTree(options); } } @@ -50,8 +50,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.Regression.Trainers.FastTreeTweedie(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.Regression.Trainers.FastTreeTweedie(options); } } @@ -64,8 +64,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateLightGbmArgsFunc(sweepParams); - return mlContext.Regression.Trainers.LightGbm(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateLightGbmOptions(sweepParams); + return mlContext.Regression.Trainers.LightGbm(options); } } @@ -78,8 +78,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.Regression.Trainers.OnlineGradientDescent(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.Regression.Trainers.OnlineGradientDescent(options); } } @@ -92,8 +92,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.Regression.Trainers.OrdinaryLeastSquares(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.Regression.Trainers.OrdinaryLeastSquares(options); } } @@ -106,8 +106,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.Regression.Trainers.PoissonRegression(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.Regression.Trainers.PoissonRegression(options); } } @@ -120,8 +120,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) { - var argsFunc = TrainerExtensionUtil.CreateArgsFunc(sweepParams); - return mlContext.Regression.Trainers.StochasticDualCoordinateAscent(advancedSettings: argsFunc); + var options = TrainerExtensionUtil.CreateOptions(sweepParams); + return mlContext.Regression.Trainers.StochasticDualCoordinateAscent(options); } } } \ No newline at end of file diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs index 2dca8ff9e5..f4222cb792 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Microsoft.ML.LightGBM; using System; using System.Collections.Generic; using System.Linq; @@ -43,36 +42,30 @@ internal enum TrainerName internal static class TrainerExtensionUtil { - public static Action CreateArgsFunc(IEnumerable sweepParams) + public static T CreateOptions(IEnumerable sweepParams) { - Action argsFunc = null; - if (sweepParams != null) + var options = Activator.CreateInstance(); + if(sweepParams != null) { - argsFunc = (args) => - { - UpdateFields(args, sweepParams); - }; + UpdateFields(options, sweepParams); } - return argsFunc; + return options; } private static string[] _lightGbmTreeBoosterParamNames = new[] { "RegLambda", "RegAlpha" }; private const string LightGbmTreeBoosterPropName = "Booster"; - public static Action CreateLightGbmArgsFunc(IEnumerable sweepParams) + public static LightGBM.Options CreateLightGbmOptions(IEnumerable sweepParams) { - Action argsFunc = null; - if (sweepParams != null) + var options = new LightGBM.Options(); + if(sweepParams != null) { - argsFunc = (args) => - { - var treeBoosterParams = sweepParams.Where(p => _lightGbmTreeBoosterParamNames.Contains(p.Name)); - var parentArgParams = sweepParams.Except(treeBoosterParams); - UpdateFields(args, parentArgParams); - UpdateFields(args.Booster, treeBoosterParams); - }; + var treeBoosterParams = sweepParams.Where(p => _lightGbmTreeBoosterParamNames.Contains(p.Name)); + var parentArgParams = sweepParams.Except(treeBoosterParams); + UpdateFields(options, parentArgParams); + UpdateFields(options.Booster, treeBoosterParams); } - return argsFunc; + return options; } public static IDictionary BuildPipelineNodeProps(TrainerName trainerName, IEnumerable sweepParams) diff --git a/src/AutoML/TransformInference/TransformInference.cs b/src/AutoML/TransformInference/TransformInference.cs index 1b7b0fc1b9..2dc6348645 100644 --- a/src/AutoML/TransformInference/TransformInference.cs +++ b/src/AutoML/TransformInference/TransformInference.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using Microsoft.Data.DataView; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; @@ -260,7 +261,7 @@ public override IEnumerable Apply(IntermediateColumn[] colum foreach (var column in columns) { - if (!column.Type.ItemType().IsBool() || column.Purpose != ColumnPurpose.NumericFeature) + if (!column.Type.GetItemType().IsBool() || column.Purpose != ColumnPurpose.NumericFeature) { continue; } @@ -284,7 +285,7 @@ public override IEnumerable Apply(IntermediateColumn[] colum foreach (var column in columns) { - if (!column.Type.ItemType().IsText() || column.Purpose != ColumnPurpose.TextFeature) + if (!column.Type.GetItemType().IsText() || column.Purpose != ColumnPurpose.TextFeature) continue; var columnDestSuffix = "_tf"; @@ -305,7 +306,7 @@ public override IEnumerable Apply(IntermediateColumn[] colum var columnsWithMissing = new List(); foreach (var column in columns) { - if (column.Type.ItemType() == NumberType.R4 + if (column.Type.GetItemType() == NumberType.R4 && column.Purpose == ColumnPurpose.NumericFeature && column.Dimensions.HasMissing == true) { @@ -350,7 +351,7 @@ public override IEnumerable Apply(IntermediateColumn[] colum columnName.Append(column.ColumnName); columnList.Add(columnName.ToString()); - if (column.Type.ItemType().IsText()) + if (column.Type.GetItemType().IsText()) { colSpecTextOnly.Add(column.ColumnName); } diff --git a/src/AutoML/TransformInference/TransformInferenceApi.cs b/src/AutoML/TransformInference/TransformInferenceApi.cs index 507fb66d7d..d4edb01a96 100644 --- a/src/AutoML/TransformInference/TransformInferenceApi.cs +++ b/src/AutoML/TransformInference/TransformInferenceApi.cs @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; -using Microsoft.ML.Data; +using Microsoft.Data.DataView; namespace Microsoft.ML.Auto { diff --git a/src/AutoML/Utils/ColumnTypeExtensions.cs b/src/AutoML/Utils/ColumnTypeExtensions.cs index bc8783575d..7a8fbdc6a8 100644 --- a/src/AutoML/Utils/ColumnTypeExtensions.cs +++ b/src/AutoML/Utils/ColumnTypeExtensions.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -38,7 +39,7 @@ public static bool IsKnownSizeVector(this ColumnType columnType) return vector.Size > 0; } - public static ColumnType ItemType(this ColumnType columnType) + public static ColumnType GetItemType(this ColumnType columnType) { var vector = columnType as VectorType; if (vector == null) @@ -48,7 +49,7 @@ public static ColumnType ItemType(this ColumnType columnType) return vector.ItemType; } - public static DataKind RawKind(this ColumnType columnType) + public static DataKind GetRawKind(this ColumnType columnType) { columnType.RawType.TryGetDataKind(out var rawKind); return rawKind; diff --git a/src/AutoML/Utils/DataKindExtensions.cs b/src/AutoML/Utils/DataKindExtensions.cs index f8907b479e..ea579a923d 100644 --- a/src/AutoML/Utils/DataKindExtensions.cs +++ b/src/AutoML/Utils/DataKindExtensions.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto diff --git a/src/AutoML/Utils/UserInputValidationUtil.cs b/src/AutoML/Utils/UserInputValidationUtil.cs index c08d9f062b..c6a780e5dd 100644 --- a/src/AutoML/Utils/UserInputValidationUtil.cs +++ b/src/AutoML/Utils/UserInputValidationUtil.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Microsoft.ML.Data; +using Microsoft.Data.DataView; namespace Microsoft.ML.Auto { @@ -41,9 +41,9 @@ public static void ValidateCreateTextReaderArgs(ColumnInferenceResult columnInfe throw new ArgumentNullException($"Column inference result cannot be null", nameof(columnInferenceResult)); } - if (string.IsNullOrEmpty(columnInferenceResult.Separator)) + if (columnInferenceResult.Separators == null || !columnInferenceResult.Separators.Any()) { - throw new ArgumentException($"Column inference result cannot have null or empty separator", nameof(columnInferenceResult)); + throw new ArgumentException($"Column inference result cannot have null or empty separators", nameof(columnInferenceResult)); } if (columnInferenceResult.Columns == null || !columnInferenceResult.Columns.Any()) diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index 0fb630a6a6..da52d9bb8f 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; @@ -21,7 +22,7 @@ public static void Run() MLContext mlContext = new MLContext(seed: 0); // STEP 1: Common data loading configuration - TextLoader textLoader = mlContext.Data.CreateTextReader( + TextLoader textLoader = mlContext.Data.CreateTextLoader( columns: new[] { new TextLoader.Column("Label", DataKind.Bool, 0), diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index 68b30524cc..5d1f5d3a9d 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; @@ -21,10 +22,10 @@ public static void Run() MLContext mlContext = new MLContext(seed: 0); // STEP 1: Common data loading configuration - var textLoader = mlContext.Data.CreateTextReader( + var textLoader = mlContext.Data.CreateTextLoader( new TextLoader.Arguments() { - Separator = "\t", + Separators = new[] { '\t' }, HasHeader = true, Column = new[] { diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index 69e3167a8a..9111fcdfef 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; -using System.Text; -using Microsoft.ML; -using Microsoft.ML.Data; -using Microsoft.ML.Auto; using System.IO; using System.Linq; +using Microsoft.Data.DataView; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.Data; namespace Samples { @@ -22,7 +22,7 @@ public static void Run() MLContext mlContext = new MLContext(seed: 0); // STEP 1: Common data loading configuration - TextLoader textLoader = mlContext.Data.CreateTextReader(new[] + TextLoader textLoader = mlContext.Data.CreateTextLoader(new[] { new TextLoader.Column("VendorId", DataKind.Text, 0), new TextLoader.Column("RateCode", DataKind.Text, 1), diff --git a/src/Samples/EarlyStopping.cs b/src/Samples/EarlyStopping.cs index 751c6ba779..ec4890f032 100644 --- a/src/Samples/EarlyStopping.cs +++ b/src/Samples/EarlyStopping.cs @@ -1,11 +1,8 @@ using System; -using System.Collections.Generic; -using System.Text; +using Microsoft.Data.DataView; using Microsoft.ML; -using Microsoft.ML.Data; using Microsoft.ML.Auto; -using System.IO; -using System.Linq; +using Microsoft.ML.Data; namespace Samples { @@ -22,7 +19,7 @@ public static void Run() MLContext mlContext = new MLContext(seed: 0); // STEP 1: Common data loading configuration - TextLoader textLoader = mlContext.Data.CreateTextReader(new[] + TextLoader textLoader = mlContext.Data.CreateTextLoader(new[] { new TextLoader.Column("VendorId", DataKind.Text, 0), new TextLoader.Column("RateCode", DataKind.Text, 1), diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index 918732f6be..a993ff61c5 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -16,7 +16,7 @@ public void AutoFitBinaryTest() var context = new MLContext(); var dataPath = DatasetUtil.DownloadUciAdultDataset(); var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.UciAdultLabel, true); - var textLoader = context.Data.CreateTextReader(columnInference); + var textLoader = context.Data.CreateTextLoader(columnInference); var trainData = textLoader.Read(dataPath); var validationData = trainData.Take(100); trainData = trainData.Skip(100); @@ -39,7 +39,7 @@ public void AutoFitMultiTest() var context = new MLContext(); var dataPath = DatasetUtil.DownloadTrivialDataset(); var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.TrivialDatasetLabel, true); - var textLoader = context.Data.CreateTextReader(columnInference); + var textLoader = context.Data.CreateTextLoader(columnInference); var trainData = textLoader.Read(dataPath); var validationData = trainData.Take(20); trainData = trainData.Skip(20); @@ -62,7 +62,7 @@ public void AutoFitRegressionTest() var context = new MLContext(); var dataPath = DatasetUtil.DownloadMlNetGeneratedRegressionDataset(); var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.MlNetGeneratedRegressionLabel, true); - var textLoader = context.Data.CreateTextReader(columnInference); + var textLoader = context.Data.CreateTextLoader(columnInference); var trainData = textLoader.Read(dataPath); var validationData = trainData.Take(20); trainData = trainData.Skip(20); diff --git a/src/Test/DatasetDimensionsTests.cs b/src/Test/DatasetDimensionsTests.cs index 1460a0e074..c744922cc2 100644 --- a/src/Test/DatasetDimensionsTests.cs +++ b/src/Test/DatasetDimensionsTests.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.Data.DataView; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; diff --git a/src/Test/DatasetUtil.cs b/src/Test/DatasetUtil.cs index 8e84337c7d..5ec3a5f75a 100644 --- a/src/Test/DatasetUtil.cs +++ b/src/Test/DatasetUtil.cs @@ -5,6 +5,7 @@ using System; using System.IO; using System.Net; +using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto.Test diff --git a/src/Test/TransformInferenceTests.cs b/src/Test/TransformInferenceTests.cs index 5a83c40a17..daf6582e7c 100644 --- a/src/Test/TransformInferenceTests.cs +++ b/src/Test/TransformInferenceTests.cs @@ -2,9 +2,9 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; using System.Collections.Generic; using System.Linq; +using Microsoft.Data.DataView; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -709,7 +709,7 @@ private static void TestApplyTransformsToRealDataView(IEnumerable(), - false, false, "\t", false, false); + false, false, new[] { '\t' }, false, false); UserInputValidationUtil.ValidateCreateTextReaderArgs(input); } @@ -35,7 +36,7 @@ public void ValidateCreateTextReaderArgsNullColumn() { var input = new ColumnInferenceResult( new List<(TextLoader.Column, ColumnPurpose)>() { (null, ColumnPurpose.CategoricalFeature) }, - false, false, "\t", false, false); + false, false, new[] { '\t' }, false, false); UserInputValidationUtil.ValidateCreateTextReaderArgs(input); } @@ -44,8 +45,8 @@ public void ValidateCreateTextReaderArgsNullColumn() public void ValidateCreateTextReaderArgsColumnWithNullSoure() { var input = new ColumnInferenceResult( - new List<(TextLoader.Column, ColumnPurpose)>() { (new TextLoader.Column() { Name = "Column", Type = DataKind.R4 }, ColumnPurpose.CategoricalFeature) }, - false, false, "\t", false, false); + new List<(TextLoader.Column, ColumnPurpose)>() { (new TextLoader.Column() { Name = "Column", Type = DataKind.R4 } , ColumnPurpose.CategoricalFeature) }, + false, false, new[] { '\t' }, false, false); UserInputValidationUtil.ValidateCreateTextReaderArgs(input); } diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index 3e88141829..4a6e285758 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -87,7 +87,7 @@ public void ClassLabelGenerationBasicTest() { (new TextLoader.Column(){ Name = "Label", Source = new TextLoader.Range[]{new TextLoader.Range(0) }, Type = DataKind.Bool }, ColumnPurpose.Label), }; - ColumnInferenceResult result = new ColumnInferenceResult(list, false, false, ",", true, true); + ColumnInferenceResult result = new ColumnInferenceResult(list, false, false, new[] { ',' }, true, true); CodeGenerator codeGenerator = new CodeGenerator(null, result); var actual = codeGenerator.GenerateClassLabels(); @@ -106,7 +106,7 @@ public void ColumnGenerationTest() (new TextLoader.Column(){ Name = "Label", Source = new TextLoader.Range[]{new TextLoader.Range(0) }, Type = DataKind.Bool }, ColumnPurpose.Label), (new TextLoader.Column(){ Name = "Features", Source = new TextLoader.Range[]{new TextLoader.Range(1) }, Type = DataKind.R4 }, ColumnPurpose.NumericFeature), }; - ColumnInferenceResult result = new ColumnInferenceResult(list, false, false, ",", true, true); + ColumnInferenceResult result = new ColumnInferenceResult(list, false, false, new[] { ',' }, true, true); var context = new MLContext(); var elementProperties = new Dictionary(); diff --git a/src/mlnet/Commands/NewCommand.cs b/src/mlnet/Commands/NewCommand.cs index 2898f3a7d8..a39c49cb27 100644 --- a/src/mlnet/Commands/NewCommand.cs +++ b/src/mlnet/Commands/NewCommand.cs @@ -6,7 +6,7 @@ using System.IO; using System.Linq; using System.Text; -using Microsoft.ML; +using Microsoft.Data.DataView; using Microsoft.ML.Auto; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; @@ -23,7 +23,7 @@ internal static void Run(Options options) // For Version 0.1 It is required that the data set has header. var columnInference = context.Data.InferColumns(options.TrainDataset.FullName, label, true, groupColumns: false); - var textLoader = context.Data.CreateTextReader(columnInference); + var textLoader = context.Data.CreateTextLoader(columnInference); var trainData = textLoader.Read(options.TrainDataset.FullName); var validationData = textLoader.Read(options.TestDataset.FullName); @@ -120,7 +120,7 @@ private static void RunCodeGen(Options options, ColumnInferenceResult columnInfe Columns = columns, Transforms = transforms, HasHeader = columnInference.HasHeader, - Separator = columnInference.Separator, + Separator = columnInference.Separators.First(), Trainer = trainer, TaskType = options.MlTask.ToString(), ClassLabels = classLabels, diff --git a/src/mlnet/Templates/MLCodeGen.cs b/src/mlnet/Templates/MLCodeGen.cs index 7c64ada095..f1ed64fe4c 100644 --- a/src/mlnet/Templates/MLCodeGen.cs +++ b/src/mlnet/Templates/MLCodeGen.cs @@ -216,7 +216,7 @@ private static void TestSinglePrediction(MLContext mlContext) public string TestPath {get;set;} public IList Columns {get;set;} public bool HasHeader {get;set;} -public string Separator {get;set;} +public char Separator {get;set;} public IList Transforms {get;set;} public string Trainer {get;set;} public string TaskType {get;set;} From c8160d4edca886b84b7816ef2bf0b9ecfdb16fd8 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 7 Feb 2019 14:28:59 -0800 Subject: [PATCH 053/211] Change in template to accomodate new API of TextLoader (#72) * Added sequential grouping of columns * reverted the file * changed to new API of Text Loader * changed signature * added params for taking additional settings * changes to codegen params * refactoring of templates and fixing errors --- src/mlnet/Commands/NewCommand.cs | 5 +- src/mlnet/Templates/ConsoleHelper.cs | 381 ++++++++++++--------------- src/mlnet/Templates/ConsoleHelper.tt | 70 +---- src/mlnet/Templates/MLCodeGen.cs | 36 +-- src/mlnet/Templates/MLCodeGen.tt | 28 +- 5 files changed, 214 insertions(+), 306 deletions(-) diff --git a/src/mlnet/Commands/NewCommand.cs b/src/mlnet/Commands/NewCommand.cs index a39c49cb27..4f8517aa50 100644 --- a/src/mlnet/Commands/NewCommand.cs +++ b/src/mlnet/Commands/NewCommand.cs @@ -120,7 +120,10 @@ private static void RunCodeGen(Options options, ColumnInferenceResult columnInfe Columns = columns, Transforms = transforms, HasHeader = columnInference.HasHeader, - Separator = columnInference.Separators.First(), + Separators = columnInference.Separators, + AllowQuotedStrings = columnInference.AllowQuotedStrings, + SupportSparse = columnInference.SupportSparse, + TrimWhiteSpace = columnInference.TrimWhitespace, Trainer = trainer, TaskType = options.MlTask.ToString(), ClassLabels = classLabels, diff --git a/src/mlnet/Templates/ConsoleHelper.cs b/src/mlnet/Templates/ConsoleHelper.cs index b24f3e44fb..952c1c4964 100644 --- a/src/mlnet/Templates/ConsoleHelper.cs +++ b/src/mlnet/Templates/ConsoleHelper.cs @@ -25,218 +25,179 @@ public partial class ConsoleHelper : ConsoleHelperBase /// public virtual string TransformText() { - this.Write("using System;\r\nusing System.IO;\r\nusing System.IO.Compression;\r\nusing System.Linq;" + - "\r\nusing Microsoft.ML.Core.Data;\r\nusing System.Collections.Generic;\r\nusing Micros" + - "oft.ML.Data;\r\nusing Microsoft.ML;\r\n\r\nusing System.Reflection;\r\n\r\nnamespace Mlnet" + - "Sample\r\n{\r\n public static class ConsoleHelper\r\n {\r\n public static v" + - "oid PrintPrediction(string prediction)\r\n {\r\n Console.WriteLine" + - "($\"*************************************************\");\r\n Console.Wri" + - "teLine($\"Predicted : {prediction}\");\r\n Console.WriteLine($\"**********" + - "***************************************\");\r\n }\r\n\r\n public static v" + - "oid PrintRegressionPredictionVersusObserved(string predictionCount, string obser" + - "vedCount)\r\n {\r\n Console.WriteLine($\"--------------------------" + - "-----------------------\");\r\n Console.WriteLine($\"Predicted : {predict" + - "ionCount}\");\r\n Console.WriteLine($\"Actual: {observedCount}\");\r\n " + - " Console.WriteLine($\"-------------------------------------------------\"" + - ");\r\n }\r\n\r\n //(CDLTLL-Pending to Fix - Results --> ?)\r\n //\r\n" + - " public static void PrintRegressionMetrics(string name, RegressionMetrics" + - " metrics)\r\n {\r\n Console.WriteLine($\"**************************" + - "***********************\");\r\n Console.WriteLine($\"* Metrics for " + - "{name} regression model \");\r\n Console.WriteLine($\"*-------------" + - "-----------------------------------\");\r\n Console.WriteLine($\"* " + - "LossFn: {metrics.LossFn:0.##}\");\r\n Console.WriteLine($\"* " + - " R2 Score: {metrics.RSquared:0.##}\");\r\n Console.WriteLine($\"* " + - " Absolute loss: {metrics.L1:#.##}\");\r\n Console.WriteLine($\"* " + - " Squared loss: {metrics.L2:#.##}\");\r\n Console.WriteLine($\"* RM" + - "S loss: {metrics.Rms:#.##}\");\r\n Console.WriteLine($\"************" + - "*************************************\");\r\n }\r\n\r\n public static voi" + - "d PrintBinaryClassificationMetrics(string name, CalibratedBinaryClassificationMe" + - "trics metrics)\r\n {\r\n Console.WriteLine($\"*********************" + - "***************************************\");\r\n Console.WriteLine($\"* " + - " Metrics for {name} binary classification model \");\r\n Console" + - ".WriteLine($\"*-----------------------------------------------------------\");\r\n " + - " Console.WriteLine($\"* Accuracy: {metrics.Accuracy:P2}\");\r\n " + - " Console.WriteLine($\"* Auc: {metrics.Auc:P2}\");\r\n Con" + - "sole.WriteLine($\"* Auprc: {metrics.Auprc:P2}\");\r\n Console.Writ" + - "eLine($\"* F1Score: {metrics.F1Score:P2}\");\r\n Console.WriteLine" + - "($\"* LogLoss: {metrics.LogLoss:#.##}\");\r\n Console.WriteLine($\"" + - "* LogLossReduction: {metrics.LogLossReduction:#.##}\");\r\n Conso" + - "le.WriteLine($\"* PositivePrecision: {metrics.PositivePrecision:#.##}\");\r\n" + - " Console.WriteLine($\"* PositiveRecall: {metrics.PositiveRecall" + - ":#.##}\");\r\n Console.WriteLine($\"* NegativePrecision: {metrics." + - "NegativePrecision:#.##}\");\r\n Console.WriteLine($\"* NegativeReca" + - "ll: {metrics.NegativeRecall:P2}\");\r\n Console.WriteLine($\"***********" + - "*************************************************\");\r\n }\r\n\r\n publi" + - "c static void PrintMultiClassClassificationMetrics(string name, MultiClassClassi" + - "fierMetrics metrics)\r\n {\r\n Console.WriteLine($\"***************" + - "*********************************************\");\r\n Console.WriteLine(" + - "$\"* Metrics for {name} multi-class classification model \");\r\n Co" + - "nsole.WriteLine($\"*-----------------------------------------------------------\")" + - ";\r\n Console.WriteLine($\" AccuracyMacro = {metrics.AccuracyMacro:0." + - "####}, a value between 0 and 1, the closer to 1, the better\");\r\n Cons" + - "ole.WriteLine($\" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value betw" + - "een 0 and 1, the closer to 1, the better\");\r\n Console.WriteLine($\" " + - " LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better\");\r\n " + - " Console.WriteLine($\" LogLoss for class 1 = {metrics.PerClassLogLoss[0]:0.###" + - "#}, the closer to 0, the better\");\r\n Console.WriteLine($\" LogLoss " + - "for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to 0, the better\")" + - ";\r\n Console.WriteLine($\" LogLoss for class 3 = {metrics.PerClassLo" + - "gLoss[2]:0.####}, the closer to 0, the better\");\r\n Console.WriteLine(" + - "$\"************************************************************\");\r\n }\r\n\r\n" + - " //(CDLTLL-Pending to Fix - Results --> ?)\r\n\r\n public static void " + - "PrintRegressionFoldsAverageMetrics(string algorithmName,\r\n " + - " (RegressionMetrics metrics,\r\n " + - " ITransformer model,\r\n " + - " IDataView scoredTestData" + - ")[] crossValidationResults\r\n " + - " )\r\n {\r\n var L1 = crossValidationResults.Select(r => r" + - ".metrics.L1);\r\n var L2 = crossValidationResults.Select(r => r.metrics" + - ".L2);\r\n var RMS = crossValidationResults.Select(r => r.metrics.L1);\r\n" + - " var lossFunction = crossValidationResults.Select(r => r.metrics.Loss" + - "Fn);\r\n var R2 = crossValidationResults.Select(r => r.metrics.RSquared" + - ");\r\n\r\n Console.WriteLine($\"******************************************" + - "*******************************************************************\");\r\n " + - " Console.WriteLine($\"* Metrics for {algorithmName} Regression model " + - " \");\r\n Console.WriteLine($\"*----------------------------------------" + - "--------------------------------------------------------------------\");\r\n " + - " Console.WriteLine($\"* Average L1 Loss: {L1.Average():0.###} \");\r\n " + - " Console.WriteLine($\"* Average L2 Loss: {L2.Average():0.###} " + - " \");\r\n Console.WriteLine($\"* Average RMS: {RMS.Average" + - "():0.###} \");\r\n Console.WriteLine($\"* Average Loss Function: {" + - "lossFunction.Average():0.###} \");\r\n Console.WriteLine($\"* Aver" + - "age R-squared: {R2.Average():0.###} \");\r\n Console.WriteLine($\"******" + + this.Write("using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing Micro" + + "soft.Data.DataView;\r\nusing Microsoft.ML.Core.Data;\r\nusing Microsoft.ML.Data;\r\n\r\n" + + "namespace MlnetSample\r\n{\r\n public static class ConsoleHelper\r\n {\r\n " + + "public static void PrintPrediction(string prediction)\r\n {\r\n Co" + + "nsole.WriteLine($\"*************************************************\");\r\n " + + " Console.WriteLine($\"Predicted : {prediction}\");\r\n Console.WriteLi" + + "ne($\"*************************************************\");\r\n }\r\n\r\n " + + "public static void PrintRegressionPredictionVersusObserved(string predictionCoun" + + "t, string observedCount)\r\n {\r\n Console.WriteLine($\"-----------" + + "--------------------------------------\");\r\n Console.WriteLine($\"Predi" + + "cted : {predictionCount}\");\r\n Console.WriteLine($\"Actual: {observ" + + "edCount}\");\r\n Console.WriteLine($\"-----------------------------------" + + "--------------\");\r\n }\r\n\r\n //(CDLTLL-Pending to Fix - Results --> ?" + + ")\r\n //\r\n public static void PrintRegressionMetrics(string name, Re" + + "gressionMetrics metrics)\r\n {\r\n Console.WriteLine($\"***********" + + "**************************************\");\r\n Console.WriteLine($\"* " + + " Metrics for {name} regression model \");\r\n Console.WriteLine($" + + "\"*------------------------------------------------\");\r\n Console.Write" + + "Line($\"* LossFn: {metrics.LossFn:0.##}\");\r\n Console.Writ" + + "eLine($\"* R2 Score: {metrics.RSquared:0.##}\");\r\n Console.W" + + "riteLine($\"* Absolute loss: {metrics.L1:#.##}\");\r\n Console.Writ" + + "eLine($\"* Squared loss: {metrics.L2:#.##}\");\r\n Console.WriteLi" + + "ne($\"* RMS loss: {metrics.Rms:#.##}\");\r\n Console.WriteLine" + + "($\"*************************************************\");\r\n }\r\n\r\n pu" + + "blic static void PrintBinaryClassificationMetrics(string name, CalibratedBinaryC" + + "lassificationMetrics metrics)\r\n {\r\n Console.WriteLine($\"******" + + "******************************************************\");\r\n Console.W" + + "riteLine($\"* Metrics for {name} binary classification model \");\r\n " + + " Console.WriteLine($\"*---------------------------------------------------" + + "--------\");\r\n Console.WriteLine($\"* Accuracy: {metrics.Accuracy" + + ":P2}\");\r\n Console.WriteLine($\"* Auc: {metrics.Auc:P2}\");\r\n" + + " Console.WriteLine($\"* Auprc: {metrics.Auprc:P2}\");\r\n " + + " Console.WriteLine($\"* F1Score: {metrics.F1Score:P2}\");\r\n Co" + + "nsole.WriteLine($\"* LogLoss: {metrics.LogLoss:#.##}\");\r\n Conso" + + "le.WriteLine($\"* LogLossReduction: {metrics.LogLossReduction:#.##}\");\r\n " + + " Console.WriteLine($\"* PositivePrecision: {metrics.PositivePreci" + + "sion:#.##}\");\r\n Console.WriteLine($\"* PositiveRecall: {metrics" + + ".PositiveRecall:#.##}\");\r\n Console.WriteLine($\"* NegativePrecis" + + "ion: {metrics.NegativePrecision:#.##}\");\r\n Console.WriteLine($\"* " + + " NegativeRecall: {metrics.NegativeRecall:P2}\");\r\n Console.WriteLin" + + "e($\"************************************************************\");\r\n }\r\n" + + "\r\n public static void PrintMultiClassClassificationMetrics(string name, M" + + "ultiClassClassifierMetrics metrics)\r\n {\r\n Console.WriteLine($\"" + + "************************************************************\");\r\n Con" + + "sole.WriteLine($\"* Metrics for {name} multi-class classification model \");\r" + + "\n Console.WriteLine($\"*----------------------------------------------" + + "-------------\");\r\n Console.WriteLine($\" AccuracyMacro = {metrics.A" + + "ccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the better\");\r\n " + + " Console.WriteLine($\" AccuracyMicro = {metrics.AccuracyMicro:0.####" + + "}, a value between 0 and 1, the closer to 1, the better\");\r\n Console." + + "WriteLine($\" LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better\"" + + ");\r\n Console.WriteLine($\" LogLoss for class 1 = {metrics.PerClassL" + + "ogLoss[0]:0.####}, the closer to 0, the better\");\r\n Console.WriteLine" + + "($\" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to " + + "0, the better\");\r\n Console.WriteLine($\" LogLoss for class 3 = {met" + + "rics.PerClassLogLoss[2]:0.####}, the closer to 0, the better\");\r\n Con" + + "sole.WriteLine($\"************************************************************\");" + + "\r\n }\r\n\r\n //(CDLTLL-Pending to Fix - Results --> ?)\r\n\r\n publ" + + "ic static void PrintRegressionFoldsAverageMetrics(string algorithmName,\r\n " + + " (RegressionMetrics metric" + + "s,\r\n ITransformer " + + "model,\r\n IDataView" + + " scoredTestData)[] crossValidationResults\r\n " + + " )\r\n {\r\n var L1 = crossValidationResult" + + "s.Select(r => r.metrics.L1);\r\n var L2 = crossValidationResults.Select" + + "(r => r.metrics.L2);\r\n var RMS = crossValidationResults.Select(r => r" + + ".metrics.L1);\r\n var lossFunction = crossValidationResults.Select(r =>" + + " r.metrics.LossFn);\r\n var R2 = crossValidationResults.Select(r => r.m" + + "etrics.RSquared);\r\n\r\n Console.WriteLine($\"***************************" + "********************************************************************************" + - "***********************\");\r\n }\r\n\r\n public static void PrintMulticl" + - "assClassificationFoldsAverageMetrics(\r\n " + - "string algorithmName,\r\n (MultiClassClass" + - "ifierMetrics metrics,\r\n ITransformer mo" + - "del,\r\n IDataView scoredTestData)[] cros" + - "sValResults\r\n " + - " )\r\n {\r\n var metricsInMultipleFolds = crossValResults.S" + - "elect(r => r.metrics);\r\n\r\n var microAccuracyValues = metricsInMultipl" + - "eFolds.Select(m => m.AccuracyMicro);\r\n var microAccuracyAverage = mic" + - "roAccuracyValues.Average();\r\n var microAccuraciesStdDeviation = Calcu" + - "lateStandardDeviation(microAccuracyValues);\r\n var microAccuraciesConf" + - "idenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues);\r\n\r\n " + - " var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMac" + - "ro);\r\n var macroAccuracyAverage = macroAccuracyValues.Average();\r\n " + - " var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccur" + - "acyValues);\r\n var macroAccuraciesConfidenceInterval95 = CalculateConf" + - "idenceInterval95(macroAccuracyValues);\r\n\r\n var logLossValues = metric" + - "sInMultipleFolds.Select(m => m.LogLoss);\r\n var logLossAverage = logLo" + - "ssValues.Average();\r\n var logLossStdDeviation = CalculateStandardDevi" + - "ation(logLossValues);\r\n var logLossConfidenceInterval95 = CalculateCo" + - "nfidenceInterval95(logLossValues);\r\n\r\n var logLossReductionValues = m" + - "etricsInMultipleFolds.Select(m => m.LogLossReduction);\r\n var logLossR" + - "eductionAverage = logLossReductionValues.Average();\r\n var logLossRedu" + - "ctionStdDeviation = CalculateStandardDeviation(logLossReductionValues);\r\n " + - " var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(lo" + - "gLossReductionValues);\r\n\r\n Console.WriteLine($\"**********************" + - "********************************************************************************" + - "*******\");\r\n Console.WriteLine($\"* Metrics for {algorithmName} " + - "Multi-class Classification model \");\r\n Console.WriteLine($\"*----" + + "**\");\r\n Console.WriteLine($\"* Metrics for {algorithmName} Regre" + + "ssion model \");\r\n Console.WriteLine($\"*-------------------------" + "--------------------------------------------------------------------------------" + - "------------------------\");\r\n Console.WriteLine($\"* Average Mic" + - "roAccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccura" + - "ciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidence" + - "Interval95:#.###})\");\r\n Console.WriteLine($\"* Average MacroAccu" + - "racy: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesSt" + - "dDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterv" + - "al95:#.###})\");\r\n Console.WriteLine($\"* Average LogLoss: " + - " {logLossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) " + - "- Confidence Interval 95%: ({logLossConfidenceInterval95:#.###})\");\r\n " + - " Console.WriteLine($\"* Average LogLossReduction: {logLossReductionAverage:" + - "#.###} - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confiden" + - "ce Interval 95%: ({logLossReductionConfidenceInterval95:#.###})\");\r\n " + - "Console.WriteLine($\"************************************************************" + - "*************************************************\");\r\n\r\n }\r\n\r\n pub" + - "lic static double CalculateStandardDeviation(IEnumerable values)\r\n " + - " {\r\n double average = values.Average();\r\n double sumOfSqu" + - "aresOfDifferences = values.Select(val => (val - average) * (val - average)).Sum(" + - ");\r\n double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences /" + - " (values.Count() - 1));\r\n return standardDeviation;\r\n }\r\n\r\n " + - " public static double CalculateConfidenceInterval95(IEnumerable valu" + - "es)\r\n {\r\n double confidenceInterval95 = 1.96 * CalculateStanda" + - "rdDeviation(values) / Math.Sqrt((values.Count() - 1));\r\n return confi" + - "denceInterval95;\r\n }\r\n\r\n public static void PrintClusteringMetrics" + - "(string name, ClusteringMetrics metrics)\r\n {\r\n Console.WriteLi" + - "ne($\"*************************************************\");\r\n Console.W" + - "riteLine($\"* Metrics for {name} clustering model \");\r\n Con" + - "sole.WriteLine($\"*------------------------------------------------\");\r\n " + - " Console.WriteLine($\"* AvgMinScore: {metrics.AvgMinScore}\");\r\n " + - " Console.WriteLine($\"* DBI is: {metrics.Dbi}\");\r\n Console.Writ" + - "eLine($\"*************************************************\");\r\n }\r\n\r\n " + - " public static List PeekDataViewInConsole(MLContex" + - "t mlContext, IDataView dataView, IEstimator pipeline, int numberOf" + - "Rows = 4)\r\n where TObservation : class, new()\r\n {\r\n " + - " string msg = string.Format(\"Peek data in DataView: Showing {0} rows with the co" + - "lumns specified by TObservation class\", numberOfRows.ToString());\r\n C" + - "onsoleWriteHeader(msg);\r\n\r\n //https://github.com/dotnet/machinelearni" + - "ng/blob/master/docs/code/MlNetCookBook.md#how-do-i-look-at-the-intermediate-data" + - "\r\n var transformer = pipeline.Fit(dataView);\r\n var transfo" + - "rmedData = transformer.Transform(dataView);\r\n\r\n // \'transformedData\' " + - "is a \'promise\' of data, lazy-loading. Let\'s actually read it.\r\n // Co" + - "nvert to an enumerable of user-defined type.\r\n var someRows = transfo" + - "rmedData.AsEnumerable(mlContext, reuseRowObject: false)\r\n " + - " // Take the specified number of rows\r\n " + - " .Take(numberOfRows)\r\n " + - " // Convert to List\r\n " + - " .ToList();\r\n\r\n someRows.ForEach(row =>\r\n {\r\n " + - " string lineToPrint = \"Row--> \";\r\n\r\n var fieldsInRow = row.Get" + - "Type().GetFields(BindingFlags.Instance |\r\n " + - " BindingFlags.Static |\r\n " + - " BindingFlags.NonPublic |\r\n " + - " BindingFlags.Public);\r\n foreach (FieldIn" + - "fo field in fieldsInRow)\r\n {\r\n lineToPrint += " + - "$\"| {field.Name}: {field.GetValue(row)}\";\r\n }\r\n Co" + - "nsole.WriteLine(lineToPrint);\r\n });\r\n\r\n return someRows;\r\n" + - " }\r\n\r\n public static List PeekVectorColumnDataInConsole(M" + - "LContext mlContext, string columnName, IDataView dataView, IEstimator pipeline, int numberOfRows = 4)\r\n {\r\n string msg = string." + - "Format(\"Peek data in DataView: : Show {0} rows with just the \'{1}\' column\", numb" + - "erOfRows, columnName);\r\n ConsoleWriteHeader(msg);\r\n\r\n var " + - "transformer = pipeline.Fit(dataView);\r\n var transformedData = transfo" + - "rmer.Transform(dataView);\r\n\r\n // Extract the \'Features\' column.\r\n " + - " var someColumnData = transformedData.GetColumn(mlContext, colum" + - "nName)\r\n .Take(numberOfRo" + - "ws).ToList();\r\n\r\n // print to console the peeked rows\r\n so" + - "meColumnData.ForEach(row =>\r\n {\r\n String concatColumn " + - "= String.Empty;\r\n foreach (float f in row)\r\n {\r\n " + - " concatColumn += f.ToString();\r\n }\r\n " + - " Console.WriteLine(concatColumn);\r\n });\r\n\r\n return some" + - "ColumnData;\r\n }\r\n\r\n public static void ConsoleWriteHeader(params s" + - "tring[] lines)\r\n {\r\n var defaultColor = Console.ForegroundColo" + - "r;\r\n Console.ForegroundColor = ConsoleColor.Yellow;\r\n Cons" + - "ole.WriteLine(\" \");\r\n foreach (var line in lines)\r\n {\r\n " + - " Console.WriteLine(line);\r\n }\r\n var maxLength " + - "= lines.Select(x => x.Length).Max();\r\n Console.WriteLine(new string(\'" + - "#\', maxLength));\r\n Console.ForegroundColor = defaultColor;\r\n }" + - "\r\n\r\n public static void ConsoleWriterSection(params string[] lines)\r\n " + - " {\r\n var defaultColor = Console.ForegroundColor;\r\n Cons" + - "ole.ForegroundColor = ConsoleColor.Blue;\r\n Console.WriteLine(\" \");\r\n " + - " foreach (var line in lines)\r\n {\r\n Console.W" + - "riteLine(line);\r\n }\r\n var maxLength = lines.Select(x => x." + - "Length).Max();\r\n Console.WriteLine(new string(\'-\', maxLength));\r\n " + - " Console.ForegroundColor = defaultColor;\r\n }\r\n\r\n public sta" + - "tic void ConsolePressAnyKey()\r\n {\r\n var defaultColor = Console" + - ".ForegroundColor;\r\n Console.ForegroundColor = ConsoleColor.Green;\r\n " + - " Console.WriteLine(\" \");\r\n Console.WriteLine(\"Press any key " + - "to finish.\");\r\n Console.ReadKey();\r\n }\r\n\r\n public stati" + - "c void ConsoleWriteException(params string[] lines)\r\n {\r\n var " + - "defaultColor = Console.ForegroundColor;\r\n Console.ForegroundColor = C" + - "onsoleColor.Red;\r\n const string exceptionTitle = \"EXCEPTION\";\r\n " + - " Console.WriteLine(\" \");\r\n Console.WriteLine(exceptionTitle);\r\n " + - " Console.WriteLine(new string(\'#\', exceptionTitle.Length));\r\n " + - " Console.ForegroundColor = defaultColor;\r\n foreach (var line in lin" + - "es)\r\n {\r\n Console.WriteLine(line);\r\n }\r\n " + - " }\r\n\r\n public static void ConsoleWriteWarning(params string[] lines)\r" + - "\n {\r\n var defaultColor = Console.ForegroundColor;\r\n " + - " Console.ForegroundColor = ConsoleColor.DarkMagenta;\r\n const string w" + - "arningTitle = \"WARNING\";\r\n Console.WriteLine(\" \");\r\n Conso" + - "le.WriteLine(warningTitle);\r\n Console.WriteLine(new string(\'#\', warni" + - "ngTitle.Length));\r\n Console.ForegroundColor = defaultColor;\r\n " + - " foreach (var line in lines)\r\n {\r\n Console.WriteLin" + - "e(line);\r\n }\r\n }\r\n\r\n }\r\n}"); + "---\");\r\n Console.WriteLine($\"* Average L1 Loss: {L1.Average(" + + "):0.###} \");\r\n Console.WriteLine($\"* Average L2 Loss: {L2.Av" + + "erage():0.###} \");\r\n Console.WriteLine($\"* Average RMS: " + + " {RMS.Average():0.###} \");\r\n Console.WriteLine($\"* Average L" + + "oss Function: {lossFunction.Average():0.###} \");\r\n Console.WriteLine" + + "($\"* Average R-squared: {R2.Average():0.###} \");\r\n Console.Wri" + + "teLine($\"***********************************************************************" + + "**************************************\");\r\n }\r\n\r\n public static vo" + + "id PrintMulticlassClassificationFoldsAverageMetrics(\r\n " + + " string algorithmName,\r\n (" + + "MultiClassClassifierMetrics metrics,\r\n " + + "ITransformer model,\r\n IDataView scoredT" + + "estData)[] crossValResults\r\n " + + " )\r\n {\r\n var metricsInMultipleFolds = cr" + + "ossValResults.Select(r => r.metrics);\r\n\r\n var microAccuracyValues = m" + + "etricsInMultipleFolds.Select(m => m.AccuracyMicro);\r\n var microAccura" + + "cyAverage = microAccuracyValues.Average();\r\n var microAccuraciesStdDe" + + "viation = CalculateStandardDeviation(microAccuracyValues);\r\n var micr" + + "oAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyVal" + + "ues);\r\n\r\n var macroAccuracyValues = metricsInMultipleFolds.Select(m =" + + "> m.AccuracyMacro);\r\n var macroAccuracyAverage = macroAccuracyValues." + + "Average();\r\n var macroAccuraciesStdDeviation = CalculateStandardDevia" + + "tion(macroAccuracyValues);\r\n var macroAccuraciesConfidenceInterval95 " + + "= CalculateConfidenceInterval95(macroAccuracyValues);\r\n\r\n var logLoss" + + "Values = metricsInMultipleFolds.Select(m => m.LogLoss);\r\n var logLoss" + + "Average = logLossValues.Average();\r\n var logLossStdDeviation = Calcul" + + "ateStandardDeviation(logLossValues);\r\n var logLossConfidenceInterval9" + + "5 = CalculateConfidenceInterval95(logLossValues);\r\n\r\n var logLossRedu" + + "ctionValues = metricsInMultipleFolds.Select(m => m.LogLossReduction);\r\n " + + " var logLossReductionAverage = logLossReductionValues.Average();\r\n " + + "var logLossReductionStdDeviation = CalculateStandardDeviation(logLossReductionVa" + + "lues);\r\n var logLossReductionConfidenceInterval95 = CalculateConfiden" + + "ceInterval95(logLossReductionValues);\r\n\r\n Console.WriteLine($\"*******" + + "********************************************************************************" + + "**********************\");\r\n Console.WriteLine($\"* Metrics for {" + + "algorithmName} Multi-class Classification model \");\r\n Console.Wr" + + "iteLine($\"*---------------------------------------------------------------------" + + "---------------------------------------\");\r\n Console.WriteLine($\"* " + + " Average MicroAccuracy: {microAccuracyAverage:0.###} - Standard deviation" + + ": ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccur" + + "aciesConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"* Av" + + "erage MacroAccuracy: {macroAccuracyAverage:0.###} - Standard deviation: ({ma" + + "croAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesC" + + "onfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"* Average " + + "LogLoss: {logLossAverage:#.###} - Standard deviation: ({logLossStdDevi" + + "ation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInterval95:#.###})\"" + + ");\r\n Console.WriteLine($\"* Average LogLossReduction: {logLossRe" + + "ductionAverage:#.###} - Standard deviation: ({logLossReductionStdDeviation:#.##" + + "#}) - Confidence Interval 95%: ({logLossReductionConfidenceInterval95:#.###})\")" + + ";\r\n Console.WriteLine($\"*********************************************" + + "****************************************************************\");\r\n\r\n }" + + "\r\n\r\n public static double CalculateStandardDeviation(IEnumerable " + + "values)\r\n {\r\n double average = values.Average();\r\n " + + "double sumOfSquaresOfDifferences = values.Select(val => (val - average) * (val -" + + " average)).Sum();\r\n double standardDeviation = Math.Sqrt(sumOfSquares" + + "OfDifferences / (values.Count() - 1));\r\n return standardDeviation;\r\n " + + " }\r\n\r\n public static double CalculateConfidenceInterval95(IEnumerab" + + "le values)\r\n {\r\n double confidenceInterval95 = 1.96 * " + + "CalculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1));\r\n " + + " return confidenceInterval95;\r\n }\r\n\r\n public static void PrintCl" + + "usteringMetrics(string name, ClusteringMetrics metrics)\r\n {\r\n " + + "Console.WriteLine($\"*************************************************\");\r\n " + + " Console.WriteLine($\"* Metrics for {name} clustering model \");\r\n" + + " Console.WriteLine($\"*-----------------------------------------------" + + "-\");\r\n Console.WriteLine($\"* AvgMinScore: {metrics.AvgMinScore}" + + "\");\r\n Console.WriteLine($\"* DBI is: {metrics.Dbi}\");\r\n " + + " Console.WriteLine($\"*************************************************\");\r\n " + + " }\r\n\r\n public static void ConsoleWriteHeader(params string[] lines)\r\n" + + " {\r\n var defaultColor = Console.ForegroundColor;\r\n " + + "Console.ForegroundColor = ConsoleColor.Yellow;\r\n Console.WriteLine(\" " + + "\");\r\n foreach (var line in lines)\r\n {\r\n Con" + + "sole.WriteLine(line);\r\n }\r\n var maxLength = lines.Select(x" + + " => x.Length).Max();\r\n Console.WriteLine(new string(\'#\', maxLength));" + + "\r\n Console.ForegroundColor = defaultColor;\r\n }\r\n\r\n publ" + + "ic static void ConsoleWriterSection(params string[] lines)\r\n {\r\n " + + " var defaultColor = Console.ForegroundColor;\r\n Console.ForegroundCo" + + "lor = ConsoleColor.Blue;\r\n Console.WriteLine(\" \");\r\n forea" + + "ch (var line in lines)\r\n {\r\n Console.WriteLine(line);\r" + + "\n }\r\n var maxLength = lines.Select(x => x.Length).Max();\r\n" + + " Console.WriteLine(new string(\'-\', maxLength));\r\n Console." + + "ForegroundColor = defaultColor;\r\n }\r\n\r\n public static void Console" + + "PressAnyKey()\r\n {\r\n var defaultColor = Console.ForegroundColor" + + ";\r\n Console.ForegroundColor = ConsoleColor.Green;\r\n Consol" + + "e.WriteLine(\" \");\r\n Console.WriteLine(\"Press any key to finish.\");\r\n " + + " Console.ReadKey();\r\n }\r\n\r\n public static void ConsoleWr" + + "iteException(params string[] lines)\r\n {\r\n var defaultColor = C" + + "onsole.ForegroundColor;\r\n Console.ForegroundColor = ConsoleColor.Red;" + + "\r\n const string exceptionTitle = \"EXCEPTION\";\r\n Console.Wr" + + "iteLine(\" \");\r\n Console.WriteLine(exceptionTitle);\r\n Conso" + + "le.WriteLine(new string(\'#\', exceptionTitle.Length));\r\n Console.Foreg" + + "roundColor = defaultColor;\r\n foreach (var line in lines)\r\n " + + " {\r\n Console.WriteLine(line);\r\n }\r\n }\r\n\r\n " + + " public static void ConsoleWriteWarning(params string[] lines)\r\n {\r\n " + + " var defaultColor = Console.ForegroundColor;\r\n Console.Foregro" + + "undColor = ConsoleColor.DarkMagenta;\r\n const string warningTitle = \"W" + + "ARNING\";\r\n Console.WriteLine(\" \");\r\n Console.WriteLine(war" + + "ningTitle);\r\n Console.WriteLine(new string(\'#\', warningTitle.Length))" + + ";\r\n Console.ForegroundColor = defaultColor;\r\n foreach (var" + + " line in lines)\r\n {\r\n Console.WriteLine(line);\r\n " + + " }\r\n }\r\n\r\n }\r\n}"); return this.GenerationEnvironment.ToString(); } } diff --git a/src/mlnet/Templates/ConsoleHelper.tt b/src/mlnet/Templates/ConsoleHelper.tt index 171c589939..5572fdcf60 100644 --- a/src/mlnet/Templates/ConsoleHelper.tt +++ b/src/mlnet/Templates/ConsoleHelper.tt @@ -4,15 +4,11 @@ <#@ import namespace="System.Text" #> <#@ import namespace="System.Collections.Generic" #> using System; -using System.IO; -using System.IO.Compression; +using System.Collections.Generic; using System.Linq; +using Microsoft.Data.DataView; using Microsoft.ML.Core.Data; -using System.Collections.Generic; using Microsoft.ML.Data; -using Microsoft.ML; - -using System.Reflection; namespace MlnetSample { @@ -169,68 +165,6 @@ namespace MlnetSample Console.WriteLine($"*************************************************"); } - public static List PeekDataViewInConsole(MLContext mlContext, IDataView dataView, IEstimator pipeline, int numberOfRows = 4) - where TObservation : class, new() - { - string msg = string.Format("Peek data in DataView: Showing {0} rows with the columns specified by TObservation class", numberOfRows.ToString()); - ConsoleWriteHeader(msg); - - //https://github.com/dotnet/machinelearning/blob/master/docs/code/MlNetCookBook.md#how-do-i-look-at-the-intermediate-data - var transformer = pipeline.Fit(dataView); - var transformedData = transformer.Transform(dataView); - - // 'transformedData' is a 'promise' of data, lazy-loading. Let's actually read it. - // Convert to an enumerable of user-defined type. - var someRows = transformedData.AsEnumerable(mlContext, reuseRowObject: false) - // Take the specified number of rows - .Take(numberOfRows) - // Convert to List - .ToList(); - - someRows.ForEach(row => - { - string lineToPrint = "Row--> "; - - var fieldsInRow = row.GetType().GetFields(BindingFlags.Instance | - BindingFlags.Static | - BindingFlags.NonPublic | - BindingFlags.Public); - foreach (FieldInfo field in fieldsInRow) - { - lineToPrint += $"| {field.Name}: {field.GetValue(row)}"; - } - Console.WriteLine(lineToPrint); - }); - - return someRows; - } - - public static List PeekVectorColumnDataInConsole(MLContext mlContext, string columnName, IDataView dataView, IEstimator pipeline, int numberOfRows = 4) - { - string msg = string.Format("Peek data in DataView: : Show {0} rows with just the '{1}' column", numberOfRows, columnName); - ConsoleWriteHeader(msg); - - var transformer = pipeline.Fit(dataView); - var transformedData = transformer.Transform(dataView); - - // Extract the 'Features' column. - var someColumnData = transformedData.GetColumn(mlContext, columnName) - .Take(numberOfRows).ToList(); - - // print to console the peeked rows - someColumnData.ForEach(row => - { - String concatColumn = String.Empty; - foreach (float f in row) - { - concatColumn += f.ToString(); - } - Console.WriteLine(concatColumn); - }); - - return someColumnData; - } - public static void ConsoleWriteHeader(params string[] lines) { var defaultColor = Console.ForegroundColor; diff --git a/src/mlnet/Templates/MLCodeGen.cs b/src/mlnet/Templates/MLCodeGen.cs index f1ed64fe4c..21d8ec1e01 100644 --- a/src/mlnet/Templates/MLCodeGen.cs +++ b/src/mlnet/Templates/MLCodeGen.cs @@ -55,7 +55,7 @@ static void Main(string[] args) // Create, Train, Evaluate and Save a model BuildTrainEvaluateAndSaveModel(mlContext); - ConsoleHelper.ConsoleWriteHeader(""=============== End of training processh ===============""); + ConsoleHelper.ConsoleWriteHeader(""=============== End of training process ===============""); // Make a single test prediction loding the model from .ZIP file TestSinglePrediction(mlContext); @@ -128,23 +128,28 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) private static TextLoader GetTextLoader(MLContext mlContext) { - return mlContext.Data.CreateTextLoader( - columns: new[] - { + return mlContext.Data.CreateTextLoader(new TextLoader.Arguments() + { + Column = new[]{ "); foreach(var col in Columns) { - this.Write(" "); + this.Write(" "); this.Write(this.ToStringHelper.ToStringWithCulture(col)); this.Write("\r\n"); } - this.Write(" }, " + - " \r\n " + - " hasHeader:"); + this.Write(" }, " + + " \r\n HasHeader = "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); - this.Write(",\r\n separatorChar:\'"); - this.Write(this.ToStringHelper.ToStringWithCulture(Separator)); - this.Write(@"' - ); + this.Write(",\r\n Separators = new char[] {"); + Write(string.Join(",", Separators.Select(t => "'" + t.ToString() + "'").ToArray())); + this.Write("},\r\n AllowQuoting = "); + this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuotedStrings.ToString().ToLowerInvariant())); + this.Write(",\r\n TrimWhitespace = "); + this.Write(this.ToStringHelper.ToStringWithCulture(TrimWhiteSpace.ToString().ToLowerInvariant())); + this.Write(" ,\r\n AllowSparse = "); + this.Write(this.ToStringHelper.ToStringWithCulture(SupportSparse.ToString().ToLowerInvariant())); + this.Write(@" + }); } // (OPTIONAL) Try/test a single prediction by loding the model from the file, first. @@ -216,14 +221,15 @@ private static void TestSinglePrediction(MLContext mlContext) public string TestPath {get;set;} public IList Columns {get;set;} public bool HasHeader {get;set;} -public char Separator {get;set;} +public char[] Separators {get;set;} public IList Transforms {get;set;} public string Trainer {get;set;} public string TaskType {get;set;} public IList ClassLabels {get;set;} -public bool UsingLightGBM {get;set;} -public bool UsingCategorical {get;set;} public string GeneratedUsings {get;set;} +public bool AllowQuotedStrings {get;set;} +public bool SupportSparse {get;set;} +public bool TrimWhiteSpace {get;set;} } #region Base class diff --git a/src/mlnet/Templates/MLCodeGen.tt b/src/mlnet/Templates/MLCodeGen.tt index 60120dcca2..e9a17b8e01 100644 --- a/src/mlnet/Templates/MLCodeGen.tt +++ b/src/mlnet/Templates/MLCodeGen.tt @@ -34,7 +34,7 @@ namespace MlnetSample // Create, Train, Evaluate and Save a model BuildTrainEvaluateAndSaveModel(mlContext); - ConsoleHelper.ConsoleWriteHeader("=============== End of training processh ==============="); + ConsoleHelper.ConsoleWriteHeader("=============== End of training process ==============="); // Make a single test prediction loding the model from .ZIP file TestSinglePrediction(mlContext); @@ -101,16 +101,19 @@ else{#> private static TextLoader GetTextLoader(MLContext mlContext) { - return mlContext.Data.CreateTextLoader( - columns: new[] - { + return mlContext.Data.CreateTextLoader(new TextLoader.Arguments() + { + Column = new[]{ <# foreach(var col in Columns) {#> - <#= col #> + <#= col #> <# } #> - }, - hasHeader:<#= HasHeader.ToString().ToLowerInvariant() #>, - separatorChar:'<#= Separator #>' - ); + }, + HasHeader = <#= HasHeader.ToString().ToLowerInvariant() #>, + Separators = new char[] {<# Write(string.Join(",", Separators.Select(t => "'" + t.ToString() + "'").ToArray())); #>}, + AllowQuoting = <#= AllowQuotedStrings.ToString().ToLowerInvariant() #>, + TrimWhitespace = <#= TrimWhiteSpace.ToString().ToLowerInvariant() #> , + AllowSparse = <#= SupportSparse.ToString().ToLowerInvariant() #> + }); } // (OPTIONAL) Try/test a single prediction by loding the model from the file, first. @@ -178,12 +181,13 @@ public string Path {get;set;} public string TestPath {get;set;} public IList Columns {get;set;} public bool HasHeader {get;set;} -public string Separator {get;set;} +public char[] Separators {get;set;} public IList Transforms {get;set;} public string Trainer {get;set;} public string TaskType {get;set;} public IList ClassLabels {get;set;} -public bool UsingLightGBM {get;set;} -public bool UsingCategorical {get;set;} public string GeneratedUsings {get;set;} +public bool AllowQuotedStrings {get;set;} +public bool SupportSparse {get;set;} +public bool TrimWhiteSpace {get;set;} #> From 3bcaaf88dd400fd5dbe9d67a777b362369c33408 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 7 Feb 2019 14:39:27 -0800 Subject: [PATCH 054/211] Enable gated check for mlnet.tests (#79) * Added sequential grouping of columns * reverted the file * changed to new API of Text Loader * changed signature * added params for taking additional settings * changes to codegen params * refactoring of templates and fixing errors * added run-tests.proj and referred it in build.proj --- build.proj | 1 + src/mlnet.Test/Directory.Build.props | 9 +++++++++ src/mlnet.Test/run-tests.proj | 19 +++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 src/mlnet.Test/Directory.Build.props create mode 100644 src/mlnet.Test/run-tests.proj diff --git a/build.proj b/build.proj index 92f711f35e..66df010b03 100644 --- a/build.proj +++ b/build.proj @@ -94,6 +94,7 @@ + diff --git a/src/mlnet.Test/Directory.Build.props b/src/mlnet.Test/Directory.Build.props new file mode 100644 index 0000000000..e161d1461b --- /dev/null +++ b/src/mlnet.Test/Directory.Build.props @@ -0,0 +1,9 @@ + + + + + trx + $(OutputPath) + + + \ No newline at end of file diff --git a/src/mlnet.Test/run-tests.proj b/src/mlnet.Test/run-tests.proj new file mode 100644 index 0000000000..dd2433b3c5 --- /dev/null +++ b/src/mlnet.Test/run-tests.proj @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file From c8f8e38f0888e98e804d36e719d130a914081e96 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 7 Feb 2019 17:33:35 -0800 Subject: [PATCH 055/211] CLI tool - make validation dataset optional and support for crossvalidation in generated code (#83) * Added sequential grouping of columns * reverted the file * bug fixes, more logic to templates to support cross-validate * formatting and fix type in consolehelper * Added logic in templates * revert settings --- src/mlnet/CodeGenerator/TrainerGenerators.cs | 2 +- src/mlnet/Commands/CommandDefinitions.cs | 40 +--- src/mlnet/Commands/NewCommand.cs | 18 +- src/mlnet/Templates/ConsoleHelper.cs | 202 ++++++++++--------- src/mlnet/Templates/ConsoleHelper.tt | 23 +++ src/mlnet/Templates/MLCodeGen.cs | 67 ++++-- src/mlnet/Templates/MLCodeGen.tt | 37 +++- 7 files changed, 221 insertions(+), 168 deletions(-) diff --git a/src/mlnet/CodeGenerator/TrainerGenerators.cs b/src/mlnet/CodeGenerator/TrainerGenerators.cs index 0149e1bf24..2f1ed41cac 100644 --- a/src/mlnet/CodeGenerator/TrainerGenerators.cs +++ b/src/mlnet/CodeGenerator/TrainerGenerators.cs @@ -178,7 +178,7 @@ internal class LinearSvm : TrainerGeneratorBase internal override string MethodName => "LinearSupportVectorMachines"; //ClassName of the options to trainer - internal override string OptionsName => "LinearSvm.Options"; + internal override string OptionsName => "LinearSvmTrainer.Options"; //The named parameters to the trainer. internal override IDictionary NamedParameters diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index affb95518b..2c9cb491cd 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -18,13 +18,11 @@ public static System.CommandLine.Command New() { var newCommand = new System.CommandLine.Command("new", "ML.NET CLI tool for code generation", - handler: CommandHandler.Create((/*FileInfo dataset,*/ FileInfo trainDataset, /*FileInfo validationDataset,*/ FileInfo testDataset, TaskKind mlTask, string labelColumnName) => + handler: CommandHandler.Create((FileInfo trainDataset, FileInfo testDataset, TaskKind mlTask, string labelColumnName) => { NewCommand.Run(new Options() { - /*Dataset = dataset,*/ TrainDataset = trainDataset, - /*ValidationDataset = validationDataset,*/ TestDataset = testDataset, MlTask = mlTask, LabelName = labelColumnName @@ -32,9 +30,7 @@ public static System.CommandLine.Command New() })) { - //Dataset(), TrainDataset(), - //ValidationDataset(), TestDataset(), MlTask(), LabelName(), @@ -51,10 +47,6 @@ public static System.CommandLine.Command New() { return "Option required : --train-dataset"; } - if (sym.Children["--test-dataset"] == null) - { - return "Option required : --test-dataset"; - } if (sym.Children["--ml-task"] == null) { return "Option required : --ml-task"; @@ -69,21 +61,14 @@ public static System.CommandLine.Command New() return newCommand; - //Option Dataset() => - // new Option("--dataset", "Dataset file path.", - // new Argument().ExistingOnly()); Option TrainDataset() => new Option("--train-dataset", "Train dataset file path.", new Argument().ExistingOnly()); - //Option ValidationDataset() => - // new Option("--validation-dataset", "Test dataset file path.", - // new Argument().ExistingOnly()); - Option TestDataset() => new Option("--test-dataset", "Test dataset file path.", - new Argument().ExistingOnly()); + new Argument(defaultValue: default(FileInfo)).ExistingOnly()); Option MlTask() => new Option("--ml-task", "Type of ML task.", @@ -93,27 +78,6 @@ Option LabelName() => new Option("--label-column-name", "Name of the label column.", new Argument()); - //Option ColumnSeperator() => - // new Option("--column-separator", "Column separator in dataset file.", - // new Argument(defaultValue: default(string))); - - //Option ExplorationTimeout() => - // new Option("--exploration-timeout", "Timeout for exploring the best models.", - // new Argument(defaultValue: 10)); - - //Option Name() => - // new Option("--name", "Name of the project file.", - // new Argument(defaultValue: "SampleProject")); - - //Option ShowOutput() => - // new Option("--show-output", "Show output on the console", - // new Argument(defaultValue: true)); - - //Option LabelIndex() => - // new Option("--label-column-index", "Index of the label column.", - // new Argument(defaultValue: -1)); - - } private static string[] GetMlTaskSuggestions() diff --git a/src/mlnet/Commands/NewCommand.cs b/src/mlnet/Commands/NewCommand.cs index 4f8517aa50..60941d1b03 100644 --- a/src/mlnet/Commands/NewCommand.cs +++ b/src/mlnet/Commands/NewCommand.cs @@ -24,17 +24,21 @@ internal static void Run(Options options) // For Version 0.1 It is required that the data set has header. var columnInference = context.Data.InferColumns(options.TrainDataset.FullName, label, true, groupColumns: false); var textLoader = context.Data.CreateTextLoader(columnInference); - var trainData = textLoader.Read(options.TrainDataset.FullName); - var validationData = textLoader.Read(options.TestDataset.FullName); - Pipeline pipelineToDeconstruct = null; + IDataView trainData = textLoader.Read(options.TrainDataset.FullName); + IDataView validationData = options.TestDataset == null ? null : textLoader.Read(options.TestDataset.FullName); - var result = ExploreModels(options, context, label, trainData, validationData, pipelineToDeconstruct); - pipelineToDeconstruct = result.Item1; + //Explore the models + Pipeline pipeline = null; + var result = ExploreModels(options, context, label, trainData, validationData, pipeline); + + //Get the best pipeline + pipeline = result.Item1; var model = result.Item2; + //Path can be overriden from args GenerateModel(model, @"./BestModel", "model.zip", context); - RunCodeGen(options, columnInference, pipelineToDeconstruct); + RunCodeGen(options, columnInference, pipeline); } private static void GenerateModel(ITransformer model, string ModelPath, string modelName, MLContext mlContext) @@ -116,7 +120,7 @@ private static void RunCodeGen(Options options, ColumnInferenceResult columnInfe MLCodeGen codeGen = new MLCodeGen() { Path = options.TrainDataset.FullName, - TestPath = options.TestDataset.FullName, + TestPath = options.TestDataset?.FullName, Columns = columns, Transforms = transforms, HasHeader = columnInference.HasHeader, diff --git a/src/mlnet/Templates/ConsoleHelper.cs b/src/mlnet/Templates/ConsoleHelper.cs index 952c1c4964..249fe1fb6c 100644 --- a/src/mlnet/Templates/ConsoleHelper.cs +++ b/src/mlnet/Templates/ConsoleHelper.cs @@ -106,98 +106,118 @@ public virtual string TransformText() "($\"* Average R-squared: {R2.Average():0.###} \");\r\n Console.Wri" + "teLine($\"***********************************************************************" + "**************************************\");\r\n }\r\n\r\n public static vo" + - "id PrintMulticlassClassificationFoldsAverageMetrics(\r\n " + - " string algorithmName,\r\n (" + - "MultiClassClassifierMetrics metrics,\r\n " + - "ITransformer model,\r\n IDataView scoredT" + - "estData)[] crossValResults\r\n " + - " )\r\n {\r\n var metricsInMultipleFolds = cr" + - "ossValResults.Select(r => r.metrics);\r\n\r\n var microAccuracyValues = m" + - "etricsInMultipleFolds.Select(m => m.AccuracyMicro);\r\n var microAccura" + - "cyAverage = microAccuracyValues.Average();\r\n var microAccuraciesStdDe" + - "viation = CalculateStandardDeviation(microAccuracyValues);\r\n var micr" + - "oAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyVal" + - "ues);\r\n\r\n var macroAccuracyValues = metricsInMultipleFolds.Select(m =" + - "> m.AccuracyMacro);\r\n var macroAccuracyAverage = macroAccuracyValues." + - "Average();\r\n var macroAccuraciesStdDeviation = CalculateStandardDevia" + - "tion(macroAccuracyValues);\r\n var macroAccuraciesConfidenceInterval95 " + - "= CalculateConfidenceInterval95(macroAccuracyValues);\r\n\r\n var logLoss" + - "Values = metricsInMultipleFolds.Select(m => m.LogLoss);\r\n var logLoss" + - "Average = logLossValues.Average();\r\n var logLossStdDeviation = Calcul" + - "ateStandardDeviation(logLossValues);\r\n var logLossConfidenceInterval9" + - "5 = CalculateConfidenceInterval95(logLossValues);\r\n\r\n var logLossRedu" + - "ctionValues = metricsInMultipleFolds.Select(m => m.LogLossReduction);\r\n " + - " var logLossReductionAverage = logLossReductionValues.Average();\r\n " + - "var logLossReductionStdDeviation = CalculateStandardDeviation(logLossReductionVa" + - "lues);\r\n var logLossReductionConfidenceInterval95 = CalculateConfiden" + - "ceInterval95(logLossReductionValues);\r\n\r\n Console.WriteLine($\"*******" + + "id PrintBinaryClassificationFoldsAverageMetrics(\r\n " + + " string algorithmName,\r\n (Bina" + + "ryClassificationMetrics metrics,\r\n ITra" + + "nsformer model,\r\n IDataView scoredTestD" + + "ata)[] crossValResults\r\n " + + " )\r\n {\r\n var metricsInMultipleFolds = crossV" + + "alResults.Select(r => r.metrics);\r\n\r\n var AccuracyValues = metricsInM" + + "ultipleFolds.Select(m => m.Accuracy);\r\n var AccuracyAverage = Accurac" + + "yValues.Average();\r\n var AccuraciesStdDeviation = CalculateStandardDe" + + "viation(AccuracyValues);\r\n var AccuraciesConfidenceInterval95 = Calcu" + + "lateConfidenceInterval95(AccuracyValues);\r\n\r\n\r\n Console.WriteLine($\"*" + "********************************************************************************" + - "**********************\");\r\n Console.WriteLine($\"* Metrics for {" + - "algorithmName} Multi-class Classification model \");\r\n Console.Wr" + - "iteLine($\"*---------------------------------------------------------------------" + - "---------------------------------------\");\r\n Console.WriteLine($\"* " + - " Average MicroAccuracy: {microAccuracyAverage:0.###} - Standard deviation" + - ": ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccur" + - "aciesConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"* Av" + - "erage MacroAccuracy: {macroAccuracyAverage:0.###} - Standard deviation: ({ma" + - "croAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesC" + - "onfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"* Average " + - "LogLoss: {logLossAverage:#.###} - Standard deviation: ({logLossStdDevi" + - "ation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInterval95:#.###})\"" + - ");\r\n Console.WriteLine($\"* Average LogLossReduction: {logLossRe" + - "ductionAverage:#.###} - Standard deviation: ({logLossReductionStdDeviation:#.##" + - "#}) - Confidence Interval 95%: ({logLossReductionConfidenceInterval95:#.###})\")" + - ";\r\n Console.WriteLine($\"*********************************************" + - "****************************************************************\");\r\n\r\n }" + - "\r\n\r\n public static double CalculateStandardDeviation(IEnumerable " + - "values)\r\n {\r\n double average = values.Average();\r\n " + - "double sumOfSquaresOfDifferences = values.Select(val => (val - average) * (val -" + - " average)).Sum();\r\n double standardDeviation = Math.Sqrt(sumOfSquares" + - "OfDifferences / (values.Count() - 1));\r\n return standardDeviation;\r\n " + - " }\r\n\r\n public static double CalculateConfidenceInterval95(IEnumerab" + - "le values)\r\n {\r\n double confidenceInterval95 = 1.96 * " + - "CalculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1));\r\n " + - " return confidenceInterval95;\r\n }\r\n\r\n public static void PrintCl" + - "usteringMetrics(string name, ClusteringMetrics metrics)\r\n {\r\n " + - "Console.WriteLine($\"*************************************************\");\r\n " + - " Console.WriteLine($\"* Metrics for {name} clustering model \");\r\n" + - " Console.WriteLine($\"*-----------------------------------------------" + - "-\");\r\n Console.WriteLine($\"* AvgMinScore: {metrics.AvgMinScore}" + - "\");\r\n Console.WriteLine($\"* DBI is: {metrics.Dbi}\");\r\n " + - " Console.WriteLine($\"*************************************************\");\r\n " + - " }\r\n\r\n public static void ConsoleWriteHeader(params string[] lines)\r\n" + - " {\r\n var defaultColor = Console.ForegroundColor;\r\n " + - "Console.ForegroundColor = ConsoleColor.Yellow;\r\n Console.WriteLine(\" " + - "\");\r\n foreach (var line in lines)\r\n {\r\n Con" + - "sole.WriteLine(line);\r\n }\r\n var maxLength = lines.Select(x" + - " => x.Length).Max();\r\n Console.WriteLine(new string(\'#\', maxLength));" + - "\r\n Console.ForegroundColor = defaultColor;\r\n }\r\n\r\n publ" + - "ic static void ConsoleWriterSection(params string[] lines)\r\n {\r\n " + - " var defaultColor = Console.ForegroundColor;\r\n Console.ForegroundCo" + - "lor = ConsoleColor.Blue;\r\n Console.WriteLine(\" \");\r\n forea" + - "ch (var line in lines)\r\n {\r\n Console.WriteLine(line);\r" + - "\n }\r\n var maxLength = lines.Select(x => x.Length).Max();\r\n" + - " Console.WriteLine(new string(\'-\', maxLength));\r\n Console." + - "ForegroundColor = defaultColor;\r\n }\r\n\r\n public static void Console" + - "PressAnyKey()\r\n {\r\n var defaultColor = Console.ForegroundColor" + - ";\r\n Console.ForegroundColor = ConsoleColor.Green;\r\n Consol" + - "e.WriteLine(\" \");\r\n Console.WriteLine(\"Press any key to finish.\");\r\n " + - " Console.ReadKey();\r\n }\r\n\r\n public static void ConsoleWr" + - "iteException(params string[] lines)\r\n {\r\n var defaultColor = C" + - "onsole.ForegroundColor;\r\n Console.ForegroundColor = ConsoleColor.Red;" + - "\r\n const string exceptionTitle = \"EXCEPTION\";\r\n Console.Wr" + - "iteLine(\" \");\r\n Console.WriteLine(exceptionTitle);\r\n Conso" + - "le.WriteLine(new string(\'#\', exceptionTitle.Length));\r\n Console.Foreg" + - "roundColor = defaultColor;\r\n foreach (var line in lines)\r\n " + - " {\r\n Console.WriteLine(line);\r\n }\r\n }\r\n\r\n " + - " public static void ConsoleWriteWarning(params string[] lines)\r\n {\r\n " + - " var defaultColor = Console.ForegroundColor;\r\n Console.Foregro" + - "undColor = ConsoleColor.DarkMagenta;\r\n const string warningTitle = \"W" + - "ARNING\";\r\n Console.WriteLine(\" \");\r\n Console.WriteLine(war" + - "ningTitle);\r\n Console.WriteLine(new string(\'#\', warningTitle.Length))" + - ";\r\n Console.ForegroundColor = defaultColor;\r\n foreach (var" + - " line in lines)\r\n {\r\n Console.WriteLine(line);\r\n " + - " }\r\n }\r\n\r\n }\r\n}"); + "****************************\");\r\n Console.WriteLine($\"* Metrics" + + " for {algorithmName} Binary Classification model \");\r\n Console.W" + + "riteLine($\"*--------------------------------------------------------------------" + + "----------------------------------------\");\r\n Console.WriteLine($\"* " + + " Average Accuracy: {AccuracyAverage:0.###} - Standard deviation: ({Accur" + + "aciesStdDeviation:#.###}) - Confidence Interval 95%: ({AccuraciesConfidenceInte" + + "rval95:#.###})\");\r\n Console.WriteLine($\"*****************************" + + "********************************************************************************" + + "\");\r\n\r\n }\r\n\r\n public static void PrintMulticlassClassificationFold" + + "sAverageMetrics(\r\n string algorithmName," + + "\r\n (MultiClassClassifierMetrics metrics," + + "\r\n ITransformer model,\r\n " + + " IDataView scoredTestData)[] crossValResults\r\n " + + " )\r\n {\r" + + "\n var metricsInMultipleFolds = crossValResults.Select(r => r.metrics)" + + ";\r\n\r\n var microAccuracyValues = metricsInMultipleFolds.Select(m => m." + + "AccuracyMicro);\r\n var microAccuracyAverage = microAccuracyValues.Aver" + + "age();\r\n var microAccuraciesStdDeviation = CalculateStandardDeviation" + + "(microAccuracyValues);\r\n var microAccuraciesConfidenceInterval95 = Ca" + + "lculateConfidenceInterval95(microAccuracyValues);\r\n\r\n var macroAccura" + + "cyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro);\r\n var" + + " macroAccuracyAverage = macroAccuracyValues.Average();\r\n var macroAcc" + + "uraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues);\r\n " + + " var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macr" + + "oAccuracyValues);\r\n\r\n var logLossValues = metricsInMultipleFolds.Sele" + + "ct(m => m.LogLoss);\r\n var logLossAverage = logLossValues.Average();\r\n" + + " var logLossStdDeviation = CalculateStandardDeviation(logLossValues);" + + "\r\n var logLossConfidenceInterval95 = CalculateConfidenceInterval95(lo" + + "gLossValues);\r\n\r\n var logLossReductionValues = metricsInMultipleFolds" + + ".Select(m => m.LogLossReduction);\r\n var logLossReductionAverage = log" + + "LossReductionValues.Average();\r\n var logLossReductionStdDeviation = C" + + "alculateStandardDeviation(logLossReductionValues);\r\n var logLossReduc" + + "tionConfidenceInterval95 = CalculateConfidenceInterval95(logLossReductionValues)" + + ";\r\n\r\n Console.WriteLine($\"*******************************************" + + "******************************************************************\");\r\n " + + " Console.WriteLine($\"* Metrics for {algorithmName} Multi-class Classific" + + "ation model \");\r\n Console.WriteLine($\"*-------------------------" + + "--------------------------------------------------------------------------------" + + "---\");\r\n Console.WriteLine($\"* Average MicroAccuracy: {micro" + + "AccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:#.##" + + "#}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###})\");" + + "\r\n Console.WriteLine($\"* Average MacroAccuracy: {macroAccura" + + "cyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}) -" + + " Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})\");\r\n " + + " Console.WriteLine($\"* Average LogLoss: {logLossAverage:#." + + "###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Interval" + + " 95%: ({logLossConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"" + + "* Average LogLossReduction: {logLossReductionAverage:#.###} - Standard de" + + "viation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: ({lo" + + "gLossReductionConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"*" + + "********************************************************************************" + + "****************************\");\r\n\r\n }\r\n\r\n public static double Cal" + + "culateStandardDeviation(IEnumerable values)\r\n {\r\n doub" + + "le average = values.Average();\r\n double sumOfSquaresOfDifferences = v" + + "alues.Select(val => (val - average) * (val - average)).Sum();\r\n doubl" + + "e standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Count() - 1)" + + ");\r\n return standardDeviation;\r\n }\r\n\r\n public static do" + + "uble CalculateConfidenceInterval95(IEnumerable values)\r\n {\r\n " + + " double confidenceInterval95 = 1.96 * CalculateStandardDeviation(values) /" + + " Math.Sqrt((values.Count() - 1));\r\n return confidenceInterval95;\r\n " + + " }\r\n\r\n public static void PrintClusteringMetrics(string name, Cluster" + + "ingMetrics metrics)\r\n {\r\n Console.WriteLine($\"****************" + + "*********************************\");\r\n Console.WriteLine($\"* Me" + + "trics for {name} clustering model \");\r\n Console.WriteLine($\"*---" + + "---------------------------------------------\");\r\n Console.WriteLine(" + + "$\"* AvgMinScore: {metrics.AvgMinScore}\");\r\n Console.WriteLine($" + + "\"* DBI is: {metrics.Dbi}\");\r\n Console.WriteLine($\"*************" + + "************************************\");\r\n }\r\n\r\n public static void" + + " ConsoleWriteHeader(params string[] lines)\r\n {\r\n var defaultCo" + + "lor = Console.ForegroundColor;\r\n Console.ForegroundColor = ConsoleCol" + + "or.Yellow;\r\n Console.WriteLine(\" \");\r\n foreach (var line i" + + "n lines)\r\n {\r\n Console.WriteLine(line);\r\n }" + + "\r\n var maxLength = lines.Select(x => x.Length).Max();\r\n Co" + + "nsole.WriteLine(new string(\'#\', maxLength));\r\n Console.ForegroundColo" + + "r = defaultColor;\r\n }\r\n\r\n public static void ConsoleWriterSection(" + + "params string[] lines)\r\n {\r\n var defaultColor = Console.Foregr" + + "oundColor;\r\n Console.ForegroundColor = ConsoleColor.Blue;\r\n " + + " Console.WriteLine(\" \");\r\n foreach (var line in lines)\r\n " + + "{\r\n Console.WriteLine(line);\r\n }\r\n var maxL" + + "ength = lines.Select(x => x.Length).Max();\r\n Console.WriteLine(new st" + + "ring(\'-\', maxLength));\r\n Console.ForegroundColor = defaultColor;\r\n " + + " }\r\n\r\n public static void ConsolePressAnyKey()\r\n {\r\n " + + " var defaultColor = Console.ForegroundColor;\r\n Console.ForegroundCol" + + "or = ConsoleColor.Green;\r\n Console.WriteLine(\" \");\r\n Conso" + + "le.WriteLine(\"Press any key to finish.\");\r\n Console.ReadKey();\r\n " + + " }\r\n\r\n public static void ConsoleWriteException(params string[] lines)\r" + + "\n {\r\n var defaultColor = Console.ForegroundColor;\r\n " + + " Console.ForegroundColor = ConsoleColor.Red;\r\n const string exception" + + "Title = \"EXCEPTION\";\r\n Console.WriteLine(\" \");\r\n Console.W" + + "riteLine(exceptionTitle);\r\n Console.WriteLine(new string(\'#\', excepti" + + "onTitle.Length));\r\n Console.ForegroundColor = defaultColor;\r\n " + + " foreach (var line in lines)\r\n {\r\n Console.WriteLin" + + "e(line);\r\n }\r\n }\r\n\r\n public static void ConsoleWriteWar" + + "ning(params string[] lines)\r\n {\r\n var defaultColor = Console.F" + + "oregroundColor;\r\n Console.ForegroundColor = ConsoleColor.DarkMagenta;" + + "\r\n const string warningTitle = \"WARNING\";\r\n Console.WriteL" + + "ine(\" \");\r\n Console.WriteLine(warningTitle);\r\n Console.Wri" + + "teLine(new string(\'#\', warningTitle.Length));\r\n Console.ForegroundCol" + + "or = defaultColor;\r\n foreach (var line in lines)\r\n {\r\n " + + " Console.WriteLine(line);\r\n }\r\n }\r\n\r\n }\r\n}"); return this.GenerationEnvironment.ToString(); } } diff --git a/src/mlnet/Templates/ConsoleHelper.tt b/src/mlnet/Templates/ConsoleHelper.tt index 5572fdcf60..149dcd3001 100644 --- a/src/mlnet/Templates/ConsoleHelper.tt +++ b/src/mlnet/Templates/ConsoleHelper.tt @@ -101,6 +101,29 @@ namespace MlnetSample Console.WriteLine($"*************************************************************************************************************"); } + public static void PrintBinaryClassificationFoldsAverageMetrics( + string algorithmName, + (BinaryClassificationMetrics metrics, + ITransformer model, + IDataView scoredTestData)[] crossValResults + ) + { + var metricsInMultipleFolds = crossValResults.Select(r => r.metrics); + + var AccuracyValues = metricsInMultipleFolds.Select(m => m.Accuracy); + var AccuracyAverage = AccuracyValues.Average(); + var AccuraciesStdDeviation = CalculateStandardDeviation(AccuracyValues); + var AccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(AccuracyValues); + + + Console.WriteLine($"*************************************************************************************************************"); + Console.WriteLine($"* Metrics for {algorithmName} Binary Classification model "); + Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); + Console.WriteLine($"* Average Accuracy: {AccuracyAverage:0.###} - Standard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({AccuraciesConfidenceInterval95:#.###})"); + Console.WriteLine($"*************************************************************************************************************"); + + } + public static void PrintMulticlassClassificationFoldsAverageMetrics( string algorithmName, (MultiClassClassifierMetrics metrics, diff --git a/src/mlnet/Templates/MLCodeGen.cs b/src/mlnet/Templates/MLCodeGen.cs index 21d8ec1e01..a2a7a71f59 100644 --- a/src/mlnet/Templates/MLCodeGen.cs +++ b/src/mlnet/Templates/MLCodeGen.cs @@ -42,10 +42,13 @@ public virtual string TransformText() this.Write("\r\n\r\n\r\nnamespace MlnetSample\r\n{\r\n class Program\r\n {\r\n private static " + "string TrainDataPath = @\""); this.Write(this.ToStringHelper.ToStringWithCulture(Path)); - this.Write("\";\r\n private static string TestDataPath = @\""); - this.Write(this.ToStringHelper.ToStringWithCulture(Path)); - this.Write(@"""; - private static string ModelPath = @""./model.zip""; + this.Write("\";\r\n"); +if(!string.IsNullOrEmpty(TestPath)){ + this.Write(" private static string TestDataPath = @\""); + this.Write(this.ToStringHelper.ToStringWithCulture(TestPath)); + this.Write("\"; "); + } + this.Write(@" private static string ModelPath = @""./model.zip""; static void Main(string[] args) { @@ -67,16 +70,18 @@ static void Main(string[] args) private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) { - // STEP 1: Common data loading configuration + // Common data loading configuration TextLoader textLoader = GetTextLoader(mlContext); IDataView trainingDataView = textLoader.Read(TrainDataPath); - IDataView testDataView = textLoader.Read(TestDataPath); - "); + if(!string.IsNullOrEmpty(TestPath)){ + this.Write(" IDataView testDataView = textLoader.Read(TestDataPath);\r\n"); + } + this.Write("\r\n"); if(Transforms.Count >0 ) { - this.Write(" // STEP 2: Common data process configuration with pipeline data trans" + - "formations \r\n\r\n var dataProcessPipeline = "); + this.Write(" // Common data process configuration with pipeline data transformatio" + + "ns \r\n\r\n var dataProcessPipeline = "); for(int i=0;i0) @@ -89,24 +94,25 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) } this.Write(";\r\n"); } - this.Write("\r\n // STEP 3: Set the training algorithm, then create and config the m" + - "odelBuilder \r\n var trainer = mlContext."); + this.Write("\r\n // Set the training algorithm, then create and config the modelBuil" + + "der \r\n var trainer = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".Trainers."); this.Write(this.ToStringHelper.ToStringWithCulture(Trainer)); - this.Write(";\r\n\r\n // STEP 4: Train the model fitting to the DataSet\r\n"); + this.Write(";\r\n\r\n // Train the model fitting to the DataSet\r\n"); if(Transforms.Count >0 ) { this.Write(" var trainingPipeline = dataProcessPipeline.Append(trainer);\r\n " + " var trainedModel = trainingPipeline.Fit(trainingDataView);\r\n"); } else{ - this.Write(" var trainedModel = trainer.Fit(trainingDataView);\r\n"); + this.Write(" var trainingPipeline = trainer;\r\n var trainedModel = train" + + "ingPipeline.Fit(trainingDataView);\r\n"); } - this.Write(@" - // STEP 5: Evaluate the model and show accuracy stats - Console.WriteLine(""===== Evaluating Model's accuracy with Test data =====""); - var predictions = trainedModel.Transform(testDataView); - var metrics = mlContext."); + if(!string.IsNullOrEmpty(TestPath)){ + this.Write(" // Evaluate the model and show accuracy stats\r\n Console.Wr" + + "iteLine(\"===== Evaluating Model\'s accuracy with Test data =====\");\r\n " + + "var predictions = trainedModel.Transform(testDataView);\r\n var metrics" + + " = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".Evaluate(predictions, \"Label\", \"Score\");\r\n"); if("BinaryClassification".Equals(TaskType)){ @@ -116,8 +122,29 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) if("Regression".Equals(TaskType)){ this.Write(" ConsoleHelper.PrintRegressionMetrics(trainer.ToString(), metrics);\r\n"); } - this.Write(@" // STEP 6: Save/persist the trained model to a .ZIP file - + } else{ + this.Write(@" + // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) + // in order to evaluate and get the model's accuracy metrics + Console.WriteLine(""=============== Cross-validating to get model's accuracy metrics ===============""); +"); +if("BinaryClassification".Equals(TaskType)){ + this.Write(" var crossValidationResults = mlContext."); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(".CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: 3, labe" + + "lColumn:\"Label\");\r\n ConsoleHelper.PrintBinaryClassificationFoldsAvera" + + "geMetrics(trainer.ToString(), crossValidationResults);\r\n"); +} +if("Regression".Equals(TaskType)){ + this.Write(" var crossValidationResults = mlContext."); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(".CrossValidate(trainingDataView, trainingPipeline, numFolds: 3, labelColumn:\"Labe" + + "l\");\r\n ConsoleHelper.PrintRegressionFoldsAverageMetrics(trainer.ToStr" + + "ing(), crossValidationResults);\r\n"); +} + } + this.Write(@" + // Save/persist the trained model to a .ZIP file using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) mlContext.Model.Save(trainedModel, fs); diff --git a/src/mlnet/Templates/MLCodeGen.tt b/src/mlnet/Templates/MLCodeGen.tt index e9a17b8e01..e96f8d4450 100644 --- a/src/mlnet/Templates/MLCodeGen.tt +++ b/src/mlnet/Templates/MLCodeGen.tt @@ -23,7 +23,7 @@ namespace MlnetSample class Program { private static string TrainDataPath = @"<#= Path #>"; - private static string TestDataPath = @"<#= Path #>"; +<#if(!string.IsNullOrEmpty(TestPath)){ #> private static string TestDataPath = @"<#= TestPath #>"; <# } #> private static string ModelPath = @"./model.zip"; static void Main(string[] args) @@ -46,14 +46,16 @@ namespace MlnetSample private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) { - // STEP 1: Common data loading configuration + // Common data loading configuration TextLoader textLoader = GetTextLoader(mlContext); IDataView trainingDataView = textLoader.Read(TrainDataPath); +<# if(!string.IsNullOrEmpty(TestPath)){ #> IDataView testDataView = textLoader.Read(TestDataPath); +<# } #> <# if(Transforms.Count >0 ) {#> - // STEP 2: Common data process configuration with pipeline data transformations + // Common data process configuration with pipeline data transformations var dataProcessPipeline = <# for(int i=0;i; <#}#> - // STEP 3: Set the training algorithm, then create and config the modelBuilder + // Set the training algorithm, then create and config the modelBuilder var trainer = mlContext.<#= TaskType #>.Trainers.<#= Trainer #>; - // STEP 4: Train the model fitting to the DataSet + // Train the model fitting to the DataSet <# if(Transforms.Count >0 ) {#> var trainingPipeline = dataProcessPipeline.Append(trainer); var trainedModel = trainingPipeline.Fit(trainingDataView); <# } else{#> - var trainedModel = trainer.Fit(trainingDataView); + var trainingPipeline = trainer; + var trainedModel = trainingPipeline.Fit(trainingDataView); <#}#> - - // STEP 5: Evaluate the model and show accuracy stats +<# if(!string.IsNullOrEmpty(TestPath)){ #> + // Evaluate the model and show accuracy stats Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); var predictions = trainedModel.Transform(testDataView); var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "Label", "Score"); <#if("BinaryClassification".Equals(TaskType)){ #> ConsoleHelper.PrintBinaryClassificationMetrics(trainer.ToString(), metrics); -<#}#> -<#if("Regression".Equals(TaskType)){ #> +<#}#><#if("Regression".Equals(TaskType)){ #> ConsoleHelper.PrintRegressionMetrics(trainer.ToString(), metrics); <#}#> - // STEP 6: Save/persist the trained model to a .ZIP file +<# } else{ #> + + // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) + // in order to evaluate and get the model's accuracy metrics + Console.WriteLine("=============== Cross-validating to get model's accuracy metrics ==============="); +<#if("BinaryClassification".Equals(TaskType)){ #> + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: 3, labelColumn:"Label"); + ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(trainer.ToString(), crossValidationResults); +<#}#><#if("Regression".Equals(TaskType)){ #> + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numFolds: 3, labelColumn:"Label"); + ConsoleHelper.PrintRegressionFoldsAverageMetrics(trainer.ToString(), crossValidationResults); +<#}#> +<# } #> + // Save/persist the trained model to a .ZIP file using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) mlContext.Model.Save(trainedModel, fs); From aba6f93921a43ef20d7bc89a4d2ee19212fe64a6 Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin <45412678+Dmitry-A@users.noreply.github.com> Date: Thu, 7 Feb 2019 19:39:16 -0800 Subject: [PATCH 056/211] benchmarking related changes (#63) * Create test.txt * Create test.txt * changes needed for benchmarking * forgot one file * merge conflict fix * fix build break * back out my version of the fix for Label column issue and fix the original fix * bogus file removal * undo SuggestedPipeline change * remove labelCol from pipeline suggester * fix build break --- src/AutoML/API/MLContextAutoFitExtensions.cs | 16 +++++- src/AutoML/Assembly.cs | 3 +- src/AutoML/AutoFitter/AutoFitter.cs | 54 ++++++++++++++----- src/AutoML/AutoFitter/SuggestedPipeline.cs | 2 +- .../AutoFitter/SuggestedPipelineResult.cs | 7 ++- .../PipelineSuggesters/PipelineSuggester.cs | 8 +-- .../TrainerExtensions/TrainerExtensionUtil.cs | 4 +- .../TransformInference/TransformInference.cs | 2 +- 8 files changed, 74 insertions(+), 22 deletions(-) diff --git a/src/AutoML/API/MLContextAutoFitExtensions.cs b/src/AutoML/API/MLContextAutoFitExtensions.cs index 64e7a02ec9..9083dac60e 100644 --- a/src/AutoML/API/MLContextAutoFitExtensions.cs +++ b/src/AutoML/API/MLContextAutoFitExtensions.cs @@ -141,14 +141,26 @@ public class IterationResult public readonly ITransformer Model; public readonly Exception Exception; public readonly string TrainerName; - internal readonly Pipeline Pipeline; + public readonly int RuntimeInSeconds; - internal IterationResult(ITransformer model, T metrics, Pipeline pipeline, Exception exception) + internal readonly Pipeline Pipeline; + internal readonly int PipelineInferenceTimeInSeconds; + + internal IterationResult( + ITransformer model, + T metrics, + Pipeline pipeline, + Exception exception, + int runtimeInSeconds, + int pipelineInferenceTimeInSeconds) { Model = model; Metrics = metrics; Pipeline = pipeline; Exception = exception; + RuntimeInSeconds = runtimeInSeconds; + PipelineInferenceTimeInSeconds = pipelineInferenceTimeInSeconds; + TrainerName = pipeline?.Nodes.Where(n => n.NodeType == PipelineNodeType.Trainer).Last().Name; } } diff --git a/src/AutoML/Assembly.cs b/src/AutoML/Assembly.cs index 6cc5ec5ad5..c257c8c45f 100644 --- a/src/AutoML/Assembly.cs +++ b/src/AutoML/Assembly.cs @@ -6,4 +6,5 @@ [assembly: InternalsVisibleTo("Test, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] [assembly: InternalsVisibleTo("mlnet, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] -[assembly: InternalsVisibleTo("mlnet.Test, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] \ No newline at end of file +[assembly: InternalsVisibleTo("mlnet.Test, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] +[assembly: InternalsVisibleTo("Benchmark, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] diff --git a/src/AutoML/AutoFitter/AutoFitter.cs b/src/AutoML/AutoFitter/AutoFitter.cs index c0bf524dbc..1530f1824c 100644 --- a/src/AutoML/AutoFitter/AutoFitter.cs +++ b/src/AutoML/AutoFitter/AutoFitter.cs @@ -67,26 +67,52 @@ public IEnumerable> Fit() do { - // get next pipeline - var iterationsRemaining = (int)_settings.StoppingCriteria.MaxIterations - _history.Count; - var pipeline = PipelineSuggester.GetNextInferredPipeline(_history, columns, _task, iterationsRemaining, _optimizingMetricInfo.IsMaximizing); + SuggestedPipeline pipeline = null; + SuggestedPipelineResult runResult = null; - // break if no candidates returned, means no valid pipeline available - if (pipeline == null) + try { - break; - } + var iterationStopwatch = Stopwatch.StartNew(); + var getPiplelineStopwatch = Stopwatch.StartNew(); + + // get next pipeline + var iterationsRemaining = (int)_settings.StoppingCriteria.MaxIterations - _history.Count; + pipeline = PipelineSuggester.GetNextInferredPipeline(_history, columns, _task, iterationsRemaining, _optimizingMetricInfo.IsMaximizing); + + getPiplelineStopwatch.Stop(); + + // break if no candidates returned, means no valid pipeline available + if (pipeline == null) + { + break; + } + + // evaluate pipeline + runResult = ProcessPipeline(pipeline); - // evaluate pipeline - SuggestedPipelineResult runResult = ProcessPipeline(pipeline); + if (preprocessorTransform != null) + { + runResult.Model = preprocessorTransform.Append(runResult.Model); + } - if (preprocessorTransform != null) + runResult.RuntimeInSeconds = (int)iterationStopwatch.Elapsed.TotalSeconds; + runResult.GetPipelineTimeInSeconds = (int)getPiplelineStopwatch.Elapsed.TotalSeconds; + } + catch (Exception ex) { - runResult.Model = preprocessorTransform.Append(runResult.Model); + WriteDebugLog(DebugStream.Exception, $"{pipeline?.Trainer} Crashed {ex}"); + + if (runResult == null) + { + runResult = new SuggestedPipelineResult(null, null, pipeline, -1, ex); + } + else + { + runResult = new SuggestedPipelineResult(runResult.EvaluatedMetrics, runResult.Model, runResult.Pipeline, runResult.Score, ex); + } } yield return runResult.ToIterationResult(); - } while (_history.Count < _settings.StoppingCriteria.MaxIterations && stopwatch.Elapsed.TotalMinutes < _settings.StoppingCriteria.TimeOutInMinutes); } @@ -96,6 +122,10 @@ private SuggestedPipelineResult ProcessPipeline(SuggestedPipeline pipeline) // run pipeline var stopwatch = Stopwatch.StartNew(); + var commandLineStr = $"{string.Join(" xf=", pipeline.Transforms)} tr={pipeline.Trainer}"; + + WriteDebugLog(DebugStream.RunResult, $"Processing pipeline {commandLineStr}."); + SuggestedPipelineResult runResult; try { diff --git a/src/AutoML/AutoFitter/SuggestedPipeline.cs b/src/AutoML/AutoFitter/SuggestedPipeline.cs index 9ae605ab3f..7cb4300317 100644 --- a/src/AutoML/AutoFitter/SuggestedPipeline.cs +++ b/src/AutoML/AutoFitter/SuggestedPipeline.cs @@ -36,7 +36,7 @@ public SuggestedPipeline(IEnumerable transforms, } } - public override string ToString() => $"{Trainer}+{string.Join("+", Transforms.Select(t => t.ToString()))}"; + public override string ToString() => $"{string.Join(" xf=", this.Transforms)} tr={this.Trainer}"; public override bool Equals(object obj) { diff --git a/src/AutoML/AutoFitter/SuggestedPipelineResult.cs b/src/AutoML/AutoFitter/SuggestedPipelineResult.cs index 894dd69b31..72ee9be308 100644 --- a/src/AutoML/AutoFitter/SuggestedPipelineResult.cs +++ b/src/AutoML/AutoFitter/SuggestedPipelineResult.cs @@ -37,6 +37,9 @@ internal class SuggestedPipelineResult : SuggestedPipelineResult public ITransformer Model { get; set; } public Exception Exception { get; set; } + public int RuntimeInSeconds { get; set; } + public int GetPipelineTimeInSeconds { get; set; } + public SuggestedPipelineResult(T evaluatedMetrics, ITransformer model, SuggestedPipeline pipeline, double score, Exception exception) : base(pipeline, score, exception == null) { @@ -47,7 +50,9 @@ public SuggestedPipelineResult(T evaluatedMetrics, ITransformer model, Suggested public IterationResult ToIterationResult() { - return new IterationResult(Model, EvaluatedMetrics, Pipeline.ToPipeline(), Exception); + var ir = new IterationResult(Model, EvaluatedMetrics, Pipeline.ToPipeline(), Exception, RuntimeInSeconds, GetPipelineTimeInSeconds); + + return ir; } } } diff --git a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs index 286067774b..b46a559f5a 100644 --- a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs +++ b/src/AutoML/PipelineSuggesters/PipelineSuggester.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using Microsoft.Data.DataView; +using Microsoft.ML.Data; namespace Microsoft.ML.Auto { @@ -34,6 +35,7 @@ public static SuggestedPipeline GetNextInferredPipeline(IEnumerable CalculateTransforms(MLContext context, + private static IEnumerable CalculateTransforms( + MLContext context, (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns, TaskKind task) { @@ -217,8 +220,7 @@ private static IEnumerable CalculateTransforms(MLContext con // this is a work-around for ML.NET bug tracked by https://github.com/dotnet/machinelearning/issues/1969 if (task == TaskKind.MulticlassClassification) { - var labelCol = columns.First(c => c.Item3 == ColumnPurpose.Label).Item1; - var transform = ValueToKeyMappingExtension.CreateSuggestedTransform(context, labelCol, labelCol); + var transform = ValueToKeyMappingExtension.CreateSuggestedTransform(context, DefaultColumnNames.Label, DefaultColumnNames.Label); transforms.Add(transform); } return transforms; diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs index f4222cb792..c12fd06412 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs @@ -173,7 +173,9 @@ public static void UpdateFields(object obj, IEnumerable sweepPar } catch (Exception) { - throw new InvalidOperationException("cannot set learner parameter"); + // TODO: uncomment when this is resolved: https://github.com/dotnet/machinelearning/issues/1983 + // making this masked since otherwise we can't use this learner at all + // throw new InvalidOperationException("cannot set learner parameter"); } } } diff --git a/src/AutoML/TransformInference/TransformInference.cs b/src/AutoML/TransformInference/TransformInference.cs index 2dc6348645..bb2974b7e9 100644 --- a/src/AutoML/TransformInference/TransformInference.cs +++ b/src/AutoML/TransformInference/TransformInference.cs @@ -173,7 +173,7 @@ public override IEnumerable Apply(IntermediateColumn[] colum yield break; var col = columns[lastLabelColId]; - + if (col.Type.IsText()) { yield return ValueToKeyMappingExtension.CreateSuggestedTransform(Context, col.ColumnName, DefaultColumnNames.Label); From 057023b575ae5cd8420cdb4f04705dd783aa3445 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Fri, 8 Feb 2019 12:49:10 -0800 Subject: [PATCH 057/211] fix fast forest learner (don't sweep over learning rate) (#88) --- src/AutoML/TrainerExtensions/SweepableParams.cs | 13 ++++++++++--- .../TrainerExtensions/TrainerExtensionCatalog.cs | 6 +++--- .../TrainerExtensions/TrainerExtensionUtil.cs | 4 +--- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/AutoML/TrainerExtensions/SweepableParams.cs b/src/AutoML/TrainerExtensions/SweepableParams.cs index c2daeabd7b..253e82593b 100644 --- a/src/AutoML/TrainerExtensions/SweepableParams.cs +++ b/src/AutoML/TrainerExtensions/SweepableParams.cs @@ -36,9 +36,16 @@ private static IEnumerable BuildTreeArgsParams() new SweepableLongParam("NumLeaves", 2, 128, isLogScale: true, stepSize: 4), new SweepableDiscreteParam("MinDocumentsInLeafs", new object[] { 1, 10, 50 }), new SweepableDiscreteParam("NumTrees", new object[] { 20, 100, 500 }), + }; + } + + private static IEnumerable BuildBoostedTreeArgsParams() + { + return BuildTreeArgsParams().Concat(new List() + { new SweepableFloatParam("LearningRates", 0.025f, 0.4f, isLogScale: true), new SweepableFloatParam("Shrinkage", 0.025f, 4f, isLogScale: true), - }; + }); } private static IEnumerable BuildLbfgsArgsParams() @@ -66,12 +73,12 @@ public static IEnumerable BuildFastForestParams() public static IEnumerable BuildFastTreeParams() { - return BuildTreeArgsParams(); + return BuildBoostedTreeArgsParams(); } public static IEnumerable BuildFastTreeTweedieParams() { - return BuildTreeArgsParams(); + return BuildBoostedTreeArgsParams(); } public static IEnumerable BuildLightGbmParams() diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs b/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs index 4f7a9446c6..e66fe7bc04 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs @@ -104,7 +104,7 @@ private static IEnumerable GetBinaryLearners(int maxIteration learners.AddRange(new ITrainerExtension[] { new LogisticRegressionBinaryExtension(), - //new FastForestBinaryExtension(), + new FastForestBinaryExtension(), new SgdBinaryExtension() }); @@ -139,7 +139,7 @@ private static IEnumerable GetMultiLearners(int maxIterations learners.AddRange(new ITrainerExtension[] { new SgdOvaExtension(), - // new FastForestOvaExtension(), + new FastForestOvaExtension(), new LogisticRegressionMultiExtension(), }); @@ -163,7 +163,7 @@ private static IEnumerable GetRegressionLearners(int maxItera learners.AddRange(new ITrainerExtension[] { new FastTreeTweedieRegressionExtension(), - // new FastForestRegressionExtension(), + new FastForestRegressionExtension(), }); if(maxIterations < 100) diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs index c12fd06412..199b66925b 100644 --- a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs @@ -173,9 +173,7 @@ public static void UpdateFields(object obj, IEnumerable sweepPar } catch (Exception) { - // TODO: uncomment when this is resolved: https://github.com/dotnet/machinelearning/issues/1983 - // making this masked since otherwise we can't use this learner at all - // throw new InvalidOperationException("cannot set learner parameter"); + throw new InvalidOperationException($"Cannot set parameter {param.Name} for {obj.GetType()}"); } } } From 6f2bcabf34e7be400555c517865ef4571e303d5b Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Fri, 8 Feb 2019 19:19:45 -0800 Subject: [PATCH 058/211] Made changes to Have non-calibrated scoring for binary classifiers (#86) * Added sequential grouping of columns * reverted the file * added calibration workaround * removed print probability * reverted settings --- src/mlnet/Commands/NewCommand.cs | 5 + src/mlnet/Templates/ConsoleHelper.cs | 320 +++++++++++++-------------- src/mlnet/Templates/ConsoleHelper.tt | 10 +- src/mlnet/Templates/MLCodeGen.cs | 38 ++-- src/mlnet/Templates/MLCodeGen.tt | 12 +- 5 files changed, 183 insertions(+), 202 deletions(-) diff --git a/src/mlnet/Commands/NewCommand.cs b/src/mlnet/Commands/NewCommand.cs index 60941d1b03..6dc61fceeb 100644 --- a/src/mlnet/Commands/NewCommand.cs +++ b/src/mlnet/Commands/NewCommand.cs @@ -18,6 +18,11 @@ internal class NewCommand { internal static void Run(Options options) { + if (options.MlTask == TaskKind.MulticlassClassification) + { + Console.WriteLine($"Unsupported ml-task: {options.MlTask}"); + } + var context = new MLContext(); var label = options.LabelName; diff --git a/src/mlnet/Templates/ConsoleHelper.cs b/src/mlnet/Templates/ConsoleHelper.cs index 249fe1fb6c..06b58100aa 100644 --- a/src/mlnet/Templates/ConsoleHelper.cs +++ b/src/mlnet/Templates/ConsoleHelper.cs @@ -49,175 +49,167 @@ public virtual string TransformText() "eLine($\"* Squared loss: {metrics.L2:#.##}\");\r\n Console.WriteLi" + "ne($\"* RMS loss: {metrics.Rms:#.##}\");\r\n Console.WriteLine" + "($\"*************************************************\");\r\n }\r\n\r\n pu" + - "blic static void PrintBinaryClassificationMetrics(string name, CalibratedBinaryC" + - "lassificationMetrics metrics)\r\n {\r\n Console.WriteLine($\"******" + - "******************************************************\");\r\n Console.W" + - "riteLine($\"* Metrics for {name} binary classification model \");\r\n " + - " Console.WriteLine($\"*---------------------------------------------------" + - "--------\");\r\n Console.WriteLine($\"* Accuracy: {metrics.Accuracy" + - ":P2}\");\r\n Console.WriteLine($\"* Auc: {metrics.Auc:P2}\");\r\n" + - " Console.WriteLine($\"* Auprc: {metrics.Auprc:P2}\");\r\n " + - " Console.WriteLine($\"* F1Score: {metrics.F1Score:P2}\");\r\n Co" + - "nsole.WriteLine($\"* LogLoss: {metrics.LogLoss:#.##}\");\r\n Conso" + - "le.WriteLine($\"* LogLossReduction: {metrics.LogLossReduction:#.##}\");\r\n " + - " Console.WriteLine($\"* PositivePrecision: {metrics.PositivePreci" + - "sion:#.##}\");\r\n Console.WriteLine($\"* PositiveRecall: {metrics" + - ".PositiveRecall:#.##}\");\r\n Console.WriteLine($\"* NegativePrecis" + - "ion: {metrics.NegativePrecision:#.##}\");\r\n Console.WriteLine($\"* " + - " NegativeRecall: {metrics.NegativeRecall:P2}\");\r\n Console.WriteLin" + - "e($\"************************************************************\");\r\n }\r\n" + - "\r\n public static void PrintMultiClassClassificationMetrics(string name, M" + - "ultiClassClassifierMetrics metrics)\r\n {\r\n Console.WriteLine($\"" + - "************************************************************\");\r\n Con" + - "sole.WriteLine($\"* Metrics for {name} multi-class classification model \");\r" + - "\n Console.WriteLine($\"*----------------------------------------------" + - "-------------\");\r\n Console.WriteLine($\" AccuracyMacro = {metrics.A" + - "ccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the better\");\r\n " + - " Console.WriteLine($\" AccuracyMicro = {metrics.AccuracyMicro:0.####" + - "}, a value between 0 and 1, the closer to 1, the better\");\r\n Console." + - "WriteLine($\" LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better\"" + - ");\r\n Console.WriteLine($\" LogLoss for class 1 = {metrics.PerClassL" + - "ogLoss[0]:0.####}, the closer to 0, the better\");\r\n Console.WriteLine" + - "($\" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to " + - "0, the better\");\r\n Console.WriteLine($\" LogLoss for class 3 = {met" + - "rics.PerClassLogLoss[2]:0.####}, the closer to 0, the better\");\r\n Con" + - "sole.WriteLine($\"************************************************************\");" + - "\r\n }\r\n\r\n //(CDLTLL-Pending to Fix - Results --> ?)\r\n\r\n publ" + - "ic static void PrintRegressionFoldsAverageMetrics(string algorithmName,\r\n " + - " (RegressionMetrics metric" + - "s,\r\n ITransformer " + - "model,\r\n IDataView" + - " scoredTestData)[] crossValidationResults\r\n " + - " )\r\n {\r\n var L1 = crossValidationResult" + - "s.Select(r => r.metrics.L1);\r\n var L2 = crossValidationResults.Select" + - "(r => r.metrics.L2);\r\n var RMS = crossValidationResults.Select(r => r" + - ".metrics.L1);\r\n var lossFunction = crossValidationResults.Select(r =>" + - " r.metrics.LossFn);\r\n var R2 = crossValidationResults.Select(r => r.m" + - "etrics.RSquared);\r\n\r\n Console.WriteLine($\"***************************" + + "blic static void PrintBinaryClassificationMetrics(string name, BinaryClassificat" + + "ionMetrics metrics)\r\n {\r\n Console.WriteLine($\"****************" + + "********************************************\");\r\n Console.WriteLine($" + + "\"* Metrics for {name} binary classification model \");\r\n Co" + + "nsole.WriteLine($\"*-----------------------------------------------------------\")" + + ";\r\n Console.WriteLine($\"* Accuracy: {metrics.Accuracy:P2}\");\r\n " + + " Console.WriteLine($\"* Auc: {metrics.Auc:P2}\");\r\n " + + " Console.WriteLine($\"**********************************************************" + + "**\");\r\n }\r\n\r\n public static void PrintMultiClassClassificationMetr" + + "ics(string name, MultiClassClassifierMetrics metrics)\r\n {\r\n Co" + + "nsole.WriteLine($\"************************************************************\")" + + ";\r\n Console.WriteLine($\"* Metrics for {name} multi-class classific" + + "ation model \");\r\n Console.WriteLine($\"*----------------------------" + + "-------------------------------\");\r\n Console.WriteLine($\" Accuracy" + + "Macro = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1" + + ", the better\");\r\n Console.WriteLine($\" AccuracyMicro = {metrics.Ac" + + "curacyMicro:0.####}, a value between 0 and 1, the closer to 1, the better\");\r\n " + + " Console.WriteLine($\" LogLoss = {metrics.LogLoss:0.####}, the closer" + + " to 0, the better\");\r\n Console.WriteLine($\" LogLoss for class 1 = " + + "{metrics.PerClassLogLoss[0]:0.####}, the closer to 0, the better\");\r\n " + + " Console.WriteLine($\" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.###" + + "#}, the closer to 0, the better\");\r\n Console.WriteLine($\" LogLoss " + + "for class 3 = {metrics.PerClassLogLoss[2]:0.####}, the closer to 0, the better\")" + + ";\r\n Console.WriteLine($\"*********************************************" + + "***************\");\r\n }\r\n\r\n //(CDLTLL-Pending to Fix - Results --> " + + "?)\r\n\r\n public static void PrintRegressionFoldsAverageMetrics(string algor" + + "ithmName,\r\n (Regres" + + "sionMetrics metrics,\r\n " + + " ITransformer model,\r\n " + + " IDataView scoredTestData)[] crossValidationResults\r\n " + + " )\r\n {\r\n var L1 = cro" + + "ssValidationResults.Select(r => r.metrics.L1);\r\n var L2 = crossValida" + + "tionResults.Select(r => r.metrics.L2);\r\n var RMS = crossValidationRes" + + "ults.Select(r => r.metrics.L1);\r\n var lossFunction = crossValidationR" + + "esults.Select(r => r.metrics.LossFn);\r\n var R2 = crossValidationResul" + + "ts.Select(r => r.metrics.RSquared);\r\n\r\n Console.WriteLine($\"*********" + "********************************************************************************" + - "**\");\r\n Console.WriteLine($\"* Metrics for {algorithmName} Regre" + - "ssion model \");\r\n Console.WriteLine($\"*-------------------------" + + "********************\");\r\n Console.WriteLine($\"* Metrics for {al" + + "gorithmName} Regression model \");\r\n Console.WriteLine($\"*-------" + "--------------------------------------------------------------------------------" + - "---\");\r\n Console.WriteLine($\"* Average L1 Loss: {L1.Average(" + - "):0.###} \");\r\n Console.WriteLine($\"* Average L2 Loss: {L2.Av" + - "erage():0.###} \");\r\n Console.WriteLine($\"* Average RMS: " + - " {RMS.Average():0.###} \");\r\n Console.WriteLine($\"* Average L" + - "oss Function: {lossFunction.Average():0.###} \");\r\n Console.WriteLine" + - "($\"* Average R-squared: {R2.Average():0.###} \");\r\n Console.Wri" + - "teLine($\"***********************************************************************" + - "**************************************\");\r\n }\r\n\r\n public static vo" + - "id PrintBinaryClassificationFoldsAverageMetrics(\r\n " + - " string algorithmName,\r\n (Bina" + - "ryClassificationMetrics metrics,\r\n ITra" + - "nsformer model,\r\n IDataView scoredTestD" + - "ata)[] crossValResults\r\n " + - " )\r\n {\r\n var metricsInMultipleFolds = crossV" + - "alResults.Select(r => r.metrics);\r\n\r\n var AccuracyValues = metricsInM" + - "ultipleFolds.Select(m => m.Accuracy);\r\n var AccuracyAverage = Accurac" + - "yValues.Average();\r\n var AccuraciesStdDeviation = CalculateStandardDe" + - "viation(AccuracyValues);\r\n var AccuraciesConfidenceInterval95 = Calcu" + - "lateConfidenceInterval95(AccuracyValues);\r\n\r\n\r\n Console.WriteLine($\"*" + + "---------------------\");\r\n Console.WriteLine($\"* Average L1 Los" + + "s: {L1.Average():0.###} \");\r\n Console.WriteLine($\"* Average " + + "L2 Loss: {L2.Average():0.###} \");\r\n Console.WriteLine($\"* A" + + "verage RMS: {RMS.Average():0.###} \");\r\n Console.WriteLine($" + + "\"* Average Loss Function: {lossFunction.Average():0.###} \");\r\n " + + " Console.WriteLine($\"* Average R-squared: {R2.Average():0.###} \");\r\n " + + " Console.WriteLine($\"*****************************************************" + + "********************************************************\");\r\n }\r\n\r\n " + + " public static void PrintBinaryClassificationFoldsAverageMetrics(\r\n " + + " string algorithmName,\r\n " + + " (BinaryClassificationMetrics metrics,\r\n " + + " ITransformer model,\r\n IDa" + + "taView scoredTestData)[] crossValResults\r\n " + + " )\r\n {\r\n var metricsInMult" + + "ipleFolds = crossValResults.Select(r => r.metrics);\r\n\r\n var AccuracyV" + + "alues = metricsInMultipleFolds.Select(m => m.Accuracy);\r\n var Accurac" + + "yAverage = AccuracyValues.Average();\r\n var AccuraciesStdDeviation = C" + + "alculateStandardDeviation(AccuracyValues);\r\n var AccuraciesConfidence" + + "Interval95 = CalculateConfidenceInterval95(AccuracyValues);\r\n\r\n\r\n Con" + + "sole.WriteLine($\"***************************************************************" + + "**********************************************\");\r\n Console.WriteLine" + + "($\"* Metrics for {algorithmName} Binary Classification model \");\r\n " + + " Console.WriteLine($\"*--------------------------------------------------" + + "----------------------------------------------------------\");\r\n Conso" + + "le.WriteLine($\"* Average Accuracy: {AccuracyAverage:0.###} - Standard " + + "deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({Accura" + + "ciesConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"***********" + "********************************************************************************" + - "****************************\");\r\n Console.WriteLine($\"* Metrics" + - " for {algorithmName} Binary Classification model \");\r\n Console.W" + - "riteLine($\"*--------------------------------------------------------------------" + - "----------------------------------------\");\r\n Console.WriteLine($\"* " + - " Average Accuracy: {AccuracyAverage:0.###} - Standard deviation: ({Accur" + - "aciesStdDeviation:#.###}) - Confidence Interval 95%: ({AccuraciesConfidenceInte" + - "rval95:#.###})\");\r\n Console.WriteLine($\"*****************************" + + "******************\");\r\n\r\n }\r\n\r\n public static void PrintMulticlass" + + "ClassificationFoldsAverageMetrics(\r\n str" + + "ing algorithmName,\r\n (MultiClassClassifi" + + "erMetrics metrics,\r\n ITransformer model" + + ",\r\n IDataView scoredTestData)[] crossVa" + + "lResults\r\n " + + " )\r\n {\r\n var metricsInMultipleFolds = crossValResults.Sele" + + "ct(r => r.metrics);\r\n\r\n var microAccuracyValues = metricsInMultipleFo" + + "lds.Select(m => m.AccuracyMicro);\r\n var microAccuracyAverage = microA" + + "ccuracyValues.Average();\r\n var microAccuraciesStdDeviation = Calculat" + + "eStandardDeviation(microAccuracyValues);\r\n var microAccuraciesConfide" + + "nceInterval95 = CalculateConfidenceInterval95(microAccuracyValues);\r\n\r\n " + + " var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro)" + + ";\r\n var macroAccuracyAverage = macroAccuracyValues.Average();\r\n " + + " var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracy" + + "Values);\r\n var macroAccuraciesConfidenceInterval95 = CalculateConfide" + + "nceInterval95(macroAccuracyValues);\r\n\r\n var logLossValues = metricsIn" + + "MultipleFolds.Select(m => m.LogLoss);\r\n var logLossAverage = logLossV" + + "alues.Average();\r\n var logLossStdDeviation = CalculateStandardDeviati" + + "on(logLossValues);\r\n var logLossConfidenceInterval95 = CalculateConfi" + + "denceInterval95(logLossValues);\r\n\r\n var logLossReductionValues = metr" + + "icsInMultipleFolds.Select(m => m.LogLossReduction);\r\n var logLossRedu" + + "ctionAverage = logLossReductionValues.Average();\r\n var logLossReducti" + + "onStdDeviation = CalculateStandardDeviation(logLossReductionValues);\r\n " + + " var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(logLo" + + "ssReductionValues);\r\n\r\n Console.WriteLine($\"*************************" + "********************************************************************************" + - "\");\r\n\r\n }\r\n\r\n public static void PrintMulticlassClassificationFold" + - "sAverageMetrics(\r\n string algorithmName," + - "\r\n (MultiClassClassifierMetrics metrics," + - "\r\n ITransformer model,\r\n " + - " IDataView scoredTestData)[] crossValResults\r\n " + - " )\r\n {\r" + - "\n var metricsInMultipleFolds = crossValResults.Select(r => r.metrics)" + - ";\r\n\r\n var microAccuracyValues = metricsInMultipleFolds.Select(m => m." + - "AccuracyMicro);\r\n var microAccuracyAverage = microAccuracyValues.Aver" + - "age();\r\n var microAccuraciesStdDeviation = CalculateStandardDeviation" + - "(microAccuracyValues);\r\n var microAccuraciesConfidenceInterval95 = Ca" + - "lculateConfidenceInterval95(microAccuracyValues);\r\n\r\n var macroAccura" + - "cyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro);\r\n var" + - " macroAccuracyAverage = macroAccuracyValues.Average();\r\n var macroAcc" + - "uraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues);\r\n " + - " var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macr" + - "oAccuracyValues);\r\n\r\n var logLossValues = metricsInMultipleFolds.Sele" + - "ct(m => m.LogLoss);\r\n var logLossAverage = logLossValues.Average();\r\n" + - " var logLossStdDeviation = CalculateStandardDeviation(logLossValues);" + - "\r\n var logLossConfidenceInterval95 = CalculateConfidenceInterval95(lo" + - "gLossValues);\r\n\r\n var logLossReductionValues = metricsInMultipleFolds" + - ".Select(m => m.LogLossReduction);\r\n var logLossReductionAverage = log" + - "LossReductionValues.Average();\r\n var logLossReductionStdDeviation = C" + - "alculateStandardDeviation(logLossReductionValues);\r\n var logLossReduc" + - "tionConfidenceInterval95 = CalculateConfidenceInterval95(logLossReductionValues)" + - ";\r\n\r\n Console.WriteLine($\"*******************************************" + - "******************************************************************\");\r\n " + - " Console.WriteLine($\"* Metrics for {algorithmName} Multi-class Classific" + - "ation model \");\r\n Console.WriteLine($\"*-------------------------" + + "****\");\r\n Console.WriteLine($\"* Metrics for {algorithmName} Mul" + + "ti-class Classification model \");\r\n Console.WriteLine($\"*-------" + "--------------------------------------------------------------------------------" + - "---\");\r\n Console.WriteLine($\"* Average MicroAccuracy: {micro" + - "AccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:#.##" + - "#}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###})\");" + - "\r\n Console.WriteLine($\"* Average MacroAccuracy: {macroAccura" + - "cyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}) -" + - " Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})\");\r\n " + - " Console.WriteLine($\"* Average LogLoss: {logLossAverage:#." + - "###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Interval" + - " 95%: ({logLossConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"" + - "* Average LogLossReduction: {logLossReductionAverage:#.###} - Standard de" + - "viation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: ({lo" + - "gLossReductionConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"*" + - "********************************************************************************" + - "****************************\");\r\n\r\n }\r\n\r\n public static double Cal" + - "culateStandardDeviation(IEnumerable values)\r\n {\r\n doub" + - "le average = values.Average();\r\n double sumOfSquaresOfDifferences = v" + - "alues.Select(val => (val - average) * (val - average)).Sum();\r\n doubl" + - "e standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Count() - 1)" + - ");\r\n return standardDeviation;\r\n }\r\n\r\n public static do" + - "uble CalculateConfidenceInterval95(IEnumerable values)\r\n {\r\n " + - " double confidenceInterval95 = 1.96 * CalculateStandardDeviation(values) /" + - " Math.Sqrt((values.Count() - 1));\r\n return confidenceInterval95;\r\n " + - " }\r\n\r\n public static void PrintClusteringMetrics(string name, Cluster" + - "ingMetrics metrics)\r\n {\r\n Console.WriteLine($\"****************" + - "*********************************\");\r\n Console.WriteLine($\"* Me" + - "trics for {name} clustering model \");\r\n Console.WriteLine($\"*---" + - "---------------------------------------------\");\r\n Console.WriteLine(" + - "$\"* AvgMinScore: {metrics.AvgMinScore}\");\r\n Console.WriteLine($" + - "\"* DBI is: {metrics.Dbi}\");\r\n Console.WriteLine($\"*************" + - "************************************\");\r\n }\r\n\r\n public static void" + - " ConsoleWriteHeader(params string[] lines)\r\n {\r\n var defaultCo" + - "lor = Console.ForegroundColor;\r\n Console.ForegroundColor = ConsoleCol" + - "or.Yellow;\r\n Console.WriteLine(\" \");\r\n foreach (var line i" + - "n lines)\r\n {\r\n Console.WriteLine(line);\r\n }" + - "\r\n var maxLength = lines.Select(x => x.Length).Max();\r\n Co" + - "nsole.WriteLine(new string(\'#\', maxLength));\r\n Console.ForegroundColo" + - "r = defaultColor;\r\n }\r\n\r\n public static void ConsoleWriterSection(" + - "params string[] lines)\r\n {\r\n var defaultColor = Console.Foregr" + - "oundColor;\r\n Console.ForegroundColor = ConsoleColor.Blue;\r\n " + - " Console.WriteLine(\" \");\r\n foreach (var line in lines)\r\n " + - "{\r\n Console.WriteLine(line);\r\n }\r\n var maxL" + - "ength = lines.Select(x => x.Length).Max();\r\n Console.WriteLine(new st" + - "ring(\'-\', maxLength));\r\n Console.ForegroundColor = defaultColor;\r\n " + - " }\r\n\r\n public static void ConsolePressAnyKey()\r\n {\r\n " + - " var defaultColor = Console.ForegroundColor;\r\n Console.ForegroundCol" + - "or = ConsoleColor.Green;\r\n Console.WriteLine(\" \");\r\n Conso" + - "le.WriteLine(\"Press any key to finish.\");\r\n Console.ReadKey();\r\n " + - " }\r\n\r\n public static void ConsoleWriteException(params string[] lines)\r" + - "\n {\r\n var defaultColor = Console.ForegroundColor;\r\n " + - " Console.ForegroundColor = ConsoleColor.Red;\r\n const string exception" + - "Title = \"EXCEPTION\";\r\n Console.WriteLine(\" \");\r\n Console.W" + - "riteLine(exceptionTitle);\r\n Console.WriteLine(new string(\'#\', excepti" + - "onTitle.Length));\r\n Console.ForegroundColor = defaultColor;\r\n " + - " foreach (var line in lines)\r\n {\r\n Console.WriteLin" + - "e(line);\r\n }\r\n }\r\n\r\n public static void ConsoleWriteWar" + - "ning(params string[] lines)\r\n {\r\n var defaultColor = Console.F" + - "oregroundColor;\r\n Console.ForegroundColor = ConsoleColor.DarkMagenta;" + - "\r\n const string warningTitle = \"WARNING\";\r\n Console.WriteL" + - "ine(\" \");\r\n Console.WriteLine(warningTitle);\r\n Console.Wri" + - "teLine(new string(\'#\', warningTitle.Length));\r\n Console.ForegroundCol" + - "or = defaultColor;\r\n foreach (var line in lines)\r\n {\r\n " + - " Console.WriteLine(line);\r\n }\r\n }\r\n\r\n }\r\n}"); + "---------------------\");\r\n Console.WriteLine($\"* Average MicroA" + + "ccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccuracie" + + "sStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInt" + + "erval95:#.###})\");\r\n Console.WriteLine($\"* Average MacroAccurac" + + "y: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDe" + + "viation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval9" + + "5:#.###})\");\r\n Console.WriteLine($\"* Average LogLoss: " + + "{logLossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - C" + + "onfidence Interval 95%: ({logLossConfidenceInterval95:#.###})\");\r\n Co" + + "nsole.WriteLine($\"* Average LogLossReduction: {logLossReductionAverage:#.#" + + "##} - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence " + + "Interval 95%: ({logLossReductionConfidenceInterval95:#.###})\");\r\n Con" + + "sole.WriteLine($\"***************************************************************" + + "**********************************************\");\r\n\r\n }\r\n\r\n public" + + " static double CalculateStandardDeviation(IEnumerable values)\r\n {" + + "\r\n double average = values.Average();\r\n double sumOfSquare" + + "sOfDifferences = values.Select(val => (val - average) * (val - average)).Sum();\r" + + "\n double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (v" + + "alues.Count() - 1));\r\n return standardDeviation;\r\n }\r\n\r\n " + + " public static double CalculateConfidenceInterval95(IEnumerable values)" + + "\r\n {\r\n double confidenceInterval95 = 1.96 * CalculateStandardD" + + "eviation(values) / Math.Sqrt((values.Count() - 1));\r\n return confiden" + + "ceInterval95;\r\n }\r\n\r\n public static void PrintClusteringMetrics(st" + + "ring name, ClusteringMetrics metrics)\r\n {\r\n Console.WriteLine(" + + "$\"*************************************************\");\r\n Console.Writ" + + "eLine($\"* Metrics for {name} clustering model \");\r\n Consol" + + "e.WriteLine($\"*------------------------------------------------\");\r\n " + + "Console.WriteLine($\"* AvgMinScore: {metrics.AvgMinScore}\");\r\n C" + + "onsole.WriteLine($\"* DBI is: {metrics.Dbi}\");\r\n Console.WriteLi" + + "ne($\"*************************************************\");\r\n }\r\n\r\n " + + "public static void ConsoleWriteHeader(params string[] lines)\r\n {\r\n " + + " var defaultColor = Console.ForegroundColor;\r\n Console.Foreground" + + "Color = ConsoleColor.Yellow;\r\n Console.WriteLine(\" \");\r\n f" + + "oreach (var line in lines)\r\n {\r\n Console.WriteLine(lin" + + "e);\r\n }\r\n var maxLength = lines.Select(x => x.Length).Max(" + + ");\r\n Console.WriteLine(new string(\'#\', maxLength));\r\n Cons" + + "ole.ForegroundColor = defaultColor;\r\n }\r\n\r\n public static void Con" + + "soleWriterSection(params string[] lines)\r\n {\r\n var defaultColo" + + "r = Console.ForegroundColor;\r\n Console.ForegroundColor = ConsoleColor" + + ".Blue;\r\n Console.WriteLine(\" \");\r\n foreach (var line in li" + + "nes)\r\n {\r\n Console.WriteLine(line);\r\n }\r\n " + + " var maxLength = lines.Select(x => x.Length).Max();\r\n Consol" + + "e.WriteLine(new string(\'-\', maxLength));\r\n Console.ForegroundColor = " + + "defaultColor;\r\n }\r\n\r\n public static void ConsolePressAnyKey()\r\n " + + " {\r\n var defaultColor = Console.ForegroundColor;\r\n Con" + + "sole.ForegroundColor = ConsoleColor.Green;\r\n Console.WriteLine(\" \");\r" + + "\n Console.WriteLine(\"Press any key to finish.\");\r\n Console" + + ".ReadKey();\r\n }\r\n\r\n public static void ConsoleWriteException(param" + + "s string[] lines)\r\n {\r\n var defaultColor = Console.ForegroundC" + + "olor;\r\n Console.ForegroundColor = ConsoleColor.Red;\r\n cons" + + "t string exceptionTitle = \"EXCEPTION\";\r\n Console.WriteLine(\" \");\r\n " + + " Console.WriteLine(exceptionTitle);\r\n Console.WriteLine(new s" + + "tring(\'#\', exceptionTitle.Length));\r\n Console.ForegroundColor = defau" + + "ltColor;\r\n foreach (var line in lines)\r\n {\r\n " + + " Console.WriteLine(line);\r\n }\r\n }\r\n\r\n public static vo" + + "id ConsoleWriteWarning(params string[] lines)\r\n {\r\n var defaul" + + "tColor = Console.ForegroundColor;\r\n Console.ForegroundColor = Console" + + "Color.DarkMagenta;\r\n const string warningTitle = \"WARNING\";\r\n " + + " Console.WriteLine(\" \");\r\n Console.WriteLine(warningTitle);\r\n " + + " Console.WriteLine(new string(\'#\', warningTitle.Length));\r\n Con" + + "sole.ForegroundColor = defaultColor;\r\n foreach (var line in lines)\r\n " + + " {\r\n Console.WriteLine(line);\r\n }\r\n }" + + "\r\n\r\n }\r\n}"); return this.GenerationEnvironment.ToString(); } } diff --git a/src/mlnet/Templates/ConsoleHelper.tt b/src/mlnet/Templates/ConsoleHelper.tt index 149dcd3001..7d3b9111c3 100644 --- a/src/mlnet/Templates/ConsoleHelper.tt +++ b/src/mlnet/Templates/ConsoleHelper.tt @@ -44,21 +44,13 @@ namespace MlnetSample Console.WriteLine($"*************************************************"); } - public static void PrintBinaryClassificationMetrics(string name, CalibratedBinaryClassificationMetrics metrics) + public static void PrintBinaryClassificationMetrics(string name, BinaryClassificationMetrics metrics) { Console.WriteLine($"************************************************************"); Console.WriteLine($"* Metrics for {name} binary classification model "); Console.WriteLine($"*-----------------------------------------------------------"); Console.WriteLine($"* Accuracy: {metrics.Accuracy:P2}"); Console.WriteLine($"* Auc: {metrics.Auc:P2}"); - Console.WriteLine($"* Auprc: {metrics.Auprc:P2}"); - Console.WriteLine($"* F1Score: {metrics.F1Score:P2}"); - Console.WriteLine($"* LogLoss: {metrics.LogLoss:#.##}"); - Console.WriteLine($"* LogLossReduction: {metrics.LogLossReduction:#.##}"); - Console.WriteLine($"* PositivePrecision: {metrics.PositivePrecision:#.##}"); - Console.WriteLine($"* PositiveRecall: {metrics.PositiveRecall:#.##}"); - Console.WriteLine($"* NegativePrecision: {metrics.NegativePrecision:#.##}"); - Console.WriteLine($"* NegativeRecall: {metrics.NegativeRecall:P2}"); Console.WriteLine($"************************************************************"); } diff --git a/src/mlnet/Templates/MLCodeGen.cs b/src/mlnet/Templates/MLCodeGen.cs index a2a7a71f59..d3bb21c157 100644 --- a/src/mlnet/Templates/MLCodeGen.cs +++ b/src/mlnet/Templates/MLCodeGen.cs @@ -46,7 +46,7 @@ public virtual string TransformText() if(!string.IsNullOrEmpty(TestPath)){ this.Write(" private static string TestDataPath = @\""); this.Write(this.ToStringHelper.ToStringWithCulture(TestPath)); - this.Write("\"; "); + this.Write("\";\r\n"); } this.Write(@" private static string ModelPath = @""./model.zip""; @@ -111,16 +111,18 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) if(!string.IsNullOrEmpty(TestPath)){ this.Write(" // Evaluate the model and show accuracy stats\r\n Console.Wr" + "iteLine(\"===== Evaluating Model\'s accuracy with Test data =====\");\r\n " + - "var predictions = trainedModel.Transform(testDataView);\r\n var metrics" + - " = mlContext."); - this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); - this.Write(".Evaluate(predictions, \"Label\", \"Score\");\r\n"); + "var predictions = trainedModel.Transform(testDataView);\r\n"); if("BinaryClassification".Equals(TaskType)){ - this.Write(" ConsoleHelper.PrintBinaryClassificationMetrics(trainer.ToString(), me" + - "trics);\r\n"); + this.Write(" var metrics = mlContext."); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(".EvaluateNonCalibrated(predictions, \"Label\", \"Score\");\r\n ConsoleHelper" + + ".PrintBinaryClassificationMetrics(trainer.ToString(), metrics);\r\n"); } if("Regression".Equals(TaskType)){ - this.Write(" ConsoleHelper.PrintRegressionMetrics(trainer.ToString(), metrics);\r\n"); + this.Write(" var metrics = mlContext."); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(".Evaluate(predictions, \"Label\", \"Score\");\r\n ConsoleHelper.PrintRegress" + + "ionMetrics(trainer.ToString(), metrics);\r\n"); } } else{ this.Write(@" @@ -208,12 +210,8 @@ private static void TestSinglePrediction(MLContext mlContext) }else{ this.Write("Score"); } - this.Write("} "); -if("BinaryClassification".Equals(TaskType)){ - this.Write("Probability: {resultprediction.Probability} "); - } - this.Write("\");\r\n Console.WriteLine($\"============================================" + - "======\");\r\n }\r\n\r\n }\r\n\r\n public class SampleClass\r\n {\r\n"); + this.Write("}\");\r\n Console.WriteLine($\"===========================================" + + "=======\");\r\n }\r\n\r\n }\r\n\r\n public class SampleClass\r\n {\r\n"); foreach(var label in ClassLabels) { @@ -225,15 +223,9 @@ private static void TestSinglePrediction(MLContext mlContext) this.Write(" }\r\n\r\n public class SamplePrediction\r\n {\r\n"); if("BinaryClassification".Equals(TaskType)){ - this.Write(@" // ColumnName attribute is used to change the column name from - // its default value, which is the name of the field. - [ColumnName(""PredictedLabel"")] - public bool Prediction { get; set; } - - // No need to specify ColumnName attribute, because the field - // name ""Probability"" is the column name we want. - public float Probability { get; set; } -"); + this.Write(" // ColumnName attribute is used to change the column name from\r\n /" + + "/ its default value, which is the name of the field.\r\n [ColumnName(\"Predi" + + "ctedLabel\")]\r\n public bool Prediction { get; set; }\r\n\r\n"); } if("MultiClassClassification".Equals(TaskType)){ this.Write(" public float[] Score { get; set; }\r\n"); diff --git a/src/mlnet/Templates/MLCodeGen.tt b/src/mlnet/Templates/MLCodeGen.tt index e96f8d4450..4db34ad17f 100644 --- a/src/mlnet/Templates/MLCodeGen.tt +++ b/src/mlnet/Templates/MLCodeGen.tt @@ -23,7 +23,9 @@ namespace MlnetSample class Program { private static string TrainDataPath = @"<#= Path #>"; -<#if(!string.IsNullOrEmpty(TestPath)){ #> private static string TestDataPath = @"<#= TestPath #>"; <# } #> +<#if(!string.IsNullOrEmpty(TestPath)){ #> + private static string TestDataPath = @"<#= TestPath #>"; +<# } #> private static string ModelPath = @"./model.zip"; static void Main(string[] args) @@ -85,10 +87,11 @@ else{#> // Evaluate the model and show accuracy stats Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); var predictions = trainedModel.Transform(testDataView); - var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "Label", "Score"); <#if("BinaryClassification".Equals(TaskType)){ #> + var metrics = mlContext.<#= TaskType #>.EvaluateNonCalibrated(predictions, "Label", "Score"); ConsoleHelper.PrintBinaryClassificationMetrics(trainer.ToString(), metrics); <#}#><#if("Regression".Equals(TaskType)){ #> + var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "Label", "Score"); ConsoleHelper.PrintRegressionMetrics(trainer.ToString(), metrics); <#}#> <# } else{ #> @@ -154,7 +157,7 @@ else{#> var resultprediction = predEngine.Predict(sample); Console.WriteLine($"=============== Single Prediction ==============="); - Console.WriteLine($"Input: {sample} | Prediction: {resultprediction.<#if("BinaryClassification".Equals(TaskType)){ #>Prediction<#}else{#>Score<#}#>} <#if("BinaryClassification".Equals(TaskType)){ #>Probability: {resultprediction.Probability} <# } #>"); + Console.WriteLine($"Input: {sample} | Prediction: {resultprediction.<#if("BinaryClassification".Equals(TaskType)){ #>Prediction<#}else{#>Score<#}#>}"); Console.WriteLine($"=================================================="); } @@ -179,9 +182,6 @@ foreach(var label in ClassLabels) [ColumnName("PredictedLabel")] public bool Prediction { get; set; } - // No need to specify ColumnName attribute, because the field - // name "Probability" is the column name we want. - public float Probability { get; set; } <# } #> <#if("MultiClassClassification".Equals(TaskType)){ #> public float[] Score { get; set; } From 31379c4a2d1da204503bc98fab3b108d25076e21 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Sun, 10 Feb 2019 12:09:12 -0800 Subject: [PATCH 059/211] rev ColumnInference API: can take label index; rev output object types; add tests (#89) --- src/AutoML/API/InferenceException.cs | 11 +-- src/AutoML/API/MLContextDataExtensions.cs | 74 ++----------------- .../ColumnInference/ColumnInferenceApi.cs | 62 +++++++++++++--- .../ColumnInference/ColumnTypeInference.cs | 5 +- src/AutoML/Utils/UserInputValidationUtil.cs | 52 +++++-------- src/Test/AutoFitTests.cs | 12 +-- src/Test/ColumnInferenceTests.cs | 48 ++++++++++-- src/Test/DatasetUtil.cs | 9 ++- src/Test/UserInputValidationTests.cs | 59 ++++----------- src/mlnet.Test/CodeGenTests.cs | 53 ++++++++++--- src/mlnet/CodeGenerator/CodeGenerator.cs | 23 +++--- src/mlnet/Commands/NewCommand.cs | 17 +++-- src/mlnet/Templates/MLCodeGen.cs | 8 +- src/mlnet/Templates/MLCodeGen.tt | 8 +- 14 files changed, 221 insertions(+), 220 deletions(-) diff --git a/src/AutoML/API/InferenceException.cs b/src/AutoML/API/InferenceException.cs index 5ab7c035b6..c0f3516c56 100644 --- a/src/AutoML/API/InferenceException.cs +++ b/src/AutoML/API/InferenceException.cs @@ -8,16 +8,9 @@ namespace Microsoft.ML.Auto { public enum InferenceType { - Seperator, - Header, - Label, - Task, ColumnDataKind, - ColumnPurpose, - Tranform, - Trainer, - Hyperparams, - ColumnSplit + ColumnSplit, + Label, } public class InferenceException : Exception diff --git a/src/AutoML/API/MLContextDataExtensions.cs b/src/AutoML/API/MLContextDataExtensions.cs index 1dbb104191..2622682e80 100644 --- a/src/AutoML/API/MLContextDataExtensions.cs +++ b/src/AutoML/API/MLContextDataExtensions.cs @@ -2,10 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; using System.Collections.Generic; -using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -13,76 +10,21 @@ namespace Microsoft.ML.Auto public static class DataExtensions { // Delimiter, header, column datatype inference - public static ColumnInferenceResult InferColumns(this DataOperationsCatalog catalog, string path, string label, - bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) + public static (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) InferColumns(this DataOperationsCatalog catalog, string path, string label, + char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) { UserInputValidationUtil.ValidateInferColumnsArgs(path, label); var mlContext = new MLContext(); - return ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); + return ColumnInferenceApi.InferColumns(mlContext, path, label, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); } - public static IDataView AutoRead(this DataOperationsCatalog catalog, string path, string label, - bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) + public static (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) InferColumns(this DataOperationsCatalog catalog, string path, int labelColumnIndex, + bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, + bool trimWhitespace = false, bool groupColumns = true) { - UserInputValidationUtil.ValidateAutoReadArgs(path, label); + UserInputValidationUtil.ValidateInferColumnsArgs(path, labelColumnIndex); var mlContext = new MLContext(); - var columnInferenceResult = ColumnInferenceApi.InferColumns(mlContext, path, label, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); - var textLoader = columnInferenceResult.BuildTextLoader(); - return textLoader.Read(path); - } - - public static TextLoader CreateTextLoader(this DataOperationsCatalog catalog, ColumnInferenceResult columnInferenceResult) - { - UserInputValidationUtil.ValidateCreateTextReaderArgs(columnInferenceResult); - return columnInferenceResult.BuildTextLoader(); - } - - // Task inference - public static MachineLearningTaskType InferTask(this DataOperationsCatalog catalog, IDataView dataView) - { - throw new NotImplementedException(); - } - - public enum MachineLearningTaskType - { - Regression, - BinaryClassification, - MultiClassClassification - } - } - - public class ColumnInferenceResult - { - public readonly IEnumerable<(TextLoader.Column, ColumnPurpose)> Columns; - public readonly bool AllowQuotedStrings; - public readonly bool SupportSparse; - public readonly char[] Separators; - public readonly bool HasHeader; - public readonly bool TrimWhitespace; - - public ColumnInferenceResult(IEnumerable<(TextLoader.Column, ColumnPurpose)> columns, - bool allowQuotedStrings, bool supportSparse, char[] separators, bool hasHeader, bool trimWhitespace) - { - Columns = columns; - AllowQuotedStrings = allowQuotedStrings; - SupportSparse = supportSparse; - Separators = separators; - HasHeader = hasHeader; - TrimWhitespace = trimWhitespace; - } - - internal TextLoader BuildTextLoader() - { - var context = new MLContext(); - return new TextLoader(context, new TextLoader.Arguments() - { - AllowQuoting = AllowQuotedStrings, - AllowSparse = SupportSparse, - Column = Columns.Select(c => c.Item1).ToArray(), - Separators = Separators, - HasHeader = HasHeader, - TrimWhitespace = TrimWhitespace - }); + return ColumnInferenceApi.InferColumns(mlContext, path, labelColumnIndex, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); } } } diff --git a/src/AutoML/ColumnInference/ColumnInferenceApi.cs b/src/AutoML/ColumnInference/ColumnInferenceApi.cs index 36686f7a24..70355117b1 100644 --- a/src/AutoML/ColumnInference/ColumnInferenceApi.cs +++ b/src/AutoML/ColumnInference/ColumnInferenceApi.cs @@ -2,6 +2,8 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; +using System.Collections.Generic; using System.Linq; using Microsoft.ML.Data; @@ -9,12 +11,43 @@ namespace Microsoft.ML.Auto { internal static class ColumnInferenceApi { - public static ColumnInferenceResult InferColumns(MLContext context, string path, string label, + public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) InferColumns(MLContext context, string path, int labelColumnIndex, bool hasHeader, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse, bool trimWhitespace, bool groupColumns) { var sample = TextFileSample.CreateFromFullFile(path); var splitInference = InferSplit(sample, separatorChar, allowQuotedStrings, supportSparse); var typeInference = InferColumnTypes(context, sample, splitInference, hasHeader); + + // If label column index > inferred # of columns, throw error + if (labelColumnIndex >= typeInference.Columns.Count()) + { + throw new ArgumentOutOfRangeException(nameof(labelColumnIndex), $"Label column index ({labelColumnIndex}) is >= than # of inferred columns ({typeInference.Columns.Count()})."); + } + + // if no column is named label, + // rename label column to default ML.NET label column name + if (!typeInference.Columns.Any(c => c.SuggestedName == DefaultColumnNames.Label)) + { + typeInference.Columns[labelColumnIndex].SuggestedName = DefaultColumnNames.Label; + } + + return InferColumns(context, path, typeInference.Columns[labelColumnIndex].SuggestedName, + hasHeader, splitInference, typeInference, trimWhitespace, groupColumns); + } + + public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) InferColumns(MLContext context, string path, string label, + char? separatorChar, bool? allowQuotedStrings, bool? supportSparse, bool trimWhitespace, bool groupColumns) + { + var sample = TextFileSample.CreateFromFullFile(path); + var splitInference = InferSplit(sample, separatorChar, allowQuotedStrings, supportSparse); + var typeInference = InferColumnTypes(context, sample, splitInference, true); + return InferColumns(context, path, label, true, splitInference, typeInference, trimWhitespace, groupColumns); + } + + public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) InferColumns(MLContext context, string path, string label, bool hasHeader, + TextFileContents.ColumnSplitResult splitInference, ColumnTypeInference.InferenceResult typeInference, + bool trimWhitespace, bool groupColumns) + { var loaderColumns = ColumnTypeInference.GenerateLoaderColumns(typeInference.Columns); if (!loaderColumns.Any(t => label.Equals(t.Name))) { @@ -34,25 +67,34 @@ public static ColumnInferenceResult InferColumns(MLContext context, string path, var purposeInferenceResult = PurposeInference.InferPurposes(context, dataView, label); - (TextLoader.Column, ColumnPurpose Purpose)[] inferredColumns = null; + // start building result objects + IEnumerable columnResults = null; + IEnumerable<(string, ColumnPurpose)> purposeResults = null; + // infer column grouping and generate column names if (groupColumns) { var groupingResult = ColumnGroupingInference.InferGroupingAndNames(context, hasHeader, typeInference.Columns, purposeInferenceResult); - // build result objects & return - inferredColumns = groupingResult.Select(c => (c.GenerateTextLoaderColumn(), c.Purpose)).ToArray(); + columnResults = groupingResult.Select(c => c.GenerateTextLoaderColumn()); + purposeResults = groupingResult.Select(c => (c.SuggestedName, c.Purpose)); } else { - inferredColumns = new (TextLoader.Column, ColumnPurpose Purpose)[loaderColumns.Length]; - for (int i = 0; i < loaderColumns.Length; i++) - { - inferredColumns[i] = (loaderColumns[i], purposeInferenceResult[i].Purpose); - } + columnResults = loaderColumns; + purposeResults = purposeInferenceResult.Select(p => (dataView.Schema[p.ColumnIndex].Name, p.Purpose)); } - return new ColumnInferenceResult(inferredColumns, splitInference.AllowQuote, splitInference.AllowSparse, new char[] { splitInference.Separator.Value }, hasHeader, trimWhitespace); + + return (new TextLoader.Arguments() + { + Column = columnResults.ToArray(), + AllowQuoting = splitInference.AllowQuote, + AllowSparse = splitInference.AllowSparse, + Separators = new char[] { splitInference.Separator.Value }, + HasHeader = hasHeader, + TrimWhitespace = trimWhitespace + }, purposeResults); } private static TextFileContents.ColumnSplitResult InferSplit(TextFileSample sample, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse) diff --git a/src/AutoML/ColumnInference/ColumnTypeInference.cs b/src/AutoML/ColumnInference/ColumnTypeInference.cs index 42deda7d94..010445c572 100644 --- a/src/AutoML/ColumnInference/ColumnTypeInference.cs +++ b/src/AutoML/ColumnInference/ColumnTypeInference.cs @@ -70,12 +70,13 @@ public IntermediateColumn(ReadOnlyMemory[] data, int columnId) public ReadOnlyMemory[] RawData { get { return _data; } } } - public readonly struct Column + public struct Column { public readonly int ColumnIndex; - public readonly string SuggestedName; public readonly PrimitiveType ItemType; + public string SuggestedName; + public Column(int columnIndex, string suggestedName, PrimitiveType itemType) { ColumnIndex = columnIndex; diff --git a/src/AutoML/Utils/UserInputValidationUtil.cs b/src/AutoML/Utils/UserInputValidationUtil.cs index c6a780e5dd..1b7f7cfd35 100644 --- a/src/AutoML/Utils/UserInputValidationUtil.cs +++ b/src/AutoML/Utils/UserInputValidationUtil.cs @@ -17,7 +17,7 @@ public static void ValidateAutoFitArgs(IDataView trainData, string label, IDataV { ValidateTrainData(trainData); ValidateValidationData(trainData, validationData); - ValidateLabel(trainData, validationData, label); + ValidateLabel(trainData, label); ValidateSettings(settings); ValidatePurposeOverrides(trainData, validationData, label, purposeOverrides); } @@ -28,49 +28,27 @@ public static void ValidateInferColumnsArgs(string path, string label) ValidatePath(path); } - public static void ValidateAutoReadArgs(string path, string label) + public static void ValidateInferColumnsArgs(string path, int labelColumnIndex) { - ValidateLabel(label); + ValidateLabelColumnIndex(labelColumnIndex); ValidatePath(path); } - public static void ValidateCreateTextReaderArgs(ColumnInferenceResult columnInferenceResult) + public static void ValidateAutoReadArgs(string path, string label) { - if(columnInferenceResult == null) - { - throw new ArgumentNullException($"Column inference result cannot be null", nameof(columnInferenceResult)); - } - - if (columnInferenceResult.Separators == null || !columnInferenceResult.Separators.Any()) - { - throw new ArgumentException($"Column inference result cannot have null or empty separators", nameof(columnInferenceResult)); - } - - if (columnInferenceResult.Columns == null || !columnInferenceResult.Columns.Any()) - { - throw new ArgumentException($"Column inference result must contain at least one column", nameof(columnInferenceResult)); - } - - if(columnInferenceResult.Columns.Any(c => c.Item1 == null)) - { - throw new ArgumentException($"Column inference result cannot contain null columns", nameof(columnInferenceResult)); - } - - if (columnInferenceResult.Columns.Any(c => c.Item1.Name == null || c.Item1.Type == null || c.Item1.Source == null)) - { - throw new ArgumentException($"Column inference result cannot contain a column that has a null name, type, or source", nameof(columnInferenceResult)); - } + ValidateLabel(label); + ValidatePath(path); } private static void ValidateTrainData(IDataView trainData) { if(trainData == null) { - throw new ArgumentNullException("Training data cannot be null", nameof(trainData)); + throw new ArgumentNullException(nameof(trainData), "Training data cannot be null"); } } - private static void ValidateLabel(IDataView trainData, IDataView validationData, string label) + private static void ValidateLabel(IDataView trainData, string label) { ValidateLabel(label); @@ -84,7 +62,15 @@ private static void ValidateLabel(string label) { if (label == null) { - throw new ArgumentNullException("Provided label cannot be null", nameof(label)); + throw new ArgumentNullException(nameof(label), "Provided label cannot be null"); + } + } + + private static void ValidateLabelColumnIndex(int labelColumnIndex) + { + if (labelColumnIndex < 0) + { + throw new ArgumentOutOfRangeException(nameof(labelColumnIndex), $"Provided label column index ({labelColumnIndex}) must be non-negative."); } } @@ -92,7 +78,7 @@ private static void ValidatePath(string path) { if (path == null) { - throw new ArgumentNullException("Provided path cannot be null", nameof(path)); + throw new ArgumentNullException(nameof(path), "Provided path cannot be null"); } var fileInfo = new FileInfo(path); @@ -148,7 +134,7 @@ private static void ValidateSettings(AutoFitSettings settings) if(settings.StoppingCriteria.MaxIterations <= 0) { - throw new ArgumentOutOfRangeException("Max iterations must be > 0", nameof(settings)); + throw new ArgumentOutOfRangeException(nameof(settings), "Max iterations must be > 0"); } } diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index a993ff61c5..2d206c72ca 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -15,8 +15,8 @@ public void AutoFitBinaryTest() { var context = new MLContext(); var dataPath = DatasetUtil.DownloadUciAdultDataset(); - var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.UciAdultLabel, true); - var textLoader = context.Data.CreateTextLoader(columnInference); + var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.UciAdultLabel); + var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(dataPath); var validationData = trainData.Take(100); trainData = trainData.Skip(100); @@ -38,8 +38,8 @@ public void AutoFitMultiTest() { var context = new MLContext(); var dataPath = DatasetUtil.DownloadTrivialDataset(); - var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.TrivialDatasetLabel, true); - var textLoader = context.Data.CreateTextLoader(columnInference); + var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.TrivialDatasetLabel); + var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(dataPath); var validationData = trainData.Take(20); trainData = trainData.Skip(20); @@ -61,8 +61,8 @@ public void AutoFitRegressionTest() { var context = new MLContext(); var dataPath = DatasetUtil.DownloadMlNetGeneratedRegressionDataset(); - var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.MlNetGeneratedRegressionLabel, true); - var textLoader = context.Data.CreateTextLoader(columnInference); + var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.MlNetGeneratedRegressionLabel); + var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(dataPath); var validationData = trainData.Take(20); trainData = trainData.Skip(20); diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index bb6058957f..f8176b35b6 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -1,4 +1,6 @@ -using System.Linq; +using System; +using System.Linq; +using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Microsoft.ML.Auto.Test @@ -11,14 +13,14 @@ public void UnGroupColumnsTest() { var dataPath = DatasetUtil.DownloadUciAdultDataset(); var context = new MLContext(); - var columnInferenceWithoutGrouping = context.Data.InferColumns(dataPath, DatasetUtil.UciAdultLabel, true, groupColumns: false); - foreach (var col in columnInferenceWithoutGrouping.Columns) + var columnInferenceWithoutGrouping = context.Data.InferColumns(dataPath, DatasetUtil.UciAdultLabel, groupColumns: false); + foreach (var col in columnInferenceWithoutGrouping.TextLoaderArgs.Column) { - Assert.IsFalse(col.Item1.Source.Length > 1 || col.Item1.Source[0].Min != col.Item1.Source[0].Max); + Assert.IsFalse(col.Source.Length > 1 || col.Source[0].Min != col.Source[0].Max); } - var columnInferenceWithGrouping = context.Data.InferColumns(dataPath, DatasetUtil.UciAdultLabel, true, groupColumns: true); - Assert.IsTrue(columnInferenceWithGrouping.Columns.Count() < columnInferenceWithoutGrouping.Columns.Count()); + var columnInferenceWithGrouping = context.Data.InferColumns(dataPath, DatasetUtil.UciAdultLabel, groupColumns: true); + Assert.IsTrue(columnInferenceWithGrouping.TextLoaderArgs.Column.Count() < columnInferenceWithoutGrouping.TextLoaderArgs.Column.Count()); } [TestMethod] @@ -26,7 +28,39 @@ public void IncorrectLabelColumnTest() { var dataPath = DatasetUtil.DownloadUciAdultDataset(); var context = new MLContext(); - Assert.ThrowsException(new System.Action(() => context.Data.InferColumns(dataPath, "Junk", true, groupColumns: false))); + Assert.ThrowsException(new System.Action(() => context.Data.InferColumns(dataPath, "Junk", groupColumns: false))); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentOutOfRangeException))] + public void InferColumnsLabelIndexOutOfBounds() + { + new MLContext().Data.InferColumns(DatasetUtil.DownloadUciAdultDataset(), 100); + } + + [TestMethod] + public void InferColumnsLabelIndex() + { + var result = new MLContext().Data.InferColumns(DatasetUtil.DownloadUciAdultDataset(), 14, hasHeader: true); + Assert.AreEqual(true, result.TextLoaderArgs.HasHeader); + var labelCol = result.TextLoaderArgs.Column.First(c => c.Source[0].Min == 14 && c.Source[0].Max == 14); + Assert.AreEqual("hours_per_week", labelCol.Name); + var labelPurposes = result.ColumnPurpopses.Where(c => c.Purpose == ColumnPurpose.Label); + Assert.AreEqual(1, labelPurposes.Count()); + Assert.AreEqual("hours_per_week", labelPurposes.First().Name); + } + + [TestMethod] + public void InferColumnsLabelIndexNoHeaders() + { + var result = new MLContext().Data.InferColumns(DatasetUtil.DownloadIrisDataset(), DatasetUtil.IrisDatasetLabelColIndex); + Assert.AreEqual(false, result.TextLoaderArgs.HasHeader); + var labelCol = result.TextLoaderArgs.Column.First(c => c.Source[0].Min == DatasetUtil.IrisDatasetLabelColIndex && + c.Source[0].Max == DatasetUtil.IrisDatasetLabelColIndex); + Assert.AreEqual(DefaultColumnNames.Label, labelCol.Name); + var labelPurposes = result.ColumnPurpopses.Where(c => c.Purpose == ColumnPurpose.Label); + Assert.AreEqual(1, labelPurposes.Count()); + Assert.AreEqual(DefaultColumnNames.Label, labelPurposes.First().Name); } } } \ No newline at end of file diff --git a/src/Test/DatasetUtil.cs b/src/Test/DatasetUtil.cs index 5ec3a5f75a..c00a883fec 100644 --- a/src/Test/DatasetUtil.cs +++ b/src/Test/DatasetUtil.cs @@ -15,6 +15,7 @@ internal static class DatasetUtil public const string UciAdultLabel = DefaultColumnNames.Label; public const string TrivialDatasetLabel = DefaultColumnNames.Label; public const string MlNetGeneratedRegressionLabel = "target"; + public const int IrisDatasetLabelColIndex = 0; private static IDataView _uciAdultDataView; @@ -22,8 +23,11 @@ public static IDataView GetUciAdultDataView() { if(_uciAdultDataView == null) { + var context = new MLContext(); var uciAdultDataFile = DownloadUciAdultDataset(); - _uciAdultDataView = (new MLContext()).Data.AutoRead(uciAdultDataFile, UciAdultLabel, true); + var columnInferenceResult = context.Data.InferColumns(uciAdultDataFile, UciAdultLabel); + var textLoader = context.Data.CreateTextLoader(columnInferenceResult.TextLoaderArgs); + _uciAdultDataView = textLoader.Read(uciAdultDataFile); } return _uciAdultDataView; } @@ -38,6 +42,9 @@ public static string DownloadTrivialDataset() => public static string DownloadMlNetGeneratedRegressionDataset() => DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/e78971ea6fd736038b4c355b840e5cbabae8cb55/test/data/generated_regression_dataset.csv", "mlnet_generated_regression.dataset"); + public static string DownloadIrisDataset() => + DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/54596ac/test/data/iris.txt", "iris.dataset"); + private static string DownloadIfNotExists(string baseGitPath, string dataFile) { // if file doesn't already exist, download it diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index 73688d0116..3af141cd14 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -14,52 +14,6 @@ namespace Microsoft.ML.Auto.Test [TestClass] public class UserInputValidationTests { - [TestMethod] - [ExpectedException(typeof(ArgumentNullException))] - public void ValidateCreateTextReaderArgsNullInput() - { - UserInputValidationUtil.ValidateCreateTextReaderArgs(null); - } - - [TestMethod] - [ExpectedException(typeof(ArgumentException))] - public void ValidateCreateTextReaderArgsNoColumns() - { - var input = new ColumnInferenceResult(new List<(TextLoader.Column, ColumnPurpose)>(), - false, false, new[] { '\t' }, false, false); - UserInputValidationUtil.ValidateCreateTextReaderArgs(input); - } - - [TestMethod] - [ExpectedException(typeof(ArgumentException))] - public void ValidateCreateTextReaderArgsNullColumn() - { - var input = new ColumnInferenceResult( - new List<(TextLoader.Column, ColumnPurpose)>() { (null, ColumnPurpose.CategoricalFeature) }, - false, false, new[] { '\t' }, false, false); - UserInputValidationUtil.ValidateCreateTextReaderArgs(input); - } - - [TestMethod] - [ExpectedException(typeof(ArgumentException))] - public void ValidateCreateTextReaderArgsColumnWithNullSoure() - { - var input = new ColumnInferenceResult( - new List<(TextLoader.Column, ColumnPurpose)>() { (new TextLoader.Column() { Name = "Column", Type = DataKind.R4 } , ColumnPurpose.CategoricalFeature) }, - false, false, new[] { '\t' }, false, false); - UserInputValidationUtil.ValidateCreateTextReaderArgs(input); - } - - [TestMethod] - [ExpectedException(typeof(ArgumentException))] - public void ValidateCreateTextReaderArgsNullSeparator() - { - var input = new ColumnInferenceResult( - new List<(TextLoader.Column, ColumnPurpose)>() { (new TextLoader.Column("Column", DataKind.R4, 4), ColumnPurpose.CategoricalFeature) }, - false, false, null, false, false); - UserInputValidationUtil.ValidateCreateTextReaderArgs(input); - } - [TestMethod] [ExpectedException(typeof(ArgumentNullException))] public void ValidateAutoFitNullTrainData() @@ -237,5 +191,18 @@ public void ValidateInferColumnsArgsEmptyFile() File.Create(emptyFilePath).Dispose(); UserInputValidationUtil.ValidateInferColumnsArgs(emptyFilePath, "Label"); } + + [TestMethod] + public void ValidateOkayInferColsLabelIndex() + { + UserInputValidationUtil.ValidateInferColumnsArgs(DatasetUtil.DownloadUciAdultDataset(), 0); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentOutOfRangeException))] + public void ValidateInferColsNegativeLabelIndex() + { + UserInputValidationUtil.ValidateInferColumnsArgs(DatasetUtil.DownloadUciAdultDataset(), -1); + } } } diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index 4a6e285758..cb5877ef46 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -23,7 +23,7 @@ public void TrainerGeneratorBasicNamedParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); var actual = codeGenerator.GenerateTrainerAndUsings(); string expected = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumn:\"Label\",featureColumn:\"Features\");"; Assert.AreEqual(expected, actual.Item1); @@ -43,7 +43,7 @@ public void TrainerGeneratorBasicAdvancedParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); var actual = codeGenerator.GenerateTrainerAndUsings(); string expectedTrainer = "LightGbm(new Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"});"; string expectedUsing = "using Microsoft.ML.LightGBM;\r\n"; @@ -58,7 +58,7 @@ public void TransformGeneratorBasicTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); var actual = codeGenerator.GenerateTransformsAndUsings(); string expected = "Normalize(\"Label\",\"Label\")"; Assert.AreEqual(expected, actual[0].Item1); @@ -72,7 +72,7 @@ public void TransformGeneratorUsingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"Label\",\"Label\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; @@ -83,11 +83,25 @@ public void TransformGeneratorUsingTest() [TestMethod] public void ClassLabelGenerationBasicTest() { - List<(TextLoader.Column, ColumnPurpose)> list = new List<(TextLoader.Column, ColumnPurpose)>() + var columns = new TextLoader.Column[] { - (new TextLoader.Column(){ Name = "Label", Source = new TextLoader.Range[]{new TextLoader.Range(0) }, Type = DataKind.Bool }, ColumnPurpose.Label), + new TextLoader.Column(){ Name = DefaultColumnNames.Label, Source = new TextLoader.Range[]{new TextLoader.Range(0) }, Type = DataKind.Bool }, }; - ColumnInferenceResult result = new ColumnInferenceResult(list, false, false, new[] { ',' }, true, true); + + var purposes = new List<(string, ColumnPurpose)>() + { + (DefaultColumnNames.Label, ColumnPurpose.Label), + }; + + var result = (new TextLoader.Arguments() + { + Column = columns, + AllowQuoting = false, + AllowSparse = false, + Separators = new[] { ',' }, + HasHeader = true, + TrimWhitespace = true + }, purposes); CodeGenerator codeGenerator = new CodeGenerator(null, result); var actual = codeGenerator.GenerateClassLabels(); @@ -101,12 +115,27 @@ public void ClassLabelGenerationBasicTest() [TestMethod] public void ColumnGenerationTest() { - List<(TextLoader.Column, ColumnPurpose)> list = new List<(TextLoader.Column, ColumnPurpose)>() + var columns = new TextLoader.Column[] { - (new TextLoader.Column(){ Name = "Label", Source = new TextLoader.Range[]{new TextLoader.Range(0) }, Type = DataKind.Bool }, ColumnPurpose.Label), - (new TextLoader.Column(){ Name = "Features", Source = new TextLoader.Range[]{new TextLoader.Range(1) }, Type = DataKind.R4 }, ColumnPurpose.NumericFeature), + new TextLoader.Column(){ Name = DefaultColumnNames.Label, Source = new TextLoader.Range[]{new TextLoader.Range(0) }, Type = DataKind.Bool }, + new TextLoader.Column(){ Name = DefaultColumnNames.Features, Source = new TextLoader.Range[]{new TextLoader.Range(1) }, Type = DataKind.R4 }, }; - ColumnInferenceResult result = new ColumnInferenceResult(list, false, false, new[] { ',' }, true, true); + + var purposes = new List<(string, ColumnPurpose)>() + { + (DefaultColumnNames.Label, ColumnPurpose.Label), + (DefaultColumnNames.Features, ColumnPurpose.NumericFeature), + }; + + var result = (new TextLoader.Arguments() + { + Column = columns, + AllowQuoting = false, + AllowSparse = false, + Separators = new[] { ',' }, + HasHeader = true, + TrimWhitespace = true + }, purposes); var context = new MLContext(); var elementProperties = new Dictionary(); @@ -132,7 +161,7 @@ public void TrainerComplexParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); var actual = codeGenerator.GenerateTrainerAndUsings(); string expectedTrainer = "LightGbm(new Options(){Booster=new TreeBooster(){},LabelColumn=\"Label\",FeatureColumn=\"Features\"});"; var expectedUsings = "using Microsoft.ML.LightGBM;\r\n"; diff --git a/src/mlnet/CodeGenerator/CodeGenerator.cs b/src/mlnet/CodeGenerator/CodeGenerator.cs index 2707c2c6e2..e4be1d4c32 100644 --- a/src/mlnet/CodeGenerator/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CodeGenerator.cs @@ -14,9 +14,9 @@ namespace Microsoft.ML.CLI internal class CodeGenerator { private readonly Pipeline pipeline; - private readonly ColumnInferenceResult columnInferenceResult; + private readonly (Arguments, IEnumerable<(string, ColumnPurpose)>) columnInferenceResult; - public CodeGenerator(Pipeline pipelineToDeconstruct, ColumnInferenceResult columnInferenceResult) + public CodeGenerator(Pipeline pipelineToDeconstruct, (Arguments, IEnumerable<(string, ColumnPurpose)>) columnInferenceResult) { this.pipeline = pipelineToDeconstruct; this.columnInferenceResult = columnInferenceResult; @@ -45,15 +45,14 @@ public CodeGenerator(Pipeline pipelineToDeconstruct, ColumnInferenceResult colum internal IList GenerateClassLabels() { IList result = new List(); - foreach (var column in columnInferenceResult.Columns) + foreach (var column in columnInferenceResult.Item1.Column) { StringBuilder sb = new StringBuilder(); - var current = column.Item1; - int range = (current.Source[0].Max - current.Source[0].Min).Value; + int range = (column.Source[0].Max - column.Source[0].Min).Value; bool isArray = range > 0; sb.Append(Symbols.PublicSymbol); sb.Append(Symbols.Space); - switch (current.Type) + switch (column.Type) { case Microsoft.ML.Data.DataKind.TX: sb.Append(Symbols.StringSymbol); @@ -80,21 +79,21 @@ internal IList GenerateClassLabels() sb.Append(Symbols.UlongSymbol); break; default: - throw new ArgumentException($"The data type '{current.Type}' is not handled currently."); + throw new ArgumentException($"The data type '{column.Type}' is not handled currently."); } if (range > 0) { - result.Add("[ColumnName(\"" + current.Name + "\"), VectorType(" + (range + 1) + ")]"); + result.Add((string)("[ColumnName(\"" + column.Name + "\"), VectorType(" + (range + 1) + ")]")); sb.Append("[]"); } else { - result.Add("[ColumnName(\"" + current.Name + "\")]"); + result.Add((string)("[ColumnName(\"" + column.Name + "\")]")); } sb.Append(" "); - sb.Append(Normalize(current.Name)); + sb.Append(Normalize(column.Name)); sb.Append("{get; set;}"); result.Add(sb.ToString()); result.Add("\r\n"); @@ -105,9 +104,9 @@ internal IList GenerateClassLabels() internal IList GenerateColumns() { var result = new List(); - foreach (var column in columnInferenceResult.Columns) + foreach (var column in columnInferenceResult.Item1.Column) { - result.Add(ConstructColumnDefinition(column.Item1)); + result.Add(ConstructColumnDefinition(column)); } return result; } diff --git a/src/mlnet/Commands/NewCommand.cs b/src/mlnet/Commands/NewCommand.cs index 6dc61fceeb..e0e033b96d 100644 --- a/src/mlnet/Commands/NewCommand.cs +++ b/src/mlnet/Commands/NewCommand.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; @@ -27,8 +28,8 @@ internal static void Run(Options options) var label = options.LabelName; // For Version 0.1 It is required that the data set has header. - var columnInference = context.Data.InferColumns(options.TrainDataset.FullName, label, true, groupColumns: false); - var textLoader = context.Data.CreateTextLoader(columnInference); + var columnInference = context.Data.InferColumns(options.TrainDataset.FullName, label, groupColumns: false); + var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); IDataView trainData = textLoader.Read(options.TrainDataset.FullName); IDataView validationData = options.TestDataset == null ? null : textLoader.Read(options.TestDataset.FullName); @@ -93,7 +94,7 @@ private static (Pipeline, ITransformer) ExploreModels( return (pipelineToDeconstruct, model); } - private static void RunCodeGen(Options options, ColumnInferenceResult columnInference, Pipeline pipelineToDeconstruct) + private static void RunCodeGen(Options options, (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) columnInference, Pipeline pipelineToDeconstruct) { var codeGenerator = new CodeGenerator(pipelineToDeconstruct, columnInference); var trainerAndUsings = codeGenerator.GenerateTrainerAndUsings(); @@ -128,11 +129,11 @@ private static void RunCodeGen(Options options, ColumnInferenceResult columnInfe TestPath = options.TestDataset?.FullName, Columns = columns, Transforms = transforms, - HasHeader = columnInference.HasHeader, - Separators = columnInference.Separators, - AllowQuotedStrings = columnInference.AllowQuotedStrings, - SupportSparse = columnInference.SupportSparse, - TrimWhiteSpace = columnInference.TrimWhitespace, + HasHeader = columnInference.Item1.HasHeader, + Separators = columnInference.Item1.Separators, + AllowQuoting = columnInference.Item1.AllowQuoting, + AllowSparse = columnInference.Item1.AllowSparse, + TrimWhiteSpace = columnInference.Item1.TrimWhitespace, Trainer = trainer, TaskType = options.MlTask.ToString(), ClassLabels = classLabels, diff --git a/src/mlnet/Templates/MLCodeGen.cs b/src/mlnet/Templates/MLCodeGen.cs index d3bb21c157..da5a129a63 100644 --- a/src/mlnet/Templates/MLCodeGen.cs +++ b/src/mlnet/Templates/MLCodeGen.cs @@ -172,11 +172,11 @@ private static TextLoader GetTextLoader(MLContext mlContext) this.Write(",\r\n Separators = new char[] {"); Write(string.Join(",", Separators.Select(t => "'" + t.ToString() + "'").ToArray())); this.Write("},\r\n AllowQuoting = "); - this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuotedStrings.ToString().ToLowerInvariant())); + this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); this.Write(",\r\n TrimWhitespace = "); this.Write(this.ToStringHelper.ToStringWithCulture(TrimWhiteSpace.ToString().ToLowerInvariant())); this.Write(" ,\r\n AllowSparse = "); - this.Write(this.ToStringHelper.ToStringWithCulture(SupportSparse.ToString().ToLowerInvariant())); + this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); this.Write(@" }); } @@ -246,8 +246,8 @@ private static void TestSinglePrediction(MLContext mlContext) public string TaskType {get;set;} public IList ClassLabels {get;set;} public string GeneratedUsings {get;set;} -public bool AllowQuotedStrings {get;set;} -public bool SupportSparse {get;set;} +public bool AllowQuoting {get;set;} +public bool AllowSparse {get;set;} public bool TrimWhiteSpace {get;set;} } diff --git a/src/mlnet/Templates/MLCodeGen.tt b/src/mlnet/Templates/MLCodeGen.tt index 4db34ad17f..02c2be278c 100644 --- a/src/mlnet/Templates/MLCodeGen.tt +++ b/src/mlnet/Templates/MLCodeGen.tt @@ -128,9 +128,9 @@ else{#> }, HasHeader = <#= HasHeader.ToString().ToLowerInvariant() #>, Separators = new char[] {<# Write(string.Join(",", Separators.Select(t => "'" + t.ToString() + "'").ToArray())); #>}, - AllowQuoting = <#= AllowQuotedStrings.ToString().ToLowerInvariant() #>, + AllowQuoting = <#= AllowQuoting.ToString().ToLowerInvariant() #>, TrimWhitespace = <#= TrimWhiteSpace.ToString().ToLowerInvariant() #> , - AllowSparse = <#= SupportSparse.ToString().ToLowerInvariant() #> + AllowSparse = <#= AllowSparse.ToString().ToLowerInvariant() #> }); } @@ -202,7 +202,7 @@ public string Trainer {get;set;} public string TaskType {get;set;} public IList ClassLabels {get;set;} public string GeneratedUsings {get;set;} -public bool AllowQuotedStrings {get;set;} -public bool SupportSparse {get;set;} +public bool AllowQuoting {get;set;} +public bool AllowSparse {get;set;} public bool TrimWhiteSpace {get;set;} #> From fd5c90436ee3f960ffb58ee1ef44271d7b8e4395 Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin <45412678+Dmitry-A@users.noreply.github.com> Date: Sun, 10 Feb 2019 22:49:55 -0800 Subject: [PATCH 060/211] rename AutoML to Microsoft.ML.Auto everywhere and a shot at publishing nuget package (#99) * Create test.txt * Create test.txt * changes needed for benchmarking * forgot one file * merge conflict fix * fix build break * back out my version of the fix for Label column issue and fix the original fix * bogus file removal * undo SuggestedPipeline change * remove labelCol from pipeline suggester * fix build break * rename AutoML to Microsoft.ML.Auto everywhere and a shot at publishing nuget package (will probably need tweaks once I try to use the pipleline) --- AutoML.sln | 2 +- THIRD-PARTY-NOTICES.TXT | 21 ++ build.proj | 10 +- build/vsts-ci.yml | 192 +----------------- .../API/AutoFitSettings.cs | 0 .../API/InferenceException.cs | 0 .../API/MLContextAutoFitExtensions.cs | 0 .../API/MLContextDataExtensions.cs | 0 .../API/Pipeline.cs | 0 src/{AutoML => Microsoft.ML.Auto}/Assembly.cs | 0 .../AutoFitter/AutoFitter.cs | 0 .../AutoFitter/OptimizingMetric.cs | 0 .../AutoFitter/RecipeInference.cs | 0 .../AutoFitter/SuggestedPipeline.cs | 0 .../AutoFitter/SuggestedPipelineResult.cs | 0 .../AutoFitter/SuggestedTrainer.cs | 0 .../AutoMlUtils.cs | 0 .../ColumnGroupingInference.cs | 0 .../ColumnInference/ColumnInferenceApi.cs | 0 .../ColumnInference/ColumnPurpose.cs | 0 .../ColumnInference/ColumnTypeInference.cs | 0 .../ColumnInference/PurposeInference.cs | 0 .../ColumnInference/TextFileContents.cs | 0 .../ColumnInference/TextFileSample.cs | 0 .../DatasetDimensions/ColumnDimensions.cs | 0 .../DatasetDimensions/DatasetDimensionsApi.cs | 0 .../DatasetDimensionsUtil.cs | 0 .../DebugLogger.cs | 0 .../EstimatorExtensionCatalog.cs | 0 .../EstimatorExtensions.cs | 0 .../IEstimatorExtension.cs | 0 .../Microsoft.ML.Auto.csproj} | 16 ++ .../PipelineSuggesters/PipelineSuggester.cs | 0 .../RuleSet1.ruleset | 0 .../Sweepers/ISweeper.cs | 0 .../Sweepers/Parameters.cs | 0 .../Sweepers/Random.cs | 0 .../Sweepers/SmacSweeper.cs | 0 .../Sweepers/SweeperBase.cs | 0 .../Sweepers/SweeperProbabilityUtils.cs | 0 src/{AutoML => Microsoft.ML.Auto}/TaskKind.cs | 0 .../Terminators/IterationBasedTerminator.cs | 0 .../BinaryTrainerExtensions.cs | 0 .../TrainerExtensions/ITrainerExtension.cs | 0 .../MultiTrainerExtensions.cs | 0 .../RegressionTrainerExtensions.cs | 0 .../TrainerExtensions/SweepableParams.cs | 0 .../TrainerExtensionCatalog.cs | 0 .../TrainerExtensions/TrainerExtensionUtil.cs | 0 .../TransformInference/TransformInference.cs | 0 .../TransformInferenceApi.cs | 0 .../Utils/ColumnTypeExtensions.cs | 0 .../Utils/Conversions.cs | 0 .../Utils/DataKindExtensions.cs | 0 .../Utils/Hashing.cs | 0 .../Utils/ProbabilityFunctions.cs | 0 .../Utils/SweepableParamAttributes.cs | 0 .../Utils/UserInputValidationUtil.cs | 0 .../Utils/VBufferUtils.cs | 0 src/Samples/Samples.csproj | 2 +- src/Test/Test.csproj | 2 +- src/mlnet.Test/mlnet.Test.csproj | 2 +- src/mlnet/mlnet.csproj | 2 +- 63 files changed, 48 insertions(+), 201 deletions(-) create mode 100644 THIRD-PARTY-NOTICES.TXT rename src/{AutoML => Microsoft.ML.Auto}/API/AutoFitSettings.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/API/InferenceException.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/API/MLContextAutoFitExtensions.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/API/MLContextDataExtensions.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/API/Pipeline.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Assembly.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/AutoFitter/AutoFitter.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/AutoFitter/OptimizingMetric.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/AutoFitter/RecipeInference.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/AutoFitter/SuggestedPipeline.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/AutoFitter/SuggestedPipelineResult.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/AutoFitter/SuggestedTrainer.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/AutoMlUtils.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/ColumnInference/ColumnGroupingInference.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/ColumnInference/ColumnInferenceApi.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/ColumnInference/ColumnPurpose.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/ColumnInference/ColumnTypeInference.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/ColumnInference/PurposeInference.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/ColumnInference/TextFileContents.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/ColumnInference/TextFileSample.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/DatasetDimensions/ColumnDimensions.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/DatasetDimensions/DatasetDimensionsApi.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/DatasetDimensions/DatasetDimensionsUtil.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/DebugLogger.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/EstimatorExtensions/EstimatorExtensionCatalog.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/EstimatorExtensions/EstimatorExtensions.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/EstimatorExtensions/IEstimatorExtension.cs (100%) rename src/{AutoML/AutoML.csproj => Microsoft.ML.Auto/Microsoft.ML.Auto.csproj} (52%) rename src/{AutoML => Microsoft.ML.Auto}/PipelineSuggesters/PipelineSuggester.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/RuleSet1.ruleset (100%) rename src/{AutoML => Microsoft.ML.Auto}/Sweepers/ISweeper.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Sweepers/Parameters.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Sweepers/Random.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Sweepers/SmacSweeper.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Sweepers/SweeperBase.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Sweepers/SweeperProbabilityUtils.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/TaskKind.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Terminators/IterationBasedTerminator.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/TrainerExtensions/BinaryTrainerExtensions.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/TrainerExtensions/ITrainerExtension.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/TrainerExtensions/MultiTrainerExtensions.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/TrainerExtensions/RegressionTrainerExtensions.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/TrainerExtensions/SweepableParams.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/TrainerExtensions/TrainerExtensionCatalog.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/TrainerExtensions/TrainerExtensionUtil.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/TransformInference/TransformInference.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/TransformInference/TransformInferenceApi.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Utils/ColumnTypeExtensions.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Utils/Conversions.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Utils/DataKindExtensions.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Utils/Hashing.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Utils/ProbabilityFunctions.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Utils/SweepableParamAttributes.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Utils/UserInputValidationUtil.cs (100%) rename src/{AutoML => Microsoft.ML.Auto}/Utils/VBufferUtils.cs (100%) diff --git a/AutoML.sln b/AutoML.sln index fc8900fb9d..4cb26eadb3 100644 --- a/AutoML.sln +++ b/AutoML.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.28010.2050 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoML", "src\AutoML\AutoML.csproj", "{B3727729-3DF8-47E0-8710-9B41DAF55817}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.Auto", "src\Microsoft.ML.Auto\Microsoft.ML.Auto.csproj", "{B3727729-3DF8-47E0-8710-9B41DAF55817}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples", "src\Samples\Samples.csproj", "{64A7294E-A2C7-4499-8F0B-4BB074047C6B}" EndProject diff --git a/THIRD-PARTY-NOTICES.TXT b/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 0000000000..0d697856b3 --- /dev/null +++ b/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,21 @@ +ML.NET uses third-party libraries or other resources that may be +distributed under licenses different than the ML.NET software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/build.proj b/build.proj index 66df010b03..6af45493c3 100644 --- a/build.proj +++ b/build.proj @@ -7,7 +7,7 @@ - + @@ -67,7 +67,7 @@ - + - + - + + --> + ML.NET ML Machine Learning AutoML + Microsoft.ML.Auto + + + + + + diff --git a/src/AutoML/PipelineSuggesters/PipelineSuggester.cs b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs similarity index 100% rename from src/AutoML/PipelineSuggesters/PipelineSuggester.cs rename to src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs diff --git a/src/AutoML/RuleSet1.ruleset b/src/Microsoft.ML.Auto/RuleSet1.ruleset similarity index 100% rename from src/AutoML/RuleSet1.ruleset rename to src/Microsoft.ML.Auto/RuleSet1.ruleset diff --git a/src/AutoML/Sweepers/ISweeper.cs b/src/Microsoft.ML.Auto/Sweepers/ISweeper.cs similarity index 100% rename from src/AutoML/Sweepers/ISweeper.cs rename to src/Microsoft.ML.Auto/Sweepers/ISweeper.cs diff --git a/src/AutoML/Sweepers/Parameters.cs b/src/Microsoft.ML.Auto/Sweepers/Parameters.cs similarity index 100% rename from src/AutoML/Sweepers/Parameters.cs rename to src/Microsoft.ML.Auto/Sweepers/Parameters.cs diff --git a/src/AutoML/Sweepers/Random.cs b/src/Microsoft.ML.Auto/Sweepers/Random.cs similarity index 100% rename from src/AutoML/Sweepers/Random.cs rename to src/Microsoft.ML.Auto/Sweepers/Random.cs diff --git a/src/AutoML/Sweepers/SmacSweeper.cs b/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs similarity index 100% rename from src/AutoML/Sweepers/SmacSweeper.cs rename to src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs diff --git a/src/AutoML/Sweepers/SweeperBase.cs b/src/Microsoft.ML.Auto/Sweepers/SweeperBase.cs similarity index 100% rename from src/AutoML/Sweepers/SweeperBase.cs rename to src/Microsoft.ML.Auto/Sweepers/SweeperBase.cs diff --git a/src/AutoML/Sweepers/SweeperProbabilityUtils.cs b/src/Microsoft.ML.Auto/Sweepers/SweeperProbabilityUtils.cs similarity index 100% rename from src/AutoML/Sweepers/SweeperProbabilityUtils.cs rename to src/Microsoft.ML.Auto/Sweepers/SweeperProbabilityUtils.cs diff --git a/src/AutoML/TaskKind.cs b/src/Microsoft.ML.Auto/TaskKind.cs similarity index 100% rename from src/AutoML/TaskKind.cs rename to src/Microsoft.ML.Auto/TaskKind.cs diff --git a/src/AutoML/Terminators/IterationBasedTerminator.cs b/src/Microsoft.ML.Auto/Terminators/IterationBasedTerminator.cs similarity index 100% rename from src/AutoML/Terminators/IterationBasedTerminator.cs rename to src/Microsoft.ML.Auto/Terminators/IterationBasedTerminator.cs diff --git a/src/AutoML/TrainerExtensions/BinaryTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs similarity index 100% rename from src/AutoML/TrainerExtensions/BinaryTrainerExtensions.cs rename to src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs diff --git a/src/AutoML/TrainerExtensions/ITrainerExtension.cs b/src/Microsoft.ML.Auto/TrainerExtensions/ITrainerExtension.cs similarity index 100% rename from src/AutoML/TrainerExtensions/ITrainerExtension.cs rename to src/Microsoft.ML.Auto/TrainerExtensions/ITrainerExtension.cs diff --git a/src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs similarity index 100% rename from src/AutoML/TrainerExtensions/MultiTrainerExtensions.cs rename to src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs diff --git a/src/AutoML/TrainerExtensions/RegressionTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs similarity index 100% rename from src/AutoML/TrainerExtensions/RegressionTrainerExtensions.cs rename to src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs diff --git a/src/AutoML/TrainerExtensions/SweepableParams.cs b/src/Microsoft.ML.Auto/TrainerExtensions/SweepableParams.cs similarity index 100% rename from src/AutoML/TrainerExtensions/SweepableParams.cs rename to src/Microsoft.ML.Auto/TrainerExtensions/SweepableParams.cs diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionCatalog.cs similarity index 100% rename from src/AutoML/TrainerExtensions/TrainerExtensionCatalog.cs rename to src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionCatalog.cs diff --git a/src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs similarity index 100% rename from src/AutoML/TrainerExtensions/TrainerExtensionUtil.cs rename to src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs diff --git a/src/AutoML/TransformInference/TransformInference.cs b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs similarity index 100% rename from src/AutoML/TransformInference/TransformInference.cs rename to src/Microsoft.ML.Auto/TransformInference/TransformInference.cs diff --git a/src/AutoML/TransformInference/TransformInferenceApi.cs b/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs similarity index 100% rename from src/AutoML/TransformInference/TransformInferenceApi.cs rename to src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs diff --git a/src/AutoML/Utils/ColumnTypeExtensions.cs b/src/Microsoft.ML.Auto/Utils/ColumnTypeExtensions.cs similarity index 100% rename from src/AutoML/Utils/ColumnTypeExtensions.cs rename to src/Microsoft.ML.Auto/Utils/ColumnTypeExtensions.cs diff --git a/src/AutoML/Utils/Conversions.cs b/src/Microsoft.ML.Auto/Utils/Conversions.cs similarity index 100% rename from src/AutoML/Utils/Conversions.cs rename to src/Microsoft.ML.Auto/Utils/Conversions.cs diff --git a/src/AutoML/Utils/DataKindExtensions.cs b/src/Microsoft.ML.Auto/Utils/DataKindExtensions.cs similarity index 100% rename from src/AutoML/Utils/DataKindExtensions.cs rename to src/Microsoft.ML.Auto/Utils/DataKindExtensions.cs diff --git a/src/AutoML/Utils/Hashing.cs b/src/Microsoft.ML.Auto/Utils/Hashing.cs similarity index 100% rename from src/AutoML/Utils/Hashing.cs rename to src/Microsoft.ML.Auto/Utils/Hashing.cs diff --git a/src/AutoML/Utils/ProbabilityFunctions.cs b/src/Microsoft.ML.Auto/Utils/ProbabilityFunctions.cs similarity index 100% rename from src/AutoML/Utils/ProbabilityFunctions.cs rename to src/Microsoft.ML.Auto/Utils/ProbabilityFunctions.cs diff --git a/src/AutoML/Utils/SweepableParamAttributes.cs b/src/Microsoft.ML.Auto/Utils/SweepableParamAttributes.cs similarity index 100% rename from src/AutoML/Utils/SweepableParamAttributes.cs rename to src/Microsoft.ML.Auto/Utils/SweepableParamAttributes.cs diff --git a/src/AutoML/Utils/UserInputValidationUtil.cs b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs similarity index 100% rename from src/AutoML/Utils/UserInputValidationUtil.cs rename to src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs diff --git a/src/AutoML/Utils/VBufferUtils.cs b/src/Microsoft.ML.Auto/Utils/VBufferUtils.cs similarity index 100% rename from src/AutoML/Utils/VBufferUtils.cs rename to src/Microsoft.ML.Auto/Utils/VBufferUtils.cs diff --git a/src/Samples/Samples.csproj b/src/Samples/Samples.csproj index 8e70fd0c07..b79759e289 100644 --- a/src/Samples/Samples.csproj +++ b/src/Samples/Samples.csproj @@ -19,7 +19,7 @@ - + diff --git a/src/Test/Test.csproj b/src/Test/Test.csproj index 4e668dd9c5..3fef7f3c50 100644 --- a/src/Test/Test.csproj +++ b/src/Test/Test.csproj @@ -15,7 +15,7 @@ - + diff --git a/src/mlnet.Test/mlnet.Test.csproj b/src/mlnet.Test/mlnet.Test.csproj index 5da338c812..a189755964 100644 --- a/src/mlnet.Test/mlnet.Test.csproj +++ b/src/mlnet.Test/mlnet.Test.csproj @@ -12,7 +12,7 @@ - + diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index b91901ea8d..e7fc63728f 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -14,7 +14,7 @@ - + From f92e1a2cc54ee52ba38c5c48336bc76c4d77ce47 Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin <45412678+Dmitry-A@users.noreply.github.com> Date: Sun, 10 Feb 2019 23:49:10 -0800 Subject: [PATCH 061/211] publish nuget (#101) * use dotnet-internal-temp agent for internal build * use dotnet-internal feed --- build/vsts-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/vsts-ci.yml b/build/vsts-ci.yml index 21568cd79a..86b2fe77f5 100644 --- a/build/vsts-ci.yml +++ b/build/vsts-ci.yml @@ -22,7 +22,7 @@ phases: _UseEsrpSigning: true _TeamName: DotNetCore queue: - name: DotNetCore-Build + name: dotnet-internal-temp demands: - agent.os -equals Windows_NT steps: @@ -51,7 +51,7 @@ phases: _SymwebSymbolServerPath: https://microsoft.artifacts.visualstudio.com/DefaultCollection _MsdlSymbolServerPath: https://microsoftpublicsymbols.artifacts.visualstudio.com/DefaultCollection queue: - name: DotNetCore-Build + name: dotnet-internal-temp demands: - agent.os -equals Windows_NT steps: @@ -65,7 +65,7 @@ phases: command: push packagesToPush: $(Build.SourcesDirectory)/bin/packages/**/*.nupkg nuGetFeedType: internal - feedPublish: MachineLearning + feedPublish: dotnet-internal # Terminate all dotnet build processes. - script: $(Build.SourcesDirectory)/Tools/dotnetcli/dotnet.exe build-server shutdown From 9cee0eb9dff7b6d6ab07e6239c92abc63f4cd62f Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 11 Feb 2019 14:26:17 -0800 Subject: [PATCH 062/211] Fix Codegen for columnConvert and ValueToKeyMapping transform and add individual transform tests (#95) * Added sequential grouping of columns * reverted the file * fix usings for type convert * added transforms tests * review comments --- src/mlnet.Test/CodeGenTests.cs | 170 ++++++++++++++++-- .../CodeGenerator/TransformGenerators.cs | 4 +- 2 files changed, 156 insertions(+), 18 deletions(-) diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index cb5877ef46..d8908c8e46 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -94,14 +94,14 @@ public void ClassLabelGenerationBasicTest() }; var result = (new TextLoader.Arguments() - { - Column = columns, - AllowQuoting = false, - AllowSparse = false, - Separators = new[] { ',' }, - HasHeader = true, - TrimWhitespace = true - }, purposes); + { + Column = columns, + AllowQuoting = false, + AllowSparse = false, + Separators = new[] { ',' }, + HasHeader = true, + TrimWhitespace = true + }, purposes); CodeGenerator codeGenerator = new CodeGenerator(null, result); var actual = codeGenerator.GenerateClassLabels(); @@ -128,14 +128,14 @@ public void ColumnGenerationTest() }; var result = (new TextLoader.Arguments() - { - Column = columns, - AllowQuoting = false, - AllowSparse = false, - Separators = new[] { ',' }, - HasHeader = true, - TrimWhitespace = true - }, purposes); + { + Column = columns, + AllowQuoting = false, + AllowSparse = false, + Separators = new[] { ',' }, + HasHeader = true, + TrimWhitespace = true + }, purposes); var context = new MLContext(); var elementProperties = new Dictionary(); @@ -170,5 +170,143 @@ public void TrainerComplexParameterTest() } + #region Transform Tests + [TestMethod] + public void OneHotEncodingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary();//categorical + PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "categorical_column_1" }, new string[] { "categorical_column_1" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"categorical_column_1\",\"categorical_column_1\")})"; + var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void NormalizingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1_copy" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Normalize(\"numeric_column_1_copy\",\"numeric_column_1\")"; + string expectedUsings = null; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void ColumnConcatenatingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("ColumnConcatenating", PipelineNodeType.Transform, new string[] { "numeric_column_1", "numeric_column_2" }, new string[] { "Features" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Concatenate(\"Features\",new []{\"numeric_column_1\",\"numeric_column_2\"})"; + string expectedUsings = null; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void ColumnCopyingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary();//nume to num feature 2 + PipelineNode node = new PipelineNode("ColumnCopying", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_2" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "CopyColumns(\"numeric_column_2\",\"numeric_column_1\")"; + string expectedUsings = null; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void MissingValueIndicatingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary();//numeric feature + PipelineNode node = new PipelineNode("MissingValueIndicating", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "IndicateMissingValues(new []{(\"numeric_column_1\",\"numeric_column_1\")})"; + string expectedUsings = null; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void OneHotHashEncodingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("OneHotHashEncoding", PipelineNodeType.Transform, new string[] { "Categorical_column_1" }, new string[] { "Categorical_column_1" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Categorical.OneHotHashEncoding(new []{new OneHotHashEncodingEstimator.ColumnInfo(\"Categorical_column_1\",\"Categorical_column_1\")})"; + var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void TextFeaturizingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("TextFeaturizing", PipelineNodeType.Transform, new string[] { "Text_column_1" }, new string[] { "Text_column_1" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Text.FeaturizeText(\"Text_column_1\",\"Text_column_1\")"; + string expectedUsings = null; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void TypeConvertingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("TypeConverting", PipelineNodeType.Transform, new string[] { "I4_column_1" }, new string[] { "R4_column_1" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingTransformer.ColumnInfo(\"R4_column_1\",DataKind.R4,\"I4_column_1\")})"; + string expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void ValueToKeyMappingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("ValueToKeyMapping", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Conversion.MapValueToKey(\"Label\",\"Label\")"; + var expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + #endregion + } } diff --git a/src/mlnet/CodeGenerator/TransformGenerators.cs b/src/mlnet/CodeGenerator/TransformGenerators.cs index 1239e5947d..73faa97fc3 100644 --- a/src/mlnet/CodeGenerator/TransformGenerators.cs +++ b/src/mlnet/CodeGenerator/TransformGenerators.cs @@ -232,7 +232,7 @@ public TypeConverting(PipelineNode node) : base(node) internal override string MethodName => "Conversion.ConvertType"; - internal override string Usings => null; + internal override string Usings => "using Microsoft.ML.Transforms.Conversions;\r\n"; private string ArgumentsName = "TypeConvertingTransformer.ColumnInfo"; @@ -271,7 +271,7 @@ public ValueToKeyMapping(PipelineNode node) : base(node) internal override string MethodName => "Conversion.MapValueToKey"; - internal override string Usings => null; + internal override string Usings => "using Microsoft.ML.Transforms.Conversions;\r\n"; public override string GenerateTransformer() { From b8b577a4dd0fa6fb8f6fbbed6e1c4fe9713be174 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 11 Feb 2019 14:37:57 -0800 Subject: [PATCH 063/211] When generating usings choose only distinct usings directives (#94) * Added sequential grouping of columns * reverted the file * Added code to have unique strings * refactoring * minor fix * minor fix --- src/mlnet/Commands/NewCommand.cs | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/mlnet/Commands/NewCommand.cs b/src/mlnet/Commands/NewCommand.cs index e0e033b96d..951539a05e 100644 --- a/src/mlnet/Commands/NewCommand.cs +++ b/src/mlnet/Commands/NewCommand.cs @@ -100,22 +100,25 @@ private static void RunCodeGen(Options options, (TextLoader.Arguments, IEnumerab var trainerAndUsings = codeGenerator.GenerateTrainerAndUsings(); var transformsAndUsings = codeGenerator.GenerateTransformsAndUsings(); + //Capture all the usings + var usings = new List(); + //Get trainer code and its associated usings. var trainer = trainerAndUsings.Item1; - var trainerUsings = trainerAndUsings.Item2; + usings.Add(trainerAndUsings.Item2); - //Get transforms code and its associated usings. + //Get transforms code and its associated (unique) usings. var transforms = transformsAndUsings.Select(t => t.Item1).ToList(); - var transformUsings = transformsAndUsings.Select(t => t.Item2).ToList(); + usings.AddRange(transformsAndUsings.Select(t => t.Item2)); + usings = usings.Distinct().ToList(); - //Combine all using statements. - StringBuilder usings = new StringBuilder(); - transformUsings.ForEach(t => + //Combine all using statements to actual text. + StringBuilder usingsBuilder = new StringBuilder(); + usings.ForEach(t => { if (t != null) - usings.Append(t); + usingsBuilder.Append(t); }); - usings.Append(trainerUsings); //Generate code for columns var columns = codeGenerator.GenerateColumns(); @@ -137,7 +140,7 @@ private static void RunCodeGen(Options options, (TextLoader.Arguments, IEnumerab Trainer = trainer, TaskType = options.MlTask.ToString(), ClassLabels = classLabels, - GeneratedUsings = usings.ToString() + GeneratedUsings = usingsBuilder.ToString() }; MLProjectGen csProjGenerator = new MLProjectGen(); From 8ec02d8d16479c99b99d015f2f73bc8561c63cc8 Mon Sep 17 00:00:00 2001 From: vinodshanbhag <33269336+vinodshanbhag@users.noreply.github.com> Date: Tue, 12 Feb 2019 07:04:48 -0800 Subject: [PATCH 064/211] Autofit overloads + cancellation + progress callbacks 1) Introduce AutoFit overloads (basic and advanced) 2) AutoFit Cancellation 3) AutoFit progress callbacks --- src/Microsoft.ML.Auto/API/AutoFitRunResult.cs | 40 +++++ src/Microsoft.ML.Auto/API/AutoFitSettings.cs | 6 +- .../API/BinaryClassificationExtension.cs | 87 +++++++++ ...extDataExtensions.cs => DataExtensions.cs} | 0 .../API/MLContextAutoFitExtensions.cs | 167 ------------------ .../API/MultiClassClassificationExtension.cs | 86 +++++++++ .../API/RegressionExtensions.cs | 86 +++++++++ .../AutoFitter/AutoFitter.cs | 46 +++-- .../AutoFitter/SuggestedPipelineResult.cs | 8 +- src/Samples/AutoTrainBinaryClassification.cs | 97 ++-------- .../AutoTrainMulticlassClassification.cs | 101 ++--------- src/Samples/AutoTrainRegression.cs | 101 ++--------- src/Samples/Cancellation.cs | 52 ++++++ src/Samples/EarlyStopping.cs | 83 --------- src/Samples/Program.cs | 11 +- src/Samples/ProgressHandler.cs | 97 ++++++++++ src/Test/AutoFitTests.cs | 6 +- src/mlnet/Commands/NewCommand.cs | 6 +- 18 files changed, 549 insertions(+), 531 deletions(-) create mode 100644 src/Microsoft.ML.Auto/API/AutoFitRunResult.cs create mode 100644 src/Microsoft.ML.Auto/API/BinaryClassificationExtension.cs rename src/Microsoft.ML.Auto/API/{MLContextDataExtensions.cs => DataExtensions.cs} (100%) delete mode 100644 src/Microsoft.ML.Auto/API/MLContextAutoFitExtensions.cs create mode 100644 src/Microsoft.ML.Auto/API/MultiClassClassificationExtension.cs create mode 100644 src/Microsoft.ML.Auto/API/RegressionExtensions.cs create mode 100644 src/Samples/Cancellation.cs delete mode 100644 src/Samples/EarlyStopping.cs create mode 100644 src/Samples/ProgressHandler.cs diff --git a/src/Microsoft.ML.Auto/API/AutoFitRunResult.cs b/src/Microsoft.ML.Auto/API/AutoFitRunResult.cs new file mode 100644 index 0000000000..227e9a0eee --- /dev/null +++ b/src/Microsoft.ML.Auto/API/AutoFitRunResult.cs @@ -0,0 +1,40 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Linq; +using Microsoft.ML.Core.Data; + +namespace Microsoft.ML.Auto +{ + public class AutoFitRunResult + { + public readonly T Metrics; + public readonly ITransformer Model; + public readonly Exception Exception; + public readonly string TrainerName; + public readonly int RuntimeInSeconds; + + internal readonly Pipeline Pipeline; + internal readonly int PipelineInferenceTimeInSeconds; + + internal AutoFitRunResult( + ITransformer model, + T metrics, + Pipeline pipeline, + Exception exception, + int runtimeInSeconds, + int pipelineInferenceTimeInSeconds) + { + Model = model; + Metrics = metrics; + Pipeline = pipeline; + Exception = exception; + RuntimeInSeconds = runtimeInSeconds; + PipelineInferenceTimeInSeconds = pipelineInferenceTimeInSeconds; + + TrainerName = pipeline?.Nodes.Where(n => n.NodeType == PipelineNodeType.Trainer).Last().Name; + } + } +} diff --git a/src/Microsoft.ML.Auto/API/AutoFitSettings.cs b/src/Microsoft.ML.Auto/API/AutoFitSettings.cs index 949d8632c6..4123dbb9a7 100644 --- a/src/Microsoft.ML.Auto/API/AutoFitSettings.cs +++ b/src/Microsoft.ML.Auto/API/AutoFitSettings.cs @@ -9,7 +9,7 @@ namespace Microsoft.ML.Auto { internal static class AutoFitDefaults { - public const uint TimeOutInMinutes = 24 * 60; + public const uint TimeoutInSeconds = 60 * 60; public const uint MaxIterations = 1000; } @@ -32,12 +32,12 @@ internal class AutoFitSettings internal bool DisableSubSampling; internal bool DisableCaching; internal bool ExternalizeTraining; - internal TraceLevel TraceLevel; + internal TraceLevel TraceLevel; } internal class ExperimentStoppingCriteria { - public uint TimeOutInMinutes = AutoFitDefaults.TimeOutInMinutes; + public uint TimeoutInSeconds = AutoFitDefaults.TimeoutInSeconds; public uint MaxIterations = AutoFitDefaults.MaxIterations; internal bool StopAfterConverging; internal double ExperimentExitScore; diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExtension.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExtension.cs new file mode 100644 index 0000000000..f77cf7c87f --- /dev/null +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExtension.cs @@ -0,0 +1,87 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using Microsoft.Data.DataView; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + public class AutoFitBinaryClassificationOptions + { + public IDataView TrainData; + public string LabelColumnName = DefaultColumnNames.Label; + public IDataView ValidationData; + public uint TimeoutInSeconds = AutoFitDefaults.TimeoutInSeconds; + public CancellationToken CancellationToken = default; + public IProgress> ProgressCallback; + public IEstimator PreFeaturizers; + public IEnumerable<(string, ColumnPurpose)> ColumnPurposes; + } + + public static class BinaryClassificationExtensions + { + public static List> AutoFit(this BinaryClassificationCatalog catalog, + IDataView trainData, + string labelColumnName = DefaultColumnNames.Label, + IDataView validationData = null, + uint timeoutInSeconds = AutoFitDefaults.TimeoutInSeconds, + CancellationToken cancellationToken = default, + IProgress> progressCallback = null) + { + var settings = new AutoFitSettings(); + settings.StoppingCriteria.TimeoutInSeconds = timeoutInSeconds; + + return AutoFit(catalog, trainData, labelColumnName, validationData, settings, + null, null, cancellationToken, progressCallback, null); + } + + public static List> AutoFit(this BinaryClassificationCatalog catalog, + AutoFitBinaryClassificationOptions options) + { + var settings = new AutoFitSettings(); + settings.StoppingCriteria.TimeoutInSeconds = options.TimeoutInSeconds; + + return AutoFit(catalog, options.TrainData, options.LabelColumnName, options.ValidationData, settings, + options.PreFeaturizers, options.ColumnPurposes, options.CancellationToken, options.ProgressCallback, null); + } + + internal static List> AutoFit(this BinaryClassificationCatalog catalog, + IDataView trainData, + string labelColumnName = DefaultColumnNames.Label, + IDataView validationData = null, + AutoFitSettings settings = null, + IEstimator preFeaturizers = null, + IEnumerable<(string, ColumnPurpose)> columnPurposes = null, + CancellationToken cancellationToken = default, + IProgress> progressCallback = null, + IDebugLogger debugLogger = null) + { + UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColumnName, validationData, settings, columnPurposes); + + if (validationData == null) + { + (trainData, validationData) = catalog.TestValidateSplit(trainData); + } + + // run autofit & get all pipelines run in that process + var autoFitter = new AutoFitter(TaskKind.BinaryClassification, trainData, labelColumnName, validationData, + settings, preFeaturizers, columnPurposes, + OptimizingMetric.RSquared, cancellationToken, progressCallback, debugLogger); + + return autoFitter.Fit(); + } + + public static AutoFitRunResult Best(this IEnumerable> results) + { + double maxScore = results.Select(r => r.Metrics.Accuracy).Max(); + return results.First(r => r.Metrics.Accuracy == maxScore); + } + } + +} diff --git a/src/Microsoft.ML.Auto/API/MLContextDataExtensions.cs b/src/Microsoft.ML.Auto/API/DataExtensions.cs similarity index 100% rename from src/Microsoft.ML.Auto/API/MLContextDataExtensions.cs rename to src/Microsoft.ML.Auto/API/DataExtensions.cs diff --git a/src/Microsoft.ML.Auto/API/MLContextAutoFitExtensions.cs b/src/Microsoft.ML.Auto/API/MLContextAutoFitExtensions.cs deleted file mode 100644 index 9083dac60e..0000000000 --- a/src/Microsoft.ML.Auto/API/MLContextAutoFitExtensions.cs +++ /dev/null @@ -1,167 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.Data.DataView; -using Microsoft.ML.Core.Data; -using Microsoft.ML.Data; - -namespace Microsoft.ML.Auto -{ - public static class RegressionExtensions - { - public static IEnumerable> AutoFit(this RegressionCatalog catalog, - IDataView trainData, - string label = DefaultColumnNames.Label, - IDataView validationData = null, - uint timeoutInMinutes = AutoFitDefaults.TimeOutInMinutes, - IEstimator preFeaturizers = null, - IEnumerable<(string, ColumnPurpose)> columnPurposes = null) - { - var settings = new AutoFitSettings(); - settings.StoppingCriteria.TimeOutInMinutes = timeoutInMinutes; - - return AutoFit(catalog, trainData, label, validationData, settings, - preFeaturizers, columnPurposes, null); - } - - internal static IEnumerable> AutoFit(this RegressionCatalog catalog, - IDataView trainData, - string label = DefaultColumnNames.Label, - IDataView validationData = null, - AutoFitSettings settings = null, - IEstimator preFeaturizers = null, - IEnumerable<(string, ColumnPurpose)> columnPurposes = null, - IDebugLogger debugLogger = null) - { - UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, columnPurposes); - - if (validationData == null) - { - (trainData, validationData) = catalog.TestValidateSplit(trainData); - } - - // run autofit & get all pipelines run in that process - var autoFitter = new AutoFitter(TaskKind.Regression, trainData, label, validationData, - settings, preFeaturizers, columnPurposes, - OptimizingMetric.RSquared, debugLogger); - - return autoFitter.Fit(); - } - } - - public static class BinaryClassificationExtensions - { - public static IEnumerable> AutoFit(this BinaryClassificationCatalog catalog, - IDataView trainData, - string label = DefaultColumnNames.Label, - IDataView validationData = null, - uint timeoutInMinutes = AutoFitDefaults.TimeOutInMinutes, - IEstimator preFeaturizers = null, - IEnumerable<(string, ColumnPurpose)> columnPurposes = null) - { - var settings = new AutoFitSettings(); - settings.StoppingCriteria.TimeOutInMinutes = timeoutInMinutes; - - return AutoFit(catalog, trainData, label, validationData, settings, - preFeaturizers, columnPurposes, null); - } - - internal static IEnumerable> AutoFit(this BinaryClassificationCatalog catalog, - IDataView trainData, - string label = DefaultColumnNames.Label, - IDataView validationData = null, - AutoFitSettings settings = null, - IEstimator preFeaturizers = null, - IEnumerable<(string, ColumnPurpose)> columnPurposes = null, - IDebugLogger debugLogger = null) - { - UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, columnPurposes); - - if (validationData == null) - { - (trainData, validationData) = catalog.TestValidateSplit(trainData); - } - - // run autofit & get all pipelines run in that process - var autoFitter = new AutoFitter(TaskKind.BinaryClassification, trainData, label, validationData, - settings, preFeaturizers, columnPurposes, - OptimizingMetric.RSquared, debugLogger); - - return autoFitter.Fit(); - } - } - - public static class MulticlassExtensions - { - public static IEnumerable> AutoFit(this MulticlassClassificationCatalog catalog, - IDataView trainData, - string label = DefaultColumnNames.Label, - IDataView validationData = null, - uint timeoutInMinutes = AutoFitDefaults.TimeOutInMinutes, - IEstimator preFeaturizers = null, - IEnumerable<(string, ColumnPurpose)> columnPurposes = null) - { - var settings = new AutoFitSettings(); - settings.StoppingCriteria.TimeOutInMinutes = timeoutInMinutes; - - return AutoFit(catalog, trainData, label, validationData, settings, - preFeaturizers, columnPurposes, null); - } - - internal static IEnumerable> AutoFit(this MulticlassClassificationCatalog catalog, - IDataView trainData, - string label = DefaultColumnNames.Label, - IDataView validationData = null, - AutoFitSettings settings = null, - IEstimator preFeaturizers = null, - IEnumerable<(string, ColumnPurpose)> columnPurposes = null, - IDebugLogger debugLogger = null) - { - UserInputValidationUtil.ValidateAutoFitArgs(trainData, label, validationData, settings, columnPurposes); - - if (validationData == null) - { - (trainData, validationData) = catalog.TestValidateSplit(trainData); - } - - // run autofit & get all pipelines run in that process - var autoFitter = new AutoFitter(TaskKind.MulticlassClassification, trainData, label, validationData, - settings, preFeaturizers, columnPurposes, OptimizingMetric.RSquared, debugLogger); - return autoFitter.Fit(); - } - } - - public class IterationResult - { - public readonly T Metrics; - public readonly ITransformer Model; - public readonly Exception Exception; - public readonly string TrainerName; - public readonly int RuntimeInSeconds; - - internal readonly Pipeline Pipeline; - internal readonly int PipelineInferenceTimeInSeconds; - - internal IterationResult( - ITransformer model, - T metrics, - Pipeline pipeline, - Exception exception, - int runtimeInSeconds, - int pipelineInferenceTimeInSeconds) - { - Model = model; - Metrics = metrics; - Pipeline = pipeline; - Exception = exception; - RuntimeInSeconds = runtimeInSeconds; - PipelineInferenceTimeInSeconds = pipelineInferenceTimeInSeconds; - - TrainerName = pipeline?.Nodes.Where(n => n.NodeType == PipelineNodeType.Trainer).Last().Name; - } - } -} diff --git a/src/Microsoft.ML.Auto/API/MultiClassClassificationExtension.cs b/src/Microsoft.ML.Auto/API/MultiClassClassificationExtension.cs new file mode 100644 index 0000000000..054bf1edf1 --- /dev/null +++ b/src/Microsoft.ML.Auto/API/MultiClassClassificationExtension.cs @@ -0,0 +1,86 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using Microsoft.Data.DataView; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + public class AutoFitMultiClassClassificationOptions + { + public IDataView TrainData; + public string LabelColumnName = DefaultColumnNames.Label; + public IDataView ValidationData; + public uint TimeoutInSeconds = AutoFitDefaults.TimeoutInSeconds; + public CancellationToken CancellationToken = default; + public IProgress> ProgressCallback; + public IEstimator PreFeaturizers; + public IEnumerable<(string, ColumnPurpose)> ColumnPurposes; + } + + public static class MulticlassExtensions + { + public static List> AutoFit(this MulticlassClassificationCatalog catalog, + IDataView trainData, + string labelColumnName = DefaultColumnNames.Label, + IDataView validationData = null, + uint timeoutInSeconds = AutoFitDefaults.TimeoutInSeconds, + CancellationToken cancellationToken = default, + IProgress> progressCallback = null) + { + var settings = new AutoFitSettings(); + settings.StoppingCriteria.TimeoutInSeconds = timeoutInSeconds; + + return AutoFit(catalog, trainData, labelColumnName, validationData, settings, + null, null, cancellationToken, progressCallback, null); + } + + public static List> AutoFit(this MulticlassClassificationCatalog catalog, + AutoFitMultiClassClassificationOptions options) + { + var settings = new AutoFitSettings(); + settings.StoppingCriteria.TimeoutInSeconds = options.TimeoutInSeconds; + + return AutoFit(catalog, options.TrainData, options.LabelColumnName, options.ValidationData, settings, + options.PreFeaturizers, options.ColumnPurposes, options.CancellationToken, options.ProgressCallback, null); + } + + internal static List> AutoFit(this MulticlassClassificationCatalog catalog, + IDataView trainData, + string labelColumnName = DefaultColumnNames.Label, + IDataView validationData = null, + AutoFitSettings settings = null, + IEstimator preFeaturizers = null, + IEnumerable<(string, ColumnPurpose)> columnPurposes = null, + CancellationToken cancellationToken = default, + IProgress> progressCallback = null, + IDebugLogger debugLogger = null) + { + UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColumnName, validationData, settings, columnPurposes); + + if (validationData == null) + { + (trainData, validationData) = catalog.TestValidateSplit(trainData); + } + + // run autofit & get all pipelines run in that process + var autoFitter = new AutoFitter(TaskKind.MulticlassClassification, trainData, labelColumnName, validationData, + settings, preFeaturizers, columnPurposes, OptimizingMetric.AccuracyMacro, cancellationToken, progressCallback, debugLogger); + return autoFitter.Fit(); + } + + public static AutoFitRunResult Best(this IEnumerable> results) + { + double maxScore = results.Select(r => r.Metrics.AccuracyMacro).Max(); + return results.First(r => r.Metrics.AccuracyMacro == maxScore); + } + } + +} + diff --git a/src/Microsoft.ML.Auto/API/RegressionExtensions.cs b/src/Microsoft.ML.Auto/API/RegressionExtensions.cs new file mode 100644 index 0000000000..0c62b95015 --- /dev/null +++ b/src/Microsoft.ML.Auto/API/RegressionExtensions.cs @@ -0,0 +1,86 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using Microsoft.Data.DataView; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + public class AutoFitRegressionOptions + { + public IDataView TrainData; + public string LabelColumnName = DefaultColumnNames.Label; + public IDataView CalidationData; + public uint TimeoutInSeconds = AutoFitDefaults.TimeoutInSeconds; + public CancellationToken CancellationToken = default; + public IProgress> ProgressCallback; + public IEstimator PreFeaturizers; + public IEnumerable<(string, ColumnPurpose)> ColumnPurposes; + } + + public static class RegressionExtensions + { + public static List> AutoFit(this RegressionCatalog catalog, + IDataView trainData, + string labelColumnName = DefaultColumnNames.Label, + IDataView validationData = null, + uint timeoutInSeconds = AutoFitDefaults.TimeoutInSeconds, + CancellationToken cancellationToken = default, + IProgress> progressCallback = null) + { + var settings = new AutoFitSettings(); + settings.StoppingCriteria.TimeoutInSeconds = timeoutInSeconds; + + return AutoFit(catalog, trainData, labelColumnName, validationData, settings, + null, null, cancellationToken, progressCallback, null); + } + + public static List> AutoFit(this RegressionCatalog catalog, + AutoFitRegressionOptions options) + { + var settings = new AutoFitSettings(); + settings.StoppingCriteria.TimeoutInSeconds = options.TimeoutInSeconds; + + return AutoFit(catalog, options.TrainData, options.LabelColumnName, options.CalidationData, settings, + options.PreFeaturizers, options.ColumnPurposes, options.CancellationToken, options.ProgressCallback, null); + } + + internal static List> AutoFit(this RegressionCatalog catalog, + IDataView trainData, + string labelColunName = DefaultColumnNames.Label, + IDataView validationData = null, + AutoFitSettings settings = null, + IEstimator preFeaturizers = null, + IEnumerable<(string, ColumnPurpose)> columnPurposes = null, + CancellationToken cancellationToken = default, + IProgress> progressCallback = null, + IDebugLogger debugLogger = null) + { + UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColunName, validationData, settings, columnPurposes); + + if (validationData == null) + { + (trainData, validationData) = catalog.TestValidateSplit(trainData); + } + + // run autofit & get all pipelines run in that process + var autoFitter = new AutoFitter(TaskKind.Regression, trainData, labelColunName, validationData, + settings, preFeaturizers, columnPurposes, + OptimizingMetric.RSquared, cancellationToken, progressCallback, debugLogger); + + return autoFitter.Fit(); + } + + public static AutoFitRunResult Best(this IEnumerable> results) + { + double maxScore = results.Select(r => r.Metrics.RSquared).Max(); + return results.First(r => r.Metrics.RSquared == maxScore); + } + } +} diff --git a/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs b/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs index 1530f1824c..73f00ad6b8 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs @@ -7,6 +7,7 @@ using System.Diagnostics; using System.Linq; using System.Text; +using System.Threading; using Microsoft.Data.DataView; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; @@ -24,10 +25,14 @@ internal class AutoFitter where T : class private readonly AutoFitSettings _settings; private readonly TaskKind _task; private readonly IEstimator _preFeaturizers; + private readonly CancellationToken _cancellationToken; + private readonly IProgress> _progressCallback; private IDataView _trainData; private IDataView _validationData; + List> iterationResults = new List>(); + public AutoFitter(TaskKind task, IDataView trainData, string label, @@ -36,6 +41,8 @@ public AutoFitter(TaskKind task, IEstimator preFeaturizers, IEnumerable<(string, ColumnPurpose)> purposeOverrides, OptimizingMetric metric, + CancellationToken cancellationToken, + IProgress> progressCallback, IDebugLogger debugLogger) { _debugLogger = debugLogger; @@ -49,9 +56,11 @@ public AutoFitter(TaskKind task, _task = task; _validationData = validationData; _preFeaturizers = preFeaturizers; + _cancellationToken = cancellationToken; + _progressCallback = progressCallback; } - public IEnumerable> Fit() + public List> Fit() { ITransformer preprocessorTransform = null; if (_preFeaturizers != null) @@ -96,25 +105,34 @@ public IEnumerable> Fit() } runResult.RuntimeInSeconds = (int)iterationStopwatch.Elapsed.TotalSeconds; - runResult.GetPipelineTimeInSeconds = (int)getPiplelineStopwatch.Elapsed.TotalSeconds; + runResult.PipelineInferenceTimeInSeconds = (int)getPiplelineStopwatch.Elapsed.TotalSeconds; } catch (Exception ex) { WriteDebugLog(DebugStream.Exception, $"{pipeline?.Trainer} Crashed {ex}"); - - if (runResult == null) - { - runResult = new SuggestedPipelineResult(null, null, pipeline, -1, ex); - } - else - { - runResult = new SuggestedPipelineResult(runResult.EvaluatedMetrics, runResult.Model, runResult.Pipeline, runResult.Score, ex); - } + runResult = new SuggestedPipelineResult(null, null, pipeline, -1, ex); } - yield return runResult.ToIterationResult(); - } while (_history.Count < _settings.StoppingCriteria.MaxIterations && - stopwatch.Elapsed.TotalMinutes < _settings.StoppingCriteria.TimeOutInMinutes); + var iterationResult = runResult.ToIterationResult(); + ReportProgress(iterationResult); + iterationResults.Add(iterationResult); + } while (!_cancellationToken.IsCancellationRequested && + _history.Count < _settings.StoppingCriteria.MaxIterations && + stopwatch.Elapsed.TotalMinutes < _settings.StoppingCriteria.TimeoutInSeconds); + + return iterationResults; + } + + private void ReportProgress(AutoFitRunResult iterationResult) + { + try + { + _progressCallback?.Report(iterationResult); + } + catch (Exception ex) + { + WriteDebugLog(DebugStream.Exception, $"Progress report callback reported exception {ex}"); + } } private SuggestedPipelineResult ProcessPipeline(SuggestedPipeline pipeline) diff --git a/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipelineResult.cs b/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipelineResult.cs index 72ee9be308..c7577dcaf2 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipelineResult.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipelineResult.cs @@ -38,7 +38,7 @@ internal class SuggestedPipelineResult : SuggestedPipelineResult public Exception Exception { get; set; } public int RuntimeInSeconds { get; set; } - public int GetPipelineTimeInSeconds { get; set; } + public int PipelineInferenceTimeInSeconds { get; set; } public SuggestedPipelineResult(T evaluatedMetrics, ITransformer model, SuggestedPipeline pipeline, double score, Exception exception) : base(pipeline, score, exception == null) @@ -48,11 +48,9 @@ public SuggestedPipelineResult(T evaluatedMetrics, ITransformer model, Suggested Exception = exception; } - public IterationResult ToIterationResult() + public AutoFitRunResult ToIterationResult() { - var ir = new IterationResult(Model, EvaluatedMetrics, Pipeline.ToPipeline(), Exception, RuntimeInSeconds, GetPipelineTimeInSeconds); - - return ir; + return new AutoFitRunResult(Model, EvaluatedMetrics, Pipeline.ToPipeline(), Exception, RuntimeInSeconds, PipelineInferenceTimeInSeconds); } } } diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index da52d9bb8f..3726646741 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -15,103 +15,40 @@ public class AutoTrainBinaryClassification private static string TrainDataPath = $"{BaseDatasetsLocation}/wikipedia-detox-250-line-data.tsv"; private static string TestDataPath = $"{BaseDatasetsLocation}/wikipedia-detox-250-line-test.tsv"; private static string ModelPath = $"{BaseDatasetsLocation}/SentimentModel.zip"; + private static string LabelColumnName = "Label"; public static void Run() { //Create ML Context with seed for repeteable/deterministic results MLContext mlContext = new MLContext(seed: 0); - // STEP 1: Common data loading configuration - TextLoader textLoader = mlContext.Data.CreateTextLoader( - columns: new[] - { - new TextLoader.Column("Label", DataKind.Bool, 0), - new TextLoader.Column("Text", DataKind.Text, 1) - }, - hasHeader: true, - separatorChar: '\t' - ); + // STEP 1: Infer columns + var columnInference = mlContext.Data.InferColumns(TrainDataPath, LabelColumnName, '\t'); + // STEP 2: Load data + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); IDataView trainDataView = textLoader.Read(TrainDataPath); IDataView testDataView = textLoader.Read(TestDataPath); - // STEP 2: Auto featurize, auto train and auto hyperparameter tuning - var autoFitResults = mlContext.BinaryClassification.AutoFit(trainDataView, timeoutInMinutes: 1); + // STEP 3: Auto featurize, auto train and auto hyperparameter tuning + Console.WriteLine($"Invoking BinaryClassification.AutoFit"); + var autoFitResults = mlContext.BinaryClassification.AutoFit(trainDataView, timeoutInSeconds: 60); - // STEP 3: Print metrics for each iteration - int iterationIndex = 0; - PrintBinaryClassificationMetricsHeader(); + // STEP 4: Print metric from the best model + var best = autoFitResults.Best(); + Console.WriteLine($"Accuracy of best model from validation data {best.Metrics.Accuracy}"); - IDataView testDataViewWithBestScore = null; - IterationResult bestIteration = null; - double bestScore = 0; + // STEP 5: Evaluate test data + IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); + var testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: DefaultColumnNames.Label, DefaultColumnNames.Score); + Console.WriteLine($"Accuracy of best model from test data {best.Metrics.Accuracy}"); - foreach (var iterationResult in autoFitResults) - { - if (iterationResult.Exception != null) - { - Console.WriteLine(iterationResult.Exception); - continue; - } - - IDataView testDataViewWithScore = iterationResult.Model.Transform(testDataView); - var testMetrics = mlContext.BinaryClassification.EvaluateNonCalibrated(testDataViewWithScore, label: "Label", score: "Score"); - if (bestScore < iterationResult.Metrics.Accuracy) - { - bestScore = iterationResult.Metrics.Accuracy; - bestIteration = iterationResult; - testDataViewWithBestScore = testDataViewWithScore; - } - - ++iterationIndex; - PrintBinaryClassificationMetrics(iterationIndex, iterationResult.TrainerName, "validation", iterationResult.Metrics); - PrintBinaryClassificationMetrics(iterationIndex, iterationResult.TrainerName, "test", testMetrics); - Console.WriteLine(); - } - - // STEP 4: Compare and print actual value vs predicted value for top 5 rows from validation data - PrintActualVersusPredictedHeader(); - IEnumerable labels = testDataViewWithBestScore.GetColumn(mlContext, DefaultColumnNames.Label); - IEnumerable scores = testDataViewWithBestScore.GetColumn(mlContext, DefaultColumnNames.Score); - int rowCount = 1; - do - { - PrintActualVersusPredictedValue(rowCount, labels.ElementAt(rowCount), scores.ElementAt(rowCount)); - - } while (rowCount++ <= 5); - - // STEP 5: Save the best model for later deployment and inferencing + // STEP 6: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) - bestIteration.Model.SaveTo(mlContext, fs); + best.Model.SaveTo(mlContext, fs); Console.WriteLine("Press any key to continue.."); Console.ReadLine(); } - - static void PrintBinaryClassificationMetrics(int iteration, string trainerName, string typeOfMetrics, BinaryClassificationMetrics metrics) - { - Console.WriteLine($"{iteration,-3}{trainerName,-35}{typeOfMetrics,-15}{metrics.Accuracy,-15:P2}{metrics.Auc,-15:P2}{metrics.F1Score,-8:P2}{metrics.PositivePrecision,-15:#.##}{metrics.PositiveRecall,-12:#.##}"); - } - - static void PrintActualVersusPredictedValue(int index, bool label, float score) - { - Console.WriteLine($"{index,-5}{label,-15}{(score == 0 ? false : true),-15}"); - } - - static void PrintBinaryClassificationMetricsHeader() - { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Metrics for binary classification model "); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"{" ",-3}{"Trainer",-35}{"Type",-15}{"Accuracy",-15}{"Auc",-15}{"F1Score",-8}{"P-Precision",-15}{"P-Recall",-12:#.##}"); - } - - static void PrintActualVersusPredictedHeader() - { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Actual value Vs predicted value "); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"{"Row",-5}{"Actual",-15}{"Predicted",-15}"); - } } } diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index 5d1f5d3a9d..eab8d6e924 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -15,107 +15,40 @@ public class AutoTrainMulticlassClassification private static string TrainDataPath = $"{BaseDatasetsLocation}/iris-train.txt"; private static string TestDataPath = $"{BaseDatasetsLocation}/iris-test.txt"; private static string ModelPath = $"{BaseDatasetsLocation}/IrisClassificationModel.zip"; + private static string LabelColumnName = "Label"; public static void Run() { //Create ML Context with seed for repeteable/deterministic results MLContext mlContext = new MLContext(seed: 0); - // STEP 1: Common data loading configuration - var textLoader = mlContext.Data.CreateTextLoader( - new TextLoader.Arguments() - { - Separators = new[] { '\t' }, - HasHeader = true, - Column = new[] - { - new TextLoader.Column("Label", DataKind.R4, 0), - new TextLoader.Column("SepalLength", DataKind.R4, 1), - new TextLoader.Column("SepalWidth", DataKind.R4, 2), - new TextLoader.Column("PetalLength", DataKind.R4, 3), - new TextLoader.Column("PetalWidth", DataKind.R4, 4), - } - }); + // STEP 1: Infer columns + var columnInference = mlContext.Data.InferColumns(TrainDataPath, LabelColumnName, '\t'); + // STEP 2: Load data + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); IDataView trainDataView = textLoader.Read(TrainDataPath); IDataView testDataView = textLoader.Read(TestDataPath); - // STEP 2: Auto featurize, auto train and auto hyperparameter tuning - var autoFitResults = mlContext.MulticlassClassification.AutoFit(trainDataView, timeoutInMinutes: 1); + // STEP 3: Auto featurize, auto train and auto hyperparameter tuning + Console.WriteLine($"Invoking MulticlassClassification.AutoFit"); + var autoFitResults = mlContext.MulticlassClassification.AutoFit(trainDataView, timeoutInSeconds: 1); - // STEP 3: Print metrics for each iteration - int iterationIndex = 0; - PrintMulticlassClassificationMetricsHeader(); + // STEP 4: Print metric from the best model + var best = autoFitResults.Best(); + Console.WriteLine($"AccuracyMacro of best model from validation data {best.Metrics.AccuracyMacro}"); - IDataView testDataViewWithBestScore = null; - IterationResult bestIteration = null; - double bestScore = 0; + // STEP 5: Evaluate test data + IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); + var testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: DefaultColumnNames.Label, DefaultColumnNames.Score); + Console.WriteLine($"AccuracyMacro of best model from test data {best.Metrics.AccuracyMacro}"); - foreach (var iterationResult in autoFitResults) - { - if (iterationResult.Exception != null) - { - Console.WriteLine(iterationResult.Exception); - continue; - } - - IDataView testDataViewWithScore = iterationResult.Model.Transform(testDataView); - var testMetrics = mlContext.MulticlassClassification.Evaluate(testDataViewWithScore, label: "Label", score: "Score"); - if (bestScore < iterationResult.Metrics.AccuracyMacro) - { - bestScore = iterationResult.Metrics.AccuracyMacro; - bestIteration = iterationResult; - testDataViewWithBestScore = testDataViewWithScore; - } - - ++iterationIndex; - PrintMulticlassClassificationMetrics(iterationIndex, iterationResult.TrainerName, "validation", iterationResult.Metrics); - PrintMulticlassClassificationMetrics(iterationIndex, iterationResult.TrainerName, "test", testMetrics); - Console.WriteLine(); - } - - // STEP 4: Compare and print actual value vs predicted value for top 5 rows from validation data - PrintActualVersusPredictedHeader(); - IEnumerable labels = testDataViewWithBestScore.GetColumn(mlContext, DefaultColumnNames.Label); - IEnumerable scores = testDataViewWithBestScore.GetColumn(mlContext, DefaultColumnNames.PredictedLabel); - int rowCount = 1; - do - { - PrintActualVersusPredictedValue(rowCount, labels.ElementAt(rowCount), scores.ElementAt(rowCount)); - } while (rowCount++ <= 5); - - // STEP 5: Save the best model for later deployment and inferencing + // STEP 6: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) - bestIteration.Model.SaveTo(mlContext, fs); + best.Model.SaveTo(mlContext, fs); Console.WriteLine("Press any key to continue.."); Console.ReadLine(); } - - static void PrintMulticlassClassificationMetrics(int iteration, string trainerName, string typeOfMetrics, MultiClassClassifierMetrics metrics) - { - Console.WriteLine($"{iteration,-3}{trainerName,-35}{typeOfMetrics,-15}{metrics.AccuracyMacro,-15:0.####}{metrics.AccuracyMicro,-15:0.####}{metrics.LogLossReduction,-15:0.##}"); - } - - static void PrintActualVersusPredictedValue(int index, uint label, uint predictedLabel) - { - Console.WriteLine($"{index,-5}{label,-15}{predictedLabel,15}"); - } - - static void PrintMulticlassClassificationMetricsHeader() - { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Metrics for multiclass classification model "); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"{" ",-3}{"Trainer",-35}{"Type",-15}{"AccuracyMacro",-15}{"AccuracyMicro",-15}{"LogLossReduction",-15}"); - } - - static void PrintActualVersusPredictedHeader() - { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Actual value Vs predicted value "); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"{"Row",-5}{"Actual",-15}{"Predicted",15}"); - } } } diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index 9111fcdfef..784660ab0e 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -15,6 +15,7 @@ static class AutoTrainRegression private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; + private static string LabelColumnName = "fare_amount"; public static void Run() { @@ -22,100 +23,32 @@ public static void Run() MLContext mlContext = new MLContext(seed: 0); // STEP 1: Common data loading configuration - TextLoader textLoader = mlContext.Data.CreateTextLoader(new[] - { - new TextLoader.Column("VendorId", DataKind.Text, 0), - new TextLoader.Column("RateCode", DataKind.Text, 1), - new TextLoader.Column("PassengerCount", DataKind.R4, 2), - new TextLoader.Column("TripTime", DataKind.R4, 3), - new TextLoader.Column("TripDistance", DataKind.R4, 4), - new TextLoader.Column("PaymentType", DataKind.Text, 5), - new TextLoader.Column("FareAmount", DataKind.R4, 6) - }, - hasHeader: true, - separatorChar: ',' - ); + var columnInference = mlContext.Data.InferColumns(TrainDataPath, LabelColumnName, ','); + // STEP 2: Load data + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); IDataView trainDataView = textLoader.Read(TrainDataPath); IDataView testDataView = textLoader.Read(TestDataPath); - // STEP 2: Auto featurize, auto train and auto hyperparameter tuning - var autoFitResults = mlContext.Regression.AutoFit(trainDataView, "FareAmount", timeoutInMinutes:1); - - // STEP 3: Print metrics for each iteration - int iterationIndex = 0; - PrintRegressionMetricsHeader(); - - IDataView testDataViewWithBestScore = null; - IterationResult bestIteration = null; - double bestScore = 0; - - foreach (var iterationResult in autoFitResults) - { - if (iterationResult.Exception != null) - { - Console.WriteLine(iterationResult.Exception); - continue; - } - - IDataView testDataViewWithScore = iterationResult.Model.Transform(testDataView); - var testMetrics = mlContext.Regression.Evaluate(testDataViewWithScore, label: DefaultColumnNames.Label, DefaultColumnNames.Score); - if (bestScore < iterationResult.Metrics.RSquared) - { - bestScore = iterationResult.Metrics.RSquared; - bestIteration = iterationResult; - testDataViewWithBestScore = testDataViewWithScore; - } - - ++iterationIndex; - PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, "validation", iterationResult.Metrics); - PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, "test", testMetrics); - Console.WriteLine(); - } - + // STEP 3: Auto featurize, auto train and auto hyperparameter tuning + Console.WriteLine($"Invoking Regression.AutoFit"); + var autoFitResults = mlContext.Regression.AutoFit(trainDataView, LabelColumnName, timeoutInSeconds:1); + // STEP 4: Compare and print actual value vs predicted value for top 5 rows from validation data - PrintActualVersusPredictedHeader(); - IEnumerable fareAmounts = testDataViewWithBestScore.GetColumn(mlContext, "FareAmount"); - IEnumerable scores = testDataViewWithBestScore.GetColumn(mlContext, "Score"); - int rowCount = 1; - do - { - PrintActualVersusPredictedValue(rowCount, fareAmounts.ElementAt(rowCount), scores.ElementAt(rowCount)); - - } while (rowCount++ <= 5); + var best = autoFitResults.Best(); + Console.WriteLine($"RSquared of best model from validation data {best.Metrics.RSquared}"); + + // STEP 5: Evaluate test data + IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); + var testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: DefaultColumnNames.Label, DefaultColumnNames.Score); + Console.WriteLine($"RSquared of best model from test data {best.Metrics.RSquared}"); - // STEP 5: Save the best model for later deployment and inferencing + // STEP 6: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) - bestIteration.Model.SaveTo(mlContext, fs); + best.Model.SaveTo(mlContext, fs); Console.WriteLine("Press any key to continue.."); Console.ReadLine(); } - - static void PrintRegressionMetrics(int iteration, string trainerName, string typeOfMetrics, RegressionMetrics metrics) - { - Console.WriteLine($"{iteration,-3}{trainerName, -35}{typeOfMetrics,-15}{metrics.LossFn,-8:0.##}{metrics.RSquared,-10:0.##}{metrics.L1,-15:#.##}{metrics.L2,-15:#.##}{metrics.Rms,-10:#.##}"); - } - - static void PrintActualVersusPredictedValue(int index, float fareAmount, float score) - { - Console.WriteLine($"{index,-5}{fareAmount,-20}{score,-20}"); - } - - static void PrintRegressionMetricsHeader() - { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Metrics for regression model "); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"{" ",-3}{"Trainer",-35}{"Type",-15}{"LossFn",-8}{"R2-Score",-10}{"Absolute-loss",-15}{"Squared-loss",-15}{"RMS-loss",-10}"); - } - - static void PrintActualVersusPredictedHeader() - { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Actual value Vs predicted value "); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"{"Row",-5}{"ActualFareAmount",-20}{"PredictedFareAmount",-20}"); - } } } diff --git a/src/Samples/Cancellation.cs b/src/Samples/Cancellation.cs new file mode 100644 index 0000000000..0fb1492879 --- /dev/null +++ b/src/Samples/Cancellation.cs @@ -0,0 +1,52 @@ +using System; +using System.Diagnostics; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Data.DataView; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.Data; + +namespace Samples +{ + static class Cancellation + { + private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; + private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; + private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; + private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; + private static string LabelColumnName = "fare_amount"; + + public static void Run() + { + //Create ML Context with seed for repeteable/deterministic results + MLContext mlContext = new MLContext(seed: 0); + + // STEP 1: Infer columns + var columnInference = mlContext.Data.InferColumns(TrainDataPath, LabelColumnName, ','); + + // STEP 2: Load data + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + IDataView trainDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); + + int cancelAfterInSeconds = 20; + CancellationTokenSource cts = new CancellationTokenSource(); + cts.CancelAfter(cancelAfterInSeconds * 1000); + + Stopwatch watch = Stopwatch.StartNew(); + + // STEP 3: Autofit with a cancellation token + Console.WriteLine($"Invoking Regression.AutoFit"); + var autoFitResults = mlContext.Regression.AutoFit(trainDataView, + LabelColumnName, + timeoutInSeconds: 1, + cancellationToken: cts.Token); + + Console.WriteLine($"{autoFitResults.Count} models were returned after {cancelAfterInSeconds} seconds"); + + Console.WriteLine("Press any key to continue.."); + Console.ReadLine(); + } + } +} diff --git a/src/Samples/EarlyStopping.cs b/src/Samples/EarlyStopping.cs deleted file mode 100644 index ec4890f032..0000000000 --- a/src/Samples/EarlyStopping.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System; -using Microsoft.Data.DataView; -using Microsoft.ML; -using Microsoft.ML.Auto; -using Microsoft.ML.Data; - -namespace Samples -{ - static class EarlyStopping - { - private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; - private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; - private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; - private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; - - public static void Run() - { - //Create ML Context with seed for repeteable/deterministic results - MLContext mlContext = new MLContext(seed: 0); - - // STEP 1: Common data loading configuration - TextLoader textLoader = mlContext.Data.CreateTextLoader(new[] - { - new TextLoader.Column("VendorId", DataKind.Text, 0), - new TextLoader.Column("RateCode", DataKind.Text, 1), - new TextLoader.Column("PassengerCount", DataKind.R4, 2), - new TextLoader.Column("TripTime", DataKind.R4, 3), - new TextLoader.Column("TripDistance", DataKind.R4, 4), - new TextLoader.Column("PaymentType", DataKind.Text, 5), - new TextLoader.Column("FareAmount", DataKind.R4, 6) - }, - hasHeader: true, - separatorChar: ',' - ); - - IDataView trainDataView = textLoader.Read(TrainDataPath); - IDataView testDataView = textLoader.Read(TestDataPath); - - // STEP 2: Auto featurize, auto train and auto hyperparameter tuning - var autoFitResults = mlContext.Regression.AutoFit(trainDataView, "FareAmount", timeoutInMinutes: 3); - - IterationResult bestIteration = null; - double bestScore = 0; - int totalIterations = 0; - int iterationsWithoutScoreImprovement = 0; - - foreach (var iterationResult in autoFitResults) - { - totalIterations++; - IDataView testDataViewWithScore = iterationResult.Model.Transform(testDataView); - var testMetrics = mlContext.Regression.Evaluate(testDataViewWithScore, label: DefaultColumnNames.Label, DefaultColumnNames.Score); - Console.WriteLine($"iteration{ totalIterations} score:{iterationResult.Metrics.RSquared}"); - if (bestScore < iterationResult?.Metrics.RSquared) - { - bestScore = iterationResult.Metrics.RSquared; - bestIteration = iterationResult; - iterationsWithoutScoreImprovement = 0; - } - else - { - iterationsWithoutScoreImprovement++; - } - - // Stop iterations when one of the criteria is met - // 1) Best score is above 0.95 - // 2) Score hasn't improved in last 10 iterations - // 3) Total iterations has exceeded 30 - if (bestScore > 0.95 || - totalIterations > 30 || - iterationsWithoutScoreImprovement > 10) - { - Console.WriteLine("Stopping early"); - break; - } - } - - Console.WriteLine($"total iterations:{totalIterations} bestscore:{bestScore} iterations without improvement:{iterationsWithoutScoreImprovement}"); - - Console.WriteLine("Press any key to continue.."); - Console.ReadLine(); - } - } -} diff --git a/src/Samples/Program.cs b/src/Samples/Program.cs index f86fa480ad..b76ef5ca0c 100644 --- a/src/Samples/Program.cs +++ b/src/Samples/Program.cs @@ -12,18 +12,21 @@ public static void Main(string[] args) { try { - AutoTrainRegression.Run(); + Cancellation.Run(); Console.Clear(); - AutoTrainBinaryClassification.Run(); + ProgressHandler.Run(); Console.Clear(); - AutoTrainMulticlassClassification.Run(); + AutoTrainRegression.Run(); Console.Clear(); - EarlyStopping.Run(); + AutoTrainBinaryClassification.Run(); Console.Clear(); + AutoTrainMulticlassClassification.Run(); + Console.Clear(); + Console.WriteLine("Done"); } catch (Exception ex) diff --git a/src/Samples/ProgressHandler.cs b/src/Samples/ProgressHandler.cs new file mode 100644 index 0000000000..6587a781d8 --- /dev/null +++ b/src/Samples/ProgressHandler.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.Data.DataView; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.Data; + +namespace Samples +{ + static class ProgressHandler + { + private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; + private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; + private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; + private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; + private static string LabelColumnName = "fare_amount"; + + public static void Run() + { + //Create ML Context with seed for repeteable/deterministic results + MLContext mlContext = new MLContext(seed: 0); + + // STEP 1: Infer columns + var columnInference = mlContext.Data.InferColumns(TrainDataPath, LabelColumnName, ','); + + // STEP 2: Load data + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + IDataView trainDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); + + // STEP 3: Autofit with a callback configured + var autoFitResults = mlContext.Regression.AutoFit(trainDataView, + LabelColumnName, + timeoutInSeconds: 1, + progressCallback: new Progress()); + + Console.WriteLine("Press any key to continue.."); + Console.ReadLine(); + } + + class Progress : IProgress> + { + int iterationIndex; + public Progress() + { + ConsolePrinter.PrintRegressionMetricsHeader(); + } + + public void Report(AutoFitRunResult iterationResult) + { + iterationIndex++; + ConsolePrinter.PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.Metrics); + } + } + + class ConsolePrinter + { + public static void PrintRegressionMetrics(int iteration, string trainerName, RegressionMetrics metrics) + { + Console.WriteLine($"{iteration,-3}{trainerName,-35}{metrics.RSquared,-10:0.###}{metrics.LossFn,-8:0.##}{metrics.L1,-15:#.##}{metrics.L2,-15:#.##}{metrics.Rms,-10:#.##}"); + } + + public static void PrintActualVersusPredictedValue(int index, float fareAmount, float score) + { + Console.WriteLine($"{index,-5}{fareAmount,-20}{score,-20}"); + } + + public static void PrintRegressionMetricsHeader() + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Metrics for regression models "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"{" ",-3}{"Trainer",-35}{"R2-Score",-10}{"LossFn",-8}{"Absolute-loss",-15}{"Squared-loss",-15}{"RMS-loss",-10}"); + Console.WriteLine(); + } + + public static void PrintActualVersusPredictedHeader() + { + Console.WriteLine(); + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Actual fare Vs predicted fare using the model picked by automl"); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"{"Row",-5}{"Actual",-20}{"Predicted",-20}"); + } + + public static void PrintBestPipelineHeader() + { + Console.WriteLine(); + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Best pipeline "); + Console.WriteLine($"*------------------------------------------------"); + } + } + } +} diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index 2d206c72ca..3d12938a0a 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -26,7 +26,7 @@ public void AutoFitBinaryTest() StoppingCriteria = new ExperimentStoppingCriteria() { MaxIterations = 2, - TimeOutInMinutes = 1000000000 + TimeoutInSeconds = 1000000000 } }, debugLogger: null); @@ -49,7 +49,7 @@ public void AutoFitMultiTest() StoppingCriteria = new ExperimentStoppingCriteria() { MaxIterations = 1, - TimeOutInMinutes = 1000000000 + TimeoutInSeconds = 1000000000 } }, debugLogger: null); @@ -72,7 +72,7 @@ public void AutoFitRegressionTest() StoppingCriteria = new ExperimentStoppingCriteria() { MaxIterations = 1, - TimeOutInMinutes = 1000000000 + TimeoutInSeconds = 1000000000 } }, debugLogger: null); diff --git a/src/mlnet/Commands/NewCommand.cs b/src/mlnet/Commands/NewCommand.cs index 951539a05e..93c3718980 100644 --- a/src/mlnet/Commands/NewCommand.cs +++ b/src/mlnet/Commands/NewCommand.cs @@ -70,8 +70,7 @@ private static (Pipeline, ITransformer) ExploreModels( if (options.MlTask == TaskKind.BinaryClassification) { var result = context.BinaryClassification.AutoFit(trainData, label, validationData, 10); - result = result.OrderByDescending(t => t.Metrics.Accuracy); - var bestIteration = result.FirstOrDefault(); + var bestIteration = result.Best(); pipelineToDeconstruct = bestIteration.Pipeline; model = bestIteration.Model; } @@ -79,8 +78,7 @@ private static (Pipeline, ITransformer) ExploreModels( if (options.MlTask == TaskKind.Regression) { var result = context.Regression.AutoFit(trainData, label, validationData, 10); - result = result.OrderByDescending(t => t.Metrics.RSquared); - var bestIteration = result.FirstOrDefault(); + var bestIteration = result.Best(); pipelineToDeconstruct = bestIteration.Pipeline; model = bestIteration.Model; } From 6ed9d0af8c3d6a1f0a7f4baaaf50cb80e3fed1af Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 12 Feb 2019 12:12:37 -0800 Subject: [PATCH 065/211] Default the kfolds to value 5 in CLI generated code (#115) * Added sequential grouping of columns * reverted the file * Set up CI with Azure Pipelines * Update azure-pipelines.yml for Azure Pipelines * Update azure-pipelines.yml for Azure Pipelines * remove file * added kfold param and defaulted to value * changed type * added for regression --- src/mlnet/Templates/MLCodeGen.cs | 15 +++++++++------ src/mlnet/Templates/MLCodeGen.tt | 5 +++-- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/mlnet/Templates/MLCodeGen.cs b/src/mlnet/Templates/MLCodeGen.cs index da5a129a63..1c3fecd4c4 100644 --- a/src/mlnet/Templates/MLCodeGen.cs +++ b/src/mlnet/Templates/MLCodeGen.cs @@ -133,16 +133,18 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) if("BinaryClassification".Equals(TaskType)){ this.Write(" var crossValidationResults = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); - this.Write(".CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: 3, labe" + - "lColumn:\"Label\");\r\n ConsoleHelper.PrintBinaryClassificationFoldsAvera" + - "geMetrics(trainer.ToString(), crossValidationResults);\r\n"); + this.Write(".CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: "); + this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); + this.Write(", labelColumn:\"Label\");\r\n ConsoleHelper.PrintBinaryClassificationFolds" + + "AverageMetrics(trainer.ToString(), crossValidationResults);\r\n"); } if("Regression".Equals(TaskType)){ this.Write(" var crossValidationResults = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); - this.Write(".CrossValidate(trainingDataView, trainingPipeline, numFolds: 3, labelColumn:\"Labe" + - "l\");\r\n ConsoleHelper.PrintRegressionFoldsAverageMetrics(trainer.ToStr" + - "ing(), crossValidationResults);\r\n"); + this.Write(".CrossValidate(trainingDataView, trainingPipeline, numFolds: "); + this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); + this.Write(", labelColumn:\"Label\");\r\n ConsoleHelper.PrintRegressionFoldsAverageMet" + + "rics(trainer.ToString(), crossValidationResults);\r\n"); } } this.Write(@" @@ -249,6 +251,7 @@ private static void TestSinglePrediction(MLContext mlContext) public bool AllowQuoting {get;set;} public bool AllowSparse {get;set;} public bool TrimWhiteSpace {get;set;} +public int Kfolds {get;set;} = 5; } #region Base class diff --git a/src/mlnet/Templates/MLCodeGen.tt b/src/mlnet/Templates/MLCodeGen.tt index 02c2be278c..9538330b89 100644 --- a/src/mlnet/Templates/MLCodeGen.tt +++ b/src/mlnet/Templates/MLCodeGen.tt @@ -100,10 +100,10 @@ else{#> // in order to evaluate and get the model's accuracy metrics Console.WriteLine("=============== Cross-validating to get model's accuracy metrics ==============="); <#if("BinaryClassification".Equals(TaskType)){ #> - var crossValidationResults = mlContext.<#= TaskType #>.CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: 3, labelColumn:"Label"); + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"Label"); ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(trainer.ToString(), crossValidationResults); <#}#><#if("Regression".Equals(TaskType)){ #> - var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numFolds: 3, labelColumn:"Label"); + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"Label"); ConsoleHelper.PrintRegressionFoldsAverageMetrics(trainer.ToString(), crossValidationResults); <#}#> <# } #> @@ -205,4 +205,5 @@ public string GeneratedUsings {get;set;} public bool AllowQuoting {get;set;} public bool AllowSparse {get;set;} public bool TrimWhiteSpace {get;set;} +public int Kfolds {get;set;} = 5; #> From 6995688661a97f47c119bf49c9adf84a61808161 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 12 Feb 2019 12:44:32 -0800 Subject: [PATCH 066/211] Remove extra ; from generated code (#114) * Added sequential grouping of columns * reverted the file * Set up CI with Azure Pipelines * Update azure-pipelines.yml for Azure Pipelines * Update azure-pipelines.yml for Azure Pipelines * removed extra ; from generated code * removed file * fix unit tests --- src/mlnet.Test/CodeGenTests.cs | 6 +++--- src/mlnet/CodeGenerator/TrainerGeneratorBase.cs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index d8908c8e46..87b53bef76 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -25,7 +25,7 @@ public void TrainerGeneratorBasicNamedParameterTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expected = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumn:\"Label\",featureColumn:\"Features\");"; + string expected = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumn:\"Label\",featureColumn:\"Features\")"; Assert.AreEqual(expected, actual.Item1); Assert.IsNull(actual.Item2); } @@ -45,7 +45,7 @@ public void TrainerGeneratorBasicAdvancedParameterTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainer = "LightGbm(new Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"});"; + string expectedTrainer = "LightGbm(new Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; string expectedUsing = "using Microsoft.ML.LightGBM;\r\n"; Assert.AreEqual(expectedTrainer, actual.Item1); Assert.AreEqual(expectedUsing, actual.Item2); @@ -163,7 +163,7 @@ public void TrainerComplexParameterTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainer = "LightGbm(new Options(){Booster=new TreeBooster(){},LabelColumn=\"Label\",FeatureColumn=\"Features\"});"; + string expectedTrainer = "LightGbm(new Options(){Booster=new TreeBooster(){},LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; var expectedUsings = "using Microsoft.ML.LightGBM;\r\n"; Assert.AreEqual(expectedTrainer, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2); diff --git a/src/mlnet/CodeGenerator/TrainerGeneratorBase.cs b/src/mlnet/CodeGenerator/TrainerGeneratorBase.cs index 20e953c4cf..d8c6d7cbdb 100644 --- a/src/mlnet/CodeGenerator/TrainerGeneratorBase.cs +++ b/src/mlnet/CodeGenerator/TrainerGeneratorBase.cs @@ -133,7 +133,7 @@ public string GenerateTrainer() { sb.Append(AppendArguments(arguments, ":")); } - sb.Append(");"); + sb.Append(")"); return sb.ToString(); } From ed430ef488ef558af733fd88aa0b4c9a22e13fd7 Mon Sep 17 00:00:00 2001 From: vinodshanbhag <33269336+vinodshanbhag@users.noreply.github.com> Date: Tue, 12 Feb 2019 17:22:50 -0800 Subject: [PATCH 067/211] TimeoutInSeconds (#116) Specifying timeout in seconds instead of minutes --- src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs b/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs index 73f00ad6b8..2bf60cefca 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs @@ -118,7 +118,7 @@ public List> Fit() iterationResults.Add(iterationResult); } while (!_cancellationToken.IsCancellationRequested && _history.Count < _settings.StoppingCriteria.MaxIterations && - stopwatch.Elapsed.TotalMinutes < _settings.StoppingCriteria.TimeoutInSeconds); + stopwatch.Elapsed.TotalSeconds < _settings.StoppingCriteria.TimeoutInSeconds); return iterationResults; } From 48de6a76ccfe387f70b7714e9f83e549cbfb7b65 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 13 Feb 2019 11:36:33 -0800 Subject: [PATCH 068/211] Added more command line args implementation to CLI tool and refactoring (#110) * Added sequential grouping of columns * reverted the file * Set up CI with Azure Pipelines * Update azure-pipelines.yml for Azure Pipelines * Update azure-pipelines.yml for Azure Pipelines * added git status * reverted change * added codegen options and refactoring * minor fixes' * renamed params, minor refactoring * added tests for commandline and refactoring * removed file * added back the test case * minor fixes * Update src/mlnet.Test/CommandLineTests.cs Co-Authored-By: srsaggam <41802116+srsaggam@users.noreply.github.com> * review comments * capitalize the first character * changed the name of test case * remove unused directives --- src/Microsoft.ML.Auto/API/DataExtensions.cs | 6 +- .../ColumnInference/ColumnInferenceApi.cs | 20 +-- .../Utils/UserInputValidationUtil.cs | 29 ++-- src/Test/UserInputValidationTests.cs | 11 +- src/mlnet.Test/CodeGenTests.cs | 32 ++--- src/mlnet.Test/CommandLineTests.cs | 114 +++++++++++++++ src/mlnet/CodeGenerator/CodeGenerator.cs | 74 +++++++++- .../CodeGenerator/CodeGeneratorOptions.cs | 18 +++ src/mlnet/Commands/CommandDefinitions.cs | 43 +++--- src/mlnet/Commands/NewCommand.cs | 136 ++++++------------ src/mlnet/Data/Options.cs | 4 +- src/mlnet/Program.cs | 21 ++- 12 files changed, 331 insertions(+), 177 deletions(-) create mode 100644 src/mlnet.Test/CommandLineTests.cs create mode 100644 src/mlnet/CodeGenerator/CodeGeneratorOptions.cs diff --git a/src/Microsoft.ML.Auto/API/DataExtensions.cs b/src/Microsoft.ML.Auto/API/DataExtensions.cs index 2622682e80..92ee81de19 100644 --- a/src/Microsoft.ML.Auto/API/DataExtensions.cs +++ b/src/Microsoft.ML.Auto/API/DataExtensions.cs @@ -18,11 +18,11 @@ public static (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, Co return ColumnInferenceApi.InferColumns(mlContext, path, label, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); } - public static (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) InferColumns(this DataOperationsCatalog catalog, string path, int labelColumnIndex, - bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, + public static (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) InferColumns(this DataOperationsCatalog catalog, string path, uint labelColumnIndex, + bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) { - UserInputValidationUtil.ValidateInferColumnsArgs(path, labelColumnIndex); + UserInputValidationUtil.ValidateInferColumnsArgs(path); var mlContext = new MLContext(); return ColumnInferenceApi.InferColumns(mlContext, path, labelColumnIndex, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); } diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs index 70355117b1..face7ff954 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs @@ -11,7 +11,7 @@ namespace Microsoft.ML.Auto { internal static class ColumnInferenceApi { - public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) InferColumns(MLContext context, string path, int labelColumnIndex, + public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) InferColumns(MLContext context, string path, uint labelColumnIndex, bool hasHeader, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse, bool trimWhitespace, bool groupColumns) { var sample = TextFileSample.CreateFromFullFile(path); @@ -31,7 +31,7 @@ public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) Infer typeInference.Columns[labelColumnIndex].SuggestedName = DefaultColumnNames.Label; } - return InferColumns(context, path, typeInference.Columns[labelColumnIndex].SuggestedName, + return InferColumns(context, path, typeInference.Columns[labelColumnIndex].SuggestedName, hasHeader, splitInference, typeInference, trimWhitespace, groupColumns); } @@ -87,14 +87,14 @@ public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) Infer } return (new TextLoader.Arguments() - { - Column = columnResults.ToArray(), - AllowQuoting = splitInference.AllowQuote, - AllowSparse = splitInference.AllowSparse, - Separators = new char[] { splitInference.Separator.Value }, - HasHeader = hasHeader, - TrimWhitespace = trimWhitespace - }, purposeResults); + { + Column = columnResults.ToArray(), + AllowQuoting = splitInference.AllowQuote, + AllowSparse = splitInference.AllowSparse, + Separators = new char[] { splitInference.Separator.Value }, + HasHeader = hasHeader, + TrimWhitespace = trimWhitespace + }, purposeResults); } private static TextFileContents.ColumnSplitResult InferSplit(TextFileSample sample, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse) diff --git a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs index 1b7f7cfd35..cbca1c3a3f 100644 --- a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs @@ -28,9 +28,8 @@ public static void ValidateInferColumnsArgs(string path, string label) ValidatePath(path); } - public static void ValidateInferColumnsArgs(string path, int labelColumnIndex) + public static void ValidateInferColumnsArgs(string path) { - ValidateLabelColumnIndex(labelColumnIndex); ValidatePath(path); } @@ -42,7 +41,7 @@ public static void ValidateAutoReadArgs(string path, string label) private static void ValidateTrainData(IDataView trainData) { - if(trainData == null) + if (trainData == null) { throw new ArgumentNullException(nameof(trainData), "Training data cannot be null"); } @@ -52,7 +51,7 @@ private static void ValidateLabel(IDataView trainData, string label) { ValidateLabel(label); - if(trainData.Schema.GetColumnOrNull(label) == null) + if (trainData.Schema.GetColumnOrNull(label) == null) { throw new ArgumentException($"Provided label column '{label}' not found in training data.", nameof(label)); } @@ -66,14 +65,6 @@ private static void ValidateLabel(string label) } } - private static void ValidateLabelColumnIndex(int labelColumnIndex) - { - if (labelColumnIndex < 0) - { - throw new ArgumentOutOfRangeException(nameof(labelColumnIndex), $"Provided label column index ({labelColumnIndex}) must be non-negative."); - } - } - private static void ValidatePath(string path) { if (path == null) @@ -96,7 +87,7 @@ private static void ValidatePath(string path) private static void ValidateValidationData(IDataView trainData, IDataView validationData) { - if(validationData == null) + if (validationData == null) { return; } @@ -109,15 +100,15 @@ private static void ValidateValidationData(IDataView trainData, IDataView valida $"and validation data has '{validationData.Schema.Count}' columns.", nameof(validationData)); } - foreach(var trainCol in trainData.Schema) + foreach (var trainCol in trainData.Schema) { var validCol = validationData.Schema.GetColumnOrNull(trainCol.Name); - if(validCol == null) + if (validCol == null) { throw new ArgumentException($"{schemaMismatchError} Column '{trainCol.Name}' exsits in train data, but not in validation data.", nameof(validationData)); } - if(trainCol.Type != validCol.Value.Type) + if (trainCol.Type != validCol.Value.Type) { throw new ArgumentException($"{schemaMismatchError} Column '{trainCol.Name}' is of type {trainCol.Type} in train data, and type " + $"{validCol.Value.Type} in validation data.", nameof(validationData)); @@ -127,12 +118,12 @@ private static void ValidateValidationData(IDataView trainData, IDataView valida private static void ValidateSettings(AutoFitSettings settings) { - if(settings?.StoppingCriteria == null) + if (settings?.StoppingCriteria == null) { return; } - if(settings.StoppingCriteria.MaxIterations <= 0) + if (settings.StoppingCriteria.MaxIterations <= 0) { throw new ArgumentOutOfRangeException(nameof(settings), "Max iterations must be > 0"); } @@ -162,7 +153,7 @@ private static void ValidatePurposeOverrides(IDataView trainData, IDataView vali } // if column w/ purpose = 'Label' found, ensure it matches the passed-in label - if(colPurpose == ColumnPurpose.Label && colName != label) + if (colPurpose == ColumnPurpose.Label && colName != label) { throw new ArgumentException($"Label column name in provided list of purposes '{colName}' must match " + $"the label column name '{label}'", nameof(purposeOverrides)); diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index 3af141cd14..c23a572474 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -193,16 +193,9 @@ public void ValidateInferColumnsArgsEmptyFile() } [TestMethod] - public void ValidateOkayInferColsLabelIndex() + public void ValidateInferColsPath() { - UserInputValidationUtil.ValidateInferColumnsArgs(DatasetUtil.DownloadUciAdultDataset(), 0); - } - - [TestMethod] - [ExpectedException(typeof(ArgumentOutOfRangeException))] - public void ValidateInferColsNegativeLabelIndex() - { - UserInputValidationUtil.ValidateInferColumnsArgs(DatasetUtil.DownloadUciAdultDataset(), -1); + UserInputValidationUtil.ValidateInferColumnsArgs(DatasetUtil.DownloadUciAdultDataset()); } } } diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index 87b53bef76..37e130e453 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -23,7 +23,7 @@ public void TrainerGeneratorBasicNamedParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTrainerAndUsings(); string expected = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumn:\"Label\",featureColumn:\"Features\")"; Assert.AreEqual(expected, actual.Item1); @@ -43,7 +43,7 @@ public void TrainerGeneratorBasicAdvancedParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTrainerAndUsings(); string expectedTrainer = "LightGbm(new Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; string expectedUsing = "using Microsoft.ML.LightGBM;\r\n"; @@ -58,7 +58,7 @@ public void TransformGeneratorBasicTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expected = "Normalize(\"Label\",\"Label\")"; Assert.AreEqual(expected, actual[0].Item1); @@ -72,7 +72,7 @@ public void TransformGeneratorUsingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"Label\",\"Label\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; @@ -103,7 +103,7 @@ public void ClassLabelGenerationBasicTest() TrimWhitespace = true }, purposes); - CodeGenerator codeGenerator = new CodeGenerator(null, result); + CodeGenerator codeGenerator = new CodeGenerator(null, result, null); var actual = codeGenerator.GenerateClassLabels(); var expected1 = "[ColumnName(\"Label\")]"; var expected2 = "public bool Label{get; set;}"; @@ -141,7 +141,7 @@ public void ColumnGenerationTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, result); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, result, null); var actual = codeGenerator.GenerateColumns(); Assert.AreEqual(actual.Count, 2); string expectedColumn1 = "new Column(\"Label\",DataKind.BL,0),"; @@ -161,7 +161,7 @@ public void TrainerComplexParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTrainerAndUsings(); string expectedTrainer = "LightGbm(new Options(){Booster=new TreeBooster(){},LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; var expectedUsings = "using Microsoft.ML.LightGBM;\r\n"; @@ -178,7 +178,7 @@ public void OneHotEncodingTest() var elementProperties = new Dictionary();//categorical PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "categorical_column_1" }, new string[] { "categorical_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"categorical_column_1\",\"categorical_column_1\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; @@ -193,7 +193,7 @@ public void NormalizingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1_copy" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Normalize(\"numeric_column_1_copy\",\"numeric_column_1\")"; string expectedUsings = null; @@ -208,7 +208,7 @@ public void ColumnConcatenatingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("ColumnConcatenating", PipelineNodeType.Transform, new string[] { "numeric_column_1", "numeric_column_2" }, new string[] { "Features" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Concatenate(\"Features\",new []{\"numeric_column_1\",\"numeric_column_2\"})"; string expectedUsings = null; @@ -223,7 +223,7 @@ public void ColumnCopyingTest() var elementProperties = new Dictionary();//nume to num feature 2 PipelineNode node = new PipelineNode("ColumnCopying", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_2" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "CopyColumns(\"numeric_column_2\",\"numeric_column_1\")"; string expectedUsings = null; @@ -238,7 +238,7 @@ public void MissingValueIndicatingTest() var elementProperties = new Dictionary();//numeric feature PipelineNode node = new PipelineNode("MissingValueIndicating", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "IndicateMissingValues(new []{(\"numeric_column_1\",\"numeric_column_1\")})"; string expectedUsings = null; @@ -253,7 +253,7 @@ public void OneHotHashEncodingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("OneHotHashEncoding", PipelineNodeType.Transform, new string[] { "Categorical_column_1" }, new string[] { "Categorical_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotHashEncoding(new []{new OneHotHashEncodingEstimator.ColumnInfo(\"Categorical_column_1\",\"Categorical_column_1\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; @@ -268,7 +268,7 @@ public void TextFeaturizingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("TextFeaturizing", PipelineNodeType.Transform, new string[] { "Text_column_1" }, new string[] { "Text_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Text.FeaturizeText(\"Text_column_1\",\"Text_column_1\")"; string expectedUsings = null; @@ -283,7 +283,7 @@ public void TypeConvertingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("TypeConverting", PipelineNodeType.Transform, new string[] { "I4_column_1" }, new string[] { "R4_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingTransformer.ColumnInfo(\"R4_column_1\",DataKind.R4,\"I4_column_1\")})"; string expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; @@ -298,7 +298,7 @@ public void ValueToKeyMappingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("ValueToKeyMapping", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null)); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Conversion.MapValueToKey(\"Label\",\"Label\")"; var expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; diff --git a/src/mlnet.Test/CommandLineTests.cs b/src/mlnet.Test/CommandLineTests.cs new file mode 100644 index 0000000000..dfbe775521 --- /dev/null +++ b/src/mlnet.Test/CommandLineTests.cs @@ -0,0 +1,114 @@ +using System.CommandLine.Builder; +using System.CommandLine.Invocation; +using System.IO; +using Microsoft.ML.Auto; +using Microsoft.ML.CLI; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace mlnet.Test +{ + [TestClass] + public class CommandLineTests + { + [TestMethod] + public void TestCommandLineArgs() + { + bool parsingSuccessful = false; + + // Create handler outside so that commandline and the handler is decoupled and testable. + var handler = CommandHandler.Create( + (trainDataset, testDataset, validationDataset, mlTask, labelColumnName, timeout, labelColumnIndex) => + { + parsingSuccessful = true; + }); + + var parser = new CommandLineBuilder() + // Parser + .AddCommand(CommandDefinitions.New(handler)) + .UseDefaults() + .Build(); + + var file = Path.GetTempFileName(); + string[] args = new[] { "new", "--ml-task", "BinaryClassification", "--train-dataset", file, "--label-column-name", "Label" }; + parser.InvokeAsync(args).Wait(); + File.Delete(file); + Assert.IsTrue(parsingSuccessful); + } + + + [TestMethod] + public void TestCommandLineArgsFailTest() + { + bool parsingSuccessful = false; + + // Create handler outside so that commandline and the handler is decoupled and testable. + var handler = CommandHandler.Create( + (trainDataset, testDataset, validationDataset, mlTask, labelColumnName, timeout, labelColumnIndex) => + { + parsingSuccessful = true; + }); + + var parser = new CommandLineBuilder() + // parser + .AddCommand(CommandDefinitions.New(handler)) + .UseDefaults() + .Build(); + + // Incorrect mltask test + var file = Path.GetTempFileName(); + string[] args = new[] { "new", "--ml-task", "BinaryClass", "--train-dataset", file, "--label-column-name", "Label" }; + parser.InvokeAsync(args).Wait(); + Assert.IsFalse(parsingSuccessful); + + // Incorrect invocation + args = new[] { "new", "BinaryClassification", "--train-dataset", file, "--label-column-name", "Label" }; + parser.InvokeAsync(args).Wait(); + Assert.IsFalse(parsingSuccessful); + + // Non-existent file test + args = new[] { "new", "--ml-task", "BinaryClassification", "--train-dataset", "blah.csv", "--label-column-name", "Label" }; + parser.InvokeAsync(args).Wait(); + Assert.IsFalse(parsingSuccessful); + + // No label column or index test + args = new[] { "new", "--ml-task", "BinaryClassification", "--train-dataset", "blah.csv" }; + parser.InvokeAsync(args).Wait(); + Assert.IsFalse(parsingSuccessful); + + } + + [TestMethod] + public void TestCommandLineArgsValuesTest() + { + bool parsingSuccessful = false; + var file1 = Path.GetTempFileName(); + var file2 = Path.GetTempFileName(); + var labelName = "Label"; + + // Create handler outside so that commandline and the handler is decoupled and testable. + var handler = CommandHandler.Create( + (trainDataset, validationDataset, testDataset, mlTask, labelColumnName, timeout, labelColumnIndex) => + { + parsingSuccessful = true; + Assert.AreEqual(mlTask, TaskKind.BinaryClassification); + Assert.AreEqual(trainDataset, file1); + Assert.AreEqual(testDataset, file2); + Assert.AreEqual(labelColumnName, labelName); + }); + + var parser = new CommandLineBuilder() + // Parser + .AddCommand(CommandDefinitions.New(handler)) + .UseDefaults() + .Build(); + + // Incorrect mltask test + string[] args = new[] { "new", "--ml-task", "BinaryClassification", "--train-dataset", file1, "--label-column-name", labelName, "--test-dataset", file2 }; + parser.InvokeAsync(args).Wait(); + File.Delete(file1); + File.Delete(file2); + Assert.IsTrue(parsingSuccessful); + + } + } +} diff --git a/src/mlnet/CodeGenerator/CodeGenerator.cs b/src/mlnet/CodeGenerator/CodeGenerator.cs index e4be1d4c32..b07ceb3548 100644 --- a/src/mlnet/CodeGenerator/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CodeGenerator.cs @@ -4,9 +4,12 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using Microsoft.ML.Auto; +using Microsoft.ML.Data; +using mlnet.Templates; using static Microsoft.ML.Data.TextLoader; namespace Microsoft.ML.CLI @@ -14,13 +17,78 @@ namespace Microsoft.ML.CLI internal class CodeGenerator { private readonly Pipeline pipeline; + private readonly CodeGeneratorOptions options; private readonly (Arguments, IEnumerable<(string, ColumnPurpose)>) columnInferenceResult; - public CodeGenerator(Pipeline pipelineToDeconstruct, (Arguments, IEnumerable<(string, ColumnPurpose)>) columnInferenceResult) + internal CodeGenerator(Pipeline pipeline, (Arguments, IEnumerable<(string, ColumnPurpose)>) columnInferenceResult, CodeGeneratorOptions options) { - this.pipeline = pipelineToDeconstruct; + this.pipeline = pipeline; this.columnInferenceResult = columnInferenceResult; + this.options = options; } + + internal void GenerateOutput() + { + var trainerAndUsings = this.GenerateTrainerAndUsings(); + var transformsAndUsings = this.GenerateTransformsAndUsings(); + + //Capture all the usings + var usings = new List(); + + //Get trainer code and its associated usings. + var trainer = trainerAndUsings.Item1; + usings.Add(trainerAndUsings.Item2); + + //Get transforms code and its associated (unique) usings. + var transforms = transformsAndUsings.Select(t => t.Item1).ToList(); + usings.AddRange(transformsAndUsings.Select(t => t.Item2)); + usings = usings.Distinct().ToList(); + + //Combine all using statements to actual text. + StringBuilder usingsBuilder = new StringBuilder(); + usings.ForEach(t => + { + if (t != null) + usingsBuilder.Append(t); + }); + + //Generate code for columns + var columns = this.GenerateColumns(); + + //Generate code for prediction Class labels + var classLabels = this.GenerateClassLabels(); + + MLCodeGen codeGen = new MLCodeGen() + { + Path = options.TrainDataset.FullName, + TestPath = options.TestDataset?.FullName, + Columns = columns, + Transforms = transforms, + HasHeader = columnInferenceResult.Item1.HasHeader, + Separators = columnInferenceResult.Item1.Separators, + AllowQuoting = columnInferenceResult.Item1.AllowQuoting, + AllowSparse = columnInferenceResult.Item1.AllowSparse, + TrimWhiteSpace = columnInferenceResult.Item1.TrimWhitespace, + Trainer = trainer, + TaskType = options.MlTask.ToString(), + ClassLabels = classLabels, + GeneratedUsings = usingsBuilder.ToString() + }; + + MLProjectGen csProjGenerator = new MLProjectGen(); + ConsoleHelper consoleHelper = new ConsoleHelper(); + var trainScoreCode = codeGen.TransformText(); + var projectSourceCode = csProjGenerator.TransformText(); + var consoleHelperCode = consoleHelper.TransformText(); + if (!Directory.Exists("./BestModel")) + { + Directory.CreateDirectory("./BestModel"); + } + File.WriteAllText("./BestModel/Train.cs", trainScoreCode); + File.WriteAllText("./BestModel/MyML.csproj", projectSourceCode); + File.WriteAllText("./BestModel/ConsoleHelper.cs", consoleHelperCode); + } + internal IList<(string, string)> GenerateTransformsAndUsings() { var nodes = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Transform); @@ -165,7 +233,5 @@ private static string Normalize(string inputColumn) } } - - } } diff --git a/src/mlnet/CodeGenerator/CodeGeneratorOptions.cs b/src/mlnet/CodeGenerator/CodeGeneratorOptions.cs new file mode 100644 index 0000000000..e4a6e13e6a --- /dev/null +++ b/src/mlnet/CodeGenerator/CodeGeneratorOptions.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using Microsoft.ML.Auto; + +namespace Microsoft.ML.CLI +{ + internal class CodeGeneratorOptions + { + internal FileInfo TrainDataset { get; set; } + + internal FileInfo TestDataset { get; set; } + + internal TaskKind MlTask { get; set; } + + } +} diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 2c9cb491cd..c9ca29a7e0 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -12,33 +12,19 @@ namespace Microsoft.ML.CLI { - public static class CommandDefinitions + internal static class CommandDefinitions { - public static System.CommandLine.Command New() + internal static System.CommandLine.Command New(ICommandHandler handler) { - var newCommand = new System.CommandLine.Command("new", "ML.NET CLI tool for code generation", - - handler: CommandHandler.Create((FileInfo trainDataset, FileInfo testDataset, TaskKind mlTask, string labelColumnName) => - { - NewCommand.Run(new Options() - { - TrainDataset = trainDataset, - TestDataset = testDataset, - MlTask = mlTask, - LabelName = labelColumnName - }); - - })) + var newCommand = new System.CommandLine.Command("new", "ML.NET CLI tool for code generation", handler: handler) { TrainDataset(), + ValidationDataset(), TestDataset(), MlTask(), LabelName(), - //ColumnSeperator(), - //ExplorationTimeout(), - //Name(), - //ShowOutput() - //LabelIndex() + Timeout(), + LabelColumnIndex() }; newCommand.Argument.AddValidator((sym) => @@ -51,11 +37,10 @@ public static System.CommandLine.Command New() { return "Option required : --ml-task"; } - if (sym.Children["--label-column-name"] == null) + if (sym.Children["--label-column-name"] == null && sym.Children["--label-column-index"] == null) { - return "Option required : --label-column-name"; + return "Option required : --label-column-name or --label-column-index"; } - return null; }); @@ -66,6 +51,10 @@ Option TrainDataset() => new Option("--train-dataset", "Train dataset file path.", new Argument().ExistingOnly()); + Option ValidationDataset() => + new Option("--validation-dataset", "Validation dataset file path.", + new Argument(defaultValue: default(FileInfo)).ExistingOnly()); + Option TestDataset() => new Option("--test-dataset", "Test dataset file path.", new Argument(defaultValue: default(FileInfo)).ExistingOnly()); @@ -78,6 +67,14 @@ Option LabelName() => new Option("--label-column-name", "Name of the label column.", new Argument()); + Option LabelColumnIndex() => + new Option("--label-column-index", "Index of the label column.", + new Argument()); + + Option Timeout() => + new Option("--timeout", "Timeout in seconds for exploring models.", + new Argument(defaultValue: 10)); + } private static string[] GetMlTaskSuggestions() diff --git a/src/mlnet/Commands/NewCommand.cs b/src/mlnet/Commands/NewCommand.cs index 93c3718980..016e41d815 100644 --- a/src/mlnet/Commands/NewCommand.cs +++ b/src/mlnet/Commands/NewCommand.cs @@ -6,18 +6,23 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using System.Text; using Microsoft.Data.DataView; using Microsoft.ML.Auto; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; -using mlnet.Templates; namespace Microsoft.ML.CLI { internal class NewCommand { - internal static void Run(Options options) + private Options options; + + internal NewCommand(Options options) + { + this.options = options; + } + + internal void Run() { if (options.MlTask == TaskKind.MulticlassClassification) { @@ -25,61 +30,63 @@ internal static void Run(Options options) } var context = new MLContext(); - var label = options.LabelName; - // For Version 0.1 It is required that the data set has header. - var columnInference = context.Data.InferColumns(options.TrainDataset.FullName, label, groupColumns: false); + //Check what overload method of InferColumns needs to be called. + (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) columnInference = default((TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses)); + if (options.LabelName != null) + { + columnInference = context.Data.InferColumns(options.TrainDataset.FullName, options.LabelName, groupColumns: false); + } + else + { + columnInference = context.Data.InferColumns(options.TrainDataset.FullName, options.LabelIndex, groupColumns: false); + } + var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); IDataView trainData = textLoader.Read(options.TrainDataset.FullName); - IDataView validationData = options.TestDataset == null ? null : textLoader.Read(options.TestDataset.FullName); + IDataView validationData = options.ValidationDataset == null ? null : textLoader.Read(options.ValidationDataset.FullName); //Explore the models Pipeline pipeline = null; - var result = ExploreModels(options, context, label, trainData, validationData, pipeline); + var result = ExploreModels(context, trainData, validationData, pipeline); //Get the best pipeline pipeline = result.Item1; var model = result.Item2; - //Path can be overriden from args - GenerateModel(model, @"./BestModel", "model.zip", context); - RunCodeGen(options, columnInference, pipeline); - } + //Generate code + var codeGenerator = new CodeGenerator(pipeline, columnInference, new CodeGeneratorOptions() { TrainDataset = options.TrainDataset, MlTask = options.MlTask, TestDataset = options.TestDataset }); + codeGenerator.GenerateOutput(); - private static void GenerateModel(ITransformer model, string ModelPath, string modelName, MLContext mlContext) - { - if (!Directory.Exists(ModelPath)) - { - Directory.CreateDirectory(ModelPath); - } - ModelPath = ModelPath + "/" + modelName; - using (var fs = File.Create(ModelPath)) - model.SaveTo(mlContext, fs); + //Save the model + SaveModel(model, @"./BestModel", "model.zip", context); } - private static (Pipeline, ITransformer) ExploreModels( - Options options, MLContext context, - string label, + private (Pipeline, ITransformer) ExploreModels( + MLContext context, IDataView trainData, IDataView validationData, - Pipeline pipelineToDeconstruct) + Pipeline pipeline) { ITransformer model = null; + string label = options.LabelName ?? "Label"; // It is guaranteed training dataview to have Label column if (options.MlTask == TaskKind.BinaryClassification) { - var result = context.BinaryClassification.AutoFit(trainData, label, validationData, 10); - var bestIteration = result.Best(); - pipelineToDeconstruct = bestIteration.Pipeline; + var result = context.BinaryClassification.AutoFit(trainData, label, validationData, options.Timeout); + result = result.OrderByDescending(t => t.Metrics.Accuracy).ToList(); + var bestIteration = result.FirstOrDefault(); + pipeline = bestIteration.Pipeline; model = bestIteration.Model; } if (options.MlTask == TaskKind.Regression) { - var result = context.Regression.AutoFit(trainData, label, validationData, 10); - var bestIteration = result.Best(); - pipelineToDeconstruct = bestIteration.Pipeline; + var result = context.Regression.AutoFit(trainData, label, validationData, options.Timeout); + result = result.OrderByDescending(t => t.Metrics.RSquared).ToList(); + var bestIteration = result.FirstOrDefault(); + pipeline = bestIteration.Pipeline; model = bestIteration.Model; } @@ -89,71 +96,18 @@ private static (Pipeline, ITransformer) ExploreModels( } //Multi-class exploration here - return (pipelineToDeconstruct, model); + return (pipeline, model); } - private static void RunCodeGen(Options options, (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) columnInference, Pipeline pipelineToDeconstruct) + private static void SaveModel(ITransformer model, string ModelPath, string modelName, MLContext mlContext) { - var codeGenerator = new CodeGenerator(pipelineToDeconstruct, columnInference); - var trainerAndUsings = codeGenerator.GenerateTrainerAndUsings(); - var transformsAndUsings = codeGenerator.GenerateTransformsAndUsings(); - - //Capture all the usings - var usings = new List(); - - //Get trainer code and its associated usings. - var trainer = trainerAndUsings.Item1; - usings.Add(trainerAndUsings.Item2); - - //Get transforms code and its associated (unique) usings. - var transforms = transformsAndUsings.Select(t => t.Item1).ToList(); - usings.AddRange(transformsAndUsings.Select(t => t.Item2)); - usings = usings.Distinct().ToList(); - - //Combine all using statements to actual text. - StringBuilder usingsBuilder = new StringBuilder(); - usings.ForEach(t => - { - if (t != null) - usingsBuilder.Append(t); - }); - - //Generate code for columns - var columns = codeGenerator.GenerateColumns(); - - //Generate code for prediction Class labels - var classLabels = codeGenerator.GenerateClassLabels(); - - MLCodeGen codeGen = new MLCodeGen() - { - Path = options.TrainDataset.FullName, - TestPath = options.TestDataset?.FullName, - Columns = columns, - Transforms = transforms, - HasHeader = columnInference.Item1.HasHeader, - Separators = columnInference.Item1.Separators, - AllowQuoting = columnInference.Item1.AllowQuoting, - AllowSparse = columnInference.Item1.AllowSparse, - TrimWhiteSpace = columnInference.Item1.TrimWhitespace, - Trainer = trainer, - TaskType = options.MlTask.ToString(), - ClassLabels = classLabels, - GeneratedUsings = usingsBuilder.ToString() - }; - - MLProjectGen csProjGenerator = new MLProjectGen(); - ConsoleHelper consoleHelper = new ConsoleHelper(); - var trainScoreCode = codeGen.TransformText(); - var projectSourceCode = csProjGenerator.TransformText(); - var consoleHelperCode = consoleHelper.TransformText(); - if (!Directory.Exists("./BestModel")) + if (!Directory.Exists(ModelPath)) { - Directory.CreateDirectory("./BestModel"); + Directory.CreateDirectory(ModelPath); } - File.WriteAllText("./BestModel/Train.cs", trainScoreCode); - File.WriteAllText("./BestModel/MyML.csproj", projectSourceCode); - File.WriteAllText("./BestModel/ConsoleHelper.cs", consoleHelperCode); + ModelPath = ModelPath + "/" + modelName; + using (var fs = File.Create(ModelPath)) + model.SaveTo(mlContext, fs); } - } } diff --git a/src/mlnet/Data/Options.cs b/src/mlnet/Data/Options.cs index 364da93b51..7b80f4ce89 100644 --- a/src/mlnet/Data/Options.cs +++ b/src/mlnet/Data/Options.cs @@ -21,9 +21,11 @@ internal class Options internal string LabelName { get; set; } - internal int LabelIndex { get; set; } + internal uint LabelIndex { get; set; } internal TaskKind MlTask { get; set; } + internal uint Timeout { get; set; } + } } diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index 92d1f7d13a..9b852d0898 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -5,6 +5,8 @@ using System; using System.CommandLine.Builder; using System.CommandLine.Invocation; +using System.IO; +using Microsoft.ML.Auto; namespace Microsoft.ML.CLI { @@ -12,9 +14,26 @@ class Program { public static void Main(string[] args) { + // Create handler outside so that commandline and the handler is decoupled and testable. + var handler = CommandHandler.Create( + (trainDataset, validationDataset, testDataset, mlTask, labelColumnName, timeout, labelColumnIndex) => + { + var command = new NewCommand(new Options() + { + TrainDataset = trainDataset, + ValidationDataset = validationDataset, + TestDataset = testDataset, + MlTask = mlTask, + LabelName = labelColumnName, + Timeout = timeout, + LabelIndex = labelColumnIndex + }); + command.Run(); + }); + var parser = new CommandLineBuilder() // parser - .AddCommand(CommandDefinitions.New()) + .AddCommand(CommandDefinitions.New(handler)) .UseDefaults() .Build(); From 1ed4195fe301740c57854a09db55d5aa41b4a716 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 13 Feb 2019 22:40:20 -0800 Subject: [PATCH 069/211] Fail gracefully if unable to instantiate data view with swept parameters (#125) * gracefully fail if fail to parse a datai * rev --- .../ColumnInference/TextFileContents.cs | 52 +++++++++++-------- 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs b/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs index c499889a2b..38a0d5c7f1 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs @@ -81,35 +81,45 @@ from _sep in separatorCandidates private static bool TryParseFile(TextLoader.Arguments args, IMultiStreamSource source, out ColumnSplitResult result) { result = null; - var textLoader = new TextLoader(new MLContext(), args, source); - var idv = textLoader.Read(source).Take(1000); - var columnCounts = new List(); - var column = idv.Schema["C"]; - var columnIndex = column.Index; - - using (var cursor = idv.GetRowCursor(new[] { idv.Schema[columnIndex] })) + // try to instantiate data view with swept arguments + try { - var getter = cursor.GetGetter>>(columnIndex); - VBuffer> line = default; - while (cursor.MoveNext()) + var textLoader = new TextLoader(new MLContext(), args, source); + var idv = textLoader.Read(source).Take(1000); + var columnCounts = new List(); + var column = idv.Schema["C"]; + var columnIndex = column.Index; + + using (var cursor = idv.GetRowCursor(new[] { idv.Schema[columnIndex] })) + { + var getter = cursor.GetGetter>>(columnIndex); + + VBuffer> line = default; + while (cursor.MoveNext()) + { + getter(ref line); + columnCounts.Add(line.Length); + } + } + + var mostCommon = columnCounts.GroupBy(x => x).OrderByDescending(x => x.Count()).First(); + if (mostCommon.Count() < UniformColumnCountThreshold * columnCounts.Count) { - getter(ref line); - columnCounts.Add(line.Length); + return false; } + + // disallow single-column case + if (mostCommon.Key <= 1) { return false; } + + result = new ColumnSplitResult(true, args.Separators.First(), args.AllowQuoting, args.AllowSparse, mostCommon.Key); + return true; } - - var mostCommon = columnCounts.GroupBy(x => x).OrderByDescending(x => x.Count()).First(); - if (mostCommon.Count() < UniformColumnCountThreshold * columnCounts.Count) + // fail gracefully if unable to instantiate data view with swept arguments + catch(Exception) { return false; } - - // disallow single-column case - if (mostCommon.Key <= 1) { return false; } - - result = new ColumnSplitResult(true, args.Separators.First(), args.AllowQuoting, args.AllowSparse, mostCommon.Key); - return true; } } } \ No newline at end of file From 1dc5ba21d9b7cfc3fecb963823bc72ee3609d2ea Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 14 Feb 2019 11:42:34 -0800 Subject: [PATCH 070/211] validate AutoFit 'Features' column must be of type R4 (#132) --- .../Utils/UserInputValidationUtil.cs | 8 +++++++- src/Test/UserInputValidationTests.cs | 12 ++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs index cbca1c3a3f..8aeef908db 100644 --- a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs @@ -7,6 +7,7 @@ using System.IO; using System.Linq; using Microsoft.Data.DataView; +using Microsoft.ML.Data; namespace Microsoft.ML.Auto { @@ -45,6 +46,11 @@ private static void ValidateTrainData(IDataView trainData) { throw new ArgumentNullException(nameof(trainData), "Training data cannot be null"); } + + if (trainData.Schema.GetColumnOrNull(DefaultColumnNames.Features)?.Type.GetItemType() != NumberType.R4) + { + throw new ArgumentException($"{DefaultColumnNames.Features} column must be of data type Single", nameof(trainData)); + } } private static void ValidateLabel(IDataView trainData, string label) @@ -174,4 +180,4 @@ private static string FindFirstDuplicate(IEnumerable values) return groups.FirstOrDefault(g => g.Count() > 1)?.Key; } } -} \ No newline at end of file +} diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index c23a572474..54b074065c 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -197,5 +197,17 @@ public void ValidateInferColsPath() { UserInputValidationUtil.ValidateInferColumnsArgs(DatasetUtil.DownloadUciAdultDataset()); } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateFeaturesColInvalidType() + { + var schemaBuilder = new SchemaBuilder(); + schemaBuilder.AddColumn(DefaultColumnNames.Features, NumberType.R8); + schemaBuilder.AddColumn(DefaultColumnNames.Label, NumberType.R4); + var schema = schemaBuilder.GetSchema(); + var dataView = new EmptyDataView(new MLContext(), schema); + UserInputValidationUtil.ValidateAutoFitArgs(dataView, DefaultColumnNames.Label, null, null, null); + } } } From 106619170d6c5a272fc63b4ea4fcb53b852698ab Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 14 Feb 2019 11:47:19 -0800 Subject: [PATCH 071/211] Samples: exceptions / nits (#124) --- src/Samples/AutoTrainBinaryClassification.cs | 13 ++++++------- src/Samples/AutoTrainMulticlassClassification.cs | 11 +++++------ src/Samples/AutoTrainRegression.cs | 9 ++++----- src/Samples/Data/iris-test.txt | 2 +- src/Samples/Data/iris-train.txt | 2 +- 5 files changed, 17 insertions(+), 20 deletions(-) diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index 3726646741..aecd625ea7 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -15,12 +15,11 @@ public class AutoTrainBinaryClassification private static string TrainDataPath = $"{BaseDatasetsLocation}/wikipedia-detox-250-line-data.tsv"; private static string TestDataPath = $"{BaseDatasetsLocation}/wikipedia-detox-250-line-test.tsv"; private static string ModelPath = $"{BaseDatasetsLocation}/SentimentModel.zip"; - private static string LabelColumnName = "Label"; + private static string LabelColumnName = "Sentiment"; public static void Run() { - //Create ML Context with seed for repeteable/deterministic results - MLContext mlContext = new MLContext(seed: 0); + MLContext mlContext = new MLContext(); // STEP 1: Infer columns var columnInference = mlContext.Data.InferColumns(TrainDataPath, LabelColumnName, '\t'); @@ -32,16 +31,16 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tuning Console.WriteLine($"Invoking BinaryClassification.AutoFit"); - var autoFitResults = mlContext.BinaryClassification.AutoFit(trainDataView, timeoutInSeconds: 60); + var autoFitResults = mlContext.BinaryClassification.AutoFit(trainDataView, LabelColumnName, timeoutInSeconds: 60); // STEP 4: Print metric from the best model var best = autoFitResults.Best(); - Console.WriteLine($"Accuracy of best model from validation data {best.Metrics.Accuracy}"); + Console.WriteLine($"Accuracy of best model from validation data: {best.Metrics.Accuracy}"); // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); - var testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: DefaultColumnNames.Label, DefaultColumnNames.Score); - Console.WriteLine($"Accuracy of best model from test data {best.Metrics.Accuracy}"); + var testMetrics = mlContext.BinaryClassification.EvaluateNonCalibrated(testDataViewWithBestScore, label: LabelColumnName, DefaultColumnNames.Score); + Console.WriteLine($"Accuracy of best model from test data: {best.Metrics.Accuracy}"); // STEP 6: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index eab8d6e924..66506e2474 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -19,8 +19,7 @@ public class AutoTrainMulticlassClassification public static void Run() { - //Create ML Context with seed for repeteable/deterministic results - MLContext mlContext = new MLContext(seed: 0); + MLContext mlContext = new MLContext(); // STEP 1: Infer columns var columnInference = mlContext.Data.InferColumns(TrainDataPath, LabelColumnName, '\t'); @@ -32,16 +31,16 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tuning Console.WriteLine($"Invoking MulticlassClassification.AutoFit"); - var autoFitResults = mlContext.MulticlassClassification.AutoFit(trainDataView, timeoutInSeconds: 1); + var autoFitResults = mlContext.MulticlassClassification.AutoFit(trainDataView, timeoutInSeconds: 60); // STEP 4: Print metric from the best model var best = autoFitResults.Best(); - Console.WriteLine($"AccuracyMacro of best model from validation data {best.Metrics.AccuracyMacro}"); + Console.WriteLine($"AccuracyMacro of best model from validation data: {best.Metrics.AccuracyMacro}"); // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); - var testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: DefaultColumnNames.Label, DefaultColumnNames.Score); - Console.WriteLine($"AccuracyMacro of best model from test data {best.Metrics.AccuracyMacro}"); + var testMetrics = mlContext.MulticlassClassification.Evaluate(testDataViewWithBestScore, label: DefaultColumnNames.Label, DefaultColumnNames.Score); + Console.WriteLine($"AccuracyMacro of best model from test data: {best.Metrics.AccuracyMacro}"); // STEP 6: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index 784660ab0e..3e3c35529d 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -19,8 +19,7 @@ static class AutoTrainRegression public static void Run() { - //Create ML Context with seed for repeteable/deterministic results - MLContext mlContext = new MLContext(seed: 0); + MLContext mlContext = new MLContext(); // STEP 1: Common data loading configuration var columnInference = mlContext.Data.InferColumns(TrainDataPath, LabelColumnName, ','); @@ -32,16 +31,16 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tuning Console.WriteLine($"Invoking Regression.AutoFit"); - var autoFitResults = mlContext.Regression.AutoFit(trainDataView, LabelColumnName, timeoutInSeconds:1); + var autoFitResults = mlContext.Regression.AutoFit(trainDataView, LabelColumnName, timeoutInSeconds: 60); // STEP 4: Compare and print actual value vs predicted value for top 5 rows from validation data var best = autoFitResults.Best(); - Console.WriteLine($"RSquared of best model from validation data {best.Metrics.RSquared}"); + Console.WriteLine($"RSquared of best model from validation data: {best.Metrics.RSquared}"); // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); var testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: DefaultColumnNames.Label, DefaultColumnNames.Score); - Console.WriteLine($"RSquared of best model from test data {best.Metrics.RSquared}"); + Console.WriteLine($"RSquared of best model from test data: {best.Metrics.RSquared}"); // STEP 6: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) diff --git a/src/Samples/Data/iris-test.txt b/src/Samples/Data/iris-test.txt index bbc9833a32..0e43389e71 100644 --- a/src/Samples/Data/iris-test.txt +++ b/src/Samples/Data/iris-test.txt @@ -1,4 +1,4 @@ -#Label Sepal length Sepal width Petal length Petal width +Label Sepal length Sepal width Petal length Petal width 0 5.1 3.5 1.4 0.2 0 4.9 3.0 1.4 0.2 0 4.7 3.2 1.3 0.2 diff --git a/src/Samples/Data/iris-train.txt b/src/Samples/Data/iris-train.txt index 8c10336c8f..5f7fe7d010 100644 --- a/src/Samples/Data/iris-train.txt +++ b/src/Samples/Data/iris-train.txt @@ -1,4 +1,4 @@ -#Label Sepal length Sepal width Petal length Petal width +Label Sepal length Sepal width Petal length Petal width 0 5.4 3.7 1.5 0.2 0 4.8 3.4 1.6 0.2 0 4.8 3.0 1.4 0.1 From d5dc0ceb802a5427c63af2c9ed566800493369de Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 14 Feb 2019 14:03:13 -0800 Subject: [PATCH 072/211] Logging support in CLI + Implementation of cmd args [--name,--output,--verbosity] (#121) * addded logging and helper methods * fixing code after merge * added resx files, added logger framework, added logging messages * added new options * added spacing * minor fixes * change command description * rename option, add headers, include new param in test * formatted * build fix * changed option name * Added NlogConfig file * added back config package * fix tests --- src/mlnet.Test/CommandLineTests.cs | 9 +- src/mlnet/CodeGenerator/CodeGenerator.cs | 12 +- .../CodeGenerator/CodeGeneratorOptions.cs | 9 +- src/mlnet/Commands/CommandDefinitions.cs | 33 +++- src/mlnet/Commands/NewCommand.cs | 68 +++++-- src/mlnet/Data/Options.cs | 4 + src/mlnet/NLog.config | 13 ++ src/mlnet/Program.cs | 33 +++- src/mlnet/Strings.resx | 159 ++++++++++++++++ src/mlnet/Templates/MLCodeGen.cs | 2 +- src/mlnet/Templates/MLCodeGen.tt | 2 +- src/mlnet/Utilities/ConsolePrinter.cs | 46 +++++ src/mlnet/Utilities/ProgressHandlers.cs | 43 +++++ src/mlnet/mlnet.csproj | 17 ++ src/mlnet/strings.Designer.cs | 180 ++++++++++++++++++ 15 files changed, 589 insertions(+), 41 deletions(-) create mode 100644 src/mlnet/NLog.config create mode 100644 src/mlnet/Strings.resx create mode 100644 src/mlnet/Utilities/ConsolePrinter.cs create mode 100644 src/mlnet/Utilities/ProgressHandlers.cs create mode 100644 src/mlnet/strings.Designer.cs diff --git a/src/mlnet.Test/CommandLineTests.cs b/src/mlnet.Test/CommandLineTests.cs index dfbe775521..bdd58533ec 100644 --- a/src/mlnet.Test/CommandLineTests.cs +++ b/src/mlnet.Test/CommandLineTests.cs @@ -17,7 +17,7 @@ public void TestCommandLineArgs() // Create handler outside so that commandline and the handler is decoupled and testable. var handler = CommandHandler.Create( - (trainDataset, testDataset, validationDataset, mlTask, labelColumnName, timeout, labelColumnIndex) => + (trainDataset, validationDataset, testDataset, mlTask, labelColumnName, maxExplorationTime, labelColumnIndex) => { parsingSuccessful = true; }); @@ -43,7 +43,7 @@ public void TestCommandLineArgsFailTest() // Create handler outside so that commandline and the handler is decoupled and testable. var handler = CommandHandler.Create( - (trainDataset, testDataset, validationDataset, mlTask, labelColumnName, timeout, labelColumnIndex) => + (trainDataset, validationDataset, testDataset, mlTask, labelColumnName, maxExplorationTime, labelColumnIndex) => { parsingSuccessful = true; }); @@ -87,13 +87,14 @@ public void TestCommandLineArgsValuesTest() // Create handler outside so that commandline and the handler is decoupled and testable. var handler = CommandHandler.Create( - (trainDataset, validationDataset, testDataset, mlTask, labelColumnName, timeout, labelColumnIndex) => + (trainDataset, validationDataset, testDataset, mlTask, labelColumnName, maxExplorationTime, labelColumnIndex) => { parsingSuccessful = true; Assert.AreEqual(mlTask, TaskKind.BinaryClassification); Assert.AreEqual(trainDataset, file1); Assert.AreEqual(testDataset, file2); Assert.AreEqual(labelColumnName, labelName); + Assert.AreEqual(maxExplorationTime, 5); }); var parser = new CommandLineBuilder() @@ -103,7 +104,7 @@ public void TestCommandLineArgsValuesTest() .Build(); // Incorrect mltask test - string[] args = new[] { "new", "--ml-task", "BinaryClassification", "--train-dataset", file1, "--label-column-name", labelName, "--test-dataset", file2 }; + string[] args = new[] { "new", "--ml-task", "BinaryClassification", "--train-dataset", file1, "--label-column-name", labelName, "--test-dataset", file2, "--max-exploration-time", "5" }; parser.InvokeAsync(args).Wait(); File.Delete(file1); File.Delete(file2); diff --git a/src/mlnet/CodeGenerator/CodeGenerator.cs b/src/mlnet/CodeGenerator/CodeGenerator.cs index b07ceb3548..0dd61c6851 100644 --- a/src/mlnet/CodeGenerator/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CodeGenerator.cs @@ -8,7 +8,6 @@ using System.Linq; using System.Text; using Microsoft.ML.Auto; -using Microsoft.ML.Data; using mlnet.Templates; using static Microsoft.ML.Data.TextLoader; @@ -80,13 +79,14 @@ internal void GenerateOutput() var trainScoreCode = codeGen.TransformText(); var projectSourceCode = csProjGenerator.TransformText(); var consoleHelperCode = consoleHelper.TransformText(); - if (!Directory.Exists("./BestModel")) + var outputFolder = Path.Combine(options.OutputBaseDir, options.OutputName); + if (!Directory.Exists(outputFolder)) { - Directory.CreateDirectory("./BestModel"); + Directory.CreateDirectory(outputFolder); } - File.WriteAllText("./BestModel/Train.cs", trainScoreCode); - File.WriteAllText("./BestModel/MyML.csproj", projectSourceCode); - File.WriteAllText("./BestModel/ConsoleHelper.cs", consoleHelperCode); + File.WriteAllText($"{outputFolder}/Train.cs", trainScoreCode); + File.WriteAllText($"{outputFolder}/{options.OutputName}.csproj", projectSourceCode); + File.WriteAllText($"{outputFolder}/ConsoleHelper.cs", consoleHelperCode); } internal IList<(string, string)> GenerateTransformsAndUsings() diff --git a/src/mlnet/CodeGenerator/CodeGeneratorOptions.cs b/src/mlnet/CodeGenerator/CodeGeneratorOptions.cs index e4a6e13e6a..3c044b4850 100644 --- a/src/mlnet/CodeGenerator/CodeGeneratorOptions.cs +++ b/src/mlnet/CodeGenerator/CodeGeneratorOptions.cs @@ -1,13 +1,14 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Text; +using System.IO; using Microsoft.ML.Auto; namespace Microsoft.ML.CLI { internal class CodeGeneratorOptions { + internal string OutputName { get; set; } + + internal string OutputBaseDir { get; set; } + internal FileInfo TrainDataset { get; set; } internal FileInfo TestDataset { get; set; } diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index c9ca29a7e0..fc4ea8e4f2 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using System.Collections.Generic; using System.CommandLine; using System.CommandLine.Builder; using System.CommandLine.Invocation; @@ -18,13 +19,17 @@ internal static System.CommandLine.Command New(ICommandHandler handler) { var newCommand = new System.CommandLine.Command("new", "ML.NET CLI tool for code generation", handler: handler) { + //Dataset(), TrainDataset(), ValidationDataset(), TestDataset(), MlTask(), LabelName(), - Timeout(), - LabelColumnIndex() + MaxExplorationTime(), + LabelColumnIndex(), + Verbosity(), + Name(), + OutputBaseDir() }; newCommand.Argument.AddValidator((sym) => @@ -46,6 +51,9 @@ internal static System.CommandLine.Command New(ICommandHandler handler) return newCommand; + /*Option Dataset() => + new Option("--dataset", "Dataset file path.", + new Argument().ExistingOnly()); */ Option TrainDataset() => new Option("--train-dataset", "Train dataset file path.", @@ -71,15 +79,32 @@ Option LabelColumnIndex() => new Option("--label-column-index", "Index of the label column.", new Argument()); - Option Timeout() => - new Option("--timeout", "Timeout in seconds for exploring models.", + Option MaxExplorationTime() => + new Option("--max-exploration-time", "Timeout in seconds for exploring models.", new Argument(defaultValue: 10)); + Option Verbosity() => + new Option(new List() { "--verbosity" }, "Verbosity of the output to be shown by the tool.", + new Argument(defaultValue: "m").WithSuggestions(GetVerbositySuggestions())); + + Option Name() => + new Option(new List() { "--name" }, "Name of the output files(project and folder).", + new Argument(defaultValue: "Sample")); + + Option OutputBaseDir() => + new Option(new List() { "--output" }, "Output folder path.", + new Argument(defaultValue: ".\\Sample")); + } private static string[] GetMlTaskSuggestions() { return Enum.GetValues(typeof(TaskKind)).Cast().Select(v => v.ToString()).ToArray(); } + + private static string[] GetVerbositySuggestions() + { + return new[] { "q", "m", "diag" }; + } } } diff --git a/src/mlnet/Commands/NewCommand.cs b/src/mlnet/Commands/NewCommand.cs index 016e41d815..6132604920 100644 --- a/src/mlnet/Commands/NewCommand.cs +++ b/src/mlnet/Commands/NewCommand.cs @@ -5,17 +5,20 @@ using System; using System.Collections.Generic; using System.IO; -using System.Linq; using Microsoft.Data.DataView; using Microsoft.ML.Auto; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; +using mlnet; +using mlnet.Utilities; +using NLog; namespace Microsoft.ML.CLI { internal class NewCommand { private Options options; + private static Logger logger = LogManager.GetCurrentClassLogger(); internal NewCommand(Options options) { @@ -26,12 +29,13 @@ internal void Run() { if (options.MlTask == TaskKind.MulticlassClassification) { - Console.WriteLine($"Unsupported ml-task: {options.MlTask}"); + Console.WriteLine($"{Strings.UnsupportedMlTask}: {options.MlTask}"); } var context = new MLContext(); //Check what overload method of InferColumns needs to be called. + logger.Log(LogLevel.Info, Strings.InferColumns); (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) columnInference = default((TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses)); if (options.LabelName != null) { @@ -42,50 +46,80 @@ internal void Run() columnInference = context.Data.InferColumns(options.TrainDataset.FullName, options.LabelIndex, groupColumns: false); } + logger.Log(LogLevel.Info, Strings.CreateDataLoader); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); + logger.Log(LogLevel.Info, Strings.LoadData); IDataView trainData = textLoader.Read(options.TrainDataset.FullName); IDataView validationData = options.ValidationDataset == null ? null : textLoader.Read(options.ValidationDataset.FullName); //Explore the models - Pipeline pipeline = null; - var result = ExploreModels(context, trainData, validationData, pipeline); + (Pipeline, ITransformer) result = default; + Console.WriteLine($"{Strings.ExplorePipeline}: {options.MlTask}"); + try + { + result = ExploreModels(context, trainData, validationData); + } + catch (Exception e) + { + logger.Log(LogLevel.Error, $"{Strings.ExplorePipelineException}:"); + logger.Log(LogLevel.Error, e.StackTrace); + logger.Log(LogLevel.Error, Strings.Exiting); + return; + } //Get the best pipeline + Pipeline pipeline = null; pipeline = result.Item1; var model = result.Item2; + //Save the model + logger.Log(LogLevel.Info, Strings.SavingBestModel); + var modelPath = Path.Combine(@options.OutputBaseDir, options.OutputName); + SaveModel(model, modelPath, $"{options.OutputName}_model.zip", context); + + //Generate code - var codeGenerator = new CodeGenerator(pipeline, columnInference, new CodeGeneratorOptions() { TrainDataset = options.TrainDataset, MlTask = options.MlTask, TestDataset = options.TestDataset }); + logger.Log(LogLevel.Info, Strings.GenerateProject); + var codeGenerator = new CodeGenerator( + pipeline, + columnInference, + new CodeGeneratorOptions() + { + TrainDataset = options.TrainDataset, + MlTask = options.MlTask, + TestDataset = options.TestDataset, + OutputName = options.OutputName, + OutputBaseDir = options.OutputBaseDir + }); codeGenerator.GenerateOutput(); - - //Save the model - SaveModel(model, @"./BestModel", "model.zip", context); } private (Pipeline, ITransformer) ExploreModels( MLContext context, IDataView trainData, - IDataView validationData, - Pipeline pipeline) + IDataView validationData) { ITransformer model = null; string label = options.LabelName ?? "Label"; // It is guaranteed training dataview to have Label column + Pipeline pipeline = null; if (options.MlTask == TaskKind.BinaryClassification) { - var result = context.BinaryClassification.AutoFit(trainData, label, validationData, options.Timeout); - result = result.OrderByDescending(t => t.Metrics.Accuracy).ToList(); - var bestIteration = result.FirstOrDefault(); + var progressReporter = new ProgressHandlers.BinaryClassificationHandler(); + var result = context.BinaryClassification.AutoFit(trainData, label, validationData, options.Timeout, progressCallback: progressReporter); + logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); + var bestIteration = result.Best(); pipeline = bestIteration.Pipeline; model = bestIteration.Model; } if (options.MlTask == TaskKind.Regression) { - var result = context.Regression.AutoFit(trainData, label, validationData, options.Timeout); - result = result.OrderByDescending(t => t.Metrics.RSquared).ToList(); - var bestIteration = result.FirstOrDefault(); + var progressReporter = new ProgressHandlers.RegressionHandler(); + var result = context.Regression.AutoFit(trainData, label, validationData, options.Timeout, progressCallback: progressReporter); + logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); + var bestIteration = result.Best(); pipeline = bestIteration.Pipeline; model = bestIteration.Model; } @@ -105,7 +139,7 @@ private static void SaveModel(ITransformer model, string ModelPath, string model { Directory.CreateDirectory(ModelPath); } - ModelPath = ModelPath + "/" + modelName; + ModelPath = Path.Combine(ModelPath, modelName); using (var fs = File.Create(ModelPath)) model.SaveTo(mlContext, fs); } diff --git a/src/mlnet/Data/Options.cs b/src/mlnet/Data/Options.cs index 7b80f4ce89..1b99e697a4 100644 --- a/src/mlnet/Data/Options.cs +++ b/src/mlnet/Data/Options.cs @@ -9,6 +9,8 @@ namespace Microsoft.ML.CLI { internal class Options { + internal string OutputName { get; set; } + internal string Name { get; set; } internal FileInfo Dataset { get; set; } @@ -27,5 +29,7 @@ internal class Options internal uint Timeout { get; set; } + internal string OutputBaseDir { get; set; } + } } diff --git a/src/mlnet/NLog.config b/src/mlnet/NLog.config new file mode 100644 index 0000000000..3fe4612d7e --- /dev/null +++ b/src/mlnet/NLog.config @@ -0,0 +1,13 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index 9b852d0898..063bf32c5e 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -2,11 +2,13 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; using System.CommandLine.Builder; using System.CommandLine.Invocation; using System.IO; using Microsoft.ML.Auto; +using NLog; +using NLog.Config; +using NLog.Targets; namespace Microsoft.ML.CLI { @@ -16,8 +18,20 @@ public static void Main(string[] args) { // Create handler outside so that commandline and the handler is decoupled and testable. var handler = CommandHandler.Create( - (trainDataset, validationDataset, testDataset, mlTask, labelColumnName, timeout, labelColumnIndex) => + (trainDataset, validationDataset, testDataset, mlTask, labelColumnName, maxExplorationTime, labelColumnIndex) => { + /* The below variables needs to be initialized via command line api. Since there is a + restriction at this moment on the number of args and its bindings. .Net team is working + on making this feature to make it possible to bind directly to a type till them we shall + have this place holder by initializing the fields below . + The PR that addresses this issue : https://github.com/dotnet/command-line-api/pull/408 + */ + var basedir = "."; // This needs to be obtained from command line args. + var name = "Sample"; // This needs to be obtained from command line args. + + // Todo: q,m,diag needs to be mapped into LogLevel here. + var verbosity = LogLevel.Info; + var command = new NewCommand(new Options() { TrainDataset = trainDataset, @@ -25,9 +39,20 @@ public static void Main(string[] args) TestDataset = testDataset, MlTask = mlTask, LabelName = labelColumnName, - Timeout = timeout, - LabelIndex = labelColumnIndex + Timeout = maxExplorationTime, + LabelIndex = labelColumnIndex, + OutputBaseDir = basedir, + OutputName = name }); + + // Override the Logger Configuration + var logconsole = LogManager.Configuration.FindTargetByName("logconsole"); + var logfile = (FileTarget)LogManager.Configuration.FindTargetByName("logfile"); + logfile.FileName = $"{basedir}/debug_log.txt"; + var config = LogManager.Configuration; + config.AddRule(verbosity, LogLevel.Fatal, logconsole); + + // Run the command command.Run(); }); diff --git a/src/mlnet/Strings.resx b/src/mlnet/Strings.resx new file mode 100644 index 0000000000..152514aa13 --- /dev/null +++ b/src/mlnet/Strings.resx @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Best pipeline + + + Creating Data loader ... + + + Exiting ... + + + Exploring pipelines for task of type + + + Exception occured while exploring pipelines + + + Generating a console project for the best pipeline ... + + + Inferring Columns ... + + + Loading data ... + + + Metrics for Binary Classification models + + + Metrics for regression models + + + Retrieving best pipeline ... + + + Saving the best model ... + + + Unsupported ml-task + + \ No newline at end of file diff --git a/src/mlnet/Templates/MLCodeGen.cs b/src/mlnet/Templates/MLCodeGen.cs index 1c3fecd4c4..ea89f48622 100644 --- a/src/mlnet/Templates/MLCodeGen.cs +++ b/src/mlnet/Templates/MLCodeGen.cs @@ -213,7 +213,7 @@ private static void TestSinglePrediction(MLContext mlContext) this.Write("Score"); } this.Write("}\");\r\n Console.WriteLine($\"===========================================" + - "=======\");\r\n }\r\n\r\n }\r\n\r\n public class SampleClass\r\n {\r\n"); + "=======\");\r\n }\r\n\r\n }\r\n\r\n public class SampleObservation\r\n {\r\n"); foreach(var label in ClassLabels) { diff --git a/src/mlnet/Templates/MLCodeGen.tt b/src/mlnet/Templates/MLCodeGen.tt index 9538330b89..63185efdd0 100644 --- a/src/mlnet/Templates/MLCodeGen.tt +++ b/src/mlnet/Templates/MLCodeGen.tt @@ -163,7 +163,7 @@ else{#> } - public class SampleClass + public class SampleObservation { <# foreach(var label in ClassLabels) diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs new file mode 100644 index 0000000000..0825788682 --- /dev/null +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -0,0 +1,46 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Data; +using NLog; + +namespace mlnet.Utilities +{ + internal class ConsolePrinter + { + private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); + internal static void PrintRegressionMetrics(int iteration, string trainerName, RegressionMetrics metrics) + { + logger.Log(LogLevel.Info, $"{iteration,-3}{trainerName,-35}{metrics.RSquared,-10:0.###}{metrics.LossFn,-8:0.##}{metrics.L1,-15:#.##}{metrics.L2,-15:#.##}{metrics.Rms,-10:#.##}"); + } + + internal static void PrintBinaryClassificationMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics) + { + logger.Log(LogLevel.Info, $"{iteration,-3}{trainerName,-35}{metrics.Accuracy,-10:0.###}{metrics.Auc,-8:0.##}"); + } + + internal static void PrintBinaryClassificationMetricsHeader() + { + logger.Log(LogLevel.Info, $"*************************************************"); + logger.Log(LogLevel.Info, $"* {Strings.MetricsForBinaryClassModels} "); + logger.Log(LogLevel.Info, $"*------------------------------------------------"); + logger.Log(LogLevel.Info, $"{" ",-3}{"Trainer",-35}{"Accuracy",-10}{"Auc",-8}"); + } + + internal static void PrintRegressionMetricsHeader() + { + logger.Log(LogLevel.Info, $"*************************************************"); + logger.Log(LogLevel.Info, $"* {Strings.MetricsForRegressionModels} "); + logger.Log(LogLevel.Info, $"*------------------------------------------------"); + logger.Log(LogLevel.Info, $"{" ",-3}{"Trainer",-35}{"R2-Score",-10}{"LossFn",-8}{"Absolute-loss",-15}{"Squared-loss",-15}{"RMS-loss",-10}"); + } + + internal static void PrintBestPipelineHeader() + { + logger.Log(LogLevel.Info, $"*************************************************"); + logger.Log(LogLevel.Info, $"* {Strings.BestPipeline} "); + logger.Log(LogLevel.Info, $"*------------------------------------------------"); + } + } +} diff --git a/src/mlnet/Utilities/ProgressHandlers.cs b/src/mlnet/Utilities/ProgressHandlers.cs new file mode 100644 index 0000000000..5873fdd9d1 --- /dev/null +++ b/src/mlnet/Utilities/ProgressHandlers.cs @@ -0,0 +1,43 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.ML.Auto; +using Microsoft.ML.Data; + +namespace mlnet.Utilities +{ + internal class ProgressHandlers + { + internal class RegressionHandler : IProgress> + { + int iterationIndex; + public RegressionHandler() + { + ConsolePrinter.PrintRegressionMetricsHeader(); + } + + public void Report(AutoFitRunResult iterationResult) + { + iterationIndex++; + ConsolePrinter.PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.Metrics); + } + } + + internal class BinaryClassificationHandler : IProgress> + { + int iterationIndex; + internal BinaryClassificationHandler() + { + ConsolePrinter.PrintBinaryClassificationMetricsHeader(); + } + + public void Report(AutoFitRunResult iterationResult) + { + iterationIndex++; + ConsolePrinter.PrintBinaryClassificationMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.Metrics); + } + } + } +} diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index e7fc63728f..3edaf1eb4c 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -10,6 +10,8 @@ + + @@ -34,6 +36,11 @@ + + True + True + Strings.resx + True True @@ -52,6 +59,16 @@ + + ResXFileCodeGenerator + Strings.Designer.cs + + + + + + Always + TextTemplatingFilePreprocessor ConsoleHelper.cs diff --git a/src/mlnet/strings.Designer.cs b/src/mlnet/strings.Designer.cs new file mode 100644 index 0000000000..babb39d66c --- /dev/null +++ b/src/mlnet/strings.Designer.cs @@ -0,0 +1,180 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace mlnet { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Strings() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("mlnet.Strings", typeof(Strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Best pipeline. + /// + internal static string BestPipeline { + get { + return ResourceManager.GetString("BestPipeline", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Creating Data loader .... + /// + internal static string CreateDataLoader { + get { + return ResourceManager.GetString("CreateDataLoader", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Exiting .... + /// + internal static string Exiting { + get { + return ResourceManager.GetString("Exiting", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Exploring pipelines for task of type. + /// + internal static string ExplorePipeline { + get { + return ResourceManager.GetString("ExplorePipeline", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Exception occured while exploring pipelines. + /// + internal static string ExplorePipelineException { + get { + return ResourceManager.GetString("ExplorePipelineException", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Generating a console project for the best pipeline .... + /// + internal static string GenerateProject { + get { + return ResourceManager.GetString("GenerateProject", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inferring Columns .... + /// + internal static string InferColumns { + get { + return ResourceManager.GetString("InferColumns", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Loading data .... + /// + internal static string LoadData { + get { + return ResourceManager.GetString("LoadData", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Metrics for Binary Classification models. + /// + internal static string MetricsForBinaryClassModels { + get { + return ResourceManager.GetString("MetricsForBinaryClassModels", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Metrics for regression models. + /// + internal static string MetricsForRegressionModels { + get { + return ResourceManager.GetString("MetricsForRegressionModels", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Retrieving best pipeline .... + /// + internal static string RetrieveBestPipeline { + get { + return ResourceManager.GetString("RetrieveBestPipeline", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Saving the best model .... + /// + internal static string SavingBestModel { + get { + return ResourceManager.GetString("SavingBestModel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unsupported ml-task. + /// + internal static string UnsupportedMlTask { + get { + return ResourceManager.GetString("UnsupportedMlTask", resourceCulture); + } + } + } +} From e6da4a46923fd13762af134104ba696ae21542a9 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 14 Feb 2019 14:31:53 -0800 Subject: [PATCH 073/211] added correct validation check (#137) --- src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs index 8aeef908db..065167bd27 100644 --- a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs @@ -46,8 +46,8 @@ private static void ValidateTrainData(IDataView trainData) { throw new ArgumentNullException(nameof(trainData), "Training data cannot be null"); } - - if (trainData.Schema.GetColumnOrNull(DefaultColumnNames.Features)?.Type.GetItemType() != NumberType.R4) + var type = trainData.Schema.GetColumnOrNull(DefaultColumnNames.Features)?.Type.GetItemType(); + if (type != null && type != NumberType.R4) { throw new ArgumentException($"{DefaultColumnNames.Features} column must be of data type Single", nameof(trainData)); } From eac7ff47cfbd1a8f90d78c019c0079e64ff12443 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 14 Feb 2019 15:00:23 -0800 Subject: [PATCH 074/211] Use CreateTextLoader(..) instead of CreateTextLoader(..) (#138) * added support to loaddata by class in the generated code * fix tests --- src/mlnet.Test/CodeGenTests.cs | 2 +- src/mlnet/CodeGenerator/CodeGenerator.cs | 6 ++--- src/mlnet/Templates/MLCodeGen.cs | 31 +++++++++--------------- src/mlnet/Templates/MLCodeGen.tt | 26 ++++++++------------ 4 files changed, 25 insertions(+), 40 deletions(-) diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index 37e130e453..831f7dce95 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -105,7 +105,7 @@ public void ClassLabelGenerationBasicTest() CodeGenerator codeGenerator = new CodeGenerator(null, result, null); var actual = codeGenerator.GenerateClassLabels(); - var expected1 = "[ColumnName(\"Label\")]"; + var expected1 = "[ColumnName(\"Label\"), LoadColumn(0)]"; var expected2 = "public bool Label{get; set;}"; Assert.AreEqual(expected1, actual[0]); diff --git a/src/mlnet/CodeGenerator/CodeGenerator.cs b/src/mlnet/CodeGenerator/CodeGenerator.cs index 0dd61c6851..4e24e62239 100644 --- a/src/mlnet/CodeGenerator/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CodeGenerator.cs @@ -64,7 +64,7 @@ internal void GenerateOutput() Columns = columns, Transforms = transforms, HasHeader = columnInferenceResult.Item1.HasHeader, - Separators = columnInferenceResult.Item1.Separators, + Separator = columnInferenceResult.Item1.Separators.FirstOrDefault(), AllowQuoting = columnInferenceResult.Item1.AllowQuoting, AllowSparse = columnInferenceResult.Item1.AllowSparse, TrimWhiteSpace = columnInferenceResult.Item1.TrimWhitespace, @@ -153,12 +153,12 @@ internal IList GenerateClassLabels() if (range > 0) { - result.Add((string)("[ColumnName(\"" + column.Name + "\"), VectorType(" + (range + 1) + ")]")); + result.Add($"[ColumnName(\"{column.Name}\"),LoadColumn({column.Source[0].Min}, {column.Source[0].Max}) VectorType({(range + 1)})]"); sb.Append("[]"); } else { - result.Add((string)("[ColumnName(\"" + column.Name + "\")]")); + result.Add($"[ColumnName(\"{column.Name}\"), LoadColumn({column.Source[0].Min})]"); } sb.Append(" "); sb.Append(Normalize(column.Name)); diff --git a/src/mlnet/Templates/MLCodeGen.cs b/src/mlnet/Templates/MLCodeGen.cs index ea89f48622..4bf6f1dadb 100644 --- a/src/mlnet/Templates/MLCodeGen.cs +++ b/src/mlnet/Templates/MLCodeGen.cs @@ -159,28 +159,19 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) private static TextLoader GetTextLoader(MLContext mlContext) { - return mlContext.Data.CreateTextLoader(new TextLoader.Arguments() - { - Column = new[]{ -"); - foreach(var col in Columns) { - this.Write(" "); - this.Write(this.ToStringHelper.ToStringWithCulture(col)); - this.Write("\r\n"); - } - this.Write(" }, " + - " \r\n HasHeader = "); + return mlContext.Data.CreateTextLoader( + hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); - this.Write(",\r\n Separators = new char[] {"); - Write(string.Join(",", Separators.Select(t => "'" + t.ToString() + "'").ToArray())); - this.Write("},\r\n AllowQuoting = "); + this.Write(",\r\n separatorChar : \'"); + this.Write(this.ToStringHelper.ToStringWithCulture(Separator)); + this.Write("\',\r\n allowQuotedStrings : "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); - this.Write(",\r\n TrimWhitespace = "); + this.Write(",\r\n trimWhitespace : "); this.Write(this.ToStringHelper.ToStringWithCulture(TrimWhiteSpace.ToString().ToLowerInvariant())); - this.Write(" ,\r\n AllowSparse = "); + this.Write(" ,\r\n supportSparse : "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); this.Write(@" - }); + ); } // (OPTIONAL) Try/test a single prediction by loding the model from the file, first. @@ -191,7 +182,7 @@ private static void TestSinglePrediction(MLContext mlContext) //Load data to test. Could be any test data. For demonstration purpose train data is used here. IDataView trainingDataView = textLoader.Read(TrainDataPath); - var sample = mlContext.CreateEnumerable(trainingDataView, false).First(); + var sample = mlContext.CreateEnumerable(trainingDataView, false).First(); ITransformer trainedModel; using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) @@ -200,7 +191,7 @@ private static void TestSinglePrediction(MLContext mlContext) } // Create prediction engine related to the loaded trained model - var predEngine= trainedModel.CreatePredictionEngine(mlContext); + var predEngine= trainedModel.CreatePredictionEngine(mlContext); //Score var resultprediction = predEngine.Predict(sample); @@ -242,7 +233,7 @@ private static void TestSinglePrediction(MLContext mlContext) public string TestPath {get;set;} public IList Columns {get;set;} public bool HasHeader {get;set;} -public char[] Separators {get;set;} +public char Separator {get;set;} public IList Transforms {get;set;} public string Trainer {get;set;} public string TaskType {get;set;} diff --git a/src/mlnet/Templates/MLCodeGen.tt b/src/mlnet/Templates/MLCodeGen.tt index 63185efdd0..3912a8d4ce 100644 --- a/src/mlnet/Templates/MLCodeGen.tt +++ b/src/mlnet/Templates/MLCodeGen.tt @@ -119,19 +119,13 @@ else{#> private static TextLoader GetTextLoader(MLContext mlContext) { - return mlContext.Data.CreateTextLoader(new TextLoader.Arguments() - { - Column = new[]{ -<# foreach(var col in Columns) {#> - <#= col #> -<# } #> - }, - HasHeader = <#= HasHeader.ToString().ToLowerInvariant() #>, - Separators = new char[] {<# Write(string.Join(",", Separators.Select(t => "'" + t.ToString() + "'").ToArray())); #>}, - AllowQuoting = <#= AllowQuoting.ToString().ToLowerInvariant() #>, - TrimWhitespace = <#= TrimWhiteSpace.ToString().ToLowerInvariant() #> , - AllowSparse = <#= AllowSparse.ToString().ToLowerInvariant() #> - }); + return mlContext.Data.CreateTextLoader( + hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, + separatorChar : '<#= Separator #>', + allowQuotedStrings : <#= AllowQuoting.ToString().ToLowerInvariant() #>, + trimWhitespace : <#= TrimWhiteSpace.ToString().ToLowerInvariant() #> , + supportSparse : <#= AllowSparse.ToString().ToLowerInvariant() #> + ); } // (OPTIONAL) Try/test a single prediction by loding the model from the file, first. @@ -142,7 +136,7 @@ else{#> //Load data to test. Could be any test data. For demonstration purpose train data is used here. IDataView trainingDataView = textLoader.Read(TrainDataPath); - var sample = mlContext.CreateEnumerable(trainingDataView, false).First(); + var sample = mlContext.CreateEnumerable(trainingDataView, false).First(); ITransformer trainedModel; using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) @@ -151,7 +145,7 @@ else{#> } // Create prediction engine related to the loaded trained model - var predEngine= trainedModel.CreatePredictionEngine(mlContext); + var predEngine= trainedModel.CreatePredictionEngine(mlContext); //Score var resultprediction = predEngine.Predict(sample); @@ -196,7 +190,7 @@ public string Path {get;set;} public string TestPath {get;set;} public IList Columns {get;set;} public bool HasHeader {get;set;} -public char[] Separators {get;set;} +public char Separator {get;set;} public IList Transforms {get;set;} public string Trainer {get;set;} public string TaskType {get;set;} From 73dfed0eb4ec9333dd205e0dca3643779feb06b9 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 14 Feb 2019 16:24:17 -0800 Subject: [PATCH 075/211] changed CreateTextLoader to ReadFromTextFile method. (#140) * changed textloader to readfromtextfile method * formatting --- src/mlnet/Templates/MLCodeGen.cs | 81 ++++++++++++++++++-------------- src/mlnet/Templates/MLCodeGen.tt | 60 +++++++++++------------ 2 files changed, 78 insertions(+), 63 deletions(-) diff --git a/src/mlnet/Templates/MLCodeGen.cs b/src/mlnet/Templates/MLCodeGen.cs index 4bf6f1dadb..b15769c8f9 100644 --- a/src/mlnet/Templates/MLCodeGen.cs +++ b/src/mlnet/Templates/MLCodeGen.cs @@ -35,7 +35,6 @@ public virtual string TransformText() using Microsoft.ML; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; -using static Microsoft.ML.Data.TextLoader; using Microsoft.Data.DataView; "); this.Write(this.ToStringHelper.ToStringWithCulture(GeneratedUsings)); @@ -70,28 +69,49 @@ static void Main(string[] args) private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) { - // Common data loading configuration - TextLoader textLoader = GetTextLoader(mlContext); - - IDataView trainingDataView = textLoader.Read(TrainDataPath); -"); + // Data loading + IDataView trainingDataView = mlContext.Data.ReadFromTextFile( + path: TrainDataPath, + hasHeader : "); + this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); + this.Write(",\r\n separatorChar : \'"); + this.Write(this.ToStringHelper.ToStringWithCulture(Separator)); + this.Write("\',\r\n allowQuotedStrings : "); + this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); + this.Write(",\r\n trimWhitespace : "); + this.Write(this.ToStringHelper.ToStringWithCulture(TrimWhiteSpace.ToString().ToLowerInvariant())); + this.Write(" ,\r\n supportSparse : "); + this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); + this.Write(");\r\n"); if(!string.IsNullOrEmpty(TestPath)){ - this.Write(" IDataView testDataView = textLoader.Read(TestDataPath);\r\n"); + this.Write(" IDataView testDataView = mlContext.Data.ReadFromTextFile(\r\n path: TestDataPath,\r\n " + + " hasHeader : "); + this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); + this.Write(",\r\n separatorChar : \'"); + this.Write(this.ToStringHelper.ToStringWithCulture(Separator)); + this.Write("\',\r\n allowQuotedStrings : "); + this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); + this.Write(",\r\n trimWhitespace : "); + this.Write(this.ToStringHelper.ToStringWithCulture(TrimWhiteSpace.ToString().ToLowerInvariant())); + this.Write(" ,\r\n supportSparse : "); + this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); + this.Write(");\r\n"); } this.Write("\r\n"); if(Transforms.Count >0 ) { this.Write(" // Common data process configuration with pipeline data transformatio" + "ns \r\n\r\n var dataProcessPipeline = "); for(int i=0;i0) - { Write("\n .Append("); - } - Write("mlContext.Transforms."+Transforms[i]); - if(i>0) - { Write(")"); - } - } + { + if(i>0) + { Write("\n .Append("); + } + Write("mlContext.Transforms."+Transforms[i]); + if(i>0) + { Write(")"); + } + } this.Write(";\r\n"); } this.Write("\r\n // Set the training algorithm, then create and config the modelBuil" + @@ -157,30 +177,23 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) return trainedModel; } - private static TextLoader GetTextLoader(MLContext mlContext) + // (OPTIONAL) Try/test a single prediction by loding the model from the file, first. + private static void TestSinglePrediction(MLContext mlContext) { - return mlContext.Data.CreateTextLoader( - hasHeader : "); + //Load data to test. Could be any test data. For demonstration purpose train data is used here. + IDataView trainingDataView = mlContext.Data.ReadFromTextFile( + path: TrainDataPath, + hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); - this.Write(",\r\n separatorChar : \'"); + this.Write(",\r\n separatorChar : \'"); this.Write(this.ToStringHelper.ToStringWithCulture(Separator)); - this.Write("\',\r\n allowQuotedStrings : "); + this.Write("\',\r\n allowQuotedStrings : "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); - this.Write(",\r\n trimWhitespace : "); + this.Write(",\r\n trimWhitespace : "); this.Write(this.ToStringHelper.ToStringWithCulture(TrimWhiteSpace.ToString().ToLowerInvariant())); - this.Write(" ,\r\n supportSparse : "); + this.Write(" ,\r\n supportSparse : "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); - this.Write(@" - ); - } - - // (OPTIONAL) Try/test a single prediction by loding the model from the file, first. - private static void TestSinglePrediction(MLContext mlContext) - { - TextLoader textLoader = GetTextLoader(mlContext); - - //Load data to test. Could be any test data. For demonstration purpose train data is used here. - IDataView trainingDataView = textLoader.Read(TrainDataPath); + this.Write(@"); var sample = mlContext.CreateEnumerable(trainingDataView, false).First(); diff --git a/src/mlnet/Templates/MLCodeGen.tt b/src/mlnet/Templates/MLCodeGen.tt index 3912a8d4ce..e41d7b0349 100644 --- a/src/mlnet/Templates/MLCodeGen.tt +++ b/src/mlnet/Templates/MLCodeGen.tt @@ -13,7 +13,6 @@ using System.Linq; using Microsoft.ML; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; -using static Microsoft.ML.Data.TextLoader; using Microsoft.Data.DataView; <#= GeneratedUsings #> @@ -48,27 +47,37 @@ namespace MlnetSample private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) { - // Common data loading configuration - TextLoader textLoader = GetTextLoader(mlContext); - - IDataView trainingDataView = textLoader.Read(TrainDataPath); + // Data loading + IDataView trainingDataView = mlContext.Data.ReadFromTextFile( + path: TrainDataPath, + hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, + separatorChar : '<#= Separator #>', + allowQuotedStrings : <#= AllowQuoting.ToString().ToLowerInvariant() #>, + trimWhitespace : <#= TrimWhiteSpace.ToString().ToLowerInvariant() #> , + supportSparse : <#= AllowSparse.ToString().ToLowerInvariant() #>); <# if(!string.IsNullOrEmpty(TestPath)){ #> - IDataView testDataView = textLoader.Read(TestDataPath); + IDataView testDataView = mlContext.Data.ReadFromTextFile( + path: TestDataPath, + hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, + separatorChar : '<#= Separator #>', + allowQuotedStrings : <#= AllowQuoting.ToString().ToLowerInvariant() #>, + trimWhitespace : <#= TrimWhiteSpace.ToString().ToLowerInvariant() #> , + supportSparse : <#= AllowSparse.ToString().ToLowerInvariant() #>); <# } #> <# if(Transforms.Count >0 ) {#> // Common data process configuration with pipeline data transformations var dataProcessPipeline = <# for(int i=0;i0) - { Write("\n .Append("); - } - Write("mlContext.Transforms."+Transforms[i]); - if(i>0) - { Write(")"); - } - }#>; + { + if(i>0) + { Write("\n .Append("); + } + Write("mlContext.Transforms."+Transforms[i]); + if(i>0) + { Write(")"); + } + }#>; <#}#> // Set the training algorithm, then create and config the modelBuilder @@ -117,24 +126,17 @@ else{#> return trainedModel; } - private static TextLoader GetTextLoader(MLContext mlContext) - { - return mlContext.Data.CreateTextLoader( - hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, - separatorChar : '<#= Separator #>', - allowQuotedStrings : <#= AllowQuoting.ToString().ToLowerInvariant() #>, - trimWhitespace : <#= TrimWhiteSpace.ToString().ToLowerInvariant() #> , - supportSparse : <#= AllowSparse.ToString().ToLowerInvariant() #> - ); - } - // (OPTIONAL) Try/test a single prediction by loding the model from the file, first. private static void TestSinglePrediction(MLContext mlContext) { - TextLoader textLoader = GetTextLoader(mlContext); - //Load data to test. Could be any test data. For demonstration purpose train data is used here. - IDataView trainingDataView = textLoader.Read(TrainDataPath); + IDataView trainingDataView = mlContext.Data.ReadFromTextFile( + path: TrainDataPath, + hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, + separatorChar : '<#= Separator #>', + allowQuotedStrings : <#= AllowQuoting.ToString().ToLowerInvariant() #>, + trimWhitespace : <#= TrimWhiteSpace.ToString().ToLowerInvariant() #> , + supportSparse : <#= AllowSparse.ToString().ToLowerInvariant() #>); var sample = mlContext.CreateEnumerable(trainingDataView, false).First(); From 38595abb5b2b2992aacca7d90e668f940e9262ee Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 14 Feb 2019 17:38:11 -0800 Subject: [PATCH 076/211] exception fixes (#136) --- .../ColumnInference/ColumnInferenceApi.cs | 21 +--- .../ColumnInference/ColumnTypeInference.cs | 90 +++++++++++---- .../ColumnInference/PurposeInference.cs | 4 +- .../Utils/UserInputValidationUtil.cs | 7 +- src/Test/ColumnInferenceTests.cs | 48 +++++++- src/Test/Test.csproj | 12 ++ .../TestData/BinaryDatasetWithBoolColumn.txt | 5 + src/Test/TestData/DatasetWithEmptyColumn.txt | 4 + .../NameColumnIsOnlyFeatureDataset.txt | 103 ++++++++++++++++++ 9 files changed, 248 insertions(+), 46 deletions(-) create mode 100644 src/Test/TestData/BinaryDatasetWithBoolColumn.txt create mode 100644 src/Test/TestData/DatasetWithEmptyColumn.txt create mode 100644 src/Test/TestData/NameColumnIsOnlyFeatureDataset.txt diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs index face7ff954..3dacf5eaf1 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; using System.Collections.Generic; using System.Linq; using Microsoft.ML.Data; @@ -16,13 +15,7 @@ public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) Infer { var sample = TextFileSample.CreateFromFullFile(path); var splitInference = InferSplit(sample, separatorChar, allowQuotedStrings, supportSparse); - var typeInference = InferColumnTypes(context, sample, splitInference, hasHeader); - - // If label column index > inferred # of columns, throw error - if (labelColumnIndex >= typeInference.Columns.Count()) - { - throw new ArgumentOutOfRangeException(nameof(labelColumnIndex), $"Label column index ({labelColumnIndex}) is >= than # of inferred columns ({typeInference.Columns.Count()})."); - } + var typeInference = InferColumnTypes(context, sample, splitInference, hasHeader, labelColumnIndex, null); // if no column is named label, // rename label column to default ML.NET label column name @@ -40,7 +33,7 @@ public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) Infer { var sample = TextFileSample.CreateFromFullFile(path); var splitInference = InferSplit(sample, separatorChar, allowQuotedStrings, supportSparse); - var typeInference = InferColumnTypes(context, sample, splitInference, true); + var typeInference = InferColumnTypes(context, sample, splitInference, true, null, label); return InferColumns(context, path, label, true, splitInference, typeInference, trimWhitespace, groupColumns); } @@ -49,10 +42,6 @@ public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) Infer bool trimWhitespace, bool groupColumns) { var loaderColumns = ColumnTypeInference.GenerateLoaderColumns(typeInference.Columns); - if (!loaderColumns.Any(t => label.Equals(t.Name))) - { - throw new InferenceException(InferenceType.Label, $"Specified Label Column '{label}' was not found."); - } var typedLoaderArgs = new TextLoader.Arguments { Column = loaderColumns, @@ -121,7 +110,7 @@ private static TextFileContents.ColumnSplitResult InferSplit(TextFileSample samp } private static ColumnTypeInference.InferenceResult InferColumnTypes(MLContext context, TextFileSample sample, - TextFileContents.ColumnSplitResult splitInference, bool hasHeader) + TextFileContents.ColumnSplitResult splitInference, bool hasHeader, uint? labelColumnIndex, string label) { // infer column types var typeInferenceResult = ColumnTypeInference.InferTextFileColumnTypes(context, sample, @@ -131,7 +120,9 @@ private static ColumnTypeInference.InferenceResult InferColumnTypes(MLContext co Separator = splitInference.Separator.Value, AllowSparse = splitInference.AllowSparse, AllowQuote = splitInference.AllowQuote, - HasHeader = hasHeader + HasHeader = hasHeader, + LabelColumnIndex = labelColumnIndex, + Label = label }); if (!typeInferenceResult.IsSuccess) diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs index 010445c572..c6154c09aa 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs @@ -30,6 +30,8 @@ internal sealed class Arguments public int ColumnCount; public bool HasHeader; public int MaxRowsToRead; + public uint? LabelColumnIndex; + public string Label; public Arguments() { @@ -68,13 +70,31 @@ public IntermediateColumn(ReadOnlyMemory[] data, int columnId) } public ReadOnlyMemory[] RawData { get { return _data; } } + + public string Name { get; set; } + + public bool HasAllBooleanValues() + { + if (this.RawData.Skip(1) + .All(x => { + bool value; + // (note: Conversions.TryParse parses an empty string as a Boolean) + return !string.IsNullOrEmpty(x.ToString()) && + Conversions.TryParse(in x, out value); + })) + { + return true; + } + + return false; + } } - public struct Column + public class Column { public readonly int ColumnIndex; - public readonly PrimitiveType ItemType; + public PrimitiveType ItemType; public string SuggestedName; public Column(int columnIndex, string suggestedName, PrimitiveType itemType) @@ -131,13 +151,10 @@ public void Apply(IntermediateColumn[] columns) { foreach (var col in columns) { - if (!col.RawData.Skip(1) - .All(x => - { - bool value; - return Conversions.TryParse(in x, out value); - }) - ) + // skip columns that already have a suggested type, + // or that don't have all Boolean values + if (col.SuggestedType != null || + !col.HasAllBooleanValues()) { continue; } @@ -156,12 +173,6 @@ public void Apply(IntermediateColumn[] columns) { foreach (var col in columns) { - // skip columns that already have a suggested type - if(col.SuggestedType != null) - { - continue; - } - if (!col.RawData.Skip(1) .All(x => { @@ -215,9 +226,9 @@ public void Apply(IntermediateColumn[] columns) private static IEnumerable GetExperts() { // Current logic is pretty primitive: if every value (except the first) of a column - // parses as a boolean it's boolean, if it parses as numeric then it's numeric. Otherwise, it is text. - yield return new Experts.BooleanValues(); + // parses as numeric then it's numeric. Else if it parses as a Boolean, it's Boolean. Otherwise, it is text. yield return new Experts.AllNumericValues(); + yield return new Experts.BooleanValues(); yield return new Experts.EverythingText(); } @@ -329,7 +340,6 @@ private static InferenceResult InferTextFileColumnTypesCore(MLContext env, IMult } // suggest names - var names = new List(); usedNames.Clear(); foreach (var col in cols) { @@ -338,14 +348,23 @@ private static InferenceResult InferTextFileColumnTypesCore(MLContext env, IMult name0 = name = SuggestName(col, args.HasHeader); int i = 0; while (!usedNames.Add(name)) + { name = string.Format("{0}_{1:00}", name0, i++); - names.Add(name); + } + col.Name = name; + } + + // validate & retrieve label column + var labelColumn = GetAndValidateLabelColumn(args, cols); + + // if label column has all Boolean values, set its type as Boolean + if(labelColumn.HasAllBooleanValues()) + { + labelColumn.SuggestedType = BoolType.Instance; } - var outCols = - cols.Select((x, i) => new Column(x.ColumnId, names[i], x.SuggestedType)).ToArray(); - var numerics = outCols.Count(x => x.ItemType.IsNumber()); - + var outCols = cols.Select(x => new Column(x.ColumnId, x.Name, x.SuggestedType)).ToArray(); + return InferenceResult.Success(outCols, args.HasHeader, cols.Select(col => col.RawData).ToArray()); } @@ -361,6 +380,31 @@ private static string Sanitize(string header) return string.Join("", header.Select(x => Char.IsLetterOrDigit(x) ? x : '_')); } + private static IntermediateColumn GetAndValidateLabelColumn(Arguments args, IntermediateColumn[] cols) + { + IntermediateColumn labelColumn = null; + if (args.LabelColumnIndex != null) + { + // if label column index > inferred # of columns, throw error + if (args.LabelColumnIndex >= cols.Count()) + { + throw new ArgumentOutOfRangeException(nameof(args.LabelColumnIndex), $"Label column index ({args.LabelColumnIndex}) is >= than # of inferred columns ({cols.Count()})."); + } + + labelColumn = cols[args.LabelColumnIndex.Value]; + } + else + { + labelColumn = cols.FirstOrDefault(c => c.Name == args.Label); + if (labelColumn == null) + { + throw new ArgumentException($"Specified label column '{args.Label}' was not found."); + } + } + + return labelColumn; + } + public static TextLoader.Column[] GenerateLoaderColumns(Column[] columns) { var loaderColumns = new List(); diff --git a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs index 631e43e25a..454df078bc 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs @@ -171,7 +171,9 @@ public void Apply(IntermediateColumn[] columns) Double avgSpaces = 1.0 * sumSpaces / data.Length; if (cardinalityRatio < 0.7 || seen.Count < 100) column.SuggestedPurpose = ColumnPurpose.CategoricalFeature; - else if (cardinalityRatio >= 0.85 && (avgLength > 30 || avgSpaces >= 1)) + // (note: the columns.Count() == 1 condition below, in case a dataset has only + // a 'name' and a 'label' column, forces what would be a 'name' column to become a text feature) + else if (cardinalityRatio >= 0.85 && (avgLength > 30 || avgSpaces >= 1 || columns.Count() == 1)) column.SuggestedPurpose = ColumnPurpose.TextFeature; else if (cardinalityRatio >= 0.9) column.SuggestedPurpose = ColumnPurpose.Name; diff --git a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs index 065167bd27..bedbe11dee 100644 --- a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs @@ -34,18 +34,13 @@ public static void ValidateInferColumnsArgs(string path) ValidatePath(path); } - public static void ValidateAutoReadArgs(string path, string label) - { - ValidateLabel(label); - ValidatePath(path); - } - private static void ValidateTrainData(IDataView trainData) { if (trainData == null) { throw new ArgumentNullException(nameof(trainData), "Training data cannot be null"); } + var type = trainData.Schema.GetColumnOrNull(DefaultColumnNames.Features)?.Type.GetItemType(); if (type != null && type != NumberType.R4) { diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index f8176b35b6..b681d3bc08 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -28,7 +28,7 @@ public void IncorrectLabelColumnTest() { var dataPath = DatasetUtil.DownloadUciAdultDataset(); var context = new MLContext(); - Assert.ThrowsException(new System.Action(() => context.Data.InferColumns(dataPath, "Junk", groupColumns: false))); + Assert.ThrowsException(new System.Action(() => context.Data.InferColumns(dataPath, "Junk", groupColumns: false))); } [TestMethod] @@ -62,5 +62,51 @@ public void InferColumnsLabelIndexNoHeaders() Assert.AreEqual(1, labelPurposes.Count()); Assert.AreEqual(DefaultColumnNames.Label, labelPurposes.First().Name); } + + [TestMethod] + public void InferColumnsWithDatasetWithEmptyColumn() + { + var result = new MLContext().Data.InferColumns(@".\TestData\DatasetWithEmptyColumn.txt", DefaultColumnNames.Label); + var emptyColumn = result.TextLoaderArgs.Column.First(c => c.Name == "Empty"); + Assert.AreEqual(DataKind.TX, emptyColumn.Type); + } + + [TestMethod] + public void InferColumnsWithDatasetWithBoolColumn() + { + var result = new MLContext().Data.InferColumns(@".\TestData\BinaryDatasetWithBoolColumn.txt", DefaultColumnNames.Label); + Assert.AreEqual(2, result.TextLoaderArgs.Column.Count()); + Assert.AreEqual(2, result.ColumnPurpopses.Count()); + + var boolColumn = result.TextLoaderArgs.Column.First(c => c.Name == "Bool"); + var labelColumn = result.TextLoaderArgs.Column.First(c => c.Name == DefaultColumnNames.Label); + // ensure non-label Boolean column is detected as R4 + Assert.AreEqual(DataKind.R4, boolColumn.Type); + Assert.AreEqual(DataKind.BL, labelColumn.Type); + + // ensure non-label Boolean column is detected as R4 + var boolPurpose = result.ColumnPurpopses.First(c => c.Name == "Bool").Purpose; + var labelPurpose = result.ColumnPurpopses.First(c => c.Name == DefaultColumnNames.Label).Purpose; + Assert.AreEqual(ColumnPurpose.NumericFeature, boolPurpose); + Assert.AreEqual(ColumnPurpose.Label, labelPurpose); + } + + [TestMethod] + public void InferColumnsWhereNameColumnIsOnlyFeature() + { + var result = new MLContext().Data.InferColumns(@".\TestData\NameColumnIsOnlyFeatureDataset.txt", DefaultColumnNames.Label); + Assert.AreEqual(2, result.TextLoaderArgs.Column.Count()); + Assert.AreEqual(2, result.ColumnPurpopses.Count()); + + var nameColumn = result.TextLoaderArgs.Column.First(c => c.Name == DefaultColumnNames.Name); + var labelColumn = result.TextLoaderArgs.Column.First(c => c.Name == DefaultColumnNames.Label); + Assert.AreEqual(DataKind.TX, nameColumn.Type); + Assert.AreEqual(DataKind.BL, labelColumn.Type); + + var namePurpose = result.ColumnPurpopses.First(c => c.Name == DefaultColumnNames.Name).Purpose; + var labelPurpose = result.ColumnPurpopses.First(c => c.Name == DefaultColumnNames.Label).Purpose; + Assert.AreEqual(ColumnPurpose.TextFeature, namePurpose); + Assert.AreEqual(ColumnPurpose.Label, labelPurpose); + } } } \ No newline at end of file diff --git a/src/Test/Test.csproj b/src/Test/Test.csproj index 3fef7f3c50..5ea410849c 100644 --- a/src/Test/Test.csproj +++ b/src/Test/Test.csproj @@ -18,4 +18,16 @@ + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + diff --git a/src/Test/TestData/BinaryDatasetWithBoolColumn.txt b/src/Test/TestData/BinaryDatasetWithBoolColumn.txt new file mode 100644 index 0000000000..7fc6e787df --- /dev/null +++ b/src/Test/TestData/BinaryDatasetWithBoolColumn.txt @@ -0,0 +1,5 @@ +Label,Bool +0,1 +0,0 +1,1 +1,0 \ No newline at end of file diff --git a/src/Test/TestData/DatasetWithEmptyColumn.txt b/src/Test/TestData/DatasetWithEmptyColumn.txt new file mode 100644 index 0000000000..7033743b5b --- /dev/null +++ b/src/Test/TestData/DatasetWithEmptyColumn.txt @@ -0,0 +1,4 @@ +Label,Feature1,Empty +0,2, +0,4, +1,1, \ No newline at end of file diff --git a/src/Test/TestData/NameColumnIsOnlyFeatureDataset.txt b/src/Test/TestData/NameColumnIsOnlyFeatureDataset.txt new file mode 100644 index 0000000000..c2f67e4a5e --- /dev/null +++ b/src/Test/TestData/NameColumnIsOnlyFeatureDataset.txt @@ -0,0 +1,103 @@ +Label,Name +0,a0 +0,a1 +0,a2 +0,a3 +0,a4 +0,a5 +0,a6 +0,a7 +0,a8 +0,a9 +0,a10 +0,a11 +0,a12 +0,a13 +0,a14 +0,a15 +0,a16 +0,a17 +0,a18 +0,a19 +0,a20 +0,a21 +0,a22 +0,a23 +0,a24 +0,a25 +0,a26 +0,a27 +0,a28 +0,a29 +0,a30 +0,a31 +0,a32 +0,a33 +0,a34 +0,a35 +0,a36 +0,a37 +0,a38 +0,a39 +0,a40 +0,a41 +0,a42 +0,a43 +0,a44 +0,a45 +0,a46 +0,a47 +0,a48 +0,a49 +0,a50 +1,b0 +1,b1 +1,b2 +1,b3 +1,b4 +1,b5 +1,b6 +1,b7 +1,b8 +1,b9 +1,b10 +1,b11 +1,b12 +1,b13 +1,b14 +1,b15 +1,b16 +1,b17 +1,b18 +1,b19 +1,b20 +1,b21 +1,b22 +1,b23 +1,b24 +1,b25 +1,b26 +1,b27 +1,b28 +1,b29 +1,b30 +1,b31 +1,b32 +1,b33 +1,b34 +1,b35 +1,b36 +1,b37 +1,b38 +1,b39 +1,b40 +1,b41 +1,b42 +1,b43 +1,b44 +1,b45 +1,b46 +1,b47 +1,b48 +1,b49 +1,b50 \ No newline at end of file From ff9b14a44ebe01d16e9ec912b873c55d9760aaec Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Fri, 15 Feb 2019 12:25:26 -0800 Subject: [PATCH 077/211] infer purpose of hidden columns as 'ignore' (#142) --- .../ColumnInference/PurposeInference.cs | 4 ++ src/Test/PurposeInferenceTests.cs | 39 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 src/Test/PurposeInferenceTests.cs diff --git a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs index 454df078bc..848103ac15 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs @@ -280,6 +280,10 @@ public static PurposeInference.Column[] InferPurposes(MLContext context, IDataVi { intermediateCol = new IntermediateColumn(data, i, ColumnPurpose.Label); } + else if (column.IsHidden) + { + intermediateCol = new IntermediateColumn(data, i, ColumnPurpose.Ignore); + } else if(columnOverrides != null && columnOverrides.TryGetValue(column.Name, out var columnPurpose)) { intermediateCol = new IntermediateColumn(data, i, columnPurpose); diff --git a/src/Test/PurposeInferenceTests.cs b/src/Test/PurposeInferenceTests.cs new file mode 100644 index 0000000000..3920acdcd8 --- /dev/null +++ b/src/Test/PurposeInferenceTests.cs @@ -0,0 +1,39 @@ +using System.Linq; +using Microsoft.Data.DataView; +using Microsoft.ML.Data; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class PurposeInferenceTests + { + [TestMethod] + public void PurposeInferenceHiddenColumnsTest() + { + var context = new MLContext(); + + // build basic data view + var schemaBuilder = new SchemaBuilder(); + schemaBuilder.AddColumn(DefaultColumnNames.Label, BoolType.Instance); + schemaBuilder.AddColumn(DefaultColumnNames.Features, NumberType.R4); + var schema = schemaBuilder.GetSchema(); + IDataView data = new EmptyDataView(context, schema); + + // normalize 'Features' column. this has the effect of creating 2 columns named + // 'Features' in the data view, the first of which gets marked as 'Hidden' + var normalizer = context.Transforms.Normalize(DefaultColumnNames.Features); + data = normalizer.Fit(data).Transform(data); + + // infer purposes + var purposes = PurposeInference.InferPurposes(context, data, DefaultColumnNames.Label); + + Assert.AreEqual(3, purposes.Count()); + Assert.AreEqual(ColumnPurpose.Label, purposes[0].Purpose); + // assert first 'Features' purpose (hidden column) is Ignore + Assert.AreEqual(ColumnPurpose.Ignore, purposes[1].Purpose); + // assert second 'Features' purpose is NumericFeature + Assert.AreEqual(ColumnPurpose.NumericFeature, purposes[2].Purpose); + } + } +} From ad8c28e2e5e14614dbff833573cdbb8b28dfd8f5 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Fri, 15 Feb 2019 14:47:45 -0800 Subject: [PATCH 078/211] Added approval tests and bunch of refactoring of code and normalizing namespaces (#148) * changed textloader to readfromtextfile method * formatting * added approval tests and refactoring of code * removed few comments --- ...Tests.GeneratedHelperCodeTest.approved.txt | 243 +++++++++ ...ests.GeneratedProjectCodeTest.approved.txt | 17 + ...rTests.GeneratedTrainCodeTest.approved.txt | 156 ++++++ .../ConsoleCodeGeneratorTests.cs | 126 +++++ src/mlnet.Test/CodeGenTests.cs | 35 +- src/mlnet.Test/CommandLineTests.cs | 1 + src/mlnet.Test/DatasetUtil.cs | 64 +++ src/mlnet.Test/mlnet.Test.csproj | 1 + .../ConsoleCodeGenerator.cs} | 134 +++-- .../ConsoleCodeGeneratorOptions.cs} | 4 +- .../CodeGenerator/{ => Console}/Symbols.cs | 2 +- .../{ => Console}/TrainerGeneratorBase.cs | 2 +- .../{ => Console}/TrainerGeneratorFactory.cs | 4 +- .../{ => Console}/TrainerGenerators.cs | 2 +- .../{ => Console}/TransformGeneratorBase .cs | 2 +- .../TransformGeneratorFactory.cs | 4 +- .../{ => Console}/TransformGenerators.cs | 2 +- src/mlnet/CodeGenerator/IProjectGenerator.cs | 11 + src/mlnet/Commands/CommandDefinitions.cs | 2 +- src/mlnet/Commands/IRunnableCommand.cs | 11 + .../NewCommandHandler.cs} | 92 ++-- src/mlnet/Data/Options.cs | 4 +- src/mlnet/Program.cs | 16 +- src/mlnet/Templates/Console/ConsoleHelper.cs | 491 ++++++++++++++++++ .../Templates/{ => Console}/ConsoleHelper.tt | 10 +- .../Templates/{ => Console}/MLCodeGen.cs | 8 +- .../Templates/{ => Console}/MLCodeGen.tt | 3 +- .../Templates/{ => Console}/MLProjectGen.cs | 2 +- .../Templates/{ => Console}/MLProjectGen.tt | 0 src/mlnet/Templates/ConsoleHelper.cs | 488 ----------------- src/mlnet/Utilities/ConsolePrinter.cs | 2 +- src/mlnet/Utilities/ProgressHandlers.cs | 2 +- src/mlnet/mlnet.csproj | 13 +- src/mlnet/strings.Designer.cs | 4 +- 34 files changed, 1330 insertions(+), 628 deletions(-) create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs create mode 100644 src/mlnet.Test/DatasetUtil.cs rename src/mlnet/CodeGenerator/{CodeGenerator.cs => Console/ConsoleCodeGenerator.cs} (76%) rename src/mlnet/CodeGenerator/{CodeGeneratorOptions.cs => Console/ConsoleCodeGeneratorOptions.cs} (76%) rename src/mlnet/CodeGenerator/{ => Console}/Symbols.cs (94%) rename src/mlnet/CodeGenerator/{ => Console}/TrainerGeneratorBase.cs (99%) rename src/mlnet/CodeGenerator/{ => Console}/TrainerGeneratorFactory.cs (96%) rename src/mlnet/CodeGenerator/{ => Console}/TrainerGenerators.cs (99%) rename src/mlnet/CodeGenerator/{ => Console}/TransformGeneratorBase .cs (97%) rename src/mlnet/CodeGenerator/{ => Console}/TransformGeneratorFactory.cs (96%) rename src/mlnet/CodeGenerator/{ => Console}/TransformGenerators.cs (99%) create mode 100644 src/mlnet/CodeGenerator/IProjectGenerator.cs create mode 100644 src/mlnet/Commands/IRunnableCommand.cs rename src/mlnet/Commands/{NewCommand.cs => New/NewCommandHandler.cs} (70%) create mode 100644 src/mlnet/Templates/Console/ConsoleHelper.cs rename src/mlnet/Templates/{ => Console}/ConsoleHelper.tt (99%) rename src/mlnet/Templates/{ => Console}/MLCodeGen.cs (98%) rename src/mlnet/Templates/{ => Console}/MLCodeGen.tt (99%) rename src/mlnet/Templates/{ => Console}/MLProjectGen.cs (99%) rename src/mlnet/Templates/{ => Console}/MLProjectGen.tt (100%) delete mode 100644 src/mlnet/Templates/ConsoleHelper.cs diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt new file mode 100644 index 0000000000..022c1d14c7 --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt @@ -0,0 +1,243 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.Data.DataView; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; + +namespace MyNamespace +{ + public static class ConsoleHelper + { + public static void PrintPrediction(string prediction) + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"Predicted : {prediction}"); + Console.WriteLine($"*************************************************"); + } + + public static void PrintRegressionPredictionVersusObserved(string predictionCount, string observedCount) + { + Console.WriteLine($"-------------------------------------------------"); + Console.WriteLine($"Predicted : {predictionCount}"); + Console.WriteLine($"Actual: {observedCount}"); + Console.WriteLine($"-------------------------------------------------"); + } + + public static void PrintRegressionMetrics(string name, RegressionMetrics metrics) + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Metrics for {name} regression model "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"* LossFn: {metrics.LossFn:0.##}"); + Console.WriteLine($"* R2 Score: {metrics.RSquared:0.##}"); + Console.WriteLine($"* Absolute loss: {metrics.L1:#.##}"); + Console.WriteLine($"* Squared loss: {metrics.L2:#.##}"); + Console.WriteLine($"* RMS loss: {metrics.Rms:#.##}"); + Console.WriteLine($"*************************************************"); + } + + public static void PrintBinaryClassificationMetrics(string name, BinaryClassificationMetrics metrics) + { + Console.WriteLine($"************************************************************"); + Console.WriteLine($"* Metrics for {name} binary classification model "); + Console.WriteLine($"*-----------------------------------------------------------"); + Console.WriteLine($"* Accuracy: {metrics.Accuracy:P2}"); + Console.WriteLine($"* Auc: {metrics.Auc:P2}"); + Console.WriteLine($"************************************************************"); + } + + public static void PrintMultiClassClassificationMetrics(string name, MultiClassClassifierMetrics metrics) + { + Console.WriteLine($"************************************************************"); + Console.WriteLine($"* Metrics for {name} multi-class classification model "); + Console.WriteLine($"*-----------------------------------------------------------"); + Console.WriteLine($" AccuracyMacro = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the better"); + Console.WriteLine($" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value between 0 and 1, the closer to 1, the better"); + Console.WriteLine($" LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better"); + Console.WriteLine($" LogLoss for class 1 = {metrics.PerClassLogLoss[0]:0.####}, the closer to 0, the better"); + Console.WriteLine($" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to 0, the better"); + Console.WriteLine($" LogLoss for class 3 = {metrics.PerClassLogLoss[2]:0.####}, the closer to 0, the better"); + Console.WriteLine($"************************************************************"); + } + + + public static void PrintRegressionFoldsAverageMetrics(string algorithmName, + (RegressionMetrics metrics, + ITransformer model, + IDataView scoredTestData)[] crossValidationResults + ) + { + var L1 = crossValidationResults.Select(r => r.metrics.L1); + var L2 = crossValidationResults.Select(r => r.metrics.L2); + var RMS = crossValidationResults.Select(r => r.metrics.L1); + var lossFunction = crossValidationResults.Select(r => r.metrics.LossFn); + var R2 = crossValidationResults.Select(r => r.metrics.RSquared); + + Console.WriteLine($"*************************************************************************************************************"); + Console.WriteLine($"* Metrics for {algorithmName} Regression model "); + Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); + Console.WriteLine($"* Average L1 Loss: {L1.Average():0.###} "); + Console.WriteLine($"* Average L2 Loss: {L2.Average():0.###} "); + Console.WriteLine($"* Average RMS: {RMS.Average():0.###} "); + Console.WriteLine($"* Average Loss Function: {lossFunction.Average():0.###} "); + Console.WriteLine($"* Average R-squared: {R2.Average():0.###} "); + Console.WriteLine($"*************************************************************************************************************"); + } + + public static void PrintBinaryClassificationFoldsAverageMetrics( + string algorithmName, + (BinaryClassificationMetrics metrics, + ITransformer model, + IDataView scoredTestData)[] crossValResults + ) + { + var metricsInMultipleFolds = crossValResults.Select(r => r.metrics); + + var AccuracyValues = metricsInMultipleFolds.Select(m => m.Accuracy); + var AccuracyAverage = AccuracyValues.Average(); + var AccuraciesStdDeviation = CalculateStandardDeviation(AccuracyValues); + var AccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(AccuracyValues); + + + Console.WriteLine($"*************************************************************************************************************"); + Console.WriteLine($"* Metrics for {algorithmName} Binary Classification model "); + Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); + Console.WriteLine($"* Average Accuracy: {AccuracyAverage:0.###} - Standard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({AccuraciesConfidenceInterval95:#.###})"); + Console.WriteLine($"*************************************************************************************************************"); + + } + + public static void PrintMulticlassClassificationFoldsAverageMetrics( + string algorithmName, + (MultiClassClassifierMetrics metrics, + ITransformer model, + IDataView scoredTestData)[] crossValResults + ) + { + var metricsInMultipleFolds = crossValResults.Select(r => r.metrics); + + var microAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMicro); + var microAccuracyAverage = microAccuracyValues.Average(); + var microAccuraciesStdDeviation = CalculateStandardDeviation(microAccuracyValues); + var microAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues); + + var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro); + var macroAccuracyAverage = macroAccuracyValues.Average(); + var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues); + var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macroAccuracyValues); + + var logLossValues = metricsInMultipleFolds.Select(m => m.LogLoss); + var logLossAverage = logLossValues.Average(); + var logLossStdDeviation = CalculateStandardDeviation(logLossValues); + var logLossConfidenceInterval95 = CalculateConfidenceInterval95(logLossValues); + + var logLossReductionValues = metricsInMultipleFolds.Select(m => m.LogLossReduction); + var logLossReductionAverage = logLossReductionValues.Average(); + var logLossReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues); + var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(logLossReductionValues); + + Console.WriteLine($"*************************************************************************************************************"); + Console.WriteLine($"* Metrics for {algorithmName} Multi-class Classification model "); + Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); + Console.WriteLine($"* Average MicroAccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average MacroAccuracy: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average LogLoss: {logLossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average LogLossReduction: {logLossReductionAverage:#.###} - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: ({logLossReductionConfidenceInterval95:#.###})"); + Console.WriteLine($"*************************************************************************************************************"); + + } + + public static double CalculateStandardDeviation(IEnumerable values) + { + double average = values.Average(); + double sumOfSquaresOfDifferences = values.Select(val => (val - average) * (val - average)).Sum(); + double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Count() - 1)); + return standardDeviation; + } + + public static double CalculateConfidenceInterval95(IEnumerable values) + { + double confidenceInterval95 = 1.96 * CalculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1)); + return confidenceInterval95; + } + + public static void PrintClusteringMetrics(string name, ClusteringMetrics metrics) + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Metrics for {name} clustering model "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"* AvgMinScore: {metrics.AvgMinScore}"); + Console.WriteLine($"* DBI is: {metrics.Dbi}"); + Console.WriteLine($"*************************************************"); + } + + public static void ConsoleWriteHeader(params string[] lines) + { + var defaultColor = Console.ForegroundColor; + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine(" "); + foreach (var line in lines) + { + Console.WriteLine(line); + } + var maxLength = lines.Select(x => x.Length).Max(); + Console.WriteLine(new string('#', maxLength)); + Console.ForegroundColor = defaultColor; + } + + public static void ConsoleWriterSection(params string[] lines) + { + var defaultColor = Console.ForegroundColor; + Console.ForegroundColor = ConsoleColor.Blue; + Console.WriteLine(" "); + foreach (var line in lines) + { + Console.WriteLine(line); + } + var maxLength = lines.Select(x => x.Length).Max(); + Console.WriteLine(new string('-', maxLength)); + Console.ForegroundColor = defaultColor; + } + + public static void ConsolePressAnyKey() + { + var defaultColor = Console.ForegroundColor; + Console.ForegroundColor = ConsoleColor.Green; + Console.WriteLine(" "); + Console.WriteLine("Press any key to finish."); + Console.ReadKey(); + } + + public static void ConsoleWriteException(params string[] lines) + { + var defaultColor = Console.ForegroundColor; + Console.ForegroundColor = ConsoleColor.Red; + const string exceptionTitle = "EXCEPTION"; + Console.WriteLine(" "); + Console.WriteLine(exceptionTitle); + Console.WriteLine(new string('#', exceptionTitle.Length)); + Console.ForegroundColor = defaultColor; + foreach (var line in lines) + { + Console.WriteLine(line); + } + } + + public static void ConsoleWriteWarning(params string[] lines) + { + var defaultColor = Console.ForegroundColor; + Console.ForegroundColor = ConsoleColor.DarkMagenta; + const string warningTitle = "WARNING"; + Console.WriteLine(" "); + Console.WriteLine(warningTitle); + Console.WriteLine(new string('#', warningTitle.Length)); + Console.ForegroundColor = defaultColor; + foreach (var line in lines) + { + Console.WriteLine(line); + } + } + + } +} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt new file mode 100644 index 0000000000..d391645b44 --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt @@ -0,0 +1,17 @@ + + + + Exe + netcoreapp2.1 + False + + + + + + + + + + + diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt new file mode 100644 index 0000000000..c539c0f5b0 --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt @@ -0,0 +1,156 @@ +/* This template shows the building blocks for training a machine learning model with ML.NET (https://aka.ms/mlnet). + * This model predicts whether a sentence has a positive or negative sentiment. It is based on a sample that can be + * found at https://aka.ms/mlnetsentimentanalysis, which provides a more detailed introduction to ML.NET and the scenario. */ + +using System; +using System.IO; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; +using Microsoft.Data.DataView; +using Microsoft.ML.LightGBM; + + + +namespace MyNamespace +{ + class Program + { + private static string TrainDataPath = @"x:\dummypath\dummy_train.csv"; + private static string TestDataPath = @"x:\dummypath\dummy_test.csv"; + private static string ModelPath = @"./model.zip"; + + static void Main(string[] args) + { + //Create MLContext to be shared across the model creation workflow objects + //Set a random seed for repeatable/deterministic results across multiple trainings. + var mlContext = new MLContext(seed: 1); + + // Create, Train, Evaluate and Save a model + BuildTrainEvaluateAndSaveModel(mlContext); + ConsoleHelper.ConsoleWriteHeader("=============== End of training process ==============="); + + // Make a single test prediction loding the model from .ZIP file + TestSinglePrediction(mlContext); + + ConsoleHelper.ConsoleWriteHeader("=============== End of process, hit any key to finish ==============="); + Console.ReadKey(); + + } + + private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) + { + // Data loading + IDataView trainingDataView = mlContext.Data.ReadFromTextFile( + path: TrainDataPath, + hasHeader : true, + separatorChar : ',', + allowQuotedStrings : true, + trimWhitespace : false , + supportSparse : true); + IDataView testDataView = mlContext.Data.ReadFromTextFile( + path: TestDataPath, + hasHeader : true, + separatorChar : ',', + allowQuotedStrings : true, + trimWhitespace : false , + supportSparse : true); + + // Common data process configuration with pipeline data transformations + + var dataProcessPipeline = mlContext.Transforms.Concatenate("Out",new []{"In"}); + + // Set the training algorithm, then create and config the modelBuilder + var trainer = mlContext.BinaryClassification.Trainers.LightGbm(new Options(){NumLeaves=2,Booster=new Options.TreeBooster.Arguments(){},LabelColumn="Label",FeatureColumn="Features"}); + + // Train the model fitting to the DataSet + var trainingPipeline = dataProcessPipeline.Append(trainer); + var trainedModel = trainingPipeline.Fit(trainingDataView); + // Evaluate the model and show accuracy stats + Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); + var predictions = trainedModel.Transform(testDataView); + var metrics = mlContext.BinaryClassification.EvaluateNonCalibrated(predictions, "Label", "Score"); + ConsoleHelper.PrintBinaryClassificationMetrics(trainer.ToString(), metrics); + + // Save/persist the trained model to a .ZIP file + using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) + mlContext.Model.Save(trainedModel, fs); + + Console.WriteLine("The model is saved to {0}", ModelPath); + + return trainedModel; + } + + // (OPTIONAL) Try/test a single prediction by loding the model from the file, first. + private static void TestSinglePrediction(MLContext mlContext) + { + //Load data to test. Could be any test data. For demonstration purpose train data is used here. + IDataView trainingDataView = mlContext.Data.ReadFromTextFile( + path: TrainDataPath, + hasHeader : true, + separatorChar : ',', + allowQuotedStrings : true, + trimWhitespace : false , + supportSparse : true); + + var sample = mlContext.CreateEnumerable(trainingDataView, false).First(); + + ITransformer trainedModel; + using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + trainedModel = mlContext.Model.Load(stream); + } + + // Create prediction engine related to the loaded trained model + var predEngine= trainedModel.CreatePredictionEngine(mlContext); + + //Score + var resultprediction = predEngine.Predict(sample); + + Console.WriteLine($"=============== Single Prediction ==============="); + Console.WriteLine($"Input: {sample} | Prediction: {resultprediction.Prediction}"); + Console.WriteLine($"=================================================="); + } + + } + + public class SampleObservation + { + [ColumnName("Label"), LoadColumn(0)] + public bool Label{get; set;} + + + [ColumnName("col1"), LoadColumn(1)] + public float Col1{get; set;} + + + [ColumnName("col2"), LoadColumn(0)] + public float Col2{get; set;} + + + [ColumnName("col3"), LoadColumn(0)] + public string Col3{get; set;} + + + [ColumnName("col4"), LoadColumn(0)] + public int Col4{get; set;} + + + [ColumnName("col5"), LoadColumn(0)] + public uint Col5{get; set;} + + + } + + public class SamplePrediction + { + // ColumnName attribute is used to change the column name from + // its default value, which is the name of the field. + [ColumnName("PredictedLabel")] + public bool Prediction { get; set; } + + public float Score { get; set; } + } + +} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs new file mode 100644 index 0000000000..e51e84576a --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -0,0 +1,126 @@ +using System.Collections.Generic; +using System.IO; +using ApprovalTests; +using ApprovalTests.Reporters; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.CLI.CodeGenerator.Console; +using Microsoft.ML.Data; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace mlnet.Test +{ + [TestClass] + [UseReporter(typeof(DiffReporter))] + public class ConsoleCodeGeneratorTests + { + private Pipeline pipeline; + private (TextLoader.Arguments, IEnumerable<(string Name, ColumnPurpose Purpose)>) columnInference = default; + + [TestMethod] + [UseReporter(typeof(DiffReporter))] + public void GeneratedTrainCodeTest() + { + (Pipeline pipeline, + (TextLoader.Arguments, IEnumerable<(string Name, ColumnPurpose Purpose)>) columnInference) = GetMockedPipelineAndInference(); + + var consoleCodeGen = new ConsoleCodeGenerator(pipeline, columnInference, new ConsoleCodeGeneratorOptions() + { + MlTask = TaskKind.BinaryClassification, + OutputBaseDir = null, + OutputName = "MyNamespace", + TrainDataset = new FileInfo("x:\\dummypath\\dummy_train.csv"), + TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv") + + }); + + (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); + + Approvals.Verify(trainCode); + + } + + [TestMethod] + [UseReporter(typeof(DiffReporter))] + public void GeneratedProjectCodeTest() + { + (Pipeline pipeline, + (TextLoader.Arguments, IEnumerable<(string Name, ColumnPurpose Purpose)>) columnInference) = GetMockedPipelineAndInference(); + + var consoleCodeGen = new ConsoleCodeGenerator(pipeline, columnInference, new ConsoleCodeGeneratorOptions() + { + MlTask = TaskKind.BinaryClassification, + OutputBaseDir = null, + OutputName = "MyNamespace", + TrainDataset = new FileInfo("x:\\dummypath\\dummy_train.csv"), + TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv") + + }); + + (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); + + Approvals.Verify(projectCode); + + } + + [TestMethod] + [UseReporter(typeof(DiffReporter))] + public void GeneratedHelperCodeTest() + { + (Pipeline pipeline, + (TextLoader.Arguments, IEnumerable<(string Name, ColumnPurpose Purpose)>) columnInference) = GetMockedPipelineAndInference(); + + var consoleCodeGen = new ConsoleCodeGenerator(pipeline, columnInference, new ConsoleCodeGeneratorOptions() + { + MlTask = TaskKind.BinaryClassification, + OutputBaseDir = null, + OutputName = "MyNamespace", + TrainDataset = new FileInfo("x:\\dummypath\\dummy_train.csv"), + TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv") + + }); + + (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); + + Approvals.Verify(helperCode); + + } + + private (Pipeline, (TextLoader.Arguments, IEnumerable<(string Name, ColumnPurpose Purpose)>)) GetMockedPipelineAndInference() + { + if (pipeline == null) + { + MLContext context = new MLContext(); + // same learners with different hyperparams + var hyperparams1 = new Microsoft.ML.Auto.ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); + var hyperparams2 = new Microsoft.ML.Auto.ParameterSet(new List() { new LongParameterValue("NumLeaves", 6) }); + var trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams1); + var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams2); + var transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; + var transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; + var inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1); + var inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2); + + this.pipeline = inferredPipeline1.ToPipeline(); + var textLoaderArgs = new TextLoader.Arguments() + { + Column = new[] { + new TextLoader.Column("Label", DataKind.BL, 0), + new TextLoader.Column("col1", DataKind.R4, 1), + new TextLoader.Column("col2", DataKind.R4, 0), + new TextLoader.Column("col3", DataKind.Text, 0), + new TextLoader.Column("col4", DataKind.I4, 0), + new TextLoader.Column("col5", DataKind.U4, 0), + }, + AllowQuoting = true, + AllowSparse = true, + HasHeader = true, + Separators = new[] { ',' } + }; + + this.columnInference = (textLoaderArgs, null); + } + return (pipeline, columnInference); + } + } +} diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index 831f7dce95..6d91fc4584 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -1,10 +1,9 @@ using System.Collections.Generic; using Microsoft.ML; using Microsoft.ML.Auto; +using Microsoft.ML.CLI.CodeGenerator.Console; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; -using Microsoft.ML.CLI; -using System; namespace mlnet.Test { @@ -23,7 +22,7 @@ public void TrainerGeneratorBasicNamedParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTrainerAndUsings(); string expected = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumn:\"Label\",featureColumn:\"Features\")"; Assert.AreEqual(expected, actual.Item1); @@ -43,7 +42,7 @@ public void TrainerGeneratorBasicAdvancedParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTrainerAndUsings(); string expectedTrainer = "LightGbm(new Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; string expectedUsing = "using Microsoft.ML.LightGBM;\r\n"; @@ -58,7 +57,7 @@ public void TransformGeneratorBasicTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expected = "Normalize(\"Label\",\"Label\")"; Assert.AreEqual(expected, actual[0].Item1); @@ -72,7 +71,7 @@ public void TransformGeneratorUsingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"Label\",\"Label\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; @@ -103,7 +102,7 @@ public void ClassLabelGenerationBasicTest() TrimWhitespace = true }, purposes); - CodeGenerator codeGenerator = new CodeGenerator(null, result, null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(null, result, null); var actual = codeGenerator.GenerateClassLabels(); var expected1 = "[ColumnName(\"Label\"), LoadColumn(0)]"; var expected2 = "public bool Label{get; set;}"; @@ -141,7 +140,7 @@ public void ColumnGenerationTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, result, null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, result, null); var actual = codeGenerator.GenerateColumns(); Assert.AreEqual(actual.Count, 2); string expectedColumn1 = "new Column(\"Label\",DataKind.BL,0),"; @@ -161,7 +160,7 @@ public void TrainerComplexParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTrainerAndUsings(); string expectedTrainer = "LightGbm(new Options(){Booster=new TreeBooster(){},LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; var expectedUsings = "using Microsoft.ML.LightGBM;\r\n"; @@ -178,7 +177,7 @@ public void OneHotEncodingTest() var elementProperties = new Dictionary();//categorical PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "categorical_column_1" }, new string[] { "categorical_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"categorical_column_1\",\"categorical_column_1\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; @@ -193,7 +192,7 @@ public void NormalizingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1_copy" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Normalize(\"numeric_column_1_copy\",\"numeric_column_1\")"; string expectedUsings = null; @@ -208,7 +207,7 @@ public void ColumnConcatenatingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("ColumnConcatenating", PipelineNodeType.Transform, new string[] { "numeric_column_1", "numeric_column_2" }, new string[] { "Features" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Concatenate(\"Features\",new []{\"numeric_column_1\",\"numeric_column_2\"})"; string expectedUsings = null; @@ -223,7 +222,7 @@ public void ColumnCopyingTest() var elementProperties = new Dictionary();//nume to num feature 2 PipelineNode node = new PipelineNode("ColumnCopying", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_2" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "CopyColumns(\"numeric_column_2\",\"numeric_column_1\")"; string expectedUsings = null; @@ -238,7 +237,7 @@ public void MissingValueIndicatingTest() var elementProperties = new Dictionary();//numeric feature PipelineNode node = new PipelineNode("MissingValueIndicating", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "IndicateMissingValues(new []{(\"numeric_column_1\",\"numeric_column_1\")})"; string expectedUsings = null; @@ -253,7 +252,7 @@ public void OneHotHashEncodingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("OneHotHashEncoding", PipelineNodeType.Transform, new string[] { "Categorical_column_1" }, new string[] { "Categorical_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotHashEncoding(new []{new OneHotHashEncodingEstimator.ColumnInfo(\"Categorical_column_1\",\"Categorical_column_1\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; @@ -268,7 +267,7 @@ public void TextFeaturizingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("TextFeaturizing", PipelineNodeType.Transform, new string[] { "Text_column_1" }, new string[] { "Text_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Text.FeaturizeText(\"Text_column_1\",\"Text_column_1\")"; string expectedUsings = null; @@ -283,7 +282,7 @@ public void TypeConvertingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("TypeConverting", PipelineNodeType.Transform, new string[] { "I4_column_1" }, new string[] { "R4_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingTransformer.ColumnInfo(\"R4_column_1\",DataKind.R4,\"I4_column_1\")})"; string expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; @@ -298,7 +297,7 @@ public void ValueToKeyMappingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("ValueToKeyMapping", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Conversion.MapValueToKey(\"Label\",\"Label\")"; var expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; diff --git a/src/mlnet.Test/CommandLineTests.cs b/src/mlnet.Test/CommandLineTests.cs index bdd58533ec..805ddaa6fd 100644 --- a/src/mlnet.Test/CommandLineTests.cs +++ b/src/mlnet.Test/CommandLineTests.cs @@ -3,6 +3,7 @@ using System.IO; using Microsoft.ML.Auto; using Microsoft.ML.CLI; +using Microsoft.ML.CLI.Commands; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace mlnet.Test diff --git a/src/mlnet.Test/DatasetUtil.cs b/src/mlnet.Test/DatasetUtil.cs new file mode 100644 index 0000000000..c8d43af24b --- /dev/null +++ b/src/mlnet.Test/DatasetUtil.cs @@ -0,0 +1,64 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.IO; +using System.Net; +using Microsoft.Data.DataView; +using Microsoft.ML; +using Microsoft.ML.Data; +using Microsoft.ML.Auto; + +namespace mlnet.Test +{ + internal static class DatasetUtil + { + public const string UciAdultLabel = DefaultColumnNames.Label; + public const string TrivialDatasetLabel = DefaultColumnNames.Label; + public const string MlNetGeneratedRegressionLabel = "target"; + public const int IrisDatasetLabelColIndex = 0; + + private static IDataView _uciAdultDataView; + + public static IDataView GetUciAdultDataView() + { + if (_uciAdultDataView == null) + { + var context = new MLContext(); + var uciAdultDataFile = DownloadUciAdultDataset(); + var columnInferenceResult = context.Data.InferColumns(uciAdultDataFile, UciAdultLabel); + var textLoader = context.Data.CreateTextLoader(columnInferenceResult.TextLoaderArgs); + _uciAdultDataView = textLoader.Read(uciAdultDataFile); + } + return _uciAdultDataView; + } + + // downloads the UCI Adult dataset from the ML.Net repo + public static string DownloadUciAdultDataset() => + DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/f0e639af5ffdc839aae8e65d19b5a9a1f0db634a/test/data/adult.tiny.with-schema.txt", "uciadult.dataset"); + + public static string DownloadTrivialDataset() => + DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/eae76959e6714af44caa212e102a5f06f0110e72/test/data/trivial-train.tsv", "trivial.dataset"); + + public static string DownloadMlNetGeneratedRegressionDataset() => + DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/e78971ea6fd736038b4c355b840e5cbabae8cb55/test/data/generated_regression_dataset.csv", "mlnet_generated_regression.dataset"); + + public static string DownloadIrisDataset() => + DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/54596ac/test/data/iris.txt", "iris.dataset"); + + private static string DownloadIfNotExists(string baseGitPath, string dataFile) + { + // if file doesn't already exist, download it + if (!File.Exists(dataFile)) + { + using (var client = new WebClient()) + { + client.DownloadFile(new Uri($"{baseGitPath}"), dataFile); + } + } + + return dataFile; + } + } +} diff --git a/src/mlnet.Test/mlnet.Test.csproj b/src/mlnet.Test/mlnet.Test.csproj index a189755964..47384184da 100644 --- a/src/mlnet.Test/mlnet.Test.csproj +++ b/src/mlnet.Test/mlnet.Test.csproj @@ -6,6 +6,7 @@ + diff --git a/src/mlnet/CodeGenerator/CodeGenerator.cs b/src/mlnet/CodeGenerator/Console/ConsoleCodeGenerator.cs similarity index 76% rename from src/mlnet/CodeGenerator/CodeGenerator.cs rename to src/mlnet/CodeGenerator/Console/ConsoleCodeGenerator.cs index 4e24e62239..a6816accb9 100644 --- a/src/mlnet/CodeGenerator/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/Console/ConsoleCodeGenerator.cs @@ -8,59 +8,87 @@ using System.Linq; using System.Text; using Microsoft.ML.Auto; -using mlnet.Templates; +using Microsoft.ML.CLI.Templates.Console; using static Microsoft.ML.Data.TextLoader; -namespace Microsoft.ML.CLI +namespace Microsoft.ML.CLI.CodeGenerator.Console { - internal class CodeGenerator + internal class ConsoleCodeGenerator : IProjectGenerator { private readonly Pipeline pipeline; - private readonly CodeGeneratorOptions options; + private readonly ConsoleCodeGeneratorOptions options; private readonly (Arguments, IEnumerable<(string, ColumnPurpose)>) columnInferenceResult; - internal CodeGenerator(Pipeline pipeline, (Arguments, IEnumerable<(string, ColumnPurpose)>) columnInferenceResult, CodeGeneratorOptions options) + internal ConsoleCodeGenerator(Pipeline pipeline, (Arguments, IEnumerable<(string, ColumnPurpose)>) columnInferenceResult, ConsoleCodeGeneratorOptions options) { this.pipeline = pipeline; this.columnInferenceResult = columnInferenceResult; this.options = options; } - internal void GenerateOutput() + public void GenerateOutput() { - var trainerAndUsings = this.GenerateTrainerAndUsings(); - var transformsAndUsings = this.GenerateTransformsAndUsings(); + // Generate Code + (string trainScoreCode, string projectSourceCode, string consoleHelperCode) = GenerateCode(); - //Capture all the usings - var usings = new List(); + // Write output to file + WriteOutputToFiles(trainScoreCode, projectSourceCode, consoleHelperCode); + } - //Get trainer code and its associated usings. - var trainer = trainerAndUsings.Item1; - usings.Add(trainerAndUsings.Item2); + internal (string, string, string) GenerateCode() + { + // Generate usings + (string usings, string trainer, List transforms) = GenerateUsings(); - //Get transforms code and its associated (unique) usings. - var transforms = transformsAndUsings.Select(t => t.Item1).ToList(); - usings.AddRange(transformsAndUsings.Select(t => t.Item2)); - usings = usings.Distinct().ToList(); + // Generate code for columns + var columns = this.GenerateColumns(); - //Combine all using statements to actual text. - StringBuilder usingsBuilder = new StringBuilder(); - usings.ForEach(t => + // Generate code for prediction Class labels + var classLabels = this.GenerateClassLabels(); + + // Get Namespace + var namespaceValue = Normalize(options.OutputName); + + // Generate code for training and scoring + var trainScoreCode = GenerateTrainCode(usings, trainer, transforms, columns, classLabels, namespaceValue); + + // Generate csproj + var projectSourceCode = GeneratProjectCode(); + + // Generate Helper class + var consoleHelperCode = GenerateConsoleHelper(namespaceValue); + + return (trainScoreCode, projectSourceCode, consoleHelperCode); + } + + internal void WriteOutputToFiles(string trainScoreCode, string projectSourceCode, string consoleHelperCode) + { + var outputFolder = Path.Combine(options.OutputBaseDir, options.OutputName); + if (!Directory.Exists(outputFolder)) { - if (t != null) - usingsBuilder.Append(t); - }); + Directory.CreateDirectory(outputFolder); + } + File.WriteAllText($"{outputFolder}/Train.cs", trainScoreCode); + File.WriteAllText($"{outputFolder}/{options.OutputName}.csproj", projectSourceCode); + File.WriteAllText($"{outputFolder}/ConsoleHelper.cs", consoleHelperCode); + } - //Generate code for columns - var columns = this.GenerateColumns(); + internal static string GenerateConsoleHelper(string namespaceValue) + { + var consoleHelperCodeGen = new ConsoleHelper() { Namespace = namespaceValue }; + return consoleHelperCodeGen.TransformText(); + } - //Generate code for prediction Class labels - var classLabels = this.GenerateClassLabels(); + internal static string GeneratProjectCode() + { + var projectCodeGen = new MLProjectGen(); + return projectCodeGen.TransformText(); + } - MLCodeGen codeGen = new MLCodeGen() + internal string GenerateTrainCode(string usings, string trainer, List transforms, IList columns, IList classLabels, string namespaceValue) + { + var trainingAndScoringCodeGen = new MLCodeGen() { - Path = options.TrainDataset.FullName, - TestPath = options.TestDataset?.FullName, Columns = columns, Transforms = transforms, HasHeader = columnInferenceResult.Item1.HasHeader, @@ -69,24 +97,42 @@ internal void GenerateOutput() AllowSparse = columnInferenceResult.Item1.AllowSparse, TrimWhiteSpace = columnInferenceResult.Item1.TrimWhitespace, Trainer = trainer, - TaskType = options.MlTask.ToString(), ClassLabels = classLabels, - GeneratedUsings = usingsBuilder.ToString() + GeneratedUsings = usings, + Path = options.TrainDataset.FullName, + TestPath = options.TestDataset?.FullName, + TaskType = options.MlTask.ToString(), + Namespace = namespaceValue }; - MLProjectGen csProjGenerator = new MLProjectGen(); - ConsoleHelper consoleHelper = new ConsoleHelper(); - var trainScoreCode = codeGen.TransformText(); - var projectSourceCode = csProjGenerator.TransformText(); - var consoleHelperCode = consoleHelper.TransformText(); - var outputFolder = Path.Combine(options.OutputBaseDir, options.OutputName); - if (!Directory.Exists(outputFolder)) + return trainingAndScoringCodeGen.TransformText(); + } + + internal (string, string, List) GenerateUsings() + { + StringBuilder usingsBuilder = new StringBuilder(); + var usings = new List(); + var trainerAndUsings = this.GenerateTrainerAndUsings(); + var transformsAndUsings = this.GenerateTransformsAndUsings(); + + //Get trainer code and its associated usings. + var trainer = trainerAndUsings.Item1; + usings.Add(trainerAndUsings.Item2); + + //Get transforms code and its associated (unique) usings. + var transforms = transformsAndUsings.Select(t => t.Item1).ToList(); + usings.AddRange(transformsAndUsings.Select(t => t.Item2)); + usings = usings.Distinct().ToList(); + + //Combine all using statements to actual text. + usingsBuilder = new StringBuilder(); + usings.ForEach(t => { - Directory.CreateDirectory(outputFolder); - } - File.WriteAllText($"{outputFolder}/Train.cs", trainScoreCode); - File.WriteAllText($"{outputFolder}/{options.OutputName}.csproj", projectSourceCode); - File.WriteAllText($"{outputFolder}/ConsoleHelper.cs", consoleHelperCode); + if (t != null) + usingsBuilder.Append(t); + }); + + return (usingsBuilder.ToString(), trainer, transforms); } internal IList<(string, string)> GenerateTransformsAndUsings() diff --git a/src/mlnet/CodeGenerator/CodeGeneratorOptions.cs b/src/mlnet/CodeGenerator/Console/ConsoleCodeGeneratorOptions.cs similarity index 76% rename from src/mlnet/CodeGenerator/CodeGeneratorOptions.cs rename to src/mlnet/CodeGenerator/Console/ConsoleCodeGeneratorOptions.cs index 3c044b4850..4d991f8747 100644 --- a/src/mlnet/CodeGenerator/CodeGeneratorOptions.cs +++ b/src/mlnet/CodeGenerator/Console/ConsoleCodeGeneratorOptions.cs @@ -1,9 +1,9 @@ using System.IO; using Microsoft.ML.Auto; -namespace Microsoft.ML.CLI +namespace Microsoft.ML.CLI.CodeGenerator.Console { - internal class CodeGeneratorOptions + internal class ConsoleCodeGeneratorOptions { internal string OutputName { get; set; } diff --git a/src/mlnet/CodeGenerator/Symbols.cs b/src/mlnet/CodeGenerator/Console/Symbols.cs similarity index 94% rename from src/mlnet/CodeGenerator/Symbols.cs rename to src/mlnet/CodeGenerator/Console/Symbols.cs index 95e70273d7..2faea869e3 100644 --- a/src/mlnet/CodeGenerator/Symbols.cs +++ b/src/mlnet/CodeGenerator/Console/Symbols.cs @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -namespace Microsoft.ML.CLI +namespace Microsoft.ML.CLI.CodeGenerator.Console { internal static class Symbols { diff --git a/src/mlnet/CodeGenerator/TrainerGeneratorBase.cs b/src/mlnet/CodeGenerator/Console/TrainerGeneratorBase.cs similarity index 99% rename from src/mlnet/CodeGenerator/TrainerGeneratorBase.cs rename to src/mlnet/CodeGenerator/Console/TrainerGeneratorBase.cs index d8c6d7cbdb..4f9a74cc08 100644 --- a/src/mlnet/CodeGenerator/TrainerGeneratorBase.cs +++ b/src/mlnet/CodeGenerator/Console/TrainerGeneratorBase.cs @@ -8,7 +8,7 @@ using System.Text; using Microsoft.ML.Auto; -namespace Microsoft.ML.CLI +namespace Microsoft.ML.CLI.CodeGenerator.Console { /// /// Supports generation of code for trainers (Binary,Multi,Regression) diff --git a/src/mlnet/CodeGenerator/TrainerGeneratorFactory.cs b/src/mlnet/CodeGenerator/Console/TrainerGeneratorFactory.cs similarity index 96% rename from src/mlnet/CodeGenerator/TrainerGeneratorFactory.cs rename to src/mlnet/CodeGenerator/Console/TrainerGeneratorFactory.cs index 4e57d6f773..2d7f41ce95 100644 --- a/src/mlnet/CodeGenerator/TrainerGeneratorFactory.cs +++ b/src/mlnet/CodeGenerator/Console/TrainerGeneratorFactory.cs @@ -5,9 +5,9 @@ using System; using System.Linq; using Microsoft.ML.Auto; -using static Microsoft.ML.CLI.TrainerGenerators; +using static Microsoft.ML.CLI.CodeGenerator.Console.TrainerGenerators; -namespace Microsoft.ML.CLI +namespace Microsoft.ML.CLI.CodeGenerator.Console { internal interface ITrainerGenerator { diff --git a/src/mlnet/CodeGenerator/TrainerGenerators.cs b/src/mlnet/CodeGenerator/Console/TrainerGenerators.cs similarity index 99% rename from src/mlnet/CodeGenerator/TrainerGenerators.cs rename to src/mlnet/CodeGenerator/Console/TrainerGenerators.cs index 2f1ed41cac..2359f23224 100644 --- a/src/mlnet/CodeGenerator/TrainerGenerators.cs +++ b/src/mlnet/CodeGenerator/Console/TrainerGenerators.cs @@ -5,7 +5,7 @@ using System.Collections.Generic; using Microsoft.ML.Auto; -namespace Microsoft.ML.CLI +namespace Microsoft.ML.CLI.CodeGenerator.Console { internal static class TrainerGenerators { diff --git a/src/mlnet/CodeGenerator/TransformGeneratorBase .cs b/src/mlnet/CodeGenerator/Console/TransformGeneratorBase .cs similarity index 97% rename from src/mlnet/CodeGenerator/TransformGeneratorBase .cs rename to src/mlnet/CodeGenerator/Console/TransformGeneratorBase .cs index a7c1f064de..8eb5b2626b 100644 --- a/src/mlnet/CodeGenerator/TransformGeneratorBase .cs +++ b/src/mlnet/CodeGenerator/Console/TransformGeneratorBase .cs @@ -4,7 +4,7 @@ using Microsoft.ML.Auto; -namespace Microsoft.ML.CLI +namespace Microsoft.ML.CLI.CodeGenerator.Console { /// /// Supports generation of code for trainers (Binary,Multi,Regression) diff --git a/src/mlnet/CodeGenerator/TransformGeneratorFactory.cs b/src/mlnet/CodeGenerator/Console/TransformGeneratorFactory.cs similarity index 96% rename from src/mlnet/CodeGenerator/TransformGeneratorFactory.cs rename to src/mlnet/CodeGenerator/Console/TransformGeneratorFactory.cs index 1428efa86b..dc658402a4 100644 --- a/src/mlnet/CodeGenerator/TransformGeneratorFactory.cs +++ b/src/mlnet/CodeGenerator/Console/TransformGeneratorFactory.cs @@ -3,12 +3,10 @@ // See the LICENSE file in the project root for more information. using System; -using System.Collections.Generic; -using System.Linq; using Microsoft.ML.Auto; -namespace Microsoft.ML.CLI +namespace Microsoft.ML.CLI.CodeGenerator.Console { internal interface ITransformGenerator { diff --git a/src/mlnet/CodeGenerator/TransformGenerators.cs b/src/mlnet/CodeGenerator/Console/TransformGenerators.cs similarity index 99% rename from src/mlnet/CodeGenerator/TransformGenerators.cs rename to src/mlnet/CodeGenerator/Console/TransformGenerators.cs index 73faa97fc3..e0fb419095 100644 --- a/src/mlnet/CodeGenerator/TransformGenerators.cs +++ b/src/mlnet/CodeGenerator/Console/TransformGenerators.cs @@ -7,7 +7,7 @@ using System.Text; using Microsoft.ML.Auto; -namespace Microsoft.ML.CLI +namespace Microsoft.ML.CLI.CodeGenerator.Console { internal class Normalizer : TransformGeneratorBase { diff --git a/src/mlnet/CodeGenerator/IProjectGenerator.cs b/src/mlnet/CodeGenerator/IProjectGenerator.cs new file mode 100644 index 0000000000..5dfb7f60fc --- /dev/null +++ b/src/mlnet/CodeGenerator/IProjectGenerator.cs @@ -0,0 +1,11 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.CLI.CodeGenerator +{ + internal interface IProjectGenerator + { + void GenerateOutput(); + } +} \ No newline at end of file diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index fc4ea8e4f2..bf611f64b3 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -11,7 +11,7 @@ using System.Linq; using Microsoft.ML.Auto; -namespace Microsoft.ML.CLI +namespace Microsoft.ML.CLI.Commands { internal static class CommandDefinitions { diff --git a/src/mlnet/Commands/IRunnableCommand.cs b/src/mlnet/Commands/IRunnableCommand.cs new file mode 100644 index 0000000000..8d676ea4ed --- /dev/null +++ b/src/mlnet/Commands/IRunnableCommand.cs @@ -0,0 +1,11 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.CLI.Commands +{ + internal interface ICommand + { + void Execute(); + } +} \ No newline at end of file diff --git a/src/mlnet/Commands/NewCommand.cs b/src/mlnet/Commands/New/NewCommandHandler.cs similarity index 70% rename from src/mlnet/Commands/NewCommand.cs rename to src/mlnet/Commands/New/NewCommandHandler.cs index 6132604920..0d0cd3aac3 100644 --- a/src/mlnet/Commands/NewCommand.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -7,53 +7,35 @@ using System.IO; using Microsoft.Data.DataView; using Microsoft.ML.Auto; +using Microsoft.ML.CLI.CodeGenerator.Console; +using Microsoft.ML.CLI.Data; +using Microsoft.ML.CLI.Utilities; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; -using mlnet; -using mlnet.Utilities; using NLog; -namespace Microsoft.ML.CLI +namespace Microsoft.ML.CLI.Commands.New { - internal class NewCommand + internal class NewCommand : ICommand { - private Options options; + private NewCommandOptions options; private static Logger logger = LogManager.GetCurrentClassLogger(); - internal NewCommand(Options options) + internal NewCommand(NewCommandOptions options) { this.options = options; } - internal void Run() + public void Execute() { - if (options.MlTask == TaskKind.MulticlassClassification) - { - Console.WriteLine($"{Strings.UnsupportedMlTask}: {options.MlTask}"); - } - var context = new MLContext(); + // Infer columns + (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) columnInference = InferColumns(context); - //Check what overload method of InferColumns needs to be called. - logger.Log(LogLevel.Info, Strings.InferColumns); - (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) columnInference = default((TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses)); - if (options.LabelName != null) - { - columnInference = context.Data.InferColumns(options.TrainDataset.FullName, options.LabelName, groupColumns: false); - } - else - { - columnInference = context.Data.InferColumns(options.TrainDataset.FullName, options.LabelIndex, groupColumns: false); - } - - logger.Log(LogLevel.Info, Strings.CreateDataLoader); - var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); + // Load data + (IDataView trainData, IDataView validationData) = LoadData(context, columnInference.TextLoaderArgs); - logger.Log(LogLevel.Info, Strings.LoadData); - IDataView trainData = textLoader.Read(options.TrainDataset.FullName); - IDataView validationData = options.ValidationDataset == null ? null : textLoader.Read(options.ValidationDataset.FullName); - - //Explore the models + // Explore the models (Pipeline, ITransformer) result = default; Console.WriteLine($"{Strings.ExplorePipeline}: {options.MlTask}"); try @@ -73,18 +55,40 @@ internal void Run() pipeline = result.Item1; var model = result.Item2; - //Save the model + // Save the model logger.Log(LogLevel.Info, Strings.SavingBestModel); var modelPath = Path.Combine(@options.OutputBaseDir, options.OutputName); SaveModel(model, modelPath, $"{options.OutputName}_model.zip", context); + // Generate the Project + GenerateProject(columnInference, pipeline); + } + + internal (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) InferColumns(MLContext context) + { + //Check what overload method of InferColumns needs to be called. + logger.Log(LogLevel.Info, Strings.InferColumns); + (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) columnInference = default((TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses)); + if (options.LabelName != null) + { + columnInference = context.Data.InferColumns(options.TrainDataset.FullName, options.LabelName, groupColumns: false); + } + else + { + columnInference = context.Data.InferColumns(options.TrainDataset.FullName, options.LabelIndex, groupColumns: false); + } + + return columnInference; + } + internal void GenerateProject((TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) columnInference, Pipeline pipeline) + { //Generate code logger.Log(LogLevel.Info, Strings.GenerateProject); - var codeGenerator = new CodeGenerator( + var codeGenerator = new ConsoleCodeGenerator( pipeline, columnInference, - new CodeGeneratorOptions() + new ConsoleCodeGeneratorOptions() { TrainDataset = options.TrainDataset, MlTask = options.MlTask, @@ -95,10 +99,7 @@ internal void Run() codeGenerator.GenerateOutput(); } - private (Pipeline, ITransformer) ExploreModels( - MLContext context, - IDataView trainData, - IDataView validationData) + internal (Pipeline, ITransformer) ExploreModels(MLContext context, IDataView trainData, IDataView validationData) { ITransformer model = null; string label = options.LabelName ?? "Label"; // It is guaranteed training dataview to have Label column @@ -133,7 +134,19 @@ internal void Run() return (pipeline, model); } - private static void SaveModel(ITransformer model, string ModelPath, string modelName, MLContext mlContext) + internal (IDataView, IDataView) LoadData(MLContext context, TextLoader.Arguments textLoaderArgs) + { + logger.Log(LogLevel.Info, Strings.CreateDataLoader); + var textLoader = context.Data.CreateTextLoader(textLoaderArgs); + + logger.Log(LogLevel.Info, Strings.LoadData); + var trainData = textLoader.Read(options.TrainDataset.FullName); + var validationData = options.ValidationDataset == null ? null : textLoader.Read(options.ValidationDataset.FullName); + + return (trainData, validationData); + } + + internal static void SaveModel(ITransformer model, string ModelPath, string modelName, MLContext mlContext) { if (!Directory.Exists(ModelPath)) { @@ -143,5 +156,6 @@ private static void SaveModel(ITransformer model, string ModelPath, string model using (var fs = File.Create(ModelPath)) model.SaveTo(mlContext, fs); } + } } diff --git a/src/mlnet/Data/Options.cs b/src/mlnet/Data/Options.cs index 1b99e697a4..95e29a49b4 100644 --- a/src/mlnet/Data/Options.cs +++ b/src/mlnet/Data/Options.cs @@ -5,9 +5,9 @@ using System.IO; using Microsoft.ML.Auto; -namespace Microsoft.ML.CLI +namespace Microsoft.ML.CLI.Data { - internal class Options + internal class NewCommandOptions { internal string OutputName { get; set; } diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index 063bf32c5e..3b41a8bbab 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -2,12 +2,15 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; using System.CommandLine.Builder; using System.CommandLine.Invocation; using System.IO; using Microsoft.ML.Auto; +using Microsoft.ML.CLI.Commands; +using Microsoft.ML.CLI.Commands.New; +using Microsoft.ML.CLI.Data; using NLog; -using NLog.Config; using NLog.Targets; namespace Microsoft.ML.CLI @@ -20,6 +23,11 @@ public static void Main(string[] args) var handler = CommandHandler.Create( (trainDataset, validationDataset, testDataset, mlTask, labelColumnName, maxExplorationTime, labelColumnIndex) => { + if (mlTask == TaskKind.MulticlassClassification) + { + Console.WriteLine($"{Strings.UnsupportedMlTask}: {mlTask}"); + return; + } /* The below variables needs to be initialized via command line api. Since there is a restriction at this moment on the number of args and its bindings. .Net team is working on making this feature to make it possible to bind directly to a type till them we shall @@ -32,7 +40,7 @@ have this place holder by initializing the fields below . // Todo: q,m,diag needs to be mapped into LogLevel here. var verbosity = LogLevel.Info; - var command = new NewCommand(new Options() + var command = new NewCommand(new NewCommandOptions() { TrainDataset = trainDataset, ValidationDataset = validationDataset, @@ -52,8 +60,8 @@ have this place holder by initializing the fields below . var config = LogManager.Configuration; config.AddRule(verbosity, LogLevel.Fatal, logconsole); - // Run the command - command.Run(); + // Execute the command + command.Execute(); }); var parser = new CommandLineBuilder() diff --git a/src/mlnet/Templates/Console/ConsoleHelper.cs b/src/mlnet/Templates/Console/ConsoleHelper.cs new file mode 100644 index 0000000000..ddda5518bc --- /dev/null +++ b/src/mlnet/Templates/Console/ConsoleHelper.cs @@ -0,0 +1,491 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version: 15.0.0.0 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +namespace Microsoft.ML.CLI.Templates.Console +{ + using System.Linq; + using System.Text; + using System.Collections.Generic; + using System; + + /// + /// Class to produce the template output + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public partial class ConsoleHelper : ConsoleHelperBase + { + /// + /// Create the template output + /// + public virtual string TransformText() + { + this.Write("using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing Micro" + + "soft.Data.DataView;\r\nusing Microsoft.ML.Core.Data;\r\nusing Microsoft.ML.Data;\r\n\r\n" + + "namespace "); + this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); + this.Write("\r\n{\r\n public static class ConsoleHelper\r\n {\r\n public static void Pri" + + "ntPrediction(string prediction)\r\n {\r\n Console.WriteLine($\"****" + + "*********************************************\");\r\n Console.WriteLine(" + + "$\"Predicted : {prediction}\");\r\n Console.WriteLine($\"*****************" + + "********************************\");\r\n }\r\n\r\n public static void Pri" + + "ntRegressionPredictionVersusObserved(string predictionCount, string observedCoun" + + "t)\r\n {\r\n Console.WriteLine($\"---------------------------------" + + "----------------\");\r\n Console.WriteLine($\"Predicted : {predictionCoun" + + "t}\");\r\n Console.WriteLine($\"Actual: {observedCount}\");\r\n " + + " Console.WriteLine($\"-------------------------------------------------\");\r\n " + + " }\r\n\r\n public static void PrintRegressionMetrics(string name, Regress" + + "ionMetrics metrics)\r\n {\r\n Console.WriteLine($\"****************" + + "*********************************\");\r\n Console.WriteLine($\"* Me" + + "trics for {name} regression model \");\r\n Console.WriteLine($\"*---" + + "---------------------------------------------\");\r\n Console.WriteLine(" + + "$\"* LossFn: {metrics.LossFn:0.##}\");\r\n Console.WriteLine" + + "($\"* R2 Score: {metrics.RSquared:0.##}\");\r\n Console.WriteL" + + "ine($\"* Absolute loss: {metrics.L1:#.##}\");\r\n Console.WriteLine" + + "($\"* Squared loss: {metrics.L2:#.##}\");\r\n Console.WriteLine($\"" + + "* RMS loss: {metrics.Rms:#.##}\");\r\n Console.WriteLine($\"**" + + "***********************************************\");\r\n }\r\n\r\n public " + + "static void PrintBinaryClassificationMetrics(string name, BinaryClassificationMe" + + "trics metrics)\r\n {\r\n Console.WriteLine($\"*********************" + + "***************************************\");\r\n Console.WriteLine($\"* " + + " Metrics for {name} binary classification model \");\r\n Console" + + ".WriteLine($\"*-----------------------------------------------------------\");\r\n " + + " Console.WriteLine($\"* Accuracy: {metrics.Accuracy:P2}\");\r\n " + + " Console.WriteLine($\"* Auc: {metrics.Auc:P2}\");\r\n Con" + + "sole.WriteLine($\"************************************************************\");" + + "\r\n }\r\n\r\n public static void PrintMultiClassClassificationMetrics(s" + + "tring name, MultiClassClassifierMetrics metrics)\r\n {\r\n Console" + + ".WriteLine($\"************************************************************\");\r\n " + + " Console.WriteLine($\"* Metrics for {name} multi-class classification" + + " model \");\r\n Console.WriteLine($\"*---------------------------------" + + "--------------------------\");\r\n Console.WriteLine($\" AccuracyMacro" + + " = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the" + + " better\");\r\n Console.WriteLine($\" AccuracyMicro = {metrics.Accurac" + + "yMicro:0.####}, a value between 0 and 1, the closer to 1, the better\");\r\n " + + " Console.WriteLine($\" LogLoss = {metrics.LogLoss:0.####}, the closer to 0" + + ", the better\");\r\n Console.WriteLine($\" LogLoss for class 1 = {metr" + + "ics.PerClassLogLoss[0]:0.####}, the closer to 0, the better\");\r\n Cons" + + "ole.WriteLine($\" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.####}, t" + + "he closer to 0, the better\");\r\n Console.WriteLine($\" LogLoss for c" + + "lass 3 = {metrics.PerClassLogLoss[2]:0.####}, the closer to 0, the better\");\r\n " + + " Console.WriteLine($\"**************************************************" + + "**********\");\r\n }\r\n\r\n\r\n public static void PrintRegressionFoldsAve" + + "rageMetrics(string algorithmName,\r\n " + + " (RegressionMetrics metrics,\r\n " + + " ITransformer model,\r\n " + + " IDataView scoredTestData)[] crossValidationResu" + + "lts\r\n )\r\n {\r\n" + + " var L1 = crossValidationResults.Select(r => r.metrics.L1);\r\n " + + " var L2 = crossValidationResults.Select(r => r.metrics.L2);\r\n var " + + "RMS = crossValidationResults.Select(r => r.metrics.L1);\r\n var lossFun" + + "ction = crossValidationResults.Select(r => r.metrics.LossFn);\r\n var R" + + "2 = crossValidationResults.Select(r => r.metrics.RSquared);\r\n\r\n Conso" + + "le.WriteLine($\"*****************************************************************" + + "********************************************\");\r\n Console.WriteLine($" + + "\"* Metrics for {algorithmName} Regression model \");\r\n Cons" + + "ole.WriteLine($\"*---------------------------------------------------------------" + + "---------------------------------------------\");\r\n Console.WriteLine(" + + "$\"* Average L1 Loss: {L1.Average():0.###} \");\r\n Console.Writ" + + "eLine($\"* Average L2 Loss: {L2.Average():0.###} \");\r\n Conso" + + "le.WriteLine($\"* Average RMS: {RMS.Average():0.###} \");\r\n " + + " Console.WriteLine($\"* Average Loss Function: {lossFunction.Average():" + + "0.###} \");\r\n Console.WriteLine($\"* Average R-squared: {R2.Aver" + + "age():0.###} \");\r\n Console.WriteLine($\"*****************************" + + "********************************************************************************" + + "\");\r\n }\r\n\r\n public static void PrintBinaryClassificationFoldsAvera" + + "geMetrics(\r\n string algorithmName,\r\n " + + " (BinaryClassificationMetrics metrics,\r\n " + + " ITransformer model,\r\n " + + " IDataView scoredTestData)[] crossValResults\r\n " + + " )\r\n {\r\n " + + " var metricsInMultipleFolds = crossValResults.Select(r => r.metrics);\r\n\r\n " + + " var AccuracyValues = metricsInMultipleFolds.Select(m => m.Accuracy);\r" + + "\n var AccuracyAverage = AccuracyValues.Average();\r\n var Ac" + + "curaciesStdDeviation = CalculateStandardDeviation(AccuracyValues);\r\n " + + "var AccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(AccuracyValue" + + "s);\r\n\r\n\r\n Console.WriteLine($\"***************************************" + + "**********************************************************************\");\r\n " + + " Console.WriteLine($\"* Metrics for {algorithmName} Binary Classifica" + + "tion model \");\r\n Console.WriteLine($\"*--------------------------" + + "--------------------------------------------------------------------------------" + + "--\");\r\n Console.WriteLine($\"* Average Accuracy: {AccuracyAve" + + "rage:0.###} - Standard deviation: ({AccuraciesStdDeviation:#.###}) - Confidenc" + + "e Interval 95%: ({AccuraciesConfidenceInterval95:#.###})\");\r\n Console" + + ".WriteLine($\"*******************************************************************" + + "******************************************\");\r\n\r\n }\r\n\r\n public sta" + + "tic void PrintMulticlassClassificationFoldsAverageMetrics(\r\n " + + " string algorithmName,\r\n " + + " (MultiClassClassifierMetrics metrics,\r\n " + + " ITransformer model,\r\n IDataView s" + + "coredTestData)[] crossValResults\r\n " + + " )\r\n {\r\n var metricsInMultipleFold" + + "s = crossValResults.Select(r => r.metrics);\r\n\r\n var microAccuracyValu" + + "es = metricsInMultipleFolds.Select(m => m.AccuracyMicro);\r\n var micro" + + "AccuracyAverage = microAccuracyValues.Average();\r\n var microAccuracie" + + "sStdDeviation = CalculateStandardDeviation(microAccuracyValues);\r\n va" + + "r microAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccur" + + "acyValues);\r\n\r\n var macroAccuracyValues = metricsInMultipleFolds.Sele" + + "ct(m => m.AccuracyMacro);\r\n var macroAccuracyAverage = macroAccuracyV" + + "alues.Average();\r\n var macroAccuraciesStdDeviation = CalculateStandar" + + "dDeviation(macroAccuracyValues);\r\n var macroAccuraciesConfidenceInter" + + "val95 = CalculateConfidenceInterval95(macroAccuracyValues);\r\n\r\n var l" + + "ogLossValues = metricsInMultipleFolds.Select(m => m.LogLoss);\r\n var l" + + "ogLossAverage = logLossValues.Average();\r\n var logLossStdDeviation = " + + "CalculateStandardDeviation(logLossValues);\r\n var logLossConfidenceInt" + + "erval95 = CalculateConfidenceInterval95(logLossValues);\r\n\r\n var logLo" + + "ssReductionValues = metricsInMultipleFolds.Select(m => m.LogLossReduction);\r\n " + + " var logLossReductionAverage = logLossReductionValues.Average();\r\n " + + " var logLossReductionStdDeviation = CalculateStandardDeviation(logLossReduc" + + "tionValues);\r\n var logLossReductionConfidenceInterval95 = CalculateCo" + + "nfidenceInterval95(logLossReductionValues);\r\n\r\n Console.WriteLine($\"*" + + "********************************************************************************" + + "****************************\");\r\n Console.WriteLine($\"* Metrics" + + " for {algorithmName} Multi-class Classification model \");\r\n Cons" + + "ole.WriteLine($\"*---------------------------------------------------------------" + + "---------------------------------------------\");\r\n Console.WriteLine(" + + "$\"* Average MicroAccuracy: {microAccuracyAverage:0.###} - Standard dev" + + "iation: ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({micr" + + "oAccuraciesConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"* " + + " Average MacroAccuracy: {macroAccuracyAverage:0.###} - Standard deviation" + + ": ({macroAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccur" + + "aciesConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"* Av" + + "erage LogLoss: {logLossAverage:#.###} - Standard deviation: ({logLossS" + + "tdDeviation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInterval95:#." + + "###})\");\r\n Console.WriteLine($\"* Average LogLossReduction: {log" + + "LossReductionAverage:#.###} - Standard deviation: ({logLossReductionStdDeviatio" + + "n:#.###}) - Confidence Interval 95%: ({logLossReductionConfidenceInterval95:#.#" + + "##})\");\r\n Console.WriteLine($\"***************************************" + + "**********************************************************************\");\r\n\r\n " + + " }\r\n\r\n public static double CalculateStandardDeviation(IEnumerable values)\r\n {\r\n double average = values.Average();\r\n " + + " double sumOfSquaresOfDifferences = values.Select(val => (val - average) * " + + "(val - average)).Sum();\r\n double standardDeviation = Math.Sqrt(sumOfS" + + "quaresOfDifferences / (values.Count() - 1));\r\n return standardDeviati" + + "on;\r\n }\r\n\r\n public static double CalculateConfidenceInterval95(IEn" + + "umerable values)\r\n {\r\n double confidenceInterval95 = 1" + + ".96 * CalculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1));\r\n " + + " return confidenceInterval95;\r\n }\r\n\r\n public static void P" + + "rintClusteringMetrics(string name, ClusteringMetrics metrics)\r\n {\r\n " + + " Console.WriteLine($\"*************************************************\");\r\n" + + " Console.WriteLine($\"* Metrics for {name} clustering model " + + " \");\r\n Console.WriteLine($\"*-----------------------------------------" + + "-------\");\r\n Console.WriteLine($\"* AvgMinScore: {metrics.AvgMin" + + "Score}\");\r\n Console.WriteLine($\"* DBI is: {metrics.Dbi}\");\r\n " + + " Console.WriteLine($\"*************************************************\")" + + ";\r\n }\r\n\r\n public static void ConsoleWriteHeader(params string[] li" + + "nes)\r\n {\r\n var defaultColor = Console.ForegroundColor;\r\n " + + " Console.ForegroundColor = ConsoleColor.Yellow;\r\n Console.WriteL" + + "ine(\" \");\r\n foreach (var line in lines)\r\n {\r\n " + + " Console.WriteLine(line);\r\n }\r\n var maxLength = lines.Se" + + "lect(x => x.Length).Max();\r\n Console.WriteLine(new string(\'#\', maxLen" + + "gth));\r\n Console.ForegroundColor = defaultColor;\r\n }\r\n\r\n " + + " public static void ConsoleWriterSection(params string[] lines)\r\n {\r\n " + + " var defaultColor = Console.ForegroundColor;\r\n Console.Foregr" + + "oundColor = ConsoleColor.Blue;\r\n Console.WriteLine(\" \");\r\n " + + " foreach (var line in lines)\r\n {\r\n Console.WriteLine(l" + + "ine);\r\n }\r\n var maxLength = lines.Select(x => x.Length).Ma" + + "x();\r\n Console.WriteLine(new string(\'-\', maxLength));\r\n Co" + + "nsole.ForegroundColor = defaultColor;\r\n }\r\n\r\n public static void C" + + "onsolePressAnyKey()\r\n {\r\n var defaultColor = Console.Foregroun" + + "dColor;\r\n Console.ForegroundColor = ConsoleColor.Green;\r\n " + + "Console.WriteLine(\" \");\r\n Console.WriteLine(\"Press any key to finish." + + "\");\r\n Console.ReadKey();\r\n }\r\n\r\n public static void Con" + + "soleWriteException(params string[] lines)\r\n {\r\n var defaultCol" + + "or = Console.ForegroundColor;\r\n Console.ForegroundColor = ConsoleColo" + + "r.Red;\r\n const string exceptionTitle = \"EXCEPTION\";\r\n Cons" + + "ole.WriteLine(\" \");\r\n Console.WriteLine(exceptionTitle);\r\n " + + " Console.WriteLine(new string(\'#\', exceptionTitle.Length));\r\n Console" + + ".ForegroundColor = defaultColor;\r\n foreach (var line in lines)\r\n " + + " {\r\n Console.WriteLine(line);\r\n }\r\n }\r\n\r\n" + + " public static void ConsoleWriteWarning(params string[] lines)\r\n {" + + "\r\n var defaultColor = Console.ForegroundColor;\r\n Console.F" + + "oregroundColor = ConsoleColor.DarkMagenta;\r\n const string warningTitl" + + "e = \"WARNING\";\r\n Console.WriteLine(\" \");\r\n Console.WriteLi" + + "ne(warningTitle);\r\n Console.WriteLine(new string(\'#\', warningTitle.Le" + + "ngth));\r\n Console.ForegroundColor = defaultColor;\r\n foreac" + + "h (var line in lines)\r\n {\r\n Console.WriteLine(line);\r\n" + + " }\r\n }\r\n\r\n }\r\n}\r\n"); + return this.GenerationEnvironment.ToString(); + } + +public string Namespace {get;set;} + + } + #region Base class + /// + /// Base class for this transformation + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public class ConsoleHelperBase + { + #region Fields + private global::System.Text.StringBuilder generationEnvironmentField; + private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; + private global::System.Collections.Generic.List indentLengthsField; + private string currentIndentField = ""; + private bool endsWithNewline; + private global::System.Collections.Generic.IDictionary sessionField; + #endregion + #region Properties + /// + /// The string builder that generation-time code is using to assemble generated output + /// + protected System.Text.StringBuilder GenerationEnvironment + { + get + { + if ((this.generationEnvironmentField == null)) + { + this.generationEnvironmentField = new global::System.Text.StringBuilder(); + } + return this.generationEnvironmentField; + } + set + { + this.generationEnvironmentField = value; + } + } + /// + /// The error collection for the generation process + /// + public System.CodeDom.Compiler.CompilerErrorCollection Errors + { + get + { + if ((this.errorsField == null)) + { + this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); + } + return this.errorsField; + } + } + /// + /// A list of the lengths of each indent that was added with PushIndent + /// + private System.Collections.Generic.List indentLengths + { + get + { + if ((this.indentLengthsField == null)) + { + this.indentLengthsField = new global::System.Collections.Generic.List(); + } + return this.indentLengthsField; + } + } + /// + /// Gets the current indent we use when adding lines to the output + /// + public string CurrentIndent + { + get + { + return this.currentIndentField; + } + } + /// + /// Current transformation session + /// + public virtual global::System.Collections.Generic.IDictionary Session + { + get + { + return this.sessionField; + } + set + { + this.sessionField = value; + } + } + #endregion + #region Transform-time helpers + /// + /// Write text directly into the generated output + /// + public void Write(string textToAppend) + { + if (string.IsNullOrEmpty(textToAppend)) + { + return; + } + // If we're starting off, or if the previous text ended with a newline, + // we have to append the current indent first. + if (((this.GenerationEnvironment.Length == 0) + || this.endsWithNewline)) + { + this.GenerationEnvironment.Append(this.currentIndentField); + this.endsWithNewline = false; + } + // Check if the current text ends with a newline + if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) + { + this.endsWithNewline = true; + } + // This is an optimization. If the current indent is "", then we don't have to do any + // of the more complex stuff further down. + if ((this.currentIndentField.Length == 0)) + { + this.GenerationEnvironment.Append(textToAppend); + return; + } + // Everywhere there is a newline in the text, add an indent after it + textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); + // If the text ends with a newline, then we should strip off the indent added at the very end + // because the appropriate indent will be added when the next time Write() is called + if (this.endsWithNewline) + { + this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); + } + else + { + this.GenerationEnvironment.Append(textToAppend); + } + } + /// + /// Write text directly into the generated output + /// + public void WriteLine(string textToAppend) + { + this.Write(textToAppend); + this.GenerationEnvironment.AppendLine(); + this.endsWithNewline = true; + } + /// + /// Write formatted text directly into the generated output + /// + public void Write(string format, params object[] args) + { + this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Write formatted text directly into the generated output + /// + public void WriteLine(string format, params object[] args) + { + this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Raise an error + /// + public void Error(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + this.Errors.Add(error); + } + /// + /// Raise a warning + /// + public void Warning(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + error.IsWarning = true; + this.Errors.Add(error); + } + /// + /// Increase the indent + /// + public void PushIndent(string indent) + { + if ((indent == null)) + { + throw new global::System.ArgumentNullException("indent"); + } + this.currentIndentField = (this.currentIndentField + indent); + this.indentLengths.Add(indent.Length); + } + /// + /// Remove the last indent that was added with PushIndent + /// + public string PopIndent() + { + string returnValue = ""; + if ((this.indentLengths.Count > 0)) + { + int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; + this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); + if ((indentLength > 0)) + { + returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); + this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); + } + } + return returnValue; + } + /// + /// Remove any indentation + /// + public void ClearIndent() + { + this.indentLengths.Clear(); + this.currentIndentField = ""; + } + #endregion + #region ToString Helpers + /// + /// Utility class to produce culture-oriented representation of an object as a string. + /// + public class ToStringInstanceHelper + { + private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; + /// + /// Gets or sets format provider to be used by ToStringWithCulture method. + /// + public System.IFormatProvider FormatProvider + { + get + { + return this.formatProviderField ; + } + set + { + if ((value != null)) + { + this.formatProviderField = value; + } + } + } + /// + /// This is called from the compile/run appdomain to convert objects within an expression block to a string + /// + public string ToStringWithCulture(object objectToConvert) + { + if ((objectToConvert == null)) + { + throw new global::System.ArgumentNullException("objectToConvert"); + } + System.Type t = objectToConvert.GetType(); + System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { + typeof(System.IFormatProvider)}); + if ((method == null)) + { + return objectToConvert.ToString(); + } + else + { + return ((string)(method.Invoke(objectToConvert, new object[] { + this.formatProviderField }))); + } + } + } + private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); + /// + /// Helper to produce culture-oriented representation of an object as a string + /// + public ToStringInstanceHelper ToStringHelper + { + get + { + return this.toStringHelperField; + } + } + #endregion + } + #endregion +} diff --git a/src/mlnet/Templates/ConsoleHelper.tt b/src/mlnet/Templates/Console/ConsoleHelper.tt similarity index 99% rename from src/mlnet/Templates/ConsoleHelper.tt rename to src/mlnet/Templates/Console/ConsoleHelper.tt index 7d3b9111c3..4e1388c7eb 100644 --- a/src/mlnet/Templates/ConsoleHelper.tt +++ b/src/mlnet/Templates/Console/ConsoleHelper.tt @@ -10,7 +10,7 @@ using Microsoft.Data.DataView; using Microsoft.ML.Core.Data; using Microsoft.ML.Data; -namespace MlnetSample +namespace <#= Namespace #> { public static class ConsoleHelper { @@ -29,8 +29,6 @@ namespace MlnetSample Console.WriteLine($"-------------------------------------------------"); } - //(CDLTLL-Pending to Fix - Results --> ?) - // public static void PrintRegressionMetrics(string name, RegressionMetrics metrics) { Console.WriteLine($"*************************************************"); @@ -68,7 +66,6 @@ namespace MlnetSample Console.WriteLine($"************************************************************"); } - //(CDLTLL-Pending to Fix - Results --> ?) public static void PrintRegressionFoldsAverageMetrics(string algorithmName, (RegressionMetrics metrics, @@ -248,4 +245,7 @@ namespace MlnetSample } } -} \ No newline at end of file +} +<#+ +public string Namespace {get;set;} +#> diff --git a/src/mlnet/Templates/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs similarity index 98% rename from src/mlnet/Templates/MLCodeGen.cs rename to src/mlnet/Templates/Console/MLCodeGen.cs index b15769c8f9..a783998503 100644 --- a/src/mlnet/Templates/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -7,7 +7,7 @@ // the code is regenerated. // // ------------------------------------------------------------------------------ -namespace mlnet.Templates +namespace Microsoft.ML.CLI.Templates.Console { using System.Linq; using System.Text; @@ -38,8 +38,9 @@ public virtual string TransformText() using Microsoft.Data.DataView; "); this.Write(this.ToStringHelper.ToStringWithCulture(GeneratedUsings)); - this.Write("\r\n\r\n\r\nnamespace MlnetSample\r\n{\r\n class Program\r\n {\r\n private static " + - "string TrainDataPath = @\""); + this.Write("\r\n\r\n\r\nnamespace "); + this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); + this.Write("\r\n{\r\n class Program\r\n {\r\n private static string TrainDataPath = @\""); this.Write(this.ToStringHelper.ToStringWithCulture(Path)); this.Write("\";\r\n"); if(!string.IsNullOrEmpty(TestPath)){ @@ -256,6 +257,7 @@ private static void TestSinglePrediction(MLContext mlContext) public bool AllowSparse {get;set;} public bool TrimWhiteSpace {get;set;} public int Kfolds {get;set;} = 5; +public string Namespace {get;set;} } #region Base class diff --git a/src/mlnet/Templates/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt similarity index 99% rename from src/mlnet/Templates/MLCodeGen.tt rename to src/mlnet/Templates/Console/MLCodeGen.tt index e41d7b0349..3cc06941f5 100644 --- a/src/mlnet/Templates/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -17,7 +17,7 @@ using Microsoft.Data.DataView; <#= GeneratedUsings #> -namespace MlnetSample +namespace <#= Namespace #> { class Program { @@ -202,4 +202,5 @@ public bool AllowQuoting {get;set;} public bool AllowSparse {get;set;} public bool TrimWhiteSpace {get;set;} public int Kfolds {get;set;} = 5; +public string Namespace {get;set;} #> diff --git a/src/mlnet/Templates/MLProjectGen.cs b/src/mlnet/Templates/Console/MLProjectGen.cs similarity index 99% rename from src/mlnet/Templates/MLProjectGen.cs rename to src/mlnet/Templates/Console/MLProjectGen.cs index 72bc0db191..511e79e20f 100644 --- a/src/mlnet/Templates/MLProjectGen.cs +++ b/src/mlnet/Templates/Console/MLProjectGen.cs @@ -7,7 +7,7 @@ // the code is regenerated. // // ------------------------------------------------------------------------------ -namespace mlnet.Templates +namespace Microsoft.ML.CLI.Templates.Console { using System.Linq; using System.Text; diff --git a/src/mlnet/Templates/MLProjectGen.tt b/src/mlnet/Templates/Console/MLProjectGen.tt similarity index 100% rename from src/mlnet/Templates/MLProjectGen.tt rename to src/mlnet/Templates/Console/MLProjectGen.tt diff --git a/src/mlnet/Templates/ConsoleHelper.cs b/src/mlnet/Templates/ConsoleHelper.cs deleted file mode 100644 index 06b58100aa..0000000000 --- a/src/mlnet/Templates/ConsoleHelper.cs +++ /dev/null @@ -1,488 +0,0 @@ -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version: 15.0.0.0 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// ------------------------------------------------------------------------------ -namespace mlnet.Templates -{ - using System.Linq; - using System.Text; - using System.Collections.Generic; - using System; - - /// - /// Class to produce the template output - /// - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public partial class ConsoleHelper : ConsoleHelperBase - { - /// - /// Create the template output - /// - public virtual string TransformText() - { - this.Write("using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing Micro" + - "soft.Data.DataView;\r\nusing Microsoft.ML.Core.Data;\r\nusing Microsoft.ML.Data;\r\n\r\n" + - "namespace MlnetSample\r\n{\r\n public static class ConsoleHelper\r\n {\r\n " + - "public static void PrintPrediction(string prediction)\r\n {\r\n Co" + - "nsole.WriteLine($\"*************************************************\");\r\n " + - " Console.WriteLine($\"Predicted : {prediction}\");\r\n Console.WriteLi" + - "ne($\"*************************************************\");\r\n }\r\n\r\n " + - "public static void PrintRegressionPredictionVersusObserved(string predictionCoun" + - "t, string observedCount)\r\n {\r\n Console.WriteLine($\"-----------" + - "--------------------------------------\");\r\n Console.WriteLine($\"Predi" + - "cted : {predictionCount}\");\r\n Console.WriteLine($\"Actual: {observ" + - "edCount}\");\r\n Console.WriteLine($\"-----------------------------------" + - "--------------\");\r\n }\r\n\r\n //(CDLTLL-Pending to Fix - Results --> ?" + - ")\r\n //\r\n public static void PrintRegressionMetrics(string name, Re" + - "gressionMetrics metrics)\r\n {\r\n Console.WriteLine($\"***********" + - "**************************************\");\r\n Console.WriteLine($\"* " + - " Metrics for {name} regression model \");\r\n Console.WriteLine($" + - "\"*------------------------------------------------\");\r\n Console.Write" + - "Line($\"* LossFn: {metrics.LossFn:0.##}\");\r\n Console.Writ" + - "eLine($\"* R2 Score: {metrics.RSquared:0.##}\");\r\n Console.W" + - "riteLine($\"* Absolute loss: {metrics.L1:#.##}\");\r\n Console.Writ" + - "eLine($\"* Squared loss: {metrics.L2:#.##}\");\r\n Console.WriteLi" + - "ne($\"* RMS loss: {metrics.Rms:#.##}\");\r\n Console.WriteLine" + - "($\"*************************************************\");\r\n }\r\n\r\n pu" + - "blic static void PrintBinaryClassificationMetrics(string name, BinaryClassificat" + - "ionMetrics metrics)\r\n {\r\n Console.WriteLine($\"****************" + - "********************************************\");\r\n Console.WriteLine($" + - "\"* Metrics for {name} binary classification model \");\r\n Co" + - "nsole.WriteLine($\"*-----------------------------------------------------------\")" + - ";\r\n Console.WriteLine($\"* Accuracy: {metrics.Accuracy:P2}\");\r\n " + - " Console.WriteLine($\"* Auc: {metrics.Auc:P2}\");\r\n " + - " Console.WriteLine($\"**********************************************************" + - "**\");\r\n }\r\n\r\n public static void PrintMultiClassClassificationMetr" + - "ics(string name, MultiClassClassifierMetrics metrics)\r\n {\r\n Co" + - "nsole.WriteLine($\"************************************************************\")" + - ";\r\n Console.WriteLine($\"* Metrics for {name} multi-class classific" + - "ation model \");\r\n Console.WriteLine($\"*----------------------------" + - "-------------------------------\");\r\n Console.WriteLine($\" Accuracy" + - "Macro = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1" + - ", the better\");\r\n Console.WriteLine($\" AccuracyMicro = {metrics.Ac" + - "curacyMicro:0.####}, a value between 0 and 1, the closer to 1, the better\");\r\n " + - " Console.WriteLine($\" LogLoss = {metrics.LogLoss:0.####}, the closer" + - " to 0, the better\");\r\n Console.WriteLine($\" LogLoss for class 1 = " + - "{metrics.PerClassLogLoss[0]:0.####}, the closer to 0, the better\");\r\n " + - " Console.WriteLine($\" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.###" + - "#}, the closer to 0, the better\");\r\n Console.WriteLine($\" LogLoss " + - "for class 3 = {metrics.PerClassLogLoss[2]:0.####}, the closer to 0, the better\")" + - ";\r\n Console.WriteLine($\"*********************************************" + - "***************\");\r\n }\r\n\r\n //(CDLTLL-Pending to Fix - Results --> " + - "?)\r\n\r\n public static void PrintRegressionFoldsAverageMetrics(string algor" + - "ithmName,\r\n (Regres" + - "sionMetrics metrics,\r\n " + - " ITransformer model,\r\n " + - " IDataView scoredTestData)[] crossValidationResults\r\n " + - " )\r\n {\r\n var L1 = cro" + - "ssValidationResults.Select(r => r.metrics.L1);\r\n var L2 = crossValida" + - "tionResults.Select(r => r.metrics.L2);\r\n var RMS = crossValidationRes" + - "ults.Select(r => r.metrics.L1);\r\n var lossFunction = crossValidationR" + - "esults.Select(r => r.metrics.LossFn);\r\n var R2 = crossValidationResul" + - "ts.Select(r => r.metrics.RSquared);\r\n\r\n Console.WriteLine($\"*********" + - "********************************************************************************" + - "********************\");\r\n Console.WriteLine($\"* Metrics for {al" + - "gorithmName} Regression model \");\r\n Console.WriteLine($\"*-------" + - "--------------------------------------------------------------------------------" + - "---------------------\");\r\n Console.WriteLine($\"* Average L1 Los" + - "s: {L1.Average():0.###} \");\r\n Console.WriteLine($\"* Average " + - "L2 Loss: {L2.Average():0.###} \");\r\n Console.WriteLine($\"* A" + - "verage RMS: {RMS.Average():0.###} \");\r\n Console.WriteLine($" + - "\"* Average Loss Function: {lossFunction.Average():0.###} \");\r\n " + - " Console.WriteLine($\"* Average R-squared: {R2.Average():0.###} \");\r\n " + - " Console.WriteLine($\"*****************************************************" + - "********************************************************\");\r\n }\r\n\r\n " + - " public static void PrintBinaryClassificationFoldsAverageMetrics(\r\n " + - " string algorithmName,\r\n " + - " (BinaryClassificationMetrics metrics,\r\n " + - " ITransformer model,\r\n IDa" + - "taView scoredTestData)[] crossValResults\r\n " + - " )\r\n {\r\n var metricsInMult" + - "ipleFolds = crossValResults.Select(r => r.metrics);\r\n\r\n var AccuracyV" + - "alues = metricsInMultipleFolds.Select(m => m.Accuracy);\r\n var Accurac" + - "yAverage = AccuracyValues.Average();\r\n var AccuraciesStdDeviation = C" + - "alculateStandardDeviation(AccuracyValues);\r\n var AccuraciesConfidence" + - "Interval95 = CalculateConfidenceInterval95(AccuracyValues);\r\n\r\n\r\n Con" + - "sole.WriteLine($\"***************************************************************" + - "**********************************************\");\r\n Console.WriteLine" + - "($\"* Metrics for {algorithmName} Binary Classification model \");\r\n " + - " Console.WriteLine($\"*--------------------------------------------------" + - "----------------------------------------------------------\");\r\n Conso" + - "le.WriteLine($\"* Average Accuracy: {AccuracyAverage:0.###} - Standard " + - "deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({Accura" + - "ciesConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"***********" + - "********************************************************************************" + - "******************\");\r\n\r\n }\r\n\r\n public static void PrintMulticlass" + - "ClassificationFoldsAverageMetrics(\r\n str" + - "ing algorithmName,\r\n (MultiClassClassifi" + - "erMetrics metrics,\r\n ITransformer model" + - ",\r\n IDataView scoredTestData)[] crossVa" + - "lResults\r\n " + - " )\r\n {\r\n var metricsInMultipleFolds = crossValResults.Sele" + - "ct(r => r.metrics);\r\n\r\n var microAccuracyValues = metricsInMultipleFo" + - "lds.Select(m => m.AccuracyMicro);\r\n var microAccuracyAverage = microA" + - "ccuracyValues.Average();\r\n var microAccuraciesStdDeviation = Calculat" + - "eStandardDeviation(microAccuracyValues);\r\n var microAccuraciesConfide" + - "nceInterval95 = CalculateConfidenceInterval95(microAccuracyValues);\r\n\r\n " + - " var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro)" + - ";\r\n var macroAccuracyAverage = macroAccuracyValues.Average();\r\n " + - " var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracy" + - "Values);\r\n var macroAccuraciesConfidenceInterval95 = CalculateConfide" + - "nceInterval95(macroAccuracyValues);\r\n\r\n var logLossValues = metricsIn" + - "MultipleFolds.Select(m => m.LogLoss);\r\n var logLossAverage = logLossV" + - "alues.Average();\r\n var logLossStdDeviation = CalculateStandardDeviati" + - "on(logLossValues);\r\n var logLossConfidenceInterval95 = CalculateConfi" + - "denceInterval95(logLossValues);\r\n\r\n var logLossReductionValues = metr" + - "icsInMultipleFolds.Select(m => m.LogLossReduction);\r\n var logLossRedu" + - "ctionAverage = logLossReductionValues.Average();\r\n var logLossReducti" + - "onStdDeviation = CalculateStandardDeviation(logLossReductionValues);\r\n " + - " var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(logLo" + - "ssReductionValues);\r\n\r\n Console.WriteLine($\"*************************" + - "********************************************************************************" + - "****\");\r\n Console.WriteLine($\"* Metrics for {algorithmName} Mul" + - "ti-class Classification model \");\r\n Console.WriteLine($\"*-------" + - "--------------------------------------------------------------------------------" + - "---------------------\");\r\n Console.WriteLine($\"* Average MicroA" + - "ccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccuracie" + - "sStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInt" + - "erval95:#.###})\");\r\n Console.WriteLine($\"* Average MacroAccurac" + - "y: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDe" + - "viation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval9" + - "5:#.###})\");\r\n Console.WriteLine($\"* Average LogLoss: " + - "{logLossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - C" + - "onfidence Interval 95%: ({logLossConfidenceInterval95:#.###})\");\r\n Co" + - "nsole.WriteLine($\"* Average LogLossReduction: {logLossReductionAverage:#.#" + - "##} - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence " + - "Interval 95%: ({logLossReductionConfidenceInterval95:#.###})\");\r\n Con" + - "sole.WriteLine($\"***************************************************************" + - "**********************************************\");\r\n\r\n }\r\n\r\n public" + - " static double CalculateStandardDeviation(IEnumerable values)\r\n {" + - "\r\n double average = values.Average();\r\n double sumOfSquare" + - "sOfDifferences = values.Select(val => (val - average) * (val - average)).Sum();\r" + - "\n double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (v" + - "alues.Count() - 1));\r\n return standardDeviation;\r\n }\r\n\r\n " + - " public static double CalculateConfidenceInterval95(IEnumerable values)" + - "\r\n {\r\n double confidenceInterval95 = 1.96 * CalculateStandardD" + - "eviation(values) / Math.Sqrt((values.Count() - 1));\r\n return confiden" + - "ceInterval95;\r\n }\r\n\r\n public static void PrintClusteringMetrics(st" + - "ring name, ClusteringMetrics metrics)\r\n {\r\n Console.WriteLine(" + - "$\"*************************************************\");\r\n Console.Writ" + - "eLine($\"* Metrics for {name} clustering model \");\r\n Consol" + - "e.WriteLine($\"*------------------------------------------------\");\r\n " + - "Console.WriteLine($\"* AvgMinScore: {metrics.AvgMinScore}\");\r\n C" + - "onsole.WriteLine($\"* DBI is: {metrics.Dbi}\");\r\n Console.WriteLi" + - "ne($\"*************************************************\");\r\n }\r\n\r\n " + - "public static void ConsoleWriteHeader(params string[] lines)\r\n {\r\n " + - " var defaultColor = Console.ForegroundColor;\r\n Console.Foreground" + - "Color = ConsoleColor.Yellow;\r\n Console.WriteLine(\" \");\r\n f" + - "oreach (var line in lines)\r\n {\r\n Console.WriteLine(lin" + - "e);\r\n }\r\n var maxLength = lines.Select(x => x.Length).Max(" + - ");\r\n Console.WriteLine(new string(\'#\', maxLength));\r\n Cons" + - "ole.ForegroundColor = defaultColor;\r\n }\r\n\r\n public static void Con" + - "soleWriterSection(params string[] lines)\r\n {\r\n var defaultColo" + - "r = Console.ForegroundColor;\r\n Console.ForegroundColor = ConsoleColor" + - ".Blue;\r\n Console.WriteLine(\" \");\r\n foreach (var line in li" + - "nes)\r\n {\r\n Console.WriteLine(line);\r\n }\r\n " + - " var maxLength = lines.Select(x => x.Length).Max();\r\n Consol" + - "e.WriteLine(new string(\'-\', maxLength));\r\n Console.ForegroundColor = " + - "defaultColor;\r\n }\r\n\r\n public static void ConsolePressAnyKey()\r\n " + - " {\r\n var defaultColor = Console.ForegroundColor;\r\n Con" + - "sole.ForegroundColor = ConsoleColor.Green;\r\n Console.WriteLine(\" \");\r" + - "\n Console.WriteLine(\"Press any key to finish.\");\r\n Console" + - ".ReadKey();\r\n }\r\n\r\n public static void ConsoleWriteException(param" + - "s string[] lines)\r\n {\r\n var defaultColor = Console.ForegroundC" + - "olor;\r\n Console.ForegroundColor = ConsoleColor.Red;\r\n cons" + - "t string exceptionTitle = \"EXCEPTION\";\r\n Console.WriteLine(\" \");\r\n " + - " Console.WriteLine(exceptionTitle);\r\n Console.WriteLine(new s" + - "tring(\'#\', exceptionTitle.Length));\r\n Console.ForegroundColor = defau" + - "ltColor;\r\n foreach (var line in lines)\r\n {\r\n " + - " Console.WriteLine(line);\r\n }\r\n }\r\n\r\n public static vo" + - "id ConsoleWriteWarning(params string[] lines)\r\n {\r\n var defaul" + - "tColor = Console.ForegroundColor;\r\n Console.ForegroundColor = Console" + - "Color.DarkMagenta;\r\n const string warningTitle = \"WARNING\";\r\n " + - " Console.WriteLine(\" \");\r\n Console.WriteLine(warningTitle);\r\n " + - " Console.WriteLine(new string(\'#\', warningTitle.Length));\r\n Con" + - "sole.ForegroundColor = defaultColor;\r\n foreach (var line in lines)\r\n " + - " {\r\n Console.WriteLine(line);\r\n }\r\n }" + - "\r\n\r\n }\r\n}"); - return this.GenerationEnvironment.ToString(); - } - } - #region Base class - /// - /// Base class for this transformation - /// - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public class ConsoleHelperBase - { - #region Fields - private global::System.Text.StringBuilder generationEnvironmentField; - private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; - private global::System.Collections.Generic.List indentLengthsField; - private string currentIndentField = ""; - private bool endsWithNewline; - private global::System.Collections.Generic.IDictionary sessionField; - #endregion - #region Properties - /// - /// The string builder that generation-time code is using to assemble generated output - /// - protected System.Text.StringBuilder GenerationEnvironment - { - get - { - if ((this.generationEnvironmentField == null)) - { - this.generationEnvironmentField = new global::System.Text.StringBuilder(); - } - return this.generationEnvironmentField; - } - set - { - this.generationEnvironmentField = value; - } - } - /// - /// The error collection for the generation process - /// - public System.CodeDom.Compiler.CompilerErrorCollection Errors - { - get - { - if ((this.errorsField == null)) - { - this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); - } - return this.errorsField; - } - } - /// - /// A list of the lengths of each indent that was added with PushIndent - /// - private System.Collections.Generic.List indentLengths - { - get - { - if ((this.indentLengthsField == null)) - { - this.indentLengthsField = new global::System.Collections.Generic.List(); - } - return this.indentLengthsField; - } - } - /// - /// Gets the current indent we use when adding lines to the output - /// - public string CurrentIndent - { - get - { - return this.currentIndentField; - } - } - /// - /// Current transformation session - /// - public virtual global::System.Collections.Generic.IDictionary Session - { - get - { - return this.sessionField; - } - set - { - this.sessionField = value; - } - } - #endregion - #region Transform-time helpers - /// - /// Write text directly into the generated output - /// - public void Write(string textToAppend) - { - if (string.IsNullOrEmpty(textToAppend)) - { - return; - } - // If we're starting off, or if the previous text ended with a newline, - // we have to append the current indent first. - if (((this.GenerationEnvironment.Length == 0) - || this.endsWithNewline)) - { - this.GenerationEnvironment.Append(this.currentIndentField); - this.endsWithNewline = false; - } - // Check if the current text ends with a newline - if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) - { - this.endsWithNewline = true; - } - // This is an optimization. If the current indent is "", then we don't have to do any - // of the more complex stuff further down. - if ((this.currentIndentField.Length == 0)) - { - this.GenerationEnvironment.Append(textToAppend); - return; - } - // Everywhere there is a newline in the text, add an indent after it - textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); - // If the text ends with a newline, then we should strip off the indent added at the very end - // because the appropriate indent will be added when the next time Write() is called - if (this.endsWithNewline) - { - this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); - } - else - { - this.GenerationEnvironment.Append(textToAppend); - } - } - /// - /// Write text directly into the generated output - /// - public void WriteLine(string textToAppend) - { - this.Write(textToAppend); - this.GenerationEnvironment.AppendLine(); - this.endsWithNewline = true; - } - /// - /// Write formatted text directly into the generated output - /// - public void Write(string format, params object[] args) - { - this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); - } - /// - /// Write formatted text directly into the generated output - /// - public void WriteLine(string format, params object[] args) - { - this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); - } - /// - /// Raise an error - /// - public void Error(string message) - { - System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); - error.ErrorText = message; - this.Errors.Add(error); - } - /// - /// Raise a warning - /// - public void Warning(string message) - { - System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); - error.ErrorText = message; - error.IsWarning = true; - this.Errors.Add(error); - } - /// - /// Increase the indent - /// - public void PushIndent(string indent) - { - if ((indent == null)) - { - throw new global::System.ArgumentNullException("indent"); - } - this.currentIndentField = (this.currentIndentField + indent); - this.indentLengths.Add(indent.Length); - } - /// - /// Remove the last indent that was added with PushIndent - /// - public string PopIndent() - { - string returnValue = ""; - if ((this.indentLengths.Count > 0)) - { - int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; - this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); - if ((indentLength > 0)) - { - returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); - this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); - } - } - return returnValue; - } - /// - /// Remove any indentation - /// - public void ClearIndent() - { - this.indentLengths.Clear(); - this.currentIndentField = ""; - } - #endregion - #region ToString Helpers - /// - /// Utility class to produce culture-oriented representation of an object as a string. - /// - public class ToStringInstanceHelper - { - private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; - /// - /// Gets or sets format provider to be used by ToStringWithCulture method. - /// - public System.IFormatProvider FormatProvider - { - get - { - return this.formatProviderField ; - } - set - { - if ((value != null)) - { - this.formatProviderField = value; - } - } - } - /// - /// This is called from the compile/run appdomain to convert objects within an expression block to a string - /// - public string ToStringWithCulture(object objectToConvert) - { - if ((objectToConvert == null)) - { - throw new global::System.ArgumentNullException("objectToConvert"); - } - System.Type t = objectToConvert.GetType(); - System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { - typeof(System.IFormatProvider)}); - if ((method == null)) - { - return objectToConvert.ToString(); - } - else - { - return ((string)(method.Invoke(objectToConvert, new object[] { - this.formatProviderField }))); - } - } - } - private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); - /// - /// Helper to produce culture-oriented representation of an object as a string - /// - public ToStringInstanceHelper ToStringHelper - { - get - { - return this.toStringHelperField; - } - } - #endregion - } - #endregion -} diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 0825788682..8589823391 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -5,7 +5,7 @@ using Microsoft.ML.Data; using NLog; -namespace mlnet.Utilities +namespace Microsoft.ML.CLI.Utilities { internal class ConsolePrinter { diff --git a/src/mlnet/Utilities/ProgressHandlers.cs b/src/mlnet/Utilities/ProgressHandlers.cs index 5873fdd9d1..a09da83945 100644 --- a/src/mlnet/Utilities/ProgressHandlers.cs +++ b/src/mlnet/Utilities/ProgressHandlers.cs @@ -6,7 +6,7 @@ using Microsoft.ML.Auto; using Microsoft.ML.Data; -namespace mlnet.Utilities +namespace Microsoft.ML.CLI.Utilities { internal class ProgressHandlers { diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index 3edaf1eb4c..d939bd8f4d 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -4,6 +4,7 @@ Exe netcoreapp2.1 true + Microsoft.ML.CLI mlnet mlgen mlgen @@ -41,17 +42,17 @@ True Strings.resx - + True True ConsoleHelper.tt - + True True MLCodeGen.tt - + True True MLProjectGen.tt @@ -69,15 +70,15 @@ Always - + TextTemplatingFilePreprocessor ConsoleHelper.cs - + TextTemplatingFilePreprocessor MLCodeGen.cs - + TextTemplatingFilePreprocessor MLProjectGen.cs diff --git a/src/mlnet/strings.Designer.cs b/src/mlnet/strings.Designer.cs index babb39d66c..b8105a37c3 100644 --- a/src/mlnet/strings.Designer.cs +++ b/src/mlnet/strings.Designer.cs @@ -8,7 +8,7 @@ // //------------------------------------------------------------------------------ -namespace mlnet { +namespace Microsoft.ML.CLI { using System; @@ -39,7 +39,7 @@ internal Strings() { internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("mlnet.Strings", typeof(Strings).Assembly); + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.ML.CLI.Strings", typeof(Strings).Assembly); resourceMan = temp; } return resourceMan; From 8029cc1bf8c1353ecf70f16761592d4b6bb4c350 Mon Sep 17 00:00:00 2001 From: vinodshanbhag <33269336+vinodshanbhag@users.noreply.github.com> Date: Fri, 15 Feb 2019 15:52:09 -0800 Subject: [PATCH 079/211] API 2.0 skeleton (#149) Incorporating API review feedback --- .../APINew/MLContextExtension.cs | 122 ++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 src/Microsoft.ML.Auto/APINew/MLContextExtension.cs diff --git a/src/Microsoft.ML.Auto/APINew/MLContextExtension.cs b/src/Microsoft.ML.Auto/APINew/MLContextExtension.cs new file mode 100644 index 0000000000..97366da3a2 --- /dev/null +++ b/src/Microsoft.ML.Auto/APINew/MLContextExtension.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using Microsoft.Data.DataView; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto.APINew +{ + public static class MLContextExtension + { + public static AutoInfereceCataglog AutoInference(this MLContext mlContext) + { + return new AutoInfereceCataglog(); + } + } + + public class ExperimentSettings + { + public uint MaxInferenceTimeInSeconds; + public bool EnableCaching; + public CancellationToken CancellationToken; + } + + public class RegressionExperimentSettings : ExperimentSettings + { + public IProgress ProgressCallback; + public Data.RegressionMetrics OptimizingMetrics; + public RegressionTrainer[] WhitelistedTrainers; + } + + public enum RegressionMetric + { + RSquared + } + + public enum RegressionTrainer + { + LightGbm + } + + public class ColumnInfereceResults + { + public TextLoader.Arguments TextLoaderArgs; + public ColumnInformation ColumnInformation; + } + + public class ColumnInformation + { + public string LableColumn; + public string WeightColumn; + public IEnumerable CategoricalColumns; + } + + public class RegressionExperiment + { + public RunResult Execute(IDataView testData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + { + throw new NotImplementedException(); + } + + public RunResult Execute(IDataView testData, IDataView validationData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + { + throw new NotImplementedException(); + } + + public RunResult Execute(IDataView testData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + { + throw new NotImplementedException(); + } + } + + public class AutoInfereceCataglog + { + RegressionExperiment CreateRegressionExperiment(uint maxInferenceTimeInSeconds) + { + return new RegressionExperiment(); + } + + RegressionExperiment CreateRegressionExperiment(RegressionExperimentSettings experimentSettings) + { + return new RegressionExperiment(); + } + + public ColumnInfereceResults InferColumns() + { + throw new NotImplementedException(); + } + } + + public class RunResult + { + public readonly T Metrics; + public readonly ITransformer Model; + public readonly Exception Exception; + public readonly string TrainerName; + public readonly int RuntimeInSeconds; + + internal readonly Pipeline Pipeline; + internal readonly int PipelineInferenceTimeInSeconds; + + internal RunResult( + ITransformer model, + T metrics, + Pipeline pipeline, + Exception exception, + int runtimeInSeconds, + int pipelineInferenceTimeInSeconds) + { + Model = model; + Metrics = metrics; + Pipeline = pipeline; + Exception = exception; + RuntimeInSeconds = runtimeInSeconds; + PipelineInferenceTimeInSeconds = pipelineInferenceTimeInSeconds; + + TrainerName = pipeline?.Nodes.Where(n => n.NodeType == PipelineNodeType.Trainer).Last().Name; + } + } +} From 9fb2de3011465cb23cf62a201edd379e88f61ef1 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Sat, 16 Feb 2019 22:04:08 -0800 Subject: [PATCH 080/211] The CV code should come before the training when there is no test dataset in generated code (#151) * reorder cv code * build fix * fixed structure --- ...rTests.GeneratedTrainCodeTest.approved.txt | 6 +- .../ConsoleCodeGeneratorTests.cs | 8 +-- src/mlnet.Test/CodeGenTests.cs | 34 +++++----- src/mlnet.Test/CommandLineTests.cs | 1 - .../CodeGenerator.cs} | 8 +-- .../CodeGeneratorOptions.cs} | 4 +- .../{Console => CSharp}/Symbols.cs | 2 +- .../TrainerGeneratorBase.cs | 2 +- .../TrainerGeneratorFactory.cs | 5 +- .../{Console => CSharp}/TrainerGenerators.cs | 2 +- .../TransformGeneratorBase .cs | 2 +- .../TransformGeneratorFactory.cs | 2 +- .../TransformGenerators.cs | 2 +- src/mlnet/Commands/New/NewCommandHandler.cs | 6 +- src/mlnet/Templates/Console/MLCodeGen.cs | 63 +++++++++---------- src/mlnet/Templates/Console/MLCodeGen.tt | 29 +++++---- 16 files changed, 83 insertions(+), 93 deletions(-) rename src/mlnet/CodeGenerator/{Console/ConsoleCodeGenerator.cs => CSharp/CodeGenerator.cs} (97%) rename src/mlnet/CodeGenerator/{Console/ConsoleCodeGeneratorOptions.cs => CSharp/CodeGeneratorOptions.cs} (76%) rename src/mlnet/CodeGenerator/{Console => CSharp}/Symbols.cs (94%) rename src/mlnet/CodeGenerator/{Console => CSharp}/TrainerGeneratorBase.cs (99%) rename src/mlnet/CodeGenerator/{Console => CSharp}/TrainerGeneratorFactory.cs (96%) rename src/mlnet/CodeGenerator/{Console => CSharp}/TrainerGenerators.cs (99%) rename src/mlnet/CodeGenerator/{Console => CSharp}/TransformGeneratorBase .cs (97%) rename src/mlnet/CodeGenerator/{Console => CSharp}/TransformGeneratorFactory.cs (97%) rename src/mlnet/CodeGenerator/{Console => CSharp}/TransformGenerators.cs (99%) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt index c539c0f5b0..19da5696ec 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt @@ -1,7 +1,4 @@ -/* This template shows the building blocks for training a machine learning model with ML.NET (https://aka.ms/mlnet). - * This model predicts whether a sentence has a positive or negative sentiment. It is based on a sample that can be - * found at https://aka.ms/mlnetsentimentanalysis, which provides a more detailed introduction to ML.NET and the scenario. */ - + using System; using System.IO; using System.Linq; @@ -64,6 +61,7 @@ namespace MyNamespace // Set the training algorithm, then create and config the modelBuilder var trainer = mlContext.BinaryClassification.Trainers.LightGbm(new Options(){NumLeaves=2,Booster=new Options.TreeBooster.Arguments(){},LabelColumn="Label",FeatureColumn="Features"}); + // Train the model fitting to the DataSet var trainingPipeline = dataProcessPipeline.Append(trainer); var trainedModel = trainingPipeline.Fit(trainingDataView); diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index e51e84576a..96cc60ac22 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -4,7 +4,7 @@ using ApprovalTests.Reporters; using Microsoft.ML; using Microsoft.ML.Auto; -using Microsoft.ML.CLI.CodeGenerator.Console; +using Microsoft.ML.CLI.CodeGenerator.CSharp; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -24,7 +24,7 @@ public void GeneratedTrainCodeTest() (Pipeline pipeline, (TextLoader.Arguments, IEnumerable<(string Name, ColumnPurpose Purpose)>) columnInference) = GetMockedPipelineAndInference(); - var consoleCodeGen = new ConsoleCodeGenerator(pipeline, columnInference, new ConsoleCodeGeneratorOptions() + var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorOptions() { MlTask = TaskKind.BinaryClassification, OutputBaseDir = null, @@ -47,7 +47,7 @@ public void GeneratedProjectCodeTest() (Pipeline pipeline, (TextLoader.Arguments, IEnumerable<(string Name, ColumnPurpose Purpose)>) columnInference) = GetMockedPipelineAndInference(); - var consoleCodeGen = new ConsoleCodeGenerator(pipeline, columnInference, new ConsoleCodeGeneratorOptions() + var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorOptions() { MlTask = TaskKind.BinaryClassification, OutputBaseDir = null, @@ -70,7 +70,7 @@ public void GeneratedHelperCodeTest() (Pipeline pipeline, (TextLoader.Arguments, IEnumerable<(string Name, ColumnPurpose Purpose)>) columnInference) = GetMockedPipelineAndInference(); - var consoleCodeGen = new ConsoleCodeGenerator(pipeline, columnInference, new ConsoleCodeGeneratorOptions() + var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorOptions() { MlTask = TaskKind.BinaryClassification, OutputBaseDir = null, diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index 6d91fc4584..ce361bb064 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using Microsoft.ML; using Microsoft.ML.Auto; -using Microsoft.ML.CLI.CodeGenerator.Console; +using Microsoft.ML.CLI.CodeGenerator.CSharp; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -22,7 +22,7 @@ public void TrainerGeneratorBasicNamedParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTrainerAndUsings(); string expected = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumn:\"Label\",featureColumn:\"Features\")"; Assert.AreEqual(expected, actual.Item1); @@ -42,7 +42,7 @@ public void TrainerGeneratorBasicAdvancedParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTrainerAndUsings(); string expectedTrainer = "LightGbm(new Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; string expectedUsing = "using Microsoft.ML.LightGBM;\r\n"; @@ -57,7 +57,7 @@ public void TransformGeneratorBasicTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expected = "Normalize(\"Label\",\"Label\")"; Assert.AreEqual(expected, actual[0].Item1); @@ -71,7 +71,7 @@ public void TransformGeneratorUsingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"Label\",\"Label\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; @@ -102,7 +102,7 @@ public void ClassLabelGenerationBasicTest() TrimWhitespace = true }, purposes); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(null, result, null); + CodeGenerator codeGenerator = new CodeGenerator(null, result, null); var actual = codeGenerator.GenerateClassLabels(); var expected1 = "[ColumnName(\"Label\"), LoadColumn(0)]"; var expected2 = "public bool Label{get; set;}"; @@ -140,7 +140,7 @@ public void ColumnGenerationTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, result, null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, result, null); var actual = codeGenerator.GenerateColumns(); Assert.AreEqual(actual.Count, 2); string expectedColumn1 = "new Column(\"Label\",DataKind.BL,0),"; @@ -160,7 +160,7 @@ public void TrainerComplexParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTrainerAndUsings(); string expectedTrainer = "LightGbm(new Options(){Booster=new TreeBooster(){},LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; var expectedUsings = "using Microsoft.ML.LightGBM;\r\n"; @@ -177,7 +177,7 @@ public void OneHotEncodingTest() var elementProperties = new Dictionary();//categorical PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "categorical_column_1" }, new string[] { "categorical_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"categorical_column_1\",\"categorical_column_1\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; @@ -192,7 +192,7 @@ public void NormalizingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1_copy" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Normalize(\"numeric_column_1_copy\",\"numeric_column_1\")"; string expectedUsings = null; @@ -207,7 +207,7 @@ public void ColumnConcatenatingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("ColumnConcatenating", PipelineNodeType.Transform, new string[] { "numeric_column_1", "numeric_column_2" }, new string[] { "Features" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Concatenate(\"Features\",new []{\"numeric_column_1\",\"numeric_column_2\"})"; string expectedUsings = null; @@ -222,7 +222,7 @@ public void ColumnCopyingTest() var elementProperties = new Dictionary();//nume to num feature 2 PipelineNode node = new PipelineNode("ColumnCopying", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_2" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "CopyColumns(\"numeric_column_2\",\"numeric_column_1\")"; string expectedUsings = null; @@ -237,7 +237,7 @@ public void MissingValueIndicatingTest() var elementProperties = new Dictionary();//numeric feature PipelineNode node = new PipelineNode("MissingValueIndicating", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "IndicateMissingValues(new []{(\"numeric_column_1\",\"numeric_column_1\")})"; string expectedUsings = null; @@ -252,7 +252,7 @@ public void OneHotHashEncodingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("OneHotHashEncoding", PipelineNodeType.Transform, new string[] { "Categorical_column_1" }, new string[] { "Categorical_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotHashEncoding(new []{new OneHotHashEncodingEstimator.ColumnInfo(\"Categorical_column_1\",\"Categorical_column_1\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; @@ -267,7 +267,7 @@ public void TextFeaturizingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("TextFeaturizing", PipelineNodeType.Transform, new string[] { "Text_column_1" }, new string[] { "Text_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Text.FeaturizeText(\"Text_column_1\",\"Text_column_1\")"; string expectedUsings = null; @@ -282,7 +282,7 @@ public void TypeConvertingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("TypeConverting", PipelineNodeType.Transform, new string[] { "I4_column_1" }, new string[] { "R4_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingTransformer.ColumnInfo(\"R4_column_1\",DataKind.R4,\"I4_column_1\")})"; string expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; @@ -297,7 +297,7 @@ public void ValueToKeyMappingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("ValueToKeyMapping", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - ConsoleCodeGenerator codeGenerator = new ConsoleCodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Conversion.MapValueToKey(\"Label\",\"Label\")"; var expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; diff --git a/src/mlnet.Test/CommandLineTests.cs b/src/mlnet.Test/CommandLineTests.cs index 805ddaa6fd..8f0ef8734b 100644 --- a/src/mlnet.Test/CommandLineTests.cs +++ b/src/mlnet.Test/CommandLineTests.cs @@ -2,7 +2,6 @@ using System.CommandLine.Invocation; using System.IO; using Microsoft.ML.Auto; -using Microsoft.ML.CLI; using Microsoft.ML.CLI.Commands; using Microsoft.VisualStudio.TestTools.UnitTesting; diff --git a/src/mlnet/CodeGenerator/Console/ConsoleCodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs similarity index 97% rename from src/mlnet/CodeGenerator/Console/ConsoleCodeGenerator.cs rename to src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index a6816accb9..7d6e689261 100644 --- a/src/mlnet/CodeGenerator/Console/ConsoleCodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -11,15 +11,15 @@ using Microsoft.ML.CLI.Templates.Console; using static Microsoft.ML.Data.TextLoader; -namespace Microsoft.ML.CLI.CodeGenerator.Console +namespace Microsoft.ML.CLI.CodeGenerator.CSharp { - internal class ConsoleCodeGenerator : IProjectGenerator + internal class CodeGenerator : IProjectGenerator { private readonly Pipeline pipeline; - private readonly ConsoleCodeGeneratorOptions options; + private readonly CodeGeneratorOptions options; private readonly (Arguments, IEnumerable<(string, ColumnPurpose)>) columnInferenceResult; - internal ConsoleCodeGenerator(Pipeline pipeline, (Arguments, IEnumerable<(string, ColumnPurpose)>) columnInferenceResult, ConsoleCodeGeneratorOptions options) + internal CodeGenerator(Pipeline pipeline, (Arguments, IEnumerable<(string, ColumnPurpose)>) columnInferenceResult, CodeGeneratorOptions options) { this.pipeline = pipeline; this.columnInferenceResult = columnInferenceResult; diff --git a/src/mlnet/CodeGenerator/Console/ConsoleCodeGeneratorOptions.cs b/src/mlnet/CodeGenerator/CSharp/CodeGeneratorOptions.cs similarity index 76% rename from src/mlnet/CodeGenerator/Console/ConsoleCodeGeneratorOptions.cs rename to src/mlnet/CodeGenerator/CSharp/CodeGeneratorOptions.cs index 4d991f8747..20ef91d141 100644 --- a/src/mlnet/CodeGenerator/Console/ConsoleCodeGeneratorOptions.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGeneratorOptions.cs @@ -1,9 +1,9 @@ using System.IO; using Microsoft.ML.Auto; -namespace Microsoft.ML.CLI.CodeGenerator.Console +namespace Microsoft.ML.CLI.CodeGenerator.CSharp { - internal class ConsoleCodeGeneratorOptions + internal class CodeGeneratorOptions { internal string OutputName { get; set; } diff --git a/src/mlnet/CodeGenerator/Console/Symbols.cs b/src/mlnet/CodeGenerator/CSharp/Symbols.cs similarity index 94% rename from src/mlnet/CodeGenerator/Console/Symbols.cs rename to src/mlnet/CodeGenerator/CSharp/Symbols.cs index 2faea869e3..de045e808f 100644 --- a/src/mlnet/CodeGenerator/Console/Symbols.cs +++ b/src/mlnet/CodeGenerator/CSharp/Symbols.cs @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -namespace Microsoft.ML.CLI.CodeGenerator.Console +namespace Microsoft.ML.CLI.CodeGenerator.CSharp { internal static class Symbols { diff --git a/src/mlnet/CodeGenerator/Console/TrainerGeneratorBase.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs similarity index 99% rename from src/mlnet/CodeGenerator/Console/TrainerGeneratorBase.cs rename to src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs index 4f9a74cc08..d072a6e74b 100644 --- a/src/mlnet/CodeGenerator/Console/TrainerGeneratorBase.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs @@ -8,7 +8,7 @@ using System.Text; using Microsoft.ML.Auto; -namespace Microsoft.ML.CLI.CodeGenerator.Console +namespace Microsoft.ML.CLI.CodeGenerator.CSharp { /// /// Supports generation of code for trainers (Binary,Multi,Regression) diff --git a/src/mlnet/CodeGenerator/Console/TrainerGeneratorFactory.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs similarity index 96% rename from src/mlnet/CodeGenerator/Console/TrainerGeneratorFactory.cs rename to src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs index 2d7f41ce95..4d9c421e7b 100644 --- a/src/mlnet/CodeGenerator/Console/TrainerGeneratorFactory.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs @@ -5,15 +5,16 @@ using System; using System.Linq; using Microsoft.ML.Auto; -using static Microsoft.ML.CLI.CodeGenerator.Console.TrainerGenerators; +using static Microsoft.ML.CLI.CodeGenerator.CSharp.TrainerGenerators; -namespace Microsoft.ML.CLI.CodeGenerator.Console +namespace Microsoft.ML.CLI.CodeGenerator.CSharp { internal interface ITrainerGenerator { string GenerateTrainer(); string GenerateUsings(); } + internal static class TrainerGeneratorFactory { internal static ITrainerGenerator GetInstance(Pipeline pipeline) diff --git a/src/mlnet/CodeGenerator/Console/TrainerGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs similarity index 99% rename from src/mlnet/CodeGenerator/Console/TrainerGenerators.cs rename to src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs index 2359f23224..1d6aa79e2f 100644 --- a/src/mlnet/CodeGenerator/Console/TrainerGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs @@ -5,7 +5,7 @@ using System.Collections.Generic; using Microsoft.ML.Auto; -namespace Microsoft.ML.CLI.CodeGenerator.Console +namespace Microsoft.ML.CLI.CodeGenerator.CSharp { internal static class TrainerGenerators { diff --git a/src/mlnet/CodeGenerator/Console/TransformGeneratorBase .cs b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase .cs similarity index 97% rename from src/mlnet/CodeGenerator/Console/TransformGeneratorBase .cs rename to src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase .cs index 8eb5b2626b..3498ae8461 100644 --- a/src/mlnet/CodeGenerator/Console/TransformGeneratorBase .cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase .cs @@ -4,7 +4,7 @@ using Microsoft.ML.Auto; -namespace Microsoft.ML.CLI.CodeGenerator.Console +namespace Microsoft.ML.CLI.CodeGenerator.CSharp { /// /// Supports generation of code for trainers (Binary,Multi,Regression) diff --git a/src/mlnet/CodeGenerator/Console/TransformGeneratorFactory.cs b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs similarity index 97% rename from src/mlnet/CodeGenerator/Console/TransformGeneratorFactory.cs rename to src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs index dc658402a4..e2339794a9 100644 --- a/src/mlnet/CodeGenerator/Console/TransformGeneratorFactory.cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs @@ -6,7 +6,7 @@ using Microsoft.ML.Auto; -namespace Microsoft.ML.CLI.CodeGenerator.Console +namespace Microsoft.ML.CLI.CodeGenerator.CSharp { internal interface ITransformGenerator { diff --git a/src/mlnet/CodeGenerator/Console/TransformGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs similarity index 99% rename from src/mlnet/CodeGenerator/Console/TransformGenerators.cs rename to src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs index e0fb419095..6306f06014 100644 --- a/src/mlnet/CodeGenerator/Console/TransformGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs @@ -7,7 +7,7 @@ using System.Text; using Microsoft.ML.Auto; -namespace Microsoft.ML.CLI.CodeGenerator.Console +namespace Microsoft.ML.CLI.CodeGenerator.CSharp { internal class Normalizer : TransformGeneratorBase { diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index 0d0cd3aac3..847c6edf82 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -7,7 +7,7 @@ using System.IO; using Microsoft.Data.DataView; using Microsoft.ML.Auto; -using Microsoft.ML.CLI.CodeGenerator.Console; +using Microsoft.ML.CLI.CodeGenerator.CSharp; using Microsoft.ML.CLI.Data; using Microsoft.ML.CLI.Utilities; using Microsoft.ML.Core.Data; @@ -85,10 +85,10 @@ internal void GenerateProject((TextLoader.Arguments TextLoaderArgs, IEnumerable< { //Generate code logger.Log(LogLevel.Info, Strings.GenerateProject); - var codeGenerator = new ConsoleCodeGenerator( + var codeGenerator = new CodeGenerator.CSharp.CodeGenerator( pipeline, columnInference, - new ConsoleCodeGeneratorOptions() + new CodeGeneratorOptions() { TrainDataset = options.TrainDataset, MlTask = options.MlTask, diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index a783998503..21a68ad7ce 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -25,18 +25,9 @@ public partial class MLCodeGen : MLCodeGenBase /// public virtual string TransformText() { - this.Write(@"/* This template shows the building blocks for training a machine learning model with ML.NET (https://aka.ms/mlnet). - * This model predicts whether a sentence has a positive or negative sentiment. It is based on a sample that can be - * found at https://aka.ms/mlnetsentimentanalysis, which provides a more detailed introduction to ML.NET and the scenario. */ - -using System; -using System.IO; -using System.Linq; -using Microsoft.ML; -using Microsoft.ML.Core.Data; -using Microsoft.ML.Data; -using Microsoft.Data.DataView; -"); + this.Write("\r\nusing System;\r\nusing System.IO;\r\nusing System.Linq;\r\nusing Microsoft.ML;\r\nusing" + + " Microsoft.ML.Core.Data;\r\nusing Microsoft.ML.Data;\r\nusing Microsoft.Data.DataVie" + + "w;\r\n"); this.Write(this.ToStringHelper.ToStringWithCulture(GeneratedUsings)); this.Write("\r\n\r\n\r\nnamespace "); this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); @@ -120,7 +111,31 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".Trainers."); this.Write(this.ToStringHelper.ToStringWithCulture(Trainer)); - this.Write(";\r\n\r\n // Train the model fitting to the DataSet\r\n"); + this.Write(";\r\n\r\n"); + if(string.IsNullOrEmpty(TestPath)){ + this.Write(@" + // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) + // in order to evaluate and get the model's accuracy metrics + Console.WriteLine(""=============== Cross-validating to get model's accuracy metrics ===============""); +"); +if("BinaryClassification".Equals(TaskType)){ + this.Write(" var crossValidationResults = mlContext."); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(".CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: "); + this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); + this.Write(", labelColumn:\"Label\");\r\n ConsoleHelper.PrintBinaryClassificationFolds" + + "AverageMetrics(trainer.ToString(), crossValidationResults);\r\n"); +} +if("Regression".Equals(TaskType)){ + this.Write(" var crossValidationResults = mlContext."); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(".CrossValidate(trainingDataView, trainingPipeline, numFolds: "); + this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); + this.Write(", labelColumn:\"Label\");\r\n ConsoleHelper.PrintRegressionFoldsAverageMet" + + "rics(trainer.ToString(), crossValidationResults);\r\n"); +} +} + this.Write("\r\n // Train the model fitting to the DataSet\r\n"); if(Transforms.Count >0 ) { this.Write(" var trainingPipeline = dataProcessPipeline.Append(trainer);\r\n " + " var trainedModel = trainingPipeline.Fit(trainingDataView);\r\n"); @@ -144,28 +159,6 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".Evaluate(predictions, \"Label\", \"Score\");\r\n ConsoleHelper.PrintRegress" + "ionMetrics(trainer.ToString(), metrics);\r\n"); -} - } else{ - this.Write(@" - // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) - // in order to evaluate and get the model's accuracy metrics - Console.WriteLine(""=============== Cross-validating to get model's accuracy metrics ===============""); -"); -if("BinaryClassification".Equals(TaskType)){ - this.Write(" var crossValidationResults = mlContext."); - this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); - this.Write(".CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: "); - this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); - this.Write(", labelColumn:\"Label\");\r\n ConsoleHelper.PrintBinaryClassificationFolds" + - "AverageMetrics(trainer.ToString(), crossValidationResults);\r\n"); -} -if("Regression".Equals(TaskType)){ - this.Write(" var crossValidationResults = mlContext."); - this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); - this.Write(".CrossValidate(trainingDataView, trainingPipeline, numFolds: "); - this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); - this.Write(", labelColumn:\"Label\");\r\n ConsoleHelper.PrintRegressionFoldsAverageMet" + - "rics(trainer.ToString(), crossValidationResults);\r\n"); } } this.Write(@" diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index 3cc06941f5..5797614d29 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -3,9 +3,6 @@ <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> <#@ import namespace="System.Collections.Generic" #> -/* This template shows the building blocks for training a machine learning model with ML.NET (https://aka.ms/mlnet). - * This model predicts whether a sentence has a positive or negative sentiment. It is based on a sample that can be - * found at https://aka.ms/mlnetsentimentanalysis, which provides a more detailed introduction to ML.NET and the scenario. */ using System; using System.IO; @@ -83,6 +80,20 @@ namespace <#= Namespace #> // Set the training algorithm, then create and config the modelBuilder var trainer = mlContext.<#= TaskType #>.Trainers.<#= Trainer #>; +<# if(string.IsNullOrEmpty(TestPath)){ #> + + // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) + // in order to evaluate and get the model's accuracy metrics + Console.WriteLine("=============== Cross-validating to get model's accuracy metrics ==============="); +<#if("BinaryClassification".Equals(TaskType)){ #> + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"Label"); + ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(trainer.ToString(), crossValidationResults); +<#}#><#if("Regression".Equals(TaskType)){ #> + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"Label"); + ConsoleHelper.PrintRegressionFoldsAverageMetrics(trainer.ToString(), crossValidationResults); +<#} +} #> + // Train the model fitting to the DataSet <# if(Transforms.Count >0 ) {#> var trainingPipeline = dataProcessPipeline.Append(trainer); @@ -103,18 +114,6 @@ else{#> var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "Label", "Score"); ConsoleHelper.PrintRegressionMetrics(trainer.ToString(), metrics); <#}#> -<# } else{ #> - - // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) - // in order to evaluate and get the model's accuracy metrics - Console.WriteLine("=============== Cross-validating to get model's accuracy metrics ==============="); -<#if("BinaryClassification".Equals(TaskType)){ #> - var crossValidationResults = mlContext.<#= TaskType #>.CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"Label"); - ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(trainer.ToString(), crossValidationResults); -<#}#><#if("Regression".Equals(TaskType)){ #> - var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"Label"); - ConsoleHelper.PrintRegressionFoldsAverageMetrics(trainer.ToString(), crossValidationResults); -<#}#> <# } #> // Save/persist the trained model to a .ZIP file From 1c1004bfe57f3eeee6bcc081ee65df9ae8dd134b Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 19 Feb 2019 12:16:33 -0800 Subject: [PATCH 081/211] Format the generated code + bunch of misc tasks (#152) * added formatting and minor changes for reordering cv * fixing the template * minor changes * formatting changes * fixed approval test * removed unused nuget * added missing value replacing * added test for new transform * fix test * Update src/mlnet/Templates/Console/MLCodeGen.cs Co-Authored-By: srsaggam <41802116+srsaggam@users.noreply.github.com> --- ...rTests.GeneratedTrainCodeTest.approved.txt | 80 +++++++++---------- src/mlnet.Test/CodeGenTests.cs | 15 ++++ .../CodeGenerator/CSharp/CodeGenerator.cs | 14 +++- .../CSharp/TransformGeneratorFactory.cs | 4 +- .../CSharp/TransformGenerators.cs | 36 +++++++++ src/mlnet/Templates/Console/MLCodeGen.cs | 23 +++--- src/mlnet/Templates/Console/MLCodeGen.tt | 19 ++--- src/mlnet/mlnet.csproj | 1 + 8 files changed, 123 insertions(+), 69 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt index 19da5696ec..b2a785cde1 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt @@ -9,7 +9,6 @@ using Microsoft.Data.DataView; using Microsoft.ML.LightGBM; - namespace MyNamespace { class Program @@ -41,30 +40,29 @@ namespace MyNamespace // Data loading IDataView trainingDataView = mlContext.Data.ReadFromTextFile( path: TrainDataPath, - hasHeader : true, - separatorChar : ',', - allowQuotedStrings : true, - trimWhitespace : false , - supportSparse : true); + hasHeader: true, + separatorChar: ',', + allowQuotedStrings: true, + trimWhitespace: false, + supportSparse: true); IDataView testDataView = mlContext.Data.ReadFromTextFile( path: TestDataPath, - hasHeader : true, - separatorChar : ',', - allowQuotedStrings : true, - trimWhitespace : false , - supportSparse : true); - - // Common data process configuration with pipeline data transformations + hasHeader: true, + separatorChar: ',', + allowQuotedStrings: true, + trimWhitespace: false, + supportSparse: true); - var dataProcessPipeline = mlContext.Transforms.Concatenate("Out",new []{"In"}); + // Common data process configuration with pipeline data transformations + var dataProcessPipeline = mlContext.Transforms.Concatenate("Out", new[] { "In" }); // Set the training algorithm, then create and config the modelBuilder - var trainer = mlContext.BinaryClassification.Trainers.LightGbm(new Options(){NumLeaves=2,Booster=new Options.TreeBooster.Arguments(){},LabelColumn="Label",FeatureColumn="Features"}); - + var trainer = mlContext.BinaryClassification.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Arguments() { }, LabelColumn = "Label", FeatureColumn = "Features" }); + var trainingPipeline = dataProcessPipeline.Append(trainer); // Train the model fitting to the DataSet - var trainingPipeline = dataProcessPipeline.Append(trainer); var trainedModel = trainingPipeline.Fit(trainingDataView); + // Evaluate the model and show accuracy stats Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); var predictions = trainedModel.Transform(testDataView); @@ -86,11 +84,11 @@ namespace MyNamespace //Load data to test. Could be any test data. For demonstration purpose train data is used here. IDataView trainingDataView = mlContext.Data.ReadFromTextFile( path: TrainDataPath, - hasHeader : true, - separatorChar : ',', - allowQuotedStrings : true, - trimWhitespace : false , - supportSparse : true); + hasHeader: true, + separatorChar: ',', + allowQuotedStrings: true, + trimWhitespace: false, + supportSparse: true); var sample = mlContext.CreateEnumerable(trainingDataView, false).First(); @@ -101,7 +99,7 @@ namespace MyNamespace } // Create prediction engine related to the loaded trained model - var predEngine= trainedModel.CreatePredictionEngine(mlContext); + var predEngine = trainedModel.CreatePredictionEngine(mlContext); //Score var resultprediction = predEngine.Predict(sample); @@ -115,29 +113,29 @@ namespace MyNamespace public class SampleObservation { - [ColumnName("Label"), LoadColumn(0)] - public bool Label{get; set;} - + [ColumnName("Label"), LoadColumn(0)] + public bool Label { get; set; } + + + [ColumnName("col1"), LoadColumn(1)] + public float Col1 { get; set; } + + + [ColumnName("col2"), LoadColumn(0)] + public float Col2 { get; set; } + + + [ColumnName("col3"), LoadColumn(0)] + public string Col3 { get; set; } - [ColumnName("col1"), LoadColumn(1)] - public float Col1{get; set;} - - [ColumnName("col2"), LoadColumn(0)] - public float Col2{get; set;} - + [ColumnName("col4"), LoadColumn(0)] + public int Col4 { get; set; } - [ColumnName("col3"), LoadColumn(0)] - public string Col3{get; set;} - - [ColumnName("col4"), LoadColumn(0)] - public int Col4{get; set;} - + [ColumnName("col5"), LoadColumn(0)] + public uint Col5 { get; set; } - [ColumnName("col5"), LoadColumn(0)] - public uint Col5{get; set;} - } diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index ce361bb064..d60c2ef785 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -170,6 +170,21 @@ public void TrainerComplexParameterTest() } #region Transform Tests + [TestMethod] + public void MissingValueReplacingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary();//categorical + PipelineNode node = new PipelineNode("MissingValueReplacing", PipelineNodeType.Transform, new string[] { "categorical_column_1" }, new string[] { "categorical_column_1" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + var actual = codeGenerator.GenerateTransformsAndUsings(); + var expectedTransform = "ReplaceMissingValues(new []{new MissingValueReplacingTransformer.ColumnInfo(\"categorical_column_1\",\"categorical_column_1\")})"; + string expectedUsings = "using Microsoft.ML.Transforms;\r\n"; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + [TestMethod] public void OneHotEncodingTest() { diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index 7d6e689261..2625b17295 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -7,6 +7,9 @@ using System.IO; using System.Linq; using System.Text; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.Formatting; using Microsoft.ML.Auto; using Microsoft.ML.CLI.Templates.Console; using static Microsoft.ML.Data.TextLoader; @@ -50,15 +53,18 @@ public void GenerateOutput() var namespaceValue = Normalize(options.OutputName); // Generate code for training and scoring - var trainScoreCode = GenerateTrainCode(usings, trainer, transforms, columns, classLabels, namespaceValue); + var trainFileContent = GenerateTrainCode(usings, trainer, transforms, columns, classLabels, namespaceValue); + var tree = CSharpSyntaxTree.ParseText(trainFileContent); + var syntaxNode = tree.GetRoot(); + trainFileContent = Formatter.Format(syntaxNode, new AdhocWorkspace()).ToFullString(); // Generate csproj - var projectSourceCode = GeneratProjectCode(); + var projectFileContent = GeneratProjectCode(); // Generate Helper class - var consoleHelperCode = GenerateConsoleHelper(namespaceValue); + var consoleHelperFileContent = GenerateConsoleHelper(namespaceValue); - return (trainScoreCode, projectSourceCode, consoleHelperCode); + return (trainFileContent, projectFileContent, consoleHelperFileContent); } internal void WriteOutputToFiles(string trainScoreCode, string projectSourceCode, string consoleHelperCode) diff --git a/src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs index e2339794a9..d5c3e39936 100644 --- a/src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs @@ -39,7 +39,9 @@ internal static ITransformGenerator GetInstance(PipelineNode node) case EstimatorName.MissingValueIndicating: result = new MissingValueIndicator(node); break; - //todo : add missing value replacing too. + case EstimatorName.MissingValueReplacing: + result = new MissingValueReplacer(node); + break; case EstimatorName.OneHotHashEncoding: result = new OneHotHashEncoding(node); break; diff --git a/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs index 6306f06014..4bb40282ae 100644 --- a/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs @@ -162,6 +162,42 @@ public override string GenerateTransformer() } } + internal class MissingValueReplacer : TransformGeneratorBase + { + public MissingValueReplacer(PipelineNode node) : base(node) + { + } + + internal override string MethodName => "ReplaceMissingValues"; + + private string ArgumentsName = "MissingValueReplacingTransformer.ColumnInfo"; + internal override string Usings => "using Microsoft.ML.Transforms;\r\n"; + + public override string GenerateTransformer() + { + StringBuilder sb = new StringBuilder(); + sb.Append(MethodName); + sb.Append("("); + sb.Append("new []{"); + for (int i = 0; i < inputColumns.Length; i++) + { + sb.Append("new "); + sb.Append(ArgumentsName); + sb.Append("("); + sb.Append(outputColumns[i]); + sb.Append(","); + sb.Append(inputColumns[i]); + sb.Append(")"); + sb.Append(","); + } + sb.Remove(sb.Length - 1, 1); // remove extra , + + sb.Append("}"); + sb.Append(")"); + return sb.ToString(); + } + } + internal class OneHotHashEncoding : TransformGeneratorBase { public OneHotHashEncoding(PipelineNode node) : base(node) diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index 21a68ad7ce..d145f39c57 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -29,7 +29,7 @@ public virtual string TransformText() " Microsoft.ML.Core.Data;\r\nusing Microsoft.ML.Data;\r\nusing Microsoft.Data.DataVie" + "w;\r\n"); this.Write(this.ToStringHelper.ToStringWithCulture(GeneratedUsings)); - this.Write("\r\n\r\n\r\nnamespace "); + this.Write("\r\n\r\nnamespace "); this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); this.Write("\r\n{\r\n class Program\r\n {\r\n private static string TrainDataPath = @\""); this.Write(this.ToStringHelper.ToStringWithCulture(Path)); @@ -93,7 +93,7 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) this.Write("\r\n"); if(Transforms.Count >0 ) { this.Write(" // Common data process configuration with pipeline data transformatio" + - "ns \r\n\r\n var dataProcessPipeline = "); + "ns\r\n var dataProcessPipeline = "); for(int i=0;i0) @@ -111,7 +111,13 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".Trainers."); this.Write(this.ToStringHelper.ToStringWithCulture(Trainer)); - this.Write(";\r\n\r\n"); + this.Write(";\r\n"); + if (Transforms.Count > 0) { + this.Write(" var trainingPipeline = dataProcessPipeline.Append(trainer);\r\n"); + } +else{ + this.Write(" var trainingPipeline = trainer;\r\n"); +} if(string.IsNullOrEmpty(TestPath)){ this.Write(@" // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) @@ -135,15 +141,8 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) "rics(trainer.ToString(), crossValidationResults);\r\n"); } } - this.Write("\r\n // Train the model fitting to the DataSet\r\n"); - if(Transforms.Count >0 ) { - this.Write(" var trainingPipeline = dataProcessPipeline.Append(trainer);\r\n " + - " var trainedModel = trainingPipeline.Fit(trainingDataView);\r\n"); - } -else{ - this.Write(" var trainingPipeline = trainer;\r\n var trainedModel = train" + - "ingPipeline.Fit(trainingDataView);\r\n"); -} + this.Write("\r\n // Train the model fitting to the DataSet\r\n var trainedM" + + "odel = trainingPipeline.Fit(trainingDataView);\r\n\r\n"); if(!string.IsNullOrEmpty(TestPath)){ this.Write(" // Evaluate the model and show accuracy stats\r\n Console.Wr" + "iteLine(\"===== Evaluating Model\'s accuracy with Test data =====\");\r\n " + diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index 5797614d29..78c6fe7f56 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -13,7 +13,6 @@ using Microsoft.ML.Data; using Microsoft.Data.DataView; <#= GeneratedUsings #> - namespace <#= Namespace #> { class Program @@ -63,8 +62,7 @@ namespace <#= Namespace #> <# } #> <# if(Transforms.Count >0 ) {#> - // Common data process configuration with pipeline data transformations - + // Common data process configuration with pipeline data transformations var dataProcessPipeline = <# for(int i=0;i0) @@ -79,7 +77,12 @@ namespace <#= Namespace #> // Set the training algorithm, then create and config the modelBuilder var trainer = mlContext.<#= TaskType #>.Trainers.<#= Trainer #>; - +<# if(Transforms.Count >0 ) {#> + var trainingPipeline = dataProcessPipeline.Append(trainer); +<# } +else{#> + var trainingPipeline = trainer; +<#}#> <# if(string.IsNullOrEmpty(TestPath)){ #> // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) @@ -95,14 +98,8 @@ namespace <#= Namespace #> } #> // Train the model fitting to the DataSet -<# if(Transforms.Count >0 ) {#> - var trainingPipeline = dataProcessPipeline.Append(trainer); - var trainedModel = trainingPipeline.Fit(trainingDataView); -<# } -else{#> - var trainingPipeline = trainer; var trainedModel = trainingPipeline.Fit(trainingDataView); -<#}#> + <# if(!string.IsNullOrEmpty(TestPath)){ #> // Evaluate the model and show accuracy stats Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index d939bd8f4d..7801b22f65 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -11,6 +11,7 @@ + From 9fa97a3db0ec4009798e5b9c177cbc5eabb29cc4 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 19 Feb 2019 16:50:22 -0800 Subject: [PATCH 082/211] Sanitize the column names in CLI (#162) * added sanitization layer in CLI * fix test * changed exception.StackTrace to exception.ToString() --- .../ColumnInference/ColumnTypeInference.cs | 13 ++++--------- src/Test/ColumnInferenceTests.cs | 4 ++-- src/mlnet/Commands/New/NewCommandHandler.cs | 9 ++++++++- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs index c6154c09aa..c4bc41697d 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs @@ -76,7 +76,8 @@ public IntermediateColumn(ReadOnlyMemory[] data, int columnId) public bool HasAllBooleanValues() { if (this.RawData.Skip(1) - .All(x => { + .All(x => + { bool value; // (note: Conversions.TryParse parses an empty string as a Boolean) return !string.IsNullOrEmpty(x.ToString()) && @@ -358,7 +359,7 @@ private static InferenceResult InferTextFileColumnTypesCore(MLContext env, IMult var labelColumn = GetAndValidateLabelColumn(args, cols); // if label column has all Boolean values, set its type as Boolean - if(labelColumn.HasAllBooleanValues()) + if (labelColumn.HasAllBooleanValues()) { labelColumn.SuggestedType = BoolType.Instance; } @@ -371,13 +372,7 @@ private static InferenceResult InferTextFileColumnTypesCore(MLContext env, IMult private static string SuggestName(IntermediateColumn column, bool hasHeader) { var header = column.RawData[0].ToString(); - return (hasHeader && !string.IsNullOrWhiteSpace(header)) ? Sanitize(header) : string.Format("col{0}", column.ColumnId); - } - - private static string Sanitize(string header) - { - // replace all non-letters and non-digits with '_'. - return string.Join("", header.Select(x => Char.IsLetterOrDigit(x) ? x : '_')); + return (hasHeader && !string.IsNullOrWhiteSpace(header)) ? header : string.Format("col{0}", column.ColumnId); } private static IntermediateColumn GetAndValidateLabelColumn(Arguments args, IntermediateColumn[] cols) diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index b681d3bc08..26cc93a179 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -44,10 +44,10 @@ public void InferColumnsLabelIndex() var result = new MLContext().Data.InferColumns(DatasetUtil.DownloadUciAdultDataset(), 14, hasHeader: true); Assert.AreEqual(true, result.TextLoaderArgs.HasHeader); var labelCol = result.TextLoaderArgs.Column.First(c => c.Source[0].Min == 14 && c.Source[0].Max == 14); - Assert.AreEqual("hours_per_week", labelCol.Name); + Assert.AreEqual("hours-per-week", labelCol.Name); var labelPurposes = result.ColumnPurpopses.Where(c => c.Purpose == ColumnPurpose.Label); Assert.AreEqual(1, labelPurposes.Count()); - Assert.AreEqual("hours_per_week", labelPurposes.First().Name); + Assert.AreEqual("hours-per-week", labelPurposes.First().Name); } [TestMethod] diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index 847c6edf82..a86436b78a 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.Linq; using Microsoft.Data.DataView; using Microsoft.ML.Auto; using Microsoft.ML.CLI.CodeGenerator.CSharp; @@ -32,6 +33,8 @@ public void Execute() // Infer columns (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) columnInference = InferColumns(context); + Array.ForEach(columnInference.TextLoaderArgs.Column, t => t.Name = Sanitize(t.Name)); + // Load data (IDataView trainData, IDataView validationData) = LoadData(context, columnInference.TextLoaderArgs); @@ -45,7 +48,7 @@ public void Execute() catch (Exception e) { logger.Log(LogLevel.Error, $"{Strings.ExplorePipelineException}:"); - logger.Log(LogLevel.Error, e.StackTrace); + logger.Log(LogLevel.Error, e.ToString()); logger.Log(LogLevel.Error, Strings.Exiting); return; } @@ -157,5 +160,9 @@ internal static void SaveModel(ITransformer model, string ModelPath, string mode model.SaveTo(mlContext, fs); } + private static string Sanitize(string name) + { + return string.Join("", name.Select(x => Char.IsLetterOrDigit(x) ? x : '_')); + } } } From 7605bf02a69fcd13aa323d865a750b90cbb2af03 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 19 Feb 2019 17:39:19 -0800 Subject: [PATCH 083/211] fix package name (#168) --- src/mlnet/mlnet.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index 7801b22f65..3cc78a828e 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -6,8 +6,8 @@ true Microsoft.ML.CLI mlnet - mlgen - mlgen + mlnet + mlnet From 1adfbc74e73477fbe1ffc139f11a184e142bf24b Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Tue, 19 Feb 2019 18:13:22 -0800 Subject: [PATCH 084/211] Rev public API (#163) --- src/Microsoft.ML.Auto/API/AutoFitSettings.cs | 85 ------------ .../API/AutoInferenceCatalog.cs | 69 ++++++++++ .../API/BinaryClassificationExperiment.cs | 83 ++++++++++++ .../API/BinaryClassificationExtension.cs | 87 ------------- src/Microsoft.ML.Auto/API/ColumnInference.cs | 27 ++++ src/Microsoft.ML.Auto/API/DataExtensions.cs | 30 ----- .../API/ExperimentSettings.cs | 18 +++ .../API/MLContextExtension.cs | 16 +++ .../API/MultiClassClassificationExtension.cs | 86 ------------ .../API/MulticlassClassificationExperiment.cs | 83 ++++++++++++ .../API/RegressionExperiment.cs | 86 ++++++++++++ .../API/RegressionExtensions.cs | 86 ------------ .../API/{AutoFitRunResult.cs => RunResult.cs} | 4 +- .../APINew/MLContextExtension.cs | 122 ------------------ .../AutoFitter/AutoFitter.cs | 61 ++++----- .../AutoFitter/RecipeInference.cs | 7 +- .../AutoFitter/SuggestedPipelineResult.cs | 4 +- src/Microsoft.ML.Auto/AutoMlUtils.cs | 4 +- .../ColumnInference/ColumnInferenceApi.cs | 19 ++- .../ColumnInference/ColumnInformationUtil.cs | 100 ++++++++++++++ .../ColumnInference/ColumnPurpose.cs | 2 +- .../ColumnInference/PurposeInference.cs | 22 ++-- .../PipelineSuggesters/PipelineSuggester.cs | 6 +- .../TrainerExtensionCatalog.cs | 93 +++---------- .../Utils/UserInputValidationUtil.cs | 7 +- src/Samples/AutoTrainBinaryClassification.cs | 15 ++- .../AutoTrainMulticlassClassification.cs | 14 +- src/Samples/AutoTrainRegression.cs | 14 +- src/Samples/Cancellation.cs | 31 +++-- src/Samples/ProgressHandler.cs | 28 ++-- src/Test/AutoFitTests.cs | 45 ++----- src/Test/ColumnInferenceTests.cs | 46 +++---- src/Test/DatasetUtil.cs | 2 +- src/Test/GetNextPipelineTests.cs | 10 +- src/Test/PurposeInferenceTests.cs | 2 +- .../NameColumnIsOnlyFeatureDataset.txt | 2 +- src/Test/TrainerExtensionsTests.cs | 21 --- src/Test/UserInputValidationTests.cs | 4 +- .../ConsoleCodeGeneratorTests.cs | 15 ++- src/mlnet.Test/CodeGenTests.cs | 77 ++++++----- src/mlnet.Test/DatasetUtil.cs | 2 +- .../CodeGenerator/CSharp/CodeGenerator.cs | 18 +-- src/mlnet/Commands/New/NewCommandHandler.cs | 27 ++-- src/mlnet/Utilities/ProgressHandlers.cs | 8 +- 44 files changed, 760 insertions(+), 828 deletions(-) delete mode 100644 src/Microsoft.ML.Auto/API/AutoFitSettings.cs create mode 100644 src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs create mode 100644 src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs delete mode 100644 src/Microsoft.ML.Auto/API/BinaryClassificationExtension.cs create mode 100644 src/Microsoft.ML.Auto/API/ColumnInference.cs delete mode 100644 src/Microsoft.ML.Auto/API/DataExtensions.cs create mode 100644 src/Microsoft.ML.Auto/API/ExperimentSettings.cs create mode 100644 src/Microsoft.ML.Auto/API/MLContextExtension.cs delete mode 100644 src/Microsoft.ML.Auto/API/MultiClassClassificationExtension.cs create mode 100644 src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs create mode 100644 src/Microsoft.ML.Auto/API/RegressionExperiment.cs delete mode 100644 src/Microsoft.ML.Auto/API/RegressionExtensions.cs rename src/Microsoft.ML.Auto/API/{AutoFitRunResult.cs => RunResult.cs} (94%) delete mode 100644 src/Microsoft.ML.Auto/APINew/MLContextExtension.cs create mode 100644 src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs diff --git a/src/Microsoft.ML.Auto/API/AutoFitSettings.cs b/src/Microsoft.ML.Auto/API/AutoFitSettings.cs deleted file mode 100644 index 4123dbb9a7..0000000000 --- a/src/Microsoft.ML.Auto/API/AutoFitSettings.cs +++ /dev/null @@ -1,85 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System.Collections.Generic; -using System.Diagnostics; - -namespace Microsoft.ML.Auto -{ - internal static class AutoFitDefaults - { - public const uint TimeoutInSeconds = 60 * 60; - public const uint MaxIterations = 1000; - } - - internal class AutoFitSettings - { - // All the following settings only capture the surface area of capabilities we want to ship in future. - // However, most certainly they will not ship using following types and structures - // These should remain internal until we have rationalized - - public ExperimentStoppingCriteria StoppingCriteria = new ExperimentStoppingCriteria(); - internal IterationStoppingCriteria IterationStoppingCriteria; - internal Concurrency Concurrency; - internal Filters Filters; - internal CrossValidationSettings CrossValidationSettings; - internal OptimizingMetric OptimizingMetric; - internal bool DisableEnsembling; - internal bool CaclculateModelExplainability; - internal bool DisableFeaturization; - - internal bool DisableSubSampling; - internal bool DisableCaching; - internal bool ExternalizeTraining; - internal TraceLevel TraceLevel; - } - - internal class ExperimentStoppingCriteria - { - public uint TimeoutInSeconds = AutoFitDefaults.TimeoutInSeconds; - public uint MaxIterations = AutoFitDefaults.MaxIterations; - internal bool StopAfterConverging; - internal double ExperimentExitScore; - } - - internal class Filters - { - internal IEnumerable WhitelistTrainers; - internal IEnumerable BlackListTrainers; - internal IEnumerable WhitelistTransformers; - internal IEnumerable BlacklistTransformers; - internal uint? Explainability; - internal uint? InferenceSpeed; - internal uint? DeploymentSize; - internal uint? TrainingMemorySize; - internal bool? GpuTraining; - } - - internal class IterationStoppingCriteria - { - internal int TimeOutInSeconds; - internal bool TerminateOnLowAccuracy; - } - - internal class Concurrency - { - internal int MaxConcurrentIterations; - internal int MaxCoresPerIteration; - } - - internal enum Trainers - { - } - - internal enum Transformers - { - } - - internal class CrossValidationSettings - { - internal int NumberOfFolds; - internal int ValidationSizePercentage; - internal IEnumerable StratificationColumnNames; - } -} diff --git a/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs b/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs new file mode 100644 index 0000000000..6a9d476565 --- /dev/null +++ b/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs @@ -0,0 +1,69 @@ +// Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.Auto +{ + public class AutoInferenceCatalog + { + private readonly MLContext _context; + + internal AutoInferenceCatalog(MLContext context) + { + _context = context; + } + + public RegressionExperiment CreateRegressionExperiment(uint maxInferenceTimeInSeconds) + { + return new RegressionExperiment(_context, new RegressionExperimentSettings() + { + MaxInferenceTimeInSeconds = maxInferenceTimeInSeconds + }); + } + + public RegressionExperiment CreateRegressionExperiment(RegressionExperimentSettings experimentSettings) + { + return new RegressionExperiment(_context, experimentSettings); + } + + public BinaryClassificationExperiment CreateBinaryClassificationExperiment(uint maxInferenceTimeInSeconds) + { + return new BinaryClassificationExperiment(_context, new BinaryExperimentSettings() + { + MaxInferenceTimeInSeconds = maxInferenceTimeInSeconds + }); + } + + public BinaryClassificationExperiment CreateBinaryClassificationExperiment(BinaryExperimentSettings experimentSettings) + { + return new BinaryClassificationExperiment(_context, experimentSettings); + } + + public MulticlassClassificationExperiment CreateMulticlassClassificationExperiment(uint maxInferenceTimeInSeconds) + { + return new MulticlassClassificationExperiment(_context, new MulticlassExperimentSettings() + { + MaxInferenceTimeInSeconds = maxInferenceTimeInSeconds + }); + } + + public MulticlassClassificationExperiment CreateMulticlassClassificationExperiment(MulticlassExperimentSettings experimentSettings) + { + return new MulticlassClassificationExperiment(_context, experimentSettings); + } + + public ColumnInferenceResults InferColumns(string path, string label,char? separatorChar = null, bool? allowQuotedStrings = null, + bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) + { + //UserInputValidationUtil.ValidateInferColumnsArgs(path, label); + return ColumnInferenceApi.InferColumns(_context, path, label, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); + } + + public ColumnInferenceResults InferColumns(string path, uint labelColumnIndex, bool hasHeader = false, char? separatorChar = null, + bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) + { + //UserInputValidationUtil.ValidateInferColumnsArgs(path); + return ColumnInferenceApi.InferColumns(_context, path, labelColumnIndex, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); + } + } +} diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs new file mode 100644 index 0000000000..bb5688fb5a --- /dev/null +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -0,0 +1,83 @@ +// Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.Data.DataView; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + public class BinaryExperimentSettings : ExperimentSettings + { + public IProgress> ProgressCallback; + public BinaryClassificationMetric OptimizingMetric; + public BinaryClassificationTrainer[] WhitelistedTrainers; + } + + public enum BinaryClassificationMetric + { + Accuracy + } + + public enum BinaryClassificationTrainer + { + LightGbm + } + + public class BinaryClassificationExperiment + { + private readonly MLContext _context; + private readonly BinaryExperimentSettings _settings; + + internal BinaryClassificationExperiment(MLContext context, BinaryExperimentSettings settings) + { + _context = context; + _settings = settings; + } + + public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + { + return Execute(_context, trainData, columnInformation, null, preFeaturizers); + } + + public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + { + return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); + } + + internal RunResult Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + { + throw new NotImplementedException(); + } + + internal IEnumerable> Execute(MLContext context, + IDataView trainData, + ColumnInformation columnInfo, + IDataView validationData = null, + IEstimator preFeaturizers = null) + { + columnInfo = columnInfo ?? new ColumnInformation(); + //UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColunName, validationData, settings, columnPurposes) + + // run autofit & get all pipelines run in that process + var autoFitter = new AutoFitter(context, TaskKind.BinaryClassification, trainData, columnInfo, + validationData, preFeaturizers, OptimizingMetric.Accuracy, _settings?.ProgressCallback, + _settings); + + return autoFitter.Fit(); + } + } + + public static class BinaryExperimentResultExtensions + { + public static RunResult Best(this IEnumerable> results) + { + double maxScore = results.Select(r => r.Metrics.Accuracy).Max(); + return results.First(r => r.Metrics.Accuracy == maxScore); + } + } +} diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExtension.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExtension.cs deleted file mode 100644 index f77cf7c87f..0000000000 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExtension.cs +++ /dev/null @@ -1,87 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using Microsoft.Data.DataView; -using Microsoft.ML.Core.Data; -using Microsoft.ML.Data; - -namespace Microsoft.ML.Auto -{ - public class AutoFitBinaryClassificationOptions - { - public IDataView TrainData; - public string LabelColumnName = DefaultColumnNames.Label; - public IDataView ValidationData; - public uint TimeoutInSeconds = AutoFitDefaults.TimeoutInSeconds; - public CancellationToken CancellationToken = default; - public IProgress> ProgressCallback; - public IEstimator PreFeaturizers; - public IEnumerable<(string, ColumnPurpose)> ColumnPurposes; - } - - public static class BinaryClassificationExtensions - { - public static List> AutoFit(this BinaryClassificationCatalog catalog, - IDataView trainData, - string labelColumnName = DefaultColumnNames.Label, - IDataView validationData = null, - uint timeoutInSeconds = AutoFitDefaults.TimeoutInSeconds, - CancellationToken cancellationToken = default, - IProgress> progressCallback = null) - { - var settings = new AutoFitSettings(); - settings.StoppingCriteria.TimeoutInSeconds = timeoutInSeconds; - - return AutoFit(catalog, trainData, labelColumnName, validationData, settings, - null, null, cancellationToken, progressCallback, null); - } - - public static List> AutoFit(this BinaryClassificationCatalog catalog, - AutoFitBinaryClassificationOptions options) - { - var settings = new AutoFitSettings(); - settings.StoppingCriteria.TimeoutInSeconds = options.TimeoutInSeconds; - - return AutoFit(catalog, options.TrainData, options.LabelColumnName, options.ValidationData, settings, - options.PreFeaturizers, options.ColumnPurposes, options.CancellationToken, options.ProgressCallback, null); - } - - internal static List> AutoFit(this BinaryClassificationCatalog catalog, - IDataView trainData, - string labelColumnName = DefaultColumnNames.Label, - IDataView validationData = null, - AutoFitSettings settings = null, - IEstimator preFeaturizers = null, - IEnumerable<(string, ColumnPurpose)> columnPurposes = null, - CancellationToken cancellationToken = default, - IProgress> progressCallback = null, - IDebugLogger debugLogger = null) - { - UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColumnName, validationData, settings, columnPurposes); - - if (validationData == null) - { - (trainData, validationData) = catalog.TestValidateSplit(trainData); - } - - // run autofit & get all pipelines run in that process - var autoFitter = new AutoFitter(TaskKind.BinaryClassification, trainData, labelColumnName, validationData, - settings, preFeaturizers, columnPurposes, - OptimizingMetric.RSquared, cancellationToken, progressCallback, debugLogger); - - return autoFitter.Fit(); - } - - public static AutoFitRunResult Best(this IEnumerable> results) - { - double maxScore = results.Select(r => r.Metrics.Accuracy).Max(); - return results.First(r => r.Metrics.Accuracy == maxScore); - } - } - -} diff --git a/src/Microsoft.ML.Auto/API/ColumnInference.cs b/src/Microsoft.ML.Auto/API/ColumnInference.cs new file mode 100644 index 0000000000..f07c1df7c7 --- /dev/null +++ b/src/Microsoft.ML.Auto/API/ColumnInference.cs @@ -0,0 +1,27 @@ +// Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + public class ColumnInferenceResults + { + public TextLoader.Arguments TextLoaderArgs { get; set; } + public ColumnInformation ColumnInformation { get; set; } + } + + public class ColumnInformation + { + public string LabelColumn = DefaultColumnNames.Label; + public string NameColumn = DefaultColumnNames.Name; + public string GroupIdColumn = DefaultColumnNames.GroupId; + public string WeightColumn = DefaultColumnNames.Weight; + public IEnumerable CategoricalColumns { get; set; } + public IEnumerable NumericColumns { get; set; } + public IEnumerable TextColumns { get; set; } + public IEnumerable IgnoredColumns { get; set; } + } +} diff --git a/src/Microsoft.ML.Auto/API/DataExtensions.cs b/src/Microsoft.ML.Auto/API/DataExtensions.cs deleted file mode 100644 index 92ee81de19..0000000000 --- a/src/Microsoft.ML.Auto/API/DataExtensions.cs +++ /dev/null @@ -1,30 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System.Collections.Generic; -using Microsoft.ML.Data; - -namespace Microsoft.ML.Auto -{ - public static class DataExtensions - { - // Delimiter, header, column datatype inference - public static (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) InferColumns(this DataOperationsCatalog catalog, string path, string label, - char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) - { - UserInputValidationUtil.ValidateInferColumnsArgs(path, label); - var mlContext = new MLContext(); - return ColumnInferenceApi.InferColumns(mlContext, path, label, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); - } - - public static (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) InferColumns(this DataOperationsCatalog catalog, string path, uint labelColumnIndex, - bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, - bool trimWhitespace = false, bool groupColumns = true) - { - UserInputValidationUtil.ValidateInferColumnsArgs(path); - var mlContext = new MLContext(); - return ColumnInferenceApi.InferColumns(mlContext, path, labelColumnIndex, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); - } - } -} diff --git a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs new file mode 100644 index 0000000000..5100ec054e --- /dev/null +++ b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs @@ -0,0 +1,18 @@ +// Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Threading; + +namespace Microsoft.ML.Auto +{ + public class ExperimentSettings + { + public uint MaxInferenceTimeInSeconds = 24 * 60 * 60; + public bool EnableCaching; + public CancellationToken CancellationToken; + + internal int MaxModels = int.MaxValue; + internal IDebugLogger DebugLogger; + } +} diff --git a/src/Microsoft.ML.Auto/API/MLContextExtension.cs b/src/Microsoft.ML.Auto/API/MLContextExtension.cs new file mode 100644 index 0000000000..3bcc9f9905 --- /dev/null +++ b/src/Microsoft.ML.Auto/API/MLContextExtension.cs @@ -0,0 +1,16 @@ +// Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Threading; + +namespace Microsoft.ML.Auto +{ + public static class MLContextExtension + { + public static AutoInferenceCatalog AutoInference(this MLContext mlContext) + { + return new AutoInferenceCatalog(mlContext); + } + } +} diff --git a/src/Microsoft.ML.Auto/API/MultiClassClassificationExtension.cs b/src/Microsoft.ML.Auto/API/MultiClassClassificationExtension.cs deleted file mode 100644 index 054bf1edf1..0000000000 --- a/src/Microsoft.ML.Auto/API/MultiClassClassificationExtension.cs +++ /dev/null @@ -1,86 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using Microsoft.Data.DataView; -using Microsoft.ML.Core.Data; -using Microsoft.ML.Data; - -namespace Microsoft.ML.Auto -{ - public class AutoFitMultiClassClassificationOptions - { - public IDataView TrainData; - public string LabelColumnName = DefaultColumnNames.Label; - public IDataView ValidationData; - public uint TimeoutInSeconds = AutoFitDefaults.TimeoutInSeconds; - public CancellationToken CancellationToken = default; - public IProgress> ProgressCallback; - public IEstimator PreFeaturizers; - public IEnumerable<(string, ColumnPurpose)> ColumnPurposes; - } - - public static class MulticlassExtensions - { - public static List> AutoFit(this MulticlassClassificationCatalog catalog, - IDataView trainData, - string labelColumnName = DefaultColumnNames.Label, - IDataView validationData = null, - uint timeoutInSeconds = AutoFitDefaults.TimeoutInSeconds, - CancellationToken cancellationToken = default, - IProgress> progressCallback = null) - { - var settings = new AutoFitSettings(); - settings.StoppingCriteria.TimeoutInSeconds = timeoutInSeconds; - - return AutoFit(catalog, trainData, labelColumnName, validationData, settings, - null, null, cancellationToken, progressCallback, null); - } - - public static List> AutoFit(this MulticlassClassificationCatalog catalog, - AutoFitMultiClassClassificationOptions options) - { - var settings = new AutoFitSettings(); - settings.StoppingCriteria.TimeoutInSeconds = options.TimeoutInSeconds; - - return AutoFit(catalog, options.TrainData, options.LabelColumnName, options.ValidationData, settings, - options.PreFeaturizers, options.ColumnPurposes, options.CancellationToken, options.ProgressCallback, null); - } - - internal static List> AutoFit(this MulticlassClassificationCatalog catalog, - IDataView trainData, - string labelColumnName = DefaultColumnNames.Label, - IDataView validationData = null, - AutoFitSettings settings = null, - IEstimator preFeaturizers = null, - IEnumerable<(string, ColumnPurpose)> columnPurposes = null, - CancellationToken cancellationToken = default, - IProgress> progressCallback = null, - IDebugLogger debugLogger = null) - { - UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColumnName, validationData, settings, columnPurposes); - - if (validationData == null) - { - (trainData, validationData) = catalog.TestValidateSplit(trainData); - } - - // run autofit & get all pipelines run in that process - var autoFitter = new AutoFitter(TaskKind.MulticlassClassification, trainData, labelColumnName, validationData, - settings, preFeaturizers, columnPurposes, OptimizingMetric.AccuracyMacro, cancellationToken, progressCallback, debugLogger); - return autoFitter.Fit(); - } - - public static AutoFitRunResult Best(this IEnumerable> results) - { - double maxScore = results.Select(r => r.Metrics.AccuracyMacro).Max(); - return results.First(r => r.Metrics.AccuracyMacro == maxScore); - } - } - -} - diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs new file mode 100644 index 0000000000..126b37a6b2 --- /dev/null +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -0,0 +1,83 @@ +// Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.Data.DataView; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + public class MulticlassExperimentSettings : ExperimentSettings + { + public IProgress> ProgressCallback; + public MulticlassClassificationMetric OptimizingMetric; + public MulticlassClassificationTrainer[] WhitelistedTrainers; + } + + public enum MulticlassClassificationMetric + { + Accuracy + } + + public enum MulticlassClassificationTrainer + { + LightGbm + } + + public class MulticlassClassificationExperiment + { + private readonly MLContext _context; + private readonly MulticlassExperimentSettings _settings; + + internal MulticlassClassificationExperiment(MLContext context, MulticlassExperimentSettings settings) + { + _context = context; + _settings = settings; + } + + public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + { + return Execute(_context, trainData, columnInformation, null, preFeaturizers); + } + + public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + { + return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); + } + + internal RunResult Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + { + throw new NotImplementedException(); + } + + internal IEnumerable> Execute(MLContext context, + IDataView trainData, + ColumnInformation columnInfo, + IDataView validationData = null, + IEstimator preFeaturizers = null) + { + columnInfo = columnInfo ?? new ColumnInformation(); + //UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColunName, validationData, settings, columnPurposes) + + // run autofit & get all pipelines run in that process + var autoFitter = new AutoFitter(context, TaskKind.MulticlassClassification, trainData, + columnInfo, validationData, preFeaturizers, OptimizingMetric.Accuracy, + _settings?.ProgressCallback, _settings); + + return autoFitter.Fit(); + } + } + + public static class MulticlassExperimentResultExtensions + { + public static RunResult Best(this IEnumerable> results) + { + double maxScore = results.Select(r => r.Metrics.AccuracyMicro).Max(); + return results.First(r => r.Metrics.AccuracyMicro == maxScore); + } + } +} diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs new file mode 100644 index 0000000000..5886c383a7 --- /dev/null +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -0,0 +1,86 @@ +// Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.Data.DataView; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + public class RegressionExperimentSettings : ExperimentSettings + { + public IProgress> ProgressCallback; + public RegressionMetric OptimizingMetric; + public RegressionTrainer[] WhitelistedTrainers; + } + + public enum RegressionMetric + { + L1, + L2, + Rms, + RSquared + } + + public enum RegressionTrainer + { + LightGbm + } + + public class RegressionExperiment + { + private readonly MLContext _context; + private readonly RegressionExperimentSettings _settings; + + internal RegressionExperiment(MLContext context, RegressionExperimentSettings settings) + { + _context = context; + _settings = settings; + } + + public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + { + return Execute(_context, trainData, columnInformation, null, preFeaturizers); + } + + public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + { + return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); + } + + internal RunResult Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + { + throw new NotImplementedException(); + } + + internal IEnumerable> Execute(MLContext context, + IDataView trainData, + ColumnInformation columnInfo, + IDataView validationData = null, + IEstimator preFeaturizers = null) + { + columnInfo = columnInfo ?? new ColumnInformation(); + //UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColunName, validationData, settings, columnPurposes); + + // run autofit & get all pipelines run in that process + var autoFitter = new AutoFitter(context, TaskKind.Regression, trainData, columnInfo, + validationData, preFeaturizers, OptimizingMetric.RSquared, _settings?.ProgressCallback, + _settings); + + return autoFitter.Fit(); + } + } + + public static class RegressionExperimentResultExtensions + { + public static RunResult Best(this IEnumerable> results) + { + double maxScore = results.Select(r => r.Metrics.RSquared).Max(); + return results.First(r => r.Metrics.RSquared == maxScore); + } + } +} diff --git a/src/Microsoft.ML.Auto/API/RegressionExtensions.cs b/src/Microsoft.ML.Auto/API/RegressionExtensions.cs deleted file mode 100644 index 0c62b95015..0000000000 --- a/src/Microsoft.ML.Auto/API/RegressionExtensions.cs +++ /dev/null @@ -1,86 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using Microsoft.Data.DataView; -using Microsoft.ML.Core.Data; -using Microsoft.ML.Data; - -namespace Microsoft.ML.Auto -{ - public class AutoFitRegressionOptions - { - public IDataView TrainData; - public string LabelColumnName = DefaultColumnNames.Label; - public IDataView CalidationData; - public uint TimeoutInSeconds = AutoFitDefaults.TimeoutInSeconds; - public CancellationToken CancellationToken = default; - public IProgress> ProgressCallback; - public IEstimator PreFeaturizers; - public IEnumerable<(string, ColumnPurpose)> ColumnPurposes; - } - - public static class RegressionExtensions - { - public static List> AutoFit(this RegressionCatalog catalog, - IDataView trainData, - string labelColumnName = DefaultColumnNames.Label, - IDataView validationData = null, - uint timeoutInSeconds = AutoFitDefaults.TimeoutInSeconds, - CancellationToken cancellationToken = default, - IProgress> progressCallback = null) - { - var settings = new AutoFitSettings(); - settings.StoppingCriteria.TimeoutInSeconds = timeoutInSeconds; - - return AutoFit(catalog, trainData, labelColumnName, validationData, settings, - null, null, cancellationToken, progressCallback, null); - } - - public static List> AutoFit(this RegressionCatalog catalog, - AutoFitRegressionOptions options) - { - var settings = new AutoFitSettings(); - settings.StoppingCriteria.TimeoutInSeconds = options.TimeoutInSeconds; - - return AutoFit(catalog, options.TrainData, options.LabelColumnName, options.CalidationData, settings, - options.PreFeaturizers, options.ColumnPurposes, options.CancellationToken, options.ProgressCallback, null); - } - - internal static List> AutoFit(this RegressionCatalog catalog, - IDataView trainData, - string labelColunName = DefaultColumnNames.Label, - IDataView validationData = null, - AutoFitSettings settings = null, - IEstimator preFeaturizers = null, - IEnumerable<(string, ColumnPurpose)> columnPurposes = null, - CancellationToken cancellationToken = default, - IProgress> progressCallback = null, - IDebugLogger debugLogger = null) - { - UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColunName, validationData, settings, columnPurposes); - - if (validationData == null) - { - (trainData, validationData) = catalog.TestValidateSplit(trainData); - } - - // run autofit & get all pipelines run in that process - var autoFitter = new AutoFitter(TaskKind.Regression, trainData, labelColunName, validationData, - settings, preFeaturizers, columnPurposes, - OptimizingMetric.RSquared, cancellationToken, progressCallback, debugLogger); - - return autoFitter.Fit(); - } - - public static AutoFitRunResult Best(this IEnumerable> results) - { - double maxScore = results.Select(r => r.Metrics.RSquared).Max(); - return results.First(r => r.Metrics.RSquared == maxScore); - } - } -} diff --git a/src/Microsoft.ML.Auto/API/AutoFitRunResult.cs b/src/Microsoft.ML.Auto/API/RunResult.cs similarity index 94% rename from src/Microsoft.ML.Auto/API/AutoFitRunResult.cs rename to src/Microsoft.ML.Auto/API/RunResult.cs index 227e9a0eee..e39fb16a30 100644 --- a/src/Microsoft.ML.Auto/API/AutoFitRunResult.cs +++ b/src/Microsoft.ML.Auto/API/RunResult.cs @@ -8,7 +8,7 @@ namespace Microsoft.ML.Auto { - public class AutoFitRunResult + public class RunResult { public readonly T Metrics; public readonly ITransformer Model; @@ -19,7 +19,7 @@ public class AutoFitRunResult internal readonly Pipeline Pipeline; internal readonly int PipelineInferenceTimeInSeconds; - internal AutoFitRunResult( + internal RunResult( ITransformer model, T metrics, Pipeline pipeline, diff --git a/src/Microsoft.ML.Auto/APINew/MLContextExtension.cs b/src/Microsoft.ML.Auto/APINew/MLContextExtension.cs deleted file mode 100644 index 97366da3a2..0000000000 --- a/src/Microsoft.ML.Auto/APINew/MLContextExtension.cs +++ /dev/null @@ -1,122 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading; -using Microsoft.Data.DataView; -using Microsoft.ML.Core.Data; -using Microsoft.ML.Data; - -namespace Microsoft.ML.Auto.APINew -{ - public static class MLContextExtension - { - public static AutoInfereceCataglog AutoInference(this MLContext mlContext) - { - return new AutoInfereceCataglog(); - } - } - - public class ExperimentSettings - { - public uint MaxInferenceTimeInSeconds; - public bool EnableCaching; - public CancellationToken CancellationToken; - } - - public class RegressionExperimentSettings : ExperimentSettings - { - public IProgress ProgressCallback; - public Data.RegressionMetrics OptimizingMetrics; - public RegressionTrainer[] WhitelistedTrainers; - } - - public enum RegressionMetric - { - RSquared - } - - public enum RegressionTrainer - { - LightGbm - } - - public class ColumnInfereceResults - { - public TextLoader.Arguments TextLoaderArgs; - public ColumnInformation ColumnInformation; - } - - public class ColumnInformation - { - public string LableColumn; - public string WeightColumn; - public IEnumerable CategoricalColumns; - } - - public class RegressionExperiment - { - public RunResult Execute(IDataView testData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) - { - throw new NotImplementedException(); - } - - public RunResult Execute(IDataView testData, IDataView validationData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) - { - throw new NotImplementedException(); - } - - public RunResult Execute(IDataView testData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) - { - throw new NotImplementedException(); - } - } - - public class AutoInfereceCataglog - { - RegressionExperiment CreateRegressionExperiment(uint maxInferenceTimeInSeconds) - { - return new RegressionExperiment(); - } - - RegressionExperiment CreateRegressionExperiment(RegressionExperimentSettings experimentSettings) - { - return new RegressionExperiment(); - } - - public ColumnInfereceResults InferColumns() - { - throw new NotImplementedException(); - } - } - - public class RunResult - { - public readonly T Metrics; - public readonly ITransformer Model; - public readonly Exception Exception; - public readonly string TrainerName; - public readonly int RuntimeInSeconds; - - internal readonly Pipeline Pipeline; - internal readonly int PipelineInferenceTimeInSeconds; - - internal RunResult( - ITransformer model, - T metrics, - Pipeline pipeline, - Exception exception, - int runtimeInSeconds, - int pipelineInferenceTimeInSeconds) - { - Model = model; - Metrics = metrics; - Pipeline = pipeline; - Exception = exception; - RuntimeInSeconds = runtimeInSeconds; - PipelineInferenceTimeInSeconds = pipelineInferenceTimeInSeconds; - - TrainerName = pipeline?.Nodes.Where(n => n.NodeType == PipelineNodeType.Trainer).Last().Name; - } - } -} diff --git a/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs b/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs index 2bf60cefca..ed4b6c97a1 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using System.Diagnostics; -using System.Linq; using System.Text; using System.Threading; using Microsoft.Data.DataView; @@ -16,51 +15,48 @@ namespace Microsoft.ML.Auto { internal class AutoFitter where T : class { - private readonly IDebugLogger _debugLogger; private readonly IList> _history; - private readonly string _label; + private readonly ColumnInformation _columnInfo; private readonly MLContext _context; private readonly OptimizingMetricInfo _optimizingMetricInfo; - private readonly IDictionary _purposeOverrides; - private readonly AutoFitSettings _settings; private readonly TaskKind _task; private readonly IEstimator _preFeaturizers; - private readonly CancellationToken _cancellationToken; - private readonly IProgress> _progressCallback; + private readonly IProgress> _progressCallback; + private readonly ExperimentSettings _experimentSettings; private IDataView _trainData; private IDataView _validationData; - List> iterationResults = new List>(); + List> iterationResults = new List>(); - public AutoFitter(TaskKind task, + public AutoFitter(MLContext context, + TaskKind task, IDataView trainData, - string label, + ColumnInformation columnInfo, IDataView validationData, - AutoFitSettings settings, IEstimator preFeaturizers, - IEnumerable<(string, ColumnPurpose)> purposeOverrides, OptimizingMetric metric, - CancellationToken cancellationToken, - IProgress> progressCallback, - IDebugLogger debugLogger) + IProgress> progressCallback, + ExperimentSettings experimentSettings) { - _debugLogger = debugLogger; + if (validationData == null) + { + (trainData, validationData) = context.Regression.TestValidateSplit(trainData); + } + _trainData = trainData; + _validationData = validationData; + _history = new List>(); - _label = label; - _context = new MLContext(); + _columnInfo = columnInfo; + _context = context; _optimizingMetricInfo = new OptimizingMetricInfo(metric); - _settings = settings ?? new AutoFitSettings(); - _purposeOverrides = purposeOverrides?.ToDictionary(p => p.Item1, p => p.Item2); - _trainData = trainData; _task = task; - _validationData = validationData; _preFeaturizers = preFeaturizers; - _cancellationToken = cancellationToken; _progressCallback = progressCallback; + _experimentSettings = experimentSettings ?? new ExperimentSettings(); } - public List> Fit() + public List> Fit() { ITransformer preprocessorTransform = null; if (_preFeaturizers != null) @@ -72,7 +68,7 @@ public List> Fit() } var stopwatch = Stopwatch.StartNew(); - var columns = AutoMlUtils.GetColumnInfoTuples(_context, _trainData, _label, _purposeOverrides); + var columns = AutoMlUtils.GetColumnInfoTuples(_context, _trainData, _columnInfo); do { @@ -85,8 +81,7 @@ public List> Fit() var getPiplelineStopwatch = Stopwatch.StartNew(); // get next pipeline - var iterationsRemaining = (int)_settings.StoppingCriteria.MaxIterations - _history.Count; - pipeline = PipelineSuggester.GetNextInferredPipeline(_history, columns, _task, iterationsRemaining, _optimizingMetricInfo.IsMaximizing); + pipeline = PipelineSuggester.GetNextInferredPipeline(_history, columns, _task, _optimizingMetricInfo.IsMaximizing); getPiplelineStopwatch.Stop(); @@ -116,14 +111,14 @@ public List> Fit() var iterationResult = runResult.ToIterationResult(); ReportProgress(iterationResult); iterationResults.Add(iterationResult); - } while (!_cancellationToken.IsCancellationRequested && - _history.Count < _settings.StoppingCriteria.MaxIterations && - stopwatch.Elapsed.TotalSeconds < _settings.StoppingCriteria.TimeoutInSeconds); + } while (_history.Count < _experimentSettings.MaxModels && + !_experimentSettings.CancellationToken.IsCancellationRequested && + stopwatch.Elapsed.TotalSeconds < _experimentSettings.MaxInferenceTimeInSeconds); return iterationResults; } - private void ReportProgress(AutoFitRunResult iterationResult) + private void ReportProgress(RunResult iterationResult) { try { @@ -221,12 +216,12 @@ private void WriteIterationLog(SuggestedPipeline pipeline, SuggestedPipelineResu private void WriteDebugLog(DebugStream stream, string message) { - if(_debugLogger == null) + if(_experimentSettings?.DebugLogger == null) { return; } - _debugLogger.Log(stream, message); + _experimentSettings.DebugLogger.Log(stream, message); } } } \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/AutoFitter/RecipeInference.cs b/src/Microsoft.ML.Auto/AutoFitter/RecipeInference.cs index a9c2cc619d..09455ecd88 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/RecipeInference.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/RecipeInference.cs @@ -9,13 +9,12 @@ namespace Microsoft.ML.Auto internal static class RecipeInference { /// - /// Given a predictor type & target max num of iterations, return a set of all permissible trainers (with their sweeper params, if defined). + /// Given a predictor type, return a set of all permissible trainers (with their sweeper params, if defined). /// /// Array of viable learners. - public static IEnumerable AllowedTrainers(MLContext mlContext, TaskKind task, - int maxIterations) + public static IEnumerable AllowedTrainers(MLContext mlContext, TaskKind task) { - var trainerExtensions = TrainerExtensionCatalog.GetTrainers(task, maxIterations); + var trainerExtensions = TrainerExtensionCatalog.GetTrainers(task); var trainers = new List(); foreach (var trainerExtension in trainerExtensions) diff --git a/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipelineResult.cs b/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipelineResult.cs index c7577dcaf2..ceb362b043 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipelineResult.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipelineResult.cs @@ -48,9 +48,9 @@ public SuggestedPipelineResult(T evaluatedMetrics, ITransformer model, Suggested Exception = exception; } - public AutoFitRunResult ToIterationResult() + public RunResult ToIterationResult() { - return new AutoFitRunResult(Model, EvaluatedMetrics, Pipeline.ToPipeline(), Exception, RuntimeInSeconds, PipelineInferenceTimeInSeconds); + return new RunResult(Model, EvaluatedMetrics, Pipeline.ToPipeline(), Exception, RuntimeInSeconds, PipelineInferenceTimeInSeconds); } } } diff --git a/src/Microsoft.ML.Auto/AutoMlUtils.cs b/src/Microsoft.ML.Auto/AutoMlUtils.cs index 3d70f414cc..bab5985b41 100644 --- a/src/Microsoft.ML.Auto/AutoMlUtils.cs +++ b/src/Microsoft.ML.Auto/AutoMlUtils.cs @@ -50,9 +50,9 @@ public static IDataView Skip(this IDataView data, int count) } public static (string, ColumnType, ColumnPurpose, ColumnDimensions)[] GetColumnInfoTuples(MLContext context, - IDataView data, string label, IDictionary purposeOverrides) + IDataView data, ColumnInformation columnInfo) { - var purposes = PurposeInference.InferPurposes(context, data, label, purposeOverrides); + var purposes = PurposeInference.InferPurposes(context, data, columnInfo); var colDimensions = DatasetDimensionsApi.CalcColumnDimensions(data, purposes); var cols = new (string, ColumnType, ColumnPurpose, ColumnDimensions)[data.Schema.Count]; for (var i = 0; i < cols.Length; i++) diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs index 3dacf5eaf1..a51dcfd80c 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs @@ -10,7 +10,7 @@ namespace Microsoft.ML.Auto { internal static class ColumnInferenceApi { - public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) InferColumns(MLContext context, string path, uint labelColumnIndex, + public static ColumnInferenceResults InferColumns(MLContext context, string path, uint labelColumnIndex, bool hasHeader, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse, bool trimWhitespace, bool groupColumns) { var sample = TextFileSample.CreateFromFullFile(path); @@ -28,7 +28,7 @@ public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) Infer hasHeader, splitInference, typeInference, trimWhitespace, groupColumns); } - public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) InferColumns(MLContext context, string path, string label, + public static ColumnInferenceResults InferColumns(MLContext context, string path, string label, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse, bool trimWhitespace, bool groupColumns) { var sample = TextFileSample.CreateFromFullFile(path); @@ -37,7 +37,7 @@ public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) Infer return InferColumns(context, path, label, true, splitInference, typeInference, trimWhitespace, groupColumns); } - public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) InferColumns(MLContext context, string path, string label, bool hasHeader, + public static ColumnInferenceResults InferColumns(MLContext context, string path, string label, bool hasHeader, TextFileContents.ColumnSplitResult splitInference, ColumnTypeInference.InferenceResult typeInference, bool trimWhitespace, bool groupColumns) { @@ -54,7 +54,8 @@ public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) Infer var textLoader = context.Data.CreateTextLoader(typedLoaderArgs); var dataView = textLoader.Read(path); - var purposeInferenceResult = PurposeInference.InferPurposes(context, dataView, label); + var columnInfo = new ColumnInformation() { LabelColumn = label }; + var purposeInferenceResult = PurposeInference.InferPurposes(context, dataView, columnInfo); // start building result objects IEnumerable columnResults = null; @@ -75,7 +76,7 @@ public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) Infer purposeResults = purposeInferenceResult.Select(p => (dataView.Schema[p.ColumnIndex].Name, p.Purpose)); } - return (new TextLoader.Arguments() + var textLoaderArgs = new TextLoader.Arguments() { Column = columnResults.ToArray(), AllowQuoting = splitInference.AllowQuote, @@ -83,7 +84,13 @@ public static (TextLoader.Arguments, IEnumerable<(string, ColumnPurpose)>) Infer Separators = new char[] { splitInference.Separator.Value }, HasHeader = hasHeader, TrimWhitespace = trimWhitespace - }, purposeResults); + }; + + return new ColumnInferenceResults() + { + TextLoaderArgs = textLoaderArgs, + ColumnInformation = ColumnInformationUtil.BuildColumnInfo(purposeResults) + }; } private static TextFileContents.ColumnSplitResult InferSplit(TextFileSample sample, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse) diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs new file mode 100644 index 0000000000..9c9210364c --- /dev/null +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs @@ -0,0 +1,100 @@ +// Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.ML.Auto +{ + internal static class ColumnInformationUtil + { + internal static ColumnPurpose? GetColumnPurpose(this ColumnInformation columnInfo, string columnName) + { + if (columnName == columnInfo.LabelColumn) + { + return ColumnPurpose.Label; + } + + if (columnName == columnInfo.NameColumn) + { + return ColumnPurpose.Name; + } + + if (columnName == columnInfo.GroupIdColumn) + { + return ColumnPurpose.Group; + } + + if (columnName == columnInfo.WeightColumn) + { + return ColumnPurpose.Weight; + } + + if (columnInfo.CategoricalColumns?.Contains(columnName) == true) + { + return ColumnPurpose.CategoricalFeature; + } + + if (columnInfo.NumericColumns?.Contains(columnName) == true) + { + return ColumnPurpose.NumericFeature; + } + + if (columnInfo.TextColumns?.Contains(columnName) == true) + { + return ColumnPurpose.TextFeature; + } + + return null; + } + + internal static ColumnInformation BuildColumnInfo(IEnumerable<(string name, ColumnPurpose purpose)> columnPurposes) + { + var columnInfo = new ColumnInformation(); + + var categoricalColumns = new List(); + var numericColumns = new List(); + var textColumns = new List(); + var ignoredColumns = new List(); + columnInfo.CategoricalColumns = categoricalColumns; + columnInfo.NumericColumns = numericColumns; + columnInfo.TextColumns = textColumns; + columnInfo.IgnoredColumns = ignoredColumns; + + foreach (var column in columnPurposes) + { + switch (column.purpose) + { + case ColumnPurpose.CategoricalFeature: + categoricalColumns.Add(column.name); + break; + case ColumnPurpose.Group: + columnInfo.GroupIdColumn = column.name; + break; + case ColumnPurpose.Ignore: + ignoredColumns.Add(column.name); + break; + case ColumnPurpose.Label: + columnInfo.LabelColumn = column.name; + break; + case ColumnPurpose.Name: + columnInfo.NameColumn = column.name; + break; + case ColumnPurpose.NumericFeature: + numericColumns.Add(column.name); + break; + case ColumnPurpose.TextFeature: + textColumns.Add(column.name); + break; + case ColumnPurpose.Weight: + columnInfo.WeightColumn = column.name; + break; + } + } + + return columnInfo; + } + } +} diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnPurpose.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnPurpose.cs index 8582a39a86..11f83a1fbe 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnPurpose.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnPurpose.cs @@ -4,7 +4,7 @@ namespace Microsoft.ML.Auto { - public enum ColumnPurpose + internal enum ColumnPurpose { Ignore = 0, Name = 1, diff --git a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs index 848103ac15..a7aadbebf0 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs @@ -263,8 +263,8 @@ private static IEnumerable GetExperts() /// /// Auto-detect purpose for the data view columns. /// - public static PurposeInference.Column[] InferPurposes(MLContext context, IDataView data, string label, - IDictionary columnOverrides = null) + public static PurposeInference.Column[] InferPurposes(MLContext context, IDataView data, + ColumnInformation columnInfo) { data = data.Take(MaxRowsToRead); @@ -276,22 +276,22 @@ public static PurposeInference.Column[] InferPurposes(MLContext context, IDataVi var column = data.Schema[i]; IntermediateColumn intermediateCol; - if(column.Name == label) - { - intermediateCol = new IntermediateColumn(data, i, ColumnPurpose.Label); - } - else if (column.IsHidden) + if(column.IsHidden) { intermediateCol = new IntermediateColumn(data, i, ColumnPurpose.Ignore); + allColumns.Add(intermediateCol); + continue; } - else if(columnOverrides != null && columnOverrides.TryGetValue(column.Name, out var columnPurpose)) + + var columnPurpose = columnInfo.GetColumnPurpose(column.Name); + if(columnPurpose == null) { - intermediateCol = new IntermediateColumn(data, i, columnPurpose); + intermediateCol = new IntermediateColumn(data, i); + columnsToInfer.Add(intermediateCol); } else { - intermediateCol = new IntermediateColumn(data, i); - columnsToInfer.Add(intermediateCol); + intermediateCol = new IntermediateColumn(data, i, columnPurpose.Value); } allColumns.Add(intermediateCol); diff --git a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs index b46a559f5a..0b7134a9aa 100644 --- a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs +++ b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs @@ -17,23 +17,21 @@ internal static class PipelineSuggester public static Pipeline GetNextPipeline(IEnumerable history, (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns, TaskKind task, - int iterationsRemaining, bool isMaximizingMetric = true) { var inferredHistory = history.Select(r => SuggestedPipelineResult.FromPipelineRunResult(r)); - var nextInferredPipeline = GetNextInferredPipeline(inferredHistory, columns, task, iterationsRemaining, isMaximizingMetric); + var nextInferredPipeline = GetNextInferredPipeline(inferredHistory, columns, task, isMaximizingMetric); return nextInferredPipeline?.ToPipeline(); } public static SuggestedPipeline GetNextInferredPipeline(IEnumerable history, (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns, TaskKind task, - int iterationsRemaining, bool isMaximizingMetric = true) { var context = new MLContext(); - var availableTrainers = RecipeInference.AllowedTrainers(context, task, history.Count() + iterationsRemaining); + var availableTrainers = RecipeInference.AllowedTrainers(context, task); var transforms = CalculateTransforms(context, columns, task); //var transforms = TransformInferenceApi.InferTransforms(context, columns, task); diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionCatalog.cs b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionCatalog.cs index e66fe7bc04..39df187bb2 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionCatalog.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionCatalog.cs @@ -56,19 +56,19 @@ public static ITrainerExtension GetTrainerExtension(TrainerName trainerName) return (ITrainerExtension)Activator.CreateInstance(trainerExtensionType); } - public static IEnumerable GetTrainers(TaskKind task, int maxIterations) + public static IEnumerable GetTrainers(TaskKind task) { if(task == TaskKind.BinaryClassification) { - return GetBinaryLearners(maxIterations); + return GetBinaryLearners(); } else if (task == TaskKind.MulticlassClassification) { - return GetMultiLearners(maxIterations); + return GetMultiLearners(); } else if (task == TaskKind.Regression) { - return GetRegressionLearners(maxIterations); + return GetRegressionLearners(); } else { @@ -77,107 +77,52 @@ public static IEnumerable GetTrainers(TaskKind task, int maxI } } - private static IEnumerable GetBinaryLearners(int maxIterations) + private static IEnumerable GetBinaryLearners() { - var learners = new List() + return new ITrainerExtension[] { new AveragedPerceptronBinaryExtension(), new SdcaBinaryExtension(), new LightGbmBinaryExtension(), - new SymSgdBinaryExtension() - }; - - if(maxIterations < 20) - { - return learners; - } - - learners.AddRange(new ITrainerExtension[] { + new SymSgdBinaryExtension(), new LinearSvmBinaryExtension(), - new FastTreeBinaryExtension() - }); - - if(maxIterations < 100) - { - return learners; - } - - learners.AddRange(new ITrainerExtension[] { + new FastTreeBinaryExtension(), new LogisticRegressionBinaryExtension(), new FastForestBinaryExtension(), new SgdBinaryExtension() - }); - - return learners; + }; } - private static IEnumerable GetMultiLearners(int maxIterations) + private static IEnumerable GetMultiLearners() { - var learners = new List() + return new ITrainerExtension[] { new AveragedPerceptronOvaExtension(), new SdcaMultiExtension(), new LightGbmMultiExtension(), - new SymSgdOvaExtension() - }; - - if (maxIterations < 20) - { - return learners; - } - - learners.AddRange(new ITrainerExtension[] { + new SymSgdOvaExtension(), new FastTreeOvaExtension(), new LinearSvmOvaExtension(), - new LogisticRegressionOvaExtension() - }); - - if (maxIterations < 100) - { - return learners; - } - - learners.AddRange(new ITrainerExtension[] { + new LogisticRegressionOvaExtension(), new SgdOvaExtension(), new FastForestOvaExtension(), - new LogisticRegressionMultiExtension(), - }); - - return learners; + new LogisticRegressionMultiExtension() + }; } - private static IEnumerable GetRegressionLearners(int maxIterations) + private static IEnumerable GetRegressionLearners() { - var learners = new List() + return new ITrainerExtension[] { new SdcaRegressionExtension(), new LightGbmRegressionExtension(), new FastTreeRegressionExtension(), - }; - - if(maxIterations < 20) - { - return learners; - } - - learners.AddRange(new ITrainerExtension[] - { new FastTreeTweedieRegressionExtension(), new FastForestRegressionExtension(), - }); - - if(maxIterations < 100) - { - return learners; - } - - learners.AddRange(new ITrainerExtension[] { new PoissonRegressionExtension(), new OnlineGradientDescentRegressionExtension(), - new OrdinaryLeastSquaresRegressionExtension() - }); - - return learners; + new OrdinaryLeastSquaresRegressionExtension(), + }; } } } diff --git a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs index bedbe11dee..2b7f5f96b9 100644 --- a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs @@ -9,9 +9,12 @@ using Microsoft.Data.DataView; using Microsoft.ML.Data; +// todo: re-write & test user input validation once final API nailed down. +// Tracked by Github issue: https://github.com/dotnet/machinelearning-automl/issues/159 + namespace Microsoft.ML.Auto { - internal static class UserInputValidationUtil + /*internal static class UserInputValidationUtil { public static void ValidateAutoFitArgs(IDataView trainData, string label, IDataView validationData, AutoFitSettings settings, IEnumerable<(string, ColumnPurpose)> purposeOverrides) @@ -174,5 +177,5 @@ private static string FindFirstDuplicate(IEnumerable values) var groups = values.GroupBy(v => v); return groups.FirstOrDefault(g => g.Count() > 1)?.Key; } - } + }*/ } diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index aecd625ea7..9a2e4a8679 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -22,7 +26,7 @@ public static void Run() MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.Data.InferColumns(TrainDataPath, LabelColumnName, '\t'); + var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumnName); // STEP 2: Load data TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); @@ -31,7 +35,12 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tuning Console.WriteLine($"Invoking BinaryClassification.AutoFit"); - var autoFitResults = mlContext.BinaryClassification.AutoFit(trainDataView, LabelColumnName, timeoutInSeconds: 60); + var autoFitResults = mlContext.AutoInference() + .CreateBinaryClassificationExperiment(60) + .Execute(trainDataView, new ColumnInformation() + { + LabelColumn = LabelColumnName + }); // STEP 4: Print metric from the best model var best = autoFitResults.Best(); diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index 66506e2474..e90b9db0ec 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -22,7 +26,7 @@ public static void Run() MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.Data.InferColumns(TrainDataPath, LabelColumnName, '\t'); + var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumnName); // STEP 2: Load data TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); @@ -31,7 +35,9 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tuning Console.WriteLine($"Invoking MulticlassClassification.AutoFit"); - var autoFitResults = mlContext.MulticlassClassification.AutoFit(trainDataView, timeoutInSeconds: 60); + var autoFitResults = mlContext.AutoInference() + .CreateMulticlassClassificationExperiment(60) + .Execute(trainDataView); // STEP 4: Print metric from the best model var best = autoFitResults.Best(); @@ -39,7 +45,7 @@ public static void Run() // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); - var testMetrics = mlContext.MulticlassClassification.Evaluate(testDataViewWithBestScore, label: DefaultColumnNames.Label, DefaultColumnNames.Score); + var testMetrics = mlContext.MulticlassClassification.Evaluate(testDataViewWithBestScore, label: LabelColumnName, DefaultColumnNames.Score); Console.WriteLine($"AccuracyMacro of best model from test data: {best.Metrics.AccuracyMacro}"); // STEP 6: Save the best model for later deployment and inferencing diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index 3e3c35529d..becf36113c 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -1,4 +1,8 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -22,7 +26,7 @@ public static void Run() MLContext mlContext = new MLContext(); // STEP 1: Common data loading configuration - var columnInference = mlContext.Data.InferColumns(TrainDataPath, LabelColumnName, ','); + var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumnName); // STEP 2: Load data TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); @@ -31,7 +35,11 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tuning Console.WriteLine($"Invoking Regression.AutoFit"); - var autoFitResults = mlContext.Regression.AutoFit(trainDataView, LabelColumnName, timeoutInSeconds: 60); + var autoFitResults = mlContext.AutoInference() + .CreateRegressionExperiment(60) + .Execute(trainDataView, new ColumnInformation() { + LabelColumn = LabelColumnName + }); // STEP 4: Compare and print actual value vs predicted value for top 5 rows from validation data var best = autoFitResults.Best(); diff --git a/src/Samples/Cancellation.cs b/src/Samples/Cancellation.cs index 0fb1492879..af36f29b26 100644 --- a/src/Samples/Cancellation.cs +++ b/src/Samples/Cancellation.cs @@ -1,7 +1,11 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using System.Diagnostics; +using System.Linq; using System.Threading; -using System.Threading.Tasks; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; @@ -19,11 +23,10 @@ static class Cancellation public static void Run() { - //Create ML Context with seed for repeteable/deterministic results - MLContext mlContext = new MLContext(seed: 0); + MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.Data.InferColumns(TrainDataPath, LabelColumnName, ','); + var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumnName, ','); // STEP 2: Load data TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); @@ -38,12 +41,18 @@ public static void Run() // STEP 3: Autofit with a cancellation token Console.WriteLine($"Invoking Regression.AutoFit"); - var autoFitResults = mlContext.Regression.AutoFit(trainDataView, - LabelColumnName, - timeoutInSeconds: 1, - cancellationToken: cts.Token); - - Console.WriteLine($"{autoFitResults.Count} models were returned after {cancelAfterInSeconds} seconds"); + var autoFitResults = mlContext.AutoInference() + .CreateRegressionExperiment(new RegressionExperimentSettings() + { + MaxInferenceTimeInSeconds = 60, + CancellationToken = cts.Token + }) + .Execute(trainDataView, new ColumnInformation() + { + LabelColumn = LabelColumnName + }); + + Console.WriteLine($"{autoFitResults.Count()} models were returned after {cancelAfterInSeconds} seconds"); Console.WriteLine("Press any key to continue.."); Console.ReadLine(); diff --git a/src/Samples/ProgressHandler.cs b/src/Samples/ProgressHandler.cs index 6587a781d8..d1245ce6ad 100644 --- a/src/Samples/ProgressHandler.cs +++ b/src/Samples/ProgressHandler.cs @@ -1,7 +1,8 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; @@ -19,11 +20,10 @@ static class ProgressHandler public static void Run() { - //Create ML Context with seed for repeteable/deterministic results - MLContext mlContext = new MLContext(seed: 0); + MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.Data.InferColumns(TrainDataPath, LabelColumnName, ','); + var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumnName, ','); // STEP 2: Load data TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); @@ -31,16 +31,18 @@ public static void Run() IDataView testDataView = textLoader.Read(TestDataPath); // STEP 3: Autofit with a callback configured - var autoFitResults = mlContext.Regression.AutoFit(trainDataView, - LabelColumnName, - timeoutInSeconds: 1, - progressCallback: new Progress()); + var autoFitExperiment = mlContext.AutoInference().CreateRegressionExperiment(new RegressionExperimentSettings() + { + MaxInferenceTimeInSeconds = 1, + ProgressCallback = new Progress() + }); + autoFitExperiment.Execute(trainDataView, new ColumnInformation() { LabelColumn = LabelColumnName }); Console.WriteLine("Press any key to continue.."); Console.ReadLine(); } - class Progress : IProgress> + class Progress : IProgress> { int iterationIndex; public Progress() @@ -48,7 +50,7 @@ public Progress() ConsolePrinter.PrintRegressionMetricsHeader(); } - public void Report(AutoFitRunResult iterationResult) + public void Report(RunResult iterationResult) { iterationIndex++; ConsolePrinter.PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.Metrics); diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index 3d12938a0a..6202b2ae9f 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -15,20 +15,14 @@ public void AutoFitBinaryTest() { var context = new MLContext(); var dataPath = DatasetUtil.DownloadUciAdultDataset(); - var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.UciAdultLabel); + var columnInference = context.AutoInference().InferColumns(dataPath, DatasetUtil.UciAdultLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(dataPath); var validationData = trainData.Take(100); trainData = trainData.Skip(100); - var result = context.BinaryClassification.AutoFit(trainData, DatasetUtil.UciAdultLabel, validationData, settings: - new AutoFitSettings() - { - StoppingCriteria = new ExperimentStoppingCriteria() - { - MaxIterations = 2, - TimeoutInSeconds = 1000000000 - } - }, debugLogger: null); + var result = context.AutoInference() + .CreateBinaryClassificationExperiment(0) + .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); Assert.IsTrue(result.Max(i => i.Metrics.Accuracy) > 0.80); } @@ -38,20 +32,14 @@ public void AutoFitMultiTest() { var context = new MLContext(); var dataPath = DatasetUtil.DownloadTrivialDataset(); - var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.TrivialDatasetLabel); + var columnInference = context.AutoInference().InferColumns(dataPath, DatasetUtil.TrivialDatasetLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(dataPath); var validationData = trainData.Take(20); trainData = trainData.Skip(20); - var result = context.MulticlassClassification.AutoFit(trainData, DatasetUtil.TrivialDatasetLabel, validationData, settings: - new AutoFitSettings() - { - StoppingCriteria = new ExperimentStoppingCriteria() - { - MaxIterations = 1, - TimeoutInSeconds = 1000000000 - } - }, debugLogger: null); + var result = context.AutoInference() + .CreateMulticlassClassificationExperiment(0) + .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.TrivialDatasetLabel }); Assert.IsTrue(result.Max(i => i.Metrics.AccuracyMacro) > 0.80); } @@ -61,22 +49,17 @@ public void AutoFitRegressionTest() { var context = new MLContext(); var dataPath = DatasetUtil.DownloadMlNetGeneratedRegressionDataset(); - var columnInference = context.Data.InferColumns(dataPath, DatasetUtil.MlNetGeneratedRegressionLabel); + var columnInference = context.AutoInference().InferColumns(dataPath, DatasetUtil.MlNetGeneratedRegressionLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(dataPath); var validationData = trainData.Take(20); trainData = trainData.Skip(20); - var result = context.Regression.AutoFit(trainData, DatasetUtil.MlNetGeneratedRegressionLabel, validationData, settings: - new AutoFitSettings() - { - StoppingCriteria = new ExperimentStoppingCriteria() - { - MaxIterations = 1, - TimeoutInSeconds = 1000000000 - } - }, debugLogger: null); + var results = context.AutoInference() + .CreateRegressionExperiment(0) + .Execute(trainData, validationData, + new ColumnInformation() { LabelColumn = DatasetUtil.MlNetGeneratedRegressionLabel }); - Assert.IsTrue(result.Max(i => i.Metrics.RSquared > 0.9)); + Assert.IsTrue(results.Max(i => i.Metrics.RSquared > 0.9)); } } } diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index 26cc93a179..332a6bf77b 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -13,13 +13,13 @@ public void UnGroupColumnsTest() { var dataPath = DatasetUtil.DownloadUciAdultDataset(); var context = new MLContext(); - var columnInferenceWithoutGrouping = context.Data.InferColumns(dataPath, DatasetUtil.UciAdultLabel, groupColumns: false); + var columnInferenceWithoutGrouping = context.AutoInference().InferColumns(dataPath, DatasetUtil.UciAdultLabel, groupColumns: false); foreach (var col in columnInferenceWithoutGrouping.TextLoaderArgs.Column) { Assert.IsFalse(col.Source.Length > 1 || col.Source[0].Min != col.Source[0].Max); } - var columnInferenceWithGrouping = context.Data.InferColumns(dataPath, DatasetUtil.UciAdultLabel, groupColumns: true); + var columnInferenceWithGrouping = context.AutoInference().InferColumns(dataPath, DatasetUtil.UciAdultLabel, groupColumns: true); Assert.IsTrue(columnInferenceWithGrouping.TextLoaderArgs.Column.Count() < columnInferenceWithoutGrouping.TextLoaderArgs.Column.Count()); } @@ -28,45 +28,41 @@ public void IncorrectLabelColumnTest() { var dataPath = DatasetUtil.DownloadUciAdultDataset(); var context = new MLContext(); - Assert.ThrowsException(new System.Action(() => context.Data.InferColumns(dataPath, "Junk", groupColumns: false))); + Assert.ThrowsException(new System.Action(() => context.AutoInference().InferColumns(dataPath, "Junk", groupColumns: false))); } [TestMethod] [ExpectedException(typeof(ArgumentOutOfRangeException))] public void InferColumnsLabelIndexOutOfBounds() { - new MLContext().Data.InferColumns(DatasetUtil.DownloadUciAdultDataset(), 100); + new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadUciAdultDataset(), 100); } [TestMethod] public void InferColumnsLabelIndex() { - var result = new MLContext().Data.InferColumns(DatasetUtil.DownloadUciAdultDataset(), 14, hasHeader: true); + var result = new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadUciAdultDataset(), 14, hasHeader: true); Assert.AreEqual(true, result.TextLoaderArgs.HasHeader); var labelCol = result.TextLoaderArgs.Column.First(c => c.Source[0].Min == 14 && c.Source[0].Max == 14); Assert.AreEqual("hours-per-week", labelCol.Name); - var labelPurposes = result.ColumnPurpopses.Where(c => c.Purpose == ColumnPurpose.Label); - Assert.AreEqual(1, labelPurposes.Count()); - Assert.AreEqual("hours-per-week", labelPurposes.First().Name); + Assert.AreEqual("hours-per-week", result.ColumnInformation.LabelColumn); } [TestMethod] public void InferColumnsLabelIndexNoHeaders() { - var result = new MLContext().Data.InferColumns(DatasetUtil.DownloadIrisDataset(), DatasetUtil.IrisDatasetLabelColIndex); + var result = new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadIrisDataset(), DatasetUtil.IrisDatasetLabelColIndex); Assert.AreEqual(false, result.TextLoaderArgs.HasHeader); var labelCol = result.TextLoaderArgs.Column.First(c => c.Source[0].Min == DatasetUtil.IrisDatasetLabelColIndex && c.Source[0].Max == DatasetUtil.IrisDatasetLabelColIndex); Assert.AreEqual(DefaultColumnNames.Label, labelCol.Name); - var labelPurposes = result.ColumnPurpopses.Where(c => c.Purpose == ColumnPurpose.Label); - Assert.AreEqual(1, labelPurposes.Count()); - Assert.AreEqual(DefaultColumnNames.Label, labelPurposes.First().Name); + Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); } [TestMethod] public void InferColumnsWithDatasetWithEmptyColumn() { - var result = new MLContext().Data.InferColumns(@".\TestData\DatasetWithEmptyColumn.txt", DefaultColumnNames.Label); + var result = new MLContext().AutoInference().InferColumns(@".\TestData\DatasetWithEmptyColumn.txt", DefaultColumnNames.Label); var emptyColumn = result.TextLoaderArgs.Column.First(c => c.Name == "Empty"); Assert.AreEqual(DataKind.TX, emptyColumn.Type); } @@ -74,9 +70,8 @@ public void InferColumnsWithDatasetWithEmptyColumn() [TestMethod] public void InferColumnsWithDatasetWithBoolColumn() { - var result = new MLContext().Data.InferColumns(@".\TestData\BinaryDatasetWithBoolColumn.txt", DefaultColumnNames.Label); + var result = new MLContext().AutoInference().InferColumns(@".\TestData\BinaryDatasetWithBoolColumn.txt", DefaultColumnNames.Label); Assert.AreEqual(2, result.TextLoaderArgs.Column.Count()); - Assert.AreEqual(2, result.ColumnPurpopses.Count()); var boolColumn = result.TextLoaderArgs.Column.First(c => c.Name == "Bool"); var labelColumn = result.TextLoaderArgs.Column.First(c => c.Name == DefaultColumnNames.Label); @@ -85,28 +80,25 @@ public void InferColumnsWithDatasetWithBoolColumn() Assert.AreEqual(DataKind.BL, labelColumn.Type); // ensure non-label Boolean column is detected as R4 - var boolPurpose = result.ColumnPurpopses.First(c => c.Name == "Bool").Purpose; - var labelPurpose = result.ColumnPurpopses.First(c => c.Name == DefaultColumnNames.Label).Purpose; - Assert.AreEqual(ColumnPurpose.NumericFeature, boolPurpose); - Assert.AreEqual(ColumnPurpose.Label, labelPurpose); + Assert.AreEqual(1, result.ColumnInformation.NumericColumns.Count()); + Assert.AreEqual("Bool", result.ColumnInformation.NumericColumns.First()); + Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); } [TestMethod] public void InferColumnsWhereNameColumnIsOnlyFeature() { - var result = new MLContext().Data.InferColumns(@".\TestData\NameColumnIsOnlyFeatureDataset.txt", DefaultColumnNames.Label); + var result = new MLContext().AutoInference().InferColumns(@".\TestData\NameColumnIsOnlyFeatureDataset.txt", DefaultColumnNames.Label); Assert.AreEqual(2, result.TextLoaderArgs.Column.Count()); - Assert.AreEqual(2, result.ColumnPurpopses.Count()); - var nameColumn = result.TextLoaderArgs.Column.First(c => c.Name == DefaultColumnNames.Name); + var nameColumn = result.TextLoaderArgs.Column.First(c => c.Name == "Username"); var labelColumn = result.TextLoaderArgs.Column.First(c => c.Name == DefaultColumnNames.Label); Assert.AreEqual(DataKind.TX, nameColumn.Type); Assert.AreEqual(DataKind.BL, labelColumn.Type); - - var namePurpose = result.ColumnPurpopses.First(c => c.Name == DefaultColumnNames.Name).Purpose; - var labelPurpose = result.ColumnPurpopses.First(c => c.Name == DefaultColumnNames.Label).Purpose; - Assert.AreEqual(ColumnPurpose.TextFeature, namePurpose); - Assert.AreEqual(ColumnPurpose.Label, labelPurpose); + + Assert.AreEqual(1, result.ColumnInformation.TextColumns.Count()); + Assert.AreEqual("Username", result.ColumnInformation.TextColumns.First()); + Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); } } } \ No newline at end of file diff --git a/src/Test/DatasetUtil.cs b/src/Test/DatasetUtil.cs index c00a883fec..78cc317a21 100644 --- a/src/Test/DatasetUtil.cs +++ b/src/Test/DatasetUtil.cs @@ -25,7 +25,7 @@ public static IDataView GetUciAdultDataView() { var context = new MLContext(); var uciAdultDataFile = DownloadUciAdultDataset(); - var columnInferenceResult = context.Data.InferColumns(uciAdultDataFile, UciAdultLabel); + var columnInferenceResult = context.AutoInference().InferColumns(uciAdultDataFile, UciAdultLabel); var textLoader = context.Data.CreateTextLoader(columnInferenceResult.TextLoaderArgs); _uciAdultDataView = textLoader.Read(uciAdultDataFile); } diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs index de4293ae15..dd54bb0dfb 100644 --- a/src/Test/GetNextPipelineTests.cs +++ b/src/Test/GetNextPipelineTests.cs @@ -18,10 +18,10 @@ public void GetNextPipeline() { var context = new MLContext(); var uciAdult = DatasetUtil.GetUciAdultDataView(); - var columns = AutoMlUtils.GetColumnInfoTuples(context, uciAdult, DatasetUtil.UciAdultLabel, null); + var columns = AutoMlUtils.GetColumnInfoTuples(context, uciAdult, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); // get next pipeline - var pipeline = PipelineSuggester.GetNextPipeline(new List(), columns, TaskKind.BinaryClassification, 5); + var pipeline = PipelineSuggester.GetNextPipeline(new List(), columns, TaskKind.BinaryClassification); // serialize & deserialize pipeline var serialized = JsonConvert.SerializeObject(pipeline); @@ -42,7 +42,7 @@ public void GetNextPipelineMock() { var context = new MLContext(); var uciAdult = DatasetUtil.GetUciAdultDataView(); - var columns = AutoMlUtils.GetColumnInfoTuples(context, uciAdult, DatasetUtil.UciAdultLabel, null); + var columns = AutoMlUtils.GetColumnInfoTuples(context, uciAdult, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); // Get next pipeline loop var history = new List(); @@ -51,7 +51,7 @@ public void GetNextPipelineMock() for (var i = 0; i < maxIterations; i++) { // Get next pipeline - var pipeline = PipelineSuggester.GetNextPipeline(history, columns, task, maxIterations - i); + var pipeline = PipelineSuggester.GetNextPipeline(history, columns, task); if (pipeline == null) { break; @@ -64,7 +64,7 @@ public void GetNextPipelineMock() Assert.AreEqual(maxIterations, history.Count); // Get all 'Stage 1' and 'Stage 2' runs from Pipeline Suggester - var allAvailableTrainers = RecipeInference.AllowedTrainers(context, task, maxIterations); + var allAvailableTrainers = RecipeInference.AllowedTrainers(context, task); var stage1Runs = history.Take(allAvailableTrainers.Count()); var stage2Runs = history.Skip(allAvailableTrainers.Count()); diff --git a/src/Test/PurposeInferenceTests.cs b/src/Test/PurposeInferenceTests.cs index 3920acdcd8..d92fd7014d 100644 --- a/src/Test/PurposeInferenceTests.cs +++ b/src/Test/PurposeInferenceTests.cs @@ -26,7 +26,7 @@ public void PurposeInferenceHiddenColumnsTest() data = normalizer.Fit(data).Transform(data); // infer purposes - var purposes = PurposeInference.InferPurposes(context, data, DefaultColumnNames.Label); + var purposes = PurposeInference.InferPurposes(context, data, new ColumnInformation()); Assert.AreEqual(3, purposes.Count()); Assert.AreEqual(ColumnPurpose.Label, purposes[0].Purpose); diff --git a/src/Test/TestData/NameColumnIsOnlyFeatureDataset.txt b/src/Test/TestData/NameColumnIsOnlyFeatureDataset.txt index c2f67e4a5e..3e436a9ae6 100644 --- a/src/Test/TestData/NameColumnIsOnlyFeatureDataset.txt +++ b/src/Test/TestData/NameColumnIsOnlyFeatureDataset.txt @@ -1,4 +1,4 @@ -Label,Name +Label,Username 0,a0 0,a1 0,a2 diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index dc18676a2c..6917f708a7 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -27,27 +27,6 @@ public void TrainerExtensionInstanceTests() } } - [TestMethod] - public void GetTrainersByMaxIterations() - { - var tasks = new TaskKind[] { TaskKind.BinaryClassification, - TaskKind.MulticlassClassification, TaskKind.Regression }; - - foreach (var task in tasks) - { - var trainerSet10 = TrainerExtensionCatalog.GetTrainers(task, 10); - var trainerSet50 = TrainerExtensionCatalog.GetTrainers(task, 50); - var trainerSet100 = TrainerExtensionCatalog.GetTrainers(task, 100); - - Assert.IsNotNull(trainerSet10); - Assert.IsNotNull(trainerSet50); - Assert.IsNotNull(trainerSet100); - - Assert.IsTrue(trainerSet10.Count() < trainerSet50.Count()); - Assert.IsTrue(trainerSet50.Count() < trainerSet100.Count()); - } - } - [TestMethod] public void BuildPipelineNodePropsLightGbm() { diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index 54b074065c..a85880d57e 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -11,7 +11,7 @@ namespace Microsoft.ML.Auto.Test { - [TestClass] + /*[TestClass] public class UserInputValidationTests { [TestMethod] @@ -209,5 +209,5 @@ public void ValidateFeaturesColInvalidType() var dataView = new EmptyDataView(new MLContext(), schema); UserInputValidationUtil.ValidateAutoFitArgs(dataView, DefaultColumnNames.Label, null, null, null); } - } + }*/ } diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index 96cc60ac22..51559bb8eb 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -15,14 +15,14 @@ namespace mlnet.Test public class ConsoleCodeGeneratorTests { private Pipeline pipeline; - private (TextLoader.Arguments, IEnumerable<(string Name, ColumnPurpose Purpose)>) columnInference = default; + private ColumnInferenceResults columnInference = default; [TestMethod] [UseReporter(typeof(DiffReporter))] public void GeneratedTrainCodeTest() { (Pipeline pipeline, - (TextLoader.Arguments, IEnumerable<(string Name, ColumnPurpose Purpose)>) columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorOptions() { @@ -45,7 +45,7 @@ public void GeneratedTrainCodeTest() public void GeneratedProjectCodeTest() { (Pipeline pipeline, - (TextLoader.Arguments, IEnumerable<(string Name, ColumnPurpose Purpose)>) columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorOptions() { @@ -68,7 +68,7 @@ public void GeneratedProjectCodeTest() public void GeneratedHelperCodeTest() { (Pipeline pipeline, - (TextLoader.Arguments, IEnumerable<(string Name, ColumnPurpose Purpose)>) columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorOptions() { @@ -86,7 +86,7 @@ public void GeneratedHelperCodeTest() } - private (Pipeline, (TextLoader.Arguments, IEnumerable<(string Name, ColumnPurpose Purpose)>)) GetMockedPipelineAndInference() + private (Pipeline, ColumnInferenceResults) GetMockedPipelineAndInference() { if (pipeline == null) { @@ -118,7 +118,10 @@ public void GeneratedHelperCodeTest() Separators = new[] { ',' } }; - this.columnInference = (textLoaderArgs, null); + this.columnInference = new ColumnInferenceResults() + { + TextLoaderArgs = textLoaderArgs + }; } return (pipeline, columnInference); } diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index d60c2ef785..35dc219bc2 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -22,7 +22,7 @@ public void TrainerGeneratorBasicNamedParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); string expected = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumn:\"Label\",featureColumn:\"Features\")"; Assert.AreEqual(expected, actual.Item1); @@ -42,7 +42,7 @@ public void TrainerGeneratorBasicAdvancedParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); string expectedTrainer = "LightGbm(new Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; string expectedUsing = "using Microsoft.ML.LightGBM;\r\n"; @@ -57,7 +57,7 @@ public void TransformGeneratorBasicTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expected = "Normalize(\"Label\",\"Label\")"; Assert.AreEqual(expected, actual[0].Item1); @@ -71,7 +71,7 @@ public void TransformGeneratorUsingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"Label\",\"Label\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; @@ -87,21 +87,20 @@ public void ClassLabelGenerationBasicTest() new TextLoader.Column(){ Name = DefaultColumnNames.Label, Source = new TextLoader.Range[]{new TextLoader.Range(0) }, Type = DataKind.Bool }, }; - var purposes = new List<(string, ColumnPurpose)>() + var result = new ColumnInferenceResults() { - (DefaultColumnNames.Label, ColumnPurpose.Label), + TextLoaderArgs = new TextLoader.Arguments() + { + Column = columns, + AllowQuoting = false, + AllowSparse = false, + Separators = new[] { ',' }, + HasHeader = true, + TrimWhitespace = true + }, + ColumnInformation = new ColumnInformation() }; - var result = (new TextLoader.Arguments() - { - Column = columns, - AllowQuoting = false, - AllowSparse = false, - Separators = new[] { ',' }, - HasHeader = true, - TrimWhitespace = true - }, purposes); - CodeGenerator codeGenerator = new CodeGenerator(null, result, null); var actual = codeGenerator.GenerateClassLabels(); var expected1 = "[ColumnName(\"Label\"), LoadColumn(0)]"; @@ -120,22 +119,20 @@ public void ColumnGenerationTest() new TextLoader.Column(){ Name = DefaultColumnNames.Features, Source = new TextLoader.Range[]{new TextLoader.Range(1) }, Type = DataKind.R4 }, }; - var purposes = new List<(string, ColumnPurpose)>() + var result = new ColumnInferenceResults() { - (DefaultColumnNames.Label, ColumnPurpose.Label), - (DefaultColumnNames.Features, ColumnPurpose.NumericFeature), + TextLoaderArgs = new TextLoader.Arguments() + { + Column = columns, + AllowQuoting = false, + AllowSparse = false, + Separators = new[] { ',' }, + HasHeader = true, + TrimWhitespace = true + }, + ColumnInformation = new ColumnInformation() { NumericColumns = new[] { DefaultColumnNames.Features } } }; - var result = (new TextLoader.Arguments() - { - Column = columns, - AllowQuoting = false, - AllowSparse = false, - Separators = new[] { ',' }, - HasHeader = true, - TrimWhitespace = true - }, purposes); - var context = new MLContext(); var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); @@ -160,7 +157,7 @@ public void TrainerComplexParameterTest() }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); string expectedTrainer = "LightGbm(new Options(){Booster=new TreeBooster(){},LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; var expectedUsings = "using Microsoft.ML.LightGBM;\r\n"; @@ -177,7 +174,7 @@ public void MissingValueReplacingTest() var elementProperties = new Dictionary();//categorical PipelineNode node = new PipelineNode("MissingValueReplacing", PipelineNodeType.Transform, new string[] { "categorical_column_1" }, new string[] { "categorical_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); var expectedTransform = "ReplaceMissingValues(new []{new MissingValueReplacingTransformer.ColumnInfo(\"categorical_column_1\",\"categorical_column_1\")})"; string expectedUsings = "using Microsoft.ML.Transforms;\r\n"; @@ -192,7 +189,7 @@ public void OneHotEncodingTest() var elementProperties = new Dictionary();//categorical PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "categorical_column_1" }, new string[] { "categorical_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"categorical_column_1\",\"categorical_column_1\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; @@ -207,7 +204,7 @@ public void NormalizingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1_copy" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Normalize(\"numeric_column_1_copy\",\"numeric_column_1\")"; string expectedUsings = null; @@ -222,7 +219,7 @@ public void ColumnConcatenatingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("ColumnConcatenating", PipelineNodeType.Transform, new string[] { "numeric_column_1", "numeric_column_2" }, new string[] { "Features" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Concatenate(\"Features\",new []{\"numeric_column_1\",\"numeric_column_2\"})"; string expectedUsings = null; @@ -237,7 +234,7 @@ public void ColumnCopyingTest() var elementProperties = new Dictionary();//nume to num feature 2 PipelineNode node = new PipelineNode("ColumnCopying", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_2" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "CopyColumns(\"numeric_column_2\",\"numeric_column_1\")"; string expectedUsings = null; @@ -252,7 +249,7 @@ public void MissingValueIndicatingTest() var elementProperties = new Dictionary();//numeric feature PipelineNode node = new PipelineNode("MissingValueIndicating", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "IndicateMissingValues(new []{(\"numeric_column_1\",\"numeric_column_1\")})"; string expectedUsings = null; @@ -267,7 +264,7 @@ public void OneHotHashEncodingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("OneHotHashEncoding", PipelineNodeType.Transform, new string[] { "Categorical_column_1" }, new string[] { "Categorical_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotHashEncoding(new []{new OneHotHashEncodingEstimator.ColumnInfo(\"Categorical_column_1\",\"Categorical_column_1\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; @@ -282,7 +279,7 @@ public void TextFeaturizingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("TextFeaturizing", PipelineNodeType.Transform, new string[] { "Text_column_1" }, new string[] { "Text_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Text.FeaturizeText(\"Text_column_1\",\"Text_column_1\")"; string expectedUsings = null; @@ -297,7 +294,7 @@ public void TypeConvertingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("TypeConverting", PipelineNodeType.Transform, new string[] { "I4_column_1" }, new string[] { "R4_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingTransformer.ColumnInfo(\"R4_column_1\",DataKind.R4,\"I4_column_1\")})"; string expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; @@ -312,7 +309,7 @@ public void ValueToKeyMappingTest() var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("ValueToKeyMapping", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, (null, null), null); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Conversion.MapValueToKey(\"Label\",\"Label\")"; var expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; diff --git a/src/mlnet.Test/DatasetUtil.cs b/src/mlnet.Test/DatasetUtil.cs index c8d43af24b..c45cd4f374 100644 --- a/src/mlnet.Test/DatasetUtil.cs +++ b/src/mlnet.Test/DatasetUtil.cs @@ -27,7 +27,7 @@ public static IDataView GetUciAdultDataView() { var context = new MLContext(); var uciAdultDataFile = DownloadUciAdultDataset(); - var columnInferenceResult = context.Data.InferColumns(uciAdultDataFile, UciAdultLabel); + var columnInferenceResult = context.AutoInference().InferColumns(uciAdultDataFile, UciAdultLabel); var textLoader = context.Data.CreateTextLoader(columnInferenceResult.TextLoaderArgs); _uciAdultDataView = textLoader.Read(uciAdultDataFile); } diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index 2625b17295..3815f3f3f5 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -20,9 +20,9 @@ internal class CodeGenerator : IProjectGenerator { private readonly Pipeline pipeline; private readonly CodeGeneratorOptions options; - private readonly (Arguments, IEnumerable<(string, ColumnPurpose)>) columnInferenceResult; + private readonly ColumnInferenceResults columnInferenceResult; - internal CodeGenerator(Pipeline pipeline, (Arguments, IEnumerable<(string, ColumnPurpose)>) columnInferenceResult, CodeGeneratorOptions options) + internal CodeGenerator(Pipeline pipeline, ColumnInferenceResults columnInferenceResult, CodeGeneratorOptions options) { this.pipeline = pipeline; this.columnInferenceResult = columnInferenceResult; @@ -97,11 +97,11 @@ internal string GenerateTrainCode(string usings, string trainer, List tr { Columns = columns, Transforms = transforms, - HasHeader = columnInferenceResult.Item1.HasHeader, - Separator = columnInferenceResult.Item1.Separators.FirstOrDefault(), - AllowQuoting = columnInferenceResult.Item1.AllowQuoting, - AllowSparse = columnInferenceResult.Item1.AllowSparse, - TrimWhiteSpace = columnInferenceResult.Item1.TrimWhitespace, + HasHeader = columnInferenceResult.TextLoaderArgs.HasHeader, + Separator = columnInferenceResult.TextLoaderArgs.Separators.FirstOrDefault(), + AllowQuoting = columnInferenceResult.TextLoaderArgs.AllowQuoting, + AllowSparse = columnInferenceResult.TextLoaderArgs.AllowSparse, + TrimWhiteSpace = columnInferenceResult.TextLoaderArgs.TrimWhitespace, Trainer = trainer, ClassLabels = classLabels, GeneratedUsings = usings, @@ -165,7 +165,7 @@ internal string GenerateTrainCode(string usings, string trainer, List tr internal IList GenerateClassLabels() { IList result = new List(); - foreach (var column in columnInferenceResult.Item1.Column) + foreach (var column in columnInferenceResult.TextLoaderArgs.Column) { StringBuilder sb = new StringBuilder(); int range = (column.Source[0].Max - column.Source[0].Min).Value; @@ -224,7 +224,7 @@ internal IList GenerateClassLabels() internal IList GenerateColumns() { var result = new List(); - foreach (var column in columnInferenceResult.Item1.Column) + foreach (var column in columnInferenceResult.TextLoaderArgs.Column) { result.Add(ConstructColumnDefinition(column)); } diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index a86436b78a..ebadbd9375 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -31,7 +31,7 @@ public void Execute() { var context = new MLContext(); // Infer columns - (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) columnInference = InferColumns(context); + ColumnInferenceResults columnInference = InferColumns(context); Array.ForEach(columnInference.TextLoaderArgs.Column, t => t.Name = Sanitize(t.Name)); @@ -67,24 +67,24 @@ public void Execute() GenerateProject(columnInference, pipeline); } - internal (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) InferColumns(MLContext context) + internal ColumnInferenceResults InferColumns(MLContext context) { //Check what overload method of InferColumns needs to be called. logger.Log(LogLevel.Info, Strings.InferColumns); - (TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) columnInference = default((TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses)); + ColumnInferenceResults columnInference = null; if (options.LabelName != null) { - columnInference = context.Data.InferColumns(options.TrainDataset.FullName, options.LabelName, groupColumns: false); + columnInference = context.AutoInference().InferColumns(options.TrainDataset.FullName, options.LabelName, groupColumns: false); } else { - columnInference = context.Data.InferColumns(options.TrainDataset.FullName, options.LabelIndex, groupColumns: false); + columnInference = context.AutoInference().InferColumns(options.TrainDataset.FullName, options.LabelIndex, groupColumns: false); } return columnInference; } - internal void GenerateProject((TextLoader.Arguments TextLoaderArgs, IEnumerable<(string Name, ColumnPurpose Purpose)> ColumnPurpopses) columnInference, Pipeline pipeline) + internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline pipeline) { //Generate code logger.Log(LogLevel.Info, Strings.GenerateProject); @@ -111,7 +111,13 @@ internal void GenerateProject((TextLoader.Arguments TextLoaderArgs, IEnumerable< if (options.MlTask == TaskKind.BinaryClassification) { var progressReporter = new ProgressHandlers.BinaryClassificationHandler(); - var result = context.BinaryClassification.AutoFit(trainData, label, validationData, options.Timeout, progressCallback: progressReporter); + var result = context.AutoInference() + .CreateBinaryClassificationExperiment(new BinaryExperimentSettings() + { + MaxInferenceTimeInSeconds = options.Timeout, + ProgressCallback = progressReporter + }) + .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = label }); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); var bestIteration = result.Best(); pipeline = bestIteration.Pipeline; @@ -121,7 +127,12 @@ internal void GenerateProject((TextLoader.Arguments TextLoaderArgs, IEnumerable< if (options.MlTask == TaskKind.Regression) { var progressReporter = new ProgressHandlers.RegressionHandler(); - var result = context.Regression.AutoFit(trainData, label, validationData, options.Timeout, progressCallback: progressReporter); + var result = context.AutoInference() + .CreateRegressionExperiment(new RegressionExperimentSettings() + { + MaxInferenceTimeInSeconds = options.Timeout, + ProgressCallback = progressReporter + }).Execute(trainData, validationData, new ColumnInformation() { LabelColumn = label }); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); var bestIteration = result.Best(); pipeline = bestIteration.Pipeline; diff --git a/src/mlnet/Utilities/ProgressHandlers.cs b/src/mlnet/Utilities/ProgressHandlers.cs index a09da83945..29d550ca99 100644 --- a/src/mlnet/Utilities/ProgressHandlers.cs +++ b/src/mlnet/Utilities/ProgressHandlers.cs @@ -10,7 +10,7 @@ namespace Microsoft.ML.CLI.Utilities { internal class ProgressHandlers { - internal class RegressionHandler : IProgress> + internal class RegressionHandler : IProgress> { int iterationIndex; public RegressionHandler() @@ -18,14 +18,14 @@ public RegressionHandler() ConsolePrinter.PrintRegressionMetricsHeader(); } - public void Report(AutoFitRunResult iterationResult) + public void Report(RunResult iterationResult) { iterationIndex++; ConsolePrinter.PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.Metrics); } } - internal class BinaryClassificationHandler : IProgress> + internal class BinaryClassificationHandler : IProgress> { int iterationIndex; internal BinaryClassificationHandler() @@ -33,7 +33,7 @@ internal BinaryClassificationHandler() ConsolePrinter.PrintBinaryClassificationMetricsHeader(); } - public void Report(AutoFitRunResult iterationResult) + public void Report(RunResult iterationResult) { iterationIndex++; ConsolePrinter.PrintBinaryClassificationMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.Metrics); From b4bfe72a039e66b0b6a855bca480326308c17717 Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Tue, 19 Feb 2019 18:38:26 -0800 Subject: [PATCH 085/211] Rename TransformGeneratorBase .cs to TransformGeneratorBase.cs (#153) --- .../{TransformGeneratorBase .cs => TransformGeneratorBase.cs} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/mlnet/CodeGenerator/CSharp/{TransformGeneratorBase .cs => TransformGeneratorBase.cs} (100%) diff --git a/src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase .cs b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase.cs similarity index 100% rename from src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase .cs rename to src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase.cs From abf1b3d42dac505293d36c9e813bac857b14a6d3 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 19 Feb 2019 19:04:56 -0800 Subject: [PATCH 086/211] Fix minor version for the repository + remove Nlog config package (#171) * changed the minor version * removed the nlog config package --- build/BranchInfo.props | 2 +- src/mlnet/mlnet.csproj | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/build/BranchInfo.props b/build/BranchInfo.props index 737b2ab02a..1af04d614e 100644 --- a/build/BranchInfo.props +++ b/build/BranchInfo.props @@ -1,7 +1,7 @@ 0 - 10 + 1 0 preview diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index 3cc78a828e..50148d5af8 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -13,7 +13,6 @@ - From fa6e616dd4f07456eaa50dad3016982f6942c1c0 Mon Sep 17 00:00:00 2001 From: vinodshanbhag <33269336+vinodshanbhag@users.noreply.github.com> Date: Wed, 20 Feb 2019 12:37:52 -0800 Subject: [PATCH 087/211] Added new test to columninfo and fixing up API (#178) --- .../API/BinaryClassificationExperiment.cs | 2 +- .../API/MulticlassClassificationExperiment.cs | 2 +- .../API/RegressionExperiment.cs | 2 +- src/Test/ColumnInferenceTests.cs | 28 +++++++++++++------ src/Test/Test.csproj | 3 ++ .../DatasetWithDefaultColumnNames.txt | 4 +++ 6 files changed, 30 insertions(+), 11 deletions(-) create mode 100644 src/Test/TestData/DatasetWithDefaultColumnNames.txt diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index bb5688fb5a..09b130c3a7 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -49,7 +49,7 @@ public IEnumerable> Execute(IDataView tra return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); } - internal RunResult Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + internal IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) { throw new NotImplementedException(); } diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index 126b37a6b2..9567bc6db9 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -49,7 +49,7 @@ public IEnumerable> Execute(IDataView tra return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); } - internal RunResult Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + internal IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) { throw new NotImplementedException(); } diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index 5886c383a7..ec567d711c 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -52,7 +52,7 @@ public IEnumerable> Execute(IDataView trainData, ID return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); } - internal RunResult Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + internal IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) { throw new NotImplementedException(); } diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index 332a6bf77b..1592c5b58e 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -9,7 +9,7 @@ namespace Microsoft.ML.Auto.Test public class ColumnInferenceTests { [TestMethod] - public void UnGroupColumnsTest() + public void UnGroupReturnsMoreColumnsThanGroup() { var dataPath = DatasetUtil.DownloadUciAdultDataset(); var context = new MLContext(); @@ -24,7 +24,7 @@ public void UnGroupColumnsTest() } [TestMethod] - public void IncorrectLabelColumnTest() + public void IncorrectLabelColumnThrows() { var dataPath = DatasetUtil.DownloadUciAdultDataset(); var context = new MLContext(); @@ -33,13 +33,13 @@ public void IncorrectLabelColumnTest() [TestMethod] [ExpectedException(typeof(ArgumentOutOfRangeException))] - public void InferColumnsLabelIndexOutOfBounds() + public void LabelIndexOutOfBoundsThrows() { new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadUciAdultDataset(), 100); } [TestMethod] - public void InferColumnsLabelIndex() + public void IdentifyLabelColumnThroughIndexWithHeader() { var result = new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadUciAdultDataset(), 14, hasHeader: true); Assert.AreEqual(true, result.TextLoaderArgs.HasHeader); @@ -49,7 +49,7 @@ public void InferColumnsLabelIndex() } [TestMethod] - public void InferColumnsLabelIndexNoHeaders() + public void IdentifyLabelColumnThroughIndexWithoutHeader() { var result = new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadIrisDataset(), DatasetUtil.IrisDatasetLabelColIndex); Assert.AreEqual(false, result.TextLoaderArgs.HasHeader); @@ -60,7 +60,7 @@ public void InferColumnsLabelIndexNoHeaders() } [TestMethod] - public void InferColumnsWithDatasetWithEmptyColumn() + public void DatasetWithEmptyColumn() { var result = new MLContext().AutoInference().InferColumns(@".\TestData\DatasetWithEmptyColumn.txt", DefaultColumnNames.Label); var emptyColumn = result.TextLoaderArgs.Column.First(c => c.Name == "Empty"); @@ -68,7 +68,7 @@ public void InferColumnsWithDatasetWithEmptyColumn() } [TestMethod] - public void InferColumnsWithDatasetWithBoolColumn() + public void DatasetWithBoolColumn() { var result = new MLContext().AutoInference().InferColumns(@".\TestData\BinaryDatasetWithBoolColumn.txt", DefaultColumnNames.Label); Assert.AreEqual(2, result.TextLoaderArgs.Column.Count()); @@ -86,7 +86,7 @@ public void InferColumnsWithDatasetWithBoolColumn() } [TestMethod] - public void InferColumnsWhereNameColumnIsOnlyFeature() + public void WhereNameColumnIsOnlyFeature() { var result = new MLContext().AutoInference().InferColumns(@".\TestData\NameColumnIsOnlyFeatureDataset.txt", DefaultColumnNames.Label); Assert.AreEqual(2, result.TextLoaderArgs.Column.Count()); @@ -100,5 +100,17 @@ public void InferColumnsWhereNameColumnIsOnlyFeature() Assert.AreEqual("Username", result.ColumnInformation.TextColumns.First()); Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); } + + [TestMethod] + public void DefaultColumnNamesInferredCorrectly() + { + var result = new MLContext().AutoInference().InferColumns(@".\TestData\DatasetWithDefaultColumnNames.txt", DefaultColumnNames.Label, groupColumns : false); + + Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); + Assert.AreEqual(DefaultColumnNames.Name, result.ColumnInformation.NameColumn); + Assert.AreEqual(DefaultColumnNames.Weight, result.ColumnInformation.WeightColumn); + Assert.AreEqual(DefaultColumnNames.GroupId, result.ColumnInformation.GroupIdColumn); + Assert.AreEqual(result.ColumnInformation.NumericColumns.Count(), 3); + } } } \ No newline at end of file diff --git a/src/Test/Test.csproj b/src/Test/Test.csproj index 5ea410849c..7c64db99a8 100644 --- a/src/Test/Test.csproj +++ b/src/Test/Test.csproj @@ -19,6 +19,9 @@ + + PreserveNewest + PreserveNewest diff --git a/src/Test/TestData/DatasetWithDefaultColumnNames.txt b/src/Test/TestData/DatasetWithDefaultColumnNames.txt new file mode 100644 index 0000000000..318c7f3970 --- /dev/null +++ b/src/Test/TestData/DatasetWithDefaultColumnNames.txt @@ -0,0 +1,4 @@ +Label,GroupId,Weight,Name,Features,FeatureContributions,Feature1 +0,2,1,GUID1,1,1,1 +0,4,1,GUID2,1,1,1 +1,1,1,GUID3,1,1,1 \ No newline at end of file From 51a613c45c0da7543670d44a0f7da8d7e5c373ce Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 20 Feb 2019 13:30:46 -0800 Subject: [PATCH 088/211] Make optimizing metric customizable and add trainer whitelist functionality (#172) --- .../API/BinaryClassificationExperiment.cs | 26 ++++- .../API/MulticlassClassificationExperiment.cs | 24 ++++- .../API/RegressionExperiment.cs | 16 ++- .../AutoFitter/AutoFitter.cs | 44 +++------ .../AutoFitter/DataScorer/BinaryDataScorer.cs | 45 +++++++++ .../AutoFitter/DataScorer/IDataScorer.cs | 11 +++ .../AutoFitter/DataScorer/MultiDataScorer.cs | 39 ++++++++ .../DataScorer/RegressionDataScorer.cs | 37 +++++++ .../AutoFitter/OptimizingMetric.cs | 68 ------------- .../AutoFitter/OptimizingMetricInfo.cs | 44 +++++++++ .../AutoFitter/RecipeInference.cs | 5 +- .../PipelineSuggesters/PipelineSuggester.cs | 5 +- .../TrainerExtensionCatalog.cs | 20 +++- .../TrainerExtensions/TrainerExtensionUtil.cs | 99 +++++++++++++++++++ src/Samples/AutoTrainBinaryClassification.cs | 6 +- src/Test/GetNextPipelineTests.cs | 2 +- src/Test/TrainerExtensionsTests.cs | 46 +++++++++ 17 files changed, 414 insertions(+), 123 deletions(-) create mode 100644 src/Microsoft.ML.Auto/AutoFitter/DataScorer/BinaryDataScorer.cs create mode 100644 src/Microsoft.ML.Auto/AutoFitter/DataScorer/IDataScorer.cs create mode 100644 src/Microsoft.ML.Auto/AutoFitter/DataScorer/MultiDataScorer.cs create mode 100644 src/Microsoft.ML.Auto/AutoFitter/DataScorer/RegressionDataScorer.cs delete mode 100644 src/Microsoft.ML.Auto/AutoFitter/OptimizingMetric.cs create mode 100644 src/Microsoft.ML.Auto/AutoFitter/OptimizingMetricInfo.cs diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index 09b130c3a7..cd1481e4ce 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -14,18 +14,33 @@ namespace Microsoft.ML.Auto public class BinaryExperimentSettings : ExperimentSettings { public IProgress> ProgressCallback; - public BinaryClassificationMetric OptimizingMetric; + public BinaryClassificationMetric OptimizingMetric = BinaryClassificationMetric.Accuracy; public BinaryClassificationTrainer[] WhitelistedTrainers; } public enum BinaryClassificationMetric { - Accuracy + Accuracy, + Auc, + Auprc, + F1Score, + PositivePrecision, + PositiveRecall, + NegativePrecision, + NegativeRecall, } public enum BinaryClassificationTrainer { - LightGbm + AveragedPerceptron, + FastForest, + FastTree, + LightGbm, + LinearSupportVectorMachines, + LogisticRegression, + StochasticDualCoordinateAscent, + StochasticGradientDescent, + SymbolicStochasticGradientDescent, } public class BinaryClassificationExperiment @@ -65,8 +80,9 @@ internal IEnumerable> Execute(MLContext c // run autofit & get all pipelines run in that process var autoFitter = new AutoFitter(context, TaskKind.BinaryClassification, trainData, columnInfo, - validationData, preFeaturizers, OptimizingMetric.Accuracy, _settings?.ProgressCallback, - _settings); + validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), _settings.ProgressCallback, + _settings, new BinaryDataScorer(_settings.OptimizingMetric), + TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); return autoFitter.Fit(); } diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index 9567bc6db9..2759bdc37b 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -14,18 +14,31 @@ namespace Microsoft.ML.Auto public class MulticlassExperimentSettings : ExperimentSettings { public IProgress> ProgressCallback; - public MulticlassClassificationMetric OptimizingMetric; + public MulticlassClassificationMetric OptimizingMetric = MulticlassClassificationMetric.AccuracyMicro; public MulticlassClassificationTrainer[] WhitelistedTrainers; } public enum MulticlassClassificationMetric { - Accuracy + AccuracyMicro, + AccuracyMacro, + LogLoss, + LogLossReduction, + TopKAccuracy, } public enum MulticlassClassificationTrainer { - LightGbm + AveragedPerceptronOVA, + FastForestOVA, + FastTreeOVA, + LightGbm, + LinearSupportVectorMachinesOVA, + LogisticRegression, + LogisticRegressionOVA, + StochasticDualCoordinateAscent, + StochasticGradientDescentOVA, + SymbolicStochasticGradientDescentOVA, } public class MulticlassClassificationExperiment @@ -65,8 +78,9 @@ internal IEnumerable> Execute(MLContext c // run autofit & get all pipelines run in that process var autoFitter = new AutoFitter(context, TaskKind.MulticlassClassification, trainData, - columnInfo, validationData, preFeaturizers, OptimizingMetric.Accuracy, - _settings?.ProgressCallback, _settings); + columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), + _settings.ProgressCallback, _settings, new MultiDataScorer(_settings.OptimizingMetric), + TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); return autoFitter.Fit(); } diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index ec567d711c..3178132f28 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -14,7 +14,7 @@ namespace Microsoft.ML.Auto public class RegressionExperimentSettings : ExperimentSettings { public IProgress> ProgressCallback; - public RegressionMetric OptimizingMetric; + public RegressionMetric OptimizingMetric = RegressionMetric.RSquared; public RegressionTrainer[] WhitelistedTrainers; } @@ -28,7 +28,14 @@ public enum RegressionMetric public enum RegressionTrainer { - LightGbm + FastForest, + FastTree, + FastTreeTweedie, + LightGbm, + OnlineGradientDescent, + OrdinaryLeastSquares, + PoissonRegression, + StochasticDualCoordinateAscent, } public class RegressionExperiment @@ -68,8 +75,9 @@ internal IEnumerable> Execute(MLContext context, // run autofit & get all pipelines run in that process var autoFitter = new AutoFitter(context, TaskKind.Regression, trainData, columnInfo, - validationData, preFeaturizers, OptimizingMetric.RSquared, _settings?.ProgressCallback, - _settings); + validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), + _settings.ProgressCallback, _settings, new RegressionDataScorer(_settings.OptimizingMetric), + TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); return autoFitter.Fit(); } diff --git a/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs b/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs index ed4b6c97a1..0d35f346c1 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs @@ -6,10 +6,8 @@ using System.Collections.Generic; using System.Diagnostics; using System.Text; -using System.Threading; using Microsoft.Data.DataView; using Microsoft.ML.Core.Data; -using Microsoft.ML.Data; namespace Microsoft.ML.Auto { @@ -23,6 +21,8 @@ internal class AutoFitter where T : class private readonly IEstimator _preFeaturizers; private readonly IProgress> _progressCallback; private readonly ExperimentSettings _experimentSettings; + private readonly IDataScorer _dataScorer; + private readonly IEnumerable _trainerWhitelist; private IDataView _trainData; private IDataView _validationData; @@ -35,9 +35,11 @@ public AutoFitter(MLContext context, ColumnInformation columnInfo, IDataView validationData, IEstimator preFeaturizers, - OptimizingMetric metric, + OptimizingMetricInfo metricInfo, IProgress> progressCallback, - ExperimentSettings experimentSettings) + ExperimentSettings experimentSettings, + IDataScorer dataScorer, + IEnumerable trainerWhitelist) { if (validationData == null) { @@ -49,11 +51,13 @@ public AutoFitter(MLContext context, _history = new List>(); _columnInfo = columnInfo; _context = context; - _optimizingMetricInfo = new OptimizingMetricInfo(metric); + _optimizingMetricInfo = metricInfo; _task = task; _preFeaturizers = preFeaturizers; _progressCallback = progressCallback; - _experimentSettings = experimentSettings ?? new ExperimentSettings(); + _experimentSettings = experimentSettings; + _dataScorer = dataScorer; + _trainerWhitelist = trainerWhitelist; } public List> Fit() @@ -81,7 +85,7 @@ public List> Fit() var getPiplelineStopwatch = Stopwatch.StartNew(); // get next pipeline - pipeline = PipelineSuggester.GetNextInferredPipeline(_history, columns, _task, _optimizingMetricInfo.IsMaximizing); + pipeline = PipelineSuggester.GetNextInferredPipeline(_history, columns, _task, _optimizingMetricInfo.IsMaximizing, _trainerWhitelist); getPiplelineStopwatch.Stop(); @@ -144,9 +148,9 @@ private SuggestedPipelineResult ProcessPipeline(SuggestedPipeline pipeline) { var pipelineModel = pipeline.Fit(_trainData); var scoredValidationData = pipelineModel.Transform(_validationData); - var evaluatedMetrics = GetEvaluatedMetrics(scoredValidationData); - var score = GetPipelineScore(evaluatedMetrics); - runResult = new SuggestedPipelineResult(evaluatedMetrics, pipelineModel, pipeline, score, null); + var metrics = GetEvaluatedMetrics(scoredValidationData); + var score = _dataScorer.GetScore(metrics); + runResult = new SuggestedPipelineResult(metrics, pipelineModel, pipeline, score, null); } catch(Exception ex) { @@ -177,26 +181,6 @@ private T GetEvaluatedMetrics(IDataView scoredData) } } - private double GetPipelineScore(object evaluatedMetrics) - { - var type = evaluatedMetrics.GetType(); - if(type == typeof(BinaryClassificationMetrics)) - { - return ((BinaryClassificationMetrics)evaluatedMetrics).Accuracy; - } - if (type == typeof(MultiClassClassifierMetrics)) - { - return ((MultiClassClassifierMetrics)evaluatedMetrics).AccuracyMicro; - } - if (type == typeof(RegressionMetrics)) - { - return ((RegressionMetrics)evaluatedMetrics).RSquared; - } - - // should not be possible to reach here - throw new InvalidOperationException($"unsupported machine learning task type {_task}"); - } - private void WriteIterationLog(SuggestedPipeline pipeline, SuggestedPipelineResult runResult, Stopwatch stopwatch) { // debug log pipeline result diff --git a/src/Microsoft.ML.Auto/AutoFitter/DataScorer/BinaryDataScorer.cs b/src/Microsoft.ML.Auto/AutoFitter/DataScorer/BinaryDataScorer.cs new file mode 100644 index 0000000000..485cfffb72 --- /dev/null +++ b/src/Microsoft.ML.Auto/AutoFitter/DataScorer/BinaryDataScorer.cs @@ -0,0 +1,45 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal class BinaryDataScorer : IDataScorer + { + private readonly BinaryClassificationMetric _metric; + + public BinaryDataScorer(BinaryClassificationMetric metric) + { + this._metric = metric; + } + + public double GetScore(BinaryClassificationMetrics metrics) + { + switch(_metric) + { + case BinaryClassificationMetric.Accuracy: + return metrics.Accuracy; + case BinaryClassificationMetric.Auc: + return metrics.Auc; + case BinaryClassificationMetric.Auprc: + return metrics.Auprc; + case BinaryClassificationMetric.F1Score: + return metrics.F1Score; + case BinaryClassificationMetric.NegativePrecision: + return metrics.NegativePrecision; + case BinaryClassificationMetric.NegativeRecall: + return metrics.NegativeRecall; + case BinaryClassificationMetric.PositivePrecision: + return metrics.PositivePrecision; + case BinaryClassificationMetric.PositiveRecall: + return metrics.PositiveRecall; + } + + // never expected to reach here + throw new NotSupportedException($"{_metric} is not a supported sweep metric"); + } + } +} diff --git a/src/Microsoft.ML.Auto/AutoFitter/DataScorer/IDataScorer.cs b/src/Microsoft.ML.Auto/AutoFitter/DataScorer/IDataScorer.cs new file mode 100644 index 0000000000..2c903762fd --- /dev/null +++ b/src/Microsoft.ML.Auto/AutoFitter/DataScorer/IDataScorer.cs @@ -0,0 +1,11 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.Auto +{ + internal interface IDataScorer + { + double GetScore(T metrics); + } +} diff --git a/src/Microsoft.ML.Auto/AutoFitter/DataScorer/MultiDataScorer.cs b/src/Microsoft.ML.Auto/AutoFitter/DataScorer/MultiDataScorer.cs new file mode 100644 index 0000000000..452f96a4a5 --- /dev/null +++ b/src/Microsoft.ML.Auto/AutoFitter/DataScorer/MultiDataScorer.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal class MultiDataScorer : IDataScorer + { + private readonly MulticlassClassificationMetric _metric; + + public MultiDataScorer(MulticlassClassificationMetric metric) + { + this._metric = metric; + } + + public double GetScore(MultiClassClassifierMetrics metrics) + { + switch (_metric) + { + case MulticlassClassificationMetric.AccuracyMacro: + return metrics.AccuracyMacro; + case MulticlassClassificationMetric.AccuracyMicro: + return metrics.AccuracyMicro; + case MulticlassClassificationMetric.LogLoss: + return metrics.LogLoss; + case MulticlassClassificationMetric.LogLossReduction: + return metrics.LogLossReduction; + case MulticlassClassificationMetric.TopKAccuracy: + return metrics.TopKAccuracy; + } + + // never expected to reach here + throw new NotSupportedException($"{_metric} is not a supported sweep metric"); + } + } +} diff --git a/src/Microsoft.ML.Auto/AutoFitter/DataScorer/RegressionDataScorer.cs b/src/Microsoft.ML.Auto/AutoFitter/DataScorer/RegressionDataScorer.cs new file mode 100644 index 0000000000..cd50ea4889 --- /dev/null +++ b/src/Microsoft.ML.Auto/AutoFitter/DataScorer/RegressionDataScorer.cs @@ -0,0 +1,37 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal class RegressionDataScorer : IDataScorer + { + private readonly RegressionMetric _metric; + + public RegressionDataScorer(RegressionMetric metric) + { + this._metric = metric; + } + + public double GetScore(RegressionMetrics metrics) + { + switch(_metric) + { + case RegressionMetric.L1: + return metrics.L1; + case RegressionMetric.L2: + return metrics.L2; + case RegressionMetric.Rms: + return metrics.Rms; + case RegressionMetric.RSquared: + return metrics.RSquared; + } + + // never expected to reach here + throw new NotSupportedException($"{_metric} is not a supported sweep metric"); + } + } +} diff --git a/src/Microsoft.ML.Auto/AutoFitter/OptimizingMetric.cs b/src/Microsoft.ML.Auto/AutoFitter/OptimizingMetric.cs deleted file mode 100644 index 0842aebd13..0000000000 --- a/src/Microsoft.ML.Auto/AutoFitter/OptimizingMetric.cs +++ /dev/null @@ -1,68 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System.Linq; - -namespace Microsoft.ML.Auto -{ - internal enum OptimizingMetric - { - Auc, - Accuracy, - AccuracyMacro, - L1, - L2, - F1, - AuPrc, - TopKAccuracy, - Rms, - LossFn, - RSquared, - LogLoss, - LogLossReduction, - Ndcg, - Dcg, - PositivePrecision, - PositiveRecall, - NegativePrecision, - NegativeRecall, - DrAtK, - DrAtPFpr, - DrAtNumPos, - NumAnomalies, - ThreshAtK, - ThreshAtP, - ThreshAtNumPos, - Nmi, - AvgMinScore, - Dbi - }; - - internal sealed class OptimizingMetricInfo - { - public string Name { get; } - public bool IsMaximizing { get; } - - private static OptimizingMetric[] _minimizingMetrics = new OptimizingMetric[] - { - OptimizingMetric.L1, - OptimizingMetric.L2, - OptimizingMetric.Rms, - OptimizingMetric.LossFn, - OptimizingMetric.ThreshAtK, - OptimizingMetric.ThreshAtP, - OptimizingMetric.ThreshAtNumPos, - OptimizingMetric.AvgMinScore, - OptimizingMetric.Dbi - }; - - public OptimizingMetricInfo(OptimizingMetric optimizingMetric) - { - Name = optimizingMetric.ToString(); - IsMaximizing = !_minimizingMetrics.Contains(optimizingMetric); - } - - public override string ToString() => Name; - } -} diff --git a/src/Microsoft.ML.Auto/AutoFitter/OptimizingMetricInfo.cs b/src/Microsoft.ML.Auto/AutoFitter/OptimizingMetricInfo.cs new file mode 100644 index 0000000000..af2a118424 --- /dev/null +++ b/src/Microsoft.ML.Auto/AutoFitter/OptimizingMetricInfo.cs @@ -0,0 +1,44 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Linq; + +namespace Microsoft.ML.Auto +{ + internal sealed class OptimizingMetricInfo + { + public bool IsMaximizing { get; } + + private static RegressionMetric[] _minimizingRegressionMetrics = new RegressionMetric[] + { + RegressionMetric.L1, + RegressionMetric.L2, + RegressionMetric.Rms + }; + + private static BinaryClassificationMetric[] _minimizingBinaryMetrics = new BinaryClassificationMetric[] + { + }; + + private static MulticlassClassificationMetric[] _minimizingMulticlassMetrics = new MulticlassClassificationMetric[] + { + MulticlassClassificationMetric.LogLoss, + }; + + public OptimizingMetricInfo(RegressionMetric regressionMetric) + { + IsMaximizing = !_minimizingRegressionMetrics.Contains(regressionMetric); + } + + public OptimizingMetricInfo(BinaryClassificationMetric binaryMetric) + { + IsMaximizing = !_minimizingBinaryMetrics.Contains(binaryMetric); + } + + public OptimizingMetricInfo(MulticlassClassificationMetric multiMetric) + { + IsMaximizing = !_minimizingMulticlassMetrics.Contains(multiMetric); + } + } +} diff --git a/src/Microsoft.ML.Auto/AutoFitter/RecipeInference.cs b/src/Microsoft.ML.Auto/AutoFitter/RecipeInference.cs index 09455ecd88..701146171f 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/RecipeInference.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/RecipeInference.cs @@ -12,9 +12,10 @@ internal static class RecipeInference /// Given a predictor type, return a set of all permissible trainers (with their sweeper params, if defined). /// /// Array of viable learners. - public static IEnumerable AllowedTrainers(MLContext mlContext, TaskKind task) + public static IEnumerable AllowedTrainers(MLContext mlContext, TaskKind task, + IEnumerable trainerWhitelist) { - var trainerExtensions = TrainerExtensionCatalog.GetTrainers(task); + var trainerExtensions = TrainerExtensionCatalog.GetTrainers(task, trainerWhitelist); var trainers = new List(); foreach (var trainerExtension in trainerExtensions) diff --git a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs index 0b7134a9aa..9a662f3e86 100644 --- a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs +++ b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs @@ -27,11 +27,12 @@ public static Pipeline GetNextPipeline(IEnumerable history, public static SuggestedPipeline GetNextInferredPipeline(IEnumerable history, (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns, TaskKind task, - bool isMaximizingMetric = true) + bool isMaximizingMetric, + IEnumerable trainerWhitelist = null) { var context = new MLContext(); - var availableTrainers = RecipeInference.AllowedTrainers(context, task); + var availableTrainers = RecipeInference.AllowedTrainers(context, task, trainerWhitelist); var transforms = CalculateTransforms(context, columns, task); //var transforms = TransformInferenceApi.InferTransforms(context, columns, task); diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionCatalog.cs b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionCatalog.cs index 39df187bb2..6ce9406732 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionCatalog.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionCatalog.cs @@ -56,25 +56,35 @@ public static ITrainerExtension GetTrainerExtension(TrainerName trainerName) return (ITrainerExtension)Activator.CreateInstance(trainerExtensionType); } - public static IEnumerable GetTrainers(TaskKind task) + public static IEnumerable GetTrainers(TaskKind task, + IEnumerable whitelist) { - if(task == TaskKind.BinaryClassification) + IEnumerable trainers; + if (task == TaskKind.BinaryClassification) { - return GetBinaryLearners(); + trainers = GetBinaryLearners(); } else if (task == TaskKind.MulticlassClassification) { - return GetMultiLearners(); + trainers = GetMultiLearners(); } else if (task == TaskKind.Regression) { - return GetRegressionLearners(); + trainers = GetRegressionLearners(); } else { // should not be possible to reach here throw new NotSupportedException($"unsupported machine learning task type {task}"); } + + if (whitelist != null) + { + whitelist = new HashSet(whitelist); + trainers = trainers.Where(t => whitelist.Contains(GetTrainerName(t))); + } + + return trainers; } private static IEnumerable GetBinaryLearners() diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs index 199b66925b..2a36638376 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs @@ -177,5 +177,104 @@ public static void UpdateFields(object obj, IEnumerable sweepPar } } } + + public static TrainerName GetTrainerName(BinaryClassificationTrainer binaryTrainer) + { + switch(binaryTrainer) + { + case BinaryClassificationTrainer.AveragedPerceptron: + return TrainerName.AveragedPerceptronBinary; + case BinaryClassificationTrainer.FastForest: + return TrainerName.FastForestBinary; + case BinaryClassificationTrainer.FastTree: + return TrainerName.FastTreeBinary; + case BinaryClassificationTrainer.LightGbm: + return TrainerName.LightGbmBinary; + case BinaryClassificationTrainer.LinearSupportVectorMachines: + return TrainerName.LinearSvmBinary; + case BinaryClassificationTrainer.LogisticRegression: + return TrainerName.LogisticRegressionBinary; + case BinaryClassificationTrainer.StochasticDualCoordinateAscent: + return TrainerName.SdcaBinary; + case BinaryClassificationTrainer.StochasticGradientDescent: + return TrainerName.StochasticGradientDescentBinary; + case BinaryClassificationTrainer.SymbolicStochasticGradientDescent: + return TrainerName.SymSgdBinary; + } + + // never expected to reach here + throw new NotSupportedException($"{binaryTrainer} not supported"); + } + + public static TrainerName GetTrainerName(MulticlassClassificationTrainer multiTrainer) + { + switch (multiTrainer) + { + case MulticlassClassificationTrainer.AveragedPerceptronOVA: + return TrainerName.AveragedPerceptronOva; + case MulticlassClassificationTrainer.FastForestOVA: + return TrainerName.FastForestOva; + case MulticlassClassificationTrainer.FastTreeOVA: + return TrainerName.FastTreeOva; + case MulticlassClassificationTrainer.LightGbm: + return TrainerName.LightGbmMulti; + case MulticlassClassificationTrainer.LinearSupportVectorMachinesOVA: + return TrainerName.LinearSvmOva; + case MulticlassClassificationTrainer.LogisticRegression: + return TrainerName.LogisticRegressionMulti; + case MulticlassClassificationTrainer.LogisticRegressionOVA: + return TrainerName.LogisticRegressionOva; + case MulticlassClassificationTrainer.StochasticDualCoordinateAscent: + return TrainerName.SdcaMulti; + case MulticlassClassificationTrainer.StochasticGradientDescentOVA: + return TrainerName.StochasticGradientDescentOva; + case MulticlassClassificationTrainer.SymbolicStochasticGradientDescentOVA: + return TrainerName.SymSgdOva; + } + + // never expected to reach here + throw new NotSupportedException($"{multiTrainer} not supported"); + } + + public static TrainerName GetTrainerName(RegressionTrainer regressionTrainer) + { + switch (regressionTrainer) + { + case RegressionTrainer.FastForest: + return TrainerName.FastForestRegression; + case RegressionTrainer.FastTree: + return TrainerName.FastTreeRegression; + case RegressionTrainer.FastTreeTweedie: + return TrainerName.FastTreeTweedieRegression; + case RegressionTrainer.LightGbm: + return TrainerName.LightGbmRegression; + case RegressionTrainer.OnlineGradientDescent: + return TrainerName.OnlineGradientDescentRegression; + case RegressionTrainer.OrdinaryLeastSquares: + return TrainerName.OrdinaryLeastSquaresRegression; + case RegressionTrainer.PoissonRegression: + return TrainerName.PoissonRegression; + case RegressionTrainer.StochasticDualCoordinateAscent: + return TrainerName.SdcaRegression; + } + + // never expected to reach here + throw new NotSupportedException($"{regressionTrainer} not supported"); + } + + public static IEnumerable GetTrainerNames(IEnumerable binaryTrainers) + { + return binaryTrainers?.Select(t => GetTrainerName(t)); + } + + public static IEnumerable GetTrainerNames(IEnumerable multiTrainers) + { + return multiTrainers?.Select(t => GetTrainerName(t)); + } + + public static IEnumerable GetTrainerNames(IEnumerable regressionTrainers) + { + return regressionTrainers?.Select(t => GetTrainerName(t)); + } } } diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index 9a2e4a8679..e57bcb7a8a 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -36,7 +36,11 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tuning Console.WriteLine($"Invoking BinaryClassification.AutoFit"); var autoFitResults = mlContext.AutoInference() - .CreateBinaryClassificationExperiment(60) + .CreateBinaryClassificationExperiment(new BinaryExperimentSettings() + { + MaxInferenceTimeInSeconds = 60, + OptimizingMetric = BinaryClassificationMetric.Auc + }) .Execute(trainDataView, new ColumnInformation() { LabelColumn = LabelColumnName diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs index dd54bb0dfb..55888651f9 100644 --- a/src/Test/GetNextPipelineTests.cs +++ b/src/Test/GetNextPipelineTests.cs @@ -64,7 +64,7 @@ public void GetNextPipelineMock() Assert.AreEqual(maxIterations, history.Count); // Get all 'Stage 1' and 'Stage 2' runs from Pipeline Suggester - var allAvailableTrainers = RecipeInference.AllowedTrainers(context, task); + var allAvailableTrainers = RecipeInference.AllowedTrainers(context, task, null); var stage1Runs = history.Take(allAvailableTrainers.Count()); var stage2Runs = history.Skip(allAvailableTrainers.Count()); diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index 6917f708a7..8843844f72 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -129,5 +129,51 @@ public void BuildParameterSetSdca() Assert.AreEqual(1, sdcaParams.Count); Assert.AreEqual("1", sdcaParams["LearningRate"].ValueText); } + + [TestMethod] + public void PublicToPrivateTrainerNamesBinaryTest() + { + var publicNames = Enum.GetValues(typeof(BinaryClassificationTrainer)).Cast(); + var internalNames = TrainerExtensionUtil.GetTrainerNames(publicNames); + Assert.AreEqual(publicNames.Distinct().Count(), internalNames.Distinct().Count()); + } + + [TestMethod] + public void PublicToPrivateTrainerNamesMultiTest() + { + var publicNames = Enum.GetValues(typeof(MulticlassClassificationTrainer)).Cast(); + var internalNames = TrainerExtensionUtil.GetTrainerNames(publicNames); + Assert.AreEqual(publicNames.Distinct().Count(), internalNames.Distinct().Count()); + } + + [TestMethod] + public void PublicToPrivateTrainerNamesRegressionTest() + { + var publicNames = Enum.GetValues(typeof(RegressionTrainer)).Cast(); + var internalNames = TrainerExtensionUtil.GetTrainerNames(publicNames); + Assert.AreEqual(publicNames.Distinct().Count(), internalNames.Distinct().Count()); + } + + [TestMethod] + public void PublicToPrivateTrainerNamesNullTest() + { + var internalNames = TrainerExtensionUtil.GetTrainerNames(null as IEnumerable); + Assert.AreEqual(null, internalNames); + } + + [TestMethod] + public void AllowedTrainersWhitelistNullTest() + { + var trainers = RecipeInference.AllowedTrainers(new MLContext(), TaskKind.BinaryClassification, null); + Assert.IsTrue(trainers.Any()); + } + + [TestMethod] + public void AllowedTrainersWhitelistTest() + { + var whitelist = new[] { TrainerName.AveragedPerceptronBinary, TrainerName.FastForestBinary }; + var trainers = RecipeInference.AllowedTrainers(new MLContext(), TaskKind.BinaryClassification, whitelist); + Assert.AreEqual(whitelist.Count(), trainers.Count()); + } } } From 8a9f1f20bd92f46fd2a092db6f712e13a34e1532 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 20 Feb 2019 15:19:22 -0800 Subject: [PATCH 089/211] API rev (#181) --- .../API/BinaryClassificationExperiment.cs | 17 ++-- .../API/MulticlassClassificationExperiment.cs | 17 ++-- .../API/RegressionExperiment.cs | 17 ++-- .../AutoFitter/AutoFitter.cs | 8 +- .../BinaryMetricsAgent.cs} | 12 +-- .../IMetricsAgent.cs} | 2 +- .../MultiMetricsAgent.cs} | 12 +-- .../RegressionMetricsAgent.cs} | 12 +-- src/Samples/AutoTrainBinaryClassification.cs | 11 +-- src/Samples/AutoTrainRegression.cs | 6 +- src/Samples/Cancellation.cs | 5 +- src/Samples/CustomizeTraining.cs | 47 ++++++++++ src/Samples/Program.cs | 5 +- src/Samples/ProgressHandler.cs | 88 +++++++++---------- 14 files changed, 159 insertions(+), 100 deletions(-) rename src/Microsoft.ML.Auto/AutoFitter/{DataScorer/BinaryDataScorer.cs => MetricsAgents/BinaryMetricsAgent.cs} (75%) rename src/Microsoft.ML.Auto/AutoFitter/{DataScorer/IDataScorer.cs => MetricsAgents/IMetricsAgent.cs} (87%) rename src/Microsoft.ML.Auto/AutoFitter/{DataScorer/MultiDataScorer.cs => MetricsAgents/MultiMetricsAgent.cs} (70%) rename src/Microsoft.ML.Auto/AutoFitter/{DataScorer/RegressionDataScorer.cs => MetricsAgents/RegressionMetricsAgent.cs} (66%) create mode 100644 src/Samples/CustomizeTraining.cs diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index cd1481e4ce..27e9fc28a9 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -54,7 +54,13 @@ internal BinaryClassificationExperiment(MLContext context, BinaryExperimentSetti _settings = settings; } - public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizers = null) + { + var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; + return Execute(_context, trainData, columnInformation, null, preFeaturizers); + } + + public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) { return Execute(_context, trainData, columnInformation, null, preFeaturizers); } @@ -81,7 +87,7 @@ internal IEnumerable> Execute(MLContext c // run autofit & get all pipelines run in that process var autoFitter = new AutoFitter(context, TaskKind.BinaryClassification, trainData, columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), _settings.ProgressCallback, - _settings, new BinaryDataScorer(_settings.OptimizingMetric), + _settings, new BinaryMetricsAgent(_settings.OptimizingMetric), TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); return autoFitter.Fit(); @@ -90,10 +96,11 @@ internal IEnumerable> Execute(MLContext c public static class BinaryExperimentResultExtensions { - public static RunResult Best(this IEnumerable> results) + public static RunResult Best(this IEnumerable> results, BinaryClassificationMetric metric = BinaryClassificationMetric.Accuracy) { - double maxScore = results.Select(r => r.Metrics.Accuracy).Max(); - return results.First(r => r.Metrics.Accuracy == maxScore); + var metricsAgent = new BinaryMetricsAgent(metric); + double maxScore = results.Select(r => metricsAgent.GetScore(r.Metrics)).Max(); + return results.First(r => metricsAgent.GetScore(r.Metrics) == maxScore); } } } diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index 2759bdc37b..7004dd1df7 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -52,7 +52,13 @@ internal MulticlassClassificationExperiment(MLContext context, MulticlassExperim _settings = settings; } - public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizers = null) + { + var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; + return Execute(_context, trainData, columnInformation, null, preFeaturizers); + } + + public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) { return Execute(_context, trainData, columnInformation, null, preFeaturizers); } @@ -79,7 +85,7 @@ internal IEnumerable> Execute(MLContext c // run autofit & get all pipelines run in that process var autoFitter = new AutoFitter(context, TaskKind.MulticlassClassification, trainData, columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), - _settings.ProgressCallback, _settings, new MultiDataScorer(_settings.OptimizingMetric), + _settings.ProgressCallback, _settings, new MultiMetricsAgent(_settings.OptimizingMetric), TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); return autoFitter.Fit(); @@ -88,10 +94,11 @@ internal IEnumerable> Execute(MLContext c public static class MulticlassExperimentResultExtensions { - public static RunResult Best(this IEnumerable> results) + public static RunResult Best(this IEnumerable> results, MulticlassClassificationMetric metric = MulticlassClassificationMetric.AccuracyMicro) { - double maxScore = results.Select(r => r.Metrics.AccuracyMicro).Max(); - return results.First(r => r.Metrics.AccuracyMicro == maxScore); + var metricsAgent = new MultiMetricsAgent(metric); + double maxScore = results.Select(r => metricsAgent.GetScore(r.Metrics)).Max(); + return results.First(r => metricsAgent.GetScore(r.Metrics) == maxScore); } } } diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index 3178132f28..fc4f46d2dd 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -49,7 +49,13 @@ internal RegressionExperiment(MLContext context, RegressionExperimentSettings se _settings = settings; } - public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizers = null) + { + var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; + return Execute(_context, trainData, columnInformation, null, preFeaturizers); + } + + public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) { return Execute(_context, trainData, columnInformation, null, preFeaturizers); } @@ -76,7 +82,7 @@ internal IEnumerable> Execute(MLContext context, // run autofit & get all pipelines run in that process var autoFitter = new AutoFitter(context, TaskKind.Regression, trainData, columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), - _settings.ProgressCallback, _settings, new RegressionDataScorer(_settings.OptimizingMetric), + _settings.ProgressCallback, _settings, new RegressionMetricsAgent(_settings.OptimizingMetric), TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); return autoFitter.Fit(); @@ -85,10 +91,11 @@ internal IEnumerable> Execute(MLContext context, public static class RegressionExperimentResultExtensions { - public static RunResult Best(this IEnumerable> results) + public static RunResult Best(this IEnumerable> results, RegressionMetric metric = RegressionMetric.RSquared) { - double maxScore = results.Select(r => r.Metrics.RSquared).Max(); - return results.First(r => r.Metrics.RSquared == maxScore); + var metricsAgent = new RegressionMetricsAgent(metric); + double maxScore = results.Select(r => metricsAgent.GetScore(r.Metrics)).Max(); + return results.First(r => metricsAgent.GetScore(r.Metrics) == maxScore); } } } diff --git a/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs b/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs index 0d35f346c1..24eefa9e97 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs @@ -21,7 +21,7 @@ internal class AutoFitter where T : class private readonly IEstimator _preFeaturizers; private readonly IProgress> _progressCallback; private readonly ExperimentSettings _experimentSettings; - private readonly IDataScorer _dataScorer; + private readonly IMetricsAgent _metricsAgent; private readonly IEnumerable _trainerWhitelist; private IDataView _trainData; @@ -38,7 +38,7 @@ public AutoFitter(MLContext context, OptimizingMetricInfo metricInfo, IProgress> progressCallback, ExperimentSettings experimentSettings, - IDataScorer dataScorer, + IMetricsAgent metricsAgent, IEnumerable trainerWhitelist) { if (validationData == null) @@ -56,7 +56,7 @@ public AutoFitter(MLContext context, _preFeaturizers = preFeaturizers; _progressCallback = progressCallback; _experimentSettings = experimentSettings; - _dataScorer = dataScorer; + _metricsAgent = metricsAgent; _trainerWhitelist = trainerWhitelist; } @@ -149,7 +149,7 @@ private SuggestedPipelineResult ProcessPipeline(SuggestedPipeline pipeline) var pipelineModel = pipeline.Fit(_trainData); var scoredValidationData = pipelineModel.Transform(_validationData); var metrics = GetEvaluatedMetrics(scoredValidationData); - var score = _dataScorer.GetScore(metrics); + var score = _metricsAgent.GetScore(metrics); runResult = new SuggestedPipelineResult(metrics, pipelineModel, pipeline, score, null); } catch(Exception ex) diff --git a/src/Microsoft.ML.Auto/AutoFitter/DataScorer/BinaryDataScorer.cs b/src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/BinaryMetricsAgent.cs similarity index 75% rename from src/Microsoft.ML.Auto/AutoFitter/DataScorer/BinaryDataScorer.cs rename to src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/BinaryMetricsAgent.cs index 485cfffb72..eb88ff8229 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/DataScorer/BinaryDataScorer.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/BinaryMetricsAgent.cs @@ -7,18 +7,18 @@ namespace Microsoft.ML.Auto { - internal class BinaryDataScorer : IDataScorer + internal class BinaryMetricsAgent : IMetricsAgent { - private readonly BinaryClassificationMetric _metric; + private readonly BinaryClassificationMetric _optimizingMetric; - public BinaryDataScorer(BinaryClassificationMetric metric) + public BinaryMetricsAgent(BinaryClassificationMetric optimizingMetric) { - this._metric = metric; + this._optimizingMetric = optimizingMetric; } public double GetScore(BinaryClassificationMetrics metrics) { - switch(_metric) + switch(_optimizingMetric) { case BinaryClassificationMetric.Accuracy: return metrics.Accuracy; @@ -39,7 +39,7 @@ public double GetScore(BinaryClassificationMetrics metrics) } // never expected to reach here - throw new NotSupportedException($"{_metric} is not a supported sweep metric"); + throw new NotSupportedException($"{_optimizingMetric} is not a supported sweep metric"); } } } diff --git a/src/Microsoft.ML.Auto/AutoFitter/DataScorer/IDataScorer.cs b/src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/IMetricsAgent.cs similarity index 87% rename from src/Microsoft.ML.Auto/AutoFitter/DataScorer/IDataScorer.cs rename to src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/IMetricsAgent.cs index 2c903762fd..29e3857848 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/DataScorer/IDataScorer.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/IMetricsAgent.cs @@ -4,7 +4,7 @@ namespace Microsoft.ML.Auto { - internal interface IDataScorer + internal interface IMetricsAgent { double GetScore(T metrics); } diff --git a/src/Microsoft.ML.Auto/AutoFitter/DataScorer/MultiDataScorer.cs b/src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/MultiMetricsAgent.cs similarity index 70% rename from src/Microsoft.ML.Auto/AutoFitter/DataScorer/MultiDataScorer.cs rename to src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/MultiMetricsAgent.cs index 452f96a4a5..0ec56e560a 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/DataScorer/MultiDataScorer.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/MultiMetricsAgent.cs @@ -7,18 +7,18 @@ namespace Microsoft.ML.Auto { - internal class MultiDataScorer : IDataScorer + internal class MultiMetricsAgent : IMetricsAgent { - private readonly MulticlassClassificationMetric _metric; + private readonly MulticlassClassificationMetric _optimizingMetric; - public MultiDataScorer(MulticlassClassificationMetric metric) + public MultiMetricsAgent(MulticlassClassificationMetric optimizingMetric) { - this._metric = metric; + this._optimizingMetric = optimizingMetric; } public double GetScore(MultiClassClassifierMetrics metrics) { - switch (_metric) + switch (_optimizingMetric) { case MulticlassClassificationMetric.AccuracyMacro: return metrics.AccuracyMacro; @@ -33,7 +33,7 @@ public double GetScore(MultiClassClassifierMetrics metrics) } // never expected to reach here - throw new NotSupportedException($"{_metric} is not a supported sweep metric"); + throw new NotSupportedException($"{_optimizingMetric} is not a supported sweep metric"); } } } diff --git a/src/Microsoft.ML.Auto/AutoFitter/DataScorer/RegressionDataScorer.cs b/src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/RegressionMetricsAgent.cs similarity index 66% rename from src/Microsoft.ML.Auto/AutoFitter/DataScorer/RegressionDataScorer.cs rename to src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/RegressionMetricsAgent.cs index cd50ea4889..6653df589f 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/DataScorer/RegressionDataScorer.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/RegressionMetricsAgent.cs @@ -7,18 +7,18 @@ namespace Microsoft.ML.Auto { - internal class RegressionDataScorer : IDataScorer + internal class RegressionMetricsAgent : IMetricsAgent { - private readonly RegressionMetric _metric; + private readonly RegressionMetric _optimizingMetric; - public RegressionDataScorer(RegressionMetric metric) + public RegressionMetricsAgent(RegressionMetric optimizingMetric) { - this._metric = metric; + this._optimizingMetric = optimizingMetric; } public double GetScore(RegressionMetrics metrics) { - switch(_metric) + switch(_optimizingMetric) { case RegressionMetric.L1: return metrics.L1; @@ -31,7 +31,7 @@ public double GetScore(RegressionMetrics metrics) } // never expected to reach here - throw new NotSupportedException($"{_metric} is not a supported sweep metric"); + throw new NotSupportedException($"{_optimizingMetric} is not a supported sweep metric"); } } } diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index e57bcb7a8a..b0ec6e3793 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -36,15 +36,8 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tuning Console.WriteLine($"Invoking BinaryClassification.AutoFit"); var autoFitResults = mlContext.AutoInference() - .CreateBinaryClassificationExperiment(new BinaryExperimentSettings() - { - MaxInferenceTimeInSeconds = 60, - OptimizingMetric = BinaryClassificationMetric.Auc - }) - .Execute(trainDataView, new ColumnInformation() - { - LabelColumn = LabelColumnName - }); + .CreateBinaryClassificationExperiment(60) + .Execute(trainDataView, LabelColumnName); // STEP 4: Print metric from the best model var best = autoFitResults.Best(); diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index becf36113c..8f7b6909ec 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -36,10 +36,8 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tuning Console.WriteLine($"Invoking Regression.AutoFit"); var autoFitResults = mlContext.AutoInference() - .CreateRegressionExperiment(60) - .Execute(trainDataView, new ColumnInformation() { - LabelColumn = LabelColumnName - }); + .CreateRegressionExperiment(0) + .Execute(trainDataView, LabelColumnName); // STEP 4: Compare and print actual value vs predicted value for top 5 rows from validation data var best = autoFitResults.Best(); diff --git a/src/Samples/Cancellation.cs b/src/Samples/Cancellation.cs index af36f29b26..67b481343a 100644 --- a/src/Samples/Cancellation.cs +++ b/src/Samples/Cancellation.cs @@ -47,10 +47,7 @@ public static void Run() MaxInferenceTimeInSeconds = 60, CancellationToken = cts.Token }) - .Execute(trainDataView, new ColumnInformation() - { - LabelColumn = LabelColumnName - }); + .Execute(trainDataView, LabelColumnName); Console.WriteLine($"{autoFitResults.Count()} models were returned after {cancelAfterInSeconds} seconds"); diff --git a/src/Samples/CustomizeTraining.cs b/src/Samples/CustomizeTraining.cs new file mode 100644 index 0000000000..7e596258b1 --- /dev/null +++ b/src/Samples/CustomizeTraining.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Data.DataView; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.Data; + +namespace Samples +{ + static class CustomizeTraining + { + private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; + private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; + private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; + private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; + private static string LabelColumnName = "fare_amount"; + + public static void Run() + { + MLContext mlContext = new MLContext(); + + // STEP 1: Infer columns + var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumnName, ','); + + // STEP 2: Load data + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + IDataView trainDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); + + // STEP 3: Autofit with a callback configured + var autoFitExperiment = mlContext.AutoInference().CreateRegressionExperiment(new RegressionExperimentSettings() + { + MaxInferenceTimeInSeconds = 20, + OptimizingMetric = RegressionMetric.L2, + WhitelistedTrainers = new[] { RegressionTrainer.LightGbm }, + ProgressCallback = new Progress() + }); + autoFitExperiment.Execute(trainDataView, LabelColumnName); + + Console.WriteLine("Press any key to continue.."); + Console.ReadLine(); + } + } +} diff --git a/src/Samples/Program.cs b/src/Samples/Program.cs index b76ef5ca0c..4e01f81c84 100644 --- a/src/Samples/Program.cs +++ b/src/Samples/Program.cs @@ -26,7 +26,10 @@ public static void Main(string[] args) AutoTrainMulticlassClassification.Run(); Console.Clear(); - + + CustomizeTraining.Run(); + Console.Clear(); + Console.WriteLine("Done"); } catch (Exception ex) diff --git a/src/Samples/ProgressHandler.cs b/src/Samples/ProgressHandler.cs index d1245ce6ad..94d945bb5b 100644 --- a/src/Samples/ProgressHandler.cs +++ b/src/Samples/ProgressHandler.cs @@ -36,64 +36,64 @@ public static void Run() MaxInferenceTimeInSeconds = 1, ProgressCallback = new Progress() }); - autoFitExperiment.Execute(trainDataView, new ColumnInformation() { LabelColumn = LabelColumnName }); + autoFitExperiment.Execute(trainDataView, LabelColumnName); Console.WriteLine("Press any key to continue.."); Console.ReadLine(); } + } - class Progress : IProgress> + class Progress : IProgress> + { + int iterationIndex; + public Progress() { - int iterationIndex; - public Progress() - { - ConsolePrinter.PrintRegressionMetricsHeader(); - } + ConsolePrinter.PrintRegressionMetricsHeader(); + } - public void Report(RunResult iterationResult) - { - iterationIndex++; - ConsolePrinter.PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.Metrics); - } + public void Report(RunResult iterationResult) + { + iterationIndex++; + ConsolePrinter.PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.Metrics); } + } - class ConsolePrinter + class ConsolePrinter + { + public static void PrintRegressionMetrics(int iteration, string trainerName, RegressionMetrics metrics) { - public static void PrintRegressionMetrics(int iteration, string trainerName, RegressionMetrics metrics) - { - Console.WriteLine($"{iteration,-3}{trainerName,-35}{metrics.RSquared,-10:0.###}{metrics.LossFn,-8:0.##}{metrics.L1,-15:#.##}{metrics.L2,-15:#.##}{metrics.Rms,-10:#.##}"); - } + Console.WriteLine($"{iteration,-3}{trainerName,-35}{metrics.RSquared,-10:0.###}{metrics.LossFn,-8:0.##}{metrics.L1,-15:#.##}{metrics.L2,-15:#.##}{metrics.Rms,-10:#.##}"); + } - public static void PrintActualVersusPredictedValue(int index, float fareAmount, float score) - { - Console.WriteLine($"{index,-5}{fareAmount,-20}{score,-20}"); - } + public static void PrintActualVersusPredictedValue(int index, float fareAmount, float score) + { + Console.WriteLine($"{index,-5}{fareAmount,-20}{score,-20}"); + } - public static void PrintRegressionMetricsHeader() - { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Metrics for regression models "); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"{" ",-3}{"Trainer",-35}{"R2-Score",-10}{"LossFn",-8}{"Absolute-loss",-15}{"Squared-loss",-15}{"RMS-loss",-10}"); - Console.WriteLine(); - } + public static void PrintRegressionMetricsHeader() + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Metrics for regression models "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"{" ",-3}{"Trainer",-35}{"R2-Score",-10}{"LossFn",-8}{"Absolute-loss",-15}{"Squared-loss",-15}{"RMS-loss",-10}"); + Console.WriteLine(); + } - public static void PrintActualVersusPredictedHeader() - { - Console.WriteLine(); - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Actual fare Vs predicted fare using the model picked by automl"); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"{"Row",-5}{"Actual",-20}{"Predicted",-20}"); - } + public static void PrintActualVersusPredictedHeader() + { + Console.WriteLine(); + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Actual fare Vs predicted fare using the model picked by automl"); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"{"Row",-5}{"Actual",-20}{"Predicted",-20}"); + } - public static void PrintBestPipelineHeader() - { - Console.WriteLine(); - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Best pipeline "); - Console.WriteLine($"*------------------------------------------------"); - } + public static void PrintBestPipelineHeader() + { + Console.WriteLine(); + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Best pipeline "); + Console.WriteLine($"*------------------------------------------------"); } } } From 2d8a6ed3bf1ac17b276afd72678b382bbb079563 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 20 Feb 2019 16:07:52 -0800 Subject: [PATCH 090/211] propagate root MLContext thru AutoML (instead of creating our own) (#182) --- src/Microsoft.ML.Auto/API/Pipeline.cs | 4 +- .../AutoFitter/AutoFitter.cs | 4 +- .../AutoFitter/SuggestedPipeline.cs | 12 ++--- .../AutoFitter/SuggestedPipelineResult.cs | 4 +- src/Microsoft.ML.Auto/AutoMlUtils.cs | 19 ++++--- .../ColumnInference/ColumnInferenceApi.cs | 8 +-- .../ColumnInference/ColumnTypeInference.cs | 10 ++-- .../ColumnInference/PurposeInference.cs | 2 +- .../ColumnInference/TextFileContents.cs | 11 ++-- .../DatasetDimensions/DatasetDimensionsApi.cs | 4 +- .../PipelineSuggesters/PipelineSuggester.cs | 27 +++++----- src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs | 5 +- .../TransformInference/TransformInference.cs | 50 +++++++++++++++---- src/Test/AutoFitTests.cs | 12 ++--- src/Test/DatasetDimensionsTests.cs | 16 +++--- src/Test/GetNextPipelineTests.cs | 6 +-- src/Test/InferredPipelineTests.cs | 20 ++++---- src/Test/SweeperTests.cs | 6 +-- .../ConsoleCodeGeneratorTests.cs | 4 +- 19 files changed, 127 insertions(+), 97 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/Pipeline.cs b/src/Microsoft.ML.Auto/API/Pipeline.cs index 4fe125f01d..bd34db83e1 100644 --- a/src/Microsoft.ML.Auto/API/Pipeline.cs +++ b/src/Microsoft.ML.Auto/API/Pipeline.cs @@ -21,9 +21,9 @@ internal Pipeline() { } - public IEstimator ToEstimator() + public IEstimator ToEstimator(MLContext context) { - var inferredPipeline = SuggestedPipeline.FromPipeline(this); + var inferredPipeline = SuggestedPipeline.FromPipeline(context, this); return inferredPipeline.ToEstimator(); } } diff --git a/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs b/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs index 24eefa9e97..5727863d1b 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs @@ -43,7 +43,7 @@ public AutoFitter(MLContext context, { if (validationData == null) { - (trainData, validationData) = context.Regression.TestValidateSplit(trainData); + (trainData, validationData) = context.Regression.TestValidateSplit(context, trainData); } _trainData = trainData; _validationData = validationData; @@ -85,7 +85,7 @@ public List> Fit() var getPiplelineStopwatch = Stopwatch.StartNew(); // get next pipeline - pipeline = PipelineSuggester.GetNextInferredPipeline(_history, columns, _task, _optimizingMetricInfo.IsMaximizing, _trainerWhitelist); + pipeline = PipelineSuggester.GetNextInferredPipeline(_context, _history, columns, _task, _optimizingMetricInfo.IsMaximizing, _trainerWhitelist); getPiplelineStopwatch.Stop(); diff --git a/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipeline.cs b/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipeline.cs index 7cb4300317..37ae0117fc 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipeline.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipeline.cs @@ -23,12 +23,12 @@ internal class SuggestedPipeline public SuggestedPipeline(IEnumerable transforms, SuggestedTrainer trainer, - MLContext context = null, + MLContext context, bool autoNormalize = true) { Transforms = transforms.Select(t => t.Clone()).ToList(); Trainer = trainer.Clone(); - _context = context ?? new MLContext(); + _context = context; if(autoNormalize) { @@ -64,10 +64,8 @@ public Pipeline ToPipeline() return new Pipeline(pipelineElements.ToArray()); } - public static SuggestedPipeline FromPipeline(Pipeline pipeline) + public static SuggestedPipeline FromPipeline(MLContext context, Pipeline pipeline) { - var context = new MLContext(); - var transforms = new List(); SuggestedTrainer trainer = null; @@ -84,13 +82,13 @@ public static SuggestedPipeline FromPipeline(Pipeline pipeline) { var estimatorName = (EstimatorName)Enum.Parse(typeof(EstimatorName), pipelineNode.Name); var estimatorExtension = EstimatorExtensionCatalog.GetExtension(estimatorName); - var estimator = estimatorExtension.CreateInstance(new MLContext(), pipelineNode); + var estimator = estimatorExtension.CreateInstance(context, pipelineNode); var transform = new SuggestedTransform(pipelineNode, estimator); transforms.Add(transform); } } - return new SuggestedPipeline(transforms, trainer, null, false); + return new SuggestedPipeline(transforms, trainer, context, false); } public IEstimator ToEstimator() diff --git a/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipelineResult.cs b/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipelineResult.cs index ceb362b043..2a03dff103 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipelineResult.cs +++ b/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipelineResult.cs @@ -20,9 +20,9 @@ public SuggestedPipelineResult(SuggestedPipeline pipeline, double score, bool ru RunSucceded = runSucceeded; } - public static SuggestedPipelineResult FromPipelineRunResult(PipelineScore pipelineRunResult) + public static SuggestedPipelineResult FromPipelineRunResult(MLContext context, PipelineScore pipelineRunResult) { - return new SuggestedPipelineResult(SuggestedPipeline.FromPipeline(pipelineRunResult.Pipeline), pipelineRunResult.Score, pipelineRunResult.RunSucceded); + return new SuggestedPipelineResult(SuggestedPipeline.FromPipeline(context, pipelineRunResult.Pipeline), pipelineRunResult.Score, pipelineRunResult.RunSucceded); } public IRunResult ToRunResult(bool isMetricMaximizing) diff --git a/src/Microsoft.ML.Auto/AutoMlUtils.cs b/src/Microsoft.ML.Auto/AutoMlUtils.cs index bab5985b41..2a36d6a1d6 100644 --- a/src/Microsoft.ML.Auto/AutoMlUtils.cs +++ b/src/Microsoft.ML.Auto/AutoMlUtils.cs @@ -23,29 +23,28 @@ public static void Assert(bool boolVal, string message = null) } } - public static IDataView Take(this IDataView data, int count) + public static IDataView Take(this IDataView data, MLContext context, int count) { - var context = new MLContext(); return TakeFilter.Create(context, data, count); } - public static IDataView DropLastColumn(this IDataView data) + public static IDataView DropLastColumn(this IDataView data, MLContext context) { - return new MLContext().Transforms.DropColumns(data.Schema[data.Schema.Count - 1].Name).Fit(data).Transform(data); + return context.Transforms.DropColumns(data.Schema[data.Schema.Count - 1].Name).Fit(data).Transform(data); } - public static (IDataView testData, IDataView validationData) TestValidateSplit(this TrainCatalogBase catalog, IDataView trainData) + public static (IDataView testData, IDataView validationData) TestValidateSplit(this TrainCatalogBase catalog, + MLContext context, IDataView trainData) { IDataView validationData; (trainData, validationData) = catalog.TrainTestSplit(trainData); - trainData = trainData.DropLastColumn(); - validationData = validationData.DropLastColumn(); + trainData = trainData.DropLastColumn(context); + validationData = validationData.DropLastColumn(context); return (trainData, validationData); } - public static IDataView Skip(this IDataView data, int count) + public static IDataView Skip(this IDataView data, MLContext context, int count) { - var context = new MLContext(); return SkipFilter.Create(context, data, count); } @@ -53,7 +52,7 @@ public static (string, ColumnType, ColumnPurpose, ColumnDimensions)[] GetColumnI IDataView data, ColumnInformation columnInfo) { var purposes = PurposeInference.InferPurposes(context, data, columnInfo); - var colDimensions = DatasetDimensionsApi.CalcColumnDimensions(data, purposes); + var colDimensions = DatasetDimensionsApi.CalcColumnDimensions(context, data, purposes); var cols = new (string, ColumnType, ColumnPurpose, ColumnDimensions)[data.Schema.Count]; for (var i = 0; i < cols.Length; i++) { diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs index a51dcfd80c..30e79a02fb 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs @@ -14,7 +14,7 @@ public static ColumnInferenceResults InferColumns(MLContext context, string path bool hasHeader, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse, bool trimWhitespace, bool groupColumns) { var sample = TextFileSample.CreateFromFullFile(path); - var splitInference = InferSplit(sample, separatorChar, allowQuotedStrings, supportSparse); + var splitInference = InferSplit(context, sample, separatorChar, allowQuotedStrings, supportSparse); var typeInference = InferColumnTypes(context, sample, splitInference, hasHeader, labelColumnIndex, null); // if no column is named label, @@ -32,7 +32,7 @@ public static ColumnInferenceResults InferColumns(MLContext context, string path char? separatorChar, bool? allowQuotedStrings, bool? supportSparse, bool trimWhitespace, bool groupColumns) { var sample = TextFileSample.CreateFromFullFile(path); - var splitInference = InferSplit(sample, separatorChar, allowQuotedStrings, supportSparse); + var splitInference = InferSplit(context, sample, separatorChar, allowQuotedStrings, supportSparse); var typeInference = InferColumnTypes(context, sample, splitInference, true, null, label); return InferColumns(context, path, label, true, splitInference, typeInference, trimWhitespace, groupColumns); } @@ -93,10 +93,10 @@ public static ColumnInferenceResults InferColumns(MLContext context, string path }; } - private static TextFileContents.ColumnSplitResult InferSplit(TextFileSample sample, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse) + private static TextFileContents.ColumnSplitResult InferSplit(MLContext context, TextFileSample sample, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse) { var separatorCandidates = separatorChar == null ? TextFileContents.DefaultSeparators : new char[] { separatorChar.Value }; - var splitInference = TextFileContents.TrySplitColumns(sample, separatorCandidates); + var splitInference = TextFileContents.TrySplitColumns(context, sample, separatorCandidates); // respect passed-in overrides if (allowQuotedStrings != null) diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs index c4bc41697d..81cb2f5036 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs @@ -236,12 +236,12 @@ private static IEnumerable GetExperts() /// /// Auto-detect column types of the file. /// - public static InferenceResult InferTextFileColumnTypes(MLContext env, IMultiStreamSource fileSource, Arguments args) + public static InferenceResult InferTextFileColumnTypes(MLContext context, IMultiStreamSource fileSource, Arguments args) { - return InferTextFileColumnTypesCore(env, fileSource, args); + return InferTextFileColumnTypesCore(context, fileSource, args); } - private static InferenceResult InferTextFileColumnTypesCore(MLContext env, IMultiStreamSource fileSource, Arguments args) + private static InferenceResult InferTextFileColumnTypesCore(MLContext context, IMultiStreamSource fileSource, Arguments args) { if (args.ColumnCount == 0) { @@ -263,9 +263,9 @@ private static InferenceResult InferTextFileColumnTypesCore(MLContext env, IMult AllowSparse = args.AllowSparse, AllowQuoting = args.AllowQuote, }; - var textLoader = new TextLoader(env, textLoaderArgs); + var textLoader = new TextLoader(context, textLoaderArgs); var idv = textLoader.Read(fileSource); - idv = idv.Take(args.MaxRowsToRead); + idv = idv.Take(context, args.MaxRowsToRead); // read all the data into memory. // list items are rows of the dataset. diff --git a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs index a7aadbebf0..86249b3dea 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs @@ -266,7 +266,7 @@ private static IEnumerable GetExperts() public static PurposeInference.Column[] InferPurposes(MLContext context, IDataView data, ColumnInformation columnInfo) { - data = data.Take(MaxRowsToRead); + data = data.Take(context, MaxRowsToRead); var allColumns = new List(); var columnsToInfer = new List(); diff --git a/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs b/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs index 38a0d5c7f1..0fa0f62cd3 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs @@ -46,7 +46,7 @@ public ColumnSplitResult(bool isSuccess, char? separator, bool allowQuote, bool /// and this number of columns is more than 1. /// We sweep on separator, allow sparse and allow quote parameter. /// - public static ColumnSplitResult TrySplitColumns(IMultiStreamSource source, char[] separatorCandidates) + public static ColumnSplitResult TrySplitColumns(MLContext context, IMultiStreamSource source, char[] separatorCandidates) { var sparse = new[] { true, false }; var quote = new[] { true, false }; @@ -69,7 +69,7 @@ from _sep in separatorCandidates AllowSparse = perm._allowSparse }; - if (TryParseFile(args, source, out result)) + if (TryParseFile(context, args, source, out result)) { foundAny = true; break; @@ -78,15 +78,16 @@ from _sep in separatorCandidates return foundAny ? result : new ColumnSplitResult(false, null, true, true, 0); } - private static bool TryParseFile(TextLoader.Arguments args, IMultiStreamSource source, out ColumnSplitResult result) + private static bool TryParseFile(MLContext context, TextLoader.Arguments args, IMultiStreamSource source, + out ColumnSplitResult result) { result = null; // try to instantiate data view with swept arguments try { - var textLoader = new TextLoader(new MLContext(), args, source); - var idv = textLoader.Read(source).Take(1000); + var textLoader = new TextLoader(context, args, source); + var idv = textLoader.Read(source).Take(context, 1000); var columnCounts = new List(); var column = idv.Schema["C"]; var columnIndex = column.Index; diff --git a/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs b/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs index d62c2c6b0b..ca4eeb8002 100644 --- a/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs +++ b/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs @@ -10,9 +10,9 @@ internal class DatasetDimensionsApi { private const int MaxRowsToRead = 1000; - public static ColumnDimensions[] CalcColumnDimensions(IDataView data, PurposeInference.Column[] purposes) + public static ColumnDimensions[] CalcColumnDimensions(MLContext context, IDataView data, PurposeInference.Column[] purposes) { - data = data.Take(MaxRowsToRead); + data = data.Take(context, MaxRowsToRead); var colDimensions = new ColumnDimensions[data.Schema.Count]; diff --git a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs index 9a662f3e86..db1f8e9830 100644 --- a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs +++ b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs @@ -14,24 +14,24 @@ internal static class PipelineSuggester { private const int TopKTrainers = 3; - public static Pipeline GetNextPipeline(IEnumerable history, + public static Pipeline GetNextPipeline(MLContext context, + IEnumerable history, (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns, TaskKind task, bool isMaximizingMetric = true) { - var inferredHistory = history.Select(r => SuggestedPipelineResult.FromPipelineRunResult(r)); - var nextInferredPipeline = GetNextInferredPipeline(inferredHistory, columns, task, isMaximizingMetric); + var inferredHistory = history.Select(r => SuggestedPipelineResult.FromPipelineRunResult(context, r)); + var nextInferredPipeline = GetNextInferredPipeline(context, inferredHistory, columns, task, isMaximizingMetric); return nextInferredPipeline?.ToPipeline(); } - public static SuggestedPipeline GetNextInferredPipeline(IEnumerable history, + public static SuggestedPipeline GetNextInferredPipeline(MLContext context, + IEnumerable history, (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns, TaskKind task, bool isMaximizingMetric, IEnumerable trainerWhitelist = null) { - var context = new MLContext(); - var availableTrainers = RecipeInference.AllowedTrainers(context, task, trainerWhitelist); var transforms = CalculateTransforms(context, columns, task); //var transforms = TransformInferenceApi.InferTransforms(context, columns, task); @@ -39,7 +39,7 @@ public static SuggestedPipeline GetNextInferredPipeline(IEnumerable OrderTrainersByNumTrials(IEnumerabl .Select(x => x.First().Pipeline.Trainer); } - private static SuggestedPipeline GetNextFirstStagePipeline(IEnumerable history, + private static SuggestedPipeline GetNextFirstStagePipeline(MLContext context, + IEnumerable history, IEnumerable availableTrainers, IEnumerable transforms) { var trainer = availableTrainers.ElementAt(history.Count()); - return new SuggestedPipeline(transforms, trainer); + return new SuggestedPipeline(transforms, trainer, context); } private static IValueGenerator[] ConvertToValueGenerators(IEnumerable hps) @@ -184,10 +185,10 @@ private static IValueGenerator[] ConvertToValueGenerators(IEnumerable - private static bool SampleHyperparameters(SuggestedTrainer trainer, IEnumerable history, bool isMaximizingMetric) + private static bool SampleHyperparameters(MLContext context, SuggestedTrainer trainer, IEnumerable history, bool isMaximizingMetric) { var sps = ConvertToValueGenerators(trainer.SweepParams); - var sweeper = new SmacSweeper( + var sweeper = new SmacSweeper(context, new SmacSweeper.Arguments { SweptParameters = sps diff --git a/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs b/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs index 67fc734fdf..10650a7f0b 100644 --- a/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs +++ b/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs @@ -55,12 +55,13 @@ public sealed class Arguments private readonly ISweeper _randomSweeper; private readonly Arguments _args; - private readonly MLContext _context = new MLContext(); + private readonly MLContext _context; private readonly IValueGenerator[] _sweepParameters; - public SmacSweeper(Arguments args) + public SmacSweeper(MLContext context, Arguments args) { + _context = context; _args = args; _sweepParameters = args.SweptParameters; _randomSweeper = new UniformRandomSweeper(new SweeperBase.ArgumentsBase(), _sweepParameters); diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs index bb2974b7e9..694d1f8a8b 100644 --- a/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs +++ b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs @@ -127,45 +127,49 @@ public abstract class TransformInferenceExpertBase : ITransformInferenceExpert protected readonly MLContext Context; - public TransformInferenceExpertBase() + public TransformInferenceExpertBase(MLContext context) { - Context = new MLContext(); + Context = context; } } - private static IEnumerable GetExperts() + private static IEnumerable GetExperts(MLContext context) { // The expert work independently of each other, the sequence is irrelevant // (it only determines the sequence of resulting transforms). // For text labels, convert to categories. - yield return new Experts.AutoLabel(); + yield return new Experts.AutoLabel(context); // For group ID column, rename to GroupId and hash, if text. // REVIEW: this is only sufficient if we discard the possibility of hash collisions, and don't care // about the group Id cardinality (we don't for ranking). - yield return new Experts.GroupIdHashRename(); + yield return new Experts.GroupIdHashRename(context); // For name column, rename to Name (or, if multiple and text, concat and rename to Name). - yield return new Experts.NameColumnConcatRename(); + yield return new Experts.NameColumnConcatRename(context); // For boolean columns use convert transform - yield return new Experts.Boolean(); + yield return new Experts.Boolean(context); // For categorical columns, use Cat transform. - yield return new Experts.Categorical(); + yield return new Experts.Categorical(context); // For text columns, use TextTransform. - yield return new Experts.Text(); + yield return new Experts.Text(context); // If numeric column has missing values, use Missing transform. - yield return new Experts.NumericMissing(); + yield return new Experts.NumericMissing(context); } internal static class Experts { internal sealed class AutoLabel : TransformInferenceExpertBase { + public AutoLabel(MLContext context) : base(context) + { + } + public override IEnumerable Apply(IntermediateColumn[] columns) { var lastLabelColId = Array.FindLastIndex(columns, x => x.Purpose == ColumnPurpose.Label); @@ -187,6 +191,10 @@ public override IEnumerable Apply(IntermediateColumn[] colum internal sealed class GroupIdHashRename : TransformInferenceExpertBase { + public GroupIdHashRename(MLContext context) : base(context) + { + } + public override IEnumerable Apply(IntermediateColumn[] columns) { var firstGroupColId = Array.FindIndex(columns, x => x.Purpose == ColumnPurpose.Group); @@ -209,6 +217,10 @@ public override IEnumerable Apply(IntermediateColumn[] colum internal sealed class Categorical : TransformInferenceExpertBase { + public Categorical(MLContext context) : base(context) + { + } + public override IEnumerable Apply(IntermediateColumn[] columns) { bool foundCat = false; @@ -255,6 +267,10 @@ public override IEnumerable Apply(IntermediateColumn[] colum internal sealed class Boolean : TransformInferenceExpertBase { + public Boolean(MLContext context) : base(context) + { + } + public override IEnumerable Apply(IntermediateColumn[] columns) { var newColumns = new List(); @@ -279,6 +295,10 @@ public override IEnumerable Apply(IntermediateColumn[] colum internal sealed class Text : TransformInferenceExpertBase { + public Text(MLContext context) : base(context) + { + } + public override IEnumerable Apply(IntermediateColumn[] columns) { var featureCols = new List(); @@ -301,6 +321,10 @@ public override IEnumerable Apply(IntermediateColumn[] colum internal sealed class NumericMissing : TransformInferenceExpertBase { + public NumericMissing(MLContext context) : base(context) + { + } + public override IEnumerable Apply(IntermediateColumn[] columns) { var columnsWithMissing = new List(); @@ -326,6 +350,10 @@ public override IEnumerable Apply(IntermediateColumn[] colum internal sealed class NameColumnConcatRename : TransformInferenceExpertBase { + public NameColumnConcatRename(MLContext context) : base(context) + { + } + public override IEnumerable Apply(IntermediateColumn[] columns) { int count = 0; @@ -385,7 +413,7 @@ public static SuggestedTransform[] InferTransforms(MLContext context, (string, C .ToArray(); var suggestedTransforms = new List(); - foreach (var expert in GetExperts()) + foreach (var expert in GetExperts(context)) { SuggestedTransform[] suggestions = expert.Apply(intermediateCols).ToArray(); suggestedTransforms.AddRange(suggestions); diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index 6202b2ae9f..2b8fb782fb 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -18,8 +18,8 @@ public void AutoFitBinaryTest() var columnInference = context.AutoInference().InferColumns(dataPath, DatasetUtil.UciAdultLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(dataPath); - var validationData = trainData.Take(100); - trainData = trainData.Skip(100); + var validationData = trainData.Take(context, 100); + trainData = trainData.Skip(context, 100); var result = context.AutoInference() .CreateBinaryClassificationExperiment(0) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); @@ -35,8 +35,8 @@ public void AutoFitMultiTest() var columnInference = context.AutoInference().InferColumns(dataPath, DatasetUtil.TrivialDatasetLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(dataPath); - var validationData = trainData.Take(20); - trainData = trainData.Skip(20); + var validationData = trainData.Take(context, 20); + trainData = trainData.Skip(context, 20); var result = context.AutoInference() .CreateMulticlassClassificationExperiment(0) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.TrivialDatasetLabel }); @@ -52,8 +52,8 @@ public void AutoFitRegressionTest() var columnInference = context.AutoInference().InferColumns(dataPath, DatasetUtil.MlNetGeneratedRegressionLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(dataPath); - var validationData = trainData.Take(20); - trainData = trainData.Skip(20); + var validationData = trainData.Take(context, 20); + trainData = trainData.Skip(context, 20); var results = context.AutoInference() .CreateRegressionExperiment(0) .Execute(trainData, validationData, diff --git a/src/Test/DatasetDimensionsTests.cs b/src/Test/DatasetDimensionsTests.cs index c744922cc2..23e41f4a7c 100644 --- a/src/Test/DatasetDimensionsTests.cs +++ b/src/Test/DatasetDimensionsTests.cs @@ -15,11 +15,12 @@ public class DatasetDimensionsTests [TestMethod] public void TextColumnDimensionsTest() { - var dataBuilder = new ArrayDataViewBuilder(new MLContext()); + var context = new MLContext(); + var dataBuilder = new ArrayDataViewBuilder(context); dataBuilder.AddColumn("categorical", new string[] { "0", "1", "0", "1", "0", "1", "2", "2", "0", "1" }); dataBuilder.AddColumn("text", new string[] { "0", "1", "0", "1", "0", "1", "2", "2", "0", "1" }); var data = dataBuilder.GetDataView(); - var dimensions = DatasetDimensionsApi.CalcColumnDimensions(data, new[] { + var dimensions = DatasetDimensionsApi.CalcColumnDimensions(context, data, new[] { new PurposeInference.Column(0, ColumnPurpose.CategoricalFeature), new PurposeInference.Column(0, ColumnPurpose.TextFeature), }); @@ -34,11 +35,12 @@ public void TextColumnDimensionsTest() [TestMethod] public void FloatColumnDimensionsTest() { - var dataBuilder = new ArrayDataViewBuilder(new MLContext()); + var context = new MLContext(); + var dataBuilder = new ArrayDataViewBuilder(context); dataBuilder.AddColumn("NoNan", NumberType.R4, new float[] { 0, 1, 0, 1, 0 }); dataBuilder.AddColumn("Nan", NumberType.R4, new float[] { 0, 1, 0, 1, float.NaN }); var data = dataBuilder.GetDataView(); - var dimensions = DatasetDimensionsApi.CalcColumnDimensions(data, new[] { + var dimensions = DatasetDimensionsApi.CalcColumnDimensions(context, data, new[] { new PurposeInference.Column(0, ColumnPurpose.NumericFeature), new PurposeInference.Column(1, ColumnPurpose.NumericFeature), }); @@ -53,8 +55,8 @@ public void FloatColumnDimensionsTest() [TestMethod] public void FloatVectorColumnHasNanTest() { - var x = new MLContext(); - var dataBuilder = new ArrayDataViewBuilder(new MLContext()); + var context = new MLContext(); + var dataBuilder = new ArrayDataViewBuilder(context); var slotNames = new[] { "Col1", "Col2" }; var colValues = new float[][] { @@ -69,7 +71,7 @@ public void FloatVectorColumnHasNanTest() }; dataBuilder.AddColumn("Nan", GetKeyValueGetter(slotNames), NumberType.R4, colValues); var data = dataBuilder.GetDataView(); - var dimensions = DatasetDimensionsApi.CalcColumnDimensions(data, new[] { + var dimensions = DatasetDimensionsApi.CalcColumnDimensions(context, data, new[] { new PurposeInference.Column(0, ColumnPurpose.NumericFeature), new PurposeInference.Column(1, ColumnPurpose.NumericFeature), }); diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs index 55888651f9..47f6ca2e68 100644 --- a/src/Test/GetNextPipelineTests.cs +++ b/src/Test/GetNextPipelineTests.cs @@ -21,7 +21,7 @@ public void GetNextPipeline() var columns = AutoMlUtils.GetColumnInfoTuples(context, uciAdult, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); // get next pipeline - var pipeline = PipelineSuggester.GetNextPipeline(new List(), columns, TaskKind.BinaryClassification); + var pipeline = PipelineSuggester.GetNextPipeline(context, new List(), columns, TaskKind.BinaryClassification); // serialize & deserialize pipeline var serialized = JsonConvert.SerializeObject(pipeline); @@ -29,7 +29,7 @@ public void GetNextPipeline() var deserialized = JsonConvert.DeserializeObject(serialized); // run pipeline - var estimator = deserialized.ToEstimator(); + var estimator = deserialized.ToEstimator(context); var scoredData = estimator.Fit(uciAdult).Transform(uciAdult); var score = context.BinaryClassification.EvaluateNonCalibrated(scoredData).Accuracy; var result = new PipelineScore(deserialized, score, true); @@ -51,7 +51,7 @@ public void GetNextPipelineMock() for (var i = 0; i < maxIterations; i++) { // Get next pipeline - var pipeline = PipelineSuggester.GetNextPipeline(history, columns, task); + var pipeline = PipelineSuggester.GetNextPipeline(context, history, columns, task); if (pipeline == null) { break; diff --git a/src/Test/InferredPipelineTests.cs b/src/Test/InferredPipelineTests.cs index ec5f8d0b88..495ad58e88 100644 --- a/src/Test/InferredPipelineTests.cs +++ b/src/Test/InferredPipelineTests.cs @@ -21,16 +21,16 @@ public void InferredPipelinesHashTest() var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); var transforms1 = new List(); var transforms2 = new List(); - var inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1); - var inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2); + var inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); + var inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // test same learners with hyperparams set vs empty hyperparams have different hash codes var hyperparams1 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams1); trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); - inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1); - inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2); + inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); + inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same learners with different hyperparams @@ -38,8 +38,8 @@ public void InferredPipelinesHashTest() var hyperparams2 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 6) }); trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams1); trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams2); - inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1); - inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2); + inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); + inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same learners with same transforms @@ -47,8 +47,8 @@ public void InferredPipelinesHashTest() trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1); - inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2); + inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); + inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same transforms with different learners @@ -56,8 +56,8 @@ public void InferredPipelinesHashTest() trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1); - inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2); + inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); + inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); } } diff --git a/src/Test/SweeperTests.cs b/src/Test/SweeperTests.cs index 335bbca835..c2e60922cf 100644 --- a/src/Test/SweeperTests.cs +++ b/src/Test/SweeperTests.cs @@ -22,7 +22,7 @@ public void SmacQuickRunTest() var longLogValueGenerator = new LongValueGenerator(new LongParamArguments() { Name = "longLog", Min = 1, Max = 1000, LogBase = true }); var discreteValueGeneator = new DiscreteValueGenerator(new DiscreteParamArguments() { Name = "discrete", Values = new[] { "200", "400", "600", "800" } }); - var sweeper = new SmacSweeper(new SmacSweeper.Arguments() + var sweeper = new SmacSweeper(new MLContext(), new SmacSweeper.Arguments() { SweptParameters = new IValueGenerator[] { floatValueGenerator, @@ -81,7 +81,7 @@ public void SmacQuickRunTest() [TestMethod] public void Smac4ParamsConvergenceTest() { - var sweeper = new SmacSweeper(new SmacSweeper.Arguments() + var sweeper = new SmacSweeper(new MLContext(), new SmacSweeper.Arguments() { SweptParameters = new INumericValueGenerator[] { new FloatValueGenerator(new FloatParamArguments() { Name = "x1", Min = 1, Max = 1000}), @@ -135,7 +135,7 @@ public void Smac4ParamsConvergenceTest() [TestMethod] public void Smac2ParamsConvergenceTest() { - var sweeper = new SmacSweeper(new SmacSweeper.Arguments() + var sweeper = new SmacSweeper(new MLContext(), new SmacSweeper.Arguments() { SweptParameters = new INumericValueGenerator[] { new FloatValueGenerator(new FloatParamArguments() { Name = "foo", Min = 1, Max = 5}), diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index 51559bb8eb..18fa793626 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -98,8 +98,8 @@ public void GeneratedHelperCodeTest() var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams2); var transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; var transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - var inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1); - var inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2); + var inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); + var inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); this.pipeline = inferredPipeline1.ToPipeline(); var textLoaderArgs = new TextLoader.Arguments() From ce4ad27d675685f8035e9694ed0687f53c4b0b57 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 20 Feb 2019 16:22:00 -0800 Subject: [PATCH 091/211] Enabling new command line args (#183) * fix package name * initial commit * added more commandline args * fixed tests * added headers * fix tests * fix test --- ...rTests.GeneratedTrainCodeTest.approved.txt | 7 +- .../ConsoleCodeGeneratorTests.cs | 6 +- src/mlnet.Test/CodeGenTests.cs | 6 +- src/mlnet.Test/CommandLineTests.cs | 113 +++++++++++++----- src/mlnet/Commands/CommandDefinitions.cs | 37 ++++-- src/mlnet/Commands/New/NewCommandHandler.cs | 71 ++++++----- src/mlnet/Data/Options.cs | 24 ++-- src/mlnet/Program.cs | 44 ++----- src/mlnet/Strings.resx | 3 + src/mlnet/Templates/Console/MLCodeGen.cs | 23 ++-- src/mlnet/Templates/Console/MLCodeGen.tt | 9 +- src/mlnet/Utilities/Utils.cs | 63 ++++++++++ src/mlnet/mlnet.csproj | 2 +- src/mlnet/strings.Designer.cs | 9 ++ 14 files changed, 280 insertions(+), 137 deletions(-) create mode 100644 src/mlnet/Utilities/Utils.cs diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt index b2a785cde1..3d00a1d2d2 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt @@ -1,4 +1,7 @@ - +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + using System; using System.IO; using System.Linq; @@ -105,7 +108,7 @@ namespace MyNamespace var resultprediction = predEngine.Predict(sample); Console.WriteLine($"=============== Single Prediction ==============="); - Console.WriteLine($"Input: {sample} | Prediction: {resultprediction.Prediction}"); + Console.WriteLine($"Actual value: {sample.Label} | Predicted value: {resultprediction.Prediction}"); Console.WriteLine($"=================================================="); } diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index 18fa793626..15d59f0fde 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -1,4 +1,8 @@ -using System.Collections.Generic; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; using System.IO; using ApprovalTests; using ApprovalTests.Reporters; diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index 35dc219bc2..91dc823d83 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -1,4 +1,8 @@ -using System.Collections.Generic; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.CLI.CodeGenerator.CSharp; diff --git a/src/mlnet.Test/CommandLineTests.cs b/src/mlnet.Test/CommandLineTests.cs index 8f0ef8734b..ac4203a9de 100644 --- a/src/mlnet.Test/CommandLineTests.cs +++ b/src/mlnet.Test/CommandLineTests.cs @@ -1,8 +1,12 @@ -using System.CommandLine.Builder; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.CommandLine.Builder; using System.CommandLine.Invocation; using System.IO; -using Microsoft.ML.Auto; using Microsoft.ML.CLI.Commands; +using Microsoft.ML.CLI.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace mlnet.Test @@ -16,8 +20,8 @@ public void TestCommandLineArgs() bool parsingSuccessful = false; // Create handler outside so that commandline and the handler is decoupled and testable. - var handler = CommandHandler.Create( - (trainDataset, validationDataset, testDataset, mlTask, labelColumnName, maxExplorationTime, labelColumnIndex) => + var handler = CommandHandler.Create( + (opt) => { parsingSuccessful = true; }); @@ -28,10 +32,12 @@ public void TestCommandLineArgs() .UseDefaults() .Build(); - var file = Path.GetTempFileName(); - string[] args = new[] { "new", "--ml-task", "BinaryClassification", "--train-dataset", file, "--label-column-name", "Label" }; + var trainDataset = Path.GetTempFileName(); + var testDataset = Path.GetTempFileName(); + string[] args = new[] { "new", "--ml-task", "binary-classification", "--train-dataset", trainDataset, "--test-dataset", testDataset, "--label-column-name", "Label" }; parser.InvokeAsync(args).Wait(); - File.Delete(file); + File.Delete(trainDataset); + File.Delete(testDataset); Assert.IsTrue(parsingSuccessful); } @@ -42,8 +48,8 @@ public void TestCommandLineArgsFailTest() bool parsingSuccessful = false; // Create handler outside so that commandline and the handler is decoupled and testable. - var handler = CommandHandler.Create( - (trainDataset, validationDataset, testDataset, mlTask, labelColumnName, maxExplorationTime, labelColumnIndex) => + var handler = CommandHandler.Create( + (opt) => { parsingSuccessful = true; }); @@ -55,46 +61,56 @@ public void TestCommandLineArgsFailTest() .Build(); // Incorrect mltask test - var file = Path.GetTempFileName(); - string[] args = new[] { "new", "--ml-task", "BinaryClass", "--train-dataset", file, "--label-column-name", "Label" }; + var trainDataset = Path.GetTempFileName(); + var testDataset = Path.GetTempFileName(); + + //wrong value to ml-task + string[] args = new[] { "new", "--ml-task", "bad-value", "--train-dataset", trainDataset, "--label-column-name", "Label" }; parser.InvokeAsync(args).Wait(); Assert.IsFalse(parsingSuccessful); // Incorrect invocation - args = new[] { "new", "BinaryClassification", "--train-dataset", file, "--label-column-name", "Label" }; + args = new[] { "new", "binary-classification", "--train-dataset", trainDataset, "--label-column-name", "Label" }; parser.InvokeAsync(args).Wait(); Assert.IsFalse(parsingSuccessful); // Non-existent file test - args = new[] { "new", "--ml-task", "BinaryClassification", "--train-dataset", "blah.csv", "--label-column-name", "Label" }; + args = new[] { "new", "--ml-task", "binary-classification", "--train-dataset", "nonexistentfile.csv", "--label-column-name", "Label" }; parser.InvokeAsync(args).Wait(); Assert.IsFalse(parsingSuccessful); // No label column or index test - args = new[] { "new", "--ml-task", "BinaryClassification", "--train-dataset", "blah.csv" }; + args = new[] { "new", "--ml-task", "binary-classification", "--train-dataset", trainDataset, "--test-dataset", testDataset }; parser.InvokeAsync(args).Wait(); + File.Delete(trainDataset); + File.Delete(testDataset); Assert.IsFalse(parsingSuccessful); - } [TestMethod] public void TestCommandLineArgsValuesTest() { bool parsingSuccessful = false; - var file1 = Path.GetTempFileName(); - var file2 = Path.GetTempFileName(); + var trainDataset = Path.GetTempFileName(); + var testDataset = Path.GetTempFileName(); + var validDataset = Path.GetTempFileName(); var labelName = "Label"; + var name = "testname"; + var outputPath = "."; // Create handler outside so that commandline and the handler is decoupled and testable. - var handler = CommandHandler.Create( - (trainDataset, validationDataset, testDataset, mlTask, labelColumnName, maxExplorationTime, labelColumnIndex) => + var handler = CommandHandler.Create( + (opt) => { parsingSuccessful = true; - Assert.AreEqual(mlTask, TaskKind.BinaryClassification); - Assert.AreEqual(trainDataset, file1); - Assert.AreEqual(testDataset, file2); - Assert.AreEqual(labelColumnName, labelName); - Assert.AreEqual(maxExplorationTime, 5); + Assert.AreEqual(opt.MlTask, "binary-classification"); + Assert.AreEqual(opt.TrainDataset, trainDataset); + Assert.AreEqual(opt.TestDataset, testDataset); + Assert.AreEqual(opt.ValidationDataset, validDataset); + Assert.AreEqual(opt.LabelColumnName, labelName); + Assert.AreEqual(opt.MaxExplorationTime, 5); + Assert.AreEqual(opt.Name, name); + Assert.AreEqual(opt.OutputPath, outputPath); }); var parser = new CommandLineBuilder() @@ -104,12 +120,55 @@ public void TestCommandLineArgsValuesTest() .Build(); // Incorrect mltask test - string[] args = new[] { "new", "--ml-task", "BinaryClassification", "--train-dataset", file1, "--label-column-name", labelName, "--test-dataset", file2, "--max-exploration-time", "5" }; + string[] args = new[] { "new", "--ml-task", "binary-classification", "--train-dataset", trainDataset, "--label-column-name", labelName, "--validation-dataset", validDataset, "--test-dataset", testDataset, "--max-exploration-time", "5", "--name", name, "--output-path", outputPath }; parser.InvokeAsync(args).Wait(); - File.Delete(file1); - File.Delete(file2); + File.Delete(trainDataset); + File.Delete(testDataset); + File.Delete(validDataset); Assert.IsTrue(parsingSuccessful); } + + [TestMethod] + public void TestCommandLineArgsMutuallyExclusiveArgsTest() + { + bool parsingSuccessful = false; + var dataset = Path.GetTempFileName(); + var trainDataset = Path.GetTempFileName(); + var testDataset = Path.GetTempFileName(); + var labelName = "Label"; + + // Create handler outside so that commandline and the handler is decoupled and testable. + var handler = CommandHandler.Create( + (opt) => + { + parsingSuccessful = true; + }); + + var parser = new CommandLineBuilder() + // Parser + .AddCommand(CommandDefinitions.New(handler)) + .UseDefaults() + .Build(); + + // Incorrect arguments : specifying dataset and train-dataset + string[] args = new[] { "new", "--ml-task", "BinaryClassification", "--dataset", dataset, "--train-dataset", trainDataset, "--label-column-name", labelName, "--test-dataset", testDataset, "--max-exploration-time", "5" }; + parser.InvokeAsync(args).Wait(); + Assert.IsFalse(parsingSuccessful); + + // Incorrect arguments : specifying train-dataset and not specifying test-dataset + args = new[] { "new", "--ml-task", "BinaryClassification", "--train-dataset", trainDataset, "--label-column-name", labelName, "--max-exploration-time", "5" }; + parser.InvokeAsync(args).Wait(); + Assert.IsFalse(parsingSuccessful); + + // Incorrect arguments : specifying label column name and index + args = new[] { "new", "--ml-task", "BinaryClassification", "--train-dataset", trainDataset, "--label-column-name", labelName, "--label-column-index", "0", "--test-dataset", testDataset, "--max-exploration-time", "5" }; + parser.InvokeAsync(args).Wait(); + File.Delete(trainDataset); + File.Delete(testDataset); + File.Delete(dataset); + Assert.IsFalse(parsingSuccessful); + + } } } diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index bf611f64b3..01fd6d55e0 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -19,7 +19,7 @@ internal static System.CommandLine.Command New(ICommandHandler handler) { var newCommand = new System.CommandLine.Command("new", "ML.NET CLI tool for code generation", handler: handler) { - //Dataset(), + Dataset(), TrainDataset(), ValidationDataset(), TestDataset(), @@ -29,14 +29,22 @@ internal static System.CommandLine.Command New(ICommandHandler handler) LabelColumnIndex(), Verbosity(), Name(), - OutputBaseDir() + OutputPath() }; newCommand.Argument.AddValidator((sym) => { - if (sym.Children["--train-dataset"] == null) + if (sym.Children["--dataset"] == null && sym.Children["--train-dataset"] == null) { - return "Option required : --train-dataset"; + return "Option required : --dataset"; + } + if (sym.Children["--dataset"] != null && sym.Children["--train-dataset"] != null) + { + return "The following options are mutually exclusive please provide only one : --data-set, --train-dataset"; + } + if (sym.Children["--train-dataset"] != null && sym.Children["--test-dataset"] == null) + { + return "Option required : --test-dataset"; } if (sym.Children["--ml-task"] == null) { @@ -46,14 +54,19 @@ internal static System.CommandLine.Command New(ICommandHandler handler) { return "Option required : --label-column-name or --label-column-index"; } + if (sym.Children["--label-column-name"] != null && sym.Children["--label-column-index"] != null) + { + return "The following options are mutually exclusive please provide only one : --label-column-name, --label-column-index"; + } + return null; }); return newCommand; - /*Option Dataset() => + Option Dataset() => new Option("--dataset", "Dataset file path.", - new Argument().ExistingOnly()); */ + new Argument().ExistingOnly()); Option TrainDataset() => new Option("--train-dataset", "Train dataset file path.", @@ -69,7 +82,7 @@ Option TestDataset() => Option MlTask() => new Option("--ml-task", "Type of ML task.", - new Argument().WithSuggestions(GetMlTaskSuggestions())); + new Argument().FromAmong(GetMlTaskSuggestions())); Option LabelName() => new Option("--label-column-name", "Name of the label column.", @@ -85,21 +98,21 @@ Option MaxExplorationTime() => Option Verbosity() => new Option(new List() { "--verbosity" }, "Verbosity of the output to be shown by the tool.", - new Argument(defaultValue: "m").WithSuggestions(GetVerbositySuggestions())); + new Argument(defaultValue: "m").FromAmong(GetVerbositySuggestions())); Option Name() => new Option(new List() { "--name" }, "Name of the output files(project and folder).", new Argument(defaultValue: "Sample")); - Option OutputBaseDir() => - new Option(new List() { "--output" }, "Output folder path.", - new Argument(defaultValue: ".\\Sample")); + Option OutputPath() => + new Option(new List() { "--output-path" }, "Output folder path.", + new Argument(defaultValue: new DirectoryInfo(".\\Sample"))); } private static string[] GetMlTaskSuggestions() { - return Enum.GetValues(typeof(TaskKind)).Cast().Select(v => v.ToString()).ToArray(); + return new[] { "binary-classification", "regression" }; } private static string[] GetVerbositySuggestions() diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index ebadbd9375..abba1df1b2 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -3,9 +3,7 @@ // See the LICENSE file in the project root for more information. using System; -using System.Collections.Generic; using System.IO; -using System.Linq; using Microsoft.Data.DataView; using Microsoft.ML.Auto; using Microsoft.ML.CLI.CodeGenerator.CSharp; @@ -21,19 +19,34 @@ internal class NewCommand : ICommand { private NewCommandOptions options; private static Logger logger = LogManager.GetCurrentClassLogger(); + private TaskKind taskKind; internal NewCommand(NewCommandOptions options) { this.options = options; + this.taskKind = Utils.GetTaskKind(options.MlTask); } public void Execute() { var context = new MLContext(); + // Infer columns - ColumnInferenceResults columnInference = InferColumns(context); + ColumnInferenceResults columnInference = null; + try + { + columnInference = InferColumns(context); + } + catch (Exception e) + { + logger.Log(LogLevel.Error, $"{Strings.InferColumnError}"); + logger.Log(LogLevel.Error, e.Message); + logger.Log(LogLevel.Debug, e.ToString()); + logger.Log(LogLevel.Error, Strings.Exiting); + } - Array.ForEach(columnInference.TextLoaderArgs.Column, t => t.Name = Sanitize(t.Name)); + // Sanitize columns + Array.ForEach(columnInference.TextLoaderArgs.Column, t => t.Name = Utils.Sanitize(t.Name)); // Load data (IDataView trainData, IDataView validationData) = LoadData(context, columnInference.TextLoaderArgs); @@ -48,7 +61,8 @@ public void Execute() catch (Exception e) { logger.Log(LogLevel.Error, $"{Strings.ExplorePipelineException}:"); - logger.Log(LogLevel.Error, e.ToString()); + logger.Log(LogLevel.Error, e.Message); + logger.Log(LogLevel.Debug, e.ToString()); logger.Log(LogLevel.Error, Strings.Exiting); return; } @@ -60,8 +74,8 @@ public void Execute() // Save the model logger.Log(LogLevel.Info, Strings.SavingBestModel); - var modelPath = Path.Combine(@options.OutputBaseDir, options.OutputName); - SaveModel(model, modelPath, $"{options.OutputName}_model.zip", context); + var modelPath = Path.Combine(@options.OutputPath.FullName, options.Name); + Utils.SaveModel(model, modelPath, $"{options.Name}_model.zip", context); // Generate the Project GenerateProject(columnInference, pipeline); @@ -72,13 +86,14 @@ internal ColumnInferenceResults InferColumns(MLContext context) //Check what overload method of InferColumns needs to be called. logger.Log(LogLevel.Info, Strings.InferColumns); ColumnInferenceResults columnInference = null; - if (options.LabelName != null) + var dataset = options.TrainDataset?.FullName ?? options.Dataset?.FullName; + if (options.LabelColumnName != null) { - columnInference = context.AutoInference().InferColumns(options.TrainDataset.FullName, options.LabelName, groupColumns: false); + columnInference = context.AutoInference().InferColumns(dataset, options.LabelColumnName, groupColumns: false); } else { - columnInference = context.AutoInference().InferColumns(options.TrainDataset.FullName, options.LabelIndex, groupColumns: false); + columnInference = context.AutoInference().InferColumns(dataset, options.LabelColumnIndex, groupColumns: false); } return columnInference; @@ -94,10 +109,10 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p new CodeGeneratorOptions() { TrainDataset = options.TrainDataset, - MlTask = options.MlTask, + MlTask = taskKind, TestDataset = options.TestDataset, - OutputName = options.OutputName, - OutputBaseDir = options.OutputBaseDir + OutputName = options.Name, + OutputBaseDir = options.OutputPath.FullName }); codeGenerator.GenerateOutput(); } @@ -105,16 +120,16 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p internal (Pipeline, ITransformer) ExploreModels(MLContext context, IDataView trainData, IDataView validationData) { ITransformer model = null; - string label = options.LabelName ?? "Label"; // It is guaranteed training dataview to have Label column + string label = options.LabelColumnName ?? "Label"; // It is guaranteed training dataview to have Label column Pipeline pipeline = null; - if (options.MlTask == TaskKind.BinaryClassification) + if (taskKind == TaskKind.BinaryClassification) { var progressReporter = new ProgressHandlers.BinaryClassificationHandler(); var result = context.AutoInference() .CreateBinaryClassificationExperiment(new BinaryExperimentSettings() { - MaxInferenceTimeInSeconds = options.Timeout, + MaxInferenceTimeInSeconds = options.MaxExplorationTime, ProgressCallback = progressReporter }) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = label }); @@ -124,13 +139,13 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p model = bestIteration.Model; } - if (options.MlTask == TaskKind.Regression) + if (taskKind == TaskKind.Regression) { var progressReporter = new ProgressHandlers.RegressionHandler(); var result = context.AutoInference() .CreateRegressionExperiment(new RegressionExperimentSettings() { - MaxInferenceTimeInSeconds = options.Timeout, + MaxInferenceTimeInSeconds = options.MaxExplorationTime, ProgressCallback = progressReporter }).Execute(trainData, validationData, new ColumnInformation() { LabelColumn = label }); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); @@ -139,7 +154,7 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p model = bestIteration.Model; } - if (options.MlTask == TaskKind.MulticlassClassification) + if (taskKind == TaskKind.MulticlassClassification) { throw new NotImplementedException(); } @@ -154,26 +169,10 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p var textLoader = context.Data.CreateTextLoader(textLoaderArgs); logger.Log(LogLevel.Info, Strings.LoadData); - var trainData = textLoader.Read(options.TrainDataset.FullName); + var trainData = textLoader.Read(options.TrainDataset?.FullName ?? options.Dataset?.FullName); var validationData = options.ValidationDataset == null ? null : textLoader.Read(options.ValidationDataset.FullName); return (trainData, validationData); } - - internal static void SaveModel(ITransformer model, string ModelPath, string modelName, MLContext mlContext) - { - if (!Directory.Exists(ModelPath)) - { - Directory.CreateDirectory(ModelPath); - } - ModelPath = Path.Combine(ModelPath, modelName); - using (var fs = File.Create(ModelPath)) - model.SaveTo(mlContext, fs); - } - - private static string Sanitize(string name) - { - return string.Join("", name.Select(x => Char.IsLetterOrDigit(x) ? x : '_')); - } } } diff --git a/src/mlnet/Data/Options.cs b/src/mlnet/Data/Options.cs index 95e29a49b4..886b4b83c3 100644 --- a/src/mlnet/Data/Options.cs +++ b/src/mlnet/Data/Options.cs @@ -7,29 +7,29 @@ namespace Microsoft.ML.CLI.Data { - internal class NewCommandOptions + public class NewCommandOptions { - internal string OutputName { get; set; } + public string Name { get; set; } - internal string Name { get; set; } + public FileInfo Dataset { get; set; } - internal FileInfo Dataset { get; set; } + public FileInfo ValidationDataset { get; set; } - internal FileInfo ValidationDataset { get; set; } + public FileInfo TrainDataset { get; set; } - internal FileInfo TrainDataset { get; set; } + public FileInfo TestDataset { get; set; } - internal FileInfo TestDataset { get; set; } + public string LabelColumnName { get; set; } - internal string LabelName { get; set; } + public string Verbosity { get; set; } - internal uint LabelIndex { get; set; } + public uint LabelColumnIndex { get; set; } - internal TaskKind MlTask { get; set; } + public string MlTask { get; set; } - internal uint Timeout { get; set; } + public uint MaxExplorationTime { get; set; } - internal string OutputBaseDir { get; set; } + public DirectoryInfo OutputPath { get; set; } } } diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index 3b41a8bbab..93ad3c109f 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -5,11 +5,10 @@ using System; using System.CommandLine.Builder; using System.CommandLine.Invocation; -using System.IO; -using Microsoft.ML.Auto; using Microsoft.ML.CLI.Commands; using Microsoft.ML.CLI.Commands.New; using Microsoft.ML.CLI.Data; +using Microsoft.ML.CLI.Utilities; using NLog; using NLog.Targets; @@ -20,43 +19,19 @@ class Program public static void Main(string[] args) { // Create handler outside so that commandline and the handler is decoupled and testable. - var handler = CommandHandler.Create( - (trainDataset, validationDataset, testDataset, mlTask, labelColumnName, maxExplorationTime, labelColumnIndex) => + var handler = CommandHandler.Create( + (options) => { - if (mlTask == TaskKind.MulticlassClassification) - { - Console.WriteLine($"{Strings.UnsupportedMlTask}: {mlTask}"); - return; - } - /* The below variables needs to be initialized via command line api. Since there is a - restriction at this moment on the number of args and its bindings. .Net team is working - on making this feature to make it possible to bind directly to a type till them we shall - have this place holder by initializing the fields below . - The PR that addresses this issue : https://github.com/dotnet/command-line-api/pull/408 - */ - var basedir = "."; // This needs to be obtained from command line args. - var name = "Sample"; // This needs to be obtained from command line args. + // Map the verbosity to internal levels + var verbosity = Utils.GetVerbosity(options.Verbosity); - // Todo: q,m,diag needs to be mapped into LogLevel here. - var verbosity = LogLevel.Info; - - var command = new NewCommand(new NewCommandOptions() - { - TrainDataset = trainDataset, - ValidationDataset = validationDataset, - TestDataset = testDataset, - MlTask = mlTask, - LabelName = labelColumnName, - Timeout = maxExplorationTime, - LabelIndex = labelColumnIndex, - OutputBaseDir = basedir, - OutputName = name - }); + // Instantiate the command + var command = new NewCommand(options); // Override the Logger Configuration var logconsole = LogManager.Configuration.FindTargetByName("logconsole"); var logfile = (FileTarget)LogManager.Configuration.FindTargetByName("logfile"); - logfile.FileName = $"{basedir}/debug_log.txt"; + logfile.FileName = $"{options.OutputPath.FullName}/debug_log.txt"; var config = LogManager.Configuration; config.AddRule(verbosity, LogLevel.Fatal, logconsole); @@ -71,8 +46,7 @@ have this place holder by initializing the fields below . .Build(); parser.InvokeAsync(args).Wait(); + Console.ReadKey(); } - - } } diff --git a/src/mlnet/Strings.resx b/src/mlnet/Strings.resx index 152514aa13..2250e9429a 100644 --- a/src/mlnet/Strings.resx +++ b/src/mlnet/Strings.resx @@ -135,6 +135,9 @@ Generating a console project for the best pipeline ... + + An Error occured during inferring columns + Inferring Columns ... diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index d145f39c57..6d9d5573d7 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -25,9 +25,18 @@ public partial class MLCodeGen : MLCodeGenBase /// public virtual string TransformText() { - this.Write("\r\nusing System;\r\nusing System.IO;\r\nusing System.Linq;\r\nusing Microsoft.ML;\r\nusing" + - " Microsoft.ML.Core.Data;\r\nusing Microsoft.ML.Data;\r\nusing Microsoft.Data.DataVie" + - "w;\r\n"); + this.Write(@"// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.IO; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; +using Microsoft.Data.DataView; +"); this.Write(this.ToStringHelper.ToStringWithCulture(GeneratedUsings)); this.Write("\r\n\r\nnamespace "); this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); @@ -97,11 +106,11 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) for(int i=0;i0) - { Write("\n .Append("); + { Write("\r\n .Append("); } Write("mlContext.Transforms."+Transforms[i]); if(i>0) - { Write(")"); + { Write(")\r\n"); } } this.Write(";\r\n"); @@ -112,7 +121,7 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) this.Write(".Trainers."); this.Write(this.ToStringHelper.ToStringWithCulture(Trainer)); this.Write(";\r\n"); - if (Transforms.Count > 0) { + if(Transforms.Count >0 ) { this.Write(" var trainingPipeline = dataProcessPipeline.Append(trainer);\r\n"); } else{ @@ -203,7 +212,7 @@ private static void TestSinglePrediction(MLContext mlContext) var resultprediction = predEngine.Predict(sample); Console.WriteLine($""=============== Single Prediction ===============""); - Console.WriteLine($""Input: {sample} | Prediction: {resultprediction."); + Console.WriteLine($""Actual value: {sample.Label} | Predicted value: {resultprediction."); if("BinaryClassification".Equals(TaskType)){ this.Write("Prediction"); }else{ diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index 78c6fe7f56..9bbcd115e5 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -3,6 +3,9 @@ <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> <#@ import namespace="System.Collections.Generic" #> +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. using System; using System.IO; @@ -66,11 +69,11 @@ namespace <#= Namespace #> var dataProcessPipeline = <# for(int i=0;i0) - { Write("\n .Append("); + { Write("\r\n .Append("); } Write("mlContext.Transforms."+Transforms[i]); if(i>0) - { Write(")"); + { Write(")\r\n"); } }#>; <#}#> @@ -149,7 +152,7 @@ else{#> var resultprediction = predEngine.Predict(sample); Console.WriteLine($"=============== Single Prediction ==============="); - Console.WriteLine($"Input: {sample} | Prediction: {resultprediction.<#if("BinaryClassification".Equals(TaskType)){ #>Prediction<#}else{#>Score<#}#>}"); + Console.WriteLine($"Actual value: {sample.Label} | Predicted value: {resultprediction.<#if("BinaryClassification".Equals(TaskType)){ #>Prediction<#}else{#>Score<#}#>}"); Console.WriteLine($"=================================================="); } diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs new file mode 100644 index 0000000000..8f74508f51 --- /dev/null +++ b/src/mlnet/Utilities/Utils.cs @@ -0,0 +1,63 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.IO; +using System.Linq; +using Microsoft.ML.Auto; +using Microsoft.ML.Core.Data; +using Microsoft.ML.Data; +using NLog; + +namespace Microsoft.ML.CLI.Utilities +{ + internal class Utils + { + internal static LogLevel GetVerbosity(string verbosity) + { + switch (verbosity) + { + case "q": + return LogLevel.Warn; + case "m": + return LogLevel.Info; + case "diag": + return LogLevel.Debug; + default: + return LogLevel.Info; + } + } + + + internal static void SaveModel(ITransformer model, string ModelPath, string modelName, MLContext mlContext) + { + if (!Directory.Exists(ModelPath)) + { + Directory.CreateDirectory(ModelPath); + } + ModelPath = Path.Combine(ModelPath, modelName); + using (var fs = File.Create(ModelPath)) + model.SaveTo(mlContext, fs); + } + + internal static string Sanitize(string name) + { + return string.Join("", name.Select(x => Char.IsLetterOrDigit(x) ? x : '_')); + } + + internal static TaskKind GetTaskKind(string mlTask) + { + switch (mlTask) + { + case "binary-classification": + return TaskKind.BinaryClassification; + case "regression": + return TaskKind.Regression; + default: // this should never be hit because the validation is done on command-line-api. + throw new NotImplementedException($"{Strings.UnsupportedMlTask} : {mlTask}"); + } + } + + } +} diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index 50148d5af8..767384afb4 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -13,7 +13,7 @@ - + diff --git a/src/mlnet/strings.Designer.cs b/src/mlnet/strings.Designer.cs index b8105a37c3..6dcc665750 100644 --- a/src/mlnet/strings.Designer.cs +++ b/src/mlnet/strings.Designer.cs @@ -114,6 +114,15 @@ internal static string GenerateProject { } } + /// + /// Looks up a localized string similar to An Error occured during inferring columns. + /// + internal static string InferColumnError { + get { + return ResourceManager.GetString("InferColumnError", resourceCulture); + } + } + /// /// Looks up a localized string similar to Inferring Columns .... /// From 0d93e80ba689c8e496033aca01d6e8b8800c7d97 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 20 Feb 2019 16:45:10 -0800 Subject: [PATCH 092/211] rename 'AutoFitter' to 'Experiment' (#169) --- src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs | 4 ++-- .../API/MulticlassClassificationExperiment.cs | 4 ++-- src/Microsoft.ML.Auto/API/RegressionExperiment.cs | 4 ++-- .../{AutoFitter/AutoFitter.cs => Experiment/Experiment.cs} | 6 +++--- .../MetricsAgents/BinaryMetricsAgent.cs | 0 .../MetricsAgents/IMetricsAgent.cs | 0 .../MetricsAgents/MultiMetricsAgent.cs | 0 .../MetricsAgents/RegressionMetricsAgent.cs | 0 .../{AutoFitter => Experiment}/OptimizingMetricInfo.cs | 0 .../{AutoFitter => Experiment}/RecipeInference.cs | 0 .../{AutoFitter => Experiment}/SuggestedPipeline.cs | 0 .../{AutoFitter => Experiment}/SuggestedPipelineResult.cs | 0 .../{AutoFitter => Experiment}/SuggestedTrainer.cs | 0 13 files changed, 9 insertions(+), 9 deletions(-) rename src/Microsoft.ML.Auto/{AutoFitter/AutoFitter.cs => Experiment/Experiment.cs} (98%) rename src/Microsoft.ML.Auto/{AutoFitter => Experiment}/MetricsAgents/BinaryMetricsAgent.cs (100%) rename src/Microsoft.ML.Auto/{AutoFitter => Experiment}/MetricsAgents/IMetricsAgent.cs (100%) rename src/Microsoft.ML.Auto/{AutoFitter => Experiment}/MetricsAgents/MultiMetricsAgent.cs (100%) rename src/Microsoft.ML.Auto/{AutoFitter => Experiment}/MetricsAgents/RegressionMetricsAgent.cs (100%) rename src/Microsoft.ML.Auto/{AutoFitter => Experiment}/OptimizingMetricInfo.cs (100%) rename src/Microsoft.ML.Auto/{AutoFitter => Experiment}/RecipeInference.cs (100%) rename src/Microsoft.ML.Auto/{AutoFitter => Experiment}/SuggestedPipeline.cs (100%) rename src/Microsoft.ML.Auto/{AutoFitter => Experiment}/SuggestedPipelineResult.cs (100%) rename src/Microsoft.ML.Auto/{AutoFitter => Experiment}/SuggestedTrainer.cs (100%) diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index 27e9fc28a9..b697a1ea91 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -85,12 +85,12 @@ internal IEnumerable> Execute(MLContext c //UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColunName, validationData, settings, columnPurposes) // run autofit & get all pipelines run in that process - var autoFitter = new AutoFitter(context, TaskKind.BinaryClassification, trainData, columnInfo, + var experiment = new Experiment(context, TaskKind.BinaryClassification, trainData, columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), _settings.ProgressCallback, _settings, new BinaryMetricsAgent(_settings.OptimizingMetric), TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); - return autoFitter.Fit(); + return experiment.Execute(); } } diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index 7004dd1df7..231a81eeec 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -83,12 +83,12 @@ internal IEnumerable> Execute(MLContext c //UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColunName, validationData, settings, columnPurposes) // run autofit & get all pipelines run in that process - var autoFitter = new AutoFitter(context, TaskKind.MulticlassClassification, trainData, + var experiment = new Experiment(context, TaskKind.MulticlassClassification, trainData, columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), _settings.ProgressCallback, _settings, new MultiMetricsAgent(_settings.OptimizingMetric), TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); - return autoFitter.Fit(); + return experiment.Execute(); } } diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index fc4f46d2dd..2331735cb6 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -80,12 +80,12 @@ internal IEnumerable> Execute(MLContext context, //UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColunName, validationData, settings, columnPurposes); // run autofit & get all pipelines run in that process - var autoFitter = new AutoFitter(context, TaskKind.Regression, trainData, columnInfo, + var experiment = new Experiment(context, TaskKind.Regression, trainData, columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), _settings.ProgressCallback, _settings, new RegressionMetricsAgent(_settings.OptimizingMetric), TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); - return autoFitter.Fit(); + return experiment.Execute(); } } diff --git a/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs similarity index 98% rename from src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs rename to src/Microsoft.ML.Auto/Experiment/Experiment.cs index 5727863d1b..c115df262c 100644 --- a/src/Microsoft.ML.Auto/AutoFitter/AutoFitter.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -11,7 +11,7 @@ namespace Microsoft.ML.Auto { - internal class AutoFitter where T : class + internal class Experiment where T : class { private readonly IList> _history; private readonly ColumnInformation _columnInfo; @@ -29,7 +29,7 @@ internal class AutoFitter where T : class List> iterationResults = new List>(); - public AutoFitter(MLContext context, + public Experiment(MLContext context, TaskKind task, IDataView trainData, ColumnInformation columnInfo, @@ -60,7 +60,7 @@ public AutoFitter(MLContext context, _trainerWhitelist = trainerWhitelist; } - public List> Fit() + public List> Execute() { ITransformer preprocessorTransform = null; if (_preFeaturizers != null) diff --git a/src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/BinaryMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs similarity index 100% rename from src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/BinaryMetricsAgent.cs rename to src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs diff --git a/src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/IMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/IMetricsAgent.cs similarity index 100% rename from src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/IMetricsAgent.cs rename to src/Microsoft.ML.Auto/Experiment/MetricsAgents/IMetricsAgent.cs diff --git a/src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/MultiMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs similarity index 100% rename from src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/MultiMetricsAgent.cs rename to src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs diff --git a/src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/RegressionMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs similarity index 100% rename from src/Microsoft.ML.Auto/AutoFitter/MetricsAgents/RegressionMetricsAgent.cs rename to src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs diff --git a/src/Microsoft.ML.Auto/AutoFitter/OptimizingMetricInfo.cs b/src/Microsoft.ML.Auto/Experiment/OptimizingMetricInfo.cs similarity index 100% rename from src/Microsoft.ML.Auto/AutoFitter/OptimizingMetricInfo.cs rename to src/Microsoft.ML.Auto/Experiment/OptimizingMetricInfo.cs diff --git a/src/Microsoft.ML.Auto/AutoFitter/RecipeInference.cs b/src/Microsoft.ML.Auto/Experiment/RecipeInference.cs similarity index 100% rename from src/Microsoft.ML.Auto/AutoFitter/RecipeInference.cs rename to src/Microsoft.ML.Auto/Experiment/RecipeInference.cs diff --git a/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipeline.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs similarity index 100% rename from src/Microsoft.ML.Auto/AutoFitter/SuggestedPipeline.cs rename to src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs diff --git a/src/Microsoft.ML.Auto/AutoFitter/SuggestedPipelineResult.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs similarity index 100% rename from src/Microsoft.ML.Auto/AutoFitter/SuggestedPipelineResult.cs rename to src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs diff --git a/src/Microsoft.ML.Auto/AutoFitter/SuggestedTrainer.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedTrainer.cs similarity index 100% rename from src/Microsoft.ML.Auto/AutoFitter/SuggestedTrainer.cs rename to src/Microsoft.ML.Auto/Experiment/SuggestedTrainer.cs From 63d5b2d8e24f0587eefd6b6df5bd0cd50350a364 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 20 Feb 2019 18:57:13 -0800 Subject: [PATCH 093/211] added tests (#187) --- src/mlnet.Test/CodeGenTests.cs | 158 +---- src/mlnet.Test/TrainerGeneratorTests.cs | 620 ++++++++++++++++++ src/mlnet.Test/TransformGeneratorTests.cs | 163 +++++ .../CSharp/TrainerGeneratorBase.cs | 4 +- .../CodeGenerator/CSharp/TrainerGenerators.cs | 2 +- 5 files changed, 788 insertions(+), 159 deletions(-) create mode 100644 src/mlnet.Test/TrainerGeneratorTests.cs create mode 100644 src/mlnet.Test/TransformGeneratorTests.cs diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index 91dc823d83..eeb288f57b 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -24,7 +24,7 @@ public void TrainerGeneratorBasicNamedParameterTest() {"LearningRate", 0.1f }, {"NumLeaves", 1 }, }; - PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); + PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); @@ -44,7 +44,7 @@ public void TrainerGeneratorBasicAdvancedParameterTest() {"NumLeaves", 1 }, {"UseSoftmax", true } }; - PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, new string[] { "Label" }, default(string), elementProperties); + PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); @@ -169,159 +169,5 @@ public void TrainerComplexParameterTest() Assert.AreEqual(expectedUsings, actual.Item2); } - - #region Transform Tests - [TestMethod] - public void MissingValueReplacingTest() - { - var context = new MLContext(); - var elementProperties = new Dictionary();//categorical - PipelineNode node = new PipelineNode("MissingValueReplacing", PipelineNodeType.Transform, new string[] { "categorical_column_1" }, new string[] { "categorical_column_1" }, elementProperties); - Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); - var expectedTransform = "ReplaceMissingValues(new []{new MissingValueReplacingTransformer.ColumnInfo(\"categorical_column_1\",\"categorical_column_1\")})"; - string expectedUsings = "using Microsoft.ML.Transforms;\r\n"; - Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); - } - - [TestMethod] - public void OneHotEncodingTest() - { - var context = new MLContext(); - var elementProperties = new Dictionary();//categorical - PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "categorical_column_1" }, new string[] { "categorical_column_1" }, elementProperties); - Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"categorical_column_1\",\"categorical_column_1\")})"; - var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; - Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); - } - - [TestMethod] - public void NormalizingTest() - { - var context = new MLContext(); - var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1_copy" }, elementProperties); - Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "Normalize(\"numeric_column_1_copy\",\"numeric_column_1\")"; - string expectedUsings = null; - Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); - } - - [TestMethod] - public void ColumnConcatenatingTest() - { - var context = new MLContext(); - var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("ColumnConcatenating", PipelineNodeType.Transform, new string[] { "numeric_column_1", "numeric_column_2" }, new string[] { "Features" }, elementProperties); - Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "Concatenate(\"Features\",new []{\"numeric_column_1\",\"numeric_column_2\"})"; - string expectedUsings = null; - Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); - } - - [TestMethod] - public void ColumnCopyingTest() - { - var context = new MLContext(); - var elementProperties = new Dictionary();//nume to num feature 2 - PipelineNode node = new PipelineNode("ColumnCopying", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_2" }, elementProperties); - Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "CopyColumns(\"numeric_column_2\",\"numeric_column_1\")"; - string expectedUsings = null; - Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); - } - - [TestMethod] - public void MissingValueIndicatingTest() - { - var context = new MLContext(); - var elementProperties = new Dictionary();//numeric feature - PipelineNode node = new PipelineNode("MissingValueIndicating", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1" }, elementProperties); - Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "IndicateMissingValues(new []{(\"numeric_column_1\",\"numeric_column_1\")})"; - string expectedUsings = null; - Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); - } - - [TestMethod] - public void OneHotHashEncodingTest() - { - var context = new MLContext(); - var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("OneHotHashEncoding", PipelineNodeType.Transform, new string[] { "Categorical_column_1" }, new string[] { "Categorical_column_1" }, elementProperties); - Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "Categorical.OneHotHashEncoding(new []{new OneHotHashEncodingEstimator.ColumnInfo(\"Categorical_column_1\",\"Categorical_column_1\")})"; - var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; - Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); - } - - [TestMethod] - public void TextFeaturizingTest() - { - var context = new MLContext(); - var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("TextFeaturizing", PipelineNodeType.Transform, new string[] { "Text_column_1" }, new string[] { "Text_column_1" }, elementProperties); - Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "Text.FeaturizeText(\"Text_column_1\",\"Text_column_1\")"; - string expectedUsings = null; - Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); - } - - [TestMethod] - public void TypeConvertingTest() - { - var context = new MLContext(); - var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("TypeConverting", PipelineNodeType.Transform, new string[] { "I4_column_1" }, new string[] { "R4_column_1" }, elementProperties); - Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingTransformer.ColumnInfo(\"R4_column_1\",DataKind.R4,\"I4_column_1\")})"; - string expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; - Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); - } - - [TestMethod] - public void ValueToKeyMappingTest() - { - var context = new MLContext(); - var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("ValueToKeyMapping", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); - Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "Conversion.MapValueToKey(\"Label\",\"Label\")"; - var expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; - Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); - } - - #endregion - } } diff --git a/src/mlnet.Test/TrainerGeneratorTests.cs b/src/mlnet.Test/TrainerGeneratorTests.cs new file mode 100644 index 0000000000..d9243c8b99 --- /dev/null +++ b/src/mlnet.Test/TrainerGeneratorTests.cs @@ -0,0 +1,620 @@ +using System.Collections.Generic; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.CLI.CodeGenerator.CSharp; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace mlnet.Test +{ + /**************************** + * TODO : Add all trainer tests : + * **************************/ + [TestClass] + public class TrainerGeneratorTests + { + [TestMethod] + public void LightGbmBinaryBasicTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"LearningRate", 0.1f }, + {"NumLeaves", 1 }, + }; + PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void LightGbmBinaryAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"LearningRate", 0.1f }, + {"NumLeaves", 1 }, + {"UseSoftmax", true } + }; + PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "LightGbm(new Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedUsings = "using Microsoft.ML.LightGBM;\r\n"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + [TestMethod] + public void SymSgdBinaryBasicTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("SymSgdBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "SymbolicStochasticGradientDescent(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void SymSgdBinaryAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"LearningRate", 0.1f }, + }; + PipelineNode node = new PipelineNode("SymSgdBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers.SymSgd;\r\n"; + string expectedTrainerString = "SymbolicStochasticGradientDescent(new SymSgdClassificationTrainer.Options(){LearningRate=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + [TestMethod] + public void StochasticGradientDescentBinaryBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("StochasticGradientDescentBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "StochasticGradientDescent(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void StochasticGradientDescentBinaryAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"Shuffle", true }, + }; + PipelineNode node = new PipelineNode("StochasticGradientDescentBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; + string expectedTrainerString = "StochasticGradientDescent(new StochasticGradientDescentClassificationTrainer.Options(){Shuffle=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + [TestMethod] + public void SDCABinaryBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("SdcaBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "StochasticDualCoordinateAscent(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void SDCABinaryAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"BiasLearningRate", 0.1f }, + }; + PipelineNode node = new PipelineNode("SdcaBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; + string expectedTrainerString = "StochasticDualCoordinateAscent(new SdcaBinaryTrainer.Options(){BiasLearningRate=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + [TestMethod] + public void SDCARegressionBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("SdcaRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "StochasticDualCoordinateAscent(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void SDCARegressionAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"BiasLearningRate", 0.1f }, + }; + PipelineNode node = new PipelineNode("SdcaRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; + string expectedTrainerString = "StochasticDualCoordinateAscent(new SdcaRegressionTrainer.Options(){BiasLearningRate=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + [TestMethod] + public void PoissonRegressionBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("PoissonRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "PoissonRegression(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void PoissonRegressionAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"MaxIterations", 1 }, + }; + PipelineNode node = new PipelineNode("PoissonRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; + string expectedTrainerString = "PoissonRegression(new PoissonRegression.Options(){MaxIterations=1,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + [TestMethod] + public void OrdinaryLeastSquaresRegressionBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("OrdinaryLeastSquaresRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "OrdinaryLeastSquares(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void OrdinaryLeastSquaresRegressionAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"L2Weight", 0.1f }, + }; + PipelineNode node = new PipelineNode("OrdinaryLeastSquaresRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers.HalLearners;\r\n"; + string expectedTrainerString = "OrdinaryLeastSquares(new OlsLinearRegressionTrainer.Options(){L2Weight=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + [TestMethod] + public void OnlineGradientDescentRegressionBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("OnlineGradientDescentRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "OnlineGradientDescent(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void OnlineGradientDescentRegressionAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"RecencyGainMulti", true }, + }; + PipelineNode node = new PipelineNode("OnlineGradientDescentRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers.Online;\r\n"; + string expectedTrainerString = "OnlineGradientDescent(new OnlineGradientDescentTrainer.Options(){RecencyGainMulti=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + [TestMethod] + public void LogisticRegressionBinaryBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("LogisticRegressionBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "LogisticRegression(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void LogisticRegressionBinaryAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"DenseOptimizer", true }, + }; + PipelineNode node = new PipelineNode("LogisticRegressionBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Learners;\r\n"; + string expectedTrainerString = "LogisticRegression(new LogisticRegression.Options(){DenseOptimizer=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + [TestMethod] + public void LinearSvmBinaryBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("LinearSvmBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "LinearSupportVectorMachines(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void LinearSvmBinaryParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"NoBias", true }, + }; + PipelineNode node = new PipelineNode("LinearSvmBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers.Online;\r\n "; + string expectedTrainerString = "LinearSupportVectorMachines(new LinearSvmTrainer.Options(){NoBias=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + + [TestMethod] + public void FastTreeTweedieRegressionBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("FastTreeTweedieRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "FastTreeTweedie(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void FastTreeTweedieRegressionAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"Shrinkage", 0.1f }, + }; + PipelineNode node = new PipelineNode("OnlineGradientDescentRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers.Online;\r\n"; + string expectedTrainerString = "OnlineGradientDescent(new OnlineGradientDescentTrainer.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + + [TestMethod] + public void FastTreeRegressionBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("FastTreeRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "FastTree(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void FastTreeRegressionAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"Shrinkage", 0.1f }, + }; + PipelineNode node = new PipelineNode("FastTreeRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers.FastTree;\r\n"; + string expectedTrainerString = "FastTree(new FastTreeRegressionTrainer.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + + [TestMethod] + public void FastTreeBinaryBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("FastTreeBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "FastTree(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void FastTreeBinaryAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"Shrinkage", 0.1f }, + }; + PipelineNode node = new PipelineNode("FastTreeBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers.FastTree;\r\n"; + string expectedTrainerString = "FastTree(new FastTreeBinaryClassificationTrainer.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + + [TestMethod] + public void FastForestRegressionBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("FastForestRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "FastForest(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void FastForestRegressionAdvancedParameterTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"Shrinkage", 0.1f }, + }; + PipelineNode node = new PipelineNode("FastForestRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers.FastTree;\r\n"; + string expectedTrainerString = "FastForest(new FastForestRegression.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + + [TestMethod] + public void FastForestBinaryBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("FastForestBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "FastForest(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void FastForestBinaryAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"Shrinkage", 0.1f }, + }; + PipelineNode node = new PipelineNode("FastForestBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers.FastTree;\r\n"; + string expectedTrainerString = "FastForest(new FastForestClassification.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + + + [TestMethod] + public void AveragedPerceptronBinaryBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("AveragedPerceptronBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "AveragedPerceptron(labelColumn:\"Label\",featureColumn:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void AveragedPerceptronBinaryAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"Shuffle", true }, + }; + PipelineNode node = new PipelineNode("AveragedPerceptronBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers.Online;\r\n "; + string expectedTrainerString = "AveragedPerceptron(new AveragedPerceptronTrainer.Options(){Shuffle=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + } +} diff --git a/src/mlnet.Test/TransformGeneratorTests.cs b/src/mlnet.Test/TransformGeneratorTests.cs new file mode 100644 index 0000000000..2eaee00920 --- /dev/null +++ b/src/mlnet.Test/TransformGeneratorTests.cs @@ -0,0 +1,163 @@ +using System.Collections.Generic; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.CLI.CodeGenerator.CSharp; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace mlnet.Test +{ + [TestClass] + public class TransformGeneratorTests + { + [TestMethod] + public void MissingValueReplacingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary();//categorical + PipelineNode node = new PipelineNode("MissingValueReplacing", PipelineNodeType.Transform, new string[] { "categorical_column_1" }, new string[] { "categorical_column_1" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTransformsAndUsings(); + var expectedTransform = "ReplaceMissingValues(new []{new MissingValueReplacingTransformer.ColumnInfo(\"categorical_column_1\",\"categorical_column_1\")})"; + string expectedUsings = "using Microsoft.ML.Transforms;\r\n"; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void OneHotEncodingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary();//categorical + PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "categorical_column_1" }, new string[] { "categorical_column_1" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"categorical_column_1\",\"categorical_column_1\")})"; + var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void NormalizingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1_copy" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Normalize(\"numeric_column_1_copy\",\"numeric_column_1\")"; + string expectedUsings = null; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void ColumnConcatenatingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("ColumnConcatenating", PipelineNodeType.Transform, new string[] { "numeric_column_1", "numeric_column_2" }, new string[] { "Features" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Concatenate(\"Features\",new []{\"numeric_column_1\",\"numeric_column_2\"})"; + string expectedUsings = null; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void ColumnCopyingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary();//nume to num feature 2 + PipelineNode node = new PipelineNode("ColumnCopying", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_2" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "CopyColumns(\"numeric_column_2\",\"numeric_column_1\")"; + string expectedUsings = null; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void MissingValueIndicatingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary();//numeric feature + PipelineNode node = new PipelineNode("MissingValueIndicating", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "IndicateMissingValues(new []{(\"numeric_column_1\",\"numeric_column_1\")})"; + string expectedUsings = null; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void OneHotHashEncodingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("OneHotHashEncoding", PipelineNodeType.Transform, new string[] { "Categorical_column_1" }, new string[] { "Categorical_column_1" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Categorical.OneHotHashEncoding(new []{new OneHotHashEncodingEstimator.ColumnInfo(\"Categorical_column_1\",\"Categorical_column_1\")})"; + var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void TextFeaturizingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("TextFeaturizing", PipelineNodeType.Transform, new string[] { "Text_column_1" }, new string[] { "Text_column_1" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Text.FeaturizeText(\"Text_column_1\",\"Text_column_1\")"; + string expectedUsings = null; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void TypeConvertingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("TypeConverting", PipelineNodeType.Transform, new string[] { "I4_column_1" }, new string[] { "R4_column_1" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingTransformer.ColumnInfo(\"R4_column_1\",DataKind.R4,\"I4_column_1\")})"; + string expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + [TestMethod] + public void ValueToKeyMappingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("ValueToKeyMapping", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Conversion.MapValueToKey(\"Label\",\"Label\")"; + var expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + + } +} diff --git a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs index d072a6e74b..fe81be39a0 100644 --- a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs @@ -71,8 +71,8 @@ private void Initialize(PipelineNode node) if (type == typeof(string)) { var val = kv.Value.ToString(); - if (val == "auto" || val == "" || val == "< auto >") - continue; + if (val == "") + continue; // This is temporary fix and needs to be fixed in AutoML SDK // string to "string" value = "\"" + val + "\""; diff --git a/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs index 1d6aa79e2f..6a09645145 100644 --- a/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs @@ -432,7 +432,7 @@ internal class SymbolicStochasticGradientDescent : TrainerGeneratorBase internal override string MethodName => "SymbolicStochasticGradientDescent"; //ClassName of the options to trainer - internal override string OptionsName => "SymbolicStochasticGradientDescent.Options"; + internal override string OptionsName => "SymSgdClassificationTrainer.Options"; //The named parameters to the trainer. internal override IDictionary NamedParameters From 12c236c741297449a1da7c8d679708ae3c1ae546 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 20 Feb 2019 21:44:04 -0800 Subject: [PATCH 094/211] rev InferColumns to accept ColumnInfo input param (#186) --- .../API/AutoInferenceCatalog.cs | 13 ++++++++++-- .../ColumnInference/ColumnInferenceApi.cs | 21 ++++++++++++------- src/Test/ColumnInferenceTests.cs | 13 ++++++++++++ 3 files changed, 38 insertions(+), 9 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs b/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs index 6a9d476565..912aed65c5 100644 --- a/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs +++ b/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs @@ -2,6 +2,8 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using Microsoft.ML.Data; + namespace Microsoft.ML.Auto { public class AutoInferenceCatalog @@ -52,11 +54,18 @@ public MulticlassClassificationExperiment CreateMulticlassClassificationExperime return new MulticlassClassificationExperiment(_context, experimentSettings); } - public ColumnInferenceResults InferColumns(string path, string label,char? separatorChar = null, bool? allowQuotedStrings = null, + public ColumnInferenceResults InferColumns(string path, string labelColumn = DefaultColumnNames.Label, char? separatorChar = null, bool? allowQuotedStrings = null, + bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) + { + //UserInputValidationUtil.ValidateInferColumnsArgs(path, label); + return ColumnInferenceApi.InferColumns(_context, path, labelColumn, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); + } + + public ColumnInferenceResults InferColumns(string path, ColumnInformation columnInformation, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) { //UserInputValidationUtil.ValidateInferColumnsArgs(path, label); - return ColumnInferenceApi.InferColumns(_context, path, label, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); + return ColumnInferenceApi.InferColumns(_context, path, columnInformation, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); } public ColumnInferenceResults InferColumns(string path, uint labelColumnIndex, bool hasHeader = false, char? separatorChar = null, diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs index 30e79a02fb..8152461538 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs @@ -24,20 +24,28 @@ public static ColumnInferenceResults InferColumns(MLContext context, string path typeInference.Columns[labelColumnIndex].SuggestedName = DefaultColumnNames.Label; } - return InferColumns(context, path, typeInference.Columns[labelColumnIndex].SuggestedName, - hasHeader, splitInference, typeInference, trimWhitespace, groupColumns); + var columnInfo = new ColumnInformation() { LabelColumn = typeInference.Columns[labelColumnIndex].SuggestedName }; + + return InferColumns(context, path, columnInfo, hasHeader, splitInference, typeInference, trimWhitespace, groupColumns); + } + + public static ColumnInferenceResults InferColumns(MLContext context, string path, string labelColumn, + char? separatorChar, bool? allowQuotedStrings, bool? supportSparse, bool trimWhitespace, bool groupColumns) + { + var columnInfo = new ColumnInformation() { LabelColumn = labelColumn }; + return InferColumns(context, path, columnInfo, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); } - public static ColumnInferenceResults InferColumns(MLContext context, string path, string label, + public static ColumnInferenceResults InferColumns(MLContext context, string path, ColumnInformation columnInfo, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse, bool trimWhitespace, bool groupColumns) { var sample = TextFileSample.CreateFromFullFile(path); var splitInference = InferSplit(context, sample, separatorChar, allowQuotedStrings, supportSparse); - var typeInference = InferColumnTypes(context, sample, splitInference, true, null, label); - return InferColumns(context, path, label, true, splitInference, typeInference, trimWhitespace, groupColumns); + var typeInference = InferColumnTypes(context, sample, splitInference, true, null, columnInfo.LabelColumn); + return InferColumns(context, path, columnInfo, true, splitInference, typeInference, trimWhitespace, groupColumns); } - public static ColumnInferenceResults InferColumns(MLContext context, string path, string label, bool hasHeader, + public static ColumnInferenceResults InferColumns(MLContext context, string path, ColumnInformation columnInfo, bool hasHeader, TextFileContents.ColumnSplitResult splitInference, ColumnTypeInference.InferenceResult typeInference, bool trimWhitespace, bool groupColumns) { @@ -54,7 +62,6 @@ public static ColumnInferenceResults InferColumns(MLContext context, string path var textLoader = context.Data.CreateTextLoader(typedLoaderArgs); var dataView = textLoader.Read(path); - var columnInfo = new ColumnInformation() { LabelColumn = label }; var purposeInferenceResult = PurposeInference.InferPurposes(context, dataView, columnInfo); // start building result objects diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index 1592c5b58e..c3dbe2c1cb 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -112,5 +112,18 @@ public void DefaultColumnNamesInferredCorrectly() Assert.AreEqual(DefaultColumnNames.GroupId, result.ColumnInformation.GroupIdColumn); Assert.AreEqual(result.ColumnInformation.NumericColumns.Count(), 3); } + + [TestMethod] + public void InferColumnsColumnInfoParam() + { + var columnInfo = new ColumnInformation() { LabelColumn = DatasetUtil.MlNetGeneratedRegressionLabel }; + var result = new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadMlNetGeneratedRegressionDataset(), + columnInfo); + var labelCol = result.TextLoaderArgs.Column.First(c => c.Name == DatasetUtil.MlNetGeneratedRegressionLabel); + Assert.AreEqual(DataKind.R4, labelCol.Type); + Assert.AreEqual(DatasetUtil.MlNetGeneratedRegressionLabel, result.ColumnInformation.LabelColumn); + Assert.AreEqual(1, result.ColumnInformation.NumericColumns.Count()); + Assert.AreEqual(DefaultColumnNames.Features, result.ColumnInformation.NumericColumns.First()); + } } } \ No newline at end of file From 88ff3f58ed4dd2398a45308346b425a3ccefa390 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 21 Feb 2019 16:25:15 -0800 Subject: [PATCH 095/211] Implement argument --has-header and change usage of dataset (#194) * added has header and fixed dataset and train dataset * fix tests --- src/mlnet.Test/CommandLineTests.cs | 10 ++++--- src/mlnet/Commands/CommandDefinitions.cs | 29 ++++++++----------- src/mlnet/Commands/New/NewCommandHandler.cs | 10 +++---- .../New/NewCommandOptions.cs} | 5 ++-- src/mlnet/Program.cs | 2 +- src/mlnet/Strings.resx | 2 +- src/mlnet/strings.Designer.cs | 2 +- 7 files changed, 28 insertions(+), 32 deletions(-) rename src/mlnet/{Data/Options.cs => Commands/New/NewCommandOptions.cs} (91%) diff --git a/src/mlnet.Test/CommandLineTests.cs b/src/mlnet.Test/CommandLineTests.cs index ac4203a9de..6ed8a622d4 100644 --- a/src/mlnet.Test/CommandLineTests.cs +++ b/src/mlnet.Test/CommandLineTests.cs @@ -15,7 +15,7 @@ namespace mlnet.Test public class CommandLineTests { [TestMethod] - public void TestCommandLineArgs() + public void TestMinimumCommandLineArgs() { bool parsingSuccessful = false; @@ -34,7 +34,7 @@ public void TestCommandLineArgs() var trainDataset = Path.GetTempFileName(); var testDataset = Path.GetTempFileName(); - string[] args = new[] { "new", "--ml-task", "binary-classification", "--train-dataset", trainDataset, "--test-dataset", testDataset, "--label-column-name", "Label" }; + string[] args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", "Label" }; parser.InvokeAsync(args).Wait(); File.Delete(trainDataset); File.Delete(testDataset); @@ -97,6 +97,7 @@ public void TestCommandLineArgsValuesTest() var labelName = "Label"; var name = "testname"; var outputPath = "."; + var falseString = "false"; // Create handler outside so that commandline and the handler is decoupled and testable. var handler = CommandHandler.Create( @@ -104,13 +105,14 @@ public void TestCommandLineArgsValuesTest() { parsingSuccessful = true; Assert.AreEqual(opt.MlTask, "binary-classification"); - Assert.AreEqual(opt.TrainDataset, trainDataset); + Assert.AreEqual(opt.Dataset, trainDataset); Assert.AreEqual(opt.TestDataset, testDataset); Assert.AreEqual(opt.ValidationDataset, validDataset); Assert.AreEqual(opt.LabelColumnName, labelName); Assert.AreEqual(opt.MaxExplorationTime, 5); Assert.AreEqual(opt.Name, name); Assert.AreEqual(opt.OutputPath, outputPath); + Assert.AreEqual(opt.HasHeader, bool.Parse(falseString)); }); var parser = new CommandLineBuilder() @@ -120,7 +122,7 @@ public void TestCommandLineArgsValuesTest() .Build(); // Incorrect mltask test - string[] args = new[] { "new", "--ml-task", "binary-classification", "--train-dataset", trainDataset, "--label-column-name", labelName, "--validation-dataset", validDataset, "--test-dataset", testDataset, "--max-exploration-time", "5", "--name", name, "--output-path", outputPath }; + string[] args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--validation-dataset", validDataset, "--test-dataset", testDataset, "--max-exploration-time", "5", "--name", name, "--output-path", outputPath, "--has-header", falseString }; parser.InvokeAsync(args).Wait(); File.Delete(trainDataset); File.Delete(testDataset); diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 01fd6d55e0..1aa22d0fab 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -20,7 +20,6 @@ internal static System.CommandLine.Command New(ICommandHandler handler) var newCommand = new System.CommandLine.Command("new", "ML.NET CLI tool for code generation", handler: handler) { Dataset(), - TrainDataset(), ValidationDataset(), TestDataset(), MlTask(), @@ -29,23 +28,20 @@ internal static System.CommandLine.Command New(ICommandHandler handler) LabelColumnIndex(), Verbosity(), Name(), - OutputPath() + OutputPath(), + HasHeader(), }; + var list = new System.CommandLine.Command("--list-ml-tasks", argument: new Argument().FromAmong("a", "b", "c")); + + newCommand.Add(list); + newCommand.Argument.AddValidator((sym) => { - if (sym.Children["--dataset"] == null && sym.Children["--train-dataset"] == null) + if (sym.Children["--dataset"] == null) { return "Option required : --dataset"; } - if (sym.Children["--dataset"] != null && sym.Children["--train-dataset"] != null) - { - return "The following options are mutually exclusive please provide only one : --data-set, --train-dataset"; - } - if (sym.Children["--train-dataset"] != null && sym.Children["--test-dataset"] == null) - { - return "Option required : --test-dataset"; - } if (sym.Children["--ml-task"] == null) { return "Option required : --ml-task"; @@ -58,7 +54,6 @@ internal static System.CommandLine.Command New(ICommandHandler handler) { return "The following options are mutually exclusive please provide only one : --label-column-name, --label-column-index"; } - return null; }); @@ -68,12 +63,8 @@ Option Dataset() => new Option("--dataset", "Dataset file path.", new Argument().ExistingOnly()); - Option TrainDataset() => - new Option("--train-dataset", "Train dataset file path.", - new Argument().ExistingOnly()); - Option ValidationDataset() => - new Option("--validation-dataset", "Validation dataset file path.", + new Option("--validation-dataset", "Validation dataset file path. Used for model exploration.", new Argument(defaultValue: default(FileInfo)).ExistingOnly()); Option TestDataset() => @@ -108,6 +99,10 @@ Option OutputPath() => new Option(new List() { "--output-path" }, "Output folder path.", new Argument(defaultValue: new DirectoryInfo(".\\Sample"))); + Option HasHeader() => + new Option(new List() { "--has-header" }, "Specifies if the dataset has header or not.", + new Argument(defaultValue: true)); + } private static string[] GetMlTaskSuggestions() diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index abba1df1b2..be82999513 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -86,14 +86,14 @@ internal ColumnInferenceResults InferColumns(MLContext context) //Check what overload method of InferColumns needs to be called. logger.Log(LogLevel.Info, Strings.InferColumns); ColumnInferenceResults columnInference = null; - var dataset = options.TrainDataset?.FullName ?? options.Dataset?.FullName; + var dataset = options.Dataset.FullName; if (options.LabelColumnName != null) { columnInference = context.AutoInference().InferColumns(dataset, options.LabelColumnName, groupColumns: false); } else { - columnInference = context.AutoInference().InferColumns(dataset, options.LabelColumnIndex, groupColumns: false); + columnInference = context.AutoInference().InferColumns(dataset, options.LabelColumnIndex, hasHeader: options.HasHeader, groupColumns: false); } return columnInference; @@ -102,13 +102,13 @@ internal ColumnInferenceResults InferColumns(MLContext context) internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline pipeline) { //Generate code - logger.Log(LogLevel.Info, Strings.GenerateProject); + logger.Log(LogLevel.Info, $"{Strings.GenerateProject} : {options.OutputPath.FullName}"); var codeGenerator = new CodeGenerator.CSharp.CodeGenerator( pipeline, columnInference, new CodeGeneratorOptions() { - TrainDataset = options.TrainDataset, + TrainDataset = options.Dataset, MlTask = taskKind, TestDataset = options.TestDataset, OutputName = options.Name, @@ -169,7 +169,7 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p var textLoader = context.Data.CreateTextLoader(textLoaderArgs); logger.Log(LogLevel.Info, Strings.LoadData); - var trainData = textLoader.Read(options.TrainDataset?.FullName ?? options.Dataset?.FullName); + var trainData = textLoader.Read(options.Dataset.FullName); var validationData = options.ValidationDataset == null ? null : textLoader.Read(options.ValidationDataset.FullName); return (trainData, validationData); diff --git a/src/mlnet/Data/Options.cs b/src/mlnet/Commands/New/NewCommandOptions.cs similarity index 91% rename from src/mlnet/Data/Options.cs rename to src/mlnet/Commands/New/NewCommandOptions.cs index 886b4b83c3..c8fdc96b7d 100644 --- a/src/mlnet/Data/Options.cs +++ b/src/mlnet/Commands/New/NewCommandOptions.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System.IO; -using Microsoft.ML.Auto; namespace Microsoft.ML.CLI.Data { @@ -15,8 +14,6 @@ public class NewCommandOptions public FileInfo ValidationDataset { get; set; } - public FileInfo TrainDataset { get; set; } - public FileInfo TestDataset { get; set; } public string LabelColumnName { get; set; } @@ -31,5 +28,7 @@ public class NewCommandOptions public DirectoryInfo OutputPath { get; set; } + public bool HasHeader { get; set; } + } } diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index 93ad3c109f..8b9ffc6ee4 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -45,8 +45,8 @@ public static void Main(string[] args) .UseDefaults() .Build(); + parser.InvokeAsync(args).Wait(); - Console.ReadKey(); } } } diff --git a/src/mlnet/Strings.resx b/src/mlnet/Strings.resx index 2250e9429a..f51b59bef0 100644 --- a/src/mlnet/Strings.resx +++ b/src/mlnet/Strings.resx @@ -133,7 +133,7 @@ Exception occured while exploring pipelines - Generating a console project for the best pipeline ... + Generating a console project for the best pipeline at location An Error occured during inferring columns diff --git a/src/mlnet/strings.Designer.cs b/src/mlnet/strings.Designer.cs index 6dcc665750..84f1a08c44 100644 --- a/src/mlnet/strings.Designer.cs +++ b/src/mlnet/strings.Designer.cs @@ -106,7 +106,7 @@ internal static string ExplorePipelineException { } /// - /// Looks up a localized string similar to Generating a console project for the best pipeline .... + /// Looks up a localized string similar to Generating a console project for the best pipeline at location . /// internal static string GenerateProject { get { From 9cc2910520c47ca8e3b66ec6ead01a3f378514ee Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 21 Feb 2019 16:36:57 -0800 Subject: [PATCH 096/211] removed dummy command (#195) --- src/mlnet/Commands/CommandDefinitions.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 1aa22d0fab..27fe6edf9e 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -32,10 +32,6 @@ internal static System.CommandLine.Command New(ICommandHandler handler) HasHeader(), }; - var list = new System.CommandLine.Command("--list-ml-tasks", argument: new Argument().FromAmong("a", "b", "c")); - - newCommand.Add(list); - newCommand.Argument.AddValidator((sym) => { if (sym.Children["--dataset"] == null) From b3f980b193688f95ce427140ed5f2a24f0091692 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 21 Feb 2019 18:39:28 -0800 Subject: [PATCH 097/211] Fix bug for regression and sanitize input label from user (#198) * removed dummy command * sanitize label and fix template * fix tests --- ...ests.GeneratedProjectCodeTest.approved.txt | 2 +- .../ConsoleCodeGeneratorTests.cs | 3 ++- .../CodeGenerator/CSharp/CodeGenerator.cs | 23 +++++++++++++------ src/mlnet/Commands/New/NewCommandHandler.cs | 11 ++++++--- src/mlnet/Templates/Console/MLProjectGen.cs | 2 +- src/mlnet/Templates/Console/MLProjectGen.tt | 2 +- 6 files changed, 29 insertions(+), 14 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt index d391645b44..56898df6e8 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt @@ -6,7 +6,7 @@ False - + diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index 15d59f0fde..d8d39355dc 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -124,7 +124,8 @@ public void GeneratedHelperCodeTest() this.columnInference = new ColumnInferenceResults() { - TextLoaderArgs = textLoaderArgs + TextLoaderArgs = textLoaderArgs, + ColumnInformation = new ColumnInformation() { LabelColumn = "Label" } }; } return (pipeline, columnInference); diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index 3815f3f3f5..02523591dc 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -12,6 +12,7 @@ using Microsoft.CodeAnalysis.Formatting; using Microsoft.ML.Auto; using Microsoft.ML.CLI.Templates.Console; +using Microsoft.ML.CLI.Utilities; using static Microsoft.ML.Data.TextLoader; namespace Microsoft.ML.CLI.CodeGenerator.CSharp @@ -69,14 +70,13 @@ public void GenerateOutput() internal void WriteOutputToFiles(string trainScoreCode, string projectSourceCode, string consoleHelperCode) { - var outputFolder = Path.Combine(options.OutputBaseDir, options.OutputName); - if (!Directory.Exists(outputFolder)) + if (!Directory.Exists(options.OutputBaseDir)) { - Directory.CreateDirectory(outputFolder); + Directory.CreateDirectory(options.OutputBaseDir); } - File.WriteAllText($"{outputFolder}/Train.cs", trainScoreCode); - File.WriteAllText($"{outputFolder}/{options.OutputName}.csproj", projectSourceCode); - File.WriteAllText($"{outputFolder}/ConsoleHelper.cs", consoleHelperCode); + File.WriteAllText($"{options.OutputBaseDir}/Program.cs", trainScoreCode); + File.WriteAllText($"{options.OutputBaseDir}/{options.OutputName}.csproj", projectSourceCode); + File.WriteAllText($"{options.OutputBaseDir}/ConsoleHelper.cs", consoleHelperCode); } internal static string GenerateConsoleHelper(string namespaceValue) @@ -165,6 +165,7 @@ internal string GenerateTrainCode(string usings, string trainer, List tr internal IList GenerateClassLabels() { IList result = new List(); + var label_column = Utils.Sanitize(columnInferenceResult.ColumnInformation.LabelColumn); foreach (var column in columnInferenceResult.TextLoaderArgs.Column) { StringBuilder sb = new StringBuilder(); @@ -213,7 +214,15 @@ internal IList GenerateClassLabels() result.Add($"[ColumnName(\"{column.Name}\"), LoadColumn({column.Source[0].Min})]"); } sb.Append(" "); - sb.Append(Normalize(column.Name)); + if (column.Name.Equals(label_column)) + { + sb.Append("Label"); + } + else + { + sb.Append(Normalize(column.Name)); + } + sb.Append("{get; set;}"); result.Add(sb.ToString()); result.Add("\r\n"); diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index be82999513..1bc2cbff5f 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -74,8 +74,7 @@ public void Execute() // Save the model logger.Log(LogLevel.Info, Strings.SavingBestModel); - var modelPath = Path.Combine(@options.OutputPath.FullName, options.Name); - Utils.SaveModel(model, modelPath, $"{options.Name}_model.zip", context); + Utils.SaveModel(model, options.OutputPath.FullName, $"{options.Name}_model.zip", context); // Generate the Project GenerateProject(columnInference, pipeline); @@ -120,7 +119,13 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p internal (Pipeline, ITransformer) ExploreModels(MLContext context, IDataView trainData, IDataView validationData) { ITransformer model = null; - string label = options.LabelColumnName ?? "Label"; // It is guaranteed training dataview to have Label column + string label = "Label"; + + if (options.LabelColumnName != null) + { + label = Utils.Sanitize(options.LabelColumnName); + } + Pipeline pipeline = null; if (taskKind == TaskKind.BinaryClassification) diff --git a/src/mlnet/Templates/Console/MLProjectGen.cs b/src/mlnet/Templates/Console/MLProjectGen.cs index 511e79e20f..0ae9a77d72 100644 --- a/src/mlnet/Templates/Console/MLProjectGen.cs +++ b/src/mlnet/Templates/Console/MLProjectGen.cs @@ -33,7 +33,7 @@ public virtual string TransformText() False - + diff --git a/src/mlnet/Templates/Console/MLProjectGen.tt b/src/mlnet/Templates/Console/MLProjectGen.tt index b7201bd508..677597a2eb 100644 --- a/src/mlnet/Templates/Console/MLProjectGen.tt +++ b/src/mlnet/Templates/Console/MLProjectGen.tt @@ -11,7 +11,7 @@ False - + From 0444787e6ed52e23009457eacf7f1a74ec31a096 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 21 Feb 2019 22:58:38 -0800 Subject: [PATCH 098/211] Do not generate code concatenating columns when the dataset has a single feature column (#191) --- .../TransformInference/TransformInference.cs | 17 ++-- src/Test/DatasetDimensionsTests.cs | 22 +---- src/Test/TransformInferenceTests.cs | 81 +++++++++++++++++-- src/Test/Util.cs | 18 +++++ 4 files changed, 108 insertions(+), 30 deletions(-) diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs index 694d1f8a8b..726c73a104 100644 --- a/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs +++ b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs @@ -447,7 +447,7 @@ private static SuggestedTransform BuildFinalFeaturesConcatTransform(MLContext co foreach(var intermediateCol in intermediateCols) { if (intermediateCol.Purpose == ColumnPurpose.NumericFeature && - intermediateCol.Type == NumberType.R4) + intermediateCol.Type.GetItemType() == NumberType.R4) { concatColNames.Add(intermediateCol.ColumnName); } @@ -458,15 +458,22 @@ private static SuggestedTransform BuildFinalFeaturesConcatTransform(MLContext co concatColNames.Remove(DefaultColumnNames.GroupId); concatColNames.Remove(DefaultColumnNames.Name); - if (!concatColNames.Any() || (concatColNames.Count == 1 && concatColNames[0] == DefaultColumnNames.Features)) + intermediateCols = intermediateCols.Where(c => c.Purpose == ColumnPurpose.NumericFeature || + c.Purpose == ColumnPurpose.CategoricalFeature || c.Purpose == ColumnPurpose.TextFeature); + + if (!concatColNames.Any() || (concatColNames.Count == 1 && + concatColNames[0] == DefaultColumnNames.Features && + intermediateCols.First().Type.IsVector())) { return null; } - // If Features column exists in original dataset, add it to concatColumnNames - if (intermediateCols.Any(c => c.ColumnName == DefaultColumnNames.Features)) + if (concatColNames.Count() == 1 && + (intermediateCols.First().Type.IsVector() || + intermediateCols.First().Purpose == ColumnPurpose.CategoricalFeature || + intermediateCols.First().Purpose == ColumnPurpose.TextFeature)) { - concatColNames.Add(DefaultColumnNames.Features); + return ColumnCopyingExtension.CreateSuggestedTransform(context, concatColNames.First(), DefaultColumnNames.Features); } return ColumnConcatenatingExtension.CreateSuggestedTransform(context, concatColNames.Distinct().ToArray(), DefaultColumnNames.Features); diff --git a/src/Test/DatasetDimensionsTests.cs b/src/Test/DatasetDimensionsTests.cs index 23e41f4a7c..3d87593278 100644 --- a/src/Test/DatasetDimensionsTests.cs +++ b/src/Test/DatasetDimensionsTests.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.Data.DataView; +using Microsoft.Data.DataView; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -63,13 +60,13 @@ public void FloatVectorColumnHasNanTest() new float[] { 0, 0 }, new float[] { 1, 1 }, }; - dataBuilder.AddColumn("NoNan", GetKeyValueGetter(slotNames), NumberType.R4, colValues); + dataBuilder.AddColumn("NoNan", Util.GetKeyValueGetter(slotNames), NumberType.R4, colValues); colValues = new float[][] { new float[] { 0, 0 }, new float[] { 1, float.NaN }, }; - dataBuilder.AddColumn("Nan", GetKeyValueGetter(slotNames), NumberType.R4, colValues); + dataBuilder.AddColumn("Nan", Util.GetKeyValueGetter(slotNames), NumberType.R4, colValues); var data = dataBuilder.GetDataView(); var dimensions = DatasetDimensionsApi.CalcColumnDimensions(context, data, new[] { new PurposeInference.Column(0, ColumnPurpose.NumericFeature), @@ -82,18 +79,5 @@ public void FloatVectorColumnHasNanTest() Assert.AreEqual(false, dimensions[0].HasMissing); Assert.AreEqual(true, dimensions[1].HasMissing); } - - private static ValueGetter>> GetKeyValueGetter(IEnumerable colNames) - { - return (ref VBuffer> dst) => - { - var editor = VBufferEditor.Create(ref dst, colNames.Count()); - for (int i = 0; i < colNames.Count(); i++) - { - editor.Values[i] = colNames.ElementAt(i).AsMemory(); - } - dst = editor.Commit(); - }; - } } } diff --git a/src/Test/TransformInferenceTests.cs b/src/Test/TransformInferenceTests.cs index daf6582e7c..a96c3494b7 100644 --- a/src/Test/TransformInferenceTests.cs +++ b/src/Test/TransformInferenceTests.cs @@ -218,11 +218,32 @@ public void TransformInferenceNumericCols() } [TestMethod] - public void TransformInferenceFeatCol() + public void TransformInferenceFeatColScalar() { TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] { (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + }, @"[ + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Features"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformInferenceFeatColVector() + { + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + (DefaultColumnNames.Features, new VectorType(NumberType.R4), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[]"); } @@ -249,6 +270,48 @@ public void NumericAndFeatCol() ]"); } + [TestMethod] + public void NumericScalarCol() + { + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + ("Numeric", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + }, @"[ + { + ""Name"": ""ColumnConcatenating"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Numeric"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void NumericVectorCol() + { + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + { + ("Numeric", new VectorType(NumberType.R4), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + }, @"[ + { + ""Name"": ""ColumnCopying"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""Numeric"" + ], + ""OutColumns"": [ + ""Features"" + ], + ""Properties"": {} + } +]"); + } + [TestMethod] public void TransformInferenceTextCol() { @@ -268,7 +331,7 @@ public void TransformInferenceTextCol() ""Properties"": {} }, { - ""Name"": ""ColumnConcatenating"", + ""Name"": ""ColumnCopying"", ""NodeType"": ""Transform"", ""InColumns"": [ ""Text_tf"" @@ -566,7 +629,7 @@ public void TransformInferenceDefaultLabelCol() { TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, new VectorType(NumberType.R4), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), (DefaultColumnNames.Label, NumberType.R4, ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[]"); } @@ -576,7 +639,7 @@ public void TransformInferenceCustomLabelCol() { TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, new VectorType(NumberType.R4), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), ("CustomLabel", NumberType.R4, ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[ { @@ -598,7 +661,7 @@ public void TransformInferenceDefaultGroupIdCol() { TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, new VectorType(NumberType.R4), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), (DefaultColumnNames.GroupId, NumberType.R4, ColumnPurpose.Group, new ColumnDimensions(null, null)), }, @"[]"); } @@ -608,7 +671,7 @@ public void TransformInferenceCustomGroupIdCol() { TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, new VectorType(NumberType.R4), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), ("CustomGroupId", NumberType.R4, ColumnPurpose.Group, new ColumnDimensions(null, null)), }, @"[ { @@ -709,6 +772,7 @@ private static void TestApplyTransformsToRealDataView(IEnumerable(string expectedJson, T obj) Formatting.Indented, new JsonConverter[] { new StringEnumConverter() }); Assert.AreEqual(expectedJson, actualJson); } + + public static ValueGetter>> GetKeyValueGetter(IEnumerable colNames) + { + return (ref VBuffer> dst) => + { + var editor = VBufferEditor.Create(ref dst, colNames.Count()); + for (int i = 0; i < colNames.Count(); i++) + { + editor.Values[i] = colNames.ElementAt(i).AsMemory(); + } + dst = editor.Commit(); + }; + } } } From 774454903dbd5bc279404948079fe60273fcd77c Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Fri, 22 Feb 2019 10:36:12 -0800 Subject: [PATCH 099/211] Include some missed logging in the generated code. (#199) * added logging messages for generated code * added log messages * deleted file --- ...leCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt | 2 ++ src/mlnet/Templates/Console/MLCodeGen.cs | 6 ++++-- src/mlnet/Templates/Console/MLCodeGen.tt | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt index 3d00a1d2d2..6605f59881 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt @@ -64,6 +64,7 @@ namespace MyNamespace var trainingPipeline = dataProcessPipeline.Append(trainer); // Train the model fitting to the DataSet + Console.WriteLine("=============== Training the model ==============="); var trainedModel = trainingPipeline.Fit(trainingDataView); // Evaluate the model and show accuracy stats @@ -73,6 +74,7 @@ namespace MyNamespace ConsoleHelper.PrintBinaryClassificationMetrics(trainer.ToString(), metrics); // Save/persist the trained model to a .ZIP file + Console.WriteLine($"=============== Saving the model ==============="); using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) mlContext.Model.Save(trainedModel, fs); diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index 6d9d5573d7..90cdacf169 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -150,8 +150,9 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) "rics(trainer.ToString(), crossValidationResults);\r\n"); } } - this.Write("\r\n // Train the model fitting to the DataSet\r\n var trainedM" + - "odel = trainingPipeline.Fit(trainingDataView);\r\n\r\n"); + this.Write("\r\n // Train the model fitting to the DataSet\r\n Console.Writ" + + "eLine(\"=============== Training the model ===============\");\r\n var tr" + + "ainedModel = trainingPipeline.Fit(trainingDataView);\r\n\r\n"); if(!string.IsNullOrEmpty(TestPath)){ this.Write(" // Evaluate the model and show accuracy stats\r\n Console.Wr" + "iteLine(\"===== Evaluating Model\'s accuracy with Test data =====\");\r\n " + @@ -171,6 +172,7 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) } this.Write(@" // Save/persist the trained model to a .ZIP file + Console.WriteLine($""=============== Saving the model ===============""); using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) mlContext.Model.Save(trainedModel, fs); diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index 9bbcd115e5..7f3278db61 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -101,6 +101,7 @@ else{#> } #> // Train the model fitting to the DataSet + Console.WriteLine("=============== Training the model ==============="); var trainedModel = trainingPipeline.Fit(trainingDataView); <# if(!string.IsNullOrEmpty(TestPath)){ #> @@ -117,6 +118,7 @@ else{#> <# } #> // Save/persist the trained model to a .ZIP file + Console.WriteLine($"=============== Saving the model ==============="); using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) mlContext.Model.Save(trainedModel, fs); From 2f1b176e266bcdf3509176c525fbd4d24d37fa11 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Fri, 22 Feb 2019 13:26:30 -0800 Subject: [PATCH 100/211] cleaning up proj files (#185) * removed platform target * removed platform target --- src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj | 9 --------- src/Samples/Samples.csproj | 15 +-------------- 2 files changed, 1 insertion(+), 23 deletions(-) diff --git a/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj b/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj index 27d2942fcf..b822ab30a8 100644 --- a/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj +++ b/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj @@ -5,15 +5,6 @@ Microsoft.ML.Auto - - x64 - 1701;1702;0649; - - - - 1701;1702;0649 - - diff --git a/src/Samples/Samples.csproj b/src/Samples/Samples.csproj index b79759e289..8ab5ec2e96 100644 --- a/src/Samples/Samples.csproj +++ b/src/Samples/Samples.csproj @@ -1,23 +1,10 @@ - + Exe netcoreapp2.1 - - 1701;1702;0649 - true - - - - 1701;1702;;0649 - - - - 1701;1702;;0649 - - From 895414c3b5a5eedb5499fcfcc91a7eb407a30a21 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Fri, 22 Feb 2019 15:16:59 -0800 Subject: [PATCH 101/211] Some spaces and extra lines + bug in output path (#204) * nit picks * nit picks * fix test --- ...oleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt | 2 +- src/mlnet/Commands/CommandDefinitions.cs | 2 +- src/mlnet/Templates/Console/MLCodeGen.cs | 5 +---- src/mlnet/Templates/Console/MLCodeGen.tt | 5 +---- 4 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt index 6605f59881..d63ffa5064 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt @@ -83,7 +83,7 @@ namespace MyNamespace return trainedModel; } - // (OPTIONAL) Try/test a single prediction by loding the model from the file, first. + // (OPTIONAL) Try/test a single prediction by loading the model from the file, first. private static void TestSinglePrediction(MLContext mlContext) { //Load data to test. Could be any test data. For demonstration purpose train data is used here. diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 27fe6edf9e..53818b3edb 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -93,7 +93,7 @@ Option Name() => Option OutputPath() => new Option(new List() { "--output-path" }, "Output folder path.", - new Argument(defaultValue: new DirectoryInfo(".\\Sample"))); + new Argument(defaultValue: new DirectoryInfo("."))); Option HasHeader() => new Option(new List() { "--has-header" }, "Specifies if the dataset has header or not.", diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index 90cdacf169..a6febcce16 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -109,9 +109,6 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) { Write("\r\n .Append("); } Write("mlContext.Transforms."+Transforms[i]); - if(i>0) - { Write(")\r\n"); - } } this.Write(";\r\n"); } @@ -181,7 +178,7 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) return trainedModel; } - // (OPTIONAL) Try/test a single prediction by loding the model from the file, first. + // (OPTIONAL) Try/test a single prediction by loading the model from the file, first. private static void TestSinglePrediction(MLContext mlContext) { //Load data to test. Could be any test data. For demonstration purpose train data is used here. diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index 7f3278db61..882bb0d066 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -72,9 +72,6 @@ namespace <#= Namespace #> { Write("\r\n .Append("); } Write("mlContext.Transforms."+Transforms[i]); - if(i>0) - { Write(")\r\n"); - } }#>; <#}#> @@ -127,7 +124,7 @@ else{#> return trainedModel; } - // (OPTIONAL) Try/test a single prediction by loding the model from the file, first. + // (OPTIONAL) Try/test a single prediction by loading the model from the file, first. private static void TestSinglePrediction(MLContext mlContext) { //Load data to test. Could be any test data. For demonstration purpose train data is used here. From 5279a69a51229a136cc89566ba2aafd91976eeba Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Fri, 22 Feb 2019 16:00:28 -0800 Subject: [PATCH 102/211] accept label from user input and provide in generated code (#205) --- .../ConsoleCodeGeneratorTests.cs | 12 +++---- .../CodeGenerator/CSharp/CodeGenerator.cs | 32 +++---------------- .../CSharp/CodeGeneratorOptions.cs | 1 + src/mlnet/Commands/New/NewCommandHandler.cs | 23 ++++++------- src/mlnet/Program.cs | 1 + src/mlnet/Templates/Console/MLCodeGen.cs | 30 +++++++++++------ src/mlnet/Templates/Console/MLCodeGen.tt | 12 ++++--- src/mlnet/Utilities/Utils.cs | 16 ++++++++++ 8 files changed, 66 insertions(+), 61 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index d8d39355dc..1c1f64bda3 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -34,8 +34,8 @@ public void GeneratedTrainCodeTest() OutputBaseDir = null, OutputName = "MyNamespace", TrainDataset = new FileInfo("x:\\dummypath\\dummy_train.csv"), - TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv") - + TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv"), + LabelName = "Label" }); (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); @@ -57,8 +57,8 @@ public void GeneratedProjectCodeTest() OutputBaseDir = null, OutputName = "MyNamespace", TrainDataset = new FileInfo("x:\\dummypath\\dummy_train.csv"), - TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv") - + TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv"), + LabelName = "Label" }); (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); @@ -80,8 +80,8 @@ public void GeneratedHelperCodeTest() OutputBaseDir = null, OutputName = "MyNamespace", TrainDataset = new FileInfo("x:\\dummypath\\dummy_train.csv"), - TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv") - + TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv"), + LabelName = "Label" }); (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index 02523591dc..dd6259b834 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -51,7 +51,7 @@ public void GenerateOutput() var classLabels = this.GenerateClassLabels(); // Get Namespace - var namespaceValue = Normalize(options.OutputName); + var namespaceValue = Utils.Normalize(options.OutputName); // Generate code for training and scoring var trainFileContent = GenerateTrainCode(usings, trainer, transforms, columns, classLabels, namespaceValue); @@ -108,7 +108,8 @@ internal string GenerateTrainCode(string usings, string trainer, List tr Path = options.TrainDataset.FullName, TestPath = options.TestDataset?.FullName, TaskType = options.MlTask.ToString(), - Namespace = namespaceValue + Namespace = namespaceValue, + LabelName = options.LabelName }; return trainingAndScoringCodeGen.TransformText(); @@ -214,15 +215,7 @@ internal IList GenerateClassLabels() result.Add($"[ColumnName(\"{column.Name}\"), LoadColumn({column.Source[0].Min})]"); } sb.Append(" "); - if (column.Name.Equals(label_column)) - { - sb.Append("Label"); - } - else - { - sb.Append(Normalize(column.Name)); - } - + sb.Append(Utils.Normalize(column.Name)); sb.Append("{get; set;}"); result.Add(sb.ToString()); result.Add("\r\n"); @@ -277,22 +270,5 @@ private static string ConstructColumnDefinition(Column column) var def = $"new Column(\"{column.Name}\",DataKind.{column.Type},{rangeBuilder.ToString()}),"; return def; } - - private static string Normalize(string inputColumn) - { - //check if first character is int - if (!string.IsNullOrEmpty(inputColumn) && int.TryParse(inputColumn.Substring(0, 1), out int val)) - { - inputColumn = "Col" + inputColumn; - return inputColumn; - } - switch (inputColumn) - { - case null: throw new ArgumentNullException(nameof(inputColumn)); - case "": throw new ArgumentException($"{nameof(inputColumn)} cannot be empty", nameof(inputColumn)); - default: return inputColumn.First().ToString().ToUpper() + inputColumn.Substring(1); - } - } - } } diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGeneratorOptions.cs b/src/mlnet/CodeGenerator/CSharp/CodeGeneratorOptions.cs index 20ef91d141..a75c4e465b 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGeneratorOptions.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGeneratorOptions.cs @@ -5,6 +5,7 @@ namespace Microsoft.ML.CLI.CodeGenerator.CSharp { internal class CodeGeneratorOptions { + public string LabelName { get; internal set; } internal string OutputName { get; set; } internal string OutputBaseDir { get; set; } diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index 1bc2cbff5f..f1806f796e 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -48,6 +48,8 @@ public void Execute() // Sanitize columns Array.ForEach(columnInference.TextLoaderArgs.Column, t => t.Name = Utils.Sanitize(t.Name)); + var sanitized_Label_Name = Utils.Sanitize(columnInference.ColumnInformation.LabelColumn); + // Load data (IDataView trainData, IDataView validationData) = LoadData(context, columnInference.TextLoaderArgs); @@ -56,7 +58,7 @@ public void Execute() Console.WriteLine($"{Strings.ExplorePipeline}: {options.MlTask}"); try { - result = ExploreModels(context, trainData, validationData); + result = ExploreModels(context, trainData, validationData, sanitized_Label_Name); } catch (Exception e) { @@ -77,7 +79,7 @@ public void Execute() Utils.SaveModel(model, options.OutputPath.FullName, $"{options.Name}_model.zip", context); // Generate the Project - GenerateProject(columnInference, pipeline); + GenerateProject(columnInference, pipeline, sanitized_Label_Name); } internal ColumnInferenceResults InferColumns(MLContext context) @@ -98,7 +100,7 @@ internal ColumnInferenceResults InferColumns(MLContext context) return columnInference; } - internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline pipeline) + internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline pipeline, string labelName) { //Generate code logger.Log(LogLevel.Info, $"{Strings.GenerateProject} : {options.OutputPath.FullName}"); @@ -111,20 +113,15 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p MlTask = taskKind, TestDataset = options.TestDataset, OutputName = options.Name, - OutputBaseDir = options.OutputPath.FullName + OutputBaseDir = options.OutputPath.FullName, + LabelName = labelName }); codeGenerator.GenerateOutput(); } - internal (Pipeline, ITransformer) ExploreModels(MLContext context, IDataView trainData, IDataView validationData) + internal (Pipeline, ITransformer) ExploreModels(MLContext context, IDataView trainData, IDataView validationData, string labelName) { ITransformer model = null; - string label = "Label"; - - if (options.LabelColumnName != null) - { - label = Utils.Sanitize(options.LabelColumnName); - } Pipeline pipeline = null; @@ -137,7 +134,7 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p MaxInferenceTimeInSeconds = options.MaxExplorationTime, ProgressCallback = progressReporter }) - .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = label }); + .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); var bestIteration = result.Best(); pipeline = bestIteration.Pipeline; @@ -152,7 +149,7 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p { MaxInferenceTimeInSeconds = options.MaxExplorationTime, ProgressCallback = progressReporter - }).Execute(trainData, validationData, new ColumnInformation() { LabelColumn = label }); + }).Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); var bestIteration = result.Best(); pipeline = bestIteration.Pipeline; diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index 8b9ffc6ee4..5016638004 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -47,6 +47,7 @@ public static void Main(string[] args) parser.InvokeAsync(args).Wait(); + Console.ReadKey(); } } } diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index a6febcce16..c43116f1bb 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -12,6 +12,7 @@ namespace Microsoft.ML.CLI.Templates.Console using System.Linq; using System.Text; using System.Collections.Generic; + using Microsoft.ML.CLI.Utilities; using System; /// @@ -135,16 +136,20 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: "); this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); - this.Write(", labelColumn:\"Label\");\r\n ConsoleHelper.PrintBinaryClassificationFolds" + - "AverageMetrics(trainer.ToString(), crossValidationResults);\r\n"); + this.Write(", labelColumn:\""); + this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); + this.Write("\");\r\n ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(train" + + "er.ToString(), crossValidationResults);\r\n"); } if("Regression".Equals(TaskType)){ this.Write(" var crossValidationResults = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".CrossValidate(trainingDataView, trainingPipeline, numFolds: "); this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); - this.Write(", labelColumn:\"Label\");\r\n ConsoleHelper.PrintRegressionFoldsAverageMet" + - "rics(trainer.ToString(), crossValidationResults);\r\n"); + this.Write(", labelColumn:\""); + this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); + this.Write("\");\r\n ConsoleHelper.PrintRegressionFoldsAverageMetrics(trainer.ToStrin" + + "g(), crossValidationResults);\r\n"); } } this.Write("\r\n // Train the model fitting to the DataSet\r\n Console.Writ" + @@ -157,14 +162,18 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) if("BinaryClassification".Equals(TaskType)){ this.Write(" var metrics = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); - this.Write(".EvaluateNonCalibrated(predictions, \"Label\", \"Score\");\r\n ConsoleHelper" + - ".PrintBinaryClassificationMetrics(trainer.ToString(), metrics);\r\n"); + this.Write(".EvaluateNonCalibrated(predictions, \""); + this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); + this.Write("\", \"Score\");\r\n ConsoleHelper.PrintBinaryClassificationMetrics(trainer." + + "ToString(), metrics);\r\n"); } if("Regression".Equals(TaskType)){ this.Write(" var metrics = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); - this.Write(".Evaluate(predictions, \"Label\", \"Score\");\r\n ConsoleHelper.PrintRegress" + - "ionMetrics(trainer.ToString(), metrics);\r\n"); + this.Write(".Evaluate(predictions, \""); + this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); + this.Write("\", \"Score\");\r\n ConsoleHelper.PrintRegressionMetrics(trainer.ToString()" + + ", metrics);\r\n"); } } this.Write(@" @@ -211,7 +220,9 @@ private static void TestSinglePrediction(MLContext mlContext) var resultprediction = predEngine.Predict(sample); Console.WriteLine($""=============== Single Prediction ===============""); - Console.WriteLine($""Actual value: {sample.Label} | Predicted value: {resultprediction."); + Console.WriteLine($""Actual value: {sample."); + this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); + this.Write("} | Predicted value: {resultprediction."); if("BinaryClassification".Equals(TaskType)){ this.Write("Prediction"); }else{ @@ -258,6 +269,7 @@ private static void TestSinglePrediction(MLContext mlContext) public bool TrimWhiteSpace {get;set;} public int Kfolds {get;set;} = 5; public string Namespace {get;set;} +public string LabelName {get;set;} } #region Base class diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index 882bb0d066..636ac5c717 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -3,6 +3,7 @@ <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> <#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="Microsoft.ML.CLI.Utilities" #> // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. @@ -89,10 +90,10 @@ else{#> // in order to evaluate and get the model's accuracy metrics Console.WriteLine("=============== Cross-validating to get model's accuracy metrics ==============="); <#if("BinaryClassification".Equals(TaskType)){ #> - var crossValidationResults = mlContext.<#= TaskType #>.CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"Label"); + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"<#= LabelName #>"); ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(trainer.ToString(), crossValidationResults); <#}#><#if("Regression".Equals(TaskType)){ #> - var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"Label"); + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"<#= LabelName #>"); ConsoleHelper.PrintRegressionFoldsAverageMetrics(trainer.ToString(), crossValidationResults); <#} } #> @@ -106,10 +107,10 @@ else{#> Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); var predictions = trainedModel.Transform(testDataView); <#if("BinaryClassification".Equals(TaskType)){ #> - var metrics = mlContext.<#= TaskType #>.EvaluateNonCalibrated(predictions, "Label", "Score"); + var metrics = mlContext.<#= TaskType #>.EvaluateNonCalibrated(predictions, "<#= LabelName #>", "Score"); ConsoleHelper.PrintBinaryClassificationMetrics(trainer.ToString(), metrics); <#}#><#if("Regression".Equals(TaskType)){ #> - var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "Label", "Score"); + var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "<#= LabelName #>", "Score"); ConsoleHelper.PrintRegressionMetrics(trainer.ToString(), metrics); <#}#> <# } #> @@ -151,7 +152,7 @@ else{#> var resultprediction = predEngine.Predict(sample); Console.WriteLine($"=============== Single Prediction ==============="); - Console.WriteLine($"Actual value: {sample.Label} | Predicted value: {resultprediction.<#if("BinaryClassification".Equals(TaskType)){ #>Prediction<#}else{#>Score<#}#>}"); + Console.WriteLine($"Actual value: {sample.<#= Utils.Normalize(LabelName) #>} | Predicted value: {resultprediction.<#if("BinaryClassification".Equals(TaskType)){ #>Prediction<#}else{#>Score<#}#>}"); Console.WriteLine($"=================================================="); } @@ -201,4 +202,5 @@ public bool AllowSparse {get;set;} public bool TrimWhiteSpace {get;set;} public int Kfolds {get;set;} = 5; public string Namespace {get;set;} +public string LabelName {get;set;} #> diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index 8f74508f51..814272a2d4 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -59,5 +59,21 @@ internal static TaskKind GetTaskKind(string mlTask) } } + internal static string Normalize(string inputColumn) + { + //check if first character is int + if (!string.IsNullOrEmpty(inputColumn) && int.TryParse(inputColumn.Substring(0, 1), out int val)) + { + inputColumn = "Col" + inputColumn; + return inputColumn; + } + switch (inputColumn) + { + case null: throw new ArgumentNullException(nameof(inputColumn)); + case "": throw new ArgumentException($"{nameof(inputColumn)} cannot be empty", nameof(inputColumn)); + default: return inputColumn.First().ToString().ToUpper() + inputColumn.Substring(1); + } + } + } } From c4090f3024ac5f2d3433f564d4f2dbf99680adcd Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Fri, 22 Feb 2019 16:07:56 -0800 Subject: [PATCH 103/211] Rev handling of weight / label columns (#203) --- src/Microsoft.ML.Auto/API/ColumnInference.cs | 4 +- .../ColumnInference/ColumnInformationUtil.cs | 22 +-- .../ColumnInference/ColumnPurpose.cs | 14 +- .../ColumnInference/PurposeInference.cs | 32 +--- .../Experiment/Experiment.cs | 6 +- .../Experiment/RecipeInference.cs | 4 +- .../Experiment/SuggestedPipeline.cs | 7 +- .../Experiment/SuggestedTrainer.cs | 15 +- .../PipelineSuggesters/PipelineSuggester.cs | 3 +- .../BinaryTrainerExtensions.cs | 117 ++++++++++-- .../TrainerExtensions/ITrainerExtension.cs | 4 +- .../MultiTrainerExtensions.cs | 105 ++++++++--- .../RegressionTrainerExtensions.cs | 94 ++++++++-- .../TrainerExtensions/TrainerExtensionUtil.cs | 106 +++++++++-- .../TransformInference/TransformInference.cs | 101 +---------- src/Samples/AutoTrainRegression.cs | 2 +- src/Test/ColumnInferenceTests.cs | 27 ++- src/Test/GetNextPipelineTests.cs | 2 +- src/Test/InferredPipelineTests.cs | 21 +-- .../DatasetWithDefaultColumnNames.txt | 8 +- src/Test/TrainerExtensionsTests.cs | 169 ++++++++++++++---- src/Test/TransformInferenceTests.cs | 34 +--- .../ConsoleCodeGeneratorTests.cs | 4 +- .../CSharp/TrainerGeneratorBase.cs | 5 +- 24 files changed, 579 insertions(+), 327 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/ColumnInference.cs b/src/Microsoft.ML.Auto/API/ColumnInference.cs index f07c1df7c7..44b6f11f6d 100644 --- a/src/Microsoft.ML.Auto/API/ColumnInference.cs +++ b/src/Microsoft.ML.Auto/API/ColumnInference.cs @@ -16,9 +16,7 @@ public class ColumnInferenceResults public class ColumnInformation { public string LabelColumn = DefaultColumnNames.Label; - public string NameColumn = DefaultColumnNames.Name; - public string GroupIdColumn = DefaultColumnNames.GroupId; - public string WeightColumn = DefaultColumnNames.Weight; + public string WeightColumn; public IEnumerable CategoricalColumns { get; set; } public IEnumerable NumericColumns { get; set; } public IEnumerable TextColumns { get; set; } diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs index 9c9210364c..5e0767241b 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.Data.DataView; namespace Microsoft.ML.Auto { @@ -17,16 +18,6 @@ internal static class ColumnInformationUtil return ColumnPurpose.Label; } - if (columnName == columnInfo.NameColumn) - { - return ColumnPurpose.Name; - } - - if (columnName == columnInfo.GroupIdColumn) - { - return ColumnPurpose.Group; - } - if (columnName == columnInfo.WeightColumn) { return ColumnPurpose.Weight; @@ -70,18 +61,12 @@ internal static ColumnInformation BuildColumnInfo(IEnumerable<(string name, Colu case ColumnPurpose.CategoricalFeature: categoricalColumns.Add(column.name); break; - case ColumnPurpose.Group: - columnInfo.GroupIdColumn = column.name; - break; case ColumnPurpose.Ignore: ignoredColumns.Add(column.name); break; case ColumnPurpose.Label: columnInfo.LabelColumn = column.name; break; - case ColumnPurpose.Name: - columnInfo.NameColumn = column.name; - break; case ColumnPurpose.NumericFeature: numericColumns.Add(column.name); break; @@ -96,5 +81,10 @@ internal static ColumnInformation BuildColumnInfo(IEnumerable<(string name, Colu return columnInfo; } + + public static ColumnInformation BuildColumnInfo(IEnumerable<(string, ColumnType, ColumnPurpose, ColumnDimensions)> columns) + { + return BuildColumnInfo(columns.Select(c => (c.Item1, c.Item3))); + } } } diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnPurpose.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnPurpose.cs index 11f83a1fbe..67bee3e70b 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnPurpose.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnPurpose.cs @@ -7,13 +7,11 @@ namespace Microsoft.ML.Auto internal enum ColumnPurpose { Ignore = 0, - Name = 1, - Label = 2, - NumericFeature = 3, - CategoricalFeature = 4, - TextFeature = 5, - Weight = 6, - Group = 7, - ImagePath = 8 + Label = 1, + NumericFeature = 2, + CategoricalFeature = 3, + TextFeature = 4, + Weight = 5, + ImagePath = 6 } } diff --git a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs index 86249b3dea..d9fd2da1a0 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs @@ -108,30 +108,6 @@ public T[] GetData() private static class Experts { - internal sealed class HeaderComprehension : IPurposeInferenceExpert - { - public void Apply(IntermediateColumn[] columns) - { - foreach (var column in columns) - { - if (column.IsPurposeSuggested) - continue; - else if (Regex.IsMatch(column.ColumnName, @"^m_queryid$", RegexOptions.IgnoreCase)) - column.SuggestedPurpose = ColumnPurpose.Group; - else if (Regex.IsMatch(column.ColumnName, @"group", RegexOptions.IgnoreCase)) - column.SuggestedPurpose = ColumnPurpose.Group; - else if (Regex.IsMatch(column.ColumnName, @"^m_\w+id$", RegexOptions.IgnoreCase)) - column.SuggestedPurpose = ColumnPurpose.Name; - else if (Regex.IsMatch(column.ColumnName, @"^id$", RegexOptions.IgnoreCase)) - column.SuggestedPurpose = ColumnPurpose.Name; - else if (Regex.IsMatch(column.ColumnName, @"^m_", RegexOptions.IgnoreCase)) - column.SuggestedPurpose = ColumnPurpose.Ignore; - else - continue; - } - } - } - internal sealed class TextClassification : IPurposeInferenceExpert { public void Apply(IntermediateColumn[] columns) @@ -172,12 +148,10 @@ public void Apply(IntermediateColumn[] columns) if (cardinalityRatio < 0.7 || seen.Count < 100) column.SuggestedPurpose = ColumnPurpose.CategoricalFeature; // (note: the columns.Count() == 1 condition below, in case a dataset has only - // a 'name' and a 'label' column, forces what would be a 'name' column to become a text feature) + // a 'name' and a 'label' column, forces what would be an 'ignore' column to become a text feature) else if (cardinalityRatio >= 0.85 && (avgLength > 30 || avgSpaces >= 1 || columns.Count() == 1)) column.SuggestedPurpose = ColumnPurpose.TextFeature; else if (cardinalityRatio >= 0.9) - column.SuggestedPurpose = ColumnPurpose.Name; - else column.SuggestedPurpose = ColumnPurpose.Ignore; } else @@ -244,9 +218,7 @@ public void Apply(IntermediateColumn[] columns) private static IEnumerable GetExperts() { // Each of the experts respects the decisions of all the experts above. - - // Use column names to suggest purpose. - yield return new Experts.HeaderComprehension(); + // Single-value text columns may be category, name, text or ignore. yield return new Experts.TextClassification(); // Vector-value text columns are always treated as text. diff --git a/src/Microsoft.ML.Auto/Experiment/Experiment.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs index c115df262c..1f7a1bb744 100644 --- a/src/Microsoft.ML.Auto/Experiment/Experiment.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -170,11 +170,11 @@ private T GetEvaluatedMetrics(IDataView scoredData) switch(_task) { case TaskKind.BinaryClassification: - return _context.BinaryClassification.EvaluateNonCalibrated(scoredData) as T; + return _context.BinaryClassification.EvaluateNonCalibrated(scoredData, label: _columnInfo.LabelColumn) as T; case TaskKind.MulticlassClassification: - return _context.MulticlassClassification.Evaluate(scoredData) as T; + return _context.MulticlassClassification.Evaluate(scoredData, label: _columnInfo.LabelColumn) as T; case TaskKind.Regression: - return _context.Regression.Evaluate(scoredData) as T; + return _context.Regression.Evaluate(scoredData, label: _columnInfo.LabelColumn) as T; // should not be possible to reach here default: throw new InvalidOperationException($"unsupported machine learning task type {_task}"); diff --git a/src/Microsoft.ML.Auto/Experiment/RecipeInference.cs b/src/Microsoft.ML.Auto/Experiment/RecipeInference.cs index 701146171f..c680a4e96b 100644 --- a/src/Microsoft.ML.Auto/Experiment/RecipeInference.cs +++ b/src/Microsoft.ML.Auto/Experiment/RecipeInference.cs @@ -13,14 +13,14 @@ internal static class RecipeInference /// /// Array of viable learners. public static IEnumerable AllowedTrainers(MLContext mlContext, TaskKind task, - IEnumerable trainerWhitelist) + ColumnInformation columnInfo, IEnumerable trainerWhitelist) { var trainerExtensions = TrainerExtensionCatalog.GetTrainers(task, trainerWhitelist); var trainers = new List(); foreach (var trainerExtension in trainerExtensions) { - var learner = new SuggestedTrainer(mlContext, trainerExtension); + var learner = new SuggestedTrainer(mlContext, trainerExtension, columnInfo); trainers.Add(learner); } return trainers.ToArray(); diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs index 37ae0117fc..9406acda89 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs @@ -76,7 +76,8 @@ public static SuggestedPipeline FromPipeline(MLContext context, Pipeline pipelin var trainerName = (TrainerName)Enum.Parse(typeof(TrainerName), pipelineNode.Name); var trainerExtension = TrainerExtensionCatalog.GetTrainerExtension(trainerName); var hyperParamSet = TrainerExtensionUtil.BuildParameterSet(trainerName, pipelineNode.Properties); - trainer = new SuggestedTrainer(context, trainerExtension, hyperParamSet); + var columnInfo = TrainerExtensionUtil.BuildColumnInfo(pipelineNode.Properties); + trainer = new SuggestedTrainer(context, trainerExtension, columnInfo, hyperParamSet); } else if (pipelineNode.NodeType == PipelineNodeType.Transform) { @@ -105,7 +106,7 @@ public IEstimator ToEstimator() } // get learner - var learner = Trainer.BuildTrainer(_context); + var learner = Trainer.BuildTrainer(); // append learner to pipeline pipeline = pipeline.Append(learner); @@ -122,7 +123,7 @@ public ITransformer Fit(IDataView trainData) private void AddNormalizationTransforms() { // get learner - var learner = Trainer.BuildTrainer(_context); + var learner = Trainer.BuildTrainer(); // only add normalization if learner needs it if (!learner.Info.NeedNormalization) diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedTrainer.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedTrainer.cs index cd3a7286f2..04bfa81837 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedTrainer.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedTrainer.cs @@ -16,12 +16,15 @@ internal class SuggestedTrainer private readonly MLContext _mlContext; private readonly ITrainerExtension _trainerExtension; + private readonly ColumnInformation _columnInfo; internal SuggestedTrainer(MLContext mlContext, ITrainerExtension trainerExtension, + ColumnInformation columnInfo, ParameterSet hyperParamSet = null) { _mlContext = mlContext; _trainerExtension = trainerExtension; + _columnInfo = columnInfo; SweepParams = _trainerExtension.GetHyperparamSweepRanges(); TrainerName = TrainerExtensionCatalog.GetTrainerName(_trainerExtension); SetHyperparamValues(hyperParamSet); @@ -35,17 +38,17 @@ public void SetHyperparamValues(ParameterSet hyperParamSet) public SuggestedTrainer Clone() { - return new SuggestedTrainer(_mlContext, _trainerExtension, HyperParamSet?.Clone()); + return new SuggestedTrainer(_mlContext, _trainerExtension, _columnInfo, HyperParamSet?.Clone()); } - public ITrainerEstimator, IPredictor> BuildTrainer(MLContext env) + public ITrainerEstimator, IPredictor> BuildTrainer() { IEnumerable sweepParams = null; if (HyperParamSet != null) { sweepParams = SweepParams; } - return _trainerExtension.CreateInstance(_mlContext, sweepParams); + return _trainerExtension.CreateInstance(_mlContext, sweepParams, _columnInfo); } public override string ToString() @@ -60,10 +63,8 @@ public override string ToString() public PipelineNode ToPipelineNode() { - var hyperParams = SweepParams.Where(p => p != null && p.RawValue != null); - var elementProperties = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName, hyperParams); - return new PipelineNode(TrainerName.ToString(), PipelineNodeType.Trainer, - new[] { "Features" }, new[] { "Score" }, elementProperties); + var sweepParams = SweepParams.Where(p => p.RawValue != null); + return _trainerExtension.CreatePipelineNode(sweepParams, _columnInfo); } /// diff --git a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs index db1f8e9830..e94ff6a4da 100644 --- a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs +++ b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs @@ -32,7 +32,8 @@ public static SuggestedPipeline GetNextInferredPipeline(MLContext context, bool isMaximizingMetric, IEnumerable trainerWhitelist = null) { - var availableTrainers = RecipeInference.AllowedTrainers(context, task, trainerWhitelist); + var availableTrainers = RecipeInference.AllowedTrainers(context, task, + ColumnInformationUtil.BuildColumnInfo(columns), trainerWhitelist); var transforms = CalculateTransforms(context, columns, task); //var transforms = TransformInferenceApi.InferTransforms(context, columns, task); diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs index 2b7dda0cd9..ec6ef78b4b 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs @@ -23,19 +23,38 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildAveragePerceptronParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = new AveragedPerceptronTrainer.Options(); + AveragedPerceptronTrainer.Options options = null; if (sweepParams == null) { + options = new AveragedPerceptronTrainer.Options(); options.NumIterations = DefaultNumIterations; + options.LabelColumn = columnInfo.LabelColumn; } else { - options = TrainerExtensionUtil.CreateOptions(sweepParams); + options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); } return mlContext.BinaryClassification.Trainers.AveragedPerceptron(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + Dictionary additionalProperties = null; + + if(sweepParams == null) + { + additionalProperties = new Dictionary() + { + { "NumIterations", "10" } + }; + } + + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn, additionalProperties: additionalProperties); + } } internal class FastForestBinaryExtension : ITrainerExtension @@ -45,11 +64,19 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildFastForestParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.WeightColumn = columnInfo.WeightColumn; return mlContext.BinaryClassification.Trainers.FastForest(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn, columnInfo.WeightColumn); + } } internal class FastTreeBinaryExtension : ITrainerExtension @@ -59,11 +86,19 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildFastTreeParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.WeightColumn = columnInfo.WeightColumn; return mlContext.BinaryClassification.Trainers.FastTree(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn, columnInfo.WeightColumn); + } } internal class LightGbmBinaryExtension : ITrainerExtension @@ -73,11 +108,18 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildLightGbmParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateLightGbmOptions(sweepParams); + var options = TrainerExtensionUtil.CreateLightGbmOptions(sweepParams, columnInfo); return mlContext.BinaryClassification.Trainers.LightGbm(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildLightGbmPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn, columnInfo.WeightColumn); + } } internal class LinearSvmBinaryExtension : ITrainerExtension @@ -87,11 +129,18 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildLinearSvmParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); return mlContext.BinaryClassification.Trainers.LinearSupportVectorMachines(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn); + } } internal class SdcaBinaryExtension : ITrainerExtension @@ -101,11 +150,18 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildSdcaParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); return mlContext.BinaryClassification.Trainers.StochasticDualCoordinateAscent(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn); + } } internal class LogisticRegressionBinaryExtension : ITrainerExtension @@ -115,11 +171,19 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildLogisticRegressionParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.WeightColumn = columnInfo.WeightColumn; return mlContext.BinaryClassification.Trainers.LogisticRegression(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn, columnInfo.WeightColumn); + } } internal class SgdBinaryExtension : ITrainerExtension @@ -129,11 +193,19 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildSgdParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.WeightColumn = columnInfo.WeightColumn; return mlContext.BinaryClassification.Trainers.StochasticGradientDescent(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn, columnInfo.WeightColumn); + } } internal class SymSgdBinaryExtension : ITrainerExtension @@ -143,10 +215,17 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildSymSgdParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); return mlContext.BinaryClassification.Trainers.SymbolicStochasticGradientDescent(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn); + } } } \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/ITrainerExtension.cs b/src/Microsoft.ML.Auto/TrainerExtensions/ITrainerExtension.cs index 1ba00d7f22..12317670b7 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/ITrainerExtension.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/ITrainerExtension.cs @@ -13,6 +13,8 @@ internal interface ITrainerExtension { IEnumerable GetHyperparamSweepRanges(); - ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams); + ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo); + + PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo); } } diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs index 85adf06905..1085fc8bc0 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs @@ -22,11 +22,17 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildAveragePerceptronParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams) as ITrainerEstimatorProducingFloat; + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as ITrainerEstimatorProducingFloat; return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildOvaPipelineNode(this, _binaryLearnerCatalogItem, sweepParams, columnInfo); + } } internal class FastForestOvaExtension : ITrainerExtension @@ -38,11 +44,17 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildFastForestParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams) as ITrainerEstimatorProducingFloat; + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as ITrainerEstimatorProducingFloat; return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildOvaPipelineNode(this, _binaryLearnerCatalogItem, sweepParams, columnInfo); + } } internal class LightGbmMultiExtension : ITrainerExtension @@ -52,11 +64,18 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildLightGbmParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateLightGbmOptions(sweepParams); + var options = TrainerExtensionUtil.CreateLightGbmOptions(sweepParams, columnInfo); return mlContext.MulticlassClassification.Trainers.LightGbm(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildLightGbmPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn, columnInfo.WeightColumn); + } } internal class LinearSvmOvaExtension : ITrainerExtension @@ -68,11 +87,17 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildLinearSvmParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams) as ITrainerEstimatorProducingFloat; + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as ITrainerEstimatorProducingFloat; return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildOvaPipelineNode(this, _binaryLearnerCatalogItem, sweepParams, columnInfo); + } } internal class SdcaMultiExtension : ITrainerExtension @@ -82,13 +107,19 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildSdcaParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); return mlContext.MulticlassClassification.Trainers.StochasticDualCoordinateAscent(options); } - } + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn); + } + } internal class LogisticRegressionOvaExtension : ITrainerExtension { @@ -99,11 +130,17 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildLogisticRegressionParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams) as ITrainerEstimatorProducingFloat; + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as ITrainerEstimatorProducingFloat; return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildOvaPipelineNode(this, _binaryLearnerCatalogItem, sweepParams, columnInfo); + } } internal class SgdOvaExtension : ITrainerExtension @@ -115,11 +152,17 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildSgdParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams) as ITrainerEstimatorProducingFloat; + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as ITrainerEstimatorProducingFloat; return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildOvaPipelineNode(this, _binaryLearnerCatalogItem, sweepParams, columnInfo); + } } internal class SymSgdOvaExtension : ITrainerExtension @@ -131,11 +174,17 @@ public IEnumerable GetHyperparamSweepRanges() return _binaryLearnerCatalogItem.GetHyperparamSweepRanges(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams) as ITrainerEstimatorProducingFloat; + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as ITrainerEstimatorProducingFloat; return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildOvaPipelineNode(this, _binaryLearnerCatalogItem, sweepParams, columnInfo); + } } internal class FastTreeOvaExtension : ITrainerExtension @@ -147,11 +196,17 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildFastTreeParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams) as ITrainerEstimatorProducingFloat; + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as ITrainerEstimatorProducingFloat; return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildOvaPipelineNode(this, _binaryLearnerCatalogItem, sweepParams, columnInfo); + } } internal class LogisticRegressionMultiExtension : ITrainerExtension @@ -161,10 +216,18 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildLogisticRegressionParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.WeightColumn = columnInfo.WeightColumn; return mlContext.MulticlassClassification.Trainers.LogisticRegression(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn, columnInfo.WeightColumn); + } } } \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs index ccb52bc858..c10b78d5fc 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs @@ -20,11 +20,19 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildFastForestParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.WeightColumn = columnInfo.WeightColumn; return mlContext.Regression.Trainers.FastForest(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn, columnInfo.WeightColumn); + } } internal class FastTreeRegressionExtension : ITrainerExtension @@ -34,11 +42,19 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildFastTreeParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.WeightColumn = columnInfo.WeightColumn; return mlContext.Regression.Trainers.FastTree(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn, columnInfo.WeightColumn); + } } internal class FastTreeTweedieRegressionExtension : ITrainerExtension @@ -48,11 +64,19 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildFastTreeTweedieParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.WeightColumn = columnInfo.WeightColumn; return mlContext.Regression.Trainers.FastTreeTweedie(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn, columnInfo.WeightColumn); + } } internal class LightGbmRegressionExtension : ITrainerExtension @@ -62,11 +86,19 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildLightGbmParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateLightGbmOptions(sweepParams); + var options = TrainerExtensionUtil.CreateLightGbmOptions(sweepParams, columnInfo); + options.WeightColumn = columnInfo.WeightColumn; return mlContext.Regression.Trainers.LightGbm(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildLightGbmPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn, columnInfo.WeightColumn); + } } internal class OnlineGradientDescentRegressionExtension : ITrainerExtension @@ -76,11 +108,18 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildOnlineGradientDescentParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); return mlContext.Regression.Trainers.OnlineGradientDescent(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn); + } } internal class OrdinaryLeastSquaresRegressionExtension : ITrainerExtension @@ -90,11 +129,19 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildOrdinaryLeastSquaresParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.WeightColumn = columnInfo.WeightColumn; return mlContext.Regression.Trainers.OrdinaryLeastSquares(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn, columnInfo.WeightColumn); + } } internal class PoissonRegressionExtension : ITrainerExtension @@ -104,11 +151,19 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildPoissonRegressionParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.WeightColumn = columnInfo.WeightColumn; return mlContext.Regression.Trainers.PoissonRegression(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn, columnInfo.WeightColumn); + } } internal class SdcaRegressionExtension : ITrainerExtension @@ -118,10 +173,17 @@ public IEnumerable GetHyperparamSweepRanges() return SweepableParams.BuildSdcaParams(); } - public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams) + public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, + ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); return mlContext.Regression.Trainers.StochasticDualCoordinateAscent(options); } + + public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) + { + return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, + columnInfo.LabelColumn); + } } } \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs index 2a36638376..2bf973084b 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs @@ -6,6 +6,8 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; +using Microsoft.ML.Data; +using Microsoft.ML.EntryPoints; namespace Microsoft.ML.Auto { @@ -42,9 +44,13 @@ internal enum TrainerName internal static class TrainerExtensionUtil { - public static T CreateOptions(IEnumerable sweepParams) + private const string WeightColumn = "WeightColumn"; + private const string LabelColumn = "LabelColumn"; + + public static T CreateOptions(IEnumerable sweepParams, string labelColumn) where T : LearnerInputBaseWithLabel { var options = Activator.CreateInstance(); + options.LabelColumn = labelColumn; if(sweepParams != null) { UpdateFields(options, sweepParams); @@ -55,9 +61,11 @@ public static T CreateOptions(IEnumerable sweepParams) private static string[] _lightGbmTreeBoosterParamNames = new[] { "RegLambda", "RegAlpha" }; private const string LightGbmTreeBoosterPropName = "Booster"; - public static LightGBM.Options CreateLightGbmOptions(IEnumerable sweepParams) + public static LightGBM.Options CreateLightGbmOptions(IEnumerable sweepParams, ColumnInformation columnInfo) { var options = new LightGBM.Options(); + options.LabelColumn = columnInfo.LabelColumn; + options.WeightColumn = columnInfo.WeightColumn; if(sweepParams != null) { var treeBoosterParams = sweepParams.Where(p => _lightGbmTreeBoosterParamNames.Contains(p.Name)); @@ -68,33 +76,91 @@ public static LightGBM.Options CreateLightGbmOptions(IEnumerable return options; } - public static IDictionary BuildPipelineNodeProps(TrainerName trainerName, IEnumerable sweepParams) + public static PipelineNode BuildOvaPipelineNode(ITrainerExtension multiExtension, ITrainerExtension binaryExtension, + IEnumerable sweepParams, ColumnInformation columnInfo) { - if (trainerName == TrainerName.LightGbmBinary || trainerName == TrainerName.LightGbmMulti || - trainerName == TrainerName.LightGbmRegression) + var ovaNode = binaryExtension.CreatePipelineNode(sweepParams, columnInfo); + ovaNode.Name = TrainerExtensionCatalog.GetTrainerName(multiExtension).ToString(); + return ovaNode; + } + + public static PipelineNode BuildPipelineNode(TrainerName trainerName, IEnumerable sweepParams, + string labelColumn, string weightColumn = null, IDictionary additionalProperties = null) + { + var properties = BuildBasePipelineNodeProps(sweepParams, labelColumn, weightColumn); + + if(additionalProperties != null) { - return BuildLightGbmPipelineNodeProps(sweepParams); + foreach (var property in additionalProperties) + { + properties[property.Key] = property.Value; + } } - return sweepParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); + return new PipelineNode(trainerName.ToString(), PipelineNodeType.Trainer, DefaultColumnNames.Features, + DefaultColumnNames.Score, properties); + } + + public static PipelineNode BuildLightGbmPipelineNode(TrainerName trainerName, IEnumerable sweepParams, + string labelColumn, string weightColumn) + { + return new PipelineNode(trainerName.ToString(), PipelineNodeType.Trainer, DefaultColumnNames.Features, + DefaultColumnNames.Score, BuildLightGbmPipelineNodeProps(sweepParams, labelColumn, weightColumn)); + } + + private static IDictionary BuildBasePipelineNodeProps(IEnumerable sweepParams, + string labelColumn, string weightColumn) + { + var props = new Dictionary(); + if (sweepParams != null) + { + foreach (var sweepParam in sweepParams) + { + props[sweepParam.Name] = sweepParam.ProcessedValue(); + } + } + props[LabelColumn] = labelColumn; + if (weightColumn != null) + { + props[WeightColumn] = weightColumn; + } + return props; } - private static IDictionary BuildLightGbmPipelineNodeProps(IEnumerable sweepParams) + private static IDictionary BuildLightGbmPipelineNodeProps(IEnumerable sweepParams, + string labelColumn, string weightColumn) { - var treeBoosterParams = sweepParams.Where(p => _lightGbmTreeBoosterParamNames.Contains(p.Name)); - var parentArgParams = sweepParams.Except(treeBoosterParams); + Dictionary props = null; + if(sweepParams == null) + { + props = new Dictionary(); + } + else + { + var treeBoosterParams = sweepParams.Where(p => _lightGbmTreeBoosterParamNames.Contains(p.Name)); + var parentArgParams = sweepParams.Except(treeBoosterParams); - var treeBoosterProps = treeBoosterParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); - var treeBoosterCustomProp = new CustomProperty("Options.TreeBooster.Arguments", treeBoosterProps); + var treeBoosterProps = treeBoosterParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); + var treeBoosterCustomProp = new CustomProperty("Options.TreeBooster.Arguments", treeBoosterProps); - var props = parentArgParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); - props[LightGbmTreeBoosterPropName] = treeBoosterCustomProp; + props = parentArgParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); + props[LightGbmTreeBoosterPropName] = treeBoosterCustomProp; + } + + props[LabelColumn] = labelColumn; + if (weightColumn != null) + { + props[WeightColumn] = weightColumn; + } return props; } public static ParameterSet BuildParameterSet(TrainerName trainerName, IDictionary props) { + props = props.Where(p => p.Key != LabelColumn && p.Key != WeightColumn) + .ToDictionary(kvp => kvp.Key, kvp => kvp.Value); + if (trainerName == TrainerName.LightGbmBinary || trainerName == TrainerName.LightGbmMulti || trainerName == TrainerName.LightGbmRegression) { @@ -105,6 +171,18 @@ public static ParameterSet BuildParameterSet(TrainerName trainerName, IDictionar return new ParameterSet(paramVals); } + public static ColumnInformation BuildColumnInfo(IDictionary props) + { + var columnInfo = new ColumnInformation(); + + columnInfo.LabelColumn = props[LabelColumn] as string; + + props.TryGetValue(WeightColumn, out var weightColumn); + columnInfo.WeightColumn = weightColumn as string; + + return columnInfo; + } + private static ParameterSet BuildLightGbmParameterSet(IDictionary props) { var parentProps = props.Where(p => p.Key != LightGbmTreeBoosterPropName); diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs index 726c73a104..5c2e09ec34 100644 --- a/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs +++ b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs @@ -141,14 +141,6 @@ private static IEnumerable GetExperts(MLContext conte // For text labels, convert to categories. yield return new Experts.AutoLabel(context); - // For group ID column, rename to GroupId and hash, if text. - // REVIEW: this is only sufficient if we discard the possibility of hash collisions, and don't care - // about the group Id cardinality (we don't for ranking). - yield return new Experts.GroupIdHashRename(context); - - // For name column, rename to Name (or, if multiple and text, concat and rename to Name). - yield return new Experts.NameColumnConcatRename(context); - // For boolean columns use convert transform yield return new Experts.Boolean(context); @@ -180,37 +172,7 @@ public override IEnumerable Apply(IntermediateColumn[] colum if (col.Type.IsText()) { - yield return ValueToKeyMappingExtension.CreateSuggestedTransform(Context, col.ColumnName, DefaultColumnNames.Label); - } - else if (col.ColumnName != DefaultColumnNames.Label) - { - yield return ColumnCopyingExtension.CreateSuggestedTransform(Context, col.ColumnName, DefaultColumnNames.Label); - } - } - } - - internal sealed class GroupIdHashRename : TransformInferenceExpertBase - { - public GroupIdHashRename(MLContext context) : base(context) - { - } - - public override IEnumerable Apply(IntermediateColumn[] columns) - { - var firstGroupColId = Array.FindIndex(columns, x => x.Purpose == ColumnPurpose.Group); - if (firstGroupColId < 0) - yield break; - - var col = columns[firstGroupColId]; - - if (col.Type.IsText()) - { - // REVIEW: we could potentially apply HashJoin to vectors of text. - yield return OneHotHashEncodingExtension.CreateSuggestedTransform(Context, col.ColumnName, DefaultColumnNames.GroupId); - } - else if (col.ColumnName != DefaultColumnNames.GroupId) - { - yield return ColumnCopyingExtension.CreateSuggestedTransform(Context, col.ColumnName, DefaultColumnNames.GroupId); + yield return ValueToKeyMappingExtension.CreateSuggestedTransform(Context, col.ColumnName, col.ColumnName); } } } @@ -347,60 +309,6 @@ public override IEnumerable Apply(IntermediateColumn[] colum } } } - - internal sealed class NameColumnConcatRename : TransformInferenceExpertBase - { - public NameColumnConcatRename(MLContext context) : base(context) - { - } - - public override IEnumerable Apply(IntermediateColumn[] columns) - { - int count = 0; - var colSpec = new StringBuilder(); - var colSpecTextOnly = new List(); - var columnList = new List(); - - foreach (var column in columns) - { - var columnName = new StringBuilder(); - if (column.Purpose != ColumnPurpose.Name) - { - continue; - } - count++; - - if (colSpec.Length > 0) - { - colSpec.Append(","); - } - colSpec.Append(column.ColumnName); - - columnName.Append(column.ColumnName); - columnList.Add(columnName.ToString()); - - if (column.Type.GetItemType().IsText()) - { - colSpecTextOnly.Add(column.ColumnName); - } - } - - if (count == 1 && colSpec.ToString() != DefaultColumnNames.Name) - { - yield return ColumnCopyingExtension.CreateSuggestedTransform(Context, colSpec.ToString(), DefaultColumnNames.Name); - } - else if (count > 1) - { - if (string.IsNullOrWhiteSpace(colSpecTextOnly.ToString())) - { - yield break; - } - - // suggested grouping name columns into one vector - yield return ColumnConcatenatingExtension.CreateSuggestedTransform(Context, columnList.ToArray(), DefaultColumnNames.Name); - } - } - } } /// @@ -453,10 +361,9 @@ private static SuggestedTransform BuildFinalFeaturesConcatTransform(MLContext co } } - // remove 'Label' if it was ever a suggested purpose - concatColNames.Remove(DefaultColumnNames.Label); - concatColNames.Remove(DefaultColumnNames.GroupId); - concatColNames.Remove(DefaultColumnNames.Name); + // remove column with 'Label' purpose + var labelColumnName = intermediateCols.FirstOrDefault(c => c.Purpose == ColumnPurpose.Label)?.ColumnName; + concatColNames.Remove(labelColumnName); intermediateCols = intermediateCols.Where(c => c.Purpose == ColumnPurpose.NumericFeature || c.Purpose == ColumnPurpose.CategoricalFeature || c.Purpose == ColumnPurpose.TextFeature); diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index 8f7b6909ec..a3d3993df5 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -45,7 +45,7 @@ public static void Run() // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); - var testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: DefaultColumnNames.Label, DefaultColumnNames.Score); + var testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: LabelColumnName, DefaultColumnNames.Score); Console.WriteLine($"RSquared of best model from test data: {best.Metrics.RSquared}"); // STEP 6: Save the best model for later deployment and inferencing diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index c3dbe2c1cb..40879c3101 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -104,15 +104,35 @@ public void WhereNameColumnIsOnlyFeature() [TestMethod] public void DefaultColumnNamesInferredCorrectly() { - var result = new MLContext().AutoInference().InferColumns(@".\TestData\DatasetWithDefaultColumnNames.txt", DefaultColumnNames.Label, groupColumns : false); + var result = new MLContext().AutoInference().InferColumns(@".\TestData\DatasetWithDefaultColumnNames.txt", + new ColumnInformation() + { + LabelColumn = DefaultColumnNames.Label, + WeightColumn = DefaultColumnNames.Weight, + }, + groupColumns : false); Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); - Assert.AreEqual(DefaultColumnNames.Name, result.ColumnInformation.NameColumn); Assert.AreEqual(DefaultColumnNames.Weight, result.ColumnInformation.WeightColumn); - Assert.AreEqual(DefaultColumnNames.GroupId, result.ColumnInformation.GroupIdColumn); Assert.AreEqual(result.ColumnInformation.NumericColumns.Count(), 3); } + [TestMethod] + public void DefaultColumnNamesNoGrouping() + { + var result = new MLContext().AutoInference().InferColumns(@".\TestData\DatasetWithDefaultColumnNames.txt", + new ColumnInformation() + { + LabelColumn = DefaultColumnNames.Label, + WeightColumn = DefaultColumnNames.Weight, + }); + + Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); + Assert.AreEqual(DefaultColumnNames.Weight, result.ColumnInformation.WeightColumn); + Assert.AreEqual(1, result.ColumnInformation.NumericColumns.Count()); + Assert.AreEqual(DefaultColumnNames.Features, result.ColumnInformation.NumericColumns.First()); + } + [TestMethod] public void InferColumnsColumnInfoParam() { @@ -124,6 +144,7 @@ public void InferColumnsColumnInfoParam() Assert.AreEqual(DatasetUtil.MlNetGeneratedRegressionLabel, result.ColumnInformation.LabelColumn); Assert.AreEqual(1, result.ColumnInformation.NumericColumns.Count()); Assert.AreEqual(DefaultColumnNames.Features, result.ColumnInformation.NumericColumns.First()); + Assert.AreEqual(null, result.ColumnInformation.WeightColumn); } } } \ No newline at end of file diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs index 47f6ca2e68..3f3a531557 100644 --- a/src/Test/GetNextPipelineTests.cs +++ b/src/Test/GetNextPipelineTests.cs @@ -64,7 +64,7 @@ public void GetNextPipelineMock() Assert.AreEqual(maxIterations, history.Count); // Get all 'Stage 1' and 'Stage 2' runs from Pipeline Suggester - var allAvailableTrainers = RecipeInference.AllowedTrainers(context, task, null); + var allAvailableTrainers = RecipeInference.AllowedTrainers(context, task, new ColumnInformation(), null); var stage1Runs = history.Take(allAvailableTrainers.Count()); var stage2Runs = history.Skip(allAvailableTrainers.Count()); diff --git a/src/Test/InferredPipelineTests.cs b/src/Test/InferredPipelineTests.cs index 495ad58e88..36ad90159a 100644 --- a/src/Test/InferredPipelineTests.cs +++ b/src/Test/InferredPipelineTests.cs @@ -15,10 +15,11 @@ public class InferredPipelineTests public void InferredPipelinesHashTest() { var context = new MLContext(); + var columnInfo = new ColumnInformation(); // test same learners with no hyperparams have the same hash code - var trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); - var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); + var trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); + var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); var transforms1 = new List(); var transforms2 = new List(); var inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); @@ -27,8 +28,8 @@ public void InferredPipelinesHashTest() // test same learners with hyperparams set vs empty hyperparams have different hash codes var hyperparams1 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); - trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams1); - trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); + trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams1); + trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); @@ -36,15 +37,15 @@ public void InferredPipelinesHashTest() // same learners with different hyperparams hyperparams1 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); var hyperparams2 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 6) }); - trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams1); - trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams2); + trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams1); + trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams2); inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same learners with same transforms - trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); - trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); + trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); + trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); @@ -52,8 +53,8 @@ public void InferredPipelinesHashTest() Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same transforms with different learners - trainer1 = new SuggestedTrainer(context, new SdcaBinaryExtension()); - trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension()); + trainer1 = new SuggestedTrainer(context, new SdcaBinaryExtension(), columnInfo); + trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); diff --git a/src/Test/TestData/DatasetWithDefaultColumnNames.txt b/src/Test/TestData/DatasetWithDefaultColumnNames.txt index 318c7f3970..26aa3a2102 100644 --- a/src/Test/TestData/DatasetWithDefaultColumnNames.txt +++ b/src/Test/TestData/DatasetWithDefaultColumnNames.txt @@ -1,4 +1,4 @@ -Label,GroupId,Weight,Name,Features,FeatureContributions,Feature1 -0,2,1,GUID1,1,1,1 -0,4,1,GUID2,1,1,1 -1,1,1,GUID3,1,1,1 \ No newline at end of file +Label,Weight,Name,Features,FeatureContributions,Feature1 +0,1,GUID1,1,1,1 +0,1,GUID2,1,1,1 +1,1,GUID3,1,1,1 \ No newline at end of file diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index 8843844f72..613336bd81 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -16,19 +16,22 @@ public class TrainerExtensionsTests public void TrainerExtensionInstanceTests() { var context = new MLContext(); + var columnInfo = new ColumnInformation(); var trainerNames = Enum.GetValues(typeof(TrainerName)).Cast(); foreach (var trainerName in trainerNames) { var extension = TrainerExtensionCatalog.GetTrainerExtension(trainerName); - var instance = extension.CreateInstance(context, null); + var instance = extension.CreateInstance(context, null, columnInfo); Assert.IsNotNull(instance); var sweepParams = extension.GetHyperparamSweepRanges(); Assert.IsNotNull(sweepParams); + var pipelineNode = extension.CreatePipelineNode(null, columnInfo); + Assert.IsNotNull(pipelineNode); } } [TestMethod] - public void BuildPipelineNodePropsLightGbm() + public void BuildLightGbmPipelineNode() { var sweepParams = SweepableParams.BuildLightGbmParams(); foreach (var sweepParam in sweepParams) @@ -36,37 +39,44 @@ public void BuildPipelineNodePropsLightGbm() sweepParam.RawValue = 1; } - var lightGbmBinaryProps = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName.LightGbmBinary, sweepParams); - var lightGbmMultiProps = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName.LightGbmMulti, sweepParams); - var lightGbmRegressionProps = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName.LightGbmRegression, sweepParams); + var pipelineNode = new LightGbmBinaryExtension().CreatePipelineNode(sweepParams, new ColumnInformation()); var expectedJson = @"{ - ""NumBoostRound"": 20, - ""LearningRate"": 1, - ""NumLeaves"": 1, - ""MinDataPerLeaf"": 10, - ""UseSoftmax"": false, - ""UseCat"": false, - ""UseMissing"": false, - ""MinDataPerGroup"": 50, - ""MaxCatThreshold"": 16, - ""CatSmooth"": 10, - ""CatL2"": 0.5, - ""Booster"": { - ""Name"": ""Options.TreeBooster.Arguments"", - ""Properties"": { - ""RegLambda"": 0.5, - ""RegAlpha"": 0.5 - } + ""Name"": ""LightGbmBinary"", + ""NodeType"": ""Trainer"", + ""InColumns"": [ + ""Features"" + ], + ""OutColumns"": [ + ""Score"" + ], + ""Properties"": { + ""NumBoostRound"": 20, + ""LearningRate"": 1, + ""NumLeaves"": 1, + ""MinDataPerLeaf"": 10, + ""UseSoftmax"": false, + ""UseCat"": false, + ""UseMissing"": false, + ""MinDataPerGroup"": 50, + ""MaxCatThreshold"": 16, + ""CatSmooth"": 10, + ""CatL2"": 0.5, + ""Booster"": { + ""Name"": ""Options.TreeBooster.Arguments"", + ""Properties"": { + ""RegLambda"": 0.5, + ""RegAlpha"": 0.5 + } + }, + ""LabelColumn"": ""Label"" } }"; - Util.AssertObjectMatchesJson(expectedJson, lightGbmBinaryProps); - Util.AssertObjectMatchesJson(expectedJson, lightGbmMultiProps); - Util.AssertObjectMatchesJson(expectedJson, lightGbmRegressionProps); + Util.AssertObjectMatchesJson(expectedJson, pipelineNode); } [TestMethod] - public void BuildPipelineNodePropsSdca() + public void BuildSdcaPipelineNode() { var sweepParams = SweepableParams.BuildSdcaParams(); foreach (var sweepParam in sweepParams) @@ -74,16 +84,103 @@ public void BuildPipelineNodePropsSdca() sweepParam.RawValue = 1; } - var sdcaBinaryProps = TrainerExtensionUtil.BuildPipelineNodeProps(TrainerName.SdcaBinary, sweepParams); + var pipelineNode = new SdcaBinaryExtension().CreatePipelineNode(sweepParams, new ColumnInformation()); + var expectedJson = @"{ + ""Name"": ""SdcaBinary"", + ""NodeType"": ""Trainer"", + ""InColumns"": [ + ""Features"" + ], + ""OutColumns"": [ + ""Score"" + ], + ""Properties"": { + ""L2Const"": 1E-07, + ""L1Threshold"": 0.0, + ""ConvergenceTolerance"": 0.01, + ""MaxIterations"": 10, + ""Shuffle"": true, + ""BiasLearningRate"": 0.01, + ""LabelColumn"": ""Label"" + } +}"; + Util.AssertObjectMatchesJson(expectedJson, pipelineNode); + } + + [TestMethod] + public void BuildPipelineNodeWithCustomColumns() + { + var columnInfo = new ColumnInformation() + { + LabelColumn = "L", + WeightColumn = "W" + }; + var sweepParams = SweepableParams.BuildFastForestParams(); + foreach (var sweepParam in sweepParams) + { + sweepParam.RawValue = 1; + } + + var pipelineNode = new FastForestBinaryExtension().CreatePipelineNode(sweepParams, columnInfo); var expectedJson = @"{ - ""L2Const"": 1E-07, - ""L1Threshold"": 0.0, - ""ConvergenceTolerance"": 0.01, - ""MaxIterations"": 10, - ""Shuffle"": true, - ""BiasLearningRate"": 0.01 + ""Name"": ""FastForestBinary"", + ""NodeType"": ""Trainer"", + ""InColumns"": [ + ""Features"" + ], + ""OutColumns"": [ + ""Score"" + ], + ""Properties"": { + ""NumLeaves"": 1, + ""MinDocumentsInLeafs"": 10, + ""NumTrees"": 100, + ""LabelColumn"": ""L"", + ""WeightColumn"": ""W"" + } +}"; + Util.AssertObjectMatchesJson(expectedJson, pipelineNode); + } + + [TestMethod] + public void BuildDefaultAveragedPerceptronPipelineNode() + { + var pipelineNode = new AveragedPerceptronBinaryExtension().CreatePipelineNode(null, new ColumnInformation() { LabelColumn = "L" }); + var expectedJson = @"{ + ""Name"": ""AveragedPerceptronBinary"", + ""NodeType"": ""Trainer"", + ""InColumns"": [ + ""Features"" + ], + ""OutColumns"": [ + ""Score"" + ], + ""Properties"": { + ""LabelColumn"": ""L"", + ""NumIterations"": ""10"" + } +}"; + Util.AssertObjectMatchesJson(expectedJson, pipelineNode); + } + + [TestMethod] + public void BuildOvaPipelineNode() + { + var pipelineNode = new FastForestOvaExtension().CreatePipelineNode(null, new ColumnInformation()); + var expectedJson = @"{ + ""Name"": ""FastForestOva"", + ""NodeType"": ""Trainer"", + ""InColumns"": [ + ""Features"" + ], + ""OutColumns"": [ + ""Score"" + ], + ""Properties"": { + ""LabelColumn"": ""Label"" + } }"; - Util.AssertObjectMatchesJson(expectedJson, sdcaBinaryProps); + Util.AssertObjectMatchesJson(expectedJson, pipelineNode); } [TestMethod] @@ -164,7 +261,7 @@ public void PublicToPrivateTrainerNamesNullTest() [TestMethod] public void AllowedTrainersWhitelistNullTest() { - var trainers = RecipeInference.AllowedTrainers(new MLContext(), TaskKind.BinaryClassification, null); + var trainers = RecipeInference.AllowedTrainers(new MLContext(), TaskKind.BinaryClassification, new ColumnInformation(), null); Assert.IsTrue(trainers.Any()); } @@ -172,7 +269,7 @@ public void AllowedTrainersWhitelistNullTest() public void AllowedTrainersWhitelistTest() { var whitelist = new[] { TrainerName.AveragedPerceptronBinary, TrainerName.FastForestBinary }; - var trainers = RecipeInference.AllowedTrainers(new MLContext(), TaskKind.BinaryClassification, whitelist); + var trainers = RecipeInference.AllowedTrainers(new MLContext(), TaskKind.BinaryClassification, new ColumnInformation(), whitelist); Assert.AreEqual(whitelist.Count(), trainers.Count()); } } diff --git a/src/Test/TransformInferenceTests.cs b/src/Test/TransformInferenceTests.cs index a96c3494b7..1889c537aa 100644 --- a/src/Test/TransformInferenceTests.cs +++ b/src/Test/TransformInferenceTests.cs @@ -641,47 +641,25 @@ public void TransformInferenceCustomLabelCol() { (DefaultColumnNames.Features, new VectorType(NumberType.R4), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), ("CustomLabel", NumberType.R4, ColumnPurpose.Label, new ColumnDimensions(null, null)), - }, @"[ - { - ""Name"": ""ColumnCopying"", - ""NodeType"": ""Transform"", - ""InColumns"": [ - ""CustomLabel"" - ], - ""OutColumns"": [ - ""Label"" - ], - ""Properties"": {} - } -]"); - } - - [TestMethod] - public void TransformInferenceDefaultGroupIdCol() - { - TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] - { - (DefaultColumnNames.Features, new VectorType(NumberType.R4), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - (DefaultColumnNames.GroupId, NumberType.R4, ColumnPurpose.Group, new ColumnDimensions(null, null)), }, @"[]"); } [TestMethod] - public void TransformInferenceCustomGroupIdCol() + public void TransformInferenceCustomTextLabelCol() { - TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] { (DefaultColumnNames.Features, new VectorType(NumberType.R4), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("CustomGroupId", NumberType.R4, ColumnPurpose.Group, new ColumnDimensions(null, null)), + ("CustomLabel", TextType.Instance, ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[ { - ""Name"": ""ColumnCopying"", + ""Name"": ""ValueToKeyMapping"", ""NodeType"": ""Transform"", ""InColumns"": [ - ""CustomGroupId"" + ""CustomLabel"" ], ""OutColumns"": [ - ""GroupId"" + ""CustomLabel"" ], ""Properties"": {} } diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index 1c1f64bda3..e8375cee8c 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -98,8 +98,8 @@ public void GeneratedHelperCodeTest() // same learners with different hyperparams var hyperparams1 = new Microsoft.ML.Auto.ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); var hyperparams2 = new Microsoft.ML.Auto.ParameterSet(new List() { new LongParameterValue("NumLeaves", 6) }); - var trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams1); - var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), hyperparams2); + var trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), new ColumnInformation(), hyperparams1); + var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), new ColumnInformation(), hyperparams2); var transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; var transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; var inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); diff --git a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs index fe81be39a0..56285828af 100644 --- a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs @@ -41,7 +41,10 @@ private void Initialize(PipelineNode node) this.node = node; hasAdvancedSettings = node.Properties.Keys.Any(t => !NamedParameters.ContainsKey(t)); seperator = hasAdvancedSettings ? "=" : ":"; - node.Properties.Add("LabelColumn", "Label"); + if (!node.Properties.ContainsKey("LabelColumn")) + { + node.Properties.Add("LabelColumn", "Label"); + } node.Properties.Add("FeatureColumn", "Features"); foreach (var kv in node.Properties) From 2f9263cd94897f952ccc738edcba6e1857c63c66 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Fri, 22 Feb 2019 18:15:35 -0800 Subject: [PATCH 104/211] migrate to private ML.NET nuget for latest bug fixes (#131) --- NuGet.Config | 1 + .../API/BinaryClassificationExperiment.cs | 1 - .../API/MulticlassClassificationExperiment.cs | 1 - src/Microsoft.ML.Auto/API/Pipeline.cs | 1 - .../API/RegressionExperiment.cs | 1 - src/Microsoft.ML.Auto/API/RunResult.cs | 1 - src/Microsoft.ML.Auto/AutoMlUtils.cs | 18 +- .../ColumnInference/ColumnInferenceApi.cs | 4 +- .../ColumnInference/ColumnInformationUtil.cs | 2 +- .../ColumnInference/ColumnTypeInference.cs | 20 +-- .../ColumnInference/PurposeInference.cs | 8 +- .../ColumnInference/TextFileContents.cs | 4 +- .../DatasetDimensions/DatasetDimensionsApi.cs | 4 +- .../EstimatorExtensions.cs | 9 +- .../IEstimatorExtension.cs | 2 - .../Experiment/Experiment.cs | 1 - .../Experiment/SuggestedPipeline.cs | 1 - .../Experiment/SuggestedPipelineResult.cs | 1 - .../Microsoft.ML.Auto.csproj | 6 +- .../PipelineSuggesters/PipelineSuggester.cs | 6 +- src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs | 33 ++-- .../BinaryTrainerExtensions.cs | 7 +- .../MultiTrainerExtensions.cs | 2 - .../TrainerExtensions/SweepableParams.cs | 4 +- .../TransformInference/TransformInference.cs | 11 +- .../TransformInferenceApi.cs | 2 +- .../Utils/ColumnTypeExtensions.cs | 22 +-- .../Utils/DataKindExtensions.cs | 2 +- .../Utils/UserInputValidationUtil.cs | 2 +- src/Test/AutoFitTests.cs | 12 +- src/Test/ColumnInferenceTests.cs | 24 +-- src/Test/DatasetDimensionsTests.cs | 8 +- src/Test/PurposeInferenceTests.cs | 4 +- src/Test/TrainerExtensionsTests.cs | 8 +- src/Test/TransformInferenceTests.cs | 162 +++++++++--------- src/Test/UserInputValidationTests.cs | 6 +- .../ConsoleCodeGeneratorTests.cs | 16 +- src/mlnet.Test/CodeGenTests.cs | 6 +- .../CodeGenerator/CSharp/CodeGenerator.cs | 4 +- src/mlnet/Commands/New/NewCommandHandler.cs | 4 +- src/mlnet/Utilities/Utils.cs | 1 - 41 files changed, 199 insertions(+), 233 deletions(-) diff --git a/NuGet.Config b/NuGet.Config index 3f0e003403..2b3d4436e5 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index b697a1ea91..ddab3820c6 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.Linq; using Microsoft.Data.DataView; -using Microsoft.ML.Core.Data; using Microsoft.ML.Data; namespace Microsoft.ML.Auto diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index 231a81eeec..ada5eb9778 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.Linq; using Microsoft.Data.DataView; -using Microsoft.ML.Core.Data; using Microsoft.ML.Data; namespace Microsoft.ML.Auto diff --git a/src/Microsoft.ML.Auto/API/Pipeline.cs b/src/Microsoft.ML.Auto/API/Pipeline.cs index bd34db83e1..b0f9de1de2 100644 --- a/src/Microsoft.ML.Auto/API/Pipeline.cs +++ b/src/Microsoft.ML.Auto/API/Pipeline.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; -using Microsoft.ML.Core.Data; namespace Microsoft.ML.Auto { diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index 2331735cb6..3e4696bccb 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.Linq; using Microsoft.Data.DataView; -using Microsoft.ML.Core.Data; using Microsoft.ML.Data; namespace Microsoft.ML.Auto diff --git a/src/Microsoft.ML.Auto/API/RunResult.cs b/src/Microsoft.ML.Auto/API/RunResult.cs index e39fb16a30..2de2686130 100644 --- a/src/Microsoft.ML.Auto/API/RunResult.cs +++ b/src/Microsoft.ML.Auto/API/RunResult.cs @@ -4,7 +4,6 @@ using System; using System.Linq; -using Microsoft.ML.Core.Data; namespace Microsoft.ML.Auto { diff --git a/src/Microsoft.ML.Auto/AutoMlUtils.cs b/src/Microsoft.ML.Auto/AutoMlUtils.cs index 2a36d6a1d6..8715a58836 100644 --- a/src/Microsoft.ML.Auto/AutoMlUtils.cs +++ b/src/Microsoft.ML.Auto/AutoMlUtils.cs @@ -23,11 +23,6 @@ public static void Assert(bool boolVal, string message = null) } } - public static IDataView Take(this IDataView data, MLContext context, int count) - { - return TakeFilter.Create(context, data, count); - } - public static IDataView DropLastColumn(this IDataView data, MLContext context) { return context.Transforms.DropColumns(data.Schema[data.Schema.Count - 1].Name).Fit(data).Transform(data); @@ -37,23 +32,20 @@ public static (IDataView testData, IDataView validationData) TestValidateSplit(t MLContext context, IDataView trainData) { IDataView validationData; - (trainData, validationData) = catalog.TrainTestSplit(trainData); + var splitData = catalog.TrainTestSplit(trainData); + trainData = splitData.TrainSet; + validationData = splitData.TestSet; trainData = trainData.DropLastColumn(context); validationData = validationData.DropLastColumn(context); return (trainData, validationData); } - public static IDataView Skip(this IDataView data, MLContext context, int count) - { - return SkipFilter.Create(context, data, count); - } - - public static (string, ColumnType, ColumnPurpose, ColumnDimensions)[] GetColumnInfoTuples(MLContext context, + public static (string, DataViewType, ColumnPurpose, ColumnDimensions)[] GetColumnInfoTuples(MLContext context, IDataView data, ColumnInformation columnInfo) { var purposes = PurposeInference.InferPurposes(context, data, columnInfo); var colDimensions = DatasetDimensionsApi.CalcColumnDimensions(context, data, purposes); - var cols = new (string, ColumnType, ColumnPurpose, ColumnDimensions)[data.Schema.Count]; + var cols = new (string, DataViewType, ColumnPurpose, ColumnDimensions)[data.Schema.Count]; for (var i = 0; i < cols.Length; i++) { var schemaCol = data.Schema[i]; diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs index 8152461538..a6620b4d6d 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs @@ -52,7 +52,7 @@ public static ColumnInferenceResults InferColumns(MLContext context, string path var loaderColumns = ColumnTypeInference.GenerateLoaderColumns(typeInference.Columns); var typedLoaderArgs = new TextLoader.Arguments { - Column = loaderColumns, + Columns = loaderColumns, Separators = new[] { splitInference.Separator.Value }, AllowSparse = splitInference.AllowSparse, AllowQuoting = splitInference.AllowQuote, @@ -85,7 +85,7 @@ public static ColumnInferenceResults InferColumns(MLContext context, string path var textLoaderArgs = new TextLoader.Arguments() { - Column = columnResults.ToArray(), + Columns = columnResults.ToArray(), AllowQuoting = splitInference.AllowQuote, AllowSparse = splitInference.AllowSparse, Separators = new char[] { splitInference.Separator.Value }, diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs index 5e0767241b..d881509779 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs @@ -82,7 +82,7 @@ internal static ColumnInformation BuildColumnInfo(IEnumerable<(string name, Colu return columnInfo; } - public static ColumnInformation BuildColumnInfo(IEnumerable<(string, ColumnType, ColumnPurpose, ColumnDimensions)> columns) + public static ColumnInformation BuildColumnInfo(IEnumerable<(string, DataViewType, ColumnPurpose, ColumnDimensions)> columns) { return BuildColumnInfo(columns.Select(c => (c.Item1, c.Item3))); } diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs index 81cb2f5036..73ed56f740 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs @@ -43,7 +43,7 @@ private class IntermediateColumn { private readonly ReadOnlyMemory[] _data; private readonly int _columnId; - private PrimitiveType _suggestedType; + private PrimitiveDataViewType _suggestedType; private bool? _hasHeader; public int ColumnId @@ -51,7 +51,7 @@ public int ColumnId get { return _columnId; } } - public PrimitiveType SuggestedType + public PrimitiveDataViewType SuggestedType { get { return _suggestedType; } set { _suggestedType = value; } @@ -95,10 +95,10 @@ public class Column { public readonly int ColumnIndex; - public PrimitiveType ItemType; + public PrimitiveDataViewType ItemType; public string SuggestedName; - public Column(int columnIndex, string suggestedName, PrimitiveType itemType) + public Column(int columnIndex, string suggestedName, PrimitiveDataViewType itemType) { ColumnIndex = columnIndex; SuggestedName = suggestedName; @@ -160,7 +160,7 @@ public void Apply(IntermediateColumn[] columns) continue; } - col.SuggestedType = BoolType.Instance; + col.SuggestedType = BooleanDataViewType.Instance; bool first; col.HasHeader = !Conversions.TryParse(in col.RawData[0], out first); @@ -185,7 +185,7 @@ public void Apply(IntermediateColumn[] columns) continue; } - col.SuggestedType = NumberType.R4; + col.SuggestedType = NumberDataViewType.Single; var headerStr = col.RawData[0].ToString(); col.HasHeader = !double.TryParse(headerStr, out var doubleVal); @@ -202,7 +202,7 @@ public void Apply(IntermediateColumn[] columns) if (col.SuggestedType != null) continue; - col.SuggestedType = TextType.Instance; + col.SuggestedType = TextDataViewType.Instance; col.HasHeader = IsLookLikeHeader(col.RawData[0]); } } @@ -258,14 +258,14 @@ private static InferenceResult InferTextFileColumnTypesCore(MLContext context, I // read the file as the specified number of text columns var textLoaderArgs = new TextLoader.Arguments { - Column = new[] { new TextLoader.Column("C", DataKind.TX, 0, args.ColumnCount - 1) }, + Columns = new[] { new TextLoader.Column("C", DataKind.TX, 0, args.ColumnCount - 1) }, Separators = new[] { args.Separator }, AllowSparse = args.AllowSparse, AllowQuoting = args.AllowQuote, }; var textLoader = new TextLoader(context, textLoaderArgs); var idv = textLoader.Read(fileSource); - idv = idv.Take(context, args.MaxRowsToRead); + idv = context.Data.TakeRows(idv, args.MaxRowsToRead); // read all the data into memory. // list items are rows of the dataset. @@ -361,7 +361,7 @@ private static InferenceResult InferTextFileColumnTypesCore(MLContext context, I // if label column has all Boolean values, set its type as Boolean if (labelColumn.HasAllBooleanValues()) { - labelColumn.SuggestedType = BoolType.Instance; + labelColumn.SuggestedType = BooleanDataViewType.Instance; } var outCols = cols.Select(x => new Column(x.ColumnId, x.Name, x.SuggestedType)).ToArray(); diff --git a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs index d9fd2da1a0..fc07e1b890 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs @@ -49,7 +49,7 @@ private class IntermediateColumn private readonly int _columnId; private bool _isPurposeSuggested; private ColumnPurpose _suggestedPurpose; - private readonly Lazy _type; + private readonly Lazy _type; private readonly Lazy _columnName; private object _cachedData; @@ -65,7 +65,7 @@ public ColumnPurpose SuggestedPurpose } } - public ColumnType Type { get { return _type.Value; } } + public DataViewType Type { get { return _type.Value; } } public string ColumnName { get { return _columnName.Value; } } @@ -73,7 +73,7 @@ public IntermediateColumn(IDataView data, int columnId, ColumnPurpose suggestedP { _data = data; _columnId = columnId; - _type = new Lazy(() => _data.Schema[_columnId].Type); + _type = new Lazy(() => _data.Schema[_columnId].Type); _columnName = new Lazy(() => _data.Schema[_columnId].Name); _suggestedPurpose = suggestedPurpose; } @@ -238,7 +238,7 @@ private static IEnumerable GetExperts() public static PurposeInference.Column[] InferPurposes(MLContext context, IDataView data, ColumnInformation columnInfo) { - data = data.Take(context, MaxRowsToRead); + data = context.Data.TakeRows(data, MaxRowsToRead); var allColumns = new List(); var columnsToInfer = new List(); diff --git a/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs b/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs index 0fa0f62cd3..507e6287a2 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs @@ -59,7 +59,7 @@ from _sep in separatorCandidates { var args = new TextLoader.Arguments { - Column = new[] { new TextLoader.Column() { + Columns = new[] { new TextLoader.Column() { Name = "C", Type = DataKind.TX, Source = new[] { new TextLoader.Range(0, null) } @@ -87,7 +87,7 @@ private static bool TryParseFile(MLContext context, TextLoader.Arguments args, I { var textLoader = new TextLoader(context, args, source); - var idv = textLoader.Read(source).Take(context, 1000); + var idv = context.Data.TakeRows(textLoader.Read(source), 1000); var columnCounts = new List(); var column = idv.Schema["C"]; var columnIndex = column.Index; diff --git a/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs b/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs index ca4eeb8002..a9118799a8 100644 --- a/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs +++ b/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs @@ -12,7 +12,7 @@ internal class DatasetDimensionsApi public static ColumnDimensions[] CalcColumnDimensions(MLContext context, IDataView data, PurposeInference.Column[] purposes) { - data = data.Take(context, MaxRowsToRead); + data = context.Data.TakeRows(data, MaxRowsToRead); var colDimensions = new ColumnDimensions[data.Schema.Count]; @@ -34,7 +34,7 @@ public static ColumnDimensions[] CalcColumnDimensions(MLContext context, IDataVi } // If numeric feature, discover missing values - if (itemType == NumberType.R4) + if (itemType == NumberDataViewType.Single) { hasMissing = column.Type.IsVector() ? DatasetDimensionsUtil.HasMissingNumericVector(data, i) : diff --git a/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs b/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs index 230f500ff3..41e5d747cc 100644 --- a/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs +++ b/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Microsoft.ML.Core.Data; using Microsoft.ML.Data; using Microsoft.ML.Transforms; using Microsoft.ML.Transforms.Categorical; @@ -96,10 +95,10 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) { - var pairs = new MissingValueReplacingTransformer.ColumnInfo[inColumns.Length]; + var pairs = new MissingValueReplacingEstimator.ColumnInfo[inColumns.Length]; for (var i = 0; i < inColumns.Length; i++) { - var pair = new MissingValueReplacingTransformer.ColumnInfo(outColumns[i], inColumns[i]); + var pair = new MissingValueReplacingEstimator.ColumnInfo(outColumns[i], inColumns[i]); pairs[i] = pair; } return context.Transforms.ReplaceMissingValues(pairs); @@ -222,10 +221,10 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) { - var cols = new TypeConvertingTransformer.ColumnInfo[inColumns.Length]; + var cols = new TypeConvertingEstimator.ColumnInfo[inColumns.Length]; for (var i = 0; i < cols.Length; i++) { - cols[i] = new TypeConvertingTransformer.ColumnInfo(outColumns[i], DataKind.R4, inColumns[i]); + cols[i] = new TypeConvertingEstimator.ColumnInfo(outColumns[i], DataKind.R4, inColumns[i]); } return context.Transforms.Conversion.ConvertType(cols); } diff --git a/src/Microsoft.ML.Auto/EstimatorExtensions/IEstimatorExtension.cs b/src/Microsoft.ML.Auto/EstimatorExtensions/IEstimatorExtension.cs index 1c0582a190..9701fc5a15 100644 --- a/src/Microsoft.ML.Auto/EstimatorExtensions/IEstimatorExtension.cs +++ b/src/Microsoft.ML.Auto/EstimatorExtensions/IEstimatorExtension.cs @@ -2,8 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Microsoft.ML.Core.Data; - namespace Microsoft.ML.Auto { internal interface IEstimatorExtension diff --git a/src/Microsoft.ML.Auto/Experiment/Experiment.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs index 1f7a1bb744..78baf393c3 100644 --- a/src/Microsoft.ML.Auto/Experiment/Experiment.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -7,7 +7,6 @@ using System.Diagnostics; using System.Text; using Microsoft.Data.DataView; -using Microsoft.ML.Core.Data; namespace Microsoft.ML.Auto { diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs index 9406acda89..57b94707d9 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.Linq; using Microsoft.Data.DataView; -using Microsoft.ML.Core.Data; using Microsoft.ML.Data; namespace Microsoft.ML.Auto diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs index 2a03dff103..787d4e32ff 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System; -using Microsoft.ML.Core.Data; namespace Microsoft.ML.Auto { diff --git a/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj b/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj index b822ab30a8..e5c470964b 100644 --- a/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj +++ b/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj @@ -6,9 +6,9 @@ - - - + + + diff --git a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs index e94ff6a4da..9aa55ceebd 100644 --- a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs +++ b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs @@ -16,7 +16,7 @@ internal static class PipelineSuggester public static Pipeline GetNextPipeline(MLContext context, IEnumerable history, - (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns, + (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns, TaskKind task, bool isMaximizingMetric = true) { @@ -27,7 +27,7 @@ public static Pipeline GetNextPipeline(MLContext context, public static SuggestedPipeline GetNextInferredPipeline(MLContext context, IEnumerable history, - (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns, + (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns, TaskKind task, bool isMaximizingMetric, IEnumerable trainerWhitelist = null) @@ -214,7 +214,7 @@ private static bool SampleHyperparameters(MLContext context, SuggestedTrainer tr private static IEnumerable CalculateTransforms( MLContext context, - (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns, + (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns, TaskKind task) { var transforms = TransformInferenceApi.InferTransforms(context, columns).ToList(); diff --git a/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs b/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs index 10650a7f0b..9c450ca730 100644 --- a/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs +++ b/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs @@ -8,7 +8,6 @@ using Microsoft.Data.DataView; using Microsoft.ML.Data; using Microsoft.ML.Trainers.FastTree; -using Microsoft.ML.Trainers.FastTree.Internal; using Float = System.Single; namespace Microsoft.ML.Auto @@ -106,8 +105,8 @@ private FastForestRegressionModelParameters FitModel(IEnumerable pre } ArrayDataViewBuilder dvBuilder = new ArrayDataViewBuilder(_context); - dvBuilder.AddColumn(DefaultColumnNames.Label, NumberType.Float, targets); - dvBuilder.AddColumn(DefaultColumnNames.Features, NumberType.Float, features); + dvBuilder.AddColumn(DefaultColumnNames.Label, NumberDataViewType.Single, targets); + dvBuilder.AddColumn(DefaultColumnNames.Features, NumberDataViewType.Single, features); IDataView data = dvBuilder.GetDataView(); AutoMlUtils.Assert(data.GetRowCount() == targets.Length, "This data view will have as many rows as there have been evaluations"); @@ -120,7 +119,7 @@ private FastForestRegressionModelParameters FitModel(IEnumerable pre NumTrees = _args.NumOfTrees, MinDocumentsInLeafs = _args.NMinForSplit }); - var predictor = trainer.Train(data).Model; + var predictor = trainer.Fit(data).Model; // Return random forest predictor. return predictor; @@ -318,26 +317,14 @@ private double[][] GetForestRegressionLeafValues(FastForestRegressionModelParame foreach (ParameterSet config in configs) { List leafValues = new List(); - for (var treeId = 0; treeId < _args.NumOfTrees; treeId++) + for (var treeId = 0; treeId < forest.TrainedTreeEnsemble.Trees.Count; treeId++) { - // hack pending fix for ML.NET issue https://github.com/dotnet/machinelearning/issues/1960 - // we requested SMAC to train _args.NumOfTrees. however, it's possible it trained < this # of trees. - // if we requested SMAC train 10 trees, but it only trained 8, then when we try to pull - // the leaf node value from the 9th tree in the code in the try block, an exception will be thrown. - // for now, swallow the exception, and just proceed using all the leaf values. - try - { - Float[] transformedParams = SweeperProbabilityUtils.ParameterSetAsFloatArray(_sweepParameters, config, true); - VBuffer features = new VBuffer(transformedParams.Length, transformedParams); - List path = null; - var leafId = forest.GetLeaf(treeId, features, ref path); - var leafValue = forest.GetLeafValue(treeId, leafId); - leafValues.Add(leafValue); - } - catch (Exception) - { - // swallow exception - } + Float[] transformedParams = SweeperProbabilityUtils.ParameterSetAsFloatArray(_sweepParameters, config, true); + VBuffer features = new VBuffer(transformedParams.Length, transformedParams); + List path = null; + var leafId = forest.GetLeaf(treeId, features, ref path); + var leafValue = forest.GetLeafValue(treeId, leafId); + leafValues.Add(leafValue); } datasetLeafValues.Add(leafValues.ToArray()); } diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs index ec6ef78b4b..494c943ff6 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs @@ -3,11 +3,10 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; -using Microsoft.ML.Learners; using Microsoft.ML.Trainers; using Microsoft.ML.Trainers.FastTree; +using Microsoft.ML.Trainers.HalLearners; using Microsoft.ML.Trainers.Online; -using Microsoft.ML.Trainers.SymSgd; using Microsoft.ML.Training; namespace Microsoft.ML.Auto @@ -30,7 +29,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); options.WeightColumn = columnInfo.WeightColumn; return mlContext.BinaryClassification.Trainers.StochasticGradientDescent(options); } diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs index 1085fc8bc0..d7ef50f2d7 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs @@ -2,9 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; using System.Collections.Generic; -using Microsoft.ML.Learners; using Microsoft.ML.Trainers; using Microsoft.ML.Training; diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/SweepableParams.cs b/src/Microsoft.ML.Auto/TrainerExtensions/SweepableParams.cs index 253e82593b..e7ee1c8213 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/SweepableParams.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/SweepableParams.cs @@ -23,8 +23,8 @@ private static IEnumerable BuildOnlineLinearArgsParams() { return new SweepableParam[] { - new SweepableLongParam("NumIterations", 1, 100, stepSize: 10, isLogScale: true), - new SweepableFloatParam("InitWtsDiameter", 0.0f, 1.0f, numSteps: 5), + new SweepableLongParam("NumberOfIterations", 1, 100, stepSize: 10, isLogScale: true), + new SweepableFloatParam("InitialWeightsDiameter", 0.0f, 1.0f, numSteps: 5), new SweepableDiscreteParam("Shuffle", new object[] { false, true }), }; } diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs index 5c2e09ec34..eb9465c26c 100644 --- a/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs +++ b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs @@ -7,7 +7,6 @@ using System.Linq; using System.Text; using Microsoft.Data.DataView; -using Microsoft.ML.Core.Data; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -70,11 +69,11 @@ internal static class TransformInference internal class IntermediateColumn { public readonly string ColumnName; - public readonly ColumnType Type; + public readonly DataViewType Type; public readonly ColumnPurpose Purpose; public readonly ColumnDimensions Dimensions; - public IntermediateColumn(string name, ColumnType type, ColumnPurpose purpose, ColumnDimensions dimensions) + public IntermediateColumn(string name, DataViewType type, ColumnPurpose purpose, ColumnDimensions dimensions) { ColumnName = name; Type = type; @@ -292,7 +291,7 @@ public override IEnumerable Apply(IntermediateColumn[] colum var columnsWithMissing = new List(); foreach (var column in columns) { - if (column.Type.GetItemType() == NumberType.R4 + if (column.Type.GetItemType() == NumberDataViewType.Single && column.Purpose == ColumnPurpose.NumericFeature && column.Dimensions.HasMissing == true) { @@ -314,7 +313,7 @@ public override IEnumerable Apply(IntermediateColumn[] colum /// /// Automatically infer transforms for the data view /// - public static SuggestedTransform[] InferTransforms(MLContext context, (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns) + public static SuggestedTransform[] InferTransforms(MLContext context, (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns) { var intermediateCols = columns.Where(c => c.Item3 != ColumnPurpose.Ignore) .Select(c => new IntermediateColumn(c.Item1, c.Item2, c.Item3, c.Item4)) @@ -355,7 +354,7 @@ private static SuggestedTransform BuildFinalFeaturesConcatTransform(MLContext co foreach(var intermediateCol in intermediateCols) { if (intermediateCol.Purpose == ColumnPurpose.NumericFeature && - intermediateCol.Type.GetItemType() == NumberType.R4) + intermediateCol.Type.GetItemType() == NumberDataViewType.Single) { concatColNames.Add(intermediateCol.ColumnName); } diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs b/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs index d4edb01a96..11fb3a77d1 100644 --- a/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs +++ b/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs @@ -9,7 +9,7 @@ namespace Microsoft.ML.Auto { internal static class TransformInferenceApi { - public static IEnumerable InferTransforms(MLContext context, (string, ColumnType, ColumnPurpose, ColumnDimensions)[] columns) + public static IEnumerable InferTransforms(MLContext context, (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns) { return TransformInference.InferTransforms(context, columns); } diff --git a/src/Microsoft.ML.Auto/Utils/ColumnTypeExtensions.cs b/src/Microsoft.ML.Auto/Utils/ColumnTypeExtensions.cs index 7a8fbdc6a8..a4f8da6541 100644 --- a/src/Microsoft.ML.Auto/Utils/ColumnTypeExtensions.cs +++ b/src/Microsoft.ML.Auto/Utils/ColumnTypeExtensions.cs @@ -7,29 +7,29 @@ namespace Microsoft.ML.Auto { - internal static class ColumnTypeExtensions + internal static class DataViewTypeExtensions { - public static bool IsNumber(this ColumnType columnType) + public static bool IsNumber(this DataViewType columnType) { - return columnType is NumberType; + return columnType is NumberDataViewType; } - public static bool IsText(this ColumnType columnType) + public static bool IsText(this DataViewType columnType) { - return columnType is TextType; + return columnType is TextDataViewType; } - public static bool IsBool(this ColumnType columnType) + public static bool IsBool(this DataViewType columnType) { - return columnType is BoolType; + return columnType is BooleanDataViewType; } - public static bool IsVector(this ColumnType columnType) + public static bool IsVector(this DataViewType columnType) { return columnType is VectorType; } - public static bool IsKnownSizeVector(this ColumnType columnType) + public static bool IsKnownSizeVector(this DataViewType columnType) { var vector = columnType as VectorType; if(vector == null) @@ -39,7 +39,7 @@ public static bool IsKnownSizeVector(this ColumnType columnType) return vector.Size > 0; } - public static ColumnType GetItemType(this ColumnType columnType) + public static DataViewType GetItemType(this DataViewType columnType) { var vector = columnType as VectorType; if (vector == null) @@ -49,7 +49,7 @@ public static ColumnType GetItemType(this ColumnType columnType) return vector.ItemType; } - public static DataKind GetRawKind(this ColumnType columnType) + public static DataKind GetRawKind(this DataViewType columnType) { columnType.RawType.TryGetDataKind(out var rawKind); return rawKind; diff --git a/src/Microsoft.ML.Auto/Utils/DataKindExtensions.cs b/src/Microsoft.ML.Auto/Utils/DataKindExtensions.cs index ea579a923d..513cb8fed4 100644 --- a/src/Microsoft.ML.Auto/Utils/DataKindExtensions.cs +++ b/src/Microsoft.ML.Auto/Utils/DataKindExtensions.cs @@ -79,7 +79,7 @@ public static bool TryGetDataKind(this Type type, out DataKind kind) kind = DataKind.DZ; goto IL_01ad; } - if (type == typeof(RowId)) + if (type == typeof(DataViewRowId)) { kind = DataKind.UG; goto IL_01ad; diff --git a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs index 2b7f5f96b9..23633ae27d 100644 --- a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs @@ -45,7 +45,7 @@ private static void ValidateTrainData(IDataView trainData) } var type = trainData.Schema.GetColumnOrNull(DefaultColumnNames.Features)?.Type.GetItemType(); - if (type != null && type != NumberType.R4) + if (type != null && type != NumberDataViewType.Single) { throw new ArgumentException($"{DefaultColumnNames.Features} column must be of data type Single", nameof(trainData)); } diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index 2b8fb782fb..d7e21cbc1d 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -18,8 +18,8 @@ public void AutoFitBinaryTest() var columnInference = context.AutoInference().InferColumns(dataPath, DatasetUtil.UciAdultLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(dataPath); - var validationData = trainData.Take(context, 100); - trainData = trainData.Skip(context, 100); + var validationData = context.Data.TakeRows(trainData, 100); + trainData = context.Data.SkipRows(trainData, 100); var result = context.AutoInference() .CreateBinaryClassificationExperiment(0) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); @@ -35,8 +35,8 @@ public void AutoFitMultiTest() var columnInference = context.AutoInference().InferColumns(dataPath, DatasetUtil.TrivialDatasetLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(dataPath); - var validationData = trainData.Take(context, 20); - trainData = trainData.Skip(context, 20); + var validationData = context.Data.TakeRows(trainData, 20); + trainData = context.Data.SkipRows(trainData, 20); var result = context.AutoInference() .CreateMulticlassClassificationExperiment(0) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.TrivialDatasetLabel }); @@ -52,8 +52,8 @@ public void AutoFitRegressionTest() var columnInference = context.AutoInference().InferColumns(dataPath, DatasetUtil.MlNetGeneratedRegressionLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(dataPath); - var validationData = trainData.Take(context, 20); - trainData = trainData.Skip(context, 20); + var validationData = context.Data.TakeRows(trainData, 20); + trainData = context.Data.SkipRows(trainData, 20); var results = context.AutoInference() .CreateRegressionExperiment(0) .Execute(trainData, validationData, diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index 40879c3101..8ce0d044eb 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -14,13 +14,13 @@ public void UnGroupReturnsMoreColumnsThanGroup() var dataPath = DatasetUtil.DownloadUciAdultDataset(); var context = new MLContext(); var columnInferenceWithoutGrouping = context.AutoInference().InferColumns(dataPath, DatasetUtil.UciAdultLabel, groupColumns: false); - foreach (var col in columnInferenceWithoutGrouping.TextLoaderArgs.Column) + foreach (var col in columnInferenceWithoutGrouping.TextLoaderArgs.Columns) { Assert.IsFalse(col.Source.Length > 1 || col.Source[0].Min != col.Source[0].Max); } var columnInferenceWithGrouping = context.AutoInference().InferColumns(dataPath, DatasetUtil.UciAdultLabel, groupColumns: true); - Assert.IsTrue(columnInferenceWithGrouping.TextLoaderArgs.Column.Count() < columnInferenceWithoutGrouping.TextLoaderArgs.Column.Count()); + Assert.IsTrue(columnInferenceWithGrouping.TextLoaderArgs.Columns.Count() < columnInferenceWithoutGrouping.TextLoaderArgs.Columns.Count()); } [TestMethod] @@ -43,7 +43,7 @@ public void IdentifyLabelColumnThroughIndexWithHeader() { var result = new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadUciAdultDataset(), 14, hasHeader: true); Assert.AreEqual(true, result.TextLoaderArgs.HasHeader); - var labelCol = result.TextLoaderArgs.Column.First(c => c.Source[0].Min == 14 && c.Source[0].Max == 14); + var labelCol = result.TextLoaderArgs.Columns.First(c => c.Source[0].Min == 14 && c.Source[0].Max == 14); Assert.AreEqual("hours-per-week", labelCol.Name); Assert.AreEqual("hours-per-week", result.ColumnInformation.LabelColumn); } @@ -53,7 +53,7 @@ public void IdentifyLabelColumnThroughIndexWithoutHeader() { var result = new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadIrisDataset(), DatasetUtil.IrisDatasetLabelColIndex); Assert.AreEqual(false, result.TextLoaderArgs.HasHeader); - var labelCol = result.TextLoaderArgs.Column.First(c => c.Source[0].Min == DatasetUtil.IrisDatasetLabelColIndex && + var labelCol = result.TextLoaderArgs.Columns.First(c => c.Source[0].Min == DatasetUtil.IrisDatasetLabelColIndex && c.Source[0].Max == DatasetUtil.IrisDatasetLabelColIndex); Assert.AreEqual(DefaultColumnNames.Label, labelCol.Name); Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); @@ -63,7 +63,7 @@ public void IdentifyLabelColumnThroughIndexWithoutHeader() public void DatasetWithEmptyColumn() { var result = new MLContext().AutoInference().InferColumns(@".\TestData\DatasetWithEmptyColumn.txt", DefaultColumnNames.Label); - var emptyColumn = result.TextLoaderArgs.Column.First(c => c.Name == "Empty"); + var emptyColumn = result.TextLoaderArgs.Columns.First(c => c.Name == "Empty"); Assert.AreEqual(DataKind.TX, emptyColumn.Type); } @@ -71,10 +71,10 @@ public void DatasetWithEmptyColumn() public void DatasetWithBoolColumn() { var result = new MLContext().AutoInference().InferColumns(@".\TestData\BinaryDatasetWithBoolColumn.txt", DefaultColumnNames.Label); - Assert.AreEqual(2, result.TextLoaderArgs.Column.Count()); + Assert.AreEqual(2, result.TextLoaderArgs.Columns.Count()); - var boolColumn = result.TextLoaderArgs.Column.First(c => c.Name == "Bool"); - var labelColumn = result.TextLoaderArgs.Column.First(c => c.Name == DefaultColumnNames.Label); + var boolColumn = result.TextLoaderArgs.Columns.First(c => c.Name == "Bool"); + var labelColumn = result.TextLoaderArgs.Columns.First(c => c.Name == DefaultColumnNames.Label); // ensure non-label Boolean column is detected as R4 Assert.AreEqual(DataKind.R4, boolColumn.Type); Assert.AreEqual(DataKind.BL, labelColumn.Type); @@ -89,10 +89,10 @@ public void DatasetWithBoolColumn() public void WhereNameColumnIsOnlyFeature() { var result = new MLContext().AutoInference().InferColumns(@".\TestData\NameColumnIsOnlyFeatureDataset.txt", DefaultColumnNames.Label); - Assert.AreEqual(2, result.TextLoaderArgs.Column.Count()); + Assert.AreEqual(2, result.TextLoaderArgs.Columns.Count()); - var nameColumn = result.TextLoaderArgs.Column.First(c => c.Name == "Username"); - var labelColumn = result.TextLoaderArgs.Column.First(c => c.Name == DefaultColumnNames.Label); + var nameColumn = result.TextLoaderArgs.Columns.First(c => c.Name == "Username"); + var labelColumn = result.TextLoaderArgs.Columns.First(c => c.Name == DefaultColumnNames.Label); Assert.AreEqual(DataKind.TX, nameColumn.Type); Assert.AreEqual(DataKind.BL, labelColumn.Type); @@ -139,7 +139,7 @@ public void InferColumnsColumnInfoParam() var columnInfo = new ColumnInformation() { LabelColumn = DatasetUtil.MlNetGeneratedRegressionLabel }; var result = new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadMlNetGeneratedRegressionDataset(), columnInfo); - var labelCol = result.TextLoaderArgs.Column.First(c => c.Name == DatasetUtil.MlNetGeneratedRegressionLabel); + var labelCol = result.TextLoaderArgs.Columns.First(c => c.Name == DatasetUtil.MlNetGeneratedRegressionLabel); Assert.AreEqual(DataKind.R4, labelCol.Type); Assert.AreEqual(DatasetUtil.MlNetGeneratedRegressionLabel, result.ColumnInformation.LabelColumn); Assert.AreEqual(1, result.ColumnInformation.NumericColumns.Count()); diff --git a/src/Test/DatasetDimensionsTests.cs b/src/Test/DatasetDimensionsTests.cs index 3d87593278..538e7d845a 100644 --- a/src/Test/DatasetDimensionsTests.cs +++ b/src/Test/DatasetDimensionsTests.cs @@ -34,8 +34,8 @@ public void FloatColumnDimensionsTest() { var context = new MLContext(); var dataBuilder = new ArrayDataViewBuilder(context); - dataBuilder.AddColumn("NoNan", NumberType.R4, new float[] { 0, 1, 0, 1, 0 }); - dataBuilder.AddColumn("Nan", NumberType.R4, new float[] { 0, 1, 0, 1, float.NaN }); + dataBuilder.AddColumn("NoNan", NumberDataViewType.Single, new float[] { 0, 1, 0, 1, 0 }); + dataBuilder.AddColumn("Nan", NumberDataViewType.Single, new float[] { 0, 1, 0, 1, float.NaN }); var data = dataBuilder.GetDataView(); var dimensions = DatasetDimensionsApi.CalcColumnDimensions(context, data, new[] { new PurposeInference.Column(0, ColumnPurpose.NumericFeature), @@ -60,13 +60,13 @@ public void FloatVectorColumnHasNanTest() new float[] { 0, 0 }, new float[] { 1, 1 }, }; - dataBuilder.AddColumn("NoNan", Util.GetKeyValueGetter(slotNames), NumberType.R4, colValues); + dataBuilder.AddColumn("NoNan", Util.GetKeyValueGetter(slotNames), NumberDataViewType.Single, colValues); colValues = new float[][] { new float[] { 0, 0 }, new float[] { 1, float.NaN }, }; - dataBuilder.AddColumn("Nan", Util.GetKeyValueGetter(slotNames), NumberType.R4, colValues); + dataBuilder.AddColumn("Nan", Util.GetKeyValueGetter(slotNames), NumberDataViewType.Single, colValues); var data = dataBuilder.GetDataView(); var dimensions = DatasetDimensionsApi.CalcColumnDimensions(context, data, new[] { new PurposeInference.Column(0, ColumnPurpose.NumericFeature), diff --git a/src/Test/PurposeInferenceTests.cs b/src/Test/PurposeInferenceTests.cs index d92fd7014d..d721faab4b 100644 --- a/src/Test/PurposeInferenceTests.cs +++ b/src/Test/PurposeInferenceTests.cs @@ -15,8 +15,8 @@ public void PurposeInferenceHiddenColumnsTest() // build basic data view var schemaBuilder = new SchemaBuilder(); - schemaBuilder.AddColumn(DefaultColumnNames.Label, BoolType.Instance); - schemaBuilder.AddColumn(DefaultColumnNames.Features, NumberType.R4); + schemaBuilder.AddColumn(DefaultColumnNames.Label, BooleanDataViewType.Instance); + schemaBuilder.AddColumn(DefaultColumnNames.Features, NumberDataViewType.Single); var schema = schemaBuilder.GetSchema(); IDataView data = new EmptyDataView(context, schema); diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index 613336bd81..689923ca8e 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -21,10 +21,14 @@ public void TrainerExtensionInstanceTests() foreach (var trainerName in trainerNames) { var extension = TrainerExtensionCatalog.GetTrainerExtension(trainerName); - var instance = extension.CreateInstance(context, null, columnInfo); - Assert.IsNotNull(instance); var sweepParams = extension.GetHyperparamSweepRanges(); Assert.IsNotNull(sweepParams); + foreach(var sweepParam in sweepParams) + { + sweepParam.RawValue = 1; + } + var instance = extension.CreateInstance(context, sweepParams, columnInfo); + Assert.IsNotNull(instance); var pipelineNode = extension.CreatePipelineNode(null, columnInfo); Assert.IsNotNull(pipelineNode); } diff --git a/src/Test/TransformInferenceTests.cs b/src/Test/TransformInferenceTests.cs index 1889c537aa..6c0bb94a0c 100644 --- a/src/Test/TransformInferenceTests.cs +++ b/src/Test/TransformInferenceTests.cs @@ -16,13 +16,13 @@ public class TransformInferenceTests [TestMethod] public void TransformInferenceNumAndCatCols() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - ("Numeric1", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Categorical1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), - ("Categorical2", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), - ("LargeCat1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), - ("LargeCat2", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + ("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Categorical1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + ("Categorical2", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + ("LargeCat1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + ("LargeCat2", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), }, @"[ { ""Name"": ""OneHotEncoding"", @@ -71,14 +71,14 @@ public void TransformInferenceNumAndCatCols() [TestMethod] public void TransformInferenceNumCatAndFeatCols() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Numeric1", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Categorical1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), - ("Categorical2", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), - ("LargeCat1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), - ("LargeCat2", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + (DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Categorical1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + ("Categorical2", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + ("LargeCat1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + ("LargeCat2", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), }, @"[ { ""Name"": ""OneHotEncoding"", @@ -128,11 +128,11 @@ public void TransformInferenceNumCatAndFeatCols() [TestMethod] public void TransformInferenceCatAndFeatCols() { - TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Categorical1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), - ("LargeCat1", TextType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + (DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Categorical1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + ("LargeCat1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), }, @"[ { ""Name"": ""OneHotEncoding"", @@ -175,9 +175,9 @@ public void TransformInferenceCatAndFeatCols() [TestMethod] public void TransformInferenceNumericCol() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - ("Numeric", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { @@ -197,10 +197,10 @@ public void TransformInferenceNumericCol() [TestMethod] public void TransformInferenceNumericCols() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - ("Numeric1", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Numeric2", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Numeric2", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ColumnConcatenating"", @@ -220,9 +220,9 @@ public void TransformInferenceNumericCols() [TestMethod] public void TransformInferenceFeatColScalar() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ColumnConcatenating"", @@ -241,19 +241,19 @@ public void TransformInferenceFeatColScalar() [TestMethod] public void TransformInferenceFeatColVector() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, new VectorType(NumberType.R4), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, new VectorType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[]"); } [TestMethod] public void NumericAndFeatCol() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Numeric", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ColumnConcatenating"", @@ -273,9 +273,9 @@ public void NumericAndFeatCol() [TestMethod] public void NumericScalarCol() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - ("Numeric", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ColumnConcatenating"", @@ -294,9 +294,9 @@ public void NumericScalarCol() [TestMethod] public void NumericVectorCol() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - ("Numeric", new VectorType(NumberType.R4), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Numeric", new VectorType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ColumnCopying"", @@ -315,9 +315,9 @@ public void NumericVectorCol() [TestMethod] public void TransformInferenceTextCol() { - TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - ("Text", TextType.Instance, ColumnPurpose.TextFeature, new ColumnDimensions(null, null)), + ("Text", TextDataViewType.Instance, ColumnPurpose.TextFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""TextFeaturizing"", @@ -347,10 +347,10 @@ public void TransformInferenceTextCol() [TestMethod] public void TransformInferenceTextAndFeatCol() { - TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Text", TextType.Instance, ColumnPurpose.TextFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Text", TextDataViewType.Instance, ColumnPurpose.TextFeature, new ColumnDimensions(null, null)), }, @"[ { @@ -382,9 +382,9 @@ public void TransformInferenceTextAndFeatCol() [TestMethod] public void TransformInferenceBoolCol() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - ("Bool", BoolType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Bool", BooleanDataViewType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""TypeConverting"", @@ -414,10 +414,10 @@ public void TransformInferenceBoolCol() [TestMethod] public void TransformInferenceBoolAndNumCols() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - ("Numeric", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Bool", BoolType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Bool", BooleanDataViewType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""TypeConverting"", @@ -448,10 +448,10 @@ public void TransformInferenceBoolAndNumCols() [TestMethod] public void TransformInferenceBoolAndFeatCol() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Bool", BoolType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Bool", BooleanDataViewType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""TypeConverting"", @@ -482,10 +482,10 @@ public void TransformInferenceBoolAndFeatCol() [TestMethod] public void TransformInferenceNumericMissingCol() { - TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - ("Missing", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), - ("Numeric", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), + ("Missing", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), + ("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), }, @"[ { ""Name"": ""MissingValueIndicating"", @@ -539,11 +539,11 @@ public void TransformInferenceNumericMissingCol() [TestMethod] public void TransformInferenceNumericMissingCols() { - TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - ("Missing1", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), - ("Missing2", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), - ("Numeric", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), + ("Missing1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), + ("Missing2", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), + ("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), }, @"[ { ""Name"": ""MissingValueIndicating"", @@ -605,10 +605,10 @@ public void TransformInferenceNumericMissingCols() [TestMethod] public void TransformInferenceIgnoreCol() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - ("Numeric1", NumberType.R4, ColumnPurpose.Ignore, new ColumnDimensions(null, null)), - ("Numeric2", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Numeric1", NumberDataViewType.Single, ColumnPurpose.Ignore, new ColumnDimensions(null, null)), + ("Numeric2", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ColumnConcatenating"", @@ -627,30 +627,30 @@ public void TransformInferenceIgnoreCol() [TestMethod] public void TransformInferenceDefaultLabelCol() { - TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, new VectorType(NumberType.R4), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - (DefaultColumnNames.Label, NumberType.R4, ColumnPurpose.Label, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, new VectorType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Label, NumberDataViewType.Single, ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[]"); } [TestMethod] public void TransformInferenceCustomLabelCol() { - TransformInferenceTestCore(new(string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, new VectorType(NumberType.R4), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("CustomLabel", NumberType.R4, ColumnPurpose.Label, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, new VectorType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("CustomLabel", NumberDataViewType.Single, ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[]"); } [TestMethod] public void TransformInferenceCustomTextLabelCol() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, new VectorType(NumberType.R4), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("CustomLabel", TextType.Instance, ColumnPurpose.Label, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, new VectorType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("CustomLabel", TextDataViewType.Instance, ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ValueToKeyMapping"", @@ -669,11 +669,11 @@ public void TransformInferenceCustomTextLabelCol() [TestMethod] public void TransformInferenceMissingNameCollision() { - TransformInferenceTestCore(new (string, ColumnType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - ("Missing", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), - ("Missing_MissingIndicator", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), - ("Missing_MissingIndicator0", NumberType.R4, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), + ("Missing", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), + ("Missing_MissingIndicator", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), + ("Missing_MissingIndicator0", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), }, @"[ { ""Name"": ""MissingValueIndicating"", @@ -726,7 +726,7 @@ public void TransformInferenceMissingNameCollision() } private static void TransformInferenceTestCore( - (string name, ColumnType type, ColumnPurpose purpose, ColumnDimensions dimensions)[] columns, + (string name, DataViewType type, ColumnPurpose purpose, ColumnDimensions dimensions)[] columns, string expectedJson) { var transforms = TransformInferenceApi.InferTransforms(new MLContext(), columns); @@ -736,7 +736,7 @@ private static void TransformInferenceTestCore( } private static void TestApplyTransformsToRealDataView(IEnumerable transforms, - IEnumerable<(string name, ColumnType type, ColumnPurpose purpose, ColumnDimensions dimensions)> columns) + IEnumerable<(string name, DataViewType type, ColumnPurpose purpose, ColumnDimensions dimensions)> columns) { // create a dummy data view from input columns var data = BuildDummyDataView(columns); @@ -751,36 +751,36 @@ private static void TestApplyTransformsToRealDataView(IEnumerable columns) + IEnumerable<(string name, DataViewType type, ColumnPurpose purpose, ColumnDimensions dimensions)> columns) { return BuildDummyDataView(columns.Select(c => (c.name, c.type))); } - private static IDataView BuildDummyDataView(IEnumerable<(string name, ColumnType type)> columns) + private static IDataView BuildDummyDataView(IEnumerable<(string name, DataViewType type)> columns) { var dataBuilder = new ArrayDataViewBuilder(new MLContext()); foreach(var column in columns) { - if (column.type == NumberType.R4) + if (column.type == NumberDataViewType.Single) { - dataBuilder.AddColumn(column.name, NumberType.R4, new float[] { 0 }); + dataBuilder.AddColumn(column.name, NumberDataViewType.Single, new float[] { 0 }); } - else if (column.type == BoolType.Instance) + else if (column.type == BooleanDataViewType.Instance) { - dataBuilder.AddColumn(column.name, BoolType.Instance, new bool[] { false }); + dataBuilder.AddColumn(column.name, BooleanDataViewType.Instance, new bool[] { false }); } - else if (column.type == TextType.Instance) + else if (column.type == TextDataViewType.Instance) { dataBuilder.AddColumn(column.name, new string[] { "a" }); } - else if (column.type.IsVector() && column.type.GetItemType() == NumberType.R4) + else if (column.type.IsVector() && column.type.GetItemType() == NumberDataViewType.Single) { dataBuilder.AddColumn(column.name, Util.GetKeyValueGetter(new[] { "1", "2" }), - NumberType.R4, new float[] { 0, 0 }); + NumberDataViewType.Single, new float[] { 0, 0 }); } } return dataBuilder.GetDataView(); diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index a85880d57e..e54effbede 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -163,7 +163,7 @@ public void ValidateAutoFitArgsTrainValidColTypeMismatch() var validDataBuilder = new ArrayDataViewBuilder(context); validDataBuilder.AddColumn("0", new string[] { "0" }); - validDataBuilder.AddColumn("1", NumberType.R4, new float[] { 1 }); + validDataBuilder.AddColumn("1", NumberDataViewType.Single, new float[] { 1 }); var validData = validDataBuilder.GetDataView(); UserInputValidationUtil.ValidateAutoFitArgs(trainData, "0", validData, null, null); @@ -203,8 +203,8 @@ public void ValidateInferColsPath() public void ValidateFeaturesColInvalidType() { var schemaBuilder = new SchemaBuilder(); - schemaBuilder.AddColumn(DefaultColumnNames.Features, NumberType.R8); - schemaBuilder.AddColumn(DefaultColumnNames.Label, NumberType.R4); + schemaBuilder.AddColumn(DefaultColumnNames.Features, NumberDataViewType.R8); + schemaBuilder.AddColumn(DefaultColumnNames.Label, NumberDataViewType.Single); var schema = schemaBuilder.GetSchema(); var dataView = new EmptyDataView(new MLContext(), schema); UserInputValidationUtil.ValidateAutoFitArgs(dataView, DefaultColumnNames.Label, null, null, null); diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index e8375cee8c..c2580fcb5f 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -108,14 +108,14 @@ public void GeneratedHelperCodeTest() this.pipeline = inferredPipeline1.ToPipeline(); var textLoaderArgs = new TextLoader.Arguments() { - Column = new[] { - new TextLoader.Column("Label", DataKind.BL, 0), - new TextLoader.Column("col1", DataKind.R4, 1), - new TextLoader.Column("col2", DataKind.R4, 0), - new TextLoader.Column("col3", DataKind.Text, 0), - new TextLoader.Column("col4", DataKind.I4, 0), - new TextLoader.Column("col5", DataKind.U4, 0), - }, + Columns = new[] { + new TextLoader.Column("Label", DataKind.BL, 0), + new TextLoader.Column("col1", DataKind.R4, 1), + new TextLoader.Column("col2", DataKind.R4, 0), + new TextLoader.Column("col3", DataKind.Text, 0), + new TextLoader.Column("col4", DataKind.I4, 0), + new TextLoader.Column("col5", DataKind.U4, 0), + }, AllowQuoting = true, AllowSparse = true, HasHeader = true, diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index eeb288f57b..4ca57f05d3 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -95,7 +95,7 @@ public void ClassLabelGenerationBasicTest() { TextLoaderArgs = new TextLoader.Arguments() { - Column = columns, + Columns = columns, AllowQuoting = false, AllowSparse = false, Separators = new[] { ',' }, @@ -127,7 +127,7 @@ public void ColumnGenerationTest() { TextLoaderArgs = new TextLoader.Arguments() { - Column = columns, + Columns = columns, AllowQuoting = false, AllowSparse = false, Separators = new[] { ',' }, @@ -136,7 +136,7 @@ public void ColumnGenerationTest() }, ColumnInformation = new ColumnInformation() { NumericColumns = new[] { DefaultColumnNames.Features } } }; - + var context = new MLContext(); var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index dd6259b834..016560bf11 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -167,7 +167,7 @@ internal IList GenerateClassLabels() { IList result = new List(); var label_column = Utils.Sanitize(columnInferenceResult.ColumnInformation.LabelColumn); - foreach (var column in columnInferenceResult.TextLoaderArgs.Column) + foreach (var column in columnInferenceResult.TextLoaderArgs.Columns) { StringBuilder sb = new StringBuilder(); int range = (column.Source[0].Max - column.Source[0].Min).Value; @@ -226,7 +226,7 @@ internal IList GenerateClassLabels() internal IList GenerateColumns() { var result = new List(); - foreach (var column in columnInferenceResult.TextLoaderArgs.Column) + foreach (var column in columnInferenceResult.TextLoaderArgs.Columns) { result.Add(ConstructColumnDefinition(column)); } diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index f1806f796e..ef2db8f02a 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -3,13 +3,11 @@ // See the LICENSE file in the project root for more information. using System; -using System.IO; using Microsoft.Data.DataView; using Microsoft.ML.Auto; using Microsoft.ML.CLI.CodeGenerator.CSharp; using Microsoft.ML.CLI.Data; using Microsoft.ML.CLI.Utilities; -using Microsoft.ML.Core.Data; using Microsoft.ML.Data; using NLog; @@ -46,7 +44,7 @@ public void Execute() } // Sanitize columns - Array.ForEach(columnInference.TextLoaderArgs.Column, t => t.Name = Utils.Sanitize(t.Name)); + Array.ForEach(columnInference.TextLoaderArgs.Columns, t => t.Name = Utils.Sanitize(t.Name)); var sanitized_Label_Name = Utils.Sanitize(columnInference.ColumnInformation.LabelColumn); diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index 814272a2d4..f40a19830e 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -6,7 +6,6 @@ using System.IO; using System.Linq; using Microsoft.ML.Auto; -using Microsoft.ML.Core.Data; using Microsoft.ML.Data; using NLog; From 796ae8a5fa3c9cfdd8627205f18914f877f6b3bb Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Fri, 22 Feb 2019 21:12:19 -0800 Subject: [PATCH 105/211] fix multiclass with nonstandard label (#207) --- .../PipelineSuggesters/PipelineSuggester.cs | 3 ++- .../TrainerExtensions/MultiTrainerExtensions.cs | 14 +++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs index 9aa55ceebd..e9a58f8e74 100644 --- a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs +++ b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs @@ -221,7 +221,8 @@ private static IEnumerable CalculateTransforms( // this is a work-around for ML.NET bug tracked by https://github.com/dotnet/machinelearning/issues/1969 if (task == TaskKind.MulticlassClassification) { - var transform = ValueToKeyMappingExtension.CreateSuggestedTransform(context, DefaultColumnNames.Label, DefaultColumnNames.Label); + var labelColumn = columns.First(c => c.Item3 == ColumnPurpose.Label).Item1; + var transform = ValueToKeyMappingExtension.CreateSuggestedTransform(context, labelColumn, labelColumn); transforms.Add(transform); } return transforms; diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs index d7ef50f2d7..2717c87636 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs @@ -24,7 +24,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -46,7 +46,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -89,7 +89,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -132,7 +132,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -154,7 +154,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -176,7 +176,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -198,7 +198,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) From abf6f0d14416e8702929e6b2f3178d1c1f645578 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Fri, 22 Feb 2019 21:37:56 -0800 Subject: [PATCH 106/211] Multiclass nondefault label test (#208) --- src/Test/AutoFitTests.cs | 7 +- src/Test/DatasetUtil.cs | 7 +- src/Test/Test.csproj | 3 + .../TestData/TrivialMulticlassDataset.txt | 181 ++++++++++++++++++ 4 files changed, 190 insertions(+), 8 deletions(-) create mode 100644 src/Test/TestData/TrivialMulticlassDataset.txt diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index d7e21cbc1d..5685330d45 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -31,15 +31,14 @@ public void AutoFitBinaryTest() public void AutoFitMultiTest() { var context = new MLContext(); - var dataPath = DatasetUtil.DownloadTrivialDataset(); - var columnInference = context.AutoInference().InferColumns(dataPath, DatasetUtil.TrivialDatasetLabel); + var columnInference = context.AutoInference().InferColumns(DatasetUtil.TrivialMulticlassDatasetPath, DatasetUtil.TrivialMulticlassDatasetLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); - var trainData = textLoader.Read(dataPath); + var trainData = textLoader.Read(DatasetUtil.TrivialMulticlassDatasetPath); var validationData = context.Data.TakeRows(trainData, 20); trainData = context.Data.SkipRows(trainData, 20); var result = context.AutoInference() .CreateMulticlassClassificationExperiment(0) - .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.TrivialDatasetLabel }); + .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.TrivialMulticlassDatasetLabel }); Assert.IsTrue(result.Max(i => i.Metrics.AccuracyMacro) > 0.80); } diff --git a/src/Test/DatasetUtil.cs b/src/Test/DatasetUtil.cs index 78cc317a21..2ffa6243f3 100644 --- a/src/Test/DatasetUtil.cs +++ b/src/Test/DatasetUtil.cs @@ -13,10 +13,12 @@ namespace Microsoft.ML.Auto.Test internal static class DatasetUtil { public const string UciAdultLabel = DefaultColumnNames.Label; - public const string TrivialDatasetLabel = DefaultColumnNames.Label; + public const string TrivialMulticlassDatasetLabel = "Target"; public const string MlNetGeneratedRegressionLabel = "target"; public const int IrisDatasetLabelColIndex = 0; + public const string TrivialMulticlassDatasetPath = @"TestData\TrivialMulticlassDataset.txt"; + private static IDataView _uciAdultDataView; public static IDataView GetUciAdultDataView() @@ -36,9 +38,6 @@ public static IDataView GetUciAdultDataView() public static string DownloadUciAdultDataset() => DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/f0e639af5ffdc839aae8e65d19b5a9a1f0db634a/test/data/adult.tiny.with-schema.txt", "uciadult.dataset"); - public static string DownloadTrivialDataset() => - DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/eae76959e6714af44caa212e102a5f06f0110e72/test/data/trivial-train.tsv", "trivial.dataset"); - public static string DownloadMlNetGeneratedRegressionDataset() => DownloadIfNotExists("https://raw.githubusercontent.com/dotnet/machinelearning/e78971ea6fd736038b4c355b840e5cbabae8cb55/test/data/generated_regression_dataset.csv", "mlnet_generated_regression.dataset"); diff --git a/src/Test/Test.csproj b/src/Test/Test.csproj index 7c64db99a8..9cce9f29af 100644 --- a/src/Test/Test.csproj +++ b/src/Test/Test.csproj @@ -31,6 +31,9 @@ PreserveNewest + + PreserveNewest + diff --git a/src/Test/TestData/TrivialMulticlassDataset.txt b/src/Test/TestData/TrivialMulticlassDataset.txt new file mode 100644 index 0000000000..c9566415b6 --- /dev/null +++ b/src/Test/TestData/TrivialMulticlassDataset.txt @@ -0,0 +1,181 @@ +Target Row Column +1 14 20 +1 19 26 +3 17 4 +1 10 20 +1 3 5 +1 7 5 +1 18 36 +2 1 36 +2 1 38 +3 17 1 +2 6 26 +2 9 30 +3 13 8 +2 7 33 +2 8 30 +3 10 1 +1 18 25 +1 13 12 +1 3 2 +2 8 28 +1 11 24 +2 3 28 +2 1 16 +1 9 7 +1 15 16 +3 19 4 +1 1 8 +1 8 0 +1 10 34 +1 18 37 +2 1 17 +2 8 39 +1 17 30 +2 1 27 +2 0 38 +1 11 16 +3 19 3 +1 7 8 +1 13 13 +1 19 31 +3 16 1 +1 5 1 +2 6 11 +1 9 5 +3 10 6 +1 1 2 +2 6 30 +2 7 15 +1 17 21 +1 18 23 +3 10 7 +2 5 39 +2 2 27 +3 12 6 +3 11 4 +1 9 3 +1 12 22 +2 8 19 +2 1 14 +1 11 11 +1 10 36 +3 12 4 +1 15 21 +1 17 37 +1 6 3 +2 3 18 +1 10 10 +1 11 33 +1 18 19 +2 7 35 +3 10 2 +1 12 30 +1 12 26 +2 1 31 +2 5 21 +2 1 11 +1 7 3 +2 8 36 +3 10 4 +1 18 26 +2 8 10 +1 10 22 +1 15 14 +3 16 0 +2 0 30 +2 3 34 +3 13 9 +1 0 2 +1 15 36 +1 15 23 +1 10 30 +2 6 20 +2 9 24 +2 9 35 +1 7 6 +2 7 39 +2 5 20 +3 12 8 +2 9 12 +1 17 25 +1 12 33 +2 6 19 +1 17 10 +2 4 35 +1 15 31 +3 12 7 +1 17 16 +2 1 19 +2 3 25 +1 16 30 +1 19 30 +1 5 4 +2 6 10 +1 18 20 +1 13 26 +2 3 39 +2 2 20 +1 4 7 +2 3 33 +1 16 20 +2 1 21 +3 15 2 +3 19 2 +1 12 10 +2 5 37 +2 1 32 +3 18 6 +1 2 1 +1 16 21 +2 1 23 +1 17 33 +2 5 11 +2 3 14 +1 11 12 +1 13 20 +1 19 38 +1 15 10 +2 8 11 +3 11 0 +1 18 10 +1 19 24 +1 13 11 +2 4 23 +1 16 26 +1 7 7 +1 17 29 +1 18 30 +1 13 10 +2 6 21 +1 19 32 +2 7 12 +1 12 28 +2 2 11 +1 12 15 +2 8 32 +3 15 9 +3 16 5 +1 9 1 +1 19 28 +3 16 3 +1 15 17 +2 7 38 +1 16 38 +1 14 26 +1 10 26 +1 10 37 +3 18 5 +2 5 27 +2 2 22 +1 11 39 +1 16 36 +1 0 9 +2 5 19 +1 18 28 +1 12 13 +1 17 17 +1 8 1 +2 6 15 +3 14 4 +1 1 4 \ No newline at end of file From c955ae97f78d4829ea8b717938c48f4d5a961e64 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Sun, 24 Feb 2019 22:28:19 -0800 Subject: [PATCH 107/211] printing escaped chars + bug (#212) --- src/mlnet/Templates/Console/MLCodeGen.cs | 10 +++++++--- src/mlnet/Templates/Console/MLCodeGen.tt | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index c43116f1bb..dfa48bee97 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -11,6 +11,7 @@ namespace Microsoft.ML.CLI.Templates.Console { using System.Linq; using System.Text; + using System.Text.RegularExpressions; using System.Collections.Generic; using Microsoft.ML.CLI.Utilities; using System; @@ -77,7 +78,7 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); this.Write(",\r\n separatorChar : \'"); - this.Write(this.ToStringHelper.ToStringWithCulture(Separator)); + this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); this.Write("\',\r\n allowQuotedStrings : "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); this.Write(",\r\n trimWhitespace : "); @@ -91,7 +92,7 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) " hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); this.Write(",\r\n separatorChar : \'"); - this.Write(this.ToStringHelper.ToStringWithCulture(Separator)); + this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); this.Write("\',\r\n allowQuotedStrings : "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); this.Write(",\r\n trimWhitespace : "); @@ -110,6 +111,9 @@ private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) { Write("\r\n .Append("); } Write("mlContext.Transforms."+Transforms[i]); + if(i>0) + { Write(")"); + } } this.Write(";\r\n"); } @@ -196,7 +200,7 @@ private static void TestSinglePrediction(MLContext mlContext) hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); this.Write(",\r\n separatorChar : \'"); - this.Write(this.ToStringHelper.ToStringWithCulture(Separator)); + this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); this.Write("\',\r\n allowQuotedStrings : "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); this.Write(",\r\n trimWhitespace : "); diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index 636ac5c717..907e8c83a9 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -2,6 +2,7 @@ <#@ assembly name="System.Core" #> <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> +<#@ import namespace="System.Text.RegularExpressions" #> <#@ import namespace="System.Collections.Generic" #> <#@ import namespace="Microsoft.ML.CLI.Utilities" #> // Licensed to the .NET Foundation under one or more agreements. @@ -51,7 +52,7 @@ namespace <#= Namespace #> IDataView trainingDataView = mlContext.Data.ReadFromTextFile( path: TrainDataPath, hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, - separatorChar : '<#= Separator #>', + separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', allowQuotedStrings : <#= AllowQuoting.ToString().ToLowerInvariant() #>, trimWhitespace : <#= TrimWhiteSpace.ToString().ToLowerInvariant() #> , supportSparse : <#= AllowSparse.ToString().ToLowerInvariant() #>); @@ -59,7 +60,7 @@ namespace <#= Namespace #> IDataView testDataView = mlContext.Data.ReadFromTextFile( path: TestDataPath, hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, - separatorChar : '<#= Separator #>', + separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', allowQuotedStrings : <#= AllowQuoting.ToString().ToLowerInvariant() #>, trimWhitespace : <#= TrimWhiteSpace.ToString().ToLowerInvariant() #> , supportSparse : <#= AllowSparse.ToString().ToLowerInvariant() #>); @@ -73,6 +74,9 @@ namespace <#= Namespace #> { Write("\r\n .Append("); } Write("mlContext.Transforms."+Transforms[i]); + if(i>0) + { Write(")"); + } }#>; <#}#> @@ -132,7 +136,7 @@ else{#> IDataView trainingDataView = mlContext.Data.ReadFromTextFile( path: TrainDataPath, hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, - separatorChar : '<#= Separator #>', + separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', allowQuotedStrings : <#= AllowQuoting.ToString().ToLowerInvariant() #>, trimWhitespace : <#= TrimWhiteSpace.ToString().ToLowerInvariant() #> , supportSparse : <#= AllowSparse.ToString().ToLowerInvariant() #>); From 37cb1f826f77713271f48eaea17c7554961ed5a2 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Sun, 24 Feb 2019 22:50:37 -0800 Subject: [PATCH 108/211] delete unused internal samples (#211) --- src/InternalClient/GetNextPipeline.cs | 47 ------------------------ src/InternalClient/InternalClient.csproj | 16 -------- src/InternalClient/Program.cs | 12 ------ 3 files changed, 75 deletions(-) delete mode 100644 src/InternalClient/GetNextPipeline.cs delete mode 100644 src/InternalClient/InternalClient.csproj delete mode 100644 src/InternalClient/Program.cs diff --git a/src/InternalClient/GetNextPipeline.cs b/src/InternalClient/GetNextPipeline.cs deleted file mode 100644 index 285e11b48c..0000000000 --- a/src/InternalClient/GetNextPipeline.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.ML; -using Microsoft.ML.Auto; - -namespace InternalClient -{ - internal static class GetNextPipeline - { - private const string Label = "Label"; - private const string TrainDataPath = @"C:\data\sample_train2.csv"; - - public static void Run() - { - // load data - var context = new MLContext(); - var columnInference = context.Data.InferColumns(TrainDataPath, Label, true); - var textLoader = context.Data.CreateTextReader(columnInference); - var data = textLoader.Read(TrainDataPath); - - // get trainers & transforms - var transforms = TransformInferenceApi.InferTransforms(context, data, Label); - var availableTrainers = RecipeInference.AllowedTrainers(context, TaskKind.BinaryClassification, 4); - - // get next pipeline loop - var history = new List(); - for(var i = 0; i < 100; i++) - { - // get next pipeline - var pipeline = PipelineSuggester.GetNextPipeline(history, transforms, availableTrainers); - if(pipeline == null) - { - break; - } - Console.WriteLine($"{i}\t{pipeline}"); - - // mock pipeline run - var pipelineScore = AutoMlUtils.Random.NextDouble(); - var result = new PipelineRunResult(null, null, pipeline, pipelineScore, null); - - history.Add(result); - } - - Console.ReadLine(); - } - } -} diff --git a/src/InternalClient/InternalClient.csproj b/src/InternalClient/InternalClient.csproj deleted file mode 100644 index ed07318bb5..0000000000 --- a/src/InternalClient/InternalClient.csproj +++ /dev/null @@ -1,16 +0,0 @@ - - - - Exe - netcoreapp2.1 - - - - 1701;1702;0649 - - - - - - - diff --git a/src/InternalClient/Program.cs b/src/InternalClient/Program.cs deleted file mode 100644 index 9dccad4e39..0000000000 --- a/src/InternalClient/Program.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; - -namespace InternalClient -{ - class Program - { - static void Main(string[] args) - { - GetNextPipeline.Run(); - } - } -} From 08e908c4f812159b127978181c06718fadb82acf Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Sun, 24 Feb 2019 23:07:10 -0800 Subject: [PATCH 109/211] fix SMAC bug that causes multiclass sample to infinite loop (#209) --- src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs b/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs index 9c450ca730..36cbc6be74 100644 --- a/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs +++ b/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs @@ -386,6 +386,10 @@ private double ComputeEI(double bestVal, double[] forestStatistics) double empMean = forestStatistics[0]; double empStdDev = forestStatistics[1]; double centered = empMean - bestVal; + if (empStdDev == 0) + { + return centered; + } double ztrans = centered / empStdDev; return centered * SweeperProbabilityUtils.StdNormalCdf(ztrans) + empStdDev * SweeperProbabilityUtils.StdNormalPdf(ztrans); } From 18bf56865d52b3d5aa26bd6bf445c4ead4017a63 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Mon, 25 Feb 2019 10:36:12 -0800 Subject: [PATCH 110/211] Rev user input validation for new API (#210) --- .../API/AutoInferenceCatalog.cs | 7 +- .../API/BinaryClassificationExperiment.cs | 2 +- .../API/MulticlassClassificationExperiment.cs | 2 +- .../API/RegressionExperiment.cs | 2 +- .../Utils/UserInputValidationUtil.cs | 118 +++++++++--------- src/Test/UserInputValidationTests.cs | 110 +++++----------- 6 files changed, 99 insertions(+), 142 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs b/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs index 912aed65c5..81150b1fb7 100644 --- a/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs +++ b/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs @@ -57,21 +57,22 @@ public MulticlassClassificationExperiment CreateMulticlassClassificationExperime public ColumnInferenceResults InferColumns(string path, string labelColumn = DefaultColumnNames.Label, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) { - //UserInputValidationUtil.ValidateInferColumnsArgs(path, label); + UserInputValidationUtil.ValidateInferColumnsArgs(path, labelColumn); return ColumnInferenceApi.InferColumns(_context, path, labelColumn, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); } public ColumnInferenceResults InferColumns(string path, ColumnInformation columnInformation, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) { - //UserInputValidationUtil.ValidateInferColumnsArgs(path, label); + columnInformation = columnInformation ?? new ColumnInformation(); + UserInputValidationUtil.ValidateInferColumnsArgs(path, columnInformation); return ColumnInferenceApi.InferColumns(_context, path, columnInformation, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); } public ColumnInferenceResults InferColumns(string path, uint labelColumnIndex, bool hasHeader = false, char? separatorChar = null, bool? allowQuotedStrings = null, bool? supportSparse = null, bool trimWhitespace = false, bool groupColumns = true) { - //UserInputValidationUtil.ValidateInferColumnsArgs(path); + UserInputValidationUtil.ValidateInferColumnsArgs(path); return ColumnInferenceApi.InferColumns(_context, path, labelColumnIndex, hasHeader, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); } } diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index ddab3820c6..42ba3749ad 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -81,7 +81,7 @@ internal IEnumerable> Execute(MLContext c IEstimator preFeaturizers = null) { columnInfo = columnInfo ?? new ColumnInformation(); - //UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColunName, validationData, settings, columnPurposes) + UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, columnInfo, validationData); // run autofit & get all pipelines run in that process var experiment = new Experiment(context, TaskKind.BinaryClassification, trainData, columnInfo, diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index ada5eb9778..ec544e4811 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -79,7 +79,7 @@ internal IEnumerable> Execute(MLContext c IEstimator preFeaturizers = null) { columnInfo = columnInfo ?? new ColumnInformation(); - //UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColunName, validationData, settings, columnPurposes) + UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, columnInfo, validationData); // run autofit & get all pipelines run in that process var experiment = new Experiment(context, TaskKind.MulticlassClassification, trainData, diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index 3e4696bccb..d044c8d180 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -76,7 +76,7 @@ internal IEnumerable> Execute(MLContext context, IEstimator preFeaturizers = null) { columnInfo = columnInfo ?? new ColumnInformation(); - //UserInputValidationUtil.ValidateAutoFitArgs(trainData, labelColunName, validationData, settings, columnPurposes); + UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, columnInfo, validationData); // run autofit & get all pipelines run in that process var experiment = new Experiment(context, TaskKind.Regression, trainData, columnInfo, diff --git a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs index 23633ae27d..9dac0d5c86 100644 --- a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs @@ -9,26 +9,27 @@ using Microsoft.Data.DataView; using Microsoft.ML.Data; -// todo: re-write & test user input validation once final API nailed down. -// Tracked by Github issue: https://github.com/dotnet/machinelearning-automl/issues/159 - namespace Microsoft.ML.Auto { - /*internal static class UserInputValidationUtil + internal static class UserInputValidationUtil { - public static void ValidateAutoFitArgs(IDataView trainData, string label, IDataView validationData, - AutoFitSettings settings, IEnumerable<(string, ColumnPurpose)> purposeOverrides) + public static void ValidateExperimentExecuteArgs(IDataView trainData, ColumnInformation columnInformation, + IDataView validationData) { ValidateTrainData(trainData); + ValidateColumnInformation(trainData, columnInformation); ValidateValidationData(trainData, validationData); - ValidateLabel(trainData, label); - ValidateSettings(settings); - ValidatePurposeOverrides(trainData, validationData, label, purposeOverrides); } - public static void ValidateInferColumnsArgs(string path, string label) + public static void ValidateInferColumnsArgs(string path, ColumnInformation columnInformation) + { + ValidateColumnInformation(columnInformation); + ValidatePath(path); + } + + public static void ValidateInferColumnsArgs(string path, string labelColumn) { - ValidateLabel(label); + ValidateLabelColumn(labelColumn); ValidatePath(path); } @@ -51,21 +52,55 @@ private static void ValidateTrainData(IDataView trainData) } } - private static void ValidateLabel(IDataView trainData, string label) + private static void ValidateColumnInformation(IDataView trainData, ColumnInformation columnInformation) { - ValidateLabel(label); + ValidateColumnInformation(columnInformation); + ValidateTrainDataColumnExists(trainData, columnInformation.LabelColumn); + ValidateTrainDataColumnExists(trainData, columnInformation.WeightColumn); + ValidateTrainDataColumnsExist(trainData, columnInformation.CategoricalColumns); + ValidateTrainDataColumnsExist(trainData, columnInformation.NumericColumns); + ValidateTrainDataColumnsExist(trainData, columnInformation.TextColumns); + ValidateTrainDataColumnsExist(trainData, columnInformation.IgnoredColumns); + } - if (trainData.Schema.GetColumnOrNull(label) == null) + private static void ValidateColumnInformation(ColumnInformation columnInformation) + { + ValidateLabelColumn(columnInformation.LabelColumn); + + ValidateColumnInfoEnumerationProperty(columnInformation.CategoricalColumns, "categorical"); + ValidateColumnInfoEnumerationProperty(columnInformation.NumericColumns, "numeric"); + ValidateColumnInfoEnumerationProperty(columnInformation.TextColumns, "text"); + ValidateColumnInfoEnumerationProperty(columnInformation.IgnoredColumns, "ignored"); + + // keep a list of all columns, to detect duplicates + var allColumns = new List(); + allColumns.Add(columnInformation.LabelColumn); + if (columnInformation.WeightColumn != null) { allColumns.Add(columnInformation.WeightColumn); } + if (columnInformation.CategoricalColumns != null) { allColumns.AddRange(columnInformation.CategoricalColumns); } + if (columnInformation.NumericColumns != null) { allColumns.AddRange(columnInformation.NumericColumns); } + if (columnInformation.TextColumns != null) { allColumns.AddRange(columnInformation.TextColumns); } + if (columnInformation.IgnoredColumns != null) { allColumns.AddRange(columnInformation.IgnoredColumns); } + + var duplicateColName = FindFirstDuplicate(allColumns); + if (duplicateColName != null) { - throw new ArgumentException($"Provided label column '{label}' not found in training data.", nameof(label)); + throw new ArgumentException($"Duplicate column name {duplicateColName} is present in two or more distinct properties of provided column information", nameof(columnInformation)); } } - private static void ValidateLabel(string label) + private static void ValidateColumnInfoEnumerationProperty(IEnumerable columns, string propertyName) { - if (label == null) + if (columns?.Contains(null) == true) { - throw new ArgumentNullException(nameof(label), "Provided label cannot be null"); + throw new ArgumentException($"Null column string was specified as {propertyName} in column information"); + } + } + + private static void ValidateLabelColumn(string labelColumn) + { + if (labelColumn == null) + { + throw new ArgumentException("Provided label column cannot be null"); } } @@ -120,55 +155,24 @@ private static void ValidateValidationData(IDataView trainData, IDataView valida } } - private static void ValidateSettings(AutoFitSettings settings) + private static void ValidateTrainDataColumnsExist(IDataView trainData, IEnumerable columnNames) { - if (settings?.StoppingCriteria == null) + if (columnNames == null) { return; } - if (settings.StoppingCriteria.MaxIterations <= 0) + foreach (var columnName in columnNames) { - throw new ArgumentOutOfRangeException(nameof(settings), "Max iterations must be > 0"); + ValidateTrainDataColumnExists(trainData, columnName); } } - private static void ValidatePurposeOverrides(IDataView trainData, IDataView validationData, - string label, IEnumerable<(string, ColumnPurpose)> purposeOverrides) + private static void ValidateTrainDataColumnExists(IDataView trainData, string columnName) { - if (purposeOverrides == null) - { - return; - } - - foreach (var purposeOverride in purposeOverrides) - { - var colName = purposeOverride.Item1; - var colPurpose = purposeOverride.Item2; - - if (colName == null) - { - throw new ArgumentException("Purpose override column name cannot be null.", nameof(purposeOverrides)); - } - - if (trainData.Schema.GetColumnOrNull(colName) == null) - { - throw new ArgumentException($"Purpose override column name '{colName}' not found in training data.", nameof(purposeOverride)); - } - - // if column w/ purpose = 'Label' found, ensure it matches the passed-in label - if (colPurpose == ColumnPurpose.Label && colName != label) - { - throw new ArgumentException($"Label column name in provided list of purposes '{colName}' must match " + - $"the label column name '{label}'", nameof(purposeOverrides)); - } - } - - // ensure all column names unique - var duplicateColName = FindFirstDuplicate(purposeOverrides.Select(p => p.Item1)); - if (duplicateColName != null) + if (columnName != null && trainData.Schema.GetColumnOrNull(columnName) == null) { - throw new ArgumentException($"Duplicate column name '{duplicateColName}' in purpose overrides.", nameof(purposeOverrides)); + throw new ArgumentException($"Provided column '{columnName}' not found in training data."); } } @@ -177,5 +181,5 @@ private static string FindFirstDuplicate(IEnumerable values) var groups = values.GroupBy(v => v); return groups.FirstOrDefault(g => g.Count() > 1)?.Key; } - }*/ + } } diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index e54effbede..406229fb80 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System; -using System.Collections.Generic; using System.IO; using Microsoft.Data.DataView; using Microsoft.ML.Data; @@ -11,111 +10,61 @@ namespace Microsoft.ML.Auto.Test { - /*[TestClass] + [TestClass] public class UserInputValidationTests { - [TestMethod] - [ExpectedException(typeof(ArgumentNullException))] - public void ValidateAutoFitNullTrainData() - { - UserInputValidationUtil.ValidateAutoFitArgs(null, DatasetUtil.UciAdultLabel, - DatasetUtil.GetUciAdultDataView(), null, null); - } + private static readonly IDataView Data = DatasetUtil.GetUciAdultDataView(); [TestMethod] [ExpectedException(typeof(ArgumentNullException))] - public void ValidateAutoFitArgsNullLabel() + public void ValidateExperimentExecuteNullTrainData() { - UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), - null, DatasetUtil.GetUciAdultDataView(), null, null); + UserInputValidationUtil.ValidateExperimentExecuteArgs(null, new ColumnInformation(), null); } [TestMethod] [ExpectedException(typeof(ArgumentException))] - public void ValidateAutoFitArgsLabelNotInTrain() - { - UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), - "Label1", DatasetUtil.GetUciAdultDataView(), null, null); - } - - [TestMethod] - [ExpectedException(typeof(ArgumentOutOfRangeException))] - public void ValidateAutoFitArgsZeroMaxIterations() + public void ValidateExperimentExecuteNullLabel() { - UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), - DatasetUtil.UciAdultLabel, DatasetUtil.GetUciAdultDataView(), - new AutoFitSettings() - { - StoppingCriteria = new ExperimentStoppingCriteria() - { - MaxIterations = 0, - } - }, null); + UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, + new ColumnInformation() { LabelColumn = null }, null); } [TestMethod] [ExpectedException(typeof(ArgumentException))] - public void ValidateAutoFitArgsPurposeOverrideNullCol() + public void ValidateExperimentExecuteLabelNotInTrain() { - UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), - DatasetUtil.UciAdultLabel, DatasetUtil.GetUciAdultDataView(), - null, new List<(string, ColumnPurpose)>() - { - (null, ColumnPurpose.TextFeature) - }); + UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, + new ColumnInformation() { LabelColumn = "L" }, null); } [TestMethod] [ExpectedException(typeof(ArgumentException))] - public void ValidateAutoFitArgsPurposeOverrideColNotExist() + public void ValidateExperimentExecuteNumericColNotInTrain() { - UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), - DatasetUtil.UciAdultLabel, DatasetUtil.GetUciAdultDataView(), - null, new List<(string, ColumnPurpose)>() - { - ("IDontExist", ColumnPurpose.TextFeature) - }); + UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, + new ColumnInformation() { NumericColumns = new[] { "N" } }, null); } [TestMethod] [ExpectedException(typeof(ArgumentException))] - public void ValidateAutoFitArgsPurposeOverrideLabelMismatch() + public void ValidateExperimentExecuteNullNumericCol() { - UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), - DatasetUtil.UciAdultLabel, DatasetUtil.GetUciAdultDataView(), - null, new List<(string, ColumnPurpose)>() - { - ("Workclass", ColumnPurpose.Label) - }); + UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, + new ColumnInformation() { NumericColumns = new string[] { null } }, null); } [TestMethod] [ExpectedException(typeof(ArgumentException))] - public void ValidateAutoFitArgsPurposeOverrideDuplicateCol() - { - UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), - DatasetUtil.UciAdultLabel, DatasetUtil.GetUciAdultDataView(), - null, new List<(string, ColumnPurpose)>() - { - ("Workclass", ColumnPurpose.CategoricalFeature), - ("Workclass", ColumnPurpose.CategoricalFeature) - }); - } - - [TestMethod] - public void ValidateAutoFitArgsPurposeOverrideSuccess() + public void ValidateExperimentExecuteDuplicateCol() { - UserInputValidationUtil.ValidateAutoFitArgs(DatasetUtil.GetUciAdultDataView(), - DatasetUtil.UciAdultLabel, DatasetUtil.GetUciAdultDataView(), - null, new List<(string, ColumnPurpose)>() - { - ("Workclass", ColumnPurpose.CategoricalFeature) - }); + UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, + new ColumnInformation() { NumericColumns = new[] { DefaultColumnNames.Label } }, null); } [TestMethod] [ExpectedException(typeof(ArgumentException))] - public void ValidateAutoFitArgsTrainValidColCountMismatch() + public void ValidateExperimentExecuteArgsTrainValidColCountMismatch() { var context = new MLContext(); @@ -128,12 +77,13 @@ public void ValidateAutoFitArgsTrainValidColCountMismatch() validDataBuilder.AddColumn("0", new string[] { "0" }); var validData = validDataBuilder.GetDataView(); - UserInputValidationUtil.ValidateAutoFitArgs(trainData, "0", validData, null, null); + UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, + new ColumnInformation() { LabelColumn = "0" }, validData); } [TestMethod] [ExpectedException(typeof(ArgumentException))] - public void ValidateAutoFitArgsTrainValidColNamesMismatch() + public void ValidateExperimentExecuteArgsTrainValidColNamesMismatch() { var context = new MLContext(); @@ -147,12 +97,13 @@ public void ValidateAutoFitArgsTrainValidColNamesMismatch() validDataBuilder.AddColumn("2", new string[] { "2" }); var validData = validDataBuilder.GetDataView(); - UserInputValidationUtil.ValidateAutoFitArgs(trainData, "0", validData, null, null); + UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, + new ColumnInformation() { LabelColumn = "0" }, validData); } [TestMethod] [ExpectedException(typeof(ArgumentException))] - public void ValidateAutoFitArgsTrainValidColTypeMismatch() + public void ValidateExperimentExecuteArgsTrainValidColTypeMismatch() { var context = new MLContext(); @@ -166,7 +117,8 @@ public void ValidateAutoFitArgsTrainValidColTypeMismatch() validDataBuilder.AddColumn("1", NumberDataViewType.Single, new float[] { 1 }); var validData = validDataBuilder.GetDataView(); - UserInputValidationUtil.ValidateAutoFitArgs(trainData, "0", validData, null, null); + UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, + new ColumnInformation() { LabelColumn = "0" }, validData); } [TestMethod] @@ -203,11 +155,11 @@ public void ValidateInferColsPath() public void ValidateFeaturesColInvalidType() { var schemaBuilder = new SchemaBuilder(); - schemaBuilder.AddColumn(DefaultColumnNames.Features, NumberDataViewType.R8); + schemaBuilder.AddColumn(DefaultColumnNames.Features, NumberDataViewType.Double); schemaBuilder.AddColumn(DefaultColumnNames.Label, NumberDataViewType.Single); var schema = schemaBuilder.GetSchema(); var dataView = new EmptyDataView(new MLContext(), schema); - UserInputValidationUtil.ValidateAutoFitArgs(dataView, DefaultColumnNames.Label, null, null, null); + UserInputValidationUtil.ValidateExperimentExecuteArgs(dataView, new ColumnInformation(), null); } - }*/ + } } From b3271f64e2b12a14b06027c89bd25e4832cc3b44 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 25 Feb 2019 11:37:29 -0800 Subject: [PATCH 111/211] added console message for exit and nit picks (#215) --- src/mlnet/Commands/CommandDefinitions.cs | 2 +- src/mlnet/Commands/New/NewCommandHandler.cs | 2 +- src/mlnet/Program.cs | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 53818b3edb..864d6a7b17 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -88,7 +88,7 @@ Option Verbosity() => new Argument(defaultValue: "m").FromAmong(GetVerbositySuggestions())); Option Name() => - new Option(new List() { "--name" }, "Name of the output files(project and folder).", + new Option(new List() { "--name" }, "Name of the output files(project).", new Argument(defaultValue: "Sample")); Option OutputPath() => diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index ef2db8f02a..e584f4627e 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -74,7 +74,7 @@ public void Execute() // Save the model logger.Log(LogLevel.Info, Strings.SavingBestModel); - Utils.SaveModel(model, options.OutputPath.FullName, $"{options.Name}_model.zip", context); + Utils.SaveModel(model, options.OutputPath.FullName, $"model.zip", context); // Generate the Project GenerateProject(columnInference, pipeline, sanitized_Label_Name); diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index 5016638004..417569aa54 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -47,6 +47,7 @@ public static void Main(string[] args) parser.InvokeAsync(args).Wait(); + Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } } From 27a599d2afcc223041f60d3d2e16ab446a36201a Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 25 Feb 2019 11:46:44 -0800 Subject: [PATCH 112/211] exit when exception encountered (#216) --- src/mlnet/Commands/New/NewCommandHandler.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index e584f4627e..363b2d6fc6 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -41,6 +41,7 @@ public void Execute() logger.Log(LogLevel.Error, e.Message); logger.Log(LogLevel.Debug, e.ToString()); logger.Log(LogLevel.Error, Strings.Exiting); + return; } // Sanitize columns From 3437212cfd139a3f12853de19626cc4fd7ddf743 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Mon, 25 Feb 2019 16:08:32 -0800 Subject: [PATCH 113/211] Seal API classes (and make EnableCaching internal) (#217) --- src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs | 2 +- src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs | 4 ++-- src/Microsoft.ML.Auto/API/ColumnInference.cs | 4 ++-- src/Microsoft.ML.Auto/API/ExperimentSettings.cs | 2 +- src/Microsoft.ML.Auto/API/InferenceException.cs | 2 +- src/Microsoft.ML.Auto/API/MLContextExtension.cs | 2 -- .../API/MulticlassClassificationExperiment.cs | 4 ++-- src/Microsoft.ML.Auto/API/RegressionExperiment.cs | 4 ++-- src/Microsoft.ML.Auto/API/RunResult.cs | 2 +- 9 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs b/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs index 81150b1fb7..1f66a0aa83 100644 --- a/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs +++ b/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs @@ -6,7 +6,7 @@ namespace Microsoft.ML.Auto { - public class AutoInferenceCatalog + public sealed class AutoInferenceCatalog { private readonly MLContext _context; diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index 42ba3749ad..c51e44f08b 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -10,7 +10,7 @@ namespace Microsoft.ML.Auto { - public class BinaryExperimentSettings : ExperimentSettings + public sealed class BinaryExperimentSettings : ExperimentSettings { public IProgress> ProgressCallback; public BinaryClassificationMetric OptimizingMetric = BinaryClassificationMetric.Accuracy; @@ -42,7 +42,7 @@ public enum BinaryClassificationTrainer SymbolicStochasticGradientDescent, } - public class BinaryClassificationExperiment + public sealed class BinaryClassificationExperiment { private readonly MLContext _context; private readonly BinaryExperimentSettings _settings; diff --git a/src/Microsoft.ML.Auto/API/ColumnInference.cs b/src/Microsoft.ML.Auto/API/ColumnInference.cs index 44b6f11f6d..af02916698 100644 --- a/src/Microsoft.ML.Auto/API/ColumnInference.cs +++ b/src/Microsoft.ML.Auto/API/ColumnInference.cs @@ -7,13 +7,13 @@ namespace Microsoft.ML.Auto { - public class ColumnInferenceResults + public sealed class ColumnInferenceResults { public TextLoader.Arguments TextLoaderArgs { get; set; } public ColumnInformation ColumnInformation { get; set; } } - public class ColumnInformation + public sealed class ColumnInformation { public string LabelColumn = DefaultColumnNames.Label; public string WeightColumn; diff --git a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs index 5100ec054e..6f4d2ff4bd 100644 --- a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs +++ b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs @@ -9,9 +9,9 @@ namespace Microsoft.ML.Auto public class ExperimentSettings { public uint MaxInferenceTimeInSeconds = 24 * 60 * 60; - public bool EnableCaching; public CancellationToken CancellationToken; + internal bool EnableCaching; internal int MaxModels = int.MaxValue; internal IDebugLogger DebugLogger; } diff --git a/src/Microsoft.ML.Auto/API/InferenceException.cs b/src/Microsoft.ML.Auto/API/InferenceException.cs index c0f3516c56..423c4ae3ce 100644 --- a/src/Microsoft.ML.Auto/API/InferenceException.cs +++ b/src/Microsoft.ML.Auto/API/InferenceException.cs @@ -13,7 +13,7 @@ public enum InferenceType Label, } - public class InferenceException : Exception + public sealed class InferenceException : Exception { public InferenceType InferenceType; diff --git a/src/Microsoft.ML.Auto/API/MLContextExtension.cs b/src/Microsoft.ML.Auto/API/MLContextExtension.cs index 3bcc9f9905..0abb1369f7 100644 --- a/src/Microsoft.ML.Auto/API/MLContextExtension.cs +++ b/src/Microsoft.ML.Auto/API/MLContextExtension.cs @@ -2,8 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System.Threading; - namespace Microsoft.ML.Auto { public static class MLContextExtension diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index ec544e4811..d553f904ef 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -10,7 +10,7 @@ namespace Microsoft.ML.Auto { - public class MulticlassExperimentSettings : ExperimentSettings + public sealed class MulticlassExperimentSettings : ExperimentSettings { public IProgress> ProgressCallback; public MulticlassClassificationMetric OptimizingMetric = MulticlassClassificationMetric.AccuracyMicro; @@ -40,7 +40,7 @@ public enum MulticlassClassificationTrainer SymbolicStochasticGradientDescentOVA, } - public class MulticlassClassificationExperiment + public sealed class MulticlassClassificationExperiment { private readonly MLContext _context; private readonly MulticlassExperimentSettings _settings; diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index d044c8d180..dfb49e80a7 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -10,7 +10,7 @@ namespace Microsoft.ML.Auto { - public class RegressionExperimentSettings : ExperimentSettings + public sealed class RegressionExperimentSettings : ExperimentSettings { public IProgress> ProgressCallback; public RegressionMetric OptimizingMetric = RegressionMetric.RSquared; @@ -37,7 +37,7 @@ public enum RegressionTrainer StochasticDualCoordinateAscent, } - public class RegressionExperiment + public sealed class RegressionExperiment { private readonly MLContext _context; private readonly RegressionExperimentSettings _settings; diff --git a/src/Microsoft.ML.Auto/API/RunResult.cs b/src/Microsoft.ML.Auto/API/RunResult.cs index 2de2686130..5e3be21a3b 100644 --- a/src/Microsoft.ML.Auto/API/RunResult.cs +++ b/src/Microsoft.ML.Auto/API/RunResult.cs @@ -7,7 +7,7 @@ namespace Microsoft.ML.Auto { - public class RunResult + public sealed class RunResult { public readonly T Metrics; public readonly ITransformer Model; From 0aa5d0fab7088ad28e75d933b39ef1bece0d128e Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Mon, 25 Feb 2019 16:13:00 -0800 Subject: [PATCH 114/211] Suggested sample nits (feel free to ask for any of these to be reverted) (#219) --- .../API/BinaryClassificationExperiment.cs | 4 +- .../API/MulticlassClassificationExperiment.cs | 4 +- .../API/RegressionExperiment.cs | 4 +- src/Samples/AutoTrainBinaryClassification.cs | 22 +++-- .../AutoTrainMulticlassClassification.cs | 19 ++--- src/Samples/AutoTrainRegression.cs | 26 +++--- src/Samples/Cancellation.cs | 16 ++-- src/Samples/CustomizeTraining.cs | 14 ++-- src/Samples/Data/README.md | 82 ++----------------- ...{ProgressHandler.cs => ObserveProgress.cs} | 22 ++--- src/Samples/Program.cs | 2 +- src/mlnet/Commands/New/NewCommandHandler.cs | 4 +- 12 files changed, 71 insertions(+), 148 deletions(-) rename src/Samples/{ProgressHandler.cs => ObserveProgress.cs} (84%) diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index c51e44f08b..a014feb8c6 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -12,7 +12,7 @@ namespace Microsoft.ML.Auto { public sealed class BinaryExperimentSettings : ExperimentSettings { - public IProgress> ProgressCallback; + public IProgress> ProgressHandler; public BinaryClassificationMetric OptimizingMetric = BinaryClassificationMetric.Accuracy; public BinaryClassificationTrainer[] WhitelistedTrainers; } @@ -85,7 +85,7 @@ internal IEnumerable> Execute(MLContext c // run autofit & get all pipelines run in that process var experiment = new Experiment(context, TaskKind.BinaryClassification, trainData, columnInfo, - validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), _settings.ProgressCallback, + validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), _settings.ProgressHandler, _settings, new BinaryMetricsAgent(_settings.OptimizingMetric), TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index d553f904ef..d60515959f 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -12,7 +12,7 @@ namespace Microsoft.ML.Auto { public sealed class MulticlassExperimentSettings : ExperimentSettings { - public IProgress> ProgressCallback; + public IProgress> ProgressHandler; public MulticlassClassificationMetric OptimizingMetric = MulticlassClassificationMetric.AccuracyMicro; public MulticlassClassificationTrainer[] WhitelistedTrainers; } @@ -84,7 +84,7 @@ internal IEnumerable> Execute(MLContext c // run autofit & get all pipelines run in that process var experiment = new Experiment(context, TaskKind.MulticlassClassification, trainData, columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), - _settings.ProgressCallback, _settings, new MultiMetricsAgent(_settings.OptimizingMetric), + _settings.ProgressHandler, _settings, new MultiMetricsAgent(_settings.OptimizingMetric), TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); return experiment.Execute(); diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index dfb49e80a7..96c733e649 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -12,7 +12,7 @@ namespace Microsoft.ML.Auto { public sealed class RegressionExperimentSettings : ExperimentSettings { - public IProgress> ProgressCallback; + public IProgress> ProgressHandler; public RegressionMetric OptimizingMetric = RegressionMetric.RSquared; public RegressionTrainer[] WhitelistedTrainers; } @@ -81,7 +81,7 @@ internal IEnumerable> Execute(MLContext context, // run autofit & get all pipelines run in that process var experiment = new Experiment(context, TaskKind.Regression, trainData, columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), - _settings.ProgressCallback, _settings, new RegressionMetricsAgent(_settings.OptimizingMetric), + _settings.ProgressHandler, _settings, new RegressionMetricsAgent(_settings.OptimizingMetric), TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); return experiment.Execute(); diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index b0ec6e3793..a6467b9810 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -3,9 +3,7 @@ // See the LICENSE file in the project root for more information. using System; -using System.Collections.Generic; using System.IO; -using System.Linq; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; @@ -19,40 +17,40 @@ public class AutoTrainBinaryClassification private static string TrainDataPath = $"{BaseDatasetsLocation}/wikipedia-detox-250-line-data.tsv"; private static string TestDataPath = $"{BaseDatasetsLocation}/wikipedia-detox-250-line-test.tsv"; private static string ModelPath = $"{BaseDatasetsLocation}/SentimentModel.zip"; - private static string LabelColumnName = "Sentiment"; + private static string LabelColumn = "Sentiment"; public static void Run() { MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumnName); + var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumn); // STEP 2: Load data TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); IDataView trainDataView = textLoader.Read(TrainDataPath); IDataView testDataView = textLoader.Read(TestDataPath); - // STEP 3: Auto featurize, auto train and auto hyperparameter tuning - Console.WriteLine($"Invoking BinaryClassification.AutoFit"); - var autoFitResults = mlContext.AutoInference() + // STEP 3: Auto featurize, auto train and auto hyperparameter tune + Console.WriteLine($"Invoking new AutoML binary classification experiment..."); + var runResults = mlContext.AutoInference() .CreateBinaryClassificationExperiment(60) - .Execute(trainDataView, LabelColumnName); + .Execute(trainDataView, LabelColumn); // STEP 4: Print metric from the best model - var best = autoFitResults.Best(); + var best = runResults.Best(); Console.WriteLine($"Accuracy of best model from validation data: {best.Metrics.Accuracy}"); // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); - var testMetrics = mlContext.BinaryClassification.EvaluateNonCalibrated(testDataViewWithBestScore, label: LabelColumnName, DefaultColumnNames.Score); - Console.WriteLine($"Accuracy of best model from test data: {best.Metrics.Accuracy}"); + var testMetrics = mlContext.BinaryClassification.EvaluateNonCalibrated(testDataViewWithBestScore, label: LabelColumn); + Console.WriteLine($"Accuracy of best model on test data: {best.Metrics.Accuracy}"); // STEP 6: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) best.Model.SaveTo(mlContext, fs); - Console.WriteLine("Press any key to continue.."); + Console.WriteLine("Press any key to continue..."); Console.ReadLine(); } } diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index e90b9db0ec..359c2ae475 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -3,9 +3,7 @@ // See the LICENSE file in the project root for more information. using System; -using System.Collections.Generic; using System.IO; -using System.Linq; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; @@ -19,40 +17,39 @@ public class AutoTrainMulticlassClassification private static string TrainDataPath = $"{BaseDatasetsLocation}/iris-train.txt"; private static string TestDataPath = $"{BaseDatasetsLocation}/iris-test.txt"; private static string ModelPath = $"{BaseDatasetsLocation}/IrisClassificationModel.zip"; - private static string LabelColumnName = "Label"; public static void Run() { MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumnName); + var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath); // STEP 2: Load data TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); IDataView trainDataView = textLoader.Read(TrainDataPath); IDataView testDataView = textLoader.Read(TestDataPath); - // STEP 3: Auto featurize, auto train and auto hyperparameter tuning - Console.WriteLine($"Invoking MulticlassClassification.AutoFit"); - var autoFitResults = mlContext.AutoInference() + // STEP 3: Auto featurize, auto train and auto hyperparameter tune + Console.WriteLine($"Invoking new AutoML multiclass classification experiment..."); + var runResults = mlContext.AutoInference() .CreateMulticlassClassificationExperiment(60) .Execute(trainDataView); // STEP 4: Print metric from the best model - var best = autoFitResults.Best(); + var best = runResults.Best(); Console.WriteLine($"AccuracyMacro of best model from validation data: {best.Metrics.AccuracyMacro}"); // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); - var testMetrics = mlContext.MulticlassClassification.Evaluate(testDataViewWithBestScore, label: LabelColumnName, DefaultColumnNames.Score); - Console.WriteLine($"AccuracyMacro of best model from test data: {best.Metrics.AccuracyMacro}"); + var testMetrics = mlContext.MulticlassClassification.Evaluate(testDataViewWithBestScore); + Console.WriteLine($"AccuracyMacro of best model on test data: {best.Metrics.AccuracyMacro}"); // STEP 6: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) best.Model.SaveTo(mlContext, fs); - Console.WriteLine("Press any key to continue.."); + Console.WriteLine("Press any key to continue..."); Console.ReadLine(); } } diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index a3d3993df5..97f4848d74 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -3,9 +3,7 @@ // See the LICENSE file in the project root for more information. using System; -using System.Collections.Generic; using System.IO; -using System.Linq; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; @@ -19,40 +17,40 @@ static class AutoTrainRegression private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; - private static string LabelColumnName = "fare_amount"; + private static string LabelColumn = "fare_amount"; public static void Run() { MLContext mlContext = new MLContext(); - // STEP 1: Common data loading configuration - var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumnName); + // STEP 1: Infer columns + var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumn); // STEP 2: Load data TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); IDataView trainDataView = textLoader.Read(TrainDataPath); IDataView testDataView = textLoader.Read(TestDataPath); - // STEP 3: Auto featurize, auto train and auto hyperparameter tuning - Console.WriteLine($"Invoking Regression.AutoFit"); - var autoFitResults = mlContext.AutoInference() + // STEP 3: Auto featurize, auto train and auto hyperparameter tune + Console.WriteLine($"Invoking new AutoML regression experiment..."); + var runResults = mlContext.AutoInference() .CreateRegressionExperiment(0) - .Execute(trainDataView, LabelColumnName); + .Execute(trainDataView, LabelColumn); - // STEP 4: Compare and print actual value vs predicted value for top 5 rows from validation data - var best = autoFitResults.Best(); + // STEP 4: Print metric from best model + var best = runResults.Best(); Console.WriteLine($"RSquared of best model from validation data: {best.Metrics.RSquared}"); // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); - var testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: LabelColumnName, DefaultColumnNames.Score); - Console.WriteLine($"RSquared of best model from test data: {best.Metrics.RSquared}"); + var testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: LabelColumn); + Console.WriteLine($"RSquared of best model on test data: {best.Metrics.RSquared}"); // STEP 6: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) best.Model.SaveTo(mlContext, fs); - Console.WriteLine("Press any key to continue.."); + Console.WriteLine("Press any key to continue..."); Console.ReadLine(); } } diff --git a/src/Samples/Cancellation.cs b/src/Samples/Cancellation.cs index 67b481343a..f4d56f16ef 100644 --- a/src/Samples/Cancellation.cs +++ b/src/Samples/Cancellation.cs @@ -19,14 +19,14 @@ static class Cancellation private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; - private static string LabelColumnName = "fare_amount"; + private static string LabelColumn = "fare_amount"; public static void Run() { MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumnName, ','); + var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumn, ','); // STEP 2: Load data TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); @@ -39,19 +39,19 @@ public static void Run() Stopwatch watch = Stopwatch.StartNew(); - // STEP 3: Autofit with a cancellation token - Console.WriteLine($"Invoking Regression.AutoFit"); - var autoFitResults = mlContext.AutoInference() + // STEP 3: Auto inference with a cancellation token + Console.WriteLine($"Invoking new AutoML regression experiment..."); + var runResults = mlContext.AutoInference() .CreateRegressionExperiment(new RegressionExperimentSettings() { MaxInferenceTimeInSeconds = 60, CancellationToken = cts.Token }) - .Execute(trainDataView, LabelColumnName); + .Execute(trainDataView, LabelColumn); - Console.WriteLine($"{autoFitResults.Count()} models were returned after {cancelAfterInSeconds} seconds"); + Console.WriteLine($"{runResults.Count()} models were returned after {cancelAfterInSeconds} seconds"); - Console.WriteLine("Press any key to continue.."); + Console.WriteLine("Press any key to continue..."); Console.ReadLine(); } } diff --git a/src/Samples/CustomizeTraining.cs b/src/Samples/CustomizeTraining.cs index 7e596258b1..017798bca4 100644 --- a/src/Samples/CustomizeTraining.cs +++ b/src/Samples/CustomizeTraining.cs @@ -16,31 +16,31 @@ static class CustomizeTraining private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; - private static string LabelColumnName = "fare_amount"; + private static string LabelColumn = "fare_amount"; public static void Run() { MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumnName, ','); + var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumn, ','); // STEP 2: Load data TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); IDataView trainDataView = textLoader.Read(TrainDataPath); IDataView testDataView = textLoader.Read(TestDataPath); - // STEP 3: Autofit with a callback configured - var autoFitExperiment = mlContext.AutoInference().CreateRegressionExperiment(new RegressionExperimentSettings() + // STEP 3: Auto inference with a callback configured + var autoExperiment = mlContext.AutoInference().CreateRegressionExperiment(new RegressionExperimentSettings() { MaxInferenceTimeInSeconds = 20, OptimizingMetric = RegressionMetric.L2, WhitelistedTrainers = new[] { RegressionTrainer.LightGbm }, - ProgressCallback = new Progress() + ProgressHandler = new ProgressHandler() }); - autoFitExperiment.Execute(trainDataView, LabelColumnName); + autoExperiment.Execute(trainDataView, LabelColumn); - Console.WriteLine("Press any key to continue.."); + Console.WriteLine("Press any key to continue..."); Console.ReadLine(); } } diff --git a/src/Samples/Data/README.md b/src/Samples/Data/README.md index a5e2870da4..cd5d3b811d 100644 --- a/src/Samples/Data/README.md +++ b/src/Samples/Data/README.md @@ -16,33 +16,15 @@ The datasets are provided under the original terms that Microsoft received such > >Original readme: https://meta.wikimedia.org/wiki/Research:Detox -### Digits -> This dataset is provided under http://archive.ics.uci.edu/ml/datasets/Optical+Recognition+of+Handwritten+Digits. -> -> References: C. Kaynak (1995) Methods of Combining Multiple Classifiers and Their Applications to Handwritten Digit Recognition, MSc Thesis, Institute of Graduate Studies in Science and Engineering, Bogazici University. -> E. Alpaydin, C. Kaynak (1998) Cascading Classifiers, Kybernetika. - -### UCI Adult Dataset - ->Dua, D. and Karra Taniskidou, E. (2017). UCI Machine Learning Repository [https://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science. -> ->https://archive.ics.uci.edu/ml/datasets/Adult - -### Breast Cancer Wisconsin - -Redistributing the dataset "breast-cancer.txt" with attribution: +### UCI Iris Flower Dataset -> O. L. Mangasarian and W. H. Wolberg: "Cancer diagnosis via linear programming", SIAM News, Volume 23, Number 5, September 1990, pp 1 & 18. +>Redistributing the datasets "iris-test.txt" and "iris-train.txt" with attribution: > -> Original source: http://ftp.cs.wisc.edu:80/math-prog/cpo-dataset/machine-learn/cancer/cancer1/datacum +>Dua, D. and Karra Taniskidou, E. (2017). UCI Machine Learning Repository [https://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science. > -> Original readme: http://ftp.cs.wisc.edu/math-prog/cpo-dataset/machine-learn/cancer/cancer1/data.doc - -### MNIST - -> MNIST data originally from [NIST](https://www.nist.gov) and modified by Chris Burges, Corinna Cortes, and Yann LeCun. http://yann.lecun.com/exdb/mnist/ +>With modifications to "iris.txt" by changing the separator character, order of columns, and numerical encoding of labels. > -> More information: https://en.wikipedia.org/wiki/MNIST_database +>https://archive.ics.uci.edu/ml/datasets/iris ### NYC Taxi Fare @@ -50,56 +32,4 @@ Redistributing the dataset "taxi-fare-test.csv", "taxi-fare-train.csv" with attr > Original source: https://www.nyc.gov/html/tlc/html/about/trip_record_data.shtml > -> The dataset is provided under terms provided by City of New York: https://opendata.cityofnewyork.us/overview/#termsofuse. - -### MSLR-WEB10K, MSLR-WEB30K - -This dataset is originally from [Introducing LETOR 4.0 Datasets](https://arxiv.org/abs/1306.2597). -The dataset is under a CC-by 4.0 license. -``` -@article{DBLP:journals/corr/QinL13, - author = {Tao Qin and - Tie{-}Yan Liu}, - title = {Introducing {LETOR} 4.0 Datasets}, - journal = {CoRR}, - volume = {abs/1306.2597}, - year = {2013}, - url = {https://arxiv.org/abs/1306.2597}, - timestamp = {Mon, 01 Jul 2013 20:31:25 +0200}, - biburl = {https://dblp.uni-trier.de/rec/bib/journals/corr/QinL13}, - bibsource = {dblp computer science bibliography, https://dblp.org} -} -``` - -### Boston Housing Data - -Redistributing the dataset "[housing.txt](housing.txt)" with attribution: - - > Harrison, D. and Rubinfeld, D.L. 'Hedonic prices and the demand for clean air', J. Environ. Economics & Management, vol.5, 81-102, 1978. - -More information: https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.names - -### Air Quality - -This dataset is from the R documentation: [New York Air Quality Measurements]https://stat.ethz.ch/R-manual/R-devel/library/datasets/html/airquality.html -The data were obtained from the New York State Department of Conservation (ozone data) and the National Weather Service (meteorological data). -References: Chambers, J. M., Cleveland, W. S., Kleiner, B. and Tukey, P. A. (1983) Graphical Methods for Data Analysis. Belmont, CA: Wadsworth. - -The dataset is distributed under [GPLv2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) - -### Infertility - -This dataset is from the R documentation: [Infertility after Spontaneous and Induced Abortion]https://stat.ethz.ch/R-manual/R-devel/library/datasets/html/infert.html -Original source: Trichopoulos et al (1976) Br. J. of Obst. and Gynaec. 83, 645–650. - -The dataset is distributed under [GPLv2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) - -# Images - -### Located in `images` folder - -> "[Banana and cross section](https://commons.wikimedia.org/wiki/File:Banana_and_cross_section.jpg)" by [fir0002](https://en.wikipedia.org/wiki/User:Fir0002) is licensed under the [CC BY-NC](https://creativecommons.org/licenses/by/2.0/) -> -> "[Hot dog with mustard](https://visualsonline.cancer.gov/details.cfm?imageid=2669)" by Renee Comet is in the public domain - this image was released by the [National Cancer Institute](https://visualsonline.cancer.gov/details.cfm?imageid=2669) -> -> "[Bright red tomato and cross section02](https://upload.wikimedia.org/wikipedia/commons/8/88/Bright_red_tomato_and_cross_section02.jpg)" by [fir0002](https://en.wikipedia.org/wiki/User:Fir0002) is licensed under the [CC BY-NC](https://creativecommons.org/licenses/by/2.0/) \ No newline at end of file +> The dataset is provided under terms provided by City of New York: https://opendata.cityofnewyork.us/overview/#termsofuse. \ No newline at end of file diff --git a/src/Samples/ProgressHandler.cs b/src/Samples/ObserveProgress.cs similarity index 84% rename from src/Samples/ProgressHandler.cs rename to src/Samples/ObserveProgress.cs index 94d945bb5b..6f354b4129 100644 --- a/src/Samples/ProgressHandler.cs +++ b/src/Samples/ObserveProgress.cs @@ -10,43 +10,43 @@ namespace Samples { - static class ProgressHandler + static class ObserveProgress { private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; - private static string LabelColumnName = "fare_amount"; + private static string LabelColumn = "fare_amount"; public static void Run() { MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumnName, ','); + var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumn, ','); // STEP 2: Load data TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); IDataView trainDataView = textLoader.Read(TrainDataPath); IDataView testDataView = textLoader.Read(TestDataPath); - // STEP 3: Autofit with a callback configured - var autoFitExperiment = mlContext.AutoInference().CreateRegressionExperiment(new RegressionExperimentSettings() + // STEP 3: Auto inference with a callback configured + var autoExperiment = mlContext.AutoInference().CreateRegressionExperiment(new RegressionExperimentSettings() { - MaxInferenceTimeInSeconds = 1, - ProgressCallback = new Progress() + MaxInferenceTimeInSeconds = 20, + ProgressHandler = new ProgressHandler() }); - autoFitExperiment.Execute(trainDataView, LabelColumnName); + autoExperiment.Execute(trainDataView, LabelColumn); - Console.WriteLine("Press any key to continue.."); + Console.WriteLine("Press any key to continue..."); Console.ReadLine(); } } - class Progress : IProgress> + class ProgressHandler : IProgress> { int iterationIndex; - public Progress() + public ProgressHandler() { ConsolePrinter.PrintRegressionMetricsHeader(); } diff --git a/src/Samples/Program.cs b/src/Samples/Program.cs index 4e01f81c84..19c8d2ab2f 100644 --- a/src/Samples/Program.cs +++ b/src/Samples/Program.cs @@ -15,7 +15,7 @@ public static void Main(string[] args) Cancellation.Run(); Console.Clear(); - ProgressHandler.Run(); + ObserveProgress.Run(); Console.Clear(); AutoTrainRegression.Run(); diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index 363b2d6fc6..e490c55972 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -131,7 +131,7 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p .CreateBinaryClassificationExperiment(new BinaryExperimentSettings() { MaxInferenceTimeInSeconds = options.MaxExplorationTime, - ProgressCallback = progressReporter + ProgressHandler = progressReporter }) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); @@ -147,7 +147,7 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p .CreateRegressionExperiment(new RegressionExperimentSettings() { MaxInferenceTimeInSeconds = options.MaxExplorationTime, - ProgressCallback = progressReporter + ProgressHandler = progressReporter }).Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); var bestIteration = result.Best(); From b629d7827b1c76fc5f52932b0913a8ccc7330ee6 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Mon, 25 Feb 2019 17:31:19 -0800 Subject: [PATCH 115/211] User input column type validation (#218) --- .../Utils/UserInputValidationUtil.cs | 72 ++++++++++++++----- src/Test/UserInputValidationTests.cs | 16 +++++ 2 files changed, 71 insertions(+), 17 deletions(-) diff --git a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs index 9dac0d5c86..a447188532 100644 --- a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs @@ -13,6 +13,14 @@ namespace Microsoft.ML.Auto { internal static class UserInputValidationUtil { + // column purpose names + private const string LabelColumnPurposeName = "label"; + private const string WeightColumnPurposeName = "weight"; + private const string NumericColumnPurposeName = "numeric"; + private const string CategoricalColumnPurposeName = "categorical"; + private const string TextColumnPurposeName = "text"; + private const string IgnoredColumnPurposeName = "ignored"; + public static void ValidateExperimentExecuteArgs(IDataView trainData, ColumnInformation columnInformation, IDataView validationData) { @@ -55,22 +63,25 @@ private static void ValidateTrainData(IDataView trainData) private static void ValidateColumnInformation(IDataView trainData, ColumnInformation columnInformation) { ValidateColumnInformation(columnInformation); - ValidateTrainDataColumnExists(trainData, columnInformation.LabelColumn); - ValidateTrainDataColumnExists(trainData, columnInformation.WeightColumn); - ValidateTrainDataColumnsExist(trainData, columnInformation.CategoricalColumns); - ValidateTrainDataColumnsExist(trainData, columnInformation.NumericColumns); - ValidateTrainDataColumnsExist(trainData, columnInformation.TextColumns); - ValidateTrainDataColumnsExist(trainData, columnInformation.IgnoredColumns); + ValidateTrainDataColumn(trainData, columnInformation.LabelColumn, LabelColumnPurposeName); + ValidateTrainDataColumn(trainData, columnInformation.WeightColumn, WeightColumnPurposeName); + ValidateTrainDataColumns(trainData, columnInformation.CategoricalColumns, CategoricalColumnPurposeName, + new DataViewType[] { NumberDataViewType.Single, TextDataViewType.Instance }); + ValidateTrainDataColumns(trainData, columnInformation.NumericColumns, NumericColumnPurposeName, + new DataViewType[] { NumberDataViewType.Single, BooleanDataViewType.Instance }); + ValidateTrainDataColumns(trainData, columnInformation.TextColumns, TextColumnPurposeName, + new DataViewType[] { TextDataViewType.Instance }); + ValidateTrainDataColumns(trainData, columnInformation.IgnoredColumns, IgnoredColumnPurposeName); } private static void ValidateColumnInformation(ColumnInformation columnInformation) { ValidateLabelColumn(columnInformation.LabelColumn); - ValidateColumnInfoEnumerationProperty(columnInformation.CategoricalColumns, "categorical"); - ValidateColumnInfoEnumerationProperty(columnInformation.NumericColumns, "numeric"); - ValidateColumnInfoEnumerationProperty(columnInformation.TextColumns, "text"); - ValidateColumnInfoEnumerationProperty(columnInformation.IgnoredColumns, "ignored"); + ValidateColumnInfoEnumerationProperty(columnInformation.CategoricalColumns, CategoricalColumnPurposeName); + ValidateColumnInfoEnumerationProperty(columnInformation.NumericColumns, NumericColumnPurposeName); + ValidateColumnInfoEnumerationProperty(columnInformation.TextColumns, TextColumnPurposeName); + ValidateColumnInfoEnumerationProperty(columnInformation.IgnoredColumns, IgnoredColumnPurposeName); // keep a list of all columns, to detect duplicates var allColumns = new List(); @@ -88,11 +99,11 @@ private static void ValidateColumnInformation(ColumnInformation columnInformatio } } - private static void ValidateColumnInfoEnumerationProperty(IEnumerable columns, string propertyName) + private static void ValidateColumnInfoEnumerationProperty(IEnumerable columns, string columnPurpose) { if (columns?.Contains(null) == true) { - throw new ArgumentException($"Null column string was specified as {propertyName} in column information"); + throw new ArgumentException($"Null column string was specified as {columnPurpose} in column information"); } } @@ -155,7 +166,8 @@ private static void ValidateValidationData(IDataView trainData, IDataView valida } } - private static void ValidateTrainDataColumnsExist(IDataView trainData, IEnumerable columnNames) + private static void ValidateTrainDataColumns(IDataView trainData, IEnumerable columnNames, string columnPurpose, + IEnumerable allowedTypes = null) { if (columnNames == null) { @@ -164,15 +176,41 @@ private static void ValidateTrainDataColumnsExist(IDataView trainData, IEnumerab foreach (var columnName in columnNames) { - ValidateTrainDataColumnExists(trainData, columnName); + ValidateTrainDataColumn(trainData, columnName, columnPurpose, allowedTypes); } } - private static void ValidateTrainDataColumnExists(IDataView trainData, string columnName) + private static void ValidateTrainDataColumn(IDataView trainData, string columnName, string columnPurpose, IEnumerable allowedTypes = null) { - if (columnName != null && trainData.Schema.GetColumnOrNull(columnName) == null) + if (columnName == null) + { + return; + } + + var nullableColumn = trainData.Schema.GetColumnOrNull(columnName); + if (nullableColumn == null) + { + throw new ArgumentException($"Provided {columnPurpose} column {columnName} '{columnName}' not found in training data."); + } + + if(allowedTypes == null) { - throw new ArgumentException($"Provided column '{columnName}' not found in training data."); + return; + } + var column = nullableColumn.Value; + var itemType = column.Type.GetItemType(); + if (!allowedTypes.Contains(itemType)) + { + if (allowedTypes.Count() == 1) + { + throw new ArgumentException($"Provided {columnPurpose} column '{columnName}' was of type {itemType}, " + + $"but only type {allowedTypes.First()} is allowed."); + } + else + { + throw new ArgumentException($"Provided {columnPurpose} column '{columnName}' was of type {itemType}, " + + $"but only types {string.Join(", ", allowedTypes)} are allowed."); + } } } diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index 406229fb80..49eee14080 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -161,5 +161,21 @@ public void ValidateFeaturesColInvalidType() var dataView = new EmptyDataView(new MLContext(), schema); UserInputValidationUtil.ValidateExperimentExecuteArgs(dataView, new ColumnInformation(), null); } + + [TestMethod] + [ExpectedException(typeof(ArgumentException))] + public void ValidateTextColumnNotText() + { + const string TextPurposeColName = "TextColumn"; + var schemaBuilder = new SchemaBuilder(); + schemaBuilder.AddColumn(DefaultColumnNames.Features, NumberDataViewType.Single); + schemaBuilder.AddColumn(DefaultColumnNames.Label, NumberDataViewType.Single); + schemaBuilder.AddColumn(TextPurposeColName, NumberDataViewType.Double); + var schema = schemaBuilder.GetSchema(); + var dataView = new EmptyDataView(new MLContext(), schema); + UserInputValidationUtil.ValidateExperimentExecuteArgs(dataView, + new ColumnInformation() { TextColumns = new[] { TextPurposeColName } }, + null); + } } } From 8463bae5e4a867968304d4bca57450f904cc285e Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 25 Feb 2019 20:14:50 -0800 Subject: [PATCH 116/211] upgrade commandline and renaming (#221) * upgrade commandline and renaming * renaming fields --- .../ConsoleCodeGeneratorTests.cs | 6 +-- src/mlnet.Test/CommandLineTests.cs | 8 ++-- .../CodeGenerator/CSharp/CodeGenerator.cs | 26 ++++++------ ...torOptions.cs => CodeGeneratorSettings.cs} | 2 +- src/mlnet/Commands/New/NewCommandHandler.cs | 40 +++++++++---------- ...ommandOptions.cs => NewCommandSettings.cs} | 2 +- src/mlnet/Program.cs | 2 +- src/mlnet/mlnet.csproj | 2 +- 8 files changed, 44 insertions(+), 44 deletions(-) rename src/mlnet/CodeGenerator/CSharp/{CodeGeneratorOptions.cs => CodeGeneratorSettings.cs} (91%) rename src/mlnet/Commands/New/{NewCommandOptions.cs => NewCommandSettings.cs} (95%) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index c2580fcb5f..0ac3107435 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -28,7 +28,7 @@ public void GeneratedTrainCodeTest() (Pipeline pipeline, ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); - var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorOptions() + var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { MlTask = TaskKind.BinaryClassification, OutputBaseDir = null, @@ -51,7 +51,7 @@ public void GeneratedProjectCodeTest() (Pipeline pipeline, ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); - var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorOptions() + var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { MlTask = TaskKind.BinaryClassification, OutputBaseDir = null, @@ -74,7 +74,7 @@ public void GeneratedHelperCodeTest() (Pipeline pipeline, ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); - var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorOptions() + var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { MlTask = TaskKind.BinaryClassification, OutputBaseDir = null, diff --git a/src/mlnet.Test/CommandLineTests.cs b/src/mlnet.Test/CommandLineTests.cs index 6ed8a622d4..4019887fde 100644 --- a/src/mlnet.Test/CommandLineTests.cs +++ b/src/mlnet.Test/CommandLineTests.cs @@ -20,7 +20,7 @@ public void TestMinimumCommandLineArgs() bool parsingSuccessful = false; // Create handler outside so that commandline and the handler is decoupled and testable. - var handler = CommandHandler.Create( + var handler = CommandHandler.Create( (opt) => { parsingSuccessful = true; @@ -48,7 +48,7 @@ public void TestCommandLineArgsFailTest() bool parsingSuccessful = false; // Create handler outside so that commandline and the handler is decoupled and testable. - var handler = CommandHandler.Create( + var handler = CommandHandler.Create( (opt) => { parsingSuccessful = true; @@ -100,7 +100,7 @@ public void TestCommandLineArgsValuesTest() var falseString = "false"; // Create handler outside so that commandline and the handler is decoupled and testable. - var handler = CommandHandler.Create( + var handler = CommandHandler.Create( (opt) => { parsingSuccessful = true; @@ -141,7 +141,7 @@ public void TestCommandLineArgsMutuallyExclusiveArgsTest() var labelName = "Label"; // Create handler outside so that commandline and the handler is decoupled and testable. - var handler = CommandHandler.Create( + var handler = CommandHandler.Create( (opt) => { parsingSuccessful = true; diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index 016560bf11..74bb8274b5 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -20,14 +20,14 @@ namespace Microsoft.ML.CLI.CodeGenerator.CSharp internal class CodeGenerator : IProjectGenerator { private readonly Pipeline pipeline; - private readonly CodeGeneratorOptions options; + private readonly CodeGeneratorSettings settings; private readonly ColumnInferenceResults columnInferenceResult; - internal CodeGenerator(Pipeline pipeline, ColumnInferenceResults columnInferenceResult, CodeGeneratorOptions options) + internal CodeGenerator(Pipeline pipeline, ColumnInferenceResults columnInferenceResult, CodeGeneratorSettings settings) { this.pipeline = pipeline; this.columnInferenceResult = columnInferenceResult; - this.options = options; + this.settings = settings; } public void GenerateOutput() @@ -51,7 +51,7 @@ public void GenerateOutput() var classLabels = this.GenerateClassLabels(); // Get Namespace - var namespaceValue = Utils.Normalize(options.OutputName); + var namespaceValue = Utils.Normalize(settings.OutputName); // Generate code for training and scoring var trainFileContent = GenerateTrainCode(usings, trainer, transforms, columns, classLabels, namespaceValue); @@ -70,13 +70,13 @@ public void GenerateOutput() internal void WriteOutputToFiles(string trainScoreCode, string projectSourceCode, string consoleHelperCode) { - if (!Directory.Exists(options.OutputBaseDir)) + if (!Directory.Exists(settings.OutputBaseDir)) { - Directory.CreateDirectory(options.OutputBaseDir); + Directory.CreateDirectory(settings.OutputBaseDir); } - File.WriteAllText($"{options.OutputBaseDir}/Program.cs", trainScoreCode); - File.WriteAllText($"{options.OutputBaseDir}/{options.OutputName}.csproj", projectSourceCode); - File.WriteAllText($"{options.OutputBaseDir}/ConsoleHelper.cs", consoleHelperCode); + File.WriteAllText($"{settings.OutputBaseDir}/Program.cs", trainScoreCode); + File.WriteAllText($"{settings.OutputBaseDir}/{settings.OutputName}.csproj", projectSourceCode); + File.WriteAllText($"{settings.OutputBaseDir}/ConsoleHelper.cs", consoleHelperCode); } internal static string GenerateConsoleHelper(string namespaceValue) @@ -105,11 +105,11 @@ internal string GenerateTrainCode(string usings, string trainer, List tr Trainer = trainer, ClassLabels = classLabels, GeneratedUsings = usings, - Path = options.TrainDataset.FullName, - TestPath = options.TestDataset?.FullName, - TaskType = options.MlTask.ToString(), + Path = settings.TrainDataset.FullName, + TestPath = settings.TestDataset?.FullName, + TaskType = settings.MlTask.ToString(), Namespace = namespaceValue, - LabelName = options.LabelName + LabelName = settings.LabelName }; return trainingAndScoringCodeGen.TransformText(); diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGeneratorOptions.cs b/src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs similarity index 91% rename from src/mlnet/CodeGenerator/CSharp/CodeGeneratorOptions.cs rename to src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs index a75c4e465b..8b5751de4a 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGeneratorOptions.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs @@ -3,7 +3,7 @@ namespace Microsoft.ML.CLI.CodeGenerator.CSharp { - internal class CodeGeneratorOptions + internal class CodeGeneratorSettings { public string LabelName { get; internal set; } internal string OutputName { get; set; } diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index e490c55972..4ab32b6d4b 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -15,14 +15,14 @@ namespace Microsoft.ML.CLI.Commands.New { internal class NewCommand : ICommand { - private NewCommandOptions options; + private NewCommandSettings settings; private static Logger logger = LogManager.GetCurrentClassLogger(); private TaskKind taskKind; - internal NewCommand(NewCommandOptions options) + internal NewCommand(NewCommandSettings settings) { - this.options = options; - this.taskKind = Utils.GetTaskKind(options.MlTask); + this.settings = settings; + this.taskKind = Utils.GetTaskKind(settings.MlTask); } public void Execute() @@ -54,7 +54,7 @@ public void Execute() // Explore the models (Pipeline, ITransformer) result = default; - Console.WriteLine($"{Strings.ExplorePipeline}: {options.MlTask}"); + Console.WriteLine($"{Strings.ExplorePipeline}: {settings.MlTask}"); try { result = ExploreModels(context, trainData, validationData, sanitized_Label_Name); @@ -75,7 +75,7 @@ public void Execute() // Save the model logger.Log(LogLevel.Info, Strings.SavingBestModel); - Utils.SaveModel(model, options.OutputPath.FullName, $"model.zip", context); + Utils.SaveModel(model, settings.OutputPath.FullName, $"model.zip", context); // Generate the Project GenerateProject(columnInference, pipeline, sanitized_Label_Name); @@ -86,14 +86,14 @@ internal ColumnInferenceResults InferColumns(MLContext context) //Check what overload method of InferColumns needs to be called. logger.Log(LogLevel.Info, Strings.InferColumns); ColumnInferenceResults columnInference = null; - var dataset = options.Dataset.FullName; - if (options.LabelColumnName != null) + var dataset = settings.Dataset.FullName; + if (settings.LabelColumnName != null) { - columnInference = context.AutoInference().InferColumns(dataset, options.LabelColumnName, groupColumns: false); + columnInference = context.AutoInference().InferColumns(dataset, settings.LabelColumnName, groupColumns: false); } else { - columnInference = context.AutoInference().InferColumns(dataset, options.LabelColumnIndex, hasHeader: options.HasHeader, groupColumns: false); + columnInference = context.AutoInference().InferColumns(dataset, settings.LabelColumnIndex, hasHeader: settings.HasHeader, groupColumns: false); } return columnInference; @@ -102,17 +102,17 @@ internal ColumnInferenceResults InferColumns(MLContext context) internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline pipeline, string labelName) { //Generate code - logger.Log(LogLevel.Info, $"{Strings.GenerateProject} : {options.OutputPath.FullName}"); + logger.Log(LogLevel.Info, $"{Strings.GenerateProject} : {settings.OutputPath.FullName}"); var codeGenerator = new CodeGenerator.CSharp.CodeGenerator( pipeline, columnInference, - new CodeGeneratorOptions() + new CodeGeneratorSettings() { - TrainDataset = options.Dataset, + TrainDataset = settings.Dataset, MlTask = taskKind, - TestDataset = options.TestDataset, - OutputName = options.Name, - OutputBaseDir = options.OutputPath.FullName, + TestDataset = settings.TestDataset, + OutputName = settings.Name, + OutputBaseDir = settings.OutputPath.FullName, LabelName = labelName }); codeGenerator.GenerateOutput(); @@ -130,7 +130,7 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p var result = context.AutoInference() .CreateBinaryClassificationExperiment(new BinaryExperimentSettings() { - MaxInferenceTimeInSeconds = options.MaxExplorationTime, + MaxInferenceTimeInSeconds = settings.MaxExplorationTime, ProgressHandler = progressReporter }) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); @@ -146,7 +146,7 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p var result = context.AutoInference() .CreateRegressionExperiment(new RegressionExperimentSettings() { - MaxInferenceTimeInSeconds = options.MaxExplorationTime, + MaxInferenceTimeInSeconds = settings.MaxExplorationTime, ProgressHandler = progressReporter }).Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); @@ -170,8 +170,8 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p var textLoader = context.Data.CreateTextLoader(textLoaderArgs); logger.Log(LogLevel.Info, Strings.LoadData); - var trainData = textLoader.Read(options.Dataset.FullName); - var validationData = options.ValidationDataset == null ? null : textLoader.Read(options.ValidationDataset.FullName); + var trainData = textLoader.Read(settings.Dataset.FullName); + var validationData = settings.ValidationDataset == null ? null : textLoader.Read(settings.ValidationDataset.FullName); return (trainData, validationData); } diff --git a/src/mlnet/Commands/New/NewCommandOptions.cs b/src/mlnet/Commands/New/NewCommandSettings.cs similarity index 95% rename from src/mlnet/Commands/New/NewCommandOptions.cs rename to src/mlnet/Commands/New/NewCommandSettings.cs index c8fdc96b7d..ddf0499049 100644 --- a/src/mlnet/Commands/New/NewCommandOptions.cs +++ b/src/mlnet/Commands/New/NewCommandSettings.cs @@ -6,7 +6,7 @@ namespace Microsoft.ML.CLI.Data { - public class NewCommandOptions + public class NewCommandSettings { public string Name { get; set; } diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index 417569aa54..efcdcf5bbe 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -19,7 +19,7 @@ class Program public static void Main(string[] args) { // Create handler outside so that commandline and the handler is decoupled and testable. - var handler = CommandHandler.Create( + var handler = CommandHandler.Create( (options) => { // Map the verbosity to internal levels diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index 767384afb4..ec05984639 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -13,7 +13,7 @@ - + From 9ea19bd2d3b5a443c441d6b1536bb03ddd676f80 Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Tue, 26 Feb 2019 09:37:52 -0800 Subject: [PATCH 117/211] Make build.sh, init-tools.sh, & run.sh executable on OSX/Linux (#225) --- build.sh | 0 init-tools.sh | 0 run.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 build.sh mode change 100644 => 100755 init-tools.sh mode change 100644 => 100755 run.sh diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 diff --git a/init-tools.sh b/init-tools.sh old mode 100644 new mode 100755 diff --git a/run.sh b/run.sh old mode 100644 new mode 100755 From dea2fe27a248c9db3755ab23ecaaebb7129ea6b9 Mon Sep 17 00:00:00 2001 From: Cesar De la Torre Date: Tue, 26 Feb 2019 09:48:37 -0800 Subject: [PATCH 118/211] CLI argument descriptions updated (#224) * CLI argument descriptions updated * No version in .csproj --- src/mlnet/Commands/CommandDefinitions.cs | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 864d6a7b17..9227f6e06d 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -17,7 +17,7 @@ internal static class CommandDefinitions { internal static System.CommandLine.Command New(ICommandHandler handler) { - var newCommand = new System.CommandLine.Command("new", "ML.NET CLI tool for code generation", handler: handler) + var newCommand = new System.CommandLine.Command("new", "Create a new .NET project using ML.NET to train and run a model", handler: handler) { Dataset(), ValidationDataset(), @@ -56,47 +56,47 @@ internal static System.CommandLine.Command New(ICommandHandler handler) return newCommand; Option Dataset() => - new Option("--dataset", "Dataset file path.", + new Option("--dataset", "File path to either a single dataset or a training dataset for train/test split approaches.", new Argument().ExistingOnly()); Option ValidationDataset() => - new Option("--validation-dataset", "Validation dataset file path. Used for model exploration.", + new Option("--validation-dataset", "File path for the validation dataset in train/validation/test split approaches.", new Argument(defaultValue: default(FileInfo)).ExistingOnly()); Option TestDataset() => - new Option("--test-dataset", "Test dataset file path.", + new Option("--test-dataset", "File path for the test dataset in train/test approaches.", new Argument(defaultValue: default(FileInfo)).ExistingOnly()); Option MlTask() => - new Option("--ml-task", "Type of ML task.", + new Option("--ml-task", "Type of ML task to perform. Current supported tasks: regression and binary-classification", new Argument().FromAmong(GetMlTaskSuggestions())); Option LabelName() => - new Option("--label-column-name", "Name of the label column.", + new Option("--label-column-name", "Name of the label (target) column to predict.", new Argument()); Option LabelColumnIndex() => - new Option("--label-column-index", "Index of the label column.", + new Option("--label-column-index", "Index of the label (target) column to predict.", new Argument()); Option MaxExplorationTime() => - new Option("--max-exploration-time", "Timeout in seconds for exploring models.", + new Option("--max-exploration-time", "Maximum time in seconds for exploring models with best configuration.", new Argument(defaultValue: 10)); Option Verbosity() => - new Option(new List() { "--verbosity" }, "Verbosity of the output to be shown by the tool.", + new Option(new List() { "--verbosity" }, "Output verbosity choices: q[uiet], m[inimal] (by default) and diag[nostic]", new Argument(defaultValue: "m").FromAmong(GetVerbositySuggestions())); Option Name() => - new Option(new List() { "--name" }, "Name of the output files(project).", + new Option(new List() { "--name" }, "Name for the output project or solution to create. ", new Argument(defaultValue: "Sample")); Option OutputPath() => - new Option(new List() { "--output-path" }, "Output folder path.", + new Option(new List() { "--output-path" }, "Location folder to place the generated output. The default is the current directory.", new Argument(defaultValue: new DirectoryInfo("."))); Option HasHeader() => - new Option(new List() { "--has-header" }, "Specifies if the dataset has header or not.", + new Option(new List() { "--has-header" }, "Specify true/false depending if the dataset file(s) have a header row.", new Argument(defaultValue: true)); } From 95dc1fc51cbbd517a69f4bddf101d4cb57930c4b Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 26 Feb 2019 10:13:34 -0800 Subject: [PATCH 119/211] added flag to disable training code (#227) --- ...rTests.GeneratedTrainCodeTest.approved.txt | 22 ++++++--- src/mlnet/Templates/Console/MLCodeGen.cs | 47 +++++++++---------- src/mlnet/Templates/Console/MLCodeGen.tt | 22 ++++++--- 3 files changed, 53 insertions(+), 38 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt index d63ffa5064..d0188381fb 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt @@ -20,17 +20,27 @@ namespace MyNamespace private static string TestDataPath = @"x:\dummypath\dummy_test.csv"; private static string ModelPath = @"./model.zip"; + // Set this flag to enable the training process. + private static bool EnableTraining = false; + static void Main(string[] args) { - //Create MLContext to be shared across the model creation workflow objects - //Set a random seed for repeatable/deterministic results across multiple trainings. + // Create MLContext to be shared across the model creation workflow objects + // Set a random seed for repeatable/deterministic results across multiple trainings. var mlContext = new MLContext(seed: 1); - // Create, Train, Evaluate and Save a model - BuildTrainEvaluateAndSaveModel(mlContext); - ConsoleHelper.ConsoleWriteHeader("=============== End of training process ==============="); + if (EnableTraining) + { + // Create, Train, Evaluate and Save a model + BuildTrainEvaluateAndSaveModel(mlContext); + ConsoleHelper.ConsoleWriteHeader("=============== End of training process ==============="); + } + else + { + ConsoleHelper.ConsoleWriteHeader("Skipping the training process. Please set the flag : 'EnableTraining' to 'true' to enable the training process."); + } - // Make a single test prediction loding the model from .ZIP file + // Make a single test prediction loading the model from .ZIP file TestSinglePrediction(mlContext); ConsoleHelper.ConsoleWriteHeader("=============== End of process, hit any key to finish ==============="); diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index dfa48bee97..d26a175319 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -50,32 +50,27 @@ public virtual string TransformText() this.Write(this.ToStringHelper.ToStringWithCulture(TestPath)); this.Write("\";\r\n"); } - this.Write(@" private static string ModelPath = @""./model.zip""; - - static void Main(string[] args) - { - //Create MLContext to be shared across the model creation workflow objects - //Set a random seed for repeatable/deterministic results across multiple trainings. - var mlContext = new MLContext(seed: 1); - - // Create, Train, Evaluate and Save a model - BuildTrainEvaluateAndSaveModel(mlContext); - ConsoleHelper.ConsoleWriteHeader(""=============== End of training process ===============""); - - // Make a single test prediction loding the model from .ZIP file - TestSinglePrediction(mlContext); - - ConsoleHelper.ConsoleWriteHeader(""=============== End of process, hit any key to finish ===============""); - Console.ReadKey(); - - } - - private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) - { - // Data loading - IDataView trainingDataView = mlContext.Data.ReadFromTextFile( - path: TrainDataPath, - hasHeader : "); + this.Write(" private static string ModelPath = @\"./model.zip\";\r\n\r\n // Set this " + + "flag to enable the training process.\r\n private static bool EnableTraining" + + " = false;\r\n\r\n static void Main(string[] args)\r\n {\r\n // " + + "Create MLContext to be shared across the model creation workflow objects \r\n " + + " // Set a random seed for repeatable/deterministic results across multiple" + + " trainings.\r\n var mlContext = new MLContext(seed: 1);\r\n\r\n " + + "if (EnableTraining)\r\n {\r\n // Create, Train, Evaluate a" + + "nd Save a model\r\n BuildTrainEvaluateAndSaveModel(mlContext);\r\n " + + " ConsoleHelper.ConsoleWriteHeader(\"=============== End of training p" + + "rocess ===============\");\r\n }\r\n else\r\n {\r\n " + + " ConsoleHelper.ConsoleWriteHeader(\"Skipping the training process. Plea" + + "se set the flag : \'EnableTraining\' to \'true\' to enable the training process.\");\r" + + "\n }\r\n\r\n // Make a single test prediction loading the model" + + " from .ZIP file\r\n TestSinglePrediction(mlContext);\r\n\r\n Con" + + "soleHelper.ConsoleWriteHeader(\"=============== End of process, hit any key to fi" + + "nish ===============\");\r\n Console.ReadKey();\r\n\r\n }\r\n\r\n " + + "private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext)\r" + + "\n {\r\n // Data loading\r\n IDataView trainingDataView " + + "= mlContext.Data.ReadFromTextFile(\r\n " + + " path: TrainDataPath,\r\n " + + " hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); this.Write(",\r\n separatorChar : \'"); this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index 907e8c83a9..75fede1c68 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -28,17 +28,27 @@ namespace <#= Namespace #> <# } #> private static string ModelPath = @"./model.zip"; + // Set this flag to enable the training process. + private static bool EnableTraining = false; + static void Main(string[] args) { - //Create MLContext to be shared across the model creation workflow objects - //Set a random seed for repeatable/deterministic results across multiple trainings. + // Create MLContext to be shared across the model creation workflow objects + // Set a random seed for repeatable/deterministic results across multiple trainings. var mlContext = new MLContext(seed: 1); - // Create, Train, Evaluate and Save a model - BuildTrainEvaluateAndSaveModel(mlContext); - ConsoleHelper.ConsoleWriteHeader("=============== End of training process ==============="); + if (EnableTraining) + { + // Create, Train, Evaluate and Save a model + BuildTrainEvaluateAndSaveModel(mlContext); + ConsoleHelper.ConsoleWriteHeader("=============== End of training process ==============="); + } + else + { + ConsoleHelper.ConsoleWriteHeader("Skipping the training process. Please set the flag : 'EnableTraining' to 'true' to enable the training process."); + } - // Make a single test prediction loding the model from .ZIP file + // Make a single test prediction loading the model from .ZIP file TestSinglePrediction(mlContext); ConsoleHelper.ConsoleWriteHeader("=============== End of process, hit any key to finish ==============="); From e52d7f0a5bef4bcc01b475465ae75a906dc6582f Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Tue, 26 Feb 2019 11:07:18 -0800 Subject: [PATCH 120/211] Exit if perfect model produced (#220) --- .../Experiment/Experiment.cs | 7 + .../MetricsAgents/BinaryMetricsAgent.cs | 34 +++- .../Experiment/MetricsAgents/IMetricsAgent.cs | 2 + .../MetricsAgents/MetricsAgentUtil.cs | 16 ++ .../MetricsAgents/MultiMetricsAgent.cs | 30 +++- .../MetricsAgents/RegressionMetricsAgent.cs | 26 ++- src/Test/MetricsAgentsTests.cs | 167 ++++++++++++++++++ 7 files changed, 272 insertions(+), 10 deletions(-) create mode 100644 src/Microsoft.ML.Auto/Experiment/MetricsAgents/MetricsAgentUtil.cs create mode 100644 src/Test/MetricsAgentsTests.cs diff --git a/src/Microsoft.ML.Auto/Experiment/Experiment.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs index 78baf393c3..e81f9c3bf8 100644 --- a/src/Microsoft.ML.Auto/Experiment/Experiment.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -114,6 +114,13 @@ public List> Execute() var iterationResult = runResult.ToIterationResult(); ReportProgress(iterationResult); iterationResults.Add(iterationResult); + + // if model is perfect, break + if (_metricsAgent.IsModelPerfect(iterationResult.Metrics)) + { + break; + } + } while (_history.Count < _experimentSettings.MaxModels && !_experimentSettings.CancellationToken.IsCancellationRequested && stopwatch.Elapsed.TotalSeconds < _experimentSettings.MaxInferenceTimeInSeconds); diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs index eb88ff8229..b0e812148e 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -36,10 +35,39 @@ public double GetScore(BinaryClassificationMetrics metrics) return metrics.PositivePrecision; case BinaryClassificationMetric.PositiveRecall: return metrics.PositiveRecall; + default: + throw MetricsAgentUtil.BuildMetricNotSupportedException(_optimizingMetric); + } + } + + public bool IsModelPerfect(BinaryClassificationMetrics metrics) + { + if (metrics == null) + { + return false; } - // never expected to reach here - throw new NotSupportedException($"{_optimizingMetric} is not a supported sweep metric"); + switch (_optimizingMetric) + { + case BinaryClassificationMetric.Accuracy: + return metrics.Accuracy == 1; + case BinaryClassificationMetric.Auc: + return metrics.Auc == 1; + case BinaryClassificationMetric.Auprc: + return metrics.Auprc == 1; + case BinaryClassificationMetric.F1Score: + return metrics.F1Score == 1; + case BinaryClassificationMetric.NegativePrecision: + return metrics.NegativePrecision == 1; + case BinaryClassificationMetric.NegativeRecall: + return metrics.NegativeRecall == 1; + case BinaryClassificationMetric.PositivePrecision: + return metrics.PositivePrecision == 1; + case BinaryClassificationMetric.PositiveRecall: + return metrics.PositiveRecall == 1; + default: + throw MetricsAgentUtil.BuildMetricNotSupportedException(_optimizingMetric); + } } } } diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/IMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/IMetricsAgent.cs index 29e3857848..1f66dc0228 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/IMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/IMetricsAgent.cs @@ -7,5 +7,7 @@ namespace Microsoft.ML.Auto internal interface IMetricsAgent { double GetScore(T metrics); + + bool IsModelPerfect(T metrics); } } diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MetricsAgentUtil.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MetricsAgentUtil.cs new file mode 100644 index 0000000000..80d292648f --- /dev/null +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MetricsAgentUtil.cs @@ -0,0 +1,16 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; + +namespace Microsoft.ML.Auto +{ + internal static class MetricsAgentUtil + { + public static NotSupportedException BuildMetricNotSupportedException(T optimizingMetric) + { + return new NotSupportedException($"{optimizingMetric} is not a supported sweep metric"); + } + } +} diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs index 0ec56e560a..6e42db60fa 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -30,10 +29,33 @@ public double GetScore(MultiClassClassifierMetrics metrics) return metrics.LogLossReduction; case MulticlassClassificationMetric.TopKAccuracy: return metrics.TopKAccuracy; + default: + throw MetricsAgentUtil.BuildMetricNotSupportedException(_optimizingMetric); } + } - // never expected to reach here - throw new NotSupportedException($"{_optimizingMetric} is not a supported sweep metric"); + public bool IsModelPerfect(MultiClassClassifierMetrics metrics) + { + if (metrics == null) + { + return false; + } + + switch (_optimizingMetric) + { + case MulticlassClassificationMetric.AccuracyMacro: + return metrics.AccuracyMacro == 1; + case MulticlassClassificationMetric.AccuracyMicro: + return metrics.AccuracyMicro == 1; + case MulticlassClassificationMetric.LogLoss: + return metrics.LogLoss == 0; + case MulticlassClassificationMetric.LogLossReduction: + return metrics.LogLossReduction == 1; + case MulticlassClassificationMetric.TopKAccuracy: + return metrics.TopKAccuracy == 1; + default: + throw MetricsAgentUtil.BuildMetricNotSupportedException(_optimizingMetric); + } } } -} +} \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs index 6653df589f..6364824c04 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -28,10 +27,31 @@ public double GetScore(RegressionMetrics metrics) return metrics.Rms; case RegressionMetric.RSquared: return metrics.RSquared; + default: + throw MetricsAgentUtil.BuildMetricNotSupportedException(_optimizingMetric); + } + } + + public bool IsModelPerfect(RegressionMetrics metrics) + { + if (metrics == null) + { + return false; } - // never expected to reach here - throw new NotSupportedException($"{_optimizingMetric} is not a supported sweep metric"); + switch (_optimizingMetric) + { + case RegressionMetric.L1: + return metrics.L1 == 0; + case RegressionMetric.L2: + return metrics.L2 == 0; + case RegressionMetric.Rms: + return metrics.Rms == 0; + case RegressionMetric.RSquared: + return metrics.RSquared == 1; + default: + throw MetricsAgentUtil.BuildMetricNotSupportedException(_optimizingMetric); + } } } } diff --git a/src/Test/MetricsAgentsTests.cs b/src/Test/MetricsAgentsTests.cs new file mode 100644 index 0000000000..039d08ebda --- /dev/null +++ b/src/Test/MetricsAgentsTests.cs @@ -0,0 +1,167 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Reflection; +using Microsoft.ML.Data; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class MetricsAgentsTests + { + [TestMethod] + public void BinaryMetricsGetScoreTest() + { + var metrics = CreateInstance(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8); + Assert.AreEqual(0.1, GetScore(metrics, BinaryClassificationMetric.Auc)); + Assert.AreEqual(0.2, GetScore(metrics, BinaryClassificationMetric.Accuracy)); + Assert.AreEqual(0.3, GetScore(metrics, BinaryClassificationMetric.PositivePrecision)); + Assert.AreEqual(0.4, GetScore(metrics, BinaryClassificationMetric.PositiveRecall)); + Assert.AreEqual(0.5, GetScore(metrics, BinaryClassificationMetric.NegativePrecision)); + Assert.AreEqual(0.6, GetScore(metrics, BinaryClassificationMetric.NegativeRecall)); + Assert.AreEqual(0.7, GetScore(metrics, BinaryClassificationMetric.F1Score)); + Assert.AreEqual(0.8, GetScore(metrics, BinaryClassificationMetric.Auprc)); + } + + [TestMethod] + public void BinaryMetricsNonPerfectTest() + { + var metrics = CreateInstance(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8); + Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.Accuracy)); + Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.Auc)); + Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.Auprc)); + Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.F1Score)); + Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.NegativePrecision)); + Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.NegativeRecall)); + Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.PositivePrecision)); + Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.PositiveRecall)); + } + + [TestMethod] + public void BinaryMetricsPerfectTest() + { + var metrics = CreateInstance(1, 1, 1, 1, 1, 1, 1, 1); + Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.Accuracy)); + Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.Auc)); + Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.Auprc)); + Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.F1Score)); + Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.NegativePrecision)); + Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.NegativeRecall)); + Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.PositivePrecision)); + Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.PositiveRecall)); + } + + [TestMethod] + public void MulticlassMetricsGetScoreTest() + { + var metrics = CreateInstance(0.1, 0.2, 0.3, 0.4, 0, 0.5, new double[] {}); + Assert.AreEqual(0.1, GetScore(metrics, MulticlassClassificationMetric.AccuracyMicro)); + Assert.AreEqual(0.2, GetScore(metrics, MulticlassClassificationMetric.AccuracyMacro)); + Assert.AreEqual(0.3, GetScore(metrics, MulticlassClassificationMetric.LogLoss)); + Assert.AreEqual(0.4, GetScore(metrics, MulticlassClassificationMetric.LogLossReduction)); + Assert.AreEqual(0.5, GetScore(metrics, MulticlassClassificationMetric.TopKAccuracy)); + } + + [TestMethod] + public void MulticlassMetricsNonPerfectTest() + { + var metrics = CreateInstance(0.1, 0.2, 0.3, 0.4, 0, 0.5, new double[] { }); + Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.AccuracyMacro)); + Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.AccuracyMicro)); + Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.LogLoss)); + Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.LogLossReduction)); + Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.TopKAccuracy)); + } + + [TestMethod] + public void MulticlassMetricsPerfectTest() + { + var metrics = CreateInstance(1, 1, 0, 1, 0, 1, new double[] { }); + Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.AccuracyMicro)); + Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.AccuracyMacro)); + Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.LogLoss)); + Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.LogLossReduction)); + Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.TopKAccuracy)); + } + + [TestMethod] + public void RegressionMetricsGetScoreTest() + { + var metrics = CreateInstance(0.2, 0.3, 0.4, 0.5, 0.6); + Assert.AreEqual(0.2, GetScore(metrics, RegressionMetric.L1)); + Assert.AreEqual(0.3, GetScore(metrics, RegressionMetric.L2)); + Assert.AreEqual(0.4, GetScore(metrics, RegressionMetric.Rms)); + Assert.AreEqual(0.6, GetScore(metrics, RegressionMetric.RSquared)); + } + + [TestMethod] + public void RegressionMetricsNonPerfectTest() + { + var metrics = CreateInstance(0.2, 0.3, 0.4, 0.5, 0.6); + Assert.AreEqual(false, IsPerfectModel(metrics, RegressionMetric.L1)); + Assert.AreEqual(false, IsPerfectModel(metrics, RegressionMetric.L2)); + Assert.AreEqual(false, IsPerfectModel(metrics, RegressionMetric.Rms)); + Assert.AreEqual(false, IsPerfectModel(metrics, RegressionMetric.RSquared)); + } + + [TestMethod] + public void RegressionMetricsPerfectTest() + { + var metrics = CreateInstance(0, 0, 0, 0, 1); + Assert.AreEqual(true, IsPerfectModel(metrics, RegressionMetric.L1)); + Assert.AreEqual(true, IsPerfectModel(metrics, RegressionMetric.L2)); + Assert.AreEqual(true, IsPerfectModel(metrics, RegressionMetric.Rms)); + Assert.AreEqual(true, IsPerfectModel(metrics, RegressionMetric.RSquared)); + } + + [TestMethod] + [ExpectedException(typeof(NotSupportedException))] + public void ThrowNotSupportedMetricException() + { + throw MetricsAgentUtil.BuildMetricNotSupportedException(BinaryClassificationMetric.Accuracy); + } + + private static T CreateInstance(params object[] args) + { + var type = typeof(T); + var instance = type.Assembly.CreateInstance( + type.FullName, false, + BindingFlags.Instance | BindingFlags.NonPublic, + null, args, null, null); + return (T)instance; + } + + private static double GetScore(BinaryClassificationMetrics metrics, BinaryClassificationMetric metric) + { + return new BinaryMetricsAgent(metric).GetScore(metrics); + } + + private static double GetScore(MultiClassClassifierMetrics metrics, MulticlassClassificationMetric metric) + { + return new MultiMetricsAgent(metric).GetScore(metrics); + } + + private static double GetScore(RegressionMetrics metrics, RegressionMetric metric) + { + return new RegressionMetricsAgent(metric).GetScore(metrics); + } + + private static bool IsPerfectModel(BinaryClassificationMetrics metrics, BinaryClassificationMetric metric) + { + return new BinaryMetricsAgent(metric).IsModelPerfect(metrics); + } + + private static bool IsPerfectModel(MultiClassClassifierMetrics metrics, MulticlassClassificationMetric metric) + { + return new MultiMetricsAgent(metric).IsModelPerfect(metrics); + } + + private static bool IsPerfectModel(RegressionMetrics metrics, RegressionMetric metric) + { + return new RegressionMetricsAgent(metric).IsModelPerfect(metrics); + } + } +} From 95b58d36811014df7177469ff08798635507a4cb Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 26 Feb 2019 11:30:48 -0800 Subject: [PATCH 121/211] removed header (#228) * removed header * added auto generated header --- ...ratorTests.GeneratedTrainCodeTest.approved.txt | 4 +--- src/mlnet/Templates/Console/MLCodeGen.cs | 15 +++------------ src/mlnet/Templates/Console/MLCodeGen.tt | 4 +--- 3 files changed, 5 insertions(+), 18 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt index d0188381fb..928aae7482 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt @@ -1,6 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. +// This is an auto generated file by ML.NET CLI using System; using System.IO; diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index d26a175319..94d6d729d7 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -27,18 +27,9 @@ public partial class MLCodeGen : MLCodeGenBase /// public virtual string TransformText() { - this.Write(@"// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.IO; -using System.Linq; -using Microsoft.ML; -using Microsoft.ML.Core.Data; -using Microsoft.ML.Data; -using Microsoft.Data.DataView; -"); + this.Write("// This is an auto generated file by ML.NET CLI\r\n\r\nusing System;\r\nusing System.IO" + + ";\r\nusing System.Linq;\r\nusing Microsoft.ML;\r\nusing Microsoft.ML.Core.Data;\r\nusing" + + " Microsoft.ML.Data;\r\nusing Microsoft.Data.DataView;\r\n"); this.Write(this.ToStringHelper.ToStringWithCulture(GeneratedUsings)); this.Write("\r\n\r\nnamespace "); this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index 75fede1c68..c304c4a60f 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -5,9 +5,7 @@ <#@ import namespace="System.Text.RegularExpressions" #> <#@ import namespace="System.Collections.Generic" #> <#@ import namespace="Microsoft.ML.CLI.Utilities" #> -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. +// This is an auto generated file by ML.NET CLI using System; using System.IO; From 9f8de06fe08a5163cad1f69f4882c578549e8723 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 26 Feb 2019 12:25:30 -0800 Subject: [PATCH 122/211] removed console read key (#229) --- src/mlnet/Program.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index efcdcf5bbe..f1ad0ed091 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -47,8 +47,6 @@ public static void Main(string[] args) parser.InvokeAsync(args).Wait(); - Console.WriteLine("Press any key to exit..."); - Console.ReadKey(); } } } From 9de92e605b9025c17b4cabc0f546a1df6e21f9bb Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 26 Feb 2019 12:40:23 -0800 Subject: [PATCH 123/211] Fix model path in generated file (#230) * removed console read key * fix model path * fix test --- ...rTests.GeneratedTrainCodeTest.approved.txt | 2 +- src/mlnet/Templates/Console/MLCodeGen.cs | 42 +++++++++---------- src/mlnet/Templates/Console/MLCodeGen.tt | 2 +- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt index 928aae7482..f5023cc6df 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt @@ -16,7 +16,7 @@ namespace MyNamespace { private static string TrainDataPath = @"x:\dummypath\dummy_train.csv"; private static string TestDataPath = @"x:\dummypath\dummy_test.csv"; - private static string ModelPath = @"./model.zip"; + private static string ModelPath = @"..\..\..\model.zip"; // Set this flag to enable the training process. private static bool EnableTraining = false; diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index 94d6d729d7..e39bc060de 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -41,27 +41,27 @@ public virtual string TransformText() this.Write(this.ToStringHelper.ToStringWithCulture(TestPath)); this.Write("\";\r\n"); } - this.Write(" private static string ModelPath = @\"./model.zip\";\r\n\r\n // Set this " + - "flag to enable the training process.\r\n private static bool EnableTraining" + - " = false;\r\n\r\n static void Main(string[] args)\r\n {\r\n // " + - "Create MLContext to be shared across the model creation workflow objects \r\n " + - " // Set a random seed for repeatable/deterministic results across multiple" + - " trainings.\r\n var mlContext = new MLContext(seed: 1);\r\n\r\n " + - "if (EnableTraining)\r\n {\r\n // Create, Train, Evaluate a" + - "nd Save a model\r\n BuildTrainEvaluateAndSaveModel(mlContext);\r\n " + - " ConsoleHelper.ConsoleWriteHeader(\"=============== End of training p" + - "rocess ===============\");\r\n }\r\n else\r\n {\r\n " + - " ConsoleHelper.ConsoleWriteHeader(\"Skipping the training process. Plea" + - "se set the flag : \'EnableTraining\' to \'true\' to enable the training process.\");\r" + - "\n }\r\n\r\n // Make a single test prediction loading the model" + - " from .ZIP file\r\n TestSinglePrediction(mlContext);\r\n\r\n Con" + - "soleHelper.ConsoleWriteHeader(\"=============== End of process, hit any key to fi" + - "nish ===============\");\r\n Console.ReadKey();\r\n\r\n }\r\n\r\n " + - "private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext)\r" + - "\n {\r\n // Data loading\r\n IDataView trainingDataView " + - "= mlContext.Data.ReadFromTextFile(\r\n " + - " path: TrainDataPath,\r\n " + - " hasHeader : "); + this.Write(" private static string ModelPath = @\"..\\..\\..\\model.zip\";\r\n\r\n // Se" + + "t this flag to enable the training process.\r\n private static bool EnableT" + + "raining = false;\r\n\r\n static void Main(string[] args)\r\n {\r\n " + + " // Create MLContext to be shared across the model creation workflow objects " + + "\r\n // Set a random seed for repeatable/deterministic results across m" + + "ultiple trainings.\r\n var mlContext = new MLContext(seed: 1);\r\n\r\n " + + " if (EnableTraining)\r\n {\r\n // Create, Train, Eva" + + "luate and Save a model\r\n BuildTrainEvaluateAndSaveModel(mlContext" + + ");\r\n ConsoleHelper.ConsoleWriteHeader(\"=============== End of tra" + + "ining process ===============\");\r\n }\r\n else\r\n {" + + "\r\n ConsoleHelper.ConsoleWriteHeader(\"Skipping the training proces" + + "s. Please set the flag : \'EnableTraining\' to \'true\' to enable the training proce" + + "ss.\");\r\n }\r\n\r\n // Make a single test prediction loading th" + + "e model from .ZIP file\r\n TestSinglePrediction(mlContext);\r\n\r\n " + + " ConsoleHelper.ConsoleWriteHeader(\"=============== End of process, hit any ke" + + "y to finish ===============\");\r\n Console.ReadKey();\r\n\r\n }\r\n\r\n " + + " private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlCo" + + "ntext)\r\n {\r\n // Data loading\r\n IDataView trainingDa" + + "taView = mlContext.Data.ReadFromTextFile(\r\n " + + " path: TrainDataPath,\r\n " + + " hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); this.Write(",\r\n separatorChar : \'"); this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index c304c4a60f..ebc6a9b8f7 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -24,7 +24,7 @@ namespace <#= Namespace #> <#if(!string.IsNullOrEmpty(TestPath)){ #> private static string TestDataPath = @"<#= TestPath #>"; <# } #> - private static string ModelPath = @"./model.zip"; + private static string ModelPath = @"..\..\..\model.zip"; // Set this flag to enable the training process. private static bool EnableTraining = false; From 15dd299dec8ba66a9ecc89eb4a603b3383c72d69 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Tue, 26 Feb 2019 14:52:14 -0800 Subject: [PATCH 124/211] reorder samples (#231) --- src/Samples/Program.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Samples/Program.cs b/src/Samples/Program.cs index 19c8d2ab2f..2c2f89d03d 100644 --- a/src/Samples/Program.cs +++ b/src/Samples/Program.cs @@ -12,12 +12,6 @@ public static void Main(string[] args) { try { - Cancellation.Run(); - Console.Clear(); - - ObserveProgress.Run(); - Console.Clear(); - AutoTrainRegression.Run(); Console.Clear(); @@ -30,6 +24,12 @@ public static void Main(string[] args) CustomizeTraining.Run(); Console.Clear(); + ObserveProgress.Run(); + Console.Clear(); + + Cancellation.Run(); + Console.Clear(); + Console.WriteLine("Done"); } catch (Exception ex) From b5e7e1fcecdedd556456b743ccb225fdb51fedd2 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 27 Feb 2019 10:34:55 -0800 Subject: [PATCH 125/211] remove rule that infers column purpose as categorical if # of distinct values is < 100 (#233) --- src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs index fc07e1b890..24267da512 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs @@ -145,7 +145,7 @@ public void Apply(IntermediateColumn[] columns) Double avgLength = 1.0 * sumLength / data.Length; Double cardinalityRatio = 1.0 * seen.Count / data.Length; Double avgSpaces = 1.0 * sumSpaces / data.Length; - if (cardinalityRatio < 0.7 || seen.Count < 100) + if (cardinalityRatio < 0.7) column.SuggestedPurpose = ColumnPurpose.CategoricalFeature; // (note: the columns.Count() == 1 condition below, in case a dataset has only // a 'name' and a 'label' column, forces what would be an 'ignore' column to become a text feature) From 79ad44633cdde9a534966a980eee87164a4d525c Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 28 Feb 2019 07:59:02 -0800 Subject: [PATCH 126/211] Null reference exception fix for finding best model when some runs have failed (#239) --- .../API/BinaryClassificationExperiment.cs | 3 +- .../API/MulticlassClassificationExperiment.cs | 3 +- .../API/RegressionExperiment.cs | 3 +- src/Microsoft.ML.Auto/Utils/RunResultUtil.cs | 21 ++++++++ src/Test/MetricsAgentsTests.cs | 31 ++++-------- src/Test/MetricsUtil.cs | 49 +++++++++++++++++++ src/Test/RunResultTests.cs | 47 ++++++++++++++++++ 7 files changed, 130 insertions(+), 27 deletions(-) create mode 100644 src/Microsoft.ML.Auto/Utils/RunResultUtil.cs create mode 100644 src/Test/MetricsUtil.cs create mode 100644 src/Test/RunResultTests.cs diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index a014feb8c6..ed9e55770c 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -98,8 +98,7 @@ public static class BinaryExperimentResultExtensions public static RunResult Best(this IEnumerable> results, BinaryClassificationMetric metric = BinaryClassificationMetric.Accuracy) { var metricsAgent = new BinaryMetricsAgent(metric); - double maxScore = results.Select(r => metricsAgent.GetScore(r.Metrics)).Max(); - return results.First(r => metricsAgent.GetScore(r.Metrics) == maxScore); + return RunResultUtil.GetBestRunResult(results, metricsAgent); } } } diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index d60515959f..710640c0fe 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -96,8 +96,7 @@ public static class MulticlassExperimentResultExtensions public static RunResult Best(this IEnumerable> results, MulticlassClassificationMetric metric = MulticlassClassificationMetric.AccuracyMicro) { var metricsAgent = new MultiMetricsAgent(metric); - double maxScore = results.Select(r => metricsAgent.GetScore(r.Metrics)).Max(); - return results.First(r => metricsAgent.GetScore(r.Metrics) == maxScore); + return RunResultUtil.GetBestRunResult(results, metricsAgent); } } } diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index 96c733e649..dc4cb305c5 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -93,8 +93,7 @@ public static class RegressionExperimentResultExtensions public static RunResult Best(this IEnumerable> results, RegressionMetric metric = RegressionMetric.RSquared) { var metricsAgent = new RegressionMetricsAgent(metric); - double maxScore = results.Select(r => metricsAgent.GetScore(r.Metrics)).Max(); - return results.First(r => metricsAgent.GetScore(r.Metrics) == maxScore); + return RunResultUtil.GetBestRunResult(results, metricsAgent); } } } diff --git a/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs b/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs new file mode 100644 index 0000000000..ec7aded93c --- /dev/null +++ b/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs @@ -0,0 +1,21 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.ML.Auto +{ + internal class RunResultUtil + { + public static RunResult GetBestRunResult(IEnumerable> results, + IMetricsAgent metricsAgent) + { + results = results.Where(r => r.Metrics != null); + if (!results.Any()) { return null; } + double maxScore = results.Select(r => metricsAgent.GetScore(r.Metrics)).Max(); + return results.First(r => metricsAgent.GetScore(r.Metrics) == maxScore); + } + } +} diff --git a/src/Test/MetricsAgentsTests.cs b/src/Test/MetricsAgentsTests.cs index 039d08ebda..d41dfdc132 100644 --- a/src/Test/MetricsAgentsTests.cs +++ b/src/Test/MetricsAgentsTests.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System; -using System.Reflection; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -15,7 +14,7 @@ public class MetricsAgentsTests [TestMethod] public void BinaryMetricsGetScoreTest() { - var metrics = CreateInstance(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8); + var metrics = MetricsUtil.CreateBinaryClassificationMetrics(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8); Assert.AreEqual(0.1, GetScore(metrics, BinaryClassificationMetric.Auc)); Assert.AreEqual(0.2, GetScore(metrics, BinaryClassificationMetric.Accuracy)); Assert.AreEqual(0.3, GetScore(metrics, BinaryClassificationMetric.PositivePrecision)); @@ -29,7 +28,7 @@ public void BinaryMetricsGetScoreTest() [TestMethod] public void BinaryMetricsNonPerfectTest() { - var metrics = CreateInstance(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8); + var metrics = MetricsUtil.CreateBinaryClassificationMetrics(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8); Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.Accuracy)); Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.Auc)); Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.Auprc)); @@ -43,7 +42,7 @@ public void BinaryMetricsNonPerfectTest() [TestMethod] public void BinaryMetricsPerfectTest() { - var metrics = CreateInstance(1, 1, 1, 1, 1, 1, 1, 1); + var metrics = MetricsUtil.CreateBinaryClassificationMetrics(1, 1, 1, 1, 1, 1, 1, 1); Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.Accuracy)); Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.Auc)); Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.Auprc)); @@ -57,7 +56,7 @@ public void BinaryMetricsPerfectTest() [TestMethod] public void MulticlassMetricsGetScoreTest() { - var metrics = CreateInstance(0.1, 0.2, 0.3, 0.4, 0, 0.5, new double[] {}); + var metrics = MetricsUtil.CreateMulticlassClassificationMetrics(0.1, 0.2, 0.3, 0.4, 0, 0.5, new double[] {}); Assert.AreEqual(0.1, GetScore(metrics, MulticlassClassificationMetric.AccuracyMicro)); Assert.AreEqual(0.2, GetScore(metrics, MulticlassClassificationMetric.AccuracyMacro)); Assert.AreEqual(0.3, GetScore(metrics, MulticlassClassificationMetric.LogLoss)); @@ -68,7 +67,7 @@ public void MulticlassMetricsGetScoreTest() [TestMethod] public void MulticlassMetricsNonPerfectTest() { - var metrics = CreateInstance(0.1, 0.2, 0.3, 0.4, 0, 0.5, new double[] { }); + var metrics = MetricsUtil.CreateMulticlassClassificationMetrics(0.1, 0.2, 0.3, 0.4, 0, 0.5, new double[] { }); Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.AccuracyMacro)); Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.AccuracyMicro)); Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.LogLoss)); @@ -79,7 +78,7 @@ public void MulticlassMetricsNonPerfectTest() [TestMethod] public void MulticlassMetricsPerfectTest() { - var metrics = CreateInstance(1, 1, 0, 1, 0, 1, new double[] { }); + var metrics = MetricsUtil.CreateMulticlassClassificationMetrics(1, 1, 0, 1, 0, 1, new double[] { }); Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.AccuracyMicro)); Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.AccuracyMacro)); Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.LogLoss)); @@ -90,7 +89,7 @@ public void MulticlassMetricsPerfectTest() [TestMethod] public void RegressionMetricsGetScoreTest() { - var metrics = CreateInstance(0.2, 0.3, 0.4, 0.5, 0.6); + var metrics = MetricsUtil.CreateRegressionMetrics(0.2, 0.3, 0.4, 0.5, 0.6); Assert.AreEqual(0.2, GetScore(metrics, RegressionMetric.L1)); Assert.AreEqual(0.3, GetScore(metrics, RegressionMetric.L2)); Assert.AreEqual(0.4, GetScore(metrics, RegressionMetric.Rms)); @@ -100,7 +99,7 @@ public void RegressionMetricsGetScoreTest() [TestMethod] public void RegressionMetricsNonPerfectTest() { - var metrics = CreateInstance(0.2, 0.3, 0.4, 0.5, 0.6); + var metrics = MetricsUtil.CreateRegressionMetrics(0.2, 0.3, 0.4, 0.5, 0.6); Assert.AreEqual(false, IsPerfectModel(metrics, RegressionMetric.L1)); Assert.AreEqual(false, IsPerfectModel(metrics, RegressionMetric.L2)); Assert.AreEqual(false, IsPerfectModel(metrics, RegressionMetric.Rms)); @@ -110,7 +109,7 @@ public void RegressionMetricsNonPerfectTest() [TestMethod] public void RegressionMetricsPerfectTest() { - var metrics = CreateInstance(0, 0, 0, 0, 1); + var metrics = MetricsUtil.CreateRegressionMetrics(0, 0, 0, 0, 1); Assert.AreEqual(true, IsPerfectModel(metrics, RegressionMetric.L1)); Assert.AreEqual(true, IsPerfectModel(metrics, RegressionMetric.L2)); Assert.AreEqual(true, IsPerfectModel(metrics, RegressionMetric.Rms)); @@ -122,17 +121,7 @@ public void RegressionMetricsPerfectTest() public void ThrowNotSupportedMetricException() { throw MetricsAgentUtil.BuildMetricNotSupportedException(BinaryClassificationMetric.Accuracy); - } - - private static T CreateInstance(params object[] args) - { - var type = typeof(T); - var instance = type.Assembly.CreateInstance( - type.FullName, false, - BindingFlags.Instance | BindingFlags.NonPublic, - null, args, null, null); - return (T)instance; - } + } private static double GetScore(BinaryClassificationMetrics metrics, BinaryClassificationMetric metric) { diff --git a/src/Test/MetricsUtil.cs b/src/Test/MetricsUtil.cs new file mode 100644 index 0000000000..b8f1d891cd --- /dev/null +++ b/src/Test/MetricsUtil.cs @@ -0,0 +1,49 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Reflection; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto.Test +{ + internal static class MetricsUtil + { + public static BinaryClassificationMetrics CreateBinaryClassificationMetrics( + double auc, double accuracy, double positivePrecision, + double positiveRecall, double negativePrecision, + double negativeRecall, double f1Score, double auprc) + { + return CreateInstance(auc, accuracy, + positivePrecision, positiveRecall, negativePrecision, + negativeRecall, f1Score, auprc); + } + + public static MultiClassClassifierMetrics CreateMulticlassClassificationMetrics( + double accuracyMicro, double accuracyMacro, double logLoss, + double logLossReduction, int topK, double topKAccuracy, + double[] perClassLogLoss) + { + return CreateInstance(accuracyMicro, + accuracyMacro, logLoss, logLossReduction, topK, + topKAccuracy, perClassLogLoss); + } + + public static RegressionMetrics CreateRegressionMetrics(double l1, + double l2, double rms, double lossFn, double rSquared) + { + return CreateInstance(l1, l2, + rms, lossFn, rSquared); + } + + private static T CreateInstance(params object[] args) + { + var type = typeof(T); + var instance = type.Assembly.CreateInstance( + type.FullName, false, + BindingFlags.Instance | BindingFlags.NonPublic, + null, args, null, null); + return (T)instance; + } + } +} diff --git a/src/Test/RunResultTests.cs b/src/Test/RunResultTests.cs new file mode 100644 index 0000000000..c60db4dad2 --- /dev/null +++ b/src/Test/RunResultTests.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using Microsoft.ML.Data; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class RunResultTests + { + [TestMethod] + public void FindBestResultWithSomeNullMetrics() + { + var metrics1 = MetricsUtil.CreateRegressionMetrics(0.2, 0.2, 0.2, 0.2, 0.2); + var metrics2 = MetricsUtil.CreateRegressionMetrics(0.3, 0.3, 0.3, 0.3, 0.3); + var metrics3 = MetricsUtil.CreateRegressionMetrics(0.1, 0.1, 0.1, 0.1, 0.1); + + var runResults = new List>() + { + new RunResult(null, null, null, null, 0, 0), + new RunResult(null, metrics1, null, null, 0, 0), + new RunResult(null, metrics2, null, null, 0, 0), + new RunResult(null, metrics3, null, null, 0, 0), + }; + + var metricsAgent = new RegressionMetricsAgent(RegressionMetric.RSquared); + var bestResult = RunResultUtil.GetBestRunResult(runResults, metricsAgent); + Assert.AreEqual(0.3, bestResult.Metrics.RSquared); + } + + [TestMethod] + public void FindBestResultWithAllNullMetrics() + { + var runResults = new List>() + { + new RunResult(null, null, null, null, 0, 0), + }; + + var metricsAgent = new RegressionMetricsAgent(RegressionMetric.RSquared); + var bestResult = RunResultUtil.GetBestRunResult(runResults, metricsAgent); + Assert.AreEqual(null, bestResult); + } + } +} From 9e564885ae068ebe6f388e3c821fedc1e9f852f7 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 28 Feb 2019 08:15:22 -0800 Subject: [PATCH 127/211] samples fixes (#238) --- src/Samples/AutoTrainBinaryClassification.cs | 2 +- src/Samples/AutoTrainMulticlassClassification.cs | 2 +- src/Samples/AutoTrainRegression.cs | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index a6467b9810..b79f63162d 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -44,7 +44,7 @@ public static void Run() // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); var testMetrics = mlContext.BinaryClassification.EvaluateNonCalibrated(testDataViewWithBestScore, label: LabelColumn); - Console.WriteLine($"Accuracy of best model on test data: {best.Metrics.Accuracy}"); + Console.WriteLine($"Accuracy of best model on test data: {testMetrics.Accuracy}"); // STEP 6: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index 359c2ae475..08117de1b0 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -43,7 +43,7 @@ public static void Run() // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); var testMetrics = mlContext.MulticlassClassification.Evaluate(testDataViewWithBestScore); - Console.WriteLine($"AccuracyMacro of best model on test data: {best.Metrics.AccuracyMacro}"); + Console.WriteLine($"AccuracyMacro of best model on test data: {testMetrics.AccuracyMacro}"); // STEP 6: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index 97f4848d74..657dd58fe8 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -34,7 +34,7 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Invoking new AutoML regression experiment..."); var runResults = mlContext.AutoInference() - .CreateRegressionExperiment(0) + .CreateRegressionExperiment(60) .Execute(trainDataView, LabelColumn); // STEP 4: Print metric from best model @@ -44,7 +44,7 @@ public static void Run() // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); var testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: LabelColumn); - Console.WriteLine($"RSquared of best model on test data: {best.Metrics.RSquared}"); + Console.WriteLine($"RSquared of best model on test data: {testMetrics.RSquared}"); // STEP 6: Save the best model for later deployment and inferencing using (var fs = File.Create(ModelPath)) From d8d92954f37ef7b1b21a92becaeb26b1a5eb4a1f Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 28 Feb 2019 10:29:38 -0800 Subject: [PATCH 128/211] fix for defaulting Averaged Perceptron # of iterations to 10 (#237) --- .../TrainerExtensions/BinaryTrainerExtensions.cs | 13 +++++++++---- src/Test/TrainerExtensionsTests.cs | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs index 494c943ff6..6c25efcd24 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; +using System.Linq; using Microsoft.ML.Trainers; using Microsoft.ML.Trainers.FastTree; using Microsoft.ML.Trainers.HalLearners; @@ -26,7 +27,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams, columnInfo.LabelColumn); + if (!sweepParams.Any(p => p.Name == "NumberOfIterations")) + { + options.NumberOfIterations = DefaultNumIterations; + } } return mlContext.BinaryClassification.Trainers.AveragedPerceptron(options); } @@ -43,11 +48,11 @@ public PipelineNode CreatePipelineNode(IEnumerable sweepParams, { Dictionary additionalProperties = null; - if(sweepParams == null) + if (sweepParams == null || !sweepParams.Any(p => p.Name != "NumberOfIterations")) { additionalProperties = new Dictionary() { - { "NumIterations", "10" } + { "NumberOfIterations", DefaultNumIterations.ToString() } }; } @@ -227,4 +232,4 @@ public PipelineNode CreatePipelineNode(IEnumerable sweepParams, columnInfo.LabelColumn); } } -} \ No newline at end of file +} diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index 689923ca8e..9825523bed 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -161,7 +161,7 @@ public void BuildDefaultAveragedPerceptronPipelineNode() ], ""Properties"": { ""LabelColumn"": ""L"", - ""NumIterations"": ""10"" + ""NumberOfIterations"": ""10"" } }"; Util.AssertObjectMatchesJson(expectedJson, pipelineNode); From 12cff380968dffed889b9cca53d1af34af66ef46 Mon Sep 17 00:00:00 2001 From: vinodshanbhag <33269336+vinodshanbhag@users.noreply.github.com> Date: Thu, 28 Feb 2019 10:52:37 -0800 Subject: [PATCH 129/211] Bug bash feedback Feb 27. API changes and sample changes (#240) * Bug bash feedback Feb 27. API changes Sample changes Exception fix --- .../API/AutoInferenceCatalog.cs | 16 ++++++------- .../API/ExperimentSettings.cs | 2 +- .../API/MLContextExtension.cs | 4 ++-- src/Microsoft.ML.Auto/API/RunResult.cs | 4 ++-- .../Experiment/Experiment.cs | 4 ++-- src/Microsoft.ML.Auto/Utils/RunResultUtil.cs | 6 ++--- src/Samples/AutoTrainBinaryClassification.cs | 24 +++++++++++-------- .../AutoTrainMulticlassClassification.cs | 22 ++++++++++------- src/Samples/AutoTrainRegression.cs | 22 ++++++++++------- src/Samples/Cancellation.cs | 16 ++++++------- src/Samples/CustomizeTraining.cs | 17 ++++++------- src/Samples/ObserveProgress.cs | 16 ++++++------- src/Samples/Program.cs | 2 +- src/Test/AutoFitTests.cs | 18 +++++++------- src/Test/ColumnInferenceTests.cs | 24 +++++++++---------- src/Test/DatasetUtil.cs | 2 +- src/Test/RunResultTests.cs | 2 +- src/mlnet.Test/DatasetUtil.cs | 2 +- src/mlnet/Commands/New/NewCommandHandler.cs | 12 +++++----- src/mlnet/Utilities/ProgressHandlers.cs | 4 ++-- 20 files changed, 116 insertions(+), 103 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs b/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs index 1f66a0aa83..bd0b7aabd9 100644 --- a/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs +++ b/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs @@ -6,20 +6,20 @@ namespace Microsoft.ML.Auto { - public sealed class AutoInferenceCatalog + public sealed class AutoMLCatalog { private readonly MLContext _context; - internal AutoInferenceCatalog(MLContext context) + internal AutoMLCatalog(MLContext context) { _context = context; } - public RegressionExperiment CreateRegressionExperiment(uint maxInferenceTimeInSeconds) + public RegressionExperiment CreateRegressionExperiment(uint maxExperimentTimeInSeconds) { return new RegressionExperiment(_context, new RegressionExperimentSettings() { - MaxInferenceTimeInSeconds = maxInferenceTimeInSeconds + MaxExperimentTimeInSeconds = maxExperimentTimeInSeconds }); } @@ -28,11 +28,11 @@ public RegressionExperiment CreateRegressionExperiment(RegressionExperimentSetti return new RegressionExperiment(_context, experimentSettings); } - public BinaryClassificationExperiment CreateBinaryClassificationExperiment(uint maxInferenceTimeInSeconds) + public BinaryClassificationExperiment CreateBinaryClassificationExperiment(uint maxExperimentTimeInSeconds) { return new BinaryClassificationExperiment(_context, new BinaryExperimentSettings() { - MaxInferenceTimeInSeconds = maxInferenceTimeInSeconds + MaxExperimentTimeInSeconds = maxExperimentTimeInSeconds }); } @@ -41,11 +41,11 @@ public BinaryClassificationExperiment CreateBinaryClassificationExperiment(Binar return new BinaryClassificationExperiment(_context, experimentSettings); } - public MulticlassClassificationExperiment CreateMulticlassClassificationExperiment(uint maxInferenceTimeInSeconds) + public MulticlassClassificationExperiment CreateMulticlassClassificationExperiment(uint maxExperimentTimeInSeconds) { return new MulticlassClassificationExperiment(_context, new MulticlassExperimentSettings() { - MaxInferenceTimeInSeconds = maxInferenceTimeInSeconds + MaxExperimentTimeInSeconds = maxExperimentTimeInSeconds }); } diff --git a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs index 6f4d2ff4bd..f9f013e564 100644 --- a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs +++ b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs @@ -8,7 +8,7 @@ namespace Microsoft.ML.Auto { public class ExperimentSettings { - public uint MaxInferenceTimeInSeconds = 24 * 60 * 60; + public uint MaxExperimentTimeInSeconds = 24 * 60 * 60; public CancellationToken CancellationToken; internal bool EnableCaching; diff --git a/src/Microsoft.ML.Auto/API/MLContextExtension.cs b/src/Microsoft.ML.Auto/API/MLContextExtension.cs index 0abb1369f7..9287fe827c 100644 --- a/src/Microsoft.ML.Auto/API/MLContextExtension.cs +++ b/src/Microsoft.ML.Auto/API/MLContextExtension.cs @@ -6,9 +6,9 @@ namespace Microsoft.ML.Auto { public static class MLContextExtension { - public static AutoInferenceCatalog AutoInference(this MLContext mlContext) + public static AutoMLCatalog Auto(this MLContext mlContext) { - return new AutoInferenceCatalog(mlContext); + return new AutoMLCatalog(mlContext); } } } diff --git a/src/Microsoft.ML.Auto/API/RunResult.cs b/src/Microsoft.ML.Auto/API/RunResult.cs index 5e3be21a3b..98b884a2fc 100644 --- a/src/Microsoft.ML.Auto/API/RunResult.cs +++ b/src/Microsoft.ML.Auto/API/RunResult.cs @@ -9,7 +9,7 @@ namespace Microsoft.ML.Auto { public sealed class RunResult { - public readonly T Metrics; + public readonly T ValidationMetrics; public readonly ITransformer Model; public readonly Exception Exception; public readonly string TrainerName; @@ -27,7 +27,7 @@ internal RunResult( int pipelineInferenceTimeInSeconds) { Model = model; - Metrics = metrics; + ValidationMetrics = metrics; Pipeline = pipeline; Exception = exception; RuntimeInSeconds = runtimeInSeconds; diff --git a/src/Microsoft.ML.Auto/Experiment/Experiment.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs index e81f9c3bf8..4e2b48c4a6 100644 --- a/src/Microsoft.ML.Auto/Experiment/Experiment.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -116,14 +116,14 @@ public List> Execute() iterationResults.Add(iterationResult); // if model is perfect, break - if (_metricsAgent.IsModelPerfect(iterationResult.Metrics)) + if (_metricsAgent.IsModelPerfect(iterationResult.ValidationMetrics)) { break; } } while (_history.Count < _experimentSettings.MaxModels && !_experimentSettings.CancellationToken.IsCancellationRequested && - stopwatch.Elapsed.TotalSeconds < _experimentSettings.MaxInferenceTimeInSeconds); + stopwatch.Elapsed.TotalSeconds < _experimentSettings.MaxExperimentTimeInSeconds); return iterationResults; } diff --git a/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs b/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs index ec7aded93c..fd9713d601 100644 --- a/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs @@ -12,10 +12,10 @@ internal class RunResultUtil public static RunResult GetBestRunResult(IEnumerable> results, IMetricsAgent metricsAgent) { - results = results.Where(r => r.Metrics != null); + results = results.Where(r => r.ValidationMetrics != null); if (!results.Any()) { return null; } - double maxScore = results.Select(r => metricsAgent.GetScore(r.Metrics)).Max(); - return results.First(r => metricsAgent.GetScore(r.Metrics) == maxScore); + double maxScore = results.Select(r => metricsAgent.GetScore(r.ValidationMetrics)).Max(); + return results.First(r => metricsAgent.GetScore(r.ValidationMetrics) == maxScore); } } } diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index b79f63162d..c10560e461 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -4,6 +4,7 @@ using System; using System.IO; +using System.Linq; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; @@ -18,31 +19,34 @@ public class AutoTrainBinaryClassification private static string TestDataPath = $"{BaseDatasetsLocation}/wikipedia-detox-250-line-test.tsv"; private static string ModelPath = $"{BaseDatasetsLocation}/SentimentModel.zip"; private static string LabelColumn = "Sentiment"; + private static uint ExperimentTime = 60; public static void Run() { MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumn); + var columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn); // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - IDataView trainDataView = textLoader.Read(TrainDataPath); - IDataView testDataView = textLoader.Read(TestDataPath); + var textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + var trainDataView = textLoader.Read(TrainDataPath); + var testDataView = textLoader.Read(TestDataPath); // STEP 3: Auto featurize, auto train and auto hyperparameter tune - Console.WriteLine($"Invoking new AutoML binary classification experiment..."); - var runResults = mlContext.AutoInference() - .CreateBinaryClassificationExperiment(60) + Console.WriteLine($"Running AutoML binary classification experiment for {ExperimentTime} seconds..."); + var runResults = mlContext.Auto() + .CreateBinaryClassificationExperiment(ExperimentTime) .Execute(trainDataView, LabelColumn); // STEP 4: Print metric from the best model var best = runResults.Best(); - Console.WriteLine($"Accuracy of best model from validation data: {best.Metrics.Accuracy}"); + Console.WriteLine($"Total models produced: {runResults.Count()}"); + Console.WriteLine($"Best model's trainer: {best.TrainerName}"); + Console.WriteLine($"Accuracy of best model from validation data: {best.ValidationMetrics.Accuracy}"); // STEP 5: Evaluate test data - IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); + var testDataViewWithBestScore = best.Model.Transform(testDataView); var testMetrics = mlContext.BinaryClassification.EvaluateNonCalibrated(testDataViewWithBestScore, label: LabelColumn); Console.WriteLine($"Accuracy of best model on test data: {testMetrics.Accuracy}"); @@ -51,7 +55,7 @@ public static void Run() best.Model.SaveTo(mlContext, fs); Console.WriteLine("Press any key to continue..."); - Console.ReadLine(); + Console.ReadKey(); } } } diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index 08117de1b0..fa1afa52f6 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -4,6 +4,7 @@ using System; using System.IO; +using System.Linq; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; @@ -17,31 +18,34 @@ public class AutoTrainMulticlassClassification private static string TrainDataPath = $"{BaseDatasetsLocation}/iris-train.txt"; private static string TestDataPath = $"{BaseDatasetsLocation}/iris-test.txt"; private static string ModelPath = $"{BaseDatasetsLocation}/IrisClassificationModel.zip"; + private static uint ExperimentTime = 60; public static void Run() { MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath); + var columnInference = mlContext.Auto().InferColumns(TrainDataPath); // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - IDataView trainDataView = textLoader.Read(TrainDataPath); - IDataView testDataView = textLoader.Read(TestDataPath); + var textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + var trainDataView = textLoader.Read(TrainDataPath); + var testDataView = textLoader.Read(TestDataPath); // STEP 3: Auto featurize, auto train and auto hyperparameter tune - Console.WriteLine($"Invoking new AutoML multiclass classification experiment..."); - var runResults = mlContext.AutoInference() + Console.WriteLine($"Running AutoML multiclass classification experiment for {ExperimentTime} seconds..."); + var runResults = mlContext.Auto() .CreateMulticlassClassificationExperiment(60) .Execute(trainDataView); // STEP 4: Print metric from the best model var best = runResults.Best(); - Console.WriteLine($"AccuracyMacro of best model from validation data: {best.Metrics.AccuracyMacro}"); + Console.WriteLine($"Total models produced: {runResults.Count()}"); + Console.WriteLine($"Best model's trainer: {best.TrainerName}"); + Console.WriteLine($"AccuracyMacro of best model from validation data: {best.ValidationMetrics.AccuracyMacro}"); // STEP 5: Evaluate test data - IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); + var testDataViewWithBestScore = best.Model.Transform(testDataView); var testMetrics = mlContext.MulticlassClassification.Evaluate(testDataViewWithBestScore); Console.WriteLine($"AccuracyMacro of best model on test data: {testMetrics.AccuracyMacro}"); @@ -50,7 +54,7 @@ public static void Run() best.Model.SaveTo(mlContext, fs); Console.WriteLine("Press any key to continue..."); - Console.ReadLine(); + Console.ReadKey(); } } } diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index 657dd58fe8..b99dd614da 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -4,6 +4,7 @@ using System; using System.IO; +using System.Linq; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; @@ -18,31 +19,34 @@ static class AutoTrainRegression private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; private static string LabelColumn = "fare_amount"; + private static uint ExperimentTime = 60; public static void Run() { MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumn); + var columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn); // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - IDataView trainDataView = textLoader.Read(TrainDataPath); - IDataView testDataView = textLoader.Read(TestDataPath); + var textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + var trainDataView = textLoader.Read(TrainDataPath); + var testDataView = textLoader.Read(TestDataPath); // STEP 3: Auto featurize, auto train and auto hyperparameter tune - Console.WriteLine($"Invoking new AutoML regression experiment..."); - var runResults = mlContext.AutoInference() + Console.WriteLine($"Running AutoML multiclass classification experiment for {ExperimentTime} seconds..."); + var runResults = mlContext.Auto() .CreateRegressionExperiment(60) .Execute(trainDataView, LabelColumn); // STEP 4: Print metric from best model var best = runResults.Best(); - Console.WriteLine($"RSquared of best model from validation data: {best.Metrics.RSquared}"); + Console.WriteLine($"Total models produced: {runResults.Count()}"); + Console.WriteLine($"Best model's trainer: {best.TrainerName}"); + Console.WriteLine($"RSquared of best model from validation data: {best.ValidationMetrics.RSquared}"); // STEP 5: Evaluate test data - IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); + var testDataViewWithBestScore = best.Model.Transform(testDataView); var testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: LabelColumn); Console.WriteLine($"RSquared of best model on test data: {testMetrics.RSquared}"); @@ -51,7 +55,7 @@ public static void Run() best.Model.SaveTo(mlContext, fs); Console.WriteLine("Press any key to continue..."); - Console.ReadLine(); + Console.ReadKey(); } } } diff --git a/src/Samples/Cancellation.cs b/src/Samples/Cancellation.cs index f4d56f16ef..10a53215b9 100644 --- a/src/Samples/Cancellation.cs +++ b/src/Samples/Cancellation.cs @@ -26,12 +26,12 @@ public static void Run() MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumn, ','); + var columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn, ','); // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - IDataView trainDataView = textLoader.Read(TrainDataPath); - IDataView testDataView = textLoader.Read(TestDataPath); + var textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + var trainDataView = textLoader.Read(TrainDataPath); + var testDataView = textLoader.Read(TestDataPath); int cancelAfterInSeconds = 20; CancellationTokenSource cts = new CancellationTokenSource(); @@ -40,11 +40,11 @@ public static void Run() Stopwatch watch = Stopwatch.StartNew(); // STEP 3: Auto inference with a cancellation token - Console.WriteLine($"Invoking new AutoML regression experiment..."); - var runResults = mlContext.AutoInference() + Console.WriteLine($"Invoking an experiment that will be cancelled after {cancelAfterInSeconds} seconds"); + var runResults = mlContext.Auto() .CreateRegressionExperiment(new RegressionExperimentSettings() { - MaxInferenceTimeInSeconds = 60, + MaxExperimentTimeInSeconds = 60, CancellationToken = cts.Token }) .Execute(trainDataView, LabelColumn); @@ -52,7 +52,7 @@ public static void Run() Console.WriteLine($"{runResults.Count()} models were returned after {cancelAfterInSeconds} seconds"); Console.WriteLine("Press any key to continue..."); - Console.ReadLine(); + Console.ReadKey(); } } } diff --git a/src/Samples/CustomizeTraining.cs b/src/Samples/CustomizeTraining.cs index 017798bca4..36be3cf435 100644 --- a/src/Samples/CustomizeTraining.cs +++ b/src/Samples/CustomizeTraining.cs @@ -23,17 +23,18 @@ public static void Run() MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumn, ','); + var columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn, ','); // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - IDataView trainDataView = textLoader.Read(TrainDataPath); - IDataView testDataView = textLoader.Read(TestDataPath); + var textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + var trainDataView = textLoader.Read(TrainDataPath); + var testDataView = textLoader.Read(TestDataPath); - // STEP 3: Auto inference with a callback configured - var autoExperiment = mlContext.AutoInference().CreateRegressionExperiment(new RegressionExperimentSettings() + // STEP 3: Using a different optimizing metric instead of default R2 and whitelisting only LightGbm + Console.WriteLine($"Starting an experiment with L2 optimizing metric and whitelisting LightGbm trainer"); + var autoExperiment = mlContext.Auto().CreateRegressionExperiment(new RegressionExperimentSettings() { - MaxInferenceTimeInSeconds = 20, + MaxExperimentTimeInSeconds = 20, OptimizingMetric = RegressionMetric.L2, WhitelistedTrainers = new[] { RegressionTrainer.LightGbm }, ProgressHandler = new ProgressHandler() @@ -41,7 +42,7 @@ public static void Run() autoExperiment.Execute(trainDataView, LabelColumn); Console.WriteLine("Press any key to continue..."); - Console.ReadLine(); + Console.ReadKey(); } } } diff --git a/src/Samples/ObserveProgress.cs b/src/Samples/ObserveProgress.cs index 6f354b4129..9273a09243 100644 --- a/src/Samples/ObserveProgress.cs +++ b/src/Samples/ObserveProgress.cs @@ -23,23 +23,23 @@ public static void Run() MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.AutoInference().InferColumns(TrainDataPath, LabelColumn, ','); + var columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn, ','); // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - IDataView trainDataView = textLoader.Read(TrainDataPath); - IDataView testDataView = textLoader.Read(TestDataPath); + var textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + var trainDataView = textLoader.Read(TrainDataPath); + var testDataView = textLoader.Read(TestDataPath); // STEP 3: Auto inference with a callback configured - var autoExperiment = mlContext.AutoInference().CreateRegressionExperiment(new RegressionExperimentSettings() + var autoExperiment = mlContext.Auto().CreateRegressionExperiment(new RegressionExperimentSettings() { - MaxInferenceTimeInSeconds = 20, + MaxExperimentTimeInSeconds = 60, ProgressHandler = new ProgressHandler() }); autoExperiment.Execute(trainDataView, LabelColumn); Console.WriteLine("Press any key to continue..."); - Console.ReadLine(); + Console.ReadKey(); } } @@ -54,7 +54,7 @@ public ProgressHandler() public void Report(RunResult iterationResult) { iterationIndex++; - ConsolePrinter.PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.Metrics); + ConsolePrinter.PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics); } } diff --git a/src/Samples/Program.cs b/src/Samples/Program.cs index 2c2f89d03d..c99c50f617 100644 --- a/src/Samples/Program.cs +++ b/src/Samples/Program.cs @@ -34,7 +34,7 @@ public static void Main(string[] args) } catch (Exception ex) { - Console.WriteLine(ex.Message); + Console.WriteLine($"Exception {ex.ToString()}"); } Console.ReadLine(); diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index 5685330d45..a6d3a26700 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -15,32 +15,32 @@ public void AutoFitBinaryTest() { var context = new MLContext(); var dataPath = DatasetUtil.DownloadUciAdultDataset(); - var columnInference = context.AutoInference().InferColumns(dataPath, DatasetUtil.UciAdultLabel); + var columnInference = context.Auto().InferColumns(dataPath, DatasetUtil.UciAdultLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(dataPath); var validationData = context.Data.TakeRows(trainData, 100); trainData = context.Data.SkipRows(trainData, 100); - var result = context.AutoInference() + var result = context.Auto() .CreateBinaryClassificationExperiment(0) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); - Assert.IsTrue(result.Max(i => i.Metrics.Accuracy) > 0.80); + Assert.IsTrue(result.Max(i => i.ValidationMetrics.Accuracy) > 0.80); } [TestMethod] public void AutoFitMultiTest() { var context = new MLContext(); - var columnInference = context.AutoInference().InferColumns(DatasetUtil.TrivialMulticlassDatasetPath, DatasetUtil.TrivialMulticlassDatasetLabel); + var columnInference = context.Auto().InferColumns(DatasetUtil.TrivialMulticlassDatasetPath, DatasetUtil.TrivialMulticlassDatasetLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(DatasetUtil.TrivialMulticlassDatasetPath); var validationData = context.Data.TakeRows(trainData, 20); trainData = context.Data.SkipRows(trainData, 20); - var result = context.AutoInference() + var result = context.Auto() .CreateMulticlassClassificationExperiment(0) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.TrivialMulticlassDatasetLabel }); - Assert.IsTrue(result.Max(i => i.Metrics.AccuracyMacro) > 0.80); + Assert.IsTrue(result.Max(i => i.ValidationMetrics.AccuracyMacro) > 0.80); } [TestMethod] @@ -48,17 +48,17 @@ public void AutoFitRegressionTest() { var context = new MLContext(); var dataPath = DatasetUtil.DownloadMlNetGeneratedRegressionDataset(); - var columnInference = context.AutoInference().InferColumns(dataPath, DatasetUtil.MlNetGeneratedRegressionLabel); + var columnInference = context.Auto().InferColumns(dataPath, DatasetUtil.MlNetGeneratedRegressionLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); var trainData = textLoader.Read(dataPath); var validationData = context.Data.TakeRows(trainData, 20); trainData = context.Data.SkipRows(trainData, 20); - var results = context.AutoInference() + var results = context.Auto() .CreateRegressionExperiment(0) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.MlNetGeneratedRegressionLabel }); - Assert.IsTrue(results.Max(i => i.Metrics.RSquared > 0.9)); + Assert.IsTrue(results.Max(i => i.ValidationMetrics.RSquared > 0.9)); } } } diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index 8ce0d044eb..9e799b9bdb 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -13,13 +13,13 @@ public void UnGroupReturnsMoreColumnsThanGroup() { var dataPath = DatasetUtil.DownloadUciAdultDataset(); var context = new MLContext(); - var columnInferenceWithoutGrouping = context.AutoInference().InferColumns(dataPath, DatasetUtil.UciAdultLabel, groupColumns: false); + var columnInferenceWithoutGrouping = context.Auto().InferColumns(dataPath, DatasetUtil.UciAdultLabel, groupColumns: false); foreach (var col in columnInferenceWithoutGrouping.TextLoaderArgs.Columns) { Assert.IsFalse(col.Source.Length > 1 || col.Source[0].Min != col.Source[0].Max); } - var columnInferenceWithGrouping = context.AutoInference().InferColumns(dataPath, DatasetUtil.UciAdultLabel, groupColumns: true); + var columnInferenceWithGrouping = context.Auto().InferColumns(dataPath, DatasetUtil.UciAdultLabel, groupColumns: true); Assert.IsTrue(columnInferenceWithGrouping.TextLoaderArgs.Columns.Count() < columnInferenceWithoutGrouping.TextLoaderArgs.Columns.Count()); } @@ -28,20 +28,20 @@ public void IncorrectLabelColumnThrows() { var dataPath = DatasetUtil.DownloadUciAdultDataset(); var context = new MLContext(); - Assert.ThrowsException(new System.Action(() => context.AutoInference().InferColumns(dataPath, "Junk", groupColumns: false))); + Assert.ThrowsException(new System.Action(() => context.Auto().InferColumns(dataPath, "Junk", groupColumns: false))); } [TestMethod] [ExpectedException(typeof(ArgumentOutOfRangeException))] public void LabelIndexOutOfBoundsThrows() { - new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadUciAdultDataset(), 100); + new MLContext().Auto().InferColumns(DatasetUtil.DownloadUciAdultDataset(), 100); } [TestMethod] public void IdentifyLabelColumnThroughIndexWithHeader() { - var result = new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadUciAdultDataset(), 14, hasHeader: true); + var result = new MLContext().Auto().InferColumns(DatasetUtil.DownloadUciAdultDataset(), 14, hasHeader: true); Assert.AreEqual(true, result.TextLoaderArgs.HasHeader); var labelCol = result.TextLoaderArgs.Columns.First(c => c.Source[0].Min == 14 && c.Source[0].Max == 14); Assert.AreEqual("hours-per-week", labelCol.Name); @@ -51,7 +51,7 @@ public void IdentifyLabelColumnThroughIndexWithHeader() [TestMethod] public void IdentifyLabelColumnThroughIndexWithoutHeader() { - var result = new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadIrisDataset(), DatasetUtil.IrisDatasetLabelColIndex); + var result = new MLContext().Auto().InferColumns(DatasetUtil.DownloadIrisDataset(), DatasetUtil.IrisDatasetLabelColIndex); Assert.AreEqual(false, result.TextLoaderArgs.HasHeader); var labelCol = result.TextLoaderArgs.Columns.First(c => c.Source[0].Min == DatasetUtil.IrisDatasetLabelColIndex && c.Source[0].Max == DatasetUtil.IrisDatasetLabelColIndex); @@ -62,7 +62,7 @@ public void IdentifyLabelColumnThroughIndexWithoutHeader() [TestMethod] public void DatasetWithEmptyColumn() { - var result = new MLContext().AutoInference().InferColumns(@".\TestData\DatasetWithEmptyColumn.txt", DefaultColumnNames.Label); + var result = new MLContext().Auto().InferColumns(@".\TestData\DatasetWithEmptyColumn.txt", DefaultColumnNames.Label); var emptyColumn = result.TextLoaderArgs.Columns.First(c => c.Name == "Empty"); Assert.AreEqual(DataKind.TX, emptyColumn.Type); } @@ -70,7 +70,7 @@ public void DatasetWithEmptyColumn() [TestMethod] public void DatasetWithBoolColumn() { - var result = new MLContext().AutoInference().InferColumns(@".\TestData\BinaryDatasetWithBoolColumn.txt", DefaultColumnNames.Label); + var result = new MLContext().Auto().InferColumns(@".\TestData\BinaryDatasetWithBoolColumn.txt", DefaultColumnNames.Label); Assert.AreEqual(2, result.TextLoaderArgs.Columns.Count()); var boolColumn = result.TextLoaderArgs.Columns.First(c => c.Name == "Bool"); @@ -88,7 +88,7 @@ public void DatasetWithBoolColumn() [TestMethod] public void WhereNameColumnIsOnlyFeature() { - var result = new MLContext().AutoInference().InferColumns(@".\TestData\NameColumnIsOnlyFeatureDataset.txt", DefaultColumnNames.Label); + var result = new MLContext().Auto().InferColumns(@".\TestData\NameColumnIsOnlyFeatureDataset.txt", DefaultColumnNames.Label); Assert.AreEqual(2, result.TextLoaderArgs.Columns.Count()); var nameColumn = result.TextLoaderArgs.Columns.First(c => c.Name == "Username"); @@ -104,7 +104,7 @@ public void WhereNameColumnIsOnlyFeature() [TestMethod] public void DefaultColumnNamesInferredCorrectly() { - var result = new MLContext().AutoInference().InferColumns(@".\TestData\DatasetWithDefaultColumnNames.txt", + var result = new MLContext().Auto().InferColumns(@".\TestData\DatasetWithDefaultColumnNames.txt", new ColumnInformation() { LabelColumn = DefaultColumnNames.Label, @@ -120,7 +120,7 @@ public void DefaultColumnNamesInferredCorrectly() [TestMethod] public void DefaultColumnNamesNoGrouping() { - var result = new MLContext().AutoInference().InferColumns(@".\TestData\DatasetWithDefaultColumnNames.txt", + var result = new MLContext().Auto().InferColumns(@".\TestData\DatasetWithDefaultColumnNames.txt", new ColumnInformation() { LabelColumn = DefaultColumnNames.Label, @@ -137,7 +137,7 @@ public void DefaultColumnNamesNoGrouping() public void InferColumnsColumnInfoParam() { var columnInfo = new ColumnInformation() { LabelColumn = DatasetUtil.MlNetGeneratedRegressionLabel }; - var result = new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadMlNetGeneratedRegressionDataset(), + var result = new MLContext().Auto().InferColumns(DatasetUtil.DownloadMlNetGeneratedRegressionDataset(), columnInfo); var labelCol = result.TextLoaderArgs.Columns.First(c => c.Name == DatasetUtil.MlNetGeneratedRegressionLabel); Assert.AreEqual(DataKind.R4, labelCol.Type); diff --git a/src/Test/DatasetUtil.cs b/src/Test/DatasetUtil.cs index 2ffa6243f3..8e14aea9f1 100644 --- a/src/Test/DatasetUtil.cs +++ b/src/Test/DatasetUtil.cs @@ -27,7 +27,7 @@ public static IDataView GetUciAdultDataView() { var context = new MLContext(); var uciAdultDataFile = DownloadUciAdultDataset(); - var columnInferenceResult = context.AutoInference().InferColumns(uciAdultDataFile, UciAdultLabel); + var columnInferenceResult = context.Auto().InferColumns(uciAdultDataFile, UciAdultLabel); var textLoader = context.Data.CreateTextLoader(columnInferenceResult.TextLoaderArgs); _uciAdultDataView = textLoader.Read(uciAdultDataFile); } diff --git a/src/Test/RunResultTests.cs b/src/Test/RunResultTests.cs index c60db4dad2..38aa123a47 100644 --- a/src/Test/RunResultTests.cs +++ b/src/Test/RunResultTests.cs @@ -28,7 +28,7 @@ public void FindBestResultWithSomeNullMetrics() var metricsAgent = new RegressionMetricsAgent(RegressionMetric.RSquared); var bestResult = RunResultUtil.GetBestRunResult(runResults, metricsAgent); - Assert.AreEqual(0.3, bestResult.Metrics.RSquared); + Assert.AreEqual(0.3, bestResult.ValidationMetrics.RSquared); } [TestMethod] diff --git a/src/mlnet.Test/DatasetUtil.cs b/src/mlnet.Test/DatasetUtil.cs index c45cd4f374..d1441feca2 100644 --- a/src/mlnet.Test/DatasetUtil.cs +++ b/src/mlnet.Test/DatasetUtil.cs @@ -27,7 +27,7 @@ public static IDataView GetUciAdultDataView() { var context = new MLContext(); var uciAdultDataFile = DownloadUciAdultDataset(); - var columnInferenceResult = context.AutoInference().InferColumns(uciAdultDataFile, UciAdultLabel); + var columnInferenceResult = context.Auto().InferColumns(uciAdultDataFile, UciAdultLabel); var textLoader = context.Data.CreateTextLoader(columnInferenceResult.TextLoaderArgs); _uciAdultDataView = textLoader.Read(uciAdultDataFile); } diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index 4ab32b6d4b..76eac543a0 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -89,11 +89,11 @@ internal ColumnInferenceResults InferColumns(MLContext context) var dataset = settings.Dataset.FullName; if (settings.LabelColumnName != null) { - columnInference = context.AutoInference().InferColumns(dataset, settings.LabelColumnName, groupColumns: false); + columnInference = context.Auto().InferColumns(dataset, settings.LabelColumnName, groupColumns: false); } else { - columnInference = context.AutoInference().InferColumns(dataset, settings.LabelColumnIndex, hasHeader: settings.HasHeader, groupColumns: false); + columnInference = context.Auto().InferColumns(dataset, settings.LabelColumnIndex, hasHeader: settings.HasHeader, groupColumns: false); } return columnInference; @@ -127,10 +127,10 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p if (taskKind == TaskKind.BinaryClassification) { var progressReporter = new ProgressHandlers.BinaryClassificationHandler(); - var result = context.AutoInference() + var result = context.Auto() .CreateBinaryClassificationExperiment(new BinaryExperimentSettings() { - MaxInferenceTimeInSeconds = settings.MaxExplorationTime, + MaxExperimentTimeInSeconds = settings.MaxExplorationTime, ProgressHandler = progressReporter }) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); @@ -143,10 +143,10 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p if (taskKind == TaskKind.Regression) { var progressReporter = new ProgressHandlers.RegressionHandler(); - var result = context.AutoInference() + var result = context.Auto() .CreateRegressionExperiment(new RegressionExperimentSettings() { - MaxInferenceTimeInSeconds = settings.MaxExplorationTime, + MaxExperimentTimeInSeconds = settings.MaxExplorationTime, ProgressHandler = progressReporter }).Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); diff --git a/src/mlnet/Utilities/ProgressHandlers.cs b/src/mlnet/Utilities/ProgressHandlers.cs index 29d550ca99..4785f4d671 100644 --- a/src/mlnet/Utilities/ProgressHandlers.cs +++ b/src/mlnet/Utilities/ProgressHandlers.cs @@ -21,7 +21,7 @@ public RegressionHandler() public void Report(RunResult iterationResult) { iterationIndex++; - ConsolePrinter.PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.Metrics); + ConsolePrinter.PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics); } } @@ -36,7 +36,7 @@ internal BinaryClassificationHandler() public void Report(RunResult iterationResult) { iterationIndex++; - ConsolePrinter.PrintBinaryClassificationMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.Metrics); + ConsolePrinter.PrintBinaryClassificationMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics); } } } From 584a0d6b3ba0132773342b488c77f45807739b4d Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 28 Feb 2019 15:57:34 -0800 Subject: [PATCH 130/211] Samples / API rev from 2/27 bug bash feedback (#242) --- .../API/BinaryClassificationExperiment.cs | 8 +- .../API/MulticlassClassificationExperiment.cs | 8 +- .../API/RegressionExperiment.cs | 8 +- src/Samples/AutoTrainBinaryClassification.cs | 25 +- .../AutoTrainMulticlassClassification.cs | 31 +- src/Samples/AutoTrainRegression.cs | 27 +- src/Samples/Cancellation.cs | 13 +- src/Samples/CustomizeTraining.cs | 12 +- src/Samples/Data/README.md | 10 +- src/Samples/Data/iris-test.txt | 31 - src/Samples/Data/iris-train.txt | 121 - src/Samples/Data/optdigits-test.csv | 1797 ++++++++ src/Samples/Data/optdigits-train.csv | 3824 +++++++++++++++++ src/Samples/Helpers/ConsoleHelper.cs | 146 + src/Samples/ObserveProgress.cs | 32 +- 15 files changed, 5857 insertions(+), 236 deletions(-) delete mode 100644 src/Samples/Data/iris-test.txt delete mode 100644 src/Samples/Data/iris-train.txt create mode 100644 src/Samples/Data/optdigits-test.csv create mode 100644 src/Samples/Data/optdigits-train.csv create mode 100644 src/Samples/Helpers/ConsoleHelper.cs diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index ed9e55770c..400ee1e07f 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -64,7 +64,13 @@ public IEnumerable> Execute(IDataView tra return Execute(_context, trainData, columnInformation, null, preFeaturizers); } - public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + public IEnumerable> Execute(IDataView trainData, IDataView validationData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizers = null) + { + var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; + return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); + } + + public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) { return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); } diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index 710640c0fe..b6be8b2e5b 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -62,7 +62,13 @@ public IEnumerable> Execute(IDataView tra return Execute(_context, trainData, columnInformation, null, preFeaturizers); } - public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + public IEnumerable> Execute(IDataView trainData, IDataView validationData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizers = null) + { + var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; + return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); + } + + public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) { return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); } diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index dc4cb305c5..f7de008aec 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -59,7 +59,13 @@ public IEnumerable> Execute(IDataView trainData, Co return Execute(_context, trainData, columnInformation, null, preFeaturizers); } - public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + public IEnumerable> Execute(IDataView trainData, IDataView validationData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizers = null) + { + var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; + return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); + } + + public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) { return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); } diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index c10560e461..b2580689d7 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -3,12 +3,14 @@ // See the LICENSE file in the project root for more information. using System; +using System.Collections.Generic; using System.IO; using System.Linq; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; +using Samples.Helpers; namespace Samples { @@ -26,32 +28,33 @@ public static void Run() MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn); + ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn); + ConsoleHelper.Print(columnInference); // STEP 2: Load data - var textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - var trainDataView = textLoader.Read(TrainDataPath); - var testDataView = textLoader.Read(TestDataPath); + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + IDataView trainDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Running AutoML binary classification experiment for {ExperimentTime} seconds..."); - var runResults = mlContext.Auto() - .CreateBinaryClassificationExperiment(ExperimentTime) - .Execute(trainDataView, LabelColumn); + IEnumerable> runResults = mlContext.Auto() + .CreateBinaryClassificationExperiment(ExperimentTime) + .Execute(trainDataView, LabelColumn); // STEP 4: Print metric from the best model - var best = runResults.Best(); + RunResult best = runResults.Best(); Console.WriteLine($"Total models produced: {runResults.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); Console.WriteLine($"Accuracy of best model from validation data: {best.ValidationMetrics.Accuracy}"); // STEP 5: Evaluate test data - var testDataViewWithBestScore = best.Model.Transform(testDataView); - var testMetrics = mlContext.BinaryClassification.EvaluateNonCalibrated(testDataViewWithBestScore, label: LabelColumn); + IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); + BinaryClassificationMetrics testMetrics = mlContext.BinaryClassification.EvaluateNonCalibrated(testDataViewWithBestScore, label: LabelColumn); Console.WriteLine($"Accuracy of best model on test data: {testMetrics.Accuracy}"); // STEP 6: Save the best model for later deployment and inferencing - using (var fs = File.Create(ModelPath)) + using (FileStream fs = File.Create(ModelPath)) best.Model.SaveTo(mlContext, fs); Console.WriteLine("Press any key to continue..."); diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index fa1afa52f6..237afe00c7 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -3,21 +3,23 @@ // See the LICENSE file in the project root for more information. using System; +using System.Collections.Generic; using System.IO; using System.Linq; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; +using Samples.Helpers; namespace Samples { public class AutoTrainMulticlassClassification { private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; - private static string TrainDataPath = $"{BaseDatasetsLocation}/iris-train.txt"; - private static string TestDataPath = $"{BaseDatasetsLocation}/iris-test.txt"; - private static string ModelPath = $"{BaseDatasetsLocation}/IrisClassificationModel.zip"; + private static string TrainDataPath = $"{BaseDatasetsLocation}/optdigits-train.csv"; + private static string TestDataPath = $"{BaseDatasetsLocation}/optdigits-test.csv"; + private static string ModelPath = $"{BaseDatasetsLocation}/OptDigits.zip"; private static uint ExperimentTime = 60; public static void Run() @@ -25,32 +27,33 @@ public static void Run() MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.Auto().InferColumns(TrainDataPath); + ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath); + ConsoleHelper.Print(columnInference); // STEP 2: Load data - var textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - var trainDataView = textLoader.Read(TrainDataPath); - var testDataView = textLoader.Read(TestDataPath); + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + IDataView trainDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Running AutoML multiclass classification experiment for {ExperimentTime} seconds..."); - var runResults = mlContext.Auto() - .CreateMulticlassClassificationExperiment(60) - .Execute(trainDataView); + IEnumerable> runResults = mlContext.Auto() + .CreateMulticlassClassificationExperiment(60) + .Execute(trainDataView); // STEP 4: Print metric from the best model - var best = runResults.Best(); + RunResult best = runResults.Best(); Console.WriteLine($"Total models produced: {runResults.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); Console.WriteLine($"AccuracyMacro of best model from validation data: {best.ValidationMetrics.AccuracyMacro}"); // STEP 5: Evaluate test data - var testDataViewWithBestScore = best.Model.Transform(testDataView); - var testMetrics = mlContext.MulticlassClassification.Evaluate(testDataViewWithBestScore); + IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); + MultiClassClassifierMetrics testMetrics = mlContext.MulticlassClassification.Evaluate(testDataViewWithBestScore); Console.WriteLine($"AccuracyMacro of best model on test data: {testMetrics.AccuracyMacro}"); // STEP 6: Save the best model for later deployment and inferencing - using (var fs = File.Create(ModelPath)) + using (FileStream fs = File.Create(ModelPath)) best.Model.SaveTo(mlContext, fs); Console.WriteLine("Press any key to continue..."); diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index b99dd614da..b842403512 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -3,12 +3,14 @@ // See the LICENSE file in the project root for more information. using System; +using System.Collections.Generic; using System.IO; using System.Linq; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; +using Samples.Helpers; namespace Samples { @@ -26,32 +28,33 @@ public static void Run() MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn); + ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn); + ConsoleHelper.Print(columnInference); // STEP 2: Load data - var textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - var trainDataView = textLoader.Read(TrainDataPath); - var testDataView = textLoader.Read(TestDataPath); + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + IDataView trainDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Running AutoML multiclass classification experiment for {ExperimentTime} seconds..."); - var runResults = mlContext.Auto() - .CreateRegressionExperiment(60) - .Execute(trainDataView, LabelColumn); - + IEnumerable> runResults = mlContext.Auto() + .CreateRegressionExperiment(60) + .Execute(trainDataView, LabelColumn); + // STEP 4: Print metric from best model - var best = runResults.Best(); + RunResult best = runResults.Best(); Console.WriteLine($"Total models produced: {runResults.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); Console.WriteLine($"RSquared of best model from validation data: {best.ValidationMetrics.RSquared}"); // STEP 5: Evaluate test data - var testDataViewWithBestScore = best.Model.Transform(testDataView); - var testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: LabelColumn); + IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); + RegressionMetrics testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: LabelColumn); Console.WriteLine($"RSquared of best model on test data: {testMetrics.RSquared}"); // STEP 6: Save the best model for later deployment and inferencing - using (var fs = File.Create(ModelPath)) + using (FileStream fs = File.Create(ModelPath)) best.Model.SaveTo(mlContext, fs); Console.WriteLine("Press any key to continue..."); diff --git a/src/Samples/Cancellation.cs b/src/Samples/Cancellation.cs index 10a53215b9..edb7e1cb2d 100644 --- a/src/Samples/Cancellation.cs +++ b/src/Samples/Cancellation.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading; @@ -10,6 +11,7 @@ using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; +using Samples.Helpers; namespace Samples { @@ -26,12 +28,13 @@ public static void Run() MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn, ','); + ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn, ','); + ConsoleHelper.Print(columnInference); // STEP 2: Load data - var textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - var trainDataView = textLoader.Read(TrainDataPath); - var testDataView = textLoader.Read(TestDataPath); + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + IDataView trainDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); int cancelAfterInSeconds = 20; CancellationTokenSource cts = new CancellationTokenSource(); @@ -41,7 +44,7 @@ public static void Run() // STEP 3: Auto inference with a cancellation token Console.WriteLine($"Invoking an experiment that will be cancelled after {cancelAfterInSeconds} seconds"); - var runResults = mlContext.Auto() + IEnumerable> runResults = mlContext.Auto() .CreateRegressionExperiment(new RegressionExperimentSettings() { MaxExperimentTimeInSeconds = 60, diff --git a/src/Samples/CustomizeTraining.cs b/src/Samples/CustomizeTraining.cs index 36be3cf435..58c9dfaf07 100644 --- a/src/Samples/CustomizeTraining.cs +++ b/src/Samples/CustomizeTraining.cs @@ -7,6 +7,7 @@ using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; +using Samples.Helpers; namespace Samples { @@ -23,16 +24,17 @@ public static void Run() MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn, ','); + ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn, ','); + ConsoleHelper.Print(columnInference); // STEP 2: Load data - var textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - var trainDataView = textLoader.Read(TrainDataPath); - var testDataView = textLoader.Read(TestDataPath); + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + IDataView trainDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); // STEP 3: Using a different optimizing metric instead of default R2 and whitelisting only LightGbm Console.WriteLine($"Starting an experiment with L2 optimizing metric and whitelisting LightGbm trainer"); - var autoExperiment = mlContext.Auto().CreateRegressionExperiment(new RegressionExperimentSettings() + RegressionExperiment autoExperiment = mlContext.Auto().CreateRegressionExperiment(new RegressionExperimentSettings() { MaxExperimentTimeInSeconds = 20, OptimizingMetric = RegressionMetric.L2, diff --git a/src/Samples/Data/README.md b/src/Samples/Data/README.md index cd5d3b811d..289319400f 100644 --- a/src/Samples/Data/README.md +++ b/src/Samples/Data/README.md @@ -16,15 +16,11 @@ The datasets are provided under the original terms that Microsoft received such > >Original readme: https://meta.wikimedia.org/wiki/Research:Detox -### UCI Iris Flower Dataset +### MNIST ->Redistributing the datasets "iris-test.txt" and "iris-train.txt" with attribution: +> MNIST data originally from [NIST](https://www.nist.gov) and modified by Chris Burges, Corinna Cortes, and Yann LeCun. http://yann.lecun.com/exdb/mnist/ > ->Dua, D. and Karra Taniskidou, E. (2017). UCI Machine Learning Repository [https://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science. -> ->With modifications to "iris.txt" by changing the separator character, order of columns, and numerical encoding of labels. -> ->https://archive.ics.uci.edu/ml/datasets/iris +> More information: https://en.wikipedia.org/wiki/MNIST_database ### NYC Taxi Fare diff --git a/src/Samples/Data/iris-test.txt b/src/Samples/Data/iris-test.txt deleted file mode 100644 index 0e43389e71..0000000000 --- a/src/Samples/Data/iris-test.txt +++ /dev/null @@ -1,31 +0,0 @@ -Label Sepal length Sepal width Petal length Petal width -0 5.1 3.5 1.4 0.2 -0 4.9 3.0 1.4 0.2 -0 4.7 3.2 1.3 0.2 -0 4.6 3.1 1.5 0.2 -0 5.0 3.6 1.4 0.2 -0 5.4 3.9 1.7 0.4 -0 4.6 3.4 1.4 0.3 -0 5.0 3.4 1.5 0.2 -0 4.4 2.9 1.4 0.2 -0 4.9 3.1 1.5 0.1 -1 7.0 3.2 4.7 1.4 -1 6.4 3.2 4.5 1.5 -1 6.9 3.1 4.9 1.5 -1 5.5 2.3 4.0 1.3 -1 6.5 2.8 4.6 1.5 -1 5.7 2.8 4.5 1.3 -1 6.3 3.3 4.7 1.6 -1 4.9 2.4 3.3 1.0 -1 6.6 2.9 4.6 1.3 -1 5.2 2.7 3.9 1.4 -2 6.3 3.3 6.0 2.5 -2 5.8 2.7 5.1 1.9 -2 7.1 3.0 5.9 2.1 -2 6.3 2.9 5.6 1.8 -2 6.5 3.0 5.8 2.2 -2 7.6 3.0 6.6 2.1 -2 4.9 2.5 4.5 1.7 -2 7.3 2.9 6.3 1.8 -2 6.7 2.5 5.8 1.8 -2 7.2 3.6 6.1 2.5 diff --git a/src/Samples/Data/iris-train.txt b/src/Samples/Data/iris-train.txt deleted file mode 100644 index 5f7fe7d010..0000000000 --- a/src/Samples/Data/iris-train.txt +++ /dev/null @@ -1,121 +0,0 @@ -Label Sepal length Sepal width Petal length Petal width -0 5.4 3.7 1.5 0.2 -0 4.8 3.4 1.6 0.2 -0 4.8 3.0 1.4 0.1 -0 4.3 3.0 1.1 0.1 -0 5.8 4.0 1.2 0.2 -0 5.7 4.4 1.5 0.4 -0 5.4 3.9 1.3 0.4 -0 5.1 3.5 1.4 0.3 -0 5.7 3.8 1.7 0.3 -0 5.1 3.8 1.5 0.3 -0 5.4 3.4 1.7 0.2 -0 5.1 3.7 1.5 0.4 -0 4.6 3.6 1.0 0.2 -0 5.1 3.3 1.7 0.5 -0 4.8 3.4 1.9 0.2 -0 5.0 3.0 1.6 0.2 -0 5.0 3.4 1.6 0.4 -0 5.2 3.5 1.5 0.2 -0 5.2 3.4 1.4 0.2 -0 4.7 3.2 1.6 0.2 -0 4.8 3.1 1.6 0.2 -0 5.4 3.4 1.5 0.4 -0 5.2 4.1 1.5 0.1 -0 5.5 4.2 1.4 0.2 -0 4.9 3.1 1.5 0.1 -0 5.0 3.2 1.2 0.2 -0 5.5 3.5 1.3 0.2 -0 4.9 3.1 1.5 0.1 -0 4.4 3.0 1.3 0.2 -0 5.1 3.4 1.5 0.2 -0 5.0 3.5 1.3 0.3 -0 4.5 2.3 1.3 0.3 -0 4.4 3.2 1.3 0.2 -0 5.0 3.5 1.6 0.6 -0 5.1 3.8 1.9 0.4 -0 4.8 3.0 1.4 0.3 -0 5.1 3.8 1.6 0.2 -0 4.6 3.2 1.4 0.2 -0 5.3 3.7 1.5 0.2 -0 5.0 3.3 1.4 0.2 -1 5.0 2.0 3.5 1.0 -1 5.9 3.0 4.2 1.5 -1 6.0 2.2 4.0 1.0 -1 6.1 2.9 4.7 1.4 -1 5.6 2.9 3.6 1.3 -1 6.7 3.1 4.4 1.4 -1 5.6 3.0 4.5 1.5 -1 5.8 2.7 4.1 1.0 -1 6.2 2.2 4.5 1.5 -1 5.6 2.5 3.9 1.1 -1 5.9 3.2 4.8 1.8 -1 6.1 2.8 4.0 1.3 -1 6.3 2.5 4.9 1.5 -1 6.1 2.8 4.7 1.2 -1 6.4 2.9 4.3 1.3 -1 6.6 3.0 4.4 1.4 -1 6.8 2.8 4.8 1.4 -1 6.7 3.0 5.0 1.7 -1 6.0 2.9 4.5 1.5 -1 5.7 2.6 3.5 1.0 -1 5.5 2.4 3.8 1.1 -1 5.5 2.4 3.7 1.0 -1 5.8 2.7 3.9 1.2 -1 6.0 2.7 5.1 1.6 -1 5.4 3.0 4.5 1.5 -1 6.0 3.4 4.5 1.6 -1 6.7 3.1 4.7 1.5 -1 6.3 2.3 4.4 1.3 -1 5.6 3.0 4.1 1.3 -1 5.5 2.5 4.0 1.3 -1 5.5 2.6 4.4 1.2 -1 6.1 3.0 4.6 1.4 -1 5.8 2.6 4.0 1.2 -1 5.0 2.3 3.3 1.0 -1 5.6 2.7 4.2 1.3 -1 5.7 3.0 4.2 1.2 -1 5.7 2.9 4.2 1.3 -1 6.2 2.9 4.3 1.3 -1 5.1 2.5 3.0 1.1 -1 5.7 2.8 4.1 1.3 -2 6.5 3.2 5.1 2.0 -2 6.4 2.7 5.3 1.9 -2 6.8 3.0 5.5 2.1 -2 5.7 2.5 5.0 2.0 -2 5.8 2.8 5.1 2.4 -2 6.4 3.2 5.3 2.3 -2 6.5 3.0 5.5 1.8 -2 7.7 3.8 6.7 2.2 -2 7.7 2.6 6.9 2.3 -2 6.0 2.2 5.0 1.5 -2 6.9 3.2 5.7 2.3 -2 5.6 2.8 4.9 2.0 -2 7.7 2.8 6.7 2.0 -2 6.3 2.7 4.9 1.8 -2 6.7 3.3 5.7 2.1 -2 7.2 3.2 6.0 1.8 -2 6.2 2.8 4.8 1.8 -2 6.1 3.0 4.9 1.8 -2 6.4 2.8 5.6 2.1 -2 7.2 3.0 5.8 1.6 -2 7.4 2.8 6.1 1.9 -2 7.9 3.8 6.4 2.0 -2 6.4 2.8 5.6 2.2 -2 6.3 2.8 5.1 1.5 -2 6.1 2.6 5.6 1.4 -2 7.7 3.0 6.1 2.3 -2 6.3 3.4 5.6 2.4 -2 6.4 3.1 5.5 1.8 -2 6.0 3.0 4.8 1.8 -2 6.9 3.1 5.4 2.1 -2 6.7 3.1 5.6 2.4 -2 6.9 3.1 5.1 2.3 -2 5.8 2.7 5.1 1.9 -2 6.8 3.2 5.9 2.3 -2 6.7 3.3 5.7 2.5 -2 6.7 3.0 5.2 2.3 -2 6.3 2.5 5.0 1.9 -2 6.5 3.0 5.2 2.0 -2 6.2 3.4 5.4 2.3 -2 5.9 3.0 5.1 1.8 diff --git a/src/Samples/Data/optdigits-test.csv b/src/Samples/Data/optdigits-test.csv new file mode 100644 index 0000000000..0efbb0048a --- /dev/null +++ b/src/Samples/Data/optdigits-test.csv @@ -0,0 +1,1797 @@ +0,0,5,13,9,1,0,0,0,0,13,15,10,15,5,0,0,3,15,2,0,11,8,0,0,4,12,0,0,8,8,0,0,5,8,0,0,9,8,0,0,4,11,0,1,12,7,0,0,2,14,5,10,12,0,0,0,0,6,13,10,0,0,0,0 +0,0,0,12,13,5,0,0,0,0,0,11,16,9,0,0,0,0,3,15,16,6,0,0,0,7,15,16,16,2,0,0,0,0,1,16,16,3,0,0,0,0,1,16,16,6,0,0,0,0,1,16,16,6,0,0,0,0,0,11,16,10,0,0,1 +0,0,0,4,15,12,0,0,0,0,3,16,15,14,0,0,0,0,8,13,8,16,0,0,0,0,1,6,15,11,0,0,0,1,8,13,15,1,0,0,0,9,16,16,5,0,0,0,0,3,13,16,16,11,5,0,0,0,0,3,11,16,9,0,2 +0,0,7,15,13,1,0,0,0,8,13,6,15,4,0,0,0,2,1,13,13,0,0,0,0,0,2,15,11,1,0,0,0,0,0,1,12,12,1,0,0,0,0,0,1,10,8,0,0,0,8,4,5,14,9,0,0,0,7,13,13,9,0,0,3 +0,0,0,1,11,0,0,0,0,0,0,7,8,0,0,0,0,0,1,13,6,2,2,0,0,0,7,15,0,9,8,0,0,5,16,10,0,16,6,0,0,4,15,16,13,16,1,0,0,0,0,3,15,10,0,0,0,0,0,2,16,4,0,0,4 +0,0,12,10,0,0,0,0,0,0,14,16,16,14,0,0,0,0,13,16,15,10,1,0,0,0,11,16,16,7,0,0,0,0,0,4,7,16,7,0,0,0,0,0,4,16,9,0,0,0,5,4,12,16,4,0,0,0,9,16,16,10,0,0,5 +0,0,0,12,13,0,0,0,0,0,5,16,8,0,0,0,0,0,13,16,3,0,0,0,0,0,14,13,0,0,0,0,0,0,15,12,7,2,0,0,0,0,13,16,13,16,3,0,0,0,7,16,11,15,8,0,0,0,1,9,15,11,3,0,6 +0,0,7,8,13,16,15,1,0,0,7,7,4,11,12,0,0,0,0,0,8,13,1,0,0,4,8,8,15,15,6,0,0,2,11,15,15,4,0,0,0,0,0,16,5,0,0,0,0,0,9,15,1,0,0,0,0,0,13,5,0,0,0,0,7 +0,0,9,14,8,1,0,0,0,0,12,14,14,12,0,0,0,0,9,10,0,15,4,0,0,0,3,16,12,14,2,0,0,0,4,16,16,2,0,0,0,3,16,8,10,13,2,0,0,1,15,1,3,16,8,0,0,0,11,16,15,11,1,0,8 +0,0,11,12,0,0,0,0,0,2,16,16,16,13,0,0,0,3,16,12,10,14,0,0,0,1,16,1,12,15,0,0,0,0,13,16,9,15,2,0,0,0,0,3,0,9,11,0,0,0,0,0,9,15,4,0,0,0,9,12,13,3,0,0,9 +0,0,1,9,15,11,0,0,0,0,11,16,8,14,6,0,0,2,16,10,0,9,9,0,0,1,16,4,0,8,8,0,0,4,16,4,0,8,8,0,0,1,16,5,1,11,3,0,0,0,12,12,10,10,0,0,0,0,1,10,13,3,0,0,0 +0,0,0,0,14,13,1,0,0,0,0,5,16,16,2,0,0,0,0,14,16,12,0,0,0,1,10,16,16,12,0,0,0,3,12,14,16,9,0,0,0,0,0,5,16,15,0,0,0,0,0,4,16,14,0,0,0,0,0,1,13,16,1,0,1 +0,0,5,12,1,0,0,0,0,0,15,14,7,0,0,0,0,0,13,1,12,0,0,0,0,2,10,0,14,0,0,0,0,0,2,0,16,1,0,0,0,0,0,6,15,0,0,0,0,0,9,16,15,9,8,2,0,0,3,11,8,13,12,4,2 +0,2,9,15,14,9,3,0,0,4,13,8,9,16,8,0,0,0,0,6,14,15,3,0,0,0,0,11,14,2,0,0,0,0,0,2,15,11,0,0,0,0,0,0,2,15,4,0,0,1,5,6,13,16,6,0,0,2,12,12,13,11,0,0,3 +0,0,0,8,15,1,0,0,0,0,1,14,13,1,1,0,0,0,10,15,3,15,11,0,0,7,16,7,1,16,8,0,0,9,16,13,14,16,5,0,0,1,10,15,16,14,0,0,0,0,0,1,16,10,0,0,0,0,0,10,15,4,0,0,4 +0,5,12,13,16,16,2,0,0,11,16,15,8,4,0,0,0,8,14,11,1,0,0,0,0,8,16,16,14,0,0,0,0,1,6,6,16,0,0,0,0,0,0,5,16,3,0,0,0,1,5,15,13,0,0,0,0,4,15,16,2,0,0,0,5 +0,0,0,8,15,1,0,0,0,0,0,12,14,0,0,0,0,0,3,16,7,0,0,0,0,0,6,16,2,0,0,0,0,0,7,16,16,13,5,0,0,0,15,16,9,9,14,0,0,0,3,14,9,2,16,2,0,0,0,7,15,16,11,0,6 +0,0,1,8,15,10,0,0,0,3,13,15,14,14,0,0,0,5,10,0,10,12,0,0,0,0,3,5,15,10,2,0,0,0,16,16,16,16,12,0,0,1,8,12,14,8,3,0,0,0,0,10,13,0,0,0,0,0,0,11,9,0,0,0,7 +0,0,10,7,13,9,0,0,0,0,9,10,12,15,2,0,0,0,4,11,10,11,0,0,0,0,1,16,10,1,0,0,0,0,12,13,4,0,0,0,0,0,12,1,12,0,0,0,0,1,10,2,14,0,0,0,0,0,11,14,5,0,0,0,8 +0,0,6,14,4,0,0,0,0,0,11,16,10,0,0,0,0,0,8,14,16,2,0,0,0,0,1,12,12,11,0,0,0,0,0,0,0,11,3,0,0,0,0,0,0,5,11,0,0,0,1,4,4,7,16,2,0,0,7,16,16,13,11,1,9 +0,0,3,13,11,7,0,0,0,0,11,16,16,16,2,0,0,4,16,9,1,14,2,0,0,4,16,0,0,16,2,0,0,0,16,1,0,12,8,0,0,0,15,9,0,13,6,0,0,0,9,14,9,14,1,0,0,0,2,12,13,4,0,0,0 +0,0,0,2,16,16,2,0,0,0,0,4,16,16,2,0,0,1,4,12,16,12,0,0,0,7,16,16,16,12,0,0,0,0,3,10,16,14,0,0,0,0,0,8,16,12,0,0,0,0,0,6,16,16,2,0,0,0,0,2,12,15,4,0,1 +0,0,8,16,5,0,0,0,0,1,13,11,16,0,0,0,0,0,10,0,13,3,0,0,0,0,3,1,16,1,0,0,0,0,0,9,12,0,0,0,0,0,3,15,5,0,0,0,0,0,14,15,8,8,3,0,0,0,7,12,12,12,13,1,2 +0,1,8,12,15,14,4,0,0,3,11,8,8,12,12,0,0,0,0,0,2,13,7,0,0,0,0,2,15,12,1,0,0,0,0,0,13,5,0,0,0,0,0,0,9,13,0,0,0,0,7,8,14,15,0,0,0,0,14,15,11,2,0,0,3 +0,0,0,0,12,2,0,0,0,0,0,6,14,1,0,0,0,0,4,16,7,8,0,0,0,0,13,9,0,16,6,0,0,6,16,10,11,16,0,0,0,0,5,10,13,16,0,0,0,0,0,0,6,16,0,0,0,0,0,0,12,8,0,0,4 +0,0,12,8,8,7,0,0,0,3,16,16,11,7,0,0,0,2,14,1,0,0,0,0,0,5,14,5,0,0,0,0,0,2,15,16,9,0,0,0,0,0,0,2,16,2,0,0,0,0,4,8,16,4,0,0,0,0,11,14,9,0,0,0,5 +0,0,1,13,14,3,0,0,0,0,8,16,13,2,0,0,0,2,16,16,3,0,0,0,0,3,16,12,1,0,0,0,0,5,16,14,5,0,0,0,0,3,16,16,16,16,6,0,0,1,14,16,16,16,12,0,0,0,3,12,15,14,7,0,6 +0,0,0,8,14,14,2,0,0,0,0,6,10,15,11,0,0,0,0,0,0,14,10,0,0,2,8,11,12,16,8,0,0,8,16,16,16,16,7,0,0,0,0,0,11,15,1,0,0,0,0,9,16,7,0,0,0,0,0,12,13,1,0,0,7 +0,0,10,11,4,0,0,0,0,0,10,15,13,13,1,0,0,0,8,11,0,14,4,0,0,0,0,13,15,13,0,0,0,1,11,16,16,0,0,0,0,1,15,3,9,10,0,0,0,0,14,6,15,10,0,0,0,0,8,14,7,1,0,0,8 +0,0,9,13,7,0,0,0,0,0,12,16,16,2,0,0,0,0,12,13,16,6,0,0,0,0,6,16,16,14,0,0,0,0,0,0,2,16,3,0,0,0,0,0,0,9,10,0,0,0,3,7,12,14,16,2,0,0,7,12,12,12,11,0,9 +0,0,10,14,11,3,0,0,0,4,16,13,6,14,1,0,0,4,16,2,0,11,7,0,0,8,16,0,0,10,5,0,0,8,16,0,0,14,4,0,0,8,16,0,1,16,1,0,0,4,16,1,11,15,0,0,0,0,11,16,12,3,0,0,0 +0,0,2,13,8,0,0,0,0,0,6,16,16,6,0,0,0,0,5,15,13,11,0,0,0,0,0,7,16,15,0,0,0,0,0,0,0,14,3,0,0,0,0,0,0,7,11,0,0,0,0,3,4,4,16,2,0,0,2,15,13,14,13,2,9 +0,2,13,16,16,16,11,0,0,5,16,10,5,4,1,0,0,6,16,7,3,0,0,0,0,9,16,16,16,6,0,0,0,3,8,4,11,15,0,0,0,0,0,1,12,15,0,0,0,0,4,13,16,6,0,0,0,2,16,15,8,0,0,0,5 +0,6,13,5,8,8,1,0,0,8,16,16,16,16,6,0,0,6,16,9,6,4,0,0,0,6,16,16,15,5,0,0,0,0,4,5,15,12,0,0,0,0,0,3,16,9,0,0,0,1,8,13,15,3,0,0,0,4,16,15,3,0,0,0,5 +0,0,0,5,14,2,0,0,0,0,1,13,11,0,0,0,0,0,5,16,2,0,0,0,0,0,6,15,5,0,0,0,0,1,15,16,15,11,1,0,0,2,13,14,1,12,9,0,0,0,4,16,7,13,9,0,0,0,0,5,16,15,3,0,6 +0,3,15,8,8,6,0,0,0,4,16,16,16,13,2,0,0,3,16,9,2,0,0,0,0,2,16,16,15,3,0,0,0,0,7,6,12,9,0,0,0,0,0,1,14,10,0,0,0,0,5,14,15,2,0,0,0,1,15,14,1,0,0,0,5 +0,0,6,14,10,2,0,0,0,0,15,15,13,15,3,0,0,2,16,10,0,13,9,0,0,1,16,5,0,12,5,0,0,0,16,3,0,13,6,0,0,1,15,5,6,13,1,0,0,0,16,11,14,10,0,0,0,0,7,16,11,1,0,0,0 +0,0,13,10,1,0,0,0,0,5,16,14,7,0,0,0,0,4,16,8,14,0,0,0,0,2,14,16,16,6,0,0,0,0,1,4,9,13,1,0,0,0,0,0,0,13,6,0,0,0,5,8,5,9,14,0,0,0,13,13,15,16,13,0,9 +0,0,7,7,13,16,4,0,0,0,13,13,6,12,7,0,0,0,10,4,10,11,1,0,0,0,8,16,10,0,0,0,0,3,14,16,0,0,0,0,0,8,8,11,5,0,0,0,0,4,10,9,8,0,0,0,0,1,11,16,6,0,0,0,8 +0,1,9,16,13,7,0,0,0,7,14,4,10,12,0,0,0,6,15,9,16,11,0,0,0,0,9,11,7,14,0,0,0,0,0,0,0,15,2,0,0,0,0,0,0,11,6,0,0,3,13,8,5,14,5,0,0,0,9,14,13,10,1,0,9 +0,0,11,10,12,4,0,0,0,0,12,13,9,16,1,0,0,0,7,13,11,16,0,0,0,0,1,16,14,4,0,0,0,0,10,16,13,0,0,0,0,0,14,7,12,7,0,0,0,4,14,4,12,13,0,0,0,1,11,14,12,4,0,0,8 +0,0,0,9,15,1,0,0,0,0,4,16,12,0,0,0,0,0,15,14,2,11,3,0,0,4,16,9,4,16,10,0,0,9,16,11,13,16,2,0,0,0,9,16,16,14,0,0,0,0,0,8,16,6,0,0,0,0,0,9,16,2,0,0,4 +0,0,0,0,12,5,0,0,0,0,0,2,16,12,0,0,0,0,1,12,16,11,0,0,0,2,12,16,16,10,0,0,0,6,11,5,15,6,0,0,0,0,0,1,16,9,0,0,0,0,0,2,16,11,0,0,0,0,0,3,16,8,0,0,1 +0,0,0,9,15,12,0,0,0,0,4,7,7,14,0,0,0,0,0,0,0,13,3,0,0,4,9,8,10,13,1,0,0,4,16,15,16,16,6,0,0,0,0,0,14,3,0,0,0,0,0,9,12,0,0,0,0,0,0,11,7,0,0,0,7 +0,0,9,16,16,16,5,0,0,1,14,10,8,16,8,0,0,0,0,0,7,16,3,0,0,3,8,11,15,16,11,0,0,8,16,16,15,11,3,0,0,0,2,16,7,0,0,0,0,0,8,16,1,0,0,0,0,0,13,10,0,0,0,0,7 +0,0,9,16,13,6,0,0,0,0,6,5,16,16,0,0,0,0,0,8,15,5,0,0,0,0,0,5,14,3,0,0,0,0,0,0,9,15,2,0,0,0,0,0,0,11,12,0,0,0,4,8,11,15,12,0,0,0,11,14,12,8,0,0,3 +0,1,15,4,0,0,0,0,0,2,16,16,16,14,2,0,0,6,16,11,8,8,3,0,0,5,16,11,5,0,0,0,0,0,11,14,14,1,0,0,0,0,0,5,16,7,0,0,0,0,6,16,16,4,0,0,0,0,14,14,4,0,0,0,5 +0,0,0,1,11,9,0,0,0,0,0,7,16,13,0,0,0,0,4,14,16,9,0,0,0,10,16,11,16,8,0,0,0,0,0,3,16,6,0,0,0,0,0,3,16,8,0,0,0,0,0,5,16,10,0,0,0,0,0,2,14,6,0,0,1 +0,0,2,15,13,3,0,0,0,0,10,15,11,15,0,0,0,3,16,6,0,10,0,0,0,4,16,8,0,3,8,0,0,8,14,3,0,4,8,0,0,3,15,1,0,3,7,0,0,0,14,11,6,14,5,0,0,0,4,12,15,6,0,0,0 +0,0,1,15,13,1,0,0,0,0,7,16,14,8,0,0,0,8,12,9,2,13,2,0,0,7,9,1,0,6,6,0,0,5,9,0,0,3,9,0,0,0,15,2,0,8,12,0,0,0,9,15,13,16,6,0,0,0,0,13,14,8,0,0,0 +0,0,0,5,14,12,2,0,0,0,7,15,8,14,4,0,0,0,6,2,3,13,1,0,0,0,0,1,13,4,0,0,0,0,1,11,9,0,0,0,0,8,16,13,0,0,0,0,0,5,14,16,11,2,0,0,0,0,0,6,12,13,3,0,2 +0,0,0,3,15,10,1,0,0,0,0,11,10,16,4,0,0,0,0,12,1,15,6,0,0,0,0,3,4,15,4,0,0,0,0,6,15,6,0,0,0,4,15,16,9,0,0,0,0,0,13,16,15,9,3,0,0,0,0,4,9,14,7,0,2 +0,0,3,12,16,16,6,0,0,0,10,11,7,16,11,0,0,0,0,0,2,14,10,0,0,5,11,8,9,16,3,0,0,9,16,16,16,16,9,0,0,1,4,9,16,6,0,0,0,0,0,11,14,0,0,0,0,0,4,16,5,0,0,0,7 +0,0,4,8,16,5,0,0,0,0,9,16,8,11,0,0,0,0,5,10,0,13,2,0,0,0,0,13,4,15,2,0,0,0,0,9,16,8,0,0,0,0,8,15,14,5,0,0,0,0,16,5,14,4,0,0,0,0,6,16,12,1,0,0,8 +0,0,0,1,14,14,3,0,0,0,0,10,11,13,8,0,0,0,0,7,0,13,8,0,0,0,0,0,7,15,1,0,0,4,8,12,15,4,0,0,0,6,16,16,6,0,0,0,0,0,2,12,12,4,2,0,0,0,0,1,13,16,5,0,2 +0,0,2,14,15,5,0,0,0,0,10,16,16,15,1,0,0,3,16,10,10,16,4,0,0,5,16,0,0,14,6,0,0,5,16,6,0,12,7,0,0,1,15,13,4,13,6,0,0,0,11,16,16,15,0,0,0,0,2,11,13,4,0,0,0 +0,0,0,0,12,13,1,0,0,0,0,8,16,15,2,0,0,0,10,16,16,12,0,0,0,4,16,16,16,13,0,0,0,4,7,4,16,6,0,0,0,0,0,1,16,8,0,0,0,0,0,1,16,8,0,0,0,0,0,0,12,12,0,0,1 +0,0,0,1,9,11,0,0,0,0,0,13,16,16,0,0,0,0,0,12,7,14,0,0,0,0,0,0,14,7,0,0,0,0,5,12,12,0,0,0,0,7,16,16,6,0,0,0,0,4,9,13,16,11,4,0,0,0,0,0,9,13,3,0,2 +0,0,0,10,13,1,0,0,0,1,11,12,7,0,0,0,0,2,16,12,0,0,0,0,0,4,16,11,0,0,0,0,0,4,16,15,8,4,0,0,0,4,16,16,13,16,6,0,0,0,7,16,7,13,14,0,0,0,0,7,15,15,5,0,6 +0,1,10,15,11,1,0,0,0,3,8,8,11,12,0,0,0,0,0,5,14,15,1,0,0,0,0,11,15,2,0,0,0,0,0,4,15,2,0,0,0,0,0,0,12,10,0,0,0,0,3,4,10,16,1,0,0,0,13,16,15,10,0,0,3 +0,0,10,15,14,4,0,0,0,0,4,6,13,16,2,0,0,0,0,3,16,9,0,0,0,0,0,1,16,6,0,0,0,0,0,0,10,12,0,0,0,0,0,0,1,16,4,0,0,1,9,5,6,16,7,0,0,0,14,12,15,11,2,0,3 +0,0,6,13,16,6,0,0,0,3,16,14,15,16,1,0,0,0,5,0,8,16,2,0,0,0,0,0,8,16,3,0,0,3,15,16,16,16,9,0,0,5,13,14,16,11,3,0,0,0,0,12,15,1,0,0,0,0,4,16,7,0,0,0,7 +0,0,14,16,14,6,0,0,0,0,7,10,16,16,3,0,0,0,0,5,16,16,1,0,0,0,0,2,16,8,0,0,0,0,0,0,12,13,1,0,0,0,0,0,4,16,7,0,0,0,5,9,14,16,7,0,0,0,13,16,16,10,1,0,3 +0,3,16,16,14,7,1,0,0,1,9,9,15,16,4,0,0,0,0,7,16,12,1,0,0,0,0,9,16,2,0,0,0,0,0,3,15,7,0,0,0,0,0,0,9,15,0,0,0,1,10,10,16,16,3,0,0,2,13,16,12,5,0,0,3 +0,0,0,6,16,4,0,0,0,0,1,13,15,1,0,0,0,1,11,16,5,0,0,0,0,8,16,10,0,10,6,0,0,12,16,8,9,16,12,0,0,2,15,16,16,16,7,0,0,0,0,4,16,11,0,0,0,0,0,7,16,3,0,0,4 +0,0,0,9,10,0,0,0,0,0,7,16,7,0,0,0,0,0,13,13,1,0,0,0,0,0,15,7,0,0,0,0,0,4,16,15,12,7,0,0,0,2,16,12,4,11,10,0,0,0,8,14,5,9,14,0,0,0,0,6,12,14,9,0,6 +0,0,0,10,11,0,0,0,0,0,9,16,6,0,0,0,0,0,15,13,0,0,0,0,0,0,14,10,0,0,0,0,0,1,15,12,8,2,0,0,0,0,12,16,16,16,10,1,0,0,7,16,12,12,16,4,0,0,0,9,15,12,5,0,6 +0,0,5,14,0,0,0,0,0,0,12,9,0,0,0,0,0,0,15,3,0,0,0,0,0,1,16,0,0,0,0,0,0,1,16,2,7,4,0,0,0,3,16,16,16,16,9,0,0,0,15,15,4,10,16,0,0,0,4,14,16,12,7,0,6 +0,0,0,9,9,0,0,0,0,0,3,16,9,0,0,0,0,3,14,10,0,2,0,0,0,10,16,5,7,15,1,0,0,2,11,15,16,13,1,0,0,0,0,7,16,3,0,0,0,0,0,6,15,0,0,0,0,0,0,4,16,5,0,0,4 +0,0,6,12,13,6,0,0,0,6,16,9,12,16,2,0,0,7,16,9,15,13,0,0,0,0,11,15,16,4,0,0,0,0,0,12,10,0,0,0,0,0,3,16,4,0,0,0,0,0,1,16,2,0,0,0,0,0,6,11,0,0,0,0,9 +0,0,0,0,14,7,0,0,0,0,0,13,16,9,0,0,0,0,10,16,16,7,0,0,0,7,16,8,16,2,0,0,0,1,5,6,16,6,0,0,0,0,0,4,16,6,0,0,0,0,0,2,16,6,0,0,0,0,0,0,12,11,0,0,1 +0,1,13,15,12,12,5,0,0,4,16,8,8,6,0,0,0,7,13,0,0,0,0,0,0,8,15,13,15,7,0,0,0,1,6,5,8,12,0,0,0,0,0,0,12,11,0,0,0,0,2,13,14,1,0,0,0,3,14,10,1,0,0,0,5 +0,0,1,13,10,0,0,0,0,7,16,16,16,7,0,0,0,8,16,13,10,15,0,0,0,8,16,2,2,15,3,0,0,5,15,2,0,12,7,0,0,1,15,6,2,16,3,0,0,0,11,15,13,16,0,0,0,0,1,15,14,8,0,0,0 +0,1,12,13,4,0,0,0,0,4,16,16,16,3,0,0,0,4,16,16,16,10,0,0,0,0,6,16,14,16,0,0,0,0,0,0,0,16,4,0,0,0,0,0,0,13,7,0,0,1,2,3,7,14,10,0,0,2,12,16,14,12,3,0,9 +0,0,13,13,8,2,0,0,0,5,16,16,16,12,0,0,0,1,15,12,0,0,0,0,0,0,12,13,7,1,0,0,0,0,8,16,16,12,0,0,0,0,0,4,9,16,3,0,0,0,1,5,14,15,1,0,0,0,10,16,16,6,0,0,5 +0,0,0,0,9,13,0,0,0,0,0,2,16,16,1,0,0,0,0,5,9,15,0,0,0,0,0,0,5,14,0,0,0,0,0,3,15,7,0,0,0,7,16,16,11,0,0,0,0,0,11,14,16,7,3,0,0,0,0,0,9,15,9,0,2 +0,3,5,14,13,6,0,0,0,9,16,12,10,12,0,0,0,6,16,3,12,11,0,0,0,1,13,10,16,6,0,0,0,0,10,16,10,0,0,0,0,1,15,16,10,0,0,0,0,0,16,12,16,0,0,0,0,0,3,15,16,5,0,0,8 +0,0,0,0,11,15,4,0,0,0,0,3,16,16,12,0,0,0,0,8,14,16,12,0,0,0,0,5,10,16,6,0,0,1,7,11,16,13,0,0,0,9,16,16,14,1,0,0,0,3,8,14,16,9,0,0,0,0,0,1,11,16,12,0,2 +0,0,10,12,10,0,0,0,0,3,16,16,16,4,0,0,0,7,15,3,8,13,0,0,0,8,12,0,0,14,1,0,0,8,12,0,0,7,8,0,0,5,13,0,0,4,8,0,0,0,14,8,0,10,8,0,0,0,7,12,13,12,4,0,0 +0,0,4,14,11,0,0,0,0,3,15,15,16,9,0,0,0,8,13,0,3,15,1,0,0,8,12,0,0,8,6,0,0,8,12,0,0,8,8,0,0,5,13,1,0,8,8,0,0,2,15,14,12,15,6,0,0,0,5,16,15,8,0,0,0 +0,0,0,1,14,13,1,0,0,0,0,1,16,16,3,0,0,5,11,15,16,16,0,0,0,4,15,16,16,15,0,0,0,0,0,8,16,7,0,0,0,0,0,10,16,3,0,0,0,0,0,8,16,6,0,0,0,0,0,2,13,15,2,0,1 +0,0,3,14,16,14,0,0,0,0,13,13,13,16,2,0,0,0,1,0,9,15,0,0,0,0,9,12,15,16,10,0,0,4,16,16,16,11,3,0,0,0,4,9,14,2,0,0,0,0,2,15,9,0,0,0,0,0,4,13,1,0,0,0,7 +0,0,0,10,15,3,0,0,0,0,7,16,11,0,0,0,0,0,13,15,1,0,0,0,0,0,15,11,0,0,0,0,0,0,16,13,8,1,0,0,0,0,15,16,16,15,6,0,0,0,10,16,14,16,14,2,0,0,1,9,15,16,11,0,6 +0,2,13,15,10,4,0,0,0,0,5,4,13,15,2,0,0,0,0,0,11,16,4,0,0,0,0,0,16,12,0,0,0,0,0,0,13,11,0,0,0,0,0,0,8,13,0,0,0,1,6,8,14,12,0,0,0,2,12,14,11,1,0,0,3 +0,1,13,15,2,0,0,0,0,6,15,15,9,0,0,0,0,9,8,10,13,0,0,0,0,5,3,12,12,0,0,0,0,0,3,16,6,0,0,0,0,5,15,15,1,0,0,0,0,6,16,15,12,12,11,0,0,1,11,13,16,16,12,0,2 +0,0,0,1,16,5,0,0,0,0,0,5,16,11,0,0,0,0,0,12,16,11,0,0,0,7,12,16,16,7,0,0,0,4,8,12,16,4,0,0,0,0,0,9,16,2,0,0,0,0,0,10,16,2,0,0,0,0,0,3,13,5,0,0,1 +0,0,2,7,15,13,1,0,0,0,14,12,9,14,8,0,0,0,2,0,0,12,8,0,0,0,0,0,0,13,6,0,0,5,16,16,16,16,5,0,0,2,5,7,13,14,2,0,0,0,0,1,15,5,0,0,0,0,0,11,9,0,0,0,7 +0,0,0,9,16,4,0,0,0,1,9,16,13,2,0,0,0,14,16,14,8,0,0,0,1,15,15,5,16,9,0,0,0,5,16,16,16,8,0,0,0,0,2,13,16,1,0,0,0,0,0,11,13,0,0,0,0,0,0,11,13,0,0,0,4 +0,0,0,10,11,0,0,0,0,0,3,16,10,0,0,0,0,0,8,16,0,0,0,0,0,0,12,14,0,0,0,0,0,0,14,16,15,6,0,0,0,0,12,16,12,15,6,0,0,0,7,16,10,13,14,0,0,0,0,9,13,11,6,0,6 +0,0,13,16,15,4,0,0,0,0,9,8,13,16,3,0,0,0,0,0,13,16,7,0,0,0,0,1,16,12,0,0,0,0,0,0,15,10,0,0,0,0,0,0,8,15,0,0,0,0,3,6,15,16,7,0,0,0,15,16,16,11,1,0,3 +0,0,0,1,12,8,1,0,0,0,0,4,16,16,1,0,0,0,1,13,16,11,0,0,0,1,11,16,16,12,0,0,0,2,12,8,16,10,0,0,0,0,0,0,15,8,0,0,0,0,0,4,16,4,0,0,0,0,0,3,13,4,0,0,1 +0,4,14,16,16,12,1,0,0,2,12,7,14,16,6,0,0,0,0,5,16,10,0,0,0,0,0,4,16,7,0,0,0,0,0,4,16,6,0,0,0,0,0,1,15,11,0,0,0,1,8,10,16,10,0,0,0,5,16,16,15,1,0,0,3 +0,0,9,13,14,5,0,0,0,4,16,10,13,16,0,0,0,0,13,15,14,16,1,0,0,0,0,3,7,16,3,0,0,0,0,0,4,16,0,0,0,0,0,0,1,16,3,0,0,1,15,5,8,16,2,0,0,0,7,15,16,9,0,0,9 +0,0,0,11,16,5,0,0,0,0,0,10,16,5,0,0,0,0,4,16,16,5,0,0,0,11,16,16,16,3,0,0,0,5,8,14,16,2,0,0,0,0,0,14,16,2,0,0,0,0,0,11,16,2,0,0,0,0,0,8,16,8,0,0,1 +0,0,3,12,16,10,0,0,0,2,14,12,12,12,0,0,0,5,10,0,10,11,0,0,0,0,0,1,14,9,2,0,0,0,8,16,16,16,10,0,0,0,6,16,13,7,0,0,0,0,0,16,5,0,0,0,0,0,5,13,0,0,0,0,7 +0,0,0,11,16,8,0,0,0,0,6,16,13,3,0,0,0,0,8,16,8,0,0,0,0,0,13,16,2,0,0,0,0,0,15,16,5,0,0,0,0,2,16,16,16,5,0,0,0,1,10,16,16,14,0,0,0,0,0,12,16,15,0,0,6 +0,1,9,16,15,10,0,0,0,6,16,8,7,16,3,0,0,0,11,14,16,11,1,0,0,1,13,16,6,0,0,0,0,8,15,16,3,0,0,0,0,5,14,10,11,0,0,0,0,0,15,7,16,3,0,0,0,0,11,16,8,0,0,0,8 +0,0,0,3,14,1,0,0,0,0,0,13,12,1,0,0,0,0,7,16,5,3,0,0,0,3,15,11,5,16,2,0,0,5,16,11,11,16,6,0,0,0,6,12,16,13,3,0,0,0,0,1,15,7,0,0,0,0,0,2,16,7,0,0,4 +0,2,15,16,16,13,2,0,0,1,10,8,14,16,8,0,0,0,0,0,16,15,1,0,0,0,0,0,16,8,0,0,0,0,0,0,14,14,0,0,0,0,0,0,11,16,1,0,0,2,14,13,16,16,3,0,0,2,15,16,14,5,0,0,3 +0,0,1,15,13,0,0,0,0,0,1,16,16,5,0,0,0,0,7,16,16,0,0,0,0,0,13,16,13,0,0,0,0,7,16,16,13,0,0,0,0,1,11,16,13,0,0,0,0,0,2,16,16,0,0,0,0,0,1,14,16,3,0,0,1 +0,0,0,2,13,0,0,0,0,0,0,8,15,0,0,0,0,0,5,16,5,2,0,0,0,0,15,12,1,16,4,0,0,4,16,2,9,16,8,0,0,0,10,14,16,16,4,0,0,0,0,0,13,8,0,0,0,0,0,0,13,6,0,0,4 +0,0,1,12,5,0,0,0,0,0,9,16,14,3,0,0,0,2,16,14,11,13,0,0,0,2,16,10,0,14,4,0,0,4,16,0,0,12,4,0,0,4,16,3,0,11,10,0,0,0,13,12,8,14,6,0,0,0,3,10,16,12,1,0,0 +0,0,12,16,16,8,0,0,0,3,16,13,8,5,0,0,0,2,16,3,0,0,0,0,0,0,16,13,9,0,0,0,0,0,10,16,16,7,0,0,0,0,0,1,10,13,0,0,0,0,2,11,16,10,0,0,0,0,11,16,12,0,0,0,5 +0,4,13,16,16,12,3,0,0,3,7,4,13,16,6,0,0,0,0,8,15,5,0,0,0,0,0,12,8,0,0,0,0,0,0,7,12,0,0,0,0,0,0,4,12,0,0,0,0,1,7,12,11,0,0,0,0,3,15,12,2,0,0,0,3 +0,0,0,8,14,4,0,0,0,0,7,16,7,0,0,0,0,0,14,10,0,0,0,0,0,1,16,6,0,0,0,0,0,3,16,16,10,0,0,0,0,2,16,12,14,6,0,0,0,0,12,15,11,10,0,0,0,0,0,10,13,8,0,0,6 +0,0,9,15,5,0,0,0,0,0,13,14,13,7,0,0,0,0,6,14,10,13,1,0,0,0,0,9,12,15,5,0,0,0,0,0,0,10,10,0,0,0,0,0,0,7,14,0,0,0,3,8,9,15,15,0,0,0,5,12,12,9,1,0,9 +0,0,0,5,11,1,0,0,0,0,0,14,14,2,0,0,0,0,5,16,5,0,0,0,0,0,8,15,2,0,0,0,0,0,10,13,0,0,0,0,0,0,14,16,16,8,0,0,0,0,6,16,9,15,6,0,0,0,0,6,14,16,8,0,6 +0,0,0,0,6,10,0,0,0,0,0,0,14,15,0,0,0,0,0,10,16,16,0,0,0,0,7,16,16,15,0,0,0,3,15,7,15,10,0,0,0,0,0,0,13,11,0,0,0,0,0,0,15,9,0,0,0,0,0,0,8,15,0,0,1 +0,0,2,11,16,4,0,0,0,0,12,9,11,15,1,0,0,0,2,0,4,16,0,0,0,0,0,2,8,15,1,0,0,4,16,16,16,15,7,0,0,3,6,4,16,3,0,0,0,0,0,6,11,0,0,0,0,0,0,12,7,0,0,0,7 +0,0,15,16,16,12,2,0,0,2,16,15,12,12,3,0,0,4,16,8,0,0,0,0,0,8,16,12,4,0,0,0,0,0,12,16,16,0,0,0,0,0,0,3,16,8,0,0,0,2,6,9,16,8,0,0,0,1,15,16,15,3,0,0,5 +0,0,0,10,15,0,0,0,0,0,11,15,3,0,0,0,0,7,15,4,0,0,0,0,0,12,11,1,3,8,2,0,0,4,12,15,15,16,9,0,0,0,0,8,16,8,2,0,0,0,0,10,12,0,0,0,0,0,0,12,9,0,0,0,4 +0,0,1,10,9,0,0,0,0,0,9,15,4,0,0,0,0,1,16,5,0,0,0,0,0,4,16,1,4,14,4,0,0,4,16,12,14,16,5,0,0,0,1,7,16,9,0,0,0,0,0,2,16,4,0,0,0,0,0,10,13,0,0,0,4 +0,0,3,11,16,13,0,0,0,3,15,15,13,16,0,0,0,6,8,2,9,14,0,0,0,0,4,7,15,14,5,0,0,4,16,16,16,14,6,0,0,1,8,13,12,0,0,0,0,0,1,16,4,0,0,0,0,0,3,15,1,0,0,0,7 +0,0,2,16,13,1,0,0,0,0,6,15,16,7,0,0,0,0,3,6,16,8,0,0,0,0,0,3,16,6,0,0,0,0,1,13,13,0,0,0,0,6,14,16,4,0,0,0,0,9,16,16,13,10,3,0,0,0,4,11,15,16,10,0,2 +0,0,4,9,13,5,0,0,0,1,16,16,12,11,0,0,0,0,11,8,5,16,0,0,0,0,7,10,13,10,0,0,0,0,4,16,13,0,0,0,0,0,13,15,12,0,0,0,0,0,11,9,14,5,0,0,0,0,0,10,16,8,0,0,8 +0,0,0,8,15,8,0,0,0,0,3,16,12,16,4,0,0,0,2,10,1,16,4,0,0,0,0,0,8,14,0,0,0,0,0,9,15,3,0,0,0,3,16,14,4,0,0,0,0,4,15,14,7,1,0,0,0,0,0,9,12,14,4,0,2 +0,0,1,10,16,8,0,0,0,0,11,13,10,16,0,0,0,0,12,1,4,16,1,0,0,0,1,0,13,7,0,0,0,0,0,9,12,0,0,0,0,2,13,15,1,0,0,0,0,4,15,14,7,4,0,0,0,0,1,11,14,15,5,0,2 +0,2,15,16,16,14,2,0,0,3,16,14,9,10,1,0,0,7,16,6,0,0,0,0,0,3,14,15,6,0,0,0,0,0,1,13,12,0,0,0,0,0,0,8,16,0,0,0,0,0,9,16,11,0,0,0,0,3,16,13,1,0,0,0,5 +0,0,9,12,15,15,2,0,0,1,15,14,11,16,7,0,0,0,2,0,2,16,4,0,0,0,2,4,10,15,2,0,0,0,13,16,16,16,9,0,0,0,13,16,10,1,0,0,0,0,6,16,1,0,0,0,0,0,11,9,0,0,0,0,7 +0,0,0,12,14,1,0,0,0,0,9,16,10,5,0,0,0,0,8,13,5,14,0,0,0,0,2,14,16,16,4,0,0,0,0,0,4,10,10,0,0,0,0,0,0,4,16,0,0,0,2,6,4,9,16,0,0,0,1,11,16,15,7,0,9 +0,0,6,13,2,0,0,0,0,4,16,16,16,11,0,0,0,0,12,11,1,6,1,0,0,0,12,14,10,2,0,0,0,0,1,8,12,12,0,0,0,0,0,0,9,14,0,0,0,0,4,9,16,5,0,0,0,0,9,14,4,0,0,0,5 +0,0,0,12,13,0,0,0,0,0,5,16,10,0,0,0,0,6,16,13,11,12,2,0,0,12,16,10,15,16,9,0,0,4,14,16,16,12,4,0,0,0,0,14,13,0,0,0,0,0,0,14,12,0,0,0,0,0,0,11,13,0,0,0,4 +0,0,3,6,14,5,0,0,0,0,7,15,15,13,0,0,0,0,3,14,13,12,0,0,0,0,0,16,13,1,0,0,0,0,2,16,8,0,0,0,0,0,10,9,14,0,0,0,0,0,12,4,15,2,0,0,0,0,4,15,14,0,0,0,8 +0,0,5,14,15,4,0,0,0,0,8,16,16,14,0,0,0,0,5,16,16,9,0,0,0,0,0,15,16,1,0,0,0,0,1,16,13,0,0,0,0,0,11,15,14,5,0,0,0,0,12,12,8,15,1,0,0,0,5,16,16,16,2,0,8 +0,0,0,8,14,0,0,0,0,0,5,16,11,0,0,0,0,1,15,14,1,6,0,0,0,7,16,5,3,16,8,0,0,8,16,8,14,16,2,0,0,0,6,14,16,11,0,0,0,0,0,6,16,4,0,0,0,0,0,10,15,0,0,0,4 +0,0,12,16,7,0,0,0,0,2,16,5,12,3,0,0,0,0,14,6,3,16,2,0,0,0,2,14,16,12,0,0,0,0,0,0,10,10,0,0,0,0,0,0,10,8,0,0,0,0,8,2,13,7,0,0,0,0,11,16,16,3,0,0,9 +0,0,3,12,10,1,0,0,0,1,16,16,16,10,0,0,0,5,16,13,6,16,1,0,0,5,16,7,0,13,3,0,0,5,16,4,0,13,7,0,0,1,16,8,0,14,7,0,0,0,13,14,13,16,3,0,0,0,2,13,15,6,0,0,0 +0,0,5,4,9,10,0,0,0,0,10,8,11,16,2,0,0,0,8,12,14,14,1,0,0,0,5,15,7,0,0,0,0,0,14,12,0,0,0,0,0,1,14,13,3,0,0,0,0,0,12,13,5,0,0,0,0,0,7,16,5,0,0,0,8 +0,0,1,11,15,8,0,0,0,0,12,14,10,16,5,0,0,0,16,7,13,16,4,0,0,0,9,15,13,16,4,0,0,0,0,0,1,15,4,0,0,0,0,0,0,16,4,0,0,8,16,14,9,16,4,0,0,0,2,10,15,15,2,0,9 +0,0,7,13,15,5,0,0,0,0,8,16,16,12,0,0,0,0,7,16,15,3,0,0,0,0,6,16,5,0,0,0,0,0,5,16,2,0,0,0,0,0,8,16,6,0,0,0,0,0,12,12,13,0,0,0,0,0,5,13,10,0,0,0,8 +0,0,2,12,9,0,0,0,0,0,11,15,12,5,0,0,0,0,15,5,0,14,0,0,0,2,15,1,0,9,7,0,0,4,10,0,0,7,8,0,0,0,12,0,0,8,10,0,0,2,15,5,10,16,1,0,0,0,5,14,12,4,0,0,0 +0,0,0,0,5,15,8,0,0,0,0,2,15,16,9,0,0,0,3,15,16,16,10,0,0,7,16,10,8,16,7,0,0,0,1,0,8,16,4,0,0,0,0,0,11,16,1,0,0,0,0,0,9,16,1,0,0,0,0,0,8,14,0,0,1 +0,2,15,16,6,0,0,0,0,5,16,15,14,0,0,0,0,5,13,10,14,0,0,0,0,0,0,12,12,0,0,0,0,0,1,16,7,0,0,0,0,0,10,15,2,0,0,0,0,3,16,10,8,6,1,0,0,2,15,16,16,16,7,0,2 +0,3,16,16,12,12,6,0,0,0,4,4,5,14,8,0,0,0,0,0,11,11,0,0,0,0,0,4,16,3,0,0,0,0,0,0,12,11,0,0,0,0,0,0,9,14,0,0,0,0,3,7,15,4,0,0,0,3,16,14,4,0,0,0,3 +0,0,0,3,16,3,0,0,0,0,0,12,16,2,0,0,0,0,8,16,16,4,0,0,0,7,16,15,16,12,11,0,0,8,16,16,16,13,3,0,0,0,0,7,14,1,0,0,0,0,0,6,16,0,0,0,0,0,0,4,14,0,0,0,4 +0,4,16,16,16,10,3,0,0,12,16,9,8,12,3,0,0,10,16,2,0,0,0,0,0,3,16,12,0,0,0,0,0,0,7,16,9,0,0,0,0,0,0,12,16,1,0,0,0,3,10,15,15,1,0,0,0,4,16,13,3,0,0,0,5 +0,0,2,15,4,0,0,0,0,0,11,13,0,0,0,0,0,0,16,6,0,0,0,0,0,3,16,7,0,0,0,0,0,4,16,16,15,5,0,0,0,4,16,5,3,13,7,0,0,1,14,9,0,8,13,0,0,0,2,13,16,16,8,0,6 +0,0,2,15,15,3,0,0,0,0,8,14,16,11,0,0,0,0,0,0,11,14,0,0,0,0,0,0,11,14,3,0,0,0,4,12,16,16,7,0,0,0,11,16,12,1,0,0,0,0,1,14,6,0,0,0,0,0,4,12,1,0,0,0,7 +0,0,5,12,13,2,0,0,0,3,16,14,16,13,1,0,0,4,16,9,16,12,1,0,0,1,9,16,15,1,0,0,0,1,13,16,16,5,0,0,0,3,16,5,12,16,0,0,0,3,15,7,14,12,0,0,0,0,6,16,13,3,0,0,8 +0,0,5,15,5,0,0,0,0,0,12,11,13,8,0,0,0,0,11,9,10,16,0,0,0,0,3,15,16,16,1,0,0,0,0,0,0,14,6,0,0,0,0,0,0,13,8,0,0,0,6,3,0,14,6,0,0,0,2,13,16,15,3,0,9 +0,0,12,9,12,1,0,0,0,0,14,16,16,8,0,0,0,3,16,9,3,15,2,0,0,4,16,1,0,16,5,0,0,5,12,0,0,16,5,0,0,3,14,1,4,16,4,0,0,0,15,12,14,14,0,0,0,0,7,12,12,2,0,0,0 +0,0,0,0,7,13,5,0,0,0,0,0,15,16,8,0,0,0,1,13,16,16,3,0,0,0,12,16,16,16,0,0,0,8,16,3,16,13,0,0,0,2,3,0,16,12,0,0,0,0,0,0,16,13,0,0,0,0,0,0,8,12,0,0,1 +0,0,13,14,8,1,0,0,0,1,16,16,16,6,0,0,0,0,3,5,16,8,0,0,0,0,0,9,16,2,0,0,0,0,1,16,9,0,0,0,0,1,16,13,0,0,0,0,0,5,16,11,4,4,0,0,0,1,13,14,12,12,0,0,2 +0,6,16,16,15,7,0,0,0,2,11,12,16,16,5,0,0,0,0,0,14,15,2,0,0,0,0,1,16,11,0,0,0,0,0,0,14,14,0,0,0,0,0,0,5,16,9,0,0,0,3,7,12,16,7,0,0,3,16,16,15,11,1,0,3 +0,0,0,5,14,0,0,0,0,0,1,15,13,0,0,0,0,0,9,16,13,0,0,0,0,5,16,15,13,0,0,0,0,8,16,16,16,15,9,0,0,0,4,10,14,8,5,0,0,0,0,8,12,0,0,0,0,0,0,7,10,0,0,0,4 +0,4,15,16,16,16,4,0,0,4,16,15,9,7,1,0,0,0,15,14,1,0,0,0,0,0,5,16,9,0,0,0,0,0,0,14,16,0,0,0,0,0,0,9,16,5,0,0,0,3,10,13,16,4,0,0,0,5,16,16,12,0,0,0,5 +0,0,0,6,14,1,0,0,0,0,2,16,10,0,0,0,0,0,11,15,2,0,0,0,0,0,13,13,8,5,0,0,0,2,16,14,12,16,3,0,0,1,16,11,0,5,12,0,0,0,11,15,5,12,12,0,0,0,0,9,15,14,6,0,6 +0,0,3,15,14,1,0,0,0,0,13,16,16,6,0,0,0,0,4,4,16,8,0,0,0,0,0,1,16,10,1,0,0,0,7,16,16,16,8,0,0,0,12,15,16,6,0,0,0,0,0,14,11,0,0,0,0,0,4,12,1,0,0,0,7 +0,0,3,13,13,3,0,0,0,2,14,12,12,11,0,0,0,4,16,8,5,15,3,0,0,1,13,14,16,7,0,0,0,0,11,16,13,1,0,0,0,1,16,12,13,14,1,0,0,0,13,13,9,16,7,0,0,0,3,13,16,10,1,0,8 +0,0,6,13,10,4,0,0,0,4,16,15,13,13,0,0,0,4,16,14,16,16,1,0,0,2,10,16,16,16,5,0,0,0,0,0,3,16,5,0,0,0,0,0,0,16,8,0,0,0,0,2,8,16,8,0,0,0,7,16,14,9,1,0,9 +0,0,2,12,4,0,0,0,0,1,12,16,16,3,0,0,0,7,16,6,4,13,0,0,0,8,16,6,0,13,5,0,0,1,16,5,0,7,9,0,0,0,16,8,0,8,12,0,0,0,13,14,14,16,10,0,0,0,4,14,15,7,0,0,0 +0,0,0,0,5,14,3,0,0,0,0,0,9,16,8,0,0,0,0,9,16,16,5,0,0,1,13,15,12,16,1,0,0,4,12,3,10,15,0,0,0,0,0,0,11,12,0,0,0,0,0,0,8,12,0,0,0,0,0,0,5,13,4,0,1 +0,0,6,13,10,3,0,0,0,5,15,11,16,11,0,0,0,2,6,0,16,12,0,0,0,0,0,0,16,12,0,0,0,0,0,7,16,6,0,0,0,0,5,15,10,0,0,0,0,0,11,16,8,4,0,0,0,0,8,14,13,12,4,0,2 +0,1,11,12,14,6,0,0,0,1,6,4,8,16,7,0,0,0,0,0,3,16,5,0,0,0,0,2,14,9,0,0,0,0,0,4,16,7,0,0,0,0,0,1,14,13,0,0,0,0,0,1,12,14,0,0,0,5,12,15,9,1,0,0,3 +0,0,0,3,16,3,0,0,0,0,0,10,16,11,0,0,0,0,4,16,16,8,0,0,0,2,14,12,16,5,0,0,0,10,16,14,16,16,11,0,0,5,12,13,16,8,3,0,0,0,0,2,15,3,0,0,0,0,0,4,12,0,0,0,4 +0,2,14,16,16,13,5,0,0,7,16,13,8,8,1,0,0,10,15,0,0,0,0,0,0,10,16,0,0,0,0,0,0,7,16,6,0,0,0,0,0,1,12,16,8,0,0,0,0,1,8,16,10,0,0,0,0,3,16,15,1,0,0,0,5 +0,0,0,16,7,0,0,0,0,0,6,16,4,0,0,0,0,0,11,15,0,0,0,0,0,0,12,12,0,0,0,0,0,0,15,16,16,8,0,0,0,0,12,16,13,15,8,0,0,0,12,16,7,13,15,0,0,0,1,11,16,15,9,0,6 +0,0,10,16,14,1,0,0,0,0,14,16,16,7,0,0,0,0,1,5,16,7,0,0,0,0,2,10,16,11,6,0,0,7,16,16,15,12,7,0,0,11,10,15,10,0,0,0,0,0,6,16,2,0,0,0,0,0,13,9,0,0,0,0,7 +0,0,2,13,13,1,0,0,0,0,8,16,14,4,0,0,0,0,5,16,10,8,4,0,0,0,1,16,16,10,2,0,0,2,15,13,12,0,0,0,0,5,12,3,15,1,0,0,0,0,14,3,13,4,0,0,0,0,3,15,13,1,0,0,8 +0,0,5,13,4,0,0,0,0,0,15,14,14,5,0,0,0,0,12,7,8,16,1,0,0,0,4,13,16,16,1,0,0,0,0,0,0,15,2,0,0,0,0,0,0,14,6,0,0,0,2,7,8,16,4,0,0,0,6,12,13,10,0,0,9 +0,0,5,14,10,7,0,0,0,0,16,16,16,16,3,0,0,3,16,10,2,16,7,0,0,7,16,3,0,12,8,0,0,8,16,1,0,12,8,0,0,7,16,5,2,16,4,0,0,2,16,15,14,13,0,0,0,0,7,15,13,2,0,0,0 +0,0,2,13,6,0,0,0,0,0,4,16,15,5,0,0,0,0,1,15,12,15,0,0,0,0,0,10,16,16,1,0,0,0,0,0,2,16,2,0,0,0,0,0,0,15,5,0,0,0,4,4,6,16,3,0,0,0,2,14,16,10,0,0,9 +0,5,16,16,16,11,1,0,0,4,16,15,10,8,1,0,0,4,16,12,0,0,0,0,0,1,13,16,5,0,0,0,0,0,6,16,13,0,0,0,0,0,0,10,16,4,0,0,0,0,4,13,16,2,0,0,0,2,15,16,9,0,0,0,5 +0,6,16,16,16,15,10,0,0,9,16,13,8,6,5,0,0,12,16,1,0,0,0,0,0,10,16,7,0,0,0,0,0,3,15,15,3,0,0,0,0,0,3,16,13,0,0,0,0,1,5,16,9,0,0,0,0,9,16,11,0,0,0,0,5 +0,0,5,13,1,0,0,0,0,0,12,13,0,0,0,0,0,0,16,8,0,0,0,0,0,5,16,2,0,0,0,0,0,4,16,8,15,9,1,0,0,4,16,16,12,15,11,0,0,1,15,14,4,14,11,0,0,0,5,14,14,10,1,0,6 +0,2,15,16,16,13,2,0,0,7,16,13,8,8,3,0,0,4,16,4,0,0,0,0,0,0,16,11,0,0,0,0,0,0,12,16,3,0,0,0,0,0,2,13,11,0,0,0,0,3,8,15,8,0,0,0,0,2,15,15,1,0,0,0,5 +0,0,5,16,15,1,0,0,0,1,15,9,10,12,0,0,0,3,16,1,0,16,4,0,0,6,16,0,0,11,6,0,0,3,16,1,0,11,8,0,0,4,16,4,3,15,4,0,0,1,13,13,13,14,1,0,0,0,4,13,14,1,0,0,0 +0,0,2,13,8,6,0,0,0,0,7,14,14,16,0,0,0,0,7,9,3,16,4,0,0,0,5,14,15,16,4,0,0,0,0,3,2,13,5,0,0,0,3,0,0,12,6,0,0,1,12,6,0,11,7,0,0,0,3,12,16,16,1,0,9 +0,0,6,15,13,3,0,0,0,0,13,14,15,12,0,0,0,0,14,11,13,15,5,0,0,0,9,16,15,8,0,0,0,2,16,16,16,2,0,0,0,8,16,2,14,10,0,0,0,5,16,9,14,11,0,0,0,0,8,14,13,2,0,0,8 +0,0,6,15,6,0,0,0,0,0,14,11,13,4,0,0,0,0,11,7,7,13,0,0,0,0,5,16,16,16,1,0,0,0,0,0,0,14,7,0,0,0,0,0,0,10,13,0,0,0,2,11,0,11,12,0,0,0,5,16,14,9,4,0,9 +0,0,2,13,4,0,0,0,0,0,8,14,11,0,0,0,0,0,10,6,14,5,2,0,0,0,2,14,12,14,0,0,0,0,1,15,13,2,0,0,0,0,11,13,14,1,0,0,0,0,13,8,10,4,0,0,0,0,2,11,16,7,0,0,8 +0,0,0,8,13,0,0,0,0,0,1,16,16,0,0,0,0,0,7,16,16,0,0,0,0,1,15,16,16,0,0,0,0,6,16,15,16,9,2,0,0,6,15,16,16,16,11,0,0,0,0,11,16,0,0,0,0,0,0,10,14,0,0,0,4 +0,0,0,0,14,16,7,0,0,0,0,5,16,16,8,0,0,0,1,12,16,16,8,0,0,5,14,16,16,16,5,0,0,1,4,7,16,16,8,0,0,0,0,2,16,16,7,0,0,0,0,2,16,16,3,0,0,0,0,0,16,16,0,0,1 +0,0,7,16,16,16,13,0,0,0,8,9,8,15,15,0,0,0,0,0,4,16,7,0,0,0,4,8,12,16,5,0,0,3,16,16,16,14,7,0,0,0,3,8,16,3,0,0,0,0,0,15,13,0,0,0,0,0,7,16,3,0,0,0,7 +0,0,1,8,10,15,11,0,0,2,14,15,13,16,7,0,0,0,6,0,6,14,2,0,0,0,0,3,11,12,2,0,0,0,2,16,16,15,8,0,0,0,3,13,15,2,0,0,0,0,0,13,10,0,0,0,0,0,1,16,5,0,0,0,7 +0,1,10,16,16,11,0,0,0,5,10,8,12,16,4,0,0,0,0,1,10,14,0,0,0,0,0,6,16,4,0,0,0,0,0,7,16,5,0,0,0,0,0,1,12,16,4,0,0,0,2,4,9,16,4,0,0,1,15,14,11,4,0,0,3 +0,7,16,16,16,11,2,0,0,5,16,12,8,6,1,0,0,9,16,1,0,0,0,0,0,2,16,15,3,0,0,0,0,0,5,16,14,1,0,0,0,0,0,2,16,10,0,0,0,1,7,13,16,3,0,0,0,4,15,16,6,0,0,0,5 +0,0,0,0,12,11,1,0,0,0,0,1,16,16,7,0,0,0,1,14,16,16,7,0,0,1,14,16,14,16,8,0,0,5,12,3,8,16,7,0,0,0,0,0,8,16,4,0,0,0,0,0,8,16,1,0,0,0,0,0,11,12,0,0,1 +0,0,6,15,15,3,0,0,0,3,16,14,14,13,0,0,0,6,15,2,1,14,5,0,0,8,14,2,0,9,8,0,0,8,16,4,0,8,8,0,0,5,16,6,0,11,9,0,0,1,16,16,14,16,9,0,0,0,5,14,15,10,1,0,0 +0,0,0,10,15,1,0,0,0,0,5,16,16,10,0,0,0,0,14,6,6,15,0,0,0,4,16,4,0,15,3,0,0,5,15,5,0,11,5,0,0,0,12,11,0,13,5,0,0,0,8,16,16,16,3,0,0,0,1,8,13,8,0,0,0 +0,0,7,15,15,4,0,0,0,8,16,16,16,4,0,0,0,8,15,8,16,4,0,0,0,0,0,10,15,0,0,0,0,0,1,15,9,0,0,0,0,0,6,16,2,0,0,0,0,0,8,16,8,11,9,0,0,0,9,16,16,12,3,0,2 +0,1,12,14,10,0,0,0,0,5,16,16,16,4,0,0,0,0,0,4,16,4,0,0,0,0,0,7,15,1,0,0,0,0,2,15,9,0,0,0,0,0,9,15,2,0,0,0,0,0,16,14,8,8,3,0,0,0,10,15,13,9,4,0,2 +0,0,5,16,12,2,0,0,0,0,4,11,16,10,0,0,0,0,0,0,14,11,0,0,0,0,2,4,14,14,2,0,0,0,13,16,16,10,4,0,0,0,3,10,14,0,0,0,0,0,0,15,5,0,0,0,0,0,6,11,0,0,0,0,7 +0,0,5,15,13,3,0,0,0,0,12,15,12,14,0,0,0,0,12,12,14,14,0,0,0,0,3,16,14,3,0,0,0,0,9,14,15,3,0,0,0,1,15,5,8,12,1,0,0,0,16,4,4,16,4,0,0,0,5,16,16,12,2,0,8 +0,0,11,12,0,0,0,0,0,7,16,16,5,0,0,0,0,5,13,16,8,0,0,0,0,0,1,16,8,0,0,0,0,0,7,16,5,0,0,0,0,0,9,15,1,0,0,0,0,0,16,15,9,7,2,0,0,0,12,14,13,12,5,0,2 +0,0,2,15,13,0,0,0,0,0,13,16,16,9,0,0,0,5,16,9,6,16,4,0,0,5,16,3,1,14,7,0,0,6,16,4,0,16,8,0,0,3,16,12,6,16,12,0,0,0,14,16,16,16,4,0,0,0,2,13,15,8,0,0,0 +0,0,0,1,11,14,5,0,0,0,0,9,16,16,5,0,0,0,10,16,16,16,1,0,0,5,16,16,16,16,0,0,0,1,5,11,16,16,0,0,0,0,0,5,16,16,0,0,0,0,0,0,11,16,0,0,0,0,0,0,11,10,0,0,1 +0,0,9,16,5,0,0,0,0,6,16,16,15,0,0,0,0,7,16,14,16,2,0,0,0,3,6,12,16,0,0,0,0,0,0,15,12,0,0,0,0,0,7,16,6,1,3,0,0,0,9,16,13,15,8,0,0,0,7,16,16,8,1,0,2 +0,0,4,14,6,0,0,0,0,0,10,15,2,0,0,0,0,0,16,11,0,0,0,0,0,0,13,11,0,0,0,0,0,3,16,12,8,3,0,0,0,2,16,14,8,12,9,0,0,0,16,13,4,12,12,0,0,0,6,15,16,12,1,0,6 +0,4,12,13,13,6,0,0,0,6,14,8,13,16,0,0,0,0,0,0,11,16,2,0,0,0,0,0,16,15,0,0,0,0,0,0,12,16,3,0,0,0,0,0,4,16,9,0,0,0,1,4,12,16,8,0,0,2,13,16,12,6,0,0,3 +0,2,15,15,6,0,0,0,0,0,10,13,16,5,0,0,0,0,0,2,16,9,0,0,0,0,0,3,16,11,0,0,0,0,0,0,13,14,1,0,0,0,0,0,7,16,5,0,0,1,4,6,13,15,1,0,0,3,15,14,11,2,0,0,3 +0,0,15,15,2,0,0,0,0,0,8,15,11,0,0,0,0,0,0,12,14,0,0,0,0,0,7,12,16,13,9,0,0,7,16,16,16,10,5,0,0,1,5,16,14,0,0,0,0,0,9,15,3,0,0,0,0,2,16,4,0,0,0,0,7 +0,1,10,15,16,13,3,0,0,5,14,5,5,15,8,0,0,0,0,0,2,15,6,0,0,0,0,0,9,16,0,0,0,0,0,0,9,16,0,0,0,0,0,0,4,16,6,0,0,0,2,3,13,12,0,0,0,0,15,13,7,0,0,0,3 +0,2,14,16,14,4,0,0,0,4,11,5,13,12,0,0,0,0,0,2,15,7,0,0,0,0,0,4,16,4,0,0,0,0,0,1,13,13,1,0,0,0,0,0,2,16,4,0,0,0,1,3,11,15,2,0,0,1,12,16,9,2,0,0,3 +0,0,0,0,11,5,0,0,0,0,0,8,16,2,0,0,0,0,4,15,16,3,0,0,0,0,12,6,16,3,0,0,0,5,15,0,15,5,3,0,0,6,16,16,16,11,4,0,0,0,0,0,14,0,0,0,0,0,0,0,12,2,0,0,4 +0,0,0,6,14,3,0,0,0,0,2,16,11,0,0,0,0,0,11,15,2,0,0,0,0,1,15,13,2,0,0,0,0,3,16,16,16,7,0,0,0,4,16,14,8,13,7,0,0,0,12,16,5,12,10,0,0,0,0,8,14,13,5,0,6 +0,0,1,14,6,0,0,0,0,0,7,16,1,0,0,0,0,0,13,10,0,0,0,0,0,0,14,7,0,0,0,0,0,3,16,10,8,3,0,0,0,0,16,13,12,14,7,0,0,0,14,9,4,11,13,0,0,0,2,12,16,12,4,0,6 +0,0,2,14,11,0,0,0,0,0,10,16,1,0,0,0,0,1,16,9,0,0,0,0,0,4,16,5,0,0,0,0,0,5,16,12,12,11,1,0,0,4,16,14,10,14,11,0,0,2,15,10,6,16,10,0,0,0,3,15,16,10,1,0,6 +0,0,0,2,15,4,0,0,0,0,0,8,15,1,0,0,0,0,1,14,12,0,0,0,0,0,6,16,12,0,0,0,0,0,13,16,15,4,2,0,0,9,16,16,16,16,11,0,0,3,8,8,16,3,0,0,0,0,0,3,15,0,0,0,4 +0,0,6,15,5,0,0,0,0,1,15,15,15,3,0,0,0,2,16,6,11,14,0,0,0,0,15,14,15,16,1,0,0,0,3,8,10,16,5,0,0,0,0,0,3,16,8,0,0,0,0,4,10,16,8,0,0,0,7,12,13,12,1,0,9 +0,0,0,0,11,12,0,0,0,0,0,3,15,14,0,0,0,0,0,11,16,11,0,0,0,0,9,16,16,10,0,0,0,4,16,12,16,12,0,0,0,3,10,3,16,11,0,0,0,0,0,0,16,14,0,0,0,0,0,0,11,11,0,0,1 +0,2,16,16,16,14,5,0,0,9,16,11,6,8,3,0,0,9,16,2,0,0,0,0,0,3,16,13,1,0,0,0,0,0,8,16,12,0,0,0,0,0,0,12,16,4,0,0,0,0,1,11,16,6,0,0,0,4,16,16,8,0,0,0,5 +0,0,4,15,11,1,0,0,0,2,14,14,16,8,0,0,0,8,15,2,3,13,0,0,0,4,16,0,0,12,7,0,0,7,16,0,0,12,8,0,0,3,16,6,1,14,9,0,0,0,15,16,16,16,2,0,0,0,4,13,14,6,0,0,0 +0,0,10,15,7,0,0,0,0,4,16,13,11,11,0,0,0,10,16,12,15,16,4,0,0,3,12,12,14,16,4,0,0,0,0,0,10,16,4,0,0,0,0,0,9,16,4,0,0,0,4,4,15,15,0,0,0,1,12,15,12,3,0,0,9 +0,4,16,16,16,16,5,0,0,11,16,8,5,8,3,0,0,10,16,2,0,0,0,0,0,3,16,6,0,0,0,0,0,0,16,9,0,0,0,0,0,0,12,16,2,0,0,0,0,0,6,16,11,0,0,0,0,4,16,12,1,0,0,0,5 +0,0,3,13,12,2,0,0,0,0,14,13,15,11,0,0,0,0,7,0,8,15,0,0,0,0,0,0,13,6,0,0,0,0,0,3,16,4,0,0,0,0,0,13,11,0,0,0,0,0,3,16,12,8,1,0,0,0,3,16,11,8,0,0,2 +0,0,10,13,0,0,0,0,0,0,14,15,11,0,0,0,0,0,12,9,16,8,2,0,0,0,5,14,16,11,1,0,0,0,3,16,10,0,0,0,0,0,12,11,16,0,0,0,0,1,16,7,16,5,0,0,0,0,11,16,13,1,0,0,8 +0,0,5,14,11,0,0,0,0,0,15,16,15,0,0,0,0,0,10,8,16,1,0,0,0,0,0,6,14,0,0,0,0,0,0,12,9,0,0,0,0,0,1,16,3,0,0,0,0,0,8,16,12,11,0,0,0,0,7,16,12,7,0,0,2 +0,0,2,12,12,2,0,0,0,0,10,16,16,9,0,0,0,3,16,16,8,15,3,0,0,6,16,6,0,13,8,0,0,8,16,4,0,15,8,0,0,5,16,8,12,16,6,0,0,0,15,16,16,15,2,0,0,0,3,13,12,3,0,0,0 +0,0,0,14,7,0,0,0,0,1,9,16,16,3,0,0,0,4,16,8,11,11,0,0,0,3,16,7,4,16,4,0,0,8,16,4,0,16,8,0,0,5,16,10,0,13,11,0,0,0,13,16,16,16,9,0,0,0,2,10,13,6,0,0,0 +0,0,0,0,7,14,7,0,0,0,0,3,16,16,9,0,0,0,6,15,16,16,6,0,0,5,16,16,16,16,2,0,0,4,8,8,16,16,0,0,0,0,0,3,16,16,3,0,0,0,0,1,13,16,0,0,0,0,0,0,8,15,0,0,1 +0,0,8,16,13,0,0,0,0,0,7,14,16,4,0,0,0,0,1,12,16,13,12,1,0,0,11,16,16,14,9,0,0,0,10,16,14,1,0,0,0,0,0,14,9,0,0,0,0,0,3,16,1,0,0,0,0,0,12,9,0,0,0,0,7 +0,0,3,14,3,0,0,0,0,0,13,13,0,0,0,0,0,0,16,7,0,0,0,0,0,5,16,3,0,0,0,0,0,3,16,7,4,2,0,0,0,4,16,16,16,16,7,0,0,1,14,15,4,11,15,0,0,0,5,14,16,12,6,0,6 +0,2,14,16,12,6,0,0,0,1,10,8,14,16,1,0,0,0,0,0,10,15,2,0,0,0,0,2,16,12,0,0,0,0,0,3,16,12,0,0,0,0,0,0,11,16,2,0,0,0,7,10,15,15,2,0,0,3,13,11,7,2,0,0,3 +0,0,10,16,9,0,0,0,0,4,16,16,16,0,0,0,0,2,12,9,15,0,0,0,0,0,0,11,11,0,0,0,0,0,1,16,7,0,0,0,0,0,9,16,2,0,0,0,0,0,15,16,8,5,0,0,0,0,11,16,16,16,2,0,2 +0,0,0,0,7,15,1,0,0,0,0,0,11,16,0,0,0,0,0,0,16,14,0,0,0,0,0,10,16,15,0,0,0,0,12,16,16,11,0,0,0,5,16,6,15,12,0,0,0,0,1,0,12,16,0,0,0,0,0,0,4,15,4,0,1 +0,0,9,16,3,0,0,0,0,0,11,16,14,1,0,0,0,0,0,11,16,4,0,0,0,0,0,8,16,10,1,0,0,1,12,16,16,16,9,0,0,1,11,16,11,4,0,0,0,0,6,16,4,0,0,0,0,0,11,11,0,0,0,0,7 +0,0,15,16,11,3,0,0,0,0,4,10,15,15,3,0,0,0,0,0,14,16,5,0,0,0,0,5,16,12,0,0,0,0,0,3,16,11,1,0,0,0,0,2,13,16,9,0,0,0,6,15,16,12,3,0,0,0,15,14,7,1,0,0,3 +0,0,0,0,3,15,6,0,0,0,0,0,11,16,7,0,0,0,0,9,16,16,4,0,0,0,10,16,16,16,4,0,0,4,16,7,8,16,4,0,0,1,4,0,10,16,2,0,0,0,0,0,7,16,1,0,0,0,0,0,3,16,1,0,1 +0,1,12,12,13,8,1,0,0,0,8,9,15,16,2,0,0,0,0,3,16,10,0,0,0,0,0,7,16,6,0,0,0,0,0,5,16,10,0,0,0,0,0,0,7,16,7,0,0,0,3,8,15,13,2,0,0,2,14,16,10,1,0,0,3 +0,0,11,16,8,0,0,0,0,6,16,11,13,9,0,0,0,7,16,0,9,16,0,0,0,2,15,12,16,16,3,0,0,0,5,7,7,16,4,0,0,0,0,0,5,16,5,0,0,0,3,7,16,11,0,0,0,0,13,16,11,1,0,0,9 +0,0,0,4,14,14,5,0,0,0,0,9,16,16,7,0,0,0,5,15,16,15,3,0,0,4,15,16,16,12,0,0,0,5,16,16,16,12,0,0,0,0,0,12,16,13,1,0,0,0,0,8,16,16,7,0,0,0,0,4,14,15,6,0,1 +0,0,4,15,16,16,5,0,0,0,6,9,11,16,11,0,0,0,0,0,3,16,5,0,0,0,0,3,14,16,10,0,0,0,7,16,16,11,3,0,0,0,8,15,13,0,0,0,0,0,5,16,7,0,0,0,0,0,7,14,2,0,0,0,7 +0,0,0,8,12,1,0,0,0,0,1,15,12,1,0,0,0,0,6,16,3,0,0,0,0,0,7,16,1,0,0,0,0,1,16,16,14,5,0,0,0,1,12,16,6,14,9,0,0,0,2,16,6,10,15,0,0,0,0,6,16,16,11,0,6 +0,0,0,10,12,3,0,0,0,0,8,16,15,14,0,0,0,0,5,16,10,16,1,0,0,0,5,16,16,10,1,0,0,1,16,12,16,8,0,0,0,1,16,3,4,16,4,0,0,0,12,11,4,16,9,0,0,0,2,10,14,13,4,0,8 +0,0,0,7,15,1,0,0,0,0,0,15,16,1,0,0,0,0,9,16,16,2,0,0,0,2,16,16,16,0,0,0,0,10,16,16,16,16,8,0,0,8,15,15,14,8,5,0,0,0,0,11,12,0,0,0,0,0,0,6,15,1,0,0,4 +0,2,11,16,16,8,1,0,0,2,12,9,9,16,10,0,0,0,0,0,4,16,9,0,0,0,0,2,15,16,0,0,0,0,0,3,16,14,0,0,0,0,0,0,13,16,3,0,0,0,4,11,16,8,0,0,0,3,15,12,4,0,0,0,3 +0,0,0,1,16,11,0,0,0,0,0,1,16,16,4,0,0,0,0,8,16,16,0,0,0,0,10,16,16,16,1,0,0,6,16,14,16,15,0,0,0,1,3,5,16,12,0,0,0,0,0,4,16,12,0,0,0,0,0,2,15,12,0,0,1 +0,0,0,2,15,8,0,0,0,0,0,11,16,4,0,0,0,0,9,16,16,0,0,0,0,3,15,16,16,0,0,0,0,12,16,16,16,14,6,0,0,6,12,14,16,12,5,0,0,0,0,8,13,0,0,0,0,0,0,2,14,1,0,0,4 +0,0,4,12,10,1,0,0,0,3,16,13,15,10,0,0,0,5,16,2,1,14,3,0,0,8,13,0,0,10,8,0,0,8,12,0,0,8,8,0,0,8,14,0,0,11,8,0,0,3,16,14,13,16,2,0,0,0,8,16,13,5,0,0,0 +0,3,15,13,12,8,1,0,0,4,16,14,12,12,2,0,0,0,16,4,0,0,0,0,0,0,12,9,0,0,0,0,0,0,7,16,3,0,0,0,0,0,0,14,8,0,0,0,0,0,5,15,10,0,0,0,0,2,15,16,2,0,0,0,5 +0,0,5,11,16,16,8,0,0,0,15,14,8,12,15,0,0,0,0,0,2,14,9,0,0,0,0,0,11,12,1,0,0,0,0,1,16,5,0,0,0,0,0,1,14,9,0,0,0,0,1,4,15,9,0,0,0,0,7,16,11,2,0,0,3 +0,0,0,11,14,0,0,0,0,0,10,16,4,0,0,0,0,1,15,11,0,0,0,0,0,3,16,12,8,2,0,0,0,7,16,16,12,14,3,0,0,4,16,8,0,10,9,0,0,1,12,15,9,14,10,0,0,0,2,10,13,11,1,0,6 +0,0,5,15,7,0,0,0,0,0,14,16,16,5,0,0,0,0,13,14,14,15,0,0,0,0,3,11,14,16,3,0,0,0,0,0,6,16,2,0,0,0,0,0,4,16,7,0,0,0,0,1,11,16,6,0,0,0,4,15,16,10,0,0,9 +0,0,3,15,4,0,0,0,0,0,12,16,2,0,0,0,0,1,16,7,1,0,0,0,0,3,16,1,6,1,0,0,0,3,15,8,12,13,3,0,0,2,16,2,0,7,12,0,0,0,13,9,4,9,15,0,0,0,3,13,16,15,5,0,6 +0,0,0,0,10,13,7,0,0,0,0,5,16,16,11,0,0,0,4,14,16,16,7,0,0,3,14,16,16,16,4,0,0,7,16,16,16,16,4,0,0,0,2,13,16,16,3,0,0,0,0,11,16,16,0,0,0,0,0,2,13,16,1,0,1 +0,0,9,15,16,5,0,0,0,0,16,16,16,13,0,0,0,0,0,3,16,11,0,0,0,0,2,7,16,13,10,0,0,2,15,16,16,12,4,0,0,3,13,16,10,0,0,0,0,0,7,16,2,0,0,0,0,0,12,13,0,0,0,0,7 +0,0,13,16,12,7,0,0,0,4,16,15,12,12,3,0,0,4,16,5,0,0,0,0,0,3,16,9,0,0,0,0,0,0,15,16,2,0,0,0,0,0,4,16,14,0,0,0,0,1,9,14,16,0,0,0,0,1,13,16,10,0,0,0,5 +0,0,0,3,13,1,0,0,0,0,0,8,16,3,0,0,0,0,1,15,16,4,0,0,0,0,8,16,16,1,0,0,0,2,16,14,16,5,1,0,0,11,16,16,16,16,10,0,0,5,8,11,16,4,1,0,0,0,0,2,16,2,0,0,4 +0,0,0,0,15,9,0,0,0,0,0,8,16,5,0,0,0,0,1,16,16,5,0,0,0,0,11,16,16,1,1,0,0,6,16,16,16,15,9,0,0,7,15,16,16,10,1,0,0,0,1,7,16,1,0,0,0,0,0,1,15,5,0,0,4 +0,0,7,15,6,0,0,0,0,0,2,14,15,2,0,0,0,0,0,5,16,6,0,0,0,0,0,5,16,9,2,0,0,5,14,16,15,11,4,0,0,5,7,12,11,0,0,0,0,0,4,15,1,0,0,0,0,0,10,11,0,0,0,0,7 +0,2,15,13,0,0,0,0,0,12,16,16,3,0,0,0,0,5,13,16,4,0,0,0,0,0,8,16,4,0,0,0,0,0,8,16,4,0,0,0,0,0,12,16,0,0,0,0,0,0,16,16,16,14,6,0,0,1,16,16,16,12,7,0,2 +0,0,2,12,12,0,0,0,0,0,7,16,15,9,1,0,0,0,6,14,13,15,3,0,0,0,1,16,16,4,0,0,0,0,7,16,14,0,0,0,0,1,15,9,16,5,0,0,0,2,13,13,16,10,0,0,0,0,1,11,12,5,0,0,8 +0,2,15,15,5,0,0,0,0,5,16,16,11,0,0,0,0,9,15,16,12,0,0,0,0,0,4,16,6,0,0,0,0,0,8,16,2,0,0,0,0,1,14,13,0,0,0,0,0,4,16,14,14,16,5,0,0,2,14,16,13,9,1,0,2 +0,0,4,14,16,4,0,0,0,3,16,16,16,6,0,0,0,8,16,12,16,7,0,0,0,3,5,12,15,0,0,0,0,0,0,15,12,0,0,0,0,0,6,16,2,0,0,0,0,0,8,16,12,5,1,0,0,0,4,16,16,15,4,0,2 +0,3,11,15,12,7,1,0,0,4,16,13,11,9,6,0,0,4,15,0,0,0,0,0,0,3,16,8,0,0,0,0,0,0,11,16,8,0,0,0,0,0,0,13,12,0,0,0,0,1,7,16,3,0,0,0,0,5,13,6,0,0,0,0,5 +0,4,13,9,8,3,0,0,0,5,16,14,12,12,6,0,0,8,16,1,0,0,0,0,0,3,16,11,1,0,0,0,0,0,8,16,9,0,0,0,0,0,0,10,16,0,0,0,0,1,1,12,14,0,0,0,0,4,14,14,3,0,0,0,5 +0,0,0,0,13,11,0,0,0,0,0,8,16,5,0,0,0,0,3,15,16,4,0,0,0,0,8,15,16,10,1,0,0,4,16,14,16,16,11,0,0,7,16,13,15,14,3,0,0,0,0,0,16,11,0,0,0,0,0,0,12,11,0,0,4 +0,0,3,14,13,1,0,0,0,0,9,16,16,9,0,0,0,0,8,16,11,15,1,0,0,0,2,14,16,15,2,0,0,0,6,16,16,6,0,0,0,0,15,11,10,12,0,0,0,1,16,11,11,15,0,0,0,0,5,13,15,7,0,0,8 +0,0,2,16,10,1,0,0,0,0,7,16,16,12,0,0,0,0,3,16,16,15,0,0,0,0,2,16,14,0,0,0,0,0,8,15,16,6,0,0,0,0,13,8,9,13,0,0,0,0,12,10,7,16,0,0,0,0,3,13,15,10,0,0,8 +0,0,0,5,16,3,0,0,0,0,1,15,16,4,0,0,0,0,10,16,16,1,0,0,0,3,16,16,15,4,2,0,0,10,16,16,16,16,12,0,0,1,7,14,13,6,5,0,0,0,0,11,12,0,0,0,0,0,0,4,10,0,0,0,4 +0,0,7,16,11,1,0,0,0,1,15,12,12,12,0,0,0,2,16,2,6,16,2,0,0,1,16,6,6,16,6,0,0,0,7,16,15,16,9,0,0,0,0,0,0,12,11,0,0,0,3,3,6,16,5,0,0,0,8,16,14,6,0,0,9 +0,0,2,14,13,0,0,0,0,0,10,15,15,8,0,0,0,2,16,7,4,15,0,0,0,4,16,4,0,13,7,0,0,4,16,1,0,10,8,0,0,4,16,5,1,12,11,0,0,1,15,14,13,16,3,0,0,0,3,12,13,5,0,0,0 +0,0,0,12,15,6,0,0,0,0,5,16,13,15,0,0,0,0,2,16,16,12,1,0,0,0,0,11,16,14,1,0,0,0,7,16,15,10,0,0,0,1,16,8,2,14,5,0,0,0,12,10,4,12,7,0,0,0,2,11,16,13,3,0,8 +0,0,3,12,5,0,0,0,0,1,15,14,16,6,0,0,0,6,16,0,6,16,6,0,0,5,16,11,14,16,4,0,0,0,8,10,12,16,0,0,0,0,1,1,7,15,1,0,0,0,8,10,10,16,2,0,0,0,2,13,14,7,0,0,9 +0,0,5,14,15,2,0,0,0,0,13,14,9,10,0,0,0,0,15,8,2,15,3,0,0,0,11,12,9,14,2,0,0,0,7,16,14,2,0,0,0,0,13,14,16,4,0,0,0,3,15,8,14,10,0,0,0,0,6,16,16,8,0,0,8 +0,0,4,11,15,8,0,0,0,0,13,16,11,13,7,0,0,3,16,12,0,4,8,0,0,6,16,5,0,4,8,0,0,7,9,0,0,9,7,0,0,4,10,0,2,15,2,0,0,1,16,12,14,10,0,0,0,0,4,14,14,1,0,0,0 +0,0,0,13,15,8,0,0,0,0,1,16,16,10,0,0,0,0,1,16,16,8,0,0,0,0,4,16,16,2,0,0,0,0,11,16,14,0,0,0,0,2,16,16,10,0,0,0,0,0,13,16,15,2,0,0,0,0,1,13,16,4,0,0,1 +0,0,6,14,8,0,0,0,0,6,16,10,14,4,0,0,0,11,5,0,11,4,0,0,0,4,6,2,16,2,0,0,0,0,0,13,7,0,0,0,0,0,7,14,0,0,0,0,0,0,12,10,8,8,4,0,0,0,7,14,14,14,13,0,2 +0,0,10,16,10,1,0,0,0,6,14,6,16,3,0,0,0,5,4,5,15,0,0,0,0,0,0,12,14,1,0,0,0,0,0,3,11,15,1,0,0,0,0,0,0,10,8,0,0,0,9,8,8,15,6,0,0,0,9,15,15,9,0,0,3 +0,0,0,12,4,0,0,0,0,0,6,15,2,0,0,0,0,0,16,5,0,4,4,0,0,4,15,2,3,15,9,0,0,2,15,16,16,16,4,0,0,0,2,8,16,8,0,0,0,0,0,8,15,0,0,0,0,0,0,11,9,0,0,0,4 +0,0,6,8,12,14,0,0,0,5,16,15,12,7,0,0,0,8,16,13,4,0,0,0,0,2,11,8,14,11,0,0,0,0,0,0,0,15,1,0,0,0,0,0,0,14,5,0,0,1,9,8,12,14,1,0,0,0,10,15,12,3,0,0,5 +0,0,3,13,6,0,0,0,0,0,10,15,2,0,0,0,0,2,15,3,0,0,0,0,0,4,14,0,0,0,0,0,0,4,14,14,16,13,2,0,0,3,16,9,1,4,12,0,0,0,14,10,5,11,11,0,0,0,3,13,15,8,0,0,6 +0,0,6,16,16,16,16,10,0,0,6,10,8,14,16,3,0,0,0,0,4,16,8,0,0,0,2,10,14,15,6,0,0,0,6,16,16,16,7,0,0,0,0,15,9,0,0,0,0,0,6,16,6,0,0,0,0,0,10,13,1,0,0,0,7 +0,0,1,10,13,13,1,0,0,1,13,10,4,14,4,0,0,8,13,0,7,12,0,0,0,2,12,14,15,2,0,0,0,0,5,15,15,2,0,0,0,0,8,7,3,13,3,0,0,0,8,8,0,13,4,0,0,0,1,11,16,16,2,0,8 +0,0,6,12,13,5,0,0,0,2,16,9,8,15,2,0,0,8,12,0,3,15,8,0,0,4,15,12,16,13,1,0,0,0,2,2,16,6,0,0,0,0,0,1,16,1,0,0,0,0,0,5,16,0,0,0,0,0,3,16,14,0,0,0,9 +0,0,4,13,8,0,0,0,0,0,13,16,15,7,0,0,0,3,16,9,6,15,6,0,0,8,14,0,0,4,8,0,0,8,12,0,0,4,8,0,0,4,12,0,0,11,6,0,0,0,14,10,12,14,1,0,0,0,7,15,11,2,0,0,0 +0,0,0,0,14,4,0,0,0,0,0,3,16,11,0,0,0,0,0,10,16,9,0,0,0,0,0,13,16,7,0,0,0,0,12,16,16,4,0,0,0,1,13,12,16,5,0,0,0,0,0,4,16,9,0,0,0,0,0,0,14,10,0,0,1 +0,0,10,16,11,0,0,0,0,8,15,10,15,2,0,0,0,11,11,2,16,5,0,0,0,7,5,6,16,3,0,0,0,0,1,15,10,0,0,0,0,0,10,16,2,0,0,0,0,0,12,14,8,10,5,0,0,0,12,16,16,16,15,0,2 +0,0,6,15,16,10,0,0,0,3,16,11,15,10,0,0,0,4,10,10,16,4,0,0,0,0,4,16,15,3,0,0,0,0,1,9,16,15,2,0,0,0,0,0,3,16,6,0,0,0,3,9,12,16,5,0,0,0,9,16,16,8,0,0,3 +0,0,0,13,12,0,0,0,0,0,6,16,7,0,0,0,0,0,15,15,1,1,4,0,0,6,16,10,9,15,14,0,0,9,16,16,16,16,4,0,0,2,8,12,16,9,0,0,0,0,0,13,16,0,0,0,0,0,0,14,15,1,0,0,4 +0,0,15,16,16,15,9,0,0,6,16,13,12,12,11,2,0,3,15,14,2,0,0,0,0,0,6,16,5,0,0,0,0,0,0,14,11,0,0,0,0,0,0,12,8,0,0,0,0,1,14,14,10,0,0,0,0,0,13,16,3,0,0,0,5 +0,0,0,13,9,0,0,0,0,0,8,15,5,0,0,0,0,0,14,8,0,0,0,0,0,2,16,3,0,2,0,0,0,0,16,13,16,16,6,0,0,1,16,11,4,7,12,0,0,0,11,12,5,13,9,0,0,0,1,12,15,11,2,0,6 +0,0,4,12,16,10,0,0,0,0,15,12,12,11,0,0,0,0,1,0,9,7,0,0,0,0,4,7,15,13,7,0,0,6,16,16,15,10,3,0,0,1,4,12,7,0,0,0,0,0,2,16,2,0,0,0,0,0,6,12,0,0,0,0,7 +0,0,2,12,16,10,0,0,0,0,12,7,1,13,4,0,0,3,16,0,8,12,0,0,0,4,16,11,14,1,0,0,0,0,7,16,6,0,0,0,0,0,6,12,15,2,0,0,0,0,8,7,13,4,0,0,0,0,3,13,16,3,0,0,8 +0,0,4,14,16,15,1,0,0,5,16,8,4,16,7,0,0,8,13,0,4,16,12,0,0,7,16,15,16,13,3,0,0,0,6,12,16,4,0,0,0,0,0,11,12,0,0,0,0,0,0,16,7,0,0,0,0,0,3,16,2,0,0,0,9 +0,0,5,15,12,8,0,0,0,0,13,16,10,13,3,0,0,5,16,9,0,8,4,0,0,4,13,1,0,4,8,0,0,4,8,0,0,8,4,0,0,1,14,0,0,11,3,0,0,0,12,9,9,15,0,0,0,0,4,14,15,4,0,0,0 +0,0,0,4,13,13,0,0,0,0,0,10,16,16,1,0,0,0,3,14,16,13,0,0,0,0,8,16,16,5,0,0,0,3,15,16,16,4,0,0,0,4,16,16,16,6,0,0,0,2,8,15,16,9,0,0,0,0,0,4,14,12,0,0,1 +0,1,13,16,16,4,0,0,0,9,15,6,13,8,0,0,0,5,10,0,12,10,0,0,0,0,0,6,16,5,0,0,0,0,5,16,10,0,0,0,0,2,16,11,0,0,0,0,0,5,16,13,8,8,5,0,0,1,10,14,16,16,16,0,2 +0,0,8,14,14,4,0,0,0,5,12,4,7,12,0,0,0,4,2,3,13,5,0,0,0,0,0,16,15,1,0,0,0,0,0,3,9,14,1,0,0,0,0,0,0,7,8,0,0,0,3,4,4,13,7,0,0,0,11,16,15,5,0,0,3 +0,0,1,11,3,0,0,0,0,0,9,16,0,0,0,0,0,1,16,5,0,1,2,0,0,6,16,2,1,13,10,0,0,7,16,9,15,13,0,0,0,2,9,12,16,1,0,0,0,0,0,14,9,0,0,0,0,0,2,16,7,0,0,0,4 +0,0,11,7,12,15,1,0,0,1,16,14,9,6,0,0,0,8,12,0,0,0,0,0,0,5,14,15,15,5,0,0,0,1,6,4,10,9,0,0,0,0,0,0,4,11,0,0,0,0,10,4,13,8,0,0,0,0,12,16,10,1,0,0,5 +0,0,4,12,1,0,0,0,0,0,14,13,0,0,0,0,0,2,16,3,0,0,0,0,0,7,13,0,0,0,0,0,0,7,12,7,12,6,2,0,0,4,15,15,12,13,11,0,0,1,13,16,5,11,12,0,0,0,5,13,16,11,1,0,6 +0,0,4,13,16,16,16,10,0,0,11,15,12,13,16,5,0,0,0,0,0,12,11,0,0,0,1,0,5,15,2,0,0,0,14,13,15,15,6,0,0,0,15,16,15,9,2,0,0,0,1,16,7,0,0,0,0,0,6,14,2,0,0,0,7 +0,0,2,11,16,12,2,0,0,0,11,7,4,7,8,0,0,5,14,4,0,8,4,0,0,2,15,9,6,11,0,0,0,0,3,16,11,0,0,0,0,0,9,13,11,0,0,0,0,0,12,10,16,1,0,0,0,0,2,12,16,3,0,0,8 +0,0,9,16,12,2,0,0,0,0,16,3,5,10,0,0,0,0,13,4,14,16,4,0,0,0,4,16,16,16,7,0,0,0,0,3,4,10,4,0,0,0,0,0,0,8,6,0,0,0,12,1,1,13,3,0,0,0,8,15,16,9,0,0,9 +0,0,2,12,15,12,1,0,0,1,14,14,14,11,8,0,0,5,16,3,0,2,8,0,0,8,14,0,0,6,8,0,0,4,12,0,0,9,4,0,0,1,16,1,1,14,1,0,0,0,11,9,11,8,0,0,0,0,2,13,14,1,0,0,0 +0,0,3,11,13,5,0,0,0,0,10,12,5,16,0,0,0,0,7,10,6,15,4,0,0,0,2,13,16,14,6,0,0,0,0,0,0,7,9,0,0,0,0,0,0,4,11,0,0,0,9,7,0,8,11,0,0,0,3,9,16,16,6,0,9 +0,0,6,8,8,13,3,0,0,1,14,14,12,9,3,0,0,4,16,8,2,0,0,0,0,4,16,13,15,7,0,0,0,0,0,0,3,15,0,0,0,0,0,0,3,15,0,0,0,0,6,8,13,8,0,0,0,0,9,15,8,0,0,0,5 +0,0,3,8,9,9,0,0,0,6,16,12,8,5,0,0,0,11,13,0,0,0,0,0,0,9,16,10,5,0,0,0,0,0,3,8,13,10,1,0,0,0,0,0,0,10,7,0,0,0,5,2,4,13,8,0,0,0,7,16,14,8,0,0,5 +0,0,0,8,15,2,0,0,0,0,6,16,5,0,0,0,0,0,12,8,0,0,0,0,0,0,13,6,0,0,0,0,0,0,12,12,16,14,0,0,0,0,14,15,6,8,11,0,0,3,12,14,5,10,13,0,0,0,0,9,16,13,5,0,6 +0,1,5,11,15,4,0,0,0,8,16,13,6,2,0,0,0,11,7,0,0,0,0,0,0,11,16,16,11,2,0,0,0,0,4,4,5,12,3,0,0,0,0,0,0,5,11,0,0,0,1,6,0,10,11,0,0,0,2,12,16,15,2,0,5 +0,0,9,16,15,14,1,0,0,1,15,15,5,10,7,0,0,6,16,1,0,1,8,0,0,8,13,0,0,4,8,0,0,7,6,0,0,6,6,0,0,5,9,0,0,13,1,0,0,0,16,5,12,12,0,0,0,0,8,15,10,1,0,0,0 +0,0,7,13,16,7,0,0,0,2,16,6,5,12,1,0,0,4,12,0,1,16,4,0,0,1,12,12,13,16,3,0,0,0,0,4,8,13,0,0,0,0,0,0,4,13,0,0,0,0,8,3,10,10,0,0,0,0,6,15,15,3,0,0,9 +0,0,4,15,14,10,1,0,0,0,7,9,0,9,8,0,0,0,11,9,2,13,7,0,0,0,4,15,14,4,0,0,0,0,6,15,15,1,0,0,0,4,14,1,13,7,0,0,0,7,13,1,5,13,0,0,0,0,7,14,16,16,1,0,8 +0,0,4,12,16,12,0,0,0,5,16,8,4,12,2,0,0,12,6,0,0,13,4,0,0,6,16,13,16,16,7,0,0,0,3,4,1,8,8,0,0,0,0,0,0,4,12,0,0,0,8,9,2,9,9,0,0,0,2,13,16,15,3,0,9 +0,0,5,12,15,10,1,0,0,2,14,7,4,9,7,0,0,7,15,7,0,9,8,0,0,1,5,15,11,13,3,0,0,0,3,15,16,5,0,0,0,0,15,9,12,7,0,0,0,0,15,5,8,12,0,0,0,0,4,14,16,11,0,0,8 +0,0,0,7,10,0,0,0,0,0,3,15,5,0,0,0,0,0,11,11,0,2,2,0,0,5,14,2,1,13,7,0,0,7,15,2,8,16,3,0,0,3,14,16,16,8,0,0,0,0,0,7,16,0,0,0,0,0,0,6,16,2,0,0,4 +0,0,7,12,9,0,0,0,0,0,12,16,16,1,0,0,0,0,11,16,16,0,0,0,0,0,12,16,16,0,0,0,0,0,13,16,16,0,0,0,0,0,13,16,16,0,0,0,0,1,14,16,16,1,0,0,0,0,4,12,12,9,0,0,1 +0,0,6,16,16,9,0,0,0,0,14,9,12,11,0,0,0,0,1,0,9,6,0,0,0,0,1,6,16,10,6,0,0,0,10,16,14,11,5,0,0,0,5,15,2,0,0,0,0,0,3,13,0,0,0,0,0,0,7,8,0,0,0,0,7 +0,0,1,11,16,16,10,0,0,0,13,14,8,12,11,0,0,0,4,0,0,13,4,0,0,0,0,0,3,15,0,0,0,0,2,15,16,16,9,0,0,0,3,13,16,8,1,0,0,0,0,7,10,0,0,0,0,0,0,13,3,0,0,0,7 +0,0,7,15,16,12,0,0,0,4,16,11,12,12,0,0,0,2,7,1,13,11,0,0,0,0,0,13,16,6,0,0,0,0,0,11,15,16,3,0,0,0,0,0,1,15,8,0,0,0,5,16,12,15,8,0,0,0,7,16,16,13,2,0,3 +0,0,6,14,14,13,11,0,0,0,14,12,5,4,2,0,0,3,16,16,4,0,0,0,0,2,11,11,16,3,0,0,0,0,0,0,7,10,0,0,0,0,0,0,1,11,0,0,0,0,3,7,12,8,0,0,0,0,7,14,11,1,0,0,5 +0,0,0,10,13,0,0,0,0,0,0,13,16,5,0,0,0,0,0,16,16,4,0,0,0,0,3,16,16,7,0,0,0,0,7,16,16,9,0,0,0,0,9,16,16,10,0,0,0,0,10,16,16,14,0,0,0,0,1,5,7,15,8,0,1 +0,0,2,13,10,3,0,0,0,0,10,15,12,13,1,0,0,0,16,4,0,6,4,0,0,2,16,3,0,1,7,0,0,5,13,5,0,2,8,0,0,4,12,0,0,3,8,0,0,0,13,5,6,13,5,0,0,0,5,14,13,8,1,0,0 +0,0,5,13,13,5,0,0,0,0,16,16,10,15,3,0,0,5,16,2,1,8,4,0,0,4,13,0,0,4,8,0,0,8,12,0,0,6,7,0,0,5,15,0,0,7,7,0,0,0,16,8,5,15,3,0,0,0,5,14,15,9,0,0,0 +0,2,15,16,7,0,0,0,0,10,15,10,16,2,0,0,0,9,11,5,16,0,0,0,0,0,0,12,11,0,0,0,0,0,5,16,2,0,0,0,0,3,15,8,0,0,0,0,0,8,15,5,5,8,3,0,0,3,15,16,16,16,10,0,2 +0,0,5,15,15,2,0,0,0,3,16,9,16,5,0,0,0,5,9,1,16,1,0,0,0,0,0,10,9,0,0,0,0,0,1,16,3,0,0,0,0,0,9,9,0,0,0,0,0,0,11,14,7,6,2,0,0,0,6,16,16,15,2,0,2 +0,0,3,11,16,16,4,0,0,0,9,12,12,16,9,0,0,0,0,0,1,16,8,0,0,0,0,9,14,16,9,0,0,0,1,16,16,14,5,0,0,0,0,6,16,4,0,0,0,0,0,11,14,0,0,0,0,0,1,15,7,0,0,0,7 +0,0,4,13,16,14,2,0,0,2,15,5,4,14,4,0,0,8,15,6,1,15,1,0,0,4,16,16,13,10,0,0,0,0,1,9,16,10,0,0,0,0,4,14,3,14,6,0,0,0,9,10,3,13,8,0,0,0,3,15,16,11,1,0,8 +0,0,7,16,16,3,0,0,0,7,16,9,14,7,0,0,0,10,9,0,14,5,0,0,0,3,3,4,16,2,0,0,0,0,0,12,11,0,0,0,0,0,6,16,3,0,0,0,0,0,12,15,8,8,3,0,0,0,10,16,16,16,9,0,2 +0,0,4,13,11,7,0,0,0,0,14,16,13,16,2,0,0,5,16,4,0,5,7,0,0,8,14,0,0,4,8,0,0,6,9,0,0,4,8,0,0,2,14,1,0,8,6,0,0,0,13,12,9,15,2,0,0,0,3,16,12,5,0,0,0 +0,0,0,0,11,14,3,0,0,0,0,2,16,16,2,0,0,0,0,11,16,14,0,0,0,0,3,16,16,15,0,0,0,1,13,16,16,13,0,0,0,6,16,9,15,13,0,0,0,0,0,0,12,16,1,0,0,0,0,0,9,14,1,0,1 +0,2,11,16,12,1,0,0,0,9,16,9,16,4,0,0,0,14,7,4,16,1,0,0,0,6,5,9,14,0,0,0,0,0,3,16,5,0,0,0,0,0,13,14,0,0,0,0,0,3,16,11,8,12,9,0,0,2,15,16,16,13,16,1,2 +0,0,3,12,3,0,0,0,0,0,13,14,2,0,0,0,0,3,10,0,0,0,0,0,0,0,0,3,5,3,0,0,0,4,10,16,16,16,4,0,0,6,16,4,0,8,9,0,0,0,15,12,4,9,12,0,0,0,2,13,16,14,4,0,6 +0,2,11,16,15,2,0,0,0,12,15,12,16,4,0,0,0,3,3,6,16,2,0,0,0,0,2,15,12,0,0,0,0,0,3,16,16,12,1,0,0,0,0,1,6,15,10,0,0,0,6,12,8,14,11,0,0,1,16,16,16,11,3,0,3 +0,0,7,14,16,11,0,0,0,2,16,11,11,16,2,0,0,0,3,3,15,9,0,0,0,0,0,10,16,8,0,0,0,0,0,3,14,15,2,0,0,0,0,0,1,16,6,0,0,0,3,12,13,15,2,0,0,0,6,16,12,5,0,0,3 +0,0,5,16,16,16,16,11,0,0,6,9,5,5,15,8,0,0,0,0,0,9,11,1,0,0,0,3,6,16,3,0,0,0,5,16,16,16,7,0,0,0,4,8,16,4,1,0,0,0,1,13,10,0,0,0,0,0,3,16,2,0,0,0,7 +0,2,13,16,16,11,0,0,0,10,11,4,12,12,0,0,0,1,1,4,14,8,0,0,0,0,2,16,16,8,0,0,0,0,0,7,9,16,8,0,0,0,0,0,0,10,12,0,0,0,5,9,10,16,9,0,0,0,15,16,13,7,0,0,3 +0,1,10,16,16,6,0,0,0,7,14,9,12,12,0,0,0,1,1,5,15,5,0,0,0,0,3,16,14,3,0,0,0,0,1,11,14,16,6,0,0,0,0,0,0,12,11,0,0,0,7,8,13,16,5,0,0,0,15,16,12,5,0,0,3 +0,0,1,14,8,0,0,0,0,0,8,16,4,0,0,0,0,1,16,9,0,1,5,0,0,8,16,5,1,12,15,0,0,10,16,12,11,16,6,0,0,3,14,16,16,8,0,0,0,0,0,11,16,1,0,0,0,0,0,13,14,0,0,0,4 +0,0,2,12,8,0,0,0,0,0,12,13,5,0,0,0,0,1,16,1,0,0,0,0,0,2,14,0,0,0,0,0,0,2,16,5,10,10,4,0,0,0,16,14,8,6,13,0,0,0,13,9,2,4,14,0,0,0,3,10,16,16,7,0,6 +0,0,2,13,13,1,0,0,0,0,9,13,5,0,0,0,0,0,13,5,0,0,0,0,0,0,15,2,0,0,0,0,0,0,15,10,9,9,2,0,0,0,16,11,8,11,12,0,0,1,14,11,1,4,13,0,0,0,3,11,16,15,4,0,6 +0,0,1,13,4,0,0,0,0,0,5,15,2,0,0,0,0,0,12,7,0,0,0,0,0,0,14,6,0,0,0,0,0,0,16,12,15,15,7,0,0,0,14,14,6,4,14,1,0,0,9,14,3,4,14,2,0,0,1,7,14,16,11,0,6 +0,0,4,16,6,0,0,0,0,0,12,15,1,0,0,0,0,1,16,11,0,0,0,0,0,8,16,3,0,7,4,0,0,12,16,6,11,16,7,0,0,7,16,16,15,3,0,0,0,0,4,16,10,0,0,0,0,0,4,16,6,0,0,0,4 +0,0,0,9,15,16,9,0,0,0,10,13,4,12,7,0,0,5,14,1,2,15,3,0,0,4,14,12,16,15,0,0,0,0,1,1,13,7,0,0,0,0,0,4,15,1,0,0,0,0,0,11,8,0,0,0,0,0,0,12,4,0,0,0,9 +0,0,1,15,11,1,0,0,0,0,2,16,16,7,0,0,0,0,6,16,16,5,0,0,0,0,8,16,16,4,0,0,0,0,9,16,13,0,0,0,0,0,11,16,13,0,0,0,0,0,11,16,11,0,0,0,0,0,1,14,16,3,0,0,1 +0,0,2,10,16,4,0,0,1,10,16,16,15,4,0,0,0,16,16,10,1,0,0,0,0,15,16,16,7,0,0,0,0,5,11,5,15,2,0,0,0,0,0,0,11,9,0,0,0,0,3,10,16,9,0,0,0,0,2,16,15,2,0,0,5 +0,0,5,8,11,5,0,0,0,0,13,16,12,12,0,0,0,1,16,9,0,9,3,0,0,3,16,6,0,6,6,0,0,3,11,1,0,5,6,0,0,0,12,0,0,11,6,0,0,0,14,5,12,15,1,0,0,0,6,16,13,2,0,0,0 +0,0,3,14,16,8,0,0,0,3,15,8,4,15,1,0,0,8,10,0,3,16,8,0,0,3,15,13,16,14,1,0,0,0,2,5,16,4,0,0,0,0,0,8,11,0,0,0,0,0,0,15,2,0,0,0,0,0,2,13,0,0,0,0,9 +0,0,5,8,12,16,4,0,0,3,16,11,7,1,0,0,0,3,14,6,4,0,0,0,0,5,16,12,14,6,0,0,0,0,2,0,4,12,0,0,0,0,0,0,4,10,0,0,0,0,6,8,14,7,0,0,0,0,7,13,7,0,0,0,5 +0,0,11,16,15,5,0,0,0,8,16,14,16,8,0,0,0,11,10,0,16,8,0,0,0,3,1,6,16,2,0,0,0,0,1,15,10,0,0,0,0,0,11,15,1,0,0,0,0,0,16,14,12,12,8,0,0,1,15,16,16,14,8,0,2 +0,0,4,13,15,9,0,0,0,4,14,6,5,16,0,0,0,7,12,2,2,16,0,0,0,4,16,15,14,7,0,0,0,0,9,16,16,5,0,0,0,0,10,6,8,15,2,0,0,0,11,9,4,13,11,0,0,0,2,14,16,15,6,0,8 +0,2,15,16,15,2,0,0,0,8,14,8,14,8,0,0,0,7,5,2,16,5,0,0,0,0,0,12,13,0,0,0,0,0,8,15,1,0,0,0,0,1,15,7,0,0,0,0,0,4,16,9,8,8,2,0,0,2,15,16,16,16,13,0,2 +0,0,3,11,16,10,0,0,0,0,10,16,10,14,6,0,0,0,15,7,0,11,8,0,0,3,16,2,0,8,8,0,0,4,12,0,0,9,8,0,0,6,15,1,0,12,8,0,0,3,15,10,8,15,4,0,0,0,5,12,14,9,0,0,0 +0,0,7,15,9,5,0,0,0,0,14,16,14,15,0,0,0,1,16,8,4,6,4,0,0,4,15,1,0,6,5,0,0,3,11,0,0,7,5,0,0,3,11,0,1,13,2,0,0,1,13,8,13,13,0,0,0,0,6,15,11,1,0,0,0 +0,0,0,2,13,9,0,0,0,0,0,7,16,15,0,0,0,0,0,11,16,7,0,0,0,0,0,15,16,2,0,0,0,0,7,16,14,0,0,0,0,0,13,16,14,0,0,0,0,0,8,15,16,0,0,0,0,0,0,3,13,8,0,0,1 +0,0,3,11,16,15,1,0,0,1,16,14,10,16,2,0,0,5,12,0,8,12,0,0,0,0,1,1,13,9,0,0,0,0,11,16,16,13,2,0,0,0,11,14,15,12,5,0,0,0,0,15,9,0,0,0,0,0,0,15,5,0,0,0,7 +0,0,0,4,15,1,0,0,0,0,0,13,8,1,0,0,0,0,6,12,0,0,0,0,0,0,8,10,0,0,0,0,0,0,13,12,11,10,0,0,0,4,16,15,8,11,10,0,0,1,7,15,4,3,12,0,0,0,0,7,15,16,8,0,6 +0,0,8,14,15,6,0,0,0,4,16,12,14,11,0,0,0,4,8,1,14,7,0,0,0,0,0,14,16,5,0,0,0,0,0,11,16,16,2,0,0,0,0,0,1,15,7,0,0,0,4,11,8,14,7,0,0,0,11,16,16,10,0,0,3 +0,0,10,16,16,7,0,0,0,6,15,9,14,12,0,0,0,3,5,0,13,8,0,0,0,0,0,10,13,0,0,0,0,0,2,16,4,0,0,0,0,0,12,8,0,0,0,0,0,0,16,13,11,8,3,0,0,0,12,16,16,16,5,0,2 +0,0,0,0,10,11,0,0,0,0,0,0,16,13,0,0,0,0,0,7,16,9,0,0,0,0,0,13,16,3,0,0,0,0,10,16,16,0,0,0,0,0,15,16,16,4,0,0,0,3,12,6,16,6,0,0,0,0,0,0,10,13,7,0,1 +0,0,3,13,16,11,0,0,0,0,14,12,14,16,1,0,0,0,6,0,7,15,0,0,0,0,0,0,12,11,0,0,0,0,8,13,16,14,4,0,0,5,16,16,14,12,4,0,0,0,3,16,3,0,0,0,0,0,8,13,0,0,0,0,7 +0,0,2,13,13,0,0,0,0,0,9,16,6,0,0,0,0,0,14,16,2,0,4,0,0,5,16,10,1,13,15,0,0,7,16,16,16,16,4,0,0,0,8,15,16,8,0,0,0,0,0,14,10,0,0,0,0,0,1,16,11,0,0,0,4 +0,0,3,11,0,0,0,0,0,0,12,11,0,0,0,0,0,1,14,1,0,0,0,0,0,2,15,0,0,0,0,0,0,4,15,15,16,15,2,0,0,1,16,8,4,8,11,0,0,1,16,11,7,10,12,0,0,0,5,10,12,15,7,0,6 +0,0,12,16,16,13,1,0,0,4,15,9,12,16,2,0,0,0,2,0,11,15,0,0,0,0,0,12,16,4,0,0,0,0,0,8,16,13,1,0,0,0,0,0,6,16,6,0,0,0,4,6,6,16,6,0,0,0,12,16,16,9,0,0,3 +0,0,0,12,15,2,0,0,0,0,0,13,16,8,0,0,0,0,0,14,16,9,0,0,0,0,0,13,16,6,0,0,0,0,7,16,16,3,0,0,0,1,16,16,16,1,0,0,0,0,8,16,16,2,0,0,0,0,0,9,16,7,0,0,1 +0,2,10,14,11,1,0,0,0,7,15,8,16,4,0,0,0,1,1,6,15,1,0,0,0,0,0,15,9,0,0,0,0,0,1,16,15,9,1,0,0,0,0,1,6,15,8,0,0,2,8,4,6,15,7,0,0,2,13,16,15,9,0,0,3 +0,0,2,10,16,13,0,0,0,3,16,8,2,16,1,0,0,8,13,0,2,16,6,0,0,6,16,12,16,16,7,0,0,0,2,4,8,12,1,0,0,0,0,1,15,3,0,0,0,0,0,9,10,0,0,0,0,0,1,16,3,0,0,0,9 +0,0,1,14,7,0,0,0,0,0,6,16,16,1,0,0,0,0,7,16,15,0,0,0,0,0,6,16,15,0,0,0,0,0,6,16,15,0,0,0,0,0,4,16,16,1,0,0,0,0,4,16,16,6,0,0,0,0,1,15,16,8,0,0,1 +0,0,6,15,16,3,0,0,0,3,16,12,15,8,0,0,0,0,4,0,14,6,0,0,0,0,0,2,16,6,2,0,0,0,4,14,16,16,8,0,0,0,15,16,7,0,0,0,0,0,6,16,0,0,0,0,0,0,7,9,0,0,0,0,7 +0,0,0,11,16,2,0,0,0,0,7,16,8,2,0,0,0,0,15,7,0,0,0,0,0,0,16,4,3,1,0,0,0,1,16,16,16,16,4,0,0,0,14,12,4,6,12,0,0,0,10,16,5,10,15,0,0,0,2,11,16,12,8,0,6 +0,0,3,10,12,12,2,0,0,1,13,12,6,13,8,0,0,8,16,8,8,14,1,0,0,5,14,16,16,3,0,0,0,0,12,16,15,2,0,0,0,3,16,2,15,10,0,0,0,4,16,8,12,12,0,0,0,0,9,16,15,3,0,0,8 +0,0,0,9,11,0,0,0,0,0,2,15,8,0,0,0,0,0,11,15,1,3,8,0,0,6,16,4,0,14,12,0,0,12,16,4,11,16,5,0,0,9,16,16,16,11,0,0,0,0,6,11,16,7,0,0,0,0,0,10,16,4,0,0,4 +0,1,12,16,10,0,0,0,0,7,11,7,14,1,0,0,0,2,2,3,14,0,0,0,0,0,3,14,6,0,0,0,0,0,12,16,16,6,0,0,0,0,2,0,5,15,6,0,0,1,11,4,4,13,8,0,0,2,14,16,16,13,1,0,3 +0,0,3,16,11,0,0,0,0,0,0,16,16,6,0,0,0,0,0,13,16,7,0,0,0,0,0,11,16,10,0,0,0,0,0,12,16,6,0,0,0,0,3,16,16,2,0,0,0,0,5,16,15,0,0,0,0,0,3,13,15,0,0,0,1 +0,0,2,15,12,0,0,0,0,0,9,16,5,0,2,0,0,2,15,10,0,11,16,1,0,10,16,4,6,16,10,0,0,6,16,16,16,15,1,0,0,0,6,13,16,4,0,0,0,0,0,15,13,0,0,0,0,0,6,16,5,0,0,0,4 +0,0,3,14,7,0,0,0,0,0,14,16,14,9,0,0,0,4,16,16,11,15,3,0,0,5,15,6,0,4,8,0,0,8,8,0,0,4,8,0,0,5,11,0,0,6,6,0,0,0,13,10,5,15,5,0,0,0,2,12,14,8,0,0,0 +0,0,5,11,16,12,0,0,0,0,16,12,4,3,0,0,0,4,16,6,3,0,0,0,0,4,15,16,16,9,0,0,0,0,0,0,3,16,6,0,0,0,0,0,0,11,6,0,0,0,0,1,8,15,1,0,0,0,6,16,13,1,0,0,5 +0,0,6,13,16,10,0,0,0,4,13,5,4,16,0,0,0,0,0,1,10,8,0,0,0,0,0,12,16,3,0,0,0,0,0,3,7,15,1,0,0,0,0,0,0,9,8,0,0,0,8,6,3,11,7,0,0,0,4,14,16,11,1,0,3 +0,0,1,13,7,0,0,0,0,0,7,14,2,0,0,0,0,0,13,5,0,0,0,0,0,0,16,3,0,0,0,0,0,3,16,10,12,12,3,0,0,3,16,11,5,9,12,0,0,1,13,11,4,13,11,0,0,0,1,12,16,11,2,0,6 +0,0,3,11,15,13,2,0,0,2,15,11,8,14,7,0,0,8,14,0,2,13,2,0,0,3,13,16,16,15,1,0,0,0,0,0,14,5,0,0,0,0,0,7,14,0,0,0,0,0,1,15,4,0,0,0,0,0,2,16,1,0,0,0,9 +0,0,1,10,14,0,0,0,0,0,8,14,11,3,0,0,0,0,16,2,2,0,0,0,0,3,13,0,0,0,0,0,0,4,13,0,6,10,3,0,0,3,15,13,12,10,12,0,0,0,10,16,4,5,14,0,0,0,0,9,15,14,9,0,6 +0,0,8,16,15,8,0,0,0,1,16,16,16,2,0,0,0,2,16,16,10,0,0,0,0,2,16,16,12,0,0,0,0,6,16,16,13,0,0,0,0,1,16,16,11,0,0,0,0,0,16,16,10,0,0,0,0,0,7,15,15,0,0,0,1 +0,0,8,16,16,1,0,0,0,1,12,10,16,5,0,0,0,0,0,3,16,6,0,0,0,0,0,6,16,2,0,0,0,4,12,14,16,12,5,0,0,12,16,16,14,12,5,0,0,0,6,13,0,0,0,0,0,0,11,8,0,0,0,0,7 +0,2,12,13,16,15,1,0,0,8,16,14,11,7,0,0,0,8,16,7,0,0,0,0,0,7,16,16,11,1,0,0,0,0,2,6,15,9,0,0,0,0,0,0,9,15,0,0,0,0,1,7,16,11,0,0,0,1,16,16,13,1,0,0,5 +0,0,0,10,14,0,0,0,0,0,1,16,10,0,0,0,0,0,10,16,1,0,0,0,0,4,16,8,0,3,5,0,0,10,15,0,2,15,10,0,0,12,16,14,16,13,1,0,0,2,11,14,16,3,0,0,0,0,0,8,16,2,0,0,4 +0,0,0,7,12,0,0,0,0,0,3,14,6,0,0,0,0,0,11,8,0,0,1,0,0,4,16,3,1,10,10,0,0,8,16,12,14,13,3,0,0,2,12,10,16,5,0,0,0,0,0,6,16,0,0,0,0,0,0,6,13,0,0,0,4 +0,0,2,13,16,13,0,0,0,0,14,15,14,16,0,0,0,0,5,0,10,15,0,0,0,0,0,0,13,13,0,0,0,0,7,14,16,16,7,0,0,0,14,16,14,10,3,0,0,0,3,15,5,0,0,0,0,0,4,15,0,0,0,0,7 +0,0,7,12,12,2,0,0,0,5,15,6,10,9,0,0,0,11,4,0,11,6,0,0,0,3,0,2,15,2,0,0,0,0,1,13,6,0,0,0,0,0,11,11,1,0,0,0,0,1,16,7,4,4,2,0,0,0,11,12,13,14,11,0,2 +0,0,7,13,16,11,0,0,0,3,16,5,4,14,2,0,0,8,11,1,4,15,2,0,0,3,12,14,16,8,0,0,0,0,8,16,15,1,0,0,0,1,15,5,11,12,0,0,0,3,16,5,7,16,1,0,0,0,5,14,16,15,2,0,8 +0,3,15,16,13,1,0,0,0,10,13,9,16,4,0,0,0,1,1,0,16,6,0,0,0,0,0,10,15,1,0,0,0,0,10,16,3,0,0,0,0,3,16,7,0,0,0,0,0,5,16,13,12,7,2,0,0,2,13,13,13,16,15,0,2 +0,3,13,16,9,0,0,0,0,10,15,13,15,2,0,0,0,15,4,4,16,1,0,0,0,0,0,5,16,2,0,0,0,0,1,14,13,0,0,0,0,0,10,16,5,0,0,0,0,4,16,13,8,10,9,1,0,2,16,16,14,12,9,1,2 +0,0,7,11,12,14,2,0,0,8,16,9,4,3,0,0,0,10,15,5,0,0,0,0,0,3,12,16,14,4,0,0,0,0,0,2,13,16,2,0,0,0,0,0,0,15,9,0,0,0,2,4,8,15,9,0,0,0,10,16,13,8,0,0,5 +0,0,1,9,16,16,3,0,0,0,14,11,8,16,8,0,0,0,4,0,0,15,6,0,0,0,0,0,7,16,3,0,0,0,6,12,16,16,9,0,0,1,16,14,16,5,0,0,0,0,2,8,16,0,0,0,0,0,0,12,7,0,0,0,7 +0,0,0,5,13,16,8,0,0,0,8,15,6,7,14,0,0,2,16,1,1,11,10,0,0,4,16,15,16,16,6,0,0,0,4,4,5,15,1,0,0,0,0,0,9,8,0,0,0,0,0,2,15,1,0,0,0,0,0,6,10,0,0,0,9 +0,4,10,15,16,16,14,0,0,11,16,14,8,5,2,0,0,6,16,8,0,0,0,0,0,0,10,15,1,0,0,0,0,0,2,16,5,0,0,0,0,0,0,13,10,0,0,0,0,5,10,14,10,0,0,0,0,3,16,15,3,0,0,0,5 +0,0,1,15,7,0,0,0,0,0,6,16,3,0,0,0,0,1,16,10,0,1,3,0,0,5,16,3,1,12,15,0,0,11,16,8,14,15,3,0,0,6,16,16,16,5,0,0,0,0,1,14,11,0,0,0,0,0,2,16,12,0,0,0,4 +0,0,4,11,14,4,0,0,0,5,13,4,9,7,0,0,0,7,10,10,13,2,0,0,0,1,9,16,15,2,0,0,0,0,8,7,9,12,0,0,0,0,12,0,1,14,5,0,0,0,11,6,0,7,8,0,0,0,2,15,16,15,4,0,8 +0,0,3,12,15,14,3,0,0,1,16,5,0,8,12,0,0,6,16,11,2,13,7,0,0,2,9,15,16,4,0,0,0,0,3,14,16,7,0,0,0,0,9,5,6,15,0,0,0,0,11,10,7,16,2,0,0,0,3,12,16,13,0,0,8 +0,0,0,6,16,2,0,0,0,0,2,15,15,0,0,0,0,0,15,16,3,2,3,0,0,7,16,7,3,15,11,0,0,7,16,14,14,16,5,0,0,1,7,12,16,10,0,0,0,0,0,7,16,4,0,0,0,0,0,10,15,0,0,0,4 +0,0,0,2,9,16,10,0,0,0,7,15,8,7,12,0,0,1,15,3,0,11,12,0,0,8,14,9,13,16,8,0,0,1,7,7,3,13,4,0,0,0,0,0,5,13,0,0,0,0,0,0,10,9,0,0,0,0,0,0,14,4,0,0,9 +0,0,5,11,4,1,0,0,0,0,15,16,16,11,0,0,0,2,16,9,2,12,4,0,0,6,13,0,0,6,6,0,0,3,13,0,0,5,9,0,0,3,16,0,0,6,8,0,0,0,13,12,8,16,7,0,0,0,4,13,12,10,0,0,0 +0,0,1,13,16,14,4,0,0,2,11,8,4,11,7,0,0,6,16,3,3,13,2,0,0,0,9,14,14,4,0,0,0,0,7,16,10,0,0,0,0,0,12,10,16,1,0,0,0,0,11,10,15,4,0,0,0,0,1,14,15,1,0,0,8 +0,0,0,9,15,12,1,0,0,1,11,12,5,15,4,0,0,6,14,0,0,13,7,0,0,5,16,12,12,16,4,0,0,0,3,8,14,8,0,0,0,0,0,2,15,1,0,0,0,0,0,9,10,0,0,0,0,0,0,10,9,0,0,0,9 +0,1,9,15,16,9,0,0,0,6,12,1,2,16,0,0,0,0,1,0,8,14,0,0,0,0,0,10,15,3,0,0,0,0,0,7,15,5,0,0,0,0,0,0,4,13,2,0,0,2,7,4,4,14,3,0,0,0,9,16,16,10,0,0,3 +0,0,9,15,5,0,0,0,0,3,15,15,16,4,0,0,0,10,14,0,9,14,0,0,0,8,12,0,0,12,5,0,0,8,8,0,0,10,8,0,0,5,14,0,0,12,8,0,0,0,16,7,12,16,4,0,0,0,9,16,15,7,0,0,0 +0,0,0,0,13,16,6,0,0,0,3,11,16,16,5,0,0,5,16,16,16,16,4,0,0,4,10,9,16,16,4,0,0,0,0,0,13,16,4,0,0,0,0,0,12,16,4,0,0,0,0,2,16,16,7,0,0,0,0,1,12,14,5,0,1 +0,0,7,14,5,0,0,0,0,5,16,16,11,0,0,0,0,2,14,2,14,0,0,0,0,0,0,5,16,0,0,0,0,0,0,8,16,0,0,0,0,0,0,11,12,0,0,0,0,0,11,16,14,8,10,0,0,0,7,12,12,12,15,2,2 +0,0,8,12,12,14,3,0,0,0,11,11,10,16,2,0,0,0,0,0,9,13,0,0,0,0,0,14,16,13,0,0,0,0,0,8,8,16,4,0,0,0,3,0,0,16,4,0,0,1,16,9,9,15,2,0,0,1,11,14,15,3,0,0,3 +0,0,0,2,13,1,0,0,0,0,0,9,15,2,0,0,0,0,4,16,16,8,0,0,0,0,12,9,14,6,0,0,0,5,14,0,13,7,1,0,0,9,15,12,16,16,4,0,0,2,8,9,16,10,1,0,0,0,0,1,13,2,0,0,4 +0,0,12,13,12,12,12,0,0,0,16,13,12,11,11,0,0,0,16,13,11,2,0,0,0,3,16,14,16,7,0,0,0,0,0,0,11,11,0,0,0,0,0,0,8,11,0,0,0,1,14,11,15,9,0,0,0,0,10,14,12,0,0,0,5 +0,0,1,11,14,0,0,0,0,0,9,16,12,0,0,0,0,1,16,7,0,0,0,0,0,7,16,5,5,4,0,0,0,7,16,16,16,16,5,0,0,0,16,13,4,13,7,0,0,0,9,16,14,16,4,0,0,0,1,11,14,9,0,0,6 +0,0,2,12,8,7,6,2,0,0,9,16,15,16,16,5,0,0,13,11,0,10,14,0,0,0,11,3,2,15,4,0,0,0,0,0,11,9,0,0,0,0,0,8,16,4,0,0,0,0,0,15,12,0,0,0,0,0,4,16,2,0,0,0,7 +0,0,1,6,8,9,3,0,0,0,13,15,12,11,7,0,0,0,13,11,0,9,7,0,0,0,5,15,15,15,0,0,0,0,1,14,16,16,0,0,0,0,11,9,0,16,1,0,0,0,9,10,10,13,0,0,0,0,3,11,9,2,0,0,8 +0,0,7,14,13,8,0,0,0,1,15,13,14,14,0,0,0,0,13,13,13,16,3,0,0,0,4,14,13,16,4,0,0,0,0,0,0,12,4,0,0,0,0,0,0,14,4,0,0,7,16,9,10,15,2,0,0,1,8,13,15,8,0,0,9 +0,0,4,13,12,1,0,0,0,2,15,14,16,13,0,0,0,6,16,4,6,16,5,0,0,8,15,1,0,12,8,0,0,8,12,0,0,12,8,0,0,5,13,0,1,13,8,0,0,1,15,10,12,16,3,0,0,0,6,16,13,4,0,0,0 +0,0,1,8,16,7,0,0,0,0,3,16,16,12,0,0,0,1,15,16,16,12,0,0,0,3,12,15,16,12,0,0,0,0,0,8,16,10,0,0,0,0,0,11,16,14,0,0,0,0,0,11,16,16,1,0,0,0,0,5,13,7,0,0,1 +0,0,7,13,3,0,0,0,0,0,15,16,11,0,0,0,0,0,14,5,15,3,0,0,0,0,6,2,14,5,0,0,0,0,0,0,12,8,0,0,0,0,0,6,16,4,4,0,0,0,7,16,16,16,16,3,0,0,6,15,6,9,9,1,2 +0,0,10,16,10,0,0,0,0,8,16,14,16,2,0,0,0,3,15,8,16,3,0,0,0,0,0,11,16,7,0,0,0,0,0,3,10,15,2,0,0,0,10,0,0,14,8,0,0,1,16,6,8,13,8,0,0,1,15,16,13,10,1,0,3 +0,0,0,11,4,0,0,0,0,0,1,16,4,3,0,0,0,0,10,9,16,4,0,0,0,2,14,5,16,2,0,0,0,8,13,7,16,11,2,0,0,10,16,16,16,14,1,0,0,0,0,11,13,0,0,0,0,0,0,11,7,0,0,0,4 +0,1,8,8,9,13,8,0,0,2,16,16,16,14,9,0,0,3,16,2,0,0,0,0,0,5,16,16,15,1,0,0,0,5,10,8,15,5,0,0,0,0,0,0,13,7,0,0,0,0,15,12,16,2,0,0,0,0,11,16,9,0,0,0,5 +0,0,2,11,13,4,0,0,0,0,12,16,13,15,0,0,0,0,16,9,1,3,0,0,0,4,16,6,14,9,1,0,0,7,16,16,16,16,6,0,0,1,16,14,4,16,8,0,0,0,12,16,13,16,2,0,0,0,2,10,16,7,0,0,6 +0,0,1,8,8,9,12,7,0,0,8,16,12,13,16,5,0,0,11,6,0,8,11,0,0,0,15,3,1,15,3,0,0,0,1,0,10,9,0,0,0,0,0,3,13,1,0,0,0,0,0,13,7,0,0,0,0,0,1,11,1,0,0,0,7 +0,0,5,11,8,7,0,0,0,3,16,11,9,16,4,0,0,0,14,3,7,15,0,0,0,0,5,15,15,3,0,0,0,0,10,15,14,1,0,0,0,4,13,0,9,7,0,0,0,3,11,5,13,7,0,0,0,0,6,10,6,0,0,0,8 +0,0,5,16,11,0,0,0,0,0,12,13,13,11,0,0,0,0,13,8,6,16,0,0,0,0,7,14,16,16,4,0,0,0,0,7,8,14,7,0,0,0,4,0,0,8,12,0,0,1,15,11,8,13,11,0,0,0,5,11,12,14,3,0,9 +0,0,3,12,11,1,0,0,0,1,14,14,15,8,0,0,0,3,16,2,5,16,1,0,0,4,16,0,0,14,6,0,0,4,16,0,0,11,8,0,0,3,16,2,0,10,8,0,0,0,10,15,13,16,3,0,0,0,1,15,14,6,0,0,0 +0,0,0,5,15,13,1,0,0,0,2,14,16,16,4,0,0,0,8,16,16,16,4,0,0,6,15,16,16,16,1,0,0,3,7,10,16,16,4,0,0,0,0,11,16,16,1,0,0,0,0,12,16,16,1,0,0,0,0,6,14,12,1,0,1 +0,0,9,11,2,0,0,0,0,8,16,14,12,0,0,0,0,9,10,5,15,0,0,0,0,5,10,4,16,1,0,0,0,0,0,5,15,0,0,0,0,0,2,13,9,2,1,0,0,0,10,16,15,14,15,0,0,0,7,9,9,12,4,0,2 +0,0,3,13,13,1,0,0,0,0,10,15,16,7,0,0,0,0,5,3,15,10,0,0,0,0,0,0,16,15,1,0,0,2,7,0,4,16,8,0,0,5,13,0,0,14,9,0,0,0,14,11,9,16,8,0,0,0,3,12,13,8,0,0,3 +0,0,0,4,12,0,0,0,0,0,0,12,16,8,0,0,0,0,4,16,15,8,0,0,0,1,15,8,14,7,0,0,0,6,16,8,14,14,4,0,0,10,16,16,16,13,1,0,0,0,0,2,16,4,0,0,0,0,0,4,13,2,0,0,4 +0,0,6,8,11,14,14,0,0,1,16,16,13,12,7,0,0,0,16,7,1,0,0,0,0,4,16,16,15,1,0,0,0,1,5,6,13,9,0,0,0,0,6,0,12,9,0,0,0,0,12,10,16,4,0,0,0,0,10,14,8,0,0,0,5 +0,0,1,11,14,6,0,0,0,0,4,16,14,4,0,0,0,0,12,16,2,0,0,0,0,2,16,16,12,5,0,0,0,7,16,16,16,16,3,0,0,3,15,5,0,15,13,0,0,0,11,16,14,16,10,0,0,0,0,12,13,9,1,0,6 +0,0,2,10,10,12,15,10,0,0,9,16,12,8,15,6,0,0,13,9,0,4,12,1,0,1,16,3,1,13,2,0,0,0,5,0,9,7,0,0,0,0,0,3,13,1,0,0,0,0,0,12,7,0,0,0,0,0,0,14,2,0,0,0,7 +0,0,1,11,14,5,0,0,0,1,16,14,6,13,1,0,0,9,14,2,0,16,4,0,0,5,13,0,6,16,1,0,0,1,15,16,16,12,0,0,0,0,5,14,3,13,4,0,0,0,3,15,7,16,1,0,0,0,0,11,16,8,0,0,8 +0,0,3,14,10,3,0,0,0,0,10,14,13,15,1,0,0,0,12,4,4,16,4,0,0,0,6,15,15,16,8,0,0,0,1,8,8,14,8,0,0,0,2,0,0,9,11,0,0,0,16,10,8,12,12,0,0,0,7,12,14,14,6,0,9 +0,0,4,14,9,0,0,0,0,0,13,16,16,10,0,0,0,4,16,4,5,16,6,0,0,8,14,0,1,15,5,0,0,6,16,0,0,13,4,0,0,4,15,1,7,16,1,0,0,2,15,14,16,7,0,0,0,0,4,13,9,0,0,0,0 +0,0,5,14,11,1,0,0,0,0,16,10,14,13,0,0,0,0,14,2,8,16,6,0,0,0,12,7,10,16,8,0,0,0,5,16,16,15,8,0,0,1,3,1,2,11,9,0,0,1,15,6,4,12,11,0,0,0,6,16,14,12,3,0,9 +0,1,14,13,12,8,5,0,0,4,16,11,12,15,7,0,0,8,16,16,13,1,0,0,0,3,9,7,15,7,0,0,0,0,0,0,8,9,0,0,0,0,2,0,6,12,0,0,0,0,16,8,12,11,0,0,0,0,12,14,12,4,0,0,5 +0,1,8,12,16,16,7,0,0,7,16,12,12,12,5,0,0,4,13,3,0,0,0,0,0,4,16,16,13,0,0,0,0,2,8,6,15,6,0,0,0,0,7,0,9,12,0,0,0,0,16,11,13,12,0,0,0,0,5,13,12,5,0,0,5 +0,0,1,9,14,11,1,0,0,0,10,15,9,13,5,0,0,3,16,7,0,0,0,0,0,5,16,16,16,10,0,0,0,7,16,11,10,16,5,0,0,2,16,5,0,12,8,0,0,0,10,15,13,16,5,0,0,0,0,9,12,7,0,0,6 +0,0,11,10,12,14,11,0,0,0,16,16,16,16,7,0,0,1,16,16,16,12,0,0,0,1,5,2,11,15,0,0,0,0,1,0,2,16,0,0,0,3,12,0,3,15,0,0,0,6,15,8,13,11,0,0,0,0,9,14,9,2,0,0,5 +0,0,10,15,6,0,0,0,0,2,16,14,16,7,0,0,0,4,16,8,5,16,1,0,0,5,12,0,0,12,8,0,0,8,9,0,0,12,8,0,0,5,12,0,1,15,3,0,0,4,13,4,12,13,0,0,0,0,9,16,13,4,0,0,0 +0,0,9,16,11,1,0,0,0,5,16,10,16,9,0,0,0,6,14,1,9,15,0,0,0,1,15,6,11,16,2,0,0,0,7,16,15,16,7,0,0,0,0,3,1,11,9,0,0,3,14,9,9,14,12,0,0,0,12,16,16,13,3,0,9 +0,0,4,15,13,3,0,0,0,1,16,13,16,15,1,0,0,6,15,0,4,16,4,0,0,3,15,14,16,14,0,0,0,0,4,16,16,11,0,0,0,0,11,12,8,16,5,0,0,0,16,10,12,16,3,0,0,0,7,16,13,7,0,0,8 +0,1,7,12,13,3,0,0,0,7,13,6,15,14,0,0,0,6,10,0,13,16,0,0,0,1,13,13,15,16,1,0,0,0,0,4,1,12,8,0,0,0,0,0,0,12,8,0,0,0,12,13,5,14,8,0,0,0,5,12,16,11,1,0,9 +0,0,5,12,9,1,0,0,0,0,16,9,15,9,0,0,0,2,14,1,10,12,0,0,0,0,9,14,16,11,0,0,0,0,3,15,16,9,0,0,0,0,12,10,3,13,1,0,0,0,11,8,5,16,3,0,0,0,4,10,8,3,0,0,8 +0,0,0,5,14,0,0,0,0,0,0,13,14,12,0,0,0,0,7,13,6,13,0,0,0,2,16,3,10,11,0,0,0,6,16,13,16,16,5,0,0,2,8,9,16,11,2,0,0,0,0,3,16,0,0,0,0,0,0,7,12,0,0,0,4 +0,0,0,1,12,7,0,0,0,0,0,9,16,16,1,0,0,1,7,15,16,14,0,0,0,4,16,16,16,16,0,0,0,0,0,3,16,16,0,0,0,0,0,2,16,16,3,0,0,0,0,6,16,16,0,0,0,0,0,3,15,13,0,0,1 +0,0,1,8,11,13,15,3,0,0,7,16,10,10,16,5,0,1,13,3,0,9,14,0,0,3,15,0,2,15,4,0,0,5,8,0,10,11,0,0,0,0,0,2,15,4,0,0,0,0,0,8,14,0,0,0,0,0,0,13,7,0,0,0,7 +0,0,6,12,12,15,16,6,0,2,15,16,14,16,15,3,0,3,16,6,6,16,6,0,0,7,15,4,14,11,0,0,0,1,2,8,15,3,0,0,0,0,1,16,9,0,0,0,0,0,6,16,4,0,0,0,0,0,8,16,3,0,0,0,7 +0,0,6,15,14,2,0,0,0,5,16,11,14,12,0,0,0,5,11,3,16,5,0,0,0,0,0,14,16,7,0,0,0,0,0,8,10,16,3,0,0,1,4,0,0,12,7,0,0,7,16,5,6,16,5,0,0,1,8,15,16,12,1,0,3 +0,0,3,8,9,11,14,1,0,0,9,16,16,16,13,0,0,0,16,5,8,0,0,0,0,4,16,16,16,6,0,0,0,2,9,2,9,10,0,0,0,0,0,0,8,8,0,0,0,0,8,12,13,5,0,0,0,0,5,13,10,1,0,0,5 +0,0,0,5,16,8,0,0,0,0,4,16,16,8,0,0,0,2,15,16,16,8,0,0,0,4,8,12,16,5,0,0,0,0,0,6,16,11,0,0,0,0,0,6,16,12,0,0,0,0,0,6,16,15,1,0,0,0,0,4,15,11,2,0,1 +0,0,2,15,10,1,0,0,0,2,13,12,14,9,0,0,0,6,16,1,1,14,2,0,0,8,16,0,0,10,5,0,0,8,14,2,0,8,8,0,0,6,14,0,0,8,8,0,0,1,14,12,8,15,6,0,0,0,3,13,16,8,1,0,0 +0,0,2,15,8,0,0,0,0,0,7,14,15,8,0,0,0,7,15,3,3,15,0,0,0,6,16,1,0,9,8,0,0,4,12,0,0,8,8,0,0,0,12,3,0,12,7,0,0,0,9,13,13,15,1,0,0,0,1,9,12,5,0,0,0 +0,0,11,15,4,0,0,0,0,5,16,15,15,0,0,0,0,0,14,11,16,2,0,0,0,0,0,4,16,5,0,0,0,0,0,4,16,6,0,0,0,0,0,7,16,10,3,0,0,0,11,16,16,16,16,6,0,0,11,16,10,5,13,6,2 +0,0,12,15,3,0,0,0,0,6,15,12,14,0,0,0,0,7,5,1,16,2,0,0,0,0,0,0,11,7,0,0,0,0,0,2,15,3,0,0,0,0,0,8,14,1,0,0,0,0,12,16,12,8,5,0,0,0,9,8,13,15,7,0,2 +0,0,2,12,12,12,9,2,0,0,9,15,12,13,16,5,0,0,12,8,0,8,10,0,0,1,16,3,3,15,2,0,0,1,3,0,12,7,0,0,0,0,0,4,13,0,0,0,0,0,0,13,9,0,0,0,0,0,3,15,3,0,0,0,7 +0,0,3,9,14,7,0,0,0,3,15,11,8,15,2,0,0,4,16,5,2,16,7,0,0,0,4,15,13,16,7,0,0,0,0,6,16,16,1,0,0,0,2,15,8,16,7,0,0,0,4,16,4,15,7,0,0,0,0,10,15,10,0,0,8 +0,0,7,13,2,0,0,0,0,11,15,12,13,0,0,0,0,12,7,0,16,4,0,0,0,4,4,0,14,8,0,0,0,0,0,0,14,7,0,0,0,0,0,4,16,3,0,0,0,0,12,16,16,12,9,0,0,0,9,12,8,10,14,0,2 +0,0,4,15,12,2,0,0,0,2,15,7,11,10,0,0,0,4,16,0,0,15,1,0,0,6,10,0,0,10,8,0,0,8,8,0,0,6,8,0,0,5,12,0,0,11,8,0,0,2,16,7,8,16,2,0,0,0,6,15,16,8,0,0,0 +0,0,7,10,0,0,0,0,0,0,9,16,0,0,0,0,0,0,6,16,5,0,0,0,0,0,9,16,9,0,0,0,0,0,0,6,14,1,0,0,0,0,0,2,16,4,0,0,0,0,1,4,14,12,4,1,0,0,7,16,16,16,16,5,1 +0,0,7,15,6,0,0,0,0,4,16,9,14,3,0,0,0,2,14,0,13,6,0,0,0,0,2,0,11,10,0,0,0,0,0,0,13,6,0,0,0,0,0,5,15,7,0,0,0,0,9,16,16,16,15,0,0,0,6,15,7,4,6,1,2 +0,0,0,11,12,1,0,0,0,0,8,16,9,4,0,0,0,0,3,4,0,0,0,0,0,1,0,2,8,2,0,0,0,5,16,16,16,14,2,0,0,2,16,9,3,13,7,0,0,0,11,14,7,16,9,0,0,0,1,10,14,10,2,0,6 +0,0,3,10,13,7,0,0,0,1,14,13,15,14,0,0,0,0,15,5,14,9,0,0,0,0,0,10,16,5,0,0,0,0,0,7,14,16,3,0,0,4,5,0,2,16,4,0,0,10,16,10,8,16,3,0,0,0,5,12,14,8,0,0,3 +0,0,3,14,13,0,0,0,0,2,16,9,16,2,0,0,0,4,12,3,16,0,0,0,0,2,9,15,16,10,1,0,0,0,0,11,8,16,6,0,0,0,6,0,0,12,8,0,0,0,14,10,5,16,7,0,0,0,3,13,16,11,1,0,3 +0,0,0,10,12,15,16,13,0,0,6,15,6,4,14,9,0,0,10,6,0,3,14,2,0,1,14,1,0,12,6,0,0,0,3,0,5,13,0,0,0,0,0,1,13,3,0,0,0,0,0,6,13,0,0,0,0,0,0,14,6,0,0,0,7 +0,0,4,13,14,2,0,0,0,0,15,10,11,10,0,0,0,3,15,2,12,6,0,0,0,0,3,8,16,7,0,0,0,0,0,4,9,16,2,0,0,0,10,3,0,13,6,0,0,0,16,5,7,16,3,0,0,0,7,13,13,8,0,0,3 +0,0,5,14,9,0,0,0,0,1,16,13,16,0,0,0,0,2,13,10,14,0,0,0,0,0,4,16,16,7,0,0,0,0,2,4,5,16,4,0,0,0,0,0,0,14,7,0,0,0,11,8,8,16,4,0,0,0,8,13,15,10,0,0,3 +0,0,0,5,8,0,0,0,0,0,1,15,10,5,0,0,0,0,9,11,10,10,0,0,0,2,15,2,14,6,0,0,0,8,13,5,14,13,4,0,0,11,16,16,16,14,3,0,0,0,0,3,16,0,0,0,0,0,0,7,10,0,0,0,4 +0,0,0,12,15,1,0,0,0,0,4,16,13,1,0,0,0,1,14,15,2,0,0,0,0,4,16,15,10,7,0,0,0,7,16,16,12,16,6,0,0,3,16,13,0,16,12,0,0,0,11,16,13,16,12,0,0,0,1,9,13,12,4,0,6 +0,0,2,15,13,3,0,0,0,0,12,16,9,4,0,0,0,3,16,9,0,0,0,0,0,3,16,14,12,5,0,0,0,8,16,16,16,16,0,0,0,5,16,15,6,16,9,0,0,1,13,14,13,16,3,0,0,0,3,12,14,10,0,0,6 +0,0,2,12,16,6,0,0,0,0,5,16,12,4,0,0,0,0,15,14,0,0,0,0,0,2,16,14,8,8,0,0,0,4,16,16,13,15,8,0,0,4,16,11,1,12,12,0,0,0,11,16,12,14,15,0,0,0,1,8,12,12,6,0,6 +0,0,0,4,9,0,0,0,0,0,0,12,11,0,0,0,0,0,4,13,16,4,0,0,0,0,12,6,14,4,0,0,0,4,16,9,15,13,3,0,0,4,12,12,16,14,6,0,0,0,0,0,16,4,0,0,0,0,0,2,16,3,0,0,4 +0,0,10,16,13,5,0,0,0,7,13,5,14,12,0,0,0,9,10,0,13,14,0,0,0,4,15,13,16,15,3,0,0,0,2,6,3,12,8,0,0,0,0,0,0,12,8,0,0,0,12,6,5,15,4,0,0,0,9,13,16,8,0,0,9 +0,0,0,2,16,15,3,0,0,0,0,8,16,16,4,0,0,0,9,16,16,14,0,0,0,7,16,16,16,12,0,0,0,0,0,8,16,12,0,0,0,0,0,7,16,12,0,0,0,0,0,4,16,16,7,0,0,0,0,0,13,16,7,0,1 +0,0,4,12,16,16,11,2,0,0,15,13,8,11,8,1,0,2,15,13,16,8,0,0,0,6,16,13,13,16,2,0,0,7,11,2,2,16,6,0,0,0,0,0,5,15,2,0,0,0,9,6,13,10,0,0,0,0,7,14,13,1,0,0,5 +0,0,3,14,10,1,0,0,0,2,14,12,15,14,1,0,0,6,13,0,3,14,8,0,0,5,12,0,0,11,8,0,0,4,14,0,0,12,7,0,0,1,14,4,3,16,3,0,0,0,8,12,12,12,0,0,0,0,2,15,10,3,0,0,0 +0,0,7,14,10,7,0,0,0,5,16,14,16,14,0,0,0,7,11,0,9,14,1,0,0,4,14,7,11,16,5,0,0,0,9,15,15,12,8,0,0,0,0,1,1,8,9,0,0,0,14,11,10,15,9,0,0,0,9,13,13,9,0,0,9 +0,0,9,13,14,15,13,0,0,0,16,13,12,12,5,0,0,4,16,0,0,0,0,0,0,8,16,16,11,1,0,0,0,1,7,8,16,12,0,0,0,0,0,0,9,13,0,0,0,0,12,8,12,10,0,0,0,0,10,16,13,3,0,0,5 +0,0,10,13,2,0,0,0,0,0,12,16,10,0,0,0,0,0,7,14,16,0,0,0,0,0,0,2,16,1,0,0,0,0,0,2,16,1,0,0,0,0,4,8,15,0,0,0,0,0,16,16,16,13,11,0,0,0,8,14,8,11,14,1,2 +0,0,1,7,6,11,1,0,0,0,13,11,15,16,7,0,0,0,13,6,11,16,4,0,0,0,3,15,16,7,0,0,0,0,4,15,14,7,0,0,0,1,14,3,1,13,0,0,0,2,12,2,3,12,0,0,0,0,1,10,8,1,0,0,8 +0,0,13,14,3,0,0,0,0,4,16,15,11,0,0,0,0,7,12,4,16,0,0,0,0,3,6,4,16,0,0,0,0,0,0,9,12,0,0,0,0,0,1,14,7,0,0,0,0,1,14,16,10,10,2,0,0,0,11,12,14,14,6,0,2 +0,0,4,15,12,1,0,0,0,0,12,11,13,13,1,0,0,3,12,0,0,14,6,0,0,8,12,0,0,11,8,0,0,8,12,0,0,8,8,0,0,6,13,0,0,11,7,0,0,4,16,7,10,15,2,0,0,0,7,13,12,2,0,0,0 +0,0,3,16,9,0,0,0,0,4,15,15,16,7,0,0,0,8,16,3,7,12,0,0,0,6,16,3,0,13,3,0,0,8,10,0,0,12,8,0,0,1,15,2,0,9,11,0,0,0,13,14,10,15,12,0,0,0,3,10,16,14,3,0,0 +0,0,0,5,16,9,0,0,0,0,1,13,16,6,0,0,0,0,13,16,16,4,0,0,0,5,15,16,16,5,0,0,0,0,0,10,16,7,0,0,0,0,0,9,16,8,0,0,0,0,0,9,16,13,0,0,0,0,0,5,14,9,0,0,1 +0,0,1,11,12,13,14,5,0,0,7,15,11,10,16,6,0,0,10,7,0,2,16,2,0,1,16,1,0,12,8,0,0,2,11,0,4,14,1,0,0,0,0,1,14,4,0,0,0,0,0,8,14,0,0,0,0,0,0,15,7,0,0,0,7 +0,0,0,9,14,4,0,0,0,0,6,16,12,4,0,0,0,1,16,11,0,0,0,0,0,2,16,7,3,0,0,0,0,4,16,14,16,10,0,0,0,3,16,15,10,16,6,0,0,0,12,16,7,13,9,0,0,0,1,11,16,16,9,0,6 +0,0,7,13,11,0,0,0,0,6,16,11,16,0,0,0,0,3,8,5,16,0,0,0,0,0,3,15,16,6,0,0,0,0,0,7,8,16,5,0,0,6,8,0,0,11,9,0,0,0,16,6,6,14,6,0,0,0,6,15,16,10,0,0,3 +0,0,11,11,2,0,0,0,0,3,16,16,8,0,0,0,0,6,12,8,8,0,0,0,0,0,5,6,12,0,0,0,0,0,0,11,9,0,0,0,0,0,0,15,6,3,5,0,0,0,13,16,13,15,9,0,0,1,12,12,12,12,1,0,2 +0,0,0,6,16,6,0,0,0,0,0,13,16,10,0,0,0,0,9,16,16,6,0,0,0,3,16,16,16,4,0,0,0,5,16,16,16,6,0,0,0,0,0,9,16,10,0,0,0,0,0,8,16,15,0,0,0,0,0,4,13,11,2,0,1 +0,0,6,15,8,10,12,2,0,0,10,14,10,12,16,1,0,0,9,10,1,13,7,0,0,0,4,4,8,12,1,0,0,0,0,2,15,5,0,0,0,0,0,11,8,0,0,0,0,0,3,16,0,0,0,0,0,0,7,14,0,0,0,0,7 +0,0,0,0,7,6,0,0,0,0,0,6,15,6,0,0,0,0,1,15,5,14,3,0,0,0,12,8,4,16,0,0,0,5,16,9,10,16,4,0,0,1,11,12,14,14,4,0,0,0,0,0,8,8,0,0,0,0,0,0,11,7,0,0,4 +0,0,0,9,14,2,0,0,0,0,2,16,12,0,0,0,0,0,10,16,7,0,0,0,0,0,16,16,16,8,0,0,0,4,16,14,8,15,3,0,0,1,15,6,0,11,11,0,0,0,10,15,7,12,16,0,0,0,1,9,15,15,10,0,6 +0,0,6,15,11,0,0,0,0,6,16,13,16,0,0,0,0,2,7,13,9,0,0,0,0,0,3,16,15,5,0,0,0,0,0,3,11,16,2,0,0,0,0,0,0,16,7,0,0,0,16,11,10,16,7,0,0,0,5,16,15,9,0,0,3 +0,0,0,0,12,8,0,0,0,0,0,3,16,16,0,0,0,0,1,13,16,11,0,0,0,3,15,16,16,8,0,0,0,0,3,7,16,8,0,0,0,0,0,4,16,8,0,0,0,0,0,4,16,14,0,0,0,0,0,0,14,15,5,0,1 +0,0,9,10,2,0,0,0,0,8,16,16,10,0,0,0,0,7,7,4,16,2,0,0,0,0,0,8,16,5,0,0,0,0,0,10,16,14,2,0,0,0,0,0,2,14,7,0,0,0,11,10,4,11,12,0,0,0,8,14,16,15,6,0,3 +0,0,4,10,13,3,0,0,0,4,16,13,16,8,0,0,0,5,15,0,14,11,0,0,0,3,15,15,16,16,1,0,0,0,5,9,8,14,8,0,0,0,0,0,0,12,8,0,0,0,9,15,10,14,7,0,0,0,4,12,14,11,2,0,9 +0,0,0,7,16,16,7,0,0,0,0,14,16,16,4,0,0,2,13,16,16,12,0,0,0,7,16,16,16,12,0,0,0,0,0,10,16,8,0,0,0,0,0,11,16,13,0,0,0,0,0,10,16,16,2,0,0,0,0,9,16,12,2,0,1 +0,0,4,6,11,14,6,0,0,4,16,16,12,16,7,0,0,6,16,2,1,16,3,0,0,5,16,0,5,14,0,0,0,0,2,0,11,10,0,0,0,0,0,2,15,4,0,0,0,0,0,8,16,0,0,0,0,0,0,7,12,0,0,0,7 +0,0,0,6,14,8,0,0,0,0,8,16,12,8,0,0,0,3,16,14,3,0,0,0,0,6,16,16,16,11,1,0,0,8,16,13,4,14,5,0,0,2,16,9,0,8,12,0,0,0,10,15,6,13,9,0,0,0,0,8,14,16,9,0,6 +0,0,4,6,11,5,0,0,0,2,14,7,2,15,0,0,0,4,8,0,0,10,2,0,0,0,14,8,8,13,1,0,0,0,15,10,16,7,0,0,0,1,10,0,1,10,4,0,0,0,12,2,0,6,8,0,0,0,6,10,11,7,1,0,8 +0,0,0,5,9,0,0,0,0,0,2,14,14,2,0,0,0,0,6,14,11,12,0,0,0,3,15,3,11,10,0,0,0,8,11,0,13,10,2,0,0,10,16,16,16,15,3,0,0,0,4,10,15,0,0,0,0,0,0,8,9,0,0,0,4 +0,2,13,16,4,0,0,0,0,12,12,12,15,0,0,0,0,5,2,7,14,0,0,0,0,0,3,15,15,7,0,0,0,0,4,12,12,16,3,0,0,0,0,0,0,15,7,0,0,3,16,8,9,16,6,0,0,1,11,12,14,9,0,0,3 +0,0,0,7,16,12,0,0,0,0,7,16,16,12,0,0,0,3,16,16,16,8,0,0,0,7,16,16,16,8,0,0,0,0,0,11,16,12,0,0,0,0,0,7,16,15,0,0,0,0,0,6,16,16,5,0,0,0,0,6,15,15,2,0,1 +0,0,0,7,6,0,0,0,0,0,1,15,16,7,0,0,0,0,8,13,15,6,0,0,0,3,16,3,12,7,1,0,0,4,14,9,15,16,8,0,0,4,12,12,16,10,2,0,0,0,0,5,16,0,0,0,0,0,0,4,14,0,0,0,4 +0,0,3,11,6,0,0,0,0,0,10,14,16,2,0,0,0,3,15,1,11,11,0,0,0,4,12,0,2,16,2,0,0,7,12,0,0,12,8,0,0,4,14,0,1,15,8,0,0,2,15,14,15,15,1,0,0,0,5,13,14,5,0,0,0 +0,2,16,12,12,14,7,0,0,3,16,9,8,8,4,0,0,2,16,10,4,0,0,0,0,4,16,13,16,4,0,0,0,0,3,0,12,10,0,0,0,6,3,0,9,11,0,0,0,11,11,9,16,3,0,0,0,3,12,15,7,0,0,0,5 +0,0,6,14,10,0,0,0,0,6,16,14,16,0,0,0,0,5,10,11,16,0,0,0,0,0,0,9,16,12,0,0,0,0,0,0,3,16,7,0,0,4,6,0,3,16,8,0,0,5,15,9,16,13,1,0,0,0,9,15,8,0,0,0,3 +0,0,0,6,14,1,0,0,0,0,1,16,10,0,0,0,0,0,13,14,1,0,0,0,0,2,16,12,10,3,0,0,0,5,16,15,14,16,1,0,0,3,16,12,0,15,8,0,0,0,11,16,9,16,8,0,0,0,0,11,15,11,1,0,6 +0,0,6,12,11,0,0,0,0,2,16,14,14,11,0,0,0,8,15,1,8,16,0,0,0,3,15,5,11,16,5,0,0,0,11,16,15,14,8,0,0,0,4,2,3,6,12,0,0,2,16,13,10,14,12,0,0,0,8,12,13,13,5,0,9 +0,0,0,11,16,12,1,0,0,0,5,16,10,16,4,0,0,2,15,10,0,8,1,0,0,5,16,9,1,0,0,0,0,8,16,16,9,0,0,0,0,2,16,10,16,6,0,0,0,0,11,16,16,7,0,0,0,0,1,8,13,0,0,0,6 +0,0,0,4,14,14,4,0,0,0,1,15,16,16,2,0,0,2,13,16,16,16,0,0,0,8,16,16,16,16,0,0,0,2,7,8,16,16,1,0,0,0,0,4,16,16,0,0,0,0,0,4,16,16,2,0,0,0,0,4,16,15,4,0,1 +0,0,2,13,16,16,16,12,0,0,9,15,8,9,16,7,0,0,10,10,0,6,14,1,0,1,16,5,1,16,4,0,0,0,4,0,9,13,0,0,0,0,0,4,15,1,0,0,0,0,0,14,10,0,0,0,0,0,3,15,4,0,0,0,7 +0,1,8,8,11,15,10,0,0,4,16,16,11,12,6,0,0,4,16,4,0,0,0,0,0,1,16,15,8,0,0,0,0,0,4,10,16,6,0,0,0,0,0,0,12,12,0,0,0,6,15,9,13,10,0,0,0,1,13,16,13,4,0,0,5 +0,0,0,2,16,4,0,0,0,0,0,10,16,6,0,0,0,0,4,16,12,15,0,0,0,2,13,8,9,14,0,0,0,9,16,16,16,16,6,0,0,2,4,5,14,15,0,0,0,0,0,0,15,11,0,0,0,0,0,0,13,8,0,0,4 +0,0,0,2,14,0,0,0,0,0,0,10,9,0,0,0,0,0,1,15,8,11,0,0,0,0,12,7,12,8,0,0,0,5,16,12,15,14,5,0,0,8,13,9,16,13,3,0,0,0,0,0,16,4,0,0,0,0,0,0,16,6,0,0,4 +0,0,2,5,5,11,15,5,0,0,12,16,14,13,16,3,0,1,14,9,0,6,11,0,0,0,16,5,1,13,4,0,0,0,1,0,7,11,0,0,0,0,0,2,12,2,0,0,0,0,0,10,10,0,0,0,0,0,0,15,5,0,0,0,7 +0,1,11,13,2,0,0,0,0,8,15,15,6,0,0,0,0,10,9,6,14,0,0,0,0,3,10,4,10,0,0,0,0,0,0,11,7,0,0,0,0,0,2,15,3,0,0,0,0,2,13,16,13,11,2,0,0,1,12,12,12,15,11,0,2 +0,0,3,10,14,3,0,0,0,8,16,11,10,13,0,0,0,7,14,0,1,15,2,0,0,2,16,9,16,16,1,0,0,0,12,16,15,15,2,0,0,0,12,10,0,8,8,0,0,0,9,12,4,7,12,0,0,0,2,11,16,16,9,0,8 +0,1,11,12,1,0,0,0,0,8,16,12,9,0,0,0,0,7,8,7,12,0,0,0,0,1,1,4,14,0,0,0,0,0,0,5,11,0,0,0,0,0,0,11,9,0,0,0,0,1,14,16,16,15,10,0,0,0,13,11,8,12,8,0,2 +0,0,0,3,15,13,1,0,0,0,2,15,16,16,2,0,0,0,13,10,5,15,0,0,0,0,6,2,11,8,0,0,0,0,0,6,14,2,0,0,0,3,8,16,8,0,0,0,3,16,16,16,16,8,0,0,1,4,4,5,13,6,0,0,2 +0,0,11,15,15,16,9,0,0,4,16,14,8,9,3,0,0,4,12,0,0,0,0,0,0,6,16,15,3,0,0,0,0,3,11,11,12,0,0,0,0,0,0,2,16,0,0,0,0,2,12,9,16,0,0,0,0,0,11,16,8,0,0,0,5 +0,0,2,8,8,8,12,2,0,0,12,16,14,14,15,1,0,0,14,9,0,12,6,0,0,0,10,2,8,11,0,0,0,0,0,2,14,3,0,0,0,0,0,9,8,0,0,0,0,0,0,14,4,0,0,0,0,0,3,15,0,0,0,0,7 +0,0,3,10,14,3,0,0,0,4,16,13,15,11,0,0,0,8,13,1,13,16,2,0,0,6,16,14,14,14,6,0,0,0,5,7,1,11,8,0,0,1,8,1,0,8,8,0,0,2,16,11,8,14,7,0,0,0,5,12,14,9,1,0,9 +0,0,3,8,11,13,14,0,0,2,13,16,13,13,13,0,0,1,16,0,0,0,0,0,0,3,16,11,10,1,0,0,0,3,16,14,14,10,0,0,0,0,8,3,9,11,0,0,0,0,7,15,14,11,0,0,0,0,2,12,13,2,0,0,5 +0,0,0,0,13,3,0,0,0,0,0,11,13,4,0,0,0,0,6,14,4,16,1,0,0,2,14,3,6,14,0,0,0,6,16,11,12,12,0,0,0,2,7,14,16,14,0,0,0,0,0,0,12,8,0,0,0,0,0,0,15,3,0,0,4 +0,0,6,10,9,4,0,0,0,0,14,10,16,16,1,0,0,4,15,1,9,16,0,0,0,3,16,16,16,8,0,0,0,0,12,14,16,5,0,0,0,0,12,1,9,12,0,0,0,0,16,6,14,9,0,0,0,0,8,12,6,1,0,0,8 +0,0,5,15,15,7,0,0,0,2,16,11,16,16,8,0,0,2,16,5,4,16,8,0,0,1,12,16,16,10,0,0,0,0,7,16,16,5,0,0,0,0,15,9,14,10,0,0,0,0,14,12,16,8,0,0,0,0,5,14,12,1,0,0,8 +0,0,0,5,11,0,0,0,0,0,0,10,13,0,0,0,0,0,0,16,16,6,0,0,0,0,9,12,16,5,0,0,0,2,16,4,16,7,0,0,0,9,16,14,16,16,3,0,0,3,8,11,16,8,1,0,0,0,0,5,13,0,0,0,4 +0,0,2,10,16,10,0,0,0,0,14,9,6,16,16,0,0,0,16,6,5,14,11,0,0,0,5,14,14,16,6,0,0,0,0,0,1,16,3,0,0,0,3,1,4,16,3,0,0,2,15,13,11,13,1,0,0,0,3,12,13,4,0,0,9 +0,0,2,12,14,4,0,0,0,0,15,12,11,13,0,0,0,4,16,4,1,14,6,0,0,4,12,0,0,8,8,0,0,6,9,0,0,5,8,0,0,3,12,1,0,12,8,0,0,0,8,12,9,16,3,0,0,0,0,10,13,3,0,0,0 +0,0,5,13,13,8,0,0,0,0,16,11,13,16,6,0,0,1,16,5,2,14,9,0,0,0,9,16,16,15,0,0,0,0,10,16,14,14,0,0,0,5,15,4,0,16,6,0,0,6,14,7,6,16,4,0,0,0,7,15,16,10,0,0,8 +0,0,5,13,15,6,0,0,0,2,16,9,16,13,0,0,0,4,14,0,10,16,2,0,0,4,15,11,15,16,1,0,0,0,7,10,3,13,8,0,0,0,3,0,0,12,5,0,0,0,13,11,4,16,4,0,0,0,7,14,16,11,1,0,9 +0,0,8,11,8,10,0,0,0,3,15,8,12,16,4,0,0,3,12,0,3,16,2,0,0,0,11,10,15,10,0,0,0,0,4,16,16,6,0,0,0,0,7,9,4,16,0,0,0,0,12,11,5,16,0,0,0,0,3,10,9,3,0,0,8 +0,0,6,15,13,2,0,0,0,1,15,10,11,14,0,0,0,2,16,3,1,16,4,0,0,4,12,0,1,14,4,0,0,4,10,0,0,15,3,0,0,4,12,0,0,15,3,0,0,1,13,9,11,16,2,0,0,0,4,12,14,5,0,0,0 +0,0,7,14,2,0,0,0,0,0,2,16,6,0,0,0,0,0,2,15,9,0,0,0,0,0,2,16,12,0,0,0,0,0,2,16,16,5,0,0,0,0,0,3,13,13,0,0,0,0,6,12,14,16,12,5,0,0,5,16,16,16,16,15,1 +0,0,2,13,11,0,0,0,0,0,11,14,11,9,0,0,0,0,15,7,6,12,0,0,0,0,8,5,9,12,0,0,0,0,0,1,14,7,0,0,0,0,0,7,16,0,0,0,0,0,1,12,12,4,4,1,0,0,1,15,16,16,16,7,2 +0,0,1,9,15,5,0,0,0,0,14,11,5,11,0,0,0,4,15,1,4,14,0,0,0,0,6,1,13,9,0,0,0,0,0,0,10,13,1,0,0,0,0,0,0,8,10,0,0,0,12,9,4,4,15,0,0,0,1,10,16,15,11,1,3 +0,0,1,14,3,0,0,0,0,0,8,14,0,3,0,0,0,1,16,4,10,12,0,0,0,7,14,2,15,5,0,0,0,13,14,11,16,16,9,0,0,8,16,16,14,4,0,0,0,0,0,15,9,0,0,0,0,0,2,16,5,0,0,0,4 +0,0,9,14,16,13,2,0,0,0,13,8,2,6,4,0,0,0,16,2,9,8,0,0,0,3,15,15,11,14,4,0,0,5,16,6,0,12,2,0,0,5,7,0,3,13,0,0,0,0,5,7,13,6,0,0,0,0,10,16,9,0,0,0,5 +0,0,1,14,15,4,0,0,0,0,9,16,10,5,0,0,0,1,16,10,0,0,0,0,0,3,16,12,5,0,0,0,0,4,16,16,16,8,0,0,0,1,15,7,4,16,4,0,0,0,11,13,4,16,9,0,0,0,1,12,16,16,9,0,6 +0,0,9,15,16,2,0,0,0,0,13,9,16,4,0,0,0,0,2,6,16,16,12,0,0,0,14,16,14,8,7,0,0,0,3,14,9,0,0,0,0,0,3,16,3,0,0,0,0,0,10,16,0,0,0,0,0,0,12,11,0,0,0,0,7 +0,0,0,5,15,13,2,0,0,0,0,12,7,11,6,0,0,0,0,9,12,15,1,0,0,0,1,8,16,4,0,0,0,3,15,8,13,0,0,0,0,7,12,0,10,7,0,0,0,0,12,11,10,8,0,0,0,0,0,6,13,10,0,0,8 +0,0,3,11,15,8,0,0,0,3,14,10,5,15,2,0,0,8,10,0,3,16,4,0,0,8,9,1,10,16,7,0,0,1,15,16,9,9,7,0,0,0,0,0,0,5,8,0,0,0,4,6,5,13,7,0,0,0,3,16,15,8,1,0,9 +0,0,0,9,14,6,0,0,0,0,10,13,4,13,2,0,0,2,14,0,0,10,6,0,0,4,9,0,0,6,8,0,0,5,8,0,0,8,7,0,0,2,11,1,0,9,5,0,0,0,6,11,4,13,3,0,0,0,1,11,16,12,0,0,0 +0,0,6,13,0,0,0,0,0,0,8,16,2,0,0,0,0,0,6,16,3,0,0,0,0,0,3,15,6,0,0,0,0,0,0,10,10,0,0,0,0,0,0,3,15,0,0,0,0,0,7,10,14,12,5,1,0,0,6,16,16,16,16,12,1 +0,0,5,16,14,2,0,0,0,1,13,14,16,8,0,0,0,9,15,3,16,5,0,0,0,10,13,3,16,3,0,0,0,3,3,11,13,0,0,0,0,0,0,13,10,0,0,0,0,0,2,16,16,16,10,0,0,0,6,16,14,12,9,0,2 +0,0,3,10,15,6,0,0,0,4,16,9,4,16,2,0,0,8,14,0,9,10,0,0,0,1,4,7,16,2,0,0,0,0,0,2,15,7,0,0,0,0,0,0,1,14,1,0,0,0,12,8,1,11,7,0,0,0,6,8,16,15,5,0,3 +0,0,3,16,4,0,0,0,0,0,12,13,2,5,0,0,0,2,16,6,10,15,1,0,0,9,15,3,16,11,7,0,0,12,16,16,15,11,5,0,0,3,9,16,3,0,0,0,0,0,2,16,3,0,0,0,0,0,6,14,0,0,0,0,4 +0,0,13,13,13,12,4,0,0,1,16,5,5,9,4,0,0,4,13,0,2,1,0,0,0,5,14,11,16,13,2,0,0,5,15,6,0,9,8,0,0,0,3,0,0,10,8,0,0,3,14,5,7,15,1,0,0,1,9,14,15,4,0,0,5 +0,0,0,11,16,6,0,0,0,0,10,16,10,0,0,0,0,0,16,3,0,0,0,0,0,5,14,0,3,0,0,0,0,2,16,16,13,12,1,0,0,2,15,3,0,8,7,0,0,0,8,8,0,10,7,0,0,0,1,11,12,15,4,0,6 +0,0,5,11,16,16,5,0,0,3,15,11,10,16,4,0,0,0,4,0,10,14,0,0,0,0,7,15,16,16,12,0,0,0,9,16,14,4,1,0,0,0,1,14,7,0,0,0,0,0,4,16,4,0,0,0,0,0,8,16,0,0,0,0,7 +0,0,0,9,16,6,0,0,0,0,4,15,6,15,0,0,0,0,8,11,9,11,0,0,0,0,8,16,14,2,0,0,0,0,11,16,13,0,0,0,0,6,14,2,12,9,0,0,0,5,16,11,5,13,4,0,0,0,3,8,13,16,9,0,8 +0,0,1,12,16,14,2,0,0,0,13,11,3,16,5,0,0,4,14,0,0,15,6,0,0,6,12,8,13,16,5,0,0,0,9,12,4,10,8,0,0,0,3,0,0,11,5,0,0,0,16,14,5,15,4,0,0,0,3,12,16,11,1,0,9 +0,0,5,15,12,4,0,0,0,2,15,8,11,16,4,0,0,8,9,0,6,16,4,0,0,8,8,0,2,10,8,0,0,8,7,0,0,13,5,0,0,2,14,0,0,16,2,0,0,0,14,8,11,10,0,0,0,0,4,13,14,0,0,0,0 +0,0,8,14,1,0,0,0,0,0,7,16,3,0,0,0,0,0,6,16,6,0,0,0,0,0,6,16,9,0,0,0,0,0,2,16,14,0,0,0,0,0,0,8,16,3,0,0,0,0,12,12,16,16,12,4,0,0,7,16,16,16,12,5,1 +0,0,3,13,15,1,0,0,0,4,15,14,15,10,0,0,0,13,13,2,13,9,0,0,0,14,10,0,15,9,0,0,0,1,1,2,16,4,0,0,0,0,0,9,15,1,0,0,0,0,2,15,16,16,16,6,0,0,2,15,16,10,12,4,2 +0,0,2,11,12,1,0,0,0,2,14,9,9,8,0,0,0,10,12,0,13,6,0,0,0,6,5,2,13,2,0,0,0,0,0,10,9,0,0,0,0,0,0,1,10,9,1,0,0,0,6,7,0,12,6,0,0,0,1,12,16,16,5,0,3 +0,0,0,11,8,0,0,0,0,0,2,16,5,0,0,0,0,0,12,10,4,10,0,0,0,6,15,2,15,8,0,0,0,10,12,4,16,7,6,0,0,10,16,15,16,14,6,0,0,3,8,16,9,0,0,0,0,0,0,14,11,0,0,0,4 +0,1,13,14,16,15,7,0,0,4,15,3,3,4,1,0,0,4,13,5,8,5,0,0,0,6,16,12,8,14,2,0,0,0,4,0,0,12,4,0,0,0,0,0,1,14,2,0,0,2,12,3,11,9,0,0,0,1,11,16,13,1,0,0,5 +0,0,2,15,15,3,0,0,0,0,13,15,8,3,0,0,0,5,16,6,0,0,0,0,0,8,15,5,4,2,0,0,0,8,16,16,16,14,2,0,0,4,16,7,1,13,8,0,0,0,11,12,1,11,13,0,0,0,1,12,16,16,10,0,6 +0,0,4,16,16,16,12,0,0,0,4,12,11,14,13,0,0,0,0,0,0,15,9,0,0,0,2,8,10,16,9,0,0,0,7,13,16,14,5,0,0,0,0,3,16,5,0,0,0,0,0,10,15,0,0,0,0,0,3,16,9,0,0,0,7 +0,0,2,13,14,6,0,0,0,0,10,13,5,16,0,0,0,0,9,9,4,14,0,0,0,0,4,15,15,5,0,0,0,0,5,16,14,1,0,0,0,0,14,6,8,9,0,0,0,0,13,7,1,11,5,0,0,0,3,11,15,16,12,0,8 +0,0,8,12,13,1,0,0,0,5,12,2,6,13,0,0,0,11,5,0,6,12,0,0,0,7,10,4,13,15,0,0,0,1,11,12,7,12,4,0,0,0,0,0,0,4,9,0,0,0,10,5,0,3,13,0,0,0,6,12,16,13,10,0,9 +0,0,4,15,14,4,0,0,0,1,14,8,10,13,1,0,0,5,13,0,0,16,3,0,0,6,12,0,0,13,3,0,0,7,12,0,0,14,3,0,0,1,16,0,0,14,3,0,0,0,10,11,12,14,0,0,0,0,1,11,12,3,0,0,0 +0,0,2,10,16,11,1,0,0,0,13,13,10,16,8,0,0,4,14,1,8,14,1,0,0,4,15,12,15,8,0,0,0,0,6,7,14,5,0,0,0,1,2,0,12,5,0,0,0,8,15,6,13,4,0,0,0,0,5,11,16,3,0,0,9 +0,0,13,16,16,16,13,0,0,4,16,9,8,5,4,0,0,9,15,7,8,2,0,0,0,11,16,16,14,15,1,0,0,1,3,0,4,16,4,0,0,0,0,0,8,14,0,0,0,0,11,8,16,6,0,0,0,1,15,16,10,0,0,0,5 +0,0,9,8,12,13,1,0,0,3,15,8,5,4,0,0,0,6,9,2,6,2,0,0,0,6,16,14,9,13,4,0,0,2,7,0,0,7,8,0,0,0,0,0,0,7,10,0,0,0,8,5,6,14,3,0,0,0,10,14,15,5,0,0,5 +0,0,2,13,16,8,0,0,0,0,11,16,6,2,0,0,0,2,16,8,0,0,0,0,0,5,16,9,1,0,0,0,0,5,16,16,13,2,0,0,0,1,16,6,8,14,0,0,0,0,11,10,1,16,5,0,0,0,3,15,16,16,3,0,6 +0,0,8,12,16,16,4,0,0,0,15,6,10,5,0,0,0,4,12,2,8,6,0,0,0,8,14,14,8,13,5,0,0,3,7,0,0,8,8,0,0,0,0,0,0,12,2,0,0,0,5,2,5,12,0,0,0,0,7,15,15,2,0,0,5 +0,0,2,11,13,5,0,0,0,1,14,9,8,14,0,0,0,6,13,1,2,16,2,0,0,7,7,0,0,12,5,0,0,7,9,0,0,3,9,0,0,2,12,0,0,4,11,0,0,0,12,6,4,14,7,0,0,0,3,13,16,9,0,0,0 +0,0,3,10,15,14,4,0,0,2,14,7,9,16,8,0,0,7,12,3,14,16,0,0,0,2,14,16,13,16,0,0,0,0,0,0,0,16,0,0,0,1,3,0,0,14,0,0,0,5,15,8,2,16,0,0,0,0,4,11,16,15,0,0,9 +0,0,0,6,15,11,2,0,0,0,6,13,4,13,5,0,0,0,7,11,0,13,3,0,0,0,2,15,13,7,0,0,0,3,13,12,16,2,0,0,0,8,15,1,9,8,0,0,0,0,7,14,8,16,1,0,0,0,0,5,12,16,2,0,8 +0,0,2,10,14,10,0,0,0,1,15,9,9,16,1,0,0,7,9,0,9,12,0,0,0,7,7,3,15,15,0,0,0,2,15,15,7,16,1,0,0,0,1,2,0,9,4,0,0,0,5,13,4,8,9,0,0,0,1,10,15,16,6,0,9 +0,0,0,9,16,9,0,0,0,0,3,15,5,16,0,0,0,0,7,12,7,12,0,0,0,0,1,16,16,5,0,0,0,0,2,16,14,1,0,0,0,3,16,8,9,11,0,0,0,0,12,13,4,12,8,0,0,0,0,8,14,16,14,0,8 +0,0,0,9,11,0,0,0,0,0,5,14,3,2,0,0,0,0,15,2,1,14,3,0,0,5,13,0,13,8,1,0,0,8,13,3,16,14,6,0,0,6,15,16,13,3,0,0,0,0,0,9,11,0,0,0,0,0,0,11,7,0,0,0,4 +0,0,5,14,1,0,0,0,0,0,9,16,4,0,0,0,0,0,12,16,4,0,0,0,0,0,12,16,8,0,0,0,0,0,9,16,11,0,0,0,0,0,0,8,16,2,0,0,0,0,3,8,15,13,11,8,0,0,5,16,16,16,16,10,1 +0,0,4,10,15,16,4,0,0,0,13,14,9,16,3,0,0,0,2,1,5,15,0,0,0,0,3,4,13,14,2,0,0,5,16,16,16,16,8,0,0,4,9,12,14,1,0,0,0,0,5,15,10,0,0,0,0,0,6,16,4,0,0,0,7 +0,0,3,15,16,16,6,0,0,0,3,14,7,15,3,0,0,0,0,0,4,14,0,0,0,0,2,9,15,16,14,0,0,0,7,16,14,6,2,0,0,0,0,8,8,0,0,0,0,0,2,16,2,0,0,0,0,0,5,12,0,0,0,0,7 +0,0,1,10,15,10,0,0,0,1,13,11,8,12,0,0,0,2,9,0,13,6,0,0,0,0,0,0,16,1,0,0,0,0,0,0,14,10,1,0,0,0,0,0,1,9,10,0,0,0,13,7,0,2,16,0,0,0,2,11,15,16,12,0,3 +0,0,11,13,12,12,3,0,0,5,14,4,4,7,2,0,0,7,10,1,4,1,0,0,0,8,15,14,12,15,2,0,0,2,7,0,0,12,4,0,0,0,0,0,1,16,3,0,0,1,8,3,10,12,0,0,0,1,12,16,12,2,0,0,5 +0,0,2,16,5,0,0,0,0,0,4,16,10,0,0,0,0,0,5,16,7,0,0,0,0,0,8,16,9,0,0,0,0,0,15,16,14,2,0,0,0,0,7,8,14,10,0,0,0,0,12,15,14,16,14,9,0,0,2,10,13,16,10,3,1 +0,0,1,15,11,1,0,0,0,0,9,12,8,12,0,0,0,1,15,1,6,16,2,0,0,2,12,0,1,11,6,0,0,5,10,0,0,11,4,0,0,2,13,0,0,10,3,0,0,0,13,2,3,13,3,0,0,0,1,13,16,15,1,0,0 +0,0,5,16,15,4,0,0,0,3,15,13,13,12,0,0,0,7,14,1,0,16,5,0,0,12,9,0,1,11,10,0,0,10,10,0,0,7,13,0,0,6,15,0,0,8,12,0,0,1,14,7,6,15,11,0,0,0,5,15,16,14,3,0,0 +0,0,3,11,13,1,0,0,0,6,16,11,13,6,0,0,1,16,8,0,11,4,0,0,0,4,4,0,16,0,0,0,0,0,0,5,11,0,0,0,0,0,0,8,9,0,0,0,0,0,0,12,9,4,5,0,0,0,1,14,13,12,15,5,2 +0,0,2,14,8,0,0,0,0,3,14,10,16,1,0,0,0,11,8,2,15,0,0,0,0,9,8,1,13,0,0,0,0,1,3,6,10,0,0,0,0,0,0,9,7,0,0,0,0,0,0,14,9,4,7,3,0,0,1,14,16,16,13,8,2 +0,0,9,14,16,10,0,0,0,0,10,6,12,13,0,0,0,0,0,0,13,13,5,0,0,2,12,15,16,15,14,0,0,2,12,16,7,0,1,0,0,0,3,15,0,0,0,0,0,0,8,14,0,0,0,0,0,0,9,11,0,0,0,0,7 +0,0,0,6,14,4,0,0,0,0,4,13,2,12,0,0,0,0,8,6,0,12,0,0,0,0,2,12,6,14,0,0,0,0,1,12,16,9,0,0,0,0,13,11,6,11,0,0,0,0,9,11,2,7,8,0,0,0,0,5,10,15,13,0,8 +0,0,7,13,14,1,0,0,0,7,15,9,13,7,0,0,0,5,15,3,8,8,0,0,0,0,1,0,12,5,0,0,0,0,0,1,14,0,0,0,0,0,0,10,6,0,0,0,0,0,2,15,5,4,4,0,0,0,6,16,16,13,16,6,2 +0,0,0,7,13,9,1,0,0,0,7,15,8,15,5,0,0,1,15,2,0,10,8,0,0,4,12,0,0,12,7,0,0,5,9,0,0,14,3,0,0,4,14,0,0,11,0,0,0,1,16,8,8,11,0,0,0,0,2,11,14,5,0,0,0 +0,0,10,12,0,0,0,0,0,0,8,16,1,0,0,0,0,0,9,16,1,0,0,0,0,0,12,16,5,0,0,0,0,0,13,16,10,0,0,0,0,0,1,10,15,0,0,0,0,0,7,12,16,12,12,4,0,0,7,16,16,16,16,11,1 +0,0,3,13,7,0,0,0,0,3,15,8,14,0,0,0,0,10,8,1,14,0,0,0,0,8,11,5,13,0,0,0,0,0,0,5,12,0,0,0,0,0,0,8,8,0,0,0,0,0,1,12,10,7,5,2,0,0,2,14,14,12,14,7,2 +0,0,3,12,16,6,0,0,0,0,13,16,12,4,0,0,0,3,16,9,0,0,0,0,0,6,13,5,4,0,0,0,0,8,14,3,16,2,0,0,0,4,16,4,13,7,0,0,0,0,11,11,11,14,0,0,0,0,3,12,16,15,0,0,6 +0,0,1,9,16,6,0,0,0,4,14,10,11,10,0,0,0,12,10,0,13,6,0,0,0,6,7,4,16,5,0,0,0,0,0,0,7,12,1,0,0,0,0,0,0,8,10,0,0,0,8,13,3,0,14,3,0,0,0,8,16,16,13,3,3 +0,0,4,12,16,14,7,0,0,2,16,6,0,7,12,0,0,0,7,0,3,13,3,0,0,0,0,1,16,6,0,0,0,0,0,0,9,12,0,0,0,0,2,0,0,13,5,0,0,3,16,7,1,12,4,0,0,0,3,12,16,15,2,0,3 +0,0,3,8,12,15,16,2,0,0,12,14,10,13,15,0,0,0,1,1,2,14,6,0,0,0,2,8,13,16,8,0,0,0,9,16,16,10,5,0,0,0,1,8,12,1,0,0,0,0,0,14,8,0,0,0,0,0,2,16,5,0,0,0,7 +0,0,0,6,15,12,1,0,0,4,12,16,12,16,3,0,0,15,16,6,4,16,3,0,0,4,5,1,15,12,0,0,0,0,0,7,16,10,1,0,0,0,3,2,4,15,7,0,0,0,12,15,8,11,14,0,0,0,1,8,15,16,11,0,3 +0,0,0,7,13,10,0,0,0,0,10,13,5,13,0,0,0,7,12,0,8,8,0,0,0,6,6,3,15,1,0,0,0,0,0,2,13,9,0,0,0,0,0,0,0,11,7,0,0,0,5,9,1,2,12,0,0,0,0,9,15,16,9,0,3 +0,0,0,12,10,0,0,0,0,0,4,16,5,0,0,0,0,0,15,7,2,14,1,0,0,6,16,2,9,16,11,0,0,9,14,9,16,15,6,0,0,5,16,16,16,1,0,0,0,0,2,11,13,0,0,0,0,0,0,12,13,0,0,0,4 +0,0,0,10,16,6,0,0,0,0,11,14,5,0,0,0,0,3,16,2,0,0,0,0,0,8,10,0,0,0,0,0,0,6,16,14,11,3,0,0,0,2,14,0,7,13,0,0,0,0,10,9,1,15,2,0,0,0,0,8,16,15,1,0,6 +0,0,0,9,16,6,0,0,0,0,8,16,12,5,0,0,0,2,16,9,0,0,0,0,0,6,16,6,2,0,0,0,0,8,16,16,16,7,0,0,0,2,16,7,7,16,4,0,0,0,9,13,3,14,9,0,0,0,0,8,16,16,7,0,6 +0,0,0,8,15,10,0,0,0,0,8,13,6,1,0,0,0,1,16,2,0,0,0,0,0,4,11,0,0,0,0,0,0,4,16,12,12,9,2,0,0,1,15,1,0,9,10,0,0,0,10,9,4,13,3,0,0,0,0,11,15,5,0,0,6 +0,0,3,15,6,0,0,0,0,1,14,13,4,0,0,0,0,4,16,5,16,7,0,0,0,8,16,8,16,9,5,0,0,10,16,14,16,16,9,0,0,3,11,16,11,2,0,0,0,0,4,16,8,0,0,0,0,0,5,15,4,0,0,0,4 +0,0,1,8,14,15,5,0,0,1,14,8,1,14,8,0,0,7,12,0,7,16,8,0,0,4,14,12,12,9,8,0,0,0,1,3,0,9,8,0,0,0,0,0,0,13,6,0,0,0,12,10,4,16,0,0,0,0,2,8,16,7,0,0,9 +0,0,3,15,5,0,0,0,0,0,5,16,10,0,0,0,0,0,6,16,7,0,0,0,0,2,12,16,9,0,0,0,0,8,16,15,14,0,0,0,0,0,6,3,16,6,0,0,0,0,6,8,12,15,12,10,0,0,2,13,16,16,15,11,1 +0,1,9,12,13,11,0,0,0,3,15,4,3,3,0,0,0,5,12,7,6,0,0,0,0,5,16,14,13,7,0,0,0,1,8,0,2,12,0,0,0,0,0,0,2,14,0,0,0,0,6,2,10,6,0,0,0,0,11,16,13,1,0,0,5 +0,0,0,16,6,0,0,0,0,0,11,16,16,11,0,0,0,4,16,11,13,14,0,0,0,7,12,1,3,13,0,0,0,4,10,0,0,16,0,0,0,2,14,0,1,16,1,0,0,0,9,7,9,14,0,0,0,0,1,11,15,3,0,0,0 +0,0,6,11,13,6,0,0,0,7,14,6,7,13,0,0,0,10,7,0,7,10,0,0,0,4,13,12,15,10,0,0,0,0,1,4,0,12,0,0,0,0,0,0,0,11,1,0,0,0,8,2,0,12,0,0,0,0,6,14,15,12,0,0,9 +0,0,9,16,16,13,2,0,0,2,15,2,3,3,0,0,0,7,9,0,1,4,0,0,0,8,12,7,13,14,7,0,0,6,16,8,0,5,8,0,0,1,3,0,0,9,6,0,0,0,3,4,1,15,0,0,0,0,7,16,12,7,0,0,5 +0,0,7,15,13,0,0,0,0,9,16,15,16,5,0,0,0,12,16,5,15,6,0,0,0,0,7,2,13,9,0,0,0,0,0,1,16,7,0,0,0,0,0,6,16,4,0,0,0,0,1,15,16,12,15,7,0,0,5,16,14,12,12,11,2 +0,0,0,6,14,10,0,0,0,0,3,16,7,13,2,0,0,0,4,16,3,14,1,0,0,0,0,11,16,9,0,0,0,0,5,14,16,6,0,0,0,3,15,4,1,13,4,0,0,2,14,11,5,5,12,0,0,0,0,6,10,15,15,0,8 +0,0,9,15,13,0,0,0,0,5,14,7,13,2,0,0,0,12,10,1,13,0,0,0,0,4,7,6,11,0,0,0,0,0,0,10,6,0,0,0,0,0,1,15,0,0,0,0,0,0,9,11,0,6,5,0,0,0,11,16,16,16,16,3,2 +0,0,2,11,15,2,0,0,0,0,12,6,11,9,0,0,0,4,11,0,7,16,0,0,0,5,6,0,1,16,6,0,0,5,4,0,0,10,7,0,0,0,10,0,0,10,5,0,0,0,13,2,6,12,0,0,0,0,4,16,12,1,0,0,0 +0,0,1,12,14,3,0,0,0,1,13,11,9,13,0,0,0,7,11,0,1,16,4,0,0,8,6,0,2,15,0,0,0,4,12,0,0,15,0,0,0,0,15,1,1,15,0,0,0,0,7,10,7,13,0,0,0,0,1,13,16,7,0,0,0 +0,0,5,13,2,0,0,0,0,0,4,16,7,0,0,0,0,0,4,16,4,0,0,0,0,0,4,16,6,0,0,0,0,0,9,16,10,0,0,0,0,0,2,11,15,1,0,0,0,0,10,13,16,15,16,9,0,0,3,12,16,16,11,2,1 +0,0,6,14,16,13,0,0,0,0,9,9,9,15,0,0,0,0,0,0,14,9,0,0,0,0,2,10,16,16,12,0,0,0,13,16,12,7,3,0,0,0,3,14,6,0,0,0,0,0,6,16,2,0,0,0,0,0,10,13,0,0,0,0,7 +0,0,0,6,13,8,0,0,0,0,7,16,8,4,0,0,0,3,15,2,0,0,0,0,0,6,12,4,0,0,0,0,0,4,16,13,13,3,0,0,0,2,15,2,5,14,0,0,0,0,9,10,2,15,0,0,0,0,0,8,15,12,0,0,6 +0,0,1,7,12,3,0,0,0,4,16,12,12,10,0,0,0,14,9,0,11,8,0,0,0,7,5,0,15,4,0,0,0,0,0,2,14,7,0,0,0,0,0,0,2,13,9,0,0,0,5,10,4,0,14,5,0,0,1,9,15,16,16,8,3 +0,0,10,15,2,0,0,0,0,7,16,16,6,0,0,0,0,12,13,12,9,0,0,0,0,8,9,13,7,0,0,0,0,0,0,16,5,0,0,0,0,0,6,15,1,0,0,0,0,0,16,14,4,5,8,3,0,0,8,16,16,16,16,9,2 +0,0,6,16,4,0,0,0,0,0,4,16,9,0,0,0,0,0,7,16,12,0,0,0,0,0,13,16,15,0,0,0,0,0,13,15,16,2,0,0,0,0,1,2,15,8,0,0,0,0,6,9,14,15,13,7,0,0,5,15,16,16,15,3,1 +0,0,4,13,14,16,3,0,0,0,6,11,10,16,1,0,0,0,0,0,7,14,0,0,0,0,9,16,16,16,12,0,0,0,15,13,16,7,2,0,0,0,0,8,12,0,0,0,0,0,2,14,6,0,0,0,0,0,8,13,1,0,0,0,7 +0,0,2,15,6,0,0,0,0,0,10,14,0,5,0,0,0,0,13,9,9,16,3,0,0,6,15,6,16,3,0,0,0,9,13,12,15,12,8,0,0,9,16,16,14,7,2,0,0,1,7,16,7,0,0,0,0,0,2,16,7,0,0,0,4 +0,0,2,13,16,8,0,0,0,1,13,16,10,7,0,0,0,5,16,9,0,0,0,0,0,7,16,7,0,0,0,0,0,9,16,16,13,1,0,0,0,5,16,6,14,9,0,0,0,0,13,12,14,15,0,0,0,0,3,12,16,11,0,0,6 +0,0,0,6,13,7,0,0,0,0,10,13,6,15,0,0,0,0,12,8,4,12,0,0,0,0,0,1,15,3,0,0,0,0,0,10,15,2,0,0,0,0,0,1,5,15,2,0,0,0,14,10,2,5,11,0,0,0,2,7,13,15,8,0,3 +0,0,2,15,3,0,0,0,0,0,4,16,4,0,0,0,0,0,4,16,5,0,0,0,0,0,14,16,6,0,0,0,0,0,7,15,7,0,0,0,0,0,2,10,9,0,0,0,0,0,16,16,15,9,16,5,0,0,3,15,16,15,7,1,1 +0,0,0,6,15,6,0,0,0,1,11,13,8,11,0,0,0,9,13,0,9,10,0,0,0,8,9,3,15,3,0,0,0,0,0,5,14,3,0,0,0,0,3,0,5,13,2,0,0,0,9,12,5,10,7,0,0,0,0,6,12,15,5,0,3 +0,0,5,11,13,6,0,0,0,4,15,8,7,16,3,0,0,8,7,0,4,16,1,0,0,4,11,1,10,16,4,0,0,2,15,15,8,16,4,0,0,0,0,0,0,13,6,0,0,1,16,9,0,12,5,0,0,0,4,11,16,16,2,0,9 +0,0,4,15,4,0,0,0,0,0,3,16,9,0,0,0,0,0,2,16,11,0,0,0,0,0,0,16,13,0,0,0,0,0,2,16,16,2,0,0,0,0,0,5,15,10,0,0,0,0,4,12,14,16,13,13,0,0,2,13,16,16,15,8,1 +0,0,4,15,16,12,0,0,0,0,6,9,12,10,0,0,0,0,0,0,10,9,0,0,0,0,2,4,15,10,4,0,0,2,15,16,16,15,7,0,0,0,8,13,9,0,0,0,0,0,1,16,4,0,0,0,0,0,6,13,0,0,0,0,7 +0,0,0,11,16,6,0,0,0,0,9,16,11,2,0,0,0,3,16,11,0,0,0,0,0,6,16,12,4,0,0,0,0,7,16,13,15,11,0,0,0,1,15,8,3,16,5,0,0,0,9,14,5,16,10,0,0,0,0,9,16,16,10,0,6 +0,0,0,7,13,8,0,0,0,0,2,16,8,15,0,0,0,0,4,12,8,11,0,0,0,0,2,16,16,3,0,0,0,0,5,16,16,2,0,0,0,2,16,7,9,11,0,0,0,0,9,12,1,14,6,0,0,0,0,6,15,15,12,0,8 +0,0,1,14,9,0,0,0,0,0,8,13,3,7,1,0,0,1,16,6,5,16,3,0,0,7,13,0,14,11,3,0,0,12,13,5,16,16,9,0,0,13,16,16,15,6,0,0,0,0,3,12,14,0,0,0,0,0,0,15,10,0,0,0,4 +0,0,3,11,15,8,0,0,0,4,14,8,13,14,0,0,0,8,11,3,15,6,0,0,0,1,1,9,14,0,0,0,0,0,0,0,13,10,0,0,0,0,0,0,1,13,7,0,0,0,9,8,2,6,11,0,0,0,4,10,14,16,10,0,3 +0,0,5,16,14,8,0,0,0,0,4,16,16,7,0,0,0,0,14,16,16,8,0,0,0,0,14,16,16,8,0,0,0,0,11,16,16,5,0,0,0,0,10,16,16,8,0,0,0,0,11,16,16,14,3,0,0,0,6,16,16,16,3,0,1 +0,0,0,15,8,0,0,0,0,0,5,15,2,13,5,0,0,0,13,9,2,15,2,0,0,4,14,1,10,12,2,0,0,10,14,8,16,16,10,0,0,10,16,16,15,5,0,0,0,0,2,12,8,0,0,0,0,0,0,16,5,0,0,0,4 +0,0,4,13,14,8,0,0,0,3,14,3,1,16,3,0,0,7,9,0,0,14,6,0,0,8,4,0,0,16,4,0,0,8,6,0,0,16,0,0,0,3,11,0,1,14,0,0,0,0,12,4,6,11,0,0,0,0,5,16,14,1,0,0,0 +0,0,8,12,14,12,3,0,0,0,12,5,0,3,0,0,0,0,16,2,4,1,0,0,0,4,16,14,12,15,4,0,0,0,4,0,0,8,8,0,0,1,0,0,0,11,5,0,0,6,14,1,2,15,1,0,0,0,8,14,16,4,0,0,5 +0,0,2,9,13,8,0,0,0,1,14,11,8,14,0,0,0,9,14,0,14,6,0,0,0,0,2,4,15,0,0,0,0,0,0,6,12,12,2,0,0,0,0,0,0,9,9,0,0,0,14,13,4,10,11,0,0,0,3,10,14,15,5,0,3 +0,0,0,13,15,4,0,0,0,0,11,16,9,4,0,0,0,1,16,14,0,0,0,0,0,5,16,7,0,0,0,0,0,5,16,16,14,4,0,0,0,2,15,9,7,15,5,0,0,0,11,13,4,12,13,0,0,0,1,13,16,16,10,0,6 +0,0,2,11,13,4,0,0,0,1,13,7,8,15,0,0,0,6,11,0,5,13,0,0,0,9,7,2,14,14,0,0,0,3,14,15,8,15,1,0,0,0,0,0,0,11,5,0,0,0,11,7,0,10,7,0,0,0,4,10,15,15,3,0,9 +0,0,0,11,16,10,0,0,0,0,9,16,10,7,0,0,0,3,16,8,0,0,0,0,0,9,16,13,4,0,0,0,0,10,16,8,16,7,0,0,0,4,16,3,7,16,2,0,0,0,13,13,8,16,5,0,0,0,1,11,16,16,1,0,6 +0,0,0,13,12,0,0,0,0,0,0,14,16,1,0,0,0,0,1,15,16,1,0,0,0,0,4,16,16,3,0,0,0,0,5,15,16,9,0,0,0,0,0,0,12,15,1,0,0,0,1,11,9,16,11,2,0,0,0,11,16,16,16,16,1 +0,0,4,13,16,14,0,0,0,0,13,10,11,15,0,0,0,0,0,0,9,11,0,0,0,0,1,6,14,16,8,0,0,0,11,16,15,8,5,0,0,0,2,11,10,0,0,0,0,0,1,14,6,0,0,0,0,0,5,16,2,0,0,0,7 +0,0,10,12,13,16,2,0,0,4,15,6,4,4,0,0,0,5,10,0,0,0,0,0,0,5,16,16,16,9,0,0,0,2,11,3,3,12,0,0,0,0,0,0,2,13,0,0,0,0,4,1,9,10,0,0,0,0,16,16,13,1,0,0,5 +0,0,0,12,10,0,0,0,0,0,4,16,3,9,3,0,0,0,14,7,6,16,2,0,0,3,15,2,10,10,0,0,0,10,9,1,16,12,10,0,0,14,11,14,16,11,1,0,0,9,16,15,9,0,0,0,0,0,0,14,8,0,0,0,4 +0,0,0,10,12,0,0,0,0,0,4,16,5,3,3,0,0,0,15,7,0,13,11,0,0,7,14,1,7,16,8,0,0,9,13,5,15,13,1,0,0,11,16,16,16,1,0,0,0,0,4,9,16,0,0,0,0,0,0,11,15,0,0,0,4 +0,0,10,16,15,0,0,0,0,4,14,8,16,1,0,0,0,0,1,4,16,0,2,0,0,0,3,11,16,16,13,0,0,0,12,16,11,7,2,0,0,0,6,16,0,0,0,0,0,0,7,15,0,0,0,0,0,0,12,11,0,0,0,0,7 +0,0,6,15,9,0,0,0,0,9,16,14,16,1,0,0,0,14,12,3,16,4,0,0,0,9,11,3,16,3,0,0,0,0,2,9,16,0,0,0,0,0,0,13,11,0,0,0,0,0,4,16,12,9,10,3,0,0,8,16,16,16,16,14,2 +0,0,0,7,12,13,1,0,0,0,8,11,1,10,8,0,0,0,12,2,1,11,7,0,0,0,10,10,14,8,0,0,0,1,7,16,9,0,0,0,0,7,16,7,14,3,0,0,0,0,7,13,5,14,0,0,0,0,0,6,15,14,2,0,8 +0,0,10,16,16,4,0,0,0,9,16,11,14,8,0,0,0,13,8,0,14,6,0,0,0,0,0,1,16,4,0,0,0,0,0,8,13,0,0,0,0,0,1,14,7,0,0,0,0,0,12,16,9,12,6,0,0,1,14,16,16,16,14,0,2 +0,0,1,13,7,0,0,0,0,1,15,9,15,1,0,0,0,9,11,0,16,0,0,0,0,2,10,3,14,0,0,0,0,0,0,2,11,0,0,0,0,0,0,5,11,0,0,0,0,0,0,9,10,4,4,2,0,0,1,15,16,15,13,15,2 +0,0,10,10,14,16,14,0,0,0,14,8,4,0,0,0,0,0,16,0,6,11,5,0,0,3,16,14,10,10,9,0,0,3,14,5,0,9,8,0,0,0,0,0,6,13,0,0,0,0,3,9,13,3,0,0,0,0,8,13,1,0,0,0,5 +0,0,5,9,13,16,6,0,0,0,12,12,7,16,5,0,0,0,0,0,6,16,3,0,0,0,3,12,15,16,14,0,0,0,7,16,15,5,1,0,0,0,0,10,10,0,0,0,0,0,2,15,5,0,0,0,0,0,6,14,0,0,0,0,7 +0,0,4,13,12,6,0,0,0,4,15,5,10,16,0,0,0,4,16,1,11,16,0,0,0,1,10,16,13,16,2,0,0,0,0,4,0,15,3,0,0,0,0,0,0,12,4,0,0,0,6,6,0,9,8,0,0,0,5,12,15,16,7,0,9 +0,3,12,12,14,15,3,0,0,4,15,4,4,4,0,0,0,5,12,0,0,2,0,0,0,5,15,12,15,15,5,0,0,5,12,6,0,8,8,0,0,0,0,0,0,10,7,0,0,1,9,0,7,14,1,0,0,2,15,16,14,3,0,0,5 +0,0,3,15,2,0,0,0,0,0,12,12,1,7,0,0,0,2,16,4,9,13,0,0,0,8,11,6,16,1,2,0,0,12,10,12,14,12,11,0,0,11,16,16,14,7,1,0,0,1,7,16,0,0,0,0,0,0,5,16,1,0,0,0,4 +0,0,0,3,14,13,3,0,0,0,0,12,9,8,8,0,0,0,0,12,8,11,6,0,0,0,0,7,14,11,1,0,0,1,8,12,15,5,0,0,0,6,14,0,4,12,0,0,0,0,7,12,1,15,2,0,0,0,0,3,13,15,2,0,8 +0,0,0,3,12,10,0,0,0,0,1,14,6,15,0,0,0,0,0,16,6,10,0,0,0,0,0,14,16,2,0,0,0,0,3,14,15,3,0,0,0,1,16,4,9,9,0,0,0,0,4,13,4,7,8,0,0,0,0,3,10,11,15,2,8 +0,0,3,15,6,0,0,0,0,0,9,13,1,6,9,0,0,3,16,3,6,15,5,0,0,7,15,1,14,9,5,0,0,10,13,9,16,15,7,0,0,7,16,16,11,4,0,0,0,0,3,16,5,0,0,0,0,0,4,16,3,0,0,0,4 +0,0,5,14,14,8,2,0,0,3,15,3,0,13,8,0,0,5,12,0,2,15,8,0,0,2,15,9,14,14,8,0,0,0,1,3,0,12,5,0,0,0,0,0,0,12,4,0,0,6,15,2,0,14,1,0,0,1,7,14,12,9,0,0,9 +0,0,4,14,14,4,0,0,0,0,15,10,10,13,0,0,0,5,15,0,2,15,6,0,0,4,13,0,0,14,8,0,0,6,9,0,0,12,7,0,0,3,14,1,0,12,5,0,0,0,12,9,6,15,2,0,0,0,3,14,14,6,0,0,0 +0,0,0,2,13,13,0,0,0,0,0,12,10,16,0,0,0,0,7,13,8,11,0,0,0,0,5,16,16,4,0,0,0,0,3,16,16,4,0,0,0,2,14,9,7,13,1,0,0,1,11,8,3,9,8,0,0,0,0,5,10,15,16,0,8 +0,0,3,13,14,4,0,0,0,0,13,12,14,16,0,0,0,1,16,3,14,16,4,0,0,1,14,9,16,16,6,0,0,0,2,8,4,11,9,0,0,0,2,2,0,12,10,0,0,0,14,14,4,11,9,0,0,0,4,8,11,16,9,0,9 +0,0,0,4,12,15,4,0,0,0,3,14,4,10,8,0,0,0,4,12,5,14,2,0,0,0,4,16,14,3,0,0,0,1,12,15,13,0,0,0,0,6,13,1,12,6,0,0,0,0,10,13,5,14,1,0,0,0,0,4,10,16,8,0,8 +0,0,7,16,15,4,0,0,0,0,14,16,9,15,2,0,0,1,15,12,1,9,8,0,0,4,16,0,0,7,10,0,0,7,13,0,0,10,11,0,0,7,12,0,2,15,6,0,0,3,15,12,14,14,1,0,0,0,10,16,14,4,0,0,0 +0,0,5,10,8,8,0,0,0,0,0,16,16,15,2,0,0,0,7,16,16,13,0,0,0,0,10,16,16,4,0,0,0,0,9,16,16,0,0,0,0,0,10,16,16,0,0,0,0,0,8,16,15,0,0,0,0,0,2,11,9,0,0,0,1 +0,2,11,16,15,2,0,0,0,12,16,15,16,4,0,0,0,2,3,2,16,4,0,0,0,0,0,10,14,0,0,0,0,0,4,16,5,0,0,0,0,0,12,12,3,11,9,0,0,0,16,16,16,16,6,0,0,0,14,15,12,5,0,0,2 +0,0,3,12,16,14,0,0,0,3,15,16,15,14,0,0,0,3,12,1,15,8,0,0,0,0,0,9,16,8,0,0,0,0,0,10,16,16,8,0,0,0,0,2,5,13,8,0,0,0,2,11,11,15,5,0,0,0,3,16,16,9,0,0,3 +0,0,0,0,15,7,0,0,0,0,0,10,16,6,0,0,0,0,8,15,14,4,0,0,0,6,15,2,15,2,1,0,0,9,16,16,16,16,11,0,0,5,10,12,16,8,1,0,0,0,0,1,15,0,0,0,0,0,0,1,15,0,0,0,4 +0,0,6,13,15,16,11,0,0,0,10,11,8,8,5,0,0,2,13,0,0,0,0,0,0,4,11,7,8,5,0,0,0,7,16,14,10,14,2,0,0,1,7,1,2,12,3,0,0,0,5,8,14,6,0,0,0,0,8,12,5,0,0,0,5 +0,0,0,13,3,0,0,0,0,0,8,13,1,0,0,0,0,0,12,5,0,0,0,0,0,1,13,0,0,0,0,0,0,1,12,6,11,9,3,0,0,1,15,16,12,8,11,0,0,0,9,13,2,6,16,2,0,0,0,11,16,14,7,0,6 +0,0,4,10,16,16,7,0,0,3,16,13,11,16,2,0,0,1,3,0,10,9,0,0,0,0,5,8,14,15,13,0,0,0,15,16,14,12,8,0,0,0,3,12,7,0,0,0,0,0,0,15,4,0,0,0,0,0,3,14,1,0,0,0,7 +0,0,4,11,15,2,0,0,0,2,16,9,8,9,0,0,0,4,15,0,5,16,3,0,0,0,11,11,16,9,0,0,0,0,4,16,15,1,0,0,0,0,13,9,6,12,1,0,0,0,15,3,0,9,5,0,0,0,5,13,13,12,5,0,8 +0,0,0,3,13,16,11,0,0,0,4,15,11,8,16,3,0,2,15,9,6,13,15,3,0,4,16,16,16,16,11,0,0,0,7,8,6,16,2,0,0,0,0,0,6,14,0,0,0,0,0,0,14,9,0,0,0,0,0,3,16,4,0,0,9 +0,0,7,8,12,6,0,0,0,1,14,11,12,15,0,0,0,3,15,0,0,10,5,0,0,4,9,0,0,8,4,0,0,8,8,0,0,13,0,0,0,7,9,0,9,11,0,0,0,2,14,10,14,5,0,0,0,0,9,15,6,0,0,0,0 +0,0,7,16,13,5,0,0,0,0,13,16,16,5,0,0,0,1,16,16,16,3,0,0,0,1,14,16,15,0,0,0,0,1,16,16,15,1,0,0,0,0,14,16,16,4,0,0,0,0,6,16,16,7,0,0,0,0,4,14,13,6,0,0,1 +0,0,6,15,15,1,0,0,0,4,16,13,16,4,0,0,0,10,11,2,16,2,0,0,0,1,1,10,14,0,0,0,0,0,1,14,6,0,0,0,0,0,6,14,1,12,9,0,0,0,11,15,14,16,9,0,0,0,8,16,12,5,0,0,2 +0,0,4,14,16,5,0,0,0,4,16,16,16,8,0,0,0,12,12,0,15,8,0,0,0,2,1,5,16,13,1,0,0,0,0,1,11,15,11,0,0,0,0,0,0,11,12,0,0,0,2,13,12,16,7,0,0,0,3,16,15,8,0,0,3 +0,0,0,1,15,5,0,0,0,0,0,12,16,0,0,0,0,0,7,16,16,3,0,0,0,5,16,8,16,8,3,0,0,11,16,12,16,16,12,0,0,11,16,15,16,7,2,0,0,1,4,2,16,0,0,0,0,0,0,2,14,0,0,0,4 +0,1,10,12,15,11,0,0,0,8,16,13,9,4,0,0,0,5,15,1,0,0,0,0,0,8,10,0,0,0,0,0,0,2,14,16,7,0,0,0,0,0,1,4,13,7,0,0,0,0,0,6,11,11,0,0,0,0,9,16,14,2,0,0,5 +0,0,1,12,2,0,0,0,0,0,6,13,0,0,0,0,0,0,11,8,0,0,0,0,0,1,15,1,0,0,0,0,0,2,15,2,14,13,4,0,0,2,15,16,10,5,14,0,0,0,9,13,4,9,14,0,0,0,0,10,13,12,3,0,6 +0,0,2,11,16,16,16,4,0,0,5,11,8,8,16,1,0,0,0,0,0,14,6,0,0,0,2,10,13,16,13,0,0,0,12,16,16,9,2,0,0,0,2,5,14,0,0,0,0,0,0,11,9,0,0,0,0,0,0,16,6,0,0,0,7 +0,0,5,12,16,7,0,0,0,5,14,4,9,15,5,0,0,4,13,6,14,6,2,0,0,1,14,16,2,0,0,0,0,3,15,12,9,0,0,0,0,5,12,0,10,7,0,0,0,3,15,4,2,15,0,0,0,0,5,14,14,7,0,0,8 +0,0,0,1,7,15,11,0,0,0,0,11,8,3,13,0,0,0,10,6,2,12,11,0,0,1,16,12,16,16,7,0,0,2,16,14,7,12,2,0,0,0,0,0,3,11,0,0,0,0,0,0,7,9,0,0,0,0,0,0,9,6,0,0,9 +0,0,5,15,14,3,0,0,0,0,13,15,9,15,2,0,0,4,16,12,0,10,6,0,0,8,16,9,0,8,10,0,0,7,15,5,0,12,11,0,0,7,13,0,5,16,6,0,0,0,16,12,15,13,1,0,0,0,6,16,12,2,0,0,0 +0,0,4,16,15,4,0,0,0,0,8,16,16,4,0,0,0,0,12,16,13,0,0,0,0,2,16,16,10,0,0,0,0,3,16,16,8,0,0,0,0,2,16,16,12,0,0,0,0,0,9,16,16,4,0,0,0,0,3,12,14,11,0,0,1 +0,0,8,15,12,1,0,0,0,8,13,8,12,6,0,0,0,4,2,0,8,6,0,0,0,0,0,1,13,2,0,0,0,0,0,9,7,0,0,0,0,0,5,13,0,4,4,0,0,0,10,12,9,15,11,0,0,0,9,16,9,7,1,0,2 +0,0,6,13,16,8,0,0,0,5,16,15,14,12,0,0,0,9,12,2,15,8,0,0,0,0,0,9,12,0,0,0,0,0,0,15,16,13,3,0,0,0,0,3,9,15,11,0,0,0,1,8,14,16,8,0,0,0,7,16,14,6,0,0,3 +0,0,0,0,6,15,2,0,0,0,0,5,16,16,2,0,0,0,4,16,12,16,0,0,0,4,15,6,7,13,0,0,0,11,15,15,16,16,9,0,0,9,13,12,13,14,3,0,0,0,0,0,9,8,0,0,0,0,0,0,8,8,0,0,4 +0,1,13,16,16,11,1,0,0,8,16,16,13,11,1,0,0,11,13,1,0,0,0,0,0,10,13,2,0,0,0,0,0,2,14,15,6,0,0,0,0,0,0,8,16,6,0,0,0,0,6,9,15,9,0,0,0,0,13,16,15,3,0,0,5 +0,0,1,10,0,0,0,0,0,0,7,12,0,0,0,0,0,0,12,7,0,0,0,0,0,0,14,3,0,0,0,0,0,0,15,9,12,10,2,0,0,0,16,13,8,8,11,0,0,0,13,10,4,9,15,0,0,0,3,10,15,9,2,0,6 +0,0,0,4,11,15,16,12,0,0,2,16,12,9,11,12,0,0,1,2,0,0,14,5,0,0,0,7,12,14,15,0,0,0,3,16,16,15,2,0,0,0,0,1,11,8,0,0,0,0,0,2,15,1,0,0,0,0,0,5,10,0,0,0,7 +0,0,3,13,14,4,0,0,0,0,15,8,7,11,0,0,0,0,16,0,0,11,3,0,0,0,10,6,14,14,1,0,0,0,5,16,14,1,0,0,0,0,12,10,8,12,0,0,0,0,14,3,0,9,8,0,0,0,4,14,15,12,4,0,8 +0,0,0,1,7,14,14,0,0,0,3,15,7,1,14,0,0,2,16,10,5,14,8,0,0,4,15,16,12,16,5,0,0,0,5,3,1,15,0,0,0,0,0,0,4,12,0,0,0,0,0,0,7,10,0,0,0,0,0,0,7,12,0,0,9 +0,0,3,12,8,3,0,0,0,0,7,16,13,13,1,0,0,0,13,8,0,9,4,0,0,0,16,2,0,6,6,0,0,4,12,0,0,10,3,0,0,3,12,0,0,13,2,0,0,0,12,4,12,10,0,0,0,0,5,16,13,2,0,0,0 +0,0,0,0,8,14,10,0,0,0,0,9,7,9,12,0,0,0,9,8,0,12,9,0,0,4,16,8,12,16,2,0,0,5,16,16,10,15,0,0,0,0,4,0,5,11,0,0,0,0,0,0,8,9,0,0,0,0,0,0,10,10,0,0,9 +0,0,2,15,15,16,11,0,0,0,8,16,11,3,0,0,0,0,13,9,0,0,0,0,0,5,16,3,9,11,3,0,0,10,15,15,16,16,11,0,0,6,16,10,7,16,5,0,0,0,3,4,15,8,0,0,0,0,4,15,7,0,0,0,5 +0,0,13,16,16,16,8,0,0,2,16,13,8,4,1,0,0,7,16,1,0,0,0,0,0,11,15,12,5,0,0,0,0,5,16,16,16,3,0,0,0,0,0,6,16,2,0,0,0,0,3,15,9,0,0,0,0,0,11,14,0,0,0,0,5 +0,0,4,15,4,0,0,0,0,0,9,16,2,0,0,0,0,0,16,10,0,0,0,0,0,6,16,3,0,0,0,0,0,10,15,11,16,13,4,0,0,7,16,16,11,14,14,0,0,2,16,11,5,15,12,0,0,0,3,16,16,14,3,0,6 +0,0,15,12,11,6,2,0,0,4,16,15,12,12,10,0,0,7,14,1,0,0,0,0,0,10,12,3,1,0,0,0,0,8,16,16,14,2,0,0,0,1,8,8,16,8,0,0,0,0,1,11,15,2,0,0,0,0,13,16,6,0,0,0,5 +0,0,5,16,12,2,0,0,0,0,13,14,15,11,0,0,0,6,15,1,2,16,4,0,0,6,14,0,0,9,8,0,0,8,10,0,0,13,8,0,0,4,13,0,1,14,8,0,0,0,14,14,15,15,3,0,0,0,5,12,13,8,0,0,0 +0,0,0,1,12,16,14,0,0,0,3,14,13,15,13,0,0,4,16,15,13,16,4,0,0,3,16,16,16,16,3,0,0,0,7,7,14,14,0,0,0,0,0,0,12,11,0,0,0,0,0,0,13,10,0,0,0,0,0,0,13,12,0,0,9 +0,0,6,14,13,4,0,0,0,4,16,11,10,15,0,0,0,9,11,0,12,11,0,0,0,7,11,8,16,3,0,0,0,0,13,16,10,0,0,0,0,0,13,13,12,9,0,0,0,0,12,8,0,15,1,0,0,0,5,16,16,11,0,0,8 +0,0,0,0,8,15,9,0,0,0,1,12,8,2,11,0,0,0,10,11,0,11,8,0,0,5,16,14,15,15,3,0,0,2,12,10,4,14,0,0,0,0,0,0,6,9,0,0,0,0,0,0,9,6,0,0,0,0,0,0,9,6,0,0,9 +0,0,4,12,16,6,0,0,0,4,16,10,5,16,4,0,0,8,13,0,5,15,5,0,0,6,12,7,15,3,0,0,0,0,12,16,12,1,0,0,0,0,11,10,9,11,0,0,0,0,12,6,0,13,3,0,0,0,6,13,13,8,0,0,8 +0,0,0,4,15,11,0,0,0,0,2,15,16,13,0,0,0,0,13,13,11,10,0,0,0,7,14,3,14,12,6,0,0,8,16,16,16,15,8,0,0,1,8,9,16,4,0,0,0,0,0,3,16,0,0,0,0,0,0,3,14,0,0,0,4 +0,0,0,14,16,15,11,0,0,0,2,16,16,16,10,0,0,0,4,16,16,16,4,0,0,0,12,16,16,12,0,0,0,0,12,16,16,6,0,0,0,0,14,16,16,6,0,0,0,0,11,16,15,2,0,0,0,0,1,15,15,1,0,0,1 +0,0,0,4,13,16,15,2,0,0,2,15,13,13,16,6,0,0,7,7,0,3,16,4,0,0,0,4,4,8,14,0,0,0,14,16,16,16,6,0,0,0,11,9,10,12,0,0,0,0,0,0,13,3,0,0,0,0,0,4,10,0,0,0,7 +0,0,0,3,9,16,16,2,0,0,4,16,13,11,16,1,0,0,3,5,0,6,13,0,0,0,0,2,7,14,9,0,0,0,4,16,16,15,3,0,0,0,9,8,11,12,0,0,0,0,0,0,12,4,0,0,0,0,0,2,15,1,0,0,7 +0,0,1,9,15,15,1,0,0,0,13,14,8,12,4,0,0,5,11,1,2,13,1,0,0,1,4,0,11,6,0,0,0,0,0,0,15,14,1,0,0,0,0,0,3,13,6,0,0,0,0,4,10,16,2,0,0,0,0,12,13,4,0,0,3 +0,0,8,12,16,16,9,0,0,4,16,16,13,9,2,0,0,11,14,4,0,0,0,0,0,7,15,10,1,0,0,0,0,0,12,16,13,1,0,0,0,0,0,4,16,4,0,0,0,0,5,10,16,3,0,0,0,0,9,16,10,0,0,0,5 +0,0,1,10,15,11,7,0,0,0,5,16,16,16,11,0,0,0,6,16,16,16,6,0,0,0,12,16,16,12,0,0,0,2,16,16,16,6,0,0,0,2,12,16,12,0,0,0,0,0,9,16,16,7,0,0,0,0,3,12,16,2,0,0,1 +0,0,1,13,12,1,0,0,0,0,9,16,16,12,0,0,0,0,14,6,0,13,3,0,0,6,10,0,0,10,6,0,0,7,13,0,0,9,8,0,0,3,16,1,3,14,7,0,0,0,11,16,16,16,1,0,0,0,0,11,16,6,0,0,0 +0,0,4,16,16,4,0,0,0,0,10,15,12,14,0,0,0,2,11,0,0,9,6,0,0,5,6,0,0,4,5,0,0,4,9,0,0,7,4,0,0,4,10,0,2,14,0,0,0,0,14,15,16,8,0,0,0,0,4,13,10,0,0,0,0 +0,0,6,16,16,7,0,0,0,8,16,13,10,16,0,0,0,6,9,0,6,15,0,0,0,0,0,0,13,9,0,0,0,0,0,6,16,1,0,0,0,0,1,15,8,3,5,0,0,0,8,16,11,16,9,0,0,0,5,16,16,7,0,0,2 +0,0,6,15,15,3,0,0,0,5,16,13,15,8,0,0,0,8,13,0,13,8,0,0,0,0,0,3,16,3,0,0,0,0,0,11,12,0,0,0,0,0,3,16,5,9,8,0,0,0,8,15,15,15,3,0,0,0,5,16,12,1,0,0,2 +0,0,1,11,16,16,7,0,0,0,7,13,8,16,5,0,0,0,0,1,1,16,4,0,0,0,2,7,13,16,15,0,0,1,15,16,16,12,3,0,0,1,8,4,16,2,0,0,0,0,0,9,11,0,0,0,0,0,1,14,4,0,0,0,7 +0,0,2,12,16,10,0,0,0,3,15,10,7,16,4,0,0,9,8,0,11,10,0,0,0,3,15,11,14,1,0,0,0,0,10,16,9,0,0,0,0,0,14,7,13,4,0,0,0,0,9,7,6,10,0,0,0,0,1,12,16,5,0,0,8 +0,0,3,12,16,16,3,0,0,2,16,16,11,16,4,0,0,8,14,2,10,16,1,0,0,5,5,3,16,4,0,0,0,0,0,11,12,0,0,0,0,0,3,16,5,2,3,0,0,0,3,16,12,15,6,0,0,0,0,15,16,8,0,0,2 +0,0,0,9,15,6,0,0,0,0,5,15,16,15,0,0,0,0,15,15,4,16,3,0,0,2,14,5,0,12,8,0,0,6,13,0,1,14,6,0,0,1,10,14,15,16,3,0,0,0,3,16,16,14,1,0,0,0,0,9,13,5,0,0,0 +0,0,3,8,11,11,1,0,0,0,3,16,16,12,0,0,0,0,2,15,16,12,0,0,0,0,0,16,16,7,0,0,0,0,1,15,16,10,0,0,0,0,1,16,16,6,0,0,0,0,3,16,16,5,0,0,0,0,2,15,16,6,0,0,1 +0,0,1,13,16,10,0,0,0,1,13,15,8,16,3,0,0,8,15,3,4,15,0,0,0,1,3,0,12,8,0,0,0,0,0,4,14,1,0,0,0,0,0,11,8,0,4,0,0,0,1,16,8,13,9,0,0,0,0,14,16,11,0,0,2 +0,0,2,14,1,0,0,0,0,0,8,12,0,0,0,0,0,0,12,5,0,0,0,0,0,2,14,0,0,0,0,0,0,0,10,0,6,7,2,0,0,4,12,13,15,14,12,0,0,0,13,12,2,11,14,0,0,0,3,13,16,13,1,0,6 +0,0,6,14,16,16,2,0,0,5,16,13,11,16,0,0,0,0,7,2,15,12,0,0,0,0,0,7,16,13,1,0,0,0,0,0,6,15,10,0,0,0,0,0,0,15,9,0,0,0,3,11,8,16,6,0,0,0,7,16,16,8,0,0,3 +0,1,7,13,16,11,0,0,0,11,16,13,15,16,0,0,0,3,8,2,16,9,0,0,0,0,0,8,16,4,0,0,0,0,0,5,16,16,5,0,0,0,0,0,3,14,11,0,0,0,3,8,14,16,8,0,0,0,7,16,12,7,0,0,3 +0,0,1,6,12,16,9,0,0,0,10,15,10,13,9,0,0,0,2,1,0,14,2,0,0,0,0,6,12,16,15,0,0,0,5,16,16,14,7,0,0,0,3,6,15,0,0,0,0,0,0,7,9,0,0,0,0,0,0,11,2,0,0,0,7 +0,0,4,13,16,11,0,0,0,9,16,9,10,15,0,0,0,5,4,0,12,11,0,0,0,0,0,5,16,12,1,0,0,0,0,1,9,15,8,0,0,0,0,0,0,8,12,0,0,0,1,6,8,16,8,0,0,0,5,16,15,9,1,0,3 +0,1,11,15,16,9,0,0,0,3,16,10,10,16,1,0,0,0,2,1,14,11,0,0,0,0,0,14,16,7,0,0,0,0,0,13,16,16,5,0,0,0,0,0,2,16,8,0,0,0,6,8,13,15,5,0,0,0,15,16,12,5,0,0,3 +0,0,0,6,15,1,0,0,0,0,3,16,9,15,3,0,0,1,15,7,5,15,0,0,0,9,16,4,11,14,10,0,0,9,16,16,16,16,9,0,0,0,2,4,16,2,0,0,0,0,0,6,14,0,0,0,0,0,0,7,10,0,0,0,4 +0,0,2,14,1,0,0,0,0,0,11,12,1,0,0,0,0,1,15,4,0,0,0,0,0,5,13,0,0,0,0,0,0,7,12,12,16,13,2,0,0,4,16,12,6,6,11,0,0,0,14,9,0,5,13,0,0,0,3,11,15,14,1,0,6 +0,0,1,10,0,0,0,0,0,0,4,15,0,0,0,0,0,0,10,11,0,0,0,0,0,0,13,9,3,2,0,0,0,0,13,16,16,15,4,0,0,0,13,13,6,4,12,0,0,0,9,11,5,9,15,2,0,0,2,12,16,12,6,0,6 +0,0,9,7,0,0,0,0,0,0,9,11,0,0,0,0,0,0,15,4,0,0,0,0,0,2,16,1,0,0,0,0,0,5,16,8,14,9,0,0,0,5,16,15,8,9,10,0,0,3,16,2,0,7,11,0,0,0,7,14,16,12,1,0,6 +0,0,0,1,11,7,0,0,0,0,0,11,16,5,0,0,0,0,9,15,15,7,0,0,0,5,16,3,16,4,0,0,0,10,13,9,16,14,8,0,0,3,15,16,16,13,6,0,0,0,0,0,16,3,0,0,0,0,0,0,14,2,0,0,4 +0,0,0,1,7,12,14,1,0,0,1,13,8,4,13,0,0,0,10,16,9,15,11,0,0,1,16,15,15,16,3,0,0,0,11,9,3,14,0,0,0,0,0,0,5,9,0,0,0,0,0,0,7,8,0,0,0,0,0,0,8,6,0,0,9 +0,0,0,10,12,8,1,0,0,0,5,16,16,16,0,0,0,0,10,16,16,9,0,0,0,2,15,16,13,2,0,0,0,4,16,16,8,0,0,0,0,1,15,16,7,0,0,0,0,0,9,16,11,1,0,0,0,0,0,6,12,6,0,0,1 +0,0,6,16,16,16,10,0,0,0,13,15,9,6,0,0,0,6,16,4,0,0,0,0,0,12,15,4,2,0,0,0,0,8,16,16,16,15,1,0,0,0,6,8,9,16,4,0,0,0,1,3,13,15,1,0,0,0,7,16,15,3,0,0,5 +0,0,0,9,13,3,0,0,0,0,8,15,12,15,2,0,0,0,12,8,0,15,4,0,0,3,13,0,0,10,7,0,0,8,9,0,0,13,7,0,0,2,16,4,7,16,5,0,0,0,14,14,16,15,1,0,0,0,1,12,14,4,0,0,0 +0,0,0,0,8,13,3,0,0,0,0,12,11,11,5,0,0,0,11,8,8,16,0,0,0,2,16,16,16,15,0,0,0,2,16,11,7,10,0,0,0,0,0,0,8,7,0,0,0,0,0,0,10,8,0,0,0,0,0,0,9,7,0,0,9 +0,0,2,16,15,15,8,0,0,0,7,16,15,12,7,0,0,3,15,8,1,0,0,0,0,9,15,4,4,2,0,0,0,5,16,16,16,15,2,0,0,0,5,6,8,16,3,0,0,0,0,1,14,10,0,0,0,0,2,16,13,1,0,0,5 +0,0,9,16,16,9,0,0,0,5,16,14,15,16,1,0,0,2,11,1,10,15,0,0,0,0,0,1,15,8,0,0,0,0,0,8,15,1,0,0,0,0,6,16,7,8,7,0,0,0,9,16,15,14,2,0,0,0,9,16,13,1,0,0,2 +0,0,3,12,11,4,0,0,0,4,15,13,12,16,0,0,0,9,14,0,0,12,2,0,0,0,13,11,7,15,3,0,0,0,0,15,16,7,0,0,0,0,5,16,10,14,2,0,0,0,11,13,0,8,8,0,0,0,2,12,16,16,7,0,8 +0,0,4,14,16,5,0,0,0,4,16,16,16,8,0,0,0,10,15,9,16,4,0,0,0,1,2,13,14,0,0,0,0,0,2,16,6,0,0,0,0,0,7,16,0,5,7,0,0,0,8,16,13,16,6,0,0,0,2,15,16,6,0,0,2 +0,0,4,12,13,5,0,0,0,0,14,16,16,16,4,0,0,6,13,2,1,11,8,0,0,6,11,0,0,8,8,0,0,4,16,0,0,10,8,0,0,4,16,4,8,16,3,0,0,0,16,16,16,12,0,0,0,0,4,15,14,3,0,0,0 +0,0,3,11,7,1,0,0,0,0,10,15,14,14,0,0,0,2,16,10,1,12,4,0,0,2,16,3,0,4,8,0,0,5,12,0,0,6,8,0,0,1,12,0,0,11,9,0,0,0,15,9,14,15,1,0,0,0,4,15,15,4,0,0,0 +0,0,0,10,16,11,1,0,0,0,0,15,16,15,2,0,0,0,1,13,16,14,0,0,0,0,1,15,16,12,0,0,0,0,0,14,16,8,0,0,0,0,0,13,16,5,0,0,0,0,1,14,16,1,0,0,0,0,0,8,15,1,0,0,1 +0,0,0,7,14,16,5,0,0,0,7,16,12,16,8,0,0,0,4,2,1,16,4,0,0,0,3,12,12,16,8,0,0,0,12,16,16,15,5,0,0,0,5,5,13,6,0,0,0,0,0,2,14,0,0,0,0,0,0,9,8,0,0,0,7 +0,0,1,13,1,0,0,0,0,0,7,15,1,0,0,0,0,1,14,6,0,0,0,0,0,0,16,3,0,1,0,0,0,1,16,6,15,15,5,0,0,1,16,14,4,3,12,0,0,0,7,7,0,9,12,0,0,0,0,11,16,9,2,0,6 +0,1,5,12,16,14,2,0,0,8,16,16,16,16,3,0,0,6,9,2,12,12,0,0,0,0,0,5,16,8,0,0,0,0,0,1,13,16,9,0,0,0,0,0,1,14,10,0,0,0,1,11,15,15,5,0,0,0,6,16,12,5,0,0,3 +0,2,12,16,12,0,0,0,0,7,16,13,16,3,0,0,0,0,3,5,16,0,0,0,0,0,3,15,7,0,0,0,0,0,11,13,0,0,0,0,0,6,13,1,0,0,0,0,0,6,16,11,8,11,5,0,0,0,15,16,16,15,3,0,2 +0,0,5,15,13,12,4,0,0,0,11,16,16,14,0,0,0,0,16,16,16,8,0,0,0,4,16,16,15,3,0,0,0,2,16,16,8,0,0,0,0,0,16,15,3,0,0,0,0,0,10,16,4,0,0,0,0,0,8,15,3,0,0,0,1 +0,0,0,6,13,16,16,9,0,0,6,16,14,11,16,10,0,0,2,3,0,4,15,4,0,0,2,9,12,16,13,0,0,2,15,16,16,16,3,0,0,4,9,3,10,10,0,0,0,0,0,1,16,2,0,0,0,0,0,7,9,0,0,0,7 +0,0,0,2,14,2,0,0,0,0,1,13,15,6,0,0,0,0,12,15,12,11,0,0,0,5,16,4,15,6,0,0,0,12,15,8,16,16,11,0,0,6,16,16,16,8,2,0,0,0,2,6,16,0,0,0,0,0,0,2,14,0,0,0,4 +0,0,0,8,3,0,0,0,0,0,2,16,8,0,0,0,0,0,9,15,1,0,0,0,0,0,12,10,0,0,0,0,0,0,14,7,0,0,0,0,0,0,10,15,16,16,14,1,0,0,4,16,1,4,15,6,0,0,0,5,14,15,10,0,6 +0,0,6,9,11,9,0,0,0,13,16,15,15,15,0,0,0,4,5,2,15,6,0,0,0,0,0,3,15,6,0,0,0,0,0,0,6,15,6,0,0,0,0,0,0,5,12,0,0,0,0,5,13,16,9,0,0,0,3,13,12,7,1,0,3 +0,1,11,16,15,12,3,0,0,1,13,16,16,12,0,0,0,2,16,16,16,8,0,0,0,0,16,16,16,2,0,0,0,8,16,16,14,0,0,0,0,7,16,16,9,0,0,0,0,1,13,16,13,1,0,0,0,0,8,16,12,0,0,0,1 +0,0,7,15,12,0,0,0,0,3,15,8,14,2,0,0,0,0,5,2,11,0,0,0,0,0,1,11,8,2,0,0,0,0,8,16,16,15,4,0,0,0,1,4,2,12,6,0,0,0,2,4,13,12,0,0,0,0,5,13,9,1,0,0,3 +0,0,0,0,5,15,10,0,0,0,0,8,11,15,7,0,0,0,6,13,10,16,7,0,0,3,16,14,12,15,4,0,0,1,11,8,1,14,2,0,0,0,0,0,3,13,0,0,0,0,0,0,6,10,0,0,0,0,0,0,9,4,0,0,9 +0,0,5,12,12,8,1,0,0,0,10,16,16,15,0,0,0,0,11,16,16,8,0,0,0,4,16,16,16,4,0,0,0,3,16,16,10,0,0,0,0,0,13,16,16,3,0,0,0,0,13,16,16,0,0,0,0,0,2,10,12,0,0,0,1 +0,0,0,7,14,16,6,0,0,0,10,16,12,15,9,0,0,0,8,3,2,16,7,0,0,0,1,8,13,16,14,0,0,2,13,16,16,12,1,0,0,6,12,6,16,3,0,0,0,0,0,5,13,0,0,0,0,0,0,9,6,0,0,0,7 +0,0,3,11,0,0,0,0,0,0,9,13,0,0,0,0,0,0,15,4,0,0,0,0,0,2,15,0,1,0,0,0,0,4,15,14,16,13,2,0,0,3,16,11,3,7,12,0,0,0,13,6,3,8,14,0,0,0,4,14,16,14,7,0,6 +0,0,4,14,14,0,0,0,0,5,16,16,16,5,1,0,0,9,13,0,13,16,2,0,0,3,16,13,15,5,0,0,0,0,7,16,13,0,0,0,0,0,10,13,14,7,0,0,0,0,10,11,10,15,0,0,0,0,4,13,11,3,0,0,8 +0,0,0,12,8,0,0,0,0,0,6,16,3,12,4,0,0,1,16,5,8,14,0,0,0,9,15,0,13,10,2,0,0,10,15,12,16,16,9,0,0,6,16,16,15,9,1,0,0,0,0,14,5,0,0,0,0,0,0,15,0,0,0,0,4 +0,0,6,14,11,0,0,0,0,3,16,9,16,0,0,0,0,3,7,5,12,0,0,0,0,0,1,14,8,2,0,0,0,0,2,16,16,16,4,0,0,0,0,0,0,11,8,0,0,0,0,4,10,15,2,0,0,0,5,16,12,4,0,0,3 +0,0,0,4,11,9,5,0,0,0,5,16,16,16,5,0,0,0,11,16,16,9,0,0,0,4,16,16,16,4,0,0,0,1,14,16,9,0,0,0,0,4,15,16,6,0,0,0,0,0,9,16,8,0,0,0,0,0,0,7,5,0,0,0,1 +0,0,1,14,8,8,1,0,0,0,10,13,8,16,1,0,0,2,16,4,10,11,0,0,0,7,15,6,14,16,13,0,0,3,16,16,15,9,2,0,0,0,3,11,9,0,0,0,0,0,0,12,4,0,0,0,0,0,0,12,0,0,0,0,4 +0,0,2,10,15,1,0,0,0,3,16,16,13,13,0,0,0,5,16,12,1,12,1,0,0,7,13,5,0,7,5,0,0,2,14,0,0,7,10,0,0,0,12,2,0,12,7,0,0,0,9,12,12,16,4,0,0,0,0,10,16,6,0,0,0 +0,0,10,16,16,13,0,0,0,4,16,15,12,4,0,0,0,8,16,4,0,0,0,0,0,4,16,11,6,1,0,0,0,0,8,16,16,13,2,0,0,0,0,1,7,14,12,0,0,0,0,6,13,16,10,0,0,0,12,16,14,6,0,0,5 +0,1,10,16,16,8,0,0,0,10,16,13,16,12,0,0,0,1,3,3,16,9,0,0,0,0,0,13,14,1,0,0,0,0,2,16,16,12,3,0,0,0,0,5,11,16,11,0,0,0,2,7,14,16,6,0,0,0,11,16,13,5,0,0,3 +0,0,0,6,11,0,0,0,0,0,0,15,10,0,0,0,0,0,7,15,2,0,0,0,0,0,16,6,0,0,0,0,0,3,16,7,5,5,0,0,0,2,16,13,9,13,11,0,0,0,8,13,7,5,15,3,0,0,0,5,11,13,12,2,6 +0,0,0,0,5,11,14,1,0,0,0,10,13,8,15,2,0,0,11,9,4,9,12,0,0,5,16,16,16,16,6,0,0,0,15,16,13,16,3,0,0,0,2,3,1,15,0,0,0,0,0,0,5,5,0,0,0,0,0,0,6,0,0,0,9 +0,0,0,5,11,0,0,0,0,0,1,14,9,0,0,0,0,0,4,14,1,0,0,0,0,0,10,8,0,0,0,0,0,0,13,8,4,6,2,0,0,0,11,16,13,12,13,0,0,0,12,14,4,5,16,2,0,0,1,8,16,13,9,1,6 +0,0,2,12,12,8,1,0,0,0,2,15,16,16,8,0,0,0,5,16,16,14,3,0,0,0,8,16,16,10,0,0,0,3,15,16,13,0,0,0,0,2,14,16,9,0,0,0,0,0,11,16,9,0,0,0,0,0,1,9,5,0,0,0,1 +0,0,1,9,15,12,5,0,0,0,8,16,16,16,13,0,0,0,3,1,1,14,10,0,0,0,3,10,13,16,15,0,0,2,16,16,16,15,3,0,0,3,8,2,13,6,0,0,0,0,0,5,13,0,0,0,0,0,0,11,5,0,0,0,7 +0,0,11,16,16,16,16,2,0,5,16,16,14,10,4,0,0,5,16,5,0,0,0,0,0,1,15,10,0,0,0,0,0,0,6,16,8,0,0,0,0,0,0,9,14,0,0,0,0,0,0,5,16,3,0,0,0,0,10,16,13,1,0,0,5 +0,0,0,9,13,0,0,0,0,0,3,15,6,12,0,0,0,1,12,8,5,14,0,0,0,6,14,0,12,7,0,0,0,14,6,2,16,9,5,0,0,16,13,13,16,15,4,0,1,15,16,16,12,2,0,0,0,3,3,13,4,0,0,0,4 +0,0,0,10,6,0,10,14,0,0,7,15,2,7,14,1,0,0,15,9,1,15,12,2,0,4,16,10,11,16,12,1,0,2,16,16,16,9,0,0,0,0,5,12,10,0,0,0,0,0,0,13,5,0,0,0,0,0,0,15,3,0,0,0,4 +0,0,0,8,14,15,7,0,0,0,4,16,12,15,14,0,0,0,1,1,0,11,12,0,0,0,2,4,6,14,15,0,0,4,16,16,16,16,5,0,0,8,12,7,14,12,0,0,0,0,0,4,16,3,0,0,0,0,0,11,7,0,0,0,7 +0,0,7,15,15,5,0,0,0,6,16,12,16,12,0,0,0,1,7,0,16,10,0,0,0,0,0,10,15,0,0,0,0,0,1,16,7,0,0,0,0,0,10,13,1,5,1,0,0,0,12,12,13,15,3,0,0,0,10,16,13,3,0,0,2 +0,0,0,8,15,9,1,0,0,0,11,14,12,15,8,0,0,0,15,5,6,14,2,0,0,0,14,14,15,1,0,0,0,1,13,16,6,0,0,0,0,6,16,9,13,0,0,0,0,2,13,15,16,4,0,0,0,0,1,9,15,2,0,0,8 +0,0,9,16,16,8,0,0,0,5,16,15,14,16,0,0,0,4,9,3,13,12,0,0,0,0,0,8,15,1,0,0,0,0,2,16,7,0,0,0,0,0,11,14,1,4,3,0,0,0,16,14,15,16,4,0,0,0,9,16,15,5,0,0,2 +0,1,8,16,16,3,0,0,0,6,16,12,16,4,0,0,0,1,7,0,16,4,0,0,0,0,0,7,15,0,0,0,0,0,0,14,9,0,0,0,0,0,10,14,1,4,5,0,0,0,13,12,11,15,3,0,0,0,12,16,12,3,0,0,2 +0,0,8,14,16,16,1,0,0,6,16,16,8,3,0,0,0,14,14,1,0,0,0,0,0,10,15,4,0,0,0,0,0,3,15,16,6,0,0,0,0,0,1,8,15,2,0,0,0,0,2,13,15,0,0,0,0,0,10,16,4,0,0,0,5 +0,0,4,15,16,11,0,0,0,0,7,9,9,16,0,0,0,0,0,0,4,13,0,0,0,0,1,9,15,16,10,0,0,0,13,15,16,8,2,0,0,0,3,7,13,0,0,0,0,0,1,13,4,0,0,0,0,0,6,11,0,0,0,0,7 +0,0,0,1,8,13,14,2,0,0,2,13,9,4,14,4,0,0,13,9,0,9,14,1,0,4,16,14,14,16,6,0,0,1,11,10,7,14,0,0,0,0,0,0,8,8,0,0,0,0,0,0,11,5,0,0,0,0,0,0,11,3,0,0,9 +0,3,10,16,16,16,2,0,0,14,16,14,9,3,0,0,0,16,12,0,0,0,0,0,0,12,14,0,0,0,0,0,0,6,16,3,0,0,0,0,0,0,9,16,3,0,0,0,0,0,4,14,13,0,0,0,0,2,15,16,8,0,0,0,5 +0,0,0,5,11,0,6,0,0,0,3,15,7,6,16,1,0,0,13,9,1,13,7,0,0,6,15,2,6,15,0,0,0,14,10,0,14,12,3,0,0,14,16,16,16,14,3,0,0,5,11,14,13,2,0,0,0,0,0,7,9,0,0,0,4 +0,0,4,12,16,8,0,0,0,5,16,11,10,16,4,0,0,8,13,0,1,13,4,0,0,3,16,13,15,13,3,0,0,0,9,16,16,7,0,0,0,0,14,7,5,15,6,0,0,0,10,12,7,13,10,0,0,0,3,13,13,10,1,0,8 +0,0,4,15,7,0,0,0,0,1,13,12,16,2,2,0,0,7,11,0,11,12,1,0,0,4,8,6,13,3,0,0,0,3,16,15,1,0,0,0,0,2,16,14,6,0,0,0,0,3,16,10,14,3,0,0,0,0,2,9,12,3,0,0,8 +0,0,0,11,5,3,11,0,0,0,7,14,2,12,9,0,0,2,15,6,3,16,5,0,0,7,16,8,13,16,13,0,0,7,16,16,16,7,1,0,0,0,4,10,13,0,0,0,0,0,0,12,6,0,0,0,0,0,0,12,0,0,0,0,4 +0,0,0,1,9,16,9,0,0,0,1,11,13,14,12,1,0,1,15,13,4,16,16,3,0,2,16,16,16,15,12,0,0,0,7,8,4,14,5,0,0,0,0,0,5,14,0,0,0,0,0,0,8,9,0,0,0,0,0,0,12,6,0,0,9 +0,0,2,12,15,3,0,0,0,0,15,15,13,15,0,0,0,2,14,3,1,12,3,0,0,4,8,0,0,8,8,0,0,7,10,0,0,9,5,0,0,1,13,5,3,15,2,0,0,0,7,16,14,15,0,0,0,0,0,10,14,4,0,0,0 +0,0,3,13,15,5,0,0,0,1,15,13,10,15,0,0,0,2,16,3,2,9,0,0,0,0,12,13,14,7,0,0,0,0,10,16,9,0,0,0,0,1,16,4,9,11,1,0,0,0,15,3,0,8,8,0,0,0,3,12,15,12,7,0,8 +0,0,0,3,12,16,15,1,0,0,3,16,9,10,16,0,0,0,14,13,7,15,10,0,0,2,16,16,16,16,2,0,0,2,12,9,13,8,0,0,0,0,0,0,15,5,0,0,0,0,0,3,16,1,0,0,0,0,0,3,14,1,0,0,9 +0,0,4,11,15,7,0,0,0,2,15,14,9,15,1,0,0,8,15,1,6,16,5,0,0,6,14,13,15,6,0,0,0,1,16,16,6,0,0,0,0,4,15,11,15,1,0,0,0,1,12,3,7,9,0,0,0,0,4,14,16,6,0,0,8 +0,0,7,11,15,9,0,0,0,0,15,15,4,11,4,0,0,3,11,5,0,2,10,0,0,7,8,0,0,3,8,0,0,6,8,0,0,4,8,0,0,5,8,0,0,8,5,0,0,1,12,2,1,13,0,0,0,0,5,16,14,3,0,0,0 +0,0,4,14,11,0,0,0,0,0,2,16,16,3,0,0,0,0,0,14,16,5,0,0,0,0,0,16,16,3,0,0,0,0,1,15,16,2,0,0,0,0,2,15,13,0,0,0,0,0,4,16,11,0,0,0,0,0,5,16,14,1,0,0,1 +0,2,15,16,12,0,0,0,0,8,11,8,16,0,0,0,0,3,1,7,13,0,0,0,0,0,0,10,8,0,0,0,0,0,0,15,5,0,0,0,0,0,7,15,0,0,0,0,0,0,14,11,6,5,2,0,0,1,16,16,16,16,9,0,2 +0,1,13,16,12,1,0,0,0,1,9,5,16,1,0,0,0,0,0,9,5,0,0,0,0,0,9,10,0,0,0,0,0,0,8,15,16,11,1,0,0,0,0,0,2,12,7,0,0,0,2,4,6,15,3,0,0,0,14,16,11,5,0,0,3 +0,0,0,12,12,0,0,0,0,0,5,16,4,0,0,0,0,1,14,11,0,0,0,0,0,6,16,3,2,0,0,0,0,13,12,8,12,0,0,0,0,15,16,15,16,13,4,0,0,4,9,14,16,7,0,0,0,0,0,11,13,0,0,0,4 +0,2,13,16,16,16,15,2,0,8,16,12,8,4,1,0,0,5,16,13,1,0,0,0,0,0,8,16,8,0,0,0,0,0,0,10,16,0,0,0,0,0,0,9,16,0,0,0,0,0,3,13,12,0,0,0,0,2,16,16,6,0,0,0,5 +0,0,1,14,9,0,0,0,0,0,14,15,3,0,0,0,0,1,16,10,0,0,0,0,0,5,14,13,15,10,0,0,0,8,16,2,3,14,5,0,0,5,16,4,0,12,6,0,0,0,10,13,2,14,6,0,0,0,2,12,16,11,1,0,6 +0,0,5,15,16,14,1,0,0,0,11,13,9,16,5,0,0,0,0,0,5,16,2,0,0,0,0,0,9,11,0,0,0,0,7,13,15,12,1,0,0,0,7,14,14,12,4,0,0,0,0,14,3,0,0,0,0,0,7,10,0,0,0,0,7 +0,0,3,13,8,0,0,0,0,4,16,16,14,0,0,0,0,11,11,9,10,0,0,0,0,8,14,15,9,0,0,0,0,0,7,16,15,5,0,0,0,0,4,16,3,13,9,0,0,0,5,15,4,13,11,0,0,0,1,15,15,8,2,0,8 +0,0,5,11,13,3,0,0,0,0,16,13,15,9,0,0,0,4,16,0,13,13,0,0,0,1,11,16,15,15,3,0,0,0,0,0,0,12,7,0,0,0,0,0,0,6,12,0,0,0,6,4,2,9,11,0,0,0,6,13,16,16,6,0,9 +0,0,6,16,16,8,0,0,0,2,16,8,9,16,3,0,0,8,16,1,0,9,9,0,0,9,12,0,0,8,12,0,0,10,12,0,0,8,10,0,0,8,13,0,0,9,8,0,0,2,16,8,6,15,3,0,0,0,8,16,15,8,0,0,0 +0,0,4,12,13,3,0,0,0,0,7,14,16,9,0,0,0,0,0,12,16,8,0,0,0,0,0,6,16,6,0,0,0,0,0,9,16,6,0,0,0,0,0,12,16,3,0,0,0,0,0,13,16,3,0,0,0,0,0,15,16,11,0,0,1 +0,3,15,14,5,0,0,0,0,14,14,14,15,0,0,0,0,8,1,6,16,2,0,0,0,0,0,9,16,2,0,0,0,0,1,14,11,0,0,0,0,0,9,16,2,0,1,0,0,4,16,15,8,9,15,0,0,3,16,16,16,15,5,0,2 +0,1,12,16,13,2,0,0,0,5,14,6,13,12,0,0,0,0,0,3,15,7,0,0,0,0,2,16,8,0,0,0,0,0,1,12,16,11,1,0,0,0,0,0,5,15,7,0,0,0,6,0,4,14,7,0,0,0,16,16,15,8,1,0,3 +0,0,0,8,15,5,0,0,0,0,3,16,13,1,0,0,0,0,12,16,2,0,0,0,0,5,16,7,9,4,0,0,0,14,16,13,16,14,3,0,0,8,14,16,16,14,2,0,0,0,0,9,16,3,0,0,0,0,0,11,14,0,0,0,4 +0,1,8,16,16,16,10,0,0,8,16,14,8,5,1,0,0,9,16,2,0,0,0,0,0,2,16,15,2,0,0,0,0,0,3,15,4,0,0,0,0,1,3,12,4,0,0,0,0,5,14,15,4,0,0,0,0,1,13,12,0,0,0,0,5 +0,0,7,15,0,0,0,0,0,0,15,15,0,0,0,0,0,3,16,12,4,1,0,0,0,6,16,16,16,16,5,0,0,8,16,7,1,15,8,0,0,7,16,0,0,16,4,0,0,2,16,7,10,12,0,0,0,0,4,15,13,3,0,0,6 +0,0,7,16,16,5,0,0,0,1,15,11,14,11,0,0,0,0,0,0,12,8,0,0,0,0,3,8,14,12,5,0,0,0,14,16,16,10,5,0,0,0,2,8,14,0,0,0,0,0,1,15,8,0,0,0,0,0,8,14,1,0,0,0,7 +0,0,0,2,15,5,0,0,0,0,2,4,10,12,0,0,0,3,15,14,10,8,0,0,0,8,15,1,11,4,0,0,0,1,8,15,16,0,0,0,0,0,0,6,16,12,1,0,0,0,0,4,14,15,4,0,0,0,0,2,14,11,0,0,8 +0,0,1,5,12,13,0,0,0,0,11,13,15,16,1,0,0,2,14,0,10,12,4,0,0,5,13,12,3,12,0,0,0,0,5,6,0,12,4,0,0,0,0,0,0,15,2,0,0,0,4,5,0,16,3,0,0,0,0,4,14,13,0,0,9 +0,0,2,13,15,8,0,0,0,0,10,14,10,11,8,0,0,0,16,1,0,0,9,0,0,3,13,0,0,0,8,0,0,4,12,0,0,1,8,0,0,5,12,0,0,10,0,0,0,0,15,8,7,10,0,0,0,0,4,14,14,1,0,0,0 +0,0,1,11,15,8,0,0,0,0,0,15,16,8,0,0,0,0,0,13,16,10,0,0,0,0,0,16,16,6,0,0,0,0,2,16,16,6,0,0,0,0,5,16,16,5,0,0,0,0,5,16,15,1,0,0,0,0,2,15,15,3,0,0,1 +0,3,16,15,6,0,0,0,0,5,14,14,16,0,0,0,0,0,0,6,14,0,0,0,0,0,0,13,11,0,0,0,0,0,5,16,3,0,0,0,0,1,14,10,0,0,0,0,0,9,16,8,8,10,5,0,0,4,16,16,16,14,3,0,2 +0,2,11,14,10,1,0,0,0,6,12,8,15,10,0,0,0,0,0,0,10,11,0,0,0,0,0,8,14,2,0,0,0,0,0,7,16,15,1,0,0,0,0,0,2,13,8,0,0,2,5,1,2,12,7,0,0,1,12,16,16,10,0,0,3 +0,0,0,13,9,0,0,0,0,0,6,16,2,0,0,0,0,0,12,9,0,2,0,0,0,7,15,1,5,15,1,0,0,14,10,4,11,12,3,0,2,16,16,16,16,13,2,0,0,3,4,11,14,0,0,0,0,0,0,15,4,0,0,0,4 +0,2,12,13,16,16,4,0,0,11,16,13,7,4,1,0,0,13,14,0,0,0,0,0,0,1,15,12,0,0,0,0,0,0,6,16,3,0,0,0,0,0,0,13,7,0,0,0,0,3,5,16,7,0,0,0,0,3,13,15,0,0,0,0,5 +0,0,0,11,13,5,0,0,0,0,3,16,13,3,0,0,0,0,10,16,2,0,0,0,0,4,16,16,13,7,0,0,0,4,16,11,8,16,2,0,0,0,15,8,0,15,6,0,0,0,9,14,4,15,4,0,0,0,1,10,16,11,1,0,6 +0,0,8,16,16,11,0,0,0,0,4,8,13,14,0,0,0,0,0,0,13,8,0,0,0,0,3,12,16,8,2,0,0,0,6,16,16,16,9,0,0,0,0,14,8,2,0,0,0,0,3,16,1,0,0,0,0,0,11,12,0,0,0,0,7 +0,0,0,8,14,9,0,0,0,0,9,15,16,15,0,0,0,4,15,5,8,14,0,0,0,8,14,1,14,7,0,0,0,1,15,13,12,0,0,0,0,0,13,16,13,0,0,0,0,0,12,10,15,7,0,0,0,0,2,10,16,5,0,0,8 +0,0,2,10,16,6,0,0,0,0,10,16,16,14,0,0,0,0,15,10,16,16,2,0,0,0,12,16,12,13,8,0,0,0,1,7,1,10,11,0,0,5,5,0,0,8,12,0,0,3,15,10,2,11,12,0,0,0,3,10,16,16,10,0,9 +0,0,1,13,12,5,0,0,0,0,11,16,4,13,2,0,0,2,16,4,0,8,5,0,0,7,12,0,0,8,8,0,0,6,12,0,0,5,8,0,0,3,16,0,0,8,7,0,0,1,15,8,6,15,3,0,0,0,2,13,15,6,0,0,0 +0,0,2,10,10,11,0,0,0,0,10,9,9,16,0,0,0,0,14,0,6,15,0,0,0,0,11,14,9,16,1,0,0,0,0,0,0,13,3,0,0,0,0,0,0,12,3,0,0,10,9,5,0,15,1,0,0,0,2,14,16,13,0,0,9 +0,0,13,10,8,8,7,0,0,4,16,16,16,16,15,2,0,0,10,16,5,0,0,0,0,0,0,13,12,0,0,0,0,0,0,6,15,0,0,0,0,0,0,8,15,0,0,0,0,1,6,10,12,0,0,0,0,1,13,16,5,0,0,0,5 +0,0,6,15,16,15,11,0,0,1,15,14,8,8,7,0,0,4,16,5,0,0,0,0,0,7,16,8,0,0,0,0,0,1,11,16,8,0,0,0,0,0,0,15,11,0,0,0,0,0,0,14,11,0,0,0,0,0,9,16,5,0,0,0,5 +0,0,6,13,0,0,0,0,0,0,15,12,0,0,0,0,0,0,16,6,0,0,0,0,0,3,16,14,11,5,0,0,0,5,16,12,11,16,6,0,0,6,16,9,2,16,9,0,0,0,13,14,8,16,8,0,0,0,4,15,16,13,2,0,6 +0,1,12,16,16,16,12,0,0,9,16,13,6,8,5,0,0,8,16,15,3,0,0,0,0,0,4,14,11,0,0,0,0,0,0,12,12,0,0,0,0,0,0,12,13,0,0,0,0,0,3,15,11,0,0,0,0,0,12,13,2,0,0,0,5 +0,0,2,10,15,7,0,0,0,0,14,15,7,15,2,0,0,4,16,3,0,11,4,0,0,4,14,0,0,7,8,0,0,7,12,0,0,6,7,0,0,4,16,1,0,12,4,0,0,1,14,12,10,16,1,0,0,0,1,14,13,5,0,0,0 +0,0,3,4,10,0,0,0,0,3,15,8,14,3,0,0,0,8,7,0,10,6,0,0,0,3,11,8,15,11,0,0,0,0,1,7,3,13,3,0,0,0,0,0,0,6,9,0,0,0,9,6,1,0,16,0,0,0,0,3,11,16,16,3,9 +0,0,2,12,14,8,0,0,0,0,13,13,15,12,0,0,0,5,15,2,10,6,0,0,0,2,14,13,14,1,0,0,0,0,0,11,15,13,1,0,0,0,1,15,3,14,7,0,0,0,6,13,1,16,4,0,0,0,1,12,16,11,0,0,8 +0,0,3,14,16,9,0,0,0,0,13,10,6,16,7,0,0,5,16,3,2,14,6,0,0,0,10,16,16,16,4,0,0,0,0,0,0,12,5,0,0,0,0,0,0,13,4,0,0,3,11,2,5,15,0,0,0,0,4,12,16,10,0,0,9 +0,0,2,10,14,9,0,0,0,2,14,11,12,16,0,0,0,4,16,1,0,15,0,0,0,2,13,12,7,13,0,0,0,0,1,8,16,12,0,0,0,0,0,4,14,15,4,0,0,0,0,13,7,14,4,0,0,0,0,14,15,10,0,0,8 +0,0,0,3,15,5,0,0,0,0,1,15,11,0,0,0,0,0,10,15,2,3,0,0,0,5,16,4,6,16,1,0,0,10,15,4,9,16,2,0,0,12,16,16,16,13,2,0,0,1,4,7,16,4,0,0,0,0,0,4,15,0,0,0,4 +0,0,4,10,11,4,0,0,0,1,11,16,16,14,0,0,0,4,16,16,16,12,0,0,0,4,16,16,16,7,0,0,0,4,16,16,16,8,0,0,0,4,16,16,16,7,0,0,0,3,15,16,16,12,0,0,0,0,5,12,12,12,1,0,1 +0,0,13,16,15,2,0,0,0,5,14,5,15,7,0,0,0,0,2,0,12,7,0,0,0,0,5,9,16,7,0,0,0,0,8,16,16,16,10,0,0,0,2,16,3,0,0,0,0,0,8,13,0,0,0,0,0,0,15,7,0,0,0,0,7 +0,0,3,15,16,15,1,0,0,0,9,11,9,16,3,0,0,0,1,0,3,16,3,0,0,0,0,0,9,14,0,0,0,0,4,15,15,16,6,0,0,0,2,12,15,7,1,0,0,0,0,13,8,0,0,0,0,0,4,14,1,0,0,0,7 +0,1,11,16,13,4,0,0,0,1,15,7,14,14,1,0,0,0,0,0,6,15,1,0,0,0,1,10,15,6,0,0,0,0,5,15,14,7,0,0,0,0,1,0,5,16,3,0,0,5,11,1,1,16,4,0,0,0,10,15,16,10,1,0,3 +0,0,9,16,16,16,10,0,0,4,16,14,8,11,11,0,0,11,16,7,0,0,0,0,0,5,15,16,6,0,0,0,0,0,1,14,15,0,0,0,0,0,0,8,16,0,0,0,0,0,9,13,14,0,0,0,0,0,12,16,7,0,0,0,5 +0,0,5,14,12,5,0,0,0,0,13,16,16,9,0,0,0,0,11,16,16,9,0,0,0,0,11,16,16,7,0,0,0,0,10,16,16,2,0,0,0,0,13,16,15,0,0,0,0,0,14,16,13,0,0,0,0,0,7,13,16,8,0,0,1 +0,0,6,15,9,0,0,0,0,0,11,16,16,13,0,0,0,0,10,16,16,16,7,0,0,1,16,8,0,11,8,0,0,7,14,1,0,10,8,0,0,8,12,0,0,13,4,0,0,5,16,8,9,13,0,0,0,0,6,12,13,5,0,0,0 +0,0,2,13,15,7,1,0,0,0,7,16,15,16,10,0,0,0,14,16,10,10,10,0,0,2,16,3,0,8,8,0,0,5,13,0,0,9,8,0,0,6,13,0,0,12,3,0,0,2,16,6,9,10,0,0,0,0,3,14,14,1,0,0,0 +0,0,12,16,12,0,0,0,0,3,16,12,16,3,0,0,0,1,8,4,16,3,0,0,0,0,0,7,16,1,0,0,0,0,0,10,12,0,0,0,0,0,4,16,2,0,0,0,0,0,11,15,8,8,2,0,0,0,12,16,16,12,1,0,2 +0,3,15,15,2,0,0,0,0,7,16,16,6,0,0,0,0,1,9,16,6,0,0,0,0,0,6,16,1,0,0,0,0,0,10,12,0,0,0,0,0,3,15,8,0,0,0,0,0,8,16,13,15,15,5,0,0,4,16,16,16,13,3,0,2 +0,0,10,16,5,0,0,0,0,1,10,14,12,0,0,0,0,0,0,9,11,0,0,0,0,0,2,11,13,3,0,0,0,0,11,16,16,16,7,0,0,0,3,16,4,5,1,0,0,0,7,13,0,0,0,0,0,0,13,6,0,0,0,0,7 +0,0,0,9,13,10,1,0,0,0,9,12,4,15,5,0,0,0,16,4,0,12,4,0,0,3,15,9,3,14,1,0,0,0,2,9,16,10,0,0,0,0,0,4,14,15,2,0,0,0,0,10,8,14,3,0,0,0,0,10,16,12,0,0,8 +0,3,15,16,14,1,0,0,0,2,12,13,16,4,0,0,0,0,0,6,16,3,0,0,0,0,1,15,10,0,0,0,0,0,6,16,4,0,0,0,0,2,15,10,0,0,0,0,0,4,16,11,8,11,3,0,0,3,16,16,16,12,3,0,2 +0,0,7,15,14,8,0,0,0,1,15,7,5,14,5,0,0,0,15,8,0,10,7,0,0,3,16,6,0,12,8,0,0,5,16,2,0,12,8,0,0,4,16,3,1,16,4,0,0,5,16,10,14,12,0,0,0,0,8,15,15,2,0,0,0 +0,0,14,10,0,0,0,0,0,0,15,13,0,0,0,0,0,11,16,16,2,0,0,0,0,3,10,16,5,0,0,0,0,0,0,14,10,0,0,0,0,0,0,10,14,0,0,0,0,0,9,14,16,11,6,0,0,0,12,16,16,16,16,9,1 +0,1,12,16,5,0,0,0,0,7,15,14,11,0,0,0,0,8,13,10,12,0,0,0,0,0,1,12,12,0,0,0,0,0,0,14,9,0,0,0,0,0,4,16,8,4,0,0,0,0,13,16,16,16,9,0,0,2,16,13,11,9,3,0,2 +0,0,0,13,13,3,0,0,0,0,4,16,8,0,0,0,0,0,9,16,1,0,0,0,0,0,13,16,5,0,0,0,0,2,16,16,14,8,1,0,0,4,16,16,6,16,9,0,0,0,8,16,11,16,10,0,0,0,1,14,16,13,1,0,6 +0,1,8,14,15,2,0,0,0,2,13,9,14,8,0,0,0,0,0,0,12,9,0,0,0,0,2,13,13,0,0,0,0,0,3,15,16,6,0,0,0,1,1,0,12,14,0,0,0,5,13,5,6,16,1,0,0,1,9,12,13,9,0,0,3 +0,0,15,16,13,6,0,0,0,0,12,12,14,13,0,0,0,0,0,0,11,9,0,0,0,0,1,11,15,2,0,0,0,0,8,16,16,12,1,0,0,1,8,4,9,16,3,0,0,5,14,7,10,15,1,0,0,2,12,16,14,6,0,0,3 +0,0,10,16,16,8,0,0,0,0,5,8,13,13,0,0,0,0,0,0,9,13,0,0,0,0,0,2,13,12,0,0,0,0,2,15,16,16,7,0,0,0,0,13,13,5,1,0,0,0,1,14,5,0,0,0,0,0,9,13,1,0,0,0,7 +0,0,7,16,16,16,10,0,0,0,10,10,5,12,16,2,0,0,0,0,7,15,6,0,0,0,1,13,16,13,0,0,0,0,0,7,12,16,6,0,0,0,0,0,2,16,6,0,0,0,2,9,11,14,1,0,0,0,5,16,15,5,0,0,3 +0,0,8,16,16,16,3,0,0,0,6,8,8,15,10,0,0,0,0,0,7,16,5,0,0,0,1,10,16,9,0,0,0,0,0,15,16,12,0,0,0,0,0,1,13,16,5,0,0,0,7,8,11,16,2,0,0,0,6,16,16,11,0,0,3 +0,0,0,8,15,2,0,0,0,0,2,16,10,0,0,0,0,0,14,13,6,11,0,0,0,6,16,3,13,13,2,0,0,14,16,8,15,16,10,0,0,12,16,16,16,11,1,0,0,0,1,6,16,3,0,0,0,0,0,10,14,0,0,0,4 +0,0,0,8,13,2,0,0,0,0,9,16,13,3,0,0,0,1,15,14,1,0,0,0,0,2,16,11,4,1,0,0,0,3,16,16,14,15,2,0,0,2,16,13,1,16,9,0,0,0,9,15,9,16,7,0,0,0,0,8,16,13,2,0,6 +0,0,8,7,0,0,0,0,0,0,11,12,0,0,0,0,0,0,15,9,0,0,0,0,0,7,16,16,9,4,0,0,0,5,16,14,11,16,5,0,0,2,16,16,0,12,8,0,0,0,15,15,1,15,6,0,0,0,7,14,16,13,1,0,6 +0,0,1,13,3,0,0,0,0,0,7,14,2,0,0,0,0,0,13,13,8,5,0,0,0,2,15,15,12,15,5,0,0,7,16,4,0,12,8,0,0,2,15,7,0,12,6,0,0,0,5,15,5,15,5,0,0,0,0,13,16,9,0,0,6 +0,0,0,10,10,0,0,0,0,0,6,16,6,0,0,0,0,1,14,10,0,0,0,0,0,7,16,3,11,7,0,0,0,12,16,8,16,9,1,0,0,10,16,16,16,16,6,0,0,0,0,10,16,0,0,0,0,0,0,10,11,0,0,0,4 +0,0,1,7,13,10,0,0,0,2,13,14,14,16,4,0,0,4,16,5,12,16,2,0,0,0,6,11,12,16,5,0,0,0,0,0,0,15,8,0,0,1,1,0,0,13,11,0,0,0,12,8,4,13,8,0,0,0,0,7,15,16,10,0,9 +0,0,5,12,10,4,0,0,0,0,5,16,16,16,3,0,0,0,0,16,16,16,0,0,0,0,3,16,16,13,0,0,0,0,4,16,16,12,0,0,0,0,8,16,16,8,0,0,0,0,10,16,16,7,0,0,0,0,8,12,12,4,0,0,1 +0,0,7,13,8,6,0,0,0,0,16,15,16,14,10,0,0,4,16,13,1,0,0,0,0,1,10,16,9,0,0,0,0,0,0,5,13,0,0,0,0,0,0,5,15,0,0,0,0,0,8,11,8,0,0,0,0,0,9,16,3,0,0,0,5 +0,0,2,16,15,5,0,0,0,0,10,16,14,15,0,0,0,0,15,10,0,16,7,0,0,4,16,1,0,12,5,0,0,4,15,0,0,12,5,0,0,5,16,6,0,16,0,0,0,0,14,13,8,15,0,0,0,0,3,14,16,6,0,0,0 +0,0,7,13,4,1,0,0,0,1,15,13,15,11,0,0,0,7,16,1,13,16,4,0,0,3,16,12,16,16,7,0,0,0,4,11,5,16,8,0,0,0,0,0,2,16,5,0,0,0,12,6,9,14,1,0,0,0,6,13,16,5,0,0,9 +0,2,13,13,11,9,0,0,0,10,16,16,16,15,10,0,0,11,16,9,0,0,0,0,0,3,15,16,8,0,0,0,0,0,2,11,14,0,0,0,0,0,0,8,16,0,0,0,0,0,1,11,11,0,0,0,0,1,16,15,4,0,0,0,5 +0,5,16,15,5,0,0,0,0,2,12,15,16,0,0,0,0,0,0,14,14,2,0,0,0,0,2,16,9,0,0,0,0,0,11,16,2,0,0,0,0,4,16,8,0,0,0,0,0,13,16,11,8,8,3,0,0,6,16,16,16,16,7,0,2 +0,0,11,14,10,1,0,0,0,0,16,15,14,13,0,0,0,1,14,8,3,16,2,0,0,0,7,16,13,16,2,0,0,0,0,12,16,9,0,0,0,0,1,14,16,12,0,0,0,0,10,16,15,16,0,0,0,0,7,14,15,11,0,0,8 +0,4,16,15,1,0,0,0,0,6,14,16,4,0,0,0,0,0,0,16,8,0,0,0,0,0,3,16,6,0,0,0,0,0,6,16,1,0,0,0,0,0,13,11,0,0,0,0,0,3,16,16,12,10,5,0,0,3,16,16,16,16,8,0,2 +0,0,4,12,14,5,0,0,0,0,11,16,16,16,3,0,0,3,16,14,2,16,7,0,0,8,16,7,0,16,6,0,0,4,16,4,3,16,4,0,0,4,16,5,10,14,0,0,0,0,14,16,16,10,0,0,0,0,4,14,14,2,0,0,0 +0,0,9,9,4,0,0,0,0,0,15,15,14,12,0,0,0,3,10,1,0,12,5,0,0,5,8,0,0,8,6,0,0,8,8,0,0,8,8,0,0,5,8,0,0,10,6,0,0,4,13,4,6,13,0,0,0,0,6,16,14,3,0,0,0 +0,1,13,13,10,0,0,0,0,1,13,16,15,0,0,0,0,0,12,16,16,0,0,0,0,0,16,16,12,0,0,0,0,0,15,16,13,1,0,0,0,0,15,16,11,0,0,0,0,0,16,16,16,5,0,0,0,0,14,16,15,8,1,0,1 +0,0,2,15,15,4,0,0,0,0,11,10,14,9,0,0,0,0,1,0,11,9,0,0,0,0,0,3,15,4,0,0,0,0,1,16,16,14,6,0,0,0,0,8,13,6,1,0,0,0,0,9,7,0,0,0,0,0,1,15,2,0,0,0,7 +0,0,2,16,8,0,0,0,0,0,8,16,6,0,0,0,0,0,15,10,0,0,0,0,0,4,16,2,0,0,0,0,0,8,16,16,16,14,2,0,0,8,16,7,4,16,8,0,0,1,16,9,6,16,4,0,0,0,3,12,16,12,0,0,6 +0,0,6,12,16,10,0,0,0,4,15,8,12,14,0,0,0,0,0,0,13,8,0,0,0,0,0,6,14,1,0,0,0,0,0,5,15,8,0,0,0,0,0,0,2,15,5,0,0,0,1,4,5,15,8,0,0,0,5,16,14,9,1,0,3 +0,0,9,16,16,13,1,0,0,0,12,13,14,16,7,0,0,0,0,0,6,16,4,0,0,0,0,0,13,14,1,0,0,0,1,10,16,6,0,0,0,0,7,16,8,0,0,0,0,2,15,16,12,7,0,0,0,0,9,14,16,16,2,0,2 +0,0,2,14,15,4,0,0,0,0,2,16,16,11,0,0,0,0,2,16,16,10,0,0,0,0,5,16,16,7,0,0,0,0,14,16,14,2,0,0,0,4,16,16,8,0,0,0,0,3,15,16,8,0,0,0,0,0,5,15,13,2,0,0,1 +0,0,5,16,16,16,9,0,0,0,1,6,4,12,14,0,0,0,0,0,0,15,9,0,0,0,4,6,11,16,1,0,0,0,15,16,16,16,9,0,0,0,2,10,11,0,1,0,0,0,2,15,3,0,0,0,0,0,11,10,0,0,0,0,7 +0,0,0,1,15,4,0,0,0,0,1,13,14,1,0,0,0,0,9,15,5,7,7,0,0,4,16,6,1,16,8,0,0,14,15,0,6,16,2,0,0,11,16,13,14,16,4,0,0,0,5,8,15,14,1,0,0,0,0,0,15,12,0,0,4 +0,0,2,13,12,0,0,0,0,0,8,16,7,0,0,0,0,0,13,16,4,0,0,0,0,4,16,16,16,11,0,0,0,3,16,10,3,15,8,0,0,0,16,8,0,13,10,0,0,0,12,15,1,15,9,0,0,0,2,11,16,16,2,0,6 +0,1,11,14,9,1,0,0,0,3,16,8,16,4,0,0,0,0,0,3,16,3,0,0,0,0,1,14,13,0,0,0,0,0,0,7,14,10,0,0,0,0,0,0,3,16,4,0,0,1,3,1,8,16,4,0,0,3,10,16,16,8,0,0,3 +0,0,0,12,16,9,0,0,0,0,2,16,16,6,0,0,0,0,3,16,16,2,0,0,0,0,8,16,12,0,0,0,0,0,6,16,16,0,0,0,0,0,10,16,15,1,0,0,0,0,9,16,11,0,0,0,0,0,8,16,10,0,0,0,1 +0,0,10,16,16,4,0,0,0,0,9,8,13,10,0,0,0,0,0,4,15,6,0,0,0,0,0,13,16,7,0,0,0,0,0,5,13,16,1,0,0,0,0,0,0,16,4,0,0,0,7,3,5,16,2,0,0,0,11,16,16,10,0,0,3 +0,0,1,9,13,11,0,0,0,0,10,11,12,16,1,0,0,0,15,4,12,16,1,0,0,0,12,16,11,15,1,0,0,0,0,0,0,14,0,0,0,0,0,0,3,14,0,0,0,4,12,8,10,11,0,0,0,0,2,9,16,6,0,0,9 +0,0,4,16,15,7,0,0,0,0,6,16,16,6,0,0,0,0,5,16,16,4,0,0,0,0,7,16,15,0,0,0,0,0,11,16,14,0,0,0,0,0,6,16,14,0,0,0,0,0,6,16,16,5,0,0,0,0,2,12,16,3,0,0,1 +0,0,6,16,15,2,0,0,0,0,7,13,16,4,0,0,0,0,0,1,16,3,0,0,0,0,1,10,16,6,1,0,0,0,9,16,16,16,8,0,0,0,1,16,8,4,0,0,0,0,5,13,0,0,0,0,0,0,11,7,0,0,0,0,7 +0,0,0,11,7,0,0,0,0,0,8,15,7,0,0,0,0,0,13,8,0,0,0,0,0,0,16,14,8,1,0,0,0,5,16,10,10,14,1,0,0,2,15,3,0,12,7,0,0,0,10,13,1,10,11,0,0,0,0,10,16,15,5,0,6 +0,0,2,13,15,1,0,0,0,1,14,13,15,4,0,0,0,5,14,2,15,0,0,0,0,6,14,8,13,0,0,0,0,0,7,16,12,1,0,0,0,0,1,15,10,13,1,0,0,0,4,13,4,13,6,0,0,0,0,11,16,14,1,0,8 +0,0,0,6,14,0,0,0,0,0,4,16,6,0,0,0,0,0,14,10,1,2,0,0,0,6,16,4,12,10,0,0,0,14,11,0,16,8,0,0,4,16,16,16,16,10,0,0,1,11,12,12,16,5,0,0,0,0,0,8,16,4,0,0,4 +0,0,7,15,15,2,0,0,0,0,13,6,12,6,0,0,0,0,0,0,15,2,0,0,0,0,0,13,10,0,0,0,0,0,0,8,15,12,0,0,0,3,7,0,2,15,1,0,0,2,15,6,6,16,1,0,0,0,4,15,16,7,0,0,3 +0,0,4,14,11,3,0,0,0,0,1,15,16,6,0,0,0,0,0,16,16,9,0,0,0,0,1,14,16,3,0,0,0,0,6,16,16,2,0,0,0,0,8,16,15,0,0,0,0,0,7,16,11,0,0,0,0,0,6,15,14,4,0,0,1 +0,0,0,1,13,2,0,0,0,0,0,12,14,0,0,0,0,0,6,14,0,0,0,0,0,1,14,5,0,0,0,0,0,9,12,0,12,7,0,0,0,12,14,6,16,14,1,0,0,6,16,16,16,5,0,0,0,0,0,3,14,0,0,0,4 +0,0,7,13,8,4,0,0,0,1,15,11,9,15,2,0,0,4,16,6,0,8,7,0,0,4,10,0,0,7,8,0,0,4,10,0,0,8,8,0,0,5,12,0,0,12,5,0,0,3,15,5,9,14,2,0,0,0,8,14,12,3,0,0,0 +0,0,13,15,11,12,11,0,0,4,16,15,16,13,9,1,0,3,16,9,0,0,0,0,0,0,12,16,9,0,0,0,0,0,0,12,14,1,0,0,0,1,1,7,16,2,0,0,0,8,12,11,16,3,0,0,0,1,13,16,12,0,0,0,5 +0,0,6,12,13,12,0,0,0,0,14,12,7,16,1,0,0,0,6,6,14,9,0,0,0,0,0,14,11,1,0,0,0,0,0,5,16,5,0,0,0,0,0,0,6,14,1,0,0,0,10,8,3,16,1,0,0,0,4,14,16,12,0,0,3 +0,0,0,7,13,2,0,0,0,0,0,14,14,2,0,0,0,0,5,16,4,0,0,0,0,1,11,16,4,0,0,0,0,5,16,16,15,12,0,0,0,0,9,16,1,13,7,0,0,0,4,16,6,15,5,0,0,0,0,6,14,14,1,0,6 +0,0,2,14,13,8,0,0,0,0,12,13,12,13,0,0,0,0,11,6,6,16,4,0,0,0,5,16,15,16,8,0,0,0,0,2,4,11,8,0,0,0,0,0,0,11,9,0,0,2,13,7,1,11,10,0,0,0,2,10,15,16,2,0,9 +0,0,1,12,8,0,0,0,0,0,11,15,5,0,0,0,0,2,16,5,0,0,0,0,0,5,16,0,0,0,0,0,0,5,12,8,14,14,3,0,0,4,16,16,9,12,8,0,0,0,13,8,0,11,8,0,0,0,1,14,16,11,1,0,6 +0,0,1,8,10,8,3,0,0,0,1,16,16,16,8,0,0,0,0,14,16,16,3,0,0,0,1,16,16,15,0,0,0,0,6,16,16,10,0,0,0,0,10,16,15,4,0,0,0,0,8,16,14,0,0,0,0,0,1,8,8,1,0,0,1 +0,0,12,16,14,4,0,0,0,0,8,14,16,10,0,0,0,0,0,0,14,13,0,0,0,0,0,0,13,10,0,0,0,2,15,16,16,13,3,0,0,1,8,12,15,12,4,0,0,0,2,15,8,0,0,0,0,0,12,13,0,0,0,0,7 +0,1,15,16,16,16,5,0,0,7,16,16,12,9,1,0,0,13,16,3,0,0,0,0,0,5,16,11,0,0,0,0,0,0,10,16,6,0,0,0,0,0,1,15,11,0,0,0,0,1,4,14,12,0,0,0,0,3,15,16,6,0,0,0,5 +0,0,0,8,15,0,0,0,0,0,3,15,3,0,0,0,0,0,12,10,0,1,0,0,0,4,16,4,11,11,0,0,0,11,15,2,14,10,1,0,0,13,16,16,16,13,1,0,0,0,4,12,12,0,0,0,0,0,0,11,9,0,0,0,4 +0,0,0,5,15,4,0,0,0,0,1,15,11,0,0,0,0,0,12,14,2,0,0,0,0,5,16,7,7,10,0,0,0,12,16,16,16,12,0,0,0,11,12,14,16,14,1,0,0,0,0,0,16,9,0,0,0,0,0,4,16,6,0,0,4 +0,0,5,16,16,7,0,0,0,0,6,9,13,11,0,0,0,0,0,0,10,12,0,0,0,0,1,6,13,8,0,0,0,0,8,16,16,15,6,0,0,0,1,11,14,8,2,0,0,0,0,13,7,0,0,0,0,0,4,16,2,0,0,0,7 +0,5,16,12,1,0,0,0,0,5,14,15,8,0,0,0,0,0,0,14,10,0,0,0,0,0,2,16,7,0,0,0,0,0,7,16,3,0,0,0,0,2,14,10,0,0,0,0,0,11,16,9,8,8,3,0,0,8,16,16,16,16,4,0,2 +0,0,1,8,14,14,2,0,0,1,13,16,16,16,5,0,0,7,16,10,10,16,4,0,0,3,16,14,15,12,0,0,0,0,3,12,16,10,0,0,0,0,0,9,16,16,3,0,0,0,0,15,16,16,4,0,0,0,0,11,16,12,2,0,8 +0,0,4,12,16,16,4,0,0,0,9,7,4,14,12,0,0,0,0,0,0,11,14,0,0,0,0,0,3,16,6,0,0,0,0,1,13,6,0,0,0,0,1,12,8,0,0,0,0,0,6,16,9,5,0,0,0,0,3,12,13,9,0,0,2 +0,0,10,15,13,1,0,0,0,4,16,7,13,7,0,0,0,2,11,0,12,6,0,0,0,0,0,4,14,0,0,0,0,0,1,15,6,0,0,0,0,0,9,12,0,0,0,0,0,4,16,7,7,13,3,0,0,0,10,16,12,3,0,0,2 +0,1,13,16,16,16,12,1,0,6,16,14,12,11,5,0,0,2,15,15,5,0,0,0,0,0,8,14,15,1,0,0,0,0,0,3,16,6,0,0,0,0,0,3,16,5,0,0,0,0,7,10,16,4,0,0,0,0,15,16,10,0,0,0,5 +0,0,6,16,16,7,0,0,0,0,13,12,15,10,0,0,0,0,3,6,13,9,0,0,0,0,8,16,16,15,6,0,0,0,1,9,14,8,5,0,0,0,0,11,9,0,0,0,0,0,4,16,3,0,0,0,0,0,10,10,0,0,0,0,7 +0,0,2,10,13,12,3,0,0,0,11,13,8,16,7,0,0,0,12,9,9,16,8,0,0,0,6,10,13,14,5,0,0,0,0,0,0,12,8,0,0,8,1,0,0,15,2,0,0,4,14,9,4,16,0,0,0,0,2,12,16,14,0,0,9 +0,1,12,12,15,16,7,0,0,7,16,16,13,6,1,0,0,12,16,3,0,0,0,0,0,3,14,15,1,0,0,0,0,0,1,16,7,0,0,0,0,0,0,15,8,0,0,0,0,5,7,16,7,0,0,0,0,3,15,16,5,0,0,0,5 +0,0,0,9,14,1,0,0,0,0,2,16,8,0,0,0,0,0,12,14,1,0,0,0,0,5,16,4,2,1,0,0,0,12,13,1,14,8,1,0,1,16,16,16,16,15,3,0,0,5,8,11,15,1,0,0,0,0,0,10,16,3,0,0,4 +0,0,1,11,14,15,3,0,0,1,13,16,12,16,8,0,0,8,16,4,6,16,5,0,0,5,15,11,13,14,0,0,0,0,2,12,16,13,0,0,0,0,0,13,16,16,6,0,0,0,0,16,16,16,7,0,0,0,0,11,13,12,1,0,8 +0,0,6,14,16,5,0,0,0,2,16,16,16,7,0,0,0,2,15,16,15,2,0,0,0,0,6,16,15,7,0,0,0,0,14,10,6,16,3,0,0,1,16,3,0,16,7,0,0,0,10,11,11,15,3,0,0,0,3,14,16,6,0,0,8 +0,0,0,4,15,6,0,0,0,0,0,13,13,1,0,0,0,0,7,16,2,0,0,0,0,4,15,8,0,5,0,0,0,11,14,1,6,16,5,0,1,16,14,12,16,16,3,0,0,10,12,10,16,10,0,0,0,0,0,6,16,2,0,0,4 +0,0,1,9,15,11,3,0,0,0,12,9,1,11,6,0,0,0,13,7,6,16,8,0,0,0,4,10,12,15,4,0,0,0,0,0,0,12,6,0,0,8,7,0,0,15,5,0,0,1,12,10,4,16,3,0,0,0,0,13,16,8,0,0,9 +0,0,0,14,12,2,0,0,0,0,0,6,8,14,1,0,0,0,9,11,0,13,5,0,0,2,16,8,0,8,8,0,0,5,13,0,0,8,7,0,0,6,13,0,0,11,4,0,0,0,12,10,6,14,0,0,0,0,1,11,14,7,0,0,0 +0,0,0,10,13,5,0,0,0,3,14,16,12,15,0,0,0,10,16,8,11,16,0,0,0,8,14,5,14,9,0,0,0,0,7,14,16,5,0,0,0,0,0,11,16,16,1,0,0,0,0,14,16,16,4,0,0,0,0,11,16,11,0,0,8 +0,0,4,11,12,14,0,0,0,0,15,12,14,16,4,0,0,0,16,9,16,13,3,0,0,0,5,12,11,12,7,0,0,0,0,0,0,8,8,0,0,0,0,0,0,10,7,0,0,6,13,4,0,14,4,0,0,0,7,13,16,14,1,0,9 +0,0,2,8,7,0,0,0,0,0,6,15,16,2,0,0,0,6,15,11,16,4,0,0,0,5,16,10,16,1,0,0,0,2,15,16,13,0,0,0,0,0,2,16,12,9,3,0,0,0,4,14,0,12,14,1,0,0,1,12,10,7,0,0,8 +0,0,10,15,1,0,0,0,0,0,11,16,1,0,0,0,0,1,16,16,1,0,0,0,0,0,8,16,5,0,0,0,0,0,0,14,10,0,0,0,0,0,0,10,14,0,0,0,0,0,5,11,15,6,4,1,0,0,10,16,16,16,16,10,1 +0,1,15,16,10,0,0,0,0,4,16,9,16,4,0,0,0,2,12,5,16,3,0,0,0,0,0,6,16,3,0,0,0,0,1,15,13,0,0,0,0,0,8,16,4,0,0,0,0,2,16,13,4,4,3,0,0,2,13,16,16,16,16,2,2 +0,0,6,13,12,2,0,0,0,0,7,7,10,12,0,0,0,0,0,1,12,9,0,0,0,0,0,7,16,7,0,0,0,0,0,0,5,14,1,0,0,1,7,0,0,7,11,0,0,1,16,4,0,9,11,0,0,0,5,13,12,16,3,0,3 +0,0,0,4,15,2,0,0,0,0,1,16,9,0,0,0,0,0,9,15,1,11,9,0,0,3,14,8,0,14,10,0,0,10,16,12,12,16,8,0,0,13,16,14,15,16,5,0,0,0,0,0,15,13,0,0,0,0,0,4,16,9,0,0,4 +0,0,14,12,12,13,3,0,0,0,16,8,8,6,1,0,0,0,14,7,5,0,0,0,0,0,15,15,16,2,0,0,0,0,13,3,6,8,0,0,0,0,0,0,3,13,0,0,0,0,5,4,8,12,1,0,0,1,15,15,11,3,0,0,5 +0,0,1,10,10,0,0,0,0,1,13,10,1,0,0,0,0,4,14,0,0,0,0,0,0,6,12,0,0,0,0,0,0,8,11,5,10,11,1,0,0,5,16,13,6,10,8,0,0,0,10,9,0,7,11,0,0,0,1,12,16,14,2,0,6 +0,0,3,14,8,6,4,0,0,0,11,16,16,16,15,1,0,3,16,3,2,15,6,0,0,5,8,0,9,14,0,0,0,0,7,9,15,13,4,0,0,0,10,16,16,15,3,0,0,0,0,13,7,0,0,0,0,0,6,15,2,0,0,0,7 +0,0,7,15,14,6,0,0,0,5,16,5,10,16,4,0,0,6,15,2,10,14,1,0,0,1,13,16,14,1,0,0,0,0,10,13,15,8,0,0,0,0,15,2,3,15,6,0,0,0,15,3,8,15,6,0,0,0,6,16,11,4,0,0,8 +0,0,7,14,9,0,0,0,0,1,16,5,10,7,0,0,0,0,13,2,3,13,0,0,0,0,5,15,16,16,1,0,0,0,0,0,5,10,7,0,0,0,0,0,0,2,14,0,0,0,4,2,0,0,14,3,0,0,5,15,16,16,12,1,9 +0,0,3,13,13,3,0,0,0,0,14,8,7,15,1,0,0,3,16,0,0,9,6,0,0,6,13,0,0,4,8,0,0,4,9,0,0,4,8,0,0,1,13,0,0,5,8,0,0,0,14,7,0,11,4,0,0,0,3,15,16,14,0,0,0 +0,0,16,8,0,0,0,0,0,2,16,13,0,0,0,0,0,2,16,16,6,0,0,0,0,0,8,16,10,0,0,0,0,0,0,14,12,0,0,0,0,0,0,10,16,2,0,0,0,0,5,12,16,11,8,3,0,0,12,16,16,16,16,9,1 +0,4,16,15,1,0,0,0,0,8,14,16,4,0,0,0,0,5,8,16,4,0,0,0,0,0,0,12,8,0,0,0,0,0,1,15,7,0,0,0,0,0,5,16,3,6,9,0,0,3,15,15,8,13,15,0,0,4,15,16,16,16,7,0,2 +0,0,9,16,10,1,0,0,0,0,8,3,16,4,0,0,0,0,0,5,14,2,0,0,0,0,2,16,15,7,0,0,0,0,0,0,3,15,2,0,0,4,6,0,0,13,7,0,0,6,13,1,5,16,3,0,0,0,10,16,15,5,0,0,3 +0,0,0,2,14,5,0,0,0,0,0,13,15,0,0,0,0,0,3,16,3,9,12,0,0,1,14,8,0,15,13,0,0,11,16,10,8,16,10,0,3,16,16,16,16,15,3,0,0,0,0,2,16,12,0,0,0,0,0,4,16,7,0,0,4 +0,1,12,13,13,0,0,0,0,4,11,6,3,0,0,0,0,7,11,8,6,1,0,0,0,5,15,12,13,12,0,0,0,0,0,0,0,13,4,0,0,0,0,0,0,8,8,0,0,2,10,8,7,15,3,0,0,1,13,16,12,5,0,0,5 +0,0,1,13,0,0,0,0,0,0,7,10,0,0,0,0,0,1,16,2,0,0,0,0,0,4,13,0,0,0,0,0,0,7,12,4,11,9,1,0,0,4,16,15,8,12,7,0,0,2,14,10,3,13,7,0,0,0,2,13,16,8,1,0,6 +0,0,6,16,16,12,3,0,0,0,13,12,10,16,2,0,0,1,16,3,10,11,0,0,0,1,7,1,16,3,0,0,0,0,0,7,15,4,1,0,0,0,10,16,16,16,4,0,0,0,2,16,8,3,0,0,0,0,6,16,3,0,0,0,7 +0,0,7,13,11,1,0,0,0,6,14,12,14,9,0,0,0,5,14,3,10,9,0,0,0,0,8,15,14,2,0,0,0,0,1,14,16,6,0,0,0,0,9,9,3,15,4,0,0,0,12,5,1,11,8,0,0,0,7,16,16,9,1,0,8 +0,0,7,14,10,0,0,0,0,7,15,4,9,11,0,0,0,9,13,0,7,16,0,0,0,3,15,16,16,16,3,0,0,0,0,4,4,12,8,0,0,0,0,0,0,4,12,0,0,0,11,5,0,7,13,0,0,0,5,13,16,14,6,0,9 +0,0,6,14,13,3,0,0,0,0,14,10,7,13,0,0,0,4,13,0,0,12,3,0,0,5,11,0,0,7,6,0,0,4,11,0,0,4,8,0,0,2,12,0,0,6,6,0,0,0,12,8,2,14,2,0,0,0,4,15,16,9,0,0,0 +0,0,11,12,0,0,0,0,0,0,13,16,0,0,0,0,0,3,15,16,4,0,0,0,0,13,15,16,6,0,0,0,0,3,3,15,10,0,0,0,0,0,0,11,16,0,0,0,0,0,2,10,16,6,3,0,0,0,7,16,16,16,16,5,1 +0,2,13,16,10,0,0,0,0,12,15,9,16,2,0,0,0,10,8,1,16,6,0,0,0,1,1,2,16,6,0,0,0,0,0,10,15,2,0,0,0,0,2,15,9,0,0,0,0,2,15,16,9,8,6,0,0,1,13,16,16,16,16,3,2 +0,2,13,16,15,1,0,0,0,7,13,10,16,4,0,0,0,0,0,8,16,2,0,0,0,0,8,16,16,10,0,0,0,0,1,4,10,16,8,0,0,0,0,0,0,16,9,0,0,2,12,6,6,16,6,0,0,1,15,16,16,9,1,0,3 +0,0,0,2,15,7,0,0,0,0,0,11,15,2,5,0,0,0,5,16,6,6,16,0,0,2,16,10,4,13,13,0,0,13,16,16,16,16,10,0,0,6,4,4,11,16,4,0,0,0,0,0,14,14,0,0,0,0,0,3,16,7,0,0,4 +0,0,9,12,14,2,0,0,0,0,12,6,4,0,0,0,0,0,12,1,3,0,0,0,0,0,9,16,16,12,0,0,0,0,4,4,0,12,6,0,0,0,0,0,0,4,12,0,0,0,9,7,4,10,11,0,0,0,9,14,16,14,5,0,5 +0,0,3,15,1,0,0,0,0,0,12,8,0,0,0,0,0,3,13,0,0,0,0,0,0,4,12,0,0,0,0,0,0,5,10,11,16,14,1,0,0,2,16,10,4,7,10,0,0,0,15,8,2,12,8,0,0,0,3,12,16,8,0,0,6 +0,0,3,14,13,12,14,0,0,0,11,14,12,15,9,0,0,0,16,5,3,16,2,0,0,1,9,1,10,12,0,0,0,0,0,7,16,14,6,0,0,0,4,16,16,11,1,0,0,0,0,15,5,0,0,0,0,0,6,13,0,0,0,0,7 +0,0,10,14,10,1,0,0,0,4,14,6,13,7,0,0,0,6,12,0,7,7,0,0,0,1,16,10,15,1,0,0,0,0,5,16,15,3,0,0,0,0,13,6,6,15,5,0,0,3,15,0,4,12,7,0,0,0,12,16,15,8,0,0,8 +0,1,10,15,15,3,0,0,0,6,13,4,10,12,0,0,0,4,11,0,7,15,0,0,0,2,14,16,16,14,2,0,0,0,1,4,3,10,6,0,0,0,0,0,0,2,12,0,0,0,3,3,0,2,13,0,0,0,10,16,16,16,11,0,9 +0,0,3,15,9,0,0,0,0,0,14,8,11,5,0,0,0,3,16,3,1,14,2,0,0,5,12,0,0,12,4,0,0,2,12,0,0,6,8,0,0,2,14,0,0,12,5,0,0,0,12,8,5,15,0,0,0,0,1,13,14,5,0,0,0 +0,0,9,15,14,8,0,0,0,6,16,4,2,16,3,0,0,5,16,5,5,16,4,0,0,0,9,16,16,16,4,0,0,0,0,0,0,9,8,0,0,0,0,0,0,8,8,0,0,2,10,2,1,12,6,0,0,1,13,14,14,11,1,0,9 +0,1,10,12,12,11,0,0,0,7,14,8,8,6,0,0,0,7,11,7,3,0,0,0,0,8,16,13,13,8,0,0,0,1,3,0,1,14,5,0,0,0,0,0,0,4,12,0,0,0,11,3,0,10,12,0,0,0,10,16,16,14,4,0,5 +0,0,10,12,12,15,4,0,0,0,16,8,8,5,3,0,0,4,15,8,6,0,0,0,0,6,15,12,14,8,0,0,0,0,1,0,2,16,0,0,0,0,0,0,0,14,3,0,0,0,11,4,8,15,3,0,0,0,10,16,15,5,0,0,5 +0,0,1,11,15,0,0,0,0,0,11,15,5,0,0,0,0,3,15,1,0,0,0,0,0,5,12,0,0,0,0,0,0,8,15,15,16,14,3,0,0,2,16,11,2,7,12,0,0,0,14,11,4,9,13,0,0,0,2,11,16,15,6,0,6 +0,3,12,12,14,4,0,0,0,1,13,4,4,0,0,0,0,4,14,4,3,0,0,0,0,5,13,12,14,10,0,0,0,0,0,0,0,11,6,0,0,0,0,0,0,4,8,0,0,0,6,2,0,8,8,0,0,2,13,16,16,16,2,0,5 +0,0,6,14,11,1,0,0,0,0,15,5,6,15,0,0,0,4,16,0,0,9,3,0,0,8,9,0,0,4,8,0,0,7,8,0,0,4,8,0,0,4,8,0,0,9,4,0,0,1,13,2,3,14,0,0,0,0,5,14,15,4,0,0,0 +0,0,6,14,15,7,0,0,0,3,15,6,2,14,3,0,0,4,13,0,1,16,4,0,0,0,10,11,9,16,6,0,0,0,1,8,10,14,5,0,0,0,0,0,0,8,11,0,0,1,12,5,0,10,11,0,0,0,7,13,16,16,4,0,9 +0,0,7,14,15,4,0,0,0,7,15,4,9,12,0,0,0,6,15,1,4,14,0,0,0,0,9,13,14,7,0,0,0,0,2,16,16,4,0,0,0,0,14,7,3,15,4,0,0,0,16,3,0,13,8,0,0,0,7,16,16,10,1,0,8 +0,0,7,13,10,1,0,0,0,1,15,3,9,10,0,0,0,3,16,4,13,11,0,0,0,0,6,12,12,16,0,0,0,0,0,0,0,12,5,0,0,0,0,0,0,5,11,0,0,1,11,2,0,7,11,0,0,0,7,13,16,15,4,0,9 +0,0,1,11,15,6,0,0,0,2,15,10,16,15,0,0,0,1,14,5,6,11,0,0,0,0,5,14,14,3,0,0,0,0,1,14,16,6,0,0,0,0,10,8,6,15,1,0,0,0,9,9,4,16,3,0,0,0,1,15,15,6,0,0,8 +0,0,0,7,8,0,0,0,0,0,0,15,2,0,3,1,0,0,8,10,0,2,16,2,0,1,15,4,3,9,12,0,0,8,16,16,16,16,6,0,0,1,4,3,9,14,0,0,0,0,0,0,15,3,0,0,0,0,0,9,10,0,0,0,4 +0,0,3,15,4,0,0,0,0,0,0,15,11,0,0,0,0,0,0,15,16,2,0,0,0,0,0,14,16,8,0,0,0,0,0,7,13,14,0,0,0,0,0,0,4,16,4,0,0,0,3,9,13,16,12,5,0,0,3,15,16,16,16,16,1 +0,0,7,16,14,13,10,0,0,0,10,12,10,16,4,0,0,0,15,5,8,13,0,0,0,1,7,1,16,3,0,0,0,2,11,13,16,12,6,0,0,4,12,15,14,11,2,0,0,0,3,16,3,0,0,0,0,0,9,13,0,0,0,0,7 +0,0,0,15,16,16,12,4,0,0,4,14,0,10,12,0,0,0,8,7,1,15,4,0,0,0,0,0,8,12,0,0,0,0,1,8,14,12,3,0,0,0,6,13,16,13,2,0,0,0,0,10,10,0,0,0,0,0,2,16,2,0,0,0,7 +0,1,10,16,15,1,0,0,0,3,15,10,16,4,0,0,0,0,1,11,15,0,0,0,0,0,12,16,15,3,0,0,0,0,0,1,11,15,1,0,0,8,3,0,3,16,7,0,0,13,15,6,8,16,6,0,0,0,12,16,16,7,0,0,3 +0,3,16,16,16,2,0,0,0,4,14,10,5,0,0,0,0,6,16,16,10,3,0,0,0,4,15,12,14,13,0,0,0,0,2,0,1,15,8,0,0,0,0,0,0,8,13,0,0,3,16,10,7,9,16,0,0,3,13,15,16,16,8,0,5 +0,0,10,9,0,0,0,0,0,0,8,16,2,0,0,0,0,0,8,16,6,0,0,0,0,0,5,16,13,1,0,0,0,0,1,5,14,6,0,0,0,0,0,0,8,11,0,0,0,0,8,12,9,16,6,4,0,0,7,16,16,16,16,14,1 +0,3,15,16,7,0,0,0,0,12,13,11,16,0,0,0,0,12,5,4,16,0,0,0,0,0,0,3,16,4,0,0,0,0,0,6,16,3,0,0,0,0,0,11,16,0,0,0,0,1,12,16,14,8,5,0,0,2,13,16,16,16,16,2,2 +0,0,7,16,16,16,8,0,0,0,10,12,10,16,2,0,0,0,13,6,7,13,0,0,0,0,10,1,13,5,0,0,0,0,9,10,16,8,3,0,0,1,12,15,16,16,5,0,0,0,1,16,2,3,0,0,0,0,9,14,0,0,0,0,7 +0,0,7,14,12,1,0,0,0,7,14,5,8,10,0,0,0,8,11,1,7,10,0,0,0,1,9,16,15,4,0,0,0,0,1,14,14,12,0,0,0,0,7,11,0,12,7,0,0,0,11,5,0,11,8,0,0,0,4,14,16,12,1,0,8 +0,1,13,16,7,0,0,0,0,5,16,12,15,3,0,0,0,0,9,6,15,9,0,0,0,0,0,0,14,10,0,0,0,0,0,0,14,11,0,0,0,0,0,8,16,4,1,0,0,0,9,16,16,6,16,5,0,0,8,12,13,16,16,11,2 +0,0,3,12,9,0,0,0,0,0,12,12,11,13,0,0,0,2,15,2,0,12,5,0,0,4,8,0,0,6,8,0,0,8,7,0,0,4,8,0,0,7,7,0,0,9,7,0,0,3,13,4,7,16,2,0,0,0,6,16,15,5,0,0,0 +0,0,8,6,0,0,0,0,0,0,6,14,0,0,0,0,0,0,6,16,3,0,0,0,0,0,10,16,9,0,0,0,0,0,1,6,16,2,0,0,0,0,0,0,13,7,0,0,0,0,4,8,14,14,8,4,0,0,9,16,16,16,16,13,1 +0,0,11,16,7,0,0,0,0,1,16,11,15,0,0,0,0,2,16,5,16,4,0,0,0,0,2,2,16,3,0,0,0,0,0,5,16,0,0,0,0,0,0,9,14,0,0,0,0,0,9,16,14,7,6,0,0,0,13,14,14,16,16,6,2 +0,0,2,12,9,0,0,0,0,0,12,10,1,0,0,0,0,4,14,0,0,0,0,0,0,8,9,0,0,0,0,0,0,8,9,5,11,8,0,0,0,4,16,14,6,12,5,0,0,0,13,7,0,10,8,0,0,0,3,14,16,16,5,0,6 +0,0,8,15,11,1,0,0,0,0,10,4,10,6,0,0,0,0,0,1,13,6,0,0,0,0,0,15,16,2,0,0,0,0,0,4,8,15,1,0,0,1,1,0,0,9,7,0,0,4,13,5,3,10,8,0,0,0,7,14,16,15,2,0,3 +0,0,8,12,13,5,0,0,0,4,13,4,9,11,0,0,0,0,0,6,13,4,0,0,0,0,0,10,15,4,0,0,0,0,0,0,4,15,2,0,0,7,8,0,0,12,7,0,0,8,9,1,3,16,3,0,0,0,10,16,16,6,0,0,3 +0,0,4,15,16,16,16,1,0,0,10,13,8,15,8,0,0,0,14,5,3,16,2,0,0,0,1,0,12,11,0,0,0,0,2,5,16,9,1,0,0,0,15,16,16,14,3,0,0,0,1,15,9,0,0,0,0,0,7,14,2,0,0,0,7 +0,0,1,14,16,8,0,0,0,0,2,10,5,14,0,0,0,0,0,2,7,15,0,0,0,0,0,6,16,10,0,0,0,0,0,0,3,14,4,0,0,0,13,0,0,4,12,0,0,0,13,6,4,8,13,0,0,0,0,12,16,15,6,0,3 +0,0,7,16,12,1,0,0,0,0,16,11,16,8,0,0,0,0,3,9,16,6,0,0,0,0,0,13,16,15,1,0,0,0,1,2,5,14,8,0,0,5,14,0,0,9,15,0,0,4,16,7,6,13,14,0,0,0,7,16,16,16,4,0,3 +0,0,0,0,10,0,0,0,0,0,0,10,8,0,8,0,0,0,4,13,2,2,14,0,0,2,14,12,7,8,10,0,0,9,16,16,16,16,7,0,0,0,0,0,5,15,1,0,0,0,0,0,8,12,0,0,0,0,0,0,16,8,0,0,4 +0,0,1,9,13,1,0,0,0,1,12,14,5,0,0,0,0,2,16,5,0,0,0,0,0,5,15,0,3,0,0,0,0,3,16,16,16,15,3,0,0,2,16,11,1,9,11,0,0,0,11,13,6,12,11,0,0,0,0,6,16,15,2,0,6 +0,0,2,14,10,0,0,0,0,0,12,10,0,0,0,0,0,2,15,2,0,0,0,0,0,7,12,1,4,6,0,0,0,7,16,16,15,15,8,0,0,0,16,13,0,4,12,0,0,0,10,12,4,8,15,0,0,0,2,11,16,15,5,0,6 +0,0,1,11,10,0,0,0,0,0,13,10,0,0,0,0,0,3,13,0,0,0,0,0,0,5,11,0,0,0,0,0,0,5,14,12,12,7,0,0,0,0,16,12,5,11,10,0,0,0,10,11,4,10,12,0,0,0,1,12,16,12,3,0,6 +0,0,0,3,16,2,0,0,0,0,0,10,13,3,8,0,0,0,1,16,5,9,16,0,0,2,12,14,5,15,9,0,0,12,16,16,16,16,7,0,0,5,5,6,14,16,0,0,0,0,0,1,13,12,0,0,0,0,0,3,16,4,0,0,4 +0,0,5,15,14,3,0,0,0,2,14,7,4,13,0,0,0,2,15,5,5,16,1,0,0,0,7,15,16,16,3,0,0,0,0,1,3,7,10,0,0,0,0,0,0,2,14,0,0,0,8,9,4,2,16,1,0,0,4,11,13,16,11,0,9 +0,0,5,15,2,0,0,0,0,0,1,16,8,0,0,0,0,0,0,14,12,0,0,0,0,0,2,16,16,3,0,0,0,0,2,9,14,6,0,0,0,0,0,0,6,13,0,0,0,0,2,10,12,16,4,4,0,0,4,15,16,16,16,16,1 +0,0,12,12,14,15,1,0,0,1,15,11,6,5,0,0,0,6,15,12,4,0,0,0,0,6,11,8,13,6,0,0,0,0,0,0,1,13,0,0,0,0,0,0,0,9,3,0,0,2,6,1,6,14,3,0,0,1,11,16,13,8,0,0,5 +0,0,8,14,11,2,0,0,0,6,16,7,6,13,1,0,0,8,11,0,0,10,4,0,0,7,8,0,0,5,7,0,0,8,4,0,0,7,8,0,0,2,10,0,0,7,10,0,0,0,14,3,4,15,3,0,0,0,5,16,16,7,0,0,0 +0,0,8,16,11,1,0,0,0,0,14,2,5,9,0,0,0,0,14,1,5,12,0,0,0,0,6,16,16,14,1,0,0,0,0,3,7,10,7,0,0,0,0,0,0,4,12,0,0,0,6,1,0,2,14,0,0,0,9,16,16,16,12,0,9 +0,0,12,9,9,8,1,0,0,2,15,8,8,8,2,0,0,8,12,8,5,0,0,0,0,8,15,9,14,9,0,0,0,2,1,0,1,14,3,0,0,0,0,0,0,6,11,0,0,1,8,4,5,14,9,0,0,1,11,16,12,7,0,0,5 +0,1,14,16,12,0,0,0,0,5,16,9,16,6,0,0,0,3,11,0,14,9,0,0,0,0,0,0,10,10,0,0,0,0,0,0,14,10,0,0,0,0,0,10,16,5,0,0,0,2,15,16,14,8,12,2,0,0,11,16,16,16,15,5,2 +0,0,5,12,16,15,2,0,0,6,15,9,10,15,4,0,0,3,14,3,1,14,4,0,0,0,10,16,15,13,1,0,0,0,6,15,15,10,0,0,0,0,15,3,2,15,3,0,0,0,16,8,1,14,4,0,0,0,4,15,16,11,2,0,8 +0,0,13,16,11,0,0,0,0,2,16,11,16,4,0,0,0,0,14,9,15,9,0,0,0,0,0,2,16,8,0,0,0,0,0,4,16,4,0,0,0,0,0,9,16,1,0,0,0,0,9,16,15,8,11,5,0,0,9,12,13,16,16,11,2 +0,0,10,10,12,7,0,0,0,0,15,13,5,12,5,0,0,4,13,4,0,2,8,0,0,8,4,0,0,3,8,0,0,8,4,0,0,7,5,0,0,6,6,0,0,11,2,0,0,1,13,3,3,12,0,0,0,0,7,15,16,7,0,0,0 +0,0,10,7,3,0,0,0,0,1,15,12,14,6,0,0,0,5,12,0,2,13,0,0,0,4,12,0,0,4,7,0,0,8,5,0,0,4,8,0,0,5,8,0,0,5,10,0,0,0,14,3,4,14,6,0,0,0,7,16,16,10,0,0,0 +0,0,8,11,0,0,0,0,0,0,7,16,3,0,0,0,0,0,6,16,10,0,0,0,0,0,10,16,15,1,0,0,0,0,0,2,16,2,0,0,0,0,0,0,15,9,0,0,0,0,6,12,16,15,8,5,0,0,4,15,16,16,16,16,1 +0,0,3,16,12,12,7,0,0,0,12,13,13,16,6,0,0,0,2,0,6,14,0,0,0,0,1,4,13,10,1,0,0,0,9,16,16,16,8,0,0,0,4,12,12,7,1,0,0,0,0,14,6,0,0,0,0,0,4,16,2,0,0,0,7 +0,0,1,12,9,0,0,0,0,0,11,10,2,0,0,0,0,4,14,0,0,0,0,0,0,5,9,0,0,0,0,0,0,8,10,11,16,14,1,0,0,2,16,10,3,7,11,0,0,0,13,8,1,8,12,0,0,0,2,12,16,15,5,0,6 +0,0,3,15,16,12,0,0,0,0,6,16,6,14,6,0,0,0,0,3,1,15,6,0,0,0,0,1,14,16,3,0,0,5,8,2,13,16,3,0,0,5,16,0,0,9,13,0,0,1,15,11,8,12,16,1,0,0,3,14,16,16,9,0,3 +0,3,15,15,3,0,0,0,0,8,14,12,10,0,0,0,0,5,11,6,14,0,0,0,0,0,0,7,14,0,0,0,0,0,0,10,12,0,0,0,0,0,0,15,9,0,0,0,0,1,11,16,12,8,5,0,0,5,16,16,16,16,16,0,2 +0,0,11,10,0,0,0,0,0,0,13,15,0,0,0,0,0,0,12,16,5,0,0,0,0,1,15,16,5,0,0,0,0,0,3,13,10,0,0,0,0,0,0,10,14,0,0,0,0,0,5,11,16,9,5,1,0,0,12,16,16,16,16,12,1 +0,0,0,4,15,2,0,0,0,0,0,13,13,0,0,0,0,0,3,16,6,0,10,1,0,0,12,12,1,7,15,1,0,5,16,3,0,14,10,0,2,16,13,8,8,16,3,0,8,16,16,16,16,13,0,0,0,0,0,7,16,6,0,0,4 +0,0,0,6,14,3,0,0,0,0,5,15,7,1,0,0,0,0,10,10,0,0,0,0,0,0,12,5,0,0,0,0,0,0,14,16,16,11,2,0,0,2,16,13,3,8,12,0,0,0,8,15,5,4,16,2,0,0,0,4,14,16,13,0,6 +0,0,6,14,13,3,0,0,0,0,12,2,3,14,0,0,0,0,0,0,8,13,0,0,0,0,0,12,16,3,0,0,0,0,0,0,8,13,1,0,0,1,7,0,0,7,11,0,0,3,13,2,0,7,13,0,0,0,5,14,14,15,6,0,3 +0,0,10,13,1,0,0,0,0,0,7,16,5,0,0,0,0,0,6,16,6,0,0,0,0,0,6,16,13,0,0,0,0,0,0,6,16,2,0,0,0,0,0,3,16,8,0,0,0,0,7,11,16,14,9,4,0,0,6,15,13,14,16,15,1 +0,0,2,15,16,9,0,0,0,0,3,13,11,16,0,0,0,0,0,2,13,12,0,0,0,0,0,9,16,11,0,0,0,3,3,1,6,15,8,0,0,11,13,0,0,10,12,0,0,3,16,12,7,16,8,0,0,0,3,15,16,10,0,0,3 +0,0,3,13,13,3,0,0,0,0,12,7,3,13,0,0,0,0,16,0,5,12,0,0,0,0,10,13,14,16,2,0,0,0,1,7,6,13,4,0,0,1,4,0,0,5,11,0,0,2,14,6,2,9,11,0,0,0,4,10,16,16,4,0,9 +0,0,2,13,1,0,0,0,0,0,0,15,6,0,0,0,0,0,0,15,10,0,0,0,0,0,0,13,16,1,0,0,0,0,0,6,15,6,0,0,0,0,0,0,12,9,0,0,0,0,5,12,14,16,9,2,0,0,2,12,12,12,13,8,1 +0,0,4,15,14,12,11,0,0,0,7,15,13,16,10,0,0,0,10,7,6,16,2,0,0,0,7,1,12,12,0,0,0,0,5,8,16,12,1,0,0,4,16,16,16,14,2,0,0,0,0,15,9,1,0,0,0,0,5,15,2,0,0,0,7 +0,0,0,5,12,12,0,0,0,0,5,16,6,1,0,0,0,0,15,5,0,0,0,0,0,5,13,2,7,4,0,0,0,7,15,16,13,15,3,0,0,3,16,9,0,1,12,0,0,0,10,12,2,6,13,0,0,0,0,8,15,16,5,0,6 +0,0,3,11,16,15,0,0,0,0,15,16,5,13,0,0,0,2,16,9,0,12,0,0,0,1,9,15,10,10,0,0,0,0,0,6,16,12,1,0,0,0,2,14,2,16,5,0,0,0,8,10,1,14,4,0,0,0,3,15,16,9,0,0,8 +0,0,0,1,15,3,0,0,0,0,0,8,13,0,9,7,0,0,2,15,4,0,15,5,0,2,13,14,11,10,15,0,0,11,15,13,16,16,10,0,0,0,0,0,3,16,5,0,0,0,0,0,9,14,0,0,0,0,0,2,16,6,0,0,4 +0,0,9,15,14,2,0,0,0,0,9,3,9,8,0,0,0,0,0,0,6,10,0,0,0,0,0,10,15,2,0,0,0,0,2,10,11,15,2,0,0,3,1,0,0,14,4,0,0,10,13,7,2,12,4,0,0,0,7,14,16,10,0,0,3 +0,0,1,14,2,0,0,0,0,0,0,16,5,0,0,0,0,0,0,14,10,0,0,0,0,0,0,11,16,1,0,0,0,0,0,3,14,6,0,0,0,0,0,0,8,12,0,0,0,0,10,14,13,16,8,3,0,0,2,11,12,15,16,15,1 +0,0,0,1,15,2,0,0,0,0,0,5,15,0,4,0,0,0,0,13,8,1,16,3,0,0,5,15,2,5,15,0,0,5,15,16,16,16,8,0,0,14,12,12,14,16,2,0,0,0,0,0,12,12,0,0,0,0,0,2,16,5,0,0,4 +0,0,6,16,12,1,0,0,0,3,16,5,9,13,0,0,0,5,12,0,0,12,6,0,0,8,14,2,0,7,8,0,0,7,12,2,0,4,8,0,0,4,12,0,0,9,7,0,0,3,16,5,7,14,2,0,0,0,7,16,13,3,0,0,0 +0,3,10,11,12,12,6,0,0,8,14,11,8,8,4,0,0,8,10,7,3,0,0,0,0,8,16,14,15,4,0,0,0,2,2,0,6,9,0,0,0,0,0,0,4,12,0,0,0,1,8,4,10,10,0,0,0,2,15,16,13,2,0,0,5 +0,0,14,16,15,3,0,0,0,0,6,5,13,8,0,0,0,0,0,8,16,5,0,0,0,0,0,11,16,10,0,0,0,1,3,0,4,15,8,0,0,6,15,0,0,9,15,0,0,5,16,5,6,14,14,0,0,1,11,16,16,14,2,0,3 +0,0,2,14,5,0,0,0,0,0,9,12,0,0,0,0,0,1,15,1,0,0,0,0,0,3,15,0,0,0,0,0,0,6,16,16,16,13,1,0,0,2,16,8,4,7,11,0,0,0,12,11,1,8,11,0,0,0,3,12,16,15,4,0,6 +0,1,12,16,10,1,0,0,0,8,12,3,11,8,0,0,0,12,13,6,12,8,0,0,0,3,15,16,16,16,1,0,0,0,0,0,0,13,6,0,0,0,0,0,0,6,11,0,0,0,13,0,0,5,12,0,0,0,12,16,16,16,8,0,9 +0,0,0,12,4,0,0,0,0,0,6,14,1,0,0,0,0,0,14,2,0,0,0,0,0,2,14,1,4,2,0,0,0,4,16,15,12,15,5,0,0,3,16,6,0,5,11,0,0,0,9,11,4,13,5,0,0,0,1,11,16,9,0,0,6 +0,0,11,10,0,0,0,0,0,0,11,15,0,0,0,0,0,0,11,16,5,0,0,0,0,0,13,16,11,0,0,0,0,0,2,7,16,2,0,0,0,0,0,2,14,6,0,0,0,0,6,10,15,13,8,3,0,0,8,16,16,16,16,12,1 +0,0,4,15,16,13,13,10,0,0,12,13,10,15,14,2,0,2,16,6,2,14,6,0,0,1,5,0,9,11,0,0,0,0,7,12,16,14,6,0,0,0,8,15,15,11,2,0,0,0,2,16,8,0,0,0,0,0,7,15,4,0,0,0,7 +0,0,9,12,12,12,6,0,0,1,14,6,4,4,2,0,0,4,15,12,9,1,0,0,0,4,15,8,11,11,0,0,0,0,1,0,0,14,4,0,0,0,0,0,0,10,8,0,0,0,10,1,0,8,8,0,0,0,9,16,16,15,4,0,5 +0,0,0,6,16,0,0,0,0,0,0,12,13,0,0,0,0,0,5,15,3,6,15,0,0,1,14,11,0,13,13,0,0,10,16,13,12,16,5,0,0,11,12,12,16,14,2,0,0,0,0,3,16,9,0,0,0,0,0,8,16,3,0,0,4 +0,0,0,9,13,0,0,0,0,0,2,16,8,0,7,1,0,0,10,13,1,6,16,5,0,6,16,11,8,14,15,0,0,13,16,16,16,16,9,0,0,2,2,0,11,16,1,0,0,0,0,4,16,7,0,0,0,0,0,9,15,2,0,0,4 +0,0,6,16,16,16,12,0,0,0,13,10,8,16,5,0,0,1,15,1,9,12,0,0,0,0,4,0,13,7,0,0,0,0,10,16,16,16,9,0,0,0,7,14,12,8,3,0,0,0,3,15,5,0,0,0,0,0,8,15,0,0,0,0,7 +0,0,8,12,5,0,0,0,0,3,16,8,12,1,0,0,0,0,14,0,12,3,0,0,0,0,3,0,12,3,0,0,0,0,0,3,14,0,0,0,0,0,0,5,12,0,0,0,0,0,5,16,6,4,4,0,0,0,14,16,16,16,14,0,2 +0,0,10,16,8,0,0,0,0,7,13,4,14,7,0,0,0,7,13,2,7,8,0,0,0,0,7,16,16,5,0,0,0,1,12,13,15,6,0,0,0,3,16,2,4,13,6,0,0,4,16,4,1,11,12,0,0,0,7,15,16,14,2,0,8 +0,0,9,16,7,0,0,0,0,0,14,13,16,2,0,0,0,0,7,9,15,8,0,0,0,0,0,1,13,9,0,0,0,0,0,0,14,7,0,0,0,0,0,4,16,5,0,0,0,0,7,16,16,8,6,0,0,0,9,15,12,16,16,9,2 +0,3,15,16,8,0,0,0,0,9,16,11,15,2,0,0,0,11,10,4,16,2,0,0,0,2,4,6,16,1,0,0,0,0,0,10,13,0,0,0,0,0,2,14,13,0,0,0,0,3,16,16,16,16,13,1,0,3,16,12,8,12,11,1,2 +0,0,7,12,13,4,0,0,0,0,16,6,6,2,0,0,0,4,13,7,8,2,0,0,0,7,16,10,10,14,1,0,0,2,2,0,0,10,6,0,0,0,0,0,0,8,8,0,0,0,11,1,0,10,8,0,0,0,8,15,15,15,2,0,5 +0,0,4,16,8,11,7,0,0,0,10,16,15,16,6,0,0,3,16,4,6,15,0,0,0,3,8,0,13,8,0,0,0,0,6,16,16,13,6,0,0,0,3,14,13,9,3,0,0,0,0,14,6,0,0,0,0,0,4,15,2,0,0,0,7 +0,0,6,12,13,2,0,0,0,3,16,6,1,15,0,0,0,5,16,13,12,16,2,0,0,2,13,16,12,15,4,0,0,0,0,0,0,8,8,0,0,0,1,0,0,8,8,0,0,3,16,2,0,10,7,0,0,0,5,11,16,13,1,0,9 +0,2,16,16,16,16,4,0,0,4,16,6,8,7,1,0,0,4,16,7,2,0,0,0,0,4,16,16,16,6,0,0,0,0,5,4,10,15,0,0,0,0,0,0,1,14,6,0,0,2,14,4,4,16,8,0,0,3,13,16,16,15,1,0,5 +0,0,0,9,13,0,6,8,0,0,3,15,3,0,15,9,0,1,13,12,4,7,15,3,0,7,16,16,16,16,10,0,0,6,12,10,14,14,2,0,0,0,0,0,13,10,0,0,0,0,0,6,16,2,0,0,0,0,0,12,11,0,0,0,4 +0,0,0,10,9,0,0,0,0,0,5,15,0,0,9,5,0,0,14,10,0,7,16,4,0,5,16,7,5,16,6,0,0,11,16,16,16,14,0,0,0,3,4,11,16,8,0,0,0,0,0,7,16,2,0,0,0,0,0,12,12,0,0,0,4 +0,0,11,14,5,0,0,0,0,6,12,4,13,4,0,0,0,10,10,0,4,14,0,0,0,7,13,5,13,16,2,0,0,1,10,12,12,14,8,0,0,0,0,0,0,7,12,0,0,0,1,0,0,1,15,0,0,0,11,8,4,5,16,1,9 +0,0,9,13,16,5,0,0,0,3,16,8,4,13,0,0,0,6,10,1,0,9,2,0,0,5,4,0,0,4,8,0,0,8,4,0,0,4,8,0,0,6,6,0,0,4,9,0,0,0,13,2,0,7,8,0,0,0,8,12,13,15,2,0,0 +0,0,2,11,14,8,1,0,0,3,14,9,8,13,4,0,0,6,11,1,4,14,1,0,0,0,9,14,15,6,0,0,0,0,0,12,14,10,0,0,0,0,4,12,2,13,5,0,0,0,4,11,1,11,8,0,0,0,1,9,16,14,2,0,8 +0,1,11,13,10,1,0,0,0,8,12,3,13,10,0,0,0,8,11,2,11,16,1,0,0,1,15,16,16,16,2,0,0,0,2,8,3,9,6,0,0,0,0,0,0,7,9,0,0,2,12,3,0,9,12,0,0,1,9,15,16,13,3,0,9 +0,0,8,16,15,6,0,0,0,5,14,4,4,15,0,0,0,6,13,0,1,15,2,0,0,1,11,11,13,10,0,0,0,0,1,16,16,3,0,0,0,0,12,9,5,13,2,0,0,0,16,2,1,13,8,0,0,0,8,15,16,14,1,0,8 +0,0,3,12,12,2,0,0,0,0,11,10,7,14,2,0,0,0,11,1,0,8,4,0,0,2,14,2,0,5,7,0,0,8,9,0,0,6,8,0,0,3,13,0,0,12,7,0,0,0,15,6,11,12,0,0,0,0,4,15,11,1,0,0,0 +0,0,5,12,12,9,3,0,0,0,8,16,16,16,4,0,0,0,9,16,16,14,1,0,0,0,11,16,16,12,0,0,0,0,12,16,16,12,0,0,0,0,11,16,16,12,0,0,0,0,4,16,16,12,0,0,0,0,6,12,12,6,0,0,1 +0,1,15,16,4,0,0,0,0,9,16,11,14,0,0,0,0,12,10,5,16,0,0,0,0,4,7,8,13,0,0,0,0,0,1,15,6,0,0,0,0,0,5,16,2,0,0,0,0,4,15,14,10,11,12,1,0,0,13,16,16,15,11,1,2 +0,0,6,12,13,9,0,0,0,7,14,6,7,16,3,0,0,4,6,5,14,6,0,0,0,0,0,12,14,4,0,0,0,0,0,0,3,14,2,0,0,0,0,0,0,9,7,0,0,0,3,1,0,9,8,0,0,0,5,14,12,13,2,0,3 +0,0,0,8,14,0,0,0,0,0,5,16,7,1,9,3,0,2,15,12,0,13,16,4,0,9,16,10,10,16,11,0,0,4,15,16,16,14,1,0,0,0,0,1,15,9,0,0,0,0,0,5,16,3,0,0,0,0,0,11,14,0,0,0,4 +0,1,8,15,16,16,9,0,0,8,16,12,8,8,5,0,0,8,14,7,0,0,0,0,0,9,16,16,12,0,0,0,0,8,13,8,16,3,0,0,0,0,0,1,16,4,0,0,0,0,0,8,15,1,0,0,0,0,12,15,5,0,0,0,5 +0,0,5,13,1,0,0,0,0,0,12,13,1,0,0,0,0,0,16,3,0,0,0,0,0,3,16,0,0,0,0,0,0,3,16,16,14,9,0,0,0,2,16,8,3,8,9,0,0,0,14,2,0,3,16,1,0,0,6,15,16,14,5,0,6 +0,0,6,12,10,14,8,0,0,0,15,14,13,16,3,0,0,1,12,0,9,11,0,0,0,0,0,4,16,8,2,0,0,0,9,16,16,16,9,0,0,0,2,15,6,0,0,0,0,0,3,15,1,0,0,0,0,0,8,11,0,0,0,0,7 +0,0,7,15,16,8,0,0,0,0,16,7,6,15,3,0,0,4,16,0,7,13,4,0,0,0,16,2,8,14,8,0,0,0,12,14,14,7,0,0,0,0,9,16,6,0,0,0,0,0,11,3,14,2,0,0,0,0,5,11,10,10,0,0,8 +0,1,11,16,11,1,0,0,0,6,11,16,16,7,0,0,0,1,2,9,16,11,0,0,0,2,14,12,16,12,0,0,0,0,3,8,4,13,4,0,0,0,0,0,0,10,8,0,0,0,4,12,16,14,6,0,0,0,14,8,4,0,0,0,9 +0,0,2,14,9,1,0,0,0,1,12,12,11,8,0,0,0,4,14,1,0,13,3,0,0,8,13,0,0,10,6,0,0,5,16,1,0,8,9,0,0,0,16,0,0,11,9,0,0,0,13,11,10,15,4,0,0,0,3,15,16,5,0,0,0 +0,0,6,10,8,3,0,0,0,0,6,16,16,9,0,0,0,0,9,16,16,6,0,0,0,0,7,16,16,10,0,0,0,0,11,16,16,8,0,0,0,0,7,16,16,9,0,0,0,0,10,16,16,6,0,0,0,0,4,9,12,11,2,0,1 +0,0,8,15,15,2,0,0,0,2,16,13,12,10,0,0,0,3,15,1,9,11,0,0,0,0,0,1,15,8,0,0,0,0,0,10,13,1,0,0,0,0,8,16,7,0,0,0,0,6,16,16,13,7,6,1,0,0,7,5,12,16,15,2,2 +0,0,7,13,16,5,0,0,0,6,15,7,6,14,0,0,0,9,5,1,10,9,0,0,0,0,0,8,16,5,0,0,0,0,0,1,6,15,1,0,0,0,0,0,0,1,12,0,0,0,4,5,2,5,13,0,0,0,6,12,16,14,5,0,3 +0,0,0,6,15,1,0,0,0,0,5,16,10,0,8,6,0,2,16,11,0,9,16,6,0,8,16,14,14,16,13,1,0,6,12,12,12,16,3,0,0,0,0,0,13,11,0,0,0,0,0,6,16,5,0,0,0,0,0,10,14,0,0,0,4 +0,1,7,15,16,16,14,0,0,10,16,11,6,3,1,0,0,7,16,16,12,0,0,0,0,8,16,12,16,4,0,0,0,1,4,0,13,8,0,0,0,0,0,0,15,8,0,0,0,0,0,7,16,2,0,0,0,0,13,15,5,0,0,0,5 +0,0,2,12,1,0,0,0,0,0,11,12,0,0,0,0,0,2,16,4,0,0,0,0,0,6,16,10,10,5,0,0,0,5,16,15,12,14,6,0,0,4,16,3,0,8,12,0,0,0,14,9,4,11,13,0,0,0,3,14,16,12,3,0,6 +0,0,3,15,16,16,12,0,0,0,12,12,7,16,6,0,0,4,12,0,9,13,0,0,0,0,1,1,13,7,0,0,0,0,8,13,16,16,6,0,0,0,12,15,12,6,1,0,0,0,0,15,5,0,0,0,0,0,3,16,2,0,0,0,7 +0,0,14,16,8,0,0,0,0,0,16,4,13,8,8,0,0,0,12,7,12,14,5,0,0,0,4,15,16,5,0,0,0,0,0,14,14,0,0,0,0,0,8,10,11,2,0,0,0,0,13,0,12,3,0,0,0,0,14,15,12,1,0,0,8 +0,0,12,15,13,2,0,0,0,1,16,5,5,13,0,0,0,1,7,13,0,8,4,0,0,6,11,13,13,15,4,0,0,1,9,12,12,13,1,0,0,0,0,0,0,11,6,0,0,0,0,0,0,5,14,0,0,0,10,13,12,15,6,0,9 +0,0,3,12,7,0,0,0,0,0,14,12,12,4,0,0,0,2,14,0,1,13,0,0,0,1,12,0,0,7,5,0,0,2,13,0,0,2,10,0,0,0,15,3,0,3,14,0,0,0,7,12,8,11,12,0,0,0,2,11,16,11,2,0,0 +0,0,3,13,10,1,0,0,0,0,3,16,16,4,0,0,0,0,1,16,16,2,0,0,0,0,6,16,16,1,0,0,0,0,4,16,16,1,0,0,0,0,4,16,16,3,0,0,0,0,7,16,16,0,0,0,0,0,2,14,16,5,0,0,1 +0,0,13,16,13,1,0,0,0,6,16,10,15,5,0,0,0,3,15,0,11,9,0,0,0,0,4,0,12,8,0,0,0,0,0,0,15,8,0,0,0,0,0,8,16,4,0,0,0,0,5,16,16,13,10,1,0,0,13,16,16,16,16,9,2 +0,0,6,14,16,11,0,0,0,6,14,7,4,16,4,0,0,7,7,0,5,16,2,0,0,0,0,14,16,5,0,0,0,0,0,4,13,11,0,0,0,0,0,0,0,11,8,0,0,0,0,2,4,10,12,0,0,0,9,16,16,11,3,0,3 +0,0,0,8,16,0,0,0,0,0,3,16,8,0,0,0,0,1,13,12,0,4,13,1,0,6,16,9,7,15,10,0,0,9,16,16,16,15,2,0,0,0,4,1,14,10,0,0,0,0,0,3,16,5,0,0,0,0,0,11,13,0,0,0,4 +0,0,5,10,14,16,11,0,0,2,15,15,5,4,1,0,0,2,16,9,4,1,0,0,0,2,16,16,16,11,0,0,0,2,9,1,0,14,4,0,0,0,0,0,1,14,3,0,0,0,0,2,13,7,0,0,0,0,7,14,7,0,0,0,5 +0,0,1,9,15,1,0,0,0,0,9,14,4,0,0,0,0,0,16,3,0,0,0,0,0,6,13,0,0,0,0,0,0,4,14,12,16,13,3,0,0,2,15,13,4,3,13,0,0,0,9,8,2,4,16,1,0,0,0,9,12,12,8,0,6 +0,0,5,12,16,12,4,0,0,1,12,7,5,16,5,0,0,2,9,0,8,9,0,0,0,0,2,3,12,1,0,0,0,4,12,14,15,12,4,0,0,5,4,16,1,0,0,0,0,0,1,12,0,0,0,0,0,0,3,12,0,0,0,0,7 +0,2,15,12,1,0,0,0,0,4,16,13,13,0,0,0,0,0,14,3,15,12,5,0,0,0,5,16,16,11,0,0,0,2,13,13,14,2,0,0,0,5,13,0,6,8,0,0,0,4,11,0,1,15,0,0,0,2,12,16,16,7,0,0,8 +0,0,9,13,6,0,0,0,0,0,14,7,11,3,0,0,0,4,7,8,5,8,0,0,0,8,10,15,14,9,0,0,0,0,4,7,9,13,1,0,0,0,0,0,0,5,11,0,0,0,2,0,2,12,6,0,0,0,10,14,14,7,0,0,9 +0,0,5,15,9,0,0,0,0,0,15,6,11,6,0,0,0,7,9,0,0,14,0,0,0,5,9,0,0,8,6,0,0,4,13,0,0,4,8,0,0,1,16,0,0,4,11,0,0,0,15,7,5,16,4,0,0,0,2,15,15,5,0,0,0 +0,0,12,14,6,0,0,0,0,2,16,7,13,10,0,0,0,0,16,2,1,13,4,0,0,0,9,13,8,16,2,0,0,0,6,16,16,13,0,0,0,0,0,2,3,16,0,0,0,0,1,6,13,10,0,0,0,0,13,9,8,2,0,0,9 +0,0,8,15,16,16,6,0,0,2,16,11,5,0,0,0,0,3,16,5,0,0,0,0,0,5,16,16,13,0,0,0,0,10,13,6,15,5,0,0,0,3,1,0,11,8,0,0,0,0,0,6,16,4,0,0,0,0,9,16,8,0,0,0,5 +0,0,6,11,16,16,3,0,0,5,16,15,5,0,0,0,0,11,16,15,2,0,0,0,0,12,15,12,12,0,0,0,0,2,1,4,16,0,0,0,0,0,0,0,16,4,0,0,0,0,0,2,16,3,0,0,0,0,5,16,13,0,0,0,5 +0,0,0,6,13,3,0,0,0,0,1,14,11,0,0,0,0,0,7,15,2,0,0,0,0,0,10,12,0,0,0,0,0,0,13,15,16,13,5,0,0,0,10,16,5,11,14,0,0,0,7,15,5,10,14,0,0,0,0,3,14,16,9,0,6 +0,0,7,16,16,16,6,0,0,0,12,13,5,1,0,0,0,0,15,7,1,0,0,0,0,3,16,16,13,0,0,0,0,11,15,5,16,4,0,0,0,5,3,1,16,3,0,0,0,0,0,11,12,0,0,0,0,0,7,15,1,0,0,0,5 +0,0,0,12,6,0,0,0,0,0,8,15,13,4,0,0,0,5,16,6,3,12,0,0,0,7,14,1,0,11,5,0,0,3,14,0,0,7,10,0,0,1,14,2,0,9,9,0,0,0,9,11,6,15,5,0,0,0,0,10,16,11,0,0,0 +0,0,10,13,9,1,0,0,0,2,16,7,10,8,0,0,0,0,12,12,7,11,0,0,0,3,16,16,16,7,0,0,0,0,5,8,12,10,1,0,0,0,0,0,0,11,7,0,0,0,0,0,0,3,15,0,0,0,11,16,16,16,8,0,9 +0,1,13,14,2,0,0,0,0,7,14,9,5,0,0,0,0,6,13,3,12,6,4,0,0,1,14,12,14,16,4,0,0,0,2,16,16,7,0,0,0,0,11,14,8,13,0,0,0,4,16,4,2,14,2,0,0,1,12,14,13,6,0,0,8 +0,0,5,15,14,3,0,0,0,0,12,7,2,12,0,0,0,0,16,3,0,12,1,0,0,0,12,11,10,15,0,0,0,0,2,10,15,13,1,0,0,0,0,0,0,14,4,0,0,0,0,6,12,15,2,0,0,0,7,13,4,0,0,0,9 +0,0,4,15,16,6,0,0,0,0,13,11,11,15,0,0,0,0,15,13,15,16,7,0,0,0,7,16,16,11,2,0,0,0,5,15,16,2,0,0,0,0,16,9,12,11,0,0,0,2,16,6,8,16,0,0,0,0,7,14,13,8,0,0,8 +0,0,0,3,16,5,0,0,0,0,3,14,10,0,9,11,0,1,13,11,0,2,15,8,0,7,16,9,11,16,15,1,0,6,15,13,12,16,9,0,0,0,0,0,8,15,2,0,0,0,0,1,15,7,0,0,0,0,0,5,15,2,0,0,4 +0,0,6,15,12,5,0,0,0,0,8,16,16,13,1,0,0,0,8,16,16,12,0,0,0,0,8,16,16,10,0,0,0,0,16,16,16,5,0,0,0,5,16,16,16,1,0,0,0,3,15,16,16,2,0,0,0,0,10,16,15,3,0,0,1 +0,0,5,10,11,13,12,0,0,2,14,8,8,13,10,0,0,1,6,0,4,13,0,0,0,0,0,1,15,2,0,0,0,0,0,11,15,8,1,0,0,2,15,15,8,7,0,0,0,1,9,12,0,0,0,0,0,0,7,11,0,0,0,0,7 +0,0,2,15,16,15,0,0,0,0,12,9,11,12,0,0,0,5,15,0,13,7,0,0,0,5,6,3,14,5,2,0,0,0,0,9,16,16,9,0,0,0,7,16,9,2,0,0,0,0,1,15,3,0,0,0,0,0,3,16,0,0,0,0,7 +0,0,7,14,15,7,0,0,0,6,16,8,7,16,4,0,0,11,6,1,10,14,1,0,0,1,0,4,16,6,0,0,0,0,0,2,11,13,1,0,0,0,0,0,0,11,7,0,0,0,3,4,8,14,3,0,0,0,10,13,12,4,0,0,3 +0,1,9,16,16,15,3,0,0,8,16,12,8,8,3,0,0,6,16,9,3,0,0,0,0,8,16,16,16,4,0,0,0,3,6,4,13,11,0,0,0,0,0,0,8,13,0,0,0,0,5,8,15,10,0,0,0,0,11,16,11,1,0,0,5 +0,0,2,16,10,0,0,0,0,0,4,16,16,5,0,0,0,0,8,16,16,3,0,0,0,0,9,16,16,3,0,0,0,0,8,16,16,3,0,0,0,0,8,16,16,1,0,0,0,0,5,16,14,0,0,0,0,0,1,12,16,3,0,0,1 +0,0,0,10,11,1,0,0,0,0,1,15,8,8,0,0,0,5,4,10,0,12,0,0,0,7,8,10,0,7,5,0,0,6,10,0,0,2,9,0,0,1,13,0,0,2,11,0,0,0,6,11,4,10,11,0,0,0,0,9,15,14,5,0,0 +0,2,0,8,9,0,0,0,0,13,5,14,8,7,0,0,0,12,5,2,0,9,0,0,0,7,5,0,0,3,5,0,0,3,10,0,0,2,10,0,0,1,13,0,0,1,12,0,0,0,5,13,5,9,13,0,0,0,0,9,16,16,7,0,0 +0,0,6,16,13,12,14,1,0,0,14,4,4,15,4,0,0,1,7,0,10,7,0,0,0,0,0,2,13,1,0,0,0,2,9,14,16,12,0,0,0,4,6,15,2,4,1,0,0,0,6,7,0,0,0,0,0,0,10,4,0,0,0,0,7 +0,0,9,16,6,0,0,0,0,3,16,1,16,10,8,0,0,0,15,6,16,8,0,0,0,0,3,16,11,0,0,0,0,0,1,14,12,0,0,0,0,0,6,9,11,2,0,0,0,0,12,1,13,0,0,0,0,0,12,14,3,0,0,0,8 +0,0,11,16,15,3,0,0,0,5,16,12,11,13,0,0,0,3,13,1,5,15,0,0,0,0,0,0,12,11,0,0,0,0,0,1,16,7,0,0,0,0,0,10,15,0,0,0,0,0,12,16,16,11,1,0,0,0,13,13,8,13,16,8,2 +0,0,6,16,15,5,0,0,0,1,16,14,8,15,1,0,0,9,13,1,0,12,6,0,0,5,9,0,0,9,10,0,0,6,9,0,0,9,11,0,0,7,16,1,0,11,11,0,0,3,16,11,13,16,8,0,0,0,8,16,16,12,1,0,0 +0,0,0,14,14,9,0,0,0,0,4,16,16,10,0,0,0,0,13,16,15,2,0,0,0,1,15,16,11,0,0,0,0,7,16,16,5,0,0,0,0,3,16,16,7,0,0,0,0,0,16,16,8,0,0,0,0,0,3,12,12,0,0,0,1 +0,0,9,16,14,0,0,0,0,0,16,8,13,7,0,0,0,0,12,0,8,8,0,0,0,0,0,0,12,8,0,0,0,0,0,0,16,5,0,0,0,0,0,9,13,0,0,0,0,0,10,16,15,10,9,1,0,0,12,14,13,16,16,5,2 +0,0,1,14,16,8,0,0,0,0,10,16,11,4,0,0,0,0,1,11,1,0,0,0,0,1,12,3,0,0,0,0,0,2,16,14,13,8,1,0,0,3,16,16,13,16,8,0,0,0,12,16,7,15,12,0,0,0,1,13,16,16,8,0,6 +0,0,11,16,16,10,0,0,1,14,16,9,11,16,1,0,1,14,3,0,12,14,0,0,0,0,0,6,16,7,0,0,0,0,0,0,8,16,5,0,0,0,0,0,0,12,10,0,0,0,2,4,5,14,13,0,0,0,11,16,16,16,4,0,3 +0,0,9,16,16,15,4,0,0,8,16,9,7,14,11,0,0,5,5,1,13,15,1,0,0,0,0,10,16,7,0,0,0,0,0,1,11,16,4,0,0,0,0,0,0,14,8,0,0,0,3,4,6,16,4,0,0,0,14,16,16,8,0,0,3 +0,0,10,16,13,12,15,5,0,4,16,8,12,16,6,0,0,6,12,2,16,7,0,0,0,1,5,9,14,1,0,0,0,1,7,16,12,2,0,0,0,8,16,16,12,5,0,0,0,1,11,10,0,0,0,0,0,0,14,6,0,0,0,0,7 +0,1,13,16,16,10,0,0,0,8,15,8,15,15,0,0,0,3,8,5,16,6,0,0,0,0,0,4,16,9,0,0,0,0,0,0,6,16,5,0,0,0,0,0,0,5,16,0,0,0,8,6,6,13,12,0,0,1,15,16,16,14,3,0,3 +0,1,12,16,16,9,0,0,0,11,15,9,7,16,3,0,0,13,3,1,10,15,1,0,0,0,0,11,16,8,0,0,0,0,0,5,15,16,5,0,0,0,0,0,0,10,13,0,0,0,7,4,8,15,9,0,0,0,13,16,16,12,1,0,3 +0,0,1,14,11,0,0,0,0,0,9,15,2,0,4,0,0,2,16,6,0,7,16,2,0,8,16,6,6,16,12,0,0,5,16,16,16,15,3,0,0,0,1,4,16,8,0,0,0,0,0,9,16,1,0,0,0,0,0,15,16,0,0,0,4 +0,0,1,14,6,0,0,0,0,0,7,15,1,0,0,0,0,0,13,7,0,0,0,0,0,0,13,5,0,0,0,0,0,0,14,7,5,4,1,0,0,0,10,16,13,14,14,0,0,0,9,14,1,4,16,3,0,0,1,12,13,16,9,1,6 +0,0,0,7,11,0,0,0,0,0,1,16,10,0,0,0,0,0,7,11,0,0,0,0,0,0,11,8,1,1,0,0,0,0,12,16,16,15,5,0,0,0,14,11,0,1,15,0,0,0,6,11,1,3,14,2,0,0,0,8,16,16,7,0,6 +0,0,0,13,13,0,0,0,0,0,7,16,3,0,0,0,0,0,12,11,0,0,0,0,0,0,14,6,0,0,0,0,0,1,16,12,16,11,3,0,0,2,16,15,9,9,15,2,0,0,11,12,1,3,16,6,0,0,1,13,16,16,15,1,6 +0,0,3,15,7,0,0,0,0,3,15,11,1,1,7,0,0,8,16,2,0,13,15,0,0,8,16,13,14,16,5,0,0,0,8,9,15,13,0,0,0,0,0,8,16,2,0,0,0,0,0,12,12,0,0,0,0,0,3,16,4,0,0,0,4 +0,0,7,12,11,1,0,0,0,0,12,10,5,14,0,0,0,6,13,13,3,15,0,0,0,8,9,11,16,8,0,0,0,1,11,10,9,11,1,0,0,0,0,0,0,13,6,0,0,0,0,0,0,10,12,0,0,0,8,12,16,13,2,0,9 +0,0,0,15,12,1,0,0,0,0,5,16,16,6,0,0,0,0,2,16,16,3,0,0,0,0,2,16,16,1,0,0,0,0,6,16,13,0,0,0,0,0,1,16,16,2,0,0,0,0,3,16,15,3,0,0,0,0,0,15,16,1,0,0,1 +0,0,0,8,16,16,7,0,0,0,15,16,10,8,1,0,0,3,16,12,5,0,0,0,0,8,16,16,16,3,0,0,0,8,11,2,13,9,0,0,0,0,0,0,11,13,0,0,0,0,0,0,12,11,0,0,0,0,0,11,14,2,0,0,5 +0,0,5,16,8,0,0,0,0,0,10,5,12,6,0,0,0,4,14,0,2,13,0,0,0,4,10,0,0,9,8,0,0,5,8,0,0,8,8,0,0,2,11,0,0,9,6,0,0,0,15,6,8,15,1,0,0,0,4,13,12,3,0,0,0 +0,1,12,15,10,2,0,0,0,4,14,1,6,12,2,0,0,7,15,0,1,14,4,0,0,3,15,12,15,10,0,0,0,0,3,15,1,0,0,0,0,0,0,3,13,1,0,0,0,0,0,0,10,6,0,0,0,0,11,12,13,4,0,0,9 +0,1,12,16,16,16,4,0,0,4,16,10,4,1,1,0,0,6,13,0,0,0,0,0,0,6,16,12,5,0,0,0,0,7,11,11,15,0,0,0,0,0,0,4,16,2,0,0,0,0,2,13,10,0,0,0,0,2,16,11,0,0,0,0,5 +0,0,10,16,8,0,0,0,0,4,16,13,16,3,0,0,0,0,12,1,11,6,0,0,0,0,0,0,12,8,0,0,0,0,0,0,14,5,0,0,0,0,0,7,16,6,4,0,0,0,5,16,16,16,16,4,0,0,11,15,9,8,6,0,2 +0,1,14,14,6,0,0,0,0,2,16,1,14,2,0,0,0,0,10,7,10,6,4,0,0,0,1,12,16,14,5,0,0,0,3,14,16,4,0,0,0,1,15,5,6,12,0,0,0,4,10,0,1,15,0,0,0,1,12,12,12,5,0,0,8 +0,1,11,16,16,10,0,0,0,8,16,11,7,16,1,0,0,7,11,0,5,16,2,0,0,0,2,0,7,14,0,0,0,0,0,0,11,12,0,0,0,0,0,3,16,6,0,0,0,0,5,15,16,11,6,0,0,0,14,16,13,13,16,5,2 +0,0,2,14,14,6,0,0,0,0,10,15,11,15,2,0,0,3,16,3,0,12,6,0,0,3,9,0,0,9,10,0,0,10,11,0,0,8,12,0,0,7,16,1,0,11,13,0,0,0,15,14,12,15,10,0,0,0,3,14,16,13,5,0,0 +0,0,5,15,13,2,0,0,0,1,15,11,8,13,0,0,0,5,14,0,0,14,5,0,0,9,16,1,0,7,9,0,0,9,13,0,0,5,14,0,0,6,16,2,0,5,15,0,0,2,14,11,5,14,12,0,0,0,5,15,16,15,3,0,0 +0,0,4,15,12,2,0,0,0,0,9,16,14,2,0,0,0,0,12,16,15,0,0,0,0,0,11,16,12,1,0,0,0,0,9,16,14,0,0,0,0,0,10,16,12,0,0,0,0,0,9,16,14,0,0,0,0,0,4,12,12,0,0,0,1 +0,0,10,15,8,13,6,0,0,0,13,14,14,15,2,0,0,1,15,0,13,7,0,0,0,2,7,9,16,13,13,0,0,0,10,16,11,7,2,0,0,0,4,16,2,0,0,0,0,0,7,13,0,0,0,0,0,0,12,4,0,0,0,0,7 +0,0,0,9,15,2,0,0,0,0,5,16,11,1,0,0,0,0,13,15,1,0,0,0,0,2,16,11,0,0,0,0,0,2,16,11,4,4,0,0,0,2,15,16,16,14,10,1,0,0,9,16,7,3,15,6,0,0,0,7,15,16,16,6,6 +0,1,10,14,13,4,0,0,0,12,11,5,8,14,0,0,0,8,3,2,12,8,0,0,0,0,3,15,15,4,0,0,0,0,1,4,7,14,5,0,0,0,0,0,0,7,12,0,0,0,0,0,1,11,11,0,0,0,12,16,16,9,1,0,3 +0,1,15,16,10,0,0,0,0,7,15,10,16,0,0,0,0,4,12,1,16,4,0,0,0,0,2,3,16,1,0,0,0,0,0,4,15,0,0,0,0,0,0,11,12,0,0,0,0,0,11,16,14,14,15,3,0,1,15,16,16,16,16,5,2 +0,0,3,15,12,2,0,0,0,0,1,16,16,6,0,0,0,0,4,16,16,2,0,0,0,0,3,16,16,6,0,0,0,0,4,16,16,0,0,0,0,0,1,15,16,6,0,0,0,0,4,16,16,4,0,0,0,0,4,16,16,6,0,0,1 +0,0,11,8,4,13,16,3,0,2,16,16,16,14,9,1,0,4,13,6,16,4,0,0,0,0,2,15,10,0,0,0,0,5,13,16,14,12,2,0,0,8,15,15,12,12,2,0,0,0,15,9,0,0,0,0,0,0,16,7,0,0,0,0,7 +0,0,0,9,12,0,0,0,0,0,4,16,5,0,1,0,0,2,14,9,0,5,15,1,0,8,16,9,12,16,9,0,0,5,16,13,13,13,0,0,0,0,0,1,15,7,0,0,0,0,0,4,16,1,0,0,0,0,0,12,12,0,0,0,4 +0,0,1,13,2,0,0,0,0,0,8,15,1,0,0,0,0,0,14,7,0,0,0,0,0,0,14,6,0,0,0,0,0,0,16,5,9,9,3,0,0,0,12,16,13,9,14,1,0,0,8,15,0,1,14,5,0,0,1,11,16,16,13,1,6 +0,1,10,15,16,11,0,0,0,8,11,4,7,14,0,0,0,7,1,2,13,7,0,0,0,0,0,10,16,6,0,0,0,0,0,0,1,14,5,0,0,0,0,0,0,7,9,0,0,0,2,0,3,11,7,0,0,0,15,16,16,7,0,0,3 +0,0,13,14,10,2,0,0,0,0,6,16,16,16,0,0,0,0,0,16,16,16,4,0,0,0,4,16,16,14,2,0,0,0,8,16,16,7,0,0,0,3,15,16,16,4,0,0,0,1,16,16,14,1,0,0,0,0,14,16,13,3,0,0,1 +0,0,3,11,14,12,3,0,0,2,13,10,4,10,12,0,0,2,11,2,0,9,9,0,0,0,0,3,10,10,1,0,0,0,7,16,16,2,0,0,0,0,3,0,14,3,0,0,0,0,0,1,13,2,0,0,0,3,7,14,5,0,0,0,3 +0,0,11,12,2,0,0,0,0,0,15,8,13,2,0,0,0,0,7,11,9,9,0,0,0,4,12,12,16,7,0,0,0,2,10,12,9,12,1,0,0,0,0,0,0,7,11,0,0,0,0,0,0,0,16,2,0,0,6,12,12,13,11,0,9 +0,0,1,11,14,5,0,0,0,0,0,15,16,11,0,0,0,0,5,16,16,8,0,0,0,0,5,16,16,5,0,0,0,0,4,16,16,3,0,0,0,0,9,16,16,2,0,0,0,0,8,16,14,0,0,0,0,0,2,13,16,9,0,0,1 +0,0,4,13,16,16,7,0,0,0,15,10,7,16,1,0,0,7,12,0,12,7,0,0,0,9,5,3,16,2,0,0,0,2,11,16,16,12,7,0,0,5,10,16,12,8,3,0,0,0,3,15,2,0,0,0,0,0,6,14,0,0,0,0,7 +0,0,0,13,6,0,0,0,0,0,5,16,8,0,0,0,0,0,11,8,0,0,0,0,0,0,13,4,0,0,0,0,0,0,14,15,16,14,5,0,0,0,13,7,0,0,13,1,0,0,10,6,0,5,14,0,0,0,2,13,12,15,4,0,6 +0,0,10,15,8,0,0,0,0,0,16,4,11,3,5,0,0,0,14,5,7,10,7,0,0,0,4,13,12,11,0,0,0,0,2,14,12,0,0,0,0,1,14,7,12,4,0,0,0,7,10,0,3,12,0,0,0,1,10,11,12,10,0,0,8 +0,0,0,8,12,0,0,0,0,0,5,16,3,0,2,0,0,1,16,5,1,10,15,1,0,9,16,4,9,16,7,0,0,7,16,16,16,7,0,0,0,0,2,8,16,2,0,0,0,0,0,10,13,0,0,0,0,0,0,12,10,0,0,0,4 +0,1,12,16,13,7,0,0,0,12,11,4,4,15,0,0,0,8,3,0,6,14,2,0,0,0,0,9,16,8,0,0,0,0,0,1,5,13,3,0,0,0,0,0,0,7,8,0,0,0,0,0,0,9,10,0,0,0,10,10,13,14,1,0,3 +0,0,1,12,11,1,0,0,0,0,1,16,16,4,0,0,0,0,3,16,15,2,0,0,0,0,9,16,12,0,0,0,0,0,12,16,5,0,0,0,0,0,14,16,6,0,0,0,0,0,9,16,8,0,0,0,0,0,2,11,13,1,0,0,1 +0,0,0,9,11,0,0,0,0,0,5,15,1,0,0,0,0,2,16,4,0,3,9,0,0,7,14,0,1,14,12,0,0,9,16,12,14,15,1,0,0,0,6,8,15,6,0,0,0,0,0,4,16,1,0,0,0,0,0,9,13,0,0,0,4 +0,0,5,15,12,1,0,0,0,0,8,8,6,12,0,0,0,2,5,0,0,12,2,0,0,4,14,0,0,8,6,0,0,7,11,0,0,9,7,0,0,3,13,0,0,12,3,0,0,0,16,5,9,14,1,0,0,0,5,15,11,4,0,0,0 +0,1,13,16,16,11,0,0,0,10,16,7,0,0,0,0,0,5,15,4,0,0,0,0,0,2,16,14,5,0,0,0,0,3,15,16,16,3,0,0,0,0,1,0,11,11,0,0,0,0,1,5,15,9,0,0,0,0,13,16,13,1,0,0,5 +0,1,13,16,16,12,1,0,0,12,15,6,12,16,3,0,0,13,10,10,16,9,0,0,0,0,5,16,15,4,0,0,0,0,0,2,10,14,1,0,0,0,0,0,1,16,7,0,0,0,3,1,5,16,9,0,0,1,14,16,16,11,1,0,3 +0,0,2,14,15,3,0,0,0,0,7,16,11,0,0,0,0,0,13,15,1,0,0,0,0,1,16,11,0,0,0,0,0,2,16,9,0,0,0,0,0,2,16,16,16,9,0,0,0,0,13,16,10,16,7,0,0,0,3,15,16,16,4,0,6 +0,0,12,16,15,6,0,0,0,0,15,12,7,15,1,0,0,1,15,15,7,16,4,0,0,1,12,16,16,14,1,0,0,0,0,4,10,13,0,0,0,0,0,0,1,15,3,0,0,0,3,0,2,16,6,0,0,0,13,16,16,15,1,0,9 +0,0,1,10,7,0,0,0,0,0,6,13,0,0,0,0,0,0,13,5,0,0,0,0,0,2,16,1,5,2,0,0,0,3,16,15,11,9,5,0,0,2,16,6,0,2,14,0,0,0,10,10,1,5,15,0,0,0,1,12,15,14,6,0,6 +0,0,3,16,12,2,0,0,0,0,6,16,16,3,0,0,0,0,9,16,16,0,0,0,0,0,9,16,16,1,0,0,0,0,9,16,16,0,0,0,0,0,9,16,13,0,0,0,0,0,7,16,13,0,0,0,0,0,3,14,16,3,0,0,1 +0,0,11,16,12,12,16,7,0,3,16,9,8,16,10,0,0,1,10,0,6,14,2,0,0,0,1,8,15,15,11,0,0,0,12,16,15,7,2,0,0,0,4,13,7,0,0,0,0,0,4,16,3,0,0,0,0,0,12,12,0,0,0,0,7 +0,0,2,10,16,12,0,0,0,2,15,14,8,1,0,0,0,2,16,4,0,0,0,0,0,6,16,14,13,3,0,0,0,10,16,7,11,12,0,0,0,0,1,0,4,16,0,0,0,0,0,0,7,16,2,0,0,0,2,14,16,8,0,0,5 +0,0,0,5,14,0,0,0,0,0,1,15,5,0,0,0,0,0,11,9,0,0,3,0,0,4,14,1,0,8,15,0,0,10,14,12,13,16,6,0,0,5,12,9,11,15,0,0,0,0,0,0,11,9,0,0,0,0,0,4,14,1,0,0,4 +0,0,0,11,8,0,0,0,0,0,8,15,2,0,2,1,0,2,16,5,0,4,16,3,0,5,16,8,11,16,9,0,0,4,15,14,13,16,2,0,0,0,0,0,10,10,0,0,0,0,0,3,16,3,0,0,0,0,0,9,11,0,0,0,4 +0,0,8,16,14,15,0,0,0,0,13,11,15,11,0,0,0,4,14,1,13,5,0,0,0,3,7,8,16,4,3,0,0,0,14,16,16,13,7,0,0,0,5,13,2,0,0,0,0,0,6,10,0,0,0,0,0,0,10,6,0,0,0,0,7 +0,2,15,15,3,0,0,0,0,11,15,11,12,0,0,0,0,8,10,0,16,0,0,0,0,1,3,2,16,0,0,0,0,0,0,4,12,0,0,0,0,0,1,12,9,0,0,0,0,0,14,16,13,13,15,3,0,2,13,14,12,12,8,1,2 +0,0,9,14,14,3,0,0,0,4,13,1,4,11,0,0,0,1,14,1,11,7,6,0,0,0,15,13,9,12,3,0,0,0,1,14,14,0,0,0,0,0,5,14,12,0,0,0,0,0,12,1,9,5,0,0,0,0,11,12,13,3,0,0,8 +0,0,5,16,15,3,0,0,0,0,13,15,14,7,0,0,0,0,13,4,13,8,0,0,0,0,0,0,16,5,0,0,0,0,0,7,16,0,0,0,0,0,6,15,9,0,0,0,0,2,16,16,16,9,13,3,0,0,5,2,9,16,14,3,2 +0,0,7,16,13,2,0,0,0,0,14,15,13,9,0,0,0,0,14,8,9,10,0,0,0,0,1,2,9,12,0,0,0,0,0,0,13,8,0,0,0,0,0,5,16,4,0,0,0,0,6,15,16,5,5,5,0,0,6,16,16,16,16,13,2 +0,0,10,16,15,8,2,0,0,9,16,12,8,9,3,0,0,13,16,9,0,0,0,0,0,7,16,16,10,0,0,0,0,7,13,8,16,4,0,0,0,0,0,1,16,5,0,0,0,0,2,12,15,1,0,0,0,0,13,16,6,0,0,0,5 +0,0,8,11,8,10,14,8,0,3,15,11,12,16,5,1,0,1,16,0,11,8,0,0,0,0,1,5,16,5,0,0,0,0,3,15,16,14,0,0,0,0,7,16,3,0,0,0,0,0,6,13,0,0,0,0,0,0,11,7,0,0,0,0,7 +0,0,8,15,9,0,0,0,0,1,16,10,16,9,0,0,0,2,6,2,16,16,1,0,0,3,9,9,16,14,0,0,0,0,7,5,12,5,0,0,0,0,0,0,7,12,1,0,0,0,0,0,2,16,4,0,0,0,9,13,12,10,1,0,9 +0,0,1,10,16,13,0,0,0,2,15,15,9,6,0,0,0,5,16,1,0,0,0,0,0,8,16,14,5,0,0,0,0,11,16,13,15,3,0,0,0,1,3,0,11,12,0,0,0,0,0,2,13,10,0,0,0,0,1,14,15,3,0,0,5 +0,0,0,9,16,3,0,0,0,0,7,16,7,0,0,0,0,2,15,8,0,1,7,0,0,9,14,0,2,13,14,0,0,8,16,14,15,16,6,0,0,1,7,8,16,12,0,0,0,0,0,7,16,5,0,0,0,0,0,12,12,0,0,0,4 +0,0,15,12,3,0,0,0,0,0,15,9,14,1,0,0,0,0,12,10,15,1,0,0,0,0,5,16,4,10,7,0,0,0,0,11,14,11,0,0,0,0,1,12,13,11,0,0,0,0,12,6,0,9,4,0,0,0,15,4,5,13,6,0,8 +0,1,14,16,16,11,2,0,0,0,14,9,2,10,11,0,0,0,5,16,5,14,5,0,0,0,0,12,16,16,5,0,0,0,7,14,14,8,0,0,0,1,14,3,6,11,0,0,0,4,8,0,8,11,0,0,0,2,13,12,15,2,0,0,8 +0,0,1,10,15,2,0,0,0,0,7,16,7,3,5,0,0,3,16,7,3,16,11,0,0,9,14,1,10,14,2,0,0,11,16,16,16,10,0,0,0,2,4,8,16,3,0,0,0,0,0,9,13,0,0,0,0,0,0,12,9,0,0,0,4 +0,0,2,12,9,0,0,0,0,0,1,15,7,9,0,0,0,0,0,11,1,14,1,0,0,0,10,8,11,13,1,0,0,0,9,14,16,9,0,0,0,0,0,0,1,10,3,0,0,0,0,0,0,3,14,2,0,0,5,14,13,14,10,1,9 +0,0,2,12,12,1,0,0,0,2,12,12,6,11,0,0,0,10,13,0,0,10,2,0,0,8,11,0,0,6,6,0,0,7,9,0,0,4,9,0,0,3,13,0,0,8,12,0,0,0,12,12,9,16,7,0,0,0,1,12,16,9,1,0,0 +0,3,14,5,0,0,0,0,0,2,15,15,3,1,1,0,0,0,6,16,4,13,8,0,0,0,0,14,14,13,1,0,0,0,2,15,13,1,0,0,0,1,14,8,15,0,0,0,0,5,12,0,12,3,0,0,0,2,14,13,15,3,0,0,8 +0,0,15,15,10,2,0,0,0,0,16,5,8,11,0,0,0,0,9,12,1,14,4,0,0,0,6,16,16,15,2,0,0,0,0,4,11,1,0,0,0,0,0,0,7,7,0,0,0,0,0,0,2,11,0,0,0,0,10,12,13,11,0,0,9 +0,3,16,9,2,0,0,0,0,3,16,13,12,0,0,0,0,0,12,11,14,10,6,0,0,0,2,15,16,10,2,0,0,0,6,14,15,1,0,0,0,3,15,4,9,7,0,0,0,6,13,1,10,9,0,0,0,2,11,12,14,4,0,0,8 +0,0,4,14,14,2,0,0,0,5,16,11,7,10,0,0,0,4,16,4,0,11,1,0,0,7,14,1,0,7,5,0,0,4,10,0,0,7,7,0,0,1,12,0,0,12,3,0,0,0,9,6,6,13,0,0,0,0,0,10,14,4,0,0,0 +0,0,0,5,15,13,1,0,0,0,2,14,16,14,0,0,0,1,13,16,16,12,0,0,0,9,16,14,16,6,0,0,0,3,5,6,16,4,0,0,0,0,0,8,16,2,0,0,0,0,0,9,16,3,0,0,0,0,0,4,15,13,1,0,1 +0,2,14,16,6,0,0,0,0,12,14,12,15,0,0,0,0,11,2,8,12,0,0,0,0,0,0,11,11,0,0,0,0,0,2,16,4,0,0,0,0,0,7,13,0,0,0,0,0,1,14,13,8,8,7,0,0,2,15,16,16,15,8,0,2 +0,1,9,15,16,6,0,0,0,13,15,10,16,11,0,0,0,5,3,4,16,7,0,0,0,0,0,8,16,7,0,0,0,0,0,1,13,15,5,0,0,0,0,0,2,13,11,0,0,0,12,5,3,13,14,0,0,0,10,16,16,14,5,0,3 +0,0,0,8,15,0,0,0,0,0,5,16,6,0,0,0,0,1,14,10,0,7,7,0,0,5,16,3,1,16,7,0,0,8,16,11,13,16,3,0,0,1,11,15,16,13,3,0,0,0,0,7,16,1,0,0,0,0,0,12,10,0,0,0,4 +0,0,5,12,16,9,0,0,0,7,16,10,3,0,0,0,0,8,13,0,0,0,0,0,0,9,14,4,6,0,0,0,0,4,14,12,13,13,1,0,0,0,0,0,0,15,4,0,0,0,0,0,4,15,7,0,0,0,4,12,13,8,0,0,5 +0,0,6,15,4,0,0,0,0,1,14,7,0,0,0,0,0,4,15,1,0,0,0,0,0,5,11,0,2,1,0,0,0,4,13,12,16,13,3,0,0,1,16,2,1,8,10,0,0,0,12,4,0,11,12,0,0,0,4,13,12,14,2,0,6 +0,0,8,14,16,16,2,0,0,0,11,6,7,16,1,0,0,0,0,0,10,12,0,0,0,1,11,16,16,16,12,0,0,2,12,13,13,2,0,0,0,0,1,14,4,0,0,0,0,0,8,12,0,0,0,0,0,0,12,7,0,0,0,0,7 +0,1,10,9,11,5,0,0,1,14,8,1,2,11,0,0,0,14,3,0,11,5,0,0,0,2,12,12,11,0,0,0,0,0,2,15,14,4,0,0,0,0,11,5,1,12,2,0,0,0,13,0,0,14,2,0,0,0,9,13,16,9,0,0,8 +0,0,9,16,15,3,0,0,0,6,16,11,10,12,0,0,0,7,15,1,1,15,5,0,0,3,16,6,9,16,9,0,0,0,5,11,13,14,10,0,0,0,0,0,0,10,10,0,0,0,0,0,0,13,11,0,0,0,10,16,16,15,6,0,9 +0,0,3,14,9,3,0,0,0,0,11,13,8,14,2,0,0,2,16,3,0,9,4,0,0,5,12,0,0,4,8,0,0,8,8,0,0,7,8,0,0,5,11,0,2,15,3,0,0,0,14,5,13,7,0,0,0,0,5,14,5,0,0,0,0 +0,0,0,0,13,12,0,0,0,0,0,10,16,14,0,0,0,1,12,16,16,11,0,0,0,11,16,12,16,8,0,0,0,6,4,7,16,6,0,0,0,0,0,6,16,5,0,0,0,0,0,4,16,8,0,0,0,0,0,0,15,11,0,0,1 +0,0,11,16,12,1,0,0,0,3,16,9,16,5,0,0,0,0,6,1,16,10,0,0,0,0,0,5,16,6,0,0,0,0,0,9,15,0,0,0,0,0,3,15,6,0,0,0,0,0,10,16,4,5,8,1,0,0,13,16,16,16,16,6,2 +0,0,7,14,16,13,1,0,0,9,15,8,10,16,7,0,0,5,1,0,14,14,1,0,0,0,0,4,16,12,0,0,0,0,0,2,16,13,0,0,0,0,0,0,6,16,7,0,0,0,9,7,6,16,9,0,0,0,5,15,16,11,3,0,3 +0,0,0,1,15,9,0,0,0,0,0,10,15,3,0,0,0,0,9,16,5,3,6,0,0,5,16,8,0,12,13,0,0,12,14,4,8,16,9,0,0,12,16,16,16,16,0,0,0,0,4,2,14,11,0,0,0,0,0,1,16,9,0,0,4 +0,1,12,16,16,15,0,0,0,7,16,9,4,3,0,0,0,10,15,1,0,0,0,0,0,11,15,8,7,1,0,0,0,2,13,16,16,15,5,0,0,0,0,0,0,13,14,0,0,0,2,7,13,16,9,0,0,0,14,16,12,5,0,0,5 +0,0,3,13,16,7,0,0,0,1,12,16,8,0,0,0,0,2,16,8,0,0,0,0,0,8,16,4,0,0,0,0,0,9,16,10,11,4,0,0,0,6,16,14,13,16,3,0,0,1,11,11,2,14,10,0,0,0,2,15,16,15,6,0,6 +0,0,5,13,16,16,6,0,0,0,12,6,4,13,9,0,0,0,0,0,1,15,3,0,0,0,0,2,10,13,2,0,0,2,12,16,16,12,5,0,0,1,6,9,11,0,0,0,0,0,0,15,1,0,0,0,0,0,6,11,0,0,0,0,7 +0,0,10,16,16,8,0,0,0,5,16,6,7,14,0,0,0,3,16,3,13,9,0,0,0,0,13,15,9,0,0,0,0,0,10,16,1,0,0,0,0,0,16,15,6,0,0,0,0,1,15,12,11,0,0,0,0,0,5,16,10,0,0,0,8 +0,0,8,16,10,2,0,0,0,0,12,13,14,11,0,0,0,0,10,13,8,16,2,0,0,0,4,15,15,16,8,0,0,0,0,3,8,11,13,0,0,0,0,0,0,5,16,4,0,0,1,2,2,7,16,5,0,0,3,14,16,16,11,1,9 +0,0,7,11,3,1,0,0,0,1,14,16,13,13,0,0,0,3,16,12,1,6,6,0,0,4,10,4,0,4,8,0,0,8,8,0,0,11,5,0,0,7,9,0,2,14,0,0,0,1,12,4,12,10,0,0,0,0,6,14,9,0,0,0,0 +0,0,0,8,13,3,0,0,0,0,8,16,16,8,0,0,0,12,16,16,16,2,0,0,0,9,9,16,10,0,0,0,0,0,2,15,8,0,0,0,0,0,4,16,7,0,0,0,0,0,3,16,10,0,0,0,0,0,0,7,13,2,0,0,1 +0,2,10,14,16,12,0,0,0,10,12,7,10,12,0,0,0,0,0,0,13,10,0,0,0,0,0,3,16,3,0,0,0,0,0,13,10,0,0,0,0,0,5,16,1,0,0,0,0,0,14,15,12,16,10,0,0,1,16,13,9,3,0,0,2 +0,1,8,10,14,10,0,0,0,12,10,6,6,16,2,0,0,3,0,0,7,14,1,0,0,0,0,0,9,11,0,0,0,0,0,0,2,16,1,0,0,0,0,0,0,8,12,0,0,0,4,0,2,11,9,0,0,0,12,16,14,12,4,0,3 +0,0,0,11,10,0,0,0,0,0,8,16,5,0,0,0,0,3,16,10,4,11,0,0,0,11,13,0,9,16,0,0,0,12,13,5,14,16,8,0,0,3,12,14,16,11,3,0,0,0,0,10,11,0,0,0,0,0,0,11,8,0,0,0,4 +0,5,15,12,12,12,4,0,0,10,14,12,12,9,7,0,0,12,11,0,0,0,0,0,0,5,15,10,0,0,0,0,0,0,3,16,3,0,0,0,0,0,0,15,4,0,0,0,0,1,7,16,4,0,0,0,0,4,15,12,0,0,0,0,5 +0,0,0,6,12,0,0,0,0,0,5,16,7,0,0,0,0,0,12,9,0,0,0,0,0,1,16,5,0,0,0,0,0,1,16,10,12,9,2,0,0,0,13,8,2,5,13,0,0,0,6,11,1,2,16,3,0,0,0,8,11,14,11,2,6 +0,0,2,9,14,16,15,0,0,3,16,13,8,10,16,0,0,1,2,0,0,11,9,0,0,0,3,11,12,16,11,0,0,0,12,14,16,12,2,0,0,0,0,3,16,3,0,0,0,0,0,7,10,0,0,0,0,0,0,14,5,0,0,0,7 +0,1,12,15,16,13,1,0,0,4,16,15,7,15,4,0,0,0,16,6,11,15,2,0,0,0,9,16,15,4,0,0,0,0,8,16,8,0,0,0,0,0,15,15,11,0,0,0,0,2,16,10,12,0,0,0,0,2,13,16,10,0,0,0,8 +0,0,13,14,9,1,0,0,0,5,16,12,12,12,1,0,0,6,16,2,2,16,5,0,0,3,16,5,3,16,9,0,0,0,9,16,16,16,10,0,0,0,0,6,7,15,9,0,0,0,0,0,6,16,5,0,0,0,10,16,16,12,0,0,9 +0,0,9,14,15,6,0,0,0,2,16,12,1,13,0,0,0,3,12,7,0,8,4,0,0,6,11,4,0,7,2,0,0,4,9,0,0,12,1,0,0,3,9,0,4,11,0,0,0,1,12,5,12,3,0,0,0,0,6,14,5,0,0,0,0 +0,1,9,15,13,4,0,0,0,8,12,4,8,8,0,0,0,9,11,0,5,16,3,0,0,4,13,8,16,16,6,0,0,0,4,8,2,11,9,0,0,0,0,0,0,10,8,0,0,0,7,0,3,14,6,0,0,0,7,16,14,8,0,0,9 +0,1,7,14,16,12,1,0,0,7,16,9,6,11,1,0,0,11,12,4,1,0,0,0,0,12,16,16,15,6,0,0,0,3,9,4,11,12,0,0,0,0,0,0,8,16,0,0,0,0,0,0,14,13,0,0,0,0,6,16,15,3,0,0,5 +0,3,16,13,15,16,11,0,0,5,16,14,12,8,10,0,0,2,16,12,0,0,0,0,0,0,7,16,12,0,0,0,0,0,0,7,16,8,0,0,0,0,0,0,13,11,0,0,0,3,6,8,16,7,0,0,0,2,15,15,9,0,0,0,5 +0,0,2,14,14,0,0,0,0,0,7,16,7,0,0,0,0,0,13,12,0,0,0,0,0,1,16,8,4,2,0,0,0,4,16,16,16,15,3,0,0,2,16,12,4,6,16,2,0,0,13,8,3,6,16,6,0,0,2,13,14,16,12,1,6 +0,3,14,14,16,16,10,0,0,9,15,9,7,1,0,0,0,10,16,11,1,0,0,0,0,1,7,14,9,0,0,0,0,0,0,7,16,0,0,0,0,0,0,6,15,0,0,0,0,1,1,11,10,0,0,0,0,3,15,16,4,0,0,0,5 +0,0,7,14,16,13,1,0,0,0,15,13,3,13,8,0,0,6,15,2,0,8,8,0,0,6,16,0,0,6,11,0,0,9,13,0,0,13,9,0,0,5,15,0,5,16,5,0,0,4,16,9,16,12,0,0,0,0,8,16,12,3,0,0,0 +0,0,6,12,14,4,0,0,0,2,15,2,1,15,0,0,0,2,14,0,3,16,2,0,0,0,13,5,14,14,6,0,0,0,2,8,4,7,9,0,0,0,0,0,0,9,9,0,0,0,5,0,5,14,3,0,0,0,7,13,12,4,0,0,9 +0,1,13,9,8,13,2,0,0,10,7,0,0,12,2,0,0,9,6,0,9,6,0,0,0,1,13,10,10,0,0,0,0,0,9,16,2,0,0,0,0,2,12,5,12,1,0,0,0,4,9,0,9,5,0,0,0,1,12,11,8,0,0,0,8 +0,1,7,14,10,0,0,0,0,10,12,5,9,7,0,0,0,10,6,0,6,15,0,0,0,5,11,11,14,15,1,0,0,0,2,7,1,10,5,0,0,0,0,0,0,9,5,0,0,0,5,3,0,13,5,0,0,0,4,14,14,12,2,0,9 +0,0,13,14,12,15,4,0,0,0,16,5,5,16,5,0,0,0,13,7,15,4,0,0,0,0,11,16,2,0,0,0,0,2,13,10,6,0,0,0,0,8,5,1,15,0,0,0,0,5,8,1,16,0,0,0,0,1,10,16,8,0,0,0,8 +0,0,0,3,16,2,0,0,0,0,0,12,12,0,0,0,0,0,5,16,2,5,12,0,0,3,15,8,0,11,13,0,0,9,16,4,7,16,8,0,0,9,16,16,16,16,2,0,0,0,0,0,13,12,0,0,0,0,0,1,16,9,0,0,4 +0,0,7,16,13,4,0,0,0,0,7,16,16,9,0,0,0,0,1,16,16,9,0,0,0,0,3,16,16,9,0,0,0,0,8,16,16,8,0,0,0,0,10,16,16,4,0,0,0,0,9,16,14,1,0,0,0,0,4,12,14,8,0,0,1 +0,0,12,16,16,12,0,0,0,0,6,4,10,13,1,0,0,0,0,0,13,9,0,0,0,0,5,9,16,16,12,0,0,3,16,16,11,3,0,0,0,0,7,13,0,0,0,0,0,0,11,8,0,0,0,0,0,0,16,3,0,0,0,0,7 +0,1,9,12,16,16,4,0,0,1,11,8,7,16,4,0,0,0,0,0,8,13,0,0,0,0,5,11,15,15,9,0,0,0,16,15,13,5,2,0,0,0,2,16,5,0,0,0,0,0,9,14,1,0,0,0,0,0,14,10,0,0,0,0,7 +0,2,10,15,16,16,14,0,0,7,11,4,6,15,9,0,0,0,0,6,15,12,0,0,0,0,3,16,9,0,0,0,0,0,5,16,8,0,0,0,0,0,0,11,15,2,0,0,0,0,1,6,16,2,0,0,0,1,16,16,6,0,0,0,3 +0,0,2,12,16,16,7,0,0,0,10,13,7,8,3,0,0,2,15,6,0,0,0,0,0,11,14,7,5,1,0,0,0,5,16,16,16,15,6,0,0,0,4,4,4,14,8,0,0,0,0,4,7,14,5,0,0,0,2,15,15,5,0,0,5 +0,0,0,4,15,12,0,0,0,0,5,15,16,11,0,0,0,8,16,16,16,4,0,0,0,14,11,11,16,2,0,0,0,0,0,7,16,0,0,0,0,0,0,9,16,2,0,0,0,0,0,9,16,3,0,0,0,0,0,5,16,5,0,0,1 +0,2,8,15,16,10,0,0,0,11,16,10,4,15,1,0,0,12,13,0,0,13,5,0,0,11,13,0,0,15,7,0,0,8,16,0,0,15,6,0,0,6,16,1,5,16,2,0,0,2,16,6,15,12,0,0,0,0,7,16,14,1,0,0,0 +0,0,8,15,16,11,0,0,0,2,16,10,4,14,4,0,0,6,16,2,0,8,8,0,0,10,12,0,0,11,6,0,0,9,11,0,0,15,6,0,0,8,12,0,7,15,1,0,0,2,15,7,15,9,0,0,0,0,10,16,12,1,0,0,0 +0,1,13,16,15,6,0,0,0,10,15,9,11,15,0,0,0,7,9,0,12,12,0,0,0,0,0,0,15,6,0,0,0,0,0,8,15,1,0,0,0,0,2,15,10,0,0,0,0,0,10,16,10,9,16,2,0,0,13,16,15,11,4,0,2 +0,0,9,16,15,3,0,0,0,7,15,7,16,7,0,0,0,2,2,0,16,2,0,0,0,0,0,6,15,0,0,0,0,0,0,13,10,0,0,0,0,0,3,16,3,3,5,0,0,0,11,14,10,16,6,0,0,0,11,16,13,5,0,0,2 +0,0,3,12,16,13,0,0,0,1,14,9,10,13,0,0,0,0,2,0,10,10,0,0,0,0,3,7,15,16,10,0,0,0,16,16,15,3,0,0,0,0,3,13,7,0,0,0,0,0,0,16,2,0,0,0,0,0,4,15,0,0,0,0,7 +0,0,5,12,16,10,0,0,0,6,16,13,3,15,1,0,0,11,8,5,5,10,0,0,0,4,11,2,12,2,0,0,0,0,6,16,6,0,0,0,0,0,2,15,8,0,0,0,0,0,8,13,8,0,0,0,0,0,5,15,4,0,0,0,8 +0,4,15,16,13,1,0,0,0,9,14,10,16,6,0,0,0,1,1,6,16,2,0,0,0,0,0,8,14,1,0,0,0,0,5,16,5,0,0,0,0,0,13,14,0,0,0,0,0,5,16,9,8,8,10,0,0,4,15,16,16,16,9,0,2 +0,0,6,14,13,1,0,0,0,3,16,10,5,11,0,0,0,5,16,0,0,13,0,0,0,6,12,0,0,12,3,0,0,7,12,0,0,13,3,0,0,3,11,0,5,12,0,0,0,0,13,4,15,4,0,0,0,0,5,16,6,0,0,0,0 +0,0,1,16,11,0,0,0,0,0,0,15,16,1,0,0,0,0,0,15,14,0,0,0,0,0,2,16,14,0,0,0,0,0,1,16,15,0,0,0,0,0,0,14,13,0,0,0,0,0,0,13,10,0,0,0,0,0,0,12,11,0,0,0,1 +0,1,10,15,15,5,0,0,0,11,16,9,12,10,0,0,0,15,6,0,14,7,0,0,0,0,0,6,16,5,0,0,0,0,1,15,11,0,0,0,0,0,5,16,4,0,0,0,0,1,15,11,8,12,14,1,0,1,15,16,16,12,5,0,2 +0,0,0,14,13,1,0,0,0,0,4,16,11,0,0,0,0,0,12,16,1,0,0,0,0,1,15,16,14,1,0,0,0,4,16,12,8,12,7,0,0,2,15,8,0,8,16,2,0,0,10,14,9,15,15,1,0,0,1,14,16,14,2,0,6 +0,2,9,15,16,15,2,0,0,11,11,5,9,16,3,0,0,0,0,0,9,12,0,0,0,0,0,0,6,15,1,0,0,0,0,0,0,14,9,0,0,0,0,0,0,12,12,0,0,0,5,3,6,15,7,0,0,0,12,16,15,9,1,0,3 +0,0,8,14,16,13,1,0,0,10,9,4,6,16,3,0,0,0,0,1,10,13,0,0,0,0,0,7,14,2,0,0,0,0,0,7,13,1,0,0,0,0,0,0,8,13,1,0,0,0,0,0,3,16,4,0,0,0,14,16,13,9,0,0,3 +0,0,4,11,16,16,2,0,0,0,8,8,9,14,0,0,0,0,0,0,11,12,3,0,0,6,15,16,16,15,6,0,0,3,7,11,13,0,0,0,0,0,0,15,2,0,0,0,0,0,3,16,0,0,0,0,0,0,5,12,0,0,0,0,7 +0,0,9,14,16,16,2,0,0,7,15,7,4,14,8,0,0,0,0,0,5,15,4,0,0,0,0,0,16,4,0,0,0,0,0,0,15,4,0,0,0,0,0,0,7,12,0,0,0,0,15,2,8,14,0,0,0,0,10,15,12,3,0,0,3 +0,2,13,16,16,15,4,0,0,7,12,8,8,16,12,0,0,0,0,0,8,16,7,0,0,0,0,0,14,10,0,0,0,0,0,0,12,15,3,0,0,0,0,0,2,16,11,0,0,0,4,4,7,16,10,0,0,2,15,16,16,12,1,0,3 +0,0,0,1,14,5,0,0,0,0,0,11,11,0,0,0,0,0,9,12,1,0,0,0,0,5,15,1,0,2,4,0,0,14,7,0,0,13,10,0,0,15,16,16,16,16,5,0,0,3,8,8,15,10,0,0,0,0,0,3,15,2,0,0,4 +0,0,0,9,9,0,0,0,0,0,3,15,4,0,0,0,0,0,10,12,0,0,0,0,0,0,12,8,4,3,0,0,0,0,14,16,12,14,5,0,0,0,12,10,0,4,13,0,0,0,9,11,0,6,16,1,0,0,0,8,14,15,8,0,6 +0,0,0,14,15,1,0,0,0,0,6,16,11,0,0,0,0,0,13,15,2,0,0,0,0,0,16,12,0,0,0,0,0,3,16,16,16,10,1,0,0,2,16,12,4,11,12,0,0,0,10,14,6,14,15,0,0,0,1,13,16,16,10,0,6 +0,0,0,13,15,2,0,0,0,0,4,16,11,1,0,0,0,0,13,15,1,0,0,0,0,0,15,9,0,0,0,0,0,4,16,14,15,8,0,0,0,1,16,15,8,13,9,0,0,0,11,10,0,11,16,0,0,0,2,14,16,16,13,0,6 +0,0,0,4,15,7,0,0,0,0,3,15,12,0,0,0,0,1,14,12,0,2,11,0,0,10,14,0,0,13,12,0,0,11,15,12,15,16,5,0,0,4,10,8,16,11,0,0,0,0,0,2,16,4,0,0,0,0,0,6,14,0,0,0,4 +0,0,9,16,10,2,0,0,0,0,16,14,11,10,0,0,0,1,16,9,12,15,0,0,0,0,7,15,16,16,8,0,0,0,0,10,6,16,10,0,0,0,0,0,1,15,9,0,0,0,0,1,7,16,8,0,0,0,6,16,16,14,1,0,9 +0,0,6,16,11,0,0,0,0,0,9,16,16,5,0,0,0,0,8,16,16,4,0,0,0,0,10,16,13,0,0,0,0,0,13,16,12,0,0,0,0,0,10,16,9,0,0,0,0,0,9,16,10,0,0,0,0,0,4,15,16,3,0,0,1 +0,0,10,12,16,16,8,0,0,4,16,16,11,5,4,0,0,10,12,3,0,0,0,0,0,12,11,0,0,0,0,0,0,6,16,14,8,0,0,0,0,0,5,10,16,3,0,0,0,0,4,8,16,3,0,0,0,0,13,16,11,0,0,0,5 +0,0,7,5,14,13,0,0,0,0,16,15,6,9,2,0,0,4,16,7,0,4,4,0,0,6,12,1,0,5,7,0,0,8,7,0,0,12,3,0,0,4,8,0,4,12,0,0,0,2,12,5,15,4,0,0,0,0,6,15,6,0,0,0,0 +0,0,9,16,16,7,0,0,0,2,16,11,4,15,2,0,0,4,16,2,2,16,6,0,0,0,13,11,13,16,10,0,0,0,1,10,13,16,6,0,0,0,0,0,3,16,7,0,0,0,0,2,13,14,1,0,0,0,11,15,15,6,0,0,9 +0,0,9,16,16,7,0,0,0,7,16,12,7,11,2,0,0,13,13,1,0,0,0,0,0,10,16,10,7,0,0,0,0,0,8,12,16,10,0,0,0,0,0,0,5,16,3,0,0,0,1,0,11,16,1,0,0,0,7,16,16,6,0,0,5 +0,2,11,16,15,6,0,0,0,11,15,9,14,13,0,0,0,7,1,0,13,9,0,0,0,0,0,1,16,8,0,0,0,0,1,11,13,1,0,0,0,0,5,16,5,0,0,0,0,2,15,9,2,4,4,0,0,2,15,16,16,16,16,1,2 +0,2,9,16,13,13,2,0,0,11,11,4,2,10,4,0,0,6,12,2,4,12,0,0,0,0,6,14,13,2,0,0,0,0,1,14,12,0,0,0,0,0,8,7,13,0,0,0,0,0,12,5,12,0,0,0,0,0,13,14,3,0,0,0,8 +0,1,12,16,14,8,0,0,0,4,16,8,10,15,3,0,0,0,0,0,5,16,3,0,0,0,0,1,12,15,0,0,0,0,0,10,16,5,0,0,0,0,5,16,10,0,0,0,0,1,14,15,6,10,11,0,0,0,13,16,16,14,8,1,2 +0,0,11,8,12,5,0,0,0,1,15,11,6,14,2,0,0,4,11,0,0,9,4,0,0,4,8,0,0,8,6,0,0,6,7,0,0,11,3,0,0,5,8,0,5,13,0,0,0,3,13,5,15,3,0,0,0,0,9,14,4,0,0,0,0 +0,0,4,13,15,6,0,0,0,0,15,11,2,14,2,0,0,3,14,1,0,12,4,0,0,5,12,0,0,9,5,0,0,5,5,0,0,12,2,0,0,4,9,0,2,13,2,0,0,0,13,2,14,7,0,0,0,0,5,16,7,0,0,0,0 +0,0,3,16,12,1,0,0,0,0,3,16,16,5,0,0,0,0,2,16,16,5,0,0,0,0,0,16,16,5,0,0,0,0,4,16,16,2,0,0,0,0,4,16,14,0,0,0,0,0,6,16,14,0,0,0,0,0,2,16,14,0,0,0,1 +0,1,13,16,16,12,0,0,0,3,12,6,11,14,0,0,0,0,0,0,9,12,0,0,0,1,9,15,16,16,9,0,0,2,12,15,14,5,5,0,0,0,5,15,1,0,0,0,0,0,11,9,0,0,0,0,0,0,15,3,0,0,0,0,7 +0,0,1,9,15,2,0,0,0,0,5,16,7,1,0,0,0,0,14,8,0,0,0,0,0,0,15,6,8,4,0,0,0,0,15,16,13,14,7,0,0,0,14,3,0,3,12,0,0,0,6,9,7,9,15,0,0,0,0,10,14,14,2,0,6 +0,3,12,15,16,16,3,0,0,6,16,9,9,16,6,0,0,0,3,0,11,15,1,0,0,0,0,4,16,7,0,0,0,0,0,7,16,4,0,0,0,0,0,0,13,11,0,0,0,0,4,5,15,14,0,0,0,3,16,16,15,6,0,0,3 +0,1,13,16,16,5,0,0,0,7,10,4,10,12,0,0,0,0,0,0,11,7,0,0,0,0,0,2,15,2,0,0,0,0,0,12,7,0,0,0,0,0,6,12,1,0,0,0,0,0,16,3,1,5,3,0,0,1,15,16,16,15,3,0,2 +0,0,1,12,16,8,0,0,0,2,13,16,16,8,0,0,0,13,16,14,16,12,0,0,0,11,6,7,16,2,0,0,0,0,0,11,16,1,0,0,0,0,0,13,13,0,0,0,0,0,0,15,13,0,0,0,0,0,0,13,13,0,0,0,1 +0,0,9,15,15,2,0,0,0,3,11,4,15,6,0,0,0,0,0,0,16,2,0,0,0,2,12,13,16,16,11,0,0,2,12,15,11,6,1,0,0,0,3,16,0,0,0,0,0,0,5,14,0,0,0,0,0,0,11,7,0,0,0,0,7 +0,0,0,2,16,3,0,0,0,0,0,12,13,0,0,0,0,0,8,15,2,1,0,0,0,1,15,8,1,13,11,0,0,9,16,7,12,16,4,0,0,5,13,16,16,11,0,0,0,0,0,2,16,5,0,0,0,0,0,4,16,2,0,0,4 +0,0,0,7,12,0,0,0,0,0,4,16,8,0,0,0,0,0,12,11,0,0,0,0,0,0,15,10,8,6,1,0,0,0,15,16,8,10,8,0,0,0,14,7,0,0,12,0,0,0,8,11,0,5,16,2,0,0,0,9,14,14,5,0,6 +0,0,10,16,16,11,0,0,0,1,11,7,6,16,3,0,0,0,0,0,10,15,0,0,0,0,0,0,15,7,0,0,0,0,0,0,15,9,0,0,0,0,0,0,7,13,0,0,0,0,5,4,10,16,0,0,0,0,10,16,16,10,0,0,3 +0,0,4,12,13,2,0,0,0,0,5,16,16,5,0,0,0,0,5,16,16,6,0,0,0,0,9,16,15,0,0,0,0,0,10,16,14,0,0,0,0,0,12,16,12,0,0,0,0,0,5,16,11,0,0,0,0,0,6,16,13,0,0,0,1 +0,1,7,15,16,9,0,0,1,13,14,7,14,14,0,0,0,6,1,8,16,8,0,0,0,0,3,16,9,0,0,0,0,0,0,11,15,6,1,0,0,0,0,0,7,15,11,0,0,0,5,1,0,11,16,2,0,0,10,16,16,16,7,0,3 +0,1,7,13,14,3,0,0,0,10,13,2,5,10,0,0,0,12,4,0,7,16,0,0,0,6,10,9,13,15,1,0,0,0,2,4,0,14,4,0,0,0,0,0,0,13,2,0,0,0,6,0,5,14,0,0,0,0,5,14,14,5,0,0,9 +0,0,3,12,12,3,0,0,0,0,4,16,16,4,0,0,0,0,5,16,16,5,0,0,0,0,11,16,15,0,0,0,0,0,12,16,14,0,0,0,0,0,13,16,9,0,0,0,0,0,7,16,10,1,0,0,0,0,5,13,14,4,0,0,1 +0,0,5,14,15,2,0,0,0,6,16,10,15,8,0,0,0,1,4,0,8,8,0,0,0,0,1,7,16,16,8,0,0,0,13,16,16,4,0,0,0,0,6,10,9,0,0,0,0,0,0,13,4,0,0,0,0,0,5,15,2,0,0,0,7 +0,0,0,9,13,0,0,0,0,0,3,15,4,0,0,0,0,0,12,11,0,0,0,0,0,0,16,11,8,4,0,0,0,0,15,16,8,12,5,0,0,0,14,13,0,1,15,1,0,0,8,12,0,4,16,2,0,0,0,8,12,13,10,1,6 +0,0,11,16,9,8,0,0,0,0,14,13,6,15,2,0,0,0,9,6,6,10,0,0,0,0,1,14,13,0,0,0,0,0,1,13,8,0,0,0,0,0,5,7,12,0,0,0,0,0,13,0,10,0,0,0,0,0,13,14,8,0,0,0,8 +0,0,0,6,16,6,0,0,0,0,5,16,10,0,0,0,0,2,15,14,0,7,1,0,0,6,16,3,3,16,9,0,0,11,16,8,11,16,6,0,0,3,15,16,16,15,1,0,0,0,0,3,16,7,0,0,0,0,0,5,16,3,0,0,4 +0,0,5,12,16,10,0,0,0,8,15,5,12,13,0,0,0,0,0,3,16,4,0,0,0,0,0,5,16,3,0,0,0,0,0,2,15,8,0,0,0,0,0,0,2,14,7,0,0,0,0,0,0,13,11,0,0,0,5,16,16,11,3,0,3 +0,0,3,16,12,1,0,0,0,0,10,16,16,0,0,0,0,0,12,16,12,0,0,0,0,0,13,16,10,0,0,0,0,0,16,16,1,0,0,0,0,0,16,16,0,0,0,0,0,0,10,16,1,0,0,0,0,0,2,13,9,0,0,0,1 +0,0,0,8,14,0,0,0,0,0,2,16,10,0,0,0,0,0,12,16,1,3,5,0,0,5,16,6,2,16,9,0,0,11,16,0,8,16,7,0,0,10,16,16,16,11,1,0,0,1,7,9,16,4,0,0,0,0,0,10,11,0,0,0,4 +0,0,5,12,0,0,0,0,0,0,14,10,14,12,0,0,0,2,16,16,8,11,2,0,0,3,16,11,0,9,3,0,0,5,12,2,0,12,4,0,0,1,12,0,0,13,3,0,0,0,13,6,8,13,0,0,0,0,3,14,12,3,0,0,0 +0,7,16,16,16,16,11,0,0,8,16,9,6,0,1,0,0,3,16,3,0,0,0,0,0,0,11,12,0,0,0,0,0,0,4,16,1,0,0,0,0,4,0,14,4,0,0,0,0,9,9,16,3,0,0,0,0,5,15,13,0,0,0,0,5 +0,4,13,16,16,15,3,0,0,10,12,7,8,16,8,0,0,0,0,1,12,15,2,0,0,0,0,4,16,10,0,0,0,0,0,8,16,4,0,0,0,0,0,1,16,10,0,0,0,5,7,4,15,13,0,0,0,5,16,16,16,7,0,0,3 +0,0,0,12,15,4,0,0,0,0,7,16,9,2,0,0,0,0,12,14,0,0,0,0,0,0,16,11,3,0,0,0,0,3,16,14,15,8,0,0,0,1,16,6,0,12,8,0,0,0,12,12,4,13,12,0,0,0,1,11,16,16,4,0,6 +0,2,14,16,16,7,0,0,0,6,15,5,6,13,0,0,0,4,15,0,9,16,6,0,0,2,13,16,16,15,9,0,0,0,1,4,2,15,8,0,0,0,0,0,1,16,6,0,0,0,0,1,12,15,2,0,0,1,14,16,16,6,0,0,9 +0,0,0,12,16,1,0,0,0,0,4,16,11,0,0,0,0,0,12,15,1,0,0,0,0,0,15,13,8,4,0,0,0,3,16,15,11,15,7,0,0,2,15,10,0,4,15,3,0,0,8,12,4,6,16,5,0,0,1,11,16,16,13,0,6 +0,0,0,14,10,0,0,0,0,3,14,16,13,0,0,0,2,16,16,16,5,0,0,0,1,11,14,15,1,0,0,0,0,0,8,16,1,0,0,0,0,0,7,16,1,0,0,0,0,0,1,15,5,0,0,0,0,0,0,13,13,0,0,0,1 +0,1,8,12,16,16,3,0,0,5,14,8,10,15,0,0,0,0,2,5,14,12,2,0,0,3,15,16,15,12,8,0,0,3,6,14,7,0,0,0,0,0,2,15,1,0,0,0,0,0,10,8,0,0,0,0,0,0,14,4,0,0,0,0,7 +0,0,15,13,12,12,2,0,0,4,16,16,12,6,0,0,0,0,16,4,0,0,0,0,0,0,11,7,0,0,0,0,0,0,7,14,0,0,0,0,0,0,0,14,6,0,0,0,0,4,5,14,8,0,0,0,0,1,15,16,4,0,0,0,5 +0,0,0,3,15,7,0,0,0,0,0,13,14,3,0,0,0,0,6,15,2,6,6,0,0,2,15,4,0,15,8,0,0,8,12,0,4,16,1,0,0,11,14,12,16,10,0,0,0,2,8,7,15,4,0,0,0,0,0,3,16,2,0,0,4 +0,0,0,7,14,0,0,0,0,0,4,16,5,0,0,0,0,0,14,9,0,0,10,3,0,7,15,0,0,9,15,0,0,12,15,8,10,15,10,0,0,8,15,12,16,12,1,0,0,0,0,5,15,3,0,0,0,0,0,9,13,0,0,0,4 +0,0,5,12,16,16,7,0,0,0,10,9,4,11,12,0,0,0,0,0,0,13,7,0,0,0,2,10,15,16,13,0,0,0,14,13,16,10,1,0,0,0,3,4,16,2,0,0,0,0,0,13,9,0,0,0,0,0,6,13,0,0,0,0,7 +0,2,13,16,10,0,0,0,0,6,13,10,16,0,0,0,0,0,0,8,14,0,0,0,0,0,1,14,9,0,0,0,0,0,9,14,1,0,0,0,0,1,14,7,0,0,1,0,0,4,16,5,7,12,14,0,0,3,15,16,16,10,1,0,2 +0,1,3,15,15,2,0,0,2,16,16,12,16,6,0,0,1,15,7,6,14,0,0,0,0,5,14,14,10,0,0,0,0,0,7,16,7,0,0,0,0,0,6,15,13,8,0,0,0,0,8,12,7,16,0,0,0,0,4,15,16,14,0,0,8 +0,2,15,16,15,1,0,0,0,3,11,5,16,4,0,0,0,0,0,0,15,5,0,0,0,0,0,4,15,1,0,0,0,0,2,14,5,0,0,0,0,0,15,10,0,0,0,0,0,5,16,3,3,4,3,0,0,4,16,16,16,16,11,0,2 +0,2,13,16,16,10,0,0,2,15,12,7,10,16,0,0,0,3,1,0,12,13,0,0,0,0,0,3,16,4,0,0,0,0,0,13,9,0,0,0,0,0,6,15,3,0,0,0,0,0,16,10,6,8,8,1,0,2,15,16,16,12,12,1,2 +0,4,7,13,16,16,4,0,0,11,16,14,9,2,0,0,0,14,5,0,0,0,0,0,0,12,8,0,0,0,0,0,0,9,12,0,0,0,0,0,0,2,13,16,9,0,0,0,0,1,3,14,16,3,0,0,0,4,14,16,13,0,0,0,5 +0,0,12,16,16,16,15,0,0,0,3,4,2,8,15,0,0,0,0,2,4,11,11,0,0,0,6,15,16,16,12,0,0,0,5,6,15,7,2,0,0,0,0,10,13,0,0,0,0,0,4,16,2,0,0,0,0,0,14,11,0,0,0,0,7 +0,1,14,16,15,4,0,0,0,4,16,9,11,15,3,0,0,6,16,1,8,16,2,0,0,2,14,10,15,16,6,0,0,0,3,11,8,15,5,0,0,0,0,0,1,16,5,0,0,0,3,3,11,15,1,0,0,0,13,16,14,4,0,0,9 +0,8,16,12,15,16,7,0,0,13,16,14,6,4,1,0,0,12,10,0,0,0,0,0,0,3,16,10,0,0,0,0,0,0,6,15,9,0,0,0,0,0,0,4,16,2,0,0,0,1,4,6,16,5,0,0,0,7,16,16,10,0,0,0,5 +0,0,0,3,14,6,0,0,0,0,3,14,10,1,0,0,0,1,13,10,0,0,0,0,0,9,14,1,0,7,5,0,0,11,15,8,9,16,10,0,0,7,16,16,15,15,2,0,0,0,0,0,12,11,0,0,0,0,0,3,16,2,0,0,4 +0,0,11,16,16,14,0,0,0,1,16,15,13,15,1,0,0,0,14,15,16,6,0,0,0,0,8,16,7,0,0,0,0,0,8,16,7,0,0,0,0,0,13,14,13,0,0,0,0,0,16,11,15,0,0,0,0,0,12,16,10,0,0,0,8 +0,0,13,16,16,15,2,0,0,0,14,13,11,16,2,0,0,0,11,13,15,6,0,0,0,0,5,16,10,0,0,0,0,0,10,14,15,0,0,0,0,1,14,3,15,7,0,0,0,6,11,0,15,6,0,0,0,1,13,16,15,3,0,0,8 +0,0,2,14,13,0,0,0,0,0,14,15,3,0,0,0,0,6,16,2,1,5,0,0,0,10,13,0,5,16,2,0,0,7,16,9,12,16,11,0,0,0,5,12,16,10,2,0,0,0,0,12,12,1,0,0,0,0,0,16,5,0,0,0,4 +0,0,9,16,16,10,0,0,0,2,16,9,11,11,0,0,0,0,15,7,12,16,3,0,0,0,7,16,15,15,7,0,0,0,0,0,0,10,10,0,0,0,0,0,0,11,10,0,0,0,11,2,6,16,6,0,0,0,9,16,16,11,1,0,9 +0,0,10,13,14,8,0,0,0,0,13,9,5,12,5,0,0,4,13,0,0,4,8,0,0,4,8,0,0,4,8,0,0,8,4,0,0,13,2,0,0,8,4,0,9,10,0,0,0,4,12,12,13,1,0,0,0,1,11,11,1,0,0,0,0 +0,0,14,16,13,9,1,0,0,0,12,10,9,16,3,0,0,0,9,14,13,13,1,0,0,0,3,13,16,6,0,0,0,0,5,16,12,9,0,0,0,0,13,8,14,6,0,0,0,1,16,11,15,1,0,0,0,1,13,16,6,0,0,0,8 +0,0,9,15,13,3,0,0,0,2,14,2,6,5,0,0,0,4,9,0,0,15,4,0,0,1,13,5,7,16,6,0,0,0,2,7,7,14,3,0,0,0,0,0,1,14,1,0,0,0,3,1,10,9,0,0,0,0,11,15,9,1,0,0,9 +0,0,13,16,9,4,0,0,0,0,15,9,9,15,1,0,0,0,11,9,13,11,0,0,0,0,5,16,14,1,0,0,0,0,7,16,10,0,0,0,0,0,14,10,16,2,0,0,0,0,16,4,15,7,0,0,0,0,11,16,16,3,0,0,8 +0,0,0,12,11,0,0,0,0,0,12,12,9,10,0,0,0,2,16,2,1,11,1,0,0,1,15,0,0,5,8,0,0,2,14,0,0,5,10,0,0,0,13,2,0,2,13,0,0,0,7,9,0,7,11,0,0,0,0,11,13,16,2,0,0 +0,0,0,1,13,13,0,0,0,0,4,15,15,16,0,0,0,8,16,10,6,14,0,0,0,10,6,0,8,13,0,0,0,0,0,0,10,13,0,0,0,0,0,0,13,9,0,0,0,0,0,0,14,7,0,0,0,0,0,0,16,7,0,0,1 +0,0,2,12,16,10,0,0,0,2,15,10,6,15,0,0,0,2,7,1,4,14,0,0,0,0,0,0,9,10,0,0,0,0,0,0,12,3,0,0,0,0,0,8,14,0,0,0,0,0,15,16,15,10,5,0,0,0,1,8,8,11,16,6,2 +0,4,14,16,16,15,2,0,0,12,11,2,4,16,5,0,0,2,0,1,11,12,0,0,0,0,0,15,16,3,0,0,0,0,0,4,15,10,0,0,0,0,0,0,1,14,10,0,0,1,7,0,3,14,8,0,0,4,15,16,16,11,0,0,3 +0,0,0,2,15,2,0,0,0,0,0,12,12,0,0,0,0,0,5,16,2,0,0,0,0,0,11,10,0,3,8,0,0,5,16,1,2,15,5,0,0,9,13,7,14,16,2,0,0,5,15,14,16,10,0,0,0,0,0,2,16,5,0,0,4 +0,0,12,16,16,16,7,0,0,1,14,15,6,4,1,0,0,8,16,2,0,0,0,0,0,9,16,12,12,9,1,0,0,1,8,8,8,15,10,0,0,0,0,0,0,13,12,0,0,0,8,2,6,16,5,0,0,1,11,16,16,8,0,0,5 +0,0,0,11,13,0,0,0,0,0,1,16,12,0,0,0,0,0,4,16,6,0,0,0,0,0,7,16,16,7,0,0,0,0,8,16,16,14,11,0,0,0,9,16,3,5,16,4,0,0,6,15,5,14,16,2,0,0,1,11,16,15,4,0,6 +0,3,15,16,15,3,0,0,0,3,10,8,15,12,0,0,0,0,0,0,14,8,0,0,0,0,11,13,16,16,8,0,0,1,15,16,15,7,2,0,0,0,5,16,5,0,0,0,0,2,16,11,0,0,0,0,0,3,16,5,0,0,0,0,7 +0,0,4,15,13,3,0,0,0,4,13,14,10,13,0,0,0,8,16,8,8,13,0,0,0,0,15,12,15,11,0,0,0,0,6,16,13,1,0,0,0,0,11,15,15,2,0,0,0,0,12,8,15,8,0,0,0,0,5,15,16,5,0,0,8 +0,0,13,13,1,0,0,0,0,7,16,13,12,13,0,0,0,8,13,1,15,16,4,0,0,4,15,13,15,15,10,0,0,0,6,11,3,9,13,0,0,0,0,0,0,5,16,0,0,1,7,0,1,9,15,1,0,1,13,16,16,16,6,0,9 +0,0,0,14,12,1,0,0,0,0,4,15,7,10,0,0,0,2,16,15,5,12,2,0,0,7,16,0,0,11,5,0,0,5,12,0,0,12,4,0,0,1,15,0,0,14,2,0,0,0,9,6,7,15,0,0,0,0,1,13,16,8,0,0,0 +0,0,0,11,16,3,0,0,0,0,5,16,16,5,0,0,0,6,16,15,16,3,0,0,0,11,11,10,16,1,0,0,0,0,0,10,15,0,0,0,0,0,0,11,13,0,0,0,0,0,0,10,16,2,0,0,0,0,0,7,16,2,0,0,1 +0,0,6,16,8,0,0,0,0,0,8,13,16,3,0,0,0,0,2,12,10,8,0,0,0,0,0,0,7,11,0,0,0,0,0,0,9,10,0,0,0,0,0,0,13,7,0,0,0,0,1,10,16,10,8,3,0,0,4,16,16,15,16,16,2 +0,0,9,16,16,12,2,0,0,3,13,5,4,14,5,0,0,0,0,0,7,15,2,0,0,0,0,5,16,11,0,0,0,0,0,0,8,16,7,0,0,0,0,0,0,13,8,0,0,0,4,5,5,15,4,0,0,0,12,16,15,5,0,0,3 +0,0,0,2,14,1,0,0,0,0,0,14,8,0,0,0,0,0,8,15,1,0,0,0,0,0,13,6,0,5,11,0,0,3,15,0,0,10,9,0,0,9,13,4,7,16,3,0,0,7,16,16,16,13,0,0,0,0,3,2,16,6,0,0,4 +0,5,16,16,16,16,10,0,0,4,10,4,4,4,0,0,0,10,10,0,0,0,0,0,0,4,16,13,7,1,0,0,0,0,2,8,14,14,2,0,0,0,0,0,1,16,7,0,0,3,3,2,11,15,0,0,0,5,16,16,12,1,0,0,5 +0,0,0,12,13,0,0,0,0,0,2,16,12,0,0,0,0,0,4,16,6,0,0,0,0,0,10,16,8,0,0,0,0,0,8,16,16,15,5,0,0,0,8,16,0,6,15,1,0,0,7,16,4,10,16,3,0,0,1,11,16,16,12,0,6 +0,0,5,13,16,14,0,0,0,1,14,8,5,16,2,0,0,0,1,0,2,15,2,0,0,0,0,2,8,15,3,0,0,0,0,15,16,13,8,0,0,0,0,6,14,0,0,0,0,0,0,13,7,0,0,0,0,0,7,14,0,0,0,0,7 +0,0,4,16,14,3,0,0,2,14,16,12,10,11,0,0,0,13,12,9,15,10,0,0,0,3,14,14,16,4,0,0,0,0,9,16,8,0,0,0,0,0,12,15,14,1,0,0,0,0,12,12,16,4,0,0,0,0,4,15,16,3,0,0,8 +0,0,8,16,4,0,0,0,0,6,12,2,14,13,0,0,0,9,6,1,14,14,0,0,0,2,11,12,8,16,2,0,0,0,0,0,0,11,8,0,0,0,0,0,0,7,9,0,0,0,2,0,1,12,6,0,0,0,8,9,13,7,0,0,9 +0,0,0,16,11,1,0,0,0,0,13,16,10,9,0,0,0,2,16,11,1,14,2,0,0,3,16,1,0,8,7,0,0,4,13,0,0,8,9,0,0,3,16,1,0,10,9,0,0,0,10,8,3,16,4,0,0,0,1,11,16,13,1,0,0 +0,0,0,0,5,15,1,0,0,0,0,0,11,16,1,0,0,0,0,8,15,16,3,0,0,2,13,15,5,16,0,0,0,8,14,2,3,16,0,0,0,0,0,0,4,15,0,0,0,0,0,0,5,15,0,0,0,0,0,0,5,16,1,0,1 +0,0,4,16,16,4,0,0,0,0,12,11,7,11,0,0,0,0,9,2,5,12,0,0,0,0,0,0,7,11,0,0,0,0,0,0,13,6,0,0,0,0,0,2,16,1,0,0,0,0,1,15,15,10,1,0,0,0,5,16,8,11,11,0,2 +0,1,13,16,16,8,0,0,0,11,13,4,13,7,0,0,0,7,1,7,16,1,0,0,0,0,5,16,15,9,0,0,0,0,3,6,8,15,8,0,0,0,6,1,0,7,13,0,0,4,16,5,2,13,10,0,0,1,12,16,16,11,1,0,3 +0,0,0,1,16,3,0,0,0,0,0,10,11,0,0,0,0,0,1,14,3,0,0,0,0,0,7,12,0,3,9,0,0,0,14,2,0,10,7,0,0,6,13,5,11,14,1,0,0,11,16,16,16,9,0,0,0,1,2,1,14,1,0,0,4 +0,0,6,15,16,16,3,0,0,0,14,16,6,6,1,0,0,3,14,5,0,0,0,0,0,11,15,8,4,0,0,0,0,1,10,12,16,8,0,0,0,0,0,0,5,16,0,0,0,0,0,5,13,14,0,0,0,0,4,16,14,3,0,0,5 +0,0,2,16,5,0,0,0,0,0,6,16,2,0,0,0,0,0,9,13,0,0,0,0,0,0,11,13,12,11,2,0,0,0,14,16,14,10,14,0,0,0,13,7,3,0,14,6,0,0,10,14,4,8,16,7,0,0,2,14,16,15,8,0,6 +0,0,9,13,16,16,4,0,0,2,12,5,4,14,4,0,0,0,0,0,5,13,0,0,0,0,0,3,13,12,5,0,0,0,0,13,14,12,8,0,0,0,0,13,6,0,0,0,0,0,4,14,1,0,0,0,0,0,14,7,0,0,0,0,7 +0,0,6,8,15,13,1,0,0,1,16,16,11,15,4,0,0,0,15,9,8,15,2,0,0,0,10,16,16,10,0,0,0,0,13,16,10,0,0,0,0,4,15,10,12,0,0,0,0,2,15,5,15,0,0,0,0,0,8,16,10,0,0,0,8 +0,1,9,14,8,0,0,0,0,8,11,3,7,11,1,0,0,12,7,0,3,16,4,0,0,3,13,12,14,14,7,0,0,0,0,0,0,6,7,0,0,0,0,0,0,9,9,0,0,0,0,0,2,16,1,0,0,0,8,13,14,5,0,0,9 +0,0,9,16,11,0,0,0,0,1,16,13,15,7,0,0,0,7,16,6,4,16,3,0,0,9,14,0,0,11,10,0,0,8,13,0,0,7,13,0,0,7,13,0,0,7,16,0,0,3,16,7,7,15,6,0,0,0,9,16,16,10,0,0,0 +0,0,6,14,7,6,0,0,0,1,14,6,13,16,1,0,0,5,12,0,9,16,3,0,0,1,15,14,13,11,8,0,0,0,0,0,0,8,8,0,0,0,0,0,0,7,8,0,0,1,14,2,1,12,1,0,0,0,4,13,15,5,0,0,9 +0,2,16,16,16,16,3,0,0,1,16,13,6,4,0,0,0,9,16,3,0,0,0,0,0,9,16,13,7,0,0,0,0,3,11,13,16,9,0,0,0,0,0,0,7,16,1,0,0,2,11,5,12,14,0,0,0,3,16,16,16,5,0,0,5 +0,0,8,16,16,9,0,0,0,1,16,15,11,8,0,0,0,1,14,10,0,0,0,0,0,7,16,10,6,0,0,0,0,2,12,16,16,10,0,0,0,0,0,1,7,15,0,0,0,0,11,5,13,13,0,0,0,0,11,16,16,6,0,0,5 +0,0,0,16,11,0,0,0,0,0,6,16,10,0,0,0,0,0,11,11,0,0,0,0,0,0,12,15,11,5,0,0,0,0,14,15,12,15,11,0,0,0,12,13,0,0,16,5,0,0,6,15,4,11,16,4,0,0,0,13,16,14,9,0,6 +0,1,14,16,16,14,1,0,0,0,10,13,6,4,0,0,0,3,15,11,3,0,0,0,0,5,16,16,16,6,0,0,0,0,0,1,10,15,0,0,0,0,0,0,11,11,0,0,0,0,7,12,16,5,0,0,0,2,15,15,5,0,0,0,5 +0,0,2,14,13,2,0,0,0,0,11,16,15,13,0,0,0,0,13,13,1,16,3,0,0,0,12,13,0,15,6,0,0,1,16,7,1,16,4,0,0,1,16,5,8,16,1,0,0,0,15,13,15,13,0,0,0,0,3,15,15,2,0,0,0 +0,0,3,13,6,0,0,0,0,0,14,11,15,8,0,0,0,0,15,1,14,16,1,0,0,0,11,13,12,13,5,0,0,0,3,8,1,8,10,0,0,0,0,0,0,9,6,0,0,0,9,4,3,16,2,0,0,0,4,14,14,7,0,0,9 +0,0,7,10,16,9,0,0,0,0,15,16,13,15,1,0,0,0,10,13,10,16,2,0,0,0,1,16,16,11,0,0,0,0,8,16,16,5,0,0,0,0,15,8,14,7,0,0,0,0,16,7,16,4,0,0,0,0,9,16,14,0,0,0,8 +0,0,3,12,12,1,0,0,0,3,13,6,9,12,0,0,0,9,5,0,2,15,0,0,0,7,9,4,12,16,1,0,0,0,9,11,3,10,2,0,0,0,0,0,0,11,3,0,0,0,10,2,1,13,0,0,0,0,3,13,16,4,0,0,9 +0,0,3,15,13,2,0,0,0,0,10,16,12,13,0,0,0,0,13,13,9,14,0,0,0,0,6,15,15,11,0,0,0,0,4,16,14,1,0,0,0,0,11,14,15,5,0,0,0,0,9,10,14,9,0,0,0,0,4,16,15,2,0,0,8 +0,0,0,2,15,8,0,0,0,0,1,15,13,3,0,0,0,0,9,13,1,0,0,0,0,1,15,6,0,5,11,0,0,7,14,0,1,15,8,0,0,8,15,9,15,16,3,0,0,1,11,16,16,10,0,0,0,0,0,2,15,5,0,0,4 +0,0,0,16,13,0,0,0,0,0,0,15,15,0,0,0,0,0,0,16,13,0,0,0,0,0,3,16,11,0,0,0,0,0,2,16,12,0,0,0,0,0,3,16,12,0,0,0,0,0,1,16,12,0,0,0,0,0,0,12,15,1,0,0,1 +0,0,3,11,16,15,2,0,0,4,16,10,4,16,4,0,0,7,6,0,5,16,1,0,0,0,0,0,10,12,0,0,0,0,0,9,16,16,10,0,0,0,0,6,15,6,1,0,0,0,0,13,9,0,0,0,0,0,1,15,2,0,0,0,7 +0,0,6,16,16,6,0,0,0,5,13,5,7,13,0,0,0,1,1,0,5,11,0,0,0,0,0,5,14,14,8,0,0,0,0,5,16,8,2,0,0,0,0,8,8,0,0,0,0,0,1,14,3,0,0,0,0,0,7,12,0,0,0,0,7 +0,0,9,16,16,12,0,0,0,2,16,8,9,16,0,0,0,1,8,0,13,14,0,0,0,0,0,13,16,5,0,0,0,0,0,8,14,15,5,0,0,0,0,0,0,9,14,0,0,0,9,6,0,11,15,0,0,0,8,16,16,16,6,0,3 +0,0,9,16,16,16,7,0,0,3,16,11,4,4,1,0,0,6,16,1,0,0,0,0,0,9,16,9,4,0,0,0,0,0,6,10,16,8,0,0,0,0,2,0,8,14,0,0,0,0,13,7,8,14,0,0,0,0,10,16,16,4,0,0,5 +0,0,0,14,11,0,0,0,0,0,0,12,16,2,0,0,0,0,0,12,16,2,0,0,0,0,0,15,16,1,0,0,0,0,0,16,16,1,0,0,0,0,3,16,15,0,0,0,0,0,4,16,14,0,0,0,0,0,1,14,16,4,0,0,1 +0,0,1,13,14,1,0,0,0,1,11,16,10,12,0,0,0,6,16,15,0,13,3,0,0,7,14,5,0,8,9,0,0,6,13,0,0,8,11,0,0,4,15,0,1,14,9,0,0,0,14,8,12,16,3,0,0,0,3,15,15,4,0,0,0 +0,0,2,14,13,1,0,0,0,0,14,16,13,11,0,0,0,4,16,11,1,13,3,0,0,5,16,3,0,10,9,0,0,6,13,0,0,9,11,0,0,2,15,0,1,15,8,0,0,0,11,12,15,15,1,0,0,0,2,13,16,5,0,0,0 +0,0,10,16,16,10,0,0,0,4,16,6,1,16,2,0,0,0,10,0,1,16,3,0,0,0,0,0,5,15,0,0,0,0,0,0,11,11,0,0,0,0,0,2,15,4,0,0,0,0,2,13,16,12,8,0,0,0,13,15,11,8,14,7,2 +0,0,10,16,14,6,0,0,0,0,16,8,6,16,3,0,0,0,9,5,0,13,6,0,0,0,0,0,0,14,8,0,0,0,0,0,4,16,2,0,0,0,0,0,13,11,0,0,0,0,2,9,16,10,6,1,0,0,12,16,14,13,16,8,2 +0,0,7,15,16,15,0,0,0,2,15,2,5,16,1,0,0,0,0,0,10,13,0,0,0,0,0,3,14,11,2,0,0,0,6,16,16,16,8,0,0,0,5,13,7,0,0,0,0,0,3,15,1,0,0,0,0,0,10,12,0,0,0,0,7 +0,0,6,14,16,6,0,0,0,6,16,16,8,15,0,0,0,7,14,14,12,14,0,0,0,0,13,10,16,6,0,0,0,0,4,16,10,0,0,0,0,0,11,13,16,2,0,0,0,0,15,5,15,4,0,0,0,0,8,16,15,1,0,0,8 +0,0,10,16,13,3,0,0,0,0,6,15,12,13,0,0,0,0,0,6,6,16,0,0,0,0,0,0,3,16,1,0,0,0,0,0,7,14,0,0,0,0,0,0,13,8,0,0,0,0,4,15,16,13,8,5,0,0,6,16,10,9,12,15,2 +0,0,10,16,14,2,0,0,0,3,16,9,8,14,0,0,0,5,16,3,2,15,6,0,0,5,16,3,0,12,10,0,0,7,14,0,0,12,11,0,0,7,16,1,3,16,5,0,0,4,16,7,12,11,1,0,0,0,10,16,14,3,0,0,0 +0,0,0,1,15,12,0,0,0,0,0,12,16,13,0,0,0,0,11,16,16,13,0,0,0,11,16,11,13,13,0,0,0,3,7,0,12,14,0,0,0,0,0,0,11,13,0,0,0,0,0,0,15,13,0,0,0,0,0,2,15,13,0,0,1 +0,0,11,16,16,7,0,0,0,2,16,10,11,15,0,0,0,0,15,4,4,16,3,0,0,0,3,3,5,16,1,0,0,0,0,0,9,13,0,0,0,0,0,1,16,7,0,0,0,0,2,12,15,6,4,1,0,0,10,16,16,16,16,10,2 +0,0,0,14,14,1,0,0,0,0,3,16,14,0,0,0,0,0,10,16,2,0,0,0,0,0,16,16,8,3,0,0,0,3,16,15,8,14,2,0,0,0,16,11,0,11,10,0,0,0,9,14,7,16,10,0,0,0,0,12,16,14,1,0,6 +0,0,8,16,16,12,0,0,0,0,14,12,10,14,0,0,0,0,3,3,10,10,0,0,0,0,0,8,16,5,0,0,0,0,0,7,16,6,0,0,0,0,4,0,7,14,0,0,0,2,16,5,10,16,0,0,0,0,7,16,16,7,0,0,3 +0,0,7,16,16,14,0,0,0,0,16,12,10,15,1,0,0,0,10,4,16,10,0,0,0,0,0,9,16,11,1,0,0,0,0,0,7,16,8,0,0,0,0,0,0,16,7,0,0,0,8,4,10,15,2,0,0,0,12,16,16,6,0,0,3 +0,0,12,16,16,5,0,0,0,3,13,8,14,15,1,0,0,0,0,0,13,16,0,0,0,6,16,16,16,16,13,0,0,6,9,11,16,9,5,0,0,0,0,14,11,0,0,0,0,0,7,16,2,0,0,0,0,0,13,10,0,0,0,0,7 +0,0,5,15,16,15,1,0,0,10,16,11,8,16,5,0,0,12,10,1,10,15,1,0,0,0,0,8,16,11,1,0,0,0,0,1,10,16,10,0,0,0,0,2,0,7,16,0,0,0,8,13,5,15,12,0,0,0,5,15,16,14,3,0,3 +0,0,10,16,16,10,1,0,0,4,16,11,11,16,3,0,0,1,9,1,10,15,1,0,0,0,0,5,16,10,0,0,0,0,0,0,7,15,10,0,0,0,0,0,0,7,16,0,0,2,12,7,4,14,15,1,0,0,11,16,16,15,4,0,3 +0,0,0,1,13,7,0,0,0,0,0,10,14,1,0,0,0,0,3,16,5,0,0,0,0,0,13,11,0,3,8,0,0,6,15,2,0,14,7,0,0,8,16,12,13,16,4,0,0,3,11,11,15,12,0,0,0,0,0,0,16,9,0,0,4 +0,0,0,14,14,1,0,0,0,0,7,16,10,2,0,0,0,0,14,14,1,0,0,0,0,0,14,16,14,4,0,0,0,1,16,16,8,16,2,0,0,0,14,11,0,13,9,0,0,0,9,14,6,16,7,0,0,0,0,14,16,14,0,0,6 +0,0,0,14,14,1,0,0,0,0,6,16,12,0,0,0,0,0,12,16,2,0,0,0,0,0,16,16,16,9,0,0,0,1,16,15,8,14,9,0,0,0,14,12,0,12,13,0,0,0,6,14,7,16,10,0,0,0,1,13,16,13,1,0,6 +0,0,0,12,14,1,0,0,0,0,5,16,12,0,0,0,0,0,10,15,1,0,0,0,0,0,14,15,9,2,0,0,0,1,16,15,16,15,2,0,0,0,15,7,1,12,10,0,0,0,10,14,4,15,12,0,0,0,0,11,16,15,5,0,6 +0,0,0,4,14,2,0,0,0,0,1,15,7,0,0,0,0,0,8,14,0,2,8,0,0,1,15,5,0,10,11,0,0,6,14,1,6,16,5,0,0,12,16,16,16,14,2,0,0,3,12,13,16,3,0,0,0,0,0,6,10,0,0,0,4 +0,0,0,12,14,5,0,0,0,0,6,11,4,15,0,0,0,0,8,9,8,16,3,0,0,0,3,14,13,13,4,0,0,0,0,0,0,10,7,0,0,0,0,0,0,7,8,0,0,0,13,6,1,7,9,0,0,0,1,10,14,15,2,0,9 +0,0,1,15,15,2,0,0,0,0,0,12,16,7,0,0,0,0,0,14,16,5,0,0,0,0,0,13,16,2,0,0,0,0,2,16,13,0,0,0,0,0,6,16,13,0,0,0,0,0,6,16,11,0,0,0,0,0,1,14,16,7,0,0,1 +0,0,7,16,16,10,0,0,0,0,14,13,7,4,0,0,0,5,16,6,0,0,0,0,0,14,15,8,6,1,0,0,0,4,12,12,16,13,2,0,0,0,0,0,1,15,6,0,0,0,5,6,6,16,4,0,0,0,7,16,16,11,1,0,5 +0,0,1,12,12,3,0,0,0,0,9,13,5,14,0,0,0,0,15,3,0,10,2,0,0,3,16,4,0,9,4,0,0,4,13,0,0,9,2,0,0,3,13,0,1,15,0,0,0,0,13,6,8,9,0,0,0,0,2,14,12,2,0,0,0 +0,0,8,16,6,3,0,0,0,2,13,5,10,14,0,0,0,4,14,1,9,16,0,0,0,0,12,13,8,13,0,0,0,0,0,3,0,11,2,0,0,0,0,0,0,12,2,0,0,0,4,1,0,14,1,0,0,0,6,15,16,10,0,0,9 +0,0,4,9,13,13,0,0,0,1,13,15,6,2,0,0,0,0,9,7,0,0,0,0,0,0,13,3,4,0,0,0,0,2,16,16,16,8,0,0,0,2,11,3,0,10,4,0,0,0,2,5,4,15,1,0,0,0,3,12,14,8,0,0,5 +0,1,13,16,9,0,0,0,0,8,15,8,15,5,0,0,0,11,9,0,12,8,0,0,0,0,0,0,11,8,0,0,0,0,0,2,16,3,0,0,0,0,0,6,15,1,0,0,0,0,7,16,16,16,10,1,0,1,16,14,10,8,11,1,2 +0,0,2,16,14,2,0,0,0,1,12,16,16,10,0,0,0,4,16,12,12,12,0,0,0,1,15,11,16,6,0,0,0,0,6,16,13,0,0,0,0,0,9,14,14,8,0,0,0,0,10,12,6,15,0,0,0,0,2,13,16,12,0,0,8 +0,0,7,16,14,3,0,0,0,0,9,14,11,15,0,0,0,0,1,5,0,15,5,0,0,0,0,0,0,16,5,0,0,0,0,0,3,16,4,0,0,0,0,1,12,14,1,0,0,0,5,12,16,16,14,1,0,0,8,16,14,10,13,3,2 +0,0,5,13,11,1,0,0,0,3,16,11,8,12,0,0,0,5,16,0,0,13,3,0,0,5,13,0,0,6,7,0,0,7,10,0,0,8,7,0,0,4,13,0,1,14,5,0,0,1,15,5,12,10,0,0,0,0,7,16,10,1,0,0,0 +0,0,4,15,13,2,0,0,0,4,16,15,7,11,0,0,0,8,14,14,0,14,2,0,0,7,9,12,4,8,7,0,0,6,11,0,0,7,9,0,0,2,15,1,0,10,8,0,0,0,11,8,4,15,4,0,0,0,2,14,16,10,0,0,0 +0,0,0,3,16,8,0,0,0,0,0,11,16,9,0,0,0,3,12,16,16,8,0,0,0,13,16,9,16,8,0,0,0,1,2,0,16,8,0,0,0,0,0,2,16,4,0,0,0,0,0,2,16,6,0,0,0,0,0,1,16,9,0,0,1 +0,1,12,16,16,15,0,0,0,7,13,7,8,16,0,0,0,0,1,0,8,14,0,0,0,0,7,15,16,16,11,0,0,3,15,12,15,4,2,0,0,0,1,12,7,0,0,0,0,0,2,16,2,0,0,0,0,0,13,9,0,0,0,0,7 +0,0,0,8,13,0,0,0,0,0,0,14,6,0,0,0,0,0,6,12,0,0,0,0,0,0,8,13,8,2,0,0,0,0,13,16,13,14,4,0,0,0,11,8,2,3,13,0,0,0,7,11,5,12,11,0,0,0,1,11,12,4,0,0,6 +0,0,13,16,16,9,0,0,0,2,16,7,7,16,0,0,0,0,4,0,11,10,0,0,0,0,1,13,14,3,0,0,0,0,0,7,15,11,1,0,0,0,0,1,2,13,10,0,0,0,8,9,1,12,11,0,0,0,11,16,16,15,1,0,3 +0,0,7,16,12,0,0,0,0,1,16,7,13,3,0,0,0,0,15,2,10,6,0,0,0,0,4,0,12,5,0,0,0,0,0,0,15,1,0,0,0,0,0,5,13,0,0,0,0,0,6,15,14,8,7,1,0,0,6,13,12,12,15,12,2 +0,0,1,14,14,2,0,0,0,0,1,14,16,3,0,0,0,0,0,10,16,2,0,0,0,0,0,11,16,5,0,0,0,0,0,15,16,5,0,0,0,0,0,15,16,5,0,0,0,0,0,10,16,12,1,0,0,0,0,14,16,11,0,0,1 +0,1,8,16,15,0,0,0,0,4,13,5,16,0,0,0,0,0,0,0,16,0,0,0,0,0,1,7,14,6,2,0,0,0,12,16,14,13,8,0,0,0,8,16,4,0,0,0,0,0,5,15,0,0,0,0,0,0,14,8,0,0,0,0,7 +0,0,0,7,14,0,0,0,0,0,1,14,8,0,1,0,0,0,8,14,0,9,11,0,0,1,15,6,1,14,10,0,0,8,15,0,8,16,1,0,0,10,15,9,15,15,0,0,0,5,15,14,16,6,0,0,0,0,0,8,15,2,0,0,4 +0,0,0,16,6,0,0,0,0,0,3,16,6,0,0,0,0,0,9,16,0,0,0,0,0,0,12,16,12,9,1,0,0,0,15,16,14,13,12,0,0,0,14,15,7,0,15,6,0,0,9,14,4,7,15,8,0,0,1,13,16,16,12,1,6 +0,0,10,16,16,10,0,0,0,8,15,7,6,14,0,0,0,1,3,0,15,8,0,0,0,0,0,12,13,1,0,0,0,0,0,7,15,4,0,0,0,0,0,0,8,12,0,0,0,0,6,0,12,10,0,0,0,0,13,16,15,3,0,0,3 +0,0,2,14,14,0,0,0,0,0,1,15,16,2,0,0,0,0,0,14,16,3,0,0,0,0,0,10,16,5,0,0,0,0,0,12,14,1,0,0,0,0,0,13,13,0,0,0,0,0,1,16,11,0,0,0,0,0,2,15,12,0,0,0,1 +0,1,12,16,14,2,0,0,0,7,15,4,13,7,0,0,0,0,2,0,12,7,0,0,0,0,0,6,16,8,0,0,0,0,0,15,13,15,9,0,0,0,0,1,0,8,15,0,0,0,8,4,1,12,10,0,0,1,13,16,16,13,1,0,3 +0,0,8,16,13,2,0,0,0,2,16,8,11,14,1,0,0,3,16,1,12,16,5,0,0,0,12,16,16,13,9,0,0,0,0,4,2,9,14,0,0,0,4,5,0,8,13,0,0,1,16,11,1,13,7,0,0,0,8,15,16,15,1,0,9 +0,0,2,16,10,0,0,0,0,0,3,16,16,1,0,0,0,0,5,16,14,0,0,0,0,0,3,16,13,0,0,0,0,0,1,16,15,0,0,0,0,0,1,16,16,0,0,0,0,0,2,16,15,2,0,0,0,0,0,15,16,11,0,0,1 +0,0,3,13,16,13,1,0,0,3,15,13,10,16,2,0,0,4,10,0,4,16,1,0,0,0,0,3,11,14,2,0,0,0,9,16,16,16,8,0,0,0,9,12,16,0,0,0,0,0,1,12,11,0,0,0,0,0,3,16,8,0,0,0,7 +0,0,0,10,11,0,0,0,0,0,0,14,14,0,0,0,0,0,4,16,3,0,0,0,0,0,6,16,10,2,0,0,0,0,12,16,12,11,5,0,0,0,11,7,3,2,14,0,0,0,6,13,0,4,13,0,0,0,0,9,16,15,5,0,6 +0,0,6,12,13,7,0,0,0,0,16,10,16,12,0,0,0,0,13,7,16,9,0,0,0,0,1,15,13,0,0,0,0,0,2,16,13,0,0,0,0,0,10,7,10,2,0,0,0,0,13,4,13,3,0,0,0,0,7,15,9,0,0,0,8 +0,0,0,0,12,10,0,0,0,0,0,11,16,3,0,0,0,0,4,15,4,0,0,0,0,0,12,10,0,8,10,0,0,6,15,1,1,15,8,0,0,7,16,8,10,16,7,0,0,4,15,16,16,13,0,0,0,0,0,0,12,9,0,0,4 +0,0,5,16,16,10,0,0,0,2,16,14,14,14,0,0,0,2,14,4,14,10,0,0,0,0,0,8,16,8,0,0,0,0,0,0,8,16,6,0,0,0,0,0,0,12,13,0,0,0,7,11,8,16,11,0,0,0,8,16,16,10,1,0,3 +0,0,2,16,12,0,0,0,0,0,5,16,16,1,0,0,0,0,2,16,15,0,0,0,0,0,6,16,14,0,0,0,0,0,8,16,9,0,0,0,0,0,7,16,14,0,0,0,0,0,8,16,11,0,0,0,0,0,2,15,13,0,0,0,1 +0,0,0,6,16,6,0,0,0,0,3,16,9,0,0,0,0,1,13,13,1,2,1,0,0,7,16,5,1,14,10,0,0,12,16,8,12,16,2,0,0,2,12,15,16,11,0,0,0,0,0,8,16,4,0,0,0,0,0,8,15,0,0,0,4 +0,0,4,16,12,1,0,0,0,2,16,16,11,8,0,0,0,3,16,13,1,14,2,0,0,4,16,0,0,13,4,0,0,4,15,0,0,13,8,0,0,1,16,1,0,14,5,0,0,0,10,8,7,15,1,0,0,0,2,13,16,8,0,0,0 +0,0,7,16,15,4,0,0,0,0,3,13,4,2,0,0,0,0,9,9,0,0,0,0,0,0,14,7,0,0,0,0,0,0,13,16,13,2,0,0,0,0,0,4,11,8,0,0,0,0,0,1,13,6,0,0,0,0,6,16,14,0,0,0,5 +0,0,9,16,16,7,0,0,0,13,15,9,12,15,0,0,0,5,4,0,13,13,0,0,0,0,0,11,16,5,0,0,0,0,0,11,16,10,3,0,0,0,0,0,4,12,13,0,0,0,7,1,1,12,14,0,0,0,9,16,16,14,5,0,3 +0,0,0,15,2,0,0,0,0,0,0,16,4,0,0,0,0,0,6,9,0,0,0,0,0,0,12,16,16,9,1,0,0,0,14,11,0,8,9,0,0,0,11,14,3,2,14,0,0,0,8,11,4,14,7,0,0,0,1,12,14,6,0,0,6 +0,0,6,12,15,9,1,0,0,5,14,4,5,16,3,0,0,9,8,3,13,16,4,0,0,3,15,15,7,10,8,0,0,0,0,1,0,12,8,0,0,0,0,0,0,11,2,0,0,0,7,4,5,13,0,0,0,0,5,14,15,4,0,0,9 +0,0,3,16,14,1,0,0,0,0,11,16,6,0,0,0,0,0,15,9,1,0,0,0,0,3,16,14,16,12,2,0,0,4,16,14,13,11,14,0,0,0,16,5,3,7,16,3,0,0,11,12,8,16,10,0,0,0,2,14,16,12,0,0,6 +0,0,2,16,13,0,0,0,0,0,4,16,15,0,0,0,0,0,4,16,12,0,0,0,0,0,7,16,10,0,0,0,0,0,5,16,9,0,0,0,0,0,7,16,7,0,0,0,0,0,3,16,9,0,0,0,0,0,1,12,15,0,0,0,1 +0,0,8,16,15,4,0,0,0,10,16,11,13,12,0,0,0,12,7,0,13,8,0,0,0,0,1,7,16,12,5,0,0,5,15,16,16,14,9,0,0,2,8,15,10,0,0,0,0,0,7,16,2,0,0,0,0,0,10,13,0,0,0,0,7 +0,0,11,16,16,11,0,0,0,0,10,16,7,2,0,0,0,1,16,9,0,0,0,0,0,0,13,16,8,0,0,0,0,0,0,4,15,4,0,0,0,0,0,0,14,8,0,0,0,0,3,8,16,4,0,0,0,0,14,16,9,0,0,0,5 +0,0,0,1,11,12,0,0,0,0,0,9,13,1,0,0,0,0,8,15,3,0,0,0,0,2,16,6,1,5,2,0,0,12,13,8,13,16,9,0,0,16,16,13,11,16,6,0,0,3,4,0,11,14,0,0,0,0,0,1,16,12,0,0,4 +0,0,0,3,14,9,0,0,0,0,0,13,11,1,0,0,0,0,9,14,0,0,0,0,0,4,16,4,0,4,2,0,0,12,12,7,14,16,10,0,0,13,16,14,11,16,4,0,0,2,2,0,11,13,0,0,0,0,0,3,16,9,0,0,4 +0,0,3,13,16,16,5,0,0,4,15,13,10,16,6,0,0,1,8,1,4,16,4,0,0,0,1,6,11,16,10,0,0,0,13,16,16,13,3,0,0,0,10,7,16,4,0,0,0,0,0,11,13,0,0,0,0,0,4,16,8,0,0,0,7 +0,0,7,14,11,1,0,0,0,6,15,6,7,10,0,0,0,11,7,0,2,12,0,0,0,5,4,0,1,12,0,0,0,0,0,0,3,9,0,0,0,0,0,0,11,3,0,0,0,0,0,9,13,2,3,0,0,0,7,16,16,16,16,6,2 +0,0,8,15,14,7,0,0,0,0,12,16,14,16,0,0,0,0,3,15,14,14,1,0,0,0,0,11,16,1,0,0,0,0,5,14,14,4,0,0,0,0,12,6,8,8,0,0,0,1,16,2,9,7,0,0,0,0,9,16,11,1,0,0,8 +0,0,11,16,11,0,0,0,0,3,16,11,15,6,0,0,0,1,10,3,10,10,0,0,0,0,0,0,9,10,0,0,0,0,0,0,12,9,0,0,0,0,0,5,16,5,0,0,0,1,13,16,16,13,8,0,0,0,11,11,8,13,16,7,2 +0,0,9,16,13,1,0,0,0,8,16,8,11,8,0,0,0,11,10,0,8,10,0,0,0,1,5,0,11,11,0,0,0,0,0,0,13,9,0,0,0,0,0,4,16,2,0,0,0,0,4,14,15,7,4,1,0,0,8,16,16,16,16,12,2 +0,0,9,16,16,16,4,0,0,0,8,16,5,4,0,0,0,1,15,9,0,0,0,0,0,9,15,8,7,3,0,0,0,3,12,12,14,16,5,0,0,0,0,0,1,11,12,0,0,0,1,2,1,11,10,0,0,0,9,16,16,16,4,0,5 +0,0,2,13,16,8,0,0,0,0,13,7,7,13,0,0,0,1,7,0,7,13,2,0,0,0,1,10,16,16,13,0,0,0,6,13,16,2,0,0,0,0,1,5,11,0,0,0,0,0,0,12,4,0,0,0,0,0,2,14,0,0,0,0,7 +0,1,8,11,13,12,0,0,0,5,9,0,4,16,1,0,0,7,5,0,5,16,5,0,0,1,13,11,13,6,8,0,0,0,3,4,1,4,8,0,0,0,0,0,0,7,5,0,0,2,8,1,2,14,0,0,0,0,8,13,11,3,0,0,9 +0,0,14,16,16,16,2,0,0,7,16,5,1,0,0,0,0,14,13,7,3,0,0,0,0,4,12,13,16,9,0,0,0,0,0,0,6,15,0,0,0,0,0,0,9,14,0,0,0,0,5,14,16,3,0,0,0,1,15,11,4,0,0,0,5 +0,0,0,2,14,5,0,0,0,0,1,11,11,0,0,0,0,0,7,14,1,0,0,0,0,5,16,3,4,6,2,0,0,14,16,14,16,16,10,0,0,9,12,7,8,16,4,0,0,0,0,0,13,12,0,0,0,0,0,3,15,6,0,0,4 +0,0,2,15,15,3,0,0,0,3,12,15,10,13,0,0,0,3,16,14,11,14,0,0,0,0,7,16,16,9,0,0,0,0,5,16,13,0,0,0,0,0,13,16,11,0,0,0,0,0,13,16,15,0,0,0,0,0,2,15,10,0,0,0,8 +0,0,4,15,15,4,0,0,0,6,16,16,12,14,0,0,0,11,11,6,14,12,0,0,0,3,14,13,14,1,0,0,0,0,12,16,5,0,0,0,0,1,16,13,9,0,0,0,0,0,13,10,15,0,0,0,0,0,3,15,15,0,0,0,8 +0,0,0,5,15,3,0,0,0,0,2,16,4,0,0,0,0,0,8,12,0,2,12,0,0,3,16,1,0,11,10,0,0,9,13,0,3,16,5,0,0,13,15,16,16,12,0,0,0,5,12,14,16,4,0,0,0,0,0,6,15,2,0,0,4 +0,0,1,11,12,9,5,0,0,0,14,6,1,15,10,0,0,2,12,4,12,7,10,0,0,1,13,12,3,4,8,0,0,0,0,0,0,4,8,0,0,0,3,4,0,7,6,0,0,0,12,7,3,11,0,0,0,0,3,13,15,3,0,0,9 +0,0,2,15,13,2,0,0,0,0,8,16,15,12,0,0,0,0,9,14,1,15,5,0,0,0,14,13,0,11,9,0,0,3,16,11,0,12,9,0,0,2,16,3,2,16,6,0,0,1,13,11,15,14,0,0,0,0,4,16,15,5,0,0,0 +0,0,10,9,14,10,0,0,0,2,15,15,4,14,2,0,0,0,13,5,9,12,0,0,0,0,4,16,14,2,0,0,0,0,11,12,10,0,0,0,0,0,15,1,12,0,0,0,0,3,12,2,13,0,0,0,0,0,9,16,7,0,0,0,8 +0,0,4,14,16,4,0,0,0,0,12,8,9,12,0,0,0,2,11,0,0,12,3,0,0,4,7,0,0,5,8,0,0,6,4,0,0,4,8,0,0,4,9,0,0,6,8,0,0,0,14,9,6,15,2,0,0,0,4,16,15,5,0,0,0 +0,0,0,3,15,16,1,0,0,0,7,15,16,14,0,0,0,4,16,16,15,13,0,0,0,0,8,2,15,13,0,0,0,0,0,0,16,15,0,0,0,0,0,0,16,12,0,0,0,0,0,1,16,16,2,0,0,0,0,3,15,13,1,0,1 +0,1,10,16,3,0,0,0,0,5,16,14,8,0,0,0,0,10,11,8,12,0,0,0,0,1,1,8,12,0,0,0,0,0,0,12,8,0,0,0,0,0,2,15,5,1,2,0,0,0,10,16,14,14,12,0,0,0,14,16,16,13,7,0,2 +0,0,8,16,8,0,0,0,0,0,16,6,15,1,0,0,0,4,10,0,12,2,0,0,0,0,0,7,16,3,0,0,0,0,0,5,13,16,3,0,0,0,0,0,0,11,6,0,0,0,12,9,9,16,2,0,0,0,8,16,15,7,0,0,3 +0,0,3,16,0,0,0,0,0,0,10,10,0,0,0,0,0,1,16,3,13,5,0,0,0,8,13,1,16,7,6,0,0,14,13,9,16,16,10,0,0,11,16,16,14,9,3,0,0,1,4,16,8,0,0,0,0,0,2,16,6,0,0,0,4 +0,1,12,12,12,15,6,0,0,1,14,5,5,4,1,0,0,0,12,0,0,0,0,0,0,8,16,16,15,8,0,0,0,1,4,4,5,12,7,0,0,0,0,0,0,11,4,0,0,2,7,2,10,12,0,0,0,2,16,15,8,1,0,0,5 +0,0,1,13,4,0,0,0,0,0,12,13,1,0,0,0,0,1,16,2,0,0,0,0,0,5,16,8,4,2,0,0,0,5,16,14,16,15,3,0,0,3,13,1,0,9,9,0,0,0,11,12,4,11,11,0,0,0,2,13,16,13,1,0,6 +0,0,0,11,16,16,10,0,0,0,10,12,9,15,9,0,0,0,13,8,0,12,5,0,0,0,6,0,4,12,0,0,0,0,2,15,16,16,9,0,0,0,6,13,15,9,1,0,0,0,0,9,9,0,0,0,0,0,1,14,4,0,0,0,7 +0,0,4,12,13,5,0,0,0,3,15,8,10,15,2,0,0,3,14,2,2,15,3,0,0,0,10,16,16,7,0,0,0,0,0,7,13,15,3,0,0,0,2,11,1,12,5,0,0,0,7,9,1,14,2,0,0,0,4,16,16,7,0,0,8 +0,0,5,12,13,12,0,0,0,7,13,5,8,15,0,0,0,4,14,4,13,16,3,0,0,0,6,12,8,9,4,0,0,0,0,0,0,8,8,0,0,0,0,0,0,6,8,0,0,0,1,3,2,13,6,0,0,0,6,16,16,8,1,0,9 +0,0,3,10,16,4,0,0,0,1,15,16,16,10,0,0,0,6,10,2,3,14,1,0,0,8,6,0,0,10,4,0,0,4,8,0,0,5,8,0,0,0,15,0,0,9,8,0,0,0,12,14,10,16,3,0,0,0,4,14,13,5,0,0,0 +0,0,0,0,9,15,0,0,0,0,1,10,16,16,1,0,0,5,16,15,14,16,0,0,0,1,8,0,10,16,0,0,0,0,0,0,11,16,0,0,0,0,0,0,10,15,0,0,0,0,0,0,12,16,3,0,0,0,0,0,8,16,3,0,1 +0,3,16,15,1,0,0,0,0,10,16,15,6,0,0,0,0,13,10,13,8,0,0,0,0,1,3,11,10,0,0,0,0,0,0,15,8,0,0,0,0,0,4,16,10,5,7,0,0,1,13,16,16,16,16,0,0,2,14,15,11,8,3,0,2 +0,0,12,16,15,1,0,0,0,5,16,10,15,8,0,0,0,1,7,3,14,6,0,0,0,0,0,12,16,7,0,0,0,0,0,3,13,16,6,0,0,0,4,0,0,15,11,0,0,2,16,10,11,16,7,0,0,0,10,16,16,10,1,0,3 +0,0,0,10,12,0,0,0,0,0,4,15,1,0,0,0,0,0,13,10,1,2,0,0,0,5,15,2,15,9,1,0,0,11,13,6,16,16,9,0,0,13,16,16,16,10,2,0,0,2,7,13,11,0,0,0,0,0,0,13,11,0,0,0,4 +0,0,11,10,8,12,1,0,0,0,16,13,12,10,0,0,0,5,14,2,0,0,0,0,0,7,16,16,13,8,0,0,0,0,4,4,8,16,7,0,0,0,0,0,0,9,8,0,0,0,9,4,7,16,5,0,0,0,14,16,14,7,0,0,5 +0,0,2,13,0,0,0,0,0,0,12,12,0,0,0,0,0,2,16,2,0,0,0,0,0,4,14,8,7,2,0,0,0,8,15,12,13,15,2,0,0,2,15,1,0,7,11,0,0,0,13,8,5,13,9,0,0,0,2,13,16,11,1,0,6 +0,0,1,9,16,16,16,1,0,0,8,15,10,14,13,0,0,0,14,6,0,14,6,0,0,0,6,2,6,16,3,0,0,0,0,12,16,16,10,0,0,0,0,6,16,8,0,0,0,0,0,7,13,0,0,0,0,0,0,14,6,0,0,0,7 +0,0,3,12,15,11,2,0,0,0,11,13,7,13,8,0,0,7,15,1,5,15,3,0,0,1,12,16,16,5,0,0,0,0,0,13,15,15,2,0,0,0,2,13,0,10,5,0,0,0,4,11,4,11,6,0,0,0,2,13,16,12,0,0,8 +0,0,11,16,16,12,0,0,0,3,16,7,14,16,1,0,0,0,15,14,15,16,6,0,0,0,2,10,9,15,9,0,0,0,0,0,0,9,10,0,0,0,0,0,0,12,8,0,0,0,6,11,6,15,5,0,0,0,9,16,16,12,0,0,9 +0,0,2,9,14,12,0,0,0,0,12,16,10,15,1,0,0,4,14,3,2,6,6,0,0,5,7,0,0,3,8,0,0,4,7,0,0,1,8,0,0,3,12,1,0,5,8,0,0,0,10,12,7,14,3,0,0,0,1,12,16,8,0,0,0 +0,0,0,0,11,15,1,0,0,0,0,6,16,16,2,0,0,3,13,16,16,16,0,0,0,9,16,12,16,14,0,0,0,1,3,0,16,13,0,0,0,0,0,0,14,13,0,0,0,0,0,0,12,16,5,0,0,0,0,0,8,16,7,0,1 +0,4,16,15,2,0,0,0,0,11,15,15,7,0,0,0,0,9,10,6,14,0,0,0,0,0,0,7,15,0,0,0,0,0,0,13,10,0,0,0,0,0,1,16,7,2,2,0,0,1,12,16,15,16,15,0,0,4,16,16,16,12,11,0,2 +0,1,12,15,5,0,0,0,0,4,15,8,15,3,0,0,0,0,3,1,14,4,0,0,0,0,4,14,16,1,0,0,0,0,1,10,14,15,4,0,0,0,0,0,0,12,8,0,0,4,8,4,10,16,4,0,0,2,12,16,13,6,0,0,3 +0,0,0,12,7,0,0,0,0,0,6,15,1,1,0,0,0,1,14,8,10,8,0,0,0,6,15,0,13,12,6,0,0,14,15,12,16,16,9,0,0,10,16,15,16,8,1,0,0,0,0,10,16,1,0,0,0,0,0,12,9,0,0,0,4 +0,2,6,10,12,1,0,0,0,14,13,10,5,1,0,0,0,10,6,0,0,0,0,0,0,10,13,12,12,5,0,0,0,2,8,5,7,14,8,0,0,0,0,0,0,5,12,0,0,0,2,2,1,10,10,0,0,0,5,16,16,14,1,0,5 +0,0,6,14,1,0,0,0,0,0,12,10,0,0,0,0,0,3,16,1,0,0,0,0,0,5,14,0,4,2,0,0,0,7,16,16,16,16,5,0,0,4,16,6,0,9,11,0,0,0,14,8,5,13,9,0,0,0,5,13,16,12,1,0,6 +0,0,1,14,16,16,15,1,0,0,11,14,8,13,11,0,0,0,15,6,0,14,3,0,0,0,5,1,5,13,1,0,0,0,0,13,16,16,9,0,0,0,2,16,15,9,1,0,0,0,0,11,9,0,0,0,0,0,3,16,2,0,0,0,7 +0,0,1,14,13,4,0,0,0,3,15,12,11,15,0,0,0,8,11,1,7,13,0,0,0,1,13,14,16,1,0,0,0,0,0,14,13,14,2,0,0,0,2,12,0,9,8,0,0,0,3,13,4,12,6,0,0,0,0,9,14,13,1,0,8 +0,0,8,13,14,5,0,0,0,5,13,4,11,9,0,0,0,4,13,1,12,14,0,0,0,0,8,14,11,12,4,0,0,0,0,0,0,7,8,0,0,0,0,0,0,4,8,0,0,0,2,2,0,11,7,0,0,0,8,16,16,13,2,0,9 +0,0,2,12,7,0,0,0,0,0,15,14,15,6,0,0,0,6,10,4,2,14,1,0,0,8,8,0,0,8,5,0,0,7,8,0,0,4,8,0,0,2,14,0,0,5,6,0,0,0,9,12,4,14,3,0,0,0,1,13,15,9,0,0,0 +0,1,11,15,13,2,0,0,0,8,13,5,14,9,0,0,0,3,15,1,10,12,0,0,0,0,7,15,14,16,3,0,0,0,0,0,0,13,8,0,0,0,0,0,0,12,8,0,0,2,8,4,5,16,7,0,0,1,15,16,15,8,1,0,9 +0,0,14,12,12,12,6,0,0,2,15,8,8,8,4,0,0,5,12,0,0,0,0,0,0,8,16,12,11,7,0,0,0,1,4,4,9,15,7,0,0,0,0,0,0,8,8,0,0,1,11,4,5,14,7,0,0,0,12,16,16,8,1,0,5 +0,2,9,11,12,15,6,0,0,6,16,9,8,8,1,0,0,4,13,0,0,0,0,0,0,4,16,12,11,5,0,0,0,1,5,4,8,14,5,0,0,0,0,0,0,8,8,0,0,1,6,4,5,15,3,0,0,3,16,16,16,8,0,0,5 +0,0,0,9,15,1,0,0,0,0,10,13,4,0,0,0,0,2,15,1,0,0,0,0,0,5,11,4,4,0,0,0,0,4,16,16,16,16,4,0,0,0,16,2,0,10,8,0,0,0,8,12,4,13,7,0,0,0,1,9,16,11,1,0,6 +0,0,8,9,8,12,8,0,0,0,12,14,10,8,5,0,0,1,14,2,0,0,0,0,0,6,16,12,12,8,0,0,0,1,4,4,7,15,7,0,0,0,0,0,0,10,7,0,0,1,12,4,9,15,1,0,0,0,9,16,14,3,0,0,5 +0,0,2,15,5,0,0,0,0,0,11,16,16,6,0,0,0,3,14,3,7,16,3,0,0,7,8,0,0,8,8,0,0,5,8,0,0,4,8,0,0,4,12,0,0,8,8,0,0,0,14,9,8,16,2,0,0,0,3,14,15,6,0,0,0 +0,0,9,12,13,6,0,0,0,0,16,8,8,15,2,0,0,0,16,10,9,16,5,0,0,0,4,12,11,12,5,0,0,0,0,0,0,8,8,0,0,0,0,0,0,9,7,0,0,0,8,4,7,16,2,0,0,0,10,16,16,7,0,0,9 +0,0,1,12,12,4,1,0,0,0,13,13,13,14,8,0,0,6,15,0,0,12,7,0,0,2,16,13,12,13,1,0,0,0,0,14,16,9,0,0,0,0,6,10,2,16,0,0,0,0,11,8,5,16,0,0,0,0,3,12,16,7,0,0,8 +0,1,14,16,14,8,0,0,0,5,12,5,14,9,0,0,0,2,15,9,13,12,0,0,0,0,3,8,8,16,2,0,0,0,0,0,0,11,6,0,0,0,4,0,0,8,8,0,0,4,14,4,5,14,7,0,0,1,13,16,16,10,1,0,9 +0,0,2,11,13,5,0,0,0,0,16,10,13,16,7,0,0,0,14,10,0,10,11,0,0,0,4,14,16,13,1,0,0,0,0,11,13,12,1,0,0,0,8,10,2,14,3,0,0,0,10,10,3,15,1,0,0,0,2,15,16,6,0,0,8 +0,0,0,5,15,2,0,0,0,0,0,14,10,2,0,0,0,0,12,14,4,15,0,0,0,6,16,4,9,15,8,0,0,14,15,11,15,16,9,0,0,7,15,15,16,11,0,0,0,0,0,3,16,6,0,0,0,0,0,6,16,2,0,0,4 +0,0,0,0,7,16,6,0,0,0,0,4,16,16,4,0,0,2,11,15,16,16,7,0,0,10,16,13,10,16,4,0,0,1,3,0,4,16,5,0,0,0,0,0,7,16,7,0,0,0,0,0,9,16,8,0,0,0,0,0,9,16,6,0,1 +0,0,3,15,16,16,5,0,0,0,10,12,10,16,6,0,0,2,15,2,3,16,1,0,0,0,2,3,10,13,2,0,0,0,3,16,16,16,10,0,0,0,0,12,13,7,1,0,0,0,1,16,6,0,0,0,0,0,5,14,2,0,0,0,7 +0,0,1,13,16,10,0,0,0,0,8,14,13,14,0,0,0,1,15,5,5,15,0,0,0,7,12,0,9,11,0,0,0,1,2,11,15,16,7,0,0,0,4,15,16,9,1,0,0,0,0,10,11,0,0,0,0,0,1,15,7,0,0,0,7 +0,0,8,13,12,3,0,0,0,6,15,7,9,12,0,0,0,0,0,0,7,11,0,0,0,0,0,4,15,3,0,0,0,0,0,10,16,9,0,0,0,0,0,0,4,15,7,0,0,0,11,2,1,15,7,0,0,0,8,16,16,12,0,0,3 +0,0,14,12,12,13,0,0,0,1,16,8,8,6,0,0,0,4,15,8,4,0,0,0,0,2,12,12,15,13,1,0,0,0,0,0,1,13,8,0,0,0,0,0,0,11,7,0,0,5,14,4,7,15,2,0,0,1,10,16,15,5,0,0,5 +0,0,0,0,3,14,3,0,0,0,0,1,14,16,5,0,0,1,9,15,16,16,4,0,0,4,12,7,3,16,4,0,0,0,0,0,4,16,4,0,0,0,0,0,4,16,4,0,0,0,0,0,6,16,4,0,0,0,0,0,5,16,4,0,1 +0,0,3,12,8,1,0,0,0,0,14,16,16,15,1,0,0,3,15,2,1,12,4,0,0,6,9,0,0,7,8,0,0,7,8,0,0,5,8,0,0,4,12,0,0,9,6,0,0,0,15,11,9,16,2,0,0,0,3,11,15,7,0,0,0 +0,0,3,13,9,1,0,0,0,0,13,14,15,13,0,0,0,2,14,1,2,13,4,0,0,4,8,0,0,5,8,0,0,4,8,0,0,4,8,0,0,4,10,0,0,5,8,0,0,0,14,11,10,14,5,0,0,0,4,12,13,9,0,0,0 +0,3,15,16,6,0,0,0,0,11,15,12,15,0,0,0,0,2,2,2,16,4,0,0,0,0,0,0,16,4,0,0,0,0,0,5,16,1,0,0,0,0,0,11,15,4,1,0,0,1,10,16,16,16,11,0,0,4,16,14,12,8,3,0,2 +0,1,15,15,2,0,0,0,0,7,14,13,9,0,0,0,0,9,9,6,13,0,0,0,0,1,0,8,12,0,0,0,0,0,0,8,12,0,0,0,0,0,0,11,6,0,0,0,0,0,7,16,16,16,7,0,0,0,16,15,12,12,3,0,2 +0,0,0,8,16,16,16,6,0,0,6,14,5,8,16,2,0,0,7,4,0,6,12,0,0,0,0,0,0,12,6,0,0,0,0,11,16,16,10,0,0,0,0,12,16,8,0,0,0,0,0,6,16,0,0,0,0,0,0,12,9,0,0,0,7 +0,0,0,4,14,14,1,0,0,0,3,14,12,10,4,0,0,3,13,4,0,8,6,0,0,3,15,9,2,15,1,0,0,0,2,10,16,13,0,0,0,0,0,0,12,14,4,0,0,0,0,2,12,9,3,0,0,0,0,2,16,14,0,0,8 +0,5,16,15,3,0,0,0,0,11,14,11,11,0,0,0,0,8,11,4,16,0,0,0,0,0,0,4,13,0,0,0,0,0,0,8,12,0,0,0,0,0,0,13,9,5,1,0,0,1,11,16,16,16,10,0,0,5,16,14,8,6,1,0,2 +0,0,11,16,10,1,0,0,0,1,15,14,15,11,0,0,0,7,14,1,4,16,3,0,0,7,13,0,0,10,11,0,0,9,12,0,0,8,12,0,0,5,14,0,0,7,13,0,0,1,16,10,5,15,8,0,0,0,7,16,16,15,0,0,0 +0,0,0,1,8,16,2,0,0,0,5,13,16,16,0,0,0,11,16,15,12,16,0,0,0,3,8,1,8,16,0,0,0,0,0,0,8,16,3,0,0,0,0,0,8,16,4,0,0,0,0,0,7,16,7,0,0,0,0,0,10,16,8,0,1 +0,1,15,15,3,0,0,0,0,8,15,12,14,0,0,0,0,8,8,6,16,0,0,0,0,0,0,8,15,0,0,0,0,0,0,12,12,0,0,0,0,0,1,16,10,10,5,0,0,1,13,16,16,16,11,0,0,3,16,12,8,5,1,0,2 +0,0,0,13,1,0,0,0,0,0,10,12,1,0,0,0,0,0,14,3,0,0,0,0,0,4,14,0,4,5,0,0,0,7,16,4,7,14,7,0,0,3,14,0,0,4,12,0,0,0,10,10,4,10,12,0,0,0,1,9,16,14,2,0,6 +0,2,10,16,16,2,0,0,0,10,15,9,16,4,0,0,0,5,3,6,16,2,0,0,0,0,2,15,16,5,0,0,0,0,1,10,14,16,3,0,0,0,5,1,0,13,10,0,0,0,16,13,10,15,11,0,0,0,11,16,16,13,3,0,3 +0,0,8,13,11,1,0,0,0,4,15,5,12,6,0,0,0,0,0,0,10,4,0,0,0,0,0,6,16,4,0,0,0,0,0,5,13,15,3,0,0,0,1,0,0,7,12,0,0,1,15,8,7,12,12,0,0,0,6,14,16,15,5,0,3 +0,0,3,13,16,16,13,0,0,0,11,14,8,15,9,0,0,0,3,5,2,14,2,0,0,0,0,0,9,11,1,0,0,0,2,15,15,16,9,0,0,0,2,15,14,8,2,0,0,0,0,11,10,0,0,0,0,0,2,15,4,0,0,0,7 +0,1,11,16,16,4,0,0,0,7,16,8,14,11,0,0,0,0,0,10,16,6,0,0,0,0,0,15,16,6,0,0,0,0,0,0,8,16,2,0,0,1,5,0,0,14,9,0,0,4,16,10,11,16,6,0,0,1,13,16,16,10,0,0,3 +0,1,12,16,16,9,0,0,0,2,14,5,9,14,0,0,0,0,0,1,12,11,0,0,0,0,0,12,16,6,0,0,0,0,0,2,8,15,5,0,0,0,2,0,0,11,9,0,0,4,14,4,4,14,6,0,0,0,15,16,16,11,1,0,3 +0,0,0,10,10,0,0,0,0,0,6,15,3,0,0,0,0,0,15,6,5,1,0,0,0,7,15,2,16,3,5,0,0,11,11,6,16,15,10,0,0,12,16,16,16,8,1,0,0,4,8,13,12,0,0,0,0,0,0,13,9,0,0,0,4 +0,0,2,12,1,0,0,0,0,0,6,13,0,0,0,0,0,0,13,4,0,0,0,0,0,0,16,1,0,0,0,0,0,5,16,16,16,10,1,0,0,2,15,6,1,10,8,0,0,0,10,10,0,9,9,0,0,0,2,12,16,15,1,0,6 +0,0,4,15,1,0,0,0,0,0,9,10,0,0,0,0,0,1,15,2,0,0,0,0,0,4,12,0,0,0,0,0,0,8,14,9,8,6,1,0,0,7,14,7,5,12,8,0,0,2,16,4,1,12,6,0,0,0,5,14,16,11,0,0,6 +0,0,2,16,8,0,0,0,0,0,8,15,5,0,0,0,0,2,16,7,0,0,0,0,0,3,16,7,5,1,0,0,0,7,16,16,16,15,3,0,0,5,16,12,4,10,14,0,0,0,14,13,5,10,15,0,0,0,3,13,16,16,7,0,6 +0,0,0,6,14,0,0,0,0,0,4,15,4,0,0,0,0,1,13,9,4,7,0,0,0,7,13,1,13,10,6,0,0,14,14,8,16,16,10,0,0,7,15,16,16,7,1,0,0,0,0,6,16,0,0,0,0,0,0,10,13,0,0,0,4 +0,1,10,13,9,2,0,0,0,2,12,4,12,10,0,0,0,0,14,5,11,11,0,0,0,0,2,8,8,15,2,0,0,0,0,0,0,12,5,0,0,0,0,0,0,4,12,0,0,0,4,1,0,8,11,0,0,0,11,16,16,14,3,0,9 +0,0,0,1,9,16,7,0,0,0,4,13,16,16,2,0,0,8,16,15,13,16,3,0,0,3,7,0,8,16,2,0,0,0,0,0,8,16,5,0,0,0,0,0,8,16,4,0,0,0,0,0,8,16,8,0,0,0,0,0,12,16,7,0,1 +0,0,7,8,6,8,4,0,0,0,12,13,12,12,5,0,0,0,13,0,0,0,0,0,0,5,15,12,9,2,0,0,0,3,8,7,8,15,2,0,0,0,0,0,0,6,8,0,0,0,6,0,1,13,4,0,0,0,7,15,15,5,0,0,5 +0,0,7,16,15,1,0,0,0,5,16,13,16,8,0,0,0,9,11,0,4,16,4,0,0,12,8,0,0,11,11,0,0,11,8,0,0,8,12,0,0,8,13,0,0,12,10,0,0,2,16,9,12,15,3,0,0,0,8,16,13,5,0,0,0 +0,4,15,14,11,2,0,0,0,7,10,1,11,11,0,0,0,1,13,4,13,16,2,0,0,0,3,11,7,9,6,0,0,0,0,0,0,5,8,0,0,0,0,0,0,5,8,0,0,3,12,0,3,13,5,0,0,2,13,16,16,8,0,0,9 +0,0,11,12,13,14,4,0,0,0,13,8,4,4,2,0,0,0,11,0,0,0,0,0,0,5,12,6,3,0,0,0,0,5,12,12,13,11,0,0,0,0,2,0,0,13,0,0,0,4,11,0,3,15,0,0,0,0,9,16,16,6,0,0,5 +0,2,15,13,1,0,0,0,0,13,12,14,7,0,0,0,0,8,6,6,13,0,0,0,0,0,0,5,15,0,0,0,0,0,0,11,10,0,0,0,0,0,2,16,5,0,0,0,0,0,11,16,13,14,12,0,0,3,16,14,8,8,7,0,2 +0,0,2,9,13,12,2,0,0,1,14,13,7,10,6,0,0,0,13,8,1,7,7,0,0,0,3,13,14,14,0,0,0,0,0,0,15,15,1,0,0,0,0,9,5,8,5,0,0,0,0,13,4,13,2,0,0,0,0,13,15,6,0,0,8 +0,4,16,16,3,0,0,0,0,11,14,11,11,0,0,0,0,11,7,2,16,1,0,0,0,0,0,3,16,0,0,0,0,0,0,10,12,0,0,0,0,0,3,16,8,5,3,0,0,0,12,16,16,16,16,0,0,3,16,15,8,7,4,0,2 +0,0,10,13,5,0,0,0,0,3,16,16,16,10,0,0,0,8,16,1,6,16,5,0,0,8,11,0,0,9,12,0,0,10,8,0,0,8,12,0,0,8,11,0,0,8,11,0,0,3,16,10,8,15,9,0,0,0,9,16,16,10,1,0,0 +0,0,2,11,10,1,0,0,0,0,10,13,14,13,0,0,0,0,13,0,0,14,5,0,0,3,9,0,0,9,6,0,0,5,9,0,0,5,8,0,0,6,12,0,0,8,4,0,0,0,14,11,5,14,1,0,0,0,3,13,14,5,0,0,0 +0,0,0,0,6,16,7,0,0,1,5,11,16,16,8,0,0,11,16,16,13,16,8,0,0,3,7,1,4,16,8,0,0,0,0,0,5,16,8,0,0,0,0,0,5,16,7,0,0,0,0,0,7,16,9,0,0,0,0,0,8,16,8,0,1 +0,0,2,13,16,9,0,0,0,0,12,12,7,16,3,0,0,1,14,3,0,16,4,0,0,0,0,4,10,16,6,0,0,0,0,13,16,16,9,0,0,0,0,5,13,1,0,0,0,0,0,11,9,0,0,0,0,0,1,16,4,0,0,0,7 +0,0,0,14,4,0,0,0,0,0,6,13,1,0,0,0,0,0,15,4,0,0,0,0,0,4,16,7,4,2,0,0,0,8,16,11,9,15,5,0,0,5,14,1,0,10,9,0,0,0,11,12,5,13,5,0,0,0,1,13,16,9,0,0,6 +0,1,9,15,13,4,0,0,0,5,12,4,10,6,0,0,0,0,0,3,15,2,0,0,0,0,0,15,13,1,0,0,0,0,0,2,9,14,2,0,0,0,0,0,0,11,8,0,0,0,10,6,4,11,7,0,0,0,8,15,16,9,1,0,3 +0,5,16,13,1,0,0,0,0,9,14,14,4,0,0,0,0,9,7,12,4,0,0,0,0,0,0,13,4,0,0,0,0,0,2,16,1,0,0,0,0,0,7,13,0,0,0,0,0,1,15,16,16,16,11,0,0,5,16,14,10,8,6,0,2 +0,0,0,3,12,12,2,0,0,0,7,15,16,16,0,0,0,4,15,9,14,16,3,0,0,2,0,0,14,16,0,0,0,0,0,0,14,16,0,0,0,0,0,0,15,13,0,0,0,0,0,0,16,14,1,0,0,0,0,3,16,13,2,0,1 +0,0,2,13,16,14,1,0,0,0,11,12,7,16,3,0,0,0,9,3,2,16,3,0,0,0,0,0,9,11,0,0,0,0,2,11,15,13,3,0,0,0,4,15,16,13,3,0,0,0,0,14,8,0,0,0,0,0,5,15,4,0,0,0,7 +0,0,0,7,13,0,0,0,0,0,0,14,6,0,0,0,0,0,10,10,2,6,0,0,0,3,16,3,9,13,2,0,0,11,12,6,14,16,10,0,0,11,16,16,16,10,3,0,0,2,8,10,16,1,0,0,0,0,0,9,13,0,0,0,4 +0,0,0,13,3,0,0,0,0,0,6,15,0,0,0,0,0,0,12,7,0,0,0,0,0,0,16,10,7,1,0,0,0,6,16,12,13,16,6,0,0,0,16,4,0,6,12,0,0,0,12,10,2,11,9,0,0,0,1,13,16,15,3,0,6 +0,0,13,16,16,5,0,0,0,5,15,6,11,13,0,0,0,0,2,2,13,8,0,0,0,0,4,16,15,2,0,0,0,0,3,11,15,16,5,0,0,0,0,0,2,15,11,0,0,0,3,4,9,16,6,0,0,0,15,16,16,10,0,0,3 +0,0,0,0,9,16,4,0,0,0,0,5,15,16,2,0,0,3,12,16,16,14,0,0,0,10,16,15,16,15,0,0,0,1,4,0,16,13,0,0,0,0,0,0,15,13,0,0,0,0,0,0,12,16,12,0,0,0,0,0,12,16,6,0,1 +0,0,11,16,12,2,0,0,0,7,16,6,10,13,0,0,0,0,2,0,3,16,0,0,0,0,0,3,12,9,0,0,0,0,0,10,16,12,0,0,0,0,3,0,3,15,7,0,0,3,16,7,6,14,8,0,0,1,9,15,16,12,1,0,3 +0,0,5,13,14,5,0,0,0,2,15,6,11,15,1,0,0,1,16,5,8,16,4,0,0,0,4,12,9,13,8,0,0,0,0,0,0,8,8,0,0,0,0,0,0,11,7,0,0,0,7,7,5,15,2,0,0,0,5,15,16,7,0,0,9 +0,0,0,0,5,15,3,0,0,0,0,3,15,16,4,0,0,3,13,16,14,16,1,0,0,2,7,4,8,16,0,0,0,0,0,0,8,14,0,0,0,0,0,0,7,16,1,0,0,0,0,0,9,16,6,0,0,0,0,0,8,15,2,0,1 +0,0,2,13,16,13,4,0,0,0,9,11,9,16,7,0,0,2,15,2,2,15,2,0,0,3,3,0,8,13,2,0,0,0,1,13,16,16,10,0,0,0,0,11,13,5,1,0,0,0,0,11,6,0,0,0,0,0,3,15,2,0,0,0,7 +0,0,0,12,10,0,0,0,0,0,4,15,7,0,0,0,0,0,15,4,0,0,0,0,0,1,16,7,1,0,0,0,0,4,16,14,16,13,1,0,0,1,16,0,1,10,11,0,0,0,14,9,1,8,12,0,0,0,2,10,16,16,5,0,6 +0,0,3,12,16,9,0,0,0,0,12,9,13,16,9,0,0,3,16,5,0,8,12,0,0,0,9,16,10,13,2,0,0,0,0,4,16,12,0,0,0,0,0,11,9,16,0,0,0,0,1,15,2,12,0,0,0,0,2,16,16,6,0,0,8 +0,0,0,10,6,0,0,0,0,0,4,16,2,3,0,0,0,0,13,8,7,14,0,0,0,7,15,0,13,14,5,0,0,14,15,14,16,16,9,0,0,13,16,15,16,6,0,0,0,0,1,9,14,0,0,0,0,0,0,14,10,0,0,0,4 +0,0,5,12,13,3,0,0,0,4,16,9,8,12,0,0,0,2,3,0,5,11,0,0,0,0,0,3,11,10,0,0,0,0,0,6,14,15,3,0,0,0,0,0,0,7,11,0,0,0,10,6,4,9,11,0,0,0,6,16,16,14,2,0,3 +0,0,0,0,5,15,6,0,0,0,0,4,15,16,4,0,0,3,11,16,10,16,4,0,0,4,11,3,0,16,4,0,0,0,0,0,1,16,4,0,0,0,0,0,3,16,3,0,0,0,0,0,5,16,4,0,0,0,0,0,6,15,4,0,1 +0,0,0,14,8,0,0,0,0,0,3,16,3,0,0,0,0,0,12,9,9,7,0,0,0,6,15,1,14,11,6,0,0,13,14,8,16,16,7,0,0,8,16,16,16,3,0,0,0,0,1,11,14,0,0,0,0,0,0,14,14,0,0,0,4 +0,0,4,12,5,0,0,0,0,0,12,14,15,7,0,0,0,2,14,1,2,16,0,0,0,4,8,0,0,10,4,0,0,7,8,0,0,6,8,0,0,4,11,0,0,5,8,0,0,0,14,11,3,13,5,0,0,0,2,11,16,11,0,0,0 +0,0,9,12,12,13,7,0,0,0,15,5,5,4,2,0,0,4,15,10,4,0,0,0,0,2,11,11,15,11,0,0,0,0,0,0,0,10,5,0,0,0,0,0,0,7,7,0,0,5,11,4,5,14,1,0,0,0,9,16,13,3,0,0,5 +0,0,8,15,12,4,0,0,0,5,14,4,11,7,0,0,0,0,0,1,14,3,0,0,0,0,2,15,14,1,0,0,0,0,0,8,13,11,0,0,0,0,0,0,0,13,5,0,0,0,12,2,3,12,7,0,0,0,13,16,15,8,0,0,3 +0,0,0,10,8,0,0,0,0,0,6,14,3,0,0,0,0,0,11,8,0,0,0,0,0,3,16,8,2,0,0,0,0,6,16,16,16,15,3,0,0,0,16,2,0,8,12,0,0,0,11,12,5,11,12,0,0,0,1,8,16,15,2,0,6 +0,2,11,13,11,2,0,0,0,7,12,4,13,8,0,0,0,6,13,5,14,13,0,0,0,0,3,11,9,11,5,0,0,0,0,0,0,8,8,0,0,0,0,0,0,3,11,0,0,0,2,0,1,9,10,0,0,1,15,16,16,14,2,0,9 +0,0,0,7,15,0,0,0,0,0,6,15,8,0,0,0,0,0,13,9,0,0,0,0,0,2,16,5,4,1,0,0,0,5,16,16,16,12,3,0,0,1,15,4,1,8,12,0,0,0,8,14,5,5,15,0,0,0,0,6,16,16,11,0,6 +0,0,0,1,10,16,8,0,0,1,8,15,16,16,9,0,0,10,16,13,11,16,8,0,0,1,4,0,10,16,4,0,0,0,0,0,12,16,0,0,0,0,0,0,12,16,0,0,0,0,0,0,12,16,3,0,0,0,0,0,10,16,7,0,1 +0,0,3,13,16,15,6,0,0,0,13,13,9,16,10,0,0,0,16,9,0,14,6,0,0,0,14,2,6,15,0,0,0,0,0,5,15,15,6,0,0,0,0,16,15,10,2,0,0,0,0,13,11,0,0,0,0,0,4,16,7,0,0,0,7 +0,0,9,9,12,12,0,0,0,0,14,10,8,3,0,0,0,0,13,6,3,0,0,0,0,0,13,16,15,12,2,0,0,0,0,0,0,5,9,0,0,0,0,0,0,2,12,0,0,0,5,1,2,11,8,0,0,0,10,16,16,11,1,0,5 +0,0,0,9,10,0,0,0,0,0,3,16,4,0,0,0,0,0,12,8,2,7,0,0,0,4,16,3,13,13,3,0,0,14,13,8,16,16,10,0,0,14,16,16,16,9,1,0,0,2,4,9,16,1,0,0,0,0,0,9,15,2,0,0,4 +0,0,2,15,5,0,0,0,0,0,9,15,0,1,0,0,0,0,14,9,9,9,0,0,0,8,16,4,16,13,12,0,0,13,16,16,16,15,7,0,0,3,8,13,12,2,0,0,0,0,0,14,10,0,0,0,0,0,3,16,7,0,0,0,4 +0,0,1,12,16,16,12,0,0,0,7,16,11,12,9,0,0,0,6,7,0,14,4,0,0,0,0,0,6,16,3,0,0,0,0,10,16,16,9,0,0,0,0,8,15,5,0,0,0,0,0,8,10,0,0,0,0,0,0,16,5,0,0,0,7 +0,3,15,16,8,0,0,0,0,14,13,10,16,2,0,0,0,5,3,2,16,2,0,0,0,0,0,3,16,2,0,0,0,0,0,9,12,0,0,0,0,0,1,16,8,0,2,0,0,0,8,16,14,16,15,0,0,2,16,16,15,12,9,0,2 +0,0,1,10,16,15,5,0,0,0,12,12,9,9,10,0,0,4,16,1,0,7,7,0,0,4,14,13,8,11,0,0,0,0,1,6,16,14,1,0,0,0,0,8,11,14,5,0,0,0,0,12,8,15,2,0,0,0,0,10,15,5,0,0,8 +0,1,13,16,15,5,0,0,0,4,16,7,14,12,0,0,0,3,12,2,11,10,0,0,0,0,0,0,14,8,0,0,0,0,0,3,16,4,0,0,0,0,1,11,13,0,0,0,0,0,9,16,14,16,7,0,0,1,16,16,15,12,5,0,2 +0,2,15,13,2,0,0,0,0,7,16,13,15,0,0,0,0,11,11,5,16,4,0,0,0,1,1,7,16,1,0,0,0,0,0,12,11,0,0,0,0,0,4,16,8,8,2,0,0,0,12,16,16,16,11,0,0,2,15,13,6,4,1,0,2 +0,0,15,14,15,9,0,0,0,0,12,10,7,6,4,0,0,1,14,2,0,0,0,0,0,5,16,12,10,4,0,0,0,4,11,8,11,15,5,0,0,0,0,0,0,13,7,0,0,4,16,10,11,14,1,0,0,1,10,16,15,4,0,0,5 +0,0,2,13,16,16,7,0,0,0,12,15,12,16,10,0,0,0,16,9,0,14,6,0,0,0,3,0,4,16,1,0,0,0,0,10,14,16,6,0,0,0,3,16,16,11,2,0,0,0,0,9,14,0,0,0,0,0,2,15,6,0,0,0,7 +0,0,10,8,8,4,0,0,0,8,15,12,14,14,0,0,0,9,11,0,10,16,4,0,0,1,9,12,10,12,8,0,0,0,0,0,0,8,8,0,0,0,0,0,0,10,7,0,0,0,11,6,4,15,4,0,0,0,13,16,16,7,0,0,9 +0,1,13,14,16,14,3,0,0,4,14,8,7,3,0,0,0,6,11,0,0,0,0,0,0,5,16,15,11,5,0,0,0,2,7,7,10,16,0,0,0,0,0,0,3,16,0,0,0,0,7,5,13,11,0,0,0,0,15,16,10,1,0,0,5 +0,0,0,13,9,0,0,0,0,0,4,15,3,0,0,0,0,0,11,9,6,4,0,0,0,5,16,3,13,8,1,0,0,14,16,9,16,16,9,0,0,12,16,16,16,11,3,0,0,0,4,12,14,0,0,0,0,0,0,12,10,0,0,0,4 +0,0,1,8,15,11,3,0,0,0,11,12,9,14,11,0,0,2,14,0,0,13,6,0,0,7,15,8,12,9,0,0,0,0,6,13,16,8,0,0,0,0,0,13,9,15,4,0,0,0,0,16,8,14,3,0,0,0,0,11,15,8,0,0,8 +0,0,2,11,14,12,3,0,0,0,14,14,9,15,8,0,0,5,12,0,5,15,2,0,0,3,16,11,15,3,0,0,0,0,1,14,16,4,0,0,0,0,0,15,5,15,0,0,0,0,1,16,10,11,0,0,0,0,0,15,13,2,0,0,8 +0,0,0,7,16,2,0,0,0,0,0,15,11,0,0,0,0,0,11,14,6,5,0,0,0,4,16,7,14,13,2,0,0,10,16,13,16,16,10,0,0,8,15,14,16,10,1,0,0,0,0,9,16,1,0,0,0,0,0,9,15,1,0,0,4 +0,0,6,16,16,11,0,0,0,1,16,8,8,16,6,0,0,0,8,16,14,16,11,0,0,0,1,4,3,10,8,0,0,0,0,0,0,9,7,0,0,0,0,0,1,14,1,0,0,0,4,7,11,9,0,0,0,0,9,16,10,1,0,0,9 +0,0,5,12,9,1,0,0,0,0,14,14,13,13,0,0,0,3,12,1,1,13,4,0,0,7,8,0,0,6,8,0,0,8,8,0,0,5,8,0,0,5,10,0,0,11,4,0,0,1,15,9,11,13,0,0,0,0,7,15,12,2,0,0,0 +0,0,2,9,15,12,5,0,0,0,12,11,11,12,11,0,0,1,16,1,0,8,11,0,0,3,15,12,10,15,2,0,0,0,1,11,16,9,0,0,0,0,0,11,15,12,0,0,0,0,0,12,15,8,0,0,0,0,0,10,13,2,0,0,8 +0,0,9,13,15,10,1,0,0,1,15,5,7,16,5,0,0,0,15,7,10,16,6,0,0,0,2,7,7,10,8,0,0,0,0,0,0,8,8,0,0,0,0,0,0,11,5,0,0,0,14,6,10,12,0,0,0,0,9,16,12,1,0,0,9 +0,0,1,10,11,2,0,0,0,0,12,12,8,15,4,0,0,6,11,0,1,12,7,0,0,4,16,7,15,12,0,0,0,0,5,15,15,3,0,0,0,0,0,14,7,14,0,0,0,0,4,12,7,10,0,0,0,0,1,16,16,3,0,0,8 +0,0,4,16,15,2,0,0,0,0,11,16,13,13,0,0,0,1,16,8,1,16,2,0,0,7,16,6,0,11,8,0,0,7,16,4,0,11,8,0,0,4,15,1,1,15,7,0,0,0,13,12,14,15,1,0,0,0,3,14,16,6,0,0,0 +0,0,0,14,10,0,0,0,0,0,3,16,16,3,0,0,0,0,7,16,16,7,0,0,0,0,12,16,16,5,0,0,0,0,4,15,16,6,0,0,0,0,0,13,16,0,0,0,0,0,0,14,12,0,0,0,0,0,0,10,10,0,0,0,1 +0,0,5,13,7,0,0,0,0,0,12,12,14,2,0,0,0,0,12,0,12,6,0,0,0,0,6,1,15,3,0,0,0,0,0,6,11,0,0,0,0,0,5,14,3,0,0,0,0,0,11,16,8,2,6,3,0,0,4,8,10,16,12,1,2 +0,0,4,16,16,9,0,0,0,0,1,9,10,16,1,0,0,0,0,5,15,16,1,0,0,0,0,10,16,5,0,0,0,0,0,2,16,6,0,0,0,0,0,0,10,10,0,0,0,0,11,8,12,14,1,0,0,0,5,13,16,15,0,0,3 +0,0,1,15,6,0,0,0,0,0,8,16,2,0,0,0,0,0,15,11,0,7,4,0,0,8,16,10,6,16,9,0,0,6,16,16,16,16,4,0,0,0,5,11,16,13,0,0,0,0,0,12,15,3,0,0,0,0,0,15,11,0,0,0,4 +0,0,11,14,16,10,0,0,0,6,15,8,6,4,0,0,0,5,12,2,0,0,0,0,0,12,16,15,1,0,0,0,0,3,11,11,6,0,0,0,0,0,0,12,10,0,0,0,0,0,5,16,9,0,0,0,0,0,13,16,3,0,0,0,5 +0,0,0,0,13,1,0,0,0,0,0,7,15,3,0,0,0,0,0,16,11,2,0,0,0,0,4,16,16,14,1,0,0,0,5,16,8,8,10,0,0,0,9,16,4,0,15,0,0,0,2,9,11,13,14,0,0,0,0,0,10,16,10,0,6 +0,3,13,16,13,0,0,0,0,9,13,8,16,5,1,0,0,0,8,14,16,16,5,0,0,0,8,16,15,2,0,0,0,0,2,16,7,0,0,0,0,0,7,16,4,0,0,0,0,0,15,9,0,0,0,0,0,2,15,3,0,0,0,0,7 +0,0,1,8,13,1,0,0,0,0,6,16,16,9,0,0,0,1,15,16,16,10,0,0,0,6,15,14,6,0,0,0,0,3,7,6,6,0,0,0,0,1,10,2,11,0,0,0,0,0,4,11,13,2,0,0,0,0,0,5,12,5,0,0,8 +0,0,0,1,9,14,7,0,0,0,5,14,9,8,10,0,0,2,14,16,11,13,3,0,0,3,16,16,16,16,5,0,0,0,6,7,1,11,7,0,0,0,0,0,1,13,3,0,0,0,0,0,6,8,0,0,0,0,0,0,10,0,0,0,9 +0,0,2,16,12,1,0,0,0,0,11,15,13,11,0,0,0,2,16,9,0,14,2,0,0,4,16,12,0,11,5,0,0,4,16,6,0,12,7,0,0,0,15,1,1,15,9,0,0,0,10,9,10,15,2,0,0,0,2,13,16,8,0,0,0 +0,0,1,15,14,1,0,0,0,2,13,16,16,3,0,0,0,5,16,16,16,4,0,0,0,4,16,16,16,1,0,0,0,0,7,16,13,0,0,0,0,0,5,16,11,0,0,0,0,0,4,16,10,0,0,0,0,0,2,16,11,0,0,0,1 +0,0,2,10,12,2,0,0,0,0,11,16,13,10,0,0,0,0,9,7,2,15,0,0,0,0,3,2,3,15,0,0,0,0,0,0,10,10,0,0,0,0,2,7,16,7,0,0,0,0,9,16,16,16,16,3,0,0,3,13,9,8,4,0,2 +0,0,3,11,13,15,3,0,0,4,16,14,11,16,8,0,0,2,5,0,14,15,1,0,0,0,0,0,16,11,0,0,0,0,0,0,11,10,0,0,0,0,0,0,8,12,0,0,0,0,8,11,15,8,0,0,0,0,2,12,14,3,0,0,3 +0,0,1,12,7,0,0,0,0,0,8,14,1,0,0,0,0,0,15,7,0,3,5,0,0,5,16,0,4,15,4,0,0,5,16,16,16,15,2,0,0,0,11,12,16,8,0,0,0,0,0,5,16,3,0,0,0,0,0,13,10,0,0,0,4 +0,0,4,13,16,14,0,0,0,2,14,16,12,4,0,0,0,13,16,5,0,0,0,0,0,11,16,10,1,0,0,0,0,5,15,16,5,0,0,0,0,0,2,15,9,0,0,0,0,0,5,15,9,0,0,0,0,0,4,16,5,0,0,0,5 +0,0,0,6,9,0,0,0,0,0,2,15,8,0,0,0,0,0,4,16,5,0,0,0,0,0,9,12,7,12,2,0,0,0,9,16,15,13,6,0,0,0,13,14,2,13,6,0,0,0,14,15,13,16,4,0,0,0,1,10,16,10,0,0,6 +0,0,0,7,16,16,11,0,0,0,6,16,16,16,16,0,0,0,11,16,16,16,9,0,0,0,2,9,11,14,10,0,0,0,0,0,0,10,6,0,0,0,0,0,4,11,1,0,0,0,0,2,14,2,0,0,0,0,0,11,3,0,0,0,9 +0,0,5,16,14,1,0,0,0,0,14,14,14,9,0,0,0,1,15,6,1,12,1,0,0,3,16,1,0,10,4,0,0,5,16,5,0,11,2,0,0,2,16,2,3,16,0,0,0,0,11,13,14,12,0,0,0,0,3,15,15,5,0,0,0 +0,0,2,15,14,1,0,0,0,0,11,16,16,4,0,0,0,4,16,16,16,1,0,0,0,7,16,16,14,0,0,0,0,9,16,16,11,0,0,0,0,1,13,16,9,0,0,0,0,0,5,16,5,0,0,0,0,0,2,14,9,0,0,0,1 +0,0,2,12,10,0,0,0,0,0,11,14,14,9,0,0,0,3,15,1,10,9,0,0,0,2,7,0,10,8,0,0,0,0,0,2,16,2,0,0,0,0,0,10,16,6,0,0,0,0,7,16,13,14,16,4,0,0,4,15,0,0,5,4,2 +0,0,10,16,15,7,0,0,0,6,16,6,10,16,2,0,0,8,6,5,15,12,0,0,0,0,0,13,16,2,0,0,0,0,0,5,16,4,0,0,0,0,0,0,10,16,0,0,0,0,0,1,11,16,1,0,0,0,11,16,16,8,1,0,3 +0,0,3,15,3,0,0,0,0,0,14,16,1,0,0,0,0,8,16,6,0,8,5,0,0,12,14,0,5,16,8,0,0,12,15,14,16,13,0,0,0,1,11,14,16,5,0,0,0,0,4,15,10,0,0,0,0,0,4,16,5,0,0,0,4 +0,0,10,16,16,14,0,0,0,4,16,14,10,8,0,0,0,13,16,8,1,0,0,0,0,12,16,16,13,2,0,0,0,3,8,9,16,5,0,0,0,0,0,3,16,6,0,0,0,0,5,12,15,2,0,0,0,0,12,15,5,0,0,0,5 +0,0,0,1,13,1,0,0,0,0,1,14,15,0,0,0,0,0,3,16,6,0,0,0,0,0,6,12,0,0,0,0,0,0,9,14,10,3,0,0,0,0,8,16,16,16,1,0,0,0,8,16,15,16,5,0,0,0,0,2,11,11,1,0,6 +0,0,10,16,14,2,0,0,0,0,13,13,14,11,0,0,0,0,4,8,15,15,4,0,0,0,10,16,16,13,3,0,0,0,1,12,14,1,0,0,0,0,2,16,8,0,0,0,0,0,13,12,1,0,0,0,0,0,13,7,0,0,0,0,7 +0,0,5,12,16,15,0,0,0,3,16,8,9,16,0,0,0,4,16,14,16,7,0,0,0,5,16,15,5,0,0,0,0,8,15,6,0,0,0,0,0,4,8,14,0,0,0,0,0,3,10,16,1,0,0,0,0,0,6,15,2,0,0,0,8 +0,0,0,7,12,16,16,15,0,0,9,16,10,4,16,10,0,0,14,16,13,14,12,1,0,0,4,16,16,16,12,0,0,0,0,0,0,16,10,0,0,0,0,0,7,15,0,0,0,0,0,1,15,7,0,0,0,0,0,12,6,0,0,0,9 +0,0,0,10,9,0,0,0,0,0,3,15,13,5,0,0,0,0,13,13,1,13,0,0,0,0,16,7,0,16,0,0,0,0,16,11,3,15,0,0,0,0,14,7,16,12,0,0,0,0,9,13,15,6,0,0,0,0,0,13,10,0,0,0,0 +0,0,0,4,11,15,15,2,0,1,10,16,13,14,14,2,0,5,16,16,16,16,14,0,0,0,9,8,8,15,9,0,0,0,0,0,1,16,2,0,0,0,0,0,10,10,0,0,0,0,0,1,16,6,0,0,0,0,0,3,16,2,0,0,9 +0,0,7,15,16,16,1,0,0,9,16,16,10,5,0,0,0,14,16,16,15,0,0,0,0,11,14,13,16,2,0,0,0,0,0,6,16,1,0,0,0,0,0,12,12,0,0,0,0,0,6,16,7,0,0,0,0,0,10,13,0,0,0,0,5 +0,8,13,15,16,16,8,0,0,9,16,16,13,11,5,0,0,6,16,12,0,0,0,0,0,1,14,14,0,0,0,0,0,0,8,16,2,0,0,0,0,0,8,15,0,0,0,0,0,3,14,11,0,0,0,0,0,9,16,6,0,0,0,0,5 +0,0,0,12,5,0,0,0,0,0,2,15,7,0,0,0,0,0,7,16,8,0,0,0,0,0,15,15,8,4,0,0,0,0,15,16,16,15,3,0,0,1,16,13,4,11,11,0,0,0,11,14,9,15,11,0,0,0,1,14,16,15,6,0,6 +0,0,5,15,14,13,2,0,0,0,12,15,9,7,1,0,0,5,16,8,0,0,0,0,0,9,16,16,7,0,0,0,0,6,12,14,7,0,0,0,0,0,0,11,6,0,0,0,0,0,2,16,3,0,0,0,0,0,7,14,0,0,0,0,5 +0,0,2,14,13,3,0,0,0,0,13,13,9,11,0,0,0,0,16,7,0,12,0,0,0,3,16,5,0,10,5,0,0,5,16,1,0,8,5,0,0,3,16,1,0,10,5,0,0,0,16,8,5,14,3,0,0,0,4,16,16,9,1,0,0 +0,0,0,4,12,16,11,0,0,0,15,12,0,5,9,0,0,4,16,5,6,15,3,0,0,3,15,16,14,1,0,0,0,0,3,10,16,2,0,0,0,0,0,0,14,2,0,0,0,0,0,0,12,0,0,0,0,0,0,4,12,0,0,0,9 +0,0,0,9,16,10,0,0,0,0,1,15,5,16,3,0,0,0,13,4,0,15,5,0,0,0,15,11,14,16,2,0,0,8,16,16,13,5,0,0,0,3,15,15,1,0,0,0,0,0,9,16,10,0,0,0,0,0,0,10,15,0,0,0,8 +0,0,6,14,16,15,1,0,0,9,16,12,9,16,3,0,0,12,16,11,14,13,0,0,0,7,15,16,14,0,0,0,0,0,2,8,16,5,0,0,0,0,0,6,16,4,0,0,0,0,2,13,12,0,0,0,0,0,9,16,1,0,0,0,9 +0,0,0,8,15,4,0,0,0,0,3,16,10,11,0,0,0,0,6,12,11,13,0,0,0,0,10,16,16,9,0,0,0,1,16,12,11,5,0,0,0,2,13,0,2,9,0,0,0,0,8,6,2,12,0,0,0,0,1,9,14,9,0,0,8 +0,0,1,13,8,0,0,0,0,0,7,16,3,0,0,0,0,0,14,9,0,7,7,0,0,3,16,3,2,15,9,0,0,9,16,8,12,15,0,0,0,6,16,16,16,7,0,0,0,0,3,12,15,1,0,0,0,0,0,13,9,0,0,0,4 +0,0,0,13,9,0,0,0,0,0,0,14,15,1,0,0,0,0,0,13,16,0,0,0,0,0,0,11,16,0,0,0,0,0,0,10,16,2,0,0,0,0,0,14,16,1,0,0,0,0,0,15,16,1,0,0,0,0,0,12,15,0,0,0,1 +0,0,8,15,16,10,0,0,0,0,7,10,10,15,0,0,0,0,0,0,7,13,0,0,0,0,0,4,14,12,1,0,0,3,16,16,16,12,4,0,0,1,10,16,7,0,0,0,0,0,8,9,0,0,0,0,0,0,13,1,0,0,0,0,7 +0,2,10,16,12,0,0,0,0,12,14,12,16,5,0,0,0,2,0,4,16,7,1,0,0,0,4,15,16,16,10,0,0,1,16,16,12,5,2,0,0,0,15,12,1,0,0,0,0,1,14,4,0,0,0,0,0,0,16,3,0,0,0,0,7 +0,2,16,16,16,12,0,0,0,1,9,5,12,16,2,0,0,0,0,6,15,14,2,0,0,0,1,16,16,1,0,0,0,0,0,12,16,1,0,0,0,0,0,6,16,6,0,0,0,0,0,12,16,5,0,0,0,1,16,16,13,1,0,0,3 +0,4,16,16,16,15,3,0,0,11,16,14,8,8,1,0,0,12,14,3,0,0,0,0,0,8,16,4,0,0,0,0,0,2,16,9,0,0,0,0,0,0,10,12,0,0,0,0,0,1,14,11,0,0,0,0,0,5,16,3,0,0,0,0,5 +0,0,0,13,14,0,0,0,0,0,0,13,16,3,0,0,0,0,2,16,15,3,0,0,0,0,4,16,14,0,0,0,0,0,3,16,11,0,0,0,0,0,8,16,10,0,0,0,0,0,6,16,7,0,0,0,0,0,1,11,9,0,0,0,1 +0,0,0,16,12,1,0,0,0,0,6,16,14,7,0,0,0,0,14,15,1,11,0,0,0,0,16,15,0,14,1,0,0,1,16,10,0,14,2,0,0,0,15,13,3,15,3,0,0,0,9,16,16,15,0,0,0,0,0,13,16,8,0,0,0 +0,0,9,13,11,1,0,0,0,0,6,4,9,14,1,0,0,0,1,5,0,11,4,0,0,0,13,14,0,7,5,0,0,3,14,1,0,10,4,0,0,3,14,0,2,15,1,0,0,2,13,8,12,11,0,0,0,0,8,14,10,1,0,0,0 +0,0,5,16,15,5,0,0,0,0,8,13,9,15,0,0,0,0,0,4,0,15,5,0,0,0,0,0,0,12,6,0,0,0,0,0,0,15,4,0,0,0,11,10,10,15,0,0,0,0,16,16,16,15,13,4,0,0,7,16,13,10,8,3,2 +0,3,12,16,9,0,0,0,0,13,15,8,15,2,0,0,0,11,6,0,12,4,0,0,0,1,0,0,15,3,0,0,0,0,0,4,16,1,0,0,0,0,0,12,11,0,0,0,0,0,11,16,10,4,6,1,0,2,15,16,16,16,16,3,2 +0,2,15,16,5,0,0,0,0,0,4,11,9,0,0,0,0,0,0,13,7,2,1,0,0,1,8,16,14,16,10,0,0,10,16,15,7,1,0,0,0,0,14,8,0,0,0,0,0,1,16,3,0,0,0,0,0,2,15,1,0,0,0,0,7 +0,0,7,15,15,6,0,0,0,4,16,16,11,15,0,0,0,7,16,10,10,16,1,0,0,3,11,16,16,6,0,0,0,1,15,16,10,0,0,0,0,5,16,5,14,0,0,0,0,1,13,3,14,1,0,0,0,0,5,15,15,2,0,0,8 +0,0,1,15,13,2,0,0,0,0,0,8,14,10,0,0,0,0,0,0,5,15,1,0,0,0,0,0,2,16,5,0,0,0,0,0,8,15,1,0,0,0,3,10,13,13,0,0,0,0,8,16,16,12,4,0,0,0,1,13,15,14,16,7,2 +0,0,0,12,11,1,0,0,0,0,3,16,13,10,0,0,0,0,8,9,1,12,0,0,0,2,16,9,0,10,5,0,0,4,16,8,0,7,8,0,0,1,16,3,0,10,7,0,0,0,8,13,9,16,6,0,0,0,1,10,16,13,1,0,0 +0,0,0,15,11,0,0,0,0,0,6,16,16,2,0,0,0,0,10,16,16,1,0,0,0,2,16,16,16,3,0,0,0,7,16,16,14,0,0,0,0,0,3,15,10,0,0,0,0,0,0,15,7,0,0,0,0,0,0,14,4,0,0,0,1 +0,2,13,16,12,0,0,0,0,9,15,10,16,3,0,0,0,5,7,5,16,3,0,0,0,0,0,10,14,0,0,0,0,0,5,16,7,0,0,0,0,0,14,16,1,3,7,1,0,3,16,12,10,16,11,1,0,0,13,16,13,7,1,0,2 +0,0,0,8,7,0,0,0,0,0,2,16,6,0,0,0,0,0,5,16,2,0,0,0,0,0,11,15,12,9,0,0,0,0,11,16,13,9,8,0,0,0,11,16,2,8,9,0,0,0,3,16,5,12,10,0,0,0,0,6,16,14,2,0,6 +0,0,11,15,16,10,0,0,0,8,16,8,15,16,0,0,0,5,6,10,16,8,0,0,0,0,4,16,11,1,0,0,0,0,2,15,9,0,0,0,0,0,0,9,16,2,0,0,0,0,0,8,16,5,0,0,0,0,13,16,15,0,0,0,3 +0,2,11,14,14,9,0,0,0,3,10,7,10,16,3,0,0,0,0,4,13,12,0,0,0,0,0,13,15,2,0,0,0,0,0,15,9,0,0,0,0,0,0,9,15,0,0,0,0,0,1,13,9,0,0,0,0,1,15,13,1,0,0,0,3 +0,2,13,16,15,2,0,0,0,15,14,7,16,5,0,0,0,10,1,2,16,4,0,0,0,0,1,11,16,15,8,0,0,0,15,16,13,8,2,0,0,0,10,14,0,0,0,0,0,0,11,10,0,0,0,0,0,0,15,3,0,0,0,0,7 +0,0,9,16,16,10,0,0,0,0,9,9,9,15,0,0,0,0,0,0,6,14,0,0,0,0,0,2,15,7,0,0,0,0,1,14,16,4,0,0,0,0,5,16,16,8,0,0,0,0,0,6,16,4,0,0,0,0,11,16,12,0,0,0,3 +0,0,8,16,16,13,0,0,0,0,10,11,9,16,2,0,0,0,0,4,16,12,0,0,0,0,2,16,15,1,0,0,0,0,2,15,11,0,0,0,0,0,0,4,16,3,0,0,0,3,12,2,14,4,0,0,0,0,9,16,16,5,0,0,3 +0,0,5,16,1,0,0,0,0,0,12,12,0,0,0,0,0,2,15,8,0,6,5,0,0,9,16,6,12,16,9,0,0,7,16,16,16,15,1,0,0,0,3,10,16,6,0,0,0,0,1,14,10,0,0,0,0,0,5,16,2,0,0,0,4 +0,0,0,11,8,0,0,0,0,0,5,16,7,0,0,0,0,0,10,14,0,0,0,0,0,0,12,9,1,3,0,0,0,0,14,14,15,16,7,0,0,0,10,16,15,12,12,0,0,0,6,16,13,14,12,0,0,0,0,9,15,15,3,0,6 +0,0,0,6,12,0,0,0,0,0,0,13,13,0,0,0,0,0,7,16,2,0,0,0,0,0,10,12,0,2,0,0,0,0,13,14,16,14,0,0,0,0,11,16,14,13,6,0,0,0,5,13,9,16,5,0,0,0,0,6,15,12,1,0,6 +0,0,0,9,11,0,0,0,0,0,1,16,11,0,0,0,0,0,6,16,1,0,0,0,0,0,11,11,6,7,1,0,0,0,13,14,15,16,8,0,0,0,12,13,5,5,13,0,0,0,6,14,8,15,12,0,0,0,0,10,16,12,2,0,6 +0,0,10,14,0,0,0,0,0,1,16,7,1,7,0,0,0,0,15,7,12,16,2,0,0,0,10,16,16,4,0,0,0,0,0,9,14,0,0,0,0,0,0,14,10,0,0,0,0,0,5,16,2,0,0,0,0,0,11,12,0,0,0,0,4 +0,0,0,2,9,13,6,0,0,0,11,15,8,9,10,0,0,3,16,10,4,13,5,0,0,1,15,16,15,15,7,0,0,0,0,0,1,14,1,0,0,0,0,0,11,6,0,0,0,0,0,1,13,0,0,0,0,0,0,5,4,0,0,0,9 +0,0,0,14,7,0,0,0,0,0,0,15,15,1,0,0,0,0,2,16,15,1,0,0,0,0,6,16,15,0,0,0,0,0,9,16,13,0,0,0,0,0,8,16,15,1,0,0,0,0,4,16,16,6,0,0,0,0,0,13,12,0,0,0,1 +0,0,12,16,16,15,3,0,0,4,16,16,6,2,1,0,0,14,16,4,0,0,0,0,0,9,16,16,5,0,0,0,0,0,7,15,8,0,0,0,0,0,0,12,11,0,0,0,0,0,5,16,7,0,0,0,0,0,14,15,0,0,0,0,5 +0,0,0,9,8,1,0,0,0,0,5,16,16,8,0,0,0,4,16,15,1,15,0,0,0,6,16,12,0,12,1,0,0,5,16,11,0,11,6,0,0,1,15,8,4,15,6,0,0,0,5,16,16,15,0,0,0,0,0,7,14,9,0,0,0 +0,0,1,13,10,1,0,0,0,0,12,6,7,10,0,0,0,0,10,10,11,15,0,0,0,0,1,14,16,16,5,0,0,0,0,0,0,10,10,0,0,0,0,0,0,5,11,0,0,0,2,4,4,14,11,0,0,0,2,11,15,16,5,0,9 +0,0,5,16,16,3,0,0,0,0,9,16,7,0,0,0,0,0,12,15,2,0,0,0,0,1,15,16,15,4,0,0,0,0,9,13,16,9,0,0,0,0,0,0,14,12,0,0,0,0,5,12,16,8,0,0,0,0,3,15,15,1,0,0,5 +0,0,6,16,12,1,0,0,0,0,5,16,13,10,0,0,0,0,0,5,5,15,0,0,0,0,0,0,8,15,0,0,0,0,0,0,13,13,0,0,0,0,0,6,16,9,4,1,0,0,3,16,16,16,16,10,0,0,5,16,11,9,6,2,2 +0,0,0,10,16,7,0,0,0,0,2,15,4,14,2,0,0,0,0,13,8,16,0,0,0,0,0,10,16,14,1,0,0,0,8,16,16,7,0,0,0,1,15,6,8,12,0,0,0,1,13,5,12,9,0,0,0,0,1,11,15,6,0,0,8 +0,0,4,15,16,6,0,0,0,0,16,12,8,15,0,0,0,7,16,4,0,11,5,0,0,10,15,0,0,8,9,0,0,10,14,0,0,8,11,0,0,6,16,4,0,11,9,0,0,1,15,7,8,16,5,0,0,0,3,14,16,10,1,0,0 +0,0,0,12,9,0,0,0,0,0,2,16,16,0,0,0,0,0,3,16,16,1,0,0,0,0,4,16,13,0,0,0,0,0,3,16,11,0,0,0,0,0,5,16,10,0,0,0,0,0,2,16,10,0,0,0,0,0,0,11,13,0,0,0,1 +0,0,7,14,16,5,0,0,0,0,16,12,15,12,0,0,0,0,3,0,14,9,0,0,0,0,5,12,16,15,10,0,0,8,16,16,13,6,0,0,0,3,9,16,6,0,0,0,0,0,10,12,1,0,0,0,0,0,12,5,0,0,0,0,7 +0,0,0,8,7,0,0,0,0,0,4,16,11,0,0,0,0,0,9,16,1,0,0,0,0,0,11,14,11,13,2,0,0,0,13,16,14,14,10,0,0,0,10,15,1,5,13,0,0,0,6,16,8,14,12,0,0,0,0,5,14,16,4,0,6 +0,1,11,16,16,12,0,0,0,8,16,13,16,16,3,0,0,1,5,7,16,14,0,0,0,0,0,11,16,4,0,0,0,0,0,2,15,9,0,0,0,0,0,0,11,13,0,0,0,0,3,7,15,14,0,0,0,0,14,16,16,6,0,0,3 +0,2,13,16,7,0,0,0,0,12,13,14,13,0,0,0,0,2,0,8,12,0,0,0,0,0,0,11,9,0,0,0,0,0,0,13,5,0,0,0,0,0,8,15,2,0,0,0,0,0,16,16,16,9,2,0,0,1,16,14,13,16,9,0,2 +0,0,0,11,9,0,0,0,0,0,0,11,14,0,0,0,0,0,0,11,13,0,0,0,0,0,0,15,13,0,0,0,0,0,0,13,13,0,0,0,0,0,0,13,9,0,0,0,0,0,0,10,10,0,0,0,0,0,0,9,11,0,0,0,1 +0,1,11,16,11,0,0,0,0,10,14,11,16,0,0,0,0,14,5,6,15,0,0,0,0,3,1,11,14,3,1,0,0,2,13,16,16,16,9,0,0,2,14,16,5,4,2,0,0,0,11,11,0,0,0,0,0,0,16,3,0,0,0,0,7 +0,0,5,13,0,0,0,0,0,0,12,9,4,13,0,0,0,0,16,5,11,13,0,0,0,0,15,13,15,7,0,0,0,0,4,14,15,0,0,0,0,0,0,14,8,0,0,0,0,0,2,16,4,0,0,0,0,0,6,16,1,0,0,0,4 +0,0,0,8,10,0,0,0,0,0,3,15,5,0,0,0,0,0,7,13,0,0,0,0,0,0,7,14,5,1,0,0,0,0,6,16,16,16,3,0,0,0,6,16,7,13,8,0,0,0,2,15,7,15,7,0,0,0,0,7,15,12,0,0,6 +0,0,6,16,15,5,0,0,0,0,2,13,14,13,0,0,0,0,0,2,14,14,1,0,0,0,0,3,16,10,0,0,0,0,0,0,14,10,0,0,0,0,0,0,10,14,0,0,0,0,8,7,12,16,0,0,0,0,6,16,16,12,1,0,3 +0,0,0,12,7,0,0,0,0,0,0,14,15,0,0,0,0,0,0,14,16,1,0,0,0,0,0,15,16,2,0,0,0,0,0,13,16,1,0,0,0,0,0,14,16,1,0,0,0,0,0,14,16,1,0,0,0,0,0,6,16,2,0,0,1 +0,0,6,15,15,4,0,0,0,6,16,16,16,14,0,0,0,7,16,14,16,13,0,0,0,0,3,7,16,6,0,0,0,0,0,2,16,9,0,0,0,0,0,0,14,15,0,0,0,0,7,10,16,14,0,0,0,0,7,15,15,4,0,0,3 +0,0,0,8,10,14,3,0,0,1,13,13,9,12,8,0,0,6,16,8,8,16,4,0,0,5,16,16,16,9,0,0,0,0,5,8,14,12,0,0,0,0,0,3,16,5,0,0,0,0,0,15,8,0,0,0,0,0,1,12,2,0,0,0,9 +0,0,0,16,11,0,0,0,0,0,2,16,16,2,0,0,0,0,3,16,16,6,0,0,0,0,3,16,15,2,0,0,0,0,2,16,16,2,0,0,0,0,4,16,15,0,0,0,0,0,1,16,15,1,0,0,0,0,0,12,16,2,0,0,1 +0,4,15,16,15,4,0,0,0,11,16,14,15,16,0,0,0,3,3,0,16,14,2,0,0,0,9,16,16,16,8,0,0,0,15,16,11,1,0,0,0,0,11,13,1,0,0,0,0,4,16,5,0,0,0,0,0,4,15,0,0,0,0,0,7 +0,0,0,9,8,0,0,0,0,0,1,16,2,0,0,0,0,0,6,14,0,0,0,0,0,0,9,11,0,3,0,0,0,0,13,8,13,13,10,0,0,0,12,16,8,0,13,1,0,0,6,16,5,9,13,0,0,0,0,8,15,14,4,0,6 +0,0,0,9,15,9,0,0,0,0,8,15,5,12,2,0,0,0,15,15,3,13,3,0,0,0,11,16,16,13,0,0,0,4,16,10,15,0,0,0,0,3,12,0,8,7,0,0,0,0,12,8,10,11,0,0,0,0,0,9,13,4,0,0,8 +0,0,0,14,5,0,0,0,0,0,5,16,5,0,0,0,0,0,13,12,0,1,3,0,0,4,16,5,1,15,11,0,0,10,15,4,13,16,3,0,0,8,16,16,16,10,0,0,0,2,11,12,15,1,0,0,0,0,0,16,9,0,0,0,4 +0,0,7,15,16,10,0,0,0,0,14,9,10,16,1,0,0,0,2,5,15,14,0,0,0,0,0,11,16,5,0,0,0,0,0,2,16,8,0,0,0,0,0,0,10,13,0,0,0,0,11,9,15,16,1,0,0,0,8,16,16,12,0,0,3 +0,0,0,14,9,0,0,0,0,0,0,14,13,0,0,0,0,0,0,11,16,2,0,0,0,0,0,14,16,5,0,0,0,0,0,13,16,4,0,0,0,0,0,16,16,4,0,0,0,0,1,16,16,0,0,0,0,0,0,14,12,0,0,0,1 +0,0,0,15,5,0,0,0,0,0,4,16,7,0,0,0,0,1,13,16,0,9,2,0,0,5,16,11,5,16,9,0,0,7,16,14,16,16,7,0,0,1,11,15,16,10,0,0,0,0,0,13,16,3,0,0,0,0,1,16,11,0,0,0,4 +0,0,0,10,13,3,0,0,0,0,8,16,14,12,0,0,0,3,16,13,0,14,1,0,0,5,16,6,0,14,5,0,0,6,16,0,0,15,4,0,0,2,13,1,5,16,4,0,0,0,10,16,16,14,1,0,0,0,2,11,13,6,0,0,0 +0,0,7,12,15,6,0,0,0,14,16,15,6,0,0,0,0,16,16,13,0,0,0,0,0,10,16,14,8,0,0,0,0,0,2,8,13,0,0,0,0,0,0,10,15,0,0,0,0,0,4,13,15,0,0,0,0,0,7,16,7,0,0,0,5 +0,0,8,15,16,6,0,0,0,0,13,13,13,13,0,0,0,0,2,6,16,9,0,0,0,0,0,3,16,2,0,0,0,0,0,0,10,10,0,0,0,0,0,0,5,15,0,0,0,0,7,4,11,16,1,0,0,0,7,16,16,8,0,0,3 +0,0,0,5,13,1,0,0,0,0,1,15,12,0,0,0,0,0,4,16,5,0,0,0,0,0,11,14,3,0,0,0,0,0,11,16,16,4,0,0,0,0,11,11,5,13,0,0,0,0,6,13,7,15,0,0,0,0,0,5,14,9,0,0,6 +0,0,7,16,15,4,0,0,0,0,11,16,15,12,0,0,0,0,5,16,16,14,0,0,0,0,0,3,8,15,5,0,0,0,0,0,0,10,10,0,0,0,0,0,0,11,11,0,0,0,1,0,5,15,9,0,0,0,6,15,16,16,2,0,9 +0,0,1,13,16,2,0,0,0,0,8,16,12,1,0,0,0,0,14,16,2,0,0,0,0,0,15,14,9,1,0,0,0,1,16,16,16,10,0,0,0,0,13,15,13,15,0,0,0,0,8,16,14,14,1,0,0,0,1,11,16,8,0,0,6 +0,0,0,12,10,0,0,0,0,0,0,14,16,2,0,0,0,0,0,13,16,0,0,0,0,0,0,11,16,3,0,0,0,0,0,10,16,3,0,0,0,0,0,11,16,2,0,0,0,0,0,14,16,2,0,0,0,0,0,11,14,0,0,0,1 +0,0,3,16,15,5,0,0,0,0,7,16,15,14,0,0,0,0,0,1,7,16,4,0,0,2,6,9,14,16,5,0,0,9,16,16,16,12,1,0,0,0,9,15,16,4,0,0,0,0,6,16,11,0,0,0,0,0,2,15,4,0,0,0,7 +0,0,15,13,13,13,0,0,0,0,16,16,11,3,0,0,0,0,12,13,0,0,0,0,0,0,5,16,3,0,0,0,0,0,0,11,10,0,0,0,0,0,0,10,14,0,0,0,0,0,9,16,10,0,0,0,0,0,11,15,1,0,0,0,5 +0,0,0,13,8,0,0,0,0,0,2,15,1,0,0,0,0,0,11,10,0,8,2,0,0,4,16,5,11,16,8,0,0,7,16,16,16,16,3,0,0,2,13,9,16,12,0,0,0,0,0,7,16,6,0,0,0,0,0,13,15,1,0,0,4 +0,0,4,16,1,0,0,0,0,0,12,13,0,1,1,0,0,3,16,8,5,16,6,0,0,9,16,6,14,16,2,0,0,11,16,16,16,9,0,0,0,0,10,15,15,2,0,0,0,0,3,16,9,0,0,0,0,0,5,16,3,0,0,0,4 +0,0,5,14,14,2,0,0,0,2,16,16,16,7,0,0,0,0,7,4,16,12,0,0,0,0,1,9,16,16,8,0,0,3,15,16,16,10,2,0,0,4,16,16,11,0,0,0,0,0,9,16,5,0,0,0,0,0,9,13,0,0,0,0,7 +0,0,7,16,5,0,0,0,0,0,16,16,11,0,0,0,0,0,10,13,16,1,0,0,0,0,0,13,15,0,0,0,0,0,0,14,13,0,0,0,0,0,12,16,6,4,8,1,0,0,14,16,16,16,16,4,0,0,7,16,15,7,3,0,2 +0,0,8,16,16,12,0,0,0,0,16,13,10,16,3,0,0,0,12,1,2,16,4,0,0,0,0,0,6,15,0,0,0,0,0,1,15,10,0,0,0,0,0,9,15,2,0,0,0,1,11,16,12,8,8,1,0,0,11,16,16,16,12,1,2 +0,0,3,9,14,9,0,0,0,5,16,14,5,0,0,0,0,12,11,3,0,0,0,0,0,13,16,12,1,0,0,0,0,4,11,13,8,0,0,0,0,0,0,7,11,0,0,0,0,0,1,12,12,0,0,0,0,0,2,15,7,0,0,0,5 +0,7,12,14,16,8,0,0,0,8,16,14,15,11,0,0,0,2,11,2,16,6,0,0,0,0,0,9,16,8,5,0,0,8,13,16,16,12,5,0,0,7,16,12,3,0,0,0,0,4,16,4,0,0,0,0,0,9,12,0,0,0,0,0,7 +0,0,7,16,16,8,0,0,0,0,14,12,11,14,0,0,0,0,11,15,16,12,0,0,0,0,5,15,15,4,0,0,0,0,0,3,12,14,0,0,0,1,10,0,7,15,0,0,0,1,14,6,13,12,0,0,0,0,7,16,16,11,0,0,9 +0,0,3,14,16,14,0,0,0,3,12,16,8,1,0,0,0,15,16,12,0,0,0,0,0,10,16,16,8,0,0,0,0,0,7,11,15,1,0,0,0,0,0,7,16,1,0,0,0,0,8,15,16,2,0,0,0,0,4,16,9,0,0,0,5 +0,0,11,7,0,0,0,0,0,5,16,3,2,14,3,0,0,9,15,0,12,15,0,0,0,6,16,15,16,5,0,0,0,0,6,15,11,0,0,0,0,0,1,16,4,0,0,0,0,0,9,12,0,0,0,0,0,0,13,10,0,0,0,0,4 +0,0,0,11,8,0,0,0,0,0,6,15,2,0,0,0,0,0,13,8,0,4,7,0,0,5,16,2,2,13,9,0,0,10,15,12,15,14,1,0,0,6,16,9,16,5,0,0,0,0,0,6,14,1,0,0,0,0,0,14,7,0,0,0,4 +0,0,7,15,16,12,0,0,0,12,16,11,16,13,0,0,0,15,16,16,14,5,0,0,0,8,16,12,0,0,0,0,0,0,2,12,9,0,0,0,0,0,0,9,13,0,0,0,0,0,2,16,8,0,0,0,0,0,10,12,1,0,0,0,9 +0,0,1,13,15,8,0,0,0,0,11,14,8,15,0,0,0,2,16,3,0,13,2,0,0,5,15,0,0,10,5,0,0,3,10,0,0,10,5,0,0,3,13,0,1,15,3,0,0,0,12,10,11,11,0,0,0,0,1,12,11,4,0,0,0 +0,0,2,10,11,1,0,0,0,0,5,14,3,12,0,0,0,0,6,13,3,15,0,0,0,0,8,15,15,9,0,0,0,2,16,11,9,0,0,0,0,2,14,2,10,0,0,0,0,0,7,6,13,0,0,0,0,0,1,15,6,0,0,0,8 +0,0,1,10,13,12,5,0,0,0,13,13,4,4,12,0,0,3,16,7,4,12,6,0,0,2,15,16,15,5,0,0,0,0,1,9,16,0,0,0,0,0,0,2,15,0,0,0,0,0,0,11,6,0,0,0,0,0,0,15,0,0,0,0,9 +0,0,1,9,15,10,1,0,0,0,2,12,8,12,4,0,0,0,0,11,1,11,3,0,0,0,0,8,8,15,4,0,0,2,15,16,16,7,0,0,0,2,15,5,11,0,0,0,0,0,14,4,12,0,0,0,0,0,3,14,9,0,0,0,8 +0,0,8,12,12,1,0,0,0,3,16,16,14,9,0,0,0,6,15,9,3,12,2,0,0,7,9,0,0,9,7,0,0,7,8,0,0,7,8,0,0,5,10,0,0,7,9,0,0,0,14,13,10,16,6,0,0,0,5,13,11,4,0,0,0 +0,0,4,14,16,14,1,0,0,2,14,16,16,8,0,0,0,4,16,16,14,3,0,0,0,4,16,16,10,0,0,0,0,0,12,13,12,0,0,0,0,1,14,16,15,3,0,0,0,0,10,16,16,12,0,0,0,0,2,9,15,16,8,0,1 +0,1,12,16,5,0,0,0,0,11,16,16,13,0,0,0,0,7,6,5,14,2,0,0,0,0,0,0,12,3,0,0,0,0,0,4,13,0,0,0,0,0,1,13,5,0,0,0,0,0,10,16,10,8,4,0,0,0,13,15,16,12,7,0,2 +0,1,6,12,15,5,0,0,0,7,14,14,16,7,0,0,0,0,2,14,10,0,0,0,0,0,11,16,2,0,0,0,0,0,2,11,16,12,0,0,0,0,0,0,4,14,7,0,0,0,2,4,5,14,7,0,0,0,6,16,14,8,0,0,3 +0,0,0,0,8,10,0,0,0,0,0,0,13,6,0,0,0,0,0,5,13,0,0,0,0,0,2,14,3,10,10,0,0,1,14,15,10,16,6,0,0,14,14,12,15,16,2,0,0,3,0,0,8,14,0,0,0,0,0,0,5,10,0,0,4 +0,0,9,15,16,15,2,0,0,4,16,5,3,1,0,0,0,4,14,0,0,0,0,0,0,5,14,9,14,15,2,0,0,5,13,9,8,15,8,0,0,0,0,0,0,13,5,0,0,0,0,5,11,14,0,0,0,0,11,12,7,1,0,0,5 +0,0,1,13,2,0,0,0,0,0,9,14,2,0,0,0,0,3,16,7,0,0,0,0,0,3,16,7,0,0,0,0,0,5,16,16,8,1,0,0,0,3,15,11,14,13,2,0,0,0,10,16,10,16,15,0,0,0,1,10,14,12,7,0,6 +0,0,7,16,16,15,5,0,0,0,9,12,15,16,7,0,0,0,0,0,9,15,1,0,0,0,7,12,15,15,8,0,0,1,16,16,16,13,5,0,0,0,0,14,10,0,0,0,0,0,5,16,2,0,0,0,0,0,8,14,1,0,0,0,7 +0,1,11,10,8,1,1,0,0,3,15,11,3,12,6,0,0,0,4,16,16,12,0,0,0,0,0,11,16,5,0,0,0,0,5,13,12,12,0,0,0,0,13,7,1,16,4,0,0,1,15,4,7,14,0,0,0,1,14,14,8,1,0,0,8 +0,1,8,13,15,5,0,0,0,8,14,7,16,14,0,0,0,10,12,1,10,16,2,0,0,2,12,14,15,16,4,0,0,0,0,4,4,15,8,0,0,0,0,0,0,9,9,0,0,0,9,7,1,10,12,0,0,0,6,13,16,15,6,0,9 +0,0,4,15,8,0,0,0,0,0,15,14,15,5,0,0,0,8,16,5,3,14,0,0,0,5,11,0,0,10,5,0,0,5,9,0,0,8,8,0,0,0,14,0,0,10,8,0,0,0,14,13,13,16,1,0,0,0,2,14,14,7,0,0,0 +0,0,0,8,12,9,2,0,0,0,5,16,16,16,4,0,0,0,9,16,16,11,0,0,0,3,16,16,16,5,0,0,0,4,16,16,16,4,0,0,0,1,15,16,16,3,0,0,0,0,8,16,16,9,0,0,0,0,0,9,12,6,0,0,1 +0,0,8,16,8,0,0,0,0,0,10,16,16,3,0,0,0,0,2,4,14,4,0,0,0,0,0,8,14,0,0,0,0,0,5,16,8,0,0,0,0,2,15,14,7,6,3,0,0,5,16,15,16,15,3,0,0,0,10,13,8,2,0,0,2 +0,1,8,13,16,13,0,0,0,1,13,12,15,16,0,0,0,0,0,5,15,8,0,0,0,0,5,15,5,0,0,0,0,0,6,16,11,1,0,0,0,0,2,13,16,11,0,0,0,0,0,2,14,16,4,0,0,0,13,16,15,7,0,0,3 +0,0,0,6,12,0,0,0,0,0,2,15,5,0,0,0,0,0,12,8,0,2,6,0,0,4,15,0,1,13,8,0,0,6,16,2,6,14,1,0,0,8,16,16,16,6,0,0,0,1,5,8,16,1,0,0,0,0,0,3,11,0,0,0,4 +0,0,8,14,16,16,0,0,0,0,14,13,8,8,0,0,0,2,16,6,0,0,0,0,0,6,16,13,16,13,0,0,0,3,16,16,12,16,7,0,0,0,4,1,2,14,6,0,0,0,1,6,16,11,0,0,0,0,11,15,8,1,0,0,5 +0,0,2,15,6,0,0,0,0,0,11,16,4,0,0,0,0,3,16,7,0,0,0,0,0,4,16,6,4,1,0,0,0,6,16,16,14,16,3,0,0,2,14,9,0,11,9,0,0,0,10,14,8,15,5,0,0,0,3,13,16,8,0,0,6 +0,0,4,16,16,16,3,0,0,0,7,12,13,16,8,0,0,0,0,0,1,16,5,0,0,1,4,4,7,16,1,0,0,10,16,16,16,16,9,0,0,5,11,13,16,10,2,0,0,0,0,11,13,0,0,0,0,0,5,13,3,0,0,0,7 +0,2,12,14,3,0,0,0,0,7,16,1,0,4,1,0,0,0,13,16,16,15,1,0,0,0,7,16,14,1,0,0,0,0,15,14,16,0,0,0,0,2,16,1,15,7,0,0,0,5,16,6,15,7,0,0,0,1,16,14,9,0,0,0,8 +0,0,8,14,12,3,0,0,0,6,16,6,14,14,0,0,0,6,13,0,8,14,0,0,0,2,14,14,14,16,3,0,0,0,2,4,6,16,5,0,0,0,0,0,0,16,5,0,0,0,0,0,5,16,3,0,0,0,7,16,16,8,0,0,9 +0,0,7,12,1,0,0,0,0,0,15,16,15,4,0,0,0,2,16,9,10,11,0,0,0,6,12,0,0,12,3,0,0,8,12,0,0,6,8,0,0,6,13,0,0,9,8,0,0,1,16,13,15,16,3,0,0,0,6,15,9,3,0,0,0 +0,0,6,12,11,0,0,0,0,0,12,16,15,0,0,0,0,0,13,16,14,2,0,0,0,1,15,16,11,2,0,0,0,0,9,16,10,0,0,0,0,0,9,16,14,5,0,0,0,0,10,16,16,14,0,0,0,0,4,11,12,8,0,0,1 +0,0,10,13,8,1,0,0,0,0,16,16,16,8,0,0,0,0,6,1,11,9,0,0,0,0,0,0,13,8,0,0,0,0,0,5,15,4,0,0,0,0,8,16,10,0,0,0,0,8,16,16,16,15,4,0,0,2,10,11,7,2,0,0,2 +0,4,13,16,16,7,0,0,0,8,12,16,16,13,0,0,0,0,9,16,16,3,0,0,0,0,15,16,6,0,0,0,0,0,10,11,9,2,0,0,0,0,1,7,15,13,2,0,0,0,3,4,7,16,10,0,0,2,11,15,11,8,2,0,3 +0,0,0,2,14,2,0,0,0,0,0,14,8,0,0,0,0,0,10,9,0,4,4,0,0,4,14,1,1,15,8,0,0,4,16,5,11,16,2,0,0,6,16,16,16,11,0,0,0,0,4,0,12,6,0,0,0,0,0,1,13,1,0,0,4 +0,0,3,10,15,8,0,0,0,0,12,14,8,1,0,0,0,1,16,3,0,0,0,0,0,2,16,9,11,16,3,0,0,4,16,14,9,15,7,0,0,1,4,0,0,15,3,0,0,0,0,3,12,8,0,0,0,0,2,10,8,0,0,0,5 +0,0,1,12,6,0,0,0,0,0,12,15,0,0,0,0,0,4,16,10,0,0,0,0,0,7,16,10,1,0,0,0,0,8,16,16,15,7,0,0,0,6,16,9,9,16,3,0,0,0,8,16,13,15,11,0,0,0,1,10,15,14,4,0,6 +0,0,5,14,16,16,3,0,0,0,7,16,16,16,5,0,0,0,0,0,8,16,0,0,0,0,9,14,16,16,13,0,0,2,16,16,15,7,1,0,0,0,1,14,10,0,0,0,0,0,3,16,5,0,0,0,0,0,7,13,0,0,0,0,7 +0,0,15,13,0,3,3,0,0,0,15,15,8,15,5,0,0,0,8,16,16,7,0,0,0,0,7,16,16,1,0,0,0,0,12,12,15,10,0,0,0,3,16,0,10,15,1,0,0,2,16,5,7,15,3,0,0,1,12,16,15,7,0,0,8 +0,0,4,13,13,4,0,0,0,0,16,10,10,8,0,0,0,0,14,7,6,11,0,0,0,0,6,15,15,16,2,0,0,0,0,0,0,11,5,0,0,0,0,0,0,7,9,0,0,1,4,4,6,12,10,0,0,1,6,11,15,12,1,0,9 +0,0,7,12,13,2,0,0,0,0,14,13,8,13,0,0,0,3,16,1,0,11,2,0,0,4,14,0,0,5,8,0,0,5,8,0,0,5,8,0,0,4,16,0,2,14,7,0,0,2,16,10,14,15,1,0,0,0,6,14,14,4,0,0,0 +0,0,5,14,11,3,0,0,0,1,15,8,13,10,0,0,0,1,15,9,9,15,2,0,0,0,10,16,16,16,3,0,0,0,0,0,1,16,4,0,0,0,0,0,0,15,4,0,0,0,7,5,9,16,0,0,0,0,6,12,13,9,0,0,9 +0,0,15,16,12,5,0,0,0,1,16,15,11,7,0,0,0,4,16,9,0,0,0,0,0,8,16,14,12,7,0,0,0,7,16,14,10,16,3,0,0,0,1,0,10,16,4,0,0,0,1,10,16,10,0,0,0,0,13,15,5,0,0,0,5 +0,0,4,9,12,16,8,0,0,0,15,15,8,8,2,0,0,4,16,11,4,1,0,0,0,8,16,16,16,14,0,0,0,0,11,9,8,16,0,0,0,0,0,0,7,16,0,0,0,0,0,8,16,12,0,0,0,0,3,13,9,1,0,0,5 +0,0,4,14,5,0,0,0,0,0,13,14,0,0,0,0,0,2,16,10,0,0,0,0,0,4,16,7,0,0,0,0,0,6,16,16,15,4,0,0,0,4,16,9,4,16,2,0,0,1,15,13,6,16,11,0,0,0,4,13,16,15,5,0,6 +0,0,7,11,13,8,1,0,0,1,15,9,8,6,0,0,0,10,16,0,0,0,0,0,0,8,16,16,16,9,0,0,0,0,6,5,10,13,0,0,0,0,0,1,14,16,0,0,0,0,6,14,14,4,0,0,0,1,10,14,2,0,0,0,5 +0,0,4,14,11,3,0,0,0,0,10,16,12,14,1,0,0,1,14,12,0,13,3,0,0,5,16,6,0,8,6,0,0,8,16,0,0,9,8,0,0,7,16,3,7,16,5,0,0,3,15,13,16,15,2,0,0,0,4,15,12,2,0,0,0 +0,0,12,16,14,8,0,0,0,7,16,10,14,16,0,0,0,4,16,11,14,16,4,0,0,0,5,14,16,16,8,0,0,0,0,0,0,16,8,0,0,0,0,0,4,16,6,0,0,2,12,9,16,15,1,0,0,1,9,16,14,3,0,0,9 +0,0,7,14,11,0,0,0,0,1,16,13,2,2,1,0,0,3,16,9,4,13,4,0,0,0,7,16,16,14,0,0,0,0,11,16,16,9,0,0,0,0,16,9,10,15,0,0,0,1,16,2,5,16,4,0,0,0,7,15,16,16,3,0,8 +0,0,9,16,14,6,0,0,0,6,16,5,10,16,0,0,0,2,15,7,10,16,3,0,0,0,4,8,12,16,4,0,0,0,0,0,0,16,7,0,0,0,0,0,1,16,8,0,0,0,3,0,8,16,1,0,0,0,10,16,13,4,0,0,9 +0,1,15,14,2,0,0,0,0,6,14,0,0,3,2,0,0,2,16,3,2,13,3,0,0,0,11,14,15,9,0,0,0,0,7,16,11,0,0,0,0,0,15,13,14,0,0,0,0,2,15,4,16,3,0,0,0,1,15,16,12,1,0,0,8 +0,0,0,5,12,0,2,1,0,0,1,14,4,1,14,8,0,0,10,8,0,9,15,1,0,1,15,1,2,15,8,0,0,5,16,6,11,16,2,0,0,5,16,16,16,10,0,0,0,0,1,0,15,2,0,0,0,0,0,5,11,0,0,0,4 +0,0,3,14,15,9,0,0,0,0,10,16,16,13,0,0,0,2,13,16,16,4,0,0,0,0,12,16,16,4,0,0,0,2,13,16,16,4,0,0,0,0,12,16,16,4,0,0,0,0,6,16,16,16,6,0,0,0,2,10,16,16,2,0,1 +0,0,3,12,16,16,15,0,0,0,9,10,7,12,14,0,0,0,0,0,2,15,6,0,0,0,0,0,11,13,0,0,0,1,9,9,16,11,1,0,0,13,16,16,16,16,4,0,0,0,1,16,7,0,0,0,0,0,6,16,2,0,0,0,7 +0,0,1,11,16,16,8,0,0,0,5,11,9,16,11,0,0,0,0,0,2,16,6,0,0,0,6,9,12,16,9,0,0,1,16,16,16,14,3,0,0,0,3,5,16,7,0,0,0,0,0,8,14,0,0,0,0,0,1,16,5,0,0,0,7 +0,0,8,14,16,16,15,1,0,0,6,6,5,12,12,1,0,0,0,2,11,12,3,0,0,0,5,14,9,0,0,0,0,0,9,16,9,0,0,0,0,0,1,11,16,7,0,0,0,0,2,7,16,7,0,0,0,0,9,13,5,0,0,0,3 +0,0,8,12,15,16,5,0,0,0,10,11,2,3,0,0,0,0,13,5,0,0,0,0,0,2,16,10,12,11,1,0,0,1,16,13,8,14,7,0,0,0,1,0,0,13,3,0,0,0,1,6,12,10,0,0,0,0,10,10,7,0,0,0,5 +0,0,1,7,10,3,0,0,0,0,8,16,16,12,0,0,0,0,8,16,16,12,0,0,0,0,10,16,16,5,0,0,0,0,7,16,16,1,0,0,0,0,14,16,15,1,0,0,0,0,12,16,16,1,0,0,0,0,1,9,12,9,0,0,1 +0,0,10,12,14,1,0,0,0,0,16,16,16,12,0,0,0,5,16,8,3,16,0,0,0,8,13,0,0,8,7,0,0,8,12,0,0,6,8,0,0,8,13,0,4,12,8,0,0,7,16,16,16,13,0,0,0,0,11,14,8,1,0,0,0 +0,0,5,12,1,6,0,0,0,0,11,12,0,16,2,0,0,0,16,5,0,12,4,0,0,3,15,0,0,8,4,0,0,7,12,0,0,4,7,0,0,2,15,1,1,12,5,0,0,0,16,11,12,15,3,0,0,0,4,12,12,3,0,0,0 +0,0,13,9,0,0,0,0,0,8,16,15,0,0,0,0,0,9,9,13,2,0,0,0,0,0,0,11,3,0,0,0,0,0,1,13,0,0,0,0,0,0,4,13,0,0,0,0,0,1,13,15,8,12,11,0,0,0,12,16,16,12,2,0,2 +0,5,15,16,6,0,0,0,0,11,16,16,11,0,0,0,0,6,10,11,14,0,0,0,0,0,0,7,15,0,0,0,0,0,0,11,11,0,0,0,0,0,3,16,6,0,0,0,0,0,13,16,15,12,11,0,0,6,16,16,16,13,3,0,2 +0,0,7,14,16,8,0,0,0,0,14,14,16,14,0,0,0,0,0,0,10,12,0,0,0,0,4,4,14,9,2,0,0,7,16,16,16,16,7,0,0,6,12,16,11,1,0,0,0,0,2,16,3,0,0,0,0,0,6,13,0,0,0,0,7 +0,0,6,14,9,5,2,0,0,7,15,6,2,12,8,0,0,5,15,2,8,15,1,0,0,1,12,14,16,4,0,0,0,0,1,16,11,0,0,0,0,0,4,10,16,3,0,0,0,0,9,2,13,8,0,0,0,0,5,14,11,3,0,0,8 +0,4,15,11,1,0,0,0,0,8,16,16,4,0,0,0,0,2,6,13,8,0,0,0,0,0,0,8,5,0,0,0,0,0,0,11,4,0,0,0,0,0,5,16,0,0,0,0,0,2,13,16,13,12,6,0,0,5,16,15,16,12,3,0,2 +0,0,9,13,8,0,0,0,0,0,13,16,16,12,0,0,0,2,16,7,6,15,3,0,0,8,14,0,0,8,3,0,0,5,14,0,0,8,8,0,0,2,16,13,11,14,4,0,0,3,16,15,16,6,0,0,0,0,6,14,8,0,0,0,0 +0,0,5,11,12,5,0,0,0,0,12,6,2,3,0,0,0,0,9,16,16,4,0,0,0,0,12,16,16,4,0,0,0,0,12,16,16,4,0,0,0,0,12,16,16,4,0,0,0,0,12,16,16,8,0,0,0,0,6,12,11,7,0,0,1 +0,2,16,10,0,0,0,0,0,7,16,16,3,0,0,0,0,3,10,12,8,0,0,0,0,0,0,7,10,0,0,0,0,0,0,10,12,0,0,0,0,0,8,15,15,12,5,0,0,2,16,16,16,16,15,2,0,2,15,14,12,12,7,0,2 +0,0,1,13,9,0,0,0,0,0,8,16,4,0,0,0,0,0,16,11,0,0,0,0,0,2,16,10,2,0,0,0,0,7,16,16,16,10,1,0,0,4,16,6,2,14,7,0,0,0,11,15,12,15,8,0,0,0,2,14,15,6,0,0,6 +0,0,5,13,16,10,1,0,0,7,16,16,16,16,7,0,0,0,5,2,11,14,5,0,0,0,0,10,15,6,0,0,0,0,9,16,13,2,0,0,0,0,4,11,15,14,0,0,0,0,2,2,13,16,1,0,0,0,5,14,15,9,0,0,3 +0,0,6,11,16,13,5,0,0,2,16,16,16,16,12,0,0,0,0,0,5,16,4,0,0,0,0,10,15,5,0,0,0,0,9,16,3,0,0,0,0,0,13,16,13,1,0,0,0,0,0,5,16,14,0,0,0,0,5,14,11,6,0,0,3 +0,0,2,14,16,8,0,0,0,0,4,12,16,11,0,0,0,0,0,0,16,12,0,0,0,0,0,3,16,9,0,0,0,2,5,10,16,12,2,0,0,16,16,16,16,14,3,0,0,4,4,14,12,0,0,0,0,0,2,16,7,0,0,0,7 +0,0,4,12,13,1,0,0,0,0,4,16,16,5,0,0,0,0,9,16,10,0,0,0,0,8,16,16,11,4,0,0,0,0,4,8,16,16,7,0,0,0,0,0,2,14,14,0,0,0,0,4,15,16,11,0,0,0,5,16,14,8,0,0,3 +0,1,9,16,16,12,1,0,0,0,7,8,10,16,9,0,0,0,0,0,9,16,4,0,0,0,5,13,13,3,0,0,0,0,13,16,8,0,0,0,0,0,0,11,16,8,0,0,0,0,3,5,14,15,0,0,0,0,10,16,11,4,0,0,3 +0,0,0,2,14,0,0,0,0,0,0,12,9,0,0,0,0,0,8,12,0,0,13,5,0,0,13,8,0,9,14,0,0,4,16,16,12,16,4,0,0,4,12,12,15,12,0,0,0,0,0,1,15,4,0,0,0,0,0,4,10,0,0,0,4 +0,0,4,16,6,0,0,0,0,0,7,16,5,0,0,0,0,0,12,12,1,0,0,0,0,0,16,8,0,0,0,0,0,4,16,11,2,0,0,0,0,5,16,16,16,13,1,0,0,2,16,14,15,16,5,0,0,0,5,15,14,7,0,0,6 +0,0,5,16,5,0,0,0,0,0,12,14,1,0,0,0,0,0,15,10,0,0,0,0,0,3,16,9,1,0,0,0,0,7,16,16,16,9,0,0,0,1,16,10,8,16,6,0,0,0,12,14,5,9,13,0,0,0,4,15,15,12,3,0,6 +0,0,3,14,1,0,0,0,0,0,12,12,0,0,0,0,0,3,16,6,0,0,0,0,0,5,16,2,0,0,0,0,0,6,16,2,5,2,0,0,0,4,16,2,12,15,2,0,0,1,14,13,2,13,11,0,0,0,3,11,16,13,4,0,6 +0,0,0,1,15,2,0,0,0,0,0,6,14,0,0,0,0,0,0,11,9,0,6,0,0,0,6,15,1,11,15,0,0,5,16,14,10,16,8,0,1,15,16,16,16,16,3,0,0,3,7,5,13,11,0,0,0,0,0,0,15,3,0,0,4 +0,0,10,16,9,1,0,0,0,7,16,9,14,11,0,0,0,8,14,1,7,14,2,0,0,2,14,14,14,15,3,0,0,0,2,4,4,16,4,0,0,0,3,0,0,13,9,0,0,2,15,8,8,14,8,0,0,0,8,15,13,10,0,0,9 +0,0,11,15,12,1,0,0,0,0,7,16,16,7,0,0,0,0,12,16,16,16,1,0,0,0,13,16,16,13,2,0,0,0,14,16,16,4,0,0,0,2,16,16,14,0,0,0,0,0,14,16,14,0,0,0,0,0,8,16,13,1,0,0,1 +0,0,7,12,16,9,0,0,0,4,16,6,7,3,0,0,0,4,16,2,8,3,0,0,0,7,16,15,13,16,3,0,0,5,11,1,1,16,8,0,0,0,0,0,7,16,0,0,0,0,0,10,16,6,0,0,0,0,10,11,4,0,0,0,5 +0,0,10,11,7,0,0,0,0,4,16,16,16,10,0,0,0,4,16,6,5,15,2,0,0,8,12,0,0,5,8,0,0,8,10,0,0,5,8,0,0,6,13,1,5,14,5,0,0,0,14,13,15,11,1,0,0,0,7,12,8,0,0,0,0 +0,0,8,16,11,0,0,0,0,2,15,8,16,7,0,0,0,3,13,1,14,13,0,0,0,0,10,16,16,16,3,0,0,0,0,2,5,15,4,0,0,0,0,0,0,12,6,0,0,0,5,6,5,15,4,0,0,0,6,15,16,12,1,0,9 +0,0,3,10,16,12,0,0,0,0,13,12,0,2,0,0,0,4,16,2,0,0,0,0,0,0,16,14,16,14,2,0,0,6,16,12,5,16,5,0,0,1,12,1,0,14,7,0,0,0,0,3,13,13,1,0,0,0,1,13,10,1,0,0,5 +0,4,15,15,8,0,0,0,0,8,16,16,16,3,0,0,0,1,0,1,15,5,0,0,0,0,0,0,11,6,0,0,0,0,0,3,15,2,0,0,0,0,4,15,16,14,6,0,0,6,16,16,15,11,3,0,0,7,14,11,0,0,0,0,2 +0,0,7,12,10,0,0,0,0,3,16,16,16,9,1,0,0,0,8,16,16,11,1,0,0,0,10,16,16,0,0,0,0,3,16,14,16,4,0,0,0,4,13,0,7,15,0,0,0,4,14,2,2,16,0,0,0,0,6,11,10,5,0,0,8 +0,2,11,16,13,2,0,0,0,11,15,12,16,7,0,0,0,7,6,0,14,8,0,0,0,0,0,1,16,6,0,0,0,0,0,10,10,0,0,0,0,0,7,16,4,3,3,0,0,3,15,16,15,15,11,0,0,2,13,12,9,0,0,0,2 +0,0,7,14,8,4,0,0,0,0,16,8,15,14,1,0,0,4,16,4,0,8,4,0,0,8,14,0,0,4,4,0,0,8,16,0,0,4,5,0,0,3,16,1,0,11,4,0,0,0,15,16,16,12,0,0,0,0,6,13,7,0,0,0,0 +0,0,9,15,6,0,0,0,0,2,16,16,16,7,0,0,0,4,14,5,11,13,0,0,0,7,12,0,0,12,4,0,0,8,11,0,0,7,5,0,0,4,13,1,1,10,6,0,0,2,16,15,15,14,1,0,0,0,8,15,11,4,0,0,0 +0,0,4,12,12,7,0,0,0,0,16,16,16,5,0,0,0,0,16,16,16,16,0,0,0,4,16,16,16,12,0,0,0,4,16,16,16,12,0,0,0,3,15,16,16,9,0,0,0,0,12,16,16,8,0,0,0,1,7,12,11,5,0,0,1 +0,0,6,15,14,1,0,0,0,0,13,16,16,2,0,0,0,0,3,8,16,2,0,0,0,2,6,12,16,7,2,0,0,13,16,16,16,16,9,0,0,10,13,16,7,1,0,0,0,0,6,14,0,0,0,0,0,0,10,8,0,0,0,0,7 +0,0,0,13,12,0,0,0,0,0,6,16,4,0,0,0,0,2,16,10,0,0,0,0,0,5,16,10,0,0,0,0,0,8,15,15,6,0,0,0,0,3,16,14,13,10,2,0,0,0,12,16,13,16,12,0,0,0,1,10,16,14,4,0,6 +0,0,7,16,16,15,8,0,0,0,12,15,15,16,11,0,0,0,0,3,14,15,2,0,0,0,1,14,12,1,0,0,0,0,1,16,15,5,0,0,0,0,0,3,12,15,0,0,0,0,0,4,12,14,1,0,0,0,10,15,10,4,0,0,3 +0,0,11,16,10,0,0,0,0,6,15,16,16,6,0,0,0,0,0,2,11,12,0,0,0,0,0,0,9,8,0,0,0,0,0,4,15,2,0,0,0,1,9,15,9,3,0,0,0,0,16,16,16,16,7,0,0,0,10,13,8,4,1,0,2 +0,0,4,10,12,7,0,0,0,0,8,16,16,15,0,0,0,0,9,16,16,12,0,0,0,0,7,16,16,9,0,0,0,0,2,14,16,11,1,0,0,0,0,16,16,16,0,0,0,0,2,16,16,12,0,0,0,0,1,9,10,0,0,0,1 +0,0,1,15,15,2,0,0,0,0,3,12,16,6,0,0,0,0,0,4,16,4,0,0,0,0,3,8,16,4,0,0,0,10,16,16,16,16,8,0,0,8,11,14,14,5,1,0,0,0,0,15,6,0,0,0,0,0,1,15,2,0,0,0,7 +0,0,0,0,13,8,0,0,0,0,0,5,16,3,0,0,0,0,0,14,10,2,9,0,0,1,11,13,0,10,15,0,0,12,15,5,7,14,10,0,1,15,16,16,16,16,4,0,0,4,4,3,10,14,0,0,0,0,0,0,15,7,0,0,4 +0,0,0,8,15,3,0,0,0,0,1,15,11,2,0,0,0,0,13,16,1,0,0,0,0,3,16,14,0,0,0,0,0,3,16,15,5,0,0,0,0,3,15,16,11,14,7,0,0,0,11,16,6,6,15,0,0,0,0,10,14,12,8,0,6 +0,0,10,15,15,11,4,0,0,1,10,5,7,16,10,0,0,0,0,1,14,14,0,0,0,0,0,11,13,0,0,0,0,0,0,5,16,5,0,0,0,0,0,1,10,14,0,0,0,0,0,2,7,15,3,0,0,0,6,11,16,8,0,0,3 +0,0,4,16,16,8,0,0,0,0,6,16,16,15,1,0,0,0,4,16,16,12,0,0,0,0,3,16,16,15,0,0,0,0,8,16,16,6,0,0,0,1,13,16,16,4,0,0,0,3,16,16,15,2,0,0,0,0,6,12,12,2,0,0,1 +0,0,3,13,16,5,0,0,0,6,15,9,15,7,0,0,0,0,0,6,16,10,0,0,0,0,7,14,16,3,0,0,0,0,9,16,16,14,3,0,0,0,0,3,2,15,10,0,0,0,4,5,12,16,14,0,0,0,5,13,14,8,2,0,3 +0,0,7,16,9,8,2,0,0,5,16,14,16,16,4,0,0,8,14,0,6,16,4,0,0,1,16,16,15,16,6,0,0,0,0,4,4,13,8,0,0,0,0,0,0,13,8,0,0,0,12,9,11,16,7,0,0,0,7,15,14,7,0,0,9 +0,0,1,12,10,3,0,0,0,0,7,16,16,7,0,0,0,0,12,16,16,3,0,0,0,0,14,16,16,2,0,0,0,1,15,16,16,5,0,0,0,0,15,16,15,2,0,0,0,0,11,16,16,8,0,0,0,0,1,7,12,10,0,0,1 +0,0,1,10,16,16,1,0,0,0,9,16,13,16,1,0,0,0,0,0,5,11,0,0,0,0,0,3,12,12,5,0,0,0,7,16,16,10,4,0,0,0,3,11,13,0,0,0,0,0,0,11,5,0,0,0,0,0,0,15,0,0,0,0,7 +0,0,2,13,13,1,0,0,0,0,12,16,9,0,0,0,0,0,16,11,0,0,0,0,0,4,16,8,0,0,0,0,0,6,16,9,3,0,0,0,0,3,16,14,12,13,4,0,0,0,14,10,0,10,15,0,0,0,2,12,16,13,7,0,6 +0,0,5,12,13,4,0,0,0,3,16,10,2,5,9,0,0,0,15,14,11,15,3,0,0,0,7,16,15,1,0,0,0,0,3,16,16,4,0,0,0,0,8,14,13,12,0,0,0,0,12,12,13,11,0,0,0,0,7,16,11,2,0,0,8 +0,0,0,3,13,7,0,0,0,0,1,14,11,0,0,0,0,0,12,12,1,2,3,0,0,7,16,4,1,15,10,0,0,10,14,0,7,16,8,0,0,15,16,16,16,16,1,0,0,4,11,11,15,11,0,0,0,0,0,2,15,4,0,0,4 +0,1,7,13,16,13,0,0,0,7,16,16,16,14,0,0,0,1,7,16,10,1,0,0,0,1,16,15,0,0,0,0,0,0,8,15,14,3,0,0,0,0,0,1,14,15,3,0,0,0,1,5,13,16,7,0,0,0,8,15,10,6,0,0,3 +0,0,8,12,11,6,0,0,0,0,8,16,16,13,2,0,0,2,14,16,16,14,2,0,0,2,13,16,16,8,0,0,0,4,16,16,16,8,0,0,0,4,16,16,16,10,0,0,0,1,11,16,16,8,0,0,0,0,4,11,12,7,0,0,1 +0,0,0,2,16,1,0,0,0,0,0,9,12,0,0,0,0,0,4,15,9,0,0,0,0,4,16,12,0,9,12,0,0,9,16,16,16,16,10,0,0,1,6,10,14,16,4,0,0,0,0,0,14,14,0,0,0,0,0,3,16,7,0,0,4 +0,0,5,16,10,0,0,0,0,0,8,16,16,5,0,0,0,0,14,14,1,12,0,0,0,0,15,10,0,7,4,0,0,2,16,7,0,2,9,0,0,2,16,8,0,6,11,0,0,1,12,14,14,16,5,0,0,0,4,15,16,8,1,0,0 +0,0,9,12,14,6,0,0,0,0,16,6,0,0,0,0,0,2,15,0,0,0,0,0,0,8,15,12,16,9,1,0,0,1,8,6,2,12,7,0,0,0,0,0,0,11,7,0,0,0,0,0,8,15,2,0,0,0,12,14,9,2,0,0,5 +0,2,10,12,16,8,0,0,0,4,8,5,13,16,0,0,0,0,0,7,15,7,0,0,0,0,6,16,10,0,0,0,0,0,0,5,16,11,0,0,0,0,0,0,6,16,3,0,0,0,0,0,10,16,5,0,0,2,14,16,12,9,0,0,3 +0,0,0,6,12,6,0,0,0,0,1,15,14,1,0,0,0,0,10,16,8,0,0,0,0,1,13,16,0,0,0,0,0,3,16,16,11,4,0,0,0,0,16,16,16,16,7,0,0,0,9,16,16,16,12,0,0,0,0,6,11,12,5,0,6 +0,0,5,14,11,8,0,0,0,4,15,2,16,16,0,0,0,8,12,0,12,16,0,0,0,2,15,16,16,15,4,0,0,0,0,4,10,16,2,0,0,0,0,0,4,16,2,0,0,3,13,8,14,16,0,0,0,0,7,15,12,5,0,0,9 +0,0,2,13,10,0,0,0,0,0,10,13,0,0,0,0,0,0,16,6,0,0,0,0,0,3,16,8,2,0,0,0,0,7,16,16,16,11,0,0,0,4,16,2,4,11,9,0,0,1,13,11,8,12,12,0,0,0,1,12,16,14,4,0,6 +0,0,6,12,12,6,0,0,0,0,11,16,16,13,0,0,0,0,12,16,16,8,0,0,0,0,8,16,16,12,0,0,0,2,13,16,16,12,0,0,0,1,16,16,16,10,0,0,0,0,16,16,16,8,0,0,0,0,2,11,10,4,0,0,1 +0,0,6,16,16,3,0,0,0,0,8,16,16,12,0,0,0,0,0,4,15,11,0,0,0,0,6,16,16,16,13,0,0,0,11,16,16,5,1,0,0,0,0,14,7,0,0,0,0,0,4,16,1,0,0,0,0,0,11,11,0,0,0,0,7 +0,0,12,16,16,7,0,0,0,3,16,10,2,2,0,0,0,4,16,5,0,0,0,0,0,3,16,12,12,9,1,0,0,1,15,16,12,15,9,0,0,0,0,0,3,14,11,0,0,0,3,9,16,16,7,0,0,0,10,12,12,4,0,0,5 +0,0,0,2,14,0,0,0,0,0,0,4,15,0,0,0,0,0,0,11,10,5,7,0,0,0,11,15,2,13,7,0,0,10,16,8,8,16,6,0,0,8,12,12,13,15,1,0,0,0,0,0,10,10,0,0,0,0,0,1,13,3,0,0,4 +0,0,0,1,13,8,0,0,0,0,0,9,15,3,0,0,0,0,2,16,9,2,1,0,0,2,14,13,1,16,6,0,0,11,16,6,8,16,3,0,1,16,16,16,16,13,0,0,0,7,12,13,16,10,0,0,0,0,0,0,15,7,0,0,4 +0,0,3,10,16,16,4,0,0,0,0,0,1,14,7,0,0,0,0,0,2,15,4,0,0,0,4,4,12,15,5,0,0,1,15,16,16,9,4,0,0,0,2,11,13,0,0,0,0,0,1,16,5,0,0,0,0,0,3,12,0,0,0,0,7 +0,3,14,15,6,0,0,0,0,7,15,14,15,0,0,0,0,2,7,2,14,3,0,0,0,0,0,1,14,4,0,0,0,0,0,7,15,2,0,0,0,0,5,15,14,4,1,0,0,4,15,16,16,16,6,0,0,4,15,13,12,11,1,0,2 +0,0,10,16,14,5,0,0,0,2,16,16,8,0,0,0,0,0,9,16,16,5,0,0,0,0,7,16,16,3,0,0,0,0,14,14,13,11,0,0,0,5,16,1,6,15,0,0,0,7,14,9,13,15,1,0,0,1,11,16,15,6,0,0,8 +0,1,10,13,2,0,0,0,0,10,16,16,12,0,0,0,0,9,9,8,16,0,0,0,0,0,0,6,16,2,0,0,0,0,1,11,15,0,0,0,0,0,4,16,13,2,0,0,0,0,14,16,16,16,13,0,0,0,9,13,11,10,9,0,2 +0,0,15,13,1,0,0,0,0,0,14,14,4,0,0,0,0,0,1,4,12,0,0,0,0,0,0,6,12,0,0,0,0,0,0,11,10,0,0,0,0,0,1,16,8,6,5,0,0,0,13,16,16,16,14,0,0,0,10,13,10,6,2,0,2 +0,0,1,10,14,13,1,0,0,0,8,12,6,4,0,0,0,0,14,4,0,0,0,0,0,5,16,12,13,12,0,0,0,2,11,11,8,14,4,0,0,0,0,0,0,16,4,0,0,0,0,0,6,15,2,0,0,0,0,12,14,4,0,0,5 +0,1,10,16,15,2,0,0,0,1,12,13,16,4,0,0,0,0,0,0,16,8,0,0,0,0,7,11,16,13,8,0,0,8,16,16,16,16,6,0,0,2,10,16,9,0,0,0,0,0,3,16,4,0,0,0,0,0,10,15,2,0,0,0,7 +0,0,4,14,15,6,0,0,0,5,16,16,16,16,0,0,0,5,16,16,16,16,3,0,0,0,2,8,13,16,5,0,0,0,0,0,8,16,6,0,0,0,0,0,4,16,8,0,0,0,1,6,13,16,6,0,0,0,4,13,15,9,0,0,9 +0,0,10,16,15,1,0,0,0,0,16,12,5,0,0,0,0,2,16,9,4,0,0,0,0,4,16,16,16,14,2,0,0,1,10,4,1,16,4,0,0,0,0,0,2,16,7,0,0,0,7,8,14,16,3,0,0,0,6,13,10,4,0,0,5 +0,0,0,1,12,6,0,0,0,0,0,11,15,2,0,0,0,0,8,16,6,1,2,0,0,4,16,9,1,15,9,0,0,13,15,6,10,16,6,0,0,12,16,16,16,16,1,0,0,1,7,4,14,13,0,0,0,0,0,0,14,9,0,0,4 +0,0,8,16,3,0,1,0,0,0,16,14,5,14,12,0,0,0,8,16,16,9,0,0,0,0,3,16,14,1,0,0,0,0,12,16,16,2,0,0,0,0,16,11,16,4,0,0,0,3,16,16,16,6,0,0,0,0,10,16,10,1,0,0,8 +0,0,5,12,8,0,1,0,0,0,11,16,5,13,6,0,0,0,2,15,16,12,1,0,0,0,0,10,16,6,0,0,0,0,1,15,16,7,0,0,0,0,8,16,16,11,0,0,0,0,11,16,16,9,0,0,0,0,6,12,12,3,0,0,8 +0,0,0,3,15,4,0,0,0,0,4,16,12,0,0,0,0,0,12,15,3,4,3,0,0,7,16,5,3,15,8,0,0,13,16,13,15,16,2,0,0,12,16,16,16,13,0,0,0,0,4,5,16,8,0,0,0,0,0,1,16,4,0,0,4 +0,0,4,10,13,6,0,0,0,1,16,14,12,16,3,0,0,4,16,6,3,16,4,0,0,0,12,16,16,16,5,0,0,0,0,4,4,16,8,0,0,0,0,0,0,15,5,0,0,0,5,7,7,16,4,0,0,0,2,14,15,9,0,0,9 +0,0,6,16,13,11,1,0,0,0,16,15,12,16,1,0,0,3,16,7,0,13,6,0,0,4,16,0,0,10,8,0,0,8,16,0,0,14,6,0,0,5,16,7,9,16,5,0,0,1,15,16,16,16,1,0,0,0,6,16,14,6,0,0,0 +0,0,1,11,15,1,0,0,0,0,13,16,8,2,1,0,0,0,16,15,10,16,5,0,0,0,8,16,16,7,0,0,0,0,9,16,16,4,0,0,0,0,16,14,16,15,0,0,0,0,15,15,15,16,0,0,0,0,2,9,13,6,0,0,8 +0,0,2,10,7,0,0,0,0,0,14,16,16,15,1,0,0,4,16,7,3,16,7,0,0,5,16,10,7,16,4,0,0,0,5,14,14,16,4,0,0,0,0,0,0,16,2,0,0,0,4,7,7,16,2,0,0,0,5,12,16,12,0,0,9 +0,0,10,14,8,1,0,0,0,2,16,14,6,1,0,0,0,0,15,15,8,15,0,0,0,0,5,16,16,10,0,0,0,0,12,15,15,12,0,0,0,4,16,6,4,16,6,0,0,8,16,10,8,16,8,0,0,1,8,12,14,12,1,0,8 \ No newline at end of file diff --git a/src/Samples/Data/optdigits-train.csv b/src/Samples/Data/optdigits-train.csv new file mode 100644 index 0000000000..1a2e5de8f7 --- /dev/null +++ b/src/Samples/Data/optdigits-train.csv @@ -0,0 +1,3824 @@ +0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,Label +0,1,6,15,12,1,0,0,0,7,16,6,6,10,0,0,0,8,16,2,0,11,2,0,0,5,16,3,0,5,7,0,0,7,13,3,0,8,7,0,0,4,12,0,1,13,5,0,0,0,14,9,15,9,0,0,0,0,6,14,7,1,0,0,0 +0,0,10,16,6,0,0,0,0,7,16,8,16,5,0,0,0,11,16,0,6,14,3,0,0,12,12,0,0,11,11,0,0,12,12,0,0,8,12,0,0,7,15,1,0,13,11,0,0,0,16,8,10,15,3,0,0,0,10,16,15,3,0,0,0 +0,0,8,15,16,13,0,0,0,1,11,9,11,16,1,0,0,0,0,0,7,14,0,0,0,0,3,4,14,12,2,0,0,1,16,16,16,16,10,0,0,2,12,16,10,0,0,0,0,0,2,16,4,0,0,0,0,0,9,14,0,0,0,0,7 +0,0,0,3,11,16,0,0,0,0,5,16,11,13,7,0,0,3,15,8,1,15,6,0,0,11,16,16,16,16,10,0,0,1,4,4,13,10,2,0,0,0,0,0,15,4,0,0,0,0,0,3,16,0,0,0,0,0,0,1,15,2,0,0,4 +0,0,5,14,4,0,0,0,0,0,13,8,0,0,0,0,0,3,14,4,0,0,0,0,0,6,16,14,9,2,0,0,0,4,16,3,4,11,2,0,0,0,14,3,0,4,11,0,0,0,10,8,4,11,12,0,0,0,4,12,14,7,0,0,6 +0,0,11,16,10,1,0,0,0,4,16,10,15,8,0,0,0,4,16,3,11,13,0,0,0,1,14,6,9,14,0,0,0,0,0,0,12,10,0,0,0,0,0,6,16,6,0,0,0,0,5,15,15,8,8,3,0,0,10,16,16,16,16,6,2 +0,0,1,11,13,11,7,0,0,0,9,14,6,4,3,0,0,0,16,12,16,15,2,0,0,5,16,10,4,12,6,0,0,1,1,0,0,10,4,0,0,0,0,0,5,10,0,0,0,0,0,8,15,3,0,0,0,0,1,13,5,0,0,0,5 +0,0,8,10,8,7,2,0,0,1,15,14,12,12,4,0,0,7,15,12,5,0,0,0,0,5,14,12,15,7,0,0,0,0,0,0,2,13,0,0,0,0,0,0,4,12,0,0,0,0,6,7,14,5,0,0,0,0,4,13,8,0,0,0,5 +0,0,15,2,14,13,2,0,0,0,16,15,12,13,8,0,0,2,16,12,1,6,10,0,0,7,15,3,0,5,8,0,0,5,12,0,0,8,8,0,0,5,12,0,7,15,5,0,0,5,16,13,16,6,0,0,0,0,10,12,5,0,0,0,0 +0,0,3,13,13,2,0,0,0,6,16,12,10,8,0,0,0,9,15,12,16,6,0,0,0,10,16,16,13,0,0,0,0,1,12,16,12,14,4,0,0,0,11,8,0,3,12,0,0,0,13,11,8,13,12,0,0,0,3,15,11,6,0,0,8 +0,0,6,14,14,16,16,8,0,0,7,11,8,10,15,3,0,0,0,0,4,15,10,0,0,1,15,16,16,16,14,0,0,3,11,13,13,0,0,0,0,0,0,15,5,0,0,0,0,0,7,13,0,0,0,0,0,0,10,12,0,0,0,0,7 +0,0,0,3,16,11,1,0,0,0,0,8,16,16,1,0,0,0,0,9,16,14,0,0,0,1,7,16,16,11,0,0,0,9,16,16,16,8,0,0,0,1,8,6,16,7,0,0,0,0,0,5,16,9,0,0,0,0,0,2,14,14,1,0,1 +0,0,0,4,13,16,16,3,0,0,8,16,9,12,16,4,0,7,16,3,3,15,13,0,0,9,15,14,16,16,6,0,0,1,8,7,12,15,0,0,0,0,0,0,13,10,0,0,0,0,0,3,15,6,0,0,0,0,0,5,15,4,0,0,9 +0,0,7,12,6,2,0,0,0,0,16,16,13,14,1,0,0,9,16,11,3,0,0,0,0,8,16,16,16,4,0,0,0,1,2,0,6,12,0,0,0,0,0,0,7,12,0,0,0,0,6,9,16,6,0,0,0,0,5,16,9,0,0,0,5 +0,0,7,11,11,6,0,0,0,9,16,12,10,14,0,0,0,5,2,0,4,14,0,0,0,0,1,5,14,6,0,0,0,1,15,16,16,10,0,0,0,0,7,4,4,15,6,0,0,0,5,4,8,13,12,0,0,0,14,16,12,10,1,0,3 +0,1,10,15,8,0,0,0,0,6,16,7,11,8,0,0,0,7,16,3,1,13,1,0,0,7,13,0,0,10,6,0,0,8,12,0,0,14,4,0,0,3,16,0,6,15,2,0,0,0,15,9,16,4,0,0,0,0,9,15,8,0,0,0,0 +0,0,0,1,11,7,0,0,0,0,2,13,10,16,4,0,0,0,13,4,1,16,0,0,0,6,14,8,12,16,7,0,0,0,8,8,15,10,2,0,0,0,0,1,12,1,0,0,0,0,0,4,16,0,0,0,0,0,0,3,15,0,0,0,4 +0,0,5,12,16,16,3,0,0,0,11,11,4,16,9,0,0,0,0,4,8,16,5,0,0,0,4,16,16,16,14,0,0,0,0,11,14,1,0,0,0,0,0,13,10,0,0,0,0,0,3,16,1,0,0,0,0,0,8,12,0,0,0,0,7 +0,0,1,8,13,13,2,0,0,4,16,8,1,12,4,0,0,7,13,3,10,13,0,0,0,3,15,15,14,15,0,0,0,0,13,10,0,10,6,0,0,0,11,5,0,9,8,0,0,0,7,11,4,14,2,0,0,0,1,13,12,4,0,0,8 +0,0,0,2,13,12,4,0,0,0,3,15,15,13,12,0,0,2,15,14,1,12,8,0,0,8,16,14,16,16,11,0,0,3,16,16,16,16,10,0,0,0,0,0,8,13,0,0,0,0,0,0,13,7,0,0,0,0,0,0,15,3,0,0,4 +0,0,4,11,15,16,15,0,0,0,13,13,8,13,14,0,0,0,0,0,0,15,5,0,0,0,2,4,10,15,1,0,0,0,10,16,16,16,8,0,0,0,1,13,13,1,0,0,0,0,1,16,6,0,0,0,0,0,6,14,2,0,0,0,7 +0,0,4,10,13,11,1,0,0,2,13,10,4,8,8,0,0,6,13,4,9,15,4,0,0,4,16,16,16,13,0,0,0,0,12,11,1,8,8,0,0,0,12,4,0,7,8,0,0,0,12,8,8,14,0,0,0,0,6,13,11,1,0,0,8 +0,0,3,11,13,14,6,0,0,0,12,9,3,0,0,0,0,2,14,0,0,0,0,0,0,8,10,6,12,12,2,0,0,7,16,13,6,14,8,0,0,0,0,0,1,14,1,0,0,0,1,4,11,6,0,0,0,0,3,13,10,0,0,0,5 +0,0,1,4,11,13,7,0,0,2,14,12,10,16,5,0,0,7,14,6,14,12,0,0,0,2,12,11,10,15,1,0,0,0,0,0,0,16,4,0,0,0,0,0,3,16,3,0,0,0,0,0,10,11,0,0,0,0,0,1,14,3,0,0,9 +0,0,9,13,1,0,0,0,0,0,8,16,6,0,0,0,0,0,7,16,10,0,0,0,0,0,13,16,10,0,0,0,0,0,9,16,14,0,0,0,0,0,0,7,16,5,0,0,0,0,3,9,16,13,8,5,0,0,4,15,16,16,16,16,1 +0,0,9,16,11,0,0,0,0,4,16,13,16,4,0,0,0,0,9,3,13,9,0,0,0,0,0,0,16,8,0,0,0,0,0,3,16,4,0,0,0,0,0,12,15,1,0,0,0,0,6,16,16,15,11,1,0,0,10,16,9,9,13,6,2 +0,0,2,13,9,0,0,0,0,0,14,11,12,7,0,0,0,6,16,1,0,16,0,0,0,5,12,0,0,11,5,0,0,8,13,0,0,8,7,0,0,1,16,0,0,9,8,0,0,0,13,3,6,16,1,0,0,0,3,16,14,4,0,0,0 +0,0,0,10,12,0,0,0,0,0,9,14,4,0,0,0,0,0,15,3,0,0,0,0,0,2,15,2,6,1,0,0,0,2,16,15,12,15,4,0,0,0,16,5,0,3,14,0,0,0,12,10,4,11,14,0,0,0,1,11,14,12,1,0,6 +0,0,0,0,10,13,0,0,0,0,0,0,15,16,0,0,0,0,0,7,16,14,0,0,0,3,12,16,16,13,0,0,0,3,11,9,16,9,0,0,0,0,0,0,16,9,0,0,0,0,0,0,15,12,0,0,0,0,0,0,8,15,2,0,1 +0,0,7,9,13,11,2,0,0,6,16,9,1,13,8,0,0,8,14,5,11,14,2,0,0,3,16,16,16,6,0,0,0,2,16,5,1,12,5,0,0,4,15,0,0,8,8,0,0,3,16,4,7,13,2,0,0,0,13,12,8,1,0,0,8 +0,0,9,14,16,7,0,0,0,1,14,6,14,13,0,0,0,0,0,0,14,8,0,0,0,0,10,13,16,13,2,0,0,0,16,16,16,13,8,0,0,0,2,15,4,0,0,0,0,0,8,13,0,0,0,0,0,0,12,10,0,0,0,0,7 +0,0,8,16,8,0,0,0,0,1,16,9,10,9,0,0,0,4,15,0,0,10,1,0,0,6,12,0,0,6,6,0,0,5,12,0,0,4,8,0,0,4,14,0,0,7,8,0,0,1,16,9,8,14,4,0,0,0,6,15,14,5,0,0,0 +0,0,9,16,16,15,2,0,0,0,9,6,8,16,8,0,0,0,0,2,1,16,7,0,0,0,12,16,16,16,13,0,0,0,3,4,15,10,1,0,0,0,0,7,15,2,0,0,0,0,3,15,7,0,0,0,0,0,8,13,1,0,0,0,7 +0,0,2,14,10,0,0,0,0,1,14,12,0,0,0,0,0,5,14,1,0,0,0,0,0,6,11,0,0,0,0,0,0,7,15,13,15,7,1,0,0,3,15,8,0,11,10,0,0,0,11,9,4,8,15,0,0,0,1,12,14,12,4,0,6 +0,0,0,3,11,16,11,0,0,0,5,16,14,13,16,3,0,3,16,8,0,13,14,0,0,10,15,6,11,16,6,0,0,8,16,15,14,15,1,0,0,0,3,0,10,12,0,0,0,0,0,0,15,9,0,0,0,0,0,1,16,5,0,0,9 +0,0,0,0,13,16,3,0,0,0,0,1,15,16,0,0,0,2,5,13,16,14,0,0,0,10,16,15,16,12,0,0,0,1,4,5,16,12,0,0,0,0,0,1,16,14,0,0,0,0,0,0,16,15,0,0,0,0,0,0,11,16,8,0,1 +0,0,4,14,16,16,12,0,0,0,12,9,0,5,16,3,0,1,15,14,10,13,12,0,0,8,16,16,16,9,3,0,0,1,4,8,15,0,0,0,0,0,0,8,13,0,0,0,0,0,1,14,9,0,0,0,0,0,6,15,4,0,0,0,9 +0,0,6,12,11,3,0,0,0,0,16,9,16,7,0,0,0,0,0,10,13,0,0,0,0,0,14,16,16,10,1,0,0,0,8,2,3,15,4,0,0,0,1,0,0,12,6,0,0,8,15,6,9,16,3,0,0,0,7,12,13,6,0,0,3 +0,0,0,3,10,15,9,4,0,0,2,15,7,9,16,6,0,0,11,6,0,10,16,1,0,1,15,14,16,16,7,0,0,0,5,7,2,14,2,0,0,0,0,0,10,6,0,0,0,0,0,1,15,0,0,0,0,0,0,7,9,0,0,0,9 +0,0,0,2,10,16,12,2,0,0,2,14,12,7,16,3,0,3,15,15,4,10,15,0,0,6,16,16,16,16,14,0,0,0,3,3,4,16,6,0,0,0,0,0,6,16,2,0,0,0,0,0,10,14,0,0,0,0,0,0,14,9,0,0,4 +0,0,8,14,9,2,0,0,0,2,14,5,11,13,0,0,0,0,15,0,6,16,4,0,0,0,13,9,15,15,6,0,0,0,0,5,1,7,9,0,0,0,0,0,0,5,12,0,0,0,12,3,0,9,8,0,0,0,7,14,15,13,0,0,9 +0,0,6,16,12,2,0,0,0,6,16,9,11,11,0,0,0,7,14,0,5,14,0,0,0,3,6,0,7,11,0,0,0,0,0,0,14,7,0,0,0,0,0,8,15,0,0,0,0,0,4,16,10,4,3,0,0,0,7,16,13,14,16,3,2 +0,0,8,14,2,0,0,0,0,0,5,16,6,0,0,0,0,0,0,16,11,0,0,0,0,0,2,16,15,0,0,0,0,0,0,14,16,2,0,0,0,0,0,1,16,9,0,0,0,0,5,15,16,15,12,8,0,0,4,15,16,13,12,12,1 +0,0,0,4,11,16,11,0,0,0,6,13,3,3,15,0,0,0,14,2,4,14,11,0,0,0,12,16,15,15,8,0,0,0,0,2,0,14,2,0,0,0,0,0,4,11,0,0,0,0,0,0,14,4,0,0,0,0,0,3,10,0,0,0,9 +0,0,0,0,9,15,12,0,0,0,2,14,9,6,16,1,0,0,12,4,1,12,11,0,0,4,15,7,13,16,3,0,0,2,12,11,1,15,0,0,0,0,0,0,5,11,0,0,0,0,0,0,8,8,0,0,0,0,0,0,9,7,0,0,9 +0,0,2,13,5,0,0,0,0,0,11,15,0,0,0,0,0,1,16,2,0,0,0,0,0,2,16,8,6,2,0,0,0,5,16,9,10,15,2,0,0,0,16,4,0,9,8,0,0,0,11,10,3,16,6,0,0,0,4,15,12,9,1,0,6 +0,0,0,1,10,16,4,0,0,0,1,13,16,16,3,0,0,0,11,15,9,16,3,0,0,11,16,9,14,13,0,0,0,10,16,16,16,16,9,0,0,1,4,4,16,9,2,0,0,0,0,0,14,5,0,0,0,0,0,0,13,9,0,0,4 +0,0,4,13,16,8,0,0,0,6,16,9,11,12,0,0,0,9,11,4,16,6,0,0,0,0,8,15,16,12,1,0,0,0,2,6,1,13,8,0,0,0,9,1,0,9,8,0,0,0,13,8,9,15,4,0,0,0,6,14,12,5,0,0,3 +0,1,14,14,4,0,0,0,0,10,15,15,15,0,0,0,0,14,10,4,16,3,0,0,0,2,1,9,16,0,0,0,0,0,0,13,13,0,0,0,0,0,3,16,5,0,0,0,0,0,13,16,13,5,4,0,0,2,15,14,16,16,16,5,2 +0,2,7,14,11,1,0,0,0,8,15,3,7,8,0,0,0,10,10,1,12,8,0,0,0,4,16,16,15,6,0,0,0,2,16,6,0,11,7,0,0,1,16,0,0,4,13,0,0,0,16,2,5,14,4,0,0,0,7,16,14,6,0,0,8 +0,1,14,15,5,0,0,0,0,3,16,15,15,3,0,0,0,3,16,9,16,5,0,0,0,0,5,6,16,4,0,0,0,0,0,8,15,1,0,0,0,0,0,14,11,0,0,0,0,0,9,16,14,8,7,0,0,0,15,16,16,16,16,6,2 +0,0,1,8,14,14,6,0,0,0,3,11,7,12,14,0,0,0,0,0,0,9,11,0,0,1,12,12,12,15,8,0,0,0,7,8,14,13,1,0,0,0,0,4,15,2,0,0,0,0,0,13,6,0,0,0,0,0,1,14,2,0,0,0,7 +0,0,0,1,15,9,1,0,0,0,0,5,16,16,0,0,0,0,0,13,16,11,0,0,0,2,8,16,16,11,0,0,0,5,12,13,16,8,0,0,0,0,0,5,16,7,0,0,0,0,0,7,16,4,0,0,0,0,0,3,16,15,1,0,1 +0,0,0,4,15,6,0,0,0,0,3,15,9,4,14,0,0,2,15,9,0,11,10,0,0,7,16,10,12,16,14,0,0,3,14,13,15,14,2,0,0,0,0,0,12,10,0,0,0,0,0,2,16,6,0,0,0,0,0,6,13,1,0,0,4 +0,0,2,13,6,0,0,0,0,0,10,14,6,0,0,0,0,0,15,6,0,0,0,0,0,0,16,3,0,0,0,0,0,0,14,16,16,12,1,0,0,2,16,13,3,9,10,0,0,0,8,14,4,13,13,0,0,0,2,12,14,12,4,0,6 +0,0,11,16,6,0,0,0,0,2,16,14,14,1,0,0,0,6,16,2,15,6,0,0,0,2,11,0,15,5,0,0,0,0,0,0,16,5,0,0,0,0,0,4,16,2,0,0,0,0,6,15,15,8,8,3,0,0,12,16,15,16,16,6,2 +0,0,7,14,6,0,0,0,0,5,16,9,13,3,0,0,0,8,12,0,5,12,0,0,0,4,12,0,0,11,6,0,0,6,12,0,0,9,7,0,0,1,15,0,1,15,5,0,0,0,13,7,13,11,0,0,0,0,4,15,11,0,0,0,0 +0,0,0,0,8,12,5,0,0,0,0,10,11,11,9,0,0,0,11,10,0,16,1,0,0,6,16,13,12,15,4,0,0,2,8,8,12,14,4,0,0,0,0,0,12,4,0,0,0,0,0,0,13,1,0,0,0,0,0,0,11,0,0,0,4 +0,0,1,12,11,0,0,0,0,0,8,14,3,0,0,0,0,1,14,5,0,0,0,0,0,1,16,9,4,0,0,0,0,3,16,13,12,12,3,0,0,1,16,3,0,1,15,0,0,0,9,9,2,9,15,2,0,0,2,14,15,12,3,0,6 +0,2,11,15,16,8,0,0,0,4,9,1,5,16,4,0,0,0,0,5,13,13,0,0,0,0,4,16,16,5,0,0,0,0,0,2,7,14,2,0,0,0,2,0,0,11,7,0,0,6,10,1,8,14,2,0,0,3,14,15,11,3,0,0,3 +0,0,5,12,14,16,5,0,0,6,16,15,10,16,6,0,0,0,3,0,3,16,2,0,0,0,1,4,14,13,2,0,0,7,16,16,16,16,11,0,0,4,9,14,12,1,1,0,0,0,0,16,8,0,0,0,0,0,4,16,5,0,0,0,7 +0,0,0,0,13,5,0,0,0,0,0,3,16,13,0,0,0,0,0,10,16,12,0,0,0,6,16,16,16,8,0,0,0,4,8,6,16,5,0,0,0,0,0,4,16,4,0,0,0,0,0,4,16,8,0,0,0,0,0,0,12,13,5,0,1 +0,0,10,8,11,2,0,0,0,0,16,15,8,13,2,0,0,4,16,4,0,9,7,0,0,7,14,0,0,3,8,0,0,8,12,0,0,7,8,0,0,6,6,0,3,15,4,0,0,4,14,10,16,7,0,0,0,0,10,14,5,0,0,0,0 +0,1,9,13,9,0,0,0,0,3,16,10,11,11,0,0,0,1,9,0,2,15,0,0,0,0,0,0,4,15,0,0,0,0,0,1,11,8,0,0,0,0,0,10,15,1,0,0,0,0,6,16,16,13,9,0,0,0,11,12,8,8,8,1,2 +0,3,12,16,10,0,0,0,0,8,16,10,16,6,0,0,0,2,9,0,12,8,0,0,0,0,0,0,15,9,0,0,0,0,0,9,14,1,0,0,0,0,4,16,9,0,0,0,0,1,14,16,13,12,9,1,0,4,16,16,13,15,16,3,2 +0,0,10,16,16,16,4,0,0,2,14,8,1,1,0,0,0,7,15,12,12,7,0,0,0,3,9,7,5,16,6,0,0,0,0,0,0,5,8,0,0,0,0,0,0,13,7,0,0,0,11,4,13,12,0,0,0,0,9,13,9,0,0,0,5 +0,0,8,15,5,0,0,0,0,4,15,12,16,0,0,0,0,10,9,0,12,4,0,0,0,3,1,0,13,3,0,0,0,0,0,1,16,0,0,0,0,0,0,6,11,0,0,0,0,0,5,16,16,16,15,0,0,0,9,10,4,6,9,0,2 +0,0,0,0,11,2,0,0,0,0,0,8,12,0,0,0,0,0,2,15,4,4,8,0,0,1,13,8,0,10,10,0,0,9,16,8,9,16,7,0,0,6,12,12,13,14,1,0,0,0,0,0,14,8,0,0,0,0,0,3,16,4,0,0,4 +0,0,5,12,16,12,0,0,0,2,16,10,8,16,4,0,0,7,16,8,2,16,4,0,0,0,5,15,16,10,0,0,0,0,0,12,16,8,0,0,0,0,6,12,5,16,4,0,0,0,8,12,6,16,6,0,0,0,5,15,15,9,0,0,8 +0,0,0,6,14,11,1,0,0,0,2,14,16,16,2,0,0,0,11,16,16,16,0,0,0,5,15,16,16,16,4,0,0,1,5,7,16,16,2,0,0,0,0,3,16,16,3,0,0,0,0,4,16,16,4,0,0,0,0,4,15,15,4,0,1 +0,0,5,10,16,15,6,0,0,0,12,9,8,15,12,0,0,0,0,0,1,16,5,0,0,2,15,12,13,15,2,0,0,2,11,11,15,10,5,0,0,0,0,11,7,0,0,0,0,0,4,16,1,0,0,0,0,0,9,12,0,0,0,0,7 +0,0,10,13,15,12,5,0,0,0,9,5,5,13,7,0,0,0,0,1,11,13,0,0,0,0,5,16,16,3,0,0,0,0,2,10,12,15,7,0,0,0,0,0,1,16,4,0,0,0,2,8,13,12,1,0,0,0,10,15,7,0,0,0,3 +0,0,2,12,11,2,0,0,0,1,15,12,9,13,0,0,0,6,13,1,0,14,2,0,0,6,12,0,0,8,8,0,0,8,12,0,0,7,8,0,0,5,15,0,0,7,9,0,0,0,13,9,8,15,4,0,0,0,3,13,16,8,0,0,0 +0,0,5,13,14,5,0,0,0,5,16,12,12,16,0,0,0,1,3,0,11,14,0,0,0,0,0,9,16,4,0,0,0,0,2,16,16,9,1,0,0,0,0,3,5,16,7,0,0,0,2,4,9,16,5,0,0,0,5,13,14,6,0,0,3 +0,0,6,9,13,11,0,0,0,10,14,8,9,16,4,0,0,0,0,0,1,15,6,0,0,0,0,3,14,14,1,0,0,0,7,16,16,16,4,0,0,0,1,1,0,12,9,0,0,0,1,2,5,14,10,0,0,0,7,16,13,10,1,0,3 +0,0,7,11,16,7,0,0,0,1,12,12,13,16,0,0,0,0,0,0,6,16,0,0,0,4,13,10,15,13,2,0,0,1,8,14,16,12,4,0,0,0,2,15,7,0,0,0,0,0,9,15,0,0,0,0,0,0,12,7,0,0,0,0,7 +0,1,9,15,16,8,0,0,0,7,16,12,16,8,0,0,0,0,2,0,16,8,0,0,0,1,8,12,16,10,1,0,0,4,16,16,16,16,11,0,0,0,12,16,3,4,2,0,0,0,9,16,0,0,0,0,0,0,14,11,0,0,0,0,7 +0,0,1,9,13,11,3,0,0,0,13,12,8,10,12,0,0,5,13,1,8,15,10,0,0,6,16,16,15,16,6,0,0,0,5,5,5,14,0,0,0,0,0,1,12,7,0,0,0,0,0,8,15,0,0,0,0,0,0,15,7,0,0,0,9 +0,0,0,4,13,12,2,0,0,0,1,15,16,16,3,0,0,0,7,16,16,16,2,0,0,1,14,16,16,16,3,0,0,7,16,16,16,16,0,0,0,0,0,11,16,13,0,0,0,0,0,8,16,15,3,0,0,0,0,6,16,12,2,0,1 +0,0,6,13,15,4,0,0,0,5,16,9,8,12,0,0,0,4,4,0,10,10,0,0,0,0,1,10,16,10,1,0,0,0,3,11,8,15,8,0,0,0,0,0,0,11,7,0,0,0,4,4,8,15,1,0,0,0,4,15,15,1,0,0,3 +0,0,7,13,16,9,0,0,0,0,11,8,9,16,5,0,0,0,0,0,7,15,0,0,0,0,0,13,16,5,0,0,0,0,0,10,12,16,3,0,0,0,0,0,3,16,2,0,0,0,2,7,14,7,0,0,0,0,10,10,2,0,0,0,3 +0,0,0,2,14,2,0,0,0,0,0,11,13,0,0,0,0,0,8,15,3,2,10,0,0,2,16,9,0,12,15,0,0,13,16,9,12,16,9,0,0,12,16,16,16,16,2,0,0,0,4,3,14,14,0,0,0,0,0,0,15,13,0,0,4 +0,3,9,14,16,13,1,0,0,7,13,9,10,16,4,0,0,0,1,1,12,12,1,0,0,0,0,14,16,4,0,0,0,0,0,8,14,16,2,0,0,0,0,0,3,16,8,0,0,0,3,9,15,12,1,0,0,2,16,13,7,0,0,0,3 +0,0,0,4,16,4,0,0,0,0,0,14,14,2,0,0,0,0,7,16,5,1,3,0,0,4,16,11,1,13,11,0,0,13,16,13,13,16,8,0,0,9,16,16,16,16,4,0,0,0,0,4,16,7,0,0,0,0,0,5,16,9,0,0,4 +0,0,12,16,7,0,0,0,0,1,16,9,15,2,0,0,0,0,3,0,12,4,0,0,0,0,0,0,13,4,0,0,0,0,0,7,15,1,0,0,0,1,11,16,7,0,0,0,0,7,16,16,11,6,2,0,0,1,8,11,12,13,7,0,2 +0,0,6,13,16,10,1,0,0,0,15,7,5,13,7,0,0,7,15,1,1,14,6,0,0,1,12,13,14,9,0,0,0,0,0,15,16,3,0,0,0,0,7,13,8,15,0,0,0,0,12,8,7,16,1,0,0,0,5,16,16,5,0,0,8 +0,0,4,12,16,15,5,0,0,0,13,16,16,16,7,0,0,4,16,13,14,11,0,0,0,6,16,16,14,1,0,0,0,0,9,16,12,1,0,0,0,0,12,12,15,7,0,0,0,0,13,10,13,12,0,0,0,0,3,15,13,4,0,0,8 +0,0,3,12,13,10,1,0,0,2,13,9,7,14,8,0,0,8,12,0,0,13,8,0,0,4,15,13,14,16,1,0,0,0,1,4,14,9,0,0,0,0,0,6,14,1,0,0,0,0,2,16,5,0,0,0,0,0,2,16,1,0,0,0,9 +0,0,1,11,12,4,0,0,0,1,11,12,9,15,5,0,0,7,16,4,3,15,7,0,0,3,15,13,15,11,0,0,0,0,3,16,13,14,0,0,0,0,8,9,0,14,7,0,0,0,11,9,9,15,6,0,0,0,2,12,14,8,0,0,8 +0,0,0,4,13,0,0,0,0,0,0,15,8,2,5,0,0,0,11,9,0,12,8,0,0,4,14,1,0,14,5,0,0,8,14,6,7,16,6,0,0,2,11,13,15,13,2,0,0,0,0,1,15,3,0,0,0,0,0,4,14,0,0,0,4 +0,0,12,15,15,12,1,0,0,0,3,4,5,15,7,0,0,0,0,0,5,14,0,0,0,1,11,12,14,11,0,0,0,0,4,11,16,16,7,0,0,0,0,13,7,0,0,0,0,0,4,14,1,0,0,0,0,0,12,5,0,0,0,0,7 +0,0,2,10,12,4,0,0,0,0,10,16,16,16,0,0,0,0,13,16,16,12,0,0,0,0,12,16,16,12,0,0,0,0,12,16,16,12,0,0,0,0,12,16,16,13,0,0,0,0,8,16,16,15,0,0,0,0,4,10,8,3,0,0,1 +0,0,0,10,8,0,0,0,0,0,3,16,7,0,0,0,0,0,10,9,0,0,0,0,0,0,14,9,7,3,0,0,0,1,16,16,14,16,5,0,0,1,15,10,0,3,14,1,0,0,8,12,5,5,15,4,0,0,1,9,15,16,11,0,6 +0,0,1,10,16,7,0,0,0,1,14,14,12,16,4,0,0,6,16,2,1,16,4,0,0,6,16,11,13,16,2,0,0,0,11,12,16,11,0,0,0,0,0,3,16,5,0,0,0,0,0,11,14,0,0,0,0,0,0,13,11,0,0,0,9 +0,0,0,0,10,0,0,0,0,0,0,6,13,0,0,0,0,0,1,13,5,2,2,0,0,0,11,9,0,14,7,0,0,5,16,1,8,16,2,0,0,3,16,14,16,15,5,0,0,0,0,0,16,8,0,0,0,0,0,0,15,8,0,0,4 +0,0,0,8,12,2,0,0,0,0,9,15,8,12,0,0,0,5,16,3,0,12,2,0,0,5,13,0,0,5,7,0,0,8,10,0,0,4,8,0,0,0,16,0,0,3,12,0,0,0,11,9,4,14,6,0,0,0,0,10,13,9,1,0,0 +0,0,0,3,15,11,4,0,0,0,0,13,16,15,0,0,0,0,7,16,16,12,0,0,0,6,16,16,16,12,0,0,0,5,10,5,16,13,0,0,0,0,0,4,16,16,2,0,0,0,0,6,16,16,2,0,0,0,0,3,13,12,1,0,1 +0,1,8,13,16,13,0,0,0,5,14,7,8,15,0,0,0,0,0,2,13,8,0,0,0,0,0,13,16,13,1,0,0,0,0,2,5,14,7,0,0,0,0,0,0,13,7,0,0,0,2,6,12,13,1,0,0,0,7,13,7,1,0,0,3 +0,0,0,7,13,4,0,0,0,0,8,15,7,2,0,0,0,2,15,5,0,0,0,0,0,5,15,0,0,0,0,0,0,5,16,16,15,12,4,0,0,2,15,11,4,10,12,0,0,0,7,13,5,12,13,0,0,0,1,8,13,12,3,0,6 +0,0,2,14,3,0,0,0,0,0,13,16,12,0,0,0,0,8,12,2,12,0,0,0,0,6,8,0,12,0,0,0,0,0,0,0,15,0,0,0,0,0,1,5,15,0,0,0,0,0,7,16,16,14,9,0,0,0,2,12,12,12,11,0,2 +0,0,0,2,13,1,0,0,0,0,1,15,11,0,0,0,0,0,8,15,2,2,0,0,0,1,16,7,3,16,3,0,0,7,16,10,10,16,4,0,0,5,12,13,16,15,2,0,0,0,0,1,14,10,0,0,0,0,0,0,15,11,0,0,4 +0,0,11,16,16,16,3,0,0,1,12,12,13,16,5,0,0,0,0,0,7,16,2,0,0,0,5,13,16,15,1,0,0,0,12,16,16,16,10,0,0,0,1,13,10,4,1,0,0,0,8,16,2,0,0,0,0,0,15,11,0,0,0,0,7 +0,0,0,7,15,1,0,0,0,0,2,14,11,0,0,0,0,0,8,16,4,1,7,0,0,5,16,9,0,12,15,0,0,11,16,14,12,16,9,0,0,6,12,12,16,16,1,0,0,0,0,5,16,8,0,0,0,0,0,10,12,0,0,0,4 +0,0,2,13,9,0,0,0,0,2,16,15,14,6,0,0,0,8,16,5,3,15,0,0,0,7,16,1,0,11,7,0,0,6,12,0,0,8,8,0,0,0,16,2,0,7,10,0,0,0,12,12,7,15,5,0,0,0,0,13,16,9,0,0,0 +0,2,14,16,14,2,0,0,0,9,15,9,16,8,0,0,0,1,3,1,16,6,0,0,0,0,0,5,16,3,0,0,0,0,0,13,13,0,0,0,0,0,7,16,3,0,0,0,0,2,15,16,10,12,6,0,0,4,16,16,16,16,11,0,2 +0,0,8,15,16,14,5,0,0,5,16,4,6,16,8,0,0,7,16,4,9,15,3,0,0,0,12,16,16,3,0,0,0,0,3,15,16,9,0,0,0,0,13,6,6,16,4,0,0,0,16,8,8,16,6,0,0,0,11,16,13,8,0,0,8 +0,4,14,14,16,16,4,0,0,5,16,11,5,4,0,0,0,4,16,4,0,0,0,0,0,6,16,16,16,11,0,0,0,4,11,6,7,16,4,0,0,0,0,0,4,16,4,0,0,0,1,7,15,12,0,0,0,4,16,12,5,0,0,0,5 +0,0,0,9,15,10,1,0,0,0,4,15,16,16,4,0,0,4,15,16,16,16,4,0,0,8,15,10,16,16,8,0,0,0,0,0,16,16,7,0,0,0,0,1,16,16,6,0,0,0,0,7,16,16,4,0,0,0,0,6,12,12,1,0,1 +0,0,5,16,10,1,0,0,0,11,14,13,14,12,0,0,0,12,16,4,3,15,5,0,0,11,12,1,0,7,9,0,0,9,10,0,0,3,14,0,0,6,14,0,0,9,16,0,0,0,14,9,9,16,11,0,0,0,5,15,16,15,1,0,0 +0,0,0,0,11,15,2,0,0,0,0,7,16,16,7,0,0,0,3,15,16,16,4,0,0,6,16,16,16,16,3,0,0,3,8,6,16,16,0,0,0,0,0,4,16,16,0,0,0,0,0,4,16,16,4,0,0,0,0,1,13,16,3,0,1 +0,0,3,12,15,4,0,0,0,0,14,12,13,14,2,0,0,1,16,0,8,16,10,0,0,5,15,13,16,16,8,0,0,1,8,9,11,16,5,0,0,0,0,2,15,10,0,0,0,0,0,10,14,2,0,0,0,0,3,14,5,0,0,0,9 +0,0,0,10,13,1,0,0,0,0,8,16,12,2,0,0,0,1,15,10,0,0,0,0,0,6,16,7,5,0,0,0,0,2,16,16,16,15,3,0,0,2,16,12,0,7,13,0,0,0,11,10,4,10,16,2,0,0,2,11,15,14,9,0,6 +0,0,1,8,16,14,1,0,0,0,11,13,7,15,7,0,0,2,15,2,0,9,12,0,0,6,15,9,13,16,8,0,0,0,6,12,13,16,2,0,0,0,0,0,12,10,0,0,0,0,0,8,15,1,0,0,0,0,0,13,7,0,0,0,9 +0,0,2,12,15,2,0,0,0,0,8,14,4,1,0,0,0,0,15,7,0,0,0,0,0,2,16,6,4,2,0,0,0,3,16,16,15,15,4,0,0,2,15,11,0,4,14,0,0,0,11,9,0,3,16,0,0,0,2,13,16,16,12,0,6 +0,0,4,12,14,9,1,0,0,1,16,13,9,16,7,0,0,7,16,1,4,16,4,0,0,8,13,4,12,16,4,0,0,2,14,14,16,9,0,0,0,0,0,7,16,2,0,0,0,0,1,14,11,0,0,0,0,0,4,16,5,0,0,0,9 +0,1,11,13,13,12,7,0,0,2,16,6,4,10,9,0,0,2,16,2,0,0,0,0,0,4,16,16,16,4,0,0,0,1,10,5,7,12,0,0,0,0,0,0,5,11,0,0,0,0,1,5,14,3,0,0,0,0,15,14,7,0,0,0,5 +0,0,0,11,11,0,0,0,0,0,3,16,7,8,11,0,0,0,14,14,0,16,12,0,0,7,16,7,9,16,9,0,0,8,16,16,16,16,11,0,0,1,4,10,16,8,0,0,0,0,0,9,15,0,0,0,0,0,0,9,11,0,0,0,4 +0,0,11,10,8,14,10,0,0,1,16,14,12,12,7,0,0,0,16,8,0,0,0,0,0,5,16,16,10,2,0,0,0,2,8,8,12,15,1,0,0,0,0,0,5,16,3,0,0,0,5,9,16,10,0,0,0,2,12,12,4,0,0,0,5 +0,0,0,7,14,15,3,0,0,0,11,16,9,15,10,0,0,5,14,3,4,14,10,0,0,7,15,10,16,16,4,0,0,2,11,11,10,16,1,0,0,0,0,0,11,11,0,0,0,0,0,5,16,7,0,0,0,0,0,10,15,0,0,0,9 +0,1,13,11,11,13,5,0,0,8,16,9,8,8,1,0,0,4,16,0,0,0,0,0,0,4,16,16,14,6,0,0,0,2,11,8,9,16,4,0,0,0,0,0,0,12,8,0,0,0,1,5,8,15,6,0,0,2,14,12,12,6,0,0,5 +0,1,13,16,16,16,4,0,0,0,11,12,13,16,4,0,0,0,0,0,13,11,0,0,0,0,11,16,16,16,7,0,0,0,11,15,14,13,8,0,0,0,0,16,7,0,0,0,0,0,9,16,1,0,0,0,0,0,14,10,0,0,0,0,7 +0,0,0,0,13,12,1,0,0,0,0,5,16,16,1,0,0,0,0,14,16,14,0,0,0,0,7,16,16,10,0,0,0,5,16,16,16,14,0,0,0,2,6,9,16,16,1,0,0,0,0,2,16,16,7,0,0,0,0,0,8,12,6,0,1 +0,0,4,10,16,9,0,0,0,4,15,9,8,12,0,0,0,4,4,0,8,10,0,0,0,0,0,6,16,13,1,0,0,0,0,9,10,12,7,0,0,0,0,0,0,10,7,0,0,0,1,6,10,16,3,0,0,0,4,14,10,2,0,0,3 +0,0,5,9,12,12,2,0,0,0,7,10,10,16,5,0,0,0,0,0,6,13,0,0,0,0,7,9,14,14,6,0,0,0,8,14,15,8,2,0,0,0,0,11,7,0,0,0,0,0,6,15,0,0,0,0,0,0,11,7,0,0,0,0,7 +0,0,4,11,15,4,0,0,0,3,15,15,10,16,0,0,0,8,15,2,0,14,4,0,0,7,13,0,0,10,8,0,0,7,12,0,0,13,4,0,0,1,15,4,1,15,2,0,0,0,10,12,11,12,0,0,0,0,2,11,13,2,0,0,0 +0,0,8,13,7,0,0,0,0,5,16,9,15,6,0,0,0,5,8,0,7,13,0,0,0,2,4,0,1,15,0,0,0,0,0,0,4,13,0,0,0,0,0,0,10,10,0,0,0,0,5,12,16,9,8,1,0,0,8,13,14,15,16,4,2 +0,0,0,11,13,1,0,0,0,2,7,16,11,11,0,0,0,8,16,8,0,9,1,0,0,7,12,7,0,4,5,0,0,3,9,0,0,4,9,0,0,1,12,1,0,10,7,0,0,0,7,11,10,15,0,0,0,0,1,11,13,5,0,0,0 +0,0,0,2,14,8,0,0,0,0,0,8,14,2,6,0,0,0,3,15,7,6,16,2,0,1,13,12,1,12,11,0,0,11,16,16,16,16,10,0,0,5,10,8,13,15,3,0,0,0,0,0,14,12,0,0,0,0,0,4,16,7,0,0,4 +0,0,1,12,16,12,2,0,0,0,8,12,11,16,4,0,0,5,16,3,12,13,1,0,0,2,15,15,15,3,0,0,0,0,5,16,15,6,0,0,0,0,6,13,8,16,6,0,0,0,6,13,4,13,12,0,0,0,1,14,16,11,2,0,8 +0,0,9,13,6,0,0,0,0,5,16,9,14,1,0,0,0,9,9,0,11,5,0,0,0,1,1,0,10,6,0,0,0,0,0,0,15,4,0,0,0,0,0,5,15,0,0,0,0,0,5,15,11,8,8,0,0,0,8,16,12,12,15,4,2 +0,0,6,15,16,11,3,0,0,0,12,8,8,14,9,0,0,0,0,0,3,16,4,0,0,0,0,5,16,13,1,0,0,0,0,8,12,14,7,0,0,0,0,0,3,15,2,0,0,0,2,9,15,8,0,0,0,0,10,9,2,0,0,0,3 +0,0,6,7,8,9,9,0,0,5,16,16,14,13,3,0,0,5,10,7,3,0,0,0,0,5,16,16,13,0,0,0,0,0,0,0,12,1,0,0,0,0,0,0,13,1,0,0,0,0,8,11,12,0,0,0,0,0,10,11,2,0,0,0,5 +0,1,8,14,16,6,0,0,0,9,15,10,13,10,0,0,0,1,2,7,16,5,0,0,0,0,4,16,9,0,0,0,0,0,4,16,11,2,0,0,0,0,0,4,13,16,9,0,0,1,8,4,4,13,13,0,0,0,9,14,16,13,7,0,3 +0,2,12,13,12,2,0,0,0,2,7,5,15,7,0,0,0,0,0,9,16,2,0,0,0,4,16,14,3,0,0,0,0,2,12,16,14,5,0,0,0,0,0,1,6,15,4,0,0,0,1,0,2,13,6,0,0,4,13,15,16,12,1,0,3 +0,0,0,6,14,0,0,0,0,0,3,15,9,0,0,0,0,0,14,14,0,7,10,0,0,8,16,8,0,14,15,1,0,12,16,12,10,16,10,0,0,5,14,16,16,15,2,0,0,0,0,4,16,6,0,0,0,0,0,8,14,0,0,0,4 +0,0,7,15,11,0,0,0,0,9,10,14,15,12,0,0,0,9,12,0,0,4,1,0,0,7,16,14,9,0,0,0,0,0,7,13,16,6,0,0,0,0,0,0,12,9,0,0,0,0,11,10,16,8,0,0,0,0,5,16,14,3,0,0,5 +0,1,12,14,4,0,0,0,0,7,15,7,9,0,0,0,0,6,15,1,3,0,0,0,0,1,14,9,5,9,6,0,0,0,3,16,15,5,2,0,0,2,15,13,15,0,0,0,0,7,14,4,14,3,0,0,0,0,11,14,11,0,0,0,8 +0,0,1,7,16,2,0,0,0,0,14,13,12,10,1,0,0,3,14,0,3,16,4,0,0,1,15,16,15,16,0,0,0,0,2,7,2,10,3,0,0,0,0,0,0,11,2,0,0,0,0,9,2,10,4,0,0,0,0,9,16,12,1,0,9 +0,0,0,11,6,0,0,0,0,0,0,15,10,0,0,0,0,0,5,16,2,0,0,0,0,0,8,13,0,0,0,0,0,0,10,12,5,7,1,0,0,0,9,16,12,12,15,2,0,0,7,15,6,9,15,8,0,0,1,10,15,15,10,0,6 +0,0,5,11,8,4,0,0,0,0,15,16,16,15,1,0,0,0,12,16,16,15,2,0,0,3,16,16,16,11,0,0,0,4,16,16,16,4,0,0,0,3,16,16,16,8,0,0,0,0,12,16,16,9,0,0,0,0,3,8,12,8,0,0,1 +0,2,15,15,5,0,0,0,0,4,13,10,16,0,0,0,0,0,4,4,16,0,0,0,0,0,0,2,15,0,0,0,0,0,0,9,10,0,0,0,0,0,3,15,3,0,0,0,0,1,13,14,8,8,6,0,0,2,13,12,10,9,6,0,2 +0,0,9,15,3,0,0,0,0,1,15,16,15,5,0,0,0,3,16,8,9,14,0,0,0,4,13,0,0,10,4,0,0,3,13,0,0,7,6,0,0,2,12,0,0,10,10,0,0,1,12,9,13,16,6,0,0,0,7,16,16,8,0,0,0 +0,0,7,11,11,2,0,0,0,0,16,16,15,13,0,0,0,3,15,7,0,10,3,0,0,3,12,0,0,5,7,0,0,7,9,0,0,10,6,0,0,4,13,0,3,15,6,0,0,2,15,12,15,14,0,0,0,0,7,16,12,2,0,0,0 +0,0,1,14,4,0,0,0,0,0,6,15,2,0,0,0,0,0,12,8,0,0,0,0,0,0,12,4,0,0,0,0,0,2,16,13,12,9,0,0,0,5,16,11,8,15,10,0,0,0,13,9,4,9,11,0,0,0,3,11,14,13,4,0,6 +0,0,9,16,15,2,0,0,0,4,16,13,15,11,0,0,0,6,10,0,14,10,0,0,0,0,0,4,16,4,0,0,0,0,0,10,14,0,0,0,0,0,5,15,4,0,0,0,0,0,14,14,11,12,5,0,0,0,12,16,16,11,3,0,2 +0,0,11,16,16,16,7,0,0,0,9,8,8,16,13,0,0,0,0,0,2,16,10,0,0,0,2,4,12,16,4,0,0,0,15,16,16,16,10,0,0,0,5,14,10,4,0,0,0,0,6,16,0,0,0,0,0,0,12,11,0,0,0,0,7 +0,0,0,12,6,0,0,0,0,0,3,16,1,0,0,0,0,0,6,13,0,0,0,0,0,0,10,9,0,0,0,0,0,0,13,8,8,3,0,0,0,1,16,12,8,12,8,0,0,0,8,12,1,0,14,3,0,0,0,8,14,16,12,3,6 +0,0,0,5,15,1,0,0,0,0,1,14,12,0,0,0,0,1,12,15,0,3,13,1,0,7,16,4,0,11,15,0,0,14,13,0,4,16,5,0,0,14,16,16,16,11,0,0,0,2,8,13,16,3,0,0,0,0,0,7,16,2,0,0,4 +0,0,0,9,7,0,0,0,0,0,4,16,5,0,0,0,0,0,8,13,0,0,0,0,0,0,13,8,0,0,0,0,0,2,15,7,8,7,1,0,0,1,15,11,8,10,13,0,0,0,11,10,4,5,15,2,0,0,0,9,12,13,9,0,6 +0,0,3,16,11,1,0,0,0,0,12,16,16,2,0,0,0,3,16,16,11,0,0,0,0,5,16,16,7,0,0,0,0,6,16,16,5,0,0,0,0,1,16,16,3,0,0,0,0,0,11,16,9,0,0,0,0,0,4,12,14,12,5,0,1 +0,0,5,11,12,5,0,0,0,0,9,16,16,11,0,0,0,0,11,16,16,4,0,0,0,1,16,16,15,2,0,0,0,0,14,16,11,0,0,0,0,2,16,16,8,0,0,0,0,0,14,16,8,0,0,0,0,0,8,16,13,1,0,0,1 +0,0,0,1,14,2,0,0,0,0,0,10,13,0,1,0,0,0,6,13,2,6,9,0,0,1,15,4,0,13,6,0,0,6,14,6,7,16,2,0,0,1,9,13,16,14,5,0,0,0,0,0,16,2,0,0,0,0,0,0,14,0,0,0,4 +0,2,12,16,15,8,0,0,0,13,16,13,8,12,2,0,0,16,13,1,0,0,0,0,0,9,16,13,5,0,0,0,0,1,11,13,14,2,0,0,0,0,0,0,16,8,0,0,0,0,3,11,16,5,0,0,0,0,14,16,10,1,0,0,5 +0,0,6,14,14,4,0,0,0,0,13,15,11,13,0,0,0,0,2,2,2,16,1,0,0,0,0,0,3,14,1,0,0,0,0,0,9,11,0,0,0,0,0,4,16,3,0,0,0,0,4,15,16,16,14,2,0,0,7,13,12,9,9,3,2 +0,0,7,14,1,0,0,0,0,0,14,13,6,0,0,0,0,0,12,8,3,0,0,0,0,0,3,14,12,16,6,0,0,0,2,14,16,4,0,0,0,0,11,14,8,14,2,0,0,3,16,3,1,16,4,0,0,0,8,14,16,11,1,0,8 +0,0,0,10,7,0,0,0,0,0,1,16,5,0,0,0,0,0,0,15,2,7,4,0,0,0,0,11,16,14,4,0,0,1,12,16,15,1,0,0,0,7,16,4,16,1,0,0,0,1,12,9,16,4,0,0,0,0,1,11,15,2,0,0,8 +0,0,1,8,16,4,0,0,0,0,13,10,5,8,0,0,0,1,16,5,10,15,2,0,0,1,11,13,11,14,4,0,0,0,0,0,0,8,8,0,0,0,0,0,0,8,5,0,0,0,0,5,0,13,4,0,0,0,0,12,16,10,0,0,9 +0,2,10,15,14,9,2,0,0,4,11,4,5,14,8,0,0,0,0,0,8,16,3,0,0,0,0,6,14,3,0,0,0,0,0,8,16,7,0,0,0,0,0,0,7,16,1,0,0,2,4,4,7,15,1,0,0,3,12,14,12,6,0,0,3 +0,0,5,13,1,0,0,0,0,0,13,16,7,1,0,0,0,1,16,16,16,13,1,0,0,2,16,10,0,12,5,0,0,2,16,0,0,3,10,0,0,2,15,0,0,6,14,0,0,0,14,5,8,16,9,0,0,0,4,13,15,7,0,0,0 +0,1,10,16,15,0,0,0,0,7,15,5,8,0,0,0,0,10,12,0,0,0,0,0,0,4,16,4,2,9,5,0,0,0,10,15,15,15,8,0,0,0,12,16,13,1,0,0,0,3,16,13,16,1,0,0,0,0,12,16,14,1,0,0,8 +0,0,0,5,16,1,0,0,0,0,1,16,10,0,0,0,0,0,13,13,1,3,8,0,0,6,16,3,0,13,14,0,0,13,16,3,5,16,5,0,0,15,16,16,16,15,0,0,0,1,7,11,16,6,0,0,0,0,0,7,15,3,0,0,4 +0,1,11,16,16,7,0,0,0,0,8,7,12,12,0,0,0,0,0,0,12,8,0,0,0,0,0,2,14,4,0,0,0,1,13,16,16,11,4,0,0,1,12,16,10,8,3,0,0,0,11,11,0,0,0,0,0,3,16,5,0,0,0,0,7 +0,0,0,11,11,0,0,0,0,0,3,16,7,0,0,0,0,0,6,15,1,0,0,0,0,0,7,12,0,0,0,0,0,0,12,13,8,7,0,0,0,1,16,12,8,11,12,0,0,0,8,13,4,7,16,1,0,0,2,11,13,12,7,0,6 +0,0,7,15,14,4,0,0,0,0,13,13,10,11,0,0,0,0,0,1,0,15,1,0,0,0,0,0,1,16,0,0,0,0,0,0,6,14,0,0,0,0,0,4,15,8,0,0,0,0,5,14,16,16,9,0,0,0,5,11,7,4,9,2,2 +0,0,9,16,12,1,0,0,0,10,16,10,15,4,0,0,0,8,6,0,8,7,0,0,0,0,0,0,8,10,0,0,0,0,0,1,14,5,0,0,0,0,0,10,15,1,1,0,0,0,10,16,14,14,11,0,0,0,8,15,14,10,3,0,2 +0,0,0,9,14,0,0,0,0,0,6,16,8,0,0,0,0,0,14,14,0,6,15,0,0,9,16,3,3,16,10,0,0,13,16,4,11,15,1,0,0,13,16,16,16,12,2,0,0,2,4,10,16,2,0,0,0,0,0,9,15,2,0,0,4 +0,0,0,11,3,0,0,0,0,0,5,16,2,0,0,0,0,0,12,11,0,0,0,0,0,0,14,5,0,0,0,0,0,0,16,3,1,1,0,0,0,0,16,16,16,16,11,0,0,0,12,8,4,6,16,2,0,0,2,11,15,16,11,1,6 +0,0,0,7,15,1,0,0,0,0,2,14,10,0,2,0,0,0,10,12,1,2,15,3,0,5,16,3,0,9,14,0,0,14,12,2,2,16,5,0,0,14,16,16,16,16,1,0,0,5,8,12,16,4,0,0,0,0,0,9,16,6,0,0,4 +0,0,0,3,16,3,0,0,0,0,0,9,16,2,0,0,0,0,2,14,9,5,6,0,0,0,8,15,2,15,12,0,0,4,16,6,3,16,5,0,0,11,16,13,16,16,8,0,0,5,11,13,16,10,1,0,0,0,0,4,16,7,0,0,4 +0,0,4,14,14,4,0,0,0,5,14,3,1,4,0,0,0,8,12,0,2,2,0,0,0,4,15,12,16,16,8,0,0,0,14,16,9,0,0,0,0,4,16,11,15,2,0,0,0,2,15,8,12,12,0,0,0,0,4,12,16,10,0,0,8 +0,1,10,16,15,1,0,0,0,5,16,13,16,4,0,0,0,5,9,3,16,2,0,0,0,0,0,10,10,0,0,0,0,0,2,15,6,0,0,0,0,0,9,12,1,0,0,0,0,0,12,14,10,4,0,0,0,0,11,16,16,16,2,0,2 +0,0,2,13,10,4,0,0,0,0,0,16,16,11,0,0,0,0,0,13,16,15,0,0,0,0,1,14,16,11,0,0,0,0,4,16,16,6,0,0,0,0,3,16,14,2,0,0,0,0,7,16,16,3,0,0,0,0,4,13,16,4,0,0,1 +0,0,11,16,16,9,0,0,0,2,16,12,16,11,0,0,0,1,3,1,16,8,0,0,0,0,0,12,14,2,0,0,0,0,3,16,8,0,0,0,0,0,11,15,0,0,0,0,0,0,13,15,12,12,4,0,0,0,13,16,16,15,2,0,2 +0,1,10,16,16,14,1,0,0,1,11,5,4,15,0,0,0,0,0,0,6,10,0,0,0,0,1,13,12,1,0,0,0,0,2,15,16,12,1,0,0,0,0,0,3,14,4,0,0,1,6,0,2,14,3,0,0,2,12,16,15,8,0,0,3 +0,0,9,11,1,0,0,0,0,4,16,14,9,0,0,0,0,1,6,3,13,0,0,0,0,0,0,3,14,0,0,0,0,0,0,5,13,0,0,0,0,0,0,14,10,3,0,0,0,0,11,16,16,16,14,2,0,0,6,9,7,4,8,6,2 +0,0,13,13,12,12,2,0,0,0,14,16,16,14,3,0,0,0,10,16,5,0,0,0,0,0,1,10,14,1,0,0,0,0,0,2,16,4,0,0,0,0,0,0,12,8,0,0,0,0,4,6,15,5,0,0,0,1,15,16,15,1,0,0,5 +0,0,5,11,13,10,0,0,0,0,8,9,9,16,5,0,0,0,0,0,0,14,7,0,0,0,0,0,1,16,1,0,0,0,3,4,12,9,1,0,0,10,16,16,14,12,2,0,0,3,2,15,2,0,0,0,0,0,8,6,0,0,0,0,7 +0,0,7,16,11,0,0,0,0,5,15,12,16,3,0,0,0,6,16,14,16,7,0,0,0,1,8,12,16,8,0,0,0,0,0,0,6,15,2,0,0,0,0,0,0,16,7,0,0,0,0,0,2,13,8,0,0,0,8,16,16,14,4,0,9 +0,0,4,15,14,1,0,0,0,2,16,14,16,9,0,0,0,5,16,1,10,16,0,0,0,4,16,16,16,16,1,0,0,0,9,12,10,16,6,0,0,0,0,0,0,13,7,0,0,0,3,6,5,14,8,0,0,0,6,16,16,15,2,0,9 +0,0,9,15,13,5,1,0,0,2,16,13,9,12,3,0,0,8,12,0,0,0,0,0,0,2,16,15,6,0,0,0,0,0,1,8,15,3,0,0,0,0,0,0,6,11,0,0,0,0,5,6,12,10,0,0,0,1,10,13,10,1,0,0,5 +0,0,7,16,12,5,0,0,0,0,7,16,16,7,0,0,0,0,3,16,16,8,0,0,0,0,5,16,16,7,0,0,0,0,11,16,15,2,0,0,0,0,14,16,14,0,0,0,0,0,14,16,16,3,0,0,0,0,6,13,14,5,0,0,1 +0,0,6,12,14,11,0,0,0,1,11,8,10,14,0,0,0,0,0,0,12,9,0,0,0,0,0,11,10,0,0,0,0,0,0,10,16,13,1,0,0,0,0,0,7,15,5,0,0,0,4,4,5,14,3,0,0,0,10,15,12,8,0,0,3 +0,0,4,15,11,0,0,0,0,1,15,6,14,3,0,0,0,3,14,8,14,10,0,0,0,1,9,12,7,13,0,0,0,0,0,0,0,14,2,0,0,0,0,0,0,13,4,0,0,0,7,4,3,13,4,0,0,0,7,13,15,9,0,0,9 +0,1,11,16,9,0,0,0,0,10,14,9,13,2,0,0,0,4,3,0,12,4,0,0,0,0,0,0,12,3,0,0,0,0,0,5,15,0,0,0,0,0,2,13,10,0,0,0,0,1,16,16,9,10,7,0,0,0,10,13,12,10,9,0,2 +0,0,13,16,14,6,0,0,0,3,16,14,12,15,2,0,0,7,16,2,0,0,0,0,0,12,16,10,6,0,0,0,0,6,16,16,16,6,0,0,0,0,0,1,10,13,0,0,0,0,1,4,13,14,0,0,0,0,12,16,16,10,0,0,5 +0,0,3,15,7,0,0,0,0,0,13,16,10,0,0,0,0,5,16,7,5,3,0,0,0,5,16,8,16,15,2,0,0,2,12,1,6,8,10,0,0,1,14,2,0,0,13,0,0,0,9,15,12,15,16,0,0,0,2,10,15,16,7,0,0 +0,0,0,4,16,4,0,0,0,0,0,3,16,6,0,0,0,0,0,10,14,1,9,2,0,0,3,15,4,9,15,0,0,3,15,9,3,14,10,0,2,15,16,15,16,16,3,0,1,10,9,9,16,10,0,0,0,0,0,5,16,2,0,0,4 +0,0,6,16,16,12,0,0,0,0,8,9,13,16,2,0,0,0,0,0,4,16,1,0,0,0,1,5,12,12,0,0,0,0,13,16,16,16,7,0,0,0,8,14,12,10,3,0,0,0,3,16,3,0,0,0,0,0,9,11,0,0,0,0,7 +0,1,14,13,16,12,1,0,0,9,16,13,7,8,1,0,0,10,16,11,7,0,0,0,0,1,13,16,16,6,0,0,0,0,0,0,5,12,0,0,0,0,0,0,5,11,0,0,0,0,1,6,15,9,0,0,0,0,13,15,8,1,0,0,5 +0,0,3,15,13,1,0,0,0,0,13,14,11,4,0,0,0,0,14,11,3,1,0,0,0,0,4,16,12,16,6,0,0,0,5,16,16,6,0,0,0,3,16,9,11,11,0,0,0,3,16,6,2,16,4,0,0,0,6,13,14,9,0,0,8 +0,0,4,10,16,14,4,0,0,0,10,16,16,16,4,0,0,0,16,16,16,8,0,0,0,0,16,16,16,0,0,0,0,0,16,16,16,0,0,0,0,4,16,16,16,0,0,0,0,0,16,16,16,0,0,0,0,0,6,14,14,0,0,0,1 +0,0,5,8,0,0,0,0,0,0,12,16,13,7,0,0,0,0,15,15,13,16,3,0,0,3,15,0,0,10,6,0,0,3,13,0,0,7,9,0,0,4,16,0,1,12,12,0,0,1,15,12,14,16,9,0,0,0,6,14,14,9,1,0,0 +0,2,14,16,9,0,0,0,0,8,16,13,16,3,0,0,0,10,9,5,16,2,0,0,0,1,0,8,14,0,0,0,0,0,0,14,10,0,0,0,0,0,5,16,5,0,0,0,0,3,16,16,11,6,1,0,0,2,13,16,16,16,12,0,2 +0,0,0,7,16,2,0,0,0,0,3,15,10,0,0,0,0,1,13,14,2,3,9,0,0,9,16,7,0,14,14,0,0,13,16,0,5,16,8,0,0,14,16,16,16,15,2,0,0,0,4,7,16,6,0,0,0,0,0,8,15,0,0,0,4 +0,1,9,15,13,0,0,0,0,6,16,16,16,2,0,0,0,3,8,8,16,4,0,0,0,0,0,12,13,0,0,0,0,0,1,16,9,0,0,0,0,0,9,16,2,0,0,0,0,0,12,14,10,8,1,0,0,0,13,16,16,16,5,0,2 +0,0,6,11,0,0,0,0,0,1,15,12,2,4,0,0,0,5,12,3,16,16,4,0,0,5,9,0,8,7,8,0,0,8,8,0,0,4,8,0,0,7,9,0,0,4,9,0,0,0,15,8,9,15,7,0,0,0,6,16,16,9,0,0,0 +0,0,6,13,16,12,1,0,0,3,16,11,8,9,1,0,0,3,16,5,2,8,5,0,0,1,13,14,16,16,6,0,0,0,5,16,16,3,0,0,0,0,14,12,13,10,0,0,0,0,15,11,10,14,0,0,0,0,4,15,16,7,0,0,8 +0,0,0,5,15,0,0,0,0,0,0,11,11,0,0,0,0,0,1,16,4,4,6,0,0,0,13,12,1,15,7,0,0,2,16,2,8,14,2,0,0,12,16,15,16,15,0,0,0,5,8,10,16,2,0,0,0,0,0,3,11,2,0,0,4 +0,0,2,14,16,11,0,0,0,0,11,15,12,10,2,0,0,1,15,3,0,0,0,0,0,1,16,5,0,0,0,0,0,0,12,16,7,0,0,0,0,0,0,9,16,7,0,0,0,0,3,10,15,12,0,0,0,0,3,16,15,7,0,0,5 +0,0,0,12,15,9,11,6,0,0,0,5,10,13,16,2,0,0,0,0,0,9,9,0,0,0,0,4,10,16,2,0,0,0,8,16,16,16,5,0,0,0,3,8,14,2,0,0,0,0,0,11,9,0,0,0,0,0,0,12,1,0,0,0,7 +0,0,6,9,0,0,0,0,0,0,7,16,10,13,7,0,0,0,1,8,16,14,1,0,0,0,0,1,13,7,0,0,0,0,12,16,16,10,1,0,0,0,3,15,10,8,2,0,0,0,2,16,2,0,0,0,0,0,4,13,0,0,0,0,7 +0,0,0,0,6,15,12,0,0,0,1,11,14,13,15,0,0,1,12,10,0,11,7,0,0,5,15,1,3,16,3,0,0,5,16,13,15,14,0,0,0,0,4,4,11,13,0,0,0,0,0,0,8,13,0,0,0,0,0,0,8,8,0,0,9 +0,0,0,13,9,10,14,2,0,0,0,11,12,15,12,0,0,0,0,0,0,14,3,0,0,1,4,4,7,15,1,0,0,7,16,16,16,12,6,0,0,2,4,8,11,0,0,0,0,0,0,11,6,0,0,0,0,0,0,13,7,0,0,0,7 +0,1,13,13,1,0,0,0,0,9,16,16,7,0,0,0,0,5,5,13,8,0,0,0,0,0,2,16,6,0,0,0,0,0,11,15,1,0,0,0,0,4,16,8,1,0,0,0,0,4,16,16,16,16,6,0,0,1,11,14,16,16,11,0,2 +0,0,0,8,14,10,0,0,0,0,2,14,16,14,0,0,0,0,12,16,16,14,2,0,0,5,16,16,16,12,1,0,0,1,4,10,16,14,0,0,0,0,0,9,16,12,0,0,0,0,0,9,16,12,0,0,0,0,0,8,15,12,0,0,1 +0,0,0,8,16,10,8,12,0,0,0,12,16,16,16,11,0,0,0,0,0,14,14,0,0,0,0,1,8,16,11,0,0,0,1,15,16,16,7,0,0,0,2,9,16,8,0,0,0,0,0,7,16,3,0,0,0,0,0,10,12,0,0,0,7 +0,0,3,11,2,7,13,0,0,0,3,13,16,16,7,0,0,0,0,0,5,13,0,0,0,0,0,0,9,7,0,0,0,8,16,16,16,16,2,0,0,2,4,12,11,1,0,0,0,0,0,15,5,0,0,0,0,0,3,16,3,0,0,0,7 +0,0,0,0,15,7,0,0,0,0,0,7,16,4,0,0,0,0,1,15,11,1,5,0,0,2,14,12,1,12,13,0,0,7,16,11,8,16,11,0,0,12,16,16,16,16,3,0,0,1,8,5,14,15,0,0,0,0,0,0,13,12,0,0,4 +0,0,0,1,13,8,0,0,0,0,0,9,16,15,0,0,0,0,5,16,16,12,0,0,0,2,15,16,16,10,0,0,0,8,14,3,16,10,0,0,0,0,0,4,16,8,0,0,0,0,0,4,16,11,0,0,0,0,0,0,15,12,0,0,1 +0,0,0,3,11,16,11,0,0,0,6,16,11,16,7,0,0,0,14,8,0,15,1,0,0,8,16,4,12,11,0,0,0,1,11,15,16,11,0,0,0,0,0,0,15,5,0,0,0,0,0,0,16,6,0,0,0,0,0,2,16,5,0,0,9 +0,1,11,16,7,0,0,0,0,8,16,15,10,0,0,0,0,12,8,12,11,0,0,0,0,2,0,15,7,0,0,0,0,0,8,14,0,0,0,0,0,0,13,12,0,3,3,0,0,5,16,13,14,16,16,1,0,0,16,16,15,10,5,0,2 +0,0,2,9,0,0,0,0,0,0,11,8,0,0,0,0,0,1,16,0,0,0,0,0,0,4,11,0,0,0,0,0,0,7,8,3,8,3,0,0,0,6,11,13,16,16,4,0,0,0,14,16,7,12,12,0,0,0,3,14,16,14,6,0,6 +0,0,0,2,9,16,3,0,0,0,2,14,15,16,2,0,0,0,11,10,7,9,0,0,0,1,16,4,11,5,0,0,0,0,14,16,16,10,0,0,0,0,0,1,14,11,0,0,0,0,0,0,14,7,0,0,0,0,0,0,14,3,0,0,9 +0,0,0,9,13,1,0,0,0,0,3,15,7,1,0,0,0,0,8,10,0,0,0,0,0,0,13,5,0,0,0,0,0,0,14,16,12,3,0,0,0,0,13,10,7,15,1,0,0,0,5,12,2,11,7,0,0,0,0,8,16,16,4,0,6 +0,0,0,1,8,15,12,0,0,0,2,14,13,16,5,0,0,0,9,14,9,9,0,0,0,0,8,16,16,15,2,0,0,0,0,2,10,14,1,0,0,0,0,0,10,12,0,0,0,0,0,0,12,7,0,0,0,0,0,0,11,1,0,0,9 +0,0,2,15,7,0,0,0,0,0,7,16,6,0,0,0,0,0,14,15,1,3,1,0,0,5,16,7,3,16,8,0,0,13,15,0,10,16,4,0,0,13,16,16,16,15,0,0,0,2,6,15,15,5,0,0,0,0,4,15,4,0,0,0,4 +0,0,0,0,5,14,8,0,0,0,1,10,13,13,11,0,0,0,11,9,2,14,6,0,0,4,16,9,12,16,3,0,0,0,6,4,4,15,4,0,0,0,0,0,0,16,4,0,0,0,0,0,0,15,3,0,0,0,0,0,2,15,0,0,9 +0,0,6,16,12,1,0,0,0,0,15,14,14,13,0,0,0,2,16,6,5,16,2,0,0,0,15,4,2,16,6,0,0,1,16,5,1,16,6,0,0,2,16,2,11,14,1,0,0,0,16,5,15,5,0,0,0,0,7,16,7,0,0,0,0 +0,1,6,8,11,16,6,0,0,5,16,16,12,9,4,0,0,8,13,1,0,0,0,0,0,6,16,11,4,0,0,0,0,0,7,12,16,10,0,0,0,0,0,0,7,12,0,0,0,0,1,5,14,11,0,0,0,0,9,15,9,1,0,0,5 +0,0,8,12,8,8,10,0,0,0,5,10,13,16,8,0,0,0,0,0,5,11,0,0,0,2,8,12,15,12,2,0,0,8,12,15,12,8,4,0,0,0,2,13,2,0,0,0,0,0,8,11,0,0,0,0,0,0,10,5,0,0,0,0,7 +0,0,6,16,13,4,0,0,0,0,10,8,8,13,0,0,0,0,0,0,6,11,0,0,0,0,3,7,14,2,0,0,0,2,16,13,15,6,0,0,0,0,3,0,6,14,0,0,0,0,3,4,5,14,0,0,0,0,9,16,12,4,0,0,3 +0,0,4,12,15,8,0,0,0,4,15,10,10,12,0,0,0,13,10,2,16,4,0,0,0,6,12,15,9,0,0,0,0,0,2,16,13,3,0,0,0,0,10,9,6,13,1,0,0,0,10,9,0,10,8,0,0,0,2,13,16,14,5,0,8 +0,0,0,0,9,15,0,0,0,0,0,4,16,6,0,0,0,0,0,13,12,0,0,0,0,0,10,14,1,12,6,0,0,4,16,6,0,16,12,0,0,13,15,12,16,16,9,0,0,13,16,15,13,16,5,0,0,1,4,0,9,12,0,0,4 +0,0,1,13,15,7,0,0,0,0,9,14,9,15,1,0,0,2,16,5,0,10,4,0,0,5,13,5,0,4,8,0,0,8,8,0,0,7,8,0,0,3,14,1,0,9,7,0,0,0,13,13,9,16,4,0,0,0,3,13,16,10,0,0,0 +0,2,12,14,12,1,0,0,0,7,13,6,14,5,0,0,0,0,0,3,15,3,0,0,0,2,15,16,14,1,0,0,0,1,6,5,12,13,0,0,0,0,0,0,1,14,6,0,0,4,8,4,5,14,8,0,0,2,13,16,15,9,1,0,3 +0,0,0,0,5,15,1,0,0,0,0,0,14,16,2,0,0,0,1,12,16,16,2,0,0,1,13,16,12,16,0,0,0,4,13,2,8,13,0,0,0,0,0,0,9,13,0,0,0,0,0,0,11,16,0,0,0,0,0,0,4,16,4,0,1 +0,0,7,12,12,10,2,0,0,1,16,15,12,15,9,0,0,0,16,7,0,1,2,0,0,0,11,16,10,1,0,0,0,0,0,3,14,13,1,0,0,0,0,0,3,16,1,0,0,0,8,7,15,12,0,0,0,0,11,12,6,0,0,0,5 +0,0,5,15,15,5,0,0,0,2,15,5,3,13,0,0,0,3,9,0,6,10,0,0,0,4,8,3,13,1,0,0,0,3,14,14,6,0,0,0,0,0,7,12,14,11,1,0,0,0,12,5,1,13,9,0,0,0,5,12,14,10,1,0,8 +0,0,6,12,14,10,0,0,0,4,16,13,10,13,0,0,0,8,9,0,0,0,0,0,0,6,14,10,7,0,0,0,0,0,8,9,15,11,0,0,0,0,0,0,1,14,7,0,0,0,4,8,8,15,5,0,0,0,5,16,12,6,0,0,5 +0,0,0,1,11,14,10,0,0,0,6,14,7,10,13,0,0,0,15,3,1,14,5,0,0,0,15,11,9,16,5,0,0,0,3,8,7,16,4,0,0,0,0,0,2,11,0,0,0,0,0,0,10,10,0,0,0,0,0,0,14,7,0,0,9 +0,4,15,14,11,4,0,0,0,2,11,8,14,16,1,0,0,0,0,5,15,9,0,0,0,0,9,16,12,0,0,0,0,0,2,8,15,12,1,0,0,0,0,0,2,16,8,0,0,1,4,4,10,16,5,0,0,4,16,15,11,3,0,0,3 +0,0,0,5,0,4,13,5,0,0,6,16,16,16,14,1,0,0,2,6,8,16,2,0,0,0,2,4,12,14,0,0,0,5,15,16,16,16,4,0,0,6,9,11,15,4,0,0,0,0,0,15,9,0,0,0,0,0,0,13,6,0,0,0,7 +0,0,7,16,13,6,0,0,0,2,14,5,7,15,2,0,0,3,7,1,10,14,0,0,0,5,14,14,13,1,0,0,0,0,6,16,9,0,0,0,0,0,10,7,13,2,0,0,0,0,14,4,13,4,0,0,0,0,9,14,11,1,0,0,8 +0,0,5,10,14,5,0,0,0,4,16,13,13,12,0,0,0,7,10,0,10,7,0,0,0,0,0,6,16,6,0,0,0,0,0,6,14,15,1,0,0,0,0,0,0,11,7,0,0,0,4,8,8,15,7,0,0,0,5,14,12,8,0,0,3 +0,0,2,15,13,5,0,0,0,0,5,13,12,15,0,0,0,4,14,13,15,14,0,0,0,8,16,16,15,3,0,0,0,0,13,11,9,12,0,0,0,0,15,2,0,15,1,0,0,0,13,8,4,14,3,0,0,0,2,12,13,12,2,0,8 +0,0,4,15,11,2,0,0,0,0,15,15,14,11,0,0,0,2,16,6,0,15,1,0,0,2,16,5,0,11,5,0,0,2,16,4,0,7,9,0,0,0,15,2,0,10,9,0,0,0,11,13,9,16,4,0,0,0,2,10,16,10,0,0,0 +0,0,1,11,15,8,0,0,0,0,11,11,4,16,0,0,0,6,11,1,3,13,0,0,0,3,14,6,14,2,0,0,0,0,2,16,10,0,0,0,0,0,4,11,10,7,0,0,0,0,5,8,5,13,0,0,0,0,1,12,16,5,0,0,8 +0,0,1,8,13,10,2,0,0,0,11,16,13,13,3,0,0,4,15,0,0,0,0,0,0,3,15,7,1,0,0,0,0,0,8,15,15,7,0,0,0,0,0,2,10,16,2,0,0,0,2,7,8,16,4,0,0,0,2,15,12,7,0,0,5 +0,0,7,14,16,8,0,0,0,0,5,10,13,7,0,0,0,0,0,0,13,3,0,0,0,0,4,8,16,8,4,0,0,2,16,16,13,12,4,0,0,1,3,14,2,0,0,0,0,0,2,14,0,0,0,0,0,0,8,13,0,0,0,0,7 +0,0,0,6,13,3,0,0,0,0,4,16,13,1,0,0,0,0,13,11,1,0,0,0,0,5,15,1,0,0,0,0,0,5,13,0,0,0,0,0,0,2,16,10,16,13,3,0,0,0,11,16,14,16,15,0,0,0,1,8,13,13,9,0,6 +0,0,0,2,9,15,15,0,0,0,4,14,12,9,12,0,0,2,14,6,0,10,10,0,0,6,16,6,7,16,8,0,0,1,13,16,11,15,7,0,0,0,0,0,1,16,3,0,0,0,0,0,7,15,0,0,0,0,0,0,11,9,0,0,9 +0,0,0,0,10,12,0,0,0,0,0,0,15,12,0,0,0,0,0,7,16,12,0,0,0,0,9,16,16,11,0,0,0,8,16,11,16,12,0,0,0,3,4,3,16,9,0,0,0,0,0,0,15,10,0,0,0,0,0,0,9,13,0,0,1 +0,0,0,0,9,13,0,0,0,0,0,3,15,12,0,0,0,0,2,13,16,14,0,0,0,4,14,14,14,14,0,0,0,5,11,1,9,13,0,0,0,0,0,0,11,11,0,0,0,0,0,0,10,10,0,0,0,0,0,0,9,9,0,0,1 +0,0,0,14,8,8,14,0,0,0,1,11,15,16,13,0,0,0,0,0,6,16,3,0,0,3,13,16,16,16,3,0,0,2,8,11,15,9,4,0,0,0,0,10,7,0,0,0,0,0,0,16,5,0,0,0,0,0,0,14,1,0,0,0,7 +0,0,6,16,14,3,0,0,0,0,9,5,5,11,0,0,0,0,3,2,3,12,0,0,0,2,15,14,12,3,0,0,0,0,3,15,12,8,0,0,0,0,10,6,0,11,2,0,0,0,13,3,0,9,7,0,0,0,5,14,14,12,4,0,8 +0,0,0,0,10,5,0,0,0,0,0,0,16,4,0,0,0,0,0,9,12,4,3,0,0,0,2,15,1,11,8,0,0,0,14,7,0,14,4,0,0,6,16,9,15,15,2,0,0,9,13,8,13,4,0,0,0,0,0,0,9,4,0,0,4 +0,2,13,9,1,0,0,0,0,8,15,13,10,0,0,0,0,2,6,1,12,0,0,0,0,0,0,4,12,0,0,0,0,0,0,12,6,0,0,0,0,0,8,12,0,0,0,0,0,2,16,11,14,16,9,0,0,2,15,12,11,5,1,0,2 +0,0,6,14,16,5,0,0,0,3,16,10,14,14,0,0,0,3,6,1,13,9,0,0,0,0,2,15,16,11,0,0,0,0,2,12,14,16,2,0,0,0,0,0,1,16,7,0,0,0,6,13,10,15,3,0,0,0,10,16,13,5,0,0,3 +0,0,5,13,10,0,0,0,0,1,15,16,16,4,0,0,0,3,11,0,10,7,0,0,0,0,1,0,13,0,0,0,0,0,0,5,11,0,0,0,0,0,3,15,3,0,0,0,0,0,8,16,16,15,2,0,0,0,6,13,12,10,2,0,2 +0,0,1,13,16,16,9,0,0,0,13,14,12,12,11,0,0,9,16,5,0,0,0,0,0,9,16,6,2,0,0,0,0,3,15,16,15,3,0,0,0,0,3,11,16,10,0,0,0,0,4,16,16,7,0,0,0,0,0,15,15,2,0,0,5 +0,0,0,4,13,6,0,0,0,0,0,11,16,12,0,0,0,0,8,16,16,10,0,0,0,6,16,16,16,6,0,0,0,5,12,12,16,3,0,0,0,0,0,10,15,0,0,0,0,0,0,10,14,0,0,0,0,0,0,5,16,2,0,0,1 +0,0,3,0,6,15,0,0,0,9,16,14,16,15,0,0,0,5,7,8,14,11,0,0,0,0,1,4,13,11,2,0,0,0,8,16,16,16,12,0,0,0,1,8,15,11,2,0,0,0,0,0,12,12,0,0,0,0,0,0,8,13,0,0,7 +0,0,0,11,4,0,0,0,0,0,6,15,2,0,0,0,0,0,14,7,0,0,0,0,0,3,16,9,12,6,0,0,0,4,16,15,10,12,9,0,0,2,16,9,0,0,12,0,0,0,8,13,2,2,14,2,0,0,0,8,15,15,11,0,6 +0,0,3,12,12,1,0,0,0,0,15,15,13,11,0,0,0,3,16,4,0,14,2,0,0,5,15,5,0,5,7,0,0,8,8,0,0,4,8,0,0,4,14,0,0,7,11,0,0,0,14,11,12,16,3,0,0,0,3,14,12,4,0,0,0 +0,0,2,10,12,11,1,0,0,0,11,14,9,16,3,0,0,2,16,1,11,11,0,0,0,6,16,15,14,3,0,0,0,0,7,16,12,0,0,0,0,0,5,14,11,13,0,0,0,0,7,14,9,14,0,0,0,0,2,13,16,7,0,0,8 +0,0,0,0,3,13,4,0,0,0,0,0,11,16,8,0,0,0,0,8,16,16,6,0,0,1,9,16,9,16,2,0,0,7,16,5,5,16,0,0,0,0,2,0,8,13,0,0,0,0,0,0,9,12,0,0,0,0,0,0,5,15,3,0,1 +0,0,0,0,9,8,0,0,0,0,0,4,16,2,0,0,0,0,0,15,10,0,0,0,0,0,6,11,1,6,6,0,0,1,14,2,0,9,7,0,0,9,7,0,3,16,2,0,0,7,16,16,16,15,3,0,0,1,4,2,11,3,0,0,4 +0,0,0,0,12,14,0,0,0,0,0,1,16,16,1,0,0,0,5,14,16,12,0,0,0,5,16,16,16,8,0,0,0,9,15,9,16,8,0,0,0,0,1,2,16,7,0,0,0,0,0,4,16,10,0,0,0,0,0,0,10,16,6,0,1 +0,0,0,2,11,16,12,0,0,0,4,15,14,16,8,0,0,1,16,13,14,16,6,0,0,2,16,16,11,15,5,0,0,0,6,12,16,10,0,0,0,0,0,0,15,6,0,0,0,0,0,2,16,7,0,0,0,0,0,1,16,5,0,0,9 +0,0,7,14,12,1,0,0,0,2,16,12,16,8,0,0,0,2,10,0,12,8,0,0,0,0,5,12,16,3,0,0,0,0,5,12,15,13,1,0,0,0,0,0,5,16,3,0,0,0,12,8,4,13,3,0,0,0,9,16,14,9,0,0,3 +0,0,3,14,16,16,12,0,0,2,15,16,11,8,6,0,0,9,16,4,0,0,0,0,0,9,16,16,14,3,0,0,0,0,9,9,14,14,0,0,0,0,0,0,5,16,0,0,0,0,0,4,14,12,0,0,0,0,2,16,13,3,0,0,5 +0,0,0,1,15,4,0,0,0,0,0,6,16,1,0,0,0,0,0,14,12,0,0,0,0,0,10,16,2,3,0,0,0,4,16,8,3,16,4,0,0,12,16,13,15,16,4,0,0,8,14,12,16,14,5,0,0,0,0,1,16,6,0,0,4 +0,0,8,16,11,0,0,0,0,1,14,10,16,5,0,0,0,1,4,7,15,1,0,0,0,0,6,16,15,4,0,0,0,0,0,5,10,16,5,0,0,0,4,0,1,16,4,0,0,0,13,8,15,10,0,0,0,0,11,14,5,0,0,0,3 +0,0,10,16,16,16,2,0,0,0,7,8,10,16,0,0,0,0,0,0,10,14,5,0,0,0,8,15,16,16,8,0,0,0,14,16,11,0,0,0,0,0,3,16,2,0,0,0,0,0,10,10,0,0,0,0,0,0,12,3,0,0,0,0,7 +0,0,2,11,0,0,0,0,0,0,8,10,0,0,0,0,0,0,14,6,0,0,0,0,0,0,15,3,3,0,0,0,0,3,16,16,16,16,5,0,0,2,15,5,0,5,13,0,0,0,12,13,8,10,15,0,0,0,1,10,16,13,6,0,6 +0,0,1,11,14,12,1,0,0,0,11,12,9,16,3,0,0,7,6,6,12,6,0,0,0,6,13,10,14,1,0,0,0,0,12,16,4,0,0,0,0,0,14,13,14,4,0,0,0,0,11,12,11,15,0,0,0,0,1,9,14,14,1,0,8 +0,0,11,15,9,0,0,0,0,0,13,9,13,10,0,0,0,0,13,6,1,11,3,0,0,4,12,0,0,4,8,0,0,8,7,0,0,5,8,0,0,7,8,0,5,15,3,0,0,2,14,10,16,10,0,0,0,0,12,12,3,0,0,0,0 +0,0,9,16,10,0,0,0,0,0,4,10,15,2,0,0,0,0,13,0,4,13,0,0,0,4,16,0,0,13,2,0,0,7,12,0,0,10,6,0,0,8,13,1,2,13,8,0,0,5,16,16,16,16,2,0,0,0,9,16,15,8,0,0,0 +0,3,14,9,5,0,0,0,0,0,7,10,16,0,0,0,0,0,0,2,14,0,0,0,0,0,0,10,6,0,0,0,0,0,3,15,1,0,0,0,0,1,13,8,0,0,0,0,0,8,16,10,12,15,7,0,0,3,12,16,13,8,3,0,2 +0,0,7,15,6,0,0,0,0,0,5,8,14,7,0,0,0,0,7,2,4,13,2,0,0,0,14,3,0,12,4,0,0,2,16,0,1,14,5,0,0,5,13,0,7,16,3,0,0,1,16,9,15,13,0,0,0,0,9,15,10,1,0,0,0 +0,0,0,5,16,2,0,0,0,0,1,15,8,0,0,0,0,0,10,13,0,2,2,0,0,6,15,6,10,16,12,0,0,13,16,16,14,16,10,0,0,8,12,5,7,16,4,0,0,0,0,2,14,8,0,0,0,0,0,9,13,1,0,0,4 +0,0,2,14,11,1,0,0,0,0,8,13,2,0,0,0,0,0,12,8,0,0,0,0,0,0,16,4,0,0,0,0,0,0,16,12,15,11,4,0,0,2,16,12,4,5,14,0,0,0,13,11,4,12,15,1,0,0,3,11,16,12,3,0,6 +0,0,1,11,2,0,0,11,0,0,5,16,3,0,7,15,0,0,8,16,0,1,15,7,0,0,8,16,8,13,12,0,0,0,7,16,16,16,6,0,0,0,0,4,14,12,0,0,0,0,0,6,14,0,0,0,0,0,2,15,6,0,0,0,4 +0,0,1,13,1,0,0,0,0,0,7,14,0,0,0,0,0,0,12,7,0,0,0,0,0,0,14,5,0,0,0,0,0,1,16,4,4,4,1,0,0,0,14,15,11,10,12,0,0,0,8,11,0,4,15,4,0,0,1,10,16,14,9,0,6 +0,0,0,4,12,15,5,0,0,1,10,15,14,16,7,0,0,3,16,16,16,16,7,0,0,0,3,4,3,13,8,0,0,0,0,0,2,16,4,0,0,0,0,0,11,11,0,0,0,0,0,1,14,5,0,0,0,0,0,3,16,2,0,0,9 +0,0,15,16,16,16,3,0,0,0,7,8,10,16,4,0,0,0,0,0,8,15,0,0,0,0,4,7,16,15,6,0,0,9,16,16,14,13,3,0,0,2,11,15,2,0,0,0,0,0,13,9,0,0,0,0,0,2,16,4,0,0,0,0,7 +0,0,6,13,16,11,0,0,0,11,16,11,4,16,4,0,0,3,13,13,9,16,1,0,0,0,0,10,16,8,0,0,0,0,0,13,16,9,0,0,0,0,7,14,6,13,0,0,0,0,8,13,10,15,0,0,0,0,5,14,14,6,0,0,8 +0,0,0,2,8,13,14,2,0,0,5,14,9,4,16,5,0,1,14,0,5,14,13,0,0,0,16,16,13,16,5,0,0,0,1,0,7,9,0,0,0,0,0,0,13,2,0,0,0,0,0,2,13,0,0,0,0,0,0,3,10,0,0,0,9 +0,0,0,2,13,14,1,0,0,2,9,16,16,16,2,0,0,12,16,16,16,16,2,0,0,10,12,3,16,12,0,0,0,0,0,5,16,8,0,0,0,0,0,5,16,5,0,0,0,0,0,5,16,7,0,0,0,0,0,2,15,9,0,0,1 +0,0,3,10,16,11,0,0,0,3,12,10,6,16,2,0,0,9,16,6,12,11,1,0,0,0,5,16,15,0,0,0,0,0,7,12,15,2,0,0,0,0,10,5,6,11,0,0,0,0,11,4,10,13,0,0,0,0,3,16,14,5,0,0,8 +0,0,0,12,14,6,0,0,0,1,5,1,8,16,3,0,0,4,15,12,16,16,3,0,0,0,12,16,12,2,0,0,0,4,16,14,11,0,0,0,0,4,15,5,15,2,0,0,0,0,9,16,15,8,0,0,0,0,0,10,16,9,0,0,8 +0,0,3,14,14,3,0,0,0,0,7,6,5,14,0,0,0,0,7,7,3,13,3,0,0,0,2,15,15,5,0,0,0,0,8,16,11,0,0,0,0,1,14,3,10,4,0,0,0,1,13,3,3,11,0,0,0,0,4,10,16,11,0,0,8 +0,0,4,12,16,4,0,0,0,0,15,15,6,15,0,0,0,3,16,11,0,8,4,0,0,4,11,3,0,4,8,0,0,5,8,0,0,9,7,0,0,1,12,0,0,13,5,0,0,0,13,10,14,11,0,0,0,0,4,12,13,1,0,0,0 +0,0,0,6,12,0,0,0,0,0,5,14,4,0,0,0,0,1,15,3,0,1,12,0,0,2,16,2,0,8,11,0,0,3,16,15,10,15,6,0,0,0,2,12,14,13,1,0,0,0,0,0,12,5,0,0,0,0,0,7,13,0,0,0,4 +0,0,0,0,6,15,1,0,0,0,0,3,14,16,4,0,0,0,4,15,16,16,2,0,0,4,16,13,6,16,0,0,0,5,7,0,7,16,0,0,0,0,0,0,8,16,0,0,0,0,0,0,10,16,0,0,0,0,0,0,4,12,0,0,1 +0,1,9,15,16,13,4,0,0,6,9,4,4,13,8,0,0,0,0,0,7,15,4,0,0,0,0,10,16,8,0,0,0,0,0,4,12,13,1,0,0,0,0,0,0,14,8,0,0,0,6,4,7,15,6,0,0,0,8,16,12,5,0,0,3 +0,0,0,12,3,0,0,0,0,0,6,13,0,0,0,0,0,0,11,7,0,0,0,0,0,0,13,2,2,2,0,0,0,1,16,11,16,16,6,0,0,0,15,12,4,14,13,0,0,0,10,11,7,16,12,0,0,0,0,11,15,11,2,0,6 +0,0,4,11,7,1,0,0,0,0,9,16,16,12,0,0,0,0,10,16,16,8,0,0,0,0,10,16,16,10,0,0,0,2,15,16,16,8,0,0,0,0,16,16,16,4,0,0,0,0,5,16,16,13,2,0,0,0,5,10,11,8,3,0,1 +0,0,1,8,14,8,0,0,0,7,16,15,10,5,0,0,0,14,10,2,0,0,0,0,0,4,14,8,0,0,0,0,0,0,2,13,11,0,0,0,0,0,0,1,12,7,0,0,0,0,2,13,10,16,0,0,0,0,0,13,12,11,1,0,5 +0,2,16,9,0,0,0,0,0,2,16,16,10,1,0,0,0,0,1,7,16,13,0,0,0,1,5,0,8,16,3,0,0,4,8,0,0,12,7,0,0,5,10,0,5,15,4,0,0,8,15,14,16,10,0,0,0,3,15,15,8,1,0,0,0 +0,2,8,10,13,15,8,0,0,1,16,15,10,7,2,0,0,0,10,14,2,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,1,14,3,0,0,0,0,2,7,15,3,0,0,0,12,16,10,4,0,0,5 +0,1,7,16,16,16,8,0,0,10,16,14,12,10,3,0,0,12,14,1,0,0,0,0,0,2,15,13,1,0,0,0,0,0,2,16,11,0,0,0,0,0,1,5,15,7,0,0,0,0,11,10,13,16,1,0,0,0,8,16,16,10,0,0,5 +0,1,13,16,14,6,1,0,0,0,13,7,8,16,4,0,0,0,2,1,12,15,2,0,0,0,2,15,13,3,0,0,0,0,3,14,15,6,0,0,0,0,0,1,8,16,3,0,0,4,15,10,5,16,5,0,0,3,12,15,16,13,1,0,3 +0,0,0,12,12,0,0,0,0,0,9,16,9,0,0,0,0,3,16,14,5,5,2,0,0,6,16,16,16,16,9,0,0,0,5,8,13,16,6,0,0,0,0,1,15,16,2,0,0,0,0,5,16,11,0,0,0,0,0,11,16,9,0,0,4 +0,0,11,14,16,8,0,0,0,1,12,12,14,16,3,0,0,0,0,0,4,16,4,0,0,0,0,0,7,16,3,0,0,0,7,8,15,16,11,0,0,5,16,16,16,8,0,0,0,0,7,13,14,0,0,0,0,0,15,15,3,0,0,0,7 +0,0,6,14,15,4,0,0,0,3,16,10,11,14,0,0,0,2,8,0,6,16,2,0,0,0,0,0,8,10,0,0,0,0,0,0,14,7,0,0,0,0,0,7,13,0,0,0,0,0,4,16,11,14,4,0,0,0,5,15,13,8,1,0,2 +0,0,0,5,12,0,0,0,0,0,0,13,13,0,0,0,0,0,5,16,3,0,0,0,0,0,8,15,0,0,0,0,0,0,10,12,8,6,0,0,0,2,15,15,12,14,9,0,0,0,8,15,6,12,12,0,0,0,0,8,13,15,5,0,6 +0,0,7,10,12,16,14,1,0,0,10,15,12,15,15,1,0,0,0,0,1,13,11,0,0,0,0,0,5,16,10,0,0,0,7,12,15,16,9,0,0,0,9,15,16,3,0,0,0,0,3,15,8,0,0,0,0,0,9,15,2,0,0,0,7 +0,0,3,8,12,14,15,3,0,0,4,8,4,8,16,3,0,0,0,0,0,6,14,0,0,0,2,10,12,15,8,0,0,0,9,8,15,12,4,0,0,0,0,5,15,3,0,0,0,0,0,10,10,0,0,0,0,0,2,16,4,0,0,0,7 +0,0,1,15,0,0,0,0,0,0,4,15,1,0,0,0,0,0,12,9,0,0,0,0,0,1,16,9,2,0,0,0,0,5,16,13,14,10,2,0,0,2,16,5,0,10,9,0,0,1,13,12,8,12,11,0,0,0,1,12,13,10,3,0,6 +0,0,5,12,13,9,5,0,0,1,14,8,6,14,14,0,0,0,6,0,3,15,9,0,0,0,3,12,13,4,0,0,0,0,12,16,14,6,0,0,0,0,0,1,10,16,3,0,0,0,3,8,11,15,3,0,0,0,6,14,10,2,0,0,3 +0,0,5,10,15,9,0,0,0,6,14,8,9,16,4,0,0,4,2,2,13,13,0,0,0,0,0,8,16,1,0,0,0,0,0,0,9,13,1,0,0,0,1,2,0,12,7,0,0,0,9,9,4,11,10,0,0,0,4,13,13,10,1,0,3 +0,2,16,16,11,2,0,0,0,0,8,11,16,8,0,0,0,0,4,14,15,1,0,0,0,0,13,16,12,1,0,0,0,0,2,8,15,14,1,0,0,0,4,0,3,16,6,0,0,5,15,8,14,15,2,0,0,2,12,12,9,5,0,0,3 +0,1,9,12,15,16,7,0,0,10,16,15,12,11,3,0,0,13,16,2,0,0,0,0,0,5,16,13,2,0,0,0,0,0,4,15,15,1,0,0,0,0,2,4,15,9,0,0,0,0,14,14,16,11,0,0,0,0,11,16,12,1,0,0,5 +0,0,4,15,13,0,0,0,0,1,15,9,9,9,1,0,0,4,16,6,13,16,4,0,0,0,8,9,6,16,4,0,0,0,0,0,0,16,4,0,0,0,0,0,0,16,5,0,0,0,2,8,5,16,4,0,0,0,3,15,14,7,1,0,9 +0,0,0,6,10,14,6,0,0,0,14,16,12,16,8,0,0,0,8,16,16,16,8,0,0,5,12,8,1,13,6,0,0,0,0,0,4,16,3,0,0,0,0,0,12,11,0,0,0,0,0,1,16,2,0,0,0,0,0,9,11,0,0,0,9 +0,0,0,13,3,0,0,0,0,0,10,13,1,0,0,0,0,3,16,7,0,1,3,0,0,8,16,8,5,13,15,0,0,4,16,16,16,15,4,0,0,0,3,11,16,5,0,0,0,0,0,13,13,0,0,0,0,0,1,15,3,0,0,0,4 +0,0,0,0,13,13,0,0,0,0,2,12,16,16,0,0,0,3,15,16,16,13,0,0,0,11,15,4,14,12,0,0,0,2,2,0,16,11,0,0,0,0,0,0,15,11,0,0,0,0,0,3,16,10,0,0,0,0,0,0,15,15,0,0,1 +0,0,3,15,3,0,0,0,0,0,12,14,0,0,5,3,0,2,16,10,0,5,16,5,0,3,16,14,12,15,14,0,0,0,13,16,16,14,3,0,0,0,0,8,16,5,0,0,0,0,0,13,13,0,0,0,0,0,5,16,4,0,0,0,4 +0,0,0,4,10,16,14,0,0,0,6,16,12,11,16,2,0,3,15,15,10,15,16,2,0,1,15,16,10,15,14,0,0,0,0,0,1,16,8,0,0,0,0,0,7,15,3,0,0,0,0,0,12,12,0,0,0,0,0,1,16,8,0,0,9 +0,7,16,16,16,5,0,0,0,1,8,8,15,7,0,0,0,0,0,3,15,2,0,0,0,0,0,11,13,4,1,0,0,0,8,16,16,16,11,0,0,0,13,14,8,4,2,0,0,5,16,4,0,0,0,0,0,7,12,0,0,0,0,0,7 +0,0,2,8,15,14,0,0,0,1,14,12,8,16,0,0,0,6,12,1,5,13,0,0,0,1,2,1,14,5,0,0,0,0,0,9,13,0,0,0,0,0,0,15,4,0,0,0,0,0,0,16,8,11,7,0,0,0,0,9,13,7,0,0,2 +0,0,1,14,8,0,0,0,0,0,9,14,2,0,3,3,0,4,16,3,0,2,16,3,0,5,16,9,8,13,12,0,0,2,16,16,16,14,2,0,0,0,0,0,13,9,0,0,0,0,0,8,14,1,0,0,0,0,0,15,7,0,0,0,4 +0,0,5,10,14,6,0,0,0,13,16,15,10,3,0,0,0,15,8,0,0,0,0,0,0,8,11,1,0,0,0,0,0,0,7,13,3,0,0,0,0,0,0,5,13,5,0,0,0,0,6,8,13,14,1,0,0,0,4,12,13,11,0,0,5 +0,0,0,1,10,15,2,0,0,0,6,14,12,16,6,0,0,4,16,15,13,16,7,0,0,6,16,14,9,16,2,0,0,0,1,0,2,14,0,0,0,0,0,0,8,10,0,0,0,0,0,0,14,3,0,0,0,0,0,0,14,0,0,0,9 +0,1,6,13,13,4,0,0,0,9,16,14,15,15,0,0,0,5,5,0,6,13,0,0,0,0,0,1,12,11,0,0,0,0,0,7,14,1,0,0,0,0,1,16,8,0,0,0,0,0,8,16,9,13,10,0,0,0,4,14,16,9,2,0,2 +0,0,11,16,7,0,0,0,0,4,16,16,16,0,0,0,0,12,9,4,16,0,0,0,0,8,5,1,16,2,0,0,0,0,0,11,13,0,0,0,0,0,3,16,14,7,9,0,0,0,13,16,16,16,13,0,0,0,13,13,10,2,0,0,2 +0,0,1,13,7,0,0,0,0,0,12,15,1,0,0,0,0,6,16,5,0,3,5,0,0,10,16,9,11,16,14,0,0,6,14,16,16,16,5,0,0,0,0,1,16,11,0,0,0,0,0,9,16,2,0,0,0,0,0,14,13,0,0,0,4 +0,0,8,13,16,12,1,0,0,6,16,13,14,16,5,0,0,5,14,14,16,14,0,0,0,0,0,4,16,6,0,0,0,0,0,11,12,0,0,0,0,0,3,16,11,0,0,0,0,0,7,16,4,0,0,0,0,0,10,15,1,0,0,0,9 +0,0,0,9,14,1,0,0,0,0,5,16,4,0,1,1,0,0,14,13,0,3,13,6,0,1,16,16,16,16,14,1,0,0,7,12,14,16,2,0,0,0,0,0,14,10,0,0,0,0,0,6,16,2,0,0,0,0,0,13,5,0,0,0,4 +0,0,5,12,14,4,0,0,0,10,16,15,14,15,0,0,0,8,5,1,10,13,0,0,0,0,0,0,14,10,0,0,0,0,0,11,16,3,0,0,0,0,4,15,13,0,0,0,0,0,12,16,12,9,11,0,0,0,2,14,16,13,7,0,2 +0,0,0,12,16,5,0,0,0,0,2,13,16,8,0,0,0,6,15,16,16,10,0,0,0,4,8,9,16,14,0,0,0,0,0,0,14,16,4,0,0,0,0,0,7,16,12,0,0,0,0,7,11,16,12,0,0,0,0,13,16,13,3,0,1 +0,0,5,10,13,9,0,0,0,7,16,16,16,14,0,0,0,4,6,5,16,7,0,0,0,0,0,1,16,8,0,0,0,0,0,0,16,16,0,0,0,0,0,0,12,16,3,0,0,0,1,11,16,8,0,0,0,0,6,13,7,0,0,0,3 +0,0,0,1,16,1,0,0,0,0,0,7,12,0,0,0,0,0,3,15,4,0,0,0,0,1,14,8,0,10,9,0,0,8,13,0,3,16,2,0,0,8,16,13,16,13,0,0,0,0,8,5,16,6,0,0,0,0,0,1,14,1,0,0,4 +0,0,13,10,5,10,0,0,0,4,16,10,8,14,0,0,0,0,14,6,15,10,0,0,0,0,4,16,14,0,0,0,0,0,2,16,8,0,0,0,0,0,8,16,12,0,0,0,0,0,12,16,10,0,0,0,0,0,10,13,2,0,0,0,8 +0,0,5,16,16,8,0,0,0,0,10,16,16,11,0,0,0,0,12,13,1,0,0,0,0,0,5,16,1,0,0,0,0,0,0,14,6,0,0,0,0,0,6,10,11,0,0,0,0,0,15,16,16,0,0,0,0,0,5,15,14,0,0,0,5 +0,0,0,10,12,0,0,0,0,0,8,16,9,4,0,0,0,0,15,10,0,0,0,0,0,2,16,6,0,0,0,0,0,3,16,10,10,0,0,0,0,1,15,16,16,10,0,0,0,0,9,13,11,16,3,0,0,0,1,9,15,13,0,0,6 +0,3,10,12,15,10,1,0,0,6,11,8,14,16,4,0,0,0,0,4,16,12,0,0,0,0,1,15,12,1,0,0,0,0,0,14,12,0,0,0,0,0,0,8,16,1,0,0,0,1,7,14,13,0,0,0,0,3,15,9,1,0,0,0,3 +0,1,9,14,16,16,3,0,0,2,16,16,15,12,3,0,0,0,10,16,1,0,0,0,0,0,1,15,7,0,0,0,0,0,0,12,12,0,0,0,0,0,0,9,16,0,0,0,0,2,14,15,14,0,0,0,0,1,16,16,4,0,0,0,5 +0,0,0,8,15,5,0,0,0,0,0,15,16,11,0,0,0,0,8,16,16,13,0,0,0,7,16,16,16,16,4,0,0,2,4,0,10,16,10,0,0,0,0,0,8,16,11,0,0,0,0,7,14,16,10,0,0,0,0,11,16,9,1,0,1 +0,0,3,10,8,0,0,0,0,4,16,13,12,11,0,0,0,6,16,11,15,16,1,0,0,0,7,13,16,12,0,0,0,0,0,0,13,10,0,0,0,0,0,0,15,9,0,0,0,0,5,12,16,5,0,0,0,0,7,13,8,0,0,0,9 +0,0,4,10,14,12,10,0,0,0,7,8,8,12,13,0,0,0,0,0,0,10,12,0,0,0,1,5,8,16,6,0,0,0,5,16,16,13,1,0,0,0,0,7,15,4,0,0,0,0,0,14,12,0,0,0,0,0,2,16,2,0,0,0,7 +0,0,6,14,15,6,0,0,0,14,16,16,16,16,0,0,0,8,8,10,16,13,0,0,0,0,0,14,16,7,0,0,0,0,0,6,16,12,0,0,0,0,0,0,12,16,6,0,0,0,0,7,16,16,5,0,0,0,6,16,12,1,0,0,3 +0,0,0,9,11,0,0,0,0,0,0,13,16,6,0,0,0,0,7,15,16,5,0,0,0,7,16,16,16,5,0,0,0,1,7,4,15,10,0,0,0,0,0,0,12,14,0,0,0,0,0,6,15,16,0,0,0,0,0,10,16,8,0,0,1 +0,0,0,8,14,4,0,0,0,0,8,16,13,1,0,0,0,1,15,13,0,0,0,0,0,2,16,4,0,0,0,0,0,7,16,3,8,7,1,0,0,0,16,16,16,16,11,0,0,0,9,16,16,16,12,0,0,0,1,10,16,12,1,0,6 +0,0,14,16,9,12,1,0,0,0,16,10,10,16,6,0,0,0,12,12,13,13,1,0,0,0,4,16,14,1,0,0,0,0,6,16,7,0,0,0,0,1,15,15,12,0,0,0,0,5,16,12,12,0,0,0,0,1,10,14,3,0,0,0,8 +0,0,9,14,7,0,0,0,0,2,16,16,16,15,0,0,0,3,16,16,16,10,0,0,0,0,9,16,16,10,0,0,0,0,0,3,16,10,0,0,0,0,0,11,14,9,0,0,0,0,5,16,15,3,0,0,0,0,10,12,4,0,0,0,9 +0,0,0,7,14,6,0,0,0,0,11,16,9,2,0,0,0,4,15,10,0,0,0,0,0,9,12,0,3,1,0,0,0,7,13,2,16,12,2,0,0,3,16,2,2,13,9,0,0,0,11,13,6,15,10,0,0,0,0,8,16,13,1,0,6 +0,2,9,14,8,7,0,0,0,11,16,16,16,16,0,0,0,6,16,16,16,16,2,0,0,0,0,0,8,16,7,0,0,0,0,0,8,16,4,0,0,0,0,1,15,16,0,0,0,0,4,14,16,7,0,0,0,1,13,14,2,0,0,0,9 +0,0,0,8,11,0,0,0,0,0,3,16,5,0,0,0,0,0,11,13,0,0,0,0,0,1,16,5,0,1,0,0,0,7,15,0,3,16,3,0,0,8,13,1,10,16,4,0,0,7,16,16,16,16,2,0,0,0,4,6,5,15,3,0,4 +0,1,12,16,8,2,0,0,0,2,16,8,16,15,0,0,0,0,16,9,16,6,0,0,0,0,8,16,8,0,0,0,0,0,9,16,1,0,0,0,0,0,15,16,8,0,0,0,0,3,16,16,9,0,0,0,0,0,7,14,2,0,0,0,8 +0,0,0,2,14,1,0,0,0,0,0,10,12,0,0,0,0,0,8,15,1,2,1,0,0,3,15,5,0,12,7,0,0,10,14,0,6,16,2,0,0,8,16,16,16,12,0,0,0,0,2,4,16,5,0,0,0,0,0,2,13,0,0,0,4 +0,0,5,11,14,9,1,0,0,6,15,12,13,16,2,0,0,8,5,4,16,9,0,0,0,0,0,4,16,8,0,0,0,0,0,2,15,11,0,0,0,0,0,0,10,16,3,0,0,0,1,11,16,10,1,0,0,0,5,13,6,0,0,0,3 +0,0,0,0,10,10,2,0,0,0,0,6,16,7,0,0,0,0,3,16,7,0,0,0,0,0,14,13,0,3,0,0,0,4,16,6,4,16,4,0,0,5,16,9,13,16,6,0,0,0,7,12,16,14,1,0,0,0,0,0,12,14,0,0,4 +0,0,9,12,16,16,3,0,0,0,14,16,16,11,0,0,0,0,7,16,2,0,0,0,0,0,1,16,7,0,0,0,0,0,0,12,10,0,0,0,0,0,0,8,15,0,0,0,0,3,14,16,12,0,0,0,0,1,15,16,6,0,0,0,5 +0,0,5,11,12,2,0,0,0,5,16,14,14,12,0,0,0,5,7,0,10,10,0,0,0,0,0,1,14,6,0,0,0,0,0,14,12,1,0,0,0,0,11,16,1,0,0,0,0,0,15,13,8,5,2,0,0,0,3,12,16,15,9,0,2 +0,0,2,10,15,16,16,5,0,0,10,13,12,14,16,6,0,0,0,0,0,8,16,1,0,0,0,4,4,14,12,0,0,0,6,16,16,16,8,0,0,0,2,11,16,11,1,0,0,0,0,12,15,0,0,0,0,0,1,16,8,0,0,0,7 +0,0,4,14,15,3,0,0,0,0,14,16,16,9,0,0,0,0,11,16,16,15,0,0,0,0,3,13,16,16,1,0,0,0,0,0,3,16,6,0,0,0,0,0,13,16,1,0,0,0,2,11,16,12,0,0,0,0,6,15,10,1,0,0,9 +0,0,0,7,16,6,0,0,0,2,9,16,16,11,0,0,0,10,16,12,13,16,1,0,0,2,4,1,7,16,5,0,0,0,0,0,2,16,10,0,0,0,0,0,2,16,13,0,0,0,0,4,14,16,12,0,0,0,0,4,14,9,2,0,1 +0,0,6,16,16,11,0,0,0,0,15,16,14,8,0,0,0,0,9,13,0,0,0,0,0,0,3,15,1,0,0,0,0,0,0,11,8,0,0,0,0,0,2,13,14,0,0,0,0,0,16,16,13,0,0,0,0,0,7,16,6,0,0,0,5 +0,0,0,13,14,2,0,0,0,0,7,16,12,2,0,0,0,0,14,14,1,0,0,0,0,0,15,11,0,0,0,0,0,4,16,16,14,14,4,0,0,2,16,16,13,10,14,0,0,0,9,13,8,12,16,1,0,0,1,11,16,16,10,0,6 +0,0,0,8,14,16,6,0,0,3,13,16,13,15,14,0,0,3,12,6,0,11,16,0,0,0,0,0,4,15,13,0,0,0,0,12,16,16,11,0,0,0,1,11,16,11,0,0,0,0,0,7,16,5,0,0,0,0,0,11,12,0,0,0,7 +0,0,2,7,13,3,0,0,0,0,10,16,12,13,0,0,0,0,15,9,1,12,4,0,0,1,15,0,0,8,7,0,0,5,8,0,0,12,5,0,0,1,11,0,1,15,4,0,0,0,14,13,15,10,0,0,0,0,3,13,14,3,0,0,0 +0,0,0,14,8,1,0,0,0,0,9,16,16,4,0,0,0,11,16,16,14,0,0,0,0,5,8,14,16,2,0,0,0,0,0,7,16,6,0,0,0,0,0,4,16,12,0,0,0,0,1,6,16,14,0,0,0,0,2,14,16,9,0,0,1 +0,0,3,12,13,1,0,0,0,0,14,16,15,11,0,0,0,0,15,15,15,14,0,0,0,0,11,16,15,16,2,0,0,0,1,5,3,16,6,0,0,0,0,0,1,16,6,0,0,0,0,5,15,16,4,0,0,0,6,16,16,6,0,0,9 +0,0,9,16,7,5,0,0,0,0,9,16,16,16,0,0,0,0,7,16,15,6,0,0,0,0,7,16,7,0,0,0,0,0,14,16,5,0,0,0,0,3,16,16,4,0,0,0,0,1,16,16,5,0,0,0,0,0,7,12,1,0,0,0,8 +0,0,0,1,11,5,0,0,0,0,0,13,12,1,0,0,0,0,8,14,3,0,0,0,0,2,16,6,2,12,4,0,0,7,16,7,8,15,5,0,0,2,16,16,16,11,0,0,0,0,4,10,16,7,0,0,0,0,0,3,14,4,0,0,4 +0,0,1,14,15,3,0,0,0,0,9,16,16,8,0,0,0,9,16,16,14,10,0,0,0,0,3,8,16,14,0,0,0,0,0,2,16,16,2,0,0,0,0,0,13,16,9,0,0,0,1,10,16,16,9,0,0,0,2,10,15,10,0,0,1 +0,0,4,12,16,9,0,0,0,0,13,10,4,14,3,0,0,5,13,1,0,12,4,0,0,4,12,0,0,8,8,0,0,6,12,0,0,10,7,0,0,3,15,0,2,16,3,0,0,0,16,13,15,11,0,0,0,0,6,15,10,0,0,0,0 +0,0,1,10,13,0,0,0,0,0,11,16,9,0,0,0,0,0,15,12,0,0,0,0,0,3,16,5,0,0,0,0,0,5,16,8,12,10,1,0,0,2,16,8,10,15,9,0,0,0,9,14,8,12,15,0,0,0,0,8,14,15,8,0,6 +0,0,1,9,13,16,8,0,0,0,12,13,9,11,14,0,0,0,0,0,0,9,12,0,0,0,0,5,9,15,10,0,0,0,5,16,16,16,5,0,0,0,0,0,13,12,0,0,0,0,0,2,16,7,0,0,0,0,0,9,16,0,0,0,7 +0,0,6,16,16,10,0,0,0,5,16,16,13,6,0,0,0,1,15,15,1,0,0,0,0,0,4,16,5,0,0,0,0,0,0,14,11,0,0,0,0,0,0,13,14,0,0,0,0,0,9,16,11,0,0,0,0,0,8,15,5,0,0,0,5 +0,0,0,12,9,0,0,0,0,0,4,16,16,2,0,0,0,5,15,16,16,3,0,0,0,6,14,13,15,12,0,0,0,0,0,0,8,16,2,0,0,0,0,0,0,16,10,0,0,0,0,7,9,15,15,0,0,0,0,10,16,14,5,0,1 +0,2,15,12,3,6,0,0,0,5,16,13,6,16,6,0,0,6,16,1,3,16,2,0,0,0,15,11,15,14,0,0,0,0,9,16,16,3,0,0,0,0,13,16,6,0,0,0,0,8,16,16,2,0,0,0,0,3,15,13,0,0,0,0,8 +0,0,5,13,14,1,0,0,0,0,14,16,16,9,0,0,0,0,10,16,16,14,0,0,0,0,2,12,14,16,2,0,0,0,0,0,8,16,2,0,0,0,0,4,15,16,2,0,0,0,5,16,16,14,0,0,0,0,4,14,15,1,0,0,9 +0,0,1,13,10,0,0,0,0,0,10,16,7,0,0,0,0,3,16,7,0,0,0,0,0,3,16,3,0,0,0,0,0,8,16,6,8,7,0,0,0,3,15,16,16,16,8,0,0,0,9,16,16,16,5,0,0,0,0,8,15,9,0,0,6 +0,1,7,14,16,11,0,0,0,11,16,12,15,16,1,0,0,8,4,3,16,10,0,0,0,0,0,1,16,7,0,0,0,0,0,0,16,11,0,0,0,0,0,0,12,16,0,0,0,0,2,7,15,13,0,0,0,0,10,15,9,1,0,0,3 +0,1,9,14,7,2,0,0,0,8,16,11,16,14,2,0,0,5,16,14,16,16,4,0,0,0,4,7,10,16,7,0,0,0,0,0,4,16,8,0,0,0,0,0,6,16,9,0,0,0,4,11,16,11,0,0,0,0,12,14,8,0,0,0,9 +0,0,0,0,13,6,0,0,0,0,1,10,13,3,0,0,0,0,5,16,5,0,0,0,0,2,15,9,0,1,0,0,0,7,16,1,5,16,6,0,0,8,16,12,16,14,0,0,0,2,11,13,16,12,0,0,0,0,0,1,14,5,0,0,4 +0,0,5,12,13,1,0,0,0,3,15,14,7,10,0,0,0,0,15,7,14,16,2,0,0,0,8,16,16,9,0,0,0,0,3,16,16,1,0,0,0,0,12,16,16,6,0,0,0,1,16,16,16,7,0,0,0,0,6,14,12,1,0,0,8 +0,0,9,16,16,8,0,0,0,2,16,16,13,4,0,0,0,3,16,6,1,0,0,0,0,0,11,11,0,0,0,0,0,0,2,14,5,0,0,0,0,0,0,12,10,0,0,0,0,0,10,16,15,0,0,0,0,0,10,15,6,0,0,0,5 +0,0,13,10,2,8,0,0,0,2,16,13,13,14,0,0,0,0,14,4,12,11,0,0,0,0,12,13,16,5,0,0,0,0,3,16,13,0,0,0,0,0,9,16,9,0,0,0,0,0,16,16,10,0,0,0,0,0,11,13,2,0,0,0,8 +0,1,12,16,10,1,0,0,0,11,15,15,16,8,0,0,0,9,16,16,16,14,0,0,0,0,11,7,6,16,8,0,0,0,0,0,8,13,2,0,0,0,0,8,15,12,0,0,0,0,7,16,15,3,0,0,0,0,9,8,1,0,0,0,9 +0,0,0,0,11,9,0,0,0,0,0,8,15,3,0,0,0,0,4,15,5,0,0,0,0,1,14,9,0,5,3,0,0,8,15,0,1,16,7,0,0,12,15,12,15,15,3,0,0,6,15,12,15,12,0,0,0,0,0,0,10,4,0,0,4 +0,0,4,15,16,6,0,0,0,0,14,15,8,14,2,0,0,7,12,2,0,8,4,0,0,7,8,0,0,5,8,0,0,8,8,0,0,9,8,0,0,3,11,0,0,10,7,0,0,0,15,7,8,14,2,0,0,0,5,12,14,6,0,0,0 +0,0,4,13,12,1,0,0,0,2,15,12,11,7,0,0,0,1,12,13,15,14,0,0,0,0,3,16,16,5,0,0,0,0,4,16,11,0,0,0,0,0,10,16,16,0,0,0,0,0,14,16,13,0,0,0,0,0,8,13,3,0,0,0,8 +0,0,5,15,15,2,0,0,0,4,15,11,16,4,0,0,0,2,4,6,16,2,0,0,0,0,0,14,10,0,0,0,0,0,6,16,2,0,0,0,0,0,9,13,0,0,0,0,0,0,10,15,8,4,3,0,0,0,3,14,16,14,4,0,2 +0,0,4,9,7,13,1,0,0,1,16,6,6,14,4,0,0,7,13,0,0,10,8,0,0,8,6,0,0,12,7,0,0,8,5,0,0,13,4,0,0,8,10,0,5,16,4,0,0,1,15,12,15,10,0,0,0,0,5,14,9,1,0,0,0 +0,1,6,14,10,1,0,0,0,9,16,15,16,13,0,0,0,6,6,9,16,7,0,0,0,0,0,14,10,0,0,0,0,0,0,8,15,5,0,0,0,0,0,0,13,13,0,0,0,0,2,9,15,8,0,0,0,0,10,16,7,0,0,0,3 +0,0,8,16,6,0,0,0,0,0,13,10,8,8,0,0,0,0,8,12,13,15,3,0,0,0,6,16,16,6,0,0,0,0,11,16,6,0,0,0,0,2,14,14,11,0,0,0,0,1,16,11,15,1,0,0,0,0,9,16,10,0,0,0,8 +0,0,6,13,11,4,0,0,0,5,16,10,14,12,0,0,0,7,8,1,14,9,0,0,0,0,0,5,15,3,0,0,0,0,2,15,10,0,0,0,0,0,12,14,0,0,0,0,0,4,16,12,4,6,5,0,0,1,9,14,13,12,5,0,2 +0,0,2,13,8,0,0,0,0,0,12,15,16,11,0,0,0,2,16,3,3,13,4,0,0,5,13,0,0,9,7,0,0,7,8,0,0,13,3,0,0,3,14,0,1,15,2,0,0,0,14,10,12,12,0,0,0,0,2,13,12,3,0,0,0 +0,0,6,16,16,7,0,0,0,1,15,16,14,10,0,0,0,0,15,11,0,0,0,0,0,0,6,16,2,0,0,0,0,0,0,10,10,0,0,0,0,0,0,7,14,0,0,0,0,0,5,12,16,2,0,0,0,0,9,16,10,0,0,0,5 +0,0,3,9,13,14,1,0,0,4,16,15,11,14,8,0,0,0,2,0,2,14,6,0,0,0,0,0,10,16,5,0,0,0,5,16,16,16,7,0,0,0,1,10,16,5,0,0,0,0,0,8,16,0,0,0,0,0,0,10,10,0,0,0,7 +0,0,0,11,12,0,0,0,0,0,8,16,12,0,0,0,0,0,15,14,1,0,0,0,0,1,15,8,0,0,0,0,0,3,16,6,1,0,0,0,0,1,15,16,16,16,10,0,0,0,8,16,16,16,16,3,0,0,0,7,15,16,9,0,6 +0,0,1,15,9,0,0,0,0,0,4,16,16,2,0,0,0,5,15,16,16,5,0,0,0,2,8,11,16,12,0,0,0,0,0,2,16,16,2,0,0,0,0,0,13,16,8,0,0,0,2,8,13,16,8,0,0,0,1,11,14,12,2,0,1 +0,0,0,10,11,0,0,0,0,0,3,16,5,8,5,0,0,0,10,14,2,16,2,0,0,4,15,5,8,12,0,0,0,12,16,12,15,16,6,0,0,14,16,16,16,14,2,0,0,0,0,11,13,0,0,0,0,0,0,14,5,0,0,0,4 +0,0,6,16,12,1,0,0,0,0,16,10,13,7,0,0,0,0,14,6,10,12,0,0,0,0,5,14,16,16,6,0,0,0,0,0,4,11,9,0,0,0,0,0,0,7,13,0,0,0,10,10,4,11,12,0,0,0,6,14,12,12,5,0,9 +0,0,6,14,10,0,0,0,0,0,8,16,16,0,0,0,0,0,8,16,16,1,0,0,0,1,13,16,14,0,0,0,0,3,13,16,13,0,0,0,0,0,7,16,16,0,0,0,0,0,6,16,16,9,0,0,0,0,5,14,16,13,4,0,1 +0,0,2,15,5,0,0,0,0,0,5,15,1,7,0,0,0,0,10,10,6,16,0,0,0,5,15,2,13,11,0,0,0,14,15,12,16,16,6,0,0,14,16,16,16,14,3,0,0,1,4,15,11,1,0,0,0,0,2,15,7,0,0,0,4 +0,0,13,16,6,0,0,0,0,6,16,13,15,0,0,0,0,4,15,7,16,0,0,0,0,0,3,10,13,0,0,0,0,0,0,14,10,0,0,0,0,1,13,16,1,2,0,0,0,8,16,16,15,16,2,0,0,1,11,15,16,16,3,0,2 +0,0,9,16,9,1,0,0,0,5,16,9,16,11,0,0,0,8,12,0,15,12,0,0,0,1,15,16,16,16,2,0,0,0,0,5,4,16,4,0,0,0,0,0,0,13,7,0,0,1,12,12,12,15,9,0,0,1,10,14,8,8,1,0,9 +0,1,13,16,9,0,0,0,0,6,16,14,13,0,0,0,0,5,11,8,15,0,0,0,0,0,0,12,9,0,0,0,0,0,3,16,6,0,0,0,0,1,13,13,1,0,0,0,0,11,16,16,16,16,5,0,0,2,12,14,15,16,5,0,2 +0,0,10,12,2,0,0,0,0,0,16,14,8,0,0,0,0,0,14,7,12,0,0,0,0,0,1,5,12,0,0,0,0,0,0,9,9,0,0,0,0,0,3,16,2,0,0,0,0,4,16,16,10,6,2,0,0,1,8,8,11,13,10,0,2 +0,3,15,11,1,0,0,0,0,8,13,12,7,0,0,0,0,5,5,9,9,0,0,0,0,0,2,14,10,0,0,0,0,0,3,12,15,13,1,0,0,0,0,0,1,15,7,0,0,4,11,5,10,16,4,0,0,4,12,13,12,3,0,0,3 +0,0,4,15,14,2,0,0,0,0,14,8,16,2,0,0,0,0,6,3,16,0,0,0,0,0,0,12,16,5,0,0,0,0,0,7,15,16,4,0,0,0,0,0,0,16,4,0,0,0,8,12,10,15,3,0,0,0,6,13,13,4,0,0,3 +0,0,3,15,16,16,3,0,0,0,3,9,13,16,2,0,0,0,0,0,10,16,0,0,0,0,6,12,16,16,9,0,0,0,15,16,16,14,7,0,0,0,0,10,15,1,0,0,0,0,2,16,10,0,0,0,0,0,7,15,4,0,0,0,7 +0,0,8,16,16,16,7,0,0,0,16,12,8,8,4,0,0,2,16,6,0,0,0,0,0,7,16,16,16,8,0,0,0,2,12,9,9,16,3,0,0,0,0,0,1,16,3,0,0,0,8,11,12,16,2,0,0,0,10,16,14,6,0,0,5 +0,2,14,10,1,0,0,0,0,6,13,13,6,0,0,0,0,8,5,6,8,0,0,0,0,3,2,8,6,0,0,0,0,0,0,11,4,0,0,0,0,0,6,14,0,1,0,0,0,3,16,15,12,15,7,0,0,2,13,9,8,9,7,0,2 +0,0,6,12,12,12,2,0,0,1,16,12,12,12,5,0,0,5,12,5,1,0,0,0,0,8,16,16,14,0,0,0,0,2,6,0,16,1,0,0,0,0,0,0,15,1,0,0,0,0,8,11,13,0,0,0,0,0,9,9,3,0,0,0,5 +0,0,9,6,0,0,0,0,0,0,16,4,0,0,0,0,0,2,15,0,0,0,0,0,0,6,12,1,2,0,0,0,0,7,15,14,16,11,1,0,0,4,16,10,4,16,5,0,0,0,16,11,8,16,6,0,0,0,6,14,14,9,0,0,6 +0,1,9,12,12,15,6,0,0,1,16,11,8,8,4,0,0,6,16,5,4,2,0,0,0,7,16,16,16,15,2,0,0,0,2,2,3,14,6,0,0,0,0,0,2,14,6,0,0,2,11,8,12,13,2,0,0,1,11,16,10,2,0,0,5 +0,0,0,11,16,10,0,0,0,0,0,15,16,8,0,0,0,0,7,16,16,6,0,0,0,4,16,16,16,4,0,0,0,1,4,12,16,4,0,0,0,0,0,9,16,7,0,0,0,0,0,11,16,15,0,0,0,0,0,8,14,11,2,0,1 +0,0,2,15,16,10,0,0,0,0,1,12,14,16,0,0,0,0,0,0,5,16,2,0,0,0,0,0,8,15,1,0,0,0,7,8,14,15,4,0,0,5,16,16,16,15,2,0,0,1,4,14,12,0,0,0,0,0,3,15,5,0,0,0,7 +0,0,7,15,12,5,0,0,0,0,15,7,6,16,2,0,0,3,16,3,10,16,6,0,0,0,14,16,16,11,2,0,0,0,1,14,16,3,0,0,0,0,2,14,15,12,0,0,0,0,12,8,8,16,0,0,0,0,9,16,14,10,0,0,8 +0,0,10,11,10,2,0,0,0,0,16,14,14,10,0,0,0,3,16,13,12,9,0,0,0,4,16,16,14,15,2,0,0,0,0,0,0,12,4,0,0,0,0,0,0,13,7,0,0,0,7,8,14,14,1,0,0,0,10,13,9,0,0,0,5 +0,0,1,12,16,3,0,0,0,0,7,11,8,12,0,0,0,2,14,1,0,14,1,0,0,4,14,0,0,11,7,0,0,3,13,0,0,5,8,0,0,0,13,4,0,9,7,0,0,0,10,13,8,14,1,0,0,0,1,9,14,6,0,0,0 +0,0,4,15,16,15,2,0,0,0,16,12,10,15,9,0,0,2,16,5,0,9,11,0,0,0,15,6,0,8,10,0,0,1,16,7,0,13,6,0,0,2,16,10,4,16,0,0,0,0,10,16,16,8,0,0,0,0,2,14,12,2,0,0,0 +0,0,14,10,0,0,0,0,0,2,16,14,4,0,0,0,0,0,9,8,8,0,0,0,0,0,0,10,4,0,0,0,0,0,2,15,2,0,0,0,0,2,13,9,0,2,1,0,0,8,16,13,13,16,5,0,0,1,9,15,16,16,7,0,2 +0,0,0,10,16,13,7,0,0,0,2,9,10,15,11,0,0,0,0,0,0,13,8,0,0,0,1,7,9,16,5,0,0,0,7,16,16,15,5,0,0,0,0,0,14,3,0,0,0,0,0,6,16,1,0,0,0,0,0,16,8,0,0,0,7 +0,0,4,14,13,3,0,0,0,1,15,11,16,9,0,0,0,2,15,0,10,14,0,0,0,0,13,11,13,16,4,0,0,0,1,11,12,14,7,0,0,0,0,0,0,10,9,0,0,3,16,10,6,9,12,0,0,0,6,9,12,13,6,0,9 +0,2,11,16,5,0,0,0,0,10,14,12,12,0,0,0,0,3,2,8,11,0,0,0,0,0,0,11,12,0,0,0,0,0,1,13,16,10,0,0,0,0,0,0,4,16,5,0,0,0,8,6,6,16,10,0,0,2,12,13,12,10,1,0,3 +0,0,0,10,13,3,0,0,0,0,0,13,16,7,0,0,0,0,4,16,16,5,0,0,0,2,16,16,16,6,0,0,0,7,16,16,16,11,0,0,0,0,0,8,16,12,0,0,0,0,0,15,16,14,0,0,0,0,0,8,13,9,0,0,1 +0,0,5,14,16,15,2,0,0,0,12,14,11,16,5,0,0,0,3,0,8,15,0,0,0,0,0,3,15,11,0,0,0,1,11,16,16,15,6,0,0,1,13,16,16,13,3,0,0,0,3,16,9,0,0,0,0,0,6,16,2,0,0,0,7 +0,0,6,13,2,0,0,0,0,3,15,14,8,0,0,0,0,8,6,5,12,0,0,0,0,3,2,4,10,0,0,0,0,0,0,8,8,0,0,0,0,0,0,13,4,0,0,0,0,0,10,16,16,16,7,0,0,0,7,12,10,13,7,0,2 +0,0,11,7,0,0,0,0,0,3,16,4,0,0,0,0,0,2,15,2,0,0,0,0,0,3,16,4,0,0,0,0,0,8,16,16,16,10,1,0,0,5,16,7,3,16,8,0,0,0,13,14,11,16,6,0,0,0,9,16,11,2,0,0,6 +0,0,3,14,16,16,4,0,0,0,4,9,10,16,5,0,0,0,0,0,7,16,2,0,0,0,3,8,13,16,7,0,0,1,16,16,16,16,9,0,0,0,7,11,15,3,0,0,0,0,0,15,12,0,0,0,0,0,5,16,5,0,0,0,7 +0,0,0,6,15,10,1,0,0,0,1,11,16,16,5,0,0,0,8,16,16,16,6,0,0,8,16,16,16,16,6,0,0,0,3,7,16,16,4,0,0,0,0,4,16,16,4,0,0,0,0,6,16,16,7,0,0,0,0,4,14,14,6,0,1 +0,0,4,14,11,2,0,0,0,0,8,11,5,16,0,0,0,0,8,13,9,15,6,0,0,0,3,16,16,12,1,0,0,0,11,14,12,0,0,0,0,4,11,1,15,3,0,0,0,6,11,4,7,12,0,0,0,1,8,14,16,9,0,0,8 +0,0,7,15,13,2,0,0,0,4,16,6,13,8,0,0,0,0,7,1,13,7,0,0,0,0,0,2,16,11,0,0,0,0,0,1,12,15,6,0,0,0,0,0,0,5,11,0,0,3,13,9,7,13,7,0,0,0,6,13,15,9,1,0,3 +0,0,5,12,12,5,0,0,0,0,13,4,5,16,0,0,0,0,15,1,12,14,0,0,0,0,9,16,16,6,0,0,0,0,7,16,16,1,0,0,0,1,13,4,7,11,0,0,0,2,13,1,5,16,0,0,0,0,6,9,9,6,0,0,8 +0,1,11,14,0,0,0,0,0,4,15,14,6,0,0,0,0,6,9,7,8,0,0,0,0,3,5,6,11,0,0,0,0,0,0,9,8,0,0,0,0,0,1,14,7,0,0,0,0,1,15,16,16,16,6,0,0,0,8,8,12,13,4,0,2 +0,0,5,16,16,16,6,0,0,0,5,10,11,16,3,0,0,0,0,0,10,14,0,0,0,0,1,4,16,10,0,0,0,0,10,16,16,16,6,0,0,0,6,14,13,12,3,0,0,0,2,16,6,0,0,0,0,0,7,14,1,0,0,0,7 +0,0,1,9,13,1,0,0,0,0,11,11,13,9,0,0,0,2,15,0,4,16,4,0,0,8,9,0,0,13,6,0,0,5,12,0,0,9,8,0,0,0,15,3,0,8,8,0,0,0,6,14,4,11,7,0,0,0,0,11,16,13,2,0,0 +0,0,5,13,15,12,1,0,0,0,16,12,4,4,1,0,0,6,16,5,4,3,0,0,0,6,16,16,16,15,2,0,0,0,3,0,0,12,6,0,0,0,0,0,0,14,5,0,0,0,0,0,8,16,1,0,0,0,4,14,16,7,0,0,5 +0,0,10,12,12,5,0,0,0,0,8,16,16,14,0,0,0,0,8,16,16,11,0,0,0,0,13,16,16,7,0,0,0,0,9,16,16,1,0,0,0,0,9,16,16,7,0,0,0,1,15,16,16,7,0,0,0,0,7,12,12,9,0,0,1 +0,0,6,13,12,2,0,0,0,6,16,12,16,13,3,0,0,7,13,5,16,16,8,0,0,1,14,16,15,7,0,0,0,0,3,16,14,1,0,0,0,0,4,16,16,11,0,0,0,0,6,16,13,16,4,0,0,0,7,15,12,10,0,0,8 +0,0,4,11,10,2,0,0,0,2,16,5,14,9,0,0,0,1,15,4,13,16,3,0,0,0,4,16,15,4,0,0,0,0,2,16,11,0,0,0,0,0,9,11,14,7,0,0,0,0,14,3,5,15,0,0,0,0,5,8,12,10,0,0,8 +0,0,8,15,12,3,0,0,0,5,16,6,10,14,0,0,0,7,14,7,14,16,2,0,0,0,11,16,13,6,1,0,0,0,11,16,12,0,0,0,0,0,16,7,10,12,0,0,0,4,16,0,2,16,6,0,0,1,10,16,16,15,2,0,8 +0,0,2,9,16,5,0,0,0,0,14,9,10,15,4,0,0,4,16,2,10,16,11,0,0,2,15,16,16,9,0,0,0,0,2,16,16,11,0,0,0,0,10,9,7,16,0,0,0,0,10,11,8,16,0,0,0,0,2,15,14,8,0,0,8 +0,0,0,5,14,0,0,0,0,0,0,14,11,0,0,0,0,0,1,16,5,0,0,0,0,0,5,16,1,0,0,0,0,0,12,16,12,4,0,0,0,0,16,16,12,15,7,0,0,0,7,16,11,12,14,0,0,0,0,5,15,16,11,0,6 +0,0,0,2,12,3,0,0,0,0,0,9,11,0,0,0,0,0,2,15,6,6,7,0,0,0,13,7,0,16,3,0,0,7,15,3,2,16,2,0,0,13,16,16,16,13,1,0,0,1,4,5,16,6,0,0,0,0,0,4,16,3,0,0,4 +0,1,10,16,15,3,0,0,0,8,14,4,16,12,0,0,0,8,13,1,16,12,0,0,0,2,13,16,16,13,0,0,0,0,0,3,9,16,0,0,0,0,6,4,4,16,4,0,0,0,16,13,10,16,5,0,0,0,7,12,13,10,1,0,9 +0,0,0,9,16,9,0,0,0,0,0,14,16,11,0,0,0,0,5,16,16,8,0,0,0,3,15,16,16,6,0,0,0,5,15,16,16,7,0,0,0,0,4,16,16,5,0,0,0,0,1,16,16,12,0,0,0,0,1,12,13,12,0,0,1 +0,0,4,14,15,9,1,0,0,0,0,14,16,16,4,0,0,0,0,15,16,16,0,0,0,0,7,16,16,13,0,0,0,2,16,16,16,12,0,0,0,0,4,15,16,8,0,0,0,0,5,16,16,12,0,0,0,0,4,14,15,5,0,0,1 +0,0,2,15,11,1,0,0,0,0,9,12,14,13,2,0,0,2,15,2,1,13,6,0,0,7,16,0,0,9,8,0,0,4,16,0,0,10,7,0,0,3,16,3,2,14,2,0,0,0,14,14,14,9,0,0,0,0,3,11,13,1,0,0,0 +0,0,11,15,8,0,0,0,0,6,16,10,16,0,0,0,0,2,7,8,16,0,0,0,0,0,0,13,16,2,0,0,0,0,0,8,14,13,1,0,0,0,3,0,3,16,5,0,0,0,16,10,12,15,2,0,0,0,12,15,9,2,0,0,3 +0,0,0,14,8,0,0,0,0,0,3,16,5,0,0,0,0,0,12,12,10,14,0,0,0,4,16,6,13,11,0,0,0,12,16,7,16,14,3,0,0,15,16,16,16,16,6,0,0,2,5,13,16,4,0,0,0,0,0,15,11,0,0,0,4 +0,0,0,5,15,0,0,0,0,0,1,14,12,7,3,0,0,0,10,15,5,16,6,0,0,5,16,7,5,16,3,0,0,12,16,13,15,16,9,0,0,4,12,13,16,13,3,0,0,0,0,7,16,5,0,0,0,0,0,7,15,0,0,0,4 +0,1,11,16,8,0,0,0,0,8,16,5,16,3,0,0,0,8,11,0,13,10,0,0,0,3,15,9,11,15,2,0,0,0,1,7,7,15,7,0,0,0,0,0,0,8,12,0,0,1,10,5,4,11,12,0,0,0,8,15,16,15,6,0,9 +0,0,5,13,1,0,0,0,0,0,13,11,0,0,0,0,0,0,16,2,0,0,0,0,0,5,16,0,0,0,0,0,0,8,15,9,14,6,0,0,0,7,16,16,10,16,2,0,0,1,16,16,4,16,5,0,0,0,4,14,16,13,0,0,6 +0,0,1,11,16,16,13,0,0,0,3,7,4,9,13,0,0,0,0,0,0,10,6,0,0,0,2,4,8,15,6,0,0,0,9,13,15,14,5,0,0,0,1,2,15,0,0,0,0,0,0,12,9,0,0,0,0,0,2,15,3,0,0,0,7 +0,0,5,12,14,16,8,0,0,0,16,16,13,12,4,0,0,0,16,14,8,2,0,0,0,1,16,16,16,15,2,0,0,5,16,9,6,16,4,0,0,0,0,0,4,16,4,0,0,0,3,12,15,15,2,0,0,0,5,13,13,2,0,0,5 +0,0,2,12,15,5,0,0,0,0,11,9,9,15,3,0,0,0,15,1,0,15,4,0,0,4,10,0,0,13,3,0,0,3,14,0,0,12,8,0,0,0,15,3,0,13,5,0,0,0,10,13,5,16,2,0,0,0,1,13,16,8,0,0,0 +0,1,13,9,0,0,0,0,0,10,14,15,2,0,0,0,0,8,6,10,6,0,0,0,0,2,3,10,5,0,0,0,0,0,3,16,2,0,0,0,0,0,6,11,0,0,0,0,0,4,16,15,12,12,6,0,0,0,10,12,12,13,11,0,2 +0,2,12,8,0,0,0,0,0,11,16,16,0,0,0,0,0,7,8,14,6,0,0,0,0,1,2,12,8,0,0,0,0,0,0,14,4,0,0,0,0,0,2,16,1,0,0,0,0,2,13,16,9,15,11,0,0,2,14,16,13,15,9,0,2 +0,0,13,10,8,8,3,0,0,3,16,16,13,11,3,0,0,5,16,8,0,0,0,0,0,6,16,16,15,6,0,0,0,0,3,2,10,15,3,0,0,0,0,0,5,16,2,0,0,0,4,8,16,8,0,0,0,0,14,14,4,0,0,0,5 +0,0,2,11,15,16,15,0,0,0,8,13,12,16,13,0,0,0,0,0,6,16,5,0,0,0,0,6,13,16,7,0,0,0,9,16,16,16,9,0,0,0,5,9,16,5,0,0,0,0,0,11,16,1,0,0,0,0,1,16,9,0,0,0,7 +0,0,10,16,15,12,0,0,0,0,14,9,4,4,0,0,0,0,16,0,0,0,0,0,0,5,16,12,12,8,0,0,0,7,15,10,8,15,6,0,0,2,1,0,2,16,4,0,0,0,3,10,14,12,1,0,0,0,10,14,6,0,0,0,5 +0,0,6,13,15,8,0,0,0,4,16,12,12,16,5,0,0,6,16,2,5,16,5,0,0,1,15,13,13,16,1,0,0,0,0,7,13,16,1,0,0,0,0,0,4,16,0,0,0,4,16,11,7,16,0,0,0,1,10,13,16,13,0,0,9 +0,0,0,9,16,11,0,0,0,0,6,15,12,16,6,0,0,0,16,11,0,9,12,0,0,5,16,3,0,8,8,0,0,4,16,0,0,8,8,0,0,2,16,7,0,12,5,0,0,0,11,16,14,16,1,0,0,0,1,9,13,6,0,0,0 +0,0,5,15,2,0,0,0,0,1,15,10,0,0,0,0,0,8,16,2,0,0,0,0,0,10,13,1,4,6,0,0,0,8,16,13,16,15,9,0,0,6,16,13,1,4,12,0,0,1,16,15,3,8,11,0,0,0,5,12,16,16,4,0,6 +0,0,1,12,16,2,0,0,0,0,5,16,15,0,0,0,0,0,13,16,11,0,0,0,0,8,16,16,12,0,0,0,0,7,10,16,15,0,0,0,0,0,0,14,16,2,0,0,0,0,0,13,16,7,0,0,0,0,0,12,16,9,0,0,1 +0,0,5,8,11,13,10,0,0,0,12,12,7,4,4,0,0,3,12,0,4,0,0,0,0,5,16,16,16,14,0,0,0,1,7,1,0,14,6,0,0,0,0,0,0,12,4,0,0,7,11,1,6,12,1,0,0,0,8,13,10,2,0,0,5 +0,0,2,12,13,7,0,0,0,2,14,5,0,13,2,0,0,10,6,0,2,16,4,0,0,6,13,7,9,16,4,0,0,0,8,12,8,13,4,0,0,0,0,0,0,7,7,0,0,0,0,0,0,4,11,0,0,0,1,14,11,13,12,0,9 +0,0,8,16,15,9,0,0,0,2,15,5,3,16,6,0,0,8,12,0,3,16,8,0,0,8,15,10,14,16,5,0,0,1,9,10,3,15,7,0,0,0,0,0,0,15,5,0,0,0,1,4,0,13,7,0,0,0,5,16,16,16,2,0,9 +0,0,3,15,15,3,0,0,0,2,14,10,13,9,0,0,0,6,16,1,6,12,0,0,0,9,14,7,14,13,0,0,0,2,12,12,14,14,0,0,0,0,0,0,6,16,0,0,0,0,0,4,5,16,5,0,0,0,2,12,16,16,4,0,9 +0,0,0,7,16,2,0,1,0,0,0,11,13,1,13,8,0,0,6,16,4,8,15,1,0,0,15,16,16,16,12,0,0,0,8,8,13,16,3,0,0,0,0,0,13,11,0,0,0,0,0,4,16,4,0,0,0,0,0,9,12,0,0,0,4 +0,0,0,8,16,16,16,9,0,0,0,8,8,9,16,8,0,0,0,0,0,7,16,1,0,0,0,0,1,12,14,0,0,0,3,14,16,16,6,0,0,0,4,6,11,10,0,0,0,0,0,3,15,3,0,0,0,0,0,10,11,0,0,0,7 +0,0,0,8,15,1,0,0,0,0,0,8,16,5,0,0,0,0,0,14,16,4,0,0,0,0,8,16,16,4,0,0,0,2,15,12,16,6,0,0,0,3,8,1,16,10,0,0,0,0,0,5,15,16,1,0,0,0,0,9,16,16,11,0,1 +0,0,1,9,16,16,16,8,0,0,7,15,9,12,13,1,0,0,0,0,0,14,6,0,0,0,0,0,5,15,1,0,0,0,13,16,16,16,8,0,0,1,9,8,14,5,0,0,0,0,0,7,13,0,0,0,0,0,0,14,6,0,0,0,7 +0,2,14,16,9,0,0,0,0,10,15,10,16,0,0,0,0,8,12,0,16,5,0,0,0,3,3,3,16,5,0,0,0,0,0,5,16,1,0,0,0,0,0,11,13,0,0,0,0,0,7,16,13,11,11,1,0,1,15,16,16,16,16,5,2 +0,1,12,16,16,8,0,0,0,8,14,8,16,8,0,0,0,1,2,9,15,3,0,0,0,0,12,15,3,0,0,0,0,0,10,15,9,1,0,0,0,0,1,9,16,11,0,0,0,0,1,0,3,16,4,0,0,2,15,16,16,15,4,0,3 +0,0,1,16,13,0,0,0,0,0,3,16,15,0,0,0,0,0,12,16,16,0,0,0,0,3,16,16,16,0,0,0,0,7,7,12,16,0,0,0,0,0,0,7,16,3,0,0,0,0,0,10,16,14,1,0,0,0,2,13,16,16,12,0,1 +0,0,0,7,15,1,0,0,0,0,1,15,5,2,4,0,0,0,10,10,2,16,6,0,0,4,16,3,9,14,0,0,1,15,14,12,15,10,0,0,5,15,12,11,16,4,0,0,0,0,0,6,15,1,0,0,0,0,0,9,12,0,0,0,4 +0,0,9,15,15,3,0,0,0,8,15,11,16,6,0,0,0,2,1,12,15,1,0,0,0,0,6,16,7,0,0,0,0,0,2,15,15,3,0,0,0,0,0,1,7,15,5,0,0,0,14,1,0,12,12,0,0,0,8,16,16,16,10,0,3 +0,0,11,16,10,0,0,0,0,2,16,14,15,0,0,0,0,0,13,7,16,1,0,0,0,0,0,6,16,1,0,0,0,0,0,10,12,0,0,0,0,0,1,15,8,0,0,0,0,0,12,16,15,10,4,0,0,0,11,11,8,13,16,6,2 +0,0,0,3,15,5,0,0,0,0,1,12,15,1,6,5,0,0,10,16,2,5,16,4,0,2,16,10,0,13,10,0,0,12,16,11,11,16,1,0,0,4,14,16,16,9,0,0,0,0,0,7,16,1,0,0,0,0,0,6,14,0,0,0,4 +0,0,8,16,16,8,0,0,0,6,14,8,16,9,0,0,0,3,3,9,13,3,0,0,0,0,0,11,15,2,0,0,0,0,0,1,13,13,1,0,0,0,0,0,1,16,5,0,0,0,7,8,4,12,7,0,0,0,10,16,16,16,4,0,3 +0,0,0,2,15,5,0,0,0,0,0,10,14,0,3,0,0,0,3,16,3,6,16,2,0,1,14,8,0,14,10,0,1,12,14,8,11,16,5,0,5,16,16,15,16,11,1,0,1,3,0,1,16,6,0,0,0,0,0,5,15,1,0,0,4 +0,0,9,16,15,1,0,0,0,6,14,9,16,4,0,0,0,3,4,11,15,0,0,0,0,0,8,16,1,0,0,0,0,0,3,14,10,0,0,0,0,0,0,2,15,8,0,0,0,0,5,6,5,16,5,0,0,0,13,16,16,16,5,0,3 +0,1,14,15,2,0,0,0,0,9,15,15,12,0,0,0,0,9,12,8,15,0,0,0,0,3,5,9,10,0,0,0,0,0,0,11,11,0,0,0,0,0,1,15,7,0,0,0,0,0,7,16,11,7,4,0,0,1,15,16,16,16,16,5,2 +0,0,12,16,10,0,0,0,0,3,16,6,14,9,0,0,0,7,14,0,3,15,3,0,0,9,12,0,0,8,10,0,0,8,12,0,0,4,12,0,0,7,13,0,0,5,12,0,0,2,16,6,2,13,9,0,0,0,9,16,16,13,0,0,0 +0,0,15,16,13,2,0,0,0,3,15,2,10,15,2,0,0,8,12,0,0,10,8,0,0,8,12,0,0,4,12,0,0,9,12,0,0,4,12,0,0,8,12,0,0,9,8,0,0,6,15,4,11,14,2,0,0,0,12,16,15,3,0,0,0 +0,0,11,16,16,16,6,0,0,4,16,13,10,4,2,0,0,4,16,0,0,0,0,0,0,1,15,10,0,0,0,0,0,0,6,15,9,0,0,0,0,2,1,3,16,1,0,0,0,9,11,5,16,2,0,0,0,1,11,16,14,0,0,0,5 +0,0,2,14,11,0,0,0,0,0,13,7,9,6,0,0,0,0,12,0,1,12,2,0,0,3,12,0,2,15,4,0,0,1,13,14,12,14,7,0,0,0,0,0,0,12,4,0,0,0,0,0,0,10,3,0,0,0,2,14,12,14,0,0,9 +0,0,0,14,7,0,0,0,0,0,0,16,12,0,0,0,0,0,5,16,13,0,0,0,0,1,14,14,16,1,0,0,0,3,3,1,16,5,0,0,0,0,0,0,11,8,0,0,0,0,0,3,13,13,0,0,0,0,0,12,16,16,8,0,1 +0,0,6,16,15,2,0,0,0,1,16,10,7,2,0,0,0,6,15,0,0,0,0,0,0,8,15,0,0,0,0,0,0,9,12,5,11,4,0,0,0,5,15,16,14,14,10,0,0,0,11,15,1,6,16,0,0,0,5,12,16,16,8,0,6 +0,0,0,7,15,6,0,0,0,0,7,16,4,1,3,0,0,2,16,10,0,14,13,0,0,6,16,7,4,16,8,0,0,6,16,16,14,16,6,0,0,1,7,9,16,13,0,0,0,0,0,4,16,7,0,0,0,0,0,10,12,0,0,0,4 +0,4,16,16,6,0,0,0,0,4,14,8,16,0,0,0,0,3,8,5,16,0,0,0,0,0,0,5,16,0,0,0,0,0,0,14,9,0,0,0,0,0,5,15,2,0,0,0,0,1,13,15,11,9,7,0,0,6,16,14,12,12,12,0,2 +0,1,13,16,15,1,0,0,0,5,13,10,16,5,0,0,0,0,0,10,14,1,0,0,0,0,7,16,3,0,0,0,0,0,4,16,13,1,0,0,0,0,0,5,16,12,0,0,0,0,6,6,8,16,6,0,0,0,15,16,16,15,1,0,3 +0,2,13,16,13,9,2,0,0,1,13,5,4,4,2,0,0,0,12,5,0,0,0,0,0,0,14,16,13,3,0,0,0,0,1,4,8,12,0,0,0,0,0,0,3,16,0,0,0,7,8,4,8,13,0,0,0,3,10,14,12,4,0,0,5 +0,0,11,16,16,10,1,0,0,8,16,10,8,10,6,0,0,14,7,0,0,0,0,0,0,9,14,0,0,0,0,0,0,2,15,10,0,0,0,0,0,0,2,15,12,0,0,0,0,3,11,10,16,1,0,0,0,1,11,16,16,2,0,0,5 +0,0,0,13,15,2,0,0,0,0,4,16,14,1,0,0,0,0,15,16,11,0,0,0,0,6,9,16,14,0,0,0,0,0,0,10,15,2,0,0,0,0,0,6,16,4,0,0,0,0,0,1,16,11,0,0,0,0,0,15,16,15,0,0,1 +0,0,11,14,4,0,0,0,0,3,13,2,12,0,0,0,0,4,12,2,8,0,0,0,0,0,12,12,6,0,0,0,0,0,8,16,10,1,0,0,0,2,15,1,5,10,8,0,0,0,10,0,0,2,12,0,0,0,9,11,12,14,4,0,8 +0,0,1,10,16,16,4,0,0,0,7,8,6,16,7,0,0,0,0,0,3,16,5,0,0,1,4,4,10,14,3,0,0,12,16,16,16,10,5,0,0,2,0,9,13,1,0,0,0,0,1,16,7,0,0,0,0,0,0,15,4,0,0,0,7 +0,0,0,10,16,16,16,9,0,0,0,2,5,10,16,12,0,0,0,0,0,6,16,2,0,0,0,0,0,14,10,0,0,1,8,14,16,16,5,0,0,5,10,8,16,10,1,0,0,0,0,5,14,1,0,0,0,0,0,13,9,0,0,0,7 +0,0,0,4,15,6,0,3,0,0,0,13,14,1,11,11,0,0,8,16,4,4,16,4,0,2,16,6,3,11,13,0,0,12,16,16,16,16,7,0,0,11,9,7,13,14,1,0,0,0,0,1,14,5,0,0,0,0,0,7,12,0,0,0,4 +0,1,10,16,16,16,16,5,0,1,16,13,6,1,1,0,0,4,16,15,10,3,0,0,0,1,8,11,16,16,2,0,0,0,1,0,1,14,7,0,0,7,9,0,0,12,8,0,0,5,16,3,0,15,5,0,0,0,9,16,16,13,2,0,5 +0,0,8,16,12,1,0,0,0,3,15,5,13,13,0,0,0,10,12,0,1,15,6,0,0,12,9,0,0,7,12,0,0,12,10,0,0,5,12,0,0,8,14,0,0,7,12,0,0,3,16,9,5,15,5,0,0,0,9,16,16,11,0,0,0 +0,0,6,16,16,10,0,0,0,1,15,11,6,15,3,0,0,7,16,2,0,11,9,0,0,12,14,0,0,9,11,0,0,8,16,0,0,8,12,0,0,4,16,5,0,9,11,0,0,1,14,13,6,16,3,0,0,0,5,15,16,6,0,0,0 +0,0,4,16,14,0,0,0,0,0,8,16,6,0,0,0,0,1,15,16,4,0,0,0,0,10,16,16,4,0,0,0,0,0,5,16,10,0,0,0,0,0,1,16,12,0,0,0,0,0,1,15,16,6,1,0,0,0,6,16,16,16,4,0,1 +0,0,1,11,16,16,15,1,0,0,6,9,8,14,14,0,0,0,0,0,0,12,10,0,0,0,1,4,6,16,4,0,0,0,10,16,16,15,7,0,0,0,3,5,16,6,0,0,0,0,0,9,15,0,0,0,0,0,1,15,4,0,0,0,7 +0,0,12,16,9,0,0,0,0,3,16,7,5,0,0,0,0,11,13,0,0,0,0,0,0,9,12,0,0,0,0,0,0,9,13,10,15,8,0,0,0,5,16,15,8,11,10,0,0,4,16,12,1,5,16,0,0,1,10,15,16,16,10,0,6 +0,0,4,13,15,2,0,0,0,2,16,11,10,8,1,0,0,8,15,1,0,13,10,0,0,8,15,9,13,16,9,0,0,0,10,16,12,16,4,0,0,0,0,0,4,16,4,0,0,0,0,2,5,16,7,0,0,0,4,16,16,16,5,0,9 +0,0,0,3,14,7,0,0,0,0,0,12,12,0,3,8,0,0,9,14,0,2,16,6,0,4,16,2,0,10,14,0,1,15,8,3,8,16,4,0,7,16,16,16,16,12,0,0,2,9,5,2,15,3,0,0,0,0,0,5,14,0,0,0,4 +0,0,13,15,4,0,0,0,0,8,15,8,10,0,0,0,0,11,12,0,0,0,0,0,0,12,7,0,4,1,0,0,0,11,10,11,16,14,3,0,0,4,16,16,6,7,14,0,0,1,16,14,1,1,14,3,0,0,10,13,16,15,15,0,6 +0,0,7,15,13,9,2,0,0,4,15,0,0,10,9,0,0,1,15,5,3,13,5,0,0,0,7,16,13,1,0,0,0,0,10,12,15,4,0,0,0,0,8,1,8,13,0,0,0,11,11,4,1,16,0,0,0,1,9,12,16,12,0,0,8 +0,0,7,13,14,2,0,0,0,5,12,0,4,7,0,0,0,8,8,0,0,16,3,0,0,5,11,0,1,16,1,0,0,0,10,13,14,15,5,0,0,0,0,0,0,10,8,0,0,0,0,0,0,11,6,0,0,0,6,13,12,9,0,0,9 +0,0,7,15,3,0,0,0,0,0,15,6,0,0,0,0,0,6,13,0,0,0,0,0,0,7,13,0,0,0,0,0,0,8,11,7,13,11,2,0,0,3,16,15,5,4,11,0,0,0,16,6,0,7,11,0,0,0,8,12,15,10,1,0,6 +0,2,12,16,16,3,0,0,0,11,10,5,16,4,0,0,0,0,0,11,13,0,0,0,0,0,1,15,9,0,0,0,0,0,0,4,16,5,0,0,0,0,0,0,6,15,3,0,0,0,3,1,0,11,11,0,0,1,16,16,16,16,9,0,3 +0,0,1,15,16,13,1,0,0,3,11,11,3,13,9,0,0,12,13,0,0,8,12,0,0,9,15,0,0,8,12,0,0,4,16,2,0,8,12,0,0,2,15,9,0,8,12,0,0,0,10,16,5,14,8,0,0,0,1,12,16,15,1,0,0 +0,0,6,12,12,2,0,0,0,4,14,0,9,6,0,0,0,5,13,0,12,3,0,0,0,0,7,14,12,0,0,0,0,0,1,12,13,10,0,0,0,0,10,3,1,12,6,0,0,7,10,0,0,11,8,0,0,1,10,13,12,9,1,0,8 +0,0,9,13,16,6,0,0,0,2,16,14,16,2,0,0,0,0,2,14,8,0,0,0,0,0,4,16,13,6,0,0,0,0,0,4,12,16,6,0,0,0,0,0,0,13,7,0,0,0,5,7,12,15,1,0,0,0,12,16,11,1,0,0,3 +0,1,12,16,3,0,0,0,0,5,14,14,4,0,0,0,0,9,7,7,8,0,0,0,0,6,2,8,8,0,0,0,0,0,0,10,5,0,0,0,0,0,0,14,2,0,0,0,0,0,9,16,11,8,5,0,0,2,14,11,12,16,9,0,2 +0,0,8,16,14,4,0,0,0,1,15,7,9,15,2,0,0,8,11,0,0,12,9,0,0,9,5,0,0,6,12,0,0,9,8,0,0,4,12,0,0,8,12,0,0,9,12,0,0,3,16,6,7,15,5,0,0,0,8,16,16,12,0,0,0 +0,0,5,14,9,0,0,0,0,1,14,4,9,0,0,0,0,0,16,0,6,4,0,0,0,0,13,3,13,2,0,0,0,0,1,13,13,0,0,0,0,0,4,14,9,13,3,0,0,0,13,3,0,3,15,0,0,0,5,12,12,15,4,0,8 +0,0,1,15,16,16,15,0,0,0,0,8,8,14,10,0,0,0,0,0,4,15,1,0,0,0,0,3,12,12,2,0,0,2,12,16,16,14,7,0,0,3,6,9,10,0,0,0,0,0,0,13,6,0,0,0,0,0,2,16,2,0,0,0,7 +0,2,15,9,0,0,0,0,0,8,13,15,0,0,0,0,0,10,4,14,3,0,0,0,0,11,2,12,4,0,0,0,0,1,0,12,4,0,0,0,0,0,2,16,0,0,0,0,0,0,11,14,6,6,5,0,0,2,16,16,16,16,9,0,2 +0,0,6,13,12,2,0,0,0,0,14,2,2,10,0,0,0,4,10,0,6,13,0,0,0,4,10,0,8,12,0,0,0,0,11,12,13,13,0,0,0,0,0,3,0,11,0,0,0,0,0,0,0,9,4,0,0,0,5,16,16,13,2,0,9 +0,0,8,12,12,0,0,0,0,5,14,2,9,8,0,0,0,4,14,1,11,4,0,0,0,0,7,14,12,1,0,0,0,0,11,11,12,4,0,0,0,3,14,0,2,12,5,0,0,4,12,0,0,1,12,0,0,0,9,11,12,12,4,0,8 +0,2,15,13,11,8,1,0,0,7,16,14,13,12,3,0,0,8,16,4,0,0,0,0,0,4,16,16,14,3,0,0,0,0,3,4,13,14,0,0,0,0,0,0,1,15,7,0,0,0,7,3,2,13,10,0,0,2,15,16,16,16,9,0,5 +0,0,8,16,9,0,0,0,0,2,15,9,15,3,0,0,0,6,14,0,11,11,0,0,0,7,15,10,16,14,0,0,0,2,13,11,5,16,3,0,0,0,0,0,0,13,6,0,0,0,0,1,4,14,4,0,0,0,10,16,13,5,0,0,9 +0,0,1,11,16,16,4,0,0,0,8,10,8,16,3,0,0,0,0,0,3,14,0,0,0,0,0,0,8,8,0,0,0,0,7,11,16,16,8,0,0,11,13,12,11,0,0,0,0,0,0,8,9,0,0,0,0,0,0,14,2,0,0,0,7 +0,0,8,12,16,15,8,0,0,3,15,3,0,0,0,0,0,4,12,0,0,0,0,0,0,4,14,12,12,3,0,0,0,0,7,5,5,14,2,0,0,3,2,0,0,11,4,0,0,2,11,0,0,13,2,0,0,0,11,13,12,5,0,0,5 +0,0,9,15,2,0,0,0,0,3,16,10,1,0,0,0,0,7,14,0,0,0,0,0,0,9,11,3,8,8,1,0,0,10,11,13,14,15,8,0,0,7,16,14,0,7,12,0,0,3,16,10,4,13,10,0,0,0,10,16,16,13,1,0,6 +0,0,0,8,16,6,0,0,0,0,5,15,16,1,0,0,0,5,16,16,13,0,0,0,0,4,9,16,14,0,0,0,0,0,0,16,14,0,0,0,0,0,0,12,15,0,0,0,0,0,0,10,16,5,0,0,0,0,0,6,16,15,1,0,1 +0,0,12,16,16,15,2,0,0,0,5,8,10,16,7,0,0,0,0,0,8,15,1,0,0,0,10,13,15,15,8,0,0,0,12,16,15,12,5,0,0,0,1,14,6,0,0,0,0,0,6,16,2,0,0,0,0,0,12,11,0,0,0,0,7 +0,0,9,14,8,0,0,0,0,7,12,6,15,3,0,0,0,3,1,0,12,8,0,0,0,0,0,7,15,11,0,0,0,0,0,10,11,15,5,0,0,0,0,0,0,9,8,0,0,0,4,7,4,14,5,0,0,0,8,14,16,14,1,0,3 +0,0,11,12,12,14,4,0,0,0,16,8,4,4,5,0,0,2,16,8,4,0,0,0,0,5,16,15,15,9,0,0,0,1,4,1,4,16,3,0,0,0,0,0,0,14,7,0,0,3,7,6,9,16,2,0,0,2,11,12,13,7,0,0,5 +0,3,13,12,12,13,2,0,0,3,16,8,5,7,3,0,0,3,14,2,3,0,0,0,0,4,16,15,16,9,0,0,0,0,4,0,2,15,2,0,0,0,0,0,0,12,5,0,0,1,6,4,6,15,5,0,0,3,13,16,16,10,0,0,5 +0,0,5,14,11,3,0,0,0,2,16,14,16,14,0,0,0,4,13,4,2,13,4,0,0,8,9,0,0,8,8,0,0,8,10,0,0,7,8,0,0,4,13,0,0,9,8,0,0,0,14,9,4,14,6,0,0,0,4,16,16,8,0,0,0 +0,0,0,3,15,1,0,0,0,0,0,7,14,0,0,0,0,0,0,12,10,0,0,0,0,0,3,15,3,0,0,0,0,0,11,14,8,6,0,0,0,5,16,11,16,11,0,0,1,13,16,16,16,16,4,0,0,4,4,7,16,5,0,0,4 +0,2,12,12,13,12,1,0,0,8,14,8,4,6,0,0,0,8,14,8,7,1,0,0,0,8,15,12,14,12,0,0,0,0,0,0,1,14,4,0,0,0,0,0,0,12,8,0,0,2,8,4,6,15,7,0,0,0,11,16,15,7,0,0,5 +0,1,12,12,1,0,0,0,0,4,14,12,10,0,0,0,0,7,11,4,12,0,0,0,0,2,12,7,12,0,0,0,0,0,0,8,12,0,0,0,0,0,1,14,9,0,0,0,0,0,13,16,16,15,6,0,0,0,9,12,12,12,7,0,2 +0,0,0,5,15,1,0,0,0,0,0,11,13,0,0,0,0,0,0,14,10,0,0,0,0,0,7,15,4,0,0,0,0,1,13,9,13,6,0,0,1,12,16,14,16,14,3,0,1,11,12,14,16,12,1,0,0,0,0,8,15,0,0,0,4 +0,0,0,13,5,0,0,0,0,0,8,15,3,0,0,0,0,0,12,8,0,0,0,0,0,3,16,13,12,5,0,0,0,5,16,12,12,15,5,0,0,4,12,0,0,8,12,0,0,1,13,10,5,12,14,0,0,0,2,11,14,12,2,0,6 +0,0,0,0,11,9,1,0,0,0,0,0,14,15,0,0,0,1,7,11,16,12,0,0,0,6,15,12,16,13,0,0,0,0,0,0,16,12,0,0,0,0,0,0,13,15,1,0,0,0,0,0,12,16,2,0,0,0,0,0,9,16,4,0,1 +0,0,0,9,6,0,0,0,0,0,3,15,5,0,0,0,0,0,14,9,0,0,0,0,0,2,16,6,8,2,0,0,0,5,16,16,12,15,4,0,0,3,16,5,0,5,12,0,0,0,8,14,3,3,16,0,0,0,0,9,16,16,10,0,6 +0,0,1,13,4,0,0,0,0,0,10,11,0,0,0,0,0,1,16,3,0,0,0,0,0,3,16,16,10,3,0,0,0,6,16,11,10,14,1,0,0,4,16,1,0,7,11,0,0,1,13,7,0,9,12,0,0,0,1,13,16,15,5,0,6 +0,1,8,15,13,1,0,0,0,6,14,9,16,4,0,0,0,3,6,1,14,4,0,0,0,0,4,14,16,3,0,0,0,0,9,12,14,16,1,0,0,0,0,0,0,16,8,0,0,3,12,11,10,16,7,0,0,1,10,14,15,10,0,0,3 +0,0,4,13,16,7,0,0,0,1,15,13,16,15,1,0,0,5,13,0,7,14,4,0,0,6,9,0,0,8,7,0,0,5,11,0,0,8,8,0,0,4,13,0,0,8,8,0,0,0,14,12,6,16,4,0,0,0,3,16,15,5,0,0,0 +0,0,7,15,11,0,0,0,0,5,14,4,12,14,3,0,0,8,11,0,0,16,4,0,0,2,15,9,11,16,4,0,0,0,5,10,8,12,8,0,0,0,0,0,0,9,8,0,0,0,12,7,4,15,7,0,0,0,7,16,15,8,0,0,9 +0,0,7,15,16,16,9,0,0,2,15,6,15,15,11,0,0,1,13,0,7,15,3,0,0,1,14,12,15,3,0,0,0,0,10,16,16,4,0,0,0,2,13,2,10,12,0,0,0,1,16,5,8,16,0,0,0,0,8,16,16,7,0,0,8 +0,0,7,15,12,1,0,0,0,3,15,5,10,11,0,0,0,0,8,0,4,16,0,0,0,0,0,5,13,9,0,0,0,0,0,8,13,13,1,0,0,0,0,0,1,14,6,0,0,5,15,3,0,15,8,0,0,0,9,16,16,14,3,0,3 +0,0,0,15,4,0,0,0,0,0,8,14,0,0,0,0,0,0,14,7,0,0,0,0,0,1,16,9,8,2,0,0,0,2,16,16,15,15,2,0,0,3,16,7,0,6,12,0,0,0,11,12,4,7,15,0,0,0,1,9,16,16,6,0,6 +0,0,11,16,16,12,5,0,0,1,16,10,8,8,5,0,0,2,16,10,7,1,0,0,0,3,16,13,14,12,1,0,0,0,5,0,2,15,5,0,0,0,0,0,0,13,7,0,0,0,6,5,10,16,2,0,0,0,12,14,12,6,0,0,5 +0,0,10,16,15,13,10,0,0,0,4,4,6,16,6,0,0,0,0,0,8,13,0,0,0,0,9,16,16,16,6,0,0,0,5,13,14,13,5,0,0,0,1,14,3,0,0,0,0,0,6,16,0,0,0,0,0,0,9,10,0,0,0,0,7 +0,3,16,15,4,0,0,0,0,8,13,12,12,0,0,0,0,9,8,8,12,0,0,0,0,1,5,5,16,0,0,0,0,0,0,11,12,0,0,0,0,0,1,16,8,0,0,0,0,3,14,16,13,15,12,0,0,3,16,16,16,16,15,0,2 +0,0,4,13,7,4,4,0,0,0,12,12,13,16,6,0,0,0,11,0,6,13,0,0,0,0,4,4,13,5,0,0,0,0,16,16,16,16,4,0,0,0,0,12,10,10,1,0,0,0,2,14,2,0,0,0,0,0,6,10,0,0,0,0,7 +0,0,6,15,11,3,0,0,0,1,14,16,16,14,0,0,0,4,16,1,9,16,2,0,0,6,16,0,0,13,7,0,0,5,13,0,0,12,8,0,0,4,16,1,0,14,8,0,0,0,14,10,10,15,1,0,0,0,4,13,16,8,0,0,0 +0,0,2,13,6,0,0,0,0,0,11,11,3,0,0,0,0,1,16,3,0,0,0,0,0,3,16,11,5,0,0,0,0,3,16,15,4,6,3,0,0,2,16,4,0,7,10,0,0,0,13,8,0,8,13,0,0,0,3,12,16,16,6,0,6 +0,0,6,12,13,4,0,0,0,1,16,5,8,15,3,0,0,4,13,0,0,16,5,0,0,2,15,9,11,16,7,0,0,0,1,8,8,14,8,0,0,3,5,0,0,11,8,0,0,2,16,9,6,15,7,0,0,0,3,14,15,6,0,0,9 +0,0,0,1,16,8,0,0,0,0,0,5,16,8,0,0,0,0,5,12,16,4,0,0,0,8,16,16,16,3,0,0,0,0,0,9,16,5,0,0,0,0,0,11,16,6,0,0,0,0,0,6,16,12,0,0,0,0,0,2,16,14,1,0,1 +0,0,12,13,14,5,0,0,0,0,16,9,8,6,0,0,0,3,16,2,3,0,0,0,0,5,16,16,16,8,0,0,0,0,2,0,4,16,3,0,0,0,0,0,0,15,8,0,0,0,3,0,4,16,7,0,0,0,11,16,16,13,1,0,5 +0,0,6,13,13,12,2,0,0,4,15,5,6,11,8,0,0,8,11,0,0,10,6,0,0,3,14,13,13,13,1,0,0,0,8,16,14,9,0,0,0,0,16,4,1,15,0,0,0,0,15,5,6,16,0,0,0,0,5,15,16,9,0,0,8 +0,0,5,15,13,3,0,0,0,0,15,7,10,15,1,0,0,0,16,4,2,15,8,0,0,1,10,16,16,16,4,0,0,0,0,0,0,12,7,0,0,5,2,0,3,16,5,0,0,7,14,8,14,14,1,0,0,1,8,16,11,1,0,0,9 +0,0,8,13,4,0,0,0,0,2,16,11,15,1,0,0,0,0,12,0,11,5,0,0,0,0,4,2,9,9,0,0,0,0,0,0,12,11,0,0,0,0,0,6,15,4,0,0,0,0,6,16,13,5,8,0,0,0,7,16,16,16,16,5,2 +0,0,3,14,12,11,11,0,0,0,7,10,7,13,11,0,0,0,15,3,4,14,0,0,0,0,4,0,10,7,0,0,0,0,11,15,16,16,3,0,0,0,3,10,11,4,0,0,0,0,0,14,5,0,0,0,0,0,3,16,0,0,0,0,7 +0,0,0,8,10,0,0,0,0,0,0,15,7,0,0,0,0,0,6,15,1,0,0,0,0,1,14,7,4,2,0,0,0,6,14,4,15,2,0,0,0,14,15,13,16,12,3,0,0,15,12,15,15,11,1,0,0,0,0,13,8,0,0,0,4 +0,0,0,0,8,13,0,0,0,0,0,0,16,16,0,0,0,0,0,1,16,14,0,0,0,4,12,15,16,12,0,0,0,0,3,4,16,14,0,0,0,0,0,0,15,16,0,0,0,0,0,0,12,16,2,0,0,0,0,0,11,16,4,0,1 +0,1,9,13,14,13,8,0,0,4,14,4,4,4,2,0,0,4,12,0,0,0,0,0,0,5,15,16,16,6,0,0,0,0,4,0,4,16,3,0,0,0,0,0,0,13,7,0,0,0,3,2,5,16,6,0,0,0,10,16,15,8,1,0,5 +0,0,0,1,11,10,0,0,0,0,0,6,16,15,0,0,0,4,13,16,16,11,0,0,0,3,8,10,16,10,0,0,0,0,0,4,16,12,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,16,5,0,0,0,0,0,12,13,6,0,1 +0,0,7,14,9,3,0,0,0,0,15,7,15,15,1,0,0,4,12,0,3,13,6,0,0,4,12,0,0,8,8,0,0,5,8,0,0,5,8,0,0,4,12,0,0,8,7,0,0,2,15,6,6,15,2,0,0,0,6,15,16,8,0,0,0 +0,0,7,12,14,16,8,0,0,0,16,11,8,8,4,0,0,0,16,1,5,3,0,0,0,5,16,16,16,13,1,0,0,2,9,4,2,14,6,0,0,0,0,0,0,15,5,0,0,0,2,8,10,16,4,0,0,0,6,15,12,6,0,0,5 +0,0,4,13,0,0,0,0,0,0,11,9,0,0,0,0,0,3,16,0,0,0,0,0,0,4,16,13,14,6,0,0,0,8,16,10,7,16,3,0,0,4,15,0,0,8,10,0,0,0,15,8,1,9,12,0,0,0,4,13,16,14,3,0,6 +0,0,12,14,16,12,0,0,0,1,15,9,5,9,0,0,0,4,16,12,12,5,0,0,0,0,5,5,7,16,3,0,0,0,0,0,0,12,8,0,0,0,0,0,0,9,11,0,0,0,11,6,5,14,12,0,0,0,9,16,16,14,3,0,5 +0,0,4,13,13,13,3,0,0,3,16,9,12,16,8,0,0,7,14,0,4,16,5,0,0,2,15,13,15,11,0,0,0,0,10,16,16,10,0,0,0,1,16,5,3,16,4,0,0,0,15,10,5,16,7,0,0,0,5,16,16,9,0,0,8 +0,0,2,12,1,0,0,0,0,0,11,12,0,0,0,0,0,0,16,5,0,0,0,0,0,2,16,5,4,1,0,0,0,2,16,16,16,13,2,0,0,1,15,8,0,7,12,0,0,0,8,9,2,5,15,0,0,0,0,11,16,14,8,0,6 +0,0,5,12,12,3,0,0,0,1,16,8,13,14,3,0,0,2,16,1,3,16,9,0,0,2,14,11,14,16,6,0,0,0,2,7,5,16,8,0,0,2,3,0,1,15,5,0,0,5,16,5,8,15,2,0,0,0,10,16,13,4,0,0,9 +0,0,6,14,15,12,11,0,0,2,15,5,4,4,3,0,0,2,16,11,12,7,0,0,0,5,11,6,6,16,3,0,0,0,0,0,0,13,7,0,0,0,0,0,2,16,3,0,0,4,15,5,12,15,0,0,0,0,9,15,11,1,0,0,5 +0,0,0,14,3,0,0,0,0,0,7,15,3,0,0,0,0,0,15,7,0,0,0,0,0,2,16,9,7,2,0,0,0,2,16,13,12,14,5,0,0,0,15,3,0,3,13,0,0,0,11,10,3,4,15,2,0,0,0,9,16,16,13,1,6 +0,0,9,13,14,1,0,0,0,2,16,4,16,13,0,0,0,3,16,1,11,14,0,0,0,0,10,16,16,4,0,0,0,1,13,13,15,13,1,0,0,5,13,1,4,16,5,0,0,8,12,2,5,16,4,0,0,1,8,16,16,11,1,0,8 +0,0,0,0,12,11,0,0,0,0,0,1,16,9,0,0,0,5,12,13,16,7,0,0,0,2,8,10,16,8,0,0,0,0,0,0,16,9,0,0,0,0,0,0,12,11,0,0,0,0,0,0,11,16,3,0,0,0,0,0,13,16,4,0,1 +0,0,14,16,16,16,9,0,0,0,6,8,10,16,6,0,0,0,0,0,9,14,2,0,0,0,13,14,16,14,4,0,0,0,8,16,16,16,11,0,0,0,3,16,4,3,1,0,0,0,11,12,0,0,0,0,0,0,16,8,0,0,0,0,7 +0,0,6,14,9,1,0,0,0,0,14,9,13,12,0,0,0,2,13,0,2,15,2,0,0,5,8,0,0,8,4,0,0,8,8,0,0,5,8,0,0,6,11,0,0,6,5,0,0,0,15,7,4,13,3,0,0,0,5,12,16,11,0,0,0 +0,0,3,11,16,13,2,0,0,0,14,8,8,15,8,0,0,0,15,11,5,13,12,0,0,0,6,16,16,13,0,0,0,0,13,12,12,15,1,0,0,3,12,0,0,16,5,0,0,1,15,6,7,16,4,0,0,0,6,12,14,7,0,0,8 +0,0,0,0,14,12,0,0,0,0,0,0,16,16,0,0,0,1,6,12,16,16,0,0,0,6,12,10,16,14,0,0,0,0,0,0,16,16,0,0,0,0,0,0,16,15,0,0,0,0,0,2,16,16,7,0,0,0,0,1,13,16,4,0,1 +0,0,0,12,3,0,0,0,0,0,10,14,1,0,0,0,0,0,14,9,1,0,0,0,0,1,16,16,15,6,0,0,0,3,16,10,5,14,6,0,0,2,16,1,0,5,12,0,0,0,12,9,4,7,15,0,0,0,1,10,16,16,7,0,6 +0,1,7,12,12,0,0,0,0,3,12,4,15,3,0,0,0,0,0,1,15,3,0,0,0,0,5,15,13,2,0,0,0,0,1,4,8,15,2,0,0,0,0,0,0,16,5,0,0,3,11,4,5,16,3,0,0,0,10,16,13,7,0,0,3 +0,1,10,16,13,2,0,0,0,6,14,9,16,6,0,0,0,0,1,0,13,11,0,0,0,0,1,13,16,11,1,0,0,0,2,12,11,16,8,0,0,0,5,0,0,15,9,0,0,3,16,12,8,16,7,0,0,0,10,16,16,11,1,0,3 +0,0,13,16,7,0,0,0,0,0,16,13,16,2,0,0,0,0,11,8,13,8,0,0,0,0,1,1,16,8,0,0,0,0,0,3,16,6,0,0,0,0,0,10,15,2,0,0,0,0,12,16,15,9,9,0,0,0,15,16,16,16,16,5,2 +0,0,10,16,16,16,16,4,0,0,4,8,8,14,14,1,0,0,0,0,6,15,4,0,0,0,4,12,15,14,4,0,0,0,11,16,16,16,9,0,0,0,0,14,10,3,0,0,0,0,6,16,5,0,0,0,0,0,12,12,0,0,0,0,7 +0,0,0,1,12,16,2,0,0,0,0,0,16,16,1,0,0,6,12,13,16,16,0,0,0,8,16,15,16,16,0,0,0,0,0,0,16,16,0,0,0,0,0,0,16,16,3,0,0,0,0,0,12,16,7,0,0,0,0,0,14,16,6,0,1 +0,0,5,11,14,7,0,0,0,4,16,6,9,15,1,0,0,7,12,0,1,16,4,0,0,2,16,9,11,16,6,0,0,0,2,5,4,12,8,0,0,0,0,0,0,10,8,0,0,3,15,7,3,14,8,0,0,0,5,14,16,11,2,0,9 +0,1,14,15,4,0,0,0,0,6,15,12,14,0,0,0,0,4,16,4,16,4,0,0,0,0,6,4,16,3,0,0,0,0,0,9,15,0,0,0,0,0,1,14,11,0,0,0,0,0,13,16,10,8,9,1,0,2,14,16,16,16,16,6,2 +0,0,8,12,7,0,0,0,0,0,14,8,15,14,0,0,0,3,14,0,6,15,2,0,0,5,11,0,0,9,8,0,0,8,8,0,0,5,8,0,0,5,11,0,0,8,8,0,0,1,15,2,2,14,5,0,0,0,6,15,16,12,1,0,0 +0,0,0,3,10,0,0,0,0,0,0,9,8,0,0,0,0,0,4,15,0,0,0,0,0,0,9,9,1,0,0,0,0,3,16,2,10,6,0,0,0,13,16,6,14,12,0,0,0,15,16,16,16,13,0,0,0,0,0,4,13,3,0,0,4 +0,0,1,11,4,0,0,0,0,0,5,14,1,0,0,0,0,0,12,7,0,0,0,0,0,1,15,0,4,1,0,0,0,4,15,14,16,14,1,0,0,2,14,5,1,6,11,0,0,1,13,7,0,1,14,0,0,0,3,10,15,16,10,0,6 +0,2,12,16,14,1,0,0,0,12,12,8,16,7,0,0,0,2,1,1,16,8,0,0,0,0,2,14,16,10,0,0,0,0,1,11,12,16,7,0,0,0,0,0,0,15,12,0,0,3,13,6,4,16,11,0,0,1,14,16,16,12,3,0,3 +0,0,8,12,15,12,0,0,0,8,15,7,4,4,0,0,0,6,14,4,3,0,0,0,0,7,16,13,16,8,0,0,0,1,4,0,5,16,5,0,0,0,0,0,0,15,9,0,0,1,7,4,6,15,8,0,0,0,10,15,16,9,0,0,5 +0,0,11,15,7,0,0,0,0,2,16,10,16,14,4,0,0,5,13,0,6,16,6,0,0,4,16,9,10,16,8,0,0,0,7,12,11,14,8,0,0,0,0,0,0,12,8,0,0,1,12,10,10,15,6,0,0,1,10,12,14,10,1,0,9 +0,0,9,16,16,3,0,0,0,5,16,10,14,7,0,0,0,1,10,0,14,10,0,0,0,0,2,15,16,9,0,0,0,0,1,8,11,16,6,0,0,0,0,0,3,16,8,0,0,1,16,11,11,16,4,0,0,0,11,16,16,11,0,0,3 +0,0,3,16,7,0,0,0,0,0,0,13,13,0,0,0,0,0,2,15,11,0,0,0,0,8,16,16,16,12,3,0,0,6,12,15,16,16,12,0,0,0,0,8,16,7,1,0,0,0,0,10,15,2,0,0,0,0,2,16,13,0,0,0,4 +0,1,10,16,16,9,0,0,0,11,15,8,15,12,0,0,0,3,2,2,16,9,0,0,0,0,0,7,16,4,0,0,0,0,0,2,15,11,0,0,0,0,0,0,5,16,6,0,0,0,3,7,6,15,12,0,0,0,12,16,16,14,5,0,3 +0,0,0,7,14,6,0,0,0,0,1,15,11,2,0,0,0,0,8,13,0,0,0,0,0,1,14,13,8,1,0,0,0,3,16,14,12,10,0,0,0,0,15,2,0,7,9,0,0,0,11,13,7,4,15,0,0,0,0,7,12,12,13,2,6 +0,1,10,14,7,0,0,0,0,7,12,5,15,0,0,0,0,4,7,5,15,1,0,0,0,0,2,15,9,0,0,0,0,0,0,9,16,4,0,0,0,0,0,0,4,14,4,0,0,0,10,3,3,10,12,0,0,0,11,16,16,14,4,0,3 +0,0,7,15,10,1,0,0,0,1,16,10,14,7,0,0,0,0,11,2,0,15,0,0,0,0,0,0,0,15,3,0,0,0,0,0,5,16,0,0,0,0,0,3,15,9,0,0,0,0,9,16,16,10,6,0,0,0,9,12,12,12,13,1,2 +0,0,6,14,15,3,0,0,0,0,8,15,12,2,0,0,0,0,8,14,12,11,1,0,0,0,0,0,0,9,6,0,0,0,0,0,0,3,9,0,0,0,3,1,0,1,12,0,0,0,13,8,4,9,11,0,0,0,5,13,16,13,7,0,5 +0,0,9,13,6,0,0,0,0,0,15,16,15,5,0,0,0,4,13,1,3,14,0,0,0,5,11,0,0,10,7,0,0,8,8,0,0,8,6,0,0,4,12,0,0,7,7,0,0,2,13,4,7,16,0,0,0,0,8,16,13,8,0,0,0 +0,0,0,6,16,3,0,0,0,0,5,16,8,1,0,0,0,0,10,14,0,0,0,0,0,0,14,15,8,3,0,0,0,0,14,15,12,15,4,0,0,0,16,6,0,6,11,0,0,0,9,13,5,6,15,0,0,0,1,8,12,15,13,1,6 +0,1,15,10,0,0,0,0,0,9,13,12,9,0,0,0,0,10,8,8,16,10,0,0,0,3,14,16,16,12,0,0,0,0,0,0,6,14,0,0,0,0,0,0,2,14,3,0,0,3,11,5,2,8,12,0,0,1,8,13,16,16,11,0,9 +0,0,7,10,2,0,0,0,0,3,16,16,16,10,0,0,0,5,16,12,11,16,2,0,0,6,12,0,0,9,8,0,0,4,12,0,0,8,8,0,0,4,16,0,0,8,8,0,0,1,16,10,11,15,6,0,0,0,7,16,13,5,0,0,0 +0,0,4,15,10,0,0,0,0,0,14,8,16,7,0,0,0,0,15,0,13,10,0,0,0,1,15,16,16,9,0,0,0,0,0,0,5,12,0,0,0,2,1,0,3,15,0,0,0,8,14,6,4,14,1,0,0,0,6,13,16,15,0,0,9 +0,0,7,14,5,0,0,0,0,3,16,16,16,5,0,0,0,6,16,0,5,14,0,0,0,4,12,0,0,13,3,0,0,8,8,0,0,12,8,0,0,7,9,0,0,12,7,0,0,1,15,8,14,16,3,0,0,0,8,14,12,4,0,0,0 +0,0,14,16,8,3,0,0,0,5,15,8,16,16,3,0,0,9,11,1,12,15,2,0,0,1,13,16,15,3,0,0,0,0,11,14,15,3,0,0,0,1,16,4,4,14,5,0,0,4,14,5,4,11,12,0,0,0,9,12,13,12,8,0,8 +0,0,1,11,13,2,0,0,0,0,9,14,13,3,0,0,0,1,15,12,0,0,0,0,0,3,15,9,2,0,0,0,0,2,16,16,16,11,0,0,0,0,13,7,4,14,7,0,0,0,9,11,9,16,6,0,0,0,1,12,16,7,0,0,6 +0,0,0,10,14,1,0,0,0,0,8,16,10,1,0,0,0,2,16,9,0,0,0,0,0,7,16,7,4,1,0,0,0,5,16,15,12,13,0,0,0,0,15,6,0,4,11,0,0,0,5,13,2,9,13,0,0,0,0,6,15,16,6,0,6 +0,1,9,16,10,0,0,0,0,6,12,4,15,2,0,0,0,0,0,0,13,3,0,0,0,0,0,10,16,1,0,0,0,0,0,6,13,11,0,0,0,0,0,0,0,14,4,0,0,3,10,1,0,10,8,0,0,0,10,16,16,15,3,0,3 +0,0,6,15,2,0,0,0,0,0,3,16,8,0,0,0,0,0,4,16,10,0,0,0,0,0,7,16,13,0,0,0,0,0,0,9,16,2,0,0,0,0,0,1,16,7,0,0,0,0,2,10,15,15,15,6,0,0,4,16,16,16,16,13,1 +0,0,3,12,11,1,0,0,0,0,9,13,10,10,0,0,0,0,5,13,11,13,0,0,0,0,0,7,12,14,5,0,0,0,0,0,0,6,10,0,0,0,0,0,0,1,15,0,0,0,8,8,4,4,13,5,0,0,3,10,16,16,16,5,9 +0,0,14,12,0,0,0,0,0,3,13,16,0,0,0,0,0,12,16,16,4,0,0,0,0,5,10,16,6,0,0,0,0,0,1,15,9,0,0,0,0,0,0,12,15,0,0,0,0,0,7,13,16,9,8,0,0,0,13,16,16,16,16,3,1 +0,0,0,0,11,15,0,0,0,0,0,2,15,11,0,0,0,0,0,9,16,4,0,0,0,0,8,16,8,7,3,0,0,9,16,16,12,16,11,0,0,4,11,12,14,16,5,0,0,0,0,0,9,16,4,0,0,0,0,0,12,15,2,0,4 +0,0,12,16,12,0,0,0,0,4,16,12,16,6,0,0,0,1,8,0,12,8,0,0,0,0,0,0,15,5,0,0,0,0,0,3,16,3,0,0,0,0,8,16,8,0,0,0,0,3,16,16,16,13,2,0,0,1,8,9,14,16,4,0,2 +0,0,10,16,7,0,0,0,0,1,16,16,15,3,0,0,0,4,16,16,16,13,0,0,0,4,16,10,11,14,2,0,0,6,16,0,0,12,4,0,0,5,15,0,0,10,7,0,0,4,16,8,11,16,0,0,0,1,10,15,13,4,0,0,0 +0,0,10,16,11,8,3,0,0,0,6,12,13,16,7,0,0,0,0,0,5,15,1,0,0,0,4,6,13,8,0,0,0,0,15,16,16,16,4,0,0,0,1,14,11,13,4,0,0,0,4,16,1,0,0,0,0,0,12,10,0,0,0,0,7 +0,0,0,3,12,5,0,0,0,0,8,16,12,4,0,0,0,2,16,8,0,0,0,0,0,6,16,14,9,2,0,0,0,4,16,11,10,15,3,0,0,0,14,3,0,6,10,0,0,0,5,15,5,12,9,0,0,0,0,5,15,11,2,0,6 +0,0,11,15,4,0,0,0,0,0,7,16,16,16,11,0,0,0,0,1,7,16,11,0,0,2,4,2,15,12,1,0,0,13,16,16,16,12,3,0,0,2,6,16,11,14,4,0,0,0,7,16,4,0,0,0,0,0,14,14,1,0,0,0,7 +0,1,14,12,1,0,0,0,0,7,16,16,13,0,0,0,0,6,14,3,16,2,0,0,0,2,12,0,14,6,0,0,0,0,0,0,15,8,0,0,0,0,0,8,16,4,0,0,0,2,12,16,16,12,10,0,0,0,15,16,16,16,16,6,2 +0,0,7,14,12,0,0,0,0,5,16,16,16,6,0,0,0,8,16,8,5,15,3,0,0,8,12,0,0,10,7,0,0,8,11,0,0,12,5,0,0,4,13,0,0,12,5,0,0,0,16,12,9,16,3,0,0,0,8,14,12,7,0,0,0 +0,0,9,9,0,0,0,0,0,0,7,16,2,0,0,0,0,0,8,16,3,0,0,0,0,0,6,16,9,0,0,0,0,0,0,6,14,0,0,0,0,0,0,1,15,4,0,0,0,0,6,12,15,14,9,5,0,0,7,16,16,16,16,14,1 +0,4,16,13,0,0,0,0,0,12,11,15,4,0,0,0,0,12,6,10,10,0,0,0,0,1,1,8,10,0,0,0,0,0,0,15,7,0,0,0,0,0,4,16,1,0,0,0,0,0,13,16,12,12,8,0,0,2,16,16,16,16,16,0,2 +0,0,11,8,0,0,0,0,0,0,9,15,0,0,0,0,0,12,15,16,6,0,0,0,0,8,15,16,9,0,0,0,0,0,1,13,13,0,0,0,0,0,0,6,16,2,0,0,0,0,8,13,16,13,12,5,0,0,11,16,16,16,16,11,1 +0,0,5,13,5,0,0,0,0,4,16,11,12,11,2,0,0,7,8,0,12,16,6,0,0,3,15,14,16,12,1,0,0,0,9,14,14,10,0,0,0,0,11,1,2,13,5,0,0,0,9,7,4,8,12,0,0,0,5,14,15,13,7,0,8 +0,0,0,1,11,14,0,0,0,0,0,2,16,10,0,0,0,0,0,11,16,4,0,0,0,0,12,15,3,5,1,0,0,7,16,13,9,16,10,0,0,5,16,16,16,16,5,0,0,0,0,0,12,13,0,0,0,0,0,0,13,13,1,0,4 +0,0,0,0,11,13,0,0,0,0,0,2,16,10,0,0,0,0,0,13,15,2,0,0,0,0,11,15,8,11,4,0,0,9,16,15,14,16,11,0,0,2,7,11,13,16,4,0,0,0,0,0,8,16,3,0,0,0,0,0,15,16,2,0,4 +0,0,0,1,15,8,0,0,0,0,0,2,16,9,0,0,0,0,0,7,16,4,0,0,0,1,7,16,15,15,2,0,0,11,16,16,13,16,5,0,0,7,12,12,14,16,5,0,0,0,0,0,13,15,0,0,0,0,0,4,16,10,0,0,4 +0,0,6,12,12,1,0,0,0,4,16,8,13,7,0,0,0,5,10,0,11,8,0,0,0,0,0,0,14,3,0,0,0,0,0,0,13,8,0,0,0,0,0,0,3,14,2,0,0,0,7,9,4,11,7,0,0,0,7,12,12,13,5,0,3 +0,0,5,14,15,2,0,0,0,4,15,7,11,8,0,0,0,4,6,1,15,5,0,0,0,0,0,4,15,4,0,0,0,0,0,0,7,15,1,0,0,0,0,0,0,9,7,0,0,3,12,5,4,12,7,0,0,0,6,13,16,9,1,0,3 +0,0,10,13,16,5,0,0,0,0,15,15,10,12,0,0,0,3,14,1,0,14,2,0,0,6,12,0,0,9,7,0,0,4,12,0,0,4,8,0,0,0,12,0,0,11,6,0,0,0,16,10,14,16,2,0,0,0,8,13,10,1,0,0,0 +0,0,4,15,8,0,0,0,0,0,12,16,15,3,0,0,0,1,16,11,7,14,2,0,0,4,14,0,0,12,8,0,0,4,12,0,0,14,5,0,0,4,14,1,0,15,5,0,0,0,13,9,9,16,6,0,0,0,7,16,12,5,0,0,0 +0,0,10,9,0,0,0,0,0,0,7,16,2,0,0,0,0,11,14,16,3,0,0,0,0,5,15,16,5,0,0,0,0,0,1,10,10,0,0,0,0,0,0,5,15,0,0,0,0,0,5,12,16,14,12,4,0,0,8,16,16,16,16,13,1 +0,0,4,15,11,1,0,0,0,0,9,13,10,11,0,0,0,0,7,11,3,16,1,0,0,0,1,14,16,16,5,0,0,0,0,0,2,11,6,0,0,0,0,0,0,6,10,0,0,0,8,5,4,8,13,0,0,0,4,12,15,16,8,0,9 +0,0,4,16,16,16,12,0,0,0,1,7,8,13,15,0,0,0,0,0,0,14,10,0,0,0,2,8,11,15,1,0,0,0,4,14,16,16,4,0,0,0,0,8,15,13,4,0,0,0,0,14,10,0,0,0,0,0,6,16,4,0,0,0,7 +0,0,7,13,12,3,0,0,0,2,14,8,14,8,0,0,0,2,15,4,14,8,0,0,0,0,8,12,12,8,0,0,0,0,0,0,4,12,0,0,0,0,0,0,1,15,0,0,0,0,10,10,1,16,3,0,0,0,5,13,16,12,0,0,9 +0,1,6,13,16,5,0,0,0,6,16,9,15,4,0,0,0,4,9,5,16,2,0,0,0,0,0,8,13,0,0,0,0,0,0,3,15,7,0,0,0,0,0,0,6,15,0,0,0,0,4,6,4,14,6,0,0,0,10,16,16,16,5,0,3 +0,0,10,16,16,15,2,0,0,0,5,8,8,16,6,0,0,0,0,0,4,16,3,0,0,0,6,8,12,11,0,0,0,1,16,16,16,15,1,0,0,0,1,13,10,11,3,0,0,0,8,14,0,0,0,0,0,0,13,6,0,0,0,0,7 +0,3,14,16,4,0,0,0,0,8,10,11,11,0,0,0,0,5,9,0,13,2,0,0,0,0,0,0,12,4,0,0,0,0,0,2,15,1,0,0,0,0,0,14,11,0,0,0,0,1,13,16,14,12,6,0,0,2,12,12,12,12,11,0,2 +0,0,7,14,1,0,0,0,0,0,6,16,8,0,0,0,0,8,16,16,10,0,0,0,0,0,11,13,16,1,0,0,0,0,0,3,16,6,0,0,0,0,0,1,13,12,0,0,0,0,10,16,16,16,12,7,0,0,5,15,16,16,16,15,1 +0,0,5,15,10,10,4,0,0,0,12,12,15,14,8,0,0,0,11,7,1,15,5,0,0,0,6,15,8,14,0,0,0,0,4,14,16,2,0,0,0,3,16,11,12,5,0,0,0,7,14,7,6,14,0,0,0,0,7,13,16,14,0,0,8 +0,0,5,16,11,3,0,0,0,0,14,15,10,15,2,0,0,5,13,6,0,11,8,0,0,8,8,0,0,5,8,0,0,8,7,0,0,8,5,0,0,4,10,0,1,13,1,0,0,0,14,9,13,10,0,0,0,0,5,13,9,1,0,0,0 +0,1,14,14,2,0,0,0,0,7,16,16,8,0,0,0,0,11,11,10,14,0,0,0,0,0,0,8,16,0,0,0,0,0,0,10,13,0,0,0,0,0,5,16,12,0,0,0,0,4,16,16,16,16,6,0,0,1,8,6,8,15,11,0,2 +0,0,0,8,11,0,0,0,0,0,3,16,12,0,0,0,0,0,11,15,1,0,0,0,0,1,15,12,5,0,0,0,0,2,16,16,13,12,1,0,0,0,14,9,1,4,13,0,0,0,5,14,3,0,11,6,0,0,0,5,15,16,16,7,6 +0,0,11,11,0,0,0,0,0,0,12,14,0,0,0,0,0,13,16,15,0,0,0,0,0,6,11,16,3,0,0,0,0,0,1,16,4,0,0,0,0,0,0,11,9,0,0,0,0,0,10,15,15,12,7,0,0,0,11,16,16,16,16,4,1 +0,0,0,11,11,0,0,0,0,0,2,16,13,0,0,0,0,0,6,16,5,0,0,0,0,0,11,16,5,0,0,0,0,0,13,16,14,12,1,0,0,0,11,14,2,8,14,0,0,0,6,16,5,12,15,1,0,0,0,8,15,13,6,0,6 +0,0,8,16,7,0,0,0,0,0,11,14,16,4,0,0,0,0,0,1,14,3,0,0,0,0,8,14,16,6,0,0,0,0,6,16,16,16,7,0,0,0,0,12,9,13,5,0,0,0,4,14,2,0,0,0,0,0,9,10,0,0,0,0,7 +0,0,4,14,3,0,0,0,0,0,9,16,16,4,0,0,0,0,14,16,16,14,0,0,0,2,16,6,1,16,4,0,0,5,15,0,0,12,4,0,0,5,13,0,0,12,8,0,0,0,16,10,9,16,7,0,0,0,6,16,15,8,0,0,0 +0,0,11,14,5,0,0,0,0,5,13,4,16,6,0,0,0,3,14,11,15,8,0,0,0,0,2,6,6,13,0,0,0,0,0,0,0,14,2,0,0,0,0,0,0,5,10,0,0,1,4,0,0,7,12,0,0,1,9,15,16,15,4,0,9 +0,0,2,13,10,1,0,0,0,0,8,16,16,14,1,0,0,0,11,8,3,15,1,0,0,0,6,12,9,11,0,0,0,0,9,16,16,2,0,0,0,1,16,7,9,10,0,0,0,2,14,5,4,16,3,0,0,0,4,11,14,13,5,0,8 +0,2,15,10,1,0,0,0,0,8,15,16,9,0,0,0,0,8,10,11,12,0,0,0,0,1,5,7,16,0,0,0,0,0,0,10,13,0,0,0,0,0,2,15,10,0,0,0,0,5,16,16,16,12,8,0,0,3,12,12,11,14,16,1,2 +0,0,3,14,11,1,0,0,0,1,15,10,16,5,0,0,0,2,10,2,16,3,0,0,0,0,0,1,16,6,0,0,0,0,0,0,9,15,3,0,0,0,6,0,0,10,9,0,0,2,16,7,4,13,10,0,0,0,5,11,14,11,1,0,3 +0,0,7,13,9,0,0,0,0,0,13,11,13,11,0,0,0,0,14,8,12,16,2,0,0,0,5,13,13,15,3,0,0,0,0,0,0,11,7,0,0,0,0,0,0,3,13,0,0,0,12,9,4,4,16,0,0,0,7,16,16,16,12,0,9 +0,0,14,14,11,2,0,0,0,1,16,16,16,15,0,0,0,4,16,9,7,14,6,0,0,8,15,0,0,8,8,0,0,8,11,0,0,8,8,0,0,8,12,0,0,12,5,0,0,4,16,10,14,13,0,0,0,0,9,16,15,3,0,0,0 +0,0,2,15,3,0,0,0,0,0,2,14,10,0,0,0,0,0,15,16,14,0,0,0,0,0,6,12,16,0,0,0,0,0,0,1,16,2,0,0,0,0,0,0,13,6,0,0,0,0,8,14,14,14,8,3,0,0,2,11,12,12,13,9,1 +0,1,12,10,2,0,0,0,0,5,14,13,12,0,0,0,0,4,8,3,16,0,0,0,0,0,1,0,15,0,0,0,0,0,0,5,12,0,0,0,0,0,4,15,6,0,0,0,0,4,16,16,15,10,3,0,0,2,11,7,8,11,9,0,2 +0,0,5,14,15,2,0,0,0,0,11,16,12,1,0,0,0,0,7,16,13,2,0,0,0,0,1,11,14,15,2,0,0,0,0,0,0,10,10,0,0,1,8,1,0,2,15,1,0,2,13,10,5,7,16,2,0,0,4,13,16,16,14,0,5 +0,0,10,15,8,2,0,0,0,0,5,13,16,15,1,0,0,0,0,0,4,16,4,0,0,0,1,4,7,16,3,0,0,0,9,16,16,16,1,0,0,0,1,12,15,12,4,0,0,0,3,16,5,0,0,0,0,0,14,14,0,0,0,0,7 +0,0,0,8,13,0,0,0,0,0,6,15,8,0,0,0,0,2,16,10,0,0,0,0,0,2,16,13,10,1,0,0,0,2,16,11,9,13,1,0,0,0,10,6,0,5,13,0,0,0,4,15,1,9,16,2,0,0,0,7,15,16,7,0,6 +0,0,11,8,0,0,0,0,0,0,12,15,1,0,0,0,0,0,13,16,5,0,0,0,0,0,12,16,6,0,0,0,0,0,2,15,7,0,0,0,0,0,0,10,14,1,0,0,0,0,16,16,16,16,11,3,0,0,11,16,16,16,16,11,1 +0,0,1,14,9,0,0,0,0,0,5,15,13,6,0,0,0,0,9,12,4,12,0,0,0,0,6,15,10,16,4,0,0,0,0,10,16,16,10,0,0,0,0,0,0,2,16,0,0,0,1,4,4,6,15,4,0,0,1,13,15,14,11,0,9 +0,0,6,15,16,7,0,0,0,10,16,9,14,11,0,0,0,5,3,1,14,10,0,0,0,0,0,9,16,5,0,0,0,0,0,8,16,16,4,0,0,0,1,0,1,12,8,0,0,3,13,5,4,13,11,0,0,0,8,16,16,12,2,0,3 +0,0,1,13,15,3,0,0,0,6,16,16,16,9,0,0,0,9,15,16,16,6,0,0,0,3,16,16,10,0,0,0,0,0,12,16,11,0,0,0,0,0,14,6,10,15,2,0,0,0,11,12,6,16,13,0,0,0,1,10,15,13,5,0,8 +0,0,3,9,8,0,0,0,0,2,15,14,14,4,0,0,0,9,16,5,13,16,1,0,0,5,16,16,16,16,7,0,0,0,6,8,8,16,6,0,0,0,0,0,0,15,9,0,0,0,7,4,9,16,8,0,0,0,9,16,13,9,1,0,9 +0,0,6,11,11,1,0,0,0,0,9,16,16,14,0,0,0,0,11,16,16,10,0,0,0,0,7,16,16,12,0,0,0,0,12,16,16,11,0,0,0,0,9,16,16,12,0,0,0,0,8,16,16,16,0,0,0,0,5,12,12,12,3,0,1 +0,0,0,1,12,2,0,0,0,0,1,16,16,2,0,0,0,0,10,15,3,0,0,0,0,0,14,11,0,0,0,0,0,1,16,16,15,7,0,0,0,0,14,16,11,15,5,0,0,0,6,16,6,16,9,0,0,0,0,5,12,12,3,0,6 +0,0,7,15,16,15,3,0,0,0,15,8,6,4,0,0,0,0,16,5,4,2,0,0,0,3,16,14,16,10,0,0,0,7,16,13,10,14,0,0,0,0,4,0,6,16,1,0,0,0,8,8,12,14,0,0,0,0,7,13,11,4,0,0,5 +0,0,0,11,13,0,0,0,0,2,12,16,16,7,0,0,0,12,16,8,3,14,2,0,0,6,16,10,0,14,6,0,0,0,15,9,0,11,5,0,0,0,11,13,0,9,9,0,0,0,8,16,13,16,5,0,0,0,0,13,16,10,1,0,0 +0,0,0,2,15,5,0,0,0,0,0,9,15,2,2,0,0,0,3,16,7,5,16,2,0,1,12,16,8,14,13,0,0,11,16,16,16,16,10,0,0,10,10,4,14,14,1,0,0,0,0,0,14,8,0,0,0,0,0,1,15,3,0,0,4 +0,0,0,4,13,1,0,0,0,0,3,16,13,0,0,0,0,0,8,15,4,0,0,0,0,0,12,14,0,0,0,0,0,0,15,11,6,6,0,0,0,0,13,16,16,16,10,0,0,0,8,16,5,11,16,2,0,0,0,6,12,15,10,0,6 +0,0,0,6,14,3,0,0,0,0,2,15,14,4,0,0,0,0,9,16,2,0,0,0,0,0,13,13,0,0,0,0,0,0,14,14,16,16,5,0,0,0,14,16,15,13,11,0,0,0,10,16,6,13,13,0,0,0,1,9,15,13,4,0,6 +0,0,3,14,10,0,0,0,0,2,14,15,13,3,0,0,0,2,16,8,4,10,0,0,0,0,15,14,13,16,4,0,0,0,2,10,14,15,10,0,0,0,3,0,0,11,9,0,0,0,10,8,4,15,8,0,0,0,2,12,13,14,4,0,9 +0,0,0,2,13,0,0,0,0,0,0,11,12,0,0,0,0,0,3,16,6,1,4,0,0,0,11,10,0,12,8,0,0,6,16,7,7,16,1,0,0,9,16,16,16,16,3,0,0,0,3,5,15,8,1,0,0,0,0,2,11,0,0,0,4 +0,0,8,12,13,16,8,0,0,0,9,9,9,16,5,0,0,0,0,0,7,15,0,0,0,0,6,11,15,11,1,0,0,0,9,14,15,15,6,0,0,0,0,16,8,0,0,0,0,0,3,16,3,0,0,0,0,0,8,14,0,0,0,0,7 +0,0,2,10,12,1,0,0,0,0,10,15,14,8,0,0,0,6,16,7,8,8,0,0,0,5,16,16,16,10,0,0,0,0,8,16,16,16,2,0,0,0,11,14,1,13,6,0,0,0,12,13,7,14,4,0,0,0,4,14,12,10,2,0,8 +0,0,0,10,15,2,0,0,0,0,0,13,16,11,0,0,0,0,0,15,16,9,0,0,0,0,6,16,16,7,0,0,0,1,15,16,16,3,0,0,0,1,14,16,16,2,0,0,0,0,0,14,16,8,0,0,0,0,0,6,14,9,0,0,1 +0,0,7,12,14,12,8,0,0,0,10,8,9,16,14,0,0,0,0,0,2,16,6,0,0,0,6,16,13,14,1,0,0,0,3,10,16,10,0,0,0,0,0,14,11,0,0,0,0,0,3,16,3,0,0,0,0,0,8,11,0,0,0,0,7 +0,1,11,14,14,4,0,0,0,3,14,8,10,16,0,0,0,0,0,0,5,16,1,0,0,0,0,3,16,14,0,0,0,0,0,4,12,16,7,0,0,0,0,0,0,9,12,0,0,0,9,8,8,14,13,0,0,0,7,12,12,10,3,0,3 +0,0,9,15,12,10,7,0,0,0,5,8,12,16,12,0,0,0,0,0,4,16,6,0,0,0,1,5,14,10,0,0,0,0,13,16,16,12,0,0,0,1,8,16,10,2,0,0,0,0,9,16,3,0,0,0,0,0,9,13,0,0,0,0,7 +0,0,1,10,9,0,0,0,0,1,10,13,8,7,0,0,0,5,16,2,0,9,0,0,0,0,16,12,14,16,1,0,0,0,11,16,13,13,3,0,0,0,2,15,5,6,3,0,0,0,4,15,4,13,2,0,0,0,1,11,12,4,0,0,8 +0,0,0,1,10,0,0,0,0,0,0,11,8,2,1,0,0,0,3,13,0,8,8,0,0,0,10,8,2,15,3,0,0,6,16,15,16,16,5,0,0,12,15,12,15,14,3,0,0,0,0,0,15,1,0,0,0,0,0,0,12,0,0,0,4 +0,0,0,4,14,4,0,0,0,0,3,16,14,4,0,0,0,0,8,16,5,0,0,0,0,0,15,12,11,8,1,0,0,0,16,16,16,16,8,0,0,2,16,16,4,3,14,0,0,0,10,16,5,10,16,1,0,0,0,7,13,14,10,0,6 +0,0,13,16,16,11,0,0,0,0,10,7,4,16,0,0,0,0,0,0,10,12,0,0,0,0,0,3,13,14,2,0,0,0,0,10,13,14,6,0,0,0,0,0,0,6,11,0,0,1,14,6,4,13,7,0,0,0,9,13,16,12,0,0,3 +0,0,10,15,16,15,1,0,0,7,16,10,4,3,1,0,0,8,13,8,0,0,0,0,0,7,16,16,7,0,0,0,0,1,8,10,8,0,0,0,0,0,0,5,15,0,0,0,0,0,1,8,14,0,0,0,0,0,6,16,10,0,0,0,5 +0,0,3,14,9,1,0,0,0,0,10,15,13,8,0,0,0,0,13,10,4,14,0,0,0,0,12,16,16,16,4,0,0,0,0,6,8,12,10,0,0,0,0,0,0,4,13,0,0,0,3,8,8,13,13,0,0,0,2,10,12,10,5,0,9 +0,0,4,10,16,4,0,0,0,4,16,13,10,10,0,0,0,8,16,8,7,12,0,0,0,3,15,16,16,9,0,0,0,5,16,16,16,16,2,0,0,1,13,12,1,9,9,0,0,0,14,10,2,14,5,0,0,0,2,12,15,11,1,0,8 +0,0,9,13,7,0,0,0,0,2,15,10,14,6,0,0,0,12,13,0,9,16,2,0,0,8,16,12,14,16,6,0,0,1,8,8,10,16,2,0,0,0,0,0,1,16,5,0,0,0,8,4,7,16,2,0,0,0,10,15,16,13,0,0,9 +0,0,0,5,11,0,0,0,0,0,7,16,14,1,0,0,0,3,16,3,9,11,0,0,0,4,16,13,16,14,3,0,0,0,7,16,13,4,4,0,0,0,1,16,6,3,5,0,0,0,5,14,5,10,3,0,0,0,0,9,9,5,0,0,8 +0,0,3,9,9,0,0,0,0,0,9,16,16,5,0,0,0,0,9,16,16,8,0,0,0,0,7,16,16,7,0,0,0,0,12,16,16,7,0,0,0,0,16,16,16,8,0,0,0,0,12,16,16,12,0,0,0,0,2,7,10,4,0,0,1 +0,0,9,15,16,16,14,0,0,1,15,10,8,14,13,0,0,0,0,0,2,15,9,0,0,0,0,10,14,16,4,0,0,0,1,16,16,16,11,0,0,0,0,13,15,4,1,0,0,0,5,16,7,0,0,0,0,0,9,15,0,0,0,0,7 +0,0,4,16,12,0,0,0,0,9,16,16,16,8,0,0,0,9,16,9,6,14,0,0,0,6,16,2,0,12,5,0,0,6,16,1,0,8,9,0,0,3,16,1,0,12,10,0,0,0,12,13,15,16,8,0,0,0,3,12,12,10,1,0,0 +0,0,0,9,7,0,0,0,0,0,3,16,8,0,0,0,0,0,8,14,2,0,0,0,0,0,13,10,0,0,0,0,0,0,15,16,16,15,5,0,0,0,15,16,11,11,12,0,0,0,8,15,6,9,15,0,0,0,0,8,14,16,8,0,6 +0,0,4,8,10,13,8,0,0,0,10,12,12,14,12,0,0,0,0,0,0,13,8,0,0,0,5,12,13,16,6,0,0,0,7,13,16,12,3,0,0,0,0,8,14,1,0,0,0,0,3,16,9,0,0,0,0,0,5,14,2,0,0,0,7 +0,0,6,16,12,12,14,6,0,0,5,8,8,11,15,2,0,0,0,0,1,14,5,0,0,0,0,1,12,12,0,0,0,0,0,11,16,15,1,0,0,0,0,10,11,1,0,0,0,0,1,14,4,0,0,0,0,0,5,12,2,0,0,0,7 +0,0,6,12,12,15,7,0,0,0,14,15,12,16,9,0,0,0,0,0,0,16,8,0,0,0,1,1,9,14,0,0,0,3,15,16,16,16,2,0,0,3,8,14,16,5,0,0,0,0,3,16,8,0,0,0,0,0,7,15,5,0,0,0,7 +0,0,0,9,13,0,0,0,0,0,5,16,16,4,0,0,0,0,15,15,7,0,0,0,0,1,16,13,0,0,0,0,0,3,16,15,16,16,6,0,0,1,14,16,16,16,15,1,0,0,8,16,13,14,16,1,0,0,0,7,12,12,6,0,6 +0,0,1,15,1,0,0,0,0,0,6,16,0,2,0,0,0,0,11,13,2,16,2,0,0,6,16,8,9,14,0,0,0,8,16,16,16,14,3,0,0,0,8,15,16,16,8,0,0,0,0,12,14,3,0,0,0,0,1,16,9,0,0,0,4 +0,0,1,12,11,2,0,0,0,0,2,16,16,3,0,0,0,0,5,16,16,3,0,0,0,1,15,16,14,2,0,0,0,5,16,16,13,0,0,0,0,1,11,16,14,0,0,0,0,0,5,16,16,7,0,0,0,0,1,15,16,9,0,0,1 +0,3,11,15,14,2,0,0,0,10,13,8,14,10,0,0,0,5,1,0,13,8,0,0,0,0,0,9,16,8,0,0,0,0,0,5,9,16,3,0,0,0,0,0,0,16,9,0,0,4,12,8,11,15,3,0,0,1,8,12,11,4,0,0,3 +0,0,7,13,12,12,5,0,0,3,15,8,7,8,3,0,0,4,15,5,6,0,0,0,0,5,16,16,16,2,0,0,0,2,8,1,12,4,0,0,0,0,0,0,12,4,0,0,0,0,3,5,16,2,0,0,0,0,9,15,8,0,0,0,5 +0,0,11,16,15,8,0,0,0,0,9,13,5,3,0,0,0,0,12,13,0,0,0,0,0,0,12,13,8,2,0,0,0,0,15,16,16,7,0,0,0,0,0,0,9,11,0,0,0,0,5,6,15,8,0,0,0,0,11,16,13,2,0,0,5 +0,0,3,11,14,11,8,4,0,0,3,8,8,10,16,6,0,0,0,0,0,13,9,0,0,0,0,3,11,16,9,0,0,0,0,11,16,8,3,0,0,0,0,10,13,0,0,0,0,0,1,16,3,0,0,0,0,0,5,11,0,0,0,0,7 +0,0,10,16,16,14,1,0,0,0,15,9,8,8,2,0,0,4,16,0,0,0,0,0,0,6,16,15,14,0,0,0,0,5,13,12,16,3,0,0,0,0,0,0,13,7,0,0,0,0,9,8,16,7,0,0,0,0,11,16,15,0,0,0,5 +0,0,0,0,13,9,0,0,0,0,0,10,16,16,1,0,0,1,12,16,16,13,0,0,0,7,16,16,16,15,0,0,0,0,7,12,16,13,0,0,0,0,0,4,16,16,0,0,0,0,0,3,16,16,3,0,0,0,0,0,13,16,6,0,1 +0,0,7,15,16,9,0,0,0,1,16,12,8,7,0,0,0,0,14,3,0,0,0,0,0,0,14,16,13,1,0,0,0,0,12,16,15,7,0,0,0,0,0,0,9,9,0,0,0,0,4,5,14,9,0,0,0,0,6,16,15,3,0,0,5 +0,0,8,12,12,14,8,0,0,2,11,12,12,16,12,0,0,0,0,0,3,16,5,0,0,0,3,7,15,13,0,0,0,0,15,16,16,16,4,0,0,0,1,15,9,0,0,0,0,0,10,14,0,0,0,0,0,0,10,11,0,0,0,0,7 +0,0,6,15,10,0,0,0,0,4,16,15,15,5,0,0,0,10,11,1,12,4,0,0,0,11,9,0,15,3,0,0,0,4,8,1,14,4,0,0,0,0,0,8,16,2,1,0,0,0,5,16,16,15,15,2,0,0,8,16,14,11,13,1,2 +0,0,9,15,16,8,0,0,0,0,7,7,9,15,1,0,0,0,0,0,9,12,0,0,0,0,5,13,16,13,3,0,0,0,1,11,14,4,2,0,0,0,0,15,4,0,0,0,0,0,6,16,3,0,0,0,0,0,10,12,0,0,0,0,7 +0,0,5,14,16,13,1,0,0,0,15,14,9,10,2,0,0,1,16,5,0,0,0,0,0,4,16,16,5,0,0,0,0,2,8,12,12,0,0,0,0,0,0,6,15,0,0,0,0,2,13,14,11,0,0,0,0,1,10,12,3,0,0,0,5 +0,0,1,8,12,3,0,0,0,0,9,16,16,12,0,0,0,0,11,16,7,11,0,0,0,0,14,11,0,7,2,0,0,0,14,8,0,9,4,0,0,0,16,7,2,13,1,0,0,0,11,15,11,15,0,0,0,0,1,7,9,1,0,0,0 +0,0,6,16,13,0,0,0,0,7,16,14,15,10,0,0,0,12,16,3,7,16,1,0,0,11,13,0,7,16,1,0,0,0,0,0,14,14,0,0,0,0,2,9,16,10,5,0,0,0,11,16,16,16,16,3,0,0,6,16,11,8,8,2,2 +0,0,0,8,14,4,0,0,0,0,5,16,10,0,0,0,0,0,12,13,1,0,0,0,0,1,16,7,1,0,0,0,0,4,16,16,16,12,1,0,0,2,16,14,9,14,5,0,0,0,12,14,6,16,5,0,0,0,1,8,13,9,2,0,6 +0,0,6,13,16,7,0,0,0,5,16,16,12,14,1,0,0,9,16,11,0,16,4,0,0,6,16,4,0,13,7,0,0,8,13,0,0,12,7,0,0,4,16,0,0,11,8,0,0,2,15,6,9,16,5,0,0,0,6,16,16,11,0,0,0 +0,0,1,9,10,1,0,0,0,0,5,16,16,8,0,0,0,0,6,16,16,10,0,0,0,0,7,16,16,10,0,0,0,0,2,16,16,7,0,0,0,0,1,16,16,10,0,0,0,0,8,16,16,15,1,0,0,0,1,6,9,9,2,0,1 +0,0,13,16,16,15,0,0,0,4,16,13,7,3,0,0,0,5,16,11,1,0,0,0,0,7,16,16,12,0,0,0,0,3,9,6,16,1,0,0,0,0,0,3,16,4,0,0,0,0,7,10,16,3,0,0,0,1,13,16,14,0,0,0,5 +0,0,3,14,10,0,0,0,0,4,15,12,15,2,0,0,0,11,15,1,11,5,0,0,0,9,12,0,10,7,0,0,0,1,1,0,15,7,0,0,0,0,0,7,16,6,2,0,0,0,1,16,16,16,16,3,0,0,2,12,11,8,8,3,2 +0,0,10,16,8,0,0,0,0,3,16,14,14,2,0,0,0,6,13,6,16,2,0,0,0,2,7,8,16,1,0,0,0,0,2,16,10,0,0,0,0,1,12,16,5,2,2,0,0,4,16,16,16,15,14,1,0,0,9,12,11,12,13,1,2 +0,1,13,16,16,10,0,0,0,2,16,13,9,11,2,0,0,5,16,4,0,0,0,0,0,7,16,16,12,0,0,0,0,1,7,7,16,0,0,0,0,0,0,3,16,3,0,0,0,0,14,14,15,3,0,0,0,0,9,12,7,0,0,0,5 +0,0,6,15,6,0,0,0,0,4,16,14,15,2,0,0,0,4,16,7,13,12,0,0,0,3,16,16,16,16,3,0,0,0,5,11,10,14,10,0,0,0,0,0,0,12,10,0,0,0,0,2,12,16,8,0,0,0,5,15,16,11,1,0,9 +0,0,11,16,14,5,0,0,0,0,15,10,8,8,0,0,0,0,12,7,0,0,0,0,0,0,16,16,9,0,0,0,0,0,15,11,15,1,0,0,0,0,0,0,8,5,0,0,0,0,2,3,11,7,0,0,0,0,12,16,15,3,0,0,5 +0,0,8,15,10,0,0,0,0,3,16,16,15,1,0,0,0,9,13,1,16,1,0,0,0,7,11,2,16,1,0,0,0,0,0,9,14,0,0,0,0,0,1,16,9,2,4,0,0,0,13,16,16,16,16,0,0,0,11,16,9,8,9,0,2 +0,0,0,7,14,2,0,0,0,0,5,16,16,4,0,0,0,0,13,16,7,0,0,0,0,0,14,13,0,0,0,0,0,0,16,16,16,5,2,0,0,0,14,16,15,13,15,1,0,0,8,16,11,14,16,1,0,0,0,4,12,14,7,0,6 +0,0,0,5,12,5,0,0,0,0,2,16,14,7,0,0,0,0,8,16,2,0,0,0,0,0,14,7,0,0,0,0,0,0,15,14,16,16,5,0,0,1,16,16,12,6,14,0,0,0,10,16,7,7,16,1,0,0,1,8,14,16,10,1,6 +0,0,6,15,16,13,1,0,0,3,16,16,16,16,6,0,0,7,16,8,12,14,1,0,0,0,12,16,14,1,0,0,0,0,11,14,16,6,0,0,0,0,14,0,2,15,3,0,0,0,16,2,3,13,8,0,0,0,6,14,16,14,2,0,8 +0,0,1,14,15,2,0,0,0,2,12,16,16,5,0,0,5,16,16,16,16,2,0,0,1,8,5,11,14,0,0,0,0,0,0,10,16,1,0,0,0,0,0,8,15,0,0,0,0,0,0,12,14,0,0,0,0,0,0,14,16,1,0,0,1 +0,0,7,16,12,1,0,0,0,0,9,12,9,11,0,0,0,0,5,13,10,16,3,0,0,0,0,9,16,16,9,0,0,0,0,0,0,6,13,0,0,0,0,0,0,3,15,0,0,0,0,0,0,5,16,0,0,0,6,16,16,16,12,0,9 +0,0,6,15,13,2,0,0,0,0,11,16,13,12,0,0,0,0,8,13,6,16,2,0,0,0,0,2,2,16,5,0,0,0,0,0,4,16,4,0,0,0,0,0,10,16,3,0,0,0,2,11,16,15,8,1,0,0,6,14,16,16,16,14,2 +0,1,10,14,15,6,0,0,0,6,13,1,4,9,0,0,0,3,14,2,1,9,3,0,0,0,7,15,16,16,3,0,0,0,0,0,6,10,0,0,0,0,0,0,4,11,0,0,0,0,2,0,4,9,0,0,0,0,8,14,15,9,0,0,9 +0,0,0,12,14,0,0,0,0,0,4,16,14,1,0,0,0,0,10,15,2,0,0,0,0,0,14,14,1,0,0,0,0,0,14,16,15,5,0,0,0,0,10,11,4,14,1,0,0,0,6,12,4,14,7,0,0,0,0,9,16,16,6,0,6 +0,0,0,9,10,2,0,0,0,0,5,16,16,2,0,0,0,4,14,16,16,4,0,0,0,8,11,10,16,6,0,0,0,0,0,7,16,3,0,0,0,0,0,10,16,2,0,0,0,0,0,12,11,0,0,0,0,0,0,9,13,0,0,0,1 +0,0,14,4,4,0,0,0,0,9,16,16,16,9,0,0,0,3,11,5,14,15,0,0,0,0,0,14,16,10,0,0,0,0,0,9,16,16,6,0,0,0,1,0,0,7,16,0,0,2,15,4,5,12,15,0,0,0,10,16,16,15,3,0,3 +0,0,15,16,16,15,2,0,0,0,5,8,11,16,3,0,0,0,0,0,15,8,0,0,0,3,8,8,16,7,2,0,0,6,15,16,16,16,8,0,0,0,2,15,7,3,0,0,0,0,11,13,0,0,0,0,0,0,16,7,0,0,0,0,7 +0,0,5,14,15,4,0,0,0,1,16,2,3,13,2,0,0,7,12,4,0,5,4,0,0,0,13,3,0,1,7,0,0,2,12,0,0,1,8,0,0,0,13,0,0,2,12,0,0,0,14,1,0,13,4,0,0,0,6,16,15,9,1,0,0 +0,0,8,12,11,1,0,0,0,0,13,12,6,12,0,0,0,1,14,4,0,12,0,0,0,2,16,1,0,5,4,0,0,5,11,0,0,8,4,0,0,4,12,0,0,9,5,0,0,2,15,6,8,14,0,0,0,0,5,15,12,3,0,0,0 +0,0,5,13,14,12,1,0,0,0,9,16,7,7,7,0,0,0,16,4,0,1,8,0,0,4,12,0,0,4,8,0,0,4,8,0,0,6,5,0,0,5,8,0,0,11,2,0,0,1,14,5,11,8,0,0,0,0,4,14,11,0,0,0,0 +0,0,9,15,16,4,0,0,0,0,8,7,6,16,0,0,0,0,0,0,10,12,0,0,0,0,3,15,15,1,0,0,0,0,1,9,12,11,2,0,0,0,0,0,0,5,10,0,0,0,12,4,4,6,15,0,0,0,5,11,12,12,6,0,3 +0,0,12,16,15,6,0,0,0,0,15,13,11,16,3,0,0,0,1,7,5,16,5,0,0,0,1,13,16,11,0,0,0,0,1,10,15,15,1,0,0,0,0,0,0,13,11,0,0,2,11,4,4,14,8,0,0,0,11,16,16,14,1,0,3 +0,3,16,16,16,16,8,0,0,0,5,8,12,16,6,0,0,0,0,0,13,12,0,0,0,8,12,12,16,10,1,0,0,8,16,16,16,15,1,0,0,0,8,15,3,0,0,0,0,2,15,8,0,0,0,0,0,2,15,2,0,0,0,0,7 +0,0,0,4,16,5,0,0,0,0,1,12,16,6,0,0,0,5,14,16,16,1,0,0,0,13,16,14,16,3,0,0,0,1,2,9,16,4,0,0,0,0,0,5,16,4,0,0,0,0,0,4,16,6,0,0,0,0,0,5,16,9,0,0,1 +0,0,0,0,15,8,0,0,0,0,0,2,16,8,0,0,0,0,0,11,16,3,0,0,0,0,5,16,16,3,0,0,0,9,16,11,16,1,0,0,0,1,7,1,16,2,0,0,0,0,0,1,16,5,0,0,0,0,0,0,13,8,0,0,1 +0,0,13,16,16,12,0,0,0,0,9,12,8,7,0,0,0,0,11,16,7,0,0,0,0,0,11,15,14,3,0,0,0,0,1,2,6,11,0,0,0,0,0,0,3,14,0,0,0,0,0,0,9,12,0,0,0,0,12,16,16,6,0,0,5 +0,0,8,16,16,7,0,0,0,2,16,14,7,16,0,0,0,3,15,1,5,16,1,0,0,1,14,13,13,16,3,0,0,0,1,8,8,14,6,0,0,0,0,0,0,10,10,0,0,0,0,1,2,15,9,0,0,0,10,16,16,16,4,0,9 +0,0,0,8,11,0,0,0,0,0,3,16,6,0,0,0,0,0,9,10,0,0,0,0,0,0,11,4,1,0,0,0,0,0,13,15,16,14,4,0,0,0,13,10,4,4,14,1,0,0,6,10,2,6,16,2,0,0,1,8,13,14,5,0,6 +0,0,0,9,14,1,0,0,0,0,2,16,11,0,0,0,0,0,7,16,5,0,0,0,0,0,11,14,0,0,0,0,0,0,14,10,4,0,0,0,0,0,16,16,16,13,2,0,0,0,9,15,6,12,10,0,0,0,0,8,16,16,12,0,6 +0,0,0,3,16,9,0,0,0,0,0,8,16,10,0,0,0,0,5,15,16,11,0,0,0,5,16,16,16,12,0,0,0,7,12,3,16,11,0,0,0,0,0,0,15,9,0,0,0,0,0,3,16,9,0,0,0,0,0,4,16,4,0,0,1 +0,0,4,10,14,3,0,0,0,0,16,11,10,12,0,0,0,4,12,0,0,10,3,0,0,5,11,0,0,7,4,0,0,6,8,0,0,10,4,0,0,3,9,0,0,10,3,0,0,0,13,9,11,13,0,0,0,0,2,14,12,3,0,0,0 +0,2,16,14,12,9,2,0,0,0,6,12,16,16,12,0,0,1,1,1,15,11,2,0,0,10,13,12,16,7,0,0,0,3,14,16,16,16,5,0,0,0,10,14,6,6,1,0,0,2,16,8,0,0,0,0,0,2,16,4,0,0,0,0,7 +0,0,3,12,13,3,0,0,0,0,12,14,7,12,0,0,0,1,16,1,0,14,0,0,0,0,14,0,0,15,0,0,0,0,1,0,4,12,0,0,0,0,0,0,14,8,0,0,0,0,2,14,16,12,14,2,0,0,7,16,12,12,12,3,2 +0,0,8,16,15,5,0,0,0,7,16,14,5,15,2,0,0,10,16,8,0,9,9,0,0,10,16,3,0,4,12,0,0,9,14,0,0,6,12,0,0,7,13,0,0,14,7,0,0,2,16,8,12,14,1,0,0,0,10,16,13,3,0,0,0 +0,0,0,11,13,0,0,0,0,0,3,15,9,0,0,0,0,0,10,13,1,5,11,0,0,5,16,4,3,14,11,0,0,10,16,9,15,15,3,0,0,9,16,13,16,9,0,0,0,0,0,6,16,2,0,0,0,0,0,14,9,0,0,0,4 +0,2,11,11,16,16,4,0,0,3,16,12,10,8,0,0,0,7,16,11,1,0,0,0,0,11,16,16,13,0,0,0,0,1,4,0,16,4,0,0,0,0,0,0,12,8,0,0,0,0,4,4,16,5,0,0,0,1,15,16,13,1,0,0,5 +0,2,6,16,11,0,0,0,0,9,16,8,10,10,0,0,0,7,11,0,0,11,1,0,0,8,13,0,0,7,5,0,0,6,13,0,0,8,7,0,0,2,14,0,0,14,4,0,0,0,12,7,12,12,0,0,0,0,2,13,14,4,0,0,0 +0,0,6,16,16,13,1,0,0,0,11,13,7,16,6,0,0,0,1,3,0,16,7,0,0,0,0,2,8,15,2,0,0,0,8,16,16,8,0,0,0,0,0,5,11,15,6,0,0,0,0,0,1,14,12,0,0,0,9,13,16,15,3,0,3 +0,0,0,12,15,2,0,0,0,0,6,16,11,1,0,0,0,0,14,14,0,0,0,0,0,0,16,11,3,0,0,0,0,2,16,16,16,7,0,0,0,0,16,13,4,14,5,0,0,0,10,14,6,15,10,0,0,0,0,9,15,16,5,0,6 +0,0,3,8,14,9,0,0,0,0,11,14,6,13,3,0,0,3,16,3,0,6,6,0,0,6,15,0,0,8,5,0,0,4,12,0,0,11,1,0,0,1,12,0,4,10,0,0,0,0,9,11,14,5,0,0,0,0,2,13,7,0,0,0,0 +0,0,8,16,16,10,0,0,0,1,15,15,9,15,1,0,0,0,14,3,0,15,5,0,0,0,0,0,0,15,6,0,0,0,0,0,5,16,4,0,0,0,0,0,12,14,0,0,0,0,8,15,16,6,4,1,0,0,10,16,16,16,16,9,2 +0,0,0,4,16,5,0,0,0,0,0,11,16,8,0,0,0,2,9,16,16,4,0,0,0,11,16,16,16,4,0,0,0,3,4,6,16,4,0,0,0,0,0,4,16,3,0,0,0,0,0,6,16,6,0,0,0,0,0,6,16,2,0,0,1 +0,0,0,4,12,1,0,0,0,0,2,16,11,3,0,0,0,0,7,15,1,0,0,0,0,0,11,11,4,2,0,0,0,0,13,16,13,15,4,0,0,0,13,7,0,0,15,1,0,0,5,13,2,3,15,1,0,0,0,6,14,15,5,0,6 +0,0,0,10,16,2,0,0,0,0,4,16,13,1,0,0,0,0,10,16,2,0,0,0,0,0,13,10,0,0,0,0,0,0,16,15,10,0,0,0,0,0,14,16,13,10,0,0,0,0,11,16,8,16,1,0,0,0,1,10,16,13,0,0,6 +0,0,0,10,13,0,0,0,0,0,3,16,10,0,0,0,0,0,6,15,1,0,0,0,0,0,10,13,0,0,0,0,0,0,8,16,15,7,0,0,0,0,11,15,12,13,7,0,0,0,5,15,5,7,16,1,0,0,0,6,15,16,15,1,6 +0,0,5,16,16,8,0,0,0,0,6,14,10,16,1,0,0,0,0,4,13,16,1,0,0,0,6,16,16,5,0,0,0,0,1,9,15,10,0,0,0,0,6,0,3,15,5,0,0,0,14,8,11,16,7,0,0,0,5,15,16,13,1,0,3 +0,0,0,8,16,5,0,0,0,0,0,13,16,7,0,0,0,0,5,16,8,0,0,0,0,0,7,16,4,0,0,0,0,0,9,15,8,8,5,0,0,0,15,16,16,16,16,4,0,0,5,15,10,8,16,5,0,0,0,6,15,16,14,0,6 +0,1,7,15,13,6,0,0,0,7,13,2,4,15,0,0,0,4,12,6,13,4,0,0,0,0,10,16,8,0,0,0,0,0,14,12,6,0,0,0,0,2,12,0,12,3,0,0,0,0,14,1,6,8,0,0,0,0,4,13,13,5,0,0,8 +0,0,5,12,14,3,0,0,0,0,9,10,7,12,0,0,0,0,0,0,6,15,0,0,0,0,1,5,15,7,0,0,0,0,2,14,16,1,0,0,0,0,0,0,8,13,1,0,0,0,4,1,1,10,8,0,0,0,7,13,16,13,7,0,3 +0,3,15,16,16,16,4,0,0,1,10,8,12,16,0,0,0,0,0,0,14,10,0,0,0,5,16,13,16,14,9,0,0,3,12,16,13,8,2,0,0,0,9,14,1,0,0,0,0,2,16,7,0,0,0,0,0,5,13,1,0,0,0,0,7 +0,0,0,13,8,0,0,0,0,0,11,13,3,0,0,0,0,2,16,5,0,4,2,0,0,7,14,1,5,16,5,0,0,6,15,12,16,11,0,0,0,0,6,11,16,1,0,0,0,0,0,8,13,0,0,0,0,0,0,15,7,0,0,0,4 +0,0,6,16,14,5,0,0,0,0,9,15,12,15,0,0,0,0,0,6,2,16,5,0,0,0,0,0,6,16,3,0,0,0,0,0,13,15,0,0,0,0,1,9,16,8,0,0,0,0,11,16,16,12,5,0,0,0,6,16,16,16,14,0,2 +0,7,16,16,16,16,3,0,0,3,12,12,13,15,1,0,0,0,0,2,14,6,0,0,0,3,8,11,15,8,5,0,0,5,16,16,14,12,6,0,0,0,7,13,0,0,0,0,0,2,16,3,0,0,0,0,0,7,11,0,0,0,0,0,7 +0,0,5,16,16,7,0,0,0,0,6,15,8,15,3,0,0,0,0,0,0,15,6,0,0,0,0,1,10,16,5,0,0,0,0,10,16,8,0,0,0,0,4,1,13,13,0,0,0,3,15,5,7,16,0,0,0,0,2,15,16,13,1,0,3 +0,0,1,15,10,0,0,0,0,0,11,15,3,0,0,0,0,5,16,7,0,9,5,0,0,11,13,0,8,16,11,0,0,11,15,12,16,12,0,0,0,3,11,16,16,1,0,0,0,0,0,13,12,0,0,0,0,0,0,15,8,0,0,0,4 +0,0,5,16,0,0,0,0,0,0,12,9,2,13,1,0,0,4,16,1,8,15,0,0,0,8,13,1,14,15,11,0,0,7,16,16,16,9,2,0,0,1,8,14,13,0,0,0,0,0,1,15,7,0,0,0,0,0,4,16,0,0,0,0,4 +0,0,0,4,15,12,0,0,0,0,0,10,16,14,0,0,0,2,9,16,16,13,0,0,0,14,16,13,14,14,0,0,0,5,12,0,11,16,0,0,0,0,0,0,13,14,0,0,0,0,0,1,16,11,0,0,0,0,0,4,16,7,0,0,1 +0,0,6,15,12,2,0,0,0,3,16,5,8,12,0,0,0,3,14,4,5,16,0,0,0,0,6,12,12,14,1,0,0,0,0,0,0,6,6,0,0,0,0,0,0,3,9,0,0,0,2,1,1,8,10,0,0,0,5,11,15,14,7,0,9 +0,0,0,12,13,1,0,0,0,0,1,14,16,3,0,0,0,2,13,16,16,2,0,0,0,15,16,16,16,3,0,0,0,5,3,10,16,2,0,0,0,0,0,6,16,5,0,0,0,0,0,9,16,5,0,0,0,0,0,10,16,3,0,0,1 +0,4,16,16,16,16,6,0,0,3,11,8,14,15,2,0,0,0,0,0,15,7,0,0,0,0,2,7,16,8,3,0,0,7,16,16,16,16,11,0,0,1,9,16,3,0,0,0,0,0,13,13,0,0,0,0,0,6,15,4,0,0,0,0,7 +0,2,16,16,16,16,5,0,0,0,4,8,10,16,6,0,0,0,0,0,10,9,0,0,0,3,4,4,15,5,3,0,0,9,16,16,16,16,8,0,0,1,12,14,5,2,0,0,0,1,14,6,0,0,0,0,0,4,14,0,0,0,0,0,7 +0,1,14,16,6,0,0,0,0,4,15,10,13,0,0,0,0,1,3,4,15,0,0,0,0,0,0,2,15,0,0,0,0,0,0,9,9,0,0,0,0,0,1,15,4,0,0,0,0,1,13,14,7,2,0,0,0,3,15,16,16,16,13,1,2 +0,0,0,1,13,2,0,0,0,0,0,8,16,4,0,0,0,0,0,16,8,0,0,0,0,0,3,16,2,0,0,0,0,0,13,16,11,5,0,0,0,1,15,12,6,12,4,0,0,0,1,13,8,12,10,0,0,0,0,2,12,13,8,0,6 +0,1,12,14,16,11,0,0,0,3,15,11,13,16,2,0,0,0,2,11,16,5,0,0,0,0,8,16,16,6,0,0,0,0,0,3,12,16,3,0,0,0,0,0,0,12,15,0,0,3,10,1,3,14,15,0,0,3,11,16,16,16,4,0,3 +0,0,11,12,16,15,2,0,0,0,14,13,4,4,0,0,0,0,14,9,0,0,0,0,0,1,16,16,11,1,0,0,0,0,3,4,14,7,0,0,0,0,0,0,6,12,0,0,0,2,9,2,14,11,0,0,0,0,15,16,15,3,0,0,5 +0,3,16,16,16,16,0,0,0,0,13,12,8,4,0,0,0,0,12,12,0,0,0,0,0,0,16,16,8,0,0,0,0,0,11,5,14,7,0,0,0,0,0,0,8,16,0,0,0,2,11,4,14,13,0,0,0,2,15,16,15,2,0,0,5 +0,0,9,15,16,6,0,0,0,7,16,12,11,14,1,0,0,7,16,4,9,16,5,0,0,0,11,16,16,16,3,0,0,0,0,3,8,16,2,0,0,0,0,0,3,16,4,0,0,0,9,2,5,16,3,0,0,0,10,16,16,13,1,0,9 +0,2,13,16,14,3,0,0,0,11,15,8,14,14,0,0,0,9,6,0,6,15,2,0,0,0,0,0,11,13,0,0,0,0,0,2,16,6,0,0,0,0,1,12,13,0,0,0,0,1,12,16,8,4,4,0,0,2,15,16,16,16,16,5,2 +0,0,9,16,16,8,0,0,0,0,15,13,12,12,0,0,0,0,11,2,13,11,0,0,0,0,0,4,16,8,0,0,0,0,5,15,10,0,0,0,0,3,16,13,0,0,0,0,0,7,16,10,4,4,7,0,0,0,8,16,16,16,14,0,2 +0,3,16,14,12,13,7,0,0,0,7,8,13,15,5,0,0,0,0,3,15,4,0,0,0,0,0,9,10,0,0,0,0,9,14,16,13,12,9,0,0,3,13,13,9,8,5,0,0,2,16,2,0,0,0,0,0,5,14,0,0,0,0,0,7 +0,0,0,14,6,0,0,0,0,0,4,16,6,0,0,0,0,0,8,15,0,0,0,0,0,0,12,11,4,3,0,0,0,0,15,16,16,16,10,0,0,0,16,12,4,3,12,6,0,0,9,13,1,0,11,12,0,0,0,9,15,16,16,7,6 +0,0,0,15,2,0,0,0,0,0,10,12,0,0,0,0,0,5,15,1,0,6,6,0,0,12,9,0,3,16,11,0,0,6,16,12,14,13,1,0,0,0,3,11,16,2,0,0,0,0,0,10,12,0,0,0,0,0,0,15,7,0,0,0,4 +0,0,5,16,16,10,0,0,0,0,14,12,10,13,0,0,0,0,11,12,15,10,0,0,0,0,3,16,14,1,0,0,0,0,7,16,15,0,0,0,0,0,16,9,14,6,0,0,0,1,16,4,10,12,0,0,0,0,5,16,16,8,0,0,8 +0,5,15,15,3,0,0,0,0,12,14,13,12,0,0,0,0,7,9,3,16,2,0,0,0,0,0,0,16,4,0,0,0,0,0,5,16,0,0,0,0,0,0,9,12,0,0,0,0,1,8,16,12,4,1,0,0,8,16,16,16,16,13,0,2 +0,0,7,10,10,2,0,0,0,0,12,16,16,4,0,0,0,0,5,16,16,4,0,0,0,0,4,16,16,5,0,0,0,0,1,15,16,7,0,0,0,0,4,16,16,12,0,0,0,0,9,16,16,12,0,0,0,0,6,12,12,11,0,0,1 +0,7,16,13,2,0,0,0,0,8,14,12,14,0,0,0,0,1,2,4,16,0,0,0,0,0,0,0,16,4,0,0,0,0,0,5,16,2,0,0,0,0,0,11,15,0,0,0,0,1,11,16,16,13,11,0,0,4,16,16,12,12,9,0,2 +0,0,8,15,16,8,0,0,0,5,16,12,11,16,0,0,0,3,8,1,12,13,0,0,0,0,0,11,16,13,1,0,0,0,0,5,8,15,9,0,0,0,2,1,0,9,11,0,0,0,14,12,5,15,7,0,0,0,9,16,16,13,1,0,3 +0,0,8,16,12,2,0,0,0,0,13,4,6,12,0,0,0,3,15,1,3,13,0,0,0,6,14,10,4,16,1,0,0,0,8,12,11,13,4,0,0,0,0,0,0,6,8,0,0,0,6,4,0,6,7,0,0,0,6,14,14,15,1,0,9 +0,0,5,16,16,6,0,0,0,1,15,13,10,15,1,0,0,5,16,9,0,12,7,0,0,8,11,0,0,7,12,0,0,12,9,0,0,4,12,0,0,9,13,0,0,6,13,0,0,1,15,10,4,11,11,0,0,0,6,16,16,13,1,0,0 +0,0,3,11,9,3,0,0,0,0,8,16,16,15,1,0,0,0,1,16,16,16,0,0,0,0,2,16,16,15,2,0,0,0,4,16,16,16,3,0,0,0,6,16,16,16,0,0,0,0,9,16,16,14,0,0,0,0,7,12,11,5,0,0,1 +0,3,16,16,7,0,0,0,0,4,16,11,16,5,0,0,0,0,3,1,12,12,0,0,0,0,0,0,10,12,0,0,0,0,0,0,10,11,0,0,0,0,0,3,15,8,0,0,0,0,4,14,16,11,6,0,0,1,16,16,16,14,16,5,2 +0,1,12,12,13,13,4,0,0,3,14,6,4,2,1,0,0,5,11,6,2,0,0,0,0,6,16,12,15,4,0,0,0,1,1,0,5,14,0,0,0,0,0,0,2,16,0,0,0,0,4,3,7,14,0,0,0,2,14,16,14,3,0,0,5 +0,2,11,16,15,4,0,0,0,11,15,8,15,10,0,0,0,3,3,8,16,7,0,0,0,0,4,16,16,9,0,0,0,0,0,4,7,16,4,0,0,0,0,0,0,13,11,0,0,2,15,6,1,14,10,0,0,2,16,16,16,13,3,0,3 +0,0,9,16,10,1,0,0,0,9,16,9,16,6,0,0,0,16,9,3,16,5,0,0,0,3,6,12,16,10,0,0,0,0,1,10,9,15,8,0,0,0,0,0,0,9,15,0,0,0,3,9,2,13,12,0,0,0,7,16,16,15,4,0,3 +0,0,2,10,13,3,0,0,0,1,13,7,7,13,0,0,0,7,7,0,2,16,1,0,0,2,11,2,0,13,4,0,0,0,6,15,13,16,8,0,0,0,0,0,0,8,8,0,0,0,0,10,4,9,7,0,0,0,0,11,16,14,2,0,9 +0,0,0,1,14,7,0,0,0,0,0,5,16,1,0,0,0,0,2,14,7,0,0,0,0,0,10,15,1,6,12,0,0,3,15,3,1,14,6,0,1,15,10,4,10,15,0,0,10,16,16,16,16,12,0,0,0,2,2,0,16,2,0,0,4 +0,0,1,12,7,0,0,0,0,0,10,13,0,0,0,0,0,2,15,3,0,0,0,0,0,4,15,0,3,0,0,0,0,4,14,15,16,15,2,0,0,0,16,11,2,6,12,0,0,0,13,10,1,5,13,0,0,0,2,10,16,16,6,0,6 +0,0,0,9,15,10,0,0,0,0,6,10,4,14,4,0,0,0,12,2,0,12,5,0,0,5,15,3,6,13,2,0,0,0,5,16,14,1,0,0,0,0,2,14,12,5,0,0,0,0,0,13,1,13,3,0,0,0,0,9,13,13,2,0,8 +0,1,12,16,15,3,0,0,0,11,13,5,13,8,0,0,0,3,1,8,16,5,0,0,0,0,3,16,16,13,1,0,0,0,0,0,1,14,6,0,0,0,1,0,0,9,11,0,0,2,15,1,0,13,9,0,0,0,13,16,15,15,2,0,3 +0,0,8,12,13,14,4,0,0,0,15,8,2,4,1,0,0,1,16,5,2,0,0,0,0,4,12,13,14,8,0,0,0,0,0,0,1,12,4,0,0,0,0,0,0,8,5,0,0,0,6,3,2,14,2,0,0,0,9,16,14,5,0,0,5 +0,0,6,12,0,0,0,0,0,0,12,9,0,0,0,0,0,0,15,3,0,0,0,0,0,1,16,1,0,0,0,0,0,3,16,15,10,4,2,0,0,2,16,9,0,6,12,0,0,0,13,10,0,6,15,0,0,0,6,16,16,15,7,0,6 +0,0,0,1,12,10,0,0,0,0,0,1,16,7,0,0,0,0,0,12,12,0,4,0,0,0,5,15,3,7,13,0,0,2,15,5,1,15,6,0,0,12,14,8,11,16,5,0,1,15,16,15,15,14,2,0,0,0,0,0,12,10,0,0,4 +0,0,0,11,6,0,0,0,0,0,5,16,3,0,0,0,0,0,10,14,0,0,0,0,0,0,14,8,0,0,0,0,0,0,16,15,16,14,5,0,0,0,15,9,0,4,14,0,0,0,9,15,0,3,16,2,0,0,0,9,14,12,7,0,6 +0,0,12,15,16,8,0,0,0,0,11,13,0,2,0,0,0,0,11,6,1,0,0,0,0,2,16,16,15,8,0,0,0,0,3,0,0,11,2,0,0,0,0,0,0,8,8,0,0,4,5,0,1,12,2,0,0,1,11,15,16,8,0,0,5 +0,0,0,10,2,0,0,0,0,0,2,16,5,0,0,0,0,0,6,11,0,0,0,0,0,0,12,13,7,1,0,0,0,1,16,14,12,14,2,0,0,2,16,10,0,6,13,0,0,0,10,14,2,1,16,2,0,0,1,10,16,15,14,2,6 +0,0,6,12,9,4,0,0,0,0,2,14,16,14,0,0,0,0,0,12,16,16,0,0,0,0,0,15,16,13,0,0,0,0,0,16,16,12,0,0,0,0,5,16,16,5,0,0,0,0,7,16,16,5,0,0,0,0,9,12,11,2,0,0,1 +0,0,3,13,0,0,0,0,0,0,11,9,0,0,0,0,0,0,14,6,0,0,0,0,0,0,16,1,0,0,0,0,0,2,16,15,16,8,0,0,0,1,16,13,5,11,10,0,0,0,13,11,0,2,16,3,0,0,2,15,16,16,13,1,6 +0,0,13,16,15,13,4,0,0,0,11,14,4,2,1,0,0,0,6,12,15,7,0,0,0,0,0,0,1,11,2,0,0,0,0,0,0,5,7,0,0,1,3,0,0,5,8,0,0,7,9,2,4,13,4,0,0,1,10,14,14,7,0,0,5 +0,0,9,12,12,12,7,0,0,0,10,12,4,4,2,0,0,0,14,9,5,0,0,0,0,3,16,15,14,12,0,0,0,3,9,0,0,15,5,0,0,0,0,0,0,10,7,0,0,0,7,6,1,15,2,0,0,0,8,16,16,10,0,0,5 +0,0,3,10,15,13,2,0,0,3,14,12,9,12,7,0,0,4,14,4,2,14,2,0,0,0,5,15,14,8,0,0,0,0,3,15,12,13,1,0,0,0,10,8,0,12,7,0,0,0,11,7,0,9,8,0,0,0,3,11,15,14,2,0,8 +0,0,9,16,16,12,14,0,0,0,4,8,11,14,13,0,0,0,0,0,3,15,2,0,0,0,0,6,13,15,8,0,0,0,6,16,15,8,2,0,0,0,1,14,9,0,0,0,0,0,4,16,1,0,0,0,0,0,12,9,0,0,0,0,7 +0,0,13,15,16,16,3,0,0,1,14,4,4,0,0,0,0,2,14,11,7,1,0,0,0,2,15,9,13,11,0,0,0,0,0,0,0,15,2,0,0,0,0,0,0,14,3,0,0,3,13,4,6,14,0,0,0,0,13,16,12,3,0,0,5 +0,0,12,16,12,1,0,0,0,8,15,10,15,6,0,0,0,3,6,1,15,3,0,0,0,0,0,10,16,9,1,0,0,0,2,14,12,16,6,0,0,0,4,0,0,10,9,0,0,0,16,8,6,15,7,0,0,0,10,16,16,13,1,0,3 +0,0,0,0,12,7,0,0,0,0,0,2,16,4,0,0,0,0,0,12,13,9,3,0,0,0,8,15,4,16,1,0,0,1,15,8,4,16,0,0,0,14,14,8,11,15,1,0,0,9,16,16,16,16,4,0,0,0,0,0,13,6,0,0,4 +0,0,10,16,15,14,8,0,0,0,7,9,8,14,13,0,0,0,0,0,3,15,2,0,0,0,0,6,13,13,6,0,0,0,1,16,15,12,4,0,0,0,0,12,6,0,0,0,0,0,6,13,1,0,0,0,0,0,12,6,0,0,0,0,7 +0,0,6,13,15,6,0,0,0,1,16,5,3,13,0,0,0,8,13,0,4,12,0,0,0,3,12,5,15,4,0,0,0,0,7,16,11,0,0,0,0,0,14,7,12,7,0,0,0,0,13,1,1,16,2,0,0,0,4,13,13,10,1,0,8 +0,3,15,15,3,0,0,0,0,6,16,10,14,2,0,0,0,0,4,0,16,5,0,0,0,0,0,0,15,7,0,0,0,0,0,3,16,2,0,0,0,0,0,8,14,0,0,0,0,0,10,16,7,6,7,1,0,2,16,16,16,16,13,2,2 +0,0,0,13,6,0,0,0,0,0,4,15,1,0,0,0,0,0,11,9,0,0,0,0,0,1,15,6,0,0,0,0,0,1,16,12,16,12,3,0,0,0,15,16,5,6,14,0,0,0,12,15,1,1,15,2,0,0,1,12,15,15,10,0,6 +0,0,4,12,9,0,0,0,0,0,8,15,9,9,0,0,0,0,15,6,0,12,2,0,0,3,12,0,0,8,7,0,0,7,11,0,0,5,8,0,0,6,12,0,0,7,8,0,0,3,16,7,5,15,4,0,0,0,5,13,13,8,0,0,0 +0,0,5,12,15,11,2,0,0,7,11,5,5,16,4,0,0,7,6,0,11,13,0,0,0,0,13,14,11,1,0,0,0,0,14,14,13,2,0,0,0,3,13,0,8,12,2,0,0,0,14,3,0,11,12,0,0,0,8,16,16,14,3,0,8 +0,0,6,12,8,4,0,0,0,0,6,16,16,10,0,0,0,0,2,16,16,14,0,0,0,0,0,14,16,16,1,0,0,0,1,14,16,13,0,0,0,0,7,16,16,10,0,0,0,0,8,16,16,7,0,0,0,0,6,12,12,11,0,0,1 +0,2,14,16,10,1,0,0,0,11,15,8,15,9,0,0,0,8,5,0,11,12,0,0,0,0,0,0,11,15,0,0,0,0,0,1,16,7,0,0,0,0,0,8,16,4,0,0,0,0,7,16,14,4,1,0,0,2,16,16,16,16,15,1,2 +0,0,7,16,16,10,0,0,0,0,13,16,16,7,0,0,0,0,9,16,16,14,1,0,0,0,7,16,16,13,0,0,0,0,2,16,16,10,0,0,0,0,6,16,16,10,0,0,0,0,12,16,16,6,0,0,0,0,8,16,16,10,0,0,1 +0,0,3,14,3,0,0,0,0,0,12,11,0,0,0,0,0,0,15,4,0,0,0,0,0,4,16,10,6,0,0,0,0,3,16,15,13,11,1,0,0,2,16,4,0,9,9,0,0,0,13,11,0,6,15,0,0,0,4,14,13,16,7,0,6 +0,0,5,12,14,5,0,0,0,0,6,16,16,13,1,0,0,0,0,16,16,16,0,0,0,0,0,13,16,16,1,0,0,0,0,14,16,10,0,0,0,0,2,16,16,8,0,0,0,0,7,16,16,5,0,0,0,0,9,16,16,7,0,0,1 +0,0,0,6,14,1,0,0,0,0,0,13,7,0,0,0,0,0,6,14,2,0,6,0,0,1,14,5,0,9,15,0,0,9,14,0,2,16,6,0,1,15,15,12,14,15,3,0,1,12,12,10,16,4,0,0,0,0,0,7,13,0,0,0,4 +0,0,2,10,16,13,0,0,0,2,15,9,1,15,3,0,0,8,10,0,6,14,0,0,0,6,14,12,14,3,0,0,0,2,16,13,11,0,0,0,0,7,10,0,11,8,0,0,0,0,14,3,0,13,1,0,0,0,2,14,16,14,0,0,8 +0,0,9,15,12,2,0,0,0,4,15,5,8,15,0,0,0,7,13,0,4,16,1,0,0,2,16,7,8,16,4,0,0,0,5,12,11,14,6,0,0,0,0,0,0,12,8,0,0,0,3,2,1,13,4,0,0,0,11,16,16,10,0,0,9 +0,1,14,15,2,0,0,0,0,2,13,12,12,0,0,0,0,0,0,4,16,3,0,0,0,0,0,1,16,6,0,0,0,0,0,5,16,0,0,0,0,0,0,8,12,0,0,0,0,0,5,16,10,8,7,1,0,1,15,16,16,14,12,2,2 +0,0,4,15,0,0,0,0,0,0,11,9,0,0,0,0,0,0,16,3,0,0,0,0,0,3,16,4,7,0,0,0,0,3,16,16,14,11,1,0,0,3,16,9,0,8,10,0,0,0,14,9,0,2,16,0,0,0,3,14,16,16,10,1,6 +0,2,12,13,15,16,7,0,0,2,16,6,0,0,1,0,0,1,16,12,8,0,0,0,0,2,12,6,11,13,0,0,0,0,0,0,0,11,6,0,0,1,1,0,0,8,8,0,0,6,10,0,3,15,2,0,0,2,15,16,12,5,0,0,5 +0,0,3,12,13,1,0,0,0,1,14,11,10,8,0,0,0,4,16,3,0,12,2,0,0,4,13,1,0,9,6,0,0,6,12,0,0,5,8,0,0,3,13,0,0,4,9,0,0,0,15,8,4,13,8,0,0,0,5,15,15,9,0,0,0 +0,0,7,16,16,4,0,0,0,5,15,14,8,13,0,0,0,8,12,0,0,12,6,0,0,8,8,0,0,6,12,0,0,12,8,0,0,4,12,0,0,8,10,0,0,7,11,0,0,2,16,7,6,14,7,0,0,0,6,15,15,8,0,0,0 +0,0,3,11,13,10,0,0,0,3,15,7,4,14,2,0,0,8,13,1,1,14,2,0,0,7,13,14,10,13,0,0,0,0,1,14,16,1,0,0,0,0,10,11,10,10,0,0,0,0,11,6,3,13,0,0,0,0,3,13,16,9,0,0,8 +0,0,0,4,15,2,0,0,0,0,0,9,12,0,1,2,0,0,1,15,4,0,12,8,0,1,12,9,0,5,15,1,0,8,13,0,0,12,10,0,4,16,13,12,14,15,1,0,7,14,12,12,16,6,0,0,0,0,0,6,14,0,0,0,4 +0,0,0,0,15,11,0,0,0,0,0,1,16,8,0,0,0,0,0,12,13,1,0,0,0,0,7,15,2,12,3,0,0,1,15,7,2,16,4,0,0,10,16,11,11,16,3,0,0,15,12,12,15,16,5,0,0,0,0,0,13,7,0,0,4 +0,0,14,16,16,15,5,0,0,0,13,8,4,5,2,0,0,0,13,6,2,0,0,0,0,0,16,13,14,2,0,0,0,0,0,0,5,11,0,0,0,0,0,0,0,16,0,0,0,4,11,1,5,12,0,0,0,1,11,16,15,3,0,0,5 +0,1,6,14,11,0,0,0,0,7,10,2,15,4,0,0,0,5,10,1,13,9,0,0,0,2,14,4,12,16,0,0,0,0,5,12,5,11,7,0,0,0,0,0,0,8,8,0,0,0,3,1,0,11,6,0,0,0,10,13,12,8,0,0,9 +0,0,6,14,16,9,0,0,0,5,16,10,12,12,0,0,0,1,7,0,9,12,0,0,0,0,2,13,16,8,0,0,0,0,2,13,14,16,7,0,0,0,1,0,0,10,9,0,0,0,11,9,5,15,7,0,0,0,7,16,16,10,0,0,3 +0,0,11,15,0,0,0,0,0,0,9,16,1,0,0,0,0,0,9,16,0,0,0,0,0,0,11,13,0,9,5,0,0,0,13,11,0,11,13,0,0,1,15,10,6,12,16,1,0,4,16,16,16,15,16,4,0,0,7,7,4,0,15,7,4 +0,0,0,10,15,6,0,0,0,0,7,16,10,12,2,0,0,1,15,5,1,11,4,0,0,3,14,0,0,5,6,0,0,7,10,0,0,3,8,0,0,4,12,0,0,4,11,0,0,0,15,4,0,10,8,0,0,0,2,12,13,13,1,0,0 +0,0,0,1,16,6,0,0,0,0,0,9,15,2,0,0,0,0,3,16,4,1,4,0,0,1,13,11,0,11,13,0,0,6,15,2,2,16,7,0,0,13,15,12,15,16,6,0,0,4,8,8,14,11,1,0,0,0,0,0,15,6,0,0,4 +0,0,4,13,14,3,0,0,0,6,15,6,5,11,0,0,0,11,8,0,4,12,0,0,0,8,11,4,16,5,0,0,0,1,10,16,15,2,0,0,0,1,14,7,6,15,4,0,0,1,15,2,0,6,15,0,0,0,5,12,13,15,6,0,8 +0,0,3,16,13,6,0,0,0,1,9,13,12,16,2,0,0,10,16,10,6,16,4,0,0,7,16,16,16,16,8,0,0,0,4,8,5,10,10,0,0,0,0,0,0,8,12,0,0,0,1,10,5,15,8,0,0,0,2,14,16,12,0,0,9 +0,2,12,16,16,13,1,0,0,11,15,4,3,16,7,0,0,7,11,1,13,13,0,0,0,0,0,10,16,15,3,0,0,0,0,1,4,14,11,0,0,1,4,0,0,12,12,0,0,8,14,0,3,16,5,0,0,3,13,16,16,10,0,0,3 +0,0,7,15,16,11,1,0,0,0,0,15,16,16,1,0,0,0,0,13,16,16,6,0,0,0,0,13,16,16,3,0,0,0,0,14,16,14,2,0,0,0,2,16,16,12,0,0,0,0,5,16,16,14,0,0,0,0,8,16,16,8,0,0,1 +0,0,12,16,14,6,0,0,0,2,16,16,16,6,0,0,0,4,16,16,12,2,0,0,0,3,16,16,16,1,0,0,0,2,16,16,16,0,0,0,0,4,16,16,12,0,0,0,0,3,16,16,15,4,0,0,0,2,14,16,12,8,0,0,1 +0,0,0,8,16,5,0,0,0,0,9,13,7,14,0,0,0,0,15,2,0,9,4,0,0,3,13,0,0,4,8,0,0,4,7,0,0,4,8,0,0,3,12,0,0,4,9,0,0,0,11,10,1,7,9,0,0,0,1,9,15,14,3,0,0 +0,0,14,16,12,16,16,0,0,0,8,12,8,16,11,0,0,0,0,0,7,15,3,0,0,0,2,7,14,14,3,0,0,0,12,16,14,12,6,0,0,0,1,15,5,0,0,0,0,0,9,16,0,0,0,0,0,0,16,9,0,0,0,0,7 +0,6,16,12,2,0,0,0,0,1,13,16,12,0,0,0,0,0,0,12,12,0,0,0,0,0,1,15,9,0,0,0,0,0,4,16,1,0,0,0,0,0,14,11,0,0,0,0,0,5,16,15,16,15,4,0,0,4,15,13,12,11,8,0,2 +0,0,0,5,16,4,0,0,0,0,1,13,13,1,0,0,0,0,7,16,5,2,3,0,0,3,16,15,10,15,13,0,0,10,16,16,16,16,8,0,0,1,4,5,16,15,3,0,0,0,0,4,16,11,0,0,0,0,0,7,16,3,0,0,4 +0,0,6,9,13,7,0,0,0,7,16,12,13,14,0,0,0,5,3,1,15,7,0,0,0,0,0,5,16,1,0,0,0,0,0,4,16,6,0,0,0,0,0,0,10,16,10,0,0,0,0,1,7,16,10,0,0,0,4,15,13,8,0,0,3 +0,5,14,15,9,1,0,0,0,7,14,12,16,15,1,0,0,0,1,0,9,16,4,0,0,0,0,0,7,16,4,0,0,0,0,0,12,14,0,0,0,0,1,11,16,4,0,0,0,3,14,16,13,8,2,0,0,4,12,16,12,10,4,0,2 +0,0,3,10,12,0,0,0,0,0,9,16,16,11,0,0,0,0,14,12,2,15,3,0,0,1,16,9,0,9,7,0,0,4,15,1,0,8,8,0,0,3,16,0,0,7,11,0,0,2,15,10,9,15,6,0,0,0,3,15,15,7,0,0,0 +0,0,1,14,10,0,0,0,0,0,10,13,1,0,0,0,0,2,15,4,0,0,0,0,0,5,16,2,0,0,0,0,0,8,15,2,0,0,0,0,0,4,16,16,16,14,2,0,0,0,12,16,14,16,10,0,0,0,2,11,14,13,7,0,6 +0,0,1,10,2,3,0,0,0,0,8,16,15,16,0,0,0,0,12,16,16,4,0,0,0,0,12,16,7,0,0,0,0,3,16,13,13,1,0,0,0,1,16,4,12,10,0,0,0,0,11,12,11,16,2,0,0,0,2,12,14,9,1,0,8 +0,0,9,15,4,0,0,0,0,8,16,11,7,0,0,0,0,11,11,0,2,10,0,0,0,6,16,6,13,14,1,0,0,0,7,16,16,4,0,0,0,0,5,16,16,9,0,0,0,0,10,16,16,14,0,0,0,0,6,16,9,4,0,0,8 +0,0,7,15,10,8,1,0,0,4,16,7,11,16,8,0,0,8,16,2,7,16,5,0,0,0,14,16,16,9,0,0,0,0,6,16,16,3,0,0,0,0,9,14,15,14,2,0,0,0,15,12,11,16,4,0,0,0,7,15,14,7,0,0,8 +0,0,1,11,10,0,0,0,0,0,11,16,13,3,0,0,0,2,16,14,14,16,10,0,0,2,13,16,16,16,8,0,0,0,0,2,0,16,7,0,0,0,0,0,2,16,3,0,0,0,0,4,15,12,0,0,0,0,0,13,8,0,0,0,9 +0,0,11,8,0,0,0,0,0,0,11,12,0,0,0,0,0,0,14,8,0,0,0,0,0,4,16,10,5,1,0,0,0,3,16,16,16,13,2,0,0,0,16,10,10,16,8,0,0,0,16,11,12,16,6,0,0,0,8,16,16,9,0,0,6 +0,1,8,14,13,2,0,0,0,8,15,12,16,10,0,0,0,3,3,3,16,4,0,0,0,0,0,4,14,0,0,0,0,0,0,3,16,5,0,0,0,0,0,0,8,16,5,0,0,0,2,7,9,16,6,0,0,0,7,15,11,5,0,0,3 +0,1,3,15,14,4,0,0,0,6,13,16,14,14,0,0,0,10,6,9,2,14,3,0,0,8,4,0,0,7,8,0,0,7,6,0,0,8,8,0,0,1,13,1,0,13,5,0,0,0,10,11,9,15,1,0,0,0,2,12,16,6,0,0,0 +0,0,0,7,15,0,0,0,0,0,0,14,13,0,0,0,0,0,5,16,3,0,0,0,0,1,13,13,0,6,11,0,0,8,16,9,2,15,10,0,1,14,16,16,16,16,6,0,0,4,8,9,16,14,0,0,0,0,0,7,16,10,0,0,4 +0,0,4,15,10,7,0,0,0,0,8,16,16,16,1,0,0,0,8,16,16,16,0,0,0,0,3,16,16,10,1,0,0,0,10,16,16,4,0,0,0,3,16,14,15,11,0,0,0,3,15,11,13,15,0,0,0,0,5,13,16,8,0,0,8 +0,0,4,12,12,1,0,0,0,1,15,16,16,8,0,0,0,6,16,16,16,16,1,0,0,1,4,5,7,16,4,0,0,0,0,0,1,16,8,0,0,0,0,0,2,16,7,0,0,0,10,8,13,14,1,0,0,0,7,16,9,1,0,0,9 +0,0,5,12,15,10,1,0,0,6,16,16,16,15,2,0,0,4,14,16,16,5,0,0,0,0,5,16,8,0,0,0,0,0,3,16,16,10,1,0,0,0,0,3,16,16,7,0,0,0,4,14,16,12,0,0,0,0,4,14,8,0,0,0,3 +0,0,10,10,7,0,0,0,0,0,13,16,16,12,1,0,0,3,16,14,6,15,7,0,0,6,12,2,0,8,8,0,0,4,8,0,1,14,7,0,0,4,10,0,8,15,1,0,0,2,16,14,15,4,0,0,0,0,10,16,9,0,0,0,0 +0,0,6,9,0,0,0,0,0,0,5,16,12,0,0,0,0,4,5,3,13,11,0,0,0,6,11,0,1,14,5,0,0,3,13,0,0,8,9,0,0,0,15,1,5,12,12,0,0,0,15,14,16,14,4,0,0,0,5,16,10,2,0,0,0 +0,0,3,14,12,0,0,0,0,1,16,16,16,7,0,0,0,6,16,12,16,16,2,0,0,3,16,16,12,16,4,0,0,0,0,0,0,16,6,0,0,0,0,0,2,16,7,0,0,0,1,11,15,15,2,0,0,0,4,13,9,3,0,0,9 +0,0,0,3,13,8,0,0,0,0,0,12,16,10,0,0,0,0,0,15,16,11,0,0,0,1,15,16,16,12,0,0,0,7,16,16,16,12,0,0,0,4,13,14,16,13,0,0,0,0,0,8,16,16,2,0,0,0,0,6,14,11,3,0,1 +0,0,0,9,8,0,0,0,0,0,2,15,16,8,0,0,0,0,9,16,16,8,0,0,0,0,13,16,16,12,0,0,0,1,13,16,16,12,0,0,0,0,1,16,16,15,0,0,0,0,0,16,16,16,3,0,0,0,0,9,12,12,7,0,1 +0,0,6,11,16,8,0,0,0,1,15,15,11,2,0,0,0,8,16,7,0,0,0,0,0,6,16,5,0,0,0,0,0,0,10,16,13,4,0,0,0,0,0,1,14,16,0,0,0,0,2,8,15,10,0,0,0,0,10,14,7,0,0,0,5 +0,0,3,13,16,16,2,0,0,0,10,14,13,16,7,0,0,0,0,0,6,16,4,0,0,0,2,11,15,16,12,0,0,0,9,14,16,9,1,0,0,0,0,9,15,0,0,0,0,0,2,15,6,0,0,0,0,0,7,10,0,0,0,0,7 +0,0,5,15,2,0,0,0,0,0,16,15,0,0,0,0,0,5,16,6,0,0,0,0,0,8,16,11,11,4,0,0,0,8,16,16,16,16,2,0,0,6,16,8,6,16,5,0,0,2,16,14,16,16,2,0,0,0,9,16,14,7,0,0,6 +0,0,0,11,15,6,0,0,0,0,11,16,16,11,0,0,0,2,16,16,16,12,0,0,0,0,12,16,16,9,0,0,0,0,5,16,16,15,1,0,0,0,7,16,3,15,2,0,0,0,1,16,6,16,0,0,0,0,1,11,15,7,0,0,8 +0,0,4,14,16,8,0,0,0,3,16,16,16,16,0,0,0,3,9,4,16,16,4,0,0,0,2,16,16,16,14,0,0,0,2,13,16,12,2,0,0,0,0,7,16,4,0,0,0,0,0,13,13,0,0,0,0,0,5,13,3,0,0,0,7 +0,0,0,0,13,4,0,0,0,0,0,9,12,1,0,0,0,0,4,14,4,0,0,0,0,1,14,12,4,4,1,0,0,7,16,16,16,16,7,0,0,4,7,2,9,16,3,0,0,0,0,0,12,12,0,0,0,0,0,0,14,5,0,0,4 +0,0,9,15,8,2,0,0,0,3,15,15,16,9,0,0,0,0,11,16,16,12,0,0,0,0,0,0,2,14,2,0,0,0,0,0,0,15,8,0,0,0,0,0,0,9,12,0,0,0,14,5,7,13,14,0,0,0,10,16,15,12,1,0,9 +0,0,11,3,8,7,0,0,0,1,15,11,16,16,7,0,0,0,16,4,5,13,10,0,0,3,13,0,0,8,9,0,0,5,13,0,0,8,8,0,0,6,13,0,7,16,2,0,0,2,16,12,16,10,0,0,0,0,9,13,8,0,0,0,0 +0,0,0,1,11,7,0,0,0,0,0,13,16,15,2,0,0,0,4,16,16,16,4,0,0,2,16,16,16,16,0,0,0,1,8,9,16,16,1,0,0,0,0,10,16,16,1,0,0,0,0,9,16,16,0,0,0,0,0,2,11,7,0,0,1 +0,0,0,1,13,9,0,0,0,0,0,8,16,2,0,0,0,0,7,16,4,0,0,0,0,4,16,7,3,11,4,0,0,12,16,13,16,16,5,0,0,11,12,12,16,15,0,0,0,0,0,0,15,13,0,0,0,0,0,1,16,5,0,0,4 +0,0,0,1,13,7,0,0,0,0,0,12,14,0,0,0,0,0,8,15,3,0,2,0,0,6,16,7,4,10,13,0,0,13,16,16,16,16,10,0,0,1,8,8,9,15,2,0,0,0,0,0,10,10,0,0,0,0,0,0,15,7,0,0,4 +0,0,4,15,6,0,0,0,0,3,16,16,16,5,0,0,0,7,11,4,8,14,1,0,0,7,10,0,0,14,6,0,0,7,10,0,0,11,9,0,0,2,14,0,0,9,10,0,0,0,12,10,9,15,6,0,0,0,2,13,16,7,0,0,0 +0,0,8,13,1,0,0,0,0,0,12,16,0,0,0,0,0,0,15,11,0,0,0,0,0,0,15,13,6,3,0,0,0,0,15,16,16,16,5,0,0,0,15,16,14,16,12,0,0,0,13,16,15,16,7,0,0,0,5,15,13,7,0,0,6 +0,1,10,12,16,12,3,0,0,0,12,16,10,11,3,0,0,0,7,14,0,0,0,0,0,0,7,16,7,1,0,0,0,0,1,12,15,12,0,0,0,2,11,13,3,16,2,0,0,8,15,6,15,11,0,0,0,3,13,14,9,1,0,0,5 +0,2,15,12,12,12,7,0,0,0,12,16,14,14,9,0,0,0,10,10,0,0,0,0,0,0,8,13,3,0,0,0,0,0,0,7,15,4,0,0,0,0,0,0,10,11,0,0,0,2,7,9,14,3,0,0,0,4,15,11,1,0,0,0,5 +0,0,3,13,16,15,2,0,0,0,10,12,10,16,10,3,0,0,0,0,8,16,15,4,0,0,0,8,16,15,1,0,0,0,0,2,10,10,0,0,0,0,0,4,15,1,0,0,0,0,0,11,9,0,0,0,0,0,4,15,0,0,0,0,7 +0,0,11,16,14,9,1,0,0,0,15,13,13,16,4,0,0,0,0,0,4,16,5,0,0,0,0,0,10,15,2,0,0,0,0,8,16,6,0,0,0,0,8,16,8,0,0,0,0,6,16,16,16,10,0,0,0,1,8,8,12,13,0,0,2 +0,4,16,13,0,0,0,0,0,10,16,16,2,0,0,0,0,8,7,16,4,0,0,0,0,0,5,16,2,0,0,0,0,0,10,14,0,0,0,0,0,1,15,10,0,0,0,0,0,8,16,16,16,16,6,0,0,3,13,16,16,15,5,0,2 +0,0,8,0,8,7,0,0,0,0,16,4,13,16,2,0,0,2,14,2,7,16,6,0,0,7,12,0,0,13,7,0,0,5,13,0,0,12,8,0,0,5,16,8,4,15,7,0,0,3,16,16,16,16,1,0,0,0,7,14,10,3,0,0,0 +0,4,16,14,1,0,0,0,0,9,16,16,8,0,0,0,0,5,9,12,7,0,0,0,0,0,1,16,3,0,0,0,0,0,6,15,0,0,0,0,0,1,15,10,0,0,0,0,0,6,16,14,10,6,1,0,0,4,15,16,16,16,13,0,2 +0,0,5,16,10,0,0,0,0,0,12,15,15,5,0,0,0,0,10,3,11,9,0,0,0,0,0,0,12,8,0,0,0,0,0,0,15,6,0,0,0,0,2,7,16,2,0,0,0,0,11,16,16,15,10,2,0,0,6,8,4,9,15,3,2 +0,0,5,13,3,0,0,0,0,0,12,16,11,0,0,0,0,0,5,13,16,1,0,0,0,0,0,3,16,3,0,0,0,0,0,9,16,1,0,0,0,0,1,16,9,0,0,0,0,0,7,16,13,8,4,0,0,0,5,16,16,16,16,5,2 +0,0,4,13,12,3,0,0,0,0,15,16,16,7,0,0,0,0,16,16,16,16,3,0,0,0,11,16,16,5,0,0,0,0,15,10,12,15,1,0,0,2,16,4,1,16,10,0,0,1,15,12,11,16,5,0,0,0,6,15,9,1,0,0,8 +0,0,0,6,16,2,0,0,0,0,0,12,13,0,0,0,0,0,8,15,2,0,0,0,0,3,16,8,1,11,7,0,0,14,16,16,16,16,10,0,0,5,12,12,16,16,4,0,0,0,0,3,16,9,0,0,0,0,0,7,16,5,0,0,4 +0,0,6,15,16,9,0,0,0,2,15,14,15,16,0,0,0,0,2,0,13,15,0,0,0,0,2,6,14,15,2,0,0,0,12,16,16,16,10,0,0,0,2,11,16,2,0,0,0,0,2,15,9,0,0,0,0,0,8,13,1,0,0,0,7 +0,0,8,13,16,11,1,0,0,0,16,8,8,12,2,0,0,4,15,0,0,0,0,0,0,4,12,0,0,0,0,0,0,2,15,14,9,1,0,0,0,0,2,7,12,11,1,0,0,2,10,5,7,16,2,0,0,0,10,16,14,5,0,0,5 +0,0,6,14,16,10,0,0,0,3,15,14,16,16,1,0,0,0,3,0,10,16,4,0,0,0,0,5,12,16,8,0,0,0,0,13,16,15,6,0,0,0,0,5,16,10,0,0,0,0,0,11,15,0,0,0,0,0,8,15,2,0,0,0,7 +0,0,1,11,14,10,4,0,0,0,8,16,16,16,12,0,0,1,15,14,14,16,12,0,0,7,16,16,16,16,8,0,0,0,4,3,8,16,1,0,0,0,0,0,16,12,0,0,0,0,0,6,16,9,0,0,0,0,2,16,7,0,0,0,9 +0,0,1,10,14,7,1,0,0,4,16,12,11,16,4,0,0,6,6,0,5,15,1,0,0,0,0,3,16,6,0,0,0,0,0,6,16,11,0,0,0,0,0,0,10,16,4,0,0,0,0,7,10,16,4,0,0,0,0,7,13,5,0,0,3 +0,0,11,15,8,0,0,0,0,4,16,9,15,5,0,0,0,6,15,1,15,13,0,0,0,1,15,15,16,16,4,0,0,0,1,7,5,16,6,0,0,0,0,0,0,16,5,0,0,0,15,9,11,15,3,0,0,1,13,16,14,3,0,0,9 +0,0,5,12,16,9,0,0,0,1,16,15,15,13,0,0,0,0,4,1,13,14,2,0,0,0,0,5,16,16,13,0,0,0,0,12,16,11,4,0,0,0,0,8,15,1,0,0,0,0,0,15,12,0,0,0,0,0,4,15,2,0,0,0,7 +0,0,5,14,10,0,0,0,0,2,15,14,13,0,0,0,0,6,16,3,9,14,1,0,0,8,16,16,16,16,7,0,0,0,8,5,6,16,8,0,0,0,0,0,8,15,6,0,0,0,3,12,16,7,0,0,0,0,6,16,7,0,0,0,9 +0,0,5,10,16,8,0,0,0,1,16,16,16,6,0,0,0,4,16,15,4,0,0,0,0,3,16,10,0,0,0,0,0,0,11,16,6,0,0,0,0,0,1,15,15,2,0,0,0,0,5,13,16,8,0,0,0,0,7,16,13,3,0,0,5 +0,0,5,11,14,2,0,0,0,8,16,16,14,4,0,0,0,12,15,8,1,0,0,0,0,2,15,10,0,0,0,0,0,0,2,13,13,3,0,0,0,0,0,1,9,15,4,0,0,0,2,10,15,15,3,0,0,0,3,12,8,3,0,0,5 +0,1,10,13,16,9,0,0,0,11,16,14,16,16,2,0,0,7,6,3,16,11,0,0,0,0,0,5,16,9,0,0,0,0,0,3,16,12,0,0,0,0,0,0,9,16,5,0,0,0,3,9,16,15,1,0,0,0,12,15,11,1,0,0,3 +0,0,0,8,15,10,0,0,0,0,1,16,16,16,0,0,0,0,6,16,16,15,1,0,0,3,14,16,16,12,0,0,0,8,16,16,16,12,0,0,0,5,7,13,16,13,0,0,0,0,0,8,16,16,4,0,0,0,0,6,15,15,9,0,1 +0,0,7,15,8,0,0,0,0,7,16,16,12,0,0,0,0,12,14,11,11,0,0,0,0,8,3,16,7,0,0,0,0,0,5,16,3,0,0,0,0,0,9,14,0,0,0,0,0,0,12,15,12,8,3,0,0,0,6,16,16,16,11,0,2 +0,0,7,9,15,6,0,0,0,2,16,16,16,16,3,0,0,7,15,8,1,13,8,0,0,8,10,0,0,8,8,0,0,8,9,0,0,8,8,0,0,7,14,0,3,15,5,0,0,2,16,14,16,13,1,0,0,0,8,13,8,0,0,0,0 +0,0,8,12,5,0,0,0,0,3,15,13,15,0,0,0,0,0,0,9,13,0,0,0,0,0,0,13,12,0,0,0,0,0,0,7,16,11,3,0,0,0,0,0,3,14,14,0,0,0,4,7,7,15,12,0,0,0,8,13,12,6,0,0,3 +0,0,0,1,14,4,0,0,0,0,0,9,15,2,0,0,0,0,2,16,8,0,0,0,0,0,13,14,0,3,2,0,0,7,16,7,10,16,9,0,1,14,16,16,16,16,6,0,0,7,8,4,15,14,1,0,0,0,0,0,16,10,0,0,4 +0,1,9,12,14,6,0,0,0,6,16,10,16,12,0,0,0,1,14,13,12,16,0,0,0,0,0,0,2,16,4,0,0,0,0,0,0,15,9,0,0,0,0,0,0,10,9,0,0,0,0,0,5,14,11,0,0,0,10,16,16,7,0,0,9 +0,0,0,11,9,0,0,0,0,0,3,16,3,0,0,0,0,0,10,14,0,1,2,0,0,3,16,5,0,13,9,0,0,10,16,8,10,16,8,0,3,16,16,16,16,15,4,0,0,4,3,7,16,3,0,0,0,0,0,11,11,0,0,0,4 +0,0,0,6,14,3,0,0,0,0,2,14,16,12,0,0,0,0,4,16,16,16,0,0,0,1,11,16,16,12,0,0,0,6,16,16,16,12,0,0,0,0,8,16,16,9,0,0,0,0,4,16,16,10,1,0,0,0,0,9,14,11,2,0,1 +0,0,1,11,14,13,0,0,0,1,13,16,9,5,0,0,0,2,16,9,1,8,6,0,0,0,13,16,15,16,6,0,0,0,1,13,16,13,0,0,0,0,1,16,16,16,2,0,0,0,5,16,16,14,1,0,0,0,2,14,11,1,0,0,8 +0,0,1,11,5,0,0,0,0,0,8,16,1,0,0,0,0,2,15,10,0,0,0,0,0,6,16,5,3,0,0,0,0,8,16,16,16,14,0,0,0,3,16,9,1,16,10,0,0,0,11,16,12,16,6,0,0,0,0,10,14,11,1,0,6 +0,0,3,12,16,10,0,0,0,0,16,10,5,16,1,0,0,4,16,11,10,14,0,0,0,0,14,16,16,13,1,0,0,0,2,8,8,16,7,0,0,0,0,0,1,16,3,0,0,0,0,10,16,7,0,0,0,0,2,10,3,0,0,0,9 +0,0,1,14,6,2,6,0,0,0,10,13,1,10,10,0,0,4,16,3,3,16,5,0,0,10,16,12,14,16,9,0,0,3,16,16,16,10,2,0,0,0,0,5,15,1,0,0,0,0,0,11,10,0,0,0,0,0,0,13,8,0,0,0,4 +0,0,0,14,4,1,1,0,0,0,4,16,1,12,7,0,0,1,15,8,5,16,3,0,0,9,14,0,10,11,0,0,0,11,16,14,16,14,4,0,0,6,8,14,16,14,5,0,0,0,0,11,9,0,0,0,0,0,0,13,4,0,0,0,4 +0,0,0,0,8,16,2,0,0,0,0,6,16,16,3,0,0,0,1,15,16,16,0,0,0,0,13,16,16,12,0,0,0,4,16,7,16,12,0,0,0,5,4,3,16,9,0,0,0,0,0,2,16,8,0,0,0,0,0,0,12,14,0,0,1 +0,0,0,4,14,5,9,0,0,0,4,16,6,11,13,0,0,2,14,9,2,16,4,0,0,7,16,16,16,15,0,0,0,3,16,16,16,13,2,0,0,0,2,9,16,1,0,0,0,0,0,6,16,2,0,0,0,0,0,6,16,5,0,0,4 +0,0,9,12,13,15,16,3,0,1,14,13,12,16,14,1,0,0,0,0,6,15,3,0,0,0,5,13,16,16,10,0,0,1,16,16,15,12,3,0,0,0,5,16,7,0,0,0,0,0,7,16,0,0,0,0,0,0,11,14,0,0,0,0,7 +0,0,6,13,16,14,1,0,0,5,15,4,1,12,4,0,0,1,16,10,15,10,2,0,0,0,10,13,3,0,0,0,0,0,9,15,1,0,0,0,0,0,13,11,10,0,0,0,0,0,15,3,13,6,0,0,0,0,5,12,14,9,0,0,8 +0,0,7,12,15,13,3,0,0,2,16,6,2,11,7,0,0,7,14,9,13,11,1,0,0,2,16,12,6,7,2,0,0,2,16,15,8,2,0,0,0,2,16,14,2,0,0,0,0,0,14,16,8,0,0,0,0,0,4,12,11,0,0,0,8 +0,0,0,0,10,12,1,0,0,0,0,1,15,16,3,0,0,0,2,10,16,11,0,0,0,1,11,16,16,12,0,0,0,5,8,3,16,9,0,0,0,0,0,1,16,10,0,0,0,0,0,0,15,11,0,0,0,0,0,0,7,13,1,0,1 +0,0,0,8,11,3,7,0,0,0,6,15,4,10,9,0,0,3,15,6,1,16,5,0,0,7,16,12,14,16,14,0,0,5,16,16,16,14,7,0,0,0,4,7,16,5,0,0,0,0,0,9,15,0,0,0,0,0,0,7,16,0,0,0,4 +0,0,0,0,2,15,3,0,0,0,0,0,12,16,4,0,0,0,0,6,16,16,0,0,0,0,7,16,16,14,0,0,0,6,16,11,16,12,0,0,0,1,3,0,15,13,0,0,0,0,0,0,10,16,0,0,0,0,0,0,2,14,5,0,1 +0,0,0,7,12,2,0,0,0,1,10,16,15,6,0,0,0,0,15,13,1,0,0,0,0,2,16,8,0,0,0,0,0,2,16,11,12,9,0,0,0,2,16,14,10,14,10,0,0,0,11,15,8,11,16,1,0,0,1,9,16,16,13,1,6 +0,0,4,14,15,6,0,0,0,2,16,12,15,14,0,0,0,7,9,0,0,12,4,0,0,8,6,0,0,6,7,0,0,5,8,0,0,4,8,0,0,2,14,1,0,7,7,0,0,0,12,16,16,16,2,0,0,0,2,11,15,8,0,0,0 +0,0,0,9,16,7,0,0,0,0,7,16,8,0,0,0,0,0,14,10,0,0,0,0,0,1,16,4,0,0,0,0,0,2,16,8,8,2,0,0,0,1,14,14,9,15,7,0,0,0,9,14,4,8,14,0,0,0,0,9,15,15,7,0,6 +0,0,0,0,3,13,3,0,0,0,0,0,11,16,4,0,0,0,0,11,16,16,2,0,0,0,9,16,16,16,0,0,0,3,16,5,13,16,0,0,0,3,2,0,12,15,1,0,0,0,0,0,8,16,0,0,0,0,0,0,2,14,3,0,1 +0,0,5,15,13,2,0,0,0,3,16,16,16,16,0,0,0,8,7,1,3,14,7,0,0,3,1,0,0,5,8,0,0,5,10,0,0,5,8,0,0,3,16,12,8,14,8,0,0,0,13,16,16,16,5,0,0,0,3,14,16,10,0,0,0 +0,0,3,13,0,0,0,0,0,0,11,14,0,0,0,0,0,2,16,3,0,0,0,0,0,7,14,0,0,0,0,0,0,8,13,8,12,7,1,0,0,6,16,10,10,16,6,0,0,0,13,14,12,15,8,0,0,0,3,13,16,12,3,0,6 +0,0,3,15,16,16,9,0,0,0,1,9,14,16,5,0,0,0,0,1,11,15,0,0,0,0,5,16,16,16,14,0,0,0,1,12,14,5,2,0,0,0,1,15,8,0,0,0,0,0,5,16,2,0,0,0,0,0,7,15,2,0,0,0,7 +0,0,0,0,9,10,0,0,0,0,0,5,16,15,0,0,0,0,3,14,16,12,0,0,0,3,15,16,16,10,0,0,0,4,4,8,16,8,0,0,0,0,0,3,16,9,0,0,0,0,0,3,15,10,0,0,0,0,0,0,7,14,2,0,1 +0,0,4,15,8,0,0,0,0,1,14,12,16,1,0,0,0,2,10,1,16,0,0,0,0,0,3,11,8,0,0,0,0,0,0,10,15,6,0,0,0,0,0,2,12,15,2,0,0,0,1,10,8,15,3,0,0,0,2,15,16,11,0,0,3 +0,0,0,4,13,15,0,0,0,0,6,16,9,1,0,0,0,0,15,9,0,0,0,0,0,3,15,0,0,0,0,0,0,8,12,0,0,0,0,0,0,4,15,12,12,7,1,0,0,0,9,15,9,13,11,0,0,0,0,6,12,16,10,0,6 +0,0,0,12,15,4,0,0,0,0,7,9,8,15,0,0,0,2,12,0,0,9,4,0,0,5,11,0,0,4,8,0,0,8,4,0,0,8,6,0,0,2,12,0,1,14,5,0,0,0,13,15,16,12,1,0,0,0,2,10,12,1,0,0,0 +0,0,0,9,14,13,4,0,0,0,6,14,6,10,12,0,0,0,9,12,6,15,7,0,0,1,11,16,15,5,0,0,0,7,16,16,10,0,0,0,0,7,16,9,16,9,0,0,0,1,11,8,7,16,0,0,0,0,2,11,12,13,0,0,8 +0,0,8,15,16,16,12,0,0,0,4,12,13,16,8,0,0,0,0,0,10,14,0,0,0,1,9,12,16,13,4,0,0,5,16,16,16,14,5,0,0,0,2,16,5,0,0,0,0,0,10,14,0,0,0,0,0,0,11,11,0,0,0,0,7 +0,0,2,11,16,9,0,0,0,0,9,14,15,14,0,0,0,0,0,0,13,10,0,0,0,0,4,9,16,12,5,0,0,9,16,16,16,16,11,0,0,3,8,12,11,0,0,0,0,0,0,16,5,0,0,0,0,0,2,16,2,0,0,0,7 +0,0,1,10,16,16,7,0,0,0,13,14,10,7,3,0,0,6,16,2,0,0,0,0,0,10,16,16,16,8,1,0,0,1,6,11,13,16,9,0,0,0,0,0,4,16,8,0,0,0,0,1,9,16,5,0,0,0,2,15,16,8,0,0,5 +0,0,0,6,15,16,6,0,0,0,3,16,5,9,12,0,0,0,4,15,7,13,4,0,0,0,14,16,16,10,0,0,0,5,16,13,11,0,0,0,0,5,15,1,16,3,0,0,0,0,10,13,15,6,0,0,0,0,0,5,13,5,0,0,8 +0,0,1,11,15,2,0,0,0,6,6,16,16,9,0,0,0,8,14,13,3,13,4,0,0,7,16,1,0,6,6,0,0,3,12,0,0,6,9,0,0,0,14,5,2,13,12,0,0,0,3,16,16,16,8,0,0,0,0,9,16,13,2,0,0 +0,0,4,12,13,11,0,0,0,3,15,3,7,16,1,0,0,4,12,9,15,4,0,0,0,0,11,15,1,0,0,0,0,1,13,16,12,0,0,0,0,3,14,1,14,3,0,0,0,0,12,3,4,12,0,0,0,0,3,12,12,13,0,0,8 +0,0,10,15,2,0,0,0,0,5,16,16,8,0,0,0,0,9,13,8,12,0,0,0,0,12,7,4,14,0,0,0,0,3,1,7,12,0,0,0,0,0,0,15,13,1,0,0,0,0,9,16,16,16,6,0,0,0,10,16,16,16,10,0,2 +0,0,2,11,16,16,11,0,0,0,13,11,4,13,13,0,0,0,12,14,15,14,2,0,0,0,12,16,15,5,0,0,0,0,8,16,11,0,0,0,0,2,16,9,16,4,0,0,0,4,16,6,14,10,0,0,0,0,3,12,15,6,0,0,8 +0,0,0,8,13,1,0,0,0,0,6,16,11,1,0,0,0,0,12,12,0,0,0,0,0,2,16,6,0,0,0,0,0,0,15,10,9,6,2,0,0,2,15,12,10,16,11,0,0,0,8,15,10,14,14,0,0,0,0,9,13,12,7,0,6 +0,2,15,14,3,0,0,0,0,7,15,14,13,0,0,0,0,9,11,2,16,4,0,0,0,7,4,0,14,6,0,0,0,0,0,0,14,7,0,0,0,0,0,3,16,3,0,0,0,0,4,15,16,8,4,0,0,1,16,16,16,16,16,5,2 +0,0,0,8,13,10,5,0,0,0,8,16,11,14,15,0,0,0,9,16,16,14,11,0,0,0,3,10,16,16,7,0,0,0,0,0,2,16,4,0,0,0,0,0,4,16,2,0,0,0,0,1,11,11,0,0,0,0,0,14,15,2,0,0,9 +0,0,3,12,13,9,0,0,0,0,12,8,2,12,2,0,0,0,11,8,12,11,0,0,0,0,7,16,5,0,0,0,0,3,12,6,11,0,0,0,0,4,8,0,7,9,0,0,0,1,12,2,0,13,4,0,0,0,2,12,11,12,6,0,8 +0,0,9,15,16,15,8,0,0,5,16,16,13,12,13,1,0,6,16,5,1,0,0,0,0,11,16,16,10,0,0,0,0,8,15,11,16,0,0,0,0,0,0,10,12,0,0,0,0,0,2,15,7,0,0,0,0,0,9,13,0,0,0,0,5 +0,0,7,11,15,13,0,0,0,1,14,12,16,9,0,0,0,0,0,3,16,6,0,0,0,0,2,11,16,8,1,0,0,1,15,16,16,16,10,0,0,0,10,16,9,4,1,0,0,0,8,13,0,0,0,0,0,0,11,9,0,0,0,0,7 +0,0,0,4,13,10,0,0,0,0,0,12,10,14,4,0,0,0,0,14,4,15,4,0,0,1,9,15,14,8,0,0,0,5,14,10,8,0,0,0,0,4,8,2,12,0,0,0,0,0,9,8,12,4,0,0,0,0,1,7,13,2,0,0,8 +0,0,2,14,1,0,0,0,0,0,9,11,0,0,0,0,0,0,16,4,0,0,0,0,0,4,16,0,0,0,0,0,0,3,13,2,8,8,3,0,0,0,16,14,8,12,12,0,0,1,10,12,4,10,13,0,0,0,2,11,14,14,4,0,6 +0,0,0,2,10,16,2,0,0,0,0,10,13,16,6,0,0,0,0,0,5,16,7,0,0,1,7,8,10,16,3,0,0,5,16,13,16,13,3,0,0,0,0,2,16,9,0,0,0,0,0,4,16,5,0,0,0,0,0,0,11,8,0,0,7 +0,0,6,12,16,16,11,0,0,0,5,15,13,4,0,0,0,0,1,14,0,0,0,0,0,0,7,16,14,4,0,0,0,0,1,6,12,15,0,0,0,0,0,0,0,16,2,0,0,0,3,0,3,13,0,0,0,0,10,16,14,4,0,0,5 +0,1,13,16,1,0,0,0,0,7,16,16,3,0,0,0,0,12,9,16,4,0,0,0,0,5,3,15,4,0,0,0,0,0,6,15,1,0,0,0,0,0,14,10,0,0,0,0,0,4,16,13,11,9,3,0,0,1,15,16,16,15,5,0,2 +0,0,0,10,10,1,0,0,0,0,5,16,5,11,7,0,0,2,16,7,3,16,4,0,0,7,16,2,9,15,2,0,0,7,16,12,16,15,7,0,0,1,10,14,16,10,1,0,0,0,0,11,15,1,0,0,0,0,0,12,13,0,0,0,4 +0,0,0,3,10,13,12,4,0,0,3,16,6,5,14,9,0,0,12,16,13,12,14,4,0,0,11,16,16,16,12,0,0,0,0,0,2,15,2,0,0,0,0,0,10,6,0,0,0,0,0,1,16,4,0,0,0,0,0,1,15,1,0,0,9 +0,0,7,15,16,11,0,0,0,0,9,11,13,12,0,0,0,0,0,0,12,8,0,0,0,0,5,8,16,7,0,0,0,10,16,16,16,16,7,0,0,5,6,16,11,4,1,0,0,0,4,16,2,0,0,0,0,0,8,14,1,0,0,0,7 +0,0,7,14,0,0,0,0,0,0,9,16,2,0,0,0,0,1,14,16,4,0,0,0,0,8,16,16,9,0,0,0,0,12,13,9,16,0,0,0,0,1,2,3,16,5,0,0,0,0,4,10,16,13,7,1,0,0,7,16,16,16,16,3,1 +0,2,14,4,0,0,0,0,0,6,16,10,0,0,0,0,0,8,8,14,0,0,0,0,0,2,3,15,0,0,0,0,0,0,4,12,0,0,0,0,0,1,13,8,0,0,0,0,0,6,16,16,16,12,4,0,0,3,15,16,14,7,2,0,2 +0,0,4,13,16,16,5,0,0,0,13,16,12,7,0,0,0,0,8,15,0,0,0,0,0,0,10,16,16,15,2,0,0,0,6,13,15,16,7,0,0,0,0,0,1,15,6,0,0,0,0,7,9,16,2,0,0,0,5,16,15,7,0,0,5 +0,0,1,12,2,0,0,0,0,0,10,8,0,9,9,0,0,1,16,1,0,15,5,0,0,3,16,5,7,16,2,0,0,2,16,16,16,16,7,0,0,0,6,10,16,1,0,0,0,0,0,9,7,0,0,0,0,0,0,14,1,0,0,0,4 +0,1,9,14,16,16,13,0,0,8,16,12,7,4,2,0,0,10,15,4,2,0,0,0,0,8,16,16,15,3,0,0,0,0,3,6,15,13,0,0,0,0,0,0,5,16,2,0,0,0,2,4,8,16,4,0,0,0,13,16,16,10,0,0,5 +0,0,12,9,0,0,0,0,0,4,15,15,5,0,0,0,0,7,10,3,11,0,0,0,0,10,6,0,12,2,0,0,0,5,3,0,12,5,0,0,0,0,1,3,16,4,0,0,0,0,14,16,16,16,14,0,0,0,12,13,10,8,4,0,2 +0,0,1,10,7,0,0,0,0,0,9,15,2,0,0,0,0,0,13,7,0,0,0,0,0,0,16,1,0,0,0,0,0,5,16,16,16,10,0,0,0,2,14,8,5,13,7,0,0,0,4,15,9,12,10,0,0,0,1,9,15,13,3,0,6 +0,1,13,16,7,0,0,0,0,8,15,15,9,0,0,0,0,12,8,8,12,0,0,0,0,10,7,8,12,0,0,0,0,1,0,11,10,0,0,0,0,0,3,16,5,0,0,0,0,0,13,15,6,6,1,0,0,1,16,16,16,16,8,0,2 +0,0,0,4,10,13,12,0,0,0,9,16,13,10,16,0,0,2,15,16,16,16,10,0,0,0,0,0,0,14,6,0,0,0,0,0,5,15,1,0,0,0,0,0,11,9,0,0,0,0,0,0,15,3,0,0,0,0,0,2,11,0,0,0,9 +0,0,6,15,10,0,0,0,0,0,15,16,9,0,0,0,0,5,16,16,3,0,0,0,0,8,16,16,16,9,0,0,0,0,4,8,13,16,4,0,0,0,0,2,4,16,6,0,0,0,10,15,14,14,1,0,0,0,8,16,14,2,0,0,3 +0,0,2,16,16,11,0,0,0,0,13,15,15,16,5,0,0,4,14,3,3,14,9,0,0,8,15,0,0,6,8,0,0,4,12,0,0,6,8,0,0,1,16,11,10,16,7,0,0,0,14,16,16,11,1,0,0,0,2,12,11,2,0,0,0 +0,0,6,16,15,3,0,0,0,0,16,13,8,1,0,0,0,0,12,7,4,0,0,0,0,0,14,16,16,13,2,0,0,0,3,4,4,13,8,0,0,0,0,0,0,9,4,0,0,0,2,8,13,15,3,0,0,0,4,14,12,5,0,0,5 +0,0,0,1,12,14,0,0,0,0,0,5,16,12,0,0,0,0,1,14,16,12,0,0,0,3,15,16,16,8,0,0,0,9,15,7,16,8,0,0,0,1,2,6,16,5,0,0,0,0,0,2,16,10,0,0,0,0,0,0,11,16,4,0,1 +0,0,4,13,16,16,9,0,0,1,15,14,13,16,7,0,0,0,6,0,10,15,2,0,0,0,0,5,16,7,0,0,0,0,0,4,15,15,1,0,0,0,0,1,8,16,5,0,0,0,4,15,13,16,2,0,0,0,3,15,15,5,0,0,3 +0,0,3,12,14,16,2,0,0,0,8,12,15,16,1,0,0,0,0,1,16,8,0,0,0,2,8,13,16,8,3,0,0,9,16,16,16,16,10,0,0,1,9,16,5,4,1,0,0,0,8,16,1,0,0,0,0,0,4,16,3,0,0,0,7 +0,0,13,13,2,0,0,0,0,2,16,15,11,0,0,0,0,2,16,9,16,1,0,0,0,2,16,8,16,0,0,0,0,0,8,9,15,0,0,0,0,0,2,15,13,4,0,0,0,0,12,16,16,16,11,3,0,0,13,11,0,6,9,3,2 +0,0,0,9,10,0,0,0,0,0,6,16,7,0,0,0,0,0,15,7,0,0,0,0,0,3,16,2,0,0,0,0,0,5,16,16,16,7,0,0,0,2,16,12,10,16,4,0,0,0,8,15,9,14,7,0,0,0,0,7,14,16,3,0,6 +0,0,5,9,13,13,0,0,0,0,11,16,9,4,0,0,0,0,7,12,0,0,0,0,0,0,10,15,12,12,2,0,0,0,3,12,8,14,7,0,0,0,0,0,0,13,4,0,0,0,1,9,14,12,1,0,0,0,3,16,10,1,0,0,5 +0,0,9,16,16,16,12,0,0,0,8,12,10,14,10,0,0,0,2,5,4,15,1,0,0,0,9,16,16,16,13,0,0,0,2,14,15,7,1,0,0,0,0,14,7,0,0,0,0,0,6,14,0,0,0,0,0,0,10,9,0,0,0,0,7 +0,0,16,13,16,16,10,0,0,0,11,7,4,2,2,0,0,0,11,1,0,0,0,0,0,5,15,6,1,0,0,0,0,2,8,10,15,4,0,0,0,0,0,0,4,11,0,0,0,2,9,0,8,8,0,0,0,0,11,16,13,1,0,0,5 +0,0,3,14,10,1,0,0,0,0,12,9,9,12,0,0,0,2,16,5,0,8,6,0,0,4,8,1,0,3,7,0,0,5,7,0,0,4,8,0,0,2,12,0,0,7,5,0,0,0,12,7,5,13,2,0,0,0,3,14,15,6,0,0,0 +0,0,8,16,15,4,0,0,0,2,16,5,7,8,0,0,0,0,6,0,5,8,0,0,0,0,0,0,12,5,0,0,0,0,0,9,14,0,0,0,0,1,11,15,4,0,0,0,0,3,16,13,4,0,0,0,0,0,8,13,16,15,5,0,2 +0,0,6,10,16,12,0,0,0,1,16,13,11,12,0,0,0,1,4,0,10,8,1,0,0,0,5,8,15,16,13,0,0,1,16,16,14,8,1,0,0,0,4,16,4,0,0,0,0,0,5,13,1,0,0,0,0,0,9,10,0,0,0,0,7 +0,1,11,13,12,4,0,0,0,1,8,8,12,11,0,0,0,0,0,1,11,10,0,0,0,0,7,12,13,1,0,0,0,7,16,16,8,0,0,0,0,0,4,9,14,12,2,0,0,1,10,7,5,16,7,0,0,2,15,16,15,9,1,0,3 +0,0,0,0,11,16,3,0,0,0,1,11,16,16,8,0,0,3,13,16,16,16,5,0,0,10,16,11,9,16,6,0,0,1,4,0,11,16,4,0,0,0,0,0,12,16,2,0,0,0,0,0,13,15,1,0,0,0,0,0,8,16,5,0,1 +0,0,1,11,12,4,0,0,0,1,13,11,6,15,0,0,0,7,13,0,3,15,0,0,0,1,12,13,15,6,0,0,0,0,4,15,13,11,0,0,0,2,15,4,1,14,6,0,0,3,14,3,0,12,7,0,0,0,4,13,16,15,1,0,8 +0,0,4,14,8,0,0,0,0,0,15,13,15,8,0,0,0,3,14,0,1,14,5,0,0,4,12,0,0,9,8,0,0,4,12,0,0,8,8,0,0,4,13,0,0,14,6,0,0,0,15,10,10,13,1,0,0,0,5,15,12,3,0,0,0 +0,0,10,13,16,16,12,0,0,0,6,12,8,13,11,0,0,0,0,0,2,16,5,0,0,0,6,8,14,16,13,0,0,0,15,16,15,9,1,0,0,0,0,13,6,0,0,0,0,0,6,14,1,0,0,0,0,0,14,9,0,0,0,0,7 +0,6,16,16,13,1,0,0,0,13,11,8,15,9,0,0,0,5,1,0,10,14,0,0,0,0,0,0,12,11,0,0,0,0,0,3,16,2,0,0,0,0,0,13,13,0,0,0,0,3,14,16,12,8,7,0,0,5,16,16,16,16,10,0,2 +0,0,0,9,14,4,0,0,0,0,10,14,4,1,0,0,0,0,14,4,0,0,0,0,0,6,16,16,10,3,0,0,0,3,16,2,5,14,4,0,0,0,14,2,0,12,10,0,0,0,7,12,0,13,9,0,0,0,0,8,16,14,2,0,6 +0,0,0,1,12,14,0,0,0,0,0,6,16,4,0,0,0,0,3,16,4,9,3,0,0,2,13,15,6,16,6,0,0,11,16,16,16,16,9,0,0,3,4,4,10,16,1,0,0,0,0,0,11,13,0,0,0,0,0,0,12,10,0,0,4 +0,0,7,16,16,16,3,0,0,0,8,15,12,16,3,0,0,0,13,12,0,0,0,0,0,1,13,16,14,5,0,0,0,0,1,4,13,13,0,0,0,1,5,0,4,16,3,0,0,4,15,8,11,15,0,0,0,0,7,16,16,8,0,0,5 +0,0,0,4,13,5,0,0,0,0,2,14,12,5,0,0,0,0,7,12,1,0,0,0,0,0,11,7,0,0,0,0,0,0,12,14,12,8,0,0,0,1,14,14,8,12,8,0,0,0,2,14,5,9,14,0,0,0,0,3,15,15,6,0,6 +0,3,13,16,16,12,1,0,0,1,8,4,5,15,6,0,0,0,0,1,9,15,2,0,0,0,6,16,15,5,0,0,0,0,5,14,16,8,0,0,0,0,0,0,8,16,2,0,0,6,12,6,12,15,1,0,0,4,13,12,11,2,0,0,3 +0,0,6,14,16,9,0,0,0,5,15,5,8,16,1,0,0,4,14,1,3,16,6,0,0,0,7,16,15,14,8,0,0,0,0,0,0,8,8,0,0,0,0,0,0,8,9,0,0,0,12,3,0,11,9,0,0,0,8,14,16,13,1,0,9 +0,0,0,4,16,11,0,0,0,0,0,13,16,10,0,0,0,0,12,16,16,7,0,0,0,5,14,13,16,5,0,0,0,0,0,8,16,4,0,0,0,0,0,4,16,7,0,0,0,0,0,4,16,8,0,0,0,0,0,3,14,8,0,0,1 +0,0,1,10,16,9,0,0,0,0,10,13,5,3,0,0,0,1,16,3,0,0,0,0,0,4,13,0,0,0,0,0,0,3,15,15,13,5,0,0,0,1,16,11,4,15,4,0,0,0,8,14,5,14,2,0,0,0,0,8,16,12,1,0,6 +0,0,4,16,16,16,16,12,0,0,2,8,8,11,16,4,0,0,0,0,1,15,8,0,0,0,2,4,10,16,11,0,0,11,16,16,16,6,0,0,0,9,9,13,11,0,0,0,0,0,2,15,2,0,0,0,0,0,8,12,0,0,0,0,7 +0,1,13,16,16,3,0,0,0,0,2,2,10,14,0,0,0,0,0,0,5,14,0,0,0,0,0,11,16,3,0,0,0,0,0,11,15,8,1,0,0,0,0,0,9,16,4,0,0,0,3,4,7,15,1,0,0,0,15,16,12,5,0,0,3 +0,0,10,15,13,8,0,0,0,1,12,4,11,10,0,0,0,0,0,8,13,3,0,0,0,3,13,16,5,0,0,0,0,1,8,13,16,13,2,0,0,0,0,0,1,13,6,0,0,5,10,8,8,16,2,0,0,0,10,16,16,6,0,0,3 +0,0,2,13,16,7,0,0,0,0,7,15,12,16,2,0,0,0,4,16,11,16,8,0,0,0,0,8,16,13,10,0,0,5,4,0,0,7,13,0,0,4,13,0,0,9,11,0,0,1,12,10,4,13,10,0,0,0,2,12,16,16,4,0,9 +0,0,0,5,16,1,0,0,0,0,1,13,8,2,7,0,0,0,9,12,0,10,10,0,0,7,16,4,4,16,11,0,0,11,16,16,16,16,7,0,0,2,8,7,14,8,0,0,0,0,0,2,16,2,0,0,0,0,0,6,12,0,0,0,4 +0,0,6,10,10,15,3,0,0,4,13,6,9,8,8,0,0,3,11,0,7,13,1,0,0,0,14,14,9,0,0,0,0,1,14,13,3,0,0,0,0,3,8,1,14,1,0,0,0,0,13,0,6,9,0,0,0,0,5,15,15,5,0,0,8 +0,0,0,6,15,10,1,0,0,0,0,12,16,14,2,0,0,1,12,16,16,7,0,0,0,7,16,16,16,7,0,0,0,1,4,10,16,4,0,0,0,0,0,5,16,7,0,0,0,0,0,8,16,11,0,0,0,0,0,6,16,12,0,0,1 +0,2,13,16,16,16,2,0,0,1,10,8,10,16,0,0,0,0,7,8,12,15,7,0,0,3,16,16,16,12,5,0,0,0,2,11,14,0,0,0,0,0,3,15,3,0,0,0,0,0,10,12,0,0,0,0,0,0,15,4,0,0,0,0,7 +0,0,0,6,15,2,2,0,0,0,3,15,10,4,15,0,0,2,14,9,0,12,11,0,0,9,16,4,3,16,14,0,0,11,16,16,16,15,7,0,0,1,10,11,16,8,0,0,0,0,0,3,16,1,0,0,0,0,0,8,11,0,0,0,4 +0,2,15,16,10,0,0,0,0,8,16,10,16,2,0,0,0,4,7,0,16,6,0,0,0,0,0,2,16,4,0,0,0,0,0,8,14,0,0,0,0,0,2,16,7,0,0,0,0,2,15,16,9,8,8,0,0,3,16,16,16,16,12,0,2 +0,4,15,16,12,0,0,0,0,12,15,7,16,5,0,0,0,3,3,0,15,4,0,0,0,0,0,0,13,7,0,0,0,0,0,5,15,2,0,0,0,0,1,14,11,0,0,0,0,1,13,16,9,8,3,0,0,3,16,16,16,16,16,1,2 +0,0,7,15,13,3,0,0,0,0,11,6,8,14,0,0,0,0,0,3,8,12,0,0,0,0,0,16,14,2,0,0,0,0,0,10,15,7,0,0,0,0,0,0,2,11,10,0,0,1,15,3,1,11,10,0,0,0,4,15,16,13,2,0,3 +0,0,10,16,12,0,0,0,0,1,14,13,16,4,0,0,0,0,2,3,16,5,0,0,0,0,0,4,16,2,0,0,0,0,0,11,14,0,0,0,0,0,2,16,8,0,3,0,0,1,13,16,14,16,16,3,0,0,12,16,16,13,7,0,2 +0,0,5,16,16,15,1,0,0,0,10,9,10,16,2,0,0,0,0,1,12,10,0,0,0,0,0,9,16,8,0,0,0,0,0,2,14,16,5,0,0,0,0,4,0,16,5,0,0,0,3,14,8,13,0,0,0,0,4,16,13,3,0,0,3 +0,0,11,16,15,2,0,0,0,0,12,10,14,8,0,0,0,0,0,0,11,8,0,0,0,0,0,1,15,3,0,0,0,0,1,11,11,0,0,0,0,6,15,15,2,0,0,0,0,9,16,14,9,3,0,0,0,1,9,12,15,16,13,0,2 +0,0,1,9,15,12,0,0,0,0,13,8,5,14,4,0,0,0,14,1,5,14,1,0,0,0,7,13,16,4,0,0,0,0,11,12,14,12,1,0,0,4,13,0,0,11,7,0,0,1,13,7,2,8,8,0,0,0,1,9,16,13,2,0,8 +0,3,15,16,11,0,0,0,0,10,15,13,16,2,0,0,0,10,7,4,16,0,0,0,0,1,0,9,12,0,0,0,0,0,1,16,6,0,0,0,0,0,10,15,0,0,0,0,0,7,16,14,12,14,11,0,0,6,16,16,16,11,3,0,2 +0,0,9,13,15,10,1,0,0,0,7,4,4,12,13,0,0,0,0,0,0,7,11,0,0,0,2,12,13,12,2,0,0,0,0,10,15,1,0,0,0,0,0,1,11,9,0,0,0,0,12,3,3,15,0,0,0,0,8,16,16,3,0,0,3 +0,2,16,10,9,8,0,0,0,0,10,16,16,12,0,0,0,1,5,10,16,10,6,0,0,11,16,16,16,15,7,0,0,3,5,14,9,2,0,0,0,0,6,16,0,0,0,0,0,0,10,10,0,0,0,0,0,3,16,1,0,0,0,0,7 +0,0,3,14,16,12,1,0,0,3,16,14,3,11,4,0,0,2,13,1,3,15,4,0,0,0,10,16,16,8,0,0,0,2,15,10,14,4,0,0,0,5,14,0,3,14,1,0,0,0,14,4,1,14,2,0,0,0,2,13,16,10,0,0,8 +0,0,0,9,14,0,0,0,0,0,5,16,4,4,9,0,0,4,16,3,0,13,9,0,0,6,16,15,12,16,13,0,0,0,8,11,15,14,3,0,0,0,0,0,16,5,0,0,0,0,0,6,13,0,0,0,0,0,0,9,10,0,0,0,4 +0,0,0,0,8,13,1,0,0,0,1,9,15,14,1,0,0,6,14,16,16,10,0,0,0,5,11,4,16,9,0,0,0,0,0,3,16,5,0,0,0,0,0,3,16,7,0,0,0,0,0,0,16,10,0,0,0,0,0,0,11,13,0,0,1 +0,0,1,13,14,2,0,0,0,0,7,16,10,12,0,0,0,3,15,10,0,12,3,0,0,7,9,0,0,8,7,0,0,5,9,0,0,8,7,0,0,1,13,0,0,11,2,0,0,0,13,7,5,10,0,0,0,0,3,14,15,3,0,0,0 +0,0,0,0,15,15,1,0,0,0,0,2,16,16,4,0,0,0,2,11,16,15,1,0,0,9,16,16,16,12,0,0,0,3,10,8,16,8,0,0,0,0,0,0,16,11,0,0,0,0,0,0,15,13,0,0,0,0,0,0,15,15,0,0,1 +0,0,2,14,15,8,0,0,0,0,8,10,3,15,1,0,0,0,5,11,1,15,4,0,0,0,0,12,15,16,5,0,0,0,0,0,2,8,6,0,0,1,3,0,0,7,5,0,0,1,12,4,0,10,7,0,0,0,4,14,14,13,1,0,9 +0,0,9,15,14,1,0,0,0,2,16,8,15,10,0,0,0,2,14,4,13,14,1,0,0,0,7,15,15,14,6,0,0,0,0,1,1,7,9,0,0,0,0,0,0,3,12,0,0,0,6,0,0,6,12,0,0,0,9,16,16,16,6,0,9 +0,0,7,10,13,5,0,0,0,6,16,12,16,12,0,0,0,6,15,6,16,14,1,0,0,1,13,16,12,16,2,0,0,0,0,0,0,13,4,0,0,0,0,0,0,11,7,0,0,0,11,6,4,13,8,0,0,0,9,16,16,12,3,0,9 +0,0,8,16,16,16,16,2,0,0,8,10,7,12,13,0,0,0,0,0,3,15,2,0,0,0,4,11,15,16,13,0,0,0,11,16,14,6,0,0,0,0,1,14,6,0,0,0,0,0,7,13,1,0,0,0,0,0,12,8,0,0,0,0,7 +0,0,10,12,13,11,2,0,0,0,14,9,8,8,2,0,0,0,15,0,0,0,0,0,0,6,16,6,0,0,0,0,0,3,12,13,15,5,0,0,0,0,0,0,6,13,1,0,0,0,9,5,4,14,0,0,0,0,8,15,15,7,0,0,5 +0,0,2,13,13,4,0,0,0,0,12,13,11,14,0,0,0,0,9,13,13,14,1,0,0,0,0,4,8,13,3,0,0,0,0,0,0,7,9,0,0,0,0,0,0,3,13,0,0,0,14,6,0,6,12,0,0,0,2,12,16,16,7,0,9 +0,0,0,5,12,15,7,0,0,0,3,14,4,13,6,0,0,0,4,13,0,14,7,0,0,0,0,13,14,16,8,0,0,0,0,0,3,8,8,0,0,1,3,0,0,10,8,0,0,5,16,7,0,12,4,0,0,0,2,6,13,15,1,0,9 +0,0,6,12,15,15,9,0,0,0,8,12,4,4,3,0,0,0,12,3,0,0,0,0,0,1,15,6,3,0,0,0,0,8,16,12,16,6,0,0,0,3,4,0,4,11,0,0,0,4,15,5,13,6,0,0,0,0,6,16,10,0,0,0,5 +0,0,3,10,13,5,0,0,0,0,15,12,5,14,1,0,0,4,12,1,0,10,4,0,0,5,8,0,0,8,7,0,0,5,8,0,0,8,8,0,0,4,11,0,0,11,5,0,0,1,14,6,7,12,0,0,0,0,4,15,14,4,0,0,0 +0,0,0,2,15,7,0,0,0,0,0,11,12,1,0,0,0,0,6,15,1,14,2,0,0,5,15,5,3,16,1,0,0,7,16,14,13,16,8,0,0,1,6,12,15,14,3,0,0,0,0,1,13,7,0,0,0,0,0,3,16,1,0,0,4 +0,0,5,13,12,15,2,0,0,0,13,13,8,8,2,0,0,3,16,5,0,0,0,0,0,7,16,13,5,0,0,0,0,1,7,10,16,10,0,0,0,0,0,0,4,16,4,0,0,0,8,6,5,16,4,0,0,0,7,13,13,10,0,0,5 +0,0,0,2,14,5,1,0,0,0,1,12,13,1,15,4,0,0,9,15,2,6,16,2,0,7,16,13,8,14,12,0,0,9,16,16,16,16,10,0,0,0,0,3,11,15,1,0,0,0,0,0,14,10,0,0,0,0,0,2,16,4,0,0,4 +0,0,7,13,12,9,1,0,0,3,15,5,5,16,4,0,0,3,15,2,7,16,1,0,0,0,5,15,16,15,4,0,0,0,0,0,0,11,7,0,0,1,4,0,0,9,7,0,0,3,13,1,0,10,8,0,0,0,9,15,16,16,1,0,9 +0,0,2,14,12,2,0,0,0,0,12,13,7,13,0,0,0,5,16,1,0,12,3,0,0,6,12,2,0,4,8,0,0,7,8,0,0,7,8,0,0,1,14,1,0,9,6,0,0,0,9,11,7,16,1,0,0,0,2,12,16,8,0,0,0 +0,0,2,8,15,7,0,0,0,0,11,15,6,14,3,0,0,0,16,6,0,4,9,0,0,8,4,0,0,4,8,0,0,6,7,0,0,5,8,0,0,3,13,0,0,13,1,0,0,0,10,11,8,11,0,0,0,0,1,13,11,2,0,0,0 +0,3,16,16,10,0,0,0,0,2,12,11,16,3,0,0,0,0,0,2,16,5,0,0,0,0,0,3,16,2,0,0,0,0,1,15,10,0,0,0,0,0,13,16,1,0,0,0,0,7,16,13,10,12,13,0,0,2,15,16,16,12,6,0,2 +0,0,14,16,14,5,0,0,0,0,3,0,2,16,3,0,0,0,0,4,10,15,1,0,0,6,16,16,14,2,0,0,0,1,4,6,12,12,0,0,0,0,0,0,0,12,9,0,0,0,10,0,4,14,5,0,0,0,13,16,13,4,0,0,3 +0,0,0,13,16,16,16,1,0,0,0,7,8,13,11,0,0,0,0,0,0,14,10,1,0,6,12,13,16,14,9,0,0,6,14,10,16,6,0,0,0,0,0,7,13,1,0,0,0,0,0,13,10,0,0,0,0,0,0,15,3,0,0,0,7 +0,0,6,12,13,12,6,0,0,0,6,8,2,5,7,0,0,0,12,2,0,0,0,0,0,7,15,12,7,2,0,0,0,2,8,8,9,15,4,0,0,0,0,0,0,7,7,0,0,0,4,5,4,13,2,0,0,0,4,15,16,6,0,0,5 +0,0,1,8,15,8,0,0,0,0,14,11,14,16,0,0,0,3,12,0,6,9,0,0,0,1,15,10,14,1,0,0,0,0,1,15,16,5,0,0,0,0,5,12,3,15,3,0,0,0,6,11,1,13,4,0,0,0,0,8,16,13,1,0,8 +0,0,5,8,12,12,13,0,0,0,14,12,8,4,4,0,0,0,14,0,2,0,0,0,0,3,16,16,16,10,0,0,0,0,5,1,2,15,2,0,0,0,0,0,0,16,0,0,0,0,4,10,8,9,0,0,0,0,3,16,13,1,0,0,5 +0,0,4,15,10,0,0,0,0,3,16,9,10,7,0,0,0,7,15,3,1,11,2,0,0,8,6,0,0,6,7,0,0,8,5,0,0,4,8,0,0,4,10,0,0,7,8,0,0,0,13,6,5,15,3,0,0,0,4,15,14,6,0,0,0 +0,0,0,3,15,4,0,0,0,0,0,13,9,0,0,0,0,0,8,12,0,7,4,0,0,4,14,3,0,15,5,0,0,11,16,16,16,16,10,0,0,5,9,9,13,12,0,0,0,0,0,0,12,7,0,0,0,0,0,2,16,3,0,0,4 +0,0,0,2,11,1,0,0,0,0,0,7,13,1,0,0,0,0,6,15,2,4,7,0,0,1,14,11,0,14,8,0,0,7,16,16,16,16,3,0,0,0,0,3,13,14,0,0,0,0,0,0,15,9,0,0,0,0,0,3,15,5,0,0,4 +0,0,4,14,5,0,0,0,0,0,12,15,14,0,0,0,0,0,12,8,15,9,0,0,0,0,5,16,15,16,4,0,0,0,0,0,6,12,10,0,0,0,0,0,0,5,15,0,0,0,3,8,4,9,16,4,0,0,5,12,15,12,11,0,9 +0,0,0,3,12,0,0,0,0,0,0,12,9,1,1,0,0,0,3,16,3,10,7,0,0,1,13,10,1,16,3,0,0,8,16,13,13,16,2,0,0,3,6,8,16,14,2,0,0,0,0,2,16,2,0,0,0,0,0,3,13,0,0,0,4 +0,0,2,13,14,2,0,0,0,1,15,16,16,9,0,0,0,7,16,8,5,16,1,0,0,6,16,3,0,11,7,0,0,5,16,4,0,8,8,0,0,0,16,9,0,10,11,0,0,0,10,15,10,16,8,0,0,0,2,13,16,14,2,0,0 +0,0,3,15,8,0,0,0,0,0,8,16,16,7,0,0,0,0,7,11,9,12,0,0,0,0,2,5,9,11,0,0,0,0,0,0,13,7,0,0,0,0,7,10,16,4,0,0,0,0,14,16,16,16,15,0,0,0,1,4,4,7,11,1,2 +0,0,0,6,11,6,0,0,0,0,8,13,9,16,3,0,0,2,15,4,0,13,3,0,0,0,7,14,9,13,0,0,0,0,1,15,16,6,0,0,0,0,11,10,10,12,0,0,0,0,9,10,1,16,3,0,0,0,0,9,12,10,1,0,8 +0,0,4,16,7,1,0,0,0,0,10,13,15,11,0,0,0,2,15,3,4,15,3,0,0,4,16,0,0,12,8,0,0,5,16,1,0,9,8,0,0,4,16,2,1,13,7,0,0,0,14,9,9,14,1,0,0,0,5,14,15,6,0,0,0 +0,0,5,12,6,0,0,0,0,0,11,16,15,6,0,0,0,0,10,11,11,15,2,0,0,0,4,15,15,16,6,0,0,0,0,4,8,13,9,0,0,0,0,0,0,8,13,0,0,0,9,8,8,12,13,0,0,0,5,10,13,12,5,0,9 +0,0,1,13,10,0,0,0,0,0,9,16,11,0,0,0,0,3,16,11,0,0,0,0,0,5,16,11,7,1,0,0,0,4,16,16,16,15,3,0,0,3,16,12,2,12,11,0,0,0,12,14,5,9,15,0,0,0,0,10,15,16,11,0,6 +0,0,2,9,3,0,0,0,0,5,14,9,13,9,0,0,0,7,14,0,10,10,0,0,0,0,9,14,15,6,0,0,0,0,7,16,16,0,0,0,0,0,12,6,7,12,1,0,0,0,15,5,0,14,6,0,0,0,2,8,12,11,3,0,8 +0,0,6,12,8,4,0,0,0,1,14,5,7,16,1,0,0,2,16,4,6,13,0,0,0,0,9,14,15,2,0,0,0,0,7,14,12,1,0,0,0,0,15,2,9,11,0,0,0,0,15,7,6,16,0,0,0,0,3,8,9,6,0,0,8 +0,1,8,15,10,0,0,0,0,6,15,13,16,8,0,0,0,0,0,3,14,12,0,0,0,0,4,15,16,10,0,0,0,0,7,12,13,16,6,0,0,0,0,0,0,14,8,0,0,0,8,10,13,16,3,0,0,0,10,16,12,5,0,0,3 +0,1,13,12,0,0,0,0,0,7,16,16,8,0,0,0,0,8,10,4,14,0,0,0,0,2,6,2,15,0,0,0,0,0,0,9,10,0,0,0,0,0,5,16,5,0,0,0,0,2,16,16,16,16,11,0,0,1,11,11,8,9,9,0,2 +0,0,8,12,9,1,0,0,0,3,16,16,16,10,0,0,0,3,16,16,16,10,0,0,0,0,8,16,16,4,0,0,0,0,12,16,16,8,0,0,0,1,15,16,16,9,0,0,0,0,13,16,16,9,0,0,0,0,6,9,11,3,0,0,1 +0,0,6,14,16,5,0,0,0,3,16,13,13,12,0,0,0,1,4,1,12,12,0,0,0,0,4,14,16,6,0,0,0,0,6,14,16,15,2,0,0,0,0,0,8,16,2,0,0,2,16,10,13,15,0,0,0,0,9,14,8,2,0,0,3 +0,0,6,12,12,8,0,0,0,0,11,16,16,16,0,0,0,0,9,16,16,16,1,0,0,0,12,16,16,15,2,0,0,0,12,16,16,16,4,0,0,0,12,16,16,11,1,0,0,0,8,16,16,1,0,0,0,1,11,12,5,0,0,0,1 +0,0,1,12,14,16,10,0,0,0,3,10,8,16,6,0,0,0,0,0,3,15,1,0,0,0,1,7,14,14,3,0,0,0,4,13,16,12,5,0,0,0,0,7,13,0,0,0,0,0,0,13,7,0,0,0,0,0,2,14,2,0,0,0,7 +0,0,10,16,6,0,0,0,0,0,15,14,16,0,0,0,0,0,14,4,16,0,0,0,0,0,0,2,15,0,0,0,0,0,0,6,10,0,0,0,0,0,1,14,6,0,0,0,0,1,14,16,13,12,6,0,0,0,8,8,8,11,11,0,2 +0,0,0,4,15,0,0,0,0,0,1,13,11,0,0,0,0,0,7,16,7,12,0,0,0,2,16,11,10,16,2,0,0,6,16,16,16,16,3,0,0,0,4,4,15,13,1,0,0,0,0,1,16,7,0,0,0,0,0,4,11,1,0,0,4 +0,0,2,16,15,6,0,0,0,7,11,15,12,16,0,0,0,9,16,10,10,16,1,0,0,0,11,16,16,6,0,0,0,0,15,16,15,2,0,0,0,0,14,5,10,13,1,0,0,0,11,11,6,16,7,0,0,0,3,11,16,12,3,0,8 +0,0,0,4,15,0,0,0,0,0,3,15,10,0,0,0,0,0,11,15,0,4,0,0,0,5,16,8,4,16,3,0,0,3,16,14,13,16,2,0,0,0,4,6,15,14,2,0,0,0,0,0,15,6,0,0,0,0,0,2,15,2,0,0,4 +0,1,9,13,12,6,0,0,0,5,16,13,8,10,2,0,0,4,14,1,0,0,0,0,0,2,16,14,4,0,0,0,0,5,16,15,16,4,0,0,0,0,0,1,11,16,3,0,0,0,6,6,15,15,1,0,0,0,7,13,10,3,0,0,5 +0,0,9,16,15,5,0,0,0,4,16,12,12,16,7,0,0,5,16,4,0,1,1,0,0,8,16,15,11,3,0,0,0,4,14,12,14,15,2,0,0,0,0,0,4,16,4,0,0,0,5,8,15,15,2,0,0,0,11,15,9,2,0,0,5 +0,0,0,0,9,6,0,0,0,0,0,9,14,2,0,0,0,0,3,15,4,3,6,0,0,1,13,11,0,13,7,0,0,7,16,13,13,16,3,0,0,0,4,4,13,13,1,0,0,0,0,1,16,7,0,0,0,0,0,1,14,1,0,0,4 +0,1,15,12,3,0,0,0,0,1,12,16,15,4,0,0,0,0,0,4,16,10,0,0,0,0,0,15,16,5,0,0,0,0,0,12,14,13,1,0,0,0,0,0,0,8,12,0,0,0,7,8,6,13,13,0,0,0,13,16,16,13,7,0,3 +0,3,14,14,4,0,0,0,0,8,15,11,16,6,0,0,0,1,4,4,16,7,0,0,0,0,5,16,16,4,0,0,0,0,2,9,15,16,3,0,0,0,0,0,4,16,8,0,0,0,7,4,11,16,5,0,0,2,14,16,14,7,0,0,3 +0,0,4,14,15,4,0,0,0,1,16,14,15,13,0,0,0,4,16,7,4,16,3,0,0,5,16,3,0,12,4,0,0,4,16,2,0,11,8,0,0,2,16,6,1,15,4,0,0,0,12,13,13,14,1,0,0,0,3,16,15,4,0,0,0 +0,0,6,14,9,0,0,0,0,3,16,13,16,6,0,0,0,2,16,3,9,13,0,0,0,1,16,1,1,15,4,0,0,3,16,0,0,12,6,0,0,0,16,1,0,13,4,0,0,0,16,8,8,15,1,0,0,0,7,15,14,5,0,0,0 +0,0,4,14,11,0,0,0,0,3,16,9,15,7,0,0,0,9,15,0,4,14,2,0,0,8,13,0,0,12,6,0,0,8,12,0,0,11,7,0,0,6,14,1,0,14,4,0,0,0,14,11,8,16,1,0,0,0,5,16,14,6,0,0,0 +0,0,1,8,6,0,0,0,0,0,14,16,16,16,0,0,0,0,16,16,16,16,0,0,0,0,16,16,16,16,0,0,0,0,16,16,16,15,0,0,0,0,16,16,16,13,0,0,0,0,9,16,16,9,0,0,0,0,6,8,6,1,0,0,1 +0,2,10,15,8,0,0,0,0,6,16,15,16,8,0,0,0,8,16,5,13,16,0,0,0,4,16,12,16,16,5,0,0,0,5,11,13,16,7,0,0,0,0,0,1,16,8,0,0,0,2,4,10,16,8,0,0,0,12,16,14,11,0,0,9 +0,2,15,13,2,0,0,0,0,6,16,14,15,1,0,0,0,7,12,0,15,8,0,0,0,4,7,0,16,8,0,0,0,0,0,1,16,3,0,0,0,0,0,9,15,0,0,0,0,2,15,16,16,14,5,0,0,2,10,12,13,16,8,0,2 +0,0,13,14,4,0,0,0,0,4,16,13,14,2,0,0,0,0,16,4,16,14,2,0,0,0,11,14,16,14,0,0,0,0,0,8,11,15,0,0,0,0,0,0,4,16,2,0,0,0,6,6,7,16,2,0,0,0,12,16,16,10,0,0,9 +0,1,12,16,15,11,3,0,0,7,16,14,11,9,4,0,0,3,16,8,2,0,0,0,0,5,16,16,15,3,0,0,0,2,14,16,16,14,0,0,0,0,0,0,12,16,1,0,0,2,12,12,16,16,0,0,0,1,14,16,10,3,0,0,5 +0,0,8,16,15,5,0,0,0,0,7,8,15,10,0,0,0,0,0,0,14,10,0,0,0,0,5,12,16,14,2,0,0,0,16,16,15,10,6,0,0,0,1,14,7,0,0,0,0,0,4,16,0,0,0,0,0,0,4,12,0,0,0,0,7 +0,0,8,12,3,0,0,0,0,5,16,16,14,4,0,0,0,10,15,2,14,16,2,0,0,3,16,10,13,16,7,0,0,0,5,8,10,16,8,0,0,0,0,0,0,12,12,0,0,0,10,7,4,14,12,0,0,0,10,16,16,14,7,0,9 +0,0,3,8,6,1,0,0,0,2,15,16,16,12,0,0,0,0,13,16,16,13,0,0,0,0,10,16,16,16,0,0,0,0,12,16,16,16,0,0,0,0,14,16,16,16,2,0,0,0,12,16,16,15,2,0,0,0,1,6,6,0,0,0,1 +0,0,5,14,12,1,0,0,0,0,14,15,16,10,0,0,0,4,13,1,3,15,0,0,0,5,7,0,0,11,7,0,0,4,13,0,0,6,8,0,0,4,16,2,0,9,8,0,0,0,13,15,10,16,3,0,0,0,4,13,16,11,0,0,0 +0,1,9,13,9,2,0,0,0,6,16,10,16,7,0,0,0,0,0,2,16,6,0,0,0,0,2,13,14,0,0,0,0,0,2,13,16,13,0,0,0,0,0,0,4,15,8,0,0,0,8,4,4,14,11,0,0,1,14,16,16,12,1,0,3 +0,0,8,13,16,10,3,0,0,5,16,10,8,10,6,0,0,6,12,0,0,0,0,0,0,6,15,12,3,0,0,0,0,4,12,14,16,1,0,0,0,0,0,0,16,8,0,0,0,0,4,7,16,7,0,0,0,0,11,14,10,0,0,0,5 +0,0,0,6,7,0,0,0,0,0,2,15,6,0,0,0,0,0,10,11,1,1,0,0,0,4,16,5,10,9,0,0,0,8,16,16,16,15,2,0,0,1,4,7,16,10,0,0,0,0,0,5,16,1,0,0,0,0,0,9,11,0,0,0,4 +0,0,2,12,5,0,0,0,0,1,13,16,13,2,0,0,0,3,16,10,14,11,0,0,0,7,16,8,5,16,4,0,0,7,16,8,1,14,5,0,0,2,15,9,1,15,5,0,0,0,11,14,11,15,2,0,0,0,3,16,15,3,0,0,0 +0,0,1,8,12,7,0,0,0,2,15,8,5,14,0,0,0,0,11,5,3,15,0,0,0,0,1,14,16,12,0,0,0,0,5,15,15,9,0,0,0,1,15,6,1,12,1,0,0,0,12,11,1,12,5,0,0,0,1,8,8,9,3,0,8 +0,0,2,12,16,14,10,0,0,0,1,8,4,11,13,0,0,0,0,0,0,14,5,0,0,0,0,3,9,15,0,0,0,0,5,16,16,15,3,0,0,0,2,10,13,3,0,0,0,0,0,13,7,0,0,0,0,0,1,15,2,0,0,0,7 +0,0,0,12,7,0,0,0,0,0,7,16,3,0,0,0,0,2,15,6,0,0,0,0,0,4,16,10,7,0,0,0,0,5,16,16,16,12,0,0,0,6,16,9,5,16,3,0,0,1,14,15,11,16,3,0,0,0,1,10,16,7,0,0,6 +0,0,9,16,8,1,0,0,0,5,16,9,14,11,1,0,0,10,10,0,8,16,4,0,0,4,16,15,15,16,8,0,0,0,4,8,7,13,8,0,0,0,0,0,0,9,11,0,0,0,11,6,9,16,7,0,0,0,11,13,12,6,0,0,9 +0,0,0,11,12,0,0,0,0,0,7,16,11,1,0,0,0,2,16,12,0,0,0,0,0,2,16,7,0,0,0,0,0,8,16,16,8,1,0,0,0,4,16,13,13,14,3,0,0,0,13,14,7,16,12,0,0,0,0,10,16,12,6,0,6 +0,0,7,14,7,0,0,0,0,0,15,14,16,3,0,0,0,0,15,12,16,6,0,0,0,0,6,16,16,4,0,0,0,0,8,16,16,11,0,0,0,0,15,12,3,16,8,0,0,2,15,11,8,16,10,0,0,0,9,16,16,12,6,0,8 +0,0,1,14,13,1,0,0,0,0,12,16,16,12,0,0,0,1,11,14,11,16,5,0,0,3,8,16,2,8,10,0,0,0,5,14,0,8,7,0,0,0,7,12,0,15,3,0,0,0,7,14,11,11,0,0,0,0,2,16,13,2,0,0,0 +0,3,12,16,15,4,0,0,0,4,11,8,14,11,0,0,0,0,0,6,16,3,0,0,0,0,3,15,15,1,0,0,0,0,1,11,15,14,1,0,0,0,0,0,4,12,6,0,0,1,8,12,15,16,6,0,0,2,12,12,11,7,0,0,3 +0,0,2,6,9,4,0,0,0,3,15,5,8,13,0,0,0,4,15,3,5,16,0,0,0,0,9,13,15,7,0,0,0,0,3,16,12,0,0,0,0,0,9,9,13,6,0,0,0,0,10,8,11,16,1,0,0,0,5,12,12,7,0,0,8 +0,0,7,15,14,3,0,0,0,0,8,11,10,12,0,0,0,0,0,0,5,13,0,0,0,0,0,5,15,9,0,0,0,0,0,5,12,15,6,0,0,0,0,0,0,8,12,0,0,0,8,1,1,12,12,0,0,0,9,15,16,13,1,0,3 +0,1,8,15,16,12,3,0,0,4,16,13,5,6,2,0,0,0,16,7,1,0,0,0,0,6,16,16,15,8,0,0,0,1,12,8,12,16,5,0,0,0,0,0,5,16,5,0,0,0,3,8,15,12,0,0,0,0,8,14,8,0,0,0,5 +0,0,4,15,6,0,0,0,0,0,13,13,16,0,0,0,0,4,15,1,16,2,0,0,0,0,0,2,16,0,0,0,0,0,0,8,12,0,0,0,0,1,12,16,6,4,0,0,0,7,16,16,16,16,6,0,0,0,2,0,4,8,3,0,2 +0,0,0,8,12,1,0,0,0,0,8,16,14,8,0,0,0,6,16,2,2,16,0,0,0,8,16,2,0,10,6,0,0,4,16,3,0,8,8,0,0,0,10,9,0,8,8,0,0,0,4,16,12,16,2,0,0,0,0,7,13,8,0,0,0 +0,0,10,12,13,9,4,0,0,2,16,11,8,5,3,0,0,3,16,1,0,0,0,0,0,7,16,16,15,3,0,0,0,6,12,9,14,15,1,0,0,0,0,0,6,16,2,0,0,0,4,4,13,15,1,0,0,0,13,15,9,2,0,0,5 +0,0,13,15,3,0,0,0,0,2,16,11,15,4,0,0,0,4,16,2,16,16,0,0,0,2,13,16,16,16,2,0,0,0,0,4,5,15,2,0,0,0,0,0,0,12,7,0,0,0,2,4,4,11,12,0,0,0,11,16,16,15,10,0,9 +0,0,12,16,6,0,0,0,0,6,16,11,15,5,0,0,0,8,16,0,11,15,1,0,0,8,14,0,2,16,5,0,0,8,14,0,0,12,7,0,0,5,16,2,1,16,4,0,0,3,15,10,11,14,2,0,0,0,6,12,10,1,0,0,0 +0,0,11,16,12,1,0,0,0,0,16,12,16,12,0,0,0,0,3,2,12,12,0,0,0,0,5,16,16,6,0,0,0,0,4,12,16,15,2,0,0,0,0,0,5,15,7,0,0,1,11,12,12,16,7,0,0,2,12,15,12,5,1,0,3 +0,0,3,11,7,0,0,0,0,4,16,16,16,0,0,0,0,4,16,16,16,0,0,0,0,4,16,16,10,0,0,0,0,1,14,16,16,0,0,0,0,0,12,16,16,6,0,0,0,0,11,16,16,11,0,0,0,0,2,11,12,6,0,0,1 +0,0,6,11,14,3,0,0,0,2,16,12,11,16,0,0,0,4,16,9,7,15,0,0,0,0,14,15,16,12,0,0,0,0,10,16,16,3,0,0,0,1,16,6,11,15,1,0,0,3,16,3,7,16,3,0,0,0,7,14,16,12,1,0,8 +0,2,12,16,16,10,2,0,0,7,16,8,6,8,2,0,0,6,15,0,0,0,0,0,0,6,16,13,8,0,0,0,0,6,15,12,16,6,0,0,0,0,0,0,11,13,0,0,0,0,4,6,16,12,0,0,0,2,15,14,9,0,0,0,5 +0,0,6,16,5,0,0,0,0,6,16,16,16,7,0,0,0,11,15,2,16,14,0,0,0,9,16,10,16,16,7,0,0,2,13,16,16,16,8,0,0,0,0,0,0,13,12,0,0,0,3,8,12,16,7,0,0,0,5,16,12,5,0,0,9 +0,0,3,15,13,2,0,0,0,2,15,14,16,8,0,0,0,5,15,6,4,15,0,0,0,1,15,1,1,15,3,0,0,3,16,2,0,12,5,0,0,3,16,3,0,12,6,0,0,0,12,14,15,15,0,0,0,0,2,14,14,4,0,0,0 +0,0,2,14,1,0,0,0,0,0,11,13,0,0,0,0,0,2,16,1,0,0,0,0,0,4,16,1,3,0,0,0,0,8,12,12,16,13,0,0,0,4,16,9,4,13,6,0,0,0,13,12,8,12,11,0,0,0,2,10,13,14,4,0,6 +0,0,8,12,11,6,0,0,0,1,14,16,16,13,0,0,0,4,16,16,16,8,0,0,0,1,15,16,16,3,0,0,0,3,15,16,16,7,0,0,0,2,13,16,16,8,0,0,0,1,14,16,16,7,0,0,0,0,7,12,9,0,0,0,1 +0,0,1,12,14,1,0,0,0,0,8,15,7,0,0,0,0,1,14,7,0,0,0,0,0,1,16,16,16,10,2,0,0,1,16,15,5,11,10,0,0,1,16,4,0,8,13,0,0,0,11,11,9,16,8,0,0,0,2,11,15,5,0,0,6 +0,1,10,16,12,1,0,0,0,7,16,10,13,5,0,0,0,1,6,0,9,8,0,0,0,0,0,7,15,10,0,0,0,0,0,6,12,14,7,0,0,0,0,0,0,2,14,0,0,0,7,6,4,9,14,0,0,0,7,15,16,13,7,0,3 +0,0,8,15,10,1,0,0,0,0,15,13,15,10,0,0,0,0,16,2,0,14,1,0,0,0,14,5,7,16,2,0,0,0,7,12,11,15,3,0,0,0,0,0,0,13,4,0,0,0,6,6,9,16,2,0,0,0,7,13,14,3,0,0,9 +0,4,16,16,16,16,13,0,0,5,12,12,13,16,14,0,0,0,0,0,10,15,4,0,0,0,0,3,16,9,0,0,0,0,0,7,16,2,0,0,0,0,3,15,9,0,0,0,0,0,13,16,2,0,0,0,0,2,16,12,0,0,0,0,7 +0,0,1,16,15,5,0,0,0,0,9,16,16,12,0,0,0,2,16,16,16,7,0,0,0,0,12,16,16,2,0,0,0,0,8,16,16,5,0,0,0,0,15,16,16,11,0,0,0,0,15,16,16,16,8,0,0,0,2,10,15,11,4,0,1 +0,0,2,16,10,1,0,0,0,0,8,15,13,7,0,0,0,0,3,9,4,13,0,0,0,0,0,0,6,13,0,0,0,0,0,0,12,8,0,0,0,0,0,4,16,3,0,0,0,0,2,15,14,8,14,5,0,0,2,15,16,16,12,7,2 +0,0,1,12,13,2,0,0,0,0,12,16,10,2,0,0,0,2,16,7,0,0,0,0,0,1,16,12,8,2,0,0,0,2,16,13,13,14,2,0,0,0,13,7,0,12,12,0,0,0,9,13,6,15,13,0,0,0,1,11,15,14,6,0,6 +0,0,4,9,9,0,0,0,0,1,16,15,12,10,0,0,0,3,16,5,0,0,0,0,0,6,16,16,7,0,0,0,0,3,16,15,16,1,0,0,0,0,1,0,12,5,0,0,0,0,13,10,16,6,0,0,0,0,8,16,9,0,0,0,5 +0,0,12,14,8,3,0,0,0,3,16,15,16,16,3,0,0,0,14,12,14,13,1,0,0,0,7,16,16,3,0,0,0,0,12,16,16,2,0,0,0,1,15,4,9,14,0,0,0,3,15,4,5,16,1,0,0,1,12,16,16,12,0,0,8 +0,0,2,9,16,6,0,0,0,1,15,16,11,5,0,0,0,2,16,7,0,0,0,0,0,5,16,0,3,0,0,0,0,4,16,16,16,14,3,0,0,2,16,6,1,10,10,0,0,0,10,12,8,15,10,0,0,0,1,11,16,12,4,0,6 +0,1,11,9,14,11,1,0,0,8,16,14,14,16,2,0,0,7,16,0,11,12,0,0,0,1,1,1,15,5,0,0,0,0,0,10,14,0,0,0,0,0,2,15,5,0,0,0,0,0,12,16,4,0,0,0,0,0,15,11,1,0,0,0,7 +0,0,11,15,16,16,16,7,0,0,14,14,12,16,16,3,0,0,1,0,4,16,6,0,0,0,0,0,13,12,0,0,0,0,0,7,15,4,0,0,0,0,3,16,9,0,0,0,0,0,11,16,5,0,0,0,0,0,15,15,0,0,0,0,7 +0,0,11,12,2,0,0,0,0,3,16,12,7,0,0,0,0,2,14,3,10,0,0,0,0,0,0,5,8,0,0,0,0,0,0,11,5,0,0,0,0,0,3,16,1,0,0,0,0,0,11,14,9,15,15,0,0,0,8,13,12,8,10,2,2 +0,0,2,16,11,0,0,0,0,1,11,16,16,7,0,0,0,10,16,16,16,9,0,0,0,2,9,15,16,11,0,0,0,0,0,12,16,8,0,0,0,0,4,16,16,5,0,0,0,0,10,16,16,15,4,0,0,0,3,15,16,12,0,0,1 +0,4,8,8,12,16,5,0,0,8,16,16,16,15,3,0,0,2,3,7,16,7,0,0,0,0,0,12,14,1,0,0,0,0,9,16,7,0,0,0,0,0,14,16,0,0,0,0,0,6,16,12,0,0,0,0,0,6,14,7,0,0,0,0,7 +0,0,9,16,16,7,0,0,0,0,13,15,13,11,0,0,0,1,15,11,1,0,0,0,0,2,16,16,15,3,0,0,0,0,7,12,12,10,0,0,0,0,0,0,9,14,0,0,0,0,4,8,15,15,0,0,0,0,10,16,16,7,0,0,5 +0,0,5,7,13,7,0,0,0,7,16,16,10,15,0,0,0,5,15,5,6,11,0,0,0,1,9,15,15,4,0,0,0,0,5,16,16,3,0,0,0,0,14,7,13,8,0,0,0,0,15,11,13,11,0,0,0,0,5,12,12,4,0,0,8 +0,0,4,15,9,1,0,0,0,0,11,16,16,9,0,0,0,0,1,10,16,11,0,0,0,0,0,8,16,12,0,0,0,0,0,11,16,10,0,0,0,0,1,16,16,7,0,0,0,0,5,16,16,12,0,0,0,0,5,16,14,6,0,0,1 +0,4,15,9,8,8,1,0,0,4,16,16,16,16,8,0,0,9,15,2,15,14,1,0,0,5,5,5,16,4,0,0,0,0,0,12,12,0,0,0,0,0,7,15,2,0,0,0,0,3,16,7,0,0,0,0,0,6,16,4,0,0,0,0,7 +0,0,3,13,14,1,0,0,0,0,8,15,7,2,0,0,0,0,10,12,2,0,0,0,0,0,13,16,16,10,1,0,0,0,15,14,11,10,10,0,0,0,13,5,0,6,14,0,0,0,8,12,8,12,10,0,0,0,1,10,12,12,4,0,6 +0,0,0,10,13,3,0,0,0,0,7,16,12,6,0,0,0,0,12,13,1,0,0,0,0,0,16,16,16,10,0,0,0,2,16,15,1,12,8,0,0,0,16,4,0,6,15,0,0,0,11,14,8,15,14,1,0,0,2,11,16,11,2,0,6 +0,0,10,13,11,10,0,0,0,0,12,16,16,16,0,0,0,0,13,11,0,2,0,0,0,0,14,16,13,1,0,0,0,0,5,10,14,9,0,0,0,0,0,0,10,13,0,0,0,0,14,16,16,11,0,0,0,0,10,16,13,1,0,0,5 +0,0,3,14,3,0,0,0,0,3,15,16,15,1,0,0,0,6,15,5,8,11,0,0,0,7,10,0,0,12,5,0,0,4,11,0,0,6,10,0,0,2,14,0,0,6,12,0,0,0,12,9,5,13,8,0,0,0,2,15,16,13,2,0,0 +0,0,8,12,13,2,0,0,0,7,16,10,10,15,2,0,0,10,11,0,1,16,4,0,0,6,15,12,16,16,7,0,0,0,5,8,4,12,8,0,0,0,0,0,0,12,12,0,0,0,11,10,12,16,8,0,0,0,9,12,15,9,1,0,9 +0,0,5,13,12,2,0,0,0,0,14,12,12,13,0,0,0,0,11,4,2,15,0,0,0,0,8,8,4,16,1,0,0,0,2,14,16,16,6,0,0,0,0,0,0,7,10,0,0,0,8,9,8,15,10,0,0,0,4,16,16,13,2,0,9 +0,0,0,15,12,3,0,0,0,0,0,16,16,8,0,0,0,0,9,16,16,9,0,0,0,0,0,10,16,13,0,0,0,0,0,4,16,16,2,0,0,0,1,8,16,16,10,0,0,0,8,16,16,16,16,5,0,0,1,9,12,14,12,4,1 +0,0,14,15,12,12,6,0,0,1,16,12,12,16,7,0,0,0,6,1,12,12,0,0,0,0,0,8,15,2,0,0,0,0,0,13,7,0,0,0,0,0,6,15,1,0,0,0,0,0,15,10,0,0,0,0,0,0,15,6,0,0,0,0,7 +0,1,12,13,9,5,0,0,0,5,16,11,15,16,0,0,0,4,16,5,8,16,4,0,0,2,13,16,16,16,5,0,0,0,0,3,4,15,6,0,0,0,0,0,1,15,6,0,0,0,11,9,12,16,2,0,0,0,11,16,14,8,0,0,9 +0,0,0,7,8,0,0,0,0,0,0,14,4,5,0,0,0,0,2,14,4,12,0,0,0,0,9,7,7,9,0,0,0,1,16,2,10,12,3,0,0,10,16,16,16,16,3,0,0,4,8,8,15,4,0,0,0,0,0,7,11,0,0,0,4 +0,0,4,16,14,2,0,0,0,0,16,11,11,10,0,0,0,1,4,1,11,10,0,0,0,0,1,11,16,6,0,0,0,0,6,16,14,13,2,0,0,0,1,2,1,10,11,0,0,0,7,11,6,13,14,0,0,0,3,12,16,15,7,0,3 +0,0,9,11,8,5,0,0,0,2,16,14,16,15,0,0,0,6,16,11,2,0,0,0,0,8,16,16,13,2,0,0,0,1,3,0,12,9,0,0,0,0,0,0,9,12,0,0,0,0,5,8,16,6,0,0,0,0,8,15,10,0,0,0,5 +0,0,4,14,10,0,0,0,0,0,14,15,15,6,0,0,0,1,16,5,5,11,0,0,0,0,5,4,6,13,0,0,0,0,0,0,14,6,0,0,0,0,0,3,16,2,0,0,0,0,3,15,16,12,16,3,0,0,4,16,12,12,12,5,2 +0,0,6,15,16,6,0,0,0,5,15,16,16,11,0,0,0,8,16,16,16,9,0,0,0,0,4,16,16,6,0,0,0,0,2,16,16,0,0,0,0,0,8,16,16,2,0,0,0,0,11,16,16,13,2,0,0,0,5,13,11,8,2,0,1 +0,0,5,3,10,10,0,0,0,4,16,13,14,13,0,0,0,4,14,0,8,8,0,0,0,1,13,13,15,0,0,0,0,0,0,14,16,1,0,0,0,0,13,13,8,5,0,0,0,1,13,10,8,10,0,0,0,0,2,13,16,6,0,0,8 +0,0,5,10,12,7,0,0,0,1,14,16,16,16,0,0,0,11,16,4,7,15,0,0,0,5,12,0,11,14,0,0,0,0,0,5,16,9,0,0,0,0,2,14,13,5,1,0,0,0,10,16,16,16,15,0,0,0,7,12,12,9,12,1,2 +0,0,9,14,9,2,0,0,0,2,16,10,14,8,0,0,0,2,16,2,6,16,1,0,0,0,14,9,11,16,5,0,0,0,2,11,11,14,9,0,0,0,0,0,0,13,11,0,0,0,5,9,11,16,6,0,0,0,7,13,12,8,0,0,9 +0,0,11,16,14,7,1,0,0,7,15,7,13,16,4,0,0,10,12,0,5,16,6,0,0,3,16,12,15,16,8,0,0,0,2,4,7,16,6,0,0,0,0,0,3,16,4,0,0,0,7,10,10,15,2,0,0,0,11,16,14,6,0,0,9 +0,0,5,15,12,3,0,0,0,0,9,12,10,3,0,0,0,0,14,6,0,0,0,0,0,0,15,16,16,3,0,0,0,0,7,8,10,10,0,0,0,0,0,0,5,13,0,0,0,0,4,12,16,11,0,0,0,0,6,16,11,2,0,0,5 +0,0,5,12,11,2,0,0,0,1,14,15,13,14,0,0,0,2,15,4,6,16,0,0,0,0,0,2,13,12,0,0,0,0,0,11,16,13,2,0,0,0,0,1,5,12,12,0,0,0,8,11,8,14,12,0,0,0,7,16,12,12,3,0,3 +0,0,0,11,15,5,0,0,0,0,8,16,13,6,0,0,0,0,11,14,0,0,0,0,0,0,15,15,12,8,0,0,0,0,16,14,12,15,9,0,0,0,16,6,0,11,14,0,0,0,10,14,9,16,11,0,0,0,1,11,13,12,1,0,6 +0,0,11,12,16,10,1,0,0,5,16,15,7,15,4,0,0,5,16,6,8,15,1,0,0,0,7,16,16,10,0,0,0,0,6,16,16,7,0,0,0,0,14,10,10,12,0,0,0,4,16,9,12,14,0,0,0,1,11,16,15,5,0,0,8 +0,0,2,13,16,6,0,0,0,0,11,16,11,5,0,0,0,0,15,6,0,0,0,0,0,4,16,4,10,2,0,0,0,3,14,15,16,14,1,0,0,3,16,8,0,14,9,0,0,0,13,8,5,16,5,0,0,0,4,13,16,10,0,0,6 +0,0,0,5,4,1,0,0,0,0,0,14,8,12,0,0,0,0,4,13,4,12,0,0,0,0,12,5,7,9,0,0,0,2,16,4,13,16,7,0,0,10,16,16,16,11,1,0,0,5,6,7,15,0,0,0,0,0,0,7,7,0,0,0,4 +0,0,0,11,8,0,0,0,0,0,0,13,7,0,0,0,0,0,3,16,6,15,0,0,0,0,9,11,7,14,0,0,0,1,15,6,12,13,1,0,0,7,16,16,16,16,11,0,0,5,12,13,16,8,3,0,0,0,0,12,12,0,0,0,4 +0,0,10,16,16,8,0,0,0,0,15,14,9,9,0,0,0,3,16,5,0,0,0,0,0,2,16,16,10,0,0,0,0,0,11,13,15,6,0,0,0,0,0,0,10,11,0,0,0,0,5,11,15,13,0,0,0,0,7,16,15,4,0,0,5 +0,0,5,12,8,2,0,0,0,0,12,6,8,13,0,0,0,2,10,0,0,12,2,0,0,0,14,12,12,10,0,0,0,0,1,15,16,7,0,0,0,0,14,8,0,9,1,0,0,0,14,2,1,12,2,0,0,0,8,12,12,6,0,0,8 +0,0,4,11,4,0,0,0,0,0,12,15,16,14,0,0,0,4,15,0,5,12,6,0,0,6,10,0,0,7,8,0,0,7,8,0,0,8,8,0,0,6,13,0,1,13,3,0,0,2,16,10,12,13,0,0,0,0,6,13,12,1,0,0,0 +0,0,3,16,11,0,0,0,0,0,5,16,16,0,0,0,0,1,11,16,15,0,0,0,0,3,15,16,15,0,0,0,0,0,2,16,14,0,0,0,0,0,0,15,16,0,0,0,0,0,1,16,16,2,0,0,0,0,1,11,14,5,0,0,1 +0,0,3,14,7,1,0,0,0,0,11,15,16,12,0,0,0,0,14,8,0,13,4,0,0,1,16,2,0,12,6,0,0,1,16,2,0,13,7,0,0,2,16,0,4,16,1,0,0,0,13,10,15,13,0,0,0,0,6,15,12,6,0,0,0 +0,0,9,13,4,0,0,0,0,1,16,9,11,0,0,0,0,2,11,0,13,0,0,0,0,0,2,3,13,0,0,0,0,0,0,11,5,0,0,0,0,0,3,14,1,0,0,0,0,0,11,14,10,8,11,0,0,0,11,13,12,12,14,2,2 +0,0,7,11,13,7,0,0,0,1,15,15,13,15,2,0,0,4,16,4,5,14,4,0,0,0,10,16,16,13,2,0,0,0,7,15,16,3,0,0,0,1,16,9,8,15,0,0,0,3,15,6,9,16,0,0,0,0,6,16,15,6,0,0,8 +0,0,4,14,15,8,1,0,0,0,14,14,12,15,7,0,0,3,15,1,0,9,7,0,0,6,12,0,0,8,8,0,0,8,11,0,0,9,8,0,0,8,12,0,0,14,5,0,0,3,16,9,14,11,0,0,0,0,6,14,11,0,0,0,0 +0,2,12,16,16,16,14,0,0,9,16,16,15,16,6,0,0,11,13,0,11,14,0,0,0,0,0,2,16,6,0,0,0,0,0,12,14,1,0,0,0,0,4,16,6,0,0,0,0,0,11,16,1,0,0,0,0,2,15,13,0,0,0,0,7 +0,0,1,7,12,5,0,0,0,0,4,16,9,6,0,0,0,0,11,8,0,0,0,0,0,0,15,8,8,5,0,0,0,0,16,16,12,16,2,0,0,0,15,5,0,15,5,0,0,0,11,9,8,16,4,0,0,0,2,14,15,8,0,0,6 +0,0,5,10,12,2,0,0,0,2,16,13,11,11,0,0,0,7,14,0,4,15,0,0,0,1,6,0,10,12,0,0,0,0,0,2,16,6,0,0,0,0,0,9,12,0,0,0,0,0,4,16,16,16,16,2,0,0,7,15,11,8,8,1,2 +0,0,7,13,16,8,0,0,0,9,16,12,8,16,2,0,0,4,7,0,6,15,1,0,0,0,4,13,16,8,0,0,0,0,6,13,15,16,3,0,0,0,0,0,2,11,12,0,0,0,7,8,4,14,12,0,0,0,10,16,16,14,4,0,3 +0,0,10,15,10,0,0,0,0,10,15,10,16,6,0,0,0,2,2,13,15,1,0,0,0,0,4,16,16,5,0,0,0,0,0,3,7,15,5,0,0,0,0,0,0,9,13,0,0,0,13,7,5,11,14,0,0,0,7,16,16,14,3,0,3 +0,0,0,11,14,2,0,0,0,0,9,16,12,6,0,0,0,2,15,8,0,0,0,0,0,0,16,4,3,1,0,0,0,0,16,14,16,15,3,0,0,0,13,14,2,4,14,1,0,0,7,14,5,8,16,4,0,0,1,9,15,14,7,0,6 +0,0,10,14,11,9,0,0,0,0,9,12,8,9,0,0,0,0,11,9,1,0,0,0,0,0,15,16,14,2,0,0,0,0,12,2,10,6,0,0,0,0,0,0,0,13,0,0,0,0,7,5,8,12,0,0,0,0,10,16,15,4,0,0,5 +0,1,11,14,12,6,0,0,0,8,15,7,11,15,0,0,0,11,9,0,8,16,4,0,0,8,14,13,16,16,7,0,0,0,6,9,4,15,8,0,0,0,0,0,0,11,10,0,0,0,9,8,11,16,3,0,0,0,14,14,11,5,0,0,9 +0,0,8,11,15,4,0,0,0,0,14,14,12,6,0,0,0,0,11,9,0,0,0,0,0,0,10,16,14,2,0,0,0,0,4,8,9,14,2,0,0,0,0,0,0,15,2,0,0,0,4,11,13,16,1,0,0,0,4,15,12,9,0,0,5 +0,0,8,12,14,15,15,1,0,3,15,16,14,16,15,2,0,0,10,2,5,16,7,0,0,0,0,1,14,12,0,0,0,0,0,6,16,5,0,0,0,0,0,15,12,0,0,0,0,0,6,16,7,0,0,0,0,0,11,16,3,0,0,0,7 +0,0,7,8,8,8,0,0,0,0,12,16,14,12,0,0,0,0,15,5,2,0,0,0,0,0,14,16,13,2,0,0,0,0,7,4,12,9,0,0,0,0,0,0,6,12,0,0,0,0,11,12,16,10,0,0,0,0,8,13,8,1,0,0,5 +0,0,3,12,15,3,0,0,0,0,14,15,14,4,0,0,0,1,16,15,1,0,0,0,0,3,16,16,5,2,1,0,0,2,16,11,4,8,10,0,0,2,16,2,0,6,13,0,0,0,11,11,4,11,10,0,0,0,1,10,13,10,3,0,6 +0,0,5,15,11,9,1,0,0,0,10,16,12,14,7,0,0,0,15,2,0,10,8,0,0,2,12,0,0,11,8,0,0,4,10,0,0,12,5,0,0,8,10,0,3,15,1,0,0,2,15,12,14,9,0,0,0,0,6,14,9,1,0,0,0 +0,0,0,10,14,0,0,0,0,0,4,16,7,0,0,0,0,0,8,16,6,8,0,0,0,0,14,9,8,15,0,0,0,4,16,3,11,15,6,0,0,10,16,16,16,16,9,0,0,6,12,13,16,7,0,0,0,0,0,12,16,2,0,0,4 +0,0,1,10,14,13,2,0,0,0,9,15,13,16,5,0,0,0,0,0,0,11,5,0,0,0,0,0,4,13,0,0,0,0,8,16,16,13,2,0,0,0,8,14,16,10,1,0,0,0,0,12,7,0,0,0,0,0,0,14,2,0,0,0,7 +0,0,7,15,8,2,0,0,0,0,12,16,14,5,0,0,0,0,12,16,16,4,0,0,0,0,12,16,16,2,0,0,0,0,13,16,16,2,0,0,0,0,14,16,16,0,0,0,0,1,14,16,16,14,1,0,0,1,8,16,11,8,0,0,1 +0,0,6,9,4,1,0,0,0,0,6,16,16,9,1,0,0,0,4,16,1,13,7,0,0,0,0,14,5,12,8,0,0,1,10,15,16,10,0,0,0,6,15,9,16,1,0,0,0,7,13,8,14,4,0,0,0,0,6,10,13,1,0,0,8 +0,0,5,12,8,1,0,0,0,0,15,16,16,8,0,0,0,0,15,16,16,6,0,0,0,1,14,16,16,4,0,0,0,2,15,16,16,9,0,0,0,0,6,16,16,14,1,0,0,0,8,16,16,15,0,0,0,0,4,12,10,4,0,0,1 +0,0,0,2,15,3,0,0,0,0,0,8,14,0,0,0,0,0,0,12,8,2,4,0,0,0,4,15,2,15,8,0,0,4,13,14,9,16,6,0,3,16,16,16,16,14,0,0,1,6,4,4,13,9,0,0,0,0,0,3,16,4,0,0,4 +0,0,7,16,10,0,0,0,0,1,13,14,16,8,0,0,0,5,16,4,7,13,0,0,0,4,16,4,0,13,5,0,0,7,16,0,0,12,8,0,0,2,15,7,0,10,11,0,0,0,12,15,12,16,5,0,0,0,6,15,16,8,0,0,0 +0,0,4,14,16,11,0,0,0,0,12,12,16,15,0,0,0,0,0,1,16,11,0,0,0,0,2,9,16,9,0,0,0,0,13,16,16,16,9,0,0,0,2,15,12,8,1,0,0,0,4,16,9,0,0,0,0,0,5,15,7,0,0,0,7 +0,0,3,12,15,3,0,0,0,0,9,15,15,7,0,0,0,0,12,14,12,1,0,0,0,0,8,16,16,14,0,0,0,0,0,0,0,13,7,0,0,0,0,0,0,7,12,0,0,2,16,10,8,13,10,0,0,0,6,11,16,14,3,0,5 +0,0,0,3,15,5,0,0,0,0,0,6,16,2,0,0,0,0,0,6,16,3,0,0,0,0,2,13,5,12,2,0,0,5,13,13,9,16,1,0,4,16,16,16,16,15,0,0,2,9,7,4,13,9,0,0,0,0,0,5,16,5,0,0,4 +0,3,13,16,16,6,0,0,0,4,16,9,14,12,0,0,0,0,8,3,14,7,0,0,0,0,0,12,16,3,0,0,0,0,0,5,15,15,1,0,0,0,0,0,1,16,10,0,0,2,12,8,11,16,7,0,0,2,15,16,15,9,0,0,3 +0,1,14,16,9,0,0,0,0,8,16,12,15,6,0,0,0,6,16,7,5,14,0,0,0,4,16,4,0,14,4,0,0,4,16,3,0,10,6,0,0,6,16,1,0,10,8,0,0,3,16,9,7,15,6,0,0,1,15,16,15,9,0,0,0 +0,0,8,16,11,0,0,0,0,1,15,15,14,9,0,0,0,1,15,12,0,12,6,0,0,0,16,7,0,10,4,0,0,0,16,6,0,10,8,0,0,3,16,3,0,15,3,0,0,1,14,14,12,16,0,0,0,0,7,13,16,8,0,0,0 +0,0,8,14,12,2,0,0,0,3,16,12,15,6,0,0,0,3,7,7,13,9,0,0,0,0,5,15,16,3,0,0,0,0,0,7,14,14,1,0,0,0,0,0,3,16,5,0,0,0,7,5,10,16,5,0,0,0,13,10,8,3,0,0,3 +0,1,9,15,5,0,0,0,0,6,16,13,15,3,0,0,0,12,11,0,12,14,0,0,0,5,15,11,15,16,3,0,0,0,4,8,10,16,5,0,0,0,0,0,0,12,12,0,0,0,6,4,7,14,13,0,0,0,7,14,14,12,5,0,9 +0,2,14,16,11,0,0,0,0,8,15,7,16,0,0,0,0,1,2,0,15,1,0,0,0,0,2,12,14,0,0,0,0,0,1,11,14,11,0,0,0,0,0,0,2,14,5,0,0,2,8,3,4,10,12,0,0,1,13,16,16,14,4,0,3 +0,0,3,11,16,16,10,0,0,0,11,10,8,16,7,0,0,0,0,0,4,16,2,0,0,0,1,4,13,11,0,0,0,0,10,16,16,16,9,0,0,0,4,13,13,8,2,0,0,0,2,14,6,0,0,0,0,0,4,12,1,0,0,0,7 +0,0,1,13,12,14,7,0,0,0,5,12,9,16,2,0,0,0,0,0,3,13,0,0,0,0,0,0,10,7,0,0,0,0,7,16,16,10,1,0,0,0,9,14,16,11,1,0,0,0,0,15,5,0,0,0,0,0,1,15,2,0,0,0,7 +0,0,0,0,10,7,0,0,0,0,0,0,15,5,0,0,0,0,0,4,16,3,0,0,0,0,0,7,15,3,0,0,0,3,7,14,12,16,1,0,1,14,16,16,16,15,0,0,0,9,10,14,16,16,0,0,0,0,0,0,12,9,0,0,4 +0,0,4,16,16,8,0,0,0,2,16,10,12,16,4,0,0,4,16,4,10,16,4,0,0,3,16,16,16,16,1,0,0,0,0,0,4,16,4,0,0,0,0,0,2,16,1,0,0,0,0,6,11,16,0,0,0,0,4,13,9,3,0,0,9 +0,1,11,16,15,2,0,0,0,4,12,8,14,8,0,0,0,1,1,2,15,6,0,0,0,0,0,7,16,4,0,0,0,0,0,1,13,13,0,0,0,0,0,0,2,16,7,0,0,0,10,11,8,15,8,0,0,0,8,14,16,12,1,0,3 +0,0,0,8,14,5,0,0,0,0,0,9,16,14,2,0,0,0,0,11,16,13,1,0,0,0,6,16,16,7,0,0,0,3,13,16,16,4,0,0,0,3,11,15,16,12,0,0,0,0,0,10,16,15,3,0,0,0,0,8,16,15,6,0,1 +0,0,3,15,12,2,0,0,0,1,16,14,13,11,0,0,0,5,16,12,0,11,5,0,0,4,11,11,0,3,8,0,0,6,8,0,0,4,8,0,0,4,11,0,0,9,7,0,0,0,15,13,9,13,5,0,0,0,3,12,14,12,0,0,0 +0,0,0,10,13,3,0,0,0,0,0,16,16,8,0,0,0,0,4,16,16,7,0,0,0,2,15,16,16,10,0,0,0,6,16,16,16,13,0,0,0,0,0,8,16,14,0,0,0,0,0,11,16,16,1,0,0,0,0,12,12,7,0,0,1 +0,0,0,9,14,14,12,6,0,0,3,8,8,11,16,7,0,0,0,0,1,12,12,0,0,0,3,4,11,14,0,0,0,0,13,16,16,15,4,0,0,0,0,10,11,0,0,0,0,0,0,14,9,0,0,0,0,0,0,15,4,0,0,0,7 +0,0,2,14,16,13,0,0,0,0,15,9,7,9,0,0,0,0,14,6,5,4,0,0,0,0,11,16,16,16,3,0,0,0,1,5,4,11,8,0,0,0,3,0,0,7,9,0,0,2,16,11,4,8,10,0,0,0,1,10,14,15,3,0,5 +0,0,4,13,16,15,4,0,0,3,16,10,8,16,4,0,0,3,10,0,3,16,4,0,0,0,0,11,16,15,0,0,0,0,0,3,14,16,6,0,0,0,0,0,2,16,9,0,0,0,2,12,8,16,8,0,0,0,3,16,16,13,1,0,3 +0,0,8,14,13,1,0,0,0,3,16,16,16,7,0,0,0,4,16,3,11,8,0,0,0,0,4,0,15,4,0,0,0,0,0,3,15,1,0,0,0,0,7,14,15,5,2,0,0,1,16,16,16,16,15,0,0,0,6,4,6,9,11,0,2 +0,0,6,11,4,0,0,0,0,0,12,16,14,0,0,0,0,0,12,16,6,1,0,0,0,0,5,16,16,5,0,0,0,0,12,16,16,4,0,0,0,0,12,16,16,9,0,0,0,0,13,16,16,12,0,0,0,0,8,12,11,6,0,0,1 +0,0,0,16,11,4,0,0,0,0,2,16,16,12,0,0,0,0,10,16,16,8,0,0,0,2,16,16,16,4,0,0,0,2,11,16,16,4,0,0,0,0,1,16,16,6,0,0,0,0,0,14,16,16,6,0,0,0,0,12,16,15,6,0,1 +0,0,0,9,15,10,0,0,0,0,2,16,16,16,0,0,0,0,0,15,16,16,0,0,0,0,2,16,16,12,0,0,0,0,14,16,16,12,0,0,0,4,16,16,16,11,0,0,0,0,0,12,16,16,4,0,0,0,0,14,15,10,2,0,1 +0,0,13,14,5,0,0,0,0,3,16,15,16,3,0,0,0,7,11,1,13,4,0,0,0,1,2,2,15,2,0,0,0,0,0,9,12,0,0,0,0,0,8,16,4,1,1,0,0,0,16,16,16,16,8,0,0,0,11,12,10,11,7,0,2 +0,0,7,13,14,6,0,0,0,2,16,16,16,14,0,0,0,3,16,9,4,2,0,0,0,2,16,16,14,5,0,0,0,0,6,8,9,15,7,0,0,0,0,0,0,8,12,0,0,0,11,4,5,14,11,0,0,0,8,16,16,13,1,0,5 +0,0,9,16,14,1,0,0,0,4,16,14,15,8,0,0,0,8,16,5,3,15,2,0,0,7,13,0,0,15,4,0,0,8,12,0,0,12,5,0,0,5,14,1,2,14,4,0,0,0,16,16,16,13,1,0,0,0,8,14,11,3,0,0,0 +0,0,0,7,8,2,0,0,0,0,2,15,16,8,0,0,0,0,4,16,16,8,0,0,0,0,8,16,16,9,0,0,0,3,16,16,16,16,0,0,0,1,6,9,16,16,0,0,0,0,0,7,16,16,2,0,0,0,0,7,11,3,0,0,1 +0,0,3,14,8,0,0,0,0,8,16,16,16,6,0,0,0,11,14,4,7,14,0,0,0,9,10,0,0,12,7,0,0,6,11,0,0,6,8,0,0,0,16,4,0,4,12,0,0,0,10,14,10,14,10,0,0,0,2,12,16,13,2,0,0 +0,0,12,13,9,2,0,0,0,3,16,16,16,7,0,0,0,2,16,5,0,0,0,0,0,0,14,16,14,3,0,0,0,0,1,4,10,15,3,0,0,0,0,0,0,9,12,0,0,0,13,12,12,13,13,0,0,0,6,12,14,14,5,0,5 +0,0,2,11,15,8,0,0,0,0,14,13,13,8,0,0,0,0,14,8,8,4,0,0,0,0,7,16,16,14,2,0,0,0,1,4,1,13,6,0,0,0,0,0,0,7,13,0,0,0,10,7,2,7,12,0,0,0,2,10,14,16,7,0,5 +0,0,12,10,2,0,0,0,0,2,16,8,10,2,0,0,0,0,16,0,10,10,0,0,0,0,5,10,12,15,0,0,0,0,0,6,8,14,3,0,0,0,0,0,0,5,12,0,0,0,0,1,4,9,13,0,0,0,10,15,16,15,5,0,9 +0,0,1,12,7,0,0,0,0,0,14,16,6,0,0,0,0,2,16,5,0,0,0,0,0,1,16,2,0,0,0,0,0,3,16,11,5,3,0,0,0,1,16,15,14,16,8,0,0,0,11,16,5,7,16,5,0,0,1,10,16,16,13,1,6 +0,1,11,14,14,3,0,0,0,9,14,10,11,14,0,0,0,8,8,0,9,12,0,0,0,3,3,8,16,6,0,0,0,0,0,8,14,16,2,0,0,0,0,0,0,10,12,0,0,0,5,6,4,12,13,0,0,0,11,12,15,14,6,0,3 +0,0,0,1,16,8,0,0,0,0,0,3,16,6,0,0,0,0,0,7,15,9,3,0,0,0,3,14,8,16,4,0,0,7,15,14,12,16,3,0,3,15,16,16,16,16,1,0,1,4,4,4,14,13,0,0,0,0,0,1,16,7,0,0,4 +0,0,3,15,16,16,6,0,0,0,11,15,12,16,2,0,0,0,0,0,11,13,0,0,0,0,4,8,16,8,2,0,0,0,14,16,16,16,10,0,0,0,3,13,12,6,1,0,0,0,1,16,6,0,0,0,0,0,7,15,2,0,0,0,7 +0,0,0,4,16,1,0,0,0,0,0,6,14,0,0,0,0,0,0,11,10,9,2,0,0,0,4,16,8,16,4,0,0,5,14,11,11,16,2,0,3,15,16,16,16,14,0,0,3,12,11,14,16,13,0,0,0,0,0,7,16,7,0,0,4 +0,0,10,16,14,6,0,0,0,0,14,16,9,15,3,0,0,0,10,16,5,15,4,0,0,0,3,16,16,13,1,0,0,0,12,16,16,10,0,0,0,2,16,5,10,14,0,0,0,7,16,8,7,16,3,0,0,0,9,14,16,11,1,0,8 +0,1,12,8,0,0,0,0,0,9,16,14,9,0,0,0,0,9,8,0,16,0,0,0,0,1,0,4,13,0,0,0,0,0,0,9,7,0,0,0,0,0,1,13,3,0,0,0,0,1,15,15,11,10,7,0,0,0,11,12,12,12,11,0,2 +0,0,0,1,16,5,0,0,0,0,0,4,16,6,0,0,0,0,0,7,15,3,2,0,0,0,1,14,8,16,7,0,0,3,12,15,9,16,2,0,2,15,16,16,16,15,0,0,0,3,7,8,15,12,0,0,0,0,0,1,16,9,0,0,4 +0,0,6,8,0,0,0,0,0,0,11,14,0,0,0,0,0,0,13,7,0,0,0,0,0,0,16,7,0,0,0,0,0,0,16,9,6,0,0,0,0,4,16,16,16,14,2,0,0,2,14,14,8,16,9,0,0,0,6,15,16,16,6,0,6 +0,0,0,9,9,1,0,0,0,0,10,16,10,12,1,0,0,0,5,14,1,12,4,0,0,0,0,11,15,16,2,0,0,0,3,12,16,9,0,0,0,1,12,10,4,16,7,0,0,2,15,5,0,11,12,0,0,0,1,10,13,13,6,0,8 +0,0,13,16,5,0,0,0,0,4,15,13,13,0,0,0,0,7,8,3,16,1,0,0,0,9,3,4,16,0,0,0,0,0,0,8,10,0,0,0,0,0,2,15,5,0,0,0,0,0,12,16,16,16,7,0,0,0,13,12,9,15,7,0,2 +0,0,10,16,14,3,0,0,0,2,16,10,14,12,0,0,0,0,7,4,14,8,0,0,0,0,0,8,16,9,0,0,0,0,0,0,7,16,4,0,0,0,0,0,0,13,7,0,0,8,11,5,4,16,4,0,0,1,11,15,16,8,1,0,3 +0,0,0,9,14,0,0,0,0,0,0,13,11,0,4,0,0,0,2,16,6,6,15,0,0,0,9,14,0,14,10,0,0,12,16,14,13,15,1,0,0,11,14,14,16,12,0,0,0,0,0,7,16,5,0,0,0,0,0,14,13,0,0,0,4 +0,0,11,15,6,0,0,0,0,0,10,16,8,0,0,0,0,0,8,16,16,0,0,0,0,2,12,16,14,2,0,0,0,0,6,16,16,7,0,0,0,0,8,16,16,9,0,0,0,0,12,16,16,15,3,0,0,0,8,15,12,5,1,0,1 +0,0,6,9,13,11,2,0,0,7,16,16,16,16,3,0,0,8,16,10,6,0,0,0,0,5,16,16,16,13,1,0,0,0,0,3,6,16,4,0,0,3,0,0,0,12,5,0,0,5,16,9,8,14,6,0,0,0,5,10,12,10,0,0,5 +0,1,10,10,6,0,0,0,0,4,15,11,15,7,0,0,0,2,14,1,11,14,0,0,0,0,11,16,16,16,0,0,0,0,0,0,0,16,3,0,0,0,0,0,0,11,8,0,0,2,8,8,8,12,12,0,0,2,12,12,16,13,5,0,9 +0,0,8,16,15,4,0,0,0,0,8,16,16,10,0,0,0,0,8,16,16,7,0,0,0,0,8,16,16,4,0,0,0,2,16,16,16,4,0,0,0,0,12,16,16,4,0,0,0,0,7,16,16,11,0,0,0,0,7,16,16,13,4,0,1 +0,0,7,11,15,6,0,0,0,3,16,15,12,4,0,0,0,5,16,13,14,8,0,0,0,6,15,11,8,15,6,0,0,0,0,0,0,8,8,0,0,0,0,0,0,4,8,0,0,0,13,9,8,13,5,0,0,0,6,11,14,9,0,0,5 +0,1,12,16,16,8,0,0,0,4,10,8,8,4,0,0,0,9,11,6,7,0,0,0,0,4,16,16,16,11,0,0,0,0,0,0,1,16,4,0,0,0,0,0,0,16,6,0,0,0,5,8,11,14,2,0,0,0,15,13,10,1,0,0,5 +0,0,7,13,16,8,0,0,0,0,16,14,10,16,2,0,0,0,9,14,4,16,1,0,0,0,1,16,16,14,0,0,0,0,8,16,16,3,0,0,0,2,16,13,14,15,1,0,0,4,16,7,5,16,6,0,0,0,10,15,16,15,2,0,8 +0,0,6,16,8,0,0,0,0,0,14,10,11,7,0,0,0,0,16,1,3,16,1,0,0,0,11,10,13,16,5,0,0,0,2,8,8,9,10,0,0,0,0,0,0,2,14,0,0,0,0,0,1,5,15,1,0,0,6,15,16,14,5,0,9 +0,1,9,15,2,0,0,0,0,10,14,14,7,0,0,0,0,5,3,10,8,0,0,0,0,0,0,14,4,0,0,0,0,0,2,16,0,0,0,0,0,0,10,12,1,0,0,0,0,2,16,16,16,14,8,0,0,0,7,9,14,16,7,0,2 +0,0,5,15,10,0,0,0,0,1,15,12,13,10,0,0,0,5,16,2,1,11,3,0,0,5,14,2,0,4,8,0,0,4,12,0,0,4,8,0,0,3,14,2,0,9,9,0,0,0,12,12,7,14,9,0,0,0,5,16,16,10,0,0,0 +0,0,0,8,11,0,0,0,0,0,5,14,7,0,0,0,0,0,12,10,0,0,0,0,0,4,16,3,0,0,0,0,0,5,15,12,10,3,0,0,0,4,16,12,8,15,5,0,0,0,10,15,6,10,15,0,0,0,0,7,12,12,8,0,6 +0,0,2,14,11,4,0,0,0,1,14,16,13,16,2,0,0,4,16,10,3,15,3,0,0,0,9,16,14,14,2,0,0,1,12,16,16,4,0,0,0,5,16,9,11,13,0,0,0,1,14,13,10,16,7,0,0,0,4,9,13,11,1,0,8 +0,0,9,14,10,1,0,0,0,3,13,2,8,9,0,0,0,4,12,0,4,16,1,0,0,1,14,8,11,16,6,0,0,0,1,6,3,10,7,0,0,0,0,0,0,8,8,0,0,3,8,3,1,10,8,0,0,1,9,11,16,12,1,0,9 +0,0,11,12,4,0,0,0,0,4,16,8,14,7,0,0,0,5,16,7,6,15,1,0,0,0,12,16,16,16,2,0,0,0,0,1,0,7,9,0,0,0,0,0,0,4,12,0,0,0,4,8,10,14,12,0,0,0,10,12,9,7,0,0,9 +0,0,10,16,16,16,5,0,0,0,2,4,10,16,5,0,0,0,0,0,9,12,0,0,0,0,4,14,16,13,6,0,0,0,6,15,16,15,7,0,0,0,0,14,10,0,0,0,0,0,6,16,7,0,0,0,0,0,11,15,0,0,0,0,7 +0,1,12,12,11,5,0,0,0,5,15,8,12,15,2,0,0,7,12,0,9,16,3,0,0,3,15,9,10,16,7,0,0,0,5,11,16,16,8,0,0,0,0,0,1,14,10,0,0,0,7,8,11,16,2,0,0,0,12,16,13,6,0,0,9 +0,1,10,16,13,4,0,0,0,9,13,4,11,15,0,0,0,0,0,0,4,16,1,0,0,0,0,3,13,11,0,0,0,0,0,7,16,14,2,0,0,0,0,0,4,15,8,0,0,0,5,4,5,14,9,0,0,0,15,16,14,9,0,0,3 +0,0,8,16,8,0,0,0,0,0,10,16,16,0,0,0,0,0,6,10,16,4,0,0,0,0,0,0,16,2,0,0,0,0,0,7,13,0,0,0,0,0,1,14,8,0,0,0,0,0,13,16,16,16,14,0,0,0,8,12,11,8,14,0,2 +0,0,3,12,6,0,0,0,0,0,16,16,16,8,0,0,0,0,14,14,7,15,0,0,0,0,5,16,15,8,0,0,0,0,0,13,16,0,0,0,0,2,14,10,13,7,0,0,0,3,15,7,9,15,0,0,0,0,5,12,11,5,0,0,8 +0,1,11,13,5,0,0,0,0,7,12,7,15,4,0,0,0,8,4,0,8,12,0,0,0,2,6,0,0,13,0,0,0,0,0,1,8,3,0,0,0,0,0,11,8,0,0,0,0,1,12,16,13,8,2,0,0,2,12,12,12,12,12,0,2 +0,3,13,16,13,1,0,0,0,11,11,8,14,8,0,0,0,5,1,0,5,14,0,0,0,0,0,0,5,11,0,0,0,0,0,1,14,3,0,0,0,0,0,9,11,0,0,0,0,0,11,16,15,12,7,0,0,1,8,8,9,13,7,0,2 +0,3,14,16,12,2,0,0,0,11,12,4,12,8,0,0,0,1,1,0,12,7,0,0,0,0,0,9,16,6,0,0,0,0,0,4,11,16,2,0,0,0,0,0,0,8,11,0,0,1,8,6,7,14,6,0,0,2,11,16,12,8,0,0,3 +0,0,8,10,16,13,0,0,0,4,16,16,16,16,1,0,0,6,16,12,8,15,5,0,0,6,16,1,0,12,8,0,0,5,13,0,1,14,6,0,0,4,14,2,12,16,2,0,0,2,16,16,16,8,0,0,0,0,9,12,7,0,0,0,0 +0,0,6,15,8,0,0,0,0,0,13,15,16,4,0,0,0,0,15,6,15,13,0,0,0,0,15,12,16,16,1,0,0,0,3,11,7,12,6,0,0,0,0,0,0,6,11,0,0,0,1,4,2,7,14,0,0,0,7,14,16,15,9,0,9 +0,2,16,14,2,0,0,0,0,6,14,12,14,0,0,0,0,7,12,8,15,0,0,0,0,2,5,8,12,0,0,0,0,0,0,15,1,0,0,0,0,0,5,13,0,0,0,0,0,1,13,14,9,8,2,0,0,2,14,15,12,16,10,0,2 +0,1,5,11,13,5,0,0,0,10,16,16,15,3,0,0,0,10,13,0,0,0,0,0,0,10,14,8,8,3,0,0,0,2,12,13,13,16,5,0,0,0,0,0,0,11,14,0,0,0,2,11,8,14,15,0,0,0,2,11,16,14,6,0,5 +0,1,10,12,12,2,0,0,0,7,15,8,12,8,0,0,0,0,2,0,13,7,0,0,0,0,0,7,16,4,0,0,0,0,0,5,13,13,1,0,0,0,0,0,1,11,9,0,0,0,8,4,6,14,8,0,0,2,12,16,14,9,1,0,3 +0,0,14,14,13,15,5,0,0,0,16,14,12,6,0,0,0,4,16,11,8,1,0,0,0,3,16,16,16,9,0,0,0,0,0,0,5,16,2,0,0,0,0,0,3,16,4,0,0,0,6,9,15,14,0,0,0,0,12,16,10,2,0,0,5 +0,0,0,1,16,14,1,0,0,0,0,10,16,14,0,0,0,3,9,16,16,3,0,0,0,5,16,16,16,4,0,0,0,0,0,14,16,4,0,0,0,0,0,9,16,8,0,0,0,0,0,5,16,12,0,0,0,0,0,2,15,14,2,0,1 +0,1,9,12,12,2,0,0,0,7,12,4,11,10,0,0,0,0,1,0,11,8,0,0,0,0,2,15,16,2,0,0,0,0,2,8,12,12,0,0,0,0,0,0,1,16,6,0,0,1,16,3,6,16,6,0,0,1,11,15,12,4,0,0,3 +0,0,2,12,16,10,0,0,0,0,11,12,11,16,4,0,0,0,1,1,1,16,4,0,0,0,0,0,8,14,2,0,0,0,0,4,15,5,0,0,0,0,8,16,5,0,0,0,0,5,16,16,14,9,1,0,0,0,3,8,10,15,3,0,2 +0,0,6,15,12,10,8,0,0,0,11,16,16,16,7,0,0,1,14,11,12,6,0,0,0,4,16,16,16,13,0,0,0,2,11,8,10,16,2,0,0,0,0,0,1,16,1,0,0,0,0,11,13,15,0,0,0,0,4,16,12,1,0,0,5 +0,0,7,12,8,0,0,0,0,0,15,16,15,2,0,0,0,0,11,16,16,2,0,0,0,0,12,16,16,4,0,0,0,0,12,16,16,7,0,0,0,0,9,16,16,11,0,0,0,0,11,16,16,13,0,0,0,0,2,8,12,6,0,0,1 +0,0,12,16,12,2,0,0,0,12,15,9,15,12,0,0,0,12,7,0,8,16,0,0,0,3,1,0,8,14,0,0,0,0,0,4,16,6,0,0,0,0,1,13,15,1,0,0,0,0,11,16,13,12,8,0,0,0,11,12,12,15,14,0,2 +0,0,14,14,16,15,0,0,0,4,16,13,12,8,0,0,0,6,13,0,0,0,0,0,0,5,16,12,4,0,0,0,0,3,14,16,14,0,0,0,0,0,0,0,12,12,0,0,0,0,10,8,15,10,0,0,0,0,15,16,11,1,0,0,5 +0,0,0,2,13,10,0,0,0,0,0,6,16,4,0,0,0,0,0,14,12,0,0,0,0,0,11,15,1,6,1,0,0,6,16,5,6,16,6,0,4,15,16,12,14,16,2,0,1,8,12,13,16,10,0,0,0,0,0,4,15,4,0,0,4 +0,0,6,15,16,14,0,0,0,2,11,5,7,16,2,0,0,0,0,0,4,16,0,0,0,0,8,13,16,6,0,0,0,0,5,13,16,14,3,0,0,0,0,14,8,14,4,0,0,0,6,16,2,0,0,0,0,0,7,9,1,0,0,0,7 +0,0,6,16,16,16,12,0,0,0,6,12,11,15,16,1,0,0,0,0,0,15,12,0,0,0,1,11,12,16,3,0,0,0,3,16,16,16,4,0,0,0,0,9,16,13,3,0,0,0,1,16,9,0,0,0,0,0,7,15,4,0,0,0,7 +0,0,9,15,7,1,0,0,0,5,16,7,12,14,0,0,0,10,10,0,8,16,0,0,0,6,12,0,5,16,4,0,0,0,12,13,15,16,3,0,0,0,0,0,1,13,10,0,0,0,2,4,5,13,11,0,0,0,8,16,12,8,1,0,9 +0,1,7,12,10,1,0,0,0,1,14,16,16,12,0,0,0,0,12,16,16,14,0,0,0,0,7,16,16,14,1,0,0,0,5,16,16,13,0,0,0,0,7,16,16,14,0,0,0,1,14,16,16,15,2,0,0,1,8,12,10,8,0,0,1 +0,0,4,14,13,4,0,0,0,0,13,14,6,15,0,0,0,0,4,15,8,16,0,0,0,0,0,3,14,14,0,0,0,0,0,9,16,12,0,0,0,0,8,15,4,15,3,0,0,0,15,8,4,14,7,0,0,0,4,13,13,12,2,0,8 +0,0,6,13,12,4,0,0,0,2,16,9,12,13,0,0,0,0,9,0,13,10,0,0,0,0,0,6,16,4,0,0,0,0,0,0,8,14,1,0,0,0,0,0,0,14,9,0,0,0,4,9,5,10,13,0,0,0,7,12,13,12,5,0,3 +0,1,15,16,14,2,0,0,0,1,11,12,16,8,0,0,0,0,0,5,16,4,0,0,0,0,2,15,16,3,0,0,0,0,4,16,16,14,4,0,0,0,5,16,12,16,7,0,0,0,11,11,0,0,0,0,0,0,16,6,0,0,0,0,7 +0,0,11,16,13,12,3,0,0,3,16,11,8,8,1,0,0,5,16,9,9,1,0,0,0,8,16,16,16,6,0,0,0,6,11,3,9,11,0,0,0,0,0,0,4,12,0,0,0,0,10,14,11,16,0,0,0,0,9,12,12,6,0,0,5 +0,0,4,6,14,14,1,0,0,0,16,16,16,16,5,0,0,3,16,7,3,12,8,0,0,4,16,0,0,9,8,0,0,4,16,0,0,8,8,0,0,1,15,1,1,13,7,0,0,0,14,13,15,12,0,0,0,0,6,14,14,4,0,0,0 +0,0,5,15,12,2,0,0,0,0,7,16,16,1,0,0,0,0,10,16,16,6,0,0,0,0,11,16,16,2,0,0,0,0,7,16,16,3,0,0,0,0,7,16,16,7,0,0,0,0,8,16,16,8,0,0,0,0,12,16,13,3,0,0,1 +0,1,13,14,6,0,0,0,0,3,16,9,15,4,0,0,0,2,16,8,15,4,0,0,0,0,0,0,16,4,0,0,0,0,0,6,12,0,0,0,0,0,0,14,6,0,0,0,0,0,14,16,9,6,4,0,0,2,11,12,12,12,12,0,2 +0,0,0,8,15,0,0,0,0,0,0,16,10,0,0,0,0,0,4,16,4,0,0,0,0,0,12,12,0,0,0,0,0,9,16,5,7,14,0,0,3,16,16,13,16,13,0,0,1,7,9,15,16,7,0,0,0,0,0,12,14,2,0,0,4 +0,0,0,5,16,2,0,0,0,0,0,12,14,0,0,0,0,0,4,16,5,0,0,0,0,1,12,12,0,4,6,0,0,8,16,3,2,16,10,0,2,16,16,16,15,16,2,0,1,4,7,11,16,11,0,0,0,0,0,7,16,4,0,0,4 +0,0,8,15,11,4,0,0,0,7,15,13,14,16,2,0,0,8,14,0,10,16,4,0,0,0,14,15,16,12,1,0,0,0,9,16,13,1,0,0,0,0,14,16,11,0,0,0,0,0,15,16,16,2,0,0,0,0,8,16,15,3,0,0,8 +0,0,9,12,9,0,0,0,0,0,16,16,16,4,0,0,0,0,13,16,16,4,0,0,0,0,12,16,16,2,0,0,0,0,12,16,16,4,0,0,0,0,13,16,16,4,0,0,0,0,16,16,16,9,0,0,0,0,4,8,10,4,0,0,1 +0,0,7,12,14,7,0,0,0,0,12,11,12,16,0,0,0,0,0,2,4,12,0,0,0,0,0,14,15,14,1,0,0,0,0,12,15,15,6,0,0,0,0,12,8,1,1,0,0,0,5,16,1,0,0,0,0,0,7,7,0,0,0,0,7 +0,0,3,14,13,2,0,0,0,0,16,14,14,11,0,0,0,7,15,2,1,16,1,0,0,5,12,0,0,12,8,0,0,8,10,0,0,11,8,0,0,1,15,0,0,8,11,0,0,0,11,10,7,15,6,0,0,0,3,12,16,11,1,0,0 +0,1,14,13,9,2,0,0,0,2,16,16,16,14,2,0,0,0,14,10,3,16,3,0,0,0,5,15,14,13,0,0,0,0,1,15,15,3,0,0,0,0,8,16,16,2,0,0,0,0,16,13,16,8,0,0,0,0,12,12,9,2,0,0,8 +0,0,9,16,4,0,0,0,0,0,14,14,13,7,0,0,0,4,15,12,16,16,5,0,0,4,12,7,8,14,8,0,0,7,12,0,0,12,8,0,0,5,13,0,0,13,8,0,0,2,16,12,15,16,5,0,0,0,9,14,12,8,0,0,0 +0,0,8,14,10,2,0,0,0,0,15,14,11,13,0,0,0,0,0,0,5,16,1,0,0,0,0,0,11,14,0,0,0,0,0,0,3,15,3,0,0,0,0,0,0,9,13,0,0,0,3,9,8,15,11,0,0,0,6,16,14,7,1,0,3 +0,0,0,8,16,1,0,0,0,0,0,14,16,2,0,0,0,0,3,15,13,0,0,0,0,0,9,16,3,3,1,0,0,1,14,11,4,16,7,0,1,12,16,14,14,16,2,0,1,11,12,14,16,11,0,0,0,0,0,9,16,5,0,0,4 +0,0,0,2,13,7,0,0,0,0,0,9,15,3,0,0,0,0,2,14,10,0,0,0,0,0,13,13,2,6,0,0,0,8,15,2,14,14,0,0,4,15,16,16,16,12,0,0,1,4,8,10,16,7,0,0,0,0,0,5,16,6,0,0,4 +0,0,0,4,15,0,0,0,0,0,0,11,13,0,0,0,0,0,1,15,7,0,0,0,0,0,11,11,0,0,0,0,0,2,16,2,11,8,0,0,2,13,14,10,16,8,0,0,2,6,12,15,16,4,0,0,0,0,0,5,14,1,0,0,4 +0,0,8,16,15,11,0,0,0,0,5,7,11,16,3,0,0,0,0,0,9,13,0,0,0,0,7,15,15,5,0,0,0,0,8,14,16,14,4,0,0,0,0,10,9,4,1,0,0,0,4,14,1,0,0,0,0,0,10,7,0,0,0,0,7 +0,0,0,0,10,13,2,0,0,0,0,4,16,16,2,0,0,0,0,10,16,16,2,0,0,1,13,16,16,16,4,0,0,5,12,10,16,16,0,0,0,0,0,0,15,16,1,0,0,0,0,0,14,16,5,0,0,0,0,0,11,16,6,0,1 +0,0,4,12,10,3,0,0,0,0,9,16,16,5,0,0,0,0,10,16,16,3,0,0,0,0,12,16,16,3,0,0,0,0,4,16,15,2,0,0,0,0,7,16,16,4,0,0,0,0,8,16,16,6,0,0,0,0,6,12,9,4,0,0,1 +0,0,5,14,0,0,0,0,0,0,12,14,0,0,0,0,0,0,15,12,0,0,0,0,0,1,16,9,5,2,0,0,0,5,16,16,16,15,2,0,0,7,16,15,10,16,9,0,0,1,15,13,13,16,5,0,0,0,5,13,13,9,0,0,6 +0,0,8,15,12,2,0,0,0,4,16,13,11,12,1,0,0,9,14,1,13,15,2,0,0,9,15,0,14,15,0,0,0,2,15,16,16,16,0,0,0,0,1,4,4,16,4,0,0,0,4,8,4,16,5,0,0,0,5,14,16,15,5,0,9 +0,1,12,15,16,9,0,0,0,2,16,16,12,9,0,0,0,6,14,1,0,0,0,0,0,7,15,5,1,0,0,0,0,7,16,16,12,0,0,0,0,0,4,4,15,4,0,0,0,0,8,5,16,6,0,0,0,0,13,16,12,1,0,0,5 +0,0,15,14,14,15,10,0,0,0,16,8,11,10,6,0,0,5,14,0,0,0,0,0,0,8,16,16,16,4,0,0,0,4,14,9,12,12,0,0,0,0,0,0,5,15,0,0,0,0,11,4,11,9,0,0,0,0,14,16,14,1,0,0,5 +0,2,14,12,16,13,1,0,0,4,16,15,4,10,7,0,0,2,16,5,2,14,2,0,0,0,9,12,14,6,0,0,0,0,2,16,11,0,0,0,0,0,11,13,12,0,0,0,0,2,13,0,15,0,0,0,0,2,14,15,10,0,0,0,8 +0,0,0,2,16,6,0,0,0,0,0,6,16,2,0,0,0,0,0,13,13,0,0,0,0,0,6,16,4,9,4,0,0,3,15,10,4,16,6,0,2,15,16,16,14,16,5,0,1,8,13,16,16,15,0,0,0,0,0,2,16,9,0,0,4 +0,0,0,7,15,6,0,0,0,0,10,13,14,13,0,0,0,2,13,0,12,6,0,0,0,0,2,3,12,1,0,0,0,0,1,15,3,0,0,0,0,2,13,8,0,0,0,0,0,10,16,14,12,8,0,0,0,2,4,7,9,14,0,0,2 +0,1,8,15,16,11,1,0,0,5,16,13,10,13,7,0,0,4,13,0,0,9,8,0,0,1,13,8,6,15,4,0,0,0,2,15,16,9,0,0,0,0,8,14,15,8,0,0,0,0,14,8,9,14,0,0,0,0,11,16,14,8,0,0,8 +0,0,6,9,16,10,1,0,0,2,15,15,9,15,8,0,0,6,16,1,0,12,8,0,0,0,14,13,14,12,2,0,0,0,4,16,15,1,0,0,0,0,11,11,16,3,0,0,0,2,16,8,13,14,0,0,0,0,8,16,12,10,0,0,8 +0,0,9,16,13,2,0,0,0,3,16,9,12,12,0,0,0,4,16,0,0,16,0,0,0,1,8,0,2,16,0,0,0,0,0,0,5,13,0,0,0,0,0,1,11,9,0,0,0,0,4,11,16,10,7,0,0,0,9,12,8,9,13,0,2 +0,0,5,14,16,14,1,0,0,2,15,4,7,16,1,0,0,0,5,0,12,12,0,0,0,0,0,6,16,3,0,0,0,0,0,0,7,15,1,0,0,0,0,0,2,16,2,0,0,0,1,4,8,16,4,0,0,0,8,15,13,8,0,0,3 +0,0,7,15,13,3,0,0,0,0,16,16,16,16,1,0,0,5,15,7,7,16,5,0,0,8,12,0,0,15,5,0,0,6,16,0,0,13,7,0,0,5,16,1,2,16,4,0,0,3,16,9,14,15,0,0,0,0,9,13,12,3,0,0,0 +0,0,0,7,12,7,0,0,0,0,13,13,13,12,0,0,0,3,12,0,9,9,0,0,0,0,0,7,16,9,0,0,0,0,0,2,8,16,0,0,0,0,0,0,1,15,3,0,0,0,0,12,9,15,0,0,0,0,1,12,15,5,0,0,3 +0,0,7,14,0,0,0,0,0,0,12,15,0,0,0,0,0,0,16,9,0,0,0,0,0,1,15,7,2,0,0,0,0,1,16,16,15,10,2,0,0,3,16,12,4,14,12,0,0,0,12,10,1,14,9,0,0,0,5,16,16,11,3,0,6 +0,0,9,15,16,10,0,0,0,0,16,16,16,16,4,0,0,0,14,11,14,16,2,0,0,0,7,16,16,7,0,0,0,0,10,16,11,0,0,0,0,2,16,15,14,1,0,0,0,4,16,14,16,4,0,0,0,0,9,15,13,1,0,0,8 +0,1,14,16,16,12,1,0,0,0,13,8,4,4,0,0,0,0,12,4,0,0,0,0,0,0,8,16,16,9,0,0,0,0,4,7,5,14,0,0,0,0,0,0,0,13,0,0,0,0,5,0,3,15,0,0,0,2,14,16,14,7,0,0,5 +0,0,0,13,7,0,0,0,0,5,14,16,16,8,0,0,0,12,10,0,6,16,0,0,0,2,14,12,5,16,3,0,0,0,0,11,16,11,0,0,0,0,2,15,9,16,5,0,0,0,10,14,4,13,12,0,0,0,1,9,14,16,11,0,8 +0,0,7,12,14,6,0,0,0,7,16,14,14,6,0,0,0,5,16,10,3,0,0,0,0,6,16,16,16,6,0,0,0,3,7,4,10,14,0,0,0,0,0,0,10,15,1,0,0,0,2,15,16,8,0,0,0,0,5,16,9,0,0,0,5 +0,0,5,15,2,0,0,0,0,0,15,16,16,13,2,0,0,4,16,16,14,16,8,0,0,7,12,0,0,8,8,0,0,4,12,0,0,8,8,0,0,4,15,0,0,9,7,0,0,1,15,5,7,15,4,0,0,0,5,13,12,7,0,0,0 +0,0,2,12,14,5,0,0,0,2,15,6,8,14,6,0,0,5,9,0,5,16,4,0,0,5,9,4,15,12,0,0,0,0,14,13,16,5,0,0,0,0,0,4,12,0,0,0,0,0,0,11,5,0,0,0,0,0,2,15,4,0,0,0,9 +0,0,0,12,15,0,0,0,0,0,5,16,9,0,0,0,0,3,14,10,0,1,0,0,0,10,14,1,4,15,9,0,0,11,15,15,16,16,4,0,0,1,8,10,16,12,0,0,0,0,0,8,16,3,0,0,0,0,0,11,16,0,0,0,4 +0,6,16,16,13,3,0,0,0,12,16,12,15,16,5,0,0,10,14,1,0,4,1,0,0,2,15,8,0,0,0,0,0,0,7,16,2,0,0,0,0,0,2,15,9,0,0,0,0,1,5,15,10,0,0,0,0,7,16,15,1,0,0,0,5 +0,0,11,16,9,0,0,0,0,9,12,6,14,10,0,0,0,11,5,0,13,13,0,0,0,1,11,14,12,15,6,0,0,0,0,0,0,12,8,0,0,0,0,0,0,10,10,0,0,0,1,0,4,13,6,0,0,0,9,14,16,10,0,0,9 +0,0,12,16,16,10,0,0,0,0,15,13,13,16,1,0,0,0,3,14,16,14,1,0,0,0,0,15,14,2,0,0,0,0,0,7,16,5,0,0,0,0,0,0,9,16,2,0,0,0,6,5,11,16,8,0,0,0,10,16,16,15,3,0,3 +0,0,0,4,13,13,0,0,0,0,3,16,14,3,0,0,0,1,15,11,1,1,0,0,0,10,15,0,0,11,9,0,0,7,15,9,9,16,6,0,0,0,4,8,16,15,1,0,0,0,0,2,16,7,0,0,0,0,0,3,16,1,0,0,4 +0,2,13,16,15,7,0,0,0,10,16,15,6,14,3,0,0,8,16,1,0,0,0,0,0,3,14,8,0,0,0,0,0,0,4,15,4,0,0,0,0,0,0,5,16,0,0,0,0,0,5,9,16,3,0,0,0,1,15,16,10,0,0,0,5 +0,0,1,12,9,0,0,0,0,0,7,16,5,0,0,0,0,0,10,9,0,0,0,0,0,0,15,11,11,1,0,0,0,0,13,16,14,14,1,0,0,0,10,13,0,12,5,0,0,0,4,13,2,16,3,0,0,0,0,11,16,8,0,0,6 +0,0,3,16,8,1,0,0,0,0,4,16,16,2,0,0,0,7,16,16,16,0,0,0,0,9,10,15,14,0,0,0,0,0,1,16,13,0,0,0,0,0,0,16,11,0,0,0,0,0,3,16,13,0,0,0,0,0,1,13,15,0,0,0,1 +0,0,8,16,16,12,0,0,0,3,16,9,11,16,3,0,0,4,7,0,8,14,1,0,0,0,5,8,14,12,1,0,0,5,16,16,16,16,10,0,0,6,5,9,11,0,0,0,0,0,4,16,3,0,0,0,0,0,11,8,0,0,0,0,7 +0,2,12,15,16,14,2,0,0,6,16,15,11,12,5,0,0,4,16,2,0,0,0,0,0,1,13,5,0,0,0,0,0,0,11,8,0,0,0,0,0,0,5,16,0,0,0,0,0,2,12,14,0,0,0,0,0,2,16,10,0,0,0,0,5 +0,1,6,12,15,4,0,0,0,6,16,12,12,16,3,0,0,12,8,0,5,16,2,0,0,1,2,0,12,13,0,0,0,0,0,6,16,2,0,0,0,0,0,16,9,0,0,0,0,0,7,16,8,8,7,0,0,0,3,11,12,12,7,0,2 +0,0,7,16,6,5,0,0,0,0,16,12,9,14,1,0,0,4,15,0,0,16,2,0,0,4,14,0,0,15,3,0,0,5,12,0,3,14,0,0,0,3,16,0,6,10,0,0,0,1,15,6,16,3,0,0,0,0,8,15,8,0,0,0,0 +0,0,0,10,12,0,0,0,0,0,3,16,9,0,0,0,0,0,8,12,0,0,0,0,0,0,10,10,1,0,0,0,0,0,12,16,16,15,3,0,0,0,10,15,4,8,16,1,0,0,6,14,0,9,15,0,0,0,1,10,16,15,4,0,6 +0,3,15,16,16,15,1,0,0,14,13,7,8,16,8,0,0,2,1,0,8,16,7,0,0,0,0,7,16,10,0,0,0,0,0,14,13,0,0,0,0,0,0,10,14,2,0,0,0,2,8,5,16,8,0,0,0,2,16,16,13,3,0,0,3 +0,1,10,16,16,13,0,0,0,6,15,6,9,16,3,0,0,3,5,0,8,16,3,0,0,0,1,10,16,14,3,0,0,0,6,16,16,9,8,0,0,0,0,15,9,0,0,0,0,0,6,15,1,0,0,0,0,0,14,5,0,0,0,0,7 +0,3,15,14,5,1,0,0,0,12,16,16,16,16,5,0,0,9,16,15,7,8,3,0,0,1,13,13,0,0,0,0,0,0,6,16,5,0,0,0,0,0,1,15,11,0,0,0,0,0,7,16,10,0,0,0,0,2,16,13,1,0,0,0,5 +0,0,0,13,3,0,0,0,0,0,5,16,7,0,0,0,0,0,9,14,0,0,0,0,0,0,10,14,8,3,0,0,0,0,15,15,12,14,6,0,0,0,15,9,0,4,15,1,0,0,7,14,2,9,16,0,0,0,1,11,15,14,6,0,6 +0,0,0,10,11,0,0,0,0,0,2,16,7,0,0,0,0,0,7,12,0,0,0,0,0,0,10,10,0,0,0,0,0,0,10,16,16,9,0,0,0,0,10,14,2,14,3,0,0,0,6,14,1,14,5,0,0,0,0,7,16,15,1,0,6 +0,0,8,16,15,5,0,0,0,0,14,16,11,15,0,0,0,0,16,2,0,8,4,0,0,2,12,0,0,8,6,0,0,3,11,0,0,11,5,0,0,3,12,0,2,15,1,0,0,1,15,2,14,8,0,0,0,0,7,15,12,0,0,0,0 +0,0,1,16,14,0,0,0,0,0,3,16,16,1,0,0,0,0,1,15,16,4,0,0,0,0,0,14,16,6,0,0,0,0,2,16,16,2,0,0,0,0,1,16,16,1,0,0,0,0,3,16,16,0,0,0,0,0,2,15,16,4,0,0,1 +0,0,6,15,13,3,0,0,0,5,15,6,13,15,3,0,0,10,11,0,13,16,5,0,0,4,15,14,16,15,1,0,0,0,0,1,12,9,0,0,0,0,0,8,15,1,0,0,0,0,1,14,8,0,0,0,0,0,6,15,0,0,0,0,9 +0,0,6,15,11,2,0,0,0,1,16,10,14,16,3,0,0,4,11,0,14,16,3,0,0,3,15,16,12,15,5,0,0,0,1,2,0,12,7,0,0,0,0,0,1,13,6,0,0,0,1,5,13,12,0,0,0,0,8,12,6,0,0,0,9 +0,4,16,16,12,1,0,0,0,8,14,5,15,6,0,0,0,3,5,0,13,8,0,0,0,0,0,3,15,7,0,0,0,0,1,13,13,0,0,0,0,0,11,15,2,0,0,0,0,6,16,9,4,4,1,0,0,4,15,16,16,16,15,1,2 +0,2,14,16,13,1,0,0,0,10,14,10,15,8,0,0,0,5,2,0,12,12,0,0,0,0,0,4,16,6,0,0,0,0,1,15,10,0,0,0,0,0,11,14,1,0,0,0,0,4,16,8,1,0,0,0,0,2,15,16,16,16,8,0,2 +0,1,9,12,15,14,4,0,0,6,14,4,4,14,8,0,0,3,8,0,7,15,2,0,0,0,0,6,14,2,0,0,0,0,0,8,11,0,0,0,0,0,0,1,15,2,0,0,0,0,5,0,12,9,0,0,0,0,11,16,14,3,0,0,3 +0,0,14,11,7,1,0,0,0,2,16,16,16,14,4,0,0,0,15,11,0,6,3,0,0,0,7,14,0,0,0,0,0,0,2,16,4,0,0,0,0,0,1,12,12,0,0,0,0,4,12,14,11,0,0,0,0,0,14,16,6,0,0,0,5 +0,0,15,2,0,0,0,0,0,5,16,15,11,5,0,0,0,7,16,15,12,13,4,0,0,1,15,7,0,0,0,0,0,0,5,16,5,0,0,0,0,0,0,10,14,0,0,0,0,0,1,12,15,0,0,0,0,0,11,16,6,0,0,0,5 +0,0,8,9,15,11,0,0,0,9,15,15,4,15,2,0,0,8,9,0,8,12,0,0,0,2,14,11,14,2,0,0,0,0,11,16,7,0,0,0,0,0,14,2,13,6,0,0,0,2,12,1,8,12,0,0,0,0,8,16,14,5,0,0,8 +0,0,6,15,8,0,0,0,0,2,15,7,16,5,0,0,0,6,11,1,10,14,2,0,0,7,7,0,0,10,6,0,0,7,5,0,0,8,8,0,0,4,10,0,0,10,7,0,0,0,12,8,4,15,2,0,0,0,2,12,12,8,0,0,0 +0,4,15,16,16,12,1,0,0,15,13,5,5,16,8,0,0,7,3,0,10,16,4,0,0,0,1,11,16,10,0,0,0,0,7,16,10,0,0,0,0,0,1,7,16,6,0,0,0,3,8,6,16,10,0,0,0,5,16,16,12,1,0,0,3 +0,0,8,16,16,15,0,0,0,3,16,9,8,16,4,0,0,9,8,0,6,16,2,0,0,1,8,13,16,16,5,0,0,0,15,12,16,13,8,0,0,0,0,9,15,1,0,0,0,0,2,16,4,0,0,0,0,0,11,11,0,0,0,0,7 +0,0,0,5,16,5,0,0,0,0,6,15,16,9,0,0,3,16,16,16,16,3,0,0,0,9,11,13,16,3,0,0,0,0,0,14,14,0,0,0,0,0,0,14,13,0,0,0,0,0,0,11,14,0,0,0,0,0,0,4,15,4,0,0,1 +0,0,6,15,16,5,0,0,0,5,16,13,15,11,0,0,0,10,12,1,16,9,0,0,0,3,3,9,16,2,0,0,0,0,4,16,7,0,0,0,0,0,11,13,0,0,0,0,0,0,12,14,8,8,2,0,0,0,5,16,16,16,11,0,2 +0,0,0,13,11,0,0,0,0,0,6,16,6,0,0,0,0,0,15,13,0,5,1,0,0,6,16,6,4,16,9,0,0,11,16,5,13,16,2,0,0,1,11,16,16,9,0,0,0,0,0,11,15,2,0,0,0,0,0,12,13,0,0,0,4 +0,0,9,13,15,10,0,0,0,2,15,5,6,16,6,0,0,0,3,0,2,16,6,0,0,0,0,0,11,13,0,0,0,0,0,8,14,1,0,0,0,0,5,15,3,0,0,0,0,0,12,6,0,0,0,0,0,0,8,16,16,12,0,0,2 +0,0,6,13,16,11,1,0,0,4,15,6,9,16,5,0,0,6,9,0,7,16,6,0,0,3,15,12,15,15,8,0,0,0,2,5,2,10,8,0,0,0,0,0,0,13,7,0,0,2,9,4,8,15,2,0,0,0,10,13,12,2,0,0,9 +0,0,0,1,15,9,0,0,0,0,0,9,16,11,0,0,0,4,8,16,16,6,0,0,0,15,16,16,16,4,0,0,0,5,9,4,16,4,0,0,0,0,0,5,16,2,0,0,0,0,0,4,16,5,0,0,0,0,0,2,14,9,0,0,1 +0,0,6,13,6,0,0,0,0,0,10,16,14,6,0,0,0,0,14,9,3,16,1,0,0,0,15,2,0,15,5,0,0,0,14,2,0,15,1,0,0,0,12,4,5,15,0,0,0,0,10,9,15,8,0,0,0,0,5,14,10,0,0,0,0 +0,0,9,13,10,1,0,0,0,7,14,4,15,8,0,0,0,10,8,0,10,14,0,0,0,4,14,12,14,15,4,0,0,0,2,4,2,12,6,0,0,0,0,0,1,15,5,0,0,0,0,4,10,15,1,0,0,0,9,12,9,2,0,0,9 +0,0,0,5,16,4,0,0,0,0,0,13,15,1,0,0,0,0,10,16,3,2,0,0,0,5,16,9,0,13,10,0,0,12,16,6,6,16,6,0,0,1,15,16,16,16,1,0,0,0,0,4,16,11,0,0,0,0,0,4,16,11,0,0,4 +0,0,4,13,16,8,0,0,0,5,16,8,10,12,0,0,0,8,9,0,8,12,0,0,0,0,0,2,11,10,2,0,0,0,3,16,16,16,9,0,0,0,0,9,14,0,0,0,0,0,0,13,7,0,0,0,0,0,5,15,2,0,0,0,7 +0,0,2,13,3,0,0,0,0,0,11,15,4,0,0,0,0,0,11,8,0,0,0,0,0,0,14,5,0,0,0,0,0,0,16,13,16,14,4,0,0,0,15,15,9,13,12,0,0,0,13,11,2,15,9,0,0,0,2,14,15,11,1,0,6 +0,0,0,8,16,2,0,0,0,0,8,16,9,1,0,0,0,0,13,10,0,0,0,0,0,0,15,15,8,1,0,0,0,1,16,11,12,10,0,0,0,0,15,5,1,15,1,0,0,0,8,11,3,16,0,0,0,0,1,10,16,7,0,0,6 +0,0,0,11,13,0,0,0,0,0,5,15,13,0,0,0,0,3,16,16,10,0,0,0,0,0,7,16,10,0,0,0,0,0,0,15,10,0,0,0,0,0,0,15,8,0,0,0,0,0,0,16,6,0,0,0,0,0,0,12,11,0,0,0,1 +0,1,11,16,16,5,0,0,0,6,16,6,14,13,0,0,0,4,5,0,14,12,0,0,0,0,7,9,16,10,0,0,0,0,15,16,16,16,8,0,0,0,1,14,11,4,0,0,0,0,10,16,1,0,0,0,0,0,15,9,0,0,0,0,7 +0,0,8,16,16,10,0,0,0,1,16,14,11,16,1,0,0,0,12,8,13,15,1,0,0,0,1,7,16,7,0,0,0,0,0,4,16,6,0,0,0,0,0,0,11,14,0,0,0,0,0,4,13,16,2,0,0,0,10,16,16,12,0,0,3 +0,2,12,15,16,10,1,0,0,3,16,5,10,16,3,0,0,0,0,5,15,7,0,0,0,0,0,14,8,0,0,0,0,0,0,15,4,0,0,0,0,0,0,4,14,2,0,0,0,1,2,2,15,6,0,0,0,2,12,15,12,1,0,0,3 +0,0,6,15,16,10,0,0,0,0,14,11,10,15,0,0,0,0,2,0,9,14,0,0,0,0,5,9,15,14,2,0,0,11,16,16,16,16,11,0,0,1,3,11,13,1,0,0,0,0,5,16,3,0,0,0,0,0,8,12,0,0,0,0,7 +0,0,0,8,12,1,0,0,0,0,6,16,13,0,0,0,0,0,10,14,1,0,0,0,0,0,14,8,0,0,0,0,0,0,15,12,8,8,2,0,0,0,11,16,13,14,13,0,0,0,8,16,5,10,15,0,0,0,0,8,16,13,7,0,6 +0,0,7,15,16,16,8,0,0,4,16,12,5,13,13,0,0,1,5,0,0,16,10,0,0,0,0,1,8,16,6,0,0,0,9,15,16,16,11,0,0,2,12,14,15,4,1,0,0,0,1,15,6,0,0,0,0,0,10,11,0,0,0,0,7 +0,0,6,15,16,13,1,0,0,3,16,10,11,16,3,0,0,5,8,0,4,16,4,0,0,0,0,2,9,16,1,0,0,0,9,16,16,15,6,0,0,0,10,10,16,10,3,0,0,0,0,11,12,0,0,0,0,0,7,13,1,0,0,0,7 +0,0,9,13,11,9,1,0,0,0,11,10,10,14,4,0,0,0,5,14,7,13,0,0,0,0,0,10,15,3,0,0,0,0,8,16,12,0,0,0,0,0,14,3,12,4,0,0,0,0,13,1,12,7,0,0,0,0,10,16,13,1,0,0,8 +0,0,4,12,15,2,0,0,0,0,12,14,14,15,2,0,0,2,15,1,11,16,4,0,0,5,11,0,0,11,7,0,0,5,11,0,0,13,3,0,0,0,15,0,1,15,0,0,0,0,14,7,13,11,0,0,0,0,2,15,12,3,0,0,0 +0,0,0,14,13,1,0,0,0,0,2,16,16,2,0,0,0,0,4,16,15,0,0,0,0,0,3,16,13,0,0,0,0,0,7,16,12,0,0,0,0,0,7,16,12,0,0,0,0,0,6,16,14,0,0,0,0,0,1,11,16,4,0,0,1 +0,0,8,11,16,12,1,0,0,2,16,16,9,16,3,0,0,0,13,11,8,15,2,0,0,0,5,16,16,6,0,0,0,0,9,16,12,0,0,0,0,2,16,12,16,0,0,0,0,3,16,4,16,2,0,0,0,0,12,16,12,0,0,0,8 +0,0,0,12,11,0,0,0,0,0,4,16,5,0,0,0,0,0,9,8,0,0,0,0,0,0,13,7,0,0,0,0,0,0,14,11,12,5,0,0,0,0,12,16,10,15,4,0,0,0,6,13,2,11,9,0,0,0,0,10,13,15,3,0,6 +0,0,1,15,11,0,0,0,0,0,9,16,16,1,0,0,0,8,16,16,15,0,0,0,1,16,16,16,14,0,0,0,0,4,6,15,15,0,0,0,0,0,2,16,12,0,0,0,0,0,1,16,13,0,0,0,0,0,0,14,12,0,0,0,1 +0,0,0,9,11,0,0,0,0,0,2,16,9,0,0,0,0,0,6,14,1,0,0,0,0,0,9,11,0,0,0,0,0,0,11,16,16,9,0,0,0,0,10,15,4,10,8,0,0,0,4,14,3,11,12,0,0,0,0,8,16,12,4,0,6 +0,0,15,16,16,12,1,0,0,5,16,13,11,16,4,0,0,1,16,2,3,15,4,0,0,0,11,11,15,11,0,0,0,0,4,16,14,1,0,0,0,0,13,16,8,0,0,0,0,2,16,14,11,0,0,0,0,0,12,16,7,0,0,0,8 +0,0,2,13,11,5,0,0,0,2,15,10,15,16,0,0,0,4,13,1,0,11,4,0,0,6,6,0,0,6,6,0,0,5,8,0,0,6,7,0,0,0,12,0,0,11,6,0,0,0,10,8,2,16,1,0,0,0,2,11,13,6,0,0,0 +0,0,4,16,9,0,0,0,0,0,15,16,16,9,0,0,0,3,16,15,5,13,3,0,0,5,8,4,0,5,7,0,0,5,6,0,0,7,7,0,0,2,11,0,0,11,6,0,0,0,13,1,6,15,0,0,0,0,5,15,13,3,0,0,0 +0,0,9,13,16,12,1,0,0,5,16,14,16,16,4,0,0,4,16,0,13,13,1,0,0,2,14,14,15,3,0,0,0,0,8,16,4,0,0,0,0,0,15,16,5,0,0,0,0,1,16,16,7,0,0,0,0,0,12,16,6,0,0,0,8 +0,0,8,3,11,11,2,0,0,2,16,6,7,12,8,0,0,1,16,1,7,14,1,0,0,0,11,14,12,1,0,0,0,0,11,16,1,0,0,0,0,3,12,11,8,0,0,0,0,5,10,5,12,0,0,0,0,1,10,16,9,0,0,0,8 +0,0,1,14,7,0,0,0,0,0,10,16,4,0,0,0,0,1,15,7,0,0,0,0,0,2,16,3,0,0,0,0,0,3,16,16,16,14,3,0,0,1,15,16,0,4,13,1,0,0,10,15,3,7,16,5,0,0,1,11,15,15,9,0,6 +0,0,6,14,0,0,12,6,0,0,15,13,0,6,16,6,0,2,16,12,4,16,12,0,0,1,14,16,16,16,7,0,0,0,1,8,16,7,0,0,0,0,0,12,16,2,0,0,0,0,3,16,6,0,0,0,0,0,7,15,0,0,0,0,4 +0,0,9,16,15,8,0,0,0,3,16,13,7,8,0,0,0,10,16,5,0,0,0,0,0,10,16,15,5,0,0,0,0,0,4,9,15,3,0,0,0,0,0,2,16,8,0,0,0,0,2,12,16,3,0,0,0,0,9,16,8,0,0,0,5 +0,0,5,12,15,15,5,0,0,0,8,7,4,13,7,0,0,0,0,0,2,16,1,0,0,0,2,4,12,10,0,0,0,7,16,14,16,12,2,0,0,2,0,11,7,0,0,0,0,0,3,14,1,0,0,0,0,0,8,7,0,0,0,0,7 +0,0,9,16,16,7,0,0,0,0,8,9,11,16,1,0,0,0,0,2,13,16,1,0,0,0,0,13,16,6,0,0,0,0,0,3,13,13,2,0,0,0,0,0,1,13,9,0,0,0,4,2,1,12,13,0,0,0,11,16,16,16,11,0,3 +0,0,9,16,15,4,0,0,0,0,12,14,12,16,1,0,0,0,0,10,16,14,0,0,0,0,2,16,16,10,1,0,0,0,0,4,8,13,13,0,0,0,0,0,0,4,16,2,0,0,9,6,9,15,15,0,0,0,10,16,16,14,3,0,3 +0,0,7,14,16,8,0,0,0,1,16,16,8,6,0,0,0,8,16,10,0,0,0,0,0,14,16,16,10,1,0,0,0,7,12,8,15,6,0,0,0,0,0,0,14,9,0,0,0,0,3,9,16,6,0,0,0,0,12,16,10,1,0,0,5 +0,0,0,5,12,11,1,0,0,0,3,14,6,7,11,0,0,5,16,2,1,9,9,0,0,8,14,8,14,16,1,0,0,1,7,8,13,10,0,0,0,0,0,1,14,4,0,0,0,0,0,5,13,0,0,0,0,0,0,11,7,0,0,0,9 +0,0,1,14,10,0,0,0,0,0,3,16,16,1,0,0,0,0,3,16,13,0,0,0,0,0,5,16,9,0,0,0,0,0,6,16,10,0,0,0,0,0,4,16,9,0,0,0,0,0,3,16,6,0,0,0,0,0,1,12,6,0,0,0,1 +0,1,12,10,0,0,0,0,0,4,16,3,0,9,9,0,0,8,14,0,3,16,6,0,0,9,15,8,13,14,5,0,0,1,12,16,16,15,5,0,0,0,1,14,6,0,0,0,0,0,8,13,0,0,0,0,0,2,12,3,0,0,0,0,4 +0,0,14,16,16,8,0,0,0,0,6,5,8,16,3,0,0,0,0,0,7,16,2,0,0,0,0,7,16,13,0,0,0,0,0,8,12,16,7,0,0,0,0,0,0,8,14,1,0,0,10,4,4,10,16,1,0,0,12,16,16,16,9,0,3 +0,0,2,15,16,12,2,0,0,0,13,12,4,12,12,0,0,6,16,1,3,13,12,0,0,11,16,15,16,16,9,0,0,1,7,9,16,11,0,0,0,0,0,9,15,1,0,0,0,0,0,14,10,0,0,0,0,0,4,16,3,0,0,0,9 +0,0,9,16,16,5,0,0,0,0,13,16,9,6,0,0,0,0,9,12,0,0,0,0,0,0,3,16,3,0,0,0,0,0,0,12,10,0,0,0,0,0,0,5,15,0,0,0,0,0,3,5,16,5,0,0,0,0,7,16,15,1,0,0,5 +0,3,15,16,13,4,0,0,0,4,6,4,10,16,0,0,0,0,0,5,14,11,0,0,0,0,10,16,12,0,0,0,0,0,6,9,15,12,0,0,0,0,0,0,0,12,8,0,0,1,6,4,6,15,8,0,0,4,13,13,11,7,0,0,3 +0,0,1,15,12,0,0,0,0,0,6,16,15,0,0,0,0,0,5,16,9,0,0,0,0,0,5,16,6,0,0,0,0,0,3,16,8,0,0,0,0,0,2,16,8,0,0,0,0,0,1,16,9,0,0,0,0,0,1,13,6,0,0,0,1 +0,0,10,11,9,1,0,0,0,0,14,16,16,6,0,0,0,0,14,12,6,15,0,0,0,1,16,6,0,14,3,0,0,3,16,6,0,12,6,0,0,3,16,0,6,15,4,0,0,1,16,12,16,15,2,0,0,0,7,16,14,5,0,0,0 +0,0,6,14,16,10,0,0,0,0,13,13,10,15,0,0,0,0,5,15,11,14,0,0,0,0,0,10,16,7,0,0,0,0,0,14,16,1,0,0,0,0,8,15,15,2,0,0,0,0,12,14,16,1,0,0,0,0,10,16,11,0,0,0,8 +0,5,14,16,8,1,0,0,0,4,11,4,12,11,0,0,0,1,2,1,11,11,0,0,0,0,1,15,13,1,0,0,0,0,1,10,16,9,0,0,0,0,0,0,1,13,8,0,0,5,5,0,2,12,8,0,0,5,16,16,16,13,1,0,3 +0,0,12,16,16,16,11,0,0,0,8,10,9,16,11,0,0,0,0,0,9,16,2,0,0,0,0,2,15,9,0,0,0,8,16,16,16,14,0,0,0,3,9,16,12,3,0,0,0,0,9,16,2,0,0,0,0,0,14,10,0,0,0,0,7 +0,0,2,10,16,13,1,0,0,8,16,15,5,12,6,0,0,10,16,10,0,7,10,0,0,12,16,12,10,16,8,0,0,3,12,16,16,12,0,0,0,0,0,5,16,4,0,0,0,0,0,7,15,0,0,0,0,0,0,11,11,0,0,0,9 +0,0,3,13,10,0,0,0,0,0,11,11,11,5,0,0,0,2,16,6,0,10,1,0,0,2,14,1,0,6,5,0,0,3,11,0,0,2,9,0,0,2,14,0,0,4,9,0,0,0,12,9,7,12,9,0,0,0,2,11,15,12,4,0,0 +0,0,12,15,16,16,15,2,0,0,10,12,10,14,14,2,0,0,0,0,2,16,7,0,0,0,0,0,12,11,0,0,0,3,12,14,16,13,3,0,0,12,12,16,11,7,0,0,0,0,5,15,2,0,0,0,0,0,12,11,0,0,0,0,7 +0,0,3,16,9,1,0,0,0,0,12,16,16,1,0,0,0,0,15,16,10,0,0,0,0,0,14,16,5,0,0,0,0,0,13,16,4,0,0,0,0,0,13,16,4,0,0,0,0,0,9,16,5,0,0,0,0,0,2,16,6,0,0,0,1 +0,0,5,16,14,3,0,0,0,0,9,15,10,11,0,0,0,0,0,4,8,13,0,0,0,0,0,0,14,10,0,0,0,0,0,4,16,5,0,0,0,0,0,13,16,5,0,0,0,0,4,16,16,16,14,8,0,0,4,16,12,8,9,13,2 +0,0,9,16,16,10,0,0,0,0,15,13,11,16,1,0,0,0,3,1,13,13,0,0,0,0,0,5,16,5,0,0,0,0,1,15,11,0,0,0,0,0,8,16,2,2,2,0,0,0,15,13,14,16,15,3,0,0,9,16,15,10,8,1,2 +0,0,6,15,16,16,9,0,0,0,9,12,8,16,12,0,0,0,0,0,5,16,4,0,0,1,7,8,16,9,2,0,0,9,16,16,16,16,9,0,0,2,7,16,4,0,0,0,0,0,8,14,0,0,0,0,0,0,10,9,0,0,0,0,7 +0,0,0,6,13,0,0,0,0,0,0,13,9,0,0,0,0,0,1,16,3,0,0,0,0,0,3,15,0,0,0,0,0,0,6,14,8,7,1,0,0,0,7,16,12,12,13,2,0,0,4,16,3,3,13,7,0,0,0,7,16,16,11,1,6 +0,0,9,16,15,5,0,0,0,0,4,7,12,15,0,0,0,0,0,1,9,16,3,0,0,0,0,10,16,13,0,0,0,0,0,3,8,15,9,0,0,0,0,0,0,7,14,0,0,0,10,7,4,10,16,1,0,0,7,16,16,16,10,0,3 +0,0,15,16,15,7,0,0,0,2,16,12,11,9,0,0,0,0,12,12,0,0,0,0,0,0,3,15,5,0,0,0,0,0,0,8,14,0,0,0,0,0,0,2,16,2,0,0,0,0,7,8,16,4,0,0,0,0,12,16,14,1,0,0,5 +0,0,2,6,15,16,8,0,0,0,15,16,10,8,16,0,0,4,16,5,0,7,12,0,0,9,16,10,10,16,8,0,0,1,9,16,15,16,4,0,0,0,0,0,9,13,0,0,0,0,0,3,16,4,0,0,0,0,0,7,13,0,0,0,9 +0,1,15,16,16,13,0,0,0,0,7,8,12,16,0,0,0,0,0,0,10,14,0,0,0,1,4,6,16,5,0,0,0,11,16,16,16,15,8,0,0,4,9,16,8,8,2,0,0,0,11,12,0,0,0,0,0,2,16,4,0,0,0,0,7 +0,0,0,10,10,0,0,0,0,0,3,16,10,0,0,0,0,0,10,10,0,0,0,0,0,0,16,5,0,0,0,0,0,0,16,7,8,7,0,0,0,0,12,16,13,9,13,2,0,0,6,16,5,5,13,8,0,0,0,9,14,13,9,1,6 +0,0,15,15,8,1,0,0,0,0,4,6,11,15,2,0,0,0,0,0,0,16,4,0,0,0,4,9,15,13,1,0,0,0,4,12,16,13,1,0,0,0,1,0,2,10,8,0,0,4,11,3,5,12,8,0,0,1,9,15,15,10,0,0,3 +0,0,10,16,0,0,12,6,0,2,15,9,0,8,16,5,0,6,16,6,1,14,13,0,0,7,16,11,11,16,13,0,0,1,11,14,16,12,2,0,0,0,0,11,14,1,0,0,0,0,2,16,5,0,0,0,0,0,13,10,0,0,0,0,4 +0,0,2,16,10,0,0,0,0,0,5,16,15,1,0,0,0,0,4,16,12,0,0,0,0,0,4,16,11,0,0,0,0,0,1,16,12,0,0,0,0,0,1,16,12,0,0,0,0,0,1,16,10,0,0,0,0,0,0,15,5,0,0,0,1 +0,2,10,16,16,16,7,0,0,14,16,15,11,13,5,0,0,12,15,1,0,0,0,0,0,4,16,7,0,0,0,0,0,0,16,8,0,0,0,0,0,0,15,9,0,0,0,0,0,0,12,14,0,0,0,0,0,0,15,7,0,0,0,0,5 +0,0,1,11,16,16,6,0,0,0,13,14,7,10,15,0,0,6,16,4,2,11,14,0,0,7,16,16,16,16,10,0,0,0,5,8,9,16,2,0,0,0,0,2,14,8,0,0,0,0,0,11,13,0,0,0,0,0,0,16,7,0,0,0,9 +0,0,9,15,14,2,0,0,0,3,16,13,15,11,0,0,0,2,9,0,14,9,0,0,0,0,0,5,16,5,0,0,0,0,0,12,14,0,0,0,0,0,5,16,4,0,0,0,0,1,14,15,8,8,9,1,0,0,11,16,16,16,16,7,2 +0,0,0,7,16,16,5,0,0,0,8,15,6,13,11,0,0,2,15,5,0,13,10,0,0,10,16,10,13,16,11,0,0,2,11,16,16,16,6,0,0,0,0,1,16,8,0,0,0,0,0,7,16,1,0,0,0,0,0,10,12,0,0,0,9 +0,0,4,13,10,1,0,0,0,0,11,16,14,7,0,0,0,1,15,9,0,12,1,0,0,2,16,6,0,7,5,0,0,2,16,10,0,8,8,0,0,1,16,5,2,15,5,0,0,0,11,16,16,13,0,0,0,0,4,15,11,2,0,0,0 +0,0,7,16,2,0,4,0,0,0,15,12,0,4,16,3,0,6,16,2,2,15,10,0,0,10,14,0,12,12,1,0,0,9,16,16,16,10,0,0,0,1,8,16,9,1,0,0,0,0,7,14,1,0,0,0,0,0,10,8,0,0,0,0,4 +0,4,16,16,16,12,1,0,0,0,7,8,12,16,2,0,0,0,0,0,8,15,1,0,0,0,3,4,15,11,0,0,0,2,16,16,16,16,6,0,0,0,9,16,10,4,1,0,0,0,10,15,1,0,0,0,0,1,16,8,0,0,0,0,7 +0,0,9,16,16,9,0,0,0,0,13,13,15,16,0,0,0,0,9,16,16,7,0,0,0,0,4,16,12,0,0,0,0,0,10,15,14,1,0,0,0,0,14,7,12,5,0,0,0,0,15,9,16,5,0,0,0,0,9,16,14,1,0,0,8 +0,1,8,16,14,7,0,0,0,5,16,6,8,15,0,0,0,1,13,8,15,9,0,0,0,0,1,15,10,0,0,0,0,0,8,12,11,0,0,0,0,0,13,5,8,1,0,0,0,0,14,1,9,4,0,0,0,0,9,14,14,1,0,0,8 +0,0,9,15,16,7,0,0,0,0,16,9,7,15,0,0,0,0,5,14,13,8,0,0,0,0,0,14,14,0,0,0,0,0,4,16,13,0,0,0,0,0,10,8,12,0,0,0,0,0,13,8,15,1,0,0,0,0,11,16,5,0,0,0,8 +0,1,12,16,14,6,0,0,0,2,13,7,5,15,2,0,0,0,6,15,9,13,0,0,0,0,0,10,15,1,0,0,0,0,4,15,8,0,0,0,0,0,12,4,12,0,0,0,0,3,14,10,11,0,0,0,0,0,14,13,3,0,0,0,8 +0,0,1,16,8,0,0,0,0,0,2,16,16,7,0,0,0,0,2,16,16,1,0,0,0,0,3,16,16,1,0,0,0,0,2,16,12,0,0,0,0,0,3,16,14,0,0,0,0,0,4,16,14,0,0,0,0,0,2,15,10,0,0,0,1 +0,0,0,9,16,10,0,0,0,0,3,15,12,15,4,0,0,1,12,14,1,15,11,0,0,8,16,12,14,16,7,0,0,7,16,16,16,12,0,0,0,0,7,8,16,5,0,0,0,0,0,8,13,0,0,0,0,0,0,9,11,0,0,0,9 +0,4,16,16,16,14,3,0,0,1,8,8,8,15,10,0,0,0,0,0,5,16,6,0,0,0,0,0,13,12,0,0,0,8,16,16,16,15,8,0,0,3,11,16,9,8,3,0,0,0,14,12,0,0,0,0,0,5,16,2,0,0,0,0,7 +0,0,15,7,0,2,11,1,0,3,16,6,1,12,13,2,0,4,16,5,8,15,3,0,0,2,16,16,16,13,0,0,0,0,4,14,15,3,0,0,0,0,7,16,3,0,0,0,0,1,13,10,0,0,0,0,0,1,16,3,0,0,0,0,4 +0,0,3,13,15,6,0,0,0,2,11,15,7,16,3,0,0,16,16,9,8,16,6,0,0,9,16,16,16,16,5,0,0,0,4,8,16,11,0,0,0,0,0,9,16,1,0,0,0,0,0,14,11,0,0,0,0,0,1,16,7,0,0,0,9 +0,0,0,3,15,16,3,0,0,0,0,12,10,15,3,0,0,0,0,2,6,14,0,0,0,0,0,1,15,5,0,0,0,0,1,13,9,0,0,0,0,1,12,12,1,0,0,0,0,9,16,16,16,13,5,0,0,2,4,5,10,13,12,0,2 +0,0,1,11,13,0,0,0,0,0,7,16,8,1,0,0,0,0,15,12,0,0,0,0,0,1,15,7,0,0,0,0,0,0,15,7,4,5,1,0,0,0,15,16,16,16,13,1,0,0,10,16,9,8,16,6,0,0,1,9,14,16,13,2,6 +0,0,4,13,15,4,0,0,0,0,11,13,8,13,0,0,0,0,5,2,4,13,0,0,0,0,0,0,12,7,0,0,0,0,0,6,15,2,0,0,0,0,0,15,5,0,0,0,0,0,9,14,6,11,5,0,0,0,9,16,12,12,10,0,2 +0,0,3,15,16,6,0,0,0,0,6,11,11,16,5,0,0,0,0,0,7,16,7,0,0,0,0,0,13,16,2,0,0,9,13,13,16,12,2,0,0,2,12,14,16,16,15,0,0,0,0,15,13,0,0,0,0,0,3,16,8,0,0,0,7 +0,2,16,16,16,10,0,0,0,0,11,8,12,16,2,0,0,0,0,0,14,13,0,0,0,2,9,12,16,4,0,0,0,11,16,16,16,16,8,0,0,0,10,14,1,4,0,0,0,2,16,7,0,0,0,0,0,2,15,6,0,0,0,0,7 +0,0,0,14,15,4,0,0,0,0,7,16,14,2,0,0,0,0,14,13,1,0,0,0,0,0,3,7,0,0,0,0,0,3,16,6,8,3,0,0,0,2,15,16,16,15,3,0,0,0,9,16,15,15,11,0,0,0,0,10,16,16,11,0,6 +0,1,10,16,11,0,0,0,0,8,16,12,16,3,0,0,0,1,12,3,16,4,0,0,0,0,0,6,15,0,0,0,0,0,0,11,13,0,0,0,0,0,3,16,7,0,0,0,0,0,11,16,16,16,14,5,0,0,11,13,9,12,15,11,2 +0,1,15,8,0,1,2,0,0,8,16,8,0,12,15,0,0,7,16,11,10,16,7,0,0,2,15,16,16,16,2,0,0,0,2,12,16,9,0,0,0,0,1,16,12,0,0,0,0,0,10,15,1,0,0,0,0,0,12,11,0,0,0,0,4 +0,0,0,11,13,0,0,0,0,0,4,16,8,1,0,0,0,0,13,10,0,0,0,0,0,0,15,5,0,0,0,0,0,1,16,3,4,2,0,0,0,0,13,16,15,14,7,0,0,0,7,16,7,4,16,1,0,0,0,9,16,16,11,0,6 +0,0,1,11,16,15,3,0,0,1,13,13,5,13,8,0,0,6,16,8,2,15,8,0,0,10,16,16,16,16,7,0,0,1,1,6,15,14,1,0,0,0,0,3,16,5,0,0,0,0,0,9,14,0,0,0,0,0,1,15,7,0,0,0,9 +0,4,14,16,16,12,2,0,0,10,16,10,8,14,7,0,0,10,12,0,0,0,0,0,0,2,16,7,0,0,0,0,0,0,15,11,0,0,0,0,0,0,9,15,3,0,0,0,0,1,12,16,4,0,0,0,0,5,16,15,1,0,0,0,5 +0,0,6,10,12,4,0,0,0,2,15,10,8,9,0,0,0,0,6,0,3,12,0,0,0,0,0,0,8,7,0,0,0,0,0,6,14,1,0,0,0,0,4,14,6,0,0,0,0,1,16,11,7,11,8,0,0,0,13,16,13,12,12,0,2 +0,0,1,11,6,0,0,0,0,0,7,13,2,0,0,0,0,0,13,6,0,0,0,0,0,1,13,1,0,0,0,0,0,1,12,0,4,3,0,0,0,1,11,11,14,14,10,0,0,0,12,15,5,4,15,3,0,0,1,13,16,12,9,1,6 +0,0,5,13,11,2,0,0,0,2,14,15,15,12,0,0,0,2,16,5,0,7,4,0,0,4,16,3,0,3,6,0,0,3,14,0,0,8,7,0,0,2,16,0,2,14,6,0,0,1,15,15,16,11,0,0,0,0,7,14,10,1,0,0,0 +0,0,0,10,12,0,0,0,0,0,4,16,7,1,0,0,0,0,11,8,0,0,0,0,0,0,12,5,0,0,0,0,0,0,14,2,3,4,1,0,0,0,11,10,16,13,13,0,0,0,7,16,7,0,11,5,0,0,0,8,15,16,13,1,6 +0,1,7,11,15,11,1,0,0,4,9,4,0,13,5,0,0,0,0,0,9,15,1,0,0,0,4,15,11,3,0,0,0,0,3,16,8,2,0,0,0,0,0,2,7,16,6,0,0,0,0,6,9,16,5,0,0,0,13,12,7,3,0,0,3 +0,0,1,16,14,2,0,0,0,0,4,16,16,8,0,0,0,0,7,16,16,3,0,0,0,0,10,16,16,3,0,0,0,0,13,16,12,0,0,0,0,0,15,16,12,0,0,0,0,0,11,16,11,0,0,0,0,0,3,15,16,9,0,0,1 +0,0,0,2,9,15,9,0,0,0,8,14,7,9,12,0,0,3,16,5,4,13,6,0,0,2,10,12,15,14,0,0,0,0,0,0,1,13,3,0,0,0,0,0,2,16,0,0,0,0,0,0,7,12,0,0,0,0,0,0,12,6,0,0,9 +0,3,12,16,16,14,0,0,0,13,16,14,8,5,0,0,0,10,10,0,0,0,0,0,0,5,15,3,0,0,0,0,0,0,14,9,0,0,0,0,0,0,7,14,1,0,0,0,0,0,10,16,4,0,0,0,0,0,15,15,2,0,0,0,5 +0,0,4,11,14,12,0,0,0,4,16,9,5,16,1,0,0,11,8,0,6,13,0,0,0,5,6,1,13,5,0,0,0,0,0,11,9,0,0,0,0,0,4,16,1,0,0,0,0,0,10,9,0,0,1,0,0,0,3,16,16,14,6,0,2 +0,2,12,16,15,8,0,0,0,2,7,4,10,16,2,0,0,0,0,3,16,13,0,0,0,0,0,15,15,1,0,0,0,0,0,10,13,0,0,0,0,0,0,0,14,10,1,0,0,0,1,5,10,16,4,0,0,1,13,13,12,8,0,0,3 +0,0,1,11,8,0,0,0,0,0,8,15,3,0,0,0,0,1,15,4,0,0,0,0,0,4,16,8,15,14,3,0,0,4,14,11,7,5,10,0,0,1,13,0,0,1,13,0,0,0,11,5,0,9,13,0,0,0,2,11,16,12,1,0,6 +0,0,0,10,15,4,0,0,0,0,6,16,10,1,0,0,0,0,11,15,1,0,0,0,0,0,16,10,6,3,0,0,0,4,16,16,16,16,7,0,0,0,15,16,11,6,16,1,0,0,11,13,2,4,16,4,0,0,0,10,16,16,13,1,6 +0,0,5,14,16,14,0,0,0,7,16,15,8,8,0,0,0,14,13,0,0,0,0,0,0,13,16,13,3,0,0,0,0,0,5,11,15,1,0,0,0,0,0,0,16,9,0,0,0,0,5,11,16,8,0,0,0,0,11,16,10,1,0,0,5 +0,0,0,5,15,0,0,0,0,0,0,11,10,3,8,0,0,0,6,15,1,13,9,0,0,3,16,8,9,16,5,0,0,12,16,15,15,13,8,0,0,3,4,0,16,2,0,0,0,0,0,4,11,0,0,0,0,0,0,6,11,0,0,0,4 +0,0,5,14,16,8,0,0,0,6,15,10,12,16,1,0,0,9,5,0,13,8,0,0,0,6,15,13,15,1,0,0,0,0,11,16,4,0,0,0,0,0,15,16,7,0,0,0,0,0,16,13,14,0,0,0,0,0,5,16,15,4,0,0,8 +0,2,16,16,15,3,0,0,0,0,3,3,14,8,0,0,0,0,0,3,16,2,0,0,0,0,0,10,14,0,0,0,0,3,16,16,16,16,8,0,0,0,11,15,4,4,1,0,0,0,14,6,0,0,0,0,0,3,16,3,0,0,0,0,7 +0,1,10,16,16,14,6,0,0,11,16,7,4,16,10,0,0,9,16,10,10,16,4,0,0,0,5,12,16,3,0,0,0,0,0,7,16,0,0,0,0,0,0,13,15,0,0,0,0,0,6,16,7,0,0,0,0,2,15,10,0,0,0,0,9 +0,1,9,16,16,14,2,0,0,11,16,7,5,16,6,0,0,16,14,10,16,16,4,0,0,4,8,10,16,13,0,0,0,0,1,13,13,1,0,0,0,0,6,16,6,0,0,0,0,0,12,10,0,0,0,0,0,0,11,11,0,0,0,0,9 +0,0,5,14,13,2,0,0,0,3,14,5,8,12,0,0,0,3,9,0,12,4,0,0,0,1,14,9,13,0,0,0,0,0,2,14,12,0,0,0,0,0,4,14,14,3,0,0,0,0,10,7,12,6,0,0,0,0,6,16,13,1,0,0,8 +0,0,0,12,8,0,6,3,0,0,4,16,3,3,15,3,0,0,12,10,0,12,8,0,0,8,15,5,8,16,4,0,0,10,16,16,16,16,10,0,0,0,4,5,15,1,0,0,0,0,0,8,11,0,0,0,0,0,0,12,6,0,0,0,4 +0,3,13,16,4,0,0,0,0,7,14,16,8,0,0,0,0,0,1,16,7,0,0,0,0,0,9,15,1,0,0,0,0,1,16,8,0,0,0,0,0,7,16,1,0,0,0,0,0,9,16,4,4,4,4,0,0,4,16,16,16,16,8,0,2 +0,0,2,16,15,7,0,0,0,0,3,12,13,13,0,0,0,0,0,6,16,10,0,0,0,0,0,6,16,3,0,0,0,0,3,15,10,12,0,0,0,1,13,5,0,13,6,0,0,0,16,5,0,7,15,0,0,0,3,11,16,16,12,2,8 +0,0,9,13,16,9,0,0,0,0,4,5,11,15,0,0,0,0,0,6,15,8,0,0,0,0,0,13,10,0,0,0,0,0,0,8,12,1,0,0,0,0,0,0,9,14,2,0,0,0,0,3,12,16,4,0,0,0,11,16,11,3,0,0,3 +0,0,2,13,9,1,0,0,0,1,13,7,15,5,0,0,1,15,9,0,15,2,0,0,0,6,13,7,13,0,0,0,0,0,5,16,8,0,0,0,0,0,1,15,14,2,0,0,0,0,4,12,6,11,0,0,0,0,0,11,16,8,0,0,8 +0,0,2,13,6,0,4,0,0,0,13,11,0,2,15,3,0,4,16,2,0,13,8,0,0,3,16,16,12,16,7,0,0,0,2,7,15,10,1,0,0,0,0,4,13,0,0,0,0,0,0,13,5,0,0,0,0,0,2,12,0,0,0,0,4 +0,4,12,14,12,6,0,0,0,2,4,4,5,16,6,0,0,0,0,0,6,16,4,0,0,0,0,5,16,6,0,0,0,0,0,5,16,3,0,0,0,0,0,0,11,13,0,0,0,0,0,5,13,16,0,0,0,5,16,12,11,1,0,0,3 +0,7,16,16,16,9,0,0,0,3,8,4,13,16,0,0,0,0,0,8,16,6,0,0,0,0,0,4,16,4,0,0,0,0,0,0,11,15,5,0,0,0,0,0,1,13,15,0,0,0,5,9,15,16,10,0,0,4,16,16,10,3,0,0,3 +0,0,1,14,11,0,0,0,0,0,12,13,1,0,0,0,0,5,16,3,0,7,15,1,0,6,16,11,12,16,10,0,0,0,11,14,16,11,0,0,0,0,0,7,15,2,0,0,0,0,0,15,12,0,0,0,0,0,1,15,7,0,0,0,4 +0,0,11,16,15,3,0,0,0,0,2,4,16,7,0,0,0,0,0,4,16,3,0,0,0,2,4,10,14,4,2,0,0,9,16,16,16,16,8,0,0,0,7,15,2,0,0,0,0,0,10,9,0,0,0,0,0,0,12,7,0,0,0,0,7 +0,0,7,15,15,3,0,0,0,0,10,14,12,14,0,0,0,0,1,6,16,12,0,0,0,0,1,15,14,3,0,0,0,0,0,9,15,5,0,0,0,0,0,0,5,15,6,0,0,0,7,6,7,13,16,1,0,0,7,16,16,15,8,0,3 +0,0,1,14,6,0,0,0,0,0,6,15,3,0,0,0,0,1,14,7,0,0,0,0,0,0,16,9,8,3,0,0,0,7,16,16,12,15,3,0,0,5,14,7,0,4,9,0,0,3,15,6,1,12,9,0,0,0,4,13,16,14,3,0,6 +0,0,2,13,14,2,0,0,0,0,10,16,13,4,0,0,0,0,13,15,1,0,0,0,0,1,16,9,0,0,0,0,0,1,16,15,12,2,0,0,0,1,15,16,11,13,0,0,0,0,11,12,8,16,1,0,0,0,2,13,16,15,0,0,6 +0,0,0,10,14,0,3,1,0,0,5,16,6,1,14,5,0,2,15,8,3,10,13,0,0,8,16,14,16,16,8,0,0,5,11,6,15,13,3,0,0,0,0,1,15,0,0,0,0,0,0,7,10,0,0,0,0,0,0,13,3,0,0,0,4 +0,1,8,16,16,11,0,0,0,2,10,6,12,12,0,0,0,0,0,0,11,11,0,0,0,0,0,4,16,8,3,0,0,3,15,16,16,16,11,0,0,4,10,16,6,6,2,0,0,0,9,13,0,0,0,0,0,1,14,7,0,0,0,0,7 +0,0,0,12,14,2,0,0,0,0,6,15,16,4,0,0,0,0,13,16,12,0,0,0,0,1,14,16,8,0,0,0,0,1,15,16,2,0,0,0,0,1,15,16,4,0,0,0,0,0,10,16,11,4,0,0,0,0,0,11,13,5,0,0,1 +0,0,9,16,13,3,0,0,0,2,16,16,16,12,0,0,0,0,0,6,16,7,0,0,0,0,1,15,12,0,0,0,0,0,13,15,2,0,0,0,0,4,16,7,0,0,0,0,0,8,16,8,6,8,3,0,0,1,11,16,16,12,4,0,2 +0,0,10,16,16,9,0,0,0,4,13,5,9,12,0,0,0,0,0,1,13,5,0,0,0,0,5,13,16,16,9,0,0,0,11,16,11,11,9,0,0,0,1,13,3,0,0,0,0,0,8,10,0,0,0,0,0,0,11,8,0,0,0,0,7 +0,0,1,12,16,3,0,0,0,0,8,8,4,0,0,0,0,0,14,1,0,0,0,0,0,2,16,9,8,6,1,0,0,4,16,14,11,12,6,0,0,2,16,4,1,7,11,0,0,0,11,11,5,13,9,0,0,0,0,10,13,10,3,0,6 +0,0,5,16,16,6,0,0,0,0,16,9,11,13,0,0,0,0,11,11,14,8,0,0,0,0,1,15,12,1,0,0,0,0,3,16,15,4,0,0,0,0,12,10,7,13,1,0,0,0,15,4,3,16,6,0,0,0,8,16,16,13,1,0,8 +0,0,1,11,16,15,2,0,0,2,14,15,11,16,6,0,0,11,14,2,8,15,1,0,0,8,16,12,16,16,9,0,0,0,3,7,9,16,8,0,0,0,0,0,13,15,1,0,0,0,0,7,16,4,0,0,0,0,0,11,13,0,0,0,9 +0,0,3,11,15,15,4,0,0,2,14,8,4,15,5,0,0,7,11,1,13,15,1,0,0,1,11,12,13,16,5,0,0,0,0,0,8,12,0,0,0,0,0,3,15,2,0,0,0,0,0,11,7,0,0,0,0,0,0,13,4,0,0,0,9 +0,0,1,8,15,16,7,0,0,1,13,14,9,16,8,0,0,8,16,5,11,15,2,0,0,5,16,16,16,10,1,0,0,0,1,4,10,16,9,0,0,0,0,0,3,16,7,0,0,0,0,3,14,14,1,0,0,0,0,11,15,3,0,0,9 +0,2,12,16,16,9,0,0,0,2,15,10,7,16,4,0,0,0,0,0,5,16,6,0,0,0,0,6,16,13,0,0,0,0,0,5,13,16,6,0,0,0,0,0,0,9,16,0,0,0,6,4,5,12,16,2,0,2,13,16,16,16,10,0,3 +0,0,5,16,14,1,0,0,0,0,13,10,9,10,0,0,0,1,16,4,0,16,0,0,0,3,16,7,0,13,6,0,0,5,12,0,0,13,8,0,0,4,16,0,0,14,5,0,0,0,15,13,14,12,0,0,0,0,5,14,10,4,0,0,0 +0,0,0,9,12,0,0,0,0,0,5,16,6,0,0,0,0,0,10,11,0,0,0,0,0,0,12,8,4,0,0,0,0,0,13,16,15,11,1,0,0,0,13,14,1,6,6,0,0,0,5,12,1,11,6,0,0,0,0,9,15,10,0,0,6 +0,1,12,16,16,8,0,0,0,1,8,5,9,12,0,0,0,0,0,0,11,8,0,0,0,0,5,14,14,10,5,0,0,0,3,15,14,12,5,0,0,0,2,16,3,0,0,0,0,0,10,9,0,0,0,0,0,0,13,2,0,0,0,0,7 +0,0,1,14,13,0,0,0,0,0,6,16,8,0,0,0,0,0,12,9,0,0,0,0,0,0,14,10,16,12,1,0,0,1,16,10,14,8,13,0,0,0,13,9,10,0,12,4,0,0,8,10,0,5,16,5,0,0,1,11,16,16,11,0,6 +0,2,12,16,15,9,0,0,0,1,4,7,15,14,0,0,0,0,3,15,14,3,0,0,0,0,6,14,5,0,0,0,0,0,1,11,16,7,0,0,0,0,0,0,6,16,7,0,0,0,3,9,14,15,5,0,0,1,14,12,8,1,0,0,3 +0,0,4,14,16,7,0,0,0,1,16,14,8,5,0,0,0,8,10,0,0,0,0,0,0,3,13,0,0,0,0,0,0,0,12,6,0,0,0,0,0,0,4,13,0,0,0,0,0,0,0,16,5,0,0,0,0,0,7,16,4,0,0,0,5 +0,0,0,12,14,5,0,0,0,0,3,16,16,12,0,0,0,0,14,16,16,2,0,0,0,1,15,16,8,0,0,0,0,4,16,15,4,0,0,0,0,3,16,16,1,0,0,0,0,0,10,16,13,0,0,0,0,0,0,11,16,5,0,0,1 +0,0,6,13,16,16,13,0,0,6,16,10,7,15,14,0,0,1,4,0,10,16,6,0,0,0,0,10,16,4,0,0,0,0,3,16,9,0,0,0,0,0,15,11,0,0,0,0,0,0,16,10,0,0,0,0,0,0,9,16,16,12,1,0,2 +0,0,1,16,10,0,0,0,0,0,3,16,16,4,0,0,0,0,6,16,14,0,0,0,0,0,6,16,14,0,0,0,0,0,8,16,11,0,0,0,0,0,6,16,12,0,0,0,0,0,6,16,11,0,0,0,0,0,1,11,13,0,0,0,1 +0,0,3,13,16,16,3,0,0,0,8,10,5,5,0,0,0,7,15,0,0,0,0,0,0,10,13,2,0,0,0,0,0,3,15,14,1,0,0,0,0,0,0,11,11,0,0,0,0,0,0,7,13,0,0,0,0,0,3,16,11,0,0,0,5 +0,5,15,13,0,0,0,0,0,3,10,16,5,0,0,0,0,0,0,14,4,0,0,0,0,0,6,14,0,0,0,0,0,1,14,7,0,0,0,0,0,7,13,1,0,0,0,0,0,13,14,10,11,9,5,0,0,5,15,16,14,10,3,0,2 +0,1,10,16,16,15,2,0,0,9,16,11,4,16,11,0,0,6,16,15,12,16,7,0,0,0,4,9,16,14,1,0,0,0,0,1,15,8,0,0,0,0,0,13,15,2,0,0,0,0,9,16,5,0,0,0,0,3,16,7,0,0,0,0,9 +0,0,1,11,13,1,0,0,0,0,11,13,9,11,0,0,0,2,16,2,0,10,2,0,0,5,12,0,0,5,7,0,0,8,8,0,0,4,8,0,0,2,12,0,0,7,7,0,0,0,13,5,8,16,2,0,0,0,2,15,14,5,0,0,0 +0,0,3,15,10,1,0,0,0,0,11,14,10,7,0,0,0,2,16,3,0,11,1,0,0,4,15,0,0,7,5,0,0,3,12,0,0,3,9,0,0,2,11,0,0,7,9,0,0,0,11,8,9,16,4,0,0,0,2,10,16,9,0,0,0 +0,0,1,15,14,0,0,0,0,0,6,16,16,8,0,0,0,0,12,16,16,2,0,0,0,0,12,16,13,0,0,0,0,0,15,16,7,0,0,0,0,0,14,16,7,0,0,0,0,0,11,16,11,0,0,0,0,0,2,14,13,0,0,0,1 +0,0,2,15,12,1,0,0,0,0,6,16,15,1,0,0,0,0,14,16,8,0,0,0,0,2,16,16,2,0,0,0,0,3,16,15,0,0,0,0,0,2,16,13,0,0,0,0,0,0,9,16,2,0,0,0,0,0,2,13,12,0,0,0,1 +0,0,2,14,14,4,0,0,0,0,15,16,16,15,1,0,0,6,14,16,5,12,6,0,0,2,11,12,0,6,8,0,0,0,12,4,0,9,6,0,0,0,11,5,0,12,3,0,0,0,8,12,11,15,2,0,0,0,1,12,10,2,0,0,0 +0,0,0,8,15,1,0,0,0,0,2,16,7,0,0,0,0,0,7,15,1,0,0,0,0,0,10,11,0,0,0,0,0,0,14,16,16,13,2,0,0,0,15,16,5,6,14,1,0,0,9,12,2,4,14,5,0,0,0,8,15,16,13,4,6 +0,0,7,13,0,0,3,8,0,0,15,7,0,3,15,7,0,0,16,12,6,14,9,0,0,0,6,12,16,12,0,0,0,0,0,2,14,2,0,0,0,0,0,9,9,0,0,0,0,0,2,13,1,0,0,0,0,0,8,5,0,0,0,0,4 +0,0,3,12,16,10,0,0,0,3,14,5,0,12,0,0,0,9,8,1,9,16,4,0,0,5,15,15,15,14,2,0,0,0,0,0,15,3,0,0,0,0,0,8,10,0,0,0,0,0,0,11,6,0,0,0,0,0,3,15,2,0,0,0,9 +0,0,1,13,16,5,0,0,0,0,6,16,11,2,0,0,0,0,13,15,0,0,0,0,0,3,16,9,0,0,0,0,0,4,16,5,5,10,3,0,0,4,16,5,16,14,15,4,0,0,13,11,7,8,16,7,0,0,2,12,16,16,12,2,6 +0,0,0,8,14,0,0,0,0,0,9,16,5,0,0,0,0,2,14,12,4,7,8,0,0,5,16,16,16,16,13,0,0,1,7,10,12,16,6,0,0,0,0,2,15,10,0,0,0,0,0,10,16,2,0,0,0,0,0,10,15,3,0,0,4 +0,0,3,16,14,3,0,0,0,0,6,16,16,5,0,0,0,0,12,16,9,0,0,0,0,0,16,16,5,0,0,0,0,2,16,16,1,0,0,0,0,1,16,16,1,0,0,0,0,0,13,16,1,0,0,0,0,0,4,15,0,0,0,0,1 +0,0,4,12,13,2,0,0,0,0,16,9,12,9,0,0,0,2,12,1,15,5,0,0,0,0,1,6,14,1,0,0,0,0,0,15,7,0,0,0,0,0,9,12,0,0,0,0,0,0,9,9,4,8,14,2,0,0,4,13,13,9,2,0,2 +0,0,2,15,15,6,0,0,0,0,9,13,4,15,3,0,0,0,14,7,0,8,4,0,0,0,15,4,0,5,8,0,0,4,13,0,0,7,6,0,0,2,12,0,0,12,5,0,0,0,15,9,12,14,0,0,0,0,3,13,13,0,0,0,0 +0,0,4,12,15,6,0,0,0,4,16,8,8,15,0,0,0,10,9,0,3,15,2,0,0,6,15,7,10,16,4,0,0,0,7,8,8,13,8,0,0,0,0,0,0,7,9,0,0,0,2,4,4,10,11,0,0,0,8,16,15,10,2,0,9 +0,0,0,0,7,13,1,0,0,0,0,0,9,16,2,0,0,0,1,9,16,16,0,0,0,4,12,16,16,16,0,0,0,5,10,3,12,15,0,0,0,0,0,0,10,15,0,0,0,0,0,0,12,15,0,0,0,0,0,0,9,12,0,0,1 +0,3,13,14,7,1,0,0,0,6,12,8,13,6,0,0,0,1,0,0,10,7,0,0,0,0,0,9,16,4,0,0,0,0,0,9,14,15,4,0,0,0,0,0,0,13,8,0,0,1,8,8,10,16,3,0,0,4,14,16,11,2,0,0,3 +0,0,2,11,0,0,0,0,0,0,11,13,0,0,0,0,0,0,16,6,0,0,0,0,0,0,15,7,4,1,0,0,0,4,16,16,16,15,3,0,0,1,16,13,8,14,12,0,0,0,14,15,12,15,12,0,0,0,2,15,16,14,4,0,6 +0,0,0,10,13,0,0,0,0,0,1,16,11,2,0,0,0,0,8,16,0,0,0,0,0,0,13,12,0,0,0,0,0,0,14,16,14,9,0,0,0,0,12,15,5,9,13,0,0,0,3,16,4,6,16,2,0,0,0,8,13,14,9,0,6 +0,0,5,13,16,3,0,0,0,1,15,15,16,8,0,0,0,5,8,5,16,11,0,0,0,2,12,16,16,16,10,0,0,2,14,16,15,10,5,0,0,0,1,16,11,0,0,0,0,0,5,16,8,0,0,0,0,0,8,14,2,0,0,0,7 +0,0,11,15,10,0,0,0,0,3,15,6,16,3,0,0,0,0,0,3,14,2,0,0,0,0,1,14,13,2,0,0,0,0,3,13,14,15,3,0,0,0,0,0,0,14,7,0,0,0,8,1,7,15,2,0,0,0,12,16,14,4,0,0,3 +0,0,3,13,13,4,0,0,0,1,14,13,10,16,1,0,0,6,12,1,3,16,6,0,0,7,15,4,10,16,8,0,0,2,11,15,12,16,8,0,0,0,0,0,0,15,8,0,0,0,5,10,4,16,8,0,0,0,2,12,16,11,1,0,9 +0,1,14,13,0,0,0,0,0,9,16,16,2,0,0,0,0,7,11,16,8,0,0,0,0,0,1,13,8,0,0,0,0,0,2,16,5,0,0,0,0,0,6,16,4,0,0,0,0,1,15,16,16,12,6,0,0,0,16,16,16,16,16,3,2 +0,0,10,16,15,1,0,0,0,5,15,8,15,6,0,0,0,3,6,1,14,4,0,0,0,0,0,10,16,13,0,0,0,0,0,1,7,16,7,0,0,0,1,2,0,15,7,0,0,0,12,13,6,16,5,0,0,0,9,16,16,9,0,0,3 +0,0,4,13,14,1,0,0,0,1,16,9,16,3,0,0,0,2,5,0,12,6,0,0,0,0,3,6,16,4,0,0,0,6,16,16,16,16,6,0,0,4,6,13,12,4,2,0,0,0,0,14,4,0,0,0,0,0,5,11,0,0,0,0,7 +0,0,6,14,13,1,0,0,0,2,15,15,16,7,0,0,0,1,5,4,16,6,0,0,0,0,0,7,16,10,3,0,0,1,9,16,16,16,10,0,0,1,15,16,13,8,1,0,0,0,2,16,8,0,0,0,0,0,8,13,0,0,0,0,7 +0,0,8,15,15,5,0,0,0,4,16,13,16,9,0,0,0,1,4,4,16,6,0,0,0,0,0,11,16,5,0,0,0,1,13,16,16,15,5,0,0,5,13,16,13,12,5,0,0,0,9,16,3,0,0,0,0,0,12,10,0,0,0,0,7 +0,0,5,13,16,15,3,0,0,3,16,16,15,16,5,0,0,0,4,0,6,16,2,0,0,0,3,12,16,16,4,0,0,0,9,16,16,16,8,0,0,0,2,13,15,2,0,0,0,0,2,16,9,0,0,0,0,0,5,14,1,0,0,0,7 +0,0,6,14,3,0,0,0,0,0,12,14,14,0,0,0,0,0,14,7,14,2,0,0,0,0,10,5,10,6,0,0,0,0,0,0,13,5,0,0,0,0,0,2,14,5,3,0,0,0,8,16,16,16,16,0,0,0,9,14,8,8,8,2,2 +0,0,3,15,4,0,0,0,0,0,8,13,15,7,0,0,0,2,16,6,5,16,3,0,0,4,14,0,0,11,8,0,0,6,12,0,0,8,8,0,0,4,15,1,0,9,7,0,0,1,15,11,9,16,3,0,0,0,4,10,15,8,0,0,0 +0,1,8,15,13,2,0,0,0,5,14,8,14,7,0,0,0,1,2,2,15,2,0,0,0,0,0,15,15,3,0,0,0,0,0,9,14,16,3,0,0,0,0,0,0,13,8,0,0,0,6,8,8,15,4,0,0,0,11,12,12,5,0,0,3 +0,0,14,11,1,0,0,0,0,7,15,14,8,0,0,0,0,7,8,4,8,0,0,0,0,0,4,0,12,0,0,0,0,0,0,4,10,0,0,0,0,0,0,8,6,0,0,0,0,1,13,16,13,8,4,0,0,1,14,12,16,16,10,0,2 +0,0,5,14,16,10,0,0,0,3,15,13,8,15,6,0,0,0,14,13,7,16,9,0,0,0,10,16,16,12,3,0,0,0,6,16,16,3,0,0,0,0,14,13,16,7,0,0,0,0,14,12,14,9,0,0,0,0,6,14,11,2,0,0,8 +0,0,3,10,14,9,0,0,0,3,15,11,9,8,0,0,0,6,12,8,7,1,0,0,0,4,16,14,16,15,1,0,0,2,8,4,3,14,8,0,0,0,0,0,0,8,9,0,0,0,0,7,8,13,9,0,0,0,0,14,14,9,0,0,5 +0,0,0,4,13,2,0,0,0,0,0,14,8,0,0,0,0,0,5,14,0,9,7,0,0,2,16,3,5,16,5,0,0,7,14,0,12,13,0,0,0,7,16,13,15,11,0,0,0,0,5,13,16,16,2,0,0,0,0,3,14,2,0,0,4 +0,0,4,15,7,0,0,0,0,2,15,5,13,5,0,0,0,5,11,0,2,13,2,0,0,5,8,0,0,6,8,0,0,7,8,0,0,5,8,0,0,3,11,0,0,9,7,0,0,0,14,10,6,15,2,0,0,0,6,12,13,6,0,0,0 +0,0,4,16,1,0,0,0,0,0,10,12,0,0,0,0,0,1,14,8,0,0,0,0,0,3,16,16,14,4,0,0,0,3,16,8,6,15,5,0,0,1,14,3,0,7,12,0,0,0,11,11,7,16,8,0,0,0,5,14,14,9,0,0,6 +0,0,9,13,16,5,0,0,0,7,16,12,9,12,0,0,0,6,14,1,1,7,1,0,0,1,13,16,16,12,3,0,0,0,9,16,12,0,0,0,0,1,16,8,16,2,0,0,0,4,14,2,16,4,0,0,0,0,13,16,10,0,0,0,8 +0,0,3,11,0,0,0,0,0,0,11,10,0,0,0,0,0,0,16,5,0,0,0,0,0,2,16,5,4,2,0,0,0,3,16,16,16,16,6,0,0,2,16,6,0,6,13,0,0,0,15,7,3,12,11,0,0,0,4,14,16,11,3,0,6 +0,0,9,16,11,5,0,0,0,5,16,10,9,16,3,0,0,8,12,0,0,12,2,0,0,5,16,12,15,16,7,0,0,0,11,16,16,5,0,0,0,1,15,11,13,10,0,0,0,3,16,6,11,12,0,0,0,0,10,16,13,4,0,0,8 +0,0,0,9,4,0,0,0,0,0,0,16,3,0,0,0,0,0,8,12,0,1,0,0,0,4,15,2,1,15,3,0,0,8,13,0,8,16,3,0,0,8,16,16,16,13,4,0,0,0,4,10,13,0,0,0,0,0,0,7,12,0,0,0,4 +0,0,3,10,13,1,0,0,0,2,15,10,16,3,0,0,0,2,4,1,16,4,0,0,0,0,0,7,16,0,0,0,0,0,7,14,16,12,3,0,0,2,13,15,13,9,2,0,0,0,0,13,8,0,0,0,0,0,1,15,3,0,0,0,7 +0,0,0,0,15,16,3,0,0,0,0,0,15,16,2,0,0,0,0,4,16,16,2,0,0,0,8,16,16,13,0,0,0,8,16,16,16,9,0,0,0,1,8,6,16,12,0,0,0,0,0,3,16,13,0,0,0,0,0,0,13,13,0,0,1 +0,0,0,0,13,12,0,0,0,0,0,2,16,16,2,0,0,0,0,7,16,16,2,0,0,4,14,16,16,15,0,0,0,9,16,13,16,10,0,0,0,0,0,4,16,12,0,0,0,0,0,1,16,15,0,0,0,0,0,0,13,16,4,0,1 +0,2,15,13,0,0,0,0,0,12,16,16,6,0,0,0,0,14,7,11,10,0,0,0,0,3,1,10,12,0,0,0,0,0,1,15,6,0,0,0,0,0,12,14,0,0,0,0,0,4,16,15,12,12,5,0,0,2,15,16,16,16,13,0,2 +0,0,3,11,12,12,1,0,0,0,15,12,4,14,2,0,0,0,15,12,5,16,4,0,0,0,6,16,16,13,1,0,0,0,8,15,14,13,1,0,0,1,15,4,3,16,6,0,0,3,16,5,6,15,1,0,0,0,9,14,13,6,0,0,8 +0,0,8,15,16,3,0,0,0,3,15,14,16,5,0,0,0,0,3,6,16,2,0,0,0,0,3,12,16,8,3,0,0,1,14,16,16,16,10,0,0,0,9,16,12,5,0,0,0,0,8,16,4,0,0,0,0,0,11,11,0,0,0,0,7 +0,0,0,8,15,1,0,0,0,0,1,15,11,0,0,0,0,0,12,14,1,8,15,1,0,7,16,6,4,16,10,0,0,9,16,16,16,16,1,0,0,1,5,12,16,11,1,0,0,0,0,10,15,1,0,0,0,0,0,10,10,0,0,0,4 +0,0,0,10,16,7,0,0,0,0,0,9,16,16,2,0,0,0,0,11,16,14,0,0,0,0,0,14,16,12,0,0,0,0,7,16,16,8,0,0,0,2,15,16,16,7,0,0,0,3,10,16,16,8,0,0,0,0,0,11,16,15,3,0,1 +0,0,6,12,14,15,2,0,0,0,14,9,8,5,0,0,0,3,14,6,0,0,0,0,0,6,16,16,15,9,0,0,0,0,4,4,7,15,7,0,0,0,0,0,0,11,8,0,0,0,2,9,13,16,4,0,0,0,7,15,12,6,0,0,5 +0,0,6,13,15,9,0,0,0,4,15,8,4,16,4,0,0,8,9,0,0,15,8,0,0,7,15,9,10,16,8,0,0,0,5,8,5,12,8,0,0,0,0,0,0,12,8,0,0,0,11,9,3,14,3,0,0,0,4,15,16,7,0,0,9 +0,0,8,12,1,0,0,0,0,0,15,16,11,0,0,0,0,0,10,3,14,1,0,0,0,0,0,0,11,2,0,0,0,0,0,0,14,3,0,0,0,0,0,4,16,1,0,0,0,0,6,16,16,16,11,1,0,0,5,16,13,12,12,6,2 +0,0,9,16,10,0,0,0,0,1,15,15,16,3,0,0,0,1,16,6,13,8,0,0,0,0,10,5,11,9,0,0,0,0,0,0,14,8,0,0,0,0,0,3,16,5,0,0,0,0,9,16,16,16,14,4,0,0,9,16,14,12,16,8,2 +0,0,0,15,3,0,0,0,0,0,3,16,2,0,0,0,0,0,7,15,0,0,0,0,0,0,10,12,3,0,0,0,0,0,14,16,16,11,2,0,0,1,15,11,1,11,11,0,0,0,12,13,4,8,13,0,0,0,2,11,14,13,5,0,6 +0,0,5,14,16,6,0,0,0,2,15,10,7,15,0,0,0,0,3,0,9,7,0,0,0,0,0,6,16,5,0,0,0,0,0,2,11,16,3,0,0,0,0,0,0,11,7,0,0,0,8,8,7,15,3,0,0,0,7,15,13,6,0,0,3 +0,0,4,11,0,0,0,0,0,0,8,9,0,0,0,0,0,0,15,4,0,0,0,0,0,2,16,8,7,2,0,0,0,6,16,12,13,14,4,0,0,5,16,2,1,10,11,0,0,0,16,9,4,16,9,0,0,0,7,14,15,8,0,0,6 +0,0,9,15,15,7,0,0,0,3,16,7,7,11,0,0,0,0,16,10,3,6,0,0,0,0,7,16,16,15,4,0,0,0,9,16,16,3,0,0,0,1,15,4,11,10,0,0,0,4,14,3,9,11,0,0,0,0,8,15,15,4,0,0,8 +0,1,8,16,14,0,0,0,0,4,15,9,16,3,0,0,0,1,4,7,16,0,0,0,0,0,0,11,16,9,0,0,0,0,0,0,5,15,5,0,0,0,0,0,0,15,5,0,0,0,15,9,9,15,2,0,0,0,6,13,10,4,0,0,3 +0,0,0,0,7,7,0,0,0,0,0,4,15,1,0,0,0,0,0,13,6,9,1,0,0,0,8,12,0,14,3,0,0,3,16,3,2,16,0,0,0,5,16,16,13,16,4,0,0,0,1,7,12,14,2,0,0,0,0,0,9,10,0,0,4 +0,0,7,12,16,16,7,0,0,0,14,14,11,16,7,0,0,0,2,0,7,16,3,0,0,0,2,11,15,16,4,0,0,0,13,16,16,16,7,0,0,0,4,15,12,0,0,0,0,0,6,16,3,0,0,0,0,0,9,15,2,0,0,0,7 +0,0,0,6,16,0,0,0,0,0,0,9,15,0,0,0,0,0,2,15,8,14,0,0,0,0,12,14,8,16,0,0,0,9,16,12,14,14,3,0,0,8,16,16,16,15,8,0,0,1,4,10,16,5,0,0,0,0,0,5,16,4,0,0,4 +0,0,6,13,12,9,1,0,0,4,16,11,6,13,7,0,0,7,16,6,2,13,8,0,0,1,14,15,16,13,3,0,0,0,7,16,16,5,0,0,0,2,16,9,13,14,0,0,0,1,15,8,7,16,3,0,0,0,6,16,15,7,0,0,8 +0,2,10,13,3,0,0,0,0,10,15,10,14,8,0,0,0,11,14,4,13,14,0,0,0,2,9,12,12,16,4,0,0,0,0,0,0,16,7,0,0,0,0,0,0,12,12,0,0,2,12,4,5,15,11,0,0,0,9,13,12,11,1,0,9 +0,0,2,15,8,0,0,0,0,0,9,14,16,6,0,0,0,0,15,9,3,14,3,0,0,4,16,2,0,9,7,0,0,8,12,0,0,7,8,0,0,3,14,1,0,8,9,0,0,0,15,15,13,15,7,0,0,0,3,14,15,9,0,0,0 +0,0,0,7,14,1,0,0,0,0,0,9,11,0,0,0,0,0,0,12,7,4,8,0,0,0,5,15,2,16,5,0,0,3,16,7,6,16,0,0,0,11,16,15,15,16,2,0,0,0,2,8,16,9,0,0,0,0,0,5,16,2,0,0,4 +0,3,15,16,11,1,0,0,0,12,13,10,16,4,0,0,0,5,1,8,16,1,0,0,0,0,0,16,16,6,0,0,0,0,0,7,13,16,5,0,0,0,0,0,1,15,13,0,0,4,11,8,8,15,13,0,0,2,14,16,16,10,1,0,3 +0,1,12,14,6,0,0,0,0,8,14,5,15,7,0,0,0,6,11,1,11,15,2,0,0,1,14,16,13,16,8,0,0,0,0,0,0,12,8,0,0,1,3,0,0,11,9,0,0,4,13,2,1,13,6,0,0,0,10,16,16,9,0,0,9 +0,0,0,12,11,0,0,0,0,0,5,16,8,0,0,0,0,0,12,11,0,0,0,0,0,0,15,8,4,1,0,0,0,3,16,16,16,15,5,0,0,2,16,3,1,9,13,0,0,0,12,9,4,13,13,0,0,0,0,11,16,13,3,0,6 +0,0,4,15,15,5,0,0,0,1,16,12,11,15,3,0,0,7,16,2,4,16,4,0,0,5,16,16,16,16,5,0,0,0,0,1,0,16,8,0,0,0,0,0,0,14,8,0,0,0,10,13,8,16,5,0,0,0,7,13,14,9,1,0,9 +0,0,5,15,8,1,0,0,0,1,15,13,15,9,0,0,0,8,15,1,3,14,1,0,0,4,14,0,0,11,8,0,0,5,12,0,0,12,8,0,0,5,15,1,0,12,10,0,0,1,16,10,9,15,3,0,0,0,5,15,15,4,0,0,0 +0,0,0,2,13,2,0,0,0,0,0,14,10,0,0,0,0,0,11,10,0,10,4,0,0,4,16,3,1,14,3,0,0,6,16,16,16,16,5,0,0,0,5,8,14,11,1,0,0,0,0,0,15,2,0,0,0,0,0,1,13,0,0,0,4 +0,0,0,1,15,5,0,0,0,0,0,11,15,0,7,1,0,0,8,15,2,5,16,0,0,3,15,8,4,12,11,0,0,10,16,16,16,16,7,0,0,2,8,8,13,16,1,0,0,0,0,0,14,10,0,0,0,0,0,2,14,3,0,0,4 +0,2,16,10,1,0,0,0,0,3,16,16,8,0,0,0,0,1,11,11,12,0,0,0,0,0,0,4,16,0,0,0,0,0,0,9,12,0,0,0,0,0,5,15,8,0,0,0,0,5,16,16,16,16,13,0,0,2,16,16,16,16,14,0,2 +0,1,7,9,12,14,1,0,0,11,16,15,10,5,1,0,0,2,16,7,0,0,0,0,0,0,9,16,16,9,0,0,0,0,0,2,8,13,6,0,0,0,0,0,0,8,11,0,0,0,7,13,14,16,4,0,0,0,10,16,12,3,0,0,5 +0,1,10,16,14,3,0,0,0,4,16,13,15,14,0,0,0,1,1,0,9,16,2,0,0,0,5,14,16,13,0,0,0,0,7,16,16,15,2,0,0,0,0,0,4,15,9,0,0,1,13,8,13,16,5,0,0,1,14,16,14,7,0,0,3 +0,0,0,11,16,8,0,0,0,0,9,15,5,3,0,0,0,0,14,6,0,0,0,0,0,4,14,0,0,0,0,0,0,5,11,2,4,1,0,0,0,4,14,15,15,15,3,0,0,1,11,16,11,11,15,0,0,0,1,11,15,16,12,0,6 +0,3,16,14,10,5,0,0,0,1,8,8,11,16,2,0,0,0,2,6,12,11,1,0,0,0,12,16,16,6,0,0,0,0,0,3,11,16,2,0,0,0,0,0,0,14,7,0,0,1,8,9,14,13,0,0,0,3,16,12,9,1,0,0,3 +0,0,2,11,13,1,0,0,0,0,11,15,8,1,0,0,0,1,16,5,0,0,0,0,0,4,15,0,0,0,0,0,0,3,16,10,12,10,2,0,0,2,16,15,11,12,14,0,0,0,14,12,7,11,16,2,0,0,3,11,16,14,6,0,6 +0,0,7,13,5,0,0,0,0,4,14,4,14,13,0,0,0,0,13,8,12,16,4,0,0,0,5,12,11,6,6,0,0,0,0,0,0,5,9,0,0,0,0,0,0,9,7,0,0,0,2,2,8,16,2,0,0,0,10,16,12,3,0,0,9 +0,0,8,15,15,1,0,0,0,4,16,16,16,10,0,0,0,7,12,0,1,16,0,0,0,6,11,0,0,9,7,0,0,8,12,0,0,9,4,0,0,4,16,1,2,15,8,0,0,0,15,16,16,16,1,0,0,0,7,16,16,8,0,0,0 +0,3,15,16,3,0,0,0,0,11,16,15,12,0,0,0,0,1,1,6,16,0,0,0,0,0,0,5,16,0,0,0,0,0,0,14,12,0,0,0,0,0,9,16,9,8,5,0,0,3,16,16,16,16,11,0,0,5,16,16,13,8,1,0,2 +0,0,7,16,16,16,13,0,0,0,6,9,11,15,13,0,0,0,0,0,2,16,5,0,0,0,0,5,13,16,4,0,0,0,9,16,16,16,8,0,0,0,3,14,11,0,0,0,0,0,3,16,5,0,0,0,0,0,7,15,0,0,0,0,7 +0,0,4,12,15,3,0,0,0,3,16,14,14,13,0,0,0,5,16,1,2,15,5,0,0,8,16,0,0,9,11,0,0,5,16,0,0,8,12,0,0,0,15,2,0,11,13,0,0,0,10,12,12,16,9,0,0,0,4,16,16,9,0,0,0 +0,0,6,11,15,16,12,0,0,0,6,8,5,12,10,0,0,0,0,0,2,15,2,0,0,0,7,12,13,15,4,0,0,0,6,10,16,9,4,0,0,0,0,13,7,0,0,0,0,0,5,15,2,0,0,0,0,0,10,10,0,0,0,0,7 +0,0,2,11,12,12,15,8,0,0,5,12,12,13,15,2,0,0,0,0,0,7,10,0,0,0,0,4,12,16,8,0,0,0,1,16,16,12,3,0,0,0,0,4,13,1,0,0,0,0,1,12,6,0,0,0,0,0,2,14,1,0,0,0,7 +0,0,9,15,16,16,10,0,0,0,15,11,11,16,4,0,0,0,0,0,12,11,0,0,0,0,2,8,16,16,12,0,0,0,14,16,13,8,2,0,0,0,5,16,6,0,0,0,0,0,8,14,0,0,0,0,0,0,13,9,0,0,0,0,7 +0,0,8,13,11,4,0,0,0,3,16,8,8,15,2,0,0,6,16,8,9,16,8,0,0,0,10,16,13,13,8,0,0,0,0,0,0,11,7,0,0,0,0,0,2,16,3,0,0,0,3,9,15,7,0,0,0,0,10,10,3,0,0,0,9 +0,3,12,11,6,0,0,0,0,11,15,8,16,8,0,0,0,10,11,1,13,15,1,0,0,2,14,16,15,15,8,0,0,0,1,4,0,14,2,0,0,0,0,0,3,16,1,0,0,1,11,9,14,8,0,0,0,2,15,13,10,0,0,0,9 +0,0,7,16,15,5,0,0,0,0,15,7,6,15,2,0,0,3,15,4,5,13,2,0,0,2,15,16,16,15,0,0,0,0,8,16,15,15,3,0,0,0,11,13,1,6,7,0,0,0,16,12,8,11,4,0,0,0,7,15,16,12,2,0,8 +0,0,4,14,15,9,0,0,0,0,14,9,0,2,0,0,0,2,15,1,0,0,0,0,0,5,9,0,0,0,0,0,0,7,12,10,15,7,0,0,0,4,16,15,3,11,6,0,0,0,13,15,14,11,10,0,0,0,5,14,16,11,2,0,6 +0,0,6,12,15,10,0,0,0,5,15,5,4,11,6,0,0,7,11,4,5,14,6,0,0,2,16,16,16,6,0,0,0,0,15,15,12,14,1,0,0,0,14,3,0,9,6,0,0,0,16,7,6,14,6,0,0,0,7,15,12,9,0,0,8 +0,4,14,15,7,1,0,0,0,8,14,12,16,4,0,0,0,0,0,0,12,8,0,0,0,0,2,9,16,7,0,0,0,0,3,13,13,16,5,0,0,0,0,0,0,12,8,0,0,3,11,7,12,16,4,0,0,4,14,16,11,4,0,0,3 +0,0,5,14,15,6,0,0,0,1,16,8,8,15,2,0,0,0,16,10,10,15,5,0,0,0,11,16,16,9,0,0,0,0,6,16,16,16,3,0,0,0,9,13,0,10,7,0,0,0,12,10,8,15,2,0,0,0,7,16,13,5,0,0,8 +0,1,8,14,16,5,0,0,0,5,15,7,11,11,0,0,0,0,1,0,11,9,0,0,0,0,3,11,16,3,0,0,0,0,12,16,16,15,3,0,0,0,2,1,1,12,8,0,0,0,5,9,14,15,3,0,0,0,11,12,8,1,0,0,3 +0,0,3,14,13,1,0,0,0,0,12,12,3,2,0,0,0,1,16,2,0,0,0,0,0,4,14,0,0,0,0,0,0,2,14,0,2,2,0,0,0,2,14,14,16,16,8,0,0,0,11,16,11,11,16,2,0,0,1,10,12,12,9,0,6 +0,3,7,13,16,12,2,0,0,10,16,12,6,2,0,0,0,9,16,8,1,0,0,0,0,4,11,16,15,6,0,0,0,0,0,1,8,15,5,0,0,0,0,0,1,14,7,0,0,0,11,13,16,15,1,0,0,0,10,12,8,3,0,0,5 +0,0,5,11,15,5,0,0,0,6,13,2,3,15,3,0,0,7,13,8,11,16,8,0,0,1,9,12,8,8,8,0,0,0,0,0,1,13,4,0,0,0,0,0,9,12,0,0,0,0,0,8,13,0,0,0,0,0,7,10,1,0,0,0,9 +0,0,0,6,15,1,0,0,0,0,6,16,8,3,7,0,0,1,16,12,0,12,11,0,0,5,16,16,13,16,12,0,0,3,12,15,16,16,7,0,0,0,0,0,14,10,0,0,0,0,0,3,16,3,0,0,0,0,0,8,14,1,0,0,4 +0,0,0,10,14,9,0,0,0,0,10,14,6,4,0,0,0,1,16,5,0,0,0,0,0,6,12,0,0,0,0,0,0,7,10,1,4,1,0,0,0,2,15,16,14,14,1,0,0,0,12,12,4,14,11,0,0,0,1,10,13,12,4,0,6 +0,1,9,12,12,13,16,4,0,1,11,12,12,16,13,1,0,0,0,0,7,16,2,0,0,0,8,12,15,13,0,0,0,0,16,16,16,12,0,0,0,0,0,13,10,0,0,0,0,0,7,16,5,0,0,0,0,0,12,15,2,0,0,0,7 +0,0,6,16,16,13,7,0,0,0,14,12,16,16,9,0,0,0,0,0,5,15,1,0,0,0,0,4,11,14,6,0,0,0,3,16,16,16,10,0,0,0,1,12,13,4,1,0,0,0,3,15,5,0,0,0,0,0,7,15,0,0,0,0,7 +0,0,3,15,13,1,0,0,0,1,15,12,13,10,0,0,0,3,16,1,1,12,2,0,0,6,12,0,0,4,6,0,0,4,11,0,0,4,8,0,0,0,13,3,5,13,8,0,0,0,10,15,16,16,5,0,0,0,2,14,12,5,0,0,0 +0,0,0,10,10,0,0,0,0,0,2,15,7,0,7,1,0,1,13,13,0,5,16,3,0,6,16,12,8,14,14,0,0,4,15,16,16,16,9,0,0,0,0,3,15,13,0,0,0,0,0,6,16,4,0,0,0,0,0,12,8,0,0,0,4 +0,0,8,16,8,0,0,0,0,6,14,5,13,6,0,0,0,7,12,2,7,16,2,0,0,0,12,16,16,16,6,0,0,0,0,3,3,9,8,0,0,0,0,0,5,16,3,0,0,0,3,9,16,8,0,0,0,0,10,11,4,0,0,0,9 +0,1,15,15,1,0,0,0,0,7,16,16,11,0,0,0,0,3,7,8,13,0,0,0,0,0,0,7,16,2,0,0,0,0,2,15,9,0,0,0,0,0,8,16,5,0,3,0,0,3,15,16,16,16,16,0,0,2,16,16,16,16,10,0,2 +0,0,7,12,12,7,0,0,0,0,11,16,16,11,0,0,0,0,10,16,16,7,0,0,0,0,12,16,16,6,0,0,0,0,12,16,16,7,0,0,0,0,13,16,16,11,0,0,0,0,16,16,16,13,0,0,0,0,6,10,8,3,0,0,1 +0,0,7,12,13,1,0,0,0,6,16,6,8,7,0,0,0,0,16,10,11,8,0,0,0,0,8,15,16,5,0,0,0,0,10,15,12,14,1,0,0,0,15,7,0,11,7,0,0,0,15,8,8,15,7,0,0,0,6,12,12,8,1,0,8 +0,0,8,15,11,0,0,0,0,7,16,15,15,9,0,0,0,10,14,0,3,12,2,0,0,5,12,0,0,5,7,0,0,4,11,0,0,7,8,0,0,3,11,0,6,16,6,0,0,0,14,13,16,14,1,0,0,0,8,15,11,2,0,0,0 +0,0,9,16,14,2,0,0,0,0,10,16,16,4,0,0,0,4,16,16,16,0,0,0,0,0,14,16,16,2,0,0,0,1,16,16,16,3,0,0,0,1,16,16,16,0,0,0,0,3,16,16,16,7,0,0,0,1,9,15,16,8,0,0,1 +0,0,9,15,2,0,0,0,0,3,16,14,13,1,0,0,0,0,6,0,14,2,0,0,0,0,0,1,15,0,0,0,0,0,0,5,14,0,0,0,0,0,1,12,9,0,0,0,0,0,12,16,16,16,16,2,0,0,8,13,11,8,7,0,2 +0,0,4,12,7,0,0,0,0,2,13,16,16,6,0,0,0,5,16,3,5,15,0,0,0,8,13,0,0,11,1,0,0,7,12,0,0,8,4,0,0,5,10,0,0,9,5,0,0,1,15,13,13,16,3,0,0,0,5,14,16,10,0,0,0 +0,0,8,15,14,6,0,0,0,4,16,5,6,16,3,0,0,7,16,2,3,16,8,0,0,2,14,16,16,16,8,0,0,0,0,2,0,9,8,0,0,0,0,0,5,16,2,0,0,0,0,8,14,5,0,0,0,0,9,8,1,0,0,0,9 +0,0,11,12,7,0,0,0,0,0,5,16,16,9,0,0,0,0,4,16,16,12,0,0,0,0,4,16,16,13,0,0,0,0,3,15,16,12,0,0,0,0,2,13,16,12,0,0,0,0,11,16,16,5,0,0,0,0,8,10,8,0,0,0,1 +0,0,5,8,8,10,13,4,0,0,10,12,12,14,14,1,0,0,0,0,0,12,5,0,0,0,2,4,7,16,0,0,0,0,10,16,16,10,0,0,0,0,0,8,11,0,0,0,0,0,0,16,7,0,0,0,0,0,7,16,3,0,0,0,7 +0,0,7,13,10,0,0,0,0,0,16,16,16,9,0,0,0,3,12,2,9,16,4,0,0,6,9,0,0,13,7,0,0,8,12,0,0,8,8,0,0,7,15,4,2,12,8,0,0,2,16,16,16,16,5,0,0,0,7,14,12,7,0,0,0 +0,0,3,12,11,7,0,0,0,0,8,16,16,6,0,0,0,3,16,16,16,6,0,0,0,4,16,16,15,1,0,0,0,1,8,9,16,4,0,0,0,1,15,16,16,9,0,0,0,0,8,16,16,12,0,0,0,0,4,11,11,6,0,0,1 +0,0,10,16,16,16,11,0,0,0,9,11,8,16,9,0,0,0,0,0,5,16,3,0,0,0,2,11,15,16,11,0,0,0,6,16,16,10,5,0,0,0,0,13,11,0,0,0,0,0,7,16,3,0,0,0,0,0,13,11,0,0,0,0,7 +0,0,9,15,8,0,0,0,0,6,14,2,7,10,0,0,0,9,10,0,2,16,3,0,0,5,16,16,16,14,2,0,0,6,16,16,16,14,1,0,0,5,16,0,0,9,11,0,0,1,16,9,7,14,6,0,0,0,9,12,13,8,0,0,8 +0,0,3,11,12,4,0,0,0,6,15,6,5,13,0,0,0,7,13,0,2,16,1,0,0,3,16,16,16,14,0,0,0,0,15,13,8,13,6,0,0,0,12,1,0,3,9,0,0,0,9,12,8,14,11,0,0,0,5,13,12,9,1,0,8 +0,0,0,10,16,6,0,0,0,0,4,16,16,4,0,0,0,0,14,16,16,4,0,0,0,0,16,16,16,8,0,0,0,0,16,16,16,8,0,0,0,0,15,16,16,14,3,0,0,0,10,16,16,16,8,0,0,0,1,12,12,15,7,0,1 +0,0,0,4,15,0,0,0,0,0,2,13,12,0,3,0,0,0,11,15,2,6,16,0,0,8,16,12,8,15,12,0,0,7,16,16,16,16,7,0,0,0,4,7,14,13,0,0,0,0,0,1,16,9,0,0,0,0,0,3,16,3,0,0,4 +0,3,12,15,16,14,2,0,0,7,16,11,4,7,1,0,0,9,16,6,0,0,0,0,0,4,15,16,11,0,0,0,0,0,0,6,16,6,0,0,0,0,0,0,9,12,0,0,0,1,12,12,16,6,0,0,0,3,16,16,7,0,0,0,5 +0,0,7,16,13,2,0,0,0,2,15,16,16,11,0,0,0,7,14,4,6,16,0,0,0,4,12,0,0,7,7,0,0,6,12,0,1,11,8,0,0,2,15,8,13,16,9,0,0,0,15,16,16,15,2,0,0,0,5,14,11,1,0,0,0 +0,0,8,14,5,0,0,0,0,8,13,5,14,5,0,0,0,8,13,2,5,14,3,0,0,4,16,14,15,16,8,0,0,0,2,5,7,10,7,0,0,0,0,0,3,15,3,0,0,0,0,4,14,10,0,0,0,0,10,13,6,0,0,0,9 +0,1,8,15,10,0,0,0,0,4,16,16,16,9,0,0,0,0,12,16,16,12,0,0,0,0,10,16,16,8,0,0,0,0,8,16,16,10,0,0,0,0,9,16,16,13,0,0,0,0,8,16,16,12,0,0,0,0,5,15,16,9,1,0,1 +0,3,9,14,15,6,0,0,0,7,13,7,8,16,0,0,0,0,0,0,7,12,0,0,0,0,1,9,16,10,0,0,0,0,5,15,12,15,7,0,0,0,0,0,0,13,9,0,0,0,8,8,14,16,4,0,0,3,16,14,9,1,0,0,3 +0,3,11,13,8,1,0,0,0,3,11,8,15,7,0,0,0,0,0,2,14,6,0,0,0,0,7,16,16,11,0,0,0,0,5,12,11,16,8,0,0,0,0,0,6,16,7,0,0,2,12,16,16,7,0,0,0,4,13,11,2,0,0,0,3 +0,0,5,14,12,2,0,0,0,1,16,11,5,11,0,0,0,4,14,0,0,9,4,0,0,8,10,0,0,5,8,0,0,8,8,0,0,8,8,0,0,4,11,0,0,10,5,0,0,2,16,11,12,14,0,0,0,0,5,14,14,3,0,0,0 +0,0,4,15,12,2,0,0,0,0,13,16,16,14,0,0,0,7,16,3,2,15,2,0,0,8,16,4,0,4,8,0,0,8,15,3,0,6,8,0,0,4,15,4,2,13,10,0,0,0,13,16,16,16,6,0,0,0,4,15,16,9,0,0,0 +0,0,0,10,12,2,0,0,0,0,11,16,16,10,0,0,0,3,16,5,6,12,2,0,0,5,12,0,0,6,8,0,0,4,16,0,0,6,8,0,0,2,15,7,2,13,8,0,0,0,9,16,14,16,5,0,0,0,0,12,16,10,0,0,0 +0,0,4,16,3,0,0,0,0,0,8,16,2,0,1,0,0,0,11,13,3,15,5,0,0,2,16,6,11,15,0,0,0,11,16,12,16,13,4,0,1,12,12,15,15,11,2,0,0,0,1,16,5,0,0,0,0,0,6,16,0,0,0,0,4 +0,0,0,14,7,1,6,0,0,0,6,15,2,11,15,0,0,2,14,10,2,16,8,0,0,7,16,10,13,16,14,0,0,6,16,16,16,11,5,0,0,0,0,7,15,1,0,0,0,0,0,10,10,0,0,0,0,0,1,15,4,0,0,0,4 +0,0,0,8,12,0,0,0,0,0,0,15,5,11,7,0,0,0,8,12,1,16,3,0,0,3,15,5,6,14,0,0,0,12,15,10,15,16,7,0,0,12,16,16,16,10,3,0,0,0,2,7,13,0,0,0,0,0,0,11,10,0,0,0,4 +0,0,4,13,15,6,0,0,0,4,15,6,7,15,2,0,0,8,14,0,4,16,5,0,0,2,15,10,14,7,0,0,0,0,7,16,14,0,0,0,0,0,12,9,15,6,0,0,0,0,12,8,11,8,0,0,0,0,3,15,15,3,0,0,8 +0,0,4,8,13,6,0,0,0,5,16,11,9,12,1,0,0,7,13,0,12,16,4,0,0,6,14,9,15,12,3,0,0,0,8,11,10,14,0,0,0,0,0,0,16,6,0,0,0,0,0,8,12,0,0,0,0,0,6,10,0,0,0,0,9 +0,0,7,12,15,4,0,0,0,4,16,9,7,12,0,0,0,0,5,0,10,8,0,0,0,0,0,13,16,4,0,0,0,0,0,10,9,16,3,0,0,0,0,0,0,11,7,0,0,0,8,6,6,15,3,0,0,0,8,15,12,3,0,0,3 +0,0,11,13,1,0,0,0,0,5,16,14,10,0,0,0,0,9,10,8,12,0,0,0,0,5,3,10,7,0,0,0,0,0,2,15,2,0,0,0,0,0,11,10,1,5,3,0,0,0,16,12,14,16,9,0,0,0,13,16,11,3,0,0,2 +0,0,6,12,14,16,16,4,0,3,16,15,12,15,16,4,0,1,5,0,1,16,11,0,0,0,0,0,9,15,3,0,0,0,0,4,16,8,0,0,0,0,0,12,16,0,0,0,0,0,6,16,6,0,0,0,0,0,10,15,0,0,0,0,7 +0,0,4,16,13,13,5,0,0,0,9,15,7,4,2,0,0,3,14,9,0,0,0,0,0,5,16,16,13,5,0,0,0,0,0,2,10,15,1,0,0,0,0,0,5,15,1,0,0,0,1,4,14,6,0,0,0,0,2,16,10,0,0,0,5 +0,0,0,16,14,5,0,0,0,0,7,16,16,7,0,0,0,0,7,16,16,1,0,0,0,0,12,16,13,0,0,0,0,0,14,16,10,0,0,0,0,0,14,16,8,0,0,0,0,0,11,16,12,0,0,0,0,0,2,10,16,7,0,0,1 +0,1,15,16,16,16,15,2,0,0,12,10,9,16,14,2,0,0,0,0,9,16,4,0,0,0,0,5,15,6,0,0,0,0,0,13,12,0,0,0,0,0,9,15,2,0,0,0,0,1,16,10,0,0,0,0,0,3,16,7,0,0,0,0,7 +0,0,2,13,16,4,0,0,0,0,12,12,10,13,0,0,0,4,16,2,0,15,2,0,0,5,16,1,0,8,8,0,0,8,12,0,0,8,8,0,0,5,15,1,0,9,8,0,0,1,15,11,8,16,3,0,0,0,4,15,14,5,0,0,0 +0,0,8,16,9,0,0,0,0,4,15,10,16,0,0,0,0,5,5,7,12,0,0,0,0,0,0,16,14,9,0,0,0,0,0,8,8,15,7,0,0,0,0,0,0,11,8,0,0,0,15,5,7,15,3,0,0,0,6,13,13,6,0,0,3 +0,0,0,0,7,16,11,0,0,0,0,1,16,16,7,0,0,0,4,15,16,5,0,0,0,4,16,16,15,0,0,0,0,1,8,16,16,3,0,0,0,0,0,10,16,9,0,0,0,0,0,4,16,12,0,0,0,0,0,0,7,12,0,0,1 +0,0,5,14,16,9,0,0,0,0,8,15,12,14,3,0,0,3,15,12,0,0,0,0,0,12,16,7,0,0,0,0,0,8,14,16,10,1,0,0,0,0,1,8,16,4,0,0,0,0,3,11,16,3,0,0,0,0,5,16,12,0,0,0,5 +0,0,0,11,13,1,3,0,0,0,0,15,8,13,13,0,0,0,9,15,4,16,7,0,0,5,16,13,12,16,8,0,0,8,16,16,16,15,7,0,0,0,0,6,16,4,0,0,0,0,0,7,13,0,0,0,0,0,0,11,7,0,0,0,4 +0,1,7,15,10,0,0,0,0,6,14,7,16,2,0,0,0,6,14,12,16,13,0,0,0,1,12,16,11,0,0,0,0,0,0,13,16,3,0,0,0,0,4,12,3,14,2,0,0,0,8,9,0,11,8,0,0,0,6,16,16,11,2,0,8 +0,0,0,10,8,0,0,0,0,0,2,16,11,1,0,0,0,0,6,15,1,0,0,0,0,0,10,11,0,0,0,0,0,0,13,12,8,6,0,0,0,0,13,16,16,16,12,1,0,0,9,16,13,11,16,4,0,0,0,10,15,12,5,0,6 +0,0,0,9,12,2,0,0,0,0,2,13,16,3,0,0,0,0,9,16,16,1,0,0,0,5,15,14,16,5,0,0,0,2,1,12,16,5,0,0,0,0,0,10,16,4,0,0,0,0,0,12,15,3,0,0,0,0,0,7,15,13,1,0,1 +0,0,2,8,12,13,9,1,0,0,15,16,14,16,16,0,0,4,16,14,13,16,12,0,0,0,13,14,11,16,10,0,0,0,0,0,5,16,7,0,0,0,0,0,13,15,3,0,0,0,0,10,15,2,0,0,0,0,1,16,5,0,0,0,9 +0,0,9,15,6,0,0,0,0,1,16,6,14,2,0,0,0,0,14,1,8,8,0,0,0,0,7,7,5,9,0,0,0,0,0,0,9,5,0,0,0,0,0,1,14,2,0,0,0,0,5,15,12,11,6,0,0,0,15,14,12,8,8,0,2 +0,0,11,16,16,13,4,0,0,2,16,14,9,8,8,0,0,7,16,4,0,0,0,0,0,12,16,16,12,1,0,0,0,2,8,10,16,9,0,0,0,0,1,0,12,12,0,0,0,0,15,12,16,6,0,0,0,0,13,16,9,0,0,0,5 +0,1,11,16,13,1,0,0,0,9,16,10,15,8,0,0,0,7,13,1,12,11,0,0,0,0,0,5,15,9,0,0,0,0,0,16,16,16,7,0,0,0,0,7,3,13,12,0,0,0,7,8,10,16,5,0,0,0,13,16,16,6,0,0,3 +0,2,13,15,5,0,0,0,0,9,16,13,14,0,0,0,0,7,6,2,16,0,0,0,0,0,0,3,16,1,0,0,0,0,0,11,12,0,0,0,0,0,5,16,7,0,0,0,0,2,16,16,9,11,11,1,0,2,15,16,16,16,11,1,2 +0,0,0,9,13,1,0,0,0,0,3,15,6,12,0,0,0,1,10,9,0,10,3,0,0,4,16,5,0,5,7,0,0,5,16,3,0,6,8,0,0,0,16,5,0,6,9,0,0,0,8,14,7,15,3,0,0,0,0,10,16,9,0,0,0 +0,0,2,8,12,5,0,0,0,0,3,16,16,12,0,0,0,0,5,16,16,8,0,0,0,0,5,16,16,11,0,0,0,0,9,16,16,5,0,0,0,0,8,16,16,8,0,0,0,0,6,16,16,10,0,0,0,0,1,10,10,7,0,0,1 +0,0,11,16,13,2,0,0,0,7,16,11,12,14,0,0,0,9,13,0,11,14,0,0,0,0,0,11,16,14,2,0,0,0,0,10,9,15,10,0,0,0,0,0,0,9,12,0,0,0,14,8,9,16,6,0,0,0,11,16,16,10,0,0,3 +0,0,0,4,9,15,2,0,0,0,6,15,11,13,4,0,0,3,16,4,4,15,0,0,0,0,15,16,16,16,1,0,0,0,2,4,3,15,6,0,0,0,0,0,1,16,1,0,0,0,0,3,12,5,0,0,0,0,0,7,10,0,0,0,9 +0,0,0,0,8,16,7,0,0,0,0,6,16,16,12,0,0,0,8,16,16,16,12,0,0,5,12,8,12,16,8,0,0,0,0,0,12,16,5,0,0,0,0,0,15,16,1,0,0,0,0,0,16,16,0,0,0,0,0,0,11,16,2,0,1 +0,2,15,11,1,0,0,0,0,13,15,15,8,0,0,0,0,16,9,8,11,0,0,0,0,7,1,10,9,0,0,0,0,0,0,13,7,0,0,0,0,0,2,16,5,0,0,0,0,1,14,15,16,16,12,2,0,2,13,16,14,11,6,0,2 +0,0,0,9,16,10,1,0,0,0,9,13,4,14,8,0,0,4,15,6,10,16,7,0,0,5,16,14,11,16,4,0,0,0,0,0,5,15,1,0,0,0,0,1,14,7,0,0,0,0,0,7,12,0,0,0,0,0,0,11,8,0,0,0,9 +0,0,4,11,16,11,1,0,0,3,15,7,5,14,4,0,0,8,13,0,14,16,5,0,0,0,15,16,11,16,5,0,0,0,1,2,5,13,0,0,0,0,0,1,13,4,0,0,0,0,1,13,7,0,0,0,0,0,6,14,0,0,0,0,9 +0,0,1,12,15,5,0,0,0,0,12,11,4,3,0,0,0,1,15,2,0,0,0,0,0,5,12,0,0,0,0,0,0,3,16,16,11,2,0,0,0,2,16,15,8,12,0,0,0,0,10,9,1,15,5,0,0,0,0,12,16,10,0,0,6 +0,0,1,12,16,14,1,0,0,0,4,16,16,16,4,0,0,2,14,16,16,16,6,0,0,2,12,16,16,10,0,0,0,0,8,16,16,8,0,0,0,0,11,16,16,5,0,0,0,0,8,16,16,4,0,0,0,0,1,15,16,8,0,0,1 +0,0,0,10,10,0,0,0,0,0,3,15,5,5,0,0,0,0,11,10,8,12,0,0,0,5,16,5,13,10,2,0,0,11,16,16,16,15,8,0,0,0,4,9,14,1,0,0,0,0,0,9,9,0,0,0,0,0,0,13,4,0,0,0,4 +0,0,2,14,7,0,0,0,0,1,9,12,13,6,0,0,0,5,16,8,2,14,0,0,0,6,16,2,0,12,6,0,0,5,15,1,0,9,9,0,0,0,16,1,0,12,8,0,0,0,11,12,8,15,1,0,0,0,3,13,15,7,0,0,0 +0,0,0,14,4,5,1,0,0,0,6,13,1,15,5,0,0,0,12,7,2,16,2,0,0,7,15,6,10,16,6,0,0,12,16,16,16,13,6,0,0,2,7,8,15,3,0,0,0,0,0,8,10,0,0,0,0,0,0,16,4,0,0,0,4 +0,1,10,14,16,16,15,1,0,1,12,11,8,11,15,2,0,0,0,0,1,14,8,0,0,0,0,0,11,11,1,0,0,0,0,5,16,2,0,0,0,0,1,16,6,0,0,0,0,0,7,14,1,0,0,0,0,0,15,11,0,0,0,0,7 +0,0,5,12,10,0,0,0,0,2,16,9,11,2,0,0,0,0,16,5,8,14,0,0,0,1,14,16,16,3,0,0,0,0,3,16,16,4,0,0,0,0,11,12,15,11,0,0,0,2,16,7,2,16,2,0,0,0,9,15,13,11,1,0,8 +0,0,5,14,0,0,0,0,0,0,9,11,1,3,0,0,0,2,14,4,10,11,0,0,0,8,16,12,15,14,6,0,0,9,16,13,16,10,5,0,0,0,0,9,11,0,0,0,0,0,0,15,5,0,0,0,0,0,3,16,3,0,0,0,4 +0,0,2,11,16,16,16,12,0,0,7,15,9,8,12,13,0,0,0,0,0,1,14,5,0,0,0,0,0,11,9,0,0,0,0,0,6,13,0,0,0,0,0,1,14,3,0,0,0,0,0,10,9,0,0,0,0,0,1,16,5,0,0,0,7 +0,0,4,14,11,1,0,0,0,4,16,12,10,8,0,0,0,9,14,1,7,7,0,0,0,1,2,0,15,9,0,0,0,0,0,0,7,15,2,0,0,0,0,0,0,5,11,0,0,0,12,3,4,10,11,0,0,0,6,15,15,11,1,0,3 +0,0,1,11,15,16,5,0,0,0,13,15,13,16,9,0,0,1,16,14,15,16,8,0,0,0,13,16,13,15,15,0,0,0,0,0,1,14,9,0,0,0,0,0,9,14,1,0,0,0,0,9,15,2,0,0,0,0,0,15,7,0,0,0,9 +0,0,5,11,13,10,3,0,0,1,13,11,5,6,3,0,0,6,15,0,0,0,0,0,0,7,13,4,1,0,0,0,0,1,14,16,15,4,0,0,0,0,0,0,8,13,0,0,0,0,8,5,5,15,0,0,0,0,4,12,16,9,0,0,5 +0,2,11,16,16,16,13,0,0,5,12,10,8,13,16,0,0,0,0,0,1,15,11,0,0,0,0,0,13,13,0,0,0,0,0,8,16,2,0,0,0,0,3,15,8,0,0,0,0,0,11,15,0,0,0,0,0,2,16,10,0,0,0,0,7 +0,0,0,6,14,9,0,0,0,0,8,15,8,2,0,0,0,3,15,9,0,0,0,0,0,7,15,0,0,0,0,0,0,7,16,4,6,3,0,0,0,1,16,15,12,15,5,0,0,0,7,14,6,11,14,0,0,0,0,5,13,15,8,0,6 +0,0,8,11,16,14,3,0,0,0,16,14,8,8,3,0,0,4,16,8,0,0,0,0,0,4,16,14,4,0,0,0,0,0,0,9,16,7,0,0,0,0,0,0,14,12,0,0,0,3,15,5,15,7,0,0,0,0,11,16,11,1,0,0,5 +0,0,12,8,2,0,0,0,0,0,16,6,14,6,0,0,0,2,16,10,16,0,0,0,0,10,13,14,10,4,1,0,0,8,16,16,16,16,10,0,0,0,13,15,4,4,1,0,0,0,12,12,0,0,0,0,0,1,14,5,0,0,0,0,4 +0,0,0,3,13,14,1,0,0,0,3,15,16,16,0,0,0,5,16,16,16,14,0,0,0,0,0,4,16,14,0,0,0,0,0,4,16,14,0,0,0,0,0,4,16,10,0,0,0,0,0,4,16,8,0,0,0,0,0,2,12,16,5,0,1 +0,0,7,12,14,11,3,0,0,0,12,13,5,5,3,0,0,1,16,7,0,0,0,0,0,5,16,16,12,1,0,0,0,0,0,1,12,10,0,0,0,0,0,0,1,14,0,0,0,0,11,4,8,11,0,0,0,0,10,16,11,2,0,0,5 +0,0,7,15,15,5,0,0,0,0,15,13,12,15,5,0,0,0,10,14,12,16,3,0,0,0,5,16,16,9,0,0,0,2,15,16,16,3,0,0,0,7,14,2,12,14,1,0,0,3,15,9,12,16,4,0,0,0,5,12,13,8,1,0,8 +0,0,9,16,8,0,0,0,0,9,13,4,13,0,0,0,0,7,6,1,14,0,0,0,0,0,0,9,16,9,0,0,0,0,0,8,6,13,6,0,0,0,0,0,0,4,11,0,0,0,6,0,3,12,5,0,0,0,9,16,16,7,0,0,3 +0,0,6,15,16,16,5,0,0,3,16,14,8,4,1,0,0,10,16,11,3,0,0,0,0,11,16,16,15,3,0,0,0,1,2,1,14,12,0,0,0,0,0,0,7,16,1,0,0,0,5,13,11,15,0,0,0,0,7,16,15,3,0,0,5 +0,0,1,7,12,14,5,0,0,0,8,13,1,8,8,0,0,2,16,6,16,16,9,0,0,0,7,8,6,12,10,0,0,0,0,0,0,12,7,0,0,0,0,0,0,16,2,0,0,0,0,0,9,10,0,0,0,0,0,8,11,4,0,0,9 +0,0,0,9,15,13,2,0,0,0,10,12,4,11,8,0,0,3,15,3,6,15,6,0,0,5,16,14,12,15,7,0,0,0,0,0,0,14,5,0,0,0,0,0,9,12,0,0,0,0,0,8,12,0,0,0,0,0,0,12,5,0,0,0,9 +0,0,4,16,13,2,0,0,0,0,11,7,2,13,0,0,0,3,16,4,0,9,1,0,0,5,13,2,0,5,7,0,0,4,8,0,0,4,8,0,0,4,14,0,0,6,8,0,0,0,13,10,1,14,3,0,0,0,4,12,16,10,0,0,0 +0,1,12,16,6,0,0,0,0,9,16,14,14,3,0,0,0,12,12,0,16,7,0,0,0,2,0,0,15,6,0,0,0,0,0,4,15,1,0,0,0,0,1,12,14,0,0,0,0,2,15,16,14,9,2,0,0,1,13,16,16,16,16,3,2 +0,0,0,13,4,0,0,0,0,0,4,16,9,9,0,0,0,0,12,8,10,9,0,0,0,7,15,4,15,8,1,0,0,11,16,16,16,16,10,0,0,1,4,10,12,0,0,0,0,0,0,12,8,0,0,0,0,0,0,12,5,0,0,0,4 +0,0,2,12,14,1,0,0,0,0,14,9,11,14,7,0,0,5,12,0,8,11,1,0,0,4,14,8,13,1,0,0,0,0,9,16,4,0,0,0,0,0,7,13,13,1,0,0,0,0,8,7,14,6,0,0,0,0,4,14,12,4,0,0,8 +0,0,2,12,8,0,0,0,0,0,13,11,1,0,0,0,0,2,15,1,0,0,0,0,0,6,13,0,0,0,0,0,0,8,14,10,11,5,0,0,0,4,16,15,8,12,7,0,0,0,15,11,4,11,10,0,0,0,3,13,15,12,3,0,6 +0,0,1,14,10,0,0,0,0,0,9,16,6,0,0,0,0,0,13,16,1,0,0,0,0,0,16,11,0,0,0,0,0,2,16,15,11,6,1,0,0,3,16,16,16,16,11,0,0,0,12,16,14,16,11,0,0,0,1,10,15,11,2,0,6 +0,0,2,14,9,1,0,0,0,1,14,10,11,10,0,0,0,4,14,1,0,12,3,0,0,7,8,0,0,3,6,0,0,7,7,0,0,1,9,0,0,3,12,0,0,5,8,0,0,0,11,5,3,12,6,0,0,0,2,14,16,9,0,0,0 +0,0,0,6,13,9,0,0,0,1,15,16,7,3,0,0,0,7,15,3,0,0,0,0,0,7,16,16,8,0,0,0,0,2,11,5,12,7,0,0,0,0,0,0,2,14,0,0,0,0,0,5,11,16,1,0,0,0,0,4,15,9,0,0,5 +0,0,1,15,4,0,0,0,0,0,9,12,0,0,0,0,0,1,14,6,0,0,0,0,0,1,16,4,3,3,0,0,0,2,16,8,16,15,2,0,0,1,16,16,10,5,12,0,0,0,13,15,8,12,10,0,0,0,0,13,15,10,1,0,6 +0,0,8,13,6,0,0,0,0,2,16,12,11,10,0,0,0,0,16,16,14,8,1,0,0,0,13,11,0,0,0,0,0,2,15,4,0,0,0,0,0,0,16,13,0,0,0,0,0,2,15,16,2,0,0,0,0,0,11,16,4,0,0,0,8 +0,0,8,13,11,5,0,0,0,4,16,14,16,10,0,0,0,1,14,16,7,0,0,0,0,0,11,16,14,2,0,0,0,2,16,3,8,15,1,0,0,6,15,2,1,16,5,0,0,5,16,9,11,16,3,0,0,0,9,15,15,7,0,0,8 +0,0,6,13,10,0,0,0,0,3,16,11,14,6,0,0,0,9,11,0,12,12,0,0,0,4,4,0,9,12,0,0,0,0,0,4,16,3,0,0,0,0,0,13,15,3,0,0,0,0,8,16,15,16,11,0,0,0,4,14,10,2,0,0,2 +0,0,5,16,4,0,0,0,0,0,13,16,1,0,0,0,0,2,16,11,0,0,0,0,0,8,16,12,10,16,6,0,0,2,13,16,16,16,6,0,0,0,1,14,16,6,0,0,0,0,5,16,11,0,0,0,0,0,5,16,7,0,0,0,4 +0,0,0,10,15,4,0,0,0,0,5,16,14,3,0,0,0,0,12,15,1,0,0,0,0,1,15,8,0,0,0,0,0,4,16,12,2,0,0,0,0,3,16,16,15,4,0,0,0,0,12,14,16,10,0,0,0,0,1,9,15,10,0,0,6 +0,0,0,13,7,0,0,0,0,0,3,16,9,0,0,0,0,0,11,15,2,6,4,0,0,4,16,14,13,16,12,0,0,11,16,16,16,16,3,0,0,3,8,10,16,9,0,0,0,0,0,11,16,2,0,0,0,0,1,13,13,0,0,0,4 +0,0,10,13,16,15,4,0,0,0,0,6,9,15,12,0,0,0,0,0,0,16,8,0,0,0,0,0,8,16,2,0,0,1,4,9,15,12,0,0,0,10,16,16,15,1,0,0,0,3,9,16,6,0,0,0,0,0,10,13,0,0,0,0,7 +0,0,2,16,14,2,0,0,0,0,7,15,15,11,0,0,0,0,5,16,15,16,2,0,0,0,0,6,15,16,8,0,0,0,0,0,2,12,11,0,0,0,0,0,0,9,14,0,0,0,0,0,7,15,13,0,0,0,1,12,16,14,7,0,9 +0,0,2,12,14,4,0,0,0,0,9,15,13,13,0,0,0,2,15,3,1,14,4,0,0,4,13,0,0,12,6,0,0,5,9,0,0,12,8,0,0,5,9,0,0,13,5,0,0,1,13,9,13,14,1,0,0,0,4,9,16,6,0,0,0 +0,0,6,16,8,0,0,0,0,3,16,6,16,1,0,0,0,3,7,2,16,2,0,0,0,0,0,7,13,0,0,0,0,0,0,12,8,0,0,0,0,0,2,15,4,1,0,0,0,0,8,12,4,13,6,0,0,0,5,16,15,8,1,0,2 +0,2,11,3,0,2,0,0,0,2,13,12,5,15,6,0,0,0,11,14,14,1,0,0,0,0,7,15,1,0,0,0,0,0,15,12,5,0,0,0,0,4,10,4,8,0,0,0,0,7,9,7,8,0,0,0,0,2,14,15,5,0,0,0,8 +0,0,7,12,9,0,0,0,0,0,13,13,14,9,0,0,0,0,11,12,14,14,0,0,0,0,1,10,12,15,4,0,0,0,0,0,0,11,9,0,0,0,0,0,0,9,9,0,0,0,0,0,1,14,6,0,0,0,5,12,14,11,1,0,9 +0,0,0,1,12,4,0,0,0,0,1,14,16,11,0,0,0,0,9,13,5,15,4,0,0,2,16,2,0,16,3,0,0,1,16,7,7,16,4,0,0,0,13,16,16,16,1,0,0,0,1,13,16,13,0,0,0,0,0,3,12,5,0,0,0 +0,0,7,15,15,8,3,0,0,3,14,3,0,13,8,0,0,6,10,1,6,14,8,0,0,0,8,12,6,8,8,0,0,0,0,0,0,8,6,0,0,0,0,0,0,12,3,0,0,0,0,0,7,13,0,0,0,0,7,15,14,2,0,0,9 +0,0,0,2,14,10,0,0,0,0,1,12,16,13,0,0,0,6,13,16,16,6,0,0,0,5,10,12,16,5,0,0,0,0,0,7,16,5,0,0,0,0,0,4,16,6,0,0,0,0,0,4,16,7,0,0,0,0,0,2,11,14,0,0,1 +0,3,15,12,11,12,2,0,0,12,16,16,16,16,6,0,0,12,13,0,3,4,0,0,0,3,15,13,2,0,0,0,0,0,5,15,11,0,0,0,0,0,0,6,16,3,0,0,0,0,5,12,16,3,0,0,0,4,16,16,12,0,0,0,5 +0,0,2,15,11,1,0,0,0,0,6,16,16,14,0,0,0,0,3,15,16,16,5,0,0,0,0,5,7,11,9,0,0,0,0,0,0,13,13,0,0,0,0,0,1,16,8,0,0,0,0,2,13,16,5,0,0,0,5,15,16,6,0,0,9 +0,0,0,9,12,0,0,0,0,0,2,16,10,0,0,0,0,0,9,16,3,0,0,0,0,0,14,12,0,0,0,0,0,1,16,5,0,2,0,0,0,2,16,13,16,16,6,0,0,0,8,16,8,12,16,3,0,0,0,5,12,16,15,4,6 +0,0,2,11,16,10,0,0,0,0,10,15,2,14,4,0,0,3,15,1,0,10,8,0,0,7,10,0,0,12,5,0,0,8,8,0,0,14,4,0,0,3,12,0,9,14,1,0,0,0,13,10,16,5,0,0,0,0,2,10,12,2,0,0,0 +0,0,0,2,11,16,8,0,0,1,9,15,16,16,12,0,0,3,15,16,13,16,10,0,0,0,0,3,16,16,6,0,0,0,0,0,16,16,4,0,0,0,0,4,16,16,3,0,0,0,0,4,16,16,1,0,0,0,0,1,13,16,1,0,1 +0,0,3,10,13,4,0,0,0,0,9,13,14,10,0,0,0,0,9,11,16,15,0,0,0,0,1,11,12,16,0,0,0,0,0,0,0,15,3,0,0,0,0,0,1,16,3,0,0,0,0,0,6,16,1,0,0,0,4,16,16,10,0,0,9 +0,2,4,9,13,13,0,0,0,5,15,11,12,16,0,0,0,0,0,0,8,13,0,0,0,0,0,0,12,12,0,0,0,0,0,0,9,16,1,0,0,0,0,0,0,15,8,0,0,0,9,14,11,16,6,0,0,0,1,10,15,9,0,0,3 +0,0,0,5,10,0,0,0,0,0,1,14,12,0,0,0,0,0,4,16,5,0,0,0,0,0,9,16,2,0,0,0,0,0,11,10,0,0,0,0,0,0,11,16,13,12,5,0,0,0,6,16,16,16,16,2,0,0,0,3,12,15,11,3,6 +0,8,12,16,13,0,0,0,0,2,10,10,16,8,0,0,0,0,0,0,10,16,4,0,0,0,0,0,10,16,4,0,0,0,0,4,16,14,0,0,0,0,0,0,12,16,8,0,0,0,4,8,15,16,8,0,0,10,16,16,11,3,0,0,3 +0,0,11,12,12,13,16,8,0,0,9,12,12,13,16,4,0,0,0,0,2,16,11,0,0,0,0,0,13,14,1,0,0,0,0,0,14,14,0,0,0,0,0,0,6,16,6,0,0,0,1,4,9,16,4,0,0,0,14,16,15,6,0,0,3 +0,0,0,9,16,5,0,0,0,1,12,15,15,8,0,0,0,7,13,5,15,4,0,0,0,0,1,6,16,0,0,0,0,0,0,8,16,0,0,0,0,0,0,9,13,0,0,0,0,0,0,12,8,4,3,0,0,0,0,11,16,15,5,0,2 +0,1,6,11,16,6,0,0,0,0,5,13,11,16,6,0,0,0,4,16,8,0,0,0,0,0,5,15,0,0,0,0,0,1,13,10,4,0,0,0,0,6,10,4,8,0,0,0,0,8,7,12,7,0,0,0,0,2,13,14,0,0,0,0,8 +0,0,1,16,14,1,0,0,0,0,3,16,16,4,0,0,0,0,1,16,16,5,0,0,0,0,0,16,16,7,0,0,0,0,7,16,16,0,0,0,0,0,8,16,14,0,0,0,0,0,7,16,15,0,0,0,0,0,2,13,16,0,0,0,1 +0,0,2,15,12,0,0,0,0,0,3,16,14,10,0,0,0,0,0,5,13,16,2,0,0,0,0,0,0,12,8,0,0,0,0,0,0,7,11,0,0,0,0,0,0,7,13,0,0,0,2,0,2,11,11,0,0,0,3,13,15,16,6,0,9 +0,0,0,2,14,0,0,0,0,0,1,13,14,1,0,0,0,0,5,16,4,0,0,0,0,0,11,8,0,0,0,0,0,0,12,8,1,0,0,0,0,0,8,16,16,14,5,0,0,0,4,16,4,8,16,3,0,0,0,4,11,15,14,6,6 +0,0,10,16,15,6,0,0,0,0,0,4,16,15,0,0,0,0,0,0,14,13,0,0,0,0,0,0,14,16,3,0,0,0,0,0,3,15,12,0,0,0,0,0,1,15,15,0,0,0,0,2,12,16,8,0,0,0,7,15,15,7,0,0,3 +0,0,0,0,11,8,0,0,0,0,0,2,16,8,0,0,0,0,0,6,16,2,0,0,0,0,0,7,15,0,0,0,0,0,0,10,14,0,0,0,0,0,13,16,16,11,0,0,0,0,7,7,16,16,10,0,0,0,0,0,8,16,15,0,6 +0,1,13,16,16,16,12,1,0,0,0,3,4,12,16,2,0,0,0,0,4,16,7,0,0,0,0,2,15,12,0,0,0,1,8,13,16,16,5,0,0,3,15,16,12,7,0,0,0,0,13,10,0,0,0,0,0,2,15,7,0,0,0,0,7 +0,2,11,16,10,1,0,0,0,7,14,7,16,14,2,0,0,6,9,7,15,1,0,0,0,1,13,16,7,0,0,0,0,0,9,16,9,0,0,0,0,0,12,16,11,0,0,0,0,3,16,16,3,0,0,0,0,0,14,9,0,0,0,0,8 +0,0,0,10,16,10,0,0,0,0,9,16,12,8,0,0,0,1,15,13,1,0,0,0,0,2,16,5,0,0,0,0,0,2,16,8,0,0,0,0,0,2,16,16,9,0,0,0,0,1,12,16,16,3,0,0,0,0,0,12,16,7,0,0,6 +0,0,1,14,12,1,0,0,0,0,8,16,9,0,0,0,0,0,15,16,0,0,0,0,0,0,16,12,0,0,0,0,0,1,16,11,0,0,0,0,0,0,16,16,15,4,0,0,0,0,11,13,13,16,1,0,0,0,2,12,16,14,2,0,6 +0,0,13,16,12,0,0,0,0,8,16,14,16,0,0,0,0,12,13,7,16,1,0,0,0,5,8,10,15,0,0,0,0,0,1,16,9,0,0,0,0,0,8,16,3,0,0,0,0,0,14,15,8,9,6,0,0,0,16,16,15,11,3,0,2 +0,0,9,16,11,0,0,0,0,5,16,16,16,7,0,0,0,3,16,16,16,15,0,0,0,0,2,6,3,11,5,0,0,0,0,0,0,11,7,0,0,0,0,0,0,13,11,0,0,0,4,5,11,16,5,0,0,0,5,12,12,6,0,0,9 +0,0,1,11,15,2,0,0,0,0,11,14,10,13,0,0,0,2,15,4,0,15,3,0,0,3,13,0,0,9,7,0,0,6,9,0,0,10,8,0,0,2,12,0,0,11,8,0,0,0,13,5,6,16,3,0,0,0,2,14,16,11,1,0,0 +0,0,9,15,1,0,0,0,0,2,16,14,10,0,0,0,0,9,13,8,12,0,0,0,0,9,8,12,9,0,0,0,0,1,1,14,6,0,0,0,0,0,2,16,2,0,0,0,0,0,9,14,12,15,8,0,0,0,7,16,15,5,2,0,2 +0,2,8,9,14,10,0,0,0,3,11,9,13,16,0,0,0,0,0,0,15,14,0,0,0,0,0,0,16,8,0,0,0,0,0,0,15,13,1,0,0,0,0,0,6,16,8,0,0,0,1,6,15,14,3,0,0,0,14,11,7,1,0,0,3 +0,0,3,14,13,1,0,0,0,0,12,15,11,9,0,0,0,1,16,4,0,15,0,0,0,5,13,0,0,13,6,0,0,7,9,0,0,13,8,0,0,4,12,0,0,13,9,0,0,3,13,4,10,16,5,0,0,0,3,8,13,15,2,0,0 +0,2,5,10,16,6,0,0,0,4,12,13,16,5,0,0,0,0,0,5,16,0,0,0,0,0,0,11,11,0,0,0,0,0,0,11,13,2,0,0,0,0,0,1,12,15,4,0,0,0,0,0,7,16,8,0,0,0,1,13,16,11,2,0,3 +0,0,5,14,12,8,2,0,0,0,1,10,16,16,12,0,0,0,5,14,16,16,2,0,0,0,10,16,16,12,0,0,0,6,16,16,14,4,0,0,0,9,16,16,11,0,0,0,0,10,16,16,6,0,0,0,0,1,10,14,12,4,0,0,1 +0,0,9,16,13,15,5,0,0,4,16,11,10,13,5,0,0,12,11,0,0,0,0,0,0,8,14,3,0,0,0,0,0,0,10,15,0,0,0,0,0,0,0,15,5,0,0,0,0,0,2,16,7,0,0,0,0,0,14,13,1,0,0,0,5 +0,3,16,15,7,0,0,0,0,5,16,16,16,13,2,0,0,0,7,8,10,16,6,0,0,0,0,0,2,16,4,0,0,0,0,0,4,16,1,0,0,0,0,0,12,9,0,0,0,0,4,11,15,3,0,0,0,2,15,12,3,0,0,0,9 +0,0,13,16,16,16,2,0,0,1,16,16,12,9,0,0,0,8,16,8,0,0,0,0,0,10,16,1,0,0,0,0,0,7,16,13,0,0,0,0,0,0,9,16,10,0,0,0,0,0,11,16,12,0,0,0,0,0,15,14,6,0,0,0,5 +0,0,0,3,10,10,0,0,0,8,14,16,14,15,4,0,0,0,3,1,1,15,4,0,0,0,0,7,14,16,6,0,0,0,9,16,15,10,0,0,0,0,2,2,14,4,0,0,0,0,0,7,11,0,0,0,0,0,0,9,4,0,0,0,7 +0,0,12,16,6,0,0,0,0,3,15,12,12,0,0,0,0,6,12,8,12,0,0,0,0,3,14,11,10,0,0,0,0,0,5,16,3,0,0,0,0,0,13,12,0,0,0,0,0,8,16,12,7,5,2,0,0,0,12,13,10,10,4,0,2 +0,0,0,8,15,1,0,0,0,0,1,15,15,1,0,0,0,0,8,16,5,0,0,0,0,0,12,15,1,0,0,0,0,0,15,7,0,0,0,0,0,0,14,14,12,7,0,0,0,0,8,16,12,16,7,0,0,0,0,7,15,16,13,0,6 +0,0,3,15,14,12,12,5,0,0,0,9,12,14,16,7,0,0,0,0,1,13,14,0,0,4,9,10,11,16,13,0,0,3,12,14,16,14,5,0,0,0,0,8,16,4,0,0,0,0,1,15,8,0,0,0,0,0,4,15,0,0,0,0,7 +0,0,10,7,0,0,0,0,0,1,14,8,0,0,0,0,0,5,16,3,2,8,4,0,0,7,16,14,16,15,5,0,0,0,4,8,16,12,0,0,0,0,0,6,16,2,0,0,0,0,5,16,7,0,0,0,0,0,11,9,0,0,0,0,4 +0,0,0,8,15,2,0,0,0,0,0,13,16,3,0,0,0,0,4,16,14,0,0,0,0,0,7,16,7,0,0,0,0,0,9,16,2,0,0,0,0,0,12,16,4,0,0,0,0,0,8,16,16,8,0,0,0,0,0,6,15,15,0,0,6 +0,1,7,13,16,16,8,0,0,5,16,12,16,16,5,0,0,0,1,4,16,8,0,0,0,0,0,11,16,9,1,0,0,0,0,0,9,15,10,0,0,0,0,0,0,13,9,0,0,0,0,5,11,16,5,0,0,0,6,16,14,7,0,0,3 +0,0,6,16,12,1,0,0,0,8,15,5,16,4,0,0,0,13,6,4,16,3,0,0,0,3,3,5,16,0,0,0,0,0,0,13,12,0,0,0,0,0,3,16,9,0,0,0,0,0,10,16,6,4,1,0,0,0,4,15,16,16,14,0,2 +0,2,15,16,16,12,2,0,0,0,2,10,16,16,5,0,0,0,0,11,16,5,0,0,0,0,0,11,16,10,0,0,0,0,0,1,10,16,7,0,0,0,0,0,8,16,9,0,0,0,5,11,16,15,2,0,0,3,16,14,10,2,0,0,3 +0,2,14,13,16,13,0,0,0,0,7,8,14,14,0,0,0,0,0,0,13,12,0,0,0,0,11,13,16,14,5,0,0,0,8,16,16,12,5,0,0,0,3,16,7,0,0,0,0,0,11,14,1,0,0,0,0,2,16,8,0,0,0,0,7 +0,0,6,12,14,16,14,0,0,1,12,12,10,12,16,0,0,0,0,0,1,11,15,0,0,0,0,9,16,16,10,0,0,0,0,9,16,11,0,0,0,0,0,7,15,0,0,0,0,0,1,16,5,0,0,0,0,0,8,13,0,0,0,0,7 +0,0,3,12,0,0,0,0,0,0,7,16,2,0,0,0,0,0,13,11,1,7,1,0,0,6,16,16,16,16,8,0,0,2,11,14,16,13,0,0,0,0,0,13,15,3,0,0,0,0,4,16,12,0,0,0,0,0,5,12,6,0,0,0,4 +0,0,11,16,10,0,0,0,0,0,3,16,16,9,0,0,0,0,0,14,16,9,0,0,0,0,2,16,16,4,0,0,0,0,7,16,16,3,0,0,0,0,8,16,13,1,0,0,0,0,12,16,12,0,0,0,0,0,9,14,16,0,0,0,1 +0,0,5,10,14,8,0,0,0,8,16,13,16,15,0,0,0,0,0,1,16,8,0,0,0,0,0,6,16,2,0,0,0,0,0,5,16,14,2,0,0,0,0,0,6,16,8,0,0,0,1,10,14,15,1,0,0,0,2,13,10,2,0,0,3 +0,0,4,13,4,0,0,0,0,0,11,10,11,7,0,0,0,0,14,3,1,15,0,0,0,0,15,1,0,12,5,0,0,1,15,0,0,13,5,0,0,0,16,0,4,16,4,0,0,0,11,10,15,11,0,0,0,0,3,12,14,1,0,0,0 +0,0,2,15,12,1,0,0,0,0,7,15,15,9,0,0,0,0,5,15,7,16,2,0,0,0,1,13,14,16,7,0,0,0,0,4,13,15,10,0,0,0,0,0,0,14,11,0,0,0,0,1,8,16,10,0,0,0,2,13,16,15,3,0,9 +0,0,0,12,16,2,0,0,0,0,4,16,12,1,0,0,0,0,14,16,2,0,0,0,0,0,16,10,0,0,0,0,0,1,16,8,5,0,0,0,0,0,14,16,16,13,1,0,0,0,7,15,7,15,13,0,0,0,1,9,16,16,16,3,6 +0,0,3,12,15,2,0,0,0,2,15,6,0,0,0,0,0,4,14,2,9,14,8,0,0,1,13,16,14,4,0,0,0,0,8,16,6,0,0,0,0,0,11,11,15,0,0,0,0,0,11,5,12,2,0,0,0,0,3,12,15,3,0,0,8 +0,0,5,15,16,7,0,0,0,0,8,12,16,16,1,0,0,0,2,7,13,15,0,0,0,0,10,16,16,15,8,0,0,0,2,15,16,16,9,0,0,0,0,8,16,2,0,0,0,0,0,15,9,0,0,0,0,0,4,16,1,0,0,0,7 +0,3,15,16,8,0,0,0,0,10,16,15,13,0,0,0,0,6,9,12,12,0,0,0,0,0,0,14,8,0,0,0,0,0,5,16,4,0,0,0,0,0,13,12,0,1,4,0,0,4,16,14,12,15,9,0,0,3,16,16,13,8,0,0,2 +0,0,8,12,15,16,6,0,0,6,16,16,14,8,0,0,0,12,14,4,1,0,0,0,0,8,15,9,1,0,0,0,0,0,13,16,10,0,0,0,0,0,1,9,15,0,0,0,0,0,3,11,14,0,0,0,0,0,11,15,3,0,0,0,5 +0,0,7,10,0,0,0,0,0,0,12,13,11,6,0,0,0,3,16,16,16,16,6,0,0,8,13,4,5,15,6,0,0,8,12,0,0,10,8,0,0,6,14,1,5,15,4,0,0,4,16,16,16,13,0,0,0,1,12,14,9,1,0,0,0 +0,0,9,15,6,0,0,0,0,3,14,16,16,3,0,0,0,7,11,1,15,4,0,0,0,1,2,0,14,4,0,0,0,0,0,9,13,0,0,0,0,0,3,16,4,0,0,0,0,0,14,16,12,11,4,0,0,0,9,15,14,12,5,0,2 +0,0,6,12,11,6,0,0,0,0,8,16,16,16,3,0,0,0,8,16,16,13,0,0,0,0,8,16,16,12,0,0,0,0,10,16,16,12,0,0,0,3,15,16,16,7,0,0,0,3,15,16,16,2,0,0,0,0,3,8,9,5,0,0,1 +0,0,0,4,11,12,5,0,0,0,1,16,16,16,1,0,0,0,8,16,16,13,0,0,0,1,14,16,16,4,0,0,0,4,16,16,16,4,0,0,0,7,16,16,16,1,0,0,0,1,12,16,16,3,0,0,0,0,0,7,12,8,0,0,1 +0,7,16,15,4,0,0,0,0,11,10,7,13,0,0,0,0,2,3,4,12,0,0,0,0,0,0,12,12,0,0,0,0,0,4,16,6,0,0,0,0,0,13,13,0,0,0,0,0,6,16,16,16,16,8,0,0,4,15,16,16,13,3,0,2 +0,0,8,16,14,2,0,0,0,1,14,6,11,8,0,0,0,8,16,0,4,16,0,0,0,2,11,15,15,16,6,0,0,0,0,6,7,12,6,0,0,0,0,0,0,8,8,0,0,0,12,6,4,13,10,0,0,0,6,14,16,10,2,0,9 +0,0,6,15,15,2,0,0,0,0,9,16,16,5,0,0,0,0,9,16,16,1,0,0,0,0,11,16,16,1,0,0,0,0,14,16,14,2,0,0,0,0,14,16,14,0,0,0,0,0,15,16,15,4,0,0,0,0,5,16,12,0,0,0,1 +0,0,1,10,13,8,0,0,0,1,14,10,7,15,0,0,0,1,16,7,7,16,3,0,0,0,7,16,13,10,8,0,0,0,0,0,0,6,8,0,0,0,0,0,0,12,4,0,0,0,1,10,5,13,3,0,0,0,1,11,16,7,0,0,9 +0,0,0,6,15,1,0,0,0,0,2,15,11,0,0,0,0,0,8,15,1,0,0,0,0,7,16,3,0,6,6,0,0,9,16,16,13,15,12,0,0,1,6,10,16,16,8,0,0,0,0,1,16,10,1,0,0,0,0,6,16,2,0,0,4 +0,0,11,16,6,0,0,0,0,2,16,15,16,3,0,0,0,0,8,4,16,4,0,0,0,0,0,7,14,1,0,0,0,0,0,14,9,0,0,0,0,0,11,11,0,0,0,0,0,1,16,9,2,5,1,0,0,0,9,14,12,9,0,0,2 +0,2,13,11,5,0,0,0,0,1,8,13,16,8,0,0,0,0,0,0,12,16,0,0,0,0,0,7,16,11,0,0,0,0,0,9,16,7,0,0,0,0,0,1,9,16,5,0,0,2,8,5,7,16,6,0,0,3,14,16,13,8,0,0,3 +0,0,0,8,15,0,0,0,0,0,3,16,10,0,0,0,0,1,14,15,0,0,0,0,0,4,16,10,0,0,0,0,0,2,14,16,16,16,6,0,0,0,3,12,16,15,2,0,0,0,0,3,16,10,0,0,0,0,0,4,13,3,0,0,4 +0,0,1,13,11,0,0,0,0,0,11,16,3,0,0,0,0,2,16,11,0,1,2,0,0,8,16,13,8,14,10,0,0,3,15,16,16,16,3,0,0,0,3,9,16,11,0,0,0,0,0,12,16,6,0,0,0,0,0,15,13,3,0,0,4 +0,0,11,15,8,0,0,0,0,5,16,16,16,11,0,0,0,8,13,2,9,16,3,0,0,8,15,0,0,15,4,0,0,8,12,0,0,13,6,0,0,8,15,0,1,16,3,0,0,4,16,14,16,9,0,0,0,0,11,16,12,0,0,0,0 +0,0,7,7,4,4,0,0,0,0,16,16,16,16,4,0,0,1,16,16,8,12,8,0,0,6,15,7,0,12,5,0,0,6,12,0,0,13,4,0,0,5,12,0,8,14,1,0,0,4,16,11,15,7,0,0,0,0,8,15,7,0,0,0,0 +0,0,3,12,2,0,0,0,0,0,9,16,3,0,0,0,0,0,16,10,0,0,0,0,0,1,16,6,0,0,0,0,0,5,16,10,8,3,0,0,0,6,16,16,16,16,5,0,0,0,13,16,8,16,4,0,0,0,1,11,15,14,0,0,6 +0,0,4,8,16,13,0,0,0,3,16,16,14,16,2,0,0,4,16,6,0,12,4,0,0,4,12,0,0,12,6,0,0,5,12,0,0,12,3,0,0,4,16,6,6,14,0,0,0,0,12,16,16,7,0,0,0,0,4,12,8,0,0,0,0 +0,0,7,16,7,0,0,0,0,4,16,9,10,11,2,0,0,11,10,0,11,14,1,0,0,6,14,7,14,7,0,0,0,0,11,16,12,0,0,0,0,0,13,12,15,1,0,0,0,4,16,7,14,2,0,0,0,0,8,16,10,0,0,0,8 +0,0,7,16,15,0,0,0,0,5,16,16,16,0,0,0,0,3,8,8,16,0,0,0,0,0,2,15,8,0,0,0,0,0,5,16,3,0,0,0,0,0,15,10,0,2,1,0,0,0,15,16,12,16,8,0,0,0,6,16,16,15,3,0,2 +0,0,0,9,15,0,0,0,0,0,5,16,12,0,0,0,0,0,13,15,2,0,0,0,0,5,16,8,0,0,0,0,0,11,16,2,2,8,3,0,0,13,16,14,15,16,6,0,0,3,15,16,16,12,0,0,0,0,2,12,16,5,0,0,4 +0,0,1,11,13,0,0,0,0,0,5,16,3,0,0,0,0,1,15,9,0,0,0,0,0,6,15,1,0,4,6,0,0,9,16,11,9,16,8,0,0,1,9,12,16,12,1,0,0,0,0,4,16,4,0,0,0,0,0,14,11,0,0,0,4 +0,0,0,13,7,0,0,0,0,0,9,16,4,0,0,0,0,1,14,11,0,0,0,0,0,7,16,7,6,16,5,0,0,0,10,14,16,14,1,0,0,0,0,8,16,6,0,0,0,0,0,15,6,0,0,0,0,0,0,16,9,0,0,0,4 +0,0,12,13,9,6,2,0,0,4,16,16,16,16,7,0,0,7,13,3,5,3,0,0,0,7,14,5,0,0,0,0,0,4,16,16,5,0,0,0,0,1,9,16,12,0,0,0,0,0,5,12,12,0,0,0,0,0,8,15,5,0,0,0,5 +0,0,0,6,14,2,0,0,0,0,2,14,12,0,0,0,0,0,7,15,1,0,0,0,0,0,13,10,0,0,0,0,0,1,16,11,8,4,0,0,0,1,15,16,16,16,8,0,0,0,8,13,2,4,15,1,0,0,0,7,14,16,14,1,6 +0,0,8,16,10,0,0,0,0,2,16,13,16,0,0,0,0,2,8,4,14,0,0,0,0,0,0,8,10,0,0,0,0,0,0,13,6,0,0,0,0,0,6,15,0,0,0,0,0,0,12,15,12,8,2,0,0,0,8,15,10,8,1,0,2 +0,0,3,11,12,4,0,0,0,2,15,10,16,12,0,0,0,5,11,0,11,14,4,0,0,8,8,0,0,5,8,0,0,6,8,0,0,4,8,0,0,4,10,0,0,10,5,0,0,1,14,5,7,14,0,0,0,0,7,15,10,1,0,0,0 +0,0,0,7,10,0,0,0,0,0,7,16,5,0,0,0,0,0,14,11,0,0,0,0,0,4,16,5,4,8,0,0,0,3,16,16,16,14,0,0,0,1,6,8,16,7,0,0,0,0,0,3,16,5,0,0,0,0,0,9,13,2,0,0,4 +0,0,4,12,0,0,0,0,0,0,14,6,0,0,0,0,0,4,16,4,0,0,0,0,0,7,16,1,0,0,0,0,0,8,16,16,16,13,1,0,0,5,16,7,9,16,5,0,0,1,14,12,4,16,5,0,0,0,3,15,16,8,0,0,6 +0,0,8,12,14,10,1,0,0,3,16,12,9,15,8,0,0,1,6,0,8,14,4,0,0,0,0,4,16,7,0,0,0,0,0,2,15,7,0,0,0,0,0,0,6,16,1,0,0,0,8,7,8,16,3,0,0,0,6,14,11,6,0,0,3 +0,0,4,16,14,3,0,0,0,3,16,16,16,15,2,0,0,8,16,2,1,14,6,0,0,8,16,0,0,5,8,0,0,5,15,0,0,4,8,0,0,0,16,6,0,9,7,0,0,0,14,14,8,16,3,0,0,0,3,14,16,13,0,0,0 +0,2,12,13,11,1,0,0,0,4,12,12,16,7,0,0,0,0,0,5,16,5,0,0,0,0,0,16,16,1,0,0,0,0,0,4,15,15,0,0,0,0,0,0,1,16,5,0,0,2,8,5,8,16,3,0,0,2,10,16,14,8,0,0,3 +0,0,0,8,15,4,0,0,0,0,0,13,16,13,0,0,0,1,1,10,3,13,6,0,0,5,8,0,0,6,8,0,0,7,11,0,0,4,8,0,0,3,15,7,0,4,9,0,0,0,7,16,13,11,12,0,0,0,0,6,15,16,4,0,0 +0,0,4,13,16,12,0,0,0,0,7,9,13,15,0,0,0,0,0,3,11,11,0,0,0,0,7,16,16,14,6,0,0,0,5,13,16,12,5,0,0,0,1,11,4,0,0,0,0,0,6,14,0,0,0,0,0,0,6,9,0,0,0,0,7 +0,0,3,13,15,16,16,3,0,0,10,16,13,13,11,1,0,0,11,16,11,4,0,0,0,0,4,13,16,15,1,0,0,0,0,2,13,16,1,0,0,0,0,0,6,16,0,0,0,0,0,5,15,7,0,0,0,0,3,16,9,0,0,0,5 +0,0,0,8,14,15,2,0,0,0,9,12,4,13,7,0,0,0,14,13,8,14,3,0,0,0,3,16,16,16,2,0,0,0,0,0,0,15,0,0,0,0,3,0,1,16,1,0,0,0,14,13,9,14,0,0,0,0,2,10,12,4,0,0,9 +0,5,14,10,4,0,0,0,0,3,12,16,16,6,0,0,0,0,1,13,16,5,0,0,0,0,8,16,13,2,0,0,0,0,5,16,13,2,0,0,0,0,0,6,16,15,4,0,0,1,8,9,15,16,5,0,0,4,15,14,8,4,0,0,3 +0,0,7,16,16,7,0,0,0,3,16,16,16,11,0,0,0,1,6,4,16,7,0,0,0,0,0,9,15,2,0,0,0,0,1,14,8,0,0,0,0,0,7,16,5,4,1,0,0,0,10,16,16,16,5,0,0,0,7,16,16,7,0,0,2 +0,1,8,16,15,1,0,0,0,8,12,14,16,0,0,0,0,0,1,16,11,0,0,0,0,0,4,16,12,2,0,0,0,0,1,9,15,16,2,0,0,0,2,0,0,15,8,0,0,1,16,14,5,15,7,0,0,0,7,13,14,10,1,0,3 +0,3,15,16,13,5,0,0,0,7,16,12,14,15,1,0,0,1,6,0,11,15,1,0,0,0,0,16,16,5,0,0,0,0,0,6,15,15,2,0,0,0,0,0,2,16,7,0,0,3,8,2,6,16,4,0,0,2,12,16,16,9,0,0,3 +0,0,3,12,14,16,14,0,0,0,1,8,7,10,14,0,0,0,0,5,4,13,9,0,0,0,5,16,16,16,10,0,0,0,3,8,16,5,0,0,0,0,0,11,9,0,0,0,0,0,3,16,1,0,0,0,0,0,7,9,0,0,0,0,7 +0,0,3,13,7,0,0,0,0,0,12,16,16,11,0,0,0,1,16,16,10,16,3,0,0,7,16,14,0,14,4,0,0,1,16,9,0,12,5,0,0,0,15,8,4,16,4,0,0,0,12,16,16,12,1,0,0,0,5,15,11,1,0,0,0 +0,0,7,16,15,5,0,0,0,0,5,8,11,15,4,0,0,0,0,1,14,13,1,0,0,0,0,10,16,3,0,0,0,0,0,5,16,5,0,0,0,0,2,0,11,12,0,0,0,3,15,11,12,15,0,0,0,0,8,13,11,3,0,0,3 +0,0,3,9,14,4,0,0,0,1,16,15,13,10,2,0,0,1,15,5,1,13,12,0,0,0,15,12,11,16,3,0,0,0,4,16,16,9,0,0,0,0,11,16,16,7,0,0,0,0,15,16,16,8,0,0,0,0,3,13,15,4,0,0,8 +0,2,10,15,11,4,0,0,0,2,10,6,13,12,0,0,0,0,0,2,13,9,0,0,0,0,0,15,16,0,0,0,0,0,0,11,16,9,0,0,0,0,0,0,2,15,11,0,0,0,1,3,11,14,2,0,0,2,15,16,11,1,0,0,3 +0,0,5,15,8,0,0,0,0,2,15,9,10,3,1,0,0,6,9,7,11,14,1,0,0,2,15,13,8,2,0,0,0,1,15,6,0,0,0,0,0,1,16,12,0,0,0,0,0,1,16,13,1,0,0,0,0,0,8,15,3,0,0,0,8 +0,0,5,14,11,0,0,0,0,0,13,16,14,0,0,0,0,0,6,9,12,0,0,0,0,0,0,10,8,0,0,0,0,0,1,15,3,0,0,0,0,0,8,14,0,0,0,0,0,0,11,16,12,15,1,0,0,0,6,16,16,7,0,0,2 +0,0,4,15,3,0,0,0,0,0,8,16,1,0,0,0,0,0,14,13,0,0,0,0,0,3,16,10,4,3,0,0,0,8,16,16,16,16,5,0,0,8,16,6,4,14,8,0,0,5,16,11,8,16,5,0,0,0,6,15,16,11,0,0,6 +0,0,7,14,4,0,0,0,0,1,16,16,16,7,0,0,0,4,16,16,16,14,0,0,0,0,13,16,16,11,0,0,0,0,8,16,16,1,0,0,0,0,10,16,16,6,0,0,0,0,11,16,16,13,0,0,0,0,6,12,13,10,0,0,8 +0,0,2,11,11,3,0,0,0,0,2,16,16,16,4,0,0,0,1,16,16,16,4,0,0,0,3,16,16,16,3,0,0,0,7,16,16,15,2,0,0,0,10,16,16,14,1,0,0,0,8,16,16,12,0,0,0,0,1,5,8,9,2,0,1 +0,1,7,12,12,2,0,0,0,10,16,16,16,10,0,0,0,0,2,1,16,8,0,0,0,0,0,1,16,9,0,0,0,0,0,2,16,14,0,0,0,0,0,0,4,15,5,0,0,0,3,7,7,16,10,0,0,0,7,16,16,12,0,0,3 +0,0,5,12,14,5,0,0,0,2,16,13,16,6,0,0,0,0,0,3,16,4,0,0,0,0,0,15,16,5,0,0,0,0,0,4,11,16,4,0,0,0,0,0,1,16,4,0,0,0,6,12,13,15,1,0,0,0,8,12,11,3,0,0,3 +0,0,5,11,15,8,0,0,0,4,14,8,10,16,0,0,0,8,13,1,15,12,0,0,0,4,16,15,16,13,0,0,0,0,4,12,13,16,4,0,0,0,4,1,0,14,8,0,0,0,13,13,6,14,7,0,0,0,2,14,14,9,2,0,9 +0,0,9,16,7,0,0,0,0,0,16,16,14,0,0,0,0,0,3,13,16,0,0,0,0,0,7,16,16,12,8,0,0,0,8,16,16,16,9,0,0,0,0,14,11,0,0,0,0,0,4,16,5,0,0,0,0,0,7,12,0,0,0,0,7 +0,1,14,16,14,4,0,0,0,3,16,8,8,14,0,0,0,0,15,14,13,9,0,0,0,0,3,11,16,4,0,0,0,0,0,0,12,12,0,0,0,0,0,0,4,16,3,0,0,0,3,4,3,16,1,0,0,0,12,14,16,14,1,0,9 +0,0,8,15,16,12,0,0,0,5,16,12,15,14,0,0,0,1,5,1,15,8,0,0,0,0,4,14,16,4,0,0,0,0,3,16,16,14,1,0,0,0,0,0,7,16,4,0,0,0,4,15,16,14,1,0,0,0,9,16,12,3,0,0,3 +0,0,1,7,11,13,11,5,0,0,7,16,16,13,16,4,0,0,14,8,0,0,0,0,0,4,16,9,8,5,0,0,0,8,16,16,16,16,2,0,0,2,4,4,12,15,0,0,0,0,0,7,16,5,0,0,0,0,0,12,5,0,0,0,5 +0,0,6,15,16,7,0,0,0,1,16,12,15,13,0,0,0,0,0,3,16,11,0,0,0,0,5,16,11,0,0,0,0,0,5,13,16,12,0,0,0,0,0,0,9,15,1,0,0,0,5,9,14,15,0,0,0,0,5,16,11,4,0,0,3 +0,1,11,16,15,6,0,0,0,2,16,7,6,13,2,0,0,0,10,13,14,16,3,0,0,0,2,9,9,12,3,0,0,0,0,0,0,12,4,0,0,0,0,0,0,9,7,0,0,0,0,0,3,14,3,0,0,0,9,16,16,11,2,0,9 +0,0,9,16,6,0,0,0,0,0,15,10,15,2,0,0,0,0,5,2,16,2,0,0,0,0,2,7,16,3,0,0,0,7,16,16,16,16,8,0,0,1,5,14,6,0,1,0,0,0,9,12,0,0,0,0,0,0,10,8,0,0,0,0,7 +0,0,0,7,15,0,0,0,0,0,7,16,10,0,0,0,0,1,16,9,0,12,8,0,0,9,14,1,5,16,7,0,0,8,15,8,12,16,9,0,0,3,15,16,16,11,1,0,0,0,0,7,16,1,0,0,0,0,0,7,13,0,0,0,4 +0,0,6,14,14,2,0,0,0,0,15,11,9,10,0,0,0,3,14,0,0,7,5,0,0,4,12,0,0,4,8,0,0,4,13,0,0,11,8,0,0,5,13,0,4,16,3,0,0,0,16,14,16,7,0,0,0,0,10,15,7,0,0,0,0 +0,0,9,16,14,4,0,0,0,1,10,8,16,13,0,0,0,0,0,0,15,11,0,0,0,0,1,12,16,3,0,0,0,0,2,14,16,13,0,0,0,0,0,0,7,16,2,0,0,0,1,4,9,15,2,0,0,0,11,16,13,3,0,0,3 +0,0,2,10,12,14,16,12,0,0,8,16,16,16,14,4,0,0,2,16,12,4,0,0,0,0,1,16,15,2,0,0,0,0,0,8,16,11,0,0,0,0,0,0,13,16,0,0,0,0,0,7,16,11,0,0,0,0,1,16,11,1,0,0,5 +0,0,0,9,14,16,12,0,0,0,10,14,6,11,15,1,0,0,11,15,16,16,8,0,0,0,0,0,1,15,9,0,0,0,0,0,5,15,0,0,0,0,0,1,14,5,0,0,0,0,0,6,12,0,0,0,0,0,0,12,5,0,0,0,9 +0,0,3,15,12,1,0,0,0,0,11,14,8,11,0,0,0,0,15,1,0,13,1,0,0,5,14,0,0,9,5,0,0,5,12,0,0,11,2,0,0,0,16,1,2,15,2,0,0,0,14,13,14,12,0,0,0,0,2,14,8,1,0,0,0 +0,0,5,14,16,9,0,0,0,0,8,16,14,16,5,0,0,0,7,16,13,16,4,0,0,8,13,16,16,12,0,0,0,3,15,16,12,2,0,0,0,0,14,16,12,1,0,0,0,0,15,16,16,4,0,0,0,0,7,16,11,1,0,0,8 +0,0,0,5,8,0,0,0,0,0,4,16,2,0,14,0,0,0,9,8,0,8,8,0,0,2,15,0,1,15,0,0,0,10,9,4,9,15,1,0,0,11,16,16,16,11,1,0,0,3,4,7,9,0,0,0,0,0,0,8,5,0,0,0,4 +0,0,3,14,16,9,0,0,0,0,8,14,11,16,1,0,0,10,11,15,15,11,0,0,0,4,13,16,12,1,0,0,0,2,16,14,14,0,0,0,0,4,14,0,13,8,0,0,0,2,13,4,13,16,0,0,0,0,3,14,12,7,0,0,8 +0,0,9,16,12,3,0,0,0,0,9,16,16,7,0,0,0,0,8,16,14,2,0,0,0,0,14,16,14,0,0,0,0,0,15,16,16,1,0,0,0,2,15,16,14,1,0,0,0,0,14,16,8,0,0,0,0,0,12,16,10,0,0,0,1 +0,0,7,13,16,5,0,0,0,6,8,8,14,9,0,0,0,0,0,0,15,5,0,0,0,0,0,12,11,0,0,0,0,0,6,15,1,0,0,0,0,0,12,4,0,0,0,0,0,0,11,10,8,8,4,0,0,0,6,15,16,12,4,0,2 +0,0,4,12,14,6,0,0,0,5,16,11,9,16,2,0,0,12,16,2,4,16,3,0,0,6,16,14,14,14,0,0,0,0,1,11,16,1,0,0,0,0,1,14,16,9,0,0,0,0,5,16,9,15,1,0,0,0,2,12,13,8,0,0,8 +0,0,0,13,9,1,0,0,0,0,9,16,16,11,0,0,0,0,8,14,5,16,3,0,0,1,7,10,0,12,6,0,0,6,14,14,2,10,9,0,0,4,16,16,12,16,10,0,0,0,11,16,16,15,4,0,0,0,2,13,16,7,0,0,0 +0,0,8,16,16,8,0,0,0,5,15,8,16,14,0,0,0,1,2,2,15,11,0,0,0,0,3,13,16,9,1,0,0,0,8,16,15,15,10,0,0,0,2,2,3,16,6,0,0,0,7,14,16,12,1,0,0,0,14,16,7,0,0,0,3 +0,0,10,16,16,9,0,0,0,2,15,12,14,16,1,0,0,1,4,4,13,16,5,0,0,0,10,16,16,16,13,0,0,0,5,15,16,6,1,0,0,0,0,16,11,0,0,0,0,0,9,16,3,0,0,0,0,0,11,12,0,0,0,0,7 +0,0,3,13,1,0,0,0,0,0,13,12,0,0,0,0,0,3,16,1,0,0,0,0,0,2,14,1,1,4,0,0,0,5,14,6,14,16,7,0,0,1,16,16,11,5,15,0,0,0,10,16,14,16,11,0,0,0,2,12,16,13,0,0,6 +0,0,7,15,16,16,13,0,0,2,16,9,8,14,16,0,0,1,2,0,4,16,8,0,0,0,0,0,10,15,2,0,0,0,0,0,7,16,8,0,0,0,0,0,3,16,8,0,0,0,0,5,15,13,1,0,0,0,9,16,11,2,0,0,3 +0,0,3,14,16,8,0,0,0,2,15,15,16,14,5,0,0,3,16,16,16,16,14,1,0,0,6,5,8,16,6,0,0,0,0,0,12,13,0,0,0,0,0,5,16,3,0,0,0,0,0,14,8,0,0,0,0,0,4,15,1,0,0,0,9 +0,0,2,15,16,14,5,0,0,0,5,15,8,13,11,0,0,2,11,12,7,15,8,0,0,7,16,16,16,8,1,0,0,2,15,16,8,0,0,0,0,0,7,16,12,0,0,0,0,0,4,16,16,0,0,0,0,0,2,14,14,0,0,0,8 +0,0,6,8,10,12,11,0,0,1,16,16,16,12,3,0,0,4,16,8,1,0,0,0,0,6,14,0,0,0,0,0,0,1,14,12,3,0,0,0,0,0,5,15,16,6,0,0,0,0,0,4,16,10,0,0,0,0,6,14,7,1,0,0,5 +0,0,5,10,12,15,5,0,0,1,13,16,15,8,2,0,0,7,16,5,0,0,0,0,0,1,13,12,3,0,0,0,0,0,1,9,16,5,0,0,0,0,0,0,11,12,0,0,0,0,0,8,15,6,0,0,0,0,6,12,3,0,0,0,5 +0,0,8,15,15,5,0,0,0,6,16,7,5,14,2,0,0,8,16,6,6,16,3,0,0,0,9,16,15,9,0,0,0,1,12,16,13,0,0,0,0,3,15,4,13,7,0,0,0,3,8,0,10,9,0,0,0,0,7,14,14,4,0,0,8 +0,0,12,4,0,0,0,0,0,0,15,4,0,0,0,0,0,2,15,2,0,0,0,0,0,2,15,6,12,8,0,0,0,7,16,14,9,10,6,0,0,4,16,14,3,1,10,0,0,3,16,13,15,16,5,0,0,0,10,15,10,3,0,0,6 +0,0,1,9,15,16,14,1,0,0,12,15,11,14,13,1,0,0,16,16,16,16,6,0,0,0,4,8,8,14,14,0,0,0,0,0,3,14,7,0,0,0,0,1,12,11,0,0,0,0,0,8,14,1,0,0,0,0,0,15,7,0,0,0,9 +0,0,11,3,0,0,0,0,0,2,16,4,0,0,0,0,0,4,15,0,0,0,0,0,0,4,14,6,12,11,1,0,0,7,16,16,15,14,8,0,0,4,16,15,3,9,11,0,0,1,16,16,16,16,6,0,0,0,7,14,13,5,0,0,6 +0,0,0,3,15,6,0,0,0,0,1,13,13,1,0,0,0,0,10,16,9,8,1,0,0,3,16,10,12,16,1,0,0,9,16,5,16,13,3,0,0,7,16,16,16,16,11,0,0,0,0,7,16,7,0,0,0,0,0,3,16,8,0,0,4 +0,0,6,15,16,16,16,11,0,0,10,15,16,14,10,2,0,0,3,16,8,0,0,0,0,0,3,16,13,1,0,0,0,0,0,9,16,9,0,0,0,0,0,0,15,15,1,0,0,0,0,10,15,7,0,0,0,0,5,15,3,0,0,0,5 +0,0,2,11,13,16,11,0,0,0,9,16,13,16,10,0,0,0,14,16,16,16,16,4,0,0,6,11,9,14,14,0,0,0,0,0,6,16,4,0,0,0,0,2,15,7,0,0,0,0,0,13,13,0,0,0,0,0,3,15,4,0,0,0,9 +0,0,6,15,12,1,0,0,0,8,13,4,10,8,0,0,0,2,0,0,15,6,0,0,0,0,0,6,16,5,0,0,0,0,0,16,16,16,5,0,0,0,4,5,1,16,7,0,0,2,16,10,14,15,0,0,0,0,6,13,9,1,0,0,3 +0,0,5,10,13,16,9,0,0,2,16,16,11,8,2,0,0,1,15,9,0,0,0,0,0,0,9,16,9,1,0,0,0,0,0,1,13,11,0,0,0,0,0,0,2,15,0,0,0,0,0,4,15,5,0,0,0,0,7,14,3,0,0,0,5 +0,0,7,16,13,2,0,0,0,2,16,12,13,12,0,0,0,14,15,4,15,8,0,0,0,5,15,16,15,4,0,0,0,0,10,16,13,0,0,0,0,0,15,10,14,2,0,0,0,0,13,3,12,6,0,0,0,0,4,15,15,3,0,0,8 +0,0,0,3,11,15,1,0,0,0,6,16,16,16,9,0,0,2,16,16,16,13,14,0,0,0,11,8,1,9,9,0,0,0,0,0,1,15,0,0,0,0,0,0,6,10,0,0,0,0,0,0,12,3,0,0,0,0,0,0,13,0,0,0,9 +0,0,7,8,12,16,12,0,0,1,16,16,16,15,6,0,0,10,16,7,1,0,0,0,0,8,16,9,1,0,0,0,0,0,9,16,12,0,0,0,0,0,0,8,16,4,0,0,0,0,5,14,14,1,0,0,0,0,9,15,3,0,0,0,5 +0,0,5,15,12,1,0,0,0,0,14,14,14,13,0,0,0,3,13,0,1,14,3,0,0,4,11,0,0,10,8,0,0,5,15,0,0,5,8,0,0,2,15,2,0,7,8,0,0,0,12,14,13,16,4,0,0,0,4,14,16,8,0,0,0 +0,2,15,16,6,0,0,0,0,3,14,14,16,2,0,0,0,0,0,6,16,2,0,0,0,0,0,11,16,1,0,0,0,8,14,16,16,16,5,0,0,10,16,15,11,12,5,0,0,5,16,7,0,0,0,0,0,5,14,1,0,0,0,0,7 +0,2,15,16,11,0,0,0,0,4,15,14,16,3,0,0,0,0,0,10,16,2,0,0,0,0,0,13,13,0,0,0,0,0,6,16,4,0,0,0,0,1,11,13,0,0,0,0,0,8,16,14,13,16,6,0,0,3,16,16,11,6,0,0,2 +0,0,2,15,9,2,0,0,0,0,5,16,15,0,0,0,0,0,8,16,10,0,0,0,0,0,7,16,9,0,0,0,0,0,13,16,10,0,0,0,0,0,8,16,8,0,0,0,0,0,8,16,10,0,0,0,0,0,4,14,8,0,0,0,1 +0,0,1,8,15,16,9,0,0,1,12,15,9,13,14,0,0,5,13,2,0,13,11,0,0,3,5,0,1,15,7,0,0,0,0,2,10,16,9,0,0,0,0,14,16,11,1,0,0,0,0,13,14,0,0,0,0,0,0,12,5,0,0,0,7 +0,0,2,15,13,3,0,0,0,0,2,16,16,6,0,0,0,0,3,16,16,5,0,0,0,0,4,16,16,0,0,0,0,0,7,16,13,0,0,0,0,0,9,16,7,0,0,0,0,0,11,16,9,0,0,0,0,0,4,13,12,1,0,0,1 +0,0,6,15,16,16,7,0,0,0,8,13,15,16,7,0,0,0,1,15,14,8,0,0,0,0,2,16,16,13,2,0,0,0,0,3,11,16,5,0,0,0,0,0,7,16,4,0,0,0,1,10,15,11,0,0,0,0,6,16,9,0,0,0,3 +0,0,7,16,15,4,0,0,0,0,14,6,5,15,2,0,0,1,16,0,6,15,0,0,0,2,16,10,16,8,0,0,0,0,9,16,13,0,0,0,0,0,10,12,15,7,0,0,0,1,16,3,5,13,0,0,0,0,9,15,14,7,0,0,8 +0,0,4,14,4,0,0,0,0,0,13,10,1,0,0,0,0,6,15,1,0,0,0,0,0,7,12,0,0,0,0,0,0,8,7,10,16,14,0,0,0,5,14,16,14,16,7,0,0,2,16,16,12,16,8,0,0,0,6,15,14,8,1,0,6 +0,0,10,16,12,0,0,0,0,7,16,13,16,1,0,0,0,6,5,6,15,2,0,0,0,0,0,10,12,0,0,0,0,0,0,14,9,0,0,0,0,0,6,15,5,0,0,0,0,0,16,15,16,12,3,0,0,0,12,16,15,12,5,0,2 +0,0,2,8,9,12,12,0,0,0,10,16,15,10,4,0,0,0,13,14,1,0,0,0,0,3,16,12,2,0,0,0,0,0,3,10,15,12,0,0,0,0,0,0,8,16,0,0,0,0,0,8,14,6,0,0,0,0,0,13,4,0,0,0,5 +0,1,7,12,14,5,0,0,0,3,13,8,14,10,0,0,0,0,0,3,16,2,0,0,0,0,0,13,12,3,0,0,0,0,0,8,13,16,4,0,0,0,0,0,4,14,3,0,0,0,1,12,16,9,0,0,0,0,9,13,5,0,0,0,3 +0,0,1,15,13,2,0,0,0,0,8,16,13,9,0,0,0,0,9,11,2,12,2,0,0,5,16,7,0,9,6,0,0,4,16,8,0,9,9,0,0,1,15,4,0,13,8,0,0,0,10,14,12,16,5,0,0,0,1,13,15,8,0,0,0 +0,0,8,16,14,1,0,0,0,0,6,10,16,8,0,0,0,0,0,0,14,7,0,0,0,0,0,1,16,9,2,0,0,4,15,16,16,16,10,0,0,1,8,15,11,4,1,0,0,0,7,15,1,0,0,0,0,0,11,11,0,0,0,0,7 +0,0,0,7,16,11,0,0,0,0,9,16,16,16,16,7,0,0,10,16,16,12,16,4,0,0,3,8,4,13,9,0,0,0,0,0,7,14,0,0,0,0,0,0,15,4,0,0,0,0,0,5,13,0,0,0,0,0,0,8,16,1,0,0,9 +0,0,6,16,0,0,0,0,0,0,13,7,0,0,0,0,0,2,16,0,0,0,0,0,0,0,16,3,0,0,0,0,0,4,15,10,10,4,0,0,0,5,16,14,8,13,8,0,0,2,16,13,11,15,11,0,0,0,5,12,13,7,0,0,6 +0,0,7,16,14,0,0,0,0,0,11,16,16,0,0,0,0,0,1,10,15,0,0,0,0,0,0,13,11,0,0,0,0,0,2,16,3,0,0,0,0,0,6,15,0,2,0,0,0,0,10,16,16,14,0,0,0,0,6,16,16,9,0,0,2 +0,0,4,15,16,5,0,0,0,0,7,16,16,13,0,0,0,0,15,16,16,9,0,0,0,0,13,16,16,7,0,0,0,2,14,16,16,7,0,0,0,0,10,16,16,5,0,0,0,0,6,16,16,10,2,0,0,0,2,10,14,3,0,0,1 +0,0,4,14,1,0,0,0,0,0,12,10,0,0,0,0,0,0,15,5,0,0,0,0,0,3,16,2,8,2,0,0,0,4,16,16,13,15,2,0,0,4,16,12,0,8,9,0,0,1,13,13,8,14,8,0,0,0,3,12,12,8,0,0,6 +0,0,2,11,15,16,10,0,0,0,13,14,10,15,11,0,0,0,11,2,1,16,3,0,0,0,0,0,8,15,2,0,0,0,0,11,16,16,10,0,0,0,1,16,13,4,1,0,0,0,0,14,6,0,0,0,0,0,2,16,2,0,0,0,7 +0,0,0,3,14,8,0,0,0,0,0,13,12,1,2,0,0,1,11,13,1,7,14,0,0,5,15,3,0,13,8,0,0,13,14,8,11,16,7,0,0,10,16,16,16,12,3,0,0,0,0,3,16,5,0,0,0,0,0,3,15,0,0,0,4 +0,0,3,12,15,9,1,0,0,2,16,13,9,14,10,0,0,6,16,8,0,11,10,0,0,4,16,16,14,16,4,0,0,0,4,12,16,15,0,0,0,0,1,11,16,16,2,0,0,0,7,16,16,14,0,0,0,0,3,15,13,2,0,0,8 +0,2,11,15,16,10,0,0,0,5,12,9,16,15,0,0,0,0,0,11,15,5,0,0,0,0,11,16,3,0,0,0,0,0,8,15,16,8,0,0,0,0,0,2,9,16,5,0,0,0,7,11,15,14,3,0,0,0,15,13,7,0,0,0,3 +0,0,8,14,14,4,0,0,0,0,6,14,16,11,1,0,0,0,3,15,16,15,3,0,0,0,1,16,16,13,0,0,0,0,2,16,16,8,0,0,0,0,10,16,16,6,0,0,0,1,14,16,15,2,0,0,0,0,12,16,8,0,0,0,1 +0,0,7,16,16,1,0,0,0,0,7,16,16,7,0,0,0,0,9,16,16,9,0,0,0,0,11,16,16,13,0,0,0,0,6,16,16,16,2,0,0,0,2,16,16,15,1,0,0,0,6,16,16,16,2,0,0,0,6,14,15,9,2,0,1 +0,0,0,11,16,2,7,0,0,0,7,16,7,10,13,0,0,2,16,7,4,16,9,0,0,6,16,13,12,16,15,0,0,1,11,16,16,12,3,0,0,0,0,2,16,2,0,0,0,0,0,7,12,0,0,0,0,0,0,11,9,0,0,0,4 +0,0,5,16,11,2,0,0,0,6,16,8,10,14,2,0,0,2,16,16,16,16,8,0,0,0,9,12,7,16,4,0,0,0,0,0,0,16,0,0,0,0,0,0,7,11,0,0,0,0,0,7,15,3,0,0,0,0,8,13,1,0,0,0,9 +0,0,5,13,15,5,0,0,0,0,13,16,12,16,2,0,0,5,16,4,0,15,4,0,0,6,16,1,0,11,8,0,0,8,16,1,1,14,6,0,0,4,16,8,6,16,6,0,0,0,14,16,16,10,0,0,0,0,7,15,14,0,0,0,0 +0,0,8,12,0,0,0,0,0,1,13,8,0,0,0,0,0,4,13,0,0,0,0,0,0,2,14,0,0,0,0,0,0,5,12,7,12,8,0,0,0,5,16,16,16,16,8,0,0,1,14,16,13,15,8,0,0,0,6,15,16,11,0,0,6 +0,5,16,12,0,0,0,0,0,11,16,16,5,0,0,0,0,0,2,16,8,0,0,0,0,0,2,16,8,0,0,0,0,0,7,16,4,0,0,0,0,2,15,11,0,0,0,0,0,10,16,16,16,16,9,0,0,8,16,14,9,8,3,0,2 +0,0,2,14,8,0,0,0,0,0,10,16,16,2,0,0,0,0,9,16,16,1,0,0,0,0,10,16,14,1,0,0,0,0,7,16,16,4,0,0,0,0,5,16,13,2,0,0,0,0,4,16,15,1,0,0,0,0,0,8,15,2,0,0,1 +0,0,3,14,9,1,0,0,0,0,8,16,13,0,0,0,0,0,10,16,15,1,0,0,0,0,8,16,15,0,0,0,0,0,10,16,15,1,0,0,0,0,6,16,16,1,0,0,0,0,3,16,15,2,0,0,0,0,2,12,16,3,0,0,1 +0,0,9,13,13,9,1,0,0,0,16,9,4,14,6,0,0,0,2,0,8,13,0,0,0,0,0,10,16,7,0,0,0,0,0,2,6,15,4,0,0,0,0,0,0,8,8,0,0,6,4,0,2,15,4,0,0,2,10,15,15,7,0,0,3 +0,0,10,16,16,15,5,0,0,0,5,5,7,15,10,0,0,0,0,0,1,16,7,0,0,0,6,12,13,16,3,0,0,0,7,14,16,13,7,0,0,0,0,13,11,0,0,0,0,0,6,16,2,0,0,0,0,0,13,11,0,0,0,0,7 +0,0,7,16,16,16,5,0,0,0,3,6,4,13,14,0,0,0,0,0,0,11,12,0,0,0,0,0,3,15,3,0,0,0,7,16,16,16,9,0,0,0,2,10,14,4,1,0,0,0,2,16,6,0,0,0,0,0,9,14,0,0,0,0,7 +0,0,4,13,15,8,0,0,0,2,13,4,0,12,0,0,0,6,9,0,2,10,0,0,0,3,13,1,4,15,5,0,0,0,5,14,14,3,0,0,0,0,3,16,13,0,0,0,0,0,8,6,14,4,0,0,0,0,6,13,15,3,0,0,8 +0,0,5,12,4,0,0,0,0,2,16,14,13,2,0,0,0,0,16,7,14,15,0,0,0,0,8,15,16,16,3,0,0,0,0,0,0,13,6,0,0,0,0,0,0,10,9,0,0,0,3,4,7,16,8,0,0,0,9,14,12,8,1,0,9 +0,0,15,16,7,0,0,0,0,3,16,6,16,3,0,0,0,0,12,6,12,9,0,0,0,0,0,0,12,7,0,0,0,0,0,0,15,4,0,0,0,0,0,6,15,2,0,0,0,1,11,15,13,2,8,1,0,0,13,14,15,16,16,3,2 +0,0,0,0,12,13,1,0,0,0,0,2,16,16,3,0,0,0,0,5,16,16,4,0,0,0,0,12,16,16,5,0,0,0,5,16,16,16,4,0,0,3,15,14,15,16,3,0,0,3,8,2,13,16,0,0,0,0,0,0,12,11,1,0,1 +0,6,15,16,10,0,0,0,0,15,13,9,16,2,0,0,0,7,9,0,14,7,0,0,0,0,0,0,12,8,0,0,0,0,0,2,16,5,0,0,0,0,0,11,15,1,0,0,0,1,11,16,12,2,0,0,0,6,16,16,16,16,14,0,2 +0,0,13,16,5,0,0,0,0,0,16,7,15,5,0,0,0,0,15,3,11,9,0,0,0,0,7,6,9,11,0,0,0,0,0,0,9,11,0,0,0,0,0,0,12,7,0,0,0,0,7,9,16,3,0,0,0,0,11,16,16,16,16,8,2 +0,1,10,16,12,1,0,0,0,8,15,5,12,11,0,0,0,11,12,3,13,16,3,0,0,4,14,16,13,14,9,0,0,0,0,4,0,8,13,0,0,0,1,0,0,3,16,1,0,2,15,1,0,8,15,1,0,0,9,16,16,16,6,0,9 +0,1,10,16,16,8,0,0,0,8,13,6,14,8,0,0,0,1,1,10,15,2,0,0,0,0,3,16,15,8,0,0,0,0,0,2,7,15,6,0,0,0,0,0,0,8,12,0,0,0,2,1,2,13,10,0,0,0,11,16,16,11,1,0,3 +0,0,10,8,0,0,0,0,0,0,13,11,0,0,0,0,0,1,16,7,0,0,0,0,0,4,16,3,0,0,0,0,0,4,16,9,11,10,1,0,0,8,16,16,16,16,7,0,0,4,16,16,16,16,5,0,0,0,8,15,16,12,0,0,6 +0,0,3,14,10,0,0,0,0,0,13,14,15,10,0,0,0,2,16,5,8,16,3,0,0,4,14,0,4,16,1,0,0,4,16,0,3,15,1,0,0,4,16,1,0,12,4,0,0,1,14,11,9,16,3,0,0,0,3,12,12,4,0,0,0 +0,0,11,16,11,0,0,0,0,0,13,12,14,6,0,0,0,0,6,14,10,10,0,0,0,0,0,1,6,14,0,0,0,0,0,0,6,14,0,0,0,0,0,0,9,14,0,0,0,0,9,9,15,12,2,0,0,0,10,16,16,16,16,4,2 +0,0,4,8,0,0,0,0,0,0,13,10,0,0,0,0,0,3,16,5,0,0,0,0,0,2,16,3,0,0,0,0,0,5,16,10,12,7,1,0,0,0,16,16,16,16,8,0,0,0,12,16,13,16,9,0,0,0,3,9,13,10,0,0,6 +0,0,0,2,16,12,0,0,0,0,0,6,16,15,0,0,0,0,0,11,16,11,0,0,0,1,8,16,16,11,0,0,0,9,16,16,16,10,0,0,0,1,8,8,16,8,0,0,0,0,0,4,16,9,0,0,0,0,0,1,16,10,0,0,1 +0,0,11,16,15,3,0,0,0,0,6,8,14,12,0,0,0,0,0,0,7,10,0,0,0,0,0,3,13,9,5,0,0,0,4,16,16,15,8,0,0,0,1,14,11,2,0,0,0,0,1,16,2,0,0,0,0,0,8,12,0,0,0,0,7 +0,2,15,16,13,1,0,0,0,8,16,9,15,8,0,0,0,8,16,0,8,12,0,0,0,0,5,1,7,13,0,0,0,0,0,0,12,10,0,0,0,0,0,4,16,7,0,0,0,5,15,15,16,2,0,0,0,3,11,12,16,16,13,2,2 +0,0,2,15,16,16,10,0,0,0,1,6,4,11,13,0,0,0,0,0,0,9,8,0,0,0,0,4,8,15,3,0,0,0,3,16,16,16,9,0,0,0,0,3,14,0,0,0,0,0,0,13,3,0,0,0,0,0,4,12,0,0,0,0,7 +0,4,16,16,6,0,0,0,0,7,13,8,15,1,0,0,0,0,0,6,16,2,0,0,0,0,3,16,14,1,0,0,0,0,1,11,15,13,1,0,0,0,0,0,3,14,8,0,0,5,6,0,0,7,16,0,0,3,14,16,16,16,10,0,3 +0,0,6,12,14,10,1,0,0,2,13,4,0,10,9,0,0,2,14,0,3,14,6,0,0,1,14,11,14,5,0,0,0,0,9,16,6,0,0,0,0,2,14,10,12,0,0,0,0,2,11,1,14,0,0,0,0,0,11,13,9,0,0,0,8 +0,0,3,15,15,5,0,0,0,0,13,13,10,15,0,0,0,0,12,14,13,16,5,0,0,0,1,8,8,14,6,0,0,0,0,0,0,8,12,0,0,0,1,0,0,3,16,1,0,1,14,2,0,3,16,2,0,0,3,15,16,16,13,1,9 +0,0,12,12,0,0,0,0,0,1,15,11,0,0,0,0,0,6,16,3,0,0,0,0,0,6,16,1,0,0,0,0,0,11,13,3,14,15,3,0,0,9,15,16,13,13,15,0,0,5,16,7,1,11,15,0,0,1,11,16,16,15,6,0,6 +0,0,7,13,0,0,0,0,0,2,15,11,0,0,0,0,0,9,16,2,0,0,0,0,0,7,16,0,0,0,0,0,0,9,16,2,4,4,0,0,0,5,16,16,16,16,12,0,0,3,16,16,9,13,16,0,0,0,5,13,16,16,7,0,6 +0,0,0,0,1,14,4,0,0,0,0,0,2,16,8,0,0,0,0,0,8,16,6,0,0,0,0,0,15,16,5,0,0,0,0,8,16,16,3,0,0,0,6,16,9,16,0,0,0,2,16,8,4,16,0,0,0,2,4,0,2,15,3,0,1 +0,0,1,12,16,16,12,0,0,0,0,7,4,11,13,0,0,0,0,0,0,8,11,0,0,0,0,1,4,12,8,0,0,0,0,12,16,16,8,0,0,0,0,3,12,6,0,0,0,0,0,6,14,0,0,0,0,0,0,15,5,0,0,0,7 +0,0,8,16,16,16,12,3,0,0,2,2,0,5,16,8,0,0,0,0,0,5,15,1,0,0,0,0,1,13,8,0,0,1,8,8,10,16,1,0,0,3,12,15,16,11,3,0,0,0,2,15,7,0,0,0,0,0,11,11,0,0,0,0,7 +0,0,10,14,16,16,8,0,0,0,16,12,5,5,11,0,0,4,15,11,6,0,0,0,0,10,16,16,16,11,0,0,0,5,7,0,5,15,0,0,0,0,0,0,7,14,0,0,0,0,5,4,14,7,0,0,0,0,8,16,14,1,0,0,5 +0,0,8,16,5,0,0,0,0,0,16,9,0,0,0,0,0,6,16,2,0,0,0,0,0,7,16,0,1,0,0,0,0,10,13,9,16,14,3,0,0,8,15,16,9,9,15,0,0,4,16,13,0,9,16,1,0,0,6,16,16,16,10,0,6 +0,0,4,15,15,4,0,0,0,0,9,16,16,9,0,0,0,0,7,16,16,9,0,0,0,0,7,16,16,13,0,0,0,0,10,16,16,10,0,0,0,1,15,16,16,4,0,0,0,0,13,16,16,3,0,0,0,0,4,10,16,4,0,0,1 +0,0,10,12,2,0,0,0,0,4,15,13,13,0,0,0,0,5,12,0,14,2,0,0,0,2,10,0,13,3,0,0,0,0,0,2,14,0,0,0,0,0,0,9,9,0,0,0,0,0,11,16,8,4,2,0,0,0,13,15,16,16,7,0,2 +0,0,3,14,16,16,7,0,0,0,11,9,4,12,15,0,0,0,0,0,0,8,14,0,0,0,0,0,0,12,9,0,0,0,5,11,12,16,5,0,0,0,11,16,16,12,3,0,0,0,0,9,13,1,0,0,0,0,3,16,2,0,0,0,7 +0,0,8,15,8,0,0,0,0,4,16,16,16,5,0,0,0,8,16,2,6,15,0,0,0,3,15,4,4,16,0,0,0,0,1,0,7,15,0,0,0,0,0,3,15,7,0,0,0,2,11,16,15,7,4,0,0,1,13,16,15,12,4,0,2 +0,0,7,14,16,16,7,0,0,0,14,13,8,5,1,0,0,3,16,10,3,0,0,0,0,10,16,16,16,2,0,0,0,3,4,0,11,8,0,0,0,0,0,0,10,8,0,0,0,0,14,5,16,4,0,0,0,0,9,16,14,0,0,0,5 +0,0,0,6,15,1,0,0,0,0,4,16,3,0,0,0,0,0,12,8,0,0,0,0,0,7,15,1,0,5,9,0,0,9,16,0,6,15,10,0,0,10,16,16,16,14,0,0,0,2,5,7,16,7,0,0,0,0,0,6,15,1,0,0,4 +0,0,8,12,12,1,0,0,0,6,12,2,6,8,0,0,0,5,11,0,3,16,7,0,0,0,14,6,10,10,1,0,0,0,6,16,8,0,0,0,0,0,7,16,5,0,0,0,0,0,12,10,10,0,0,0,0,0,11,14,9,0,0,0,8 +0,0,6,15,8,0,0,0,0,4,16,13,16,2,0,0,0,6,15,0,13,13,0,0,0,8,10,0,7,16,5,0,0,8,8,0,6,16,3,0,0,7,11,0,7,15,0,0,0,0,14,10,13,11,0,0,0,0,6,14,12,2,0,0,0 +0,0,11,16,13,2,0,0,0,0,10,15,11,13,0,0,0,0,3,15,7,15,5,0,0,0,0,1,1,13,6,0,0,0,0,0,0,16,5,0,0,0,0,0,9,16,2,0,0,0,15,16,16,11,0,0,0,0,9,15,13,16,16,5,2 +0,0,3,12,7,0,0,0,0,0,14,11,11,6,0,0,0,4,12,0,2,16,0,0,0,5,9,0,0,10,7,0,0,6,8,0,0,8,8,0,0,3,12,0,0,3,10,0,0,1,13,5,3,13,5,0,0,0,3,13,16,9,1,0,0 +0,0,8,14,11,2,0,0,0,2,16,10,13,9,0,0,0,4,16,4,1,15,5,0,0,2,14,12,11,16,7,0,0,0,6,16,16,6,0,0,0,0,12,16,12,0,0,0,0,0,16,16,15,0,0,0,0,0,8,15,8,0,0,0,8 +0,0,15,8,0,0,0,0,0,2,16,15,2,0,0,0,0,0,16,8,10,0,0,0,0,0,12,8,12,0,0,0,0,0,0,8,8,0,0,0,0,0,0,12,8,0,0,0,0,0,12,16,15,15,5,0,0,0,15,11,6,2,0,0,2 +0,0,4,13,13,8,0,0,0,0,16,1,1,11,2,0,0,4,13,0,0,6,7,0,0,3,14,0,9,14,2,0,0,0,9,15,14,1,0,0,0,0,5,16,9,0,0,0,0,0,8,12,15,2,0,0,0,0,4,15,13,2,0,0,8 +0,0,14,16,11,1,0,0,0,1,12,16,16,6,0,0,0,0,0,4,16,7,0,0,0,0,1,10,16,13,2,0,0,0,5,16,16,16,8,0,0,0,1,16,9,1,0,0,0,0,9,16,1,0,0,0,0,0,13,12,0,0,0,0,7 +0,1,14,16,16,16,5,0,0,4,16,7,4,5,3,0,0,7,16,5,1,0,0,0,0,8,16,16,15,1,0,0,0,0,2,4,15,7,0,0,0,0,0,0,10,13,0,0,0,6,9,1,13,14,0,0,0,1,14,16,15,3,0,0,5 +0,0,2,13,1,0,0,0,0,0,5,15,0,0,0,0,0,0,13,6,0,0,0,0,0,5,14,0,0,0,0,0,0,8,12,3,7,6,1,0,0,7,16,14,8,14,7,0,0,2,15,9,5,12,7,0,0,0,4,9,13,13,1,0,6 +0,2,15,16,15,3,0,0,0,4,16,7,13,13,0,0,0,0,7,12,16,8,0,0,0,0,7,16,15,6,0,0,0,0,0,4,11,16,4,0,0,1,0,0,0,14,11,0,0,9,9,0,6,14,9,0,0,3,14,16,16,13,1,0,3 +0,0,8,16,16,9,0,0,0,0,15,9,6,14,2,0,0,0,16,5,1,16,8,0,0,0,9,16,16,16,11,0,0,0,0,6,7,10,12,0,0,1,3,0,0,8,14,0,0,4,13,5,0,11,12,0,0,0,9,16,16,16,6,0,9 +0,0,0,8,14,0,0,0,0,0,5,16,3,0,0,0,0,0,15,9,0,0,2,0,0,8,15,1,0,11,14,0,0,11,13,4,7,16,5,0,0,8,16,16,16,13,0,0,0,0,0,5,16,3,0,0,0,0,0,10,14,0,0,0,4 +0,0,0,15,10,0,0,0,0,0,4,16,16,7,0,0,0,0,3,16,16,10,0,0,0,0,3,16,16,14,0,0,0,0,4,16,16,16,2,0,0,0,10,16,16,16,5,0,0,0,9,16,16,16,9,0,0,0,1,8,3,7,16,2,1 +0,0,3,13,0,0,0,0,0,0,12,6,0,0,0,0,0,2,16,1,0,0,0,0,0,5,12,0,0,0,0,0,0,8,10,5,11,7,0,0,0,6,16,16,9,12,8,0,0,0,14,9,4,11,8,0,0,0,3,12,13,9,1,0,6 +0,1,13,16,16,6,0,0,0,3,13,6,12,13,0,0,0,0,0,5,15,7,0,0,0,0,2,16,15,2,0,0,0,0,0,4,14,14,1,0,0,0,0,0,3,15,5,0,0,1,10,1,2,13,7,0,0,1,13,16,16,13,1,0,3 +0,0,1,14,15,3,0,0,0,0,0,15,16,9,0,0,0,0,0,15,16,7,0,0,0,0,2,15,16,5,0,0,0,0,4,16,15,1,0,0,0,0,7,16,10,0,0,0,0,0,8,16,8,0,0,0,0,0,2,12,16,5,0,0,1 +0,0,2,10,12,13,6,0,0,0,15,14,8,7,0,0,0,4,16,0,0,0,0,0,0,7,16,16,15,2,0,0,0,3,14,8,15,6,0,0,0,0,0,0,12,7,0,0,0,0,0,6,14,4,0,0,0,0,0,13,12,0,0,0,5 +0,0,6,16,6,0,0,0,0,2,15,14,16,5,0,0,0,6,15,1,9,14,0,0,0,4,16,0,1,16,5,0,0,7,13,0,1,16,4,0,0,5,15,2,0,14,5,0,0,0,14,10,12,13,1,0,0,0,4,14,14,3,0,0,0 +0,0,7,16,16,4,0,0,0,5,16,7,8,13,1,0,0,10,13,0,6,16,7,0,0,5,16,12,15,16,9,0,0,0,5,8,3,11,12,0,0,0,0,0,0,9,12,0,0,0,1,4,0,13,12,0,0,0,9,16,16,13,3,0,9 +0,0,8,16,16,12,4,0,0,0,12,10,8,8,4,0,0,4,16,13,3,0,0,0,0,6,16,16,15,1,0,0,0,0,0,0,12,6,0,0,0,0,0,0,9,6,0,0,0,0,4,7,16,3,0,0,0,0,4,16,6,0,0,0,5 +0,0,15,15,4,0,0,0,0,0,16,13,15,2,0,0,0,0,9,15,12,8,0,0,0,0,0,2,11,10,0,0,0,0,0,0,13,8,0,0,0,0,0,1,14,5,0,0,0,0,16,16,16,6,1,0,0,1,11,15,12,15,15,4,2 +0,0,5,13,12,1,0,0,0,2,15,5,6,7,0,0,0,6,9,0,0,16,4,0,0,6,10,0,0,14,6,0,0,0,9,13,14,12,9,0,0,0,0,0,0,0,12,0,0,0,3,0,0,3,14,0,0,0,5,12,13,14,5,0,9 +0,0,1,10,10,1,0,0,0,0,7,16,16,5,0,0,0,0,13,16,16,3,0,0,0,0,14,16,16,8,0,0,0,0,14,16,7,2,0,0,0,0,10,16,16,6,0,0,0,0,7,16,16,5,0,0,0,0,2,10,12,5,0,0,1 +0,1,6,9,15,16,14,0,0,4,16,16,10,7,2,0,0,8,16,13,3,0,0,0,0,10,14,14,14,0,0,0,0,1,1,1,16,0,0,0,0,0,0,1,16,0,0,0,0,0,3,10,14,0,0,0,0,0,15,14,3,0,0,0,5 +0,0,3,14,16,6,0,0,0,1,13,5,4,13,0,0,0,5,12,0,0,9,4,0,0,5,9,0,0,5,8,0,0,8,7,0,0,3,8,0,0,6,9,0,0,2,9,0,0,0,15,3,1,9,8,0,0,0,5,15,14,9,0,0,0 +0,0,5,15,16,16,10,0,0,0,11,14,8,4,1,0,0,4,16,16,15,3,0,0,0,8,15,9,13,13,1,0,0,0,2,0,3,16,4,0,0,0,0,0,3,16,2,0,0,0,0,3,13,9,0,0,0,0,5,16,12,1,0,0,5 +0,0,6,15,16,15,2,0,0,0,4,6,6,15,7,0,0,0,0,0,0,16,3,0,0,0,2,8,10,16,4,0,0,0,7,12,16,13,5,0,0,0,0,5,14,0,0,0,0,0,1,15,5,0,0,0,0,0,8,12,0,0,0,0,7 +0,0,4,14,5,0,0,0,0,0,13,7,11,4,2,0,0,2,13,0,6,14,4,0,0,3,9,0,3,14,7,0,0,5,8,0,4,11,8,0,0,4,8,0,0,1,12,0,0,1,14,2,0,10,7,0,0,0,3,15,16,13,2,0,0 +0,1,12,16,12,0,0,0,0,11,13,5,16,3,8,0,0,10,13,4,16,15,3,0,0,2,16,12,15,6,0,0,0,0,14,14,2,0,0,0,0,2,16,16,3,0,0,0,0,4,15,12,11,0,0,0,0,0,14,16,13,0,0,0,8 +0,0,7,14,15,13,10,0,0,1,14,8,3,0,2,0,0,4,16,10,15,6,0,0,0,4,16,12,11,16,3,0,0,2,7,0,0,12,6,0,0,0,0,0,1,14,3,0,0,0,9,9,11,12,0,0,0,0,8,13,8,0,0,0,5 +0,0,0,11,9,0,0,0,0,0,6,16,8,0,0,0,0,0,13,12,0,0,0,0,0,0,16,6,4,2,0,0,0,0,16,16,15,15,4,0,0,0,15,6,0,0,15,1,0,0,9,13,0,6,14,5,0,0,0,9,16,16,10,0,6 +0,0,3,13,9,2,0,0,0,0,5,16,16,7,0,0,0,0,10,16,16,0,0,0,0,1,15,16,14,1,0,0,0,6,16,16,14,0,0,0,0,0,12,16,10,0,0,0,0,0,7,16,14,0,0,0,0,0,3,15,16,12,0,0,1 +0,0,0,1,16,9,0,0,0,0,0,6,16,11,0,0,0,0,0,11,16,6,0,0,0,1,7,15,14,1,0,0,0,6,14,16,15,0,0,0,0,0,1,13,15,0,0,0,0,0,0,14,16,4,0,0,0,0,0,0,12,15,6,0,1 +0,0,9,14,15,4,0,0,0,0,16,9,9,16,0,0,0,0,0,1,13,12,0,0,0,0,2,15,16,3,0,0,0,0,2,12,12,12,1,0,0,0,0,0,0,9,9,0,0,0,14,9,5,13,12,0,0,0,9,16,16,14,1,0,3 +0,0,7,14,15,2,0,0,0,0,8,4,4,15,0,0,0,0,0,0,8,11,0,0,0,0,2,16,16,4,0,0,0,0,1,8,13,13,0,0,0,0,0,0,0,7,10,0,0,2,14,2,3,12,9,0,0,1,12,16,16,10,1,0,3 +0,0,0,1,13,13,0,0,0,0,5,15,15,16,0,0,0,3,15,8,7,14,0,0,0,11,15,9,15,16,9,0,0,8,16,14,15,15,5,0,0,0,0,0,12,8,0,0,0,0,0,0,12,6,0,0,0,0,0,0,12,4,0,0,4 +0,0,0,12,4,0,0,0,0,0,6,16,10,0,0,0,0,0,14,11,0,0,0,0,0,0,13,7,0,0,0,0,0,0,14,16,15,9,1,0,0,0,12,11,4,10,13,0,0,0,4,14,4,10,16,3,0,0,0,9,16,14,9,0,6 +0,0,0,2,12,6,14,0,0,0,1,15,13,8,10,0,0,2,15,7,0,15,4,0,0,9,15,7,7,16,5,0,0,8,16,16,16,16,10,0,0,1,4,4,13,8,0,0,0,0,0,3,15,1,0,0,0,0,0,3,14,0,0,0,4 +0,0,0,4,13,12,1,0,0,0,3,16,9,15,14,2,0,0,14,8,2,10,14,0,0,3,16,12,13,16,7,0,0,0,8,3,2,16,2,0,0,0,0,0,8,12,0,0,0,0,0,0,14,6,0,0,0,0,0,3,14,2,0,0,9 +0,0,4,14,10,0,0,0,0,3,16,9,8,7,0,0,0,8,16,0,2,11,0,0,0,6,14,0,0,6,6,0,0,5,14,0,0,3,9,0,0,0,15,1,0,5,13,0,0,0,12,9,2,13,10,0,0,0,2,14,15,10,1,0,0 +0,0,8,13,12,2,0,0,0,4,16,3,2,13,0,0,0,10,13,5,12,12,0,0,0,5,14,16,16,3,0,0,0,0,8,15,9,9,0,0,0,0,12,6,0,8,5,0,0,0,11,8,4,12,6,0,0,0,5,12,13,10,0,0,8 +0,0,6,13,12,2,0,0,0,7,14,4,9,10,0,0,0,8,3,0,10,7,0,0,0,0,2,9,16,2,0,0,0,0,10,12,12,14,1,0,0,0,0,0,0,6,12,0,0,0,11,5,4,12,10,0,0,0,6,13,13,10,1,0,3 +0,0,2,8,11,16,16,14,0,0,10,15,10,11,16,7,0,0,0,0,0,13,9,0,0,0,4,8,11,16,4,0,0,0,13,16,16,11,5,0,0,0,0,4,16,1,0,0,0,0,0,12,11,0,0,0,0,0,0,15,5,0,0,0,7 +0,0,5,13,12,3,0,0,0,0,14,9,8,13,0,0,0,3,16,4,0,13,6,0,0,4,14,1,0,8,9,0,0,1,15,0,0,4,8,0,0,2,13,1,2,13,4,0,0,0,15,13,16,11,0,0,0,0,8,11,5,0,0,0,0 +0,0,0,12,13,1,0,0,0,0,7,16,10,1,0,0,0,0,11,13,0,0,0,0,0,0,13,10,4,1,0,0,0,0,13,16,16,13,3,0,0,2,16,14,6,10,15,2,0,2,13,14,8,13,15,1,0,0,1,13,16,14,3,0,6 +0,0,0,7,13,14,4,0,0,0,15,13,4,0,1,0,0,1,16,2,0,0,0,0,0,5,16,9,14,13,1,0,0,7,15,8,1,11,4,0,0,0,0,0,0,13,4,0,0,0,0,5,7,12,0,0,0,0,0,8,14,3,0,0,5 +0,0,7,11,4,0,0,0,0,0,15,16,15,5,0,0,0,3,16,5,3,10,2,0,0,4,16,2,0,7,7,0,0,8,10,0,0,6,8,0,0,5,9,0,0,10,6,0,0,0,15,4,10,14,2,0,0,0,7,16,10,2,0,0,0 +0,0,2,12,6,0,0,0,0,1,12,10,11,3,0,0,0,1,16,7,3,13,1,0,0,2,16,1,0,9,5,0,0,2,16,2,0,2,10,0,0,0,14,8,0,7,13,0,0,0,10,7,7,16,5,0,0,0,2,13,12,6,0,0,0 +0,0,3,10,13,16,7,0,0,0,10,10,8,12,13,0,0,0,0,0,0,10,10,0,0,5,12,12,12,15,8,0,0,5,12,12,15,11,1,0,0,0,0,5,15,3,0,0,0,0,0,11,9,0,0,0,0,0,3,16,2,0,0,0,7 +0,0,6,12,16,16,13,0,0,0,13,12,8,14,16,2,0,0,1,5,7,15,11,0,0,0,13,16,16,16,11,0,0,0,3,9,16,3,0,0,0,0,0,11,13,0,0,0,0,0,5,16,7,0,0,0,0,0,9,15,2,0,0,0,7 +0,0,4,16,13,16,13,0,0,0,12,11,5,4,2,0,0,1,16,1,9,8,2,0,0,8,16,14,10,13,6,0,0,1,4,0,0,9,6,0,0,0,0,0,5,11,1,0,0,0,1,6,14,4,0,0,0,0,6,15,5,0,0,0,5 +0,0,0,2,12,13,8,1,0,0,3,12,5,14,16,2,0,0,11,1,0,12,14,0,0,2,11,3,7,14,3,0,0,3,15,11,5,10,0,0,0,0,0,0,9,6,0,0,0,0,0,1,14,2,0,0,0,0,0,0,14,1,0,0,9 +0,0,1,16,12,2,0,0,0,0,4,15,16,5,0,0,0,0,8,16,13,0,0,0,0,1,12,16,11,0,0,0,0,5,16,16,11,0,0,0,0,0,9,16,9,0,0,0,0,0,4,16,12,1,0,0,0,0,1,14,16,10,0,0,1 +0,0,0,1,13,12,3,0,0,0,6,13,11,12,10,0,0,6,16,11,4,13,7,0,0,8,16,16,16,16,10,0,0,0,4,4,7,16,5,0,0,0,0,0,12,8,0,0,0,0,0,0,13,7,0,0,0,0,0,0,15,4,0,0,4 +0,4,15,16,7,0,0,0,0,4,16,11,16,2,0,0,0,2,6,4,16,3,0,0,0,0,0,1,16,4,0,0,0,0,0,8,14,1,0,0,0,0,2,15,10,0,0,0,0,3,15,16,13,12,11,0,0,5,16,16,15,12,12,0,2 +0,0,3,11,16,15,5,0,0,0,10,6,4,12,10,0,0,0,0,0,0,12,8,0,0,4,12,10,12,16,3,0,0,2,8,5,16,9,0,0,0,0,0,6,11,0,0,0,0,0,0,13,6,0,0,0,0,0,0,15,1,0,0,0,7 +0,0,7,15,6,0,0,0,0,1,15,12,15,0,0,0,0,3,15,1,12,2,0,0,0,0,11,0,13,3,0,0,0,0,0,1,14,1,0,0,0,0,0,7,12,0,0,0,0,0,7,16,16,16,14,3,0,0,6,12,8,8,8,3,2 +0,1,8,13,16,8,0,0,0,11,13,6,8,15,1,0,0,2,1,9,14,5,0,0,0,0,14,16,14,3,0,0,0,0,8,4,10,15,1,0,0,0,0,0,0,13,7,0,0,2,15,8,9,15,1,0,0,1,10,13,13,4,0,0,3 +0,0,0,0,8,16,11,0,0,0,0,13,9,8,14,1,0,0,10,8,0,5,16,4,0,2,15,8,14,14,12,0,0,2,12,9,2,10,6,0,0,0,0,0,2,14,0,0,0,0,0,0,9,7,0,0,0,0,0,0,13,1,0,0,9 +0,0,9,14,12,8,0,0,0,8,13,0,2,16,2,0,0,11,14,14,14,6,0,0,0,1,14,16,13,1,0,0,0,3,15,4,6,12,0,0,0,1,15,0,0,8,9,0,0,3,16,1,3,13,6,0,0,0,8,16,13,6,0,0,8 +0,0,7,16,15,11,5,0,0,0,14,11,8,8,5,0,0,1,16,2,8,5,0,0,0,8,15,15,15,15,3,0,0,8,15,5,0,12,4,0,0,0,0,0,2,15,1,0,0,0,6,8,13,8,0,0,0,0,8,15,10,0,0,0,5 +0,0,0,2,15,2,0,0,0,0,0,12,9,0,0,0,0,0,5,15,2,2,0,0,0,1,13,6,0,14,3,0,0,5,15,0,8,16,1,0,0,9,16,16,16,16,3,0,0,0,4,4,16,7,0,0,0,0,0,3,15,4,0,0,4 +0,0,0,7,15,14,2,0,0,4,13,9,8,16,4,0,0,7,16,6,3,16,3,0,0,0,7,16,16,8,0,0,0,0,1,16,14,14,0,0,0,0,7,11,0,15,8,0,0,0,6,15,5,15,5,0,0,0,0,9,14,7,0,0,8 +0,0,8,14,9,0,0,0,0,6,15,12,16,3,0,0,0,1,3,0,8,4,0,0,0,0,0,0,9,5,0,0,0,0,0,1,15,3,0,0,0,0,0,12,11,0,0,0,0,0,10,16,13,12,6,0,0,0,11,12,12,9,4,0,2 +0,0,0,6,12,12,0,0,0,0,0,15,16,13,0,0,0,0,7,16,16,12,0,0,0,3,16,16,16,11,0,0,0,3,12,16,16,9,0,0,0,0,0,11,16,9,0,0,0,0,0,13,16,10,0,0,0,0,0,9,13,11,0,0,1 +0,0,4,12,12,6,0,0,0,3,16,9,8,15,0,0,0,9,16,3,0,8,6,0,0,6,14,0,0,6,8,0,0,4,11,0,0,9,5,0,0,4,10,0,0,15,2,0,0,0,15,5,9,14,0,0,0,0,7,14,13,2,0,0,0 +0,0,0,1,15,2,0,0,0,0,0,8,16,0,0,0,0,0,2,16,6,6,6,0,0,0,11,13,2,14,9,0,0,6,16,9,10,16,10,0,0,15,16,16,16,16,5,0,0,2,4,4,16,9,0,0,0,0,0,2,16,9,0,0,4 +0,0,7,12,8,0,0,0,0,6,16,11,15,3,0,0,0,10,8,0,11,5,0,0,0,0,0,0,11,3,0,0,0,0,0,0,14,1,0,0,0,0,0,7,13,0,0,0,0,0,8,16,16,14,9,0,0,0,11,13,11,8,9,0,2 +0,0,1,8,13,12,1,0,0,1,15,8,4,14,6,0,0,6,10,0,1,10,8,0,0,7,12,5,11,16,7,0,0,2,11,12,10,16,2,0,0,0,0,0,9,10,0,0,0,0,0,4,16,1,0,0,0,0,0,12,7,0,0,0,9 +0,2,5,7,10,13,4,0,0,3,16,13,12,11,3,0,0,0,16,1,0,0,0,0,0,6,16,16,15,2,0,0,0,3,8,4,10,9,0,0,0,0,0,0,8,11,0,0,0,0,1,9,15,3,0,0,0,2,16,12,2,0,0,0,5 +0,1,10,16,11,0,0,0,0,5,16,9,14,6,0,0,0,1,3,0,11,8,0,0,0,0,0,0,11,8,0,0,0,0,0,4,15,0,0,0,0,0,0,9,11,0,0,0,0,0,11,16,10,12,8,0,0,0,11,12,12,12,14,0,2 +0,0,0,4,13,0,0,0,0,0,0,13,9,0,0,0,0,0,4,15,2,2,4,0,0,1,15,6,0,9,10,0,0,10,16,8,9,16,4,0,0,3,12,12,16,12,0,0,0,0,0,2,16,6,0,0,0,0,0,5,16,3,0,0,4 +0,0,6,9,12,12,8,0,0,2,16,12,8,8,6,0,0,0,15,8,4,0,0,0,0,0,14,16,16,13,1,0,0,0,9,7,5,16,7,0,0,0,0,0,2,16,5,0,0,0,0,6,15,9,0,0,0,0,15,15,7,0,0,0,5 +0,0,2,14,16,15,9,0,0,1,14,11,5,9,14,0,0,4,14,0,3,12,11,0,0,6,13,9,15,15,1,0,0,2,13,15,15,11,0,0,0,0,0,4,15,0,0,0,0,0,1,13,11,0,0,0,0,0,3,16,5,0,0,0,9 +0,0,4,14,12,7,1,0,0,4,13,9,7,16,4,0,0,12,12,0,9,15,1,0,0,3,16,10,15,6,0,0,0,0,5,16,16,3,0,0,0,0,5,13,5,15,3,0,0,0,8,8,7,16,4,0,0,0,3,15,16,9,0,0,8 +0,0,1,9,15,13,1,0,0,0,11,12,6,16,4,0,0,10,15,1,7,14,0,0,0,3,15,14,15,3,0,0,0,0,1,12,15,3,0,0,0,0,0,12,8,13,1,0,0,0,0,12,6,16,2,0,0,0,0,9,15,6,0,0,8 +0,0,4,15,14,7,0,0,0,2,14,10,8,15,2,0,0,8,16,2,1,16,5,0,0,1,14,14,14,12,0,0,0,0,1,15,16,7,0,0,0,0,7,14,8,15,2,0,0,0,8,9,3,14,7,0,0,0,5,16,16,11,1,0,8 +0,0,6,10,11,15,4,0,0,0,10,15,12,12,3,0,0,0,14,6,0,0,0,0,0,5,16,9,9,7,0,0,0,2,12,12,12,16,7,0,0,0,0,0,1,13,7,0,0,0,0,7,13,13,0,0,0,0,9,12,10,1,0,0,5 +0,0,1,9,16,13,1,0,0,0,13,9,5,14,8,0,0,3,14,0,0,13,12,0,0,2,15,12,16,16,3,0,0,0,3,8,11,12,0,0,0,0,0,3,14,2,0,0,0,0,0,12,9,0,0,0,0,0,1,15,3,0,0,0,9 +0,0,0,8,16,10,0,0,0,0,1,14,16,14,0,0,0,1,10,16,16,5,0,0,0,6,16,16,16,3,0,0,0,1,12,16,16,0,0,0,0,0,4,16,15,0,0,0,0,0,4,16,16,4,0,0,0,0,0,11,12,11,0,0,1 +0,0,3,14,9,0,0,0,0,1,16,15,13,10,0,0,0,7,16,2,1,15,2,0,0,7,16,2,0,9,7,0,0,5,16,0,0,9,8,0,0,0,16,4,0,9,11,0,0,0,13,11,9,16,5,0,0,0,3,14,16,9,1,0,0 +0,0,13,12,1,0,0,0,0,11,16,14,12,0,0,0,0,5,8,1,16,1,0,0,0,0,0,0,16,3,0,0,0,0,0,8,16,0,0,0,0,0,3,14,9,0,0,0,0,0,15,16,13,13,11,0,0,0,11,12,12,14,16,2,2 +0,0,0,9,15,7,0,0,0,0,7,16,10,6,0,0,0,0,14,8,0,0,0,0,0,1,16,5,11,8,0,0,0,3,16,16,10,15,9,0,0,1,15,9,0,4,13,0,0,0,11,14,6,11,15,0,0,0,0,10,14,13,8,0,6 +0,0,9,12,14,16,8,0,0,1,12,12,10,14,11,0,0,0,0,0,3,16,2,0,0,1,10,8,12,16,7,0,0,2,16,16,16,16,10,0,0,0,2,14,10,5,1,0,0,0,6,16,2,0,0,0,0,0,11,11,0,0,0,0,7 +0,0,4,14,16,11,1,0,0,0,15,10,4,13,11,0,0,3,16,3,4,12,10,0,0,1,13,16,16,16,7,0,0,0,0,0,5,16,1,0,0,0,0,1,13,9,0,0,0,0,2,13,14,0,0,0,0,0,5,16,7,0,0,0,9 +0,0,10,16,16,9,0,0,0,1,6,4,5,15,4,0,0,0,0,0,3,15,2,0,0,1,4,0,12,8,0,0,0,3,16,16,16,16,8,0,0,0,2,13,7,0,0,0,0,0,7,12,0,0,0,0,0,0,12,6,0,0,0,0,7 +0,0,1,14,6,0,0,0,0,0,9,15,3,0,0,0,0,0,12,6,0,0,0,0,0,0,16,3,0,0,0,0,0,3,16,16,16,14,4,0,0,1,16,7,4,6,13,0,0,0,10,10,0,4,14,0,0,0,1,11,14,16,7,0,6 +0,0,0,3,14,12,0,0,0,0,1,11,16,14,0,0,0,0,8,16,16,14,0,0,0,6,16,16,16,10,0,0,0,1,5,16,16,8,0,0,0,0,0,15,16,9,0,0,0,0,0,10,16,14,5,0,0,0,0,2,15,15,7,0,1 +0,1,11,13,7,0,0,0,0,6,15,13,15,4,0,0,0,2,2,0,9,9,0,0,0,0,0,0,8,8,0,0,0,0,0,0,13,5,0,0,0,0,0,8,12,0,0,0,0,0,8,16,10,9,3,0,0,0,11,15,15,16,7,0,2 +0,0,4,10,12,15,16,5,0,0,15,14,12,13,16,7,0,0,3,0,0,8,15,2,0,0,1,8,8,14,9,0,0,0,5,16,16,16,4,0,0,0,0,7,16,4,0,0,0,0,0,12,14,0,0,0,0,0,3,16,5,0,0,0,7 +0,2,8,12,12,15,8,0,0,4,16,12,7,5,2,0,0,4,15,0,0,0,0,0,0,7,15,9,5,0,0,0,0,1,8,12,15,5,0,0,0,0,0,0,11,12,0,0,0,2,8,9,16,4,0,0,0,3,14,14,6,0,0,0,5 +0,0,1,11,15,1,0,0,0,0,11,15,5,0,0,0,0,3,16,6,0,0,0,0,0,6,7,0,5,3,0,0,0,8,10,4,13,15,2,0,0,4,16,4,0,8,10,0,0,0,13,10,5,14,9,0,0,0,1,10,13,13,4,0,6 +0,0,2,11,11,2,0,0,0,0,13,13,11,12,0,0,0,7,13,1,0,12,1,0,0,7,9,0,0,7,5,0,0,6,10,0,0,7,8,0,0,2,13,0,0,10,7,0,0,0,10,10,6,16,3,0,0,0,2,11,15,9,0,0,0 +0,0,5,12,12,3,0,0,0,0,9,16,16,12,0,0,0,0,9,16,16,15,0,0,0,0,11,16,16,10,0,0,0,0,11,16,16,9,0,0,0,0,13,16,16,3,0,0,0,0,12,16,15,2,0,0,0,0,2,9,11,2,0,0,1 +0,0,7,16,16,13,0,0,0,0,13,11,11,16,4,0,0,0,0,0,5,16,3,0,0,0,0,0,9,15,0,0,0,1,10,16,16,15,3,0,0,3,12,16,15,12,4,0,0,0,3,16,7,0,0,0,0,0,11,13,0,0,0,0,7 +0,0,6,12,13,7,0,0,0,0,13,13,8,7,0,0,0,2,16,1,0,0,0,0,0,5,16,12,12,7,0,0,0,2,9,8,8,15,1,0,0,0,0,0,0,13,4,0,0,0,4,4,12,14,1,0,0,0,7,13,11,3,0,0,5 +0,0,5,15,5,0,0,0,0,0,13,11,12,0,0,0,0,0,14,7,2,4,4,0,0,0,9,15,14,13,5,0,0,1,13,16,13,0,0,0,0,7,14,4,14,9,0,0,0,0,15,4,2,14,7,0,0,0,3,13,16,16,7,0,8 +0,0,2,12,12,3,0,0,0,0,4,16,16,13,0,0,0,0,3,16,16,11,0,0,0,0,5,16,16,11,0,0,0,0,9,16,16,9,0,0,0,0,9,16,16,8,0,0,0,0,7,16,16,10,0,0,0,0,1,11,12,9,0,0,1 +0,0,6,15,12,0,0,0,0,0,13,16,16,13,0,0,0,2,15,16,7,13,4,0,0,5,11,7,0,5,7,0,0,8,7,0,0,7,8,0,0,4,12,0,1,11,9,0,0,2,13,8,12,15,1,0,0,0,5,15,12,3,0,0,0 +0,0,6,15,16,16,9,0,0,2,16,11,8,15,12,0,0,0,2,0,0,14,11,0,0,0,3,8,8,16,7,0,0,3,16,16,16,16,10,0,0,0,6,6,15,4,0,0,0,0,0,15,7,0,0,0,0,0,8,12,0,0,0,0,7 +0,0,4,12,12,0,0,0,0,2,16,8,12,10,0,0,0,7,10,4,14,14,0,0,0,2,13,14,11,14,0,0,0,0,0,0,0,13,2,0,0,0,0,0,0,6,7,0,0,0,4,2,0,7,8,0,0,0,5,14,16,11,2,0,9 +0,0,0,5,15,5,0,0,0,0,3,15,11,1,0,0,0,1,13,14,1,2,6,0,0,6,16,6,0,12,15,0,0,13,15,0,4,16,6,0,0,13,16,16,16,16,1,0,0,0,8,11,16,8,0,0,0,0,0,7,16,3,0,0,4 +0,3,11,16,7,0,0,0,0,5,12,8,16,0,0,0,0,0,0,10,14,0,0,0,0,0,10,14,3,0,0,0,0,0,10,16,16,15,3,0,0,0,0,0,3,10,8,0,0,0,4,7,10,15,5,0,0,5,13,12,10,3,0,0,3 +0,0,7,16,12,3,0,0,0,0,12,16,16,8,0,0,0,0,15,16,16,1,0,0,0,1,14,16,16,1,0,0,0,1,15,16,16,4,0,0,0,0,13,16,16,3,0,0,0,0,11,16,16,9,0,0,0,0,4,9,14,6,0,0,1 +0,2,11,13,14,11,1,0,0,1,10,5,4,16,4,0,0,0,0,1,10,13,0,0,0,0,0,7,16,1,0,0,0,0,0,5,16,13,2,0,0,0,0,0,3,12,7,0,0,5,8,4,6,15,4,0,0,3,12,14,13,9,0,0,3 +0,1,11,16,14,8,0,0,0,1,16,15,12,15,3,0,0,2,16,10,0,2,0,0,0,5,16,8,2,0,0,0,0,3,15,16,15,3,0,0,0,0,2,4,13,11,0,0,0,0,6,8,15,11,0,0,0,0,13,16,16,5,0,0,5 +0,0,5,15,3,0,0,0,0,0,12,16,14,8,0,0,0,1,16,16,12,16,3,0,0,3,14,1,0,6,7,0,0,6,8,0,0,4,8,0,0,4,12,0,0,10,12,0,0,1,14,10,13,16,5,0,0,0,6,16,14,8,0,0,0 +0,1,9,12,13,7,0,0,0,6,13,8,7,13,0,0,0,0,2,0,5,12,0,0,0,0,0,5,16,5,0,0,0,0,0,6,16,9,0,0,0,0,0,0,3,13,6,0,0,1,7,3,6,12,6,0,0,0,12,13,13,8,1,0,3 +0,0,0,5,13,0,0,0,0,0,0,14,6,0,0,0,0,0,9,13,0,2,0,0,0,1,16,4,5,14,0,0,0,9,14,0,7,10,0,0,0,10,16,12,14,14,0,0,0,2,8,12,15,1,0,0,0,0,0,4,11,0,0,0,4 +0,0,10,16,9,0,0,0,0,2,16,16,16,2,0,0,0,0,8,1,15,8,0,0,0,0,0,0,14,9,0,0,0,0,0,1,16,10,0,0,0,0,0,9,16,16,7,0,0,0,8,16,15,12,15,5,0,0,13,15,1,0,5,6,2 +0,0,0,6,12,0,0,0,0,0,2,16,10,0,0,0,0,0,7,14,1,0,0,0,0,0,11,10,0,0,0,0,0,0,14,11,1,0,0,0,0,0,15,15,15,16,10,1,0,0,8,14,3,7,16,7,0,0,0,8,15,16,12,3,6 +0,0,6,16,16,15,5,0,0,0,8,6,7,16,11,0,0,0,0,0,3,16,9,0,0,0,0,0,9,15,0,0,0,1,8,8,15,14,3,0,0,3,16,16,16,16,4,0,0,0,3,16,8,0,0,0,0,0,8,15,2,0,0,0,7 +0,0,2,13,11,0,0,0,0,0,10,14,2,0,0,0,0,0,12,5,0,0,0,0,0,0,14,4,0,0,0,0,0,0,15,8,8,8,2,0,0,0,14,16,12,12,13,0,0,0,10,10,4,6,16,0,0,0,3,11,15,12,7,0,6 +0,0,5,16,16,10,1,0,0,8,14,14,8,9,1,0,0,14,16,9,1,0,0,0,0,12,16,16,15,3,0,0,0,1,10,12,13,13,0,0,0,0,0,0,4,16,0,0,0,0,1,4,12,14,0,0,0,0,4,15,16,4,0,0,5 +0,0,6,11,7,2,0,0,0,0,15,16,15,12,0,0,0,3,16,7,0,10,3,0,0,4,8,0,0,2,8,0,0,8,5,0,0,5,8,0,0,5,7,0,0,12,5,0,0,0,14,5,13,13,1,0,0,0,7,16,11,0,0,0,0 +0,0,8,7,0,0,0,0,0,0,15,16,16,7,0,0,0,2,16,16,14,14,2,0,0,4,16,0,0,11,6,0,0,3,13,0,0,11,9,0,0,3,15,0,5,16,7,0,0,0,15,12,14,16,3,0,0,0,5,16,14,7,0,0,0 +0,0,1,13,10,0,0,0,0,0,6,16,4,0,0,0,0,0,10,12,0,0,0,0,0,0,14,10,0,0,0,0,0,0,16,14,12,12,2,0,0,4,16,14,12,13,14,0,0,0,11,14,4,7,16,1,0,0,1,12,16,16,13,0,6 +0,1,8,14,13,2,0,0,0,4,16,6,12,8,0,0,0,3,16,4,3,4,0,0,0,0,9,15,4,11,6,0,0,0,5,16,16,13,6,0,0,4,15,12,16,7,0,0,0,7,14,2,12,11,0,0,0,1,10,16,14,5,0,0,8 +0,0,6,9,15,14,2,0,0,8,13,12,6,4,1,0,0,10,13,8,3,0,0,0,0,2,11,15,16,5,0,0,0,0,0,0,7,12,0,0,0,0,0,0,1,13,0,0,0,0,0,1,9,12,0,0,0,0,8,12,10,1,0,0,5 +0,0,1,11,16,11,0,0,0,0,14,15,8,9,1,0,0,3,15,1,0,0,0,0,0,7,14,8,8,0,0,0,0,4,16,16,16,4,0,0,0,0,0,0,8,8,0,0,0,0,1,6,15,5,0,0,0,0,1,14,9,0,0,0,5 +0,0,6,15,16,13,1,0,0,0,12,12,14,16,1,0,0,0,0,0,13,14,0,0,0,0,4,4,16,13,2,0,0,8,16,16,16,16,10,0,0,5,8,15,14,4,1,0,0,0,3,16,8,0,0,0,0,0,7,16,0,0,0,0,7 +0,2,12,16,13,5,0,0,0,5,12,12,16,8,0,0,0,0,0,4,16,4,0,0,0,0,0,12,14,1,0,0,0,0,0,3,14,16,2,0,0,0,0,0,1,10,8,0,0,0,8,4,6,13,6,0,0,0,12,16,14,9,0,0,3 +0,0,3,14,16,5,0,0,0,2,14,11,14,9,0,0,0,5,16,7,14,15,0,0,0,2,16,16,16,16,6,0,0,0,1,4,2,16,7,0,0,0,0,0,0,15,6,0,0,0,0,5,7,16,2,0,0,0,4,16,16,9,0,0,9 +0,0,2,13,13,2,0,0,0,0,9,16,6,13,0,0,0,1,14,1,0,9,4,0,0,4,9,0,0,6,7,0,0,8,8,0,0,4,8,0,0,4,9,0,0,4,8,0,0,0,15,8,4,12,7,0,0,0,2,10,16,15,2,0,0 +0,0,9,15,16,13,0,0,0,0,10,5,13,14,0,0,0,0,0,0,12,12,0,0,0,0,0,2,16,6,0,0,0,1,12,16,16,13,7,0,0,5,14,16,12,8,3,0,0,0,5,16,2,0,0,0,0,0,11,12,0,0,0,0,7 +0,0,2,12,0,0,0,0,0,0,11,11,0,0,0,0,0,5,12,1,0,0,0,0,0,4,10,0,0,0,0,0,0,5,9,2,11,12,3,0,0,1,15,16,16,14,11,0,0,0,11,13,6,15,8,0,0,0,3,15,14,8,0,0,6 +0,0,0,0,12,3,0,0,0,0,0,2,15,0,0,0,0,0,0,9,9,0,0,0,0,0,3,15,0,3,10,0,0,1,14,3,0,14,6,0,0,10,16,15,13,16,1,0,0,9,10,8,14,11,0,0,0,0,0,0,12,2,0,0,4 +0,0,0,9,8,0,0,0,0,0,7,14,1,0,0,0,0,0,14,3,0,0,0,0,0,3,14,0,0,0,0,0,0,7,10,1,5,3,0,0,0,2,16,12,16,16,6,0,0,0,8,16,11,11,13,0,0,0,0,7,12,16,9,0,6 +0,0,0,10,15,3,0,0,0,2,11,15,12,12,0,0,0,5,16,4,0,10,4,0,0,7,14,0,0,6,6,0,0,7,11,0,0,9,5,0,0,0,16,1,0,11,5,0,0,0,9,13,8,15,2,0,0,0,1,11,16,8,0,0,0 +0,0,5,13,14,5,0,0,0,0,9,8,9,12,0,0,0,3,12,2,11,9,0,0,0,3,13,15,14,1,0,0,0,0,0,11,12,12,2,0,0,0,4,10,0,9,9,0,0,0,10,5,2,8,13,0,0,0,5,14,15,11,2,0,8 +0,0,0,7,16,0,0,0,0,0,0,14,12,0,0,0,0,0,5,15,4,2,3,0,0,1,15,8,1,15,8,0,0,10,15,8,10,16,3,0,2,16,16,16,16,16,1,0,0,6,6,10,16,3,0,0,0,0,0,9,11,0,0,0,4 +0,0,0,4,14,0,0,0,0,0,2,15,7,0,0,0,0,0,10,11,0,0,0,0,0,3,15,2,0,0,0,0,0,6,12,7,10,4,0,0,0,5,15,16,13,15,4,0,0,0,8,16,8,13,12,0,0,0,0,8,14,13,6,0,6 +0,0,3,14,13,1,0,0,0,0,13,16,15,9,0,0,0,6,16,3,0,13,0,0,0,6,13,0,0,7,6,0,0,8,8,0,0,4,8,0,0,0,14,0,0,2,12,0,0,0,12,11,8,15,8,0,0,0,2,14,16,13,3,0,0 +0,0,7,13,3,0,0,0,0,0,5,15,3,0,0,0,0,0,12,7,0,0,0,0,0,3,14,0,0,0,0,0,0,4,13,8,12,10,1,0,0,5,16,14,10,13,8,0,0,2,15,11,5,13,7,0,0,0,5,13,14,11,1,0,6 +0,0,0,6,12,0,0,0,0,0,0,11,11,0,0,0,0,0,1,16,3,4,3,0,0,1,11,12,0,14,7,0,0,8,16,10,9,15,2,0,0,10,16,16,16,15,0,0,0,0,0,5,16,3,0,0,0,0,0,5,14,0,0,0,4 +0,0,10,15,16,6,0,0,0,1,13,5,7,15,2,0,0,0,0,0,7,12,2,0,0,0,0,6,15,3,0,0,0,0,7,12,1,0,0,0,0,5,14,2,0,0,0,0,0,9,14,10,11,7,1,0,0,1,7,8,8,11,4,0,2 +0,0,0,1,15,10,0,0,0,0,0,6,16,7,0,0,0,0,0,11,16,0,0,0,0,0,2,16,12,15,11,0,0,1,15,14,6,16,8,0,0,8,16,15,16,16,6,0,0,5,12,12,16,13,3,0,0,0,0,2,14,3,0,0,4 +0,0,0,6,14,16,7,0,0,0,10,15,6,15,7,0,0,4,16,3,2,12,0,0,0,3,15,11,7,16,3,0,0,0,2,9,15,13,0,0,0,0,0,4,15,5,0,0,0,0,0,8,16,0,0,0,0,0,0,5,16,0,0,0,9 +0,0,6,12,16,10,0,0,0,0,12,8,11,13,0,0,0,5,13,3,15,5,0,0,0,4,15,16,11,0,0,0,0,0,8,14,15,11,0,0,0,0,11,5,2,15,7,0,0,0,12,5,4,13,8,0,0,0,6,15,16,14,3,0,8 +0,0,0,0,2,14,4,0,0,0,0,1,11,16,5,0,0,0,6,14,16,16,1,0,0,5,16,12,16,13,0,0,0,3,10,0,14,13,0,0,0,0,0,0,15,14,0,0,0,0,0,0,8,16,1,0,0,0,0,0,4,15,0,0,1 +0,0,2,12,13,4,0,0,0,0,12,11,8,13,0,0,0,0,13,0,13,5,0,0,0,11,14,7,11,0,0,0,0,0,7,16,5,0,0,0,0,0,7,12,12,4,0,0,0,0,9,6,10,10,0,0,0,0,2,14,15,6,0,0,8 +0,3,15,13,2,0,0,0,0,11,14,12,11,0,0,0,0,8,2,4,15,0,0,0,0,0,0,4,15,0,0,0,0,0,0,13,7,0,0,0,0,0,6,15,1,0,0,0,0,2,14,14,12,15,8,0,0,2,13,13,12,12,5,0,2 +0,0,4,6,14,10,2,0,0,0,15,16,12,12,12,0,0,4,14,1,0,0,0,0,0,5,16,16,12,1,0,0,0,0,4,8,15,10,0,0,0,0,0,0,5,9,0,0,0,0,0,5,14,3,0,0,0,0,5,14,5,0,0,0,5 +0,0,1,13,13,2,0,0,0,0,5,15,13,13,0,0,0,1,13,5,0,14,1,0,0,3,16,7,0,8,8,0,0,4,9,0,0,8,8,0,0,2,13,1,0,7,11,0,0,0,14,14,9,16,7,0,0,0,3,12,16,9,0,0,0 +0,3,15,16,13,0,0,0,0,10,14,15,16,4,0,0,0,3,3,1,16,8,0,0,0,0,0,6,16,4,0,0,0,0,1,14,12,0,0,0,0,0,10,16,3,0,0,0,0,3,16,15,12,11,1,0,0,2,16,16,16,16,8,0,2 +0,0,5,15,9,0,0,0,0,2,13,8,15,5,0,0,0,2,2,0,8,5,0,0,0,0,5,9,15,2,0,0,0,0,11,15,15,11,0,0,0,0,0,0,1,14,1,0,0,0,4,9,4,11,3,0,0,0,5,12,13,9,0,0,3 +0,0,3,9,14,8,0,0,0,0,13,16,14,16,0,0,0,0,10,0,12,10,0,0,0,0,0,7,16,8,0,0,0,0,0,3,13,15,1,0,0,0,0,1,1,13,4,0,0,0,3,13,11,14,1,0,0,0,3,16,10,1,0,0,3 +0,0,0,0,12,16,2,0,0,0,3,11,16,16,5,0,0,3,15,16,16,14,0,0,0,4,12,12,16,14,0,0,0,0,0,5,16,11,0,0,0,0,0,7,16,11,0,0,0,0,0,4,16,13,0,0,0,0,0,1,13,13,0,0,1 +0,2,12,11,1,0,0,0,0,6,14,16,8,0,0,0,0,5,5,10,11,0,0,0,0,0,0,11,6,0,0,0,0,0,3,16,1,0,0,0,0,1,15,7,2,1,0,0,0,5,16,16,16,16,7,0,0,3,12,12,8,6,3,0,2 +0,0,0,1,8,15,10,0,0,0,3,15,15,16,12,0,0,0,16,9,6,16,2,0,0,4,16,9,13,16,1,0,0,0,10,12,15,16,0,0,0,0,0,0,10,12,0,0,0,0,0,0,10,11,0,0,0,0,0,0,6,6,0,0,9 +0,0,2,14,15,3,0,0,0,0,11,14,14,13,0,0,0,0,16,4,1,13,4,0,0,3,16,4,0,7,8,0,0,5,13,0,0,4,8,0,0,3,13,1,0,8,9,0,0,0,12,11,10,15,6,0,0,0,4,15,15,8,0,0,0 +0,0,0,1,9,13,5,0,0,0,3,13,10,12,9,0,0,0,11,8,0,13,3,0,0,1,15,14,11,16,2,0,0,0,1,8,10,14,0,0,0,0,0,0,7,13,0,0,0,0,0,0,10,9,0,0,0,0,0,0,13,5,0,0,9 +0,1,14,16,8,0,0,0,0,7,12,9,16,0,0,0,0,4,2,0,16,0,0,0,0,0,1,10,9,0,0,0,0,0,7,13,1,0,0,0,0,0,16,1,0,0,0,0,0,3,13,4,7,8,5,0,0,1,13,16,15,12,10,0,2 +0,0,2,10,16,14,3,0,0,3,13,16,11,8,2,0,0,6,16,6,0,0,0,0,0,2,14,16,15,7,0,0,0,0,0,4,10,16,5,0,0,0,0,0,2,15,4,0,0,0,5,7,15,12,0,0,0,0,3,15,10,1,0,0,5 +0,1,13,11,0,0,0,0,0,5,14,16,6,0,0,0,0,7,3,12,6,0,0,0,0,0,0,14,0,0,0,0,0,0,6,12,0,0,0,0,0,2,15,4,0,0,0,0,0,4,16,9,8,10,5,0,0,1,13,16,16,15,7,0,2 +0,0,0,0,6,14,2,0,0,0,0,0,10,16,4,0,0,0,0,6,16,16,2,0,0,0,8,15,16,15,0,0,0,4,16,11,12,16,0,0,0,1,4,1,8,15,0,0,0,0,0,0,8,12,0,0,0,0,0,0,6,16,2,0,1 +0,0,0,13,3,0,0,0,0,0,7,15,3,0,0,0,0,0,15,8,0,0,0,0,0,2,16,1,0,0,0,0,0,3,14,1,4,4,0,0,0,2,16,15,16,16,9,0,0,0,11,16,12,16,15,2,0,0,1,10,15,13,10,0,6 +0,0,3,11,14,16,4,0,0,9,16,16,16,9,3,0,0,15,14,6,2,0,0,0,0,10,16,5,0,0,0,0,0,3,13,15,5,0,0,0,0,0,1,10,15,6,0,0,0,0,0,7,15,15,0,0,0,0,2,15,16,15,0,0,5 +0,0,6,12,16,14,3,0,0,6,14,6,3,15,8,0,0,7,14,9,16,16,0,0,0,0,5,11,10,14,0,0,0,0,0,0,10,8,0,0,0,0,0,3,16,3,0,0,0,0,1,15,9,0,0,0,0,0,10,11,0,0,0,0,9 +0,0,1,15,11,1,0,0,0,0,5,16,16,7,0,0,0,0,0,14,16,14,0,0,0,0,0,14,16,16,2,0,0,0,2,16,16,16,2,0,0,0,0,14,16,15,1,0,0,0,1,16,16,16,3,0,0,0,2,12,16,15,5,0,1 +0,0,10,7,12,3,0,0,0,0,16,16,16,11,0,0,0,0,15,5,0,12,7,0,0,8,8,0,0,11,8,0,0,8,8,0,0,8,8,0,0,9,9,0,2,15,5,0,0,5,16,12,15,11,0,0,0,0,13,16,10,1,0,0,0 +0,0,0,2,11,13,2,0,0,0,2,13,16,16,2,0,0,3,15,14,13,16,0,0,0,0,6,0,15,9,0,0,0,0,0,0,16,6,0,0,0,0,0,4,16,0,0,0,0,0,0,5,16,3,0,0,0,0,0,3,16,6,0,0,1 +0,0,4,11,14,7,0,0,0,0,15,12,16,3,0,0,0,0,8,16,10,0,0,0,0,0,9,16,7,0,0,0,0,3,15,4,14,4,0,0,0,2,13,0,3,15,6,0,0,0,8,9,4,8,14,0,0,0,0,7,12,12,8,0,8 +0,0,3,12,16,14,3,0,0,0,7,10,11,16,10,0,0,0,0,0,0,16,12,0,0,0,0,2,7,16,11,0,0,3,10,16,16,16,6,0,0,10,12,10,16,10,0,0,0,0,1,15,15,0,0,0,0,0,5,15,5,0,0,0,7 +0,0,7,16,15,6,0,0,0,0,2,9,15,14,0,0,0,0,0,0,13,12,0,0,0,0,0,3,16,14,8,0,0,0,9,16,16,16,9,0,0,0,5,14,14,2,0,0,0,0,2,15,6,0,0,0,0,0,9,15,0,0,0,0,7 +0,0,6,13,16,16,7,0,0,9,16,15,10,8,1,0,0,13,15,3,0,0,0,0,0,4,16,13,1,0,0,0,0,0,7,16,12,0,0,0,0,0,0,9,16,7,0,0,0,0,4,16,16,12,0,0,0,0,5,16,15,5,0,0,5 +0,4,15,15,8,1,0,0,0,4,16,11,16,15,0,0,0,1,5,0,11,16,4,0,0,0,0,6,16,13,1,0,0,0,0,12,16,1,0,0,0,0,0,6,16,5,0,0,0,0,0,4,16,8,0,0,0,4,16,16,16,6,0,0,3 +0,0,7,12,12,0,0,0,0,9,14,10,14,7,0,0,0,1,0,0,12,12,0,0,0,0,0,5,16,5,0,0,0,0,2,15,10,0,0,0,0,0,10,14,1,0,0,0,0,0,12,16,8,11,10,0,0,0,8,14,13,7,0,0,2 +0,0,1,12,11,0,0,0,0,0,9,15,3,0,0,0,0,2,16,9,0,0,4,0,0,7,16,10,4,11,15,0,0,4,16,16,16,16,9,0,0,0,5,9,15,13,0,0,0,0,0,8,16,3,0,0,0,0,0,11,13,0,0,0,4 +0,0,7,12,15,5,0,0,0,0,10,8,13,12,0,0,0,0,0,0,12,10,0,0,0,0,0,5,16,14,7,0,0,3,16,16,15,9,2,0,0,0,4,13,10,0,0,0,0,0,5,14,1,0,0,0,0,0,13,6,0,0,0,0,7 +0,0,8,13,12,2,0,0,0,0,10,12,13,10,0,0,0,0,1,0,8,12,0,0,0,0,0,0,9,12,0,0,0,0,0,3,16,5,0,0,0,0,1,13,12,2,3,0,0,0,12,16,16,16,9,0,0,0,10,12,9,2,0,0,2 +0,0,6,13,15,5,0,0,0,7,16,11,11,16,0,0,0,10,12,0,3,16,2,0,0,4,3,0,5,13,0,0,0,0,0,0,14,6,0,0,0,0,0,6,14,1,0,0,0,0,2,16,14,16,13,0,0,0,8,16,12,8,0,0,2 +0,0,0,5,14,16,16,5,0,0,10,16,15,16,16,7,0,4,15,6,1,16,12,0,0,0,2,0,5,16,7,0,0,0,0,0,4,16,2,0,0,0,0,0,6,16,1,0,0,0,0,2,15,14,0,0,0,0,0,3,15,7,0,0,3 +0,0,6,14,16,13,0,0,0,6,14,3,0,13,4,0,0,5,12,0,4,16,3,0,0,0,14,14,15,5,0,0,0,1,14,12,1,0,0,0,0,5,16,13,2,0,0,0,0,2,16,16,13,0,0,0,0,0,2,12,12,0,0,0,8 +0,0,0,7,16,5,0,0,0,0,3,15,16,11,0,0,0,2,15,16,16,1,0,0,0,13,16,16,12,0,0,0,0,1,11,16,11,0,0,0,0,0,6,16,11,0,0,0,0,0,0,14,15,3,0,0,0,0,0,4,15,12,0,0,1 +0,0,0,6,6,0,0,0,0,0,0,13,9,0,0,0,0,0,5,16,4,0,0,0,0,0,7,15,0,0,0,0,0,0,8,12,12,8,2,0,0,0,12,16,12,12,14,1,0,0,6,16,6,8,16,6,0,0,0,4,14,16,15,1,6 +0,2,8,9,6,0,0,0,0,0,6,16,16,14,1,0,0,0,4,16,16,16,4,0,0,0,4,16,16,16,4,0,0,0,4,16,16,16,3,0,0,0,7,16,16,12,0,0,0,1,14,16,16,11,0,0,0,2,10,9,5,1,0,0,1 +0,0,2,13,13,0,0,0,0,1,14,13,2,0,0,0,0,6,16,3,0,0,0,0,0,7,16,6,0,10,7,0,0,1,14,16,14,16,10,0,0,0,5,15,16,11,0,0,0,0,0,11,16,0,0,0,0,0,3,16,8,0,0,0,4 +0,0,9,15,16,12,1,0,0,0,9,10,14,16,9,0,0,0,0,0,2,16,10,0,0,0,0,0,8,15,2,0,0,0,0,10,15,4,0,0,0,0,6,16,6,0,0,0,0,0,15,16,12,12,0,0,0,0,14,16,13,5,0,0,2 +0,0,3,10,13,16,12,0,0,3,15,13,8,10,12,0,0,1,12,13,16,16,10,0,0,0,0,0,4,16,5,0,0,0,0,0,10,16,0,0,0,0,0,1,15,12,0,0,0,0,0,9,15,0,0,0,0,0,0,14,9,0,0,0,9 +0,0,1,11,12,0,0,0,0,0,8,16,3,3,1,0,0,1,16,11,0,15,8,0,0,11,15,5,10,16,1,0,0,6,16,16,16,16,8,0,0,0,3,12,15,12,4,0,0,0,0,13,11,0,0,0,0,0,0,14,5,0,0,0,4 +0,1,10,16,16,12,2,0,0,8,11,8,5,12,8,0,0,1,0,0,5,15,7,0,0,0,10,15,16,9,0,0,0,0,5,9,16,9,0,0,0,0,0,0,3,16,0,0,0,1,8,2,5,16,0,0,0,2,14,16,12,5,0,0,3 +0,0,0,0,3,16,6,0,0,0,0,5,15,16,9,0,0,1,10,16,15,16,8,0,0,10,16,12,2,16,5,0,0,1,6,0,4,16,4,0,0,0,0,0,5,16,1,0,0,0,0,0,6,16,3,0,0,0,0,0,3,16,9,0,1 +0,0,1,15,8,1,0,0,0,0,5,16,16,1,0,0,0,0,2,16,16,3,0,0,0,0,5,16,16,3,0,0,0,0,4,16,16,4,0,0,0,0,3,16,16,5,0,0,0,0,2,15,16,9,0,0,0,0,2,11,16,13,0,0,1 +0,1,8,16,16,6,0,0,0,12,16,15,12,6,0,0,1,16,13,2,0,0,0,0,0,7,16,2,0,0,0,0,0,0,7,15,7,0,0,0,0,0,0,4,14,11,0,0,0,0,1,8,14,16,2,0,0,0,5,16,16,9,0,0,5 +0,0,6,12,13,16,14,1,0,0,6,8,6,10,15,1,0,0,0,0,0,10,12,0,0,0,0,0,5,16,2,0,0,0,1,14,16,14,3,0,0,0,2,13,13,1,0,0,0,0,2,16,6,0,0,0,0,0,9,12,0,0,0,0,7 +0,0,5,15,16,16,9,0,0,0,4,6,5,8,16,2,0,0,0,0,0,9,12,0,0,0,0,6,12,16,11,0,0,0,0,12,16,9,0,0,0,0,0,5,13,1,0,0,0,0,3,14,5,0,0,0,0,0,6,9,0,0,0,0,7 +0,0,0,11,10,1,0,0,0,0,10,16,9,3,0,0,0,0,15,14,0,0,0,0,0,2,16,7,0,0,0,0,0,0,16,5,4,0,0,0,0,0,15,16,16,13,1,0,0,0,6,16,16,16,11,0,0,0,0,6,16,16,9,0,6 +0,1,11,16,11,11,0,0,0,10,14,4,8,14,0,0,0,5,16,1,13,11,0,0,0,0,8,16,15,1,0,0,0,0,7,16,10,0,0,0,0,0,14,11,16,0,0,0,0,2,16,11,12,0,0,0,0,0,12,15,4,0,0,0,8 +0,1,10,15,15,6,0,0,0,8,16,15,14,15,3,0,0,3,6,3,15,15,0,0,0,0,0,12,16,5,0,0,0,0,0,8,16,2,0,0,0,0,0,4,16,8,0,0,0,0,4,15,16,4,0,0,0,0,14,16,7,0,0,0,3 +0,0,7,15,15,4,0,0,0,9,16,10,16,10,0,0,0,0,3,0,14,12,0,0,0,0,0,2,16,5,0,0,0,0,1,14,11,0,0,0,0,0,12,16,0,0,0,0,0,0,12,16,5,4,3,0,0,0,5,14,16,15,8,0,2 +0,0,5,11,16,13,6,0,0,0,5,8,8,14,15,0,0,0,0,0,0,12,15,0,0,0,2,8,12,16,11,0,0,0,8,16,16,16,4,0,0,0,0,8,16,6,0,0,0,0,6,13,15,0,0,0,0,0,6,14,5,0,0,0,7 +0,0,6,14,11,3,0,0,0,1,15,10,16,14,0,0,0,5,14,0,0,11,6,0,0,7,11,0,0,8,8,0,0,8,8,0,0,12,8,0,0,7,9,0,4,16,2,0,0,0,16,12,15,12,0,0,0,0,6,16,11,1,0,0,0 +0,0,0,4,15,0,0,0,0,0,1,14,8,0,0,0,0,0,7,14,0,0,0,0,0,4,16,6,0,11,4,0,0,9,16,0,8,15,2,0,0,13,16,16,16,11,0,0,0,4,8,6,16,8,0,0,0,0,0,2,14,0,0,0,4 +0,0,5,12,13,1,0,0,0,0,7,16,16,10,0,0,0,0,1,13,16,13,0,0,0,0,0,0,10,15,0,0,0,0,0,0,9,15,0,0,0,0,2,5,15,12,0,0,0,0,11,16,16,7,0,0,0,0,4,13,9,0,0,0,9 +0,0,0,6,11,14,3,0,0,0,9,13,8,15,12,0,0,0,0,0,0,10,11,0,0,0,0,0,0,13,9,0,0,0,4,11,13,16,4,0,0,0,3,8,14,12,0,0,0,0,0,3,16,3,0,0,0,0,0,9,14,0,0,0,7 +0,0,6,15,15,4,0,0,0,4,15,16,16,14,0,0,0,12,16,13,16,16,1,0,0,9,16,15,14,16,2,0,0,0,4,2,7,16,1,0,0,0,0,2,15,14,0,0,0,0,1,14,16,6,0,0,0,0,5,15,6,0,0,0,9 +0,0,7,16,10,0,0,0,0,1,16,14,16,9,0,0,0,0,11,16,16,15,0,0,0,0,0,7,13,14,0,0,0,0,0,0,11,14,0,0,0,0,0,0,13,12,0,0,0,0,1,11,15,3,0,0,0,0,6,16,6,0,0,0,9 +0,0,0,10,10,0,0,0,0,1,8,2,12,4,0,0,0,7,14,1,2,12,0,0,0,7,10,0,0,12,3,0,0,3,12,0,0,11,8,0,0,1,15,1,1,15,8,0,0,0,6,14,13,16,4,0,0,0,0,9,14,7,0,0,0 +0,0,3,15,9,1,0,0,0,0,11,14,16,14,1,0,0,4,14,1,3,11,8,0,0,8,9,0,0,8,8,0,0,8,8,0,1,15,4,0,0,7,9,0,7,13,0,0,0,3,14,10,15,3,0,0,0,0,5,13,4,0,0,0,0 +0,2,7,14,16,12,0,0,0,9,16,16,15,13,2,0,0,3,16,7,2,0,0,0,0,0,13,9,0,0,0,0,0,0,7,15,1,0,0,0,0,0,2,15,5,0,0,0,0,1,16,16,7,0,0,0,0,0,9,16,4,0,0,0,5 +0,0,0,11,8,0,0,0,0,0,4,16,15,5,0,0,0,0,6,11,4,15,0,0,0,0,6,4,0,14,4,0,0,0,16,2,0,14,6,0,0,0,14,3,4,16,5,0,0,0,9,14,15,16,1,0,0,0,1,11,14,4,0,0,0 +0,0,9,15,16,9,0,0,0,11,16,9,11,16,2,0,0,5,3,1,14,14,1,0,0,0,0,7,16,5,0,0,0,0,0,4,16,5,0,0,0,0,0,0,10,16,0,0,0,0,1,6,15,13,0,0,0,0,14,15,9,1,0,0,3 +0,0,2,11,11,2,0,0,0,0,11,16,16,5,0,0,0,0,10,16,16,5,0,0,0,0,2,11,14,9,0,0,0,0,0,0,8,12,0,0,0,0,0,0,8,16,0,0,0,0,0,8,15,10,0,0,0,0,1,14,14,3,0,0,9 +0,0,3,12,16,16,16,12,0,0,9,12,8,8,16,11,0,0,1,0,1,8,16,6,0,0,1,12,16,16,14,1,0,0,0,12,15,14,3,0,0,0,0,4,16,6,0,0,0,0,0,15,13,0,0,0,0,0,5,16,3,0,0,0,7 +0,0,8,16,2,3,0,0,0,0,15,11,5,16,1,0,0,0,16,4,9,16,1,0,0,0,8,13,15,12,0,0,0,0,8,16,13,0,0,0,0,0,13,16,7,0,0,0,0,1,16,16,7,0,0,0,0,0,8,13,1,0,0,0,8 +0,0,1,13,15,5,0,0,0,0,10,15,8,6,0,0,0,2,16,6,0,0,0,0,0,4,15,1,4,0,0,0,0,5,13,3,16,11,1,0,0,0,15,1,5,15,5,0,0,0,11,12,8,16,6,0,0,0,0,10,16,10,0,0,6 +0,0,7,9,15,12,1,0,0,8,15,10,9,16,4,0,0,6,3,1,12,14,0,0,0,0,0,6,16,5,0,0,0,0,0,5,15,8,0,0,0,0,0,0,8,16,3,0,0,0,1,7,15,9,0,0,0,0,7,16,8,0,0,0,3 +0,0,3,9,16,13,0,0,0,4,15,12,12,16,0,0,0,8,4,4,14,9,0,0,0,0,0,8,16,7,0,0,0,0,0,1,16,15,0,0,0,0,0,0,0,16,4,0,0,0,0,7,14,15,2,0,0,0,1,15,12,2,0,0,3 +0,0,0,9,15,2,0,0,0,0,8,16,9,1,0,0,0,1,15,12,0,0,0,0,0,3,16,4,0,0,0,0,0,1,16,2,5,0,0,0,0,0,14,16,16,11,1,0,0,0,5,16,16,16,7,0,0,0,0,8,12,13,1,0,6 +0,0,1,8,12,1,0,0,0,0,7,16,11,0,0,0,0,0,13,14,0,0,0,0,0,2,16,10,0,0,0,0,0,1,16,8,5,3,0,0,0,0,14,16,16,16,10,0,0,0,7,16,9,15,16,2,0,0,0,6,12,14,7,0,6 +0,0,10,16,16,16,3,0,0,0,14,16,16,13,5,0,0,0,8,16,4,0,0,0,0,0,1,15,9,0,0,0,0,0,0,11,12,0,0,0,0,0,3,9,16,0,0,0,0,4,16,15,16,0,0,0,0,0,10,16,10,0,0,0,5 +0,0,5,14,16,8,0,0,0,3,16,14,15,15,0,0,0,0,8,3,14,11,0,0,0,0,0,9,15,3,0,0,0,0,3,15,8,0,0,0,0,0,10,14,1,0,0,0,0,0,16,13,4,9,8,0,0,0,5,14,15,12,3,0,2 +0,0,0,12,9,1,0,0,0,0,7,14,12,10,0,0,0,0,11,3,3,16,1,0,0,6,10,0,1,16,2,0,0,5,13,0,2,16,3,0,0,2,14,2,7,16,1,0,0,0,10,14,16,11,0,0,0,0,1,12,12,1,0,0,0 +0,1,8,15,16,8,0,0,0,14,16,16,11,4,0,0,0,4,15,12,0,0,0,0,0,0,6,16,3,0,0,0,0,0,0,10,12,0,0,0,0,0,0,6,16,1,0,0,0,0,12,15,16,1,0,0,0,0,9,16,13,1,0,0,5 +0,0,3,15,13,2,0,0,0,1,13,16,16,0,0,0,0,9,16,16,16,1,0,0,0,0,3,15,16,1,0,0,0,0,0,14,16,6,0,0,0,0,0,9,16,11,0,0,0,0,5,12,16,9,0,0,0,0,4,15,10,1,0,0,1 +0,0,0,1,15,3,0,0,0,0,0,14,15,0,0,0,0,0,10,13,1,3,4,0,0,3,13,3,0,11,9,0,0,9,12,0,7,15,3,0,0,8,16,16,16,10,0,0,0,1,7,6,16,5,0,0,0,0,0,1,12,2,0,0,4 +0,0,2,13,13,3,0,0,0,0,11,12,12,12,0,0,0,2,15,0,1,15,4,0,0,7,9,0,0,13,5,0,0,6,11,0,0,11,8,0,0,5,12,0,0,16,4,0,0,0,15,9,8,15,1,0,0,0,5,15,13,2,0,0,0 +0,0,4,13,16,7,0,0,0,0,11,9,15,11,0,0,0,0,0,0,12,9,0,0,0,0,0,4,16,3,0,0,0,0,12,16,16,16,5,0,0,0,6,14,16,15,2,0,0,0,1,16,3,0,0,0,0,0,6,14,2,0,0,0,7 +0,0,0,4,13,7,0,0,0,0,0,5,15,16,2,0,0,0,1,14,16,16,0,0,0,2,14,16,16,16,0,0,0,5,12,10,16,16,0,0,0,0,0,4,16,16,0,0,0,0,0,5,16,16,4,0,0,0,0,4,14,15,4,0,1 +0,0,5,13,16,6,0,0,0,0,12,11,5,16,1,0,0,0,10,8,5,16,6,0,0,0,2,16,16,14,0,0,0,0,7,16,16,5,0,0,0,4,16,7,8,13,0,0,0,2,16,3,2,16,6,0,0,0,6,15,16,15,4,0,8 +0,0,0,6,16,4,0,0,0,0,0,16,16,5,0,0,0,0,5,16,16,4,0,0,0,5,15,16,16,4,0,0,0,8,16,16,16,7,0,0,0,0,0,7,16,16,0,0,0,0,0,6,16,16,5,0,0,0,0,3,16,16,3,0,1 +0,0,6,13,14,3,0,0,0,7,15,8,9,12,0,0,0,6,15,5,4,16,1,0,0,0,8,16,16,16,6,0,0,0,0,11,16,12,0,0,0,0,5,15,9,15,0,0,0,0,10,13,1,16,4,0,0,0,5,12,16,15,2,0,8 +0,3,10,16,14,14,3,0,0,8,16,9,12,12,3,0,0,7,15,8,7,1,0,0,0,5,16,16,16,11,0,0,0,0,1,0,4,15,3,0,0,0,2,0,4,16,4,0,0,2,15,10,14,16,2,0,0,1,11,12,12,4,0,0,5 +0,0,2,14,16,7,0,0,0,0,8,16,8,16,2,0,0,0,4,16,13,16,6,0,0,0,0,15,16,9,0,0,0,0,5,16,16,6,0,0,0,1,15,8,9,12,0,0,0,1,16,11,9,16,2,0,0,0,3,12,13,11,0,0,8 +0,0,5,13,0,0,0,0,0,0,12,11,0,0,0,0,0,3,16,2,0,0,0,0,0,5,15,0,0,0,0,0,0,7,14,0,4,1,0,0,0,5,16,16,16,13,0,0,0,3,16,16,10,16,5,0,0,0,6,13,16,12,0,0,6 +0,0,15,8,0,0,0,0,0,6,15,16,3,0,0,0,0,6,9,13,5,0,0,0,0,0,1,8,8,0,0,0,0,0,0,13,7,0,0,0,0,0,5,15,4,0,2,0,0,4,16,16,16,16,10,0,0,1,8,8,11,12,13,0,2 +0,0,2,14,16,14,2,0,0,0,0,11,13,16,3,0,0,0,0,0,10,14,0,0,0,0,2,8,14,12,2,0,0,0,10,16,16,16,9,0,0,0,6,16,14,12,2,0,0,0,3,15,11,0,0,0,0,0,6,15,3,0,0,0,7 +0,0,2,12,13,3,0,0,0,0,14,12,12,14,2,0,0,4,16,2,8,16,7,0,0,3,15,14,16,7,0,0,0,0,3,15,16,9,0,0,0,0,10,13,9,16,0,0,0,0,11,11,7,16,2,0,0,0,2,13,12,8,1,0,8 +0,0,0,9,7,0,0,0,0,0,2,16,2,5,1,0,0,0,9,8,3,15,1,0,0,3,14,1,8,12,0,0,0,6,16,12,16,16,5,0,0,8,15,13,16,9,0,0,0,0,0,5,14,0,0,0,0,0,0,10,7,0,0,0,4 +0,0,0,11,4,0,0,0,0,0,0,15,1,0,0,0,0,0,5,9,3,7,0,0,0,0,13,5,7,10,0,0,0,7,15,2,11,15,1,0,0,9,16,16,16,14,2,0,0,0,4,8,16,1,0,0,0,0,0,8,12,0,0,0,4 +0,0,1,13,13,0,0,0,0,0,11,14,15,11,0,0,0,4,16,4,2,15,5,0,0,8,9,0,0,12,7,0,0,5,10,0,0,12,7,0,0,5,14,1,2,15,1,0,0,1,14,15,12,12,0,0,0,0,2,13,12,3,0,0,0 +0,0,0,10,14,6,0,0,0,0,0,8,16,10,1,0,0,0,0,11,16,6,0,0,0,0,6,16,16,4,0,0,0,4,12,14,16,4,0,0,0,0,0,8,16,4,0,0,0,0,0,11,16,5,0,0,0,0,0,6,16,16,7,0,1 +0,0,0,1,13,8,0,0,0,0,0,6,16,9,0,0,0,0,2,15,16,8,0,0,0,3,16,16,16,10,0,0,0,0,3,3,16,12,0,0,0,0,0,0,16,12,0,0,0,0,0,2,16,16,4,0,0,0,0,1,16,14,3,0,1 +0,0,4,11,14,12,2,0,0,0,11,12,4,8,0,0,0,1,16,6,0,0,0,0,0,3,16,8,7,2,0,0,0,5,16,16,16,15,2,0,0,0,3,0,1,15,6,0,0,0,3,8,9,15,9,0,0,0,7,16,12,10,2,0,5 +0,0,4,12,2,0,0,0,0,0,14,8,0,0,0,0,0,5,16,2,0,0,0,0,0,8,12,0,0,0,0,0,0,8,13,9,14,10,0,0,0,7,16,13,9,16,5,0,0,0,14,11,5,16,7,0,0,0,4,14,14,8,0,0,6 +0,2,14,14,3,0,0,0,0,8,15,15,11,0,0,0,0,9,14,10,14,2,0,0,0,1,7,8,16,0,0,0,0,0,0,11,14,0,0,0,0,0,0,16,10,0,0,0,0,2,13,16,13,10,7,0,0,4,16,16,16,16,15,0,2 +0,0,7,15,12,4,0,0,0,5,15,4,9,14,0,0,0,10,8,0,4,16,2,0,0,6,11,2,12,11,0,0,0,0,13,16,16,6,0,0,0,0,5,16,16,8,0,0,0,0,10,14,5,16,7,0,0,0,9,15,16,16,8,0,8 +0,1,12,15,3,0,0,0,0,8,15,14,13,0,0,0,0,3,5,9,14,0,0,0,0,0,2,16,14,2,0,0,0,0,3,16,16,15,2,0,0,0,1,0,2,14,5,0,0,0,14,11,9,16,6,0,0,3,16,16,14,7,1,0,3 +0,0,10,15,6,0,0,0,0,7,15,11,14,0,0,0,0,3,9,2,16,0,0,0,0,0,0,6,16,0,0,0,0,0,0,14,16,14,1,0,0,0,0,1,5,16,5,0,0,3,11,2,7,16,5,0,0,1,13,16,13,7,0,0,3 +0,0,2,13,15,5,0,0,0,0,8,13,12,14,1,0,0,1,14,5,0,11,6,0,0,6,16,1,0,9,7,0,0,6,16,2,0,13,4,0,0,3,16,8,4,14,0,0,0,0,8,16,16,8,0,0,0,0,0,11,10,0,0,0,0 +0,0,10,15,9,0,0,0,0,6,15,11,16,0,0,0,0,2,4,4,16,0,0,0,0,0,0,11,16,7,0,0,0,0,0,7,12,16,4,0,0,0,0,0,0,16,7,0,0,3,16,12,10,16,3,0,0,1,10,14,12,6,0,0,3 +0,0,5,14,4,0,0,0,0,0,12,12,0,0,0,0,0,0,16,9,0,0,0,0,0,8,16,0,0,0,0,0,0,8,16,13,16,9,1,0,0,11,16,14,10,16,2,0,0,7,16,14,12,15,1,0,0,1,9,13,10,3,0,0,6 +0,0,0,14,6,0,0,0,0,0,6,16,5,5,0,0,0,0,14,10,10,10,0,0,0,4,16,3,13,10,0,0,0,11,16,9,16,15,7,0,0,16,16,16,16,15,4,0,0,4,4,13,16,2,0,0,0,0,1,15,11,0,0,0,4 +0,0,0,3,10,0,0,0,0,0,0,10,8,0,0,0,0,0,5,14,0,7,0,0,0,1,14,5,1,15,0,0,0,8,10,0,6,10,0,0,0,14,14,12,14,15,1,0,0,6,12,9,16,6,0,0,0,0,0,4,14,0,0,0,4 +0,0,12,15,9,0,0,0,0,8,13,10,16,2,0,0,0,4,4,0,15,6,0,0,0,0,0,7,16,9,0,0,0,0,0,5,10,16,4,0,0,0,0,0,0,8,9,0,0,0,8,5,4,9,12,0,0,1,14,14,16,14,3,0,3 +0,0,9,6,0,0,0,0,0,0,16,6,0,0,0,0,0,1,16,0,0,0,0,0,0,4,16,0,0,0,0,0,0,4,15,12,13,9,1,0,0,6,16,11,8,14,5,0,0,3,16,12,10,15,6,0,0,0,8,15,14,7,0,0,6 +0,0,0,9,8,0,0,0,0,0,1,15,5,0,0,0,0,0,9,11,1,2,0,0,0,1,16,3,9,11,0,0,0,10,14,4,14,13,3,0,0,15,16,16,16,16,5,0,0,2,4,10,13,2,0,0,0,0,0,11,12,0,0,0,4 +0,0,4,14,16,15,1,0,0,0,6,9,14,16,0,0,0,0,0,0,14,12,2,0,0,0,6,13,16,16,12,0,0,0,6,15,15,11,5,0,0,0,1,15,9,0,0,0,0,0,2,16,7,0,0,0,0,0,7,14,2,0,0,0,7 +0,0,13,15,0,0,0,0,0,4,16,4,0,0,0,0,0,7,16,0,0,0,0,0,0,10,14,0,3,1,0,0,0,9,12,10,16,14,3,0,0,8,16,13,5,7,15,0,0,2,16,9,0,7,16,0,0,0,13,16,16,16,7,0,6 +0,0,9,15,5,0,0,0,0,7,16,13,14,0,0,0,0,14,10,4,16,0,0,0,0,7,6,2,16,1,0,0,0,0,0,6,13,0,0,0,0,0,0,9,11,0,0,0,0,0,5,16,15,9,4,0,0,0,10,14,11,15,16,2,2 +0,0,11,16,8,0,0,0,0,5,16,12,15,0,0,0,0,10,12,9,11,0,0,0,0,7,15,15,6,0,0,0,0,0,14,16,11,1,0,0,0,1,14,11,12,15,3,0,0,7,16,2,0,11,12,0,0,1,10,15,16,16,6,0,8 +0,3,12,12,3,0,0,0,0,8,10,11,9,0,0,0,0,0,2,14,4,0,0,0,0,0,12,13,1,0,0,0,0,0,3,13,15,3,0,0,0,0,0,0,7,14,1,0,0,2,4,4,3,11,7,0,0,5,12,12,14,16,8,0,3 +0,0,5,16,10,0,0,0,0,0,8,16,12,0,0,0,0,0,8,16,9,0,0,0,0,5,15,16,8,0,0,0,0,3,12,16,9,0,0,0,0,0,0,13,16,2,0,0,0,0,0,9,16,11,2,0,0,0,4,16,16,16,11,0,1 +0,0,2,15,11,0,0,0,0,0,8,16,11,0,0,0,0,1,13,16,7,0,0,0,0,8,16,16,7,0,0,0,0,11,9,16,12,0,0,0,0,0,0,7,16,6,0,0,0,0,0,5,16,15,3,0,0,0,3,16,16,16,15,1,1 +0,0,0,5,13,0,0,0,0,0,1,14,5,0,10,3,0,0,8,15,0,8,16,1,0,2,16,6,0,13,11,0,1,13,16,10,12,16,4,0,6,15,14,12,15,12,0,0,0,0,0,1,15,5,0,0,0,0,0,8,12,0,0,0,4 +0,2,15,15,2,0,0,0,0,10,11,16,6,0,0,0,0,9,5,12,9,0,0,0,0,0,0,13,8,0,0,0,0,0,1,16,3,0,0,0,0,0,9,13,0,0,0,0,0,1,14,16,15,10,5,0,0,5,15,8,12,15,12,0,2 +0,0,0,2,15,15,2,0,0,0,1,13,16,14,0,0,0,0,8,16,16,10,0,0,0,7,16,16,16,6,0,0,0,1,0,14,15,1,0,0,0,0,0,14,15,0,0,0,0,0,0,10,16,4,0,0,0,0,0,6,16,9,0,0,1 +0,0,0,8,15,16,7,0,0,1,14,9,1,0,8,0,0,6,12,0,0,10,8,0,0,4,14,12,13,14,8,0,0,0,0,0,1,4,8,0,0,0,0,0,0,4,8,0,0,0,0,0,0,7,8,0,0,0,0,8,12,15,6,0,9 +0,0,2,13,16,14,2,0,0,0,12,13,8,15,8,0,0,8,14,0,0,11,12,0,0,7,16,13,11,16,13,0,0,0,6,8,8,14,10,0,0,0,0,0,0,15,8,0,0,0,3,12,5,15,5,0,0,0,1,12,16,14,2,0,9 +0,0,7,10,13,10,0,0,0,0,14,11,4,11,3,0,0,2,15,1,0,5,8,0,0,7,9,0,0,3,8,0,0,5,12,0,0,4,8,0,0,5,11,0,0,8,4,0,0,0,12,2,2,12,0,0,0,0,6,15,14,2,0,0,0 +0,7,16,15,2,0,0,0,0,13,10,12,11,0,0,0,0,13,4,8,12,0,0,0,0,0,1,7,13,0,0,0,0,0,1,14,8,0,0,0,0,0,5,16,1,0,0,0,0,1,13,15,12,11,7,0,0,5,16,16,15,14,16,1,2 +0,0,0,5,14,16,16,1,0,0,8,14,8,13,16,1,0,0,1,0,0,11,12,0,0,0,0,2,4,14,8,0,0,2,11,16,16,16,8,0,0,7,10,5,11,10,0,0,0,0,0,1,15,3,0,0,0,0,0,8,12,0,0,0,7 +0,0,13,16,16,16,6,0,0,6,16,8,5,5,5,0,0,11,16,0,0,0,0,0,0,5,16,14,9,1,0,0,0,0,1,6,14,10,0,0,0,0,0,0,5,16,0,0,0,0,4,2,13,12,0,0,0,1,13,16,14,1,0,0,5 +0,0,0,2,16,1,0,0,0,0,1,13,7,0,4,5,0,0,8,12,0,1,15,5,0,4,16,2,0,11,10,0,0,12,15,12,12,16,1,0,0,9,12,12,14,13,0,0,0,0,0,1,14,5,0,0,0,0,0,4,12,0,0,0,4 +0,0,9,15,16,3,0,0,0,5,15,10,16,4,0,0,0,0,2,7,13,0,0,0,0,0,4,16,5,0,0,0,0,0,2,15,16,11,1,0,0,0,0,0,6,15,6,0,0,0,5,5,4,13,8,0,0,0,14,16,16,15,3,0,3 +0,0,4,16,16,6,0,0,0,3,11,11,5,15,2,0,0,8,16,8,0,13,7,0,0,11,16,3,0,10,11,0,0,9,16,0,0,4,12,0,0,6,16,2,0,7,11,0,0,1,16,10,5,15,5,0,0,0,4,15,16,10,0,0,0 +0,0,2,11,15,5,0,0,0,0,12,8,9,9,0,0,0,0,12,5,9,7,0,0,0,0,9,15,10,0,0,0,0,0,6,15,11,1,0,0,0,8,13,2,11,11,0,0,0,7,13,7,0,13,3,0,0,0,2,11,15,13,2,0,8 +0,0,6,9,12,16,10,0,0,0,11,13,5,4,4,0,0,0,12,4,0,0,0,0,0,3,15,3,4,2,0,0,0,2,16,14,12,14,7,0,0,0,1,0,0,10,4,0,0,12,13,0,1,13,2,0,0,0,6,16,16,7,0,0,5 +0,0,10,16,15,3,0,0,0,6,16,6,9,14,1,0,0,8,16,3,0,13,6,0,0,11,14,0,0,7,10,0,0,8,12,0,0,4,12,0,0,8,13,0,0,9,9,0,0,4,16,8,9,16,3,0,0,0,10,16,15,6,0,0,0 +0,0,1,12,15,6,0,0,0,0,5,13,1,12,0,0,0,0,2,11,1,15,0,0,0,0,0,10,11,9,0,0,0,0,0,6,16,6,0,0,0,0,10,15,4,13,3,0,0,0,12,2,0,1,14,0,0,0,1,10,10,8,15,1,8 +0,0,0,5,16,1,0,0,0,0,2,15,10,1,9,2,0,0,12,14,1,8,15,1,0,4,16,6,1,15,8,0,0,13,16,16,16,16,9,0,0,8,10,8,16,13,0,0,0,0,0,1,16,9,0,0,0,0,0,5,16,2,0,0,4 +0,3,15,16,12,1,0,0,0,12,14,12,16,7,0,0,0,12,6,0,14,10,0,0,0,1,1,1,16,8,0,0,0,0,0,10,15,1,0,0,0,0,5,16,7,0,0,0,0,3,14,16,9,6,4,0,0,3,15,16,16,16,12,0,2 +0,0,12,14,12,12,3,0,0,0,15,12,10,9,1,0,0,2,16,6,7,2,0,0,0,4,16,16,16,15,1,0,0,0,4,4,4,16,8,0,0,0,1,0,0,10,7,0,0,4,12,0,3,14,4,0,0,1,13,16,16,6,0,0,5 +0,3,16,9,0,0,0,0,0,7,15,16,2,0,0,0,0,8,9,16,4,0,0,0,0,2,4,13,7,0,0,0,0,0,0,14,7,0,0,0,0,0,1,15,7,0,0,0,0,1,14,16,16,13,9,1,0,4,16,11,8,8,11,2,2 +0,2,12,16,16,8,0,0,0,8,10,9,16,6,0,0,0,0,1,13,13,0,0,0,0,0,8,16,5,0,0,0,0,0,2,14,15,3,0,0,0,0,0,0,9,15,3,0,0,0,0,3,4,14,11,0,0,3,15,16,16,16,9,0,3 +0,0,0,0,14,9,0,0,0,0,0,8,15,3,7,1,0,0,6,15,4,5,16,6,0,5,16,5,0,13,14,0,0,11,16,12,12,16,8,0,0,6,9,8,12,15,2,0,0,0,0,0,10,14,0,0,0,0,0,0,15,7,0,0,4 +0,0,0,10,16,15,3,0,0,0,6,13,10,16,2,0,0,0,3,1,2,14,0,0,0,0,0,0,8,8,0,0,0,0,1,8,14,15,8,0,0,1,15,16,13,3,0,0,0,0,2,9,7,0,0,0,0,0,0,14,1,0,0,0,7 +0,2,15,9,10,8,6,0,0,10,16,16,16,12,8,0,0,8,16,6,0,0,0,0,0,1,12,16,12,1,0,0,0,0,1,6,15,12,0,0,0,0,0,0,5,16,2,0,0,10,12,6,10,16,1,0,0,1,13,16,14,5,0,0,5 +0,0,0,10,6,0,0,0,0,0,5,16,9,0,0,0,0,0,10,16,10,0,0,0,0,4,15,12,12,0,0,0,0,2,4,3,16,2,0,0,0,0,0,0,11,9,0,0,0,0,0,7,12,15,4,0,0,0,0,12,16,16,8,0,1 +0,0,12,16,15,1,0,0,0,2,16,6,16,2,0,0,0,1,16,13,13,0,0,0,0,0,10,16,5,0,0,0,0,2,15,16,12,1,0,0,0,10,12,2,11,12,0,0,0,8,13,4,0,13,9,0,0,0,7,15,16,16,6,0,8 +0,0,14,8,0,0,0,0,0,3,16,15,4,0,0,0,0,1,10,14,9,0,0,0,0,0,0,9,13,0,0,0,0,0,0,8,13,0,0,0,0,0,1,12,15,3,0,0,0,0,11,16,16,16,12,2,0,0,13,14,2,1,3,1,2 +0,0,0,1,13,10,0,0,0,0,0,3,16,15,0,0,0,0,3,9,16,15,0,0,0,7,16,15,16,12,0,0,0,0,0,1,16,15,0,0,0,0,0,4,16,16,0,0,0,0,0,4,16,16,3,0,0,0,0,0,12,16,4,0,1 +0,0,3,15,15,12,12,4,0,0,9,10,2,9,15,2,0,0,7,2,2,14,2,0,0,0,3,4,11,10,0,0,0,0,13,16,16,16,5,0,0,0,0,10,9,0,0,0,0,0,2,16,3,0,0,0,0,0,7,13,0,0,0,0,7 +0,0,12,15,6,0,0,0,0,8,14,7,16,3,0,0,0,8,6,0,8,8,0,0,0,5,8,0,8,10,0,0,0,0,1,0,12,9,0,0,0,0,0,7,15,3,0,0,0,0,7,16,12,5,7,0,0,0,11,16,16,16,15,0,2 +0,0,7,12,12,6,0,0,0,0,16,11,15,15,2,0,0,4,12,0,1,10,6,0,0,8,10,0,0,10,6,0,0,4,12,0,0,8,8,0,0,3,13,0,0,9,7,0,0,2,15,4,5,15,2,0,0,0,9,16,16,9,0,0,0 +0,0,6,15,10,0,0,0,0,0,16,9,16,7,0,0,0,4,10,0,6,15,0,0,0,8,8,0,0,11,3,0,0,8,8,0,0,8,5,0,0,7,10,0,0,5,6,0,0,1,15,4,1,12,4,0,0,0,8,16,16,11,0,0,0 +0,0,0,0,12,15,1,0,0,3,8,8,14,16,0,0,0,11,16,16,16,16,0,0,0,1,4,4,15,16,0,0,0,0,0,0,12,16,4,0,0,0,0,0,12,16,3,0,0,0,0,0,12,16,10,0,0,0,0,0,9,16,11,0,1 +0,0,13,13,4,0,0,0,0,4,14,7,14,0,0,0,0,7,8,0,10,4,0,0,0,1,4,0,13,3,0,0,0,0,0,1,15,0,0,0,0,0,0,11,9,0,0,0,0,0,11,16,12,12,4,0,0,0,14,14,12,12,6,0,2 +0,0,0,4,14,0,0,0,0,0,0,12,12,0,0,0,0,0,1,16,9,0,0,0,0,0,10,16,7,13,0,0,0,3,16,9,9,16,0,0,0,14,16,13,15,16,5,0,0,5,13,14,16,15,3,0,0,0,0,3,16,10,0,0,4 +0,0,7,14,10,2,0,0,0,1,16,12,15,8,0,0,0,7,13,0,5,13,2,0,0,8,12,0,0,10,6,0,0,8,12,0,0,8,8,0,0,6,13,0,0,10,8,0,0,0,14,10,6,14,6,0,0,0,5,16,16,9,0,0,0 +0,0,1,13,14,11,0,0,0,0,10,12,12,16,4,0,0,0,15,0,2,9,6,0,0,5,13,0,0,6,9,0,0,5,12,0,0,5,7,0,0,1,13,2,0,9,4,0,0,0,12,11,7,11,0,0,0,0,2,15,12,3,0,0,0 +0,1,8,16,16,11,0,0,0,6,15,10,14,16,4,0,0,6,13,2,7,15,2,0,0,0,11,16,16,7,0,0,0,0,11,15,15,8,0,0,0,1,16,3,6,16,4,0,0,0,14,9,4,13,8,0,0,0,5,15,16,15,4,0,8 +0,0,7,16,15,1,0,0,0,1,16,5,12,16,6,0,0,2,15,1,4,16,6,0,0,1,13,16,16,16,5,0,0,0,0,1,0,11,8,0,0,0,0,0,0,11,7,0,0,7,14,9,10,16,3,0,0,1,9,14,15,9,0,0,9 +0,0,0,6,16,0,0,0,0,0,0,14,11,0,0,0,0,0,4,16,3,0,0,0,0,0,12,11,3,0,0,0,0,4,16,5,16,7,0,0,1,15,16,13,16,14,4,0,0,9,15,15,16,15,1,0,0,0,0,6,15,0,0,0,4 +0,0,0,10,16,0,0,0,0,0,6,14,2,0,0,0,0,0,12,7,0,0,0,0,0,4,16,8,7,1,0,0,0,3,16,15,13,13,3,0,0,0,16,2,0,8,11,0,0,0,9,9,1,4,14,0,0,0,1,10,16,16,8,0,6 +0,0,6,15,9,0,0,0,0,1,15,14,16,7,0,0,0,4,13,0,7,16,1,0,0,6,12,0,0,13,8,0,0,7,12,0,0,12,8,0,0,6,13,0,0,12,8,0,0,2,15,10,8,15,4,0,0,0,5,12,13,6,0,0,0 +0,0,0,4,16,2,0,0,0,0,0,9,13,0,0,0,0,0,2,16,5,0,0,0,0,0,9,13,4,0,0,0,0,3,16,6,15,5,0,0,0,10,15,9,16,10,1,0,1,16,16,16,16,16,5,0,0,3,4,9,16,4,0,0,4 +0,0,4,10,12,12,11,1,0,0,8,10,11,16,10,0,0,0,0,2,7,15,1,0,0,0,5,16,16,15,5,0,0,0,3,11,13,8,4,0,0,0,1,14,3,0,0,0,0,0,6,14,0,0,0,0,0,0,9,7,0,0,0,0,7 +0,0,6,13,13,6,0,0,0,1,14,5,7,13,0,0,0,0,0,0,2,15,0,0,0,0,0,10,14,9,0,0,0,0,0,8,9,16,3,0,0,1,5,0,0,16,4,0,0,1,16,4,5,15,3,0,0,0,6,16,14,5,0,0,3 +0,0,3,13,10,8,9,2,0,0,10,11,8,11,15,0,0,0,13,3,1,12,6,0,0,0,5,3,7,14,0,0,0,0,9,16,16,16,5,0,0,0,0,7,11,1,0,0,0,0,0,14,6,0,0,0,0,0,4,15,2,0,0,0,7 +0,0,0,1,12,8,0,0,0,0,0,4,16,4,0,0,0,0,0,9,16,1,0,0,0,0,5,16,8,1,0,0,0,0,10,16,11,15,0,0,0,5,16,11,15,15,3,0,0,12,16,16,16,16,5,0,0,0,0,0,15,14,0,0,4 +0,0,0,7,12,0,0,0,0,0,0,11,11,0,0,0,0,0,2,16,3,0,0,0,0,0,9,12,9,3,0,0,0,1,15,7,16,7,0,0,0,9,16,14,16,16,8,0,0,8,12,14,16,12,5,0,0,0,0,7,15,0,0,0,4 +0,0,5,14,16,16,14,0,0,0,14,14,12,15,13,0,0,0,9,2,5,16,5,0,0,0,1,9,15,16,7,0,0,0,3,16,16,16,9,0,0,0,0,10,14,4,0,0,0,0,0,15,7,0,0,0,0,0,5,15,2,0,0,0,7 +0,0,3,13,13,14,6,0,0,2,15,8,16,15,11,0,0,3,14,3,5,15,4,0,0,1,13,16,16,3,0,0,0,0,13,13,14,9,0,0,0,4,12,0,6,11,0,0,0,3,14,5,7,15,0,0,0,0,7,15,15,9,0,0,8 +0,0,9,13,3,0,0,0,0,1,15,14,12,0,0,0,0,0,16,0,16,2,0,0,0,0,3,2,16,2,0,0,0,0,0,2,16,3,0,0,0,0,2,11,15,2,0,0,0,0,13,16,14,8,7,0,0,0,8,13,12,12,13,0,2 +0,0,1,7,16,12,0,0,0,0,3,15,16,12,0,0,0,5,13,16,16,9,0,0,0,5,14,16,16,8,0,0,0,0,4,16,16,7,0,0,0,0,0,11,16,12,0,0,0,0,0,8,16,16,5,0,0,0,0,6,14,13,5,0,1 +0,0,0,0,7,15,2,0,0,0,0,0,8,16,5,0,0,0,0,1,13,14,0,0,0,8,16,16,16,12,0,0,0,0,3,0,16,12,0,0,0,0,0,0,12,15,0,0,0,0,0,0,9,16,2,0,0,0,0,0,6,16,8,0,1 +0,4,13,16,16,12,0,0,0,5,14,4,4,3,0,0,0,2,16,8,6,1,0,0,0,2,16,13,14,11,0,0,0,0,5,0,0,15,5,0,0,0,0,0,0,11,9,0,0,0,1,0,0,11,12,0,0,2,15,16,16,14,3,0,5 +0,0,9,12,9,0,0,0,0,3,15,10,16,1,0,0,0,0,1,1,16,4,0,0,0,0,3,13,16,2,0,0,0,0,7,12,13,14,1,0,0,3,1,0,4,16,5,0,0,12,12,4,11,15,2,0,0,4,13,15,11,3,0,0,3 +0,0,8,14,11,0,0,0,0,0,14,4,11,8,0,0,0,0,0,0,9,8,0,0,0,0,2,10,16,3,0,0,0,0,5,9,9,15,2,0,0,0,0,0,0,10,7,0,0,7,12,1,1,14,7,0,0,0,8,16,16,10,1,0,3 +0,0,4,15,15,8,1,0,0,2,12,3,10,14,11,0,0,3,14,5,3,11,11,0,0,0,7,15,16,14,2,0,0,0,5,16,11,15,2,0,0,0,13,1,2,16,1,0,0,0,10,11,8,15,0,0,0,0,3,13,14,3,0,0,8 +0,1,10,15,14,2,0,0,0,7,10,3,11,10,0,0,0,1,1,0,8,14,0,0,0,0,3,9,15,9,0,0,0,0,4,8,9,15,2,0,0,0,0,0,0,14,6,0,0,0,6,1,0,13,8,0,0,0,9,16,16,12,3,0,3 +0,0,1,9,12,8,0,0,0,1,12,9,13,13,0,0,0,6,11,0,2,15,0,0,0,1,14,14,14,8,0,0,0,0,0,11,16,13,1,0,0,0,4,13,2,14,6,0,0,0,8,9,2,14,7,0,0,0,4,16,16,8,1,0,8 +0,0,10,14,12,0,0,0,0,2,16,8,3,0,0,0,0,5,16,12,11,1,0,0,0,2,12,9,10,13,1,0,0,0,0,0,0,12,6,0,0,0,0,0,0,4,12,0,0,2,14,4,4,13,9,0,0,0,10,14,15,11,1,0,5 +0,0,9,15,12,6,0,0,0,3,16,15,13,8,0,0,0,2,16,4,12,5,0,0,0,0,13,16,10,0,0,0,0,0,8,14,11,1,0,0,0,1,12,0,14,6,0,0,0,0,13,5,2,16,2,0,0,0,7,14,16,16,2,0,8 +0,0,0,12,16,10,0,0,0,0,10,15,15,13,0,0,0,0,9,6,16,7,0,0,0,0,0,8,15,3,0,0,0,0,5,16,6,0,0,0,0,8,15,16,3,0,0,0,5,16,16,16,16,6,0,0,1,4,4,9,16,11,0,0,2 +0,0,8,14,14,2,0,0,0,5,15,5,9,15,6,0,0,6,15,6,4,16,6,0,0,0,5,13,16,16,4,0,0,0,0,0,0,14,4,0,0,0,0,0,0,11,4,0,0,0,8,6,1,10,8,0,0,0,10,16,16,16,4,0,9 +0,0,5,15,7,0,0,0,0,1,16,16,10,7,0,0,0,8,13,0,3,16,3,0,0,9,10,0,0,9,7,0,0,8,12,0,0,8,8,0,0,4,14,0,0,5,12,0,0,2,15,5,6,14,6,0,0,0,6,13,15,10,2,0,0 +0,1,10,16,10,1,0,0,0,8,14,5,10,13,2,0,0,1,4,0,11,15,2,0,0,0,0,0,16,7,0,0,0,0,0,0,14,11,0,0,0,0,0,0,0,14,11,0,0,0,10,5,4,10,13,0,0,0,10,14,16,14,9,0,3 +0,2,6,11,8,0,0,0,0,9,16,14,5,0,0,0,0,9,16,12,8,2,0,0,0,8,15,8,11,13,1,0,0,0,0,0,0,8,10,0,0,0,0,0,0,5,14,0,0,0,6,6,4,8,14,0,0,0,5,15,16,15,7,0,5 +0,0,3,12,15,6,0,0,0,1,14,16,14,16,5,0,0,6,16,9,0,13,8,0,0,8,16,0,0,9,8,0,0,7,16,0,0,9,8,0,0,5,16,0,3,15,2,0,0,2,14,15,15,9,0,0,0,0,4,14,9,1,0,0,0 +0,0,0,7,15,0,0,0,0,0,0,9,15,0,0,0,0,0,2,15,7,0,0,0,0,0,9,16,11,5,0,0,0,9,16,16,16,15,7,0,0,5,12,14,16,16,8,0,0,0,0,8,16,0,0,0,0,0,0,8,15,1,0,0,4 +0,0,9,12,2,0,0,0,0,3,16,16,16,16,3,0,0,4,15,13,14,16,6,0,0,2,15,11,16,11,1,0,0,1,14,16,11,0,0,0,0,5,14,6,16,5,0,0,0,7,15,8,13,16,0,0,0,1,7,11,16,13,0,0,8 +0,0,9,14,9,0,0,0,0,6,15,5,16,6,0,0,0,5,14,1,6,13,0,0,0,0,10,14,13,16,0,0,0,0,0,5,5,12,2,0,0,0,0,0,0,9,5,0,0,0,16,9,7,10,8,0,0,0,6,10,14,16,5,0,9 +0,2,15,16,9,0,0,0,0,7,15,12,16,2,0,0,0,9,9,2,16,2,0,0,0,1,0,7,16,0,0,0,0,0,0,14,10,0,0,0,0,1,12,15,2,0,0,0,0,8,16,14,12,12,3,0,0,3,14,16,16,16,7,0,2 +0,0,12,10,0,0,0,0,0,3,13,16,4,0,0,0,0,6,16,16,7,0,0,0,0,0,8,15,9,0,0,0,0,0,0,10,14,0,0,0,0,0,0,6,16,6,0,0,0,0,9,13,16,13,8,3,0,0,9,16,16,16,16,9,1 +0,0,0,10,16,3,0,0,0,0,2,16,7,0,0,0,0,0,9,15,0,0,0,0,0,0,15,12,4,2,0,0,0,1,16,10,0,11,2,0,0,0,16,6,0,5,13,0,0,0,7,14,5,8,16,1,0,0,0,3,12,12,9,0,6 +0,0,2,8,13,13,2,0,0,6,14,14,11,15,3,0,0,10,14,4,10,6,0,0,0,1,14,12,13,0,0,0,0,0,9,15,11,0,0,0,0,0,13,2,11,8,0,0,0,0,8,10,4,14,3,0,0,0,1,8,14,14,1,0,8 +0,0,6,15,15,4,0,0,0,0,11,10,4,2,0,0,0,0,13,11,2,0,0,0,0,0,12,14,12,5,0,0,0,0,0,0,3,15,3,0,0,0,0,0,0,4,11,0,0,0,15,8,3,2,15,0,0,0,5,12,16,16,12,0,5 +0,0,0,11,11,0,0,0,0,0,0,14,11,0,0,0,0,1,12,15,2,0,0,0,0,8,16,8,11,6,2,0,0,5,15,16,16,16,11,0,0,0,1,9,16,7,1,0,0,0,0,8,16,3,0,0,0,0,0,9,16,1,0,0,4 +0,0,5,15,14,12,9,0,0,0,2,4,4,9,15,0,0,0,0,0,1,13,6,0,0,0,3,11,12,16,1,0,0,0,5,13,16,16,4,0,0,0,0,10,12,2,0,0,0,0,4,15,4,0,0,0,0,0,8,9,0,0,0,0,7 +0,0,12,7,0,0,0,0,0,0,9,15,0,0,0,0,0,0,11,16,5,0,0,0,0,0,10,16,7,0,0,0,0,0,0,11,14,0,0,0,0,0,0,6,16,2,0,0,0,0,14,16,16,13,12,3,0,0,8,15,15,14,16,11,1 +0,1,13,10,0,0,0,0,0,7,16,16,7,0,0,0,0,3,13,8,16,0,0,0,0,0,1,5,16,2,0,0,0,0,0,5,16,3,0,0,0,0,4,13,15,1,0,0,0,4,16,16,16,16,8,0,0,2,15,16,14,16,16,5,2 +0,0,8,12,13,3,0,0,0,0,11,15,7,1,0,0,0,0,15,16,14,3,0,0,0,0,4,5,6,13,2,0,0,0,0,0,0,9,7,0,0,0,6,0,0,2,12,0,0,3,15,8,4,10,11,0,0,0,8,12,13,12,3,0,5 +0,0,8,15,7,0,0,0,0,2,16,6,9,3,0,0,0,4,14,1,12,10,0,0,0,0,8,16,16,15,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,8,7,0,0,1,8,4,1,4,13,0,0,0,5,13,16,16,13,0,9 +0,0,8,12,12,0,0,0,0,0,8,11,2,0,0,0,0,0,15,13,11,3,0,0,0,1,13,8,10,15,1,0,0,0,0,0,0,9,7,0,0,1,1,0,0,8,8,0,0,6,13,4,4,11,8,0,0,1,7,14,16,13,2,0,5 +0,0,7,15,3,0,0,0,0,0,1,16,9,0,0,0,0,0,7,15,15,0,0,0,0,0,10,16,13,0,0,0,0,0,0,6,16,2,0,0,0,0,0,4,16,6,0,0,0,0,9,13,16,13,8,3,0,0,6,15,16,16,16,12,1 +0,0,1,12,14,3,0,0,0,0,10,15,7,0,0,0,0,0,13,8,0,0,0,0,0,0,15,16,11,5,0,0,0,0,14,13,9,14,7,0,0,0,14,6,0,3,14,0,0,0,10,11,4,7,16,1,0,0,1,11,15,14,7,1,6 +0,0,5,15,13,8,3,0,0,0,14,14,10,16,11,0,0,0,11,13,5,12,12,0,0,0,6,16,16,8,1,0,0,1,13,13,14,0,0,0,0,6,10,1,15,7,0,0,0,5,15,7,11,13,0,0,0,0,6,12,16,10,0,0,8 +0,0,5,15,13,7,0,0,0,4,15,8,7,16,4,0,0,6,12,1,10,14,1,0,0,0,0,12,12,2,0,0,0,0,0,14,11,3,0,0,0,0,0,1,10,14,0,0,0,0,0,0,4,14,8,0,0,0,4,16,16,14,4,0,3 +0,0,9,13,7,0,0,0,0,7,14,4,14,4,0,0,0,2,2,3,15,2,0,0,0,0,0,16,11,0,0,0,0,0,0,8,15,11,0,0,0,0,0,0,0,12,7,0,0,0,10,4,2,10,8,0,0,0,7,13,16,16,4,0,3 +0,0,7,14,12,4,0,0,0,0,10,12,12,12,2,0,0,0,9,5,3,14,3,0,0,0,4,13,15,9,0,0,0,0,8,16,8,0,0,0,0,0,15,4,14,1,0,0,0,2,13,5,9,7,0,0,0,0,4,12,16,10,0,0,8 +0,0,0,0,15,7,0,0,0,0,0,2,16,8,0,0,0,0,0,10,16,3,0,0,0,7,16,16,4,12,12,0,0,1,13,16,16,16,9,0,0,0,1,7,14,16,0,0,0,0,0,0,13,15,0,0,0,0,0,0,16,11,0,0,4 +0,0,11,16,10,1,0,0,0,0,16,8,11,13,1,0,0,0,13,7,7,16,1,0,0,0,4,13,14,16,1,0,0,0,0,0,0,15,4,0,0,0,0,0,0,8,11,0,0,1,7,4,5,14,12,0,0,0,8,15,14,11,3,0,9 +0,0,6,14,15,1,0,0,0,0,11,12,4,0,0,0,0,0,15,10,4,1,0,0,0,0,13,13,14,12,1,0,0,0,0,0,0,10,10,0,0,0,0,0,0,4,14,0,0,0,0,2,1,9,14,0,0,0,6,16,16,16,6,0,5 +0,0,0,8,10,0,0,0,0,0,6,16,12,0,0,0,0,0,12,12,1,0,0,0,0,0,15,5,0,0,0,0,0,1,16,3,13,14,2,0,0,0,14,16,15,14,13,0,0,0,9,16,12,10,15,1,0,0,0,6,12,15,8,0,6 +0,0,6,16,2,0,0,0,0,3,16,13,11,0,0,0,0,12,14,2,14,0,0,0,0,2,2,0,16,0,0,0,0,0,0,2,16,1,0,0,0,0,0,10,14,4,3,0,0,0,5,16,16,16,16,0,0,0,6,15,10,8,11,2,2 +0,0,5,13,12,1,0,0,0,2,15,14,15,9,0,0,0,7,16,4,13,16,1,0,0,6,16,14,16,16,6,0,0,0,12,14,9,16,7,0,0,0,0,0,1,16,7,0,0,0,3,4,8,15,5,0,0,0,8,15,15,9,0,0,9 +0,1,14,15,2,0,0,0,0,7,16,16,7,0,0,0,0,14,9,12,11,0,0,0,0,7,4,13,10,0,0,0,0,0,4,16,4,0,0,0,0,0,10,15,2,0,0,0,0,3,16,14,12,12,10,0,0,0,12,16,16,16,16,3,2 +0,0,2,12,16,4,0,0,0,1,13,15,11,12,0,0,0,8,16,8,4,16,0,0,0,2,5,0,6,13,0,0,0,0,0,0,11,8,0,0,0,0,0,7,16,8,1,0,0,0,1,16,16,16,12,0,0,0,2,8,5,6,13,0,2 +0,0,7,15,14,2,0,0,0,0,9,16,16,11,0,0,0,0,3,16,16,11,0,0,0,0,5,16,16,13,0,0,0,0,6,16,16,14,0,0,0,0,6,16,16,12,0,0,0,0,7,16,16,15,6,0,0,0,4,16,16,15,7,0,1 +0,0,4,13,4,0,0,0,0,2,13,16,15,1,0,0,0,9,16,5,10,9,0,0,0,11,16,1,1,14,1,0,0,6,16,3,0,6,9,0,0,2,16,2,0,5,11,0,0,0,12,12,8,15,9,0,0,0,2,12,13,9,1,0,0 +0,0,6,13,15,6,0,0,0,1,15,16,16,14,0,0,0,4,16,8,4,14,4,0,0,4,16,2,0,9,7,0,0,4,15,0,0,13,5,0,0,2,16,0,5,15,5,0,0,1,15,13,16,11,0,0,0,0,6,15,12,3,0,0,0 +0,0,5,15,16,7,0,0,0,0,15,15,12,15,0,0,0,0,8,1,5,16,2,0,0,0,0,0,8,16,0,0,0,0,0,2,15,16,8,0,0,0,0,0,3,12,13,0,0,0,14,12,13,16,8,0,0,0,5,12,13,10,1,0,3 +0,0,3,10,12,16,5,0,0,0,8,8,8,15,11,0,0,0,0,0,2,16,7,0,0,0,1,6,14,16,6,0,0,0,4,14,16,12,4,0,0,0,0,9,13,2,0,0,0,0,2,16,6,0,0,0,0,0,5,16,2,0,0,0,7 +0,0,0,8,4,0,0,0,0,0,0,12,4,1,0,0,0,0,4,13,2,16,1,0,0,0,14,7,7,14,4,0,0,5,16,16,16,16,6,0,0,3,10,7,15,6,0,0,0,0,0,5,10,0,0,0,0,0,0,7,10,0,0,0,4 +0,0,6,16,6,0,0,0,0,2,16,14,15,0,0,0,0,9,13,0,14,3,0,0,0,4,6,1,16,5,0,0,0,0,0,8,16,3,0,0,0,0,3,16,14,0,2,0,0,0,13,16,16,16,15,0,0,0,7,14,12,12,12,1,2 +0,0,0,7,13,5,0,0,0,0,2,16,15,3,0,0,0,0,10,15,4,0,0,0,0,1,16,8,0,0,0,0,0,5,16,14,16,14,2,0,0,3,16,14,12,14,10,0,0,0,11,13,5,12,14,0,0,0,1,8,14,15,5,0,6 +0,0,5,14,16,9,0,0,0,6,16,9,13,12,0,0,0,3,7,1,14,12,0,0,0,0,1,15,16,15,2,0,0,0,1,11,9,14,11,0,0,0,1,3,0,13,9,0,0,0,10,13,9,16,6,0,0,0,3,16,16,10,0,0,3 +0,0,2,12,9,1,0,0,0,0,7,16,16,7,0,0,0,0,12,16,16,2,0,0,0,1,16,16,16,1,0,0,0,0,14,16,15,1,0,0,0,0,8,16,16,3,0,0,0,0,8,16,16,7,0,0,0,0,3,12,16,16,5,0,1 +0,0,0,10,13,0,0,0,0,0,5,16,8,3,0,0,0,0,11,13,7,16,0,0,0,7,16,10,14,15,8,0,0,11,16,16,16,16,9,0,0,1,4,10,16,3,0,0,0,0,0,12,15,0,0,0,0,0,0,13,8,0,0,0,4 +0,0,9,12,15,10,0,0,0,6,16,14,12,10,0,0,0,5,12,1,6,0,0,0,0,7,15,15,16,4,0,0,0,6,13,11,13,9,0,0,0,0,0,0,12,9,0,0,0,0,6,8,16,10,0,0,0,0,13,15,11,2,0,0,5 +0,0,0,5,12,0,0,0,0,0,5,16,14,2,0,0,0,0,15,15,1,0,0,0,0,2,16,9,0,0,0,0,0,0,16,10,13,15,4,0,0,0,13,16,16,16,15,1,0,0,5,16,16,13,16,4,0,0,0,5,14,16,12,0,6 +0,0,2,11,15,2,0,0,0,1,15,14,11,10,0,0,0,7,16,2,1,16,0,0,0,6,16,12,14,16,1,0,0,0,10,16,16,16,4,0,0,0,4,16,12,9,10,0,0,0,7,16,5,15,8,0,0,0,2,12,12,13,2,0,8 +0,0,2,13,9,0,0,0,0,0,8,16,16,0,0,0,0,14,16,16,8,0,0,0,0,6,12,16,6,0,0,0,0,0,8,16,6,0,0,0,0,0,6,16,7,0,0,0,0,0,4,16,11,0,0,0,0,0,1,14,14,0,0,0,1 +0,1,10,14,5,0,0,0,0,9,16,14,16,0,0,0,0,3,5,9,16,0,0,0,0,0,5,16,16,14,0,0,0,0,8,14,13,16,6,0,0,0,0,0,0,16,11,0,0,0,11,5,11,16,7,0,0,1,12,16,14,5,0,0,3 +0,0,0,13,13,1,0,0,0,0,11,14,15,8,0,0,0,6,16,3,10,7,0,0,0,8,16,4,12,8,0,0,0,1,3,4,15,1,0,0,0,0,2,13,12,0,0,0,0,0,11,16,16,12,7,0,0,0,3,9,8,11,13,0,2 +0,0,2,10,7,0,0,0,0,3,16,11,8,6,0,0,0,4,13,0,0,8,0,0,0,4,16,9,11,11,0,0,0,0,10,16,16,15,2,0,0,0,4,16,4,3,8,0,0,0,8,9,0,2,9,0,0,0,3,11,8,8,4,0,8 +0,0,9,16,16,13,12,1,0,0,6,6,8,14,15,0,0,0,0,0,5,16,4,0,0,0,2,8,15,16,3,0,0,0,2,13,15,8,3,0,0,0,0,15,7,0,0,0,0,0,6,16,1,0,0,0,0,0,11,8,0,0,0,0,7 +0,0,8,14,15,8,0,0,0,5,15,11,8,10,0,0,0,7,12,0,0,0,0,0,0,9,16,16,4,0,0,0,0,3,8,9,13,0,0,0,0,0,0,1,13,0,0,0,0,0,6,9,14,0,0,0,0,0,7,13,8,0,0,0,5 +0,0,0,7,3,0,0,0,0,0,0,15,5,0,0,0,0,0,6,14,2,8,0,0,0,0,12,8,5,14,0,0,0,6,16,12,14,15,4,0,0,2,10,15,16,14,5,0,0,0,0,12,11,0,0,0,0,0,0,11,9,0,0,0,4 +0,0,5,15,10,2,0,0,0,0,9,16,16,3,0,0,0,0,13,16,16,3,0,0,0,0,13,16,16,1,0,0,0,0,12,16,16,2,0,0,0,0,10,16,16,2,0,0,0,0,5,16,16,11,0,0,0,0,4,15,16,15,3,0,1 +0,0,0,3,14,0,0,0,0,0,1,14,12,8,2,0,0,0,9,15,6,16,4,0,0,3,16,14,12,16,5,0,0,3,13,16,16,16,8,0,0,0,0,0,16,11,1,0,0,0,0,2,16,4,0,0,0,0,0,3,12,4,0,0,4 +0,0,7,11,15,10,0,0,0,4,16,15,13,12,4,0,0,0,7,1,5,16,4,0,0,0,0,6,15,14,0,0,0,0,0,15,16,16,4,0,0,1,2,3,5,16,8,0,0,3,14,5,7,16,6,0,0,0,8,15,16,12,1,0,3 +0,0,0,2,16,2,0,0,0,0,0,9,13,0,2,0,0,0,4,16,5,11,11,0,0,0,12,13,3,14,10,0,0,5,16,14,13,16,5,0,0,15,16,16,16,16,8,0,0,3,4,2,12,13,1,0,0,0,0,1,16,7,0,0,4 +0,0,4,11,12,15,13,0,0,0,10,11,11,14,14,0,0,0,1,4,5,16,8,0,0,0,13,16,16,16,6,0,0,0,0,7,16,7,1,0,0,0,0,9,12,0,0,0,0,0,2,15,7,0,0,0,0,0,3,14,2,0,0,0,7 +0,0,5,11,12,0,0,0,0,0,16,16,16,13,7,0,0,0,12,16,16,15,4,0,0,0,4,15,14,8,0,0,0,0,12,4,1,4,0,0,0,1,14,0,3,7,0,0,0,1,16,12,16,4,0,0,0,0,3,9,5,0,0,0,8 +0,1,11,16,16,12,0,0,0,7,15,10,6,3,0,0,0,10,10,3,0,0,0,0,0,11,16,16,7,0,0,0,0,10,11,6,15,1,0,0,0,0,0,0,12,6,0,0,0,0,0,3,15,3,0,0,0,0,14,16,10,0,0,0,5 +0,0,3,16,16,9,0,0,0,0,13,14,9,16,3,0,0,0,15,6,5,16,3,0,0,0,8,16,16,16,3,0,0,0,0,6,7,16,2,0,0,0,1,0,3,16,3,0,0,1,14,3,6,15,1,0,0,0,3,15,16,13,0,0,9 +0,0,10,16,5,0,0,0,0,6,16,13,11,0,0,0,0,7,9,4,12,0,0,0,0,0,0,5,15,0,0,0,0,0,0,8,11,0,0,0,0,0,3,15,8,0,0,0,0,4,16,16,10,8,7,1,0,0,7,11,16,16,15,2,2 +0,0,2,13,15,4,0,0,0,0,9,10,5,11,0,0,0,0,10,7,13,10,0,0,0,0,7,12,16,3,0,0,0,0,6,16,7,0,0,0,0,0,14,13,2,0,0,0,0,0,11,2,10,0,0,0,0,0,0,13,15,0,0,0,8 +0,0,3,12,15,3,0,0,0,0,15,16,6,11,0,0,0,7,16,5,0,12,1,0,0,5,14,0,0,9,7,0,0,8,10,0,0,13,8,0,0,4,12,0,2,15,6,0,0,1,14,8,13,12,0,0,0,0,3,15,10,3,0,0,0 +0,0,5,15,16,6,0,0,0,0,13,12,11,11,0,0,0,0,13,11,16,5,0,0,0,0,7,16,14,1,0,0,0,0,10,16,4,0,0,0,0,1,15,12,13,0,0,0,0,0,15,5,15,5,0,0,0,0,5,16,16,6,0,0,8 +0,0,1,15,10,0,0,0,0,0,11,16,4,0,0,0,0,3,16,8,0,10,9,0,0,10,16,3,5,16,10,0,0,10,16,12,15,13,1,0,0,1,10,13,16,9,0,0,0,0,0,9,16,2,0,0,0,0,0,16,9,0,0,0,4 +0,0,3,16,0,0,0,0,0,0,10,10,3,5,0,0,0,0,16,5,12,10,0,0,0,4,15,2,15,4,0,0,0,10,13,9,15,10,11,0,0,3,14,16,14,8,2,0,0,0,0,15,6,0,0,0,0,0,3,15,0,0,0,0,4 +0,0,2,12,11,1,0,0,0,1,16,13,9,8,0,0,0,4,14,1,0,11,1,0,0,6,9,0,0,7,5,0,0,4,9,0,0,6,7,0,0,2,12,0,0,10,6,0,0,0,10,9,13,16,2,0,0,0,2,12,14,3,0,0,0 +0,1,10,8,12,15,1,0,0,0,16,16,16,9,1,0,0,0,13,13,3,0,0,0,0,1,16,16,13,2,0,0,0,0,3,1,13,10,0,0,0,0,0,0,8,16,0,0,0,0,8,1,8,16,1,0,0,2,13,16,16,11,0,0,5 +0,0,5,15,16,12,0,0,0,1,16,9,5,16,2,0,0,2,16,2,11,13,0,0,0,0,13,15,15,2,0,0,0,0,12,16,6,0,0,0,0,2,16,8,13,0,0,0,0,2,16,0,12,6,0,0,0,0,6,15,14,8,0,0,8 +0,0,5,14,16,13,2,0,0,0,15,10,5,15,4,0,0,0,0,1,7,15,1,0,0,0,0,11,16,6,0,0,0,0,0,2,10,14,1,0,0,0,2,0,0,9,8,0,0,1,14,6,4,11,9,0,0,0,5,12,14,10,1,0,3 +0,0,4,15,13,1,0,0,0,1,15,11,9,7,0,0,0,3,16,3,5,16,3,0,0,0,8,16,16,16,3,0,0,0,0,2,4,14,6,0,0,0,0,0,0,9,11,0,0,0,0,0,0,7,15,0,0,0,5,12,12,16,8,0,9 +0,0,6,15,1,0,0,0,0,2,16,7,0,0,0,0,0,8,15,0,0,7,3,0,0,11,13,4,8,16,5,0,0,5,16,16,16,10,0,0,0,0,1,14,15,0,0,0,0,0,4,16,6,0,0,0,0,0,10,13,0,0,0,0,4 +0,0,0,4,16,2,0,0,0,0,0,14,11,8,5,0,0,0,10,13,1,12,8,0,0,6,16,1,0,14,6,0,0,10,14,8,13,16,11,0,0,3,11,12,13,14,2,0,0,0,0,1,14,6,0,0,0,0,0,8,13,1,0,0,4 +0,0,4,14,15,5,0,0,0,7,14,7,6,16,0,0,0,10,6,0,0,11,3,0,0,4,2,0,1,14,0,0,0,0,0,0,10,7,0,0,0,0,0,5,13,1,0,0,0,0,6,16,8,0,0,0,0,0,5,9,12,12,16,2,2 +0,0,5,12,14,7,0,0,0,5,16,7,5,16,2,0,0,8,10,0,4,16,4,0,0,2,11,15,11,13,4,0,0,0,0,0,0,8,4,0,0,0,0,0,0,5,8,0,0,1,7,1,0,11,5,0,0,0,5,13,10,9,1,0,9 +0,0,9,16,16,10,0,0,0,2,16,11,6,6,0,0,0,3,16,2,9,15,1,0,0,0,12,13,15,16,2,0,0,0,0,8,9,16,4,0,0,0,0,0,0,16,4,0,0,0,0,0,6,16,3,0,0,0,8,16,16,13,1,0,9 +0,0,0,15,5,0,0,0,0,0,8,16,1,0,0,0,0,1,16,11,0,2,1,0,0,9,16,2,2,15,11,0,0,11,14,9,15,15,3,0,0,3,12,13,16,6,0,0,0,0,0,7,16,1,0,0,0,0,0,13,13,0,0,0,4 +0,6,16,16,16,12,0,0,0,0,7,9,15,13,0,0,0,0,0,4,16,5,0,0,0,6,12,14,16,9,5,0,0,8,13,16,11,11,5,0,0,0,8,14,0,0,0,0,0,2,16,6,0,0,0,0,0,5,16,1,0,0,0,0,7 +0,0,1,15,16,8,0,0,0,0,6,16,15,13,0,0,0,0,5,16,16,11,0,0,0,0,0,15,16,7,0,0,0,0,6,16,15,0,0,0,0,0,13,11,11,7,0,0,0,0,13,10,5,16,0,0,0,0,3,13,16,12,0,0,8 +0,0,15,16,16,16,12,0,0,0,4,8,11,16,9,0,0,0,0,0,11,13,0,0,0,2,4,3,16,4,0,0,0,10,16,16,16,16,4,0,0,1,8,16,9,7,0,0,0,0,8,13,0,0,0,0,0,0,15,6,0,0,0,0,7 +0,0,5,16,16,6,0,0,0,0,13,12,11,13,0,0,0,0,13,10,14,8,0,0,0,0,7,16,14,1,0,0,0,0,8,16,6,0,0,0,0,0,16,13,14,0,0,0,0,0,15,3,12,9,0,0,0,0,5,15,16,7,0,0,8 +0,0,1,14,11,0,0,0,0,0,11,10,8,8,0,0,0,3,16,1,0,10,2,0,0,6,11,0,0,6,6,0,0,7,9,0,0,3,9,0,0,3,13,0,0,5,10,0,0,0,12,5,4,12,4,0,0,0,1,13,16,7,0,0,0 +0,0,1,16,13,0,0,0,0,0,6,16,15,0,0,0,0,7,16,16,12,0,0,0,1,12,16,16,12,0,0,0,0,0,2,10,14,0,0,0,0,0,0,8,16,1,0,0,0,0,0,10,16,0,0,0,0,0,0,12,16,0,0,0,1 +0,0,6,10,15,11,1,0,0,1,15,9,6,12,4,0,0,5,16,0,0,5,6,0,0,4,14,0,0,6,8,0,0,6,9,0,0,12,2,0,0,7,9,0,6,11,0,0,0,3,15,8,15,4,0,0,0,0,10,14,5,0,0,0,0 +0,0,0,3,16,7,0,0,0,0,2,12,16,12,0,0,0,6,15,16,16,8,0,0,0,12,15,6,16,7,0,0,0,0,2,0,15,9,0,0,0,0,0,0,16,7,0,0,0,0,0,2,16,9,0,0,0,0,0,2,15,10,0,0,1 +0,0,1,12,16,7,0,0,0,0,8,16,11,4,0,0,0,0,13,12,0,0,0,0,0,2,16,6,0,0,0,0,0,4,16,13,12,5,0,0,0,6,16,14,12,15,4,0,0,0,11,14,5,14,11,0,0,0,0,12,16,16,8,0,6 +0,0,0,12,16,1,0,0,0,0,2,16,8,2,0,0,0,0,8,16,5,15,0,0,0,0,15,7,8,9,0,0,0,7,16,12,15,16,11,0,0,9,15,10,15,7,5,0,0,0,0,10,7,0,0,0,0,0,0,16,4,0,0,0,4 +0,3,16,16,16,16,3,0,0,0,7,8,12,14,1,0,0,0,0,1,15,4,0,0,0,1,8,11,15,8,8,0,0,10,16,16,16,12,5,0,0,0,5,15,1,0,0,0,0,0,13,7,0,0,0,0,0,3,15,1,0,0,0,0,7 +0,0,7,16,15,3,0,0,0,0,14,13,13,13,1,0,0,0,12,11,8,16,6,0,0,0,2,14,16,16,8,0,0,0,0,2,4,13,9,0,0,0,0,0,0,12,10,0,0,1,13,4,4,14,10,0,0,0,5,15,16,16,8,0,9 +0,0,1,9,12,8,0,0,0,0,11,13,8,12,0,0,0,0,11,7,14,6,0,0,0,0,5,16,9,0,0,0,0,0,10,15,5,0,0,0,0,0,13,1,10,1,0,0,0,0,13,1,8,5,0,0,0,0,3,14,15,3,0,0,8 +0,5,16,15,5,0,0,0,0,3,9,13,15,1,0,0,0,0,0,1,15,6,0,0,0,0,0,2,16,4,0,0,0,0,0,10,14,0,0,0,0,0,3,16,7,0,0,0,0,0,12,16,13,10,7,0,0,7,16,14,12,12,9,0,2 +0,0,0,9,6,0,0,0,0,0,2,15,6,0,0,0,0,0,6,10,0,0,0,0,0,0,11,8,7,2,0,0,0,0,14,15,8,14,5,0,0,0,16,5,0,4,13,0,0,0,9,13,0,7,13,0,0,0,0,11,16,14,2,0,6 +0,0,8,16,14,1,0,0,0,0,6,16,16,8,0,0,0,0,4,16,16,8,0,0,0,0,2,16,16,14,0,0,0,0,1,16,16,11,0,0,0,0,5,16,16,10,0,0,0,0,9,16,16,9,0,0,0,0,13,16,16,9,0,0,1 +0,6,16,15,4,0,0,0,0,8,15,14,14,1,0,0,0,0,2,2,16,6,0,0,0,0,0,1,16,7,0,0,0,0,0,6,15,1,0,0,0,0,1,15,8,0,0,0,0,1,12,16,9,12,8,0,0,10,16,16,15,12,7,0,2 +0,2,14,16,14,2,0,0,0,9,16,5,12,11,0,0,0,2,11,0,8,16,0,0,0,0,0,0,7,16,0,0,0,0,0,1,13,10,0,0,0,0,0,5,16,5,0,0,0,0,7,16,13,8,8,1,0,2,16,16,16,13,11,1,2 +0,0,10,16,16,16,16,6,0,0,4,9,8,11,15,2,0,0,0,0,1,14,6,0,0,0,0,4,8,15,6,0,0,0,8,16,16,11,5,0,0,0,3,14,11,0,0,0,0,0,4,16,1,0,0,0,0,0,12,6,0,0,0,0,7 +0,1,9,15,14,3,0,0,0,7,12,2,10,12,0,0,0,8,11,0,10,16,1,0,0,3,16,8,9,16,3,0,0,0,4,11,11,16,5,0,0,0,0,0,0,9,8,0,0,0,6,4,0,9,8,0,0,0,8,15,16,12,2,0,9 +0,0,7,13,9,1,0,0,0,1,13,5,9,8,0,0,0,7,10,0,5,12,0,0,0,5,15,8,10,16,4,0,0,0,7,9,7,5,8,0,0,0,0,0,0,1,11,0,0,0,3,0,0,5,10,0,0,0,9,16,16,14,3,0,9 +0,0,4,16,16,16,16,16,0,0,3,8,8,8,15,9,0,0,0,0,0,6,14,1,0,0,0,0,1,15,3,0,0,0,3,15,16,13,0,0,0,0,2,11,15,12,2,0,0,0,2,14,6,0,0,0,0,0,8,12,0,0,0,0,7 +0,0,4,12,16,7,0,0,0,0,15,5,4,14,0,0,0,0,15,0,3,15,4,0,0,5,16,4,5,16,4,0,0,0,10,12,11,11,8,0,0,0,0,0,0,11,5,0,0,0,2,8,0,15,1,0,0,0,2,13,15,5,0,0,9 +0,0,9,16,16,5,0,0,0,2,16,7,9,15,1,0,0,6,15,0,0,13,7,0,0,3,16,0,0,8,12,0,0,8,16,4,0,8,12,0,0,11,13,1,0,10,11,0,0,5,16,6,5,15,7,0,0,0,10,16,16,9,0,0,0 +0,0,6,16,16,16,16,12,0,0,4,9,8,8,16,7,0,0,0,0,0,11,13,0,0,0,0,2,6,16,3,0,0,0,9,16,16,16,8,0,0,0,3,9,15,2,0,0,0,0,0,15,8,0,0,0,0,0,8,16,0,0,0,0,7 +0,0,0,0,10,8,0,0,0,0,0,4,15,2,0,0,0,0,1,13,9,5,3,0,0,0,8,14,2,14,6,0,0,5,15,4,1,16,3,0,0,14,15,14,16,16,4,0,0,8,12,9,12,13,0,0,0,0,0,0,12,8,0,0,4 +0,0,4,15,16,16,16,15,0,0,2,8,8,5,13,9,0,0,0,0,0,5,15,2,0,0,0,0,3,14,8,0,0,0,2,15,16,16,8,0,0,0,3,9,16,4,0,0,0,0,0,11,13,0,0,0,0,0,5,15,3,0,0,0,7 +0,0,4,12,10,1,0,0,0,0,14,9,9,13,0,0,0,7,16,0,6,16,4,0,0,4,15,10,4,16,8,0,0,0,5,12,12,14,8,0,0,0,0,0,0,5,11,0,0,0,2,3,0,7,11,0,0,0,5,14,16,16,4,0,9 +0,0,9,12,14,14,4,0,0,0,15,7,4,4,2,0,0,0,14,0,0,0,0,0,0,3,15,14,14,6,0,0,0,4,7,2,2,15,0,0,0,0,0,0,0,12,2,0,0,0,9,2,2,14,0,0,0,0,11,16,16,5,0,0,5 +0,0,6,14,9,0,0,0,0,2,16,8,13,8,0,0,0,6,12,0,2,12,2,0,0,4,9,0,0,7,7,0,0,6,12,0,0,4,8,0,0,6,15,0,0,3,9,0,0,0,15,6,4,8,11,0,0,0,6,14,16,12,1,0,0 +0,0,14,9,0,0,0,0,0,0,8,16,0,0,0,0,0,0,8,12,0,2,1,0,0,0,12,8,0,13,9,0,0,1,16,4,0,16,8,0,0,5,16,0,0,15,6,0,0,8,16,16,16,16,12,0,0,1,8,8,8,13,7,0,4 +0,0,11,12,8,4,0,0,0,0,11,16,16,8,0,0,0,0,10,16,16,8,0,0,0,0,12,16,16,6,0,0,0,0,12,16,16,4,0,0,0,0,13,16,16,6,0,0,0,0,16,16,16,8,0,0,0,0,12,12,12,7,0,0,1 +0,0,7,16,13,4,0,0,0,1,11,0,6,15,3,0,0,6,9,0,0,13,4,0,0,2,14,5,8,16,5,0,0,0,4,12,10,6,8,0,0,0,0,0,0,4,8,0,0,0,2,4,0,8,7,0,0,0,10,16,16,10,1,0,9 +0,1,13,16,16,11,0,0,0,6,16,7,8,6,0,0,0,4,16,3,4,3,0,0,0,5,16,16,16,16,3,0,0,8,13,5,0,11,12,0,0,0,0,0,0,10,11,0,0,2,11,4,6,16,4,0,0,1,15,16,16,8,0,0,5 +0,0,1,14,15,9,1,0,0,1,9,14,1,7,8,0,0,7,16,6,0,11,6,0,0,0,8,14,13,10,0,0,0,0,1,14,15,7,0,0,0,0,11,7,1,16,1,0,0,0,11,6,0,13,3,0,0,0,3,13,14,11,0,0,8 +0,0,7,16,16,16,12,0,0,0,4,9,8,16,6,0,0,0,0,0,6,12,0,0,0,0,0,4,13,9,0,0,0,0,8,16,16,16,9,0,0,0,5,16,8,4,1,0,0,0,3,13,1,0,0,0,0,0,10,8,0,0,0,0,7 +0,0,8,14,13,3,0,0,0,6,13,3,6,11,0,0,0,1,2,0,4,13,0,0,0,0,0,11,16,11,0,0,0,0,0,3,4,11,7,0,0,0,0,0,0,5,9,0,0,2,13,1,0,7,10,0,0,0,9,16,13,12,1,0,3 +0,0,3,11,15,5,0,0,0,1,11,9,10,15,1,0,0,4,14,7,6,16,3,0,0,1,14,8,11,16,2,0,0,0,1,4,3,9,8,0,0,0,0,0,0,8,8,0,0,0,0,2,1,13,2,0,0,0,2,14,13,11,0,0,9 +0,0,8,16,15,4,0,0,0,2,15,16,13,15,0,0,0,9,15,4,0,15,5,0,0,8,13,0,0,6,12,0,0,10,12,0,0,4,12,0,0,7,15,0,0,4,14,0,0,3,16,8,3,12,11,0,0,0,8,16,16,15,1,0,0 +0,0,5,16,16,16,16,7,0,0,3,8,8,8,14,10,0,0,0,0,0,4,15,2,0,0,0,0,2,14,7,0,0,0,3,13,16,16,9,0,0,0,4,13,15,3,0,0,0,0,0,12,10,0,0,0,0,0,8,15,2,0,0,0,7 +0,1,9,15,12,2,0,0,0,8,10,0,7,14,0,0,0,8,4,0,0,16,4,0,0,2,12,9,9,16,7,0,0,0,1,5,5,9,8,0,0,0,0,0,0,4,11,0,0,0,6,1,0,10,8,0,0,0,9,13,14,11,2,0,9 +0,0,1,9,15,15,2,0,0,1,15,9,5,16,2,0,0,8,10,1,12,8,0,0,0,7,15,12,11,1,0,0,0,0,7,16,13,3,0,0,0,0,6,8,8,15,3,0,0,0,2,15,2,12,8,0,0,0,0,10,16,13,4,0,8 +0,0,5,15,14,1,0,0,0,0,15,5,8,9,0,0,0,4,14,0,0,11,2,0,0,8,16,0,0,6,7,0,0,8,12,2,0,4,8,0,0,4,10,0,0,4,9,0,0,0,14,2,1,10,5,0,0,0,6,14,13,8,0,0,0 +0,3,16,15,2,0,0,0,0,4,14,10,11,0,0,0,0,2,8,4,16,0,0,0,0,0,0,0,16,2,0,0,0,0,0,4,15,0,0,0,0,0,0,9,13,0,0,0,0,0,7,16,14,12,11,0,0,3,16,16,12,9,7,0,2 +0,1,7,12,13,7,0,0,0,4,14,4,5,16,2,0,0,8,9,0,8,13,1,0,0,3,11,14,15,3,0,0,0,0,11,13,16,2,0,0,0,0,16,1,6,11,0,0,0,0,14,1,5,14,0,0,0,0,7,15,15,7,0,0,8 +0,0,0,10,7,1,0,0,0,0,7,16,16,9,0,0,0,2,15,16,16,13,0,0,0,1,9,16,16,12,0,0,0,0,0,16,16,12,0,0,0,0,1,16,16,12,0,0,0,0,3,16,16,16,0,0,0,0,0,9,12,11,0,0,1 +0,0,4,12,8,3,0,0,0,0,7,16,16,3,0,0,0,0,6,16,16,6,0,0,0,0,7,16,16,7,0,0,0,0,7,16,16,9,0,0,0,0,5,16,16,12,0,0,0,0,6,16,16,10,0,0,0,0,5,12,12,4,0,0,1 +0,0,5,13,10,2,0,0,0,3,16,7,10,11,0,0,0,10,16,8,15,16,0,0,0,4,12,12,10,16,4,0,0,0,0,0,0,16,5,0,0,0,0,0,0,12,8,0,0,0,8,5,7,15,6,0,0,0,6,15,15,9,0,0,9 +0,0,5,8,0,0,0,0,0,0,12,6,12,7,0,0,0,2,10,6,9,15,1,0,0,7,8,0,0,12,8,0,0,8,8,0,0,12,6,0,0,5,13,0,0,13,4,0,0,0,14,10,10,13,0,0,0,0,4,12,11,1,0,0,0 +0,0,10,16,14,5,0,0,0,0,7,16,16,5,0,0,0,0,3,16,16,9,0,0,0,0,3,16,16,13,0,0,0,0,2,16,16,16,0,0,0,0,2,16,16,16,2,0,0,0,6,16,16,14,2,0,0,0,4,15,16,6,0,0,1 +0,0,0,11,12,6,0,0,0,0,4,16,16,16,0,0,0,0,9,16,16,16,0,0,0,0,13,16,16,16,4,0,0,0,5,16,16,16,4,0,0,0,1,16,16,16,2,0,0,0,2,16,16,16,5,0,0,0,0,5,11,9,2,0,1 +0,2,9,12,13,4,0,0,0,14,16,13,16,11,0,0,0,5,4,7,16,4,0,0,0,0,0,10,16,2,0,0,0,0,0,6,16,6,0,0,0,0,0,0,14,16,1,0,0,0,7,11,16,13,1,0,0,0,8,12,7,2,0,0,3 +0,0,3,14,0,0,0,0,0,0,3,16,1,0,0,0,0,0,8,13,0,0,0,0,0,0,7,13,0,0,0,0,0,0,11,11,8,4,0,0,0,0,14,16,16,16,8,0,0,0,12,16,7,10,15,0,0,0,2,14,16,15,8,0,6 +0,0,3,12,15,11,0,0,0,0,14,15,15,16,1,0,0,0,3,2,14,16,12,1,0,0,0,13,16,14,9,0,0,0,0,2,14,8,0,0,0,0,0,2,16,5,0,0,0,0,0,13,13,0,0,0,0,0,3,16,3,0,0,0,7 +0,1,15,6,0,0,0,0,0,7,16,16,0,0,0,0,0,11,14,16,0,0,0,0,0,2,8,15,0,0,0,0,0,0,14,10,0,0,0,0,0,5,16,3,0,0,0,0,0,10,16,16,16,12,5,0,0,3,15,16,12,14,14,0,2 +0,0,10,1,0,0,0,0,0,0,16,0,0,0,0,0,0,3,13,0,0,0,0,0,0,5,12,1,4,2,0,0,0,8,14,15,16,15,4,0,0,8,15,5,5,14,8,0,0,8,14,4,10,16,4,0,0,1,12,15,10,2,0,0,6 +0,0,4,14,10,6,0,0,0,0,12,16,16,16,4,0,0,7,16,4,15,16,4,0,0,7,16,16,16,16,4,0,0,0,5,8,14,16,5,0,0,0,0,0,12,16,2,0,0,0,6,16,16,9,0,0,0,0,5,16,11,0,0,0,9 +0,1,8,12,3,0,0,0,0,1,16,16,14,2,0,0,0,2,16,16,16,16,1,0,0,0,12,16,16,4,0,0,0,0,12,16,16,7,0,0,0,2,16,16,16,14,0,0,0,4,16,16,15,4,0,0,0,1,12,10,5,0,0,0,8 +0,0,2,11,15,13,0,0,0,5,15,15,13,15,0,0,0,9,13,3,16,7,0,0,0,3,3,4,16,4,0,0,0,0,0,2,16,11,0,0,0,0,0,0,7,16,6,0,0,0,0,9,8,15,12,0,0,0,0,13,16,13,3,0,3 +0,0,8,14,12,2,0,0,0,10,14,12,14,0,0,0,0,6,2,11,7,0,0,0,0,0,0,12,5,0,0,0,0,0,0,8,15,2,0,0,0,0,0,0,9,14,3,0,0,0,6,2,7,14,8,0,0,0,14,15,11,4,0,0,3 +0,2,10,15,16,15,0,0,0,4,16,9,4,6,0,0,0,8,15,0,0,0,0,0,0,6,14,5,0,0,0,0,0,1,12,16,13,5,0,0,0,0,0,2,9,16,9,0,0,0,9,8,10,16,9,0,0,0,7,16,12,8,1,0,5 +0,0,8,4,0,0,0,0,0,0,15,3,0,0,0,0,0,2,13,0,0,0,0,0,0,4,14,11,9,1,0,0,0,4,9,13,16,14,1,0,0,2,12,0,0,9,11,0,0,0,16,8,5,13,11,0,0,0,4,15,16,12,1,0,6 +0,1,13,16,8,1,0,0,0,8,14,10,16,8,0,0,0,11,14,15,16,9,0,0,0,0,8,7,6,16,4,0,0,0,0,0,0,16,4,0,0,0,1,0,0,14,8,0,0,3,16,2,10,15,1,0,0,2,13,16,12,1,0,0,9 +0,0,6,12,14,14,2,0,0,12,16,11,4,5,2,0,0,4,14,5,0,0,0,0,0,0,9,13,1,0,0,0,0,0,2,13,15,6,0,0,0,0,0,2,11,15,6,0,0,0,8,6,6,15,8,0,0,0,6,16,16,9,0,0,5 +0,0,3,14,16,11,0,0,0,2,15,13,14,13,0,0,0,0,4,0,8,14,5,0,0,0,5,13,16,16,14,0,0,0,12,15,16,9,2,0,0,0,1,9,13,0,0,0,0,0,0,16,6,0,0,0,0,0,4,13,0,0,0,0,7 +0,0,2,11,8,1,0,0,0,0,9,16,16,9,0,0,0,0,11,16,16,8,0,0,0,0,15,16,16,10,0,0,0,0,13,16,16,8,0,0,0,0,7,16,16,9,0,0,0,0,5,16,16,13,0,0,0,0,1,11,12,10,0,0,1 +0,0,5,15,15,6,0,0,0,0,13,11,16,16,4,0,0,3,14,0,8,11,7,0,0,8,7,0,0,7,8,0,0,7,7,0,0,5,8,0,0,9,9,0,1,11,4,0,0,7,13,8,14,12,0,0,0,0,6,15,10,1,0,0,0 +0,0,11,13,4,0,0,0,0,7,16,16,15,0,0,0,0,7,11,5,15,0,0,0,0,0,2,10,11,0,0,0,0,0,2,15,2,0,0,0,0,0,11,8,0,2,3,0,0,1,16,13,14,16,12,0,0,1,12,13,10,5,0,0,2 +0,0,8,2,0,0,0,0,0,0,12,6,0,0,0,0,0,2,16,4,0,0,0,0,0,0,16,8,0,0,0,0,0,4,16,14,11,6,0,0,0,2,16,16,16,16,9,0,0,0,15,16,6,16,12,0,0,0,7,15,16,14,3,0,6 +0,0,0,2,15,8,0,0,0,0,0,10,16,3,0,0,0,0,6,15,4,0,0,0,0,3,15,10,4,10,8,0,0,12,16,16,16,16,10,0,0,13,12,12,15,16,6,0,0,0,0,0,14,15,1,0,0,0,0,2,16,9,0,0,4 +0,0,5,9,12,15,9,0,0,0,13,16,16,16,9,0,0,0,3,3,5,16,3,0,0,0,0,3,12,16,10,0,0,0,2,16,16,13,5,0,0,0,3,15,13,0,0,0,0,0,3,16,5,0,0,0,0,0,7,11,0,0,0,0,7 +0,0,3,14,13,2,0,0,0,1,15,16,16,3,0,0,0,2,14,15,5,0,0,0,0,0,5,15,6,0,0,0,0,0,0,5,16,7,0,0,0,0,0,0,4,15,7,0,0,0,3,8,12,16,13,0,0,0,3,12,15,14,4,0,5 +0,0,6,10,0,0,0,0,0,0,10,11,0,0,0,0,0,1,15,4,0,0,0,0,0,4,16,5,4,0,0,0,0,6,16,16,16,14,3,0,0,7,16,4,6,14,8,0,0,2,15,8,9,14,3,0,0,0,5,14,13,3,0,0,6 +0,2,8,15,15,3,0,0,0,11,16,12,15,12,0,0,0,4,7,0,10,14,0,0,0,0,0,0,8,16,0,0,0,0,0,0,7,16,2,0,0,0,0,0,1,15,8,0,0,0,1,6,11,16,7,0,0,0,8,16,10,5,0,0,3 +0,0,4,13,6,0,0,0,0,4,16,13,4,3,0,0,0,12,10,1,12,16,3,0,0,7,14,9,16,5,0,0,0,0,12,16,13,1,0,0,0,0,5,15,15,15,3,0,0,0,7,14,12,16,10,0,0,0,3,16,11,8,2,0,8 +0,0,4,10,16,12,1,0,0,3,15,14,8,16,5,0,0,4,7,0,5,15,2,0,0,0,0,0,13,8,0,0,0,0,0,3,16,10,0,0,0,0,0,0,10,16,4,0,0,0,4,9,11,15,2,0,0,0,5,13,11,1,0,0,3 +0,0,3,14,8,4,0,0,0,0,15,14,14,16,0,0,0,4,16,13,16,16,0,0,0,3,11,11,10,16,3,0,0,0,0,0,3,15,5,0,0,0,1,5,1,13,6,0,0,0,6,15,16,11,0,0,0,0,2,14,9,1,0,0,9 +0,0,12,7,0,0,0,0,0,3,16,16,3,0,0,0,0,7,11,8,6,0,0,0,0,3,14,7,8,0,0,0,0,0,0,14,3,0,0,0,0,0,4,15,0,0,0,0,0,2,15,16,16,13,9,0,0,0,12,16,16,16,7,0,2 +0,0,3,12,16,15,4,0,0,0,14,16,14,16,6,0,0,1,11,3,13,13,1,0,0,0,1,14,12,1,0,0,0,0,3,16,14,3,0,0,0,0,1,6,16,14,1,0,0,0,14,13,14,15,0,0,0,0,4,16,15,5,0,0,3 +0,0,0,7,12,0,12,5,0,0,8,14,1,7,14,0,0,1,16,5,0,14,6,0,0,5,16,12,13,16,10,0,0,3,15,15,16,13,5,0,0,0,0,4,15,1,0,0,0,0,0,9,10,0,0,0,0,0,0,11,4,0,0,0,4 +0,0,1,12,12,13,8,0,0,0,12,10,4,7,13,0,0,0,15,10,4,9,14,0,0,0,5,12,12,16,9,0,0,0,0,0,2,15,0,0,0,0,0,0,11,7,0,0,0,0,0,4,14,0,0,0,0,0,0,15,2,0,0,0,9 +0,0,2,7,12,8,0,0,0,0,11,16,16,6,0,0,0,0,6,12,0,0,0,0,0,0,13,8,4,0,0,0,0,0,14,16,16,14,1,0,0,0,3,8,9,16,2,0,0,0,0,9,10,14,0,0,0,0,0,13,13,4,0,0,5 +0,0,1,11,16,6,0,0,0,0,12,14,11,16,3,0,0,0,11,5,2,16,5,0,0,0,0,0,7,14,2,0,0,0,0,7,16,7,0,0,0,0,0,3,16,10,0,0,0,0,0,12,16,15,0,0,0,0,1,12,16,7,0,0,3 +0,0,0,2,13,8,4,0,0,0,0,11,13,8,16,2,0,0,7,16,3,14,10,0,0,6,16,8,7,16,6,0,0,11,16,16,16,16,7,0,0,2,8,9,16,9,0,0,0,0,0,2,16,6,0,0,0,0,0,1,16,2,0,0,4 +0,0,8,12,16,16,5,0,0,0,9,16,16,16,1,0,0,0,0,1,13,10,0,0,0,0,3,7,16,13,8,0,0,2,16,16,16,12,7,0,0,0,6,16,4,0,0,0,0,0,11,16,0,0,0,0,0,0,11,13,0,0,0,0,7 +0,0,1,12,16,16,4,0,0,0,10,16,13,8,1,0,0,0,10,13,0,0,0,0,0,0,13,12,4,0,0,0,0,0,14,16,16,6,0,0,0,0,6,9,15,14,0,0,0,0,0,0,9,14,0,0,0,0,4,12,15,6,0,0,5 +0,0,0,2,12,11,0,0,0,0,0,13,16,10,0,0,0,0,9,16,16,9,0,0,0,4,16,14,16,6,0,0,0,1,6,7,16,6,0,0,0,0,0,5,16,6,0,0,0,0,0,3,16,4,0,0,0,0,0,0,12,4,0,0,1 +0,0,3,15,1,0,0,0,0,0,13,13,0,0,0,0,0,2,16,1,0,0,0,0,0,7,10,0,1,3,0,0,0,8,9,4,15,15,2,0,0,3,16,6,0,9,8,0,0,0,16,14,9,15,7,0,0,0,3,13,16,9,0,0,6 +0,0,9,0,0,0,0,0,0,2,16,6,8,5,0,0,0,4,16,16,16,15,3,0,0,6,16,10,12,15,8,0,0,4,11,0,0,7,8,0,0,4,16,9,10,15,8,0,0,2,15,16,16,16,3,0,0,0,8,16,15,7,0,0,0 +0,0,0,4,12,0,0,10,0,0,3,15,5,0,11,13,0,0,11,12,0,4,16,4,0,2,16,12,3,14,10,0,0,4,16,16,16,15,1,0,0,0,10,10,16,8,0,0,0,0,0,3,15,2,0,0,0,0,0,7,11,0,0,0,4 +0,0,5,12,16,13,4,0,0,0,12,13,8,8,6,0,0,2,15,3,0,0,0,0,0,4,16,12,12,6,0,0,0,4,16,15,13,14,0,0,0,0,0,0,4,15,0,0,0,0,3,4,13,8,0,0,0,0,6,12,13,1,0,0,5 +0,0,0,0,13,5,0,0,0,0,0,8,15,2,2,0,0,0,9,15,5,13,7,0,0,5,16,6,2,16,4,0,0,11,16,15,11,16,3,0,0,3,12,13,15,15,8,0,0,0,0,0,12,9,0,0,0,0,0,0,10,9,0,0,4 +0,0,2,13,13,2,0,0,0,1,15,13,15,4,0,0,0,5,13,1,14,2,0,0,0,0,2,12,14,0,0,0,0,0,0,8,14,14,1,0,0,0,0,0,0,13,7,0,0,0,3,8,8,15,2,0,0,0,2,14,11,4,0,0,3 +0,0,0,5,9,13,14,6,0,0,4,16,8,4,10,9,0,0,6,16,16,16,15,4,0,0,1,11,12,16,6,0,0,0,0,0,2,16,2,0,0,0,0,0,10,6,0,0,0,0,0,2,15,0,0,0,0,0,0,5,14,0,0,0,9 +0,0,1,6,12,14,4,0,0,0,4,13,8,3,0,0,0,0,13,4,0,0,0,0,0,3,15,5,2,0,0,0,0,8,16,16,16,12,0,0,0,2,4,3,7,15,3,0,0,0,0,2,7,14,1,0,0,0,0,8,12,4,0,0,5 +0,0,0,15,2,0,0,0,0,0,9,13,0,0,0,0,0,0,16,6,0,0,0,0,0,4,14,2,0,0,0,0,0,4,16,6,6,7,1,0,0,4,16,15,8,14,6,0,0,0,9,15,8,15,7,0,0,0,2,14,15,8,0,0,6 +0,0,0,1,14,12,0,0,0,4,6,15,14,12,0,0,0,5,16,16,13,13,1,0,0,0,11,16,16,16,4,0,0,0,0,3,2,9,8,0,0,0,0,0,0,9,8,0,0,0,0,0,11,16,4,0,0,0,0,0,11,5,1,0,9 +0,1,8,14,13,3,0,0,0,10,13,5,10,12,0,0,0,3,0,2,14,9,0,0,0,0,0,15,8,0,0,0,0,0,0,13,13,1,0,0,0,0,0,0,7,14,4,0,0,1,6,1,0,11,10,0,0,0,10,12,16,16,7,0,3 +0,0,0,0,3,14,1,0,0,0,0,1,14,15,0,0,0,0,0,9,16,10,0,0,0,0,9,16,16,8,0,0,0,4,16,7,16,8,0,0,0,1,4,0,15,10,0,0,0,0,0,0,11,12,0,0,0,0,0,0,3,15,3,0,1 +0,0,2,8,15,11,0,0,0,2,15,14,12,16,4,0,0,2,7,0,10,15,0,0,0,0,0,3,15,3,0,0,0,0,0,13,9,0,0,0,0,0,0,4,14,5,0,0,0,2,10,8,7,16,6,0,0,0,4,9,13,15,7,0,3 +0,0,0,8,8,8,13,8,0,0,6,15,13,14,15,1,0,0,13,6,0,12,5,0,0,0,14,5,5,10,0,0,0,0,1,10,16,14,2,0,0,0,0,12,12,6,1,0,0,0,0,14,4,0,0,0,0,0,0,12,1,0,0,0,7 +0,0,13,16,13,1,0,0,0,3,16,13,16,8,0,0,0,0,9,11,16,7,0,0,0,0,0,14,14,0,0,0,0,0,0,11,15,12,1,0,0,0,0,0,1,14,10,0,0,1,11,6,4,8,16,3,0,0,13,16,16,16,16,2,3 +0,0,6,16,9,0,0,0,0,2,15,16,14,0,0,0,0,2,10,16,6,0,0,0,0,2,16,16,9,2,0,0,0,0,3,10,16,14,1,0,0,0,0,0,10,16,5,0,0,0,4,8,8,16,7,0,0,0,8,16,16,13,0,0,3 +0,1,0,6,16,8,0,0,0,11,7,13,3,13,2,0,0,11,14,4,0,8,4,0,0,9,7,0,0,5,7,0,0,6,9,0,0,5,8,0,0,0,13,4,0,11,9,0,0,0,6,14,11,16,7,0,0,0,0,5,16,10,0,0,0 +0,0,0,0,4,16,5,0,0,0,0,2,15,16,4,0,0,0,1,13,16,16,0,0,0,1,14,12,14,12,0,0,0,6,14,1,10,13,0,0,0,4,2,0,9,13,0,0,0,0,0,0,8,12,0,0,0,0,0,0,4,14,0,0,1 +0,1,13,16,10,0,0,0,0,2,15,13,16,2,0,0,0,0,5,1,14,5,0,0,0,0,0,0,14,7,0,0,0,0,0,4,16,3,0,0,0,0,0,13,13,1,0,0,0,1,14,16,13,12,11,1,0,1,15,16,14,10,8,1,2 +0,0,7,11,16,13,4,0,0,4,16,16,16,16,11,0,0,4,16,16,16,16,8,0,0,0,4,11,14,13,1,0,0,0,0,0,8,12,0,0,0,0,0,0,9,11,0,0,0,0,4,10,16,5,0,0,0,0,9,12,7,0,0,0,9 +0,0,5,12,12,0,0,0,0,3,16,12,15,4,0,0,0,4,14,0,14,6,0,0,0,1,12,11,12,0,0,0,0,0,7,16,8,1,0,0,0,0,1,5,12,13,1,0,0,0,8,4,0,16,4,0,0,0,8,15,15,11,1,0,3 +0,4,9,11,13,16,7,0,0,9,16,13,14,16,1,0,0,0,0,0,13,10,0,0,0,5,12,13,16,15,8,0,0,5,12,16,13,6,2,0,0,0,5,16,3,0,0,0,0,0,12,13,0,0,0,0,0,3,16,4,0,0,0,0,7 +0,3,15,16,7,0,0,0,0,8,15,14,12,0,0,0,0,1,3,3,14,0,0,0,0,0,0,5,15,0,0,0,0,0,0,11,10,0,0,0,0,0,5,16,6,0,1,0,0,5,16,16,13,16,15,0,0,4,16,16,14,12,9,0,2 +0,0,1,8,16,8,0,0,0,2,14,13,12,16,2,0,0,10,9,0,7,15,1,0,0,3,14,9,15,2,0,0,0,0,10,16,12,2,0,0,0,0,12,6,5,15,3,0,0,0,9,8,0,13,7,0,0,0,0,8,16,12,1,0,8 +0,0,9,13,4,0,0,0,0,4,15,9,14,1,0,0,0,2,7,0,10,6,0,0,0,0,0,0,9,5,0,0,0,0,0,3,16,2,0,0,0,0,0,14,13,0,0,0,0,0,11,16,9,8,14,0,0,0,10,16,12,12,7,1,2 +0,0,0,15,14,6,0,0,0,0,3,16,16,6,0,0,0,2,13,16,12,0,0,0,0,8,16,16,7,0,0,0,0,1,10,16,5,0,0,0,0,0,7,16,6,0,0,0,0,0,5,16,9,0,0,0,0,0,0,13,15,0,0,0,1 +0,0,0,7,12,2,0,0,0,0,5,14,9,3,0,0,0,0,16,8,0,0,0,0,0,3,13,0,0,0,0,0,0,4,9,12,14,7,0,0,0,1,11,12,8,7,11,1,0,0,4,10,2,0,11,5,0,0,0,6,13,14,14,1,6 +0,0,0,6,13,0,0,0,0,0,1,15,5,1,2,0,0,0,12,8,0,13,7,0,0,6,14,0,1,15,4,0,0,13,13,8,11,16,9,0,0,8,16,16,16,8,0,0,0,0,0,7,13,0,0,0,0,0,0,8,8,0,0,0,4 +0,0,8,14,12,9,1,0,0,0,15,5,8,8,1,0,0,0,14,1,0,0,0,0,0,0,15,4,0,0,0,0,0,5,16,16,16,9,0,0,0,1,4,0,1,15,5,0,0,0,1,4,4,14,3,0,0,0,5,16,15,3,0,0,5 +0,0,4,15,15,14,1,0,0,1,15,16,10,15,6,0,0,5,16,11,0,6,11,0,0,8,12,0,0,4,12,0,0,10,12,0,0,5,12,0,0,6,16,1,0,9,9,0,0,0,14,14,8,15,6,0,0,0,4,15,16,11,1,0,0 +0,0,1,14,16,12,1,0,0,0,14,7,3,12,4,0,0,2,14,0,1,16,1,0,0,0,12,10,16,6,0,0,0,0,11,14,15,4,0,0,0,4,14,0,5,14,2,0,0,1,15,6,1,11,7,0,0,0,3,8,14,15,1,0,8 +0,0,1,12,16,5,0,0,0,0,9,16,9,2,0,0,0,3,16,6,0,0,0,0,0,6,16,8,1,0,0,0,0,10,16,11,13,3,0,0,0,4,16,1,9,13,1,0,0,0,9,11,9,16,1,0,0,0,1,12,16,12,0,0,6 +0,0,0,5,14,0,0,0,0,0,0,13,7,2,8,0,0,0,5,13,1,11,10,0,0,2,14,4,1,16,4,0,0,12,14,8,13,16,10,0,0,15,16,16,16,12,2,0,0,3,3,5,15,0,0,0,0,0,0,6,13,0,0,0,4 +0,0,3,13,8,1,0,0,0,0,11,16,14,9,0,0,0,4,16,5,4,14,0,0,0,4,15,0,0,12,8,0,0,5,12,0,0,12,8,0,0,2,15,0,0,12,6,0,0,0,14,10,8,15,2,0,0,0,4,13,16,6,0,0,0 +0,0,0,4,15,3,0,0,0,0,0,12,8,0,10,1,0,0,8,11,0,6,14,0,0,5,15,13,14,16,15,0,0,7,15,12,10,16,3,0,0,0,0,0,9,9,0,0,0,0,0,0,15,1,0,0,0,0,0,6,12,0,0,0,4 +0,0,10,16,16,16,16,5,0,0,5,9,8,15,12,1,0,0,0,0,7,13,1,0,0,0,6,8,16,16,13,0,0,0,14,16,12,8,1,0,0,0,2,16,3,0,0,0,0,0,7,13,0,0,0,0,0,0,13,6,0,0,0,0,7 +0,0,4,11,16,12,5,0,0,0,6,7,3,11,9,0,0,0,0,0,0,12,4,0,0,0,0,3,10,10,0,0,0,0,4,16,15,2,0,0,0,0,1,7,12,15,1,0,0,0,8,7,5,15,0,0,0,0,7,12,15,6,0,0,3 +0,0,0,8,16,5,0,0,0,0,5,15,10,2,0,0,0,2,15,6,0,0,0,0,0,5,12,0,0,0,0,0,0,4,15,14,16,14,5,0,0,0,16,15,1,5,12,0,0,0,7,15,1,7,14,0,0,0,0,8,16,15,4,0,6 +0,1,11,12,12,12,4,0,0,0,15,8,8,11,7,0,0,0,12,0,0,0,0,0,0,0,13,1,0,0,0,0,0,3,16,15,11,5,0,0,0,0,4,4,10,15,2,0,0,0,12,5,5,14,3,0,0,0,11,13,12,8,0,0,5 +0,0,7,16,16,16,11,0,0,0,12,12,8,8,5,0,0,3,16,2,0,0,0,0,0,9,16,16,10,1,0,0,0,3,7,8,14,13,0,0,0,0,0,0,4,16,3,0,0,0,9,7,11,15,0,0,0,0,7,16,15,3,0,0,5 +0,0,0,3,11,16,5,0,0,0,0,11,16,16,5,0,0,3,13,16,16,14,0,0,0,3,11,12,16,12,0,0,0,0,0,9,16,9,0,0,0,0,0,12,16,10,0,0,0,0,0,9,16,11,0,0,0,0,0,5,13,8,0,0,1 +0,0,0,5,15,2,0,0,0,0,1,15,8,0,0,0,0,0,8,12,0,0,0,0,0,0,12,8,0,0,0,0,0,0,16,10,8,7,0,0,0,1,14,12,8,9,10,0,0,0,5,13,1,8,14,0,0,0,0,6,14,15,5,0,6 +0,0,10,16,16,13,0,0,0,0,13,6,11,16,3,0,0,0,0,6,16,8,0,0,0,0,11,16,12,0,0,0,0,0,6,16,16,13,0,0,0,0,0,0,7,16,7,0,0,3,15,5,10,16,3,0,0,0,14,16,15,5,0,0,3 +0,0,0,4,12,11,1,0,0,0,12,15,10,13,4,0,0,8,10,0,3,15,1,0,0,3,14,5,15,6,0,0,0,0,13,16,11,0,0,0,0,3,15,6,11,12,3,0,0,1,14,10,2,10,10,0,0,0,1,6,11,16,6,0,8 +0,0,4,10,14,3,0,0,0,6,14,8,11,15,0,0,0,8,8,0,7,14,0,0,0,3,14,12,14,2,0,0,0,1,15,15,8,0,0,0,0,3,13,0,10,10,0,0,0,0,11,3,1,15,3,0,0,0,3,12,13,14,0,0,8 +0,0,1,9,14,5,0,0,0,0,8,15,9,14,1,0,0,0,3,14,0,16,4,0,0,0,0,8,14,16,4,0,0,0,0,0,3,13,5,0,0,0,3,0,0,8,7,0,0,3,15,6,2,14,6,0,0,0,1,10,14,14,1,0,9 +0,0,0,10,16,3,0,0,0,0,5,15,5,0,0,0,0,0,12,9,0,0,0,0,0,0,15,3,0,0,0,0,0,2,15,10,8,2,0,0,0,1,13,13,10,14,0,0,0,0,5,12,2,14,6,0,0,0,0,7,16,16,2,0,6 +0,0,0,10,12,4,0,0,0,0,7,12,6,13,0,0,0,0,7,9,2,13,0,0,0,0,1,15,15,6,0,0,0,0,7,15,11,9,0,0,0,0,16,1,0,10,9,0,0,0,13,5,0,0,15,0,0,0,1,9,14,14,12,0,8 +0,3,16,15,3,0,0,0,0,2,10,12,10,0,0,0,0,0,0,7,12,0,0,0,0,0,0,8,12,0,0,0,0,0,1,15,6,0,0,0,0,0,5,15,1,0,0,0,0,2,15,12,7,4,0,0,0,2,15,16,16,16,16,3,2 +0,0,12,12,16,16,9,0,0,0,8,6,4,13,8,0,0,0,0,4,8,16,6,0,0,3,16,16,16,11,4,0,0,0,3,9,9,0,0,0,0,0,3,14,0,0,0,0,0,0,11,7,0,0,0,0,0,0,14,3,0,0,0,0,7 +0,0,0,1,15,3,0,0,0,0,1,11,11,1,0,0,0,0,10,13,0,10,0,0,0,6,16,6,6,15,3,0,0,8,16,16,16,16,9,0,0,0,2,4,15,4,0,0,0,0,0,1,16,1,0,0,0,0,0,2,15,0,0,0,4 +0,0,0,8,14,3,4,0,0,0,1,15,8,9,10,0,0,0,11,12,1,15,4,0,0,4,16,4,5,16,4,0,0,11,16,16,16,16,10,0,0,4,12,13,16,8,1,0,0,0,0,6,14,0,0,0,0,0,0,11,8,0,0,0,4 +0,0,0,11,13,1,0,0,0,0,12,14,9,2,0,0,0,4,15,3,0,0,0,0,0,7,12,12,12,6,1,0,0,7,16,13,8,12,7,0,0,4,16,6,0,7,11,0,0,0,12,10,5,16,6,0,0,0,2,10,15,10,0,0,6 +0,0,7,13,3,0,0,0,0,2,16,16,10,0,0,0,0,6,14,8,14,0,0,0,0,7,9,4,16,1,0,0,0,0,0,7,12,0,0,0,0,0,4,15,10,6,1,0,0,0,8,16,16,16,6,0,0,0,5,11,12,15,3,0,2 +0,0,9,16,9,1,0,0,0,2,16,13,16,11,0,0,0,9,13,0,10,16,4,0,0,4,15,12,13,16,6,0,0,0,5,12,13,16,7,0,0,0,0,0,0,15,8,0,0,0,9,6,11,16,2,0,0,0,9,13,11,3,0,0,9 +0,3,14,14,2,0,0,0,0,10,15,14,11,0,0,0,0,11,7,5,16,0,0,0,0,1,2,0,16,3,0,0,0,0,0,7,12,0,0,0,0,0,1,12,15,7,0,0,0,1,15,16,16,16,11,0,0,1,10,10,5,6,7,0,2 +0,1,12,16,11,4,0,0,0,4,16,10,11,12,0,0,0,0,16,6,0,0,0,0,0,2,16,16,7,0,0,0,0,0,3,9,15,6,0,0,0,0,0,0,8,13,0,0,0,0,2,4,9,15,0,0,0,0,11,16,15,6,0,0,5 +0,0,4,11,0,0,0,0,0,0,11,13,0,0,0,0,0,2,15,8,0,0,0,0,0,3,16,4,0,0,0,0,0,7,16,16,16,9,0,0,0,4,16,12,9,16,7,0,0,2,15,9,6,16,9,0,0,0,4,15,16,13,2,0,6 +0,0,0,14,6,0,0,0,0,0,4,16,6,0,0,0,0,0,10,14,1,0,0,0,0,0,14,15,3,0,0,0,0,2,16,16,16,13,1,0,0,3,16,13,6,15,11,0,0,0,10,16,5,15,13,0,0,0,1,10,16,15,7,0,6 +0,0,2,14,6,0,0,0,0,0,11,16,7,0,0,0,0,0,16,16,0,0,0,0,0,3,16,12,0,0,0,0,0,5,16,16,16,11,1,0,0,4,16,16,14,16,6,0,0,0,12,16,11,16,10,0,0,0,1,11,15,11,2,0,6 +0,0,7,14,13,13,8,0,0,0,9,12,14,16,13,0,0,0,0,0,9,16,3,0,0,0,2,10,16,15,7,0,0,1,14,16,16,13,7,0,0,0,3,16,13,0,0,0,0,0,5,16,7,0,0,0,0,0,9,13,2,0,0,0,7 +0,0,6,14,6,0,0,0,0,1,16,13,16,6,0,0,0,4,16,6,14,16,2,0,0,0,11,16,16,16,6,0,0,0,0,3,6,15,9,0,0,0,0,0,0,10,13,0,0,0,15,9,6,13,11,0,0,0,4,14,15,10,3,0,9 +0,5,12,14,16,14,4,0,0,7,16,11,7,4,2,0,0,7,16,0,0,0,0,0,0,8,16,16,13,1,0,0,0,5,12,12,16,8,0,0,0,0,0,0,9,15,0,0,0,2,8,8,15,11,0,0,0,3,14,11,6,0,0,0,5 +0,0,0,7,16,3,0,0,0,0,0,15,12,0,0,0,0,0,9,16,2,7,13,0,0,4,15,7,1,15,8,0,0,9,16,16,16,16,7,0,0,3,8,8,15,13,1,0,0,0,0,3,16,4,0,0,0,0,0,10,9,0,0,0,4 +0,0,0,7,8,0,0,0,0,0,3,16,4,0,0,0,0,0,14,10,0,6,3,0,0,4,16,9,4,16,8,0,0,3,16,16,16,16,6,0,0,0,4,6,16,12,0,0,0,0,0,3,16,6,0,0,0,0,0,7,13,0,0,0,4 +0,0,6,16,16,14,4,0,0,0,4,7,8,16,7,0,0,0,0,0,4,16,5,0,0,0,9,16,16,16,3,0,0,0,14,15,16,10,4,0,0,0,1,14,10,0,0,0,0,0,5,16,6,0,0,0,0,0,7,15,2,0,0,0,7 +0,0,6,12,12,9,0,0,0,0,11,16,16,13,0,0,0,0,9,16,16,12,0,0,0,0,14,16,16,12,0,0,0,0,12,16,16,12,0,0,0,2,16,16,16,9,0,0,0,1,15,16,15,2,0,0,0,0,7,11,3,0,0,0,1 +0,0,6,14,15,0,0,0,0,1,16,9,16,3,0,0,0,0,1,3,16,2,0,0,0,0,4,16,15,4,0,0,0,0,4,8,14,16,3,0,0,0,0,0,0,16,4,0,0,0,3,7,10,15,2,0,0,0,7,15,9,1,0,0,3 +0,0,9,16,16,16,5,0,0,0,6,8,11,16,10,0,0,0,0,0,9,16,5,0,0,0,1,8,15,15,3,0,0,0,9,16,16,16,7,0,0,0,2,15,14,0,0,0,0,0,9,16,7,0,0,0,0,0,9,16,5,0,0,0,7 +0,3,11,16,15,6,0,0,0,5,10,8,14,11,0,0,0,0,0,1,15,6,0,0,0,0,0,11,16,5,0,0,0,0,0,1,13,15,2,0,0,0,0,0,0,13,6,0,0,1,7,5,4,14,7,0,0,2,12,12,15,11,1,0,3 +0,0,1,11,15,4,0,0,0,1,13,13,14,16,0,0,0,8,15,1,10,16,4,0,0,1,15,14,16,14,2,0,0,0,6,16,15,2,0,0,0,0,8,15,14,9,0,0,0,0,11,16,10,16,3,0,0,0,2,12,13,12,1,0,8 +0,0,11,16,16,14,4,0,0,3,16,10,11,9,5,0,0,5,15,3,0,0,0,0,0,4,16,16,15,3,0,0,0,3,13,12,15,14,0,0,0,0,0,0,6,16,0,0,0,0,4,12,16,10,0,0,0,0,9,11,6,0,0,0,5 +0,0,9,14,16,16,5,0,0,0,6,16,7,11,10,0,0,0,0,15,7,9,9,0,0,0,0,12,15,15,3,0,0,0,7,16,16,6,0,0,0,3,14,2,16,2,0,0,0,5,15,5,16,4,0,0,0,1,11,16,12,0,0,0,8 +0,0,6,11,16,14,2,0,0,1,16,15,7,4,1,0,0,4,16,13,2,0,0,0,0,6,16,16,16,8,0,0,0,1,6,5,11,16,3,0,0,0,0,0,0,16,5,0,0,0,1,5,11,16,2,0,0,0,7,15,10,5,0,0,5 +0,0,5,14,7,1,0,0,0,2,15,14,16,10,0,0,0,2,16,6,12,16,0,0,0,1,11,5,10,16,0,0,0,0,0,0,16,9,0,0,0,0,3,5,16,5,0,0,0,0,13,16,15,7,5,0,0,0,5,8,10,13,13,0,2 +0,0,0,11,4,0,0,0,0,0,6,16,9,0,0,0,0,0,12,15,1,0,0,0,0,0,16,10,3,0,0,0,0,2,16,16,16,10,1,0,0,0,15,14,4,11,11,0,0,0,9,15,2,6,16,0,0,0,0,9,16,16,12,2,6 +0,0,0,8,15,0,0,0,0,0,3,16,10,0,6,0,0,1,13,14,2,10,15,0,0,7,16,16,13,15,13,0,0,3,10,14,16,16,10,0,0,0,0,0,13,15,0,0,0,0,0,3,16,8,0,0,0,0,0,9,15,1,0,0,4 +0,0,5,12,13,11,3,0,0,2,16,12,8,6,3,0,0,4,16,9,3,0,0,0,0,7,16,16,16,7,0,0,0,3,8,4,11,14,0,0,0,0,0,0,4,16,2,0,0,0,2,6,12,16,2,0,0,0,8,12,8,3,0,0,5 +0,0,9,16,7,0,0,0,0,0,13,15,14,7,0,0,0,0,15,10,7,15,0,0,0,0,5,4,5,13,0,0,0,0,0,0,8,12,0,0,0,0,1,4,13,10,0,0,0,0,12,16,16,13,8,1,0,0,4,12,9,9,12,5,2 +0,0,10,15,14,4,0,0,0,1,15,13,13,15,2,0,0,0,0,4,14,14,0,0,0,0,6,16,16,6,0,0,0,0,3,10,16,12,0,0,0,0,0,0,9,16,8,0,0,1,15,8,13,16,4,0,0,0,10,14,11,6,1,0,3 +0,0,4,12,15,16,16,2,0,0,3,6,4,13,15,1,0,0,0,0,2,15,6,0,0,0,0,1,12,13,0,0,0,4,16,16,16,12,4,0,0,1,3,12,14,0,0,0,0,0,3,16,6,0,0,0,0,0,5,15,2,0,0,0,7 +0,0,0,5,14,1,0,0,0,0,1,14,7,0,3,0,0,0,9,14,1,6,15,0,0,3,16,12,4,12,8,0,0,0,7,10,14,16,4,0,0,0,0,0,10,13,0,0,0,0,0,1,16,3,0,0,0,0,0,6,12,0,0,0,4 +0,1,15,15,2,0,0,0,0,9,15,12,10,0,0,0,0,8,10,8,12,0,0,0,0,1,1,5,15,0,0,0,0,0,0,6,14,0,0,0,0,0,0,10,14,1,0,0,0,0,11,16,16,16,10,0,0,0,14,13,8,10,7,0,2 +0,0,3,14,12,15,11,0,0,0,2,8,8,15,14,0,0,0,0,0,0,15,5,0,0,0,2,4,9,16,1,0,0,4,15,16,16,16,6,0,0,2,4,11,13,1,0,0,0,0,1,16,7,0,0,0,0,0,4,14,2,0,0,0,7 +0,1,11,16,14,7,0,0,0,6,16,10,8,4,0,0,0,0,16,1,0,0,0,0,0,1,16,9,5,0,0,0,0,0,12,12,15,2,0,0,0,0,0,0,9,8,0,0,0,0,9,8,14,9,0,0,0,0,9,15,9,1,0,0,5 +0,1,10,14,2,0,0,0,0,4,16,14,6,0,0,0,0,5,9,8,8,0,0,0,0,0,1,13,7,0,0,0,0,0,3,16,1,0,0,0,0,0,6,14,0,2,2,0,0,0,16,16,16,16,12,0,0,0,15,13,10,9,8,0,2 +0,0,11,13,8,0,0,0,0,5,16,11,16,16,6,0,0,7,16,1,9,15,3,0,0,1,13,14,13,14,0,0,0,0,4,16,16,5,0,0,0,0,14,10,13,10,0,0,0,4,16,6,10,12,0,0,0,1,11,16,15,5,0,0,8 +0,0,0,13,9,0,0,0,0,0,8,16,13,0,0,0,0,4,16,16,15,1,0,0,0,0,3,10,16,4,0,0,0,0,0,14,16,3,0,0,0,0,0,15,16,3,0,0,0,0,5,16,16,10,0,0,0,0,0,10,12,11,1,0,1 +0,0,0,6,9,0,0,0,0,0,0,12,12,8,0,0,0,0,0,16,7,12,0,0,0,0,6,11,7,10,0,0,0,1,14,4,13,13,5,0,0,5,16,16,16,13,5,0,0,0,4,6,16,9,0,0,0,0,0,8,16,7,0,0,4 +0,0,9,14,7,1,0,0,0,6,16,10,15,5,0,0,0,7,15,0,12,8,0,0,0,0,0,3,16,4,0,0,0,0,0,7,14,0,0,0,0,0,2,16,5,0,1,0,0,0,8,15,13,16,15,2,0,0,8,14,11,6,10,2,2 +0,0,3,12,11,1,0,0,0,0,12,15,11,10,0,0,0,0,12,7,2,14,0,0,0,0,0,0,3,16,0,0,0,0,0,0,13,11,0,0,0,0,0,10,15,1,0,0,0,0,5,16,12,9,8,1,0,0,3,11,15,12,16,4,2 +0,0,2,11,12,4,0,0,0,0,11,15,14,11,0,0,0,0,3,9,12,11,0,0,0,0,0,10,16,14,2,0,0,0,0,2,5,13,7,0,0,0,6,0,0,9,11,0,0,0,14,13,8,14,9,0,0,0,5,15,14,11,1,0,3 +0,0,0,6,10,0,0,0,0,0,0,12,5,0,0,0,0,0,2,14,2,5,0,0,0,0,12,7,4,14,0,0,0,3,16,4,10,14,5,0,0,7,16,16,16,12,5,0,0,0,0,2,16,1,0,0,0,0,0,5,14,1,0,0,4 +0,0,0,11,7,0,0,0,0,0,0,16,8,2,0,0,0,0,6,16,9,15,0,0,0,0,11,10,11,15,0,0,0,4,16,12,16,16,9,0,0,11,16,16,16,13,6,0,0,1,4,11,16,0,0,0,0,0,0,11,13,0,0,0,4 +0,0,2,14,13,5,0,0,0,0,8,16,16,10,0,0,0,6,16,16,16,7,0,0,0,9,16,16,16,3,0,0,0,0,7,16,16,2,0,0,0,0,8,16,16,6,0,0,0,0,10,16,16,11,0,0,0,0,3,13,14,7,0,0,1 +0,0,3,15,12,3,0,0,0,0,9,16,16,5,0,0,0,3,14,16,16,5,0,0,0,7,16,16,16,3,0,0,0,0,3,16,16,3,0,0,0,0,0,16,16,4,0,0,0,0,7,15,16,6,0,0,0,0,6,16,14,3,0,0,1 +0,0,5,15,8,2,0,0,0,0,15,16,14,12,0,0,0,5,13,2,0,14,3,0,0,5,11,0,0,8,8,0,0,8,8,0,0,12,5,0,0,3,14,0,0,15,4,0,0,0,13,12,10,14,0,0,0,0,4,14,15,4,0,0,0 +0,0,0,9,16,4,0,0,0,0,6,16,16,4,0,0,0,0,11,15,1,0,0,0,0,0,14,13,0,0,0,0,0,0,16,16,16,9,0,0,0,1,16,12,8,14,5,0,0,0,11,15,9,15,9,0,0,0,0,10,13,15,3,0,6 +0,0,9,13,7,0,0,0,0,2,16,12,15,12,2,0,0,8,11,0,4,16,4,0,0,8,13,1,8,16,7,0,0,1,15,16,13,15,8,0,0,0,0,2,0,9,12,0,0,0,6,9,9,15,9,0,0,0,6,16,14,8,1,0,9 +0,2,11,14,12,9,0,0,0,8,13,6,9,14,4,0,0,5,16,5,1,14,6,0,0,0,8,16,16,13,1,0,0,0,3,16,16,10,0,0,0,1,14,9,7,13,0,0,0,1,16,5,7,16,1,0,0,0,14,16,16,9,0,0,8 +0,0,6,12,14,2,0,0,0,1,16,14,13,11,0,0,0,0,5,3,9,13,0,0,0,0,3,9,16,8,0,0,0,0,4,12,12,15,7,0,0,0,0,0,0,9,14,0,0,0,4,8,6,12,14,1,0,0,6,16,16,15,4,0,3 +0,0,4,12,10,1,0,0,0,1,15,9,14,4,0,0,0,0,7,3,13,4,0,0,0,0,0,16,16,6,0,0,0,0,0,2,5,14,4,0,0,0,3,0,0,8,12,0,0,0,15,8,5,15,9,0,0,0,3,13,16,10,0,0,3 +0,0,10,15,11,2,0,0,0,2,16,7,14,10,0,0,0,3,16,1,9,16,1,0,0,0,11,14,15,16,5,0,0,0,1,4,5,10,7,0,0,0,0,0,0,11,9,0,0,0,9,8,9,15,6,0,0,0,7,15,12,6,0,0,9 +0,0,5,15,4,0,0,0,0,0,15,14,15,0,0,0,0,2,15,3,14,2,0,0,0,0,3,0,14,4,0,0,0,0,0,2,15,0,0,0,0,0,0,10,10,0,0,0,0,0,6,16,8,10,14,0,0,0,7,12,12,12,12,1,2 +0,0,0,11,4,0,0,0,0,0,0,14,5,1,0,0,0,0,4,13,8,8,0,0,0,0,10,5,10,6,0,0,0,3,16,5,14,12,3,0,0,8,16,16,15,14,6,0,0,0,4,8,8,0,0,0,0,0,0,8,9,0,0,0,4 +0,0,5,11,15,5,0,0,0,0,14,13,9,6,0,0,0,1,15,9,1,0,0,0,0,4,16,16,14,2,0,0,0,0,6,3,6,10,0,0,0,0,0,0,1,14,0,0,0,0,5,10,10,14,0,0,0,0,5,15,16,9,0,0,5 +0,0,0,6,8,0,0,0,0,0,0,15,3,0,0,0,0,0,2,14,2,11,0,0,0,0,9,8,5,10,0,0,0,0,14,2,8,7,2,0,0,4,16,9,14,16,8,0,0,2,8,12,16,5,2,0,0,0,0,6,13,2,0,0,4 +0,0,2,8,14,2,0,0,0,0,9,16,10,1,0,0,0,1,16,9,1,0,0,0,0,2,16,16,14,3,0,0,0,0,15,10,7,14,0,0,0,0,14,1,0,13,4,0,0,0,7,10,5,15,4,0,0,0,0,9,16,12,0,0,6 +0,0,0,2,9,0,0,0,0,0,0,5,10,0,0,0,0,0,0,12,4,8,0,0,0,0,4,12,6,13,0,0,0,0,10,8,8,10,0,0,0,7,16,13,16,15,2,0,0,6,10,11,16,8,0,0,0,0,0,4,13,0,0,0,4 +0,0,11,10,7,4,0,0,0,2,15,8,16,16,2,0,0,9,11,0,8,16,1,0,0,5,16,9,15,16,6,0,0,0,5,10,4,12,8,0,0,0,0,0,0,10,9,0,0,0,6,7,10,15,5,0,0,1,12,15,12,3,0,0,9 +0,0,8,14,8,0,0,0,0,6,15,12,15,4,0,0,0,6,8,0,11,8,0,0,0,0,0,14,16,8,0,0,0,0,1,11,10,15,6,0,0,0,0,0,0,8,12,0,0,0,7,8,6,13,14,0,0,0,12,14,16,13,1,0,3 +0,0,2,12,14,1,0,0,0,0,13,16,12,12,0,0,0,1,16,5,0,15,4,0,0,3,16,3,0,11,7,0,0,6,12,0,0,12,5,0,0,4,16,3,2,15,7,0,0,0,15,12,14,13,1,0,0,0,4,15,13,2,0,0,0 +0,0,0,5,15,0,0,0,0,0,1,15,11,0,0,0,0,0,3,16,16,7,0,0,0,0,10,15,13,12,0,0,0,1,15,14,15,16,9,0,0,8,16,16,16,14,6,0,0,2,10,10,16,7,0,0,0,0,0,6,15,2,0,0,4 +0,0,3,14,12,1,0,0,0,0,14,15,13,12,0,0,0,0,16,2,0,14,2,0,0,1,14,0,0,10,6,0,0,2,15,0,0,13,5,0,0,3,16,1,1,15,6,0,0,0,13,10,13,15,1,0,0,0,2,12,14,6,0,0,0 +0,8,16,16,16,16,9,0,0,5,12,12,14,16,9,0,0,0,0,2,15,13,0,0,0,0,0,9,16,5,0,0,0,0,2,16,13,0,0,0,0,0,11,16,4,0,0,0,0,7,16,15,0,0,0,0,0,6,16,11,0,0,0,0,7 +0,0,0,11,15,4,0,0,0,3,7,16,16,8,0,0,0,12,16,16,16,5,0,0,0,3,8,13,16,5,0,0,0,0,0,8,16,10,0,0,0,0,0,8,16,14,1,0,0,0,0,10,16,16,2,0,0,0,0,6,14,12,5,0,1 +0,0,9,12,14,7,0,0,0,0,12,14,9,8,0,0,0,0,12,8,1,0,0,0,0,0,15,16,14,1,0,0,0,0,6,8,10,10,0,0,0,0,0,0,8,11,0,0,0,0,7,13,16,8,0,0,0,0,8,15,8,0,0,0,5 +0,0,5,16,14,3,0,0,0,0,2,14,16,10,0,0,0,0,0,12,16,8,0,0,0,0,0,14,16,6,0,0,0,0,1,16,16,3,0,0,0,0,3,15,16,0,0,0,0,0,0,15,16,9,0,0,0,0,0,13,16,11,0,0,1 +0,2,13,10,0,0,0,0,0,8,15,14,7,0,0,0,0,8,5,4,12,0,0,0,0,2,3,2,15,0,0,0,0,0,0,4,9,0,0,0,0,0,0,11,9,0,0,0,0,0,9,16,14,12,10,0,0,0,16,13,12,14,11,0,2 +0,0,13,14,2,0,0,0,0,5,16,15,10,0,0,0,0,4,8,0,16,0,0,0,0,0,2,3,12,0,0,0,0,0,0,5,11,0,0,0,0,0,2,13,6,0,0,0,0,0,13,16,14,15,14,0,0,0,8,8,8,12,15,0,2 +0,0,0,0,13,8,0,0,0,0,0,2,16,6,0,0,0,0,0,7,16,7,3,0,0,0,1,13,12,15,7,0,0,3,12,14,5,16,3,0,2,15,16,16,16,16,1,0,5,12,13,16,16,15,0,0,0,0,0,0,15,6,0,0,4 +0,0,0,1,12,1,0,0,0,0,0,4,15,0,0,0,0,0,0,6,11,8,2,0,0,0,1,13,4,16,1,0,0,4,12,10,9,14,0,0,0,15,16,16,16,12,0,0,1,8,7,7,15,9,0,0,0,0,0,0,16,5,0,0,4 +0,0,4,16,15,7,0,0,0,0,6,16,10,13,2,0,0,0,2,15,12,15,6,0,0,0,3,14,15,13,2,0,0,2,15,15,15,9,0,0,0,6,16,2,7,13,0,0,0,3,16,11,8,16,4,0,0,0,4,12,16,13,1,0,8 +0,0,10,16,10,3,0,0,0,1,16,9,13,12,0,0,0,1,13,2,7,16,3,0,0,0,12,16,16,16,8,0,0,0,1,4,2,8,8,0,0,0,0,0,0,7,9,0,0,1,14,9,8,14,6,0,0,0,8,13,13,7,0,0,9 +0,2,12,13,1,0,0,0,0,10,15,14,11,0,0,0,0,12,9,5,12,0,0,0,0,4,5,4,16,0,0,0,0,0,0,9,9,0,0,0,0,0,1,13,8,0,1,0,0,1,16,16,14,14,11,0,0,2,13,12,12,12,6,0,2 +0,0,1,14,4,0,0,0,0,0,7,14,2,0,0,0,0,0,10,14,0,0,0,0,0,0,13,9,0,0,0,0,0,0,14,10,8,1,0,0,0,0,14,16,16,14,4,0,0,0,12,16,9,14,15,0,0,0,1,11,15,13,11,2,6 +0,0,15,16,12,4,0,0,0,0,11,16,11,16,4,0,0,0,4,16,11,16,6,0,0,0,3,16,16,14,1,0,0,0,12,14,16,5,0,0,0,3,16,1,14,12,0,0,0,6,15,4,11,13,0,0,0,1,10,16,11,2,0,0,8 +0,0,0,3,14,5,0,0,0,0,0,6,16,13,1,0,0,0,0,8,16,13,1,0,0,0,0,9,16,11,0,0,0,5,14,16,16,12,0,0,0,0,2,9,16,16,4,0,0,0,0,5,16,16,8,0,0,0,0,3,13,14,5,0,1 +0,0,4,15,0,0,0,0,0,0,13,5,0,0,0,0,0,0,16,0,0,0,0,0,0,4,13,0,0,0,0,0,0,7,15,8,9,3,0,0,0,6,16,12,13,16,4,0,0,0,15,8,2,14,7,0,0,0,4,15,13,6,0,0,6 +0,0,3,12,16,8,0,0,0,0,12,12,15,12,0,0,0,0,0,0,7,12,0,0,0,0,0,0,13,7,0,0,0,0,4,15,16,9,1,0,0,0,5,15,16,16,3,0,0,0,0,14,14,5,0,0,0,0,4,15,3,0,0,0,7 +0,0,0,14,5,0,0,0,0,0,9,13,1,0,0,0,0,0,15,6,0,0,0,0,0,3,16,3,0,0,0,0,0,7,12,8,16,8,0,0,0,4,16,15,9,15,4,0,0,0,12,12,4,10,12,0,0,0,1,12,15,16,6,0,6 +0,0,14,15,16,7,0,0,0,4,15,8,12,14,0,0,0,0,2,4,15,9,0,0,0,0,0,8,16,8,0,0,0,0,0,1,11,16,3,0,0,0,0,0,0,10,10,0,0,1,11,11,8,14,11,0,0,1,10,12,14,13,4,0,3 +0,0,6,11,2,0,0,0,0,1,16,12,14,3,0,0,0,0,13,3,11,15,0,0,0,0,6,16,15,16,5,0,0,0,0,4,8,10,10,0,0,0,0,0,0,1,15,0,0,0,1,1,2,7,15,5,0,0,4,12,16,16,13,2,9 +0,0,7,11,12,11,3,0,0,0,15,16,7,10,11,0,0,0,10,12,5,13,9,0,0,0,3,16,16,10,1,0,0,0,8,13,13,3,0,0,0,0,15,0,11,5,0,0,0,1,13,0,10,9,0,0,0,0,10,16,12,1,0,0,8 +0,0,0,0,13,7,0,0,0,0,0,0,14,7,0,0,0,0,0,3,15,2,0,0,0,0,1,13,7,11,2,0,0,5,14,16,10,16,2,0,0,15,16,16,16,15,1,0,0,0,0,0,10,12,0,0,0,0,0,0,15,7,0,0,4 +0,1,9,13,11,4,0,0,0,2,16,12,12,15,0,0,0,0,14,13,13,11,0,0,0,0,12,16,13,0,0,0,0,0,14,16,11,0,0,0,0,6,13,7,16,4,0,0,0,7,14,1,13,15,1,0,0,1,13,15,12,9,0,0,8 +0,0,5,16,15,6,0,0,0,0,9,15,13,10,0,0,0,0,11,15,11,4,0,0,0,0,2,12,13,16,2,0,0,0,0,0,0,7,10,0,0,0,0,0,0,4,13,0,0,0,13,11,8,14,11,0,0,0,4,11,15,15,4,0,5 +0,1,13,12,4,0,0,0,0,1,16,12,16,6,0,0,0,0,16,7,14,10,0,0,0,0,9,14,16,13,0,0,0,0,0,7,9,15,1,0,0,0,0,0,0,10,8,0,0,0,4,5,4,10,15,0,0,0,6,13,16,14,6,0,9 +0,0,11,15,13,1,0,0,0,5,15,9,15,12,0,0,0,8,12,0,12,16,0,0,0,5,16,9,15,16,0,0,0,0,4,10,13,16,2,0,0,0,0,0,1,16,6,0,0,0,1,5,8,16,7,0,0,0,12,12,10,7,1,0,9 +0,0,9,15,15,3,0,0,0,0,11,9,16,10,0,0,0,0,0,0,14,10,0,0,0,0,2,5,16,6,0,0,0,1,15,16,16,13,5,0,0,1,10,16,16,15,5,0,0,0,5,16,11,2,0,0,0,0,9,16,5,0,0,0,7 +0,0,6,13,14,6,0,0,0,0,16,13,6,16,3,0,0,0,13,10,5,16,2,0,0,0,4,16,16,12,1,0,0,0,12,16,13,0,0,0,0,2,16,7,14,9,0,0,0,3,16,5,9,14,0,0,0,0,8,15,16,8,0,0,8 +0,0,3,10,14,15,3,0,0,0,15,16,14,11,1,0,0,3,16,11,8,2,0,0,0,3,16,16,16,13,0,0,0,0,0,0,0,15,7,0,0,0,1,0,0,10,7,0,0,0,14,13,9,16,4,0,0,0,4,13,15,7,0,0,5 +0,0,11,16,6,0,0,0,0,9,15,14,16,0,0,0,0,10,12,3,16,2,0,0,0,5,6,0,15,2,0,0,0,0,0,7,11,0,0,0,0,0,4,16,8,4,1,0,0,0,11,16,16,16,9,0,0,0,8,12,10,13,7,0,2 +0,1,10,13,15,11,1,0,0,4,16,12,8,7,0,0,0,5,16,4,5,1,0,0,0,3,16,16,15,15,2,0,0,0,0,1,5,14,5,0,0,0,0,0,0,15,5,0,0,7,11,6,6,16,4,0,0,2,10,14,14,8,0,0,5 +0,0,9,16,10,0,0,0,0,0,16,13,16,5,0,0,0,3,16,4,7,14,0,0,0,4,15,3,0,12,7,0,0,7,12,0,0,10,8,0,0,5,13,0,4,15,3,0,0,2,16,13,16,9,0,0,0,0,8,13,9,1,0,0,0 +0,0,7,16,12,1,0,0,0,0,16,11,13,11,0,0,0,3,16,2,4,14,0,0,0,7,13,0,0,13,1,0,0,4,15,0,0,12,6,0,0,2,16,4,0,10,7,0,0,1,15,10,8,14,2,0,0,0,5,16,15,5,0,0,0 +0,0,12,16,13,11,3,0,0,4,16,6,12,16,5,0,0,0,15,11,14,16,6,0,0,0,6,8,8,13,8,0,0,0,0,0,0,8,8,0,0,0,0,0,0,9,8,0,0,6,13,5,6,16,3,0,0,0,9,13,12,6,0,0,9 +0,0,3,16,6,0,0,0,0,0,10,14,4,0,0,0,0,0,15,10,0,0,0,0,0,2,16,4,0,0,0,0,0,5,16,15,14,6,0,0,0,3,16,16,12,16,4,0,0,0,15,14,6,13,12,0,0,0,3,10,13,10,4,0,6 +0,0,2,11,16,15,5,0,0,0,13,14,11,16,6,0,0,0,2,0,1,15,1,0,0,0,0,2,10,11,0,0,0,0,5,16,16,16,6,0,0,0,4,12,15,9,2,0,0,0,1,14,9,0,0,0,0,0,3,15,4,0,0,0,7 +0,1,11,14,12,3,0,0,0,7,16,13,16,15,0,0,0,8,16,5,14,16,2,0,0,6,16,10,15,16,6,0,0,0,5,8,12,16,6,0,0,0,0,0,2,16,11,0,0,0,5,8,7,16,9,0,0,0,8,16,15,10,1,0,9 +0,0,5,13,9,7,0,0,0,0,14,16,16,16,6,0,0,2,14,7,6,10,10,0,0,5,11,0,0,8,8,0,0,4,12,0,0,8,8,0,0,4,15,1,0,9,7,0,0,0,14,9,6,16,2,0,0,0,5,15,16,7,0,0,0 +0,0,1,12,0,0,0,0,0,0,4,14,0,0,0,0,0,0,11,9,0,0,0,0,0,0,13,10,2,0,0,0,0,4,16,16,16,13,1,0,0,1,16,10,4,13,11,0,0,0,8,13,2,11,11,0,0,0,0,11,16,14,3,0,6 +0,0,2,13,1,0,0,0,0,0,7,16,6,0,0,0,0,0,12,16,3,0,0,0,0,0,9,16,5,0,0,0,0,0,15,16,16,15,5,0,0,0,13,16,10,14,15,0,0,0,10,14,9,16,14,0,0,0,2,11,15,15,4,0,6 +0,0,7,14,12,5,0,0,0,0,10,16,16,12,0,0,0,0,10,16,16,8,0,0,0,0,10,16,16,6,0,0,0,0,9,16,16,3,0,0,0,0,12,16,16,2,0,0,0,0,12,16,16,11,0,0,0,0,14,16,13,8,0,0,1 +0,0,2,9,15,12,0,0,0,1,13,13,10,16,1,0,0,0,10,2,8,16,0,0,0,0,0,4,16,14,1,0,0,0,0,0,4,15,4,0,0,0,0,0,0,15,5,0,0,0,0,12,15,16,1,0,0,0,0,9,13,7,0,0,3 +0,0,0,1,12,12,0,0,0,0,0,2,16,16,2,0,0,0,0,4,16,16,0,0,0,6,16,16,16,13,0,0,0,1,12,14,16,12,0,0,0,0,0,0,16,15,0,0,0,0,0,0,15,16,2,0,0,0,0,0,8,13,5,0,1 +0,0,9,11,0,0,0,0,0,7,16,16,8,0,0,0,0,8,11,7,11,0,0,0,0,2,4,8,11,0,0,0,0,0,1,14,3,0,0,0,0,0,9,12,0,0,0,0,0,0,14,16,15,14,7,0,0,0,8,12,12,15,10,0,2 +0,0,6,15,2,0,0,0,0,0,14,11,0,0,0,0,0,0,16,8,0,0,0,0,0,4,16,4,0,0,0,0,0,6,16,11,8,3,0,0,0,7,16,16,14,15,3,0,0,0,16,13,8,16,7,0,0,0,7,16,16,10,1,0,6 +0,0,15,16,16,14,0,0,0,0,3,4,13,13,0,0,0,0,0,0,14,10,0,0,0,0,5,13,16,5,0,0,0,0,10,16,16,16,8,0,0,0,2,16,7,7,1,0,0,0,8,16,0,0,0,0,0,0,14,11,0,0,0,0,7 +0,0,0,1,15,11,0,0,0,0,0,6,16,6,0,0,0,0,0,13,14,1,0,0,0,0,8,15,5,9,4,0,0,7,16,8,6,16,7,0,0,13,16,16,16,16,5,0,0,0,0,7,15,15,0,0,0,0,0,1,16,10,0,0,4 +0,0,6,11,0,0,0,0,0,0,8,16,1,0,0,0,0,0,11,16,1,0,0,0,0,0,14,13,2,0,0,0,0,0,13,16,16,13,3,0,0,0,15,14,8,14,12,0,0,0,14,11,7,15,10,0,0,0,4,13,16,10,2,0,6 +0,0,6,15,11,8,3,0,0,2,16,16,16,16,11,0,0,0,15,11,7,16,8,0,0,0,8,16,15,4,0,0,0,0,5,16,7,0,0,0,0,0,15,15,13,0,0,0,0,1,16,11,16,2,0,0,0,0,12,16,12,0,0,0,8 +0,0,13,12,10,12,8,0,0,2,16,16,16,14,5,0,0,3,16,5,2,0,0,0,0,7,16,10,7,0,0,0,0,5,12,12,16,15,1,0,0,0,0,0,7,16,4,0,0,0,4,6,7,15,3,0,0,0,10,16,16,8,0,0,5 +0,0,8,16,14,4,0,0,0,5,16,11,12,13,1,0,0,8,16,0,8,16,0,0,0,6,16,7,8,16,5,0,0,0,8,12,12,16,8,0,0,0,0,0,0,12,9,0,0,0,5,10,1,15,5,0,0,0,10,16,14,12,2,0,9 +0,0,0,7,16,0,0,0,0,0,0,16,11,0,0,0,0,0,6,16,6,0,0,0,0,0,14,13,0,11,7,0,0,11,16,2,8,16,1,0,5,16,16,16,16,14,0,0,0,4,9,14,16,7,0,0,0,0,0,9,15,1,0,0,4 +0,0,2,14,9,2,0,0,0,0,10,16,16,13,0,0,0,0,12,6,3,14,4,0,0,1,13,2,0,6,8,0,0,7,14,0,0,7,7,0,0,2,16,2,0,12,4,0,0,0,11,12,12,15,0,0,0,0,2,14,14,2,0,0,0 +0,1,16,16,15,3,0,0,0,0,7,6,16,10,0,0,0,0,0,1,16,8,0,0,0,0,6,15,15,2,0,0,0,0,7,16,16,11,3,0,0,0,5,16,14,16,7,0,0,0,10,12,1,4,1,0,0,0,16,6,0,0,0,0,7 +0,0,0,2,12,1,0,0,0,0,0,10,13,0,0,0,0,0,0,15,4,0,0,0,0,0,8,12,0,7,1,0,0,5,16,2,7,16,4,0,0,15,16,13,16,11,0,0,1,6,8,9,16,7,0,0,0,0,0,3,15,1,0,0,4 +0,0,14,16,15,10,0,0,0,0,8,12,14,16,0,0,0,0,0,0,12,12,0,0,0,0,7,12,16,9,0,0,0,0,16,16,16,16,7,0,0,0,2,16,12,10,3,0,0,0,8,16,1,0,0,0,0,1,16,11,0,0,0,0,7 +0,0,0,4,8,0,0,0,0,0,0,11,8,0,0,0,0,0,0,13,6,0,0,0,0,0,2,15,2,3,0,0,0,0,11,10,4,16,2,0,0,11,14,0,9,16,2,0,0,9,15,12,15,16,0,0,0,0,2,6,15,6,0,0,4 +0,0,11,16,16,9,0,0,0,0,10,8,12,11,0,0,0,0,0,0,12,6,0,0,0,0,8,13,16,6,0,0,0,0,7,14,14,13,6,0,0,0,0,13,3,0,0,0,0,0,6,15,0,0,0,0,0,0,11,10,0,0,0,0,7 +0,0,5,12,11,4,0,0,0,3,16,16,16,16,1,0,0,9,13,1,14,16,1,0,0,4,16,4,13,16,3,0,0,0,12,16,16,16,4,0,0,0,0,0,1,13,7,0,0,0,3,8,6,14,8,0,0,0,5,16,16,14,3,0,9 +0,0,4,12,14,12,3,0,0,0,15,14,10,16,3,0,0,2,16,8,8,5,0,0,0,7,16,16,16,15,2,0,0,3,7,2,2,14,5,0,0,0,0,0,2,15,3,0,0,0,3,11,14,13,0,0,0,0,8,15,11,4,0,0,5 +0,1,13,16,16,15,4,0,0,0,7,8,10,16,4,0,0,0,0,0,9,16,0,0,0,0,8,12,16,16,7,0,0,0,12,15,16,14,10,0,0,0,0,14,8,0,0,0,0,0,8,14,2,0,0,0,0,2,16,9,0,0,0,0,7 +0,1,9,15,12,5,0,0,0,10,16,14,16,16,1,0,0,2,14,12,15,14,0,0,0,0,7,16,15,5,0,0,0,0,7,16,12,0,0,0,0,0,14,16,13,0,0,0,0,0,16,15,16,4,0,0,0,0,12,16,13,2,0,0,8 +0,0,5,16,16,7,0,0,0,1,9,16,16,8,0,0,0,0,4,16,16,12,0,0,0,0,8,16,16,8,0,0,0,0,5,16,16,12,0,0,0,0,7,16,16,13,0,0,0,0,8,16,16,16,4,0,0,0,7,13,15,10,2,0,1 +0,1,12,16,16,16,6,0,0,0,7,8,6,16,13,0,0,0,0,0,3,16,7,0,0,0,3,7,11,14,1,0,0,0,10,16,16,15,3,0,0,0,1,15,15,15,3,0,0,0,7,16,6,0,0,0,0,0,15,13,0,0,0,0,7 +0,0,9,11,4,1,0,0,0,1,16,16,16,1,0,0,0,0,16,16,16,0,0,0,0,1,15,16,16,4,0,0,0,0,14,16,16,4,0,0,0,1,16,16,16,7,0,0,0,0,16,16,16,8,0,0,0,0,6,12,12,7,2,0,1 +0,0,7,16,16,16,8,0,0,0,9,7,4,14,11,0,0,0,0,2,5,16,3,0,0,0,1,15,16,16,5,0,0,0,0,13,16,15,9,0,0,0,0,10,10,3,1,0,0,0,3,16,3,0,0,0,0,0,9,12,0,0,0,0,7 +0,0,14,3,0,0,0,0,0,6,16,2,0,0,0,0,0,8,16,0,0,0,0,0,0,8,16,4,3,0,0,0,0,8,16,16,16,14,1,0,0,8,16,5,5,16,8,0,0,4,16,2,7,16,2,0,0,0,12,16,15,7,0,0,6 +0,0,14,11,1,0,0,0,0,11,14,15,8,0,0,0,0,6,6,1,16,0,0,0,0,0,0,2,15,0,0,0,0,0,0,5,15,0,0,0,0,0,0,8,11,0,0,0,0,0,8,16,13,8,7,0,0,0,11,16,15,13,15,1,2 +0,0,6,12,13,5,0,0,0,0,14,9,8,16,2,0,0,0,5,1,6,15,3,0,0,0,0,3,16,8,0,0,0,0,2,14,8,0,0,0,0,0,11,13,0,0,0,0,0,1,16,5,0,0,0,0,0,0,9,15,13,10,8,0,2 +0,0,0,13,14,0,0,0,0,0,5,16,7,0,0,0,0,0,8,13,0,0,0,0,0,0,12,11,0,0,0,0,0,1,16,16,14,2,0,0,0,0,10,11,10,14,0,0,0,0,7,13,9,15,0,0,0,0,1,11,15,8,0,0,6 +0,4,12,13,16,16,4,0,0,12,16,16,11,8,5,0,0,16,13,5,0,0,0,0,0,8,14,0,0,0,0,0,0,1,15,6,0,0,0,0,0,0,7,15,0,0,0,0,0,0,8,16,0,0,0,0,0,3,16,12,0,0,0,0,5 +0,0,0,9,12,0,0,0,0,0,4,16,6,0,0,0,0,3,15,10,0,10,7,0,0,10,14,0,6,16,4,0,0,10,15,12,14,13,0,0,0,0,5,9,16,7,0,0,0,0,0,5,16,2,0,0,0,0,0,9,12,0,0,0,4 +0,0,0,16,14,1,0,0,0,0,7,16,15,2,0,0,0,9,16,16,11,0,0,0,1,15,15,16,10,0,0,0,0,2,3,16,9,0,0,0,0,0,0,16,9,0,0,0,0,0,2,16,6,0,0,0,0,0,0,16,8,0,0,0,1 +0,1,11,16,16,4,0,0,0,8,12,4,14,8,0,0,0,5,2,0,12,8,0,0,0,0,1,7,16,11,1,0,0,0,10,16,16,16,11,0,0,0,0,14,8,0,1,0,0,0,6,15,1,0,0,0,0,1,15,4,0,0,0,0,7 +0,0,7,13,16,11,4,0,0,1,16,5,2,13,12,0,0,4,14,0,4,15,4,0,0,2,15,13,16,8,0,0,0,0,1,8,15,1,0,0,0,0,1,13,5,0,0,0,0,0,9,10,0,0,0,0,0,0,12,6,0,0,0,0,9 +0,0,0,4,16,9,0,0,0,0,0,11,16,9,0,0,0,0,6,16,16,3,0,0,0,7,15,16,16,2,0,0,0,9,16,13,15,0,0,0,0,0,0,10,13,0,0,0,0,0,0,10,15,0,0,0,0,0,0,6,16,6,0,0,1 +0,3,12,16,16,16,4,0,0,8,11,6,4,12,15,0,0,1,0,0,6,15,10,0,0,0,0,7,16,7,0,0,0,0,0,10,14,1,0,0,0,0,0,1,15,9,0,0,0,0,6,2,13,12,0,0,0,2,16,16,14,3,0,0,3 +0,0,2,15,12,0,0,0,0,0,10,15,3,0,0,0,0,8,16,4,0,13,7,0,0,10,16,1,2,16,10,0,0,9,16,12,14,14,1,0,0,0,6,12,16,7,0,0,0,0,0,14,13,0,0,0,0,0,2,16,8,0,0,0,4 +0,0,4,14,11,3,0,0,0,1,14,15,16,14,0,0,0,3,16,2,3,11,4,0,0,6,11,0,0,6,6,0,0,7,13,0,0,8,7,0,0,2,15,0,0,14,3,0,0,0,12,6,11,13,0,0,0,0,4,12,13,2,0,0,0 +0,0,5,14,1,0,0,0,0,0,10,14,0,0,0,0,0,1,16,6,1,9,3,0,0,8,16,0,11,15,1,0,0,10,16,8,16,6,0,0,0,0,6,14,16,4,0,0,0,0,0,13,16,2,0,0,0,0,2,16,9,1,0,0,4 +0,0,0,12,12,1,0,0,0,0,6,16,8,0,0,0,0,0,11,11,0,0,0,0,0,0,13,6,0,0,0,0,0,0,15,16,16,15,5,0,0,0,14,14,4,5,15,1,0,0,8,14,2,6,16,3,0,0,0,8,13,15,9,0,6 +0,2,13,16,16,13,1,0,0,14,15,8,10,16,4,0,0,5,2,0,6,16,4,0,0,0,8,16,16,16,9,0,0,0,5,14,16,9,2,0,0,0,2,16,11,0,0,0,0,0,8,16,3,0,0,0,0,2,16,9,0,0,0,0,7 +0,0,5,9,16,13,4,0,0,1,15,8,5,14,12,0,0,0,4,0,4,14,8,0,0,0,0,2,14,10,0,0,0,0,0,12,14,0,0,0,0,0,7,14,3,0,0,0,0,0,15,10,0,0,0,0,0,0,4,12,12,6,0,0,2 +0,0,11,14,4,0,0,0,0,6,15,14,16,5,0,0,0,11,10,12,16,12,0,0,0,2,12,10,3,14,6,0,0,0,0,0,0,12,8,0,0,0,0,0,0,11,10,0,0,0,0,1,7,14,4,0,0,0,12,16,12,4,0,0,9 +0,0,4,14,15,6,0,0,0,1,15,9,8,15,0,0,0,5,12,0,12,15,3,0,0,3,16,16,12,16,6,0,0,0,1,3,0,13,8,0,0,0,0,0,2,16,5,0,0,0,0,4,14,11,0,0,0,0,10,16,9,0,0,0,9 +0,2,15,16,15,7,0,0,0,8,16,14,12,14,3,0,0,6,16,5,0,0,0,0,0,2,15,11,0,0,0,0,0,0,5,16,6,0,0,0,0,0,0,12,15,0,0,0,0,0,6,14,14,0,0,0,0,2,13,16,4,0,0,0,5 +0,0,0,9,13,0,0,0,0,0,5,16,13,4,0,0,0,0,12,12,0,0,0,0,0,0,14,5,0,0,0,0,0,0,16,11,15,11,0,0,0,0,13,16,13,15,8,0,0,0,7,16,5,13,10,0,0,0,0,9,13,13,3,0,6 +0,0,0,0,15,5,0,0,0,0,0,5,16,9,0,0,0,0,1,15,16,5,0,0,0,6,13,16,16,7,0,0,0,7,16,10,16,6,0,0,0,0,0,2,16,6,0,0,0,0,0,2,16,6,0,0,0,0,0,1,15,12,0,0,1 +0,0,0,7,12,1,0,0,0,0,3,16,12,0,0,0,0,0,8,13,0,0,0,0,0,0,14,9,1,0,0,0,0,0,14,16,16,16,5,0,0,0,12,16,11,6,16,1,0,0,6,15,2,7,15,2,0,0,0,8,13,12,6,0,6 +0,0,10,15,10,5,0,0,0,0,14,16,16,16,3,0,0,0,13,14,1,1,0,0,0,0,5,14,2,0,0,0,0,0,0,13,8,0,0,0,0,0,0,7,14,1,0,0,0,0,9,13,16,2,0,0,0,0,12,16,15,1,0,0,5 +0,0,1,10,9,0,0,0,0,0,7,16,14,0,0,0,0,4,14,16,15,0,0,0,0,12,14,16,16,0,0,0,0,0,0,15,16,2,0,0,0,0,0,14,16,2,0,0,0,0,0,12,15,0,0,0,0,0,0,6,16,2,0,0,1 +0,3,13,16,16,12,0,0,0,13,16,15,8,10,3,0,0,12,16,2,0,0,0,0,0,3,15,9,0,0,0,0,0,0,7,16,2,0,0,0,0,0,1,16,8,0,0,0,0,0,10,16,5,0,0,0,0,3,16,13,0,0,0,0,5 +0,0,0,9,12,0,0,0,0,0,1,14,12,0,0,0,0,0,11,13,0,6,8,0,0,4,16,4,2,15,7,0,0,10,14,4,11,14,1,0,0,3,14,16,16,6,0,0,0,0,0,10,14,0,0,0,0,0,0,10,10,0,0,0,4 +0,0,2,10,16,13,2,0,0,0,13,10,4,13,9,0,0,1,16,1,0,12,12,0,0,0,13,16,14,16,9,0,0,0,0,0,1,11,8,0,0,0,0,0,0,15,4,0,0,0,0,0,4,16,3,0,0,0,3,13,15,6,0,0,9 +0,0,8,16,6,1,0,0,0,0,13,16,16,15,0,0,0,3,16,2,0,13,3,0,0,6,14,0,0,11,6,0,0,3,13,0,0,13,5,0,0,0,16,0,6,15,1,0,0,0,13,10,15,9,0,0,0,0,4,12,11,0,0,0,0 +0,1,10,12,14,9,0,0,0,11,11,5,5,16,4,0,0,4,3,0,2,16,2,0,0,0,0,0,12,9,0,0,0,0,1,13,10,0,0,0,0,0,9,13,0,0,0,0,0,2,16,4,0,0,0,0,0,1,13,15,12,2,0,0,2 +0,0,6,14,6,1,0,0,0,0,14,16,14,9,0,0,0,3,16,3,1,15,1,0,0,4,13,0,0,11,5,0,0,2,14,0,0,11,8,0,0,2,16,2,2,16,4,0,0,0,12,9,12,12,0,0,0,0,4,13,11,1,0,0,0 +0,4,16,16,15,5,0,0,0,7,15,13,13,14,5,0,0,2,15,8,0,0,1,0,0,0,6,15,4,0,0,0,0,0,0,15,7,0,0,0,0,0,0,11,12,0,0,0,0,0,2,15,9,0,0,0,0,1,16,15,3,0,0,0,5 +0,0,0,14,12,0,0,0,0,0,1,16,16,2,0,0,0,0,0,16,15,0,0,0,0,0,1,16,15,0,0,0,0,0,0,15,16,0,0,0,0,0,1,16,15,0,0,0,0,0,1,16,14,0,0,0,0,0,0,11,16,3,0,0,1 +0,3,13,15,16,6,0,0,0,15,16,13,9,16,5,0,0,11,16,2,0,4,3,0,0,2,15,9,0,0,0,0,0,0,7,16,1,0,0,0,0,0,3,15,5,0,0,0,0,0,6,16,5,0,0,0,0,4,16,10,0,0,0,0,5 +0,0,5,16,1,0,0,0,0,0,11,11,0,0,6,5,0,0,14,7,0,2,15,6,0,3,16,10,1,12,12,0,0,0,14,16,16,16,4,0,0,0,1,11,16,7,0,0,0,0,0,13,10,0,0,0,0,0,7,15,1,0,0,0,4 +0,0,11,13,12,7,0,0,0,2,15,4,5,16,4,0,0,0,16,5,13,11,0,0,0,0,7,16,10,1,0,0,0,0,8,16,4,0,0,0,0,0,15,5,11,0,0,0,0,3,13,4,12,0,0,0,0,1,11,16,8,0,0,0,8 +0,0,0,8,16,13,1,0,0,0,4,16,11,13,9,0,0,6,15,10,0,11,11,0,0,8,16,13,14,16,9,0,0,1,9,8,11,16,4,0,0,0,0,0,12,12,0,0,0,0,0,6,16,2,0,0,0,0,0,11,10,0,0,0,9 +0,0,2,8,12,13,2,0,0,2,16,15,6,8,8,0,0,7,11,5,2,13,7,0,0,6,15,13,15,15,1,0,0,0,3,2,9,6,0,0,0,0,0,1,14,1,0,0,0,0,0,7,10,0,0,0,0,0,0,13,3,0,0,0,9 +0,2,15,16,13,2,0,0,0,3,15,10,14,9,0,0,0,0,0,0,14,10,0,0,0,0,0,10,16,2,0,0,0,0,2,16,10,0,0,0,0,0,12,13,1,0,0,0,0,2,16,12,8,10,13,2,0,2,13,16,16,16,16,3,2 +0,0,6,15,13,1,0,0,0,1,16,10,5,12,0,0,0,8,16,5,0,9,1,0,0,7,15,0,0,7,5,0,0,5,14,0,0,5,9,0,0,2,14,0,1,12,6,0,0,0,10,11,15,16,3,0,0,0,2,11,11,4,0,0,0 +0,0,1,16,9,0,0,0,0,0,3,16,16,2,0,0,0,0,5,16,15,1,0,0,0,0,4,16,11,0,0,0,0,0,3,16,15,0,0,0,0,0,1,16,12,0,0,0,0,0,2,16,14,0,0,0,0,0,0,14,9,0,0,0,1 +0,0,3,14,10,0,0,0,0,0,10,13,11,9,0,0,0,0,15,9,0,9,1,0,0,0,16,6,0,6,5,0,0,0,15,4,0,10,6,0,0,0,14,0,2,16,3,0,0,0,12,11,15,12,0,0,0,0,2,13,10,1,0,0,0 +0,0,12,11,0,0,0,0,0,8,16,4,0,5,3,0,0,11,16,0,4,16,9,0,0,11,16,8,13,14,1,0,0,2,13,16,16,8,0,0,0,0,1,15,10,0,0,0,0,0,5,16,3,0,0,0,0,0,12,12,0,0,0,0,4 +0,0,0,16,7,0,0,0,0,0,0,15,16,3,0,0,0,0,0,14,16,4,0,0,0,0,0,16,16,2,0,0,0,0,0,15,16,2,0,0,0,0,3,16,14,0,0,0,0,0,0,14,14,0,0,0,0,0,0,13,12,0,0,0,1 +0,0,2,13,9,1,0,0,0,0,13,14,10,10,0,0,0,0,14,3,0,8,0,0,0,0,15,9,0,5,3,0,0,0,16,8,0,7,5,0,0,0,16,7,2,16,2,0,0,0,11,9,13,14,1,0,0,0,2,15,13,1,0,0,0 +0,0,5,15,13,1,0,0,0,0,12,16,12,10,0,0,0,0,14,8,0,13,3,0,0,0,16,9,0,10,9,0,0,0,16,13,0,8,9,0,0,1,16,6,2,16,9,0,0,0,13,12,15,15,2,0,0,0,6,16,16,7,0,0,0 +0,0,11,14,10,2,0,0,0,0,12,13,13,15,0,0,0,0,3,11,12,12,1,0,0,0,0,15,12,0,0,0,0,0,5,15,10,0,0,0,0,0,12,4,11,0,0,0,0,0,14,1,12,2,0,0,0,0,10,16,10,0,0,0,8 +0,0,4,10,13,3,0,0,0,0,16,15,14,11,0,0,0,0,5,1,10,12,0,0,0,0,0,2,16,5,0,0,0,0,0,11,13,0,0,0,0,0,4,16,3,0,0,0,0,0,9,14,4,4,4,1,0,0,4,14,16,15,12,5,2 +0,0,0,10,13,5,0,0,0,0,11,12,8,15,2,0,0,6,16,1,1,14,4,0,0,6,16,8,13,16,5,0,0,2,13,12,16,12,0,0,0,0,0,0,14,6,0,0,0,0,0,4,14,1,0,0,0,0,0,11,5,0,0,0,9 +0,0,11,16,16,8,0,0,0,0,11,12,8,13,0,0,0,0,7,10,0,0,0,0,0,0,3,13,0,0,0,0,0,0,0,14,2,0,0,0,0,0,0,13,6,0,0,0,0,0,6,12,10,0,0,0,0,0,11,16,9,0,0,0,5 +0,0,0,12,1,0,0,0,0,0,4,16,3,0,0,0,0,0,7,14,0,0,0,0,0,0,9,10,4,2,0,0,0,0,12,16,16,15,5,0,0,0,10,9,0,0,12,1,0,0,7,11,1,5,15,2,0,0,0,11,16,15,8,0,6 +0,0,12,12,0,0,5,1,0,2,16,9,0,4,16,5,0,1,16,13,5,13,12,0,0,0,7,16,16,16,6,0,0,0,0,3,16,9,0,0,0,0,1,12,12,0,0,0,0,0,7,16,1,0,0,0,0,0,12,7,0,0,0,0,4 +0,0,10,13,11,2,0,0,0,0,9,11,10,15,0,0,0,0,0,1,12,14,2,0,0,0,0,15,16,5,0,0,0,0,0,4,7,14,6,0,0,0,0,0,0,6,12,0,0,0,11,4,5,14,10,0,0,0,13,16,16,10,0,0,3 +0,0,11,16,16,16,9,0,0,0,3,8,8,15,12,0,0,0,0,0,4,16,6,0,0,3,8,8,12,14,0,0,0,10,16,16,16,15,1,0,0,1,4,11,15,2,0,0,0,0,1,15,8,0,0,0,0,0,10,13,1,0,0,0,7 +0,0,0,10,13,0,0,0,0,0,4,16,7,0,0,0,0,0,12,13,0,0,0,0,0,0,13,8,0,0,0,0,0,0,13,6,3,8,1,0,0,0,12,14,16,14,14,2,0,0,7,16,13,6,11,8,0,0,0,10,15,16,13,2,6 +0,0,12,16,12,16,3,0,0,0,14,14,8,8,1,0,0,0,7,15,1,0,0,0,0,0,1,14,11,0,0,0,0,0,0,6,16,1,0,0,0,0,0,0,12,11,0,0,0,2,7,6,14,13,0,0,0,0,12,16,16,6,0,0,5 +0,1,15,10,0,0,0,0,0,7,16,5,1,13,6,0,0,9,16,3,9,16,4,0,0,3,15,16,16,11,0,0,0,0,2,14,15,3,0,0,0,0,3,16,8,0,0,0,0,0,12,15,0,0,0,0,0,1,16,5,0,0,0,0,4 +0,0,2,16,7,0,0,0,0,0,5,16,16,2,0,0,0,0,4,16,16,1,0,0,0,0,3,16,16,0,0,0,0,0,1,16,16,0,0,0,0,0,3,16,16,0,0,0,0,0,4,16,16,0,0,0,0,0,0,14,16,0,0,0,1 +0,2,16,16,16,16,4,0,0,1,8,8,12,16,6,0,0,0,0,1,14,13,0,0,0,1,4,6,16,8,0,0,0,9,16,16,16,13,2,0,0,2,11,16,10,7,0,0,0,0,12,13,0,0,0,0,0,2,16,7,0,0,0,0,7 +0,0,8,15,11,1,0,0,0,1,14,14,14,10,0,0,0,3,16,3,0,9,3,0,0,5,14,0,0,6,6,0,0,5,13,0,0,7,7,0,0,4,12,0,0,13,6,0,0,1,16,13,16,12,0,0,0,0,7,16,12,1,0,0,0 +0,0,0,7,12,1,0,0,0,0,7,16,9,1,0,0,0,0,12,11,0,0,0,0,0,0,14,4,0,0,0,0,0,0,15,1,0,0,0,0,0,0,11,13,16,16,8,0,0,0,9,16,13,11,16,3,0,0,0,9,12,13,9,0,6 +0,0,2,16,11,1,0,0,0,0,0,16,16,2,0,0,0,0,1,16,16,6,0,0,0,0,0,15,16,3,0,0,0,0,1,15,16,2,0,0,0,0,2,16,15,1,0,0,0,0,1,16,14,0,0,0,0,0,2,16,8,0,0,0,1 +0,1,14,7,0,0,0,0,0,8,16,2,0,3,5,0,0,10,12,0,1,14,11,0,0,9,15,1,9,16,3,0,0,1,15,16,16,8,0,0,0,0,5,16,13,5,0,0,0,0,12,13,0,0,0,0,0,2,16,6,0,0,0,0,4 +0,2,16,16,16,7,0,0,0,0,7,8,11,16,3,0,0,0,0,2,12,16,4,0,0,0,1,16,16,6,0,0,0,0,2,12,16,10,0,0,0,0,0,0,4,16,4,0,0,0,10,8,11,16,7,0,0,1,14,16,16,12,1,0,3 +0,0,9,14,16,13,2,0,0,8,16,16,14,9,1,0,0,15,16,14,4,0,0,0,0,4,12,13,16,6,0,0,0,0,0,0,8,15,0,0,0,0,0,0,5,16,3,0,0,1,11,10,15,11,0,0,0,0,9,16,13,3,0,0,5 +0,2,7,16,15,8,0,0,0,5,16,11,15,12,0,0,0,0,11,15,13,0,0,0,0,0,3,16,1,0,0,0,0,0,9,16,1,0,0,0,0,0,13,10,5,0,0,0,0,0,14,9,8,0,0,0,0,0,6,16,5,0,0,0,8 +0,0,3,12,10,0,0,0,0,0,10,11,5,10,0,0,0,1,16,7,0,10,2,0,0,2,16,2,0,6,6,0,0,3,15,10,0,7,7,0,0,0,12,7,0,10,5,0,0,0,13,2,6,15,1,0,0,0,3,15,14,7,0,0,0 +0,0,0,12,16,13,0,0,0,0,6,16,10,5,0,0,1,14,2,6,0,0,0,0,0,12,11,0,0,0,0,0,0,3,14,11,1,0,0,0,0,0,3,13,11,0,0,0,0,0,0,5,16,6,0,0,0,0,0,13,16,6,0,0,5 +0,0,1,16,12,1,0,0,0,0,0,16,16,5,0,0,0,0,2,16,16,7,0,0,0,0,4,16,16,0,0,0,0,0,9,16,12,0,0,0,0,0,13,16,8,0,0,0,0,0,10,16,10,0,0,0,0,0,2,15,16,5,0,0,1 +0,0,3,12,15,7,0,0,0,0,4,9,3,12,0,0,0,0,13,5,11,5,0,0,0,0,3,16,11,0,0,0,0,0,2,16,9,0,0,0,0,0,10,6,11,6,0,0,0,0,13,3,7,12,0,0,0,0,4,15,13,8,0,0,8 +0,0,0,13,9,0,5,1,0,0,11,13,1,4,15,2,0,4,16,1,0,13,10,0,0,11,14,8,10,16,4,0,0,5,15,16,16,13,2,0,0,0,0,7,14,0,0,0,0,0,0,11,8,0,0,0,0,0,0,14,2,0,0,0,4 +0,0,4,14,11,1,0,0,0,0,9,8,10,9,0,0,0,0,7,0,14,4,0,0,0,0,9,11,14,1,0,0,0,0,1,15,8,0,0,0,0,0,3,13,12,5,0,0,0,0,8,8,4,14,0,0,0,0,3,15,16,13,0,0,8 +0,0,9,16,16,10,1,0,0,10,16,9,4,16,4,0,0,13,12,0,8,14,5,0,0,7,16,15,16,12,0,0,0,0,1,4,15,13,0,0,0,0,0,10,16,6,0,0,0,0,5,16,10,0,0,0,0,0,9,16,1,0,0,0,9 +0,0,2,13,16,16,9,0,0,0,12,10,4,7,12,0,0,1,15,8,2,6,4,0,0,0,4,10,16,9,0,0,0,0,0,0,2,16,0,0,0,0,0,0,9,11,0,0,0,0,0,5,15,4,0,0,0,0,0,13,9,0,0,0,9 +0,0,3,13,12,2,0,0,0,0,14,16,13,12,0,0,0,2,16,12,0,12,4,0,0,6,15,0,0,10,6,0,0,3,13,0,0,7,9,0,0,3,12,0,1,12,6,0,0,1,13,9,13,16,2,0,0,0,5,14,13,4,0,0,0 +0,0,0,9,9,0,0,0,0,0,7,15,3,0,0,0,0,0,11,8,0,0,0,0,0,0,14,4,2,3,0,0,0,0,12,12,16,12,10,0,0,0,9,14,8,0,8,4,0,0,4,9,1,2,14,5,0,0,0,6,11,14,8,0,6 +0,0,2,7,14,14,2,0,0,2,15,9,5,15,3,0,0,2,16,8,8,15,0,0,0,0,4,7,11,15,2,0,0,0,0,0,0,16,6,0,0,0,0,0,10,13,1,0,0,0,0,6,14,2,0,0,0,0,0,10,4,0,0,0,9 +0,0,0,11,12,1,0,0,0,0,2,14,16,3,0,0,0,0,5,16,11,0,0,0,0,0,7,16,8,0,0,0,0,0,6,16,8,0,0,0,0,0,10,16,7,0,0,0,0,0,7,16,9,4,0,0,0,0,0,10,16,12,1,0,1 +0,3,13,16,16,16,15,1,0,3,9,5,6,16,11,0,0,0,0,0,10,14,1,0,0,0,0,6,16,3,0,0,0,0,0,14,11,0,0,0,0,0,8,15,2,0,0,0,0,1,14,12,0,0,0,0,0,5,16,5,0,0,0,0,7 +0,1,13,16,16,7,0,0,0,0,10,8,15,12,0,0,0,0,0,1,16,7,0,0,0,1,13,15,16,13,7,0,0,0,8,16,14,12,8,0,0,0,8,16,1,0,0,0,0,0,14,11,0,0,0,0,0,1,16,4,0,0,0,0,7 +0,0,2,13,12,1,0,0,0,0,15,12,9,10,0,0,0,2,16,2,0,9,1,0,0,4,16,1,0,4,5,0,0,2,16,4,0,2,9,0,0,0,14,0,0,6,8,0,0,0,12,7,5,15,4,0,0,0,2,13,15,6,0,0,0 +0,0,3,14,3,0,1,8,0,0,9,15,0,1,13,11,0,0,14,14,0,9,14,2,0,0,14,16,16,16,7,0,0,0,3,13,16,11,1,0,0,0,0,7,15,1,0,0,0,0,0,14,10,0,0,0,0,0,2,15,4,0,0,0,4 +0,0,1,11,7,0,2,1,0,0,10,13,0,1,13,6,0,4,16,3,0,10,12,0,0,3,16,11,9,16,3,0,0,0,9,16,16,8,0,0,0,0,0,9,11,0,0,0,0,0,0,14,3,0,0,0,0,0,0,14,4,0,0,0,4 +0,0,2,15,9,0,0,0,0,0,3,16,12,8,0,0,0,0,8,14,3,10,2,0,0,0,14,5,0,6,6,0,0,2,15,0,0,3,9,0,0,1,15,0,0,1,12,0,0,0,12,9,5,11,11,0,0,0,2,14,16,10,3,0,0 +0,0,3,15,14,3,0,0,0,0,13,8,2,11,0,0,0,3,16,7,0,10,1,0,0,4,14,0,0,7,5,0,0,2,12,0,0,5,7,0,0,2,13,0,0,10,5,0,0,0,13,3,6,14,1,0,0,0,3,15,14,4,0,0,0 +0,0,2,13,1,0,0,0,0,0,11,10,1,0,0,0,0,2,15,1,0,0,0,0,0,6,11,1,4,1,0,0,0,7,10,9,16,14,1,0,0,4,12,7,6,7,10,0,0,1,13,6,2,10,14,0,0,0,3,12,13,13,3,0,6 +0,0,5,14,12,5,0,0,0,0,3,16,16,9,0,0,0,0,2,16,16,7,0,0,0,0,5,16,16,3,0,0,0,0,10,16,16,4,0,0,0,0,9,16,14,1,0,0,0,0,8,16,16,2,0,0,0,0,8,15,13,4,0,0,1 +0,0,11,14,10,3,0,0,0,0,6,8,12,15,3,0,0,0,0,0,6,16,5,0,0,0,0,6,15,12,1,0,0,0,5,16,13,1,0,0,0,0,15,13,0,0,0,0,0,5,16,8,4,2,0,0,0,1,10,16,16,10,0,0,2 +0,0,2,10,16,16,2,0,0,1,16,15,5,1,0,0,0,8,13,0,0,0,0,0,0,12,11,0,0,0,0,0,0,5,16,7,0,0,0,0,0,0,3,13,12,0,0,0,0,0,0,4,16,0,0,0,0,0,0,14,12,0,0,0,5 +0,0,0,3,15,1,0,0,0,0,0,12,11,1,5,0,0,0,6,16,2,6,16,0,0,3,16,7,0,16,6,0,0,10,16,12,14,16,5,0,0,11,14,12,16,13,1,0,0,0,0,0,16,6,0,0,0,0,0,5,14,2,0,0,4 +0,1,8,12,15,6,0,0,0,2,12,8,13,15,2,0,0,0,0,0,13,16,1,0,0,0,0,6,16,10,0,0,0,0,6,16,11,0,0,0,0,0,13,16,3,0,0,0,0,0,16,12,2,6,0,0,0,0,8,14,16,10,2,0,2 +0,0,13,16,16,8,0,0,0,0,7,5,10,8,0,0,0,0,0,0,14,4,0,0,0,0,7,10,16,13,7,0,0,0,15,16,13,15,10,0,0,0,0,16,1,0,0,0,0,0,8,12,0,0,0,0,0,0,16,3,0,0,0,0,7 +0,1,10,13,13,12,1,0,0,6,13,4,4,13,8,0,0,0,1,1,7,16,3,0,0,0,0,15,13,4,0,0,0,0,0,8,15,3,0,0,0,0,0,0,10,13,1,0,0,0,0,1,9,16,2,0,0,1,13,16,12,7,0,0,3 +0,3,11,16,16,12,0,0,0,5,9,10,16,16,3,0,0,0,0,8,16,7,0,0,0,0,0,12,14,0,0,0,0,0,0,4,16,9,0,0,0,0,0,0,5,16,6,0,0,0,6,8,12,16,7,0,0,1,13,11,8,3,0,0,3 +0,5,16,16,16,3,0,0,0,8,7,5,16,2,0,0,0,3,5,10,14,0,0,0,0,7,16,16,15,12,6,0,0,0,9,14,11,14,6,0,0,0,16,6,0,0,0,0,0,3,15,2,0,0,0,0,0,7,12,0,0,0,0,0,7 +0,0,0,9,16,7,0,0,0,0,3,16,16,7,0,0,0,0,11,16,16,0,0,0,0,1,14,16,16,1,0,0,0,0,14,16,14,0,0,0,0,0,10,16,13,1,0,0,0,0,6,16,16,6,0,0,0,0,3,8,15,13,1,0,1 +0,0,8,15,16,11,0,0,0,13,16,12,6,4,0,0,1,16,7,0,0,0,0,0,0,12,14,1,0,0,0,0,0,1,14,10,0,0,0,0,0,0,4,16,4,0,0,0,0,0,2,14,8,0,0,0,0,0,11,15,3,0,0,0,5 +0,0,13,3,0,0,0,0,0,4,16,4,0,6,12,0,0,9,15,0,6,16,7,0,0,6,16,11,16,9,0,0,0,0,9,16,14,3,0,0,0,0,6,15,3,0,0,0,0,0,13,9,0,0,0,0,0,0,15,7,0,0,0,0,4 +0,0,0,0,12,15,2,0,0,0,0,0,12,16,4,0,0,2,4,6,16,16,2,0,0,9,16,16,16,16,0,0,0,1,8,5,15,16,0,0,0,0,0,0,16,16,4,0,0,0,0,0,15,16,5,0,0,0,0,0,9,16,8,0,1 +0,0,8,13,12,6,0,0,0,1,14,13,12,6,0,0,0,4,12,2,2,0,0,0,0,5,16,16,16,13,1,0,0,0,3,1,2,15,7,0,0,0,0,0,0,12,8,0,0,0,6,8,8,15,4,0,0,0,7,13,12,5,0,0,5 +0,0,6,14,16,16,4,0,0,0,11,12,13,16,7,0,0,0,0,0,9,15,3,0,0,0,1,6,14,14,2,0,0,0,10,16,16,16,9,0,0,0,2,15,11,4,1,0,0,0,4,16,5,0,0,0,0,0,9,13,0,0,0,0,7 +0,0,8,11,14,10,0,0,0,0,14,15,7,8,0,0,0,1,14,4,0,0,0,0,0,8,16,9,8,3,0,0,0,4,12,12,14,16,4,0,0,0,0,0,0,13,8,0,0,0,4,8,12,15,4,0,0,0,15,14,12,3,0,0,5 +0,2,10,15,9,1,0,0,0,10,13,9,16,4,0,0,0,2,0,5,16,0,0,0,0,0,0,12,16,9,0,0,0,0,0,3,7,16,7,0,0,0,0,0,0,11,9,0,0,0,12,9,9,16,8,0,0,0,13,12,12,6,0,0,3 +0,0,0,0,9,7,0,0,0,0,0,9,12,0,0,0,0,0,3,15,2,2,1,0,0,2,15,4,0,14,4,0,0,7,14,0,4,16,0,0,0,8,16,16,16,16,4,0,0,0,0,3,16,5,0,0,0,0,0,0,13,6,0,0,4 +0,0,3,16,14,3,0,0,0,0,12,14,14,12,0,0,0,2,16,6,0,15,2,0,0,7,10,0,0,10,4,0,0,8,8,0,0,11,5,0,0,7,10,0,0,13,3,0,0,5,16,13,15,11,0,0,0,0,7,14,13,1,0,0,0 +0,0,0,0,8,11,1,0,0,0,0,0,10,16,4,0,0,0,0,8,16,16,0,0,0,0,6,15,16,16,0,0,0,5,15,8,16,14,0,0,0,0,0,0,13,15,0,0,0,0,0,0,12,16,1,0,0,0,0,0,7,15,9,0,1 +0,0,4,12,12,6,0,0,0,0,3,6,4,8,0,0,0,3,13,6,8,3,0,0,0,4,16,13,12,15,2,0,0,0,3,0,0,10,8,0,0,0,0,0,0,8,6,0,0,0,7,6,5,14,2,0,0,0,3,14,15,6,0,0,5 +0,0,9,14,13,6,0,0,0,4,12,5,8,16,0,0,0,0,0,0,4,13,0,0,0,0,0,3,15,7,0,0,0,0,0,10,16,15,2,0,0,0,0,0,0,13,7,0,0,0,12,4,5,13,2,0,0,0,13,16,14,6,0,0,3 +0,0,8,16,12,0,0,0,0,6,16,15,10,0,0,0,0,4,16,14,14,16,6,0,0,0,12,16,15,5,0,0,0,0,12,16,11,0,0,0,0,0,16,10,16,6,0,0,0,0,16,5,13,12,0,0,0,0,10,15,11,1,0,0,8 +0,0,0,0,8,11,0,0,0,0,0,2,14,6,0,0,0,0,0,11,9,2,3,0,0,0,9,12,1,11,9,0,0,4,16,6,0,13,5,0,0,8,16,16,16,16,0,0,0,0,0,3,8,15,0,0,0,0,0,0,6,12,0,0,4 +0,0,10,16,16,15,0,0,0,3,15,9,8,4,0,0,0,9,13,6,2,0,0,0,0,8,16,16,16,11,0,0,0,1,8,5,10,16,7,0,0,0,0,0,0,12,9,0,0,0,4,9,14,16,4,0,0,0,11,13,11,5,0,0,5 +0,0,9,14,6,0,0,0,0,0,16,14,16,6,0,0,0,0,13,12,13,16,1,0,0,0,6,13,10,16,2,0,0,0,0,0,0,12,7,0,0,0,5,1,0,12,8,0,0,1,16,10,8,15,7,0,0,0,8,15,16,11,1,0,9 +0,0,7,13,11,3,0,0,0,2,15,8,8,2,0,0,0,6,11,3,3,0,0,0,0,7,16,16,16,13,2,0,0,1,8,5,3,11,10,0,0,0,0,0,0,2,14,0,0,0,2,5,4,10,15,0,0,0,8,16,16,14,4,0,5 +0,0,0,10,9,0,0,0,0,0,0,15,9,0,0,0,0,0,6,14,2,11,4,0,0,2,14,7,9,15,2,0,0,11,16,8,14,13,1,0,0,12,16,16,16,16,6,0,0,2,4,10,16,3,0,0,0,0,0,11,15,0,0,0,4 +0,0,7,16,10,1,0,0,0,4,16,11,14,13,0,0,0,6,16,4,10,16,5,0,0,2,15,16,12,14,8,0,0,0,0,0,0,12,8,0,0,0,0,0,0,10,8,0,0,0,4,8,8,14,8,0,0,0,8,15,14,11,0,0,9 +0,0,3,10,16,7,0,0,0,0,15,12,8,15,0,0,0,5,14,2,10,16,6,0,0,2,14,16,11,3,0,0,0,0,6,16,6,0,0,0,0,0,12,14,15,2,0,0,0,0,11,8,16,8,0,0,0,0,3,14,14,3,0,0,8 +0,0,12,16,15,5,0,0,0,3,15,8,7,5,0,0,0,9,13,8,8,2,0,0,0,4,15,12,15,16,3,0,0,0,0,0,1,14,8,0,0,0,1,0,0,11,10,0,0,2,16,9,9,15,3,0,0,0,8,11,13,4,0,0,5 +0,1,10,16,6,0,0,0,0,4,12,8,12,0,0,0,0,1,0,2,11,0,0,0,0,0,0,9,16,9,0,0,0,0,0,5,8,16,5,0,0,0,0,0,0,8,9,0,0,2,8,8,7,11,9,0,0,1,13,16,16,10,1,0,3 +0,0,9,14,14,9,1,0,0,7,16,10,4,12,0,0,0,8,16,6,6,15,4,0,0,0,11,16,16,9,1,0,0,0,7,16,16,0,0,0,0,1,15,13,15,12,0,0,0,4,16,8,12,15,0,0,0,1,8,13,13,4,0,0,8 +0,0,0,8,14,0,0,0,0,0,0,12,12,0,0,0,0,0,1,15,9,5,0,0,0,0,11,15,15,12,0,0,0,3,16,11,16,10,2,0,0,13,16,16,16,16,8,0,0,5,8,12,16,7,0,0,0,0,0,8,16,2,0,0,4 +0,0,6,15,13,2,0,0,0,5,15,7,9,10,0,0,0,11,9,1,10,12,0,0,0,2,13,16,13,15,4,0,0,0,0,0,0,13,8,0,0,0,0,0,0,8,11,0,0,0,6,8,4,11,11,0,0,0,5,14,16,14,1,0,9 +0,0,13,16,10,0,0,0,0,3,16,11,16,5,0,0,0,0,15,13,15,13,0,0,0,0,5,12,11,16,2,0,0,0,0,0,0,14,10,0,0,0,0,0,0,5,16,0,0,0,7,8,11,13,16,2,0,0,15,16,16,16,11,0,9 +0,0,10,16,9,0,0,0,0,8,14,8,16,0,0,0,0,10,2,7,13,0,0,0,0,0,0,10,16,9,0,0,0,0,0,2,9,16,5,0,0,0,0,0,0,9,11,0,0,1,11,5,7,16,6,0,0,0,11,15,14,7,0,0,3 +0,0,8,14,13,7,0,0,0,1,16,12,9,16,2,0,0,0,11,11,1,9,0,0,0,0,3,16,16,12,0,0,0,0,6,16,16,2,0,0,0,1,15,10,13,8,0,0,0,1,16,5,9,12,0,0,0,0,11,12,11,3,0,0,8 +0,0,0,0,8,15,1,0,0,0,0,0,14,16,5,0,0,0,2,10,16,16,4,0,0,9,16,16,16,16,5,0,0,5,7,4,12,16,4,0,0,0,0,0,8,16,5,0,0,0,0,0,9,16,4,0,0,0,0,0,7,16,5,0,1 +0,0,0,0,10,9,0,0,0,0,0,5,15,3,0,0,0,0,3,16,6,2,1,0,0,0,13,9,0,11,6,0,0,6,16,1,1,16,4,0,0,8,16,14,14,16,4,0,0,1,6,7,15,13,0,0,0,0,0,0,10,9,0,0,4 +0,0,0,6,14,10,0,0,0,0,5,16,11,7,0,0,0,0,12,13,0,0,0,0,0,5,16,3,0,0,0,0,0,4,16,16,15,7,0,0,0,4,16,11,8,15,5,0,0,1,13,14,8,11,14,0,0,0,0,7,14,16,9,0,6 +0,0,0,0,9,13,0,0,0,0,0,7,16,3,0,0,0,0,5,16,4,3,5,0,0,3,13,7,0,10,14,0,0,10,16,16,16,16,11,0,0,5,8,10,13,16,7,0,0,0,0,0,7,16,4,0,0,0,0,0,10,11,0,0,4 +0,0,9,14,11,1,0,0,0,3,15,5,5,10,0,0,0,6,14,4,7,12,0,0,0,1,10,16,16,7,0,0,0,0,11,14,12,13,1,0,0,0,16,1,0,8,6,0,0,0,16,5,4,10,8,0,0,0,7,16,16,12,1,0,8 +0,0,0,1,15,3,0,0,0,0,0,12,15,0,0,0,0,0,8,16,1,5,12,0,0,4,15,11,3,12,13,0,0,11,16,16,16,16,7,0,0,3,8,10,15,16,1,0,0,0,0,0,15,10,0,0,0,0,0,1,16,5,0,0,4 +0,2,8,12,15,15,2,0,0,13,16,16,13,12,3,0,0,12,16,9,0,0,0,0,0,6,16,16,7,0,0,0,0,0,4,10,15,0,0,0,0,0,2,4,16,4,0,0,0,4,16,16,13,0,0,0,0,0,15,15,5,0,0,0,5 +0,1,9,16,13,2,0,0,0,7,13,7,8,12,0,0,0,10,11,0,4,16,0,0,0,2,16,16,16,12,0,0,0,0,14,15,16,14,1,0,0,0,15,6,0,9,9,0,0,0,13,12,8,12,9,0,0,0,6,13,12,11,4,0,8 +0,0,0,9,12,0,0,0,0,0,4,15,6,1,8,0,0,1,13,12,0,11,14,1,0,10,16,6,5,16,9,0,0,9,16,16,16,16,10,0,0,0,1,5,16,11,0,0,0,0,0,4,16,5,0,0,0,0,0,12,11,0,0,0,4 +0,1,8,10,14,15,6,0,0,6,16,11,7,5,2,0,0,3,16,8,0,0,0,0,0,2,16,16,10,0,0,0,0,0,1,3,13,2,0,0,0,0,0,0,9,4,0,0,0,0,11,11,14,1,0,0,0,0,11,9,2,0,0,0,5 +0,0,4,12,7,0,0,0,0,0,13,11,12,4,0,0,0,0,8,0,3,10,0,0,0,0,0,0,2,13,0,0,0,0,0,0,9,8,0,0,0,0,0,3,16,1,0,0,0,0,8,16,15,14,14,1,0,0,6,12,12,10,10,2,2 +0,0,5,16,16,10,0,0,0,0,9,16,16,15,0,0,0,0,7,16,16,11,0,0,0,0,9,16,16,11,0,0,0,0,8,16,16,12,0,0,0,0,10,16,16,10,0,0,0,0,14,16,16,12,0,0,0,0,8,13,16,8,0,0,1 +0,0,3,4,4,2,0,0,0,1,14,16,15,2,0,0,0,4,16,16,14,0,0,0,0,4,16,16,15,0,0,0,0,2,15,16,15,1,0,0,0,0,11,16,16,5,0,0,0,0,5,16,16,12,0,0,0,0,6,12,8,5,0,0,1 +0,3,14,14,2,0,0,0,0,11,16,16,13,0,0,0,0,3,2,4,14,6,0,0,0,0,0,0,13,8,0,0,0,0,0,7,15,2,0,0,0,0,6,15,7,0,0,0,0,4,16,16,10,8,5,0,0,2,11,15,16,15,12,0,2 +0,0,6,16,11,1,0,0,0,0,16,13,16,11,0,0,0,5,10,0,3,13,2,0,0,7,8,0,0,4,7,0,0,8,8,0,0,6,8,0,0,4,11,2,4,15,5,0,0,0,14,16,16,15,1,0,0,0,5,12,10,2,0,0,0 +0,0,8,16,8,0,0,0,0,2,15,16,16,6,0,0,0,4,13,1,6,15,1,0,0,7,13,0,0,13,5,0,0,8,12,0,0,8,8,0,0,7,14,1,4,12,8,0,0,2,15,16,16,16,4,0,0,0,7,16,16,10,0,0,0 +0,0,4,10,14,14,8,0,0,7,16,15,11,8,4,0,0,2,15,9,3,0,0,0,0,0,12,16,16,7,0,0,0,0,0,4,9,16,4,0,0,0,0,0,0,13,8,0,0,0,7,12,11,16,5,0,0,0,4,16,10,5,0,0,5 +0,0,7,14,16,16,7,0,0,0,12,14,9,8,2,0,0,0,14,4,0,0,0,0,0,3,16,16,9,0,0,0,0,8,16,14,16,3,0,0,0,2,2,0,12,8,0,0,0,0,6,15,15,2,0,0,0,0,11,11,3,0,0,0,5 +0,0,3,10,11,5,0,0,0,8,16,10,8,5,0,0,0,11,11,0,0,0,0,0,0,8,14,11,8,4,0,0,0,0,3,7,9,14,9,0,0,0,0,0,0,5,13,0,0,0,1,4,10,16,5,0,0,0,2,13,10,2,0,0,5 +0,2,13,13,1,0,0,0,0,3,14,13,13,0,0,0,0,0,2,0,16,0,0,0,0,0,0,0,16,0,0,0,0,0,0,9,8,0,0,0,0,0,4,15,3,0,0,0,0,2,16,16,9,7,6,0,0,0,11,12,15,16,12,0,2 +0,0,8,14,15,11,0,0,0,1,16,14,8,8,0,0,0,2,16,10,2,0,0,0,0,1,12,16,14,2,0,0,0,0,0,0,11,10,0,0,0,0,0,0,7,13,0,0,0,0,14,14,16,3,0,0,0,0,12,10,5,0,0,0,5 +0,0,2,11,16,13,1,0,0,1,16,11,4,12,8,0,0,0,14,8,3,11,8,0,0,0,13,16,16,14,1,0,0,0,10,16,10,15,3,0,0,0,14,7,0,10,5,0,0,0,11,12,8,14,4,0,0,0,3,14,12,10,1,0,8 +0,0,1,10,11,0,0,0,0,0,7,15,3,0,9,1,0,2,16,7,0,6,15,2,0,8,16,7,4,13,11,0,0,8,16,16,16,16,2,0,0,1,4,7,16,12,0,0,0,0,0,4,16,4,0,0,0,0,0,14,9,0,0,0,4 +0,1,10,16,16,15,0,0,0,2,15,10,12,15,0,0,0,0,0,1,15,8,0,0,0,0,8,16,16,16,13,0,0,0,6,16,10,4,2,0,0,0,4,16,4,0,0,0,0,0,9,16,1,0,0,0,0,0,13,13,0,0,0,0,7 +0,0,10,15,10,1,0,0,0,5,16,4,11,13,1,0,0,5,16,9,12,16,7,0,0,1,10,12,8,14,8,0,0,0,0,0,0,14,5,0,0,0,0,0,10,13,1,0,0,0,5,12,15,2,0,0,0,0,13,10,2,0,0,0,9 +0,0,1,12,12,11,0,0,0,0,12,16,16,7,0,0,0,0,12,16,16,4,0,0,0,0,12,16,16,0,0,0,0,0,12,16,16,4,0,0,0,0,7,16,16,7,0,0,0,0,4,16,16,15,1,0,0,0,3,10,10,4,0,0,1 +0,0,3,8,10,12,6,0,0,0,13,15,11,8,2,0,0,0,12,11,2,0,0,0,0,0,13,16,16,9,1,0,0,0,0,4,6,13,6,0,0,0,0,0,0,13,4,0,0,0,5,5,13,11,0,0,0,0,13,14,7,0,0,0,5 +0,1,9,15,5,0,0,0,0,4,16,15,13,0,0,0,0,1,2,1,15,2,0,0,0,0,0,0,16,0,0,0,0,0,0,5,13,0,0,0,0,0,4,15,3,0,1,0,0,0,12,16,12,14,4,0,0,0,11,16,13,9,2,0,2 +0,3,8,12,13,3,0,0,0,5,11,8,12,10,0,0,0,0,0,0,13,7,0,0,0,0,5,14,16,13,0,0,0,0,7,13,7,14,8,0,0,0,0,0,2,16,7,0,0,1,6,11,16,7,0,0,0,3,13,11,3,0,0,0,3 +0,2,12,15,6,0,0,0,0,6,13,12,16,5,0,0,0,0,3,9,16,5,0,0,0,0,7,16,16,12,0,0,0,0,0,4,8,16,5,0,0,0,0,0,0,13,8,0,0,2,13,8,14,15,3,0,0,2,15,15,10,1,0,0,3 +0,0,0,7,12,5,0,0,0,0,5,16,16,12,0,0,0,0,12,16,16,15,0,0,0,0,8,16,16,15,0,0,0,0,10,16,16,10,0,0,0,0,6,16,16,10,0,0,0,0,0,13,16,6,0,0,0,0,0,8,6,0,0,0,1 +0,0,8,13,13,16,8,0,0,1,15,15,12,16,4,0,0,0,0,0,10,14,0,0,0,0,1,5,16,10,3,0,0,0,8,16,16,13,6,0,0,0,1,13,9,0,0,0,0,0,4,16,7,0,0,0,0,0,9,13,1,0,0,0,7 +0,0,9,16,7,2,0,0,0,1,16,10,15,11,0,0,0,4,16,4,1,15,3,0,0,6,16,2,0,10,6,0,0,4,14,0,0,9,8,0,0,4,14,0,0,14,6,0,0,2,16,12,15,12,0,0,0,0,6,15,13,1,0,0,0 +0,0,2,7,13,12,2,0,0,0,10,13,6,12,6,0,0,2,16,4,1,13,8,0,0,0,14,14,15,15,10,0,0,0,0,3,1,12,5,0,0,0,0,0,5,11,0,0,0,0,0,2,14,2,0,0,0,0,0,9,8,0,0,0,9 +0,0,4,15,16,5,0,0,0,4,16,10,10,15,0,0,0,10,16,7,4,15,0,0,0,1,4,3,13,9,0,0,0,0,0,9,16,16,4,0,0,0,0,1,0,11,11,0,0,0,2,12,4,13,9,0,0,0,4,16,16,12,1,0,3 +0,0,9,12,14,14,12,1,0,0,15,15,12,14,16,6,0,0,3,0,0,10,15,3,0,0,0,0,4,16,6,0,0,0,0,3,15,9,0,0,0,0,2,13,12,0,0,0,0,0,10,14,1,0,0,0,0,0,13,9,0,0,0,0,7 +0,0,5,15,14,2,0,0,0,2,15,14,13,15,0,0,0,7,16,2,1,16,5,0,0,8,14,0,0,12,10,0,0,8,13,0,0,8,12,0,0,8,15,0,0,14,10,0,0,2,16,11,10,16,2,0,0,0,8,16,16,6,0,0,0 +0,0,0,13,7,0,0,0,0,0,5,13,3,13,2,0,0,0,14,6,4,16,0,0,0,5,16,9,14,16,10,0,0,5,16,15,16,7,2,0,0,0,0,10,11,0,0,0,0,0,0,13,6,0,0,0,0,0,0,16,1,0,0,0,4 +0,0,3,16,15,4,0,0,0,0,11,13,10,16,2,0,0,6,16,6,0,12,8,0,0,10,16,3,0,11,10,0,0,10,16,1,0,13,8,0,0,4,16,4,3,15,4,0,0,0,12,11,14,15,0,0,0,0,3,15,16,4,0,0,0 +0,0,6,12,16,16,15,3,0,0,14,16,12,14,16,8,0,0,0,0,0,14,16,3,0,0,0,0,3,16,11,0,0,0,0,0,12,16,2,0,0,0,0,6,16,11,0,0,0,0,2,15,14,1,0,0,0,0,6,16,9,0,0,0,7 +0,0,10,16,16,16,15,4,0,0,10,12,8,11,16,7,0,0,0,0,1,12,14,1,0,0,0,1,13,13,1,0,0,0,0,13,12,1,0,0,0,0,6,14,3,0,0,0,0,0,10,10,0,0,0,0,0,0,14,2,0,0,0,0,7 +0,0,12,16,9,0,0,0,0,6,16,12,15,5,0,0,0,7,16,7,10,8,0,0,0,1,11,4,10,9,0,0,0,0,0,1,16,3,0,0,0,0,0,8,14,1,0,0,0,1,12,16,14,12,6,0,0,1,15,16,16,16,16,3,2 +0,0,4,11,13,6,0,0,0,2,16,12,5,12,0,0,0,2,14,0,8,12,0,0,0,0,11,14,13,3,0,0,0,0,14,14,11,0,0,0,0,2,13,1,10,6,0,0,0,0,14,4,7,11,0,0,0,0,2,13,15,5,0,0,8 +0,0,8,13,4,0,0,0,0,1,14,10,15,3,0,0,0,2,16,1,4,14,0,0,0,4,16,0,0,12,5,0,0,4,13,0,0,7,9,0,0,4,16,1,0,10,8,0,0,1,15,8,9,15,3,0,0,0,7,15,14,4,0,0,0 +0,0,9,14,0,0,0,0,0,4,16,8,0,0,0,0,0,7,14,1,0,0,0,0,0,9,11,0,4,5,1,0,0,9,12,13,16,16,11,0,0,4,16,15,8,11,14,0,0,3,16,11,9,16,6,0,0,0,8,16,16,8,0,0,6 +0,1,11,12,15,16,13,1,0,1,15,11,8,10,16,2,0,0,0,0,0,13,10,0,0,0,0,0,11,12,1,0,0,0,0,8,16,2,0,0,0,0,3,16,5,0,0,0,0,0,9,13,0,0,0,0,0,0,14,5,0,0,0,0,7 +0,0,2,10,14,2,0,0,0,0,10,13,6,0,0,0,0,0,14,4,0,0,0,0,0,1,16,0,0,0,0,0,0,4,16,16,16,11,0,0,0,5,16,6,5,13,9,0,0,0,15,9,6,13,7,0,0,0,4,14,14,6,0,0,6 +0,0,12,16,8,0,0,0,0,7,16,10,16,2,0,0,0,10,12,0,15,7,0,0,0,5,8,0,15,6,0,0,0,0,0,1,16,2,0,0,0,0,0,8,12,0,0,0,0,0,6,16,9,4,2,0,0,0,12,16,16,16,9,0,2 +0,0,2,12,7,0,0,0,0,0,11,16,5,0,0,0,0,0,16,9,0,0,0,0,0,0,15,11,4,3,0,0,0,0,16,16,16,16,6,0,0,0,15,13,0,10,14,0,0,0,11,15,8,16,11,0,0,0,1,11,14,11,1,0,6 +0,0,5,14,3,0,0,0,0,0,15,15,3,0,0,0,0,2,16,4,0,0,0,0,0,4,16,4,3,1,0,0,0,6,16,9,16,15,3,0,0,4,16,16,9,13,11,0,0,0,14,15,5,16,6,0,0,0,4,14,14,9,0,0,6 +0,0,0,8,13,2,0,0,0,0,12,14,9,0,0,0,0,1,15,5,0,0,0,0,0,5,15,0,0,0,0,0,0,3,15,13,16,15,4,0,0,2,16,11,4,8,13,0,0,0,9,12,5,11,12,0,0,0,0,9,14,13,4,0,6 +0,3,15,13,0,0,0,0,0,12,14,16,6,0,0,0,0,14,9,10,9,0,0,0,0,2,1,12,8,0,0,0,0,0,0,16,2,0,0,0,0,0,6,15,0,0,0,0,0,1,13,14,12,12,11,0,0,4,16,16,16,15,5,0,2 +0,0,0,8,13,16,9,0,0,0,9,12,4,13,8,0,0,1,14,4,10,16,3,0,0,1,15,16,10,14,9,0,0,0,0,0,0,11,7,0,0,0,0,0,3,14,1,0,0,0,0,1,14,6,0,0,0,0,0,11,8,0,0,0,9 +0,0,12,16,6,0,0,0,0,7,12,4,14,0,0,0,0,11,14,0,6,4,0,0,0,6,8,0,7,4,0,0,0,0,0,0,10,3,0,0,0,0,0,5,13,0,0,0,0,0,3,14,10,0,0,0,0,0,14,13,12,15,13,1,2 +0,0,9,16,16,16,7,0,0,5,16,13,6,2,1,0,0,11,15,14,8,0,0,0,0,6,15,12,16,8,0,0,0,0,0,0,10,15,0,0,0,1,13,3,5,15,0,0,0,3,16,9,15,9,0,0,0,0,8,16,14,1,0,0,5 +0,2,14,16,10,1,0,0,0,15,15,8,16,8,0,0,0,9,10,0,13,10,0,0,0,0,1,5,16,3,0,0,0,0,0,13,14,0,0,0,0,0,4,16,5,0,0,0,0,1,14,16,13,8,4,0,0,2,13,16,16,16,16,5,2 +0,0,7,16,16,10,1,0,0,0,8,16,16,13,1,0,0,0,6,16,16,12,0,0,0,0,4,16,16,8,0,0,0,0,7,16,16,5,0,0,0,1,14,16,16,3,0,0,0,4,16,16,8,0,0,0,0,2,14,16,14,2,0,0,1 +0,0,9,12,16,7,0,0,0,10,11,2,0,16,0,0,0,3,2,0,10,8,0,0,0,0,0,7,15,5,0,0,0,0,0,7,9,14,2,0,0,0,0,0,0,8,10,0,0,0,2,2,4,14,5,0,0,0,14,16,14,2,0,0,3 +0,0,2,11,13,11,3,0,0,0,12,11,6,14,13,0,0,3,16,0,10,16,4,0,0,2,16,16,16,13,0,0,0,0,2,4,9,8,0,0,0,0,0,3,15,0,0,0,0,0,0,11,7,0,0,0,0,0,1,14,0,0,0,0,9 +0,0,7,15,12,3,0,0,0,0,6,16,16,8,0,0,0,0,7,16,16,7,0,0,0,0,7,16,16,4,0,0,0,0,6,16,16,6,0,0,0,0,2,16,16,9,0,0,0,0,4,16,16,6,0,0,0,0,5,16,10,3,0,0,1 +0,0,7,16,16,16,13,2,0,0,8,11,8,11,16,7,0,0,0,0,0,12,14,0,0,0,0,0,6,15,3,0,0,0,0,2,14,7,0,0,0,0,0,9,14,1,0,0,0,0,3,16,4,0,0,0,0,0,9,15,0,0,0,0,7 +0,0,6,14,9,0,0,0,0,3,16,9,15,12,3,0,0,1,16,6,16,10,0,0,0,0,6,16,16,6,0,0,0,1,13,10,10,15,1,0,0,3,16,1,0,11,11,0,0,1,15,2,3,14,5,0,0,0,5,15,15,6,0,0,8 +0,0,3,8,12,4,0,0,0,5,16,13,9,13,0,0,0,8,13,9,16,13,0,0,0,0,13,16,12,0,0,0,0,3,15,9,16,10,0,0,0,3,11,0,2,13,11,0,0,2,14,2,4,12,12,0,0,0,6,13,13,11,3,0,8 +0,0,15,12,7,15,6,0,0,8,16,16,16,14,5,0,0,10,16,5,1,0,0,0,0,8,16,9,1,0,0,0,0,0,5,15,13,0,0,0,0,0,0,5,16,4,0,0,0,0,0,10,15,0,0,0,0,0,15,16,6,0,0,0,5 +0,0,5,10,15,11,1,0,0,6,16,8,7,16,5,0,0,6,15,2,8,14,1,0,0,0,11,14,16,3,0,0,0,0,0,13,15,1,0,0,0,0,5,15,15,6,0,0,0,0,11,16,16,7,0,0,0,0,6,13,11,2,0,0,8 +0,0,0,9,12,0,0,0,0,0,4,16,11,0,0,0,0,0,12,15,2,1,5,0,0,5,16,8,1,14,13,0,0,10,16,12,15,16,9,0,0,6,14,14,16,14,0,0,0,0,0,3,16,9,0,0,0,0,0,7,16,4,0,0,4 +0,1,13,16,16,12,1,0,0,2,16,16,16,15,2,0,0,0,5,12,16,14,0,0,0,0,0,0,10,15,0,0,0,0,0,0,12,12,0,0,0,0,0,3,16,9,0,0,0,1,8,13,15,2,0,0,0,2,13,16,6,0,0,0,9 +0,2,12,15,16,12,1,0,0,0,8,16,6,14,2,0,0,0,14,11,0,0,0,0,0,1,15,6,0,0,0,0,0,0,8,14,4,0,0,0,0,0,0,8,15,0,0,0,0,0,2,10,16,2,0,0,0,0,12,16,6,0,0,0,5 +0,0,3,15,10,0,0,0,0,0,9,16,6,0,0,0,0,2,16,13,3,8,1,0,0,11,16,16,16,16,10,0,0,3,12,11,16,15,2,0,0,0,0,4,16,9,0,0,0,0,0,11,16,3,0,0,0,0,2,15,16,0,0,0,4 +0,0,4,16,16,4,0,0,0,0,10,16,16,13,0,0,0,0,3,13,11,16,2,0,0,0,0,0,0,13,8,0,0,0,0,0,0,11,9,0,0,0,0,0,0,13,9,0,0,0,0,0,8,16,5,0,0,0,3,16,16,11,0,0,9 +0,0,2,13,12,1,0,0,0,0,10,14,9,12,0,0,0,1,15,1,0,11,1,0,0,4,13,0,0,10,5,0,0,3,10,0,0,11,8,0,0,2,10,0,3,16,5,0,0,0,11,13,16,8,0,0,0,0,3,13,8,0,0,0,0 +0,2,16,16,12,12,11,0,0,0,3,9,13,16,14,2,0,0,0,1,13,16,4,0,0,0,0,14,15,3,0,0,0,0,0,9,16,6,0,0,0,0,0,1,16,12,0,0,0,0,3,9,16,10,0,0,0,4,16,16,7,0,0,0,3 +0,0,10,16,2,0,0,0,0,0,11,15,0,0,0,0,0,3,16,7,0,0,0,0,0,10,16,5,7,12,5,0,0,5,16,16,16,15,3,0,0,0,4,16,15,3,0,0,0,0,7,16,3,0,0,0,0,0,8,15,2,0,0,0,4 +0,1,9,14,5,0,0,0,0,7,9,7,11,8,4,0,0,4,9,5,14,7,2,0,0,0,11,14,4,0,0,0,0,0,10,15,5,0,0,0,0,2,14,2,15,1,0,0,0,4,13,2,15,2,0,0,0,0,12,16,7,0,0,0,8 +0,0,4,14,8,0,0,0,0,0,14,12,15,9,0,0,0,0,14,10,15,9,1,0,0,0,4,16,11,0,0,0,0,0,9,16,12,0,0,0,0,0,12,12,16,1,0,0,0,1,15,14,16,1,0,0,0,0,7,16,8,0,0,0,8 +0,0,7,16,15,3,0,0,0,0,14,16,16,13,0,0,0,0,9,16,16,16,3,0,0,0,0,6,9,16,9,0,0,0,0,0,0,16,11,0,0,0,0,0,6,16,8,0,0,0,0,4,14,16,2,0,0,0,8,16,15,7,0,0,9 +0,0,1,8,12,1,0,0,0,0,4,15,16,12,0,0,0,0,0,10,16,15,0,0,0,0,5,16,16,11,0,0,0,0,7,16,16,13,0,0,0,0,4,16,16,11,0,0,0,0,0,16,16,9,0,0,0,0,1,11,12,10,5,0,1 +0,0,6,16,13,11,5,0,0,0,1,8,10,16,15,0,0,0,0,0,1,14,13,0,0,0,0,0,7,16,5,0,0,3,4,1,12,16,0,0,0,12,16,16,16,13,2,0,0,0,3,14,15,0,0,0,0,0,6,16,7,0,0,0,7 +0,0,5,12,15,14,10,3,0,0,4,7,4,5,14,3,0,0,0,0,0,9,11,0,0,0,0,0,4,16,4,0,0,2,8,9,16,10,0,0,0,3,12,16,9,0,0,0,0,0,5,14,0,0,0,0,0,0,6,9,0,0,0,0,7 +0,0,8,15,11,3,0,0,0,4,15,8,16,16,6,0,0,7,13,4,15,11,1,0,0,0,14,14,10,1,0,0,0,0,8,16,6,0,0,0,0,0,11,13,16,3,0,0,0,0,16,6,16,4,0,0,0,0,11,16,13,2,0,0,8 +0,0,0,12,16,0,0,0,0,0,3,16,13,0,0,0,0,1,11,15,1,2,6,0,0,6,16,6,1,13,13,0,0,5,16,14,12,16,5,0,0,0,7,14,16,7,0,0,0,0,0,11,13,0,0,0,0,0,0,15,8,0,0,0,4 +0,0,2,15,11,10,16,2,0,0,10,16,16,16,9,0,0,2,16,11,5,2,0,0,0,12,15,4,2,0,0,0,0,5,16,16,15,5,0,0,0,0,2,7,16,11,0,0,0,0,0,3,16,10,0,0,0,0,4,15,12,2,0,0,5 +0,0,10,15,9,12,5,0,0,8,16,14,16,16,5,0,0,12,14,3,0,0,0,0,0,3,15,16,9,0,0,0,0,0,0,8,16,3,0,0,0,0,0,3,16,5,0,0,0,0,1,10,15,3,0,0,0,0,10,16,4,0,0,0,5 +0,0,6,8,11,15,0,0,0,0,15,16,16,10,0,0,0,0,15,12,4,0,0,0,0,0,7,15,3,0,0,0,0,0,0,7,12,0,0,0,0,0,0,4,15,0,0,0,0,0,0,11,11,0,0,0,0,0,10,16,6,0,0,0,5 +0,0,6,11,0,0,0,0,0,0,13,7,0,5,16,2,0,1,16,7,11,16,9,0,0,0,6,12,16,11,0,0,0,0,0,7,14,2,0,0,0,0,0,14,8,0,0,0,0,0,6,16,2,0,0,0,0,0,9,13,0,0,0,0,4 +0,0,9,4,10,15,7,0,0,3,16,16,16,12,3,0,0,7,16,9,2,0,0,0,0,10,16,3,0,0,0,0,0,5,15,15,2,0,0,0,0,0,2,12,12,0,0,0,0,0,5,12,11,0,0,0,0,0,9,16,4,0,0,0,5 +0,0,9,16,11,1,0,0,0,1,16,9,12,13,7,0,0,2,16,5,13,11,6,0,0,0,9,16,12,0,0,0,0,0,5,16,6,0,0,0,0,0,13,15,10,0,0,0,0,0,16,16,8,0,0,0,0,0,11,15,1,0,0,0,8 +0,0,2,7,12,16,11,0,0,0,10,15,16,16,16,0,0,0,0,10,16,16,12,0,0,0,0,4,16,16,4,0,0,0,0,5,16,15,4,0,0,0,0,10,16,12,0,0,0,0,2,15,16,3,0,0,0,0,1,13,14,1,0,0,1 +0,0,0,11,2,0,0,0,0,0,4,16,0,0,0,0,0,0,11,7,0,2,0,0,0,3,15,2,7,15,9,0,0,9,16,16,16,15,3,0,0,6,8,6,16,8,0,0,0,0,0,8,10,0,0,0,0,0,0,15,5,0,0,0,4 +0,0,6,12,16,15,1,0,0,0,0,4,6,16,3,0,0,0,0,0,6,16,2,0,0,0,2,5,12,15,4,0,0,1,11,15,16,12,4,0,0,0,0,8,12,0,0,0,0,0,0,16,6,0,0,0,0,0,5,13,0,0,0,0,7 +0,0,7,12,15,15,2,0,0,3,16,12,8,16,5,0,0,0,0,0,6,16,0,0,0,0,0,0,14,15,6,0,0,0,1,15,16,16,9,0,0,0,0,13,10,2,0,0,0,0,2,16,3,0,0,0,0,0,10,15,0,0,0,0,7 +0,0,0,10,16,5,0,0,0,0,2,16,13,2,0,0,0,0,7,16,4,0,0,0,0,0,8,16,1,0,0,0,0,0,11,16,10,1,0,0,0,0,13,16,16,13,4,0,0,0,7,16,7,15,14,0,0,0,0,9,16,16,12,0,6 +0,0,8,16,6,0,0,0,0,3,15,13,1,0,0,0,0,8,16,4,0,2,1,0,0,9,16,8,10,16,11,0,0,1,13,16,16,15,5,0,0,0,4,16,16,3,0,0,0,0,8,16,10,0,0,0,0,0,7,16,10,0,0,0,4 +0,0,0,9,14,4,0,0,0,10,14,16,16,6,0,0,0,3,9,16,16,2,0,0,0,0,0,16,10,0,0,0,0,0,0,14,9,0,0,0,0,0,2,16,9,0,0,0,0,0,1,16,12,0,0,0,0,0,0,7,15,1,0,0,1 +0,0,1,15,0,0,0,0,0,0,7,16,0,0,0,0,0,0,10,11,0,0,0,0,0,0,14,10,0,0,0,0,0,0,16,13,12,9,1,0,0,1,16,15,12,15,11,0,0,0,9,14,4,13,10,0,0,0,0,11,16,14,2,0,6 +0,0,7,14,16,12,0,0,0,0,15,11,15,15,0,0,0,0,0,1,16,10,0,0,0,0,7,13,16,14,10,0,0,0,12,16,15,12,4,0,0,0,5,16,6,0,0,0,0,0,7,16,2,0,0,0,0,0,10,14,0,0,0,0,7 +0,0,7,9,13,14,4,0,0,0,9,7,6,16,8,0,0,0,0,1,13,10,0,0,0,0,0,14,14,1,0,0,0,0,0,10,16,4,0,0,0,0,0,2,11,14,0,0,0,1,10,9,8,16,3,0,0,1,9,13,12,8,0,0,3 +0,0,5,12,0,0,0,0,0,0,11,12,0,0,0,0,0,0,14,10,0,0,0,0,0,0,14,14,7,1,0,0,0,3,16,16,16,14,1,0,0,5,16,16,10,15,5,0,0,0,13,16,11,15,11,0,0,0,4,12,14,14,3,0,6 +0,0,4,12,12,15,7,0,0,0,7,12,12,15,9,0,0,0,0,0,1,13,5,0,0,0,3,8,10,16,1,0,0,0,8,16,16,16,5,0,0,0,0,6,12,1,0,0,0,0,0,14,5,0,0,0,0,0,3,15,0,0,0,0,7 +0,0,12,16,14,2,0,0,0,7,11,2,7,12,0,0,0,11,15,12,14,11,0,0,0,2,8,8,13,12,0,0,0,0,0,0,7,14,0,0,0,0,0,0,1,14,5,0,0,0,12,12,5,10,12,0,0,0,8,8,12,16,6,0,9 +0,0,0,8,12,11,0,0,0,0,7,16,16,8,0,0,0,0,7,16,16,9,0,0,0,0,8,16,16,6,0,0,0,0,5,16,16,8,0,0,0,0,9,16,16,8,0,0,0,0,5,16,16,11,0,0,0,0,0,12,12,5,0,0,1 +0,2,11,16,5,0,0,0,0,11,16,16,9,0,0,0,0,2,6,16,9,0,0,0,0,0,8,16,5,0,0,0,0,0,14,11,0,0,0,0,0,6,16,5,0,0,2,0,0,6,16,14,13,15,12,0,0,0,15,16,13,11,3,0,2 +0,0,3,9,15,8,0,0,0,1,15,16,16,7,0,0,0,0,5,16,16,10,4,0,0,0,3,16,16,16,9,0,0,0,0,15,14,4,0,0,0,0,0,13,5,0,0,0,0,0,1,15,3,0,0,0,0,0,4,13,0,0,0,0,7 +0,0,4,15,16,7,0,0,0,0,13,12,16,9,0,0,0,0,2,1,16,7,0,0,0,0,0,5,15,3,0,0,0,0,0,14,10,0,0,0,0,0,6,16,2,0,0,0,0,0,9,16,11,7,0,0,0,0,5,16,16,10,0,0,2 +0,0,4,13,11,2,0,0,0,0,2,13,16,7,0,0,0,0,0,7,16,15,0,0,0,0,0,3,16,15,4,0,0,0,0,7,16,16,1,0,0,0,0,10,16,14,0,0,0,0,1,13,15,4,0,0,0,0,8,16,14,0,0,0,1 +0,0,4,14,16,10,0,0,0,0,3,8,14,15,2,0,0,0,0,0,10,16,5,0,0,0,6,11,15,16,7,0,0,0,7,14,16,13,7,0,0,0,0,12,12,0,0,0,0,0,4,16,6,0,0,0,0,0,5,14,3,0,0,0,7 +0,0,4,14,3,0,0,0,0,0,12,11,0,0,0,0,0,1,16,4,0,0,0,0,0,0,16,0,0,0,0,0,0,4,16,9,12,10,2,0,0,6,16,9,8,14,9,0,0,0,13,7,4,16,9,0,0,0,3,15,16,8,0,0,6 +0,0,0,11,16,14,3,0,0,0,8,16,16,16,6,0,0,1,16,6,0,0,0,0,0,5,16,8,7,1,0,0,0,3,16,16,16,11,0,0,0,0,1,5,10,16,2,0,0,0,0,7,12,14,0,0,0,0,0,13,15,3,0,0,5 +0,0,8,15,16,8,0,0,0,0,16,13,14,16,4,0,0,5,14,1,2,16,6,0,0,7,12,0,0,12,5,0,0,4,16,1,0,11,8,0,0,1,16,9,4,13,6,0,0,1,16,16,16,11,0,0,0,0,7,15,16,2,0,0,0 +0,0,0,12,12,0,0,0,0,0,2,16,10,0,0,0,0,0,9,16,6,0,0,0,0,3,16,11,3,12,2,0,0,12,16,16,16,16,7,0,0,3,8,13,16,13,1,0,0,0,0,9,16,9,0,0,0,0,0,11,16,5,0,0,4 +0,0,0,10,6,0,0,0,0,0,7,16,16,4,0,0,0,0,12,16,16,3,0,0,0,0,13,16,16,3,0,0,0,2,15,16,16,2,0,0,0,0,12,16,16,5,0,0,0,0,4,16,16,14,1,0,0,0,0,6,12,9,1,0,1 +0,0,4,15,7,0,0,0,0,3,16,11,2,0,0,0,0,11,11,0,8,11,1,0,0,7,14,11,15,2,0,0,0,1,13,16,4,0,0,0,0,0,8,16,8,0,0,0,0,0,8,16,16,2,0,0,0,0,2,12,15,5,0,0,8 +0,0,8,13,9,0,0,0,0,5,16,13,12,2,0,0,0,8,13,2,7,10,2,0,0,4,15,15,16,9,0,0,0,1,14,16,0,0,0,0,0,0,16,14,5,0,0,0,0,2,13,10,12,0,0,0,0,0,9,16,8,0,0,0,8 +0,0,3,11,16,16,13,0,0,0,15,16,13,11,5,0,0,3,16,8,1,0,0,0,0,5,16,11,4,0,0,0,0,1,8,15,16,3,0,0,0,0,0,5,16,5,0,0,0,0,1,10,16,2,0,0,0,0,5,11,7,0,0,0,5 +0,0,3,15,12,12,6,0,0,0,13,13,13,16,12,0,0,5,11,0,0,0,1,0,0,5,16,15,7,0,0,0,0,0,9,14,16,0,0,0,0,0,0,1,15,2,0,0,0,0,1,12,11,0,0,0,0,0,3,14,1,0,0,0,5 +0,0,5,12,9,1,0,0,0,4,16,9,11,6,1,0,0,1,15,4,1,12,4,0,0,0,6,6,13,14,0,0,0,0,3,16,16,4,0,0,0,0,7,16,16,1,0,0,0,0,10,16,16,7,0,0,0,0,8,12,12,4,0,0,8 +0,0,0,2,13,11,0,0,0,0,4,11,16,16,6,0,0,2,15,16,16,14,0,0,0,0,3,10,16,12,0,0,0,0,0,12,16,10,0,0,0,0,0,6,16,8,0,0,0,0,0,4,16,13,0,0,0,0,0,3,14,15,0,0,1 +0,0,4,13,11,0,0,0,0,0,1,13,16,7,0,0,0,0,0,0,14,9,0,0,0,0,1,6,16,14,5,0,0,1,13,16,16,10,3,0,0,2,8,13,10,0,0,0,0,0,1,16,2,0,0,0,0,0,4,13,1,0,0,0,7 +0,0,7,16,16,16,2,0,0,0,14,14,9,16,2,0,0,2,16,6,0,9,7,0,0,4,16,1,0,8,8,0,0,6,16,0,0,12,8,0,0,5,16,4,2,16,5,0,0,0,15,16,16,13,0,0,0,0,8,13,10,2,0,0,0 +0,0,13,16,7,0,0,0,0,2,16,16,15,0,0,0,0,0,4,14,16,0,0,0,0,0,0,12,13,0,0,0,0,0,0,15,12,0,0,0,0,0,11,16,1,1,1,0,0,0,16,16,16,16,6,0,0,0,13,16,16,12,0,0,2 +0,0,4,15,16,16,10,0,0,0,13,15,12,14,14,0,0,0,14,7,0,0,0,0,0,0,16,16,12,8,0,0,0,0,2,7,10,16,4,0,0,0,0,0,2,16,3,0,0,0,1,9,12,13,0,0,0,0,2,16,11,3,0,0,5 +0,0,3,14,16,16,6,0,0,0,8,16,16,16,9,0,0,0,0,0,7,16,6,0,0,0,0,0,12,15,1,0,0,0,2,13,16,16,7,0,0,0,2,16,16,14,2,0,0,0,6,16,9,0,0,0,0,0,7,14,2,0,0,0,7 +0,0,0,1,15,10,0,0,0,0,0,9,16,4,0,0,0,0,1,15,12,0,0,0,0,0,9,16,3,0,0,0,0,1,15,10,0,15,11,0,0,8,16,16,16,16,8,0,0,0,4,8,16,12,0,0,0,0,0,4,16,7,0,0,4 +0,1,11,16,16,13,2,0,0,6,16,16,8,13,8,0,0,0,10,16,14,15,8,0,0,0,0,7,12,14,5,0,0,0,0,0,0,8,4,0,0,0,0,0,0,11,4,0,0,0,8,8,9,15,4,0,0,2,13,16,16,9,1,0,9 +0,0,0,8,12,15,6,0,0,0,8,16,6,5,14,0,0,0,14,15,12,16,13,0,0,0,3,6,7,15,8,0,0,0,0,0,1,15,2,0,0,0,0,0,10,9,0,0,0,0,0,4,13,1,0,0,0,0,0,11,2,0,0,0,9 +0,0,8,13,16,14,0,0,0,3,16,10,16,13,0,0,0,0,2,11,16,6,0,0,0,0,2,16,15,8,0,0,0,0,1,13,16,16,7,0,0,0,0,1,8,16,7,0,0,0,5,16,16,11,0,0,0,0,9,14,5,0,0,0,3 +0,0,1,7,14,15,2,0,0,2,12,14,8,14,7,0,0,3,14,13,5,14,5,0,0,0,5,15,16,15,2,0,0,0,0,10,16,10,0,0,0,0,2,14,14,12,0,0,0,0,4,16,14,12,0,0,0,0,0,12,13,6,0,0,8 +0,0,8,12,14,3,0,0,0,10,16,14,15,13,0,0,0,7,5,0,9,15,0,0,0,0,0,0,12,11,0,0,0,0,0,0,9,16,2,0,0,0,0,0,0,14,9,0,0,0,11,12,14,16,5,0,0,0,8,14,9,4,0,0,3 +0,0,2,14,5,0,0,0,0,0,10,13,4,0,0,0,0,0,12,9,0,0,0,0,0,0,12,8,0,0,0,0,0,0,12,14,16,15,3,0,0,0,13,14,6,9,10,0,0,0,13,12,7,14,8,0,0,0,2,15,15,10,1,0,6 +0,0,4,16,5,0,0,0,0,0,9,16,2,0,0,0,0,0,11,13,0,0,0,0,0,0,11,12,0,0,0,0,0,0,15,15,13,12,5,0,0,0,13,16,15,11,15,2,0,0,12,16,9,14,15,2,0,0,5,15,16,13,2,0,6 +0,2,11,14,4,0,0,0,0,0,16,13,16,4,0,0,0,0,0,3,16,3,0,0,0,0,0,11,12,0,0,0,0,0,4,16,5,0,0,0,0,1,15,12,0,0,0,0,0,5,16,10,8,11,2,0,0,2,14,16,13,9,5,0,2 +0,0,7,15,13,3,0,0,0,0,16,8,9,13,0,0,0,3,13,0,1,13,3,0,0,7,14,4,0,5,8,0,0,8,16,8,0,10,8,0,0,7,16,9,0,15,3,0,0,2,16,16,11,14,1,0,0,0,5,15,15,3,0,0,0 +0,0,4,15,10,2,0,0,0,0,3,16,15,4,0,0,0,0,6,16,16,2,0,0,0,0,7,16,11,0,0,0,0,0,9,16,7,0,0,0,0,0,12,16,4,0,0,0,0,0,9,16,4,0,0,0,0,0,4,15,8,0,0,0,1 +0,0,1,12,15,2,0,0,0,0,11,13,8,10,0,0,0,4,16,13,1,10,0,0,0,8,15,3,0,6,3,0,0,8,12,0,0,8,5,0,0,2,16,8,0,8,8,0,0,0,10,11,7,15,4,0,0,0,0,13,15,6,0,0,0 +0,0,7,15,14,3,0,0,0,4,16,13,14,13,0,0,0,8,16,5,0,12,4,0,0,8,16,8,0,8,8,0,0,8,16,5,0,9,8,0,0,5,16,10,7,16,3,0,0,0,13,16,16,7,0,0,0,0,6,15,11,1,0,0,0 +0,0,0,13,14,0,0,0,0,0,8,15,3,5,3,0,0,2,16,8,1,16,10,0,0,11,16,8,10,16,6,0,0,5,16,16,16,16,6,0,0,0,0,9,15,0,0,0,0,0,0,12,10,0,0,0,0,0,0,16,2,0,0,0,4 +0,1,4,8,14,16,6,0,0,11,16,16,16,13,3,0,0,9,16,5,2,0,0,0,0,3,16,11,3,0,0,0,0,0,6,16,16,5,0,0,0,0,0,2,16,8,0,0,0,0,0,12,16,3,0,0,0,0,0,12,11,0,0,0,5 +0,3,9,12,12,16,10,0,0,7,16,16,16,14,6,0,0,7,16,11,2,0,0,0,0,10,16,10,2,0,0,0,0,1,11,16,16,4,0,0,0,0,1,12,16,5,0,0,0,0,13,16,6,0,0,0,0,2,15,9,0,0,0,0,5 +0,0,5,10,12,16,16,2,0,0,10,16,16,10,6,0,0,0,5,16,5,0,0,0,0,0,0,12,16,2,0,0,0,0,0,0,12,12,0,0,0,0,0,0,13,9,0,0,0,0,1,12,13,2,0,0,0,0,7,13,2,0,0,0,5 +0,0,0,12,13,0,0,0,0,0,4,16,16,9,0,0,0,0,2,16,6,14,0,0,0,4,3,13,7,9,5,0,0,8,12,3,16,12,8,0,0,0,14,5,1,12,8,0,0,0,10,14,13,16,2,0,0,0,0,13,16,6,0,0,0 +0,0,0,5,14,13,3,0,0,0,11,16,16,16,9,0,0,2,16,16,16,16,11,0,0,0,6,8,8,13,8,0,0,0,0,0,1,14,3,0,0,0,0,0,9,9,0,0,0,0,0,1,13,2,0,0,0,0,0,5,6,0,0,0,9 +0,0,6,16,16,16,9,0,0,0,5,8,4,14,13,0,0,0,0,0,0,15,9,0,0,0,0,4,11,16,2,0,0,0,0,14,16,16,10,0,0,0,0,16,12,8,2,0,0,0,8,16,3,0,0,0,0,0,9,14,1,0,0,0,7 +0,0,6,16,15,3,0,0,0,4,16,13,16,6,0,0,0,3,6,0,16,5,0,0,0,0,0,6,16,1,0,0,0,0,0,14,11,0,0,0,0,0,8,14,1,0,0,0,0,0,12,14,8,6,2,0,0,0,8,16,16,16,3,0,2 +0,0,12,13,3,0,0,0,0,4,16,14,10,0,0,0,0,2,4,6,10,0,0,0,0,0,0,9,11,0,0,0,0,0,2,15,1,0,0,0,0,0,10,11,0,0,0,0,0,4,16,10,6,4,3,0,0,1,10,15,16,16,9,0,2 +0,1,9,16,16,7,0,0,0,7,15,12,15,12,0,0,0,0,2,0,9,14,0,0,0,0,0,0,15,8,0,0,0,0,5,13,16,14,6,0,0,5,16,16,14,8,2,0,0,0,11,16,6,0,0,0,0,0,11,13,2,0,0,0,7 +0,0,0,2,15,2,0,0,0,0,0,10,8,0,8,3,0,0,6,12,0,3,15,0,0,2,14,1,0,12,8,0,0,9,15,12,16,16,5,0,0,3,8,5,11,10,0,0,0,0,0,1,15,4,0,0,0,0,0,3,9,0,0,0,4 +0,0,1,13,3,0,0,0,0,0,4,15,1,0,0,0,0,0,9,10,0,0,0,0,0,0,10,11,0,0,0,0,0,0,11,12,6,5,0,0,0,0,14,16,16,16,8,0,0,0,16,16,11,12,13,0,0,0,3,8,14,10,6,0,6 +0,0,4,11,12,16,10,0,0,3,16,16,14,7,0,0,0,0,16,8,0,0,0,0,0,0,12,10,0,0,0,0,0,0,2,14,10,1,0,0,0,0,0,1,14,11,0,0,0,0,0,1,13,14,2,0,0,0,7,14,10,2,0,0,5 +0,0,3,10,14,14,3,0,0,0,15,6,9,16,4,0,0,0,1,5,14,6,0,0,0,0,7,16,9,1,0,0,0,0,2,9,13,15,1,0,0,0,0,0,4,16,2,0,0,0,0,7,15,6,0,0,0,0,0,14,7,0,0,0,3 +0,0,0,5,8,12,10,0,0,0,11,14,4,15,8,0,0,4,16,14,11,16,7,0,0,7,16,16,16,14,7,0,0,1,8,6,0,7,8,0,0,0,0,0,0,5,8,0,0,0,0,0,3,13,6,0,0,0,0,4,16,8,0,0,9 +0,1,13,5,0,0,0,0,0,4,14,0,0,0,0,0,0,4,8,0,1,6,1,0,0,5,8,1,11,16,5,0,0,4,10,7,16,16,7,0,0,4,14,10,16,16,3,0,0,1,16,16,16,10,0,0,0,0,10,14,9,2,0,0,6 +0,0,2,13,15,1,0,0,0,2,13,15,5,9,0,0,0,7,15,2,0,8,0,0,0,8,15,0,0,5,4,0,0,7,16,0,0,9,6,0,0,0,14,7,0,13,7,0,0,0,10,15,14,14,0,0,0,0,0,14,14,5,0,0,0 +0,0,10,15,16,6,0,0,0,7,16,14,16,11,0,0,0,6,5,11,16,3,0,0,0,0,0,12,16,6,0,0,0,0,0,1,13,16,5,0,0,0,0,0,2,16,9,0,0,0,3,8,13,16,7,0,0,0,12,16,15,4,0,0,3 +0,0,6,14,14,3,0,0,0,9,16,3,8,13,0,0,0,8,15,13,16,16,2,0,0,1,12,12,9,14,5,0,0,0,0,0,0,10,6,0,0,0,0,0,0,10,5,0,0,0,0,1,6,13,2,0,0,0,7,12,7,2,0,0,9 +0,1,12,14,2,0,0,0,0,8,16,16,7,0,0,0,0,2,8,10,8,0,0,0,0,0,0,13,8,0,0,0,0,0,3,16,2,0,0,0,0,0,14,8,0,0,0,0,0,0,16,10,9,10,6,0,0,2,15,13,12,8,1,0,2 +0,0,5,15,10,2,0,0,0,0,5,16,16,11,0,0,0,0,1,16,16,16,1,0,0,0,3,14,16,11,0,0,0,0,6,16,16,10,0,0,0,0,6,16,16,2,0,0,0,0,5,16,16,9,0,0,0,0,4,16,14,10,0,0,1 +0,0,15,15,2,0,0,0,0,4,16,11,13,1,0,0,0,3,15,5,15,6,0,0,0,0,3,1,8,12,0,0,0,0,0,0,6,15,0,0,0,0,0,0,9,12,0,0,0,0,5,9,16,10,1,0,0,0,13,16,16,16,16,6,2 +0,0,0,9,13,0,0,0,0,0,5,16,6,0,0,0,0,1,13,11,1,0,2,0,0,8,16,1,0,10,13,0,0,11,16,4,10,16,5,0,0,12,16,16,16,10,0,0,0,0,4,5,16,3,0,0,0,0,0,10,16,0,0,0,4 +0,0,5,15,8,0,0,0,0,0,13,8,12,5,0,0,0,1,16,1,6,15,2,0,0,1,16,1,2,16,6,0,0,3,14,0,0,11,9,0,0,3,16,1,0,7,10,0,0,0,15,4,2,15,6,0,0,0,5,14,15,10,1,0,0 +0,0,12,7,0,0,0,0,0,3,16,4,0,0,0,0,0,7,15,0,0,0,0,0,0,8,12,3,8,2,0,0,0,12,14,16,16,16,4,0,0,9,16,13,3,9,13,0,0,3,16,9,5,13,12,0,0,0,10,16,16,13,1,0,6 +0,0,4,10,16,16,11,1,0,0,12,13,11,8,7,0,0,3,16,16,16,4,0,0,0,5,16,9,15,6,0,0,0,0,0,0,6,11,0,0,0,0,0,0,11,8,0,0,0,0,1,8,13,2,0,0,0,0,4,13,4,0,0,0,5 +0,0,0,9,13,0,0,0,0,0,8,15,1,0,0,0,0,2,14,10,0,2,15,3,0,6,16,4,1,13,13,0,0,2,16,15,13,14,3,0,0,0,5,11,16,8,0,0,0,0,0,10,14,1,0,0,0,0,0,13,12,0,0,0,4 +0,0,8,16,16,12,0,0,0,4,16,16,16,15,2,0,0,2,11,16,16,11,0,0,0,0,0,15,16,7,0,0,0,0,0,0,11,16,2,0,0,0,7,0,0,15,5,0,0,2,16,7,7,15,7,0,0,0,8,14,12,5,0,0,3 +0,0,10,7,0,0,0,0,0,0,15,9,0,0,0,0,0,2,16,2,0,0,0,0,0,7,16,1,5,3,0,0,0,8,16,13,16,15,2,0,0,8,16,16,12,16,8,0,0,3,16,15,12,16,4,0,0,0,9,16,15,8,0,0,6 +0,2,13,16,16,11,0,0,0,7,13,4,11,14,0,0,0,0,1,9,16,7,0,0,0,0,7,16,14,1,0,0,0,0,0,9,15,13,1,0,0,0,0,0,3,16,5,0,0,0,6,0,5,15,7,0,0,0,15,16,16,10,1,0,3 +0,0,5,16,5,0,0,0,0,0,11,15,2,0,0,0,0,1,16,10,0,0,0,0,0,6,16,3,0,0,0,0,0,8,16,15,16,14,2,0,0,8,16,12,8,13,11,0,0,8,16,12,2,13,9,0,0,0,5,13,16,15,1,0,6 +0,1,11,16,16,15,1,0,0,3,15,7,10,16,3,0,0,0,0,4,16,8,0,0,0,0,0,5,15,10,0,0,0,0,0,0,3,16,8,0,0,0,0,0,0,11,13,0,0,4,11,1,1,11,14,0,0,1,13,16,16,15,6,0,3 +0,0,7,16,14,2,0,0,0,0,13,13,9,13,0,0,0,0,11,10,0,14,5,0,0,0,5,14,0,12,9,0,0,0,0,0,0,12,8,0,0,0,0,0,4,16,5,0,0,0,2,8,14,15,0,0,0,0,8,16,16,16,16,4,2 +0,0,8,15,16,13,0,0,0,3,16,4,1,16,4,0,0,0,15,5,1,16,8,0,0,0,14,11,16,8,0,0,0,0,6,16,8,0,0,0,0,0,10,16,8,0,0,0,0,0,16,14,16,2,0,0,0,0,8,16,15,2,0,0,8 +0,1,12,16,15,2,0,0,0,6,16,8,14,10,0,0,0,1,8,3,15,7,0,0,0,0,1,16,16,5,0,0,0,0,0,3,13,16,4,0,0,0,6,0,2,14,8,0,0,1,16,7,7,15,7,0,0,0,12,16,16,10,1,0,3 +0,2,16,15,4,0,0,0,0,4,16,14,9,3,5,0,0,4,15,7,16,16,8,0,0,1,15,16,15,6,0,0,0,0,10,16,4,0,0,0,0,1,14,16,2,0,0,0,0,7,10,16,0,0,0,0,0,2,14,11,0,0,0,0,8 +0,1,14,16,9,0,0,0,0,1,11,15,15,2,0,0,0,0,1,13,16,2,0,0,0,0,10,16,16,15,9,0,0,0,9,16,13,10,3,0,0,0,5,16,1,0,0,0,0,0,15,13,0,0,0,0,0,1,16,4,0,0,0,0,7 +0,0,12,16,14,4,0,0,0,2,16,16,16,6,0,0,0,0,12,16,16,4,0,0,0,0,15,16,16,5,0,0,0,0,16,16,16,4,0,0,0,4,16,16,15,3,0,0,0,1,14,16,16,5,0,0,0,0,10,16,16,10,0,0,1 +0,0,2,14,16,16,14,0,0,0,2,6,4,9,16,6,0,0,0,0,0,4,16,4,0,0,0,0,0,8,15,1,0,0,2,15,13,15,8,0,0,0,3,8,14,14,2,0,0,0,0,5,16,1,0,0,0,0,2,16,6,0,0,0,7 +0,3,14,16,7,1,0,0,0,12,16,9,16,11,0,0,0,12,16,11,16,12,0,0,0,1,10,12,15,16,0,0,0,0,0,0,4,16,4,0,0,0,0,0,0,13,11,0,0,1,6,4,8,16,11,0,0,2,9,16,16,10,1,0,9 +0,0,12,16,15,1,0,0,0,5,16,7,11,13,0,0,0,4,16,1,7,16,8,0,0,2,13,16,16,16,8,0,0,0,1,6,2,8,13,0,0,0,0,0,0,4,16,0,0,1,5,2,4,8,16,1,0,1,11,16,16,16,8,0,9 +0,0,0,12,16,15,3,0,0,0,4,10,12,11,2,0,0,6,14,0,0,0,0,0,0,8,16,15,5,0,0,0,0,1,8,13,16,2,0,0,0,0,0,0,10,9,0,0,0,0,5,11,13,11,0,0,0,0,1,14,12,2,0,0,5 +0,3,14,15,16,15,8,0,0,4,16,12,8,7,2,0,0,6,16,15,8,0,0,0,0,8,16,13,16,4,0,0,0,1,1,0,10,10,0,0,0,0,0,0,8,12,0,0,0,5,8,6,15,10,0,0,0,3,16,16,13,1,0,0,5 +0,0,5,15,15,11,0,0,0,0,16,5,0,11,5,0,0,0,15,3,0,12,10,0,0,0,5,13,0,12,6,0,0,0,0,10,16,9,0,0,0,0,0,10,16,4,0,0,0,0,6,12,8,9,0,0,0,0,6,16,12,4,0,0,8 +0,0,0,0,14,15,2,0,0,0,0,6,16,16,4,0,0,0,3,13,16,16,0,0,0,1,13,16,16,16,3,0,0,9,16,6,14,16,0,0,0,2,4,0,14,15,0,0,0,0,0,0,16,12,0,0,0,0,0,0,14,13,0,0,1 +0,0,0,10,12,0,0,0,0,0,6,16,3,0,0,0,0,0,14,10,0,0,3,1,0,6,16,2,0,6,16,2,0,14,16,5,9,15,6,0,0,10,16,14,16,12,0,0,0,0,0,4,16,2,0,0,0,0,0,10,11,0,0,0,4 +0,0,5,12,16,16,9,0,0,3,16,9,3,0,0,0,0,7,16,11,5,0,0,0,0,2,11,9,16,1,0,0,0,0,0,0,9,9,0,0,0,0,0,0,9,9,0,0,0,0,9,6,16,6,0,0,0,0,5,12,6,0,0,0,5 +0,0,0,9,9,0,0,0,0,0,4,16,2,0,0,0,0,0,12,9,0,1,12,4,0,8,15,1,0,11,12,1,0,10,14,6,13,16,5,0,0,8,16,11,16,10,0,0,0,0,0,5,15,2,0,0,0,0,0,12,7,0,0,0,4 +0,0,5,12,14,3,0,0,0,3,14,2,4,11,0,0,0,4,12,0,5,16,4,0,0,1,14,6,14,4,0,0,0,0,7,16,4,0,0,0,0,0,7,16,4,0,0,0,0,0,10,13,11,0,0,0,0,0,7,16,11,0,0,0,8 +0,0,5,14,15,5,0,0,0,2,16,9,9,15,2,0,0,2,10,0,6,16,3,0,0,0,2,14,16,7,0,0,0,0,0,11,16,14,1,0,0,0,6,3,6,16,1,0,0,0,13,11,10,15,0,0,0,0,9,16,16,7,0,0,3 +0,0,0,1,11,10,0,0,0,0,0,5,16,16,2,0,0,0,0,6,16,16,2,0,0,0,0,12,16,16,0,0,0,0,7,16,16,8,0,0,0,6,16,16,16,9,0,0,0,2,12,12,16,11,0,0,0,0,0,0,12,11,0,0,1 +0,0,6,16,3,0,0,0,0,0,13,13,0,0,0,0,0,1,16,8,0,0,0,0,0,6,16,1,0,0,0,0,0,8,14,6,9,6,0,0,0,7,16,15,12,14,12,0,0,2,16,9,0,1,16,3,0,0,5,15,16,16,14,1,6 +0,3,16,16,16,16,3,0,0,6,16,10,6,2,0,0,0,10,14,2,0,0,0,0,0,11,16,16,5,0,0,0,0,1,2,10,13,0,0,0,0,0,0,1,16,3,0,0,0,1,6,6,16,2,0,0,0,2,13,16,11,0,0,0,5 +0,0,0,0,11,12,0,0,0,0,0,0,11,16,2,0,0,0,0,0,15,13,0,0,0,0,6,16,16,12,0,0,0,7,16,16,16,8,0,0,0,1,4,7,16,11,0,0,0,0,0,2,15,13,0,0,0,0,0,0,8,16,4,0,1 +0,0,0,1,10,16,6,0,0,0,3,14,8,6,16,6,0,0,11,4,0,6,16,2,0,4,12,2,5,16,11,0,0,6,16,15,8,15,4,0,0,0,0,0,4,9,0,0,0,0,0,0,10,4,0,0,0,0,0,1,13,1,0,0,9 +0,0,1,15,16,15,5,0,0,0,8,13,4,3,1,0,0,2,14,9,7,1,0,0,0,5,16,16,15,10,0,0,0,0,0,0,1,14,3,0,0,0,0,0,1,14,2,0,0,0,1,4,13,10,0,0,0,0,1,14,9,1,0,0,5 +0,0,4,10,12,12,13,4,0,0,6,8,4,6,15,2,0,0,0,0,0,12,6,0,0,0,0,0,7,12,0,0,0,5,16,16,16,13,1,0,0,2,4,13,10,0,0,0,0,0,3,16,2,0,0,0,0,0,7,14,0,0,0,0,7 +0,0,6,15,14,4,0,0,0,0,16,6,4,15,0,0,0,5,16,6,13,11,0,0,0,1,16,16,16,13,1,0,0,6,15,7,0,11,8,0,0,4,12,0,0,9,11,0,0,0,16,4,9,15,2,0,0,0,8,14,9,2,0,0,8 +0,0,0,0,6,11,0,0,0,0,0,3,15,12,0,0,0,0,5,14,10,12,0,0,0,2,15,6,5,9,0,0,0,6,15,12,15,16,8,0,0,1,8,8,12,12,2,0,0,0,0,0,8,8,0,0,0,0,0,0,5,11,0,0,4 +0,2,8,16,11,1,0,0,0,10,15,5,11,5,0,0,0,11,10,13,16,6,0,0,0,9,16,16,12,13,2,0,0,1,15,8,0,6,9,0,0,0,12,5,0,5,11,0,0,0,9,9,7,16,8,0,0,0,4,14,15,6,0,0,8 +0,2,9,15,12,1,0,0,0,6,16,10,14,6,0,0,0,1,1,6,16,4,0,0,0,3,13,16,16,8,0,0,0,3,12,7,7,16,4,0,0,0,0,0,0,13,9,0,0,3,15,6,12,16,4,0,0,0,10,16,14,7,1,0,3 +0,0,4,16,16,15,4,0,0,0,10,10,5,3,0,0,0,6,14,1,4,2,0,0,0,8,15,14,15,15,2,0,0,5,12,5,0,9,8,0,0,0,0,0,0,8,8,0,0,0,5,9,7,14,2,0,0,0,3,16,11,4,0,0,5 +0,4,15,16,16,16,5,0,0,7,16,13,6,4,1,0,0,10,16,6,2,0,0,0,0,9,16,16,16,4,0,0,0,0,0,1,14,10,0,0,0,0,0,0,12,12,0,0,0,3,9,11,16,7,0,0,0,3,15,16,6,0,0,0,5 +0,0,3,15,11,4,0,0,0,0,11,7,6,13,0,0,0,0,12,2,0,15,1,0,0,0,11,1,4,16,5,0,0,0,3,15,13,12,6,0,0,0,0,0,0,8,8,0,0,0,6,2,3,13,5,0,0,0,4,13,16,11,0,0,9 +0,0,4,14,15,2,0,0,0,4,16,7,8,9,0,0,0,6,14,0,0,12,2,0,0,3,16,0,0,7,7,0,0,0,14,0,0,4,8,0,0,0,11,4,0,5,9,0,0,0,6,15,8,14,7,0,0,0,1,13,15,10,0,0,0 +0,0,2,12,13,4,0,0,0,5,16,6,1,14,0,0,0,13,11,5,12,15,0,0,0,9,16,16,16,12,0,0,0,1,12,14,3,7,7,0,0,0,8,7,0,0,13,0,0,0,8,9,1,12,13,0,0,0,0,14,14,12,3,0,8 +0,0,8,16,10,1,0,0,0,7,16,11,15,8,0,0,0,15,13,0,11,12,0,0,0,10,7,0,11,10,0,0,0,0,0,1,15,8,0,0,0,0,0,9,15,1,0,0,0,0,7,16,10,6,8,3,0,0,9,16,16,16,16,7,2 +0,0,5,15,4,0,0,0,0,2,16,11,1,0,0,0,0,6,14,0,0,0,0,0,0,6,12,4,4,1,0,0,0,7,16,16,16,15,3,0,0,0,16,9,0,9,13,0,0,0,10,12,8,12,9,0,0,0,2,12,14,8,1,0,6 +0,0,7,15,16,12,0,0,0,0,9,6,3,15,2,0,0,0,0,4,13,9,0,0,0,0,9,16,16,6,0,0,0,0,5,5,6,15,4,0,0,0,8,0,0,4,12,0,0,1,13,1,3,12,8,0,0,0,8,16,15,10,0,0,3 +0,0,6,16,12,3,0,0,0,3,15,7,6,14,1,0,0,7,13,0,1,14,1,0,0,4,13,8,13,13,0,0,0,2,15,15,7,13,5,0,0,0,12,5,0,9,8,0,0,0,12,5,6,14,2,0,0,0,5,16,12,3,0,0,8 +0,2,15,16,7,0,0,0,0,7,16,13,16,3,0,0,0,3,16,1,16,7,0,0,0,0,2,5,16,3,0,0,0,0,0,11,13,0,0,0,0,0,3,15,7,0,0,0,0,0,13,16,12,10,7,0,0,2,15,16,16,16,16,5,2 +0,0,4,10,0,0,0,0,0,0,2,15,2,0,0,0,0,0,2,16,4,0,0,0,0,0,7,16,9,0,0,0,0,0,14,14,14,0,0,0,0,0,3,3,16,3,0,0,0,0,1,7,14,11,4,0,0,0,4,14,16,13,14,8,1 +0,0,9,14,2,0,0,0,0,0,5,16,7,0,0,0,0,0,6,16,10,0,0,0,0,2,15,16,10,0,0,0,0,6,16,15,14,0,0,0,0,0,0,10,16,2,0,0,0,0,9,15,16,14,12,3,0,0,6,15,16,16,12,3,1 +0,0,4,14,4,0,0,0,0,0,13,12,2,0,0,0,0,0,16,2,0,0,0,0,0,1,16,16,16,9,0,0,0,2,16,5,0,8,9,0,0,0,14,4,0,1,14,0,0,0,10,9,4,12,13,0,0,0,4,15,15,9,2,0,6 +0,0,7,16,6,0,0,0,0,0,16,13,1,0,0,0,0,2,16,3,0,0,0,0,0,3,16,4,4,2,0,0,0,5,16,16,16,15,4,0,0,4,16,6,4,7,16,1,0,0,16,8,4,12,15,2,0,0,6,16,16,14,6,0,6 +0,1,8,14,16,12,0,0,0,1,12,9,11,16,0,0,0,0,0,9,15,5,0,0,0,2,14,16,7,0,0,0,0,1,11,13,16,9,0,0,0,0,0,0,2,16,4,0,0,0,11,8,14,13,0,0,0,0,11,14,11,1,0,0,3 +0,0,0,6,15,2,11,2,0,0,2,16,10,5,16,3,0,1,15,10,0,9,13,0,0,9,16,9,9,16,12,0,0,7,16,16,15,15,7,0,0,0,3,2,14,8,0,0,0,0,0,6,14,1,0,0,0,0,0,11,9,0,0,0,4 +0,2,13,16,14,3,0,0,0,2,8,11,16,8,0,0,0,0,3,16,12,1,0,0,0,0,1,11,14,2,0,0,0,0,0,0,7,13,0,0,0,0,0,0,0,11,7,0,0,7,11,4,4,13,7,0,0,2,11,16,12,10,0,0,3 +0,0,0,1,14,1,14,0,0,0,0,12,11,6,13,0,0,0,8,13,2,10,9,0,0,6,14,2,1,14,11,0,0,11,15,12,16,16,9,0,0,7,14,12,14,12,0,0,0,0,0,0,12,8,0,0,0,0,0,0,14,3,0,0,4 +0,0,2,12,16,16,11,0,0,0,12,15,9,6,8,0,0,3,16,5,3,2,0,0,0,10,16,15,16,13,0,0,0,8,16,13,10,16,0,0,0,0,3,0,11,13,0,0,0,0,0,9,16,5,0,0,0,0,1,16,11,0,0,0,5 +0,0,4,10,14,5,0,0,0,0,13,10,0,14,4,0,0,6,15,0,9,15,2,0,0,6,16,16,16,13,0,0,0,0,12,15,7,12,4,0,0,0,10,9,0,10,7,0,0,0,11,9,7,15,3,0,0,0,5,15,12,3,0,0,8 +0,1,13,16,12,1,0,0,0,6,16,11,14,7,0,0,0,5,16,0,10,10,0,0,0,0,2,0,13,10,0,0,0,0,0,2,16,7,0,0,0,0,0,11,15,1,0,0,0,0,11,16,16,12,12,2,0,0,15,16,12,12,12,3,2 +0,1,9,14,14,3,0,0,0,2,12,10,12,11,0,0,0,0,0,3,14,11,0,0,0,0,11,16,16,7,0,0,0,0,10,7,11,16,5,0,0,0,0,0,0,5,12,0,0,0,8,5,6,12,12,0,0,0,12,16,15,10,3,0,3 +0,0,3,9,8,0,0,0,0,0,15,9,1,0,0,0,0,4,16,8,2,0,0,0,0,5,16,12,12,11,1,0,0,4,12,0,0,5,10,0,0,1,14,3,0,1,14,1,0,0,10,6,5,14,13,0,0,0,4,13,14,8,0,0,6 +0,1,6,8,13,8,0,0,0,5,16,10,5,15,0,0,0,8,15,6,13,13,0,0,0,5,16,16,14,15,1,0,0,0,14,9,0,6,6,0,0,0,16,1,0,6,8,0,0,0,16,5,9,15,2,0,0,0,11,16,10,2,0,0,8 +0,0,3,16,3,0,0,0,0,0,8,14,2,0,0,0,0,0,14,7,0,0,0,0,0,1,16,4,3,0,0,0,0,4,16,16,16,15,2,0,0,3,16,9,1,10,13,0,0,0,15,10,4,9,13,0,0,0,3,12,14,14,7,0,6 +0,0,2,9,15,16,7,0,0,0,15,9,8,15,9,0,0,2,15,3,4,16,2,0,0,4,15,15,16,2,0,0,0,0,1,16,16,9,0,0,0,0,10,10,10,16,3,0,0,0,10,12,10,16,4,0,0,0,2,13,12,8,1,0,8 +0,0,10,13,2,0,0,0,0,6,16,14,9,0,0,0,0,3,12,2,13,0,0,0,0,0,0,4,14,0,0,0,0,0,0,8,14,0,0,0,0,0,1,15,6,0,0,0,0,0,10,16,9,8,10,2,0,0,6,12,13,12,11,2,2 +0,0,3,10,14,7,0,0,0,4,16,12,14,12,0,0,0,0,7,0,11,9,0,0,0,0,0,11,16,3,0,0,0,0,0,12,16,16,5,0,0,0,0,0,0,14,8,0,0,0,1,8,11,15,3,0,0,0,5,13,10,2,0,0,3 +0,0,3,12,15,2,0,0,0,5,16,12,9,13,0,0,0,7,15,2,0,12,4,0,0,6,12,0,0,7,6,0,0,6,13,0,0,7,7,0,0,0,16,0,0,10,7,0,0,0,10,10,8,16,1,0,0,0,2,10,16,6,0,0,0 +0,0,5,13,16,7,0,0,0,2,16,7,8,11,0,0,0,8,15,5,10,8,0,0,0,2,6,15,16,7,0,0,0,0,1,13,10,16,4,0,0,0,4,13,1,9,12,0,0,0,7,10,5,15,7,0,0,0,2,13,15,8,1,0,8 +0,0,6,14,12,6,0,0,0,3,16,11,10,15,5,0,0,6,16,4,3,16,4,0,0,0,9,16,16,12,0,0,0,0,2,15,7,15,6,0,0,0,8,6,0,14,8,0,0,0,13,10,13,13,1,0,0,0,5,12,9,1,0,0,8 +0,0,1,11,14,3,0,0,0,0,6,16,12,2,0,0,0,0,13,11,0,0,0,0,0,1,14,9,3,0,0,0,0,6,16,16,15,7,0,0,0,4,16,11,7,15,6,0,0,0,12,14,6,11,10,0,0,0,3,11,16,15,6,0,6 +0,0,0,5,16,12,0,0,0,0,1,15,16,16,0,0,0,2,10,16,16,11,0,0,0,7,16,16,16,7,0,0,0,6,12,16,16,8,0,0,0,0,0,12,16,12,0,0,0,0,0,11,16,13,0,0,0,0,0,2,15,12,0,0,1 +0,0,0,7,13,5,0,0,0,0,6,15,11,5,0,0,0,0,15,8,0,0,0,0,0,4,16,3,7,7,1,0,0,3,16,16,15,15,6,0,0,1,15,8,0,8,11,0,0,0,11,13,7,14,10,0,0,0,0,9,16,12,3,0,6 +0,0,0,0,13,12,0,0,0,0,0,4,16,6,0,0,0,0,1,13,10,1,8,0,0,0,7,15,2,9,15,0,0,6,16,4,4,14,9,0,2,15,16,16,16,16,6,0,2,8,8,4,13,13,0,0,0,0,0,0,15,8,0,0,4 +0,0,2,13,7,0,0,0,0,0,12,14,4,0,0,0,0,0,15,3,0,0,0,0,0,6,14,2,6,0,0,0,0,7,16,16,16,13,1,0,0,4,16,8,1,12,10,0,0,1,12,9,4,9,15,0,0,0,2,11,16,15,4,0,6 +0,2,11,10,12,13,7,0,0,7,16,13,11,12,5,0,0,4,16,4,4,1,0,0,0,4,16,16,16,16,5,0,0,0,2,2,1,13,8,0,0,0,0,0,0,14,6,0,0,0,9,5,13,14,0,0,0,0,15,12,9,2,0,0,5 +0,1,10,16,16,16,4,0,0,1,14,9,8,16,4,0,0,0,0,0,6,15,0,0,0,2,11,12,15,15,9,0,0,0,13,16,16,13,6,0,0,0,0,16,8,0,0,0,0,0,9,15,1,0,0,0,0,0,13,9,0,0,0,0,7 +0,0,6,8,12,15,4,0,0,1,15,13,12,12,4,0,0,0,16,5,0,0,0,0,0,3,16,16,16,14,1,0,0,2,11,5,5,15,8,0,0,0,0,0,0,16,4,0,0,0,5,8,13,11,0,0,0,0,8,15,10,1,0,0,5 +0,0,8,14,11,3,0,0,0,4,16,9,13,10,0,0,0,2,5,0,8,11,0,0,0,0,0,0,12,8,0,0,0,0,0,5,15,0,0,0,0,0,8,16,6,0,0,0,0,4,16,15,8,4,1,0,0,0,9,12,14,16,5,0,2 +0,0,2,13,15,7,0,0,0,3,15,9,10,15,3,0,0,8,12,0,1,15,6,0,0,6,15,9,12,16,7,0,0,1,8,8,10,16,0,0,0,0,0,0,12,12,0,0,0,0,0,8,16,5,0,0,0,0,0,14,13,0,0,0,9 +0,0,2,12,16,13,2,0,0,1,14,12,6,15,7,0,0,7,16,2,7,15,6,0,0,2,16,16,16,16,3,0,0,0,3,6,10,13,0,0,0,0,0,1,14,5,0,0,0,0,0,8,14,1,0,0,0,0,0,15,9,0,0,0,9 +0,2,10,13,10,1,0,0,0,11,12,10,15,9,0,0,0,0,0,0,12,9,0,0,0,0,3,11,16,6,0,0,0,0,12,16,16,16,4,0,0,0,0,0,0,13,9,0,0,0,1,7,9,16,5,0,0,0,13,15,11,3,0,0,3 +0,1,10,12,14,16,5,0,0,0,14,10,8,8,1,0,0,0,16,4,3,1,0,0,0,2,16,16,16,15,3,0,0,0,2,0,0,11,8,0,0,0,0,0,3,14,3,0,0,0,3,11,15,9,0,0,0,1,12,7,3,0,0,0,5 +0,0,4,12,10,1,0,0,0,0,13,12,11,10,0,0,0,2,16,3,0,12,3,0,0,4,13,0,0,10,6,0,0,6,11,0,0,10,7,0,0,4,12,0,1,14,4,0,0,0,11,9,12,13,0,0,0,0,4,12,11,3,0,0,0 +0,2,13,12,13,16,4,0,0,4,15,9,8,8,0,0,0,4,12,0,0,0,0,0,0,6,15,12,5,0,0,0,0,2,11,10,16,2,0,0,0,0,0,0,12,6,0,0,0,0,2,9,15,3,0,0,0,1,13,10,2,0,0,0,5 +0,0,0,13,7,0,0,0,0,0,8,15,5,0,0,0,0,1,16,7,0,0,0,0,0,2,16,4,7,6,0,0,0,4,16,16,16,16,8,0,0,3,16,9,0,9,11,0,0,0,11,12,5,12,12,0,0,0,1,10,13,13,5,0,6 +0,0,8,12,16,16,2,0,0,1,16,14,13,16,1,0,0,0,3,0,8,14,0,0,0,0,5,16,16,16,4,0,0,0,7,16,15,14,8,0,0,0,1,14,9,0,0,0,0,0,5,16,2,0,0,0,0,0,11,11,0,0,0,0,7 +0,0,4,11,14,6,0,0,0,4,14,7,6,15,0,0,0,4,5,0,5,11,0,0,0,0,0,7,15,11,0,0,0,0,0,11,10,15,4,0,0,0,0,0,0,10,8,0,0,0,1,4,7,15,1,0,0,0,3,16,11,2,0,0,3 +0,0,3,13,13,2,0,0,0,4,16,15,14,10,0,0,0,3,16,2,0,16,4,0,0,6,13,0,0,13,6,0,0,4,13,0,0,11,9,0,0,0,16,0,0,11,7,0,0,0,9,12,9,15,2,0,0,0,2,11,15,7,0,0,0 +0,2,9,13,16,12,2,0,0,5,16,10,7,16,5,0,0,0,0,0,11,15,1,0,0,0,0,9,16,11,1,0,0,0,0,1,10,15,8,0,0,0,0,0,3,15,8,0,0,0,2,9,16,11,1,0,0,1,12,11,3,0,0,0,3 +0,0,5,8,13,13,10,1,0,0,7,8,5,12,14,1,0,0,0,0,0,14,8,0,0,0,11,16,16,16,9,0,0,0,2,6,16,11,5,0,0,0,0,10,8,0,0,0,0,0,3,16,1,0,0,0,0,0,8,10,0,0,0,0,7 +0,0,8,13,11,2,0,0,0,7,15,9,13,11,0,0,0,12,15,0,0,15,4,0,0,4,16,0,0,13,6,0,0,5,13,0,0,11,7,0,0,4,16,0,0,14,7,0,0,1,15,8,10,16,4,0,0,0,6,15,16,10,0,0,0 +0,0,0,4,16,9,2,0,0,0,1,14,16,16,7,0,0,5,14,16,16,16,6,0,0,5,12,13,16,16,5,0,0,0,0,4,16,16,1,0,0,0,0,7,16,16,1,0,0,0,0,8,16,16,3,0,0,0,0,5,14,16,6,0,1 +0,0,2,13,13,0,0,0,0,0,10,14,3,0,0,0,0,1,15,6,0,0,0,0,0,4,16,3,4,2,0,0,0,5,16,16,13,16,3,0,0,2,16,6,0,6,12,0,0,0,11,8,0,8,12,0,0,0,1,13,16,14,3,0,6 +0,0,0,0,10,14,2,0,0,0,0,2,16,16,3,0,0,0,1,15,16,16,2,0,0,3,16,16,16,16,1,0,0,2,8,5,16,16,0,0,0,0,0,0,15,16,1,0,0,0,0,0,12,16,6,0,0,0,0,0,10,15,6,0,1 +0,1,11,16,15,1,0,0,0,5,16,16,16,5,0,0,0,0,3,8,16,2,0,0,0,0,0,15,11,0,0,0,0,0,7,16,6,0,0,0,0,0,14,12,0,0,0,0,0,1,16,15,9,8,2,0,0,1,12,16,16,16,3,0,2 +0,0,3,10,8,1,0,0,0,0,11,16,16,9,0,0,0,3,16,16,16,3,0,0,0,4,16,16,16,3,0,0,0,4,16,16,12,0,0,0,0,1,16,16,15,0,0,0,0,0,9,16,16,0,0,0,0,0,2,10,12,1,0,0,1 +0,1,8,12,12,6,0,0,0,9,16,11,8,10,1,0,0,6,14,0,0,0,0,0,0,1,12,15,8,0,0,0,0,0,0,7,15,5,0,0,0,0,0,0,4,14,0,0,0,0,0,0,11,11,0,0,0,0,12,16,12,4,0,0,5 +0,0,4,14,16,14,1,0,0,1,16,13,14,16,5,0,0,1,5,0,3,16,3,0,0,0,0,0,7,15,0,0,0,2,13,16,16,14,4,0,0,3,10,14,14,8,1,0,0,0,2,14,8,0,0,0,0,0,6,14,1,0,0,0,7 +0,0,10,15,3,0,0,0,0,0,16,7,8,0,0,0,0,0,11,5,4,10,3,0,0,0,3,13,15,10,1,0,0,0,2,15,14,1,0,0,0,0,13,9,10,6,0,0,0,1,14,4,8,8,0,0,0,0,8,14,13,4,0,0,8 +0,0,2,12,12,2,0,0,0,0,8,16,16,5,0,0,0,0,10,16,16,8,0,0,0,0,12,16,16,4,0,0,0,0,11,16,16,6,0,0,0,0,7,16,16,8,0,0,0,0,3,16,16,13,0,0,0,0,2,8,12,7,0,0,1 +0,0,7,13,6,0,0,0,0,3,16,8,13,0,0,0,0,2,14,8,0,0,0,0,0,0,6,16,16,14,6,0,0,1,14,14,13,0,1,0,0,4,16,2,13,6,0,0,0,1,15,4,4,13,0,0,0,0,5,14,16,10,0,0,8 +0,0,0,0,6,9,0,0,0,0,0,7,15,4,0,0,0,0,3,14,7,0,0,0,0,0,9,9,0,13,3,0,0,2,16,2,2,16,0,0,0,8,16,14,16,16,6,0,0,2,4,4,12,8,0,0,0,0,0,0,9,11,0,0,4 +0,0,0,1,15,5,0,0,0,0,0,11,12,0,0,0,0,0,8,15,1,0,0,0,0,3,15,6,2,13,3,0,0,11,12,0,5,16,4,0,0,15,14,14,16,15,5,0,0,3,8,9,16,6,0,0,0,0,0,1,16,5,0,0,4 +0,0,7,14,5,0,0,0,0,3,16,15,12,0,0,0,0,0,12,0,12,0,0,0,0,0,1,0,12,2,0,0,0,0,0,1,16,2,0,0,0,0,1,10,15,3,0,0,0,0,13,16,16,15,7,0,0,0,9,6,3,4,13,1,2 +0,0,15,16,16,15,3,0,0,0,7,8,10,16,6,0,0,0,0,0,4,16,4,0,0,0,0,0,11,12,1,0,0,3,13,16,16,14,8,0,0,3,13,16,13,9,3,0,0,0,6,15,2,0,0,0,0,0,15,12,0,0,0,0,7 +0,1,9,13,15,3,0,0,0,8,14,8,12,16,0,0,0,1,1,0,10,14,0,0,0,0,0,6,15,7,0,0,0,0,10,16,16,10,2,0,0,0,5,8,8,14,8,0,0,1,6,4,7,15,6,0,0,1,11,15,12,4,0,0,3 +0,0,8,16,6,0,0,0,0,2,14,8,12,2,0,0,0,7,14,9,15,9,0,0,0,1,12,13,7,14,0,0,0,0,0,0,0,11,4,0,0,0,0,0,0,8,8,0,0,0,2,4,5,13,7,0,0,0,6,15,15,10,0,0,9 +0,0,9,11,12,12,1,0,0,0,11,12,13,16,4,0,0,0,0,0,12,10,0,0,0,0,2,11,14,2,0,0,0,0,9,16,5,0,0,0,0,0,6,15,16,14,2,0,0,0,3,6,14,16,1,0,0,0,11,16,13,5,0,0,3 +0,0,9,16,16,16,13,1,0,0,14,8,8,11,16,5,0,0,0,0,0,7,16,2,0,0,3,4,5,15,10,0,0,0,16,16,16,16,8,0,0,0,3,11,15,8,1,0,0,0,3,16,8,0,0,0,0,0,12,14,0,0,0,0,7 +0,0,8,16,16,7,0,0,0,2,15,3,10,16,0,0,0,2,15,12,14,11,0,0,0,0,8,9,8,12,0,0,0,0,0,0,1,15,0,0,0,0,0,0,0,14,2,0,0,0,1,1,5,16,4,0,0,0,9,13,16,11,0,0,9 +0,0,9,15,16,10,0,0,0,3,16,13,14,16,1,0,0,0,0,0,12,16,0,0,0,0,4,6,14,14,2,0,0,1,16,16,16,16,11,0,0,0,4,15,12,4,1,0,0,0,6,16,3,0,0,0,0,0,10,11,0,0,0,0,7 +0,0,4,12,1,0,0,0,0,0,11,16,16,7,0,0,0,0,15,15,10,16,4,0,0,3,16,2,0,10,6,0,0,3,16,1,0,7,9,0,0,2,16,2,2,12,12,0,0,0,13,11,14,16,7,0,0,0,3,12,13,5,0,0,0 +0,0,0,6,11,0,0,0,0,0,1,16,14,1,0,0,0,0,5,16,2,0,0,0,0,0,8,14,0,0,0,0,0,0,8,12,2,0,0,0,0,0,11,16,16,16,11,2,0,0,2,16,4,3,12,10,0,0,0,4,14,16,13,8,6 +0,2,14,16,13,7,0,0,0,3,12,8,13,16,0,0,0,0,0,5,14,11,0,0,0,2,12,16,10,1,0,0,0,3,16,15,9,1,0,0,0,0,3,11,15,15,1,0,0,3,6,4,5,16,8,0,0,3,13,16,14,12,2,0,3 +0,0,2,12,3,0,0,0,0,0,11,14,0,0,0,0,0,0,15,6,0,0,0,0,0,0,15,2,4,0,0,0,0,2,16,16,16,12,2,0,0,2,15,7,1,8,9,0,0,0,12,9,1,9,12,0,0,0,1,15,16,13,4,0,6 +0,0,7,15,15,5,0,0,0,4,16,16,16,13,1,0,0,2,16,16,16,6,0,0,0,0,16,16,16,6,0,0,0,0,16,16,16,0,0,0,0,1,16,16,16,1,0,0,0,4,16,16,15,3,0,0,0,1,8,15,12,2,0,0,1 +0,0,3,12,14,2,0,0,0,0,13,9,11,12,0,0,0,1,16,12,13,16,0,0,0,0,7,8,9,13,0,0,0,0,0,0,0,13,3,0,0,0,0,0,0,10,4,0,0,0,1,3,4,12,3,0,0,0,4,16,15,8,0,0,9 +0,0,8,15,11,0,0,0,0,3,15,13,16,3,0,0,0,8,16,6,15,13,0,0,0,4,15,16,16,15,0,0,0,0,2,4,5,16,5,0,0,0,0,0,1,16,5,0,0,0,0,0,4,16,5,0,0,0,10,16,16,10,0,0,9 +0,0,5,16,6,0,0,0,0,0,14,16,3,0,0,0,0,0,16,13,0,0,0,0,0,0,3,4,0,0,0,0,0,1,8,10,12,11,3,0,0,4,16,14,12,14,14,2,0,0,14,13,8,13,16,4,0,0,5,15,16,16,13,1,6 +0,0,1,11,16,9,0,0,0,0,13,11,6,10,0,0,0,4,14,0,9,11,0,0,0,7,15,15,16,15,1,0,0,0,7,6,0,14,8,0,0,0,0,0,0,15,5,0,0,0,0,3,10,15,2,0,0,0,2,12,10,1,0,0,9 +0,0,4,11,1,0,0,0,0,0,8,13,0,0,0,0,0,0,12,10,0,0,0,0,0,0,14,4,0,0,0,0,0,1,16,13,13,8,0,0,0,0,14,13,8,10,10,0,0,0,11,11,0,2,16,0,0,0,2,11,16,16,12,1,6 +0,0,2,11,14,5,0,0,0,1,14,13,13,8,0,0,0,5,16,0,1,1,0,0,0,3,16,6,12,16,5,0,0,0,9,16,16,8,2,0,0,2,14,12,12,13,1,0,0,2,15,7,2,14,7,0,0,0,3,13,14,12,1,0,8 +0,0,5,12,12,3,0,0,0,4,16,7,8,10,0,0,0,8,13,1,3,14,4,0,0,2,14,16,16,12,4,0,0,0,3,16,16,8,0,0,0,0,11,12,5,15,2,0,0,0,16,5,1,16,4,0,0,0,7,15,16,10,0,0,8 +0,0,5,14,13,4,0,0,0,0,12,16,16,10,0,0,0,0,11,16,16,7,0,0,0,0,8,16,16,5,0,0,0,0,8,16,16,6,0,0,0,0,11,16,15,4,0,0,0,0,11,16,16,5,0,0,0,0,5,12,16,11,3,0,1 +0,0,4,15,5,0,0,0,0,0,12,16,14,1,0,0,0,1,15,12,13,14,0,0,0,4,13,0,0,9,4,0,0,3,10,0,0,3,9,0,0,4,12,0,0,2,12,0,0,0,13,10,10,16,14,0,0,0,4,13,16,14,3,0,0 +0,0,3,10,14,15,2,0,0,1,15,11,8,16,4,0,0,0,5,0,8,12,0,0,0,0,0,0,15,2,0,0,0,0,0,0,16,7,0,0,0,0,0,0,9,16,5,0,0,0,1,4,6,16,2,0,0,0,2,16,15,7,0,0,3 +0,0,0,9,15,5,0,0,0,0,8,16,16,6,0,0,0,2,16,16,16,4,0,0,0,1,14,16,16,3,0,0,0,0,0,12,16,4,0,0,0,0,0,16,16,1,0,0,0,0,0,13,16,7,0,0,0,0,0,7,12,12,0,0,1 +0,1,10,5,0,0,0,0,0,2,16,16,12,1,0,0,0,0,10,5,11,6,0,0,0,0,0,1,12,7,0,0,0,0,6,16,16,6,0,0,0,0,3,8,10,15,8,0,0,0,3,4,7,14,15,0,0,0,6,15,15,11,4,0,3 +0,0,5,12,10,4,0,0,0,0,15,13,14,12,0,0,0,0,2,0,12,7,0,0,0,0,2,13,15,2,0,0,0,0,2,13,16,13,0,0,0,0,0,0,3,16,3,0,0,0,12,5,8,15,1,0,0,0,7,13,10,4,0,0,3 +0,0,3,13,9,2,0,0,0,0,14,16,16,11,0,0,0,5,16,7,4,16,3,0,0,4,14,1,0,12,8,0,0,5,12,0,0,8,8,0,0,1,16,4,0,9,11,0,0,0,11,16,12,16,7,0,0,0,3,11,15,10,0,0,0 +0,0,8,15,8,0,0,0,0,2,16,12,16,1,0,0,0,3,9,0,14,2,0,0,0,0,1,3,13,0,0,0,0,0,0,10,7,0,0,0,0,0,5,14,1,0,0,0,0,0,13,16,12,11,1,0,0,0,6,9,12,13,3,0,2 +0,0,3,10,7,15,13,0,0,0,12,9,16,16,13,0,0,1,16,12,14,8,4,0,0,1,14,16,16,16,10,0,0,0,0,1,0,11,6,0,0,0,0,0,4,15,2,0,0,0,2,13,15,3,0,0,0,0,4,13,3,0,0,0,5 +0,0,0,8,14,15,9,0,0,0,8,15,9,8,9,0,0,0,16,1,0,0,0,0,0,7,9,0,0,0,0,0,0,5,16,16,16,15,1,0,0,0,4,3,5,16,3,0,0,0,0,7,9,12,0,0,0,0,0,13,12,1,0,0,5 +0,0,3,13,16,13,1,0,0,0,12,13,8,16,3,0,0,2,15,16,16,8,0,0,0,6,8,11,15,10,0,0,0,0,4,14,4,16,0,0,0,0,8,9,1,13,7,0,0,0,7,9,0,14,6,0,0,0,3,14,14,14,1,0,8 +0,0,0,4,15,1,0,0,0,0,2,16,14,4,0,0,0,0,11,15,2,0,0,0,0,1,16,9,0,0,0,0,0,2,16,16,16,9,1,0,0,2,15,16,13,16,11,0,0,0,8,16,10,12,16,0,0,0,0,6,14,15,8,0,6 +0,0,3,14,11,1,0,0,0,0,14,15,13,10,0,0,0,1,16,5,1,14,2,0,0,3,16,2,0,7,6,0,0,4,13,1,0,7,8,0,0,3,13,0,0,11,7,0,0,0,14,6,7,14,1,0,0,0,4,16,14,4,0,0,0 +0,0,0,6,13,0,0,0,0,0,0,13,12,0,0,0,0,0,1,13,4,0,0,0,0,0,9,9,1,9,1,0,0,4,13,0,4,14,0,0,2,16,16,16,16,13,0,0,3,8,7,9,14,2,0,0,0,0,0,10,5,0,0,0,4 +0,0,0,0,5,14,3,0,0,0,0,0,11,16,8,0,0,0,0,6,16,16,2,0,0,0,7,16,16,16,0,0,0,3,16,14,14,16,0,0,0,4,12,4,13,15,0,0,0,0,0,0,14,16,0,0,0,0,0,0,6,16,1,0,1 +0,0,3,10,14,2,0,0,0,0,15,16,14,10,0,0,0,6,16,5,0,14,2,0,0,8,15,1,0,8,6,0,0,8,8,0,0,6,8,0,0,5,13,0,0,6,8,0,0,0,15,12,8,14,5,0,0,0,3,15,16,11,0,0,0 +0,0,4,15,13,1,0,0,0,0,11,12,13,9,0,0,0,2,15,4,1,16,1,0,0,4,16,3,0,10,6,0,0,3,15,2,0,8,8,0,0,3,16,1,0,12,6,0,0,0,13,11,9,15,1,0,0,0,4,13,13,2,0,0,0 +0,1,13,16,10,3,0,0,0,2,13,8,13,15,0,0,0,0,1,8,11,14,2,0,0,0,0,16,16,7,0,0,0,0,0,0,9,16,1,0,0,0,1,0,0,14,7,0,0,5,12,4,7,16,3,0,0,1,11,14,12,5,0,0,3 +0,0,3,15,10,1,0,0,0,2,14,9,13,11,0,0,0,7,15,0,2,16,2,0,0,4,16,2,0,6,8,0,0,6,9,0,0,6,8,0,0,5,11,0,0,10,8,0,0,0,15,6,7,16,3,0,0,0,3,12,16,5,0,0,0 +0,0,7,10,8,11,16,3,0,0,5,10,9,14,11,0,0,0,0,0,2,15,3,0,0,0,0,0,8,10,0,0,0,4,15,16,16,16,7,0,0,2,4,11,10,3,0,0,0,0,2,16,1,0,0,0,0,0,8,12,0,0,0,0,7 +0,0,0,0,12,5,0,0,0,0,0,2,16,2,0,0,0,0,0,9,12,0,0,0,0,0,6,14,1,5,4,0,0,3,15,3,2,14,6,0,0,12,16,14,16,16,1,0,0,7,8,5,14,10,0,0,0,0,0,0,12,6,0,0,4 +0,0,1,11,11,1,0,0,0,0,9,16,15,3,0,0,0,1,15,6,0,0,0,0,0,5,14,0,0,0,0,0,0,7,11,0,1,2,0,0,0,4,14,5,15,16,7,0,0,1,12,16,16,12,15,0,0,0,2,11,16,14,9,0,6 +0,0,0,5,12,16,8,0,0,1,10,16,15,16,5,0,0,10,16,13,13,16,2,0,0,3,12,13,14,16,2,0,0,0,0,0,8,15,0,0,0,0,0,0,12,15,0,0,0,0,0,1,16,8,0,0,0,0,0,6,16,7,0,0,9 +0,0,5,8,14,14,8,0,0,4,16,13,12,9,4,0,0,4,16,0,0,0,0,0,0,5,16,8,2,0,0,0,0,0,6,14,16,8,0,0,0,0,0,0,6,16,2,0,0,0,11,8,10,15,1,0,0,0,8,13,10,1,0,0,5 +0,0,1,6,14,16,12,0,0,1,15,16,8,16,11,0,0,10,15,4,5,16,10,0,0,3,12,16,16,16,8,0,0,0,0,0,11,16,0,0,0,0,0,0,13,11,0,0,0,0,0,5,16,5,0,0,0,0,0,9,16,3,0,0,9 +0,2,0,0,9,7,0,0,0,15,16,16,16,9,0,0,0,1,5,4,16,7,0,0,0,1,4,4,16,7,0,0,0,5,16,16,16,15,2,0,0,0,3,1,14,6,0,0,0,0,0,0,13,7,0,0,0,0,0,0,10,11,0,0,7 +0,1,10,13,5,0,0,0,0,10,14,12,14,0,0,0,0,5,4,2,15,0,0,0,0,0,0,7,10,0,0,0,0,0,2,15,4,0,0,0,0,0,6,15,0,0,0,0,0,1,16,13,12,13,12,0,0,0,15,12,12,10,4,0,2 +0,0,9,14,10,4,0,0,0,1,15,12,14,16,2,0,0,0,1,0,0,15,4,0,0,0,0,14,16,8,0,0,0,0,0,6,13,14,1,0,0,0,0,0,1,16,5,0,0,0,5,4,6,15,4,0,0,0,12,15,12,6,0,0,3 +0,0,7,12,8,10,15,2,0,0,4,8,10,16,8,0,0,0,0,0,9,10,0,0,0,0,0,5,14,2,0,0,0,6,16,16,16,13,1,0,0,3,6,16,0,0,0,0,0,0,7,13,0,0,0,0,0,0,10,10,0,0,0,0,7 +0,0,0,6,12,2,0,0,0,0,2,15,10,4,0,0,0,0,13,9,0,0,0,0,0,1,15,1,0,0,0,0,0,2,13,6,9,2,0,0,0,0,15,16,12,13,1,0,0,0,6,12,8,15,4,0,0,0,0,7,15,11,1,0,6 +0,0,6,12,14,6,0,0,0,12,14,6,4,15,0,0,0,11,1,0,5,12,0,0,0,6,11,5,15,3,0,0,0,0,7,15,12,2,0,0,0,0,5,13,8,13,1,0,0,0,11,5,6,14,7,0,0,0,5,16,12,7,1,0,8 +0,0,9,16,15,5,0,0,0,0,15,14,16,9,0,0,0,0,5,1,13,10,0,0,0,0,0,0,13,7,0,0,0,0,0,8,13,0,0,0,0,0,3,15,7,1,0,0,0,0,10,16,16,15,0,0,0,0,13,16,12,12,0,0,2 +0,0,1,12,15,12,1,0,0,0,2,12,10,16,4,0,0,6,10,6,14,9,0,0,0,5,13,16,16,7,0,0,0,0,5,15,10,15,0,0,0,0,5,12,0,11,7,0,0,0,4,14,4,13,7,0,0,0,2,12,15,10,1,0,8 +0,0,0,12,1,0,0,0,0,0,5,14,1,0,0,0,0,0,12,9,0,0,0,0,0,3,16,2,0,0,0,0,0,3,13,6,8,8,2,0,0,2,16,16,12,13,14,0,0,0,11,14,6,5,16,2,0,0,1,10,14,14,10,0,6 +0,0,5,14,16,10,0,0,0,0,15,15,14,13,0,0,0,0,4,3,15,8,0,0,0,0,1,16,16,15,2,0,0,0,1,7,6,16,6,0,0,0,0,1,0,14,6,0,0,0,2,15,12,14,1,0,0,0,7,16,12,1,0,0,3 +0,0,0,5,16,10,0,0,0,0,0,13,14,0,0,0,0,0,3,16,9,0,0,0,0,0,7,16,4,0,0,0,0,0,10,16,12,8,1,0,0,2,16,16,16,16,11,0,0,1,9,16,11,12,16,1,0,0,0,6,16,16,10,0,6 +0,0,2,12,16,3,0,0,0,3,16,6,8,8,0,0,0,5,14,11,15,2,0,0,0,0,0,10,11,0,0,0,0,0,1,16,14,2,0,0,0,0,8,12,6,9,0,0,0,0,10,6,6,16,1,0,0,0,3,14,13,8,0,0,8 +0,0,0,9,14,14,1,0,0,2,15,16,16,11,1,0,0,6,16,15,5,0,0,0,0,12,16,9,1,0,0,0,0,3,13,16,13,2,0,0,0,0,0,3,13,15,0,0,0,0,0,11,10,16,7,0,0,0,0,10,16,15,1,0,5 +0,1,6,14,12,0,0,0,0,10,15,12,16,2,0,0,0,7,4,4,16,0,0,0,0,0,0,9,10,0,0,0,0,0,3,16,1,0,0,0,0,0,9,10,0,0,0,0,0,0,14,12,8,11,14,0,0,0,5,16,15,9,8,1,2 +0,0,9,15,16,12,1,0,0,0,3,4,4,15,6,0,0,0,0,0,0,16,4,0,0,0,0,0,8,13,0,0,0,3,12,16,16,15,4,0,0,3,5,12,9,0,0,0,0,0,3,15,1,0,0,0,0,0,11,6,0,0,0,0,7 +0,0,5,11,0,0,0,0,0,1,14,5,0,0,0,0,0,4,12,0,0,0,0,0,0,4,12,3,4,0,0,0,0,8,16,16,16,14,1,0,0,5,16,4,3,9,8,0,0,0,14,7,5,11,12,0,0,0,5,15,16,11,4,0,6 +0,0,3,13,11,1,0,0,0,10,15,10,11,10,0,0,0,6,16,1,1,13,2,0,0,4,8,0,0,8,8,0,0,4,8,0,0,8,8,0,0,3,12,0,0,14,8,0,0,0,13,10,12,16,3,0,0,0,4,15,10,3,0,0,0 +0,0,5,11,15,16,5,0,0,6,16,10,5,16,8,0,0,0,2,1,12,16,1,0,0,0,1,14,15,2,0,0,0,0,2,9,16,10,0,0,0,0,2,0,7,16,3,0,0,0,13,10,5,16,7,0,0,0,7,13,14,15,2,0,3 +0,0,6,15,16,12,1,0,0,3,16,9,8,15,7,0,0,3,3,0,0,15,6,0,0,0,0,0,6,15,2,0,0,0,0,1,15,6,0,0,0,0,1,12,10,0,0,0,0,0,8,16,13,13,6,0,0,0,6,14,12,4,0,0,2 +0,0,1,8,14,13,2,0,0,2,13,12,8,15,2,0,0,6,15,2,11,6,0,0,0,0,5,14,15,1,0,0,0,0,0,12,13,0,0,0,0,0,0,15,15,5,0,0,0,0,0,16,9,15,0,0,0,0,0,9,16,10,0,0,8 +0,0,6,12,16,16,9,0,0,0,12,5,1,14,10,0,0,0,0,2,12,12,0,0,0,0,4,15,14,1,0,0,0,0,4,13,16,8,0,0,0,0,0,0,2,16,1,0,0,0,4,8,12,13,0,0,0,0,7,14,7,1,0,0,3 +0,0,4,12,15,9,1,0,0,7,14,8,13,15,2,0,0,5,7,12,11,1,0,0,0,0,4,16,5,0,0,0,0,0,10,15,10,0,0,0,0,0,9,6,12,4,0,0,0,0,7,9,10,9,0,0,0,0,2,12,16,7,0,0,8 +0,0,2,10,15,5,0,0,0,3,9,12,7,16,0,0,0,12,9,5,6,14,1,0,0,4,12,6,16,4,0,0,0,0,8,16,10,0,0,0,0,0,8,14,16,7,0,0,0,0,12,6,5,16,11,0,0,0,3,14,16,13,7,0,8 +0,0,4,15,15,16,16,15,0,0,5,12,12,11,16,11,0,0,0,0,0,7,16,3,0,0,2,11,16,16,14,0,0,0,14,12,16,13,0,0,0,0,6,4,15,1,0,0,0,0,1,12,10,0,0,0,0,0,8,14,1,0,0,0,7 +0,0,1,10,13,16,14,0,0,0,9,15,12,15,16,1,0,0,1,2,0,10,14,0,0,0,0,2,4,16,12,0,0,0,5,16,16,16,5,0,0,0,7,12,16,8,0,0,0,0,0,6,16,3,0,0,0,0,0,13,11,1,0,0,7 +0,0,2,9,12,13,3,0,0,1,14,10,4,14,5,0,0,6,12,4,8,16,2,0,0,1,11,12,12,16,3,0,0,0,0,0,8,11,0,0,0,0,0,1,14,4,0,0,0,0,0,5,14,0,0,0,0,0,0,7,10,0,0,0,9 +0,0,15,16,16,11,3,0,0,0,11,7,7,13,13,0,0,0,0,0,5,15,6,0,0,0,2,11,16,7,0,0,0,0,3,16,16,13,1,0,0,0,0,0,8,16,2,0,0,0,14,12,15,11,0,0,0,0,11,9,6,0,0,0,3 +0,0,0,1,7,15,5,0,0,0,5,13,16,16,8,0,0,4,15,11,5,16,7,0,0,1,4,0,3,16,4,0,0,0,0,0,4,16,0,0,0,0,0,0,8,16,0,0,0,0,0,0,12,16,0,0,0,0,0,0,12,12,0,0,1 +0,0,6,16,15,3,0,0,0,2,16,11,13,13,0,0,0,7,14,1,1,14,4,0,0,8,12,0,0,8,12,0,0,9,11,0,0,8,12,0,0,8,13,1,0,14,11,0,0,1,16,13,14,16,6,0,0,0,6,16,15,7,0,0,0 +0,2,12,14,16,12,1,0,0,1,16,16,14,11,1,0,0,0,12,13,0,0,0,0,0,0,7,15,3,0,0,0,0,0,0,15,9,0,0,0,0,0,0,9,15,0,0,0,0,0,3,8,16,3,0,0,0,1,15,16,16,3,0,0,5 +0,0,1,12,10,2,0,0,0,0,0,9,16,9,0,0,0,0,0,14,16,12,0,0,0,0,1,16,16,12,0,0,0,0,4,16,16,10,0,0,0,0,6,16,16,10,0,0,0,0,1,16,16,12,0,0,0,0,3,11,13,12,3,0,1 +0,0,0,1,12,4,0,0,0,0,0,9,14,0,0,0,0,0,2,16,5,0,0,0,0,0,5,16,9,2,0,0,0,2,16,16,13,16,8,0,0,0,9,15,0,2,15,0,0,0,0,15,8,8,16,3,0,0,0,3,11,13,10,0,6 +0,0,0,9,10,0,0,0,0,0,6,16,5,0,0,0,0,1,15,9,0,0,0,0,0,4,16,4,0,0,0,0,0,7,16,14,15,6,0,0,0,2,15,5,2,12,6,0,0,0,9,14,3,6,16,0,0,0,0,8,14,14,12,0,6 +0,1,13,16,10,0,0,0,0,2,14,15,16,2,0,0,0,0,0,8,16,4,0,0,0,0,0,13,16,1,0,0,0,0,1,16,11,0,0,0,0,0,11,16,3,5,1,0,0,1,15,16,14,16,4,0,0,1,13,16,15,5,0,0,2 +0,0,2,16,10,0,0,0,0,0,7,16,14,1,0,0,0,0,9,16,13,0,0,0,0,0,12,16,8,0,0,0,0,0,14,16,9,0,0,0,0,0,14,16,6,0,0,0,0,0,7,16,10,0,0,0,0,0,1,11,16,4,0,0,1 +0,0,1,13,10,0,0,0,0,0,9,16,4,0,0,0,0,1,16,8,0,4,0,0,0,4,16,16,16,16,6,0,0,0,8,8,12,16,5,0,0,0,0,1,16,13,0,0,0,0,0,13,16,3,0,0,0,0,2,15,5,0,0,0,4 +0,0,5,13,2,0,0,0,0,1,15,16,15,3,0,0,0,4,14,1,5,14,2,0,0,4,9,0,0,6,8,0,0,5,8,0,0,4,8,0,0,3,10,0,0,9,9,0,0,0,15,10,10,16,6,0,0,0,7,15,14,5,0,0,0 +0,0,8,16,13,0,0,0,0,1,13,9,16,4,0,0,0,0,0,0,14,7,5,0,0,0,3,8,15,16,12,0,0,11,16,16,14,7,1,0,0,7,2,15,4,0,0,0,0,0,5,15,2,0,0,0,0,0,12,11,0,0,0,0,7 +0,0,2,16,14,1,0,0,0,0,6,16,16,5,0,0,0,2,16,16,16,3,0,0,0,0,3,9,16,4,0,0,0,0,0,2,16,10,0,0,0,0,0,0,15,16,0,0,0,0,2,9,16,16,3,0,0,0,2,14,16,10,1,0,1 +0,1,12,13,16,15,1,0,0,3,16,16,10,5,0,0,0,0,12,12,0,0,0,0,0,0,8,14,1,0,0,0,0,0,3,15,5,0,0,0,0,0,0,13,8,0,0,0,0,0,11,16,9,0,0,0,0,1,13,16,3,0,0,0,5 +0,0,0,9,13,3,0,0,0,0,9,14,14,4,0,0,0,1,14,13,0,0,0,0,0,4,16,6,0,0,0,0,0,4,16,6,4,2,0,0,0,2,16,16,16,15,2,0,0,0,7,16,13,16,10,0,0,0,0,7,13,10,5,0,6 +0,0,7,12,14,10,1,0,0,6,16,11,10,16,4,0,0,3,5,0,8,13,1,0,0,0,0,5,15,5,0,0,0,0,2,15,11,0,0,0,0,0,13,14,1,0,0,0,0,1,15,11,6,8,3,0,0,0,7,14,12,12,6,0,2 +0,0,2,7,14,12,1,0,0,2,14,15,10,16,7,0,0,4,9,0,5,16,3,0,0,0,0,2,16,13,0,0,0,0,0,2,15,11,0,0,0,0,0,0,6,16,4,0,0,0,0,5,16,13,0,0,0,0,0,9,11,2,0,0,3 +0,0,0,8,15,4,0,0,0,0,4,16,11,4,0,0,0,0,15,13,0,0,0,0,0,5,16,7,0,0,0,0,0,7,16,13,12,12,1,0,0,3,16,15,12,15,12,0,0,0,11,15,9,15,13,0,0,0,0,8,15,13,6,0,6 +0,1,13,16,13,5,2,0,0,2,16,9,13,14,0,0,0,0,11,13,15,5,0,0,0,0,3,16,13,0,0,0,0,0,3,16,8,0,0,0,0,0,10,16,12,0,0,0,0,1,15,16,12,0,0,0,0,1,16,10,1,0,0,0,8 +0,1,8,14,16,8,0,0,0,3,12,9,11,14,0,0,0,0,0,0,7,14,0,0,0,0,0,0,14,11,0,0,0,0,0,9,13,2,0,0,0,0,7,16,3,0,0,0,0,0,15,16,8,8,3,0,0,0,9,13,12,8,3,0,2 +0,1,11,16,13,3,0,0,0,11,16,11,16,12,0,0,0,4,5,0,13,15,0,0,0,0,0,0,16,10,0,0,0,0,0,8,15,1,0,0,0,0,5,16,5,0,0,0,0,0,14,16,10,8,5,0,0,0,13,16,13,12,5,0,2 +0,0,0,0,6,13,1,0,0,0,0,3,16,7,0,0,0,0,0,15,13,1,0,0,0,0,12,15,1,0,0,0,0,5,16,7,7,14,5,0,0,6,16,16,16,15,3,0,0,0,0,1,14,12,0,0,0,0,0,0,9,11,0,0,4 +0,0,7,16,16,10,0,0,0,4,16,13,16,15,0,0,0,0,8,2,16,12,0,0,0,0,0,8,16,6,0,0,0,0,4,16,9,0,0,0,0,1,13,15,2,0,0,0,0,1,16,15,12,12,5,0,0,0,9,16,14,7,1,0,2 +0,0,8,16,16,12,0,0,0,5,16,15,10,3,0,0,0,3,16,7,0,0,0,0,0,0,7,16,2,0,0,0,0,0,0,15,8,0,0,0,0,0,0,11,13,0,0,0,0,2,12,15,10,0,0,0,0,0,11,15,3,0,0,0,5 +0,0,0,13,7,0,0,0,0,0,9,16,15,0,0,0,0,8,16,16,14,0,0,0,0,7,8,11,16,4,0,0,0,0,0,2,16,10,0,0,0,0,0,0,10,16,4,0,0,0,1,7,11,16,12,0,0,0,0,11,16,14,8,0,1 +0,0,1,9,15,7,1,0,0,4,13,15,13,16,4,0,0,11,13,1,11,14,0,0,0,0,0,0,16,12,0,0,0,0,0,0,14,12,0,0,0,0,0,0,9,14,1,0,0,0,0,3,13,15,0,0,0,0,0,12,13,3,0,0,3 +0,0,0,2,15,6,0,0,0,0,0,13,15,1,0,0,0,0,9,16,4,2,1,0,0,4,16,9,2,14,11,0,0,10,15,5,13,16,4,0,0,15,16,16,16,14,0,0,0,9,12,8,16,8,0,0,0,0,0,2,15,3,0,0,4 +0,0,1,15,10,0,0,0,0,0,9,10,10,7,0,0,0,2,15,1,2,14,0,0,0,2,16,1,0,11,4,0,0,2,15,0,0,9,7,0,0,0,13,4,1,15,7,0,0,0,8,12,11,16,3,0,0,0,1,12,16,7,0,0,0 +0,0,0,5,15,16,6,0,0,1,15,15,10,15,14,0,0,0,1,0,0,8,12,0,0,0,0,2,5,15,9,0,0,0,0,8,16,16,6,0,0,0,0,0,8,13,0,0,0,0,0,0,12,8,0,0,0,0,0,2,13,2,0,0,7 +0,0,1,8,12,12,2,0,0,0,13,12,12,15,9,0,0,0,0,0,0,14,10,0,0,0,0,2,8,16,8,0,0,0,2,16,16,15,5,0,0,0,0,1,16,8,0,0,0,0,0,8,16,4,0,0,0,0,0,9,12,0,0,0,7 +0,0,3,9,13,2,0,0,0,6,16,16,16,8,0,0,0,9,5,3,16,6,0,0,0,0,0,7,15,1,0,0,0,0,0,13,10,0,0,0,0,0,6,16,3,0,0,0,0,0,8,16,14,12,7,0,0,0,3,13,16,14,8,0,2 +0,0,2,16,9,0,0,0,0,0,8,16,15,0,0,0,0,6,16,16,15,1,0,0,0,0,0,5,16,8,0,0,0,0,0,0,14,14,0,0,0,0,0,0,2,16,6,0,0,0,1,4,7,16,13,0,0,0,0,11,16,16,15,1,1 +0,0,2,13,16,3,0,0,0,4,15,14,15,12,0,0,0,4,7,1,14,7,0,0,0,0,0,6,16,3,0,0,0,0,4,16,5,0,0,0,0,1,13,10,0,0,0,0,0,0,14,12,5,8,3,0,0,0,3,12,16,10,2,0,2 +0,0,5,13,8,3,0,0,0,0,14,16,16,12,0,0,0,3,15,1,3,12,5,0,0,4,10,0,0,7,8,0,0,4,8,0,0,9,8,0,0,4,11,1,1,15,6,0,0,0,15,12,11,13,0,0,0,0,3,13,13,3,0,0,0 +0,0,0,11,13,1,0,0,0,1,2,15,13,8,0,0,0,5,13,0,3,13,0,0,0,9,11,0,0,15,1,0,0,6,11,0,0,14,5,0,0,2,15,2,3,16,4,0,0,0,8,14,14,16,2,0,0,0,0,7,14,6,0,0,0 +0,0,9,15,16,12,1,0,0,11,16,16,13,8,1,0,0,3,15,11,1,0,0,0,0,0,8,14,0,0,0,0,0,0,3,16,4,0,0,0,0,0,1,16,7,0,0,0,0,3,15,16,4,0,0,0,0,0,13,15,0,0,0,0,5 +0,2,14,14,1,0,0,0,0,4,16,11,4,6,0,0,0,4,16,4,12,16,2,0,0,0,13,16,16,6,0,0,0,0,13,16,10,0,0,0,0,0,15,16,4,0,0,0,0,4,16,16,7,0,0,0,0,2,13,15,1,0,0,0,8 +0,0,0,2,13,2,0,0,0,0,0,9,15,1,0,0,0,0,1,15,7,0,0,0,0,0,11,12,0,6,6,0,0,7,15,7,5,16,4,0,0,10,16,16,16,13,0,0,0,0,4,3,14,7,0,0,0,0,0,3,12,0,0,0,4 +0,0,0,1,12,6,0,0,0,0,0,6,16,2,0,0,0,0,1,16,5,0,0,0,0,0,11,12,0,2,0,0,0,6,15,2,2,16,3,0,0,11,14,9,15,15,0,0,0,3,11,14,16,8,0,0,0,0,0,1,13,2,0,0,4 +0,1,8,12,11,4,0,0,0,12,16,11,15,14,0,0,0,3,3,3,16,11,0,0,0,0,1,13,16,1,0,0,0,0,0,5,16,7,0,0,0,0,0,0,12,14,0,0,0,0,0,7,16,9,0,0,0,0,10,13,7,0,0,0,3 +0,0,6,12,8,0,0,0,0,7,16,8,15,1,0,0,0,9,4,0,13,4,0,0,0,0,0,1,16,1,0,0,0,0,0,6,10,0,0,0,0,0,0,12,8,0,0,0,0,0,6,15,6,4,6,0,0,0,7,16,15,12,12,0,2 +0,0,1,8,12,16,15,0,0,1,14,16,15,15,13,0,0,0,4,1,0,14,11,0,0,0,1,7,14,16,14,0,0,0,8,16,16,14,2,0,0,0,1,8,16,6,0,0,0,0,0,8,16,0,0,0,0,0,0,15,7,0,0,0,7 +0,0,6,16,13,2,0,0,0,1,11,16,15,3,0,0,0,11,16,16,16,2,0,0,0,6,11,11,16,12,1,0,0,0,0,1,14,16,7,0,0,0,0,0,6,16,13,0,0,0,0,0,7,16,16,3,0,0,2,12,16,15,8,1,1 +0,0,4,15,12,3,0,0,0,3,16,16,16,13,0,0,0,5,16,16,16,13,0,0,0,0,2,2,7,16,1,0,0,0,0,0,7,16,3,0,0,0,0,1,15,13,0,0,0,0,2,13,16,8,0,0,0,0,6,15,5,0,0,0,9 +0,1,11,12,12,13,2,0,0,7,16,9,8,8,2,0,0,7,14,8,8,1,0,0,0,3,15,11,11,13,0,0,0,0,0,0,4,16,0,0,0,0,0,0,9,13,0,0,0,0,2,11,14,4,0,0,0,0,12,9,1,0,0,0,5 +0,0,6,13,16,14,0,0,0,0,14,12,14,13,0,0,0,0,0,0,13,7,0,0,0,0,0,3,16,10,4,0,0,0,13,16,16,16,8,0,0,0,10,15,14,12,4,0,0,0,3,16,5,0,0,0,0,0,6,14,0,0,0,0,7 +0,0,0,9,12,5,0,0,0,0,0,16,9,15,2,0,0,0,0,16,6,16,4,0,0,0,0,4,16,16,8,0,0,0,0,0,2,15,4,0,0,0,0,0,0,10,7,0,0,0,16,11,3,13,4,0,0,0,3,6,13,15,2,0,9 +0,0,0,3,13,2,0,0,0,0,0,9,16,2,0,0,0,0,2,15,16,4,0,0,0,2,13,16,16,2,0,0,0,4,12,8,16,7,0,0,0,0,0,4,16,9,0,0,0,0,0,5,16,16,0,0,0,0,0,2,15,9,0,0,1 +0,0,5,14,11,2,0,0,0,3,16,10,15,13,0,0,0,8,13,0,14,16,1,0,0,3,16,13,16,15,3,0,0,0,3,16,16,3,0,0,0,0,1,16,16,14,0,0,0,0,6,16,13,16,4,0,0,0,5,15,12,12,1,0,8 +0,0,0,6,16,6,0,0,0,0,0,12,16,13,0,0,0,0,9,16,16,16,0,0,0,8,16,16,16,13,0,0,0,0,4,3,16,14,0,0,0,0,0,3,16,13,0,0,0,0,0,4,16,16,2,0,0,0,0,4,16,11,2,0,1 +0,0,2,13,15,6,0,0,0,0,8,14,10,16,3,0,0,0,15,6,0,10,8,0,0,6,15,1,0,11,7,0,0,8,13,0,0,10,8,0,0,7,14,1,0,16,2,0,0,1,15,14,11,14,0,0,0,0,3,15,12,1,0,0,0 +0,0,2,15,15,7,0,0,0,0,10,12,6,16,5,0,0,2,16,3,0,8,10,0,0,7,16,0,0,8,8,0,0,3,16,4,0,12,5,0,0,0,16,7,1,15,3,0,0,0,12,13,13,10,0,0,0,0,2,12,13,1,0,0,0 +0,1,10,15,9,0,0,0,0,5,16,8,16,7,0,0,0,5,14,0,12,9,0,0,0,1,12,13,16,16,2,0,0,0,1,9,12,14,7,0,0,0,0,0,0,4,13,0,0,0,14,12,8,11,16,0,0,0,7,16,16,16,9,0,9 +0,0,5,11,0,0,0,0,0,0,13,6,0,0,0,0,0,2,16,4,0,0,0,0,0,8,13,0,0,0,0,0,0,8,16,15,12,6,0,0,0,8,16,14,12,16,2,0,0,2,16,12,5,16,4,0,0,0,5,14,15,10,0,0,6 +0,0,4,13,1,0,0,0,0,0,10,12,0,0,0,0,0,0,13,9,0,0,0,0,0,0,15,6,0,0,0,0,0,2,16,9,4,2,0,0,0,3,16,15,12,15,6,0,0,1,14,15,4,13,14,0,0,0,3,13,16,14,5,0,6 +0,4,16,9,0,0,0,0,0,9,16,16,3,0,0,0,0,12,8,16,4,0,0,0,0,5,2,16,5,0,0,0,0,0,0,16,4,0,0,0,0,0,3,16,4,0,0,0,0,5,15,16,13,12,8,0,0,4,16,16,16,16,12,0,2 +0,1,7,6,12,14,7,0,0,4,16,13,7,4,1,0,0,5,14,4,2,0,0,0,0,5,16,16,15,3,0,0,0,1,7,3,14,8,0,0,0,0,0,0,12,6,0,0,0,1,3,5,15,2,0,0,0,1,13,13,5,0,0,0,5 +0,0,10,16,10,2,0,0,0,5,15,5,16,15,0,0,0,6,14,2,10,16,2,0,0,0,12,16,16,16,4,0,0,0,0,3,8,14,7,0,0,0,0,0,0,11,9,0,0,2,14,9,8,13,12,0,0,1,9,14,14,12,3,0,9 +0,0,3,14,1,0,0,0,0,0,10,14,1,7,0,0,0,0,15,9,7,16,0,0,0,5,16,4,13,13,0,0,0,12,16,16,16,16,9,0,0,3,8,15,16,12,2,0,0,0,1,16,11,0,0,0,0,0,3,16,5,0,0,0,4 +0,0,1,15,6,0,0,0,0,0,8,15,2,0,0,0,0,0,15,9,0,0,0,0,0,2,16,10,0,0,0,0,0,8,16,11,10,4,0,0,0,5,16,16,11,16,6,0,0,2,15,16,11,16,11,0,0,0,3,11,15,13,1,0,6 +0,0,0,8,13,0,0,0,0,0,5,16,5,6,2,0,0,0,14,10,2,16,6,0,0,6,16,3,9,15,0,0,0,11,16,16,16,16,6,0,0,4,12,14,16,12,2,0,0,0,0,8,16,4,0,0,0,0,0,11,11,1,0,0,4 +0,0,2,12,12,2,0,0,0,3,14,13,11,11,0,0,0,5,16,2,2,14,4,0,0,7,14,2,0,12,7,0,0,4,12,0,0,12,5,0,0,2,14,1,2,15,2,0,0,0,11,10,13,8,0,0,0,0,3,13,12,2,0,0,0 +0,0,3,13,16,15,1,0,0,0,6,12,13,16,4,0,0,0,0,0,9,16,1,0,0,0,2,5,14,14,3,0,0,0,14,16,16,16,10,0,0,0,5,10,16,7,1,0,0,0,1,16,11,0,0,0,0,0,5,16,5,0,0,0,7 +0,0,4,15,10,5,0,0,0,0,15,10,13,16,2,0,0,4,15,1,9,16,4,0,0,0,14,14,16,16,4,0,0,0,1,4,2,15,5,0,0,0,1,0,0,13,6,0,0,7,16,8,9,15,5,0,0,0,6,12,13,11,1,0,9 +0,0,7,15,13,1,0,0,0,0,15,9,13,10,0,0,0,0,16,5,12,12,0,0,0,0,4,15,16,12,0,0,0,0,0,2,7,15,1,0,0,0,0,0,0,15,4,0,0,4,12,7,5,14,4,0,0,0,7,13,13,9,1,0,9 +0,0,1,14,7,0,0,0,0,1,13,16,14,11,0,0,0,4,16,12,0,14,3,0,0,6,14,14,0,8,8,0,0,4,16,14,0,8,8,0,0,1,15,3,0,10,8,0,0,0,7,15,10,16,1,0,0,0,1,9,16,8,0,0,0 +0,0,7,12,13,12,10,0,0,1,16,10,4,8,4,0,0,1,16,9,8,2,0,0,0,7,15,12,14,9,0,0,0,0,0,0,6,12,0,0,0,0,0,0,7,14,0,0,0,0,6,8,12,12,0,0,0,0,12,13,9,0,0,0,5 +0,1,11,12,0,0,0,0,0,7,14,15,6,0,0,0,0,7,3,12,10,0,0,0,0,0,0,15,14,5,0,0,0,0,0,8,10,16,2,0,0,0,0,0,0,12,8,0,0,0,9,8,8,15,10,0,0,0,13,16,14,8,1,0,3 +0,1,10,15,8,0,0,0,0,4,16,10,13,14,1,0,0,8,16,0,10,16,4,0,0,1,16,12,15,16,4,0,0,0,2,11,10,16,6,0,0,0,0,0,0,16,6,0,0,0,12,11,11,16,4,0,0,0,7,12,12,7,0,0,9 +0,0,0,8,10,0,0,0,0,0,4,15,2,0,0,0,0,0,11,9,0,12,3,0,0,2,15,0,3,15,0,0,0,6,16,6,10,14,0,0,0,2,16,16,16,14,0,0,0,0,0,6,15,1,0,0,0,0,0,10,9,0,0,0,4 +0,0,7,15,4,0,0,0,0,0,14,16,12,0,0,0,0,0,12,6,16,0,0,0,0,0,0,10,16,2,0,0,0,0,0,8,14,15,3,0,0,0,0,0,0,9,11,0,0,0,5,9,9,15,11,0,0,0,9,14,12,9,1,0,3 +0,0,4,14,0,0,0,0,0,0,15,7,0,0,0,0,0,3,13,0,0,0,0,0,0,6,12,4,3,0,0,0,0,8,16,16,16,13,1,0,0,4,16,8,2,16,6,0,0,2,16,13,10,16,4,0,0,0,5,15,13,3,0,0,6 +0,1,11,14,6,0,0,0,0,7,12,5,15,0,0,0,0,6,6,1,16,0,0,0,0,0,0,5,16,0,0,0,0,0,0,13,16,12,0,0,0,0,0,0,3,14,6,0,0,0,5,7,6,14,8,0,0,0,14,16,16,11,1,0,3 +0,5,16,5,0,0,0,0,0,9,16,14,0,0,0,0,0,12,14,14,0,0,0,0,0,7,13,12,0,0,0,0,0,0,11,8,0,3,1,0,0,0,16,8,7,14,11,0,0,8,16,16,16,16,11,0,0,6,16,16,11,6,1,0,2 +0,0,9,12,11,0,0,0,0,7,13,4,14,2,0,0,0,2,6,0,14,4,0,0,0,0,0,8,14,0,0,0,0,0,0,10,14,13,1,0,0,0,0,0,1,14,5,0,0,0,8,5,10,14,2,0,0,1,15,16,11,1,0,0,3 +0,0,10,15,9,1,0,0,0,5,16,10,16,9,0,0,0,7,10,0,14,10,0,0,0,3,15,7,12,15,1,0,0,0,4,11,14,16,4,0,0,0,0,0,0,12,11,0,0,0,11,9,5,12,13,0,0,0,10,12,12,15,11,0,9 +0,0,5,15,15,9,0,0,0,0,15,8,5,13,5,0,0,6,16,9,0,6,10,0,0,8,16,4,0,6,12,0,0,0,16,4,0,4,12,0,0,0,16,3,0,9,9,0,0,0,15,8,7,15,1,0,0,0,6,16,16,6,0,0,0 +0,0,1,15,14,0,0,0,0,0,6,16,8,0,0,0,0,0,14,16,13,0,0,0,0,9,15,14,16,1,0,0,0,5,3,6,16,5,0,0,0,0,0,3,16,11,0,0,0,0,0,5,14,15,0,0,0,0,3,15,16,16,6,0,1 +0,0,5,12,8,0,0,0,0,0,13,6,1,0,0,0,0,2,14,1,0,0,0,0,0,4,14,0,3,1,0,0,0,7,11,13,13,13,5,0,0,4,16,8,0,2,12,0,0,1,15,6,2,12,3,0,0,0,6,13,12,4,0,0,6 +0,0,13,16,16,5,0,0,0,1,10,8,16,6,0,0,0,0,0,10,14,0,0,0,0,0,7,16,6,0,0,0,0,0,3,13,16,6,0,0,0,0,0,0,10,15,1,0,0,0,2,5,7,16,7,0,0,0,15,16,16,14,2,0,3 +0,0,0,11,16,10,0,0,0,0,6,11,2,12,0,0,0,0,5,15,3,11,0,0,0,0,1,13,16,1,0,0,0,0,1,12,16,7,0,0,0,7,13,3,7,14,0,0,0,10,13,8,5,10,0,0,0,0,0,14,15,3,0,0,8 +0,0,6,15,16,13,0,0,0,5,16,8,6,15,3,0,0,10,16,4,0,9,8,0,0,5,16,4,0,7,11,0,0,4,16,3,0,6,12,0,0,3,16,3,0,9,9,0,0,0,15,11,8,16,3,0,0,0,11,16,14,5,0,0,0 +0,0,2,9,15,12,0,0,0,0,12,15,14,13,0,0,0,0,2,0,11,7,0,0,0,0,0,1,16,9,4,0,0,1,9,16,16,11,5,0,0,4,13,13,9,0,0,0,0,0,0,13,3,0,0,0,0,0,2,14,1,0,0,0,7 +0,0,7,13,16,13,2,0,0,2,16,15,5,13,10,0,0,6,16,3,0,7,11,0,0,11,14,0,0,5,12,0,0,8,16,0,0,4,12,0,0,8,15,0,0,7,11,0,0,7,16,8,8,15,2,0,0,0,12,16,16,5,0,0,0 +0,0,10,16,16,16,14,0,0,4,16,11,7,3,2,0,0,10,11,0,0,0,0,0,0,7,15,9,8,2,0,0,0,1,11,12,15,14,1,0,0,0,0,0,1,15,6,0,0,2,12,6,0,15,6,0,0,0,9,14,16,15,2,0,5 +0,0,7,16,4,0,0,0,0,0,9,16,6,0,0,0,0,1,13,16,6,0,0,0,0,9,16,16,11,0,0,0,0,8,6,10,16,1,0,0,0,0,0,2,16,11,0,0,0,0,1,7,16,16,7,0,0,0,4,15,16,15,15,3,1 +0,0,9,16,13,0,0,0,0,0,15,11,0,0,0,0,0,4,16,6,0,0,0,0,0,3,16,7,4,3,0,0,0,2,16,16,16,16,10,0,0,0,15,16,2,3,14,2,0,0,15,16,6,4,16,3,0,0,8,6,15,16,8,0,6 +0,0,0,13,16,16,16,8,0,0,0,7,4,6,15,9,0,0,0,0,0,6,15,0,0,0,0,2,4,14,6,0,0,0,3,16,16,16,6,0,0,0,0,1,15,4,0,0,0,0,0,8,12,0,0,0,0,0,1,15,4,0,0,0,7 +0,0,0,6,14,16,8,0,0,0,4,13,8,16,9,0,0,0,0,0,0,15,6,0,0,0,0,5,9,16,9,0,0,0,10,16,16,15,4,0,0,1,9,3,13,7,0,0,0,0,0,1,16,2,0,0,0,0,0,8,9,0,0,0,7 +0,0,0,7,15,0,0,0,0,0,0,14,11,3,11,0,0,0,6,16,2,14,9,0,0,2,14,7,6,16,2,0,1,14,15,11,15,16,4,0,2,13,12,11,16,7,0,0,0,0,0,5,16,1,0,0,0,0,0,11,12,0,0,0,4 +0,0,10,16,16,6,0,0,0,3,13,6,16,4,0,0,0,0,0,10,12,0,0,0,0,0,6,16,5,0,0,0,0,0,1,12,15,5,0,0,0,0,0,0,10,15,3,0,0,0,0,2,7,16,5,0,0,1,13,16,14,10,0,0,3 +0,0,7,16,15,3,0,0,0,1,15,10,12,4,0,0,0,7,16,1,0,0,0,0,0,8,13,0,4,3,0,0,0,9,14,13,16,16,5,0,0,7,16,13,2,9,12,0,0,2,16,10,1,11,12,0,0,0,8,15,16,15,3,0,6 +0,0,0,6,16,1,0,0,0,0,3,16,8,4,15,0,0,1,14,11,0,10,14,0,0,9,16,13,12,16,12,0,0,3,12,11,12,16,6,0,0,0,0,0,12,12,1,0,0,0,0,2,16,6,0,0,0,0,0,7,13,1,0,0,4 +0,0,0,7,14,7,0,0,0,0,3,13,4,12,1,0,0,0,13,3,0,12,4,0,0,1,13,0,6,16,6,0,0,0,15,15,9,12,3,0,0,0,1,1,0,9,2,0,0,0,2,9,2,12,0,0,0,0,1,9,15,7,0,0,9 +0,0,7,13,15,3,0,0,0,3,16,4,8,4,0,0,0,1,16,3,10,0,0,0,0,0,8,16,6,0,0,0,0,0,6,11,11,10,1,0,0,1,13,3,0,9,6,0,0,2,14,1,0,9,3,0,0,0,4,13,14,9,0,0,8 +0,2,16,13,1,0,0,0,0,7,14,10,3,0,0,0,0,8,12,0,0,0,0,0,0,9,13,1,6,3,0,0,0,7,14,15,16,15,4,0,0,4,16,11,4,5,16,0,0,1,16,11,0,7,15,1,0,2,14,13,16,16,4,0,6 +0,0,3,11,13,8,0,0,0,1,14,5,1,12,3,0,0,4,12,0,0,8,11,0,0,1,15,6,4,15,4,0,0,0,2,8,10,14,4,0,0,0,0,0,0,11,4,0,0,0,0,2,2,11,4,0,0,0,2,14,11,7,1,0,9 +0,0,8,16,10,1,0,0,0,0,15,6,13,4,0,0,0,0,15,3,12,2,0,0,0,0,6,16,13,0,0,0,0,0,2,14,14,6,0,0,0,1,13,3,1,13,3,0,0,3,14,0,0,5,7,0,0,0,6,13,12,15,5,0,8 +0,0,2,11,16,15,1,0,0,0,4,8,10,16,4,0,0,0,0,0,3,16,4,0,0,0,0,3,8,16,3,0,0,5,12,16,16,16,7,0,0,8,8,8,16,3,0,0,0,0,0,14,9,0,0,0,0,0,3,16,2,0,0,0,7 +0,1,10,16,15,4,0,0,0,9,16,7,7,15,2,0,0,12,13,0,0,12,8,0,0,12,12,0,0,6,11,0,0,10,12,0,0,4,12,0,0,7,14,0,0,6,11,0,0,2,16,5,3,14,4,0,0,0,10,16,16,12,0,0,0 +0,0,4,16,13,0,0,0,0,0,14,9,15,0,0,0,0,5,14,2,16,6,0,0,0,9,12,7,15,10,0,0,0,3,16,15,9,16,1,0,0,0,4,0,1,14,5,0,0,0,0,6,6,12,7,0,0,0,2,16,16,13,1,0,9 +0,3,16,16,16,16,14,0,0,9,15,9,7,3,2,0,0,10,12,0,0,0,0,0,0,10,16,15,9,0,0,0,0,1,8,9,16,7,0,0,0,0,0,0,10,12,0,0,0,5,7,0,8,14,0,0,0,4,16,16,16,8,0,0,5 +0,1,12,16,14,5,0,0,0,3,13,9,16,12,0,0,0,0,1,11,16,6,0,0,0,0,8,16,9,0,0,0,0,0,3,15,13,0,0,0,0,0,0,2,15,9,0,0,0,0,3,8,12,16,3,0,0,0,14,16,16,16,7,0,3 +0,0,11,15,10,0,0,0,0,2,13,0,9,3,0,0,0,3,12,0,10,0,0,0,0,0,11,12,12,0,0,0,0,0,0,11,14,6,0,0,0,1,9,5,0,10,5,0,0,4,10,0,0,8,4,0,0,1,14,11,14,10,0,0,8 +0,0,9,16,16,6,0,0,0,3,16,6,8,16,4,0,0,10,12,0,6,16,6,0,0,10,14,5,13,16,4,0,0,1,11,12,7,14,8,0,0,0,0,0,0,10,10,0,0,0,0,0,0,13,8,0,0,0,11,16,16,16,5,0,9 +0,0,1,10,13,1,0,0,0,0,14,12,8,2,0,0,0,5,14,1,0,0,0,0,0,6,11,0,0,0,0,0,0,8,14,14,12,11,0,0,0,1,16,10,0,2,10,0,0,0,13,11,1,0,13,0,0,0,1,8,15,16,9,0,6 +0,2,15,16,5,0,0,0,0,6,16,10,10,0,0,0,0,3,15,6,12,0,0,0,0,0,1,7,13,0,0,0,0,0,0,13,7,0,0,0,0,0,3,15,3,0,0,0,0,0,14,15,10,8,4,0,0,3,16,16,16,16,16,3,2 +0,0,13,13,0,0,0,0,0,6,16,7,0,0,0,0,0,10,13,0,0,0,0,0,0,8,16,13,16,10,0,0,0,8,16,14,9,15,6,0,0,5,16,6,0,2,15,0,0,7,16,12,0,3,15,0,0,1,6,13,16,16,8,0,6 +0,0,10,13,12,5,0,0,0,3,16,7,10,16,6,0,0,3,16,3,0,14,8,0,0,1,11,15,14,16,8,0,0,0,0,3,6,14,8,0,0,0,0,0,1,13,7,0,0,0,5,4,7,16,2,0,0,0,13,16,16,10,0,0,9 +0,0,0,0,7,13,2,0,0,0,0,0,8,16,4,0,0,3,8,9,15,15,1,0,0,4,12,11,14,12,0,0,0,0,0,0,12,12,0,0,0,0,0,0,11,13,0,0,0,0,0,0,8,16,5,0,0,0,0,0,6,16,5,0,1 +0,0,10,14,8,0,0,0,0,7,15,5,15,9,0,0,0,8,11,0,5,15,2,0,0,4,16,6,5,16,4,0,0,0,8,12,11,14,7,0,0,0,0,0,0,11,9,0,0,0,4,2,0,11,11,0,0,0,11,16,16,15,4,0,9 +0,0,14,5,0,0,0,0,0,0,13,8,0,0,0,0,0,0,16,7,0,0,0,0,0,0,15,8,0,0,0,0,0,2,16,5,15,3,0,0,0,2,16,9,14,11,1,0,0,6,16,16,16,16,15,0,0,1,8,5,7,16,8,0,4 +0,1,10,13,10,1,0,0,0,6,14,4,10,15,2,0,0,8,12,0,2,16,3,0,0,2,14,8,10,16,4,0,0,0,2,4,4,13,6,0,0,0,0,0,0,12,8,0,0,6,12,2,6,16,4,0,0,1,10,16,13,5,0,0,9 +0,0,6,15,11,1,0,0,0,0,15,7,13,15,2,0,0,5,14,0,2,16,4,0,0,3,15,8,10,16,4,0,0,0,6,12,10,14,8,0,0,2,3,0,0,12,7,0,0,9,15,8,8,16,3,0,0,0,7,15,15,4,0,0,9 +0,0,7,15,14,9,0,0,0,4,15,5,12,16,4,0,0,7,13,1,9,14,3,0,0,1,14,16,16,2,0,0,0,0,12,12,14,12,0,0,0,2,16,1,2,15,4,0,0,1,15,7,0,14,8,0,0,0,6,16,16,13,2,0,8 +0,1,10,15,6,0,0,0,0,7,13,6,13,2,0,0,0,7,8,0,13,4,0,0,0,0,1,0,13,4,0,0,0,0,0,3,14,0,0,0,0,0,0,11,10,0,0,0,0,0,7,16,5,4,2,0,0,0,15,16,14,16,15,0,2 +0,0,6,16,16,15,14,0,0,0,2,4,10,16,5,0,0,0,0,1,12,10,0,0,0,1,6,11,16,13,6,0,0,7,14,16,14,9,4,0,0,0,1,16,8,0,0,0,0,0,4,16,8,0,0,0,0,0,5,15,2,0,0,0,7 +0,0,4,13,1,0,0,0,0,0,13,11,0,0,0,0,0,2,16,3,0,0,0,0,0,4,16,11,5,1,0,0,0,4,16,15,15,13,4,0,0,2,16,2,0,7,14,0,0,0,14,10,8,9,16,2,0,0,4,13,16,12,10,0,6 +0,0,10,14,12,1,0,0,0,4,11,4,10,9,0,0,0,1,3,0,7,11,0,0,0,0,0,4,14,6,0,0,0,0,0,11,13,15,1,0,0,0,0,0,0,14,7,0,0,3,6,2,4,15,6,0,0,1,11,15,14,8,0,0,3 +0,0,4,14,15,6,0,0,0,0,13,5,9,11,0,0,0,0,0,0,5,11,0,0,0,0,1,9,16,4,0,0,0,0,3,9,9,15,1,0,0,0,0,0,0,15,4,0,0,8,14,8,5,16,4,0,0,0,6,14,15,8,0,0,3 +0,0,2,14,11,8,12,1,0,0,8,10,9,14,14,0,0,0,10,1,0,12,4,0,0,0,1,2,7,13,1,0,0,0,1,15,16,16,5,0,0,0,0,3,13,2,0,0,0,0,0,9,7,0,0,0,0,0,0,15,4,0,0,0,7 +0,1,13,12,1,0,0,0,0,5,13,12,9,0,0,0,0,1,11,4,16,0,0,0,0,0,3,1,16,3,0,0,0,0,0,2,16,0,0,0,0,0,0,5,15,1,0,0,0,0,7,16,11,4,5,0,0,0,15,16,16,16,16,0,2 +0,0,0,7,9,0,0,0,0,0,4,15,6,0,0,0,0,0,11,11,0,0,0,0,0,1,16,14,12,4,0,0,0,3,16,16,13,14,3,0,0,0,16,6,1,8,11,0,0,0,11,11,1,1,16,0,0,0,2,9,14,16,16,1,6 +0,0,6,15,12,1,0,0,0,0,16,9,15,14,2,0,0,6,14,0,2,16,6,0,0,5,15,5,6,16,4,0,0,0,6,12,12,15,8,0,0,0,0,0,0,13,7,0,0,2,14,4,7,16,2,0,0,0,7,15,15,5,0,0,9 +0,0,0,4,16,2,0,0,0,0,0,8,16,0,0,0,0,0,0,14,11,0,0,0,0,0,7,15,1,0,0,0,0,0,15,11,9,3,0,0,0,9,16,11,16,9,0,0,0,13,16,16,16,16,6,0,0,1,0,8,16,5,0,0,4 +0,0,5,16,14,8,0,0,0,5,15,6,11,16,1,0,0,8,14,0,5,16,1,0,0,1,12,14,16,8,0,0,0,0,6,14,15,10,0,0,0,0,12,4,1,13,6,0,0,0,12,7,1,13,8,0,0,0,4,15,16,10,1,0,8 +0,0,8,14,14,9,0,0,0,1,16,9,14,15,9,0,0,2,16,6,9,15,6,0,0,0,8,16,16,4,0,0,0,0,10,12,13,12,0,0,0,1,15,2,1,16,6,0,0,2,14,4,6,16,4,0,0,0,10,16,16,10,1,0,8 +0,3,14,15,5,0,0,0,0,8,11,7,15,2,0,0,0,9,4,0,16,4,0,0,0,1,3,0,14,8,0,0,0,0,0,4,15,0,0,0,0,0,0,12,10,0,0,0,0,1,14,16,10,10,6,0,0,2,14,15,13,16,12,0,2 +0,0,13,12,12,12,5,0,0,3,16,7,4,4,2,0,0,5,16,8,5,0,0,0,0,5,14,11,16,6,0,0,0,0,0,0,6,14,0,0,0,0,0,0,0,16,0,0,0,2,4,1,9,16,0,0,0,1,13,16,13,2,0,0,5 +0,0,6,15,15,11,5,0,0,0,14,8,12,15,13,0,0,2,16,3,0,11,12,0,0,0,13,16,15,13,1,0,0,0,6,16,16,7,0,0,0,0,13,5,11,12,0,0,0,0,13,11,9,16,2,0,0,0,6,14,15,7,0,0,8 +0,0,0,5,15,0,0,0,0,0,0,12,12,0,0,0,0,0,0,16,8,0,0,0,0,0,9,14,4,1,0,0,0,0,16,7,16,8,0,0,0,11,16,15,16,16,3,0,0,13,16,16,16,16,7,0,0,0,0,5,16,2,0,0,4 +0,0,6,13,6,0,0,0,0,0,14,11,16,10,0,0,0,2,14,0,9,15,0,0,0,5,9,0,0,12,3,0,0,8,8,0,0,8,5,0,0,7,11,0,0,8,8,0,0,1,15,7,5,14,4,0,0,0,6,16,16,9,0,0,0 +0,0,0,11,10,5,8,5,0,0,5,14,13,16,13,3,0,0,12,5,1,15,3,0,0,0,7,1,9,9,0,0,0,0,9,16,16,16,6,0,0,0,0,6,12,4,1,0,0,0,0,13,5,0,0,0,0,0,2,13,1,0,0,0,7 +0,0,0,9,10,0,0,0,0,0,2,15,9,0,0,0,0,0,6,16,6,0,0,0,0,0,13,13,5,1,0,0,0,3,16,7,16,8,0,0,1,13,16,10,16,12,0,0,0,13,16,16,16,16,3,0,0,2,4,10,16,2,0,0,4 +0,0,8,13,10,0,0,0,0,1,16,7,14,10,1,0,0,5,12,0,2,16,4,0,0,3,16,10,9,16,4,0,0,0,3,8,8,14,6,0,0,0,0,0,0,12,8,0,0,3,12,3,3,14,6,0,0,1,9,15,16,9,0,0,9 +0,0,0,4,13,4,0,0,0,0,0,9,16,11,0,0,0,5,16,16,16,8,0,0,0,0,4,11,16,9,0,0,0,0,0,4,16,12,0,0,0,0,0,4,16,14,0,0,0,0,0,12,16,16,5,0,0,0,0,3,16,16,4,0,1 +0,0,5,14,9,3,0,0,0,0,14,11,16,15,2,0,0,5,11,0,11,15,4,0,0,7,8,0,0,9,7,0,0,4,9,0,0,8,8,0,0,4,13,0,0,9,5,0,0,2,16,5,7,15,0,0,0,0,7,15,15,6,0,0,0 +0,0,11,13,2,0,0,0,0,5,13,9,14,0,0,0,0,4,8,0,12,8,0,0,0,1,5,0,11,8,0,0,0,0,0,0,12,7,0,0,0,0,0,6,15,1,0,0,0,0,5,16,11,2,0,0,0,0,11,16,16,16,16,1,2 +0,1,10,13,4,0,0,0,0,9,13,8,14,2,0,0,0,5,10,0,14,4,0,0,0,1,2,0,12,7,0,0,0,0,0,0,13,4,0,0,0,0,0,1,15,3,0,0,0,0,6,15,11,4,2,0,0,0,12,16,16,16,15,0,2 +0,1,11,13,16,1,0,0,0,3,16,5,4,4,1,0,0,5,15,3,4,0,0,0,0,4,15,12,13,15,2,0,0,0,0,0,0,10,8,0,0,0,0,0,0,10,8,0,0,2,8,7,5,15,5,0,0,0,8,12,16,12,0,0,5 +0,1,14,13,4,0,0,0,0,6,15,11,15,0,0,0,0,8,14,9,16,4,0,0,0,2,8,11,15,6,0,0,0,0,0,0,7,13,1,0,0,0,0,0,0,11,10,0,0,0,10,4,0,3,15,0,0,0,10,14,16,16,15,0,9 +0,0,0,1,13,9,0,0,0,0,0,7,16,5,0,0,0,0,1,14,12,0,0,0,0,4,14,13,2,13,6,0,0,6,16,16,16,16,9,0,0,0,6,8,13,16,0,0,0,0,0,0,15,11,0,0,0,0,0,2,16,9,0,0,4 +0,0,3,14,8,8,8,0,0,0,2,11,12,15,10,0,0,0,0,0,0,13,4,0,0,1,16,16,16,15,3,0,0,2,8,8,16,16,6,0,0,0,0,8,13,3,1,0,0,0,1,16,7,0,0,0,0,0,5,11,1,0,0,0,7 +0,0,5,16,5,0,0,0,0,0,2,16,13,0,0,0,0,0,11,16,16,2,0,0,0,0,3,12,16,9,0,0,0,0,0,0,14,14,0,0,0,0,0,0,9,16,3,0,0,0,9,12,14,16,8,5,0,0,4,12,13,16,16,15,1 +0,0,4,6,14,6,0,0,0,8,16,15,13,10,0,0,0,3,12,3,2,13,0,0,0,0,11,11,13,11,0,0,0,0,6,16,16,3,0,0,0,0,16,9,6,13,2,0,0,0,9,8,0,3,14,0,0,0,0,6,15,16,16,4,8 +0,0,8,16,16,11,2,0,0,0,5,8,9,16,9,0,0,0,0,0,2,16,5,0,0,0,4,8,12,12,0,0,0,0,11,16,16,16,4,0,0,0,2,14,11,14,5,0,0,0,6,16,2,0,0,0,0,0,10,14,0,0,0,0,7 +0,0,0,4,16,10,0,0,0,0,0,7,16,6,0,0,0,0,0,15,11,1,0,0,0,0,9,15,2,1,0,0,0,11,16,9,5,15,7,0,0,8,16,16,16,16,1,0,0,0,2,8,16,11,0,0,0,0,0,6,16,6,0,0,4 +0,0,7,16,8,0,0,0,0,0,13,16,16,7,0,0,0,4,16,7,11,15,0,0,0,6,12,0,0,14,6,0,0,8,12,0,0,14,8,0,0,7,13,0,6,15,7,0,0,4,16,16,16,16,1,0,0,0,7,14,7,0,0,0,0 +0,0,16,10,0,0,0,0,0,3,16,16,6,0,0,0,0,0,16,12,12,0,0,0,0,0,13,11,14,0,0,0,0,0,1,6,16,0,0,0,0,0,0,10,12,0,0,0,0,0,13,16,16,14,8,0,0,1,13,16,16,15,16,5,2 +0,0,10,14,14,11,1,0,0,4,16,12,5,14,11,0,0,5,14,2,4,13,8,0,0,1,11,11,14,6,0,0,0,0,9,16,5,0,0,0,0,4,13,11,9,0,0,0,0,5,11,2,16,2,0,0,0,0,13,16,16,6,0,0,8 +0,0,7,13,14,1,0,0,0,0,16,10,5,0,0,0,0,1,16,13,8,3,0,0,0,0,12,10,11,15,3,0,0,0,0,0,0,9,8,0,0,0,0,0,0,3,11,0,0,1,7,4,4,11,11,0,0,1,11,14,15,12,2,0,5 +0,0,0,8,14,3,0,0,0,0,1,16,15,7,0,0,0,0,7,15,5,0,0,0,0,3,14,14,5,0,0,0,0,3,16,10,12,10,0,0,0,0,11,5,0,14,2,0,0,0,3,11,6,14,1,0,0,0,0,7,15,6,0,0,6 +0,0,0,4,13,3,0,0,0,0,6,16,13,2,0,0,0,2,16,9,0,0,0,0,0,3,16,10,2,0,0,0,0,2,16,16,16,14,3,0,0,1,13,9,2,8,11,0,0,0,3,15,8,9,16,1,0,0,0,3,11,14,10,0,6 +0,0,10,16,16,12,6,0,0,0,6,9,16,16,15,1,0,0,0,0,3,13,9,0,0,1,12,8,10,16,2,0,0,1,15,16,16,16,8,0,0,0,1,13,11,10,4,0,0,0,3,16,2,0,0,0,0,0,9,14,0,0,0,0,7 +0,0,8,15,14,1,0,0,0,0,15,15,7,0,0,0,0,0,14,15,9,2,0,0,0,0,10,15,14,14,3,0,0,0,1,1,0,11,12,0,0,0,0,0,0,3,16,1,0,2,14,6,4,7,16,3,0,0,9,16,16,16,13,1,5 +0,0,0,1,14,10,0,0,0,0,0,2,16,9,0,0,0,0,1,11,14,3,0,0,0,1,10,16,6,9,6,0,0,10,16,15,13,16,9,0,0,5,11,12,16,15,1,0,0,0,0,0,16,12,0,0,0,0,0,0,16,11,0,0,4 +0,4,15,16,4,0,0,0,0,8,16,11,15,0,0,0,0,6,14,4,16,4,0,0,0,0,2,4,16,3,0,0,0,0,0,11,15,0,0,0,0,0,9,16,4,0,0,0,0,10,16,16,16,13,3,0,0,5,14,12,13,16,12,0,2 +0,0,0,12,11,0,0,0,0,0,11,16,10,0,0,0,0,0,16,13,0,0,0,0,0,3,16,3,0,0,0,0,0,2,16,16,11,1,0,0,0,0,14,11,3,10,0,0,0,0,5,14,2,9,6,0,0,0,0,7,16,16,6,0,6 +0,0,8,13,8,0,0,0,0,4,13,6,14,3,0,0,0,7,8,0,12,5,0,0,0,3,10,8,16,1,0,0,0,0,0,5,14,12,0,0,0,0,0,0,0,13,8,0,0,0,10,10,0,6,12,0,0,0,4,15,16,16,6,0,3 +0,0,12,16,16,16,3,0,0,0,6,9,12,16,7,0,0,0,0,0,8,15,3,0,0,3,15,16,16,7,0,0,0,1,8,16,16,15,2,0,0,0,3,16,10,14,6,0,0,0,11,16,0,0,0,0,0,0,12,11,0,0,0,0,7 +0,0,5,12,10,0,0,0,0,2,15,14,16,1,0,0,0,0,11,3,16,1,0,0,0,0,0,0,11,5,0,0,0,0,0,0,7,14,0,0,0,0,0,0,0,9,10,0,0,0,10,7,5,12,12,0,0,0,6,14,16,13,4,0,3 +0,0,5,11,12,9,0,0,0,0,12,14,5,16,0,0,0,1,16,5,6,11,0,0,0,0,16,8,15,3,0,0,0,0,9,16,9,0,0,0,0,1,11,4,13,4,0,0,0,3,13,2,4,14,0,0,0,0,5,8,11,11,0,0,8 +0,0,1,7,12,7,0,0,0,0,6,16,10,5,0,0,0,0,14,16,14,4,0,0,0,0,3,4,6,13,0,0,0,0,0,0,0,11,6,0,0,0,0,0,0,7,9,0,0,0,10,5,2,8,11,0,0,0,4,14,16,16,4,0,5 +0,0,9,16,15,1,0,0,0,0,3,8,16,5,0,0,0,0,0,0,14,7,0,0,0,2,11,9,16,3,0,0,0,11,16,16,16,12,1,0,0,0,0,13,15,16,5,0,0,0,5,16,2,0,0,0,0,0,10,10,0,0,0,0,7 +0,0,11,16,7,0,0,0,0,4,15,8,16,9,0,0,0,8,10,0,9,12,0,0,0,4,15,11,13,13,0,0,0,0,0,7,6,16,0,0,0,0,0,0,0,13,2,0,0,0,7,7,2,12,4,0,0,0,6,13,16,16,6,0,9 +0,0,0,12,8,0,0,0,0,0,0,16,8,0,0,0,0,0,10,16,3,0,0,0,0,7,16,12,12,4,0,0,0,8,16,16,16,16,9,0,0,1,9,15,16,10,6,0,0,0,0,12,13,0,0,0,0,0,0,14,12,0,0,0,4 +0,0,11,16,16,4,0,0,0,0,12,16,12,3,0,0,0,2,16,16,15,4,0,0,0,0,5,8,11,15,3,0,0,0,0,0,0,10,12,0,0,0,3,1,0,3,16,0,0,0,16,12,8,11,16,1,0,0,8,14,16,16,11,0,5 +0,0,4,10,15,4,0,0,0,0,8,13,6,1,0,0,0,1,15,14,10,1,0,0,0,0,11,8,10,12,1,0,0,0,0,0,0,10,6,0,0,0,0,0,0,2,14,0,0,0,6,7,3,3,15,2,0,0,4,13,16,16,15,1,5 +0,0,9,16,16,16,7,0,0,0,4,8,8,14,14,0,0,0,0,0,2,15,6,0,0,0,10,12,14,14,0,0,0,0,8,16,16,16,6,0,0,0,0,15,9,13,4,0,0,0,7,16,1,0,0,0,0,0,11,10,0,0,0,0,7 +0,2,12,15,11,3,0,0,0,10,13,5,13,13,0,0,0,2,2,0,12,14,0,0,0,0,0,7,15,3,0,0,0,0,0,5,15,3,0,0,0,0,0,0,8,15,1,0,0,0,8,5,4,12,10,0,0,0,14,16,16,16,5,0,3 +0,0,5,13,6,1,0,0,0,0,8,16,16,15,2,0,0,0,3,13,1,13,8,0,0,0,2,14,15,14,2,0,0,2,14,15,15,3,0,0,0,7,11,0,6,10,0,0,0,5,11,1,1,16,0,0,0,0,8,13,16,13,1,0,8 +0,0,0,1,15,6,0,0,0,0,0,6,15,2,0,0,0,0,1,16,9,0,0,0,0,1,11,14,2,9,7,0,0,12,16,14,15,16,9,0,0,9,12,12,14,14,2,0,0,0,0,0,14,15,0,0,0,0,0,0,16,14,0,0,4 +0,0,2,10,16,12,0,0,0,2,15,13,9,16,2,0,0,1,9,0,8,14,1,0,0,0,0,4,16,10,0,0,0,0,0,1,10,16,3,0,0,0,2,0,0,14,7,0,0,0,9,12,11,16,3,0,0,0,1,11,14,6,0,0,3 +0,0,0,10,5,0,0,0,0,0,0,15,5,0,0,0,0,0,10,12,1,14,1,0,0,5,16,4,8,15,0,0,0,7,16,16,16,16,5,0,0,0,3,5,15,8,1,0,0,0,0,9,12,0,0,0,0,0,0,12,8,0,0,0,4 +0,0,1,11,3,0,0,0,0,0,13,15,13,0,0,0,0,3,16,2,8,5,0,0,0,6,16,14,15,14,2,0,0,2,14,16,16,16,5,0,0,0,1,4,3,9,6,0,0,0,4,6,10,16,5,0,0,0,1,11,10,4,0,0,9 +0,0,0,3,11,0,0,0,0,0,0,11,7,0,0,0,0,0,4,14,2,5,0,0,0,0,12,9,7,11,0,0,0,7,16,12,14,10,1,0,0,3,10,13,16,16,8,0,0,0,0,5,14,0,0,0,0,0,0,7,10,0,0,0,4 +0,0,0,3,9,0,0,0,0,0,0,9,11,0,0,0,0,0,0,15,5,0,2,0,0,0,11,12,0,14,8,0,0,3,16,12,11,16,8,0,0,7,12,12,15,16,4,0,0,0,0,0,12,7,0,0,0,0,0,5,13,2,0,0,4 +0,1,13,16,14,1,0,0,0,14,15,8,14,10,0,0,0,5,5,0,13,10,0,0,0,0,0,12,16,8,0,0,0,0,4,16,16,16,5,0,0,0,0,3,0,16,10,0,0,0,3,4,10,16,8,0,0,0,11,16,16,8,0,0,3 +0,0,3,14,14,2,0,0,0,4,16,16,16,7,0,0,0,4,16,8,3,15,1,0,0,3,16,6,0,14,5,0,0,1,16,5,0,13,7,0,0,0,15,4,1,16,9,0,0,0,11,13,13,16,4,0,0,0,2,15,15,8,0,0,0 +0,0,4,12,14,2,0,0,0,4,15,10,10,10,0,0,0,9,16,0,5,12,0,0,0,5,16,9,14,16,4,0,0,0,7,8,7,15,6,0,0,0,0,0,0,10,12,0,0,0,1,4,4,14,12,0,0,0,3,13,16,11,4,0,9 +0,0,8,16,12,0,0,0,0,4,16,9,8,9,0,0,0,6,16,3,1,16,0,0,0,0,14,16,16,11,0,0,0,0,3,16,16,14,0,0,0,0,9,16,3,14,2,0,0,0,10,15,7,16,2,0,0,0,5,16,15,7,0,0,8 +0,0,2,11,9,0,0,0,0,0,12,7,8,8,0,0,0,6,16,3,9,11,0,0,0,1,13,16,16,14,2,0,0,0,4,16,8,10,5,0,0,0,8,11,0,4,6,0,0,0,10,9,0,8,5,0,0,0,3,11,12,6,0,0,8 +0,0,0,9,10,0,0,0,0,0,2,16,16,3,0,0,0,0,13,16,9,0,0,0,0,1,15,13,0,0,0,0,0,2,16,13,11,12,4,0,0,1,15,16,16,16,15,1,0,0,8,16,16,16,16,4,0,0,0,7,12,13,14,3,6 +0,0,11,12,0,0,0,0,0,4,16,15,3,0,0,0,0,2,11,9,6,0,0,0,0,0,2,10,5,0,0,0,0,0,0,14,3,0,0,0,0,0,3,16,0,0,0,0,0,0,12,16,12,15,14,0,0,0,10,16,14,10,10,1,2 +0,0,4,13,10,3,0,0,0,0,16,15,13,13,0,0,0,1,16,9,8,15,0,0,0,2,16,15,15,16,1,0,0,0,7,12,12,16,6,0,0,0,0,0,0,14,10,0,0,0,3,2,1,14,11,0,0,0,5,13,14,12,2,0,9 +0,0,8,12,16,9,1,0,0,0,14,11,7,16,4,0,0,0,0,0,4,16,2,0,0,0,0,4,14,16,3,0,0,0,0,8,14,15,8,0,0,0,0,0,0,9,11,0,0,3,12,4,6,14,7,0,0,1,9,16,16,11,0,0,3 +0,0,4,13,13,0,0,0,0,0,12,14,12,7,0,0,0,0,12,12,5,14,0,0,0,0,12,10,0,12,3,0,0,4,16,5,0,8,8,0,0,4,16,2,0,9,8,0,0,3,14,9,4,15,5,0,0,0,4,13,14,10,0,0,0 +0,0,4,14,12,1,0,0,0,0,11,11,10,5,0,0,0,0,0,0,12,9,0,0,0,0,0,7,16,12,2,0,0,0,0,0,4,10,10,0,0,0,1,1,0,3,14,0,0,0,11,6,3,12,13,0,0,0,6,14,16,11,1,0,3 +0,0,3,16,14,4,0,0,0,0,10,16,16,15,0,0,0,2,16,12,5,14,2,0,0,5,16,4,0,10,6,0,0,6,16,1,0,7,9,0,0,3,16,3,0,9,12,0,0,0,13,14,13,16,9,0,0,0,3,13,16,12,2,0,0 +0,0,6,13,13,3,0,0,0,2,16,16,16,11,0,0,0,3,16,15,6,16,4,0,0,3,16,9,0,16,8,0,0,8,16,3,1,16,6,0,0,7,16,2,8,16,3,0,0,1,14,16,16,13,0,0,0,0,4,13,12,2,0,0,0 +0,0,5,14,7,0,0,0,0,2,16,16,16,3,0,0,0,1,16,8,13,9,0,0,0,0,6,3,16,7,0,0,0,0,0,0,16,7,0,0,0,0,0,11,15,0,0,0,0,0,9,16,14,8,10,0,0,0,6,15,12,16,16,7,2 +0,0,5,9,13,12,0,0,0,10,16,15,12,16,2,0,0,8,7,0,11,14,0,0,0,0,0,2,16,14,1,0,0,0,0,1,11,16,7,0,0,0,0,0,0,8,12,0,0,0,14,10,10,16,8,0,0,0,6,15,16,10,1,0,3 +0,0,11,12,7,0,0,0,0,3,16,14,16,3,0,0,0,6,16,6,16,6,0,0,0,2,15,16,16,14,0,0,0,0,4,9,8,15,6,0,0,0,0,0,0,11,11,0,0,0,2,4,9,16,7,0,0,0,10,16,13,8,1,0,9 +0,0,0,0,10,7,0,0,0,0,0,2,16,13,0,0,0,0,3,16,16,9,0,0,0,8,16,16,16,10,0,0,0,1,3,3,16,11,0,0,0,0,0,1,16,13,0,0,0,0,0,0,16,16,3,0,0,0,0,0,8,16,10,0,1 +0,0,3,13,14,3,0,0,0,0,15,16,16,12,0,0,0,4,16,8,6,16,0,0,0,5,16,7,1,15,3,0,0,8,16,6,0,16,5,0,0,4,16,7,0,15,6,0,0,3,15,14,12,16,4,0,0,0,3,15,15,8,0,0,0 +0,0,4,13,8,0,0,0,0,0,14,16,16,5,0,0,0,4,16,7,8,15,0,0,0,0,15,12,15,16,4,0,0,0,5,14,14,16,6,0,0,0,0,0,0,13,8,0,0,0,0,0,0,10,13,0,0,0,5,14,16,15,8,0,9 +0,0,0,11,14,2,0,0,0,0,5,16,16,11,0,0,0,2,16,10,6,14,0,0,0,2,16,10,2,14,2,0,0,3,16,10,0,9,8,0,0,3,16,4,0,11,11,0,0,0,12,13,9,16,8,0,0,0,1,11,15,9,2,0,0 +0,0,6,16,6,0,0,0,0,4,16,13,16,2,0,0,0,8,15,1,15,5,0,0,0,5,16,16,16,16,6,0,0,0,14,16,14,13,8,0,0,0,9,16,3,14,8,0,0,0,12,14,11,15,2,0,0,0,4,10,14,7,0,0,8 +0,0,8,16,14,6,0,0,0,5,16,13,12,14,0,0,0,6,16,12,4,0,0,0,0,9,16,16,15,3,0,0,0,0,6,5,14,10,0,0,0,0,0,0,12,14,0,0,0,0,15,9,16,14,0,0,0,0,6,15,15,6,0,0,5 +0,0,8,16,8,0,0,0,0,2,16,16,15,5,0,0,0,2,16,5,12,10,0,0,0,0,8,1,11,10,0,0,0,0,0,4,16,4,0,0,0,0,0,13,15,5,3,0,0,0,10,16,16,16,16,0,0,0,10,14,9,8,11,2,2 +0,0,0,2,11,0,0,0,0,0,0,11,8,0,0,0,0,0,1,16,3,9,0,0,0,0,11,11,2,16,0,0,0,4,16,10,12,15,5,0,0,3,11,12,15,13,3,0,0,0,0,0,14,4,0,0,0,0,0,2,16,2,0,0,4 +0,0,2,15,14,4,0,0,0,0,8,16,16,11,0,0,0,0,7,16,16,10,0,0,0,0,7,16,16,9,0,0,0,0,10,16,16,6,0,0,0,0,10,16,16,8,0,0,0,0,13,16,16,13,0,0,0,0,2,11,15,7,0,0,1 +0,0,6,11,12,3,0,0,0,0,9,16,16,13,0,0,0,0,5,16,16,9,0,0,0,0,5,16,16,7,0,0,0,0,7,16,16,6,0,0,0,0,8,16,16,6,0,0,0,0,9,16,16,6,0,0,0,0,5,12,11,3,0,0,1 +0,0,0,11,12,2,0,0,0,0,6,16,16,10,0,0,0,0,12,14,6,16,1,0,0,2,16,12,0,14,4,0,0,3,16,9,0,14,6,0,0,0,16,8,1,16,5,0,0,0,9,14,12,16,2,0,0,0,1,11,16,6,0,0,0 +0,0,5,15,13,2,0,0,0,0,14,13,9,13,0,0,0,0,10,0,0,10,2,0,0,0,0,0,0,11,3,0,0,0,0,0,2,15,0,0,0,0,0,1,12,9,0,0,0,0,10,12,16,14,2,0,0,0,5,14,12,11,4,0,2 +0,0,13,13,13,8,0,0,0,0,7,8,16,5,0,0,0,0,0,2,16,1,0,0,0,1,3,9,14,5,8,0,0,10,16,16,16,15,6,0,0,3,11,15,3,0,0,0,0,0,10,9,0,0,0,0,0,0,13,4,0,0,0,0,7 +0,0,12,16,16,6,0,0,0,9,16,9,12,15,0,0,0,8,10,0,3,16,4,0,0,0,0,0,6,16,0,0,0,0,0,1,14,11,0,0,0,0,1,10,14,3,0,0,0,2,16,16,9,4,4,0,0,1,10,16,16,16,16,2,2 +0,0,2,13,15,2,0,0,0,0,11,16,13,10,0,0,0,0,14,9,8,12,0,0,0,0,8,14,16,10,0,0,0,0,5,16,13,1,0,0,0,0,9,15,14,2,0,0,0,0,7,14,14,6,0,0,0,0,1,13,16,2,0,0,8 +0,1,13,16,16,6,0,0,0,10,16,11,11,13,0,0,0,5,12,0,4,16,2,0,0,0,0,0,6,16,1,0,0,0,0,0,9,14,0,0,0,0,0,4,16,5,0,0,0,0,6,16,15,9,8,3,0,0,12,16,16,14,13,6,2 +0,0,0,8,11,0,0,0,0,0,7,16,11,9,0,0,0,0,14,15,4,10,2,0,0,1,16,5,0,6,6,0,0,3,12,0,3,8,9,0,0,3,13,0,0,13,8,0,0,0,11,5,6,15,3,0,0,0,1,11,13,9,0,0,0 +0,0,9,14,16,9,1,0,0,4,15,7,2,14,4,0,0,0,1,1,8,14,0,0,0,0,0,2,16,6,0,0,0,0,0,0,2,14,0,0,0,0,0,0,0,6,10,0,0,3,9,4,4,10,10,0,0,1,10,13,12,9,0,0,3 +0,0,10,16,16,12,0,0,0,0,6,16,9,7,0,0,0,0,7,16,4,0,0,0,0,0,11,16,16,10,1,0,0,0,3,8,6,13,11,0,0,0,0,0,0,7,16,0,0,0,0,0,3,15,15,0,0,0,10,16,16,13,2,0,5 +0,0,12,12,14,13,1,0,0,2,16,16,11,10,1,0,0,6,16,5,0,0,0,0,0,8,16,15,8,0,0,0,0,3,14,9,16,3,0,0,0,0,0,0,14,8,0,0,0,1,7,4,14,11,0,0,0,0,13,16,16,8,0,0,5 +0,1,10,16,16,14,0,0,0,10,16,10,6,4,0,0,0,7,14,3,0,0,0,0,0,9,16,16,11,1,0,0,0,5,11,4,13,5,0,0,0,0,0,0,9,8,0,0,0,0,1,3,15,4,0,0,0,0,14,14,10,0,0,0,5 +0,1,13,16,16,4,0,0,0,2,15,9,12,12,0,0,0,0,0,5,15,9,0,0,0,0,0,16,16,14,3,0,0,0,0,4,4,11,12,0,0,3,6,0,0,5,16,0,0,7,14,4,8,15,10,0,0,0,13,16,16,11,1,0,3 +0,0,0,6,13,0,0,0,0,0,1,13,9,0,0,0,0,0,4,16,4,0,0,0,0,0,8,14,0,0,0,0,0,0,13,15,12,8,0,0,0,0,12,14,5,10,12,0,0,0,8,13,4,4,15,2,0,0,0,5,12,14,7,0,6 +0,0,7,13,14,4,0,0,0,8,15,7,8,16,0,0,0,12,12,0,2,16,4,0,0,3,13,16,16,16,2,0,0,0,0,0,0,11,9,0,0,0,0,0,0,6,12,0,0,0,5,0,0,10,12,0,0,0,8,12,14,10,2,0,9 +0,0,3,15,15,3,0,0,0,0,11,14,7,13,0,0,0,0,11,11,12,16,0,0,0,0,3,16,16,16,0,0,0,0,6,16,14,1,0,0,0,0,16,10,15,1,0,0,0,0,14,6,14,3,0,0,0,0,4,15,16,4,0,0,8 +0,0,0,10,15,0,0,0,0,0,8,15,5,7,11,0,0,2,16,6,0,13,11,0,0,10,16,3,6,16,3,0,0,4,16,16,16,16,8,0,0,0,4,12,16,3,0,0,0,0,0,10,15,0,0,0,0,0,0,12,10,0,0,0,4 +0,0,3,16,10,0,0,0,0,1,10,16,16,1,0,0,0,10,16,16,15,0,0,0,0,3,11,16,16,0,0,0,0,0,0,14,16,3,0,0,0,0,0,14,16,3,0,0,0,0,1,16,16,5,0,0,0,0,1,14,13,0,0,0,1 +0,0,5,14,14,6,0,0,0,0,11,5,2,12,0,0,0,0,11,1,8,11,0,0,0,0,7,13,16,6,0,0,0,0,3,16,8,0,0,0,0,0,11,10,12,1,0,0,0,0,14,2,4,12,0,0,0,0,5,15,16,12,0,0,8 +0,0,1,15,13,1,0,0,0,0,8,16,16,8,0,0,3,13,16,16,16,6,0,0,0,9,8,9,16,6,0,0,0,0,0,10,16,1,0,0,0,0,0,12,16,0,0,0,0,0,0,16,14,1,0,0,0,0,0,12,16,1,0,0,1 +0,0,6,16,16,8,0,0,0,1,16,11,8,15,0,0,0,0,15,10,14,14,0,0,0,0,8,16,16,3,0,0,0,0,10,16,10,0,0,0,0,3,16,7,15,2,0,0,0,1,16,6,12,7,0,0,0,0,5,16,15,5,0,0,8 +0,0,4,13,13,2,0,0,0,2,15,7,4,7,0,0,0,6,12,0,5,9,0,0,0,3,11,3,7,14,1,0,0,0,6,15,16,14,4,0,0,0,0,0,0,4,11,0,0,0,0,0,0,4,15,0,0,0,3,13,16,16,8,0,9 +0,1,16,16,15,5,0,0,0,1,16,13,9,15,3,0,0,3,16,0,5,16,5,0,0,0,12,16,16,16,6,0,0,0,1,4,4,12,5,0,0,0,0,0,0,12,9,0,0,0,1,0,2,14,7,0,0,0,12,16,16,15,3,0,9 +0,0,1,15,13,0,0,0,0,0,3,16,16,2,0,0,0,1,12,16,12,0,0,0,0,8,16,16,8,0,0,0,0,2,12,16,6,0,0,0,0,0,7,16,7,0,0,0,0,0,4,16,8,0,0,0,0,0,1,14,9,0,0,0,1 +0,0,7,15,15,9,1,0,0,7,15,5,4,14,4,0,0,2,2,0,7,13,1,0,0,0,2,12,15,5,0,0,0,0,1,5,10,13,0,0,0,0,0,0,0,10,7,0,0,0,11,1,1,12,7,0,0,0,8,14,13,8,0,0,3 +0,2,7,12,16,15,1,0,1,15,16,13,10,6,1,0,0,5,16,6,0,0,0,0,0,6,16,16,8,0,0,0,0,5,15,5,14,7,0,0,0,0,2,0,8,14,0,0,0,0,5,2,12,13,0,0,0,0,8,16,15,4,0,0,5 +0,0,3,16,3,0,0,0,0,0,11,13,1,1,0,0,0,6,14,2,9,12,0,0,0,9,12,0,14,5,1,0,0,7,16,12,16,16,11,0,0,0,6,11,15,5,1,0,0,0,0,11,10,0,0,0,0,0,3,16,4,0,0,0,4 +0,0,0,6,16,10,0,0,0,0,3,15,15,4,0,0,0,0,5,16,8,0,0,0,0,0,10,16,4,0,0,0,0,0,10,16,8,1,0,0,0,1,15,16,16,15,2,0,0,1,13,16,15,16,7,0,0,0,0,5,15,15,5,0,6 +0,0,3,14,15,5,0,0,0,0,11,14,5,11,2,0,0,0,14,7,0,7,4,0,0,1,16,2,0,3,7,0,0,4,13,0,0,5,8,0,0,2,12,0,0,11,7,0,0,0,14,8,13,14,0,0,0,0,3,12,10,3,0,0,0 +0,0,12,16,16,10,0,0,0,0,13,13,8,16,5,0,0,0,0,0,0,16,8,0,0,0,1,8,13,15,2,0,0,0,7,16,16,15,3,0,0,0,0,3,4,11,15,0,0,1,11,0,2,13,15,0,0,1,13,16,16,14,6,0,3 +0,0,9,16,11,2,0,0,0,9,16,8,13,8,0,0,0,8,6,0,0,12,0,0,0,0,0,0,8,10,0,0,0,0,0,0,14,6,0,0,0,0,0,8,11,0,0,0,0,0,8,16,6,4,4,0,0,0,12,15,15,16,13,0,2 +0,2,15,16,16,16,11,0,0,1,8,8,9,16,9,0,0,0,0,0,8,12,0,0,0,1,4,4,15,9,0,0,0,11,16,16,16,15,2,0,0,2,5,16,5,0,0,0,0,0,11,12,0,0,0,0,0,3,16,5,0,0,0,0,7 +0,0,2,16,15,4,0,0,0,0,10,15,11,11,0,0,0,0,10,12,15,10,0,0,0,0,7,16,14,2,0,0,0,0,12,16,7,0,0,0,0,0,14,7,15,1,0,0,0,0,11,7,13,7,0,0,0,0,2,14,15,7,0,0,8 +0,0,7,16,16,12,2,0,0,0,12,16,13,14,7,0,0,2,16,11,0,0,0,0,0,5,16,16,11,0,0,0,0,11,16,11,16,3,0,0,0,1,2,0,13,8,0,0,0,0,2,4,13,8,0,0,0,0,8,16,16,4,0,0,5 +0,0,8,14,12,8,6,0,0,0,12,11,6,8,8,0,0,0,14,5,4,1,0,0,0,4,16,14,12,14,1,0,0,5,7,0,0,9,7,0,0,0,0,0,0,10,4,0,0,0,5,2,4,13,1,0,0,0,8,16,14,1,0,0,5 +0,0,0,0,14,4,0,0,0,0,0,5,15,1,0,0,0,0,0,14,8,0,2,0,0,0,8,14,2,7,13,0,0,3,15,5,0,13,7,0,0,12,15,8,10,16,2,0,1,9,12,12,15,15,1,0,0,0,0,0,15,4,0,0,4 +0,0,1,12,6,0,0,0,0,0,10,13,1,0,0,0,0,0,16,1,0,0,0,0,0,2,12,0,0,0,0,0,0,4,15,14,16,15,4,0,0,3,16,4,0,2,13,0,0,0,11,7,0,4,15,0,0,0,0,10,16,14,5,0,6 +0,3,13,16,14,2,0,0,0,14,11,3,16,8,0,0,0,7,3,7,16,8,0,0,0,0,5,16,16,16,5,0,0,0,2,10,6,11,12,0,0,0,0,0,0,11,13,0,0,1,10,1,4,15,9,0,0,2,15,16,16,11,0,0,3 +0,0,10,13,9,0,0,0,0,5,11,1,11,5,0,0,0,6,7,0,6,14,0,0,0,2,14,8,9,16,1,0,0,0,2,8,5,13,4,0,0,0,0,0,0,7,9,0,0,0,3,2,0,5,11,0,0,0,8,15,13,14,3,0,9 +0,3,16,15,3,0,0,0,0,8,14,12,11,0,0,0,0,3,11,2,16,3,0,0,0,0,0,2,16,2,0,0,0,0,0,5,16,0,0,0,0,0,0,10,12,0,0,0,0,0,11,16,13,13,10,1,0,2,14,16,15,12,12,1,2 +0,0,12,16,16,16,14,0,0,0,5,8,8,15,10,0,0,0,0,0,5,15,1,0,0,0,2,8,14,16,9,0,0,0,13,16,15,12,7,0,0,0,1,14,6,0,0,0,0,0,4,14,0,0,0,0,0,0,12,9,0,0,0,0,7 +0,0,12,12,12,5,0,0,0,0,4,16,16,8,0,0,0,0,2,16,16,9,0,0,0,0,4,16,16,9,0,0,0,0,4,16,16,4,0,0,0,0,5,16,16,3,0,0,0,0,9,16,16,0,0,0,0,0,11,12,12,4,0,0,1 +0,3,15,15,3,0,0,0,0,8,15,14,14,0,0,0,0,4,9,2,16,5,0,0,0,0,0,2,16,5,0,0,0,0,0,7,15,1,0,0,0,0,0,14,9,0,0,0,0,1,11,16,10,8,4,0,0,5,16,16,16,16,11,0,2 +0,0,10,13,16,10,0,0,0,0,15,9,2,2,0,0,0,4,16,16,14,4,0,0,0,0,3,1,4,16,3,0,0,0,0,0,0,12,7,0,0,0,0,0,0,12,7,0,0,5,8,0,4,15,1,0,0,1,11,14,15,2,0,0,5 +0,0,1,14,2,0,0,0,0,0,5,14,0,0,0,0,0,0,8,10,0,0,0,0,0,0,12,6,0,0,0,0,0,0,16,9,12,9,2,0,0,0,16,13,8,10,13,0,0,0,11,12,0,4,15,0,0,0,0,13,16,16,9,0,6 +0,0,10,14,15,12,5,0,0,0,14,4,2,2,0,0,0,3,14,10,10,5,0,0,0,6,15,10,6,15,2,0,0,1,0,0,0,8,8,0,0,0,0,0,0,6,8,0,0,0,11,2,3,12,3,0,0,0,10,16,15,5,0,0,5 +0,0,6,12,16,10,0,0,0,0,0,12,16,16,1,0,0,0,0,9,16,16,4,0,0,0,0,13,16,16,3,0,0,0,0,14,16,14,0,0,0,0,0,14,16,10,0,0,0,0,2,16,16,13,0,0,0,0,7,16,15,2,0,0,1 +0,0,4,15,16,16,16,14,0,0,6,12,12,13,16,8,0,0,0,0,0,8,14,1,0,0,0,6,8,16,4,0,0,0,2,16,16,13,2,0,0,0,0,7,14,1,0,0,0,0,2,14,6,0,0,0,0,0,8,13,1,0,0,0,7 +0,0,13,16,16,6,0,0,0,6,16,6,10,16,0,0,0,1,7,5,14,8,0,0,0,0,1,15,16,13,1,0,0,0,0,3,4,13,10,0,0,0,0,0,0,9,11,0,0,2,14,5,6,16,4,0,0,1,15,16,16,10,0,0,3 +0,0,3,14,4,0,0,0,0,0,12,15,12,4,0,0,0,3,15,5,2,12,0,0,0,5,9,0,0,8,5,0,0,8,8,0,0,4,8,0,0,4,12,0,0,2,12,0,0,0,14,5,0,9,8,0,0,0,3,15,16,13,1,0,0 +0,0,13,16,16,10,0,0,0,1,11,6,9,16,6,0,0,0,0,5,10,16,5,0,0,0,2,15,16,15,0,0,0,0,0,0,5,15,7,0,0,0,0,0,0,13,8,0,0,1,13,10,6,14,7,0,0,1,11,16,16,12,0,0,3 +0,0,0,14,4,0,0,0,0,0,7,15,1,0,0,0,0,0,11,11,0,0,0,0,0,0,13,6,0,0,0,0,0,0,16,8,8,5,0,0,0,0,15,15,9,11,12,0,0,0,9,15,0,0,15,4,0,0,1,11,13,12,12,1,6 +0,0,3,12,7,2,0,0,0,0,9,16,16,8,0,0,0,0,7,16,16,10,0,0,0,0,6,16,16,12,0,0,0,0,6,16,16,11,0,0,0,0,4,16,16,10,0,0,0,0,8,16,16,12,0,0,0,0,3,11,12,6,0,0,1 +0,0,13,16,5,0,0,0,0,0,16,12,15,0,0,0,0,0,3,3,12,4,0,0,0,0,0,0,12,6,0,0,0,0,0,0,14,7,0,0,0,0,0,2,16,5,0,0,0,0,5,14,16,9,4,0,0,0,15,16,13,12,16,2,2 +0,5,16,16,15,2,0,0,0,11,13,8,11,15,0,0,0,1,1,0,7,16,0,0,0,0,0,11,16,14,1,0,0,0,0,12,12,15,11,0,0,0,0,0,0,8,12,0,0,5,11,4,3,12,11,0,0,4,14,16,16,16,4,0,3 +0,0,8,16,13,13,16,8,0,0,7,12,12,10,16,4,0,0,0,0,0,11,8,0,0,0,0,2,6,15,1,0,0,0,9,16,16,16,6,0,0,0,5,14,13,2,0,0,0,0,4,16,5,0,0,0,0,0,12,11,0,0,0,0,7 +0,0,0,1,14,10,0,0,0,0,0,9,15,2,0,0,0,0,1,14,5,0,2,0,0,0,11,9,0,8,14,0,0,7,14,0,0,14,10,0,4,16,15,11,9,16,4,0,1,12,14,16,16,12,0,0,0,0,0,0,14,6,0,0,4 +0,0,7,16,15,2,0,0,0,7,15,7,12,10,0,0,0,8,6,0,10,12,0,0,0,0,0,6,16,12,1,0,0,0,0,5,12,15,10,0,0,0,0,0,0,8,12,0,0,0,6,9,4,13,10,0,0,0,5,16,16,13,1,0,3 +0,0,10,14,15,10,2,0,0,2,15,5,4,16,8,0,0,0,13,0,8,13,1,0,0,3,15,12,14,2,0,0,0,1,12,14,13,1,0,0,0,6,11,0,9,12,0,0,0,7,11,0,1,16,3,0,0,1,10,13,14,12,0,0,8 +0,0,13,16,15,2,0,0,0,5,16,7,11,13,0,0,0,8,16,2,1,14,6,0,0,8,15,0,0,8,11,0,0,10,12,0,0,4,12,0,0,11,12,0,0,7,12,0,0,7,15,4,5,15,8,0,0,0,13,16,16,10,0,0,0 +0,0,4,13,14,3,0,0,0,0,14,7,4,14,0,0,0,3,10,0,0,8,3,0,0,8,4,0,0,4,8,0,0,5,12,0,0,2,8,0,0,0,15,1,0,4,7,0,0,0,10,8,1,12,6,0,0,0,2,12,16,15,0,0,0 +0,0,5,11,16,12,2,0,0,0,15,7,4,13,4,0,0,1,14,1,4,16,2,0,0,1,7,8,14,5,0,0,0,5,16,16,7,0,0,0,0,0,14,6,14,6,0,0,0,0,11,6,5,16,0,0,0,0,5,15,14,8,0,0,8 +0,0,0,0,11,12,0,0,0,0,0,2,15,8,0,0,0,0,0,9,15,3,0,0,0,0,5,15,4,15,5,0,0,0,13,10,0,16,4,0,0,10,15,4,10,16,3,0,0,15,16,16,16,15,3,0,0,0,1,0,11,12,0,0,4 +0,0,1,13,3,0,0,0,0,0,11,13,0,0,0,0,0,0,14,5,0,0,0,0,0,0,16,0,0,0,0,0,0,2,16,16,16,15,4,0,0,1,16,10,4,8,13,0,0,0,10,13,1,5,14,0,0,0,0,13,16,16,8,0,6 +0,0,5,13,12,9,0,0,0,2,14,4,1,16,4,0,0,7,10,0,3,16,1,0,0,5,14,8,15,6,0,0,0,0,6,16,13,0,0,0,0,0,11,8,13,5,0,0,0,0,13,1,1,15,0,0,0,0,6,14,14,10,0,0,8 +0,0,3,11,13,14,16,8,0,0,11,14,12,12,16,3,0,0,0,0,1,15,8,0,0,0,0,2,9,15,1,0,0,0,2,15,16,16,8,0,0,0,1,12,14,0,0,0,0,0,0,12,9,0,0,0,0,0,4,15,2,0,0,0,7 +0,0,7,15,6,0,0,0,0,0,14,14,13,0,0,0,0,0,3,4,13,0,0,0,0,0,0,8,9,0,0,0,0,0,0,12,5,0,0,0,0,0,3,16,1,0,0,0,0,0,11,14,10,12,11,2,0,0,7,15,11,8,9,3,2 +0,0,8,15,16,12,0,0,0,12,16,14,12,6,0,0,0,10,16,5,0,0,0,0,0,6,16,5,0,0,0,0,0,0,8,16,8,0,0,0,0,0,0,6,16,10,0,0,0,0,6,8,15,12,0,0,0,0,7,14,8,0,0,0,5 +0,0,9,12,10,5,0,0,0,5,16,16,16,13,0,0,0,1,16,16,16,16,0,0,0,0,8,16,16,16,3,0,0,0,4,16,16,16,4,0,0,0,2,16,16,16,1,0,0,0,9,16,16,16,1,0,0,0,5,12,12,5,0,0,1 +0,0,6,13,16,15,2,0,0,0,14,14,12,16,9,0,0,0,3,1,7,16,10,0,0,0,1,15,16,16,13,0,0,0,1,7,15,14,1,0,0,0,0,4,16,10,0,0,0,0,0,12,13,1,0,0,0,0,7,16,3,0,0,0,7 +0,0,7,14,3,0,0,0,0,3,16,16,12,0,0,0,0,10,15,10,16,16,2,0,0,8,16,16,16,10,2,0,0,4,16,15,2,0,0,0,0,4,16,16,4,0,0,0,0,3,16,16,15,0,0,0,0,0,9,16,15,0,0,0,8 +0,0,0,0,11,12,0,0,0,0,0,8,16,4,0,0,0,0,2,16,12,1,0,0,0,4,15,16,13,14,11,0,0,13,16,16,16,16,10,0,0,0,0,0,10,16,6,0,0,0,0,0,11,16,2,0,0,0,0,0,14,13,0,0,4 +0,0,2,9,15,11,0,0,0,3,15,16,16,16,0,0,0,3,13,3,9,16,2,0,0,0,0,6,14,16,13,0,0,0,5,16,16,13,2,0,0,0,5,11,16,4,0,0,0,0,0,11,15,0,0,0,0,0,0,16,7,0,0,0,7 +0,0,2,10,13,4,0,0,0,0,11,16,15,5,0,0,0,5,16,11,2,0,0,0,0,10,15,2,0,0,0,0,0,3,13,15,5,0,0,0,0,0,0,8,16,6,0,0,0,0,2,10,16,7,0,0,0,0,3,15,10,0,0,0,5 +0,0,3,15,15,1,0,0,0,0,9,16,12,2,0,0,0,4,16,9,6,9,2,0,0,8,16,16,16,10,3,0,0,2,16,16,14,1,0,0,0,4,16,16,16,4,0,0,0,1,14,16,16,12,0,0,0,0,3,14,12,5,0,0,8 +0,0,7,11,0,0,0,0,0,0,14,13,0,0,0,0,0,3,16,10,3,0,0,0,0,3,16,16,16,11,0,0,0,6,16,16,16,16,1,0,0,4,16,6,1,16,9,0,0,2,15,14,14,16,3,0,0,0,5,16,14,6,0,0,6 +0,0,2,10,16,3,0,0,0,0,15,16,16,4,0,0,0,3,12,1,16,15,9,0,0,0,0,7,16,16,13,0,0,0,0,16,15,2,0,0,0,0,0,8,12,0,0,0,0,0,0,13,9,0,0,0,0,0,0,14,3,0,0,0,7 +0,0,3,12,9,9,0,0,0,0,12,16,16,16,0,0,0,0,12,5,14,16,4,0,0,0,12,0,2,13,2,0,0,2,15,0,0,12,3,0,0,2,16,2,0,12,0,0,0,0,15,14,13,9,0,0,0,0,2,10,8,0,0,0,0 +0,0,5,13,13,2,0,0,0,0,12,14,16,8,0,0,0,0,0,3,16,5,0,0,0,0,0,4,16,5,0,0,0,0,0,0,10,14,2,0,0,0,0,0,3,16,6,0,0,0,1,0,5,16,4,0,0,0,6,13,16,12,3,0,3 +0,0,0,6,12,6,0,0,0,0,5,16,16,13,0,0,0,2,15,16,16,12,0,0,0,4,16,16,16,14,1,0,0,0,8,16,16,13,0,0,0,0,4,16,16,14,0,0,0,0,6,16,16,16,4,0,0,0,1,12,12,6,0,0,1 +0,0,11,13,1,1,0,0,0,3,16,10,16,16,2,0,0,8,14,14,12,2,0,0,0,1,15,16,11,0,0,0,0,0,9,15,16,9,0,0,0,0,12,7,1,14,7,0,0,0,12,11,9,15,3,0,0,0,4,12,10,1,0,0,8 +0,0,1,11,0,0,0,0,0,0,8,16,2,0,0,0,0,0,11,12,0,0,0,0,0,0,12,10,0,0,0,0,0,0,15,14,9,6,0,0,0,0,15,16,16,16,9,0,0,0,11,16,11,16,14,0,0,0,1,12,13,10,2,0,6 +0,0,7,14,16,14,1,0,0,5,16,13,8,6,0,0,0,4,16,4,0,0,0,0,0,7,16,16,15,2,0,0,0,3,8,5,15,9,0,0,0,0,0,0,3,16,3,0,0,2,15,10,11,16,3,0,0,0,8,15,15,4,0,0,5 +0,0,0,4,15,7,0,0,0,0,0,15,15,1,0,0,0,0,8,16,2,0,0,0,0,4,16,7,6,9,0,0,0,10,16,13,16,16,0,0,2,16,16,12,15,11,0,0,4,9,4,3,16,7,0,0,0,0,0,5,16,5,0,0,4 +0,0,2,12,10,2,5,0,0,0,10,16,11,13,15,0,0,2,14,15,14,16,14,0,0,0,13,16,14,16,10,0,0,0,0,0,4,15,4,0,0,0,0,2,15,11,0,0,0,0,0,14,16,3,0,0,0,0,2,13,4,0,0,0,9 +0,0,9,16,9,0,0,0,0,3,16,16,16,1,0,0,0,0,6,12,16,14,4,0,0,0,4,14,16,16,13,0,0,0,8,16,16,7,0,0,0,0,0,13,14,0,0,0,0,0,5,16,8,0,0,0,0,0,9,13,1,0,0,0,7 +0,0,8,12,16,8,0,0,0,5,16,10,8,8,0,0,0,2,16,4,0,0,0,0,0,1,15,12,5,0,0,0,0,0,4,13,16,6,0,0,0,0,0,0,10,16,6,0,0,0,7,9,15,15,4,0,0,0,10,13,8,4,0,0,5 +0,0,0,1,14,8,0,0,0,0,0,12,14,2,0,0,0,0,7,16,4,0,0,0,0,5,16,11,3,10,5,0,0,11,16,16,16,16,6,0,0,7,12,11,16,13,1,0,0,0,0,5,16,10,0,0,0,0,0,2,16,9,0,0,4 +0,0,1,7,10,7,0,0,0,0,8,16,16,16,0,0,0,0,15,16,16,16,0,0,0,1,7,16,16,16,3,0,0,0,1,16,16,16,4,0,0,0,3,16,16,16,1,0,0,0,4,16,16,16,0,0,0,0,1,9,12,6,0,0,1 +0,0,5,12,16,4,0,0,0,2,16,15,10,4,0,0,0,4,16,14,16,5,0,0,0,4,15,16,16,9,0,0,0,0,7,16,16,13,2,0,0,0,10,15,6,16,8,0,0,0,14,14,13,14,1,0,0,0,7,16,11,5,0,0,8 +0,0,0,0,13,5,0,0,0,0,0,9,13,1,0,0,0,0,8,14,1,5,7,0,0,4,16,14,13,16,8,0,0,2,8,8,12,16,2,0,0,0,0,0,10,13,0,0,0,0,0,0,14,9,0,0,0,0,0,0,13,3,0,0,4 +0,0,10,13,2,0,0,0,0,0,14,16,4,0,0,0,0,2,16,14,0,0,0,0,0,6,16,14,2,0,0,0,0,7,16,16,16,13,1,0,0,2,16,16,16,16,7,0,0,2,16,16,16,16,4,0,0,0,8,15,16,13,0,0,6 +0,0,13,15,15,4,0,0,0,3,16,14,16,13,0,0,0,3,16,3,5,16,5,0,0,7,16,4,0,13,8,0,0,5,16,2,0,15,8,0,0,3,16,5,7,16,6,0,0,0,14,16,16,14,1,0,0,0,11,16,12,3,0,0,0 +0,0,10,13,7,1,0,0,0,6,16,15,16,5,0,0,0,9,9,8,16,2,0,0,0,0,2,1,16,8,0,0,0,0,0,0,9,16,1,0,0,0,0,0,2,16,10,0,0,0,7,11,14,15,7,0,0,0,11,13,12,3,0,0,3 +0,0,13,16,5,0,0,0,0,6,16,16,14,0,0,0,0,10,12,4,16,0,0,0,0,8,5,7,14,0,0,0,0,0,1,14,8,0,0,0,0,0,7,15,2,0,0,0,0,0,16,15,12,11,3,0,0,1,16,16,15,16,8,0,2 +0,0,0,13,10,1,0,0,0,0,8,16,11,1,0,0,0,0,12,14,0,0,0,0,0,0,16,10,0,0,0,0,0,3,16,13,8,3,0,0,0,2,16,16,16,16,3,0,0,0,10,16,16,16,15,0,0,0,0,10,16,15,7,0,6 +0,0,11,12,5,0,0,0,0,0,12,16,16,10,0,0,0,0,16,4,8,16,3,0,0,2,16,1,0,9,8,0,0,4,13,0,0,10,8,0,0,1,15,0,3,16,9,0,0,2,16,13,16,13,1,0,0,0,13,13,7,0,0,0,0 +0,0,13,16,6,0,0,0,0,4,16,16,16,1,0,0,0,2,15,4,16,5,0,0,0,0,1,1,16,7,0,0,0,0,0,2,16,7,0,0,0,0,0,11,16,2,0,0,0,0,10,16,16,16,15,4,0,0,13,16,11,8,14,4,2 +0,0,3,12,15,16,8,0,0,0,11,14,13,16,4,0,0,0,0,0,11,11,0,0,0,0,0,3,16,5,0,0,0,2,12,16,16,16,7,0,0,0,10,16,10,5,1,0,0,0,5,16,3,0,0,0,0,0,3,16,1,0,0,0,7 +0,0,2,12,16,7,0,0,0,5,13,13,14,14,0,0,0,6,15,0,0,10,3,0,0,6,12,0,0,5,8,0,0,6,10,0,0,11,5,0,0,3,13,2,13,16,5,0,0,0,11,16,16,15,2,0,0,0,3,16,15,4,0,0,0 +0,0,0,6,15,6,0,0,0,0,0,12,10,13,0,0,0,0,0,11,15,14,0,0,0,0,9,11,14,0,0,0,0,4,11,0,10,6,0,0,0,3,9,0,1,14,1,0,0,0,11,8,2,9,7,0,0,0,0,6,12,13,7,0,8 +0,0,0,0,15,12,0,0,0,0,0,5,16,15,0,0,0,0,3,14,16,10,0,0,0,3,15,16,16,9,0,0,0,11,15,9,16,10,0,0,0,0,0,6,16,7,0,0,0,0,0,7,16,8,0,0,0,0,0,1,13,16,6,0,1 +0,0,0,6,10,14,0,0,0,0,10,16,16,16,6,0,0,1,16,10,4,15,11,0,0,1,12,5,0,9,9,0,0,0,8,9,0,8,8,0,0,0,9,16,16,16,4,0,0,0,2,16,16,14,2,0,0,0,0,6,10,3,0,0,0 +0,0,0,7,12,14,2,0,0,0,3,14,7,13,8,0,0,0,6,14,11,16,5,0,0,2,13,16,15,8,1,0,0,5,12,6,15,0,0,0,0,7,10,0,8,10,0,0,0,2,12,7,5,16,3,0,0,0,0,9,13,14,2,0,8 +0,0,0,7,13,0,0,0,0,0,6,16,5,0,0,0,0,0,15,7,0,0,0,0,0,2,16,1,0,0,0,0,0,4,15,4,4,0,0,0,0,6,16,14,14,14,3,0,0,0,8,15,8,14,12,0,0,0,0,6,12,13,3,0,6 +0,0,6,15,16,16,11,0,0,2,16,11,7,15,16,3,0,2,15,16,16,16,13,0,0,0,5,11,16,12,1,0,0,0,0,8,16,4,0,0,0,0,0,12,11,0,0,0,0,0,5,16,4,0,0,0,0,0,10,14,0,0,0,0,9 +0,0,3,11,16,16,14,1,0,0,12,10,4,7,15,0,0,0,7,14,15,16,4,0,0,0,0,0,7,12,0,0,0,0,0,1,14,4,0,0,0,0,0,5,13,0,0,0,0,0,0,12,7,0,0,0,0,0,2,14,0,0,0,0,9 +0,0,4,14,16,11,0,0,0,0,13,12,9,15,4,0,0,0,11,0,0,8,6,0,0,4,12,0,0,6,8,0,0,6,8,0,0,10,7,0,0,3,13,4,10,16,2,0,0,0,13,16,16,15,0,0,0,0,5,14,12,3,0,0,0 +0,0,1,12,15,1,0,0,0,0,10,16,16,0,0,0,0,3,16,15,10,0,0,0,0,6,16,15,15,2,0,0,0,0,4,2,14,15,1,0,0,0,0,0,3,15,5,0,0,0,2,14,14,16,5,0,0,0,0,15,16,13,1,0,3 +0,0,0,7,12,14,5,0,0,0,11,10,4,10,16,0,0,1,16,12,11,16,14,0,0,1,10,12,12,16,10,0,0,0,0,0,1,15,3,0,0,0,0,0,11,9,0,0,0,0,0,6,13,0,0,0,0,0,0,11,9,0,0,0,9 +0,2,15,12,0,0,0,0,0,5,16,16,4,0,0,0,0,8,14,13,8,0,0,0,0,1,8,6,12,0,0,0,0,0,0,9,12,0,0,0,0,0,4,14,13,4,3,0,0,7,16,16,16,16,15,0,0,3,11,15,11,8,2,0,2 +0,0,0,8,12,11,3,0,0,0,6,15,6,8,12,0,0,2,15,10,0,3,11,0,0,4,16,14,12,14,4,0,0,0,8,16,16,14,0,0,0,0,0,0,5,16,2,0,0,0,0,4,11,15,0,0,0,0,0,13,12,6,0,0,9 +0,0,3,16,15,3,0,0,0,0,6,16,15,3,0,0,0,0,10,16,6,2,0,0,0,0,4,14,16,3,0,0,0,4,13,2,12,6,0,0,0,5,11,0,1,12,3,0,0,0,13,3,0,7,11,0,0,0,3,11,11,14,10,0,8 +0,0,10,10,12,15,12,0,0,0,8,16,13,16,8,0,0,0,0,0,11,14,0,0,0,0,9,12,16,14,7,0,0,1,16,16,15,11,5,0,0,0,7,16,6,0,0,0,0,0,7,16,1,0,0,0,0,0,10,11,0,0,0,0,7 +0,0,5,12,14,0,0,0,0,2,14,10,15,0,0,0,0,3,15,11,11,0,0,0,0,2,12,15,11,2,0,0,0,0,0,0,8,15,1,0,0,0,0,0,1,14,4,0,0,0,2,7,4,14,3,0,0,0,3,13,14,10,0,0,3 +0,0,1,11,14,4,0,0,0,1,7,14,14,15,1,0,0,6,13,0,0,11,5,0,0,8,9,0,0,4,8,0,0,5,12,0,0,4,8,0,0,1,15,2,0,10,8,0,0,0,9,16,16,16,2,0,0,0,1,12,14,9,0,0,0 +0,0,6,13,12,11,2,0,0,0,16,13,5,13,13,0,0,0,15,11,5,15,8,0,0,0,11,16,16,9,0,0,0,1,10,16,15,0,0,0,0,4,16,12,16,6,0,0,0,1,15,16,16,12,0,0,0,0,3,13,16,11,0,0,8 +0,0,0,10,16,5,0,0,0,0,9,16,14,2,0,0,0,1,16,13,0,0,0,0,0,4,16,11,4,0,0,0,0,7,16,16,16,15,2,0,0,1,15,10,4,13,13,0,0,0,7,16,15,16,15,0,0,0,0,7,16,16,7,0,6 +0,0,7,15,10,0,0,0,0,2,16,9,14,3,0,0,0,5,9,0,8,4,0,0,0,2,10,0,13,1,0,0,0,0,0,9,12,0,0,0,0,0,4,15,1,0,0,0,0,0,16,7,4,4,2,0,0,0,9,16,14,12,6,0,2 +0,0,0,6,10,1,15,6,0,0,5,16,4,8,15,1,0,1,15,8,2,15,8,0,0,4,16,14,13,15,0,0,0,1,15,16,16,13,0,0,0,0,3,10,15,0,0,0,0,0,0,11,14,1,0,0,0,0,0,10,15,0,0,0,4 +0,0,0,11,7,5,8,0,0,0,5,16,1,15,8,0,0,1,14,9,5,16,2,0,0,6,14,1,12,11,2,0,0,12,14,8,16,16,10,0,0,9,16,16,15,5,0,0,0,0,1,10,12,0,0,0,0,0,0,11,9,0,0,0,4 +0,0,13,13,1,0,0,0,0,2,16,16,9,0,0,0,0,9,16,12,12,0,0,0,0,12,10,8,13,0,0,0,0,5,7,10,14,0,0,0,0,0,2,15,12,0,0,0,0,1,15,16,16,14,6,0,0,0,11,16,16,14,6,0,2 +0,0,0,7,5,0,1,0,0,0,5,13,1,0,14,4,0,1,16,3,0,9,7,0,0,3,16,7,4,16,3,0,0,2,15,16,16,14,4,0,0,0,0,0,14,6,0,0,0,0,0,3,16,1,0,0,0,0,0,8,7,0,0,0,4 +0,0,0,1,11,10,0,0,0,0,0,8,16,13,0,0,0,0,7,16,16,7,0,0,0,5,16,16,16,0,0,0,0,4,10,16,16,0,0,0,0,0,0,15,16,0,0,0,0,0,0,11,16,4,0,0,0,0,0,0,11,13,1,0,1 +0,0,2,10,13,5,0,0,0,0,13,15,11,1,0,0,0,0,14,4,0,0,0,0,0,6,14,0,0,0,0,0,0,6,16,16,16,16,2,0,0,1,4,4,1,15,2,0,0,0,0,7,10,16,0,0,0,0,1,16,15,7,0,0,5 +0,0,0,0,6,11,0,0,0,0,0,4,16,12,0,0,0,0,1,12,16,11,0,0,0,1,12,13,16,7,0,0,0,9,16,13,16,3,0,0,0,2,3,6,16,3,0,0,0,0,0,6,16,3,0,0,0,0,0,0,9,8,0,0,1 +0,0,7,16,16,10,0,0,0,1,16,16,16,16,4,0,0,4,10,5,3,11,10,0,0,5,12,4,0,6,8,0,0,0,12,2,0,5,8,0,0,0,15,5,5,14,3,0,0,0,11,16,16,12,0,0,0,0,7,16,12,4,0,0,0 +0,0,1,9,16,15,4,0,0,0,4,16,10,14,10,0,0,0,3,16,7,14,11,0,0,0,9,16,16,13,0,0,0,5,16,16,16,2,0,0,0,6,14,9,16,2,0,0,0,0,12,16,16,4,0,0,0,0,0,12,11,3,0,0,8 +0,0,0,6,15,15,4,0,0,0,12,15,8,12,7,0,0,0,14,13,12,16,3,0,0,0,11,16,16,16,4,0,0,0,1,4,4,16,5,0,0,0,0,0,2,16,2,0,0,0,0,3,12,11,0,0,0,0,0,10,13,2,0,0,9 +0,0,8,16,16,14,0,0,0,1,16,12,8,5,0,0,0,3,16,6,0,0,0,0,0,10,16,8,2,0,0,0,0,3,12,14,15,7,0,0,0,0,0,0,8,16,3,0,0,0,11,5,6,16,5,0,0,0,10,16,16,12,0,0,5 +0,0,10,15,14,16,12,0,0,0,5,12,11,13,11,0,0,0,0,0,2,16,3,0,0,0,9,12,14,16,10,0,0,0,12,15,15,9,2,0,0,0,0,14,7,0,0,0,0,0,7,14,1,0,0,0,0,0,13,6,0,0,0,0,7 +0,0,6,11,16,11,1,0,0,4,14,4,9,16,0,0,0,0,15,2,11,15,2,0,0,0,8,15,9,12,5,0,0,0,0,0,0,8,8,0,0,0,0,0,0,8,5,0,0,5,13,2,0,14,2,0,0,0,8,16,16,8,0,0,9 +0,0,0,9,15,4,0,0,0,0,4,15,8,1,0,0,0,0,12,11,0,0,0,0,0,0,15,5,0,0,0,0,0,2,16,15,16,12,3,0,0,0,16,13,5,8,13,0,0,0,7,13,4,6,15,0,0,0,0,8,15,16,11,0,6 +0,4,16,16,9,1,0,0,0,2,11,9,15,7,0,0,0,0,0,0,14,6,0,0,0,0,0,5,16,2,0,0,0,0,1,14,12,0,0,0,0,3,15,13,1,0,0,0,0,11,16,13,8,6,3,0,0,4,14,16,16,16,11,0,2 +0,0,2,13,12,4,0,0,0,1,15,12,3,13,2,0,0,8,13,8,0,6,4,0,0,8,4,3,0,3,8,0,0,5,5,0,0,6,6,0,0,1,14,1,0,8,3,0,0,0,8,8,5,13,1,0,0,0,0,11,15,6,0,0,0 +0,0,3,14,9,2,0,0,0,3,16,12,7,13,0,0,0,3,14,1,8,14,0,0,0,0,6,14,16,2,0,0,0,0,2,16,15,9,0,0,0,0,12,10,1,10,9,0,0,0,11,7,0,7,13,0,0,0,1,11,16,15,4,0,8 +0,0,0,2,15,9,0,0,0,0,0,7,16,15,0,0,0,0,5,15,16,10,0,0,0,3,16,16,16,6,0,0,0,3,12,14,16,5,0,0,0,0,0,8,16,8,0,0,0,0,0,5,16,15,2,0,0,0,0,2,13,15,4,0,1 +0,0,0,9,12,1,0,0,0,0,10,15,12,15,2,0,0,2,16,4,0,11,6,0,0,5,13,0,0,8,8,0,0,8,12,0,0,7,7,0,0,6,14,0,0,13,4,0,0,0,15,10,7,15,1,0,0,0,2,11,13,3,0,0,0 +0,0,0,15,12,5,0,0,0,0,4,16,16,8,0,0,0,0,9,16,15,3,0,0,0,1,16,16,9,0,0,0,0,6,16,16,9,0,0,0,0,0,11,16,11,0,0,0,0,0,4,16,14,1,0,0,0,0,0,13,16,0,0,0,1 +0,1,13,16,15,5,0,0,0,6,15,12,15,11,0,0,0,0,2,0,9,12,0,0,0,0,0,1,16,4,0,0,0,0,1,12,14,0,0,0,0,5,15,14,2,0,0,0,0,9,16,12,7,2,3,0,0,1,15,16,16,16,6,0,2 +0,0,8,14,16,12,1,0,0,2,11,6,5,15,4,0,0,0,0,1,9,14,0,0,0,0,0,11,11,0,0,0,0,0,0,2,15,7,0,0,0,0,0,0,4,16,3,0,0,0,9,5,4,15,3,0,0,0,9,15,13,5,0,0,3 +0,0,3,16,13,2,0,0,0,0,11,7,7,12,0,0,0,2,16,1,0,9,3,0,0,5,13,1,0,6,6,0,0,7,6,0,0,5,8,0,0,4,8,0,0,10,5,0,0,1,13,5,8,15,1,0,0,0,4,15,15,4,0,0,0 +0,0,12,16,16,16,10,0,0,0,4,8,11,16,13,0,0,0,2,0,4,16,5,0,0,6,15,12,15,16,11,0,0,1,11,16,15,11,3,0,0,0,1,13,8,0,0,0,0,0,8,16,1,0,0,0,0,0,10,10,0,0,0,0,7 +0,0,0,12,15,2,0,0,0,0,7,16,7,1,0,0,0,0,15,10,0,0,0,0,0,1,16,9,1,0,0,0,0,3,16,16,15,5,0,0,0,1,15,11,4,12,9,0,0,0,10,12,3,11,14,0,0,0,1,9,16,16,6,0,6 +0,0,6,12,12,12,4,0,0,3,16,8,6,16,7,0,0,4,13,0,5,16,4,0,0,1,13,13,15,16,4,0,0,0,1,8,4,12,4,0,0,0,2,0,0,12,7,0,0,6,15,4,0,13,4,0,0,0,8,15,16,16,2,0,9 +0,0,7,14,14,13,3,0,0,0,14,7,4,9,6,0,0,4,13,0,0,0,0,0,0,6,16,14,8,1,0,0,0,0,0,3,9,13,0,0,0,0,0,0,0,13,0,0,0,0,9,0,3,14,0,0,0,0,11,16,14,3,0,0,5 +0,0,0,0,14,10,0,0,0,0,1,11,16,12,0,0,0,2,12,16,16,12,0,0,0,4,11,5,15,11,0,0,0,0,0,1,16,7,0,0,0,0,0,3,16,7,0,0,0,0,0,1,16,11,0,0,0,0,0,0,11,9,0,0,1 +0,0,0,9,12,0,0,0,0,0,1,15,5,1,5,0,0,1,12,10,0,13,9,0,0,7,16,9,10,16,7,0,0,4,16,16,16,16,10,0,0,0,0,0,14,11,1,0,0,0,0,5,16,1,0,0,0,0,0,12,6,0,0,0,4 +0,0,0,14,15,3,0,0,0,0,7,16,9,2,0,0,0,0,14,12,0,0,0,0,0,2,16,7,0,0,0,0,0,7,16,16,12,2,0,0,0,1,15,8,9,15,1,0,0,0,9,12,7,16,3,0,0,0,0,12,16,14,1,0,6 +0,0,0,4,12,13,2,0,0,0,2,13,16,15,0,0,0,4,16,16,16,9,0,0,0,3,10,15,16,6,0,0,0,0,0,13,16,0,0,0,0,0,0,14,16,1,0,0,0,0,0,9,16,10,0,0,0,0,0,2,15,13,1,0,1 +0,0,0,8,13,6,0,0,0,0,5,14,6,14,2,0,0,0,8,8,1,14,4,0,0,0,2,13,11,16,5,0,0,0,0,3,7,9,4,0,0,1,2,0,0,8,8,0,0,1,13,3,0,14,5,0,0,0,0,11,16,13,1,0,9 +0,0,8,15,12,6,0,0,0,1,16,6,5,13,2,0,0,0,16,4,6,15,3,0,0,0,9,16,16,8,0,0,0,0,7,15,14,10,0,0,0,0,13,12,0,13,7,0,0,3,16,5,4,15,8,0,0,0,9,14,16,12,1,0,8 +0,0,1,9,16,16,12,1,0,0,10,13,8,12,16,3,0,0,2,0,1,13,10,0,0,0,0,9,16,11,0,0,0,0,0,14,16,15,0,0,0,0,0,7,10,16,2,0,0,0,2,16,14,13,0,0,0,0,0,14,14,2,0,0,3 +0,0,8,15,15,12,4,0,0,0,15,4,3,10,16,0,0,0,8,14,12,16,12,0,0,0,0,2,4,9,8,0,0,0,0,0,0,9,7,0,0,1,1,0,0,12,4,0,0,7,11,1,4,12,1,0,0,0,10,16,13,3,0,0,9 +0,0,4,16,13,12,11,0,0,0,7,13,4,7,11,0,0,0,12,1,0,0,0,0,0,5,15,12,8,1,0,0,0,2,8,8,12,12,0,0,0,0,0,0,1,13,0,0,0,0,7,7,7,11,0,0,0,0,4,15,14,2,0,0,5 +0,0,0,6,14,2,0,0,0,0,4,16,9,3,0,0,0,0,13,8,0,0,0,0,0,0,15,10,2,0,0,0,0,4,16,11,13,9,0,0,0,0,10,8,0,9,8,0,0,0,2,13,3,10,8,0,0,0,0,4,14,16,2,0,6 +0,0,1,11,14,10,1,0,0,1,13,10,8,12,8,0,0,6,11,0,1,13,4,0,0,2,15,12,15,6,0,0,0,0,13,16,15,2,0,0,0,1,14,0,7,12,0,0,0,0,9,9,4,16,0,0,0,0,1,9,15,10,0,0,8 +0,1,9,12,14,10,1,0,0,7,15,7,6,15,8,0,0,1,1,0,3,16,5,0,0,0,2,11,16,9,0,0,0,0,2,14,16,8,0,0,0,0,0,1,7,15,7,0,0,0,12,6,6,15,7,0,0,0,8,15,14,9,0,0,3 +0,0,2,14,10,0,0,0,0,0,9,10,10,6,0,0,0,0,16,2,0,12,2,0,0,4,12,0,0,8,5,0,0,5,8,0,0,9,8,0,0,3,12,0,0,14,3,0,0,0,11,6,7,13,0,0,0,0,3,16,15,3,0,0,0 +0,0,0,6,13,6,0,0,0,0,0,12,16,13,0,0,0,0,10,16,16,10,0,0,0,5,16,16,16,7,0,0,0,2,5,13,16,4,0,0,0,0,0,9,16,4,0,0,0,0,0,12,16,1,0,0,0,0,0,8,14,2,0,0,1 +0,0,0,0,5,16,8,0,0,0,0,0,13,16,12,0,0,0,0,9,16,16,9,0,0,0,10,16,14,16,8,0,0,4,15,11,8,16,5,0,0,0,7,1,9,16,3,0,0,0,0,0,12,16,0,0,0,0,0,0,8,15,2,0,1 +0,0,8,12,12,6,0,0,0,0,15,16,16,16,0,0,0,0,8,16,16,16,0,0,0,0,6,16,16,16,4,0,0,0,5,16,16,16,4,0,0,0,4,16,16,16,7,0,0,0,15,16,16,16,8,0,0,0,4,9,11,8,4,0,1 +0,0,3,12,14,2,0,0,0,0,12,11,13,11,0,0,0,7,16,1,4,16,2,0,0,6,16,7,14,16,1,0,0,0,13,16,15,3,0,0,0,0,11,16,16,10,0,0,0,0,14,16,10,16,8,0,0,0,2,11,16,16,12,0,8 +0,0,7,16,11,1,0,0,0,2,15,12,15,12,0,0,0,6,16,6,6,16,3,0,0,8,16,4,1,16,7,0,0,4,16,4,0,13,8,0,0,4,16,4,2,16,5,0,0,2,15,11,14,11,0,0,0,0,6,15,11,1,0,0,0 +0,0,5,16,16,13,5,0,0,0,4,8,8,14,15,0,0,0,0,0,1,16,7,0,0,0,0,0,7,15,0,0,0,2,15,16,16,16,4,0,0,1,4,12,12,0,0,0,0,0,0,15,5,0,0,0,0,0,5,15,0,0,0,0,7 +0,1,15,6,0,0,0,0,0,7,15,16,3,0,0,0,0,11,5,12,4,0,0,0,0,2,3,10,7,0,0,0,0,0,1,16,2,0,0,0,0,0,6,14,0,0,0,0,0,0,14,16,16,15,6,0,0,0,8,8,8,10,13,0,2 +0,0,3,11,12,13,14,3,0,0,8,14,9,12,16,2,0,0,1,0,0,13,11,0,0,0,1,12,13,16,7,0,0,0,1,8,16,11,2,0,0,0,0,6,16,2,0,0,0,0,0,14,11,0,0,0,0,0,2,13,4,0,0,0,7 +0,0,0,5,15,7,0,0,0,0,6,15,10,16,2,0,0,4,16,5,0,10,8,0,0,1,15,4,0,8,8,0,0,0,14,4,0,8,8,0,0,0,12,7,0,14,6,0,0,0,7,16,13,15,1,0,0,0,0,6,13,5,0,0,0 +0,0,1,13,9,0,0,0,0,0,7,16,10,0,0,0,0,0,14,15,1,0,0,0,0,1,16,14,4,0,0,0,0,3,16,16,16,10,1,0,0,0,13,15,8,15,9,0,0,0,8,16,7,11,13,0,0,0,0,8,13,16,13,1,6 +0,0,3,12,10,1,0,0,0,0,12,16,16,10,0,0,0,0,7,16,16,8,0,0,0,0,3,16,16,12,0,0,0,0,2,15,16,14,0,0,0,0,0,16,16,15,0,0,0,0,2,16,16,14,0,0,0,0,4,8,12,3,0,0,1 +0,0,3,13,16,9,1,0,0,3,13,14,7,16,6,0,0,6,16,4,5,16,3,0,0,6,16,8,15,11,0,0,0,1,16,16,13,1,0,0,0,4,16,16,14,2,0,0,0,2,16,15,16,10,0,0,0,0,5,14,16,11,0,0,8 +0,0,0,9,16,1,0,0,0,0,3,16,13,0,0,0,0,0,10,16,7,10,6,0,0,6,16,16,13,16,8,0,0,4,15,16,16,16,6,0,0,0,0,7,16,12,0,0,0,0,0,11,16,2,0,0,0,0,0,14,10,0,0,0,4 +0,1,12,3,0,0,0,0,0,10,16,15,1,0,0,0,0,8,3,13,5,0,0,0,0,1,0,9,9,0,0,0,0,0,0,13,6,0,0,0,0,0,2,15,2,0,0,0,0,0,13,16,14,14,12,0,0,0,8,12,12,10,11,0,2 +0,0,4,15,2,0,0,0,0,0,12,15,1,0,0,0,0,2,16,10,0,0,0,0,0,3,16,8,1,0,0,0,0,6,16,16,15,9,2,0,0,3,16,14,8,15,10,0,0,0,10,15,8,13,15,0,0,0,4,8,13,13,6,0,6 +0,0,0,2,15,3,0,0,0,0,0,9,13,0,2,0,0,0,7,15,1,5,12,0,0,2,16,10,4,12,7,0,0,6,13,14,16,16,5,0,0,0,0,0,8,13,0,0,0,0,0,0,15,5,0,0,0,0,0,3,12,0,0,0,4 +0,0,1,8,12,7,0,0,0,0,7,16,16,16,10,0,0,0,5,16,16,16,5,0,0,0,5,16,16,15,1,0,0,0,4,16,16,16,4,0,0,0,9,16,16,16,0,0,0,0,9,16,16,14,0,0,0,0,2,10,12,9,0,0,1 +0,0,3,13,16,16,9,0,0,0,3,9,11,16,6,0,0,0,0,0,8,14,1,0,0,3,12,13,16,15,4,0,0,4,13,14,16,12,3,0,0,0,0,9,12,0,0,0,0,0,0,15,8,0,0,0,0,0,2,16,3,0,0,0,7 +0,2,12,15,10,0,0,0,0,4,14,8,16,7,0,0,0,0,0,2,16,10,0,0,0,0,2,16,16,9,0,0,0,0,1,8,13,14,2,0,0,0,0,0,2,13,8,0,0,2,9,8,8,12,11,0,0,2,11,14,14,10,3,0,3 +0,0,6,13,3,0,0,0,0,0,15,16,15,5,0,0,0,0,14,4,6,13,0,0,0,0,0,0,4,15,0,0,0,0,0,0,8,12,0,0,0,0,1,6,15,8,0,0,0,0,16,16,16,16,12,0,0,0,5,8,9,10,15,3,2 +0,0,1,14,5,0,0,0,0,0,7,16,6,0,0,0,0,0,14,16,0,0,0,0,0,1,16,9,0,0,0,0,0,0,16,16,14,5,0,0,0,0,13,16,12,16,5,0,0,0,8,16,8,11,16,2,0,0,1,8,13,16,14,2,6 +0,0,1,10,12,11,5,0,0,0,8,16,16,16,3,0,0,0,13,16,16,11,0,0,0,1,16,16,16,12,0,0,0,2,16,16,16,10,0,0,0,2,16,16,16,6,0,0,0,0,7,16,16,8,0,0,0,0,2,11,12,4,0,0,1 +0,0,0,1,13,15,6,0,0,0,0,7,16,16,8,0,0,0,3,14,16,16,6,0,0,5,15,16,16,16,4,0,0,5,12,13,16,16,4,0,0,0,0,4,16,16,8,0,0,0,0,4,16,16,8,0,0,0,0,1,12,16,5,0,1 +0,0,0,8,13,0,0,0,0,0,1,15,12,0,0,0,0,0,9,15,3,0,0,0,0,0,15,11,0,0,0,0,0,3,16,14,12,4,0,0,0,2,16,15,13,16,6,0,0,0,9,15,5,13,13,0,0,0,0,7,14,14,6,0,6 +0,0,0,8,11,3,0,0,0,0,6,16,16,15,1,0,0,0,5,16,16,16,1,0,0,0,5,16,16,16,1,0,0,0,1,16,16,16,3,0,0,0,3,16,16,16,0,0,0,0,0,16,16,12,0,0,0,0,0,11,11,2,0,0,1 +0,0,1,11,12,12,10,0,0,0,3,10,8,16,10,0,0,0,0,0,3,16,3,0,0,0,3,10,15,14,2,0,0,0,14,16,16,16,6,0,0,0,1,14,9,0,0,0,0,0,3,16,3,0,0,0,0,0,6,12,0,0,0,0,7 +0,0,14,16,4,0,0,0,0,2,16,16,16,4,0,0,0,7,16,5,16,16,6,0,0,2,16,14,16,16,8,0,0,0,4,8,6,16,8,0,0,0,0,0,2,16,8,0,0,0,8,8,10,16,7,0,0,0,9,12,15,9,0,0,9 +0,1,12,13,7,0,0,0,0,2,15,13,16,7,0,0,0,0,0,6,16,8,0,0,0,0,7,16,16,3,0,0,0,0,4,12,16,12,0,0,0,0,0,0,4,16,8,0,0,1,8,10,12,16,10,0,0,2,12,14,12,9,1,0,3 +0,0,2,8,12,4,0,0,0,1,14,11,5,16,1,0,0,1,15,3,10,14,0,0,0,0,7,16,13,1,0,0,0,0,9,16,11,0,0,0,0,0,12,4,12,7,0,0,0,0,12,13,8,12,0,0,0,0,2,9,12,6,0,0,8 +0,0,2,15,4,0,0,0,0,0,10,16,2,0,0,0,0,0,12,11,0,0,0,0,0,0,14,12,0,0,0,0,0,2,16,16,16,9,0,0,0,3,16,15,12,16,6,0,0,1,14,16,6,14,10,0,0,0,3,14,16,13,3,0,6 +0,0,10,12,6,0,0,0,0,0,16,14,15,4,0,0,0,1,16,8,16,14,0,0,0,0,7,15,16,16,5,0,0,0,0,3,4,15,9,0,0,0,0,0,0,12,11,0,0,0,5,7,9,16,9,0,0,0,7,16,13,9,2,0,9 +0,0,5,14,10,3,0,0,0,1,16,14,16,11,0,0,0,4,16,6,12,16,7,0,0,1,13,15,15,16,8,0,0,0,0,2,7,16,7,0,0,0,0,0,4,16,4,0,0,0,2,4,7,16,3,0,0,0,6,16,15,8,0,0,9 +0,0,3,12,12,12,2,0,0,0,3,13,9,16,7,0,0,0,0,1,2,16,4,0,0,0,0,1,10,9,0,0,0,0,8,16,16,16,5,0,0,0,3,14,10,0,0,0,0,0,4,16,3,0,0,0,0,0,3,12,1,0,0,0,7 +0,0,0,3,12,2,0,0,0,0,0,12,12,0,0,0,0,0,6,16,4,8,13,0,0,1,15,8,1,15,8,0,0,6,16,14,13,16,1,0,0,2,4,10,16,10,0,0,0,0,0,5,16,2,0,0,0,0,0,3,10,0,0,0,4 +0,0,4,12,15,5,0,0,0,2,15,13,11,11,0,0,0,2,10,2,5,16,0,0,0,0,0,4,14,14,0,0,0,0,0,5,12,14,7,0,0,0,0,0,0,3,14,0,0,0,9,10,3,8,15,2,0,0,2,9,16,16,7,0,3 +0,0,7,16,15,7,0,0,0,0,16,10,8,15,0,0,0,0,5,2,9,15,0,0,0,0,5,16,16,8,0,0,0,0,2,5,11,14,3,0,0,0,0,0,0,8,12,0,0,0,10,10,7,13,12,0,0,0,6,12,16,11,4,0,3 +0,0,3,11,16,5,0,0,0,0,12,15,12,7,0,0,0,0,15,6,0,0,0,0,0,0,16,15,11,1,0,0,0,0,15,15,14,9,0,0,0,0,15,6,2,16,2,0,0,0,12,12,12,16,5,0,0,0,3,13,15,9,0,0,6 +0,0,7,12,5,3,0,0,0,3,15,8,13,16,3,0,0,4,14,1,0,9,0,0,0,0,9,15,13,9,0,0,0,0,3,14,15,6,0,0,0,0,14,5,3,14,2,0,0,0,16,5,5,15,3,0,0,0,6,11,11,6,0,0,8 +0,0,8,15,16,8,0,0,0,2,16,15,13,11,0,0,0,3,16,3,0,0,0,0,0,6,16,15,7,0,0,0,0,2,11,12,16,7,0,0,0,0,0,0,7,14,0,0,0,0,10,15,15,15,1,0,0,0,8,16,15,6,0,0,5 +0,0,8,14,13,13,10,0,0,4,16,13,13,16,9,0,0,4,16,2,6,16,1,0,0,0,0,1,14,5,0,0,0,0,0,6,15,0,0,0,0,0,1,15,6,0,0,0,0,0,11,16,3,0,0,0,0,0,11,11,1,0,0,0,7 +0,0,4,12,12,1,0,0,0,0,14,16,16,11,0,0,0,0,16,3,3,14,4,0,0,1,15,0,0,10,6,0,0,3,13,0,0,11,5,0,0,2,16,0,1,14,3,0,0,1,14,7,12,16,0,0,0,0,6,15,15,5,0,0,0 +0,4,16,14,14,15,5,0,0,8,16,16,16,16,9,0,0,11,14,0,11,15,1,0,0,5,5,3,16,8,0,0,0,0,0,11,14,1,0,0,0,0,4,16,5,0,0,0,0,0,14,14,0,0,0,0,0,3,16,10,0,0,0,0,7 +0,0,9,9,1,0,0,0,0,0,10,16,3,0,0,0,0,0,13,16,7,0,0,0,0,0,6,16,13,0,0,0,0,0,0,14,16,0,0,0,0,0,0,13,16,13,4,0,0,0,10,16,16,16,15,2,0,0,8,16,13,8,5,0,1 +0,0,5,15,10,3,0,0,0,0,14,16,12,14,2,0,0,3,16,5,0,13,4,0,0,5,14,0,0,13,7,0,0,6,12,0,1,16,3,0,0,3,16,2,4,15,2,0,0,0,14,11,15,10,0,0,0,0,6,15,12,3,0,0,0 +0,0,4,15,11,1,0,0,0,2,13,16,16,0,0,0,0,2,12,16,12,0,0,0,0,0,0,14,14,0,0,0,0,0,0,15,14,0,0,0,0,0,0,16,13,0,0,0,0,0,3,16,15,0,0,0,0,0,2,15,16,1,0,0,1 +0,0,5,12,12,1,0,0,0,11,16,12,14,9,0,0,0,14,7,0,10,11,0,0,0,0,3,15,16,8,0,0,0,0,2,12,12,14,3,0,0,0,0,0,0,10,14,0,0,0,9,10,8,13,16,0,0,0,6,12,16,12,4,0,3 +0,0,8,15,13,8,0,0,0,1,16,15,16,15,0,0,0,5,16,1,5,16,2,0,0,2,16,6,15,16,2,0,0,0,9,16,14,16,5,0,0,0,0,0,4,16,3,0,0,0,9,12,15,14,0,0,0,0,7,14,12,3,0,0,9 +0,0,8,12,8,14,3,0,0,2,15,13,11,16,4,0,0,3,16,10,11,9,0,0,0,0,4,16,16,4,0,0,0,0,2,15,16,8,0,0,0,3,15,7,12,10,0,0,0,4,16,4,13,8,0,0,0,1,9,16,15,3,0,0,8 +0,1,15,16,16,16,9,0,0,7,16,13,11,16,9,0,0,9,16,4,10,15,1,0,0,8,9,3,15,8,0,0,0,0,0,10,15,0,0,0,0,0,1,16,9,0,0,0,0,0,10,16,2,0,0,0,0,0,16,13,0,0,0,0,7 +0,0,8,16,7,0,0,0,0,1,15,11,15,0,0,0,0,2,14,0,11,2,0,0,0,0,1,0,13,4,0,0,0,0,0,6,13,0,0,0,0,0,0,13,8,0,0,0,0,0,13,16,10,10,11,0,0,0,10,15,12,12,12,1,2 +0,0,7,16,10,0,0,0,0,0,14,11,13,10,0,0,0,1,16,4,6,13,0,0,0,0,4,0,8,10,0,0,0,0,0,2,15,4,0,0,0,0,0,9,13,0,0,0,0,0,9,16,16,16,9,0,0,0,11,14,12,12,15,2,2 +0,0,12,16,9,5,0,0,0,0,16,9,13,15,2,0,0,4,16,0,4,16,4,0,0,0,14,13,15,16,8,0,0,0,5,11,8,16,8,0,0,0,0,0,0,14,7,0,0,0,12,10,12,16,2,0,0,0,10,13,12,4,0,0,9 +0,0,4,10,12,8,0,0,0,0,9,16,12,11,0,0,0,0,12,9,3,0,0,0,0,0,13,16,16,6,0,0,0,0,9,6,8,13,1,0,0,0,0,0,4,16,3,0,0,0,13,12,14,13,1,0,0,0,7,14,10,0,0,0,5 +0,0,4,16,11,4,0,0,0,1,14,13,13,16,0,0,0,2,15,2,0,12,4,0,0,4,13,0,0,13,1,0,0,3,13,0,0,15,1,0,0,1,16,0,4,15,1,0,0,0,14,10,11,13,0,0,0,0,5,15,15,4,0,0,0 +0,0,6,9,14,10,1,0,0,4,16,15,5,13,4,0,0,7,13,4,6,15,2,0,0,0,9,16,16,9,0,0,0,0,11,13,15,10,0,0,0,0,15,4,5,15,0,0,0,1,16,9,10,14,0,0,0,0,7,13,14,5,0,0,8 +0,0,8,13,7,5,0,0,0,2,16,14,14,15,2,0,0,8,10,4,3,8,4,0,0,8,8,0,0,4,8,0,0,8,8,0,0,8,8,0,0,4,13,0,0,13,7,0,0,0,14,10,10,15,3,0,0,0,6,12,14,5,0,0,0 +0,0,0,10,11,0,0,0,0,0,0,15,11,9,0,0,0,0,5,15,10,16,2,0,0,0,13,9,12,13,0,0,0,3,16,7,13,14,5,0,0,12,16,16,16,16,8,0,0,5,8,13,16,4,0,0,0,0,0,11,15,0,0,0,4 +0,0,4,14,10,2,0,0,0,0,12,13,14,13,0,0,0,0,11,5,3,13,0,0,0,0,7,12,11,16,1,0,0,0,1,10,9,14,3,0,0,0,0,0,0,13,5,0,0,0,4,8,8,16,5,0,0,0,7,16,16,11,0,0,9 +0,0,6,14,9,0,0,0,0,3,16,15,16,6,0,0,0,6,14,0,8,10,0,0,0,0,2,0,11,10,0,0,0,0,0,5,16,4,0,0,0,0,2,14,12,1,0,0,0,0,10,16,16,16,16,0,0,0,10,13,12,8,10,1,2 +0,0,9,12,10,3,0,0,0,0,14,16,13,13,0,0,0,4,16,2,1,16,3,0,0,4,16,0,0,12,8,0,0,6,16,0,0,15,8,0,0,5,15,0,1,16,5,0,0,2,16,11,14,13,0,0,0,0,8,16,13,6,0,0,0 +0,0,9,16,16,9,0,0,0,1,16,12,16,16,0,0,0,0,2,7,16,9,0,0,0,0,7,16,15,8,1,0,0,0,5,9,9,15,8,0,0,0,0,0,0,13,12,0,0,0,6,8,12,16,10,0,0,0,9,15,12,4,0,0,3 +0,0,6,11,8,12,1,0,0,2,16,12,16,14,8,0,0,3,15,4,1,13,4,0,0,0,9,15,14,12,0,0,0,0,6,16,16,9,0,0,0,2,15,8,6,12,0,0,0,4,16,10,12,15,0,0,0,0,5,12,12,7,0,0,8 +0,0,10,8,10,12,6,0,0,2,16,14,12,15,11,0,0,3,9,2,4,14,2,0,0,0,0,1,14,4,0,0,0,0,0,5,14,0,0,0,0,0,1,13,6,0,0,0,0,1,12,16,1,0,0,0,0,0,14,10,0,0,0,0,7 +0,0,0,7,11,0,0,0,0,0,0,11,5,2,0,0,0,0,3,14,3,14,0,0,0,0,8,6,7,7,0,0,0,1,15,4,12,9,4,0,0,5,16,16,16,15,8,0,0,1,1,6,10,0,0,0,0,0,0,10,9,0,0,0,4 +0,0,11,12,7,0,0,0,0,6,14,8,15,16,3,0,0,3,15,9,4,16,3,0,0,0,3,14,16,12,0,0,0,0,3,12,15,15,2,0,0,0,15,10,0,13,8,0,0,1,16,5,5,12,11,0,0,0,14,16,16,9,2,0,8 +0,0,2,11,16,7,0,0,0,0,8,16,16,2,0,0,0,2,16,16,16,0,0,0,0,0,5,16,16,0,0,0,0,0,2,16,16,1,0,0,0,0,8,16,16,3,0,0,0,0,9,16,16,13,0,0,0,0,2,12,13,9,0,0,1 +0,0,5,15,13,2,0,0,0,0,10,13,12,11,0,0,0,0,3,2,4,15,0,0,0,0,0,9,16,10,0,0,0,0,0,3,13,16,6,0,0,0,0,0,0,7,14,0,0,0,5,8,8,10,16,1,0,0,4,9,14,13,7,0,3 +0,0,8,16,16,15,1,0,0,0,16,14,14,11,0,0,0,4,16,16,13,4,0,0,0,3,14,12,14,15,1,0,0,0,0,0,0,15,6,0,0,0,0,0,1,14,7,0,0,0,15,12,14,13,0,0,0,0,11,16,13,2,0,0,5 +0,0,16,14,12,7,0,0,0,0,16,8,12,10,0,0,0,4,16,4,0,0,0,0,0,6,16,16,13,3,0,0,0,0,1,5,10,16,3,0,0,0,0,0,0,14,5,0,0,2,14,8,8,16,3,0,0,1,10,16,15,8,0,0,5 +0,0,6,13,16,3,0,0,0,1,15,16,16,9,0,0,0,0,3,4,16,7,0,0,0,0,0,5,16,6,0,0,0,0,9,16,16,4,1,0,0,0,14,16,16,16,6,0,0,0,9,16,9,5,0,0,0,0,9,13,2,0,0,0,7 +0,0,12,5,0,0,0,0,0,0,16,2,0,0,0,0,0,3,12,0,0,0,0,0,0,4,12,0,0,0,0,0,0,7,14,16,14,3,0,0,0,3,16,8,9,16,4,0,0,2,16,3,4,16,4,0,0,0,11,12,11,4,0,0,6 +0,1,7,13,7,0,0,0,0,8,16,15,16,5,0,0,0,6,16,8,8,13,1,0,0,4,12,0,0,13,7,0,0,8,12,0,0,8,8,0,0,7,13,0,0,14,7,0,0,4,16,8,10,16,5,0,0,1,15,16,14,7,0,0,0 +0,0,9,8,1,0,0,0,0,5,16,16,7,0,0,0,0,8,10,8,8,0,0,0,0,0,2,4,12,0,0,0,0,0,0,6,10,0,0,0,0,0,0,7,9,0,0,0,0,0,6,16,15,11,5,0,0,0,9,14,12,14,10,0,2 +0,0,11,11,2,0,0,0,0,0,12,14,15,2,0,0,0,0,10,8,6,16,0,0,0,0,7,13,7,16,2,0,0,0,0,11,12,14,5,0,0,0,0,0,0,8,10,0,0,0,7,10,10,14,15,0,0,0,7,12,16,16,12,1,9 +0,0,0,14,6,0,0,0,0,0,9,11,2,0,0,0,0,1,16,6,0,0,0,0,0,4,14,0,0,0,0,0,0,6,15,11,6,2,0,0,0,2,16,13,8,15,3,0,0,0,10,13,3,5,14,0,0,0,1,10,13,16,10,0,6 +0,0,8,16,16,8,0,0,0,0,8,11,13,16,0,0,0,0,0,0,13,11,0,0,0,0,0,1,16,7,0,0,0,0,10,16,16,13,6,0,0,0,13,16,13,8,1,0,0,0,6,16,3,0,0,0,0,0,11,15,0,0,0,0,7 +0,0,8,15,16,14,2,0,0,1,16,14,12,16,7,0,0,0,8,1,3,16,5,0,0,0,0,8,16,11,0,0,0,0,0,6,14,13,0,0,0,0,0,0,3,16,6,0,0,0,10,8,12,16,2,0,0,0,9,16,15,5,0,0,3 +0,0,3,13,0,0,0,0,0,0,9,13,0,0,0,0,0,0,12,6,0,0,0,0,0,0,15,7,0,0,0,0,0,3,16,14,8,2,0,0,0,4,16,12,12,16,4,0,0,2,15,12,8,15,13,0,0,0,3,11,15,12,8,0,6 +0,0,4,12,12,11,1,0,0,1,16,10,1,14,0,0,0,1,14,7,0,14,0,0,0,0,4,16,13,10,0,0,0,0,2,16,16,3,0,0,0,1,13,11,15,7,0,0,0,2,16,5,14,8,0,0,0,0,6,9,12,3,0,0,8 +0,0,6,16,7,0,0,0,0,0,16,11,14,6,0,0,0,2,15,0,3,16,1,0,0,7,8,0,0,13,2,0,0,5,8,0,0,11,4,0,0,7,7,0,0,12,4,0,0,5,16,7,7,16,0,0,0,0,7,16,12,4,0,0,0 +0,0,8,13,12,2,0,0,0,3,16,13,12,14,0,0,0,0,6,1,9,13,0,0,0,0,0,5,16,9,0,0,0,0,0,1,12,16,2,0,0,0,0,0,0,12,9,0,0,1,10,6,7,15,9,0,0,0,9,12,15,11,2,0,3 +0,2,11,14,5,0,0,0,0,5,15,12,16,2,0,0,0,4,12,0,12,4,0,0,0,0,1,0,12,4,0,0,0,0,0,1,14,1,0,0,0,0,0,9,7,0,0,0,0,1,9,15,10,8,4,0,0,2,15,15,12,12,7,0,2 +0,0,8,15,12,1,0,0,0,4,16,14,12,11,0,0,0,4,16,5,1,14,4,0,0,4,14,1,0,12,4,0,0,6,12,0,0,10,5,0,0,8,13,0,1,13,4,0,0,4,16,16,16,14,1,0,0,0,8,13,11,3,0,0,0 +0,0,4,13,14,6,0,0,0,0,8,15,6,16,4,0,0,0,8,15,3,16,1,0,0,0,0,13,16,15,1,0,0,0,7,16,16,4,0,0,0,4,16,9,12,10,0,0,0,2,14,9,11,16,0,0,0,0,5,12,15,7,0,0,8 +0,1,6,16,13,6,1,0,0,1,12,16,16,16,1,0,0,0,10,16,16,12,0,0,0,2,14,16,16,12,0,0,0,2,9,16,16,12,0,0,0,0,1,14,16,14,0,0,0,0,6,16,16,14,2,0,0,0,4,12,13,8,2,0,1 +0,0,8,14,13,3,0,0,0,0,16,16,16,15,0,0,0,0,13,12,4,16,2,0,0,0,2,15,14,15,2,0,0,0,4,15,16,7,0,0,0,0,15,14,8,15,4,0,0,4,16,12,6,16,7,0,0,0,6,13,12,8,0,0,8 +0,1,10,16,9,0,0,0,0,9,15,13,16,0,0,0,0,4,2,0,14,2,0,0,0,0,0,0,12,4,0,0,0,0,0,1,14,1,0,0,0,0,0,9,7,0,0,0,0,0,14,16,16,16,11,0,0,0,8,10,12,14,10,0,2 +0,0,1,14,8,0,0,0,0,0,10,15,3,0,0,0,0,0,13,12,0,0,0,0,0,0,16,8,0,0,0,0,0,3,16,14,11,2,0,0,0,4,16,14,12,15,1,0,0,0,12,15,8,16,11,0,0,0,1,10,13,12,5,0,6 +0,0,0,4,16,2,0,0,0,0,0,14,10,2,8,0,0,0,10,15,1,8,12,0,0,4,16,5,1,15,8,0,0,13,16,14,16,16,2,0,1,12,12,12,16,10,0,0,0,0,0,5,16,8,0,0,0,0,0,8,15,4,0,0,4 +0,0,8,10,0,0,0,0,0,0,14,16,5,0,0,0,0,0,15,11,11,0,0,0,0,0,10,6,12,0,0,0,0,0,1,4,14,0,0,0,0,0,0,6,10,0,0,0,0,0,5,15,14,9,9,2,0,0,10,16,15,15,12,1,2 +0,0,6,16,16,13,0,0,0,0,13,12,13,16,3,0,0,0,0,0,8,14,0,0,0,0,1,7,14,10,0,0,0,0,9,16,16,16,7,0,0,0,1,15,12,9,3,0,0,0,6,16,4,0,0,0,0,0,9,13,1,0,0,0,7 +0,0,3,14,5,0,0,0,0,0,12,16,3,0,0,0,0,2,12,8,0,0,0,0,0,3,3,0,0,0,0,0,0,7,4,0,6,0,0,0,0,4,16,15,13,15,3,0,0,2,14,14,4,14,11,0,0,0,3,13,16,16,12,0,6 +0,0,0,2,16,4,0,0,0,0,0,9,13,0,0,0,0,0,2,15,5,9,7,0,0,0,12,10,1,16,5,0,0,7,15,8,10,16,2,0,3,16,16,16,16,13,0,0,1,8,7,5,16,14,0,0,0,0,0,1,15,6,0,0,4 +0,0,9,14,15,4,0,0,0,7,16,16,16,10,0,0,0,5,10,4,16,4,0,0,0,0,0,16,16,7,0,0,0,0,0,3,9,16,3,0,0,0,2,0,1,15,7,0,0,0,15,13,13,16,4,0,0,0,9,15,15,8,0,0,3 +0,0,0,10,15,0,0,0,0,0,5,15,5,0,0,0,0,0,13,8,0,0,0,0,0,0,16,4,0,0,0,0,0,5,16,12,9,3,0,0,0,2,16,15,12,15,8,0,0,0,12,14,5,12,11,0,0,0,1,8,14,15,5,0,6 +0,0,7,11,14,4,0,0,0,12,16,12,15,8,0,0,0,6,9,0,12,7,0,0,0,0,1,9,16,2,0,0,0,0,8,16,16,15,1,0,0,0,0,0,2,15,9,0,0,2,10,4,2,13,10,0,0,0,7,12,15,12,1,0,3 +0,0,0,4,15,7,0,0,0,0,0,6,15,1,0,0,0,0,0,12,8,4,15,0,0,0,4,14,1,12,12,0,0,8,15,13,8,16,6,0,6,16,16,16,16,14,0,0,3,7,6,9,16,9,0,0,0,0,0,5,13,2,0,0,4 +0,0,9,14,4,0,0,0,0,4,16,16,16,7,0,0,0,5,16,10,10,14,1,0,0,8,14,0,1,13,4,0,0,8,12,0,0,10,8,0,0,8,12,0,0,11,7,0,0,5,15,9,5,13,4,0,0,0,8,16,16,13,1,0,0 +0,0,3,14,16,14,3,0,0,3,15,10,14,16,6,0,0,7,13,0,10,16,7,0,0,8,12,0,1,16,4,0,0,7,12,0,0,13,4,0,0,3,14,1,0,13,4,0,0,0,11,11,9,15,2,0,0,0,2,11,12,4,0,0,0 +0,1,10,14,13,0,0,0,0,6,12,8,16,7,0,0,0,0,0,0,14,8,0,0,0,0,8,8,16,6,0,0,0,0,9,16,16,16,6,0,0,0,2,15,5,4,2,0,0,0,11,14,0,0,0,0,0,0,12,5,0,0,0,0,7 +0,0,9,16,16,10,0,0,0,1,16,7,8,16,6,0,0,4,16,7,9,16,6,0,0,0,9,12,12,16,4,0,0,0,0,0,0,16,6,0,0,0,0,0,0,14,7,0,0,0,4,6,4,16,4,0,0,0,9,13,12,10,0,0,9 +0,0,6,8,0,0,0,0,0,0,10,15,0,0,0,0,0,0,10,15,0,0,0,0,0,0,12,14,0,0,0,0,0,2,16,16,16,15,4,0,0,0,13,13,9,16,12,0,0,0,13,12,12,16,7,0,0,0,8,16,15,8,0,0,6 +0,2,11,15,8,6,0,0,0,10,14,8,15,16,0,0,0,9,14,0,10,16,2,0,0,2,16,10,16,16,3,0,0,0,4,8,8,16,4,0,0,0,0,0,0,15,7,0,0,2,11,12,15,16,8,0,0,2,12,9,8,4,0,0,9 +0,0,8,14,7,0,0,0,0,3,16,13,16,10,0,0,0,7,14,1,7,14,1,0,0,7,11,0,0,13,4,0,0,4,8,0,0,8,8,0,0,4,12,0,0,9,8,0,0,3,15,5,6,15,6,0,0,0,8,16,16,9,0,0,0 +0,1,9,16,15,1,0,0,0,8,14,8,14,8,0,0,0,8,5,3,15,5,0,0,0,0,0,9,16,6,0,0,0,0,0,0,9,16,3,0,0,0,0,0,0,10,10,0,0,0,5,7,6,16,7,0,0,0,9,16,14,9,1,0,3 +0,1,8,10,3,0,0,0,0,4,16,16,16,11,1,0,0,3,16,9,8,11,4,0,0,0,10,7,3,10,2,0,0,0,3,16,13,5,0,0,0,0,13,15,8,0,0,0,0,4,15,5,13,0,0,0,0,1,7,12,11,0,0,0,8 +0,0,9,16,12,4,0,0,0,3,16,16,16,16,3,0,0,5,16,1,1,13,8,0,0,1,14,10,10,16,6,0,0,0,6,16,16,8,0,0,0,1,14,16,12,0,0,0,0,4,16,10,16,4,0,0,0,1,11,16,13,1,0,0,8 +0,0,1,14,15,3,0,0,0,2,15,16,16,13,0,0,0,6,15,12,10,16,3,0,0,8,15,0,0,10,8,0,0,6,12,0,0,11,8,0,0,1,15,6,2,14,8,0,0,0,10,16,14,15,3,0,0,0,2,9,16,7,0,0,0 +0,0,2,15,12,0,0,0,0,0,11,8,15,4,0,0,0,0,13,4,12,4,0,0,0,0,1,1,15,0,0,0,0,0,0,10,9,0,0,0,0,0,8,15,1,0,0,0,0,6,16,13,8,8,2,0,0,0,4,10,12,13,6,0,2 +0,0,6,14,14,4,0,0,0,0,16,15,15,16,2,0,0,5,12,1,0,15,5,0,0,8,12,0,0,8,8,0,0,5,12,0,0,8,8,0,0,4,13,0,0,10,7,0,0,1,16,6,7,16,3,0,0,0,5,15,16,11,0,0,0 +0,0,5,14,16,7,0,0,0,3,14,2,5,12,0,0,0,5,9,0,7,11,0,0,0,0,0,5,15,5,0,0,0,0,0,7,12,14,1,0,0,0,0,0,0,11,7,0,0,0,3,8,3,12,6,0,0,0,7,16,13,8,0,0,3 +0,0,0,1,13,12,1,0,0,0,0,6,16,14,1,0,0,8,12,16,16,11,0,0,0,4,8,9,16,15,0,0,0,0,0,0,16,15,0,0,0,0,0,0,13,16,3,0,0,0,0,0,12,16,4,0,0,0,0,0,11,16,5,0,1 +0,0,6,15,5,0,0,0,0,0,15,16,13,3,0,0,0,1,16,11,15,15,3,0,0,8,9,3,5,16,4,0,0,8,9,0,0,10,8,0,0,8,10,0,0,12,5,0,0,3,15,12,13,16,1,0,0,0,8,16,13,6,0,0,0 +0,1,10,16,13,4,0,0,0,7,16,6,12,12,1,0,0,10,13,0,9,16,4,0,0,4,16,9,14,16,5,0,0,0,5,8,11,16,4,0,0,0,0,0,0,16,9,0,0,0,9,8,1,14,9,0,0,0,12,16,16,15,7,0,9 +0,1,7,15,13,2,0,0,0,7,14,7,13,8,0,0,0,0,0,1,13,7,0,0,0,0,0,7,16,5,0,0,0,0,0,1,9,12,0,0,0,0,0,0,2,14,6,0,0,0,5,5,2,14,8,0,0,0,11,16,12,10,1,0,3 +0,0,0,14,8,0,0,0,0,0,0,16,8,0,0,0,0,0,6,16,3,0,0,0,0,0,7,15,0,0,0,0,0,0,15,16,15,8,1,0,0,0,16,12,4,11,12,0,0,0,10,13,0,2,16,4,0,0,1,9,15,16,13,0,6 +0,2,11,14,7,1,0,0,0,10,15,13,16,4,0,0,0,11,12,5,16,3,0,0,0,1,2,15,14,0,0,0,0,0,5,12,15,11,1,0,0,0,0,0,2,14,10,0,0,0,8,12,12,16,11,0,0,0,9,15,11,8,1,0,3 +0,0,15,16,16,7,0,0,0,7,16,10,15,16,3,0,0,10,16,2,14,14,0,0,0,1,13,16,16,16,3,0,0,0,0,0,5,16,4,0,0,0,0,0,1,16,10,0,0,0,7,8,8,16,10,0,0,0,9,12,13,9,1,0,9 +0,2,9,12,16,14,1,0,0,5,14,6,6,7,0,0,0,4,14,6,8,3,0,0,0,4,16,16,15,16,2,0,0,1,6,2,0,13,8,0,0,0,0,0,0,12,7,0,0,1,8,8,9,15,2,0,0,2,12,13,9,3,0,0,5 +0,0,7,12,11,9,0,0,0,7,16,15,11,13,0,0,0,0,12,7,0,0,0,0,0,0,12,10,6,0,0,0,0,0,8,12,13,14,0,0,0,0,0,0,0,8,8,0,0,0,10,6,4,12,9,0,0,0,10,13,12,10,2,0,5 +0,0,7,10,0,0,0,0,0,0,12,13,0,0,0,0,0,2,16,8,0,0,0,0,0,0,16,5,0,0,0,0,0,4,16,10,6,0,0,0,0,4,16,16,16,14,5,0,0,3,16,10,11,16,11,0,0,0,7,14,12,9,2,0,6 +0,2,10,14,13,6,0,0,0,4,16,8,13,15,3,0,0,2,16,4,9,16,4,0,0,0,12,10,12,16,4,0,0,0,2,9,12,16,0,0,0,0,0,0,4,16,1,0,0,0,2,4,11,16,4,0,0,3,16,13,11,4,0,0,9 +0,0,0,1,16,8,0,0,0,0,0,9,16,2,0,0,0,0,2,15,8,0,0,0,0,0,10,14,0,0,0,0,0,6,16,5,2,13,6,0,0,14,16,15,13,16,3,0,0,4,8,8,15,11,0,0,0,0,0,2,16,7,0,0,4 +0,0,0,4,12,0,0,0,0,0,0,10,14,0,0,0,0,0,1,15,5,0,0,0,0,0,10,13,0,12,5,0,0,3,16,2,6,16,3,0,0,11,16,10,13,16,1,0,0,1,7,12,16,11,0,0,0,0,0,5,16,5,0,0,4 +0,0,0,7,13,3,0,0,0,0,1,15,16,15,0,0,0,9,16,16,16,16,2,0,0,4,8,12,16,10,0,0,0,0,0,11,16,13,0,0,0,0,0,7,16,15,0,0,0,0,0,6,16,16,2,0,0,0,0,6,16,16,7,0,1 +0,0,8,15,7,0,0,0,0,0,14,14,16,1,0,0,0,0,8,2,13,5,0,0,0,0,0,0,14,4,0,0,0,0,0,1,15,3,0,0,0,0,0,4,15,0,0,0,0,0,4,15,15,12,10,1,0,0,7,15,14,12,16,3,2 +0,0,4,11,0,0,0,0,0,0,11,9,0,0,0,0,0,0,16,4,0,0,0,0,0,1,15,2,4,2,0,0,0,5,14,13,16,14,1,0,0,4,16,6,0,10,10,0,0,1,15,3,1,13,8,0,0,0,3,12,14,10,1,0,6 +0,0,9,15,15,4,0,0,0,4,15,7,14,12,0,0,0,7,12,2,14,13,0,0,0,2,14,16,14,16,1,0,0,0,1,3,3,16,4,0,0,0,1,0,0,14,4,0,0,0,14,11,6,14,5,0,0,0,8,12,14,11,2,0,9 +0,0,0,10,11,0,0,0,0,0,0,15,8,0,0,0,0,0,3,16,2,0,0,0,0,0,6,14,0,0,0,0,0,0,13,16,16,13,3,0,0,2,14,16,4,11,10,0,0,0,1,14,6,12,12,0,0,0,0,9,16,14,4,0,6 +0,0,4,10,0,0,0,0,0,0,9,15,2,0,0,0,0,0,12,10,0,0,0,0,0,0,15,8,3,0,0,0,0,1,16,16,16,14,2,0,0,0,16,10,5,15,8,0,0,0,11,13,11,16,4,0,0,0,3,11,13,5,0,0,6 +0,0,8,15,16,7,0,0,0,5,16,11,1,12,0,0,0,0,14,4,12,7,0,0,0,0,3,14,12,1,0,0,0,0,2,15,7,0,0,0,0,0,11,10,12,0,0,0,0,0,13,3,16,0,0,0,0,0,7,14,12,0,0,0,8 +0,1,9,13,13,5,0,0,0,10,14,6,9,16,3,0,0,7,10,0,0,16,6,0,0,0,0,0,10,14,1,0,0,0,0,9,15,3,0,0,0,0,7,16,2,0,0,0,0,0,14,9,0,3,1,0,0,0,14,16,15,12,2,0,2 +0,1,10,16,16,15,6,0,0,5,15,8,6,16,11,0,0,0,2,5,15,13,3,0,0,0,0,16,14,0,0,0,0,0,0,6,16,11,1,0,0,0,0,0,6,16,8,0,0,0,3,5,12,16,5,0,0,0,16,16,13,7,0,0,3 +0,0,3,14,16,13,6,0,0,0,13,7,1,13,16,1,0,0,12,5,0,10,12,0,0,0,8,14,12,14,2,0,0,0,0,4,14,6,0,0,0,0,0,5,13,0,0,0,0,0,0,13,6,0,0,0,0,0,2,11,0,0,0,0,9 +0,0,6,13,11,1,0,0,0,0,12,14,11,11,0,0,0,0,15,2,0,14,2,0,0,3,15,0,0,8,6,0,0,5,13,0,0,7,7,0,0,3,14,0,0,12,7,0,0,0,12,7,8,14,2,0,0,0,4,12,12,5,0,0,0 +0,1,8,16,16,12,0,0,0,7,15,9,14,15,0,0,0,3,3,0,12,14,0,0,0,0,6,10,15,14,1,0,0,8,16,16,16,15,8,0,0,5,5,10,14,1,0,0,0,0,1,15,8,0,0,0,0,0,13,11,1,0,0,0,7 +0,0,4,9,16,8,0,0,0,3,16,16,16,13,0,0,0,3,16,8,16,8,0,0,0,0,11,16,12,0,0,0,0,0,10,16,4,0,0,0,0,0,14,16,10,0,0,0,0,0,14,14,13,0,0,0,0,0,6,16,9,0,0,0,8 +0,0,13,16,13,6,0,0,0,0,15,14,15,15,3,0,0,0,10,11,7,13,1,0,0,0,0,13,16,7,0,0,0,0,10,16,13,0,0,0,0,0,15,4,14,3,0,0,0,3,12,4,16,1,0,0,0,1,12,15,6,0,0,0,8 +0,3,15,15,8,9,0,0,0,7,14,11,16,16,6,0,0,2,16,2,7,15,3,0,0,0,8,14,16,5,0,0,0,0,7,16,6,0,0,0,0,1,15,14,8,0,0,0,0,6,14,14,7,0,0,0,0,3,16,15,2,0,0,0,8 +0,0,7,12,0,0,0,0,0,0,15,15,10,13,0,0,0,5,14,3,3,14,2,0,0,4,10,0,0,10,5,0,0,3,9,0,0,15,3,0,0,2,9,0,3,16,1,0,0,0,14,4,13,8,0,0,0,0,5,16,12,1,0,0,0 +0,0,4,13,16,16,9,0,0,2,12,6,1,12,12,0,0,1,3,2,15,10,0,0,0,0,0,11,9,0,0,0,0,0,0,4,14,2,0,0,0,0,0,0,13,10,0,0,0,0,0,0,10,11,0,0,0,6,9,13,12,1,0,0,3 +0,0,9,10,15,14,0,0,0,2,16,16,16,15,0,0,0,2,16,4,15,5,0,0,0,0,12,16,12,0,0,0,0,0,13,16,4,0,0,0,0,2,16,14,12,0,0,0,0,1,16,11,16,4,0,0,0,0,9,16,15,3,0,0,8 +0,0,0,3,15,5,0,0,0,0,3,14,13,1,0,0,0,1,14,13,1,1,2,0,0,8,16,3,0,12,12,0,0,12,14,8,8,16,7,0,0,5,15,16,16,16,1,0,0,0,0,0,15,11,0,0,0,0,0,2,16,7,0,0,4 +0,5,14,15,12,10,1,0,0,13,16,16,16,16,7,0,0,12,16,3,0,1,1,0,0,8,16,4,0,0,0,0,0,0,15,13,0,0,0,0,0,0,5,16,2,0,0,0,0,0,8,16,5,0,0,0,0,6,16,13,0,0,0,0,5 +0,3,13,15,16,9,1,0,0,6,12,2,3,16,6,0,0,0,0,2,13,11,0,0,0,0,0,9,13,0,0,0,0,0,0,8,12,0,0,0,0,0,0,3,15,5,0,0,0,0,4,3,14,11,0,0,0,3,15,15,9,1,0,0,3 +0,0,3,12,14,8,5,0,0,2,14,8,10,16,14,0,0,4,12,0,4,16,11,0,0,2,16,10,13,16,4,0,0,0,5,8,9,16,0,0,0,0,0,0,11,9,0,0,0,0,0,5,15,2,0,0,0,0,2,13,6,0,0,0,9 +0,0,0,4,14,14,0,0,0,0,3,15,13,3,0,0,0,0,15,15,1,0,0,0,0,7,16,5,0,9,6,0,0,11,16,8,12,16,9,0,0,3,11,12,16,14,0,0,0,0,0,6,16,9,0,0,0,0,0,7,16,4,0,0,4 +0,3,14,16,16,13,0,0,0,8,15,8,13,16,0,0,0,0,1,2,16,10,0,0,0,0,0,12,15,1,0,0,0,0,9,15,3,0,0,0,0,2,16,8,0,0,0,0,0,6,16,4,4,7,7,0,0,3,15,16,16,13,7,0,2 +0,0,5,14,16,16,12,0,0,5,16,13,8,13,16,0,0,3,7,0,3,14,10,0,0,0,0,1,13,14,0,0,0,0,0,9,15,3,0,0,0,0,4,16,7,0,0,0,0,0,12,13,0,0,0,0,0,0,6,16,16,10,0,0,2 +0,0,2,14,15,2,0,0,0,0,13,15,14,8,0,0,0,0,16,6,11,10,0,0,0,1,9,8,15,9,0,0,0,10,16,16,16,16,9,0,0,1,4,8,16,5,5,0,0,0,0,14,13,0,0,0,0,0,2,16,6,0,0,0,7 +0,0,9,14,16,12,1,0,0,3,14,5,4,12,8,0,0,1,2,0,0,13,6,0,0,0,4,8,10,16,4,0,0,5,14,11,16,8,1,0,0,3,2,9,11,0,0,0,0,0,3,15,2,0,0,0,0,0,9,8,0,0,0,0,7 +0,0,9,16,14,12,3,0,0,3,13,4,11,8,11,0,0,1,15,5,0,12,4,0,0,0,3,14,13,7,0,0,0,0,0,10,13,0,0,0,0,0,5,12,15,0,0,0,0,0,12,2,12,0,0,0,0,0,10,16,6,0,0,0,8 +0,0,0,7,16,2,0,0,0,0,4,16,9,0,0,0,0,0,13,12,0,0,1,0,0,6,16,2,0,10,11,0,0,10,16,6,13,16,8,0,0,5,16,16,16,14,2,0,0,0,0,5,16,6,0,0,0,0,0,8,16,2,0,0,4 +0,0,1,9,8,1,0,0,0,0,8,16,14,9,0,0,0,0,14,14,1,16,0,0,0,1,16,3,0,11,4,0,0,0,16,0,0,15,4,0,0,0,14,1,5,16,0,0,0,0,11,7,14,7,0,0,0,0,4,15,13,1,0,0,0 +0,6,15,16,16,15,6,0,0,9,16,6,5,15,12,0,0,0,1,1,13,15,3,0,0,0,0,5,16,5,0,0,0,0,0,0,14,10,0,0,0,0,0,0,12,14,0,0,0,3,7,5,14,13,0,0,0,9,16,16,13,2,0,0,3 +0,0,0,11,12,0,0,0,0,0,6,16,6,0,0,0,0,3,16,6,0,5,3,0,0,10,16,0,2,15,10,0,0,6,16,14,14,14,1,0,0,0,2,4,16,10,0,0,0,0,0,8,16,4,0,0,0,0,0,10,14,0,0,0,4 +0,0,10,15,16,16,9,0,0,1,10,2,0,10,14,0,0,0,0,0,7,15,3,0,0,0,0,13,11,1,0,0,0,0,0,13,11,0,0,0,0,0,0,5,15,5,0,0,0,0,5,4,12,11,0,0,0,0,9,16,10,2,0,0,3 +0,0,11,16,12,5,0,0,0,4,16,11,16,16,3,0,0,4,16,11,16,14,0,0,0,0,10,16,16,6,0,0,0,0,0,15,14,0,0,0,0,0,7,16,5,0,0,0,0,0,15,13,0,0,0,0,0,0,12,11,0,0,0,0,9 +0,0,2,16,13,0,0,0,0,0,4,16,15,0,0,0,0,0,2,16,16,2,0,0,0,0,1,16,16,2,0,0,0,0,0,15,16,4,0,0,0,0,0,14,16,3,0,0,0,0,0,16,16,3,0,0,0,0,0,14,16,6,0,0,1 +0,1,9,15,16,13,0,0,0,5,11,4,2,13,3,0,0,1,3,0,1,15,3,0,0,0,0,0,11,11,0,0,0,0,0,11,11,0,0,0,0,0,7,14,1,0,0,0,0,0,15,6,0,0,0,0,0,0,11,16,16,15,6,0,2 +0,0,0,9,16,6,0,0,0,0,8,16,11,1,0,0,0,3,16,8,0,0,0,0,0,11,15,0,0,9,9,0,0,8,16,16,16,16,8,0,0,0,6,8,15,14,1,0,0,0,0,5,16,5,0,0,0,0,0,12,15,1,0,0,4 +0,1,7,11,16,11,0,0,0,8,14,8,10,16,3,0,0,4,4,3,15,12,0,0,0,0,0,8,13,0,0,0,0,0,0,5,16,4,0,0,0,0,0,0,10,11,0,0,0,0,0,5,13,13,0,0,0,0,13,13,8,0,0,0,3 +0,0,4,16,12,1,0,0,0,0,13,16,13,12,0,0,0,5,16,11,0,14,2,0,0,5,16,12,0,9,7,0,0,5,16,6,0,9,6,0,0,1,16,4,0,14,6,0,0,0,10,12,14,16,4,0,0,0,3,14,16,7,0,0,0 +0,3,16,5,0,3,5,0,0,7,16,5,0,12,14,0,0,10,16,2,9,16,5,0,0,7,16,14,16,13,0,0,0,0,7,16,15,5,0,0,0,0,5,16,6,0,0,0,0,0,14,11,0,0,0,0,0,3,16,9,0,0,0,0,4 +0,0,12,8,0,0,0,0,0,1,16,8,0,1,5,0,0,7,16,2,0,12,13,0,0,8,16,8,10,16,6,0,0,3,15,16,16,13,3,0,0,0,0,11,14,1,0,0,0,0,5,16,3,0,0,0,0,0,14,8,0,0,0,0,4 +0,2,14,16,12,1,0,0,0,8,15,12,16,2,0,0,0,0,3,4,16,2,0,0,0,0,0,13,10,0,0,0,0,0,4,16,4,0,0,0,0,0,12,11,0,0,0,0,0,2,16,8,6,8,9,1,0,2,13,16,16,16,16,5,2 +0,0,12,14,12,11,4,0,0,0,4,10,12,15,14,0,0,0,0,0,0,12,10,0,0,0,2,4,5,16,3,0,0,2,14,16,16,16,8,0,0,0,4,11,14,2,0,0,0,0,3,14,3,0,0,0,0,0,14,10,0,0,0,0,7 +0,0,4,16,12,1,0,0,0,0,10,15,13,11,0,0,0,0,5,12,5,16,0,0,0,0,0,0,8,15,0,0,0,0,0,1,15,12,0,0,0,0,0,11,16,10,0,0,0,0,5,16,16,16,16,6,0,0,6,16,5,5,10,13,2 +0,0,0,7,11,0,0,0,0,0,0,16,10,0,0,0,0,0,4,16,0,0,0,0,0,0,4,12,0,0,0,0,0,0,8,12,12,11,2,0,0,0,8,16,12,8,12,0,0,0,3,16,5,8,15,2,0,0,0,9,16,14,5,0,6 +0,2,15,16,16,15,1,0,0,2,13,13,11,16,1,0,0,0,2,16,15,7,0,0,0,0,0,14,14,0,0,0,0,0,9,14,16,0,0,0,0,1,14,8,12,5,0,0,0,3,16,6,15,3,0,0,0,2,16,16,10,0,0,0,8 +0,0,7,13,12,3,0,0,0,0,14,8,11,12,0,0,0,0,0,1,9,12,0,0,0,0,0,13,16,1,0,0,0,0,0,9,12,12,3,0,0,0,0,0,0,6,12,0,0,0,8,1,2,8,13,0,0,0,10,16,16,11,2,0,3 +0,0,2,16,12,0,0,0,0,0,2,16,16,3,0,0,0,0,2,16,16,3,0,0,0,0,1,16,16,2,0,0,0,0,5,16,13,0,0,0,0,0,1,16,14,0,0,0,0,0,4,16,12,0,0,0,0,0,2,14,10,0,0,0,1 +0,0,5,15,9,0,0,0,0,1,13,13,15,6,0,0,0,2,16,4,3,15,2,0,0,5,16,0,0,10,6,0,0,5,14,0,0,9,9,0,0,4,16,0,1,11,6,0,0,1,14,11,12,16,2,0,0,0,5,13,14,4,0,0,0 +0,0,2,11,15,3,0,0,0,0,9,13,5,12,0,0,0,0,14,3,0,5,4,0,0,5,11,0,0,4,6,0,0,7,12,0,0,7,6,0,0,4,14,0,1,13,5,0,0,0,13,10,13,14,0,0,0,0,3,11,13,2,0,0,0 +0,0,1,14,7,0,0,0,0,0,6,14,12,6,0,0,0,0,11,11,0,12,0,0,0,0,13,8,0,7,5,0,0,0,15,6,0,5,8,0,0,0,12,3,0,10,9,0,0,0,10,10,9,15,4,0,0,0,2,11,14,7,0,0,0 +0,0,0,12,11,0,0,0,0,0,3,16,13,1,0,0,0,0,9,16,3,0,0,0,0,0,13,13,0,0,0,0,0,0,12,12,8,6,0,0,0,0,11,16,16,16,9,0,0,0,8,16,11,9,16,2,0,0,0,11,16,16,15,1,6 +0,0,8,13,12,7,0,0,0,0,12,9,9,15,2,0,0,0,0,7,14,11,0,0,0,0,4,16,10,0,0,0,0,0,0,9,16,6,0,0,0,0,0,0,2,15,5,0,0,0,9,1,4,16,4,0,0,0,12,16,16,8,1,0,3 +0,1,7,11,13,16,14,0,0,0,8,7,4,11,10,0,0,0,0,0,1,16,1,0,0,0,0,0,11,6,0,0,0,2,11,12,16,13,4,0,0,5,9,16,6,2,0,0,0,0,4,12,0,0,0,0,0,0,13,3,0,0,0,0,7 +0,0,8,16,15,3,0,0,0,0,10,16,15,10,0,0,0,0,3,11,13,12,0,0,0,0,0,1,16,9,0,0,0,0,0,6,16,4,0,0,0,0,0,12,14,0,0,0,0,0,7,16,15,12,12,3,0,0,8,15,13,16,16,11,2 +0,0,7,15,12,0,0,0,0,6,15,8,14,3,0,0,0,3,6,0,15,3,0,0,0,0,0,4,12,0,0,0,0,0,0,11,6,0,0,0,0,0,3,15,1,0,0,0,0,0,13,13,9,12,10,0,0,0,12,13,12,10,7,2,2 +0,0,12,16,16,10,1,0,0,4,16,9,8,9,1,0,0,9,14,1,0,0,0,0,0,9,16,11,1,0,0,0,0,0,7,12,11,0,0,0,0,0,0,2,16,1,0,0,0,1,12,12,15,0,0,0,0,0,13,16,6,0,0,0,5 +0,0,9,16,15,9,0,0,0,4,16,15,12,14,2,0,0,9,16,12,3,0,0,0,0,5,16,16,13,2,0,0,0,0,3,4,14,5,0,0,0,0,0,0,12,9,0,0,0,0,7,11,16,7,0,0,0,0,13,16,13,1,0,0,5 +0,0,3,14,16,13,0,0,0,1,14,11,5,14,7,0,0,9,16,3,0,13,10,0,0,11,16,8,14,16,7,0,0,1,11,12,15,14,1,0,0,0,0,3,16,7,0,0,0,0,0,12,15,1,0,0,0,0,5,16,4,0,0,0,9 +0,0,2,16,10,0,0,0,0,0,6,16,16,4,0,0,0,0,2,15,16,7,0,0,0,0,0,11,16,4,0,0,0,0,0,15,16,3,0,0,0,0,0,13,15,0,0,0,0,0,1,16,13,0,0,0,0,0,2,15,11,0,0,0,1 +0,0,11,16,16,8,0,0,0,1,13,7,9,16,3,0,0,0,0,1,10,15,1,0,0,0,0,15,16,10,0,0,0,0,0,14,16,16,5,0,0,0,0,0,0,8,14,0,0,1,12,4,5,13,15,0,0,0,11,16,16,15,5,0,3 +0,3,6,15,13,1,0,0,0,10,16,5,11,10,0,0,0,1,11,10,11,11,0,0,0,0,0,10,16,3,0,0,0,0,1,13,13,3,0,0,0,0,7,15,6,11,0,0,0,0,10,12,7,14,0,0,0,0,4,16,15,3,0,0,8 +0,0,11,7,10,3,0,0,0,0,9,12,12,14,0,0,0,0,0,15,15,11,1,0,0,0,1,14,9,0,0,0,0,0,9,13,8,0,0,0,0,0,14,5,10,0,0,0,0,0,14,2,12,0,0,0,0,0,10,16,10,0,0,0,8 +0,4,16,16,16,15,2,0,0,3,11,8,9,16,8,0,0,0,0,1,14,15,1,0,0,0,2,15,16,6,0,0,0,0,2,12,14,14,0,0,0,0,0,0,3,16,1,0,0,5,10,4,7,16,2,0,0,2,16,16,16,8,0,0,3 +0,0,7,16,12,5,0,0,0,0,13,10,7,15,0,0,0,0,10,15,12,13,0,0,0,0,0,13,16,5,0,0,0,0,8,15,10,8,0,0,0,0,13,5,0,13,1,0,0,0,14,2,4,15,1,0,0,0,6,16,16,6,0,0,8 +0,0,5,13,15,6,0,0,0,1,15,15,10,11,0,0,0,7,16,1,0,0,0,0,0,10,16,16,12,2,0,0,0,3,8,4,9,10,0,0,0,0,0,0,5,14,0,0,0,0,4,4,13,13,0,0,0,0,11,16,16,4,0,0,5 +0,0,12,16,16,9,1,0,0,8,16,14,11,14,3,0,0,8,16,4,0,0,0,0,0,3,15,16,6,0,0,0,0,0,0,6,14,1,0,0,0,0,0,1,16,4,0,0,0,0,9,11,16,1,0,0,0,1,13,16,10,0,0,0,5 +0,0,1,15,11,1,0,0,0,0,3,16,16,2,0,0,0,0,3,16,16,1,0,0,0,0,1,16,16,2,0,0,0,0,4,16,14,0,0,0,0,0,2,16,16,0,0,0,0,0,2,16,14,0,0,0,0,0,1,15,7,0,0,0,1 +0,0,6,14,13,5,0,0,0,0,5,6,14,10,0,0,0,0,9,16,14,1,0,0,0,0,7,16,10,0,0,0,0,0,10,7,12,2,0,0,0,0,13,3,6,6,0,0,0,0,12,5,11,9,0,0,0,0,5,16,15,3,0,0,8 +0,0,0,16,6,0,0,0,0,0,0,16,14,0,0,0,0,0,0,14,16,0,0,0,0,0,0,15,15,0,0,0,0,0,0,14,15,0,0,0,0,0,0,15,14,0,0,0,0,0,0,13,14,0,0,0,0,0,0,10,13,0,0,0,1 +0,0,5,14,10,1,0,0,0,2,15,15,15,10,0,0,0,7,16,11,1,16,1,0,0,6,16,2,0,14,6,0,0,3,15,0,0,13,6,0,0,3,16,0,3,16,1,0,0,1,15,12,15,14,0,0,0,0,5,13,13,4,0,0,0 +0,0,3,12,14,3,0,0,0,0,11,11,8,13,0,0,0,5,15,1,0,7,2,0,0,3,15,3,0,3,6,0,0,3,11,2,0,4,7,0,0,1,9,0,0,5,7,0,0,0,11,4,4,14,2,0,0,0,2,13,15,9,0,0,0 +0,0,8,15,16,8,0,0,0,3,13,13,6,2,0,0,0,13,8,0,0,0,0,0,0,5,16,5,0,0,0,0,0,0,8,14,2,0,0,0,0,0,0,13,11,0,0,0,0,0,4,13,16,0,0,0,0,0,7,16,8,0,0,0,5 +0,0,16,16,16,10,0,0,0,0,6,9,15,16,1,0,0,0,0,8,16,7,0,0,0,0,0,4,16,6,0,0,0,0,0,0,8,15,1,0,0,0,0,0,0,15,10,0,0,0,1,4,9,15,12,0,0,0,15,16,16,11,2,0,3 +0,2,12,16,16,6,0,0,0,11,15,8,15,12,0,0,0,10,2,7,16,10,0,0,0,0,0,12,15,2,0,0,0,0,0,3,16,11,0,0,0,0,0,0,6,15,10,0,0,0,7,5,10,16,15,0,0,3,16,16,16,10,2,0,3 +0,0,1,12,8,0,0,0,0,0,3,16,6,0,0,0,0,0,9,12,0,0,0,0,0,0,12,11,4,2,0,0,0,0,16,16,16,16,4,0,0,0,12,10,0,2,14,1,0,0,7,11,2,6,15,5,0,0,1,10,15,16,9,0,6 +0,4,16,16,16,8,0,0,0,0,4,2,11,12,0,0,0,0,0,3,15,6,0,0,0,2,4,11,15,1,0,0,0,10,16,16,16,16,9,0,0,1,12,12,4,4,2,0,0,2,16,2,0,0,0,0,0,7,14,0,0,0,0,0,7 +0,1,12,16,16,12,0,0,0,3,15,9,14,14,0,0,0,0,0,0,14,12,0,0,0,0,6,11,16,11,3,0,0,0,11,16,16,16,12,0,0,0,5,16,6,7,3,0,0,0,11,15,0,0,0,0,0,1,15,8,0,0,0,0,7 +0,0,9,16,16,14,0,0,0,3,15,10,2,5,0,0,0,11,9,0,0,0,0,0,0,8,14,1,0,0,0,0,0,1,15,5,0,0,0,0,0,0,11,9,0,0,0,0,0,0,9,12,0,0,0,0,0,0,14,9,0,0,0,0,5 +0,2,16,16,16,13,1,0,0,0,3,3,3,15,5,0,0,0,0,0,5,15,0,0,0,0,3,5,14,3,0,0,0,0,15,16,16,14,5,0,0,0,6,14,4,9,5,0,0,0,12,7,0,0,0,0,0,4,15,0,0,0,0,0,7 +0,0,8,16,16,11,0,0,0,5,15,7,2,16,3,0,0,12,10,0,4,16,1,0,0,11,14,2,12,12,0,0,0,0,11,14,16,2,0,0,0,0,1,16,13,1,0,0,0,0,7,13,16,8,0,0,0,0,13,9,12,12,0,0,8 +0,2,0,13,12,3,0,0,5,14,1,13,16,5,0,0,0,8,16,14,16,4,0,0,0,0,8,16,16,2,0,0,0,0,0,16,16,9,0,0,0,0,3,16,16,16,4,0,0,0,11,16,16,16,6,0,0,0,1,15,16,10,0,0,8 +0,0,8,16,16,4,0,0,0,5,16,8,13,10,0,0,0,6,11,1,14,7,0,0,0,0,0,6,16,1,0,0,0,0,0,15,9,0,0,0,0,0,8,14,2,0,0,0,0,0,16,9,0,2,3,0,0,0,10,16,16,12,3,0,2 +0,0,3,13,12,0,0,0,0,1,16,13,16,4,0,0,0,8,6,7,16,1,0,0,0,0,2,15,9,0,0,0,0,0,11,14,0,0,0,0,0,0,16,10,0,0,0,0,0,0,15,13,8,9,4,0,0,0,3,13,15,13,2,0,2 +0,3,13,16,8,0,0,0,0,14,11,12,16,0,0,0,0,10,1,7,16,1,0,0,0,0,0,12,12,0,0,0,0,0,7,15,1,0,0,0,0,0,15,8,0,0,0,0,0,4,16,9,7,8,8,0,0,2,15,16,16,16,11,0,2 +0,0,5,13,16,7,0,0,0,0,15,8,11,12,0,0,0,0,12,5,14,5,0,0,0,0,10,16,8,0,0,0,0,0,9,16,2,0,0,0,0,0,15,15,6,0,0,0,0,0,14,13,10,0,0,0,0,0,8,16,4,0,0,0,8 +0,0,4,16,12,1,0,0,0,0,10,16,14,9,0,0,0,0,15,14,2,16,2,0,0,1,16,15,1,12,7,0,0,1,16,8,3,10,10,0,0,0,15,4,0,12,10,0,0,0,11,8,4,16,6,0,0,0,2,13,16,14,1,0,0 +0,0,8,16,13,4,0,0,0,0,5,6,12,14,0,0,0,0,0,3,15,14,0,0,0,0,0,13,15,4,0,0,0,0,0,9,12,1,0,0,0,0,0,1,11,12,0,0,0,0,3,4,9,16,4,0,0,0,8,15,14,12,3,0,3 +0,0,4,16,8,0,0,0,0,0,13,12,1,0,0,0,0,3,16,6,0,0,0,0,0,4,16,3,0,0,0,0,0,6,16,1,9,11,3,0,0,2,16,10,15,12,14,2,0,0,11,16,9,7,16,6,0,0,3,13,16,16,10,0,6 +0,0,5,16,16,8,0,0,0,3,11,11,7,4,0,0,0,11,11,0,0,0,0,0,0,13,15,7,0,0,0,0,0,3,8,13,8,0,0,0,0,0,0,2,15,2,0,0,0,0,8,5,15,6,0,0,0,0,7,16,15,3,0,0,5 +0,0,2,9,15,16,7,0,0,0,13,12,4,10,12,0,0,1,16,6,5,14,6,0,0,0,8,16,16,11,0,0,0,0,0,2,4,16,2,0,0,0,0,0,8,13,1,0,0,0,0,2,16,4,0,0,0,0,0,10,7,0,0,0,9 +0,0,0,6,14,16,10,0,0,0,12,16,9,14,11,0,0,7,15,3,8,13,3,0,0,6,16,14,16,8,0,0,0,0,3,4,11,13,0,0,0,0,0,0,14,10,0,0,0,0,0,4,16,5,0,0,0,0,0,7,16,0,0,0,9 +0,0,0,14,14,0,0,0,0,0,5,16,12,0,0,0,0,0,7,16,6,0,0,0,0,0,12,16,4,0,0,0,0,0,12,16,1,0,0,0,0,0,12,16,0,0,0,0,0,0,9,16,4,0,0,0,0,0,1,13,15,2,0,0,1 +0,0,5,11,14,5,0,0,0,7,13,5,4,14,2,0,0,0,4,8,2,14,2,0,0,0,1,13,14,3,0,0,0,0,1,14,8,0,0,0,0,0,9,9,10,2,0,0,0,0,13,1,8,8,0,0,0,0,6,13,14,7,0,0,8 +0,0,8,11,0,0,13,9,0,3,15,6,0,12,13,1,0,3,16,5,7,16,5,0,0,0,12,16,16,16,8,0,0,0,1,11,13,4,0,0,0,0,1,15,4,0,0,0,0,0,7,13,0,0,0,0,0,0,11,5,0,0,0,0,4 +0,2,7,12,15,13,0,0,2,15,16,15,12,5,0,0,2,16,9,1,0,0,0,0,0,10,13,1,0,0,0,0,0,2,15,7,0,0,0,0,0,0,7,14,1,0,0,0,0,0,9,16,3,0,0,0,0,0,11,13,1,0,0,0,5 +0,0,8,15,16,16,2,0,0,7,16,12,8,5,0,0,0,10,10,0,0,0,0,0,0,11,10,0,0,0,0,0,0,2,16,4,0,0,0,0,0,0,6,14,0,0,0,0,0,0,5,14,0,0,0,0,0,0,14,11,0,0,0,0,5 +0,0,2,14,12,0,0,0,0,0,4,16,12,0,0,0,0,0,5,16,6,0,0,0,0,0,6,16,6,0,0,0,0,0,9,16,5,0,0,0,0,0,10,16,4,0,0,0,0,0,8,16,7,0,0,0,0,0,2,14,16,3,0,0,1 +0,1,8,15,15,6,0,0,0,10,16,15,15,14,0,0,0,4,13,7,16,7,0,0,0,2,14,16,14,1,0,0,0,0,3,16,7,0,0,0,0,0,11,16,15,0,0,0,0,0,13,16,16,3,0,0,0,0,7,16,15,1,0,0,8 +0,0,8,16,8,0,0,0,0,9,16,13,16,5,0,0,0,7,3,6,16,4,0,0,0,0,0,15,13,0,0,0,0,0,9,16,2,0,0,0,0,0,14,9,0,0,0,0,0,0,16,11,4,6,8,0,0,0,7,16,16,11,7,0,2 +0,0,3,10,15,8,0,0,0,3,15,9,8,12,0,0,0,8,8,0,5,11,0,0,0,2,6,0,10,7,0,0,0,0,0,5,14,1,0,0,0,0,0,14,5,0,0,0,0,0,4,16,4,5,11,0,0,0,1,14,15,11,2,0,2 +0,0,6,12,14,5,0,0,0,4,16,11,8,15,6,0,0,4,16,7,2,12,6,0,0,0,13,15,15,13,2,0,0,0,1,16,16,6,0,0,0,0,8,15,14,15,1,0,0,3,16,10,10,16,1,0,0,1,12,16,14,5,0,0,8 +0,0,1,12,16,16,11,0,0,0,5,15,8,8,5,0,0,2,15,15,12,7,0,0,0,11,16,16,16,16,4,0,0,3,5,2,1,13,9,0,0,0,0,0,0,11,9,0,0,0,2,10,9,16,4,0,0,0,2,16,16,8,0,0,5 +0,0,0,0,6,16,4,0,0,0,0,0,9,16,8,0,0,0,1,5,16,16,8,0,0,8,16,16,16,16,6,0,0,5,12,12,12,16,4,0,0,0,0,0,9,16,5,0,0,0,0,0,8,16,4,0,0,0,0,0,5,16,2,0,1 +0,0,5,12,15,15,1,0,0,6,16,13,14,16,0,0,0,1,4,0,8,14,0,0,0,0,0,7,15,11,4,0,0,0,7,16,16,16,11,0,0,0,6,15,13,4,0,0,0,0,0,16,9,0,0,0,0,0,5,16,5,0,0,0,7 +0,1,9,15,16,7,0,0,0,6,14,7,14,8,0,0,0,3,2,0,14,6,0,0,0,0,1,16,16,4,0,0,0,0,0,8,15,16,4,0,0,0,0,0,0,13,8,0,0,0,6,8,11,16,4,0,0,0,15,12,10,3,0,0,3 +0,0,0,0,14,12,1,0,0,0,0,0,16,16,2,0,0,0,0,1,15,16,2,0,0,1,8,11,16,11,0,0,0,10,16,16,16,8,0,0,0,1,8,9,16,8,0,0,0,0,0,1,16,14,0,0,0,0,0,0,12,16,2,0,1 +0,0,0,0,5,13,3,0,0,0,0,1,11,16,4,0,0,2,8,14,16,16,5,0,0,2,7,4,12,16,3,0,0,0,0,0,8,16,4,0,0,0,0,0,8,16,5,0,0,0,0,0,8,16,8,0,0,0,0,0,8,16,6,0,1 +0,0,6,11,4,0,0,0,0,0,14,12,14,1,0,0,0,0,7,0,16,6,0,0,0,0,0,0,11,9,0,0,0,0,0,0,13,3,0,0,0,0,0,3,14,2,0,0,0,0,9,16,12,8,7,0,0,0,11,16,16,15,12,0,2 +0,0,1,15,4,0,0,0,0,4,7,9,16,4,0,0,0,8,7,0,4,15,0,0,0,6,6,0,0,11,6,0,0,5,9,0,0,3,9,0,0,0,15,0,0,5,9,0,0,0,11,11,5,15,5,0,0,0,3,13,16,11,0,0,0 +0,0,0,0,7,15,0,0,0,0,0,0,10,16,1,0,0,0,2,11,16,16,0,0,0,7,16,14,11,16,3,0,0,1,2,0,8,16,3,0,0,0,0,0,4,16,4,0,0,0,0,0,4,16,3,0,0,0,0,0,6,15,2,0,1 +0,0,0,4,16,4,0,0,0,0,0,9,16,3,0,0,0,0,4,16,8,4,11,0,0,1,12,14,2,13,14,0,0,11,16,13,13,16,7,0,0,9,16,16,16,13,3,0,0,0,0,6,16,6,0,0,0,0,0,6,16,4,0,0,4 +0,0,0,0,12,15,2,0,0,0,0,1,15,16,0,0,0,0,3,12,16,16,0,0,0,6,16,16,16,15,0,0,0,6,11,6,16,12,0,0,0,0,0,0,16,12,0,0,0,0,0,0,15,13,0,0,0,0,0,0,9,16,3,0,1 +0,0,8,16,15,5,0,0,0,3,16,13,16,6,0,0,0,1,5,3,16,8,0,0,0,0,1,6,16,5,0,0,0,2,15,16,16,16,6,0,0,5,12,16,15,12,3,0,0,0,1,16,6,0,0,0,0,0,10,15,0,0,0,0,7 +0,0,1,10,16,8,0,0,0,0,13,11,10,15,2,0,0,5,16,0,6,16,4,0,0,3,16,16,14,16,4,0,0,0,0,0,0,13,6,0,0,0,0,0,0,12,8,0,0,0,2,13,5,13,7,0,0,0,1,14,13,9,1,0,9 +0,0,9,16,12,1,0,0,0,7,16,13,16,9,0,0,0,9,6,0,12,12,0,0,0,0,0,0,11,10,0,0,0,0,0,2,15,6,0,0,0,0,0,11,12,0,0,0,0,0,12,16,13,9,2,0,0,0,11,16,16,16,11,0,2 +0,0,6,16,15,10,1,0,0,1,14,8,8,11,2,0,0,5,12,11,12,6,0,0,0,7,16,14,12,15,3,0,0,1,2,0,0,10,8,0,0,0,1,0,0,9,6,0,0,0,14,4,5,14,1,0,0,0,8,16,13,3,0,0,5 +0,0,0,14,3,0,0,0,0,0,5,15,2,0,0,0,0,0,10,11,0,0,0,0,0,0,13,6,0,0,0,0,0,0,14,16,16,11,3,0,0,0,13,7,2,7,15,0,0,0,8,13,1,5,16,1,0,0,1,11,16,15,7,0,6 +0,0,2,15,1,0,0,0,0,0,10,10,0,0,0,0,0,1,14,3,0,0,0,0,0,7,13,0,0,0,0,0,0,7,15,16,12,6,1,0,0,4,16,11,8,13,9,0,0,1,15,10,4,10,14,0,0,0,4,12,16,12,5,0,6 +0,2,14,16,9,0,0,0,0,6,16,14,14,2,0,0,0,5,12,4,16,1,0,0,0,0,1,3,16,1,0,0,0,0,0,8,12,0,0,0,0,0,1,13,9,0,0,0,0,1,15,16,16,13,8,1,0,2,16,16,16,16,16,3,2 +0,0,5,16,16,5,0,0,0,5,16,11,7,1,0,0,0,11,16,14,5,0,0,0,0,4,8,11,16,13,1,0,0,0,0,0,4,16,7,0,0,0,2,0,0,9,11,0,0,0,8,11,8,15,7,0,0,0,3,12,16,9,0,0,5 +0,0,9,14,11,9,0,0,0,1,16,11,9,15,0,0,0,4,16,3,6,14,7,0,0,1,14,16,16,10,1,0,0,0,10,16,12,0,0,0,0,1,14,10,16,7,0,0,0,2,16,4,11,15,0,0,0,0,10,14,15,11,0,0,8 +0,0,5,14,10,0,0,0,0,1,16,11,11,11,0,0,0,4,15,3,1,13,4,0,0,5,9,0,0,6,8,0,0,6,8,0,0,4,8,0,0,4,14,0,0,7,6,0,0,1,16,11,10,15,2,0,0,0,5,12,13,6,0,0,0 +0,0,11,16,15,10,0,0,0,0,10,16,8,7,0,0,0,2,16,3,0,0,0,0,0,6,16,16,15,7,0,0,0,1,8,8,9,15,6,0,0,0,0,0,0,10,8,0,0,0,2,7,12,16,4,0,0,0,11,13,11,2,0,0,5 +0,0,5,16,8,1,0,0,0,4,13,14,15,6,0,0,0,8,13,0,8,16,1,0,0,8,12,0,0,12,8,0,0,8,12,0,0,12,8,0,0,5,15,2,0,13,9,0,0,0,15,11,12,15,4,0,0,0,6,16,14,5,0,0,0 +0,2,14,14,1,0,0,0,0,9,13,13,6,0,0,0,0,9,5,3,10,0,0,0,0,0,1,3,9,0,0,0,0,0,0,8,4,0,0,0,0,0,2,15,4,2,0,0,0,1,13,16,16,16,9,0,0,0,13,8,8,7,2,0,2 +0,1,8,16,16,15,3,0,0,4,15,9,6,4,0,0,0,7,15,12,8,1,0,0,0,8,15,12,14,15,1,0,0,1,2,0,1,14,8,0,0,0,0,0,0,12,8,0,0,0,12,6,7,15,3,0,0,0,10,16,11,3,0,0,5 +0,0,3,14,16,14,0,0,0,0,15,11,14,16,0,0,0,5,10,0,13,10,0,0,0,0,3,8,16,10,1,0,0,0,13,16,16,16,10,0,0,0,4,14,9,5,1,0,0,0,2,16,4,0,0,0,0,0,3,15,0,0,0,0,7 +0,2,10,13,7,0,0,0,0,8,12,9,16,3,0,0,0,1,0,0,16,5,0,0,0,0,0,6,16,2,0,0,0,0,0,4,14,13,0,0,0,0,0,0,3,16,7,0,0,0,3,5,10,16,5,0,0,3,16,14,12,5,0,0,3 +0,0,4,12,9,0,0,0,0,4,13,7,15,4,0,0,0,7,11,0,8,10,0,0,0,2,16,16,16,7,0,0,0,0,6,16,16,15,2,0,0,0,8,11,1,6,8,0,0,0,8,12,8,13,6,0,0,0,4,16,13,8,0,0,8 +0,2,10,16,14,5,0,0,0,6,13,8,15,12,0,0,0,0,0,1,13,10,0,0,0,0,7,15,16,8,0,0,0,0,6,12,13,16,5,0,0,0,0,0,0,14,8,0,0,0,11,14,16,15,3,0,0,1,13,10,8,2,0,0,3 +0,0,11,15,4,0,0,0,0,6,16,16,16,1,0,0,0,1,6,2,15,7,0,0,0,0,0,0,14,8,0,0,0,0,0,4,16,6,0,0,0,0,0,11,16,2,0,0,0,0,12,16,15,12,13,4,0,0,12,16,16,16,15,6,2 +0,0,0,0,12,10,0,0,0,0,0,5,16,2,0,0,0,0,2,15,8,3,10,0,0,1,12,11,1,6,14,0,0,11,16,16,16,15,10,0,0,5,8,8,10,16,3,0,0,0,0,0,11,11,0,0,0,0,0,0,13,6,0,0,4 +0,1,9,13,7,0,0,0,0,7,12,6,15,6,0,0,0,0,1,4,13,10,0,0,0,0,4,16,16,13,0,0,0,0,0,0,2,13,6,0,0,0,0,0,0,10,8,0,0,0,9,7,9,15,1,0,0,0,13,15,9,1,0,0,3 +0,2,14,16,7,0,0,0,0,2,11,11,16,4,0,0,0,0,0,0,13,8,0,0,0,0,4,9,15,7,0,0,0,0,7,16,16,12,1,0,0,0,0,0,3,16,8,0,0,1,6,11,15,16,7,0,0,2,13,14,11,5,0,0,3 +0,0,3,12,15,2,0,0,0,0,14,10,0,0,0,0,0,4,14,0,0,0,0,0,0,6,10,0,0,0,0,0,0,8,9,8,10,7,1,0,0,4,16,14,6,8,10,0,0,2,15,9,5,11,11,0,0,0,3,13,16,11,1,0,6 +0,0,1,10,15,4,0,0,0,4,13,12,8,13,0,0,0,10,14,0,1,14,0,0,0,8,15,8,14,14,0,0,0,1,14,16,16,15,1,0,0,0,11,10,0,10,9,0,0,0,4,14,5,10,12,0,0,0,1,13,16,13,6,0,8 +0,2,8,9,13,16,7,0,0,4,16,10,5,5,2,0,0,4,16,0,0,0,0,0,0,4,16,16,11,3,0,0,0,1,6,8,13,13,0,0,0,0,0,0,7,16,0,0,0,3,11,12,16,6,0,0,0,3,15,14,4,0,0,0,5 +0,0,7,13,16,7,0,0,0,4,16,7,4,14,6,0,0,2,15,7,4,13,12,0,0,0,12,16,14,14,8,0,0,0,0,0,0,8,8,0,0,0,0,0,1,13,4,0,0,0,0,4,14,11,0,0,0,1,12,12,6,0,0,0,9 +0,0,4,13,15,2,0,0,0,1,13,3,7,10,0,0,0,6,8,0,0,12,0,0,0,4,10,3,11,11,0,0,0,0,14,16,15,15,1,0,0,0,8,16,1,5,8,0,0,0,8,10,5,13,7,0,0,0,4,15,11,6,0,0,8 +0,0,10,14,4,0,0,0,0,4,16,12,16,2,0,0,0,0,7,0,8,8,0,0,0,0,0,0,8,8,0,0,0,0,0,0,14,5,0,0,0,0,0,7,13,1,0,0,0,0,6,16,14,12,9,0,0,0,14,14,12,12,15,1,2 +0,1,9,16,13,7,0,0,0,7,13,4,5,16,3,0,0,7,13,4,7,16,7,0,0,1,14,14,12,11,6,0,0,0,0,0,0,12,3,0,0,0,0,0,5,13,0,0,0,0,7,7,15,4,0,0,0,0,11,13,5,0,0,0,9 +0,0,5,12,10,2,0,0,0,0,12,16,16,5,0,0,0,0,16,16,16,3,0,0,0,0,13,16,16,3,0,0,0,3,16,16,16,3,0,0,0,0,16,16,16,5,0,0,0,0,14,16,16,12,1,0,0,0,3,8,10,8,2,0,1 +0,5,16,14,2,0,0,0,0,7,16,16,10,0,0,0,0,0,0,12,10,0,0,0,0,0,0,15,7,0,0,0,0,0,5,16,2,0,0,0,0,1,12,11,0,0,0,0,0,6,16,16,16,12,3,0,0,5,16,16,16,15,5,0,2 +0,0,9,13,16,15,0,0,0,1,12,12,14,13,0,0,0,0,0,1,14,9,0,0,0,0,5,10,16,13,3,0,0,0,16,16,16,12,7,0,0,0,4,16,7,0,0,0,0,0,5,16,0,0,0,0,0,0,11,12,0,0,0,0,7 +0,0,3,12,6,0,0,0,0,0,11,11,1,0,0,0,0,1,13,1,0,0,0,0,0,3,12,0,4,3,0,0,0,6,10,13,16,15,2,0,0,4,16,12,1,2,10,0,0,0,14,4,7,13,7,0,0,0,3,16,14,8,0,0,6 +0,1,14,16,5,0,0,0,0,2,13,13,16,4,0,0,0,0,4,13,16,3,0,0,0,0,9,16,16,13,0,0,0,0,4,8,8,16,8,0,0,0,0,1,5,14,11,0,0,1,13,16,16,15,3,0,0,0,15,11,5,1,0,0,3 +0,0,3,11,11,6,0,0,0,3,14,16,16,12,0,0,0,0,7,16,16,12,0,0,0,0,13,16,16,12,0,0,0,0,13,16,16,14,0,0,0,2,15,16,16,13,0,0,0,0,12,16,16,12,0,0,0,0,3,11,11,7,0,0,1 +0,0,2,13,16,6,0,0,0,0,11,10,1,0,0,0,0,0,14,1,0,0,0,0,0,1,15,0,0,0,0,0,0,1,14,6,8,2,0,0,0,0,15,13,8,11,1,0,0,0,9,12,0,9,7,0,0,0,0,13,16,15,6,0,6 +0,0,0,1,13,10,0,0,0,0,0,10,15,3,0,0,0,0,7,16,6,1,14,1,0,3,16,8,0,9,15,0,0,14,16,16,12,16,10,0,0,6,13,16,16,16,6,0,0,0,0,0,14,12,0,0,0,0,0,2,15,3,0,0,4 +0,0,3,11,14,16,14,0,0,0,13,15,12,15,13,0,0,0,3,0,1,16,5,0,0,0,0,4,16,16,10,0,0,0,0,7,16,16,7,0,0,0,0,6,15,2,0,0,0,0,0,15,9,0,0,0,0,0,3,15,2,0,0,0,7 +0,0,3,8,12,12,16,11,0,0,14,16,16,15,16,9,0,0,6,3,0,9,15,0,0,0,0,9,14,16,12,0,0,0,1,16,16,12,3,0,0,0,0,3,16,4,0,0,0,0,0,13,13,0,0,0,0,0,2,15,5,0,0,0,7 +0,0,5,12,12,14,5,0,0,0,13,13,11,8,4,0,0,5,16,1,0,0,0,0,0,8,16,16,12,2,0,0,0,1,7,8,15,15,0,0,0,0,0,0,1,16,1,0,0,0,5,9,11,15,0,0,0,0,5,14,11,3,0,0,5 +0,0,0,2,16,4,0,0,0,0,1,15,14,1,3,0,0,0,11,16,3,4,16,0,0,9,16,8,4,13,12,0,0,3,15,16,16,16,11,0,0,0,1,8,14,14,4,0,0,0,0,0,16,8,0,0,0,0,0,2,16,6,0,0,4 +0,1,9,15,9,0,0,0,0,4,13,7,15,4,0,0,0,0,0,2,15,3,0,0,0,0,12,16,16,11,1,0,0,0,5,5,5,13,8,0,0,0,0,0,1,12,6,0,0,0,9,8,14,12,1,0,0,0,15,12,6,0,0,0,3 +0,0,4,12,15,8,0,0,0,3,16,6,4,15,2,0,0,2,15,1,2,12,6,0,0,0,13,16,16,15,1,0,0,2,15,12,10,14,7,0,0,6,15,1,0,5,9,0,0,0,15,8,4,10,8,0,0,0,2,15,15,11,1,0,8 +0,0,0,9,12,5,0,0,0,0,15,16,16,9,0,0,0,0,13,16,16,15,0,0,0,0,13,16,16,12,0,0,0,0,11,16,16,13,0,0,0,0,7,16,16,11,1,0,0,0,7,16,16,8,0,0,0,0,0,10,12,5,0,0,1 +0,0,6,14,13,2,0,0,0,10,16,9,16,12,0,0,0,5,16,16,16,16,3,0,0,0,5,9,5,8,8,0,0,0,0,0,0,8,8,0,0,0,0,0,1,12,8,0,0,0,5,16,16,15,3,0,0,0,4,15,9,2,0,0,9 +0,0,13,16,10,1,0,0,0,8,15,8,16,6,0,0,0,11,13,0,11,12,0,0,0,5,7,0,10,12,0,0,0,0,0,0,12,10,0,0,0,0,0,3,16,5,0,0,0,0,7,15,15,12,12,2,0,1,12,16,13,11,11,1,2 +0,0,7,16,14,8,0,0,0,0,5,14,13,12,0,0,0,0,8,16,16,10,0,0,0,0,9,16,16,6,0,0,0,0,11,16,16,5,0,0,0,2,14,16,16,4,0,0,0,1,16,16,16,3,0,0,0,0,7,14,16,10,1,0,1 +0,0,4,15,12,2,0,0,0,0,12,11,10,14,0,0,0,6,11,0,0,15,4,0,0,4,14,0,0,8,8,0,0,6,12,0,0,9,8,0,0,1,15,3,0,10,10,0,0,0,12,13,12,16,3,0,0,0,4,13,15,6,0,0,0 +0,0,5,16,16,16,4,0,0,0,12,15,9,5,1,0,0,12,16,14,7,0,0,0,0,9,16,16,16,15,0,0,0,0,0,0,2,16,4,0,0,0,6,5,0,14,7,0,0,0,12,10,9,16,2,0,0,0,5,16,16,7,0,0,5 +0,1,8,10,3,0,0,0,0,2,15,16,16,12,0,0,0,1,14,16,16,12,0,0,0,4,16,16,16,8,0,0,0,4,16,16,16,6,0,0,0,4,16,16,15,3,0,0,0,4,16,16,13,2,0,0,0,1,7,10,8,2,0,0,1 +0,0,4,13,11,1,0,0,0,9,15,10,12,8,0,0,0,8,10,0,6,9,0,0,0,0,0,1,16,3,0,0,0,0,0,14,16,13,3,0,0,0,6,2,4,8,12,0,0,1,15,4,5,12,12,0,0,0,7,13,16,13,1,0,3 +0,0,8,15,14,1,0,0,0,1,15,15,14,11,0,0,0,7,16,3,1,16,3,0,0,8,16,0,0,13,7,0,0,5,16,0,0,13,8,0,0,2,16,3,1,16,4,0,0,0,16,14,16,12,0,0,0,0,9,16,10,1,0,0,0 +0,0,0,13,6,2,0,0,0,0,2,16,8,16,3,0,0,1,14,13,12,16,0,0,0,9,16,16,16,16,10,0,0,3,12,14,16,13,6,0,0,0,0,8,16,1,0,0,0,0,0,11,10,0,0,0,0,0,0,13,7,0,0,0,4 +0,0,9,12,12,1,0,0,0,6,14,5,9,11,3,0,0,7,12,9,15,9,1,0,0,1,16,14,2,0,0,0,0,0,14,12,14,2,0,0,0,2,12,0,9,13,0,0,0,0,15,1,6,14,0,0,0,0,6,14,15,3,0,0,8 +0,0,4,16,7,2,0,0,0,0,8,16,16,4,0,0,0,0,11,16,16,3,0,0,0,0,9,16,16,0,0,0,0,0,11,16,16,2,0,0,0,0,9,16,15,0,0,0,0,0,9,16,15,0,0,0,0,0,6,12,3,0,0,0,1 +0,0,4,16,10,1,0,0,0,0,11,10,11,12,0,0,0,6,16,0,1,12,3,0,0,6,14,1,0,5,7,0,0,8,8,0,0,5,8,0,0,4,13,0,1,12,9,0,0,0,14,10,14,16,2,0,0,0,4,15,12,3,0,0,0 +0,0,0,5,12,15,12,0,0,0,8,11,3,4,14,1,0,2,15,2,4,16,13,0,0,1,15,12,12,12,10,0,0,0,1,2,0,13,7,0,0,0,0,0,2,14,1,0,0,0,0,0,12,7,0,0,0,0,0,8,11,0,0,0,9 +0,0,1,12,12,1,0,0,0,0,10,13,12,9,0,0,0,2,16,6,1,13,3,0,0,6,16,2,0,12,8,0,0,2,16,1,0,8,8,0,0,0,14,5,0,9,9,0,0,0,5,15,4,14,6,0,0,0,0,14,15,7,0,0,0 +0,3,12,12,15,16,16,2,0,2,14,13,12,16,11,0,0,0,0,0,11,15,2,0,0,0,0,11,16,3,0,0,0,0,1,16,12,0,0,0,0,0,8,16,2,0,0,0,0,0,14,12,0,0,0,0,0,3,16,9,0,0,0,0,7 +0,0,0,3,13,16,5,0,0,0,3,15,7,13,13,0,0,1,13,6,14,16,11,0,0,1,16,14,10,11,10,0,0,0,0,0,0,14,6,0,0,0,0,0,2,15,2,0,0,0,0,0,10,8,0,0,0,0,0,4,13,0,0,0,9 +0,0,0,2,15,10,0,0,0,0,0,10,16,16,0,0,0,0,4,16,16,3,0,0,0,4,15,16,16,1,0,0,0,4,12,16,16,0,0,0,0,0,0,12,16,4,0,0,0,0,0,9,16,4,0,0,0,0,0,4,15,4,0,0,1 +0,0,2,15,15,11,3,0,0,2,15,6,4,4,3,0,0,5,16,15,7,0,0,0,0,1,4,6,13,13,0,0,0,0,0,0,0,14,4,0,0,0,3,3,0,11,3,0,0,0,7,7,10,12,0,0,0,0,3,14,9,1,0,0,5 +0,0,7,13,15,6,0,0,0,1,16,6,10,8,8,0,0,4,16,3,4,11,8,0,0,0,11,11,13,9,0,0,0,0,2,15,16,3,0,0,0,0,9,9,7,15,2,0,0,0,12,7,0,15,4,0,0,0,4,15,16,13,1,0,8 +0,0,1,14,6,9,5,0,0,0,11,12,3,16,7,0,0,5,16,2,12,11,3,0,0,10,16,8,16,16,14,0,0,7,16,16,14,11,3,0,0,0,3,13,8,0,0,0,0,0,0,15,5,0,0,0,0,0,2,16,2,0,0,0,4 +0,0,8,16,16,16,9,0,0,5,15,9,5,14,16,2,0,0,0,0,3,16,9,0,0,0,0,0,14,11,1,0,0,0,0,7,16,5,0,0,0,0,3,16,8,0,0,0,0,0,9,16,3,0,0,0,0,0,12,16,1,0,0,0,7 +0,0,5,14,8,0,0,0,0,0,15,11,15,0,0,0,0,0,5,2,11,3,0,0,0,0,0,9,16,5,0,0,0,0,1,12,12,15,5,0,0,0,0,0,0,5,12,0,0,0,6,4,7,12,10,0,0,0,9,15,12,9,1,0,3 +0,0,6,16,9,1,0,0,0,3,15,8,13,3,0,0,0,8,8,0,11,4,0,0,0,1,0,7,16,6,0,0,0,0,2,16,14,16,5,0,0,0,0,5,0,11,8,0,0,0,4,6,9,15,2,0,0,0,4,15,11,3,0,0,3 +0,0,4,12,14,2,0,0,0,4,15,7,11,14,5,0,0,7,12,0,3,15,4,0,0,2,14,12,14,6,0,0,0,0,3,16,16,2,0,0,0,0,6,12,10,11,0,0,0,0,7,12,9,11,0,0,0,0,2,12,10,1,0,0,8 +0,2,4,7,13,15,2,0,0,14,16,16,15,16,5,0,0,1,4,0,14,14,0,0,0,0,0,0,16,12,0,0,0,0,0,3,16,7,0,0,0,0,0,5,16,7,0,0,0,0,0,5,16,6,0,0,0,0,0,7,16,9,0,0,7 +0,0,2,10,15,5,0,0,0,0,10,15,5,1,0,0,0,1,16,2,0,0,0,0,0,4,14,0,0,0,0,0,0,5,12,2,7,9,2,0,0,1,16,15,13,12,12,0,0,0,15,11,7,15,6,0,0,0,4,13,15,7,0,0,6 +0,0,12,14,1,0,0,0,0,8,16,12,6,0,0,0,0,8,7,7,8,0,0,0,0,0,0,9,7,0,0,0,0,0,0,11,5,0,0,0,0,0,0,14,1,0,0,0,0,0,9,13,4,7,4,0,0,0,15,16,16,16,13,0,2 +0,0,2,12,15,5,0,0,0,0,13,5,5,10,4,0,0,0,14,1,3,15,7,0,0,0,12,10,10,7,0,0,0,0,1,15,11,0,0,0,0,0,4,14,14,0,0,0,0,0,6,10,12,1,0,0,0,0,1,15,11,0,0,0,8 +0,0,3,14,11,0,0,0,0,3,14,9,14,0,0,0,0,8,11,0,4,11,7,0,0,3,15,13,14,11,1,0,0,0,0,14,16,12,1,0,0,0,7,14,2,14,8,0,0,0,8,10,5,14,5,0,0,0,4,15,13,6,0,0,8 +0,0,5,13,8,3,5,0,0,2,16,11,3,2,3,0,0,7,13,4,4,0,0,0,0,5,16,12,14,11,0,0,0,0,0,0,2,14,2,0,0,0,0,0,0,13,3,0,0,0,10,4,6,13,0,0,0,0,6,14,13,3,0,0,5 +0,0,10,16,12,1,0,0,0,9,16,12,16,7,0,0,0,4,7,1,16,4,0,0,0,0,0,14,16,8,0,0,0,0,0,10,14,16,4,0,0,5,7,0,0,14,9,0,0,3,15,5,6,15,7,0,0,0,8,16,16,8,0,0,3 +0,0,0,12,14,1,0,0,0,0,7,16,6,0,0,0,0,1,14,8,0,0,0,0,0,3,16,10,8,2,0,0,0,2,16,16,16,15,4,0,0,1,14,16,6,8,15,0,0,0,5,16,16,13,16,1,0,0,0,9,16,15,7,0,6 +0,1,13,16,15,1,0,0,0,10,15,7,16,4,0,0,0,11,15,7,16,4,0,0,0,1,11,12,15,0,0,0,0,0,1,16,11,0,0,0,0,0,7,16,4,0,0,0,0,0,14,16,5,3,0,0,0,0,13,16,16,16,10,0,2 +0,0,1,13,16,6,0,0,0,6,14,16,16,7,0,0,2,14,16,16,16,2,0,0,0,0,5,16,16,2,0,0,0,0,2,16,16,2,0,0,0,0,0,16,16,1,0,0,0,0,0,14,16,2,0,0,0,0,0,13,16,1,0,0,1 +0,5,14,12,15,15,3,0,0,0,2,4,11,16,5,0,0,0,0,1,15,9,0,0,0,0,0,7,16,1,0,0,0,0,0,3,16,11,0,0,0,0,0,0,15,16,0,0,0,1,7,10,16,7,0,0,0,2,12,13,4,0,0,0,3 +0,0,2,12,13,0,0,0,0,3,15,13,16,0,0,0,0,10,13,1,16,0,0,0,0,0,1,4,16,0,0,0,0,0,0,6,13,0,0,0,0,0,0,9,10,7,8,0,0,0,0,14,15,15,3,0,0,0,0,15,12,3,0,0,2 +0,0,0,9,16,12,2,0,0,0,3,15,10,16,4,0,0,1,14,8,0,13,7,0,0,7,15,1,0,14,6,0,0,4,15,0,0,15,5,0,0,1,12,4,9,15,0,0,0,0,5,16,16,9,0,0,0,0,0,9,14,2,0,0,0 +0,0,0,11,15,4,0,0,0,0,4,16,14,2,0,0,0,0,11,16,3,0,0,0,0,0,14,13,0,0,0,0,0,1,16,12,3,0,0,0,0,2,16,16,16,6,0,0,0,0,11,16,16,15,0,0,0,0,0,8,16,15,1,0,6 +0,0,2,10,13,16,6,0,0,9,16,14,12,9,2,0,0,5,16,3,0,0,0,0,0,0,10,14,6,1,0,0,0,0,1,13,16,11,0,0,0,0,0,0,8,16,0,0,0,0,0,2,15,12,0,0,0,0,0,13,16,2,0,0,5 +0,0,3,11,15,8,0,0,0,0,9,14,8,9,0,0,0,0,6,14,5,0,0,0,0,0,0,12,16,7,0,0,0,0,4,14,11,11,0,0,0,0,12,8,0,16,1,0,0,0,14,11,11,15,1,0,0,0,3,13,13,6,0,0,8 +0,3,13,12,9,12,1,0,0,4,16,16,16,14,1,0,0,4,16,7,3,0,0,0,0,5,16,10,0,0,0,0,0,0,10,16,4,0,0,0,0,0,0,12,12,0,0,0,0,0,6,16,7,0,0,0,0,1,15,12,1,0,0,0,5 +0,0,7,16,16,16,16,3,0,0,2,10,9,9,16,7,0,0,0,0,0,10,15,0,0,0,0,6,12,16,11,0,0,0,0,11,16,16,6,0,0,0,0,9,16,8,0,0,0,0,5,16,10,0,0,0,0,0,11,15,0,0,0,0,7 +0,0,2,12,16,7,0,0,0,0,0,10,16,3,0,0,0,0,0,3,15,5,0,0,0,0,0,0,6,15,3,0,0,0,0,0,0,8,14,0,0,0,0,0,0,11,16,0,0,0,0,3,13,16,9,0,0,0,6,16,12,8,1,0,3 +0,0,0,6,14,15,3,0,0,1,9,16,16,14,2,0,0,6,16,16,16,14,0,0,0,0,6,16,16,8,0,0,0,0,6,16,16,8,0,0,0,0,4,16,16,9,0,0,0,0,1,16,16,15,3,0,0,0,0,10,16,16,4,0,1 +0,0,10,14,14,6,0,0,0,0,8,16,16,11,1,0,0,0,4,16,16,14,2,0,0,0,1,16,16,16,7,0,0,0,0,16,16,16,2,0,0,0,2,14,16,15,3,0,0,0,5,16,16,11,0,0,0,0,8,12,14,6,0,0,1 +0,0,6,16,8,0,0,0,0,2,16,14,13,0,0,0,0,8,14,5,15,0,0,0,0,9,11,8,12,0,0,0,0,3,6,14,8,0,0,0,0,0,4,16,2,0,0,0,0,0,8,16,12,10,5,0,0,0,8,16,16,16,8,0,2 +0,0,0,11,15,10,1,0,0,0,9,10,8,16,5,0,0,0,15,2,0,11,10,0,0,7,10,0,0,9,9,0,0,8,8,0,0,9,8,0,0,8,6,1,5,16,2,0,0,3,14,13,16,14,0,0,0,0,1,9,14,3,0,0,0 +0,0,8,16,9,0,0,0,0,2,15,16,16,4,0,0,0,7,16,4,16,3,0,0,0,9,12,7,14,0,0,0,0,1,4,16,7,0,0,0,0,0,9,16,2,0,0,0,0,0,12,16,15,15,3,0,0,0,7,13,15,14,14,0,2 +0,0,1,7,14,12,0,0,0,0,13,11,12,14,0,0,0,9,16,12,14,14,0,0,0,2,4,2,5,15,0,0,0,0,0,0,3,15,0,0,0,0,0,0,3,16,0,0,0,0,0,0,14,7,0,0,0,0,2,11,11,1,0,0,9 +0,0,2,10,14,3,0,0,0,3,16,16,16,15,1,0,0,12,12,5,16,4,0,0,0,2,15,16,12,0,0,0,0,0,5,16,13,0,0,0,0,0,4,14,14,9,0,0,0,0,7,15,15,12,0,0,0,0,0,12,16,6,0,0,8 +0,0,0,6,11,1,0,0,0,0,5,15,11,1,0,0,0,0,9,12,0,0,0,0,0,0,13,4,0,0,0,0,0,0,14,3,3,0,0,0,0,0,11,16,16,14,4,0,0,0,5,16,11,14,13,0,0,0,0,4,9,14,13,0,6 +0,0,6,11,15,16,13,0,0,0,9,8,4,9,16,0,0,0,0,0,0,10,10,0,0,0,4,8,8,16,4,0,0,0,5,12,16,12,0,0,0,0,0,6,15,1,0,0,0,0,2,16,3,0,0,0,0,0,8,8,0,0,0,0,7 +0,0,11,15,2,0,0,0,0,1,16,16,1,0,0,0,0,6,16,13,6,8,2,0,0,10,16,16,16,16,8,0,0,1,5,10,16,15,0,0,0,0,0,8,15,3,0,0,0,0,2,16,9,0,0,0,0,0,10,16,3,0,0,0,4 +0,0,9,12,14,16,16,2,0,0,4,12,9,12,16,1,0,0,0,0,1,14,8,0,0,0,0,0,8,14,1,0,0,0,0,2,16,12,0,0,0,0,0,0,13,16,5,0,0,0,0,1,13,14,1,0,0,0,10,16,13,1,0,0,3 +0,1,12,14,1,0,0,0,0,10,16,16,4,0,0,0,0,8,11,16,0,0,0,0,0,0,6,13,0,0,0,0,0,0,11,11,0,0,0,0,0,0,16,8,0,0,0,0,0,4,16,15,16,16,9,0,0,1,16,16,16,14,8,0,2 +0,0,4,15,11,1,0,0,0,0,11,14,13,12,0,0,0,3,15,3,1,16,4,0,0,4,14,0,0,12,8,0,0,7,12,0,1,15,7,0,0,5,11,0,5,16,6,0,0,0,12,12,16,10,0,0,0,0,5,12,11,0,0,0,0 +0,0,9,13,10,5,0,0,0,0,4,15,16,13,0,0,0,0,1,14,16,15,0,0,0,0,8,16,16,14,1,0,0,0,6,16,16,14,0,0,0,0,12,16,16,14,0,0,0,0,6,16,16,6,0,0,0,0,4,14,15,3,0,0,1 +0,0,6,15,14,5,0,0,0,0,4,15,16,13,0,0,0,0,3,16,16,16,1,0,0,0,5,16,16,15,2,0,0,0,6,16,16,15,1,0,0,0,6,16,16,16,2,0,0,0,4,16,16,12,0,0,0,0,8,16,16,8,0,0,1 +0,0,5,9,14,16,11,0,0,3,16,16,12,8,3,0,0,7,15,1,0,0,0,0,0,12,13,7,4,0,0,0,0,5,16,16,16,6,0,0,0,0,0,4,16,7,0,0,0,0,0,10,16,2,0,0,0,0,9,15,6,0,0,0,5 +0,0,4,14,11,3,0,0,0,0,14,4,8,3,0,0,0,0,15,1,7,14,10,0,0,0,5,16,12,0,0,0,0,0,3,16,9,0,0,0,0,0,9,7,13,0,0,0,0,0,11,10,13,0,0,0,0,0,5,15,11,0,0,0,8 +0,0,1,16,12,1,0,0,0,0,11,16,16,10,0,0,0,0,13,7,3,12,2,0,0,1,15,1,0,10,6,0,0,2,13,0,0,11,8,0,0,3,15,1,0,13,9,0,0,0,9,10,3,16,11,0,0,0,0,8,12,12,3,0,0 +0,0,5,9,13,8,0,0,0,0,4,16,15,3,0,0,0,0,13,14,2,6,3,0,0,5,16,5,11,16,8,0,0,7,16,16,16,14,1,0,0,3,8,16,16,4,0,0,0,0,5,16,10,0,0,0,0,0,10,12,3,0,0,0,4 +0,0,2,6,12,16,16,2,0,2,15,16,9,5,16,5,0,0,5,1,0,2,16,2,0,0,0,0,0,8,10,0,0,0,0,0,4,16,7,0,0,0,10,13,16,13,1,0,0,0,9,13,16,1,0,0,0,0,0,7,12,0,0,0,7 +0,0,4,11,12,7,0,0,0,1,16,13,14,12,0,0,0,2,16,5,8,14,0,0,0,1,15,16,16,14,0,0,0,0,6,12,12,16,6,0,0,0,1,3,2,15,5,0,0,0,7,16,16,16,2,0,0,0,1,13,12,5,0,0,9 +0,0,2,11,16,16,8,0,0,0,10,16,16,16,8,0,0,0,2,0,8,16,2,0,0,0,0,6,14,16,5,0,0,0,0,14,16,16,10,0,0,0,0,10,16,7,0,0,0,0,0,13,13,0,0,0,0,0,1,16,7,0,0,0,7 +0,0,0,2,14,14,1,0,0,0,0,12,16,16,1,0,0,1,10,16,16,14,0,0,0,6,16,15,16,10,0,0,0,1,3,11,16,7,0,0,0,0,0,7,16,8,0,0,0,0,0,7,16,13,1,0,0,0,0,3,15,15,0,0,1 +0,0,2,14,3,0,0,0,0,0,9,14,0,0,0,0,0,0,11,10,0,0,0,0,0,0,16,7,0,0,0,0,0,2,16,12,8,4,0,0,0,0,16,16,16,16,11,0,0,0,12,10,4,7,14,0,0,0,3,11,16,16,7,0,6 +0,0,3,15,16,14,2,0,0,3,15,13,5,14,4,0,0,4,15,13,10,16,4,0,0,0,7,15,16,16,4,0,0,0,0,0,0,12,4,0,0,0,0,0,0,11,5,0,0,2,13,10,5,12,8,0,0,0,5,13,16,14,5,0,9 +0,0,9,14,8,8,0,0,0,4,16,16,16,16,2,0,0,8,16,4,1,0,0,0,0,1,16,8,0,0,0,0,0,0,7,16,9,0,0,0,0,0,0,3,16,6,0,0,0,0,4,9,15,13,0,0,0,0,14,13,12,5,0,0,5 +0,0,6,14,14,4,0,0,0,0,14,15,6,13,2,0,0,0,7,16,16,15,1,0,0,0,0,10,10,0,0,0,0,0,0,0,14,1,0,0,0,0,0,0,4,11,0,0,0,3,10,4,0,13,0,0,0,0,9,12,16,12,0,0,9 +0,0,7,11,0,0,0,0,0,0,12,10,0,0,0,0,0,1,14,6,0,0,0,0,0,4,16,7,5,2,0,0,0,5,16,16,16,15,2,0,0,2,16,15,13,16,7,0,0,1,16,14,8,16,3,0,0,0,7,15,16,7,0,0,6 +0,0,3,8,10,12,15,0,0,0,8,10,9,15,13,0,0,0,0,0,5,16,5,0,0,0,0,5,13,14,3,0,0,0,4,14,16,16,5,0,0,0,0,11,12,1,0,0,0,0,0,16,7,0,0,0,0,0,2,13,0,0,0,0,7 +0,0,4,12,6,0,0,0,0,0,16,10,16,1,0,0,0,0,16,5,14,13,0,0,0,0,7,16,15,4,0,0,0,0,4,16,9,0,0,0,0,0,13,13,15,4,0,0,0,0,16,8,9,15,2,0,0,0,5,12,12,8,1,0,8 +0,0,10,15,9,2,0,0,0,7,16,9,12,13,0,0,0,8,11,0,0,13,2,0,0,5,12,0,0,8,8,0,0,8,10,0,0,10,6,0,0,5,11,0,0,14,2,0,0,2,16,9,14,12,0,0,0,0,7,14,9,0,0,0,0 +0,0,6,15,14,8,0,0,0,3,13,0,3,14,3,0,0,6,14,0,2,14,4,0,0,0,13,16,16,16,4,0,0,0,0,4,4,13,4,0,0,0,0,0,0,12,5,0,0,0,14,6,0,13,4,0,0,0,6,15,16,9,0,0,9 +0,0,2,16,16,4,0,0,0,0,8,16,16,12,0,0,0,0,14,16,16,0,0,0,0,2,16,16,14,4,0,0,0,8,16,16,10,2,0,0,0,8,16,16,14,2,0,0,0,0,16,16,16,14,2,0,0,0,2,8,16,10,0,0,1 +0,0,7,14,7,0,0,0,0,6,16,16,8,0,0,0,0,3,7,13,10,0,0,0,0,0,0,13,8,0,0,0,0,0,6,15,4,0,0,0,0,0,12,11,0,0,0,0,0,0,14,15,12,16,6,0,0,0,6,14,11,6,1,0,2 +0,0,6,16,14,0,0,0,0,1,11,16,16,4,0,0,0,0,12,16,16,4,0,0,0,0,15,16,16,1,0,0,0,0,16,16,16,0,0,0,0,4,16,16,15,3,0,0,0,0,9,16,16,13,0,0,0,0,4,14,16,6,0,0,1 +0,0,2,13,16,9,0,0,0,0,10,16,16,16,2,0,0,4,16,9,1,15,4,0,0,4,16,3,0,12,5,0,0,5,16,1,0,12,8,0,0,1,16,9,0,12,8,0,0,0,10,16,12,15,3,0,0,0,2,13,16,9,0,0,0 +0,0,14,10,10,4,0,0,0,0,16,8,8,15,4,0,0,0,13,5,0,7,8,0,0,0,6,14,8,15,7,0,0,0,8,16,16,9,0,0,0,2,15,9,15,6,0,0,0,5,15,8,14,10,0,0,0,0,8,10,16,7,0,0,8 +0,0,1,10,2,0,0,0,0,0,3,16,5,0,0,0,0,0,8,15,0,0,0,0,0,0,12,8,0,0,0,0,0,0,13,9,3,0,0,0,0,2,16,16,16,16,7,0,0,0,14,8,2,8,16,2,0,0,2,15,16,16,13,1,6 +0,0,0,5,8,3,0,0,0,0,15,16,16,16,0,0,0,0,16,16,16,13,0,0,0,0,16,16,16,5,0,0,0,0,16,16,16,9,0,0,0,0,16,16,16,4,0,0,0,0,15,16,16,10,0,0,0,0,2,8,8,7,0,0,1 +0,0,0,9,10,0,0,0,0,0,2,16,4,0,0,0,0,0,11,12,0,0,0,0,0,3,16,4,0,6,1,0,0,9,16,3,9,16,4,0,0,9,16,16,16,10,0,0,0,0,4,9,15,2,0,0,0,0,0,8,13,0,0,0,4 +0,0,0,2,15,4,0,0,0,0,0,7,16,5,0,0,0,0,8,16,14,1,0,0,0,7,16,16,12,0,0,0,0,2,8,14,12,0,0,0,0,0,0,9,13,0,0,0,0,0,0,6,16,13,2,0,0,0,0,2,12,13,2,0,1 +0,0,6,16,16,16,8,0,0,6,16,16,15,11,5,0,0,12,13,3,0,0,0,0,0,9,15,3,0,0,0,0,0,3,15,15,2,0,0,0,0,0,5,15,7,0,0,0,0,0,0,14,6,0,0,0,0,0,6,15,1,0,0,0,5 +0,0,5,14,16,14,0,0,0,0,10,13,13,16,1,0,0,0,0,0,12,14,0,0,0,0,2,9,16,16,11,0,0,0,8,16,16,11,3,0,0,0,0,15,13,0,0,0,0,0,3,16,6,0,0,0,0,0,8,16,2,0,0,0,7 +0,0,0,9,14,1,0,0,0,0,7,16,6,0,0,0,0,4,16,10,0,0,0,0,0,8,16,3,0,6,4,0,0,4,16,16,16,16,8,0,0,0,5,8,16,12,0,0,0,0,0,6,16,2,0,0,0,0,0,8,15,2,0,0,4 +0,0,2,15,0,0,0,0,0,0,8,14,0,0,0,0,0,0,12,8,0,0,0,0,0,2,16,5,0,0,0,0,0,6,16,8,8,1,0,0,0,8,16,16,16,14,0,0,0,3,15,10,6,16,6,0,0,0,4,11,16,14,1,0,6 +0,0,6,12,7,0,0,0,0,2,15,13,15,13,0,0,0,8,13,0,9,15,0,0,0,1,15,7,14,11,0,0,0,0,6,16,16,1,0,0,0,0,5,16,16,14,0,0,0,0,11,16,16,16,4,0,0,0,3,7,12,12,3,0,8 +0,3,12,15,9,1,0,0,0,3,16,8,13,10,0,0,0,0,11,12,12,12,0,0,0,0,3,15,16,12,0,0,0,0,0,0,6,14,1,0,0,0,0,0,0,15,6,0,0,7,14,7,4,15,7,0,0,3,9,12,15,9,0,0,9 +0,0,0,4,14,0,0,0,0,0,0,13,9,0,0,0,0,0,2,16,2,0,0,0,0,1,12,11,1,6,2,0,0,9,16,16,16,16,2,0,0,0,7,9,16,8,0,0,0,0,0,6,16,5,0,0,0,0,0,7,13,1,0,0,4 +0,0,8,13,15,10,3,0,0,0,13,15,12,12,9,0,0,3,14,7,0,0,0,0,0,7,8,4,2,0,0,0,0,2,16,16,15,0,0,0,0,0,1,5,13,0,0,0,0,0,0,10,6,0,0,0,0,0,6,13,1,0,0,0,5 +0,0,0,10,9,0,0,0,0,0,1,15,7,0,0,0,0,0,11,13,0,0,0,0,0,1,16,7,0,0,0,0,0,7,16,6,7,15,3,0,0,6,16,16,16,15,2,0,0,0,0,8,16,4,0,0,0,0,0,9,12,0,0,0,4 +0,0,6,12,4,0,0,0,0,0,12,16,15,1,0,0,0,2,16,6,5,14,0,0,0,9,16,4,0,14,3,0,0,7,16,6,0,14,6,0,0,4,16,15,2,16,6,0,0,0,12,16,16,11,0,0,0,0,5,14,14,5,0,0,0 +0,0,7,15,10,0,0,0,0,0,12,10,15,3,0,0,0,0,0,0,12,11,0,0,0,0,0,0,14,9,0,0,0,1,5,8,16,12,2,0,0,10,16,16,15,10,3,0,0,0,2,16,4,0,0,0,0,0,8,12,0,0,0,0,7 +0,0,1,12,6,0,0,0,0,0,5,15,2,3,8,0,0,1,13,11,1,14,9,0,0,6,15,3,6,15,0,0,0,12,15,12,15,15,6,0,0,6,12,14,16,16,5,0,0,0,0,10,14,0,0,0,0,0,0,14,6,0,0,0,4 +0,6,16,6,0,0,0,0,0,9,16,16,2,0,0,0,0,1,2,16,7,0,0,0,0,0,2,16,3,0,0,0,0,0,10,15,0,0,0,0,0,4,16,6,0,0,0,0,0,10,16,12,14,16,9,0,0,7,16,16,12,10,3,0,2 +0,0,0,9,13,5,0,0,0,0,7,16,15,1,0,0,0,0,7,16,8,0,0,0,0,0,11,16,9,0,0,0,0,0,9,16,6,0,0,0,0,0,10,16,5,0,0,0,0,0,11,16,11,0,0,0,0,0,1,12,10,0,0,0,1 +0,0,4,14,9,0,0,0,0,2,15,16,16,0,0,0,0,5,11,7,14,0,0,0,0,0,0,8,11,0,0,0,0,0,0,11,5,0,0,0,0,0,4,15,0,4,0,0,0,0,8,15,12,16,2,0,0,0,7,16,12,7,0,0,2 +0,0,0,3,15,4,0,0,0,0,2,14,13,1,6,1,0,1,13,13,0,5,16,3,0,5,16,3,0,11,13,0,0,12,16,12,13,16,2,0,0,6,12,13,16,14,1,0,0,0,0,1,16,5,0,0,0,0,0,4,15,0,0,0,4 +0,0,7,16,14,2,0,0,0,6,14,8,16,9,0,0,0,1,2,2,16,8,0,0,0,0,0,12,16,5,0,0,0,0,0,5,13,16,3,0,0,0,0,0,1,16,8,0,0,0,1,8,14,14,1,0,0,0,7,15,6,1,0,0,3 +0,0,0,6,16,3,0,0,0,0,2,15,10,11,5,0,0,0,13,9,4,16,3,0,0,4,15,4,9,16,3,0,0,11,15,12,16,16,10,0,0,5,15,14,16,9,0,0,0,0,0,7,13,1,0,0,0,0,0,9,9,0,0,0,4 +0,0,4,14,16,10,0,0,0,0,13,8,11,15,0,0,0,0,1,0,8,11,0,0,0,0,0,0,13,7,0,0,0,0,4,8,16,9,1,0,0,0,7,16,15,10,1,0,0,0,3,15,1,0,0,0,0,0,6,14,0,0,0,0,7 +0,0,0,3,15,4,0,0,0,0,0,12,11,3,5,0,0,0,9,14,2,13,11,0,0,3,16,5,3,16,3,0,0,11,15,6,12,16,3,0,0,11,16,16,16,15,4,0,0,1,5,6,16,2,0,0,0,0,0,5,16,5,0,0,4 +0,0,2,11,14,5,0,0,0,0,0,10,16,16,0,0,0,0,0,10,16,16,4,0,0,0,0,12,16,15,1,0,0,0,1,14,16,13,0,0,0,0,1,16,16,9,0,0,0,0,11,16,16,5,0,0,0,0,6,13,14,0,0,0,1 +0,0,8,14,16,5,0,0,0,2,16,8,10,8,0,0,0,0,4,2,13,6,0,0,0,0,0,7,12,0,0,0,0,0,1,15,7,0,0,0,0,0,9,11,0,0,0,0,0,4,16,9,8,12,2,0,0,0,10,14,9,2,0,0,2 +0,0,0,0,11,15,2,0,0,0,0,9,16,16,3,0,0,1,10,16,16,12,0,0,0,9,16,16,16,13,0,0,0,11,14,8,16,9,0,0,0,0,0,0,16,12,0,0,0,0,0,0,15,13,0,0,0,0,0,0,12,10,0,0,1 +0,0,0,5,12,16,7,0,0,0,9,15,4,13,12,0,0,2,16,16,15,16,13,0,0,3,16,16,14,16,7,0,0,0,6,7,1,15,3,0,0,0,0,0,9,11,0,0,0,0,0,0,13,5,0,0,0,0,0,6,13,0,0,0,9 +0,0,0,12,15,5,0,0,0,0,3,13,9,16,0,0,0,12,14,10,1,14,4,0,0,3,12,13,11,13,0,0,0,0,2,10,16,9,0,0,0,0,0,5,16,8,0,0,0,0,0,13,16,9,0,0,0,0,0,12,12,2,0,0,8 +0,0,0,5,16,3,0,0,0,0,1,16,10,1,14,4,0,0,11,12,1,9,14,2,0,6,15,3,4,16,5,0,0,13,15,14,16,16,8,0,0,12,13,14,16,9,0,0,0,0,0,5,16,2,0,0,0,0,0,7,11,0,0,0,4 +0,0,0,14,10,1,0,0,0,0,8,16,16,11,0,0,0,0,10,10,2,15,1,0,0,4,12,6,0,11,4,0,0,6,16,10,0,9,8,0,0,0,14,16,5,16,9,0,0,0,8,16,16,16,4,0,0,0,0,12,16,9,0,0,0 +0,0,6,14,15,1,0,0,0,0,14,16,16,8,0,0,0,0,4,2,10,10,0,0,0,0,0,0,10,8,0,0,0,0,7,16,16,16,4,0,0,0,9,13,15,8,1,0,0,0,0,12,9,0,0,0,0,0,5,13,0,0,0,0,7 +0,0,2,9,5,0,0,0,0,0,8,16,16,13,0,0,0,2,11,16,16,4,0,0,0,1,11,16,12,0,0,0,0,0,10,12,16,6,0,0,0,0,13,1,7,15,1,0,0,0,14,6,7,13,2,0,0,0,2,11,11,4,0,0,8 +0,0,0,5,14,16,7,0,0,0,6,16,8,12,13,3,0,4,16,14,10,16,16,3,0,1,15,16,16,16,12,0,0,0,3,5,6,16,3,0,0,0,0,0,10,10,0,0,0,0,0,2,15,5,0,0,0,0,0,8,14,0,0,0,9 +0,4,16,13,6,0,0,0,0,1,9,15,16,8,0,0,0,0,0,1,12,16,3,0,0,0,0,1,15,13,1,0,0,0,11,13,16,14,5,0,0,3,16,16,16,14,5,0,0,1,14,13,1,0,0,0,0,3,16,7,0,0,0,0,7 +0,1,12,16,5,0,0,0,0,11,16,16,11,0,0,0,0,6,5,16,11,0,0,0,0,0,2,16,7,0,0,0,0,0,8,16,3,0,0,0,0,1,13,14,0,2,1,0,0,4,16,16,16,16,10,0,0,0,15,16,14,9,3,0,2 +0,0,0,0,13,15,3,0,0,0,0,9,16,16,7,0,0,1,7,16,16,16,1,0,0,6,16,15,14,16,2,0,0,5,11,2,16,15,0,0,0,0,0,0,14,14,0,0,0,0,0,0,16,12,0,0,0,0,0,0,11,13,0,0,1 +0,0,1,8,14,16,12,0,0,0,10,15,13,16,12,0,0,1,12,3,9,15,1,0,0,0,0,8,16,8,0,0,0,0,0,8,16,16,4,0,0,0,0,1,8,16,6,0,0,0,0,5,15,12,1,0,0,0,0,13,10,1,0,0,3 +0,0,3,10,14,14,0,0,0,10,16,14,10,15,0,0,0,0,8,0,0,0,0,0,0,6,16,8,1,0,0,0,0,2,11,15,15,5,0,0,0,0,0,0,15,15,0,0,0,0,0,12,13,1,0,0,0,0,0,11,4,0,0,0,5 +0,0,0,14,2,0,0,0,0,0,2,16,2,0,0,0,0,0,7,13,0,0,0,0,0,0,8,12,0,0,0,0,0,0,9,11,4,2,0,0,0,0,11,16,16,15,8,0,0,0,13,15,2,2,16,3,0,0,0,11,13,12,10,0,6 +0,0,2,11,16,10,0,0,0,0,14,12,8,12,9,0,0,4,16,5,2,14,9,0,0,4,16,16,15,10,2,0,0,0,3,16,15,0,0,0,0,0,8,15,14,0,0,0,0,0,9,16,16,4,0,0,0,0,1,14,11,2,0,0,8 +0,0,4,13,4,0,0,0,0,0,12,15,6,0,0,0,0,0,15,10,0,0,0,0,0,0,16,10,4,1,0,0,0,5,16,16,16,15,1,0,0,5,16,16,3,13,8,0,0,1,16,16,14,16,9,0,0,0,5,14,13,5,1,0,6 +0,0,9,16,16,16,3,0,0,1,14,15,10,7,1,0,0,7,16,2,0,0,0,0,0,2,16,8,0,0,0,0,0,0,2,13,14,0,0,0,0,0,0,4,16,7,0,0,0,0,5,14,13,0,0,0,0,0,11,10,0,0,0,0,5 +0,0,0,3,10,1,0,0,0,0,3,15,9,0,4,0,0,0,12,12,0,4,11,0,0,2,14,3,0,13,6,0,0,7,14,8,9,16,2,0,0,5,12,12,14,15,1,0,0,0,0,0,11,6,0,0,0,0,0,0,13,3,0,0,4 +0,0,3,13,14,2,0,0,0,0,7,9,14,12,0,0,0,0,0,0,7,11,0,0,0,0,0,0,9,7,0,0,0,2,13,16,16,13,3,0,0,2,16,16,14,7,1,0,0,0,0,16,8,0,0,0,0,0,2,13,2,0,0,0,7 +0,0,8,13,11,1,0,0,0,0,16,12,15,8,0,0,0,3,13,0,5,15,2,0,0,6,9,0,1,15,5,0,0,8,8,0,0,12,6,0,0,5,10,0,1,14,3,0,0,2,16,8,12,13,0,0,0,0,8,16,8,1,0,0,0 +0,0,6,14,6,0,0,0,0,0,15,6,12,3,0,0,0,5,12,0,3,14,3,0,0,4,12,0,0,11,8,0,0,4,12,0,0,9,8,0,0,5,15,0,0,8,9,0,0,1,15,2,4,13,2,0,0,0,5,15,15,5,0,0,0 +0,0,15,15,16,14,1,0,0,3,16,15,8,7,0,0,0,8,16,9,1,0,0,0,0,9,16,16,12,0,0,0,0,1,2,0,16,4,0,0,0,0,0,0,13,8,0,0,0,2,7,7,16,4,0,0,0,0,15,16,12,0,0,0,5 +0,0,2,13,16,15,4,0,0,0,9,16,16,16,6,0,0,0,0,0,3,16,7,0,0,0,0,0,4,16,1,0,0,0,2,11,14,16,4,0,0,0,10,16,16,15,2,0,0,0,3,14,11,0,0,0,0,0,3,14,1,0,0,0,7 +0,0,12,16,7,0,0,0,0,2,16,14,16,5,0,0,0,0,14,5,11,13,0,0,0,0,2,1,8,13,0,0,0,0,0,0,8,15,0,0,0,0,0,0,13,10,0,0,0,0,10,10,16,6,0,0,0,0,11,16,16,16,16,8,2 +0,0,0,3,13,0,0,0,0,0,0,12,8,0,0,0,0,0,5,14,2,0,0,0,0,1,15,4,0,3,8,0,0,13,15,12,9,13,10,0,0,5,8,8,15,14,2,0,0,0,0,2,14,5,0,0,0,0,0,6,12,0,0,0,4 +0,0,0,12,8,0,0,0,0,0,6,15,1,0,0,0,0,2,15,6,0,0,6,0,0,8,14,1,0,7,15,1,0,13,10,0,6,16,6,0,0,15,14,14,16,12,0,0,0,7,12,12,16,2,0,0,0,0,0,14,6,0,0,0,4 +0,0,0,9,12,0,0,0,0,0,2,16,6,0,0,0,0,0,13,14,0,0,7,1,0,2,16,9,0,9,16,1,0,6,16,11,11,16,6,0,0,9,16,16,16,12,0,0,0,1,4,9,16,4,0,0,0,0,0,10,11,0,0,0,4 +0,0,5,16,13,1,0,0,0,0,12,14,15,5,0,0,0,0,12,10,16,7,0,0,0,0,3,15,16,12,0,0,0,0,0,0,2,15,2,0,0,0,0,0,0,8,9,0,0,2,12,8,8,13,12,0,0,1,6,10,12,12,2,0,9 +0,0,6,16,8,0,0,0,0,2,16,14,15,0,0,0,0,2,16,13,16,9,0,0,0,0,8,15,16,14,1,0,0,0,0,0,0,13,7,0,0,0,0,0,0,3,13,0,0,0,3,4,4,7,15,0,0,0,7,13,16,13,9,0,9 +0,0,5,16,11,0,0,0,0,1,16,5,12,11,3,0,0,3,13,0,5,16,2,0,0,4,12,0,0,16,4,0,0,5,11,0,1,16,3,0,0,5,13,0,0,12,1,0,0,0,14,7,6,12,0,0,0,0,4,14,12,2,0,0,0 +0,1,12,16,14,4,0,0,0,8,11,0,10,8,0,0,0,1,1,4,14,4,0,0,0,0,2,16,11,0,0,0,0,0,0,3,13,11,0,0,0,0,0,0,1,11,7,0,0,0,10,0,1,10,8,0,0,0,13,15,15,10,2,0,3 +0,0,3,14,13,3,0,0,0,0,12,10,7,12,0,0,0,3,15,1,0,15,7,0,0,5,12,0,0,12,5,0,0,6,12,0,0,9,4,0,0,4,13,0,0,10,4,0,0,1,14,6,5,14,2,0,0,0,3,13,13,6,0,0,0 +0,0,12,16,16,10,1,0,0,0,13,7,4,16,7,0,0,0,0,5,12,15,2,0,0,0,0,7,16,12,0,0,0,0,0,0,7,16,5,0,0,1,3,0,0,9,15,0,0,6,12,4,2,11,16,0,0,1,10,16,16,16,7,0,3 +0,0,0,8,11,0,0,0,0,0,1,15,4,0,0,0,0,0,12,9,0,0,3,0,0,2,16,2,0,9,14,0,0,11,13,0,7,15,3,0,0,13,16,12,16,8,0,0,0,6,12,12,14,1,0,0,0,0,0,7,12,0,0,0,4 +0,1,9,16,14,6,0,0,0,5,14,1,6,15,3,0,0,3,14,2,5,14,4,0,0,0,9,14,15,3,0,0,0,0,4,16,5,0,0,0,0,0,11,13,9,0,0,0,0,0,15,4,13,0,0,0,0,0,11,16,7,0,0,0,8 +0,0,4,14,15,3,0,0,0,0,12,10,5,13,1,0,0,3,13,0,0,16,4,0,0,4,11,0,0,13,6,0,0,5,10,0,0,12,4,0,0,2,13,0,0,9,6,0,0,0,14,3,4,12,0,0,0,0,3,14,14,6,0,0,0 +0,2,15,16,15,1,0,0,0,3,9,5,14,7,0,0,0,0,0,3,15,5,0,0,0,0,6,16,8,0,0,0,0,0,6,13,16,10,0,0,0,0,0,0,6,16,1,0,0,0,0,0,2,14,7,0,0,0,14,13,16,11,1,0,3 +0,0,5,15,16,6,0,0,0,0,15,12,5,16,2,0,0,4,16,3,0,12,8,0,0,8,14,0,0,10,10,0,0,8,13,0,0,10,13,0,0,4,16,0,0,4,15,0,0,1,15,9,3,12,10,0,0,0,5,15,16,15,1,0,0 +0,0,4,16,11,1,0,0,0,0,5,16,16,7,0,0,0,0,0,14,16,10,0,0,0,0,2,16,16,6,0,0,0,0,3,16,16,9,0,0,0,0,1,16,16,11,0,0,0,0,5,16,16,5,0,0,0,0,2,12,16,11,1,0,1 +0,0,0,0,7,11,1,0,0,0,0,0,12,16,3,0,0,0,0,4,16,16,0,0,0,0,0,2,16,16,0,0,0,0,1,13,16,12,0,0,0,0,7,16,15,14,0,0,0,2,15,5,12,11,0,0,0,0,2,0,7,11,0,0,1 +0,0,0,6,13,0,0,0,0,0,3,15,5,0,0,0,0,0,12,9,0,0,4,5,0,5,16,2,0,3,16,2,0,9,14,2,9,15,8,0,0,7,16,15,13,11,1,0,0,0,2,1,14,2,0,0,0,0,0,6,9,0,0,0,4 +0,0,0,6,8,0,0,0,0,0,2,14,3,0,0,0,0,0,9,8,0,0,0,0,0,4,15,1,0,10,5,0,0,7,13,0,2,16,3,0,0,11,14,8,15,9,0,0,0,12,16,14,15,0,0,0,0,1,4,9,8,0,0,0,4 +0,0,9,16,6,0,0,0,0,2,14,16,16,8,3,0,0,0,14,16,16,16,11,0,0,0,14,16,12,5,1,0,0,0,9,16,5,0,0,0,0,0,15,16,5,0,0,0,0,0,16,16,8,0,0,0,0,0,10,13,1,0,0,0,8 +0,0,9,16,12,1,0,0,0,3,16,10,15,9,0,0,0,3,16,4,11,16,1,0,0,0,12,16,16,15,7,0,0,0,0,3,2,6,14,0,0,0,6,0,0,3,16,1,0,1,16,7,4,9,16,0,0,0,8,16,16,16,8,0,9 +0,1,10,16,16,4,0,0,0,8,13,12,16,10,0,0,0,2,0,14,15,3,0,0,0,0,0,11,16,8,0,0,0,0,0,0,7,16,3,0,0,2,1,0,0,13,8,0,0,8,12,4,10,16,5,0,0,2,13,16,12,5,0,0,3 +0,0,6,16,11,0,0,0,0,1,16,2,12,9,0,0,0,4,15,5,13,10,0,0,0,0,9,10,9,15,0,0,0,0,0,0,0,11,5,0,0,0,0,0,0,7,7,0,0,3,9,1,0,8,4,0,0,1,7,14,16,12,1,0,9 +0,0,5,13,11,2,0,0,0,2,15,6,5,12,0,0,0,6,12,0,1,16,2,0,0,1,12,5,5,16,6,0,0,0,1,9,9,12,8,0,0,0,0,0,0,3,13,0,0,0,0,0,1,8,10,0,0,0,8,13,15,10,1,0,9 +0,0,0,1,12,1,0,0,0,0,0,14,10,0,0,0,0,0,10,14,2,0,0,0,0,2,16,7,0,5,6,0,0,12,15,0,9,15,1,0,0,12,16,14,16,8,0,0,0,7,12,10,15,1,0,0,0,0,0,4,9,0,0,0,4 +0,0,3,15,0,0,0,0,0,0,11,14,0,0,0,0,0,0,13,8,0,0,0,0,0,0,16,8,4,0,0,0,0,1,16,16,16,15,2,0,0,6,16,14,11,15,7,0,0,0,15,15,9,15,4,0,0,0,4,14,16,9,0,0,6 +0,0,6,16,2,0,0,0,0,0,15,10,0,0,0,0,0,6,16,3,0,0,0,0,0,9,14,0,0,0,0,0,0,12,13,11,12,12,3,0,0,7,16,15,12,13,13,0,0,2,15,12,2,8,15,0,0,0,5,16,16,16,5,0,6 +0,0,2,15,16,13,1,0,0,0,3,7,10,16,10,0,0,0,0,0,0,11,11,0,0,0,0,2,8,15,5,0,0,0,0,9,16,16,8,0,0,0,0,2,16,5,0,0,0,0,0,12,7,0,0,0,0,0,4,14,1,0,0,0,7 \ No newline at end of file diff --git a/src/Samples/Helpers/ConsoleHelper.cs b/src/Samples/Helpers/ConsoleHelper.cs new file mode 100644 index 0000000000..8747d7be67 --- /dev/null +++ b/src/Samples/Helpers/ConsoleHelper.cs @@ -0,0 +1,146 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.ML.Auto; + +namespace Samples.Helpers +{ + internal static class ConsoleHelper + { + public static void Print(ColumnInferenceResults results) + { + Console.WriteLine("Inferred dataset columns --"); + new ColumnInferencePrinter(results).Print(); + Console.WriteLine(); + } + + public static string BuildStringTable(IList arrValues) + { + int[] maxColumnsWidth = GetMaxColumnsWidth(arrValues); + var headerSpliter = new string('-', maxColumnsWidth.Sum(i => i + 3) - 1); + + var sb = new StringBuilder(); + for (int rowIndex = 0; rowIndex < arrValues.Count; rowIndex++) + { + if (rowIndex == 0) + { + sb.AppendFormat(" {0} ", headerSpliter); + sb.AppendLine(); + } + + for (int colIndex = 0; colIndex < arrValues[0].Length; colIndex++) + { + // Print cell + string cell = arrValues[rowIndex][colIndex]; + cell = cell.PadRight(maxColumnsWidth[colIndex]); + sb.Append(" | "); + sb.Append(cell); + } + + // Print end of line + sb.Append(" | "); + sb.AppendLine(); + + // Print splitter + if (rowIndex == 0) + { + sb.AppendFormat(" |{0}| ", headerSpliter); + sb.AppendLine(); + } + + if (rowIndex == arrValues.Count - 1) + { + sb.AppendFormat(" {0} ", headerSpliter); + } + } + + return sb.ToString(); + } + + private static int[] GetMaxColumnsWidth(IList arrValues) + { + var maxColumnsWidth = new int[arrValues[0].Length]; + for (int colIndex = 0; colIndex < arrValues[0].Length; colIndex++) + { + for (int rowIndex = 0; rowIndex < arrValues.Count; rowIndex++) + { + int newLength = arrValues[rowIndex][colIndex].Length; + int oldLength = maxColumnsWidth[colIndex]; + + if (newLength > oldLength) + { + maxColumnsWidth[colIndex] = newLength; + } + } + } + + return maxColumnsWidth; + } + } + + internal class ColumnInferencePrinter + { + private static readonly string[] TableHeaders = new[] { "Name", "Data Type", "Purpose" }; + + private readonly ColumnInferenceResults _results; + + public ColumnInferencePrinter(ColumnInferenceResults results) + { + _results = results; + } + + public void Print() + { + var tableRows = new List(); + + // add headers + tableRows.Add(TableHeaders); + + // add column data + var info = _results.ColumnInformation; + AppendTableRow(tableRows, info.LabelColumn, "Label"); + AppendTableRow(tableRows, info.WeightColumn, "Weight"); + AppendTableRows(tableRows, info.CategoricalColumns, "Categorical"); + AppendTableRows(tableRows, info.NumericColumns, "Numeric"); + AppendTableRows(tableRows, info.TextColumns, "Text"); + AppendTableRows(tableRows, info.IgnoredColumns, "Ignored"); + + Console.WriteLine(ConsoleHelper.BuildStringTable(tableRows)); + } + + private void AppendTableRow(ICollection tableRows, + string columnName, string columnPurpose) + { + if (columnName == null) + { + return; + } + + tableRows.Add(new[] + { + columnName, + GetColumnDataType(columnName), + columnPurpose + }); + } + + private void AppendTableRows(ICollection tableRows, + IEnumerable columnNames, string columnPurpose) + { + foreach (var columnName in columnNames) + { + AppendTableRow(tableRows, columnName, columnPurpose); + } + } + + private string GetColumnDataType(string columnName) + { + return _results.TextLoaderArgs.Columns.First(c => c.Name == columnName).Type.ToString(); + } + } +} \ No newline at end of file diff --git a/src/Samples/ObserveProgress.cs b/src/Samples/ObserveProgress.cs index 9273a09243..e8f9fd4a42 100644 --- a/src/Samples/ObserveProgress.cs +++ b/src/Samples/ObserveProgress.cs @@ -23,15 +23,15 @@ public static void Run() MLContext mlContext = new MLContext(); // STEP 1: Infer columns - var columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn, ','); + ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn, ','); // STEP 2: Load data - var textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - var trainDataView = textLoader.Read(TrainDataPath); - var testDataView = textLoader.Read(TestDataPath); + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); + IDataView trainDataView = textLoader.Read(TrainDataPath); + IDataView testDataView = textLoader.Read(TestDataPath); // STEP 3: Auto inference with a callback configured - var autoExperiment = mlContext.Auto().CreateRegressionExperiment(new RegressionExperimentSettings() + RegressionExperiment autoExperiment = mlContext.Auto().CreateRegressionExperiment(new RegressionExperimentSettings() { MaxExperimentTimeInSeconds = 60, ProgressHandler = new ProgressHandler() @@ -65,11 +65,6 @@ public static void PrintRegressionMetrics(int iteration, string trainerName, Reg Console.WriteLine($"{iteration,-3}{trainerName,-35}{metrics.RSquared,-10:0.###}{metrics.LossFn,-8:0.##}{metrics.L1,-15:#.##}{metrics.L2,-15:#.##}{metrics.Rms,-10:#.##}"); } - public static void PrintActualVersusPredictedValue(int index, float fareAmount, float score) - { - Console.WriteLine($"{index,-5}{fareAmount,-20}{score,-20}"); - } - public static void PrintRegressionMetricsHeader() { Console.WriteLine($"*************************************************"); @@ -78,22 +73,5 @@ public static void PrintRegressionMetricsHeader() Console.WriteLine($"{" ",-3}{"Trainer",-35}{"R2-Score",-10}{"LossFn",-8}{"Absolute-loss",-15}{"Squared-loss",-15}{"RMS-loss",-10}"); Console.WriteLine(); } - - public static void PrintActualVersusPredictedHeader() - { - Console.WriteLine(); - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Actual fare Vs predicted fare using the model picked by automl"); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"{"Row",-5}{"Actual",-20}{"Predicted",-20}"); - } - - public static void PrintBestPipelineHeader() - { - Console.WriteLine(); - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Best pipeline "); - Console.WriteLine($"*------------------------------------------------"); - } } } From 20d45db5b2eb13cfa1c6be0ac2cf19adfa105487 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 28 Feb 2019 18:50:41 -0800 Subject: [PATCH 131/211] changed the directory structure for generated project (#243) * changed the directory structure for generated project * changed test * upgraded commandline package --- ...rTests.GeneratedTrainCodeTest.approved.txt | 2 +- .../ConsoleCodeGeneratorTests.cs | 9 ++-- .../CodeGenerator/CSharp/CodeGenerator.cs | 3 +- .../CSharp/CodeGeneratorSettings.cs | 5 ++- src/mlnet/Commands/CommandDefinitions.cs | 2 +- src/mlnet/Commands/New/NewCommandHandler.cs | 11 +++-- src/mlnet/Program.cs | 19 +++++++- src/mlnet/Templates/Console/MLCodeGen.cs | 44 ++++++++++--------- src/mlnet/Templates/Console/MLCodeGen.tt | 3 +- src/mlnet/Utilities/Utils.cs | 11 ++--- src/mlnet/mlnet.csproj | 2 +- 11 files changed, 71 insertions(+), 40 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt index f5023cc6df..962efd863a 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt @@ -16,7 +16,7 @@ namespace MyNamespace { private static string TrainDataPath = @"x:\dummypath\dummy_train.csv"; private static string TestDataPath = @"x:\dummypath\dummy_test.csv"; - private static string ModelPath = @"..\..\..\model.zip"; + private static string ModelPath = @"x:\models\model.zip"; // Set this flag to enable the training process. private static bool EnableTraining = false; diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index 0ac3107435..491b0120be 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -35,7 +35,8 @@ public void GeneratedTrainCodeTest() OutputName = "MyNamespace", TrainDataset = new FileInfo("x:\\dummypath\\dummy_train.csv"), TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv"), - LabelName = "Label" + LabelName = "Label", + ModelPath = new FileInfo("x:\\models\\model.zip") }); (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); @@ -58,7 +59,8 @@ public void GeneratedProjectCodeTest() OutputName = "MyNamespace", TrainDataset = new FileInfo("x:\\dummypath\\dummy_train.csv"), TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv"), - LabelName = "Label" + LabelName = "Label", + ModelPath = new FileInfo("x:\\models\\model.zip") }); (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); @@ -81,7 +83,8 @@ public void GeneratedHelperCodeTest() OutputName = "MyNamespace", TrainDataset = new FileInfo("x:\\dummypath\\dummy_train.csv"), TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv"), - LabelName = "Label" + LabelName = "Label", + ModelPath = new FileInfo("x:\\models\\model.zip") }); (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index 74bb8274b5..8aedc9a143 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -109,7 +109,8 @@ internal string GenerateTrainCode(string usings, string trainer, List tr TestPath = settings.TestDataset?.FullName, TaskType = settings.MlTask.ToString(), Namespace = namespaceValue, - LabelName = settings.LabelName + LabelName = settings.LabelName, + ModelPath = settings.ModelPath.FullName }; return trainingAndScoringCodeGen.TransformText(); diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs b/src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs index 8b5751de4a..435821c163 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs @@ -5,7 +5,10 @@ namespace Microsoft.ML.CLI.CodeGenerator.CSharp { internal class CodeGeneratorSettings { - public string LabelName { get; internal set; } + internal string LabelName { get; set; } + + internal FileInfo ModelPath { get; set; } + internal string OutputName { get; set; } internal string OutputBaseDir { get; set; } diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 9227f6e06d..96e1fb7c1f 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -89,7 +89,7 @@ Option Verbosity() => Option Name() => new Option(new List() { "--name" }, "Name for the output project or solution to create. ", - new Argument(defaultValue: "Sample")); + new Argument()); Option OutputPath() => new Option(new List() { "--output-path" }, "Location folder to place the generated output. The default is the current directory.", diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index 76eac543a0..8ece954482 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using System.IO; using Microsoft.Data.DataView; using Microsoft.ML.Auto; using Microsoft.ML.CLI.CodeGenerator.CSharp; @@ -75,10 +76,11 @@ public void Execute() // Save the model logger.Log(LogLevel.Info, Strings.SavingBestModel); - Utils.SaveModel(model, settings.OutputPath.FullName, $"model.zip", context); + var modelPath = new FileInfo(Path.Combine(settings.OutputPath.FullName, $"model.zip")); + Utils.SaveModel(model, modelPath, context); // Generate the Project - GenerateProject(columnInference, pipeline, sanitized_Label_Name); + GenerateProject(columnInference, pipeline, sanitized_Label_Name, modelPath); } internal ColumnInferenceResults InferColumns(MLContext context) @@ -99,7 +101,7 @@ internal ColumnInferenceResults InferColumns(MLContext context) return columnInference; } - internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline pipeline, string labelName) + internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline pipeline, string labelName, FileInfo modelPath) { //Generate code logger.Log(LogLevel.Info, $"{Strings.GenerateProject} : {settings.OutputPath.FullName}"); @@ -113,7 +115,8 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p TestDataset = settings.TestDataset, OutputName = settings.Name, OutputBaseDir = settings.OutputPath.FullName, - LabelName = labelName + LabelName = labelName, + ModelPath = modelPath }); codeGenerator.GenerateOutput(); } diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index f1ad0ed091..797f631f42 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -5,6 +5,7 @@ using System; using System.CommandLine.Builder; using System.CommandLine.Invocation; +using System.IO; using Microsoft.ML.CLI.Commands; using Microsoft.ML.CLI.Commands.New; using Microsoft.ML.CLI.Data; @@ -25,13 +26,29 @@ public static void Main(string[] args) // Map the verbosity to internal levels var verbosity = Utils.GetVerbosity(options.Verbosity); + // Build the output path + string outputBaseDir = string.Empty; + if (options.Name == null) + { + var datasetName = Path.GetFileNameWithoutExtension(options.Dataset.FullName); + options.Name = Utils.Sanitize(datasetName) + "_" + Utils.GetTaskKind(options.MlTask).ToString(); + outputBaseDir = Path.Combine(options.OutputPath.FullName, options.Name); + } + else + { + outputBaseDir = Path.Combine(options.OutputPath.FullName, options.Name); + } + + // Override the output path + options.OutputPath = new DirectoryInfo(outputBaseDir); + // Instantiate the command var command = new NewCommand(options); // Override the Logger Configuration var logconsole = LogManager.Configuration.FindTargetByName("logconsole"); var logfile = (FileTarget)LogManager.Configuration.FindTargetByName("logfile"); - logfile.FileName = $"{options.OutputPath.FullName}/debug_log.txt"; + logfile.FileName = $"{outputBaseDir}/logs/debug_log.txt"; var config = LogManager.Configuration; config.AddRule(verbosity, LogLevel.Fatal, logconsole); diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index e39bc060de..44d7cd7050 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -41,27 +41,28 @@ public virtual string TransformText() this.Write(this.ToStringHelper.ToStringWithCulture(TestPath)); this.Write("\";\r\n"); } - this.Write(" private static string ModelPath = @\"..\\..\\..\\model.zip\";\r\n\r\n // Se" + - "t this flag to enable the training process.\r\n private static bool EnableT" + - "raining = false;\r\n\r\n static void Main(string[] args)\r\n {\r\n " + - " // Create MLContext to be shared across the model creation workflow objects " + - "\r\n // Set a random seed for repeatable/deterministic results across m" + - "ultiple trainings.\r\n var mlContext = new MLContext(seed: 1);\r\n\r\n " + - " if (EnableTraining)\r\n {\r\n // Create, Train, Eva" + - "luate and Save a model\r\n BuildTrainEvaluateAndSaveModel(mlContext" + - ");\r\n ConsoleHelper.ConsoleWriteHeader(\"=============== End of tra" + - "ining process ===============\");\r\n }\r\n else\r\n {" + - "\r\n ConsoleHelper.ConsoleWriteHeader(\"Skipping the training proces" + - "s. Please set the flag : \'EnableTraining\' to \'true\' to enable the training proce" + - "ss.\");\r\n }\r\n\r\n // Make a single test prediction loading th" + - "e model from .ZIP file\r\n TestSinglePrediction(mlContext);\r\n\r\n " + - " ConsoleHelper.ConsoleWriteHeader(\"=============== End of process, hit any ke" + - "y to finish ===============\");\r\n Console.ReadKey();\r\n\r\n }\r\n\r\n " + - " private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlCo" + - "ntext)\r\n {\r\n // Data loading\r\n IDataView trainingDa" + - "taView = mlContext.Data.ReadFromTextFile(\r\n " + - " path: TrainDataPath,\r\n " + - " hasHeader : "); + this.Write(" private static string ModelPath = @\""); + this.Write(this.ToStringHelper.ToStringWithCulture(ModelPath)); + this.Write("\";\r\n\r\n // Set this flag to enable the training process.\r\n private s" + + "tatic bool EnableTraining = false;\r\n\r\n static void Main(string[] args)\r\n " + + " {\r\n // Create MLContext to be shared across the model creation" + + " workflow objects \r\n // Set a random seed for repeatable/deterministi" + + "c results across multiple trainings.\r\n var mlContext = new MLContext(" + + "seed: 1);\r\n\r\n if (EnableTraining)\r\n {\r\n // " + + "Create, Train, Evaluate and Save a model\r\n BuildTrainEvaluateAndS" + + "aveModel(mlContext);\r\n ConsoleHelper.ConsoleWriteHeader(\"========" + + "======= End of training process ===============\");\r\n }\r\n e" + + "lse\r\n {\r\n ConsoleHelper.ConsoleWriteHeader(\"Skipping t" + + "he training process. Please set the flag : \'EnableTraining\' to \'true\' to enable " + + "the training process.\");\r\n }\r\n\r\n // Make a single test pre" + + "diction loading the model from .ZIP file\r\n TestSinglePrediction(mlCon" + + "text);\r\n\r\n ConsoleHelper.ConsoleWriteHeader(\"=============== End of p" + + "rocess, hit any key to finish ===============\");\r\n Console.ReadKey();" + + "\r\n\r\n }\r\n\r\n private static ITransformer BuildTrainEvaluateAndSaveMo" + + "del(MLContext mlContext)\r\n {\r\n // Data loading\r\n ID" + + "ataView trainingDataView = mlContext.Data.ReadFromTextFile(\r\n" + + " path: TrainDataPath,\r\n " + + " hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); this.Write(",\r\n separatorChar : \'"); this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); @@ -260,6 +261,7 @@ private static void TestSinglePrediction(MLContext mlContext) public int Kfolds {get;set;} = 5; public string Namespace {get;set;} public string LabelName {get;set;} +public string ModelPath {get;set;} } #region Base class diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index ebc6a9b8f7..0e5ce090c0 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -24,7 +24,7 @@ namespace <#= Namespace #> <#if(!string.IsNullOrEmpty(TestPath)){ #> private static string TestDataPath = @"<#= TestPath #>"; <# } #> - private static string ModelPath = @"..\..\..\model.zip"; + private static string ModelPath = @"<#= ModelPath #>"; // Set this flag to enable the training process. private static bool EnableTraining = false; @@ -215,4 +215,5 @@ public bool TrimWhiteSpace {get;set;} public int Kfolds {get;set;} = 5; public string Namespace {get;set;} public string LabelName {get;set;} +public string ModelPath {get;set;} #> diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index f40a19830e..4a87e0af4c 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -29,14 +29,15 @@ internal static LogLevel GetVerbosity(string verbosity) } - internal static void SaveModel(ITransformer model, string ModelPath, string modelName, MLContext mlContext) + internal static void SaveModel(ITransformer model, FileInfo modelPath, MLContext mlContext) { - if (!Directory.Exists(ModelPath)) + + if (!Directory.Exists(modelPath.Directory.FullName)) { - Directory.CreateDirectory(ModelPath); + Directory.CreateDirectory(modelPath.Directory.FullName); } - ModelPath = Path.Combine(ModelPath, modelName); - using (var fs = File.Create(ModelPath)) + + using (var fs = File.Create(modelPath.FullName)) model.SaveTo(mlContext, fs); } diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index ec05984639..0ed9e80e1d 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -13,7 +13,7 @@ - + From 44e5c7acad48c2dcfc6934f790fb31f3b94222e8 Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Thu, 28 Feb 2019 21:24:29 -0800 Subject: [PATCH 132/211] Fix test file locations on OSX (#235) * fix test file locations on OSX * changing to Path.Combine() * Additional Path.Combine() * Remove ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.received.txt * Additional Path.Combine() * add back in double comparison fix * remove metrics agent NaN returns * test fix * test format fix * mock out path Thanks to @daholste for additional fixes! --- .../MetricsAgents/BinaryMetricsAgent.cs | 3 ++- .../MetricsAgents/RegressionMetricsAgent.cs | 2 +- .../Experiment/SuggestedPipeline.cs | 8 ++++---- src/Microsoft.ML.Auto/Utils/RunResultUtil.cs | 3 ++- src/Samples/AutoTrainBinaryClassification.cs | 8 ++++---- .../AutoTrainMulticlassClassification.cs | 8 ++++---- src/Samples/AutoTrainRegression.cs | 8 ++++---- src/Samples/Cancellation.cs | 9 +++++---- src/Samples/CustomizeTraining.cs | 9 +++++---- src/Samples/ObserveProgress.cs | 9 +++++---- src/Test/ColumnInferenceTests.cs | 11 +++++----- src/Test/DatasetUtil.cs | 2 +- .../ConsoleCodeGeneratorTests.cs | 20 +++++++++---------- src/mlnet.Test/Utilities/MockFileInfo.cs | 18 +++++++++++++++++ .../CSharp/CodeGeneratorSettings.cs | 10 +++++----- src/mlnet/Commands/New/NewCommandHandler.cs | 9 +++++---- src/mlnet/Utilities/File/IFileInfo.cs | 11 ++++++++++ src/mlnet/Utilities/File/SystemFileInfo.cs | 20 +++++++++++++++++++ src/mlnet/Utilities/Utils.cs | 2 +- 19 files changed, 113 insertions(+), 57 deletions(-) create mode 100644 src/mlnet.Test/Utilities/MockFileInfo.cs create mode 100644 src/mlnet/Utilities/File/IFileInfo.cs create mode 100644 src/mlnet/Utilities/File/SystemFileInfo.cs diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs index b0e812148e..2714267242 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -17,7 +18,7 @@ public BinaryMetricsAgent(BinaryClassificationMetric optimizingMetric) public double GetScore(BinaryClassificationMetrics metrics) { - switch(_optimizingMetric) + switch (_optimizingMetric) { case BinaryClassificationMetric.Accuracy: return metrics.Accuracy; diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs index 6364824c04..b3fdaa752d 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs @@ -17,7 +17,7 @@ public RegressionMetricsAgent(RegressionMetric optimizingMetric) public double GetScore(RegressionMetrics metrics) { - switch(_optimizingMetric) + switch (_optimizingMetric) { case RegressionMetric.L1: return metrics.L1; diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs index 57b94707d9..9738ee13f8 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs @@ -95,19 +95,19 @@ public IEstimator ToEstimator() { IEstimator pipeline = new EstimatorChain(); - // append each transformer to the pipeline + // Append each transformer to the pipeline foreach (var transform in Transforms) { - if(transform.Estimator != null) + if (transform.Estimator != null) { pipeline = pipeline.Append(transform.Estimator); } } - // get learner + // Get learner var learner = Trainer.BuildTrainer(); - // append learner to pipeline + // Append learner to pipeline pipeline = pipeline.Append(learner); return pipeline; diff --git a/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs b/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs index fd9713d601..4865615aa6 100644 --- a/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; using System.Collections.Generic; using System.Linq; @@ -15,7 +16,7 @@ public static RunResult GetBestRunResult(IEnumerable> results results = results.Where(r => r.ValidationMetrics != null); if (!results.Any()) { return null; } double maxScore = results.Select(r => metricsAgent.GetScore(r.ValidationMetrics)).Max(); - return results.First(r => metricsAgent.GetScore(r.ValidationMetrics) == maxScore); + return results.First(r => Math.Abs(metricsAgent.GetScore(r.ValidationMetrics) - maxScore) < 1E-20); } } } diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index b2580689d7..7837340b9e 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -16,10 +16,10 @@ namespace Samples { public class AutoTrainBinaryClassification { - private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; - private static string TrainDataPath = $"{BaseDatasetsLocation}/wikipedia-detox-250-line-data.tsv"; - private static string TestDataPath = $"{BaseDatasetsLocation}/wikipedia-detox-250-line-test.tsv"; - private static string ModelPath = $"{BaseDatasetsLocation}/SentimentModel.zip"; + private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "wikipedia-detox-250-line-data.tsv"); + private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "wikipedia-detox-250-line-test.tsv"); + private static string ModelPath = Path.Combine(BaseDatasetsLocation, "SentimentModel.zip"); private static string LabelColumn = "Sentiment"; private static uint ExperimentTime = 60; diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index 237afe00c7..975b70a05a 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -16,10 +16,10 @@ namespace Samples { public class AutoTrainMulticlassClassification { - private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; - private static string TrainDataPath = $"{BaseDatasetsLocation}/optdigits-train.csv"; - private static string TestDataPath = $"{BaseDatasetsLocation}/optdigits-test.csv"; - private static string ModelPath = $"{BaseDatasetsLocation}/OptDigits.zip"; + private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "optdigits-train.csv"); + private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "optdigits-test.csv"); + private static string ModelPath = Path.Combine(BaseDatasetsLocation, "OptDigits.zip"); private static uint ExperimentTime = 60; public static void Run() diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index b842403512..c30bdb39f6 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -16,10 +16,10 @@ namespace Samples { static class AutoTrainRegression { - private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; - private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; - private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; - private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; + private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); + private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-test.csv"); + private static string ModelPath = Path.Combine(BaseDatasetsLocation, "TaxiFareModel.zip"); private static string LabelColumn = "fare_amount"; private static uint ExperimentTime = 60; diff --git a/src/Samples/Cancellation.cs b/src/Samples/Cancellation.cs index edb7e1cb2d..c91a54a12a 100644 --- a/src/Samples/Cancellation.cs +++ b/src/Samples/Cancellation.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using System.IO; using System.Collections.Generic; using System.Diagnostics; using System.Linq; @@ -17,10 +18,10 @@ namespace Samples { static class Cancellation { - private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; - private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; - private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; - private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; + private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); + private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-test.csv"); + private static string ModelPath = Path.Combine(BaseDatasetsLocation, "TaxiFareModel.zip"); private static string LabelColumn = "fare_amount"; public static void Run() diff --git a/src/Samples/CustomizeTraining.cs b/src/Samples/CustomizeTraining.cs index 58c9dfaf07..06a2382c58 100644 --- a/src/Samples/CustomizeTraining.cs +++ b/src/Samples/CustomizeTraining.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using System.IO; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; @@ -13,10 +14,10 @@ namespace Samples { static class CustomizeTraining { - private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; - private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; - private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; - private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; + private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); + private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-test.csv"); + private static string ModelPath = Path.Combine(BaseDatasetsLocation, "TaxiFareModel.zip"); private static string LabelColumn = "fare_amount"; public static void Run() diff --git a/src/Samples/ObserveProgress.cs b/src/Samples/ObserveProgress.cs index e8f9fd4a42..d22698d9dc 100644 --- a/src/Samples/ObserveProgress.cs +++ b/src/Samples/ObserveProgress.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using System.IO; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; @@ -12,10 +13,10 @@ namespace Samples { static class ObserveProgress { - private static string BaseDatasetsLocation = @"../../../../src/Samples/Data"; - private static string TrainDataPath = $"{BaseDatasetsLocation}/taxi-fare-train.csv"; - private static string TestDataPath = $"{BaseDatasetsLocation}/taxi-fare-test.csv"; - private static string ModelPath = $"{BaseDatasetsLocation}/TaxiFareModel.zip"; + private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); + private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-test.csv"); + private static string ModelPath = Path.Combine(BaseDatasetsLocation, "TaxiFareModel.zip"); private static string LabelColumn = "fare_amount"; public static void Run() diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index 9e799b9bdb..4ce801bcf3 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -1,4 +1,5 @@ using System; +using System.IO; using System.Linq; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -62,7 +63,7 @@ public void IdentifyLabelColumnThroughIndexWithoutHeader() [TestMethod] public void DatasetWithEmptyColumn() { - var result = new MLContext().Auto().InferColumns(@".\TestData\DatasetWithEmptyColumn.txt", DefaultColumnNames.Label); + var result = new MLContext().Auto().InferColumns(Path.Combine("TestData", "DatasetWithEmptyColumn.txt"), DefaultColumnNames.Label); var emptyColumn = result.TextLoaderArgs.Columns.First(c => c.Name == "Empty"); Assert.AreEqual(DataKind.TX, emptyColumn.Type); } @@ -70,7 +71,7 @@ public void DatasetWithEmptyColumn() [TestMethod] public void DatasetWithBoolColumn() { - var result = new MLContext().Auto().InferColumns(@".\TestData\BinaryDatasetWithBoolColumn.txt", DefaultColumnNames.Label); + var result = new MLContext().Auto().InferColumns(Path.Combine("TestData", "BinaryDatasetWithBoolColumn.txt"), DefaultColumnNames.Label); Assert.AreEqual(2, result.TextLoaderArgs.Columns.Count()); var boolColumn = result.TextLoaderArgs.Columns.First(c => c.Name == "Bool"); @@ -88,7 +89,7 @@ public void DatasetWithBoolColumn() [TestMethod] public void WhereNameColumnIsOnlyFeature() { - var result = new MLContext().Auto().InferColumns(@".\TestData\NameColumnIsOnlyFeatureDataset.txt", DefaultColumnNames.Label); + var result = new MLContext().Auto().InferColumns(Path.Combine("TestData", "NameColumnIsOnlyFeatureDataset.txt"), DefaultColumnNames.Label); Assert.AreEqual(2, result.TextLoaderArgs.Columns.Count()); var nameColumn = result.TextLoaderArgs.Columns.First(c => c.Name == "Username"); @@ -104,7 +105,7 @@ public void WhereNameColumnIsOnlyFeature() [TestMethod] public void DefaultColumnNamesInferredCorrectly() { - var result = new MLContext().Auto().InferColumns(@".\TestData\DatasetWithDefaultColumnNames.txt", + var result = new MLContext().Auto().InferColumns(Path.Combine("TestData", "DatasetWithDefaultColumnNames.txt"), new ColumnInformation() { LabelColumn = DefaultColumnNames.Label, @@ -120,7 +121,7 @@ public void DefaultColumnNamesInferredCorrectly() [TestMethod] public void DefaultColumnNamesNoGrouping() { - var result = new MLContext().Auto().InferColumns(@".\TestData\DatasetWithDefaultColumnNames.txt", + var result = new MLContext().Auto().InferColumns(Path.Combine("TestData", "DatasetWithDefaultColumnNames.txt"), new ColumnInformation() { LabelColumn = DefaultColumnNames.Label, diff --git a/src/Test/DatasetUtil.cs b/src/Test/DatasetUtil.cs index 8e14aea9f1..848fde5337 100644 --- a/src/Test/DatasetUtil.cs +++ b/src/Test/DatasetUtil.cs @@ -17,7 +17,7 @@ internal static class DatasetUtil public const string MlNetGeneratedRegressionLabel = "target"; public const int IrisDatasetLabelColIndex = 0; - public const string TrivialMulticlassDatasetPath = @"TestData\TrivialMulticlassDataset.txt"; + public static string TrivialMulticlassDatasetPath = Path.Combine("TestData", "TrivialMulticlassDataset.txt"); private static IDataView _uciAdultDataView; diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index 491b0120be..b9d9b6baec 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; -using System.IO; using ApprovalTests; using ApprovalTests.Reporters; using Microsoft.ML; @@ -11,6 +10,7 @@ using Microsoft.ML.CLI.CodeGenerator.CSharp; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; +using mlnet.Test.Utilities; namespace mlnet.Test { @@ -33,10 +33,10 @@ public void GeneratedTrainCodeTest() MlTask = TaskKind.BinaryClassification, OutputBaseDir = null, OutputName = "MyNamespace", - TrainDataset = new FileInfo("x:\\dummypath\\dummy_train.csv"), - TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv"), + TrainDataset = new MockFileInfo("x:\\dummypath\\dummy_train.csv"), + TestDataset = new MockFileInfo("x:\\dummypath\\dummy_test.csv"), LabelName = "Label", - ModelPath = new FileInfo("x:\\models\\model.zip") + ModelPath = new MockFileInfo("x:\\models\\model.zip") }); (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); @@ -57,10 +57,10 @@ public void GeneratedProjectCodeTest() MlTask = TaskKind.BinaryClassification, OutputBaseDir = null, OutputName = "MyNamespace", - TrainDataset = new FileInfo("x:\\dummypath\\dummy_train.csv"), - TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv"), + TrainDataset = new MockFileInfo("x:\\dummypath\\dummy_train.csv"), + TestDataset = new MockFileInfo("x:\\dummypath\\dummy_test.csv"), LabelName = "Label", - ModelPath = new FileInfo("x:\\models\\model.zip") + ModelPath = new MockFileInfo("x:\\models\\model.zip") }); (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); @@ -81,10 +81,10 @@ public void GeneratedHelperCodeTest() MlTask = TaskKind.BinaryClassification, OutputBaseDir = null, OutputName = "MyNamespace", - TrainDataset = new FileInfo("x:\\dummypath\\dummy_train.csv"), - TestDataset = new FileInfo("x:\\dummypath\\dummy_test.csv"), + TrainDataset = new MockFileInfo("x:\\dummypath\\dummy_train.csv"), + TestDataset = new MockFileInfo("x:\\dummypath\\dummy_test.csv"), LabelName = "Label", - ModelPath = new FileInfo("x:\\models\\model.zip") + ModelPath = new MockFileInfo("x:\\models\\model.zip") }); (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); diff --git a/src/mlnet.Test/Utilities/MockFileInfo.cs b/src/mlnet.Test/Utilities/MockFileInfo.cs new file mode 100644 index 0000000000..1ae0b2903f --- /dev/null +++ b/src/mlnet.Test/Utilities/MockFileInfo.cs @@ -0,0 +1,18 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.CLI.Utilities.File; + +namespace mlnet.Test.Utilities +{ + internal class MockFileInfo : IFileInfo + { + public string FullName { get; } + + public MockFileInfo(string filePath) + { + FullName = filePath; + } + } +} diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs b/src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs index 435821c163..369083aee2 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs @@ -1,5 +1,5 @@ -using System.IO; -using Microsoft.ML.Auto; +using Microsoft.ML.Auto; +using Microsoft.ML.CLI.Utilities.File; namespace Microsoft.ML.CLI.CodeGenerator.CSharp { @@ -7,15 +7,15 @@ internal class CodeGeneratorSettings { internal string LabelName { get; set; } - internal FileInfo ModelPath { get; set; } + internal IFileInfo ModelPath { get; set; } internal string OutputName { get; set; } internal string OutputBaseDir { get; set; } - internal FileInfo TrainDataset { get; set; } + internal IFileInfo TrainDataset { get; set; } - internal FileInfo TestDataset { get; set; } + internal IFileInfo TestDataset { get; set; } internal TaskKind MlTask { get; set; } diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index 8ece954482..56db781085 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -9,6 +9,7 @@ using Microsoft.ML.CLI.CodeGenerator.CSharp; using Microsoft.ML.CLI.Data; using Microsoft.ML.CLI.Utilities; +using Microsoft.ML.CLI.Utilities.File; using Microsoft.ML.Data; using NLog; @@ -76,7 +77,7 @@ public void Execute() // Save the model logger.Log(LogLevel.Info, Strings.SavingBestModel); - var modelPath = new FileInfo(Path.Combine(settings.OutputPath.FullName, $"model.zip")); + var modelPath = new FileInfo(Path.Combine(settings.OutputPath.FullName, "model.zip")); Utils.SaveModel(model, modelPath, context); // Generate the Project @@ -110,13 +111,13 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p columnInference, new CodeGeneratorSettings() { - TrainDataset = settings.Dataset, + TrainDataset = new SystemFileInfo(settings.Dataset), MlTask = taskKind, - TestDataset = settings.TestDataset, + TestDataset = new SystemFileInfo(settings.TestDataset), OutputName = settings.Name, OutputBaseDir = settings.OutputPath.FullName, LabelName = labelName, - ModelPath = modelPath + ModelPath = new SystemFileInfo(modelPath) }); codeGenerator.GenerateOutput(); } diff --git a/src/mlnet/Utilities/File/IFileInfo.cs b/src/mlnet/Utilities/File/IFileInfo.cs new file mode 100644 index 0000000000..bbbd547d67 --- /dev/null +++ b/src/mlnet/Utilities/File/IFileInfo.cs @@ -0,0 +1,11 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.CLI.Utilities.File +{ + internal interface IFileInfo + { + string FullName { get; } + } +} diff --git a/src/mlnet/Utilities/File/SystemFileInfo.cs b/src/mlnet/Utilities/File/SystemFileInfo.cs new file mode 100644 index 0000000000..9dbcab072c --- /dev/null +++ b/src/mlnet/Utilities/File/SystemFileInfo.cs @@ -0,0 +1,20 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.IO; + +namespace Microsoft.ML.CLI.Utilities.File +{ + internal class SystemFileInfo : IFileInfo + { + public string FullName => _fileInfo.FullName; + + private readonly FileInfo _fileInfo; + + public SystemFileInfo(FileInfo fileInfo) + { + _fileInfo = fileInfo; + } + } +} diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index 4a87e0af4c..c122c94f08 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -37,7 +37,7 @@ internal static void SaveModel(ITransformer model, FileInfo modelPath, MLContext Directory.CreateDirectory(modelPath.Directory.FullName); } - using (var fs = File.Create(modelPath.FullName)) + using (var fs = System.IO.File.Create(modelPath.FullName)) model.SaveTo(mlContext, fs); } From ce2764126d22993a3573d56d962dda15eedfbb38 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Fri, 1 Mar 2019 16:42:50 -0800 Subject: [PATCH 133/211] upgrade to latest ML.NET public surface (#246) --- .../API/BinaryClassificationExperiment.cs | 4 +- src/Microsoft.ML.Auto/API/ColumnInference.cs | 2 +- .../API/MulticlassClassificationExperiment.cs | 8 +- .../API/RegressionExperiment.cs | 6 +- .../ColumnGroupingInference.cs | 2 +- .../ColumnInference/ColumnInferenceApi.cs | 10 +- .../ColumnInference/ColumnTypeInference.cs | 8 +- .../ColumnInference/TextFileContents.cs | 15 +- .../EstimatorExtensions.cs | 18 +- .../MetricsAgents/BinaryMetricsAgent.cs | 8 +- .../MetricsAgents/MultiMetricsAgent.cs | 8 +- .../MetricsAgents/RegressionMetricsAgent.cs | 12 +- .../Experiment/OptimizingMetricInfo.cs | 6 +- .../Experiment/SuggestedTrainer.cs | 4 +- .../Microsoft.ML.Auto.csproj | 6 +- .../BinaryTrainerExtensions.cs | 3 +- .../TrainerExtensions/ITrainerExtension.cs | 4 +- .../MultiTrainerExtensions.cs | 19 +- .../RegressionTrainerExtensions.cs | 3 +- .../MLNetUtils/AnnotationBuilderExtensions.cs | 37 ++ .../Utils/MLNetUtils/ArrayDataViewBuilder.cs | 455 ++++++++++++++++++ .../{ => MLNetUtils}/ColumnTypeExtensions.cs | 30 +- .../Utils/MLNetUtils/Contracts.cs | 93 ++++ .../Utils/{ => MLNetUtils}/Conversions.cs | 0 .../{ => MLNetUtils}/DataKindExtensions.cs | 32 +- .../Utils/{ => MLNetUtils}/Hashing.cs | 0 .../Utils/MLNetUtils/LinqExtensions.cs | 30 ++ .../Utils/MLNetUtils/MLNetUtils.cs | 44 ++ .../{ => MLNetUtils}/ProbabilityFunctions.cs | 0 .../Utils/MLNetUtils/RootCursorBase.cs | 73 +++ .../Utils/MLNetUtils/RowCursorUtils.cs | 41 ++ .../Utils/{ => MLNetUtils}/VBufferUtils.cs | 0 .../Utils/MLNetUtils/VectorUtils.cs | 39 ++ src/Samples/AutoTrainBinaryClassification.cs | 6 +- .../AutoTrainMulticlassClassification.cs | 6 +- src/Samples/AutoTrainRegression.cs | 6 +- src/Samples/Cancellation.cs | 6 +- src/Samples/CustomizeTraining.cs | 8 +- src/Samples/Helpers/ConsoleHelper.cs | 2 +- src/Samples/ObserveProgress.cs | 6 +- src/Test/AutoFitTests.cs | 12 +- src/Test/ColumnInferenceTests.cs | 40 +- src/Test/DatasetUtil.cs | 4 +- src/Test/MetricsAgentsTests.cs | 42 +- src/Test/PurposeInferenceTests.cs | 4 +- src/Test/UserInputValidationTests.cs | 8 +- src/Test/Utils/MLNetUtils/EmptyDataView.cs | 71 +++ src/Test/Utils/MLNetUtils/MLNetUtils.cs | 26 + .../ConsoleCodeGeneratorTests.cs | 16 +- src/mlnet.Test/CodeGenTests.cs | 14 +- src/mlnet.Test/DatasetUtil.cs | 4 +- src/mlnet.Test/TransformGeneratorTests.cs | 2 +- .../CodeGenerator/CSharp/CodeGenerator.cs | 36 +- .../CSharp/TransformGenerators.cs | 2 +- src/mlnet/Commands/New/NewCommandHandler.cs | 12 +- 55 files changed, 1142 insertions(+), 211 deletions(-) create mode 100644 src/Microsoft.ML.Auto/Utils/MLNetUtils/AnnotationBuilderExtensions.cs create mode 100644 src/Microsoft.ML.Auto/Utils/MLNetUtils/ArrayDataViewBuilder.cs rename src/Microsoft.ML.Auto/Utils/{ => MLNetUtils}/ColumnTypeExtensions.cs (62%) create mode 100644 src/Microsoft.ML.Auto/Utils/MLNetUtils/Contracts.cs rename src/Microsoft.ML.Auto/Utils/{ => MLNetUtils}/Conversions.cs (100%) rename src/Microsoft.ML.Auto/Utils/{ => MLNetUtils}/DataKindExtensions.cs (76%) rename src/Microsoft.ML.Auto/Utils/{ => MLNetUtils}/Hashing.cs (100%) create mode 100644 src/Microsoft.ML.Auto/Utils/MLNetUtils/LinqExtensions.cs create mode 100644 src/Microsoft.ML.Auto/Utils/MLNetUtils/MLNetUtils.cs rename src/Microsoft.ML.Auto/Utils/{ => MLNetUtils}/ProbabilityFunctions.cs (100%) create mode 100644 src/Microsoft.ML.Auto/Utils/MLNetUtils/RootCursorBase.cs create mode 100644 src/Microsoft.ML.Auto/Utils/MLNetUtils/RowCursorUtils.cs rename src/Microsoft.ML.Auto/Utils/{ => MLNetUtils}/VBufferUtils.cs (100%) create mode 100644 src/Microsoft.ML.Auto/Utils/MLNetUtils/VectorUtils.cs create mode 100644 src/Test/Utils/MLNetUtils/EmptyDataView.cs create mode 100644 src/Test/Utils/MLNetUtils/MLNetUtils.cs diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index 400ee1e07f..9ad491fe66 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -20,8 +20,8 @@ public sealed class BinaryExperimentSettings : ExperimentSettings public enum BinaryClassificationMetric { Accuracy, - Auc, - Auprc, + AreaUnderRocCurve, + AreaUnderPrecisionRecallCurve, F1Score, PositivePrecision, PositiveRecall, diff --git a/src/Microsoft.ML.Auto/API/ColumnInference.cs b/src/Microsoft.ML.Auto/API/ColumnInference.cs index af02916698..444cfaa641 100644 --- a/src/Microsoft.ML.Auto/API/ColumnInference.cs +++ b/src/Microsoft.ML.Auto/API/ColumnInference.cs @@ -9,7 +9,7 @@ namespace Microsoft.ML.Auto { public sealed class ColumnInferenceResults { - public TextLoader.Arguments TextLoaderArgs { get; set; } + public TextLoader.Options TextLoaderOptions { get; set; } public ColumnInformation ColumnInformation { get; set; } } diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index b6be8b2e5b..54f77c3225 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -13,14 +13,14 @@ namespace Microsoft.ML.Auto public sealed class MulticlassExperimentSettings : ExperimentSettings { public IProgress> ProgressHandler; - public MulticlassClassificationMetric OptimizingMetric = MulticlassClassificationMetric.AccuracyMicro; + public MulticlassClassificationMetric OptimizingMetric = MulticlassClassificationMetric.MicroAccuracy; public MulticlassClassificationTrainer[] WhitelistedTrainers; } public enum MulticlassClassificationMetric { - AccuracyMicro, - AccuracyMacro, + MicroAccuracy, + MacroAccuracy, LogLoss, LogLossReduction, TopKAccuracy, @@ -99,7 +99,7 @@ internal IEnumerable> Execute(MLContext c public static class MulticlassExperimentResultExtensions { - public static RunResult Best(this IEnumerable> results, MulticlassClassificationMetric metric = MulticlassClassificationMetric.AccuracyMicro) + public static RunResult Best(this IEnumerable> results, MulticlassClassificationMetric metric = MulticlassClassificationMetric.MicroAccuracy) { var metricsAgent = new MultiMetricsAgent(metric); return RunResultUtil.GetBestRunResult(results, metricsAgent); diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index f7de008aec..4d96d7e1c1 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -19,9 +19,9 @@ public sealed class RegressionExperimentSettings : ExperimentSettings public enum RegressionMetric { - L1, - L2, - Rms, + MeanAbsoluteError, + MeanSquaredError, + RootMeanSquaredError, RSquared } diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnGroupingInference.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnGroupingInference.cs index 56060f96da..8b3ffd0e16 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnGroupingInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnGroupingInference.cs @@ -107,7 +107,7 @@ private static string GetPurposeName(ColumnPurpose purpose, DataKind itemKind) switch (purpose) { case ColumnPurpose.NumericFeature: - if (itemKind == DataKind.Bool) + if (itemKind == DataKind.Boolean) { return "BooleanFeatures"; } diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs index a6620b4d6d..f691887cae 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs @@ -50,7 +50,7 @@ public static ColumnInferenceResults InferColumns(MLContext context, string path bool trimWhitespace, bool groupColumns) { var loaderColumns = ColumnTypeInference.GenerateLoaderColumns(typeInference.Columns); - var typedLoaderArgs = new TextLoader.Arguments + var typedLoaderOptions = new TextLoader.Options { Columns = loaderColumns, Separators = new[] { splitInference.Separator.Value }, @@ -59,8 +59,8 @@ public static ColumnInferenceResults InferColumns(MLContext context, string path HasHeader = hasHeader, TrimWhitespace = trimWhitespace }; - var textLoader = context.Data.CreateTextLoader(typedLoaderArgs); - var dataView = textLoader.Read(path); + var textLoader = context.Data.CreateTextLoader(typedLoaderOptions); + var dataView = textLoader.Load(path); var purposeInferenceResult = PurposeInference.InferPurposes(context, dataView, columnInfo); @@ -83,7 +83,7 @@ public static ColumnInferenceResults InferColumns(MLContext context, string path purposeResults = purposeInferenceResult.Select(p => (dataView.Schema[p.ColumnIndex].Name, p.Purpose)); } - var textLoaderArgs = new TextLoader.Arguments() + var textLoaderOptions = new TextLoader.Options() { Columns = columnResults.ToArray(), AllowQuoting = splitInference.AllowQuote, @@ -95,7 +95,7 @@ public static ColumnInferenceResults InferColumns(MLContext context, string path return new ColumnInferenceResults() { - TextLoaderArgs = textLoaderArgs, + TextLoaderOptions = textLoaderOptions, ColumnInformation = ColumnInformationUtil.BuildColumnInfo(purposeResults) }; } diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs index 73ed56f740..2277d8f7bb 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs @@ -256,15 +256,15 @@ private static InferenceResult InferTextFileColumnTypesCore(MLContext context, I } // read the file as the specified number of text columns - var textLoaderArgs = new TextLoader.Arguments + var textLoaderOptions = new TextLoader.Options { - Columns = new[] { new TextLoader.Column("C", DataKind.TX, 0, args.ColumnCount - 1) }, + Columns = new[] { new TextLoader.Column("C", DataKind.String, 0, args.ColumnCount - 1) }, Separators = new[] { args.Separator }, AllowSparse = args.AllowSparse, AllowQuoting = args.AllowQuote, }; - var textLoader = new TextLoader(context, textLoaderArgs); - var idv = textLoader.Read(fileSource); + var textLoader = context.Data.CreateTextLoader(textLoaderOptions); + var idv = textLoader.Load(fileSource); idv = context.Data.TakeRows(idv, args.MaxRowsToRead); // read all the data into memory. diff --git a/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs b/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs index 507e6287a2..493607a484 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs @@ -57,11 +57,11 @@ from _allowQuote in quote from _sep in separatorCandidates select new { _allowSparse, _allowQuote, _sep })) { - var args = new TextLoader.Arguments + var options = new TextLoader.Options { Columns = new[] { new TextLoader.Column() { Name = "C", - Type = DataKind.TX, + DataKind = DataKind.String, Source = new[] { new TextLoader.Range(0, null) } } }, Separators = new[] { perm._sep }, @@ -69,7 +69,7 @@ from _sep in separatorCandidates AllowSparse = perm._allowSparse }; - if (TryParseFile(context, args, source, out result)) + if (TryParseFile(context, options, source, out result)) { foundAny = true; break; @@ -78,16 +78,15 @@ from _sep in separatorCandidates return foundAny ? result : new ColumnSplitResult(false, null, true, true, 0); } - private static bool TryParseFile(MLContext context, TextLoader.Arguments args, IMultiStreamSource source, + private static bool TryParseFile(MLContext context, TextLoader.Options options, IMultiStreamSource source, out ColumnSplitResult result) { result = null; // try to instantiate data view with swept arguments try { - - var textLoader = new TextLoader(context, args, source); - var idv = context.Data.TakeRows(textLoader.Read(source), 1000); + var textLoader = context.Data.CreateTextLoader(options, source); + var idv = context.Data.TakeRows(textLoader.Load(source), 1000); var columnCounts = new List(); var column = idv.Schema["C"]; var columnIndex = column.Index; @@ -113,7 +112,7 @@ private static bool TryParseFile(MLContext context, TextLoader.Arguments args, I // disallow single-column case if (mostCommon.Key <= 1) { return false; } - result = new ColumnSplitResult(true, args.Separators.First(), args.AllowQuoting, args.AllowSparse, mostCommon.Key); + result = new ColumnSplitResult(true, options.Separators.First(), options.AllowQuoting, options.AllowSparse, mostCommon.Key); return true; } // fail gracefully if unable to instantiate data view with swept arguments diff --git a/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs b/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs index 41e5d747cc..b5179548b5 100644 --- a/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs +++ b/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs @@ -68,7 +68,7 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) { - var pairs = new (string, string)[inColumns.Length]; + var pairs = new ColumnOptions[inColumns.Length]; for (var i = 0; i < inColumns.Length; i++) { var pair = (outColumns[i], inColumns[i]); @@ -95,10 +95,10 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) { - var pairs = new MissingValueReplacingEstimator.ColumnInfo[inColumns.Length]; + var pairs = new MissingValueReplacingEstimator.ColumnOptions[inColumns.Length]; for (var i = 0; i < inColumns.Length; i++) { - var pair = new MissingValueReplacingEstimator.ColumnInfo(outColumns[i], inColumns[i]); + var pair = new MissingValueReplacingEstimator.ColumnOptions(outColumns[i], inColumns[i]); pairs[i] = pair; } return context.Transforms.ReplaceMissingValues(pairs); @@ -143,10 +143,10 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str public static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) { - var cols = new OneHotEncodingEstimator.ColumnInfo[inColumns.Length]; + var cols = new OneHotEncodingEstimator.ColumnOptions[inColumns.Length]; for (var i = 0; i < cols.Length; i++) { - cols[i] = new OneHotEncodingEstimator.ColumnInfo(outColumns[i], inColumns[i]); + cols[i] = new OneHotEncodingEstimator.ColumnOptions(outColumns[i], inColumns[i]); } return context.Transforms.Categorical.OneHotEncoding(cols); } @@ -174,10 +174,10 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) { - var cols = new OneHotHashEncodingEstimator.ColumnInfo[inColumns.Length]; + var cols = new OneHotHashEncodingEstimator.ColumnOptions[inColumns.Length]; for (var i = 0; i < cols.Length; i++) { - cols[i] = new OneHotHashEncodingEstimator.ColumnInfo(outColumns[i], inColumns[i]); + cols[i] = new OneHotHashEncodingEstimator.ColumnOptions(outColumns[i], inColumns[i]); } return context.Transforms.Categorical.OneHotHashEncoding(cols); } @@ -221,10 +221,10 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) { - var cols = new TypeConvertingEstimator.ColumnInfo[inColumns.Length]; + var cols = new TypeConvertingEstimator.ColumnOptions[inColumns.Length]; for (var i = 0; i < cols.Length; i++) { - cols[i] = new TypeConvertingEstimator.ColumnInfo(outColumns[i], DataKind.R4, inColumns[i]); + cols[i] = new TypeConvertingEstimator.ColumnOptions(outColumns[i], DataKind.Single, inColumns[i]); } return context.Transforms.Conversion.ConvertType(cols); } diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs index 2714267242..531e78b7b3 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs @@ -22,9 +22,9 @@ public double GetScore(BinaryClassificationMetrics metrics) { case BinaryClassificationMetric.Accuracy: return metrics.Accuracy; - case BinaryClassificationMetric.Auc: + case BinaryClassificationMetric.AreaUnderRocCurve: return metrics.Auc; - case BinaryClassificationMetric.Auprc: + case BinaryClassificationMetric.AreaUnderPrecisionRecallCurve: return metrics.Auprc; case BinaryClassificationMetric.F1Score: return metrics.F1Score; @@ -52,9 +52,9 @@ public bool IsModelPerfect(BinaryClassificationMetrics metrics) { case BinaryClassificationMetric.Accuracy: return metrics.Accuracy == 1; - case BinaryClassificationMetric.Auc: + case BinaryClassificationMetric.AreaUnderRocCurve: return metrics.Auc == 1; - case BinaryClassificationMetric.Auprc: + case BinaryClassificationMetric.AreaUnderPrecisionRecallCurve: return metrics.Auprc == 1; case BinaryClassificationMetric.F1Score: return metrics.F1Score == 1; diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs index 6e42db60fa..a354b54f85 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs @@ -19,9 +19,9 @@ public double GetScore(MultiClassClassifierMetrics metrics) { switch (_optimizingMetric) { - case MulticlassClassificationMetric.AccuracyMacro: + case MulticlassClassificationMetric.MacroAccuracy: return metrics.AccuracyMacro; - case MulticlassClassificationMetric.AccuracyMicro: + case MulticlassClassificationMetric.MicroAccuracy: return metrics.AccuracyMicro; case MulticlassClassificationMetric.LogLoss: return metrics.LogLoss; @@ -43,9 +43,9 @@ public bool IsModelPerfect(MultiClassClassifierMetrics metrics) switch (_optimizingMetric) { - case MulticlassClassificationMetric.AccuracyMacro: + case MulticlassClassificationMetric.MacroAccuracy: return metrics.AccuracyMacro == 1; - case MulticlassClassificationMetric.AccuracyMicro: + case MulticlassClassificationMetric.MicroAccuracy: return metrics.AccuracyMicro == 1; case MulticlassClassificationMetric.LogLoss: return metrics.LogLoss == 0; diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs index b3fdaa752d..0d5cd611d0 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs @@ -19,11 +19,11 @@ public double GetScore(RegressionMetrics metrics) { switch (_optimizingMetric) { - case RegressionMetric.L1: + case RegressionMetric.MeanAbsoluteError: return metrics.L1; - case RegressionMetric.L2: + case RegressionMetric.MeanSquaredError: return metrics.L2; - case RegressionMetric.Rms: + case RegressionMetric.RootMeanSquaredError: return metrics.Rms; case RegressionMetric.RSquared: return metrics.RSquared; @@ -41,11 +41,11 @@ public bool IsModelPerfect(RegressionMetrics metrics) switch (_optimizingMetric) { - case RegressionMetric.L1: + case RegressionMetric.MeanAbsoluteError: return metrics.L1 == 0; - case RegressionMetric.L2: + case RegressionMetric.MeanSquaredError: return metrics.L2 == 0; - case RegressionMetric.Rms: + case RegressionMetric.RootMeanSquaredError: return metrics.Rms == 0; case RegressionMetric.RSquared: return metrics.RSquared == 1; diff --git a/src/Microsoft.ML.Auto/Experiment/OptimizingMetricInfo.cs b/src/Microsoft.ML.Auto/Experiment/OptimizingMetricInfo.cs index af2a118424..54f23fe1be 100644 --- a/src/Microsoft.ML.Auto/Experiment/OptimizingMetricInfo.cs +++ b/src/Microsoft.ML.Auto/Experiment/OptimizingMetricInfo.cs @@ -12,9 +12,9 @@ internal sealed class OptimizingMetricInfo private static RegressionMetric[] _minimizingRegressionMetrics = new RegressionMetric[] { - RegressionMetric.L1, - RegressionMetric.L2, - RegressionMetric.Rms + RegressionMetric.MeanAbsoluteError, + RegressionMetric.MeanSquaredError, + RegressionMetric.RootMeanSquaredError }; private static BinaryClassificationMetric[] _minimizingBinaryMetrics = new BinaryClassificationMetric[] diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedTrainer.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedTrainer.cs index 04bfa81837..90fae04eb9 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedTrainer.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedTrainer.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using System.Linq; -using Microsoft.ML.Training; +using Microsoft.ML.Trainers; namespace Microsoft.ML.Auto { @@ -41,7 +41,7 @@ public SuggestedTrainer Clone() return new SuggestedTrainer(_mlContext, _trainerExtension, _columnInfo, HyperParamSet?.Clone()); } - public ITrainerEstimator, IPredictor> BuildTrainer() + public ITrainerEstimator, object> BuildTrainer() { IEnumerable sweepParams = null; if (HyperParamSet != null) diff --git a/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj b/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj index e5c470964b..b510f43b3c 100644 --- a/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj +++ b/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj @@ -6,9 +6,9 @@ - - - + + + diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs index 6c25efcd24..fc765c3aac 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs @@ -8,11 +8,10 @@ using Microsoft.ML.Trainers.FastTree; using Microsoft.ML.Trainers.HalLearners; using Microsoft.ML.Trainers.Online; -using Microsoft.ML.Training; namespace Microsoft.ML.Auto { - using ITrainerEstimator = ITrainerEstimator, IPredictor>; + using ITrainerEstimator = ITrainerEstimator, object>; internal class AveragedPerceptronBinaryExtension : ITrainerExtension { diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/ITrainerExtension.cs b/src/Microsoft.ML.Auto/TrainerExtensions/ITrainerExtension.cs index 12317670b7..790825f8ec 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/ITrainerExtension.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/ITrainerExtension.cs @@ -3,11 +3,11 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; -using Microsoft.ML.Training; +using Microsoft.ML.Trainers; namespace Microsoft.ML.Auto { - using ITrainerEstimator = ITrainerEstimator, IPredictor>; + using ITrainerEstimator = ITrainerEstimator, object>; internal interface ITrainerExtension { diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs index 2717c87636..b833360e50 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs @@ -4,12 +4,11 @@ using System.Collections.Generic; using Microsoft.ML.Trainers; -using Microsoft.ML.Training; namespace Microsoft.ML.Auto { - using ITrainerEstimator = ITrainerEstimator, IPredictor>; - using ITrainerEstimatorProducingFloat = ITrainerEstimator>, IPredictorProducing>; + using ITrainerEstimator = ITrainerEstimator, object>; + using ITrainerEstimatorProducingFloat = ITrainerEstimator, object>; internal class AveragedPerceptronOvaExtension : ITrainerExtension { @@ -24,7 +23,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -46,7 +45,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -89,7 +88,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -132,7 +131,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -154,7 +153,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -176,7 +175,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -198,7 +197,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs index c10b78d5fc..35e6d8d661 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs @@ -7,11 +7,10 @@ using Microsoft.ML.Trainers.FastTree; using Microsoft.ML.Trainers.HalLearners; using Microsoft.ML.Trainers.Online; -using Microsoft.ML.Training; namespace Microsoft.ML.Auto { - using ITrainerEstimator = ITrainerEstimator, IPredictor>; + using ITrainerEstimator = ITrainerEstimator, object>; internal class FastForestRegressionExtension : ITrainerExtension { diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/AnnotationBuilderExtensions.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/AnnotationBuilderExtensions.cs new file mode 100644 index 0000000000..cdf42a33d3 --- /dev/null +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/AnnotationBuilderExtensions.cs @@ -0,0 +1,37 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Data.DataView; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal static class AnnotationBuilderExtensions + { + /// + /// Add slot names annotation. + /// + /// The to which to add the slot names. + /// The size of the slot names vector. + /// The getter delegate for the slot names. + public static void AddSlotNames(this DataViewSchema.Annotations.Builder builder, int size, ValueGetter>> getter) + { + builder.Add("SlotNames", new VectorType(TextDataViewType.Instance, size), getter, null); + } + + /// + /// Add key values annotation. + /// + /// The value type of key values. + /// The to which to add the key values. + /// The size of key values vector. + /// The value type of key values. Its raw type must match . + /// The getter delegate for the key values. + public static void AddKeyValues(this DataViewSchema.Annotations.Builder builder, int size, PrimitiveDataViewType valueType, ValueGetter> getter) + { + builder.Add("KeyValues", new VectorType(valueType, size), getter, null); + } + } +} diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/ArrayDataViewBuilder.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/ArrayDataViewBuilder.cs new file mode 100644 index 0000000000..0242c085d0 --- /dev/null +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/ArrayDataViewBuilder.cs @@ -0,0 +1,455 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using Microsoft.Data.DataView; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + using BitArray = System.Collections.BitArray; + + /// + /// This is a class for composing an in memory IDataView. + /// + internal sealed class ArrayDataViewBuilder + { + private readonly IHost _host; + private readonly List _columns; + private readonly List _names; + private readonly Dictionary>>> _getSlotNames; + private readonly Dictionary>>> _getKeyValues; + + private int? RowCount + { + get + { + if (_columns.Count == 0) + return null; + return _columns[0].Length; + } + } + + public ArrayDataViewBuilder(IHostEnvironment env) + { + Contracts.CheckValue(env, nameof(env)); + _host = env.Register("ArrayDataViewBuilder"); + + _columns = new List(); + _names = new List(); + _getSlotNames = new Dictionary>>>(); + _getKeyValues = new Dictionary>>>(); + } + + /// + /// Verifies that the input array to one of the add routines is of the same length + /// as previously added arrays, assuming there were any. + /// + private void CheckLength(string name, T[] values) + { + _host.CheckValue(name, nameof(name)); + _host.CheckValue(values, nameof(values)); + if (_columns.Count > 0 && values.Length != _columns[0].Length) + throw _host.Except("Previous inputs were of length {0}, but new input is of length {1}", _columns[0].Length, values.Length); + } + + /// + /// Constructs a new column from an array where values are copied to output simply + /// by being assigned. Output values are returned simply by being assigned, so the + /// type should be a type where assigning to a different + /// value does not compromise the immutability of the source object (so, for example, + /// a scalar, string, or ReadOnlyMemory would be perfectly acceptable, but a + /// HashSet or VBuffer would not be). + /// + public void AddColumn(string name, PrimitiveDataViewType type, params T[] values) + { + _host.CheckParam(type != null && type.RawType == typeof(T), nameof(type)); + CheckLength(name, values); + _columns.Add(new AssignmentColumn(type, values)); + _names.Add(name); + } + + /// + /// Constructs a new key column from an array where values are copied to output simply + /// by being assigned. + /// + /// The name of the column. + /// The delegate that does a reverse lookup based upon the given key. This is for annotation creation + /// The count of unique keys specified in values + /// The values to add to the column. Note that since this is creating a column, the values will be offset by 1. + public void AddColumn(string name, ValueGetter>> getKeyValues, ulong keyCount, params T1[] values) + { + _host.CheckValue(getKeyValues, nameof(getKeyValues)); + _host.CheckParam(keyCount > 0, nameof(keyCount)); + CheckLength(name, values); + var elemType = values.GetType().GetElementType(); + _columns.Add(new AssignmentColumn(new KeyType(elemType, keyCount), values)); + _getKeyValues.Add(name, getKeyValues); + _names.Add(name); + } + + /// + /// Creates a column with slot names from arrays. The added column will be re-interpreted as a buffer. + /// + public void AddColumn(string name, ValueGetter>> getNames, PrimitiveDataViewType itemType, params T[][] values) + { + _host.CheckValue(getNames, nameof(getNames)); + _host.CheckParam(itemType != null && itemType.RawType == typeof(T), nameof(itemType)); + CheckLength(name, values); + var col = new ArrayToVBufferColumn(itemType, values); + _columns.Add(col); + _getSlotNames.Add(name, getNames); + _names.Add(name); + } + + /// + /// Creates a column from arrays. The added column will be re-interpreted as a buffer. + /// + public void AddColumn(string name, PrimitiveDataViewType itemType, params T[][] values) + { + _host.CheckParam(itemType != null && itemType.RawType == typeof(T), nameof(itemType)); + CheckLength(name, values); + _columns.Add(new ArrayToVBufferColumn(itemType, values)); + _names.Add(name); + } + + /// + /// Adds a VBuffer{T} valued column. + /// + public void AddColumn(string name, PrimitiveDataViewType itemType, params VBuffer[] values) + { + _host.CheckParam(itemType != null && itemType.RawType == typeof(T), nameof(itemType)); + CheckLength(name, values); + _columns.Add(new VBufferColumn(itemType, values)); + _names.Add(name); + } + + /// + /// Adds a VBuffer{T} valued column. + /// + public void AddColumn(string name, ValueGetter>> getNames, PrimitiveDataViewType itemType, params VBuffer[] values) + { + _host.CheckValue(getNames, nameof(getNames)); + _host.CheckParam(itemType != null && itemType.RawType == typeof(T), nameof(itemType)); + CheckLength(name, values); + _columns.Add(new VBufferColumn(itemType, values)); + _getSlotNames.Add(name, getNames); + _names.Add(name); + } + + /// + /// Adds a ReadOnlyMemory valued column from an array of strings. + /// + public void AddColumn(string name, params string[] values) + { + CheckLength(name, values); + _columns.Add(new StringToTextColumn(values)); + _names.Add(name); + } + + /// + /// Constructs a data view from the columns added so far. Note that it is perfectly acceptable + /// to continue adding columns to the builder, but these additions will not be reflected in the + /// returned dataview. + /// + /// + public IDataView GetDataView(int? rowCount = null) + { + if (rowCount.HasValue) + { + _host.Check(!RowCount.HasValue || RowCount.Value == rowCount.Value, "Specified row count incompatible with existing columns"); + return new DataView(_host, this, rowCount.Value); + } + _host.Check(_columns.Count > 0, "Cannot construct data-view with neither any columns nor a specified row count"); + return new DataView(_host, this, RowCount.Value); + } + + private sealed class DataView : IDataView + { + private readonly int _rowCount; + private readonly Column[] _columns; + private readonly DataViewSchema _schema; + private readonly IHost _host; + + public DataViewSchema Schema { get { return _schema; } } + + public long? GetRowCount() { return _rowCount; } + + public bool CanShuffle { get { return true; } } + + public DataView(IHostEnvironment env, ArrayDataViewBuilder builder, int rowCount) + { + _host = env.Register("ArrayDataView"); + + _columns = builder._columns.ToArray(); + + var schemaBuilder = new DataViewSchema.Builder(); + for (int i = 0; i < _columns.Length; i++) + { + var meta = new DataViewSchema.Annotations.Builder(); + + if (builder._getSlotNames.TryGetValue(builder._names[i], out var slotNamesGetter)) + meta.AddSlotNames(_columns[i].Type.GetVectorSize(), slotNamesGetter); + + if (builder._getKeyValues.TryGetValue(builder._names[i], out var keyValueGetter)) + meta.AddKeyValues(_columns[i].Type.GetKeyCountAsInt32(_host), TextDataViewType.Instance, keyValueGetter); + schemaBuilder.AddColumn(builder._names[i], _columns[i].Type, meta.ToAnnotations()); + } + + _schema = schemaBuilder.ToSchema(); + _rowCount = rowCount; + } + + public DataViewRowCursor GetRowCursor(IEnumerable columnsNeeded, Random rand = null) + { + var predicate = RowCursorUtils.FromColumnsToPredicate(columnsNeeded, Schema); + + return new Cursor(_host, this, predicate, rand); + } + + public DataViewRowCursor[] GetRowCursorSet(IEnumerable columnsNeeded, int n, Random rand = null) + { + var predicate = RowCursorUtils.FromColumnsToPredicate(columnsNeeded, Schema); + return new DataViewRowCursor[] { new Cursor(_host, this, predicate, rand) }; + } + + private sealed class Cursor : RootCursorBase + { + private readonly DataView _view; + private readonly BitArray _active; + private readonly int[] _indices; + + public override DataViewSchema Schema => _view.Schema; + + public override long Batch + { + // REVIEW: Implement cursor set support. + get { return 0; } + } + + public Cursor(IChannelProvider provider, DataView view, Func predicate, Random rand) + : base(provider) + { + _view = view; + _active = new BitArray(view.Schema.Count); + if (predicate == null) + _active.SetAll(true); + else + { + for (int i = 0; i < view.Schema.Count; ++i) + _active[i] = predicate(i); + } + if (rand != null) + _indices = MLNetUtils.GetRandomPermutation(rand, view._rowCount); + } + + public override ValueGetter GetIdGetter() + { + if (_indices == null) + { + return + (ref DataViewRowId val) => + { + Ch.Check(IsGood, RowCursorUtils.FetchValueStateError); + val = new DataViewRowId((ulong)Position, 0); + }; + } + else + { + return + (ref DataViewRowId val) => + { + Ch.Check(IsGood, RowCursorUtils.FetchValueStateError); + val = new DataViewRowId((ulong)MappedIndex(), 0); + }; + } + } + + public override bool IsColumnActive(int col) + { + Ch.Check(0 <= col & col < Schema.Count); + return _active[col]; + } + + public override ValueGetter GetGetter(int col) + { + Ch.Check(0 <= col & col < Schema.Count); + Ch.Check(_active[col], "column is not active"); + var column = _view._columns[col] as Column; + if (column == null) + throw Ch.Except("Invalid TValue: '{0}'", typeof(TValue)); + + return + (ref TValue value) => + { + Ch.Check(IsGood, RowCursorUtils.FetchValueStateError); + column.CopyOut(MappedIndex(), ref value); + }; + } + + protected override bool MoveNextCore() + { + return 1 < _view._rowCount - Position; + } + + private int MappedIndex() + { + if (_indices == null) + return (int)Position; + return _indices[(int)Position]; + } + } + } + + #region Column implementations + + private abstract class Column + { + public readonly DataViewType Type; + + public abstract int Length { get; } + + public Column(DataViewType type) + { + Type = type; + } + } + + private abstract class Column : Column + { + /// + /// Produce the output value given the index. + /// + public abstract void CopyOut(int index, ref TOut value); + + public Column(DataViewType type) + : base(type) + { + } + } + + private abstract class Column : Column + { + private readonly TIn[] _values; + + public override int Length { get { return _values.Length; } } + + public Column(DataViewType type, TIn[] values) + : base(type) + { + _values = values; + } + + /// + /// Assigns dst in such a way that the caller has ownership of dst without + /// compromising this object's ownership of src. What that operation will be + /// will depend on the types. + /// + protected abstract void CopyOut(in TIn src, ref TOut dst); + + /// + /// Produce the output value given the index. This overload utilizes the CopyOut + /// helper function. + /// + public override void CopyOut(int index, ref TOut value) + { + CopyOut(in _values[index], ref value); + } + } + + /// + /// A column where the input and output types are the same, and simple assignment does + /// not compromise ownership of the internal vlaues. + /// + private sealed class AssignmentColumn : Column + { + public AssignmentColumn(PrimitiveDataViewType type, T[] values) + : base(type, values) + { + } + + protected override void CopyOut(in T src, ref T dst) + { + dst = src; + } + } + + /// + /// A convenience column for converting strings into textspans. + /// + private sealed class StringToTextColumn : Column> + { + public StringToTextColumn(string[] values) + : base(TextDataViewType.Instance, values) + { + } + + protected override void CopyOut(in string src, ref ReadOnlyMemory dst) + { + dst = src.AsMemory(); + } + } + + private abstract class VectorColumn : Column> + { + public VectorColumn(PrimitiveDataViewType itemType, TIn[] values, Func lengthFunc) + : base(InferType(itemType, values, lengthFunc), values) + { + } + + /// + /// A utility function for subclasses that want to get the type with a dimension based + /// on the input value array and some length function over the input type. + /// + private static DataViewType InferType(PrimitiveDataViewType itemType, TIn[] values, Func lengthFunc) + { + int degree = 0; + if (MLNetUtils.Size(values) > 0) + { + degree = lengthFunc(values[0]); + for (int i = 1; i < values.Length; ++i) + { + if (degree != lengthFunc(values[i])) + { + degree = 0; + break; + } + } + } + return new VectorType(itemType, degree); + } + } + + /// + /// A column of buffers. + /// + private sealed class VBufferColumn : VectorColumn, T> + { + public VBufferColumn(PrimitiveDataViewType itemType, VBuffer[] values) + : base(itemType, values, v => v.Length) + { + } + + protected override void CopyOut(in VBuffer src, ref VBuffer dst) + { + src.CopyTo(ref dst); + } + } + + private sealed class ArrayToVBufferColumn : VectorColumn + { + public ArrayToVBufferColumn(PrimitiveDataViewType itemType, T[][] values) + : base(itemType, values, MLNetUtils.Size) + { + } + + protected override void CopyOut(in T[] src, ref VBuffer dst) + { + VBuffer.Copy(src, 0, ref dst, MLNetUtils.Size(src)); + } + } + #endregion + } +} \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/Utils/ColumnTypeExtensions.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs similarity index 62% rename from src/Microsoft.ML.Auto/Utils/ColumnTypeExtensions.cs rename to src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs index a4f8da6541..79c105a126 100644 --- a/src/Microsoft.ML.Auto/Utils/ColumnTypeExtensions.cs +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs @@ -32,7 +32,7 @@ public static bool IsVector(this DataViewType columnType) public static bool IsKnownSizeVector(this DataViewType columnType) { var vector = columnType as VectorType; - if(vector == null) + if (vector == null) { return false; } @@ -49,10 +49,36 @@ public static DataViewType GetItemType(this DataViewType columnType) return vector.ItemType; } + /// + /// Zero return means either it's not a vector or the size is unknown. + /// + public static int GetVectorSize(this DataViewType columnType) + { + return (columnType as VectorType)?.Size ?? 0; + } + public static DataKind GetRawKind(this DataViewType columnType) { columnType.RawType.TryGetDataKind(out var rawKind); return rawKind; } + + /// + /// Zero return means it's not a key type. + /// + public static ulong GetKeyCount(this DataViewType columnType) + { + return (columnType as KeyType)?.Count ?? 0; + } + + /// + /// Sometimes it is necessary to cast the Count to an int. This performs overflow check. + /// Zero return means it's not a key type. + /// + public static int GetKeyCountAsInt32(this DataViewType columnType, IExceptionContext ectx = null) + { + ulong keyCount = columnType.GetKeyCount(); + return (int)keyCount; + } } -} +} \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/Contracts.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/Contracts.cs new file mode 100644 index 0000000000..8b29725c76 --- /dev/null +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/Contracts.cs @@ -0,0 +1,93 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Diagnostics; +using System.Globalization; + +namespace Microsoft.ML.Auto +{ + internal static class Contracts + { + public static void Check(this IExceptionContext ctx, bool f, string msg) + { + if (!f) + { + throw Except(ctx, msg); + } + } + + public static void Check(this IExceptionContext ctx, bool f) + { + if (!f) + { + throw new InvalidOperationException(); + } + } + + public static void CheckValue(T val, string paramName) where T : class + { + if (object.ReferenceEquals(val, null)) + { + throw new ArgumentNullException(paramName); + } + } + + public static void CheckValue(this IExceptionContext ctx, T val, string paramName) where T : class + { + if (object.ReferenceEquals(val, null)) + { + throw new ArgumentNullException(paramName); + } + } + + public static void CheckParam(this IExceptionContext ctx, bool f, string paramName) + { + if (!f) + { + throw ExceptParam(ctx, paramName); + } + } + + public static void CheckParam(bool f, string paramName) + { + if (!f) + { + throw ExceptParam(paramName); + } + } + + public static void Assert(bool f, string msg) + { + if (!f) + { + Debug.Fail(msg); + } + } + + public static Exception Except(this IExceptionContext ctx, string msg, params object[] args) + => throw new InvalidOperationException(GetMsg(msg, args)); + + public static Exception ExceptParam(this IExceptionContext ctx, string paramName) + => new ArgumentOutOfRangeException(paramName); + + public static Exception Except(string msg) => new InvalidOperationException(msg); + + public static Exception ExceptParam(string paramName) + => new ArgumentOutOfRangeException(paramName); + + private static string GetMsg(string msg, params object[] args) + { + try + { + msg = string.Format(CultureInfo.InvariantCulture, msg, args); + } + catch (FormatException ex) + { + Contracts.Assert(false, "Format string arg mismatch: " + ex.Message); + } + return msg; + } + } +} diff --git a/src/Microsoft.ML.Auto/Utils/Conversions.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/Conversions.cs similarity index 100% rename from src/Microsoft.ML.Auto/Utils/Conversions.cs rename to src/Microsoft.ML.Auto/Utils/MLNetUtils/Conversions.cs diff --git a/src/Microsoft.ML.Auto/Utils/DataKindExtensions.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/DataKindExtensions.cs similarity index 76% rename from src/Microsoft.ML.Auto/Utils/DataKindExtensions.cs rename to src/Microsoft.ML.Auto/Utils/MLNetUtils/DataKindExtensions.cs index 513cb8fed4..d5b144150f 100644 --- a/src/Microsoft.ML.Auto/Utils/DataKindExtensions.cs +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/DataKindExtensions.cs @@ -17,43 +17,43 @@ public static bool TryGetDataKind(this Type type, out DataKind kind) { if (type == typeof(sbyte)) { - kind = DataKind.I1; + kind = DataKind.SByte; } else if (type == typeof(byte)) { - kind = DataKind.U1; + kind = DataKind.Byte; } else if (type == typeof(short)) { - kind = DataKind.I2; + kind = DataKind.Int16; } else if (type == typeof(ushort)) { - kind = DataKind.U2; + kind = DataKind.UInt16; } else if (type == typeof(int)) { - kind = DataKind.I4; + kind = DataKind.Int32; } else if (type == typeof(uint)) { - kind = DataKind.U4; + kind = DataKind.UInt32; } else if (type == typeof(long)) { - kind = DataKind.I8; + kind = DataKind.Int64; } else if (type == typeof(ulong)) { - kind = DataKind.U8; + kind = DataKind.UInt64; } else if (type == typeof(float)) { - kind = DataKind.R4; + kind = DataKind.Single; } else if (type == typeof(double)) { - kind = DataKind.R8; + kind = DataKind.Double; } else { @@ -61,33 +61,33 @@ public static bool TryGetDataKind(this Type type, out DataKind kind) { if (type == typeof(bool)) { - kind = DataKind.BL; + kind = DataKind.Boolean; goto IL_01ad; } if (type == typeof(TimeSpan)) { - kind = DataKind.TS; + kind = DataKind.TimeSpan; goto IL_01ad; } if (type == typeof(DateTime)) { - kind = DataKind.DT; + kind = DataKind.DateTime; goto IL_01ad; } if (type == typeof(DateTimeOffset)) { - kind = DataKind.DZ; + kind = DataKind.DateTimeOffset; goto IL_01ad; } if (type == typeof(DataViewRowId)) { - kind = DataKind.UG; + kind = DataKind.UInt16; goto IL_01ad; } kind = (DataKind)0; return false; } - kind = DataKind.TX; + kind = DataKind.String; } goto IL_01ad; IL_01ad: diff --git a/src/Microsoft.ML.Auto/Utils/Hashing.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/Hashing.cs similarity index 100% rename from src/Microsoft.ML.Auto/Utils/Hashing.cs rename to src/Microsoft.ML.Auto/Utils/MLNetUtils/Hashing.cs diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/LinqExtensions.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/LinqExtensions.cs new file mode 100644 index 0000000000..d8cbfbc999 --- /dev/null +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/LinqExtensions.cs @@ -0,0 +1,30 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.ML.Auto +{ + internal static class LinqExtensions + { + public static int ArgMax(this IEnumerable e) where T : IComparable + { + T max = e.First(); + int argMax = 0; + int i = 1; + foreach (T d in e.Skip(1)) + { + if (d.CompareTo(max) > 0) + { + argMax = i; + max = d; + } + ++i; + } + return argMax; + } + } +} diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/MLNetUtils.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/MLNetUtils.cs new file mode 100644 index 0000000000..19e2ed7fd6 --- /dev/null +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/MLNetUtils.cs @@ -0,0 +1,44 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; + +namespace Microsoft.ML.Auto +{ + internal static class MLNetUtils + { + public static int[] GetRandomPermutation(Random rand, int size) + { + var res = GetIdentityPermutation(size); + Shuffle(rand, res); + return res; + } + + public static int[] GetIdentityPermutation(int size) + { + var res = new int[size]; + for (int i = 0; i < size; i++) + res[i] = i; + return res; + } + + public static void Shuffle(Random rand, Span rgv) + { + for (int iv = 0; iv < rgv.Length; iv++) + Swap(ref rgv[iv], ref rgv[iv + rand.Next(rgv.Length - iv)]); + } + + public static void Swap(ref T a, ref T b) + { + T temp = a; + a = b; + b = temp; + } + + public static int Size(T[] x) + { + return x == null ? 0 : x.Length; + } + } +} diff --git a/src/Microsoft.ML.Auto/Utils/ProbabilityFunctions.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/ProbabilityFunctions.cs similarity index 100% rename from src/Microsoft.ML.Auto/Utils/ProbabilityFunctions.cs rename to src/Microsoft.ML.Auto/Utils/MLNetUtils/ProbabilityFunctions.cs diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/RootCursorBase.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/RootCursorBase.cs new file mode 100644 index 0000000000..7e43dc5673 --- /dev/null +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/RootCursorBase.cs @@ -0,0 +1,73 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.Data.DataView; + +namespace Microsoft.ML.Auto +{ + internal abstract class RootCursorBase : DataViewRowCursor + { + protected readonly IChannel Ch; + + private long _position; + + private bool _disposed; + + /// + /// Zero-based position of the cursor. + /// + public sealed override long Position => _position; + + /// + /// Convenience property for checking whether the current state of the cursor is one where data can be fetched. + /// + protected bool IsGood => _position >= 0; + + /// + /// Creates an instance of the class + /// + /// Channel provider + protected RootCursorBase(IChannelProvider provider) + { + Contracts.CheckValue(provider, "provider"); + Ch = provider.Start("Cursor"); + _position = -1L; + } + + protected override void Dispose(bool disposing) + { + if (!_disposed) + { + if (disposing) + { + Ch.Dispose(); + _position = -1L; + } + _disposed = true; + base.Dispose(disposing); + } + } + + public sealed override bool MoveNext() + { + if (_disposed) + { + return false; + } + if (MoveNextCore()) + { + _position += 1L; + return true; + } + base.Dispose(); + return false; + } + + /// + /// Core implementation of , called if no prior call to this method + /// has returned . + /// + protected abstract bool MoveNextCore(); + } +} \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/RowCursorUtils.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/RowCursorUtils.cs new file mode 100644 index 0000000000..5b4c20f818 --- /dev/null +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/RowCursorUtils.cs @@ -0,0 +1,41 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using Microsoft.Data.DataView; + +namespace Microsoft.ML.Auto +{ + internal static class RowCursorUtils + { + /// + /// Given a collection of , that is a subset of the Schema of the data, create a predicate, + /// that when passed a column index, will return true or false, based on whether + /// the column with the given is part of the . + /// + /// The subset of columns from the that are needed from this . + /// The from where the columnsNeeded originate. + internal static Func FromColumnsToPredicate(IEnumerable columnsNeeded, DataViewSchema sourceSchema) + { + Contracts.CheckValue(columnsNeeded, nameof(columnsNeeded)); + Contracts.CheckValue(sourceSchema, nameof(sourceSchema)); + + bool[] indicesRequested = new bool[sourceSchema.Count]; + + foreach (var col in columnsNeeded) + { + if (col.Index >= indicesRequested.Length) + throw Contracts.Except($"The requested column: {col} is not part of the {nameof(sourceSchema)}"); + + indicesRequested[col.Index] = true; + } + + return c => indicesRequested[c]; + } + + internal const string FetchValueStateError = "Values cannot be fetched at this time. This method was called either before the first call to " + + nameof(DataViewRowCursor.MoveNext) + ", or at any point after that method returned false."; + } +} diff --git a/src/Microsoft.ML.Auto/Utils/VBufferUtils.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/VBufferUtils.cs similarity index 100% rename from src/Microsoft.ML.Auto/Utils/VBufferUtils.cs rename to src/Microsoft.ML.Auto/Utils/MLNetUtils/VBufferUtils.cs diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/VectorUtils.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/VectorUtils.cs new file mode 100644 index 0000000000..940097342d --- /dev/null +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/VectorUtils.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; + +namespace Microsoft.ML.Auto +{ + internal static class VectorUtils + { + public static double GetMean(double[] vector) + { + double sum = 0; + for (int i = 0; i < vector.Length; i++) + { + sum += vector[i]; + } + return sum / vector.Length; + } + + public static double GetStandardDeviation(double[] vector) + { + return GetStandardDeviation(vector, GetMean(vector)); + } + + private static double GetStandardDeviation(double[] vector, double mean) + { + double sum = 0; + int length = vector.Length; + double tmp; + for (int i = 0; i < length; i++) + { + tmp = vector[i] - mean; + sum += tmp * tmp; + } + return Math.Sqrt(sum / length); + } + } +} diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index 7837340b9e..5e1f449e6e 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -32,9 +32,9 @@ public static void Run() ConsoleHelper.Print(columnInference); // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - IDataView trainDataView = textLoader.Read(TrainDataPath); - IDataView testDataView = textLoader.Read(TestDataPath); + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + IDataView trainDataView = textLoader.Load(TrainDataPath); + IDataView testDataView = textLoader.Load(TestDataPath); // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Running AutoML binary classification experiment for {ExperimentTime} seconds..."); diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index 975b70a05a..9a81c17472 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -31,9 +31,9 @@ public static void Run() ConsoleHelper.Print(columnInference); // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - IDataView trainDataView = textLoader.Read(TrainDataPath); - IDataView testDataView = textLoader.Read(TestDataPath); + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + IDataView trainDataView = textLoader.Load(TrainDataPath); + IDataView testDataView = textLoader.Load(TestDataPath); // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Running AutoML multiclass classification experiment for {ExperimentTime} seconds..."); diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index c30bdb39f6..7fcbaa6dad 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -32,9 +32,9 @@ public static void Run() ConsoleHelper.Print(columnInference); // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - IDataView trainDataView = textLoader.Read(TrainDataPath); - IDataView testDataView = textLoader.Read(TestDataPath); + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + IDataView trainDataView = textLoader.Load(TrainDataPath); + IDataView testDataView = textLoader.Load(TestDataPath); // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Running AutoML multiclass classification experiment for {ExperimentTime} seconds..."); diff --git a/src/Samples/Cancellation.cs b/src/Samples/Cancellation.cs index c91a54a12a..2fe7b2022c 100644 --- a/src/Samples/Cancellation.cs +++ b/src/Samples/Cancellation.cs @@ -33,9 +33,9 @@ public static void Run() ConsoleHelper.Print(columnInference); // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - IDataView trainDataView = textLoader.Read(TrainDataPath); - IDataView testDataView = textLoader.Read(TestDataPath); + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + IDataView trainDataView = textLoader.Load(TrainDataPath); + IDataView testDataView = textLoader.Load(TestDataPath); int cancelAfterInSeconds = 20; CancellationTokenSource cts = new CancellationTokenSource(); diff --git a/src/Samples/CustomizeTraining.cs b/src/Samples/CustomizeTraining.cs index 06a2382c58..2339a669f1 100644 --- a/src/Samples/CustomizeTraining.cs +++ b/src/Samples/CustomizeTraining.cs @@ -29,16 +29,16 @@ public static void Run() ConsoleHelper.Print(columnInference); // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - IDataView trainDataView = textLoader.Read(TrainDataPath); - IDataView testDataView = textLoader.Read(TestDataPath); + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + IDataView trainDataView = textLoader.Load(TrainDataPath); + IDataView testDataView = textLoader.Load(TestDataPath); // STEP 3: Using a different optimizing metric instead of default R2 and whitelisting only LightGbm Console.WriteLine($"Starting an experiment with L2 optimizing metric and whitelisting LightGbm trainer"); RegressionExperiment autoExperiment = mlContext.Auto().CreateRegressionExperiment(new RegressionExperimentSettings() { MaxExperimentTimeInSeconds = 20, - OptimizingMetric = RegressionMetric.L2, + OptimizingMetric = RegressionMetric.MeanSquaredError, WhitelistedTrainers = new[] { RegressionTrainer.LightGbm }, ProgressHandler = new ProgressHandler() }); diff --git a/src/Samples/Helpers/ConsoleHelper.cs b/src/Samples/Helpers/ConsoleHelper.cs index 8747d7be67..bc4ca0add6 100644 --- a/src/Samples/Helpers/ConsoleHelper.cs +++ b/src/Samples/Helpers/ConsoleHelper.cs @@ -140,7 +140,7 @@ private void AppendTableRows(ICollection tableRows, private string GetColumnDataType(string columnName) { - return _results.TextLoaderArgs.Columns.First(c => c.Name == columnName).Type.ToString(); + return _results.TextLoaderOptions.Columns.First(c => c.Name == columnName).DataKind.ToString(); } } } \ No newline at end of file diff --git a/src/Samples/ObserveProgress.cs b/src/Samples/ObserveProgress.cs index d22698d9dc..01da2fc3ce 100644 --- a/src/Samples/ObserveProgress.cs +++ b/src/Samples/ObserveProgress.cs @@ -27,9 +27,9 @@ public static void Run() ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn, ','); // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderArgs); - IDataView trainDataView = textLoader.Read(TrainDataPath); - IDataView testDataView = textLoader.Read(TestDataPath); + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + IDataView trainDataView = textLoader.Load(TrainDataPath); + IDataView testDataView = textLoader.Load(TestDataPath); // STEP 3: Auto inference with a callback configured RegressionExperiment autoExperiment = mlContext.Auto().CreateRegressionExperiment(new RegressionExperimentSettings() diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index a6d3a26700..b2188d41be 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -16,8 +16,8 @@ public void AutoFitBinaryTest() var context = new MLContext(); var dataPath = DatasetUtil.DownloadUciAdultDataset(); var columnInference = context.Auto().InferColumns(dataPath, DatasetUtil.UciAdultLabel); - var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); - var trainData = textLoader.Read(dataPath); + var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderOptions); + var trainData = textLoader.Load(dataPath); var validationData = context.Data.TakeRows(trainData, 100); trainData = context.Data.SkipRows(trainData, 100); var result = context.Auto() @@ -32,8 +32,8 @@ public void AutoFitMultiTest() { var context = new MLContext(); var columnInference = context.Auto().InferColumns(DatasetUtil.TrivialMulticlassDatasetPath, DatasetUtil.TrivialMulticlassDatasetLabel); - var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); - var trainData = textLoader.Read(DatasetUtil.TrivialMulticlassDatasetPath); + var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderOptions); + var trainData = textLoader.Load(DatasetUtil.TrivialMulticlassDatasetPath); var validationData = context.Data.TakeRows(trainData, 20); trainData = context.Data.SkipRows(trainData, 20); var result = context.Auto() @@ -49,8 +49,8 @@ public void AutoFitRegressionTest() var context = new MLContext(); var dataPath = DatasetUtil.DownloadMlNetGeneratedRegressionDataset(); var columnInference = context.Auto().InferColumns(dataPath, DatasetUtil.MlNetGeneratedRegressionLabel); - var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderArgs); - var trainData = textLoader.Read(dataPath); + var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderOptions); + var trainData = textLoader.Load(dataPath); var validationData = context.Data.TakeRows(trainData, 20); trainData = context.Data.SkipRows(trainData, 20); var results = context.Auto() diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index 4ce801bcf3..c32c1dd4ea 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -15,13 +15,13 @@ public void UnGroupReturnsMoreColumnsThanGroup() var dataPath = DatasetUtil.DownloadUciAdultDataset(); var context = new MLContext(); var columnInferenceWithoutGrouping = context.Auto().InferColumns(dataPath, DatasetUtil.UciAdultLabel, groupColumns: false); - foreach (var col in columnInferenceWithoutGrouping.TextLoaderArgs.Columns) + foreach (var col in columnInferenceWithoutGrouping.TextLoaderOptions.Columns) { Assert.IsFalse(col.Source.Length > 1 || col.Source[0].Min != col.Source[0].Max); } var columnInferenceWithGrouping = context.Auto().InferColumns(dataPath, DatasetUtil.UciAdultLabel, groupColumns: true); - Assert.IsTrue(columnInferenceWithGrouping.TextLoaderArgs.Columns.Count() < columnInferenceWithoutGrouping.TextLoaderArgs.Columns.Count()); + Assert.IsTrue(columnInferenceWithGrouping.TextLoaderOptions.Columns.Count() < columnInferenceWithoutGrouping.TextLoaderOptions.Columns.Count()); } [TestMethod] @@ -43,8 +43,8 @@ public void LabelIndexOutOfBoundsThrows() public void IdentifyLabelColumnThroughIndexWithHeader() { var result = new MLContext().Auto().InferColumns(DatasetUtil.DownloadUciAdultDataset(), 14, hasHeader: true); - Assert.AreEqual(true, result.TextLoaderArgs.HasHeader); - var labelCol = result.TextLoaderArgs.Columns.First(c => c.Source[0].Min == 14 && c.Source[0].Max == 14); + Assert.AreEqual(true, result.TextLoaderOptions.HasHeader); + var labelCol = result.TextLoaderOptions.Columns.First(c => c.Source[0].Min == 14 && c.Source[0].Max == 14); Assert.AreEqual("hours-per-week", labelCol.Name); Assert.AreEqual("hours-per-week", result.ColumnInformation.LabelColumn); } @@ -53,8 +53,8 @@ public void IdentifyLabelColumnThroughIndexWithHeader() public void IdentifyLabelColumnThroughIndexWithoutHeader() { var result = new MLContext().Auto().InferColumns(DatasetUtil.DownloadIrisDataset(), DatasetUtil.IrisDatasetLabelColIndex); - Assert.AreEqual(false, result.TextLoaderArgs.HasHeader); - var labelCol = result.TextLoaderArgs.Columns.First(c => c.Source[0].Min == DatasetUtil.IrisDatasetLabelColIndex && + Assert.AreEqual(false, result.TextLoaderOptions.HasHeader); + var labelCol = result.TextLoaderOptions.Columns.First(c => c.Source[0].Min == DatasetUtil.IrisDatasetLabelColIndex && c.Source[0].Max == DatasetUtil.IrisDatasetLabelColIndex); Assert.AreEqual(DefaultColumnNames.Label, labelCol.Name); Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); @@ -64,21 +64,21 @@ public void IdentifyLabelColumnThroughIndexWithoutHeader() public void DatasetWithEmptyColumn() { var result = new MLContext().Auto().InferColumns(Path.Combine("TestData", "DatasetWithEmptyColumn.txt"), DefaultColumnNames.Label); - var emptyColumn = result.TextLoaderArgs.Columns.First(c => c.Name == "Empty"); - Assert.AreEqual(DataKind.TX, emptyColumn.Type); + var emptyColumn = result.TextLoaderOptions.Columns.First(c => c.Name == "Empty"); + Assert.AreEqual(DataKind.String, emptyColumn.DataKind); } [TestMethod] public void DatasetWithBoolColumn() { var result = new MLContext().Auto().InferColumns(Path.Combine("TestData", "BinaryDatasetWithBoolColumn.txt"), DefaultColumnNames.Label); - Assert.AreEqual(2, result.TextLoaderArgs.Columns.Count()); + Assert.AreEqual(2, result.TextLoaderOptions.Columns.Count()); - var boolColumn = result.TextLoaderArgs.Columns.First(c => c.Name == "Bool"); - var labelColumn = result.TextLoaderArgs.Columns.First(c => c.Name == DefaultColumnNames.Label); + var boolColumn = result.TextLoaderOptions.Columns.First(c => c.Name == "Bool"); + var labelColumn = result.TextLoaderOptions.Columns.First(c => c.Name == DefaultColumnNames.Label); // ensure non-label Boolean column is detected as R4 - Assert.AreEqual(DataKind.R4, boolColumn.Type); - Assert.AreEqual(DataKind.BL, labelColumn.Type); + Assert.AreEqual(DataKind.Single, boolColumn.DataKind); + Assert.AreEqual(DataKind.Boolean, labelColumn.DataKind); // ensure non-label Boolean column is detected as R4 Assert.AreEqual(1, result.ColumnInformation.NumericColumns.Count()); @@ -90,12 +90,12 @@ public void DatasetWithBoolColumn() public void WhereNameColumnIsOnlyFeature() { var result = new MLContext().Auto().InferColumns(Path.Combine("TestData", "NameColumnIsOnlyFeatureDataset.txt"), DefaultColumnNames.Label); - Assert.AreEqual(2, result.TextLoaderArgs.Columns.Count()); + Assert.AreEqual(2, result.TextLoaderOptions.Columns.Count()); - var nameColumn = result.TextLoaderArgs.Columns.First(c => c.Name == "Username"); - var labelColumn = result.TextLoaderArgs.Columns.First(c => c.Name == DefaultColumnNames.Label); - Assert.AreEqual(DataKind.TX, nameColumn.Type); - Assert.AreEqual(DataKind.BL, labelColumn.Type); + var nameColumn = result.TextLoaderOptions.Columns.First(c => c.Name == "Username"); + var labelColumn = result.TextLoaderOptions.Columns.First(c => c.Name == DefaultColumnNames.Label); + Assert.AreEqual(DataKind.String, nameColumn.DataKind); + Assert.AreEqual(DataKind.Boolean, labelColumn.DataKind); Assert.AreEqual(1, result.ColumnInformation.TextColumns.Count()); Assert.AreEqual("Username", result.ColumnInformation.TextColumns.First()); @@ -140,8 +140,8 @@ public void InferColumnsColumnInfoParam() var columnInfo = new ColumnInformation() { LabelColumn = DatasetUtil.MlNetGeneratedRegressionLabel }; var result = new MLContext().Auto().InferColumns(DatasetUtil.DownloadMlNetGeneratedRegressionDataset(), columnInfo); - var labelCol = result.TextLoaderArgs.Columns.First(c => c.Name == DatasetUtil.MlNetGeneratedRegressionLabel); - Assert.AreEqual(DataKind.R4, labelCol.Type); + var labelCol = result.TextLoaderOptions.Columns.First(c => c.Name == DatasetUtil.MlNetGeneratedRegressionLabel); + Assert.AreEqual(DataKind.Single, labelCol.DataKind); Assert.AreEqual(DatasetUtil.MlNetGeneratedRegressionLabel, result.ColumnInformation.LabelColumn); Assert.AreEqual(1, result.ColumnInformation.NumericColumns.Count()); Assert.AreEqual(DefaultColumnNames.Features, result.ColumnInformation.NumericColumns.First()); diff --git a/src/Test/DatasetUtil.cs b/src/Test/DatasetUtil.cs index 848fde5337..3b763fd521 100644 --- a/src/Test/DatasetUtil.cs +++ b/src/Test/DatasetUtil.cs @@ -28,8 +28,8 @@ public static IDataView GetUciAdultDataView() var context = new MLContext(); var uciAdultDataFile = DownloadUciAdultDataset(); var columnInferenceResult = context.Auto().InferColumns(uciAdultDataFile, UciAdultLabel); - var textLoader = context.Data.CreateTextLoader(columnInferenceResult.TextLoaderArgs); - _uciAdultDataView = textLoader.Read(uciAdultDataFile); + var textLoader = context.Data.CreateTextLoader(columnInferenceResult.TextLoaderOptions); + _uciAdultDataView = textLoader.Load(uciAdultDataFile); } return _uciAdultDataView; } diff --git a/src/Test/MetricsAgentsTests.cs b/src/Test/MetricsAgentsTests.cs index d41dfdc132..a88c06070a 100644 --- a/src/Test/MetricsAgentsTests.cs +++ b/src/Test/MetricsAgentsTests.cs @@ -15,14 +15,14 @@ public class MetricsAgentsTests public void BinaryMetricsGetScoreTest() { var metrics = MetricsUtil.CreateBinaryClassificationMetrics(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8); - Assert.AreEqual(0.1, GetScore(metrics, BinaryClassificationMetric.Auc)); + Assert.AreEqual(0.1, GetScore(metrics, BinaryClassificationMetric.AreaUnderRocCurve)); Assert.AreEqual(0.2, GetScore(metrics, BinaryClassificationMetric.Accuracy)); Assert.AreEqual(0.3, GetScore(metrics, BinaryClassificationMetric.PositivePrecision)); Assert.AreEqual(0.4, GetScore(metrics, BinaryClassificationMetric.PositiveRecall)); Assert.AreEqual(0.5, GetScore(metrics, BinaryClassificationMetric.NegativePrecision)); Assert.AreEqual(0.6, GetScore(metrics, BinaryClassificationMetric.NegativeRecall)); Assert.AreEqual(0.7, GetScore(metrics, BinaryClassificationMetric.F1Score)); - Assert.AreEqual(0.8, GetScore(metrics, BinaryClassificationMetric.Auprc)); + Assert.AreEqual(0.8, GetScore(metrics, BinaryClassificationMetric.AreaUnderPrecisionRecallCurve)); } [TestMethod] @@ -30,8 +30,8 @@ public void BinaryMetricsNonPerfectTest() { var metrics = MetricsUtil.CreateBinaryClassificationMetrics(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8); Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.Accuracy)); - Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.Auc)); - Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.Auprc)); + Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.AreaUnderRocCurve)); + Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.AreaUnderPrecisionRecallCurve)); Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.F1Score)); Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.NegativePrecision)); Assert.AreEqual(false, IsPerfectModel(metrics, BinaryClassificationMetric.NegativeRecall)); @@ -44,8 +44,8 @@ public void BinaryMetricsPerfectTest() { var metrics = MetricsUtil.CreateBinaryClassificationMetrics(1, 1, 1, 1, 1, 1, 1, 1); Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.Accuracy)); - Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.Auc)); - Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.Auprc)); + Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.AreaUnderRocCurve)); + Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.AreaUnderPrecisionRecallCurve)); Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.F1Score)); Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.NegativePrecision)); Assert.AreEqual(true, IsPerfectModel(metrics, BinaryClassificationMetric.NegativeRecall)); @@ -57,8 +57,8 @@ public void BinaryMetricsPerfectTest() public void MulticlassMetricsGetScoreTest() { var metrics = MetricsUtil.CreateMulticlassClassificationMetrics(0.1, 0.2, 0.3, 0.4, 0, 0.5, new double[] {}); - Assert.AreEqual(0.1, GetScore(metrics, MulticlassClassificationMetric.AccuracyMicro)); - Assert.AreEqual(0.2, GetScore(metrics, MulticlassClassificationMetric.AccuracyMacro)); + Assert.AreEqual(0.1, GetScore(metrics, MulticlassClassificationMetric.MicroAccuracy)); + Assert.AreEqual(0.2, GetScore(metrics, MulticlassClassificationMetric.MacroAccuracy)); Assert.AreEqual(0.3, GetScore(metrics, MulticlassClassificationMetric.LogLoss)); Assert.AreEqual(0.4, GetScore(metrics, MulticlassClassificationMetric.LogLossReduction)); Assert.AreEqual(0.5, GetScore(metrics, MulticlassClassificationMetric.TopKAccuracy)); @@ -68,8 +68,8 @@ public void MulticlassMetricsGetScoreTest() public void MulticlassMetricsNonPerfectTest() { var metrics = MetricsUtil.CreateMulticlassClassificationMetrics(0.1, 0.2, 0.3, 0.4, 0, 0.5, new double[] { }); - Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.AccuracyMacro)); - Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.AccuracyMicro)); + Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.MacroAccuracy)); + Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.MicroAccuracy)); Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.LogLoss)); Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.LogLossReduction)); Assert.AreEqual(false, IsPerfectModel(metrics, MulticlassClassificationMetric.TopKAccuracy)); @@ -79,8 +79,8 @@ public void MulticlassMetricsNonPerfectTest() public void MulticlassMetricsPerfectTest() { var metrics = MetricsUtil.CreateMulticlassClassificationMetrics(1, 1, 0, 1, 0, 1, new double[] { }); - Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.AccuracyMicro)); - Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.AccuracyMacro)); + Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.MicroAccuracy)); + Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.MacroAccuracy)); Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.LogLoss)); Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.LogLossReduction)); Assert.AreEqual(true, IsPerfectModel(metrics, MulticlassClassificationMetric.TopKAccuracy)); @@ -90,9 +90,9 @@ public void MulticlassMetricsPerfectTest() public void RegressionMetricsGetScoreTest() { var metrics = MetricsUtil.CreateRegressionMetrics(0.2, 0.3, 0.4, 0.5, 0.6); - Assert.AreEqual(0.2, GetScore(metrics, RegressionMetric.L1)); - Assert.AreEqual(0.3, GetScore(metrics, RegressionMetric.L2)); - Assert.AreEqual(0.4, GetScore(metrics, RegressionMetric.Rms)); + Assert.AreEqual(0.2, GetScore(metrics, RegressionMetric.MeanAbsoluteError)); + Assert.AreEqual(0.3, GetScore(metrics, RegressionMetric.MeanSquaredError)); + Assert.AreEqual(0.4, GetScore(metrics, RegressionMetric.RootMeanSquaredError)); Assert.AreEqual(0.6, GetScore(metrics, RegressionMetric.RSquared)); } @@ -100,9 +100,9 @@ public void RegressionMetricsGetScoreTest() public void RegressionMetricsNonPerfectTest() { var metrics = MetricsUtil.CreateRegressionMetrics(0.2, 0.3, 0.4, 0.5, 0.6); - Assert.AreEqual(false, IsPerfectModel(metrics, RegressionMetric.L1)); - Assert.AreEqual(false, IsPerfectModel(metrics, RegressionMetric.L2)); - Assert.AreEqual(false, IsPerfectModel(metrics, RegressionMetric.Rms)); + Assert.AreEqual(false, IsPerfectModel(metrics, RegressionMetric.MeanAbsoluteError)); + Assert.AreEqual(false, IsPerfectModel(metrics, RegressionMetric.MeanSquaredError)); + Assert.AreEqual(false, IsPerfectModel(metrics, RegressionMetric.RootMeanSquaredError)); Assert.AreEqual(false, IsPerfectModel(metrics, RegressionMetric.RSquared)); } @@ -110,9 +110,9 @@ public void RegressionMetricsNonPerfectTest() public void RegressionMetricsPerfectTest() { var metrics = MetricsUtil.CreateRegressionMetrics(0, 0, 0, 0, 1); - Assert.AreEqual(true, IsPerfectModel(metrics, RegressionMetric.L1)); - Assert.AreEqual(true, IsPerfectModel(metrics, RegressionMetric.L2)); - Assert.AreEqual(true, IsPerfectModel(metrics, RegressionMetric.Rms)); + Assert.AreEqual(true, IsPerfectModel(metrics, RegressionMetric.MeanAbsoluteError)); + Assert.AreEqual(true, IsPerfectModel(metrics, RegressionMetric.MeanSquaredError)); + Assert.AreEqual(true, IsPerfectModel(metrics, RegressionMetric.RootMeanSquaredError)); Assert.AreEqual(true, IsPerfectModel(metrics, RegressionMetric.RSquared)); } diff --git a/src/Test/PurposeInferenceTests.cs b/src/Test/PurposeInferenceTests.cs index d721faab4b..d44281fda0 100644 --- a/src/Test/PurposeInferenceTests.cs +++ b/src/Test/PurposeInferenceTests.cs @@ -14,10 +14,10 @@ public void PurposeInferenceHiddenColumnsTest() var context = new MLContext(); // build basic data view - var schemaBuilder = new SchemaBuilder(); + var schemaBuilder = new DataViewSchema.Builder(); schemaBuilder.AddColumn(DefaultColumnNames.Label, BooleanDataViewType.Instance); schemaBuilder.AddColumn(DefaultColumnNames.Features, NumberDataViewType.Single); - var schema = schemaBuilder.GetSchema(); + var schema = schemaBuilder.ToSchema(); IDataView data = new EmptyDataView(context, schema); // normalize 'Features' column. this has the effect of creating 2 columns named diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index 49eee14080..2850fed4c5 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -154,10 +154,10 @@ public void ValidateInferColsPath() [ExpectedException(typeof(ArgumentException))] public void ValidateFeaturesColInvalidType() { - var schemaBuilder = new SchemaBuilder(); + var schemaBuilder = new DataViewSchema.Builder(); schemaBuilder.AddColumn(DefaultColumnNames.Features, NumberDataViewType.Double); schemaBuilder.AddColumn(DefaultColumnNames.Label, NumberDataViewType.Single); - var schema = schemaBuilder.GetSchema(); + var schema = schemaBuilder.ToSchema(); var dataView = new EmptyDataView(new MLContext(), schema); UserInputValidationUtil.ValidateExperimentExecuteArgs(dataView, new ColumnInformation(), null); } @@ -167,11 +167,11 @@ public void ValidateFeaturesColInvalidType() public void ValidateTextColumnNotText() { const string TextPurposeColName = "TextColumn"; - var schemaBuilder = new SchemaBuilder(); + var schemaBuilder = new DataViewSchema.Builder(); schemaBuilder.AddColumn(DefaultColumnNames.Features, NumberDataViewType.Single); schemaBuilder.AddColumn(DefaultColumnNames.Label, NumberDataViewType.Single); schemaBuilder.AddColumn(TextPurposeColName, NumberDataViewType.Double); - var schema = schemaBuilder.GetSchema(); + var schema = schemaBuilder.ToSchema(); var dataView = new EmptyDataView(new MLContext(), schema); UserInputValidationUtil.ValidateExperimentExecuteArgs(dataView, new ColumnInformation() { TextColumns = new[] { TextPurposeColName } }, diff --git a/src/Test/Utils/MLNetUtils/EmptyDataView.cs b/src/Test/Utils/MLNetUtils/EmptyDataView.cs new file mode 100644 index 0000000000..e156f02d97 --- /dev/null +++ b/src/Test/Utils/MLNetUtils/EmptyDataView.cs @@ -0,0 +1,71 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using Microsoft.Data.DataView; + +namespace Microsoft.ML.Auto.Test +{ + /// + /// This implements a data view that has a schema, but no rows. + /// + internal sealed class EmptyDataView : IDataView + { + private readonly IHost _host; + + public bool CanShuffle => true; + public DataViewSchema Schema { get; } + + public EmptyDataView(IHostEnvironment env, DataViewSchema schema) + { + Contracts.CheckValue(env, nameof(env)); + _host = env.Register(nameof(EmptyDataView)); + _host.CheckValue(schema, nameof(schema)); + Schema = schema; + } + + public long? GetRowCount() => 0; + + public DataViewRowCursor GetRowCursor(IEnumerable columnsNeeded, Random rand = null) + { + return new Cursor(_host, Schema, columnsNeeded); + } + + public DataViewRowCursor[] GetRowCursorSet(IEnumerable columnsNeeded, int n, Random rand = null) + { + return new[] { new Cursor(_host, Schema, columnsNeeded) }; + } + + private sealed class Cursor : RootCursorBase + { + private readonly bool[] _active; + + public override DataViewSchema Schema { get; } + public override long Batch => 0; + + public Cursor(IChannelProvider provider, DataViewSchema schema, IEnumerable columnsNeeded) + : base(provider) + { + Schema = schema; + _active = MLNetUtils.BuildArray(Schema.Count, columnsNeeded); + } + + public override ValueGetter GetIdGetter() + { + return (ref DataViewRowId val) => throw Ch.Except(RowCursorUtils.FetchValueStateError); + } + + protected override bool MoveNextCore() => false; + + public override bool IsColumnActive(int col) => 0 <= col && col < _active.Length && _active[col]; + + public override ValueGetter GetGetter(int col) + { + Ch.Check(IsColumnActive(col), "Cannot get getter for inactive column"); + return (ref TValue value) => throw Ch.Except(RowCursorUtils.FetchValueStateError); + } + } + } +} \ No newline at end of file diff --git a/src/Test/Utils/MLNetUtils/MLNetUtils.cs b/src/Test/Utils/MLNetUtils/MLNetUtils.cs new file mode 100644 index 0000000000..06a83eaf3a --- /dev/null +++ b/src/Test/Utils/MLNetUtils/MLNetUtils.cs @@ -0,0 +1,26 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using Microsoft.Data.DataView; + +namespace Microsoft.ML.Auto.Test +{ + internal static class MLNetUtils + { + public static bool[] BuildArray(int length, IEnumerable columnsNeeded) + { + Contracts.CheckParam(length >= 0, nameof(length)); + + var result = new bool[length]; + foreach (var col in columnsNeeded) + { + if (col.Index < result.Length) + result[col.Index] = true; + } + + return result; + } + } +} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index b9d9b6baec..e38cb7e323 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -109,15 +109,15 @@ public void GeneratedHelperCodeTest() var inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); this.pipeline = inferredPipeline1.ToPipeline(); - var textLoaderArgs = new TextLoader.Arguments() + var textLoaderArgs = new TextLoader.Options() { Columns = new[] { - new TextLoader.Column("Label", DataKind.BL, 0), - new TextLoader.Column("col1", DataKind.R4, 1), - new TextLoader.Column("col2", DataKind.R4, 0), - new TextLoader.Column("col3", DataKind.Text, 0), - new TextLoader.Column("col4", DataKind.I4, 0), - new TextLoader.Column("col5", DataKind.U4, 0), + new TextLoader.Column("Label", DataKind.Boolean, 0), + new TextLoader.Column("col1", DataKind.Single, 1), + new TextLoader.Column("col2", DataKind.Single, 0), + new TextLoader.Column("col3", DataKind.String, 0), + new TextLoader.Column("col4", DataKind.Int32, 0), + new TextLoader.Column("col5", DataKind.UInt32, 0), }, AllowQuoting = true, AllowSparse = true, @@ -127,7 +127,7 @@ public void GeneratedHelperCodeTest() this.columnInference = new ColumnInferenceResults() { - TextLoaderArgs = textLoaderArgs, + TextLoaderOptions = textLoaderArgs, ColumnInformation = new ColumnInformation() { LabelColumn = "Label" } }; } diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index 4ca57f05d3..9856458047 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -88,12 +88,12 @@ public void ClassLabelGenerationBasicTest() { var columns = new TextLoader.Column[] { - new TextLoader.Column(){ Name = DefaultColumnNames.Label, Source = new TextLoader.Range[]{new TextLoader.Range(0) }, Type = DataKind.Bool }, + new TextLoader.Column(){ Name = DefaultColumnNames.Label, Source = new TextLoader.Range[]{new TextLoader.Range(0) }, DataKind = DataKind.Boolean }, }; var result = new ColumnInferenceResults() { - TextLoaderArgs = new TextLoader.Arguments() + TextLoaderOptions = new TextLoader.Options() { Columns = columns, AllowQuoting = false, @@ -119,13 +119,13 @@ public void ColumnGenerationTest() { var columns = new TextLoader.Column[] { - new TextLoader.Column(){ Name = DefaultColumnNames.Label, Source = new TextLoader.Range[]{new TextLoader.Range(0) }, Type = DataKind.Bool }, - new TextLoader.Column(){ Name = DefaultColumnNames.Features, Source = new TextLoader.Range[]{new TextLoader.Range(1) }, Type = DataKind.R4 }, + new TextLoader.Column(){ Name = DefaultColumnNames.Label, Source = new TextLoader.Range[]{new TextLoader.Range(0) }, DataKind = DataKind.Boolean }, + new TextLoader.Column(){ Name = DefaultColumnNames.Features, Source = new TextLoader.Range[]{new TextLoader.Range(1) }, DataKind = DataKind.Single }, }; var result = new ColumnInferenceResults() { - TextLoaderArgs = new TextLoader.Arguments() + TextLoaderOptions = new TextLoader.Options() { Columns = columns, AllowQuoting = false, @@ -144,8 +144,8 @@ public void ColumnGenerationTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, result, null); var actual = codeGenerator.GenerateColumns(); Assert.AreEqual(actual.Count, 2); - string expectedColumn1 = "new Column(\"Label\",DataKind.BL,0),"; - string expectedColumn2 = "new Column(\"Features\",DataKind.R4,1),"; + string expectedColumn1 = "new Column(\"Label\",DataKind.Boolean,0),"; + string expectedColumn2 = "new Column(\"Features\",DataKind.Single,1),"; Assert.AreEqual(expectedColumn1, actual[0]); Assert.AreEqual(expectedColumn2, actual[1]); } diff --git a/src/mlnet.Test/DatasetUtil.cs b/src/mlnet.Test/DatasetUtil.cs index d1441feca2..6a9382bd71 100644 --- a/src/mlnet.Test/DatasetUtil.cs +++ b/src/mlnet.Test/DatasetUtil.cs @@ -28,8 +28,8 @@ public static IDataView GetUciAdultDataView() var context = new MLContext(); var uciAdultDataFile = DownloadUciAdultDataset(); var columnInferenceResult = context.Auto().InferColumns(uciAdultDataFile, UciAdultLabel); - var textLoader = context.Data.CreateTextLoader(columnInferenceResult.TextLoaderArgs); - _uciAdultDataView = textLoader.Read(uciAdultDataFile); + var textLoader = context.Data.CreateTextLoader(columnInferenceResult.TextLoaderOptions); + _uciAdultDataView = textLoader.Load(uciAdultDataFile); } return _uciAdultDataView; } diff --git a/src/mlnet.Test/TransformGeneratorTests.cs b/src/mlnet.Test/TransformGeneratorTests.cs index 2eaee00920..c80bcd2a2e 100644 --- a/src/mlnet.Test/TransformGeneratorTests.cs +++ b/src/mlnet.Test/TransformGeneratorTests.cs @@ -138,7 +138,7 @@ public void TypeConvertingTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingTransformer.ColumnInfo(\"R4_column_1\",DataKind.R4,\"I4_column_1\")})"; + string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingTransformer.ColumnInfo(\"R4_column_1\",DataKind.Single,\"I4_column_1\")})"; string expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); Assert.AreEqual(expectedUsings, actual[0].Item2); diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index 8aedc9a143..619c1160ed 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -97,11 +97,11 @@ internal string GenerateTrainCode(string usings, string trainer, List tr { Columns = columns, Transforms = transforms, - HasHeader = columnInferenceResult.TextLoaderArgs.HasHeader, - Separator = columnInferenceResult.TextLoaderArgs.Separators.FirstOrDefault(), - AllowQuoting = columnInferenceResult.TextLoaderArgs.AllowQuoting, - AllowSparse = columnInferenceResult.TextLoaderArgs.AllowSparse, - TrimWhiteSpace = columnInferenceResult.TextLoaderArgs.TrimWhitespace, + HasHeader = columnInferenceResult.TextLoaderOptions.HasHeader, + Separator = columnInferenceResult.TextLoaderOptions.Separators.FirstOrDefault(), + AllowQuoting = columnInferenceResult.TextLoaderOptions.AllowQuoting, + AllowSparse = columnInferenceResult.TextLoaderOptions.AllowSparse, + TrimWhiteSpace = columnInferenceResult.TextLoaderOptions.TrimWhitespace, Trainer = trainer, ClassLabels = classLabels, GeneratedUsings = usings, @@ -168,41 +168,41 @@ internal IList GenerateClassLabels() { IList result = new List(); var label_column = Utils.Sanitize(columnInferenceResult.ColumnInformation.LabelColumn); - foreach (var column in columnInferenceResult.TextLoaderArgs.Columns) + foreach (var column in columnInferenceResult.TextLoaderOptions.Columns) { StringBuilder sb = new StringBuilder(); int range = (column.Source[0].Max - column.Source[0].Min).Value; bool isArray = range > 0; sb.Append(Symbols.PublicSymbol); sb.Append(Symbols.Space); - switch (column.Type) + switch (column.DataKind) { - case Microsoft.ML.Data.DataKind.TX: + case Microsoft.ML.Data.DataKind.String: sb.Append(Symbols.StringSymbol); break; - case Microsoft.ML.Data.DataKind.BL: + case Microsoft.ML.Data.DataKind.Boolean: sb.Append(Symbols.BoolSymbol); break; - case Microsoft.ML.Data.DataKind.R4: + case Microsoft.ML.Data.DataKind.Single: sb.Append(Symbols.FloatSymbol); break; - case Microsoft.ML.Data.DataKind.R8: + case Microsoft.ML.Data.DataKind.Double: sb.Append(Symbols.DoubleSymbol); break; - case Microsoft.ML.Data.DataKind.I4: + case Microsoft.ML.Data.DataKind.Int32: sb.Append(Symbols.IntSymbol); break; - case Microsoft.ML.Data.DataKind.U4: + case Microsoft.ML.Data.DataKind.UInt32: sb.Append(Symbols.UIntSymbol); break; - case Microsoft.ML.Data.DataKind.I8: + case Microsoft.ML.Data.DataKind.Int64: sb.Append(Symbols.LongSymbol); break; - case Microsoft.ML.Data.DataKind.U8: + case Microsoft.ML.Data.DataKind.UInt64: sb.Append(Symbols.UlongSymbol); break; default: - throw new ArgumentException($"The data type '{column.Type}' is not handled currently."); + throw new ArgumentException($"The data type '{column.DataKind}' is not handled currently."); } @@ -227,7 +227,7 @@ internal IList GenerateClassLabels() internal IList GenerateColumns() { var result = new List(); - foreach (var column in columnInferenceResult.TextLoaderArgs.Columns) + foreach (var column in columnInferenceResult.TextLoaderOptions.Columns) { result.Add(ConstructColumnDefinition(column)); } @@ -268,7 +268,7 @@ private static string ConstructColumnDefinition(Column column) rangeBuilder.Append("}"); } - var def = $"new Column(\"{column.Name}\",DataKind.{column.Type},{rangeBuilder.ToString()}),"; + var def = $"new Column(\"{column.Name}\",DataKind.{column.DataKind},{rangeBuilder.ToString()}),"; return def; } } diff --git a/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs index 4bb40282ae..10e6ba1fb2 100644 --- a/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs @@ -285,7 +285,7 @@ public override string GenerateTransformer() sb.Append("("); sb.Append(outputColumns[i]); sb.Append(","); - sb.Append("DataKind.R4"); + sb.Append("DataKind.Single"); sb.Append(","); sb.Append(inputColumns[i]); sb.Append(")"); diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index 56db781085..f18405e608 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -47,12 +47,12 @@ public void Execute() } // Sanitize columns - Array.ForEach(columnInference.TextLoaderArgs.Columns, t => t.Name = Utils.Sanitize(t.Name)); + Array.ForEach(columnInference.TextLoaderOptions.Columns, t => t.Name = Utils.Sanitize(t.Name)); var sanitized_Label_Name = Utils.Sanitize(columnInference.ColumnInformation.LabelColumn); // Load data - (IDataView trainData, IDataView validationData) = LoadData(context, columnInference.TextLoaderArgs); + (IDataView trainData, IDataView validationData) = LoadData(context, columnInference.TextLoaderOptions); // Explore the models (Pipeline, ITransformer) result = default; @@ -168,14 +168,14 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p return (pipeline, model); } - internal (IDataView, IDataView) LoadData(MLContext context, TextLoader.Arguments textLoaderArgs) + internal (IDataView, IDataView) LoadData(MLContext context, TextLoader.Options textLoaderOptions) { logger.Log(LogLevel.Info, Strings.CreateDataLoader); - var textLoader = context.Data.CreateTextLoader(textLoaderArgs); + var textLoader = context.Data.CreateTextLoader(textLoaderOptions); logger.Log(LogLevel.Info, Strings.LoadData); - var trainData = textLoader.Read(settings.Dataset.FullName); - var validationData = settings.ValidationDataset == null ? null : textLoader.Read(settings.ValidationDataset.FullName); + var trainData = textLoader.Load(settings.Dataset.FullName); + var validationData = settings.ValidationDataset == null ? null : textLoader.Load(settings.ValidationDataset.FullName); return (trainData, validationData); } From 80a48bec0d7ccebdc50c9821a3684bee4ad293f0 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Fri, 1 Mar 2019 19:11:34 -0800 Subject: [PATCH 134/211] Upgrade to ML.NET 0.11 (#247) * initial changes * fix lightgbm * changed normalize method * added tests * fix tests * fix test --- .../TrainerExtensions/TrainerExtensionUtil.cs | 14 ++-- src/Test/TrainerExtensionsTests.cs | 4 +- ...ests.GeneratedProjectCodeTest.approved.txt | 6 +- ...rTests.GeneratedTrainCodeTest.approved.txt | 42 +++++----- src/mlnet.Test/CodeGenTests.cs | 6 +- src/mlnet.Test/TrainerGeneratorTests.cs | 38 ++++----- src/mlnet.Test/TransformGeneratorTests.cs | 10 +-- .../CodeGenerator/CSharp/TrainerGenerators.cs | 78 +++++++++---------- .../CSharp/TransformGenerators.cs | 12 ++- src/mlnet/Templates/Console/MLCodeGen.cs | 42 +++++----- src/mlnet/Templates/Console/MLCodeGen.tt | 30 +++---- src/mlnet/Templates/Console/MLProjectGen.cs | 6 +- src/mlnet/Templates/Console/MLProjectGen.tt | 6 +- src/mlnet/Utilities/Utils.cs | 18 +++-- 14 files changed, 161 insertions(+), 151 deletions(-) diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs index 2bf973084b..36e32b03a5 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs @@ -51,7 +51,7 @@ public static T CreateOptions(IEnumerable sweepParams, string { var options = Activator.CreateInstance(); options.LabelColumn = labelColumn; - if(sweepParams != null) + if (sweepParams != null) { UpdateFields(options, sweepParams); } @@ -66,7 +66,7 @@ public static LightGBM.Options CreateLightGbmOptions(IEnumerable var options = new LightGBM.Options(); options.LabelColumn = columnInfo.LabelColumn; options.WeightColumn = columnInfo.WeightColumn; - if(sweepParams != null) + if (sweepParams != null) { var treeBoosterParams = sweepParams.Where(p => _lightGbmTreeBoosterParamNames.Contains(p.Name)); var parentArgParams = sweepParams.Except(treeBoosterParams); @@ -76,7 +76,7 @@ public static LightGBM.Options CreateLightGbmOptions(IEnumerable return options; } - public static PipelineNode BuildOvaPipelineNode(ITrainerExtension multiExtension, ITrainerExtension binaryExtension, + public static PipelineNode BuildOvaPipelineNode(ITrainerExtension multiExtension, ITrainerExtension binaryExtension, IEnumerable sweepParams, ColumnInformation columnInfo) { var ovaNode = binaryExtension.CreatePipelineNode(sweepParams, columnInfo); @@ -89,7 +89,7 @@ public static PipelineNode BuildPipelineNode(TrainerName trainerName, IEnumerabl { var properties = BuildBasePipelineNodeProps(sweepParams, labelColumn, weightColumn); - if(additionalProperties != null) + if (additionalProperties != null) { foreach (var property in additionalProperties) { @@ -131,7 +131,7 @@ private static IDictionary BuildLightGbmPipelineNodeProps(IEnume string labelColumn, string weightColumn) { Dictionary props = null; - if(sweepParams == null) + if (sweepParams == null) { props = new Dictionary(); } @@ -141,7 +141,7 @@ private static IDictionary BuildLightGbmPipelineNodeProps(IEnume var parentArgParams = sweepParams.Except(treeBoosterParams); var treeBoosterProps = treeBoosterParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); - var treeBoosterCustomProp = new CustomProperty("Options.TreeBooster.Arguments", treeBoosterProps); + var treeBoosterCustomProp = new CustomProperty("Options.TreeBooster.Options", treeBoosterProps); props = parentArgParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); props[LightGbmTreeBoosterPropName] = treeBoosterCustomProp; @@ -258,7 +258,7 @@ public static void UpdateFields(object obj, IEnumerable sweepPar public static TrainerName GetTrainerName(BinaryClassificationTrainer binaryTrainer) { - switch(binaryTrainer) + switch (binaryTrainer) { case BinaryClassificationTrainer.AveragedPerceptron: return TrainerName.AveragedPerceptronBinary; diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index 9825523bed..838c4d8585 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -23,7 +23,7 @@ public void TrainerExtensionInstanceTests() var extension = TrainerExtensionCatalog.GetTrainerExtension(trainerName); var sweepParams = extension.GetHyperparamSweepRanges(); Assert.IsNotNull(sweepParams); - foreach(var sweepParam in sweepParams) + foreach (var sweepParam in sweepParams) { sweepParam.RawValue = 1; } @@ -67,7 +67,7 @@ public void BuildLightGbmPipelineNode() ""CatSmooth"": 10, ""CatL2"": 0.5, ""Booster"": { - ""Name"": ""Options.TreeBooster.Arguments"", + ""Name"": ""Options.TreeBooster.Options"", ""Properties"": { ""RegLambda"": 0.5, ""RegAlpha"": 0.5 diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt index 56898df6e8..9f2e4034b9 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt @@ -10,8 +10,8 @@ - - - + + + diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt index 962efd863a..a6e1f95b2d 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt @@ -1,10 +1,13 @@ -// This is an auto generated file by ML.NET CLI +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** using System; using System.IO; using System.Linq; using Microsoft.ML; -using Microsoft.ML.Core.Data; using Microsoft.ML.Data; using Microsoft.Data.DataView; using Microsoft.ML.LightGBM; @@ -49,26 +52,24 @@ namespace MyNamespace private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) { // Data loading - IDataView trainingDataView = mlContext.Data.ReadFromTextFile( + IDataView trainingDataView = mlContext.Data.LoadFromTextFile( path: TrainDataPath, hasHeader: true, separatorChar: ',', - allowQuotedStrings: true, - trimWhitespace: false, - supportSparse: true); - IDataView testDataView = mlContext.Data.ReadFromTextFile( + allowQuoting: true, + allowSparse: true); + IDataView testDataView = mlContext.Data.LoadFromTextFile( path: TestDataPath, hasHeader: true, separatorChar: ',', - allowQuotedStrings: true, - trimWhitespace: false, - supportSparse: true); + allowQuoting: true, + allowSparse: true); // Common data process configuration with pipeline data transformations var dataProcessPipeline = mlContext.Transforms.Concatenate("Out", new[] { "In" }); // Set the training algorithm, then create and config the modelBuilder - var trainer = mlContext.BinaryClassification.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Arguments() { }, LabelColumn = "Label", FeatureColumn = "Features" }); + var trainer = mlContext.BinaryClassification.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumn = "Label", FeatureColumn = "Features" }); var trainingPipeline = dataProcessPipeline.Append(trainer); // Train the model fitting to the DataSet @@ -95,15 +96,14 @@ namespace MyNamespace private static void TestSinglePrediction(MLContext mlContext) { //Load data to test. Could be any test data. For demonstration purpose train data is used here. - IDataView trainingDataView = mlContext.Data.ReadFromTextFile( + IDataView trainingDataView = mlContext.Data.LoadFromTextFile( path: TrainDataPath, hasHeader: true, separatorChar: ',', - allowQuotedStrings: true, - trimWhitespace: false, - supportSparse: true); + allowQuoting: true, + allowSparse: true); - var sample = mlContext.CreateEnumerable(trainingDataView, false).First(); + var sample = mlContext.Data.CreateEnumerable(trainingDataView, false).First(); ITransformer trainedModel; using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) @@ -131,23 +131,23 @@ namespace MyNamespace [ColumnName("col1"), LoadColumn(1)] - public float Col1 { get; set; } + public float col1 { get; set; } [ColumnName("col2"), LoadColumn(0)] - public float Col2 { get; set; } + public float col2 { get; set; } [ColumnName("col3"), LoadColumn(0)] - public string Col3 { get; set; } + public string col3 { get; set; } [ColumnName("col4"), LoadColumn(0)] - public int Col4 { get; set; } + public int col4 { get; set; } [ColumnName("col5"), LoadColumn(0)] - public uint Col5 { get; set; } + public uint col5 { get; set; } } diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index 9856458047..b87e936659 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -28,7 +28,7 @@ public void TrainerGeneratorBasicNamedParameterTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expected = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumn:\"Label\",featureColumn:\"Features\")"; + string expected = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expected, actual.Item1); Assert.IsNull(actual.Item2); } @@ -77,7 +77,7 @@ public void TransformGeneratorUsingTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"Label\",\"Label\")})"; + string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnOptions(\"Label\",\"Label\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); Assert.AreEqual(expectedUsings, actual[0].Item2); @@ -136,7 +136,7 @@ public void ColumnGenerationTest() }, ColumnInformation = new ColumnInformation() { NumericColumns = new[] { DefaultColumnNames.Features } } }; - + var context = new MLContext(); var elementProperties = new Dictionary(); PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); diff --git a/src/mlnet.Test/TrainerGeneratorTests.cs b/src/mlnet.Test/TrainerGeneratorTests.cs index d9243c8b99..edb29f6d8b 100644 --- a/src/mlnet.Test/TrainerGeneratorTests.cs +++ b/src/mlnet.Test/TrainerGeneratorTests.cs @@ -27,7 +27,7 @@ public void LightGbmBinaryBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -67,7 +67,7 @@ public void SymSgdBinaryBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "SymbolicStochasticGradientDescent(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "SymbolicStochasticGradientDescent(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -87,7 +87,7 @@ public void SymSgdBinaryAdvancedParameterTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - var expectedUsings = "using Microsoft.ML.Trainers.SymSgd;\r\n"; + var expectedUsings = "using Microsoft.ML.Trainers.HalLearners;\r\n"; string expectedTrainerString = "SymbolicStochasticGradientDescent(new SymSgdClassificationTrainer.Options(){LearningRate=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2); @@ -104,7 +104,7 @@ public void StochasticGradientDescentBinaryBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "StochasticGradientDescent(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "StochasticGradientDescent(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -125,7 +125,7 @@ public void StochasticGradientDescentBinaryAdvancedParameterTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; - string expectedTrainerString = "StochasticGradientDescent(new StochasticGradientDescentClassificationTrainer.Options(){Shuffle=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "StochasticGradientDescent(new SgdBinaryTrainer.Options(){Shuffle=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2); @@ -141,7 +141,7 @@ public void SDCABinaryBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "StochasticDualCoordinateAscent(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "StochasticDualCoordinateAscent(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -178,7 +178,7 @@ public void SDCARegressionBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "StochasticDualCoordinateAscent(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "StochasticDualCoordinateAscent(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -215,7 +215,7 @@ public void PoissonRegressionBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "PoissonRegression(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "PoissonRegression(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -252,7 +252,7 @@ public void OrdinaryLeastSquaresRegressionBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "OrdinaryLeastSquares(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "OrdinaryLeastSquares(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -289,7 +289,7 @@ public void OnlineGradientDescentRegressionBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "OnlineGradientDescent(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "OnlineGradientDescent(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -326,7 +326,7 @@ public void LogisticRegressionBinaryBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "LogisticRegression(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "LogisticRegression(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -346,7 +346,7 @@ public void LogisticRegressionBinaryAdvancedParameterTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - var expectedUsings = "using Microsoft.ML.Learners;\r\n"; + var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; string expectedTrainerString = "LogisticRegression(new LogisticRegression.Options(){DenseOptimizer=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2); @@ -363,7 +363,7 @@ public void LinearSvmBinaryBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "LinearSupportVectorMachines(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "LinearSupportVectorMachines(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -401,7 +401,7 @@ public void FastTreeTweedieRegressionBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "FastTreeTweedie(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "FastTreeTweedie(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -439,7 +439,7 @@ public void FastTreeRegressionBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "FastTree(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "FastTree(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -477,7 +477,7 @@ public void FastTreeBinaryBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "FastTree(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "FastTree(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -515,7 +515,7 @@ public void FastForestRegressionBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "FastForest(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "FastForest(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -552,7 +552,7 @@ public void FastForestBinaryBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "FastForest(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "FastForest(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -590,7 +590,7 @@ public void AveragedPerceptronBinaryBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "AveragedPerceptron(labelColumn:\"Label\",featureColumn:\"Features\")"; + string expectedTrainerString = "AveragedPerceptron(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); diff --git a/src/mlnet.Test/TransformGeneratorTests.cs b/src/mlnet.Test/TransformGeneratorTests.cs index c80bcd2a2e..054102fc0e 100644 --- a/src/mlnet.Test/TransformGeneratorTests.cs +++ b/src/mlnet.Test/TransformGeneratorTests.cs @@ -18,7 +18,7 @@ public void MissingValueReplacingTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); - var expectedTransform = "ReplaceMissingValues(new []{new MissingValueReplacingTransformer.ColumnInfo(\"categorical_column_1\",\"categorical_column_1\")})"; + var expectedTransform = "ReplaceMissingValues(new []{new MissingValueReplacingEstimator.ColumnOptions(\"categorical_column_1\",\"categorical_column_1\")})"; string expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); Assert.AreEqual(expectedUsings, actual[0].Item2); @@ -33,7 +33,7 @@ public void OneHotEncodingTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\"categorical_column_1\",\"categorical_column_1\")})"; + string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnOptions(\"categorical_column_1\",\"categorical_column_1\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); Assert.AreEqual(expectedUsings, actual[0].Item2); @@ -93,7 +93,7 @@ public void MissingValueIndicatingTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "IndicateMissingValues(new []{(\"numeric_column_1\",\"numeric_column_1\")})"; + string expectedTransform = "IndicateMissingValues(new []{new ColumnOptions(\"numeric_column_1\",\"numeric_column_1\")})"; string expectedUsings = null; Assert.AreEqual(expectedTransform, actual[0].Item1); Assert.AreEqual(expectedUsings, actual[0].Item2); @@ -108,7 +108,7 @@ public void OneHotHashEncodingTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "Categorical.OneHotHashEncoding(new []{new OneHotHashEncodingEstimator.ColumnInfo(\"Categorical_column_1\",\"Categorical_column_1\")})"; + string expectedTransform = "Categorical.OneHotHashEncoding(new []{new OneHotHashEncodingEstimator.ColumnOptions(\"Categorical_column_1\",\"Categorical_column_1\")})"; var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); Assert.AreEqual(expectedUsings, actual[0].Item2); @@ -138,7 +138,7 @@ public void TypeConvertingTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); - string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingTransformer.ColumnInfo(\"R4_column_1\",DataKind.Single,\"I4_column_1\")})"; + string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingEstimator.ColumnOptions(\"R4_column_1\",DataKind.Single,\"I4_column_1\")})"; string expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); Assert.AreEqual(expectedUsings, actual[0].Item2); diff --git a/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs index 6a09645145..888ad34178 100644 --- a/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs @@ -26,11 +26,12 @@ internal override IDictionary NamedParameters new Dictionary() { {"NumLeaves","numLeaves" }, - {"LabelColumn","labelColumn" }, - {"FeatureColumn","featureColumn" }, + {"LabelColumn","labelColumnName" }, + {"FeatureColumn","featureColumnName" }, {"MinDataPerLeaf","minDataPerLeaf" }, {"LearningRate","learningRate" }, - {"NumBoostRound","numBoostRound" } + {"NumBoostRound","numBoostRound" }, + {"WeightColumn","exampleWeightColumnName" } }; } } @@ -58,14 +59,13 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"Weights","weights" }, - {"LabelColumn","labelColumn" }, - {"FeatureColumn","featureColumn" }, + {"LabelColumn","labelColumnName" }, + {"FeatureColumn","featureColumnName" }, {"LossFunction","lossFunction" }, {"LearningRate","learningRate" }, {"DecreaseLearningRate","decreaseLearningRate" }, {"L2RegularizerWeight","l2RegularizerWeight" }, - {"NumIterations","numIterations" } + {"NumberOfIterations","numIterations" } }; } } @@ -90,9 +90,9 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"Weights","weights" }, - {"LabelColumn","labelColumn" }, - {"FeatureColumn","featureColumn" }, + {"WeightColumn","exampleWeightColumnName" }, + {"LabelColumn","labelColumnName" }, + {"FeatureColumn","featureColumnName" }, {"LearningRate","learningRate" }, {"NumLeaves","numLeaves" }, {"NumTrees","numTrees" }, @@ -188,10 +188,10 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"InitialWeights","weightsColumn" }, - {"LabelColumn","labelColumn" }, - {"FeatureColumn","featureColumn" }, - {"NumIterations","numIterations" }, + {"WeightColumn", "exampleWeightColumnName" }, + {"LabelColumn","labelColumnName" }, + {"FeatureColumn","featureColumnName" }, + {"NumberOfIterations","numIterations" }, }; } } @@ -219,19 +219,19 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"WeightColumn","weights" }, - {"LabelColumn","labelColumn" }, - {"FeatureColumn","featureColumn" }, + {"WeightColumn","exampleWeightColumnName" }, + {"LabelColumn","labelColumnName" }, + {"FeatureColumn","featureColumnName" }, {"L1Weight","l1Weight" }, {"L2Weight","l2Weight" }, {"OptTol","optimizationTolerance" }, {"MemorySize","memorySize" }, - {"EnforceNoNNegativity","enforceNoNegativity" }, + {"EnforceNonNegativity","enforceNoNegativity" }, }; } } - internal override string Usings => "using Microsoft.ML.Learners;\r\n"; + internal override string Usings => "using Microsoft.ML.Trainers;\r\n"; public LogisticRegressionBinary(PipelineNode node) : base(node) { @@ -258,9 +258,8 @@ internal override IDictionary NamedParameters {"DecreaseLearningRate" , "decreaseLearningRate" }, {"L2RegularizerWeight" , "l2RegularizerWeight" }, {"NumIterations" , "numIterations" }, - {"LabelColumn" , "labelColumn" }, - {"FeatureColumn" , "featureColumn" }, - {"InitialWeights" ,"weightsColumn" }, + {"LabelColumn" , "labelColumnName" }, + {"FeatureColumn" , "featureColumnName" }, {"LossFunction" ,"lossFunction" }, }; @@ -290,9 +289,9 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"WeightColumn","weights" }, - {"LabelColumn","labelColumn" }, - {"FeatureColumn","featureColumn" }, + {"WeightColumn","exampleWeightColumnName" }, + {"LabelColumn","labelColumnName" }, + {"FeatureColumn","featureColumnName" }, }; } } @@ -320,14 +319,14 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"WeightColumn","weights" }, - {"LabelColumn","labelColumn" }, - {"FeatureColumn","featureColumn" }, + {"WeightColumn","exampleWeightColumnName" }, + {"LabelColumn","labelColumnName" }, + {"FeatureColumn","featureColumnName" }, {"L1Weight","l1Weight" }, {"L2Weight","l2Weight" }, {"OptTol","optimizationTolerance" }, {"MemorySize","memorySize" }, - {"EnforceNoNNegativity","enforceNoNegativity" }, + {"EnforceNonNegativity","enforceNoNegativity" }, }; } } @@ -353,9 +352,9 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"WeightColumn","weights" }, - {"LabelColumn","labelColumn" }, - {"FeatureColumn","featureColumn" }, + {"WeightColumn","exampleWeightColumnName" }, + {"LabelColumn","labelColumnName" }, + {"FeatureColumn","featureColumnName" }, {"Loss","loss" }, {"L2Const","l2Const" }, {"L1Threshold","l1Threshold" }, @@ -398,7 +397,7 @@ internal class StochasticGradientDescentClassification : TrainerGeneratorBase internal override string MethodName => "StochasticGradientDescent"; //ClassName of the options to trainer - internal override string OptionsName => "StochasticGradientDescentClassificationTrainer.Options"; + internal override string OptionsName => "SgdBinaryTrainer.Options"; //The named parameters to the trainer. internal override IDictionary NamedParameters @@ -408,9 +407,9 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"WeightColumn","weights" }, - {"LabelColumn","labelColumn" }, - {"FeatureColumn","featureColumn" }, + {"WeightColumn","exampleWeightColumnName" }, + {"LabelColumn","labelColumnName" }, + {"FeatureColumn","featureColumnName" }, {"NumIterations","numIterations" }, {"MaxIterations","maxIterations" }, {"InitLearningRate","initLearningRate" }, @@ -442,13 +441,14 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"LabelColumn","labelColumn" }, - {"FeatureColumn","featureColumn" }, + {"LabelColumn","labelColumnName" }, + {"FeatureColumn","featureColumnName" }, + {"NumberOfIterations","numberOfIterations" } }; } } - internal override string Usings => "using Microsoft.ML.Trainers.SymSgd;\r\n"; + internal override string Usings => "using Microsoft.ML.Trainers.HalLearners;\r\n"; public SymbolicStochasticGradientDescent(PipelineNode node) : base(node) { diff --git a/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs index 10e6ba1fb2..28009eccb8 100644 --- a/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs @@ -44,7 +44,7 @@ public OneHotEncoding(PipelineNode node) : base(node) internal override string Usings => "using Microsoft.ML.Transforms.Categorical;\r\n"; - private string ArgumentsName = "OneHotEncodingEstimator.ColumnInfo"; + private string ArgumentsName = "OneHotEncodingEstimator.ColumnOptions"; public override string GenerateTransformer() { @@ -138,6 +138,8 @@ public MissingValueIndicator(PipelineNode node) : base(node) internal override string Usings => null; + private string ArgumentsName = "ColumnOptions"; + public override string GenerateTransformer() { StringBuilder sb = new StringBuilder(); @@ -148,6 +150,8 @@ public override string GenerateTransformer() sb.Append("new []{"); for (int i = 0; i < inputColumns.Length; i++) { + sb.Append("new "); + sb.Append(ArgumentsName); sb.Append("("); sb.Append(outputColumns[i]); sb.Append(","); @@ -170,7 +174,7 @@ public MissingValueReplacer(PipelineNode node) : base(node) internal override string MethodName => "ReplaceMissingValues"; - private string ArgumentsName = "MissingValueReplacingTransformer.ColumnInfo"; + private string ArgumentsName = "MissingValueReplacingEstimator.ColumnOptions"; internal override string Usings => "using Microsoft.ML.Transforms;\r\n"; public override string GenerateTransformer() @@ -208,7 +212,7 @@ public OneHotHashEncoding(PipelineNode node) : base(node) internal override string Usings => "using Microsoft.ML.Transforms.Categorical;\r\n"; - private string ArgumentsName = "OneHotHashEncodingEstimator.ColumnInfo"; + private string ArgumentsName = "OneHotHashEncodingEstimator.ColumnOptions"; public override string GenerateTransformer() { @@ -270,7 +274,7 @@ public TypeConverting(PipelineNode node) : base(node) internal override string Usings => "using Microsoft.ML.Transforms.Conversions;\r\n"; - private string ArgumentsName = "TypeConvertingTransformer.ColumnInfo"; + private string ArgumentsName = "TypeConvertingEstimator.ColumnOptions"; public override string GenerateTransformer() { diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index 44d7cd7050..ab197dcb99 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -27,9 +27,19 @@ public partial class MLCodeGen : MLCodeGenBase /// public virtual string TransformText() { - this.Write("// This is an auto generated file by ML.NET CLI\r\n\r\nusing System;\r\nusing System.IO" + - ";\r\nusing System.Linq;\r\nusing Microsoft.ML;\r\nusing Microsoft.ML.Core.Data;\r\nusing" + - " Microsoft.ML.Data;\r\nusing Microsoft.Data.DataView;\r\n"); + this.Write(@"//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using System; +using System.IO; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Data; +using Microsoft.Data.DataView; +"); this.Write(this.ToStringHelper.ToStringWithCulture(GeneratedUsings)); this.Write("\r\n\r\nnamespace "); this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); @@ -60,31 +70,27 @@ public virtual string TransformText() "rocess, hit any key to finish ===============\");\r\n Console.ReadKey();" + "\r\n\r\n }\r\n\r\n private static ITransformer BuildTrainEvaluateAndSaveMo" + "del(MLContext mlContext)\r\n {\r\n // Data loading\r\n ID" + - "ataView trainingDataView = mlContext.Data.ReadFromTextFile(\r\n" + + "ataView trainingDataView = mlContext.Data.LoadFromTextFile(\r\n" + " path: TrainDataPath,\r\n " + " hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); this.Write(",\r\n separatorChar : \'"); this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); - this.Write("\',\r\n allowQuotedStrings : "); + this.Write("\',\r\n allowQuoting : "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); - this.Write(",\r\n trimWhitespace : "); - this.Write(this.ToStringHelper.ToStringWithCulture(TrimWhiteSpace.ToString().ToLowerInvariant())); - this.Write(" ,\r\n supportSparse : "); + this.Write(",\r\n allowSparse: "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); this.Write(");\r\n"); if(!string.IsNullOrEmpty(TestPath)){ - this.Write(" IDataView testDataView = mlContext.Data.ReadFromTextFile(\r\n path: TestDataPath,\r\n " + " hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); this.Write(",\r\n separatorChar : \'"); this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); - this.Write("\',\r\n allowQuotedStrings : "); + this.Write("\',\r\n allowQuoting : "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); - this.Write(",\r\n trimWhitespace : "); - this.Write(this.ToStringHelper.ToStringWithCulture(TrimWhiteSpace.ToString().ToLowerInvariant())); - this.Write(" ,\r\n supportSparse : "); + this.Write(",\r\n allowSparse: "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); this.Write(");\r\n"); } @@ -182,21 +188,19 @@ public virtual string TransformText() private static void TestSinglePrediction(MLContext mlContext) { //Load data to test. Could be any test data. For demonstration purpose train data is used here. - IDataView trainingDataView = mlContext.Data.ReadFromTextFile( + IDataView trainingDataView = mlContext.Data.LoadFromTextFile( path: TrainDataPath, hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); this.Write(",\r\n separatorChar : \'"); this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); - this.Write("\',\r\n allowQuotedStrings : "); + this.Write("\',\r\n allowQuoting : "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); - this.Write(",\r\n trimWhitespace : "); - this.Write(this.ToStringHelper.ToStringWithCulture(TrimWhiteSpace.ToString().ToLowerInvariant())); - this.Write(" ,\r\n supportSparse : "); + this.Write(",\r\n allowSparse: "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); this.Write(@"); - var sample = mlContext.CreateEnumerable(trainingDataView, false).First(); + var sample = mlContext.Data.CreateEnumerable(trainingDataView, false).First(); ITransformer trainedModel; using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index 0e5ce090c0..c885d9c2f0 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -5,13 +5,16 @@ <#@ import namespace="System.Text.RegularExpressions" #> <#@ import namespace="System.Collections.Generic" #> <#@ import namespace="Microsoft.ML.CLI.Utilities" #> -// This is an auto generated file by ML.NET CLI +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** using System; using System.IO; using System.Linq; using Microsoft.ML; -using Microsoft.ML.Core.Data; using Microsoft.ML.Data; using Microsoft.Data.DataView; <#= GeneratedUsings #> @@ -57,21 +60,19 @@ namespace <#= Namespace #> private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) { // Data loading - IDataView trainingDataView = mlContext.Data.ReadFromTextFile( + IDataView trainingDataView = mlContext.Data.LoadFromTextFile( path: TrainDataPath, hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', - allowQuotedStrings : <#= AllowQuoting.ToString().ToLowerInvariant() #>, - trimWhitespace : <#= TrimWhiteSpace.ToString().ToLowerInvariant() #> , - supportSparse : <#= AllowSparse.ToString().ToLowerInvariant() #>); + allowQuoting : <#= AllowQuoting.ToString().ToLowerInvariant() #>, + allowSparse: <#= AllowSparse.ToString().ToLowerInvariant() #>); <# if(!string.IsNullOrEmpty(TestPath)){ #> - IDataView testDataView = mlContext.Data.ReadFromTextFile( + IDataView testDataView = mlContext.Data.LoadFromTextFile( path: TestDataPath, hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', - allowQuotedStrings : <#= AllowQuoting.ToString().ToLowerInvariant() #>, - trimWhitespace : <#= TrimWhiteSpace.ToString().ToLowerInvariant() #> , - supportSparse : <#= AllowSparse.ToString().ToLowerInvariant() #>); + allowQuoting : <#= AllowQuoting.ToString().ToLowerInvariant() #>, + allowSparse: <#= AllowSparse.ToString().ToLowerInvariant() #>); <# } #> <# if(Transforms.Count >0 ) {#> @@ -141,15 +142,14 @@ else{#> private static void TestSinglePrediction(MLContext mlContext) { //Load data to test. Could be any test data. For demonstration purpose train data is used here. - IDataView trainingDataView = mlContext.Data.ReadFromTextFile( + IDataView trainingDataView = mlContext.Data.LoadFromTextFile( path: TrainDataPath, hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', - allowQuotedStrings : <#= AllowQuoting.ToString().ToLowerInvariant() #>, - trimWhitespace : <#= TrimWhiteSpace.ToString().ToLowerInvariant() #> , - supportSparse : <#= AllowSparse.ToString().ToLowerInvariant() #>); + allowQuoting : <#= AllowQuoting.ToString().ToLowerInvariant() #>, + allowSparse: <#= AllowSparse.ToString().ToLowerInvariant() #>); - var sample = mlContext.CreateEnumerable(trainingDataView, false).First(); + var sample = mlContext.Data.CreateEnumerable(trainingDataView, false).First(); ITransformer trainedModel; using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) diff --git a/src/mlnet/Templates/Console/MLProjectGen.cs b/src/mlnet/Templates/Console/MLProjectGen.cs index 0ae9a77d72..368b604a2c 100644 --- a/src/mlnet/Templates/Console/MLProjectGen.cs +++ b/src/mlnet/Templates/Console/MLProjectGen.cs @@ -37,9 +37,9 @@ public virtual string TransformText() - - - + + + "); diff --git a/src/mlnet/Templates/Console/MLProjectGen.tt b/src/mlnet/Templates/Console/MLProjectGen.tt index 677597a2eb..0f7903b23e 100644 --- a/src/mlnet/Templates/Console/MLProjectGen.tt +++ b/src/mlnet/Templates/Console/MLProjectGen.tt @@ -15,8 +15,8 @@ - - - + + + diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index c122c94f08..38f997a8b3 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -59,19 +59,21 @@ internal static TaskKind GetTaskKind(string mlTask) } } - internal static string Normalize(string inputColumn) + internal static string Normalize(string input) { //check if first character is int - if (!string.IsNullOrEmpty(inputColumn) && int.TryParse(inputColumn.Substring(0, 1), out int val)) + if (!string.IsNullOrEmpty(input) && int.TryParse(input.Substring(0, 1), out int val)) { - inputColumn = "Col" + inputColumn; - return inputColumn; + input = "Col" + input; + return input; } - switch (inputColumn) + switch (input) { - case null: throw new ArgumentNullException(nameof(inputColumn)); - case "": throw new ArgumentException($"{nameof(inputColumn)} cannot be empty", nameof(inputColumn)); - default: return inputColumn.First().ToString().ToUpper() + inputColumn.Substring(1); + case null: throw new ArgumentNullException(nameof(input)); + case "": throw new ArgumentException($"{nameof(input)} cannot be empty", nameof(input)); + default: + var sanitizedInput = Sanitize(input); + return sanitizedInput; } } From 3f77e599ca1bb5ebe0f899a6310da954015c9305 Mon Sep 17 00:00:00 2001 From: vinodshanbhag <33269336+vinodshanbhag@users.noreply.github.com> Date: Sat, 2 Mar 2019 19:11:05 -0800 Subject: [PATCH 135/211] Private preview final API changes (#250) * .NET framework design guidelines applied to public surface * WhitelistedTrainers -> Trainers --- .../API/BinaryClassificationExperiment.cs | 9 +++--- src/Microsoft.ML.Auto/API/ColumnInference.cs | 19 ++++++------ .../API/ExperimentSettings.cs | 4 +-- .../API/MulticlassClassificationExperiment.cs | 9 +++--- .../API/RegressionExperiment.cs | 9 +++--- src/Microsoft.ML.Auto/API/RunResult.cs | 14 ++++----- .../ColumnInference/ColumnInformationUtil.cs | 29 +++++++------------ src/Samples/CustomizeTraining.cs | 19 ++++++------ src/Test/UserInputValidationTests.cs | 25 ++++++++++------ src/mlnet.Test/CodeGenTests.cs | 21 +++++--------- 10 files changed, 77 insertions(+), 81 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index 9ad491fe66..63f934342e 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -12,9 +12,10 @@ namespace Microsoft.ML.Auto { public sealed class BinaryExperimentSettings : ExperimentSettings { - public IProgress> ProgressHandler; - public BinaryClassificationMetric OptimizingMetric = BinaryClassificationMetric.Accuracy; - public BinaryClassificationTrainer[] WhitelistedTrainers; + public BinaryClassificationMetric OptimizingMetric { get; set; } = BinaryClassificationMetric.Accuracy; + public ICollection Trainers { get; } = + Enum.GetValues(typeof(BinaryClassificationTrainer)).OfType().ToList(); + public IProgress> ProgressHandler { get; set; } } public enum BinaryClassificationMetric @@ -93,7 +94,7 @@ internal IEnumerable> Execute(MLContext c var experiment = new Experiment(context, TaskKind.BinaryClassification, trainData, columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), _settings.ProgressHandler, _settings, new BinaryMetricsAgent(_settings.OptimizingMetric), - TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); + TrainerExtensionUtil.GetTrainerNames(_settings.Trainers)); return experiment.Execute(); } diff --git a/src/Microsoft.ML.Auto/API/ColumnInference.cs b/src/Microsoft.ML.Auto/API/ColumnInference.cs index 444cfaa641..17d41f1dea 100644 --- a/src/Microsoft.ML.Auto/API/ColumnInference.cs +++ b/src/Microsoft.ML.Auto/API/ColumnInference.cs @@ -3,23 +3,24 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; +using System.Collections.ObjectModel; using Microsoft.ML.Data; namespace Microsoft.ML.Auto { public sealed class ColumnInferenceResults { - public TextLoader.Options TextLoaderOptions { get; set; } - public ColumnInformation ColumnInformation { get; set; } + public TextLoader.Options TextLoaderOptions { get; internal set; } = new TextLoader.Options(); + public ColumnInformation ColumnInformation { get; internal set; } = new ColumnInformation(); } public sealed class ColumnInformation { - public string LabelColumn = DefaultColumnNames.Label; - public string WeightColumn; - public IEnumerable CategoricalColumns { get; set; } - public IEnumerable NumericColumns { get; set; } - public IEnumerable TextColumns { get; set; } - public IEnumerable IgnoredColumns { get; set; } + public string LabelColumn { get; set; } = DefaultColumnNames.Label; + public string WeightColumn { get; set; } + public ICollection CategoricalColumns { get; } = new Collection(); + public ICollection NumericColumns { get; } = new Collection(); + public ICollection TextColumns { get; } = new Collection(); + public ICollection IgnoredColumns { get; } = new Collection(); } -} +} \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs index f9f013e564..691c264a14 100644 --- a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs +++ b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs @@ -8,8 +8,8 @@ namespace Microsoft.ML.Auto { public class ExperimentSettings { - public uint MaxExperimentTimeInSeconds = 24 * 60 * 60; - public CancellationToken CancellationToken; + public uint MaxExperimentTimeInSeconds { get; set; } = 24 * 60 * 60; + public CancellationToken CancellationToken { get; set; } = default; internal bool EnableCaching; internal int MaxModels = int.MaxValue; diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index 54f77c3225..44d4caa343 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -12,9 +12,10 @@ namespace Microsoft.ML.Auto { public sealed class MulticlassExperimentSettings : ExperimentSettings { - public IProgress> ProgressHandler; - public MulticlassClassificationMetric OptimizingMetric = MulticlassClassificationMetric.MicroAccuracy; - public MulticlassClassificationTrainer[] WhitelistedTrainers; + public MulticlassClassificationMetric OptimizingMetric { get; set; } = MulticlassClassificationMetric.MacroAccuracy; + public ICollection Trainers { get; } = + Enum.GetValues(typeof(MulticlassClassificationTrainer)).OfType().ToList(); + public IProgress> ProgressHandler { get; set; } } public enum MulticlassClassificationMetric @@ -91,7 +92,7 @@ internal IEnumerable> Execute(MLContext c var experiment = new Experiment(context, TaskKind.MulticlassClassification, trainData, columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), _settings.ProgressHandler, _settings, new MultiMetricsAgent(_settings.OptimizingMetric), - TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); + TrainerExtensionUtil.GetTrainerNames(_settings.Trainers)); return experiment.Execute(); } diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index 4d96d7e1c1..99c7a1836b 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -12,9 +12,10 @@ namespace Microsoft.ML.Auto { public sealed class RegressionExperimentSettings : ExperimentSettings { - public IProgress> ProgressHandler; - public RegressionMetric OptimizingMetric = RegressionMetric.RSquared; - public RegressionTrainer[] WhitelistedTrainers; + public RegressionMetric OptimizingMetric { get; set; } = RegressionMetric.RSquared; + public ICollection Trainers { get; } = + Enum.GetValues(typeof(RegressionTrainer)).OfType().ToList(); + public IProgress> ProgressHandler { get; set; } } public enum RegressionMetric @@ -88,7 +89,7 @@ internal IEnumerable> Execute(MLContext context, var experiment = new Experiment(context, TaskKind.Regression, trainData, columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), _settings.ProgressHandler, _settings, new RegressionMetricsAgent(_settings.OptimizingMetric), - TrainerExtensionUtil.GetTrainerNames(_settings.WhitelistedTrainers)); + TrainerExtensionUtil.GetTrainerNames(_settings.Trainers)); return experiment.Execute(); } diff --git a/src/Microsoft.ML.Auto/API/RunResult.cs b/src/Microsoft.ML.Auto/API/RunResult.cs index 98b884a2fc..e729d6f2fc 100644 --- a/src/Microsoft.ML.Auto/API/RunResult.cs +++ b/src/Microsoft.ML.Auto/API/RunResult.cs @@ -9,14 +9,14 @@ namespace Microsoft.ML.Auto { public sealed class RunResult { - public readonly T ValidationMetrics; - public readonly ITransformer Model; - public readonly Exception Exception; - public readonly string TrainerName; - public readonly int RuntimeInSeconds; + public T ValidationMetrics { get; private set; } + public ITransformer Model { get; private set; } + public Exception Exception { get; private set; } + public string TrainerName { get; private set; } + public int RuntimeInSeconds { get; private set; } - internal readonly Pipeline Pipeline; - internal readonly int PipelineInferenceTimeInSeconds; + internal Pipeline Pipeline { get; private set; } + internal int PipelineInferenceTimeInSeconds { get; private set; } internal RunResult( ITransformer model, diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs index d881509779..dd059a3a3e 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs @@ -45,36 +45,27 @@ internal static ColumnInformation BuildColumnInfo(IEnumerable<(string name, Colu { var columnInfo = new ColumnInformation(); - var categoricalColumns = new List(); - var numericColumns = new List(); - var textColumns = new List(); - var ignoredColumns = new List(); - columnInfo.CategoricalColumns = categoricalColumns; - columnInfo.NumericColumns = numericColumns; - columnInfo.TextColumns = textColumns; - columnInfo.IgnoredColumns = ignoredColumns; - foreach (var column in columnPurposes) { switch (column.purpose) { + case ColumnPurpose.Label: + columnInfo.LabelColumn = column.name; + break; + case ColumnPurpose.Weight: + columnInfo.WeightColumn = column.name; + break; case ColumnPurpose.CategoricalFeature: - categoricalColumns.Add(column.name); + columnInfo.CategoricalColumns.Add(column.name); break; case ColumnPurpose.Ignore: - ignoredColumns.Add(column.name); - break; - case ColumnPurpose.Label: - columnInfo.LabelColumn = column.name; + columnInfo.IgnoredColumns.Add(column.name); break; case ColumnPurpose.NumericFeature: - numericColumns.Add(column.name); + columnInfo.NumericColumns.Add(column.name); break; case ColumnPurpose.TextFeature: - textColumns.Add(column.name); - break; - case ColumnPurpose.Weight: - columnInfo.WeightColumn = column.name; + columnInfo.TextColumns.Add(column.name); break; } } diff --git a/src/Samples/CustomizeTraining.cs b/src/Samples/CustomizeTraining.cs index 2339a669f1..ae52c3ba70 100644 --- a/src/Samples/CustomizeTraining.cs +++ b/src/Samples/CustomizeTraining.cs @@ -33,16 +33,15 @@ public static void Run() IDataView trainDataView = textLoader.Load(TrainDataPath); IDataView testDataView = textLoader.Load(TestDataPath); - // STEP 3: Using a different optimizing metric instead of default R2 and whitelisting only LightGbm - Console.WriteLine($"Starting an experiment with L2 optimizing metric and whitelisting LightGbm trainer"); - RegressionExperiment autoExperiment = mlContext.Auto().CreateRegressionExperiment(new RegressionExperimentSettings() - { - MaxExperimentTimeInSeconds = 20, - OptimizingMetric = RegressionMetric.MeanSquaredError, - WhitelistedTrainers = new[] { RegressionTrainer.LightGbm }, - ProgressHandler = new ProgressHandler() - }); - autoExperiment.Execute(trainDataView, LabelColumn); + var experimentSettings = new RegressionExperimentSettings(); + experimentSettings.MaxExperimentTimeInSeconds = 20; + experimentSettings.ProgressHandler = new ProgressHandler(); + + // STEP 3: Using a different optimizing metric instead of RSquared and use only LightGbm + Console.WriteLine($"Starting an experiment with MeanSquaredError optimizing metric and using LightGbm trainer only"); + experimentSettings.OptimizingMetric = RegressionMetric.MeanSquaredError; + experimentSettings.Trainers.Clear(); + experimentSettings.Trainers.Add(RegressionTrainer.LightGbm); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index 2850fed4c5..dba7347e6c 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -42,24 +42,29 @@ public void ValidateExperimentExecuteLabelNotInTrain() [ExpectedException(typeof(ArgumentException))] public void ValidateExperimentExecuteNumericColNotInTrain() { - UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, - new ColumnInformation() { NumericColumns = new[] { "N" } }, null); + var columnInfo = new ColumnInformation(); + columnInfo.NumericColumns.Add("N"); + + UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, columnInfo, null); } [TestMethod] [ExpectedException(typeof(ArgumentException))] public void ValidateExperimentExecuteNullNumericCol() { - UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, - new ColumnInformation() { NumericColumns = new string[] { null } }, null); + var columnInfo = new ColumnInformation(); + columnInfo.NumericColumns.Add(null); + UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, columnInfo, null); } [TestMethod] [ExpectedException(typeof(ArgumentException))] public void ValidateExperimentExecuteDuplicateCol() { - UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, - new ColumnInformation() { NumericColumns = new[] { DefaultColumnNames.Label } }, null); + var columnInfo = new ColumnInformation(); + columnInfo.NumericColumns.Add(DefaultColumnNames.Label); + + UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, columnInfo, null); } [TestMethod] @@ -173,9 +178,11 @@ public void ValidateTextColumnNotText() schemaBuilder.AddColumn(TextPurposeColName, NumberDataViewType.Double); var schema = schemaBuilder.ToSchema(); var dataView = new EmptyDataView(new MLContext(), schema); - UserInputValidationUtil.ValidateExperimentExecuteArgs(dataView, - new ColumnInformation() { TextColumns = new[] { TextPurposeColName } }, - null); + + var columnInfo = new ColumnInformation(); + columnInfo.NumericColumns.Add(TextPurposeColName); + + UserInputValidationUtil.ValidateExperimentExecuteArgs(dataView, columnInfo, null); } } } diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index b87e936659..295155b07f 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -123,19 +123,14 @@ public void ColumnGenerationTest() new TextLoader.Column(){ Name = DefaultColumnNames.Features, Source = new TextLoader.Range[]{new TextLoader.Range(1) }, DataKind = DataKind.Single }, }; - var result = new ColumnInferenceResults() - { - TextLoaderOptions = new TextLoader.Options() - { - Columns = columns, - AllowQuoting = false, - AllowSparse = false, - Separators = new[] { ',' }, - HasHeader = true, - TrimWhitespace = true - }, - ColumnInformation = new ColumnInformation() { NumericColumns = new[] { DefaultColumnNames.Features } } - }; + var result = new ColumnInferenceResults(); + result.TextLoaderOptions.Columns = columns; + result.TextLoaderOptions.AllowQuoting = false; + result.TextLoaderOptions.AllowSparse = false; + result.TextLoaderOptions.Separators = new[] { ',' }; + result.TextLoaderOptions.HasHeader = true; + result.TextLoaderOptions.TrimWhitespace = true; + result.ColumnInformation.NumericColumns.Add(DefaultColumnNames.Features); var context = new MLContext(); var elementProperties = new Dictionary(); From 8fd2aa8231a5db98886c14e28d0e56c6adb18c72 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Sat, 2 Mar 2019 20:44:42 -0800 Subject: [PATCH 136/211] Add estimator to public API iteration result (#248) --- src/Microsoft.ML.Auto/API/RunResult.cs | 3 +++ src/Microsoft.ML.Auto/Experiment/Experiment.cs | 14 +++++++++----- .../Experiment/SuggestedPipeline.cs | 6 ------ .../Experiment/SuggestedPipelineResult.cs | 7 +++++-- src/Test/AutoFitTests.cs | 7 ++++--- src/Test/RunResultTests.cs | 10 +++++----- 6 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/RunResult.cs b/src/Microsoft.ML.Auto/API/RunResult.cs index e729d6f2fc..c20f421920 100644 --- a/src/Microsoft.ML.Auto/API/RunResult.cs +++ b/src/Microsoft.ML.Auto/API/RunResult.cs @@ -14,6 +14,7 @@ public sealed class RunResult public Exception Exception { get; private set; } public string TrainerName { get; private set; } public int RuntimeInSeconds { get; private set; } + public IEstimator Estimator { get; private set; } internal Pipeline Pipeline { get; private set; } internal int PipelineInferenceTimeInSeconds { get; private set; } @@ -21,6 +22,7 @@ public sealed class RunResult internal RunResult( ITransformer model, T metrics, + IEstimator estimator, Pipeline pipeline, Exception exception, int runtimeInSeconds, @@ -29,6 +31,7 @@ internal RunResult( Model = model; ValidationMetrics = metrics; Pipeline = pipeline; + Estimator = estimator; Exception = exception; RuntimeInSeconds = runtimeInSeconds; PipelineInferenceTimeInSeconds = pipelineInferenceTimeInSeconds; diff --git a/src/Microsoft.ML.Auto/Experiment/Experiment.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs index 4e2b48c4a6..b4b830b13a 100644 --- a/src/Microsoft.ML.Auto/Experiment/Experiment.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -97,8 +97,9 @@ public List> Execute() // evaluate pipeline runResult = ProcessPipeline(pipeline); - if (preprocessorTransform != null) + if (_preFeaturizers != null) { + runResult.Estimator = _preFeaturizers.Append(runResult.Estimator); runResult.Model = preprocessorTransform.Append(runResult.Model); } @@ -108,7 +109,7 @@ public List> Execute() catch (Exception ex) { WriteDebugLog(DebugStream.Exception, $"{pipeline?.Trainer} Crashed {ex}"); - runResult = new SuggestedPipelineResult(null, null, pipeline, -1, ex); + runResult = new SuggestedPipelineResult(null, null, null, pipeline, -1, ex); } var iterationResult = runResult.ToIterationResult(); @@ -149,19 +150,22 @@ private SuggestedPipelineResult ProcessPipeline(SuggestedPipeline pipeline) WriteDebugLog(DebugStream.RunResult, $"Processing pipeline {commandLineStr}."); + var pipelineEstimator = pipeline.ToEstimator(); + SuggestedPipelineResult runResult; + try { - var pipelineModel = pipeline.Fit(_trainData); + var pipelineModel = pipelineEstimator.Fit(_trainData); var scoredValidationData = pipelineModel.Transform(_validationData); var metrics = GetEvaluatedMetrics(scoredValidationData); var score = _metricsAgent.GetScore(metrics); - runResult = new SuggestedPipelineResult(metrics, pipelineModel, pipeline, score, null); + runResult = new SuggestedPipelineResult(metrics, pipelineEstimator, pipelineModel, pipeline, score, null); } catch(Exception ex) { WriteDebugLog(DebugStream.Exception, $"{pipeline.Trainer} Crashed {ex}"); - runResult = new SuggestedPipelineResult(null, null, pipeline, 0, ex); + runResult = new SuggestedPipelineResult(null, pipelineEstimator, null, pipeline, 0, ex); } // save pipeline run diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs index 9738ee13f8..14a622b8e9 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs @@ -113,12 +113,6 @@ public IEstimator ToEstimator() return pipeline; } - public ITransformer Fit(IDataView trainData) - { - var estimator = ToEstimator(); - return estimator.Fit(trainData); - } - private void AddNormalizationTransforms() { // get learner diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs index 787d4e32ff..8a5473a458 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs @@ -33,23 +33,26 @@ public IRunResult ToRunResult(bool isMetricMaximizing) internal class SuggestedPipelineResult : SuggestedPipelineResult { public readonly T EvaluatedMetrics; + public IEstimator Estimator { get; set; } public ITransformer Model { get; set; } public Exception Exception { get; set; } public int RuntimeInSeconds { get; set; } public int PipelineInferenceTimeInSeconds { get; set; } - public SuggestedPipelineResult(T evaluatedMetrics, ITransformer model, SuggestedPipeline pipeline, double score, Exception exception) + public SuggestedPipelineResult(T evaluatedMetrics, IEstimator estimator, + ITransformer model, SuggestedPipeline pipeline, double score, Exception exception) : base(pipeline, score, exception == null) { EvaluatedMetrics = evaluatedMetrics; + Estimator = estimator; Model = model; Exception = exception; } public RunResult ToIterationResult() { - return new RunResult(Model, EvaluatedMetrics, Pipeline.ToPipeline(), Exception, RuntimeInSeconds, PipelineInferenceTimeInSeconds); + return new RunResult(Model, EvaluatedMetrics, Estimator, Pipeline.ToPipeline(), Exception, RuntimeInSeconds, PipelineInferenceTimeInSeconds); } } } diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index b2188d41be..82f29f48e0 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -20,11 +20,12 @@ public void AutoFitBinaryTest() var trainData = textLoader.Load(dataPath); var validationData = context.Data.TakeRows(trainData, 100); trainData = context.Data.SkipRows(trainData, 100); - var result = context.Auto() + var results = context.Auto() .CreateBinaryClassificationExperiment(0) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); - - Assert.IsTrue(result.Max(i => i.ValidationMetrics.Accuracy) > 0.80); + var best = results.Best(); + Assert.IsTrue(best.ValidationMetrics.Accuracy > 0.80); + Assert.IsNotNull(best.Estimator); } [TestMethod] diff --git a/src/Test/RunResultTests.cs b/src/Test/RunResultTests.cs index 38aa123a47..166df42d72 100644 --- a/src/Test/RunResultTests.cs +++ b/src/Test/RunResultTests.cs @@ -20,10 +20,10 @@ public void FindBestResultWithSomeNullMetrics() var runResults = new List>() { - new RunResult(null, null, null, null, 0, 0), - new RunResult(null, metrics1, null, null, 0, 0), - new RunResult(null, metrics2, null, null, 0, 0), - new RunResult(null, metrics3, null, null, 0, 0), + new RunResult(null, null, null, null, null, 0, 0), + new RunResult(null, metrics1, null, null, null, 0, 0), + new RunResult(null, metrics2, null, null, null, 0, 0), + new RunResult(null, metrics3, null, null, null, 0, 0), }; var metricsAgent = new RegressionMetricsAgent(RegressionMetric.RSquared); @@ -36,7 +36,7 @@ public void FindBestResultWithAllNullMetrics() { var runResults = new List>() { - new RunResult(null, null, null, null, 0, 0), + new RunResult(null, null, null, null, null, 0, 0), }; var metricsAgent = new RegressionMetricsAgent(RegressionMetric.RSquared); From b3fd4dcb39f7bd67097bf7aa6b423b887eacda3b Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Sun, 3 Mar 2019 09:54:54 -0800 Subject: [PATCH 137/211] LightGBM pipeline serialization fix (#251) --- .../TrainerExtensions/TrainerExtensionUtil.cs | 20 ++++++++++++----- src/Test/TrainerExtensionsTests.cs | 22 +++++++++++++++++++ 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs index 36e32b03a5..5155cd1419 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs @@ -131,7 +131,7 @@ private static IDictionary BuildLightGbmPipelineNodeProps(IEnume string labelColumn, string weightColumn) { Dictionary props = null; - if (sweepParams == null) + if (sweepParams == null || !sweepParams.Any()) { props = new Dictionary(); } @@ -185,11 +185,19 @@ public static ColumnInformation BuildColumnInfo(IDictionary prop private static ParameterSet BuildLightGbmParameterSet(IDictionary props) { - var parentProps = props.Where(p => p.Key != LightGbmTreeBoosterPropName); - var treeProps = ((CustomProperty)props[LightGbmTreeBoosterPropName]).Properties; - var allProps = parentProps.Union(treeProps); - var paramVals = allProps.Select(p => new StringParameterValue(p.Key, p.Value.ToString())); - return new ParameterSet(paramVals); + IEnumerable parameters; + if (props == null || !props.Any()) + { + parameters = new List(); + } + else + { + var parentProps = props.Where(p => p.Key != LightGbmTreeBoosterPropName); + var treeProps = ((CustomProperty)props[LightGbmTreeBoosterPropName]).Properties; + var allProps = parentProps.Union(treeProps); + parameters = allProps.Select(p => new StringParameterValue(p.Key, p.Value.ToString())); + } + return new ParameterSet(parameters); } private static void SetValue(FieldInfo fi, IComparable value, object obj, Type propertyType) diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index 838c4d8585..7908d55cfd 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -111,6 +111,28 @@ public void BuildSdcaPipelineNode() Util.AssertObjectMatchesJson(expectedJson, pipelineNode); } + [TestMethod] + public void BuildLightGbmPipelineNodeDefaultParams() + { + var pipelineNode = new LightGbmBinaryExtension().CreatePipelineNode( + new List(), + new ColumnInformation()); + var expectedJson = @"{ + ""Name"": ""LightGbmBinary"", + ""NodeType"": ""Trainer"", + ""InColumns"": [ + ""Features"" + ], + ""OutColumns"": [ + ""Score"" + ], + ""Properties"": { + ""LabelColumn"": ""Label"" + } +}"; + Util.AssertObjectMatchesJson(expectedJson, pipelineNode); + } + [TestMethod] public void BuildPipelineNodeWithCustomColumns() { From 7f74a29baa7d2ae4a4152cc5f8fd37604092f7a2 Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Sun, 3 Mar 2019 15:35:57 -0800 Subject: [PATCH 138/211] Change order that we search for TextLoader's parameters (#256) --- src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs b/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs index 493607a484..099fda23d7 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs @@ -37,7 +37,7 @@ public ColumnSplitResult(bool isSuccess, char? separator, bool allowQuote, bool // If the fraction of lines having the same number of columns exceeds this, we consider the column count to be known. private const Double UniformColumnCountThreshold = 0.98; - public static char[] DefaultSeparators = new[] { '\t', ',', ';', ' ' }; + public static readonly char[] DefaultSeparators = { '\t', ',', ' ', ';' }; /// /// Attempt to detect text loader arguments. @@ -48,7 +48,7 @@ public ColumnSplitResult(bool isSuccess, char? separator, bool allowQuote, bool /// public static ColumnSplitResult TrySplitColumns(MLContext context, IMultiStreamSource source, char[] separatorCandidates) { - var sparse = new[] { true, false }; + var sparse = new[] { false, true }; var quote = new[] { true, false }; var foundAny = false; var result = default(ColumnSplitResult); From 6e1cf6369bf6b95f1f498a03b8aa829988b58a1f Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Sun, 3 Mar 2019 15:41:58 -0800 Subject: [PATCH 139/211] CLI IFileInfo null exception fix (#254) --- src/mlnet/Commands/New/NewCommandHandler.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index f18405e608..ea402ca84e 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -113,7 +113,7 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p { TrainDataset = new SystemFileInfo(settings.Dataset), MlTask = taskKind, - TestDataset = new SystemFileInfo(settings.TestDataset), + TestDataset = settings.TestDataset == null ? null : new SystemFileInfo(settings.TestDataset), OutputName = settings.Name, OutputBaseDir = settings.OutputPath.FullName, LabelName = labelName, From e4a2dc86d7967e9bcc0ad76f11122d3911721634 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Sun, 3 Mar 2019 16:11:25 -0800 Subject: [PATCH 140/211] Averaged Perceptron pipeline serialization fix (#257) --- .../TrainerExtensions/BinaryTrainerExtensions.cs | 2 +- src/Test/TrainerExtensionsTests.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs index fc765c3aac..38838b37d1 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs @@ -51,7 +51,7 @@ public PipelineNode CreatePipelineNode(IEnumerable sweepParams, { additionalProperties = new Dictionary() { - { "NumberOfIterations", DefaultNumIterations.ToString() } + { "NumberOfIterations", DefaultNumIterations } }; } diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index 7908d55cfd..da11e5a03f 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -183,7 +183,7 @@ public void BuildDefaultAveragedPerceptronPipelineNode() ], ""Properties"": { ""LabelColumn"": ""L"", - ""NumberOfIterations"": ""10"" + ""NumberOfIterations"": 10 } }"; Util.AssertObjectMatchesJson(expectedJson, pipelineNode); From 12a5d463738ad926182b7ae3b4b3600cc4410fdb Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 4 Mar 2019 10:52:33 -0800 Subject: [PATCH 141/211] Upgrade command-line-api and default folder name change (#258) * change in defautl folderName * upgrade command line * Update src/mlnet/Program.cs Co-Authored-By: srsaggam <41802116+srsaggam@users.noreply.github.com> --- src/mlnet/Program.cs | 4 ++-- src/mlnet/mlnet.csproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index 797f631f42..69a23e983a 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -30,8 +30,8 @@ public static void Main(string[] args) string outputBaseDir = string.Empty; if (options.Name == null) { - var datasetName = Path.GetFileNameWithoutExtension(options.Dataset.FullName); - options.Name = Utils.Sanitize(datasetName) + "_" + Utils.GetTaskKind(options.MlTask).ToString(); + + options.Name = "Sample" + Utils.GetTaskKind(options.MlTask).ToString(); outputBaseDir = Path.Combine(options.OutputPath.FullName, options.Name); } else diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index 0ed9e80e1d..3a9fec44b4 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -13,7 +13,7 @@ - + From 958dbf87c0f3363f772addcfae39aba2201827b1 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Mon, 4 Mar 2019 14:42:43 -0800 Subject: [PATCH 142/211] eliminate IFileInfo from CLI (#260) --- .../ConsoleCodeGeneratorTests.cs | 19 +++++++++--------- src/mlnet.Test/Utilities/MockFileInfo.cs | 18 ----------------- .../CodeGenerator/CSharp/CodeGenerator.cs | 6 +++--- .../CSharp/CodeGeneratorSettings.cs | 7 +++---- src/mlnet/Commands/New/NewCommandHandler.cs | 7 +++---- src/mlnet/Utilities/File/IFileInfo.cs | 11 ---------- src/mlnet/Utilities/File/SystemFileInfo.cs | 20 ------------------- 7 files changed, 18 insertions(+), 70 deletions(-) delete mode 100644 src/mlnet.Test/Utilities/MockFileInfo.cs delete mode 100644 src/mlnet/Utilities/File/IFileInfo.cs delete mode 100644 src/mlnet/Utilities/File/SystemFileInfo.cs diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index e38cb7e323..e29d50b91b 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -10,7 +10,6 @@ using Microsoft.ML.CLI.CodeGenerator.CSharp; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; -using mlnet.Test.Utilities; namespace mlnet.Test { @@ -33,10 +32,10 @@ public void GeneratedTrainCodeTest() MlTask = TaskKind.BinaryClassification, OutputBaseDir = null, OutputName = "MyNamespace", - TrainDataset = new MockFileInfo("x:\\dummypath\\dummy_train.csv"), - TestDataset = new MockFileInfo("x:\\dummypath\\dummy_test.csv"), + TrainDataset = "x:\\dummypath\\dummy_train.csv", + TestDataset = "x:\\dummypath\\dummy_test.csv", LabelName = "Label", - ModelPath = new MockFileInfo("x:\\models\\model.zip") + ModelPath = "x:\\models\\model.zip" }); (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); @@ -57,10 +56,10 @@ public void GeneratedProjectCodeTest() MlTask = TaskKind.BinaryClassification, OutputBaseDir = null, OutputName = "MyNamespace", - TrainDataset = new MockFileInfo("x:\\dummypath\\dummy_train.csv"), - TestDataset = new MockFileInfo("x:\\dummypath\\dummy_test.csv"), + TrainDataset = "x:\\dummypath\\dummy_train.csv", + TestDataset = "x:\\dummypath\\dummy_test.csv", LabelName = "Label", - ModelPath = new MockFileInfo("x:\\models\\model.zip") + ModelPath = "x:\\models\\model.zip" }); (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); @@ -81,10 +80,10 @@ public void GeneratedHelperCodeTest() MlTask = TaskKind.BinaryClassification, OutputBaseDir = null, OutputName = "MyNamespace", - TrainDataset = new MockFileInfo("x:\\dummypath\\dummy_train.csv"), - TestDataset = new MockFileInfo("x:\\dummypath\\dummy_test.csv"), + TrainDataset = "x:\\dummypath\\dummy_train.csv", + TestDataset = "x:\\dummypath\\dummy_test.csv", LabelName = "Label", - ModelPath = new MockFileInfo("x:\\models\\model.zip") + ModelPath = "x:\\models\\model.zip" }); (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); diff --git a/src/mlnet.Test/Utilities/MockFileInfo.cs b/src/mlnet.Test/Utilities/MockFileInfo.cs deleted file mode 100644 index 1ae0b2903f..0000000000 --- a/src/mlnet.Test/Utilities/MockFileInfo.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.ML.CLI.Utilities.File; - -namespace mlnet.Test.Utilities -{ - internal class MockFileInfo : IFileInfo - { - public string FullName { get; } - - public MockFileInfo(string filePath) - { - FullName = filePath; - } - } -} diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index 619c1160ed..abc5600e2c 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -105,12 +105,12 @@ internal string GenerateTrainCode(string usings, string trainer, List tr Trainer = trainer, ClassLabels = classLabels, GeneratedUsings = usings, - Path = settings.TrainDataset.FullName, - TestPath = settings.TestDataset?.FullName, + Path = settings.TrainDataset, + TestPath = settings.TestDataset, TaskType = settings.MlTask.ToString(), Namespace = namespaceValue, LabelName = settings.LabelName, - ModelPath = settings.ModelPath.FullName + ModelPath = settings.ModelPath }; return trainingAndScoringCodeGen.TransformText(); diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs b/src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs index 369083aee2..166d7ac70c 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGeneratorSettings.cs @@ -1,5 +1,4 @@ using Microsoft.ML.Auto; -using Microsoft.ML.CLI.Utilities.File; namespace Microsoft.ML.CLI.CodeGenerator.CSharp { @@ -7,15 +6,15 @@ internal class CodeGeneratorSettings { internal string LabelName { get; set; } - internal IFileInfo ModelPath { get; set; } + internal string ModelPath { get; set; } internal string OutputName { get; set; } internal string OutputBaseDir { get; set; } - internal IFileInfo TrainDataset { get; set; } + internal string TrainDataset { get; set; } - internal IFileInfo TestDataset { get; set; } + internal string TestDataset { get; set; } internal TaskKind MlTask { get; set; } diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index ea402ca84e..aba9b8d78a 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -9,7 +9,6 @@ using Microsoft.ML.CLI.CodeGenerator.CSharp; using Microsoft.ML.CLI.Data; using Microsoft.ML.CLI.Utilities; -using Microsoft.ML.CLI.Utilities.File; using Microsoft.ML.Data; using NLog; @@ -111,13 +110,13 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p columnInference, new CodeGeneratorSettings() { - TrainDataset = new SystemFileInfo(settings.Dataset), + TrainDataset = settings.Dataset.FullName, MlTask = taskKind, - TestDataset = settings.TestDataset == null ? null : new SystemFileInfo(settings.TestDataset), + TestDataset = settings.TestDataset?.FullName, OutputName = settings.Name, OutputBaseDir = settings.OutputPath.FullName, LabelName = labelName, - ModelPath = new SystemFileInfo(modelPath) + ModelPath = modelPath.FullName }); codeGenerator.GenerateOutput(); } diff --git a/src/mlnet/Utilities/File/IFileInfo.cs b/src/mlnet/Utilities/File/IFileInfo.cs deleted file mode 100644 index bbbd547d67..0000000000 --- a/src/mlnet/Utilities/File/IFileInfo.cs +++ /dev/null @@ -1,11 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -namespace Microsoft.ML.CLI.Utilities.File -{ - internal interface IFileInfo - { - string FullName { get; } - } -} diff --git a/src/mlnet/Utilities/File/SystemFileInfo.cs b/src/mlnet/Utilities/File/SystemFileInfo.cs deleted file mode 100644 index 9dbcab072c..0000000000 --- a/src/mlnet/Utilities/File/SystemFileInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System.IO; - -namespace Microsoft.ML.CLI.Utilities.File -{ - internal class SystemFileInfo : IFileInfo - { - public string FullName => _fileInfo.FullName; - - private readonly FileInfo _fileInfo; - - public SystemFileInfo(FileInfo fileInfo) - { - _fileInfo = fileInfo; - } - } -} From 3b1d0ac934c092bad005eb008016c7e9b038669f Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Mon, 4 Mar 2019 14:48:05 -0800 Subject: [PATCH 143/211] Rev samples towards private preview; ignored columns fix (#259) --- .../ColumnInference/ColumnInformationUtil.cs | 11 ++- ...ining.cs => AdvancedExperimentSettings.cs} | 2 +- src/Samples/AdvancedTrainingSettings.cs | 79 +++++++++++++++++++ .../AutoTrainMulticlassClassification.cs | 2 +- src/Samples/AutoTrainRegression.cs | 4 +- src/Samples/Program.cs | 8 +- src/Samples/RefitBestModel.cs | 65 +++++++++++++++ src/Test/ColumnInformationUtilTests.cs | 33 ++++++++ 8 files changed, 196 insertions(+), 8 deletions(-) rename src/Samples/{CustomizeTraining.cs => AdvancedExperimentSettings.cs} (98%) create mode 100644 src/Samples/AdvancedTrainingSettings.cs create mode 100644 src/Samples/RefitBestModel.cs create mode 100644 src/Test/ColumnInformationUtilTests.cs diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs index dd059a3a3e..5185977537 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs @@ -23,21 +23,26 @@ internal static class ColumnInformationUtil return ColumnPurpose.Weight; } - if (columnInfo.CategoricalColumns?.Contains(columnName) == true) + if (columnInfo.CategoricalColumns.Contains(columnName)) { return ColumnPurpose.CategoricalFeature; } - if (columnInfo.NumericColumns?.Contains(columnName) == true) + if (columnInfo.NumericColumns.Contains(columnName)) { return ColumnPurpose.NumericFeature; } - if (columnInfo.TextColumns?.Contains(columnName) == true) + if (columnInfo.TextColumns.Contains(columnName)) { return ColumnPurpose.TextFeature; } + if (columnInfo.IgnoredColumns.Contains(columnName)) + { + return ColumnPurpose.Ignore; + } + return null; } diff --git a/src/Samples/CustomizeTraining.cs b/src/Samples/AdvancedExperimentSettings.cs similarity index 98% rename from src/Samples/CustomizeTraining.cs rename to src/Samples/AdvancedExperimentSettings.cs index ae52c3ba70..8a5441e1bf 100644 --- a/src/Samples/CustomizeTraining.cs +++ b/src/Samples/AdvancedExperimentSettings.cs @@ -12,7 +12,7 @@ namespace Samples { - static class CustomizeTraining + static class AdvancedExperimentSettings { private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); diff --git a/src/Samples/AdvancedTrainingSettings.cs b/src/Samples/AdvancedTrainingSettings.cs new file mode 100644 index 0000000000..6c2d41fc7c --- /dev/null +++ b/src/Samples/AdvancedTrainingSettings.cs @@ -0,0 +1,79 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.Data.DataView; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.Data; + +namespace Samples +{ + static class AdvancedTrainingSettings + { + private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); + private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-test.csv"); + private static string ModelPath = Path.Combine(BaseDatasetsLocation, "TaxiFareModel.zip"); + private static string LabelColumn = "FareAmount"; + private static uint ExperimentTime = 60; + + public static void Run() + { + MLContext mlContext = new MLContext(); + + // STEP 1: Create text loader options + var textLoaderOptions = new TextLoader.Options() + { + Columns = new[] + { + new TextLoader.Column("VendorId", DataKind.String, 0), + new TextLoader.Column("RateCode", DataKind.Single, 1), + new TextLoader.Column("PassengerCount", DataKind.Single, 2), + new TextLoader.Column("TripTimeInSeconds", DataKind.Single, 3), + new TextLoader.Column("TripDistance", DataKind.Single, 4), + new TextLoader.Column("PaymentType", DataKind.String, 5), + new TextLoader.Column("FareAmount", DataKind.Single, 6), + }, + HasHeader = true, + Separators = new[] { ',' } + }; + + // STEP 2: Load data + TextLoader textLoader = mlContext.Data.CreateTextLoader(textLoaderOptions); + IDataView trainDataView = textLoader.Load(TrainDataPath); + IDataView testDataView = textLoader.Load(TestDataPath); + + // STEP 3: Build a pre-featurizer for use in our AutoML experiment + IEstimator preFeaturizer = mlContext.Transforms.Categorical.OneHotEncoding("RateCode"); + + // STEP 4: Initialize custom column information for use in AutoML experiment + ColumnInformation columnInformation = new ColumnInformation() { LabelColumn = LabelColumn }; + columnInformation.CategoricalColumns.Add("VendorId"); + columnInformation.IgnoredColumns.Add("PaymentType"); + + // STEP 5: Run AutoML experiment + Console.WriteLine($"Running AutoML regression experiment for {ExperimentTime} seconds..."); + IEnumerable> runResults = mlContext.Auto() + .CreateRegressionExperiment(ExperimentTime) + .Execute(trainDataView, columnInformation, preFeaturizer); + + // STEP 6: Print metric from best model + RunResult best = runResults.Best(); + Console.WriteLine($"Total models produced: {runResults.Count()}"); + Console.WriteLine($"Best model's trainer: {best.TrainerName}"); + Console.WriteLine($"RSquared of best model from validation data: {best.ValidationMetrics.RSquared}"); + + // STEP 7: Save the best model for later deployment and inferencing + using (FileStream fs = File.Create(ModelPath)) + best.Model.SaveTo(mlContext, fs); + + Console.WriteLine("Press any key to continue..."); + Console.ReadKey(); + } + } +} diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index 9a81c17472..fc1756a734 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -38,7 +38,7 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Running AutoML multiclass classification experiment for {ExperimentTime} seconds..."); IEnumerable> runResults = mlContext.Auto() - .CreateMulticlassClassificationExperiment(60) + .CreateMulticlassClassificationExperiment(ExperimentTime) .Execute(trainDataView); // STEP 4: Print metric from the best model diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index 7fcbaa6dad..43c38e2173 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -37,9 +37,9 @@ public static void Run() IDataView testDataView = textLoader.Load(TestDataPath); // STEP 3: Auto featurize, auto train and auto hyperparameter tune - Console.WriteLine($"Running AutoML multiclass classification experiment for {ExperimentTime} seconds..."); + Console.WriteLine($"Running AutoML regression classification experiment for {ExperimentTime} seconds..."); IEnumerable> runResults = mlContext.Auto() - .CreateRegressionExperiment(60) + .CreateRegressionExperiment(ExperimentTime) .Execute(trainDataView, LabelColumn); // STEP 4: Print metric from best model diff --git a/src/Samples/Program.cs b/src/Samples/Program.cs index c99c50f617..717b3a19ea 100644 --- a/src/Samples/Program.cs +++ b/src/Samples/Program.cs @@ -21,7 +21,7 @@ public static void Main(string[] args) AutoTrainMulticlassClassification.Run(); Console.Clear(); - CustomizeTraining.Run(); + AdvancedExperimentSettings.Run(); Console.Clear(); ObserveProgress.Run(); @@ -30,6 +30,12 @@ public static void Main(string[] args) Cancellation.Run(); Console.Clear(); + AdvancedTrainingSettings.Run(); + Console.Clear(); + + RefitBestModel.Run(); + Console.Clear(); + Console.WriteLine("Done"); } catch (Exception ex) diff --git a/src/Samples/RefitBestModel.cs b/src/Samples/RefitBestModel.cs new file mode 100644 index 0000000000..a2eea4e6d2 --- /dev/null +++ b/src/Samples/RefitBestModel.cs @@ -0,0 +1,65 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.Data.DataView; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.Data; +using Samples.Helpers; + +namespace Samples +{ + static class RefitBestModel + { + private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); + private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-test.csv"); + private static string ModelPath = Path.Combine(BaseDatasetsLocation, "TaxiFareModel.zip"); + private static string LabelColumn = "fare_amount"; + private static uint ExperimentTime = 60; + + public static void Run() + { + MLContext mlContext = new MLContext(); + + // STEP 1: Infer columns + ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn); + ConsoleHelper.Print(columnInference); + + // STEP 2: Load data + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + IDataView trainDataView = textLoader.Load(TrainDataPath); + IDataView testDataView = textLoader.Load(TestDataPath); + + // STEP 3: Subsample training data, for faster AutoML experimentation time + IDataView smallTrainDataView = mlContext.Data.TakeRows(trainDataView, 50000); + + // STEP 4: Auto-featurization, model selection, and hyperparameter tuning + Console.WriteLine($"Running AutoML regression classification experiment for {ExperimentTime} seconds..."); + IEnumerable> runResults = mlContext.Auto() + .CreateRegressionExperiment(ExperimentTime) + .Execute(smallTrainDataView, LabelColumn); + + // STEP 5: Refit best model on entire training data + RunResult best = runResults.Best(); + var refitBestModel = best.Estimator.Fit(trainDataView); + + // STEP 6: Evaluate test data + IDataView testDataViewWithBestScore = refitBestModel.Transform(testDataView); + RegressionMetrics testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: LabelColumn); + Console.WriteLine($"RSquared of the re-fit model on test data: {testMetrics.RSquared}"); + + // STEP 7: Save the re-fit best model for later deployment and inferencing + using (FileStream fs = File.Create(ModelPath)) + refitBestModel.SaveTo(mlContext, fs); + + Console.WriteLine("Press any key to continue..."); + Console.ReadKey(); + } + } +} diff --git a/src/Test/ColumnInformationUtilTests.cs b/src/Test/ColumnInformationUtilTests.cs new file mode 100644 index 0000000000..e460195915 --- /dev/null +++ b/src/Test/ColumnInformationUtilTests.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class ColumnInformationUtilTests + { + [TestMethod] + public void GetColumnPurpose() + { + var columnInfo = new ColumnInformation() + { + LabelColumn = "Label", + WeightColumn = "Weight", + }; + columnInfo.CategoricalColumns.Add("Cat"); + columnInfo.NumericColumns.Add("Num"); + columnInfo.TextColumns.Add("Text"); + columnInfo.IgnoredColumns.Add("Ignored"); + + Assert.AreEqual(ColumnPurpose.Label, ColumnInformationUtil.GetColumnPurpose(columnInfo, "Label")); + Assert.AreEqual(ColumnPurpose.Weight, ColumnInformationUtil.GetColumnPurpose(columnInfo, "Weight")); + Assert.AreEqual(ColumnPurpose.CategoricalFeature, ColumnInformationUtil.GetColumnPurpose(columnInfo, "Cat")); + Assert.AreEqual(ColumnPurpose.NumericFeature, ColumnInformationUtil.GetColumnPurpose(columnInfo, "Num")); + Assert.AreEqual(ColumnPurpose.TextFeature, ColumnInformationUtil.GetColumnPurpose(columnInfo, "Text")); + Assert.AreEqual(ColumnPurpose.Ignore, ColumnInformationUtil.GetColumnPurpose(columnInfo, "Ignored")); + Assert.AreEqual(null, ColumnInformationUtil.GetColumnPurpose(columnInfo, "NonExistent")); + } + } +} From 3acd8878f636b669385f02b3ec2c93ead7c62324 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 4 Mar 2019 15:35:23 -0800 Subject: [PATCH 144/211] remove unused methods in consolehelper and nit picks in generated code (#261) * nit picks * change in console helper * fix tests * add space * fix tests --- ...Tests.GeneratedHelperCodeTest.approved.txt | 150 ++------------ ...rTests.GeneratedTrainCodeTest.approved.txt | 32 +-- src/mlnet/Templates/Console/ConsoleHelper.cs | 191 +++++------------- src/mlnet/Templates/Console/ConsoleHelper.tt | 148 ++------------ src/mlnet/Templates/Console/MLCodeGen.cs | 67 +++--- src/mlnet/Templates/Console/MLCodeGen.tt | 44 ++-- 6 files changed, 147 insertions(+), 485 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt index 022c1d14c7..24781506a2 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt @@ -1,8 +1,13 @@ -using System; +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using System; using System.Collections.Generic; using System.Linq; -using Microsoft.Data.DataView; -using Microsoft.ML.Core.Data; +using Microsoft.ML; using Microsoft.ML.Data; namespace MyNamespace @@ -47,32 +52,15 @@ namespace MyNamespace Console.WriteLine($"************************************************************"); } - public static void PrintMultiClassClassificationMetrics(string name, MultiClassClassifierMetrics metrics) - { - Console.WriteLine($"************************************************************"); - Console.WriteLine($"* Metrics for {name} multi-class classification model "); - Console.WriteLine($"*-----------------------------------------------------------"); - Console.WriteLine($" AccuracyMacro = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the better"); - Console.WriteLine($" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value between 0 and 1, the closer to 1, the better"); - Console.WriteLine($" LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better"); - Console.WriteLine($" LogLoss for class 1 = {metrics.PerClassLogLoss[0]:0.####}, the closer to 0, the better"); - Console.WriteLine($" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to 0, the better"); - Console.WriteLine($" LogLoss for class 3 = {metrics.PerClassLogLoss[2]:0.####}, the closer to 0, the better"); - Console.WriteLine($"************************************************************"); - } - - public static void PrintRegressionFoldsAverageMetrics(string algorithmName, - (RegressionMetrics metrics, - ITransformer model, - IDataView scoredTestData)[] crossValidationResults + TrainCatalogBase.CrossValidationResult[] crossValidationResults ) { - var L1 = crossValidationResults.Select(r => r.metrics.L1); - var L2 = crossValidationResults.Select(r => r.metrics.L2); - var RMS = crossValidationResults.Select(r => r.metrics.L1); - var lossFunction = crossValidationResults.Select(r => r.metrics.LossFn); - var R2 = crossValidationResults.Select(r => r.metrics.RSquared); + var L1 = crossValidationResults.Select(r => r.Metrics.L1); + var L2 = crossValidationResults.Select(r => r.Metrics.L2); + var RMS = crossValidationResults.Select(r => r.Metrics.L1); + var lossFunction = crossValidationResults.Select(r => r.Metrics.LossFn); + var R2 = crossValidationResults.Select(r => r.Metrics.RSquared); Console.WriteLine($"*************************************************************************************************************"); Console.WriteLine($"* Metrics for {algorithmName} Regression model "); @@ -87,12 +75,9 @@ namespace MyNamespace public static void PrintBinaryClassificationFoldsAverageMetrics( string algorithmName, - (BinaryClassificationMetrics metrics, - ITransformer model, - IDataView scoredTestData)[] crossValResults - ) + TrainCatalogBase.CrossValidationResult[] crossValResults) { - var metricsInMultipleFolds = crossValResults.Select(r => r.metrics); + var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); var AccuracyValues = metricsInMultipleFolds.Select(m => m.Accuracy); var AccuracyAverage = AccuracyValues.Average(); @@ -108,45 +93,6 @@ namespace MyNamespace } - public static void PrintMulticlassClassificationFoldsAverageMetrics( - string algorithmName, - (MultiClassClassifierMetrics metrics, - ITransformer model, - IDataView scoredTestData)[] crossValResults - ) - { - var metricsInMultipleFolds = crossValResults.Select(r => r.metrics); - - var microAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMicro); - var microAccuracyAverage = microAccuracyValues.Average(); - var microAccuraciesStdDeviation = CalculateStandardDeviation(microAccuracyValues); - var microAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues); - - var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro); - var macroAccuracyAverage = macroAccuracyValues.Average(); - var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues); - var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macroAccuracyValues); - - var logLossValues = metricsInMultipleFolds.Select(m => m.LogLoss); - var logLossAverage = logLossValues.Average(); - var logLossStdDeviation = CalculateStandardDeviation(logLossValues); - var logLossConfidenceInterval95 = CalculateConfidenceInterval95(logLossValues); - - var logLossReductionValues = metricsInMultipleFolds.Select(m => m.LogLossReduction); - var logLossReductionAverage = logLossReductionValues.Average(); - var logLossReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues); - var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(logLossReductionValues); - - Console.WriteLine($"*************************************************************************************************************"); - Console.WriteLine($"* Metrics for {algorithmName} Multi-class Classification model "); - Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); - Console.WriteLine($"* Average MicroAccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###})"); - Console.WriteLine($"* Average MacroAccuracy: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})"); - Console.WriteLine($"* Average LogLoss: {logLossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInterval95:#.###})"); - Console.WriteLine($"* Average LogLossReduction: {logLossReductionAverage:#.###} - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: ({logLossReductionConfidenceInterval95:#.###})"); - Console.WriteLine($"*************************************************************************************************************"); - - } public static double CalculateStandardDeviation(IEnumerable values) { @@ -162,16 +108,6 @@ namespace MyNamespace return confidenceInterval95; } - public static void PrintClusteringMetrics(string name, ClusteringMetrics metrics) - { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Metrics for {name} clustering model "); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"* AvgMinScore: {metrics.AvgMinScore}"); - Console.WriteLine($"* DBI is: {metrics.Dbi}"); - Console.WriteLine($"*************************************************"); - } - public static void ConsoleWriteHeader(params string[] lines) { var defaultColor = Console.ForegroundColor; @@ -185,59 +121,5 @@ namespace MyNamespace Console.WriteLine(new string('#', maxLength)); Console.ForegroundColor = defaultColor; } - - public static void ConsoleWriterSection(params string[] lines) - { - var defaultColor = Console.ForegroundColor; - Console.ForegroundColor = ConsoleColor.Blue; - Console.WriteLine(" "); - foreach (var line in lines) - { - Console.WriteLine(line); - } - var maxLength = lines.Select(x => x.Length).Max(); - Console.WriteLine(new string('-', maxLength)); - Console.ForegroundColor = defaultColor; - } - - public static void ConsolePressAnyKey() - { - var defaultColor = Console.ForegroundColor; - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine(" "); - Console.WriteLine("Press any key to finish."); - Console.ReadKey(); - } - - public static void ConsoleWriteException(params string[] lines) - { - var defaultColor = Console.ForegroundColor; - Console.ForegroundColor = ConsoleColor.Red; - const string exceptionTitle = "EXCEPTION"; - Console.WriteLine(" "); - Console.WriteLine(exceptionTitle); - Console.WriteLine(new string('#', exceptionTitle.Length)); - Console.ForegroundColor = defaultColor; - foreach (var line in lines) - { - Console.WriteLine(line); - } - } - - public static void ConsoleWriteWarning(params string[] lines) - { - var defaultColor = Console.ForegroundColor; - Console.ForegroundColor = ConsoleColor.DarkMagenta; - const string warningTitle = "WARNING"; - Console.WriteLine(" "); - Console.WriteLine(warningTitle); - Console.WriteLine(new string('#', warningTitle.Length)); - Console.ForegroundColor = defaultColor; - foreach (var line in lines) - { - Console.WriteLine(line); - } - } - } } diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt index a6e1f95b2d..d91e576e52 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt @@ -21,37 +21,26 @@ namespace MyNamespace private static string TestDataPath = @"x:\dummypath\dummy_test.csv"; private static string ModelPath = @"x:\models\model.zip"; - // Set this flag to enable the training process. - private static bool EnableTraining = false; - static void Main(string[] args) { // Create MLContext to be shared across the model creation workflow objects - // Set a random seed for repeatable/deterministic results across multiple trainings. - var mlContext = new MLContext(seed: 1); + var mlContext = new MLContext(); - if (EnableTraining) - { - // Create, Train, Evaluate and Save a model - BuildTrainEvaluateAndSaveModel(mlContext); - ConsoleHelper.ConsoleWriteHeader("=============== End of training process ==============="); - } - else - { - ConsoleHelper.ConsoleWriteHeader("Skipping the training process. Please set the flag : 'EnableTraining' to 'true' to enable the training process."); - } + // (Optional step) Create, Train, Evaluate and Save the model.zip file + TrainEvaluateAndSaveModel(mlContext); - // Make a single test prediction loading the model from .ZIP file - TestSinglePrediction(mlContext); + // Make a single test prediction loading the model from model.zip file + Predict(mlContext); ConsoleHelper.ConsoleWriteHeader("=============== End of process, hit any key to finish ==============="); Console.ReadKey(); } - private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) + private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) { - // Data loading + // Load data + Console.WriteLine("=============== Loading data ==============="); IDataView trainingDataView = mlContext.Data.LoadFromTextFile( path: TrainDataPath, hasHeader: true, @@ -88,12 +77,13 @@ namespace MyNamespace mlContext.Model.Save(trainedModel, fs); Console.WriteLine("The model is saved to {0}", ModelPath); + ConsoleHelper.ConsoleWriteHeader("=============== End of training process ==============="); return trainedModel; } - // (OPTIONAL) Try/test a single prediction by loading the model from the file, first. - private static void TestSinglePrediction(MLContext mlContext) + // Try/test a single prediction by loading the model from the file, first. + private static void Predict(MLContext mlContext) { //Load data to test. Could be any test data. For demonstration purpose train data is used here. IDataView trainingDataView = mlContext.Data.LoadFromTextFile( diff --git a/src/mlnet/Templates/Console/ConsoleHelper.cs b/src/mlnet/Templates/Console/ConsoleHelper.cs index ddda5518bc..251fc5989a 100644 --- a/src/mlnet/Templates/Console/ConsoleHelper.cs +++ b/src/mlnet/Templates/Console/ConsoleHelper.cs @@ -25,9 +25,19 @@ public partial class ConsoleHelper : ConsoleHelperBase /// public virtual string TransformText() { - this.Write("using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing Micro" + - "soft.Data.DataView;\r\nusing Microsoft.ML.Core.Data;\r\nusing Microsoft.ML.Data;\r\n\r\n" + - "namespace "); + this.Write(@"//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Data; + +namespace "); this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); this.Write("\r\n{\r\n public static class ConsoleHelper\r\n {\r\n public static void Pri" + "ntPrediction(string prediction)\r\n {\r\n Console.WriteLine($\"****" + @@ -58,33 +68,15 @@ public virtual string TransformText() " Console.WriteLine($\"* Accuracy: {metrics.Accuracy:P2}\");\r\n " + " Console.WriteLine($\"* Auc: {metrics.Auc:P2}\");\r\n Con" + "sole.WriteLine($\"************************************************************\");" + - "\r\n }\r\n\r\n public static void PrintMultiClassClassificationMetrics(s" + - "tring name, MultiClassClassifierMetrics metrics)\r\n {\r\n Console" + - ".WriteLine($\"************************************************************\");\r\n " + - " Console.WriteLine($\"* Metrics for {name} multi-class classification" + - " model \");\r\n Console.WriteLine($\"*---------------------------------" + - "--------------------------\");\r\n Console.WriteLine($\" AccuracyMacro" + - " = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the" + - " better\");\r\n Console.WriteLine($\" AccuracyMicro = {metrics.Accurac" + - "yMicro:0.####}, a value between 0 and 1, the closer to 1, the better\");\r\n " + - " Console.WriteLine($\" LogLoss = {metrics.LogLoss:0.####}, the closer to 0" + - ", the better\");\r\n Console.WriteLine($\" LogLoss for class 1 = {metr" + - "ics.PerClassLogLoss[0]:0.####}, the closer to 0, the better\");\r\n Cons" + - "ole.WriteLine($\" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.####}, t" + - "he closer to 0, the better\");\r\n Console.WriteLine($\" LogLoss for c" + - "lass 3 = {metrics.PerClassLogLoss[2]:0.####}, the closer to 0, the better\");\r\n " + - " Console.WriteLine($\"**************************************************" + - "**********\");\r\n }\r\n\r\n\r\n public static void PrintRegressionFoldsAve" + - "rageMetrics(string algorithmName,\r\n " + - " (RegressionMetrics metrics,\r\n " + - " ITransformer model,\r\n " + - " IDataView scoredTestData)[] crossValidationResu" + + "\r\n }\r\n\r\n public static void PrintRegressionFoldsAverageMetrics(str" + + "ing algorithmName,\r\n " + + " TrainCatalogBase.CrossValidationResult[] crossValidationResu" + "lts\r\n )\r\n {\r\n" + - " var L1 = crossValidationResults.Select(r => r.metrics.L1);\r\n " + - " var L2 = crossValidationResults.Select(r => r.metrics.L2);\r\n var " + - "RMS = crossValidationResults.Select(r => r.metrics.L1);\r\n var lossFun" + - "ction = crossValidationResults.Select(r => r.metrics.LossFn);\r\n var R" + - "2 = crossValidationResults.Select(r => r.metrics.RSquared);\r\n\r\n Conso" + + " var L1 = crossValidationResults.Select(r => r.Metrics.L1);\r\n " + + " var L2 = crossValidationResults.Select(r => r.Metrics.L2);\r\n var " + + "RMS = crossValidationResults.Select(r => r.Metrics.L1);\r\n var lossFun" + + "ction = crossValidationResults.Select(r => r.Metrics.LossFn);\r\n var R" + + "2 = crossValidationResults.Select(r => r.Metrics.RSquared);\r\n\r\n Conso" + "le.WriteLine($\"*****************************************************************" + "********************************************\");\r\n Console.WriteLine($" + "\"* Metrics for {algorithmName} Regression model \");\r\n Cons" + @@ -99,117 +91,38 @@ public virtual string TransformText() "********************************************************************************" + "\");\r\n }\r\n\r\n public static void PrintBinaryClassificationFoldsAvera" + "geMetrics(\r\n string algorithmName,\r\n " + - " (BinaryClassificationMetrics metrics,\r\n " + - " ITransformer model,\r\n " + - " IDataView scoredTestData)[] crossValResults\r\n " + - " )\r\n {\r\n " + - " var metricsInMultipleFolds = crossValResults.Select(r => r.metrics);\r\n\r\n " + - " var AccuracyValues = metricsInMultipleFolds.Select(m => m.Accuracy);\r" + - "\n var AccuracyAverage = AccuracyValues.Average();\r\n var Ac" + - "curaciesStdDeviation = CalculateStandardDeviation(AccuracyValues);\r\n " + - "var AccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(AccuracyValue" + - "s);\r\n\r\n\r\n Console.WriteLine($\"***************************************" + - "**********************************************************************\");\r\n " + - " Console.WriteLine($\"* Metrics for {algorithmName} Binary Classifica" + - "tion model \");\r\n Console.WriteLine($\"*--------------------------" + - "--------------------------------------------------------------------------------" + - "--\");\r\n Console.WriteLine($\"* Average Accuracy: {AccuracyAve" + - "rage:0.###} - Standard deviation: ({AccuraciesStdDeviation:#.###}) - Confidenc" + - "e Interval 95%: ({AccuraciesConfidenceInterval95:#.###})\");\r\n Console" + - ".WriteLine($\"*******************************************************************" + - "******************************************\");\r\n\r\n }\r\n\r\n public sta" + - "tic void PrintMulticlassClassificationFoldsAverageMetrics(\r\n " + - " string algorithmName,\r\n " + - " (MultiClassClassifierMetrics metrics,\r\n " + - " ITransformer model,\r\n IDataView s" + - "coredTestData)[] crossValResults\r\n " + - " )\r\n {\r\n var metricsInMultipleFold" + - "s = crossValResults.Select(r => r.metrics);\r\n\r\n var microAccuracyValu" + - "es = metricsInMultipleFolds.Select(m => m.AccuracyMicro);\r\n var micro" + - "AccuracyAverage = microAccuracyValues.Average();\r\n var microAccuracie" + - "sStdDeviation = CalculateStandardDeviation(microAccuracyValues);\r\n va" + - "r microAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccur" + - "acyValues);\r\n\r\n var macroAccuracyValues = metricsInMultipleFolds.Sele" + - "ct(m => m.AccuracyMacro);\r\n var macroAccuracyAverage = macroAccuracyV" + - "alues.Average();\r\n var macroAccuraciesStdDeviation = CalculateStandar" + - "dDeviation(macroAccuracyValues);\r\n var macroAccuraciesConfidenceInter" + - "val95 = CalculateConfidenceInterval95(macroAccuracyValues);\r\n\r\n var l" + - "ogLossValues = metricsInMultipleFolds.Select(m => m.LogLoss);\r\n var l" + - "ogLossAverage = logLossValues.Average();\r\n var logLossStdDeviation = " + - "CalculateStandardDeviation(logLossValues);\r\n var logLossConfidenceInt" + - "erval95 = CalculateConfidenceInterval95(logLossValues);\r\n\r\n var logLo" + - "ssReductionValues = metricsInMultipleFolds.Select(m => m.LogLossReduction);\r\n " + - " var logLossReductionAverage = logLossReductionValues.Average();\r\n " + - " var logLossReductionStdDeviation = CalculateStandardDeviation(logLossReduc" + - "tionValues);\r\n var logLossReductionConfidenceInterval95 = CalculateCo" + - "nfidenceInterval95(logLossReductionValues);\r\n\r\n Console.WriteLine($\"*" + + " TrainCatalogBase.CrossValidationResult[] crossValResults)\r\n {\r\n var metricsI" + + "nMultipleFolds = crossValResults.Select(r => r.Metrics);\r\n\r\n var Accu" + + "racyValues = metricsInMultipleFolds.Select(m => m.Accuracy);\r\n var Ac" + + "curacyAverage = AccuracyValues.Average();\r\n var AccuraciesStdDeviatio" + + "n = CalculateStandardDeviation(AccuracyValues);\r\n var AccuraciesConfi" + + "denceInterval95 = CalculateConfidenceInterval95(AccuracyValues);\r\n\r\n\r\n " + + " Console.WriteLine($\"**********************************************************" + + "***************************************************\");\r\n Console.Writ" + + "eLine($\"* Metrics for {algorithmName} Binary Classification model \");" + + "\r\n Console.WriteLine($\"*---------------------------------------------" + + "---------------------------------------------------------------\");\r\n " + + "Console.WriteLine($\"* Average Accuracy: {AccuracyAverage:0.###} - Stan" + + "dard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({A" + + "ccuraciesConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"******" + "********************************************************************************" + - "****************************\");\r\n Console.WriteLine($\"* Metrics" + - " for {algorithmName} Multi-class Classification model \");\r\n Cons" + - "ole.WriteLine($\"*---------------------------------------------------------------" + - "---------------------------------------------\");\r\n Console.WriteLine(" + - "$\"* Average MicroAccuracy: {microAccuracyAverage:0.###} - Standard dev" + - "iation: ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({micr" + - "oAccuraciesConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"* " + - " Average MacroAccuracy: {macroAccuracyAverage:0.###} - Standard deviation" + - ": ({macroAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccur" + - "aciesConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"* Av" + - "erage LogLoss: {logLossAverage:#.###} - Standard deviation: ({logLossS" + - "tdDeviation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInterval95:#." + - "###})\");\r\n Console.WriteLine($\"* Average LogLossReduction: {log" + - "LossReductionAverage:#.###} - Standard deviation: ({logLossReductionStdDeviatio" + - "n:#.###}) - Confidence Interval 95%: ({logLossReductionConfidenceInterval95:#.#" + - "##})\");\r\n Console.WriteLine($\"***************************************" + - "**********************************************************************\");\r\n\r\n " + - " }\r\n\r\n public static double CalculateStandardDeviation(IEnumerable values)\r\n {\r\n double average = values.Average();\r\n " + - " double sumOfSquaresOfDifferences = values.Select(val => (val - average) * " + - "(val - average)).Sum();\r\n double standardDeviation = Math.Sqrt(sumOfS" + - "quaresOfDifferences / (values.Count() - 1));\r\n return standardDeviati" + - "on;\r\n }\r\n\r\n public static double CalculateConfidenceInterval95(IEn" + - "umerable values)\r\n {\r\n double confidenceInterval95 = 1" + - ".96 * CalculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1));\r\n " + - " return confidenceInterval95;\r\n }\r\n\r\n public static void P" + - "rintClusteringMetrics(string name, ClusteringMetrics metrics)\r\n {\r\n " + - " Console.WriteLine($\"*************************************************\");\r\n" + - " Console.WriteLine($\"* Metrics for {name} clustering model " + - " \");\r\n Console.WriteLine($\"*-----------------------------------------" + - "-------\");\r\n Console.WriteLine($\"* AvgMinScore: {metrics.AvgMin" + - "Score}\");\r\n Console.WriteLine($\"* DBI is: {metrics.Dbi}\");\r\n " + - " Console.WriteLine($\"*************************************************\")" + - ";\r\n }\r\n\r\n public static void ConsoleWriteHeader(params string[] li" + - "nes)\r\n {\r\n var defaultColor = Console.ForegroundColor;\r\n " + - " Console.ForegroundColor = ConsoleColor.Yellow;\r\n Console.WriteL" + - "ine(\" \");\r\n foreach (var line in lines)\r\n {\r\n " + - " Console.WriteLine(line);\r\n }\r\n var maxLength = lines.Se" + - "lect(x => x.Length).Max();\r\n Console.WriteLine(new string(\'#\', maxLen" + - "gth));\r\n Console.ForegroundColor = defaultColor;\r\n }\r\n\r\n " + - " public static void ConsoleWriterSection(params string[] lines)\r\n {\r\n " + - " var defaultColor = Console.ForegroundColor;\r\n Console.Foregr" + - "oundColor = ConsoleColor.Blue;\r\n Console.WriteLine(\" \");\r\n " + - " foreach (var line in lines)\r\n {\r\n Console.WriteLine(l" + - "ine);\r\n }\r\n var maxLength = lines.Select(x => x.Length).Ma" + - "x();\r\n Console.WriteLine(new string(\'-\', maxLength));\r\n Co" + - "nsole.ForegroundColor = defaultColor;\r\n }\r\n\r\n public static void C" + - "onsolePressAnyKey()\r\n {\r\n var defaultColor = Console.Foregroun" + - "dColor;\r\n Console.ForegroundColor = ConsoleColor.Green;\r\n " + - "Console.WriteLine(\" \");\r\n Console.WriteLine(\"Press any key to finish." + - "\");\r\n Console.ReadKey();\r\n }\r\n\r\n public static void Con" + - "soleWriteException(params string[] lines)\r\n {\r\n var defaultCol" + - "or = Console.ForegroundColor;\r\n Console.ForegroundColor = ConsoleColo" + - "r.Red;\r\n const string exceptionTitle = \"EXCEPTION\";\r\n Cons" + - "ole.WriteLine(\" \");\r\n Console.WriteLine(exceptionTitle);\r\n " + - " Console.WriteLine(new string(\'#\', exceptionTitle.Length));\r\n Console" + - ".ForegroundColor = defaultColor;\r\n foreach (var line in lines)\r\n " + - " {\r\n Console.WriteLine(line);\r\n }\r\n }\r\n\r\n" + - " public static void ConsoleWriteWarning(params string[] lines)\r\n {" + - "\r\n var defaultColor = Console.ForegroundColor;\r\n Console.F" + - "oregroundColor = ConsoleColor.DarkMagenta;\r\n const string warningTitl" + - "e = \"WARNING\";\r\n Console.WriteLine(\" \");\r\n Console.WriteLi" + - "ne(warningTitle);\r\n Console.WriteLine(new string(\'#\', warningTitle.Le" + - "ngth));\r\n Console.ForegroundColor = defaultColor;\r\n foreac" + - "h (var line in lines)\r\n {\r\n Console.WriteLine(line);\r\n" + - " }\r\n }\r\n\r\n }\r\n}\r\n"); + "***********************\");\r\n\r\n }\r\n\r\n\r\n public static double Calcul" + + "ateStandardDeviation(IEnumerable values)\r\n {\r\n double " + + "average = values.Average();\r\n double sumOfSquaresOfDifferences = valu" + + "es.Select(val => (val - average) * (val - average)).Sum();\r\n double s" + + "tandardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Count() - 1));\r" + + "\n return standardDeviation;\r\n }\r\n\r\n public static doubl" + + "e CalculateConfidenceInterval95(IEnumerable values)\r\n {\r\n " + + " double confidenceInterval95 = 1.96 * CalculateStandardDeviation(values) / Ma" + + "th.Sqrt((values.Count() - 1));\r\n return confidenceInterval95;\r\n " + + " }\r\n\r\n public static void ConsoleWriteHeader(params string[] lines)\r\n " + + " {\r\n var defaultColor = Console.ForegroundColor;\r\n Con" + + "sole.ForegroundColor = ConsoleColor.Yellow;\r\n Console.WriteLine(\" \");" + + "\r\n foreach (var line in lines)\r\n {\r\n Consol" + + "e.WriteLine(line);\r\n }\r\n var maxLength = lines.Select(x =>" + + " x.Length).Max();\r\n Console.WriteLine(new string(\'#\', maxLength));\r\n " + + " Console.ForegroundColor = defaultColor;\r\n }\r\n }\r\n}\r\n"); return this.GenerationEnvironment.ToString(); } diff --git a/src/mlnet/Templates/Console/ConsoleHelper.tt b/src/mlnet/Templates/Console/ConsoleHelper.tt index 4e1388c7eb..61778ecd74 100644 --- a/src/mlnet/Templates/Console/ConsoleHelper.tt +++ b/src/mlnet/Templates/Console/ConsoleHelper.tt @@ -3,11 +3,16 @@ <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> <#@ import namespace="System.Collections.Generic" #> +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + using System; using System.Collections.Generic; using System.Linq; -using Microsoft.Data.DataView; -using Microsoft.ML.Core.Data; +using Microsoft.ML; using Microsoft.ML.Data; namespace <#= Namespace #> @@ -52,32 +57,15 @@ namespace <#= Namespace #> Console.WriteLine($"************************************************************"); } - public static void PrintMultiClassClassificationMetrics(string name, MultiClassClassifierMetrics metrics) - { - Console.WriteLine($"************************************************************"); - Console.WriteLine($"* Metrics for {name} multi-class classification model "); - Console.WriteLine($"*-----------------------------------------------------------"); - Console.WriteLine($" AccuracyMacro = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the better"); - Console.WriteLine($" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value between 0 and 1, the closer to 1, the better"); - Console.WriteLine($" LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better"); - Console.WriteLine($" LogLoss for class 1 = {metrics.PerClassLogLoss[0]:0.####}, the closer to 0, the better"); - Console.WriteLine($" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to 0, the better"); - Console.WriteLine($" LogLoss for class 3 = {metrics.PerClassLogLoss[2]:0.####}, the closer to 0, the better"); - Console.WriteLine($"************************************************************"); - } - - public static void PrintRegressionFoldsAverageMetrics(string algorithmName, - (RegressionMetrics metrics, - ITransformer model, - IDataView scoredTestData)[] crossValidationResults + TrainCatalogBase.CrossValidationResult[] crossValidationResults ) { - var L1 = crossValidationResults.Select(r => r.metrics.L1); - var L2 = crossValidationResults.Select(r => r.metrics.L2); - var RMS = crossValidationResults.Select(r => r.metrics.L1); - var lossFunction = crossValidationResults.Select(r => r.metrics.LossFn); - var R2 = crossValidationResults.Select(r => r.metrics.RSquared); + var L1 = crossValidationResults.Select(r => r.Metrics.L1); + var L2 = crossValidationResults.Select(r => r.Metrics.L2); + var RMS = crossValidationResults.Select(r => r.Metrics.L1); + var lossFunction = crossValidationResults.Select(r => r.Metrics.LossFn); + var R2 = crossValidationResults.Select(r => r.Metrics.RSquared); Console.WriteLine($"*************************************************************************************************************"); Console.WriteLine($"* Metrics for {algorithmName} Regression model "); @@ -92,12 +80,9 @@ namespace <#= Namespace #> public static void PrintBinaryClassificationFoldsAverageMetrics( string algorithmName, - (BinaryClassificationMetrics metrics, - ITransformer model, - IDataView scoredTestData)[] crossValResults - ) + TrainCatalogBase.CrossValidationResult[] crossValResults) { - var metricsInMultipleFolds = crossValResults.Select(r => r.metrics); + var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); var AccuracyValues = metricsInMultipleFolds.Select(m => m.Accuracy); var AccuracyAverage = AccuracyValues.Average(); @@ -113,45 +98,6 @@ namespace <#= Namespace #> } - public static void PrintMulticlassClassificationFoldsAverageMetrics( - string algorithmName, - (MultiClassClassifierMetrics metrics, - ITransformer model, - IDataView scoredTestData)[] crossValResults - ) - { - var metricsInMultipleFolds = crossValResults.Select(r => r.metrics); - - var microAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMicro); - var microAccuracyAverage = microAccuracyValues.Average(); - var microAccuraciesStdDeviation = CalculateStandardDeviation(microAccuracyValues); - var microAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues); - - var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro); - var macroAccuracyAverage = macroAccuracyValues.Average(); - var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues); - var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macroAccuracyValues); - - var logLossValues = metricsInMultipleFolds.Select(m => m.LogLoss); - var logLossAverage = logLossValues.Average(); - var logLossStdDeviation = CalculateStandardDeviation(logLossValues); - var logLossConfidenceInterval95 = CalculateConfidenceInterval95(logLossValues); - - var logLossReductionValues = metricsInMultipleFolds.Select(m => m.LogLossReduction); - var logLossReductionAverage = logLossReductionValues.Average(); - var logLossReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues); - var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(logLossReductionValues); - - Console.WriteLine($"*************************************************************************************************************"); - Console.WriteLine($"* Metrics for {algorithmName} Multi-class Classification model "); - Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); - Console.WriteLine($"* Average MicroAccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###})"); - Console.WriteLine($"* Average MacroAccuracy: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})"); - Console.WriteLine($"* Average LogLoss: {logLossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInterval95:#.###})"); - Console.WriteLine($"* Average LogLossReduction: {logLossReductionAverage:#.###} - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: ({logLossReductionConfidenceInterval95:#.###})"); - Console.WriteLine($"*************************************************************************************************************"); - - } public static double CalculateStandardDeviation(IEnumerable values) { @@ -167,16 +113,6 @@ namespace <#= Namespace #> return confidenceInterval95; } - public static void PrintClusteringMetrics(string name, ClusteringMetrics metrics) - { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Metrics for {name} clustering model "); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"* AvgMinScore: {metrics.AvgMinScore}"); - Console.WriteLine($"* DBI is: {metrics.Dbi}"); - Console.WriteLine($"*************************************************"); - } - public static void ConsoleWriteHeader(params string[] lines) { var defaultColor = Console.ForegroundColor; @@ -190,60 +126,6 @@ namespace <#= Namespace #> Console.WriteLine(new string('#', maxLength)); Console.ForegroundColor = defaultColor; } - - public static void ConsoleWriterSection(params string[] lines) - { - var defaultColor = Console.ForegroundColor; - Console.ForegroundColor = ConsoleColor.Blue; - Console.WriteLine(" "); - foreach (var line in lines) - { - Console.WriteLine(line); - } - var maxLength = lines.Select(x => x.Length).Max(); - Console.WriteLine(new string('-', maxLength)); - Console.ForegroundColor = defaultColor; - } - - public static void ConsolePressAnyKey() - { - var defaultColor = Console.ForegroundColor; - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine(" "); - Console.WriteLine("Press any key to finish."); - Console.ReadKey(); - } - - public static void ConsoleWriteException(params string[] lines) - { - var defaultColor = Console.ForegroundColor; - Console.ForegroundColor = ConsoleColor.Red; - const string exceptionTitle = "EXCEPTION"; - Console.WriteLine(" "); - Console.WriteLine(exceptionTitle); - Console.WriteLine(new string('#', exceptionTitle.Length)); - Console.ForegroundColor = defaultColor; - foreach (var line in lines) - { - Console.WriteLine(line); - } - } - - public static void ConsoleWriteWarning(params string[] lines) - { - var defaultColor = Console.ForegroundColor; - Console.ForegroundColor = ConsoleColor.DarkMagenta; - const string warningTitle = "WARNING"; - Console.WriteLine(" "); - Console.WriteLine(warningTitle); - Console.WriteLine(new string('#', warningTitle.Length)); - Console.ForegroundColor = defaultColor; - foreach (var line in lines) - { - Console.WriteLine(line); - } - } - } } <#+ diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index ab197dcb99..b766c26643 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -53,26 +53,31 @@ public virtual string TransformText() } this.Write(" private static string ModelPath = @\""); this.Write(this.ToStringHelper.ToStringWithCulture(ModelPath)); - this.Write("\";\r\n\r\n // Set this flag to enable the training process.\r\n private s" + - "tatic bool EnableTraining = false;\r\n\r\n static void Main(string[] args)\r\n " + - " {\r\n // Create MLContext to be shared across the model creation" + - " workflow objects \r\n // Set a random seed for repeatable/deterministi" + - "c results across multiple trainings.\r\n var mlContext = new MLContext(" + - "seed: 1);\r\n\r\n if (EnableTraining)\r\n {\r\n // " + - "Create, Train, Evaluate and Save a model\r\n BuildTrainEvaluateAndS" + - "aveModel(mlContext);\r\n ConsoleHelper.ConsoleWriteHeader(\"========" + - "======= End of training process ===============\");\r\n }\r\n e" + - "lse\r\n {\r\n ConsoleHelper.ConsoleWriteHeader(\"Skipping t" + - "he training process. Please set the flag : \'EnableTraining\' to \'true\' to enable " + - "the training process.\");\r\n }\r\n\r\n // Make a single test pre" + - "diction loading the model from .ZIP file\r\n TestSinglePrediction(mlCon" + - "text);\r\n\r\n ConsoleHelper.ConsoleWriteHeader(\"=============== End of p" + - "rocess, hit any key to finish ===============\");\r\n Console.ReadKey();" + - "\r\n\r\n }\r\n\r\n private static ITransformer BuildTrainEvaluateAndSaveMo" + - "del(MLContext mlContext)\r\n {\r\n // Data loading\r\n ID" + - "ataView trainingDataView = mlContext.Data.LoadFromTextFile(\r\n" + - " path: TrainDataPath,\r\n " + - " hasHeader : "); + this.Write(@"""; + + static void Main(string[] args) + { + // Create MLContext to be shared across the model creation workflow objects + var mlContext = new MLContext(); + + // (Optional step) Create, Train, Evaluate and Save the model.zip file + TrainEvaluateAndSaveModel(mlContext); + + // Make a single test prediction loading the model from model.zip file + Predict(mlContext); + + ConsoleHelper.ConsoleWriteHeader(""=============== End of process, hit any key to finish ===============""); + Console.ReadKey(); + + } + + private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) + { + // Load data + Console.WriteLine(""=============== Loading data ===============""); + IDataView trainingDataView = mlContext.Data.LoadFromTextFile( + path: TrainDataPath, + hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); this.Write(",\r\n separatorChar : \'"); this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); @@ -122,7 +127,7 @@ public virtual string TransformText() else{ this.Write(" var trainingPipeline = trainer;\r\n"); } - if(string.IsNullOrEmpty(TestPath)){ +if(string.IsNullOrEmpty(TestPath)){ this.Write(@" // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) // in order to evaluate and get the model's accuracy metrics @@ -151,11 +156,11 @@ public virtual string TransformText() } this.Write("\r\n // Train the model fitting to the DataSet\r\n Console.Writ" + "eLine(\"=============== Training the model ===============\");\r\n var tr" + - "ainedModel = trainingPipeline.Fit(trainingDataView);\r\n\r\n"); + "ainedModel = trainingPipeline.Fit(trainingDataView);\r\n"); if(!string.IsNullOrEmpty(TestPath)){ - this.Write(" // Evaluate the model and show accuracy stats\r\n Console.Wr" + - "iteLine(\"===== Evaluating Model\'s accuracy with Test data =====\");\r\n " + - "var predictions = trainedModel.Transform(testDataView);\r\n"); + this.Write("\r\n // Evaluate the model and show accuracy stats\r\n Console." + + "WriteLine(\"===== Evaluating Model\'s accuracy with Test data =====\");\r\n " + + " var predictions = trainedModel.Transform(testDataView);\r\n"); if("BinaryClassification".Equals(TaskType)){ this.Write(" var metrics = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); @@ -163,16 +168,15 @@ public virtual string TransformText() this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); this.Write("\", \"Score\");\r\n ConsoleHelper.PrintBinaryClassificationMetrics(trainer." + "ToString(), metrics);\r\n"); -} -if("Regression".Equals(TaskType)){ +} if("Regression".Equals(TaskType)){ this.Write(" var metrics = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".Evaluate(predictions, \""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); this.Write("\", \"Score\");\r\n ConsoleHelper.PrintRegressionMetrics(trainer.ToString()" + ", metrics);\r\n"); -} - } +} +} this.Write(@" // Save/persist the trained model to a .ZIP file Console.WriteLine($""=============== Saving the model ===============""); @@ -180,12 +184,13 @@ public virtual string TransformText() mlContext.Model.Save(trainedModel, fs); Console.WriteLine(""The model is saved to {0}"", ModelPath); + ConsoleHelper.ConsoleWriteHeader(""=============== End of training process ===============""); return trainedModel; } - // (OPTIONAL) Try/test a single prediction by loading the model from the file, first. - private static void TestSinglePrediction(MLContext mlContext) + // Try/test a single prediction by loading the model from the file, first. + private static void Predict(MLContext mlContext) { //Load data to test. Could be any test data. For demonstration purpose train data is used here. IDataView trainingDataView = mlContext.Data.LoadFromTextFile( diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index c885d9c2f0..0af9b5313d 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -29,37 +29,26 @@ namespace <#= Namespace #> <# } #> private static string ModelPath = @"<#= ModelPath #>"; - // Set this flag to enable the training process. - private static bool EnableTraining = false; - static void Main(string[] args) { // Create MLContext to be shared across the model creation workflow objects - // Set a random seed for repeatable/deterministic results across multiple trainings. - var mlContext = new MLContext(seed: 1); + var mlContext = new MLContext(); - if (EnableTraining) - { - // Create, Train, Evaluate and Save a model - BuildTrainEvaluateAndSaveModel(mlContext); - ConsoleHelper.ConsoleWriteHeader("=============== End of training process ==============="); - } - else - { - ConsoleHelper.ConsoleWriteHeader("Skipping the training process. Please set the flag : 'EnableTraining' to 'true' to enable the training process."); - } + // (Optional step) Create, Train, Evaluate and Save the model.zip file + TrainEvaluateAndSaveModel(mlContext); - // Make a single test prediction loading the model from .ZIP file - TestSinglePrediction(mlContext); + // Make a single test prediction loading the model from model.zip file + Predict(mlContext); ConsoleHelper.ConsoleWriteHeader("=============== End of process, hit any key to finish ==============="); Console.ReadKey(); } - private static ITransformer BuildTrainEvaluateAndSaveModel(MLContext mlContext) + private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) { - // Data loading + // Load data + Console.WriteLine("=============== Loading data ==============="); IDataView trainingDataView = mlContext.Data.LoadFromTextFile( path: TrainDataPath, hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, @@ -96,8 +85,8 @@ namespace <#= Namespace #> <# } else{#> var trainingPipeline = trainer; -<#}#> -<# if(string.IsNullOrEmpty(TestPath)){ #> +<#} +if(string.IsNullOrEmpty(TestPath)){ #> // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) // in order to evaluate and get the model's accuracy metrics @@ -114,19 +103,19 @@ else{#> // Train the model fitting to the DataSet Console.WriteLine("=============== Training the model ==============="); var trainedModel = trainingPipeline.Fit(trainingDataView); - <# if(!string.IsNullOrEmpty(TestPath)){ #> + // Evaluate the model and show accuracy stats Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); var predictions = trainedModel.Transform(testDataView); <#if("BinaryClassification".Equals(TaskType)){ #> var metrics = mlContext.<#= TaskType #>.EvaluateNonCalibrated(predictions, "<#= LabelName #>", "Score"); ConsoleHelper.PrintBinaryClassificationMetrics(trainer.ToString(), metrics); -<#}#><#if("Regression".Equals(TaskType)){ #> +<#} if("Regression".Equals(TaskType)){ #> var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "<#= LabelName #>", "Score"); ConsoleHelper.PrintRegressionMetrics(trainer.ToString(), metrics); -<#}#> -<# } #> +<#} +} #> // Save/persist the trained model to a .ZIP file Console.WriteLine($"=============== Saving the model ==============="); @@ -134,12 +123,13 @@ else{#> mlContext.Model.Save(trainedModel, fs); Console.WriteLine("The model is saved to {0}", ModelPath); + ConsoleHelper.ConsoleWriteHeader("=============== End of training process ==============="); return trainedModel; } - // (OPTIONAL) Try/test a single prediction by loading the model from the file, first. - private static void TestSinglePrediction(MLContext mlContext) + // Try/test a single prediction by loading the model from the file, first. + private static void Predict(MLContext mlContext) { //Load data to test. Could be any test data. For demonstration purpose train data is used here. IDataView trainingDataView = mlContext.Data.LoadFromTextFile( From 1a5161df07616fa67688f9f4b181347dbce0fa15 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 4 Mar 2019 18:03:03 -0800 Subject: [PATCH 145/211] added nuget sources in generated csproj (#262) * added nuget sources in csproj * changed the structure in generated code * space --- ...ests.GeneratedProjectCodeTest.approved.txt | 6 +++++ ...rTests.GeneratedTrainCodeTest.approved.txt | 25 ++++++++++++++----- src/mlnet/Templates/Console/MLCodeGen.cs | 25 ++++++++++++++----- src/mlnet/Templates/Console/MLCodeGen.tt | 25 ++++++++++++++----- src/mlnet/Templates/Console/MLProjectGen.cs | 6 +++++ src/mlnet/Templates/Console/MLProjectGen.tt | 6 +++++ 6 files changed, 75 insertions(+), 18 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt index 9f2e4034b9..b202d34012 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt @@ -5,6 +5,12 @@ netcoreapp2.1 False + + + https://api.nuget.org/v3/index.json; + https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; + + diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt index d91e576e52..a4e5dc3621 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt @@ -26,15 +26,28 @@ namespace MyNamespace // Create MLContext to be shared across the model creation workflow objects var mlContext = new MLContext(); - // (Optional step) Create, Train, Evaluate and Save the model.zip file - TrainEvaluateAndSaveModel(mlContext); + var command = Command.Predict; // Your desired action here - // Make a single test prediction loading the model from model.zip file - Predict(mlContext); + if (command == Command.Predict) + { + Predict(mlContext); + ConsoleHelper.ConsoleWriteHeader("=============== If you also want to train a model use Command.TrainAndPredict ==============="); + } - ConsoleHelper.ConsoleWriteHeader("=============== End of process, hit any key to finish ==============="); + if (command == Command.TrainAndPredict) + { + TrainEvaluateAndSaveModel(mlContext); + Predict(mlContext); + } + + Console.WriteLine("=============== End of process, hit any key to finish ==============="); Console.ReadKey(); + } + private enum Command + { + Predict, + TrainAndPredict } private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) @@ -77,7 +90,7 @@ namespace MyNamespace mlContext.Model.Save(trainedModel, fs); Console.WriteLine("The model is saved to {0}", ModelPath); - ConsoleHelper.ConsoleWriteHeader("=============== End of training process ==============="); + Console.WriteLine("=============== End of training process ==============="); return trainedModel; } diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index b766c26643..8739c55d59 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -60,15 +60,28 @@ static void Main(string[] args) // Create MLContext to be shared across the model creation workflow objects var mlContext = new MLContext(); - // (Optional step) Create, Train, Evaluate and Save the model.zip file - TrainEvaluateAndSaveModel(mlContext); + var command = Command.Predict; // Your desired action here - // Make a single test prediction loading the model from model.zip file - Predict(mlContext); + if (command == Command.Predict) + { + Predict(mlContext); + ConsoleHelper.ConsoleWriteHeader(""=============== If you also want to train a model use Command.TrainAndPredict ===============""); + } - ConsoleHelper.ConsoleWriteHeader(""=============== End of process, hit any key to finish ===============""); + if (command == Command.TrainAndPredict) + { + TrainEvaluateAndSaveModel(mlContext); + Predict(mlContext); + } + + Console.WriteLine(""=============== End of process, hit any key to finish ===============""); Console.ReadKey(); + } + private enum Command + { + Predict, + TrainAndPredict } private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) @@ -184,7 +197,7 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) mlContext.Model.Save(trainedModel, fs); Console.WriteLine(""The model is saved to {0}"", ModelPath); - ConsoleHelper.ConsoleWriteHeader(""=============== End of training process ===============""); + Console.WriteLine(""=============== End of training process ===============""); return trainedModel; } diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index 0af9b5313d..c46b531300 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -34,15 +34,28 @@ namespace <#= Namespace #> // Create MLContext to be shared across the model creation workflow objects var mlContext = new MLContext(); - // (Optional step) Create, Train, Evaluate and Save the model.zip file - TrainEvaluateAndSaveModel(mlContext); + var command = Command.Predict; // Your desired action here - // Make a single test prediction loading the model from model.zip file - Predict(mlContext); + if (command == Command.Predict) + { + Predict(mlContext); + ConsoleHelper.ConsoleWriteHeader("=============== If you also want to train a model use Command.TrainAndPredict ==============="); + } - ConsoleHelper.ConsoleWriteHeader("=============== End of process, hit any key to finish ==============="); + if (command == Command.TrainAndPredict) + { + TrainEvaluateAndSaveModel(mlContext); + Predict(mlContext); + } + + Console.WriteLine("=============== End of process, hit any key to finish ==============="); Console.ReadKey(); + } + private enum Command + { + Predict, + TrainAndPredict } private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) @@ -123,7 +136,7 @@ if(string.IsNullOrEmpty(TestPath)){ #> mlContext.Model.Save(trainedModel, fs); Console.WriteLine("The model is saved to {0}", ModelPath); - ConsoleHelper.ConsoleWriteHeader("=============== End of training process ==============="); + Console.WriteLine("=============== End of training process ==============="); return trainedModel; } diff --git a/src/mlnet/Templates/Console/MLProjectGen.cs b/src/mlnet/Templates/Console/MLProjectGen.cs index 368b604a2c..36fc78b417 100644 --- a/src/mlnet/Templates/Console/MLProjectGen.cs +++ b/src/mlnet/Templates/Console/MLProjectGen.cs @@ -32,6 +32,12 @@ public virtual string TransformText() netcoreapp2.1 False + + + https://api.nuget.org/v3/index.json; + https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; + + diff --git a/src/mlnet/Templates/Console/MLProjectGen.tt b/src/mlnet/Templates/Console/MLProjectGen.tt index 0f7903b23e..33588e7639 100644 --- a/src/mlnet/Templates/Console/MLProjectGen.tt +++ b/src/mlnet/Templates/Console/MLProjectGen.tt @@ -10,6 +10,12 @@ netcoreapp2.1 False + + + https://api.nuget.org/v3/index.json; + https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; + + From c77b78a9e49001f2fec61ba9bf1679319e4e8f4d Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 5 Mar 2019 16:43:14 -0800 Subject: [PATCH 146/211] upgrade to mlnet 0.11 (#263) --- .../EstimatorExtensions/EstimatorExtensions.cs | 10 ++++------ src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj | 8 ++++---- .../TrainerExtensions/BinaryTrainerExtensions.cs | 1 - .../TrainerExtensions/RegressionTrainerExtensions.cs | 1 - ...eneratorTests.GeneratedProjectCodeTest.approved.txt | 7 +++---- src/mlnet.Test/CodeGenTests.cs | 2 +- src/mlnet.Test/TrainerGeneratorTests.cs | 8 ++++---- src/mlnet.Test/TransformGeneratorTests.cs | 8 ++++---- src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs | 6 +++--- src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs | 8 ++++---- src/mlnet/Templates/Console/MLProjectGen.cs | 7 +++---- src/mlnet/Templates/Console/MLProjectGen.tt | 7 +++---- src/mlnet/Utilities/ConsolePrinter.cs | 8 ++++---- 13 files changed, 37 insertions(+), 44 deletions(-) diff --git a/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs b/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs index b5179548b5..353c730ce3 100644 --- a/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs +++ b/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs @@ -4,8 +4,6 @@ using Microsoft.ML.Data; using Microsoft.ML.Transforms; -using Microsoft.ML.Transforms.Categorical; -using Microsoft.ML.Transforms.Conversions; namespace Microsoft.ML.Auto { @@ -39,7 +37,7 @@ public IEstimator CreateInstance(MLContext context, PipelineNode p public static SuggestedTransform CreateSuggestedTransform(MLContext context, string inColumn, string outColumn) { - var pipelineNode = new PipelineNode(EstimatorName.ColumnCopying.ToString(), + var pipelineNode = new PipelineNode(EstimatorName.ColumnCopying.ToString(), PipelineNodeType.Transform, inColumn, outColumn); var estimator = CreateInstance(context, inColumn, outColumn); return new SuggestedTransform(pipelineNode, estimator); @@ -192,7 +190,7 @@ public IEstimator CreateInstance(MLContext context, PipelineNode p public static SuggestedTransform CreateSuggestedTransform(MLContext context, string inColumn, string outColumn) { - var pipelineNode = new PipelineNode(EstimatorName.TextFeaturizing.ToString(), + var pipelineNode = new PipelineNode(EstimatorName.TextFeaturizing.ToString(), PipelineNodeType.Transform, inColumn, outColumn); var estimator = CreateInstance(context, inColumn, outColumn); return new SuggestedTransform(pipelineNode, estimator); @@ -213,7 +211,7 @@ public IEstimator CreateInstance(MLContext context, PipelineNode p public static SuggestedTransform CreateSuggestedTransform(MLContext context, string[] inColumns, string[] outColumns) { - var pipelineNode = new PipelineNode(EstimatorName.TypeConverting.ToString(), + var pipelineNode = new PipelineNode(EstimatorName.TypeConverting.ToString(), PipelineNodeType.Transform, inColumns, outColumns); var estimator = CreateInstance(context, inColumns, outColumns); return new SuggestedTransform(pipelineNode, estimator); @@ -239,7 +237,7 @@ public IEstimator CreateInstance(MLContext context, PipelineNode p public static SuggestedTransform CreateSuggestedTransform(MLContext context, string inColumn, string outColumn) { - var pipelineNode = new PipelineNode(EstimatorName.ValueToKeyMapping.ToString(), + var pipelineNode = new PipelineNode(EstimatorName.ValueToKeyMapping.ToString(), PipelineNodeType.Transform, inColumn, outColumn); var estimator = CreateInstance(context, inColumn, outColumn); return new SuggestedTransform(pipelineNode, estimator); diff --git a/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj b/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj index b510f43b3c..1214e1e0b4 100644 --- a/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj +++ b/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj @@ -1,4 +1,4 @@ - + netstandard2.0 7.3 @@ -6,9 +6,9 @@ - - - + + + diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs index 38838b37d1..31b6302e79 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs @@ -7,7 +7,6 @@ using Microsoft.ML.Trainers; using Microsoft.ML.Trainers.FastTree; using Microsoft.ML.Trainers.HalLearners; -using Microsoft.ML.Trainers.Online; namespace Microsoft.ML.Auto { diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs index 35e6d8d661..fda8777cd2 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs @@ -6,7 +6,6 @@ using Microsoft.ML.Trainers; using Microsoft.ML.Trainers.FastTree; using Microsoft.ML.Trainers.HalLearners; -using Microsoft.ML.Trainers.Online; namespace Microsoft.ML.Auto { diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt index b202d34012..e94fe55cd0 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt @@ -8,7 +8,6 @@ https://api.nuget.org/v3/index.json; - https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; @@ -16,8 +15,8 @@ - - - + + + diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index 295155b07f..c4ebc5b2af 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -78,7 +78,7 @@ public void TransformGeneratorUsingTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnOptions(\"Label\",\"Label\")})"; - var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; + var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); Assert.AreEqual(expectedUsings, actual[0].Item2); } diff --git a/src/mlnet.Test/TrainerGeneratorTests.cs b/src/mlnet.Test/TrainerGeneratorTests.cs index edb29f6d8b..fc49ad14ab 100644 --- a/src/mlnet.Test/TrainerGeneratorTests.cs +++ b/src/mlnet.Test/TrainerGeneratorTests.cs @@ -309,7 +309,7 @@ public void OnlineGradientDescentRegressionAdvancedParameterTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - var expectedUsings = "using Microsoft.ML.Trainers.Online;\r\n"; + var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; string expectedTrainerString = "OnlineGradientDescent(new OnlineGradientDescentTrainer.Options(){RecencyGainMulti=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2); @@ -383,7 +383,7 @@ public void LinearSvmBinaryParameterTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - var expectedUsings = "using Microsoft.ML.Trainers.Online;\r\n "; + var expectedUsings = "using Microsoft.ML.Trainers;\r\n "; string expectedTrainerString = "LinearSupportVectorMachines(new LinearSvmTrainer.Options(){NoBias=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2); @@ -421,7 +421,7 @@ public void FastTreeTweedieRegressionAdvancedParameterTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - var expectedUsings = "using Microsoft.ML.Trainers.Online;\r\n"; + var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; string expectedTrainerString = "OnlineGradientDescent(new OnlineGradientDescentTrainer.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2); @@ -610,7 +610,7 @@ public void AveragedPerceptronBinaryAdvancedParameterTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - var expectedUsings = "using Microsoft.ML.Trainers.Online;\r\n "; + var expectedUsings = "using Microsoft.ML.Trainers;\r\n "; string expectedTrainerString = "AveragedPerceptron(new AveragedPerceptronTrainer.Options(){Shuffle=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2); diff --git a/src/mlnet.Test/TransformGeneratorTests.cs b/src/mlnet.Test/TransformGeneratorTests.cs index 054102fc0e..16c1720255 100644 --- a/src/mlnet.Test/TransformGeneratorTests.cs +++ b/src/mlnet.Test/TransformGeneratorTests.cs @@ -34,7 +34,7 @@ public void OneHotEncodingTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnOptions(\"categorical_column_1\",\"categorical_column_1\")})"; - var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; + var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); Assert.AreEqual(expectedUsings, actual[0].Item2); } @@ -109,7 +109,7 @@ public void OneHotHashEncodingTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Categorical.OneHotHashEncoding(new []{new OneHotHashEncodingEstimator.ColumnOptions(\"Categorical_column_1\",\"Categorical_column_1\")})"; - var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r\n"; + var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); Assert.AreEqual(expectedUsings, actual[0].Item2); } @@ -139,7 +139,7 @@ public void TypeConvertingTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingEstimator.ColumnOptions(\"R4_column_1\",DataKind.Single,\"I4_column_1\")})"; - string expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; + string expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); Assert.AreEqual(expectedUsings, actual[0].Item2); } @@ -154,7 +154,7 @@ public void ValueToKeyMappingTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(); string expectedTransform = "Conversion.MapValueToKey(\"Label\",\"Label\")"; - var expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r\n"; + var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); Assert.AreEqual(expectedUsings, actual[0].Item2); } diff --git a/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs index 888ad34178..b4d36fc4a4 100644 --- a/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs @@ -70,7 +70,7 @@ internal override IDictionary NamedParameters } } - internal override string Usings => "using Microsoft.ML.Trainers.Online;\r\n "; + internal override string Usings => "using Microsoft.ML.Trainers;\r\n "; public AveragedPerceptron(PipelineNode node) : base(node) { @@ -196,7 +196,7 @@ internal override IDictionary NamedParameters } } - internal override string Usings => "using Microsoft.ML.Trainers.Online;\r\n "; + internal override string Usings => "using Microsoft.ML.Trainers;\r\n "; public LinearSvm(PipelineNode node) : base(node) { @@ -266,7 +266,7 @@ internal override IDictionary NamedParameters } } - internal override string Usings => "using Microsoft.ML.Trainers.Online;\r\n"; + internal override string Usings => "using Microsoft.ML.Trainers;\r\n"; public OnlineGradientDescentRegression(PipelineNode node) : base(node) { diff --git a/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs index 28009eccb8..0fe06c0d02 100644 --- a/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs @@ -42,7 +42,7 @@ public OneHotEncoding(PipelineNode node) : base(node) internal override string MethodName => "Categorical.OneHotEncoding"; - internal override string Usings => "using Microsoft.ML.Transforms.Categorical;\r\n"; + internal override string Usings => "using Microsoft.ML.Transforms;\r\n"; private string ArgumentsName = "OneHotEncodingEstimator.ColumnOptions"; @@ -210,7 +210,7 @@ public OneHotHashEncoding(PipelineNode node) : base(node) internal override string MethodName => "Categorical.OneHotHashEncoding"; - internal override string Usings => "using Microsoft.ML.Transforms.Categorical;\r\n"; + internal override string Usings => "using Microsoft.ML.Transforms;\r\n"; private string ArgumentsName = "OneHotHashEncodingEstimator.ColumnOptions"; @@ -272,7 +272,7 @@ public TypeConverting(PipelineNode node) : base(node) internal override string MethodName => "Conversion.ConvertType"; - internal override string Usings => "using Microsoft.ML.Transforms.Conversions;\r\n"; + internal override string Usings => "using Microsoft.ML.Transforms;\r\n"; private string ArgumentsName = "TypeConvertingEstimator.ColumnOptions"; @@ -311,7 +311,7 @@ public ValueToKeyMapping(PipelineNode node) : base(node) internal override string MethodName => "Conversion.MapValueToKey"; - internal override string Usings => "using Microsoft.ML.Transforms.Conversions;\r\n"; + internal override string Usings => "using Microsoft.ML.Transforms;\r\n"; public override string GenerateTransformer() { diff --git a/src/mlnet/Templates/Console/MLProjectGen.cs b/src/mlnet/Templates/Console/MLProjectGen.cs index 36fc78b417..b52220b184 100644 --- a/src/mlnet/Templates/Console/MLProjectGen.cs +++ b/src/mlnet/Templates/Console/MLProjectGen.cs @@ -35,7 +35,6 @@ public virtual string TransformText() https://api.nuget.org/v3/index.json; - https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; @@ -43,9 +42,9 @@ public virtual string TransformText() - - - + + + "); diff --git a/src/mlnet/Templates/Console/MLProjectGen.tt b/src/mlnet/Templates/Console/MLProjectGen.tt index 33588e7639..6fa441f800 100644 --- a/src/mlnet/Templates/Console/MLProjectGen.tt +++ b/src/mlnet/Templates/Console/MLProjectGen.tt @@ -13,7 +13,6 @@ https://api.nuget.org/v3/index.json; - https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; @@ -21,8 +20,8 @@ - - - + + + diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 8589823391..0ed39d0d77 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -12,12 +12,12 @@ internal class ConsolePrinter private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); internal static void PrintRegressionMetrics(int iteration, string trainerName, RegressionMetrics metrics) { - logger.Log(LogLevel.Info, $"{iteration,-3}{trainerName,-35}{metrics.RSquared,-10:0.###}{metrics.LossFn,-8:0.##}{metrics.L1,-15:#.##}{metrics.L2,-15:#.##}{metrics.Rms,-10:#.##}"); + logger.Log(LogLevel.Info, $"{iteration,-4}{trainerName,-35}{metrics.RSquared,-10:F4}{metrics.LossFn,-8:F2}{metrics.L1,-15:F2}{metrics.L2,-15:F2}{metrics.Rms,-10:F2}"); } internal static void PrintBinaryClassificationMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics) { - logger.Log(LogLevel.Info, $"{iteration,-3}{trainerName,-35}{metrics.Accuracy,-10:0.###}{metrics.Auc,-8:0.##}"); + logger.Log(LogLevel.Info, $"{iteration,-4}{trainerName,-35}{metrics.Accuracy,-10:F4}{metrics.Auc,-8:F2}"); } internal static void PrintBinaryClassificationMetricsHeader() @@ -25,7 +25,7 @@ internal static void PrintBinaryClassificationMetricsHeader() logger.Log(LogLevel.Info, $"*************************************************"); logger.Log(LogLevel.Info, $"* {Strings.MetricsForBinaryClassModels} "); logger.Log(LogLevel.Info, $"*------------------------------------------------"); - logger.Log(LogLevel.Info, $"{" ",-3}{"Trainer",-35}{"Accuracy",-10}{"Auc",-8}"); + logger.Log(LogLevel.Info, $"{" ",-4}{"Trainer",-35}{"Accuracy",-10}{"Auc",-8}"); } internal static void PrintRegressionMetricsHeader() @@ -33,7 +33,7 @@ internal static void PrintRegressionMetricsHeader() logger.Log(LogLevel.Info, $"*************************************************"); logger.Log(LogLevel.Info, $"* {Strings.MetricsForRegressionModels} "); logger.Log(LogLevel.Info, $"*------------------------------------------------"); - logger.Log(LogLevel.Info, $"{" ",-3}{"Trainer",-35}{"R2-Score",-10}{"LossFn",-8}{"Absolute-loss",-15}{"Squared-loss",-15}{"RMS-loss",-10}"); + logger.Log(LogLevel.Info, $"{" ",-4}{"Trainer",-35}{"R2-Score",-10}{"LossFn",-8}{"Absolute-loss",-15}{"Squared-loss",-15}{"RMS-loss",-10}"); } internal static void PrintBestPipelineHeader() From 677aa0e4629c2efe26e7076d158f87acabf01e10 Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Tue, 5 Mar 2019 21:44:33 -0800 Subject: [PATCH 147/211] Formatting CLI metrics (#264) Ensures space between printed metrics (also model counter). Right aligned metrics. Extended AUC to four digits. --- src/mlnet/Utilities/ConsolePrinter.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 0ed39d0d77..72db04e933 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -12,12 +12,12 @@ internal class ConsolePrinter private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); internal static void PrintRegressionMetrics(int iteration, string trainerName, RegressionMetrics metrics) { - logger.Log(LogLevel.Info, $"{iteration,-4}{trainerName,-35}{metrics.RSquared,-10:F4}{metrics.LossFn,-8:F2}{metrics.L1,-15:F2}{metrics.L2,-15:F2}{metrics.Rms,-10:F2}"); + logger.Log(LogLevel.Info, $"{iteration,4} {trainerName,-35} {metrics.RSquared,9:F4} {metrics.LossFn,12:F2} {metrics.L1,15:F2} {metrics.L2,15:F2} {metrics.Rms,12:F2}"); } internal static void PrintBinaryClassificationMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics) { - logger.Log(LogLevel.Info, $"{iteration,-4}{trainerName,-35}{metrics.Accuracy,-10:F4}{metrics.Auc,-8:F2}"); + logger.Log(LogLevel.Info, $"{iteration,4} {trainerName,-35} {metrics.Accuracy,9:F4} {metrics.Auc,8:F4}"); } internal static void PrintBinaryClassificationMetricsHeader() @@ -25,7 +25,7 @@ internal static void PrintBinaryClassificationMetricsHeader() logger.Log(LogLevel.Info, $"*************************************************"); logger.Log(LogLevel.Info, $"* {Strings.MetricsForBinaryClassModels} "); logger.Log(LogLevel.Info, $"*------------------------------------------------"); - logger.Log(LogLevel.Info, $"{" ",-4}{"Trainer",-35}{"Accuracy",-10}{"Auc",-8}"); + logger.Log(LogLevel.Info, $"{" ",4} {"Trainer",-35} {"Accuracy",9} {"AUC",8}"); } internal static void PrintRegressionMetricsHeader() @@ -33,7 +33,7 @@ internal static void PrintRegressionMetricsHeader() logger.Log(LogLevel.Info, $"*************************************************"); logger.Log(LogLevel.Info, $"* {Strings.MetricsForRegressionModels} "); logger.Log(LogLevel.Info, $"*------------------------------------------------"); - logger.Log(LogLevel.Info, $"{" ",-4}{"Trainer",-35}{"R2-Score",-10}{"LossFn",-8}{"Absolute-loss",-15}{"Squared-loss",-15}{"RMS-loss",-10}"); + logger.Log(LogLevel.Info, $"{" ",4} {"Trainer",-35} {"R2-Score",9} {"LossFn",12} {"Absolute-loss",15} {"Squared-loss",15} {"RMS-loss",12}"); } internal static void PrintBestPipelineHeader() From 551a7a14d2a0d118bd552718029e9ac8ae58f9d9 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 6 Mar 2019 15:01:01 -0800 Subject: [PATCH 148/211] Add implementation of non -ova multi class trainers code gen (#267) * added non ova multi class learners * added tests * test cases --- src/mlnet.Test/TrainerGeneratorTests.cs | 74 +++++++++++++++++++ .../CSharp/TrainerGeneratorFactory.cs | 4 + .../CodeGenerator/CSharp/TrainerGenerators.cs | 37 +++++++++- 3 files changed, 111 insertions(+), 4 deletions(-) diff --git a/src/mlnet.Test/TrainerGeneratorTests.cs b/src/mlnet.Test/TrainerGeneratorTests.cs index fc49ad14ab..fef0a87227 100644 --- a/src/mlnet.Test/TrainerGeneratorTests.cs +++ b/src/mlnet.Test/TrainerGeneratorTests.cs @@ -168,6 +168,43 @@ public void SDCABinaryAdvancedParameterTest() } + [TestMethod] + public void SDCAMultiBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("SdcaMulti", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "StochasticDualCoordinateAscent(labelColumnName:\"Label\",featureColumnName:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void SDCAMultiAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"BiasLearningRate", 0.1f }, + }; + PipelineNode node = new PipelineNode("SdcaMulti", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; + string expectedTrainerString = "StochasticDualCoordinateAscent(new SdcaMultiClassTrainer.Options(){BiasLearningRate=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + [TestMethod] public void SDCARegressionBasicTest() { @@ -353,6 +390,43 @@ public void LogisticRegressionBinaryAdvancedParameterTest() } + [TestMethod] + public void LogisticRegressionMultiBasicTest() + { + var context = new MLContext(); + + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("LogisticRegressionMulti", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + string expectedTrainerString = "LogisticRegression(labelColumnName:\"Label\",featureColumnName:\"Features\")"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.IsNull(actual.Item2); + + } + + [TestMethod] + public void LogisticRegressionMultiAdvancedParameterTest() + { + + var context = new MLContext(); + + var elementProperties = new Dictionary() + { + {"DenseOptimizer", true }, + }; + PipelineNode node = new PipelineNode("LogisticRegressionMulti", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTrainerAndUsings(); + var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; + string expectedTrainerString = "LogisticRegression(new MulticlassLogisticRegression.Options(){DenseOptimizer=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + Assert.AreEqual(expectedTrainerString, actual.Item1); + Assert.AreEqual(expectedUsings, actual.Item2); + + } + [TestMethod] public void LinearSvmBinaryBasicTest() { diff --git a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs index 4d9c421e7b..20e566aa67 100644 --- a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs @@ -48,6 +48,8 @@ internal static ITrainerGenerator GetInstance(Pipeline pipeline) return new LinearSvm(node); case TrainerName.LogisticRegressionBinary: return new LogisticRegressionBinary(node); + case TrainerName.LogisticRegressionMulti: + return new LogisticRegressionMulti(node); case TrainerName.OnlineGradientDescentRegression: return new OnlineGradientDescentRegression(node); case TrainerName.OrdinaryLeastSquaresRegression: @@ -56,6 +58,8 @@ internal static ITrainerGenerator GetInstance(Pipeline pipeline) return new PoissonRegression(node); case TrainerName.SdcaBinary: return new StochasticDualCoordinateAscentBinary(node); + case TrainerName.SdcaMulti: + return new StochasticDualCoordinateAscentMulti(node); case TrainerName.SdcaRegression: return new StochasticDualCoordinateAscentRegression(node); case TrainerName.StochasticGradientDescentBinary: diff --git a/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs index b4d36fc4a4..3b6a194e1c 100644 --- a/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs @@ -203,14 +203,13 @@ public LinearSvm(PipelineNode node) : base(node) } } - internal class LogisticRegressionBinary : TrainerGeneratorBase + #region Logistic Regression + + internal abstract class LogisticRegressionBase : TrainerGeneratorBase { //ClassName of the trainer internal override string MethodName => "LogisticRegression"; - //ClassName of the options to trainer - internal override string OptionsName => "LogisticRegression.Options"; - //The named parameters to the trainer. internal override IDictionary NamedParameters { @@ -233,11 +232,31 @@ internal override IDictionary NamedParameters internal override string Usings => "using Microsoft.ML.Trainers;\r\n"; + public LogisticRegressionBase(PipelineNode node) : base(node) + { + } + } + internal class LogisticRegressionBinary : LogisticRegressionBase + { + //ClassName of the options to trainer + internal override string OptionsName => "LogisticRegression.Options"; + public LogisticRegressionBinary(PipelineNode node) : base(node) { } } + internal class LogisticRegressionMulti : LogisticRegressionBase + { + //ClassName of the options to trainer + internal override string OptionsName => "MulticlassLogisticRegression.Options"; + + public LogisticRegressionMulti(PipelineNode node) : base(node) + { + } + } + #endregion + internal class OnlineGradientDescentRegression : TrainerGeneratorBase { //ClassName of the trainer @@ -380,6 +399,16 @@ public StochasticDualCoordinateAscentBinary(PipelineNode node) : base(node) } } + internal class StochasticDualCoordinateAscentMulti : StochasticDualCoordinateAscentBase + { + //ClassName of the options to trainer + internal override string OptionsName => "SdcaMultiClassTrainer.Options"; + + public StochasticDualCoordinateAscentMulti(PipelineNode node) : base(node) + { + } + } + internal class StochasticDualCoordinateAscentRegression : StochasticDualCoordinateAscentBase { //ClassName of the options to trainer From 3326539c25ee426c8c4249675e406f37fc7aa31b Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 6 Mar 2019 17:39:22 -0800 Subject: [PATCH 149/211] Add caching (#249) --- .../API/ExperimentSettings.cs | 8 +++++++- .../Experiment/Experiment.cs | 2 +- .../Experiment/SuggestedPipeline.cs | 18 ++++++++++++----- .../PipelineSuggesters/PipelineSuggester.cs | 12 ++++++----- src/Test/InferredPipelineTests.cs | 20 +++++++++---------- .../ConsoleCodeGeneratorTests.cs | 4 ++-- 6 files changed, 40 insertions(+), 24 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs index 691c264a14..f67ca0eb46 100644 --- a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs +++ b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs @@ -11,7 +11,13 @@ public class ExperimentSettings public uint MaxExperimentTimeInSeconds { get; set; } = 24 * 60 * 60; public CancellationToken CancellationToken { get; set; } = default; - internal bool EnableCaching; + /// + /// This setting controls whether or not an AutoML experiment will make use of ML.NET-provided caching. + /// If set to true, caching will be forced on for all pipelines. If set to false, caching will be forced off. + /// If set to null (default value), AutoML will decide whether to enable caching for each model. + /// + public bool? EnableCaching = null; + internal int MaxModels = int.MaxValue; internal IDebugLogger DebugLogger; } diff --git a/src/Microsoft.ML.Auto/Experiment/Experiment.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs index b4b830b13a..5caf046747 100644 --- a/src/Microsoft.ML.Auto/Experiment/Experiment.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -84,7 +84,7 @@ public List> Execute() var getPiplelineStopwatch = Stopwatch.StartNew(); // get next pipeline - pipeline = PipelineSuggester.GetNextInferredPipeline(_context, _history, columns, _task, _optimizingMetricInfo.IsMaximizing, _trainerWhitelist); + pipeline = PipelineSuggester.GetNextInferredPipeline(_context, _history, columns, _task, _optimizingMetricInfo.IsMaximizing, _trainerWhitelist, _experimentSettings.EnableCaching); getPiplelineStopwatch.Stop(); diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs index 14a622b8e9..faf87c1649 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -16,20 +15,24 @@ namespace Microsoft.ML.Auto /// internal class SuggestedPipeline { - private readonly MLContext _context; public readonly IList Transforms; public readonly SuggestedTrainer Trainer; + private readonly MLContext _context; + private readonly bool? _enableCaching; + public SuggestedPipeline(IEnumerable transforms, SuggestedTrainer trainer, MLContext context, + bool? enableCaching, bool autoNormalize = true) { Transforms = transforms.Select(t => t.Clone()).ToList(); Trainer = trainer.Clone(); _context = context; + _enableCaching = enableCaching; - if(autoNormalize) + if (autoNormalize) { AddNormalizationTransforms(); } @@ -88,7 +91,7 @@ public static SuggestedPipeline FromPipeline(MLContext context, Pipeline pipelin } } - return new SuggestedPipeline(transforms, trainer, context, false); + return new SuggestedPipeline(transforms, trainer, context, null); } public IEstimator ToEstimator() @@ -107,6 +110,11 @@ public IEstimator ToEstimator() // Get learner var learner = Trainer.BuildTrainer(); + if (_enableCaching == true || (_enableCaching == null && learner.Info.WantCaching)) + { + pipeline = pipeline.AppendCacheCheckpoint(_context); + } + // Append learner to pipeline pipeline = pipeline.Append(learner); @@ -128,4 +136,4 @@ private void AddNormalizationTransforms() Transforms.Add(transform); } } -} \ No newline at end of file +} diff --git a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs index e9a58f8e74..7a28528886 100644 --- a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs +++ b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs @@ -30,7 +30,8 @@ public static SuggestedPipeline GetNextInferredPipeline(MLContext context, (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns, TaskKind task, bool isMaximizingMetric, - IEnumerable trainerWhitelist = null) + IEnumerable trainerWhitelist = null, + bool? _enableCaching = null) { var availableTrainers = RecipeInference.AllowedTrainers(context, task, ColumnInformationUtil.BuildColumnInfo(columns), trainerWhitelist); @@ -40,7 +41,7 @@ public static SuggestedPipeline GetNextInferredPipeline(MLContext context, // if we haven't run all pipelines once if (history.Count() < availableTrainers.Count()) { - return GetNextFirstStagePipeline(context, history, availableTrainers, transforms); + return GetNextFirstStagePipeline(context, history, availableTrainers, transforms, _enableCaching); } // get top trainers from stage 1 runs @@ -71,7 +72,7 @@ public static SuggestedPipeline GetNextInferredPipeline(MLContext context, break; } - var suggestedPipeline = new SuggestedPipeline(transforms, newTrainer, context); + var suggestedPipeline = new SuggestedPipeline(transforms, newTrainer, context, _enableCaching); // make sure we have not seen pipeline before if (!visitedPipelines.Contains(suggestedPipeline)) @@ -117,10 +118,11 @@ private static IEnumerable OrderTrainersByNumTrials(IEnumerabl private static SuggestedPipeline GetNextFirstStagePipeline(MLContext context, IEnumerable history, IEnumerable availableTrainers, - IEnumerable transforms) + IEnumerable transforms, + bool? _enableCaching) { var trainer = availableTrainers.ElementAt(history.Count()); - return new SuggestedPipeline(transforms, trainer, context); + return new SuggestedPipeline(transforms, trainer, context, _enableCaching); } private static IValueGenerator[] ConvertToValueGenerators(IEnumerable hps) diff --git a/src/Test/InferredPipelineTests.cs b/src/Test/InferredPipelineTests.cs index 36ad90159a..42bf3d9a64 100644 --- a/src/Test/InferredPipelineTests.cs +++ b/src/Test/InferredPipelineTests.cs @@ -22,16 +22,16 @@ public void InferredPipelinesHashTest() var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); var transforms1 = new List(); var transforms2 = new List(); - var inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); - var inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); + var inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context, null); + var inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context, null); Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // test same learners with hyperparams set vs empty hyperparams have different hash codes var hyperparams1 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams1); trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); - inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); - inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); + inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context, null); + inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context, null); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same learners with different hyperparams @@ -39,8 +39,8 @@ public void InferredPipelinesHashTest() var hyperparams2 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 6) }); trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams1); trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams2); - inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); - inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); + inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context, null); + inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context, null); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same learners with same transforms @@ -48,8 +48,8 @@ public void InferredPipelinesHashTest() trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); - inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); + inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context, null); + inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context, null); Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same transforms with different learners @@ -57,8 +57,8 @@ public void InferredPipelinesHashTest() trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); - inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); + inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context, null); + inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context, null); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); } } diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index e29d50b91b..0a29b8bcf2 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -104,8 +104,8 @@ public void GeneratedHelperCodeTest() var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), new ColumnInformation(), hyperparams2); var transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; var transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - var inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context); - var inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context); + var inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context, null); + var inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context, null); this.pipeline = inferredPipeline1.ToPipeline(); var textLoaderArgs = new TextLoader.Options() From cc7bb86a7043a5b23e6932715e8ee05ae19e7f11 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 6 Mar 2019 18:02:56 -0800 Subject: [PATCH 150/211] AdvancedExperimentSettings sample nits (#265) --- src/Samples/AdvancedExperimentSettings.cs | 6 +++++- src/Samples/ObserveProgress.cs | 8 +++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/Samples/AdvancedExperimentSettings.cs b/src/Samples/AdvancedExperimentSettings.cs index 8a5441e1bf..8e9f602f7b 100644 --- a/src/Samples/AdvancedExperimentSettings.cs +++ b/src/Samples/AdvancedExperimentSettings.cs @@ -38,11 +38,15 @@ public static void Run() experimentSettings.ProgressHandler = new ProgressHandler(); // STEP 3: Using a different optimizing metric instead of RSquared and use only LightGbm - Console.WriteLine($"Starting an experiment with MeanSquaredError optimizing metric and using LightGbm trainer only"); experimentSettings.OptimizingMetric = RegressionMetric.MeanSquaredError; experimentSettings.Trainers.Clear(); experimentSettings.Trainers.Add(RegressionTrainer.LightGbm); + // STEP 4: Start AutoML experiment + Console.WriteLine($"Starting an experiment with MeanSquaredError optimizing metric and using LightGbm trainer only\r\n"); + RegressionExperiment autoExperiment = mlContext.Auto().CreateRegressionExperiment(experimentSettings); + autoExperiment.Execute(trainDataView, LabelColumn); + Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } diff --git a/src/Samples/ObserveProgress.cs b/src/Samples/ObserveProgress.cs index 01da2fc3ce..c508c764be 100644 --- a/src/Samples/ObserveProgress.cs +++ b/src/Samples/ObserveProgress.cs @@ -47,13 +47,19 @@ public static void Run() class ProgressHandler : IProgress> { int iterationIndex; + private bool _initialized = false; + public ProgressHandler() { - ConsolePrinter.PrintRegressionMetricsHeader(); } public void Report(RunResult iterationResult) { + if (!_initialized) + { + ConsolePrinter.PrintRegressionMetricsHeader(); + _initialized = true; + } iterationIndex++; ConsolePrinter.PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics); } From 3ad0798a16656ba19980f163087f6582b283aa81 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 6 Mar 2019 20:40:45 -0800 Subject: [PATCH 151/211] Add sampling key column (#268) --- .../API/BinaryClassificationExperiment.cs | 9 +++++++-- src/Microsoft.ML.Auto/API/ColumnInference.cs | 1 + .../API/MulticlassClassificationExperiment.cs | 9 +++++++-- src/Microsoft.ML.Auto/API/RegressionExperiment.cs | 9 +++++++-- src/Microsoft.ML.Auto/AutoMlUtils.cs | 7 ++----- .../ColumnInference/ColumnInformationUtil.cs | 8 ++++++++ src/Microsoft.ML.Auto/ColumnInference/ColumnPurpose.cs | 3 ++- src/Microsoft.ML.Auto/Experiment/Experiment.cs | 2 +- src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs | 4 +++- src/Samples/Helpers/ConsoleHelper.cs | 1 + src/Test/ColumnInformationUtilTests.cs | 9 ++++++--- 11 files changed, 45 insertions(+), 17 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index 63f934342e..533962fdcc 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -54,9 +54,14 @@ internal BinaryClassificationExperiment(MLContext context, BinaryExperimentSetti _settings = settings; } - public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizers = null) + public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, + string samplingKeyColumn = null, IEstimator preFeaturizers = null) { - var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; + var columnInformation = new ColumnInformation() + { + LabelColumn = labelColumn, + SamplingKeyColumn = samplingKeyColumn + }; return Execute(_context, trainData, columnInformation, null, preFeaturizers); } diff --git a/src/Microsoft.ML.Auto/API/ColumnInference.cs b/src/Microsoft.ML.Auto/API/ColumnInference.cs index 17d41f1dea..5338656937 100644 --- a/src/Microsoft.ML.Auto/API/ColumnInference.cs +++ b/src/Microsoft.ML.Auto/API/ColumnInference.cs @@ -18,6 +18,7 @@ public sealed class ColumnInformation { public string LabelColumn { get; set; } = DefaultColumnNames.Label; public string WeightColumn { get; set; } + public string SamplingKeyColumn { get; set; } public ICollection CategoricalColumns { get; } = new Collection(); public ICollection NumericColumns { get; } = new Collection(); public ICollection TextColumns { get; } = new Collection(); diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index 44d4caa343..02eec9b095 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -52,9 +52,14 @@ internal MulticlassClassificationExperiment(MLContext context, MulticlassExperim _settings = settings; } - public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizers = null) + public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, + string samplingKeyColumn = null, IEstimator preFeaturizers = null) { - var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; + var columnInformation = new ColumnInformation() + { + LabelColumn = labelColumn, + SamplingKeyColumn = samplingKeyColumn + }; return Execute(_context, trainData, columnInformation, null, preFeaturizers); } diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index 99c7a1836b..2c5e947802 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -49,9 +49,14 @@ internal RegressionExperiment(MLContext context, RegressionExperimentSettings se _settings = settings; } - public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizers = null) + public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, + string samplingKeyColumn = null, IEstimator preFeaturizers = null) { - var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; + var columnInformation = new ColumnInformation() + { + LabelColumn = labelColumn, + SamplingKeyColumn = samplingKeyColumn + }; return Execute(_context, trainData, columnInformation, null, preFeaturizers); } diff --git a/src/Microsoft.ML.Auto/AutoMlUtils.cs b/src/Microsoft.ML.Auto/AutoMlUtils.cs index 8715a58836..b4dcb61e8d 100644 --- a/src/Microsoft.ML.Auto/AutoMlUtils.cs +++ b/src/Microsoft.ML.Auto/AutoMlUtils.cs @@ -3,10 +3,7 @@ // See the LICENSE file in the project root for more information. using System; -using System.Collections.Generic; -using System.Linq; using Microsoft.Data.DataView; -using Microsoft.ML.Transforms; namespace Microsoft.ML.Auto { @@ -29,10 +26,10 @@ public static IDataView DropLastColumn(this IDataView data, MLContext context) } public static (IDataView testData, IDataView validationData) TestValidateSplit(this TrainCatalogBase catalog, - MLContext context, IDataView trainData) + MLContext context, IDataView trainData, ColumnInformation columnInfo) { IDataView validationData; - var splitData = catalog.TrainTestSplit(trainData); + var splitData = catalog.TrainTestSplit(trainData, samplingKeyColumn: columnInfo.SamplingKeyColumn); trainData = splitData.TrainSet; validationData = splitData.TestSet; trainData = trainData.DropLastColumn(context); diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs index 5185977537..67ee0959e2 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs @@ -23,6 +23,11 @@ internal static class ColumnInformationUtil return ColumnPurpose.Weight; } + if (columnName == columnInfo.SamplingKeyColumn) + { + return ColumnPurpose.SamplingKey; + } + if (columnInfo.CategoricalColumns.Contains(columnName)) { return ColumnPurpose.CategoricalFeature; @@ -60,6 +65,9 @@ internal static ColumnInformation BuildColumnInfo(IEnumerable<(string name, Colu case ColumnPurpose.Weight: columnInfo.WeightColumn = column.name; break; + case ColumnPurpose.SamplingKey: + columnInfo.SamplingKeyColumn = column.name; + break; case ColumnPurpose.CategoricalFeature: columnInfo.CategoricalColumns.Add(column.name); break; diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnPurpose.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnPurpose.cs index 67bee3e70b..45bf787396 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnPurpose.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnPurpose.cs @@ -12,6 +12,7 @@ internal enum ColumnPurpose CategoricalFeature = 3, TextFeature = 4, Weight = 5, - ImagePath = 6 + ImagePath = 6, + SamplingKey = 7 } } diff --git a/src/Microsoft.ML.Auto/Experiment/Experiment.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs index 5caf046747..efeeae3a04 100644 --- a/src/Microsoft.ML.Auto/Experiment/Experiment.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -42,7 +42,7 @@ public Experiment(MLContext context, { if (validationData == null) { - (trainData, validationData) = context.Regression.TestValidateSplit(context, trainData); + (trainData, validationData) = context.Regression.TestValidateSplit(context, trainData, columnInfo); } _trainData = trainData; _validationData = validationData; diff --git a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs index a447188532..fdaaea5d94 100644 --- a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs @@ -20,6 +20,7 @@ internal static class UserInputValidationUtil private const string CategoricalColumnPurposeName = "categorical"; private const string TextColumnPurposeName = "text"; private const string IgnoredColumnPurposeName = "ignored"; + private const string SamplingKeyColumnPurposeName = "sampling key"; public static void ValidateExperimentExecuteArgs(IDataView trainData, ColumnInformation columnInformation, IDataView validationData) @@ -65,6 +66,7 @@ private static void ValidateColumnInformation(IDataView trainData, ColumnInforma ValidateColumnInformation(columnInformation); ValidateTrainDataColumn(trainData, columnInformation.LabelColumn, LabelColumnPurposeName); ValidateTrainDataColumn(trainData, columnInformation.WeightColumn, WeightColumnPurposeName); + ValidateTrainDataColumn(trainData, columnInformation.SamplingKeyColumn, SamplingKeyColumnPurposeName); ValidateTrainDataColumns(trainData, columnInformation.CategoricalColumns, CategoricalColumnPurposeName, new DataViewType[] { NumberDataViewType.Single, TextDataViewType.Instance }); ValidateTrainDataColumns(trainData, columnInformation.NumericColumns, NumericColumnPurposeName, @@ -190,7 +192,7 @@ private static void ValidateTrainDataColumn(IDataView trainData, string columnNa var nullableColumn = trainData.Schema.GetColumnOrNull(columnName); if (nullableColumn == null) { - throw new ArgumentException($"Provided {columnPurpose} column {columnName} '{columnName}' not found in training data."); + throw new ArgumentException($"Provided {columnPurpose} column '{columnName}' not found in training data."); } if(allowedTypes == null) diff --git a/src/Samples/Helpers/ConsoleHelper.cs b/src/Samples/Helpers/ConsoleHelper.cs index bc4ca0add6..8964f60562 100644 --- a/src/Samples/Helpers/ConsoleHelper.cs +++ b/src/Samples/Helpers/ConsoleHelper.cs @@ -105,6 +105,7 @@ public void Print() var info = _results.ColumnInformation; AppendTableRow(tableRows, info.LabelColumn, "Label"); AppendTableRow(tableRows, info.WeightColumn, "Weight"); + AppendTableRow(tableRows, info.SamplingKeyColumn, "Sampling Key"); AppendTableRows(tableRows, info.CategoricalColumns, "Categorical"); AppendTableRows(tableRows, info.NumericColumns, "Numeric"); AppendTableRows(tableRows, info.TextColumns, "Text"); diff --git a/src/Test/ColumnInformationUtilTests.cs b/src/Test/ColumnInformationUtilTests.cs index e460195915..721cd3d194 100644 --- a/src/Test/ColumnInformationUtilTests.cs +++ b/src/Test/ColumnInformationUtilTests.cs @@ -1,6 +1,7 @@ -using System; -using System.Collections.Generic; -using System.Text; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Microsoft.ML.Auto.Test @@ -15,6 +16,7 @@ public void GetColumnPurpose() { LabelColumn = "Label", WeightColumn = "Weight", + SamplingKeyColumn = "SamplingKey", }; columnInfo.CategoricalColumns.Add("Cat"); columnInfo.NumericColumns.Add("Num"); @@ -23,6 +25,7 @@ public void GetColumnPurpose() Assert.AreEqual(ColumnPurpose.Label, ColumnInformationUtil.GetColumnPurpose(columnInfo, "Label")); Assert.AreEqual(ColumnPurpose.Weight, ColumnInformationUtil.GetColumnPurpose(columnInfo, "Weight")); + Assert.AreEqual(ColumnPurpose.SamplingKey, ColumnInformationUtil.GetColumnPurpose(columnInfo, "SamplingKey")); Assert.AreEqual(ColumnPurpose.CategoricalFeature, ColumnInformationUtil.GetColumnPurpose(columnInfo, "Cat")); Assert.AreEqual(ColumnPurpose.NumericFeature, ColumnInformationUtil.GetColumnPurpose(columnInfo, "Num")); Assert.AreEqual(ColumnPurpose.TextFeature, ColumnInformationUtil.GetColumnPurpose(columnInfo, "Text")); From fe503d388dbb3bf4e8d5f6243db3efeb90aea48e Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Thu, 7 Mar 2019 09:07:05 -0800 Subject: [PATCH 152/211] Initial work for multi-class classification support for CLI (#226) * Initial work for multi-class classification support for CLI * String updates * more strings * Whitelist non-OVA multi-class learners --- .../API/AutoInferenceCatalog.cs | 2 +- .../API/MulticlassClassificationExperiment.cs | 4 +- .../MetricsAgents/MultiMetricsAgent.cs | 2 +- .../AutoTrainMulticlassClassification.cs | 2 +- src/Test/AutoFitTests.cs | 2 +- ...Tests.GeneratedHelperCodeTest.approved.txt | 46 ++ .../CSharp/TrainerGeneratorFactory.cs | 6 +- src/mlnet/Commands/CommandDefinitions.cs | 2 +- src/mlnet/Commands/New/NewCommandHandler.cs | 22 +- src/mlnet/Strings.resx | 3 + src/mlnet/Templates/Console/ConsoleHelper.cs | 604 ++++++++---------- src/mlnet/Templates/Console/ConsoleHelper.tt | 48 +- src/mlnet/Templates/Console/MLCodeGen.cs | 583 +++++++---------- src/mlnet/Templates/Console/MLCodeGen.tt | 2 +- src/mlnet/Utilities/ConsolePrinter.cs | 31 +- src/mlnet/Utilities/ProgressHandlers.cs | 15 + src/mlnet/Utilities/Utils.cs | 2 + src/mlnet/strings.Designer.cs | 51 +- 18 files changed, 689 insertions(+), 738 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs b/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs index bd0b7aabd9..adf04111f2 100644 --- a/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs +++ b/src/Microsoft.ML.Auto/API/AutoInferenceCatalog.cs @@ -1,4 +1,4 @@ -// Foundation under one or more agreements. +// Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index 02eec9b095..f6459a10ff 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -1,4 +1,4 @@ -// Foundation under one or more agreements. +// Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. @@ -98,7 +98,7 @@ internal IEnumerable> Execute(MLContext c columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), _settings.ProgressHandler, _settings, new MultiMetricsAgent(_settings.OptimizingMetric), TrainerExtensionUtil.GetTrainerNames(_settings.Trainers)); - + return experiment.Execute(); } } diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs index a354b54f85..320bb3aceb 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index fc1756a734..68e367d86d 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index 82f29f48e0..6bef101059 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt index 24781506a2..1ebb934f2c 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt @@ -93,6 +93,42 @@ namespace MyNamespace } + public static void PrintMulticlassClassificationFoldsAverageMetrics( + string algorithmName, + TrainCatalogBase.CrossValidationResult[] crossValResults) + { + var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); + + var microAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMicro); + var microAccuracyAverage = microAccuracyValues.Average(); + var microAccuraciesStdDeviation = CalculateStandardDeviation(microAccuracyValues); + var microAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues); + + var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro); + var macroAccuracyAverage = macroAccuracyValues.Average(); + var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues); + var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macroAccuracyValues); + + var logLossValues = metricsInMultipleFolds.Select(m => m.LogLoss); + var logLossAverage = logLossValues.Average(); + var logLossStdDeviation = CalculateStandardDeviation(logLossValues); + var logLossConfidenceInterval95 = CalculateConfidenceInterval95(logLossValues); + + var logLossReductionValues = metricsInMultipleFolds.Select(m => m.LogLossReduction); + var logLossReductionAverage = logLossReductionValues.Average(); + var logLossReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues); + var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(logLossReductionValues); + + Console.WriteLine($"*************************************************************************************************************"); + Console.WriteLine($"* Metrics for {algorithmName} Multi-class Classification model "); + Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); + Console.WriteLine($"* Average MicroAccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average MacroAccuracy: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average LogLoss: {logLossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average LogLossReduction: {logLossReductionAverage:#.###} - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: ({logLossReductionConfidenceInterval95:#.###})"); + Console.WriteLine($"*************************************************************************************************************"); + + } public static double CalculateStandardDeviation(IEnumerable values) { @@ -108,6 +144,16 @@ namespace MyNamespace return confidenceInterval95; } + public static void PrintClusteringMetrics(string name, ClusteringMetrics metrics) + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Metrics for {name} clustering model "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"* AvgMinScore: {metrics.AvgMinScore}"); + Console.WriteLine($"* DBI is: {metrics.Dbi}"); + Console.WriteLine($"*************************************************"); + } + public static void ConsoleWriteHeader(params string[] lines) { var defaultColor = Console.ForegroundColor; diff --git a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs index 20e566aa67..6d9d500735 100644 --- a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs @@ -23,7 +23,7 @@ internal static ITrainerGenerator GetInstance(Pipeline pipeline) throw new ArgumentNullException(nameof(pipeline)); var node = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Trainer).First(); if (node == null) - return null; + throw new ArgumentException($"The trainer was not found."); if (Enum.TryParse(node.Name, out TrainerName trainer)) { switch (trainer) @@ -67,10 +67,10 @@ internal static ITrainerGenerator GetInstance(Pipeline pipeline) case TrainerName.SymSgdBinary: return new SymbolicStochasticGradientDescent(node); default: - return null; + throw new ArgumentException($"The trainer '{trainer}' is not handled currently."); } } - return null; + throw new ArgumentException($"The trainer '{node.Name}' is not handled currently."); } } } diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 96e1fb7c1f..1a6fe7d1ee 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -103,7 +103,7 @@ Option HasHeader() => private static string[] GetMlTaskSuggestions() { - return new[] { "binary-classification", "regression" }; + return new[] { "binary-classification", "multiclass-classification", "regression" }; } private static string[] GetVerbositySuggestions() diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index aba9b8d78a..0113c49d9e 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -160,9 +160,27 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p if (taskKind == TaskKind.MulticlassClassification) { - throw new NotImplementedException(); + var progressReporter = new ProgressHandlers.MulticlassClassificationHandler(); + + var experimentSettings = new MulticlassExperimentSettings() + { + MaxExperimentTimeInSeconds = settings.MaxExplorationTime, + ProgressHandler = progressReporter + }; + + experimentSettings.Trainers.Clear(); + experimentSettings.Trainers.Add(MulticlassClassificationTrainer.LightGbm); + experimentSettings.Trainers.Add(MulticlassClassificationTrainer.LogisticRegression); + experimentSettings.Trainers.Add(MulticlassClassificationTrainer.StochasticDualCoordinateAscent); + + var result = context.Auto() + .CreateMulticlassClassificationExperiment(experimentSettings) + .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); + logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); + var bestIteration = result.Best(); + pipeline = bestIteration.Pipeline; + model = bestIteration.Model; } - //Multi-class exploration here return (pipeline, model); } diff --git a/src/mlnet/Strings.resx b/src/mlnet/Strings.resx index f51b59bef0..ee0310cb70 100644 --- a/src/mlnet/Strings.resx +++ b/src/mlnet/Strings.resx @@ -150,6 +150,9 @@ Metrics for regression models + + Metrics for multi-class models + Retrieving best pipeline ... diff --git a/src/mlnet/Templates/Console/ConsoleHelper.cs b/src/mlnet/Templates/Console/ConsoleHelper.cs index 251fc5989a..7cac63151b 100644 --- a/src/mlnet/Templates/Console/ConsoleHelper.cs +++ b/src/mlnet/Templates/Console/ConsoleHelper.cs @@ -1,30 +1,28 @@ -// ------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version: 15.0.0.0 -// +// Runtime Version:4.0.30319.42000 +// // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// ------------------------------------------------------------------------------ -namespace Microsoft.ML.CLI.Templates.Console -{ +//------------------------------------------------------------------------------ + +namespace Microsoft.ML.CLI.Templates.Console { using System.Linq; using System.Text; using System.Collections.Generic; using System; - /// - /// Class to produce the template output - /// - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public partial class ConsoleHelper : ConsoleHelperBase - { - /// - /// Create the template output - /// - public virtual string TransformText() - { + + public partial class ConsoleHelper : ConsoleHelperBase { + + +public string Namespace {get;set;} + + + public virtual string TransformText() { + this.GenerationEnvironment = null; this.Write(@"//***************************************************************************************** //* * //* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * @@ -38,367 +36,291 @@ public virtual string TransformText() using Microsoft.ML.Data; namespace "); - this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); - this.Write("\r\n{\r\n public static class ConsoleHelper\r\n {\r\n public static void Pri" + - "ntPrediction(string prediction)\r\n {\r\n Console.WriteLine($\"****" + - "*********************************************\");\r\n Console.WriteLine(" + - "$\"Predicted : {prediction}\");\r\n Console.WriteLine($\"*****************" + - "********************************\");\r\n }\r\n\r\n public static void Pri" + - "ntRegressionPredictionVersusObserved(string predictionCount, string observedCoun" + - "t)\r\n {\r\n Console.WriteLine($\"---------------------------------" + - "----------------\");\r\n Console.WriteLine($\"Predicted : {predictionCoun" + - "t}\");\r\n Console.WriteLine($\"Actual: {observedCount}\");\r\n " + - " Console.WriteLine($\"-------------------------------------------------\");\r\n " + - " }\r\n\r\n public static void PrintRegressionMetrics(string name, Regress" + - "ionMetrics metrics)\r\n {\r\n Console.WriteLine($\"****************" + - "*********************************\");\r\n Console.WriteLine($\"* Me" + - "trics for {name} regression model \");\r\n Console.WriteLine($\"*---" + - "---------------------------------------------\");\r\n Console.WriteLine(" + - "$\"* LossFn: {metrics.LossFn:0.##}\");\r\n Console.WriteLine" + - "($\"* R2 Score: {metrics.RSquared:0.##}\");\r\n Console.WriteL" + - "ine($\"* Absolute loss: {metrics.L1:#.##}\");\r\n Console.WriteLine" + - "($\"* Squared loss: {metrics.L2:#.##}\");\r\n Console.WriteLine($\"" + - "* RMS loss: {metrics.Rms:#.##}\");\r\n Console.WriteLine($\"**" + - "***********************************************\");\r\n }\r\n\r\n public " + - "static void PrintBinaryClassificationMetrics(string name, BinaryClassificationMe" + - "trics metrics)\r\n {\r\n Console.WriteLine($\"*********************" + - "***************************************\");\r\n Console.WriteLine($\"* " + - " Metrics for {name} binary classification model \");\r\n Console" + - ".WriteLine($\"*-----------------------------------------------------------\");\r\n " + - " Console.WriteLine($\"* Accuracy: {metrics.Accuracy:P2}\");\r\n " + - " Console.WriteLine($\"* Auc: {metrics.Auc:P2}\");\r\n Con" + - "sole.WriteLine($\"************************************************************\");" + - "\r\n }\r\n\r\n public static void PrintRegressionFoldsAverageMetrics(str" + - "ing algorithmName,\r\n " + - " TrainCatalogBase.CrossValidationResult[] crossValidationResu" + - "lts\r\n )\r\n {\r\n" + - " var L1 = crossValidationResults.Select(r => r.Metrics.L1);\r\n " + - " var L2 = crossValidationResults.Select(r => r.Metrics.L2);\r\n var " + - "RMS = crossValidationResults.Select(r => r.Metrics.L1);\r\n var lossFun" + - "ction = crossValidationResults.Select(r => r.Metrics.LossFn);\r\n var R" + - "2 = crossValidationResults.Select(r => r.Metrics.RSquared);\r\n\r\n Conso" + - "le.WriteLine($\"*****************************************************************" + - "********************************************\");\r\n Console.WriteLine($" + - "\"* Metrics for {algorithmName} Regression model \");\r\n Cons" + - "ole.WriteLine($\"*---------------------------------------------------------------" + - "---------------------------------------------\");\r\n Console.WriteLine(" + - "$\"* Average L1 Loss: {L1.Average():0.###} \");\r\n Console.Writ" + - "eLine($\"* Average L2 Loss: {L2.Average():0.###} \");\r\n Conso" + - "le.WriteLine($\"* Average RMS: {RMS.Average():0.###} \");\r\n " + - " Console.WriteLine($\"* Average Loss Function: {lossFunction.Average():" + - "0.###} \");\r\n Console.WriteLine($\"* Average R-squared: {R2.Aver" + - "age():0.###} \");\r\n Console.WriteLine($\"*****************************" + + this.Write(this.ToStringHelper.ToStringWithCulture( Namespace )); + this.Write("\n{\n public static class ConsoleHelper\n {\n public static void PrintPr" + + "ediction(string prediction)\n {\n Console.WriteLine($\"**********" + + "***************************************\");\n Console.WriteLine($\"Predi" + + "cted : {prediction}\");\n Console.WriteLine($\"*************************" + + "************************\");\n }\n\n public static void PrintRegressio" + + "nPredictionVersusObserved(string predictionCount, string observedCount)\n " + + "{\n Console.WriteLine($\"----------------------------------------------" + + "---\");\n Console.WriteLine($\"Predicted : {predictionCount}\");\n " + + " Console.WriteLine($\"Actual: {observedCount}\");\n Console.Write" + + "Line($\"-------------------------------------------------\");\n }\n\n p" + + "ublic static void PrintRegressionMetrics(string name, RegressionMetrics metrics)" + + "\n {\n Console.WriteLine($\"*************************************" + + "************\");\n Console.WriteLine($\"* Metrics for {name} regre" + + "ssion model \");\n Console.WriteLine($\"*--------------------------" + + "----------------------\");\n Console.WriteLine($\"* LossFn: " + + " {metrics.LossFn:0.##}\");\n Console.WriteLine($\"* R2 Score: " + + " {metrics.RSquared:0.##}\");\n Console.WriteLine($\"* Absolute los" + + "s: {metrics.L1:#.##}\");\n Console.WriteLine($\"* Squared loss: {" + + "metrics.L2:#.##}\");\n Console.WriteLine($\"* RMS loss: {metr" + + "ics.Rms:#.##}\");\n Console.WriteLine($\"*******************************" + + "******************\");\n }\n\n public static void PrintBinaryClassific" + + "ationMetrics(string name, BinaryClassificationMetrics metrics)\n {\n " + + " Console.WriteLine($\"*******************************************************" + + "*****\");\n Console.WriteLine($\"* Metrics for {name} binary class" + + "ification model \");\n Console.WriteLine($\"*----------------------" + + "-------------------------------------\");\n Console.WriteLine($\"* " + + " Accuracy: {metrics.Accuracy:P2}\");\n Console.WriteLine($\"* Auc:" + + " {metrics.Auc:P2}\");\n Console.WriteLine($\"**********************" + + "**************************************\");\n }\n\n public static void " + + "PrintRegressionFoldsAverageMetrics(string algorithmName,\n " + + " TrainCatalogBase.CrossValidationResult[] crossValidationResults\n " + + " )\n {\n var L1 = crossValidationResults.Se" + + "lect(r => r.Metrics.L1);\n var L2 = crossValidationResults.Select(r =>" + + " r.Metrics.L2);\n var RMS = crossValidationResults.Select(r => r.Metri" + + "cs.L1);\n var lossFunction = crossValidationResults.Select(r => r.Metr" + + "ics.LossFn);\n var R2 = crossValidationResults.Select(r => r.Metrics.R" + + "Squared);\n\n Console.WriteLine($\"*************************************" + + "************************************************************************\");\n " + + " Console.WriteLine($\"* Metrics for {algorithmName} Regression model" + + " \");\n Console.WriteLine($\"*-------------------------------------" + + "-----------------------------------------------------------------------\");\n " + + " Console.WriteLine($\"* Average L1 Loss: {L1.Average():0.###} \");\n" + + " Console.WriteLine($\"* Average L2 Loss: {L2.Average():0.###}" + + " \");\n Console.WriteLine($\"* Average RMS: {RMS.Average" + + "():0.###} \");\n Console.WriteLine($\"* Average Loss Function: {l" + + "ossFunction.Average():0.###} \");\n Console.WriteLine($\"* Averag" + + "e R-squared: {R2.Average():0.###} \");\n Console.WriteLine($\"*********" + "********************************************************************************" + - "\");\r\n }\r\n\r\n public static void PrintBinaryClassificationFoldsAvera" + - "geMetrics(\r\n string algorithmName,\r\n " + - " TrainCatalogBase.CrossValidationResult[] crossValResults)\r\n {\r\n var metricsI" + - "nMultipleFolds = crossValResults.Select(r => r.Metrics);\r\n\r\n var Accu" + - "racyValues = metricsInMultipleFolds.Select(m => m.Accuracy);\r\n var Ac" + - "curacyAverage = AccuracyValues.Average();\r\n var AccuraciesStdDeviatio" + - "n = CalculateStandardDeviation(AccuracyValues);\r\n var AccuraciesConfi" + - "denceInterval95 = CalculateConfidenceInterval95(AccuracyValues);\r\n\r\n\r\n " + - " Console.WriteLine($\"**********************************************************" + - "***************************************************\");\r\n Console.Writ" + - "eLine($\"* Metrics for {algorithmName} Binary Classification model \");" + - "\r\n Console.WriteLine($\"*---------------------------------------------" + - "---------------------------------------------------------------\");\r\n " + - "Console.WriteLine($\"* Average Accuracy: {AccuracyAverage:0.###} - Stan" + - "dard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({A" + - "ccuraciesConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"******" + + "********************\");\n }\n\n public static void PrintBinaryClassif" + + "icationFoldsAverageMetrics(\n string algo" + + "rithmName,\n TrainCatalogBase.CrossValida" + + "tionResult[] crossValResults)\n {\n " + + " var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics);\n\n " + + " var AccuracyValues = metricsInMultipleFolds.Select(m => m.Accuracy);\n " + + " var AccuracyAverage = AccuracyValues.Average();\n var AccuraciesSt" + + "dDeviation = CalculateStandardDeviation(AccuracyValues);\n var Accurac" + + "iesConfidenceInterval95 = CalculateConfidenceInterval95(AccuracyValues);\n\n\n " + + " Console.WriteLine($\"*****************************************************" + + "********************************************************\");\n Console." + + "WriteLine($\"* Metrics for {algorithmName} Binary Classification model " + + " \");\n Console.WriteLine($\"*------------------------------------------" + + "------------------------------------------------------------------\");\n " + + " Console.WriteLine($\"* Average Accuracy: {AccuracyAverage:0.###} - St" + + "andard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: (" + + "{AccuraciesConfidenceInterval95:#.###})\");\n Console.WriteLine($\"*****" + "********************************************************************************" + - "***********************\");\r\n\r\n }\r\n\r\n\r\n public static double Calcul" + - "ateStandardDeviation(IEnumerable values)\r\n {\r\n double " + - "average = values.Average();\r\n double sumOfSquaresOfDifferences = valu" + - "es.Select(val => (val - average) * (val - average)).Sum();\r\n double s" + - "tandardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Count() - 1));\r" + - "\n return standardDeviation;\r\n }\r\n\r\n public static doubl" + - "e CalculateConfidenceInterval95(IEnumerable values)\r\n {\r\n " + - " double confidenceInterval95 = 1.96 * CalculateStandardDeviation(values) / Ma" + - "th.Sqrt((values.Count() - 1));\r\n return confidenceInterval95;\r\n " + - " }\r\n\r\n public static void ConsoleWriteHeader(params string[] lines)\r\n " + - " {\r\n var defaultColor = Console.ForegroundColor;\r\n Con" + - "sole.ForegroundColor = ConsoleColor.Yellow;\r\n Console.WriteLine(\" \");" + - "\r\n foreach (var line in lines)\r\n {\r\n Consol" + - "e.WriteLine(line);\r\n }\r\n var maxLength = lines.Select(x =>" + - " x.Length).Max();\r\n Console.WriteLine(new string(\'#\', maxLength));\r\n " + - " Console.ForegroundColor = defaultColor;\r\n }\r\n }\r\n}\r\n"); + "************************\");\n\n }\n\n public static void PrintMulticla" + + "ssClassificationFoldsAverageMetrics(\n st" + + "ring algorithmName,\n TrainCatalogBase.Cr" + + "ossValidationResult[] crossValResults)\n {\n " + + " var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics);\n\n" + + " var microAccuracyValues = metricsInMultipleFolds.Select(m => m.Accur" + + "acyMicro);\n var microAccuracyAverage = microAccuracyValues.Average();" + + "\n var microAccuraciesStdDeviation = CalculateStandardDeviation(microA" + + "ccuracyValues);\n var microAccuraciesConfidenceInterval95 = CalculateC" + + "onfidenceInterval95(microAccuracyValues);\n\n var macroAccuracyValues =" + + " metricsInMultipleFolds.Select(m => m.AccuracyMacro);\n var macroAccur" + + "acyAverage = macroAccuracyValues.Average();\n var macroAccuraciesStdDe" + + "viation = CalculateStandardDeviation(macroAccuracyValues);\n var macro" + + "AccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macroAccuracyValu" + + "es);\n\n var logLossValues = metricsInMultipleFolds.Select(m => m.LogLo" + + "ss);\n var logLossAverage = logLossValues.Average();\n var l" + + "ogLossStdDeviation = CalculateStandardDeviation(logLossValues);\n var " + + "logLossConfidenceInterval95 = CalculateConfidenceInterval95(logLossValues);\n\n " + + " var logLossReductionValues = metricsInMultipleFolds.Select(m => m.LogLo" + + "ssReduction);\n var logLossReductionAverage = logLossReductionValues.A" + + "verage();\n var logLossReductionStdDeviation = CalculateStandardDeviat" + + "ion(logLossReductionValues);\n var logLossReductionConfidenceInterval9" + + "5 = CalculateConfidenceInterval95(logLossReductionValues);\n\n Console." + + "WriteLine($\"********************************************************************" + + "*****************************************\");\n Console.WriteLine($\"* " + + " Metrics for {algorithmName} Multi-class Classification model \");\n " + + " Console.WriteLine($\"*----------------------------------------------------" + + "--------------------------------------------------------\");\n Console." + + "WriteLine($\"* Average MicroAccuracy: {microAccuracyAverage:0.###} - St" + + "andard deviation: ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 9" + + "5%: ({microAccuraciesConfidenceInterval95:#.###})\");\n Console.WriteLi" + + "ne($\"* Average MacroAccuracy: {macroAccuracyAverage:0.###} - Standard " + + "deviation: ({macroAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({m" + + "acroAccuraciesConfidenceInterval95:#.###})\");\n Console.WriteLine($\"* " + + " Average LogLoss: {logLossAverage:#.###} - Standard deviation: ({" + + "logLossStdDeviation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInter" + + "val95:#.###})\");\n Console.WriteLine($\"* Average LogLossReductio" + + "n: {logLossReductionAverage:#.###} - Standard deviation: ({logLossReductionStdD" + + "eviation:#.###}) - Confidence Interval 95%: ({logLossReductionConfidenceInterva" + + "l95:#.###})\");\n Console.WriteLine($\"*********************************" + + "****************************************************************************\");\n" + + "\n }\n\n public static double CalculateStandardDeviation(IEnumerable<" + + "double> values)\n {\n double average = values.Average();\n " + + " double sumOfSquaresOfDifferences = values.Select(val => (val - average) * (" + + "val - average)).Sum();\n double standardDeviation = Math.Sqrt(sumOfSqu" + + "aresOfDifferences / (values.Count() - 1));\n return standardDeviation;" + + "\n }\n\n public static double CalculateConfidenceInterval95(IEnumerab" + + "le values)\n {\n double confidenceInterval95 = 1.96 * Ca" + + "lculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1));\n " + + "return confidenceInterval95;\n }\n\n public static void PrintClusteri" + + "ngMetrics(string name, ClusteringMetrics metrics)\n {\n Console." + + "WriteLine($\"*************************************************\");\n Con" + + "sole.WriteLine($\"* Metrics for {name} clustering model \");\n " + + " Console.WriteLine($\"*------------------------------------------------\");\n " + + " Console.WriteLine($\"* AvgMinScore: {metrics.AvgMinScore}\");\n " + + " Console.WriteLine($\"* DBI is: {metrics.Dbi}\");\n Console.Wr" + + "iteLine($\"*************************************************\");\n }\n\n " + + " public static void ConsoleWriteHeader(params string[] lines)\n {\n " + + " var defaultColor = Console.ForegroundColor;\n Console.ForegroundC" + + "olor = ConsoleColor.Yellow;\n Console.WriteLine(\" \");\n fore" + + "ach (var line in lines)\n {\n Console.WriteLine(line);\n " + + " }\n var maxLength = lines.Select(x => x.Length).Max();\n " + + " Console.WriteLine(new string(\'#\', maxLength));\n Console.Foreg" + + "roundColor = defaultColor;\n }\n }\n}\n"); return this.GenerationEnvironment.ToString(); } - -public string Namespace {get;set;} - + + public virtual void Initialize() { + } } - #region Base class - /// - /// Base class for this transformation - /// - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public class ConsoleHelperBase - { - #region Fields - private global::System.Text.StringBuilder generationEnvironmentField; - private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; - private global::System.Collections.Generic.List indentLengthsField; - private string currentIndentField = ""; - private bool endsWithNewline; - private global::System.Collections.Generic.IDictionary sessionField; - #endregion - #region Properties - /// - /// The string builder that generation-time code is using to assemble generated output - /// - protected System.Text.StringBuilder GenerationEnvironment - { - get - { - if ((this.generationEnvironmentField == null)) - { - this.generationEnvironmentField = new global::System.Text.StringBuilder(); - } - return this.generationEnvironmentField; + + public class ConsoleHelperBase { + + private global::System.Text.StringBuilder builder; + + private global::System.Collections.Generic.IDictionary session; + + private global::System.CodeDom.Compiler.CompilerErrorCollection errors; + + private string currentIndent = string.Empty; + + private global::System.Collections.Generic.Stack indents; + + private ToStringInstanceHelper _toStringHelper = new ToStringInstanceHelper(); + + public virtual global::System.Collections.Generic.IDictionary Session { + get { + return this.session; } - set - { - this.generationEnvironmentField = value; + set { + this.session = value; } } - /// - /// The error collection for the generation process - /// - public System.CodeDom.Compiler.CompilerErrorCollection Errors - { - get - { - if ((this.errorsField == null)) - { - this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); + + public global::System.Text.StringBuilder GenerationEnvironment { + get { + if ((this.builder == null)) { + this.builder = new global::System.Text.StringBuilder(); } - return this.errorsField; + return this.builder; + } + set { + this.builder = value; } } - /// - /// A list of the lengths of each indent that was added with PushIndent - /// - private System.Collections.Generic.List indentLengths - { - get - { - if ((this.indentLengthsField == null)) - { - this.indentLengthsField = new global::System.Collections.Generic.List(); + + protected global::System.CodeDom.Compiler.CompilerErrorCollection Errors { + get { + if ((this.errors == null)) { + this.errors = new global::System.CodeDom.Compiler.CompilerErrorCollection(); } - return this.indentLengthsField; + return this.errors; } } - /// - /// Gets the current indent we use when adding lines to the output - /// - public string CurrentIndent - { - get - { - return this.currentIndentField; + + public string CurrentIndent { + get { + return this.currentIndent; } } - /// - /// Current transformation session - /// - public virtual global::System.Collections.Generic.IDictionary Session - { - get - { - return this.sessionField; - } - set - { - this.sessionField = value; + + private global::System.Collections.Generic.Stack Indents { + get { + if ((this.indents == null)) { + this.indents = new global::System.Collections.Generic.Stack(); + } + return this.indents; } } - #endregion - #region Transform-time helpers - /// - /// Write text directly into the generated output - /// - public void Write(string textToAppend) - { - if (string.IsNullOrEmpty(textToAppend)) - { - return; - } - // If we're starting off, or if the previous text ended with a newline, - // we have to append the current indent first. - if (((this.GenerationEnvironment.Length == 0) - || this.endsWithNewline)) - { - this.GenerationEnvironment.Append(this.currentIndentField); - this.endsWithNewline = false; - } - // Check if the current text ends with a newline - if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) - { - this.endsWithNewline = true; - } - // This is an optimization. If the current indent is "", then we don't have to do any - // of the more complex stuff further down. - if ((this.currentIndentField.Length == 0)) - { - this.GenerationEnvironment.Append(textToAppend); - return; - } - // Everywhere there is a newline in the text, add an indent after it - textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); - // If the text ends with a newline, then we should strip off the indent added at the very end - // because the appropriate indent will be added when the next time Write() is called - if (this.endsWithNewline) - { - this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); - } - else - { - this.GenerationEnvironment.Append(textToAppend); + + public ToStringInstanceHelper ToStringHelper { + get { + return this._toStringHelper; } } - /// - /// Write text directly into the generated output - /// - public void WriteLine(string textToAppend) - { - this.Write(textToAppend); - this.GenerationEnvironment.AppendLine(); - this.endsWithNewline = true; + + public void Error(string message) { + this.Errors.Add(new global::System.CodeDom.Compiler.CompilerError(null, -1, -1, null, message)); + } + + public void Warning(string message) { + global::System.CodeDom.Compiler.CompilerError val = new global::System.CodeDom.Compiler.CompilerError(null, -1, -1, null, message); + val.IsWarning = true; + this.Errors.Add(val); } - /// - /// Write formatted text directly into the generated output - /// - public void Write(string format, params object[] args) - { - this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + + public string PopIndent() { + if ((this.Indents.Count == 0)) { + return string.Empty; + } + int lastPos = (this.currentIndent.Length - this.Indents.Pop()); + string last = this.currentIndent.Substring(lastPos); + this.currentIndent = this.currentIndent.Substring(0, lastPos); + return last; } - /// - /// Write formatted text directly into the generated output - /// - public void WriteLine(string format, params object[] args) - { - this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + + public void PushIndent(string indent) { + this.Indents.Push(indent.Length); + this.currentIndent = (this.currentIndent + indent); } - /// - /// Raise an error - /// - public void Error(string message) - { - System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); - error.ErrorText = message; - this.Errors.Add(error); + + public void ClearIndent() { + this.currentIndent = string.Empty; + this.Indents.Clear(); } - /// - /// Raise a warning - /// - public void Warning(string message) - { - System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); - error.ErrorText = message; - error.IsWarning = true; - this.Errors.Add(error); + + public void Write(string textToAppend) { + this.GenerationEnvironment.Append(textToAppend); } - /// - /// Increase the indent - /// - public void PushIndent(string indent) - { - if ((indent == null)) - { - throw new global::System.ArgumentNullException("indent"); - } - this.currentIndentField = (this.currentIndentField + indent); - this.indentLengths.Add(indent.Length); + + public void Write(string format, params object[] args) { + this.GenerationEnvironment.AppendFormat(format, args); } - /// - /// Remove the last indent that was added with PushIndent - /// - public string PopIndent() - { - string returnValue = ""; - if ((this.indentLengths.Count > 0)) - { - int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; - this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); - if ((indentLength > 0)) - { - returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); - this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); - } - } - return returnValue; + + public void WriteLine(string textToAppend) { + this.GenerationEnvironment.Append(this.currentIndent); + this.GenerationEnvironment.AppendLine(textToAppend); } - /// - /// Remove any indentation - /// - public void ClearIndent() - { - this.indentLengths.Clear(); - this.currentIndentField = ""; + + public void WriteLine(string format, params object[] args) { + this.GenerationEnvironment.Append(this.currentIndent); + this.GenerationEnvironment.AppendFormat(format, args); + this.GenerationEnvironment.AppendLine(); } - #endregion - #region ToString Helpers - /// - /// Utility class to produce culture-oriented representation of an object as a string. - /// - public class ToStringInstanceHelper - { - private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; - /// - /// Gets or sets format provider to be used by ToStringWithCulture method. - /// - public System.IFormatProvider FormatProvider - { - get - { - return this.formatProviderField ; + + public class ToStringInstanceHelper { + + private global::System.IFormatProvider formatProvider = global::System.Globalization.CultureInfo.InvariantCulture; + + public global::System.IFormatProvider FormatProvider { + get { + return this.formatProvider; } - set - { - if ((value != null)) - { - this.formatProviderField = value; + set { + if ((value != null)) { + this.formatProvider = value; } } } - /// - /// This is called from the compile/run appdomain to convert objects within an expression block to a string - /// - public string ToStringWithCulture(object objectToConvert) - { - if ((objectToConvert == null)) - { + + public string ToStringWithCulture(object objectToConvert) { + if ((objectToConvert == null)) { throw new global::System.ArgumentNullException("objectToConvert"); } - System.Type t = objectToConvert.GetType(); - System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { - typeof(System.IFormatProvider)}); - if ((method == null)) - { - return objectToConvert.ToString(); + global::System.Type type = objectToConvert.GetType(); + global::System.Type iConvertibleType = typeof(global::System.IConvertible); + if (iConvertibleType.IsAssignableFrom(type)) { + return ((global::System.IConvertible)(objectToConvert)).ToString(this.formatProvider); } - else - { - return ((string)(method.Invoke(objectToConvert, new object[] { - this.formatProviderField }))); + global::System.Reflection.MethodInfo methInfo = type.GetMethod("ToString", new global::System.Type[] { + iConvertibleType}); + if ((methInfo != null)) { + return ((string)(methInfo.Invoke(objectToConvert, new object[] { + this.formatProvider}))); } + return objectToConvert.ToString(); } } - private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); - /// - /// Helper to produce culture-oriented representation of an object as a string - /// - public ToStringInstanceHelper ToStringHelper - { - get - { - return this.toStringHelperField; - } - } - #endregion } - #endregion } diff --git a/src/mlnet/Templates/Console/ConsoleHelper.tt b/src/mlnet/Templates/Console/ConsoleHelper.tt index 61778ecd74..aaecdcae89 100644 --- a/src/mlnet/Templates/Console/ConsoleHelper.tt +++ b/src/mlnet/Templates/Console/ConsoleHelper.tt @@ -1,4 +1,4 @@ -<#@ template language="C#" linePragmas="false" #> +<#@ template language="C#" linePragmas="false" #> <#@ assembly name="System.Core" #> <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> @@ -98,6 +98,42 @@ namespace <#= Namespace #> } + public static void PrintMulticlassClassificationFoldsAverageMetrics( + string algorithmName, + TrainCatalogBase.CrossValidationResult[] crossValResults) + { + var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); + + var microAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMicro); + var microAccuracyAverage = microAccuracyValues.Average(); + var microAccuraciesStdDeviation = CalculateStandardDeviation(microAccuracyValues); + var microAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues); + + var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro); + var macroAccuracyAverage = macroAccuracyValues.Average(); + var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues); + var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macroAccuracyValues); + + var logLossValues = metricsInMultipleFolds.Select(m => m.LogLoss); + var logLossAverage = logLossValues.Average(); + var logLossStdDeviation = CalculateStandardDeviation(logLossValues); + var logLossConfidenceInterval95 = CalculateConfidenceInterval95(logLossValues); + + var logLossReductionValues = metricsInMultipleFolds.Select(m => m.LogLossReduction); + var logLossReductionAverage = logLossReductionValues.Average(); + var logLossReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues); + var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(logLossReductionValues); + + Console.WriteLine($"*************************************************************************************************************"); + Console.WriteLine($"* Metrics for {algorithmName} Multi-class Classification model "); + Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); + Console.WriteLine($"* Average MicroAccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average MacroAccuracy: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average LogLoss: {logLossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average LogLossReduction: {logLossReductionAverage:#.###} - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: ({logLossReductionConfidenceInterval95:#.###})"); + Console.WriteLine($"*************************************************************************************************************"); + + } public static double CalculateStandardDeviation(IEnumerable values) { @@ -113,6 +149,16 @@ namespace <#= Namespace #> return confidenceInterval95; } + public static void PrintClusteringMetrics(string name, ClusteringMetrics metrics) + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Metrics for {name} clustering model "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"* AvgMinScore: {metrics.AvgMinScore}"); + Console.WriteLine($"* DBI is: {metrics.Dbi}"); + Console.WriteLine($"*************************************************"); + } + public static void ConsoleWriteHeader(params string[] lines) { var defaultColor = Console.ForegroundColor; diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index 8739c55d59..9b5afe64a9 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -1,14 +1,14 @@ -// ------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version: 15.0.0.0 -// +// Runtime Version:4.0.30319.42000 +// // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// ------------------------------------------------------------------------------ -namespace Microsoft.ML.CLI.Templates.Console -{ +//------------------------------------------------------------------------------ + +namespace Microsoft.ML.CLI.Templates.Console { using System.Linq; using System.Text; using System.Text.RegularExpressions; @@ -16,17 +16,31 @@ namespace Microsoft.ML.CLI.Templates.Console using Microsoft.ML.CLI.Utilities; using System; - /// - /// Class to produce the template output - /// - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public partial class MLCodeGen : MLCodeGenBase - { - /// - /// Create the template output - /// - public virtual string TransformText() - { + + public partial class MLCodeGen : MLCodeGenBase { + + +public string Path {get;set;} +public string TestPath {get;set;} +public IList Columns {get;set;} +public bool HasHeader {get;set;} +public char Separator {get;set;} +public IList Transforms {get;set;} +public string Trainer {get;set;} +public string TaskType {get;set;} +public IList ClassLabels {get;set;} +public string GeneratedUsings {get;set;} +public bool AllowQuoting {get;set;} +public bool AllowSparse {get;set;} +public bool TrimWhiteSpace {get;set;} +public int Kfolds {get;set;} = 5; +public string Namespace {get;set;} +public string LabelName {get;set;} +public string ModelPath {get;set;} + + + public virtual string TransformText() { + this.GenerationEnvironment = null; this.Write(@"//***************************************************************************************** //* * //* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * @@ -40,19 +54,19 @@ public virtual string TransformText() using Microsoft.ML.Data; using Microsoft.Data.DataView; "); - this.Write(this.ToStringHelper.ToStringWithCulture(GeneratedUsings)); - this.Write("\r\n\r\nnamespace "); - this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); - this.Write("\r\n{\r\n class Program\r\n {\r\n private static string TrainDataPath = @\""); - this.Write(this.ToStringHelper.ToStringWithCulture(Path)); - this.Write("\";\r\n"); + this.Write(this.ToStringHelper.ToStringWithCulture( GeneratedUsings )); + this.Write("\n\nnamespace "); + this.Write(this.ToStringHelper.ToStringWithCulture( Namespace )); + this.Write("\n{\n class Program\n {\n private static string TrainDataPath = @\""); + this.Write(this.ToStringHelper.ToStringWithCulture( Path )); + this.Write("\";\n"); if(!string.IsNullOrEmpty(TestPath)){ this.Write(" private static string TestDataPath = @\""); - this.Write(this.ToStringHelper.ToStringWithCulture(TestPath)); - this.Write("\";\r\n"); + this.Write(this.ToStringHelper.ToStringWithCulture( TestPath )); + this.Write("\";\n"); } this.Write(" private static string ModelPath = @\""); - this.Write(this.ToStringHelper.ToStringWithCulture(ModelPath)); + this.Write(this.ToStringHelper.ToStringWithCulture( ModelPath )); this.Write(@"""; static void Main(string[] args) @@ -91,31 +105,31 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) IDataView trainingDataView = mlContext.Data.LoadFromTextFile( path: TrainDataPath, hasHeader : "); - this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); - this.Write(",\r\n separatorChar : \'"); - this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); - this.Write("\',\r\n allowQuoting : "); - this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); - this.Write(",\r\n allowSparse: "); - this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); - this.Write(");\r\n"); + this.Write(this.ToStringHelper.ToStringWithCulture( HasHeader.ToString().ToLowerInvariant() )); + this.Write(",\n separatorChar : \'"); + this.Write(this.ToStringHelper.ToStringWithCulture( Regex.Escape(Separator.ToString()) )); + this.Write("\',\n allowQuoting : "); + this.Write(this.ToStringHelper.ToStringWithCulture( AllowQuoting.ToString().ToLowerInvariant() )); + this.Write(",\n allowSparse: "); + this.Write(this.ToStringHelper.ToStringWithCulture( AllowSparse.ToString().ToLowerInvariant() )); + this.Write(");\n"); if(!string.IsNullOrEmpty(TestPath)){ this.Write(" IDataView testDataView = mlContext.Data.LoadFromTextFile(\r\n path: TestDataPath,\r\n " + - " hasHeader : "); - this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); - this.Write(",\r\n separatorChar : \'"); - this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); - this.Write("\',\r\n allowQuoting : "); - this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); - this.Write(",\r\n allowSparse: "); - this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); - this.Write(");\r\n"); + "ation>(\n path: TestDataPath,\n " + + " hasHeader : "); + this.Write(this.ToStringHelper.ToStringWithCulture( HasHeader.ToString().ToLowerInvariant() )); + this.Write(",\n separatorChar : \'"); + this.Write(this.ToStringHelper.ToStringWithCulture( Regex.Escape(Separator.ToString()) )); + this.Write("\',\n allowQuoting : "); + this.Write(this.ToStringHelper.ToStringWithCulture( AllowQuoting.ToString().ToLowerInvariant() )); + this.Write(",\n allowSparse: "); + this.Write(this.ToStringHelper.ToStringWithCulture( AllowSparse.ToString().ToLowerInvariant() )); + this.Write(");\n"); } - this.Write("\r\n"); + this.Write("\n"); if(Transforms.Count >0 ) { this.Write(" // Common data process configuration with pipeline data transformatio" + - "ns\r\n var dataProcessPipeline = "); + "ns\n var dataProcessPipeline = "); for(int i=0;i0) @@ -126,19 +140,19 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) { Write(")"); } } - this.Write(";\r\n"); + this.Write(";\n"); } - this.Write("\r\n // Set the training algorithm, then create and config the modelBuil" + - "der \r\n var trainer = mlContext."); - this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write("\n // Set the training algorithm, then create and config the modelBuild" + + "er \n var trainer = mlContext."); + this.Write(this.ToStringHelper.ToStringWithCulture( TaskType )); this.Write(".Trainers."); - this.Write(this.ToStringHelper.ToStringWithCulture(Trainer)); - this.Write(";\r\n"); + this.Write(this.ToStringHelper.ToStringWithCulture( Trainer )); + this.Write(";\n"); if(Transforms.Count >0 ) { - this.Write(" var trainingPipeline = dataProcessPipeline.Append(trainer);\r\n"); + this.Write(" var trainingPipeline = dataProcessPipeline.Append(trainer);\n"); } else{ - this.Write(" var trainingPipeline = trainer;\r\n"); + this.Write(" var trainingPipeline = trainer;\n"); } if(string.IsNullOrEmpty(TestPath)){ this.Write(@" @@ -148,46 +162,46 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) "); if("BinaryClassification".Equals(TaskType)){ this.Write(" var crossValidationResults = mlContext."); - this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(this.ToStringHelper.ToStringWithCulture( TaskType )); this.Write(".CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: "); - this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); + this.Write(this.ToStringHelper.ToStringWithCulture( Kfolds )); this.Write(", labelColumn:\""); - this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\");\r\n ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(train" + - "er.ToString(), crossValidationResults);\r\n"); + this.Write(this.ToStringHelper.ToStringWithCulture( LabelName )); + this.Write("\");\n ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(traine" + + "r.ToString(), crossValidationResults);\n"); } if("Regression".Equals(TaskType)){ this.Write(" var crossValidationResults = mlContext."); - this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(this.ToStringHelper.ToStringWithCulture( TaskType )); this.Write(".CrossValidate(trainingDataView, trainingPipeline, numFolds: "); - this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); + this.Write(this.ToStringHelper.ToStringWithCulture( Kfolds )); this.Write(", labelColumn:\""); - this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\");\r\n ConsoleHelper.PrintRegressionFoldsAverageMetrics(trainer.ToStrin" + - "g(), crossValidationResults);\r\n"); + this.Write(this.ToStringHelper.ToStringWithCulture( LabelName )); + this.Write("\");\n ConsoleHelper.PrintRegressionFoldsAverageMetrics(trainer.ToString" + + "(), crossValidationResults);\n"); } } - this.Write("\r\n // Train the model fitting to the DataSet\r\n Console.Writ" + - "eLine(\"=============== Training the model ===============\");\r\n var tr" + - "ainedModel = trainingPipeline.Fit(trainingDataView);\r\n"); + this.Write("\n // Train the model fitting to the DataSet\n Console.WriteL" + + "ine(\"=============== Training the model ===============\");\n var train" + + "edModel = trainingPipeline.Fit(trainingDataView);\n"); if(!string.IsNullOrEmpty(TestPath)){ - this.Write("\r\n // Evaluate the model and show accuracy stats\r\n Console." + - "WriteLine(\"===== Evaluating Model\'s accuracy with Test data =====\");\r\n " + - " var predictions = trainedModel.Transform(testDataView);\r\n"); + this.Write("\n // Evaluate the model and show accuracy stats\n Console.Wr" + + "iteLine(\"===== Evaluating Model\'s accuracy with Test data =====\");\n v" + + "ar predictions = trainedModel.Transform(testDataView);\n"); if("BinaryClassification".Equals(TaskType)){ this.Write(" var metrics = mlContext."); - this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(this.ToStringHelper.ToStringWithCulture( TaskType )); this.Write(".EvaluateNonCalibrated(predictions, \""); - this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\", \"Score\");\r\n ConsoleHelper.PrintBinaryClassificationMetrics(trainer." + - "ToString(), metrics);\r\n"); + this.Write(this.ToStringHelper.ToStringWithCulture( LabelName )); + this.Write("\", \"Score\");\n ConsoleHelper.PrintBinaryClassificationMetrics(trainer.T" + + "oString(), metrics);\n"); } if("Regression".Equals(TaskType)){ this.Write(" var metrics = mlContext."); - this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(this.ToStringHelper.ToStringWithCulture( TaskType )); this.Write(".Evaluate(predictions, \""); - this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\", \"Score\");\r\n ConsoleHelper.PrintRegressionMetrics(trainer.ToString()" + - ", metrics);\r\n"); + this.Write(this.ToStringHelper.ToStringWithCulture( LabelName )); + this.Write("\", \"Score\");\n ConsoleHelper.PrintRegressionMetrics(trainer.ToString()," + + " metrics);\n"); } } this.Write(@" @@ -209,13 +223,13 @@ private static void Predict(MLContext mlContext) IDataView trainingDataView = mlContext.Data.LoadFromTextFile( path: TrainDataPath, hasHeader : "); - this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); - this.Write(",\r\n separatorChar : \'"); - this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); - this.Write("\',\r\n allowQuoting : "); - this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); - this.Write(",\r\n allowSparse: "); - this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); + this.Write(this.ToStringHelper.ToStringWithCulture( HasHeader.ToString().ToLowerInvariant() )); + this.Write(",\n separatorChar : \'"); + this.Write(this.ToStringHelper.ToStringWithCulture( Regex.Escape(Separator.ToString()) )); + this.Write("\',\n allowQuoting : "); + this.Write(this.ToStringHelper.ToStringWithCulture( AllowQuoting.ToString().ToLowerInvariant() )); + this.Write(",\n allowSparse: "); + this.Write(this.ToStringHelper.ToStringWithCulture( AllowSparse.ToString().ToLowerInvariant() )); this.Write(@"); var sample = mlContext.Data.CreateEnumerable(trainingDataView, false).First(); @@ -234,328 +248,189 @@ private static void Predict(MLContext mlContext) Console.WriteLine($""=============== Single Prediction ===============""); Console.WriteLine($""Actual value: {sample."); - this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); + this.Write(this.ToStringHelper.ToStringWithCulture( Utils.Normalize(LabelName) )); this.Write("} | Predicted value: {resultprediction."); if("BinaryClassification".Equals(TaskType)){ this.Write("Prediction"); }else{ this.Write("Score"); } - this.Write("}\");\r\n Console.WriteLine($\"===========================================" + - "=======\");\r\n }\r\n\r\n }\r\n\r\n public class SampleObservation\r\n {\r\n"); + this.Write("}\");\n Console.WriteLine($\"============================================" + + "======\");\n }\n\n }\n\n public class SampleObservation\n {\n"); foreach(var label in ClassLabels) { this.Write(" "); this.Write(this.ToStringHelper.ToStringWithCulture(label)); - this.Write("\r\n"); + this.Write("\n"); } - this.Write(" }\r\n\r\n public class SamplePrediction\r\n {\r\n"); + this.Write(" }\n\n public class SamplePrediction\n {\n"); if("BinaryClassification".Equals(TaskType)){ - this.Write(" // ColumnName attribute is used to change the column name from\r\n /" + - "/ its default value, which is the name of the field.\r\n [ColumnName(\"Predi" + - "ctedLabel\")]\r\n public bool Prediction { get; set; }\r\n\r\n"); + this.Write(" // ColumnName attribute is used to change the column name from\n //" + + " its default value, which is the name of the field.\n [ColumnName(\"Predict" + + "edLabel\")]\n public bool Prediction { get; set; }\n\n"); } -if("MultiClassClassification".Equals(TaskType)){ - this.Write(" public float[] Score { get; set; }\r\n"); +if("MulticlassClassification".Equals(TaskType)){ + this.Write(" public float[] Score { get; set; }\n"); }else{ - this.Write(" public float Score { get; set; }\r\n"); + this.Write(" public float Score { get; set; }\n"); } - this.Write(" }\r\n\r\n}\r\n"); + this.Write(" }\n\n}\n"); return this.GenerationEnvironment.ToString(); } - -public string Path {get;set;} -public string TestPath {get;set;} -public IList Columns {get;set;} -public bool HasHeader {get;set;} -public char Separator {get;set;} -public IList Transforms {get;set;} -public string Trainer {get;set;} -public string TaskType {get;set;} -public IList ClassLabels {get;set;} -public string GeneratedUsings {get;set;} -public bool AllowQuoting {get;set;} -public bool AllowSparse {get;set;} -public bool TrimWhiteSpace {get;set;} -public int Kfolds {get;set;} = 5; -public string Namespace {get;set;} -public string LabelName {get;set;} -public string ModelPath {get;set;} - + + public virtual void Initialize() { + } } - #region Base class - /// - /// Base class for this transformation - /// - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public class MLCodeGenBase - { - #region Fields - private global::System.Text.StringBuilder generationEnvironmentField; - private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; - private global::System.Collections.Generic.List indentLengthsField; - private string currentIndentField = ""; - private bool endsWithNewline; - private global::System.Collections.Generic.IDictionary sessionField; - #endregion - #region Properties - /// - /// The string builder that generation-time code is using to assemble generated output - /// - protected System.Text.StringBuilder GenerationEnvironment - { - get - { - if ((this.generationEnvironmentField == null)) - { - this.generationEnvironmentField = new global::System.Text.StringBuilder(); - } - return this.generationEnvironmentField; + + public class MLCodeGenBase { + + private global::System.Text.StringBuilder builder; + + private global::System.Collections.Generic.IDictionary session; + + private global::System.CodeDom.Compiler.CompilerErrorCollection errors; + + private string currentIndent = string.Empty; + + private global::System.Collections.Generic.Stack indents; + + private ToStringInstanceHelper _toStringHelper = new ToStringInstanceHelper(); + + public virtual global::System.Collections.Generic.IDictionary Session { + get { + return this.session; } - set - { - this.generationEnvironmentField = value; + set { + this.session = value; } } - /// - /// The error collection for the generation process - /// - public System.CodeDom.Compiler.CompilerErrorCollection Errors - { - get - { - if ((this.errorsField == null)) - { - this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); + + public global::System.Text.StringBuilder GenerationEnvironment { + get { + if ((this.builder == null)) { + this.builder = new global::System.Text.StringBuilder(); } - return this.errorsField; + return this.builder; + } + set { + this.builder = value; } } - /// - /// A list of the lengths of each indent that was added with PushIndent - /// - private System.Collections.Generic.List indentLengths - { - get - { - if ((this.indentLengthsField == null)) - { - this.indentLengthsField = new global::System.Collections.Generic.List(); + + protected global::System.CodeDom.Compiler.CompilerErrorCollection Errors { + get { + if ((this.errors == null)) { + this.errors = new global::System.CodeDom.Compiler.CompilerErrorCollection(); } - return this.indentLengthsField; + return this.errors; } } - /// - /// Gets the current indent we use when adding lines to the output - /// - public string CurrentIndent - { - get - { - return this.currentIndentField; + + public string CurrentIndent { + get { + return this.currentIndent; } } - /// - /// Current transformation session - /// - public virtual global::System.Collections.Generic.IDictionary Session - { - get - { - return this.sessionField; - } - set - { - this.sessionField = value; + + private global::System.Collections.Generic.Stack Indents { + get { + if ((this.indents == null)) { + this.indents = new global::System.Collections.Generic.Stack(); + } + return this.indents; } } - #endregion - #region Transform-time helpers - /// - /// Write text directly into the generated output - /// - public void Write(string textToAppend) - { - if (string.IsNullOrEmpty(textToAppend)) - { - return; - } - // If we're starting off, or if the previous text ended with a newline, - // we have to append the current indent first. - if (((this.GenerationEnvironment.Length == 0) - || this.endsWithNewline)) - { - this.GenerationEnvironment.Append(this.currentIndentField); - this.endsWithNewline = false; - } - // Check if the current text ends with a newline - if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) - { - this.endsWithNewline = true; - } - // This is an optimization. If the current indent is "", then we don't have to do any - // of the more complex stuff further down. - if ((this.currentIndentField.Length == 0)) - { - this.GenerationEnvironment.Append(textToAppend); - return; - } - // Everywhere there is a newline in the text, add an indent after it - textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); - // If the text ends with a newline, then we should strip off the indent added at the very end - // because the appropriate indent will be added when the next time Write() is called - if (this.endsWithNewline) - { - this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); - } - else - { - this.GenerationEnvironment.Append(textToAppend); + + public ToStringInstanceHelper ToStringHelper { + get { + return this._toStringHelper; } } - /// - /// Write text directly into the generated output - /// - public void WriteLine(string textToAppend) - { - this.Write(textToAppend); - this.GenerationEnvironment.AppendLine(); - this.endsWithNewline = true; + + public void Error(string message) { + this.Errors.Add(new global::System.CodeDom.Compiler.CompilerError(null, -1, -1, null, message)); } - /// - /// Write formatted text directly into the generated output - /// - public void Write(string format, params object[] args) - { - this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + + public void Warning(string message) { + global::System.CodeDom.Compiler.CompilerError val = new global::System.CodeDom.Compiler.CompilerError(null, -1, -1, null, message); + val.IsWarning = true; + this.Errors.Add(val); } - /// - /// Write formatted text directly into the generated output - /// - public void WriteLine(string format, params object[] args) - { - this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + + public string PopIndent() { + if ((this.Indents.Count == 0)) { + return string.Empty; + } + int lastPos = (this.currentIndent.Length - this.Indents.Pop()); + string last = this.currentIndent.Substring(lastPos); + this.currentIndent = this.currentIndent.Substring(0, lastPos); + return last; } - /// - /// Raise an error - /// - public void Error(string message) - { - System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); - error.ErrorText = message; - this.Errors.Add(error); + + public void PushIndent(string indent) { + this.Indents.Push(indent.Length); + this.currentIndent = (this.currentIndent + indent); } - /// - /// Raise a warning - /// - public void Warning(string message) - { - System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); - error.ErrorText = message; - error.IsWarning = true; - this.Errors.Add(error); + + public void ClearIndent() { + this.currentIndent = string.Empty; + this.Indents.Clear(); } - /// - /// Increase the indent - /// - public void PushIndent(string indent) - { - if ((indent == null)) - { - throw new global::System.ArgumentNullException("indent"); - } - this.currentIndentField = (this.currentIndentField + indent); - this.indentLengths.Add(indent.Length); + + public void Write(string textToAppend) { + this.GenerationEnvironment.Append(textToAppend); } - /// - /// Remove the last indent that was added with PushIndent - /// - public string PopIndent() - { - string returnValue = ""; - if ((this.indentLengths.Count > 0)) - { - int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; - this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); - if ((indentLength > 0)) - { - returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); - this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); - } - } - return returnValue; + + public void Write(string format, params object[] args) { + this.GenerationEnvironment.AppendFormat(format, args); } - /// - /// Remove any indentation - /// - public void ClearIndent() - { - this.indentLengths.Clear(); - this.currentIndentField = ""; + + public void WriteLine(string textToAppend) { + this.GenerationEnvironment.Append(this.currentIndent); + this.GenerationEnvironment.AppendLine(textToAppend); } - #endregion - #region ToString Helpers - /// - /// Utility class to produce culture-oriented representation of an object as a string. - /// - public class ToStringInstanceHelper - { - private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; - /// - /// Gets or sets format provider to be used by ToStringWithCulture method. - /// - public System.IFormatProvider FormatProvider - { - get - { - return this.formatProviderField ; + + public void WriteLine(string format, params object[] args) { + this.GenerationEnvironment.Append(this.currentIndent); + this.GenerationEnvironment.AppendFormat(format, args); + this.GenerationEnvironment.AppendLine(); + } + + public class ToStringInstanceHelper { + + private global::System.IFormatProvider formatProvider = global::System.Globalization.CultureInfo.InvariantCulture; + + public global::System.IFormatProvider FormatProvider { + get { + return this.formatProvider; } - set - { - if ((value != null)) - { - this.formatProviderField = value; + set { + if ((value != null)) { + this.formatProvider = value; } } } - /// - /// This is called from the compile/run appdomain to convert objects within an expression block to a string - /// - public string ToStringWithCulture(object objectToConvert) - { - if ((objectToConvert == null)) - { + + public string ToStringWithCulture(object objectToConvert) { + if ((objectToConvert == null)) { throw new global::System.ArgumentNullException("objectToConvert"); } - System.Type t = objectToConvert.GetType(); - System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { - typeof(System.IFormatProvider)}); - if ((method == null)) - { - return objectToConvert.ToString(); + global::System.Type type = objectToConvert.GetType(); + global::System.Type iConvertibleType = typeof(global::System.IConvertible); + if (iConvertibleType.IsAssignableFrom(type)) { + return ((global::System.IConvertible)(objectToConvert)).ToString(this.formatProvider); } - else - { - return ((string)(method.Invoke(objectToConvert, new object[] { - this.formatProviderField }))); + global::System.Reflection.MethodInfo methInfo = type.GetMethod("ToString", new global::System.Type[] { + iConvertibleType}); + if ((methInfo != null)) { + return ((string)(methInfo.Invoke(objectToConvert, new object[] { + this.formatProvider}))); } + return objectToConvert.ToString(); } } - private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); - /// - /// Helper to produce culture-oriented representation of an object as a string - /// - public ToStringInstanceHelper ToStringHelper - { - get - { - return this.toStringHelperField; - } - } - #endregion } - #endregion } diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index c46b531300..5a4d536066 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -193,7 +193,7 @@ foreach(var label in ClassLabels) public bool Prediction { get; set; } <# } #> -<#if("MultiClassClassification".Equals(TaskType)){ #> +<#if("MulticlassClassification".Equals(TaskType)){ #> public float[] Score { get; set; } <#}else{ #> public float Score { get; set; } diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 72db04e933..3d6e8b672e 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. @@ -10,14 +10,21 @@ namespace Microsoft.ML.CLI.Utilities internal class ConsolePrinter { private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); - internal static void PrintRegressionMetrics(int iteration, string trainerName, RegressionMetrics metrics) + + + internal static void PrintBinaryClassificationMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics) { - logger.Log(LogLevel.Info, $"{iteration,4} {trainerName,-35} {metrics.RSquared,9:F4} {metrics.LossFn,12:F2} {metrics.L1,15:F2} {metrics.L2,15:F2} {metrics.Rms,12:F2}"); + logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics.Accuracy,9:F4} {metrics.Auc,8:F4}"); } - internal static void PrintBinaryClassificationMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics) + internal static void PrintMulticlassClassificationMetrics(int iteration, string trainerName, MultiClassClassifierMetrics metrics) + { + logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics.AccuracyMicro,14:F4} {metrics.AccuracyMacro,14:F4}"); + } + + internal static void PrintRegressionMetrics(int iteration, string trainerName, RegressionMetrics metrics) { - logger.Log(LogLevel.Info, $"{iteration,4} {trainerName,-35} {metrics.Accuracy,9:F4} {metrics.Auc,8:F4}"); + logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics.RSquared,9:F4} {metrics.LossFn,12:F2} {metrics.L1,15:F2} {metrics.L2,15:F2} {metrics.Rms,12:F2}"); } internal static void PrintBinaryClassificationMetricsHeader() @@ -25,7 +32,15 @@ internal static void PrintBinaryClassificationMetricsHeader() logger.Log(LogLevel.Info, $"*************************************************"); logger.Log(LogLevel.Info, $"* {Strings.MetricsForBinaryClassModels} "); logger.Log(LogLevel.Info, $"*------------------------------------------------"); - logger.Log(LogLevel.Info, $"{" ",4} {"Trainer",-35} {"Accuracy",9} {"AUC",8}"); + logger.Log(LogLevel.Info, $"{" ",-4} {"Trainer",-35} {"Accuracy",9} {"AUC",8}"); + } + + internal static void PrintMulticlassClassificationMetricsHeader() + { + logger.Log(LogLevel.Info, $"*************************************************"); + logger.Log(LogLevel.Info, $"* {Strings.MetricsForMulticlassModels} "); + logger.Log(LogLevel.Info, $"*------------------------------------------------"); + logger.Log(LogLevel.Info, $"{" ",-4} {"Trainer",-35} {"AccuracyMicro",14} {"AccuracyMacro",14}"); } internal static void PrintRegressionMetricsHeader() @@ -33,7 +48,7 @@ internal static void PrintRegressionMetricsHeader() logger.Log(LogLevel.Info, $"*************************************************"); logger.Log(LogLevel.Info, $"* {Strings.MetricsForRegressionModels} "); logger.Log(LogLevel.Info, $"*------------------------------------------------"); - logger.Log(LogLevel.Info, $"{" ",4} {"Trainer",-35} {"R2-Score",9} {"LossFn",12} {"Absolute-loss",15} {"Squared-loss",15} {"RMS-loss",12}"); + logger.Log(LogLevel.Info, $"{" ",-4} {"Trainer",-35} {"R2-Score",9} {"LossFn",12} {"Absolute-loss",15} {"Squared-loss",15} {"RMS-loss",12}"); } internal static void PrintBestPipelineHeader() @@ -41,6 +56,6 @@ internal static void PrintBestPipelineHeader() logger.Log(LogLevel.Info, $"*************************************************"); logger.Log(LogLevel.Info, $"* {Strings.BestPipeline} "); logger.Log(LogLevel.Info, $"*------------------------------------------------"); - } +} } } diff --git a/src/mlnet/Utilities/ProgressHandlers.cs b/src/mlnet/Utilities/ProgressHandlers.cs index 4785f4d671..dcf566be3e 100644 --- a/src/mlnet/Utilities/ProgressHandlers.cs +++ b/src/mlnet/Utilities/ProgressHandlers.cs @@ -39,5 +39,20 @@ public void Report(RunResult iterationResult) ConsolePrinter.PrintBinaryClassificationMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics); } } + + internal class MulticlassClassificationHandler : IProgress> + { + int iterationIndex; + internal MulticlassClassificationHandler() + { + ConsolePrinter.PrintMulticlassClassificationMetricsHeader(); + } + + public void Report(RunResult iterationResult) + { + iterationIndex++; + ConsolePrinter.PrintMulticlassClassificationMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics); + } + } } } diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index 38f997a8b3..8514244dfc 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -52,6 +52,8 @@ internal static TaskKind GetTaskKind(string mlTask) { case "binary-classification": return TaskKind.BinaryClassification; + case "multiclass-classification": + return TaskKind.MulticlassClassification; case "regression": return TaskKind.Regression; default: // this should never be hit because the validation is done on command-line-api. diff --git a/src/mlnet/strings.Designer.cs b/src/mlnet/strings.Designer.cs index 84f1a08c44..724bd0ca5b 100644 --- a/src/mlnet/strings.Designer.cs +++ b/src/mlnet/strings.Designer.cs @@ -10,8 +10,8 @@ namespace Microsoft.ML.CLI { using System; - - + + /// /// A strongly-typed resource class, for looking up localized strings, etc. /// @@ -23,15 +23,15 @@ namespace Microsoft.ML.CLI { [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Strings { - + private static global::System.Resources.ResourceManager resourceMan; - + private static global::System.Globalization.CultureInfo resourceCulture; - + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal Strings() { } - + /// /// Returns the cached ResourceManager instance used by this class. /// @@ -45,7 +45,7 @@ internal Strings() { return resourceMan; } } - + /// /// Overrides the current thread's CurrentUICulture property for all /// resource lookups using this strongly typed resource class. @@ -59,7 +59,7 @@ internal Strings() { resourceCulture = value; } } - + /// /// Looks up a localized string similar to Best pipeline. /// @@ -68,7 +68,7 @@ internal static string BestPipeline { return ResourceManager.GetString("BestPipeline", resourceCulture); } } - + /// /// Looks up a localized string similar to Creating Data loader .... /// @@ -77,7 +77,7 @@ internal static string CreateDataLoader { return ResourceManager.GetString("CreateDataLoader", resourceCulture); } } - + /// /// Looks up a localized string similar to Exiting .... /// @@ -86,7 +86,7 @@ internal static string Exiting { return ResourceManager.GetString("Exiting", resourceCulture); } } - + /// /// Looks up a localized string similar to Exploring pipelines for task of type. /// @@ -95,7 +95,7 @@ internal static string ExplorePipeline { return ResourceManager.GetString("ExplorePipeline", resourceCulture); } } - + /// /// Looks up a localized string similar to Exception occured while exploring pipelines. /// @@ -104,7 +104,7 @@ internal static string ExplorePipelineException { return ResourceManager.GetString("ExplorePipelineException", resourceCulture); } } - + /// /// Looks up a localized string similar to Generating a console project for the best pipeline at location . /// @@ -113,7 +113,7 @@ internal static string GenerateProject { return ResourceManager.GetString("GenerateProject", resourceCulture); } } - + /// /// Looks up a localized string similar to An Error occured during inferring columns. /// @@ -122,7 +122,7 @@ internal static string InferColumnError { return ResourceManager.GetString("InferColumnError", resourceCulture); } } - + /// /// Looks up a localized string similar to Inferring Columns .... /// @@ -131,7 +131,7 @@ internal static string InferColumns { return ResourceManager.GetString("InferColumns", resourceCulture); } } - + /// /// Looks up a localized string similar to Loading data .... /// @@ -140,7 +140,7 @@ internal static string LoadData { return ResourceManager.GetString("LoadData", resourceCulture); } } - + /// /// Looks up a localized string similar to Metrics for Binary Classification models. /// @@ -149,7 +149,16 @@ internal static string MetricsForBinaryClassModels { return ResourceManager.GetString("MetricsForBinaryClassModels", resourceCulture); } } - + + /// + /// Looks up a localized string similar to Metrics for Multi-class Classification models. + /// + internal static string MetricsForMulticlassModels { + get { + return ResourceManager.GetString("MetricsForMulticlassModels", resourceCulture); + } + } + /// /// Looks up a localized string similar to Metrics for regression models. /// @@ -158,7 +167,7 @@ internal static string MetricsForRegressionModels { return ResourceManager.GetString("MetricsForRegressionModels", resourceCulture); } } - + /// /// Looks up a localized string similar to Retrieving best pipeline .... /// @@ -167,7 +176,7 @@ internal static string RetrieveBestPipeline { return ResourceManager.GetString("RetrieveBestPipeline", resourceCulture); } } - + /// /// Looks up a localized string similar to Saving the best model .... /// @@ -176,7 +185,7 @@ internal static string SavingBestModel { return ResourceManager.GetString("SavingBestModel", resourceCulture); } } - + /// /// Looks up a localized string similar to Unsupported ml-task. /// From 50f8f62e6dca8b4dc51cd88ed3b1dc69cefee069 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 7 Mar 2019 18:49:06 -0800 Subject: [PATCH 153/211] Refactor the orchestration of AutoML calls (#272) --- src/mlnet/AutoML/AutoMLEngine.cs | 108 +++++++++++ src/mlnet/AutoML/IAutoMLEngine.cs | 18 ++ .../CodeGenerator/CodeGenerationHelper.cs | 120 ++++++++++++ src/mlnet/Commands/New/NewCommandHandler.cs | 180 +----------------- src/mlnet/Program.cs | 2 +- 5 files changed, 250 insertions(+), 178 deletions(-) create mode 100644 src/mlnet/AutoML/AutoMLEngine.cs create mode 100644 src/mlnet/AutoML/IAutoMLEngine.cs create mode 100644 src/mlnet/CodeGenerator/CodeGenerationHelper.cs diff --git a/src/mlnet/AutoML/AutoMLEngine.cs b/src/mlnet/AutoML/AutoMLEngine.cs new file mode 100644 index 0000000000..bea178e959 --- /dev/null +++ b/src/mlnet/AutoML/AutoMLEngine.cs @@ -0,0 +1,108 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.Data.DataView; +using Microsoft.ML.Auto; +using Microsoft.ML.CLI.Data; +using Microsoft.ML.CLI.Utilities; +using NLog; + +namespace Microsoft.ML.CLI.CodeGenerator +{ + internal class AutoMLEngine : IAutoMLEngine + { + private NewCommandSettings settings; + private TaskKind taskKind; + private static Logger logger = LogManager.GetCurrentClassLogger(); + + public AutoMLEngine(NewCommandSettings settings) + { + this.settings = settings; + this.taskKind = Utils.GetTaskKind(settings.MlTask); + } + + public ColumnInferenceResults InferColumns(MLContext context) + { + //Check what overload method of InferColumns needs to be called. + logger.Log(LogLevel.Info, Strings.InferColumns); + ColumnInferenceResults columnInference = null; + var dataset = settings.Dataset.FullName; + if (settings.LabelColumnName != null) + { + columnInference = context.Auto().InferColumns(dataset, settings.LabelColumnName, groupColumns: false); + } + else + { + columnInference = context.Auto().InferColumns(dataset, settings.LabelColumnIndex, hasHeader: settings.HasHeader, groupColumns: false); + } + + return columnInference; + } + + (Pipeline, ITransformer) IAutoMLEngine.ExploreModels(MLContext context, IDataView trainData, IDataView validationData, string labelName) + { + ITransformer model = null; + + Pipeline pipeline = null; + + if (taskKind == TaskKind.BinaryClassification) + { + var progressReporter = new ProgressHandlers.BinaryClassificationHandler(); + var result = context.Auto() + .CreateBinaryClassificationExperiment(new BinaryExperimentSettings() + { + MaxExperimentTimeInSeconds = settings.MaxExplorationTime, + ProgressHandler = progressReporter + }) + .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); + logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); + var bestIteration = result.Best(); + pipeline = bestIteration.Pipeline; + model = bestIteration.Model; + } + + if (taskKind == TaskKind.Regression) + { + var progressReporter = new ProgressHandlers.RegressionHandler(); + var result = context.Auto() + .CreateRegressionExperiment(new RegressionExperimentSettings() + { + MaxExperimentTimeInSeconds = settings.MaxExplorationTime, + ProgressHandler = progressReporter + }).Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); + logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); + var bestIteration = result.Best(); + pipeline = bestIteration.Pipeline; + model = bestIteration.Model; + } + + if (taskKind == TaskKind.MulticlassClassification) + { + var progressReporter = new ProgressHandlers.MulticlassClassificationHandler(); + + var experimentSettings = new MulticlassExperimentSettings() + { + MaxExperimentTimeInSeconds = settings.MaxExplorationTime, + ProgressHandler = progressReporter + }; + + // Inclusion list for currently supported learners. Need to remove once we have codegen support for all other learners. + experimentSettings.Trainers.Clear(); + experimentSettings.Trainers.Add(MulticlassClassificationTrainer.LightGbm); + experimentSettings.Trainers.Add(MulticlassClassificationTrainer.LogisticRegression); + experimentSettings.Trainers.Add(MulticlassClassificationTrainer.StochasticDualCoordinateAscent); + + var result = context.Auto() + .CreateMulticlassClassificationExperiment(experimentSettings) + .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); + logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); + var bestIteration = result.Best(); + pipeline = bestIteration.Pipeline; + model = bestIteration.Model; + } + + return (pipeline, model); + } + } +} diff --git a/src/mlnet/AutoML/IAutoMLEngine.cs b/src/mlnet/AutoML/IAutoMLEngine.cs new file mode 100644 index 0000000000..6c91be28ee --- /dev/null +++ b/src/mlnet/AutoML/IAutoMLEngine.cs @@ -0,0 +1,18 @@ + +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.Data.DataView; +using Microsoft.ML.Auto; + +namespace Microsoft.ML.CLI.CodeGenerator +{ + internal interface IAutoMLEngine + { + ColumnInferenceResults InferColumns(MLContext context); + + (Pipeline, ITransformer) ExploreModels(MLContext context, IDataView trainData, IDataView validationData, string labelName); + + } +} diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs new file mode 100644 index 0000000000..6f7861837d --- /dev/null +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -0,0 +1,120 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.IO; +using Microsoft.Data.DataView; +using Microsoft.ML.Auto; +using Microsoft.ML.CLI.CodeGenerator.CSharp; +using Microsoft.ML.CLI.Data; +using Microsoft.ML.CLI.Utilities; +using Microsoft.ML.Data; +using NLog; + +namespace Microsoft.ML.CLI.CodeGenerator +{ + internal class CodeGenerationHelper + { + + private IAutoMLEngine automlEngine; + private NewCommandSettings settings; + private static Logger logger = LogManager.GetCurrentClassLogger(); + private TaskKind taskKind; + public CodeGenerationHelper(IAutoMLEngine automlEngine, NewCommandSettings settings) + { + this.automlEngine = automlEngine; + this.settings = settings; + this.taskKind = Utils.GetTaskKind(settings.MlTask); + } + + public void GenerateCode() + { + var context = new MLContext(); + + // Infer columns + ColumnInferenceResults columnInference = null; + try + { + columnInference = automlEngine.InferColumns(context); + } + catch (Exception e) + { + logger.Log(LogLevel.Error, $"{Strings.InferColumnError}"); + logger.Log(LogLevel.Error, e.Message); + logger.Log(LogLevel.Debug, e.ToString()); + logger.Log(LogLevel.Error, Strings.Exiting); + return; + } + + // Sanitize columns + Array.ForEach(columnInference.TextLoaderOptions.Columns, t => t.Name = Utils.Sanitize(t.Name)); + + var sanitizedLabelName = Utils.Sanitize(columnInference.ColumnInformation.LabelColumn); + + // Load data + (IDataView trainData, IDataView validationData) = LoadData(context, columnInference.TextLoaderOptions); + + // Explore the models + (Pipeline, ITransformer) result = default; + Console.WriteLine($"{Strings.ExplorePipeline}: {settings.MlTask}"); + try + { + result = automlEngine.ExploreModels(context, trainData, validationData, sanitizedLabelName); + } + catch (Exception e) + { + logger.Log(LogLevel.Error, $"{Strings.ExplorePipelineException}:"); + logger.Log(LogLevel.Error, e.Message); + logger.Log(LogLevel.Debug, e.ToString()); + logger.Log(LogLevel.Error, Strings.Exiting); + return; + } + + //Get the best pipeline + Pipeline pipeline = null; + pipeline = result.Item1; + var model = result.Item2; + + // Save the model + logger.Log(LogLevel.Info, Strings.SavingBestModel); + var modelPath = new FileInfo(Path.Combine(settings.OutputPath.FullName, "model.zip")); + Utils.SaveModel(model, modelPath, context); + + // Generate the Project + GenerateProject(columnInference, pipeline, sanitizedLabelName, modelPath); + } + + internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline pipeline, string labelName, FileInfo modelPath) + { + //Generate code + logger.Log(LogLevel.Info, $"{Strings.GenerateProject} : {settings.OutputPath.FullName}"); + var codeGenerator = new CodeGenerator.CSharp.CodeGenerator( + pipeline, + columnInference, + new CodeGeneratorSettings() + { + TrainDataset = settings.Dataset.FullName, + MlTask = taskKind, + TestDataset = settings.TestDataset?.FullName, + OutputName = settings.Name, + OutputBaseDir = settings.OutputPath.FullName, + LabelName = labelName, + ModelPath = modelPath.FullName + }); + codeGenerator.GenerateOutput(); + } + + internal (IDataView, IDataView) LoadData(MLContext context, TextLoader.Options textLoaderOptions) + { + logger.Log(LogLevel.Info, Strings.CreateDataLoader); + var textLoader = context.Data.CreateTextLoader(textLoaderOptions); + + logger.Log(LogLevel.Info, Strings.LoadData); + var trainData = textLoader.Load(settings.Dataset.FullName); + var validationData = settings.ValidationDataset == null ? null : textLoader.Load(settings.ValidationDataset.FullName); + + return (trainData, validationData); + } + } +} diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index 0113c49d9e..117cb77204 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -2,199 +2,25 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; -using System.IO; -using Microsoft.Data.DataView; -using Microsoft.ML.Auto; -using Microsoft.ML.CLI.CodeGenerator.CSharp; +using Microsoft.ML.CLI.CodeGenerator; using Microsoft.ML.CLI.Data; -using Microsoft.ML.CLI.Utilities; -using Microsoft.ML.Data; -using NLog; namespace Microsoft.ML.CLI.Commands.New { internal class NewCommand : ICommand { private NewCommandSettings settings; - private static Logger logger = LogManager.GetCurrentClassLogger(); - private TaskKind taskKind; internal NewCommand(NewCommandSettings settings) { this.settings = settings; - this.taskKind = Utils.GetTaskKind(settings.MlTask); } public void Execute() { - var context = new MLContext(); - - // Infer columns - ColumnInferenceResults columnInference = null; - try - { - columnInference = InferColumns(context); - } - catch (Exception e) - { - logger.Log(LogLevel.Error, $"{Strings.InferColumnError}"); - logger.Log(LogLevel.Error, e.Message); - logger.Log(LogLevel.Debug, e.ToString()); - logger.Log(LogLevel.Error, Strings.Exiting); - return; - } - - // Sanitize columns - Array.ForEach(columnInference.TextLoaderOptions.Columns, t => t.Name = Utils.Sanitize(t.Name)); - - var sanitized_Label_Name = Utils.Sanitize(columnInference.ColumnInformation.LabelColumn); - - // Load data - (IDataView trainData, IDataView validationData) = LoadData(context, columnInference.TextLoaderOptions); - - // Explore the models - (Pipeline, ITransformer) result = default; - Console.WriteLine($"{Strings.ExplorePipeline}: {settings.MlTask}"); - try - { - result = ExploreModels(context, trainData, validationData, sanitized_Label_Name); - } - catch (Exception e) - { - logger.Log(LogLevel.Error, $"{Strings.ExplorePipelineException}:"); - logger.Log(LogLevel.Error, e.Message); - logger.Log(LogLevel.Debug, e.ToString()); - logger.Log(LogLevel.Error, Strings.Exiting); - return; - } - - //Get the best pipeline - Pipeline pipeline = null; - pipeline = result.Item1; - var model = result.Item2; - - // Save the model - logger.Log(LogLevel.Info, Strings.SavingBestModel); - var modelPath = new FileInfo(Path.Combine(settings.OutputPath.FullName, "model.zip")); - Utils.SaveModel(model, modelPath, context); - - // Generate the Project - GenerateProject(columnInference, pipeline, sanitized_Label_Name, modelPath); - } - - internal ColumnInferenceResults InferColumns(MLContext context) - { - //Check what overload method of InferColumns needs to be called. - logger.Log(LogLevel.Info, Strings.InferColumns); - ColumnInferenceResults columnInference = null; - var dataset = settings.Dataset.FullName; - if (settings.LabelColumnName != null) - { - columnInference = context.Auto().InferColumns(dataset, settings.LabelColumnName, groupColumns: false); - } - else - { - columnInference = context.Auto().InferColumns(dataset, settings.LabelColumnIndex, hasHeader: settings.HasHeader, groupColumns: false); - } - - return columnInference; - } - - internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline pipeline, string labelName, FileInfo modelPath) - { - //Generate code - logger.Log(LogLevel.Info, $"{Strings.GenerateProject} : {settings.OutputPath.FullName}"); - var codeGenerator = new CodeGenerator.CSharp.CodeGenerator( - pipeline, - columnInference, - new CodeGeneratorSettings() - { - TrainDataset = settings.Dataset.FullName, - MlTask = taskKind, - TestDataset = settings.TestDataset?.FullName, - OutputName = settings.Name, - OutputBaseDir = settings.OutputPath.FullName, - LabelName = labelName, - ModelPath = modelPath.FullName - }); - codeGenerator.GenerateOutput(); + CodeGenerationHelper codeGenerationHelper = new CodeGenerationHelper(new AutoMLEngine(settings), settings); // Needs to be improved. + codeGenerationHelper.GenerateCode(); } - internal (Pipeline, ITransformer) ExploreModels(MLContext context, IDataView trainData, IDataView validationData, string labelName) - { - ITransformer model = null; - - Pipeline pipeline = null; - - if (taskKind == TaskKind.BinaryClassification) - { - var progressReporter = new ProgressHandlers.BinaryClassificationHandler(); - var result = context.Auto() - .CreateBinaryClassificationExperiment(new BinaryExperimentSettings() - { - MaxExperimentTimeInSeconds = settings.MaxExplorationTime, - ProgressHandler = progressReporter - }) - .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); - logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); - var bestIteration = result.Best(); - pipeline = bestIteration.Pipeline; - model = bestIteration.Model; - } - - if (taskKind == TaskKind.Regression) - { - var progressReporter = new ProgressHandlers.RegressionHandler(); - var result = context.Auto() - .CreateRegressionExperiment(new RegressionExperimentSettings() - { - MaxExperimentTimeInSeconds = settings.MaxExplorationTime, - ProgressHandler = progressReporter - }).Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); - logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); - var bestIteration = result.Best(); - pipeline = bestIteration.Pipeline; - model = bestIteration.Model; - } - - if (taskKind == TaskKind.MulticlassClassification) - { - var progressReporter = new ProgressHandlers.MulticlassClassificationHandler(); - - var experimentSettings = new MulticlassExperimentSettings() - { - MaxExperimentTimeInSeconds = settings.MaxExplorationTime, - ProgressHandler = progressReporter - }; - - experimentSettings.Trainers.Clear(); - experimentSettings.Trainers.Add(MulticlassClassificationTrainer.LightGbm); - experimentSettings.Trainers.Add(MulticlassClassificationTrainer.LogisticRegression); - experimentSettings.Trainers.Add(MulticlassClassificationTrainer.StochasticDualCoordinateAscent); - - var result = context.Auto() - .CreateMulticlassClassificationExperiment(experimentSettings) - .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); - logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); - var bestIteration = result.Best(); - pipeline = bestIteration.Pipeline; - model = bestIteration.Model; - } - - return (pipeline, model); - } - - internal (IDataView, IDataView) LoadData(MLContext context, TextLoader.Options textLoaderOptions) - { - logger.Log(LogLevel.Info, Strings.CreateDataLoader); - var textLoader = context.Data.CreateTextLoader(textLoaderOptions); - - logger.Log(LogLevel.Info, Strings.LoadData); - var trainData = textLoader.Load(settings.Dataset.FullName); - var validationData = settings.ValidationDataset == null ? null : textLoader.Load(settings.ValidationDataset.FullName); - - return (trainData, validationData); - } } } diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index 69a23e983a..a75d306171 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -30,7 +30,7 @@ public static void Main(string[] args) string outputBaseDir = string.Empty; if (options.Name == null) { - + options.Name = "Sample" + Utils.GetTaskKind(options.MlTask).ToString(); outputBaseDir = Path.Combine(options.OutputPath.FullName, options.Name); } From 2ea089e7547da867b338bd76ae77548f45cfa82e Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 7 Mar 2019 21:26:24 -0800 Subject: [PATCH 154/211] Do not auto-group columns with suggested purpose = 'Ignore' (#273) --- .../ColumnInference/ColumnGroupingInference.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnGroupingInference.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnGroupingInference.cs index 8b3ffd0e16..c4535ba7d0 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnGroupingInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnGroupingInference.cs @@ -83,7 +83,9 @@ into g private static int GetPurposeGroupId(int columnIndex, ColumnPurpose purpose) { - if (purpose == ColumnPurpose.CategoricalFeature || purpose == ColumnPurpose.TextFeature) + if (purpose == ColumnPurpose.CategoricalFeature || + purpose == ColumnPurpose.TextFeature || + purpose == ColumnPurpose.Ignore) return columnIndex; return 0; } From 2ba966416e2211e6611c4fc627dabfad664b87d7 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 7 Mar 2019 23:23:44 -0800 Subject: [PATCH 155/211] Fix: during type inferencing, parse whitespace strings as NaN (#271) --- src/Microsoft.ML.Auto/Utils/MLNetUtils/Conversions.cs | 8 +++++++- src/Test/ColumnInferenceTests.cs | 4 ++-- src/Test/ConversionTests.cs | 3 ++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/Conversions.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/Conversions.cs index c4dcd57fe9..501a4731b9 100644 --- a/src/Microsoft.ML.Auto/Utils/MLNetUtils/Conversions.cs +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/Conversions.cs @@ -19,7 +19,13 @@ internal static class Conversions public static bool TryParse(in TX src, out R4 dst) { var span = src.Span; - if (float.TryParse(span.ToString(), out dst)) + var str = span.ToString(); + if (string.IsNullOrWhiteSpace(str)) + { + dst = R4.NaN; + return true; + } + if (float.TryParse(str, out dst)) { return true; } diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index c32c1dd4ea..91fbbc0d08 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -63,9 +63,9 @@ public void IdentifyLabelColumnThroughIndexWithoutHeader() [TestMethod] public void DatasetWithEmptyColumn() { - var result = new MLContext().Auto().InferColumns(Path.Combine("TestData", "DatasetWithEmptyColumn.txt"), DefaultColumnNames.Label); + var result = new MLContext().Auto().InferColumns(Path.Combine("TestData", "DatasetWithEmptyColumn.txt"), DefaultColumnNames.Label, groupColumns: false); var emptyColumn = result.TextLoaderOptions.Columns.First(c => c.Name == "Empty"); - Assert.AreEqual(DataKind.String, emptyColumn.DataKind); + Assert.AreEqual(DataKind.Single, emptyColumn.DataKind); } [TestMethod] diff --git a/src/Test/ConversionTests.cs b/src/Test/ConversionTests.cs index 7460b20ae8..e9e522aa88 100644 --- a/src/Test/ConversionTests.cs +++ b/src/Test/ConversionTests.cs @@ -15,7 +15,8 @@ public void ConvertFloatMissingValues() { var missingValues = new string[] { - "?", + "", + "?", " ", "na", "n/a", "nan", "NA", "N/A", "NaN", "NAN" }; From 001b8df522c15b93526038ece19f56a51386ec83 Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Fri, 8 Mar 2019 10:50:20 -0800 Subject: [PATCH 156/211] Printing additional metrics in CLI for binary classification (#274) * Printing additional metrics in CLI for binary classification * Update src/mlnet/Utilities/ConsolePrinter.cs --- src/mlnet/Utilities/ConsolePrinter.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 3d6e8b672e..2af698e7df 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -14,7 +14,7 @@ internal class ConsolePrinter internal static void PrintBinaryClassificationMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics) { - logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics.Accuracy,9:F4} {metrics.Auc,8:F4}"); + logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics.Accuracy,9:F4} {metrics.Auc,8:F4} {metrics.Auprc,8:F4} {metrics.F1Score,9:F4}"); } internal static void PrintMulticlassClassificationMetrics(int iteration, string trainerName, MultiClassClassifierMetrics metrics) @@ -32,7 +32,7 @@ internal static void PrintBinaryClassificationMetricsHeader() logger.Log(LogLevel.Info, $"*************************************************"); logger.Log(LogLevel.Info, $"* {Strings.MetricsForBinaryClassModels} "); logger.Log(LogLevel.Info, $"*------------------------------------------------"); - logger.Log(LogLevel.Info, $"{" ",-4} {"Trainer",-35} {"Accuracy",9} {"AUC",8}"); + logger.Log(LogLevel.Info, $"{" ",-4} {"Trainer",-35} {"Accuracy",9} {"AUC",8} {"AUPRC",8} {"F1-score",9}"); } internal static void PrintMulticlassClassificationMetricsHeader() From dba38286e2558ef9830ea3a3d576a5ecca18f76b Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Fri, 8 Mar 2019 11:47:12 -0800 Subject: [PATCH 157/211] Add API option to store models on disk (instead of in memory); fix IEstimator memory leak (#269) --- .../API/ExperimentSettings.cs | 8 ++ src/Microsoft.ML.Auto/API/RunResult.cs | 11 ++- .../Experiment/Experiment.cs | 79 +++++++++++++++---- .../Experiment/ModelContainer.cs | 51 ++++++++++++ .../Experiment/SuggestedPipelineResult.cs | 11 +-- src/Test/AutoFitTests.cs | 2 +- 6 files changed, 136 insertions(+), 26 deletions(-) create mode 100644 src/Microsoft.ML.Auto/Experiment/ModelContainer.cs diff --git a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs index f67ca0eb46..fedb625c4e 100644 --- a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs +++ b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System.IO; using System.Threading; namespace Microsoft.ML.Auto @@ -12,6 +13,13 @@ public class ExperimentSettings public CancellationToken CancellationToken { get; set; } = default; /// + /// This is a pointer to a directory where all models trained during the AutoML experiment will be saved. + /// If null, models will be kept in memory instead of written to disk. + /// (Please note: for an experiment with high runtime operating on a large dataset, opting to keep models in + /// memory could cause a system to run out of memory.) + /// + public DirectoryInfo ModelDirectory { get; set; } = null; + /// This setting controls whether or not an AutoML experiment will make use of ML.NET-provided caching. /// If set to true, caching will be forced on for all pipelines. If set to false, caching will be forced off. /// If set to null (default value), AutoML will decide whether to enable caching for each model. diff --git a/src/Microsoft.ML.Auto/API/RunResult.cs b/src/Microsoft.ML.Auto/API/RunResult.cs index c20f421920..b472e01f99 100644 --- a/src/Microsoft.ML.Auto/API/RunResult.cs +++ b/src/Microsoft.ML.Auto/API/RunResult.cs @@ -3,14 +3,16 @@ // See the LICENSE file in the project root for more information. using System; +using System.IO; using System.Linq; +using Microsoft.ML.Data; namespace Microsoft.ML.Auto { public sealed class RunResult { public T ValidationMetrics { get; private set; } - public ITransformer Model { get; private set; } + public ITransformer Model { get { return _modelContainer.GetModel(); } } public Exception Exception { get; private set; } public string TrainerName { get; private set; } public int RuntimeInSeconds { get; private set; } @@ -19,8 +21,9 @@ public sealed class RunResult internal Pipeline Pipeline { get; private set; } internal int PipelineInferenceTimeInSeconds { get; private set; } - internal RunResult( - ITransformer model, + private readonly ModelContainer _modelContainer; + + internal RunResult(ModelContainer modelContainer, T metrics, IEstimator estimator, Pipeline pipeline, @@ -28,7 +31,7 @@ internal RunResult( int runtimeInSeconds, int pipelineInferenceTimeInSeconds) { - Model = model; + _modelContainer = modelContainer; ValidationMetrics = metrics; Pipeline = pipeline; Estimator = estimator; diff --git a/src/Microsoft.ML.Auto/Experiment/Experiment.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs index efeeae3a04..f185960a4c 100644 --- a/src/Microsoft.ML.Auto/Experiment/Experiment.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -5,6 +5,8 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using System.IO; +using System.Linq; using System.Text; using Microsoft.Data.DataView; @@ -22,9 +24,11 @@ internal class Experiment where T : class private readonly ExperimentSettings _experimentSettings; private readonly IMetricsAgent _metricsAgent; private readonly IEnumerable _trainerWhitelist; + private readonly DirectoryInfo _modelDirectory; private IDataView _trainData; private IDataView _validationData; + private ITransformer _preprocessorTransform; List> iterationResults = new List>(); @@ -57,17 +61,17 @@ public Experiment(MLContext context, _experimentSettings = experimentSettings; _metricsAgent = metricsAgent; _trainerWhitelist = trainerWhitelist; + _modelDirectory = GetModelDirectory(_experimentSettings.ModelDirectory); } public List> Execute() { - ITransformer preprocessorTransform = null; if (_preFeaturizers != null) { // preprocess train and validation data - preprocessorTransform = _preFeaturizers.Fit(_trainData); - _trainData = preprocessorTransform.Transform(_trainData); - _validationData = preprocessorTransform.Transform(_validationData); + _preprocessorTransform = _preFeaturizers.Fit(_trainData); + _trainData = _preprocessorTransform.Transform(_trainData); + _validationData = _preprocessorTransform.Transform(_validationData); } var stopwatch = Stopwatch.StartNew(); @@ -97,12 +101,6 @@ public List> Execute() // evaluate pipeline runResult = ProcessPipeline(pipeline); - if (_preFeaturizers != null) - { - runResult.Estimator = _preFeaturizers.Append(runResult.Estimator); - runResult.Model = preprocessorTransform.Append(runResult.Model); - } - runResult.RuntimeInSeconds = (int)iterationStopwatch.Elapsed.TotalSeconds; runResult.PipelineInferenceTimeInSeconds = (int)getPiplelineStopwatch.Elapsed.TotalSeconds; } @@ -129,6 +127,33 @@ public List> Execute() return iterationResults; } + private static DirectoryInfo GetModelDirectory(DirectoryInfo rootDir) + { + if (rootDir == null) + { + return null; + } + var subdirs = rootDir.Exists ? + new HashSet(rootDir.EnumerateDirectories().Select(d => d.Name)) : + new HashSet(); + string experimentDir; + for (var i = 0; ; i++) + { + experimentDir = $"experiment{i}"; + if (!subdirs.Contains(experimentDir)) + { + break; + } + } + var experimentDirFullPath = Path.Combine(rootDir.FullName, experimentDir); + var experimentDirInfo = new DirectoryInfo(experimentDirFullPath); + if (!experimentDirInfo.Exists) + { + experimentDirInfo.Create(); + } + return experimentDirInfo; + } + private void ReportProgress(RunResult iterationResult) { try @@ -141,6 +166,17 @@ private void ReportProgress(RunResult iterationResult) } } + private FileInfo GetNextModelFileInfo() + { + if (_experimentSettings.ModelDirectory == null) + { + return null; + } + + return new FileInfo(Path.Combine(_modelDirectory.FullName, + $"Model{_history.Count + 1}.zip")); + } + private SuggestedPipelineResult ProcessPipeline(SuggestedPipeline pipeline) { // run pipeline @@ -150,22 +186,33 @@ private SuggestedPipelineResult ProcessPipeline(SuggestedPipeline pipeline) WriteDebugLog(DebugStream.RunResult, $"Processing pipeline {commandLineStr}."); - var pipelineEstimator = pipeline.ToEstimator(); - SuggestedPipelineResult runResult; try { - var pipelineModel = pipelineEstimator.Fit(_trainData); - var scoredValidationData = pipelineModel.Transform(_validationData); + var model = pipeline.ToEstimator().Fit(_trainData); + var scoredValidationData = model.Transform(_validationData); var metrics = GetEvaluatedMetrics(scoredValidationData); var score = _metricsAgent.GetScore(metrics); - runResult = new SuggestedPipelineResult(metrics, pipelineEstimator, pipelineModel, pipeline, score, null); + + var estimator = pipeline.ToEstimator(); + if (_preFeaturizers != null) + { + estimator = _preFeaturizers.Append(estimator); + model = _preprocessorTransform.Append(model); + } + + var modelFileInfo = GetNextModelFileInfo(); + var modelContainer = modelFileInfo == null ? + new ModelContainer(_context, model) : + new ModelContainer(_context, modelFileInfo, model); + + runResult = new SuggestedPipelineResult(metrics, estimator, modelContainer, pipeline, score, null); } catch(Exception ex) { WriteDebugLog(DebugStream.Exception, $"{pipeline.Trainer} Crashed {ex}"); - runResult = new SuggestedPipelineResult(null, pipelineEstimator, null, pipeline, 0, ex); + runResult = new SuggestedPipelineResult(null, pipeline.ToEstimator(), null, pipeline, 0, ex); } // save pipeline run diff --git a/src/Microsoft.ML.Auto/Experiment/ModelContainer.cs b/src/Microsoft.ML.Auto/Experiment/ModelContainer.cs new file mode 100644 index 0000000000..c68a97211d --- /dev/null +++ b/src/Microsoft.ML.Auto/Experiment/ModelContainer.cs @@ -0,0 +1,51 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.IO; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal class ModelContainer + { + private readonly MLContext _mlContext; + private readonly FileInfo _fileInfo; + private readonly ITransformer _model; + + internal ModelContainer(MLContext mlContext, ITransformer model) + { + _mlContext = mlContext; + _model = model; + } + + internal ModelContainer(MLContext mlContext, FileInfo fileInfo, ITransformer model) + { + _mlContext = mlContext; + _fileInfo = fileInfo; + + // Write model to disk + using (var fs = File.Create(fileInfo.FullName)) + { + model.SaveTo(mlContext, fs); + } + } + + public ITransformer GetModel() + { + // If model stored in memory, return it + if (_model != null) + { + return _model; + } + + // Load model from disk + ITransformer model; + using (var stream = new FileStream(_fileInfo.FullName, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + model = _mlContext.Model.Load(stream); + } + return model; + } + } +} diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs index 8a5473a458..d67cb22c82 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using System.IO; namespace Microsoft.ML.Auto { @@ -34,25 +35,25 @@ internal class SuggestedPipelineResult : SuggestedPipelineResult { public readonly T EvaluatedMetrics; public IEstimator Estimator { get; set; } - public ITransformer Model { get; set; } + public ModelContainer ModelContainer { get; set; } public Exception Exception { get; set; } public int RuntimeInSeconds { get; set; } public int PipelineInferenceTimeInSeconds { get; set; } - public SuggestedPipelineResult(T evaluatedMetrics, IEstimator estimator, - ITransformer model, SuggestedPipeline pipeline, double score, Exception exception) + public SuggestedPipelineResult(T evaluatedMetrics, IEstimator estimator, + ModelContainer modelContainer, SuggestedPipeline pipeline, double score, Exception exception) : base(pipeline, score, exception == null) { EvaluatedMetrics = evaluatedMetrics; Estimator = estimator; - Model = model; + ModelContainer = modelContainer; Exception = exception; } public RunResult ToIterationResult() { - return new RunResult(Model, EvaluatedMetrics, Estimator, Pipeline.ToPipeline(), Exception, RuntimeInSeconds, PipelineInferenceTimeInSeconds); + return new RunResult(ModelContainer, EvaluatedMetrics, Estimator, Pipeline.ToPipeline(), Exception, RuntimeInSeconds, PipelineInferenceTimeInSeconds); } } } diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index 6bef101059..7190f6cc5e 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -41,7 +41,7 @@ public void AutoFitMultiTest() .CreateMulticlassClassificationExperiment(0) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.TrivialMulticlassDatasetLabel }); - Assert.IsTrue(result.Max(i => i.ValidationMetrics.AccuracyMacro) > 0.80); + Assert.IsTrue(result.Max(i => i.ValidationMetrics.AccuracyMicro) >= 0.8); } [TestMethod] From d03e55fac12b4ed7e4be7c205c8bc355b145bfda Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Tue, 12 Mar 2019 17:11:14 -0700 Subject: [PATCH 158/211] Print failed iterations in CLI (#275) --- src/mlnet/Utilities/ConsolePrinter.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 2af698e7df..24c57445ce 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -14,17 +14,17 @@ internal class ConsolePrinter internal static void PrintBinaryClassificationMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics) { - logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics.Accuracy,9:F4} {metrics.Auc,8:F4} {metrics.Auprc,8:F4} {metrics.F1Score,9:F4}"); + logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics?.Accuracy ?? double.NaN,9:F4} {metrics?.Auc ?? double.NaN,8:F4} {metrics?.Auprc ?? double.NaN,8:F4} {metrics?.F1Score ?? double.NaN,9:F4}"); } internal static void PrintMulticlassClassificationMetrics(int iteration, string trainerName, MultiClassClassifierMetrics metrics) { - logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics.AccuracyMicro,14:F4} {metrics.AccuracyMacro,14:F4}"); + logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics?.AccuracyMicro ?? double.NaN,14:F4} {metrics?.AccuracyMacro ?? double.NaN,14:F4}"); } internal static void PrintRegressionMetrics(int iteration, string trainerName, RegressionMetrics metrics) { - logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics.RSquared,9:F4} {metrics.LossFn,12:F2} {metrics.L1,15:F2} {metrics.L2,15:F2} {metrics.Rms,12:F2}"); + logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics?.RSquared ?? double.NaN,9:F4} {metrics?.LossFn ?? double.NaN,12:F2} {metrics?.L1 ?? double.NaN,15:F2} {metrics?.L2 ?? double.NaN,15:F2} {metrics?.Rms ?? double.NaN,12:F2}"); } internal static void PrintBinaryClassificationMetricsHeader() From 0bb8951bd266b366368edbe33c9aa70df52c9c11 Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 13 Mar 2019 10:54:02 -0700 Subject: [PATCH 159/211] change the type to float from double (#277) --- .../TrainerExtensions/SweepableParams.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/SweepableParams.cs b/src/Microsoft.ML.Auto/TrainerExtensions/SweepableParams.cs index e7ee1c8213..47083ffc20 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/SweepableParams.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/SweepableParams.cs @@ -13,7 +13,7 @@ private static IEnumerable BuildAveragedLinearArgsParams() { return new SweepableParam[] { - new SweepableDiscreteParam("LearningRate", new object[] { 0.01, 0.1, 0.5, 1.0 }), + new SweepableDiscreteParam("LearningRate", new object[] { 0.01f, 0.1f, 0.5f, 1.0f}), new SweepableDiscreteParam("DecreaseLearningRate", new object[] { false, true }), new SweepableFloatParam("L2RegularizerWeight", 0.0f, 0.4f), }; @@ -31,12 +31,12 @@ private static IEnumerable BuildOnlineLinearArgsParams() private static IEnumerable BuildTreeArgsParams() { - return new SweepableParam[] - { + return new SweepableParam[] + { new SweepableLongParam("NumLeaves", 2, 128, isLogScale: true, stepSize: 4), new SweepableDiscreteParam("MinDocumentsInLeafs", new object[] { 1, 10, 50 }), new SweepableDiscreteParam("NumTrees", new object[] { 20, 100, 500 }), - }; + }; } private static IEnumerable BuildBoostedTreeArgsParams() @@ -139,13 +139,15 @@ public static IEnumerable BuildSdcaParams() }; } - public static IEnumerable BuildOrdinaryLeastSquaresParams() { + public static IEnumerable BuildOrdinaryLeastSquaresParams() + { return new SweepableParam[] { new SweepableDiscreteParam("L2Weight", new object[] { 1e-6f, 0.1f, 1f }) }; } - public static IEnumerable BuildSgdParams() { + public static IEnumerable BuildSgdParams() + { return new SweepableParam[] { new SweepableDiscreteParam("L2Weight", new object[] { 1e-7f, 5e-7f, 1e-6f, 5e-6f, 1e-5f }), new SweepableDiscreteParam("ConvergenceTolerance", new object[] { 1e-2f, 1e-3f, 1e-4f, 1e-5f }), @@ -154,7 +156,8 @@ public static IEnumerable BuildSgdParams() { }; } - public static IEnumerable BuildSymSgdParams() { + public static IEnumerable BuildSymSgdParams() + { return new SweepableParam[] { new SweepableDiscreteParam("NumberOfIterations", new object[] { 1, 5, 10, 20, 30, 40, 50 }), new SweepableDiscreteParam("LearningRate", new object[] { "", 1e1f, 1e0f, 1e-1f, 1e-2f, 1e-3f }), From 3a4595d5fa52f458149044700cf0383806e881ea Mon Sep 17 00:00:00 2001 From: srsaggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 13 Mar 2019 14:23:25 -0700 Subject: [PATCH 160/211] cache arg implementation in CLI (#280) * cache implementation * corrected the null case * added tests for all cases --- src/mlnet.Test/CommandLineTests.cs | 58 ++++++++++++++++++++ src/mlnet/AutoML/AutoMLEngine.cs | 11 +++- src/mlnet/Commands/CommandDefinitions.cs | 10 ++++ src/mlnet/Commands/New/NewCommandSettings.cs | 2 + src/mlnet/Utilities/Utils.cs | 12 ++++ 5 files changed, 90 insertions(+), 3 deletions(-) diff --git a/src/mlnet.Test/CommandLineTests.cs b/src/mlnet.Test/CommandLineTests.cs index 4019887fde..764e56fdf6 100644 --- a/src/mlnet.Test/CommandLineTests.cs +++ b/src/mlnet.Test/CommandLineTests.cs @@ -172,5 +172,63 @@ public void TestCommandLineArgsMutuallyExclusiveArgsTest() Assert.IsFalse(parsingSuccessful); } + + [TestMethod] + public void CacheArgumentTest() + { + bool parsingSuccessful = false; + var trainDataset = Path.GetTempFileName(); + var testDataset = Path.GetTempFileName(); + var labelName = "Label"; + var cache = "on"; + + // Create handler outside so that commandline and the handler is decoupled and testable. + var handler = CommandHandler.Create( + (opt) => + { + parsingSuccessful = true; + Assert.AreEqual(opt.MlTask, "binary-classification"); + Assert.AreEqual(opt.Dataset, trainDataset); + Assert.AreEqual(opt.LabelColumnName, labelName); + Assert.AreEqual(opt.Cache, cache); + }); + + var parser = new CommandLineBuilder() + // Parser + .AddCommand(CommandDefinitions.New(handler)) + .UseDefaults() + .Build(); + + // valid cache test + string[] args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--cache", cache }; + parser.InvokeAsync(args).Wait(); + Assert.IsTrue(parsingSuccessful); + + parsingSuccessful = false; + + cache = "off"; + // valid cache test + args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--cache", cache }; + parser.InvokeAsync(args).Wait(); + Assert.IsTrue(parsingSuccessful); + + parsingSuccessful = false; + + cache = "auto"; + // valid cache test + args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--cache", cache }; + parser.InvokeAsync(args).Wait(); + Assert.IsTrue(parsingSuccessful); + + parsingSuccessful = false; + + // invalid cache test + args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--cache", "blah" }; + parser.InvokeAsync(args).Wait(); + Assert.IsFalse(parsingSuccessful); + + File.Delete(trainDataset); + File.Delete(testDataset); + } } } diff --git a/src/mlnet/AutoML/AutoMLEngine.cs b/src/mlnet/AutoML/AutoMLEngine.cs index bea178e959..cbb2e20e2a 100644 --- a/src/mlnet/AutoML/AutoMLEngine.cs +++ b/src/mlnet/AutoML/AutoMLEngine.cs @@ -14,12 +14,14 @@ internal class AutoMLEngine : IAutoMLEngine { private NewCommandSettings settings; private TaskKind taskKind; + private bool? enableCaching; private static Logger logger = LogManager.GetCurrentClassLogger(); public AutoMLEngine(NewCommandSettings settings) { this.settings = settings; this.taskKind = Utils.GetTaskKind(settings.MlTask); + this.enableCaching = Utils.GetCacheSettings(settings.Cache); } public ColumnInferenceResults InferColumns(MLContext context) @@ -53,7 +55,8 @@ public ColumnInferenceResults InferColumns(MLContext context) .CreateBinaryClassificationExperiment(new BinaryExperimentSettings() { MaxExperimentTimeInSeconds = settings.MaxExplorationTime, - ProgressHandler = progressReporter + ProgressHandler = progressReporter, + EnableCaching = this.enableCaching }) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); @@ -69,7 +72,8 @@ public ColumnInferenceResults InferColumns(MLContext context) .CreateRegressionExperiment(new RegressionExperimentSettings() { MaxExperimentTimeInSeconds = settings.MaxExplorationTime, - ProgressHandler = progressReporter + ProgressHandler = progressReporter, + EnableCaching = this.enableCaching }).Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); var bestIteration = result.Best(); @@ -84,7 +88,8 @@ public ColumnInferenceResults InferColumns(MLContext context) var experimentSettings = new MulticlassExperimentSettings() { MaxExperimentTimeInSeconds = settings.MaxExplorationTime, - ProgressHandler = progressReporter + ProgressHandler = progressReporter, + EnableCaching = this.enableCaching }; // Inclusion list for currently supported learners. Need to remove once we have codegen support for all other learners. diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 1a6fe7d1ee..19fc3d4d68 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -30,6 +30,7 @@ internal static System.CommandLine.Command New(ICommandHandler handler) Name(), OutputPath(), HasHeader(), + Cache() }; newCommand.Argument.AddValidator((sym) => @@ -99,6 +100,10 @@ Option HasHeader() => new Option(new List() { "--has-header" }, "Specify true/false depending if the dataset file(s) have a header row.", new Argument(defaultValue: true)); + Option Cache() => + new Option(new List() { "--cache" }, "Specify on/off/auto if you want cache to be turned on, off or auto determined.", +new Argument(defaultValue: "auto").FromAmong(GetCacheSuggestions())); + } private static string[] GetMlTaskSuggestions() @@ -110,5 +115,10 @@ private static string[] GetVerbositySuggestions() { return new[] { "q", "m", "diag" }; } + + private static string[] GetCacheSuggestions() + { + return new[] { "on", "off", "auto" }; + } } } diff --git a/src/mlnet/Commands/New/NewCommandSettings.cs b/src/mlnet/Commands/New/NewCommandSettings.cs index ddf0499049..ed34d508c4 100644 --- a/src/mlnet/Commands/New/NewCommandSettings.cs +++ b/src/mlnet/Commands/New/NewCommandSettings.cs @@ -30,5 +30,7 @@ public class NewCommandSettings public bool HasHeader { get; set; } + public string Cache { get; set; } + } } diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index 8514244dfc..2e4805952e 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -79,5 +79,17 @@ internal static string Normalize(string input) } } + internal static bool? GetCacheSettings(string input) + { + switch (input) + { + case "on": return true; + case "off": return false; + case "auto": return null; + default: + throw new ArgumentException($"{nameof(input)} is invalid", nameof(input)); + } + } + } } From f25e4f90d2f6fabfff4086986e7c15c30473df3e Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 13 Mar 2019 17:52:48 -0700 Subject: [PATCH 161/211] Remove duplicate value-to-key mapping transform for multiclass string labels (#283) --- .../PipelineSuggesters/PipelineSuggester.cs | 19 +---------- .../TransformInference/TransformInference.cs | 33 +++++++++++-------- .../TransformInferenceApi.cs | 4 +-- .../Utils/MLNetUtils/ColumnTypeExtensions.cs | 5 +++ src/Test/TransformInferenceTests.cs | 9 ++--- 5 files changed, 32 insertions(+), 38 deletions(-) diff --git a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs index 7a28528886..ae6ec0e4f2 100644 --- a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs +++ b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs @@ -35,8 +35,7 @@ public static SuggestedPipeline GetNextInferredPipeline(MLContext context, { var availableTrainers = RecipeInference.AllowedTrainers(context, task, ColumnInformationUtil.BuildColumnInfo(columns), trainerWhitelist); - var transforms = CalculateTransforms(context, columns, task); - //var transforms = TransformInferenceApi.InferTransforms(context, columns, task); + var transforms = TransformInferenceApi.InferTransforms(context, task, columns); // if we haven't run all pipelines once if (history.Count() < availableTrainers.Count()) @@ -213,21 +212,5 @@ private static bool SampleHyperparameters(MLContext context, SuggestedTrainer tr return true; } - - private static IEnumerable CalculateTransforms( - MLContext context, - (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns, - TaskKind task) - { - var transforms = TransformInferenceApi.InferTransforms(context, columns).ToList(); - // this is a work-around for ML.NET bug tracked by https://github.com/dotnet/machinelearning/issues/1969 - if (task == TaskKind.MulticlassClassification) - { - var labelColumn = columns.First(c => c.Item3 == ColumnPurpose.Label).Item1; - var transform = ValueToKeyMappingExtension.CreateSuggestedTransform(context, labelColumn, labelColumn); - transforms.Add(transform); - } - return transforms; - } } } \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs index eb9465c26c..a8f87b16ff 100644 --- a/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs +++ b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs @@ -117,12 +117,12 @@ public bool Equals(ColumnRoutingStructure obj) internal interface ITransformInferenceExpert { - IEnumerable Apply(IntermediateColumn[] columns); + IEnumerable Apply(IntermediateColumn[] columns, TaskKind task); } public abstract class TransformInferenceExpertBase : ITransformInferenceExpert { - public abstract IEnumerable Apply(IntermediateColumn[] columns); + public abstract IEnumerable Apply(IntermediateColumn[] columns, TaskKind task); protected readonly MLContext Context; @@ -137,8 +137,8 @@ private static IEnumerable GetExperts(MLContext conte // The expert work independently of each other, the sequence is irrelevant // (it only determines the sequence of resulting transforms). - // For text labels, convert to categories. - yield return new Experts.AutoLabel(context); + // For multiclass tasks, convert label column to key + yield return new Experts.Label(context); // For boolean columns use convert transform yield return new Experts.Boolean(context); @@ -155,21 +155,26 @@ private static IEnumerable GetExperts(MLContext conte internal static class Experts { - internal sealed class AutoLabel : TransformInferenceExpertBase + internal sealed class Label : TransformInferenceExpertBase { - public AutoLabel(MLContext context) : base(context) + public Label(MLContext context) : base(context) { } - public override IEnumerable Apply(IntermediateColumn[] columns) + public override IEnumerable Apply(IntermediateColumn[] columns, TaskKind task) { + if (task != TaskKind.MulticlassClassification) + { + yield break; + } + var lastLabelColId = Array.FindLastIndex(columns, x => x.Purpose == ColumnPurpose.Label); if (lastLabelColId < 0) yield break; var col = columns[lastLabelColId]; - if (col.Type.IsText()) + if (!col.Type.IsKey()) { yield return ValueToKeyMappingExtension.CreateSuggestedTransform(Context, col.ColumnName, col.ColumnName); } @@ -182,7 +187,7 @@ public Categorical(MLContext context) : base(context) { } - public override IEnumerable Apply(IntermediateColumn[] columns) + public override IEnumerable Apply(IntermediateColumn[] columns, TaskKind task) { bool foundCat = false; bool foundCatHash = false; @@ -232,7 +237,7 @@ public Boolean(MLContext context) : base(context) { } - public override IEnumerable Apply(IntermediateColumn[] columns) + public override IEnumerable Apply(IntermediateColumn[] columns, TaskKind task) { var newColumns = new List(); @@ -260,7 +265,7 @@ public Text(MLContext context) : base(context) { } - public override IEnumerable Apply(IntermediateColumn[] columns) + public override IEnumerable Apply(IntermediateColumn[] columns, TaskKind task) { var featureCols = new List(); @@ -286,7 +291,7 @@ public NumericMissing(MLContext context) : base(context) { } - public override IEnumerable Apply(IntermediateColumn[] columns) + public override IEnumerable Apply(IntermediateColumn[] columns, TaskKind task) { var columnsWithMissing = new List(); foreach (var column in columns) @@ -313,7 +318,7 @@ public override IEnumerable Apply(IntermediateColumn[] colum /// /// Automatically infer transforms for the data view /// - public static SuggestedTransform[] InferTransforms(MLContext context, (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns) + public static SuggestedTransform[] InferTransforms(MLContext context, TaskKind task, (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns) { var intermediateCols = columns.Where(c => c.Item3 != ColumnPurpose.Ignore) .Select(c => new IntermediateColumn(c.Item1, c.Item2, c.Item3, c.Item4)) @@ -322,7 +327,7 @@ public static SuggestedTransform[] InferTransforms(MLContext context, (string, D var suggestedTransforms = new List(); foreach (var expert in GetExperts(context)) { - SuggestedTransform[] suggestions = expert.Apply(intermediateCols).ToArray(); + SuggestedTransform[] suggestions = expert.Apply(intermediateCols, task).ToArray(); suggestedTransforms.AddRange(suggestions); } diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs b/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs index 11fb3a77d1..b1446f2b96 100644 --- a/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs +++ b/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs @@ -9,9 +9,9 @@ namespace Microsoft.ML.Auto { internal static class TransformInferenceApi { - public static IEnumerable InferTransforms(MLContext context, (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns) + public static IEnumerable InferTransforms(MLContext context, TaskKind task, (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns) { - return TransformInference.InferTransforms(context, columns); + return TransformInference.InferTransforms(context, task, columns); } } } diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs index 79c105a126..9d49774c16 100644 --- a/src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs @@ -29,6 +29,11 @@ public static bool IsVector(this DataViewType columnType) return columnType is VectorType; } + public static bool IsKey(this DataViewType columnType) + { + return columnType is KeyType; + } + public static bool IsKnownSizeVector(this DataViewType columnType) { var vector = columnType as VectorType; diff --git a/src/Test/TransformInferenceTests.cs b/src/Test/TransformInferenceTests.cs index 6c0bb94a0c..5c1d493e5c 100644 --- a/src/Test/TransformInferenceTests.cs +++ b/src/Test/TransformInferenceTests.cs @@ -645,7 +645,7 @@ public void TransformInferenceCustomLabelCol() } [TestMethod] - public void TransformInferenceCustomTextLabelCol() + public void TransformInferenceCustomTextLabelColMulticlass() { TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { @@ -663,7 +663,7 @@ public void TransformInferenceCustomTextLabelCol() ], ""Properties"": {} } -]"); +]", TaskKind.MulticlassClassification); } [TestMethod] @@ -727,9 +727,10 @@ public void TransformInferenceMissingNameCollision() private static void TransformInferenceTestCore( (string name, DataViewType type, ColumnPurpose purpose, ColumnDimensions dimensions)[] columns, - string expectedJson) + string expectedJson, + TaskKind task = TaskKind.BinaryClassification) { - var transforms = TransformInferenceApi.InferTransforms(new MLContext(), columns); + var transforms = TransformInferenceApi.InferTransforms(new MLContext(), task, columns); TestApplyTransformsToRealDataView(transforms, columns); var pipelineNodes = transforms.Select(t => t.PipelineNode); Util.AssertObjectMatchesJson(expectedJson, pipelineNodes); From 6e5a5d7ccc4b8aa4266fa2c9c575774b53aba9fa Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Fri, 15 Mar 2019 15:40:41 -0700 Subject: [PATCH 162/211] Add post-trainer transform SDK infra; add KeyToValueMapping transform to CLI; fix: for generated multiclass models, convert predicted label from key to original label column type (#286) --- .../EstimatorExtensionCatalog.cs | 2 + .../EstimatorExtensions.cs | 21 ++++++ .../Experiment/SuggestedPipeline.cs | 32 ++++++++- .../PipelineSuggesters/PipelineSuggester.cs | 8 ++- .../TransformInferenceApi.cs | 5 ++ .../TransformPostTrainerInference.cs | 44 ++++++++++++ src/Test/AutoFitTests.cs | 10 ++- src/Test/InferredPipelineTests.cs | 20 +++--- .../TransformPostTrainerInferenceTests.cs | 71 +++++++++++++++++++ .../ConsoleCodeGeneratorTests.cs | 4 +- src/mlnet.Test/TransformGeneratorTests.cs | 15 ++++ .../CSharp/TransformGeneratorFactory.cs | 3 + .../CSharp/TransformGenerators.cs | 25 +++++++ 13 files changed, 239 insertions(+), 21 deletions(-) create mode 100644 src/Microsoft.ML.Auto/TransformInference/TransformPostTrainerInference.cs create mode 100644 src/Test/TransformPostTrainerInferenceTests.cs diff --git a/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensionCatalog.cs b/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensionCatalog.cs index ca24f0fc0d..e37acd42ac 100644 --- a/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensionCatalog.cs +++ b/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensionCatalog.cs @@ -11,6 +11,7 @@ internal enum EstimatorName { ColumnConcatenating, ColumnCopying, + KeyToValueMapping, MissingValueIndicating, MissingValueReplacing, Normalizing, @@ -28,6 +29,7 @@ internal class EstimatorExtensionCatalog { { EstimatorName.ColumnConcatenating, typeof(ColumnConcatenatingExtension) }, { EstimatorName.ColumnCopying, typeof(ColumnCopyingExtension) }, + { EstimatorName.KeyToValueMapping, typeof(KeyToValueMappingExtension) }, { EstimatorName.MissingValueIndicating, typeof(MissingValueIndicatingExtension) }, { EstimatorName.MissingValueReplacing, typeof(MissingValueReplacingExtension) }, { EstimatorName.Normalizing, typeof(NormalizingExtension) }, diff --git a/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs b/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs index 353c730ce3..3e9f5c386b 100644 --- a/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs +++ b/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs @@ -49,6 +49,27 @@ private static IEstimator CreateInstance(MLContext context, string } } + internal class KeyToValueMappingExtension : IEstimatorExtension + { + public IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode) + { + return CreateInstance(context, pipelineNode.InColumns[0], pipelineNode.OutColumns[0]); + } + + public static SuggestedTransform CreateSuggestedTransform(MLContext context, string inColumn, string outColumn) + { + var pipelineNode = new PipelineNode(EstimatorName.KeyToValueMapping.ToString(), + PipelineNodeType.Transform, inColumn, outColumn); + var estimator = CreateInstance(context, inColumn, outColumn); + return new SuggestedTransform(pipelineNode, estimator); + } + + private static IEstimator CreateInstance(MLContext context, string inColumn, string outColumn) + { + return context.Transforms.Conversion.MapKeyToValue(outColumn, inColumn); + } + } + internal class MissingValueIndicatingExtension : IEstimatorExtension { public IEstimator CreateInstance(MLContext context, PipelineNode pipelineNode) diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs index faf87c1649..38580b6e1b 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs @@ -17,17 +17,20 @@ internal class SuggestedPipeline { public readonly IList Transforms; public readonly SuggestedTrainer Trainer; + public readonly IList TransformsPostTrainer; private readonly MLContext _context; private readonly bool? _enableCaching; public SuggestedPipeline(IEnumerable transforms, + IEnumerable transformsPostTrainer, SuggestedTrainer trainer, MLContext context, bool? enableCaching, bool autoNormalize = true) { Transforms = transforms.Select(t => t.Clone()).ToList(); + TransformsPostTrainer = transformsPostTrainer.Select(t => t.Clone()).ToList(); Trainer = trainer.Clone(); _context = context; _enableCaching = enableCaching; @@ -38,7 +41,7 @@ public SuggestedPipeline(IEnumerable transforms, } } - public override string ToString() => $"{string.Join(" xf=", this.Transforms)} tr={this.Trainer}"; + public override string ToString() => $"{string.Join(" xf=", this.Transforms)} tr={this.Trainer} {string.Join(" xf=", this.TransformsPostTrainer)}"; public override bool Equals(object obj) { @@ -63,14 +66,20 @@ public Pipeline ToPipeline() pipelineElements.Add(transform.PipelineNode); } pipelineElements.Add(Trainer.ToPipelineNode()); + foreach (var transform in TransformsPostTrainer) + { + pipelineElements.Add(transform.PipelineNode); + } return new Pipeline(pipelineElements.ToArray()); } public static SuggestedPipeline FromPipeline(MLContext context, Pipeline pipeline) { var transforms = new List(); + var transformsPostTrainer = new List(); SuggestedTrainer trainer = null; + var trainerEncountered = false; foreach(var pipelineNode in pipeline.Nodes) { if(pipelineNode.NodeType == PipelineNodeType.Trainer) @@ -80,6 +89,7 @@ public static SuggestedPipeline FromPipeline(MLContext context, Pipeline pipelin var hyperParamSet = TrainerExtensionUtil.BuildParameterSet(trainerName, pipelineNode.Properties); var columnInfo = TrainerExtensionUtil.BuildColumnInfo(pipelineNode.Properties); trainer = new SuggestedTrainer(context, trainerExtension, columnInfo, hyperParamSet); + trainerEncountered = true; } else if (pipelineNode.NodeType == PipelineNodeType.Transform) { @@ -87,11 +97,18 @@ public static SuggestedPipeline FromPipeline(MLContext context, Pipeline pipelin var estimatorExtension = EstimatorExtensionCatalog.GetExtension(estimatorName); var estimator = estimatorExtension.CreateInstance(context, pipelineNode); var transform = new SuggestedTransform(pipelineNode, estimator); - transforms.Add(transform); + if (!trainerEncountered) + { + transforms.Add(transform); + } + else + { + transformsPostTrainer.Add(transform); + } } } - return new SuggestedPipeline(transforms, trainer, context, null); + return new SuggestedPipeline(transforms, transformsPostTrainer, trainer, context, null); } public IEstimator ToEstimator() @@ -118,6 +135,15 @@ public IEstimator ToEstimator() // Append learner to pipeline pipeline = pipeline.Append(learner); + // Append each post-trainer transformer to the pipeline + foreach (var transform in TransformsPostTrainer) + { + if (transform.Estimator != null) + { + pipeline = pipeline.Append(transform.Estimator); + } + } + return pipeline; } diff --git a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs index ae6ec0e4f2..623653519d 100644 --- a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs +++ b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs @@ -36,11 +36,12 @@ public static SuggestedPipeline GetNextInferredPipeline(MLContext context, var availableTrainers = RecipeInference.AllowedTrainers(context, task, ColumnInformationUtil.BuildColumnInfo(columns), trainerWhitelist); var transforms = TransformInferenceApi.InferTransforms(context, task, columns); + var transformsPostTrainer = TransformInferenceApi.InferTransformsPostTrainer(context, task, columns); // if we haven't run all pipelines once if (history.Count() < availableTrainers.Count()) { - return GetNextFirstStagePipeline(context, history, availableTrainers, transforms, _enableCaching); + return GetNextFirstStagePipeline(context, history, availableTrainers, transforms, transformsPostTrainer, _enableCaching); } // get top trainers from stage 1 runs @@ -71,7 +72,7 @@ public static SuggestedPipeline GetNextInferredPipeline(MLContext context, break; } - var suggestedPipeline = new SuggestedPipeline(transforms, newTrainer, context, _enableCaching); + var suggestedPipeline = new SuggestedPipeline(transforms, transformsPostTrainer, newTrainer, context, _enableCaching); // make sure we have not seen pipeline before if (!visitedPipelines.Contains(suggestedPipeline)) @@ -118,10 +119,11 @@ private static SuggestedPipeline GetNextFirstStagePipeline(MLContext context, IEnumerable history, IEnumerable availableTrainers, IEnumerable transforms, + IEnumerable transformsPostTrainer, bool? _enableCaching) { var trainer = availableTrainers.ElementAt(history.Count()); - return new SuggestedPipeline(transforms, trainer, context, _enableCaching); + return new SuggestedPipeline(transforms, transformsPostTrainer, trainer, context, _enableCaching); } private static IValueGenerator[] ConvertToValueGenerators(IEnumerable hps) diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs b/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs index b1446f2b96..974de67769 100644 --- a/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs +++ b/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs @@ -13,5 +13,10 @@ public static IEnumerable InferTransforms(MLContext context, { return TransformInference.InferTransforms(context, task, columns); } + + public static IEnumerable InferTransformsPostTrainer(MLContext context, TaskKind task, (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns) + { + return TransformPostTrainerInference.InferTransforms(context, task, columns); + } } } diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformPostTrainerInference.cs b/src/Microsoft.ML.Auto/TransformInference/TransformPostTrainerInference.cs new file mode 100644 index 0000000000..b14a80301f --- /dev/null +++ b/src/Microsoft.ML.Auto/TransformInference/TransformPostTrainerInference.cs @@ -0,0 +1,44 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using System.Linq; +using Microsoft.Data.DataView; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal class TransformPostTrainerInference + { + public static IEnumerable InferTransforms(MLContext context, TaskKind task, (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns) + { + var suggestedTransforms = new List(); + suggestedTransforms.AddRange(InferLabelTransforms(context, task, columns)); + return suggestedTransforms; + } + + private static IEnumerable InferLabelTransforms(MLContext context, TaskKind task, + (string name, DataViewType type, ColumnPurpose purpose, ColumnDimensions dimensions)[] columns) + { + var inferredTransforms = new List(); + + if (task != TaskKind.MulticlassClassification) + { + return inferredTransforms; + } + + // If label column type wasn't originally key type, + // convert predicted label column back from key to value. + // (Non-key label column was converted to key, b/c multiclass trainers only + // accept label columns that are key type) + var labelColumn = columns.First(c => c.purpose == ColumnPurpose.Label); + if (!labelColumn.type.IsKey()) + { + inferredTransforms.Add(KeyToValueMappingExtension.CreateSuggestedTransform(context, DefaultColumnNames.PredictedLabel, DefaultColumnNames.PredictedLabel)); + } + + return inferredTransforms; + } + } +} \ No newline at end of file diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index 7190f6cc5e..c3103d549b 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -2,6 +2,8 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using Microsoft.Data.DataView; +using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Linq; @@ -37,11 +39,13 @@ public void AutoFitMultiTest() var trainData = textLoader.Load(DatasetUtil.TrivialMulticlassDatasetPath); var validationData = context.Data.TakeRows(trainData, 20); trainData = context.Data.SkipRows(trainData, 20); - var result = context.Auto() + var results = context.Auto() .CreateMulticlassClassificationExperiment(0) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.TrivialMulticlassDatasetLabel }); - - Assert.IsTrue(result.Max(i => i.ValidationMetrics.AccuracyMicro) >= 0.8); + var best = results.Best(); + Assert.IsTrue(best.ValidationMetrics.AccuracyMicro >= 0.8); + var scoredData = best.Model.Transform(validationData); + Assert.AreEqual(NumberDataViewType.Single, scoredData.Schema[DefaultColumnNames.PredictedLabel].Type); } [TestMethod] diff --git a/src/Test/InferredPipelineTests.cs b/src/Test/InferredPipelineTests.cs index 42bf3d9a64..08ab787aec 100644 --- a/src/Test/InferredPipelineTests.cs +++ b/src/Test/InferredPipelineTests.cs @@ -22,16 +22,16 @@ public void InferredPipelinesHashTest() var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); var transforms1 = new List(); var transforms2 = new List(); - var inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context, null); - var inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context, null); + var inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, null); + var inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, null); Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // test same learners with hyperparams set vs empty hyperparams have different hash codes var hyperparams1 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams1); trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); - inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context, null); - inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context, null); + inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, null); + inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, null); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same learners with different hyperparams @@ -39,8 +39,8 @@ public void InferredPipelinesHashTest() var hyperparams2 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 6) }); trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams1); trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams2); - inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context, null); - inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context, null); + inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, null); + inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, null); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same learners with same transforms @@ -48,8 +48,8 @@ public void InferredPipelinesHashTest() trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context, null); - inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context, null); + inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, null); + inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, null); Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same transforms with different learners @@ -57,8 +57,8 @@ public void InferredPipelinesHashTest() trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context, null); - inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context, null); + inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, null); + inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, null); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); } } diff --git a/src/Test/TransformPostTrainerInferenceTests.cs b/src/Test/TransformPostTrainerInferenceTests.cs new file mode 100644 index 0000000000..20d3c5f5b7 --- /dev/null +++ b/src/Test/TransformPostTrainerInferenceTests.cs @@ -0,0 +1,71 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using System.Linq; +using Microsoft.Data.DataView; +using Microsoft.ML.Data; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class TransformPostTrainerInferenceTests + { + [TestMethod] + public void TransformPostTrainerMulticlassNonKeyLabel() + { + TransformPostTrainerInferenceTestCore(TaskKind.MulticlassClassification, + new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + { + ("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Label", NumberDataViewType.Single, ColumnPurpose.Label, new ColumnDimensions(null, null)), + }, @"[ + { + ""Name"": ""KeyToValueMapping"", + ""NodeType"": ""Transform"", + ""InColumns"": [ + ""PredictedLabel"" + ], + ""OutColumns"": [ + ""PredictedLabel"" + ], + ""Properties"": {} + } +]"); + } + + [TestMethod] + public void TransformPostTrainerBinaryLabel() + { + TransformPostTrainerInferenceTestCore(TaskKind.BinaryClassification, + new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + { + ("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Label", NumberDataViewType.Single, ColumnPurpose.Label, new ColumnDimensions(null, null)), + }, @"[]"); + } + + [TestMethod] + public void TransformPostTrainerMulticlassKeyLabel() + { + TransformPostTrainerInferenceTestCore(TaskKind.MulticlassClassification, + new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + { + ("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Label", new KeyType(typeof(uint), 3), ColumnPurpose.Label, new ColumnDimensions(null, null)), + }, @"[]"); + } + + private static void TransformPostTrainerInferenceTestCore( + TaskKind task, + (string name, DataViewType type, ColumnPurpose purpose, ColumnDimensions dimensions)[] columns, + string expectedJson) + { + var transforms = TransformInferenceApi.InferTransformsPostTrainer(new MLContext(), task, columns); + var pipelineNodes = transforms.Select(t => t.PipelineNode); + Util.AssertObjectMatchesJson(expectedJson, pipelineNodes); + } + } +} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index 0a29b8bcf2..831cb0aaf3 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -104,8 +104,8 @@ public void GeneratedHelperCodeTest() var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), new ColumnInformation(), hyperparams2); var transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; var transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - var inferredPipeline1 = new SuggestedPipeline(transforms1, trainer1, context, null); - var inferredPipeline2 = new SuggestedPipeline(transforms2, trainer2, context, null); + var inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, null); + var inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, null); this.pipeline = inferredPipeline1.ToPipeline(); var textLoaderArgs = new TextLoader.Options() diff --git a/src/mlnet.Test/TransformGeneratorTests.cs b/src/mlnet.Test/TransformGeneratorTests.cs index 16c1720255..90098f9337 100644 --- a/src/mlnet.Test/TransformGeneratorTests.cs +++ b/src/mlnet.Test/TransformGeneratorTests.cs @@ -84,6 +84,21 @@ public void ColumnCopyingTest() Assert.AreEqual(expectedUsings, actual[0].Item2); } + [TestMethod] + public void KeyToValueMappingTest() + { + var context = new MLContext(); + var elementProperties = new Dictionary(); + PipelineNode node = new PipelineNode("KeyToValueMapping", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); + Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); + CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); + var actual = codeGenerator.GenerateTransformsAndUsings(); + string expectedTransform = "Conversion.MapKeyToValue(\"Label\",\"Label\")"; + var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; + Assert.AreEqual(expectedTransform, actual[0].Item1); + Assert.AreEqual(expectedUsings, actual[0].Item2); + } + [TestMethod] public void MissingValueIndicatingTest() { diff --git a/src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs index d5c3e39936..2b83f6267f 100644 --- a/src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs @@ -36,6 +36,9 @@ internal static ITransformGenerator GetInstance(PipelineNode node) case EstimatorName.ColumnCopying: result = new ColumnCopying(node); break; + case EstimatorName.KeyToValueMapping: + result = new KeyToValueMapping(node); + break; case EstimatorName.MissingValueIndicating: result = new MissingValueIndicator(node); break; diff --git a/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs index 0fe06c0d02..4612241abd 100644 --- a/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs @@ -128,6 +128,31 @@ public override string GenerateTransformer() } } + internal class KeyToValueMapping : TransformGeneratorBase + { + public KeyToValueMapping(PipelineNode node) : base(node) + { + } + + internal override string MethodName => "Conversion.MapKeyToValue"; + + internal override string Usings => "using Microsoft.ML.Transforms;\r\n"; + + public override string GenerateTransformer() + { + StringBuilder sb = new StringBuilder(); + string inputColumn = inputColumns.Count() > 0 ? inputColumns[0] : "\"Features\""; + string outputColumn = outputColumns.Count() > 0 ? outputColumns[0] : throw new Exception($"output columns for the suggested transform: {MethodName} are null"); + sb.Append(MethodName); + sb.Append("("); + sb.Append(outputColumn); + sb.Append(","); + sb.Append(inputColumn); + sb.Append(")"); + return sb.ToString(); + } + } + internal class MissingValueIndicator : TransformGeneratorBase { public MissingValueIndicator(PipelineNode node) : base(node) From 4a6921d2b8b4019095920f0cf8cae887b51bcdc2 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Fri, 15 Mar 2019 18:05:08 -0700 Subject: [PATCH 163/211] Implement ignore columns command line arg (#290) * normalize line endings * added --ignore-columns * null checks * unit tests --- src/mlnet.Test/CommandLineTests.cs | 79 ++- src/mlnet/AutoML/AutoMLEngine.cs | 14 +- src/mlnet/AutoML/IAutoMLEngine.cs | 4 +- .../CodeGenerator/CodeGenerationHelper.cs | 22 +- src/mlnet/Commands/CommandDefinitions.cs | 12 +- src/mlnet/Commands/New/NewCommandSettings.cs | 3 + src/mlnet/Program.cs | 1 - src/mlnet/Templates/Console/ConsoleHelper.cs | 653 +++++++++++------- src/mlnet/Templates/Console/MLCodeGen.cs | 581 ++++++++++------ src/mlnet/Utilities/Utils.cs | 36 + 10 files changed, 887 insertions(+), 518 deletions(-) diff --git a/src/mlnet.Test/CommandLineTests.cs b/src/mlnet.Test/CommandLineTests.cs index 764e56fdf6..3ae5b7bf1a 100644 --- a/src/mlnet.Test/CommandLineTests.cs +++ b/src/mlnet.Test/CommandLineTests.cs @@ -2,9 +2,12 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; +using System.Collections.Generic; using System.CommandLine.Builder; using System.CommandLine.Invocation; using System.IO; +using System.Linq; using Microsoft.ML.CLI.Commands; using Microsoft.ML.CLI.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -30,6 +33,10 @@ public void TestMinimumCommandLineArgs() // Parser .AddCommand(CommandDefinitions.New(handler)) .UseDefaults() + .UseExceptionHandler((e, ctx) => + { + Console.WriteLine(e.ToString()); + }) .Build(); var trainDataset = Path.GetTempFileName(); @@ -58,6 +65,10 @@ public void TestCommandLineArgsFailTest() // parser .AddCommand(CommandDefinitions.New(handler)) .UseDefaults() + .UseExceptionHandler((e, ctx) => + { + Console.WriteLine(e.ToString()); + }) .Build(); // Incorrect mltask test @@ -96,29 +107,33 @@ public void TestCommandLineArgsValuesTest() var validDataset = Path.GetTempFileName(); var labelName = "Label"; var name = "testname"; - var outputPath = "."; + var outputPath = "x:\\mlnet"; var falseString = "false"; // Create handler outside so that commandline and the handler is decoupled and testable. var handler = CommandHandler.Create( (opt) => { - parsingSuccessful = true; Assert.AreEqual(opt.MlTask, "binary-classification"); - Assert.AreEqual(opt.Dataset, trainDataset); - Assert.AreEqual(opt.TestDataset, testDataset); - Assert.AreEqual(opt.ValidationDataset, validDataset); + Assert.AreEqual(opt.Dataset.FullName, trainDataset); + Assert.AreEqual(opt.TestDataset.FullName, testDataset); + Assert.AreEqual(opt.ValidationDataset.FullName, validDataset); Assert.AreEqual(opt.LabelColumnName, labelName); - Assert.AreEqual(opt.MaxExplorationTime, 5); + Assert.AreEqual(opt.MaxExplorationTime, (uint)5); Assert.AreEqual(opt.Name, name); - Assert.AreEqual(opt.OutputPath, outputPath); + Assert.AreEqual(opt.OutputPath.FullName, outputPath); Assert.AreEqual(opt.HasHeader, bool.Parse(falseString)); + parsingSuccessful = true; }); var parser = new CommandLineBuilder() // Parser .AddCommand(CommandDefinitions.New(handler)) .UseDefaults() + .UseExceptionHandler((e, ctx) => + { + Console.WriteLine(e.ToString()); + }) .Build(); // Incorrect mltask test @@ -151,6 +166,10 @@ public void TestCommandLineArgsMutuallyExclusiveArgsTest() // Parser .AddCommand(CommandDefinitions.New(handler)) .UseDefaults() + .UseExceptionHandler((e, ctx) => + { + Console.WriteLine(e.ToString()); + }) .Build(); // Incorrect arguments : specifying dataset and train-dataset @@ -186,17 +205,21 @@ public void CacheArgumentTest() var handler = CommandHandler.Create( (opt) => { - parsingSuccessful = true; Assert.AreEqual(opt.MlTask, "binary-classification"); - Assert.AreEqual(opt.Dataset, trainDataset); + Assert.AreEqual(opt.Dataset.FullName, trainDataset); Assert.AreEqual(opt.LabelColumnName, labelName); Assert.AreEqual(opt.Cache, cache); + parsingSuccessful = true; }); var parser = new CommandLineBuilder() // Parser .AddCommand(CommandDefinitions.New(handler)) .UseDefaults() + .UseExceptionHandler((e, ctx) => + { + Console.WriteLine(e.ToString()); + }) .Build(); // valid cache test @@ -230,5 +253,43 @@ public void CacheArgumentTest() File.Delete(trainDataset); File.Delete(testDataset); } + + [TestMethod] + public void IgnoreColumnsArgumentTest() + { + bool parsingSuccessful = false; + var trainDataset = Path.GetTempFileName(); + var testDataset = Path.GetTempFileName(); + var labelName = "Label"; + + // Create handler outside so that commandline and the handler is decoupled and testable. + var handler = CommandHandler.Create( + (opt) => + { + Assert.AreEqual(opt.MlTask, "binary-classification"); + Assert.AreEqual(opt.Dataset.FullName, trainDataset); + Assert.AreEqual(opt.LabelColumnName, labelName); + Assert.IsTrue(opt.IgnoreColumns.SequenceEqual(new List() { "a", "b", "c" })); + parsingSuccessful = true; + }); + + var parser = new CommandLineBuilder() + // Parser + .AddCommand(CommandDefinitions.New(handler)) + .UseDefaults() + .UseExceptionHandler((e, ctx) => + { + Console.WriteLine(e.ToString()); + }) + .Build(); + + // valid cache test + string[] args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--ignore-columns", "a", "b", "c" }; + parser.InvokeAsync(args).Wait(); + Assert.IsTrue(parsingSuccessful); + + File.Delete(trainDataset); + File.Delete(testDataset); + } } } diff --git a/src/mlnet/AutoML/AutoMLEngine.cs b/src/mlnet/AutoML/AutoMLEngine.cs index cbb2e20e2a..87efd68781 100644 --- a/src/mlnet/AutoML/AutoMLEngine.cs +++ b/src/mlnet/AutoML/AutoMLEngine.cs @@ -24,15 +24,15 @@ public AutoMLEngine(NewCommandSettings settings) this.enableCaching = Utils.GetCacheSettings(settings.Cache); } - public ColumnInferenceResults InferColumns(MLContext context) + public ColumnInferenceResults InferColumns(MLContext context, ColumnInformation columnInformation) { //Check what overload method of InferColumns needs to be called. logger.Log(LogLevel.Info, Strings.InferColumns); ColumnInferenceResults columnInference = null; var dataset = settings.Dataset.FullName; - if (settings.LabelColumnName != null) + if (columnInformation.LabelColumn != null) { - columnInference = context.Auto().InferColumns(dataset, settings.LabelColumnName, groupColumns: false); + columnInference = context.Auto().InferColumns(dataset, columnInformation, groupColumns: false); } else { @@ -42,7 +42,7 @@ public ColumnInferenceResults InferColumns(MLContext context) return columnInference; } - (Pipeline, ITransformer) IAutoMLEngine.ExploreModels(MLContext context, IDataView trainData, IDataView validationData, string labelName) + (Pipeline, ITransformer) IAutoMLEngine.ExploreModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation) { ITransformer model = null; @@ -58,7 +58,7 @@ public ColumnInferenceResults InferColumns(MLContext context) ProgressHandler = progressReporter, EnableCaching = this.enableCaching }) - .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); + .Execute(trainData, validationData, columnInformation); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); var bestIteration = result.Best(); pipeline = bestIteration.Pipeline; @@ -74,7 +74,7 @@ public ColumnInferenceResults InferColumns(MLContext context) MaxExperimentTimeInSeconds = settings.MaxExplorationTime, ProgressHandler = progressReporter, EnableCaching = this.enableCaching - }).Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); + }).Execute(trainData, validationData, columnInformation); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); var bestIteration = result.Best(); pipeline = bestIteration.Pipeline; @@ -100,7 +100,7 @@ public ColumnInferenceResults InferColumns(MLContext context) var result = context.Auto() .CreateMulticlassClassificationExperiment(experimentSettings) - .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = labelName }); + .Execute(trainData, validationData, columnInformation); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); var bestIteration = result.Best(); pipeline = bestIteration.Pipeline; diff --git a/src/mlnet/AutoML/IAutoMLEngine.cs b/src/mlnet/AutoML/IAutoMLEngine.cs index 6c91be28ee..ed04f40529 100644 --- a/src/mlnet/AutoML/IAutoMLEngine.cs +++ b/src/mlnet/AutoML/IAutoMLEngine.cs @@ -10,9 +10,9 @@ namespace Microsoft.ML.CLI.CodeGenerator { internal interface IAutoMLEngine { - ColumnInferenceResults InferColumns(MLContext context); + ColumnInferenceResults InferColumns(MLContext context, ColumnInformation columnInformation); - (Pipeline, ITransformer) ExploreModels(MLContext context, IDataView trainData, IDataView validationData, string labelName); + (Pipeline, ITransformer) ExploreModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation); } } diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index 6f7861837d..264d65e5f2 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -36,7 +36,13 @@ public void GenerateCode() ColumnInferenceResults columnInference = null; try { - columnInference = automlEngine.InferColumns(context); + var inputColumnInformation = new ColumnInformation(); + inputColumnInformation.LabelColumn = settings.LabelColumnName; + foreach (var value in settings.IgnoreColumns) + { + inputColumnInformation.IgnoredColumns.Add(value); + } + columnInference = automlEngine.InferColumns(context, inputColumnInformation); } catch (Exception e) { @@ -47,20 +53,22 @@ public void GenerateCode() return; } - // Sanitize columns - Array.ForEach(columnInference.TextLoaderOptions.Columns, t => t.Name = Utils.Sanitize(t.Name)); + var textLoaderOptions = columnInference.TextLoaderOptions; + var columnInformation = columnInference.ColumnInformation; - var sanitizedLabelName = Utils.Sanitize(columnInference.ColumnInformation.LabelColumn); + // Sanitization of input data. + Array.ForEach(textLoaderOptions.Columns, t => t.Name = Utils.Sanitize(t.Name)); + columnInformation = Utils.GetSanitizedColumnInformation(columnInformation); // Load data - (IDataView trainData, IDataView validationData) = LoadData(context, columnInference.TextLoaderOptions); + (IDataView trainData, IDataView validationData) = LoadData(context, textLoaderOptions); // Explore the models (Pipeline, ITransformer) result = default; Console.WriteLine($"{Strings.ExplorePipeline}: {settings.MlTask}"); try { - result = automlEngine.ExploreModels(context, trainData, validationData, sanitizedLabelName); + result = automlEngine.ExploreModels(context, trainData, validationData, columnInformation); } catch (Exception e) { @@ -82,7 +90,7 @@ public void GenerateCode() Utils.SaveModel(model, modelPath, context); // Generate the Project - GenerateProject(columnInference, pipeline, sanitizedLabelName, modelPath); + GenerateProject(columnInference, pipeline, columnInformation.LabelColumn, modelPath); } internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline pipeline, string labelName, FileInfo modelPath) diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 19fc3d4d68..6e1b3e8c1a 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -30,7 +30,8 @@ internal static System.CommandLine.Command New(ICommandHandler handler) Name(), OutputPath(), HasHeader(), - Cache() + Cache(), + IgnoreColumns() }; newCommand.Argument.AddValidator((sym) => @@ -51,6 +52,11 @@ internal static System.CommandLine.Command New(ICommandHandler handler) { return "The following options are mutually exclusive please provide only one : --label-column-name, --label-column-index"; } + if (sym.Children["--label-column-index"] != null && sym.Children["--ignore-columns"] != null) + { + return "Currently we don't support specifying --ignore-columns in conjunction with --label-column-index"; + } + return null; }); @@ -104,6 +110,10 @@ Option Cache() => new Option(new List() { "--cache" }, "Specify on/off/auto if you want cache to be turned on, off or auto determined.", new Argument(defaultValue: "auto").FromAmong(GetCacheSuggestions())); + Option IgnoreColumns() => +new Option(new List() { "--ignore-columns" }, "Specify the columns that needs to be ignored in the given dataset.", +new Argument>()); + } private static string[] GetMlTaskSuggestions() diff --git a/src/mlnet/Commands/New/NewCommandSettings.cs b/src/mlnet/Commands/New/NewCommandSettings.cs index ed34d508c4..5ad3ef9632 100644 --- a/src/mlnet/Commands/New/NewCommandSettings.cs +++ b/src/mlnet/Commands/New/NewCommandSettings.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System.Collections.Generic; using System.IO; namespace Microsoft.ML.CLI.Data @@ -32,5 +33,7 @@ public class NewCommandSettings public string Cache { get; set; } + public List IgnoreColumns { get; set; } + } } diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index a75d306171..2ed46db832 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -62,7 +62,6 @@ public static void Main(string[] args) .UseDefaults() .Build(); - parser.InvokeAsync(args).Wait(); } } diff --git a/src/mlnet/Templates/Console/ConsoleHelper.cs b/src/mlnet/Templates/Console/ConsoleHelper.cs index 7cac63151b..67269ef68a 100644 --- a/src/mlnet/Templates/Console/ConsoleHelper.cs +++ b/src/mlnet/Templates/Console/ConsoleHelper.cs @@ -1,28 +1,30 @@ -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// +// Runtime Version: 15.0.0.0 +// // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -//------------------------------------------------------------------------------ - -namespace Microsoft.ML.CLI.Templates.Console { +// ------------------------------------------------------------------------------ +namespace Microsoft.ML.CLI.Templates.Console +{ using System.Linq; using System.Text; using System.Collections.Generic; using System; - - public partial class ConsoleHelper : ConsoleHelperBase { - - -public string Namespace {get;set;} - - - public virtual string TransformText() { - this.GenerationEnvironment = null; + /// + /// Class to produce the template output + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public partial class ConsoleHelper : ConsoleHelperBase + { + /// + /// Create the template output + /// + public virtual string TransformText() + { this.Write(@"//***************************************************************************************** //* * //* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * @@ -36,291 +38,416 @@ public virtual string TransformText() { using Microsoft.ML.Data; namespace "); - this.Write(this.ToStringHelper.ToStringWithCulture( Namespace )); - this.Write("\n{\n public static class ConsoleHelper\n {\n public static void PrintPr" + - "ediction(string prediction)\n {\n Console.WriteLine($\"**********" + - "***************************************\");\n Console.WriteLine($\"Predi" + - "cted : {prediction}\");\n Console.WriteLine($\"*************************" + - "************************\");\n }\n\n public static void PrintRegressio" + - "nPredictionVersusObserved(string predictionCount, string observedCount)\n " + - "{\n Console.WriteLine($\"----------------------------------------------" + - "---\");\n Console.WriteLine($\"Predicted : {predictionCount}\");\n " + - " Console.WriteLine($\"Actual: {observedCount}\");\n Console.Write" + - "Line($\"-------------------------------------------------\");\n }\n\n p" + - "ublic static void PrintRegressionMetrics(string name, RegressionMetrics metrics)" + - "\n {\n Console.WriteLine($\"*************************************" + - "************\");\n Console.WriteLine($\"* Metrics for {name} regre" + - "ssion model \");\n Console.WriteLine($\"*--------------------------" + - "----------------------\");\n Console.WriteLine($\"* LossFn: " + - " {metrics.LossFn:0.##}\");\n Console.WriteLine($\"* R2 Score: " + - " {metrics.RSquared:0.##}\");\n Console.WriteLine($\"* Absolute los" + - "s: {metrics.L1:#.##}\");\n Console.WriteLine($\"* Squared loss: {" + - "metrics.L2:#.##}\");\n Console.WriteLine($\"* RMS loss: {metr" + - "ics.Rms:#.##}\");\n Console.WriteLine($\"*******************************" + - "******************\");\n }\n\n public static void PrintBinaryClassific" + - "ationMetrics(string name, BinaryClassificationMetrics metrics)\n {\n " + - " Console.WriteLine($\"*******************************************************" + - "*****\");\n Console.WriteLine($\"* Metrics for {name} binary class" + - "ification model \");\n Console.WriteLine($\"*----------------------" + - "-------------------------------------\");\n Console.WriteLine($\"* " + - " Accuracy: {metrics.Accuracy:P2}\");\n Console.WriteLine($\"* Auc:" + - " {metrics.Auc:P2}\");\n Console.WriteLine($\"**********************" + - "**************************************\");\n }\n\n public static void " + - "PrintRegressionFoldsAverageMetrics(string algorithmName,\n " + - " TrainCatalogBase.CrossValidationResult[] crossValidationResults\n " + - " )\n {\n var L1 = crossValidationResults.Se" + - "lect(r => r.Metrics.L1);\n var L2 = crossValidationResults.Select(r =>" + - " r.Metrics.L2);\n var RMS = crossValidationResults.Select(r => r.Metri" + - "cs.L1);\n var lossFunction = crossValidationResults.Select(r => r.Metr" + - "ics.LossFn);\n var R2 = crossValidationResults.Select(r => r.Metrics.R" + - "Squared);\n\n Console.WriteLine($\"*************************************" + - "************************************************************************\");\n " + - " Console.WriteLine($\"* Metrics for {algorithmName} Regression model" + - " \");\n Console.WriteLine($\"*-------------------------------------" + - "-----------------------------------------------------------------------\");\n " + - " Console.WriteLine($\"* Average L1 Loss: {L1.Average():0.###} \");\n" + - " Console.WriteLine($\"* Average L2 Loss: {L2.Average():0.###}" + - " \");\n Console.WriteLine($\"* Average RMS: {RMS.Average" + - "():0.###} \");\n Console.WriteLine($\"* Average Loss Function: {l" + - "ossFunction.Average():0.###} \");\n Console.WriteLine($\"* Averag" + - "e R-squared: {R2.Average():0.###} \");\n Console.WriteLine($\"*********" + + this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); + this.Write("\r\n{\r\n public static class ConsoleHelper\r\n {\r\n public static void Pri" + + "ntPrediction(string prediction)\r\n {\r\n Console.WriteLine($\"****" + + "*********************************************\");\r\n Console.WriteLine(" + + "$\"Predicted : {prediction}\");\r\n Console.WriteLine($\"*****************" + + "********************************\");\r\n }\r\n\r\n public static void Pri" + + "ntRegressionPredictionVersusObserved(string predictionCount, string observedCoun" + + "t)\r\n {\r\n Console.WriteLine($\"---------------------------------" + + "----------------\");\r\n Console.WriteLine($\"Predicted : {predictionCoun" + + "t}\");\r\n Console.WriteLine($\"Actual: {observedCount}\");\r\n " + + " Console.WriteLine($\"-------------------------------------------------\");\r\n " + + " }\r\n\r\n public static void PrintRegressionMetrics(string name, Regress" + + "ionMetrics metrics)\r\n {\r\n Console.WriteLine($\"****************" + + "*********************************\");\r\n Console.WriteLine($\"* Me" + + "trics for {name} regression model \");\r\n Console.WriteLine($\"*---" + + "---------------------------------------------\");\r\n Console.WriteLine(" + + "$\"* LossFn: {metrics.LossFn:0.##}\");\r\n Console.WriteLine" + + "($\"* R2 Score: {metrics.RSquared:0.##}\");\r\n Console.WriteL" + + "ine($\"* Absolute loss: {metrics.L1:#.##}\");\r\n Console.WriteLine" + + "($\"* Squared loss: {metrics.L2:#.##}\");\r\n Console.WriteLine($\"" + + "* RMS loss: {metrics.Rms:#.##}\");\r\n Console.WriteLine($\"**" + + "***********************************************\");\r\n }\r\n\r\n public " + + "static void PrintBinaryClassificationMetrics(string name, BinaryClassificationMe" + + "trics metrics)\r\n {\r\n Console.WriteLine($\"*********************" + + "***************************************\");\r\n Console.WriteLine($\"* " + + " Metrics for {name} binary classification model \");\r\n Console" + + ".WriteLine($\"*-----------------------------------------------------------\");\r\n " + + " Console.WriteLine($\"* Accuracy: {metrics.Accuracy:P2}\");\r\n " + + " Console.WriteLine($\"* Auc: {metrics.Auc:P2}\");\r\n Con" + + "sole.WriteLine($\"************************************************************\");" + + "\r\n }\r\n\r\n public static void PrintRegressionFoldsAverageMetrics(str" + + "ing algorithmName,\r\n " + + " TrainCatalogBase.CrossValidationResult[] crossValidationResu" + + "lts\r\n )\r\n {\r\n" + + " var L1 = crossValidationResults.Select(r => r.Metrics.L1);\r\n " + + " var L2 = crossValidationResults.Select(r => r.Metrics.L2);\r\n var " + + "RMS = crossValidationResults.Select(r => r.Metrics.L1);\r\n var lossFun" + + "ction = crossValidationResults.Select(r => r.Metrics.LossFn);\r\n var R" + + "2 = crossValidationResults.Select(r => r.Metrics.RSquared);\r\n\r\n Conso" + + "le.WriteLine($\"*****************************************************************" + + "********************************************\");\r\n Console.WriteLine($" + + "\"* Metrics for {algorithmName} Regression model \");\r\n Cons" + + "ole.WriteLine($\"*---------------------------------------------------------------" + + "---------------------------------------------\");\r\n Console.WriteLine(" + + "$\"* Average L1 Loss: {L1.Average():0.###} \");\r\n Console.Writ" + + "eLine($\"* Average L2 Loss: {L2.Average():0.###} \");\r\n Conso" + + "le.WriteLine($\"* Average RMS: {RMS.Average():0.###} \");\r\n " + + " Console.WriteLine($\"* Average Loss Function: {lossFunction.Average():" + + "0.###} \");\r\n Console.WriteLine($\"* Average R-squared: {R2.Aver" + + "age():0.###} \");\r\n Console.WriteLine($\"*****************************" + "********************************************************************************" + - "********************\");\n }\n\n public static void PrintBinaryClassif" + - "icationFoldsAverageMetrics(\n string algo" + - "rithmName,\n TrainCatalogBase.CrossValida" + - "tionResult[] crossValResults)\n {\n " + - " var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics);\n\n " + - " var AccuracyValues = metricsInMultipleFolds.Select(m => m.Accuracy);\n " + - " var AccuracyAverage = AccuracyValues.Average();\n var AccuraciesSt" + - "dDeviation = CalculateStandardDeviation(AccuracyValues);\n var Accurac" + - "iesConfidenceInterval95 = CalculateConfidenceInterval95(AccuracyValues);\n\n\n " + - " Console.WriteLine($\"*****************************************************" + - "********************************************************\");\n Console." + - "WriteLine($\"* Metrics for {algorithmName} Binary Classification model " + - " \");\n Console.WriteLine($\"*------------------------------------------" + - "------------------------------------------------------------------\");\n " + - " Console.WriteLine($\"* Average Accuracy: {AccuracyAverage:0.###} - St" + - "andard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: (" + - "{AccuraciesConfidenceInterval95:#.###})\");\n Console.WriteLine($\"*****" + + "\");\r\n }\r\n\r\n public static void PrintBinaryClassificationFoldsAvera" + + "geMetrics(\r\n string algorithmName,\r\n " + + " TrainCatalogBase.CrossValidationResult[] crossValResults)\r\n {\r\n var metricsI" + + "nMultipleFolds = crossValResults.Select(r => r.Metrics);\r\n\r\n var Accu" + + "racyValues = metricsInMultipleFolds.Select(m => m.Accuracy);\r\n var Ac" + + "curacyAverage = AccuracyValues.Average();\r\n var AccuraciesStdDeviatio" + + "n = CalculateStandardDeviation(AccuracyValues);\r\n var AccuraciesConfi" + + "denceInterval95 = CalculateConfidenceInterval95(AccuracyValues);\r\n\r\n\r\n " + + " Console.WriteLine($\"**********************************************************" + + "***************************************************\");\r\n Console.Writ" + + "eLine($\"* Metrics for {algorithmName} Binary Classification model \");" + + "\r\n Console.WriteLine($\"*---------------------------------------------" + + "---------------------------------------------------------------\");\r\n " + + "Console.WriteLine($\"* Average Accuracy: {AccuracyAverage:0.###} - Stan" + + "dard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({A" + + "ccuraciesConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"******" + "********************************************************************************" + - "************************\");\n\n }\n\n public static void PrintMulticla" + - "ssClassificationFoldsAverageMetrics(\n st" + - "ring algorithmName,\n TrainCatalogBase.Cr" + - "ossValidationResult[] crossValResults)\n {\n " + - " var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics);\n\n" + - " var microAccuracyValues = metricsInMultipleFolds.Select(m => m.Accur" + - "acyMicro);\n var microAccuracyAverage = microAccuracyValues.Average();" + - "\n var microAccuraciesStdDeviation = CalculateStandardDeviation(microA" + - "ccuracyValues);\n var microAccuraciesConfidenceInterval95 = CalculateC" + - "onfidenceInterval95(microAccuracyValues);\n\n var macroAccuracyValues =" + - " metricsInMultipleFolds.Select(m => m.AccuracyMacro);\n var macroAccur" + - "acyAverage = macroAccuracyValues.Average();\n var macroAccuraciesStdDe" + - "viation = CalculateStandardDeviation(macroAccuracyValues);\n var macro" + - "AccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macroAccuracyValu" + - "es);\n\n var logLossValues = metricsInMultipleFolds.Select(m => m.LogLo" + - "ss);\n var logLossAverage = logLossValues.Average();\n var l" + - "ogLossStdDeviation = CalculateStandardDeviation(logLossValues);\n var " + - "logLossConfidenceInterval95 = CalculateConfidenceInterval95(logLossValues);\n\n " + - " var logLossReductionValues = metricsInMultipleFolds.Select(m => m.LogLo" + - "ssReduction);\n var logLossReductionAverage = logLossReductionValues.A" + - "verage();\n var logLossReductionStdDeviation = CalculateStandardDeviat" + - "ion(logLossReductionValues);\n var logLossReductionConfidenceInterval9" + - "5 = CalculateConfidenceInterval95(logLossReductionValues);\n\n Console." + - "WriteLine($\"********************************************************************" + - "*****************************************\");\n Console.WriteLine($\"* " + - " Metrics for {algorithmName} Multi-class Classification model \");\n " + - " Console.WriteLine($\"*----------------------------------------------------" + - "--------------------------------------------------------\");\n Console." + - "WriteLine($\"* Average MicroAccuracy: {microAccuracyAverage:0.###} - St" + - "andard deviation: ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 9" + - "5%: ({microAccuraciesConfidenceInterval95:#.###})\");\n Console.WriteLi" + - "ne($\"* Average MacroAccuracy: {macroAccuracyAverage:0.###} - Standard " + - "deviation: ({macroAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({m" + - "acroAccuraciesConfidenceInterval95:#.###})\");\n Console.WriteLine($\"* " + - " Average LogLoss: {logLossAverage:#.###} - Standard deviation: ({" + - "logLossStdDeviation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInter" + - "val95:#.###})\");\n Console.WriteLine($\"* Average LogLossReductio" + - "n: {logLossReductionAverage:#.###} - Standard deviation: ({logLossReductionStdD" + - "eviation:#.###}) - Confidence Interval 95%: ({logLossReductionConfidenceInterva" + - "l95:#.###})\");\n Console.WriteLine($\"*********************************" + - "****************************************************************************\");\n" + - "\n }\n\n public static double CalculateStandardDeviation(IEnumerable<" + - "double> values)\n {\n double average = values.Average();\n " + - " double sumOfSquaresOfDifferences = values.Select(val => (val - average) * (" + - "val - average)).Sum();\n double standardDeviation = Math.Sqrt(sumOfSqu" + - "aresOfDifferences / (values.Count() - 1));\n return standardDeviation;" + - "\n }\n\n public static double CalculateConfidenceInterval95(IEnumerab" + - "le values)\n {\n double confidenceInterval95 = 1.96 * Ca" + - "lculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1));\n " + - "return confidenceInterval95;\n }\n\n public static void PrintClusteri" + - "ngMetrics(string name, ClusteringMetrics metrics)\n {\n Console." + - "WriteLine($\"*************************************************\");\n Con" + - "sole.WriteLine($\"* Metrics for {name} clustering model \");\n " + - " Console.WriteLine($\"*------------------------------------------------\");\n " + - " Console.WriteLine($\"* AvgMinScore: {metrics.AvgMinScore}\");\n " + - " Console.WriteLine($\"* DBI is: {metrics.Dbi}\");\n Console.Wr" + - "iteLine($\"*************************************************\");\n }\n\n " + - " public static void ConsoleWriteHeader(params string[] lines)\n {\n " + - " var defaultColor = Console.ForegroundColor;\n Console.ForegroundC" + - "olor = ConsoleColor.Yellow;\n Console.WriteLine(\" \");\n fore" + - "ach (var line in lines)\n {\n Console.WriteLine(line);\n " + - " }\n var maxLength = lines.Select(x => x.Length).Max();\n " + - " Console.WriteLine(new string(\'#\', maxLength));\n Console.Foreg" + - "roundColor = defaultColor;\n }\n }\n}\n"); + "***********************\");\r\n\r\n }\r\n\r\n public static void PrintMulti" + + "classClassificationFoldsAverageMetrics(\r\n " + + " string algorithmName,\r\n TrainCatalogBa" + + "se.CrossValidationResult[] crossValResults)\r\n " + + " {\r\n var metricsInMultipleFolds = crossValResults.Select(r => r.Metr" + + "ics);\r\n\r\n var microAccuracyValues = metricsInMultipleFolds.Select(m =" + + "> m.AccuracyMicro);\r\n var microAccuracyAverage = microAccuracyValues." + + "Average();\r\n var microAccuraciesStdDeviation = CalculateStandardDevia" + + "tion(microAccuracyValues);\r\n var microAccuraciesConfidenceInterval95 " + + "= CalculateConfidenceInterval95(microAccuracyValues);\r\n\r\n var macroAc" + + "curacyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro);\r\n " + + " var macroAccuracyAverage = macroAccuracyValues.Average();\r\n var macr" + + "oAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues);\r\n " + + " var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(" + + "macroAccuracyValues);\r\n\r\n var logLossValues = metricsInMultipleFolds." + + "Select(m => m.LogLoss);\r\n var logLossAverage = logLossValues.Average(" + + ");\r\n var logLossStdDeviation = CalculateStandardDeviation(logLossValu" + + "es);\r\n var logLossConfidenceInterval95 = CalculateConfidenceInterval9" + + "5(logLossValues);\r\n\r\n var logLossReductionValues = metricsInMultipleF" + + "olds.Select(m => m.LogLossReduction);\r\n var logLossReductionAverage =" + + " logLossReductionValues.Average();\r\n var logLossReductionStdDeviation" + + " = CalculateStandardDeviation(logLossReductionValues);\r\n var logLossR" + + "eductionConfidenceInterval95 = CalculateConfidenceInterval95(logLossReductionVal" + + "ues);\r\n\r\n Console.WriteLine($\"***************************************" + + "**********************************************************************\");\r\n " + + " Console.WriteLine($\"* Metrics for {algorithmName} Multi-class Class" + + "ification model \");\r\n Console.WriteLine($\"*---------------------" + + "--------------------------------------------------------------------------------" + + "-------\");\r\n Console.WriteLine($\"* Average MicroAccuracy: {m" + + "icroAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:" + + "#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###}" + + ")\");\r\n Console.WriteLine($\"* Average MacroAccuracy: {macroAc" + + "curacyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}" + + ") - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})\");\r\n" + + " Console.WriteLine($\"* Average LogLoss: {logLossAverag" + + "e:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Inte" + + "rval 95%: ({logLossConfidenceInterval95:#.###})\");\r\n Console.WriteLin" + + "e($\"* Average LogLossReduction: {logLossReductionAverage:#.###} - Standar" + + "d deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: " + + "({logLossReductionConfidenceInterval95:#.###})\");\r\n Console.WriteLine" + + "($\"*****************************************************************************" + + "********************************\");\r\n\r\n }\r\n\r\n public static double" + + " CalculateStandardDeviation(IEnumerable values)\r\n {\r\n " + + "double average = values.Average();\r\n double sumOfSquaresOfDifferences" + + " = values.Select(val => (val - average) * (val - average)).Sum();\r\n d" + + "ouble standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Count() " + + "- 1));\r\n return standardDeviation;\r\n }\r\n\r\n public stati" + + "c double CalculateConfidenceInterval95(IEnumerable values)\r\n {\r\n " + + " double confidenceInterval95 = 1.96 * CalculateStandardDeviation(value" + + "s) / Math.Sqrt((values.Count() - 1));\r\n return confidenceInterval95;\r" + + "\n }\r\n\r\n public static void PrintClusteringMetrics(string name, Clu" + + "steringMetrics metrics)\r\n {\r\n Console.WriteLine($\"************" + + "*************************************\");\r\n Console.WriteLine($\"* " + + " Metrics for {name} clustering model \");\r\n Console.WriteLine($\"" + + "*------------------------------------------------\");\r\n Console.WriteL" + + "ine($\"* AvgMinScore: {metrics.AvgMinScore}\");\r\n Console.WriteLi" + + "ne($\"* DBI is: {metrics.Dbi}\");\r\n Console.WriteLine($\"*********" + + "****************************************\");\r\n }\r\n\r\n public static " + + "void ConsoleWriteHeader(params string[] lines)\r\n {\r\n var defau" + + "ltColor = Console.ForegroundColor;\r\n Console.ForegroundColor = Consol" + + "eColor.Yellow;\r\n Console.WriteLine(\" \");\r\n foreach (var li" + + "ne in lines)\r\n {\r\n Console.WriteLine(line);\r\n " + + " }\r\n var maxLength = lines.Select(x => x.Length).Max();\r\n " + + " Console.WriteLine(new string(\'#\', maxLength));\r\n Console.Foreground" + + "Color = defaultColor;\r\n }\r\n }\r\n}\r\n"); return this.GenerationEnvironment.ToString(); } - - public virtual void Initialize() { - } + +public string Namespace {get;set;} + } - - public class ConsoleHelperBase { - - private global::System.Text.StringBuilder builder; - - private global::System.Collections.Generic.IDictionary session; - - private global::System.CodeDom.Compiler.CompilerErrorCollection errors; - - private string currentIndent = string.Empty; - - private global::System.Collections.Generic.Stack indents; - - private ToStringInstanceHelper _toStringHelper = new ToStringInstanceHelper(); - - public virtual global::System.Collections.Generic.IDictionary Session { - get { - return this.session; + #region Base class + /// + /// Base class for this transformation + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public class ConsoleHelperBase + { + #region Fields + private global::System.Text.StringBuilder generationEnvironmentField; + private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; + private global::System.Collections.Generic.List indentLengthsField; + private string currentIndentField = ""; + private bool endsWithNewline; + private global::System.Collections.Generic.IDictionary sessionField; + #endregion + #region Properties + /// + /// The string builder that generation-time code is using to assemble generated output + /// + protected System.Text.StringBuilder GenerationEnvironment + { + get + { + if ((this.generationEnvironmentField == null)) + { + this.generationEnvironmentField = new global::System.Text.StringBuilder(); + } + return this.generationEnvironmentField; } - set { - this.session = value; + set + { + this.generationEnvironmentField = value; } } - - public global::System.Text.StringBuilder GenerationEnvironment { - get { - if ((this.builder == null)) { - this.builder = new global::System.Text.StringBuilder(); + /// + /// The error collection for the generation process + /// + public System.CodeDom.Compiler.CompilerErrorCollection Errors + { + get + { + if ((this.errorsField == null)) + { + this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); } - return this.builder; - } - set { - this.builder = value; + return this.errorsField; } } - - protected global::System.CodeDom.Compiler.CompilerErrorCollection Errors { - get { - if ((this.errors == null)) { - this.errors = new global::System.CodeDom.Compiler.CompilerErrorCollection(); + /// + /// A list of the lengths of each indent that was added with PushIndent + /// + private System.Collections.Generic.List indentLengths + { + get + { + if ((this.indentLengthsField == null)) + { + this.indentLengthsField = new global::System.Collections.Generic.List(); } - return this.errors; + return this.indentLengthsField; } } - - public string CurrentIndent { - get { - return this.currentIndent; + /// + /// Gets the current indent we use when adding lines to the output + /// + public string CurrentIndent + { + get + { + return this.currentIndentField; } } - - private global::System.Collections.Generic.Stack Indents { - get { - if ((this.indents == null)) { - this.indents = new global::System.Collections.Generic.Stack(); - } - return this.indents; + /// + /// Current transformation session + /// + public virtual global::System.Collections.Generic.IDictionary Session + { + get + { + return this.sessionField; } - } - - public ToStringInstanceHelper ToStringHelper { - get { - return this._toStringHelper; + set + { + this.sessionField = value; } } - - public void Error(string message) { - this.Errors.Add(new global::System.CodeDom.Compiler.CompilerError(null, -1, -1, null, message)); + #endregion + #region Transform-time helpers + /// + /// Write text directly into the generated output + /// + public void Write(string textToAppend) + { + if (string.IsNullOrEmpty(textToAppend)) + { + return; + } + // If we're starting off, or if the previous text ended with a newline, + // we have to append the current indent first. + if (((this.GenerationEnvironment.Length == 0) + || this.endsWithNewline)) + { + this.GenerationEnvironment.Append(this.currentIndentField); + this.endsWithNewline = false; + } + // Check if the current text ends with a newline + if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) + { + this.endsWithNewline = true; + } + // This is an optimization. If the current indent is "", then we don't have to do any + // of the more complex stuff further down. + if ((this.currentIndentField.Length == 0)) + { + this.GenerationEnvironment.Append(textToAppend); + return; + } + // Everywhere there is a newline in the text, add an indent after it + textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); + // If the text ends with a newline, then we should strip off the indent added at the very end + // because the appropriate indent will be added when the next time Write() is called + if (this.endsWithNewline) + { + this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); + } + else + { + this.GenerationEnvironment.Append(textToAppend); + } } - - public void Warning(string message) { - global::System.CodeDom.Compiler.CompilerError val = new global::System.CodeDom.Compiler.CompilerError(null, -1, -1, null, message); - val.IsWarning = true; - this.Errors.Add(val); + /// + /// Write text directly into the generated output + /// + public void WriteLine(string textToAppend) + { + this.Write(textToAppend); + this.GenerationEnvironment.AppendLine(); + this.endsWithNewline = true; } - - public string PopIndent() { - if ((this.Indents.Count == 0)) { - return string.Empty; - } - int lastPos = (this.currentIndent.Length - this.Indents.Pop()); - string last = this.currentIndent.Substring(lastPos); - this.currentIndent = this.currentIndent.Substring(0, lastPos); - return last; + /// + /// Write formatted text directly into the generated output + /// + public void Write(string format, params object[] args) + { + this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); } - - public void PushIndent(string indent) { - this.Indents.Push(indent.Length); - this.currentIndent = (this.currentIndent + indent); + /// + /// Write formatted text directly into the generated output + /// + public void WriteLine(string format, params object[] args) + { + this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); } - - public void ClearIndent() { - this.currentIndent = string.Empty; - this.Indents.Clear(); + /// + /// Raise an error + /// + public void Error(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + this.Errors.Add(error); } - - public void Write(string textToAppend) { - this.GenerationEnvironment.Append(textToAppend); + /// + /// Raise a warning + /// + public void Warning(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + error.IsWarning = true; + this.Errors.Add(error); } - - public void Write(string format, params object[] args) { - this.GenerationEnvironment.AppendFormat(format, args); + /// + /// Increase the indent + /// + public void PushIndent(string indent) + { + if ((indent == null)) + { + throw new global::System.ArgumentNullException("indent"); + } + this.currentIndentField = (this.currentIndentField + indent); + this.indentLengths.Add(indent.Length); } - - public void WriteLine(string textToAppend) { - this.GenerationEnvironment.Append(this.currentIndent); - this.GenerationEnvironment.AppendLine(textToAppend); + /// + /// Remove the last indent that was added with PushIndent + /// + public string PopIndent() + { + string returnValue = ""; + if ((this.indentLengths.Count > 0)) + { + int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; + this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); + if ((indentLength > 0)) + { + returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); + this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); + } + } + return returnValue; } - - public void WriteLine(string format, params object[] args) { - this.GenerationEnvironment.Append(this.currentIndent); - this.GenerationEnvironment.AppendFormat(format, args); - this.GenerationEnvironment.AppendLine(); + /// + /// Remove any indentation + /// + public void ClearIndent() + { + this.indentLengths.Clear(); + this.currentIndentField = ""; } - - public class ToStringInstanceHelper { - - private global::System.IFormatProvider formatProvider = global::System.Globalization.CultureInfo.InvariantCulture; - - public global::System.IFormatProvider FormatProvider { - get { - return this.formatProvider; + #endregion + #region ToString Helpers + /// + /// Utility class to produce culture-oriented representation of an object as a string. + /// + public class ToStringInstanceHelper + { + private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; + /// + /// Gets or sets format provider to be used by ToStringWithCulture method. + /// + public System.IFormatProvider FormatProvider + { + get + { + return this.formatProviderField ; } - set { - if ((value != null)) { - this.formatProvider = value; + set + { + if ((value != null)) + { + this.formatProviderField = value; } } } - - public string ToStringWithCulture(object objectToConvert) { - if ((objectToConvert == null)) { + /// + /// This is called from the compile/run appdomain to convert objects within an expression block to a string + /// + public string ToStringWithCulture(object objectToConvert) + { + if ((objectToConvert == null)) + { throw new global::System.ArgumentNullException("objectToConvert"); } - global::System.Type type = objectToConvert.GetType(); - global::System.Type iConvertibleType = typeof(global::System.IConvertible); - if (iConvertibleType.IsAssignableFrom(type)) { - return ((global::System.IConvertible)(objectToConvert)).ToString(this.formatProvider); + System.Type t = objectToConvert.GetType(); + System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { + typeof(System.IFormatProvider)}); + if ((method == null)) + { + return objectToConvert.ToString(); } - global::System.Reflection.MethodInfo methInfo = type.GetMethod("ToString", new global::System.Type[] { - iConvertibleType}); - if ((methInfo != null)) { - return ((string)(methInfo.Invoke(objectToConvert, new object[] { - this.formatProvider}))); + else + { + return ((string)(method.Invoke(objectToConvert, new object[] { + this.formatProviderField }))); } - return objectToConvert.ToString(); } } + private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); + /// + /// Helper to produce culture-oriented representation of an object as a string + /// + public ToStringInstanceHelper ToStringHelper + { + get + { + return this.toStringHelperField; + } + } + #endregion } + #endregion } diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index 9b5afe64a9..b5c0fde07b 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -1,14 +1,14 @@ -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// +// Runtime Version: 15.0.0.0 +// // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -//------------------------------------------------------------------------------ - -namespace Microsoft.ML.CLI.Templates.Console { +// ------------------------------------------------------------------------------ +namespace Microsoft.ML.CLI.Templates.Console +{ using System.Linq; using System.Text; using System.Text.RegularExpressions; @@ -16,31 +16,17 @@ namespace Microsoft.ML.CLI.Templates.Console { using Microsoft.ML.CLI.Utilities; using System; - - public partial class MLCodeGen : MLCodeGenBase { - - -public string Path {get;set;} -public string TestPath {get;set;} -public IList Columns {get;set;} -public bool HasHeader {get;set;} -public char Separator {get;set;} -public IList Transforms {get;set;} -public string Trainer {get;set;} -public string TaskType {get;set;} -public IList ClassLabels {get;set;} -public string GeneratedUsings {get;set;} -public bool AllowQuoting {get;set;} -public bool AllowSparse {get;set;} -public bool TrimWhiteSpace {get;set;} -public int Kfolds {get;set;} = 5; -public string Namespace {get;set;} -public string LabelName {get;set;} -public string ModelPath {get;set;} - - - public virtual string TransformText() { - this.GenerationEnvironment = null; + /// + /// Class to produce the template output + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public partial class MLCodeGen : MLCodeGenBase + { + /// + /// Create the template output + /// + public virtual string TransformText() + { this.Write(@"//***************************************************************************************** //* * //* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * @@ -54,19 +40,19 @@ public virtual string TransformText() { using Microsoft.ML.Data; using Microsoft.Data.DataView; "); - this.Write(this.ToStringHelper.ToStringWithCulture( GeneratedUsings )); - this.Write("\n\nnamespace "); - this.Write(this.ToStringHelper.ToStringWithCulture( Namespace )); - this.Write("\n{\n class Program\n {\n private static string TrainDataPath = @\""); - this.Write(this.ToStringHelper.ToStringWithCulture( Path )); - this.Write("\";\n"); + this.Write(this.ToStringHelper.ToStringWithCulture(GeneratedUsings)); + this.Write("\r\n\r\nnamespace "); + this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); + this.Write("\r\n{\r\n class Program\r\n {\r\n private static string TrainDataPath = @\""); + this.Write(this.ToStringHelper.ToStringWithCulture(Path)); + this.Write("\";\r\n"); if(!string.IsNullOrEmpty(TestPath)){ this.Write(" private static string TestDataPath = @\""); - this.Write(this.ToStringHelper.ToStringWithCulture( TestPath )); - this.Write("\";\n"); + this.Write(this.ToStringHelper.ToStringWithCulture(TestPath)); + this.Write("\";\r\n"); } this.Write(" private static string ModelPath = @\""); - this.Write(this.ToStringHelper.ToStringWithCulture( ModelPath )); + this.Write(this.ToStringHelper.ToStringWithCulture(ModelPath)); this.Write(@"""; static void Main(string[] args) @@ -105,31 +91,31 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) IDataView trainingDataView = mlContext.Data.LoadFromTextFile( path: TrainDataPath, hasHeader : "); - this.Write(this.ToStringHelper.ToStringWithCulture( HasHeader.ToString().ToLowerInvariant() )); - this.Write(",\n separatorChar : \'"); - this.Write(this.ToStringHelper.ToStringWithCulture( Regex.Escape(Separator.ToString()) )); - this.Write("\',\n allowQuoting : "); - this.Write(this.ToStringHelper.ToStringWithCulture( AllowQuoting.ToString().ToLowerInvariant() )); - this.Write(",\n allowSparse: "); - this.Write(this.ToStringHelper.ToStringWithCulture( AllowSparse.ToString().ToLowerInvariant() )); - this.Write(");\n"); + this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); + this.Write(",\r\n separatorChar : \'"); + this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); + this.Write("\',\r\n allowQuoting : "); + this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); + this.Write(",\r\n allowSparse: "); + this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); + this.Write(");\r\n"); if(!string.IsNullOrEmpty(TestPath)){ this.Write(" IDataView testDataView = mlContext.Data.LoadFromTextFile(\n path: TestDataPath,\n " + - " hasHeader : "); - this.Write(this.ToStringHelper.ToStringWithCulture( HasHeader.ToString().ToLowerInvariant() )); - this.Write(",\n separatorChar : \'"); - this.Write(this.ToStringHelper.ToStringWithCulture( Regex.Escape(Separator.ToString()) )); - this.Write("\',\n allowQuoting : "); - this.Write(this.ToStringHelper.ToStringWithCulture( AllowQuoting.ToString().ToLowerInvariant() )); - this.Write(",\n allowSparse: "); - this.Write(this.ToStringHelper.ToStringWithCulture( AllowSparse.ToString().ToLowerInvariant() )); - this.Write(");\n"); + "ation>(\r\n path: TestDataPath,\r\n " + + " hasHeader : "); + this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); + this.Write(",\r\n separatorChar : \'"); + this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); + this.Write("\',\r\n allowQuoting : "); + this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); + this.Write(",\r\n allowSparse: "); + this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); + this.Write(");\r\n"); } - this.Write("\n"); + this.Write("\r\n"); if(Transforms.Count >0 ) { this.Write(" // Common data process configuration with pipeline data transformatio" + - "ns\n var dataProcessPipeline = "); + "ns\r\n var dataProcessPipeline = "); for(int i=0;i0) @@ -140,19 +126,19 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) { Write(")"); } } - this.Write(";\n"); + this.Write(";\r\n"); } - this.Write("\n // Set the training algorithm, then create and config the modelBuild" + - "er \n var trainer = mlContext."); - this.Write(this.ToStringHelper.ToStringWithCulture( TaskType )); + this.Write("\r\n // Set the training algorithm, then create and config the modelBuil" + + "der \r\n var trainer = mlContext."); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".Trainers."); - this.Write(this.ToStringHelper.ToStringWithCulture( Trainer )); - this.Write(";\n"); + this.Write(this.ToStringHelper.ToStringWithCulture(Trainer)); + this.Write(";\r\n"); if(Transforms.Count >0 ) { - this.Write(" var trainingPipeline = dataProcessPipeline.Append(trainer);\n"); + this.Write(" var trainingPipeline = dataProcessPipeline.Append(trainer);\r\n"); } else{ - this.Write(" var trainingPipeline = trainer;\n"); + this.Write(" var trainingPipeline = trainer;\r\n"); } if(string.IsNullOrEmpty(TestPath)){ this.Write(@" @@ -162,46 +148,46 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) "); if("BinaryClassification".Equals(TaskType)){ this.Write(" var crossValidationResults = mlContext."); - this.Write(this.ToStringHelper.ToStringWithCulture( TaskType )); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: "); - this.Write(this.ToStringHelper.ToStringWithCulture( Kfolds )); + this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); this.Write(", labelColumn:\""); - this.Write(this.ToStringHelper.ToStringWithCulture( LabelName )); - this.Write("\");\n ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(traine" + - "r.ToString(), crossValidationResults);\n"); + this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); + this.Write("\");\r\n ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(train" + + "er.ToString(), crossValidationResults);\r\n"); } if("Regression".Equals(TaskType)){ this.Write(" var crossValidationResults = mlContext."); - this.Write(this.ToStringHelper.ToStringWithCulture( TaskType )); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".CrossValidate(trainingDataView, trainingPipeline, numFolds: "); - this.Write(this.ToStringHelper.ToStringWithCulture( Kfolds )); + this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); this.Write(", labelColumn:\""); - this.Write(this.ToStringHelper.ToStringWithCulture( LabelName )); - this.Write("\");\n ConsoleHelper.PrintRegressionFoldsAverageMetrics(trainer.ToString" + - "(), crossValidationResults);\n"); + this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); + this.Write("\");\r\n ConsoleHelper.PrintRegressionFoldsAverageMetrics(trainer.ToStrin" + + "g(), crossValidationResults);\r\n"); } } - this.Write("\n // Train the model fitting to the DataSet\n Console.WriteL" + - "ine(\"=============== Training the model ===============\");\n var train" + - "edModel = trainingPipeline.Fit(trainingDataView);\n"); + this.Write("\r\n // Train the model fitting to the DataSet\r\n Console.Writ" + + "eLine(\"=============== Training the model ===============\");\r\n var tr" + + "ainedModel = trainingPipeline.Fit(trainingDataView);\r\n"); if(!string.IsNullOrEmpty(TestPath)){ - this.Write("\n // Evaluate the model and show accuracy stats\n Console.Wr" + - "iteLine(\"===== Evaluating Model\'s accuracy with Test data =====\");\n v" + - "ar predictions = trainedModel.Transform(testDataView);\n"); + this.Write("\r\n // Evaluate the model and show accuracy stats\r\n Console." + + "WriteLine(\"===== Evaluating Model\'s accuracy with Test data =====\");\r\n " + + " var predictions = trainedModel.Transform(testDataView);\r\n"); if("BinaryClassification".Equals(TaskType)){ this.Write(" var metrics = mlContext."); - this.Write(this.ToStringHelper.ToStringWithCulture( TaskType )); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".EvaluateNonCalibrated(predictions, \""); - this.Write(this.ToStringHelper.ToStringWithCulture( LabelName )); - this.Write("\", \"Score\");\n ConsoleHelper.PrintBinaryClassificationMetrics(trainer.T" + - "oString(), metrics);\n"); + this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); + this.Write("\", \"Score\");\r\n ConsoleHelper.PrintBinaryClassificationMetrics(trainer." + + "ToString(), metrics);\r\n"); } if("Regression".Equals(TaskType)){ this.Write(" var metrics = mlContext."); - this.Write(this.ToStringHelper.ToStringWithCulture( TaskType )); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".Evaluate(predictions, \""); - this.Write(this.ToStringHelper.ToStringWithCulture( LabelName )); - this.Write("\", \"Score\");\n ConsoleHelper.PrintRegressionMetrics(trainer.ToString()," + - " metrics);\n"); + this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); + this.Write("\", \"Score\");\r\n ConsoleHelper.PrintRegressionMetrics(trainer.ToString()" + + ", metrics);\r\n"); } } this.Write(@" @@ -223,13 +209,13 @@ private static void Predict(MLContext mlContext) IDataView trainingDataView = mlContext.Data.LoadFromTextFile( path: TrainDataPath, hasHeader : "); - this.Write(this.ToStringHelper.ToStringWithCulture( HasHeader.ToString().ToLowerInvariant() )); - this.Write(",\n separatorChar : \'"); - this.Write(this.ToStringHelper.ToStringWithCulture( Regex.Escape(Separator.ToString()) )); - this.Write("\',\n allowQuoting : "); - this.Write(this.ToStringHelper.ToStringWithCulture( AllowQuoting.ToString().ToLowerInvariant() )); - this.Write(",\n allowSparse: "); - this.Write(this.ToStringHelper.ToStringWithCulture( AllowSparse.ToString().ToLowerInvariant() )); + this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); + this.Write(",\r\n separatorChar : \'"); + this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); + this.Write("\',\r\n allowQuoting : "); + this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); + this.Write(",\r\n allowSparse: "); + this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); this.Write(@"); var sample = mlContext.Data.CreateEnumerable(trainingDataView, false).First(); @@ -248,189 +234,328 @@ private static void Predict(MLContext mlContext) Console.WriteLine($""=============== Single Prediction ===============""); Console.WriteLine($""Actual value: {sample."); - this.Write(this.ToStringHelper.ToStringWithCulture( Utils.Normalize(LabelName) )); + this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); this.Write("} | Predicted value: {resultprediction."); if("BinaryClassification".Equals(TaskType)){ this.Write("Prediction"); }else{ this.Write("Score"); } - this.Write("}\");\n Console.WriteLine($\"============================================" + - "======\");\n }\n\n }\n\n public class SampleObservation\n {\n"); + this.Write("}\");\r\n Console.WriteLine($\"===========================================" + + "=======\");\r\n }\r\n\r\n }\r\n\r\n public class SampleObservation\r\n {\r\n"); foreach(var label in ClassLabels) { this.Write(" "); this.Write(this.ToStringHelper.ToStringWithCulture(label)); - this.Write("\n"); + this.Write("\r\n"); } - this.Write(" }\n\n public class SamplePrediction\n {\n"); + this.Write(" }\r\n\r\n public class SamplePrediction\r\n {\r\n"); if("BinaryClassification".Equals(TaskType)){ - this.Write(" // ColumnName attribute is used to change the column name from\n //" + - " its default value, which is the name of the field.\n [ColumnName(\"Predict" + - "edLabel\")]\n public bool Prediction { get; set; }\n\n"); + this.Write(" // ColumnName attribute is used to change the column name from\r\n /" + + "/ its default value, which is the name of the field.\r\n [ColumnName(\"Predi" + + "ctedLabel\")]\r\n public bool Prediction { get; set; }\r\n\r\n"); } if("MulticlassClassification".Equals(TaskType)){ - this.Write(" public float[] Score { get; set; }\n"); + this.Write(" public float[] Score { get; set; }\r\n"); }else{ - this.Write(" public float Score { get; set; }\n"); + this.Write(" public float Score { get; set; }\r\n"); } - this.Write(" }\n\n}\n"); + this.Write(" }\r\n\r\n}\r\n"); return this.GenerationEnvironment.ToString(); } - - public virtual void Initialize() { - } + +public string Path {get;set;} +public string TestPath {get;set;} +public IList Columns {get;set;} +public bool HasHeader {get;set;} +public char Separator {get;set;} +public IList Transforms {get;set;} +public string Trainer {get;set;} +public string TaskType {get;set;} +public IList ClassLabels {get;set;} +public string GeneratedUsings {get;set;} +public bool AllowQuoting {get;set;} +public bool AllowSparse {get;set;} +public bool TrimWhiteSpace {get;set;} +public int Kfolds {get;set;} = 5; +public string Namespace {get;set;} +public string LabelName {get;set;} +public string ModelPath {get;set;} + } - - public class MLCodeGenBase { - - private global::System.Text.StringBuilder builder; - - private global::System.Collections.Generic.IDictionary session; - - private global::System.CodeDom.Compiler.CompilerErrorCollection errors; - - private string currentIndent = string.Empty; - - private global::System.Collections.Generic.Stack indents; - - private ToStringInstanceHelper _toStringHelper = new ToStringInstanceHelper(); - - public virtual global::System.Collections.Generic.IDictionary Session { - get { - return this.session; + #region Base class + /// + /// Base class for this transformation + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public class MLCodeGenBase + { + #region Fields + private global::System.Text.StringBuilder generationEnvironmentField; + private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; + private global::System.Collections.Generic.List indentLengthsField; + private string currentIndentField = ""; + private bool endsWithNewline; + private global::System.Collections.Generic.IDictionary sessionField; + #endregion + #region Properties + /// + /// The string builder that generation-time code is using to assemble generated output + /// + protected System.Text.StringBuilder GenerationEnvironment + { + get + { + if ((this.generationEnvironmentField == null)) + { + this.generationEnvironmentField = new global::System.Text.StringBuilder(); + } + return this.generationEnvironmentField; } - set { - this.session = value; + set + { + this.generationEnvironmentField = value; } } - - public global::System.Text.StringBuilder GenerationEnvironment { - get { - if ((this.builder == null)) { - this.builder = new global::System.Text.StringBuilder(); + /// + /// The error collection for the generation process + /// + public System.CodeDom.Compiler.CompilerErrorCollection Errors + { + get + { + if ((this.errorsField == null)) + { + this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); } - return this.builder; - } - set { - this.builder = value; + return this.errorsField; } } - - protected global::System.CodeDom.Compiler.CompilerErrorCollection Errors { - get { - if ((this.errors == null)) { - this.errors = new global::System.CodeDom.Compiler.CompilerErrorCollection(); + /// + /// A list of the lengths of each indent that was added with PushIndent + /// + private System.Collections.Generic.List indentLengths + { + get + { + if ((this.indentLengthsField == null)) + { + this.indentLengthsField = new global::System.Collections.Generic.List(); } - return this.errors; + return this.indentLengthsField; } } - - public string CurrentIndent { - get { - return this.currentIndent; + /// + /// Gets the current indent we use when adding lines to the output + /// + public string CurrentIndent + { + get + { + return this.currentIndentField; } } - - private global::System.Collections.Generic.Stack Indents { - get { - if ((this.indents == null)) { - this.indents = new global::System.Collections.Generic.Stack(); - } - return this.indents; + /// + /// Current transformation session + /// + public virtual global::System.Collections.Generic.IDictionary Session + { + get + { + return this.sessionField; } - } - - public ToStringInstanceHelper ToStringHelper { - get { - return this._toStringHelper; + set + { + this.sessionField = value; } } - - public void Error(string message) { - this.Errors.Add(new global::System.CodeDom.Compiler.CompilerError(null, -1, -1, null, message)); + #endregion + #region Transform-time helpers + /// + /// Write text directly into the generated output + /// + public void Write(string textToAppend) + { + if (string.IsNullOrEmpty(textToAppend)) + { + return; + } + // If we're starting off, or if the previous text ended with a newline, + // we have to append the current indent first. + if (((this.GenerationEnvironment.Length == 0) + || this.endsWithNewline)) + { + this.GenerationEnvironment.Append(this.currentIndentField); + this.endsWithNewline = false; + } + // Check if the current text ends with a newline + if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) + { + this.endsWithNewline = true; + } + // This is an optimization. If the current indent is "", then we don't have to do any + // of the more complex stuff further down. + if ((this.currentIndentField.Length == 0)) + { + this.GenerationEnvironment.Append(textToAppend); + return; + } + // Everywhere there is a newline in the text, add an indent after it + textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); + // If the text ends with a newline, then we should strip off the indent added at the very end + // because the appropriate indent will be added when the next time Write() is called + if (this.endsWithNewline) + { + this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); + } + else + { + this.GenerationEnvironment.Append(textToAppend); + } } - - public void Warning(string message) { - global::System.CodeDom.Compiler.CompilerError val = new global::System.CodeDom.Compiler.CompilerError(null, -1, -1, null, message); - val.IsWarning = true; - this.Errors.Add(val); + /// + /// Write text directly into the generated output + /// + public void WriteLine(string textToAppend) + { + this.Write(textToAppend); + this.GenerationEnvironment.AppendLine(); + this.endsWithNewline = true; } - - public string PopIndent() { - if ((this.Indents.Count == 0)) { - return string.Empty; - } - int lastPos = (this.currentIndent.Length - this.Indents.Pop()); - string last = this.currentIndent.Substring(lastPos); - this.currentIndent = this.currentIndent.Substring(0, lastPos); - return last; + /// + /// Write formatted text directly into the generated output + /// + public void Write(string format, params object[] args) + { + this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); } - - public void PushIndent(string indent) { - this.Indents.Push(indent.Length); - this.currentIndent = (this.currentIndent + indent); + /// + /// Write formatted text directly into the generated output + /// + public void WriteLine(string format, params object[] args) + { + this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); } - - public void ClearIndent() { - this.currentIndent = string.Empty; - this.Indents.Clear(); + /// + /// Raise an error + /// + public void Error(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + this.Errors.Add(error); } - - public void Write(string textToAppend) { - this.GenerationEnvironment.Append(textToAppend); + /// + /// Raise a warning + /// + public void Warning(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + error.IsWarning = true; + this.Errors.Add(error); } - - public void Write(string format, params object[] args) { - this.GenerationEnvironment.AppendFormat(format, args); + /// + /// Increase the indent + /// + public void PushIndent(string indent) + { + if ((indent == null)) + { + throw new global::System.ArgumentNullException("indent"); + } + this.currentIndentField = (this.currentIndentField + indent); + this.indentLengths.Add(indent.Length); } - - public void WriteLine(string textToAppend) { - this.GenerationEnvironment.Append(this.currentIndent); - this.GenerationEnvironment.AppendLine(textToAppend); + /// + /// Remove the last indent that was added with PushIndent + /// + public string PopIndent() + { + string returnValue = ""; + if ((this.indentLengths.Count > 0)) + { + int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; + this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); + if ((indentLength > 0)) + { + returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); + this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); + } + } + return returnValue; } - - public void WriteLine(string format, params object[] args) { - this.GenerationEnvironment.Append(this.currentIndent); - this.GenerationEnvironment.AppendFormat(format, args); - this.GenerationEnvironment.AppendLine(); + /// + /// Remove any indentation + /// + public void ClearIndent() + { + this.indentLengths.Clear(); + this.currentIndentField = ""; } - - public class ToStringInstanceHelper { - - private global::System.IFormatProvider formatProvider = global::System.Globalization.CultureInfo.InvariantCulture; - - public global::System.IFormatProvider FormatProvider { - get { - return this.formatProvider; + #endregion + #region ToString Helpers + /// + /// Utility class to produce culture-oriented representation of an object as a string. + /// + public class ToStringInstanceHelper + { + private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; + /// + /// Gets or sets format provider to be used by ToStringWithCulture method. + /// + public System.IFormatProvider FormatProvider + { + get + { + return this.formatProviderField ; } - set { - if ((value != null)) { - this.formatProvider = value; + set + { + if ((value != null)) + { + this.formatProviderField = value; } } } - - public string ToStringWithCulture(object objectToConvert) { - if ((objectToConvert == null)) { + /// + /// This is called from the compile/run appdomain to convert objects within an expression block to a string + /// + public string ToStringWithCulture(object objectToConvert) + { + if ((objectToConvert == null)) + { throw new global::System.ArgumentNullException("objectToConvert"); } - global::System.Type type = objectToConvert.GetType(); - global::System.Type iConvertibleType = typeof(global::System.IConvertible); - if (iConvertibleType.IsAssignableFrom(type)) { - return ((global::System.IConvertible)(objectToConvert)).ToString(this.formatProvider); + System.Type t = objectToConvert.GetType(); + System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { + typeof(System.IFormatProvider)}); + if ((method == null)) + { + return objectToConvert.ToString(); } - global::System.Reflection.MethodInfo methInfo = type.GetMethod("ToString", new global::System.Type[] { - iConvertibleType}); - if ((methInfo != null)) { - return ((string)(methInfo.Invoke(objectToConvert, new object[] { - this.formatProvider}))); + else + { + return ((string)(method.Invoke(objectToConvert, new object[] { + this.formatProviderField }))); } - return objectToConvert.ToString(); } } + private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); + /// + /// Helper to produce culture-oriented representation of an object as a string + /// + public ToStringInstanceHelper ToStringHelper + { + get + { + return this.toStringHelperField; + } + } + #endregion } + #endregion } diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index 2e4805952e..2f6f884921 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -91,5 +91,41 @@ internal static string Normalize(string input) } } + internal static ColumnInformation GetSanitizedColumnInformation(ColumnInformation columnInformation) + { + var result = new ColumnInformation(); + + result.LabelColumn = Sanitize(columnInformation.LabelColumn); + + if (!string.IsNullOrEmpty(columnInformation.WeightColumn)) + result.WeightColumn = Sanitize(columnInformation.WeightColumn); + + if (!string.IsNullOrEmpty(columnInformation.SamplingKeyColumn)) + result.SamplingKeyColumn = Sanitize(columnInformation.SamplingKeyColumn); + + foreach (var value in columnInformation.CategoricalColumns) + { + result.CategoricalColumns.Add(Sanitize(value)); + } + + foreach (var value in columnInformation.IgnoredColumns) + { + result.IgnoredColumns.Add(Sanitize(value)); + } + + foreach (var value in columnInformation.NumericColumns) + { + result.NumericColumns.Add(Sanitize(value)); + } + + foreach (var value in columnInformation.TextColumns) + { + result.TextColumns.Add(Sanitize(value)); + } + + + return result; + } + } } From 9603fc411c81965156fcd1025b584dbe9e328bfa Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Sat, 16 Mar 2019 14:26:46 -0700 Subject: [PATCH 164/211] Print winning iteration and runtime in CLI (#288) * Print best metric and runtime * Print best metric and runtime * Line endings in AutoMLEngine.cs * Rename time column to duration to match Python SDK * Revert to MicroAccuracy and MacroAccuracy spellings * Revert spelling of BinaryClassificationMetricsAgent to BinaryMetricsAgent to reduce merge conflicts * Revert spelling of MulticlassMetricsAgent to MultiMetricsAgent to reduce merge conflicts * missed some files * Fix merge conflict * Update AutoMLEngine.cs --- src/Microsoft.ML.Auto/API/RunResult.cs | 8 +-- .../Experiment/Experiment.cs | 4 +- .../MetricsAgents/BinaryMetricsAgent.cs | 6 +- .../MetricsAgents/MultiMetricsAgent.cs | 5 ++ .../MetricsAgents/RegressionMetricsAgent.cs | 5 ++ .../Experiment/SuggestedPipelineResult.cs | 4 +- src/mlnet/AutoML/AutoMLEngine.cs | 16 +++-- src/mlnet/Utilities/ConsolePrinter.cs | 19 +++--- src/mlnet/Utilities/ProgressHandlers.cs | 63 ++++++++++++++++--- 9 files changed, 98 insertions(+), 32 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/RunResult.cs b/src/Microsoft.ML.Auto/API/RunResult.cs index b472e01f99..5d55c2bf5d 100644 --- a/src/Microsoft.ML.Auto/API/RunResult.cs +++ b/src/Microsoft.ML.Auto/API/RunResult.cs @@ -15,11 +15,11 @@ public sealed class RunResult public ITransformer Model { get { return _modelContainer.GetModel(); } } public Exception Exception { get; private set; } public string TrainerName { get; private set; } - public int RuntimeInSeconds { get; private set; } + public double RuntimeInSeconds { get; private set; } public IEstimator Estimator { get; private set; } internal Pipeline Pipeline { get; private set; } - internal int PipelineInferenceTimeInSeconds { get; private set; } + internal double PipelineInferenceTimeInSeconds { get; private set; } private readonly ModelContainer _modelContainer; @@ -28,8 +28,8 @@ internal RunResult(ModelContainer modelContainer, IEstimator estimator, Pipeline pipeline, Exception exception, - int runtimeInSeconds, - int pipelineInferenceTimeInSeconds) + double runtimeInSeconds, + double pipelineInferenceTimeInSeconds) { _modelContainer = modelContainer; ValidationMetrics = metrics; diff --git a/src/Microsoft.ML.Auto/Experiment/Experiment.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs index f185960a4c..9c5ff5958d 100644 --- a/src/Microsoft.ML.Auto/Experiment/Experiment.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -101,8 +101,8 @@ public List> Execute() // evaluate pipeline runResult = ProcessPipeline(pipeline); - runResult.RuntimeInSeconds = (int)iterationStopwatch.Elapsed.TotalSeconds; - runResult.PipelineInferenceTimeInSeconds = (int)getPiplelineStopwatch.Elapsed.TotalSeconds; + runResult.RuntimeInSeconds = iterationStopwatch.Elapsed.TotalSeconds; + runResult.PipelineInferenceTimeInSeconds = getPiplelineStopwatch.Elapsed.TotalSeconds; } catch (Exception ex) { diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs index 531e78b7b3..7504f7c518 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -18,6 +17,11 @@ public BinaryMetricsAgent(BinaryClassificationMetric optimizingMetric) public double GetScore(BinaryClassificationMetrics metrics) { + if (metrics == null) + { + return double.NaN; + } + switch (_optimizingMetric) { case BinaryClassificationMetric.Accuracy: diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs index 320bb3aceb..000130f3e4 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs @@ -17,6 +17,11 @@ public MultiMetricsAgent(MulticlassClassificationMetric optimizingMetric) public double GetScore(MultiClassClassifierMetrics metrics) { + if (metrics == null) + { + return double.NaN; + } + switch (_optimizingMetric) { case MulticlassClassificationMetric.MacroAccuracy: diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs index 0d5cd611d0..bf2cd28631 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs @@ -17,6 +17,11 @@ public RegressionMetricsAgent(RegressionMetric optimizingMetric) public double GetScore(RegressionMetrics metrics) { + if (metrics == null) + { + return double.NaN; + } + switch (_optimizingMetric) { case RegressionMetric.MeanAbsoluteError: diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs index d67cb22c82..05d486b2a6 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs @@ -38,8 +38,8 @@ internal class SuggestedPipelineResult : SuggestedPipelineResult public ModelContainer ModelContainer { get; set; } public Exception Exception { get; set; } - public int RuntimeInSeconds { get; set; } - public int PipelineInferenceTimeInSeconds { get; set; } + public double RuntimeInSeconds { get; set; } + public double PipelineInferenceTimeInSeconds { get; set; } public SuggestedPipelineResult(T evaluatedMetrics, IEstimator estimator, ModelContainer modelContainer, SuggestedPipeline pipeline, double score, Exception exception) diff --git a/src/mlnet/AutoML/AutoMLEngine.cs b/src/mlnet/AutoML/AutoMLEngine.cs index 87efd68781..733bb72f10 100644 --- a/src/mlnet/AutoML/AutoMLEngine.cs +++ b/src/mlnet/AutoML/AutoMLEngine.cs @@ -50,13 +50,15 @@ public ColumnInferenceResults InferColumns(MLContext context, ColumnInformation if (taskKind == TaskKind.BinaryClassification) { - var progressReporter = new ProgressHandlers.BinaryClassificationHandler(); + var optimizationMetric = new BinaryExperimentSettings().OptimizingMetric; + var progressReporter = new ProgressHandlers.BinaryClassificationHandler(optimizationMetric); var result = context.Auto() .CreateBinaryClassificationExperiment(new BinaryExperimentSettings() { MaxExperimentTimeInSeconds = settings.MaxExplorationTime, ProgressHandler = progressReporter, - EnableCaching = this.enableCaching + EnableCaching = this.enableCaching, + OptimizingMetric = optimizationMetric }) .Execute(trainData, validationData, columnInformation); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); @@ -67,12 +69,14 @@ public ColumnInferenceResults InferColumns(MLContext context, ColumnInformation if (taskKind == TaskKind.Regression) { - var progressReporter = new ProgressHandlers.RegressionHandler(); + var optimizationMetric = new RegressionExperimentSettings().OptimizingMetric; + var progressReporter = new ProgressHandlers.RegressionHandler(optimizationMetric); var result = context.Auto() .CreateRegressionExperiment(new RegressionExperimentSettings() { MaxExperimentTimeInSeconds = settings.MaxExplorationTime, ProgressHandler = progressReporter, + OptimizingMetric = optimizationMetric, EnableCaching = this.enableCaching }).Execute(trainData, validationData, columnInformation); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); @@ -83,13 +87,15 @@ public ColumnInferenceResults InferColumns(MLContext context, ColumnInformation if (taskKind == TaskKind.MulticlassClassification) { - var progressReporter = new ProgressHandlers.MulticlassClassificationHandler(); + var optimizationMetric = new MulticlassExperimentSettings().OptimizingMetric; + var progressReporter = new ProgressHandlers.MulticlassClassificationHandler(optimizationMetric); var experimentSettings = new MulticlassExperimentSettings() { MaxExperimentTimeInSeconds = settings.MaxExplorationTime, ProgressHandler = progressReporter, - EnableCaching = this.enableCaching + EnableCaching = this.enableCaching, + OptimizingMetric = optimizationMetric }; // Inclusion list for currently supported learners. Need to remove once we have codegen support for all other learners. diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 24c57445ce..5387cce361 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -12,27 +12,28 @@ internal class ConsolePrinter private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); - internal static void PrintBinaryClassificationMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics) + internal static void PrintMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics, double bestMetric, double runtimeInSeconds) { - logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics?.Accuracy ?? double.NaN,9:F4} {metrics?.Auc ?? double.NaN,8:F4} {metrics?.Auprc ?? double.NaN,8:F4} {metrics?.F1Score ?? double.NaN,9:F4}"); + logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics?.Accuracy ?? double.NaN,9:F4} {metrics?.Auc ?? double.NaN,8:F4} {metrics?.Auprc ?? double.NaN,8:F4} {metrics?.F1Score ?? double.NaN,9:F4} {bestMetric,8:F4} {runtimeInSeconds,9:F1}"); } - internal static void PrintMulticlassClassificationMetrics(int iteration, string trainerName, MultiClassClassifierMetrics metrics) + internal static void PrintMetrics(int iteration, string trainerName, MultiClassClassifierMetrics metrics, double bestMetric, double runtimeInSeconds) { - logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics?.AccuracyMicro ?? double.NaN,14:F4} {metrics?.AccuracyMacro ?? double.NaN,14:F4}"); + logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics?.AccuracyMicro ?? double.NaN,14:F4} {metrics?.AccuracyMacro ?? double.NaN,14:F4} {bestMetric,14:F4} {runtimeInSeconds,9:F1}"); } - internal static void PrintRegressionMetrics(int iteration, string trainerName, RegressionMetrics metrics) + internal static void PrintMetrics(int iteration, string trainerName, RegressionMetrics metrics, double bestMetric, double runtimeInSeconds) { - logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics?.RSquared ?? double.NaN,9:F4} {metrics?.LossFn ?? double.NaN,12:F2} {metrics?.L1 ?? double.NaN,15:F2} {metrics?.L2 ?? double.NaN,15:F2} {metrics?.Rms ?? double.NaN,12:F2}"); + logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics?.RSquared ?? double.NaN,9:F4} {metrics?.LossFn ?? double.NaN,12:F2} {metrics?.L1 ?? double.NaN,15:F2} {metrics?.L2 ?? double.NaN,15:F2} {metrics?.Rms ?? double.NaN,12:F2} {bestMetric,12:F4} {runtimeInSeconds,9:F1}"); } + internal static void PrintBinaryClassificationMetricsHeader() { logger.Log(LogLevel.Info, $"*************************************************"); logger.Log(LogLevel.Info, $"* {Strings.MetricsForBinaryClassModels} "); logger.Log(LogLevel.Info, $"*------------------------------------------------"); - logger.Log(LogLevel.Info, $"{" ",-4} {"Trainer",-35} {"Accuracy",9} {"AUC",8} {"AUPRC",8} {"F1-score",9}"); + logger.Log(LogLevel.Info, $"{" ",-4} {"Trainer",-35} {"Accuracy",9} {"AUC",8} {"AUPRC",8} {"F1-score",9} {"Best",8} {"Duration",9}"); } internal static void PrintMulticlassClassificationMetricsHeader() @@ -40,7 +41,7 @@ internal static void PrintMulticlassClassificationMetricsHeader() logger.Log(LogLevel.Info, $"*************************************************"); logger.Log(LogLevel.Info, $"* {Strings.MetricsForMulticlassModels} "); logger.Log(LogLevel.Info, $"*------------------------------------------------"); - logger.Log(LogLevel.Info, $"{" ",-4} {"Trainer",-35} {"AccuracyMicro",14} {"AccuracyMacro",14}"); + logger.Log(LogLevel.Info, $"{" ",-4} {"Trainer",-35} {"AccuracyMicro",14} {"AccuracyMacro",14} {"Best",14} {"Duration",9}"); } internal static void PrintRegressionMetricsHeader() @@ -48,7 +49,7 @@ internal static void PrintRegressionMetricsHeader() logger.Log(LogLevel.Info, $"*************************************************"); logger.Log(LogLevel.Info, $"* {Strings.MetricsForRegressionModels} "); logger.Log(LogLevel.Info, $"*------------------------------------------------"); - logger.Log(LogLevel.Info, $"{" ",-4} {"Trainer",-35} {"R2-Score",9} {"LossFn",12} {"Absolute-loss",15} {"Squared-loss",15} {"RMS-loss",12}"); + logger.Log(LogLevel.Info, $"{" ",-4} {"Trainer",-35} {"R2-Score",9} {"LossFn",12} {"Absolute-loss",15} {"Squared-loss",15} {"RMS-loss",12} {"Best",12} {"Duration",9}"); } internal static void PrintBestPipelineHeader() diff --git a/src/mlnet/Utilities/ProgressHandlers.cs b/src/mlnet/Utilities/ProgressHandlers.cs index dcf566be3e..53875f4362 100644 --- a/src/mlnet/Utilities/ProgressHandlers.cs +++ b/src/mlnet/Utilities/ProgressHandlers.cs @@ -10,49 +10,94 @@ namespace Microsoft.ML.CLI.Utilities { internal class ProgressHandlers { + private static int MetricComparator(double a, double b, bool isMaximizing) + { + return (isMaximizing ? a.CompareTo(b) : -a.CompareTo(b)); + } + internal class RegressionHandler : IProgress> { - int iterationIndex; - public RegressionHandler() + private readonly bool isMaximizing; + private readonly Func, double> GetScore; + private RunResult bestResult; + private int iterationIndex; + + public RegressionHandler(RegressionMetric optimizationMetric) { + isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; + GetScore = (RunResult result) => new RegressionMetricsAgent(optimizationMetric).GetScore(result?.ValidationMetrics); ConsolePrinter.PrintRegressionMetricsHeader(); } public void Report(RunResult iterationResult) { iterationIndex++; - ConsolePrinter.PrintRegressionMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics); + UpdateBestResult(iterationResult); + ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds); + } + + private void UpdateBestResult(RunResult iterationResult) + { + if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) + bestResult = iterationResult; } } internal class BinaryClassificationHandler : IProgress> { - int iterationIndex; - internal BinaryClassificationHandler() + private readonly bool isMaximizing; + private readonly Func, double> GetScore; + private RunResult bestResult; + private int iterationIndex; + + public BinaryClassificationHandler(BinaryClassificationMetric optimizationMetric) { + isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; + GetScore = (RunResult result) => new BinaryMetricsAgent(optimizationMetric).GetScore(result?.ValidationMetrics); ConsolePrinter.PrintBinaryClassificationMetricsHeader(); } public void Report(RunResult iterationResult) { iterationIndex++; - ConsolePrinter.PrintBinaryClassificationMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics); + UpdateBestResult(iterationResult); + ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds); + } + + private void UpdateBestResult(RunResult iterationResult) + { + if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) + bestResult = iterationResult; } } internal class MulticlassClassificationHandler : IProgress> { - int iterationIndex; - internal MulticlassClassificationHandler() + private readonly bool isMaximizing; + private readonly Func, double> GetScore; + private RunResult bestResult; + private int iterationIndex; + + public MulticlassClassificationHandler(MulticlassClassificationMetric optimizationMetric) { + isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; + GetScore = (RunResult result) => new MultiMetricsAgent(optimizationMetric).GetScore(result?.ValidationMetrics); ConsolePrinter.PrintMulticlassClassificationMetricsHeader(); } public void Report(RunResult iterationResult) { iterationIndex++; - ConsolePrinter.PrintMulticlassClassificationMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics); + UpdateBestResult(iterationResult); + ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds); + } + + private void UpdateBestResult(RunResult iterationResult) + { + if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) + bestResult = iterationResult; } } + } } From 990cfbdfa8dd0cb7a6278a05a19cb70c2398354d Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Sat, 16 Mar 2019 22:35:42 -0700 Subject: [PATCH 165/211] Add MacOS & Linux to CI; MacOS & Linux test fixes (#293) --- .vsts-dotnet-ci.yml | 23 +++++++++++++ build.proj | 4 +-- build/vsts-ci.yml | 53 ++++++++++++++++++++++++++++++ src/mlnet.Test/CommandLineTests.cs | 2 +- 4 files changed, 79 insertions(+), 3 deletions(-) diff --git a/.vsts-dotnet-ci.yml b/.vsts-dotnet-ci.yml index 8b88aab895..75408d47eb 100644 --- a/.vsts-dotnet-ci.yml +++ b/.vsts-dotnet-ci.yml @@ -8,6 +8,29 @@ resources: image: microsoft/dotnet-buildtools-prereqs:centos-7-b46d863-20180719033416 phases: + +- template: /build/ci/phase-template.yml + parameters: + name: Centos + buildScript: ./build.sh + customMatrixes: + Build_Debug_Intrinsics: + _configuration: Debug-Intrinsics + _config_short: DI + Build_Release: + _configuration: Release + _config_short: R + queue: + name: Hosted Ubuntu 1604 + container: LinuxContainer + +- template: /build/ci/phase-template.yml + parameters: + name: MacOS + buildScript: ./build.sh + queue: + name: Hosted macOS + - template: /build/ci/phase-template.yml parameters: name: Windows_x64 diff --git a/build.proj b/build.proj index 6af45493c3..00f13f11ff 100644 --- a/build.proj +++ b/build.proj @@ -93,8 +93,8 @@ --> - - + + diff --git a/build/vsts-ci.yml b/build/vsts-ci.yml index 86b2fe77f5..5f51ac959f 100644 --- a/build/vsts-ci.yml +++ b/build/vsts-ci.yml @@ -9,6 +9,57 @@ resources: phases: +################################################################################ +- phase: Linux +################################################################################ + variables: + BuildConfig: Release + OfficialBuildId: $(BUILD.BUILDNUMBER) + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_MULTILEVEL_LOOKUP: 0 + queue: + name: DotNet-Build + demands: + - agent.os -equals linux + container: LinuxContainer + steps: + # Only build native assets to avoid conflicts. + - script: ./build.sh -buildNative -$(BuildConfig) -skipRIDAgnosticAssets + displayName: Build + + - task: PublishBuildArtifacts@1 + displayName: Publish Linux package assets + inputs: + pathToPublish: $(Build.SourcesDirectory)/bin/obj/packages + artifactName: PackageAssets + artifactType: container + +################################################################################ +- phase: MacOS +################################################################################ + variables: + BuildConfig: Release + OfficialBuildId: $(BUILD.BUILDNUMBER) + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_MULTILEVEL_LOOKUP: 0 + queue: + name: DotNetCore-Build + demands: + - agent.os -equals Darwin + steps: + # Only build native assets to avoid conflicts. + - script: ./build.sh -buildNative -$(BuildConfig) -skipRIDAgnosticAssets + displayName: Build + + - task: PublishBuildArtifacts@1 + displayName: Publish macOS package assets + inputs: + pathToPublish: $(Build.SourcesDirectory)/bin/obj/packages + artifactName: PackageAssets + artifactType: container + ################################################################################ - phase: Windows_x64 ################################################################################ @@ -39,6 +90,8 @@ phases: - phase: Package ################################################################################ dependsOn: + - Linux + - MacOS - Windows_x64 variables: BuildConfig: Release diff --git a/src/mlnet.Test/CommandLineTests.cs b/src/mlnet.Test/CommandLineTests.cs index 3ae5b7bf1a..46be141007 100644 --- a/src/mlnet.Test/CommandLineTests.cs +++ b/src/mlnet.Test/CommandLineTests.cs @@ -107,7 +107,7 @@ public void TestCommandLineArgsValuesTest() var validDataset = Path.GetTempFileName(); var labelName = "Label"; var name = "testname"; - var outputPath = "x:\\mlnet"; + var outputPath = Path.GetTempPath(); var falseString = "false"; // Create handler outside so that commandline and the handler is decoupled and testable. From dc1627368091fdfb8dddf79860964184fafc31b0 Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Sun, 17 Mar 2019 09:51:58 -0700 Subject: [PATCH 166/211] MicroAccuracy as default for multi-class (#295) Change default optimization metric for multi-class classification to MicroAccuracy (accuracy). Previously it was set to MacroAccuracy. --- src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index f6459a10ff..c5050613ea 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -12,7 +12,7 @@ namespace Microsoft.ML.Auto { public sealed class MulticlassExperimentSettings : ExperimentSettings { - public MulticlassClassificationMetric OptimizingMetric { get; set; } = MulticlassClassificationMetric.MacroAccuracy; + public MulticlassClassificationMetric OptimizingMetric { get; set; } = MulticlassClassificationMetric.MicroAccuracy; public ICollection Trainers { get; } = Enum.GetValues(typeof(MulticlassClassificationTrainer)).OfType().ToList(); public IProgress> ProgressHandler { get; set; } From 260937c4c29ef57d013fa3324ade84d0d152df18 Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Sun, 17 Mar 2019 17:13:34 -0700 Subject: [PATCH 167/211] Null exception for ignorecolumns in CLI (#294) * Null exception for ignorecolumns in CLI * Check if ignore-columns array has values (as the default is now a empty array) --- src/mlnet/Commands/CommandDefinitions.cs | 91 ++++++++++----------- src/mlnet/Commands/New/NewCommandHandler.cs | 2 +- 2 files changed, 45 insertions(+), 48 deletions(-) diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 6e1b3e8c1a..0a6d0753b1 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -2,14 +2,11 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; using System.Collections.Generic; using System.CommandLine; using System.CommandLine.Builder; using System.CommandLine.Invocation; using System.IO; -using System.Linq; -using Microsoft.ML.Auto; namespace Microsoft.ML.CLI.Commands { @@ -19,40 +16,40 @@ internal static System.CommandLine.Command New(ICommandHandler handler) { var newCommand = new System.CommandLine.Command("new", "Create a new .NET project using ML.NET to train and run a model", handler: handler) { - Dataset(), - ValidationDataset(), - TestDataset(), - MlTask(), - LabelName(), - MaxExplorationTime(), - LabelColumnIndex(), - Verbosity(), - Name(), - OutputPath(), - HasHeader(), - Cache(), - IgnoreColumns() + Dataset(), + ValidationDataset(), + TestDataset(), + MlTask(), + LabelName(), + MaxExplorationTime(), + LabelColumnIndex(), + Verbosity(), + Name(), + OutputPath(), + HasHeader(), + Cache(), + IgnoreColumns(), }; newCommand.Argument.AddValidator((sym) => { - if (sym.Children["--dataset"] == null) + if (!sym.Children.Contains("--dataset")) { return "Option required : --dataset"; } - if (sym.Children["--ml-task"] == null) + if (!sym.Children.Contains("--ml-task")) { return "Option required : --ml-task"; } - if (sym.Children["--label-column-name"] == null && sym.Children["--label-column-index"] == null) + if (!sym.Children.Contains("--label-column-name") && !sym.Children.Contains("--label-column-index")) { return "Option required : --label-column-name or --label-column-index"; } - if (sym.Children["--label-column-name"] != null && sym.Children["--label-column-index"] != null) + if (sym.Children.Contains("--label-column-name") && sym.Children.Contains("--label-column-index")) { return "The following options are mutually exclusive please provide only one : --label-column-name, --label-column-index"; } - if (sym.Children["--label-column-index"] != null && sym.Children["--ignore-columns"] != null) + if (sym.Children.Contains("--label-column-index") && sym.Children["--ignore-columns"].Arguments.Count > 0) { return "Currently we don't support specifying --ignore-columns in conjunction with --label-column-index"; } @@ -63,56 +60,56 @@ internal static System.CommandLine.Command New(ICommandHandler handler) return newCommand; Option Dataset() => - new Option("--dataset", "File path to either a single dataset or a training dataset for train/test split approaches.", - new Argument().ExistingOnly()); + new Option("--dataset", "File path to either a single dataset or a training dataset for train/test split approaches.", + new Argument().ExistingOnly()); Option ValidationDataset() => - new Option("--validation-dataset", "File path for the validation dataset in train/validation/test split approaches.", - new Argument(defaultValue: default(FileInfo)).ExistingOnly()); + new Option("--validation-dataset", "File path for the validation dataset in train/validation/test split approaches.", + new Argument(defaultValue: default(FileInfo)).ExistingOnly()); Option TestDataset() => - new Option("--test-dataset", "File path for the test dataset in train/test approaches.", - new Argument(defaultValue: default(FileInfo)).ExistingOnly()); + new Option("--test-dataset", "File path for the test dataset in train/test approaches.", + new Argument(defaultValue: default(FileInfo)).ExistingOnly()); Option MlTask() => - new Option("--ml-task", "Type of ML task to perform. Current supported tasks: regression and binary-classification", - new Argument().FromAmong(GetMlTaskSuggestions())); + new Option("--ml-task", "Type of ML task to perform. Current supported tasks: regression and binary-classification", + new Argument().FromAmong(GetMlTaskSuggestions())); Option LabelName() => - new Option("--label-column-name", "Name of the label (target) column to predict.", - new Argument()); + new Option("--label-column-name", "Name of the label (target) column to predict.", + new Argument()); Option LabelColumnIndex() => - new Option("--label-column-index", "Index of the label (target) column to predict.", - new Argument()); + new Option("--label-column-index", "Index of the label (target) column to predict.", + new Argument()); Option MaxExplorationTime() => - new Option("--max-exploration-time", "Maximum time in seconds for exploring models with best configuration.", - new Argument(defaultValue: 10)); + new Option("--max-exploration-time", "Maximum time in seconds for exploring models with best configuration.", + new Argument(defaultValue: 10)); Option Verbosity() => - new Option(new List() { "--verbosity" }, "Output verbosity choices: q[uiet], m[inimal] (by default) and diag[nostic]", - new Argument(defaultValue: "m").FromAmong(GetVerbositySuggestions())); + new Option(new List() { "--verbosity" }, "Output verbosity choices: q[uiet], m[inimal] (by default) and diag[nostic]", + new Argument(defaultValue: "m").FromAmong(GetVerbositySuggestions())); Option Name() => - new Option(new List() { "--name" }, "Name for the output project or solution to create. ", - new Argument()); + new Option(new List() { "--name" }, "Name for the output project or solution to create. ", + new Argument()); Option OutputPath() => - new Option(new List() { "--output-path" }, "Location folder to place the generated output. The default is the current directory.", - new Argument(defaultValue: new DirectoryInfo("."))); + new Option(new List() { "--output-path" }, "Location folder to place the generated output. The default is the current directory.", + new Argument(defaultValue:new DirectoryInfo("."))); Option HasHeader() => - new Option(new List() { "--has-header" }, "Specify true/false depending if the dataset file(s) have a header row.", - new Argument(defaultValue: true)); + new Option(new List() {"--has-header" }, "Specify true/false depending if the dataset file(s) have a header row.", + new Argument(defaultValue: true)); Option Cache() => - new Option(new List() { "--cache" }, "Specify on/off/auto if you want cache to be turned on, off or auto determined.", -new Argument(defaultValue: "auto").FromAmong(GetCacheSuggestions())); + new Option(new List() { "--cache" }, "Specify on/off/auto if you want cache to be turned on, off or auto determined.", + new Argument(defaultValue: "auto").FromAmong(GetCacheSuggestions())); Option IgnoreColumns() => -new Option(new List() { "--ignore-columns" }, "Specify the columns that needs to be ignored in the given dataset.", -new Argument>()); + new Option(new List() { "--ignore-columns" }, "Specify the columns that needs to be ignored in the given dataset.", + new Argument>(defaultValue: new List())); } diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index 117cb77204..35a91e2f4d 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -9,7 +9,7 @@ namespace Microsoft.ML.CLI.Commands.New { internal class NewCommand : ICommand { - private NewCommandSettings settings; + private readonly NewCommandSettings settings; internal NewCommand(NewCommandSettings settings) { From 6013b95381f2e47f74184d25facc88bfc17933b1 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Sun, 17 Mar 2019 19:38:49 -0700 Subject: [PATCH 168/211] Emit caching flag in pipeline object model. (Includes SuggestedPipelineBuilder refactor & debug string fixes / refactor) (#296) --- src/Microsoft.ML.Auto/API/Pipeline.cs | 4 +- .../Experiment/Experiment.cs | 14 +--- .../Experiment/SuggestedPipeline.cs | 35 ++------ .../Experiment/SuggestedPipelineBuilder.cs | 43 ++++++++++ .../PipelineSuggesters/PipelineSuggester.cs | 13 ++- src/Test/InferredPipelineTests.cs | 20 ++--- src/Test/SuggestedPipelineBuilderTests.cs | 83 +++++++++++++++++++ .../ConsoleCodeGeneratorTests.cs | 4 +- 8 files changed, 156 insertions(+), 60 deletions(-) create mode 100644 src/Microsoft.ML.Auto/Experiment/SuggestedPipelineBuilder.cs create mode 100644 src/Test/SuggestedPipelineBuilderTests.cs diff --git a/src/Microsoft.ML.Auto/API/Pipeline.cs b/src/Microsoft.ML.Auto/API/Pipeline.cs index b0f9de1de2..29e4005722 100644 --- a/src/Microsoft.ML.Auto/API/Pipeline.cs +++ b/src/Microsoft.ML.Auto/API/Pipeline.cs @@ -9,10 +9,12 @@ namespace Microsoft.ML.Auto internal class Pipeline { public PipelineNode[] Nodes { get; set; } + public bool CacheBeforeTrainer { get; set; } - public Pipeline(PipelineNode[] nodes) + public Pipeline(PipelineNode[] nodes, bool cacheBeforeTrainer = false) { Nodes = nodes; + CacheBeforeTrainer = cacheBeforeTrainer; } // (used by Newtonsoft) diff --git a/src/Microsoft.ML.Auto/Experiment/Experiment.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs index 9c5ff5958d..e8e200d7eb 100644 --- a/src/Microsoft.ML.Auto/Experiment/Experiment.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -182,9 +182,7 @@ private SuggestedPipelineResult ProcessPipeline(SuggestedPipeline pipeline) // run pipeline var stopwatch = Stopwatch.StartNew(); - var commandLineStr = $"{string.Join(" xf=", pipeline.Transforms)} tr={pipeline.Trainer}"; - - WriteDebugLog(DebugStream.RunResult, $"Processing pipeline {commandLineStr}."); + WriteDebugLog(DebugStream.RunResult, $"Processing pipeline {pipeline.ToString()}"); SuggestedPipelineResult runResult; @@ -243,15 +241,7 @@ private void WriteIterationLog(SuggestedPipeline pipeline, SuggestedPipelineResu // debug log pipeline result if (runResult.RunSucceded) { - var transformsSb = new StringBuilder(); - foreach (var transform in pipeline.Transforms) - { - transformsSb.Append("xf="); - transformsSb.Append(transform); - transformsSb.Append(" "); - } - var commandLineStr = $"{transformsSb.ToString()} tr={pipeline.Trainer}"; - WriteDebugLog(DebugStream.RunResult, $"{_history.Count}\t{runResult.Score}\t{stopwatch.Elapsed}\t{commandLineStr}"); + WriteDebugLog(DebugStream.RunResult, $"{_history.Count}\t{runResult.Score}\t{stopwatch.Elapsed}\t{pipeline.ToString()}"); } } diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs index 38580b6e1b..6019c9c9ac 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipeline.cs @@ -20,28 +20,22 @@ internal class SuggestedPipeline public readonly IList TransformsPostTrainer; private readonly MLContext _context; - private readonly bool? _enableCaching; + private readonly bool _cacheBeforeTrainer; public SuggestedPipeline(IEnumerable transforms, IEnumerable transformsPostTrainer, SuggestedTrainer trainer, MLContext context, - bool? enableCaching, - bool autoNormalize = true) + bool cacheBeforeTrainer) { Transforms = transforms.Select(t => t.Clone()).ToList(); TransformsPostTrainer = transformsPostTrainer.Select(t => t.Clone()).ToList(); Trainer = trainer.Clone(); _context = context; - _enableCaching = enableCaching; - - if (autoNormalize) - { - AddNormalizationTransforms(); - } + _cacheBeforeTrainer = cacheBeforeTrainer; } - public override string ToString() => $"{string.Join(" xf=", this.Transforms)} tr={this.Trainer} {string.Join(" xf=", this.TransformsPostTrainer)}"; + public override string ToString() => $"{string.Join(" ", Transforms.Select(t => $"xf={t}"))} tr={this.Trainer} {string.Join(" ", TransformsPostTrainer.Select(t => $"xf={t}"))} cache={(_cacheBeforeTrainer ? "+" : "-")}"; public override bool Equals(object obj) { @@ -70,7 +64,7 @@ public Pipeline ToPipeline() { pipelineElements.Add(transform.PipelineNode); } - return new Pipeline(pipelineElements.ToArray()); + return new Pipeline(pipelineElements.ToArray(), _cacheBeforeTrainer); } public static SuggestedPipeline FromPipeline(MLContext context, Pipeline pipeline) @@ -108,7 +102,7 @@ public static SuggestedPipeline FromPipeline(MLContext context, Pipeline pipelin } } - return new SuggestedPipeline(transforms, transformsPostTrainer, trainer, context, null); + return new SuggestedPipeline(transforms, transformsPostTrainer, trainer, context, pipeline.CacheBeforeTrainer); } public IEstimator ToEstimator() @@ -127,7 +121,7 @@ public IEstimator ToEstimator() // Get learner var learner = Trainer.BuildTrainer(); - if (_enableCaching == true || (_enableCaching == null && learner.Info.WantCaching)) + if (_cacheBeforeTrainer) { pipeline = pipeline.AppendCacheCheckpoint(_context); } @@ -146,20 +140,5 @@ public IEstimator ToEstimator() return pipeline; } - - private void AddNormalizationTransforms() - { - // get learner - var learner = Trainer.BuildTrainer(); - - // only add normalization if learner needs it - if (!learner.Info.NeedNormalization) - { - return; - } - - var transform = NormalizingExtension.CreateSuggestedTransform(_context, DefaultColumnNames.Features, DefaultColumnNames.Features); - Transforms.Add(transform); - } } } diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineBuilder.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineBuilder.cs new file mode 100644 index 0000000000..a3fad88e0b --- /dev/null +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineBuilder.cs @@ -0,0 +1,43 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal static class SuggestedPipelineBuilder + { + public static SuggestedPipeline Build(MLContext context, + ICollection transforms, + ICollection transformsPostTrainer, + SuggestedTrainer trainer, + bool? enableCaching) + { + var trainerInfo = trainer.BuildTrainer().Info; + AddNormalizationTransforms(context, trainerInfo, transforms); + var cacheBeforeTrainer = ShouldCacheBeforeTrainer(trainerInfo, enableCaching); + return new SuggestedPipeline(transforms, transformsPostTrainer, trainer, context, cacheBeforeTrainer); + } + + private static void AddNormalizationTransforms(MLContext context, + TrainerInfo trainerInfo, + ICollection transforms) + { + // Only add normalization if trainer needs it + if (!trainerInfo.NeedNormalization) + { + return; + } + + var transform = NormalizingExtension.CreateSuggestedTransform(context, DefaultColumnNames.Features, DefaultColumnNames.Features); + transforms.Add(transform); + } + + private static bool ShouldCacheBeforeTrainer(TrainerInfo trainerInfo, bool? enableCaching) + { + return enableCaching == true || (enableCaching == null && trainerInfo.WantCaching); + } + } +} diff --git a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs index 623653519d..464b998093 100644 --- a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs +++ b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.Linq; using Microsoft.Data.DataView; -using Microsoft.ML.Data; namespace Microsoft.ML.Auto { @@ -35,8 +34,8 @@ public static SuggestedPipeline GetNextInferredPipeline(MLContext context, { var availableTrainers = RecipeInference.AllowedTrainers(context, task, ColumnInformationUtil.BuildColumnInfo(columns), trainerWhitelist); - var transforms = TransformInferenceApi.InferTransforms(context, task, columns); - var transformsPostTrainer = TransformInferenceApi.InferTransformsPostTrainer(context, task, columns); + var transforms = TransformInferenceApi.InferTransforms(context, task, columns).ToList(); + var transformsPostTrainer = TransformInferenceApi.InferTransformsPostTrainer(context, task, columns).ToList(); // if we haven't run all pipelines once if (history.Count() < availableTrainers.Count()) @@ -72,7 +71,7 @@ public static SuggestedPipeline GetNextInferredPipeline(MLContext context, break; } - var suggestedPipeline = new SuggestedPipeline(transforms, transformsPostTrainer, newTrainer, context, _enableCaching); + var suggestedPipeline = SuggestedPipelineBuilder.Build(context, transforms, transformsPostTrainer, newTrainer, _enableCaching); // make sure we have not seen pipeline before if (!visitedPipelines.Contains(suggestedPipeline)) @@ -118,12 +117,12 @@ private static IEnumerable OrderTrainersByNumTrials(IEnumerabl private static SuggestedPipeline GetNextFirstStagePipeline(MLContext context, IEnumerable history, IEnumerable availableTrainers, - IEnumerable transforms, - IEnumerable transformsPostTrainer, + ICollection transforms, + ICollection transformsPostTrainer, bool? _enableCaching) { var trainer = availableTrainers.ElementAt(history.Count()); - return new SuggestedPipeline(transforms, transformsPostTrainer, trainer, context, _enableCaching); + return SuggestedPipelineBuilder.Build(context, transforms, transformsPostTrainer, trainer, _enableCaching); } private static IValueGenerator[] ConvertToValueGenerators(IEnumerable hps) diff --git a/src/Test/InferredPipelineTests.cs b/src/Test/InferredPipelineTests.cs index 08ab787aec..87cd70f4c0 100644 --- a/src/Test/InferredPipelineTests.cs +++ b/src/Test/InferredPipelineTests.cs @@ -22,16 +22,16 @@ public void InferredPipelinesHashTest() var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); var transforms1 = new List(); var transforms2 = new List(); - var inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, null); - var inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, null); + var inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, false); + var inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, false); Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // test same learners with hyperparams set vs empty hyperparams have different hash codes var hyperparams1 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams1); trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); - inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, null); - inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, null); + inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, false); + inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, false); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same learners with different hyperparams @@ -39,8 +39,8 @@ public void InferredPipelinesHashTest() var hyperparams2 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 6) }); trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams1); trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams2); - inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, null); - inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, null); + inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, false); + inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, false); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same learners with same transforms @@ -48,8 +48,8 @@ public void InferredPipelinesHashTest() trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, null); - inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, null); + inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, false); + inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, false); Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same transforms with different learners @@ -57,8 +57,8 @@ public void InferredPipelinesHashTest() trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, null); - inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, null); + inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, false); + inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, false); Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); } } diff --git a/src/Test/SuggestedPipelineBuilderTests.cs b/src/Test/SuggestedPipelineBuilderTests.cs new file mode 100644 index 0000000000..e59c3fccea --- /dev/null +++ b/src/Test/SuggestedPipelineBuilderTests.cs @@ -0,0 +1,83 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class SuggestedPipelineBuilderTests + { + private static MLContext _context = new MLContext(); + + [TestMethod] + public void TrainerWantsCaching() + { + TestPipelineBuilderCaching(BuildAveragedPerceptronTrainer(), + new bool?[] { true, false, null }, + new[] { true, false, true }); + } + + [TestMethod] + public void TrainerDoesntWantCaching() + { + TestPipelineBuilderCaching(BuildLightGbmTrainer(), + new bool?[] { true, false, null }, + new[] { true, false, false }); + } + + [TestMethod] + public void TrainerNeedsNormalization() + { + var pipeline = BuildSuggestedPipeline(BuildAveragedPerceptronTrainer()); + Assert.AreEqual(EstimatorName.Normalizing.ToString(), + pipeline.Transforms[0].PipelineNode.Name); + } + + [TestMethod] + public void TrainerNotNeedNormalization() + { + var pipeline = BuildSuggestedPipeline(BuildLightGbmTrainer()); + Assert.AreEqual(0, pipeline.Transforms.Count); + } + + private static void TestPipelineBuilderCaching( + SuggestedTrainer trainer, + bool?[] enableCachingOptions, + bool[] resultShouldHaveCaching) + { + for (var i = 0; i < enableCachingOptions.Length; i++) + { + var suggestedPipeline = BuildSuggestedPipeline(trainer, + enableCachingOptions[i]); + Assert.AreEqual(resultShouldHaveCaching[i], + suggestedPipeline.ToPipeline().CacheBeforeTrainer); + } + } + + private static SuggestedTrainer BuildAveragedPerceptronTrainer() + { + return new SuggestedTrainer(_context, + new AveragedPerceptronBinaryExtension(), + new ColumnInformation()); + } + + private static SuggestedTrainer BuildLightGbmTrainer() + { + return new SuggestedTrainer(_context, + new LightGbmBinaryExtension(), + new ColumnInformation()); + } + + private static SuggestedPipeline BuildSuggestedPipeline(SuggestedTrainer trainer, + bool? enableCaching = null) + { + return SuggestedPipelineBuilder.Build(_context, + new List(), + new List(), + trainer, enableCaching); + } + } +} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index 831cb0aaf3..9558b1e48f 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -104,8 +104,8 @@ public void GeneratedHelperCodeTest() var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), new ColumnInformation(), hyperparams2); var transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; var transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - var inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, null); - var inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, null); + var inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, false); + var inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, false); this.pipeline = inferredPipeline1.ToPipeline(); var textLoaderArgs = new TextLoader.Options() From 829ae8cb586ab5648352ec56b1641c5150fcc9ca Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 18 Mar 2019 10:55:45 -0700 Subject: [PATCH 169/211] removed sln (#297) --- src/mlnet/MlNet.sln | 37 ------------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 src/mlnet/MlNet.sln diff --git a/src/mlnet/MlNet.sln b/src/mlnet/MlNet.sln deleted file mode 100644 index 5de99265f9..0000000000 --- a/src/mlnet/MlNet.sln +++ /dev/null @@ -1,37 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.329 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MLNet", "MLNet.csproj", "{AF38203D-CFEE-41BA-ADC5-9810B0C0A388}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug-Intrinsics|Any CPU = Debug-Intrinsics|Any CPU - Debug-netfx|Any CPU = Debug-netfx|Any CPU - Release|Any CPU = Release|Any CPU - Release-Intrinsics|Any CPU = Release-Intrinsics|Any CPU - Release-netfx|Any CPU = Release-netfx|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug-Intrinsics|Any CPU - {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Debug-Intrinsics|Any CPU.Build.0 = Debug-Intrinsics|Any CPU - {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU - {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Release|Any CPU.Build.0 = Release|Any CPU - {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Release-Intrinsics|Any CPU.ActiveCfg = Release-Intrinsics|Any CPU - {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Release-Intrinsics|Any CPU.Build.0 = Release-Intrinsics|Any CPU - {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU - {AF38203D-CFEE-41BA-ADC5-9810B0C0A388}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {057D3477-77B6-4A63-A20E-B08DB203DA7D} - EndGlobalSection -EndGlobal From 2c44aab251c810ab0614959528f70ada8736b9a6 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 18 Mar 2019 11:35:19 -0700 Subject: [PATCH 170/211] Caching enabling in code gen part -2 (#298) * add * added caching codegen --- ...GeneratorTests.GeneratedTrainCodeTest.approved.txt | 5 +++-- .../ApprovalTests/ConsoleCodeGeneratorTests.cs | 2 +- src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs | 7 ++++--- src/mlnet/Templates/Console/MLCodeGen.cs | 11 +++++++++-- src/mlnet/Templates/Console/MLCodeGen.tt | 5 +++-- 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt index a4e5dc3621..10b2bbb972 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt @@ -68,7 +68,8 @@ namespace MyNamespace allowSparse: true); // Common data process configuration with pipeline data transformations - var dataProcessPipeline = mlContext.Transforms.Concatenate("Out", new[] { "In" }); + var dataProcessPipeline = mlContext.Transforms.Concatenate("Out", new[] { "In" }) + .AppendCacheCheckpoint(mlContext); // Set the training algorithm, then create and config the modelBuilder var trainer = mlContext.BinaryClassification.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumn = "Label", FeatureColumn = "Features" }); @@ -100,7 +101,7 @@ namespace MyNamespace { //Load data to test. Could be any test data. For demonstration purpose train data is used here. IDataView trainingDataView = mlContext.Data.LoadFromTextFile( - path: TrainDataPath, + path: TestDataPath, hasHeader: true, separatorChar: ',', allowQuoting: true, diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index 9558b1e48f..b7d96ad459 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -104,7 +104,7 @@ public void GeneratedHelperCodeTest() var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), new ColumnInformation(), hyperparams2); var transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; var transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - var inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, false); + var inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, true); var inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, false); this.pipeline = inferredPipeline1.ToPipeline(); diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index abc5600e2c..0426d477e3 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -54,7 +54,7 @@ public void GenerateOutput() var namespaceValue = Utils.Normalize(settings.OutputName); // Generate code for training and scoring - var trainFileContent = GenerateTrainCode(usings, trainer, transforms, columns, classLabels, namespaceValue); + var trainFileContent = GenerateTrainCode(usings, trainer, transforms, columns, classLabels, namespaceValue, pipeline.CacheBeforeTrainer); var tree = CSharpSyntaxTree.ParseText(trainFileContent); var syntaxNode = tree.GetRoot(); trainFileContent = Formatter.Format(syntaxNode, new AdhocWorkspace()).ToFullString(); @@ -91,7 +91,7 @@ internal static string GeneratProjectCode() return projectCodeGen.TransformText(); } - internal string GenerateTrainCode(string usings, string trainer, List transforms, IList columns, IList classLabels, string namespaceValue) + internal string GenerateTrainCode(string usings, string trainer, List transforms, IList columns, IList classLabels, string namespaceValue, bool cacheBeforeTrainer) { var trainingAndScoringCodeGen = new MLCodeGen() { @@ -110,7 +110,8 @@ internal string GenerateTrainCode(string usings, string trainer, List tr TaskType = settings.MlTask.ToString(), Namespace = namespaceValue, LabelName = settings.LabelName, - ModelPath = settings.ModelPath + ModelPath = settings.ModelPath, + CacheBeforeTrainer = cacheBeforeTrainer }; return trainingAndScoringCodeGen.TransformText(); diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index b5c0fde07b..4ec776787c 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -126,6 +126,7 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) { Write(")"); } } +if(CacheBeforeTrainer){ Write("\r\n .AppendCacheCheckpoint(mlContext)");} this.Write(";\r\n"); } this.Write("\r\n // Set the training algorithm, then create and config the modelBuil" + @@ -207,8 +208,13 @@ private static void Predict(MLContext mlContext) { //Load data to test. Could be any test data. For demonstration purpose train data is used here. IDataView trainingDataView = mlContext.Data.LoadFromTextFile( - path: TrainDataPath, - hasHeader : "); + path: "); +if(!string.IsNullOrEmpty(TestPath)){ + this.Write("TestDataPath"); +}else{ + this.Write("TrainDataPath"); +} + this.Write(",\r\n hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); this.Write(",\r\n separatorChar : \'"); this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); @@ -284,6 +290,7 @@ private static void Predict(MLContext mlContext) public string Namespace {get;set;} public string LabelName {get;set;} public string ModelPath {get;set;} +public bool CacheBeforeTrainer {get;set;} } #region Base class diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index 5a4d536066..ca089520c7 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -88,7 +88,7 @@ namespace <#= Namespace #> if(i>0) { Write(")"); } - }#>; + }#><#if(CacheBeforeTrainer){ Write("\r\n .AppendCacheCheckpoint(mlContext)");} #>; <#}#> // Set the training algorithm, then create and config the modelBuilder @@ -146,7 +146,7 @@ if(string.IsNullOrEmpty(TestPath)){ #> { //Load data to test. Could be any test data. For demonstration purpose train data is used here. IDataView trainingDataView = mlContext.Data.LoadFromTextFile( - path: TrainDataPath, + path: <#if(!string.IsNullOrEmpty(TestPath)){ #>TestDataPath<#}else{#>TrainDataPath<#}#>, hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', allowQuoting : <#= AllowQuoting.ToString().ToLowerInvariant() #>, @@ -219,4 +219,5 @@ public int Kfolds {get;set;} = 5; public string Namespace {get;set;} public string LabelName {get;set;} public string ModelPath {get;set;} +public bool CacheBeforeTrainer {get;set;} #> From 30046a19942668602dc46095da4d97ec2886dbf7 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 18 Mar 2019 18:26:03 -0700 Subject: [PATCH 171/211] support comma separated values for --ignore-columns (#300) --- src/mlnet.Test/CommandLineTests.cs | 9 +++++- src/mlnet/Commands/CommandDefinitions.cs | 39 +++++++++++++++++++++--- 2 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/mlnet.Test/CommandLineTests.cs b/src/mlnet.Test/CommandLineTests.cs index 46be141007..714b2ea318 100644 --- a/src/mlnet.Test/CommandLineTests.cs +++ b/src/mlnet.Test/CommandLineTests.cs @@ -261,6 +261,7 @@ public void IgnoreColumnsArgumentTest() var trainDataset = Path.GetTempFileName(); var testDataset = Path.GetTempFileName(); var labelName = "Label"; + var ignoreColumns = "a,b,c"; // Create handler outside so that commandline and the handler is decoupled and testable. var handler = CommandHandler.Create( @@ -284,10 +285,16 @@ public void IgnoreColumnsArgumentTest() .Build(); // valid cache test - string[] args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--ignore-columns", "a", "b", "c" }; + string[] args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--ignore-columns", ignoreColumns }; parser.InvokeAsync(args).Wait(); Assert.IsTrue(parsingSuccessful); + parsingSuccessful = false; + + args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--ignore-columns", "a b c" }; + parser.InvokeAsync(args).Wait(); + Assert.IsFalse(parsingSuccessful); + File.Delete(trainDataset); File.Delete(testDataset); } diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 0a6d0753b1..972fe2f388 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -2,11 +2,13 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; using System.Collections.Generic; using System.CommandLine; using System.CommandLine.Builder; using System.CommandLine.Invocation; using System.IO; +using System.Linq; namespace Microsoft.ML.CLI.Commands { @@ -97,20 +99,47 @@ Option Name() => Option OutputPath() => new Option(new List() { "--output-path" }, "Location folder to place the generated output. The default is the current directory.", - new Argument(defaultValue:new DirectoryInfo("."))); + new Argument(defaultValue: new DirectoryInfo("."))); Option HasHeader() => - new Option(new List() {"--has-header" }, "Specify true/false depending if the dataset file(s) have a header row.", + new Option(new List() { "--has-header" }, "Specify true/false depending if the dataset file(s) have a header row.", new Argument(defaultValue: true)); Option Cache() => new Option(new List() { "--cache" }, "Specify on/off/auto if you want cache to be turned on, off or auto determined.", new Argument(defaultValue: "auto").FromAmong(GetCacheSuggestions())); + // This is a temporary hack to work around having comma separated values for argument. This feature needs to be enabled in the parser itself. Option IgnoreColumns() => - new Option(new List() { "--ignore-columns" }, "Specify the columns that needs to be ignored in the given dataset.", - new Argument>(defaultValue: new List())); - + new Option(new List() { "--ignore-columns" }, "Specify the columns that needs to be ignored in the given dataset.", + new Argument>(symbolResult => + { + try + { + List valuesList = new List(); + foreach (var argument in symbolResult.Arguments) + { + if (!string.IsNullOrWhiteSpace(argument)) + { + var values = argument.Split(",", StringSplitOptions.RemoveEmptyEntries); + valuesList.AddRange(values); + } + } + if (valuesList.Count > 0) + return ArgumentResult.Success(valuesList); + + } + catch (Exception) + { + return ArgumentResult.Failure($"Unknown exception occured while parsing argument for --ignore-columns :{string.Join(' ', symbolResult.Arguments.ToArray())}"); + } + + //This shouldn't be hit. + return ArgumentResult.Failure($"Unknown error while parsing argument for --ignore-columns"); + }) + { + Arity = ArgumentArity.OneOrMore + }); } private static string[] GetMlTaskSuggestions() From d2c50a79d81fccdd2f233886fcb1874e2036e9da Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 19 Mar 2019 17:18:06 -0700 Subject: [PATCH 172/211] default initialization for ignore columns (#302) * default initialization * adde null check --- src/mlnet/Commands/CommandDefinitions.cs | 2 +- src/mlnet/Commands/New/NewCommandSettings.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 972fe2f388..535f878b20 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -51,7 +51,7 @@ internal static System.CommandLine.Command New(ICommandHandler handler) { return "The following options are mutually exclusive please provide only one : --label-column-name, --label-column-index"; } - if (sym.Children.Contains("--label-column-index") && sym.Children["--ignore-columns"].Arguments.Count > 0) + if (sym.Children.Contains("--label-column-index") && sym.Children["--ignore-columns"]?.Arguments.Count > 0) { return "Currently we don't support specifying --ignore-columns in conjunction with --label-column-index"; } diff --git a/src/mlnet/Commands/New/NewCommandSettings.cs b/src/mlnet/Commands/New/NewCommandSettings.cs index 5ad3ef9632..686e427aeb 100644 --- a/src/mlnet/Commands/New/NewCommandSettings.cs +++ b/src/mlnet/Commands/New/NewCommandSettings.cs @@ -33,7 +33,7 @@ public class NewCommandSettings public string Cache { get; set; } - public List IgnoreColumns { get; set; } + public List IgnoreColumns { get; set; } = new List(); } } From 14091e45c4ba287897f9ceccd340762ba9fa35b9 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 19 Mar 2019 18:00:56 -0700 Subject: [PATCH 173/211] Codegen for multiclass non-ova (#303) * changes to template * multicalss codegen * test cases * fix test cases --- ...CodeBinaryClassificationTest.approved.txt} | 12 +- ...eratedTrainCodeMulticlassTest.approved.txt | 166 ++++++++++++++++++ ...eratedTrainCodeRegressionTest.approved.txt | 164 +++++++++++++++++ .../ConsoleCodeGeneratorTests.cs | 50 +++++- src/mlnet.Test/CodeGenTests.cs | 5 +- src/mlnet.Test/TransformGeneratorTests.cs | 22 +-- .../CodeGenerator/CSharp/CodeGenerator.cs | 70 ++++++-- src/mlnet/Commands/CommandDefinitions.cs | 2 +- src/mlnet/Templates/Console/MLCodeGen.cs | 38 ++-- src/mlnet/Templates/Console/MLCodeGen.tt | 28 ++- src/mlnet/Utilities/Utils.cs | 27 ++- 11 files changed, 526 insertions(+), 58 deletions(-) rename src/mlnet.Test/ApprovalTests/{ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt => ConsoleCodeGeneratorTests.GeneratedTrainCodeBinaryClassificationTest.approved.txt} (96%) create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeMulticlassTest.approved.txt create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeRegressionTest.approved.txt diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeBinaryClassificationTest.approved.txt similarity index 96% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt rename to src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeBinaryClassificationTest.approved.txt index 10b2bbb972..46a54a503c 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeBinaryClassificationTest.approved.txt @@ -122,7 +122,7 @@ namespace MyNamespace var resultprediction = predEngine.Predict(sample); Console.WriteLine($"=============== Single Prediction ==============="); - Console.WriteLine($"Actual value: {sample.Label} | Predicted value: {resultprediction.Prediction}"); + Console.WriteLine($"Actual value: {sample.Label} | Predicted value: {resultprediction.Prediction} "); Console.WriteLine($"=================================================="); } @@ -135,23 +135,23 @@ namespace MyNamespace [ColumnName("col1"), LoadColumn(1)] - public float col1 { get; set; } + public float Col1 { get; set; } [ColumnName("col2"), LoadColumn(0)] - public float col2 { get; set; } + public float Col2 { get; set; } [ColumnName("col3"), LoadColumn(0)] - public string col3 { get; set; } + public string Col3 { get; set; } [ColumnName("col4"), LoadColumn(0)] - public int col4 { get; set; } + public int Col4 { get; set; } [ColumnName("col5"), LoadColumn(0)] - public uint col5 { get; set; } + public uint Col5 { get; set; } } diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeMulticlassTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeMulticlassTest.approved.txt new file mode 100644 index 0000000000..318d45ac18 --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeMulticlassTest.approved.txt @@ -0,0 +1,166 @@ +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using System; +using System.IO; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Data; +using Microsoft.Data.DataView; +using Microsoft.ML.LightGBM; + + +namespace MyNamespace +{ + class Program + { + private static string TrainDataPath = @"x:\dummypath\dummy_train.csv"; + private static string TestDataPath = @"x:\dummypath\dummy_test.csv"; + private static string ModelPath = @"x:\models\model.zip"; + + static void Main(string[] args) + { + // Create MLContext to be shared across the model creation workflow objects + var mlContext = new MLContext(); + + var command = Command.Predict; // Your desired action here + + if (command == Command.Predict) + { + Predict(mlContext); + ConsoleHelper.ConsoleWriteHeader("=============== If you also want to train a model use Command.TrainAndPredict ==============="); + } + + if (command == Command.TrainAndPredict) + { + TrainEvaluateAndSaveModel(mlContext); + Predict(mlContext); + } + + Console.WriteLine("=============== End of process, hit any key to finish ==============="); + Console.ReadKey(); + } + + private enum Command + { + Predict, + TrainAndPredict + } + + private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) + { + // Load data + Console.WriteLine("=============== Loading data ==============="); + IDataView trainingDataView = mlContext.Data.LoadFromTextFile( + path: TrainDataPath, + hasHeader: true, + separatorChar: ',', + allowQuoting: true, + allowSparse: true); + IDataView testDataView = mlContext.Data.LoadFromTextFile( + path: TestDataPath, + hasHeader: true, + separatorChar: ',', + allowQuoting: true, + allowSparse: true); + + // Common data process configuration with pipeline data transformations + var dataProcessPipeline = mlContext.Transforms.Concatenate("Out", new[] { "In" }) + .AppendCacheCheckpoint(mlContext); + + // Set the training algorithm, then create and config the modelBuilder + var trainer = mlContext.MulticlassClassification.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumn = "Label", FeatureColumn = "Features" }); + var trainingPipeline = dataProcessPipeline.Append(trainer); + + // Train the model fitting to the DataSet + Console.WriteLine("=============== Training the model ==============="); + var trainedModel = trainingPipeline.Fit(trainingDataView); + + // Evaluate the model and show accuracy stats + Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); + var predictions = trainedModel.Transform(testDataView); + + // Save/persist the trained model to a .ZIP file + Console.WriteLine($"=============== Saving the model ==============="); + using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) + mlContext.Model.Save(trainedModel, fs); + + Console.WriteLine("The model is saved to {0}", ModelPath); + Console.WriteLine("=============== End of training process ==============="); + + return trainedModel; + } + + // Try/test a single prediction by loading the model from the file, first. + private static void Predict(MLContext mlContext) + { + //Load data to test. Could be any test data. For demonstration purpose train data is used here. + IDataView trainingDataView = mlContext.Data.LoadFromTextFile( + path: TestDataPath, + hasHeader: true, + separatorChar: ',', + allowQuoting: true, + allowSparse: true); + + var sample = mlContext.Data.CreateEnumerable(trainingDataView, false).First(); + + ITransformer trainedModel; + using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + trainedModel = mlContext.Model.Load(stream); + } + + // Create prediction engine related to the loaded trained model + var predEngine = trainedModel.CreatePredictionEngine(mlContext); + + //Score + var resultprediction = predEngine.Predict(sample); + + Console.WriteLine($"=============== Single Prediction ==============="); + Console.WriteLine($"Actual value: {sample.Label} | Predicted value: {resultprediction.Prediction} | Predicted scores: [{String.Join(", ", resultprediction.Score)}]"); + Console.WriteLine($"=================================================="); + } + + } + + public class SampleObservation + { + [ColumnName("Label"), LoadColumn(0)] + public bool Label { get; set; } + + + [ColumnName("col1"), LoadColumn(1)] + public float Col1 { get; set; } + + + [ColumnName("col2"), LoadColumn(0)] + public float Col2 { get; set; } + + + [ColumnName("col3"), LoadColumn(0)] + public string Col3 { get; set; } + + + [ColumnName("col4"), LoadColumn(0)] + public int Col4 { get; set; } + + + [ColumnName("col5"), LoadColumn(0)] + public uint Col5 { get; set; } + + + } + + public class SamplePrediction + { + // ColumnName attribute is used to change the column name from + // its default value, which is the name of the field. + [ColumnName("PredictedLabel")] + public Boolean Prediction { get; set; } + public float[] Score { get; set; } + } + +} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeRegressionTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeRegressionTest.approved.txt new file mode 100644 index 0000000000..b772a77bea --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeRegressionTest.approved.txt @@ -0,0 +1,164 @@ +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using System; +using System.IO; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Data; +using Microsoft.Data.DataView; +using Microsoft.ML.LightGBM; + + +namespace MyNamespace +{ + class Program + { + private static string TrainDataPath = @"x:\dummypath\dummy_train.csv"; + private static string TestDataPath = @"x:\dummypath\dummy_test.csv"; + private static string ModelPath = @"x:\models\model.zip"; + + static void Main(string[] args) + { + // Create MLContext to be shared across the model creation workflow objects + var mlContext = new MLContext(); + + var command = Command.Predict; // Your desired action here + + if (command == Command.Predict) + { + Predict(mlContext); + ConsoleHelper.ConsoleWriteHeader("=============== If you also want to train a model use Command.TrainAndPredict ==============="); + } + + if (command == Command.TrainAndPredict) + { + TrainEvaluateAndSaveModel(mlContext); + Predict(mlContext); + } + + Console.WriteLine("=============== End of process, hit any key to finish ==============="); + Console.ReadKey(); + } + + private enum Command + { + Predict, + TrainAndPredict + } + + private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) + { + // Load data + Console.WriteLine("=============== Loading data ==============="); + IDataView trainingDataView = mlContext.Data.LoadFromTextFile( + path: TrainDataPath, + hasHeader: true, + separatorChar: ',', + allowQuoting: true, + allowSparse: true); + IDataView testDataView = mlContext.Data.LoadFromTextFile( + path: TestDataPath, + hasHeader: true, + separatorChar: ',', + allowQuoting: true, + allowSparse: true); + + // Common data process configuration with pipeline data transformations + var dataProcessPipeline = mlContext.Transforms.Concatenate("Out", new[] { "In" }) + .AppendCacheCheckpoint(mlContext); + + // Set the training algorithm, then create and config the modelBuilder + var trainer = mlContext.Regression.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumn = "Label", FeatureColumn = "Features" }); + var trainingPipeline = dataProcessPipeline.Append(trainer); + + // Train the model fitting to the DataSet + Console.WriteLine("=============== Training the model ==============="); + var trainedModel = trainingPipeline.Fit(trainingDataView); + + // Evaluate the model and show accuracy stats + Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); + var predictions = trainedModel.Transform(testDataView); + var metrics = mlContext.Regression.Evaluate(predictions, "Label", "Score"); + ConsoleHelper.PrintRegressionMetrics(trainer.ToString(), metrics); + + // Save/persist the trained model to a .ZIP file + Console.WriteLine($"=============== Saving the model ==============="); + using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) + mlContext.Model.Save(trainedModel, fs); + + Console.WriteLine("The model is saved to {0}", ModelPath); + Console.WriteLine("=============== End of training process ==============="); + + return trainedModel; + } + + // Try/test a single prediction by loading the model from the file, first. + private static void Predict(MLContext mlContext) + { + //Load data to test. Could be any test data. For demonstration purpose train data is used here. + IDataView trainingDataView = mlContext.Data.LoadFromTextFile( + path: TestDataPath, + hasHeader: true, + separatorChar: ',', + allowQuoting: true, + allowSparse: true); + + var sample = mlContext.Data.CreateEnumerable(trainingDataView, false).First(); + + ITransformer trainedModel; + using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + trainedModel = mlContext.Model.Load(stream); + } + + // Create prediction engine related to the loaded trained model + var predEngine = trainedModel.CreatePredictionEngine(mlContext); + + //Score + var resultprediction = predEngine.Predict(sample); + + Console.WriteLine($"=============== Single Prediction ==============="); + Console.WriteLine($"Actual value: {sample.Label} | Predicted value: {resultprediction.Score} "); + Console.WriteLine($"=================================================="); + } + + } + + public class SampleObservation + { + [ColumnName("Label"), LoadColumn(0)] + public bool Label { get; set; } + + + [ColumnName("col1"), LoadColumn(1)] + public float Col1 { get; set; } + + + [ColumnName("col2"), LoadColumn(0)] + public float Col2 { get; set; } + + + [ColumnName("col3"), LoadColumn(0)] + public string Col3 { get; set; } + + + [ColumnName("col4"), LoadColumn(0)] + public int Col4 { get; set; } + + + [ColumnName("col5"), LoadColumn(0)] + public uint Col5 { get; set; } + + + } + + public class SamplePrediction + { + public float Score { get; set; } + } + +} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index b7d96ad459..4d08513bc8 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -22,7 +22,7 @@ public class ConsoleCodeGeneratorTests [TestMethod] [UseReporter(typeof(DiffReporter))] - public void GeneratedTrainCodeTest() + public void GeneratedTrainCodeBinaryClassificationTest() { (Pipeline pipeline, ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); @@ -44,6 +44,54 @@ public void GeneratedTrainCodeTest() } + [TestMethod] + [UseReporter(typeof(DiffReporter))] + public void GeneratedTrainCodeRegressionTest() + { + (Pipeline pipeline, + ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + + var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() + { + MlTask = TaskKind.Regression, + OutputBaseDir = null, + OutputName = "MyNamespace", + TrainDataset = "x:\\dummypath\\dummy_train.csv", + TestDataset = "x:\\dummypath\\dummy_test.csv", + LabelName = "Label", + ModelPath = "x:\\models\\model.zip" + }); + + (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); + + Approvals.Verify(trainCode); + + } + + [TestMethod] + [UseReporter(typeof(DiffReporter))] + public void GeneratedTrainCodeMulticlassTest() + { + (Pipeline pipeline, + ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + + var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() + { + MlTask = TaskKind.MulticlassClassification, + OutputBaseDir = null, + OutputName = "MyNamespace", + TrainDataset = "x:\\dummypath\\dummy_train.csv", + TestDataset = "x:\\dummypath\\dummy_test.csv", + LabelName = "Label", + ModelPath = "x:\\models\\model.zip" + }); + + (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); + + Approvals.Verify(trainCode); + + } + [TestMethod] [UseReporter(typeof(DiffReporter))] public void GeneratedProjectCodeTest() diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index c4ebc5b2af..d0f6b3ed8e 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -62,7 +62,7 @@ public void TransformGeneratorBasicTest() PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); + var actual = codeGenerator.GenerateTransformsAndUsings(new List() { node }); string expected = "Normalize(\"Label\",\"Label\")"; Assert.AreEqual(expected, actual[0].Item1); Assert.IsNull(actual[0].Item2); @@ -76,7 +76,7 @@ public void TransformGeneratorUsingTest() PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); + var actual = codeGenerator.GenerateTransformsAndUsings(new List() { node }); string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnOptions(\"Label\",\"Label\")})"; var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); @@ -162,7 +162,6 @@ public void TrainerComplexParameterTest() var expectedUsings = "using Microsoft.ML.LightGBM;\r\n"; Assert.AreEqual(expectedTrainer, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2); - } } } diff --git a/src/mlnet.Test/TransformGeneratorTests.cs b/src/mlnet.Test/TransformGeneratorTests.cs index 90098f9337..eedfececc3 100644 --- a/src/mlnet.Test/TransformGeneratorTests.cs +++ b/src/mlnet.Test/TransformGeneratorTests.cs @@ -17,7 +17,7 @@ public void MissingValueReplacingTest() PipelineNode node = new PipelineNode("MissingValueReplacing", PipelineNodeType.Transform, new string[] { "categorical_column_1" }, new string[] { "categorical_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); + var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); var expectedTransform = "ReplaceMissingValues(new []{new MissingValueReplacingEstimator.ColumnOptions(\"categorical_column_1\",\"categorical_column_1\")})"; string expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); @@ -32,7 +32,7 @@ public void OneHotEncodingTest() PipelineNode node = new PipelineNode("OneHotEncoding", PipelineNodeType.Transform, new string[] { "categorical_column_1" }, new string[] { "categorical_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); + var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnOptions(\"categorical_column_1\",\"categorical_column_1\")})"; var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); @@ -47,7 +47,7 @@ public void NormalizingTest() PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1_copy" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); + var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); string expectedTransform = "Normalize(\"numeric_column_1_copy\",\"numeric_column_1\")"; string expectedUsings = null; Assert.AreEqual(expectedTransform, actual[0].Item1); @@ -62,7 +62,7 @@ public void ColumnConcatenatingTest() PipelineNode node = new PipelineNode("ColumnConcatenating", PipelineNodeType.Transform, new string[] { "numeric_column_1", "numeric_column_2" }, new string[] { "Features" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); + var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); string expectedTransform = "Concatenate(\"Features\",new []{\"numeric_column_1\",\"numeric_column_2\"})"; string expectedUsings = null; Assert.AreEqual(expectedTransform, actual[0].Item1); @@ -77,7 +77,7 @@ public void ColumnCopyingTest() PipelineNode node = new PipelineNode("ColumnCopying", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_2" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); + var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); string expectedTransform = "CopyColumns(\"numeric_column_2\",\"numeric_column_1\")"; string expectedUsings = null; Assert.AreEqual(expectedTransform, actual[0].Item1); @@ -92,7 +92,7 @@ public void KeyToValueMappingTest() PipelineNode node = new PipelineNode("KeyToValueMapping", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); + var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); string expectedTransform = "Conversion.MapKeyToValue(\"Label\",\"Label\")"; var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); @@ -107,7 +107,7 @@ public void MissingValueIndicatingTest() PipelineNode node = new PipelineNode("MissingValueIndicating", PipelineNodeType.Transform, new string[] { "numeric_column_1" }, new string[] { "numeric_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); + var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); string expectedTransform = "IndicateMissingValues(new []{new ColumnOptions(\"numeric_column_1\",\"numeric_column_1\")})"; string expectedUsings = null; Assert.AreEqual(expectedTransform, actual[0].Item1); @@ -122,7 +122,7 @@ public void OneHotHashEncodingTest() PipelineNode node = new PipelineNode("OneHotHashEncoding", PipelineNodeType.Transform, new string[] { "Categorical_column_1" }, new string[] { "Categorical_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); + var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); string expectedTransform = "Categorical.OneHotHashEncoding(new []{new OneHotHashEncodingEstimator.ColumnOptions(\"Categorical_column_1\",\"Categorical_column_1\")})"; var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); @@ -137,7 +137,7 @@ public void TextFeaturizingTest() PipelineNode node = new PipelineNode("TextFeaturizing", PipelineNodeType.Transform, new string[] { "Text_column_1" }, new string[] { "Text_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); + var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); string expectedTransform = "Text.FeaturizeText(\"Text_column_1\",\"Text_column_1\")"; string expectedUsings = null; Assert.AreEqual(expectedTransform, actual[0].Item1); @@ -152,7 +152,7 @@ public void TypeConvertingTest() PipelineNode node = new PipelineNode("TypeConverting", PipelineNodeType.Transform, new string[] { "I4_column_1" }, new string[] { "R4_column_1" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); + var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingEstimator.ColumnOptions(\"R4_column_1\",DataKind.Single,\"I4_column_1\")})"; string expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); @@ -167,7 +167,7 @@ public void ValueToKeyMappingTest() PipelineNode node = new PipelineNode("ValueToKeyMapping", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); - var actual = codeGenerator.GenerateTransformsAndUsings(); + var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); string expectedTransform = "Conversion.MapValueToKey(\"Label\",\"Label\")"; var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index 0426d477e3..932eb6bb37 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -41,8 +41,8 @@ public void GenerateOutput() internal (string, string, string) GenerateCode() { - // Generate usings - (string usings, string trainer, List transforms) = GenerateUsings(); + // Generate transforms and trainer strings along with using statements + var result = GenerateTransformsAndTrainers(); // Generate code for columns var columns = this.GenerateColumns(); @@ -50,11 +50,16 @@ public void GenerateOutput() // Generate code for prediction Class labels var classLabels = this.GenerateClassLabels(); + // Get the type of the label + var labelType = columnInferenceResult.TextLoaderOptions.Columns.Where(t => t.Name == columnInferenceResult.ColumnInformation.LabelColumn).First().DataKind; + Type labelTypeCsharp = Utils.GetCSharpType(labelType); + + // Get Namespace var namespaceValue = Utils.Normalize(settings.OutputName); // Generate code for training and scoring - var trainFileContent = GenerateTrainCode(usings, trainer, transforms, columns, classLabels, namespaceValue, pipeline.CacheBeforeTrainer); + var trainFileContent = GenerateTrainCode(result.Usings, result.Trainer, result.PreTrainerTransforms, result.PostTrainerTransforms, columns, classLabels, namespaceValue, pipeline.CacheBeforeTrainer, labelTypeCsharp.Name); var tree = CSharpSyntaxTree.ParseText(trainFileContent); var syntaxNode = tree.GetRoot(); trainFileContent = Formatter.Format(syntaxNode, new AdhocWorkspace()).ToFullString(); @@ -91,12 +96,20 @@ internal static string GeneratProjectCode() return projectCodeGen.TransformText(); } - internal string GenerateTrainCode(string usings, string trainer, List transforms, IList columns, IList classLabels, string namespaceValue, bool cacheBeforeTrainer) + internal string GenerateTrainCode(string usings, string trainer, + List preTrainerTransforms, + List postTrainerTransforms, + IList columns, + IList classLabels, + string namespaceValue, + bool cacheBeforeTrainer, + string predictionLabelType) { var trainingAndScoringCodeGen = new MLCodeGen() { Columns = columns, - Transforms = transforms, + PreTrainerTransforms = preTrainerTransforms, + PostTrainerTransforms = postTrainerTransforms, HasHeader = columnInferenceResult.TextLoaderOptions.HasHeader, Separator = columnInferenceResult.TextLoaderOptions.Separators.FirstOrDefault(), AllowQuoting = columnInferenceResult.TextLoaderOptions.AllowQuoting, @@ -111,26 +124,38 @@ internal string GenerateTrainCode(string usings, string trainer, List tr Namespace = namespaceValue, LabelName = settings.LabelName, ModelPath = settings.ModelPath, - CacheBeforeTrainer = cacheBeforeTrainer + CacheBeforeTrainer = cacheBeforeTrainer, + PredictionLabelType = predictionLabelType }; return trainingAndScoringCodeGen.TransformText(); } - internal (string, string, List) GenerateUsings() + internal (string Usings, string Trainer, List PreTrainerTransforms, List PostTrainerTransforms) GenerateTransformsAndTrainers() { StringBuilder usingsBuilder = new StringBuilder(); var usings = new List(); var trainerAndUsings = this.GenerateTrainerAndUsings(); - var transformsAndUsings = this.GenerateTransformsAndUsings(); + + // Get pre-trainer transforms + var nodes = pipeline.Nodes.TakeWhile(t => t.NodeType == PipelineNodeType.Transform); + var preTrainerTransformsAndUsings = this.GenerateTransformsAndUsings(nodes); + + // Get post trainer transforms + nodes = pipeline.Nodes.SkipWhile(t => t.NodeType == PipelineNodeType.Transform) + .SkipWhile(t => t.NodeType == PipelineNodeType.Trainer) //skip the trainer + .TakeWhile(t => t.NodeType == PipelineNodeType.Transform); //post trainer transforms + var postTrainerTransformsAndUsings = this.GenerateTransformsAndUsings(nodes); //Get trainer code and its associated usings. var trainer = trainerAndUsings.Item1; usings.Add(trainerAndUsings.Item2); //Get transforms code and its associated (unique) usings. - var transforms = transformsAndUsings.Select(t => t.Item1).ToList(); - usings.AddRange(transformsAndUsings.Select(t => t.Item2)); + var preTrainerTransforms = preTrainerTransformsAndUsings.Select(t => t.Item1).ToList(); + var postTrainerTransforms = postTrainerTransformsAndUsings.Select(t => t.Item1).ToList(); + usings.AddRange(preTrainerTransformsAndUsings.Select(t => t.Item2)); + usings.AddRange(postTrainerTransformsAndUsings.Select(t => t.Item2)); usings = usings.Distinct().ToList(); //Combine all using statements to actual text. @@ -141,12 +166,30 @@ internal string GenerateTrainCode(string usings, string trainer, List tr usingsBuilder.Append(t); }); - return (usingsBuilder.ToString(), trainer, transforms); + return (usingsBuilder.ToString(), trainer, preTrainerTransforms, postTrainerTransforms); + } + + internal IList<(string, string)> GenerateTransformsAndUsings(IEnumerable nodes) + { + //var nodes = pipeline.Nodes.TakeWhile(t => t.NodeType == PipelineNodeType.Transform); + //var nodes = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Transform); + var results = new List<(string, string)>(); + foreach (var node in nodes) + { + ITransformGenerator generator = TransformGeneratorFactory.GetInstance(node); + results.Add((generator.GenerateTransformer(), generator.GenerateUsings())); + } + + return results; } - internal IList<(string, string)> GenerateTransformsAndUsings() + internal IList<(string, string)> GeneratePostTrainerTransformsAndUsings() { - var nodes = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Transform); + var nodes = pipeline.Nodes.SkipWhile(t => t.NodeType == PipelineNodeType.Transform) + .SkipWhile(t => t.NodeType == PipelineNodeType.Trainer) //skip the trainer + .TakeWhile(t => t.NodeType == PipelineNodeType.Transform); //post trainer transforms + + //var nodes = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Transform); var results = new List<(string, string)>(); foreach (var node in nodes) { @@ -168,7 +211,6 @@ internal string GenerateTrainCode(string usings, string trainer, List tr internal IList GenerateClassLabels() { IList result = new List(); - var label_column = Utils.Sanitize(columnInferenceResult.ColumnInformation.LabelColumn); foreach (var column in columnInferenceResult.TextLoaderOptions.Columns) { StringBuilder sb = new StringBuilder(); diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 535f878b20..29d5a78a1e 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -138,7 +138,7 @@ Option IgnoreColumns() => return ArgumentResult.Failure($"Unknown error while parsing argument for --ignore-columns"); }) { - Arity = ArgumentArity.OneOrMore + Arity = ArgumentArity.OneOrMore, }); } diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/MLCodeGen.cs index 4ec776787c..f436f722bf 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/MLCodeGen.cs @@ -113,15 +113,15 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) this.Write(");\r\n"); } this.Write("\r\n"); - if(Transforms.Count >0 ) { + if(PreTrainerTransforms.Count >0 ) { this.Write(" // Common data process configuration with pipeline data transformatio" + "ns\r\n var dataProcessPipeline = "); - for(int i=0;i0) { Write("\r\n .Append("); } - Write("mlContext.Transforms."+Transforms[i]); + Write("mlContext.Transforms."+PreTrainerTransforms[i]); if(i>0) { Write(")"); } @@ -134,8 +134,14 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".Trainers."); this.Write(this.ToStringHelper.ToStringWithCulture(Trainer)); + for(int i=0;i0 ) { + if(PreTrainerTransforms.Count >0 ) { this.Write(" var trainingPipeline = dataProcessPipeline.Append(trainer);\r\n"); } else{ @@ -242,13 +248,11 @@ private static void Predict(MLContext mlContext) Console.WriteLine($""Actual value: {sample."); this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); this.Write("} | Predicted value: {resultprediction."); -if("BinaryClassification".Equals(TaskType)){ - this.Write("Prediction"); -}else{ - this.Write("Score"); -} - this.Write("}\");\r\n Console.WriteLine($\"===========================================" + - "=======\");\r\n }\r\n\r\n }\r\n\r\n public class SampleObservation\r\n {\r\n"); +if("BinaryClassification".Equals(TaskType)||"MulticlassClassification".Equals(TaskType)){ Write("Prediction");}else if("Regression".Equals(TaskType)){Write("Score");} + this.Write("} "); +if("MulticlassClassification".Equals(TaskType)){ Write("| Predicted scores: [{String.Join(\", \", resultprediction.Score)}]");} + this.Write("\");\r\n Console.WriteLine($\"============================================" + + "======\");\r\n }\r\n\r\n }\r\n\r\n public class SampleObservation\r\n {\r\n"); foreach(var label in ClassLabels) { @@ -263,7 +267,13 @@ private static void Predict(MLContext mlContext) this.Write(" // ColumnName attribute is used to change the column name from\r\n /" + "/ its default value, which is the name of the field.\r\n [ColumnName(\"Predi" + "ctedLabel\")]\r\n public bool Prediction { get; set; }\r\n\r\n"); - } + } if("MulticlassClassification".Equals(TaskType)){ + this.Write(" // ColumnName attribute is used to change the column name from\r\n /" + + "/ its default value, which is the name of the field.\r\n [ColumnName(\"Predi" + + "ctedLabel\")]\r\n public "); + this.Write(this.ToStringHelper.ToStringWithCulture(PredictionLabelType)); + this.Write(" Prediction { get; set; }\r\n"); + } if("MulticlassClassification".Equals(TaskType)){ this.Write(" public float[] Score { get; set; }\r\n"); }else{ @@ -278,7 +288,7 @@ private static void Predict(MLContext mlContext) public IList Columns {get;set;} public bool HasHeader {get;set;} public char Separator {get;set;} -public IList Transforms {get;set;} +public IList PreTrainerTransforms {get;set;} public string Trainer {get;set;} public string TaskType {get;set;} public IList ClassLabels {get;set;} @@ -291,6 +301,8 @@ private static void Predict(MLContext mlContext) public string LabelName {get;set;} public string ModelPath {get;set;} public bool CacheBeforeTrainer {get;set;} +public string PredictionLabelType {get;set;} +public IList PostTrainerTransforms {get;set;} } #region Base class diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/MLCodeGen.tt index ca089520c7..5bfe39a2da 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/MLCodeGen.tt @@ -77,14 +77,14 @@ namespace <#= Namespace #> allowSparse: <#= AllowSparse.ToString().ToLowerInvariant() #>); <# } #> -<# if(Transforms.Count >0 ) {#> +<# if(PreTrainerTransforms.Count >0 ) {#> // Common data process configuration with pipeline data transformations - var dataProcessPipeline = <# for(int i=0;i0) { Write("\r\n .Append("); } - Write("mlContext.Transforms."+Transforms[i]); + Write("mlContext.Transforms."+PreTrainerTransforms[i]); if(i>0) { Write(")"); } @@ -92,8 +92,13 @@ namespace <#= Namespace #> <#}#> // Set the training algorithm, then create and config the modelBuilder - var trainer = mlContext.<#= TaskType #>.Trainers.<#= Trainer #>; -<# if(Transforms.Count >0 ) {#> + var trainer = mlContext.<#= TaskType #>.Trainers.<#= Trainer #><# for(int i=0;i; +<# if(PreTrainerTransforms.Count >0 ) {#> var trainingPipeline = dataProcessPipeline.Append(trainer); <# } else{#> @@ -167,7 +172,7 @@ if(string.IsNullOrEmpty(TestPath)){ #> var resultprediction = predEngine.Predict(sample); Console.WriteLine($"=============== Single Prediction ==============="); - Console.WriteLine($"Actual value: {sample.<#= Utils.Normalize(LabelName) #>} | Predicted value: {resultprediction.<#if("BinaryClassification".Equals(TaskType)){ #>Prediction<#}else{#>Score<#}#>}"); + Console.WriteLine($"Actual value: {sample.<#= Utils.Normalize(LabelName) #>} | Predicted value: {resultprediction.<#if("BinaryClassification".Equals(TaskType)||"MulticlassClassification".Equals(TaskType)){ Write("Prediction");}else if("Regression".Equals(TaskType)){Write("Score");}#>} <#if("MulticlassClassification".Equals(TaskType)){ Write("| Predicted scores: [{String.Join(\", \", resultprediction.Score)}]");}#>"); Console.WriteLine($"=================================================="); } @@ -192,7 +197,12 @@ foreach(var label in ClassLabels) [ColumnName("PredictedLabel")] public bool Prediction { get; set; } -<# } #> +<# } if("MulticlassClassification".Equals(TaskType)){ #> + // ColumnName attribute is used to change the column name from + // its default value, which is the name of the field. + [ColumnName("PredictedLabel")] + public <#= PredictionLabelType#> Prediction { get; set; } +<# }#> <#if("MulticlassClassification".Equals(TaskType)){ #> public float[] Score { get; set; } <#}else{ #> @@ -207,7 +217,7 @@ public string TestPath {get;set;} public IList Columns {get;set;} public bool HasHeader {get;set;} public char Separator {get;set;} -public IList Transforms {get;set;} +public IList PreTrainerTransforms {get;set;} public string Trainer {get;set;} public string TaskType {get;set;} public IList ClassLabels {get;set;} @@ -220,4 +230,6 @@ public string Namespace {get;set;} public string LabelName {get;set;} public string ModelPath {get;set;} public bool CacheBeforeTrainer {get;set;} +public string PredictionLabelType {get;set;} +public IList PostTrainerTransforms {get;set;} #> diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index 2f6f884921..a70da17569 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -75,7 +75,32 @@ internal static string Normalize(string input) case "": throw new ArgumentException($"{nameof(input)} cannot be empty", nameof(input)); default: var sanitizedInput = Sanitize(input); - return sanitizedInput; + return sanitizedInput.First().ToString().ToUpper() + input.Substring(1); + } + } + + internal static Type GetCSharpType(DataKind labelType) + { + switch (labelType) + { + case Microsoft.ML.Data.DataKind.String: + return typeof(string); + case Microsoft.ML.Data.DataKind.Boolean: + return typeof(bool); + case Microsoft.ML.Data.DataKind.Single: + return typeof(float); + case Microsoft.ML.Data.DataKind.Double: + return typeof(double); + case Microsoft.ML.Data.DataKind.Int32: + return typeof(int); + case Microsoft.ML.Data.DataKind.UInt32: + return typeof(uint); + case Microsoft.ML.Data.DataKind.Int64: + return typeof(long); + case Microsoft.ML.Data.DataKind.UInt64: + return typeof(ulong); + default: + throw new ArgumentException($"The data type '{labelType}' is not handled currently."); } } From 25cc50d60b168fd9306eb02ed70a6f7dfb4bd32d Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 25 Mar 2019 15:57:00 -0700 Subject: [PATCH 174/211] Generated Project new structure. (#305) * added new templates * writing files to disck * change path * added new templates * misisng braces * fix bugs * format code * added util methods for solution file creation and addition of projects to it * added extra packages to project files * new tests * added correct path for sln * build fix * fix build --- ....ConsoleHelperFileContentTest.approved.txt | 130 +++++ ...s.ModelProjectFileContentTest.approved.txt | 21 + ....ObservationCSFileContentTest.approved.txt | 38 ++ ...edictProgramCSFileContentTest.approved.txt | 81 +++ ...PredictProjectFileContentTest.approved.txt | 15 + ...s.PredictionCSFileContentTest.approved.txt | 20 + ...TrainProgramCSFileContentTest.approved.txt | 113 ++++ ...s.TrainProjectFileContentTest.approved.txt | 15 + .../ConsoleCodeGeneratorTests.cs | 121 ++++- src/mlnet.Test/CodeGenTests.cs | 31 -- .../CodeGenerator/CSharp/CodeGenerator.cs | 262 +++++----- .../CodeGenerator/CodeGenerationHelper.cs | 3 +- src/mlnet/Program.cs | 1 - src/mlnet/Templates/Console/ConsoleHelper.cs | 234 ++++----- src/mlnet/Templates/Console/ConsoleHelper.tt | 77 +-- .../{MLProjectGen.cs => ModelProject.cs} | 25 +- src/mlnet/Templates/Console/ModelProject.tt | 26 + .../Templates/Console/ObservationClass.cs | 355 +++++++++++++ .../Templates/Console/ObservationClass.tt | 26 + src/mlnet/Templates/Console/PredictProgram.cs | 492 ++++++++++++++++++ src/mlnet/Templates/Console/PredictProgram.tt | 104 ++++ src/mlnet/Templates/Console/PredictProject.cs | 324 ++++++++++++ src/mlnet/Templates/Console/PredictProject.tt | 30 ++ .../Templates/Console/PredictionClass.cs | 387 ++++++++++++++ .../Templates/Console/PredictionClass.tt | 41 ++ .../Console/{MLCodeGen.cs => TrainProgram.cs} | 282 +++++----- .../Console/{MLCodeGen.tt => TrainProgram.tt} | 230 ++++---- src/mlnet/Templates/Console/TrainProject.cs | 324 ++++++++++++ .../{MLProjectGen.tt => TrainProject.tt} | 25 +- src/mlnet/Utilities/Utils.cs | 60 ++- src/mlnet/mlnet.csproj | 61 ++- 31 files changed, 3249 insertions(+), 705 deletions(-) create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ModelProjectFileContentTest.approved.txt create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ObservationCSFileContentTest.approved.txt create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProjectFileContentTest.approved.txt create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictionCSFileContentTest.approved.txt create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProjectFileContentTest.approved.txt rename src/mlnet/Templates/Console/{MLProjectGen.cs => ModelProject.cs} (96%) create mode 100644 src/mlnet/Templates/Console/ModelProject.tt create mode 100644 src/mlnet/Templates/Console/ObservationClass.cs create mode 100644 src/mlnet/Templates/Console/ObservationClass.tt create mode 100644 src/mlnet/Templates/Console/PredictProgram.cs create mode 100644 src/mlnet/Templates/Console/PredictProgram.tt create mode 100644 src/mlnet/Templates/Console/PredictProject.cs create mode 100644 src/mlnet/Templates/Console/PredictProject.tt create mode 100644 src/mlnet/Templates/Console/PredictionClass.cs create mode 100644 src/mlnet/Templates/Console/PredictionClass.tt rename src/mlnet/Templates/Console/{MLCodeGen.cs => TrainProgram.cs} (71%) rename src/mlnet/Templates/Console/{MLCodeGen.tt => TrainProgram.tt} (50%) create mode 100644 src/mlnet/Templates/Console/TrainProject.cs rename src/mlnet/Templates/Console/{MLProjectGen.tt => TrainProject.tt} (63%) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt new file mode 100644 index 0000000000..1053b7d591 --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt @@ -0,0 +1,130 @@ +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Data; + +namespace TestNamespace.Train +{ + public static class ConsoleHelper + { + + public static void PrintRegressionMetrics(RegressionMetrics metrics) + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Metrics for regression model "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"* LossFn: {metrics.LossFn:0.##}"); + Console.WriteLine($"* R2 Score: {metrics.RSquared:0.##}"); + Console.WriteLine($"* Absolute loss: {metrics.L1:#.##}"); + Console.WriteLine($"* Squared loss: {metrics.L2:#.##}"); + Console.WriteLine($"* RMS loss: {metrics.Rms:#.##}"); + Console.WriteLine($"*************************************************"); + } + + public static void PrintRegressionFoldsAverageMetrics(TrainCatalogBase.CrossValidationResult[] crossValidationResults) + { + var L1 = crossValidationResults.Select(r => r.Metrics.L1); + var L2 = crossValidationResults.Select(r => r.Metrics.L2); + var RMS = crossValidationResults.Select(r => r.Metrics.L1); + var lossFunction = crossValidationResults.Select(r => r.Metrics.LossFn); + var R2 = crossValidationResults.Select(r => r.Metrics.RSquared); + + Console.WriteLine($"*************************************************************************************************************"); + Console.WriteLine($"* Metrics for Regression model "); + Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); + Console.WriteLine($"* Average L1 Loss: {L1.Average():0.###} "); + Console.WriteLine($"* Average L2 Loss: {L2.Average():0.###} "); + Console.WriteLine($"* Average RMS: {RMS.Average():0.###} "); + Console.WriteLine($"* Average Loss Function: {lossFunction.Average():0.###} "); + Console.WriteLine($"* Average R-squared: {R2.Average():0.###} "); + Console.WriteLine($"*************************************************************************************************************"); + } + + public static void PrintBinaryClassificationMetrics(BinaryClassificationMetrics metrics) + { + Console.WriteLine($"************************************************************"); + Console.WriteLine($"* Metrics for binary classification model "); + Console.WriteLine($"*-----------------------------------------------------------"); + Console.WriteLine($"* Accuracy: {metrics.Accuracy:P2}"); + Console.WriteLine($"* Auc: {metrics.Auc:P2}"); + Console.WriteLine($"************************************************************"); + } + + + public static void PrintBinaryClassificationFoldsAverageMetrics( + TrainCatalogBase.CrossValidationResult[] crossValResults) + { + var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); + + var AccuracyValues = metricsInMultipleFolds.Select(m => m.Accuracy); + var AccuracyAverage = AccuracyValues.Average(); + var AccuraciesStdDeviation = CalculateStandardDeviation(AccuracyValues); + var AccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(AccuracyValues); + + + Console.WriteLine($"*************************************************************************************************************"); + Console.WriteLine($"* Metrics for Binary Classification model "); + Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); + Console.WriteLine($"* Average Accuracy: {AccuracyAverage:0.###} - Standard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({AccuraciesConfidenceInterval95:#.###})"); + Console.WriteLine($"*************************************************************************************************************"); + + } + + public static void PrintMulticlassClassificationFoldsAverageMetrics( + TrainCatalogBase.CrossValidationResult[] crossValResults) + { + var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); + + var microAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMicro); + var microAccuracyAverage = microAccuracyValues.Average(); + var microAccuraciesStdDeviation = CalculateStandardDeviation(microAccuracyValues); + var microAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues); + + var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro); + var macroAccuracyAverage = macroAccuracyValues.Average(); + var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues); + var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macroAccuracyValues); + + var logLossValues = metricsInMultipleFolds.Select(m => m.LogLoss); + var logLossAverage = logLossValues.Average(); + var logLossStdDeviation = CalculateStandardDeviation(logLossValues); + var logLossConfidenceInterval95 = CalculateConfidenceInterval95(logLossValues); + + var logLossReductionValues = metricsInMultipleFolds.Select(m => m.LogLossReduction); + var logLossReductionAverage = logLossReductionValues.Average(); + var logLossReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues); + var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(logLossReductionValues); + + Console.WriteLine($"*************************************************************************************************************"); + Console.WriteLine($"* Metrics for Multi-class Classification model "); + Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); + Console.WriteLine($"* Average MicroAccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average MacroAccuracy: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average LogLoss: {logLossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInterval95:#.###})"); + Console.WriteLine($"* Average LogLossReduction: {logLossReductionAverage:#.###} - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: ({logLossReductionConfidenceInterval95:#.###})"); + Console.WriteLine($"*************************************************************************************************************"); + + } + + public static double CalculateStandardDeviation(IEnumerable values) + { + double average = values.Average(); + double sumOfSquaresOfDifferences = values.Select(val => (val - average) * (val - average)).Sum(); + double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Count() - 1)); + return standardDeviation; + } + + public static double CalculateConfidenceInterval95(IEnumerable values) + { + double confidenceInterval95 = 1.96 * CalculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1)); + return confidenceInterval95; + } + } +} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ModelProjectFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ModelProjectFileContentTest.approved.txt new file mode 100644 index 0000000000..4b2ca833c8 --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ModelProjectFileContentTest.approved.txt @@ -0,0 +1,21 @@ + + + + netcoreapp2.1 + + + + https://api.nuget.org/v3/index.json; + + + + + + + + + PreserveNewest + + + + diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ObservationCSFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ObservationCSFileContentTest.approved.txt new file mode 100644 index 0000000000..12f935ee2a --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ObservationCSFileContentTest.approved.txt @@ -0,0 +1,38 @@ +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using Microsoft.ML.Data; + +namespace TestNamespace.Model.DataModels +{ + public class SampleObservation + { + [ColumnName("Label"), LoadColumn(0)] + public bool Label { get; set; } + + + [ColumnName("col1"), LoadColumn(1)] + public float Col1 { get; set; } + + + [ColumnName("col2"), LoadColumn(0)] + public float Col2 { get; set; } + + + [ColumnName("col3"), LoadColumn(0)] + public string Col3 { get; set; } + + + [ColumnName("col4"), LoadColumn(0)] + public int Col4 { get; set; } + + + [ColumnName("col5"), LoadColumn(0)] + public uint Col5 { get; set; } + + + } +} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt new file mode 100644 index 0000000000..68f6f73c11 --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt @@ -0,0 +1,81 @@ +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using System; +using System.IO; +using System.Linq; +using System.Collections.Generic; +using Microsoft.ML; +using Microsoft.ML.Data; +using Microsoft.Data.DataView; +using TestNamespace.Model.DataModels; + + +namespace TestNamespace.Predict +{ + class Program + { + //Machine Learning model to load and use for predictions + private const string MODEL_FILEPATH = @"MLModel.zip"; + + //Dataset to use for predictions + private const string DATA_FILEPATH = @"x:\dummypath\dummy_test.csv"; + + static void Main(string[] args) + { + MLContext mlContext = new MLContext(); + + //Load ML Model from .zip file + ITransformer mlModel = LoadModelFromFile(mlContext, MODEL_FILEPATH); + + // Create sample data to do a single prediction with it + SampleObservation sampleData = CreateSingleDataSample(mlContext, DATA_FILEPATH); + + // Test a single prediction + Predict(mlContext, mlModel, sampleData); + + Console.WriteLine("=============== End of process, hit any key to finish ==============="); + Console.ReadKey(); + } + + private static void Predict(MLContext mlContext, ITransformer mlModel, SampleObservation sampleData) + { + // Create prediction engine related to the loaded ML model + var predEngine = mlModel.CreatePredictionEngine(mlContext); + + // Try a single prediction + var predictionResult = predEngine.Predict(sampleData); + Console.WriteLine($"Single Prediction --> Actual value: {sampleData.Label} | Predicted value: {predictionResult.Prediction}"); + } + + private static ITransformer LoadModelFromFile(MLContext mlContext, string modelFilePath) + { + ITransformer mlModel; + using (var stream = new FileStream(modelFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + mlModel = mlContext.Model.Load(stream); + } + + return mlModel; + } + + // Method to load single row of data to try a single prediction + // You can change this code and create your own sample data here (Hardcoded or from any source) + private static SampleObservation CreateSingleDataSample(MLContext mlContext, string dataFilePath) + { + // Read dataset to get a single row for trying a prediction + IDataView dataView = mlContext.Data.LoadFromTextFile( + path: dataFilePath, + hasHeader: true, + separatorChar: ','); + + // Here (SampleObservation object) you could provide new test data, hardcoded or from the end-user application, instead of the row from the file. + SampleObservation sampleForPrediction = mlContext.Data.CreateEnumerable(dataView, false) + .First(); + return sampleForPrediction; + } + } +} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProjectFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProjectFileContentTest.approved.txt new file mode 100644 index 0000000000..ace94d6bb6 --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProjectFileContentTest.approved.txt @@ -0,0 +1,15 @@ + + + + Exe + netcoreapp2.1 + + + + + + + + + + diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictionCSFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictionCSFileContentTest.approved.txt new file mode 100644 index 0000000000..714dc31349 --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictionCSFileContentTest.approved.txt @@ -0,0 +1,20 @@ +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using Microsoft.ML.Data; + +namespace TestNamespace.Model.DataModels +{ + public class SamplePrediction + { + // ColumnName attribute is used to change the column name from + // its default value, which is the name of the field. + [ColumnName("PredictedLabel")] + public bool Prediction { get; set; } + + public float Score { get; set; } + } +} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt new file mode 100644 index 0000000000..adffc7a5cb --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt @@ -0,0 +1,113 @@ +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using System; +using System.IO; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Data; +using Microsoft.Data.DataView; +using TestNamespace.Model.DataModels; +using Microsoft.ML.LightGBM; + +namespace TestNamespace.Train +{ + class Program + { + private static string TRAIN_DATA_FILEPATH = @"x:\dummypath\dummy_train.csv"; + private static string TEST_DATA_FILEPATH = @"x:\dummypath\dummy_test.csv"; + private static string MODEL_FILEPATH = @"../../../../TestNamespace.Model/MLModel.zip"; + + static void Main(string[] args) + { + // Create MLContext to be shared across the model creation workflow objects + // Set a random seed for repeatable/deterministic results across multiple trainings. + MLContext mlContext = new MLContext(seed: 1); + + // Load Data + IDataView trainingDataView = mlContext.Data.LoadFromTextFile( + path: TRAIN_DATA_FILEPATH, + hasHeader: true, + separatorChar: ',', + allowQuoting: true, + allowSparse: true); + + IDataView testDataView = mlContext.Data.LoadFromTextFile( + path: TEST_DATA_FILEPATH, + hasHeader: true, + separatorChar: ',', + allowQuoting: true, + allowSparse: true); + // Build training pipeline + IEstimator trainingPipeline = BuildTrainingPipeline(mlContext); + + // Train Model + ITransformer mlModel = TrainModel(mlContext, trainingDataView, trainingPipeline); + + // Evaluate quality of Model + EvaluateModel(mlContext, mlModel, testDataView); + + // Save model + SaveModel(mlContext, mlModel, MODEL_FILEPATH); + + Console.WriteLine("=============== End of process, hit any key to finish ==============="); + Console.ReadKey(); + } + + public static IEstimator BuildTrainingPipeline(MLContext mlContext) + { + // Data process configuration with pipeline data transformations + var dataProcessPipeline = mlContext.Transforms.Concatenate("Out", new[] { "In" }) + .AppendCacheCheckpoint(mlContext); + + // Set the training algorithm + var trainer = mlContext.BinaryClassification.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumn = "Label", FeatureColumn = "Features" }); + var trainingPipeline = dataProcessPipeline.Append(trainer); + + return trainingPipeline; + } + + public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) + { + Console.WriteLine("=============== Training model ==============="); + + ITransformer model = trainingPipeline.Fit(trainingDataView); + + Console.WriteLine("=============== End of training process ==============="); + return model; + } + + private static void EvaluateModel(MLContext mlContext, ITransformer mlModel, IDataView testDataView) + { + // Evaluate the model and show accuracy stats + Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); + IDataView predictions = mlModel.Transform(testDataView); + var metrics = mlContext.BinaryClassification.EvaluateNonCalibrated(predictions, "Label", "Score"); + ConsoleHelper.PrintBinaryClassificationMetrics(metrics); + RegressionMetrics metrics = mlContext.Regression.Evaluate(predictions, "fare_amount", "Score"); + ConsoleHelper.PrintRegressionMetrics(metrics); + } + private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath) + { + // Save/persist the trained model to a .ZIP file + Console.WriteLine($"=============== Saving the model ==============="); + using (var fs = new FileStream(GetAbsolutePath(modelRelativePath), FileMode.Create, FileAccess.Write, FileShare.Write)) + mlContext.Model.Save(mlModel, fs); + + Console.WriteLine("The model is saved to {0}", GetAbsolutePath(modelRelativePath)); + } + + public static string GetAbsolutePath(string relativePath) + { + FileInfo _dataRoot = new FileInfo(typeof(Program).Assembly.Location); + string assemblyFolderPath = _dataRoot.Directory.FullName; + + string fullPath = Path.Combine(assemblyFolderPath, relativePath); + + return fullPath; + } + } +} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProjectFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProjectFileContentTest.approved.txt new file mode 100644 index 0000000000..ace94d6bb6 --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProjectFileContentTest.approved.txt @@ -0,0 +1,15 @@ + + + + Exe + netcoreapp2.1 + + + + + + + + + + diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index 4d08513bc8..56168d620b 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; +using System.Runtime.CompilerServices; using ApprovalTests; using ApprovalTests.Reporters; using Microsoft.ML; @@ -19,13 +20,16 @@ public class ConsoleCodeGeneratorTests { private Pipeline pipeline; private ColumnInferenceResults columnInference = default; + private string namespaceValue = "TestNamespace"; + [TestMethod] [UseReporter(typeof(DiffReporter))] - public void GeneratedTrainCodeBinaryClassificationTest() + [MethodImpl(MethodImplOptions.NoInlining)] + public void ConsoleHelperFileContentTest() { (Pipeline pipeline, - ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { @@ -37,23 +41,22 @@ public void GeneratedTrainCodeBinaryClassificationTest() LabelName = "Label", ModelPath = "x:\\models\\model.zip" }); + var result = consoleCodeGen.GenerateTrainProjectContents(namespaceValue, typeof(float)); - (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); - - Approvals.Verify(trainCode); - + Approvals.Verify(result.Item3); } [TestMethod] [UseReporter(typeof(DiffReporter))] - public void GeneratedTrainCodeRegressionTest() + [MethodImpl(MethodImplOptions.NoInlining)] + public void TrainProgramCSFileContentTest() { (Pipeline pipeline, - ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { - MlTask = TaskKind.Regression, + MlTask = TaskKind.BinaryClassification, OutputBaseDir = null, OutputName = "MyNamespace", TrainDataset = "x:\\dummypath\\dummy_train.csv", @@ -61,23 +64,23 @@ public void GeneratedTrainCodeRegressionTest() LabelName = "Label", ModelPath = "x:\\models\\model.zip" }); + var result = consoleCodeGen.GenerateTrainProjectContents(namespaceValue, typeof(float)); - (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); - - Approvals.Verify(trainCode); - + Approvals.Verify(result.Item1); } + [TestMethod] [UseReporter(typeof(DiffReporter))] - public void GeneratedTrainCodeMulticlassTest() + [MethodImpl(MethodImplOptions.NoInlining)] + public void TrainProjectFileContentTest() { (Pipeline pipeline, - ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { - MlTask = TaskKind.MulticlassClassification, + MlTask = TaskKind.BinaryClassification, OutputBaseDir = null, OutputName = "MyNamespace", TrainDataset = "x:\\dummypath\\dummy_train.csv", @@ -85,19 +88,41 @@ public void GeneratedTrainCodeMulticlassTest() LabelName = "Label", ModelPath = "x:\\models\\model.zip" }); + var result = consoleCodeGen.GenerateTrainProjectContents(namespaceValue, typeof(float)); - (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); + Approvals.Verify(result.Item2); + } - Approvals.Verify(trainCode); + [TestMethod] + [UseReporter(typeof(DiffReporter))] + [MethodImpl(MethodImplOptions.NoInlining)] + public void ModelProjectFileContentTest() + { + (Pipeline pipeline, + ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() + { + MlTask = TaskKind.BinaryClassification, + OutputBaseDir = null, + OutputName = "MyNamespace", + TrainDataset = "x:\\dummypath\\dummy_train.csv", + TestDataset = "x:\\dummypath\\dummy_test.csv", + LabelName = "Label", + ModelPath = "x:\\models\\model.zip" + }); + var result = consoleCodeGen.GenerateModelProjectContents(namespaceValue, typeof(float)); + + Approvals.Verify(result.ModelProjectFileContent); } [TestMethod] [UseReporter(typeof(DiffReporter))] - public void GeneratedProjectCodeTest() + [MethodImpl(MethodImplOptions.NoInlining)] + public void ObservationCSFileContentTest() { (Pipeline pipeline, - ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { @@ -109,19 +134,42 @@ public void GeneratedProjectCodeTest() LabelName = "Label", ModelPath = "x:\\models\\model.zip" }); + var result = consoleCodeGen.GenerateModelProjectContents(namespaceValue, typeof(float)); - (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); + Approvals.Verify(result.ObservationCSFileContent); + } - Approvals.Verify(projectCode); + [TestMethod] + [UseReporter(typeof(DiffReporter))] + [MethodImpl(MethodImplOptions.NoInlining)] + public void PredictionCSFileContentTest() + { + (Pipeline pipeline, + ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + + var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() + { + MlTask = TaskKind.BinaryClassification, + OutputBaseDir = null, + OutputName = "MyNamespace", + TrainDataset = "x:\\dummypath\\dummy_train.csv", + TestDataset = "x:\\dummypath\\dummy_test.csv", + LabelName = "Label", + ModelPath = "x:\\models\\model.zip" + }); + var result = consoleCodeGen.GenerateModelProjectContents(namespaceValue, typeof(float)); + + Approvals.Verify(result.PredictionCSFileContent); } [TestMethod] [UseReporter(typeof(DiffReporter))] - public void GeneratedHelperCodeTest() + [MethodImpl(MethodImplOptions.NoInlining)] + public void PredictProgramCSFileContentTest() { (Pipeline pipeline, - ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { @@ -133,11 +181,32 @@ public void GeneratedHelperCodeTest() LabelName = "Label", ModelPath = "x:\\models\\model.zip" }); + var result = consoleCodeGen.GeneratePredictProjectContents(namespaceValue); + + Approvals.Verify(result.PredictProgramCSFileContent); + } - (string trainCode, string projectCode, string helperCode) = consoleCodeGen.GenerateCode(); + [TestMethod] + [UseReporter(typeof(DiffReporter))] + [MethodImpl(MethodImplOptions.NoInlining)] + public void PredictProjectFileContentTest() + { + (Pipeline pipeline, + ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); - Approvals.Verify(helperCode); + var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() + { + MlTask = TaskKind.BinaryClassification, + OutputBaseDir = null, + OutputName = "MyNamespace", + TrainDataset = "x:\\dummypath\\dummy_train.csv", + TestDataset = "x:\\dummypath\\dummy_test.csv", + LabelName = "Label", + ModelPath = "x:\\models\\model.zip" + }); + var result = consoleCodeGen.GeneratePredictProjectContents(namespaceValue); + Approvals.Verify(result.PredictProjectFileContent); } private (Pipeline, ColumnInferenceResults) GetMockedPipelineAndInference() diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index d0f6b3ed8e..456b8516ac 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -114,37 +114,6 @@ public void ClassLabelGenerationBasicTest() Assert.AreEqual(expected2, actual[1]); } - [TestMethod] - public void ColumnGenerationTest() - { - var columns = new TextLoader.Column[] - { - new TextLoader.Column(){ Name = DefaultColumnNames.Label, Source = new TextLoader.Range[]{new TextLoader.Range(0) }, DataKind = DataKind.Boolean }, - new TextLoader.Column(){ Name = DefaultColumnNames.Features, Source = new TextLoader.Range[]{new TextLoader.Range(1) }, DataKind = DataKind.Single }, - }; - - var result = new ColumnInferenceResults(); - result.TextLoaderOptions.Columns = columns; - result.TextLoaderOptions.AllowQuoting = false; - result.TextLoaderOptions.AllowSparse = false; - result.TextLoaderOptions.Separators = new[] { ',' }; - result.TextLoaderOptions.HasHeader = true; - result.TextLoaderOptions.TrimWhitespace = true; - result.ColumnInformation.NumericColumns.Add(DefaultColumnNames.Features); - - var context = new MLContext(); - var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("Normalizing", PipelineNodeType.Transform, new string[] { "Label" }, new string[] { "Label" }, elementProperties); - Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); - CodeGenerator codeGenerator = new CodeGenerator(pipeline, result, null); - var actual = codeGenerator.GenerateColumns(); - Assert.AreEqual(actual.Count, 2); - string expectedColumn1 = "new Column(\"Label\",DataKind.Boolean,0),"; - string expectedColumn2 = "new Column(\"Features\",DataKind.Single,1),"; - Assert.AreEqual(expectedColumn1, actual[0]); - Assert.AreEqual(expectedColumn2, actual[1]); - } - [TestMethod] public void TrainerComplexParameterTest() { diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index 932eb6bb37..8e9dc7717a 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -8,12 +8,9 @@ using System.Linq; using System.Text; using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp; -using Microsoft.CodeAnalysis.Formatting; using Microsoft.ML.Auto; using Microsoft.ML.CLI.Templates.Console; using Microsoft.ML.CLI.Utilities; -using static Microsoft.ML.Data.TextLoader; namespace Microsoft.ML.CLI.CodeGenerator.CSharp { @@ -32,103 +29,83 @@ internal CodeGenerator(Pipeline pipeline, ColumnInferenceResults columnInference public void GenerateOutput() { - // Generate Code - (string trainScoreCode, string projectSourceCode, string consoleHelperCode) = GenerateCode(); + // Get Namespace + var namespaceValue = Utils.Normalize(settings.OutputName); + var labelType = columnInferenceResult.TextLoaderOptions.Columns.Where(t => t.Name == columnInferenceResult.ColumnInformation.LabelColumn).First().DataKind; + Type labelTypeCsharp = Utils.GetCSharpType(labelType); - // Write output to file - WriteOutputToFiles(trainScoreCode, projectSourceCode, consoleHelperCode); - } + // Generate Model Project + var modelProjectContents = GenerateModelProjectContents(namespaceValue, labelTypeCsharp); - internal (string, string, string) GenerateCode() - { - // Generate transforms and trainer strings along with using statements - var result = GenerateTransformsAndTrainers(); + // Write files to disk. + var modelprojectDir = Path.Combine(settings.OutputBaseDir, $"{settings.OutputName}.Model"); + var dataModelsDir = Path.Combine(modelprojectDir, "DataModels"); + var modelProjectName = $"{settings.OutputName}.Model.csproj"; - // Generate code for columns - var columns = this.GenerateColumns(); + Utils.WriteOutputToFiles(modelProjectContents.ObservationCSFileContent, "Observation.cs", dataModelsDir); + Utils.WriteOutputToFiles(modelProjectContents.PredictionCSFileContent, "Prediction.cs", dataModelsDir); + Utils.WriteOutputToFiles(modelProjectContents.ModelProjectFileContent, modelProjectName, modelprojectDir); - // Generate code for prediction Class labels - var classLabels = this.GenerateClassLabels(); + // Generate Predict Project + var predictProjectContents = GeneratePredictProjectContents(namespaceValue); - // Get the type of the label - var labelType = columnInferenceResult.TextLoaderOptions.Columns.Where(t => t.Name == columnInferenceResult.ColumnInformation.LabelColumn).First().DataKind; - Type labelTypeCsharp = Utils.GetCSharpType(labelType); + // Write files to disk. + var predictProjectDir = Path.Combine(settings.OutputBaseDir, $"{settings.OutputName}.Predict"); + var predictProjectName = $"{settings.OutputName}.Predict.csproj"; + Utils.WriteOutputToFiles(predictProjectContents.PredictProgramCSFileContent, "Program.cs", predictProjectDir); + Utils.WriteOutputToFiles(predictProjectContents.PredictProjectFileContent, predictProjectName, predictProjectDir); - // Get Namespace - var namespaceValue = Utils.Normalize(settings.OutputName); + // Generate Train Project + (string trainProgramCSFileContent, string trainProjectFileContent, string consoleHelperCSFileContent) = GenerateTrainProjectContents(namespaceValue, labelTypeCsharp); - // Generate code for training and scoring - var trainFileContent = GenerateTrainCode(result.Usings, result.Trainer, result.PreTrainerTransforms, result.PostTrainerTransforms, columns, classLabels, namespaceValue, pipeline.CacheBeforeTrainer, labelTypeCsharp.Name); - var tree = CSharpSyntaxTree.ParseText(trainFileContent); - var syntaxNode = tree.GetRoot(); - trainFileContent = Formatter.Format(syntaxNode, new AdhocWorkspace()).ToFullString(); + // Write files to disk. + var trainProjectDir = Path.Combine(settings.OutputBaseDir, $"{settings.OutputName}.Train"); + var trainProjectName = $"{settings.OutputName}.Train.csproj"; - // Generate csproj - var projectFileContent = GeneratProjectCode(); + Utils.WriteOutputToFiles(trainProgramCSFileContent, "Program.cs", trainProjectDir); + Utils.WriteOutputToFiles(consoleHelperCSFileContent, "ConsoleHelper.cs", trainProjectDir); + Utils.WriteOutputToFiles(trainProjectFileContent, trainProjectName, trainProjectDir); - // Generate Helper class - var consoleHelperFileContent = GenerateConsoleHelper(namespaceValue); + // New solution file. + Utils.CreateSolutionFile(settings.OutputName, settings.OutputBaseDir); - return (trainFileContent, projectFileContent, consoleHelperFileContent); + // Add projects to solution + var solutionPath = Path.Combine(settings.OutputBaseDir, $"{settings.OutputName}.sln"); + Utils.AddProjectsToSolution(modelprojectDir, modelProjectName, predictProjectDir, predictProjectName, trainProjectDir, trainProjectName, solutionPath); } - internal void WriteOutputToFiles(string trainScoreCode, string projectSourceCode, string consoleHelperCode) + internal (string, string, string) GenerateTrainProjectContents(string namespaceValue, Type labelTypeCsharp) { - if (!Directory.Exists(settings.OutputBaseDir)) - { - Directory.CreateDirectory(settings.OutputBaseDir); - } - File.WriteAllText($"{settings.OutputBaseDir}/Program.cs", trainScoreCode); - File.WriteAllText($"{settings.OutputBaseDir}/{settings.OutputName}.csproj", projectSourceCode); - File.WriteAllText($"{settings.OutputBaseDir}/ConsoleHelper.cs", consoleHelperCode); - } + var result = GenerateTransformsAndTrainers(); - internal static string GenerateConsoleHelper(string namespaceValue) - { - var consoleHelperCodeGen = new ConsoleHelper() { Namespace = namespaceValue }; - return consoleHelperCodeGen.TransformText(); + var trainProgramCSFileContent = GenerateTrainProgramCSFileContent(result.Usings, result.Trainer, result.PreTrainerTransforms, result.PostTrainerTransforms, namespaceValue, pipeline.CacheBeforeTrainer, labelTypeCsharp.Name); + trainProgramCSFileContent = Utils.FormatCode(trainProgramCSFileContent); + + var trainProjectFileContent = GeneratTrainProjectFileContent(namespaceValue); + var consoleHelperCSFileContent = GenerateConsoleHelper(namespaceValue); + + return (trainProgramCSFileContent, trainProjectFileContent, consoleHelperCSFileContent); } - internal static string GeneratProjectCode() + internal (string PredictProgramCSFileContent, string PredictProjectFileContent) GeneratePredictProjectContents(string namespaceValue) { - var projectCodeGen = new MLProjectGen(); - return projectCodeGen.TransformText(); + var predictProgramCSFileContent = GeneratePredictProgramCSFileContent(namespaceValue); + predictProgramCSFileContent = Utils.FormatCode(predictProgramCSFileContent); + + var predictProjectFileContent = GeneratPredictProjectFileContent(namespaceValue, true, true); + return (predictProgramCSFileContent, predictProjectFileContent); } - internal string GenerateTrainCode(string usings, string trainer, - List preTrainerTransforms, - List postTrainerTransforms, - IList columns, - IList classLabels, - string namespaceValue, - bool cacheBeforeTrainer, - string predictionLabelType) + internal (string ObservationCSFileContent, string PredictionCSFileContent, string ModelProjectFileContent) GenerateModelProjectContents(string namespaceValue, Type labelTypeCsharp) { - var trainingAndScoringCodeGen = new MLCodeGen() - { - Columns = columns, - PreTrainerTransforms = preTrainerTransforms, - PostTrainerTransforms = postTrainerTransforms, - HasHeader = columnInferenceResult.TextLoaderOptions.HasHeader, - Separator = columnInferenceResult.TextLoaderOptions.Separators.FirstOrDefault(), - AllowQuoting = columnInferenceResult.TextLoaderOptions.AllowQuoting, - AllowSparse = columnInferenceResult.TextLoaderOptions.AllowSparse, - TrimWhiteSpace = columnInferenceResult.TextLoaderOptions.TrimWhitespace, - Trainer = trainer, - ClassLabels = classLabels, - GeneratedUsings = usings, - Path = settings.TrainDataset, - TestPath = settings.TestDataset, - TaskType = settings.MlTask.ToString(), - Namespace = namespaceValue, - LabelName = settings.LabelName, - ModelPath = settings.ModelPath, - CacheBeforeTrainer = cacheBeforeTrainer, - PredictionLabelType = predictionLabelType - }; - - return trainingAndScoringCodeGen.TransformText(); + var classLabels = this.GenerateClassLabels(); + var observationCSFileContent = GenerateObservationCSFileContent(namespaceValue, classLabels); + observationCSFileContent = Utils.FormatCode(observationCSFileContent); + var predictionCSFileContent = GeneratePredictionCSFileContent(labelTypeCsharp.Name, namespaceValue); + predictionCSFileContent = Utils.FormatCode(predictionCSFileContent); + var modelProjectFileContent = GenerateModelProjectFileContent(); + return (observationCSFileContent, predictionCSFileContent, modelProjectFileContent); } internal (string Usings, string Trainer, List PreTrainerTransforms, List PostTrainerTransforms) GenerateTransformsAndTrainers() @@ -183,23 +160,6 @@ internal string GenerateTrainCode(string usings, string trainer, return results; } - internal IList<(string, string)> GeneratePostTrainerTransformsAndUsings() - { - var nodes = pipeline.Nodes.SkipWhile(t => t.NodeType == PipelineNodeType.Transform) - .SkipWhile(t => t.NodeType == PipelineNodeType.Trainer) //skip the trainer - .TakeWhile(t => t.NodeType == PipelineNodeType.Transform); //post trainer transforms - - //var nodes = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Transform); - var results = new List<(string, string)>(); - foreach (var node in nodes) - { - ITransformGenerator generator = TransformGeneratorFactory.GetInstance(node); - results.Add((generator.GenerateTransformer(), generator.GenerateUsings())); - } - - return results; - } - internal (string, string) GenerateTrainerAndUsings() { ITrainerGenerator generator = TrainerGeneratorFactory.GetInstance(pipeline); @@ -267,52 +227,82 @@ internal IList GenerateClassLabels() return result; } - internal IList GenerateColumns() + #region Train Project + private string GenerateTrainProgramCSFileContent(string usings, + string trainer, + List preTrainerTransforms, + List postTrainerTransforms, + string namespaceValue, + bool cacheBeforeTrainer, + string predictionLabelType) { - var result = new List(); - foreach (var column in columnInferenceResult.TextLoaderOptions.Columns) + var trainProgram = new TrainProgram() { - result.Add(ConstructColumnDefinition(column)); - } - return result; + PreTrainerTransforms = preTrainerTransforms, + PostTrainerTransforms = postTrainerTransforms, + HasHeader = columnInferenceResult.TextLoaderOptions.HasHeader, + Separator = columnInferenceResult.TextLoaderOptions.Separators.FirstOrDefault(), + AllowQuoting = columnInferenceResult.TextLoaderOptions.AllowQuoting, + AllowSparse = columnInferenceResult.TextLoaderOptions.AllowSparse, + Trainer = trainer, + GeneratedUsings = usings, + Path = settings.TrainDataset, + TestPath = settings.TestDataset, + TaskType = settings.MlTask.ToString(), + Namespace = namespaceValue, + LabelName = settings.LabelName, + CacheBeforeTrainer = cacheBeforeTrainer, + }; + + return trainProgram.TransformText(); } - private static string ConstructColumnDefinition(Column column) + private string GeneratTrainProjectFileContent(string namespaceValue) { - Range[] source = column.Source; - StringBuilder rangeBuilder = new StringBuilder(); - if (source.Length == 1) - { - if (source[0].Min == source[0].Max) - rangeBuilder.Append($"{source[0].Max}"); - else - { - rangeBuilder.Append("new[]{"); - rangeBuilder.Append($"new Range({ source[0].Min },{ source[0].Max}),"); - rangeBuilder.Remove(rangeBuilder.Length - 1, 1); - rangeBuilder.Append("}"); - } - } - else - { - rangeBuilder.Append("new[]{"); - foreach (var range in source) - { - if (range.Min == range.Max) - { - rangeBuilder.Append($"new Range({range.Min}),"); - } - else - { - rangeBuilder.Append($"new Range({range.Min},{range.Max}),"); - } - } - rangeBuilder.Remove(rangeBuilder.Length - 1, 1); - rangeBuilder.Append("}"); - } + var trainProjectFileContent = new TrainProject() { Namespace = namespaceValue,/*The following args need to dynamic*/ IncludeHalLearnersPackage = true, IncludeLightGBMPackage = true }; + return trainProjectFileContent.TransformText(); + } + + private static string GenerateConsoleHelper(string namespaceValue) + { + var consoleHelperCodeGen = new ConsoleHelper() { Namespace = namespaceValue }; + return consoleHelperCodeGen.TransformText(); + } + #endregion - var def = $"new Column(\"{column.Name}\",DataKind.{column.DataKind},{rangeBuilder.ToString()}),"; - return def; + #region Model project + private static string GenerateModelProjectFileContent() + { + ModelProject modelProject = new ModelProject(); + return modelProject.TransformText(); + } + + private string GeneratePredictionCSFileContent(string predictionLabelType, string namespaceValue) + { + PredictionClass predictionClass = new PredictionClass() { TaskType = settings.MlTask.ToString(), PredictionLabelType = predictionLabelType, Namespace = namespaceValue }; + return predictionClass.TransformText(); + } + + private string GenerateObservationCSFileContent(string namespaceValue, IList classLabels) + { + ObservationClass observationClass = new ObservationClass() { Namespace = namespaceValue, ClassLabels = classLabels }; + return observationClass.TransformText(); } + #endregion + + #region Predict Project + private static string GeneratPredictProjectFileContent(string namespaceValue, bool includeHalLearnersPackage, bool includeLightGBMPackage) + { + var predictProjectFileContent = new PredictProject() { Namespace = namespaceValue, IncludeHalLearnersPackage = includeHalLearnersPackage, IncludeLightGBMPackage = includeLightGBMPackage }; + return predictProjectFileContent.TransformText(); + } + + private string GeneratePredictProgramCSFileContent(string namespaceValue) + { + PredictProgram predictProgram = new PredictProgram() { TaskType = settings.MlTask.ToString(), LabelName = settings.LabelName, Namespace = namespaceValue, TestDataPath = settings.TestDataset, TrainDataPath = settings.TrainDataset }; + return predictProgram.TransformText(); + } + #endregion + } } diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index 264d65e5f2..4a011db01d 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -86,7 +86,8 @@ public void GenerateCode() // Save the model logger.Log(LogLevel.Info, Strings.SavingBestModel); - var modelPath = new FileInfo(Path.Combine(settings.OutputPath.FullName, "model.zip")); + var modelprojectDir = Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.Model"); + var modelPath = new FileInfo(Path.Combine(modelprojectDir, "MLModel.zip")); Utils.SaveModel(model, modelPath, context); // Generate the Project diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index 2ed46db832..8163526aaf 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; using System.CommandLine.Builder; using System.CommandLine.Invocation; using System.IO; diff --git a/src/mlnet/Templates/Console/ConsoleHelper.cs b/src/mlnet/Templates/Console/ConsoleHelper.cs index 67269ef68a..813ad14ac9 100644 --- a/src/mlnet/Templates/Console/ConsoleHelper.cs +++ b/src/mlnet/Templates/Console/ConsoleHelper.cs @@ -39,139 +39,111 @@ public virtual string TransformText() namespace "); this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); - this.Write("\r\n{\r\n public static class ConsoleHelper\r\n {\r\n public static void Pri" + - "ntPrediction(string prediction)\r\n {\r\n Console.WriteLine($\"****" + - "*********************************************\");\r\n Console.WriteLine(" + - "$\"Predicted : {prediction}\");\r\n Console.WriteLine($\"*****************" + - "********************************\");\r\n }\r\n\r\n public static void Pri" + - "ntRegressionPredictionVersusObserved(string predictionCount, string observedCoun" + - "t)\r\n {\r\n Console.WriteLine($\"---------------------------------" + - "----------------\");\r\n Console.WriteLine($\"Predicted : {predictionCoun" + - "t}\");\r\n Console.WriteLine($\"Actual: {observedCount}\");\r\n " + - " Console.WriteLine($\"-------------------------------------------------\");\r\n " + - " }\r\n\r\n public static void PrintRegressionMetrics(string name, Regress" + - "ionMetrics metrics)\r\n {\r\n Console.WriteLine($\"****************" + - "*********************************\");\r\n Console.WriteLine($\"* Me" + - "trics for {name} regression model \");\r\n Console.WriteLine($\"*---" + - "---------------------------------------------\");\r\n Console.WriteLine(" + - "$\"* LossFn: {metrics.LossFn:0.##}\");\r\n Console.WriteLine" + - "($\"* R2 Score: {metrics.RSquared:0.##}\");\r\n Console.WriteL" + - "ine($\"* Absolute loss: {metrics.L1:#.##}\");\r\n Console.WriteLine" + - "($\"* Squared loss: {metrics.L2:#.##}\");\r\n Console.WriteLine($\"" + - "* RMS loss: {metrics.Rms:#.##}\");\r\n Console.WriteLine($\"**" + - "***********************************************\");\r\n }\r\n\r\n public " + - "static void PrintBinaryClassificationMetrics(string name, BinaryClassificationMe" + - "trics metrics)\r\n {\r\n Console.WriteLine($\"*********************" + - "***************************************\");\r\n Console.WriteLine($\"* " + - " Metrics for {name} binary classification model \");\r\n Console" + - ".WriteLine($\"*-----------------------------------------------------------\");\r\n " + - " Console.WriteLine($\"* Accuracy: {metrics.Accuracy:P2}\");\r\n " + - " Console.WriteLine($\"* Auc: {metrics.Auc:P2}\");\r\n Con" + - "sole.WriteLine($\"************************************************************\");" + - "\r\n }\r\n\r\n public static void PrintRegressionFoldsAverageMetrics(str" + - "ing algorithmName,\r\n " + - " TrainCatalogBase.CrossValidationResult[] crossValidationResu" + - "lts\r\n )\r\n {\r\n" + - " var L1 = crossValidationResults.Select(r => r.Metrics.L1);\r\n " + - " var L2 = crossValidationResults.Select(r => r.Metrics.L2);\r\n var " + - "RMS = crossValidationResults.Select(r => r.Metrics.L1);\r\n var lossFun" + - "ction = crossValidationResults.Select(r => r.Metrics.LossFn);\r\n var R" + - "2 = crossValidationResults.Select(r => r.Metrics.RSquared);\r\n\r\n Conso" + - "le.WriteLine($\"*****************************************************************" + - "********************************************\");\r\n Console.WriteLine($" + - "\"* Metrics for {algorithmName} Regression model \");\r\n Cons" + - "ole.WriteLine($\"*---------------------------------------------------------------" + - "---------------------------------------------\");\r\n Console.WriteLine(" + - "$\"* Average L1 Loss: {L1.Average():0.###} \");\r\n Console.Writ" + - "eLine($\"* Average L2 Loss: {L2.Average():0.###} \");\r\n Conso" + - "le.WriteLine($\"* Average RMS: {RMS.Average():0.###} \");\r\n " + - " Console.WriteLine($\"* Average Loss Function: {lossFunction.Average():" + - "0.###} \");\r\n Console.WriteLine($\"* Average R-squared: {R2.Aver" + - "age():0.###} \");\r\n Console.WriteLine($\"*****************************" + + this.Write(".Train\r\n{\r\n public static class ConsoleHelper\r\n {\r\n\r\n public static " + + "void PrintRegressionMetrics(RegressionMetrics metrics)\r\n {\r\n C" + + "onsole.WriteLine($\"*************************************************\");\r\n " + + " Console.WriteLine($\"* Metrics for regression model \");\r\n " + + " Console.WriteLine($\"*------------------------------------------------\");\r\n " + + " Console.WriteLine($\"* LossFn: {metrics.LossFn:0.##}\");\r\n " + + " Console.WriteLine($\"* R2 Score: {metrics.RSquared:0.##}\");" + + "\r\n Console.WriteLine($\"* Absolute loss: {metrics.L1:#.##}\");\r\n " + + " Console.WriteLine($\"* Squared loss: {metrics.L2:#.##}\");\r\n " + + " Console.WriteLine($\"* RMS loss: {metrics.Rms:#.##}\");\r\n " + + " Console.WriteLine($\"*************************************************\");\r\n" + + " }\r\n\r\n public static void PrintRegressionFoldsAverageMetrics(Train" + + "CatalogBase.CrossValidationResult[] crossValidationResults)\r\n" + + " {\r\n var L1 = crossValidationResults.Select(r => r.Metrics.L1)" + + ";\r\n var L2 = crossValidationResults.Select(r => r.Metrics.L2);\r\n " + + " var RMS = crossValidationResults.Select(r => r.Metrics.L1);\r\n " + + "var lossFunction = crossValidationResults.Select(r => r.Metrics.LossFn);\r\n " + + " var R2 = crossValidationResults.Select(r => r.Metrics.RSquared);\r\n\r\n " + + " Console.WriteLine($\"******************************************************" + + "*******************************************************\");\r\n Console." + + "WriteLine($\"* Metrics for Regression model \");\r\n Console.W" + + "riteLine($\"*--------------------------------------------------------------------" + + "----------------------------------------\");\r\n Console.WriteLine($\"* " + + " Average L1 Loss: {L1.Average():0.###} \");\r\n Console.WriteLine" + + "($\"* Average L2 Loss: {L2.Average():0.###} \");\r\n Console.Wr" + + "iteLine($\"* Average RMS: {RMS.Average():0.###} \");\r\n " + + "Console.WriteLine($\"* Average Loss Function: {lossFunction.Average():0.###" + + "} \");\r\n Console.WriteLine($\"* Average R-squared: {R2.Average()" + + ":0.###} \");\r\n Console.WriteLine($\"**********************************" + + "***************************************************************************\");\r\n" + + " }\r\n\r\n public static void PrintBinaryClassificationMetrics(BinaryC" + + "lassificationMetrics metrics)\r\n {\r\n Console.WriteLine($\"******" + + "******************************************************\");\r\n Console.W" + + "riteLine($\"* Metrics for binary classification model \");\r\n " + + " Console.WriteLine($\"*----------------------------------------------------------" + + "-\");\r\n Console.WriteLine($\"* Accuracy: {metrics.Accuracy:P2}\");" + + "\r\n Console.WriteLine($\"* Auc: {metrics.Auc:P2}\");\r\n " + + " Console.WriteLine($\"*******************************************************" + + "*****\");\r\n }\r\n\r\n\r\n public static void PrintBinaryClassificationFol" + + "dsAverageMetrics(\r\n TrainCatalogBase.Cro" + + "ssValidationResult[] crossValResults)\r\n {\r\n " + + " var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics);\r" + + "\n\r\n var AccuracyValues = metricsInMultipleFolds.Select(m => m.Accurac" + + "y);\r\n var AccuracyAverage = AccuracyValues.Average();\r\n va" + + "r AccuraciesStdDeviation = CalculateStandardDeviation(AccuracyValues);\r\n " + + " var AccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(AccuracyV" + + "alues);\r\n\r\n\r\n Console.WriteLine($\"***********************************" + + "**************************************************************************\");\r\n " + + " Console.WriteLine($\"* Metrics for Binary Classification model " + + " \");\r\n Console.WriteLine($\"*--------------------------------------" + + "----------------------------------------------------------------------\");\r\n " + + " Console.WriteLine($\"* Average Accuracy: {AccuracyAverage:0.###} " + + " - Standard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 9" + + "5%: ({AccuraciesConfidenceInterval95:#.###})\");\r\n Console.WriteLine($" + + "\"*******************************************************************************" + + "******************************\");\r\n\r\n }\r\n\r\n public static void Pri" + + "ntMulticlassClassificationFoldsAverageMetrics(\r\n " + + " TrainCatalogBase.CrossValidationResult[] c" + + "rossValResults)\r\n {\r\n var metricsInMultipleFolds = crossValRes" + + "ults.Select(r => r.Metrics);\r\n\r\n var microAccuracyValues = metricsInM" + + "ultipleFolds.Select(m => m.AccuracyMicro);\r\n var microAccuracyAverage" + + " = microAccuracyValues.Average();\r\n var microAccuraciesStdDeviation =" + + " CalculateStandardDeviation(microAccuracyValues);\r\n var microAccuraci" + + "esConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues);\r\n\r\n" + + " var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.Accur" + + "acyMacro);\r\n var macroAccuracyAverage = macroAccuracyValues.Average()" + + ";\r\n var macroAccuraciesStdDeviation = CalculateStandardDeviation(macr" + + "oAccuracyValues);\r\n var macroAccuraciesConfidenceInterval95 = Calcula" + + "teConfidenceInterval95(macroAccuracyValues);\r\n\r\n var logLossValues = " + + "metricsInMultipleFolds.Select(m => m.LogLoss);\r\n var logLossAverage =" + + " logLossValues.Average();\r\n var logLossStdDeviation = CalculateStanda" + + "rdDeviation(logLossValues);\r\n var logLossConfidenceInterval95 = Calcu" + + "lateConfidenceInterval95(logLossValues);\r\n\r\n var logLossReductionValu" + + "es = metricsInMultipleFolds.Select(m => m.LogLossReduction);\r\n var lo" + + "gLossReductionAverage = logLossReductionValues.Average();\r\n var logLo" + + "ssReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues);\r\n " + + " var logLossReductionConfidenceInterval95 = CalculateConfidenceInterva" + + "l95(logLossReductionValues);\r\n\r\n Console.WriteLine($\"****************" + "********************************************************************************" + - "\");\r\n }\r\n\r\n public static void PrintBinaryClassificationFoldsAvera" + - "geMetrics(\r\n string algorithmName,\r\n " + - " TrainCatalogBase.CrossValidationResult[] crossValResults)\r\n {\r\n var metricsI" + - "nMultipleFolds = crossValResults.Select(r => r.Metrics);\r\n\r\n var Accu" + - "racyValues = metricsInMultipleFolds.Select(m => m.Accuracy);\r\n var Ac" + - "curacyAverage = AccuracyValues.Average();\r\n var AccuraciesStdDeviatio" + - "n = CalculateStandardDeviation(AccuracyValues);\r\n var AccuraciesConfi" + - "denceInterval95 = CalculateConfidenceInterval95(AccuracyValues);\r\n\r\n\r\n " + - " Console.WriteLine($\"**********************************************************" + - "***************************************************\");\r\n Console.Writ" + - "eLine($\"* Metrics for {algorithmName} Binary Classification model \");" + - "\r\n Console.WriteLine($\"*---------------------------------------------" + - "---------------------------------------------------------------\");\r\n " + - "Console.WriteLine($\"* Average Accuracy: {AccuracyAverage:0.###} - Stan" + - "dard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({A" + - "ccuraciesConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"******" + - "********************************************************************************" + - "***********************\");\r\n\r\n }\r\n\r\n public static void PrintMulti" + - "classClassificationFoldsAverageMetrics(\r\n " + - " string algorithmName,\r\n TrainCatalogBa" + - "se.CrossValidationResult[] crossValResults)\r\n " + - " {\r\n var metricsInMultipleFolds = crossValResults.Select(r => r.Metr" + - "ics);\r\n\r\n var microAccuracyValues = metricsInMultipleFolds.Select(m =" + - "> m.AccuracyMicro);\r\n var microAccuracyAverage = microAccuracyValues." + - "Average();\r\n var microAccuraciesStdDeviation = CalculateStandardDevia" + - "tion(microAccuracyValues);\r\n var microAccuraciesConfidenceInterval95 " + - "= CalculateConfidenceInterval95(microAccuracyValues);\r\n\r\n var macroAc" + - "curacyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro);\r\n " + - " var macroAccuracyAverage = macroAccuracyValues.Average();\r\n var macr" + - "oAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues);\r\n " + - " var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(" + - "macroAccuracyValues);\r\n\r\n var logLossValues = metricsInMultipleFolds." + - "Select(m => m.LogLoss);\r\n var logLossAverage = logLossValues.Average(" + - ");\r\n var logLossStdDeviation = CalculateStandardDeviation(logLossValu" + - "es);\r\n var logLossConfidenceInterval95 = CalculateConfidenceInterval9" + - "5(logLossValues);\r\n\r\n var logLossReductionValues = metricsInMultipleF" + - "olds.Select(m => m.LogLossReduction);\r\n var logLossReductionAverage =" + - " logLossReductionValues.Average();\r\n var logLossReductionStdDeviation" + - " = CalculateStandardDeviation(logLossReductionValues);\r\n var logLossR" + - "eductionConfidenceInterval95 = CalculateConfidenceInterval95(logLossReductionVal" + - "ues);\r\n\r\n Console.WriteLine($\"***************************************" + - "**********************************************************************\");\r\n " + - " Console.WriteLine($\"* Metrics for {algorithmName} Multi-class Class" + - "ification model \");\r\n Console.WriteLine($\"*---------------------" + + "*************\");\r\n Console.WriteLine($\"* Metrics for Multi-clas" + + "s Classification model \");\r\n Console.WriteLine($\"*--------------" + "--------------------------------------------------------------------------------" + - "-------\");\r\n Console.WriteLine($\"* Average MicroAccuracy: {m" + - "icroAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:" + - "#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###}" + - ")\");\r\n Console.WriteLine($\"* Average MacroAccuracy: {macroAc" + - "curacyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}" + - ") - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})\");\r\n" + - " Console.WriteLine($\"* Average LogLoss: {logLossAverag" + - "e:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Inte" + - "rval 95%: ({logLossConfidenceInterval95:#.###})\");\r\n Console.WriteLin" + - "e($\"* Average LogLossReduction: {logLossReductionAverage:#.###} - Standar" + - "d deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: " + - "({logLossReductionConfidenceInterval95:#.###})\");\r\n Console.WriteLine" + - "($\"*****************************************************************************" + - "********************************\");\r\n\r\n }\r\n\r\n public static double" + - " CalculateStandardDeviation(IEnumerable values)\r\n {\r\n " + - "double average = values.Average();\r\n double sumOfSquaresOfDifferences" + - " = values.Select(val => (val - average) * (val - average)).Sum();\r\n d" + - "ouble standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Count() " + - "- 1));\r\n return standardDeviation;\r\n }\r\n\r\n public stati" + - "c double CalculateConfidenceInterval95(IEnumerable values)\r\n {\r\n " + - " double confidenceInterval95 = 1.96 * CalculateStandardDeviation(value" + - "s) / Math.Sqrt((values.Count() - 1));\r\n return confidenceInterval95;\r" + - "\n }\r\n\r\n public static void PrintClusteringMetrics(string name, Clu" + - "steringMetrics metrics)\r\n {\r\n Console.WriteLine($\"************" + - "*************************************\");\r\n Console.WriteLine($\"* " + - " Metrics for {name} clustering model \");\r\n Console.WriteLine($\"" + - "*------------------------------------------------\");\r\n Console.WriteL" + - "ine($\"* AvgMinScore: {metrics.AvgMinScore}\");\r\n Console.WriteLi" + - "ne($\"* DBI is: {metrics.Dbi}\");\r\n Console.WriteLine($\"*********" + - "****************************************\");\r\n }\r\n\r\n public static " + - "void ConsoleWriteHeader(params string[] lines)\r\n {\r\n var defau" + - "ltColor = Console.ForegroundColor;\r\n Console.ForegroundColor = Consol" + - "eColor.Yellow;\r\n Console.WriteLine(\" \");\r\n foreach (var li" + - "ne in lines)\r\n {\r\n Console.WriteLine(line);\r\n " + - " }\r\n var maxLength = lines.Select(x => x.Length).Max();\r\n " + - " Console.WriteLine(new string(\'#\', maxLength));\r\n Console.Foreground" + - "Color = defaultColor;\r\n }\r\n }\r\n}\r\n"); + "--------------\");\r\n Console.WriteLine($\"* Average MicroAccuracy" + + ": {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDev" + + "iation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95" + + ":#.###})\");\r\n Console.WriteLine($\"* Average MacroAccuracy: {" + + "macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation" + + ":#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###" + + "})\");\r\n Console.WriteLine($\"* Average LogLoss: {logLos" + + "sAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confiden" + + "ce Interval 95%: ({logLossConfidenceInterval95:#.###})\");\r\n Console.W" + + "riteLine($\"* Average LogLossReduction: {logLossReductionAverage:#.###} - " + + "Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interva" + + "l 95%: ({logLossReductionConfidenceInterval95:#.###})\");\r\n Console.Wr" + + "iteLine($\"**********************************************************************" + + "***************************************\");\r\n\r\n }\r\n\r\n public static" + + " double CalculateStandardDeviation(IEnumerable values)\r\n {\r\n " + + " double average = values.Average();\r\n double sumOfSquaresOfDiff" + + "erences = values.Select(val => (val - average) * (val - average)).Sum();\r\n " + + " double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.C" + + "ount() - 1));\r\n return standardDeviation;\r\n }\r\n\r\n publi" + + "c static double CalculateConfidenceInterval95(IEnumerable values)\r\n " + + " {\r\n double confidenceInterval95 = 1.96 * CalculateStandardDeviatio" + + "n(values) / Math.Sqrt((values.Count() - 1));\r\n return confidenceInter" + + "val95;\r\n }\r\n }\r\n}\r\n"); return this.GenerationEnvironment.ToString(); } diff --git a/src/mlnet/Templates/Console/ConsoleHelper.tt b/src/mlnet/Templates/Console/ConsoleHelper.tt index aaecdcae89..61cdfb5443 100644 --- a/src/mlnet/Templates/Console/ConsoleHelper.tt +++ b/src/mlnet/Templates/Console/ConsoleHelper.tt @@ -15,29 +15,15 @@ using System.Linq; using Microsoft.ML; using Microsoft.ML.Data; -namespace <#= Namespace #> +namespace <#= Namespace #>.Train { public static class ConsoleHelper { - public static void PrintPrediction(string prediction) - { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"Predicted : {prediction}"); - Console.WriteLine($"*************************************************"); - } - public static void PrintRegressionPredictionVersusObserved(string predictionCount, string observedCount) - { - Console.WriteLine($"-------------------------------------------------"); - Console.WriteLine($"Predicted : {predictionCount}"); - Console.WriteLine($"Actual: {observedCount}"); - Console.WriteLine($"-------------------------------------------------"); - } - - public static void PrintRegressionMetrics(string name, RegressionMetrics metrics) + public static void PrintRegressionMetrics(RegressionMetrics metrics) { Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Metrics for {name} regression model "); + Console.WriteLine($"* Metrics for regression model "); Console.WriteLine($"*------------------------------------------------"); Console.WriteLine($"* LossFn: {metrics.LossFn:0.##}"); Console.WriteLine($"* R2 Score: {metrics.RSquared:0.##}"); @@ -47,19 +33,7 @@ namespace <#= Namespace #> Console.WriteLine($"*************************************************"); } - public static void PrintBinaryClassificationMetrics(string name, BinaryClassificationMetrics metrics) - { - Console.WriteLine($"************************************************************"); - Console.WriteLine($"* Metrics for {name} binary classification model "); - Console.WriteLine($"*-----------------------------------------------------------"); - Console.WriteLine($"* Accuracy: {metrics.Accuracy:P2}"); - Console.WriteLine($"* Auc: {metrics.Auc:P2}"); - Console.WriteLine($"************************************************************"); - } - - public static void PrintRegressionFoldsAverageMetrics(string algorithmName, - TrainCatalogBase.CrossValidationResult[] crossValidationResults - ) + public static void PrintRegressionFoldsAverageMetrics(TrainCatalogBase.CrossValidationResult[] crossValidationResults) { var L1 = crossValidationResults.Select(r => r.Metrics.L1); var L2 = crossValidationResults.Select(r => r.Metrics.L2); @@ -68,7 +42,7 @@ namespace <#= Namespace #> var R2 = crossValidationResults.Select(r => r.Metrics.RSquared); Console.WriteLine($"*************************************************************************************************************"); - Console.WriteLine($"* Metrics for {algorithmName} Regression model "); + Console.WriteLine($"* Metrics for Regression model "); Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); Console.WriteLine($"* Average L1 Loss: {L1.Average():0.###} "); Console.WriteLine($"* Average L2 Loss: {L2.Average():0.###} "); @@ -78,8 +52,18 @@ namespace <#= Namespace #> Console.WriteLine($"*************************************************************************************************************"); } + public static void PrintBinaryClassificationMetrics(BinaryClassificationMetrics metrics) + { + Console.WriteLine($"************************************************************"); + Console.WriteLine($"* Metrics for binary classification model "); + Console.WriteLine($"*-----------------------------------------------------------"); + Console.WriteLine($"* Accuracy: {metrics.Accuracy:P2}"); + Console.WriteLine($"* Auc: {metrics.Auc:P2}"); + Console.WriteLine($"************************************************************"); + } + + public static void PrintBinaryClassificationFoldsAverageMetrics( - string algorithmName, TrainCatalogBase.CrossValidationResult[] crossValResults) { var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); @@ -91,7 +75,7 @@ namespace <#= Namespace #> Console.WriteLine($"*************************************************************************************************************"); - Console.WriteLine($"* Metrics for {algorithmName} Binary Classification model "); + Console.WriteLine($"* Metrics for Binary Classification model "); Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); Console.WriteLine($"* Average Accuracy: {AccuracyAverage:0.###} - Standard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({AccuraciesConfidenceInterval95:#.###})"); Console.WriteLine($"*************************************************************************************************************"); @@ -99,7 +83,6 @@ namespace <#= Namespace #> } public static void PrintMulticlassClassificationFoldsAverageMetrics( - string algorithmName, TrainCatalogBase.CrossValidationResult[] crossValResults) { var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); @@ -125,7 +108,7 @@ namespace <#= Namespace #> var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(logLossReductionValues); Console.WriteLine($"*************************************************************************************************************"); - Console.WriteLine($"* Metrics for {algorithmName} Multi-class Classification model "); + Console.WriteLine($"* Metrics for Multi-class Classification model "); Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); Console.WriteLine($"* Average MicroAccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###})"); Console.WriteLine($"* Average MacroAccuracy: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})"); @@ -148,30 +131,6 @@ namespace <#= Namespace #> double confidenceInterval95 = 1.96 * CalculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1)); return confidenceInterval95; } - - public static void PrintClusteringMetrics(string name, ClusteringMetrics metrics) - { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Metrics for {name} clustering model "); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"* AvgMinScore: {metrics.AvgMinScore}"); - Console.WriteLine($"* DBI is: {metrics.Dbi}"); - Console.WriteLine($"*************************************************"); - } - - public static void ConsoleWriteHeader(params string[] lines) - { - var defaultColor = Console.ForegroundColor; - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine(" "); - foreach (var line in lines) - { - Console.WriteLine(line); - } - var maxLength = lines.Select(x => x.Length).Max(); - Console.WriteLine(new string('#', maxLength)); - Console.ForegroundColor = defaultColor; - } } } <#+ diff --git a/src/mlnet/Templates/Console/MLProjectGen.cs b/src/mlnet/Templates/Console/ModelProject.cs similarity index 96% rename from src/mlnet/Templates/Console/MLProjectGen.cs rename to src/mlnet/Templates/Console/ModelProject.cs index b52220b184..29403f8955 100644 --- a/src/mlnet/Templates/Console/MLProjectGen.cs +++ b/src/mlnet/Templates/Console/ModelProject.cs @@ -17,9 +17,12 @@ namespace Microsoft.ML.CLI.Templates.Console /// /// Class to produce the template output /// + + #line 1 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\ModelProject.tt" [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public partial class MLProjectGen : MLProjectGenBase + public partial class ModelProject : ModelProjectBase { +#line hidden /// /// Create the template output /// @@ -28,35 +31,37 @@ public virtual string TransformText() this.Write(@" - Exe netcoreapp2.1 - False - + https://api.nuget.org/v3/index.json; - - + + - - - + + PreserveNewest + + "); return this.GenerationEnvironment.ToString(); } } + + #line default + #line hidden #region Base class /// /// Base class for this transformation /// [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public class MLProjectGenBase + public class ModelProjectBase { #region Fields private global::System.Text.StringBuilder generationEnvironmentField; diff --git a/src/mlnet/Templates/Console/ModelProject.tt b/src/mlnet/Templates/Console/ModelProject.tt new file mode 100644 index 0000000000..7fb3f7267b --- /dev/null +++ b/src/mlnet/Templates/Console/ModelProject.tt @@ -0,0 +1,26 @@ +<#@ template language="C#" #> +<#@ assembly name="System.Core" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text" #> +<#@ import namespace="System.Collections.Generic" #> + + + + netcoreapp2.1 + + + + https://api.nuget.org/v3/index.json; + + + + + + + + + PreserveNewest + + + + diff --git a/src/mlnet/Templates/Console/ObservationClass.cs b/src/mlnet/Templates/Console/ObservationClass.cs new file mode 100644 index 0000000000..62b660bd39 --- /dev/null +++ b/src/mlnet/Templates/Console/ObservationClass.cs @@ -0,0 +1,355 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version: 15.0.0.0 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +namespace Microsoft.ML.CLI.Templates.Console +{ + using System.Linq; + using System.Text; + using System.Collections.Generic; + using System; + + /// + /// Class to produce the template output + /// + + #line 1 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\ObservationClass.tt" + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public partial class ObservationClass : ObservationClassBase + { +#line hidden + /// + /// Create the template output + /// + public virtual string TransformText() + { + this.Write(@"//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using Microsoft.ML.Data; + +namespace "); + + #line 14 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\ObservationClass.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); + + #line default + #line hidden + this.Write(".Model.DataModels\r\n{\r\n public class SampleObservation\r\n {\r\n"); + + #line 18 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\ObservationClass.tt" +foreach(var label in ClassLabels){ + + #line default + #line hidden + this.Write(" "); + + #line 19 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\ObservationClass.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(label)); + + #line default + #line hidden + this.Write("\r\n"); + + #line 20 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\ObservationClass.tt" +} + + #line default + #line hidden + this.Write("}\r\n}\r\n"); + return this.GenerationEnvironment.ToString(); + } + + #line 23 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\ObservationClass.tt" + +public IList ClassLabels {get;set;} +public string Namespace {get;set;} + + + #line default + #line hidden + } + + #line default + #line hidden + #region Base class + /// + /// Base class for this transformation + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public class ObservationClassBase + { + #region Fields + private global::System.Text.StringBuilder generationEnvironmentField; + private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; + private global::System.Collections.Generic.List indentLengthsField; + private string currentIndentField = ""; + private bool endsWithNewline; + private global::System.Collections.Generic.IDictionary sessionField; + #endregion + #region Properties + /// + /// The string builder that generation-time code is using to assemble generated output + /// + protected System.Text.StringBuilder GenerationEnvironment + { + get + { + if ((this.generationEnvironmentField == null)) + { + this.generationEnvironmentField = new global::System.Text.StringBuilder(); + } + return this.generationEnvironmentField; + } + set + { + this.generationEnvironmentField = value; + } + } + /// + /// The error collection for the generation process + /// + public System.CodeDom.Compiler.CompilerErrorCollection Errors + { + get + { + if ((this.errorsField == null)) + { + this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); + } + return this.errorsField; + } + } + /// + /// A list of the lengths of each indent that was added with PushIndent + /// + private System.Collections.Generic.List indentLengths + { + get + { + if ((this.indentLengthsField == null)) + { + this.indentLengthsField = new global::System.Collections.Generic.List(); + } + return this.indentLengthsField; + } + } + /// + /// Gets the current indent we use when adding lines to the output + /// + public string CurrentIndent + { + get + { + return this.currentIndentField; + } + } + /// + /// Current transformation session + /// + public virtual global::System.Collections.Generic.IDictionary Session + { + get + { + return this.sessionField; + } + set + { + this.sessionField = value; + } + } + #endregion + #region Transform-time helpers + /// + /// Write text directly into the generated output + /// + public void Write(string textToAppend) + { + if (string.IsNullOrEmpty(textToAppend)) + { + return; + } + // If we're starting off, or if the previous text ended with a newline, + // we have to append the current indent first. + if (((this.GenerationEnvironment.Length == 0) + || this.endsWithNewline)) + { + this.GenerationEnvironment.Append(this.currentIndentField); + this.endsWithNewline = false; + } + // Check if the current text ends with a newline + if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) + { + this.endsWithNewline = true; + } + // This is an optimization. If the current indent is "", then we don't have to do any + // of the more complex stuff further down. + if ((this.currentIndentField.Length == 0)) + { + this.GenerationEnvironment.Append(textToAppend); + return; + } + // Everywhere there is a newline in the text, add an indent after it + textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); + // If the text ends with a newline, then we should strip off the indent added at the very end + // because the appropriate indent will be added when the next time Write() is called + if (this.endsWithNewline) + { + this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); + } + else + { + this.GenerationEnvironment.Append(textToAppend); + } + } + /// + /// Write text directly into the generated output + /// + public void WriteLine(string textToAppend) + { + this.Write(textToAppend); + this.GenerationEnvironment.AppendLine(); + this.endsWithNewline = true; + } + /// + /// Write formatted text directly into the generated output + /// + public void Write(string format, params object[] args) + { + this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Write formatted text directly into the generated output + /// + public void WriteLine(string format, params object[] args) + { + this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Raise an error + /// + public void Error(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + this.Errors.Add(error); + } + /// + /// Raise a warning + /// + public void Warning(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + error.IsWarning = true; + this.Errors.Add(error); + } + /// + /// Increase the indent + /// + public void PushIndent(string indent) + { + if ((indent == null)) + { + throw new global::System.ArgumentNullException("indent"); + } + this.currentIndentField = (this.currentIndentField + indent); + this.indentLengths.Add(indent.Length); + } + /// + /// Remove the last indent that was added with PushIndent + /// + public string PopIndent() + { + string returnValue = ""; + if ((this.indentLengths.Count > 0)) + { + int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; + this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); + if ((indentLength > 0)) + { + returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); + this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); + } + } + return returnValue; + } + /// + /// Remove any indentation + /// + public void ClearIndent() + { + this.indentLengths.Clear(); + this.currentIndentField = ""; + } + #endregion + #region ToString Helpers + /// + /// Utility class to produce culture-oriented representation of an object as a string. + /// + public class ToStringInstanceHelper + { + private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; + /// + /// Gets or sets format provider to be used by ToStringWithCulture method. + /// + public System.IFormatProvider FormatProvider + { + get + { + return this.formatProviderField ; + } + set + { + if ((value != null)) + { + this.formatProviderField = value; + } + } + } + /// + /// This is called from the compile/run appdomain to convert objects within an expression block to a string + /// + public string ToStringWithCulture(object objectToConvert) + { + if ((objectToConvert == null)) + { + throw new global::System.ArgumentNullException("objectToConvert"); + } + System.Type t = objectToConvert.GetType(); + System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { + typeof(System.IFormatProvider)}); + if ((method == null)) + { + return objectToConvert.ToString(); + } + else + { + return ((string)(method.Invoke(objectToConvert, new object[] { + this.formatProviderField }))); + } + } + } + private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); + /// + /// Helper to produce culture-oriented representation of an object as a string + /// + public ToStringInstanceHelper ToStringHelper + { + get + { + return this.toStringHelperField; + } + } + #endregion + } + #endregion +} diff --git a/src/mlnet/Templates/Console/ObservationClass.tt b/src/mlnet/Templates/Console/ObservationClass.tt new file mode 100644 index 0000000000..07da8f56cc --- /dev/null +++ b/src/mlnet/Templates/Console/ObservationClass.tt @@ -0,0 +1,26 @@ +<#@ template language="C#" #> +<#@ assembly name="System.Core" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text" #> +<#@ import namespace="System.Collections.Generic" #> +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using Microsoft.ML.Data; + +namespace <#= Namespace #>.Model.DataModels +{ + public class SampleObservation + { +<#foreach(var label in ClassLabels){#> + <#=label#> +<#}#> +} +} +<#+ +public IList ClassLabels {get;set;} +public string Namespace {get;set;} +#> \ No newline at end of file diff --git a/src/mlnet/Templates/Console/PredictProgram.cs b/src/mlnet/Templates/Console/PredictProgram.cs new file mode 100644 index 0000000000..48bb6f7909 --- /dev/null +++ b/src/mlnet/Templates/Console/PredictProgram.cs @@ -0,0 +1,492 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version: 15.0.0.0 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +namespace Microsoft.ML.CLI.Templates.Console +{ + using System.Linq; + using System.Text; + using System.Collections.Generic; + using Microsoft.ML.CLI.Utilities; + using System; + + /// + /// Class to produce the template output + /// + + #line 1 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public partial class PredictProgram : PredictProgramBase + { +#line hidden + /// + /// Create the template output + /// + public virtual string TransformText() + { + this.Write(@"//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using System; +using System.IO; +using System.Linq; +using System.Collections.Generic; +using Microsoft.ML; +using Microsoft.ML.Data; +using Microsoft.Data.DataView; +using "); + + #line 20 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); + + #line default + #line hidden + this.Write(".Model.DataModels;\r\n\r\n\r\nnamespace "); + + #line 23 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); + + #line default + #line hidden + this.Write(".Predict\r\n{\r\n class Program\r\n {\r\n //Machine Learning model to load a" + + "nd use for predictions\r\n private const string MODEL_FILEPATH = @\"MLModel." + + "zip\";\r\n\r\n //Dataset to use for predictions \r\n"); + + #line 31 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" +if(string.IsNullOrEmpty(TestDataPath)){ + + #line default + #line hidden + this.Write(" private const string DATA_FILEPATH = @\""); + + #line 32 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(TrainDataPath)); + + #line default + #line hidden + this.Write("\";\r\n"); + + #line 33 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + } else{ + + #line default + #line hidden + this.Write(" private const string DATA_FILEPATH = @\""); + + #line 34 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(TestDataPath)); + + #line default + #line hidden + this.Write("\";\r\n"); + + #line 35 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + } + + #line default + #line hidden + this.Write(@" + static void Main(string[] args) + { + MLContext mlContext = new MLContext(); + + //Load ML Model from .zip file + ITransformer mlModel = LoadModelFromFile(mlContext, MODEL_FILEPATH); + + // Create sample data to do a single prediction with it + SampleObservation sampleData = CreateSingleDataSample(mlContext, DATA_FILEPATH); + + // Test a single prediction + Predict(mlContext, mlModel, sampleData); + + Console.WriteLine(""=============== End of process, hit any key to finish ===============""); + Console.ReadKey(); + } + + private static void Predict(MLContext mlContext, ITransformer mlModel, SampleObservation sampleData) + { + // Create prediction engine related to the loaded ML model + var predEngine = mlModel.CreatePredictionEngine(mlContext); + + // Try a single prediction + var predictionResult = predEngine.Predict(sampleData); +"); + + #line 61 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" +if("BinaryClassification".Equals(TaskType)){ + + #line default + #line hidden + this.Write(" Console.WriteLine($\"Single Prediction --> Actual value: {sampleData."); + + #line 62 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); + + #line default + #line hidden + this.Write("} | Predicted value: {predictionResult.Prediction}\");\r\n"); + + #line 63 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" +}else if("Regression".Equals(TaskType)){ + + #line default + #line hidden + this.Write(" Console.WriteLine($\"Single Prediction --> Actual value: {sampleData."); + + #line 64 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); + + #line default + #line hidden + this.Write("} | Predicted value: {predictionResult.Score}\");\r\n"); + + #line 65 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" +} else if("MulticlassClassification".Equals(TaskType)){ + + #line default + #line hidden + this.Write(" Console.WriteLine($\"Single Prediction --> Actual value: {sampleData."); + + #line 66 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); + + #line default + #line hidden + this.Write("} | Predicted value: {predictionResult.Prediction} | Predicted scores: [{String.J" + + "oin(\\\", \\\", resultprediction.Scores)}]\");\r\n"); + + #line 67 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" +} + + #line default + #line hidden + this.Write(@" } + + private static ITransformer LoadModelFromFile(MLContext mlContext, string modelFilePath) + { + ITransformer mlModel; + using (var stream = new FileStream(modelFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + mlModel = mlContext.Model.Load(stream); + } + + return mlModel; + } + + // Method to load single row of data to try a single prediction + // You can change this code and create your own sample data here (Hardcoded or from any source) + private static SampleObservation CreateSingleDataSample(MLContext mlContext, string dataFilePath) + { + // Read dataset to get a single row for trying a prediction + IDataView dataView = mlContext.Data.LoadFromTextFile( + path: dataFilePath, + hasHeader: true, + separatorChar: ','); + + // Here (SampleObservation object) you could provide new test data, hardcoded or from the end-user application, instead of the row from the file. + SampleObservation sampleForPrediction = mlContext.Data.CreateEnumerable(dataView, false) + .First(); + return sampleForPrediction; + } + } +} +"); + return this.GenerationEnvironment.ToString(); + } + + #line 98 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + +public string TaskType {get;set;} +public string Namespace {get;set;} +public string LabelName {get;set;} +public string TestDataPath {get;set;} +public string TrainDataPath {get;set;} + + + #line default + #line hidden + } + + #line default + #line hidden + #region Base class + /// + /// Base class for this transformation + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public class PredictProgramBase + { + #region Fields + private global::System.Text.StringBuilder generationEnvironmentField; + private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; + private global::System.Collections.Generic.List indentLengthsField; + private string currentIndentField = ""; + private bool endsWithNewline; + private global::System.Collections.Generic.IDictionary sessionField; + #endregion + #region Properties + /// + /// The string builder that generation-time code is using to assemble generated output + /// + protected System.Text.StringBuilder GenerationEnvironment + { + get + { + if ((this.generationEnvironmentField == null)) + { + this.generationEnvironmentField = new global::System.Text.StringBuilder(); + } + return this.generationEnvironmentField; + } + set + { + this.generationEnvironmentField = value; + } + } + /// + /// The error collection for the generation process + /// + public System.CodeDom.Compiler.CompilerErrorCollection Errors + { + get + { + if ((this.errorsField == null)) + { + this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); + } + return this.errorsField; + } + } + /// + /// A list of the lengths of each indent that was added with PushIndent + /// + private System.Collections.Generic.List indentLengths + { + get + { + if ((this.indentLengthsField == null)) + { + this.indentLengthsField = new global::System.Collections.Generic.List(); + } + return this.indentLengthsField; + } + } + /// + /// Gets the current indent we use when adding lines to the output + /// + public string CurrentIndent + { + get + { + return this.currentIndentField; + } + } + /// + /// Current transformation session + /// + public virtual global::System.Collections.Generic.IDictionary Session + { + get + { + return this.sessionField; + } + set + { + this.sessionField = value; + } + } + #endregion + #region Transform-time helpers + /// + /// Write text directly into the generated output + /// + public void Write(string textToAppend) + { + if (string.IsNullOrEmpty(textToAppend)) + { + return; + } + // If we're starting off, or if the previous text ended with a newline, + // we have to append the current indent first. + if (((this.GenerationEnvironment.Length == 0) + || this.endsWithNewline)) + { + this.GenerationEnvironment.Append(this.currentIndentField); + this.endsWithNewline = false; + } + // Check if the current text ends with a newline + if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) + { + this.endsWithNewline = true; + } + // This is an optimization. If the current indent is "", then we don't have to do any + // of the more complex stuff further down. + if ((this.currentIndentField.Length == 0)) + { + this.GenerationEnvironment.Append(textToAppend); + return; + } + // Everywhere there is a newline in the text, add an indent after it + textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); + // If the text ends with a newline, then we should strip off the indent added at the very end + // because the appropriate indent will be added when the next time Write() is called + if (this.endsWithNewline) + { + this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); + } + else + { + this.GenerationEnvironment.Append(textToAppend); + } + } + /// + /// Write text directly into the generated output + /// + public void WriteLine(string textToAppend) + { + this.Write(textToAppend); + this.GenerationEnvironment.AppendLine(); + this.endsWithNewline = true; + } + /// + /// Write formatted text directly into the generated output + /// + public void Write(string format, params object[] args) + { + this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Write formatted text directly into the generated output + /// + public void WriteLine(string format, params object[] args) + { + this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Raise an error + /// + public void Error(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + this.Errors.Add(error); + } + /// + /// Raise a warning + /// + public void Warning(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + error.IsWarning = true; + this.Errors.Add(error); + } + /// + /// Increase the indent + /// + public void PushIndent(string indent) + { + if ((indent == null)) + { + throw new global::System.ArgumentNullException("indent"); + } + this.currentIndentField = (this.currentIndentField + indent); + this.indentLengths.Add(indent.Length); + } + /// + /// Remove the last indent that was added with PushIndent + /// + public string PopIndent() + { + string returnValue = ""; + if ((this.indentLengths.Count > 0)) + { + int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; + this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); + if ((indentLength > 0)) + { + returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); + this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); + } + } + return returnValue; + } + /// + /// Remove any indentation + /// + public void ClearIndent() + { + this.indentLengths.Clear(); + this.currentIndentField = ""; + } + #endregion + #region ToString Helpers + /// + /// Utility class to produce culture-oriented representation of an object as a string. + /// + public class ToStringInstanceHelper + { + private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; + /// + /// Gets or sets format provider to be used by ToStringWithCulture method. + /// + public System.IFormatProvider FormatProvider + { + get + { + return this.formatProviderField ; + } + set + { + if ((value != null)) + { + this.formatProviderField = value; + } + } + } + /// + /// This is called from the compile/run appdomain to convert objects within an expression block to a string + /// + public string ToStringWithCulture(object objectToConvert) + { + if ((objectToConvert == null)) + { + throw new global::System.ArgumentNullException("objectToConvert"); + } + System.Type t = objectToConvert.GetType(); + System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { + typeof(System.IFormatProvider)}); + if ((method == null)) + { + return objectToConvert.ToString(); + } + else + { + return ((string)(method.Invoke(objectToConvert, new object[] { + this.formatProviderField }))); + } + } + } + private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); + /// + /// Helper to produce culture-oriented representation of an object as a string + /// + public ToStringInstanceHelper ToStringHelper + { + get + { + return this.toStringHelperField; + } + } + #endregion + } + #endregion +} diff --git a/src/mlnet/Templates/Console/PredictProgram.tt b/src/mlnet/Templates/Console/PredictProgram.tt new file mode 100644 index 0000000000..04df77a3c1 --- /dev/null +++ b/src/mlnet/Templates/Console/PredictProgram.tt @@ -0,0 +1,104 @@ +<#@ template language="C#" #> +<#@ assembly name="System.Core" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="Microsoft.ML.CLI.Utilities" #> +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using System; +using System.IO; +using System.Linq; +using System.Collections.Generic; +using Microsoft.ML; +using Microsoft.ML.Data; +using Microsoft.Data.DataView; +using <#= Namespace #>.Model.DataModels; + + +namespace <#= Namespace #>.Predict +{ + class Program + { + //Machine Learning model to load and use for predictions + private const string MODEL_FILEPATH = @"MLModel.zip"; + + //Dataset to use for predictions +<#if(string.IsNullOrEmpty(TestDataPath)){ #> + private const string DATA_FILEPATH = @"<#= TrainDataPath #>"; +<# } else{ #> + private const string DATA_FILEPATH = @"<#= TestDataPath #>"; +<# } #> + + static void Main(string[] args) + { + MLContext mlContext = new MLContext(); + + //Load ML Model from .zip file + ITransformer mlModel = LoadModelFromFile(mlContext, MODEL_FILEPATH); + + // Create sample data to do a single prediction with it + SampleObservation sampleData = CreateSingleDataSample(mlContext, DATA_FILEPATH); + + // Test a single prediction + Predict(mlContext, mlModel, sampleData); + + Console.WriteLine("=============== End of process, hit any key to finish ==============="); + Console.ReadKey(); + } + + private static void Predict(MLContext mlContext, ITransformer mlModel, SampleObservation sampleData) + { + // Create prediction engine related to the loaded ML model + var predEngine = mlModel.CreatePredictionEngine(mlContext); + + // Try a single prediction + var predictionResult = predEngine.Predict(sampleData); +<#if("BinaryClassification".Equals(TaskType)){ #> + Console.WriteLine($"Single Prediction --> Actual value: {sampleData.<#= Utils.Normalize(LabelName) #>} | Predicted value: {predictionResult.Prediction}"); +<#}else if("Regression".Equals(TaskType)){#> + Console.WriteLine($"Single Prediction --> Actual value: {sampleData.<#= Utils.Normalize(LabelName) #>} | Predicted value: {predictionResult.Score}"); +<#} else if("MulticlassClassification".Equals(TaskType)){#> + Console.WriteLine($"Single Prediction --> Actual value: {sampleData.<#= Utils.Normalize(LabelName) #>} | Predicted value: {predictionResult.Prediction} | Predicted scores: [{String.Join(\", \", resultprediction.Scores)}]"); +<#}#> + } + + private static ITransformer LoadModelFromFile(MLContext mlContext, string modelFilePath) + { + ITransformer mlModel; + using (var stream = new FileStream(modelFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + mlModel = mlContext.Model.Load(stream); + } + + return mlModel; + } + + // Method to load single row of data to try a single prediction + // You can change this code and create your own sample data here (Hardcoded or from any source) + private static SampleObservation CreateSingleDataSample(MLContext mlContext, string dataFilePath) + { + // Read dataset to get a single row for trying a prediction + IDataView dataView = mlContext.Data.LoadFromTextFile( + path: dataFilePath, + hasHeader: true, + separatorChar: ','); + + // Here (SampleObservation object) you could provide new test data, hardcoded or from the end-user application, instead of the row from the file. + SampleObservation sampleForPrediction = mlContext.Data.CreateEnumerable(dataView, false) + .First(); + return sampleForPrediction; + } + } +} +<#+ +public string TaskType {get;set;} +public string Namespace {get;set;} +public string LabelName {get;set;} +public string TestDataPath {get;set;} +public string TrainDataPath {get;set;} +#> diff --git a/src/mlnet/Templates/Console/PredictProject.cs b/src/mlnet/Templates/Console/PredictProject.cs new file mode 100644 index 0000000000..6f0138a722 --- /dev/null +++ b/src/mlnet/Templates/Console/PredictProject.cs @@ -0,0 +1,324 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version: 15.0.0.0 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +namespace Microsoft.ML.CLI.Templates.Console +{ + using System.Linq; + using System.Text; + using System.Text.RegularExpressions; + using System.Collections.Generic; + using System; + + /// + /// Class to produce the template output + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public partial class PredictProject : PredictProjectBase + { + /// + /// Create the template output + /// + public virtual string TransformText() + { + this.Write("\r\n\r\n \r\n Exe\r\n netcoreapp2.1\r\n \r\n \r\n \r\n"); + if(IncludeLightGBMPackage){ + this.Write(" \r\n"); +} + if(IncludeHalLearnersPackage){ + this.Write(" \r\n"); +} + this.Write(" \r\n \r\n \r\n \r\n\r\n"); + return this.GenerationEnvironment.ToString(); + } + +public string Namespace {get;set;} +public bool IncludeLightGBMPackage {get;set;} +public bool IncludeHalLearnersPackage {get;set;} + + } + #region Base class + /// + /// Base class for this transformation + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public class PredictProjectBase + { + #region Fields + private global::System.Text.StringBuilder generationEnvironmentField; + private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; + private global::System.Collections.Generic.List indentLengthsField; + private string currentIndentField = ""; + private bool endsWithNewline; + private global::System.Collections.Generic.IDictionary sessionField; + #endregion + #region Properties + /// + /// The string builder that generation-time code is using to assemble generated output + /// + protected System.Text.StringBuilder GenerationEnvironment + { + get + { + if ((this.generationEnvironmentField == null)) + { + this.generationEnvironmentField = new global::System.Text.StringBuilder(); + } + return this.generationEnvironmentField; + } + set + { + this.generationEnvironmentField = value; + } + } + /// + /// The error collection for the generation process + /// + public System.CodeDom.Compiler.CompilerErrorCollection Errors + { + get + { + if ((this.errorsField == null)) + { + this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); + } + return this.errorsField; + } + } + /// + /// A list of the lengths of each indent that was added with PushIndent + /// + private System.Collections.Generic.List indentLengths + { + get + { + if ((this.indentLengthsField == null)) + { + this.indentLengthsField = new global::System.Collections.Generic.List(); + } + return this.indentLengthsField; + } + } + /// + /// Gets the current indent we use when adding lines to the output + /// + public string CurrentIndent + { + get + { + return this.currentIndentField; + } + } + /// + /// Current transformation session + /// + public virtual global::System.Collections.Generic.IDictionary Session + { + get + { + return this.sessionField; + } + set + { + this.sessionField = value; + } + } + #endregion + #region Transform-time helpers + /// + /// Write text directly into the generated output + /// + public void Write(string textToAppend) + { + if (string.IsNullOrEmpty(textToAppend)) + { + return; + } + // If we're starting off, or if the previous text ended with a newline, + // we have to append the current indent first. + if (((this.GenerationEnvironment.Length == 0) + || this.endsWithNewline)) + { + this.GenerationEnvironment.Append(this.currentIndentField); + this.endsWithNewline = false; + } + // Check if the current text ends with a newline + if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) + { + this.endsWithNewline = true; + } + // This is an optimization. If the current indent is "", then we don't have to do any + // of the more complex stuff further down. + if ((this.currentIndentField.Length == 0)) + { + this.GenerationEnvironment.Append(textToAppend); + return; + } + // Everywhere there is a newline in the text, add an indent after it + textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); + // If the text ends with a newline, then we should strip off the indent added at the very end + // because the appropriate indent will be added when the next time Write() is called + if (this.endsWithNewline) + { + this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); + } + else + { + this.GenerationEnvironment.Append(textToAppend); + } + } + /// + /// Write text directly into the generated output + /// + public void WriteLine(string textToAppend) + { + this.Write(textToAppend); + this.GenerationEnvironment.AppendLine(); + this.endsWithNewline = true; + } + /// + /// Write formatted text directly into the generated output + /// + public void Write(string format, params object[] args) + { + this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Write formatted text directly into the generated output + /// + public void WriteLine(string format, params object[] args) + { + this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Raise an error + /// + public void Error(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + this.Errors.Add(error); + } + /// + /// Raise a warning + /// + public void Warning(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + error.IsWarning = true; + this.Errors.Add(error); + } + /// + /// Increase the indent + /// + public void PushIndent(string indent) + { + if ((indent == null)) + { + throw new global::System.ArgumentNullException("indent"); + } + this.currentIndentField = (this.currentIndentField + indent); + this.indentLengths.Add(indent.Length); + } + /// + /// Remove the last indent that was added with PushIndent + /// + public string PopIndent() + { + string returnValue = ""; + if ((this.indentLengths.Count > 0)) + { + int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; + this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); + if ((indentLength > 0)) + { + returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); + this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); + } + } + return returnValue; + } + /// + /// Remove any indentation + /// + public void ClearIndent() + { + this.indentLengths.Clear(); + this.currentIndentField = ""; + } + #endregion + #region ToString Helpers + /// + /// Utility class to produce culture-oriented representation of an object as a string. + /// + public class ToStringInstanceHelper + { + private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; + /// + /// Gets or sets format provider to be used by ToStringWithCulture method. + /// + public System.IFormatProvider FormatProvider + { + get + { + return this.formatProviderField ; + } + set + { + if ((value != null)) + { + this.formatProviderField = value; + } + } + } + /// + /// This is called from the compile/run appdomain to convert objects within an expression block to a string + /// + public string ToStringWithCulture(object objectToConvert) + { + if ((objectToConvert == null)) + { + throw new global::System.ArgumentNullException("objectToConvert"); + } + System.Type t = objectToConvert.GetType(); + System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { + typeof(System.IFormatProvider)}); + if ((method == null)) + { + return objectToConvert.ToString(); + } + else + { + return ((string)(method.Invoke(objectToConvert, new object[] { + this.formatProviderField }))); + } + } + } + private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); + /// + /// Helper to produce culture-oriented representation of an object as a string + /// + public ToStringInstanceHelper ToStringHelper + { + get + { + return this.toStringHelperField; + } + } + #endregion + } + #endregion +} diff --git a/src/mlnet/Templates/Console/PredictProject.tt b/src/mlnet/Templates/Console/PredictProject.tt new file mode 100644 index 0000000000..58f790b05c --- /dev/null +++ b/src/mlnet/Templates/Console/PredictProject.tt @@ -0,0 +1,30 @@ +<#@ template language="C#" linePragmas="false" #> +<#@ assembly name="System.Core" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text" #> +<#@ import namespace="System.Text.RegularExpressions" #> +<#@ import namespace="System.Collections.Generic" #> + + + + Exe + netcoreapp2.1 + + + +<# if(IncludeLightGBMPackage){ #> + +<#}#> +<# if(IncludeHalLearnersPackage){ #> + +<#}#> + + + + + +<#+ +public string Namespace {get;set;} +public bool IncludeLightGBMPackage {get;set;} +public bool IncludeHalLearnersPackage {get;set;} +#> diff --git a/src/mlnet/Templates/Console/PredictionClass.cs b/src/mlnet/Templates/Console/PredictionClass.cs new file mode 100644 index 0000000000..2e3d6f23a0 --- /dev/null +++ b/src/mlnet/Templates/Console/PredictionClass.cs @@ -0,0 +1,387 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version: 15.0.0.0 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +namespace Microsoft.ML.CLI.Templates.Console +{ + using System.Linq; + using System.Text; + using System.Collections.Generic; + using System; + + /// + /// Class to produce the template output + /// + + #line 1 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public partial class PredictionClass : PredictionClassBase + { +#line hidden + /// + /// Create the template output + /// + public virtual string TransformText() + { + this.Write(@"//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using Microsoft.ML.Data; + +namespace "); + + #line 14 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); + + #line default + #line hidden + this.Write(".Model.DataModels\r\n{\r\n public class SamplePrediction\r\n {\r\n"); + + #line 18 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" +if("BinaryClassification".Equals(TaskType)){ + + #line default + #line hidden + this.Write(" // ColumnName attribute is used to change the column name from\r\n /" + + "/ its default value, which is the name of the field.\r\n [ColumnName(\"Predi" + + "ctedLabel\")]\r\n public bool Prediction { get; set; }\r\n\r\n"); + + #line 24 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + } if("MulticlassClassification".Equals(TaskType)){ + + #line default + #line hidden + this.Write(" // ColumnName attribute is used to change the column name from\r\n /" + + "/ its default value, which is the name of the field.\r\n [ColumnName(\"Predi" + + "ctedLabel\")]\r\n public "); + + #line 28 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(PredictionLabelType)); + + #line default + #line hidden + this.Write(" Prediction { get; set; }\r\n"); + + #line 29 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + } + + #line default + #line hidden + + #line 30 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" +if("MulticlassClassification".Equals(TaskType)){ + + #line default + #line hidden + this.Write(" public float[] Scores { get; set; }\r\n"); + + #line 32 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" +}else{ + + #line default + #line hidden + this.Write(" public float Score { get; set; }\r\n"); + + #line 34 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" +} + + #line default + #line hidden + this.Write(" }\r\n}\r\n"); + return this.GenerationEnvironment.ToString(); + } + + #line 37 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + +public string TaskType {get;set;} +public string PredictionLabelType {get;set;} +public string Namespace {get;set;} + + + #line default + #line hidden + } + + #line default + #line hidden + #region Base class + /// + /// Base class for this transformation + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public class PredictionClassBase + { + #region Fields + private global::System.Text.StringBuilder generationEnvironmentField; + private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; + private global::System.Collections.Generic.List indentLengthsField; + private string currentIndentField = ""; + private bool endsWithNewline; + private global::System.Collections.Generic.IDictionary sessionField; + #endregion + #region Properties + /// + /// The string builder that generation-time code is using to assemble generated output + /// + protected System.Text.StringBuilder GenerationEnvironment + { + get + { + if ((this.generationEnvironmentField == null)) + { + this.generationEnvironmentField = new global::System.Text.StringBuilder(); + } + return this.generationEnvironmentField; + } + set + { + this.generationEnvironmentField = value; + } + } + /// + /// The error collection for the generation process + /// + public System.CodeDom.Compiler.CompilerErrorCollection Errors + { + get + { + if ((this.errorsField == null)) + { + this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); + } + return this.errorsField; + } + } + /// + /// A list of the lengths of each indent that was added with PushIndent + /// + private System.Collections.Generic.List indentLengths + { + get + { + if ((this.indentLengthsField == null)) + { + this.indentLengthsField = new global::System.Collections.Generic.List(); + } + return this.indentLengthsField; + } + } + /// + /// Gets the current indent we use when adding lines to the output + /// + public string CurrentIndent + { + get + { + return this.currentIndentField; + } + } + /// + /// Current transformation session + /// + public virtual global::System.Collections.Generic.IDictionary Session + { + get + { + return this.sessionField; + } + set + { + this.sessionField = value; + } + } + #endregion + #region Transform-time helpers + /// + /// Write text directly into the generated output + /// + public void Write(string textToAppend) + { + if (string.IsNullOrEmpty(textToAppend)) + { + return; + } + // If we're starting off, or if the previous text ended with a newline, + // we have to append the current indent first. + if (((this.GenerationEnvironment.Length == 0) + || this.endsWithNewline)) + { + this.GenerationEnvironment.Append(this.currentIndentField); + this.endsWithNewline = false; + } + // Check if the current text ends with a newline + if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) + { + this.endsWithNewline = true; + } + // This is an optimization. If the current indent is "", then we don't have to do any + // of the more complex stuff further down. + if ((this.currentIndentField.Length == 0)) + { + this.GenerationEnvironment.Append(textToAppend); + return; + } + // Everywhere there is a newline in the text, add an indent after it + textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); + // If the text ends with a newline, then we should strip off the indent added at the very end + // because the appropriate indent will be added when the next time Write() is called + if (this.endsWithNewline) + { + this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); + } + else + { + this.GenerationEnvironment.Append(textToAppend); + } + } + /// + /// Write text directly into the generated output + /// + public void WriteLine(string textToAppend) + { + this.Write(textToAppend); + this.GenerationEnvironment.AppendLine(); + this.endsWithNewline = true; + } + /// + /// Write formatted text directly into the generated output + /// + public void Write(string format, params object[] args) + { + this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Write formatted text directly into the generated output + /// + public void WriteLine(string format, params object[] args) + { + this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Raise an error + /// + public void Error(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + this.Errors.Add(error); + } + /// + /// Raise a warning + /// + public void Warning(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + error.IsWarning = true; + this.Errors.Add(error); + } + /// + /// Increase the indent + /// + public void PushIndent(string indent) + { + if ((indent == null)) + { + throw new global::System.ArgumentNullException("indent"); + } + this.currentIndentField = (this.currentIndentField + indent); + this.indentLengths.Add(indent.Length); + } + /// + /// Remove the last indent that was added with PushIndent + /// + public string PopIndent() + { + string returnValue = ""; + if ((this.indentLengths.Count > 0)) + { + int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; + this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); + if ((indentLength > 0)) + { + returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); + this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); + } + } + return returnValue; + } + /// + /// Remove any indentation + /// + public void ClearIndent() + { + this.indentLengths.Clear(); + this.currentIndentField = ""; + } + #endregion + #region ToString Helpers + /// + /// Utility class to produce culture-oriented representation of an object as a string. + /// + public class ToStringInstanceHelper + { + private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; + /// + /// Gets or sets format provider to be used by ToStringWithCulture method. + /// + public System.IFormatProvider FormatProvider + { + get + { + return this.formatProviderField ; + } + set + { + if ((value != null)) + { + this.formatProviderField = value; + } + } + } + /// + /// This is called from the compile/run appdomain to convert objects within an expression block to a string + /// + public string ToStringWithCulture(object objectToConvert) + { + if ((objectToConvert == null)) + { + throw new global::System.ArgumentNullException("objectToConvert"); + } + System.Type t = objectToConvert.GetType(); + System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { + typeof(System.IFormatProvider)}); + if ((method == null)) + { + return objectToConvert.ToString(); + } + else + { + return ((string)(method.Invoke(objectToConvert, new object[] { + this.formatProviderField }))); + } + } + } + private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); + /// + /// Helper to produce culture-oriented representation of an object as a string + /// + public ToStringInstanceHelper ToStringHelper + { + get + { + return this.toStringHelperField; + } + } + #endregion + } + #endregion +} diff --git a/src/mlnet/Templates/Console/PredictionClass.tt b/src/mlnet/Templates/Console/PredictionClass.tt new file mode 100644 index 0000000000..940710f94c --- /dev/null +++ b/src/mlnet/Templates/Console/PredictionClass.tt @@ -0,0 +1,41 @@ +<#@ template language="C#" #> +<#@ assembly name="System.Core" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text" #> +<#@ import namespace="System.Collections.Generic" #> +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using Microsoft.ML.Data; + +namespace <#= Namespace #>.Model.DataModels +{ + public class SamplePrediction + { +<#if("BinaryClassification".Equals(TaskType)){ #> + // ColumnName attribute is used to change the column name from + // its default value, which is the name of the field. + [ColumnName("PredictedLabel")] + public bool Prediction { get; set; } + +<# } if("MulticlassClassification".Equals(TaskType)){ #> + // ColumnName attribute is used to change the column name from + // its default value, which is the name of the field. + [ColumnName("PredictedLabel")] + public <#= PredictionLabelType#> Prediction { get; set; } +<# }#> +<#if("MulticlassClassification".Equals(TaskType)){ #> + public float[] Scores { get; set; } +<#}else{ #> + public float Score { get; set; } +<#}#> + } +} +<#+ +public string TaskType {get;set;} +public string PredictionLabelType {get;set;} +public string Namespace {get;set;} +#> diff --git a/src/mlnet/Templates/Console/MLCodeGen.cs b/src/mlnet/Templates/Console/TrainProgram.cs similarity index 71% rename from src/mlnet/Templates/Console/MLCodeGen.cs rename to src/mlnet/Templates/Console/TrainProgram.cs index f436f722bf..c7dede1f69 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.cs +++ b/src/mlnet/Templates/Console/TrainProgram.cs @@ -20,7 +20,7 @@ namespace Microsoft.ML.CLI.Templates.Console /// Class to produce the template output /// [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public partial class MLCodeGen : MLCodeGenBase + public partial class TrainProgram : TrainProgramBase { /// /// Create the template output @@ -39,57 +39,34 @@ public virtual string TransformText() using Microsoft.ML; using Microsoft.ML.Data; using Microsoft.Data.DataView; -"); +using "); + this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); + this.Write(".Model.DataModels;\r\n"); this.Write(this.ToStringHelper.ToStringWithCulture(GeneratedUsings)); - this.Write("\r\n\r\nnamespace "); + this.Write("\r\nnamespace "); this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); - this.Write("\r\n{\r\n class Program\r\n {\r\n private static string TrainDataPath = @\""); + this.Write(".Train\r\n{\r\n class Program\r\n {\r\n private static string TRAIN_DATA_FIL" + + "EPATH = @\""); this.Write(this.ToStringHelper.ToStringWithCulture(Path)); this.Write("\";\r\n"); if(!string.IsNullOrEmpty(TestPath)){ - this.Write(" private static string TestDataPath = @\""); + this.Write(" private static string TEST_DATA_FILEPATH = @\""); this.Write(this.ToStringHelper.ToStringWithCulture(TestPath)); this.Write("\";\r\n"); } - this.Write(" private static string ModelPath = @\""); - this.Write(this.ToStringHelper.ToStringWithCulture(ModelPath)); - this.Write(@"""; + this.Write(" private static string MODEL_FILEPATH = @\"../../../../"); + this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); + this.Write(@".Model/MLModel.zip""; static void Main(string[] args) { // Create MLContext to be shared across the model creation workflow objects - var mlContext = new MLContext(); - - var command = Command.Predict; // Your desired action here - - if (command == Command.Predict) - { - Predict(mlContext); - ConsoleHelper.ConsoleWriteHeader(""=============== If you also want to train a model use Command.TrainAndPredict ===============""); - } - - if (command == Command.TrainAndPredict) - { - TrainEvaluateAndSaveModel(mlContext); - Predict(mlContext); - } - - Console.WriteLine(""=============== End of process, hit any key to finish ===============""); - Console.ReadKey(); - } + // Set a random seed for repeatable/deterministic results across multiple trainings. + MLContext mlContext = new MLContext(seed: 1); - private enum Command - { - Predict, - TrainAndPredict - } - - private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) - { - // Load data - Console.WriteLine(""=============== Loading data ===============""); + // Load Data IDataView trainingDataView = mlContext.Data.LoadFromTextFile( - path: TrainDataPath, + path: TRAIN_DATA_FILEPATH, hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); this.Write(",\r\n separatorChar : \'"); @@ -98,11 +75,11 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); this.Write(",\r\n allowSparse: "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); - this.Write(");\r\n"); + this.Write(");\r\n\r\n"); if(!string.IsNullOrEmpty(TestPath)){ this.Write(" IDataView testDataView = mlContext.Data.LoadFromTextFile(\r\n path: TestDataPath,\r\n " + - " hasHeader : "); + "ation>(\r\n path: TEST_DATA_FILEPATH,\r\n" + + " hasHeader : "); this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); this.Write(",\r\n separatorChar : \'"); this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); @@ -111,11 +88,33 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) this.Write(",\r\n allowSparse: "); this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); this.Write(");\r\n"); - } - this.Write("\r\n"); +} + this.Write(" // Build training pipeline\r\n IEstimator trai" + + "ningPipeline = BuildTrainingPipeline(mlContext);\r\n\r\n"); + if(string.IsNullOrEmpty(TestPath)){ + this.Write(" // Evaluate quality of Model\r\n EvaluateModel(mlContext, tr" + + "ainingDataView, trainingPipeline);\r\n\r\n"); +} + this.Write(" // Train Model\r\n ITransformer mlModel = TrainModel(mlConte" + + "xt, trainingDataView, trainingPipeline);\r\n"); + if(!string.IsNullOrEmpty(TestPath)){ + this.Write("\r\n // Evaluate quality of Model\r\n EvaluateModel(mlContext, " + + "mlModel, testDataView);\r\n"); +} + this.Write(@" + // Save model + SaveModel(mlContext, mlModel, MODEL_FILEPATH); + + Console.WriteLine(""=============== End of process, hit any key to finish ===============""); + Console.ReadKey(); + } + + public static IEstimator BuildTrainingPipeline(MLContext mlContext) + { +"); if(PreTrainerTransforms.Count >0 ) { - this.Write(" // Common data process configuration with pipeline data transformatio" + - "ns\r\n var dataProcessPipeline = "); + this.Write(" // Data process configuration with pipeline data transformations \r\n " + + " var dataProcessPipeline = "); for(int i=0;i0) @@ -126,11 +125,13 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) { Write(")"); } } -if(CacheBeforeTrainer){ Write("\r\n .AppendCacheCheckpoint(mlContext)");} + if(CacheBeforeTrainer){ + Write("\r\n .AppendCacheCheckpoint(mlContext)"); + } this.Write(";\r\n"); } - this.Write("\r\n // Set the training algorithm, then create and config the modelBuil" + - "der \r\n var trainer = mlContext."); + this.Write("\r\n // Set the training algorithm \r\n var trainer = mlContext" + + "."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".Trainers."); this.Write(this.ToStringHelper.ToStringWithCulture(Trainer)); @@ -147,8 +148,55 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) else{ this.Write(" var trainingPipeline = trainer;\r\n"); } -if(string.IsNullOrEmpty(TestPath)){ this.Write(@" + return trainingPipeline; + } + + public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) + { + Console.WriteLine(""=============== Training model ===============""); + + ITransformer model = trainingPipeline.Fit(trainingDataView); + + Console.WriteLine(""=============== End of training process ===============""); + return model; + } + +"); + if(!string.IsNullOrEmpty(TestPath)){ + this.Write(@" private static void EvaluateModel(MLContext mlContext, ITransformer mlModel, IDataView testDataView) + { + // Evaluate the model and show accuracy stats + Console.WriteLine(""===== Evaluating Model's accuracy with Test data =====""); + IDataView predictions = mlModel.Transform(testDataView); +"); +if("BinaryClassification".Equals(TaskType)){ + this.Write(" var metrics = mlContext."); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(".EvaluateNonCalibrated(predictions, \""); + this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); + this.Write("\", \"Score\");\r\n ConsoleHelper.PrintBinaryClassificationMetrics(metrics)" + + ";\r\n"); +} if("MulticlassClassification".Equals(TaskType)){ + this.Write(" var metrics = mlContext."); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(".Evaluate(predictions, \""); + this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); + this.Write("\", \"Score\");\r\n ConsoleHelper.PrintBinaryClassificationMetrics(metrics)" + + ";\r\n"); +}if("Regression".Equals(TaskType)){ + this.Write(" var metrics = mlContext."); + this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); + this.Write(".Evaluate(predictions, \""); + this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); + this.Write("\", \"Score\");\r\n ConsoleHelper.PrintRegressionMetrics(metrics);\r\n"); +} + this.Write(" RegressionMetrics metrics = mlContext.Regression.Evaluate(predictions" + + ", \"fare_amount\", \"Score\");\r\n ConsoleHelper.PrintRegressionMetrics(met" + + "rics);\r\n }\r\n"); +}else{ + this.Write(@" private static void EvaluateModel(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) + { // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) // in order to evaluate and get the model's accuracy metrics Console.WriteLine(""=============== Cross-validating to get model's accuracy metrics ===============""); @@ -160,148 +208,70 @@ private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); this.Write(", labelColumn:\""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\");\r\n ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(train" + - "er.ToString(), crossValidationResults);\r\n"); + this.Write("\");\r\n ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(cross" + + "ValidationResults);\r\n"); } -if("Regression".Equals(TaskType)){ +if("MulticlassClassification".Equals(TaskType)){ this.Write(" var crossValidationResults = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".CrossValidate(trainingDataView, trainingPipeline, numFolds: "); this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); this.Write(", labelColumn:\""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\");\r\n ConsoleHelper.PrintRegressionFoldsAverageMetrics(trainer.ToStrin" + - "g(), crossValidationResults);\r\n"); + this.Write("\");\r\n ConsoleHelper.PrintMulticlassClassificationFoldsAverageMetrics(c" + + "rossValidationResults);\r\n"); } -} - this.Write("\r\n // Train the model fitting to the DataSet\r\n Console.Writ" + - "eLine(\"=============== Training the model ===============\");\r\n var tr" + - "ainedModel = trainingPipeline.Fit(trainingDataView);\r\n"); - if(!string.IsNullOrEmpty(TestPath)){ - this.Write("\r\n // Evaluate the model and show accuracy stats\r\n Console." + - "WriteLine(\"===== Evaluating Model\'s accuracy with Test data =====\");\r\n " + - " var predictions = trainedModel.Transform(testDataView);\r\n"); -if("BinaryClassification".Equals(TaskType)){ - this.Write(" var metrics = mlContext."); - this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); - this.Write(".EvaluateNonCalibrated(predictions, \""); - this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\", \"Score\");\r\n ConsoleHelper.PrintBinaryClassificationMetrics(trainer." + - "ToString(), metrics);\r\n"); -} if("Regression".Equals(TaskType)){ - this.Write(" var metrics = mlContext."); +if("Regression".Equals(TaskType)){ + this.Write(" var crossValidationResults = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); - this.Write(".Evaluate(predictions, \""); + this.Write(".CrossValidate(trainingDataView, trainingPipeline, numFolds: "); + this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); + this.Write(", labelColumn:\""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\", \"Score\");\r\n ConsoleHelper.PrintRegressionMetrics(trainer.ToString()" + - ", metrics);\r\n"); -} -} - this.Write(@" + this.Write("\");\r\n ConsoleHelper.PrintRegressionFoldsAverageMetrics(crossValidation" + + "Results);\r\n"); +} + this.Write(" }\r\n"); +} + this.Write(@" private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath) + { // Save/persist the trained model to a .ZIP file Console.WriteLine($""=============== Saving the model ===============""); - using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) - mlContext.Model.Save(trainedModel, fs); - - Console.WriteLine(""The model is saved to {0}"", ModelPath); - Console.WriteLine(""=============== End of training process ===============""); + using (var fs = new FileStream(GetAbsolutePath(modelRelativePath), FileMode.Create, FileAccess.Write, FileShare.Write)) + mlContext.Model.Save(mlModel, fs); - return trainedModel; + Console.WriteLine(""The model is saved to {0}"", GetAbsolutePath(modelRelativePath)); } - // Try/test a single prediction by loading the model from the file, first. - private static void Predict(MLContext mlContext) + public static string GetAbsolutePath(string relativePath) { - //Load data to test. Could be any test data. For demonstration purpose train data is used here. - IDataView trainingDataView = mlContext.Data.LoadFromTextFile( - path: "); -if(!string.IsNullOrEmpty(TestPath)){ - this.Write("TestDataPath"); -}else{ - this.Write("TrainDataPath"); -} - this.Write(",\r\n hasHeader : "); - this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); - this.Write(",\r\n separatorChar : \'"); - this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); - this.Write("\',\r\n allowQuoting : "); - this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); - this.Write(",\r\n allowSparse: "); - this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); - this.Write(@"); + FileInfo _dataRoot = new FileInfo(typeof(Program).Assembly.Location); + string assemblyFolderPath = _dataRoot.Directory.FullName; - var sample = mlContext.Data.CreateEnumerable(trainingDataView, false).First(); - - ITransformer trainedModel; - using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) - { - trainedModel = mlContext.Model.Load(stream); - } + string fullPath = Path.Combine(assemblyFolderPath, relativePath); - // Create prediction engine related to the loaded trained model - var predEngine= trainedModel.CreatePredictionEngine(mlContext); - - //Score - var resultprediction = predEngine.Predict(sample); - - Console.WriteLine($""=============== Single Prediction ===============""); - Console.WriteLine($""Actual value: {sample."); - this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); - this.Write("} | Predicted value: {resultprediction."); -if("BinaryClassification".Equals(TaskType)||"MulticlassClassification".Equals(TaskType)){ Write("Prediction");}else if("Regression".Equals(TaskType)){Write("Score");} - this.Write("} "); -if("MulticlassClassification".Equals(TaskType)){ Write("| Predicted scores: [{String.Join(\", \", resultprediction.Score)}]");} - this.Write("\");\r\n Console.WriteLine($\"============================================" + - "======\");\r\n }\r\n\r\n }\r\n\r\n public class SampleObservation\r\n {\r\n"); - -foreach(var label in ClassLabels) -{ - this.Write(" "); - this.Write(this.ToStringHelper.ToStringWithCulture(label)); - this.Write("\r\n"); - -} - - this.Write(" }\r\n\r\n public class SamplePrediction\r\n {\r\n"); -if("BinaryClassification".Equals(TaskType)){ - this.Write(" // ColumnName attribute is used to change the column name from\r\n /" + - "/ its default value, which is the name of the field.\r\n [ColumnName(\"Predi" + - "ctedLabel\")]\r\n public bool Prediction { get; set; }\r\n\r\n"); - } if("MulticlassClassification".Equals(TaskType)){ - this.Write(" // ColumnName attribute is used to change the column name from\r\n /" + - "/ its default value, which is the name of the field.\r\n [ColumnName(\"Predi" + - "ctedLabel\")]\r\n public "); - this.Write(this.ToStringHelper.ToStringWithCulture(PredictionLabelType)); - this.Write(" Prediction { get; set; }\r\n"); - } -if("MulticlassClassification".Equals(TaskType)){ - this.Write(" public float[] Score { get; set; }\r\n"); -}else{ - this.Write(" public float Score { get; set; }\r\n"); + return fullPath; + } + } } - this.Write(" }\r\n\r\n}\r\n"); +"); return this.GenerationEnvironment.ToString(); } public string Path {get;set;} public string TestPath {get;set;} -public IList Columns {get;set;} public bool HasHeader {get;set;} public char Separator {get;set;} public IList PreTrainerTransforms {get;set;} public string Trainer {get;set;} public string TaskType {get;set;} -public IList ClassLabels {get;set;} public string GeneratedUsings {get;set;} public bool AllowQuoting {get;set;} public bool AllowSparse {get;set;} -public bool TrimWhiteSpace {get;set;} public int Kfolds {get;set;} = 5; public string Namespace {get;set;} public string LabelName {get;set;} -public string ModelPath {get;set;} public bool CacheBeforeTrainer {get;set;} -public string PredictionLabelType {get;set;} public IList PostTrainerTransforms {get;set;} } @@ -310,7 +280,7 @@ private static void Predict(MLContext mlContext) /// Base class for this transformation /// [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public class MLCodeGenBase + public class TrainProgramBase { #region Fields private global::System.Text.StringBuilder generationEnvironmentField; diff --git a/src/mlnet/Templates/Console/MLCodeGen.tt b/src/mlnet/Templates/Console/TrainProgram.tt similarity index 50% rename from src/mlnet/Templates/Console/MLCodeGen.tt rename to src/mlnet/Templates/Console/TrainProgram.tt index 5bfe39a2da..279332904c 100644 --- a/src/mlnet/Templates/Console/MLCodeGen.tt +++ b/src/mlnet/Templates/Console/TrainProgram.tt @@ -17,68 +17,67 @@ using System.Linq; using Microsoft.ML; using Microsoft.ML.Data; using Microsoft.Data.DataView; +using <#= Namespace #>.Model.DataModels; <#= GeneratedUsings #> - -namespace <#= Namespace #> +namespace <#= Namespace #>.Train { class Program { - private static string TrainDataPath = @"<#= Path #>"; + private static string TRAIN_DATA_FILEPATH = @"<#= Path #>"; <#if(!string.IsNullOrEmpty(TestPath)){ #> - private static string TestDataPath = @"<#= TestPath #>"; + private static string TEST_DATA_FILEPATH = @"<#= TestPath #>"; <# } #> - private static string ModelPath = @"<#= ModelPath #>"; + private static string MODEL_FILEPATH = @"../../../../<#= Namespace #>.Model/MLModel.zip"; static void Main(string[] args) { // Create MLContext to be shared across the model creation workflow objects - var mlContext = new MLContext(); - - var command = Command.Predict; // Your desired action here - - if (command == Command.Predict) - { - Predict(mlContext); - ConsoleHelper.ConsoleWriteHeader("=============== If you also want to train a model use Command.TrainAndPredict ==============="); - } - - if (command == Command.TrainAndPredict) - { - TrainEvaluateAndSaveModel(mlContext); - Predict(mlContext); - } - - Console.WriteLine("=============== End of process, hit any key to finish ==============="); - Console.ReadKey(); - } - - private enum Command - { - Predict, - TrainAndPredict - } + // Set a random seed for repeatable/deterministic results across multiple trainings. + MLContext mlContext = new MLContext(seed: 1); - private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) - { - // Load data - Console.WriteLine("=============== Loading data ==============="); + // Load Data IDataView trainingDataView = mlContext.Data.LoadFromTextFile( - path: TrainDataPath, + path: TRAIN_DATA_FILEPATH, hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', allowQuoting : <#= AllowQuoting.ToString().ToLowerInvariant() #>, allowSparse: <#= AllowSparse.ToString().ToLowerInvariant() #>); + <# if(!string.IsNullOrEmpty(TestPath)){ #> IDataView testDataView = mlContext.Data.LoadFromTextFile( - path: TestDataPath, + path: TEST_DATA_FILEPATH, hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', allowQuoting : <#= AllowQuoting.ToString().ToLowerInvariant() #>, allowSparse: <#= AllowSparse.ToString().ToLowerInvariant() #>); -<# } #> +<#}#> + // Build training pipeline + IEstimator trainingPipeline = BuildTrainingPipeline(mlContext); + +<# if(string.IsNullOrEmpty(TestPath)){ #> + // Evaluate quality of Model + EvaluateModel(mlContext, trainingDataView, trainingPipeline); + +<#}#> + // Train Model + ITransformer mlModel = TrainModel(mlContext, trainingDataView, trainingPipeline); +<# if(!string.IsNullOrEmpty(TestPath)){ #> + + // Evaluate quality of Model + EvaluateModel(mlContext, mlModel, testDataView); +<#}#> + // Save model + SaveModel(mlContext, mlModel, MODEL_FILEPATH); + + Console.WriteLine("=============== End of process, hit any key to finish ==============="); + Console.ReadKey(); + } + + public static IEstimator BuildTrainingPipeline(MLContext mlContext) + { <# if(PreTrainerTransforms.Count >0 ) {#> - // Common data process configuration with pipeline data transformations + // Data process configuration with pipeline data transformations var dataProcessPipeline = <# for(int i=0;i0) @@ -88,10 +87,13 @@ namespace <#= Namespace #> if(i>0) { Write(")"); } - }#><#if(CacheBeforeTrainer){ Write("\r\n .AppendCacheCheckpoint(mlContext)");} #>; + } + if(CacheBeforeTrainer){ + Write("\r\n .AppendCacheCheckpoint(mlContext)"); + } #>; <#}#> - // Set the training algorithm, then create and config the modelBuilder + // Set the training algorithm var trainer = mlContext.<#= TaskType #>.Trainers.<#= Trainer #><# for(int i=0;i <# } else{#> var trainingPipeline = trainer; -<#} -if(string.IsNullOrEmpty(TestPath)){ #> +<#}#> - // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) - // in order to evaluate and get the model's accuracy metrics - Console.WriteLine("=============== Cross-validating to get model's accuracy metrics ==============="); -<#if("BinaryClassification".Equals(TaskType)){ #> - var crossValidationResults = mlContext.<#= TaskType #>.CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"<#= LabelName #>"); - ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(trainer.ToString(), crossValidationResults); -<#}#><#if("Regression".Equals(TaskType)){ #> - var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"<#= LabelName #>"); - ConsoleHelper.PrintRegressionFoldsAverageMetrics(trainer.ToString(), crossValidationResults); -<#} -} #> + return trainingPipeline; + } - // Train the model fitting to the DataSet - Console.WriteLine("=============== Training the model ==============="); - var trainedModel = trainingPipeline.Fit(trainingDataView); -<# if(!string.IsNullOrEmpty(TestPath)){ #> + public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) + { + Console.WriteLine("=============== Training model ==============="); + + ITransformer model = trainingPipeline.Fit(trainingDataView); + + Console.WriteLine("=============== End of training process ==============="); + return model; + } +<# if(!string.IsNullOrEmpty(TestPath)){ #> + private static void EvaluateModel(MLContext mlContext, ITransformer mlModel, IDataView testDataView) + { // Evaluate the model and show accuracy stats Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); - var predictions = trainedModel.Transform(testDataView); + IDataView predictions = mlModel.Transform(testDataView); <#if("BinaryClassification".Equals(TaskType)){ #> var metrics = mlContext.<#= TaskType #>.EvaluateNonCalibrated(predictions, "<#= LabelName #>", "Score"); - ConsoleHelper.PrintBinaryClassificationMetrics(trainer.ToString(), metrics); -<#} if("Regression".Equals(TaskType)){ #> + ConsoleHelper.PrintBinaryClassificationMetrics(metrics); +<#} if("MulticlassClassification".Equals(TaskType)){ #> var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "<#= LabelName #>", "Score"); - ConsoleHelper.PrintRegressionMetrics(trainer.ToString(), metrics); -<#} -} #> - + ConsoleHelper.PrintBinaryClassificationMetrics(metrics); +<#}if("Regression".Equals(TaskType)){ #> + var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "<#= LabelName #>", "Score"); + ConsoleHelper.PrintRegressionMetrics(metrics); +<#} #> + RegressionMetrics metrics = mlContext.Regression.Evaluate(predictions, "fare_amount", "Score"); + ConsoleHelper.PrintRegressionMetrics(metrics); + } +<#}else{#> + private static void EvaluateModel(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) + { + // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) + // in order to evaluate and get the model's accuracy metrics + Console.WriteLine("=============== Cross-validating to get model's accuracy metrics ==============="); +<#if("BinaryClassification".Equals(TaskType)){ #> + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"<#= LabelName #>"); + ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(crossValidationResults); +<#}#><#if("MulticlassClassification".Equals(TaskType)){ #> + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"<#= LabelName #>"); + ConsoleHelper.PrintMulticlassClassificationFoldsAverageMetrics(crossValidationResults); +<#}#><#if("Regression".Equals(TaskType)){ #> + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"<#= LabelName #>"); + ConsoleHelper.PrintRegressionFoldsAverageMetrics(crossValidationResults); +<#}#> + } +<#}#> + private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath) + { // Save/persist the trained model to a .ZIP file Console.WriteLine($"=============== Saving the model ==============="); - using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) - mlContext.Model.Save(trainedModel, fs); - - Console.WriteLine("The model is saved to {0}", ModelPath); - Console.WriteLine("=============== End of training process ==============="); + using (var fs = new FileStream(GetAbsolutePath(modelRelativePath), FileMode.Create, FileAccess.Write, FileShare.Write)) + mlContext.Model.Save(mlModel, fs); - return trainedModel; + Console.WriteLine("The model is saved to {0}", GetAbsolutePath(modelRelativePath)); } - // Try/test a single prediction by loading the model from the file, first. - private static void Predict(MLContext mlContext) + public static string GetAbsolutePath(string relativePath) { - //Load data to test. Could be any test data. For demonstration purpose train data is used here. - IDataView trainingDataView = mlContext.Data.LoadFromTextFile( - path: <#if(!string.IsNullOrEmpty(TestPath)){ #>TestDataPath<#}else{#>TrainDataPath<#}#>, - hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, - separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', - allowQuoting : <#= AllowQuoting.ToString().ToLowerInvariant() #>, - allowSparse: <#= AllowSparse.ToString().ToLowerInvariant() #>); + FileInfo _dataRoot = new FileInfo(typeof(Program).Assembly.Location); + string assemblyFolderPath = _dataRoot.Directory.FullName; - var sample = mlContext.Data.CreateEnumerable(trainingDataView, false).First(); + string fullPath = Path.Combine(assemblyFolderPath, relativePath); - ITransformer trainedModel; - using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) - { - trainedModel = mlContext.Model.Load(stream); - } - - // Create prediction engine related to the loaded trained model - var predEngine= trainedModel.CreatePredictionEngine(mlContext); - - //Score - var resultprediction = predEngine.Predict(sample); - - Console.WriteLine($"=============== Single Prediction ==============="); - Console.WriteLine($"Actual value: {sample.<#= Utils.Normalize(LabelName) #>} | Predicted value: {resultprediction.<#if("BinaryClassification".Equals(TaskType)||"MulticlassClassification".Equals(TaskType)){ Write("Prediction");}else if("Regression".Equals(TaskType)){Write("Score");}#>} <#if("MulticlassClassification".Equals(TaskType)){ Write("| Predicted scores: [{String.Join(\", \", resultprediction.Score)}]");}#>"); - Console.WriteLine($"=================================================="); + return fullPath; } - - } - - public class SampleObservation - { -<# -foreach(var label in ClassLabels) -{#> - <#=label#> -<# -} -#> - } - - public class SamplePrediction - { -<#if("BinaryClassification".Equals(TaskType)){ #> - // ColumnName attribute is used to change the column name from - // its default value, which is the name of the field. - [ColumnName("PredictedLabel")] - public bool Prediction { get; set; } - -<# } if("MulticlassClassification".Equals(TaskType)){ #> - // ColumnName attribute is used to change the column name from - // its default value, which is the name of the field. - [ColumnName("PredictedLabel")] - public <#= PredictionLabelType#> Prediction { get; set; } -<# }#> -<#if("MulticlassClassification".Equals(TaskType)){ #> - public float[] Score { get; set; } -<#}else{ #> - public float Score { get; set; } -<#}#> } - } <#+ public string Path {get;set;} public string TestPath {get;set;} -public IList Columns {get;set;} public bool HasHeader {get;set;} public char Separator {get;set;} public IList PreTrainerTransforms {get;set;} public string Trainer {get;set;} public string TaskType {get;set;} -public IList ClassLabels {get;set;} public string GeneratedUsings {get;set;} public bool AllowQuoting {get;set;} public bool AllowSparse {get;set;} -public bool TrimWhiteSpace {get;set;} public int Kfolds {get;set;} = 5; public string Namespace {get;set;} public string LabelName {get;set;} -public string ModelPath {get;set;} public bool CacheBeforeTrainer {get;set;} -public string PredictionLabelType {get;set;} public IList PostTrainerTransforms {get;set;} #> diff --git a/src/mlnet/Templates/Console/TrainProject.cs b/src/mlnet/Templates/Console/TrainProject.cs new file mode 100644 index 0000000000..ee33bd0596 --- /dev/null +++ b/src/mlnet/Templates/Console/TrainProject.cs @@ -0,0 +1,324 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version: 15.0.0.0 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +namespace Microsoft.ML.CLI.Templates.Console +{ + using System.Linq; + using System.Text; + using System.Text.RegularExpressions; + using System.Collections.Generic; + using System; + + /// + /// Class to produce the template output + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public partial class TrainProject : TrainProjectBase + { + /// + /// Create the template output + /// + public virtual string TransformText() + { + this.Write("\r\n\r\n \r\n Exe\r\n netcoreapp2.1\r\n \r\n \r\n \r\n"); + if(IncludeLightGBMPackage){ + this.Write(" \r\n"); +} + if(IncludeHalLearnersPackage){ + this.Write(" \r\n"); +} + this.Write(" \r\n \r\n \r\n \r\n\r\n"); + return this.GenerationEnvironment.ToString(); + } + +public string Namespace {get;set;} +public bool IncludeLightGBMPackage {get;set;} +public bool IncludeHalLearnersPackage {get;set;} + + } + #region Base class + /// + /// Base class for this transformation + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] + public class TrainProjectBase + { + #region Fields + private global::System.Text.StringBuilder generationEnvironmentField; + private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; + private global::System.Collections.Generic.List indentLengthsField; + private string currentIndentField = ""; + private bool endsWithNewline; + private global::System.Collections.Generic.IDictionary sessionField; + #endregion + #region Properties + /// + /// The string builder that generation-time code is using to assemble generated output + /// + protected System.Text.StringBuilder GenerationEnvironment + { + get + { + if ((this.generationEnvironmentField == null)) + { + this.generationEnvironmentField = new global::System.Text.StringBuilder(); + } + return this.generationEnvironmentField; + } + set + { + this.generationEnvironmentField = value; + } + } + /// + /// The error collection for the generation process + /// + public System.CodeDom.Compiler.CompilerErrorCollection Errors + { + get + { + if ((this.errorsField == null)) + { + this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); + } + return this.errorsField; + } + } + /// + /// A list of the lengths of each indent that was added with PushIndent + /// + private System.Collections.Generic.List indentLengths + { + get + { + if ((this.indentLengthsField == null)) + { + this.indentLengthsField = new global::System.Collections.Generic.List(); + } + return this.indentLengthsField; + } + } + /// + /// Gets the current indent we use when adding lines to the output + /// + public string CurrentIndent + { + get + { + return this.currentIndentField; + } + } + /// + /// Current transformation session + /// + public virtual global::System.Collections.Generic.IDictionary Session + { + get + { + return this.sessionField; + } + set + { + this.sessionField = value; + } + } + #endregion + #region Transform-time helpers + /// + /// Write text directly into the generated output + /// + public void Write(string textToAppend) + { + if (string.IsNullOrEmpty(textToAppend)) + { + return; + } + // If we're starting off, or if the previous text ended with a newline, + // we have to append the current indent first. + if (((this.GenerationEnvironment.Length == 0) + || this.endsWithNewline)) + { + this.GenerationEnvironment.Append(this.currentIndentField); + this.endsWithNewline = false; + } + // Check if the current text ends with a newline + if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) + { + this.endsWithNewline = true; + } + // This is an optimization. If the current indent is "", then we don't have to do any + // of the more complex stuff further down. + if ((this.currentIndentField.Length == 0)) + { + this.GenerationEnvironment.Append(textToAppend); + return; + } + // Everywhere there is a newline in the text, add an indent after it + textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); + // If the text ends with a newline, then we should strip off the indent added at the very end + // because the appropriate indent will be added when the next time Write() is called + if (this.endsWithNewline) + { + this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); + } + else + { + this.GenerationEnvironment.Append(textToAppend); + } + } + /// + /// Write text directly into the generated output + /// + public void WriteLine(string textToAppend) + { + this.Write(textToAppend); + this.GenerationEnvironment.AppendLine(); + this.endsWithNewline = true; + } + /// + /// Write formatted text directly into the generated output + /// + public void Write(string format, params object[] args) + { + this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Write formatted text directly into the generated output + /// + public void WriteLine(string format, params object[] args) + { + this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); + } + /// + /// Raise an error + /// + public void Error(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + this.Errors.Add(error); + } + /// + /// Raise a warning + /// + public void Warning(string message) + { + System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); + error.ErrorText = message; + error.IsWarning = true; + this.Errors.Add(error); + } + /// + /// Increase the indent + /// + public void PushIndent(string indent) + { + if ((indent == null)) + { + throw new global::System.ArgumentNullException("indent"); + } + this.currentIndentField = (this.currentIndentField + indent); + this.indentLengths.Add(indent.Length); + } + /// + /// Remove the last indent that was added with PushIndent + /// + public string PopIndent() + { + string returnValue = ""; + if ((this.indentLengths.Count > 0)) + { + int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; + this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); + if ((indentLength > 0)) + { + returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); + this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); + } + } + return returnValue; + } + /// + /// Remove any indentation + /// + public void ClearIndent() + { + this.indentLengths.Clear(); + this.currentIndentField = ""; + } + #endregion + #region ToString Helpers + /// + /// Utility class to produce culture-oriented representation of an object as a string. + /// + public class ToStringInstanceHelper + { + private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; + /// + /// Gets or sets format provider to be used by ToStringWithCulture method. + /// + public System.IFormatProvider FormatProvider + { + get + { + return this.formatProviderField ; + } + set + { + if ((value != null)) + { + this.formatProviderField = value; + } + } + } + /// + /// This is called from the compile/run appdomain to convert objects within an expression block to a string + /// + public string ToStringWithCulture(object objectToConvert) + { + if ((objectToConvert == null)) + { + throw new global::System.ArgumentNullException("objectToConvert"); + } + System.Type t = objectToConvert.GetType(); + System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { + typeof(System.IFormatProvider)}); + if ((method == null)) + { + return objectToConvert.ToString(); + } + else + { + return ((string)(method.Invoke(objectToConvert, new object[] { + this.formatProviderField }))); + } + } + } + private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); + /// + /// Helper to produce culture-oriented representation of an object as a string + /// + public ToStringInstanceHelper ToStringHelper + { + get + { + return this.toStringHelperField; + } + } + #endregion + } + #endregion +} diff --git a/src/mlnet/Templates/Console/MLProjectGen.tt b/src/mlnet/Templates/Console/TrainProject.tt similarity index 63% rename from src/mlnet/Templates/Console/MLProjectGen.tt rename to src/mlnet/Templates/Console/TrainProject.tt index 6fa441f800..f74a320fde 100644 --- a/src/mlnet/Templates/Console/MLProjectGen.tt +++ b/src/mlnet/Templates/Console/TrainProject.tt @@ -2,26 +2,29 @@ <#@ assembly name="System.Core" #> <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> +<#@ import namespace="System.Text.RegularExpressions" #> <#@ import namespace="System.Collections.Generic" #> Exe netcoreapp2.1 - False - - - https://api.nuget.org/v3/index.json; - - - - - - +<# if(IncludeLightGBMPackage){ #> + +<#}#> +<# if(IncludeHalLearnersPackage){ #> - +<#}#> + + + +<#+ +public string Namespace {get;set;} +public bool IncludeLightGBMPackage {get;set;} +public bool IncludeHalLearnersPackage {get;set;} +#> \ No newline at end of file diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index a70da17569..08bae8476b 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -5,6 +5,9 @@ using System; using System.IO; using System.Linq; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.Formatting; using Microsoft.ML.Auto; using Microsoft.ML.Data; using NLog; @@ -28,7 +31,6 @@ internal static LogLevel GetVerbosity(string verbosity) } } - internal static void SaveModel(ITransformer model, FileInfo modelPath, MLContext mlContext) { @@ -152,5 +154,61 @@ internal static ColumnInformation GetSanitizedColumnInformation(ColumnInformatio return result; } + internal static void WriteOutputToFiles(string fileContent, string fileName, string outPutBaseDir) + { + if (!Directory.Exists(outPutBaseDir)) + { + Directory.CreateDirectory(outPutBaseDir); + } + File.WriteAllText($"{outPutBaseDir}/{fileName}", fileContent); + } + + internal static string FormatCode(string trainProgramCSFileContent) + { + //Format + var tree = CSharpSyntaxTree.ParseText(trainProgramCSFileContent); + var syntaxNode = tree.GetRoot(); + trainProgramCSFileContent = Formatter.Format(syntaxNode, new AdhocWorkspace()).ToFullString(); + return trainProgramCSFileContent; + } + + + internal static void AddProjectsToSolution(string modelprojectDir, + string modelProjectName, + string predictProjectDir, + string predictProjectName, + string trainProjectDir, + string trainProjectName, + string solutionName) + { + var proc2 = new System.Diagnostics.Process(); + proc2.StartInfo.FileName = @"dotnet"; + + proc2.StartInfo.Arguments = $"sln {solutionName} add {Path.Combine(trainProjectDir, trainProjectName)} {Path.Combine(predictProjectDir, predictProjectName)} {Path.Combine(modelprojectDir, modelProjectName)}"; + proc2.StartInfo.UseShellExecute = false; + proc2.StartInfo.RedirectStandardOutput = true; + proc2.Start(); + string outPut2 = proc2.StandardOutput.ReadToEnd(); + + proc2.WaitForExit(); + var exitCode2 = proc2.ExitCode; + proc2.Close(); + } + + internal static void CreateSolutionFile(string solutionFile, string outputPath) + { + var proc = new System.Diagnostics.Process(); + proc.StartInfo.FileName = @"dotnet"; + + proc.StartInfo.Arguments = $"new sln --name {solutionFile} --output {outputPath}"; + proc.StartInfo.UseShellExecute = false; + proc.StartInfo.RedirectStandardOutput = true; + proc.Start(); + string outPut = proc.StandardOutput.ReadToEnd(); + + proc.WaitForExit(); + var exitCode = proc.ExitCode; + proc.Close(); + } } } diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index 3a9fec44b4..52ba39d281 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -47,15 +47,40 @@ True ConsoleHelper.tt - + True True - MLCodeGen.tt + ModelProject.tt - + True True - MLProjectGen.tt + ObservationClass.tt + + + True + True + PredictionClass.tt + + + True + True + PredictProgram.tt + + + True + True + PredictProject.tt + + + True + True + TrainProgram.tt + + + True + True + TrainProject.tt @@ -74,13 +99,33 @@ TextTemplatingFilePreprocessor ConsoleHelper.cs - + + TextTemplatingFilePreprocessor + ModelProject.cs + + + TextTemplatingFilePreprocessor + ObservationClass.cs + + + TextTemplatingFilePreprocessor + PredictionClass.cs + + + TextTemplatingFilePreprocessor + PredictProgram.cs + + + TextTemplatingFilePreprocessor + PredictProject.cs + + TextTemplatingFilePreprocessor - MLCodeGen.cs + TrainProgram.cs - + TextTemplatingFilePreprocessor - MLProjectGen.cs + TrainProject.cs From 35e5bbc85ad8855ac847b6ea1b0494c6c8e58b6e Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 25 Mar 2019 16:35:02 -0700 Subject: [PATCH 175/211] include using system in prediction class (#307) * added using * fix test --- ...s.PredictionCSFileContentTest.approved.txt | 1 + .../Templates/Console/PredictionClass.cs | 19 ++++++++++--------- .../Templates/Console/PredictionClass.tt | 1 + 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictionCSFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictionCSFileContentTest.approved.txt index 714dc31349..4e0a7e5b9c 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictionCSFileContentTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictionCSFileContentTest.approved.txt @@ -4,6 +4,7 @@ //* * //***************************************************************************************** +using System; using Microsoft.ML.Data; namespace TestNamespace.Model.DataModels diff --git a/src/mlnet/Templates/Console/PredictionClass.cs b/src/mlnet/Templates/Console/PredictionClass.cs index 2e3d6f23a0..c5644047fd 100644 --- a/src/mlnet/Templates/Console/PredictionClass.cs +++ b/src/mlnet/Templates/Console/PredictionClass.cs @@ -34,18 +34,19 @@ public virtual string TransformText() //* * //***************************************************************************************** +using System; using Microsoft.ML.Data; namespace "); - #line 14 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + #line 15 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); #line default #line hidden this.Write(".Model.DataModels\r\n{\r\n public class SamplePrediction\r\n {\r\n"); - #line 18 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + #line 19 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" if("BinaryClassification".Equals(TaskType)){ #line default @@ -54,7 +55,7 @@ namespace "); "/ its default value, which is the name of the field.\r\n [ColumnName(\"Predi" + "ctedLabel\")]\r\n public bool Prediction { get; set; }\r\n\r\n"); - #line 24 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + #line 25 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" } if("MulticlassClassification".Equals(TaskType)){ #line default @@ -63,34 +64,34 @@ namespace "); "/ its default value, which is the name of the field.\r\n [ColumnName(\"Predi" + "ctedLabel\")]\r\n public "); - #line 28 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + #line 29 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" this.Write(this.ToStringHelper.ToStringWithCulture(PredictionLabelType)); #line default #line hidden this.Write(" Prediction { get; set; }\r\n"); - #line 29 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + #line 30 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" } #line default #line hidden - #line 30 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + #line 31 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" if("MulticlassClassification".Equals(TaskType)){ #line default #line hidden this.Write(" public float[] Scores { get; set; }\r\n"); - #line 32 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + #line 33 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" }else{ #line default #line hidden this.Write(" public float Score { get; set; }\r\n"); - #line 34 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + #line 35 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" } #line default @@ -99,7 +100,7 @@ namespace "); return this.GenerationEnvironment.ToString(); } - #line 37 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" + #line 38 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" public string TaskType {get;set;} public string PredictionLabelType {get;set;} diff --git a/src/mlnet/Templates/Console/PredictionClass.tt b/src/mlnet/Templates/Console/PredictionClass.tt index 940710f94c..e2bd16b78f 100644 --- a/src/mlnet/Templates/Console/PredictionClass.tt +++ b/src/mlnet/Templates/Console/PredictionClass.tt @@ -9,6 +9,7 @@ //* * //***************************************************************************************** +using System; using Microsoft.ML.Data; namespace <#= Namespace #>.Model.DataModels From e152288f88efe164cff653bf83f79c4463b71eb5 Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Tue, 26 Mar 2019 02:40:55 -0700 Subject: [PATCH 176/211] Random number generator is not thread safe (#310) * Random number generator is not thread safe * Another local random generator * Missed a few references * Referncing AutoMlUtils.random instead of a local RNG * More refs to mail RNG; remove Float as per https://github.com/dotnet/machinelearning/issues/1669 * Missed Random.cs --- .../API/ExperimentSettings.cs | 1 + src/Microsoft.ML.Auto/AutoMlUtils.cs | 5 ++- .../ColumnInference/ColumnTypeInference.cs | 2 +- .../ColumnInference/TextFileSample.cs | 3 +- src/Microsoft.ML.Auto/Sweepers/ISweeper.cs | 13 +++--- src/Microsoft.ML.Auto/Sweepers/Parameters.cs | 45 +++++++++---------- src/Microsoft.ML.Auto/Sweepers/Random.cs | 2 +- .../Sweepers/SweeperProbabilityUtils.cs | 11 +++-- src/Test/GetNextPipelineTests.cs | 4 +- src/Test/TextFileSampleTests.cs | 2 +- 10 files changed, 43 insertions(+), 45 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs index fedb625c4e..4fae30de04 100644 --- a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs +++ b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs @@ -20,6 +20,7 @@ public class ExperimentSettings /// public DirectoryInfo ModelDirectory { get; set; } = null; + /// /// This setting controls whether or not an AutoML experiment will make use of ML.NET-provided caching. /// If set to true, caching will be forced on for all pipelines. If set to false, caching will be forced off. /// If set to null (default value), AutoML will decide whether to enable caching for each model. diff --git a/src/Microsoft.ML.Auto/AutoMlUtils.cs b/src/Microsoft.ML.Auto/AutoMlUtils.cs index b4dcb61e8d..ffde30ebff 100644 --- a/src/Microsoft.ML.Auto/AutoMlUtils.cs +++ b/src/Microsoft.ML.Auto/AutoMlUtils.cs @@ -3,17 +3,18 @@ // See the LICENSE file in the project root for more information. using System; +using System.Threading; using Microsoft.Data.DataView; namespace Microsoft.ML.Auto { internal static class AutoMlUtils { - public static Random Random = new Random(); + public static readonly ThreadLocal random = new ThreadLocal(() => new Random()); public static void Assert(bool boolVal, string message = null) { - if(!boolVal) + if (!boolVal) { message = message ?? "Assertion failed"; throw new InvalidOperationException(message); diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs index 2277d8f7bb..806ea1c52e 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs @@ -177,7 +177,7 @@ public void Apply(IntermediateColumn[] columns) if (!col.RawData.Skip(1) .All(x => { - Single value; + float value; return Conversions.TryParse(in x, out value); }) ) diff --git a/src/Microsoft.ML.Auto/ColumnInference/TextFileSample.cs b/src/Microsoft.ML.Auto/ColumnInference/TextFileSample.cs index 28b0aaf60e..f528d5a8b8 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/TextFileSample.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/TextFileSample.cs @@ -138,9 +138,8 @@ public static TextFileSample CreateFromFullStream(Stream stream) // determine the start of each remaining chunk long fileSizeRemaining = fileSize - firstChunk.Length - ((long)chunkSize) * chunkCount; - var rnd = AutoMlUtils.Random; var chunkStartIndices = Enumerable.Range(0, chunkCount) - .Select(x => rnd.NextDouble() * fileSizeRemaining) + .Select(x => AutoMlUtils.random.Value.NextDouble() * fileSizeRemaining) .OrderBy(x => x) .Select((spot, i) => (long)(spot + firstChunk.Length + i * chunkSize)) .ToArray(); diff --git a/src/Microsoft.ML.Auto/Sweepers/ISweeper.cs b/src/Microsoft.ML.Auto/Sweepers/ISweeper.cs index 07c44e7b60..457ebd2645 100644 --- a/src/Microsoft.ML.Auto/Sweepers/ISweeper.cs +++ b/src/Microsoft.ML.Auto/Sweepers/ISweeper.cs @@ -6,7 +6,6 @@ using System.Collections; using System.Collections.Generic; using System.Linq; -using Float = System.Single; namespace Microsoft.ML.Auto { @@ -236,10 +235,10 @@ IComparable IRunResult.MetricValue /// internal sealed class RunMetric { - private readonly Float _primaryMetric; - private readonly Float[] _metricDistribution; + private readonly float _primaryMetric; + private readonly float[] _metricDistribution; - public RunMetric(Float primaryMetric, IEnumerable metricDistribution = null) + public RunMetric(float primaryMetric, IEnumerable metricDistribution = null) { _primaryMetric = primaryMetric; if (metricDistribution != null) @@ -252,7 +251,7 @@ public RunMetric(Float primaryMetric, IEnumerable metricDistribution = nu /// By default, smart sweeping algorithms will maximize this metric. /// If you want to minimize, either negate this value or change the option in the arguments of the sweeper constructor. /// - public Float PrimaryMetric + public float PrimaryMetric { get { return _primaryMetric; } } @@ -261,11 +260,11 @@ public Float PrimaryMetric /// The (optional) distribution of the metric. /// This distribution can be a secondary measure of how good a run was, e.g per-fold AUC, per-fold accuracy, (sampled) per-instance log loss etc. /// - public Float[] GetMetricDistribution() + public float[] GetMetricDistribution() { if (_metricDistribution == null) return null; - var result = new Float[_metricDistribution.Length]; + var result = new float[_metricDistribution.Length]; Array.Copy(_metricDistribution, result, _metricDistribution.Length); return result; } diff --git a/src/Microsoft.ML.Auto/Sweepers/Parameters.cs b/src/Microsoft.ML.Auto/Sweepers/Parameters.cs index 0a29d35cd5..9c9ffabfd3 100644 --- a/src/Microsoft.ML.Auto/Sweepers/Parameters.cs +++ b/src/Microsoft.ML.Auto/Sweepers/Parameters.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; -using Float = System.Single; namespace Microsoft.ML.Auto { @@ -29,10 +28,10 @@ internal abstract class NumericParamArguments : BaseParamArguments internal class FloatParamArguments : NumericParamArguments { //[Argument(ArgumentType.Required, HelpText = "Minimum value")] - public Float Min; + public float Min; //[Argument(ArgumentType.Required, HelpText = "Maximum value")] - public Float Max; + public float Max; } internal class LongParamArguments : NumericParamArguments @@ -95,11 +94,11 @@ public override int GetHashCode() } } - internal sealed class FloatParameterValue : IParameterValue + internal sealed class FloatParameterValue : IParameterValue { private readonly string _name; private readonly string _valueText; - private readonly Float _value; + private readonly float _value; public string Name { @@ -111,14 +110,14 @@ public string ValueText get { return _valueText; } } - public Float Value + public float Value { get { return _value; } } - public FloatParameterValue(string name, Float value) + public FloatParameterValue(string name, float value) { - AutoMlUtils.Assert(!Float.IsNaN(value)); + AutoMlUtils.Assert(!float.IsNaN(value)); _name = name; _value = value; _valueText = _value.ToString("R"); @@ -186,7 +185,7 @@ public override int GetHashCode() internal interface INumericValueGenerator : IValueGenerator { - Float NormalizeValue(IParameterValue value); + float NormalizeValue(IParameterValue value); bool InRange(IParameterValue value); } @@ -294,7 +293,7 @@ public int Count } } - public Float NormalizeValue(IParameterValue value) + public float NormalizeValue(IParameterValue value) { var valueTyped = value as LongParameterValue; AutoMlUtils.Assert(valueTyped != null, "LongValueGenerator could not normalized parameter because it is not of the correct type"); @@ -302,11 +301,11 @@ public Float NormalizeValue(IParameterValue value) if (_args.LogBase) { - Float logBase = (Float)(_args.StepSize ?? Math.Pow(1.0 * _args.Max / _args.Min, 1.0 / (_args.NumSteps - 1))); - return (Float)((Math.Log(valueTyped.Value, logBase) - Math.Log(_args.Min, logBase)) / (Math.Log(_args.Max, logBase) - Math.Log(_args.Min, logBase))); + float logBase = (float)(_args.StepSize ?? Math.Pow(1.0 * _args.Max / _args.Min, 1.0 / (_args.NumSteps - 1))); + return (float)((Math.Log(valueTyped.Value, logBase) - Math.Log(_args.Min, logBase)) / (Math.Log(_args.Max, logBase) - Math.Log(_args.Min, logBase))); } else - return (Float)(valueTyped.Value - _args.Min) / (_args.Max - _args.Min); + return (float)(valueTyped.Value - _args.Min) / (_args.Max - _args.Min); } public bool InRange(IParameterValue value) @@ -339,7 +338,7 @@ public FloatValueGenerator(FloatParamArguments args) // REVIEW: Is Float accurate enough? public IParameterValue CreateFromNormalized(Double normalizedValue) { - Float val; + float val; if (_args.LogBase) { // REVIEW: review the math below, it only works for positive Min and Max @@ -348,10 +347,10 @@ public IParameterValue CreateFromNormalized(Double normalizedValue) : _args.StepSize.Value; var logMax = Math.Log(_args.Max, logBase); var logMin = Math.Log(_args.Min, logBase); - val = (Float)(_args.Min * Math.Pow(logBase, normalizedValue * (logMax - logMin))); + val = (float)(_args.Min * Math.Pow(logBase, normalizedValue * (logMax - logMin))); } else - val = (Float)(_args.Min + normalizedValue * (_args.Max - _args.Min)); + val = (float)(_args.Min + normalizedValue * (_args.Max - _args.Min)); return new FloatParameterValue(_args.Name, val); } @@ -367,11 +366,11 @@ private void EnsureParameterValues() // REVIEW: review the math below, it only works for positive Min and Max var logBase = _args.StepSize ?? Math.Pow(1.0 * _args.Max / _args.Min, 1.0 / (_args.NumSteps - 1)); - Float prevValue = Float.NegativeInfinity; + float prevValue = float.NegativeInfinity; var maxPlusEpsilon = _args.Max * Math.Sqrt(logBase); for (Double value = _args.Min; value <= maxPlusEpsilon; value *= logBase) { - var floatValue = (Float)value; + var floatValue = (float)value; if (floatValue > prevValue) result.Add(new FloatParameterValue(_args.Name, floatValue)); prevValue = floatValue; @@ -380,11 +379,11 @@ private void EnsureParameterValues() else { var stepSize = _args.StepSize ?? (Double)(_args.Max - _args.Min) / (_args.NumSteps - 1); - Float prevValue = Float.NegativeInfinity; + float prevValue = float.NegativeInfinity; var maxPlusEpsilon = _args.Max + stepSize / 2; for (Double value = _args.Min; value <= maxPlusEpsilon; value += stepSize) { - var floatValue = (Float)value; + var floatValue = (float)value; if (floatValue > prevValue) result.Add(new FloatParameterValue(_args.Name, floatValue)); prevValue = floatValue; @@ -412,7 +411,7 @@ public int Count } } - public Float NormalizeValue(IParameterValue value) + public float NormalizeValue(IParameterValue value) { var valueTyped = value as FloatParameterValue; AutoMlUtils.Assert(valueTyped != null, "FloatValueGenerator could not normalized parameter because it is not of the correct type"); @@ -420,8 +419,8 @@ public Float NormalizeValue(IParameterValue value) if (_args.LogBase) { - Float logBase = (Float)(_args.StepSize ?? Math.Pow(1.0 * _args.Max / _args.Min, 1.0 / (_args.NumSteps - 1))); - return (Float)((Math.Log(valueTyped.Value, logBase) - Math.Log(_args.Min, logBase)) / (Math.Log(_args.Max, logBase) - Math.Log(_args.Min, logBase))); + float logBase = (float)(_args.StepSize ?? Math.Pow(1.0 * _args.Max / _args.Min, 1.0 / (_args.NumSteps - 1))); + return (float)((Math.Log(valueTyped.Value, logBase) - Math.Log(_args.Min, logBase)) / (Math.Log(_args.Max, logBase) - Math.Log(_args.Min, logBase))); } else return (valueTyped.Value - _args.Min) / (_args.Max - _args.Min); diff --git a/src/Microsoft.ML.Auto/Sweepers/Random.cs b/src/Microsoft.ML.Auto/Sweepers/Random.cs index 24e097032e..36edcb8dca 100644 --- a/src/Microsoft.ML.Auto/Sweepers/Random.cs +++ b/src/Microsoft.ML.Auto/Sweepers/Random.cs @@ -23,7 +23,7 @@ public UniformRandomSweeper(ArgumentsBase args, IValueGenerator[] sweepParameter protected override ParameterSet CreateParamSet() { - return new ParameterSet(SweepParameters.Select(sweepParameter => sweepParameter.CreateFromNormalized(AutoMlUtils.Random.NextDouble()))); + return new ParameterSet(SweepParameters.Select(sweepParameter => sweepParameter.CreateFromNormalized(AutoMlUtils.random.Value.NextDouble()))); } } } diff --git a/src/Microsoft.ML.Auto/Sweepers/SweeperProbabilityUtils.cs b/src/Microsoft.ML.Auto/Sweepers/SweeperProbabilityUtils.cs index a45ae8473b..646a7df869 100644 --- a/src/Microsoft.ML.Auto/Sweepers/SweeperProbabilityUtils.cs +++ b/src/Microsoft.ML.Auto/Sweepers/SweeperProbabilityUtils.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; -using Float = System.Single; namespace Microsoft.ML.Auto { @@ -35,8 +34,8 @@ public double[] NormalRVs(int numRVs, double mu, double sigma) for (int i = 0; i < numRVs; i++) { - u1 = AutoMlUtils.Random.NextDouble(); - u2 = AutoMlUtils.Random.NextDouble(); + u1 = AutoMlUtils.random.Value.NextDouble(); + u2 = AutoMlUtils.random.Value.NextDouble(); rvs.Add(mu + sigma * Math.Sqrt(-2.0 * Math.Log(u1)) * Math.Sin(2.0 * Math.PI * u2)); } @@ -61,11 +60,11 @@ private int BinarySearch(double[] a, double u, int low, int high) return a[mid] >= u ? BinarySearch(a, u, low, mid) : BinarySearch(a, u, mid, high); } - public static Float[] ParameterSetAsFloatArray(IValueGenerator[] sweepParams, ParameterSet ps, bool expandCategoricals = true) + public static float[] ParameterSetAsFloatArray(IValueGenerator[] sweepParams, ParameterSet ps, bool expandCategoricals = true) { AutoMlUtils.Assert(ps.Count == sweepParams.Length); - var result = new List(); + var result = new List(); for (int i = 0; i < sweepParams.Length; i++) { @@ -115,7 +114,7 @@ public static Float[] ParameterSetAsFloatArray(IValueGenerator[] sweepParams, Pa return result.ToArray(); } - public static ParameterSet FloatArrayAsParameterSet(IValueGenerator[] sweepParams, Float[] array, bool expandedCategoricals = true) + public static ParameterSet FloatArrayAsParameterSet(IValueGenerator[] sweepParams, float[] array, bool expandedCategoricals = true) { AutoMlUtils.Assert(array.Length == sweepParams.Length); diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs index 3f3a531557..05af19dc75 100644 --- a/src/Test/GetNextPipelineTests.cs +++ b/src/Test/GetNextPipelineTests.cs @@ -57,10 +57,10 @@ public void GetNextPipelineMock() break; } - var result = new PipelineScore(pipeline, AutoMlUtils.Random.NextDouble(), true); + var result = new PipelineScore(pipeline, AutoMlUtils.random.Value.NextDouble(), true); history.Add(result); } - + Assert.AreEqual(maxIterations, history.Count); // Get all 'Stage 1' and 'Stage 2' runs from Pipeline Suggester diff --git a/src/Test/TextFileSampleTests.cs b/src/Test/TextFileSampleTests.cs index a787d0e065..b9cf90f39a 100644 --- a/src/Test/TextFileSampleTests.cs +++ b/src/Test/TextFileSampleTests.cs @@ -22,7 +22,7 @@ public void CanParseLargeRandomStream() for (var i = 0; i < numRows; i++) { var row = new byte[rowSize]; - AutoMlUtils.Random.NextBytes(row); + AutoMlUtils.random.Value.NextBytes(row); // ensure byte array has no 0s, so text file sampler doesn't // think file is encoded with UTF-16 or UTF-32 without a BOM From cf8c1f4267db1532e469a8124298bb548732dcf2 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 26 Mar 2019 13:30:15 -0700 Subject: [PATCH 177/211] Fix multiclass code gen (#314) * compile error in codegen * removes scores printing * fix bugs * fix test --- ...edictProgramCSFileContentTest.approved.txt | 4 +- .../CodeGenerator/CSharp/CodeGenerator.cs | 13 +++- src/mlnet/Templates/Console/PredictProgram.cs | 68 ++++++++++++++----- src/mlnet/Templates/Console/PredictProgram.tt | 13 +++- .../Templates/Console/PredictionClass.cs | 2 +- .../Templates/Console/PredictionClass.tt | 2 +- src/mlnet/Utilities/Utils.cs | 2 +- 7 files changed, 78 insertions(+), 26 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt index 68f6f73c11..ce8e897c85 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt @@ -70,7 +70,9 @@ namespace TestNamespace.Predict IDataView dataView = mlContext.Data.LoadFromTextFile( path: dataFilePath, hasHeader: true, - separatorChar: ','); + separatorChar: ',', + allowQuoting: true, + allowSparse: true); // Here (SampleObservation object) you could provide new test data, hardcoded or from the end-user application, instead of the row from the file. SampleObservation sampleForPrediction = mlContext.Data.CreateEnumerable(dataView, false) diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index 8e9dc7717a..3c8f4ab8e9 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -299,7 +299,18 @@ private static string GeneratPredictProjectFileContent(string namespaceValue, bo private string GeneratePredictProgramCSFileContent(string namespaceValue) { - PredictProgram predictProgram = new PredictProgram() { TaskType = settings.MlTask.ToString(), LabelName = settings.LabelName, Namespace = namespaceValue, TestDataPath = settings.TestDataset, TrainDataPath = settings.TrainDataset }; + PredictProgram predictProgram = new PredictProgram() + { + TaskType = settings.MlTask.ToString(), + LabelName = settings.LabelName, + Namespace = namespaceValue, + TestDataPath = settings.TestDataset, + TrainDataPath = settings.TrainDataset, + HasHeader = columnInferenceResult.TextLoaderOptions.HasHeader, + Separator = columnInferenceResult.TextLoaderOptions.Separators.FirstOrDefault(), + AllowQuoting = columnInferenceResult.TextLoaderOptions.AllowQuoting, + AllowSparse = columnInferenceResult.TextLoaderOptions.AllowSparse, + }; return predictProgram.TransformText(); } #endregion diff --git a/src/mlnet/Templates/Console/PredictProgram.cs b/src/mlnet/Templates/Console/PredictProgram.cs index 48bb6f7909..7978ff1eab 100644 --- a/src/mlnet/Templates/Console/PredictProgram.cs +++ b/src/mlnet/Templates/Console/PredictProgram.cs @@ -11,6 +11,7 @@ namespace Microsoft.ML.CLI.Templates.Console { using System.Linq; using System.Text; + using System.Text.RegularExpressions; using System.Collections.Generic; using Microsoft.ML.CLI.Utilities; using System; @@ -44,14 +45,14 @@ public virtual string TransformText() using Microsoft.Data.DataView; using "); - #line 20 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 21 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); #line default #line hidden this.Write(".Model.DataModels;\r\n\r\n\r\nnamespace "); - #line 23 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 24 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); #line default @@ -60,35 +61,35 @@ public virtual string TransformText() "nd use for predictions\r\n private const string MODEL_FILEPATH = @\"MLModel." + "zip\";\r\n\r\n //Dataset to use for predictions \r\n"); - #line 31 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 32 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" if(string.IsNullOrEmpty(TestDataPath)){ #line default #line hidden this.Write(" private const string DATA_FILEPATH = @\""); - #line 32 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 33 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(TrainDataPath)); #line default #line hidden this.Write("\";\r\n"); - #line 33 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 34 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" } else{ #line default #line hidden this.Write(" private const string DATA_FILEPATH = @\""); - #line 34 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 35 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(TestDataPath)); #line default #line hidden this.Write("\";\r\n"); - #line 35 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 36 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" } #line default @@ -120,50 +121,50 @@ private static void Predict(MLContext mlContext, ITransformer mlModel, SampleObs var predictionResult = predEngine.Predict(sampleData); "); - #line 61 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 62 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" if("BinaryClassification".Equals(TaskType)){ #line default #line hidden this.Write(" Console.WriteLine($\"Single Prediction --> Actual value: {sampleData."); - #line 62 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 63 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); #line default #line hidden this.Write("} | Predicted value: {predictionResult.Prediction}\");\r\n"); - #line 63 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 64 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" }else if("Regression".Equals(TaskType)){ #line default #line hidden this.Write(" Console.WriteLine($\"Single Prediction --> Actual value: {sampleData."); - #line 64 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 65 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); #line default #line hidden this.Write("} | Predicted value: {predictionResult.Score}\");\r\n"); - #line 65 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 66 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" } else if("MulticlassClassification".Equals(TaskType)){ #line default #line hidden this.Write(" Console.WriteLine($\"Single Prediction --> Actual value: {sampleData."); - #line 66 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 67 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); #line default #line hidden this.Write("} | Predicted value: {predictionResult.Prediction} | Predicted scores: [{String.J" + - "oin(\\\", \\\", resultprediction.Scores)}]\");\r\n"); + "oin(\",\", predictionResult.Score)}]\");\r\n"); - #line 67 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 68 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" } #line default @@ -188,8 +189,35 @@ private static SampleObservation CreateSingleDataSample(MLContext mlContext, str // Read dataset to get a single row for trying a prediction IDataView dataView = mlContext.Data.LoadFromTextFile( path: dataFilePath, - hasHeader: true, - separatorChar: ','); + hasHeader : "); + + #line 89 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); + + #line default + #line hidden + this.Write(",\r\n separatorChar : \'"); + + #line 90 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); + + #line default + #line hidden + this.Write("\',\r\n allowQuoting : "); + + #line 91 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); + + #line default + #line hidden + this.Write(",\r\n allowSparse: "); + + #line 92 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); + + #line default + #line hidden + this.Write(@"); // Here (SampleObservation object) you could provide new test data, hardcoded or from the end-user application, instead of the row from the file. SampleObservation sampleForPrediction = mlContext.Data.CreateEnumerable(dataView, false) @@ -202,13 +230,17 @@ private static SampleObservation CreateSingleDataSample(MLContext mlContext, str return this.GenerationEnvironment.ToString(); } - #line 98 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 101 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" public string TaskType {get;set;} public string Namespace {get;set;} public string LabelName {get;set;} public string TestDataPath {get;set;} public string TrainDataPath {get;set;} +public char Separator {get;set;} +public bool AllowQuoting {get;set;} +public bool AllowSparse {get;set;} +public bool HasHeader {get;set;} #line default diff --git a/src/mlnet/Templates/Console/PredictProgram.tt b/src/mlnet/Templates/Console/PredictProgram.tt index 04df77a3c1..07e7bb7ddf 100644 --- a/src/mlnet/Templates/Console/PredictProgram.tt +++ b/src/mlnet/Templates/Console/PredictProgram.tt @@ -2,6 +2,7 @@ <#@ assembly name="System.Core" #> <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> +<#@ import namespace="System.Text.RegularExpressions" #> <#@ import namespace="System.Collections.Generic" #> <#@ import namespace="Microsoft.ML.CLI.Utilities" #> //***************************************************************************************** @@ -63,7 +64,7 @@ namespace <#= Namespace #>.Predict <#}else if("Regression".Equals(TaskType)){#> Console.WriteLine($"Single Prediction --> Actual value: {sampleData.<#= Utils.Normalize(LabelName) #>} | Predicted value: {predictionResult.Score}"); <#} else if("MulticlassClassification".Equals(TaskType)){#> - Console.WriteLine($"Single Prediction --> Actual value: {sampleData.<#= Utils.Normalize(LabelName) #>} | Predicted value: {predictionResult.Prediction} | Predicted scores: [{String.Join(\", \", resultprediction.Scores)}]"); + Console.WriteLine($"Single Prediction --> Actual value: {sampleData.<#= Utils.Normalize(LabelName) #>} | Predicted value: {predictionResult.Prediction} | Predicted scores: [{String.Join(",", predictionResult.Score)}]"); <#}#> } @@ -85,8 +86,10 @@ namespace <#= Namespace #>.Predict // Read dataset to get a single row for trying a prediction IDataView dataView = mlContext.Data.LoadFromTextFile( path: dataFilePath, - hasHeader: true, - separatorChar: ','); + hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, + separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', + allowQuoting : <#= AllowQuoting.ToString().ToLowerInvariant() #>, + allowSparse: <#= AllowSparse.ToString().ToLowerInvariant() #>); // Here (SampleObservation object) you could provide new test data, hardcoded or from the end-user application, instead of the row from the file. SampleObservation sampleForPrediction = mlContext.Data.CreateEnumerable(dataView, false) @@ -101,4 +104,8 @@ public string Namespace {get;set;} public string LabelName {get;set;} public string TestDataPath {get;set;} public string TrainDataPath {get;set;} +public char Separator {get;set;} +public bool AllowQuoting {get;set;} +public bool AllowSparse {get;set;} +public bool HasHeader {get;set;} #> diff --git a/src/mlnet/Templates/Console/PredictionClass.cs b/src/mlnet/Templates/Console/PredictionClass.cs index c5644047fd..11d5303d2c 100644 --- a/src/mlnet/Templates/Console/PredictionClass.cs +++ b/src/mlnet/Templates/Console/PredictionClass.cs @@ -82,7 +82,7 @@ namespace "); #line default #line hidden - this.Write(" public float[] Scores { get; set; }\r\n"); + this.Write(" public float[] Score { get; set; }\r\n"); #line 33 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictionClass.tt" }else{ diff --git a/src/mlnet/Templates/Console/PredictionClass.tt b/src/mlnet/Templates/Console/PredictionClass.tt index e2bd16b78f..2497a440a8 100644 --- a/src/mlnet/Templates/Console/PredictionClass.tt +++ b/src/mlnet/Templates/Console/PredictionClass.tt @@ -29,7 +29,7 @@ namespace <#= Namespace #>.Model.DataModels public <#= PredictionLabelType#> Prediction { get; set; } <# }#> <#if("MulticlassClassification".Equals(TaskType)){ #> - public float[] Scores { get; set; } + public float[] Score { get; set; } <#}else{ #> public float Score { get; set; } <#}#> diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index 08bae8476b..67c4ba4368 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -200,7 +200,7 @@ internal static void CreateSolutionFile(string solutionFile, string outputPath) var proc = new System.Diagnostics.Process(); proc.StartInfo.FileName = @"dotnet"; - proc.StartInfo.Arguments = $"new sln --name {solutionFile} --output {outputPath}"; + proc.StartInfo.Arguments = $"new sln --name {solutionFile} --output {outputPath} --force"; proc.StartInfo.UseShellExecute = false; proc.StartInfo.RedirectStandardOutput = true; proc.Start(); From db3850cf28705f9a1b65674d05aa3a8440948ee9 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 27 Mar 2019 10:30:11 -0700 Subject: [PATCH 178/211] Fix compile error in codegen project (#319) * removed redundant code * fix test case --- ...eGeneratorTests.TrainProgramCSFileContentTest.approved.txt | 2 -- src/mlnet/Templates/Console/TrainProgram.cs | 4 +--- src/mlnet/Templates/Console/TrainProgram.tt | 2 -- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt index adffc7a5cb..377d9f92d1 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt @@ -87,8 +87,6 @@ namespace TestNamespace.Train IDataView predictions = mlModel.Transform(testDataView); var metrics = mlContext.BinaryClassification.EvaluateNonCalibrated(predictions, "Label", "Score"); ConsoleHelper.PrintBinaryClassificationMetrics(metrics); - RegressionMetrics metrics = mlContext.Regression.Evaluate(predictions, "fare_amount", "Score"); - ConsoleHelper.PrintRegressionMetrics(metrics); } private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath) { diff --git a/src/mlnet/Templates/Console/TrainProgram.cs b/src/mlnet/Templates/Console/TrainProgram.cs index c7dede1f69..6034645127 100644 --- a/src/mlnet/Templates/Console/TrainProgram.cs +++ b/src/mlnet/Templates/Console/TrainProgram.cs @@ -191,9 +191,7 @@ public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDat this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); this.Write("\", \"Score\");\r\n ConsoleHelper.PrintRegressionMetrics(metrics);\r\n"); } - this.Write(" RegressionMetrics metrics = mlContext.Regression.Evaluate(predictions" + - ", \"fare_amount\", \"Score\");\r\n ConsoleHelper.PrintRegressionMetrics(met" + - "rics);\r\n }\r\n"); + this.Write(" }\r\n"); }else{ this.Write(@" private static void EvaluateModel(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) { diff --git a/src/mlnet/Templates/Console/TrainProgram.tt b/src/mlnet/Templates/Console/TrainProgram.tt index 279332904c..92e52dea29 100644 --- a/src/mlnet/Templates/Console/TrainProgram.tt +++ b/src/mlnet/Templates/Console/TrainProgram.tt @@ -136,8 +136,6 @@ else{#> var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "<#= LabelName #>", "Score"); ConsoleHelper.PrintRegressionMetrics(metrics); <#} #> - RegressionMetrics metrics = mlContext.Regression.Evaluate(predictions, "fare_amount", "Score"); - ConsoleHelper.PrintRegressionMetrics(metrics); } <#}else{#> private static void EvaluateModel(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) From 73d141bf76d80d25e12d3ee967e276a26bb5c55d Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 27 Mar 2019 11:16:11 -0700 Subject: [PATCH 179/211] Rev OVA pipeline node SDK output: wrap binary trainers as children inside parent OVA node (#317) --- .../TrainerExtensions/TrainerExtensionUtil.cs | 14 ++++++++-- src/Test/TrainerExtensionsTests.cs | 28 +++++++++++++------ 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs index 5155cd1419..8fdffedea1 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs @@ -32,6 +32,7 @@ internal enum TrainerName LogisticRegressionMulti, OnlineGradientDescentRegression, OrdinaryLeastSquaresRegression, + Ova, PoissonRegression, SdcaBinary, SdcaMulti, @@ -79,8 +80,17 @@ public static LightGBM.Options CreateLightGbmOptions(IEnumerable public static PipelineNode BuildOvaPipelineNode(ITrainerExtension multiExtension, ITrainerExtension binaryExtension, IEnumerable sweepParams, ColumnInformation columnInfo) { - var ovaNode = binaryExtension.CreatePipelineNode(sweepParams, columnInfo); - ovaNode.Name = TrainerExtensionCatalog.GetTrainerName(multiExtension).ToString(); + var ovaNode = new PipelineNode() + { + Name = TrainerName.Ova.ToString(), + NodeType = PipelineNodeType.Trainer, + Properties = new Dictionary() + { + { LabelColumn, columnInfo.LabelColumn } + } + }; + var binaryNode = binaryExtension.CreatePipelineNode(sweepParams, columnInfo); + ovaNode.Properties["BinaryTrainer"] = binaryNode; return ovaNode; } diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index da11e5a03f..8567aa1f9e 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -17,7 +17,8 @@ public void TrainerExtensionInstanceTests() { var context = new MLContext(); var columnInfo = new ColumnInformation(); - var trainerNames = Enum.GetValues(typeof(TrainerName)).Cast(); + var trainerNames = Enum.GetValues(typeof(TrainerName)).Cast() + .Except(new[] { TrainerName.Ova }); foreach (var trainerName in trainerNames) { var extension = TrainerExtensionCatalog.GetTrainerExtension(trainerName); @@ -194,16 +195,25 @@ public void BuildOvaPipelineNode() { var pipelineNode = new FastForestOvaExtension().CreatePipelineNode(null, new ColumnInformation()); var expectedJson = @"{ - ""Name"": ""FastForestOva"", + ""Name"": ""Ova"", ""NodeType"": ""Trainer"", - ""InColumns"": [ - ""Features"" - ], - ""OutColumns"": [ - ""Score"" - ], + ""InColumns"": null, + ""OutColumns"": null, ""Properties"": { - ""LabelColumn"": ""Label"" + ""LabelColumn"": ""Label"", + ""BinaryTrainer"": { + ""Name"": ""FastForestBinary"", + ""NodeType"": ""Trainer"", + ""InColumns"": [ + ""Features"" + ], + ""OutColumns"": [ + ""Score"" + ], + ""Properties"": { + ""LabelColumn"": ""Label"" + } + } } }"; Util.AssertObjectMatchesJson(expectedJson, pipelineNode); From 64f5ba1d0ae2a3e201cc34fe3d0a52dedaf6a1e8 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 27 Mar 2019 14:42:58 -0700 Subject: [PATCH 180/211] Ova Multi class codegen support (#321) * dummy * multiova implementation * fix tests * remove inclusion list * fix tests and console helper --- ....ConsoleHelperFileContentTest.approved.txt | 20 ++- ...inProgramCSFileContentOvaTest.approved.txt | 110 ++++++++++++++ .../ConsoleCodeGeneratorTests.cs | 77 +++++++++- src/mlnet.Test/CodeGenTests.cs | 6 +- src/mlnet.Test/TrainerGeneratorTests.cs | 36 ++--- src/mlnet.Test/TransformGeneratorTests.cs | 12 +- src/mlnet/AutoML/AutoMLEngine.cs | 24 +-- .../CodeGenerator/CSharp/CodeGenerator.cs | 40 +++-- .../CSharp/TrainerGeneratorBase.cs | 25 ++- .../CSharp/TrainerGeneratorFactory.cs | 12 +- .../CodeGenerator/CSharp/TrainerGenerators.cs | 71 +++++++-- .../CSharp/TransformGeneratorBase.cs | 4 +- .../CSharp/TransformGeneratorFactory.cs | 2 +- .../CSharp/TransformGenerators.cs | 22 +-- src/mlnet/Templates/Console/ConsoleHelper.cs | 143 ++++++++++-------- src/mlnet/Templates/Console/ConsoleHelper.tt | 20 ++- src/mlnet/Templates/Console/TrainProgram.cs | 4 +- src/mlnet/Templates/Console/TrainProgram.tt | 2 +- 18 files changed, 452 insertions(+), 178 deletions(-) create mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentOvaTest.approved.txt diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt index 1053b7d591..a98a044ab2 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt @@ -58,8 +58,7 @@ namespace TestNamespace.Train } - public static void PrintBinaryClassificationFoldsAverageMetrics( - TrainCatalogBase.CrossValidationResult[] crossValResults) + public static void PrintBinaryClassificationFoldsAverageMetrics(TrainCatalogBase.CrossValidationResult[] crossValResults) { var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); @@ -77,8 +76,21 @@ namespace TestNamespace.Train } - public static void PrintMulticlassClassificationFoldsAverageMetrics( - TrainCatalogBase.CrossValidationResult[] crossValResults) + public static void PrintMultiClassClassificationMetrics(MultiClassClassifierMetrics metrics) + { + Console.WriteLine($"************************************************************"); + Console.WriteLine($"* Metrics for multi-class classification model "); + Console.WriteLine($"*-----------------------------------------------------------"); + Console.WriteLine($" AccuracyMacro = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the better"); + Console.WriteLine($" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value between 0 and 1, the closer to 1, the better"); + Console.WriteLine($" LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better"); + Console.WriteLine($" LogLoss for class 1 = {metrics.PerClassLogLoss[0]:0.####}, the closer to 0, the better"); + Console.WriteLine($" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to 0, the better"); + Console.WriteLine($" LogLoss for class 3 = {metrics.PerClassLogLoss[2]:0.####}, the closer to 0, the better"); + Console.WriteLine($"************************************************************"); + } + + public static void PrintMulticlassClassificationFoldsAverageMetrics(TrainCatalogBase.CrossValidationResult[] crossValResults) { var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentOvaTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentOvaTest.approved.txt new file mode 100644 index 0000000000..7935b383a2 --- /dev/null +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentOvaTest.approved.txt @@ -0,0 +1,110 @@ +//***************************************************************************************** +//* * +//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * +//* * +//***************************************************************************************** + +using System; +using System.IO; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Data; +using Microsoft.Data.DataView; +using TestNamespace.Model.DataModels; + +namespace TestNamespace.Train +{ + class Program + { + private static string TRAIN_DATA_FILEPATH = @"x:\dummypath\dummy_train.csv"; + private static string TEST_DATA_FILEPATH = @"x:\dummypath\dummy_test.csv"; + private static string MODEL_FILEPATH = @"../../../../TestNamespace.Model/MLModel.zip"; + + static void Main(string[] args) + { + // Create MLContext to be shared across the model creation workflow objects + // Set a random seed for repeatable/deterministic results across multiple trainings. + MLContext mlContext = new MLContext(seed: 1); + + // Load Data + IDataView trainingDataView = mlContext.Data.LoadFromTextFile( + path: TRAIN_DATA_FILEPATH, + hasHeader: true, + separatorChar: ',', + allowQuoting: true, + allowSparse: true); + + IDataView testDataView = mlContext.Data.LoadFromTextFile( + path: TEST_DATA_FILEPATH, + hasHeader: true, + separatorChar: ',', + allowQuoting: true, + allowSparse: true); + // Build training pipeline + IEstimator trainingPipeline = BuildTrainingPipeline(mlContext); + + // Train Model + ITransformer mlModel = TrainModel(mlContext, trainingDataView, trainingPipeline); + + // Evaluate quality of Model + EvaluateModel(mlContext, mlModel, testDataView); + + // Save model + SaveModel(mlContext, mlModel, MODEL_FILEPATH); + + Console.WriteLine("=============== End of process, hit any key to finish ==============="); + Console.ReadKey(); + } + + public static IEstimator BuildTrainingPipeline(MLContext mlContext) + { + // Data process configuration with pipeline data transformations + var dataProcessPipeline = mlContext.Transforms.Concatenate("Out", new[] { "In" }) + .AppendCacheCheckpoint(mlContext); + + // Set the training algorithm + var trainer = mlContext.MulticlassClassification.Trainers.OneVersusAll(mlContext.BinaryClassification.Trainers.FastForest(numLeaves: 2, labelColumnName: "Label", featureColumnName: "Features"), labelColumnName: "Label"); + var trainingPipeline = dataProcessPipeline.Append(trainer); + + return trainingPipeline; + } + + public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) + { + Console.WriteLine("=============== Training model ==============="); + + ITransformer model = trainingPipeline.Fit(trainingDataView); + + Console.WriteLine("=============== End of training process ==============="); + return model; + } + + private static void EvaluateModel(MLContext mlContext, ITransformer mlModel, IDataView testDataView) + { + // Evaluate the model and show accuracy stats + Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); + IDataView predictions = mlModel.Transform(testDataView); + var metrics = mlContext.MulticlassClassification.Evaluate(predictions, "Label", "Score"); + ConsoleHelper.PrintMultiClassClassificationMetrics(metrics); + } + private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath) + { + // Save/persist the trained model to a .ZIP file + Console.WriteLine($"=============== Saving the model ==============="); + using (var fs = new FileStream(GetAbsolutePath(modelRelativePath), FileMode.Create, FileAccess.Write, FileShare.Write)) + mlContext.Model.Save(mlModel, fs); + + Console.WriteLine("The model is saved to {0}", GetAbsolutePath(modelRelativePath)); + } + + public static string GetAbsolutePath(string relativePath) + { + FileInfo _dataRoot = new FileInfo(typeof(Program).Assembly.Location); + string assemblyFolderPath = _dataRoot.Directory.FullName; + + string fullPath = Path.Combine(assemblyFolderPath, relativePath); + + return fullPath; + } + } +} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index 56168d620b..6eec3474d6 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; +using System.Linq; using System.Runtime.CompilerServices; using ApprovalTests; using ApprovalTests.Reporters; @@ -18,7 +19,8 @@ namespace mlnet.Test [UseReporter(typeof(DiffReporter))] public class ConsoleCodeGeneratorTests { - private Pipeline pipeline; + private Pipeline mockedPipeline; + private Pipeline mockedOvaPipeline; private ColumnInferenceResults columnInference = default; private string namespaceValue = "TestNamespace"; @@ -46,6 +48,29 @@ public void ConsoleHelperFileContentTest() Approvals.Verify(result.Item3); } + [TestMethod] + [UseReporter(typeof(DiffReporter))] + [MethodImpl(MethodImplOptions.NoInlining)] + public void TrainProgramCSFileContentOvaTest() + { + (Pipeline pipeline, + ColumnInferenceResults columnInference) = GetMockedOvaPipelineAndInference(); + + var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() + { + MlTask = TaskKind.MulticlassClassification, + OutputBaseDir = null, + OutputName = "MyNamespace", + TrainDataset = "x:\\dummypath\\dummy_train.csv", + TestDataset = "x:\\dummypath\\dummy_test.csv", + LabelName = "Label", + ModelPath = "x:\\models\\model.zip" + }); + var result = consoleCodeGen.GenerateTrainProjectContents(namespaceValue, typeof(float)); + + Approvals.Verify(result.Item1); + } + [TestMethod] [UseReporter(typeof(DiffReporter))] [MethodImpl(MethodImplOptions.NoInlining)] @@ -70,6 +95,7 @@ public void TrainProgramCSFileContentTest() } + [TestMethod] [UseReporter(typeof(DiffReporter))] [MethodImpl(MethodImplOptions.NoInlining)] @@ -211,7 +237,7 @@ public void PredictProjectFileContentTest() private (Pipeline, ColumnInferenceResults) GetMockedPipelineAndInference() { - if (pipeline == null) + if (mockedPipeline == null) { MLContext context = new MLContext(); // same learners with different hyperparams @@ -224,7 +250,48 @@ public void PredictProjectFileContentTest() var inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, true); var inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, false); - this.pipeline = inferredPipeline1.ToPipeline(); + this.mockedPipeline = inferredPipeline1.ToPipeline(); + var textLoaderArgs = new TextLoader.Options() + { + Columns = new[] { + new TextLoader.Column("Label", DataKind.Boolean, 0), + new TextLoader.Column("col1", DataKind.Single, 1), + new TextLoader.Column("col2", DataKind.Single, 0), + new TextLoader.Column("col3", DataKind.String, 0), + new TextLoader.Column("col4", DataKind.Int32, 0), + new TextLoader.Column("col5", DataKind.UInt32, 0), + }, + AllowQuoting = true, + AllowSparse = true, + HasHeader = true, + Separators = new[] { ',' } + }; + + this.columnInference = new ColumnInferenceResults() + { + TextLoaderOptions = textLoaderArgs, + ColumnInformation = new ColumnInformation() { LabelColumn = "Label" } + }; + } + return (mockedPipeline, columnInference); + } + + private (Pipeline, ColumnInferenceResults) GetMockedOvaPipelineAndInference() + { + if (mockedOvaPipeline == null) + { + MLContext context = new MLContext(); + // same learners with different hyperparams + var hyperparams1 = new Microsoft.ML.Auto.ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); + var hyperparams2 = new Microsoft.ML.Auto.ParameterSet(new List() { new LongParameterValue("NumLeaves", 6) }); + var trainer1 = new SuggestedTrainer(context, new FastForestOvaExtension(), new ColumnInformation(), hyperparams1); + var trainer2 = new SuggestedTrainer(context, new FastForestOvaExtension(), new ColumnInformation(), hyperparams2); + var transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; + var transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; + var inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, true); + var inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, false); + + this.mockedOvaPipeline = inferredPipeline1.ToPipeline(); var textLoaderArgs = new TextLoader.Options() { Columns = new[] { @@ -241,13 +308,15 @@ public void PredictProjectFileContentTest() Separators = new[] { ',' } }; + this.columnInference = new ColumnInferenceResults() { TextLoaderOptions = textLoaderArgs, ColumnInformation = new ColumnInformation() { LabelColumn = "Label" } }; + } - return (pipeline, columnInference); + return (mockedOvaPipeline, columnInference); } } } diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index 456b8516ac..79ce1827ac 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -51,7 +51,7 @@ public void TrainerGeneratorBasicAdvancedParameterTest() string expectedTrainer = "LightGbm(new Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; string expectedUsing = "using Microsoft.ML.LightGBM;\r\n"; Assert.AreEqual(expectedTrainer, actual.Item1); - Assert.AreEqual(expectedUsing, actual.Item2); + Assert.AreEqual(expectedUsing, actual.Item2[0]); } [TestMethod] @@ -80,7 +80,7 @@ public void TransformGeneratorUsingTest() string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnOptions(\"Label\",\"Label\")})"; var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); + Assert.AreEqual(expectedUsings, actual[0].Item2[0]); } [TestMethod] @@ -130,7 +130,7 @@ public void TrainerComplexParameterTest() string expectedTrainer = "LightGbm(new Options(){Booster=new TreeBooster(){},LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; var expectedUsings = "using Microsoft.ML.LightGBM;\r\n"; Assert.AreEqual(expectedTrainer, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } } } diff --git a/src/mlnet.Test/TrainerGeneratorTests.cs b/src/mlnet.Test/TrainerGeneratorTests.cs index fef0a87227..58faddb268 100644 --- a/src/mlnet.Test/TrainerGeneratorTests.cs +++ b/src/mlnet.Test/TrainerGeneratorTests.cs @@ -52,7 +52,7 @@ public void LightGbmBinaryAdvancedParameterTest() string expectedTrainerString = "LightGbm(new Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; string expectedUsings = "using Microsoft.ML.LightGBM;\r\n"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -90,7 +90,7 @@ public void SymSgdBinaryAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers.HalLearners;\r\n"; string expectedTrainerString = "SymbolicStochasticGradientDescent(new SymSgdClassificationTrainer.Options(){LearningRate=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -127,7 +127,7 @@ public void StochasticGradientDescentBinaryAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; string expectedTrainerString = "StochasticGradientDescent(new SgdBinaryTrainer.Options(){Shuffle=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -164,7 +164,7 @@ public void SDCABinaryAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; string expectedTrainerString = "StochasticDualCoordinateAscent(new SdcaBinaryTrainer.Options(){BiasLearningRate=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -201,7 +201,7 @@ public void SDCAMultiAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; string expectedTrainerString = "StochasticDualCoordinateAscent(new SdcaMultiClassTrainer.Options(){BiasLearningRate=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -238,7 +238,7 @@ public void SDCARegressionAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; string expectedTrainerString = "StochasticDualCoordinateAscent(new SdcaRegressionTrainer.Options(){BiasLearningRate=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -275,7 +275,7 @@ public void PoissonRegressionAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; string expectedTrainerString = "PoissonRegression(new PoissonRegression.Options(){MaxIterations=1,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -312,7 +312,7 @@ public void OrdinaryLeastSquaresRegressionAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers.HalLearners;\r\n"; string expectedTrainerString = "OrdinaryLeastSquares(new OlsLinearRegressionTrainer.Options(){L2Weight=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -349,7 +349,7 @@ public void OnlineGradientDescentRegressionAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; string expectedTrainerString = "OnlineGradientDescent(new OnlineGradientDescentTrainer.Options(){RecencyGainMulti=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -386,7 +386,7 @@ public void LogisticRegressionBinaryAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; string expectedTrainerString = "LogisticRegression(new LogisticRegression.Options(){DenseOptimizer=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -423,7 +423,7 @@ public void LogisticRegressionMultiAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; string expectedTrainerString = "LogisticRegression(new MulticlassLogisticRegression.Options(){DenseOptimizer=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -460,7 +460,7 @@ public void LinearSvmBinaryParameterTest() var expectedUsings = "using Microsoft.ML.Trainers;\r\n "; string expectedTrainerString = "LinearSupportVectorMachines(new LinearSvmTrainer.Options(){NoBias=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -498,7 +498,7 @@ public void FastTreeTweedieRegressionAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; string expectedTrainerString = "OnlineGradientDescent(new OnlineGradientDescentTrainer.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -536,7 +536,7 @@ public void FastTreeRegressionAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers.FastTree;\r\n"; string expectedTrainerString = "FastTree(new FastTreeRegressionTrainer.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -574,7 +574,7 @@ public void FastTreeBinaryAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers.FastTree;\r\n"; string expectedTrainerString = "FastTree(new FastTreeBinaryClassificationTrainer.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -611,7 +611,7 @@ public void FastForestRegressionAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers.FastTree;\r\n"; string expectedTrainerString = "FastForest(new FastForestRegression.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -649,7 +649,7 @@ public void FastForestBinaryAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers.FastTree;\r\n"; string expectedTrainerString = "FastForest(new FastForestClassification.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } @@ -687,7 +687,7 @@ public void AveragedPerceptronBinaryAdvancedParameterTest() var expectedUsings = "using Microsoft.ML.Trainers;\r\n "; string expectedTrainerString = "AveragedPerceptron(new AveragedPerceptronTrainer.Options(){Shuffle=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); - Assert.AreEqual(expectedUsings, actual.Item2); + Assert.AreEqual(expectedUsings, actual.Item2[0]); } } diff --git a/src/mlnet.Test/TransformGeneratorTests.cs b/src/mlnet.Test/TransformGeneratorTests.cs index eedfececc3..7865a8fbb5 100644 --- a/src/mlnet.Test/TransformGeneratorTests.cs +++ b/src/mlnet.Test/TransformGeneratorTests.cs @@ -21,7 +21,7 @@ public void MissingValueReplacingTest() var expectedTransform = "ReplaceMissingValues(new []{new MissingValueReplacingEstimator.ColumnOptions(\"categorical_column_1\",\"categorical_column_1\")})"; string expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); + Assert.AreEqual(expectedUsings, actual[0].Item2[0]); } [TestMethod] @@ -36,7 +36,7 @@ public void OneHotEncodingTest() string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnOptions(\"categorical_column_1\",\"categorical_column_1\")})"; var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); + Assert.AreEqual(expectedUsings, actual[0].Item2[0]); } [TestMethod] @@ -96,7 +96,7 @@ public void KeyToValueMappingTest() string expectedTransform = "Conversion.MapKeyToValue(\"Label\",\"Label\")"; var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); + Assert.AreEqual(expectedUsings, actual[0].Item2[0]); } [TestMethod] @@ -126,7 +126,7 @@ public void OneHotHashEncodingTest() string expectedTransform = "Categorical.OneHotHashEncoding(new []{new OneHotHashEncodingEstimator.ColumnOptions(\"Categorical_column_1\",\"Categorical_column_1\")})"; var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); + Assert.AreEqual(expectedUsings, actual[0].Item2[0]); } [TestMethod] @@ -156,7 +156,7 @@ public void TypeConvertingTest() string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingEstimator.ColumnOptions(\"R4_column_1\",DataKind.Single,\"I4_column_1\")})"; string expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); + Assert.AreEqual(expectedUsings, actual[0].Item2[0]); } [TestMethod] @@ -171,7 +171,7 @@ public void ValueToKeyMappingTest() string expectedTransform = "Conversion.MapValueToKey(\"Label\",\"Label\")"; var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2); + Assert.AreEqual(expectedUsings, actual[0].Item2[0]); } } diff --git a/src/mlnet/AutoML/AutoMLEngine.cs b/src/mlnet/AutoML/AutoMLEngine.cs index 733bb72f10..2f08bbddf7 100644 --- a/src/mlnet/AutoML/AutoMLEngine.cs +++ b/src/mlnet/AutoML/AutoMLEngine.cs @@ -89,24 +89,14 @@ public ColumnInferenceResults InferColumns(MLContext context, ColumnInformation { var optimizationMetric = new MulticlassExperimentSettings().OptimizingMetric; var progressReporter = new ProgressHandlers.MulticlassClassificationHandler(optimizationMetric); - - var experimentSettings = new MulticlassExperimentSettings() - { - MaxExperimentTimeInSeconds = settings.MaxExplorationTime, - ProgressHandler = progressReporter, - EnableCaching = this.enableCaching, - OptimizingMetric = optimizationMetric - }; - - // Inclusion list for currently supported learners. Need to remove once we have codegen support for all other learners. - experimentSettings.Trainers.Clear(); - experimentSettings.Trainers.Add(MulticlassClassificationTrainer.LightGbm); - experimentSettings.Trainers.Add(MulticlassClassificationTrainer.LogisticRegression); - experimentSettings.Trainers.Add(MulticlassClassificationTrainer.StochasticDualCoordinateAscent); - var result = context.Auto() - .CreateMulticlassClassificationExperiment(experimentSettings) - .Execute(trainData, validationData, columnInformation); + .CreateMulticlassClassificationExperiment(new MulticlassExperimentSettings() + { + MaxExperimentTimeInSeconds = settings.MaxExplorationTime, + ProgressHandler = progressReporter, + EnableCaching = this.enableCaching, + OptimizingMetric = optimizationMetric + }).Execute(trainData, validationData, columnInformation); logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); var bestIteration = result.Best(); pipeline = bestIteration.Pipeline; diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index 3c8f4ab8e9..8672e68e86 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -79,7 +79,7 @@ public void GenerateOutput() { var result = GenerateTransformsAndTrainers(); - var trainProgramCSFileContent = GenerateTrainProgramCSFileContent(result.Usings, result.Trainer, result.PreTrainerTransforms, result.PostTrainerTransforms, namespaceValue, pipeline.CacheBeforeTrainer, labelTypeCsharp.Name); + var trainProgramCSFileContent = GenerateTrainProgramCSFileContent(result.Usings, result.TrainerMethod, result.PreTrainerTransforms, result.PostTrainerTransforms, namespaceValue, pipeline.CacheBeforeTrainer, labelTypeCsharp.Name); trainProgramCSFileContent = Utils.FormatCode(trainProgramCSFileContent); var trainProjectFileContent = GeneratTrainProjectFileContent(namespaceValue); @@ -108,11 +108,10 @@ public void GenerateOutput() return (observationCSFileContent, predictionCSFileContent, modelProjectFileContent); } - internal (string Usings, string Trainer, List PreTrainerTransforms, List PostTrainerTransforms) GenerateTransformsAndTrainers() + internal (string Usings, string TrainerMethod, List PreTrainerTransforms, List PostTrainerTransforms) GenerateTransformsAndTrainers() { StringBuilder usingsBuilder = new StringBuilder(); var usings = new List(); - var trainerAndUsings = this.GenerateTrainerAndUsings(); // Get pre-trainer transforms var nodes = pipeline.Nodes.TakeWhile(t => t.NodeType == PipelineNodeType.Transform); @@ -125,14 +124,17 @@ public void GenerateOutput() var postTrainerTransformsAndUsings = this.GenerateTransformsAndUsings(nodes); //Get trainer code and its associated usings. - var trainer = trainerAndUsings.Item1; - usings.Add(trainerAndUsings.Item2); + (string trainerMethod, string[] trainerUsings) = this.GenerateTrainerAndUsings(); + if (trainerUsings != null) + { + usings.AddRange(trainerUsings); + } //Get transforms code and its associated (unique) usings. - var preTrainerTransforms = preTrainerTransformsAndUsings.Select(t => t.Item1).ToList(); - var postTrainerTransforms = postTrainerTransformsAndUsings.Select(t => t.Item1).ToList(); - usings.AddRange(preTrainerTransformsAndUsings.Select(t => t.Item2)); - usings.AddRange(postTrainerTransformsAndUsings.Select(t => t.Item2)); + var preTrainerTransforms = preTrainerTransformsAndUsings?.Select(t => t.Item1).ToList(); + var postTrainerTransforms = postTrainerTransformsAndUsings?.Select(t => t.Item1).ToList(); + usings.AddRange(preTrainerTransformsAndUsings.Where(t => t.Item2 != null).SelectMany(t => t.Item2)); + usings.AddRange(postTrainerTransformsAndUsings.Where(t => t.Item2 != null).SelectMany(t => t.Item2)); usings = usings.Distinct().ToList(); //Combine all using statements to actual text. @@ -143,14 +145,14 @@ public void GenerateOutput() usingsBuilder.Append(t); }); - return (usingsBuilder.ToString(), trainer, preTrainerTransforms, postTrainerTransforms); + return (usingsBuilder.ToString(), trainerMethod, preTrainerTransforms, postTrainerTransforms); } - internal IList<(string, string)> GenerateTransformsAndUsings(IEnumerable nodes) + internal IList<(string, string[])> GenerateTransformsAndUsings(IEnumerable nodes) { //var nodes = pipeline.Nodes.TakeWhile(t => t.NodeType == PipelineNodeType.Transform); //var nodes = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Transform); - var results = new List<(string, string)>(); + var results = new List<(string, string[])>(); foreach (var node in nodes) { ITransformGenerator generator = TransformGeneratorFactory.GetInstance(node); @@ -160,9 +162,15 @@ public void GenerateOutput() return results; } - internal (string, string) GenerateTrainerAndUsings() + internal (string, string[]) GenerateTrainerAndUsings() { - ITrainerGenerator generator = TrainerGeneratorFactory.GetInstance(pipeline); + if (pipeline == null) + throw new ArgumentNullException(nameof(pipeline)); + var node = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Trainer).First(); + if (node == null) + throw new ArgumentException($"The trainer was not found."); + + ITrainerGenerator generator = TrainerGeneratorFactory.GetInstance(node); var trainerString = generator.GenerateTrainer(); var trainerUsings = generator.GenerateUsings(); return (trainerString, trainerUsings); @@ -229,7 +237,7 @@ internal IList GenerateClassLabels() #region Train Project private string GenerateTrainProgramCSFileContent(string usings, - string trainer, + string trainerMethod, List preTrainerTransforms, List postTrainerTransforms, string namespaceValue, @@ -244,7 +252,7 @@ private string GenerateTrainProgramCSFileContent(string usings, Separator = columnInferenceResult.TextLoaderOptions.Separators.FirstOrDefault(), AllowQuoting = columnInferenceResult.TextLoaderOptions.AllowQuoting, AllowSparse = columnInferenceResult.TextLoaderOptions.AllowSparse, - Trainer = trainer, + Trainer = trainerMethod, GeneratedUsings = usings, Path = settings.TrainDataset, TestPath = settings.TestDataset, diff --git a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs index 56285828af..27273d16d5 100644 --- a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorBase.cs @@ -25,7 +25,7 @@ internal abstract class TrainerGeneratorBase : ITrainerGenerator internal abstract string OptionsName { get; } internal abstract string MethodName { get; } internal abstract IDictionary NamedParameters { get; } - internal abstract string Usings { get; } + internal abstract string[] Usings { get; } /// /// Generates an instance of TrainerGenerator @@ -39,7 +39,10 @@ protected TrainerGeneratorBase(PipelineNode node) private void Initialize(PipelineNode node) { this.node = node; - hasAdvancedSettings = node.Properties.Keys.Any(t => !NamedParameters.ContainsKey(t)); + if (NamedParameters != null) + { + hasAdvancedSettings = node.Properties.Keys.Any(t => !NamedParameters.ContainsKey(t)); + } seperator = hasAdvancedSettings ? "=" : ":"; if (!node.Properties.ContainsKey("LabelColumn")) { @@ -87,11 +90,19 @@ private void Initialize(PipelineNode node) } //more special cases to handle - arguments.Add(hasAdvancedSettings ? kv.Key : NamedParameters[kv.Key], value); + if (NamedParameters != null) + { + arguments.Add(hasAdvancedSettings ? kv.Key : NamedParameters[kv.Key], value); + } + else + { + arguments.Add(kv.Key, value); + } + } } - private static string BuildComplexParameter(string paramName, IDictionary arguments, string seperator) + internal static string BuildComplexParameter(string paramName, IDictionary arguments, string seperator) { StringBuilder sb = new StringBuilder(); sb.Append("new "); @@ -102,7 +113,7 @@ private static string BuildComplexParameter(string paramName, IDictionary arguments, string seperator) + internal static string AppendArguments(IDictionary arguments, string seperator) { if (arguments.Count == 0) return string.Empty; @@ -122,7 +133,7 @@ private static string AppendArguments(IDictionary arguments, str return sb.ToString(); } - public string GenerateTrainer() + public virtual string GenerateTrainer() { StringBuilder sb = new StringBuilder(); sb.Append(MethodName); @@ -140,7 +151,7 @@ public string GenerateTrainer() return sb.ToString(); } - public string GenerateUsings() + public virtual string[] GenerateUsings() { if (hasAdvancedSettings) return Usings; diff --git a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs index 6d9d500735..fb29594c9a 100644 --- a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs @@ -12,18 +12,14 @@ namespace Microsoft.ML.CLI.CodeGenerator.CSharp internal interface ITrainerGenerator { string GenerateTrainer(); - string GenerateUsings(); + + string[] GenerateUsings(); } internal static class TrainerGeneratorFactory { - internal static ITrainerGenerator GetInstance(Pipeline pipeline) + internal static ITrainerGenerator GetInstance(PipelineNode node) { - if (pipeline == null) - throw new ArgumentNullException(nameof(pipeline)); - var node = pipeline.Nodes.Where(t => t.NodeType == PipelineNodeType.Trainer).First(); - if (node == null) - throw new ArgumentException($"The trainer was not found."); if (Enum.TryParse(node.Name, out TrainerName trainer)) { switch (trainer) @@ -66,6 +62,8 @@ internal static ITrainerGenerator GetInstance(Pipeline pipeline) return new StochasticGradientDescentClassification(node); case TrainerName.SymSgdBinary: return new SymbolicStochasticGradientDescent(node); + case TrainerName.Ova: + return new OneVersusAll(node); default: throw new ArgumentException($"The trainer '{trainer}' is not handled currently."); } diff --git a/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs index 3b6a194e1c..6b6d99f524 100644 --- a/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs @@ -3,6 +3,8 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; +using System.Linq; +using System.Text; using Microsoft.ML.Auto; namespace Microsoft.ML.CLI.CodeGenerator.CSharp @@ -36,7 +38,7 @@ internal override IDictionary NamedParameters } } - internal override string Usings => "using Microsoft.ML.LightGBM;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.LightGBM;\r\n" }; public LightGbm(PipelineNode node) : base(node) { @@ -70,7 +72,7 @@ internal override IDictionary NamedParameters } } - internal override string Usings => "using Microsoft.ML.Trainers;\r\n "; + internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers;\r\n " }; public AveragedPerceptron(PipelineNode node) : base(node) { @@ -80,7 +82,7 @@ public AveragedPerceptron(PipelineNode node) : base(node) #region FastTree internal abstract class FastTreeBase : TrainerGeneratorBase { - internal override string Usings => "using Microsoft.ML.Trainers.FastTree;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers.FastTree;\r\n" }; //The named parameters to the trainer. internal override IDictionary NamedParameters @@ -196,7 +198,7 @@ internal override IDictionary NamedParameters } } - internal override string Usings => "using Microsoft.ML.Trainers;\r\n "; + internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers;\r\n " }; public LinearSvm(PipelineNode node) : base(node) { @@ -230,7 +232,7 @@ internal override IDictionary NamedParameters } } - internal override string Usings => "using Microsoft.ML.Trainers;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers;\r\n" }; public LogisticRegressionBase(PipelineNode node) : base(node) { @@ -285,7 +287,7 @@ internal override IDictionary NamedParameters } } - internal override string Usings => "using Microsoft.ML.Trainers;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers;\r\n" }; public OnlineGradientDescentRegression(PipelineNode node) : base(node) { @@ -315,7 +317,7 @@ internal override IDictionary NamedParameters } } - internal override string Usings => "using Microsoft.ML.Trainers.HalLearners;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers.HalLearners;\r\n" }; public OrdinaryLeastSquaresRegression(PipelineNode node) : base(node) { @@ -350,7 +352,7 @@ internal override IDictionary NamedParameters } } - internal override string Usings => "using Microsoft.ML.Trainers;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers;\r\n" }; public PoissonRegression(PipelineNode node) : base(node) { @@ -382,7 +384,7 @@ internal override IDictionary NamedParameters } } - internal override string Usings => "using Microsoft.ML.Trainers;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers;\r\n" }; public StochasticDualCoordinateAscentBase(PipelineNode node) : base(node) { @@ -447,7 +449,7 @@ internal override IDictionary NamedParameters } } - internal override string Usings => "using Microsoft.ML.Trainers;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers;\r\n" }; public StochasticGradientDescentClassification(PipelineNode node) : base(node) { @@ -477,12 +479,59 @@ internal override IDictionary NamedParameters } } - internal override string Usings => "using Microsoft.ML.Trainers.HalLearners;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers.HalLearners;\r\n" }; public SymbolicStochasticGradientDescent(PipelineNode node) : base(node) { + } } + internal class OneVersusAll : TrainerGeneratorBase + { + private PipelineNode node; + private string[] binaryTrainerUsings = null; + + //ClassName of the trainer + internal override string MethodName => "OneVersusAll"; + + //ClassName of the options to trainer + internal override string OptionsName => null; + + //The named parameters to the trainer. + internal override IDictionary NamedParameters => null; + + internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers;\r\n" }; + + public OneVersusAll(PipelineNode node) : base(node) + { + this.node = node; + } + + public override string GenerateTrainer() + { + StringBuilder sb = new StringBuilder(); + sb.Append(MethodName); + sb.Append("("); + sb.Append("mlContext.BinaryClassification.Trainers."); // This is dependent on the name of the MLContext object in template. + var trainerGenerator = TrainerGeneratorFactory.GetInstance((PipelineNode)this.node.Properties["BinaryTrainer"]); + binaryTrainerUsings = trainerGenerator.GenerateUsings(); + sb.Append(trainerGenerator.GenerateTrainer()); + sb.Append(","); + sb.Append("labelColumnName:"); + sb.Append("\""); + sb.Append(node.Properties["LabelColumn"]); + sb.Append("\""); + sb.Append(")"); + return sb.ToString(); + } + + public override string[] GenerateUsings() + { + return binaryTrainerUsings; + } + + } + } } diff --git a/src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase.cs b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase.cs index 3498ae8461..c55342fc78 100644 --- a/src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase.cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase.cs @@ -15,7 +15,7 @@ internal abstract class TransformGeneratorBase : ITransformGenerator //abstract properties internal abstract string MethodName { get; } - internal abstract string Usings { get; } + internal abstract string[] Usings { get; } protected string[] inputColumns; @@ -49,7 +49,7 @@ private void Initialize(PipelineNode node) public abstract string GenerateTransformer(); - public string GenerateUsings() + public string[] GenerateUsings() { return Usings; } diff --git a/src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs index 2b83f6267f..70500b091b 100644 --- a/src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorFactory.cs @@ -12,7 +12,7 @@ internal interface ITransformGenerator { string GenerateTransformer(); - string GenerateUsings(); + string[] GenerateUsings(); } internal static class TransformGeneratorFactory diff --git a/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs index 4612241abd..cc5fbd5ec6 100644 --- a/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs @@ -17,7 +17,7 @@ public Normalizer(PipelineNode node) : base(node) internal override string MethodName => "Normalize"; - internal override string Usings => null; + internal override string[] Usings => null; public override string GenerateTransformer() { @@ -42,7 +42,7 @@ public OneHotEncoding(PipelineNode node) : base(node) internal override string MethodName => "Categorical.OneHotEncoding"; - internal override string Usings => "using Microsoft.ML.Transforms;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.Transforms;\r\n" }; private string ArgumentsName = "OneHotEncodingEstimator.ColumnOptions"; @@ -79,7 +79,7 @@ public ColumnConcat(PipelineNode node) : base(node) internal override string MethodName => "Concatenate"; - internal override string Usings => null; + internal override string[] Usings => null; public override string GenerateTransformer() { @@ -111,7 +111,7 @@ public ColumnCopying(PipelineNode node) : base(node) internal override string MethodName => "CopyColumns"; - internal override string Usings => null; + internal override string[] Usings => null; public override string GenerateTransformer() { @@ -136,7 +136,7 @@ public KeyToValueMapping(PipelineNode node) : base(node) internal override string MethodName => "Conversion.MapKeyToValue"; - internal override string Usings => "using Microsoft.ML.Transforms;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.Transforms;\r\n" }; public override string GenerateTransformer() { @@ -161,7 +161,7 @@ public MissingValueIndicator(PipelineNode node) : base(node) internal override string MethodName => "IndicateMissingValues"; - internal override string Usings => null; + internal override string[] Usings => null; private string ArgumentsName = "ColumnOptions"; @@ -200,7 +200,7 @@ public MissingValueReplacer(PipelineNode node) : base(node) internal override string MethodName => "ReplaceMissingValues"; private string ArgumentsName = "MissingValueReplacingEstimator.ColumnOptions"; - internal override string Usings => "using Microsoft.ML.Transforms;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.Transforms;\r\n" }; public override string GenerateTransformer() { @@ -235,7 +235,7 @@ public OneHotHashEncoding(PipelineNode node) : base(node) internal override string MethodName => "Categorical.OneHotHashEncoding"; - internal override string Usings => "using Microsoft.ML.Transforms;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.Transforms;\r\n" }; private string ArgumentsName = "OneHotHashEncodingEstimator.ColumnOptions"; @@ -272,7 +272,7 @@ public TextFeaturizing(PipelineNode node) : base(node) internal override string MethodName => "Text.FeaturizeText"; - internal override string Usings => null; + internal override string[] Usings => null; public override string GenerateTransformer() { @@ -297,7 +297,7 @@ public TypeConverting(PipelineNode node) : base(node) internal override string MethodName => "Conversion.ConvertType"; - internal override string Usings => "using Microsoft.ML.Transforms;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.Transforms;\r\n" }; private string ArgumentsName = "TypeConvertingEstimator.ColumnOptions"; @@ -336,7 +336,7 @@ public ValueToKeyMapping(PipelineNode node) : base(node) internal override string MethodName => "Conversion.MapValueToKey"; - internal override string Usings => "using Microsoft.ML.Transforms;\r\n"; + internal override string[] Usings => new string[] { "using Microsoft.ML.Transforms;\r\n" }; public override string GenerateTransformer() { diff --git a/src/mlnet/Templates/Console/ConsoleHelper.cs b/src/mlnet/Templates/Console/ConsoleHelper.cs index 813ad14ac9..1a2668cce5 100644 --- a/src/mlnet/Templates/Console/ConsoleHelper.cs +++ b/src/mlnet/Templates/Console/ConsoleHelper.cs @@ -78,72 +78,87 @@ namespace "); "\r\n Console.WriteLine($\"* Auc: {metrics.Auc:P2}\");\r\n " + " Console.WriteLine($\"*******************************************************" + "*****\");\r\n }\r\n\r\n\r\n public static void PrintBinaryClassificationFol" + - "dsAverageMetrics(\r\n TrainCatalogBase.Cro" + - "ssValidationResult[] crossValResults)\r\n {\r\n " + - " var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics);\r" + - "\n\r\n var AccuracyValues = metricsInMultipleFolds.Select(m => m.Accurac" + - "y);\r\n var AccuracyAverage = AccuracyValues.Average();\r\n va" + - "r AccuraciesStdDeviation = CalculateStandardDeviation(AccuracyValues);\r\n " + - " var AccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(AccuracyV" + - "alues);\r\n\r\n\r\n Console.WriteLine($\"***********************************" + - "**************************************************************************\");\r\n " + - " Console.WriteLine($\"* Metrics for Binary Classification model " + - " \");\r\n Console.WriteLine($\"*--------------------------------------" + - "----------------------------------------------------------------------\");\r\n " + - " Console.WriteLine($\"* Average Accuracy: {AccuracyAverage:0.###} " + - " - Standard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 9" + - "5%: ({AccuraciesConfidenceInterval95:#.###})\");\r\n Console.WriteLine($" + - "\"*******************************************************************************" + - "******************************\");\r\n\r\n }\r\n\r\n public static void Pri" + - "ntMulticlassClassificationFoldsAverageMetrics(\r\n " + - " TrainCatalogBase.CrossValidationResult[] c" + - "rossValResults)\r\n {\r\n var metricsInMultipleFolds = crossValRes" + - "ults.Select(r => r.Metrics);\r\n\r\n var microAccuracyValues = metricsInM" + - "ultipleFolds.Select(m => m.AccuracyMicro);\r\n var microAccuracyAverage" + - " = microAccuracyValues.Average();\r\n var microAccuraciesStdDeviation =" + - " CalculateStandardDeviation(microAccuracyValues);\r\n var microAccuraci" + - "esConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues);\r\n\r\n" + - " var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.Accur" + - "acyMacro);\r\n var macroAccuracyAverage = macroAccuracyValues.Average()" + - ";\r\n var macroAccuraciesStdDeviation = CalculateStandardDeviation(macr" + - "oAccuracyValues);\r\n var macroAccuraciesConfidenceInterval95 = Calcula" + - "teConfidenceInterval95(macroAccuracyValues);\r\n\r\n var logLossValues = " + - "metricsInMultipleFolds.Select(m => m.LogLoss);\r\n var logLossAverage =" + - " logLossValues.Average();\r\n var logLossStdDeviation = CalculateStanda" + - "rdDeviation(logLossValues);\r\n var logLossConfidenceInterval95 = Calcu" + - "lateConfidenceInterval95(logLossValues);\r\n\r\n var logLossReductionValu" + - "es = metricsInMultipleFolds.Select(m => m.LogLossReduction);\r\n var lo" + - "gLossReductionAverage = logLossReductionValues.Average();\r\n var logLo" + - "ssReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues);\r\n " + - " var logLossReductionConfidenceInterval95 = CalculateConfidenceInterva" + - "l95(logLossReductionValues);\r\n\r\n Console.WriteLine($\"****************" + + "dsAverageMetrics(TrainCatalogBase.CrossValidationResult[] crossValResults)\r\n {\r\n var metricsInMultipleFolds = cro" + + "ssValResults.Select(r => r.Metrics);\r\n\r\n var AccuracyValues = metrics" + + "InMultipleFolds.Select(m => m.Accuracy);\r\n var AccuracyAverage = Accu" + + "racyValues.Average();\r\n var AccuraciesStdDeviation = CalculateStandar" + + "dDeviation(AccuracyValues);\r\n var AccuraciesConfidenceInterval95 = Ca" + + "lculateConfidenceInterval95(AccuracyValues);\r\n\r\n\r\n Console.WriteLine(" + + "$\"******************************************************************************" + + "*******************************\");\r\n Console.WriteLine($\"* Metr" + + "ics for Binary Classification model \");\r\n Console.WriteLine($\"*-" + + "--------------------------------------------------------------------------------" + + "---------------------------\");\r\n Console.WriteLine($\"* Average " + + "Accuracy: {AccuracyAverage:0.###} - Standard deviation: ({AccuraciesStdDevia" + + "tion:#.###}) - Confidence Interval 95%: ({AccuraciesConfidenceInterval95:#.###}" + + ")\");\r\n Console.WriteLine($\"******************************************" + + "*******************************************************************\");\r\n\r\n " + + " }\r\n\r\n public static void PrintMultiClassClassificationMetrics(MultiClas" + + "sClassifierMetrics metrics)\r\n {\r\n Console.WriteLine($\"********" + + "****************************************************\");\r\n Console.Wri" + + "teLine($\"* Metrics for multi-class classification model \");\r\n Co" + + "nsole.WriteLine($\"*-----------------------------------------------------------\")" + + ";\r\n Console.WriteLine($\" AccuracyMacro = {metrics.AccuracyMacro:0." + + "####}, a value between 0 and 1, the closer to 1, the better\");\r\n Cons" + + "ole.WriteLine($\" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value betw" + + "een 0 and 1, the closer to 1, the better\");\r\n Console.WriteLine($\" " + + " LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better\");\r\n " + + " Console.WriteLine($\" LogLoss for class 1 = {metrics.PerClassLogLoss[0]:0.###" + + "#}, the closer to 0, the better\");\r\n Console.WriteLine($\" LogLoss " + + "for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to 0, the better\")" + + ";\r\n Console.WriteLine($\" LogLoss for class 3 = {metrics.PerClassLo" + + "gLoss[2]:0.####}, the closer to 0, the better\");\r\n Console.WriteLine(" + + "$\"************************************************************\");\r\n }\r\n\r\n" + + " public static void PrintMulticlassClassificationFoldsAverageMetrics(Trai" + + "nCatalogBase.CrossValidationResult[] crossValResult" + + "s)\r\n {\r\n var metricsInMultipleFolds = crossValResults.Select(r" + + " => r.Metrics);\r\n\r\n var microAccuracyValues = metricsInMultipleFolds." + + "Select(m => m.AccuracyMicro);\r\n var microAccuracyAverage = microAccur" + + "acyValues.Average();\r\n var microAccuraciesStdDeviation = CalculateSta" + + "ndardDeviation(microAccuracyValues);\r\n var microAccuraciesConfidenceI" + + "nterval95 = CalculateConfidenceInterval95(microAccuracyValues);\r\n\r\n v" + + "ar macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro);\r\n " + + " var macroAccuracyAverage = macroAccuracyValues.Average();\r\n " + + " var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValu" + + "es);\r\n var macroAccuraciesConfidenceInterval95 = CalculateConfidenceI" + + "nterval95(macroAccuracyValues);\r\n\r\n var logLossValues = metricsInMult" + + "ipleFolds.Select(m => m.LogLoss);\r\n var logLossAverage = logLossValue" + + "s.Average();\r\n var logLossStdDeviation = CalculateStandardDeviation(l" + + "ogLossValues);\r\n var logLossConfidenceInterval95 = CalculateConfidenc" + + "eInterval95(logLossValues);\r\n\r\n var logLossReductionValues = metricsI" + + "nMultipleFolds.Select(m => m.LogLossReduction);\r\n var logLossReductio" + + "nAverage = logLossReductionValues.Average();\r\n var logLossReductionSt" + + "dDeviation = CalculateStandardDeviation(logLossReductionValues);\r\n va" + + "r logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(logLossRe" + + "ductionValues);\r\n\r\n Console.WriteLine($\"*****************************" + "********************************************************************************" + - "*************\");\r\n Console.WriteLine($\"* Metrics for Multi-clas" + - "s Classification model \");\r\n Console.WriteLine($\"*--------------" + + "\");\r\n Console.WriteLine($\"* Metrics for Multi-class Classificat" + + "ion model \");\r\n Console.WriteLine($\"*---------------------------" + "--------------------------------------------------------------------------------" + - "--------------\");\r\n Console.WriteLine($\"* Average MicroAccuracy" + - ": {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDev" + - "iation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95" + - ":#.###})\");\r\n Console.WriteLine($\"* Average MacroAccuracy: {" + - "macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation" + - ":#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###" + - "})\");\r\n Console.WriteLine($\"* Average LogLoss: {logLos" + - "sAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confiden" + - "ce Interval 95%: ({logLossConfidenceInterval95:#.###})\");\r\n Console.W" + - "riteLine($\"* Average LogLossReduction: {logLossReductionAverage:#.###} - " + - "Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interva" + - "l 95%: ({logLossReductionConfidenceInterval95:#.###})\");\r\n Console.Wr" + - "iteLine($\"**********************************************************************" + - "***************************************\");\r\n\r\n }\r\n\r\n public static" + - " double CalculateStandardDeviation(IEnumerable values)\r\n {\r\n " + - " double average = values.Average();\r\n double sumOfSquaresOfDiff" + - "erences = values.Select(val => (val - average) * (val - average)).Sum();\r\n " + - " double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.C" + - "ount() - 1));\r\n return standardDeviation;\r\n }\r\n\r\n publi" + - "c static double CalculateConfidenceInterval95(IEnumerable values)\r\n " + - " {\r\n double confidenceInterval95 = 1.96 * CalculateStandardDeviatio" + - "n(values) / Math.Sqrt((values.Count() - 1));\r\n return confidenceInter" + - "val95;\r\n }\r\n }\r\n}\r\n"); + "-\");\r\n Console.WriteLine($\"* Average MicroAccuracy: {microAc" + + "curacyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:#.###}" + + ") - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###})\");\r\n" + + " Console.WriteLine($\"* Average MacroAccuracy: {macroAccuracy" + + "Average:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}) - C" + + "onfidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})\");\r\n " + + " Console.WriteLine($\"* Average LogLoss: {logLossAverage:#.##" + + "#} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Interval 9" + + "5%: ({logLossConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"* " + + " Average LogLossReduction: {logLossReductionAverage:#.###} - Standard devi" + + "ation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: ({logL" + + "ossReductionConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"***" + + "********************************************************************************" + + "**************************\");\r\n\r\n }\r\n\r\n public static double Calcu" + + "lateStandardDeviation(IEnumerable values)\r\n {\r\n double" + + " average = values.Average();\r\n double sumOfSquaresOfDifferences = val" + + "ues.Select(val => (val - average) * (val - average)).Sum();\r\n double " + + "standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Count() - 1));" + + "\r\n return standardDeviation;\r\n }\r\n\r\n public static doub" + + "le CalculateConfidenceInterval95(IEnumerable values)\r\n {\r\n " + + " double confidenceInterval95 = 1.96 * CalculateStandardDeviation(values) / M" + + "ath.Sqrt((values.Count() - 1));\r\n return confidenceInterval95;\r\n " + + " }\r\n }\r\n}\r\n"); return this.GenerationEnvironment.ToString(); } diff --git a/src/mlnet/Templates/Console/ConsoleHelper.tt b/src/mlnet/Templates/Console/ConsoleHelper.tt index 61cdfb5443..15c00f04eb 100644 --- a/src/mlnet/Templates/Console/ConsoleHelper.tt +++ b/src/mlnet/Templates/Console/ConsoleHelper.tt @@ -63,8 +63,7 @@ namespace <#= Namespace #>.Train } - public static void PrintBinaryClassificationFoldsAverageMetrics( - TrainCatalogBase.CrossValidationResult[] crossValResults) + public static void PrintBinaryClassificationFoldsAverageMetrics(TrainCatalogBase.CrossValidationResult[] crossValResults) { var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); @@ -82,8 +81,21 @@ namespace <#= Namespace #>.Train } - public static void PrintMulticlassClassificationFoldsAverageMetrics( - TrainCatalogBase.CrossValidationResult[] crossValResults) + public static void PrintMultiClassClassificationMetrics(MultiClassClassifierMetrics metrics) + { + Console.WriteLine($"************************************************************"); + Console.WriteLine($"* Metrics for multi-class classification model "); + Console.WriteLine($"*-----------------------------------------------------------"); + Console.WriteLine($" AccuracyMacro = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the better"); + Console.WriteLine($" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value between 0 and 1, the closer to 1, the better"); + Console.WriteLine($" LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better"); + Console.WriteLine($" LogLoss for class 1 = {metrics.PerClassLogLoss[0]:0.####}, the closer to 0, the better"); + Console.WriteLine($" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to 0, the better"); + Console.WriteLine($" LogLoss for class 3 = {metrics.PerClassLogLoss[2]:0.####}, the closer to 0, the better"); + Console.WriteLine($"************************************************************"); + } + + public static void PrintMulticlassClassificationFoldsAverageMetrics(TrainCatalogBase.CrossValidationResult[] crossValResults) { var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); diff --git a/src/mlnet/Templates/Console/TrainProgram.cs b/src/mlnet/Templates/Console/TrainProgram.cs index 6034645127..4ddf790cd6 100644 --- a/src/mlnet/Templates/Console/TrainProgram.cs +++ b/src/mlnet/Templates/Console/TrainProgram.cs @@ -182,8 +182,8 @@ public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDat this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".Evaluate(predictions, \""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\", \"Score\");\r\n ConsoleHelper.PrintBinaryClassificationMetrics(metrics)" + - ";\r\n"); + this.Write("\", \"Score\");\r\n ConsoleHelper.PrintMultiClassClassificationMetrics(metr" + + "ics);\r\n"); }if("Regression".Equals(TaskType)){ this.Write(" var metrics = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); diff --git a/src/mlnet/Templates/Console/TrainProgram.tt b/src/mlnet/Templates/Console/TrainProgram.tt index 92e52dea29..98391d6d7c 100644 --- a/src/mlnet/Templates/Console/TrainProgram.tt +++ b/src/mlnet/Templates/Console/TrainProgram.tt @@ -131,7 +131,7 @@ else{#> ConsoleHelper.PrintBinaryClassificationMetrics(metrics); <#} if("MulticlassClassification".Equals(TaskType)){ #> var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "<#= LabelName #>", "Score"); - ConsoleHelper.PrintBinaryClassificationMetrics(metrics); + ConsoleHelper.PrintMultiClassClassificationMetrics(metrics); <#}if("Regression".Equals(TaskType)){ #> var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "<#= LabelName #>", "Score"); ConsoleHelper.PrintRegressionMetrics(metrics); From a3e7f6ae8e8cf21c346f250ed4a0dd7c33d1b024 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 27 Mar 2019 14:53:53 -0700 Subject: [PATCH 181/211] Rev run result trainer name for OVA: output different trainer name for each OVA + binary learner combination (#322) * Rev run result trainer name for Ova: output different trainer name for each Ova + binary learner combination * test fixes --- src/Microsoft.ML.Auto/API/RunResult.cs | 4 ++-- .../Experiment/SuggestedPipelineResult.cs | 3 ++- src/Test/RunResultTests.cs | 10 +++++----- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/RunResult.cs b/src/Microsoft.ML.Auto/API/RunResult.cs index 5d55c2bf5d..7f67e3eb58 100644 --- a/src/Microsoft.ML.Auto/API/RunResult.cs +++ b/src/Microsoft.ML.Auto/API/RunResult.cs @@ -26,6 +26,7 @@ public sealed class RunResult internal RunResult(ModelContainer modelContainer, T metrics, IEstimator estimator, + string trainerName, Pipeline pipeline, Exception exception, double runtimeInSeconds, @@ -38,8 +39,7 @@ internal RunResult(ModelContainer modelContainer, Exception = exception; RuntimeInSeconds = runtimeInSeconds; PipelineInferenceTimeInSeconds = pipelineInferenceTimeInSeconds; - - TrainerName = pipeline?.Nodes.Where(n => n.NodeType == PipelineNodeType.Trainer).Last().Name; + TrainerName = trainerName; } } } diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs index 05d486b2a6..79cff62f9e 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs @@ -53,7 +53,8 @@ public SuggestedPipelineResult(T evaluatedMetrics, IEstimator esti public RunResult ToIterationResult() { - return new RunResult(ModelContainer, EvaluatedMetrics, Estimator, Pipeline.ToPipeline(), Exception, RuntimeInSeconds, PipelineInferenceTimeInSeconds); + return new RunResult(ModelContainer, EvaluatedMetrics, Estimator, Pipeline.Trainer.TrainerName.ToString(), + Pipeline.ToPipeline(), Exception, RuntimeInSeconds, PipelineInferenceTimeInSeconds); } } } diff --git a/src/Test/RunResultTests.cs b/src/Test/RunResultTests.cs index 166df42d72..9cef6221da 100644 --- a/src/Test/RunResultTests.cs +++ b/src/Test/RunResultTests.cs @@ -20,10 +20,10 @@ public void FindBestResultWithSomeNullMetrics() var runResults = new List>() { - new RunResult(null, null, null, null, null, 0, 0), - new RunResult(null, metrics1, null, null, null, 0, 0), - new RunResult(null, metrics2, null, null, null, 0, 0), - new RunResult(null, metrics3, null, null, null, 0, 0), + new RunResult(null, null, null, null, null, null, 0, 0), + new RunResult(null, metrics1, null, null, null, null, 0, 0), + new RunResult(null, metrics2, null, null, null, null, 0, 0), + new RunResult(null, metrics3, null, null, null, null, 0, 0), }; var metricsAgent = new RegressionMetricsAgent(RegressionMetric.RSquared); @@ -36,7 +36,7 @@ public void FindBestResultWithAllNullMetrics() { var runResults = new List>() { - new RunResult(null, null, null, null, null, 0, 0), + new RunResult(null, null, null, null, null, null, 0, 0), }; var metricsAgent = new RegressionMetricsAgent(RegressionMetric.RSquared); From 4b6cb6a5cdef34ac0341d7127ff4f070ee362b9c Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 27 Mar 2019 15:45:18 -0700 Subject: [PATCH 182/211] Console helper bug in generated code for multiclass (#323) * fix * fix test * looping perlogclass * fix test --- ....ConsoleHelperFileContentTest.approved.txt | 7 +- src/mlnet/Templates/Console/ConsoleHelper.cs | 104 +++++++++--------- src/mlnet/Templates/Console/ConsoleHelper.tt | 7 +- 3 files changed, 59 insertions(+), 59 deletions(-) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt index a98a044ab2..1915f67690 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt @@ -84,9 +84,10 @@ namespace TestNamespace.Train Console.WriteLine($" AccuracyMacro = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the better"); Console.WriteLine($" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value between 0 and 1, the closer to 1, the better"); Console.WriteLine($" LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better"); - Console.WriteLine($" LogLoss for class 1 = {metrics.PerClassLogLoss[0]:0.####}, the closer to 0, the better"); - Console.WriteLine($" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to 0, the better"); - Console.WriteLine($" LogLoss for class 3 = {metrics.PerClassLogLoss[2]:0.####}, the closer to 0, the better"); + for (int i = 0; i < metrics.PerClassLogLoss.Length; i++) + { + Console.WriteLine($" LogLoss for class {i + 1} = {metrics.PerClassLogLoss[i]:0.####}, the closer to 0, the better"); + } Console.WriteLine($"************************************************************"); } diff --git a/src/mlnet/Templates/Console/ConsoleHelper.cs b/src/mlnet/Templates/Console/ConsoleHelper.cs index 1a2668cce5..53c174c30d 100644 --- a/src/mlnet/Templates/Console/ConsoleHelper.cs +++ b/src/mlnet/Templates/Console/ConsoleHelper.cs @@ -104,61 +104,59 @@ namespace "); "ole.WriteLine($\" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value betw" + "een 0 and 1, the closer to 1, the better\");\r\n Console.WriteLine($\" " + " LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better\");\r\n " + - " Console.WriteLine($\" LogLoss for class 1 = {metrics.PerClassLogLoss[0]:0.###" + - "#}, the closer to 0, the better\");\r\n Console.WriteLine($\" LogLoss " + - "for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to 0, the better\")" + - ";\r\n Console.WriteLine($\" LogLoss for class 3 = {metrics.PerClassLo" + - "gLoss[2]:0.####}, the closer to 0, the better\");\r\n Console.WriteLine(" + - "$\"************************************************************\");\r\n }\r\n\r\n" + - " public static void PrintMulticlassClassificationFoldsAverageMetrics(Trai" + - "nCatalogBase.CrossValidationResult[] crossValResult" + - "s)\r\n {\r\n var metricsInMultipleFolds = crossValResults.Select(r" + - " => r.Metrics);\r\n\r\n var microAccuracyValues = metricsInMultipleFolds." + - "Select(m => m.AccuracyMicro);\r\n var microAccuracyAverage = microAccur" + - "acyValues.Average();\r\n var microAccuraciesStdDeviation = CalculateSta" + - "ndardDeviation(microAccuracyValues);\r\n var microAccuraciesConfidenceI" + - "nterval95 = CalculateConfidenceInterval95(microAccuracyValues);\r\n\r\n v" + - "ar macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro);\r\n " + - " var macroAccuracyAverage = macroAccuracyValues.Average();\r\n " + - " var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValu" + - "es);\r\n var macroAccuraciesConfidenceInterval95 = CalculateConfidenceI" + - "nterval95(macroAccuracyValues);\r\n\r\n var logLossValues = metricsInMult" + - "ipleFolds.Select(m => m.LogLoss);\r\n var logLossAverage = logLossValue" + - "s.Average();\r\n var logLossStdDeviation = CalculateStandardDeviation(l" + - "ogLossValues);\r\n var logLossConfidenceInterval95 = CalculateConfidenc" + - "eInterval95(logLossValues);\r\n\r\n var logLossReductionValues = metricsI" + - "nMultipleFolds.Select(m => m.LogLossReduction);\r\n var logLossReductio" + - "nAverage = logLossReductionValues.Average();\r\n var logLossReductionSt" + - "dDeviation = CalculateStandardDeviation(logLossReductionValues);\r\n va" + - "r logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(logLossRe" + - "ductionValues);\r\n\r\n Console.WriteLine($\"*****************************" + + " for (int i = 0; i < metrics.PerClassLogLoss.Length; i++)\r\n {\r\n " + + " Console.WriteLine($\" LogLoss for class {i + 1} = {metrics.PerClassL" + + "ogLoss[i]:0.####}, the closer to 0, the better\");\r\n }\r\n Co" + + "nsole.WriteLine($\"************************************************************\")" + + ";\r\n }\r\n\r\n public static void PrintMulticlassClassificationFoldsAve" + + "rageMetrics(TrainCatalogBase.CrossValidationResult[" + + "] crossValResults)\r\n {\r\n var metricsInMultipleFolds = crossVal" + + "Results.Select(r => r.Metrics);\r\n\r\n var microAccuracyValues = metrics" + + "InMultipleFolds.Select(m => m.AccuracyMicro);\r\n var microAccuracyAver" + + "age = microAccuracyValues.Average();\r\n var microAccuraciesStdDeviatio" + + "n = CalculateStandardDeviation(microAccuracyValues);\r\n var microAccur" + + "aciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues);\r" + + "\n\r\n var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.Ac" + + "curacyMacro);\r\n var macroAccuracyAverage = macroAccuracyValues.Averag" + + "e();\r\n var macroAccuraciesStdDeviation = CalculateStandardDeviation(m" + + "acroAccuracyValues);\r\n var macroAccuraciesConfidenceInterval95 = Calc" + + "ulateConfidenceInterval95(macroAccuracyValues);\r\n\r\n var logLossValues" + + " = metricsInMultipleFolds.Select(m => m.LogLoss);\r\n var logLossAverag" + + "e = logLossValues.Average();\r\n var logLossStdDeviation = CalculateSta" + + "ndardDeviation(logLossValues);\r\n var logLossConfidenceInterval95 = Ca" + + "lculateConfidenceInterval95(logLossValues);\r\n\r\n var logLossReductionV" + + "alues = metricsInMultipleFolds.Select(m => m.LogLossReduction);\r\n var" + + " logLossReductionAverage = logLossReductionValues.Average();\r\n var lo" + + "gLossReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues);" + + "\r\n var logLossReductionConfidenceInterval95 = CalculateConfidenceInte" + + "rval95(logLossReductionValues);\r\n\r\n Console.WriteLine($\"*************" + "********************************************************************************" + - "\");\r\n Console.WriteLine($\"* Metrics for Multi-class Classificat" + - "ion model \");\r\n Console.WriteLine($\"*---------------------------" + + "****************\");\r\n Console.WriteLine($\"* Metrics for Multi-c" + + "lass Classification model \");\r\n Console.WriteLine($\"*-----------" + "--------------------------------------------------------------------------------" + - "-\");\r\n Console.WriteLine($\"* Average MicroAccuracy: {microAc" + - "curacyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:#.###}" + - ") - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###})\");\r\n" + - " Console.WriteLine($\"* Average MacroAccuracy: {macroAccuracy" + - "Average:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}) - C" + - "onfidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})\");\r\n " + - " Console.WriteLine($\"* Average LogLoss: {logLossAverage:#.##" + - "#} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Interval 9" + - "5%: ({logLossConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"* " + - " Average LogLossReduction: {logLossReductionAverage:#.###} - Standard devi" + - "ation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: ({logL" + - "ossReductionConfidenceInterval95:#.###})\");\r\n Console.WriteLine($\"***" + - "********************************************************************************" + - "**************************\");\r\n\r\n }\r\n\r\n public static double Calcu" + - "lateStandardDeviation(IEnumerable values)\r\n {\r\n double" + - " average = values.Average();\r\n double sumOfSquaresOfDifferences = val" + - "ues.Select(val => (val - average) * (val - average)).Sum();\r\n double " + - "standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Count() - 1));" + - "\r\n return standardDeviation;\r\n }\r\n\r\n public static doub" + - "le CalculateConfidenceInterval95(IEnumerable values)\r\n {\r\n " + - " double confidenceInterval95 = 1.96 * CalculateStandardDeviation(values) / M" + - "ath.Sqrt((values.Count() - 1));\r\n return confidenceInterval95;\r\n " + - " }\r\n }\r\n}\r\n"); + "-----------------\");\r\n Console.WriteLine($\"* Average MicroAccur" + + "acy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStd" + + "Deviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterva" + + "l95:#.###})\");\r\n Console.WriteLine($\"* Average MacroAccuracy: " + + " {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviat" + + "ion:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#." + + "###})\");\r\n Console.WriteLine($\"* Average LogLoss: {log" + + "LossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confi" + + "dence Interval 95%: ({logLossConfidenceInterval95:#.###})\");\r\n Consol" + + "e.WriteLine($\"* Average LogLossReduction: {logLossReductionAverage:#.###} " + + " - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Inte" + + "rval 95%: ({logLossReductionConfidenceInterval95:#.###})\");\r\n Console" + + ".WriteLine($\"*******************************************************************" + + "******************************************\");\r\n\r\n }\r\n\r\n public sta" + + "tic double CalculateStandardDeviation(IEnumerable values)\r\n {\r\n " + + " double average = values.Average();\r\n double sumOfSquaresOfD" + + "ifferences = values.Select(val => (val - average) * (val - average)).Sum();\r\n " + + " double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (value" + + "s.Count() - 1));\r\n return standardDeviation;\r\n }\r\n\r\n pu" + + "blic static double CalculateConfidenceInterval95(IEnumerable values)\r\n " + + " {\r\n double confidenceInterval95 = 1.96 * CalculateStandardDevia" + + "tion(values) / Math.Sqrt((values.Count() - 1));\r\n return confidenceIn" + + "terval95;\r\n }\r\n }\r\n}\r\n"); return this.GenerationEnvironment.ToString(); } diff --git a/src/mlnet/Templates/Console/ConsoleHelper.tt b/src/mlnet/Templates/Console/ConsoleHelper.tt index 15c00f04eb..163984e482 100644 --- a/src/mlnet/Templates/Console/ConsoleHelper.tt +++ b/src/mlnet/Templates/Console/ConsoleHelper.tt @@ -89,9 +89,10 @@ namespace <#= Namespace #>.Train Console.WriteLine($" AccuracyMacro = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the better"); Console.WriteLine($" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value between 0 and 1, the closer to 1, the better"); Console.WriteLine($" LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better"); - Console.WriteLine($" LogLoss for class 1 = {metrics.PerClassLogLoss[0]:0.####}, the closer to 0, the better"); - Console.WriteLine($" LogLoss for class 2 = {metrics.PerClassLogLoss[1]:0.####}, the closer to 0, the better"); - Console.WriteLine($" LogLoss for class 3 = {metrics.PerClassLogLoss[2]:0.####}, the closer to 0, the better"); + for (int i = 0; i < metrics.PerClassLogLoss.Length; i++) + { + Console.WriteLine($" LogLoss for class {i + 1} = {metrics.PerClassLogLoss[i]:0.####}, the closer to 0, the better"); + } Console.WriteLine($"************************************************************"); } From b2196c26d456624cd10a616736fca1a3f17a88ae Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Fri, 29 Mar 2019 12:43:21 -0700 Subject: [PATCH 183/211] Initial version of Progress bar impl and CLI UI experience (#325) * progressbar * added progressbar and refactoring * reverted * revert sign assembly * added headers and removed exception rethrow --- .../API/RegressionExperiment.cs | 4 +- src/Microsoft.ML.Auto/Utils/RunResultUtil.cs | 11 + src/mlnet/AutoML/AutoMLEngine.cs | 105 +++--- src/mlnet/AutoML/IAutoMLEngine.cs | 9 +- .../CodeGenerator/CodeGenerationHelper.cs | 88 ++++- src/mlnet/NLog.config | 2 +- src/mlnet/ProgressBar/ChildProgressBar.cs | 52 +++ src/mlnet/ProgressBar/FixedDurationBar.cs | 41 ++ src/mlnet/ProgressBar/IProgressBar.cs | 22 ++ src/mlnet/ProgressBar/ProgressBar.cs | 355 ++++++++++++++++++ src/mlnet/ProgressBar/ProgressBarBase.cs | 119 ++++++ src/mlnet/ProgressBar/ProgressBarHeight.cs | 11 + src/mlnet/ProgressBar/ProgressBarOptions.cs | 72 ++++ src/mlnet/ProgressBar/StringExtensions.cs | 16 + src/mlnet/ProgressBar/TaskbarProgress.cs | 78 ++++ src/mlnet/Strings.resx | 2 +- src/mlnet/Utilities/ConsolePrinter.cs | 121 ++++-- src/mlnet/Utilities/ProgressHandlers.cs | 47 ++- src/mlnet/Utilities/Utils.cs | 1 + src/mlnet/mlnet.csproj | 1 + src/mlnet/strings.Designer.cs | 48 +-- 21 files changed, 1072 insertions(+), 133 deletions(-) create mode 100644 src/mlnet/ProgressBar/ChildProgressBar.cs create mode 100644 src/mlnet/ProgressBar/FixedDurationBar.cs create mode 100644 src/mlnet/ProgressBar/IProgressBar.cs create mode 100644 src/mlnet/ProgressBar/ProgressBar.cs create mode 100644 src/mlnet/ProgressBar/ProgressBarBase.cs create mode 100644 src/mlnet/ProgressBar/ProgressBarHeight.cs create mode 100644 src/mlnet/ProgressBar/ProgressBarOptions.cs create mode 100644 src/mlnet/ProgressBar/StringExtensions.cs create mode 100644 src/mlnet/ProgressBar/TaskbarProgress.cs diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index 2c5e947802..0f0798c213 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -91,8 +91,8 @@ internal IEnumerable> Execute(MLContext context, UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, columnInfo, validationData); // run autofit & get all pipelines run in that process - var experiment = new Experiment(context, TaskKind.Regression, trainData, columnInfo, - validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), + var experiment = new Experiment(context, TaskKind.Regression, trainData, columnInfo, + validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), _settings.ProgressHandler, _settings, new RegressionMetricsAgent(_settings.OptimizingMetric), TrainerExtensionUtil.GetTrainerNames(_settings.Trainers)); diff --git a/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs b/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs index 4865615aa6..b1fe048649 100644 --- a/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs @@ -18,5 +18,16 @@ public static RunResult GetBestRunResult(IEnumerable> results double maxScore = results.Select(r => metricsAgent.GetScore(r.ValidationMetrics)).Max(); return results.First(r => Math.Abs(metricsAgent.GetScore(r.ValidationMetrics) - maxScore) < 1E-20); } + + public static IEnumerable> GetTopNRunResults(IEnumerable> results, + IMetricsAgent metricsAgent, int n) + { + results = results.Where(r => r.ValidationMetrics != null); + if (!results.Any()) { return null; } + + var orderedResults = results.OrderByDescending(t => metricsAgent.GetScore(t.ValidationMetrics)); + + return orderedResults.Take(n); + } } } diff --git a/src/mlnet/AutoML/AutoMLEngine.cs b/src/mlnet/AutoML/AutoMLEngine.cs index 2f08bbddf7..d87ce6b4a4 100644 --- a/src/mlnet/AutoML/AutoMLEngine.cs +++ b/src/mlnet/AutoML/AutoMLEngine.cs @@ -2,10 +2,14 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; +using System.Collections.Generic; using Microsoft.Data.DataView; using Microsoft.ML.Auto; using Microsoft.ML.CLI.Data; +using Microsoft.ML.CLI.ShellProgressBar; using Microsoft.ML.CLI.Utilities; +using Microsoft.ML.Data; using NLog; namespace Microsoft.ML.CLI.CodeGenerator @@ -42,68 +46,51 @@ public ColumnInferenceResults InferColumns(MLContext context, ColumnInformation return columnInference; } - (Pipeline, ITransformer) IAutoMLEngine.ExploreModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation) + IEnumerable> IAutoMLEngine.ExploreBinaryClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, BinaryClassificationMetric optimizationMetric, ProgressBar progressBar) { - ITransformer model = null; - - Pipeline pipeline = null; - - if (taskKind == TaskKind.BinaryClassification) - { - var optimizationMetric = new BinaryExperimentSettings().OptimizingMetric; - var progressReporter = new ProgressHandlers.BinaryClassificationHandler(optimizationMetric); - var result = context.Auto() - .CreateBinaryClassificationExperiment(new BinaryExperimentSettings() - { - MaxExperimentTimeInSeconds = settings.MaxExplorationTime, - ProgressHandler = progressReporter, - EnableCaching = this.enableCaching, - OptimizingMetric = optimizationMetric - }) - .Execute(trainData, validationData, columnInformation); - logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); - var bestIteration = result.Best(); - pipeline = bestIteration.Pipeline; - model = bestIteration.Model; - } - - if (taskKind == TaskKind.Regression) - { - var optimizationMetric = new RegressionExperimentSettings().OptimizingMetric; - var progressReporter = new ProgressHandlers.RegressionHandler(optimizationMetric); - var result = context.Auto() - .CreateRegressionExperiment(new RegressionExperimentSettings() - { - MaxExperimentTimeInSeconds = settings.MaxExplorationTime, - ProgressHandler = progressReporter, - OptimizingMetric = optimizationMetric, - EnableCaching = this.enableCaching - }).Execute(trainData, validationData, columnInformation); - logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); - var bestIteration = result.Best(); - pipeline = bestIteration.Pipeline; - model = bestIteration.Model; - } + var progressReporter = new ProgressHandlers.BinaryClassificationHandler(optimizationMetric, progressBar); + var result = context.Auto() + .CreateBinaryClassificationExperiment(new BinaryExperimentSettings() + { + MaxExperimentTimeInSeconds = settings.MaxExplorationTime, + ProgressHandler = progressReporter, + EnableCaching = this.enableCaching, + OptimizingMetric = optimizationMetric + }) + .Execute(trainData, validationData, columnInformation); + logger.Log(LogLevel.Trace, Strings.RetrieveBestPipeline); + return result; + } - if (taskKind == TaskKind.MulticlassClassification) - { - var optimizationMetric = new MulticlassExperimentSettings().OptimizingMetric; - var progressReporter = new ProgressHandlers.MulticlassClassificationHandler(optimizationMetric); - var result = context.Auto() - .CreateMulticlassClassificationExperiment(new MulticlassExperimentSettings() - { - MaxExperimentTimeInSeconds = settings.MaxExplorationTime, - ProgressHandler = progressReporter, - EnableCaching = this.enableCaching, - OptimizingMetric = optimizationMetric - }).Execute(trainData, validationData, columnInformation); - logger.Log(LogLevel.Info, Strings.RetrieveBestPipeline); - var bestIteration = result.Best(); - pipeline = bestIteration.Pipeline; - model = bestIteration.Model; - } + IEnumerable> IAutoMLEngine.ExploreRegressionModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, RegressionMetric optimizationMetric, ProgressBar progressBar) + { + var progressReporter = new ProgressHandlers.RegressionHandler(optimizationMetric, progressBar); + var result = context.Auto() + .CreateRegressionExperiment(new RegressionExperimentSettings() + { + MaxExperimentTimeInSeconds = settings.MaxExplorationTime, + ProgressHandler = progressReporter, + OptimizingMetric = optimizationMetric, + EnableCaching = this.enableCaching + }).Execute(trainData, validationData, columnInformation); + logger.Log(LogLevel.Trace, Strings.RetrieveBestPipeline); + return result; + } - return (pipeline, model); + IEnumerable> IAutoMLEngine.ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar) + { + var progressReporter = new ProgressHandlers.MulticlassClassificationHandler(optimizationMetric, progressBar); + var result = context.Auto() + .CreateMulticlassClassificationExperiment(new MulticlassExperimentSettings() + { + MaxExperimentTimeInSeconds = settings.MaxExplorationTime, + ProgressHandler = progressReporter, + EnableCaching = this.enableCaching, + OptimizingMetric = optimizationMetric + }).Execute(trainData, validationData, columnInformation); + logger.Log(LogLevel.Trace, Strings.RetrieveBestPipeline); + return result; } + } } diff --git a/src/mlnet/AutoML/IAutoMLEngine.cs b/src/mlnet/AutoML/IAutoMLEngine.cs index ed04f40529..da72a7a82c 100644 --- a/src/mlnet/AutoML/IAutoMLEngine.cs +++ b/src/mlnet/AutoML/IAutoMLEngine.cs @@ -3,8 +3,11 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System.Collections.Generic; using Microsoft.Data.DataView; using Microsoft.ML.Auto; +using Microsoft.ML.CLI.ShellProgressBar; +using Microsoft.ML.Data; namespace Microsoft.ML.CLI.CodeGenerator { @@ -12,7 +15,11 @@ internal interface IAutoMLEngine { ColumnInferenceResults InferColumns(MLContext context, ColumnInformation columnInformation); - (Pipeline, ITransformer) ExploreModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation); + IEnumerable> ExploreBinaryClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, BinaryClassificationMetric optimizationMetric, ProgressBar progressBar); + + IEnumerable> ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar); + + IEnumerable> ExploreRegressionModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, RegressionMetric optimizationMetric, ProgressBar progressBar); } } diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index 4a011db01d..4ab0cd3197 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -3,11 +3,17 @@ // See the LICENSE file in the project root for more information. using System; +using System.Collections.Generic; using System.IO; +using System.Linq; +using System.Runtime.ExceptionServices; +using System.Threading; +using System.Threading.Tasks; using Microsoft.Data.DataView; using Microsoft.ML.Auto; using Microsoft.ML.CLI.CodeGenerator.CSharp; using Microsoft.ML.CLI.Data; +using Microsoft.ML.CLI.ShellProgressBar; using Microsoft.ML.CLI.Utilities; using Microsoft.ML.Data; using NLog; @@ -21,6 +27,7 @@ internal class CodeGenerationHelper private NewCommandSettings settings; private static Logger logger = LogManager.GetCurrentClassLogger(); private TaskKind taskKind; + public CodeGenerationHelper(IAutoMLEngine automlEngine, NewCommandSettings settings) { this.automlEngine = automlEngine; @@ -64,11 +71,54 @@ public void GenerateCode() (IDataView trainData, IDataView validationData) = LoadData(context, textLoaderOptions); // Explore the models - (Pipeline, ITransformer) result = default; + + // The reason why we are doing this way of defining 3 different results is because of the AutoML API + // i.e there is no common class/interface to handle all three tasks together. + + IEnumerable> binaryRunResults = default; + IEnumerable> multiRunResults = default; + IEnumerable> regressionRunResults = default; + Console.WriteLine($"{Strings.ExplorePipeline}: {settings.MlTask}"); try { - result = automlEngine.ExploreModels(context, trainData, validationData, columnInformation); + var options = new ProgressBarOptions + { + ForegroundColor = ConsoleColor.Yellow, + ForegroundColorDone = ConsoleColor.DarkGreen, + BackgroundColor = ConsoleColor.DarkGray, + BackgroundCharacter = '\u2593' + }; + var wait = TimeSpan.FromSeconds(settings.MaxExplorationTime); + using (var pbar = new FixedDurationBar(wait, "", options)) + { + Task t = default; + switch (taskKind) + { + case TaskKind.BinaryClassification: + t = Task.Run(() => binaryRunResults = automlEngine.ExploreBinaryClassificationModels(context, trainData, validationData, columnInformation, new BinaryExperimentSettings().OptimizingMetric, pbar)); + break; + case TaskKind.Regression: + t = Task.Run(() => regressionRunResults = automlEngine.ExploreRegressionModels(context, trainData, validationData, columnInformation, new RegressionExperimentSettings().OptimizingMetric, pbar)); + break; + case TaskKind.MulticlassClassification: + t = Task.Run(() => multiRunResults = automlEngine.ExploreMultiClassificationModels(context, trainData, validationData, columnInformation, new MulticlassExperimentSettings().OptimizingMetric, pbar)); + break; + default: + logger.Log(LogLevel.Error, Strings.UnsupportedMlTask); + break; + } + + if (!pbar.CompletedHandle.WaitOne(wait)) + Console.Error.WriteLine($"{nameof(FixedDurationBar)} did not signal {nameof(FixedDurationBar.CompletedHandle)} after {wait}"); + + if (t.IsCompleted == false) + { + logger.Log(LogLevel.Info, "Waiting for the last iteration to complete ..."); + } + t.Wait(); + } + } catch (Exception e) { @@ -80,18 +130,42 @@ public void GenerateCode() } //Get the best pipeline - Pipeline pipeline = null; - pipeline = result.Item1; - var model = result.Item2; + Pipeline bestPipeline = null; + ITransformer bestModel = null; + + switch (taskKind) + { + case TaskKind.BinaryClassification: + var bestBinaryIteration = binaryRunResults.Best(); + bestPipeline = bestBinaryIteration.Pipeline; + bestModel = bestBinaryIteration.Model; + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumn, settings.MaxExplorationTime.ToString(), binaryRunResults.Count()); + ConsolePrinter.PrintIterationSummary(binaryRunResults, new BinaryExperimentSettings().OptimizingMetric, 5); + break; + case TaskKind.Regression: + var bestRegressionIteration = regressionRunResults.Best(); + bestPipeline = bestRegressionIteration.Pipeline; + bestModel = bestRegressionIteration.Model; + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumn, settings.MaxExplorationTime.ToString(), regressionRunResults.Count()); + ConsolePrinter.PrintIterationSummary(regressionRunResults, new RegressionExperimentSettings().OptimizingMetric, 5); + break; + case TaskKind.MulticlassClassification: + var bestMultiIteration = multiRunResults.Best(); + bestPipeline = bestMultiIteration.Pipeline; + bestModel = bestMultiIteration.Model; + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumn, settings.MaxExplorationTime.ToString(), multiRunResults.Count()); + ConsolePrinter.PrintIterationSummary(multiRunResults, new MulticlassExperimentSettings().OptimizingMetric, 5); + break; + } // Save the model logger.Log(LogLevel.Info, Strings.SavingBestModel); var modelprojectDir = Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.Model"); var modelPath = new FileInfo(Path.Combine(modelprojectDir, "MLModel.zip")); - Utils.SaveModel(model, modelPath, context); + Utils.SaveModel(bestModel, modelPath, context); // Generate the Project - GenerateProject(columnInference, pipeline, columnInformation.LabelColumn, modelPath); + GenerateProject(columnInference, bestPipeline, columnInformation.LabelColumn, modelPath); } internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline pipeline, string labelName, FileInfo modelPath) diff --git a/src/mlnet/NLog.config b/src/mlnet/NLog.config index 3fe4612d7e..6d20383887 100644 --- a/src/mlnet/NLog.config +++ b/src/mlnet/NLog.config @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - + diff --git a/src/mlnet/ProgressBar/ChildProgressBar.cs b/src/mlnet/ProgressBar/ChildProgressBar.cs new file mode 100644 index 0000000000..99476c77b7 --- /dev/null +++ b/src/mlnet/ProgressBar/ChildProgressBar.cs @@ -0,0 +1,52 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; + +namespace Microsoft.ML.CLI.ShellProgressBar +{ + public class ChildProgressBar : ProgressBarBase, IProgressBar + { + private readonly Action _scheduleDraw; + private readonly Action _growth; + + public DateTime StartDate { get; } = DateTime.Now; + + protected override void DisplayProgress() => _scheduleDraw?.Invoke(); + + internal ChildProgressBar(int maxTicks, string message, Action scheduleDraw, ProgressBarOptions options = null, Action growth = null) + : base(maxTicks, message, options) + { + _scheduleDraw = scheduleDraw; + _growth = growth; + _growth?.Invoke(ProgressBarHeight.Increment); + } + + private bool _calledDone; + private readonly object _callOnce = new object(); + + protected override void OnDone() + { + if (_calledDone) return; + lock (_callOnce) + { + if (_calledDone) return; + + if (this.EndTime == null) + this.EndTime = DateTime.Now; + + if (this.Collapse) + _growth?.Invoke(ProgressBarHeight.Decrement); + + _calledDone = true; + } + } + + public void Dispose() + { + OnDone(); + foreach (var c in this.Children) c.Dispose(); + } + } +} diff --git a/src/mlnet/ProgressBar/FixedDurationBar.cs b/src/mlnet/ProgressBar/FixedDurationBar.cs new file mode 100644 index 0000000000..7b4879ef18 --- /dev/null +++ b/src/mlnet/ProgressBar/FixedDurationBar.cs @@ -0,0 +1,41 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Threading; + +namespace Microsoft.ML.CLI.ShellProgressBar +{ + public class FixedDurationBar : ProgressBar + { + public bool IsCompleted { get; private set; } + + private readonly ManualResetEvent _completedHandle = new ManualResetEvent(false); + public WaitHandle CompletedHandle => _completedHandle; + + public FixedDurationBar(TimeSpan duration, string message, ConsoleColor color) : this(duration, message, new ProgressBarOptions { ForegroundColor = color }) { } + + public FixedDurationBar(TimeSpan duration, string message, ProgressBarOptions options = null) : base((int)Math.Ceiling(duration.TotalSeconds), message, options) + { + if (!this.Options.DisplayTimeInRealTime) + throw new ArgumentException( + $"{nameof(ProgressBarOptions)}.{nameof(ProgressBarOptions.DisplayTimeInRealTime)} has to be true for {nameof(FixedDurationBar)}", nameof(options) + ); + } + + private long _seenTicks = 0; + protected override void OnTimerTick() + { + Interlocked.Increment(ref _seenTicks); + if (_seenTicks % 2 == 0) this.Tick(); + base.OnTimerTick(); + } + + protected override void OnDone() + { + this.IsCompleted = true; + this._completedHandle.Set(); + } + } +} diff --git a/src/mlnet/ProgressBar/IProgressBar.cs b/src/mlnet/ProgressBar/IProgressBar.cs new file mode 100644 index 0000000000..3fe778efcd --- /dev/null +++ b/src/mlnet/ProgressBar/IProgressBar.cs @@ -0,0 +1,22 @@ +using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.CLI.ShellProgressBar +{ + public interface IProgressBar : IDisposable + { + ChildProgressBar Spawn(int maxTicks, string message, ProgressBarOptions options = null); + + void Tick(string message = null); + + int MaxTicks { get; set; } + string Message { get; set; } + + double Percentage { get; } + int CurrentTick { get; } + + ConsoleColor ForeGroundColor { get; } + } +} diff --git a/src/mlnet/ProgressBar/ProgressBar.cs b/src/mlnet/ProgressBar/ProgressBar.cs new file mode 100644 index 0000000000..cde36e4693 --- /dev/null +++ b/src/mlnet/ProgressBar/ProgressBar.cs @@ -0,0 +1,355 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Threading; +using System.Threading.Tasks; + +namespace Microsoft.ML.CLI.ShellProgressBar +{ + public class ProgressBar : ProgressBarBase, IProgressBar + { + private static readonly bool IsWindows = RuntimeInformation.IsOSPlatform(OSPlatform.Windows); + + private readonly ConsoleColor _originalColor; + private readonly int _originalCursorTop; + private readonly int _originalWindowTop; + private int _isDisposed; + + private Timer _timer; + private int _visibleDescendants = 0; + private readonly AutoResetEvent _displayProgressEvent; + private readonly Task _displayProgress; + + public ProgressBar(int maxTicks, string message, ConsoleColor color) + : this(maxTicks, message, new ProgressBarOptions { ForegroundColor = color }) + { + } + + public ProgressBar(int maxTicks, string message, ProgressBarOptions options = null) + : base(maxTicks, message, options) + { + _originalCursorTop = Console.CursorTop; + _originalWindowTop = Console.WindowTop; + _originalColor = Console.ForegroundColor; + + Console.CursorVisible = false; + + if (this.Options.EnableTaskBarProgress) + TaskbarProgress.SetState(TaskbarProgress.TaskbarStates.Normal); + + if (this.Options.DisplayTimeInRealTime) + _timer = new Timer((s) => OnTimerTick(), null, 500, 500); + else //draw once + _timer = new Timer((s) => + { + _timer.Dispose(); + DisplayProgress(); + }, null, 0, 1000); + + _displayProgressEvent = new AutoResetEvent(false); + _displayProgress = Task.Run(() => + { + while (_isDisposed == 0) + { + if (!_displayProgressEvent.WaitOne(TimeSpan.FromSeconds(10))) + continue; + try + { + UpdateProgress(); + } + catch + { + // don't want to crash background thread + } + } + }); + } + + protected virtual void OnTimerTick() + { + DisplayProgress(); + } + + protected override void Grow(ProgressBarHeight direction) + { + switch (direction) + { + case ProgressBarHeight.Increment: + Interlocked.Increment(ref _visibleDescendants); + break; + case ProgressBarHeight.Decrement: + Interlocked.Decrement(ref _visibleDescendants); + break; + } + } + + private struct Indentation + { + public Indentation(ConsoleColor color, bool lastChild) + { + this.ConsoleColor = color; + this.LastChild = lastChild; + } + + public string Glyph => !LastChild ? "├─" : "└─"; + + public readonly ConsoleColor ConsoleColor; + public readonly bool LastChild; + } + + private static void ProgressBarBottomHalf(double percentage, DateTime startDate, DateTime? endDate, string message, + Indentation[] indentation, bool progressBarOnBottom) + { + var depth = indentation.Length; + var maxCharacterWidth = Console.WindowWidth - (depth * 2) + 2; + var duration = ((endDate ?? DateTime.Now) - startDate); + var durationString = $"{duration.Hours:00}:{duration.Minutes:00}:{duration.Seconds:00}"; + + var column1Width = Console.WindowWidth - durationString.Length - (depth * 2) + 2; + var column2Width = durationString.Length; + + if (progressBarOnBottom) + DrawTopHalfPrefix(indentation, depth); + else + DrawBottomHalfPrefix(indentation, depth); + + var format = $"{{0, -{column1Width}}}{{1,{column2Width}}}"; + + var truncatedMessage = StringExtensions.Excerpt(message, column1Width); + var formatted = string.Format(format, truncatedMessage, durationString); + var m = formatted + new string(' ', Math.Max(0, maxCharacterWidth - formatted.Length)); + Console.Write(m); + } + + private static void DrawBottomHalfPrefix(Indentation[] indentation, int depth) + { + for (var i = 1; i < depth; i++) + { + var ind = indentation[i]; + Console.ForegroundColor = indentation[i - 1].ConsoleColor; + if (!ind.LastChild) + Console.Write(i == (depth - 1) ? ind.Glyph : "│ "); + else + Console.Write(i == (depth - 1) ? ind.Glyph : " "); + } + + Console.ForegroundColor = indentation[depth - 1].ConsoleColor; + } + + private static void ProgressBarTopHalf( + double percentage, + char progressCharacter, + char? progressBackgroundCharacter, + ConsoleColor? backgroundColor, + Indentation[] indentation, bool progressBarOnTop) + { + var depth = indentation.Length; + var width = Console.WindowWidth - (depth * 2) + 2; + + if (progressBarOnTop) + DrawBottomHalfPrefix(indentation, depth); + else + DrawTopHalfPrefix(indentation, depth); + + var newWidth = (int)((width * percentage) / 100d); + var progBar = new string(progressCharacter, newWidth); + Console.Write(progBar); + if (backgroundColor.HasValue) + { + Console.ForegroundColor = backgroundColor.Value; + Console.Write(new string(progressBackgroundCharacter ?? progressCharacter, width - newWidth)); + } + else Console.Write(new string(' ', width - newWidth)); + + Console.ForegroundColor = indentation[depth - 1].ConsoleColor; + } + + private static void DrawTopHalfPrefix(Indentation[] indentation, int depth) + { + for (var i = 1; i < depth; i++) + { + var ind = indentation[i]; + Console.ForegroundColor = indentation[i - 1].ConsoleColor; + if (ind.LastChild && i != (depth - 1)) + Console.Write(" "); + else + Console.Write("│ "); + } + + Console.ForegroundColor = indentation[depth - 1].ConsoleColor; + } + + protected override void DisplayProgress() + { + _displayProgressEvent.Set(); + } + + private void UpdateProgress() + { + Console.CursorVisible = false; + var indentation = new[] { new Indentation(this.ForeGroundColor, true) }; + var mainPercentage = this.Percentage; + var cursorTop = _originalCursorTop; + + Console.ForegroundColor = this.ForeGroundColor; + + void TopHalf() + { + ProgressBarTopHalf(mainPercentage, + this.Options.ProgressCharacter, + this.Options.BackgroundCharacter, + this.Options.BackgroundColor, + indentation, + this.Options.ProgressBarOnBottom + ); + } + + if (this.Options.ProgressBarOnBottom) + { + ProgressBarBottomHalf(mainPercentage, this._startDate, null, this.Message, indentation, this.Options.ProgressBarOnBottom); + Console.SetCursorPosition(0, ++cursorTop); + TopHalf(); + } + else + { + TopHalf(); + Console.SetCursorPosition(0, ++cursorTop); + ProgressBarBottomHalf(mainPercentage, this._startDate, null, this.Message, indentation, this.Options.ProgressBarOnBottom); + } + + if (this.Options.EnableTaskBarProgress) + TaskbarProgress.SetValue(mainPercentage, 100); + + DrawChildren(this.Children, indentation, ref cursorTop); + + ResetToBottom(ref cursorTop); + + Console.SetCursorPosition(0, _originalCursorTop); + Console.ForegroundColor = _originalColor; + + if (!(mainPercentage >= 100)) return; + _timer?.Dispose(); + _timer = null; + } + + private static void ResetToBottom(ref int cursorTop) + { + var resetString = new string(' ', Console.WindowWidth); + var windowHeight = Console.WindowHeight; + if (cursorTop >= (windowHeight - 1)) return; + do + { + Console.Write(resetString); + } while (++cursorTop < (windowHeight - 1)); + } + + private static void DrawChildren(IEnumerable children, Indentation[] indentation, ref int cursorTop) + { + var view = children.Where(c => !c.Collapse).Select((c, i) => new { c, i }).ToList(); + if (!view.Any()) return; + + var windowHeight = Console.WindowHeight; + var lastChild = view.Max(t => t.i); + foreach (var tuple in view) + { + //Dont bother drawing children that would fall off the screen + if (cursorTop >= (windowHeight - 2)) + return; + + var child = tuple.c; + var currentIndentation = new Indentation(child.ForeGroundColor, tuple.i == lastChild); + var childIndentation = NewIndentation(indentation, currentIndentation); + + var percentage = child.Percentage; + Console.ForegroundColor = child.ForeGroundColor; + + void TopHalf() + { + ProgressBarTopHalf(percentage, + child.Options.ProgressCharacter, + child.Options.BackgroundCharacter, + child.Options.BackgroundColor, + childIndentation, + child.Options.ProgressBarOnBottom + ); + } + + Console.SetCursorPosition(0, ++cursorTop); + + if (child.Options.ProgressBarOnBottom) + { + ProgressBarBottomHalf(percentage, child.StartDate, child.EndTime, child.Message, childIndentation, child.Options.ProgressBarOnBottom); + Console.SetCursorPosition(0, ++cursorTop); + TopHalf(); + } + else + { + TopHalf(); + Console.SetCursorPosition(0, ++cursorTop); + ProgressBarBottomHalf(percentage, child.StartDate, child.EndTime, child.Message, childIndentation, child.Options.ProgressBarOnBottom); + } + + DrawChildren(child.Children, childIndentation, ref cursorTop); + } + } + + private static Indentation[] NewIndentation(Indentation[] array, Indentation append) + { + var result = new Indentation[array.Length + 1]; + Array.Copy(array, result, array.Length); + result[array.Length] = append; + return result; + } + + public void Dispose() + { + if (Interlocked.CompareExchange(ref _isDisposed, 1, 0) != 0) + return; + + // make sure background task is stopped before we clean up + _displayProgressEvent.Set(); + _displayProgress.Wait(); + + // update one last time - needed because background task might have + // been already in progress before Dispose was called and it might + // have been running for a very long time due to poor performance + // of System.Console + UpdateProgress(); + + if (this.EndTime == null) this.EndTime = DateTime.Now; + var openDescendantsPadding = (_visibleDescendants * 2); + + if (this.Options.EnableTaskBarProgress) + TaskbarProgress.SetState(TaskbarProgress.TaskbarStates.NoProgress); + + try + { + var moveDown = 0; + var currentWindowTop = Console.WindowTop; + if (currentWindowTop != _originalWindowTop) + { + var x = Math.Max(0, Math.Min(2, currentWindowTop - _originalWindowTop)); + moveDown = _originalCursorTop + x; + } + else moveDown = _originalCursorTop + 2; + + Console.CursorVisible = true; + Console.SetCursorPosition(0, openDescendantsPadding + moveDown); + } + // This is bad and I should feel bad, but i rather eat pbar exceptions in productions then causing false negatives + catch + { + } + + Console.WriteLine(); + _timer?.Dispose(); + _timer = null; + foreach (var c in this.Children) c.Dispose(); + } + } +} diff --git a/src/mlnet/ProgressBar/ProgressBarBase.cs b/src/mlnet/ProgressBar/ProgressBarBase.cs new file mode 100644 index 0000000000..d47985f1e5 --- /dev/null +++ b/src/mlnet/ProgressBar/ProgressBarBase.cs @@ -0,0 +1,119 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Concurrent; +using System.Text; +using System.Threading; + +namespace Microsoft.ML.CLI.ShellProgressBar +{ + public abstract class ProgressBarBase + { + static ProgressBarBase() + { + Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); + } + + protected readonly DateTime _startDate = DateTime.Now; + private int _maxTicks; + private int _currentTick; + private string _message; + + protected ProgressBarBase(int maxTicks, string message, ProgressBarOptions options) + { + this._maxTicks = Math.Max(0, maxTicks); + this._message = message; + this.Options = options ?? ProgressBarOptions.Default; + } + + internal ProgressBarOptions Options { get; } + internal ConcurrentBag Children { get; } = new ConcurrentBag(); + + protected abstract void DisplayProgress(); + + protected virtual void Grow(ProgressBarHeight direction) + { + } + + protected virtual void OnDone() + { + } + + public DateTime? EndTime { get; protected set; } + + public ConsoleColor ForeGroundColor => + EndTime.HasValue ? this.Options.ForegroundColorDone ?? this.Options.ForegroundColor : this.Options.ForegroundColor; + + public int CurrentTick => _currentTick; + + public int MaxTicks + { + get => _maxTicks; + set + { + Interlocked.Exchange(ref _maxTicks, value); + DisplayProgress(); + } + } + + public string Message + { + get => _message; + set + { + Interlocked.Exchange(ref _message, value); + DisplayProgress(); + } + } + + public double Percentage + { + get + { + var percentage = Math.Max(0, Math.Min(100, (100.0 / this._maxTicks) * this._currentTick)); + // Gracefully handle if the percentage is NaN due to division by 0 + if (double.IsNaN(percentage) || percentage < 0) percentage = 100; + return percentage; + } + } + + public bool Collapse => this.EndTime.HasValue && this.Options.CollapseWhenFinished; + + public ChildProgressBar Spawn(int maxTicks, string message, ProgressBarOptions options = null) + { + var pbar = new ChildProgressBar(maxTicks, message, DisplayProgress, options, this.Grow); + this.Children.Add(pbar); + DisplayProgress(); + return pbar; + } + + public void Tick(string message = null) + { + Interlocked.Increment(ref _currentTick); + + FinishTick(message); + } + + public void Tick(int newTickCount, string message = null) + { + Interlocked.Exchange(ref _currentTick, newTickCount); + + FinishTick(message); + } + + private void FinishTick(string message) + { + if (message != null) + Interlocked.Exchange(ref _message, message); + + if (_currentTick >= _maxTicks) + { + this.EndTime = DateTime.Now; + this.OnDone(); + } + DisplayProgress(); + } + } +} diff --git a/src/mlnet/ProgressBar/ProgressBarHeight.cs b/src/mlnet/ProgressBar/ProgressBarHeight.cs new file mode 100644 index 0000000000..67b683efe8 --- /dev/null +++ b/src/mlnet/ProgressBar/ProgressBarHeight.cs @@ -0,0 +1,11 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.CLI.ShellProgressBar +{ + public enum ProgressBarHeight + { + Increment, Decrement + } +} \ No newline at end of file diff --git a/src/mlnet/ProgressBar/ProgressBarOptions.cs b/src/mlnet/ProgressBar/ProgressBarOptions.cs new file mode 100644 index 0000000000..8624105956 --- /dev/null +++ b/src/mlnet/ProgressBar/ProgressBarOptions.cs @@ -0,0 +1,72 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Runtime.InteropServices; + +namespace Microsoft.ML.CLI.ShellProgressBar +{ + /// + /// Control the behaviour of your progressbar + /// + public class ProgressBarOptions + { + private bool _enableTaskBarProgress; + public static readonly ProgressBarOptions Default = new ProgressBarOptions(); + + /// The foreground color of the progress bar, message and time + public ConsoleColor ForegroundColor { get; set; } = ConsoleColor.Green; + + /// The foreground color the progressbar has reached a 100 percent + public ConsoleColor? ForegroundColorDone { get; set; } + + /// The background color of the remainder of the progressbar + public ConsoleColor? BackgroundColor { get; set; } + + /// The character to use to draw the progressbar + public char ProgressCharacter { get; set; } = '\u2588'; + + /// + /// The character to use for the background of the progress defaults to + /// + public char? BackgroundCharacter { get; set; } + + /// + /// When true will redraw the progressbar using a timer, otherwise only update when + /// is called. + /// Defaults to true + /// + public bool DisplayTimeInRealTime { get; set; } = true; + + /// + /// Collapse the progressbar when done, very useful for child progressbars + /// Defaults to true + /// + public bool CollapseWhenFinished { get; set; } = true; + + /// + /// By default the text and time information is displayed at the bottom and the progress bar at the top. + /// This setting swaps their position + /// + public bool ProgressBarOnBottom { get; set; } + + /// + /// Use Windows' task bar to display progress. + /// + /// + /// This feature is available on the Windows platform. + /// + public bool EnableTaskBarProgress + { + get => _enableTaskBarProgress; + set + { + if (value && !RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + throw new NotSupportedException("Task bar progress only works on Windows"); + + _enableTaskBarProgress = value; + } + } + } +} diff --git a/src/mlnet/ProgressBar/StringExtensions.cs b/src/mlnet/ProgressBar/StringExtensions.cs new file mode 100644 index 0000000000..7d9bdc8015 --- /dev/null +++ b/src/mlnet/ProgressBar/StringExtensions.cs @@ -0,0 +1,16 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.CLI.ShellProgressBar +{ + internal static class StringExtensions + { + public static string Excerpt(string phrase, int length = 60) + { + if (string.IsNullOrEmpty(phrase) || phrase.Length < length) + return phrase; + return phrase.Substring(0, length - 3) + "..."; + } + } +} diff --git a/src/mlnet/ProgressBar/TaskbarProgress.cs b/src/mlnet/ProgressBar/TaskbarProgress.cs new file mode 100644 index 0000000000..19dbab3c70 --- /dev/null +++ b/src/mlnet/ProgressBar/TaskbarProgress.cs @@ -0,0 +1,78 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Runtime.InteropServices; + +namespace Microsoft.ML.CLI.ShellProgressBar +{ + public static class TaskbarProgress + { + public enum TaskbarStates + { + NoProgress = 0, + Indeterminate = 0x1, + Normal = 0x2, + Error = 0x4, + Paused = 0x8 + } + + [ComImport()] + [Guid("ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf")] + [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + private interface ITaskbarList3 + { + // ITaskbarList + [PreserveSig] + void HrInit(); + + [PreserveSig] + void AddTab(IntPtr hwnd); + + [PreserveSig] + void DeleteTab(IntPtr hwnd); + + [PreserveSig] + void ActivateTab(IntPtr hwnd); + + [PreserveSig] + void SetActiveAlt(IntPtr hwnd); + + // ITaskbarList2 + [PreserveSig] + void MarkFullscreenWindow(IntPtr hwnd, [MarshalAs(UnmanagedType.Bool)] bool fFullscreen); + + // ITaskbarList3 + [PreserveSig] + void SetProgressValue(IntPtr hwnd, UInt64 ullCompleted, UInt64 ullTotal); + + [PreserveSig] + void SetProgressState(IntPtr hwnd, TaskbarStates state); + } + + [ComImport] + [Guid("56fdf344-fd6d-11d0-958a-006097c9a090")] + [ClassInterface(ClassInterfaceType.None)] + private class TaskbarInstance + { } + + [DllImport("kernel32.dll")] + static extern IntPtr GetConsoleWindow(); + + private static readonly ITaskbarList3 _taskbarInstance = (ITaskbarList3)new TaskbarInstance(); + private static readonly bool _taskbarSupported = RuntimeInformation.IsOSPlatform(OSPlatform.Windows); + + public static void SetState(TaskbarStates taskbarState) + { + if (_taskbarSupported) + _taskbarInstance.SetProgressState(GetConsoleWindow(), taskbarState); + } + + public static void SetValue(double progressValue, double progressMax) + { + if (_taskbarSupported) + _taskbarInstance.SetProgressValue(GetConsoleWindow(), (ulong)progressValue, (ulong)progressMax); + } + } +} diff --git a/src/mlnet/Strings.resx b/src/mlnet/Strings.resx index ee0310cb70..bb917270e3 100644 --- a/src/mlnet/Strings.resx +++ b/src/mlnet/Strings.resx @@ -127,7 +127,7 @@ Exiting ... - Exploring pipelines for task of type + Exploring multiple combinations of ML algorithms and settings to find you the best model for ML task Exception occured while exploring pipelines diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 5387cce361..97b6ce3a15 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -2,6 +2,10 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.ML.Auto; using Microsoft.ML.Data; using NLog; @@ -12,51 +16,116 @@ internal class ConsolePrinter private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); - internal static void PrintMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics, double bestMetric, double runtimeInSeconds) + internal static void PrintMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics, double bestMetric, double runtimeInSeconds, LogLevel logLevel) { - logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics?.Accuracy ?? double.NaN,9:F4} {metrics?.Auc ?? double.NaN,8:F4} {metrics?.Auprc ?? double.NaN,8:F4} {metrics?.F1Score ?? double.NaN,9:F4} {bestMetric,8:F4} {runtimeInSeconds,9:F1}"); + logger.Log(logLevel, $"{iteration,-4} {trainerName,-35} {metrics?.Accuracy ?? double.NaN,9:F4} {metrics?.Auc ?? double.NaN,8:F4} {metrics?.Auprc ?? double.NaN,8:F4} {metrics?.F1Score ?? double.NaN,9:F4} {bestMetric,8:F4} {runtimeInSeconds,9:F1}"); } - internal static void PrintMetrics(int iteration, string trainerName, MultiClassClassifierMetrics metrics, double bestMetric, double runtimeInSeconds) + internal static void PrintMetrics(int iteration, string trainerName, MultiClassClassifierMetrics metrics, double bestMetric, double runtimeInSeconds, LogLevel logLevel) { - logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics?.AccuracyMicro ?? double.NaN,14:F4} {metrics?.AccuracyMacro ?? double.NaN,14:F4} {bestMetric,14:F4} {runtimeInSeconds,9:F1}"); + logger.Log(logLevel, $"{iteration,-4} {trainerName,-35} {metrics?.AccuracyMicro ?? double.NaN,14:F4} {metrics?.AccuracyMacro ?? double.NaN,14:F4} {bestMetric,14:F4} {runtimeInSeconds,9:F1}"); } - internal static void PrintMetrics(int iteration, string trainerName, RegressionMetrics metrics, double bestMetric, double runtimeInSeconds) + internal static void PrintMetrics(int iteration, string trainerName, RegressionMetrics metrics, double bestMetric, double runtimeInSeconds, LogLevel logLevel) { - logger.Log(LogLevel.Info, $"{iteration,-4} {trainerName,-35} {metrics?.RSquared ?? double.NaN,9:F4} {metrics?.LossFn ?? double.NaN,12:F2} {metrics?.L1 ?? double.NaN,15:F2} {metrics?.L2 ?? double.NaN,15:F2} {metrics?.Rms ?? double.NaN,12:F2} {bestMetric,12:F4} {runtimeInSeconds,9:F1}"); + logger.Log(logLevel, $"{iteration,-4} {trainerName,-35} {metrics?.RSquared ?? double.NaN,9:F4} {metrics?.LossFn ?? double.NaN,12:F2} {metrics?.L1 ?? double.NaN,15:F2} {metrics?.L2 ?? double.NaN,15:F2} {metrics?.Rms ?? double.NaN,12:F2} {bestMetric,12:F4} {runtimeInSeconds,9:F1}"); } - internal static void PrintBinaryClassificationMetricsHeader() + internal static void PrintBinaryClassificationMetricsHeader(LogLevel logLevel) { - logger.Log(LogLevel.Info, $"*************************************************"); - logger.Log(LogLevel.Info, $"* {Strings.MetricsForBinaryClassModels} "); - logger.Log(LogLevel.Info, $"*------------------------------------------------"); - logger.Log(LogLevel.Info, $"{" ",-4} {"Trainer",-35} {"Accuracy",9} {"AUC",8} {"AUPRC",8} {"F1-score",9} {"Best",8} {"Duration",9}"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(logLevel, $"{Strings.MetricsForBinaryClassModels}"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(logLevel, $"{" ",-4} {"Trainer",-35} {"Accuracy",9} {"AUC",8} {"AUPRC",8} {"F1-score",9} {"Best",8} {"Duration",9}"); } - internal static void PrintMulticlassClassificationMetricsHeader() + internal static void PrintMulticlassClassificationMetricsHeader(LogLevel logLevel) { - logger.Log(LogLevel.Info, $"*************************************************"); - logger.Log(LogLevel.Info, $"* {Strings.MetricsForMulticlassModels} "); - logger.Log(LogLevel.Info, $"*------------------------------------------------"); - logger.Log(LogLevel.Info, $"{" ",-4} {"Trainer",-35} {"AccuracyMicro",14} {"AccuracyMacro",14} {"Best",14} {"Duration",9}"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(logLevel, $"{Strings.MetricsForMulticlassModels}"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(logLevel, $"{" ",-4} {"Trainer",-35} {"AccuracyMicro",14} {"AccuracyMacro",14} {"Best",14} {"Duration",9}"); } - internal static void PrintRegressionMetricsHeader() + internal static void PrintRegressionMetricsHeader(LogLevel logLevel) { - logger.Log(LogLevel.Info, $"*************************************************"); - logger.Log(LogLevel.Info, $"* {Strings.MetricsForRegressionModels} "); - logger.Log(LogLevel.Info, $"*------------------------------------------------"); - logger.Log(LogLevel.Info, $"{" ",-4} {"Trainer",-35} {"R2-Score",9} {"LossFn",12} {"Absolute-loss",15} {"Squared-loss",15} {"RMS-loss",12} {"Best",12} {"Duration",9}"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(logLevel, $"{Strings.MetricsForRegressionModels}"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(logLevel, $"{" ",-4} {"Trainer",-35} {"R2-Score",9} {"LossFn",12} {"Absolute-loss",15} {"Squared-loss",15} {"RMS-loss",12} {"Best",12} {"Duration",9}"); } - internal static void PrintBestPipelineHeader() + internal static void PrintBestPipelineHeader(LogLevel logLevel) { - logger.Log(LogLevel.Info, $"*************************************************"); - logger.Log(LogLevel.Info, $"* {Strings.BestPipeline} "); - logger.Log(LogLevel.Info, $"*------------------------------------------------"); -} + logger.Log(logLevel, $"*************************************************"); + logger.Log(logLevel, $"* {Strings.BestPipeline} "); + logger.Log(logLevel, $"*------------------------------------------------"); + } + + internal static void PrintTopNHeader(int count) + { + throw new NotImplementedException(); + } + + internal static void ExperimentResultsHeader(LogLevel logLevel, string mltask, string datasetName, string labelName, string time, int numModelsExplored) + { + logger.Log(logLevel, $"===============================Experiment Results==================================="); + logger.Log(logLevel, $"------------------------------------------------------------------------------------"); + logger.Log(logLevel, $"{"ML Task",-7} : {mltask,-20}"); + logger.Log(logLevel, $"{"Dataset",-7}: {datasetName,-25}"); + logger.Log(logLevel, $"{"Label",-6} : {labelName,-25}"); + logger.Log(logLevel, $"{"Exploration time",-20} : {time} Secs"); + logger.Log(logLevel, $"{"Total number of models explored",-30} : {numModelsExplored}"); + logger.Log(logLevel, $"------------------------------------------------------------------------------------"); + } + internal static void PrintIterationSummary(IEnumerable> results, BinaryClassificationMetric optimizationMetric, int count) + { + var metricsAgent = new BinaryMetricsAgent(optimizationMetric); + var topNResults = RunResultUtil.GetTopNRunResults(results, metricsAgent, count); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"Top {topNResults?.Count()} models explored "); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + PrintBinaryClassificationMetricsHeader(LogLevel.Info); + int i = 0; + foreach (var result in topNResults) + { + PrintMetrics(++i, result.TrainerName, result.ValidationMetrics, metricsAgent.GetScore(result.ValidationMetrics), result.RuntimeInSeconds, LogLevel.Info); + } + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + } + + internal static void PrintIterationSummary(IEnumerable> results, RegressionMetric optimizationMetric, int count) + { + var metricsAgent = new RegressionMetricsAgent(optimizationMetric); + var topNResults = RunResultUtil.GetTopNRunResults(results, metricsAgent, count); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"Top {topNResults?.Count()} models explored "); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + PrintRegressionMetricsHeader(LogLevel.Info); + int i = 0; + foreach (var result in topNResults) + { + PrintMetrics(++i, result.TrainerName, result.ValidationMetrics, metricsAgent.GetScore(result.ValidationMetrics), result.RuntimeInSeconds, LogLevel.Info); + } + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + } + + internal static void PrintIterationSummary(IEnumerable> results, MulticlassClassificationMetric optimizationMetric, int count) + { + var metricsAgent = new MultiMetricsAgent(optimizationMetric); + var topNResults = RunResultUtil.GetTopNRunResults(results, metricsAgent, count); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"Top {topNResults?.Count()} models explored "); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + PrintMulticlassClassificationMetricsHeader(LogLevel.Info); + int i = 0; + foreach (var result in topNResults) + { + PrintMetrics(++i, result.TrainerName, result.ValidationMetrics, metricsAgent.GetScore(result.ValidationMetrics), result.RuntimeInSeconds, LogLevel.Info); + } + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + } } } + diff --git a/src/mlnet/Utilities/ProgressHandlers.cs b/src/mlnet/Utilities/ProgressHandlers.cs index 53875f4362..94b24a1f1e 100644 --- a/src/mlnet/Utilities/ProgressHandlers.cs +++ b/src/mlnet/Utilities/ProgressHandlers.cs @@ -4,7 +4,9 @@ using System; using Microsoft.ML.Auto; +using Microsoft.ML.CLI.ShellProgressBar; using Microsoft.ML.Data; +using NLog; namespace Microsoft.ML.CLI.Utilities { @@ -21,25 +23,32 @@ internal class RegressionHandler : IProgress> private readonly Func, double> GetScore; private RunResult bestResult; private int iterationIndex; + private ProgressBar progressBar; + private string optimizationMetric = string.Empty; - public RegressionHandler(RegressionMetric optimizationMetric) + public RegressionHandler(RegressionMetric optimizationMetric, ShellProgressBar.ProgressBar progressBar) { - isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; + this.isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; + this.optimizationMetric = optimizationMetric.ToString(); + this.progressBar = progressBar; GetScore = (RunResult result) => new RegressionMetricsAgent(optimizationMetric).GetScore(result?.ValidationMetrics); - ConsolePrinter.PrintRegressionMetricsHeader(); + ConsolePrinter.PrintRegressionMetricsHeader(LogLevel.Trace); } public void Report(RunResult iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); - ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds); + ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds, LogLevel.Trace); } private void UpdateBestResult(RunResult iterationResult) { if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) + { bestResult = iterationResult; + progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult)} , Best Algorithm : {iterationResult.TrainerName}"; + } } } @@ -49,25 +58,32 @@ internal class BinaryClassificationHandler : IProgress, double> GetScore; private RunResult bestResult; private int iterationIndex; + private ProgressBar progressBar; + private string optimizationMetric = string.Empty; - public BinaryClassificationHandler(BinaryClassificationMetric optimizationMetric) + public BinaryClassificationHandler(BinaryClassificationMetric optimizationMetric, ProgressBar progressBar) { - isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; + this.isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; + this.optimizationMetric = optimizationMetric.ToString(); + this.progressBar = progressBar; GetScore = (RunResult result) => new BinaryMetricsAgent(optimizationMetric).GetScore(result?.ValidationMetrics); - ConsolePrinter.PrintBinaryClassificationMetricsHeader(); + ConsolePrinter.PrintBinaryClassificationMetricsHeader(LogLevel.Trace); } public void Report(RunResult iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); - ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds); + ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds, LogLevel.Trace); } private void UpdateBestResult(RunResult iterationResult) { if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) + { bestResult = iterationResult; + progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult)} , Best Algorithm : {iterationResult.TrainerName}"; + } } } @@ -77,25 +93,32 @@ internal class MulticlassClassificationHandler : IProgress, double> GetScore; private RunResult bestResult; private int iterationIndex; + private ProgressBar progressBar; + private string optimizationMetric = string.Empty; - public MulticlassClassificationHandler(MulticlassClassificationMetric optimizationMetric) + public MulticlassClassificationHandler(MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar) { - isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; + this.isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; + this.optimizationMetric = optimizationMetric.ToString(); + this.progressBar = progressBar; GetScore = (RunResult result) => new MultiMetricsAgent(optimizationMetric).GetScore(result?.ValidationMetrics); - ConsolePrinter.PrintMulticlassClassificationMetricsHeader(); + ConsolePrinter.PrintMulticlassClassificationMetricsHeader(LogLevel.Trace); } public void Report(RunResult iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); - ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds); + ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds, LogLevel.Trace); } private void UpdateBestResult(RunResult iterationResult) { if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) + { bestResult = iterationResult; + progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult)} , Best Algorithm : {iterationResult.TrainerName}"; + } } } diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index 67c4ba4368..0e473701c7 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using System.Collections.Generic; using System.IO; using System.Linq; using Microsoft.CodeAnalysis; diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index 52ba39d281..c80b20076d 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -14,6 +14,7 @@ + diff --git a/src/mlnet/strings.Designer.cs b/src/mlnet/strings.Designer.cs index 724bd0ca5b..3e67d3eb2e 100644 --- a/src/mlnet/strings.Designer.cs +++ b/src/mlnet/strings.Designer.cs @@ -10,8 +10,8 @@ namespace Microsoft.ML.CLI { using System; - - + + /// /// A strongly-typed resource class, for looking up localized strings, etc. /// @@ -23,15 +23,15 @@ namespace Microsoft.ML.CLI { [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Strings { - + private static global::System.Resources.ResourceManager resourceMan; - + private static global::System.Globalization.CultureInfo resourceCulture; - + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal Strings() { } - + /// /// Returns the cached ResourceManager instance used by this class. /// @@ -45,7 +45,7 @@ internal Strings() { return resourceMan; } } - + /// /// Overrides the current thread's CurrentUICulture property for all /// resource lookups using this strongly typed resource class. @@ -59,7 +59,7 @@ internal Strings() { resourceCulture = value; } } - + /// /// Looks up a localized string similar to Best pipeline. /// @@ -68,7 +68,7 @@ internal static string BestPipeline { return ResourceManager.GetString("BestPipeline", resourceCulture); } } - + /// /// Looks up a localized string similar to Creating Data loader .... /// @@ -77,7 +77,7 @@ internal static string CreateDataLoader { return ResourceManager.GetString("CreateDataLoader", resourceCulture); } } - + /// /// Looks up a localized string similar to Exiting .... /// @@ -86,16 +86,16 @@ internal static string Exiting { return ResourceManager.GetString("Exiting", resourceCulture); } } - + /// - /// Looks up a localized string similar to Exploring pipelines for task of type. + /// Looks up a localized string similar to Exploring multiple combinations of ML algorithms and settings to find you the best model for ML task. /// internal static string ExplorePipeline { get { return ResourceManager.GetString("ExplorePipeline", resourceCulture); } } - + /// /// Looks up a localized string similar to Exception occured while exploring pipelines. /// @@ -104,7 +104,7 @@ internal static string ExplorePipelineException { return ResourceManager.GetString("ExplorePipelineException", resourceCulture); } } - + /// /// Looks up a localized string similar to Generating a console project for the best pipeline at location . /// @@ -113,7 +113,7 @@ internal static string GenerateProject { return ResourceManager.GetString("GenerateProject", resourceCulture); } } - + /// /// Looks up a localized string similar to An Error occured during inferring columns. /// @@ -122,7 +122,7 @@ internal static string InferColumnError { return ResourceManager.GetString("InferColumnError", resourceCulture); } } - + /// /// Looks up a localized string similar to Inferring Columns .... /// @@ -131,7 +131,7 @@ internal static string InferColumns { return ResourceManager.GetString("InferColumns", resourceCulture); } } - + /// /// Looks up a localized string similar to Loading data .... /// @@ -140,7 +140,7 @@ internal static string LoadData { return ResourceManager.GetString("LoadData", resourceCulture); } } - + /// /// Looks up a localized string similar to Metrics for Binary Classification models. /// @@ -149,16 +149,16 @@ internal static string MetricsForBinaryClassModels { return ResourceManager.GetString("MetricsForBinaryClassModels", resourceCulture); } } - + /// - /// Looks up a localized string similar to Metrics for Multi-class Classification models. + /// Looks up a localized string similar to Metrics for multi-class models. /// internal static string MetricsForMulticlassModels { get { return ResourceManager.GetString("MetricsForMulticlassModels", resourceCulture); } } - + /// /// Looks up a localized string similar to Metrics for regression models. /// @@ -167,7 +167,7 @@ internal static string MetricsForRegressionModels { return ResourceManager.GetString("MetricsForRegressionModels", resourceCulture); } } - + /// /// Looks up a localized string similar to Retrieving best pipeline .... /// @@ -176,7 +176,7 @@ internal static string RetrieveBestPipeline { return ResourceManager.GetString("RetrieveBestPipeline", resourceCulture); } } - + /// /// Looks up a localized string similar to Saving the best model .... /// @@ -185,7 +185,7 @@ internal static string SavingBestModel { return ResourceManager.GetString("SavingBestModel", resourceCulture); } } - + /// /// Looks up a localized string similar to Unsupported ml-task. /// From 701aa8244040c747ed6ffe1923fac135ae5106d9 Mon Sep 17 00:00:00 2001 From: vinodshanbhag <33269336+vinodshanbhag@users.noreply.github.com> Date: Fri, 29 Mar 2019 17:24:10 -0700 Subject: [PATCH 184/211] Setting model directory to temp directory (#327) --- src/Microsoft.ML.Auto/API/ExperimentSettings.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs index 4fae30de04..5fa4c05e38 100644 --- a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs +++ b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs @@ -18,7 +18,7 @@ public class ExperimentSettings /// (Please note: for an experiment with high runtime operating on a large dataset, opting to keep models in /// memory could cause a system to run out of memory.) /// - public DirectoryInfo ModelDirectory { get; set; } = null; + public DirectoryInfo ModelDirectory { get; set; } = new DirectoryInfo(Path.Combine(Path.GetTempPath(), "Microsoft.ML.Auto")); /// /// This setting controls whether or not an AutoML experiment will make use of ML.NET-provided caching. From c67410379698a0a6aaafa1a9350140569a0cdfb0 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Mon, 1 Apr 2019 14:40:05 -0700 Subject: [PATCH 185/211] Suggested changes to progress bar (#335) * progressbar * added progressbar and refactoring * reverted * revert sign assembly * added headers and removed exception rethrow * bug fixes and updates to UI * added friendly name printing for metric * formatting --- .../CodeGenerator/CodeGenerationHelper.cs | 10 +++--- src/mlnet/Utilities/ConsolePrinter.cs | 36 +++++++++---------- src/mlnet/Utilities/ProgressHandlers.cs | 18 ++++++++-- 3 files changed, 39 insertions(+), 25 deletions(-) diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index 4ab0cd3197..39c2c8e707 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -86,8 +86,9 @@ public void GenerateCode() { ForegroundColor = ConsoleColor.Yellow, ForegroundColorDone = ConsoleColor.DarkGreen, - BackgroundColor = ConsoleColor.DarkGray, - BackgroundCharacter = '\u2593' + BackgroundColor = ConsoleColor.Gray, + ProgressCharacter = '\u2593', + BackgroundCharacter = '─', }; var wait = TimeSpan.FromSeconds(settings.MaxExplorationTime); using (var pbar = new FixedDurationBar(wait, "", options)) @@ -114,9 +115,10 @@ public void GenerateCode() if (t.IsCompleted == false) { - logger.Log(LogLevel.Info, "Waiting for the last iteration to complete ..."); + string originalMessage = pbar.Message; + pbar.Message = " Waiting for the last iteration to complete ..."; + t.Wait(); } - t.Wait(); } } diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 97b6ce3a15..54e9c6b3c5 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -34,25 +34,25 @@ internal static void PrintMetrics(int iteration, string trainerName, RegressionM internal static void PrintBinaryClassificationMetricsHeader(LogLevel logLevel) { - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); logger.Log(logLevel, $"{Strings.MetricsForBinaryClassModels}"); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); logger.Log(logLevel, $"{" ",-4} {"Trainer",-35} {"Accuracy",9} {"AUC",8} {"AUPRC",8} {"F1-score",9} {"Best",8} {"Duration",9}"); } internal static void PrintMulticlassClassificationMetricsHeader(LogLevel logLevel) { - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); logger.Log(logLevel, $"{Strings.MetricsForMulticlassModels}"); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); logger.Log(logLevel, $"{" ",-4} {"Trainer",-35} {"AccuracyMicro",14} {"AccuracyMacro",14} {"Best",14} {"Duration",9}"); } internal static void PrintRegressionMetricsHeader(LogLevel logLevel) { - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); logger.Log(logLevel, $"{Strings.MetricsForRegressionModels}"); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); logger.Log(logLevel, $"{" ",-4} {"Trainer",-35} {"R2-Score",9} {"LossFn",12} {"Absolute-loss",15} {"Squared-loss",15} {"RMS-loss",12} {"Best",12} {"Duration",9}"); } @@ -70,61 +70,61 @@ internal static void PrintTopNHeader(int count) internal static void ExperimentResultsHeader(LogLevel logLevel, string mltask, string datasetName, string labelName, string time, int numModelsExplored) { - logger.Log(logLevel, $"===============================Experiment Results==================================="); - logger.Log(logLevel, $"------------------------------------------------------------------------------------"); + logger.Log(logLevel, $"==============================================Experiment Results=================================================="); + logger.Log(logLevel, $"------------------------------------------------------------------------------------------------------------------"); logger.Log(logLevel, $"{"ML Task",-7} : {mltask,-20}"); logger.Log(logLevel, $"{"Dataset",-7}: {datasetName,-25}"); logger.Log(logLevel, $"{"Label",-6} : {labelName,-25}"); logger.Log(logLevel, $"{"Exploration time",-20} : {time} Secs"); logger.Log(logLevel, $"{"Total number of models explored",-30} : {numModelsExplored}"); - logger.Log(logLevel, $"------------------------------------------------------------------------------------"); + logger.Log(logLevel, $"------------------------------------------------------------------------------------------------------------------"); } internal static void PrintIterationSummary(IEnumerable> results, BinaryClassificationMetric optimizationMetric, int count) { var metricsAgent = new BinaryMetricsAgent(optimizationMetric); var topNResults = RunResultUtil.GetTopNRunResults(results, metricsAgent, count); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); logger.Log(LogLevel.Info, $"Top {topNResults?.Count()} models explored "); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); PrintBinaryClassificationMetricsHeader(LogLevel.Info); int i = 0; foreach (var result in topNResults) { PrintMetrics(++i, result.TrainerName, result.ValidationMetrics, metricsAgent.GetScore(result.ValidationMetrics), result.RuntimeInSeconds, LogLevel.Info); } - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); } internal static void PrintIterationSummary(IEnumerable> results, RegressionMetric optimizationMetric, int count) { var metricsAgent = new RegressionMetricsAgent(optimizationMetric); var topNResults = RunResultUtil.GetTopNRunResults(results, metricsAgent, count); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); logger.Log(LogLevel.Info, $"Top {topNResults?.Count()} models explored "); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); PrintRegressionMetricsHeader(LogLevel.Info); int i = 0; foreach (var result in topNResults) { PrintMetrics(++i, result.TrainerName, result.ValidationMetrics, metricsAgent.GetScore(result.ValidationMetrics), result.RuntimeInSeconds, LogLevel.Info); } - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); } internal static void PrintIterationSummary(IEnumerable> results, MulticlassClassificationMetric optimizationMetric, int count) { var metricsAgent = new MultiMetricsAgent(optimizationMetric); var topNResults = RunResultUtil.GetTopNRunResults(results, metricsAgent, count); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); logger.Log(LogLevel.Info, $"Top {topNResults?.Count()} models explored "); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); PrintMulticlassClassificationMetricsHeader(LogLevel.Info); int i = 0; foreach (var result in topNResults) { PrintMetrics(++i, result.TrainerName, result.ValidationMetrics, metricsAgent.GetScore(result.ValidationMetrics), result.RuntimeInSeconds, LogLevel.Info); } - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); } } } diff --git a/src/mlnet/Utilities/ProgressHandlers.cs b/src/mlnet/Utilities/ProgressHandlers.cs index 94b24a1f1e..945624ce90 100644 --- a/src/mlnet/Utilities/ProgressHandlers.cs +++ b/src/mlnet/Utilities/ProgressHandlers.cs @@ -47,7 +47,11 @@ private void UpdateBestResult(RunResult iterationResult) if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) { bestResult = iterationResult; - progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult)} , Best Algorithm : {iterationResult.TrainerName}"; + progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult):F2} , Best Algorithm : {bestResult.TrainerName}, Last Algorithm : {bestResult.TrainerName}"; + } + else + { + progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult):F2} , Best Algorithm : {bestResult.TrainerName}, Last Algorithm : {iterationResult.TrainerName}"; } } } @@ -82,7 +86,11 @@ private void UpdateBestResult(RunResult iterationRe if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) { bestResult = iterationResult; - progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult)} , Best Algorithm : {iterationResult.TrainerName}"; + progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult):F2} , Best Algorithm : {bestResult.TrainerName}, Last Algorithm : {bestResult.TrainerName}"; + } + else + { + progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult):F2} , Best Algorithm : {bestResult.TrainerName}, Last Algorithm : {iterationResult.TrainerName}"; } } } @@ -117,7 +125,11 @@ private void UpdateBestResult(RunResult iterationRe if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) { bestResult = iterationResult; - progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult)} , Best Algorithm : {iterationResult.TrainerName}"; + progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult):F2} , Best Algorithm : {bestResult.TrainerName}, Last Algorithm : {bestResult.TrainerName}"; + } + else + { + progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult):F2} , Best Algorithm : {bestResult.TrainerName}, Last Algorithm : {iterationResult.TrainerName}"; } } } From c328d2198be2097bfdf35a750deb636de1941396 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Mon, 1 Apr 2019 15:39:55 -0700 Subject: [PATCH 186/211] Rev Samples (#334) --- src/Samples/AdvancedExperimentSettings.cs | 28 +- src/Samples/AdvancedTrainingSettings.cs | 2 +- src/Samples/AutoTrainBinaryClassification.cs | 36 +- .../AutoTrainMulticlassClassification.cs | 31 +- src/Samples/AutoTrainRegression.cs | 43 +- src/Samples/Cancellation.cs | 59 +- src/Samples/Data/taxi-fare-small-train.csv | 10001 ++++++++++++++++ src/Samples/DataStructures/PixelData.cs | 17 + src/Samples/DataStructures/PixelPrediction.cs | 14 + src/Samples/DataStructures/SentimentIssue.cs | 13 + .../DataStructures/SentimentPrediction.cs | 22 + src/Samples/DataStructures/TaxiTrip.cs | 17 + .../DataStructures/TaxiTripFarePrediction.cs | 14 + src/Samples/InferColumns.cs | 64 + src/Samples/ObserveProgress.cs | 24 +- src/Samples/Program.cs | 3 + src/Samples/RefitBestModel.cs | 30 +- src/Samples/Samples.csproj | 24 + 18 files changed, 10377 insertions(+), 65 deletions(-) create mode 100644 src/Samples/Data/taxi-fare-small-train.csv create mode 100644 src/Samples/DataStructures/PixelData.cs create mode 100644 src/Samples/DataStructures/PixelPrediction.cs create mode 100644 src/Samples/DataStructures/SentimentIssue.cs create mode 100644 src/Samples/DataStructures/SentimentPrediction.cs create mode 100644 src/Samples/DataStructures/TaxiTrip.cs create mode 100644 src/Samples/DataStructures/TaxiTripFarePrediction.cs create mode 100644 src/Samples/InferColumns.cs diff --git a/src/Samples/AdvancedExperimentSettings.cs b/src/Samples/AdvancedExperimentSettings.cs index 8e9f602f7b..f2a25d8dd1 100644 --- a/src/Samples/AdvancedExperimentSettings.cs +++ b/src/Samples/AdvancedExperimentSettings.cs @@ -8,28 +8,40 @@ using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; -using Samples.Helpers; namespace Samples { static class AdvancedExperimentSettings { - private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string BaseDatasetsLocation = "Data"; private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-test.csv"); private static string ModelPath = Path.Combine(BaseDatasetsLocation, "TaxiFareModel.zip"); - private static string LabelColumn = "fare_amount"; + private static string LabelColumn = "FareAmount"; public static void Run() { MLContext mlContext = new MLContext(); - - // STEP 1: Infer columns - ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn, ','); - ConsoleHelper.Print(columnInference); + + // STEP 1: Create text loader options + var textLoaderOptions = new TextLoader.Options() + { + Columns = new[] + { + new TextLoader.Column("VendorId", DataKind.String, 0), + new TextLoader.Column("RateCode", DataKind.Single, 1), + new TextLoader.Column("PassengerCount", DataKind.Single, 2), + new TextLoader.Column("TripTimeInSeconds", DataKind.Single, 3), + new TextLoader.Column("TripDistance", DataKind.Single, 4), + new TextLoader.Column("PaymentType", DataKind.String, 5), + new TextLoader.Column("FareAmount", DataKind.Single, 6), + }, + HasHeader = true, + Separators = new[] { ',' } + }; // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + TextLoader textLoader = mlContext.Data.CreateTextLoader(textLoaderOptions); IDataView trainDataView = textLoader.Load(TrainDataPath); IDataView testDataView = textLoader.Load(TestDataPath); diff --git a/src/Samples/AdvancedTrainingSettings.cs b/src/Samples/AdvancedTrainingSettings.cs index 6c2d41fc7c..11245f81aa 100644 --- a/src/Samples/AdvancedTrainingSettings.cs +++ b/src/Samples/AdvancedTrainingSettings.cs @@ -15,7 +15,7 @@ namespace Samples { static class AdvancedTrainingSettings { - private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string BaseDatasetsLocation = "Data"; private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-test.csv"); private static string ModelPath = Path.Combine(BaseDatasetsLocation, "TaxiFareModel.zip"); diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index 5e1f449e6e..020775011a 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -10,29 +10,36 @@ using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; -using Samples.Helpers; +using Samples.DataStructures; namespace Samples { public class AutoTrainBinaryClassification { - private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string BaseDatasetsLocation = "Data"; private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "wikipedia-detox-250-line-data.tsv"); private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "wikipedia-detox-250-line-test.tsv"); private static string ModelPath = Path.Combine(BaseDatasetsLocation, "SentimentModel.zip"); - private static string LabelColumn = "Sentiment"; private static uint ExperimentTime = 60; public static void Run() { MLContext mlContext = new MLContext(); - // STEP 1: Infer columns - ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn); - ConsoleHelper.Print(columnInference); + // STEP 1: Create text loader options + var textLoaderOptions = new TextLoader.Options() + { + Columns = new[] + { + new TextLoader.Column("Label", DataKind.Boolean, 0), + new TextLoader.Column("Text", DataKind.String, 1), + }, + HasHeader = true, + Separators = new[] { '\t' } + }; // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + TextLoader textLoader = mlContext.Data.CreateTextLoader(textLoaderOptions); IDataView trainDataView = textLoader.Load(TrainDataPath); IDataView testDataView = textLoader.Load(TestDataPath); @@ -40,7 +47,7 @@ public static void Run() Console.WriteLine($"Running AutoML binary classification experiment for {ExperimentTime} seconds..."); IEnumerable> runResults = mlContext.Auto() .CreateBinaryClassificationExperiment(ExperimentTime) - .Execute(trainDataView, LabelColumn); + .Execute(trainDataView); // STEP 4: Print metric from the best model RunResult best = runResults.Best(); @@ -50,13 +57,24 @@ public static void Run() // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); - BinaryClassificationMetrics testMetrics = mlContext.BinaryClassification.EvaluateNonCalibrated(testDataViewWithBestScore, label: LabelColumn); + BinaryClassificationMetrics testMetrics = mlContext.BinaryClassification.EvaluateNonCalibrated(testDataViewWithBestScore); Console.WriteLine($"Accuracy of best model on test data: {testMetrics.Accuracy}"); // STEP 6: Save the best model for later deployment and inferencing using (FileStream fs = File.Create(ModelPath)) best.Model.SaveTo(mlContext, fs); + // STEP 7: Create prediction engine from the best trained model + var predictionEngine = best.Model.CreatePredictionEngine(mlContext); + + // STEP 8: Initialize a new sentiment issue, and get the predicted sentiment + var testSentimentIssue = new SentimentIssue + { + Text = "I hope this helps." + }; + var prediction = predictionEngine.Predict(testSentimentIssue); + Console.WriteLine($"Predicted sentiment for test issue: {prediction.Prediction}"); + Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index 68e367d86d..a7e8af3e3c 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -10,13 +10,13 @@ using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; -using Samples.Helpers; +using Samples.DataStructures; namespace Samples { public class AutoTrainMulticlassClassification { - private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string BaseDatasetsLocation = "Data"; private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "optdigits-train.csv"); private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "optdigits-test.csv"); private static string ModelPath = Path.Combine(BaseDatasetsLocation, "OptDigits.zip"); @@ -26,12 +26,20 @@ public static void Run() { MLContext mlContext = new MLContext(); - // STEP 1: Infer columns - ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath); - ConsoleHelper.Print(columnInference); + // STEP 1: Create text loader options + var textLoaderOptions = new TextLoader.Options() + { + Columns = new[] + { + new TextLoader.Column("PixelValues", DataKind.Single, 0, 63), + new TextLoader.Column("Label", DataKind.Single, 64), + }, + HasHeader = true, + Separators = new[] { ',' } + }; // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + TextLoader textLoader = mlContext.Data.CreateTextLoader(textLoaderOptions); IDataView trainDataView = textLoader.Load(TrainDataPath); IDataView testDataView = textLoader.Load(TestDataPath); @@ -56,6 +64,17 @@ public static void Run() using (FileStream fs = File.Create(ModelPath)) best.Model.SaveTo(mlContext, fs); + // STEP 7: Create prediction engine from the best trained model + var predictionEngine = best.Model.CreatePredictionEngine(mlContext); + + // STEP 8: Initialize new pixel data, and get the predicted number + var testPixelData = new PixelData + { + PixelValues = new float[] { 0, 0, 1, 8, 15, 10, 0, 0, 0, 3, 13, 15, 14, 14, 0, 0, 0, 5, 10, 0, 10, 12, 0, 0, 0, 0, 3, 5, 15, 10, 2, 0, 0, 0, 16, 16, 16, 16, 12, 0, 0, 1, 8, 12, 14, 8, 3, 0, 0, 0, 0, 10, 13, 0, 0, 0, 0, 0, 0, 11, 9, 0, 0, 0 } + }; + var prediction = predictionEngine.Predict(testPixelData); + Console.WriteLine($"Predicted number for test pixels: {prediction.Prediction}"); + Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index 43c38e2173..09bc9de29c 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -10,29 +10,42 @@ using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; -using Samples.Helpers; +using Samples.DataStructures; namespace Samples { static class AutoTrainRegression { - private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string BaseDatasetsLocation = "Data"; private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-test.csv"); private static string ModelPath = Path.Combine(BaseDatasetsLocation, "TaxiFareModel.zip"); - private static string LabelColumn = "fare_amount"; + private static string LabelColumn = "FareAmount"; private static uint ExperimentTime = 60; public static void Run() { MLContext mlContext = new MLContext(); - // STEP 1: Infer columns - ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn); - ConsoleHelper.Print(columnInference); + // STEP 1: Create text loader options + var textLoaderOptions = new TextLoader.Options() + { + Columns = new[] + { + new TextLoader.Column("VendorId", DataKind.String, 0), + new TextLoader.Column("RateCode", DataKind.Single, 1), + new TextLoader.Column("PassengerCount", DataKind.Single, 2), + new TextLoader.Column("TripTimeInSeconds", DataKind.Single, 3), + new TextLoader.Column("TripDistance", DataKind.Single, 4), + new TextLoader.Column("PaymentType", DataKind.String, 5), + new TextLoader.Column("FareAmount", DataKind.Single, 6), + }, + HasHeader = true, + Separators = new[] { ',' } + }; // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + TextLoader textLoader = mlContext.Data.CreateTextLoader(textLoaderOptions); IDataView trainDataView = textLoader.Load(TrainDataPath); IDataView testDataView = textLoader.Load(TestDataPath); @@ -57,6 +70,22 @@ public static void Run() using (FileStream fs = File.Create(ModelPath)) best.Model.SaveTo(mlContext, fs); + // STEP 7: Create prediction engine from the best trained model + var predictionEngine = best.Model.CreatePredictionEngine(mlContext); + + // STEP 8: Initialize a new test taxi trip, and get the predicted fare + var testTaxiTrip = new TaxiTrip + { + VendorId = "VTS", + RateCode = 1, + PassengerCount = 1, + TripTimeInSeconds = 1140, + TripDistance = 3.75f, + PaymentType = "CRD" + }; + var prediction = predictionEngine.Predict(testTaxiTrip); + Console.WriteLine($"Predicted fare for test taxi trip: {prediction.FareAmount}"); + Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } diff --git a/src/Samples/Cancellation.cs b/src/Samples/Cancellation.cs index 2fe7b2022c..24661abf93 100644 --- a/src/Samples/Cancellation.cs +++ b/src/Samples/Cancellation.cs @@ -3,57 +3,76 @@ // See the LICENSE file in the project root for more information. using System; -using System.IO; using System.Collections.Generic; using System.Diagnostics; +using System.IO; using System.Linq; using System.Threading; +using System.Threading.Tasks; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; -using Samples.Helpers; namespace Samples { static class Cancellation { - private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string BaseDatasetsLocation = "Data"; private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-test.csv"); private static string ModelPath = Path.Combine(BaseDatasetsLocation, "TaxiFareModel.zip"); - private static string LabelColumn = "fare_amount"; + private static string LabelColumn = "FareAmount"; public static void Run() { MLContext mlContext = new MLContext(); - // STEP 1: Infer columns - ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn, ','); - ConsoleHelper.Print(columnInference); + // STEP 1: Create text loader options + var textLoaderOptions = new TextLoader.Options() + { + Columns = new[] + { + new TextLoader.Column("VendorId", DataKind.String, 0), + new TextLoader.Column("RateCode", DataKind.Single, 1), + new TextLoader.Column("PassengerCount", DataKind.Single, 2), + new TextLoader.Column("TripTimeInSeconds", DataKind.Single, 3), + new TextLoader.Column("TripDistance", DataKind.Single, 4), + new TextLoader.Column("PaymentType", DataKind.String, 5), + new TextLoader.Column("FareAmount", DataKind.Single, 6), + }, + HasHeader = true, + Separators = new[] { ',' } + }; // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + TextLoader textLoader = mlContext.Data.CreateTextLoader(textLoaderOptions); IDataView trainDataView = textLoader.Load(TrainDataPath); IDataView testDataView = textLoader.Load(TestDataPath); - int cancelAfterInSeconds = 20; + // STEP 3: Auto inference with a cancellation token in a new task + Stopwatch stopwatch = Stopwatch.StartNew(); CancellationTokenSource cts = new CancellationTokenSource(); - cts.CancelAfter(cancelAfterInSeconds * 1000); - - Stopwatch watch = Stopwatch.StartNew(); - - // STEP 3: Auto inference with a cancellation token - Console.WriteLine($"Invoking an experiment that will be cancelled after {cancelAfterInSeconds} seconds"); - IEnumerable> runResults = mlContext.Auto() + var experiment = mlContext.Auto() .CreateRegressionExperiment(new RegressionExperimentSettings() { - MaxExperimentTimeInSeconds = 60, + MaxExperimentTimeInSeconds = 3600, CancellationToken = cts.Token - }) - .Execute(trainDataView, LabelColumn); + }); + IEnumerable> runResults = new List>(); + Console.WriteLine($"Running AutoML experiment..."); + Task experimentTask = Task.Run(() => + { + runResults = experiment.Execute(trainDataView, LabelColumn); + }); + + // STEP 4: Stop the experiment run after any key is pressed + Console.WriteLine($"Press any key to stop the experiment run..."); + Console.ReadKey(); + cts.Cancel(); + experimentTask.Wait(); - Console.WriteLine($"{runResults.Count()} models were returned after {cancelAfterInSeconds} seconds"); + Console.WriteLine($"{runResults.Count()} models were returned after {stopwatch.Elapsed.TotalSeconds:0.00} seconds"); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); diff --git a/src/Samples/Data/taxi-fare-small-train.csv b/src/Samples/Data/taxi-fare-small-train.csv new file mode 100644 index 0000000000..91f6fc6f3b --- /dev/null +++ b/src/Samples/Data/taxi-fare-small-train.csv @@ -0,0 +1,10001 @@ +vendor_id,rate_code,passenger_count,trip_time_in_secs,trip_distance,payment_type,fare_amount +CMT,1,1,1271,3.8,CRD,17.5 +CMT,1,1,474,1.5,CRD,8 +CMT,1,1,637,1.4,CRD,8.5 +CMT,1,1,181,0.6,CSH,4.5 +CMT,1,1,661,1.1,CRD,8.5 +CMT,1,1,935,9.6,CSH,27.5 +CMT,1,1,869,2.3,CRD,11.5 +CMT,1,1,454,1.4,CRD,7.5 +CMT,1,1,366,1.5,CSH,7.5 +CMT,1,1,252,0.6,CSH,5 +CMT,1,1,314,1.2,CRD,6 +CMT,1,1,480,0.7,CRD,7 +CMT,1,1,386,1.3,CRD,7 +CMT,1,2,351,0.8,CSH,5.5 +CMT,1,1,407,1.1,CSH,7 +CMT,1,2,970,5.6,CSH,19 +CMT,1,3,371,0.6,CRD,6 +CMT,1,2,367,1.3,CSH,6.5 +CMT,1,1,621,1.7,CSH,9 +CMT,1,1,243,0.6,CSH,4.5 +CMT,2,1,3,0,NOC,52 +CMT,1,3,485,0.8,CSH,6.5 +CMT,1,1,88,0.4,CSH,3.5 +CMT,1,2,160,0.6,CSH,4.5 +CMT,1,2,596,1.4,CSH,8.5 +CMT,1,1,270,0.8,CSH,5.5 +CMT,1,1,1728,9.8,CRD,32 +CMT,1,1,493,1.4,CSH,8.5 +CMT,1,1,655,1.4,CSH,8.5 +CMT,1,1,571,2,CRD,9 +CMT,1,2,144,0.5,CRD,4 +CMT,1,1,453,1.3,CSH,7 +CMT,1,2,1074,3.8,CSH,16 +CMT,1,1,470,1.4,CRD,7.5 +CMT,1,1,821,2.5,CSH,11.5 +CMT,1,2,539,1.4,CSH,8 +CMT,1,1,397,0.4,CRD,5.5 +CMT,1,1,223,0.8,CSH,5 +CMT,1,1,457,1,CSH,7 +CMT,1,1,1527,4.7,CSH,19.5 +CMT,2,1,1785,16.4,CSH,52 +CMT,1,2,612,2.1,CSH,10 +CMT,1,2,467,1.3,CSH,7 +CMT,1,2,262,0.6,CSH,5 +CMT,1,1,1603,6.5,CSH,24.5 +CMT,1,1,659,1.7,CSH,9.5 +CMT,1,4,1069,2.4,CSH,12.5 +CMT,1,1,139,0.4,CSH,4 +CMT,1,1,411,1.1,CSH,7 +CMT,1,1,340,0.5,CSH,5.5 +CMT,1,1,1439,3.6,CSH,17.5 +CMT,1,2,425,1.1,CSH,7 +CMT,1,1,2561,9.3,CRD,33.5 +CMT,1,1,308,0.9,CRD,5.5 +CMT,1,2,385,1.3,CRD,7 +CMT,1,1,1267,6.9,CRD,23 +CMT,1,1,829,2.6,CRD,11.5 +CMT,1,1,319,1.1,CRD,6.5 +CMT,1,1,390,0.9,CRD,6.5 +CMT,1,3,820,2.6,CRD,11.5 +CMT,1,1,702,3.7,CSH,13 +CMT,1,1,771,0.9,CSH,9 +CMT,1,1,850,2,CRD,10.5 +CMT,1,1,846,6.3,CSH,18.5 +CMT,1,1,697,2.4,CRD,11 +CMT,1,1,244,1.1,CRD,5.5 +CMT,1,1,299,1.4,CRD,6.5 +CMT,1,2,338,1.6,CRD,7 +CMT,1,1,177,0.8,CRD,4.5 +CMT,1,1,356,1.5,CRD,7.5 +CMT,1,1,778,3.4,CRD,13 +CMT,1,1,514,1.6,CRD,8 +CMT,1,1,372,1.1,CRD,6.5 +CMT,2,2,2104,18.8,CRD,52 +CMT,1,1,489,1.6,CSH,8.5 +CMT,1,1,1000,1.8,CSH,12 +CMT,1,1,840,1,CRD,10 +CMT,1,1,123,0.7,CSH,4 +CMT,1,2,1070,5.9,CRD,20 +CMT,1,1,427,1.2,CSH,7 +CMT,1,1,1120,3.7,CRD,16 +CMT,1,1,241,0.4,CSH,4.5 +CMT,1,1,677,1.8,CRD,10 +CMT,1,1,1151,4.5,CRD,17.5 +CMT,1,1,176,0.6,CRD,4.5 +CMT,1,1,133,0.8,CRD,4.5 +CMT,1,2,302,0.8,CSH,5.5 +CMT,1,2,284,0.6,CRD,5 +CMT,1,1,543,1.3,CRD,8 +CMT,1,1,668,4.2,CRD,15 +CMT,1,1,402,0.8,CRD,6 +CMT,1,2,887,3.3,CSH,13 +CMT,1,1,1906,5.2,CSH,23.5 +CMT,1,1,357,1.6,CRD,7 +CMT,1,1,143,0.9,CSH,4.5 +CMT,1,1,135,0.4,CRD,4 +CMT,1,1,332,1.3,CRD,6.5 +CMT,1,1,460,1.7,CRD,8 +CMT,1,1,421,1,CSH,6.5 +CMT,1,2,482,1.5,CSH,7.5 +CMT,1,1,765,1.9,CRD,10.5 +CMT,1,1,543,0.8,CSH,7 +CMT,1,1,879,2.1,CRD,11.5 +CMT,1,2,384,0.6,CSH,5.5 +CMT,1,1,633,1.2,CSH,8.5 +CMT,1,1,348,1,CRD,6 +CMT,1,1,736,7.2,CSH,21 +CMT,1,3,257,1,CSH,5.5 +CMT,1,2,1600,3.6,CSH,19 +CMT,1,1,74,0.4,CSH,3.5 +CMT,1,1,275,0.9,CRD,5.5 +CMT,1,1,1531,10.8,CRD,31 +CMT,1,1,902,2.4,CSH,12 +CMT,1,1,813,2.4,CRD,11 +CMT,1,1,1357,3.8,CRD,17 +CMT,1,2,433,1.2,CSH,7 +CMT,1,1,194,0.9,CRD,5 +CMT,1,2,453,2.1,CSH,8.5 +CMT,1,1,979,2,CSH,12 +CMT,1,2,233,0.7,CRD,5 +CMT,1,1,715,2.8,CRD,11.5 +CMT,1,1,433,1.3,CSH,7 +CMT,1,1,934,1.9,CRD,11.5 +CMT,1,1,1047,3.2,CRD,15 +CMT,1,1,186,0.3,CSH,4 +CMT,1,2,1086,2,CRD,12.5 +CMT,1,2,910,4,CRD,15.5 +CMT,1,1,1220,9.2,CSH,28.5 +CMT,1,1,462,0.6,CSH,6.5 +CMT,1,1,1931,10.2,CRD,31.5 +CMT,1,1,731,3.6,CRD,13.5 +CMT,1,2,381,0.8,CRD,6 +CMT,1,1,542,1.4,CSH,8 +CMT,1,1,254,0.9,CRD,5.5 +CMT,1,1,408,1.1,CSH,6.5 +CMT,1,4,569,1,CSH,7.5 +CMT,1,2,325,0.8,CRD,5.5 +CMT,1,3,629,1.8,CRD,9 +CMT,1,1,1603,5,CSH,20.5 +CMT,1,1,572,3,CRD,12 +CMT,1,1,485,1.8,CRD,8 +CMT,1,1,415,1.5,CSH,7.5 +CMT,1,1,1445,2.5,CRD,16 +CMT,1,1,721,1.3,CSH,9.5 +CMT,1,1,1149,3.6,CRD,15 +CMT,1,2,386,1.3,CSH,7 +CMT,1,1,65,0.3,CSH,3.5 +CMT,1,2,525,1.5,CSH,8 +CMT,1,2,355,1.3,CRD,7 +CMT,1,1,775,3.2,CRD,12.5 +CMT,1,1,1029,2.8,CSH,13.5 +CMT,1,1,972,3.5,CRD,14 +CMT,1,1,214,0.6,CSH,4.5 +CMT,1,1,552,1.1,CRD,7.5 +CMT,1,1,235,0.7,CSH,5 +CMT,1,1,341,0.8,CRD,6 +CMT,1,1,574,1.8,CRD,9 +CMT,1,1,549,1.5,CRD,8.5 +CMT,1,1,205,0.3,CSH,4 +CMT,1,1,1605,5.7,CSH,22 +CMT,1,2,210,0.9,CSH,5 +CMT,1,1,696,1.7,CSH,9.5 +CMT,1,1,397,1.3,CSH,7 +CMT,1,1,224,0.6,CSH,4.5 +CMT,1,1,632,1.1,CRD,8.5 +CMT,1,2,529,1,CSH,7.5 +CMT,1,1,208,0.8,CRD,5 +CMT,1,1,177,0.5,CSH,4 +CMT,1,1,377,0.4,CSH,5.5 +CMT,1,2,859,1.5,CRD,10.5 +CMT,1,2,361,1.3,CRD,7 +CMT,1,2,320,2.1,CSH,8 +CMT,1,1,162,0.6,CSH,4 +CMT,1,1,386,2.2,CRD,8.5 +CMT,1,1,1461,1.4,CRD,14.5 +CMT,1,1,289,0.5,CRD,5 +CMT,1,1,95,0.3,CSH,3 +CMT,1,1,2129,8.7,CRD,29.5 +CMT,1,1,893,2.3,CSH,11.5 +CMT,1,1,876,1,CRD,10 +CMT,1,2,371,0.8,CRD,6 +CMT,1,2,430,1.1,CSH,7 +CMT,1,1,491,2.4,CRD,10 +CMT,1,1,981,4.3,CRD,16 +CMT,1,2,591,2,CSH,9.5 +CMT,1,1,377,1.2,CSH,6.5 +CMT,1,1,554,1.1,CRD,7.5 +CMT,1,1,865,2.4,CRD,11.5 +CMT,1,1,374,0.5,CRD,5 +CMT,1,2,945,1.6,CRD,11 +CMT,1,2,615,1.6,CSH,9 +CMT,1,3,758,2.3,CRD,11 +CMT,1,1,668,2.7,CRD,11 +CMT,1,1,128,0.9,CRD,4.5 +CMT,1,1,429,1,CSH,6.5 +CMT,1,1,1023,4.5,CSH,16.5 +CMT,1,1,1789,0,NOC,2.5 +CMT,1,1,214,0.9,CSH,5.5 +CMT,1,3,370,1.2,CSH,6.5 +CMT,1,1,1055,3.8,CRD,15 +CMT,1,2,593,1.9,CSH,9 +CMT,1,2,681,2,CSH,10.5 +CMT,1,1,665,2.4,CRD,10 +CMT,2,2,2638,17.7,CSH,52 +CMT,1,1,562,3.2,CRD,11 +CMT,1,1,1005,1.6,CRD,11.5 +CMT,1,1,373,0.9,CRD,6 +CMT,1,1,587,1.6,CRD,8.5 +CMT,1,1,682,1.5,CRD,9 +CMT,1,1,380,1.2,CRD,7 +CMT,1,1,248,0.6,CSH,4.5 +CMT,1,1,878,3.4,CSH,13 +CMT,1,1,271,0.5,CRD,5 +CMT,1,1,307,0.7,CSH,5.5 +CMT,1,1,303,0.9,CRD,5.5 +CMT,1,1,397,1.4,CRD,7 +CMT,1,1,1393,3.6,CRD,17 +CMT,1,2,671,1.1,CSH,8.5 +CMT,3,1,2528,18.1,CSH,71 +CMT,1,1,249,0.8,CSH,5 +CMT,1,1,378,1.2,CSH,6.5 +CMT,1,1,666,1.6,CRD,9.5 +CMT,1,2,553,1.5,CRD,8.5 +CMT,1,1,966,1.8,CRD,11.5 +CMT,1,1,850,3.6,CRD,13.5 +CMT,1,1,369,1.1,CRD,6.5 +CMT,1,2,1775,10.4,CRD,34 +CMT,1,2,173,0.6,CSH,4 +CMT,1,1,539,1.7,CRD,8.5 +CMT,1,2,483,1.5,CRD,8 +CMT,1,1,720,1.5,CRD,9.5 +CMT,1,2,674,1.1,CSH,9 +CMT,1,1,208,0.8,CRD,5 +CMT,1,2,263,2.2,CSH,8 +CMT,1,1,417,1.5,CRD,7.5 +CMT,2,1,1218,17.3,CRD,52 +CMT,1,1,1315,6.1,CSH,22 +CMT,1,1,448,1.9,CRD,8.5 +CMT,1,1,497,0.9,CSH,7 +CMT,1,1,1151,3.8,CSH,15.5 +CMT,1,1,815,1.6,CSH,10 +CMT,1,1,599,1.6,CSH,8.5 +CMT,1,1,516,2.1,CSH,9 +CMT,1,1,1273,4.3,CRD,17 +CMT,1,1,332,0.5,CRD,5.5 +CMT,1,1,1524,5.2,CRD,20.5 +CMT,1,1,670,1.2,CRD,8.5 +CMT,1,1,816,1.4,CSH,10 +CMT,1,3,822,1.1,CRD,10 +CMT,1,1,180,0.3,CSH,4 +CMT,1,2,462,1.5,CRD,7.5 +CMT,1,1,65,0.2,CRD,3 +CMT,1,1,1338,5.5,CRD,20.5 +CMT,1,1,621,1.2,CRD,8.5 +CMT,1,1,387,1,CSH,6.5 +CMT,1,1,1029,3.1,CSH,14.5 +CMT,1,3,537,1.5,CRD,8 +CMT,1,1,764,2.3,CRD,11 +CMT,1,2,510,1.3,CSH,7.5 +CMT,1,2,805,2.2,CRD,11 +CMT,1,1,1006,2,CSH,12 +CMT,1,1,403,1.5,CSH,7.5 +CMT,1,1,890,3.2,CRD,13 +CMT,1,1,499,0.7,CRD,6.5 +CMT,1,2,741,0.8,CSH,9 +CMT,1,1,263,0.6,CSH,5 +CMT,1,1,731,2,CRD,10.5 +CMT,1,1,879,2.1,CRD,11.5 +CMT,1,1,396,1.1,CRD,6.5 +CMT,1,1,361,1.3,CSH,7 +CMT,1,1,289,1.4,CSH,6.5 +CMT,1,1,701,3.2,CRD,12 +CMT,3,2,1369,16.6,CSH,62 +CMT,1,1,272,0.7,CRD,5 +CMT,1,1,886,2.3,CRD,11.5 +CMT,1,1,1033,4.2,CSH,16 +CMT,1,1,345,1.5,CRD,6.5 +CMT,1,1,893,2.7,CSH,12 +CMT,1,1,876,1.6,CSH,11 +CMT,1,1,581,0.8,CRD,7.5 +CMT,1,2,299,0.7,CSH,5 +CMT,1,1,655,1.4,CSH,8.5 +CMT,1,1,883,1.2,CSH,10.5 +CMT,1,1,363,0.8,CRD,6 +CMT,1,1,363,1,CRD,6 +CMT,1,1,724,1.8,CSH,9.5 +CMT,1,1,999,2.4,CRD,13 +CMT,1,1,90,0.4,CSH,3.5 +CMT,1,1,813,2.4,CRD,11.5 +CMT,1,2,934,2.5,CSH,12.5 +CMT,1,1,1006,2.8,CRD,13 +CMT,1,1,368,0.8,CSH,6 +CMT,1,1,1431,3.2,CRD,17 +CMT,1,1,691,1.2,CSH,9 +CMT,2,1,3633,18.7,CRD,52 +CMT,1,1,867,4,CSH,14.5 +CMT,1,2,446,0.8,CRD,6.5 +CMT,1,2,304,1.1,CSH,6 +CMT,1,1,217,0.8,CRD,5 +CMT,1,2,1535,9.2,CRD,29.5 +CMT,1,1,107,0.5,CSH,3.5 +CMT,1,1,1102,5.2,CSH,19.5 +CMT,1,1,395,0.5,CRD,5.5 +CMT,1,1,229,0.7,CRD,5 +CMT,1,1,1101,2.7,CRD,13.5 +CMT,1,2,759,2.5,CSH,11 +CMT,1,1,250,0.6,CSH,5 +CMT,1,3,599,1.6,CSH,8.5 +CMT,1,1,523,1.7,CRD,8.5 +CMT,1,1,596,3,CSH,11 +CMT,1,1,594,2.5,CRD,10 +CMT,1,1,397,1,CSH,6.5 +CMT,1,1,443,1,CRD,6.5 +CMT,1,1,1164,3.8,CSH,16.5 +CMT,1,1,511,1.4,CSH,8 +CMT,1,2,638,2,CSH,10 +CMT,1,2,1093,2.7,CRD,13.5 +CMT,1,1,1504,5.3,CRD,20 +CMT,1,2,1309,3.2,CSH,15.5 +CMT,1,1,183,0.7,CSH,4.5 +CMT,1,1,749,2.1,CRD,10.5 +CMT,1,1,661,1,CRD,8.5 +CMT,1,1,537,1.5,CRD,8 +CMT,1,1,84,0.3,CSH,3 +CMT,1,2,688,1.1,CRD,8.5 +CMT,1,1,1054,3.5,CSH,14.5 +CMT,1,2,549,1.7,CSH,8.5 +CMT,1,1,193,0.5,CSH,4.5 +CMT,1,1,689,1.5,CRD,9 +CMT,1,1,369,0.7,CSH,5.5 +CMT,1,1,495,1.3,CSH,7.5 +CMT,1,1,581,1.1,CRD,8 +CMT,1,1,329,1.3,CRD,6.5 +CMT,1,1,147,0.5,CSH,4 +CMT,1,3,686,1.5,CRD,9.5 +CMT,1,1,493,2,CRD,9 +CMT,1,1,1018,3.8,CRD,15.5 +CMT,1,1,918,5.8,CRD,19.5 +CMT,1,1,1667,2.7,CRD,18 +CMT,1,1,396,0.5,CRD,6 +CMT,1,1,801,4,CRD,14 +CMT,1,3,362,1,CSH,6 +CMT,1,1,733,1.5,CSH,9.5 +CMT,1,1,153,0.7,CSH,4 +CMT,1,2,188,0.9,CRD,5 +CMT,1,1,167,0.3,CSH,4 +CMT,1,2,198,1.2,CSH,5.5 +CMT,1,2,137,0.3,CSH,3.5 +CMT,1,1,443,0.9,CSH,6.5 +CMT,2,1,2962,17,CRD,52 +CMT,1,2,874,6.6,CRD,20.5 +CMT,1,1,1147,4.4,CSH,17 +CMT,1,2,577,1.5,CSH,8 +CMT,1,1,566,0.8,CSH,7.5 +CMT,1,1,648,0.8,CRD,8 +CMT,1,1,1016,2.7,CSH,13 +CMT,1,4,502,1.2,CSH,7 +CMT,1,2,822,1.6,CSH,10 +CMT,1,1,886,7.9,CSH,23.5 +CMT,1,1,196,0.7,CSH,4.5 +CMT,1,2,476,1.8,CRD,8.5 +CMT,1,1,971,3.2,CRD,14 +CMT,1,1,241,0.5,CSH,4.5 +CMT,1,4,605,1.2,CRD,8.5 +CMT,1,2,1034,3.2,CRD,13.5 +CMT,1,1,794,1.5,CRD,9.5 +CMT,1,2,198,0.5,CSH,4 +CMT,1,1,959,1.4,CSH,11 +CMT,1,1,331,1,CSH,5.5 +CMT,1,2,374,1.2,CSH,6.5 +CMT,1,1,390,1.1,CRD,6.5 +CMT,1,1,333,0.6,CSH,5.5 +CMT,1,1,443,1.2,CSH,7 +CMT,1,1,991,2.4,CSH,12.5 +CMT,1,1,1263,8.6,CSH,25.5 +CMT,1,1,598,2,CSH,9 +CMT,1,1,313,1,CRD,6 +CMT,1,2,285,0.9,CSH,5.5 +CMT,1,1,487,0.9,CSH,7 +CMT,1,3,464,1.2,CSH,7 +CMT,1,2,340,1.4,CSH,6.5 +CMT,1,2,457,1.9,CSH,8.5 +CMT,1,2,612,3.2,CRD,11.5 +CMT,1,2,155,0.7,CSH,4.5 +CMT,1,1,869,3.1,CRD,13 +CMT,1,2,1117,2.2,CSH,13.5 +CMT,1,1,234,0.8,CSH,5.5 +CMT,1,1,471,2,CRD,8.5 +CMT,1,1,483,1.2,CRD,7.5 +CMT,1,1,570,1.1,CSH,7.5 +CMT,1,1,826,2.6,CRD,12 +CMT,1,1,670,0.5,CSH,6.5 +CMT,1,1,852,1.9,CRD,11 +CMT,1,1,2,0,NOC,2.5 +CMT,1,2,646,1.6,CRD,9 +CMT,1,1,180,0.9,CSH,5 +CMT,1,1,655,2.6,CRD,11 +CMT,1,2,404,1.3,CSH,7 +CMT,1,1,264,0.5,CRD,5 +CMT,1,1,1492,3.7,CRD,18 +CMT,1,2,261,0.7,CSH,5 +CMT,1,2,343,1.2,CSH,6 +CMT,1,1,812,2,CRD,10.5 +CMT,1,1,271,0.9,CSH,5.5 +CMT,1,1,680,2,CSH,10 +CMT,1,1,1645,1.7,CRD,17 +CMT,1,1,497,1.4,CSH,8 +CMT,1,1,169,0.8,CSH,4.5 +CMT,1,1,689,1.7,CSH,9.5 +CMT,1,1,828,2.1,CRD,11 +CMT,1,1,1788,10.3,CSH,31.5 +CMT,1,1,274,1.3,CSH,6.5 +CMT,1,1,553,1.2,CRD,8 +CMT,1,1,469,0.9,CRD,7 +CMT,1,1,385,1.4,CRD,7.5 +CMT,1,1,745,2.1,CSH,11 +CMT,1,1,825,2.1,CRD,11 +CMT,1,1,1815,7.2,CRD,27 +CMT,1,2,524,1.5,CSH,8 +CMT,1,2,1037,2.2,CRD,12.5 +CMT,1,1,358,1.4,CSH,7 +CMT,1,1,837,2,CSH,11.5 +CMT,1,1,490,0.9,CSH,7 +CMT,1,1,479,0.9,CSH,7 +CMT,1,1,863,2.4,CRD,11.5 +CMT,1,1,117,0.1,CSH,3.5 +CMT,1,1,863,5.7,CRD,18.5 +CMT,1,1,294,1,CRD,6 +CMT,1,1,505,1.6,CSH,8 +CMT,1,1,282,0.7,CRD,5 +CMT,1,1,494,1.2,CSH,7.5 +CMT,1,3,453,1.7,CSH,8 +CMT,1,1,992,2.4,CRD,12.5 +CMT,1,1,1124,2.4,CRD,13.5 +CMT,1,2,598,2.1,CSH,10 +CMT,1,1,375,0.9,CRD,6.5 +CMT,1,1,740,1.1,CSH,9 +CMT,1,1,400,0.6,CRD,6 +CMT,1,1,321,1.1,CRD,6 +CMT,1,1,95,0.6,CSH,4 +CMT,1,1,513,1.5,CSH,8 +CMT,1,1,477,1.4,CSH,7.5 +CMT,1,1,725,1.3,CSH,9 +CMT,1,1,296,0.6,CRD,5 +CMT,1,1,542,0.8,CRD,7 +CMT,1,2,392,1.3,CRD,7 +CMT,1,2,451,1,CRD,7 +CMT,1,2,116,0.4,CSH,4 +CMT,1,1,122,0.6,CSH,4 +CMT,1,1,233,1.1,CSH,5.5 +CMT,1,1,1231,6.5,CSH,22 +CMT,1,1,594,1.7,CSH,8.5 +CMT,1,1,827,2.4,CRD,11.5 +CMT,1,2,461,1.2,CSH,7 +CMT,1,2,883,1.5,CRD,10 +CMT,1,1,290,0.8,CRD,5.5 +CMT,1,1,695,2.3,CRD,10.5 +CMT,1,1,643,0.9,CSH,8 +CMT,1,1,1015,2.7,CRD,13 +CMT,1,2,656,1.7,CRD,9 +CMT,1,2,734,1.2,CRD,9 +CMT,1,1,1187,3.9,CRD,15.5 +CMT,1,2,332,1.2,CRD,6.5 +CMT,1,2,435,1.3,CRD,7 +CMT,1,2,202,0.3,CSH,4 +CMT,1,1,302,1.2,CSH,6 +CMT,1,1,252,1.2,CSH,6 +CMT,1,2,597,2,CSH,9 +CMT,1,1,566,1.9,CSH,9 +CMT,1,1,553,2.2,CRD,9.5 +CMT,1,1,350,1.2,CSH,6.5 +CMT,1,1,955,2.5,CRD,12.5 +CMT,1,1,961,2,CSH,11.5 +CMT,1,1,592,1.3,CRD,8 +CMT,1,1,301,0.7,CSH,5.5 +CMT,1,1,376,2.2,CSH,8.5 +CMT,1,1,670,1.6,CRD,9.5 +CMT,1,1,220,0.9,CSH,5 +CMT,1,1,273,0.7,CRD,5 +CMT,1,2,651,0.9,CSH,8 +CMT,1,2,397,1.1,CSH,7 +CMT,1,1,397,1.2,CSH,7 +CMT,1,1,564,2,CRD,9.5 +CMT,1,1,515,0.9,CSH,7 +CMT,1,1,535,1.7,CRD,8.5 +CMT,1,2,491,1.2,CSH,7.5 +CMT,1,2,1448,4,CSH,17.5 +CMT,1,1,838,2.8,CRD,12 +CMT,1,1,156,0.4,CSH,4 +CMT,1,1,368,2.1,CRD,8 +CMT,1,1,610,1.1,CRD,8 +CMT,1,1,742,2.1,CSH,10.5 +CMT,1,1,352,1.7,CSH,7.5 +CMT,1,1,1090,4.4,CRD,16 +CMT,1,1,530,1.8,CRD,8.5 +CMT,1,2,621,1.6,CSH,8.5 +CMT,1,1,1249,6.5,CSH,23 +CMT,1,1,349,0.7,CRD,5.5 +CMT,1,1,592,2.3,CSH,10 +CMT,1,1,511,1.4,CSH,8 +CMT,1,1,656,1.5,CRD,9 +CMT,1,1,186,0.3,CRD,4 +CMT,1,1,472,1.6,CSH,8 +CMT,1,2,461,1.1,CRD,7 +CMT,1,2,547,1.8,CSH,8.5 +CMT,1,1,553,2,CSH,9 +CMT,1,1,1467,4.8,CRD,19.5 +CMT,1,1,564,1.8,CSH,9 +CMT,1,1,720,1.3,CSH,9.5 +CMT,1,1,673,1.4,CRD,9 +CMT,2,1,3847,22.9,CRD,52 +CMT,1,2,458,1.3,CSH,7 +CMT,1,1,375,1.6,CRD,7.5 +CMT,1,1,960,1.7,CRD,11.5 +CMT,1,2,608,1.5,CRD,8.5 +CMT,1,1,368,0.9,CSH,6 +CMT,1,1,188,0.7,CSH,4.5 +CMT,1,1,560,1.3,CSH,8 +CMT,1,1,463,1.5,CSH,8 +CMT,1,1,931,8.3,CRD,24 +CMT,1,1,487,1.2,CRD,7.5 +CMT,1,1,439,0.6,CSH,6 +CMT,1,1,724,1.4,CSH,9 +CMT,1,1,321,1,CRD,6 +CMT,1,1,587,0.8,CSH,7.5 +CMT,1,1,420,1.5,CRD,7 +CMT,1,1,1108,4.6,CSH,18 +CMT,1,1,1740,9.8,CRD,32.5 +CMT,1,1,113,0.4,CSH,3.5 +CMT,1,2,618,1.3,CRD,8.5 +CMT,1,1,331,1.2,CSH,6.5 +CMT,1,1,489,1,CRD,7 +CMT,1,1,99,0.4,CSH,3.5 +CMT,1,1,419,1.1,CSH,7 +CMT,1,2,367,1.5,CSH,7 +CMT,1,1,686,2.5,CRD,10.5 +CMT,1,1,234,0.5,CSH,4.5 +CMT,1,1,985,5.8,CRD,19.5 +CMT,1,1,418,1.4,CRD,7.5 +CMT,1,1,775,1.4,CSH,9.5 +CMT,1,1,1161,1.4,CRD,12.5 +CMT,1,2,491,1.1,CSH,7.5 +CMT,1,1,340,0.9,CSH,6 +CMT,1,1,315,1,CRD,6 +CMT,1,1,756,2.4,CRD,11 +CMT,1,2,353,1.3,CRD,6.5 +CMT,1,3,223,0.3,CSH,4.5 +CMT,1,1,320,1.1,CSH,6.5 +CMT,1,1,437,1,CRD,6.5 +CMT,1,1,609,1.5,CRD,8.5 +CMT,1,1,726,1.8,CRD,9.5 +CMT,1,1,758,1.8,CRD,10 +CMT,1,1,586,1,CSH,8 +CMT,1,1,608,2.1,CRD,9.5 +CMT,1,1,728,3.5,CRD,12.5 +CMT,1,1,592,2.6,CSH,10.5 +CMT,1,1,965,2.4,CRD,12.5 +CMT,1,4,794,2.3,CSH,10.5 +CMT,1,4,1034,2.7,CSH,13 +CMT,1,2,1086,2.8,CSH,13.5 +CMT,1,2,1277,3.3,CSH,15.5 +CMT,1,1,261,1.1,CRD,5.5 +CMT,1,2,544,1.1,CSH,7.5 +CMT,1,1,413,1.5,CSH,7 +CMT,1,1,628,1.8,CRD,9.5 +CMT,1,1,55,0.2,CSH,3 +CMT,1,1,496,1.7,CSH,8.5 +CMT,1,2,1279,4.3,CSH,17.5 +CMT,1,2,516,1.6,CSH,8 +CMT,1,2,339,0.8,CRD,5.5 +CMT,1,2,609,3.4,CRD,12 +CMT,1,1,922,2.9,CRD,12.5 +CMT,1,1,131,0.6,CRD,4 +CMT,1,1,681,1.4,CRD,9.5 +CMT,1,1,478,0.7,CSH,7 +CMT,1,1,959,2.9,CRD,13 +CMT,1,1,169,1.1,CSH,5 +CMT,1,1,845,1.9,CRD,10 +CMT,1,1,197,0.7,CRD,4 +CMT,1,1,187,1.1,CRD,5 +CMT,1,1,988,1.8,CRD,12 +CMT,1,1,831,1.3,CRD,10 +CMT,1,2,732,1.7,CSH,9.5 +CMT,1,1,145,0.9,CSH,4.5 +CMT,1,1,457,1.3,CSH,7 +CMT,1,2,89,0.6,CSH,4 +CMT,1,1,731,2.2,CRD,10.5 +CMT,1,1,413,2.6,CRD,9.5 +CMT,1,3,143,0.5,CSH,4 +CMT,1,3,1128,2.6,CSH,14 +CMT,1,1,529,1.3,CSH,7.5 +CMT,1,1,134,0.6,CSH,4 +CMT,1,1,1024,1,CRD,11.5 +CMT,1,2,219,0.6,CSH,4.5 +CMT,1,1,1141,7.5,CRD,24 +CMT,1,1,1512,9.3,CRD,29.5 +CMT,1,2,738,1.5,CRD,9.5 +CMT,1,1,1396,3.9,CSH,17.5 +CMT,1,1,1102,2.3,CRD,13.5 +CMT,1,4,649,2.8,CSH,10.5 +CMT,1,1,349,0.9,CSH,6 +CMT,1,1,673,0.8,CSH,8 +CMT,1,1,911,2.8,CSH,13 +CMT,1,1,310,1.1,CRD,6 +CMT,1,1,533,1.1,CRD,7.5 +CMT,1,1,232,0.7,CSH,5 +CMT,1,1,89,0.5,CRD,3.5 +CMT,1,2,707,1.9,CSH,10 +CMT,1,3,354,0.7,CSH,6 +CMT,1,2,477,0.8,CSH,6.5 +CMT,1,3,745,2.9,CSH,11.5 +CMT,1,2,1799,11.1,CSH,35 +CMT,1,1,267,0.9,CSH,5.5 +CMT,1,2,836,2.3,CSH,11.5 +CMT,1,2,871,2.5,CRD,12 +CMT,1,2,545,1.4,CRD,8 +CMT,1,1,1430,3.8,CRD,17.5 +CMT,1,1,230,0.6,CSH,5 +CMT,1,1,346,1.1,CSH,6.5 +CMT,1,1,426,0.9,CRD,6.5 +CMT,1,1,257,0.7,CSH,5 +CMT,1,1,1167,1.6,CSH,13 +CMT,1,1,681,2.7,CSH,11 +CMT,1,1,1412,10.6,CRD,32.5 +CMT,1,1,689,3.1,CRD,12 +CMT,1,1,644,2.6,CSH,11 +CMT,1,1,526,1.1,CSH,7.5 +CMT,1,1,550,1.1,CRD,8 +CMT,1,2,782,2.8,CSH,11.5 +CMT,1,1,219,1.3,CSH,6 +CMT,1,1,633,2.6,CSH,11 +CMT,1,1,1282,2.5,CRD,15 +CMT,1,2,1020,2.7,CRD,13 +CMT,1,1,541,2.2,CSH,9.5 +CMT,1,1,1106,8.4,CRD,25 +CMT,1,1,566,2.1,CRD,9.5 +CMT,1,2,443,1.3,CSH,7 +CMT,1,1,172,0.6,CSH,4.5 +CMT,1,1,300,1.3,CRD,6.5 +CMT,1,1,604,2.5,CRD,10 +CMT,1,1,339,1.4,CSH,7 +CMT,1,1,487,0.8,CSH,7 +CMT,1,1,1510,7.8,CSH,26.5 +CMT,1,1,449,1.6,CSH,7.5 +CMT,1,1,805,1.5,CSH,10 +CMT,1,1,299,1.9,CSH,7 +CMT,1,4,594,2.4,CSH,10 +CMT,1,2,668,2.7,CSH,11.5 +CMT,1,1,194,0.5,CSH,4 +CMT,1,2,411,1.9,CSH,8 +CMT,1,1,931,2.3,CRD,12 +CMT,1,1,157,0.5,CSH,4 +CMT,1,1,283,1,CSH,5.5 +CMT,1,1,664,1.5,CSH,9.5 +CMT,1,1,1340,2.7,CSH,15.5 +CMT,1,1,435,1.2,CRD,7 +CMT,1,1,1435,2.2,CRD,15.5 +CMT,1,1,114,0.4,DIS,3.5 +CMT,1,1,33,0,DIS,2.5 +CMT,1,1,473,2.3,CSH,9 +CMT,1,1,215,0.7,CSH,5 +CMT,1,1,272,1.2,CRD,6 +CMT,1,1,302,0.9,CSH,5.5 +CMT,1,1,1471,9.8,CRD,30.5 +CMT,1,1,68,0.1,CSH,3 +CMT,1,1,905,4.4,CSH,16 +CMT,1,1,467,1.1,CSH,7 +CMT,1,1,290,1,CRD,5.5 +CMT,1,1,2471,11.7,CRD,39.5 +CMT,1,1,1511,11.8,CRD,35 +CMT,1,2,237,0.9,CSH,5.5 +CMT,1,1,116,0.3,CSH,3.5 +CMT,1,1,581,1.7,CSH,8.5 +CMT,1,2,759,3,CSH,12 +CMT,1,1,536,1.1,CRD,8 +CMT,1,1,336,1.7,CRD,7 +CMT,1,1,302,1.9,CRD,7.5 +CMT,1,1,510,1.2,CSH,7.5 +CMT,1,1,1052,3.4,CSH,14.5 +CMT,1,1,463,1.2,CSH,7 +CMT,1,1,1212,5.6,CSH,20.5 +CMT,1,1,1095,6.8,CSH,21.5 +CMT,1,1,330,0.9,CSH,6 +CMT,1,1,442,0.6,CSH,6.5 +CMT,1,1,383,1,CRD,6.5 +CMT,1,3,537,1.6,CSH,8 +CMT,1,1,644,3.6,CRD,13.5 +CMT,1,2,287,0.8,CSH,5.5 +CMT,1,1,2087,13.2,CRD,39 +CMT,1,1,271,1.3,CSH,6 +CMT,1,1,1312,4.1,NOC,17 +CMT,1,1,816,3,CSH,12.5 +CMT,1,1,900,8.4,CSH,24.5 +CMT,1,1,673,2.8,CRD,11 +CMT,1,1,439,2.7,CRD,10 +CMT,1,2,380,1.5,CSH,7 +CMT,1,1,1045,3.7,CRD,15.5 +CMT,1,1,784,1.4,CRD,9.5 +CMT,1,1,1396,6,CRD,22 +CMT,1,1,861,4.7,CRD,17 +CMT,1,2,330,2,CSH,8 +CMT,1,2,694,7.3,CRD,22 +CMT,1,2,397,1.5,CSH,7 +CMT,1,1,527,1.5,CSH,8 +CMT,1,1,1447,2.3,CSH,15.5 +CMT,1,1,1150,1.3,CRD,12 +CMT,1,1,54,1,CRD,3 +CMT,1,1,526,1.9,CSH,9 +CMT,1,1,1043,3.3,CRD,14.5 +CMT,1,1,952,4.4,CRD,16.5 +CMT,1,2,396,1,CSH,6.5 +CMT,1,2,828,3.4,CSH,13.5 +CMT,1,2,317,2.1,CRD,7.5 +CMT,1,1,817,8.9,CRD,25.5 +CMT,1,1,999,2.6,CRD,13 +CMT,1,1,875,3.4,CRD,14 +CMT,1,1,1156,3.4,CRD,15.5 +CMT,1,1,276,1,CSH,5.5 +CMT,1,1,197,0.9,CRD,5 +CMT,1,1,1225,2.7,CSH,14.5 +CMT,1,1,443,2.2,CSH,9 +CMT,1,1,283,0.7,CRD,5 +CMT,1,2,374,1.1,CRD,6.5 +CMT,1,1,267,0.5,CRD,4.5 +CMT,1,1,539,1.9,CRD,8.5 +CMT,1,1,916,3.5,CSH,14 +CMT,1,1,1848,14.2,CSH,40 +CMT,1,1,230,0.8,CRD,5 +CMT,1,2,600,2.6,CRD,10.5 +CMT,1,1,301,1.1,CSH,6 +CMT,1,1,569,1.2,CSH,8 +CMT,1,1,2245,9.4,CSH,34 +CMT,1,1,723,2.3,CRD,11 +CMT,1,1,447,1,CSH,6.5 +CMT,1,1,437,0.5,CSH,6 +CMT,1,2,769,0.9,CSH,9 +CMT,1,1,413,1.3,CSH,7 +CMT,1,1,906,1.2,CSH,10.5 +CMT,1,1,1203,3,CSH,15 +CMT,1,1,646,1.1,CSH,8 +CMT,1,1,221,0.5,CRD,4.5 +CMT,1,1,857,1.9,CRD,11 +CMT,1,1,211,1.3,CSH,6 +CMT,1,1,537,2.7,CSH,10.5 +CMT,1,1,766,2.5,CRD,12 +CMT,1,1,1210,3.8,CSH,17 +CMT,1,2,203,0.8,CSH,5 +CMT,1,1,149,1,CRD,5 +CMT,1,1,708,2.3,CSH,11.5 +CMT,1,2,771,8.5,CRD,24.5 +CMT,2,1,526,7.4,CSH,52 +CMT,1,1,203,0.7,CRD,4.5 +CMT,1,1,125,0.4,CRD,4 +CMT,1,1,326,1,CRD,6 +CMT,1,1,1014,3.1,CRD,14 +CMT,1,1,266,0.8,CSH,5 +CMT,1,1,654,1,CRD,8 +CMT,1,1,992,2,CRD,12 +CMT,1,1,289,0.7,CSH,5 +CMT,1,1,1023,3,CRD,14 +CMT,1,1,290,1.6,CSH,7 +CMT,1,1,872,3.2,CRD,14 +CMT,1,1,430,1.2,CSH,7 +CMT,1,1,501,2.7,CRD,9.5 +CMT,1,1,375,2.5,CRD,9.5 +CMT,1,2,774,3,CSH,12 +CMT,1,2,1256,6,CSH,20 +CMT,1,1,337,1.2,CSH,6 +CMT,1,1,847,3,CSH,12.5 +CMT,1,2,415,1.5,CRD,7.5 +CMT,1,2,171,0.7,CSH,4.5 +CMT,1,1,1790,6.7,CRD,25.5 +CMT,1,1,185,0.7,CRD,4.5 +CMT,1,2,1183,2.2,CRD,14 +CMT,1,2,679,2,CSH,10 +CMT,1,2,621,3.1,CSH,12.5 +CMT,1,2,405,1.5,CSH,7.5 +CMT,1,1,607,1.8,CRD,9 +CMT,1,2,313,1.4,CRD,6.5 +CMT,1,1,525,1.8,CSH,8.5 +CMT,1,1,165,0.7,CSH,4 +CMT,1,1,592,1.4,CSH,8.5 +CMT,1,1,158,0.5,CRD,4 +CMT,1,1,395,1.3,CRD,7 +CMT,1,1,1858,12.2,CSH,37.5 +CMT,1,1,1208,5.3,CRD,20 +CMT,1,1,1344,2.8,CRD,15.5 +CMT,1,2,266,0.7,CRD,5 +CMT,1,1,422,1.7,CRD,8.5 +CMT,1,1,515,1.3,CRD,7.5 +CMT,1,1,1310,3.1,CSH,15.5 +CMT,1,2,1223,1.9,CSH,13.5 +CMT,1,1,409,1,CSH,6.5 +CMT,1,1,651,1,CRD,8.5 +CMT,1,1,99,0.4,CSH,3.5 +CMT,1,1,650,1.3,CRD,8.5 +CMT,1,1,405,1.8,CRD,7.5 +CMT,1,1,381,1.1,CSH,6.5 +CMT,1,2,324,0.7,CSH,5.5 +CMT,1,3,1404,4,CRD,18 +CMT,1,2,377,1.3,CRD,7 +CMT,1,1,744,5.3,CSH,16 +CMT,1,1,1180,9.5,CSH,28 +CMT,1,2,579,2.2,CRD,9.5 +CMT,1,1,1224,3,CRD,15 +CMT,1,1,251,1.4,CSH,6.5 +CMT,1,1,1364,10.9,CRD,31.5 +CMT,1,2,334,0.1,CSH,5 +CMT,1,3,1594,9.9,CSH,30.5 +CMT,1,1,302,0.9,CRD,5.5 +CMT,1,1,749,2.2,CSH,11 +CMT,1,1,1126,2.8,CRD,14.5 +CMT,1,1,856,1.5,CSH,10.5 +CMT,1,1,413,1.1,CSH,7 +CMT,1,2,1958,10.2,CRD,34 +CMT,1,1,815,1.5,CSH,10 +CMT,1,1,760,1.2,CSH,9 +CMT,1,2,789,2.1,CRD,11.5 +CMT,1,1,373,0.8,CSH,5 +CMT,4,2,11,0,CSH,2.5 +CMT,1,1,209,0.9,CSH,5 +CMT,1,1,473,2,CSH,8.5 +CMT,1,4,185,0.5,CSH,4.5 +CMT,1,2,663,2.7,CSH,11 +CMT,1,1,276,1.2,CSH,6 +CMT,1,2,1133,7.3,CRD,23.5 +CMT,1,1,580,3,CSH,11.5 +CMT,1,1,7,0,CSH,2.5 +CMT,1,1,768,1.2,CSH,9.5 +CMT,1,1,888,2.1,CSH,11.5 +CMT,1,1,858,8.5,CRD,24.5 +CMT,1,1,1190,7.8,CSH,25 +CMT,1,1,752,4,CSH,14 +CMT,1,1,725,2.5,CSH,11.5 +CMT,1,1,713,1.1,CSH,9 +CMT,1,1,767,1.9,CRD,10.5 +CMT,1,1,1345,2.8,CRD,15.5 +CMT,1,2,1894,6.7,CSH,26.5 +CMT,1,2,1122,3.4,CSH,15 +CMT,1,1,228,1.4,CRD,6 +CMT,1,1,731,2.7,CRD,11.5 +CMT,1,2,641,2.1,CRD,9.5 +CMT,1,1,2300,4.2,CRD,25 +CMT,1,2,709,2,CRD,9.5 +CMT,1,1,390,0.7,CRD,6 +CMT,1,1,320,1.1,CSH,6.5 +CMT,1,2,356,1.3,CRD,6.5 +CMT,1,1,180,0.3,CSH,4 +CMT,1,1,384,1,CSH,6.5 +CMT,1,3,1133,2.7,CSH,13.5 +CMT,1,2,670,2.3,CSH,10.5 +CMT,1,1,507,2.2,CSH,9 +CMT,1,1,532,1.9,CRD,9 +CMT,1,1,152,0.6,CSH,4 +CMT,1,2,214,0.6,CSH,4.5 +CMT,1,1,542,1.8,CRD,8.5 +CMT,1,2,994,3.3,CSH,13.5 +CMT,1,2,252,0.8,CSH,5 +CMT,1,3,1280,5.3,CRD,19 +CMT,1,1,921,4.2,CRD,15.5 +CMT,1,1,566,1.8,CSH,9 +CMT,1,1,220,0.5,CSH,4.5 +CMT,1,1,920,5.2,CSH,17.5 +CMT,1,1,408,1.3,CSH,7 +CMT,1,2,2323,10,CRD,34.5 +CMT,1,1,487,2.6,CSH,10 +CMT,1,2,1142,6,CRD,21 +CMT,1,4,665,2.6,CRD,11 +CMT,1,4,669,2.4,CSH,10 +CMT,1,2,1066,5.4,CSH,19.5 +CMT,1,1,1036,4,CSH,15.5 +CMT,1,1,496,1.3,CRD,7.5 +CMT,1,1,265,0.8,CSH,5 +CMT,1,1,498,1.1,CRD,7.5 +CMT,1,2,306,0.8,CSH,5.5 +CMT,1,1,757,3.8,CRD,13.5 +CMT,1,1,417,2.2,CRD,8.5 +CMT,1,2,747,4.6,CSH,15 +CMT,1,1,186,1.1,CRD,5.5 +CMT,1,1,229,0.8,CRD,5 +CMT,1,2,489,3.1,CRD,11 +CMT,1,2,417,0.8,CRD,6.5 +CMT,1,1,170,0.5,CSH,4 +CMT,1,2,142,0.6,CRD,4 +CMT,1,1,615,1.5,CRD,8.5 +CMT,1,1,431,1.7,CRD,8 +CMT,1,1,276,1.3,CSH,6 +CMT,1,1,464,2,CRD,8.5 +CMT,1,1,1055,4.2,CRD,17 +CMT,1,1,553,2,CSH,9.5 +CMT,1,1,1314,8.8,CRD,26.5 +CMT,1,1,158,0.4,CRD,4 +CMT,1,2,194,0.9,CSH,5 +CMT,1,1,212,1.7,CRD,6.5 +CMT,1,1,414,1.2,CRD,7 +CMT,1,1,549,1.7,CRD,8.5 +CMT,1,1,1628,9,CRD,28.5 +CMT,1,1,216,0.8,CSH,5 +CMT,1,1,469,1.2,CSH,7 +CMT,1,3,421,1.3,CRD,7 +CMT,1,2,167,0.5,CSH,4.5 +CMT,1,3,765,2.2,CRD,10.5 +CMT,1,2,860,3.4,CRD,13.5 +CMT,1,1,461,1.7,CSH,8 +CMT,1,2,172,0.7,CSH,4.5 +CMT,1,2,852,3.9,CRD,15 +CMT,1,1,409,1.6,CRD,7.5 +CMT,1,1,641,2.8,CRD,11 +CMT,1,2,243,0.8,CRD,5.5 +CMT,1,1,315,1.3,CSH,6.5 +CMT,1,1,1213,5.3,CSH,19.5 +CMT,1,1,208,0.8,CSH,5 +CMT,1,1,392,1.4,CSH,6.5 +CMT,1,1,206,0.6,CSH,4.5 +CMT,1,3,517,1.6,CRD,8 +CMT,1,2,854,3.5,CRD,14 +CMT,1,1,380,2.5,CRD,9 +CMT,1,1,1349,7.5,CRD,24 +CMT,1,1,387,1.1,CSH,6.5 +CMT,1,2,689,3.4,CSH,13 +CMT,1,2,203,0.8,CRD,5 +CMT,1,1,834,2.5,CRD,12 +CMT,1,1,219,0.5,CSH,4.5 +CMT,1,1,575,1.4,CRD,8 +CMT,1,2,1680,10.6,CSH,32.5 +CMT,1,2,1386,6.1,CRD,21.5 +CMT,1,1,390,1,CRD,6.5 +CMT,1,1,204,0.9,CRD,5 +CMT,1,1,9,0,NOC,2.5 +CMT,1,2,1249,3.7,CSH,16.5 +CMT,1,1,545,2,CRD,9.5 +CMT,1,1,637,1.3,CSH,8.5 +CMT,1,3,591,1.3,CSH,8.5 +CMT,1,3,696,2.1,CRD,10.5 +CMT,1,1,369,1.3,CRD,7 +CMT,1,4,916,3,CSH,13 +CMT,1,1,1166,3.1,CRD,15 +CMT,1,1,405,0.8,CSH,6.5 +CMT,1,4,750,3.4,CSH,13 +CMT,1,1,293,0.9,CRD,5.5 +CMT,1,2,912,3,CRD,13 +CMT,1,1,596,1.3,CRD,8 +CMT,1,1,1165,7.9,CRD,24.5 +CMT,1,4,821,2.4,CSH,12 +CMT,1,1,414,1.6,CSH,7.5 +CMT,1,2,472,1.7,CSH,8 +CMT,1,2,470,1.4,CRD,7.5 +CMT,1,2,646,2.8,CSH,11 +CMT,1,2,510,2.7,CRD,11 +CMT,1,2,540,2.3,CRD,9.5 +CMT,1,2,285,1.7,CRD,7 +CMT,1,1,197,0.3,CRD,4 +CMT,1,1,353,1.3,CSH,6.5 +CMT,1,2,762,4.1,CRD,14.5 +CMT,1,2,562,2.3,CRD,10 +CMT,1,1,617,1.4,CRD,8.5 +CMT,1,1,341,1.5,CRD,7 +CMT,1,2,390,1.3,CRD,6.5 +CMT,1,3,318,0.7,CRD,5.5 +CMT,1,1,999,2.9,CSH,14 +CMT,1,1,103,0.2,CSH,3.5 +CMT,1,2,669,2.5,CRD,11 +CMT,1,1,503,1.5,CRD,8 +CMT,1,1,470,1.1,CRD,7 +CMT,1,2,826,2.8,CSH,12 +CMT,1,1,233,0.6,CSH,5 +CMT,1,2,529,0.5,CSH,6.5 +CMT,1,3,512,1.6,CSH,8.5 +CMT,1,2,698,4.1,CRD,14 +CMT,1,1,292,1.3,CRD,6 +CMT,1,2,534,2.5,CSH,10 +CMT,1,2,1002,3.4,CSH,14 +CMT,1,1,727,2.5,CRD,11 +CMT,1,1,796,3,CSH,12 +CMT,1,1,167,0.8,CRD,4.5 +CMT,1,3,283,1.2,CRD,6 +CMT,1,2,1346,3.3,CSH,16 +CMT,1,1,1224,5.5,CSH,19 +CMT,1,1,1403,3.2,CRD,16 +CMT,1,1,592,1.2,CSH,8 +CMT,1,1,359,0.9,CSH,6 +CMT,1,2,336,1.5,CSH,7 +CMT,1,1,1178,6.9,CRD,22.5 +CMT,1,1,120,0.3,CSH,3.5 +CMT,1,1,500,1.3,CRD,7.5 +CMT,1,1,304,1.7,CRD,7 +CMT,1,1,227,1.3,CRD,5.5 +CMT,1,1,697,3,CRD,11.5 +CMT,1,1,97,0.5,CSH,4 +CMT,1,2,413,2.1,CSH,8.5 +CMT,1,1,872,3.6,CSH,14.5 +CMT,1,2,652,3,CSH,11.5 +CMT,1,2,292,0.6,CSH,5.5 +CMT,1,2,516,3.1,CSH,11.5 +CMT,1,3,301,1.2,CSH,6 +CMT,1,3,586,3,CSH,11 +CMT,1,1,571,2.4,CRD,9.5 +CMT,1,1,717,6.5,CRD,19.5 +CMT,1,1,426,2.7,CRD,9.5 +CMT,1,1,313,2.3,CSH,8.5 +CMT,1,1,474,1.6,CSH,8 +CMT,1,1,468,0.9,CRD,6.5 +CMT,1,1,413,2.4,CRD,9.5 +CMT,1,1,571,2.6,CRD,10.5 +CMT,1,2,392,1,CRD,6.5 +CMT,1,2,1034,6.9,CSH,22 +CMT,1,1,874,4,CRD,14.5 +CMT,1,1,852,3,CRD,13 +CMT,1,1,559,2.5,CSH,10 +CMT,1,1,630,2.9,CRD,11 +CMT,1,3,513,1.2,CSH,7.5 +CMT,1,1,539,2.6,CSH,10 +CMT,1,1,1440,10.6,CSH,32 +CMT,1,1,789,2.3,CSH,11 +CMT,1,1,657,4.1,CRD,14 +CMT,1,2,621,2.6,CRD,10.5 +CMT,1,3,899,7.6,CSH,22.5 +CMT,1,2,809,1.7,CSH,10.5 +CMT,1,1,1469,6.4,CSH,23 +CMT,1,1,218,0.7,CSH,5 +CMT,1,1,1350,5.5,CSH,20.5 +CMT,1,2,347,1.3,CSH,6.5 +CMT,1,1,257,0.8,CRD,5.5 +CMT,1,1,666,4,CSH,13.5 +CMT,1,1,740,2.7,CRD,11.5 +CMT,1,1,202,0.5,CSH,4.5 +CMT,1,2,772,2.9,CRD,12 +CMT,1,1,513,1.7,CRD,8.5 +CMT,1,1,291,0.8,CRD,5.5 +CMT,1,1,475,1.6,CSH,7.5 +CMT,1,2,869,2.8,CRD,12.5 +CMT,1,2,860,5,CRD,17.5 +CMT,1,1,139,0.3,CSH,3.5 +CMT,1,1,301,0.9,CRD,5.5 +CMT,1,2,729,2.4,CSH,11 +CMT,1,1,363,0.9,CRD,6 +CMT,1,1,194,0.7,CSH,5 +CMT,1,1,912,5.1,CSH,17.5 +CMT,1,2,422,1.8,CSH,8.5 +CMT,1,1,1198,5.3,CRD,19.5 +CMT,1,1,206,0.9,CSH,5 +CMT,1,1,236,1.2,CRD,6 +CMT,1,1,173,0.4,CSH,4 +CMT,1,1,530,2,CRD,9.5 +CMT,1,1,416,1.5,CSH,7 +CMT,1,1,1217,7.5,CRD,23 +CMT,1,1,523,1.5,CRD,8.5 +CMT,1,1,553,1.4,CRD,8.5 +CMT,1,1,506,2.2,CSH,9.5 +CMT,1,2,474,2.4,CRD,9.5 +CMT,1,2,242,0.8,CSH,5 +CMT,1,2,603,1.7,CSH,8.5 +CMT,1,1,503,1.3,CRD,7.5 +CMT,1,2,432,2.3,CSH,9 +CMT,1,1,189,0.7,CSH,4.5 +CMT,1,2,1568,6,CSH,21.5 +CMT,1,3,356,1,CRD,6 +CMT,1,2,352,1.4,CRD,6.5 +CMT,1,3,902,2.8,CRD,13 +CMT,1,1,208,1.5,CRD,6 +CMT,1,2,985,6.6,CSH,20.5 +CMT,1,1,503,2.3,CRD,9 +CMT,1,1,657,3.2,CSH,12 +CMT,1,1,554,2.6,CRD,10 +CMT,1,2,482,1.5,CRD,7.5 +CMT,1,1,166,0.7,CRD,4.5 +CMT,1,1,1193,4.7,CRD,18 +CMT,1,2,570,1.2,CRD,8 +CMT,1,1,337,0.8,CSH,6 +CMT,1,1,332,1.8,CRD,7.5 +CMT,1,1,644,1.9,CRD,9 +CMT,1,1,915,4.3,CRD,15.5 +CMT,1,3,251,1.1,CSH,5.5 +CMT,1,1,719,2.2,CRD,10.5 +CMT,1,1,451,1.2,CSH,7.5 +CMT,1,1,619,1.3,CRD,8.5 +CMT,1,1,430,1.3,CSH,7 +CMT,1,1,426,4.8,CRD,14.5 +CMT,1,2,425,2,CRD,8.5 +CMT,1,3,320,1.1,CRD,6.5 +CMT,1,1,838,2.1,CRD,11 +CMT,1,1,996,3.5,CRD,14.5 +CMT,1,1,850,1.6,CSH,10.5 +CMT,1,1,201,0.9,CRD,5 +CMT,1,2,335,0.9,CRD,5.5 +CMT,1,3,428,1.4,CSH,7 +CMT,1,1,696,3.1,CSH,12.5 +CMT,1,2,329,1,CSH,6.5 +CMT,1,2,332,0.6,CSH,5.5 +CMT,1,1,167,0.6,CSH,4 +CMT,1,3,1334,6.6,CRD,22 +CMT,1,1,183,0.6,CSH,4.5 +CMT,1,2,418,1.9,CSH,8 +CMT,1,1,597,3.1,CSH,11.5 +CMT,1,1,489,1.7,CRD,8.5 +CMT,1,1,135,0.4,CSH,4 +CMT,1,1,567,2.7,CRD,10.5 +CMT,1,1,1040,8.9,CRD,26.5 +CMT,1,3,2388,7.7,CRD,31.5 +CMT,1,1,394,1.2,CSH,6.5 +CMT,1,3,107,0.3,CSH,3.5 +CMT,1,1,345,1.6,CRD,7 +CMT,1,2,494,2.6,CSH,10 +CMT,1,1,159,0.7,CRD,4.5 +CMT,1,4,470,2.5,CRD,10 +CMT,1,2,577,1.4,CSH,7.5 +CMT,1,1,680,1.9,CRD,9.5 +CMT,1,2,940,3.9,CSH,15 +CMT,1,3,634,1.3,CSH,8.5 +CMT,1,1,723,3.2,CSH,11.5 +CMT,1,2,701,2.1,CRD,10 +CMT,1,2,1140,6.2,CSH,21 +CMT,1,3,720,2.8,CSH,11.5 +CMT,1,2,777,2,CRD,10 +CMT,1,1,131,0.4,CSH,3.5 +CMT,1,2,1019,4.7,CSH,17 +CMT,1,1,674,3.7,CRD,13 +CMT,1,1,263,1.2,CSH,6 +CMT,1,1,1501,10.8,CRD,31 +CMT,1,2,1359,4.4,CRD,18 +CMT,1,1,366,1.1,CRD,6 +CMT,1,2,618,1.5,CSH,9 +CMT,1,1,247,0.7,CRD,5 +CMT,1,1,293,0.5,CSH,5 +CMT,1,1,485,1.5,CSH,8 +CMT,1,2,358,0.6,CSH,6 +CMT,1,1,797,3.7,CRD,13.5 +CMT,1,1,424,1.2,CRD,7 +CMT,1,1,568,2,CRD,9 +CMT,1,1,537,1.4,CRD,8 +CMT,1,1,386,0.7,CSH,6 +CMT,1,1,476,1.1,CRD,7.5 +CMT,1,1,481,1.1,CRD,7 +CMT,1,1,124,0.3,CSH,3.5 +CMT,1,1,484,1.7,CSH,8.5 +CMT,1,1,184,0.8,CSH,5 +CMT,1,1,441,1.1,CSH,7 +CMT,1,1,558,2.3,CSH,10 +CMT,1,1,282,0.9,CRD,5.5 +CMT,1,2,422,1.1,CSH,7 +CMT,1,2,212,0.9,CRD,5 +CMT,1,1,489,1.2,CSH,7.5 +CMT,1,1,609,1.8,CRD,9 +CMT,1,1,350,1,CRD,6 +CMT,1,1,1099,2.7,CRD,13.5 +CMT,1,1,1010,2.6,CRD,13 +CMT,1,1,290,0.7,CSH,5 +CMT,1,1,322,0.8,CRD,5.5 +CMT,1,1,247,0.6,CRD,5 +CMT,1,1,532,2.2,CSH,9.5 +CMT,1,1,138,0.3,CSH,4 +CMT,1,1,306,0.9,CSH,5.5 +CMT,1,2,562,1.5,CSH,8.5 +CMT,1,1,255,1.1,CSH,6 +CMT,1,2,425,1.8,CRD,8 +CMT,1,1,1557,7,CRD,23.5 +CMT,1,2,738,3.4,CSH,13 +CMT,1,4,2085,6.9,CSH,27 +CMT,1,2,748,1.5,CSH,9.5 +CMT,1,2,784,2.9,CRD,13 +CMT,1,3,400,1.7,CRD,7.5 +CMT,1,1,714,1.9,CRD,10 +CMT,1,2,293,0.9,CRD,5.5 +CMT,1,1,318,1.2,CRD,6.5 +CMT,1,1,1170,5.6,CSH,19.5 +CMT,1,1,373,1.8,CRD,8 +CMT,1,2,1234,6.6,CSH,22 +CMT,1,1,522,2.1,CRD,9 +CMT,1,3,299,1.1,CSH,6 +CMT,1,1,755,3.2,CRD,13 +CMT,1,1,71,0.2,CSH,3 +CMT,1,2,608,2.2,CRD,9.5 +CMT,1,1,146,0.4,CRD,4 +CMT,1,1,275,1.1,CRD,6 +CMT,1,1,456,1.6,CSH,7.5 +CMT,1,1,1030,5.9,CRD,19.5 +CMT,1,1,320,1,CRD,6 +CMT,1,2,627,2,CRD,9.5 +CMT,1,2,1078,5.4,CRD,19.5 +CMT,1,1,199,0.9,CRD,5 +CMT,1,1,766,3.7,CSH,13 +CMT,1,2,542,3.6,CRD,12 +CMT,1,3,512,2.3,CSH,9.5 +CMT,1,1,502,2.1,CRD,9 +CMT,1,2,258,1.6,CRD,6.5 +CMT,1,1,140,0.6,CRD,4 +CMT,1,1,778,3.4,CSH,13 +CMT,1,1,859,2.4,CRD,12 +CMT,1,1,433,2.3,CSH,9 +CMT,1,1,387,1,CSH,6 +CMT,1,1,865,6.5,CRD,19.5 +CMT,1,2,1090,5.9,CRD,20.5 +CMT,1,1,279,1.2,CRD,6 +CMT,1,1,905,3.9,CRD,14.5 +CMT,1,2,581,2.4,CRD,10.5 +CMT,1,1,563,0.9,CRD,7.5 +CMT,1,2,190,0.4,CRD,4.5 +CMT,1,1,309,1.4,CRD,6.5 +CMT,1,3,657,1.8,CRD,9.5 +CMT,1,1,1194,9.2,CRD,27.5 +CMT,1,1,718,1,CRD,9 +CMT,1,1,254,0.8,CRD,5.5 +CMT,1,1,198,1.2,CRD,5.5 +CMT,1,2,380,1.1,CSH,6.5 +CMT,1,1,1,0,NOC,2.5 +CMT,1,1,1783,4.6,CRD,21 +CMT,1,4,621,2.9,CSH,11.5 +CMT,1,2,1304,4.3,CRD,18 +CMT,1,1,635,3,CRD,11.5 +CMT,1,2,921,5.1,CSH,17.5 +CMT,1,1,91,0.5,CSH,3.5 +CMT,1,1,887,3.1,CRD,13.5 +CMT,1,1,482,1.7,CSH,8 +CMT,1,1,1901,9.3,CRD,31 +CMT,1,1,652,2.1,CRD,10 +CMT,1,3,296,0.5,CSH,5 +CMT,1,1,907,3,CRD,12.5 +CMT,1,2,606,1.1,CRD,7.5 +CMT,1,1,1782,9.1,CRD,29.5 +CMT,1,1,940,3.6,CRD,13.5 +CMT,1,1,323,0.7,CRD,5.5 +CMT,1,1,465,1.5,CRD,7.5 +CMT,1,1,384,2,CSH,8.5 +CMT,1,1,529,1.9,CRD,8.5 +CMT,1,1,1472,3.6,CRD,18 +CMT,1,2,1042,4.7,CRD,17.5 +CMT,1,2,927,4.3,CSH,15 +CMT,1,1,421,1.8,CRD,8 +CMT,1,1,680,3,CRD,12 +CMT,1,3,328,1.2,CRD,6.5 +CMT,1,2,905,2.7,CSH,12.5 +CMT,1,1,144,0.4,CSH,4 +CMT,1,1,656,2,CSH,9.5 +CMT,1,1,673,4.9,CRD,15.5 +CMT,1,1,666,1.4,CSH,9 +CMT,1,1,464,1.4,CSH,7.5 +CMT,1,2,298,1.3,CSH,6.5 +CMT,1,2,104,0.2,CSH,3.5 +CMT,1,2,208,1,CSH,5.5 +CMT,1,1,355,1.8,CRD,7.5 +CMT,1,1,608,2.6,CSH,10.5 +CMT,1,2,972,3.9,CSH,15 +CMT,1,1,1066,7.6,CRD,23.5 +CMT,1,1,229,0.7,CSH,5 +CMT,1,2,723,2.7,CRD,11.5 +CMT,1,1,264,0.9,CRD,5.5 +CMT,1,2,420,2.1,CSH,8.5 +CMT,1,2,305,0.7,CSH,5.5 +CMT,1,2,958,3.4,CRD,14 +CMT,1,1,440,1.5,CSH,7.5 +CMT,1,3,843,1.8,CRD,10.5 +CMT,1,1,394,2,CRD,8 +CMT,1,1,489,3,CRD,10.5 +CMT,1,1,558,3.7,CRD,12 +CMT,1,2,767,3.4,CSH,13 +CMT,1,2,430,1.5,CSH,7.5 +CMT,1,1,208,0.7,CRD,5 +CMT,1,1,428,1.4,CSH,7.5 +CMT,1,1,477,0.7,CSH,6.5 +CMT,1,1,626,1.3,CRD,8.5 +CMT,1,1,653,1.3,CRD,8.5 +CMT,1,1,528,2.5,CSH,10.5 +CMT,1,1,384,0.7,CSH,5.5 +CMT,1,1,749,1.7,CSH,9.5 +CMT,1,1,523,1.1,CSH,7.5 +CMT,1,1,226,0.5,CSH,4.5 +CMT,1,3,763,2.5,CRD,11.5 +CMT,1,1,418,1.1,CSH,7 +CMT,1,1,395,1.6,CRD,7 +CMT,1,1,849,2.7,CSH,12 +CMT,1,1,715,1.7,CRD,10 +CMT,1,1,463,1.2,CSH,7.5 +CMT,1,2,885,3.3,CSH,13 +CMT,1,3,520,2.1,CSH,9 +CMT,1,2,763,5.4,CSH,17.5 +CMT,1,1,205,0.8,CRD,5 +CMT,1,1,162,0.5,CRD,4 +CMT,1,1,403,1.2,CRD,7 +CMT,1,3,527,0.8,CSH,7 +CMT,1,1,373,1,CSH,6 +CMT,1,1,398,0.9,CRD,6 +CMT,1,1,264,1,CRD,5.5 +CMT,1,1,882,5.2,CSH,16.5 +CMT,1,1,296,0.8,CRD,5.5 +CMT,1,2,605,5.7,CRD,17.5 +CMT,1,1,41,0.3,CSH,3 +CMT,1,4,368,1.1,CSH,6.5 +CMT,1,2,475,1.5,CSH,8 +CMT,1,1,771,3.7,CRD,13.5 +CMT,1,1,452,1.1,CRD,7 +CMT,1,1,478,0.9,CRD,6.5 +CMT,1,1,566,1.9,CRD,9.5 +CMT,1,1,352,1,CSH,6 +CMT,1,2,596,1.3,CSH,8 +CMT,1,1,381,1,CSH,6.5 +CMT,1,1,847,2.8,CRD,12 +CMT,1,1,559,1.2,CRD,8 +CMT,1,1,493,0.8,CRD,7 +CMT,1,1,609,0.7,CRD,7.5 +CMT,1,1,247,0.7,CSH,5 +CMT,1,1,224,0.1,CRD,4 +CMT,1,2,519,1.9,CRD,9 +CMT,1,1,1485,19.8,CSH,52.5 +CMT,1,1,120,0.5,CSH,4 +CMT,1,1,2071,17.1,CRD,49 +CMT,1,1,836,3.4,CRD,13 +CMT,1,1,267,0.7,CSH,5 +CMT,1,1,631,1.3,CSH,8.5 +CMT,1,1,392,0.9,CRD,6.5 +CMT,1,1,423,2,CSH,8.5 +CMT,1,1,700,1.3,CSH,9 +CMT,1,1,692,1.9,CSH,10 +CMT,1,1,304,0.7,CSH,5.5 +CMT,1,1,1182,2.3,CSH,13.5 +CMT,1,1,217,0.6,CRD,4.5 +CMT,1,2,378,1.6,CSH,7.5 +CMT,1,1,854,4,CRD,14.5 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,240,0.68,CRD,4.5 +VTS,1,1,240,0.93,CSH,5 +VTS,1,1,900,3.43,CSH,13.5 +VTS,1,6,720,3.1,CRD,13 +VTS,1,6,720,4.82,CSH,16 +VTS,1,6,780,2.26,CSH,11.5 +VTS,1,6,300,1.77,CSH,7 +VTS,1,6,1200,4.86,CSH,19.5 +VTS,2,6,1980,21.58,CRD,52 +CMT,1,1,176,0.5,CSH,4.5 +CMT,1,1,504,1.1,CRD,7.5 +CMT,1,2,323,1.1,CSH,6.5 +CMT,1,1,111,0.4,CRD,3.5 +CMT,1,1,274,1,CSH,5.5 +CMT,1,1,845,2.8,CRD,12 +CMT,1,2,509,1.5,CRD,8 +CMT,1,2,339,0.9,CRD,6 +CMT,1,2,1551,6.1,CSH,23 +CMT,1,1,580,3.4,CRD,12 +CMT,1,1,719,2.2,CSH,10.5 +CMT,1,1,1260,3.9,CSH,17.5 +CMT,1,2,650,3.8,CRD,12.5 +CMT,2,1,1772,17.8,CSH,52 +CMT,1,2,2584,10.8,CRD,38 +CMT,1,1,463,0.7,CRD,6.5 +CMT,1,1,264,1.8,CRD,7.5 +CMT,1,1,991,3.3,CSH,14.5 +CMT,1,1,405,0.8,CRD,6.5 +CMT,1,1,618,1.5,CRD,8.5 +CMT,1,2,506,1.4,CSH,8 +CMT,1,2,1005,5.4,CRD,17.5 +VTS,1,1,780,2,CRD,10.5 +VTS,1,1,60,0.48,CRD,3.5 +VTS,1,1,3000,23.87,CRD,68 +VTS,1,1,180,0.72,CRD,5 +VTS,1,6,780,4.79,CSH,16 +CMT,1,1,579,1.6,CRD,8.5 +CMT,1,1,442,1.6,CRD,8 +CMT,1,1,807,4.1,CSH,15 +CMT,1,1,402,2,CRD,8.5 +CMT,1,2,341,0.6,CSH,5.5 +CMT,1,1,742,2.7,CSH,11 +CMT,1,2,1462,4.9,CRD,20 +CMT,1,2,528,1.6,CRD,8.5 +CMT,1,1,829,2.9,CRD,12.5 +CMT,1,1,511,1.5,CRD,8 +CMT,1,1,425,0.7,CRD,6 +CMT,1,1,380,1.1,CSH,6.5 +CMT,1,1,191,0.5,CSH,4 +CMT,1,1,1393,4,CSH,17.5 +CMT,1,2,260,1.6,CSH,6.5 +CMT,1,2,561,1.4,CSH,8 +CMT,1,1,1056,2,CRD,12.5 +CMT,1,1,799,2.1,CRD,10.5 +CMT,1,1,1445,9.8,CSH,30 +CMT,1,2,613,2.2,CRD,10 +CMT,1,1,143,0.5,CSH,4 +CMT,1,1,608,6.6,CRD,19 +CMT,1,3,184,0.6,CSH,4.5 +CMT,2,2,1733,17.3,CRD,52 +CMT,1,1,537,1.1,CRD,7.5 +CMT,1,2,955,5.6,CRD,19 +CMT,1,1,286,0.9,CRD,5.5 +CMT,1,1,346,1.1,CSH,6 +CMT,1,1,680,1,CRD,8.5 +CMT,1,1,786,2.5,CRD,11.5 +CMT,1,2,706,3.7,CRD,13 +CMT,1,1,916,6.7,CSH,21 +CMT,1,1,117,0.4,CSH,3.5 +CMT,1,2,584,1.4,CSH,8 +CMT,1,1,520,1.9,CSH,8.5 +CMT,1,1,797,3,CRD,12.5 +CMT,1,1,427,1.1,CRD,6.5 +CMT,1,1,367,1.8,CRD,7.5 +CMT,1,1,460,3.3,CSH,11 +CMT,5,2,38,0,CRD,53 +CMT,1,1,287,0.9,CRD,5.5 +CMT,1,1,818,2.2,CSH,11 +CMT,1,2,309,0.6,CRD,5 +CMT,1,1,359,1.2,CSH,7 +CMT,1,1,763,1.7,CRD,9.5 +CMT,1,1,1294,10.1,CRD,31 +CMT,1,1,512,3,CSH,11 +CMT,1,1,752,4.8,CSH,15.5 +CMT,1,2,182,0.5,CSH,4.5 +VTS,1,1,780,3.03,CRD,12 +VTS,1,6,300,1.79,CRD,7 +VTS,1,6,120,0.59,CSH,4 +CMT,1,2,457,2.3,CSH,9.5 +CMT,1,2,319,0.6,CSH,5.5 +CMT,1,1,582,2.8,CRD,10 +CMT,1,1,938,3.2,CRD,13.5 +CMT,1,3,268,1,CSH,6 +CMT,1,4,1595,6.4,CSH,22.5 +CMT,1,2,280,0.8,CSH,5.5 +CMT,1,2,735,3.5,CRD,13 +CMT,1,1,1145,6.5,CSH,20.5 +CMT,1,1,277,1.2,CRD,6 +CMT,1,2,377,1.2,CRD,7 +CMT,1,1,1035,3.8,CRD,15 +CMT,1,2,639,1.5,CSH,8.5 +CMT,1,1,1045,9.6,CRD,27.5 +CMT,1,1,353,1.6,CSH,7 +CMT,1,2,883,2.6,CRD,12 +CMT,1,1,484,2.8,CRD,10.5 +CMT,1,1,314,0.9,CSH,6 +CMT,1,2,507,1.4,CSH,8 +CMT,1,2,1068,3.8,CRD,15.5 +CMT,1,1,998,7.2,CRD,22 +CMT,1,1,863,1.5,CSH,10.5 +CMT,1,1,251,1.7,CSH,7 +CMT,1,1,276,1.8,CRD,7 +CMT,1,1,338,1.4,CRD,6.5 +CMT,1,1,446,1,CRD,6.5 +CMT,1,2,721,3,CSH,11.5 +CMT,1,1,841,4.2,CSH,16 +CMT,1,1,922,3.3,CRD,13.5 +CMT,1,1,149,1.5,CRD,6 +CMT,1,2,962,2,CRD,12 +CMT,1,1,369,1.4,CSH,7 +CMT,1,1,525,1.4,CSH,8 +CMT,1,1,981,4.9,CSH,17.5 +CMT,1,1,1204,11,CSH,31 +CMT,1,1,487,2,CSH,8.5 +CMT,1,1,585,1.1,CSH,8 +CMT,1,1,490,1.5,CRD,7.5 +CMT,1,2,145,0.5,CSH,4 +CMT,1,2,533,2.4,CRD,10 +CMT,1,1,456,1.3,CSH,7 +CMT,1,1,381,1.1,CRD,6.5 +CMT,1,2,415,1.1,CSH,6.5 +CMT,1,1,536,1.9,CSH,8.5 +CMT,1,2,374,0.8,CRD,6 +CMT,1,1,568,2,CSH,9.5 +CMT,1,1,881,2.2,CRD,11.5 +CMT,1,1,155,0.3,CSH,3.5 +CMT,1,1,845,4.1,CSH,14 +CMT,1,1,245,0.9,CRD,5 +CMT,1,1,777,1.8,CRD,10.5 +CMT,1,1,953,3.3,CRD,14 +CMT,1,1,613,3.2,CSH,11.5 +CMT,1,1,301,1.1,CSH,5.5 +CMT,1,1,119,0.5,CSH,3.5 +CMT,2,1,1686,16.7,CRD,52 +CMT,1,1,354,1.9,CSH,7.5 +CMT,1,1,731,1.7,CSH,9.5 +CMT,1,4,845,2.7,CSH,11.5 +CMT,1,1,1563,2.6,CRD,17.5 +CMT,1,1,415,2.1,CRD,8 +CMT,1,1,706,3.8,CRD,14 +CMT,1,1,319,1.1,CRD,6 +CMT,1,3,1020,4.9,CSH,16.5 +CMT,1,1,172,0.5,CSH,4 +CMT,1,1,693,2.4,CSH,10.5 +CMT,1,2,309,0.8,CSH,5.5 +CMT,1,1,113,0.4,CRD,4 +CMT,1,1,1118,4.5,CRD,18.5 +CMT,1,2,594,2.3,CRD,10 +CMT,1,2,261,0.6,CRD,5 +CMT,1,2,358,1.4,CSH,7 +CMT,1,2,675,2.4,CSH,10.5 +CMT,1,1,738,3.6,CSH,13 +CMT,1,2,1358,6,CSH,21.5 +CMT,1,3,547,1.7,CRD,8.5 +CMT,1,1,737,1.7,CSH,10 +CMT,1,2,455,1.5,CSH,7.5 +CMT,1,1,957,7.7,CSH,23 +CMT,1,1,1168,3.7,CRD,16 +CMT,1,1,431,1.3,CRD,7 +CMT,1,1,366,2.7,CRD,9 +CMT,1,1,806,6.2,CRD,19 +CMT,1,1,412,2.1,CSH,8.5 +CMT,1,1,313,1.2,CSH,6 +CMT,1,1,505,1,CRD,7.5 +CMT,1,2,449,0.8,CRD,6.5 +CMT,1,1,521,1.4,CRD,8 +CMT,1,1,313,0.7,CRD,5.5 +CMT,1,1,932,3.1,CRD,13 +CMT,1,1,391,0.9,CSH,6 +CMT,1,1,518,1.3,CSH,8 +CMT,1,2,540,1.5,CSH,8 +CMT,1,1,1077,3.8,CRD,15.5 +CMT,1,1,845,1.4,CRD,10 +CMT,1,3,1447,6.8,CSH,24 +CMT,1,1,268,1,CSH,5.5 +CMT,1,1,708,2.1,CRD,10 +CMT,1,1,171,0.5,CRD,4 +CMT,1,1,706,1.7,CRD,9.5 +CMT,1,1,806,0.9,CRD,9.5 +CMT,1,1,307,1.3,CRD,6 +CMT,1,4,370,1,CSH,6 +CMT,1,1,196,1.1,CSH,5 +CMT,1,1,1636,9.8,CRD,32 +CMT,1,1,583,1.6,CSH,8.5 +CMT,1,1,1175,4.4,CRD,17.5 +CMT,1,1,193,0.7,CSH,5 +CMT,1,1,577,1.1,CRD,7.5 +CMT,1,1,484,1.1,CSH,7 +CMT,1,3,745,0.9,CSH,9 +VTS,1,1,720,2.34,CRD,10.5 +VTS,1,1,1320,5.44,CSH,21 +VTS,1,1,420,2.29,CRD,8.5 +VTS,1,6,600,2.53,CRD,10 +VTS,1,6,180,1.29,CRD,5.5 +VTS,1,6,480,2.84,CRD,10 +VTS,1,6,240,0.77,CRD,5 +VTS,1,6,240,1.46,CSH,6 +VTS,1,6,1560,7.38,CRD,25 +VTS,1,6,2280,14.41,CRD,41.5 +VTS,1,6,2580,5.82,CRD,28.5 +VTS,1,6,1260,5.39,CSH,20 +VTS,1,6,420,1.62,CSH,7.5 +VTS,1,6,300,1.34,CRD,6 +VTS,1,6,900,3.15,CRD,13.5 +VTS,1,6,1260,1.44,CRD,14 +VTS,1,6,960,3.01,CSH,13.5 +VTS,1,6,420,2.14,CRD,8.5 +VTS,1,6,60,0.48,CSH,3.5 +VTS,1,5,480,2.59,CSH,10 +VTS,1,6,840,4.29,CRD,15 +CMT,1,1,181,0.9,CSH,5 +CMT,1,1,1126,2.6,CSH,14 +CMT,1,3,210,0.7,CSH,5 +CMT,1,2,411,1.3,CSH,7 +CMT,1,2,874,2.9,CSH,12.5 +VTS,1,6,780,2.84,CSH,12 +VTS,1,6,900,5.43,CSH,18.5 +VTS,1,6,720,3.28,CRD,12.5 +VTS,1,6,660,2.57,CRD,10.5 +VTS,1,6,1140,7.01,CRD,23 +VTS,1,6,120,0.88,CSH,5 +VTS,1,6,780,3.16,CRD,12.5 +VTS,1,6,300,0.82,CSH,5.5 +VTS,1,6,660,2,CSH,9.5 +VTS,1,6,840,5.72,CRD,19 +VTS,1,6,900,6.21,CRD,20 +VTS,1,6,540,5.22,CSH,16.5 +VTS,1,6,120,0.58,CSH,4 +VTS,1,6,1020,4.23,CSH,16 +VTS,1,6,60,0.41,CRD,3.5 +VTS,1,6,720,5.15,CRD,15.5 +VTS,1,6,240,0.92,CRD,5 +VTS,1,6,720,3.72,CSH,12.5 +VTS,1,6,660,4.23,CSH,14.5 +VTS,1,6,660,2.19,CRD,10.5 +VTS,1,6,360,0.82,CRD,5.5 +VTS,1,6,780,3.25,CRD,12.5 +CMT,1,3,724,2.5,CRD,11 +CMT,1,2,546,2.4,CRD,10 +VTS,1,1,480,1.13,CRD,7 +VTS,1,1,420,2.04,CRD,9 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,6,600,2.14,CSH,9.5 +VTS,1,6,840,3.63,CRD,13.5 +VTS,1,6,360,1.01,CRD,6 +VTS,1,6,300,0.95,CSH,6 +VTS,1,6,240,0.72,CRD,5 +VTS,1,6,1260,5.34,CSH,19 +VTS,1,6,720,8.49,CSH,24 +VTS,1,6,180,0.94,CSH,5 +VTS,1,6,420,2.63,CRD,10 +VTS,1,6,720,1.04,CSH,8.5 +VTS,1,6,600,1.4,CSH,7.5 +VTS,1,6,1080,4.85,CSH,17.5 +VTS,1,6,960,3.67,CRD,14 +VTS,1,6,420,1.98,CSH,8.5 +VTS,1,6,1200,4.92,CSH,19 +VTS,1,6,1320,5.5,CSH,20 +VTS,1,6,120,0.72,CRD,4.5 +VTS,1,6,300,1.58,CRD,7 +VTS,1,6,360,0.75,CSH,6 +VTS,1,6,480,1.42,CRD,7.5 +VTS,1,6,120,0.94,CRD,4.5 +VTS,1,6,1020,8.16,CSH,25 +VTS,1,6,720,2.25,CRD,10.5 +VTS,1,6,660,2.34,CRD,10.5 +VTS,1,6,840,8.89,CSH,25 +VTS,1,6,780,2.74,CRD,11.5 +VTS,1,6,120,0.62,CRD,4 +VTS,1,6,420,3.57,CSH,12 +VTS,1,6,1380,6.33,CRD,23.5 +VTS,1,6,360,0.9,CRD,6.5 +VTS,1,6,120,0.39,CRD,3.5 +VTS,1,6,720,2.79,CRD,11.5 +VTS,1,6,720,2.51,CRD,11.5 +VTS,1,6,2400,7.72,CRD,31.5 +VTS,1,6,900,1.46,CSH,10.5 +VTS,1,6,240,1.24,CRD,6 +VTS,1,6,120,0.72,CRD,4.5 +VTS,1,6,600,2,CSH,9 +VTS,1,6,780,6.3,CRD,19.5 +VTS,1,6,660,2.31,CSH,10.5 +VTS,1,6,420,1.21,CRD,7 +VTS,1,6,1200,13.14,CRD,36.5 +VTS,1,6,480,3.76,CSH,12.5 +VTS,1,6,240,1.54,CSH,6.5 +VTS,1,6,300,1.45,CRD,7 +VTS,1,6,300,1.23,CRD,6 +VTS,1,6,480,2.02,CSH,9 +VTS,1,6,600,3.77,CRD,13 +VTS,1,6,720,2.31,CRD,10 +VTS,1,6,180,1.18,CSH,5.5 +VTS,1,6,480,1.64,CSH,8 +VTS,1,6,600,3.82,CSH,13.5 +VTS,1,6,2220,8.08,CRD,29 +VTS,1,6,720,2.54,CSH,11.5 +VTS,1,6,1260,10.11,CSH,29.5 +VTS,1,6,240,0.99,CRD,5 +VTS,1,6,900,7.1,CSH,22 +VTS,1,6,600,3.66,CRD,13 +VTS,1,6,1440,12.8,CSH,37.5 +VTS,1,6,480,1.08,CRD,7.5 +VTS,1,6,540,1.88,CRD,8.5 +VTS,1,6,600,3.08,CRD,11.5 +VTS,1,6,1980,7.52,CRD,26.5 +VTS,1,6,1500,3.76,CRD,18.5 +VTS,1,6,1020,5.35,CRD,19 +VTS,1,6,300,1.22,CRD,6.5 +VTS,1,6,420,2.5,CRD,9 +VTS,1,6,420,1.4,CSH,7.5 +VTS,1,6,300,1.66,CSH,7 +VTS,1,6,1380,8.54,CRD,26.5 +VTS,1,6,420,2.34,CSH,8.5 +VTS,1,6,360,1.14,CSH,6 +VTS,1,6,540,2.15,CRD,9 +VTS,1,6,720,6.97,CSH,20 +VTS,1,6,180,0.49,CSH,4 +VTS,1,6,780,7,CRD,21 +VTS,1,6,300,1.8,CSH,7 +VTS,1,6,720,1.91,CRD,10 +VTS,1,1,1080,3.67,CRD,15 +VTS,1,1,780,3.63,CSH,14 +VTS,1,6,840,3.54,CRD,13.5 +VTS,1,6,1080,4.06,CRD,16 +VTS,1,6,840,3.11,CRD,13 +VTS,1,6,660,4.24,CSH,14.5 +VTS,1,6,900,3.25,CSH,13 +VTS,1,6,480,1.85,CSH,8.5 +VTS,1,6,360,1.19,CSH,6 +VTS,1,6,1200,9.21,CSH,28 +VTS,1,6,1140,2.19,CRD,13.5 +VTS,1,6,540,1.51,CSH,8 +VTS,1,6,780,2.27,CRD,11.5 +VTS,1,6,420,2.04,CRD,8.5 +VTS,1,6,240,2.07,CRD,8 +VTS,1,6,240,0.85,CSH,5 +VTS,1,6,300,1.57,CRD,6.5 +VTS,1,6,540,1.46,CRD,8 +VTS,1,6,420,0.85,CSH,6 +VTS,1,6,600,1.13,CSH,8 +VTS,1,6,660,3.23,CRD,12 +VTS,1,6,420,1.01,CRD,6.5 +VTS,1,6,420,1.31,CSH,6.5 +VTS,1,6,1140,2.42,CSH,13.5 +VTS,1,6,660,3.92,CRD,14 +VTS,1,6,480,1.81,CRD,8 +VTS,1,6,660,2.13,CSH,10 +VTS,1,6,540,2.9,CSH,11 +VTS,1,6,480,3.65,CSH,11.5 +VTS,1,6,180,0.73,CSH,4.5 +VTS,1,6,540,1.69,CSH,8 +VTS,1,6,240,1.26,CRD,6 +VTS,1,6,360,1.96,CSH,8.5 +VTS,1,6,600,5.69,CSH,17 +VTS,1,6,840,3.46,CSH,13.5 +VTS,1,6,600,2.96,CSH,11.5 +VTS,1,6,60,0.62,CRD,4 +VTS,1,6,1320,3.29,CRD,17 +VTS,1,6,1020,2.69,CRD,13 +VTS,1,6,720,3.02,CSH,11.5 +VTS,1,6,720,4.8,CSH,16 +VTS,1,6,1200,3.54,CRD,16.5 +VTS,1,6,1200,5.52,CRD,19.5 +VTS,1,6,780,4.6,CRD,15 +VTS,1,6,120,0.47,CSH,4 +VTS,1,6,780,4.23,CSH,15 +VTS,1,6,900,2.59,CRD,12.5 +VTS,1,6,420,1.65,CSH,7.5 +VTS,1,6,1140,5.23,CRD,18 +VTS,1,5,600,1.21,CRD,8 +VTS,1,6,240,0.99,CRD,5 +VTS,1,6,420,2.06,CSH,8 +VTS,1,6,420,1.97,CRD,8.5 +VTS,1,6,540,1.85,CRD,9.5 +VTS,1,6,720,3,CRD,12.5 +VTS,1,1,0,0,CSH,2.5 +VTS,1,6,540,2.11,CSH,9 +VTS,1,6,1800,7.64,CRD,27 +VTS,1,6,480,2,CRD,9 +VTS,1,6,60,0.31,CRD,3 +VTS,1,6,420,2.37,CRD,9 +VTS,1,6,1200,3.89,CRD,17 +VTS,1,6,300,1.69,CSH,6.5 +VTS,1,6,480,1.69,CRD,8 +VTS,1,6,2340,17.92,CSH,51.5 +VTS,1,6,1560,18.89,CRD,50.5 +VTS,1,6,840,2.65,CRD,12 +VTS,1,6,660,2.96,CSH,12 +VTS,1,6,600,2.62,CSH,11 +VTS,1,6,540,2.05,CSH,9.5 +VTS,1,6,60,0,CSH,3 +VTS,1,6,480,1.63,CRD,8 +VTS,1,6,180,0.57,CRD,4.5 +VTS,1,6,300,0.87,CRD,5.5 +VTS,1,6,1320,10.48,CSH,30 +VTS,1,6,420,1.48,CRD,7.5 +VTS,1,6,1080,3.35,CRD,15 +VTS,1,6,180,0.45,CSH,4 +VTS,1,6,240,0.58,CRD,4.5 +VTS,1,6,240,0.78,CSH,5 +VTS,1,6,360,0.92,CSH,5.5 +VTS,1,6,1080,5.17,CSH,18 +VTS,1,6,480,1.14,CRD,7 +VTS,1,6,600,2.68,CSH,10.5 +VTS,1,6,420,1.38,CRD,7.5 +VTS,1,6,900,7.25,CSH,22.5 +VTS,1,6,240,1.25,CRD,6 +VTS,1,6,120,0.39,CSH,3.5 +VTS,1,6,480,1.64,CSH,8 +VTS,1,6,780,0.88,CRD,9 +VTS,1,6,900,3.83,CRD,14 +VTS,1,6,900,2.23,CRD,12 +VTS,1,6,780,2.78,CRD,12 +VTS,1,6,180,0.41,CSH,4.5 +VTS,1,6,360,1.25,CSH,6 +VTS,1,6,600,1.63,CRD,9 +VTS,1,6,300,1.05,CSH,6 +VTS,1,6,1200,6.8,CSH,22 +VTS,1,6,1320,13.87,CRD,38 +VTS,1,6,960,6.2,CSH,20.5 +VTS,1,6,300,0.87,CSH,5.5 +VTS,1,6,840,2.83,CRD,13.5 +VTS,1,6,180,0.97,CSH,5 +VTS,1,6,480,3.52,CSH,12.5 +VTS,1,6,240,1.19,CSH,5.5 +VTS,1,6,420,1.49,CRD,7.5 +VTS,1,6,240,0.74,CRD,5 +VTS,1,6,180,0.67,CSH,4.5 +VTS,1,1,2100,8.1,CRD,28 +VTS,1,1,960,4.66,CSH,17 +VTS,1,6,420,1.58,CSH,7.5 +VTS,1,6,600,1.88,CSH,9 +VTS,1,6,840,2.5,CSH,10 +VTS,1,6,720,2.12,CRD,10 +VTS,1,6,420,2.81,CRD,9.5 +VTS,1,6,420,2,CSH,8 +VTS,1,6,540,2.74,CSH,10.5 +VTS,1,6,420,2.14,CRD,8.5 +VTS,1,6,360,1.65,CSH,7 +VTS,1,6,1140,7.01,CSH,22 +VTS,1,6,420,1.47,CRD,7.5 +VTS,1,6,720,2.74,CSH,11.5 +VTS,1,6,360,0.84,CRD,6 +VTS,1,6,660,2.08,CRD,9.5 +VTS,1,6,240,0.84,CRD,5 +VTS,1,6,240,1.16,CRD,6 +VTS,1,6,1020,5.71,CSH,18.5 +VTS,1,6,120,0.94,CRD,5 +VTS,1,6,300,0.88,CSH,5.5 +VTS,1,6,420,1.87,CSH,7.5 +VTS,1,6,300,0.91,CRD,5.5 +VTS,1,6,900,4.97,CRD,17 +VTS,1,6,600,3.42,CSH,11.5 +VTS,1,6,600,2.9,CRD,11.5 +VTS,1,6,720,1.96,CRD,10 +VTS,1,6,300,0.76,CRD,5.5 +VTS,1,6,600,3.11,CRD,11.5 +VTS,1,6,900,2.79,CSH,12 +VTS,1,6,180,0.74,CSH,4.5 +VTS,1,6,1320,6.87,CSH,23 +VTS,1,6,540,3.18,CRD,10.5 +VTS,1,6,360,0.57,CSH,5.5 +VTS,1,6,360,1.19,CRD,6.5 +VTS,1,6,300,1.38,CRD,6.5 +VTS,1,6,540,2.65,CSH,10 +VTS,1,6,660,1.48,CSH,8.5 +VTS,1,6,1080,2.53,CRD,13.5 +VTS,1,6,300,1.4,CRD,6.5 +VTS,1,6,360,1.45,CSH,7 +VTS,1,6,360,1.65,CRD,7 +VTS,1,6,240,1.03,CRD,5 +VTS,1,6,360,1.2,CSH,6 +VTS,1,6,120,0.71,CSH,4 +VTS,1,6,780,2.31,CRD,11 +VTS,1,6,2220,8.02,CSH,30.5 +VTS,1,6,720,2.98,CRD,11.5 +VTS,1,6,420,0.76,CRD,6.5 +VTS,1,6,420,2.5,CRD,9.5 +VTS,1,6,1080,4.87,CRD,17 +VTS,1,6,1080,7.18,CSH,22 +VTS,1,6,300,1.35,CRD,6.5 +VTS,1,6,420,2.97,CRD,10 +VTS,1,1,240,0.65,CRD,4.5 +VTS,1,1,420,1.38,CRD,7 +VTS,1,1,960,2.62,CRD,13 +VTS,1,1,300,1.2,CRD,5.5 +VTS,1,6,420,1.25,CRD,7 +VTS,1,6,540,1.9,CSH,9 +VTS,1,6,300,2.51,CSH,8.5 +VTS,1,6,1380,6.02,CSH,22 +VTS,1,6,360,1.43,CSH,7 +VTS,1,6,1020,3.14,CSH,13.5 +VTS,1,6,480,1.1,CSH,7 +VTS,1,6,660,1.82,CRD,9.5 +VTS,1,6,720,6.66,CRD,19.5 +VTS,1,6,420,1.1,CRD,6.5 +VTS,1,6,360,0.81,CSH,6 +VTS,1,6,960,1.13,CSH,10.5 +VTS,1,6,360,1.19,CSH,6.5 +VTS,1,6,240,1.18,CRD,6 +VTS,1,6,780,8.1,CSH,23.5 +VTS,1,6,1440,6.39,CSH,22 +VTS,1,6,660,5.75,CSH,17.5 +VTS,1,6,1140,4.9,CRD,18 +VTS,1,1,720,2.8,CRD,12 +VTS,1,1,660,2.72,CSH,10.5 +VTS,1,1,1140,2.38,CRD,14 +VTS,1,1,420,1.33,CSH,7 +VTS,1,1,420,1.41,CSH,7 +VTS,1,1,540,1.62,CSH,8 +VTS,1,2,180,0.74,CSH,4.5 +VTS,1,1,600,2.96,CRD,10.5 +VTS,1,1,540,2.48,CRD,10 +VTS,1,1,1140,2.24,CSH,13.5 +CMT,1,2,1058,5.3,CRD,18 +CMT,1,1,571,2.6,CSH,10.5 +CMT,1,2,431,1.5,CSH,7.5 +CMT,1,2,253,0.8,CRD,5 +CMT,1,1,600,1.5,CRD,9 +CMT,1,1,116,0.3,CRD,3.5 +CMT,1,3,421,1.6,CSH,7.5 +CMT,1,2,737,1.9,CRD,10 +CMT,1,1,921,2.8,CRD,13 +CMT,1,2,266,0.7,CSH,5 +CMT,1,1,312,0.9,CRD,6 +CMT,1,1,412,2.1,CRD,8.5 +CMT,1,1,360,1.1,CSH,6.5 +CMT,2,1,1685,17.7,CRD,52 +CMT,1,1,513,4,CRD,13.5 +CMT,1,2,936,4.2,CRD,15.5 +CMT,1,1,857,1.5,CRD,10.5 +CMT,1,1,1238,3.3,CRD,15.5 +CMT,1,1,457,1.2,CSH,7.5 +CMT,1,1,148,0.7,CSH,4.5 +CMT,1,2,422,1.3,CSH,7.5 +CMT,1,1,871,2.8,CRD,12 +CMT,1,1,654,1.5,CSH,9 +CMT,1,1,839,3.3,CRD,13 +CMT,1,1,965,4.2,CSH,15.5 +CMT,1,1,1521,4.9,CSH,20 +VTS,1,6,240,0.54,CSH,4.5 +VTS,1,6,360,0.64,CSH,5.5 +VTS,1,6,1020,2.89,CRD,13.5 +VTS,1,6,1980,9.62,CSH,31.5 +VTS,1,6,300,1.07,CRD,6 +VTS,1,6,180,0.55,CSH,4.5 +VTS,1,6,1020,5.54,CSH,19.5 +VTS,1,6,180,0.78,CRD,4.5 +VTS,1,6,720,5.49,CRD,16.5 +VTS,1,6,180,0.79,CRD,5 +VTS,1,1,1800,3.5,CRD,19.5 +VTS,1,1,300,1.13,CSH,5.5 +VTS,5,1,0,0,CRD,40 +VTS,1,1,1440,4.14,CRD,18 +VTS,1,1,840,1.72,CSH,10.5 +VTS,1,1,420,1.42,CRD,6.5 +VTS,1,1,480,1.26,CSH,7 +VTS,1,1,960,4.82,CRD,18 +VTS,1,1,540,1.86,CSH,8.5 +VTS,1,1,780,5.27,CSH,17 +VTS,1,1,480,3.17,CRD,11 +VTS,1,1,720,1.91,CSH,9.5 +VTS,1,1,660,3.54,CRD,13 +VTS,1,1,360,1.94,CSH,7.5 +VTS,1,1,120,0.28,CRD,3 +VTS,1,1,960,7.21,CSH,22 +VTS,1,1,120,0.49,CSH,4 +VTS,1,5,720,1.82,CRD,9.5 +VTS,1,6,540,0.99,CSH,7.5 +VTS,1,6,540,2.6,CRD,10.5 +VTS,1,6,480,2.21,CRD,9.5 +VTS,1,6,120,0.93,CSH,5 +VTS,1,6,840,8.25,CRD,24.5 +VTS,1,6,240,0.44,CSH,4 +VTS,1,6,840,4.39,CSH,15 +VTS,1,6,420,0.76,CRD,6.5 +VTS,1,6,120,0.72,CSH,4 +VTS,1,6,600,5,CSH,16 +VTS,1,6,1200,3.83,CRD,16 +VTS,1,6,180,0.45,CSH,3.5 +VTS,1,6,540,2.97,CRD,11 +VTS,1,6,900,2.67,CRD,12.5 +VTS,1,6,780,3.15,CRD,13 +VTS,1,6,540,2.14,CRD,9 +VTS,1,6,120,0.61,CRD,4 +VTS,1,6,60,0.72,CRD,4 +VTS,1,6,420,2,CRD,8.5 +VTS,1,6,300,0.87,CRD,5.5 +VTS,1,1,480,1.05,CSH,6.5 +VTS,1,1,540,1.54,CSH,8 +VTS,1,1,540,1.65,CRD,8.5 +VTS,1,1,480,2.06,CRD,8.5 +VTS,3,1,1740,20.51,CRD,72.5 +VTS,1,1,180,0.62,CSH,4 +VTS,1,1,660,2.32,CRD,10.5 +VTS,1,1,1080,2.76,CRD,14 +VTS,1,1,840,2.93,CRD,12.5 +VTS,1,2,780,4.07,CSH,14.5 +VTS,1,2,480,1.86,CRD,8.5 +VTS,1,5,840,3.14,CSH,12 +VTS,1,5,600,2.5,CRD,10.5 +VTS,1,5,360,1.96,CRD,8 +VTS,1,5,1020,1.37,CSH,11.5 +VTS,1,5,120,0.37,CSH,3 +VTS,1,5,1740,12.16,CRD,36.5 +VTS,1,5,360,1.47,CRD,7.5 +VTS,1,5,1140,4.38,CSH,17.5 +VTS,1,1,360,1.09,CRD,6.5 +VTS,1,1,180,1.09,CSH,5.5 +VTS,1,1,1140,5.01,CRD,18 +VTS,1,1,480,1.66,CRD,7.5 +VTS,1,1,240,0.78,CRD,4.5 +VTS,1,1,180,1.04,CSH,5 +VTS,1,1,180,0.36,CSH,4 +VTS,1,1,300,1.54,CSH,6.5 +VTS,1,5,360,1.81,CRD,7.5 +VTS,1,5,1080,10.87,CSH,30.5 +VTS,1,5,420,1.22,CSH,7 +VTS,1,5,780,3.42,CRD,13 +VTS,1,5,1380,10.76,CRD,32.5 +VTS,1,6,1380,2.38,CRD,15 +VTS,1,6,840,5.76,CRD,19 +VTS,1,6,780,5.91,CSH,19 +VTS,1,6,540,1.28,CSH,7.5 +VTS,1,1,720,3.01,CSH,11.5 +VTS,2,2,2820,17.4,CRD,52 +VTS,2,1,2340,20.51,CRD,52 +VTS,1,1,600,2.41,CRD,10 +VTS,1,1,180,1.3,CRD,5.5 +VTS,1,1,660,3.78,CRD,13 +VTS,1,1,960,2.06,CSH,11.5 +VTS,1,2,420,1.63,CRD,8 +VTS,1,2,480,2.19,CRD,9 +VTS,1,2,240,0.95,CSH,5 +VTS,1,1,60,0,CSH,3 +VTS,1,5,720,2.58,CRD,11 +VTS,1,5,180,0.72,CRD,5 +VTS,1,5,660,1.1,CRD,8 +VTS,1,5,720,2.05,CRD,10.5 +VTS,1,5,780,5.06,CRD,16.5 +VTS,1,5,840,3.85,CRD,14.5 +VTS,1,5,360,1.07,CSH,6.5 +VTS,1,5,360,1.73,CSH,7.5 +VTS,1,5,600,1.75,CRD,8.5 +VTS,1,5,240,0.9,CRD,5 +VTS,1,1,900,2.5,CSH,11.5 +VTS,1,1,600,2.64,CRD,10.5 +VTS,1,1,420,1.29,CSH,6.5 +VTS,1,1,360,1.31,CSH,7 +VTS,1,1,480,1.13,CRD,7.5 +VTS,1,1,360,1.39,CRD,6.5 +VTS,1,1,1080,5.66,CSH,19.5 +CMT,1,1,334,0.9,CSH,6 +CMT,1,1,264,1.2,CSH,6 +CMT,1,1,315,1.4,CSH,6.5 +CMT,1,1,396,1,CSH,6.5 +CMT,1,3,858,4.9,CSH,16 +CMT,1,1,129,0.5,CSH,4 +VTS,1,1,1440,5.75,CSH,20.5 +VTS,1,1,240,0.89,CRD,5 +VTS,1,1,1140,5.31,CRD,18 +VTS,1,6,600,2.77,CSH,11.5 +VTS,1,6,660,2.81,CRD,10.5 +VTS,1,6,600,2.85,CSH,11.5 +VTS,1,6,300,1.11,CSH,6 +VTS,1,6,120,0.85,CSH,4.5 +VTS,1,6,720,7.17,CRD,21.5 +VTS,1,6,600,2.84,CRD,11 +VTS,1,6,720,2.75,CRD,11 +VTS,1,6,180,0.7,CSH,4.5 +VTS,1,6,1380,9.15,CRD,29 +VTS,1,6,480,1.01,CRD,6.5 +VTS,1,6,300,1.38,CSH,7 +VTS,1,6,420,1.56,CRD,7 +VTS,1,6,1680,3.91,CSH,19.5 +VTS,1,6,960,4.49,CSH,16.5 +VTS,1,6,420,1.26,CRD,7 +VTS,1,6,540,1.35,CSH,7.5 +VTS,1,6,1560,9.5,CRD,29.5 +VTS,1,6,180,0.8,CSH,5 +VTS,1,1,240,0.8,CSH,5 +VTS,1,1,480,1.49,CRD,7.5 +VTS,1,1,540,2.68,CRD,10.5 +VTS,1,1,240,0.7,CRD,4.5 +VTS,1,1,600,2.36,CRD,10 +VTS,1,1,840,2.47,CRD,12 +VTS,1,1,600,2.46,CSH,10.5 +VTS,1,1,660,2.27,CSH,9.5 +VTS,1,1,360,1.43,CRD,7 +VTS,1,1,480,2.46,CRD,9.5 +VTS,1,1,540,3.16,CRD,11.5 +VTS,1,1,660,1.8,CRD,10 +VTS,1,1,300,1,CSH,5.5 +VTS,1,1,240,0.72,CSH,4.5 +VTS,1,1,360,0.84,CSH,6 +VTS,1,2,480,0.84,CRD,6.5 +VTS,1,1,960,2.44,CSH,12.5 +VTS,1,1,720,1.82,CRD,9.5 +VTS,1,1,300,0.95,CSH,5.5 +VTS,1,5,300,1.04,CRD,5.5 +VTS,1,5,240,1.06,CSH,5 +VTS,1,5,540,2.32,CSH,9 +VTS,1,5,660,1.6,CRD,9 +VTS,1,5,480,1.78,CSH,8 +VTS,1,5,360,1.5,CSH,7.5 +VTS,1,5,360,1.05,CRD,6 +VTS,1,5,420,1.69,CRD,8 +VTS,1,5,600,2.95,CSH,10.5 +VTS,1,5,660,1.89,CRD,9.5 +VTS,1,6,300,1.21,CRD,6 +VTS,1,6,660,2.27,CRD,10.5 +VTS,1,6,720,2,CRD,10 +VTS,1,6,840,3.02,CSH,13 +VTS,1,6,300,2.11,CSH,7.5 +VTS,1,6,300,1.13,CSH,6.5 +VTS,1,6,120,0.51,CSH,4 +VTS,1,6,1020,2.97,CSH,13 +VTS,1,6,540,2.41,CRD,9.5 +VTS,1,6,360,1.28,CSH,7 +VTS,1,6,840,5.03,CRD,16.5 +VTS,1,6,300,2.01,CRD,7.5 +VTS,1,6,420,2.7,CRD,10 +VTS,1,6,780,7.89,CRD,23 +VTS,1,6,600,2.63,CRD,10 +VTS,1,6,1080,4.54,CRD,17 +VTS,1,6,240,1.32,CRD,6 +VTS,1,6,480,1.36,CRD,7.5 +VTS,1,6,360,1.06,CRD,6 +VTS,1,6,240,1.34,CRD,6 +VTS,1,6,840,5.24,CRD,17 +VTS,2,6,1440,18.13,CRD,52 +VTS,1,6,360,1.39,CRD,7 +VTS,1,6,540,2.98,CRD,10.5 +VTS,1,6,180,0.77,CSH,4.5 +VTS,1,6,180,0.72,CRD,5 +VTS,1,6,300,1.67,CSH,7 +VTS,1,6,480,1.29,CRD,7.5 +VTS,1,6,780,2.76,CRD,12.5 +VTS,1,6,960,5.37,CRD,17.5 +VTS,1,6,960,9.89,CRD,27.5 +VTS,1,6,600,1.51,CSH,8.5 +VTS,1,6,780,3.79,CSH,13.5 +VTS,1,6,840,5.41,CSH,17 +VTS,1,6,540,2.14,CRD,9.5 +VTS,1,6,360,0.81,CRD,6 +VTS,1,6,1200,3.99,CRD,16.5 +VTS,4,6,0,0,CSH,2.5 +VTS,1,6,600,1.91,CSH,9.5 +VTS,1,6,720,1.19,CSH,9 +VTS,1,6,1740,12.1,CSH,36.5 +VTS,1,6,720,3.6,CRD,13 +VTS,1,6,420,2.22,CSH,8.5 +VTS,1,6,540,2.11,CRD,8.5 +VTS,1,6,660,3.01,CRD,11.5 +VTS,1,6,360,1.75,CRD,7.5 +VTS,1,1,300,0.66,CSH,5 +VTS,1,1,840,2.74,CRD,12 +VTS,1,1,840,5.55,CSH,18 +VTS,1,1,720,3.55,CRD,13 +VTS,1,1,360,1.12,CSH,6 +VTS,1,1,240,0.91,CSH,5.5 +VTS,1,1,120,0.36,CRD,3.5 +VTS,1,1,360,1.17,CSH,6.5 +VTS,1,1,600,2.98,CRD,11 +VTS,1,5,780,1.83,CSH,10.5 +VTS,1,5,540,1.66,CRD,9 +VTS,1,5,1500,4.22,CRD,18.5 +VTS,1,5,1920,9.66,CSH,32 +VTS,1,5,540,2.12,CSH,9.5 +VTS,1,5,240,0.85,CSH,5 +VTS,1,5,1860,5.37,CRD,22.5 +VTS,1,5,720,2.98,CSH,11.5 +VTS,1,5,300,0.79,CSH,5.5 +VTS,1,5,1080,3.01,CRD,13.5 +VTS,1,5,240,0.72,CRD,5 +VTS,1,5,780,2.52,CSH,11.5 +VTS,1,5,600,1.37,CRD,8.5 +VTS,1,5,840,2.31,CRD,12 +VTS,1,1,240,0.89,CRD,5 +VTS,1,1,240,1.09,CRD,5.5 +VTS,1,1,120,0.6,CSH,4 +VTS,1,1,240,1.63,CSH,6.5 +VTS,1,1,240,0.87,CRD,5 +VTS,1,1,300,1.41,CSH,6.5 +VTS,1,1,420,2.09,CRD,8.5 +VTS,1,1,600,2.67,CRD,10.5 +VTS,1,1,1140,3.95,CRD,16 +VTS,1,1,720,1.84,CRD,10 +VTS,1,1,540,0.76,CSH,7.5 +VTS,1,1,240,0.79,CSH,4.5 +VTS,1,5,480,2.41,CRD,9.5 +VTS,1,5,240,0.79,CRD,5 +VTS,1,5,1920,10.88,CRD,35 +VTS,1,5,120,0.51,CRD,4 +VTS,1,5,1560,15.89,CSH,44 +VTS,1,5,300,0.89,CSH,5 +VTS,1,5,300,1.2,CRD,6 +VTS,1,5,360,1.5,CSH,7 +VTS,1,5,180,0.33,CRD,4 +VTS,1,1,360,0.91,CRD,6 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,300,0,CSH,5 +VTS,1,1,480,0.76,CRD,6.5 +VTS,1,1,660,2.39,CRD,10.5 +VTS,1,1,540,1.65,CSH,8.5 +VTS,1,1,240,0.48,CRD,4.5 +VTS,1,1,420,1.95,CSH,7.5 +VTS,1,1,780,1.82,CSH,10.5 +VTS,1,1,480,1.61,CRD,8 +VTS,1,1,240,0.9,CRD,5 +VTS,5,2,0,0,CRD,83 +VTS,1,5,540,2.8,CSH,10.5 +VTS,1,5,120,0.66,CSH,4 +VTS,1,5,1140,1.31,CSH,12 +VTS,1,5,540,1.67,CSH,8 +VTS,1,5,240,1,CSH,5.5 +VTS,1,5,2220,10.17,CSH,34 +VTS,1,5,1500,20.56,CRD,54 +VTS,1,5,1140,5.3,CSH,18 +VTS,1,5,840,2.39,CRD,11.5 +VTS,1,1,360,1.11,CSH,6.5 +VTS,1,1,300,1.23,CSH,6.5 +VTS,1,1,420,1.34,CSH,7.5 +VTS,1,1,300,0.56,CRD,5 +VTS,1,2,780,2.92,CSH,12 +VTS,1,2,840,4.46,CSH,16 +VTS,1,1,240,0.97,CSH,5.5 +VTS,1,1,480,2.25,CRD,9 +VTS,1,1,240,0.19,CRD,4.5 +VTS,1,2,180,0.51,CSH,4 +VTS,1,1,540,1.69,CSH,8 +VTS,1,1,600,1.3,CSH,8 +VTS,1,5,840,2.46,CSH,12 +VTS,1,5,420,1.29,CRD,7.5 +VTS,1,5,300,0.89,CSH,6 +VTS,1,5,420,1.89,CSH,8 +VTS,1,5,1620,5.35,CRD,21.5 +VTS,1,5,240,0.71,CRD,5 +VTS,1,5,1020,5.53,CSH,18 +VTS,1,5,420,0.93,CRD,6.5 +VTS,1,5,180,0.84,CRD,4.5 +VTS,1,5,1980,7.04,CSH,27.5 +VTS,1,5,1560,16,CSH,44 +VTS,1,5,540,1.72,CSH,8.5 +VTS,1,5,900,3.35,CRD,14 +VTS,1,5,300,0.91,CRD,5.5 +VTS,1,1,180,0.67,CSH,4 +VTS,1,1,420,1.77,CRD,7.5 +VTS,1,1,120,0.34,CRD,3.5 +VTS,1,2,300,1.16,CRD,6.5 +VTS,1,1,60,0.04,CSH,2.5 +VTS,1,1,480,1.6,CRD,8 +VTS,1,1,360,1.41,CRD,7 +VTS,1,1,660,2.4,CRD,10 +VTS,1,1,840,5.93,CSH,19.5 +VTS,1,2,780,6.73,CSH,20.5 +VTS,1,1,300,0.76,CRD,5.5 +VTS,1,2,360,0.62,CSH,5.5 +VTS,1,1,600,1.98,CRD,9.5 +VTS,1,2,2160,9.71,CRD,34.5 +VTS,1,5,960,3.18,CRD,13.5 +VTS,1,5,720,2.19,CRD,11 +VTS,1,5,1440,12.5,CSH,36 +VTS,1,5,1920,9.45,CRD,32.5 +VTS,1,5,480,0.89,CSH,6.5 +VTS,1,5,840,3.29,CRD,13 +VTS,1,5,360,0.93,CRD,6 +VTS,1,5,840,1.62,CSH,10.5 +VTS,1,5,780,2.07,CSH,10.5 +VTS,1,1,180,0.74,CSH,4 +VTS,1,1,120,0.72,CRD,4 +VTS,1,1,600,0.95,CRD,8 +VTS,1,1,1020,2.22,CSH,12 +VTS,1,5,480,1.47,CRD,7.5 +VTS,1,5,300,1.3,CSH,6.5 +VTS,1,5,0,0.02,CSH,2.5 +VTS,1,5,900,7.43,CSH,22.5 +VTS,1,6,1020,4.71,CRD,17.5 +VTS,1,6,2100,18.86,CRD,52.5 +VTS,1,6,840,2.71,CSH,12 +VTS,1,6,420,2.37,CRD,9.5 +VTS,1,6,120,0.43,CSH,4 +VTS,1,6,900,9.03,CRD,26 +VTS,1,6,1980,8.62,CRD,30 +VTS,1,6,1020,4.16,CSH,15.5 +VTS,1,6,840,8.72,CRD,24.5 +VTS,1,6,840,3.68,CSH,14 +VTS,1,6,1740,16.02,CRD,45.5 +VTS,1,6,180,0.58,CRD,4 +VTS,1,1,1320,6.47,CSH,22 +VTS,1,1,1380,9.74,CRD,30 +VTS,1,1,1620,9.18,CSH,29 +VTS,1,1,420,1.85,CSH,8 +VTS,1,1,960,7.48,CSH,23 +VTS,1,1,1080,4.45,CSH,16.5 +VTS,1,1,780,4.18,CRD,15 +VTS,1,2,1620,4.11,CSH,19 +VTS,1,1,240,0.75,CRD,5 +VTS,1,2,600,4.39,CSH,14 +VTS,1,1,240,1.66,CRD,6.5 +VTS,1,2,780,2.69,CRD,12.5 +VTS,1,2,240,1.1,CSH,5.5 +VTS,1,1,900,1.16,CRD,10 +VTS,1,1,0,0,CSH,2.5 +VTS,1,5,180,0.45,CSH,4 +VTS,1,1,240,0.98,CRD,5 +VTS,1,1,360,0.7,CSH,5.5 +VTS,1,1,420,1.42,CRD,7.5 +VTS,1,5,540,1.04,CSH,8 +VTS,1,5,1140,12.2,CRD,34.5 +VTS,1,5,540,1.61,CSH,8.5 +VTS,1,5,540,1.48,CRD,8 +VTS,1,5,420,1.79,CSH,7.5 +VTS,1,5,660,1.95,CRD,9.5 +VTS,1,6,780,2.19,CSH,11 +VTS,1,6,300,0.99,CSH,5.5 +VTS,1,6,600,1.94,CSH,9 +VTS,1,6,120,0.98,CRD,5 +VTS,1,6,1380,5.16,CSH,20.5 +VTS,1,6,420,0.7,CRD,6 +VTS,1,6,540,2.03,CSH,9 +VTS,1,6,1740,5.77,CSH,22.5 +VTS,1,6,1200,2.75,CRD,15 +VTS,1,6,360,0.85,CSH,6 +VTS,1,6,180,0.94,CRD,5 +VTS,1,6,420,0.72,CSH,6 +VTS,1,6,180,0.78,CSH,4.5 +VTS,1,6,900,1.91,CRD,11 +VTS,1,6,420,1.29,CSH,7 +VTS,1,6,780,1.51,CRD,9.5 +VTS,1,6,240,1.33,CRD,6 +VTS,1,6,360,1.09,CRD,6.5 +VTS,1,5,660,3.05,CSH,12 +VTS,1,6,1020,3.73,CRD,15 +VTS,1,6,360,1.13,CRD,6.5 +VTS,1,6,300,0.68,CSH,5 +VTS,1,6,420,1.4,CRD,7.5 +VTS,1,6,960,3.4,CRD,14 +VTS,1,6,1080,2.46,CRD,13 +VTS,1,6,720,1.58,CSH,9.5 +VTS,1,6,300,1.01,CRD,6 +VTS,1,6,420,0.92,CRD,6.5 +VTS,1,6,300,0.9,CSH,6 +VTS,1,6,360,1.69,CRD,7 +VTS,1,6,600,1.96,CSH,9.5 +VTS,1,6,240,0.87,CSH,5 +VTS,1,6,540,1.65,CRD,8.5 +VTS,1,6,180,0.49,CSH,4 +VTS,1,6,720,2.02,CRD,10.5 +VTS,1,6,540,1.11,CSH,7.5 +VTS,1,6,360,1.57,CSH,7 +VTS,1,6,660,2.29,CSH,10 +VTS,1,6,960,3.1,CRD,13 +VTS,1,6,720,2.61,CRD,11 +VTS,1,6,300,0.71,CRD,5 +VTS,1,6,1140,7.32,CRD,23 +VTS,1,6,660,2.2,CSH,10 +VTS,1,6,240,0.62,CRD,5 +VTS,1,6,2160,4.49,CSH,24.5 +VTS,1,5,900,3.92,CSH,15.5 +VTS,1,5,120,0.22,CSH,3 +VTS,1,5,300,0.78,CRD,5.5 +VTS,1,5,360,1.34,CRD,6 +VTS,1,5,1020,1.89,CSH,12.5 +VTS,1,5,120,0.57,CSH,4 +VTS,1,5,420,1.58,CSH,7.5 +VTS,1,5,1200,4.99,CRD,18 +VTS,1,5,1140,3.23,CSH,15 +VTS,1,5,360,0.81,CSH,5.5 +VTS,1,5,360,1.36,CRD,7 +VTS,1,1,540,3.32,CRD,12 +VTS,1,1,300,0.97,CSH,5.5 +VTS,1,1,480,1.58,CSH,8 +VTS,1,1,360,1.36,CSH,6 +VTS,1,1,1200,3.82,CRD,15.5 +VTS,1,1,540,2.11,CSH,9.5 +VTS,1,5,300,1.17,CRD,6 +VTS,1,5,480,1.32,CSH,7.5 +VTS,1,5,900,2.9,CSH,13 +VTS,1,5,840,1.63,CSH,10.5 +VTS,1,6,720,1.29,CRD,9 +VTS,1,6,600,1.71,CRD,8.5 +VTS,1,6,420,0.63,CSH,5.5 +VTS,1,6,780,2.34,CSH,10.5 +VTS,1,6,600,1.79,CSH,9 +VTS,1,6,1620,2.88,CRD,18 +VTS,1,6,240,1.25,CSH,6.5 +VTS,1,6,600,1.38,CRD,8.5 +VTS,1,6,240,0.53,CSH,4.5 +VTS,1,6,360,1.21,CSH,7 +VTS,1,6,1920,7.41,CSH,27.5 +VTS,1,6,1260,4.9,CRD,19 +VTS,1,6,720,2.14,CRD,10.5 +VTS,1,6,420,0.95,CRD,6 +VTS,1,6,600,2.17,CSH,9.5 +VTS,1,6,540,1.38,CSH,8 +VTS,1,6,1920,5.83,CRD,25 +VTS,1,6,360,0.95,CRD,6 +VTS,1,6,180,0.52,CSH,4 +VTS,1,6,420,0.75,CRD,6.5 +VTS,1,6,780,2.12,CSH,10.5 +VTS,1,6,1680,5.86,CRD,23.5 +VTS,1,6,420,1.63,CSH,7 +VTS,1,6,420,0.63,CSH,6 +VTS,1,6,1020,2.04,CSH,12 +VTS,1,6,300,1.09,CSH,6 +VTS,1,6,1140,2.92,CRD,14.5 +VTS,1,6,420,0.76,CRD,6 +VTS,1,6,660,1.87,CSH,10 +VTS,1,6,0,0.05,CSH,2.5 +VTS,1,6,180,0.59,CRD,4 +VTS,1,6,240,0.54,CRD,4.5 +VTS,1,6,1500,5.05,CRD,20 +VTS,1,6,720,1.56,CRD,9 +VTS,1,6,780,2.6,CSH,11 +VTS,1,6,600,2.37,CRD,10 +VTS,1,6,480,1.82,CSH,8.5 +VTS,1,6,840,4.99,CSH,16 +VTS,1,6,540,1.78,CSH,8.5 +VTS,1,6,300,1.54,CSH,7 +VTS,1,6,660,2.18,CRD,9.5 +VTS,1,6,960,1.23,CSH,11 +VTS,1,6,660,3.48,CSH,12 +VTS,1,6,1080,6.49,CSH,20.5 +VTS,1,6,240,1.06,CRD,5.5 +VTS,1,6,720,4.71,CRD,16 +VTS,1,6,1680,7.04,CRD,27 +VTS,1,6,780,3.69,CRD,13.5 +VTS,1,6,240,0.61,CRD,5 +VTS,1,6,840,5.38,CRD,16.5 +VTS,1,6,840,5.62,CRD,17.5 +VTS,1,1,120,0.65,CRD,4 +VTS,1,1,1440,3.01,CRD,16.5 +VTS,1,1,660,2.56,CSH,10.5 +VTS,1,1,1620,11.66,CRD,34.5 +VTS,1,1,480,0.99,CSH,7 +VTS,1,1,600,1.41,CSH,8.5 +VTS,1,1,300,0.56,CRD,4.5 +VTS,1,1,840,2.24,CRD,11 +VTS,1,1,240,1.31,CSH,6 +VTS,1,1,420,2.12,CRD,8.5 +VTS,1,2,780,4.32,CRD,15 +VTS,1,1,240,1.09,CRD,5.5 +VTS,2,1,1740,18.74,CRD,52 +VTS,1,1,900,1.43,CSH,11 +VTS,1,1,480,0.9,CRD,7 +VTS,1,2,900,2.24,CRD,11.5 +VTS,1,2,1200,2.37,CRD,13.5 +VTS,1,1,300,0.96,CSH,5.5 +VTS,1,1,600,1.62,CSH,8.5 +VTS,1,1,1260,9.34,CRD,28 +VTS,1,2,180,0.68,CSH,4.5 +VTS,1,5,240,0.67,CRD,5.5 +VTS,1,5,480,1.58,CRD,7.5 +VTS,1,5,480,2.76,CRD,10.5 +VTS,1,5,480,0.84,CRD,7 +VTS,1,5,540,1.56,CSH,8 +VTS,1,5,1140,1.9,CRD,12.5 +VTS,1,5,660,2.03,CSH,9.5 +VTS,1,5,420,1.98,CSH,8 +VTS,1,5,1140,4.76,CRD,18 +VTS,1,5,420,1.06,CRD,7 +VTS,1,5,1740,5.59,CRD,22.5 +VTS,1,5,720,1.69,CSH,9.5 +VTS,1,5,300,0.79,CRD,5 +VTS,1,5,1320,2.66,CSH,15 +VTS,1,5,900,1.49,CRD,11 +VTS,1,1,540,2.29,CRD,9.5 +VTS,1,1,120,0.5,CSH,4 +VTS,1,1,900,2.39,CRD,11.5 +VTS,1,5,420,1.84,CRD,8 +VTS,1,5,1320,15.59,CRD,42 +VTS,1,6,660,1.56,CRD,9 +VTS,1,6,1080,3.84,CSH,15.5 +VTS,1,6,420,0.75,CRD,6.5 +VTS,1,6,900,2.69,CRD,12.5 +VTS,1,6,660,4.8,CRD,15.5 +VTS,1,6,480,1.16,CSH,7 +VTS,1,6,360,1.15,CSH,6 +VTS,1,6,180,0.58,CRD,4.5 +VTS,1,6,600,1.62,CSH,9 +VTS,1,6,1500,7.44,CSH,26.5 +VTS,1,6,1020,8.99,CSH,26 +VTS,1,6,1080,1.62,CSH,12 +VTS,1,6,360,1.23,CSH,6.5 +VTS,1,6,1440,10.44,CSH,31 +VTS,1,6,360,1.16,CRD,6 +VTS,1,6,360,1.4,CSH,6.5 +VTS,1,6,720,2.51,CSH,11 +VTS,1,6,1560,4.41,CRD,20.5 +VTS,1,6,420,1.09,CSH,7 +VTS,1,6,1200,3.43,CRD,15.5 +VTS,1,6,1020,3.01,CSH,13.5 +VTS,1,6,300,0.99,CSH,6 +VTS,1,6,720,2.74,CSH,11.5 +VTS,1,6,360,1.39,CSH,6.5 +VTS,1,6,1380,5.75,CSH,20.5 +VTS,1,6,300,0.89,CSH,5.5 +VTS,1,6,480,1.49,CRD,7.5 +VTS,1,5,480,2.57,CRD,10 +VTS,1,5,360,1.82,CSH,8 +VTS,1,6,300,1.34,CSH,6 +VTS,1,6,540,2.35,CRD,9.5 +VTS,1,6,420,1.4,CRD,7 +VTS,1,6,360,0.88,CSH,6 +VTS,1,6,600,1.42,CSH,8.5 +VTS,1,6,1380,3.44,CSH,17 +VTS,1,6,300,1,CRD,5.5 +VTS,1,6,1020,2.2,CSH,12.5 +VTS,1,6,540,1.82,CSH,8.5 +VTS,1,6,300,0.36,CSH,5 +VTS,1,6,660,3.14,CSH,11 +VTS,1,6,300,1.34,CRD,6 +VTS,1,6,360,1.16,CRD,6.5 +VTS,1,6,180,0.61,CSH,4.5 +VTS,2,6,2160,17.59,CRD,52 +VTS,1,6,360,0.89,CRD,6 +VTS,1,6,1080,2.93,CRD,13.5 +VTS,1,6,1080,2.55,CRD,13 +VTS,1,6,600,1.5,CSH,8.5 +VTS,1,6,240,0.64,CSH,5 +VTS,1,6,300,1.11,CRD,6 +VTS,1,1,120,0.55,CSH,4 +VTS,1,1,360,0.97,CRD,6 +VTS,1,1,240,1.81,CRD,7 +VTS,1,6,240,1.38,CSH,6 +VTS,1,6,180,0.51,CSH,4 +VTS,1,6,900,6.46,CRD,20.5 +VTS,1,6,420,1.04,CRD,6.5 +VTS,1,6,540,1.32,CSH,7.5 +VTS,1,6,480,1.17,CSH,7 +VTS,1,6,540,1.69,CSH,8.5 +VTS,1,6,300,0.63,CRD,5 +VTS,1,6,540,1.76,CSH,8.5 +VTS,1,1,540,2.01,CRD,9 +VTS,1,1,480,2.03,CRD,8.5 +VTS,1,1,180,0.79,CSH,5 +VTS,1,1,840,6.82,CRD,20.5 +VTS,1,6,780,3.2,CRD,13 +VTS,1,6,540,1.45,CRD,8.5 +VTS,1,6,1440,6.13,CSH,22.5 +VTS,1,6,1080,5.41,CRD,19 +VTS,1,6,540,1.93,CSH,8.5 +VTS,1,6,600,2.36,CSH,9.5 +VTS,1,6,540,1.49,CRD,8 +VTS,2,6,3060,20.19,CRD,52 +VTS,1,6,1500,10.39,CRD,31 +VTS,1,6,120,0.44,CRD,4 +CMT,1,1,1022,4.9,CSH,18 +CMT,1,1,1302,10,CSH,29 +CMT,1,1,626,4.1,CRD,14 +CMT,1,1,297,1.3,CRD,6 +CMT,1,1,202,1,CRD,5 +CMT,1,1,752,2.5,CSH,11.5 +VTS,1,1,180,0.68,CRD,4.5 +VTS,1,1,240,0.71,CSH,5 +VTS,1,1,960,2.38,CSH,12 +VTS,1,1,240,0.96,CRD,5.5 +VTS,1,1,1200,0.06,CSH,12 +VTS,1,5,480,1.48,CSH,7 +VTS,5,1,0,11.06,CSH,120 +VTS,1,5,240,1.4,CSH,6.5 +VTS,1,5,180,0.73,CSH,4.5 +VTS,1,5,600,1.35,CRD,8.5 +VTS,1,5,840,2.07,CSH,10.5 +VTS,1,6,360,0.84,CSH,6 +VTS,1,6,780,1.03,CRD,9.5 +VTS,1,6,360,0.92,CRD,6 +VTS,1,6,180,0.46,CSH,4.5 +VTS,1,6,360,0.83,CSH,6 +VTS,1,6,240,0.77,CSH,5 +VTS,1,6,480,1.39,CSH,7.5 +VTS,1,6,480,0.72,CRD,6.5 +VTS,1,6,1560,9.78,CSH,30 +VTS,1,6,240,0.75,CSH,5 +VTS,1,6,540,2.25,CRD,9.5 +VTS,1,6,720,1.13,CRD,8.5 +VTS,1,6,360,0.78,CRD,6 +VTS,1,6,600,1.35,CSH,8.5 +VTS,1,6,600,1.35,CSH,8 +VTS,1,6,480,1.56,CRD,7.5 +VTS,1,6,300,0.67,CRD,5.5 +VTS,1,6,480,0.94,CSH,7 +VTS,1,6,600,1.74,CRD,8.5 +VTS,1,6,360,1.36,CRD,6.5 +VTS,1,6,480,1.07,CSH,7 +VTS,1,6,840,2.09,CRD,11 +VTS,1,6,420,1.12,CRD,6.5 +VTS,1,6,300,1.02,CSH,5.5 +VTS,1,6,300,0.93,CSH,5.5 +VTS,1,6,1740,6.48,CRD,24 +VTS,1,6,360,0.93,CRD,6 +CMT,1,1,320,1.8,CSH,7.5 +CMT,1,1,858,3.7,CRD,14 +CMT,1,1,230,1,CRD,5.5 +CMT,1,1,454,3.5,CRD,11.5 +CMT,2,1,1911,20.4,CRD,52 +CMT,1,1,244,0.8,CRD,5 +CMT,1,1,490,4,CRD,12.5 +CMT,1,1,71,0.5,CSH,3.5 +CMT,1,1,318,0.7,CSH,5.5 +CMT,1,1,256,1.2,CSH,6 +CMT,1,1,597,2.2,CSH,9.5 +CMT,1,1,773,3.2,CSH,12.5 +CMT,1,1,521,1.9,CSH,8.5 +CMT,1,1,220,0.9,CRD,5.5 +CMT,1,1,263,0.8,CSH,5.5 +VTS,1,5,900,2.76,CSH,12.5 +VTS,1,5,960,8.56,CSH,26 +VTS,1,6,120,0.22,CSH,3 +VTS,1,6,360,0.71,CSH,5.5 +VTS,1,6,540,1.55,CSH,8.5 +VTS,1,6,720,2.63,CRD,12 +VTS,1,6,720,1.62,CSH,9.5 +VTS,1,6,240,0.42,CSH,4.5 +VTS,1,6,300,1.17,CSH,6.5 +VTS,1,6,960,3.09,CRD,13 +VTS,1,6,300,1.19,CRD,6 +VTS,1,6,480,1.93,CRD,8.5 +VTS,1,6,660,2.25,CRD,10 +VTS,1,6,360,0.84,CRD,6 +VTS,1,6,480,1.54,CSH,7.5 +VTS,1,6,660,1.93,CSH,9.5 +VTS,1,6,720,1.47,CRD,9.5 +VTS,1,6,480,1.2,CSH,7 +VTS,1,6,840,2.12,CSH,12 +VTS,1,6,420,1.06,CRD,6.5 +VTS,1,6,300,0.8,CRD,5 +VTS,1,6,1080,5.2,CRD,18.5 +VTS,1,6,180,0.73,CRD,5 +VTS,1,6,960,1.51,CSH,11 +VTS,1,6,720,1.51,CRD,9.5 +VTS,1,6,120,0.38,CSH,3.5 +VTS,1,6,120,0.5,CRD,4 +VTS,1,6,540,2.13,CRD,9 +VTS,1,6,600,0.97,CRD,7.5 +VTS,1,6,240,1.02,CSH,5.5 +VTS,1,1,1200,8.19,CRD,25 +VTS,2,1,2220,18.04,CSH,52 +VTS,1,1,540,3.09,CRD,11 +VTS,1,1,240,0.95,CRD,5.5 +VTS,1,1,180,1.18,CSH,5.5 +VTS,1,1,660,3.89,CRD,13 +VTS,1,6,1680,6.86,CRD,24 +VTS,1,6,780,2.57,CSH,12 +VTS,1,6,540,1.67,CRD,8.5 +VTS,1,6,240,0.5,CRD,4.5 +VTS,1,6,180,0.71,CSH,4.5 +VTS,1,6,540,1.35,CSH,7.5 +VTS,1,6,420,0.98,CRD,6.5 +VTS,1,6,780,2.94,CRD,12 +VTS,1,6,600,1.84,CRD,9 +VTS,1,6,540,2.03,CSH,9.5 +VTS,1,6,480,1.77,CSH,8 +VTS,1,6,300,0.71,CSH,5 +VTS,1,6,1080,3.17,CRD,14 +VTS,1,6,600,1.56,CRD,9 +CMT,1,1,455,1.4,CRD,7.5 +CMT,1,1,841,9,CRD,25.5 +CMT,1,1,706,2.6,CSH,11 +CMT,1,1,613,2.7,CRD,11 +CMT,1,1,405,2.1,CRD,8.5 +VTS,1,1,180,1.53,CSH,6 +VTS,1,1,480,1.96,CSH,8.5 +VTS,1,1,540,2.39,CRD,9.5 +VTS,1,1,420,1.94,CRD,8.5 +VTS,1,1,240,0.93,CSH,5.5 +VTS,1,6,540,1.05,CRD,7.5 +VTS,1,6,1320,4.56,CSH,17.5 +VTS,1,6,600,3.36,CRD,12 +VTS,1,6,660,1.12,CRD,8 +VTS,1,6,480,0.93,CRD,7 +VTS,1,6,660,1.31,CSH,8.5 +VTS,1,6,600,1.58,CSH,8.5 +VTS,1,6,360,0.59,CSH,5.5 +VTS,1,6,360,2.11,CRD,8 +CMT,1,1,537,2,CRD,9 +CMT,1,1,441,2,CSH,8.5 +CMT,1,1,470,1.8,CSH,8.5 +CMT,1,1,610,3,CSH,11 +CMT,1,1,1110,2.2,CSH,13 +CMT,1,1,922,2.2,CSH,12 +CMT,1,2,766,5.7,CSH,18 +CMT,1,2,263,0.7,CRD,5.5 +CMT,1,1,1202,9.9,CRD,29.5 +CMT,1,2,668,2.3,CRD,11 +CMT,1,1,457,1.1,CRD,7 +CMT,1,1,350,0.9,CSH,6 +CMT,1,2,966,1.2,CRD,11 +VTS,1,5,480,1.61,CSH,8 +VTS,1,5,240,1.09,CSH,5.5 +VTS,1,5,180,1.17,CRD,5 +VTS,1,5,1260,5.45,CRD,20 +VTS,1,5,720,7.15,CSH,21.5 +VTS,1,5,180,1.55,CSH,6.5 +VTS,1,6,1020,3.38,CSH,14 +VTS,1,6,300,0.92,CSH,5.5 +VTS,1,6,480,1.23,CRD,7 +VTS,1,6,120,0.4,CSH,3.5 +VTS,1,6,540,2.39,CRD,10 +VTS,1,6,540,1.15,CSH,7.5 +VTS,1,6,540,0.72,CSH,7 +VTS,1,6,480,1.59,CRD,7.5 +VTS,1,6,1140,4.26,CRD,16.5 +VTS,1,6,300,0.94,CSH,5.5 +VTS,1,6,420,1.23,CSH,6.5 +VTS,1,6,660,1.36,CRD,8.5 +VTS,1,6,480,0.8,CRD,6.5 +VTS,1,6,300,0.78,CRD,5.5 +VTS,1,6,840,3.17,CRD,13 +VTS,1,6,600,1.74,CSH,9 +VTS,1,6,600,1.06,CRD,8 +VTS,1,6,960,2.49,CSH,12 +VTS,1,6,1080,1.3,CRD,12 +VTS,1,6,480,1.71,CSH,8 +VTS,1,6,1320,3.62,CSH,17 +CMT,1,1,732,8.1,CRD,23.5 +CMT,1,1,1811,3.9,CSH,2.5 +CMT,1,1,249,1,CSH,5.5 +CMT,1,1,553,1.5,CSH,8 +CMT,1,1,107,0.6,CSH,4 +CMT,1,1,544,1.6,CSH,8 +CMT,1,1,405,1,CRD,6.5 +CMT,1,1,933,8,CRD,24 +CMT,1,2,565,1.6,CRD,8.5 +CMT,1,1,481,2.1,CSH,9 +CMT,1,1,296,0.8,CRD,5.5 +CMT,1,2,807,4.9,CSH,16.5 +CMT,1,4,1167,6.8,CSH,23 +CMT,1,2,233,0.9,CSH,5.5 +CMT,1,2,408,2,CSH,8 +CMT,1,1,610,0.8,CSH,7.5 +CMT,1,2,237,0.6,CSH,5 +CMT,1,3,481,2.8,CRD,10 +CMT,1,3,440,1.4,CSH,7.5 +CMT,1,1,559,3.3,CSH,12 +CMT,1,1,398,1.6,CSH,8 +CMT,1,2,809,3,CRD,13 +CMT,1,2,743,1.3,CSH,9.5 +CMT,1,3,364,0.7,CSH,5.5 +CMT,1,1,1291,5.7,CSH,20.5 +CMT,1,1,938,2.2,CSH,12 +VTS,1,6,240,0.68,CRD,5 +VTS,1,6,960,4.18,CRD,16 +VTS,1,6,360,1.81,CSH,7.5 +VTS,1,6,900,3.2,CSH,13.5 +VTS,1,6,900,2.92,CSH,12.5 +VTS,1,6,1080,5.1,CRD,18.5 +VTS,1,6,660,2.41,CSH,10 +VTS,1,6,1380,10.39,CRD,30.5 +VTS,1,6,780,5.08,CSH,16 +VTS,1,6,540,2.21,CSH,9 +VTS,1,6,300,0.91,CSH,5.5 +VTS,1,6,780,2.36,CRD,11 +VTS,1,6,300,1.03,CRD,5.5 +CMT,1,1,2014,6.2,CSH,25.5 +CMT,1,1,691,2.7,CSH,11 +CMT,1,1,269,0.7,CRD,5 +CMT,1,1,242,0.7,CRD,5 +CMT,1,1,89,0.5,CSH,3.5 +CMT,1,1,806,5.6,CSH,18.5 +CMT,1,1,970,5,CSH,16.5 +CMT,1,1,521,2.7,CSH,10.5 +CMT,1,1,239,0.8,CRD,5 +CMT,1,1,85,0.5,CSH,3.5 +CMT,1,1,440,1.5,CSH,7.5 +CMT,1,1,460,1.2,CSH,7 +CMT,1,1,688,1.9,CSH,10 +VTS,1,1,720,4.41,CRD,14.5 +VTS,1,1,240,1.52,CSH,6.5 +VTS,1,1,480,2.4,CSH,10 +VTS,1,1,1140,11.81,CSH,33 +VTS,1,6,300,1.87,CRD,8 +VTS,1,6,360,2.85,CRD,9.5 +VTS,1,6,600,1.44,CSH,9 +VTS,1,6,540,1.36,CSH,7.5 +VTS,1,6,540,1.98,CRD,9 +VTS,1,6,660,2.68,CRD,10.5 +VTS,1,6,240,1.16,CSH,5.5 +VTS,1,6,660,2.81,CRD,10.5 +VTS,1,6,240,1.07,CRD,5.5 +VTS,1,6,300,0.51,CSH,5 +CMT,1,1,252,0.7,CSH,5 +CMT,1,1,613,1.9,CRD,9.5 +CMT,1,1,454,1.9,CRD,8.5 +CMT,1,1,287,1.3,CSH,6 +CMT,1,1,167,0.4,CSH,4 +CMT,1,1,509,1.4,CSH,8 +CMT,1,3,417,1.3,CRD,7 +CMT,1,4,516,1.2,CSH,7.5 +CMT,1,2,662,2.2,CSH,10.5 +CMT,1,2,537,1.2,CSH,7.5 +CMT,1,2,342,1.2,CSH,6.5 +CMT,1,2,415,1.3,CRD,7 +CMT,1,2,298,1.4,CSH,6.5 +CMT,1,2,806,3,CRD,12.5 +CMT,1,1,321,1.1,CRD,6 +CMT,1,2,1126,6.2,CSH,20.5 +CMT,1,1,2423,2.4,CRD,11.5 +CMT,1,2,1137,3.6,CSH,16.5 +CMT,1,1,407,1.2,CRD,6.5 +CMT,1,4,172,0.6,CSH,4.5 +CMT,1,1,153,0.7,CSH,4.5 +CMT,1,1,781,5.5,CSH,18 +CMT,1,2,455,1.4,CRD,7.5 +CMT,1,1,496,3.3,CSH,11.5 +CMT,1,2,717,2.2,CRD,10.5 +CMT,1,3,710,2.9,CSH,11.5 +CMT,1,3,390,0.7,CSH,6 +CMT,1,2,409,1.8,CSH,8 +CMT,1,1,932,3.3,CRD,14.5 +CMT,1,2,285,0.6,CSH,5 +CMT,1,4,831,1.9,CRD,10.5 +CMT,1,2,387,1.5,CRD,7 +CMT,1,2,884,3.7,CRD,14 +CMT,1,1,423,1.3,CRD,7 +CMT,1,1,765,1.7,CSH,10 +CMT,1,1,1480,5.2,CSH,20 +CMT,1,1,535,2.3,CRD,9.5 +CMT,1,2,256,0.9,CSH,5.5 +CMT,1,4,685,2.9,CSH,12 +VTS,1,6,540,1.25,CRD,7.5 +VTS,1,6,1140,2.01,CSH,13 +VTS,1,6,660,2.62,CRD,11 +VTS,1,6,360,0.73,CSH,5.5 +VTS,1,6,960,3.37,CRD,13.5 +VTS,1,6,1380,3.23,CRD,16 +VTS,1,6,360,0.92,CRD,6 +VTS,1,6,300,1.04,CSH,5.5 +VTS,1,1,960,5.4,CRD,18.5 +VTS,1,1,600,1.8,CRD,9 +VTS,1,6,480,1.37,CSH,7.5 +VTS,1,6,600,1.45,CRD,8.5 +VTS,1,6,420,1.46,CSH,7.5 +VTS,1,6,180,0.54,CSH,4.5 +VTS,1,6,240,0.63,CSH,4.5 +VTS,1,6,360,1.51,CSH,7 +VTS,1,6,120,0.35,CSH,3.5 +VTS,1,6,1440,5.27,CSH,19.5 +VTS,1,6,420,1.49,CRD,7.5 +VTS,1,6,660,1.84,CSH,9.5 +VTS,1,6,120,0.64,CRD,4 +VTS,1,6,540,1.65,CRD,8.5 +VTS,1,6,600,1.94,CRD,9 +VTS,1,6,300,1.83,CSH,7 +VTS,1,6,540,1.58,CSH,8 +VTS,1,6,540,2.04,CRD,9 +VTS,1,6,1440,9.65,CRD,29.5 +VTS,1,6,360,1.57,CSH,7.5 +CMT,1,1,1076,5.2,CSH,18.5 +CMT,1,1,524,2,CRD,9 +CMT,1,1,807,4.1,CSH,14 +CMT,1,1,92,0.5,CSH,3.5 +CMT,1,1,189,1.1,CSH,5.5 +CMT,1,1,354,1.9,CRD,7.5 +CMT,1,1,734,2.9,CRD,12 +CMT,1,1,449,1.8,CSH,8 +CMT,1,1,534,1.2,CSH,7.5 +CMT,1,1,587,1.1,CRD,8 +CMT,1,1,212,0.9,CRD,5 +CMT,1,2,195,0.8,CSH,5 +CMT,1,1,2426,10.5,CRD,37.5 +CMT,1,2,510,2.4,CSH,9.5 +CMT,2,1,1925,20.5,CRD,52 +CMT,1,1,800,4.1,CRD,14.5 +CMT,1,2,103,0.3,CSH,3.5 +CMT,1,1,214,0.7,CRD,4.5 +CMT,1,1,465,1.9,CRD,8.5 +CMT,1,4,798,2.4,CSH,11.5 +CMT,1,1,308,0.9,CRD,6 +CMT,1,1,716,3.1,CRD,12.5 +CMT,1,1,961,3.4,CRD,14 +CMT,1,2,712,2.1,CSH,10 +CMT,1,1,934,6.3,CSH,20 +VTS,1,6,780,2.89,CRD,12.5 +VTS,1,6,600,1.79,CRD,9 +VTS,1,6,540,2.4,CRD,9.5 +VTS,1,6,900,2.73,CRD,12.5 +VTS,1,6,480,1.47,CRD,7.5 +VTS,1,6,180,0.28,CSH,3.5 +VTS,1,6,180,0.64,CRD,4.5 +VTS,1,6,480,1.2,CRD,7.5 +VTS,1,6,1020,1.38,CRD,11.5 +VTS,1,6,300,1.21,CSH,6.5 +VTS,1,6,120,0.79,CSH,4.5 +VTS,1,6,300,0.82,CSH,5.5 +VTS,1,6,840,2.29,CRD,11.5 +VTS,1,6,360,1.23,CRD,6.5 +VTS,1,6,360,1.35,CRD,6.5 +VTS,1,6,420,2.46,CSH,9 +VTS,1,6,240,0.4,CRD,4 +VTS,1,6,240,0.77,CRD,5 +VTS,1,6,540,0.47,CSH,7 +VTS,2,1,2100,17.65,CSH,52 +VTS,1,1,180,0.69,CSH,4.5 +VTS,1,1,1440,6.32,CRD,22.5 +VTS,1,1,600,4.12,CRD,13.5 +VTS,1,1,420,3.21,CRD,10.5 +VTS,1,1,720,4.29,CSH,14 +VTS,3,6,1800,18.05,CSH,66.5 +VTS,1,6,180,0.84,CRD,4.5 +VTS,1,6,660,3.24,CSH,11.5 +CMT,1,1,353,1.1,CSH,6.5 +CMT,1,1,424,0.9,CSH,6.5 +CMT,1,1,138,0.7,CSH,4 +CMT,1,1,441,1.2,CSH,7 +CMT,1,1,536,2.1,CRD,9 +CMT,1,1,489,2.6,CSH,9.5 +CMT,1,2,549,1.9,CRD,9 +CMT,1,1,1372,11,CRD,31.5 +CMT,1,1,680,2.9,CSH,11.5 +CMT,1,2,316,1.2,CSH,6 +CMT,1,4,789,3,CSH,13 +CMT,1,2,125,0.4,CSH,3.5 +CMT,1,2,1117,6.7,CRD,22.5 +CMT,1,2,309,0.6,CSH,5 +CMT,1,1,204,0.6,CSH,4.5 +CMT,1,1,201,1,CSH,5 +CMT,1,1,744,3,CSH,12 +CMT,1,1,994,5.8,CSH,19.5 +CMT,1,1,816,3.7,CRD,13.5 +CMT,1,1,318,1.2,CRD,6.5 +CMT,1,2,813,2.6,CRD,12 +CMT,1,1,808,1.3,CRD,9.5 +CMT,1,2,167,0.5,CRD,4 +CMT,1,4,357,0.9,CSH,6 +CMT,1,2,667,2.3,CRD,10.5 +CMT,1,2,272,0.6,CRD,5 +CMT,1,1,268,0.6,CRD,5 +CMT,1,1,616,2.1,CRD,9.5 +CMT,1,1,156,0.9,CRD,4.5 +CMT,1,4,235,0.5,CSH,4.5 +CMT,1,3,522,1.1,CRD,7.5 +CMT,1,1,242,0.9,CRD,5.5 +CMT,1,3,742,2.9,CRD,12 +CMT,1,2,278,1.2,CSH,6 +CMT,1,1,499,1.3,CSH,7.5 +CMT,1,1,515,2.1,CSH,9.5 +CMT,1,2,784,1.5,CRD,10 +CMT,1,1,981,2.7,CSH,13 +CMT,1,1,2077,7.5,CSH,27.5 +CMT,2,2,1701,17.3,CSH,52 +CMT,1,1,1127,2.1,CRD,13 +CMT,1,1,767,1.9,CRD,10 +CMT,1,2,656,1.9,CSH,9.5 +CMT,1,1,771,1.6,CSH,10 +CMT,1,1,718,1.9,CSH,10 +CMT,1,2,266,1.1,CRD,5.5 +CMT,1,4,171,0.9,CSH,4.5 +CMT,1,1,868,3.3,CRD,13.5 +CMT,1,1,686,1.9,CRD,10 +CMT,1,1,385,1,CRD,6.5 +CMT,1,2,199,0.7,CSH,5 +CMT,1,1,871,2.3,CRD,11 +CMT,1,1,197,0.5,CRD,4.5 +CMT,1,1,269,1,CSH,5.5 +CMT,1,1,885,2.6,CSH,12.5 +CMT,1,1,358,1.3,CSH,7 +CMT,1,1,236,0.9,CSH,5.5 +CMT,1,1,351,0.9,CRD,6 +CMT,1,1,360,1.6,CRD,7 +CMT,1,1,754,2.5,CSH,11 +CMT,1,1,1628,5.2,CSH,21.5 +CMT,1,2,120,0.3,CRD,3.5 +CMT,1,2,542,2.8,CSH,10 +CMT,1,2,1206,3.9,CSH,17 +CMT,1,1,609,2.4,CSH,10.5 +CMT,1,1,1227,8.4,CRD,26.5 +CMT,1,1,728,4,CSH,14 +CMT,1,1,315,1.2,CSH,6 +CMT,1,1,1414,4.7,CRD,20 +CMT,1,1,207,0.6,CRD,4.5 +CMT,1,2,339,1.6,CSH,7.5 +CMT,1,2,409,0.7,CSH,6 +CMT,1,1,404,1.7,CSH,7.5 +CMT,1,2,172,0.7,CSH,4.5 +CMT,1,3,789,6.6,CSH,21 +CMT,1,3,1494,8.5,CRD,28 +CMT,1,2,3770,13.4,CRD,47 +CMT,1,1,1267,4.4,CRD,18.5 +CMT,1,1,937,8.2,CRD,24.5 +CMT,1,1,906,1.2,CRD,11 +CMT,1,1,648,2.2,CRD,10 +CMT,1,1,487,1.1,CRD,7.5 +CMT,1,1,777,3.9,CRD,14 +CMT,1,1,520,1.8,CRD,8.5 +CMT,1,1,133,0.7,CRD,4 +CMT,1,1,1567,8.6,CRD,29 +CMT,1,2,1412,5.5,CRD,20.5 +CMT,1,1,649,2.6,CRD,10.5 +CMT,1,1,532,1.8,CSH,8.5 +CMT,1,1,380,1,CSH,6.5 +CMT,1,1,225,1.1,CRD,5.5 +CMT,1,1,2236,8.1,CRD,31.5 +CMT,1,1,814,4.2,CSH,15 +CMT,1,4,437,1.8,CSH,8 +CMT,1,3,220,0.4,CSH,4.5 +CMT,1,3,1016,2.7,CSH,13.5 +CMT,1,3,145,0.4,CSH,4 +CMT,1,1,835,3.2,CRD,13.5 +CMT,1,1,1481,7.2,CRD,25 +CMT,1,1,201,0.7,CSH,4.5 +CMT,1,1,1334,5.7,CSH,21.5 +CMT,1,1,1284,2.2,CSH,15 +CMT,1,2,295,0.7,CRD,5.5 +CMT,1,1,968,2.3,CSH,12.5 +CMT,1,2,2018,10.2,CRD,35 +CMT,1,1,878,4.6,CSH,16.5 +CMT,1,1,978,4.9,CRD,17.5 +CMT,1,2,523,2.2,CRD,9 +CMT,1,1,560,1,CRD,7.5 +CMT,1,1,604,1.9,CSH,9 +CMT,1,1,460,1.1,CSH,7.5 +CMT,1,1,1037,2.7,CSH,13.5 +CMT,1,1,502,1,CRD,7 +CMT,1,1,412,1.3,CRD,7 +CMT,1,1,756,4.6,CRD,15.5 +CMT,1,2,673,1.5,CRD,9 +CMT,1,2,677,1.7,CSH,9 +CMT,1,1,250,0.7,CRD,5 +CMT,1,2,871,6.3,CRD,20 +CMT,1,2,281,0.7,CSH,5 +CMT,1,1,154,0.6,CSH,4.5 +CMT,1,1,650,2,CRD,10.5 +CMT,1,1,755,2.1,CSH,10.5 +CMT,1,1,839,4.5,CSH,15 +CMT,1,2,563,2.3,CRD,10 +CMT,1,1,373,1.1,CSH,6.5 +CMT,1,1,162,0.6,CRD,4 +CMT,1,2,404,1,CSH,6.5 +CMT,1,1,855,3.4,CSH,13.5 +CMT,1,1,692,1.8,CRD,9.5 +CMT,1,1,438,1.9,CSH,8.5 +CMT,1,2,745,3,CRD,12 +CMT,1,1,776,2.7,CRD,11 +CMT,1,1,277,0.8,CSH,5 +CMT,1,2,693,3.9,CSH,13.5 +CMT,1,1,414,2,CSH,8.5 +CMT,1,1,924,1.6,CRD,11.5 +CMT,1,1,252,0.8,CRD,5 +CMT,1,1,913,4.6,CRD,16.5 +CMT,1,2,676,2.4,CRD,10.5 +CMT,1,2,290,0.6,CSH,5.5 +CMT,1,2,486,2.8,CRD,10 +CMT,1,1,329,0.4,CSH,5 +CMT,1,1,1104,4.5,CRD,17 +CMT,1,4,746,2.6,CRD,12 +CMT,1,1,652,3.3,CSH,12 +CMT,1,4,761,1,CRD,9.5 +CMT,1,1,207,0.7,CRD,5 +CMT,1,1,1234,4.7,CRD,19 +CMT,1,1,152,0.4,CSH,4 +CMT,1,2,835,6.4,CRD,20 +CMT,1,1,926,3.4,CRD,14 +CMT,1,1,922,6.3,CRD,20.5 +CMT,1,2,1093,4.6,CRD,17.5 +CMT,1,2,923,3.5,CRD,14 +CMT,1,1,284,1.1,CRD,5.5 +CMT,1,1,1295,4.1,CSH,17.5 +CMT,1,4,748,5.4,CSH,17 +CMT,1,2,359,0.7,CRD,6 +CMT,1,3,264,1.1,CSH,5.5 +CMT,1,2,369,0.4,CRD,5.5 +CMT,1,1,387,0.9,CSH,6 +CMT,1,2,394,1.3,CSH,7 +CMT,1,1,384,0.8,CRD,6 +CMT,1,3,665,3,CSH,12 +CMT,1,1,424,1,CRD,6.5 +CMT,1,3,379,0.8,CRD,6 +CMT,1,1,601,1.9,CRD,9.5 +CMT,1,1,581,2.5,CRD,10.5 +CMT,1,3,755,2.1,CRD,10.5 +CMT,1,1,526,1.4,CSH,7.5 +CMT,1,2,1236,4.9,CRD,18.5 +CMT,1,1,680,2,CRD,10 +CMT,1,2,678,1.6,CRD,9 +CMT,1,1,728,2,CRD,10 +CMT,1,2,283,0.7,CSH,5.5 +CMT,1,3,818,4.6,CRD,15.5 +CMT,1,1,786,2.5,CSH,11.5 +CMT,1,1,1361,4.6,CSH,19 +CMT,1,1,688,4.1,CRD,14.5 +CMT,1,1,1004,3.7,CSH,15 +CMT,1,2,486,1.5,CSH,8 +CMT,1,2,118,0.4,CRD,3.5 +CMT,1,2,592,2.9,CRD,11.5 +CMT,1,1,289,0.7,CRD,5.5 +CMT,1,1,742,3,CRD,12 +CMT,1,2,332,0.9,CRD,6 +CMT,1,1,273,0.6,CSH,5 +CMT,1,1,343,1.6,CSH,7 +CMT,1,1,902,8.8,CRD,24.5 +CMT,1,2,661,2.9,CSH,11 +CMT,1,2,405,1,CRD,6.5 +CMT,1,2,251,0.6,CRD,5 +CMT,1,1,490,1,CSH,7 +CMT,1,1,584,2.2,CRD,9.5 +CMT,1,2,270,1,CRD,5.5 +CMT,1,1,425,0.8,CSH,6.5 +CMT,1,1,317,1.1,CSH,6.5 +CMT,1,1,1125,4.1,CRD,18 +CMT,1,1,227,0.7,CRD,5 +CMT,1,1,383,0.9,CRD,6.5 +CMT,1,1,576,1.8,CRD,8.5 +CMT,1,2,1406,8,CSH,26.5 +CMT,1,1,816,2.3,CRD,11.5 +CMT,1,2,635,1.4,CRD,8.5 +CMT,1,2,1313,4.7,CRD,19 +CMT,1,1,255,0.7,CRD,5 +CMT,1,1,1607,8.7,CRD,29 +CMT,1,1,452,2.2,CRD,8.5 +CMT,1,1,1093,2.9,CRD,14 +CMT,1,1,1555,7.4,CRD,25 +CMT,1,1,1227,2,CRD,14 +CMT,1,1,678,3.3,CSH,12 +CMT,1,1,625,2.8,CSH,11 +CMT,1,1,440,1.9,CRD,8 +CMT,1,2,575,3.1,CRD,12 +CMT,1,2,388,0.7,CRD,6 +CMT,1,2,1394,6.8,CRD,22.5 +CMT,1,4,775,3.3,CRD,12.5 +CMT,1,2,400,2.2,CRD,8.5 +CMT,1,1,604,1.1,CRD,8 +CMT,1,1,628,1.8,CSH,9.5 +CMT,1,1,862,3.8,CRD,14.5 +CMT,1,2,955,3.5,CSH,14 +CMT,1,2,442,0.9,CRD,6.5 +CMT,1,1,326,0.7,CRD,5.5 +CMT,1,1,277,0.5,CRD,5 +CMT,1,1,646,1.5,CSH,9 +CMT,1,2,1178,4,CRD,16 +CMT,1,2,1472,10.3,CRD,31 +CMT,1,1,317,0.8,CSH,6 +CMT,1,1,449,1.3,CRD,7 +CMT,1,1,223,0.6,CRD,4.5 +CMT,1,1,671,3.4,CRD,12 +CMT,1,1,809,1.8,CSH,10.5 +CMT,1,1,529,1.1,CSH,7.5 +CMT,1,2,1220,5.1,CRD,19 +CMT,1,1,750,1.9,CRD,10 +CMT,1,2,510,1.2,CRD,7.5 +CMT,1,1,457,1.6,CSH,8 +CMT,1,1,423,2.3,CRD,9 +CMT,1,4,418,1.9,CSH,8 +CMT,1,2,251,0.7,CRD,5 +CMT,1,3,510,1.4,CSH,8 +CMT,1,1,734,2.5,CSH,11 +CMT,1,1,268,0.6,CSH,5 +CMT,1,2,644,3.3,CSH,12.5 +CMT,1,3,290,0.8,CRD,5.5 +CMT,1,1,265,0.8,CSH,5.5 +CMT,1,1,236,0.8,CRD,5 +CMT,1,1,181,1.1,CRD,5 +CMT,1,1,371,0.9,CRD,6 +CMT,1,1,810,3,CSH,12 +CMT,1,2,1271,3.4,CRD,16 +CMT,1,1,435,1.2,CSH,7 +CMT,1,2,1571,4.4,CSH,19 +CMT,1,1,1292,4.9,CSH,20 +CMT,1,3,646,2.3,CRD,10.5 +CMT,1,1,914,1.5,CRD,10.5 +CMT,1,1,118,0.5,CSH,4 +CMT,1,1,533,1.4,CRD,7.5 +CMT,1,2,688,2.2,CRD,10.5 +CMT,1,2,411,1.7,CRD,8 +CMT,1,1,366,0.8,CSH,6 +CMT,1,1,966,2.2,CRD,12 +CMT,1,1,385,0.8,CSH,6 +CMT,1,1,2044,9.4,CSH,31.5 +CMT,1,1,343,1.1,CSH,6 +CMT,1,2,261,0.8,CRD,5 +CMT,1,1,457,1.2,CRD,7.5 +CMT,1,1,407,1.3,CRD,7 +CMT,1,1,718,2.5,CRD,11 +CMT,1,2,954,2.9,CSH,12.5 +CMT,1,1,340,0.8,CRD,6 +CMT,1,2,1174,9.3,CSH,28.5 +CMT,1,1,260,0.5,CRD,5 +CMT,1,2,305,0.7,CSH,5.5 +CMT,1,2,914,2.6,CRD,12.5 +CMT,1,1,587,2.3,CRD,10 +CMT,1,1,155,0.5,CSH,4 +CMT,1,1,539,1.4,CRD,8 +CMT,1,1,237,1.2,CRD,5.5 +CMT,1,1,325,1.1,CSH,6.5 +CMT,1,2,870,2.4,CSH,11.5 +CMT,1,2,1340,5.9,CSH,21.5 +CMT,1,1,953,6.5,CRD,21 +VTS,1,6,120,0.31,CSH,3.5 +VTS,1,6,300,0.72,CRD,5.5 +VTS,1,6,480,1.34,CRD,7.5 +VTS,1,6,480,0.9,CRD,6.5 +VTS,1,6,420,0.84,CSH,6.5 +VTS,1,6,360,0.98,CSH,6 +VTS,1,6,420,1.14,CRD,6.5 +VTS,1,6,300,1.07,CRD,6 +VTS,1,6,840,2.39,CRD,11.5 +CMT,1,1,853,4.6,CRD,15.5 +CMT,1,1,277,0.6,CSH,5 +CMT,1,1,257,0.9,CRD,5.5 +CMT,1,1,974,6.6,CSH,21 +CMT,1,1,353,1,CSH,6.5 +CMT,1,1,349,1.1,CRD,6.5 +CMT,1,1,543,2.1,CRD,9.5 +CMT,1,1,348,2.2,CRD,8.5 +CMT,1,1,486,1.2,CSH,7.5 +CMT,1,1,486,1.9,CSH,8.5 +CMT,1,1,516,1.4,CSH,8 +CMT,1,1,655,2.2,CSH,10 +CMT,1,1,627,1.4,CRD,8.5 +CMT,1,1,143,0.5,CSH,4 +CMT,1,2,115,0.6,CRD,4 +CMT,1,1,456,2.8,CRD,10 +CMT,1,1,764,5.2,CRD,17 +CMT,1,1,677,3.5,CSH,12.5 +CMT,1,1,679,2.8,CRD,11.5 +CMT,1,1,508,2.6,CSH,10 +CMT,1,2,562,1.7,CRD,9.5 +CMT,1,2,246,0.7,CSH,5 +CMT,1,1,357,1.2,CSH,7 +CMT,1,1,134,0.4,CSH,3.5 +CMT,1,2,826,2.6,CSH,12 +CMT,1,2,743,2.6,CSH,11 +CMT,1,1,166,0.5,CSH,4 +CMT,1,2,265,1,CSH,5.5 +CMT,1,1,1135,5.2,CRD,19 +CMT,1,1,548,2.9,CRD,11 +CMT,1,1,616,2.5,CSH,10 +CMT,1,1,532,1.9,CSH,9 +CMT,1,1,1260,6.2,CSH,21 +CMT,1,1,223,0.7,CSH,4.5 +CMT,1,1,98,0.2,CRD,3 +CMT,1,1,1320,6.5,CRD,22.5 +CMT,1,1,549,3,CSH,11.5 +CMT,1,3,551,1.9,CSH,8.5 +CMT,1,2,1302,6.5,CRD,21.5 +CMT,1,1,204,0.9,CRD,5 +CMT,1,1,823,2.3,CSH,11 +CMT,1,1,491,1.5,CRD,7.5 +CMT,1,1,951,3.1,CRD,14 +CMT,1,2,410,1.2,CRD,7 +CMT,1,1,924,1.8,CSH,11 +CMT,1,1,774,5.2,CSH,17.5 +CMT,1,1,1229,8.4,CRD,26.5 +CMT,1,1,651,2.2,CRD,10 +CMT,1,2,652,3.5,CSH,12 +CMT,1,1,249,1,CSH,5.5 +CMT,1,2,461,3.2,CRD,10.5 +CMT,1,4,283,1.1,CSH,6 +CMT,1,1,1624,5.8,CRD,23 +CMT,1,1,927,3.9,CRD,14.5 +CMT,1,1,576,2.6,CRD,10.5 +CMT,1,1,275,0.8,CSH,5 +CMT,1,1,187,0.7,CSH,4.5 +CMT,1,1,172,0.4,CSH,4 +CMT,1,1,455,1.7,CSH,8.5 +CMT,1,2,1169,3.2,CRD,16 +CMT,1,3,1178,4.7,CRD,18.5 +CMT,1,1,396,0.9,CSH,6 +CMT,1,1,1055,2.9,CRD,13.5 +CMT,1,1,439,2.1,CSH,9 +CMT,1,1,435,0.8,CSH,6 +CMT,1,1,639,1.4,CSH,9 +CMT,1,1,217,0.8,CSH,5 +CMT,1,1,78,0.3,CRD,3 +CMT,1,1,159,0.3,CRD,4 +CMT,1,1,1327,3.9,CRD,17 +CMT,1,1,512,1.3,CSH,7.5 +CMT,1,2,1196,5.2,CRD,19.5 +CMT,1,1,1226,1.5,CRD,13.5 +CMT,1,3,1453,3.6,CSH,17 +CMT,1,1,417,1.3,CRD,7 +CMT,1,1,447,1.6,CRD,8 +CMT,1,1,759,2.6,CSH,11.5 +CMT,1,1,598,1,CSH,8 +CMT,1,1,315,0.7,CRD,5.5 +CMT,1,1,818,2.5,CSH,11.5 +CMT,1,1,716,3.3,CRD,13 +CMT,1,1,902,2.4,CRD,12 +CMT,1,1,1960,5.3,CRD,24 +CMT,1,2,831,2.2,CSH,11 +CMT,1,2,1233,6.5,CRD,22.5 +CMT,1,4,696,2.6,CRD,11 +CMT,1,2,632,1.6,CRD,9 +CMT,1,4,1177,3.7,CSH,16 +CMT,1,1,968,4.7,CSH,17.5 +CMT,1,1,1071,6.3,CRD,20.5 +CMT,1,1,523,1.6,CRD,8 +CMT,1,1,359,1.1,CRD,6 +CMT,1,3,369,1.6,CRD,7.5 +CMT,1,1,739,1.8,CRD,9.5 +CMT,1,1,456,1.8,CSH,8.5 +CMT,1,1,713,2.1,CSH,10.5 +CMT,1,4,257,0.6,CSH,4.5 +CMT,1,1,387,1.1,CSH,6.5 +CMT,1,1,595,1.4,CSH,8.5 +CMT,1,1,512,1.9,CSH,8.5 +CMT,1,2,766,2.6,CRD,11.5 +CMT,1,3,377,0.9,CSH,6 +CMT,1,1,837,2.9,CSH,13 +CMT,1,1,444,1.9,CRD,8.5 +CMT,1,2,703,2.3,CRD,10.5 +CMT,1,1,529,1.8,CSH,8.5 +CMT,1,1,623,2.4,CSH,10 +CMT,1,2,285,0.7,CRD,5 +CMT,1,2,343,0.9,CRD,6 +CMT,1,2,308,0.8,CRD,5.5 +CMT,1,2,746,3.9,CRD,14.5 +CMT,1,1,370,1.7,CRD,7.5 +CMT,1,1,502,1.8,CRD,8.5 +CMT,1,1,1274,4,CRD,17 +CMT,1,1,976,4,CSH,15.5 +CMT,1,1,429,1.7,CRD,8 +CMT,1,1,810,2.4,CSH,11.5 +CMT,1,2,950,4.6,CRD,17 +CMT,1,2,658,1.3,CSH,9 +CMT,1,2,268,0.6,CRD,5 +CMT,1,2,348,0.2,CRD,5 +CMT,1,1,1227,6.2,CRD,21.5 +CMT,1,2,453,1.3,CRD,7.5 +CMT,1,1,358,1,CSH,6 +CMT,1,2,529,1.9,CSH,8 +CMT,1,2,876,3,CSH,13 +CMT,1,3,396,0.8,CSH,6 +CMT,1,1,599,3,CRD,11.5 +CMT,1,2,496,1.6,CRD,8 +CMT,1,2,587,2,CRD,9 +CMT,1,1,370,1.5,CRD,7 +CMT,1,2,947,3.7,CRD,14 +CMT,1,1,547,3.2,CSH,11 +CMT,1,1,855,5.7,CRD,18.5 +CMT,1,1,544,1.9,CRD,8.5 +CMT,1,1,98,0.6,CSH,4 +CMT,1,1,116,0.6,CRD,4.5 +CMT,1,1,969,1.4,CSH,11.5 +CMT,1,4,357,1,CRD,6.5 +CMT,1,2,1021,5.3,CRD,19 +CMT,1,1,2921,4.4,CRD,29 +CMT,1,4,519,1.4,CSH,7.5 +CMT,1,1,386,1,CSH,6 +CMT,1,2,137,0.4,CRD,4 +CMT,1,2,991,5.4,CRD,18 +CMT,1,1,492,1.1,CRD,7.5 +CMT,1,2,1556,5.8,CRD,22.5 +CMT,1,1,196,0.2,CSH,4 +CMT,1,1,331,0.7,CRD,5.5 +CMT,1,1,391,1.2,CSH,6.5 +CMT,1,1,771,1.8,CSH,10 +CMT,1,2,339,1.1,CRD,6 +CMT,1,1,462,1.2,CRD,7.5 +CMT,1,1,421,1.1,CRD,7 +CMT,1,2,1066,3.9,CRD,15.5 +CMT,1,1,1270,2.5,CRD,13.5 +CMT,1,2,1610,3.9,CSH,18 +CMT,1,4,642,0.9,CSH,8 +CMT,1,2,410,1.8,CRD,8 +CMT,1,1,1899,13.1,CRD,38 +CMT,1,3,1476,9.1,CRD,29 +CMT,1,1,622,2,CRD,9 +CMT,1,3,455,1.4,CSH,7 +CMT,1,1,94,0.5,CRD,3.5 +CMT,1,2,247,0.6,CSH,5 +CMT,1,2,537,1.4,CSH,8 +CMT,1,1,78,0.2,CRD,3 +CMT,1,1,728,1.8,CRD,10 +CMT,1,1,989,4.4,CSH,17 +CMT,1,2,717,3.1,CRD,12 +CMT,1,1,357,1.3,CRD,6.5 +CMT,1,2,344,1.4,CSH,7 +CMT,1,3,790,2,CSH,10.5 +CMT,1,1,301,0.6,CSH,5 +CMT,1,1,252,1,CSH,6 +CMT,1,2,200,0.5,CSH,4.5 +CMT,1,1,1411,5.9,CSH,22 +CMT,1,1,471,0.9,CSH,7 +CMT,1,1,369,1,CSH,6.5 +CMT,1,1,431,2.3,CSH,9 +CMT,1,1,328,0.3,CSH,5 +CMT,1,2,455,0.9,CRD,7 +CMT,1,1,605,2,CSH,9 +CMT,1,3,378,1.6,CSH,7.5 +CMT,1,2,1445,3.4,CRD,17.5 +CMT,1,1,2497,17.5,CRD,51.5 +CMT,1,1,645,1.3,CSH,8 +CMT,1,3,767,2.1,CRD,10.5 +CMT,1,4,457,0.4,CRD,6 +CMT,1,3,593,3.3,CRD,11.5 +CMT,1,2,826,3.6,CRD,13.5 +CMT,1,1,807,2,CRD,10.5 +CMT,1,3,947,1,CSH,10.5 +CMT,1,2,373,1.3,CRD,6.5 +CMT,1,3,398,1.7,CSH,7.5 +CMT,1,2,270,0.9,CRD,5.5 +CMT,1,1,902,1.9,CSH,11 +CMT,1,3,376,0.5,CSH,5.5 +CMT,1,1,518,1.4,CRD,8 +CMT,1,1,828,3.3,CRD,13 +CMT,1,1,393,1.5,CRD,7 +CMT,1,2,469,1.8,CRD,8 +CMT,1,2,333,0.8,CSH,5.5 +CMT,1,1,427,1.5,CSH,7.5 +CMT,1,1,542,2.5,CRD,10 +CMT,1,1,1654,14.3,CRD,40.5 +CMT,1,2,666,2,CRD,10.5 +CMT,1,1,809,4.6,CRD,15.5 +CMT,1,2,1187,5.3,CSH,20 +CMT,1,1,393,1.8,CRD,8 +CMT,1,1,1210,4.5,CRD,18 +CMT,1,1,600,0.6,CSH,7.5 +CMT,1,2,245,0.5,CSH,4.5 +CMT,1,1,234,0.7,CRD,5 +CMT,1,2,167,0.9,CRD,5 +CMT,1,2,336,1,CRD,6.5 +CMT,1,1,1221,9,CRD,27.5 +CMT,1,3,654,3.6,CSH,13.5 +CMT,1,1,777,1.6,CRD,9.5 +CMT,1,1,667,1.5,CSH,9 +CMT,1,2,423,0.6,CSH,6 +CMT,1,2,1209,3.7,CSH,16 +CMT,1,3,317,0.7,CRD,5.5 +CMT,1,2,330,0.9,CRD,5.5 +CMT,1,2,512,1.7,CSH,8.5 +CMT,1,2,588,0.9,CSH,7.5 +CMT,1,1,1301,5.3,CSH,20 +CMT,1,1,359,1.5,CRD,7 +CMT,1,3,215,0.9,CRD,5.5 +CMT,1,1,605,1.6,CSH,9 +CMT,1,1,635,1.3,CRD,8.5 +CMT,1,1,1589,4.3,CSH,20 +CMT,5,1,38,0,CRD,82 +CMT,1,2,2148,6,CSH,26.5 +CMT,1,1,125,0.3,CRD,3.5 +CMT,1,3,228,0.6,CRD,4.5 +CMT,1,2,552,1.8,CRD,8.5 +CMT,1,2,917,4.5,CRD,16.5 +CMT,1,1,335,0.6,CRD,5.5 +CMT,1,2,340,1.2,CSH,6.5 +CMT,1,1,437,1.2,CSH,7 +CMT,1,1,1564,7.5,CRD,25.5 +CMT,1,1,470,2.6,CRD,10.5 +CMT,1,1,671,1.9,CSH,9.5 +CMT,1,1,362,1.9,CRD,7.5 +CMT,1,1,808,4.6,CRD,15 +CMT,1,1,974,7.5,CSH,22.5 +CMT,1,1,582,1.6,CSH,8.5 +CMT,1,1,830,2.5,CSH,11.5 +CMT,1,1,999,2.2,CSH,12.5 +CMT,1,2,1012,2.3,CRD,12.5 +CMT,1,1,426,1.9,CSH,8 +CMT,1,2,940,3.9,CRD,15.5 +CMT,1,2,621,2.4,CRD,10 +CMT,1,1,212,0.8,CSH,5 +CMT,1,4,1727,13.3,CSH,39 +CMT,1,1,960,2.1,CRD,12 +CMT,1,2,1096,3.7,CRD,15.5 +CMT,1,1,119,0.7,CSH,4 +CMT,1,2,557,1.5,CSH,8 +CMT,1,1,335,0.9,CSH,6 +CMT,1,1,933,6,CRD,19.5 +CMT,1,1,451,1.1,CSH,7 +CMT,1,1,155,0.5,CSH,4 +CMT,1,1,738,2,CRD,10.5 +CMT,1,1,476,1.4,CRD,7.5 +CMT,1,2,358,0.7,CRD,6 +CMT,1,2,503,2.3,CRD,9.5 +CMT,1,1,523,1.6,CSH,8.5 +CMT,1,1,548,1.8,CRD,9 +CMT,1,1,110,0.7,CSH,4 +CMT,1,1,432,1.4,CRD,7 +CMT,1,1,530,1.4,CSH,8 +CMT,1,1,1096,9.2,CSH,27 +CMT,1,2,460,1.3,CRD,7.5 +CMT,1,2,886,2.8,CSH,12 +CMT,1,1,529,2.1,CSH,9.5 +CMT,1,1,301,0.5,CSH,4 +CMT,1,2,395,0.7,CSH,6 +CMT,1,3,505,0.9,CSH,7 +CMT,1,2,489,1.2,CRD,7.5 +CMT,1,1,1133,9.2,CRD,28 +CMT,1,2,1455,3.8,CSH,17.5 +CMT,1,3,255,0.7,CRD,4.5 +CMT,1,1,329,1,CRD,6 +CMT,1,2,391,0.9,CSH,6.5 +CMT,1,2,1487,2.9,CSH,16.5 +CMT,1,2,715,1.7,CSH,9.5 +CMT,1,1,726,3.7,CSH,14 +CMT,1,2,1448,3.4,CSH,16.5 +CMT,1,1,481,0.8,CRD,6.5 +CMT,1,1,547,3.7,CRD,12.5 +CMT,1,2,733,2.9,CRD,11.5 +CMT,1,4,403,1.2,CRD,7 +CMT,1,1,1040,3.3,CRD,14 +CMT,1,1,346,1.1,CSH,6 +CMT,1,1,472,2.2,CSH,9 +CMT,1,1,206,0.3,CRD,4 +CMT,1,2,936,1.5,CSH,10.5 +CMT,1,1,238,0.4,CSH,4.5 +CMT,1,1,579,1.4,CRD,8.5 +CMT,1,1,379,1,CRD,6 +CMT,1,1,372,1.2,CSH,6.5 +CMT,1,2,487,0.7,CRD,6.5 +CMT,1,2,803,2.2,CRD,11 +CMT,1,1,108,0.3,CSH,3.5 +CMT,1,2,1265,6.8,CSH,23.5 +CMT,1,2,455,1.3,CRD,7.5 +CMT,1,1,2709,14.6,CRD,45 +CMT,1,1,323,1,CRD,6 +CMT,1,3,570,3,CRD,10.5 +CMT,1,2,180,0.6,CSH,4.5 +CMT,1,1,530,1.2,CRD,7.5 +CMT,1,2,469,3,CRD,10.5 +CMT,1,4,604,2.2,CRD,9.5 +CMT,1,2,107,0.3,CSH,3.5 +CMT,1,2,285,0.8,CRD,5 +CMT,1,4,1037,2.4,CSH,12.5 +CMT,1,1,530,2.9,CRD,10 +CMT,1,1,172,0.6,CSH,4.5 +CMT,1,1,215,1,CRD,5.5 +CMT,1,1,359,1.7,CRD,7 +CMT,1,2,804,2.2,CSH,11 +CMT,1,2,479,5.1,CRD,15.5 +CMT,1,1,216,0.5,CSH,4.5 +CMT,1,2,308,0.6,CRD,5 +CMT,1,1,400,1.1,CRD,6.5 +CMT,1,1,1893,11.6,CRD,36.5 +CMT,1,2,118,0.7,CRD,4 +CMT,1,1,878,2.9,CRD,12 +CMT,1,1,268,0.6,CSH,5 +CMT,1,1,364,1.2,CSH,6.5 +CMT,1,1,1044,2.9,CRD,14 +CMT,1,1,544,2.3,CRD,9.5 +CMT,1,1,456,2.9,CRD,10 +CMT,1,2,297,1,CRD,6 +CMT,1,2,424,1.6,CRD,7.5 +CMT,1,4,670,3.2,CSH,12 +CMT,1,1,492,1.7,CRD,8 +CMT,1,1,371,1.7,CSH,7.5 +CMT,1,2,1136,4.7,CSH,18 +CMT,1,1,737,1.7,CSH,9.5 +CMT,1,1,291,0.7,CSH,5 +CMT,1,1,1048,4.2,CRD,16.5 +CMT,1,2,769,3.2,CRD,13 +CMT,1,1,307,2,CRD,7.5 +CMT,1,2,716,3.3,CRD,12.5 +CMT,1,1,639,1.5,CSH,8.5 +CMT,1,2,214,0.4,CSH,4.5 +CMT,1,1,553,1.6,CRD,8.5 +CMT,1,2,482,0.8,CRD,7 +CMT,1,2,509,1.6,CSH,8 +CMT,1,2,494,1.4,CSH,8 +CMT,1,1,106,0.3,CRD,3.5 +CMT,1,1,209,0.9,CRD,5 +CMT,1,1,419,0.7,CRD,6 +CMT,1,1,843,2,CSH,10.5 +CMT,1,2,730,2.2,CSH,10 +CMT,1,2,1100,3.2,CSH,14 +CMT,1,1,217,0.9,CSH,5 +CMT,1,2,1028,3.5,CRD,14.5 +CMT,1,2,906,3.2,CRD,13.5 +CMT,1,2,588,1,CSH,8 +CMT,1,1,762,1.7,CSH,10.5 +CMT,1,1,189,0.8,CSH,5 +CMT,1,1,310,1,CSH,6 +CMT,1,1,318,0.9,CSH,5.5 +CMT,1,1,529,1.5,CSH,8.5 +CMT,1,1,320,1.2,CSH,6 +CMT,1,1,675,1.8,CRD,9 +CMT,1,2,534,1.7,CRD,8 +CMT,1,1,218,1.7,CRD,6.5 +CMT,1,1,897,8.2,CRD,23.5 +CMT,1,1,115,0.5,CSH,3.5 +CMT,1,2,644,2,CRD,9.5 +CMT,2,1,1767,17.2,CRD,52 +CMT,1,1,1218,7.5,CSH,2.5 +CMT,1,2,118,0.5,CSH,4 +CMT,1,1,227,0.9,CSH,5 +CMT,1,1,478,1.4,CSH,7.5 +CMT,1,1,539,1.6,CSH,8 +CMT,1,1,957,3.8,CRD,14.5 +CMT,1,1,829,2.5,CRD,11.5 +CMT,1,1,973,4.3,CSH,15 +CMT,1,1,191,0.9,CRD,5 +CMT,1,1,186,0.8,CRD,5 +CMT,1,1,392,1.1,CSH,6.5 +CMT,1,1,847,2.3,CSH,12 +CMT,1,1,309,0.6,CSH,5.5 +CMT,1,4,686,1.6,CRD,9.5 +CMT,1,4,767,2.4,CSH,10.5 +CMT,1,1,608,2.8,CRD,10.5 +CMT,1,3,488,1.9,CSH,8.5 +CMT,1,4,25,0,CSH,2.5 +CMT,1,1,1479,9.3,CRD,30 +CMT,1,1,1042,6.6,CRD,21 +CMT,1,1,565,2.4,CRD,9.5 +CMT,1,1,411,1.8,CSH,8 +CMT,1,1,126,0.3,CSH,3.5 +CMT,1,1,377,1,CRD,6 +CMT,1,4,168,0.5,CSH,4.5 +CMT,1,1,294,0.9,CSH,5.5 +CMT,1,1,467,0.9,CRD,7 +CMT,1,1,175,0.6,CSH,4.5 +CMT,1,1,350,1.2,CSH,6.5 +CMT,1,2,1158,3.3,CSH,15.5 +CMT,1,1,808,2.1,CRD,11 +CMT,1,2,900,3.9,CSH,15 +CMT,1,1,1422,5.8,CRD,20.5 +CMT,1,3,239,1.1,CSH,5.5 +CMT,1,1,961,2.5,CRD,12 +CMT,1,1,1266,3.8,CRD,17 +CMT,1,1,1139,9.5,CRD,27.5 +CMT,1,1,354,1.5,CRD,7 +CMT,1,1,201,0.6,CSH,4.5 +CMT,1,1,444,1.7,CRD,7.5 +CMT,1,2,710,1.1,CRD,8.5 +CMT,1,4,791,2.6,CRD,12 +CMT,1,1,623,2.8,CRD,10.5 +CMT,1,1,341,1.2,CRD,6 +CMT,1,1,261,0.3,CSH,4.5 +CMT,1,1,419,0.9,CRD,6.5 +CMT,1,1,1051,2.7,CRD,13.5 +CMT,1,2,638,1.2,CSH,8.5 +CMT,1,2,931,2.6,CSH,12.5 +CMT,2,4,2153,19.1,CRD,52 +CMT,1,1,294,1,CSH,6 +CMT,1,2,260,1.8,CSH,7 +CMT,1,1,843,5.1,CRD,17 +CMT,1,1,609,3.3,CRD,12 +CMT,1,3,189,0.3,CRD,4 +CMT,1,1,142,0.5,CSH,4 +CMT,1,3,782,2.4,CRD,11 +CMT,1,2,711,2.7,CRD,11.5 +CMT,1,1,252,0.8,CSH,5 +CMT,1,1,737,2.4,CRD,10.5 +CMT,1,1,1228,8.3,CRD,25.5 +CMT,1,1,2714,17.7,CRD,52.5 +CMT,1,1,432,1.1,CSH,7 +CMT,1,2,273,1,CSH,5.5 +CMT,1,3,665,1.9,CSH,9.5 +CMT,1,1,389,1.3,CRD,7 +CMT,1,1,793,2.8,CRD,12 +CMT,1,4,255,0.6,CRD,5 +CMT,1,1,777,2.2,CRD,11 +CMT,1,1,551,0.7,CSH,7.5 +CMT,1,2,405,0.9,CRD,6 +CMT,1,3,317,1.1,CSH,6 +CMT,1,1,937,9,CSH,26 +CMT,1,1,557,1.4,CRD,8 +CMT,1,1,217,0.6,CRD,4.5 +CMT,1,1,333,1.4,CRD,6.5 +CMT,1,1,278,1.7,CSH,7 +CMT,1,3,695,2.3,CSH,10 +CMT,1,2,448,1.3,CRD,7.5 +CMT,1,2,1001,3.8,CSH,15.5 +CMT,1,1,386,1.2,CSH,7 +CMT,1,1,648,1.5,CRD,9 +CMT,1,1,322,0.7,CRD,5.5 +CMT,1,1,544,2.5,CRD,10.5 +CMT,1,1,306,1.2,CSH,6.5 +CMT,1,1,546,1.4,CRD,8 +CMT,1,1,248,0.6,CSH,5 +CMT,1,2,329,0.9,CRD,6 +CMT,1,1,854,2.3,CRD,11.5 +CMT,1,1,266,0.9,CRD,5.5 +CMT,1,1,626,1.7,CRD,9 +CMT,1,1,117,0.5,CRD,4 +CMT,1,1,808,2.7,CSH,11 +CMT,1,2,139,0.3,CRD,3.5 +CMT,1,2,1600,5.1,CRD,20.5 +CMT,1,1,865,3.4,CSH,13.5 +CMT,1,2,1095,4.8,CRD,18 +CMT,1,1,773,3.1,CSH,12 +CMT,1,1,733,2.3,CRD,10.5 +CMT,1,1,154,0.3,CSH,4 +CMT,1,1,358,1.2,CSH,6.5 +CMT,1,4,192,0.4,CSH,4 +CMT,1,2,358,1.5,CSH,7 +CMT,1,2,276,1,CSH,5.5 +CMT,1,3,418,1.5,CRD,7 +CMT,1,1,769,2.3,CRD,11 +CMT,1,2,842,5.7,CSH,18.5 +CMT,1,1,241,1,CRD,5.5 +CMT,1,1,1242,4.8,CSH,18 +CMT,1,1,866,7.4,CRD,22.5 +CMT,1,2,252,0.5,CSH,4.5 +CMT,1,2,115,0.4,CRD,3.5 +CMT,1,1,1519,8.3,CRD,27.5 +CMT,1,1,272,0.6,CRD,5 +CMT,1,1,531,1.3,CSH,8 +CMT,1,1,261,0.4,CRD,4.5 +CMT,1,1,303,0.6,CRD,5.5 +CMT,1,1,273,0.6,CSH,5 +CMT,1,4,1603,3.5,CRD,18.5 +CMT,1,1,1326,4.4,CSH,18.5 +CMT,1,1,687,2.1,CSH,9.5 +CMT,1,1,360,1.4,CSH,7 +CMT,1,1,483,1.4,CRD,7.5 +CMT,1,1,295,0.7,CRD,5 +CMT,1,1,639,2.7,CRD,11 +CMT,1,2,768,3.7,CSH,14 +CMT,1,1,288,1,CSH,6 +CMT,1,1,1148,10.3,CRD,29 +CMT,1,1,363,1.4,CRD,7 +CMT,1,1,1121,7.3,CRD,23.5 +CMT,1,1,886,2.4,CSH,12 +CMT,1,1,450,1.1,CRD,6.5 +CMT,1,1,528,1.1,CSH,7.5 +CMT,1,2,695,1.6,CSH,9.5 +CMT,1,1,178,0.5,CRD,4 +CMT,1,2,548,2.5,CSH,9.5 +CMT,1,1,545,1,CRD,7.5 +CMT,1,1,1104,6.8,CRD,21 +CMT,1,1,343,2.2,CSH,8.5 +CMT,1,2,247,0.7,CSH,5 +CMT,1,1,336,1.7,CRD,7.5 +CMT,1,1,745,3.2,CSH,12.5 +CMT,1,1,150,0.3,CSH,4 +CMT,1,1,490,3.5,CSH,12 +CMT,1,1,628,1.1,CSH,8.5 +CMT,1,1,608,1.3,CRD,8 +CMT,1,1,1027,2.4,CSH,13.5 +CMT,1,1,1493,6.2,CRD,23.5 +CMT,1,1,369,0.6,CSH,6 +CMT,1,1,382,1.5,CSH,7 +CMT,1,1,749,2.5,CRD,12 +CMT,1,1,1343,8.1,CRD,25.5 +CMT,1,1,762,1.7,CRD,10 +CMT,1,1,642,0.9,CSH,8 +CMT,1,2,451,1.3,CSH,7 +CMT,1,1,933,4.8,CRD,17 +CMT,1,1,1215,2.2,CSH,13.5 +CMT,1,1,233,0.8,CRD,5 +CMT,1,1,73,0.3,CSH,3.5 +CMT,1,2,932,1.9,CSH,11.5 +CMT,1,1,303,1.1,CRD,6 +CMT,1,1,803,3.9,CSH,14.5 +CMT,1,1,288,0.6,CSH,5 +CMT,1,1,203,0.4,CRD,4 +CMT,1,1,300,1.1,CSH,6 +CMT,1,1,270,0.6,CSH,5 +CMT,1,1,1032,1.8,CSH,12 +CMT,1,1,606,1.5,CRD,9 +CMT,1,1,1095,3.5,CSH,15 +CMT,1,2,554,1.9,CSH,9 +CMT,1,2,540,2.7,CRD,10 +CMT,1,2,608,1.7,CSH,9 +CMT,1,1,778,3.7,CSH,13.5 +CMT,1,1,1053,4.5,CRD,16.5 +CMT,1,1,584,3.6,CSH,13 +CMT,1,1,388,2,CRD,8 +CMT,1,1,439,1.1,CRD,7 +CMT,1,2,155,0.9,CRD,5 +CMT,1,1,836,2.1,CRD,11.5 +CMT,1,1,340,2.5,CRD,9 +CMT,1,1,1751,5.3,CRD,22.5 +CMT,1,1,1026,4.4,CRD,16 +CMT,1,1,1133,8.2,CRD,25.5 +CMT,1,1,711,3.9,CRD,13.5 +CMT,1,1,442,1.7,CRD,8 +CMT,1,1,1085,6.6,CRD,21.5 +CMT,1,1,1408,8.6,CSH,27.5 +CMT,1,1,476,1.5,CSH,7.5 +CMT,1,1,840,4.8,CRD,16.5 +CMT,1,1,892,3.1,CRD,13 +CMT,1,1,830,5,CSH,17.5 +CMT,1,1,418,0.9,CRD,6.5 +CMT,1,1,396,1.3,CRD,7 +CMT,1,1,460,1.1,CSH,7.5 +CMT,1,1,855,2.4,CRD,11.5 +CMT,1,2,1269,2.4,CSH,14.5 +CMT,1,1,847,1.7,CSH,10.5 +CMT,1,2,120,0.7,CSH,4.5 +CMT,1,1,890,2.7,CSH,12.5 +CMT,1,4,552,1.4,CSH,8 +CMT,1,1,583,2,CRD,9 +CMT,1,3,775,2.5,CRD,11.5 +CMT,1,2,923,2,CSH,11.5 +CMT,1,1,1054,4.8,CSH,17 +CMT,1,1,745,1.9,CRD,10 +CMT,1,1,343,0.9,CRD,6 +CMT,1,1,558,1.7,CSH,8.5 +CMT,1,1,621,1.3,CSH,8.5 +CMT,1,1,399,1.3,CRD,7 +CMT,1,1,587,1.8,CRD,9 +CMT,1,1,580,0.8,CRD,7.5 +CMT,1,1,271,0.6,CSH,5 +CMT,1,1,483,1.3,CRD,7.5 +CMT,1,2,446,0.9,CSH,6.5 +CMT,1,2,398,0.6,CSH,6 +CMT,1,1,1195,6.3,CRD,22 +CMT,1,1,254,1.1,CSH,5.5 +CMT,1,4,1183,4.3,CRD,17 +CMT,1,1,748,2.6,CRD,11 +CMT,1,1,524,1.5,CRD,8 +CMT,5,1,1429,5.7,CRD,25 +CMT,1,1,406,1.3,CRD,7.5 +CMT,1,1,1255,4.9,CRD,19.5 +CMT,1,1,240,0.5,CSH,5 +CMT,1,1,481,1.7,CSH,8 +CMT,1,1,193,0.5,CRD,4 +CMT,1,1,554,2.2,CRD,9.5 +CMT,1,2,405,1.2,CRD,6.5 +CMT,1,1,448,1.5,CSH,7.5 +CMT,1,1,469,1.4,CSH,7.5 +CMT,1,1,420,0.8,CRD,6.5 +CMT,1,1,1255,2.7,CRD,15 +CMT,1,1,1234,5.8,CRD,19.5 +CMT,1,2,238,1,CRD,5.5 +CMT,1,2,522,2.2,CSH,9.5 +CMT,1,3,335,1.5,CSH,7 +CMT,1,3,639,1.5,CSH,8.5 +CMT,1,2,363,0.9,CRD,6 +CMT,1,2,922,4.7,CSH,16.5 +CMT,1,2,493,1.4,CRD,7.5 +CMT,1,2,1217,4.1,CSH,16.5 +CMT,1,2,668,2.6,CRD,11 +CMT,1,2,323,1.3,CRD,6.5 +CMT,1,1,314,0.8,CRD,5.5 +CMT,1,1,1055,5.1,CRD,18 +CMT,1,1,552,2.8,CRD,10.5 +CMT,1,1,1311,5,CRD,19 +CMT,1,1,1142,5.1,CSH,18.5 +CMT,1,2,500,1.5,CRD,8 +CMT,1,2,797,2.9,CSH,12.5 +CMT,1,1,210,1.5,CRD,6 +CMT,1,1,901,4.1,CRD,14.5 +CMT,1,1,920,0.7,CRD,10 +CMT,1,1,313,0.7,CSH,5.5 +CMT,1,2,335,1.4,CSH,7 +CMT,1,2,306,1.3,CRD,6.5 +CMT,1,1,411,0.9,CSH,6.5 +CMT,1,1,357,1,CSH,6 +CMT,1,2,217,0.6,CRD,4.5 +CMT,1,1,767,6.3,CRD,19.5 +CMT,1,1,204,0.5,CRD,4.5 +CMT,1,1,415,1.7,CSH,8 +CMT,1,1,468,1.4,CSH,7.5 +CMT,1,1,125,0.5,CSH,3.5 +CMT,1,1,614,3.1,CRD,11.5 +CMT,1,1,418,1.5,CSH,7.5 +CMT,1,1,359,1.2,CSH,6.5 +CMT,1,1,256,0.4,CRD,4.5 +CMT,1,1,434,1.7,CRD,8 +CMT,1,1,413,2,CRD,8 +CMT,1,1,330,1,CSH,6 +CMT,1,1,534,2.3,CRD,9.5 +CMT,1,1,1000,2.5,CSH,12.5 +CMT,1,1,939,1.6,CRD,11 +CMT,1,1,105,0.3,CSH,3.5 +CMT,1,1,741,1.8,CRD,10.5 +CMT,1,1,371,1.2,CRD,6.5 +CMT,1,1,1702,5.8,CRD,22.5 +CMT,1,1,1178,4.8,CSH,17.5 +CMT,1,1,774,2.1,CSH,11 +CMT,1,1,356,0.5,CSH,5.5 +CMT,1,2,315,1.8,CSH,7 +CMT,1,1,500,1.7,CRD,8.5 +CMT,1,1,1761,10,CRD,32 +CMT,1,1,740,3.8,CRD,13 +CMT,1,1,871,3.6,CRD,14 +CMT,1,2,704,3.1,CRD,12.5 +CMT,1,1,453,1.3,CSH,7 +CMT,1,1,278,1,CRD,6 +CMT,1,1,689,7.5,CSH,21 +CMT,1,1,1031,3.3,CRD,14 +CMT,1,1,441,0.9,CSH,6.5 +CMT,1,1,651,2.3,CRD,10.5 +CMT,1,1,539,2.1,CRD,9.5 +CMT,1,1,825,1.1,CRD,9.5 +CMT,1,1,170,0.7,CRD,4.5 +CMT,1,4,1438,3.6,CSH,18 +CMT,1,1,421,1.5,CRD,7.5 +CMT,1,1,2142,6.5,CRD,27 +CMT,1,1,697,2.3,CSH,11 +CMT,1,1,1109,1.8,CSH,12.5 +CMT,1,1,1235,5.8,CSH,21 +CMT,1,1,397,0.5,CRD,5.5 +CMT,1,1,251,0.6,CRD,5 +CMT,1,1,865,3.1,CRD,12.5 +CMT,1,1,923,5.9,CRD,19 +CMT,1,1,300,0.6,CSH,5 +CMT,1,1,475,1.2,CRD,7 +CMT,1,1,871,4.1,CSH,14 +CMT,1,1,364,1.1,CSH,6.5 +CMT,1,1,748,1.9,CRD,10 +CMT,1,1,950,1.5,CSH,11.5 +CMT,1,1,524,1.5,CSH,8.5 +CMT,1,1,1267,2.4,CSH,14 +CMT,1,1,865,2.7,CRD,12.5 +CMT,1,1,535,1.5,CRD,8.5 +CMT,1,1,388,1,CSH,6.5 +CMT,1,2,277,1.4,CRD,6 +CMT,1,1,509,1,CRD,7.5 +CMT,1,1,1045,9.3,CRD,27 +CMT,1,1,165,0.7,CSH,4.5 +CMT,1,1,272,0.6,CRD,5 +CMT,1,1,865,2.1,CRD,11 +CMT,1,1,382,0.5,CSH,6 +CMT,1,2,296,1,CRD,5.5 +CMT,1,2,437,1.3,CRD,7 +CMT,1,1,732,4,CRD,14 +CMT,1,1,295,0.8,CRD,5.5 +CMT,1,1,275,0.8,CSH,5.5 +CMT,1,1,610,1.6,CSH,9 +CMT,1,1,2049,10.6,CRD,34 +CMT,1,1,1730,1.7,CSH,17.5 +CMT,1,1,126,0.4,CRD,3.5 +CMT,1,1,138,0.4,CSH,3.5 +CMT,1,2,987,1.9,CRD,12 +CMT,1,1,543,2.1,CSH,9 +CMT,1,1,576,1.8,CRD,9 +CMT,1,1,578,2,CSH,9 +CMT,1,1,1060,2,CRD,12 +CMT,1,1,683,0.8,CSH,8.5 +CMT,1,1,503,1,CRD,7.5 +CMT,1,1,596,0.7,CRD,7.5 +CMT,1,1,533,1.4,CRD,8 +CMT,1,2,450,0.8,CRD,6.5 +CMT,1,1,653,3.4,CSH,12.5 +CMT,1,1,588,3.3,CRD,12 +CMT,1,1,807,1.7,CRD,10 +CMT,1,2,815,2.4,CSH,11.5 +CMT,1,1,584,1.5,CRD,8.5 +CMT,1,2,296,0.6,CRD,5.5 +CMT,1,1,718,3.9,CRD,13.5 +CMT,1,1,987,2.6,CRD,13.5 +CMT,1,1,1110,1.1,CRD,12 +CMT,1,1,663,1.2,CRD,8.5 +CMT,1,1,799,2.4,CRD,11 +CMT,1,1,359,1.2,CRD,6.5 +CMT,1,2,837,2.1,CRD,11 +CMT,1,1,555,1.9,CRD,9 +CMT,1,1,1083,3.3,CRD,14.5 +CMT,1,2,384,1,CSH,6.5 +CMT,1,2,638,1.3,CRD,8 +CMT,1,1,140,0.8,CSH,4.5 +CMT,1,1,1749,11.8,CRD,36.5 +CMT,1,1,184,0.7,CRD,4.5 +CMT,4,1,241,0.6,CSH,4.5 +CMT,1,1,874,1.6,CRD,10.5 +CMT,1,1,471,1.4,CSH,7.5 +CMT,1,2,471,1.3,CSH,7.5 +CMT,1,1,409,0.8,CRD,6 +CMT,1,1,297,1.1,CSH,6 +CMT,1,1,305,1.1,CRD,6 +CMT,1,1,875,3.4,CRD,13.5 +CMT,1,1,438,1.1,CRD,6.5 +CMT,1,1,408,0.9,CRD,6.5 +CMT,1,1,1092,6.1,CSH,21 +CMT,1,1,1914,8.3,CSH,29.5 +CMT,1,1,841,2.5,CRD,12 +CMT,1,1,392,0.9,CSH,6.5 +CMT,1,1,726,2,CRD,10 +CMT,1,1,562,2.1,CRD,10 +CMT,1,1,691,1.9,CSH,9.5 +CMT,1,1,1583,2.6,CRD,17.5 +CMT,1,1,805,3.4,CRD,12.5 +CMT,1,1,312,0.8,CRD,5.5 +CMT,1,1,328,1.1,CSH,6.5 +CMT,1,1,483,1.5,CRD,8 +CMT,1,1,678,2.5,CRD,10 +CMT,1,1,742,3,CRD,12.5 +CMT,1,2,405,1,CRD,6.5 +CMT,1,1,1273,4.8,CSH,18.5 +CMT,1,1,800,1.8,CSH,10.5 +CMT,1,1,1456,5.9,CRD,22.5 +CMT,1,2,518,2.1,CRD,9 +CMT,1,1,378,1.2,CRD,6.5 +CMT,1,1,708,1.8,CRD,9.5 +CMT,1,1,73,0.4,CSH,3.5 +CMT,1,1,602,1.1,CRD,8 +CMT,1,1,65,0.3,CSH,3 +CMT,1,1,1504,1.6,CSH,15.5 +CMT,1,1,228,0.8,CRD,5 +CMT,1,1,473,1.3,CRD,7.5 +CMT,1,1,250,0.7,CRD,5 +CMT,1,1,818,1.4,CSH,10 +CMT,1,1,280,1,CRD,6 +CMT,1,1,158,0.4,CRD,4 +CMT,1,1,418,1.3,CSH,7 +CMT,1,2,500,1.7,CRD,8 +CMT,1,1,157,0.7,CSH,4.5 +CMT,1,1,483,0.3,CSH,6.5 +CMT,1,1,835,6.8,CSH,20.5 +CMT,1,1,356,1.1,CSH,6.5 +CMT,1,1,633,2.5,CRD,10 +CMT,1,1,237,1,CSH,5.5 +CMT,1,1,631,1.5,CSH,9 +CMT,1,1,1530,5.2,CRD,22.5 +CMT,1,1,715,1.6,CSH,9.5 +CMT,1,1,1201,4.6,CSH,17.5 +CMT,1,1,732,1.4,CSH,9.5 +CMT,1,1,2508,21.4,CSH,58.5 +CMT,1,1,803,5.7,CSH,18.5 +CMT,1,1,1055,4.9,CRD,17.5 +CMT,1,1,1140,6.6,CRD,22 +CMT,1,2,473,1,CSH,7 +CMT,1,1,79,0.4,CSH,3.5 +CMT,1,1,462,1.2,CRD,7.5 +CMT,1,1,751,4.3,CRD,15 +CMT,1,1,375,0.6,CSH,6 +CMT,1,1,197,0.8,CRD,5 +CMT,1,1,373,0.7,CRD,5.5 +CMT,1,1,726,1.9,CSH,10 +CMT,1,1,159,0.9,CSH,4.5 +CMT,1,1,708,2.4,CSH,10.5 +CMT,1,2,418,1,CRD,6.5 +CMT,1,1,789,3,CSH,12.5 +CMT,1,1,328,0.9,CSH,6 +CMT,1,1,1111,7,CSH,23 +CMT,1,1,263,1,CSH,5.5 +CMT,1,1,583,2.2,CRD,9.5 +CMT,1,1,1368,15.9,CRD,42 +CMT,2,2,2869,18.9,CSH,52 +CMT,1,1,716,2.5,CRD,11 +CMT,1,1,316,0.8,CRD,5.5 +CMT,1,2,891,2.2,CRD,12 +CMT,1,2,441,0.8,CRD,6.5 +CMT,1,2,1016,3,CRD,14 +CMT,1,1,444,0.9,CSH,6.5 +CMT,1,1,1165,4.8,CSH,18.5 +CMT,1,1,555,1,CRD,7.5 +CMT,1,1,539,0.8,CSH,7.5 +CMT,1,2,565,1.6,CRD,8.5 +CMT,1,1,673,3.5,CSH,12.5 +CMT,1,1,568,1.2,CRD,8 +CMT,1,1,443,0.8,CSH,6.5 +CMT,1,1,227,0.6,CRD,4.5 +CMT,1,1,70,0.1,CSH,3 +CMT,1,1,219,0.7,CSH,4.5 +CMT,1,1,127,0.7,CSH,4.5 +CMT,1,1,222,1.1,CSH,5.5 +CMT,1,1,1285,5.6,CRD,20.5 +CMT,1,1,227,0.9,CRD,5 +CMT,1,1,411,1.4,CRD,7.5 +CMT,1,1,1042,2.2,CSH,12.5 +CMT,1,1,1364,2.6,CRD,16 +CMT,1,1,141,0.7,CSH,4 +CMT,1,2,409,0.9,CRD,6.5 +CMT,1,1,390,1.6,CSH,7.5 +CMT,1,1,1002,2.3,CSH,12.5 +CMT,1,1,769,2.3,CRD,11 +CMT,1,1,350,1.8,CSH,7.5 +CMT,1,1,618,2,CRD,9 +CMT,1,1,544,1.3,CSH,8 +CMT,1,1,702,1.9,CRD,10 +CMT,1,1,764,2,CRD,11 +CMT,1,1,622,1.5,CRD,8.5 +CMT,1,2,1110,3,CSH,14 +CMT,1,1,299,1.2,CSH,6.5 +CMT,1,1,700,1.9,CRD,10 +CMT,1,1,672,2,CRD,9.5 +CMT,1,1,263,0.9,CSH,5 +CMT,1,1,495,1.6,CSH,8 +CMT,1,1,1371,3.5,CRD,17 +CMT,1,1,515,1.2,CRD,8 +CMT,1,1,837,2.7,CSH,12 +CMT,1,1,852,3.8,CSH,14.5 +CMT,1,1,789,2.4,CSH,11 +CMT,1,2,144,0.6,CRD,4 +CMT,1,1,211,0.8,CSH,5 +CMT,1,1,626,1.4,CRD,8.5 +CMT,1,1,336,0.6,CSH,5.5 +CMT,1,1,1120,4.8,CSH,18 +CMT,1,1,666,1.1,CRD,8.5 +CMT,1,1,270,0.5,CRD,5 +CMT,1,1,972,2.4,CSH,12.5 +CMT,1,1,1194,3.6,CRD,15.5 +CMT,1,1,599,1.1,CSH,8 +CMT,1,1,387,0.9,CRD,6 +CMT,1,4,1103,3.7,CSH,16.5 +CMT,1,2,331,1.1,CRD,6 +CMT,1,1,323,0.6,CSH,5.5 +CMT,1,1,168,0.2,CSH,3.5 +CMT,1,1,961,6.6,CSH,21.5 +CMT,1,1,65,0.3,CRD,3 +CMT,1,2,548,1.7,CSH,8.5 +CMT,1,1,408,1,CSH,6 +CMT,1,1,182,0.6,CRD,4.5 +CMT,1,1,367,0.7,CSH,6 +CMT,1,2,313,0.7,CSH,5.5 +CMT,1,1,254,0.8,CRD,5.5 +CMT,1,1,152,0.5,CRD,4 +CMT,1,2,788,5.5,CSH,17.5 +CMT,1,2,816,5.2,CRD,17.5 +CMT,1,1,796,3.9,CRD,14 +CMT,1,1,391,1.5,CSH,7.5 +CMT,1,1,383,0.5,CRD,5.5 +CMT,1,2,228,0.7,CSH,5 +CMT,1,1,791,2.5,CSH,11.5 +CMT,1,2,240,0.6,CRD,5 +CMT,1,1,1330,10.4,CRD,31.5 +CMT,1,1,622,1.2,CSH,8.5 +CMT,1,1,501,0.8,CSH,7 +CMT,1,1,1124,1.7,CRD,13 +CMT,1,1,499,1.8,CSH,8.5 +CMT,1,1,1113,5.4,CSH,19 +CMT,1,1,779,2,CRD,11 +CMT,1,1,708,1.4,CSH,9 +CMT,1,1,605,2.2,CRD,9.5 +CMT,1,2,803,4.6,CRD,16 +CMT,1,1,889,2.2,CRD,11.5 +CMT,1,1,698,1.4,CSH,9 +CMT,1,1,321,0.8,CRD,5.5 +CMT,1,1,703,1.2,CRD,9 +CMT,1,1,431,1.9,CSH,8.5 +CMT,1,1,963,2.9,CSH,13 +CMT,1,1,749,4.1,CSH,14.5 +CMT,1,1,1025,5.9,CRD,19.5 +CMT,1,1,866,1.6,CSH,10.5 +CMT,1,1,476,1.9,CRD,8.5 +CMT,1,1,372,1.3,CRD,7 +CMT,1,1,482,1.5,CSH,7.5 +CMT,1,1,424,1,CRD,7 +CMT,1,1,961,6.8,CRD,21.5 +CMT,1,1,987,2.8,CRD,13 +CMT,1,1,492,1,CRD,7 +CMT,1,1,480,1.7,CSH,8 +CMT,4,1,995,7.4,CRD,23 +CMT,1,1,504,1.2,CRD,7.5 +CMT,1,1,328,0.9,CSH,5.5 +CMT,1,1,186,1,CRD,5 +CMT,1,3,262,0.6,CSH,5 +CMT,1,1,1247,5.4,CSH,20.5 +CMT,1,1,818,5.1,CRD,17.5 +CMT,1,1,99,0.3,CSH,3 +CMT,1,3,1316,4.6,CSH,19 +CMT,1,1,302,0.7,CSH,5.5 +CMT,1,1,649,2.5,CRD,10.5 +CMT,1,1,321,0.4,CRD,5 +CMT,1,1,1008,2.7,CRD,13 +CMT,1,2,316,1,CSH,6 +CMT,1,1,597,2.5,CRD,10.5 +CMT,1,1,1071,4.5,CRD,17 +CMT,1,1,445,1.6,CSH,7.5 +CMT,1,1,432,1.1,CRD,7 +CMT,1,1,505,1.1,CSH,7 +CMT,1,1,903,2.2,CSH,11.5 +CMT,1,1,722,1.7,CRD,9.5 +CMT,1,2,938,2,CSH,12 +CMT,1,1,575,1.5,CSH,8 +CMT,1,1,514,1.9,CRD,8.5 +CMT,1,1,1411,4.2,CSH,18 +CMT,1,1,796,1.6,CRD,10 +CMT,1,1,503,1.3,CSH,7.5 +CMT,1,1,713,1.1,CSH,8.5 +CMT,1,2,334,0.8,CRD,6 +CMT,1,1,500,2.1,CSH,9 +CMT,1,1,415,3.3,CSH,11 +CMT,1,1,593,1.7,CRD,9 +CMT,1,1,656,1.5,CSH,9 +CMT,1,1,382,1.2,CRD,7 +CMT,1,1,783,3.3,CRD,12.5 +CMT,1,1,1029,7.9,CSH,24.5 +CMT,1,1,213,0.9,CSH,5 +CMT,1,1,1551,5.1,CSH,21 +CMT,1,1,1148,3.6,CSH,16.5 +CMT,1,1,787,2.5,CRD,11 +CMT,1,1,557,1.8,CSH,9 +CMT,1,1,313,1.1,CSH,6 +CMT,1,1,370,0.8,CRD,6 +CMT,1,1,395,0.9,CRD,6.5 +CMT,1,1,347,1.1,CRD,6 +CMT,1,1,589,3.7,CRD,13 +CMT,2,1,1911,18.1,CRD,52 +CMT,1,1,372,0.7,CSH,6 +CMT,1,1,566,2.1,CRD,9.5 +CMT,1,1,480,1.6,CRD,8 +CMT,1,1,1904,3.5,CRD,20.5 +CMT,1,1,963,2.5,CRD,12.5 +CMT,1,1,157,0.3,CSH,3.5 +CMT,1,1,1165,3,CSH,14.5 +CMT,1,1,169,0.6,CRD,4 +CMT,1,1,301,0.7,CRD,5.5 +CMT,1,1,942,2.3,CRD,12 +CMT,1,1,547,1.1,CRD,7.5 +CMT,1,1,969,1.7,CSH,11.5 +CMT,1,1,313,0.4,CSH,5 +CMT,1,1,898,1.2,CRD,10.5 +CMT,1,1,1051,2.4,CSH,13.5 +CMT,1,1,606,2.3,CRD,9.5 +CMT,1,1,346,0.9,CRD,6 +CMT,1,1,342,1,CRD,6.5 +CMT,1,1,495,1.7,CRD,8 +CMT,1,1,176,1,CSH,5 +CMT,3,1,1851,19.9,CSH,71 +CMT,1,1,306,0.6,CRD,5 +CMT,1,1,249,1.5,CSH,6.5 +CMT,1,1,77,0.2,CSH,3 +CMT,1,1,217,1.1,CSH,5.5 +CMT,1,1,165,0.8,CRD,4.5 +CMT,1,1,183,0.5,CSH,4 +CMT,1,1,323,0.3,CRD,5 +CMT,1,1,145,0.4,CSH,4 +CMT,1,1,231,1.2,CRD,6 +CMT,1,1,176,0.9,CRD,5 +CMT,1,1,375,1.5,CRD,7.5 +CMT,1,1,240,0.8,CSH,5 +CMT,1,1,330,0.5,CRD,5 +CMT,1,1,446,0.9,CRD,6.5 +CMT,1,2,483,2.6,CRD,9.5 +CMT,1,3,182,0.4,CSH,4 +CMT,1,1,838,2.7,CSH,12 +CMT,1,1,145,0.4,CRD,4 +CMT,1,1,888,3,CSH,13.5 +CMT,1,1,1470,3.2,CRD,18 +CMT,1,1,407,0.8,CRD,6.5 +CMT,1,1,666,1.5,CSH,9 +CMT,1,1,639,1,CSH,8 +CMT,1,1,398,1.4,CRD,7 +CMT,1,1,348,1.3,CSH,6.5 +CMT,1,1,161,0.9,CRD,4.5 +CMT,1,1,1377,2.8,CRD,15.5 +CMT,1,1,308,0.9,CSH,6 +CMT,1,1,1099,2.9,CRD,14.5 +CMT,1,1,740,2.5,CRD,11 +CMT,1,2,267,1,CSH,5.5 +CMT,1,3,209,0.6,CRD,4.5 +CMT,1,1,156,0.3,CRD,3.5 +CMT,1,1,709,3.7,CRD,13 +CMT,1,1,485,2.1,CSH,9 +CMT,1,1,965,8.3,CSH,24 +CMT,2,1,1629,19.1,CRD,52 +CMT,1,1,413,2.2,CSH,8.5 +CMT,1,1,680,1,CSH,8 +CMT,1,1,986,1.9,CSH,12 +CMT,1,1,1249,4.7,CSH,18 +CMT,1,1,1193,4.2,CRD,17.5 +CMT,1,4,450,1,CSH,6.5 +CMT,1,1,733,1.9,CRD,10 +CMT,1,1,316,0.6,CSH,5.5 +CMT,1,1,1468,4.8,CSH,19 +CMT,1,3,296,1,CRD,5.5 +CMT,1,1,898,2.4,CRD,12 +CMT,1,1,278,0.9,CRD,5.5 +CMT,1,1,214,0.6,CRD,4.5 +CMT,1,1,278,0.7,CSH,5.5 +CMT,1,2,268,1.5,CRD,6.5 +CMT,1,1,1293,5.4,CSH,20.5 +CMT,1,1,340,1.2,CRD,6.5 +CMT,1,1,1909,1.2,CSH,6.5 +CMT,1,1,410,0.9,CRD,6.5 +CMT,1,1,283,0.6,CSH,5 +CMT,1,1,140,0.6,CSH,4.5 +CMT,1,1,236,0.7,CRD,5 +CMT,1,1,447,1.2,CSH,7 +CMT,1,1,165,0.8,CRD,4.5 +CMT,1,1,505,3.2,CSH,10.5 +CMT,1,1,889,4,CSH,15.5 +CMT,1,1,593,1,CSH,8 +CMT,1,1,281,0.8,CSH,5 +CMT,1,1,190,0.6,CSH,4.5 +CMT,1,1,907,3,CRD,13 +CMT,1,1,185,0.5,CRD,4.5 +CMT,1,1,710,2.1,CRD,10 +CMT,1,1,1035,2.4,CRD,13 +CMT,1,1,740,2,CSH,10 +CMT,1,2,1345,3.3,CSH,16 +CMT,1,1,938,4.3,CSH,16.5 +CMT,1,1,391,1.1,CRD,6.5 +CMT,1,1,678,1.4,CRD,9 +CMT,1,2,430,1.2,CRD,7 +CMT,1,1,126,0.3,CSH,3.5 +CMT,1,1,516,1.6,CRD,8 +CMT,1,1,567,1.5,CSH,8.5 +CMT,1,1,1154,2.4,CRD,14 +CMT,1,3,379,0.7,CRD,6 +CMT,1,1,462,1.8,CRD,8 +CMT,1,1,312,1,CSH,6 +CMT,1,1,1090,3.5,CSH,15 +CMT,1,1,945,6,CSH,19.5 +CMT,1,1,386,0.7,CRD,6 +CMT,1,2,247,0.7,CRD,5 +CMT,1,1,490,1.3,CRD,7.5 +CMT,1,1,220,0.6,CSH,4.5 +CMT,1,1,491,1.8,CRD,8.5 +CMT,1,1,384,1.4,CSH,7 +CMT,3,1,30,0.8,CSH,52 +CMT,1,1,422,1.9,CSH,7.5 +CMT,1,1,308,1.2,CRD,6.5 +CMT,1,1,170,0.7,CSH,4.5 +CMT,1,1,530,1,CSH,7.5 +CMT,1,1,1983,10.3,CRD,33.5 +CMT,1,1,870,4.4,CRD,15.5 +CMT,1,1,287,0.8,CRD,5.5 +CMT,2,1,2283,17.3,CSH,52 +CMT,1,1,858,2.7,CRD,12 +CMT,1,1,235,0.3,CRD,4.5 +CMT,1,1,306,0.6,CRD,5.5 +CMT,1,1,415,1.1,CRD,6.5 +CMT,1,1,495,1.8,CRD,8 +CMT,1,2,406,1.7,CRD,7.5 +CMT,1,1,1055,2.4,CSH,13 +CMT,1,1,954,4.5,CRD,16 +CMT,1,1,829,4.6,CSH,15.5 +CMT,1,1,601,2.7,CSH,10.5 +CMT,1,1,586,1.7,CRD,8.5 +CMT,1,1,265,0.8,CSH,5 +CMT,1,1,190,1,CSH,5 +CMT,1,1,368,0.4,CSH,5.5 +CMT,2,1,1742,19.4,CRD,52 +CMT,1,1,322,1.3,CRD,6.5 +CMT,1,1,201,1.1,CRD,5.5 +CMT,1,1,457,2.1,CSH,8.5 +CMT,1,1,499,1.1,CSH,7 +CMT,1,1,276,0.6,CSH,5 +CMT,1,1,1134,7.6,CSH,24 +CMT,1,1,501,0.7,CSH,7 +CMT,1,1,382,0.7,CSH,6 +CMT,1,1,461,0.6,CRD,6.5 +CMT,1,1,265,1.2,CRD,6 +CMT,1,1,359,1.3,CSH,7 +CMT,1,1,440,1.4,CRD,7 +CMT,1,1,194,0.4,CSH,4.5 +CMT,1,1,344,0.8,CRD,5.5 +CMT,1,1,140,0.6,CSH,4 +CMT,1,1,491,2.2,CRD,8.5 +CMT,1,1,746,1.3,CSH,9.5 +CMT,1,1,251,1.2,CSH,5.5 +CMT,1,1,26,0.1,CSH,2.5 +CMT,1,1,1115,5.5,CSH,19.5 +CMT,1,1,426,1.2,CSH,7.5 +CMT,1,1,289,1,CSH,6 +CMT,1,1,314,1.5,CRD,7 +CMT,1,1,767,3.8,CRD,14 +CMT,1,1,138,0.4,CSH,4 +CMT,1,1,316,1.2,CRD,6 +CMT,1,1,541,2.1,CRD,9 +CMT,1,1,440,1.7,CRD,8 +CMT,1,1,498,2.1,CRD,9 +CMT,1,1,694,1.7,CSH,9.5 +CMT,1,1,239,0.8,CRD,5 +CMT,1,1,430,1.8,CSH,7.5 +CMT,1,1,280,0.5,CRD,5 +CMT,1,2,555,1.4,CSH,8.5 +CMT,1,1,155,0.6,CSH,4.5 +CMT,1,1,294,1.2,CSH,6.5 +CMT,1,1,1575,6,CRD,23 +CMT,1,1,152,0.2,CSH,3.5 +CMT,1,1,544,1.2,CSH,7.5 +CMT,1,1,495,1.7,CRD,8.5 +CMT,1,1,615,1.7,CRD,9 +CMT,1,1,209,1.5,CSH,6 +CMT,1,1,78,0.6,CRD,4 +CMT,1,1,758,3.1,CSH,12.5 +CMT,1,1,1133,8.8,CRD,26.5 +CMT,1,1,393,2.6,CRD,9 +CMT,1,1,393,1.3,CRD,7 +CMT,1,1,671,2,CRD,10 +CMT,1,1,1194,3.5,CSH,16 +CMT,1,1,578,3.8,CRD,13 +CMT,1,1,1554,12.5,CRD,36.5 +CMT,1,1,178,0.7,CSH,4.5 +CMT,1,1,1010,3.7,CRD,15.5 +CMT,1,1,654,1.7,CRD,9 +CMT,1,2,819,3.3,CRD,12.5 +CMT,1,1,239,0.8,CSH,5 +CMT,1,1,358,1,CSH,6 +CMT,1,1,785,4.5,CSH,15 +CMT,1,1,1293,10.3,CSH,30.5 +CMT,1,1,1530,8.8,CSH,29 +CMT,1,1,283,1.7,CRD,7 +CMT,1,1,169,1,CRD,5 +CMT,1,1,993,6,CSH,19.5 +CMT,1,1,933,2.8,CSH,12.5 +CMT,1,1,270,0.7,CSH,5 +CMT,1,1,557,6.3,CSH,18.5 +CMT,1,1,978,9,CRD,26.5 +CMT,1,1,1662,5.4,CSH,21.5 +CMT,1,1,1076,4.7,CSH,17.5 +CMT,1,1,530,1,CSH,7 +CMT,1,1,727,3.2,CSH,13 +CMT,1,1,489,1.5,CRD,8 +CMT,1,1,368,0.8,CRD,6 +CMT,1,1,532,2.2,CRD,9.5 +CMT,1,1,655,2.5,CRD,10.5 +CMT,1,1,199,0.8,CSH,5 +CMT,1,1,529,2.5,CSH,10 +CMT,1,1,754,3.4,CRD,13.5 +CMT,1,1,1087,3.9,CSH,16 +CMT,1,1,302,0.9,CSH,6 +CMT,1,1,261,1.2,CSH,6 +CMT,1,1,422,2.6,CSH,9.5 +CMT,1,1,293,1.2,CRD,6 +CMT,1,1,337,1.2,CRD,6.5 +CMT,1,1,726,3.2,CRD,12 +CMT,1,1,1251,5,CRD,19.5 +CMT,1,1,251,0.9,CSH,5.5 +CMT,1,1,418,1,CSH,6.5 +CMT,1,1,1838,7.8,CSH,29.5 +CMT,1,1,206,1.4,CRD,6 +CMT,1,1,606,3.1,CSH,11.5 +CMT,1,1,181,0.6,CSH,4.5 +CMT,1,1,91,0.4,CSH,3.5 +CMT,1,1,265,1.2,CRD,6.5 +CMT,1,1,349,1.3,CSH,7 +CMT,1,1,185,0.7,CRD,4.5 +CMT,1,1,163,0.7,CRD,4.5 +CMT,1,1,1522,7.8,CSH,27 +CMT,1,1,1335,3.9,CRD,17 +CMT,1,1,1628,7.4,CRD,25.5 +CMT,1,1,743,3.7,CSH,13.5 +CMT,1,1,738,3,CSH,11.5 +CMT,1,1,302,0.9,CSH,5.5 +CMT,1,1,359,1.1,CRD,6 +CMT,1,1,716,3.7,CSH,12.5 +CMT,1,1,709,2.3,CSH,10.5 +CMT,1,1,114,0.5,CSH,4 +CMT,1,1,434,2.4,CRD,9.5 +CMT,1,1,467,1.9,CRD,8.5 +CMT,1,1,466,1.3,CRD,7 +CMT,1,1,617,2.3,CSH,10.5 +CMT,1,1,368,1,CSH,6.5 +CMT,1,1,341,0.6,CRD,5.5 +CMT,1,1,332,0.8,CRD,6 +CMT,1,1,773,2.2,CSH,11 +CMT,1,1,311,1.4,CSH,7 +CMT,1,1,438,1.4,CRD,7 +CMT,1,1,304,0.8,CRD,5.5 +CMT,1,1,378,1.5,CSH,7 +CMT,1,1,539,2.3,CSH,9.5 +CMT,1,1,743,4.2,CSH,13.5 +CMT,1,1,749,2.4,CSH,11.5 +CMT,1,1,305,0.9,CSH,5.5 +CMT,1,1,243,0.6,CRD,5 +CMT,1,1,283,0.6,CSH,5 +CMT,1,1,669,3.5,CRD,12.5 +CMT,1,1,339,1.3,CSH,7 +CMT,1,1,1656,5.6,CRD,23 +CMT,1,1,265,0.6,CRD,4.5 +CMT,1,1,368,1.1,CSH,6.5 +CMT,1,1,299,0.5,CRD,5 +CMT,1,1,272,1.4,CRD,6.5 +CMT,1,1,567,0.9,CSH,7.5 +CMT,1,1,1332,7.8,CRD,25.5 +CMT,1,1,651,3.1,CSH,11.5 +CMT,1,1,592,1.7,CRD,9 +CMT,1,1,411,1.5,CRD,7.5 +CMT,1,1,437,1.8,CRD,8.5 +CMT,1,1,319,1.1,CRD,6 +CMT,1,1,352,1.2,CRD,6.5 +CMT,1,1,487,1.5,CRD,7.5 +CMT,1,1,228,0.4,CRD,4.5 +CMT,1,1,209,0.8,CSH,5 +CMT,1,1,429,1.8,CRD,8.5 +CMT,1,1,217,0.6,CRD,5 +CMT,1,1,354,1,CSH,6.5 +CMT,1,1,1138,3.5,CSH,15 +CMT,1,1,316,1,CSH,5.5 +CMT,1,1,835,2.1,CRD,10.5 +CMT,1,1,450,1.9,CRD,8 +CMT,1,1,881,5.4,CSH,18 +CMT,1,1,762,2.4,CRD,11 +CMT,1,1,189,0.7,CSH,4.5 +CMT,1,1,713,3.6,CSH,13.5 +CMT,1,1,496,2.7,CRD,10 +CMT,1,1,611,1.9,CSH,9.5 +CMT,1,1,823,2.6,CRD,11.5 +CMT,1,1,250,0.8,CSH,5 +CMT,1,1,588,2.5,CSH,10 +CMT,1,1,306,1.5,CRD,6.5 +CMT,1,1,208,0.4,CSH,4 +CMT,1,1,901,4.8,CSH,16 +CMT,1,1,262,0.8,CSH,5 +CMT,1,1,609,5.4,CSH,17 +CMT,1,1,227,0.7,CSH,5 +CMT,1,1,321,0.6,CSH,5.5 +CMT,1,1,632,2.9,CRD,11 +CMT,1,1,795,3.8,CRD,14 +CMT,1,1,437,1.2,CRD,7 +CMT,1,1,647,1.5,CSH,8.5 +CMT,1,1,1180,3.9,CSH,16 +CMT,1,1,745,2.1,CRD,10.5 +CMT,1,1,349,0.6,CSH,5.5 +CMT,1,1,811,4.9,CRD,15.5 +CMT,1,1,732,1.9,CSH,9.5 +CMT,1,1,888,7.7,CRD,23 +CMT,1,1,423,1.3,CSH,7 +CMT,1,1,413,1.5,CSH,7 +CMT,1,1,496,2.3,CRD,9.5 +CMT,1,1,367,1.5,CSH,7 +CMT,1,1,570,2.9,CRD,11 +CMT,1,1,575,2.2,CRD,10 +CMT,1,1,208,0.8,CSH,5 +CMT,1,1,968,7.4,CRD,23 +CMT,1,1,258,0.8,CSH,5 +CMT,1,1,723,3.7,CRD,13.5 +CMT,1,1,315,1.6,CSH,7 +CMT,1,1,476,1.4,CSH,7.5 +CMT,1,2,328,1.4,CSH,6.5 +CMT,1,1,954,7.7,CSH,23 +CMT,1,1,756,2.3,CRD,11 +CMT,1,1,384,0.5,CSH,5.5 +CMT,1,3,1175,3.1,CRD,15 +CMT,1,1,339,1,CSH,6 +CMT,1,1,416,0.9,CRD,6.5 +CMT,1,1,2935,27.1,CRD,75.5 +CMT,1,1,356,0.9,CSH,6 +CMT,1,1,267,0.9,CSH,5 +CMT,1,2,1027,7.3,CRD,22 +CMT,1,1,599,2.1,CRD,9.5 +CMT,1,1,913,2.8,CSH,12.5 +CMT,1,1,1038,2.2,CRD,13 +CMT,1,2,1647,7.9,CSH,28.5 +CMT,1,1,230,0.6,CRD,4.5 +CMT,1,2,740,2,CSH,10.5 +CMT,1,1,434,0.8,CRD,6.5 +CMT,1,1,1414,4,CRD,17 +CMT,1,2,651,0.7,CSH,8 +CMT,1,1,136,0.6,CSH,4 +CMT,1,1,518,1.5,CRD,8.5 +CMT,1,1,359,1.7,CSH,7.5 +CMT,1,1,491,1.8,CRD,8.5 +CMT,1,1,400,1.2,CRD,7 +CMT,1,1,412,1.3,CSH,7 +CMT,1,2,48,0,CSH,2.5 +CMT,1,1,197,1,CRD,5 +CMT,1,4,296,0.9,CSH,5.5 +CMT,1,1,1142,3.1,CRD,14.5 +CMT,2,1,1548,16.6,CRD,52 +CMT,1,1,389,1.3,CSH,7 +CMT,1,1,631,4.6,CRD,14 +CMT,1,1,517,2.7,CRD,10 +CMT,1,1,589,2.2,CSH,10 +CMT,1,1,228,0.9,CSH,5 +CMT,1,1,434,2.5,CSH,9 +CMT,1,1,198,1.1,CRD,5.5 +CMT,1,1,880,4.1,CSH,15 +CMT,1,1,559,1.1,CSH,7.5 +CMT,1,1,563,1.8,CSH,8.5 +CMT,1,1,611,2.5,CRD,10.5 +CMT,1,1,2158,9.5,CSH,33.5 +CMT,1,1,919,5.3,CSH,17.5 +CMT,1,1,744,2.6,CSH,11 +CMT,1,1,430,0.7,CRD,6.5 +CMT,1,1,581,1.8,CRD,9 +CMT,1,1,447,1.8,CSH,8.5 +CMT,1,1,1102,9,CSH,27.5 +CMT,1,1,1070,4.9,CSH,17.5 +CMT,1,1,303,1.3,CSH,6 +CMT,1,1,983,4.4,CRD,16 +CMT,1,1,332,0.6,CSH,5.5 +CMT,1,1,1365,5,CSH,18.5 +CMT,1,1,729,2.1,CRD,10.5 +CMT,1,1,371,1.3,CRD,7 +CMT,1,1,885,2.1,CRD,11.5 +CMT,1,1,330,0.8,CSH,5.5 +CMT,1,1,443,1.9,CSH,8 +CMT,1,1,661,2.6,CSH,10.5 +CMT,1,1,1236,5.4,CRD,19 +CMT,1,1,757,3.6,CRD,13 +CMT,1,1,931,4.1,CRD,15 +CMT,1,1,86,0.6,CSH,4 +CMT,1,1,610,1.7,CRD,9 +CMT,1,1,552,2.3,CRD,10 +CMT,1,1,160,0.6,CSH,4.5 +CMT,1,1,350,1,CSH,6 +CMT,1,1,490,1.4,CSH,7.5 +CMT,1,1,856,2.2,CSH,11 +CMT,1,1,306,0.8,CRD,5.5 +CMT,1,1,505,3.1,CRD,11 +CMT,1,1,419,1,CRD,6.5 +CMT,1,1,1677,6.1,CRD,25 +CMT,1,1,1194,4.9,CRD,18 +CMT,1,1,200,0.9,CSH,5 +CMT,1,1,739,3.3,CSH,12.5 +CMT,1,1,548,3.6,CSH,12.5 +CMT,1,1,1224,6.6,CRD,21.5 +CMT,1,1,195,0.6,CSH,4.5 +CMT,1,1,658,3.7,CSH,13 +CMT,1,1,299,1.4,CRD,6.5 +CMT,1,1,667,6.9,CSH,20.5 +CMT,1,1,1082,6.9,CSH,22 +CMT,1,1,1105,4.6,CSH,16.5 +CMT,1,1,199,0.7,CRD,4.5 +CMT,1,1,137,0.2,CSH,3.5 +CMT,1,1,619,1.8,CSH,9 +CMT,1,1,958,5.7,CRD,19 +CMT,1,1,1160,5.8,CSH,19.5 +CMT,1,1,316,1.2,CSH,6 +CMT,1,1,1241,7,CSH,22 +CMT,1,1,211,0.7,CSH,5 +CMT,1,1,359,2.1,CSH,8 +CMT,1,1,656,1.9,CRD,9.5 +CMT,1,1,283,1.2,CSH,6 +CMT,1,1,491,1.4,CRD,7.5 +CMT,1,1,231,0.9,CRD,5.5 +CMT,1,1,129,0.5,CRD,4 +CMT,1,1,365,1.2,CSH,6.5 +CMT,1,1,1210,6.6,CSH,22 +CMT,1,1,529,2.4,CSH,9.5 +CMT,1,1,321,1,CRD,5.5 +CMT,1,1,1196,5.6,CRD,20 +CMT,2,1,1949,17.5,CRD,52 +CMT,1,1,204,0.7,CSH,4.5 +CMT,1,1,838,3.9,CSH,14 +CMT,1,1,804,3.3,CSH,12.5 +CMT,1,1,762,3.9,CRD,14.5 +CMT,1,1,497,1.3,CRD,8 +CMT,1,1,612,1.7,CSH,8.5 +CMT,1,1,117,0.5,CRD,4 +CMT,1,1,798,1.7,CRD,10 +CMT,1,1,424,0.8,CSH,6 +CMT,1,1,600,2.4,CSH,10 +CMT,1,1,735,2.6,CRD,11 +CMT,1,1,528,1.7,CRD,8.5 +CMT,1,1,1016,3.6,CSH,14.5 +CMT,1,1,491,3.1,CSH,10.5 +CMT,1,1,1043,9.2,CSH,28 +CMT,1,1,331,1.1,CSH,6.5 +CMT,1,1,634,2.8,CSH,11 +CMT,1,1,380,1.6,CSH,7.5 +CMT,1,1,515,6.2,CRD,18 +CMT,1,1,755,3.7,CSH,14 +CMT,1,1,806,4.4,CRD,16 +CMT,1,1,388,1.6,CRD,8 +CMT,1,1,352,0.8,CSH,6 +CMT,1,1,703,2.3,CSH,10.5 +CMT,1,1,708,3.5,CSH,12 +CMT,1,1,888,4,CSH,15 +CMT,1,1,860,6.4,CRD,20 +CMT,1,1,181,0.9,CSH,5 +CMT,1,1,351,1.7,CRD,7.5 +CMT,1,1,1171,7.5,CSH,24.5 +CMT,1,1,184,0.8,CSH,4.5 +CMT,1,1,457,2.5,CRD,9.5 +CMT,1,1,476,1.7,CSH,8 +CMT,1,1,847,5.7,CRD,18.5 +CMT,1,1,1183,7.7,CSH,25.5 +CMT,1,1,689,3.2,CRD,12.5 +CMT,1,1,299,1.2,CSH,6.5 +CMT,1,1,208,0.6,CSH,4.5 +CMT,1,1,485,2.1,CSH,9 +CMT,1,1,320,1.4,CSH,6.5 +CMT,1,1,350,1.6,CRD,7 +CMT,1,1,520,1.3,CSH,7.5 +CMT,5,1,60,0,CRD,13.5 +CMT,1,1,1807,5.6,CSH,23.5 +CMT,1,1,235,0.5,CSH,4.5 +CMT,1,1,356,0.8,CRD,6 +CMT,1,1,863,3,CSH,12.5 +CMT,1,1,489,1.4,CSH,7.5 +CMT,1,1,820,3.8,CRD,14.5 +CMT,1,1,220,0.6,CSH,4.5 +CMT,1,1,217,0.5,CSH,4 +CMT,1,1,511,1.3,CRD,7.5 +CMT,1,2,612,1.9,CRD,9 +CMT,1,1,845,1.6,CRD,10.5 +CMT,1,2,982,1.9,CSH,12 +CMT,1,2,1442,6.2,CRD,22 +CMT,1,4,374,1.6,CSH,7 +CMT,1,1,907,3.4,CRD,13.5 +CMT,1,1,812,4.4,CRD,15.5 +CMT,1,1,349,1.5,CSH,7 +CMT,1,1,504,1.7,CRD,8 +CMT,1,1,415,2.5,CSH,9 +CMT,1,1,670,2.4,CSH,10.5 +CMT,1,1,215,0.4,CRD,4.5 +CMT,1,1,594,2.8,CRD,11 +CMT,1,1,406,1.6,CRD,7.5 +CMT,1,1,637,3.7,CRD,13.5 +CMT,1,1,765,2.8,CRD,11.5 +CMT,1,1,594,2.1,CRD,9.5 +CMT,1,1,515,1.6,CRD,8 +CMT,1,1,1160,3.9,CRD,17 +CMT,1,1,1405,8,CRD,26.5 +CMT,1,1,1270,5.2,CSH,19.5 +CMT,1,1,193,0.9,CSH,5 +CMT,1,1,520,1.3,CRD,8 +CMT,1,1,552,1.8,CRD,8.5 +CMT,1,1,587,1.6,CRD,8.5 +CMT,1,1,250,1,CRD,5.5 +CMT,1,1,372,1,CSH,6.5 +CMT,1,1,178,0.5,CRD,4 +CMT,1,1,501,1.5,CSH,8 +CMT,1,1,384,2.5,CRD,9 +CMT,1,1,121,0.8,CSH,4.5 +CMT,1,1,386,1.9,CRD,7.5 +CMT,1,1,309,0.6,CSH,5.5 +CMT,1,1,369,1.1,CRD,6.5 +CMT,1,1,245,0.9,CRD,5.5 +CMT,1,1,691,2.4,CRD,10 +CMT,1,1,291,0.7,CRD,5 +CMT,1,1,490,1.1,CRD,7 +CMT,1,1,603,1.9,CSH,9 +CMT,1,1,771,5.3,CSH,17.5 +CMT,1,1,501,2.3,CRD,9.5 +CMT,1,1,599,3.1,CSH,11.5 +CMT,1,1,146,1.1,CSH,5 +CMT,1,1,577,1.2,CSH,7.5 +CMT,1,1,873,4.9,CSH,16 +CMT,1,1,606,1.6,CSH,8.5 +CMT,1,1,987,2.7,CSH,13.5 +CMT,1,1,317,0.8,CRD,5.5 +CMT,1,1,249,0.6,CSH,4.5 +CMT,1,1,841,4.6,CSH,15.5 +CMT,1,1,932,6.6,CSH,20.5 +CMT,1,1,147,0.6,CSH,4.5 +CMT,1,1,496,1.7,CSH,8 +CMT,1,1,238,0.5,CSH,4 +CMT,1,1,488,1.2,CSH,7.5 +CMT,1,1,579,1.5,CRD,8.5 +CMT,1,1,651,2.1,CRD,10 +CMT,1,1,844,1.9,CSH,11 +CMT,1,1,711,1.9,CRD,10 +CMT,1,1,667,2.8,CSH,12 +CMT,1,1,894,2.2,CSH,11.5 +CMT,1,1,782,3.4,CRD,13 +CMT,1,1,1577,4.3,CSH,19.5 +CMT,1,1,829,3.5,CSH,13 +CMT,1,1,698,2.3,CSH,10.5 +CMT,1,1,293,0.7,CRD,5.5 +CMT,1,1,291,0.6,CSH,5 +CMT,1,1,806,1.5,CSH,10 +CMT,1,1,381,0.9,CSH,6 +CMT,1,1,592,2.3,CRD,10.5 +CMT,1,1,616,2.6,CRD,11 +CMT,1,1,162,0.7,CSH,4.5 +CMT,1,1,836,5,CRD,16.5 +CMT,1,1,981,5,CSH,17 +CMT,1,1,712,3.2,CSH,12 +CMT,1,1,401,1.8,CSH,8 +CMT,1,1,322,2.2,CRD,8 +CMT,1,1,392,1.5,CRD,7.5 +CMT,1,1,217,1.2,CSH,5.5 +CMT,1,1,1444,0.5,CSH,4 +CMT,1,1,246,0.8,CSH,5 +CMT,1,1,766,3.9,CRD,14 +CMT,1,1,385,1.3,CRD,7 +CMT,1,1,470,1.6,CSH,7.5 +CMT,1,1,1237,4,CRD,16.5 +CMT,1,1,203,0.7,CSH,4.5 +CMT,1,1,617,4.1,CRD,13.5 +CMT,1,1,650,2.7,CSH,10.5 +CMT,1,1,176,0.3,CSH,3.5 +CMT,1,1,691,6.1,CSH,18.5 +CMT,1,1,142,0.4,CSH,3.5 +CMT,1,1,993,4.7,CRD,16.5 +CMT,1,1,507,3.5,CRD,11.5 +CMT,1,1,2347,15.9,CRD,49 +CMT,1,1,288,1,CSH,6 +CMT,1,1,340,1.3,CRD,7 +CMT,1,1,217,1,CRD,5.5 +CMT,1,1,917,9.3,CRD,26.5 +CMT,1,1,133,0.5,CSH,4 +CMT,1,1,1106,6.1,CRD,20 +CMT,1,1,433,1.3,CSH,7.5 +CMT,1,1,472,0.9,CSH,6.5 +CMT,1,1,214,0.8,CSH,5 +CMT,1,1,327,0.8,CSH,6 +CMT,1,1,934,3.5,CRD,14 +CMT,1,1,1151,6.5,CRD,22.5 +CMT,1,1,286,0.9,CSH,5 +CMT,1,1,2921,3.3,CSH,12.5 +CMT,1,1,1026,4.6,CRD,17.5 +CMT,1,1,518,2.5,CRD,10 +CMT,1,1,1345,10.8,CRD,31.5 +CMT,1,1,1427,4.4,CRD,19.5 +CMT,1,1,641,2.1,CSH,9.5 +CMT,1,1,240,1.2,CSH,5.5 +CMT,1,1,751,3.3,CSH,12.5 +CMT,1,1,981,5.8,CSH,18.5 +CMT,1,1,939,7.7,CRD,23.5 +CMT,1,1,983,3.1,CRD,13.5 +CMT,1,1,446,1.8,CSH,8.5 +CMT,1,1,1160,5.3,CRD,18.5 +CMT,1,1,257,0.6,CSH,5 +CMT,1,1,627,2.2,CSH,10 +CMT,1,1,257,1,CRD,5.5 +CMT,1,1,170,1,CRD,5 +CMT,1,1,920,5.7,CRD,18 +CMT,1,1,378,1.2,CSH,7 +CMT,1,1,471,1.7,CRD,8 +CMT,1,1,599,2.7,CRD,10.5 +CMT,1,1,326,1.3,CRD,6.5 +CMT,1,1,689,2.2,CSH,10 +CMT,1,1,394,1.1,CSH,6.5 +CMT,1,1,148,0.6,CSH,4.5 +CMT,1,1,1248,6,CRD,21.5 +CMT,1,1,612,2.1,CSH,10 +CMT,1,1,43,0.3,CSH,3 +CMT,1,1,681,2.4,CSH,10.5 +CMT,1,1,281,1.2,CSH,6 +CMT,1,1,1412,8.6,CRD,26.5 +CMT,1,1,743,2.5,CSH,10.5 +CMT,1,1,206,0.7,CSH,4.5 +CMT,1,1,433,2,CRD,8 +CMT,1,1,239,0.9,CRD,5 +CMT,1,1,611,2.5,CSH,10 +CMT,1,1,1040,5.2,CSH,18 +CMT,1,1,535,1.7,CSH,8.5 +CMT,1,1,735,2.2,CSH,10 +CMT,1,1,731,1.8,CSH,9.5 +CMT,1,1,166,0.4,CSH,3.5 +CMT,1,1,480,1,CSH,6.5 +CMT,1,1,490,0.9,CRD,7 +CMT,1,1,1456,8.4,CRD,26.5 +CMT,1,1,212,0.9,CSH,5 +CMT,1,1,506,1.6,CRD,8 +CMT,1,1,74,0.5,CRD,3.5 +CMT,1,1,808,4.6,CRD,15.5 +CMT,1,1,61,0,CSH,2.5 +CMT,1,1,461,1.7,CSH,8 +CMT,1,1,433,1.4,CRD,7.5 +CMT,1,1,675,1.4,CSH,8.5 +CMT,1,1,1041,3.8,CRD,15 +CMT,1,1,2088,9.7,CSH,33 +CMT,1,1,497,1.9,CSH,8.5 +CMT,1,4,649,1.8,CSH,8 +CMT,1,1,307,1.1,CSH,6 +CMT,1,1,106,0.9,CSH,4.5 +CMT,1,1,111,0.6,CSH,4 +CMT,1,1,184,0.7,CSH,4.5 +CMT,1,1,142,0.4,CSH,4 +CMT,1,1,263,1.2,CSH,5.5 +CMT,1,1,615,1.6,CSH,8.5 +CMT,1,1,852,3.5,CRD,14 +CMT,1,1,381,1.1,CSH,6.5 +CMT,1,1,564,1.6,CSH,8.5 +CMT,1,1,1528,2.4,CRD,16 +CMT,1,1,519,1.1,CRD,7.5 +CMT,1,1,973,3.5,CSH,14 +CMT,1,1,1186,5.1,CSH,18 +CMT,1,1,761,2.7,CSH,11.5 +CMT,1,1,442,1.7,CRD,8 +CMT,1,1,433,1.7,CRD,7.5 +CMT,1,1,910,2.4,CRD,12 +CMT,1,1,247,1,CSH,5 +CMT,1,1,457,1.4,CSH,7 +CMT,1,1,634,3.6,CRD,13.5 +CMT,1,1,915,2.1,CSH,11.5 +CMT,1,1,963,3.2,CRD,14 +CMT,1,1,281,1.6,CRD,7 +CMT,1,1,126,0.5,CSH,4 +CMT,1,1,553,2.5,CSH,10 +CMT,1,1,467,2.8,CSH,10 +CMT,1,1,195,1.1,CSH,5.5 +CMT,1,1,80,0.4,CSH,3.5 +CMT,1,1,239,1,CRD,5.5 +CMT,1,1,514,3.5,CSH,12.5 +CMT,1,1,776,4.8,CSH,16.5 +CMT,1,1,478,2,CRD,9 +CMT,1,1,651,2,CSH,9.5 +CMT,1,1,399,0.9,CSH,6 +CMT,1,1,1030,4.5,CRD,16.5 +CMT,1,1,312,1.5,CSH,7 +CMT,1,1,879,3.9,CRD,15 +CMT,1,1,911,3.2,CSH,13.5 +CMT,1,1,1000,1.9,CSH,12 +CMT,1,1,499,0.9,CSH,6.5 +CMT,1,1,1179,4.7,CSH,17.5 +CMT,1,1,709,1.8,CRD,10 +CMT,1,1,374,1.7,CRD,7.5 +CMT,1,1,207,1.1,CSH,5.5 +CMT,1,1,461,1.7,CSH,8.5 +CMT,1,1,307,1.2,CRD,6 +CMT,1,1,820,4.3,CSH,14.5 +CMT,1,1,644,3.4,CRD,12 +CMT,1,1,937,4.2,CSH,15.5 +CMT,1,1,213,0.4,CSH,4 +CMT,1,1,1160,7,CSH,23.5 +CMT,1,1,756,2.3,CSH,10.5 +CMT,1,1,856,3.3,CSH,13.5 +CMT,1,1,2077,14.3,CRD,41.5 +CMT,1,1,727,2.1,CRD,10 +CMT,1,1,202,0.5,CRD,4.5 +CMT,1,1,243,1.5,CRD,6.5 +CMT,1,1,633,2.2,CSH,10 +CMT,1,1,489,2.4,CSH,9.5 +CMT,1,1,920,5.6,CSH,18 +CMT,1,1,44,0.2,CSH,3 +CMT,1,1,131,0.6,CRD,4 +CMT,1,1,1231,6.8,CRD,22.5 +CMT,1,1,444,2.3,CRD,9 +CMT,1,1,278,1,CSH,5.5 +CMT,1,1,251,1.1,CSH,5.5 +CMT,1,1,715,2.5,CSH,11 +CMT,1,1,796,2.1,CSH,10 +CMT,1,1,580,0.9,CSH,7.5 +CMT,1,1,398,1.3,CSH,6.5 +CMT,1,1,489,1.4,CSH,8 +CMT,1,1,435,1.4,CSH,7.5 +CMT,1,1,641,2.7,CRD,11 +CMT,1,1,326,1.1,CSH,6 +CMT,1,1,544,1.3,CRD,8 +CMT,1,1,526,1,CSH,7.5 +CMT,1,1,688,3.3,CSH,12.5 +CMT,1,1,453,1.1,CSH,7.5 +CMT,1,1,600,2,CRD,9 +CMT,1,1,724,4.7,CSH,16 +CMT,1,1,778,2.6,CRD,11.5 +CMT,1,1,567,2,CSH,9 +CMT,1,1,1008,3.4,CRD,14 +CMT,1,1,1430,12.9,CRD,36.5 +CMT,1,1,165,0.8,CSH,4.5 +CMT,1,1,798,8.3,CSH,24.5 +CMT,1,1,566,3.7,CRD,12.5 +CMT,1,1,523,2.5,CRD,10 +CMT,1,1,581,5.4,CSH,16.5 +CMT,1,1,226,1.5,CSH,6.5 +CMT,1,1,270,1.8,CSH,7.5 +CMT,1,1,1726,4.1,CRD,20.5 +CMT,1,1,238,0.5,CSH,4.5 +CMT,1,1,667,1.9,CSH,10 +CMT,1,1,1005,9.4,CRD,28 +CMT,1,1,736,4.7,CSH,16.5 +CMT,1,1,335,1.4,CSH,7 +CMT,1,1,366,1.7,CSH,7.5 +CMT,1,1,381,1.1,CRD,7 +CMT,1,1,428,1,CRD,7 +CMT,1,1,404,1.1,CRD,6.5 +CMT,1,1,916,5.4,CSH,17 +CMT,1,1,110,0.6,CRD,4 +CMT,1,1,751,2.1,CSH,10 +CMT,1,1,1356,4.9,CRD,19.5 +CMT,1,1,437,1.1,CSH,7 +CMT,1,1,2271,5.8,CSH,27 +CMT,1,1,191,1,CSH,5 +CMT,1,1,736,2.9,CSH,12 +CMT,1,1,775,3.5,CRD,14 +CMT,1,1,1545,10.3,CSH,31 +CMT,1,1,743,2.5,CSH,11 +CMT,1,1,510,2.4,CRD,10 +CMT,1,1,358,1.4,CRD,6.5 +CMT,1,1,317,1.1,CSH,5.5 +CMT,1,1,623,1.5,CRD,8.5 +CMT,1,1,602,2.5,CRD,10 +CMT,1,1,461,0.7,CRD,6.5 +CMT,1,1,902,1.8,CSH,10 +CMT,1,1,215,0.8,CSH,4.5 +CMT,1,1,565,2.4,CSH,9.5 +CMT,1,1,802,3.3,CSH,13.5 +CMT,1,1,736,2.8,CRD,11.5 +CMT,1,1,298,0.8,CRD,5.5 +CMT,1,1,744,1.9,CRD,10 +CMT,1,1,371,1.2,CRD,6.5 +CMT,1,1,464,1.1,CSH,7 +CMT,1,1,383,1.4,CSH,7 +CMT,1,1,767,4.2,CRD,14.5 +CMT,1,1,228,0.6,CSH,4.5 +CMT,1,1,213,0.7,CSH,4.5 +CMT,1,1,627,2.2,CSH,9.5 +CMT,1,1,330,1.2,CRD,6 +CMT,1,1,831,3.8,CRD,14.5 +CMT,1,1,819,1.8,CSH,10.5 +CMT,1,1,1411,8.2,CSH,26.5 +CMT,1,1,623,3.6,CSH,12.5 +CMT,1,1,705,4.9,CRD,15.5 +CMT,1,1,336,1.5,CSH,7 +CMT,1,1,480,1.2,CSH,7 +CMT,1,1,685,2.8,CSH,11 +CMT,1,1,387,0.9,CRD,6 +CMT,1,1,985,4.4,CRD,16 +CMT,1,1,269,0.8,CSH,5.5 +CMT,1,1,615,1,CSH,8 +CMT,1,1,456,1,CSH,6.5 +CMT,1,1,447,1.5,CSH,7.5 +CMT,1,1,767,1.9,CRD,10 +CMT,1,1,310,0.4,CRD,5 +CMT,1,1,178,0.3,CRD,4 +CMT,1,1,935,5,CRD,17 +CMT,1,1,687,2.6,CSH,11 +CMT,1,1,141,0.4,CRD,4 +CMT,1,1,403,1.3,CRD,7 +CMT,1,1,1277,4.9,CRD,18.5 +CMT,1,1,590,2.3,CRD,9.5 +CMT,1,1,633,3.6,CRD,12.5 +CMT,1,1,658,3.1,CRD,12 +CMT,1,1,727,4.2,CSH,14 +CMT,1,1,171,0.9,CRD,4.5 +CMT,1,1,220,0.8,CSH,5 +CMT,1,1,609,3.5,CSH,12 +CMT,1,1,500,1.3,CSH,8 +CMT,1,1,673,2.1,CRD,10 +CMT,1,1,280,0.7,CRD,5.5 +CMT,1,1,507,1.7,CSH,8 +CMT,1,1,27,0,CSH,2.5 +CMT,1,1,1098,5.4,CRD,19.5 +CMT,1,2,214,0.9,CSH,5 +CMT,1,1,375,0.6,CSH,5.5 +CMT,1,1,113,0.7,CRD,4 +CMT,1,1,198,1.2,CSH,5.5 +CMT,1,1,1626,4.3,CSH,19.5 +CMT,1,1,329,2.3,CRD,9 +CMT,1,1,352,1.1,CRD,6.5 +CMT,1,1,617,2.1,CSH,9 +CMT,1,1,1438,5.7,CSH,21 +CMT,1,1,1307,4.7,CSH,18 +CMT,1,1,609,2.8,CRD,11 +CMT,1,1,789,3.4,CRD,13 +CMT,1,1,848,2,CSH,10.5 +CMT,1,1,1382,2.5,CRD,14.5 +CMT,1,1,605,1.7,CRD,9 +CMT,1,1,250,1,CRD,5 +CMT,1,1,523,1.2,CRD,7.5 +CMT,1,1,785,3,CRD,11.5 +CMT,1,1,897,2.8,CRD,12.5 +CMT,1,1,551,1.9,CRD,9 +CMT,1,1,1336,10.9,CSH,31.5 +CMT,1,1,320,0.9,CSH,5.5 +CMT,1,1,688,4.2,CRD,14 +CMT,1,1,443,1.6,CSH,7.5 +CMT,1,1,601,1.7,CRD,9 +CMT,1,1,394,3,CSH,10.5 +CMT,1,1,835,4.6,CRD,16 +CMT,4,1,473,1.7,CRD,7.5 +CMT,1,1,866,4.7,CRD,15.5 +CMT,1,1,356,1.1,CRD,6.5 +CMT,1,1,713,3.6,CSH,12.5 +CMT,1,1,279,1,CRD,6 +CMT,1,1,471,1.3,CRD,7.5 +CMT,1,1,247,0.8,CRD,5 +CMT,1,1,443,2.3,CSH,9 +CMT,1,1,1013,2.7,CSH,13.5 +CMT,1,1,209,0.9,CSH,5.5 +CMT,1,1,991,5.2,CSH,17.5 +CMT,1,1,1058,2.2,CRD,12.5 +CMT,1,1,271,1.1,CSH,5.5 +CMT,1,1,471,1.5,CRD,7.5 +CMT,1,1,485,1.6,CRD,8 +CMT,1,1,533,2.3,CSH,9.5 +CMT,1,1,1178,5.4,CRD,19.5 +CMT,1,1,710,1.7,CSH,10 +CMT,1,1,234,1,CRD,5.5 +CMT,1,1,937,5.7,CRD,19.5 +CMT,1,1,350,1.4,CRD,6.5 +CMT,1,1,1088,5.3,CRD,18.5 +CMT,1,1,1096,6.5,CRD,21.5 +CMT,1,1,720,1.9,CRD,10.5 +CMT,1,1,674,2.5,CRD,10.5 +CMT,1,1,220,1.2,CRD,5.5 +CMT,1,1,290,0.8,CRD,5.5 +CMT,1,1,909,5.1,CSH,18 +CMT,1,1,657,3.3,CRD,12 +CMT,1,1,118,1,CSH,5 +CMT,1,1,436,2.1,CRD,8.5 +CMT,1,1,268,1.1,CSH,6 +CMT,1,1,894,7.7,CRD,23.5 +CMT,1,1,632,2.4,CRD,10.5 +CMT,1,1,472,2.4,CSH,9.5 +CMT,1,1,2094,4.2,CRD,23.5 +CMT,1,1,564,1.2,CSH,8 +CMT,1,1,283,0.8,CSH,5.5 +CMT,1,1,592,1.6,CSH,9 +CMT,1,1,1292,3.1,CRD,16 +CMT,1,1,253,0.5,CSH,4.5 +CMT,1,1,634,2.5,CSH,10 +CMT,1,1,738,3.2,CRD,12.5 +CMT,1,1,301,1.2,CSH,6 +CMT,1,1,392,1.5,CSH,7.5 +CMT,1,1,616,3,CSH,11 +CMT,1,1,913,2.5,CRD,9 +CMT,1,1,400,1.9,CSH,8.5 +CMT,1,1,385,1.6,CSH,7.5 +CMT,1,1,354,2,CSH,8 +CMT,1,1,382,1.9,CRD,8 +CMT,1,1,219,0.6,CSH,4.5 +CMT,1,1,157,0.5,CRD,4 +CMT,1,1,297,1,CSH,5.5 +CMT,1,1,527,2.1,CRD,9.5 +CMT,1,1,672,0.9,CSH,8.5 +CMT,1,1,584,3.6,CRD,12 +CMT,1,1,96,0.6,CRD,4 +CMT,1,1,454,1.6,CSH,8 +CMT,1,1,309,1.3,CRD,6.5 +CMT,1,1,177,0.6,CRD,4.5 +CMT,1,1,653,1.9,CSH,10 +CMT,1,1,616,3.6,CRD,12 +CMT,1,1,834,7,CSH,21.5 +CMT,1,1,402,1,CSH,6.5 +CMT,1,1,486,2.1,CRD,8.5 +CMT,1,1,235,0.8,CSH,5 +CMT,1,1,776,2.6,CSH,11.5 +CMT,1,1,430,1.9,CSH,8 +CMT,1,1,410,1.4,CRD,7.5 +CMT,1,1,357,1.1,CRD,6 +CMT,1,1,791,3.7,CRD,14 +CMT,1,1,714,2.3,CSH,10.5 +CMT,1,1,1120,3.5,CRD,15.5 +CMT,1,1,800,2.8,CRD,12 +CMT,1,1,230,0.6,CSH,4.5 +CMT,1,1,922,2.6,CRD,12.5 +CMT,1,1,257,1,CSH,6 +CMT,1,1,655,4.2,CRD,14 +CMT,1,1,486,2.7,CSH,10 +CMT,1,1,367,1.2,CRD,6.5 +CMT,1,1,822,3.2,CRD,13 +CMT,1,1,383,0.9,CSH,6.5 +CMT,1,1,1756,8.2,CRD,27 +CMT,1,1,1509,3.4,CSH,17.5 +CMT,1,1,496,1.2,CSH,7.5 +CMT,1,1,145,0.3,CSH,3.5 +CMT,1,1,697,1.6,CRD,9.5 +CMT,1,1,468,1.7,CRD,8 +CMT,1,1,29,0.2,CSH,3 +CMT,1,1,546,1.4,CSH,8 +CMT,1,1,400,1.1,CSH,6 +CMT,1,1,644,1.9,CRD,9.5 +CMT,1,1,365,1.8,CSH,7.5 +CMT,1,1,378,0.8,CRD,6 +CMT,1,1,288,1.1,CSH,5.5 +CMT,1,1,570,1.9,CSH,9 +CMT,1,1,1295,2.1,CSH,14.5 +CMT,1,1,544,2.1,CSH,9.5 +CMT,1,1,249,1.2,CRD,6 +CMT,1,1,385,1.5,CRD,7.5 +CMT,1,1,647,2.9,CRD,11.5 +CMT,1,1,103,0.4,CSH,3.5 +CMT,1,1,575,4.4,CSH,14 +CMT,1,1,784,2.1,CSH,11 +CMT,1,1,215,1,CRD,5.5 +CMT,1,1,527,2.1,CRD,9 +CMT,1,1,584,3.5,CRD,12 +CMT,1,1,399,1.5,CRD,7 +CMT,1,1,997,7.6,CSH,24 +CMT,1,1,254,0.9,CSH,5.5 +CMT,1,1,285,1.6,CSH,7 +CMT,1,1,149,0.5,CRD,4 +CMT,1,1,424,0.9,CSH,6.5 +CMT,1,1,428,1.2,CSH,6.5 +CMT,1,1,866,2.5,CSH,11 +CMT,1,1,483,1.5,CRD,8 +CMT,1,1,704,3.1,CSH,12.5 +CMT,1,1,411,0.7,CRD,6 +CMT,1,1,642,1.3,CSH,8 +CMT,1,1,638,1.4,CRD,8.5 +CMT,1,1,642,0.8,CSH,8 +CMT,1,1,212,0.6,CSH,4.5 +CMT,1,1,926,9,CRD,26.5 +CMT,1,1,1244,7.6,CRD,23 +CMT,1,1,495,2.8,CRD,10.5 +CMT,1,1,1579,13.8,CRD,39.5 +CMT,1,1,682,3.1,CRD,11.5 +CMT,1,1,928,5.2,CRD,18 +CMT,1,1,675,1.7,CRD,9.5 +CMT,1,1,251,1.5,CSH,6 +CMT,1,1,596,2,CRD,9.5 +CMT,1,1,226,0.6,CSH,4.5 +CMT,1,1,398,1.4,CSH,7 +CMT,1,1,631,3.1,CRD,11 +CMT,1,1,562,3.2,CSH,11.5 +CMT,1,1,187,1,CRD,5.5 +CMT,1,1,1161,5.4,CRD,19 +CMT,1,1,98,0.3,CSH,3.5 +CMT,1,1,514,2.1,CRD,9 +CMT,1,1,1186,5.8,CRD,21 +CMT,1,1,1004,2.4,CSH,12.5 +CMT,1,1,461,1.9,CSH,9 +CMT,1,1,238,1.2,CRD,5.5 +CMT,1,1,845,9.8,CRD,27 +CMT,1,1,336,1.4,CRD,6.5 +CMT,1,3,394,2.8,CRD,9.5 +CMT,1,3,831,4.2,CSH,15 +CMT,1,3,2332,8.7,CRD,32 +CMT,1,1,107,0.4,CSH,3.5 +CMT,1,1,474,2,CRD,9 +CMT,1,1,510,1.4,CSH,8 +CMT,1,1,226,0.6,CRD,5 +CMT,1,1,276,1.4,CSH,6.5 +CMT,1,1,1405,2.8,CSH,16 +CMT,1,1,333,2,CRD,8 +CMT,1,1,1176,5.2,CSH,18.5 +CMT,1,1,899,4.4,CSH,15.5 +CMT,1,1,1568,3.7,CRD,19 +CMT,1,1,888,1.2,CRD,10.5 +CMT,1,1,1174,5.7,CSH,19 +CMT,1,1,497,1.9,CSH,9 +CMT,1,1,881,3.1,CRD,13 +CMT,1,1,228,1,CSH,5.5 +CMT,1,1,733,2.6,CSH,11 +CMT,1,1,586,1,CRD,8 +CMT,1,1,374,1.5,CSH,7 +CMT,1,1,1133,14,CSH,38.5 +CMT,1,1,318,1.8,CRD,7 +CMT,1,1,328,1.1,CRD,6.5 +CMT,1,1,706,5.3,CRD,16.5 +CMT,1,1,1476,8.2,CSH,26.5 +CMT,1,1,299,1.1,CRD,6.5 +CMT,1,1,500,1.3,CSH,7.5 +CMT,1,1,820,2.4,CSH,11.5 +CMT,1,1,437,1.7,CRD,8 +CMT,1,1,615,2.6,CRD,10 +CMT,1,1,1690,4.9,CSH,22 +CMT,1,1,1029,8.3,CRD,25 +CMT,1,1,630,2,CRD,9.5 +CMT,1,1,1643,6.3,CRD,23.5 +CMT,1,1,825,1.6,CRD,10 +CMT,1,1,273,1.7,CSH,7 +CMT,1,1,558,2.5,CSH,10.5 +CMT,1,1,273,1.7,CRD,7.5 +CMT,1,2,918,3.3,CSH,14 +CMT,1,1,432,2,CSH,8 +CMT,1,1,270,0.7,CSH,5 +CMT,1,1,657,1.7,CSH,9.5 +CMT,1,1,295,2.1,CSH,8 +CMT,1,1,427,2.1,CSH,8.5 +CMT,1,1,84,0.5,CSH,3.5 +CMT,2,1,28,0,CRD,52 +CMT,1,1,1029,3.8,CSH,15.5 +CMT,1,1,727,1.1,CRD,9.5 +CMT,1,1,1009,3.4,CSH,14.5 +CMT,1,1,911,8.4,CRD,24.5 +CMT,1,1,324,0.6,CSH,5.5 +CMT,1,1,444,1.5,CRD,7.5 +CMT,1,1,467,1.1,CSH,7 +CMT,1,1,370,1.1,CSH,6.5 +CMT,1,1,2254,0.4,CSH,4 +CMT,1,2,1574,8.4,CSH,27.5 +CMT,1,1,855,2.2,CRD,11.5 +CMT,1,1,50,0.3,CRD,3 +CMT,1,1,698,2.2,CRD,10 +CMT,1,1,695,2.2,CSH,10 +CMT,1,1,1201,10.4,CSH,30 +CMT,1,1,455,0.9,CRD,6.5 +CMT,1,2,612,2.3,CRD,10 +CMT,1,1,1339,12.3,CRD,36 +CMT,1,1,789,3.6,CRD,13.5 +CMT,1,1,189,0.6,CRD,4.5 +CMT,1,1,325,1.3,CSH,6.5 +CMT,1,1,521,2.7,CSH,10 +CMT,1,1,296,0.6,CRD,5 +CMT,1,1,776,2.7,CSH,11.5 +CMT,1,1,579,2.4,CRD,9.5 +CMT,1,1,443,1.6,CRD,7.5 +CMT,1,1,556,1.4,CSH,8 +CMT,1,1,647,2.4,CSH,10 +CMT,1,1,195,0.4,CSH,4 +CMT,1,1,681,4.7,CSH,15 +CMT,1,1,966,5.9,CSH,19.5 +CMT,1,1,945,11.5,CSH,32.5 +CMT,1,1,307,0.8,CRD,5.5 +CMT,1,1,580,2.3,CSH,9.5 +CMT,1,1,511,1.9,CRD,9 +CMT,1,1,749,7.7,CRD,22 +CMT,1,1,588,1.4,CSH,8.5 +CMT,1,1,285,1.9,CRD,7.5 +CMT,1,1,1783,11,CSH,34.5 +CMT,1,1,302,0.6,CRD,5 +CMT,1,1,502,1.7,CRD,8 +CMT,1,1,1199,3.4,CSH,16 +CMT,1,1,186,0.9,CRD,5 +CMT,1,1,540,2.4,CRD,10.5 +CMT,1,1,507,3.3,CRD,11.5 +CMT,1,1,337,2,CRD,7.5 +CMT,1,1,240,1.2,CSH,5.5 +CMT,1,1,174,0.7,CRD,4.5 +CMT,1,1,590,2.6,CSH,11 +CMT,1,1,298,0.9,CSH,6 +CMT,1,1,832,2.3,CRD,11.5 +CMT,1,1,772,2.6,CRD,11.5 +CMT,1,1,729,1.4,CRD,9 +CMT,1,1,511,1.5,CSH,8 +CMT,1,1,318,0.7,CSH,5.5 +CMT,1,1,1042,6.5,CRD,21.5 +CMT,1,1,743,2.8,CRD,12.5 +CMT,1,1,278,1.3,CRD,6 +CMT,1,1,759,1.9,CRD,10 +CMT,1,1,120,0.5,CSH,3.5 +CMT,1,1,992,3.2,CSH,14 +CMT,1,1,723,4.3,CSH,15 +CMT,1,1,405,1.1,CSH,6.5 +CMT,1,1,356,0.8,CRD,6 +CMT,1,1,672,2.2,CRD,10 +CMT,2,2,1456,18.4,NOC,52 +CMT,1,1,940,2.7,CSH,12.5 +CMT,1,1,533,1.7,CRD,8.5 +CMT,1,1,409,0.7,CSH,6.5 +CMT,1,1,1267,3.4,CRD,16.5 +CMT,1,4,751,5,CRD,16 +CMT,1,1,478,1.8,CSH,7.5 +CMT,1,1,182,0.5,CSH,4 +CMT,1,1,944,3.1,CRD,13.5 +CMT,1,1,193,1,CSH,5 +CMT,1,1,773,3.2,CSH,12.5 +CMT,1,1,1058,2.9,CRD,14 +CMT,1,1,834,3.6,CRD,13.5 +CMT,1,2,74,0,CSH,3 +CMT,1,1,111,0.3,CSH,3.5 +CMT,1,1,566,0.8,CSH,7.5 +CMT,1,1,828,8.1,CSH,24 +CMT,1,1,156,0.4,CRD,4 +CMT,1,1,491,3.2,CSH,11 +CMT,1,1,982,10,CRD,29 +CMT,1,1,135,0.8,CRD,4.5 +CMT,1,1,1549,8.2,CRD,27 +CMT,1,3,379,1.7,CRD,7.5 +CMT,1,3,397,2.5,CRD,9 +CMT,1,3,489,2.3,CSH,9.5 +CMT,1,4,586,1.5,CSH,8.5 +CMT,1,4,675,5.4,CRD,17 +CMT,1,2,179,0.5,CSH,4.5 +CMT,1,1,292,0.8,CSH,5.5 +CMT,1,1,97,0.3,CSH,3.5 +CMT,1,1,77,0.4,CRD,3.5 +CMT,1,1,451,1.6,CSH,7.5 +CMT,1,1,764,1.6,CSH,10 +CMT,1,1,1315,5.1,CRD,19.5 +CMT,1,1,1915,8,CSH,29 +CMT,1,1,703,1.9,CRD,9.5 +CMT,1,1,980,2.2,CRD,11.5 +CMT,1,1,736,1.3,CSH,9 +CMT,1,1,622,1.9,CSH,9 +CMT,1,1,566,1.5,CSH,8 +CMT,1,1,375,1,CRD,6.5 +CMT,1,1,692,2.1,CSH,10 +CMT,1,1,755,5.1,CSH,16.5 +CMT,1,1,588,1,CSH,7.5 +CMT,1,1,1356,11.2,CSH,32.5 +CMT,1,1,353,1.6,CRD,7.5 +CMT,1,1,717,4.3,CRD,15 +CMT,1,1,1103,10.8,CSH,30.5 +CMT,1,1,332,1.7,CRD,7.5 +CMT,1,1,446,2.9,CSH,10.5 +CMT,1,1,956,3.1,CRD,14 +CMT,1,1,490,1.5,CRD,8 +CMT,1,1,498,1.4,CRD,8 +CMT,1,1,902,1.7,CRD,11 +CMT,1,1,479,2.5,CRD,9.5 +CMT,1,1,1001,1.4,CRD,11.5 +CMT,1,1,584,1.5,CRD,8.5 +CMT,1,1,328,1.3,CRD,6 +CMT,1,3,624,1.9,CRD,9.5 +CMT,1,2,243,1.1,CSH,6 +CMT,1,1,483,2.4,CRD,10 +CMT,1,1,789,1.5,CRD,10 +CMT,1,1,366,1.9,CSH,8 +CMT,1,1,936,3.4,CSH,14 +CMT,1,1,634,2.4,CRD,10 +CMT,1,1,79,0.2,CRD,3 +CMT,1,1,296,0.8,CRD,5.5 +CMT,1,1,77,0.5,CSH,3.5 +CMT,1,4,355,0.9,CSH,6 +CMT,1,1,771,1.9,CRD,10.5 +CMT,1,1,877,6.6,CSH,20.5 +CMT,1,1,932,1.2,CRD,11 +CMT,1,1,654,2.5,CRD,10.5 +CMT,1,1,427,1.2,CSH,7 +CMT,1,1,397,1.5,CRD,7.5 +CMT,1,1,215,1,CSH,5.5 +CMT,1,1,503,3.2,CSH,11 +CMT,1,1,640,1,CRD,8 +CMT,1,1,731,1.7,CRD,9 +CMT,1,4,1138,3.7,CSH,16.5 +CMT,1,4,604,2,CRD,9 +CMT,1,4,185,0.6,CSH,4.5 +CMT,1,3,453,1,CRD,7 +CMT,1,1,397,1.1,CSH,6.5 +CMT,1,1,617,2.2,CSH,9.5 +CMT,1,1,261,0.7,CSH,5 +CMT,1,1,256,1.4,CSH,6 +CMT,1,1,623,1.5,CSH,8.5 +CMT,1,1,567,1.3,CSH,8 +CMT,1,1,2,0,DIS,2.5 +CMT,2,1,2632,19.5,CRD,52 +CMT,1,2,132,0.5,CRD,4 +CMT,1,1,119,0.7,CSH,4 +CMT,1,1,1362,9.5,CRD,28.5 +CMT,1,1,323,1.1,CRD,6 +CMT,1,1,330,0.9,CRD,5.5 +CMT,1,1,458,1.3,CRD,7 +CMT,1,1,311,0.3,CSH,5 +CMT,1,1,710,2,CRD,10 +CMT,1,1,139,0.7,CSH,4.5 +CMT,1,2,498,5.4,CSH,16.5 +CMT,1,3,450,2.3,CSH,9.5 +CMT,1,3,405,3.3,CSH,10.5 +CMT,1,1,275,1.3,CSH,6 +CMT,1,2,326,1.2,CSH,6.5 +CMT,1,1,456,1.9,CRD,8 +CMT,1,1,881,1.4,CSH,10.5 +CMT,1,2,503,1.2,CRD,7.5 +CMT,1,1,371,0.8,CRD,6 +CMT,1,1,811,6.1,CSH,19 +CMT,1,1,1201,3.3,CSH,16 +CMT,1,1,349,1.4,CSH,6.5 +CMT,1,2,162,0.5,CSH,4 +CMT,1,1,281,1.7,CSH,7 +CMT,1,1,464,1,CSH,7 +CMT,1,1,259,0.6,CSH,5 +CMT,1,2,645,5.8,CRD,18.5 +CMT,1,3,347,1.7,CRD,7.5 +CMT,1,3,369,1,CSH,6.5 +CMT,1,4,866,2.8,CSH,12.5 +CMT,1,2,1450,5,CSH,19 +CMT,1,1,152,1.2,CSH,5.5 +CMT,1,1,1429,3.7,CSH,17.5 +CMT,1,1,265,0.9,CSH,5.5 +CMT,1,1,462,1.4,CRD,7.5 +CMT,1,2,260,0.7,CSH,5 +CMT,2,1,1874,21,CSH,52 +CMT,1,1,183,0.6,CRD,4.5 +CMT,1,1,305,1.1,CRD,6.5 +CMT,1,3,486,0.9,CRD,7.5 +CMT,1,1,477,1.2,CRD,7.5 +CMT,1,1,203,0.5,CSH,4.5 +CMT,1,1,401,1.4,CRD,7 +CMT,1,2,533,1,CSH,7.5 +CMT,1,1,473,1.5,CSH,8 +CMT,1,1,874,1.6,CSH,10.5 +CMT,1,1,853,1.9,CRD,11 +CMT,1,1,567,3.1,CRD,11.5 +CMT,5,2,3504,41.6,CRD,80 +CMT,1,1,808,4.8,CRD,15.5 +CMT,1,1,621,1.4,CSH,8.5 +CMT,1,2,184,0.6,CSH,4.5 +CMT,1,1,651,2.1,CSH,10.5 +CMT,1,1,277,0.8,CRD,5.5 +CMT,1,1,190,0.9,CSH,5 +CMT,1,1,494,1,CSH,7 +CMT,1,1,723,2.9,CSH,11.5 +CMT,1,1,695,1.8,CRD,10 +CMT,1,1,547,1.7,CSH,9 +CMT,1,4,1259,10.9,CSH,31.5 +CMT,1,4,724,3.3,CSH,12.5 +CMT,1,3,1140,3.6,CSH,15 +CMT,1,1,948,6.9,CSH,21 +CMT,1,1,866,2,CSH,12 +CMT,1,1,228,0.9,CRD,5.5 +CMT,1,1,1444,1,CRD,14.5 +CMT,1,1,351,0.9,CRD,6 +CMT,1,1,897,6.6,CRD,19.5 +CMT,1,1,754,0.8,CSH,9 +CMT,1,3,546,1.6,CRD,8.5 +CMT,1,1,759,2.4,CRD,11 +CMT,1,1,68,0.3,CSH,3 +CMT,1,1,694,8.8,CSH,25 +CMT,1,1,2056,6.5,CRD,26.5 +CMT,1,1,432,1.7,CRD,7.5 +CMT,1,1,634,1.9,CRD,9.5 +CMT,1,2,454,2,CRD,8.5 +CMT,1,1,2512,0,NOC,2.5 +CMT,1,1,312,1.1,CRD,6 +CMT,1,1,222,0.5,CSH,4.5 +CMT,1,1,419,1.5,CRD,7.5 +CMT,1,1,861,1,CRD,10 +CMT,1,1,400,1.3,CRD,7 +CMT,1,4,651,4.9,CRD,16 +CMT,1,4,1220,5.6,CSH,20.5 +CMT,1,4,186,0.8,CRD,4.5 +CMT,1,2,810,1.9,CSH,10.5 +CMT,1,1,203,0.6,CRD,4.5 +CMT,1,2,195,0.7,CSH,4.5 +CMT,1,1,670,2.6,CRD,11 +CMT,1,1,1141,1.9,CRD,13 +CMT,1,1,330,1.3,CRD,6.5 +CMT,1,2,210,0.7,CSH,4.5 +CMT,1,1,1642,7.9,CSH,28 +CMT,1,1,537,1.5,CSH,8.5 +CMT,1,2,418,1.3,CSH,7.5 +CMT,1,1,348,1.3,CRD,6.5 +CMT,1,1,289,0.3,CSH,5 +CMT,1,1,1376,9.6,CSH,30 +CMT,1,1,324,2.9,CSH,10 +CMT,1,1,800,2.3,CSH,11 +CMT,1,1,946,3.1,CRD,13.5 +CMT,1,1,1290,6.4,CSH,21.5 +CMT,1,1,229,0.6,CSH,4.5 +CMT,1,1,635,1.5,CRD,9 +CMT,1,1,846,2.5,CRD,11 +CMT,1,1,526,2.8,CSH,10.5 +CMT,1,1,1803,3.6,CSH,19.5 +CMT,1,1,698,0.9,CSH,8.5 +CMT,1,1,607,2.8,CRD,11 +CMT,1,1,1008,4.3,CSH,15.5 +CMT,1,1,949,3.7,CSH,14.5 +CMT,1,1,1031,2.3,CSH,12.5 +CMT,1,1,461,0.5,CRD,6 +CMT,1,1,843,2.7,CRD,12 +CMT,1,1,287,1.3,CRD,6 +CMT,1,1,691,3,CRD,12 +CMT,1,1,684,5.5,CSH,17 +CMT,1,1,114,0.4,CSH,3.5 +CMT,1,1,235,1,CRD,5.5 +CMT,1,1,898,4.1,CSH,15.5 +CMT,1,1,261,1.1,CSH,6 +CMT,1,1,186,0.8,CSH,5 +CMT,1,1,784,2.6,CSH,11.5 +CMT,1,1,240,0.7,CSH,5 +CMT,1,1,820,2.2,CSH,10.5 +CMT,1,1,1038,1.9,CSH,12.5 +CMT,1,1,903,2.5,CSH,12.5 +CMT,1,1,184,0.6,CSH,4.5 +CMT,1,2,1116,9.8,CRD,29 +CMT,1,1,294,1.5,CRD,6.5 +CMT,1,1,948,2.3,CRD,12.5 +CMT,1,1,722,2.3,CSH,10.5 +CMT,1,3,692,3.4,CSH,12.5 +CMT,1,1,914,3.6,CRD,14.5 +CMT,1,1,612,1.3,CRD,8.5 +CMT,1,1,349,1.4,CSH,7 +CMT,1,1,495,1.9,CRD,8 +CMT,1,2,334,1,CRD,5.5 +CMT,1,1,706,1.8,CSH,9.5 +CMT,1,1,486,1.4,CSH,7.5 +CMT,1,1,201,0.8,CRD,5 +CMT,2,3,1889,18.8,CRD,52 +CMT,1,1,1293,2.9,CRD,15 +CMT,1,1,396,1.2,CRD,7 +CMT,1,2,317,0.6,CRD,5.5 +CMT,1,1,198,0.5,CSH,4.5 +CMT,1,1,939,3.2,CRD,13.5 +CMT,1,3,650,3.2,CRD,11.5 +CMT,1,1,140,0.6,CSH,4.5 +CMT,1,1,1344,3.9,CRD,18 +CMT,1,1,391,2.5,CSH,9 +CMT,1,1,308,2,CRD,8 +CMT,1,1,325,1.6,CRD,7.5 +CMT,1,1,287,0.6,CRD,5 +CMT,1,1,821,2.2,CRD,11 +CMT,1,1,59,0.3,CSH,3 +CMT,1,1,471,1.1,CRD,7 +CMT,1,1,374,1.2,CRD,7 +CMT,1,2,652,1.8,CSH,9.5 +CMT,1,1,434,1.8,CRD,8.5 +CMT,1,1,665,2.6,CRD,11 +CMT,1,1,185,0.7,CSH,5 +CMT,1,1,1924,6.6,CRD,25 +CMT,1,1,662,1.6,CRD,9.5 +CMT,1,1,169,0.6,CSH,4.5 +CMT,5,1,526,3.1,CRD,45 +CMT,1,1,551,0.7,CRD,7 +CMT,1,1,753,2.2,CRD,11 +CMT,1,2,594,1.4,CSH,8.5 +CMT,1,1,558,1.4,CRD,8 +CMT,1,1,341,0.9,CSH,6 +CMT,1,1,521,2.7,CSH,10.5 +CMT,1,1,299,0.9,CRD,5.5 +CMT,2,1,1269,4.9,CRD,52 +CMT,1,1,557,1.5,CSH,8.5 +CMT,1,2,477,1.4,CSH,7.5 +CMT,1,3,89,0.2,CSH,3.5 +CMT,1,1,378,1.6,CSH,7.5 +CMT,1,1,302,0.8,CSH,5.5 +CMT,1,1,554,1.3,CRD,8 +CMT,1,3,476,1.4,CRD,7.5 +CMT,1,1,589,1.4,CRD,8.5 +CMT,1,1,374,2.1,CRD,8 +CMT,1,1,912,4.4,CSH,16 +CMT,1,1,319,0.9,CSH,6 +CMT,1,1,338,1.3,CSH,6.5 +CMT,1,1,243,1.2,CRD,6 +CMT,1,2,507,1.4,CSH,7.5 +CMT,1,2,774,3.7,CSH,14.5 +CMT,1,1,949,3.2,CRD,13.5 +CMT,1,1,241,0.9,CRD,5 +CMT,1,1,197,0.3,CRD,4 +CMT,1,1,741,2.7,CSH,12 +CMT,1,1,266,1.4,CSH,6.5 +CMT,1,1,765,2.7,CRD,12.5 +CMT,1,1,325,1.2,CSH,6.5 +CMT,1,1,363,1.8,CRD,7.5 +CMT,1,1,437,1.3,CSH,7.5 +CMT,1,2,545,3.2,CRD,11 +CMT,1,3,444,2.1,CRD,8.5 +CMT,1,4,96,0.5,CSH,3.5 +CMT,1,1,952,3.5,CSH,13.5 +CMT,1,1,175,1.1,CSH,5 +CMT,1,1,299,1.1,CSH,6 +CMT,1,1,1263,7.9,CSH,24.5 +CMT,1,3,764,1.4,CRD,9.5 +CMT,1,1,863,9.1,CRD,26 +CMT,1,1,693,1.7,CSH,9.5 +CMT,1,1,152,0.7,CRD,4.5 +CMT,1,1,368,1.1,CRD,6.5 +CMT,1,4,177,0.9,CSH,5 +CMT,1,3,711,2.4,CSH,11 +CMT,1,4,925,1.7,CRD,11.5 +CMT,1,3,257,0.9,CSH,5 +CMT,1,4,1020,3,CSH,13.5 +CMT,1,3,546,2.5,CSH,10 +CMT,1,3,481,1.8,CSH,8 +CMT,1,3,525,1.5,CRD,8.5 +CMT,1,4,1018,2.8,CRD,14 +CMT,1,1,499,2.5,CSH,10 +CMT,1,1,609,1,CRD,8 +CMT,1,1,866,2.2,CRD,11 +CMT,1,1,449,2,CRD,8 +CMT,1,1,229,0.6,CRD,5 +CMT,1,1,324,1.5,CRD,7 +CMT,1,1,247,1.2,CRD,6 +CMT,1,1,133,0.6,CSH,4 +CMT,1,3,369,1.8,CSH,7.5 +CMT,1,4,527,2,CRD,9 +CMT,1,1,427,1.3,CRD,7 +CMT,1,1,324,0.8,CSH,5.5 +CMT,1,1,143,0.6,CSH,4 +CMT,1,1,198,0.7,CRD,4.5 +CMT,1,1,320,1,CRD,6 +CMT,1,1,455,1.3,CRD,7 +CMT,1,1,376,0.8,CSH,6 +CMT,1,1,545,3.8,CSH,12.5 +CMT,2,1,1290,16.2,CRD,52 +CMT,1,1,1609,8.2,CSH,26 +CMT,2,1,2559,8.4,CRD,52 +CMT,1,1,742,0.9,CRD,9 +CMT,1,1,304,0.7,CRD,5.5 +CMT,1,1,146,0.7,CRD,4.5 +CMT,1,4,363,1,CSH,6 +CMT,1,1,654,1.1,CRD,8 +CMT,1,2,666,2.2,CRD,10 +CMT,1,1,786,4.2,CSH,14.5 +CMT,1,1,470,1.6,CSH,8 +CMT,1,1,417,0.8,CSH,6 +CMT,1,1,319,1,CRD,6 +CMT,1,2,471,1.9,CRD,8 +CMT,1,1,415,2.1,CRD,8.5 +CMT,1,1,433,2.2,CRD,9.5 +CMT,1,1,409,0.9,CSH,6.5 +CMT,1,1,707,0.9,CSH,8.5 +CMT,1,1,1018,2.9,CSH,13.5 +CMT,1,1,718,1.9,CSH,10.5 +CMT,1,2,503,2.2,CSH,9.5 +CMT,1,1,232,0.6,CRD,5 +CMT,1,1,339,0.9,CSH,6 +CMT,1,1,131,1.1,CRD,5 +CMT,1,1,503,1.6,CRD,8.5 +CMT,1,4,627,1.5,CSH,9 +CMT,1,2,1252,4.1,CRD,17 +CMT,1,1,611,4.3,CRD,14.5 +CMT,1,1,1386,3.3,CRD,16.5 +CMT,1,1,282,0.7,CSH,5 +CMT,1,1,101,0.2,CRD,3.5 +CMT,1,1,173,0.4,CSH,4 +CMT,1,1,102,0.2,CSH,3.5 +CMT,1,1,571,3,CRD,11 +CMT,1,1,92,0.4,CSH,4 +CMT,1,1,1024,8.8,CRD,26.5 +CMT,1,1,587,3.1,CSH,11 +CMT,1,1,595,1.2,CRD,8 +CMT,1,1,535,1.7,CRD,8.5 +CMT,1,2,165,1.1,CRD,5 +CMT,1,3,139,0.4,CSH,4 +CMT,1,2,576,1.6,CRD,8.5 +CMT,1,1,221,1.1,CSH,5.5 +CMT,1,1,994,1.3,CSH,11.5 +CMT,1,1,908,6,CSH,18.5 +CMT,1,1,470,2,CSH,8.5 +CMT,1,1,290,0.8,CSH,5.5 +CMT,1,1,358,1.7,CRD,7.5 +CMT,1,1,324,0.5,CSH,5.5 +CMT,1,1,82,0.2,CRD,3 +CMT,1,2,377,1.2,CRD,7 +CMT,1,1,393,1.5,CSH,7.5 +CMT,1,1,261,0.9,CSH,5.5 +CMT,1,1,250,0.8,CSH,5 +CMT,1,1,583,2.6,CSH,10 +CMT,1,1,900,2,CRD,12 +CMT,1,1,1249,1.2,CSH,13.5 +CMT,1,3,586,4.2,CRD,13.5 +CMT,1,3,423,0.9,CSH,6.5 +CMT,1,1,788,3,CSH,12.5 +CMT,1,1,350,1.3,CSH,7 +CMT,1,2,687,1.9,CSH,9.5 +CMT,1,2,327,0.8,CRD,5.5 +CMT,1,1,164,0.4,CSH,4 +CMT,1,2,533,1.3,CSH,7.5 +CMT,2,1,1486,17.6,CRD,52 +CMT,1,1,369,2.1,CRD,8.5 +CMT,1,1,231,1.1,CRD,6 +CMT,1,1,83,0.2,CSH,3 +CMT,1,1,480,2.4,CRD,9 +CMT,1,3,502,2.1,CSH,9 +CMT,1,3,782,3.2,CSH,12.5 +CMT,1,3,593,1.1,CRD,8 +CMT,1,4,650,1.7,CSH,9.5 +CMT,1,1,404,1.7,CRD,8 +CMT,1,1,135,0.4,CSH,4 +CMT,1,2,728,2.8,CSH,11.5 +CMT,1,1,306,1,CSH,6 +CMT,1,1,485,3.2,CSH,11.5 +CMT,1,1,868,2.3,CSH,11.5 +CMT,1,1,1929,8.5,CRD,28.5 +CMT,1,1,251,0.9,CRD,5.5 +CMT,2,1,1202,16.7,CSH,52 +CMT,1,3,666,1,CRD,8.5 +CMT,1,1,701,1.8,CSH,10 +CMT,1,3,1491,10.3,CRD,32.5 +CMT,1,1,773,2.8,CRD,12.5 +CMT,1,1,324,1.1,CSH,6 +CMT,1,1,545,1.7,CRD,9 +CMT,1,1,640,2.6,CSH,11 +CMT,1,1,871,2.7,CSH,12.5 +CMT,1,1,276,1,CRD,5.5 +CMT,1,1,302,1,CRD,5.5 +CMT,1,1,15,0.2,CSH,2.5 +CMT,1,1,244,0.9,CRD,5.5 +CMT,1,1,191,0.6,CRD,4.5 +CMT,1,1,658,3,CSH,11.5 +CMT,1,3,680,3.5,CRD,12.5 +CMT,1,3,320,1.7,CRD,7 +CMT,1,4,907,2.9,CRD,13 +CMT,1,3,656,2.8,CSH,11 +CMT,1,4,795,2.9,CSH,12.5 +CMT,1,3,219,1,CRD,5.5 +CMT,1,1,568,3.9,CSH,13 +CMT,1,1,470,2.3,CSH,9.5 +CMT,1,1,348,0.8,CSH,6 +CMT,1,2,405,1,CRD,6.5 +CMT,1,1,371,1,CSH,6.5 +CMT,1,1,1126,3.2,CSH,15 +CMT,1,1,140,0.9,CSH,5 +CMT,1,1,240,1.2,CRD,6 +CMT,1,1,164,0.6,CSH,4.5 +CMT,1,2,723,2.4,CSH,10.5 +CMT,1,1,307,1,CRD,5.5 +CMT,1,1,165,0.5,CSH,4 +CMT,1,1,599,2.5,CSH,10.5 +CMT,1,1,333,1.4,CSH,7 +CMT,1,1,1152,3.6,CRD,16 +CMT,1,3,511,2,CSH,9 +CMT,1,3,490,2.2,CRD,9 +CMT,1,1,549,1.4,CRD,8 +CMT,1,1,806,2.6,CRD,11 +CMT,1,1,321,0.9,CRD,6 +CMT,1,2,665,1.7,CSH,9 +CMT,1,2,168,0.5,CSH,4 +CMT,1,1,606,1.2,CRD,8 +CMT,1,1,392,1.2,CRD,6.5 +CMT,1,1,714,1.7,CRD,10 +CMT,1,1,140,0.5,CSH,4 +CMT,1,1,518,2.6,CRD,10 +CMT,1,1,669,1.4,CSH,9 +CMT,1,1,264,0.9,CSH,5.5 +CMT,1,1,923,4.6,CSH,16 +CMT,1,1,1161,1.4,CSH,12.5 +CMT,1,2,175,0.5,CRD,4.5 +CMT,1,1,530,1.8,CSH,9 +CMT,1,1,500,1.2,CRD,7 +CMT,1,1,425,3.2,CRD,10.5 +CMT,1,1,343,1.5,CSH,7 +CMT,1,1,567,0.3,CSH,7 +CMT,1,1,420,0.9,CSH,6.5 +CMT,1,1,464,2.5,CRD,9 +CMT,1,1,797,5.7,CSH,18 +CMT,1,1,512,2.4,CRD,9.5 +CMT,1,1,727,2.4,CSH,11 +CMT,1,1,1171,3.8,CSH,16.5 +CMT,1,4,1775,3.7,CSH,20 +CMT,1,1,848,3.1,CSH,12.5 +CMT,1,1,96,0.2,CSH,3.5 +CMT,1,1,187,1.2,CSH,5.5 +CMT,1,2,261,0.8,CSH,5.5 +CMT,1,1,605,1.3,CSH,8.5 +CMT,1,1,686,1.8,CRD,10 +CMT,1,1,494,3.4,CSH,11 +CMT,1,1,670,6.6,CRD,19.5 +CMT,1,1,640,1.9,CRD,9.5 +CMT,1,2,1587,5,CRD,21.5 +CMT,1,1,266,0.5,CSH,5 +CMT,1,1,685,6.3,CRD,19 +CMT,1,2,486,2,CRD,8.5 +CMT,1,1,341,1.2,CRD,6 +CMT,1,1,616,2.4,CRD,10 +CMT,1,1,1365,6.9,CSH,2.5 +CMT,1,1,232,0.7,CRD,4.5 +CMT,1,1,806,5,CSH,15.5 +CMT,1,2,606,1.6,CRD,8.5 +CMT,1,4,615,1.8,CSH,9.5 +CMT,1,1,614,2.1,CRD,9.5 +CMT,1,2,1086,9.9,CRD,28.5 +CMT,1,2,959,3.7,CRD,14.5 +CMT,1,1,1324,8,CRD,25 +CMT,1,1,470,2.2,CSH,9 +CMT,1,1,230,0.7,CSH,5 +CMT,1,1,273,1.6,CRD,7 +CMT,1,1,530,1.3,CRD,8 +CMT,1,1,116,0.3,CSH,3.5 +CMT,1,1,342,0.8,CRD,6 +CMT,1,1,343,1.1,CRD,6 +CMT,1,4,360,1.2,CSH,6.5 +CMT,1,1,295,0.8,CRD,5.5 +CMT,1,1,673,1.9,CRD,9.5 +CMT,1,4,1583,6.1,CSH,21.5 +CMT,1,3,154,0.6,CRD,4 +CMT,1,1,573,1.9,CSH,9 +CMT,1,2,620,2.5,CSH,10.5 +CMT,1,1,374,1,CRD,6 +CMT,1,1,888,1.2,CRD,10.5 +CMT,1,1,865,1.9,CRD,11 +CMT,1,1,298,1.4,CSH,7 +CMT,1,1,1236,14.9,CRD,40.5 +CMT,1,1,563,5.1,CSH,16 +CMT,1,1,226,1.2,CSH,6 +CMT,1,1,831,3.3,CRD,13 +CMT,1,1,882,5.3,CRD,17.5 +CMT,1,1,250,1.9,CRD,7.5 +CMT,1,2,125,0.5,CSH,4 +CMT,1,1,799,2.2,CRD,11 +CMT,1,1,387,0.8,CSH,6 +CMT,1,1,479,1.2,CSH,7.5 +CMT,1,1,604,1.8,CSH,9.5 +CMT,1,1,428,0.9,CRD,6.5 +CMT,1,1,1212,3.7,CRD,16 +CMT,1,1,161,0.9,CSH,4.5 +CMT,1,1,415,1.2,CSH,6.5 +CMT,1,2,739,1.7,CRD,9.5 +CMT,1,1,680,3.1,CSH,12 +CMT,1,1,254,1,CRD,6 +CMT,1,1,293,0.7,CSH,5 +CMT,1,1,682,1.6,CRD,9.5 +CMT,1,1,1282,4.1,CSH,18 +CMT,1,2,345,0.9,CSH,6 +CMT,1,2,903,4.4,CSH,15 +CMT,1,2,489,1.3,CSH,7.5 +CMT,1,1,535,2.4,CSH,10 +CMT,1,1,540,1.9,CRD,9 +CMT,1,2,974,3.1,CSH,14 +CMT,1,1,981,5.9,CRD,19 +CMT,1,1,804,4,CSH,14.5 +CMT,1,1,1414,11.8,CRD,34 +CMT,1,2,508,1.9,CRD,8.5 +CMT,1,1,234,0.9,CSH,5 +CMT,1,1,276,1.6,CSH,6.5 +CMT,1,3,703,2.3,CSH,10.5 +CMT,1,2,825,3.7,CSH,13.5 +CMT,1,1,659,1.9,CRD,9 +CMT,1,1,605,2.1,CSH,9.5 +CMT,1,1,558,2.4,CSH,10.5 +CMT,1,1,188,0.6,CSH,4.5 +CMT,1,1,113,0.6,CRD,4 +CMT,1,1,254,0.8,CRD,5.5 +CMT,1,1,1427,2.8,CRD,16.5 +CMT,1,1,131,0.4,CRD,4 +CMT,1,1,275,0.9,CRD,5.5 +CMT,1,1,1073,5.3,CRD,19 +CMT,1,1,467,1.9,CSH,8 +CMT,1,3,895,2,CRD,12 +CMT,1,1,986,2.8,CRD,13.5 +CMT,1,1,287,0.9,CRD,5.5 +CMT,1,1,677,2.1,CRD,10 +CMT,1,1,590,2.1,CSH,10 +CMT,1,1,113,0.5,CSH,3.5 +CMT,1,2,471,1.6,CSH,8 +CMT,1,1,1771,10.2,CRD,34 +CMT,1,1,580,1.9,CRD,9.5 +CMT,1,1,743,1.5,CSH,10 +CMT,1,1,316,0.6,CSH,5.5 +CMT,1,1,1485,4.4,CSH,19.5 +CMT,1,1,396,1.1,CSH,6.5 +CMT,1,1,822,7.6,CRD,22.5 +CMT,1,1,321,2.7,CSH,9 +CMT,1,1,722,2.2,CRD,10.5 +CMT,1,1,569,2.1,CRD,9.5 +CMT,1,1,415,0.8,CSH,6.5 +CMT,1,1,1028,3.2,CSH,14.5 +CMT,1,1,532,1.4,CRD,7.5 +CMT,1,1,573,1.5,CRD,8 +CMT,1,3,1119,2.5,CSH,14 +CMT,1,1,423,2.3,CSH,9 +CMT,1,1,557,1.4,CRD,8 +CMT,1,1,687,2.1,CRD,10 +CMT,1,1,470,2.1,CSH,9 +CMT,1,1,2,0,CSH,2.5 +CMT,1,1,817,4.4,CRD,16 +CMT,1,1,176,0.7,CSH,4.5 +CMT,1,1,1043,3.2,CRD,14.5 +CMT,1,1,508,2.5,CSH,9.5 +CMT,1,1,1084,3.9,CSH,16.5 +CMT,1,3,676,1.9,CRD,9.5 +CMT,1,3,638,0.3,CSH,7.5 +CMT,1,3,454,0.9,CRD,6.5 +CMT,1,1,415,1.3,CSH,7 +CMT,1,1,283,0.8,CSH,5 +CMT,1,1,1043,9.3,CRD,26.5 +CMT,1,1,1659,8.9,CRD,28 +CMT,1,1,923,2.2,CSH,12 +CMT,1,1,827,1.8,CRD,10.5 +CMT,1,1,1184,2.7,CRD,14 +CMT,1,1,578,2.8,CSH,10.5 +CMT,1,1,692,3,CRD,11.5 +CMT,1,1,426,1.3,CSH,6 +CMT,1,1,365,1.3,CSH,7 +CMT,1,3,964,2.6,CSH,13 +CMT,1,3,587,1.1,CRD,8 +CMT,1,4,1192,3.3,CSH,15.5 +CMT,1,1,471,2.6,CRD,10 +CMT,1,1,508,1.8,CRD,8.5 +CMT,1,1,460,0.9,CSH,6.5 +CMT,1,1,269,0.8,CSH,5 +CMT,1,1,596,1.4,CRD,8.5 +CMT,1,1,660,2.2,CSH,10 +CMT,1,1,317,0.7,CSH,5.5 +CMT,1,1,386,1.5,CSH,7 +CMT,1,1,385,2,CRD,8 +CMT,1,1,587,1.2,CSH,8.5 +CMT,1,1,1244,4.4,CRD,17 +CMT,1,1,826,3.1,CRD,12.5 +CMT,1,2,126,0.4,CRD,3.5 +CMT,1,1,428,1.3,CSH,7.5 +CMT,1,3,844,5.4,CSH,18 +CMT,1,1,181,0.8,CSH,4.5 +CMT,1,1,328,1,CRD,6 +CMT,1,4,497,2.3,CSH,9 +CMT,1,1,269,0.3,CSH,4.5 +CMT,1,1,513,1.2,CSH,7.5 +CMT,1,1,815,5,CSH,17 +CMT,1,1,225,0.9,CRD,5 +CMT,1,1,864,2.5,CSH,12 +CMT,1,1,154,0.6,CRD,4 +CMT,1,1,766,4.3,CRD,14.5 +CMT,1,1,580,1.8,CRD,9 +CMT,1,1,826,4.9,CRD,16 +CMT,1,1,276,1.6,CSH,7 +CMT,1,1,520,1.9,CRD,9 +CMT,1,1,279,0.6,CRD,5 +CMT,1,3,570,1.9,CSH,9 +CMT,1,3,1172,5.3,CSH,19.5 +CMT,1,3,591,1.6,CRD,9 +CMT,1,3,863,3.4,CRD,13 +CMT,1,1,1876,1.6,CSH,10 +CMT,1,1,377,0.5,CSH,5.5 +CMT,1,1,197,0.8,CSH,5 +CMT,1,1,473,1,CSH,7 +CMT,1,1,658,2.2,CRD,10 +CMT,1,1,1365,10.5,CSH,31.5 +CMT,1,1,430,0.9,CSH,6.5 +CMT,1,1,726,1.6,CRD,9.5 +CMT,1,1,198,0.7,CSH,4.5 +CMT,1,1,577,2.7,CRD,10.5 +CMT,1,1,196,0.7,CRD,4.5 +CMT,1,1,167,0.7,CSH,4.5 +CMT,1,2,974,1.7,CSH,11.5 +CMT,1,1,215,1.2,CRD,5.5 +CMT,1,1,543,3.3,CSH,11.5 +CMT,1,2,384,1.7,CSH,7.5 +CMT,1,1,807,3.6,CSH,13.5 +CMT,1,3,473,2.7,CRD,10 +CMT,1,1,1010,4.9,CRD,16.5 +CMT,1,2,764,3.4,CSH,13 +CMT,1,1,869,4,CSH,14.5 +CMT,1,2,450,1.8,CRD,8 +CMT,1,2,955,4.4,CRD,16 +CMT,1,2,454,2.1,CRD,8.5 +CMT,1,2,61,0.3,CRD,3 +CMT,1,1,686,3.1,CRD,12 +CMT,1,1,365,1.3,CRD,6.5 +CMT,1,2,486,2,CSH,8.5 +CMT,1,1,720,8.7,CSH,24 +CMT,1,1,959,3.6,CRD,14 +CMT,1,2,754,2.8,CRD,11.5 +CMT,1,1,596,2.4,CSH,10 +CMT,1,2,233,1,CSH,5 +CMT,2,1,2031,21,CRD,52 +CMT,1,2,210,0.9,CRD,5 +CMT,2,1,2259,18.2,CSH,52 +CMT,1,1,1750,5.6,CRD,23 +CMT,1,2,385,1.5,CRD,7 +CMT,1,1,816,3.1,CRD,12 +CMT,1,2,118,0.3,CSH,3.5 +CMT,1,1,648,3,CSH,12 +CMT,1,3,705,3.5,CSH,12.5 +CMT,1,1,547,2.6,CRD,10 +CMT,1,3,502,3.2,CSH,10.5 +CMT,1,1,908,9.2,CSH,26 +CMT,1,1,441,1.5,CSH,7.5 +CMT,1,2,829,4,CRD,14.5 +CMT,1,1,215,0.5,CSH,4.5 +CMT,1,1,243,1.2,CSH,5.5 +CMT,1,2,794,4.1,CRD,14.5 +CMT,1,1,1622,10,CSH,31.5 +CMT,1,1,136,0.5,CRD,4 +CMT,1,2,651,2.1,CRD,10 +CMT,1,1,923,4.8,CRD,17 +CMT,1,1,167,0.4,CSH,4 +CMT,1,1,842,4.1,CRD,14.5 +CMT,1,1,613,1.5,CRD,8.5 +CMT,1,1,802,3.4,CRD,13 +CMT,1,1,2023,7.2,CRD,27.5 +CMT,1,2,2008,8.3,CSH,29.5 +CMT,1,2,315,1.3,CSH,6.5 +CMT,1,2,606,4.1,CSH,13 +CMT,1,1,273,0.8,CSH,5.5 +CMT,1,1,473,1.8,CSH,8.5 +CMT,1,4,1344,4.7,CRD,18 +CMT,1,1,183,0.9,CSH,5 +CMT,1,1,617,1.2,CSH,8.5 +CMT,1,1,812,2.5,CSH,11.5 +CMT,1,1,783,1,CRD,10 +CMT,1,1,373,0.7,CRD,6 +CMT,1,1,702,2.2,CSH,10 +CMT,1,3,132,0.6,CSH,4 +CMT,1,1,668,1,CSH,8.5 +CMT,1,1,998,3.4,CRD,14 +CMT,1,1,364,2.1,CRD,8 +CMT,1,1,430,2.1,CRD,9 +CMT,1,1,526,2.1,CRD,9 +CMT,1,1,465,1,CSH,7 +CMT,1,3,922,3,CRD,12.5 +CMT,1,3,934,3.7,CSH,13.5 +CMT,1,1,352,1.9,CRD,7.5 +CMT,1,1,782,1.6,CRD,10 +CMT,1,2,348,0.6,CRD,5.5 +CMT,1,1,402,1.9,CSH,8 +CMT,1,1,39,0.2,CSH,3 +CMT,1,2,248,1.7,CSH,6.5 +CMT,1,1,791,5.4,CRD,16.5 +CMT,2,1,2203,19.4,CRD,52 +CMT,1,1,218,1.2,CSH,5.5 +CMT,1,1,269,1.2,CRD,6 +CMT,1,2,495,1.8,CSH,8 +CMT,1,2,282,1.3,CRD,6 +CMT,3,1,1966,30.6,CRD,96.5 +CMT,1,2,685,1.5,CSH,9.5 +CMT,4,1,836,6.8,CSH,21 +CMT,1,1,651,1.9,CSH,9.5 +CMT,1,1,739,3.1,CSH,12 +CMT,1,1,428,1.4,CRD,7 +CMT,1,3,263,1.3,CSH,6 +CMT,1,3,521,1.5,CRD,8 +CMT,1,3,631,2.7,CSH,10.5 +CMT,1,3,1468,5.3,CRD,21.5 +CMT,1,4,781,2.1,CSH,10 +CMT,1,1,1155,5.9,CRD,20 +CMT,1,1,715,1.8,CSH,10 +CMT,1,1,314,0.8,CRD,5.5 +CMT,1,1,701,1,CRD,8.5 +CMT,1,1,826,2.7,CSH,12 +CMT,1,1,907,9.6,CRD,27 +CMT,1,2,1069,2.6,CRD,13.5 +CMT,1,1,878,5.3,CRD,17.5 +CMT,1,1,717,2.6,CSH,11.5 +CMT,1,1,271,0.8,CRD,5.5 +CMT,1,3,123,0.5,CSH,4 +CMT,1,1,290,0.9,CSH,5.5 +CMT,1,3,619,2.8,CSH,10.5 +CMT,1,1,1613,7.7,CRD,25.5 +CMT,1,2,849,4,CSH,14 +CMT,1,2,444,1.6,CRD,7.5 +CMT,1,1,738,3.9,CRD,13.5 +CMT,1,3,644,1.7,CRD,9.5 +CMT,1,2,1050,6.3,CSH,19.5 +CMT,1,1,1305,6.2,CRD,21 +CMT,1,2,1132,6.6,CSH,20.5 +CMT,1,2,1226,6,CRD,20.5 +CMT,1,1,2050,11.7,CRD,36.5 +CMT,1,1,588,2.1,CRD,9.5 +CMT,1,1,369,1.1,CSH,6.5 +CMT,1,1,108,0.6,CRD,4 +CMT,1,2,592,2.2,CSH,9.5 +CMT,1,2,431,1.5,CRD,7.5 +CMT,1,1,584,2.8,CRD,10.5 +CMT,1,1,1712,7.9,CSH,27 +CMT,1,1,1190,3.4,CRD,15.5 +CMT,1,1,851,3.7,CSH,13 +CMT,1,3,722,3.8,CRD,13 +CMT,1,1,875,9.2,CSH,26 +CMT,1,1,1291,10,CSH,30 +CMT,1,1,770,3.2,CSH,12.5 +CMT,1,1,675,1.8,CSH,9.5 +CMT,1,2,329,1.9,CRD,7.5 +CMT,1,1,1191,6.7,CSH,20.5 +CMT,1,2,359,0.8,CSH,6 +CMT,1,1,472,2.7,CSH,9.5 +CMT,1,2,236,1,CSH,5.5 +CMT,1,2,792,2.5,CRD,11.5 +CMT,1,1,1329,9.6,CRD,29 +CMT,1,2,510,2.1,CRD,9 +CMT,1,2,1035,4.1,CRD,15 +CMT,1,1,273,0.8,CSH,5.5 +CMT,1,1,1362,6.4,CRD,21 +CMT,1,4,669,1.4,CRD,9 +CMT,1,3,452,1.4,CRD,7.5 +CMT,2,2,1983,18.2,CSH,52 +CMT,1,1,634,2.7,CRD,11 +CMT,1,2,546,1.7,CSH,8.5 +CMT,1,1,1078,6.4,CSH,20 +CMT,1,1,737,6,CRD,19 +CMT,1,2,399,1.5,CRD,7.5 +CMT,1,1,254,0.7,CSH,5 +CMT,1,1,208,0.9,CSH,5 +CMT,1,1,255,0.6,CRD,4.5 +CMT,1,3,209,0.6,CSH,4.5 +CMT,1,1,474,1.5,CSH,7.5 +CMT,1,1,528,2.3,CRD,9 +CMT,1,2,951,3.3,CSH,13.5 +CMT,1,3,1741,3.7,CSH,21.5 +CMT,1,1,310,1.4,CSH,6.5 +CMT,1,4,465,2.2,CSH,9 +CMT,1,1,852,4.2,CRD,14.5 +CMT,1,3,1079,5.1,CSH,17.5 +CMT,1,2,439,1.2,CSH,7 +CMT,1,2,1521,10.2,CRD,31 +CMT,1,2,290,1,CSH,5.5 +CMT,4,1,1866,25.4,CSH,101 +CMT,1,1,716,4.2,CSH,14.5 +CMT,1,1,582,2.7,CRD,10 +CMT,1,1,1253,12.3,CRD,34.5 +CMT,1,3,571,2.8,CSH,10.5 +CMT,1,4,945,1.4,CSH,11 +CMT,1,3,453,1.9,CRD,8 +CMT,1,1,1174,10.7,CRD,31 +CMT,1,1,1316,7,CSH,22.5 +CMT,2,1,2029,17.7,CRD,52 +CMT,1,1,438,1.8,CRD,8 +CMT,1,2,600,2.1,CRD,9.5 +CMT,1,2,1228,8.6,CSH,26.5 +CMT,1,2,279,0.8,CSH,5.5 +CMT,1,1,644,2.2,CSH,10 +CMT,1,1,739,3.6,CSH,13.5 +CMT,1,2,548,1.3,CRD,8 +CMT,1,1,1253,9.5,CRD,28 +CMT,1,1,918,3.2,CRD,13 +CMT,1,2,319,0.9,CRD,5.5 +CMT,1,2,1145,6.2,CRD,20 +CMT,1,3,92,0.3,CSH,3.5 +CMT,2,1,2417,18.6,CRD,52 +CMT,1,1,907,3.4,CRD,13.5 +CMT,1,1,703,2.6,CRD,11 +CMT,1,1,738,4.8,CSH,15.5 +CMT,1,2,254,1,CSH,5.5 +CMT,1,2,153,0.3,CSH,4 +CMT,1,2,919,4,CSH,15 +CMT,1,2,366,1.9,CSH,7.5 +CMT,1,2,238,1.1,CSH,5.5 +CMT,1,1,785,5.6,CSH,17 +CMT,1,1,1059,3.6,CRD,14.5 +CMT,1,2,340,2,CSH,7.5 +CMT,1,1,1429,15.8,CSH,42 +CMT,2,2,1872,17.4,CSH,52 +CMT,1,1,1152,6.5,CRD,20.5 +CMT,1,2,547,1.9,CRD,8.5 +CMT,1,2,333,1.1,CSH,6 +CMT,1,2,914,3.8,CSH,14 +CMT,1,1,454,1.4,CRD,7.5 +CMT,1,1,614,3.1,CRD,11 +CMT,1,1,578,1.9,CRD,9.5 +CMT,1,1,156,0.8,CSH,4.5 +CMT,1,1,1543,8.3,CRD,27.5 +CMT,1,1,1577,16.2,CSH,44.5 +CMT,1,3,1411,15.8,CRD,43 +CMT,1,1,1378,6.4,CRD,23 +CMT,1,2,918,4.2,CSH,15.5 +CMT,1,1,883,8.5,CRD,24 +CMT,1,2,979,4.8,CSH,16.5 +CMT,1,1,447,1.7,CRD,8 +CMT,1,1,201,0.9,CRD,5 +CMT,1,1,1407,10.4,CSH,31.5 +CMT,1,1,469,3.1,CRD,11 +CMT,1,3,660,3.2,CRD,12 +CMT,1,2,294,1.2,CSH,6 +CMT,1,1,756,2.1,CRD,10.5 +CMT,1,1,974,4.9,CRD,17 +CMT,1,1,396,0.9,CRD,6 +CMT,1,3,262,0.9,CRD,5.5 +CMT,1,1,272,1.7,CSH,7 +CMT,1,1,285,1.3,CRD,6 +CMT,1,1,241,0.9,CRD,5 +CMT,1,1,1101,3.7,CSH,15.5 +CMT,1,1,949,9.6,CSH,27.5 +CMT,1,2,1487,5.7,CRD,22 +CMT,1,1,523,3.7,CSH,11.5 +CMT,1,1,634,2.9,CSH,11 +CMT,1,2,410,1.8,CSH,7.5 +CMT,1,1,440,1.9,CSH,8.5 +CMT,2,1,1443,17.5,CRD,52 +CMT,1,1,382,2,CSH,8 +CMT,1,1,1479,4,CRD,19 +CMT,1,1,1952,12.9,CRD,38.5 +CMT,1,2,272,1.5,CSH,6.5 +CMT,1,1,554,2.1,CSH,9.5 +CMT,1,2,475,2.5,CRD,9.5 +CMT,1,2,334,1.2,CSH,6 +CMT,1,3,362,1.8,CRD,7.5 +CMT,1,2,1233,3.6,CSH,15.5 +CMT,1,2,159,0.9,CSH,4.5 +CMT,1,3,965,5.1,CRD,17 +CMT,1,1,935,5.6,CRD,18 +CMT,1,1,227,0.8,CRD,5 +CMT,1,2,929,6,CSH,18.5 +CMT,1,1,184,0.7,CRD,4.5 +CMT,1,4,390,1.7,CSH,7.5 +CMT,1,1,272,1.1,CSH,6 +CMT,1,1,698,2.8,CRD,11 +CMT,1,1,889,3.7,CRD,14.5 +CMT,1,1,159,0.6,CSH,4 +CMT,1,2,909,1.6,CSH,11 +CMT,1,2,198,0.5,CRD,4.5 +CMT,1,1,568,2,CSH,9 +CMT,1,1,273,1,CRD,5.5 +CMT,1,1,416,1.9,CRD,8 +CMT,1,1,461,1.9,CRD,8.5 +CMT,1,3,297,0.9,CRD,5.5 +CMT,1,3,417,1.9,CSH,7.5 +CMT,1,2,439,1.6,CSH,8 +CMT,1,2,611,4.2,CSH,13.5 +CMT,1,1,670,4.1,CSH,14 +CMT,1,1,541,1.6,CRD,8 +CMT,1,4,970,4.2,CSH,15 +CMT,1,1,729,4.4,CSH,15 +CMT,1,1,434,2.1,CSH,8.5 +CMT,1,4,1567,6.5,CSH,24 +CMT,1,2,223,1.5,CRD,6 +CMT,1,3,185,0.3,CRD,4 +CMT,1,2,1062,5.5,CRD,18 +CMT,1,2,1050,10.8,CSH,30 +CMT,1,1,181,0.3,CSH,4 +CMT,1,1,443,1.6,CRD,7.5 +CMT,1,1,624,2.5,CSH,10 +CMT,1,1,744,4.8,CRD,15 +CMT,1,2,455,1.8,CRD,7.5 +CMT,1,1,518,2.2,CSH,9 +CMT,1,1,1154,8.4,CRD,25.5 +CMT,1,1,357,1,CRD,6 +CMT,1,1,1924,10.3,CRD,32 +CMT,1,1,482,1.6,CSH,8 +CMT,1,2,1456,4.2,CRD,19 +CMT,1,2,705,3.6,CRD,13 +CMT,1,1,399,2.6,CRD,9 +CMT,1,3,331,1.1,CSH,6 +CMT,1,3,1161,2.4,CSH,14 +CMT,1,1,506,2.4,CRD,10 +CMT,1,1,314,0.8,CRD,5.5 +CMT,1,1,1198,10.8,CRD,31 +CMT,1,1,1672,11.1,NOC,2.5 +CMT,5,1,57,0,CRD,34 +CMT,1,2,294,0.9,CSH,5.5 +CMT,1,2,297,0.9,CRD,5.5 +CMT,1,2,1017,4.4,CRD,15.5 +CMT,1,1,1102,3.5,CRD,16 +CMT,1,2,583,2.7,CRD,10 +CMT,1,1,299,0.9,CRD,5.5 +CMT,1,1,645,2.7,CRD,10.5 +CMT,1,1,321,0.9,CSH,6 +CMT,1,2,255,0.7,CSH,5 +CMT,1,4,1049,2,CRD,12.5 +CMT,1,1,563,1.5,CSH,8.5 +CMT,1,2,1390,13.4,CSH,37.5 +CMT,1,4,167,0.8,CSH,4.5 +CMT,1,3,607,1.8,CRD,9 +CMT,1,2,2643,8.8,CRD,33.5 +CMT,1,1,463,2.1,CRD,8.5 +CMT,5,1,2330,30.1,CRD,85 +CMT,1,2,513,1.1,CSH,7 +CMT,1,4,328,1.3,CRD,6.5 +CMT,1,1,535,2.6,CSH,9.5 +CMT,1,1,908,3.3,CRD,13 +CMT,1,2,1188,4,CSH,16.5 +CMT,1,1,1192,10.7,CSH,31 +CMT,1,1,323,1.1,CSH,6 +CMT,1,2,466,1,CRD,7 +CMT,1,1,490,1.1,CSH,7 +CMT,1,1,122,0.4,CRD,4 +CMT,1,1,1980,10.9,CRD,35 +CMT,1,1,1203,2.2,CRD,13 +CMT,1,1,230,0.5,CRD,4.5 +CMT,1,1,423,1.1,CSH,7 +CMT,1,1,392,0.9,CSH,6 +CMT,1,1,508,1,CRD,7 +CMT,1,2,441,1.6,CRD,7.5 +CMT,1,1,396,1.2,CSH,6.5 +CMT,1,1,1112,3.5,CSH,15 +CMT,1,2,893,2.1,CRD,11.5 +CMT,1,1,357,1.7,CSH,7.5 +CMT,1,1,1424,10.8,CRD,32.5 +CMT,1,1,170,0.6,CSH,4 +CMT,1,1,16,0.1,CSH,2.5 +CMT,1,1,180,0.6,CSH,4 +CMT,1,1,557,4.5,CRD,14 +CMT,1,1,425,2.7,CSH,9.5 +CMT,1,1,528,3.4,CSH,11.5 +CMT,1,1,339,1.7,CSH,7.5 +CMT,1,1,1173,4.2,CSH,17.5 +CMT,1,1,520,1.9,CSH,9 +CMT,1,1,373,1,CRD,6.5 +CMT,1,3,679,3.8,CRD,13.5 +CMT,1,3,568,2,CSH,9.5 +CMT,4,4,1134,1.9,CRD,10 +CMT,1,2,358,0.7,CSH,5.5 +CMT,1,1,486,1.3,CRD,7.5 +CMT,1,1,411,2.3,CSH,9 +CMT,1,3,865,2,CSH,11.5 +CMT,1,1,270,1.1,CRD,5.5 +CMT,1,1,540,1.3,CRD,8 +CMT,1,1,593,2.4,CRD,10.5 +CMT,1,1,853,5.2,CRD,17 +CMT,1,1,502,3.1,CSH,11 +CMT,1,1,502,0.8,CRD,6.5 +CMT,1,1,2411,6.1,CRD,28 +CMT,1,2,860,6.3,CRD,20 +CMT,1,4,1042,5.7,CRD,19.5 +CMT,1,1,1243,8.8,CRD,26 +CMT,1,2,572,1.5,CRD,8 +CMT,1,2,651,1.7,CRD,9.5 +CMT,1,2,333,1.1,CRD,6.5 +CMT,1,1,1005,5.6,CSH,18 +CMT,1,1,331,0.9,CSH,6 +CMT,1,1,1005,4.9,CRD,17.5 +CMT,1,2,441,0.7,CRD,6.5 +CMT,1,1,128,0.6,CSH,4 +CMT,1,1,2127,4.9,CRD,22.5 +CMT,1,1,1309,4.7,CRD,17.5 +CMT,1,2,621,2.7,CRD,10 +CMT,1,1,372,1.6,CRD,7.5 +CMT,1,2,184,0.6,CSH,4.5 +CMT,2,1,1992,18.1,CRD,52 +CMT,1,1,1084,9.6,CSH,28 +CMT,1,2,185,1.1,CRD,5 +CMT,1,1,539,2.7,CRD,10 +CMT,1,1,192,0.5,CSH,4.5 +CMT,1,1,708,3.2,CRD,12 +CMT,1,1,398,0.7,CSH,6 +CMT,1,1,1099,8.2,CSH,24.5 +CMT,1,2,1210,3.7,CSH,16 +CMT,1,1,238,0.8,CRD,5 +CMT,1,3,464,1,CSH,6.5 +CMT,1,1,965,6.5,CRD,21 +CMT,1,1,714,3,CRD,12 +CMT,2,1,2261,18.2,CRD,52 +CMT,1,1,608,1.7,CRD,9 +CMT,1,4,524,2,CRD,8.5 +CMT,1,2,1461,4.5,CRD,18.5 +CMT,1,2,1049,7.5,CSH,23.5 +CMT,1,1,719,3,CSH,12.5 +CMT,1,2,210,0.9,CRD,5 +CMT,1,1,1083,5,CRD,17 +CMT,1,1,650,1.6,CRD,9 +CMT,1,2,1058,8.8,CSH,26.5 +CMT,1,1,341,1.1,CSH,6.5 +CMT,1,2,183,0.4,CSH,4 +CMT,1,1,458,2.1,CRD,8.5 +CMT,1,3,522,1.4,CSH,8 +CMT,1,2,387,0.6,CRD,6 +CMT,1,2,399,1.2,CSH,7 +CMT,1,1,810,2.3,CRD,11 +CMT,1,1,414,1.7,CRD,7.5 +CMT,1,1,641,1.9,CRD,9.5 +CMT,1,3,1299,6.7,CRD,22 +CMT,1,1,688,2.8,CSH,11 +CMT,1,2,430,1.6,CSH,7.5 +CMT,1,1,206,0.8,CSH,4.5 +CMT,1,2,342,1.3,CRD,6.5 +CMT,1,1,740,2.2,CRD,10.5 +CMT,1,2,1237,6.2,CRD,20.5 +CMT,1,2,1041,7.7,CRD,24 +CMT,1,1,496,1.6,CSH,8.5 +CMT,1,1,803,3.9,CSH,14.5 +CMT,1,4,1118,4.2,CSH,16.5 +CMT,1,1,568,3.9,CSH,13 +CMT,1,2,277,1,CSH,5.5 +CMT,1,3,1327,8,CRD,25.5 +CMT,1,2,615,2.7,CSH,11 +CMT,1,1,642,3.5,CRD,13 +CMT,1,1,835,4.2,CRD,15 +CMT,1,1,348,1.6,CSH,7 +CMT,1,2,145,0.5,CRD,4 +CMT,1,1,288,1,CRD,5.5 +CMT,1,3,299,0.6,CSH,5.5 +CMT,1,1,487,1.8,CSH,8 +CMT,1,1,370,0.8,CRD,6 +CMT,1,1,405,1,CSH,6.5 +CMT,1,2,1027,9.7,CRD,27.5 +CMT,1,1,831,3.2,CSH,12.5 +CMT,1,1,366,1.3,CRD,6.5 +CMT,1,1,290,0.8,CSH,5.5 +CMT,1,3,312,1,CRD,6 +CMT,1,1,408,0.8,CRD,6 +CMT,1,1,441,1.3,CRD,7.5 +CMT,1,1,1185,11.6,CRD,32.5 +CMT,1,1,724,1.2,CRD,9 +CMT,1,1,607,1.4,CSH,8.5 +CMT,1,1,418,0.9,CSH,6 +CMT,1,1,458,1.4,CRD,7 +CMT,1,4,522,1.4,CRD,8 +CMT,1,2,248,1.1,CSH,5.5 +CMT,1,2,985,4.4,CRD,15.5 +CMT,1,4,799,4.7,CSH,16 +CMT,1,1,502,1.7,CRD,8.5 +CMT,2,4,1829,18.1,CRD,52 +CMT,1,1,70,0.2,CSH,3 +CMT,1,1,321,1.7,CRD,7 +CMT,1,2,1209,2.5,CRD,14 +CMT,1,3,1299,6.3,CSH,21.5 +CMT,1,2,401,1.1,CSH,6.5 +CMT,1,2,650,4.9,CRD,14.5 +CMT,1,3,808,5.2,CSH,16.5 +CMT,1,2,808,1.4,CRD,10 +CMT,1,1,585,2.6,CSH,10.5 +CMT,1,1,983,5.2,CSH,18.5 +CMT,1,1,716,2.7,CRD,11 +CMT,1,1,498,2.8,CRD,10 +CMT,1,1,738,2,CRD,10 +CMT,1,3,566,3.6,CRD,12 +CMT,1,1,982,3.8,CSH,15.5 +CMT,1,4,849,2.2,CSH,11 +CMT,1,1,234,0.7,CRD,4.5 +CMT,1,1,1162,6.2,CRD,20 +CMT,1,1,872,2.8,CRD,11.5 +CMT,1,3,453,3.2,CRD,11 +CMT,1,2,325,1.3,CRD,6.5 +CMT,1,1,1260,10.8,CRD,32 +CMT,1,1,575,3.4,CRD,11.5 +CMT,1,1,371,1.9,CRD,8 +CMT,1,1,487,2,CRD,8 +CMT,1,1,561,2.2,CRD,9 +CMT,1,1,497,1.4,CRD,7.5 +CMT,1,1,98,0.2,CSH,3.5 +CMT,1,1,664,3.2,CRD,12 +CMT,1,1,1086,10.9,CSH,30 +CMT,1,2,183,0.8,CRD,4.5 +CMT,1,1,1023,4.2,CSH,16 +CMT,1,1,158,0.5,CSH,4 +CMT,1,2,970,3.1,CRD,14 +CMT,1,2,288,0.8,CRD,5 +CMT,1,1,685,2,CRD,10 +CMT,1,1,860,3.6,CRD,13.5 +CMT,1,2,553,1.5,CSH,8 +CMT,1,1,407,2.2,CRD,8.5 +CMT,1,2,587,2,CRD,9 +CMT,1,1,520,1.5,CSH,8 +CMT,1,1,257,0.8,CSH,5 +CMT,1,1,370,1.5,CSH,7.5 +CMT,1,1,157,0.8,CSH,4.5 +CMT,1,2,1005,4.3,CSH,16 +CMT,1,1,372,1.8,CRD,7.5 +CMT,1,1,204,0.7,CSH,5 +CMT,1,1,710,3.4,CRD,12.5 +CMT,1,2,223,0.9,CRD,5 +CMT,1,2,1510,9.6,CRD,30 +CMT,1,1,1227,3.9,CRD,17 +CMT,1,1,905,3.5,CSH,13 +CMT,1,4,582,0.8,CSH,7.5 +CMT,1,4,523,1.6,CSH,8 +CMT,1,1,1484,5.4,CRD,21.5 +CMT,1,4,692,3,CRD,11.5 +CMT,1,1,567,3.5,CRD,12 +CMT,1,1,578,1.1,CRD,8 +CMT,1,1,1341,12.6,CRD,35.5 +CMT,1,1,278,0.8,CSH,5 +CMT,1,1,319,1.1,CSH,6 +CMT,1,1,287,0.9,CRD,5.5 +CMT,1,1,870,2.3,CRD,11.5 +CMT,1,1,838,3.7,CRD,14 +CMT,1,1,1051,6.9,CRD,22.5 +CMT,1,1,868,1.7,CSH,10.5 +CMT,1,1,393,1.4,CSH,6.5 +CMT,1,3,682,1.4,CSH,9 +CMT,1,1,1445,3.7,CRD,17 +CMT,1,1,861,2.7,CRD,12 +CMT,1,1,1063,2.5,CRD,13 +CMT,1,2,561,1.7,CRD,8.5 +CMT,1,1,260,0.5,CSH,5 +CMT,1,2,367,0.9,CRD,6.5 +CMT,1,1,1243,9.7,CRD,28.5 +CMT,1,2,1990,9.2,CRD,30.5 +CMT,1,1,149,0.6,CSH,4 +CMT,1,1,453,1.5,CSH,7.5 +CMT,1,1,262,1,CSH,5.5 +CMT,1,1,1522,11.4,CRD,34.5 +CMT,1,1,1469,9.8,CRD,28.5 +CMT,1,1,320,1,CRD,5.5 +CMT,1,2,735,1.7,CRD,9.5 +CMT,1,1,367,1,CRD,6 +CMT,1,4,92,0.3,CSH,3.5 +CMT,1,1,708,3,CRD,12 +CMT,1,1,684,4.2,CSH,13.5 +CMT,1,1,143,0.6,CRD,4.5 +CMT,1,1,399,2.3,CSH,8.5 +CMT,1,4,1035,4.2,CRD,16 +CMT,1,2,1215,5.8,CSH,20.5 +CMT,1,1,219,1.3,CRD,5.5 +CMT,1,4,641,1.8,CSH,9.5 +CMT,1,1,717,3.6,CRD,13 +CMT,1,1,1038,5.2,CSH,18 +CMT,1,1,286,1,CSH,6 +CMT,2,4,2145,19.6,CRD,52 +CMT,1,1,121,0.3,CRD,3.5 +CMT,1,1,438,1.1,CRD,7 +CMT,1,3,936,2.8,CSH,12.5 +CMT,1,1,398,1.6,CRD,7.5 +CMT,1,1,1146,11,CRD,31 +CMT,1,2,568,2.3,CRD,9.5 +CMT,1,2,774,1.5,CRD,10 +CMT,1,1,319,0.6,CSH,5.5 +CMT,1,1,676,1.7,CSH,9 +CMT,1,1,697,0.9,CRD,8.5 +CMT,1,1,495,2.8,CSH,10.5 +CMT,1,1,75,0.4,CRD,3.5 +CMT,1,1,417,1.7,CRD,7.5 +CMT,1,2,504,1.4,CSH,7.5 +VTS,1,1,360,1.68,CSH,7 +VTS,1,2,420,1.47,CSH,7 +VTS,1,2,840,5.39,CSH,18 +VTS,1,1,480,0.52,CRD,6.5 +VTS,1,1,360,1.94,CSH,8 +VTS,1,1,300,1.36,CRD,6.5 +VTS,1,1,360,1,CRD,6 +VTS,1,5,840,2.62,CRD,11.5 +VTS,1,5,1860,11.95,CRD,37 +CMT,1,1,115,0.7,CSH,4 +CMT,1,1,267,1.6,CRD,6.5 +CMT,1,1,121,0.3,CSH,3.5 +CMT,1,1,480,1.1,CRD,7 +CMT,1,1,493,1.5,CRD,8 +CMT,1,1,316,0.8,CSH,5.5 +CMT,1,1,689,1.2,CRD,8.5 +CMT,1,2,773,1.8,CSH,10.5 +CMT,1,1,1316,9.8,CRD,28 +CMT,1,1,455,1,CRD,7 +CMT,1,1,1599,6.1,CSH,25 +CMT,1,1,1041,2.1,CRD,12.5 +CMT,1,1,645,2.2,CRD,10 +CMT,1,3,939,5.8,CRD,19 +CMT,1,1,215,0.5,CSH,4.5 +CMT,1,1,676,1.9,CSH,9.5 +CMT,2,1,2238,16.9,CSH,52 +CMT,1,1,1641,8.5,CRD,28 +CMT,1,1,324,1.7,CRD,7 +CMT,1,1,599,2.3,CSH,9.5 +CMT,1,3,305,1.7,CSH,6.5 +CMT,1,1,705,1.9,CSH,8 +CMT,1,3,642,3.3,CSH,11.5 +VTS,1,2,180,1.26,CRD,5.5 +VTS,1,1,480,1.07,CSH,7 +VTS,1,1,420,2.74,CSH,10 +VTS,1,1,300,1.33,CRD,6 +VTS,1,1,480,1.62,CRD,8 +VTS,1,1,180,0.69,CRD,4.5 +CMT,1,1,1008,2,CSH,11.5 +CMT,1,1,402,0.7,CRD,6 +CMT,1,1,864,2,CSH,11 +CMT,1,1,274,0.7,CSH,5 +CMT,1,1,1484,10.2,CRD,30 +CMT,1,2,571,1.7,CSH,8.5 +VTS,1,1,240,0.65,CRD,5 +VTS,1,2,120,0.22,CSH,3.5 +VTS,1,1,420,1.63,CSH,7.5 +VTS,1,1,1140,6.94,CSH,23 +VTS,1,1,360,0.86,CSH,6 +VTS,1,1,180,0.6,CSH,4 +VTS,1,2,840,1.92,CRD,11 +VTS,1,1,1140,3.43,CRD,15.5 +VTS,1,2,420,1.03,CSH,6.5 +VTS,1,1,840,1.88,CRD,10.5 +VTS,1,2,900,2.96,CSH,13 +VTS,1,1,720,3.5,CRD,12.5 +VTS,1,1,540,1.51,CRD,8 +CMT,1,1,132,0.6,CSH,4.5 +CMT,1,1,305,1.3,CRD,6.5 +CMT,1,2,347,0.8,CSH,5.5 +CMT,1,1,609,2.1,CRD,9.5 +CMT,1,1,664,1.9,CSH,10 +CMT,1,1,820,1.5,CSH,10 +CMT,1,1,187,0.6,CSH,4.5 +CMT,1,1,1774,8.7,CRD,30 +CMT,1,2,3500,12.8,CRD,46 +CMT,1,1,1188,10,CRD,29 +CMT,1,1,1469,6.8,CSH,24.5 +CMT,1,1,180,1.4,CRD,6 +CMT,1,1,967,5.2,CSH,17.5 +CMT,1,1,550,2.3,CSH,9 +VTS,1,1,480,1.02,CSH,7 +VTS,1,1,960,4.65,CRD,16.5 +VTS,1,1,1080,7.95,CSH,24 +VTS,1,2,540,1.75,CSH,8 +VTS,1,2,840,1.6,CRD,10.5 +VTS,1,2,780,1.61,CRD,9.5 +VTS,2,1,2520,17.73,CRD,52 +VTS,1,1,1440,8.55,CSH,26 +VTS,1,1,60,0.58,CSH,3.5 +VTS,1,1,600,1.5,CRD,8.5 +VTS,1,1,1080,4.7,CRD,18 +VTS,1,1,180,0.71,CRD,4.5 +VTS,1,5,780,3.1,CSH,13 +VTS,1,5,1680,7.3,CSH,27 +VTS,1,5,600,2.64,CRD,10.5 +CMT,1,1,491,1.2,CSH,7.5 +CMT,1,1,272,0.8,CRD,5.5 +CMT,1,1,1663,9.6,CSH,30 +CMT,1,1,642,1.7,CRD,9.5 +CMT,1,1,1572,10,CRD,31.5 +CMT,1,1,277,1.2,CSH,6 +CMT,1,1,305,1.2,CSH,6 +CMT,1,1,1544,5.7,CRD,22 +CMT,1,2,1131,2.7,CRD,14 +CMT,1,1,1837,15.6,CRD,43 +CMT,1,1,742,1.4,CSH,9.5 +CMT,1,1,1247,4.3,CRD,17.5 +CMT,1,4,178,0.4,CSH,4 +CMT,1,1,523,1.8,CSH,8.5 +CMT,1,1,289,0.7,CSH,5.5 +CMT,1,1,686,2.6,CSH,10 +CMT,1,1,664,2.1,CRD,9.5 +CMT,1,3,763,1.5,CRD,9.5 +CMT,1,4,1422,7.3,CSH,24 +CMT,1,1,356,1.1,CSH,6 +CMT,1,1,701,2.9,CSH,12 +CMT,1,1,233,1.2,CRD,5.5 +CMT,1,1,179,0.4,CRD,4 +CMT,1,1,250,0.5,CRD,5 +CMT,1,1,731,3.4,CRD,13 +CMT,1,1,563,2.9,CRD,10.5 +CMT,1,1,770,1.6,CRD,9.5 +CMT,1,2,405,0.7,CRD,6 +CMT,4,1,2072,18.4,CSH,63.5 +CMT,1,1,1102,5.5,CRD,19.5 +CMT,1,2,293,1.6,CSH,6.5 +CMT,1,2,856,7,CRD,21.5 +CMT,1,1,359,1.2,CSH,6.5 +CMT,1,2,329,1.4,CRD,6.5 +VTS,1,1,360,1.48,CRD,7 +VTS,1,1,600,1.21,CRD,8.5 +VTS,1,1,720,1.78,CRD,10 +VTS,1,1,240,0.95,CSH,5.5 +VTS,1,5,900,2.52,CRD,12 +VTS,1,5,1140,5.9,CRD,19.5 +CMT,1,1,672,3,CSH,12 +CMT,1,2,215,0.6,CSH,5 +CMT,1,2,1831,6.4,CRD,26 +CMT,1,1,685,4.3,CSH,14 +CMT,1,1,521,1.9,CSH,9 +CMT,1,1,256,1.2,CSH,6 +CMT,1,1,1310,4.3,CRD,17.5 +CMT,1,1,271,1.2,CRD,6 +CMT,1,1,290,1.1,CSH,6 +CMT,1,1,1026,3.9,CSH,15.5 +CMT,1,3,1245,5.8,CRD,19.5 +CMT,1,1,1056,5.2,CRD,18 +CMT,1,1,509,1.5,CRD,7.5 +CMT,1,3,181,0.7,CRD,4.5 +CMT,1,1,895,3.1,CSH,13 +CMT,1,1,577,2,CSH,9 +CMT,1,1,584,1.7,CRD,8.5 +CMT,1,3,1003,2,CSH,11.5 +CMT,1,1,416,1.3,CSH,7 +CMT,1,1,1566,7.6,CSH,25 +CMT,1,1,188,0.6,CRD,4.5 +CMT,1,1,383,1.1,CSH,6.5 +CMT,1,1,918,4,CRD,15.5 +CMT,1,2,1120,4.2,CRD,16.5 +CMT,1,1,413,2.3,CRD,9 +CMT,1,3,740,2.3,CSH,11 +CMT,1,1,480,1.7,CRD,8 +CMT,1,1,975,4.8,CRD,16 +CMT,1,1,254,0.7,CSH,5 +CMT,1,1,1056,4.7,CRD,16.5 +CMT,1,1,639,2.1,CSH,9.5 +CMT,1,2,947,2.2,CSH,11.5 +CMT,1,1,291,1.2,CRD,6 +CMT,1,1,508,1.1,CRD,7 +CMT,1,1,1037,4.4,CRD,17 +CMT,1,1,645,2.2,CSH,9.5 +CMT,1,2,722,2.6,CSH,11 +CMT,1,3,223,1,CRD,5 +CMT,1,1,556,1.6,CRD,8.5 +CMT,1,1,246,1,CSH,5.5 +CMT,1,1,400,1.4,CRD,7 +CMT,1,1,569,2.5,CSH,9.5 +VTS,1,2,840,2.2,CSH,11.5 +VTS,1,5,2040,6.05,CRD,26 +VTS,1,5,960,2.02,CRD,12 +CMT,2,1,1911,19.1,CSH,52 +CMT,1,1,603,3.2,CSH,11.5 +CMT,1,1,687,2.5,CSH,11 +CMT,1,1,346,1.1,CRD,6.5 +CMT,1,1,304,1.5,CSH,6.5 +CMT,1,4,2014,3.2,CRD,21.5 +CMT,1,2,60,0.2,CSH,3 +CMT,1,1,186,0.3,CRD,4 +CMT,1,1,193,0.6,CRD,4.5 +CMT,1,3,312,1.2,CRD,6 +CMT,1,1,564,2.7,CRD,10.5 +CMT,1,1,510,2.7,CRD,10.5 +CMT,1,2,784,2.5,CRD,11 +CMT,1,1,384,0.8,CSH,6 +CMT,1,1,643,2.4,CSH,10.5 +CMT,1,2,360,2.2,CSH,8.5 +CMT,1,1,928,6,CRD,19 +CMT,1,1,990,5.2,CRD,18 +CMT,1,3,882,2.4,CSH,11.5 +CMT,1,1,738,3.2,CSH,12.5 +CMT,1,2,272,0.8,CRD,5 +CMT,1,1,1234,5.2,CSH,19 +CMT,1,1,667,4.2,CRD,13.5 +CMT,1,1,286,1.1,CRD,6 +CMT,1,1,336,1.5,CSH,7 +CMT,1,1,376,1.1,CRD,6.5 +CMT,1,1,1760,5.4,CSH,22 +CMT,1,1,502,0.7,CRD,7 +CMT,1,1,1227,3.2,CSH,14.5 +CMT,1,1,898,2.2,CRD,11.5 +CMT,1,2,1119,3.1,CSH,14.5 +CMT,1,1,390,1.2,CSH,6.5 +CMT,1,1,855,1.6,CRD,10.5 +CMT,1,1,627,2.1,CSH,9.5 +CMT,1,1,584,1.7,CSH,8.5 +CMT,1,1,427,2.2,CRD,8.5 +CMT,1,3,507,1.2,CRD,7.5 +CMT,1,2,1327,11.4,CSH,33 +CMT,1,2,1619,16.7,CRD,45.5 +VTS,1,2,300,0.96,CSH,5.5 +VTS,1,2,960,3.91,CSH,15.5 +VTS,1,1,960,2.41,CSH,13 +VTS,1,2,120,0.49,CSH,4 +VTS,1,1,780,4.68,CRD,16 +VTS,1,1,480,1.1,CRD,7.5 +VTS,1,5,300,0.99,CRD,5.5 +VTS,1,5,480,1.45,CRD,8 +VTS,1,5,1200,4.28,CRD,17.5 +VTS,1,5,1260,5.11,CRD,19.5 +CMT,1,1,436,1,CSH,6.5 +CMT,1,2,699,2.8,CRD,11 +CMT,1,1,331,1.4,CSH,6.5 +CMT,1,3,393,1.5,CSH,7 +CMT,1,1,657,6.3,CSH,18.5 +CMT,1,1,540,3.6,CRD,12.5 +CMT,1,1,506,1.1,CRD,7 +CMT,1,1,696,2,CSH,10 +CMT,1,1,1020,2.5,CSH,12.5 +CMT,1,2,2651,11.8,CRD,37.5 +CMT,1,1,1411,8.6,CSH,26 +CMT,1,1,972,2.8,CSH,13 +CMT,1,1,263,1,CRD,5.5 +CMT,1,2,458,2,CSH,8 +CMT,1,3,205,0.5,CSH,4.5 +VTS,1,2,300,0.83,CRD,6 +VTS,1,2,960,3.82,CRD,15.5 +VTS,1,1,840,6.11,CRD,19 +VTS,1,2,420,0.83,CSH,6.5 +VTS,1,1,300,1.55,CRD,6.5 +VTS,1,1,540,1.8,CSH,9 +VTS,1,1,420,1.09,CSH,6.5 +VTS,1,1,180,0.67,CSH,4.5 +VTS,1,1,1020,4.83,CRD,18 +VTS,1,1,720,2.59,CSH,10.5 +VTS,1,1,240,0.47,CSH,4.5 +CMT,1,1,346,2,CRD,7.5 +CMT,1,1,554,2.1,CRD,9.5 +CMT,1,1,129,0.4,CRD,4 +CMT,1,1,91,0.5,CSH,3.5 +CMT,1,1,327,0.9,CRD,6 +CMT,1,2,895,4.1,CRD,14.5 +CMT,1,2,1151,9.5,CSH,27 +CMT,1,2,677,2.5,CSH,10.5 +CMT,1,1,758,3.9,CSH,14 +CMT,1,3,741,2.4,CSH,10.5 +CMT,1,1,244,0.9,CSH,5 +CMT,1,1,243,0.9,CRD,5 +CMT,1,3,285,0.8,CSH,5.5 +CMT,1,2,834,4.2,CSH,14.5 +CMT,1,1,309,0.6,CSH,5 +CMT,1,3,464,1.2,CSH,7 +CMT,1,1,499,1.1,CSH,7 +CMT,1,1,423,1.1,CSH,6.5 +CMT,1,2,414,0.9,CSH,6.5 +CMT,1,1,528,1.7,CRD,8.5 +CMT,1,1,264,0.7,CRD,5 +CMT,1,4,569,1.5,CSH,8 +CMT,1,1,726,1.1,CRD,9 +CMT,1,1,326,0.8,CSH,6 +CMT,1,3,2239,7.6,CRD,29.5 +CMT,1,4,394,1.1,CSH,6.5 +VTS,1,2,720,2.65,CRD,11.5 +CMT,1,1,173,0.5,CSH,4.5 +CMT,1,1,743,2.6,CSH,11 +CMT,1,1,521,1.1,CSH,7 +CMT,1,1,1824,8.3,CRD,27.5 +CMT,1,1,709,2.1,CRD,10 +CMT,1,1,1693,7.3,CRD,25 +CMT,1,1,206,1,CSH,5.5 +CMT,1,2,319,0.8,CSH,5.5 +CMT,1,1,913,2.9,CRD,13 +CMT,1,1,725,3.3,CSH,12.5 +CMT,1,1,677,1.8,CRD,9.5 +CMT,1,2,749,2.2,CSH,11 +CMT,1,1,240,1,CSH,5.5 +CMT,1,3,392,1.5,CRD,7 +CMT,1,1,362,0.7,CSH,5.5 +CMT,1,1,1067,3.5,CSH,14.5 +CMT,1,2,505,2.6,CRD,10 +CMT,1,2,685,2.3,CRD,10.5 +CMT,1,1,952,5.3,CSH,17 +CMT,1,1,366,1.2,CSH,6.5 +CMT,1,1,1131,8.1,CRD,24 +CMT,1,1,762,1.9,CRD,10 +CMT,1,1,322,0.8,CRD,5.5 +CMT,1,1,153,0.9,CRD,4.5 +CMT,1,1,524,1.8,CRD,8.5 +CMT,1,1,148,1,CRD,5 +CMT,1,1,1139,5.3,CRD,19 +CMT,1,1,601,2.4,CRD,10 +CMT,1,1,224,1,CSH,5 +CMT,1,2,1388,4.6,CRD,19 +CMT,1,1,479,2.3,CRD,9 +CMT,1,1,713,1.4,CRD,9.5 +CMT,1,1,427,3,CRD,10 +CMT,1,1,118,0.3,CSH,3.5 +CMT,1,2,836,3.9,CRD,14.5 +CMT,1,2,524,3.1,CSH,11 +CMT,1,1,792,3.4,CSH,12.5 +CMT,1,2,773,4.1,CRD,14 +CMT,1,3,581,2.2,CRD,9.5 +CMT,1,2,245,0.6,CSH,5 +CMT,1,2,1178,6,CRD,20.5 +CMT,1,1,774,4.8,CSH,15.5 +CMT,1,2,521,3,CSH,10.5 +CMT,1,1,302,0.9,CRD,5.5 +CMT,1,1,767,4.7,CSH,16 +CMT,1,1,891,8.3,CRD,24 +CMT,1,2,149,1,CRD,5 +CMT,1,2,456,1.4,CRD,7.5 +CMT,1,1,1059,5.7,CRD,19.5 +CMT,1,1,480,2.9,CSH,10.5 +CMT,1,1,211,1.1,CRD,5 +CMT,1,1,306,1.2,CRD,6.5 +CMT,1,1,296,0.9,CSH,5.5 +CMT,1,4,386,1.9,CSH,7.5 +CMT,1,1,493,2.3,CRD,9.5 +CMT,1,1,567,1.5,CRD,8.5 +CMT,1,1,157,0.5,CSH,4 +CMT,1,2,864,3.1,CRD,13 +CMT,1,1,1146,3.3,CRD,14.5 +CMT,1,2,908,5.5,CSH,18 +CMT,1,2,845,2.3,CRD,11 +CMT,1,1,416,1.4,CSH,7.5 +CMT,1,1,537,1.7,CRD,8 +CMT,1,1,297,0.5,CSH,5 +CMT,1,4,380,1.6,CRD,7 +CMT,1,3,960,3.4,CSH,14 +CMT,1,1,402,1.8,CRD,8 +CMT,1,1,401,1.1,CSH,6.5 +CMT,1,1,898,6.3,CSH,20 +CMT,1,1,279,1.6,CSH,7 +CMT,1,1,336,0.9,CRD,5.5 +CMT,1,1,494,0.9,CSH,7 +CMT,1,1,1476,5.5,CRD,22 +CMT,1,2,217,0.7,CSH,4.5 +CMT,1,1,934,5.6,CSH,17 +CMT,1,1,722,2.5,CSH,10.5 +CMT,1,1,678,2,CRD,9.5 +CMT,1,3,1266,2.7,CSH,15 +CMT,1,2,974,3.6,CSH,14.5 +CMT,1,1,634,1.8,CRD,9.5 +CMT,1,1,287,1.3,CRD,6 +CMT,1,2,527,1.8,CRD,8.5 +CMT,1,1,128,0.1,CSH,3.5 +CMT,1,1,395,0.8,CSH,6 +CMT,1,1,868,2.8,CSH,13 +CMT,1,1,819,2.7,CRD,11.5 +CMT,1,1,143,0.8,CSH,4.5 +CMT,1,1,751,3.5,CRD,13.5 +CMT,1,1,632,1.8,CRD,9 +CMT,1,3,1566,12.7,CSH,36.5 +CMT,1,1,660,2.6,CSH,11 +CMT,1,1,434,1.9,CRD,8 +CMT,1,2,702,2.2,CSH,9.5 +CMT,1,1,260,0.6,CSH,5 +CMT,1,1,539,1.7,CSH,8 +CMT,1,2,542,2.1,CSH,9 +CMT,1,2,101,0.6,CRD,4 +CMT,1,1,437,2.5,CSH,9 +CMT,1,1,912,8.6,CRD,25 +CMT,1,1,339,1.3,CSH,6.5 +CMT,1,2,664,3.2,CSH,12 +CMT,1,1,482,1.5,CSH,8 +CMT,1,1,947,4,CRD,14.5 +CMT,1,1,477,0.5,CRD,6.5 +CMT,1,1,544,3.3,CSH,11.5 +CMT,1,1,1254,4.2,CSH,17 +CMT,1,1,321,0.6,CRD,5.5 +CMT,1,1,798,3.1,CSH,12.5 +CMT,1,1,228,1.2,CSH,5.5 +CMT,1,1,230,0.8,CSH,5 +CMT,5,1,641,3.6,CRD,52 +CMT,1,1,514,1.5,CRD,8 +CMT,1,1,504,2,CRD,9 +CMT,1,1,638,1,CRD,8.5 +CMT,1,1,460,1.5,CRD,7.5 +CMT,1,1,564,2.7,CRD,10 +CMT,1,1,71,0.4,CSH,3.5 +CMT,1,1,805,3.9,CRD,13.5 +CMT,1,1,930,2.8,CSH,12.5 +CMT,1,1,463,1.6,CSH,7.5 +CMT,1,1,278,1.4,CRD,6 +CMT,1,1,338,2.4,CSH,8.5 +CMT,1,1,524,2,CSH,8.5 +CMT,1,2,233,0.8,CSH,5 +CMT,1,1,157,0.9,CSH,4.5 +CMT,1,1,715,1.7,CRD,9.5 +CMT,1,3,146,0.4,CSH,4 +CMT,1,2,722,2.2,CRD,11 +CMT,1,1,461,0.8,CSH,6.5 +CMT,1,1,266,0.6,CSH,5 +CMT,1,2,612,2.3,CSH,10 +CMT,1,1,611,2.5,CSH,10.5 +CMT,1,2,604,1.2,CSH,8 +CMT,1,1,486,1.4,CRD,7.5 +CMT,1,1,416,1.1,CRD,6.5 +CMT,1,1,577,1.6,CRD,8.5 +CMT,1,1,1559,6.1,CSH,22 +CMT,1,1,1974,7.3,CRD,26 +CMT,1,2,504,1.4,CSH,8 +CMT,1,1,677,2.7,CRD,11.5 +CMT,1,1,324,1.3,CRD,6.5 +CMT,1,2,81,0.3,CSH,3.5 +CMT,1,1,327,0.9,CSH,6 +CMT,1,4,406,1.2,CSH,7 +CMT,1,1,725,2.5,CSH,11.5 +CMT,1,1,1843,8.4,CSH,28.5 +CMT,1,1,335,1,CSH,6 +CMT,1,3,251,0.7,CRD,5 +CMT,1,1,889,3.3,CRD,13.5 +CMT,1,1,809,3.1,CSH,13 +CMT,1,1,285,1.1,CSH,6 +CMT,1,2,535,3,CRD,11 +CMT,1,4,666,2.8,CRD,11 +CMT,1,1,1128,7.8,CSH,24 +CMT,1,1,283,0.7,CSH,5 +CMT,1,1,727,1.1,CRD,8.5 +CMT,1,2,868,2.6,CSH,12 +CMT,1,1,839,3.7,CSH,13.5 +CMT,1,1,704,2.9,CSH,11.5 +CMT,1,1,834,4.1,CRD,14.5 +CMT,1,1,403,1.7,CSH,8 +CMT,1,1,823,2.5,CRD,11 +CMT,1,1,810,2.7,CSH,11.5 +CMT,1,4,1641,6.4,CRD,23 +CMT,1,1,919,1.6,CRD,10.5 +CMT,1,2,553,1.9,CRD,9 +CMT,1,1,379,1.2,CRD,6.5 +CMT,1,1,229,0.8,CRD,5 +CMT,1,1,589,2.6,CRD,10 +CMT,1,2,687,3.5,CSH,12.5 +CMT,1,1,284,1.4,CRD,6.5 +CMT,1,1,669,1.9,CSH,9 +CMT,1,1,875,2.7,CRD,11.5 +CMT,1,1,100,0.5,CRD,3.5 +CMT,1,1,412,1.9,CRD,8 +CMT,1,1,174,0.6,CRD,4.5 +CMT,1,1,373,1.5,CSH,7 +CMT,1,1,497,3,CSH,10.5 +CMT,1,1,427,1.7,CSH,7.5 +CMT,1,1,301,1.6,CRD,6.5 +CMT,1,1,298,0.8,CRD,5.5 +CMT,1,1,1295,7.5,CRD,24 +CMT,1,1,286,1,CRD,5.5 +CMT,1,1,542,2.7,CRD,10.5 +CMT,1,1,205,1.2,CRD,5.5 +CMT,1,1,406,0.8,CSH,6 +CMT,1,1,782,2.6,CRD,11 +CMT,1,1,457,1.8,CRD,8 +CMT,1,1,147,0.9,CSH,4.5 +CMT,1,1,685,2.3,CSH,10.5 +CMT,1,2,224,1.1,CSH,5.5 +CMT,1,1,2072,6.8,CSH,27 +CMT,1,2,977,3,CRD,13 +CMT,1,2,198,0.6,CSH,4.5 +CMT,1,1,1846,8.4,CSH,29.5 +CMT,1,2,186,0.4,CSH,4 +CMT,1,2,284,0.7,CSH,5 +CMT,1,1,201,0.7,CSH,5 +CMT,1,1,508,2.1,CRD,9 +CMT,1,1,1747,3.7,CRD,18.5 +CMT,1,1,1256,3.2,CSH,15.5 +CMT,1,1,659,3.4,CRD,12 +CMT,1,1,783,1.5,CRD,9.5 +CMT,1,2,465,1.1,CRD,7 +CMT,1,1,718,2.2,CSH,10.5 +CMT,1,1,195,0.8,CSH,4.5 +CMT,1,1,800,2.7,CRD,11 +CMT,1,2,206,0.5,CSH,4.5 +CMT,1,1,609,1.1,CRD,8 +CMT,1,1,1546,17.5,CRD,47 +CMT,1,1,155,0.6,CRD,4 +CMT,1,1,866,2.3,CRD,11 +CMT,1,1,546,2.9,CRD,10.5 +CMT,1,2,998,5.4,CRD,18 +CMT,1,1,550,1.3,CRD,8 +CMT,1,1,384,2.8,CSH,9.5 +CMT,1,1,1344,11.2,CRD,33 +CMT,1,1,817,3.9,CRD,14 +CMT,1,1,374,1.7,CRD,7 +CMT,1,1,150,0.4,CSH,3.5 +CMT,1,1,1098,4.1,CRD,16 +CMT,1,2,276,1.4,CRD,6 +CMT,1,2,576,1.3,CRD,8 +CMT,1,2,487,1.2,CSH,7 +CMT,1,1,757,2.7,CRD,12 +CMT,1,1,683,2.6,CSH,11 +CMT,1,1,1963,8.1,CRD,28.5 +CMT,1,1,678,2.5,CRD,11 +CMT,1,1,1127,10.2,CRD,30 +CMT,1,3,316,0.9,CSH,6 +CMT,1,1,396,1.6,CSH,7.5 +CMT,1,1,211,1,CRD,5.5 +CMT,1,1,1864,15.9,CSH,44.5 +CMT,1,1,303,1.1,CSH,5.5 +CMT,1,1,383,1.2,CRD,6.5 +VTS,1,2,840,4.01,CSH,15.5 +VTS,1,1,600,3.14,CSH,11.5 +VTS,1,1,480,1.4,CSH,7.5 +VTS,1,1,300,0.78,CRD,5.5 +VTS,1,2,780,2.99,CSH,12 +VTS,1,1,1380,6.05,CRD,22.5 +VTS,1,2,960,2.35,CSH,11.5 +VTS,1,1,360,1.07,CRD,6.5 +VTS,1,1,240,1.49,CSH,6.5 +VTS,1,2,360,1.05,CSH,6 +CMT,1,1,693,2.6,CRD,11.5 +CMT,1,1,1347,11.3,CSH,33.5 +CMT,1,1,459,0.8,CSH,6.5 +CMT,1,1,786,1.5,CRD,9.5 +CMT,1,1,1480,9.6,CRD,28 +CMT,1,1,333,1,CRD,6 +CMT,1,1,1093,1.5,CSH,12 +CMT,1,1,767,1.5,CSH,7.5 +CMT,1,1,320,0.9,CSH,5.5 +CMT,1,1,401,1.2,CRD,6.5 +CMT,1,1,523,1.4,CSH,8 +CMT,1,2,191,0.3,CSH,4 +CMT,1,1,166,0.4,CSH,4 +CMT,1,4,1485,5.4,CRD,20.5 +CMT,1,1,504,2.5,CRD,9.5 +CMT,1,1,289,1.4,CSH,6.5 +CMT,1,1,542,1.3,CSH,8 +CMT,1,1,251,0.7,CSH,5 +CMT,1,2,953,2.9,CSH,13 +CMT,1,1,1726,3.1,CRD,19 +CMT,1,1,888,1.8,CRD,10.5 +CMT,1,1,298,0.9,CSH,5.5 +CMT,1,1,358,1,CRD,6 +CMT,1,1,609,2.1,CSH,9.5 +CMT,1,2,695,2,CRD,9.5 +CMT,1,1,383,2,CSH,7.5 +CMT,1,1,878,3.5,CSH,13.5 +CMT,1,1,178,1.4,CSH,6 +CMT,1,2,229,0.5,CRD,4.5 +CMT,1,1,867,1.8,CRD,10.5 +CMT,1,2,830,1.5,CSH,10 +CMT,1,1,977,1,CRD,10.5 +CMT,1,2,1169,10.6,CSH,30.5 +CMT,1,1,233,0.6,CSH,4.5 +CMT,1,1,334,0.8,CSH,5.5 +CMT,1,1,608,1.7,CRD,9 +CMT,1,1,255,1.1,CRD,5.5 +CMT,1,1,835,2.9,CRD,12.5 +CMT,1,1,173,0.6,CSH,4 +CMT,1,1,442,1.1,CSH,6.5 +CMT,1,2,304,0.8,CRD,5.5 +CMT,1,1,847,3.9,CSH,14 +CMT,1,1,576,3,CSH,11 +CMT,1,1,850,4.8,CSH,16 +CMT,1,1,1551,3.8,CRD,18 +CMT,1,1,662,1.7,CSH,9.5 +CMT,1,2,1318,4.1,CSH,17 +CMT,1,1,118,0.7,CSH,4.5 +CMT,1,2,677,2.2,CRD,10 +CMT,1,3,1305,2.9,CSH,15.5 +CMT,1,1,570,1.1,CSH,7.5 +CMT,1,1,277,1,CSH,5.5 +CMT,1,1,591,1.6,CRD,8.5 +CMT,1,1,1351,7.3,CRD,24 +CMT,1,1,489,0.6,CRD,6.5 +CMT,1,1,446,2.4,CRD,9 +CMT,1,2,766,3.1,CSH,12 +CMT,1,1,770,4.1,CRD,14 +CMT,1,1,1180,4.4,CSH,17 +CMT,1,1,935,2.2,CSH,12 +CMT,1,1,777,3.8,CSH,14 +CMT,1,2,333,1.5,CRD,7 +CMT,1,1,1015,4.5,CSH,16 +CMT,1,1,1189,6.3,CRD,20 +CMT,1,1,261,1.3,CRD,6 +CMT,1,1,284,0.9,CSH,5.5 +CMT,1,1,718,2.1,CSH,10 +CMT,1,1,1705,2.5,CSH,17.5 +CMT,1,2,541,2.3,CSH,9.5 +CMT,1,1,632,2.1,CSH,9.5 +CMT,1,1,1066,3.9,CRD,16.5 +CMT,1,1,957,1.9,CRD,12 +CMT,1,1,909,4.7,CSH,16 +CMT,1,2,249,1.2,CRD,5.5 +CMT,1,2,559,1,CSH,7.5 +CMT,1,1,516,0.7,CSH,7 +CMT,1,1,308,0.8,CSH,5.5 +CMT,1,1,185,0.6,CSH,4.5 +CMT,1,1,281,1.2,CRD,6 +CMT,1,1,344,1.2,CSH,6.5 +CMT,1,1,284,0.6,CSH,5 +CMT,1,1,135,0.5,CRD,4 +CMT,1,1,104,0.5,CRD,3.5 +CMT,1,2,401,1.5,CRD,7 +CMT,1,2,932,4.8,CRD,17.5 +CMT,1,1,977,4.4,CRD,16.5 +CMT,1,2,1000,6.3,CSH,20.5 +CMT,1,1,449,3.3,CRD,11.5 +CMT,1,2,473,1.8,CSH,8.5 +CMT,1,2,1330,4,CSH,17 +CMT,1,2,412,1.1,CSH,6.5 +CMT,1,1,284,1.1,CSH,6 +CMT,1,1,214,0.5,CRD,4.5 +CMT,1,2,602,1.7,CRD,9 +CMT,1,1,396,2,CSH,8.5 +CMT,1,1,220,0.9,CSH,5 +CMT,1,1,237,0.8,CRD,5 +CMT,1,1,553,3.1,CSH,11 +CMT,1,1,1028,5,CRD,16.5 +CMT,1,1,254,0.8,CSH,5 +CMT,1,1,1275,6,CSH,21 +CMT,1,2,877,3.3,CSH,13 +CMT,1,2,710,1.7,CSH,9.5 +CMT,1,3,599,1.4,CRD,8 +CMT,1,1,565,1.2,CSH,7.5 +CMT,1,1,883,1.9,CSH,11.5 +CMT,1,1,413,1.2,CSH,6.5 +CMT,1,1,1220,5.7,CSH,20 +CMT,1,1,937,4.6,CSH,16 +CMT,1,1,215,0.8,CSH,5 +CMT,1,2,584,1.5,CSH,8.5 +CMT,1,1,736,1.8,CSH,9.5 +CMT,1,1,1113,5,CSH,18.5 +CMT,1,1,374,1.1,CRD,6 +CMT,1,1,443,1.3,CSH,7 +CMT,1,1,1913,15.2,CRD,43 +CMT,1,2,721,2.2,CRD,10 +CMT,1,1,93,0.3,CRD,3.5 +CMT,1,1,656,1.8,CRD,9 +CMT,1,1,481,1.3,CSH,7 +CMT,1,2,390,1,CRD,6.5 +CMT,1,1,832,3,CRD,12 +CMT,1,1,107,0.6,CSH,4 +CMT,1,1,532,1.7,CSH,8 +CMT,1,1,525,1.9,CSH,8.5 +CMT,1,2,238,0.4,CSH,4.5 +CMT,1,1,1231,4.3,CRD,16.5 +CMT,1,1,352,1.4,CRD,6.5 +CMT,1,1,461,2.3,CSH,9 +CMT,1,2,700,1.2,CSH,9 +CMT,1,1,299,1,CSH,6 +CMT,1,1,247,1,CRD,5.5 +CMT,1,1,546,2.5,CRD,9.5 +CMT,1,1,105,0.4,CSH,3.5 +CMT,1,2,651,3.2,CRD,11.5 +CMT,1,1,760,1.3,CSH,9.5 +CMT,1,1,180,0.8,CSH,5 +CMT,1,1,1206,4.7,CRD,18 +CMT,1,1,296,1.7,CSH,7 +CMT,1,1,579,2.7,CSH,10.5 +CMT,1,2,1068,4.2,CSH,16.5 +CMT,1,1,537,2,CRD,9 +CMT,1,2,532,1.2,CRD,8 +CMT,1,1,624,1.9,CRD,9.5 +CMT,1,1,719,1.5,CRD,9 +CMT,1,3,946,5.1,CSH,16.5 +CMT,1,3,1251,3.5,CRD,15.5 +CMT,1,1,573,1.1,CSH,7.5 +CMT,1,1,678,2.6,CSH,11 +CMT,1,1,748,2.2,CSH,10.5 +CMT,1,1,220,0.4,CRD,4.5 +CMT,1,1,1002,4.2,CSH,15 +CMT,1,1,434,1.5,CRD,7.5 +CMT,1,1,323,0.7,CSH,5.5 +CMT,1,1,1510,3.8,CRD,19 +CMT,1,3,1225,3.9,CRD,16.5 +CMT,1,1,384,0.9,CRD,6 +CMT,1,1,230,1.2,CSH,6 +CMT,1,1,980,3.3,CSH,14 +CMT,1,1,870,2.2,CRD,10.5 +CMT,1,1,656,1,CSH,8 +CMT,1,1,1931,3.9,CRD,21 +CMT,1,1,1965,5.7,CSH,24.5 +CMT,1,2,358,1.3,CSH,6.5 +CMT,1,1,638,3.2,CRD,11.5 +CMT,1,1,295,1.7,CRD,7 +CMT,1,1,415,1.7,CSH,7.5 +CMT,1,1,843,3.1,CSH,12.5 +CMT,1,2,228,0.7,CRD,5 +CMT,1,1,335,0.9,CRD,6 +CMT,1,1,520,2.1,CRD,8.5 +CMT,1,1,817,2.2,CRD,10.5 +CMT,1,1,606,3.6,CSH,12 +CMT,1,2,644,1.5,CSH,9 +CMT,1,1,879,2,CRD,11 +CMT,1,1,746,3.5,CSH,13 +CMT,1,2,281,0.6,CSH,5 +CMT,1,1,576,1.3,CSH,8.5 +CMT,1,1,562,1.2,CRD,8 +CMT,1,1,797,2.6,CRD,12 +CMT,1,2,701,1.8,CRD,10 +CMT,1,1,285,1.1,CRD,6 +CMT,1,1,837,7.5,CSH,22.5 +CMT,1,3,847,3.1,CSH,13 +CMT,1,3,669,3.1,CSH,12 +CMT,1,1,877,2,CRD,11.5 +CMT,1,1,337,1.1,CSH,6.5 +CMT,1,1,509,2.6,CRD,10 +CMT,1,2,988,2.9,CRD,13 +CMT,1,2,913,3.2,CRD,13.5 +CMT,1,1,436,1.5,CSH,8 +CMT,1,1,1106,5.7,CRD,20.5 +CMT,1,1,468,1.4,CSH,8 +CMT,1,3,450,1.5,CSH,7.5 +CMT,1,2,552,2.2,CSH,10 +CMT,1,3,744,2.7,CRD,12 +CMT,1,1,433,0.5,CSH,6 +CMT,1,1,575,1.8,CRD,8.5 +CMT,1,1,615,1.8,CRD,9 +CMT,1,1,393,1,CSH,6.5 +CMT,1,1,426,2.2,CSH,8.5 +CMT,1,1,866,2.1,CRD,11.5 +CMT,1,1,691,2.6,CRD,11 +CMT,1,1,314,0.5,CRD,5 +CMT,1,1,231,0.7,CSH,5 +CMT,1,1,549,1.3,CRD,8 +CMT,1,1,317,1.7,CSH,7 +CMT,1,1,1085,5.1,CRD,18.5 +CMT,1,1,356,1.4,CSH,7 +CMT,1,1,325,0.5,CSH,5 +CMT,1,2,299,0.6,CSH,5 +CMT,1,1,814,2.1,CRD,11.5 +CMT,1,2,221,1,CSH,5 +CMT,1,1,265,0.7,CSH,5 +CMT,1,2,505,2,CSH,9.5 +CMT,1,2,1040,2.6,CSH,14 +CMT,1,2,341,0.8,CRD,5.5 +CMT,1,2,555,1.7,CSH,9 +CMT,1,2,730,2.3,CRD,11 +CMT,1,1,401,1.4,CSH,7.5 +CMT,1,1,306,1.3,CSH,6.5 +CMT,1,1,528,3.3,CRD,11.5 +CMT,1,2,121,0.4,CSH,4 +CMT,1,1,296,0.8,CRD,5.5 +CMT,1,1,601,1.3,CRD,8 +CMT,1,1,391,1.7,CSH,7.5 +CMT,1,1,184,0.8,CRD,4.5 +CMT,1,1,132,0.7,CSH,4 +CMT,1,3,1537,3.7,CRD,18.5 +CMT,1,1,979,2.7,CRD,13 +CMT,1,1,478,1.3,CSH,7.5 +CMT,1,1,241,1.1,CRD,5.5 +CMT,1,1,789,4.6,CSH,16 +CMT,1,1,555,1.5,CRD,8 +CMT,1,3,770,2.1,CRD,10.5 +CMT,1,1,309,1.5,CSH,6.5 +CMT,1,1,211,1.2,CSH,5.5 +CMT,1,1,309,1.2,CSH,6.5 +CMT,1,2,342,0.7,CRD,5.5 +CMT,1,1,108,0.3,CRD,3.5 +CMT,1,4,853,2.9,CSH,12.5 +CMT,1,1,316,1.2,CRD,6 +CMT,1,2,242,0.7,CRD,5 +CMT,1,1,556,2.6,CSH,10 +CMT,1,1,397,1.5,CRD,7.5 +CMT,1,2,377,1.8,CRD,7.5 +CMT,1,2,618,4.1,CRD,13.5 +CMT,1,1,517,1.7,CRD,8.5 +CMT,1,1,398,2.2,CRD,8.5 +CMT,1,4,1712,9.9,CRD,30.5 +CMT,1,1,370,0.8,CRD,6 +CMT,1,1,427,1.6,CSH,7.5 +CMT,1,1,956,6.8,CRD,22 +CMT,1,1,172,0.7,CSH,4.5 +CMT,1,1,628,2.2,CSH,10 +CMT,1,4,931,3.3,CSH,13.5 +CMT,1,1,370,1.7,CRD,7.5 +CMT,2,1,1363,16.9,CRD,52 +CMT,1,1,271,0.5,CRD,5 +CMT,1,1,740,2.3,CRD,11 +CMT,1,2,420,1.6,CSH,7.5 +CMT,1,1,1027,4,CRD,15.5 +CMT,1,2,597,3.3,CSH,12.5 +CMT,1,1,812,3.2,CRD,13 +CMT,1,1,306,1.5,CRD,7 +CMT,1,2,471,2.1,CRD,9 +CMT,1,3,253,0.7,CSH,5 +CMT,1,1,274,0.8,CRD,5.5 +CMT,1,1,1163,7.9,CSH,24.5 +CMT,1,1,547,1,CRD,7.5 +CMT,1,1,1375,9.2,CRD,28 +CMT,1,1,551,1.1,CRD,8 +CMT,1,1,714,2,CRD,9 +CMT,1,1,256,0.6,CRD,4.5 +CMT,1,2,118,0.7,CSH,4 +CMT,1,1,867,4.9,CRD,17.5 +CMT,1,1,228,0.7,CSH,4.5 +CMT,1,1,766,2.6,CSH,11.5 +CMT,1,1,162,0.4,CRD,4 +CMT,1,3,236,1,CSH,5.5 +CMT,2,2,1495,17.3,CSH,52 +CMT,1,1,260,0.6,CSH,5 +CMT,1,4,246,1,CSH,5.5 +CMT,1,2,876,8.5,CRD,24.5 +CMT,1,2,553,2.4,CRD,10 +CMT,1,2,875,4.3,CRD,15 +CMT,1,1,844,7.1,CRD,21 +CMT,1,2,963,5.7,CRD,18 +CMT,1,1,778,3.1,CRD,12.5 +CMT,1,1,174,0.5,CSH,4 +CMT,1,1,727,1.9,CSH,10 +CMT,1,1,666,0.5,CSH,8 +CMT,1,1,457,1.4,CRD,7.5 +CMT,1,1,808,1.3,CRD,9.5 +CMT,1,1,447,0.6,CRD,6 +CMT,1,1,943,1.4,CRD,10.5 +CMT,1,1,1174,6.3,CSH,22 +CMT,1,1,772,1.4,CSH,9.5 +CMT,1,1,3063,11.4,CSH,43 +CMT,1,1,691,1.7,CRD,9.5 +CMT,1,1,1260,4.7,CRD,18 +CMT,1,1,323,1,CRD,6 +CMT,1,1,437,1,CSH,6.5 +CMT,1,1,1551,3.7,CRD,18 +CMT,1,1,158,0.4,CSH,4 +CMT,1,1,299,1,CSH,5.5 +CMT,1,1,1024,8.7,CRD,24.5 +CMT,1,2,711,2.4,CRD,11 +CMT,1,1,1097,2.3,CRD,13 +CMT,1,1,749,2.2,CRD,10.5 +CMT,1,1,1227,6.7,CSH,22 +CMT,1,1,150,0.6,CSH,4 +CMT,1,1,188,0.8,CRD,4.5 +CMT,1,1,298,1.1,CRD,6 +CMT,1,1,952,3.8,CRD,14 +CMT,1,1,341,0.9,CRD,6 +CMT,1,1,301,0.9,CRD,5.5 +CMT,1,1,380,0.8,CRD,6 +CMT,1,1,799,1.7,CRD,10 +CMT,1,1,1704,6.1,CSH,23.5 +CMT,1,2,525,1.4,CSH,7.5 +CMT,1,1,481,1.5,CSH,7.5 +CMT,1,1,520,1.6,CRD,8 +CMT,1,2,955,4.1,CSH,15.5 +CMT,1,1,453,1,CRD,7 +CMT,1,1,1416,4.2,CRD,19 +CMT,1,1,194,0.4,CRD,4 +CMT,1,1,945,1.7,CRD,11.5 +CMT,1,1,275,0.8,CRD,5 +CMT,1,1,1144,3.2,CRD,15 +CMT,1,1,640,2.2,CRD,10 +CMT,1,1,931,2.4,CRD,12.5 +CMT,1,1,506,2.1,CRD,9 +CMT,1,1,490,0.5,CRD,6.5 +CMT,1,1,407,1.2,CRD,7 +CMT,1,1,1109,3.6,CSH,15 +CMT,1,1,422,1.1,CRD,6.5 +CMT,1,1,894,2,CRD,11.5 +CMT,1,1,167,0.5,CRD,4 +CMT,1,1,515,2,CSH,8.5 +CMT,1,1,146,0.5,CSH,4 +CMT,1,1,463,1.2,CSH,7 +CMT,1,1,632,1.3,CRD,8.5 +CMT,1,1,1161,2.7,CRD,14.5 +CMT,1,1,608,1.2,CRD,8 +CMT,1,1,431,1.3,CSH,7 +CMT,1,1,909,2.2,CRD,12 +CMT,1,1,164,0.7,CSH,4.5 +CMT,1,1,145,0.4,CRD,4 +CMT,1,1,902,1.5,CSH,11 +CMT,1,1,862,1.9,CRD,11 +CMT,1,1,299,1,CRD,6 +CMT,1,1,488,2.5,CSH,10 +CMT,1,1,471,2.2,CSH,9 +CMT,1,1,419,1.5,CRD,7.5 +CMT,1,1,297,0.8,CRD,5.5 +CMT,1,3,1224,2.9,CSH,15 +CMT,1,1,415,1.4,CSH,7 +CMT,1,2,620,2.9,CSH,11 +CMT,1,1,332,1.3,CRD,6.5 +CMT,1,1,330,0.9,CSH,6 +CMT,1,1,1420,7.5,CSH,25.5 +CMT,1,1,937,2.4,CSH,12 +CMT,1,1,813,1.5,CSH,9.5 +CMT,1,1,544,1.5,CRD,8 +CMT,1,1,310,0.8,CRD,6 +CMT,1,1,410,0.9,CSH,6.5 +CMT,1,1,316,0.9,CRD,6 +CMT,1,1,645,2.1,CSH,10 +CMT,1,1,856,1.9,CRD,11 +CMT,1,1,268,0.2,CSH,4.5 +CMT,1,1,116,0.5,CRD,3.5 +CMT,1,1,661,1.2,CSH,8.5 +CMT,1,1,660,2.1,CSH,10 +CMT,1,1,183,0.6,CSH,4.5 +CMT,1,1,371,1.2,CSH,6.5 +CMT,1,1,1146,2.9,CSH,14.5 +CMT,1,1,543,1.9,CSH,9 +CMT,1,1,843,3.2,CRD,12.5 +CMT,1,1,364,1.8,CRD,7.5 +CMT,1,2,672,2.8,CRD,11 +CMT,1,2,1061,3.8,CSH,15.5 +CMT,1,1,778,2.8,CRD,11 +CMT,1,2,838,1.6,CRD,10 +CMT,1,1,251,1,CRD,5.5 +CMT,1,2,620,1.2,CSH,8 +CMT,1,1,1046,2,CRD,12.5 +CMT,1,1,325,0.7,CSH,5.5 +CMT,1,1,816,2.6,CSH,12 +CMT,1,1,240,0.6,CRD,5 +CMT,1,1,140,0.9,CRD,4.5 +CMT,1,1,259,1.7,CRD,7 +CMT,1,1,669,2.1,CRD,10.5 +CMT,1,1,455,1.4,CRD,7.5 +CMT,3,1,1502,14.7,CRD,58.5 +CMT,1,2,376,1.3,CSH,7 +CMT,1,1,102,0.7,CRD,4 +CMT,1,1,181,0.6,CRD,4.5 +CMT,1,1,415,1.6,CSH,7 +CMT,4,2,776,4,CRD,14.5 +CMT,1,1,218,1,CRD,5.5 +CMT,1,1,291,1.6,CSH,7 +CMT,1,1,1148,4.7,CRD,17.5 +CMT,1,3,447,1.7,CSH,8 +CMT,1,1,1349,4.1,CSH,17.5 +CMT,1,1,496,1.4,CSH,8 +CMT,1,1,697,1.5,CRD,9 +CMT,1,1,182,0.4,CSH,4 +CMT,1,1,1296,5.5,CRD,20 +CMT,1,1,640,1.4,CRD,8.5 +CMT,1,1,548,1.3,CSH,8 +CMT,1,1,295,0.8,CSH,5 +CMT,1,1,87,0.2,CSH,3 +CMT,1,1,1520,2.6,CSH,16.5 +CMT,1,1,762,1.2,CRD,9 +CMT,1,1,863,1.9,CRD,11 +CMT,1,1,687,1,CSH,8.5 +CMT,1,1,1337,2.8,CRD,15.5 +CMT,1,1,654,1.3,CSH,8.5 +CMT,1,1,714,1.1,CRD,9 +CMT,1,1,1078,2.9,CSH,13.5 +CMT,1,1,707,2.1,CSH,10.5 +CMT,1,1,1078,1.3,CRD,12 +CMT,1,1,428,1.4,CRD,7 +CMT,1,1,432,1,CSH,6.5 +CMT,1,1,876,2.1,CSH,11 +CMT,1,1,564,1,CRD,7.5 +CMT,1,1,694,2.3,CRD,11 +CMT,1,1,687,1,CSH,8.5 +CMT,1,1,377,0.7,CRD,6 +CMT,1,1,573,1.2,CSH,8 +CMT,1,1,452,0.7,CRD,6 +CMT,1,1,186,0.5,CSH,4.5 +CMT,1,1,641,1.3,CSH,9 +CMT,1,1,337,0.7,CSH,5.5 +CMT,1,1,1480,3.8,CRD,17.5 +CMT,1,1,951,3.5,CRD,14.5 +CMT,1,1,244,0.9,CSH,5 +CMT,1,1,201,1.1,CRD,5.5 +CMT,1,1,1097,3.5,CRD,16 +CMT,1,1,323,1.5,CSH,7 +CMT,1,1,130,0.4,CSH,4 +CMT,1,1,824,1.5,CSH,10 +CMT,1,2,581,2,CRD,9 +CMT,1,1,301,0.9,CRD,5.5 +CMT,1,2,339,1.1,CSH,6 +CMT,1,2,1280,11.2,CSH,32 +CMT,1,1,481,2.1,CRD,8.5 +CMT,2,1,28,0,CSH,52 +CMT,1,1,459,2.5,CRD,9.5 +CMT,1,1,722,5.3,CSH,16 +CMT,1,3,522,1.7,CSH,8 +CMT,1,2,179,1,CSH,5 +CMT,1,1,1246,12.7,CRD,35.5 +CMT,1,1,2319,15.3,CSH,43.5 +CMT,1,2,1616,5.7,CRD,22 +CMT,1,2,608,1.6,CRD,9 +CMT,1,1,478,1.4,CSH,7.5 +CMT,1,1,645,2.2,CRD,10 +CMT,1,2,744,2.3,CSH,10.5 +CMT,1,1,214,0.8,CRD,5 +CMT,1,3,948,2.4,CSH,13 +CMT,1,2,1530,10.3,CRD,32 +CMT,1,2,139,0.3,CRD,4 +CMT,1,2,1089,1.2,CRD,12 +CMT,1,1,500,1.1,CSH,7.5 +CMT,1,2,504,2.1,CSH,9.5 +CMT,1,2,759,2.1,CSH,10.5 +CMT,1,1,981,3,CRD,13.5 +CMT,1,2,364,1.1,CSH,6.5 +CMT,1,1,752,3.6,CRD,13 +CMT,1,1,1027,4.9,CSH,17 +CMT,1,2,154,0.4,CRD,4 +CMT,1,1,483,2,CSH,8.5 +CMT,1,1,709,2.6,CRD,11 +CMT,1,1,270,0.8,CSH,5.5 +CMT,1,1,386,1.2,CSH,7 +CMT,1,2,570,1.4,CSH,8 +CMT,1,1,667,1.4,CSH,8.5 +CMT,1,2,618,0.8,CSH,7.5 +CMT,1,3,307,0.6,CRD,5.5 +CMT,1,1,253,0.7,CSH,5 +CMT,1,1,1385,5.5,CSH,20 +CMT,1,2,420,1.4,CSH,7 +CMT,1,1,297,0.6,CSH,5 +CMT,1,2,660,1.6,CRD,9 +CMT,1,1,357,0.9,CRD,5.5 +CMT,1,1,608,2.5,CRD,10 +CMT,1,1,1012,5.1,CRD,18 +CMT,1,1,1170,2.6,CSH,14 +CMT,1,1,1033,2.6,CSH,13 +CMT,1,1,561,2.7,CRD,10.5 +CMT,1,1,443,1.4,CSH,7 +CMT,1,1,210,0.4,CSH,4.5 +CMT,1,1,347,0.9,CSH,6 +CMT,1,1,376,1.3,CRD,6.5 +CMT,1,1,837,3.7,CRD,14.5 +CMT,1,1,622,1,CRD,8 +CMT,1,1,486,1.2,CSH,7 +CMT,1,1,414,1.4,CSH,7 +CMT,1,1,250,0.8,CSH,5 +CMT,1,1,1056,3,CSH,14.5 +CMT,1,1,1188,3.1,CSH,14.5 +CMT,1,1,548,3.1,CRD,11 +CMT,1,2,631,1.2,CRD,8.5 +CMT,1,2,1094,7.3,CRD,23.5 +CMT,1,1,685,1.5,CSH,9 +CMT,1,1,102,0.1,CSH,3 +CMT,1,3,887,1.1,CRD,10.5 +CMT,1,1,228,1.1,CRD,5.5 +CMT,1,1,227,0.9,CSH,5.5 +CMT,1,2,875,4.8,CRD,16.5 +CMT,1,1,637,1,CSH,8 +CMT,1,1,479,1.3,CSH,7.5 +CMT,1,1,1430,1.4,CSH,15 +CMT,1,1,1427,4.6,CSH,19.5 +CMT,1,1,702,1.5,CSH,9.5 +CMT,1,1,254,0.6,CSH,5 +CMT,1,1,574,2.3,CRD,10 +CMT,1,1,1627,9.8,CRD,30.5 +CMT,1,1,1453,3.8,CRD,18.5 +CMT,1,1,159,0.2,CSH,3.5 +CMT,1,1,912,2.2,CRD,11.5 +CMT,1,1,812,1.7,CSH,10 +CMT,1,1,408,0.8,CRD,6 +CMT,1,1,1285,2.1,CSH,14 +CMT,1,1,633,1,CSH,8 +CMT,1,1,1166,2.7,CRD,14 +CMT,1,1,1847,16.9,CRD,46.5 +CMT,1,1,106,0.4,CRD,3.5 +CMT,1,1,561,1.1,CRD,7.5 +CMT,1,1,958,3.1,CRD,13.5 +CMT,1,1,665,2.1,CRD,9.5 +CMT,1,1,406,0.4,CSH,5.5 +CMT,1,1,1935,8.5,CRD,29 +CMT,1,1,2354,10.6,CSH,35 +CMT,1,1,2486,8,CSH,31.5 +CMT,1,1,830,2,CRD,11 +CMT,1,1,401,0.7,CSH,6 +CMT,1,1,748,1.7,CRD,10 +CMT,1,1,1409,4.3,CRD,18.5 +CMT,1,1,235,0.6,CSH,5 +CMT,1,1,334,0.6,CSH,5.5 +CMT,1,1,1910,5.5,CSH,24 +CMT,1,1,1398,3.5,CRD,16.5 +CMT,1,1,372,1.4,CRD,7 +CMT,1,1,650,1.1,CRD,8.5 +CMT,1,1,624,1.6,CRD,8.5 +CMT,1,1,1108,3.7,CSH,14.5 +CMT,1,2,1406,4.4,CSH,18 +CMT,1,1,621,1,CSH,8 +CMT,1,1,614,1.6,CSH,9 +CMT,1,1,628,2,CSH,9.5 +CMT,1,1,864,1.8,CSH,10.5 +CMT,1,1,466,1.3,CSH,7.5 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,1,899,1.6,CSH,11 +CMT,1,1,1224,2.9,CSH,15 +CMT,1,1,863,2.2,CSH,11.5 +CMT,1,1,728,1.7,CRD,9.5 +CMT,1,1,1913,5.3,CRD,24 +CMT,1,1,94,0.7,CRD,4 +CMT,1,1,131,0.7,CSH,4.5 +CMT,1,1,1038,3.5,CSH,14.5 +CMT,1,2,420,1.5,CSH,7.5 +CMT,1,2,210,0.8,CSH,5 +CMT,1,2,789,3.3,CRD,13.5 +CMT,1,3,1364,5.1,CSH,19.5 +CMT,1,1,820,2.5,CRD,11.5 +CMT,1,1,578,4.3,CSH,13.5 +CMT,1,1,1133,3,CSH,14.5 +CMT,1,1,482,1.2,CSH,7.5 +CMT,1,1,581,1,CRD,7.5 +CMT,1,1,317,1.1,CSH,6 +CMT,1,1,624,1.6,CSH,9 +CMT,1,1,428,0.9,CSH,6.5 +CMT,1,1,621,0.8,CSH,7.5 +CMT,1,1,593,1,CRD,7.5 +CMT,1,1,1347,2.5,CRD,15.5 +CMT,1,1,553,1.4,CSH,8.5 +CMT,1,1,451,0.8,CSH,6.5 +CMT,1,1,917,3.3,CRD,13 +CMT,1,1,2275,5.9,CRD,26.5 +CMT,1,1,798,2,CRD,10 +CMT,1,1,1105,1.8,CSH,12.5 +CMT,1,1,797,2.7,CRD,11 +CMT,1,1,1173,2.8,CRD,14.5 +CMT,1,1,174,0.7,CSH,4.5 +CMT,1,1,1124,3.4,CRD,14.5 +CMT,1,1,1192,7.5,CSH,24 +CMT,1,1,1524,8.7,CSH,28 +CMT,1,1,2369,7.5,CRD,30.5 +CMT,1,1,640,1.4,CSH,8.5 +CMT,1,1,632,1.1,CRD,8 +CMT,1,1,766,1.1,CRD,9 +CMT,1,1,391,0.9,CRD,6.5 +CMT,1,1,880,1.4,CSH,10.5 +CMT,1,1,397,0.8,CRD,6 +CMT,1,1,722,1.7,CSH,9.5 +CMT,1,1,2019,5.7,CRD,25 +CMT,1,1,381,1.4,CRD,7 +CMT,1,1,1497,5.9,CRD,22.5 +CMT,1,1,616,1.2,CRD,8 +CMT,1,1,505,1.6,CRD,8 +CMT,1,1,829,2.2,CRD,11.5 +CMT,1,1,471,1.1,CSH,7 +CMT,1,1,566,1.1,CSH,7.5 +CMT,1,1,716,2.3,CSH,10.5 +CMT,1,1,411,1.2,CSH,7 +CMT,1,1,117,0.5,CSH,4 +CMT,2,2,3508,17.1,CSH,52 +CMT,1,1,2171,11.3,CRD,37 +CMT,1,1,712,0.9,CRD,8.5 +CMT,1,1,302,0.6,CSH,5.5 +CMT,1,1,63,0.1,CSH,3 +CMT,1,1,917,1.5,CSH,11 +CMT,1,1,1837,5.3,CSH,22 +CMT,1,1,1971,5.5,CRD,23.5 +CMT,1,1,1813,8.9,CRD,29.5 +CMT,1,1,840,1.3,CRD,10 +CMT,1,1,450,0.5,CSH,6 +CMT,1,1,610,1.6,CSH,8.5 +CMT,1,1,556,1.7,CRD,9 +CMT,1,1,632,1.2,CRD,8 +CMT,1,1,1197,2.6,CRD,14 +CMT,1,1,437,1,CRD,7 +CMT,1,1,171,0.3,CSH,4 +CMT,1,1,2456,14.9,CSH,44 +CMT,1,1,368,0.5,CSH,5.5 +CMT,1,1,1054,2.5,CSH,12.5 +CMT,1,1,392,1.2,CRD,6.5 +CMT,1,1,1566,5,CSH,21 +CMT,1,1,919,2.1,CRD,11 +CMT,1,1,434,1.1,CRD,7 +CMT,1,1,709,1.2,CRD,9 +CMT,1,1,1806,3.1,CSH,19 +CMT,1,1,730,2.6,CSH,11 +CMT,1,1,871,2.3,CSH,11.5 +CMT,1,1,257,0.5,CSH,5 +CMT,1,1,319,0.8,CRD,5.5 +CMT,1,1,504,1.7,CRD,8.5 +CMT,1,1,289,0.6,CSH,5 +CMT,1,1,961,2.4,CRD,12.5 +CMT,1,1,261,0.6,CSH,5 +CMT,1,1,316,0.8,CSH,5.5 +CMT,1,1,300,1,CSH,6 +CMT,1,1,704,1.8,CSH,10 +CMT,1,1,279,0.8,CRD,5.5 +CMT,1,1,929,4.7,CRD,16.5 +CMT,1,1,678,3.1,CRD,12 +CMT,1,1,183,0.5,CSH,4.5 +CMT,1,1,299,1.3,CRD,6.5 +CMT,1,1,334,1,CSH,6 +CMT,1,1,572,1.4,CRD,8.5 +CMT,1,3,814,2,CSH,11.5 +CMT,1,1,3652,8.1,CSH,2.5 +CMT,1,1,1093,4.1,CSH,16.5 +CMT,1,1,573,1.7,CRD,8.5 +CMT,1,1,837,1.9,CSH,10.5 +CMT,1,1,225,0.7,CSH,5 +CMT,1,2,1315,9.6,CRD,29 +CMT,1,1,384,0.8,CRD,6 +CMT,1,1,619,1.8,CSH,9 +CMT,1,2,687,2.4,CRD,10.5 +CMT,1,3,324,1,CSH,5.5 +CMT,1,1,187,0.7,CSH,4.5 +CMT,1,2,424,0.7,CSH,6 +CMT,1,1,605,1.9,CRD,9.5 +CMT,1,1,1546,3.9,CRD,18.5 +CMT,1,2,314,1.1,CSH,6 +CMT,1,2,194,0.6,CSH,4.5 +CMT,1,1,1119,4.4,CRD,17 +CMT,1,1,245,0.7,CRD,5 +CMT,1,1,1468,5.7,CSH,22 +CMT,1,2,476,2.8,CRD,10 +CMT,1,1,573,1.3,CSH,8 +CMT,1,1,103,0.6,CRD,4 +CMT,1,1,217,0.5,CSH,4.5 +CMT,1,1,556,1.5,CSH,8.5 +CMT,1,1,1159,3.4,CSH,15 +CMT,1,1,820,1.4,CRD,10 +CMT,1,1,454,1.4,CRD,7.5 +CMT,1,1,1348,8.8,CRD,27 +CMT,1,1,529,0.9,CRD,7.5 +CMT,1,1,755,2,CSH,10 +CMT,1,1,427,0.8,CRD,6 +CMT,1,1,658,1,CRD,8.5 +CMT,1,1,2129,9.5,CSH,32.5 +CMT,1,1,680,1.9,CRD,9.5 +CMT,1,1,556,1.4,CRD,8 +CMT,1,1,350,0.8,CRD,6 +CMT,1,1,394,1.2,CSH,7 +CMT,1,1,835,2.1,CRD,11.5 +CMT,1,1,470,1.3,CRD,7.5 +CMT,1,1,657,1.3,CSH,8.5 +CMT,1,1,386,0.7,CRD,6 +CMT,1,1,408,1.1,CRD,6.5 +CMT,1,1,602,2.1,CRD,9.5 +CMT,1,1,313,0.9,CRD,5.5 +CMT,1,1,1582,5.5,CRD,21.5 +CMT,1,1,740,0.8,CSH,8.5 +CMT,1,1,329,0.8,CSH,6 +CMT,1,1,334,0.8,CRD,6 +CMT,1,1,1943,7.1,CSH,26.5 +CMT,1,1,981,2.6,CSH,12.5 +CMT,1,1,613,1.6,CSH,8.5 +CMT,1,1,900,2.6,CRD,12.5 +CMT,1,1,225,0.3,CRD,4.5 +CMT,1,1,824,0.7,CRD,9 +CMT,1,1,277,1.3,CSH,6.5 +CMT,1,1,2181,9.5,CSH,32.5 +CMT,1,1,423,1.2,CSH,6.5 +CMT,1,1,189,0.5,CSH,4 +CMT,1,1,649,1.4,CRD,8.5 +CMT,1,1,213,1.4,CRD,6 +CMT,1,1,711,0.7,CSH,8.5 +CMT,1,2,1369,7.1,CRD,24.5 +CMT,1,2,335,1,CSH,6 +CMT,1,1,992,1.6,CSH,12 +CMT,1,2,152,0.5,CRD,4 +CMT,1,2,220,0.8,CSH,5 +CMT,1,1,479,2.3,CSH,9 +CMT,4,1,42,0,CSH,3 +CMT,1,1,607,2.4,CRD,11 +CMT,1,1,255,0.8,CRD,5.5 +CMT,1,1,309,1.2,CSH,6 +CMT,1,1,321,2.2,CRD,8.5 +CMT,1,1,1510,8.8,CRD,29 +CMT,1,2,554,1.3,CSH,8 +CMT,1,1,576,1.7,CSH,8.5 +CMT,1,2,339,1.3,CRD,7 +CMT,1,2,480,2,CSH,9 +CMT,1,1,1078,3.3,CRD,14 +CMT,1,1,2014,7.3,CSH,27.5 +CMT,1,1,259,0.3,CSH,4.5 +CMT,1,1,500,1.1,CRD,7 +CMT,1,1,1502,3.3,CRD,18 +CMT,1,1,688,1.4,CSH,9 +CMT,1,1,796,2,CSH,10.5 +CMT,1,1,192,0.5,CRD,4 +CMT,1,1,549,1.7,CSH,8.5 +CMT,1,1,597,1.4,CRD,8 +CMT,1,1,879,3.4,CSH,14 +CMT,1,1,348,0.8,CSH,6 +CMT,1,1,2640,6.4,CSH,29.5 +CMT,1,1,500,1,CRD,7 +CMT,1,1,1001,4,CRD,16 +CMT,1,1,1511,3.1,CSH,17 +CMT,1,1,1478,4.7,CSH,20 +CMT,1,1,113,0.2,CSH,3.5 +CMT,1,1,286,0.7,CSH,5 +CMT,1,1,547,2.7,CRD,10.5 +CMT,1,1,598,2.1,CRD,9 +CMT,1,1,224,0.4,CSH,4.5 +CMT,1,1,1187,6.8,CRD,22 +CMT,1,1,748,1.3,CSH,9 +CMT,1,1,373,1,CRD,6 +CMT,1,1,563,1.9,CSH,9.5 +CMT,1,1,732,2.3,CSH,11 +CMT,1,1,400,1,CSH,6.5 +CMT,1,1,295,0.8,CSH,5.5 +CMT,1,1,330,1.4,CSH,6.5 +CMT,1,1,740,2.5,CRD,11.5 +CMT,1,1,936,5,CSH,18 +CMT,1,1,878,2.6,CSH,12.5 +CMT,1,1,208,0.5,CSH,4.5 +CMT,1,1,371,0.6,CSH,6 +CMT,1,1,459,1,CSH,7 +CMT,1,1,397,1.3,CRD,7 +CMT,1,1,514,1.7,CRD,8.5 +CMT,1,1,538,2.2,CRD,9.5 +CMT,1,3,1074,3.1,CRD,14.5 +CMT,1,1,579,1.5,CRD,8 +CMT,2,1,2600,19.8,CSH,52 +CMT,1,1,1397,13.6,CSH,38.5 +CMT,1,2,160,0.5,CRD,4 +CMT,1,1,1379,6.7,CRD,22.5 +CMT,1,1,489,2.8,CSH,10 +CMT,2,2,2970,17.6,CRD,52 +CMT,2,2,2518,19.8,CSH,52 +CMT,1,1,978,8.7,CRD,26 +CMT,1,1,1218,12.5,CRD,35 +CMT,1,4,521,2,CSH,9.5 +CMT,1,1,355,1.7,CRD,7.5 +CMT,1,1,532,1.8,CRD,8.5 +CMT,1,3,1396,4.6,CSH,18.5 +CMT,1,1,420,1.5,CSH,7 +CMT,1,1,279,0.6,CRD,5.5 +CMT,1,1,540,1.3,CRD,8 +CMT,1,1,464,1.4,CRD,7 +CMT,1,1,1046,3.1,CRD,14 +CMT,1,2,544,4.2,CRD,13 +CMT,1,1,451,1.7,CSH,8 +CMT,1,1,1166,2.5,CSH,13.5 +CMT,1,1,1034,3.5,CRD,14 +CMT,1,1,1032,2.4,CRD,13 +CMT,1,1,325,0.6,CRD,5.5 +CMT,1,1,545,1.5,CRD,8.5 +CMT,1,1,755,1.8,CRD,10 +CMT,1,1,421,0.9,CRD,6.5 +CMT,1,1,617,1.1,CRD,8 +CMT,1,1,283,0.8,CRD,5.5 +CMT,1,1,417,1.2,CRD,7 +CMT,1,1,772,3.8,CSH,13.5 +CMT,1,1,868,2.4,CRD,12 +CMT,1,1,1385,6.7,CRD,23.5 +CMT,1,1,241,0.6,CSH,4.5 +CMT,1,1,394,0.8,CSH,6 +CMT,1,1,390,1.2,CSH,7 +CMT,1,1,630,1.1,CSH,8.5 +CMT,1,1,541,1.2,CSH,7.5 +CMT,1,1,496,1.4,CRD,8 +CMT,1,1,1022,3.4,CRD,14.5 +CMT,1,1,192,0.4,CSH,4.5 +CMT,1,1,1188,3.1,CSH,15 +CMT,1,1,674,2.7,CRD,11 +CMT,1,1,724,3.6,CSH,13.5 +CMT,1,2,283,1,CRD,6 +CMT,1,1,1772,8.2,CRD,28.5 +CMT,1,4,573,2.3,CRD,9.5 +CMT,1,1,965,2,CSH,12 +CMT,1,1,341,0.9,CSH,6 +CMT,1,1,264,0.4,CRD,4.5 +CMT,1,1,1202,3.1,CSH,15 +CMT,1,1,873,3.2,CSH,13 +CMT,1,1,422,1.1,CSH,6.5 +CMT,1,2,212,0.6,CSH,4.5 +CMT,1,1,599,2.1,CRD,9.5 +CMT,1,1,717,3.5,CRD,13.5 +CMT,1,1,345,1.7,CSH,7.5 +CMT,1,1,430,1.2,CSH,7 +CMT,1,1,202,0.5,CSH,3.5 +CMT,1,1,572,1.1,CRD,8 +CMT,1,1,665,1.3,CSH,8.5 +CMT,1,1,106,0.6,CSH,4 +CMT,1,2,500,2,CSH,9 +CMT,1,1,457,4.8,CSH,14.5 +CMT,1,1,1200,4,CRD,17 +CMT,1,2,468,1.4,CRD,7.5 +CMT,1,1,507,2.2,CSH,9 +CMT,1,1,386,2,CSH,8 +CMT,1,1,418,1.3,CSH,7 +CMT,1,1,756,2.2,CRD,11 +CMT,1,1,398,1,CRD,6.5 +CMT,1,1,255,1,CRD,5.5 +CMT,1,1,356,1.1,CRD,6.5 +CMT,1,1,733,2.5,CRD,11.5 +CMT,1,1,628,1.7,CSH,9 +CMT,1,1,774,2.2,CSH,10.5 +CMT,1,1,547,0.8,CRD,7 +CMT,1,1,428,1.3,CRD,7 +CMT,1,1,285,0.5,CSH,5 +CMT,1,1,885,1,CRD,10 +CMT,1,1,744,2.1,CSH,10 +CMT,1,1,2424,8.9,CRD,33 +CMT,1,1,2517,7,CRD,30 +CMT,1,1,3518,8.3,CRD,39 +CMT,1,1,329,0.4,CRD,5 +CMT,1,1,675,1.2,CRD,8.5 +CMT,1,1,249,0.5,CSH,4.5 +CMT,1,1,1715,10.4,CRD,32.5 +CMT,1,1,243,0.6,CSH,5 +CMT,1,1,574,1.6,CRD,8 +CMT,1,1,573,1.7,CRD,8.5 +CMT,1,1,616,0.8,CSH,8 +CMT,1,1,636,1.4,CSH,9 +CMT,1,1,685,1.3,CSH,8.5 +CMT,1,1,1483,2,CSH,15.5 +CMT,1,1,420,1.3,CSH,7 +CMT,1,1,469,0.9,CRD,7 +CMT,1,1,737,1.6,NOC,10 +CMT,1,1,876,1.6,CRD,10.5 +CMT,1,1,856,1.6,CSH,10.5 +CMT,1,1,522,2.1,CRD,9 +CMT,1,1,537,0.6,CSH,7 +CMT,1,1,888,2.9,CSH,13.5 +CMT,1,1,737,2,CSH,10 +CMT,1,1,459,1.4,CRD,8 +CMT,1,1,145,0.5,CSH,4 +CMT,1,1,1246,4.1,CRD,17.5 +CMT,1,1,340,2.4,CSH,8.5 +CMT,1,1,636,3.1,CRD,11 +CMT,1,1,339,1.3,CSH,6.5 +CMT,1,1,279,0.7,CSH,5.5 +CMT,1,1,332,1.1,CSH,6.5 +CMT,2,2,2527,16.5,CSH,52 +CMT,1,1,424,1.7,CRD,8 +CMT,1,3,271,0.9,CRD,5.5 +CMT,1,3,978,2.9,CRD,14 +CMT,1,2,385,1.4,CSH,7 +CMT,1,1,1116,9.8,CRD,28 +CMT,1,1,898,2.9,CSH,13 +CMT,1,1,1458,8.3,CRD,28 +CMT,1,1,898,3.3,CSH,13.5 +CMT,1,2,1056,4.2,CRD,16 +CMT,1,2,334,1.3,CSH,6 +CMT,1,1,741,3.7,CRD,13 +CMT,1,1,659,2.9,CRD,11.5 +CMT,1,1,517,1.3,CSH,8 +CMT,1,1,449,1.1,CSH,7 +CMT,1,1,1013,9.6,CRD,27.5 +CMT,1,1,992,4.8,CSH,17 +CMT,1,1,1263,5.5,CSH,19.5 +CMT,1,1,524,1.6,CRD,8 +CMT,1,1,807,2.5,CSH,11.5 +CMT,1,1,590,3.5,CSH,11.5 +CMT,1,1,349,1.2,CSH,6 +CMT,4,1,535,3.3,CSH,11.5 +CMT,1,2,448,1.4,CRD,7 +CMT,1,4,488,1.6,CRD,8 +CMT,1,1,299,1.2,CRD,6 +CMT,1,1,264,1.1,CRD,5.5 +CMT,1,1,266,0.8,CRD,5 +CMT,1,3,655,1.9,CRD,9.5 +CMT,1,1,369,1.4,CRD,7 +CMT,1,1,158,0.8,CSH,4.5 +CMT,1,1,78,6.5,NOC,22.5 +CMT,1,1,245,1.2,CRD,6 +CMT,1,2,1113,4.2,CSH,16.5 +CMT,1,2,668,4.4,CRD,14 +CMT,1,1,1169,5.7,CRD,19.5 +CMT,1,1,404,0.8,CSH,6 +CMT,1,1,339,0.9,CSH,6 +CMT,1,1,1460,13.1,CRD,37 +CMT,1,1,795,2.2,CSH,11 +CMT,1,2,1230,3.2,CRD,15.5 +CMT,1,1,512,2,CSH,8.5 +CMT,1,1,1398,6.3,CRD,22 +CMT,1,2,1985,3.5,CRD,21.5 +CMT,1,1,598,2.3,CRD,9.5 +CMT,1,1,338,1.3,CRD,6.5 +CMT,1,1,501,1.8,CRD,8.5 +CMT,1,2,559,4,CSH,12.5 +CMT,1,2,710,2.6,CRD,12 +CMT,1,2,187,1.1,CSH,5.5 +CMT,1,1,1018,5.4,CRD,18 +CMT,1,2,603,2.4,CSH,10 +CMT,1,1,736,2.8,CRD,11.5 +CMT,1,3,324,1.1,CSH,6 +CMT,1,1,616,2.8,CRD,11 +CMT,1,1,292,0.9,CRD,5.5 +CMT,1,1,1996,4.8,CSH,2.5 +CMT,1,2,327,1.7,CRD,7 +CMT,1,1,445,3.6,CSH,12 +CMT,1,2,320,1.3,CRD,6.5 +CMT,1,2,580,2,CSH,9 +CMT,1,1,1025,4.6,CSH,17 +CMT,2,1,1933,21.3,CSH,52 +CMT,1,1,844,3.1,CRD,13 +CMT,1,1,388,1,CRD,7 +CMT,1,1,295,0.7,CRD,5.5 +CMT,1,1,681,0,CSH,8 +CMT,1,1,1251,2.8,CRD,15 +CMT,1,1,462,0.8,CRD,6.5 +CMT,1,1,339,0.5,CSH,5.5 +CMT,1,1,605,1,CSH,8 +CMT,1,1,412,0.8,CRD,6.5 +CMT,1,1,329,0.2,CRD,5 +CMT,1,1,277,0.5,CRD,5 +CMT,1,1,277,0.8,CSH,5.5 +CMT,1,1,172,0.4,CRD,4 +CMT,1,1,968,2.2,NOC,12 +CMT,1,1,304,1.1,CRD,6 +CMT,1,1,141,0.4,CSH,4 +CMT,1,1,822,1.7,CSH,10.5 +CMT,1,1,1093,3.4,CRD,14.5 +CMT,1,1,917,8.6,CSH,24.5 +CMT,1,2,710,3.1,CSH,12 +CMT,1,1,1348,6.4,CRD,22 +CMT,1,1,746,4.7,CSH,15 +CMT,1,1,487,2.1,CSH,9 +CMT,1,1,275,1.2,CRD,6 +CMT,1,1,772,1.7,CSH,10 +CMT,1,1,131,0.4,CSH,3.5 +CMT,1,4,805,2.1,CSH,11 +CMT,1,1,211,0.7,CSH,4.5 +CMT,1,4,828,2,CSH,11 +CMT,1,1,1961,22.9,CSH,61 +CMT,1,2,689,2.4,CSH,10.5 +CMT,1,3,761,3.6,CRD,13.5 +CMT,3,3,1913,18.4,CRD,68.5 +CMT,1,1,1016,4.4,CSH,16.5 +CMT,1,2,1290,2.2,CSH,14.5 +CMT,1,1,988,3.3,CSH,15 +CMT,1,1,534,2.7,CSH,10 +CMT,1,1,50,0.4,CRD,3 +CMT,1,1,1503,8.5,CRD,28 +CMT,1,1,565,1.9,CRD,9 +CMT,1,1,974,3.2,CSH,13.5 +CMT,1,1,876,2.9,CRD,13 +CMT,1,2,498,1,CRD,7 +CMT,1,1,344,1,CRD,6 +CMT,1,1,360,1.9,CSH,7.5 +CMT,1,1,546,1.8,CRD,8.5 +CMT,1,1,221,1,CSH,5 +CMT,1,1,872,2.3,CRD,11.5 +CMT,1,2,223,0.9,CSH,5 +CMT,1,1,369,1.1,CSH,6.5 +CMT,1,1,279,1.2,CRD,6 +CMT,1,2,168,0.4,CSH,4 +CMT,1,2,223,1,CRD,5.5 +CMT,1,2,825,1.7,CSH,10 +CMT,1,4,932,3.5,CSH,14 +CMT,1,1,1137,4.1,CRD,17 +CMT,1,2,78,0.3,CSH,3 +CMT,1,1,99,0.5,CRD,3.5 +CMT,1,2,230,0.7,CSH,5 +CMT,2,1,3565,17.7,CRD,52 +CMT,1,1,992,7.5,CRD,23 +CMT,1,1,209,0.6,CSH,4.5 +CMT,1,2,799,1.7,CRD,10 +CMT,1,1,720,3,CRD,11.5 +CMT,1,1,2014,18,CSH,49.5 +CMT,1,2,1113,6,CSH,19.5 +CMT,1,2,356,1,CSH,6 +CMT,1,4,272,0.6,CSH,5 +CMT,1,3,644,2.2,CSH,10 +CMT,1,1,313,1.6,CRD,6.5 +CMT,1,1,451,1.5,CSH,7.5 +CMT,1,1,1541,9.7,CRD,30.5 +CMT,1,1,1600,10.6,CSH,33.5 +CMT,1,2,799,3.2,CRD,13 +CMT,1,1,116,0.4,CSH,3.5 +CMT,1,4,361,1.7,CRD,7.5 +CMT,1,1,834,3.3,CSH,13 +CMT,1,1,1208,3.4,CRD,15.5 +CMT,1,1,335,0.8,CRD,5.5 +CMT,1,2,639,2,CSH,9.5 +CMT,1,1,642,2,CRD,10 +CMT,1,1,1277,1.4,CSH,13.5 +CMT,1,1,770,3.4,CSH,13 +CMT,1,1,966,2.6,CRD,12.5 +CMT,1,1,511,1.7,CSH,8 +CMT,1,3,239,0.7,CSH,5 +CMT,1,2,796,2.6,CSH,11.5 +CMT,1,1,496,2.6,CRD,10 +CMT,1,2,808,4.7,CRD,15 +CMT,1,1,80,0.2,CRD,3 +CMT,1,3,1386,5.2,CRD,20 +CMT,1,1,853,3.8,CSH,14 +CMT,1,2,898,3.1,CRD,13.5 +CMT,1,1,412,1.3,CSH,7 +CMT,1,1,329,0.4,CSH,5 +CMT,1,1,716,2.5,CRD,11 +CMT,1,1,902,4.5,CSH,15.5 +CMT,1,1,776,1.5,CRD,9.5 +CMT,1,1,859,6.1,CRD,19 +CMT,1,2,229,1.1,CRD,5.5 +CMT,1,1,943,7.1,CRD,21.5 +CMT,1,2,474,1.2,CSH,7 +CMT,1,3,252,1.1,CRD,5.5 +CMT,1,1,397,1.4,CSH,7 +CMT,1,4,119,0.6,CSH,4 +CMT,1,2,571,1.2,CRD,8 +CMT,1,2,179,1.6,CSH,6.5 +CMT,1,1,263,1.3,CRD,6 +CMT,1,1,810,1.1,CSH,9.5 +CMT,1,1,1164,2.5,CRD,13 +CMT,1,1,1785,11.9,CRD,35.5 +CMT,1,2,368,2.6,CRD,9 +CMT,1,2,515,3.5,CRD,12 +CMT,1,2,888,1.5,CSH,10.5 +CMT,1,3,290,0.8,CRD,5.5 +CMT,1,1,335,1.6,CSH,7 +CMT,1,1,535,1.7,CRD,8.5 +CMT,1,1,263,0.5,CRD,5 +CMT,1,2,251,0.7,CRD,5 +CMT,1,1,760,1.4,CRD,9.5 +CMT,1,1,331,1.4,CSH,6.5 +CMT,1,2,654,1.7,CRD,9 +CMT,1,1,492,1.1,CRD,7.5 +CMT,1,1,273,0.7,CRD,5 +CMT,1,1,1132,10.4,CRD,30 +CMT,1,1,166,0.4,CRD,4 +CMT,1,1,430,1.3,CRD,7 +CMT,1,1,1047,2.9,CRD,13.5 +CMT,1,1,525,1,CRD,7.5 +CMT,1,1,704,1.6,CSH,9.5 +CMT,1,1,729,1.8,CSH,10 +CMT,1,1,691,2.2,CSH,10 +CMT,1,2,532,1.8,CRD,8 +CMT,1,1,345,1.8,CSH,7 +CMT,1,1,382,0.7,CSH,6 +CMT,1,1,162,0.9,CRD,5 +CMT,1,1,61,4.1,NOC,2.5 +CMT,1,2,480,1,CRD,7 +CMT,1,1,1332,6.7,CRD,23 +CMT,1,2,303,1.1,CSH,6 +CMT,1,3,783,1.9,CRD,10.5 +CMT,1,1,164,1,CSH,5 +CMT,1,1,1283,12,CSH,33.5 +CMT,1,1,871,4.7,CRD,16 +CMT,1,2,847,3.4,CRD,13.5 +CMT,1,1,52,0.2,CSH,3 +CMT,1,2,203,0.9,CSH,5 +CMT,1,2,235,0.7,CSH,5 +CMT,1,1,1240,13.9,CRD,38 +CMT,1,1,569,1.9,CSH,9 +CMT,1,1,667,2.1,CRD,9.5 +CMT,1,1,155,0.7,CSH,4.5 +CMT,1,1,110,0.7,CSH,4 +CMT,1,1,336,1.5,CRD,7 +CMT,1,1,464,1.4,CSH,7.5 +CMT,1,1,855,4.8,CRD,16 +CMT,1,1,538,1.2,CSH,7.5 +CMT,1,1,1254,2.8,CRD,15 +CMT,1,2,1187,5,CRD,18 +CMT,2,3,3451,26.6,CSH,52 +CMT,1,2,1443,7.4,CSH,24 +CMT,1,1,1171,9,CSH,26.5 +CMT,1,2,639,2,CSH,10 +CMT,1,1,1493,10.7,CRD,32.5 +CMT,1,3,598,2.1,CSH,9.5 +CMT,1,1,367,1.5,CRD,7 +CMT,1,2,171,0.4,CRD,4 +CMT,1,1,810,1.9,CSH,11 +CMT,1,1,556,1.8,CSH,8.5 +CMT,1,1,399,1.8,CRD,8 +CMT,1,1,319,0.7,CSH,5.5 +CMT,1,1,411,1.8,CRD,7.5 +CMT,1,1,390,1.3,CRD,7 +CMT,1,2,871,3.8,CRD,14 +CMT,1,1,1053,8.5,CRD,24.5 +CMT,1,1,946,2.4,CSH,12.5 +CMT,1,1,322,0.8,CSH,5.5 +CMT,1,1,1099,2.7,CRD,13.5 +CMT,1,3,290,0.7,CSH,5 +CMT,1,1,1166,10.8,CRD,31 +CMT,1,1,440,1.6,CSH,7.5 +CMT,1,1,686,2.1,CSH,10 +CMT,1,1,296,1,CRD,6 +CMT,1,1,237,1,CSH,5.5 +CMT,1,2,1328,5.4,CRD,20 +CMT,1,3,218,0.9,CSH,5 +CMT,1,2,803,3.3,CSH,13 +CMT,1,3,370,1.3,CSH,6.5 +CMT,1,2,612,1.4,CRD,8.5 +CMT,1,1,216,0.8,CSH,5 +CMT,1,1,571,2.4,CRD,9.5 +CMT,1,1,318,0.8,CRD,5.5 +CMT,1,1,57,0,NOC,2.5 +CMT,1,1,895,3.5,CSH,13 +CMT,1,1,1089,5.1,CRD,18 +CMT,1,1,1967,15.4,CRD,44 +CMT,2,1,1430,16.5,CRD,52 +CMT,1,1,414,1.7,CSH,7.5 +CMT,1,1,1087,11.3,CSH,32 +CMT,1,2,944,3.2,CSH,14 +CMT,1,1,2550,8.7,CRD,35 +CMT,1,1,592,2.5,CRD,10 +CMT,1,1,1061,6,CSH,19 +CMT,1,2,452,1.8,CRD,8 +CMT,1,1,716,1.6,CRD,9.5 +CMT,1,1,688,2,CRD,10 +CMT,1,2,814,2.6,CSH,12 +CMT,1,1,1066,4.8,CRD,17.5 +CMT,1,1,870,4.6,CRD,15 +CMT,1,1,469,1.3,CSH,7 +CMT,1,1,99,0.4,CSH,3.5 +CMT,1,1,427,1.4,CRD,7 +CMT,1,2,1061,3.3,CSH,14 +CMT,1,2,433,1.9,CSH,8 +CMT,1,2,392,1.3,CRD,6.5 +CMT,1,1,738,5.6,CSH,17.5 +CMT,1,1,481,2.3,CRD,9.5 +CMT,1,1,868,6.1,CSH,18.5 +CMT,2,2,2293,22.8,CRD,52 +CMT,1,3,449,0.9,CSH,6.5 +CMT,1,1,1096,5.3,CSH,18 +CMT,1,1,880,6.7,CRD,21 +CMT,1,1,767,2,CRD,10.5 +CMT,1,2,1289,5.3,CRD,20 +CMT,1,1,160,1.4,CSH,6 +CMT,1,1,244,1.7,CSH,6.5 +CMT,1,1,1491,2.8,CRD,16.5 +CMT,1,1,680,2.9,CSH,11 +CMT,1,2,1159,3.7,CSH,15.5 +CMT,1,1,554,1.9,CRD,8.5 +CMT,1,1,665,2.1,CRD,10 +CMT,1,1,1179,3.8,CSH,16.5 +CMT,1,1,611,1.5,CRD,8.5 +CMT,1,1,515,1.8,CSH,8 +CMT,1,1,668,1.7,CSH,9.5 +CMT,1,3,545,1.1,CSH,8 +CMT,1,2,1016,7.6,CSH,23.5 +CMT,1,2,78,0.4,CSH,3.5 +CMT,1,2,388,1.5,CSH,7 +CMT,1,1,686,2.2,CRD,10.5 +CMT,1,2,475,1.4,CSH,7.5 +CMT,1,1,1287,4.8,CRD,19.5 +CMT,1,1,1293,3.7,CSH,17 +CMT,1,1,466,1.9,CRD,8.5 +CMT,1,1,563,2.3,CRD,9.5 +CMT,1,1,1191,4.1,CRD,17 +CMT,1,1,261,1.1,CRD,5.5 +CMT,1,1,339,1.1,CRD,6 +CMT,1,3,270,0.9,CRD,5.5 +CMT,1,2,819,2.7,CRD,12 +CMT,1,2,638,0.8,CRD,7.5 +CMT,1,1,363,1.2,CSH,6.5 +CMT,1,1,648,3.1,CSH,12 +CMT,1,1,1399,6.5,CRD,22 +CMT,1,1,390,1.4,CRD,7 +CMT,1,2,470,2,CSH,9 +CMT,1,1,468,1.2,CRD,7 +CMT,1,1,673,3.2,CRD,12 +CMT,1,1,339,0.8,CSH,5.5 +CMT,1,1,741,3.2,CRD,12 +CMT,1,1,618,2.1,CRD,10 +CMT,1,2,1032,9.6,CSH,28 +CMT,1,1,1167,11.5,NOC,32.5 +CMT,1,2,348,1,CSH,6 +CMT,1,1,221,0.8,CRD,5 +CMT,1,1,1401,11.8,CSH,34.5 +CMT,1,2,1037,2.9,CRD,13.5 +CMT,1,1,672,3.5,CSH,12.5 +CMT,1,1,836,4.5,CRD,15.5 +CMT,1,1,1099,1.8,CRD,12.5 +CMT,1,1,587,0.9,CRD,7.5 +CMT,1,1,883,3.8,CRD,14 +CMT,1,1,1000,2.5,CSH,12.5 +CMT,1,1,1164,3.4,CRD,15 +CMT,1,1,905,4.4,CRD,15.5 +CMT,1,3,389,1.4,CRD,7 +CMT,1,2,172,0.3,CSH,4 +CMT,1,3,121,0.4,CRD,4 +CMT,1,3,590,1.9,CSH,9 +CMT,1,3,974,3.4,CRD,14 +CMT,1,3,1362,8.7,CSH,27 +CMT,1,3,362,1.8,CSH,7.5 +CMT,1,3,828,2.5,CSH,11.5 +CMT,1,3,369,0.7,CRD,6 +CMT,1,3,198,0.9,CRD,5 +CMT,1,3,275,0.4,CRD,5 +CMT,1,3,1607,13,CSH,38 +CMT,1,3,903,2.1,CRD,11.5 +CMT,1,1,164,0.7,CRD,4.5 +CMT,1,1,1301,3.6,CRD,17 +CMT,1,1,510,1.2,CRD,7.5 +CMT,1,1,666,3.5,CSH,12.5 +CMT,1,2,589,2.5,CRD,10 +CMT,1,3,1170,3.9,CRD,16 +CMT,1,2,1059,3.4,CRD,15 +CMT,1,2,315,0.9,CRD,5.5 +CMT,1,3,271,0.8,CSH,5 +CMT,1,2,397,1.2,CRD,7 +CMT,1,3,876,3.1,CRD,13 +CMT,1,3,185,0.5,CSH,4.5 +CMT,1,2,326,1.8,CSH,7.5 +CMT,1,3,488,0.7,CSH,7 +CMT,1,2,401,1.6,CRD,7 +CMT,1,3,365,1.3,CRD,7 +CMT,1,4,528,1.7,CRD,8 +CMT,1,2,465,1,CRD,7 +CMT,1,3,393,0.9,CSH,6.5 +CMT,1,3,1432,12.4,CRD,34.5 +CMT,1,2,1152,5.3,CRD,19 +CMT,1,2,359,1.7,CRD,7.5 +CMT,1,3,1005,4.7,CSH,18 +CMT,1,2,235,0.9,CSH,5.5 +CMT,1,2,1140,4.6,CRD,17.5 +CMT,1,3,121,0.3,CSH,3.5 +CMT,1,1,439,1.1,CRD,6.5 +CMT,1,1,508,2.2,CRD,9 +CMT,1,1,306,0.8,CSH,5.5 +CMT,1,1,703,2.2,CRD,10.5 +CMT,1,1,665,1.6,CSH,8.5 +CMT,1,1,20,0.3,NOC,2.5 +CMT,1,1,794,2.3,CSH,11 +CMT,1,1,780,0.9,CRD,9 +CMT,1,1,537,1.1,CSH,7.5 +CMT,1,1,344,0.8,CRD,5.5 +CMT,1,1,671,2.1,CRD,9.5 +CMT,1,1,467,0.9,CSH,6.5 +CMT,1,1,1194,6.5,CRD,21 +CMT,1,1,571,1.4,CSH,8 +CMT,1,3,517,3.1,CRD,10.5 +CMT,1,2,1582,17.4,CSH,47.5 +CMT,1,3,479,1.3,CSH,7.5 +CMT,1,3,391,1.1,CRD,6.5 +CMT,1,1,181,1.1,CRD,5.5 +CMT,1,2,523,1.9,CSH,8.5 +CMT,1,4,346,1.5,CSH,7 +CMT,1,1,2081,3.7,CRD,15 +CMT,1,3,157,0.4,CSH,4 +CMT,1,2,1825,4.8,CSH,21.5 +CMT,1,2,834,1.6,CSH,10.5 +CMT,1,3,433,1.5,CSH,7.5 +CMT,1,1,1195,3.5,CRD,15 +CMT,1,3,676,2.5,CRD,10.5 +CMT,1,3,536,2.3,CRD,9.5 +CMT,1,2,766,1.9,CRD,10 +CMT,1,2,336,0.4,CSH,5 +CMT,2,2,15,0,CRD,52 +CMT,1,3,392,1.2,CRD,6.5 +CMT,1,3,504,2.2,CSH,9.5 +CMT,1,3,389,1.5,CRD,7.5 +CMT,1,2,300,1,CSH,5.5 +CMT,1,3,717,3,CRD,11.5 +CMT,1,1,562,1.7,CRD,8.5 +CMT,1,3,577,2.2,CSH,9.5 +CMT,1,3,913,6.2,CRD,20 +CMT,1,3,752,2.8,CRD,11.5 +CMT,1,2,1465,11.3,CRD,34.5 +CMT,1,3,314,1,CRD,6.5 +CMT,1,2,344,1.4,CRD,6.5 +CMT,1,3,909,2.3,CSH,12 +CMT,1,2,333,0.5,CRD,5.5 +CMT,1,3,805,3.9,CRD,14.5 +CMT,1,2,339,0.6,CRD,5.5 +CMT,1,3,316,1.3,CRD,6.5 +CMT,1,2,1195,2.7,CRD,14.5 +CMT,1,2,1076,5.2,CRD,17.5 +CMT,1,3,259,1,CRD,5.5 +CMT,1,3,2252,14.8,CRD,45 +CMT,1,2,384,1.4,CRD,7 +CMT,1,3,519,1.2,CSH,7.5 +CMT,1,3,2710,10.6,CRD,39.5 +CMT,1,3,394,1.3,CRD,7 +CMT,1,1,348,0.5,CRD,5.5 +CMT,1,2,441,1,CSH,7 +CMT,1,3,547,2,CSH,9 +CMT,1,2,534,2.5,CRD,9.5 +CMT,1,3,768,2.8,CRD,11.5 +CMT,1,3,312,0.8,CSH,5.5 +CMT,1,3,332,0.9,CRD,5.5 +CMT,1,3,310,1.1,CSH,6 +CMT,1,3,938,4.9,CRD,17 +CMT,1,3,1677,12.1,CSH,36.5 +CMT,1,3,673,2.9,CSH,11.5 +CMT,1,2,428,1.7,CRD,8 +CMT,1,3,338,0.9,CSH,6 +CMT,1,3,568,1.1,CRD,8 +CMT,1,2,568,1.5,CSH,8 +CMT,1,3,395,1.8,CRD,7.5 +CMT,1,3,1314,7.2,CSH,23.5 +CMT,1,2,1543,4.1,CSH,18.5 +CMT,1,3,566,1.8,CSH,8.5 +CMT,1,2,1004,2.9,CRD,13.5 +CMT,1,3,1011,6.2,CRD,21.5 +CMT,1,1,681,1.7,CRD,9 +CMT,1,1,438,1,CSH,6.5 +CMT,1,1,654,1.7,CRD,9 +CMT,1,1,2069,4.7,CRD,23.5 +CMT,1,1,482,1.6,CSH,8.5 +CMT,1,1,336,1.2,CRD,7 +CMT,1,1,133,0.5,CSH,4 +CMT,1,1,376,1.3,CSH,7 +CMT,1,1,88,0.6,CSH,4 +CMT,1,1,178,0.3,CRD,4 +CMT,5,4,1438,18,CSH,70 +CMT,1,1,1045,9.5,CSH,27.5 +CMT,2,1,1420,16.8,CSH,52 +CMT,1,1,407,1.6,CSH,7.5 +CMT,1,2,262,1.2,CSH,6 +CMT,1,1,320,1,CSH,6 +CMT,1,2,206,0.8,CRD,5 +CMT,1,1,2939,8.9,CSH,34.5 +CMT,1,2,391,1.9,CSH,7.5 +CMT,1,4,611,2.5,CRD,10.5 +CMT,1,1,869,1.9,CRD,10.5 +CMT,1,1,1080,5.1,CRD,18.5 +CMT,1,1,533,1.4,CSH,8 +CMT,1,1,319,1.4,CRD,6.5 +CMT,1,1,465,1.3,CRD,7.5 +CMT,1,1,411,4.3,CRD,13.5 +CMT,1,1,375,1.1,CSH,6.5 +CMT,1,1,1110,2.4,CRD,13 +CMT,4,1,283,0.9,CSH,5.5 +CMT,1,2,1504,6.1,CRD,22 +CMT,1,1,1361,10.3,CRD,30 +CMT,1,1,549,1.7,CRD,8.5 +CMT,1,1,1219,5.6,CRD,20 +CMT,1,1,290,1.2,CRD,6 +CMT,1,2,212,0.9,CSH,5 +CMT,1,1,2930,13.5,CRD,45.5 +CMT,1,1,263,0.6,CSH,5 +CMT,1,1,670,2.4,CRD,10 +CMT,1,1,669,1.9,CSH,9 +CMT,1,1,828,5.3,CRD,16.5 +CMT,1,1,331,1.4,CSH,6.5 +CMT,1,1,989,2.2,CSH,12.5 +CMT,1,1,111,0.9,CSH,4.5 +CMT,1,1,795,2.7,CSH,12 +CMT,1,1,806,1.5,CRD,10.5 +CMT,1,1,969,3.9,CRD,15 +CMT,1,1,221,0.7,CSH,4.5 +CMT,1,1,174,0.7,CRD,4.5 +CMT,1,1,538,1.4,CRD,8 +CMT,1,1,296,0.8,CSH,5.5 +CMT,1,3,682,2.1,CRD,9.5 +CMT,1,2,736,1.8,CSH,9.5 +CMT,1,3,475,1,CRD,7 +CMT,1,3,837,1.6,CRD,10.5 +CMT,1,3,1292,5.3,CRD,20 +CMT,1,3,304,1.2,CSH,6 +CMT,1,3,532,3,CSH,11 +CMT,1,3,435,0.8,CSH,6 +CMT,1,4,980,6.7,CSH,21.5 +CMT,1,3,539,1.3,CRD,8 +CMT,1,2,519,4.8,CSH,15 +CMT,1,2,544,0.6,CRD,7 +CMT,1,3,1840,5,CSH,24 +CMT,1,3,280,0.5,CSH,5 +CMT,1,2,173,0.7,CRD,4.5 +CMT,1,2,697,1.8,CRD,10 +CMT,1,2,836,5.3,CSH,16.5 +CMT,1,3,217,0.6,CRD,4.5 +CMT,1,2,1402,5.6,CRD,21.5 +CMT,1,3,766,2.4,CSH,11 +CMT,1,3,1341,15.4,CRD,42 +CMT,1,2,597,5,CSH,15.5 +CMT,1,3,320,0.5,CRD,5.5 +CMT,1,3,190,0.5,CSH,4 +CMT,1,3,1389,5.4,CRD,20 +CMT,1,3,785,1.7,CSH,10 +CMT,1,2,864,1.5,CRD,10 +CMT,1,3,1801,14.9,CRD,42.5 +CMT,1,1,542,3.2,CRD,11 +CMT,1,1,380,1.2,CRD,6.5 +CMT,1,1,227,0.5,CSH,4.5 +CMT,1,2,1046,5.1,CSH,17 +CMT,1,1,1176,3.5,CRD,15.5 +CMT,1,2,762,2.2,CSH,11 +CMT,1,1,384,1.3,CRD,7 +CMT,1,2,405,2.6,CRD,9.5 +CMT,1,3,554,1.9,CRD,9 +CMT,1,2,433,1.5,CRD,7.5 +CMT,1,2,1938,16,CRD,47 +CMT,1,3,1191,6.1,CRD,21 +CMT,1,1,737,2.6,CRD,11.5 +CMT,1,1,327,1.2,CRD,6.5 +CMT,1,1,3892,10,CRD,46.5 +CMT,1,1,198,0.6,CSH,4.5 +CMT,1,1,402,1.9,CRD,8 +CMT,1,1,910,6.5,CRD,20.5 +CMT,1,2,136,0.4,CSH,4 +CMT,1,1,922,2,CSH,11.5 +CMT,1,1,269,0.8,CSH,5 +CMT,1,2,530,1.4,CRD,8 +CMT,1,1,539,2.1,CRD,9 +CMT,1,3,756,2.6,CRD,11.5 +CMT,1,4,224,0.6,CSH,4.5 +CMT,1,1,296,1.2,CSH,6 +CMT,1,1,402,0.7,CSH,6 +CMT,1,1,488,1.9,CRD,8.5 +CMT,5,1,840,4.4,CRD,56 +CMT,1,3,817,3.9,CRD,15 +CMT,5,2,42,0,CRD,57.3 +CMT,1,2,148,0.9,CRD,5 +CMT,1,3,262,0.6,CSH,5 +CMT,1,3,857,1.6,CSH,10.5 +CMT,1,3,577,2.8,CRD,11.5 +CMT,1,3,531,1.7,CSH,8 +CMT,1,3,424,2,CSH,8.5 +CMT,1,3,1000,8.7,CRD,25.5 +CMT,1,3,1065,6.6,CRD,22 +CMT,1,2,284,1,CSH,6 +CMT,1,3,156,0.7,CSH,4.5 +CMT,1,2,1020,4.7,CRD,17 +CMT,1,2,692,1.4,CSH,9 +CMT,1,3,1057,2.5,CRD,13 +CMT,1,3,1670,11.2,CRD,34 +CMT,1,3,653,1.5,CRD,9 +CMT,1,3,1744,4.7,CRD,21 +CMT,1,3,477,1.8,CRD,8.5 +CMT,1,2,1384,11.8,CSH,34 +CMT,1,2,271,0.6,CSH,5 +CMT,1,3,358,0.7,CSH,5.5 +CMT,1,3,1680,14.2,CRD,41 +CMT,1,1,490,1.9,CRD,8.5 +CMT,1,1,439,1.9,CRD,8 +CMT,1,2,168,0.7,CSH,4.5 +CMT,1,1,195,0.8,CRD,4.5 +CMT,1,1,1929,7.7,CRD,28 +CMT,1,2,565,1.7,CRD,8.5 +CMT,1,2,253,0.6,CSH,4.5 +CMT,1,3,1519,16.5,CSH,45 +CMT,1,2,1912,5.2,CSH,23 +CMT,1,2,48,0.3,CSH,3 +CMT,1,4,826,3.9,CSH,13.5 +CMT,1,2,261,0.6,CRD,5 +CMT,1,3,1011,3.5,CRD,15 +CMT,1,2,986,4.4,CRD,17 +CMT,1,3,218,1.1,CRD,5.5 +CMT,1,2,296,0.7,CSH,5.5 +CMT,1,3,726,1.5,CRD,9.5 +CMT,1,3,275,0.4,CRD,5 +CMT,1,3,542,2,CRD,9 +CMT,1,3,1175,5.2,CSH,19.5 +CMT,1,3,1012,2.1,CSH,12 +CMT,1,3,113,0.4,CSH,3.5 +CMT,1,2,390,1.7,CRD,7.5 +CMT,1,2,573,2.6,CRD,10 +CMT,1,3,265,0.5,CSH,4.5 +CMT,1,3,1478,3.1,CRD,16.5 +CMT,1,3,226,0.7,CSH,5 +CMT,1,2,785,5.9,CRD,18.5 +CMT,1,2,1537,6.3,CRD,24 +CMT,1,3,622,1.7,CRD,9 +CMT,1,3,1058,6.2,CRD,21 +CMT,1,3,808,8.8,CRD,25 +CMT,1,2,320,1.1,CRD,6 +CMT,1,2,220,0.5,CRD,4.5 +CMT,1,3,2284,19.8,CSH,53 +CMT,1,3,828,3.7,CSH,14 +CMT,1,3,524,2.7,CRD,10 +CMT,1,3,423,1.7,CSH,7.5 +CMT,1,2,1295,4.8,CRD,18 +CMT,1,2,218,0.8,CRD,5 +CMT,1,1,680,1.4,CRD,9 +CMT,1,2,1052,3.1,CRD,14.5 +CMT,1,3,1086,4.2,CRD,17 +CMT,1,2,878,2.2,CRD,11.5 +CMT,1,3,801,4.5,CRD,16 +CMT,1,2,237,0.4,CRD,4.5 +CMT,1,3,1013,2.1,CSH,12.5 +CMT,1,3,1880,13.9,CRD,40 +CMT,1,1,643,0.9,CSH,8 +CMT,1,2,271,1.1,CSH,6 +CMT,1,3,545,0.7,CSH,7 +CMT,1,1,723,1.5,CSH,9 +CMT,1,3,1260,5.4,CSH,19.5 +CMT,1,3,1332,6.6,CRD,23 +CMT,1,3,749,3.7,CSH,13 +CMT,1,3,390,1,CSH,6.5 +CMT,1,3,787,2.5,CSH,11 +CMT,1,3,832,2.1,CRD,10.5 +CMT,1,3,328,1.1,CSH,6 +CMT,1,3,688,1.1,CRD,9 +CMT,1,2,347,0.7,CSH,6 +CMT,1,3,1046,1.3,CRD,11.5 +CMT,1,3,878,1.4,CRD,10.5 +CMT,1,2,875,3.4,CRD,13 +CMT,1,3,144,0.5,CSH,4 +CMT,1,3,983,10.1,CSH,29 +CMT,1,2,855,2.9,CSH,13 +CMT,1,3,791,8.8,CRD,24.5 +CMT,2,2,15,0,CRD,52 +CMT,1,3,413,0.8,CRD,6.5 +CMT,1,2,487,1.9,CRD,8.5 +CMT,1,2,820,1.9,CRD,10.5 +CMT,1,3,622,1.4,CRD,8.5 +CMT,1,3,895,2.8,CRD,12 +CMT,1,2,392,0.9,CSH,6 +CMT,1,3,805,3,CSH,12.5 +CMT,5,2,72,0,CSH,13.5 +CMT,1,3,485,1.9,CRD,8.5 +CMT,1,3,219,0.4,CSH,4.5 +CMT,1,3,310,0.6,CSH,5.5 +CMT,1,3,511,1.3,CRD,7.5 +CMT,1,3,1007,4,CRD,15 +CMT,1,3,709,2.3,CRD,10.5 +CMT,1,3,505,4.5,CRD,14.5 +CMT,1,4,814,4.6,CSH,16 +CMT,2,3,1316,14.3,CRD,52 +CMT,1,3,193,0.5,CSH,4 +CMT,1,3,51,0.3,CSH,3 +CMT,1,3,1400,14.2,CRD,40 +CMT,1,2,946,3.1,CSH,13 +CMT,1,2,965,3.6,CSH,14 +CMT,1,2,691,1.6,CRD,9 +CMT,1,2,3871,20.8,CSH,66 +CMT,1,3,207,0.9,CRD,5 +CMT,1,2,710,1.7,CSH,10 +CMT,1,2,602,1.6,CSH,9 +CMT,1,2,424,0.9,CSH,6.5 +CMT,1,3,376,0.7,CRD,6 +CMT,1,2,883,3.8,CRD,14.5 +CMT,1,3,830,1.5,CSH,10 +CMT,1,3,433,1.7,CSH,8 +CMT,5,2,73,0,CRD,78 +CMT,1,3,395,1.1,CRD,6.5 +CMT,1,3,933,1.7,CRD,11.5 +CMT,1,3,529,1.5,CRD,8.5 +CMT,1,2,284,0.5,CRD,5 +CMT,1,2,249,1.7,CSH,7 +CMT,1,3,355,1.1,CRD,6.5 +CMT,1,3,894,3.3,CSH,14 +CMT,1,3,597,2.8,CRD,11 +CMT,1,2,348,1.1,CRD,6 +CMT,1,3,1661,15.1,CSH,42.5 +CMT,1,2,455,1.3,CSH,7.5 +CMT,1,2,249,0.7,CSH,5 +CMT,1,2,837,2.3,CRD,11.5 +CMT,1,3,1157,4.4,CRD,17.5 +CMT,1,2,516,2.5,CRD,9.5 +CMT,1,2,478,1.1,CSH,7 +CMT,1,3,480,1,CSH,7 +CMT,1,2,1260,2.8,CRD,15 +CMT,1,2,318,0.9,CRD,5.5 +CMT,1,1,422,1,CSH,7 +CMT,1,1,542,0.8,CSH,7 +CMT,1,1,375,0.6,CRD,5.5 +CMT,1,2,537,1,CRD,7.5 +CMT,1,1,1037,3.2,CSH,14.5 +CMT,1,1,427,1.8,CSH,7.5 +CMT,1,1,530,0.4,CSH,6.5 +CMT,1,1,1342,3.1,CRD,15.5 +CMT,1,1,394,1.5,CRD,7 +CMT,1,2,1334,2.9,CRD,15.5 +CMT,1,1,375,0.6,CSH,5.5 +CMT,1,2,198,0.6,CSH,4.5 +CMT,1,1,458,0.5,CSH,6.5 +CMT,1,1,864,1.6,CSH,11 +CMT,1,1,324,1.1,CRD,6 +CMT,1,1,246,0.6,CSH,4.5 +CMT,1,1,746,1.5,CSH,9.5 +CMT,1,1,250,0.7,CSH,5 +CMT,1,1,682,1.1,CRD,8.5 +CMT,1,1,164,0.5,CSH,4 +CMT,1,1,598,3.2,CRD,11.5 +CMT,1,1,316,1.1,CSH,6.5 +CMT,1,1,387,1.1,CSH,6.5 +CMT,1,1,342,1.1,CRD,6.5 +CMT,1,1,440,0.7,CSH,6.5 +CMT,1,1,215,0.5,CSH,4.5 +CMT,1,1,259,0.7,CRD,5 +CMT,1,3,599,2.2,CRD,10 +CMT,1,3,548,1.9,CRD,9 +CMT,1,2,1590,11.4,CSH,34.5 +CMT,1,1,919,3,CSH,13 +CMT,1,2,432,1,CSH,7 +CMT,1,1,482,0.9,CSH,7 +CMT,1,1,322,0.6,CSH,5.5 +CMT,1,1,531,1.8,CSH,8.5 +CMT,1,3,729,2,CRD,10 +CMT,2,2,2822,17,CSH,52 +CMT,1,2,615,2.4,CSH,10 +CMT,1,1,2145,14.9,CSH,42 +CMT,1,1,1564,4.2,CSH,19 +CMT,1,1,165,0.7,CSH,4.5 +CMT,1,2,849,1.6,CSH,10 +CMT,1,3,395,1,CSH,6 +CMT,1,1,234,0.5,CSH,4.5 +CMT,1,1,870,1,CSH,9.5 +CMT,1,1,413,0.8,CRD,6 +CMT,1,1,412,0.9,CRD,6.5 +CMT,1,1,232,0.7,CRD,5 +CMT,1,1,455,1.4,CSH,7 +CMT,1,1,583,1.3,CRD,8 +CMT,1,1,753,1.6,CSH,10 +CMT,1,1,1087,4.4,CRD,17.5 +CMT,1,1,895,2.1,CSH,11.5 +CMT,1,1,393,0.7,CSH,6 +CMT,1,3,1145,7.4,CSH,23.5 +CMT,1,1,643,2.8,CRD,10.5 +CMT,1,1,585,1.7,CRD,9 +CMT,1,2,1116,4.2,CRD,16 +CMT,1,1,493,1.6,CRD,8 +CMT,1,1,140,0.6,CSH,4 +CMT,1,1,903,2.7,CSH,12.5 +CMT,1,3,968,2.4,CRD,12.5 +CMT,1,3,305,0.9,CSH,5.5 +CMT,1,3,184,0.7,CRD,5 +CMT,1,3,101,0.3,CSH,3.5 +CMT,1,2,603,3.5,CSH,12 +CMT,1,1,990,3.2,CSH,13.5 +CMT,1,1,597,1,CRD,7.5 +CMT,1,1,97,0.1,CSH,3 +CMT,1,2,2789,14.9,CRD,46 +CMT,1,1,152,0.4,CSH,4 +CMT,1,1,178,0.7,CSH,4.5 +CMT,1,1,325,1,CSH,6 +CMT,1,1,185,0.4,CSH,4.5 +CMT,1,1,858,1,CRD,9.5 +CMT,1,1,340,1.2,CSH,6.5 +CMT,2,2,1907,17.1,CSH,52 +CMT,1,1,430,1.8,CRD,8 +CMT,1,1,19,0,DIS,2.5 +CMT,5,1,39,0,CSH,17 +CMT,1,1,1135,8.6,CRD,26.5 +CMT,1,1,538,3.3,CRD,11.5 +CMT,1,1,1355,12.5,CRD,35.5 +CMT,1,1,441,0.7,CRD,6.5 +CMT,1,1,311,1.3,CRD,6.5 +CMT,1,1,963,1.9,CRD,12 +CMT,1,2,431,1,CSH,6.5 +CMT,1,1,1065,4.2,CSH,17 +CMT,1,1,1441,10.3,CRD,30 +CMT,1,2,734,3.4,CRD,13 +CMT,1,1,703,1.8,CRD,10 +CMT,1,1,731,1.8,CSH,10 +CMT,1,1,234,0.5,CSH,4.5 +CMT,1,1,793,5.2,CRD,16.5 +CMT,1,1,472,0.7,CRD,6.5 +CMT,1,1,701,1.2,CRD,9 +CMT,1,1,754,2.1,CRD,10.5 +CMT,1,1,868,3.7,CRD,14.5 +CMT,1,2,567,1.9,CSH,9 +CMT,1,3,361,0.8,CSH,6 +CMT,1,3,1460,13.4,CSH,38 +CMT,1,3,327,1,CSH,6 +CMT,1,3,500,3,CRD,11.5 +CMT,1,3,359,1.2,CRD,6.5 +CMT,1,3,384,1.3,CSH,7 +CMT,1,3,1065,8.9,CRD,26 +CMT,1,2,463,1.1,CRD,7 +CMT,1,2,819,1.7,CRD,10.5 +CMT,1,2,272,0.5,CRD,5 +CMT,1,2,916,5,CSH,17.5 +CMT,1,2,1090,4.4,CRD,16 +CMT,1,2,175,0.6,CRD,4.5 +CMT,1,3,750,2.4,CRD,11 +CMT,1,3,265,0.7,CRD,5 +CMT,1,3,431,1.5,CRD,7.5 +CMT,1,3,468,1,CRD,7 +CMT,1,3,337,1.3,CSH,6.5 +CMT,1,3,591,1.2,CSH,8 +CMT,1,3,1212,1.4,CRD,13 +CMT,1,2,1072,3.7,CRD,15 +CMT,1,3,548,2.7,CRD,10.5 +CMT,1,3,573,2.1,CRD,9.5 +CMT,1,3,250,0.6,CSH,5 +CMT,2,2,1315,8.4,CSH,52 +CMT,1,2,478,1.3,CRD,7.5 +CMT,1,3,709,1.8,CRD,9.5 +CMT,1,3,729,2.3,CRD,10.5 +CMT,1,2,358,1,CSH,6 +CMT,1,3,357,1.2,CRD,6.5 +CMT,1,3,289,0.8,CSH,5.5 +CMT,1,3,677,1.9,CRD,9.5 +CMT,4,2,14,0,CSH,2.5 +CMT,1,3,860,2.5,CRD,11.5 +CMT,1,2,1012,2.9,CRD,13.5 +CMT,1,3,850,1.7,CRD,11 +CMT,2,2,7,0,CRD,52 +CMT,1,3,271,1.1,CRD,5.5 +CMT,5,2,40,0,CRD,57 +CMT,1,3,533,1.5,CRD,8 +CMT,1,2,1263,9.2,CRD,28 +CMT,1,3,1081,5.1,CRD,19 +CMT,1,3,535,1,CSH,7.5 +CMT,1,3,56,0.2,CSH,3 +CMT,1,3,1871,15.1,CRD,44 +CMT,1,2,226,0.4,CSH,4.5 +CMT,1,2,488,1.4,CRD,7.5 +CMT,1,2,445,1.4,CSH,7.5 +CMT,1,3,1644,4.1,CRD,19.5 +CMT,1,2,1401,1.8,CRD,15 +CMT,1,2,1303,4.7,CRD,19 +CMT,1,3,1342,3,CSH,15.5 +CMT,2,1,1693,17.6,CSH,52 +CMT,1,2,814,1.3,CSH,10 +CMT,1,1,210,0.6,CSH,4.5 +CMT,1,3,1366,4.2,CRD,18 +CMT,1,1,734,5.5,CRD,17.5 +CMT,1,1,388,0.9,CSH,6.5 +CMT,1,1,1129,2.2,CRD,13 +CMT,1,1,327,0.6,CRD,5.5 +CMT,1,1,222,0.5,NOC,4.5 +CMT,1,1,871,1.3,CSH,10.5 +CMT,1,1,552,2.6,CSH,10 +CMT,1,1,344,0.7,CSH,5.5 +CMT,1,2,285,0.4,CRD,5 +CMT,1,1,849,1.8,CRD,10.5 +CMT,1,2,198,0.4,CRD,4 +CMT,1,1,1944,8.6,CRD,30 +CMT,1,1,884,4.4,CSH,15 +CMT,1,1,208,0.6,CSH,4.5 +CMT,1,1,751,4,CRD,14 +CMT,1,1,551,0.9,CRD,7.5 +CMT,1,3,164,0.7,CSH,4.5 +CMT,1,2,1785,7.5,CRD,27 +CMT,1,1,18,0,CSH,2.5 +CMT,1,1,233,0.6,CRD,5 +CMT,1,1,707,4,CRD,14.5 +CMT,1,1,869,1.9,NOC,11.5 +CMT,1,1,482,1.6,DIS,8.5 +CMT,1,3,539,1.6,CSH,8.5 +CMT,1,1,406,1.7,CSH,7.5 +CMT,1,1,2336,12.2,CSH,38.5 +CMT,1,1,325,1.1,CRD,6 +CMT,1,2,802,3.3,CSH,13 +CMT,1,1,405,1.1,CRD,6.5 +CMT,1,2,522,1.5,CSH,8 +CMT,1,1,1366,5.4,CSH,20 +CMT,1,2,1274,5.4,CSH,20.5 +CMT,1,1,972,3.4,CSH,13.5 +CMT,1,1,497,2.1,CSH,9 +CMT,1,1,979,3.5,CRD,14.5 +CMT,1,2,367,0.5,CSH,5.5 +CMT,1,1,481,1.6,CSH,8 +CMT,1,1,503,2.1,CRD,9 +CMT,2,1,716,5.2,CSH,52 +CMT,1,1,647,1,CSH,8.5 +CMT,1,1,1311,2.1,CSH,11.5 +CMT,1,1,399,0.6,CSH,6 +CMT,1,2,446,1.2,CSH,7 +CMT,1,2,1857,10.7,CSH,34.5 +CMT,1,1,1366,8.1,CRD,26 +CMT,1,4,1542,6,CRD,23.5 +CMT,1,1,511,2.5,CRD,9.5 +CMT,1,1,787,4.5,CSH,15 +CMT,1,2,480,1.4,CRD,7.5 +CMT,1,1,956,8.3,CSH,24 +CMT,1,1,1077,4.3,CRD,16 +CMT,1,4,166,0.7,CSH,4.5 +CMT,1,2,513,2.1,CRD,9 +CMT,1,2,2197,7.1,CRD,27.5 +CMT,1,2,1211,3.4,CRD,15.5 +CMT,1,2,755,2.8,CRD,12 +CMT,1,1,520,2.4,CRD,10 +CMT,1,1,1222,9.1,CRD,27 +CMT,1,2,1449,6.9,CSH,24 +CMT,1,1,474,1.2,CRD,7.5 +CMT,1,2,1068,5.3,CSH,18.5 +CMT,1,1,398,0.7,CRD,6 +CMT,1,1,644,1.7,CSH,9 +CMT,1,1,1138,5.7,CRD,19.5 +CMT,1,1,738,2.1,CRD,10.5 +CMT,1,2,374,0.9,CRD,6 +CMT,1,3,482,1.2,CSH,7.5 +CMT,1,1,1477,10,CSH,31 +CMT,5,2,273,1,DIS,55 +CMT,1,1,568,2.1,CRD,9.5 +CMT,1,3,1062,3.1,CSH,14 +CMT,1,1,1717,9.6,CRD,29.5 +CMT,1,1,799,3.2,CSH,12.5 +CMT,1,3,683,3.7,CRD,13 +CMT,1,2,410,1.3,CSH,7 +CMT,1,2,658,3.1,CRD,11.5 +CMT,1,1,822,4.4,CSH,16 +CMT,1,2,805,2.9,CSH,12 +CMT,1,1,521,1.1,CRD,7.5 +CMT,1,1,83,0.5,CSH,3.5 +CMT,1,1,850,3.1,CSH,12.5 +CMT,1,2,1082,7.1,CSH,22.5 +CMT,1,4,1353,13.5,CRD,37.5 +CMT,1,1,887,2.7,CRD,12 +CMT,1,1,232,0.7,CRD,5 +CMT,1,1,425,1.5,CSH,7.5 +CMT,1,1,851,5.4,CRD,17 +CMT,1,1,844,3.1,CSH,13.5 +CMT,1,1,389,1.6,CSH,7.5 +CMT,1,2,1523,6.6,CSH,23.5 +CMT,1,2,427,1.6,CRD,7.5 +CMT,1,2,1150,5.2,CSH,18.5 +CMT,1,1,493,1.1,CSH,7 +CMT,1,1,711,1.7,CRD,9.5 +CMT,1,1,271,0.5,CSH,5 +CMT,1,1,1799,8.8,CSH,29 +CMT,1,1,199,1.2,CRD,5.5 +CMT,1,1,437,2.2,CSH,8.5 +CMT,5,2,1598,3.1,CRD,55 +CMT,1,1,255,0.8,CRD,5 +CMT,1,1,467,0.8,CRD,6.5 +CMT,1,1,740,1.4,CRD,9.5 +CMT,1,3,1727,6.3,CRD,23.5 +CMT,1,1,738,3.1,CRD,11.5 +CMT,1,1,622,1.7,CRD,9 +CMT,1,2,741,1.7,CRD,10 +CMT,1,1,247,0.7,CSH,5 +CMT,1,4,397,1.2,CRD,7 +CMT,1,2,451,1.6,CRD,8 +CMT,1,1,312,1.5,CSH,7 +CMT,1,1,264,2.8,CSH,9.5 +CMT,1,1,252,1.1,CRD,6 +CMT,1,3,1388,7.6,CRD,26 +CMT,1,3,859,2.5,CRD,11.5 +CMT,1,1,185,0.5,CSH,4.5 +CMT,1,1,1049,3.1,CSH,14 +CMT,1,4,450,0.7,CSH,6.5 +CMT,1,4,376,0.8,CRD,6 +CMT,1,1,803,2.2,CRD,10.5 +CMT,1,2,156,0.6,CSH,4 +CMT,1,1,372,1,CSH,6 +CMT,1,1,706,3.9,CSH,14 +CMT,1,1,578,3.4,CRD,12.5 +CMT,1,1,181,0.3,CSH,4 +CMT,1,1,425,0.5,CSH,6 +CMT,1,1,841,2.2,CSH,11 +CMT,1,1,737,2.2,CSH,11 +CMT,1,1,692,1,CRD,9 +CMT,1,1,1436,14.2,CRD,39.5 +CMT,1,1,2769,1.3,NOC,2.5 +CMT,2,1,2180,54.7,NOC,52 +CMT,1,2,629,2,CSH,10 +CMT,1,1,708,2.8,CSH,11.5 +CMT,1,2,494,2.2,CSH,9 +CMT,1,1,796,6.3,CSH,19.5 +CMT,1,1,576,2.8,CSH,11 +CMT,1,1,313,1.1,CRD,6 +CMT,1,1,424,1.3,CRD,7 +CMT,1,2,1056,4.6,CRD,17 +CMT,1,2,349,1.1,CSH,6.5 +CMT,1,1,795,7.9,CSH,23 +CMT,1,1,289,0.8,CRD,5.5 +CMT,1,1,861,2.7,CSH,12.5 +CMT,1,1,311,1.6,CRD,6.5 +CMT,1,1,532,1.4,CRD,8 +CMT,1,1,159,0.8,CRD,4.5 +CMT,1,1,567,2.1,CRD,9 +CMT,1,1,514,2.2,CSH,9 +CMT,1,1,135,0.3,CSH,3.5 +CMT,1,1,1245,2.8,CSH,14.5 +CMT,1,1,217,0.9,CSH,5 +CMT,1,3,516,2,CSH,9 +CMT,1,4,513,2.4,CRD,10 +CMT,1,1,1696,9,CRD,29.5 +CMT,1,2,348,0.9,CRD,6 +CMT,1,1,309,1.5,CRD,7 +CMT,1,1,442,1.2,CRD,7 +CMT,1,1,699,2.8,CRD,11.5 +CMT,1,1,1571,9.1,CSH,29 +CMT,1,3,704,1.8,CSH,9.5 +CMT,1,1,665,2.8,CRD,11 +CMT,1,2,744,3.5,CRD,13 +CMT,2,1,1619,17.2,CRD,52 +CMT,1,1,452,3,CSH,10.5 +CMT,5,1,1221,5.1,CRD,55 +CMT,1,1,1613,4.5,CRD,21.5 +CMT,1,3,508,1.7,CSH,8.5 +CMT,1,1,360,1.2,CRD,6.5 +CMT,1,1,597,4.2,CRD,14 +CMT,1,1,698,2.1,CSH,10.5 +CMT,1,1,1491,9.9,CRD,29.5 +CMT,1,1,1382,11.1,CSH,32.5 +CMT,1,1,904,5.3,CSH,17.5 +CMT,1,1,301,1.9,CSH,7.5 +CMT,1,2,584,2.5,CSH,10.5 +CMT,1,1,1580,19.6,CSH,51.5 +CMT,1,2,1410,9.1,CRD,29.5 +CMT,1,1,1092,3.6,CRD,15.5 +CMT,1,1,425,1.5,CRD,7.5 +CMT,1,2,324,1.8,CRD,7.5 +CMT,1,1,216,0.5,CRD,4.5 +CMT,1,1,1257,5.7,CRD,21 +CMT,1,3,285,0.5,CRD,5 +CMT,1,1,251,0.9,CRD,5.5 +CMT,1,1,1253,11.9,CSH,33.5 +CMT,1,1,652,5.3,CRD,16.5 +CMT,1,1,2196,9.5,CRD,33.5 +CMT,1,4,1733,10.5,CSH,32 +CMT,1,1,924,5.2,CSH,17.5 +CMT,1,2,410,1.2,CSH,6.5 +CMT,1,1,1515,12.2,CRD,35.5 +CMT,1,3,305,0.8,CSH,5.5 +CMT,1,1,846,2.9,CRD,12.5 +CMT,1,1,1165,1,CRD,12.5 +CMT,1,3,713,1.9,CRD,9 +CMT,1,2,806,2.3,CRD,10.5 +CMT,1,1,567,3.7,CRD,12.5 +CMT,1,2,1007,4.4,CRD,15.5 +CMT,1,1,381,1.7,CSH,7 +CMT,1,3,358,1.3,CSH,6.5 +CMT,1,2,13,0.5,CSH,2.5 +CMT,1,1,731,2.7,CRD,11 +CMT,1,1,145,0.6,CSH,4.5 +CMT,1,1,393,1.5,CRD,7 +CMT,1,1,259,0.8,CSH,5 +CMT,1,2,651,2.6,CRD,11.5 +CMT,1,1,181,0.6,CSH,4.5 +CMT,1,1,1061,3.7,CRD,15 +CMT,1,1,337,1.1,CSH,6 +CMT,1,1,501,1.4,CSH,8 +CMT,1,1,797,6.4,CRD,19.5 +CMT,1,1,278,0.6,CRD,5 +CMT,1,1,820,1.8,CSH,10.5 +CMT,1,1,1145,3.9,CSH,15.5 +CMT,1,1,721,3.5,CRD,13.5 +CMT,1,1,489,2.6,CRD,9.5 +CMT,1,1,573,1.2,CSH,8 +CMT,1,3,318,0.5,CSH,5 +CMT,1,2,1283,4.6,CSH,19 +CMT,1,3,707,3.7,CSH,13 +CMT,1,1,941,4.1,CRD,14.5 +CMT,1,1,561,2.3,CRD,10 +CMT,1,1,868,5.2,CRD,17 +CMT,1,4,596,1.3,CSH,8.5 +CMT,1,1,165,0.7,CSH,4.5 +CMT,1,1,654,2.9,CRD,11.5 +CMT,1,1,480,2.8,CRD,10.5 +CMT,1,1,489,1.6,CSH,8 +CMT,1,1,828,3.4,CRD,13.5 +CMT,1,1,314,1.5,CSH,6.5 +CMT,1,2,1418,7.6,CRD,25.5 +CMT,1,1,811,3.8,CSH,14 +CMT,1,2,598,3.3,CRD,12 +CMT,1,1,95,0.4,CRD,3.5 +CMT,1,4,456,1.2,CRD,7 +CMT,1,2,703,3,CRD,12 +CMT,1,1,1041,9.3,CRD,27 +CMT,1,1,743,2.2,CRD,10.5 +CMT,1,1,258,0.9,CSH,5.5 +CMT,1,1,669,3.5,CRD,13.5 +CMT,1,1,896,1.4,CRD,10.5 +CMT,1,2,315,0.9,CSH,6 +CMT,1,1,568,3.2,CRD,11.5 +CMT,1,1,871,3.5,CRD,14.5 +CMT,1,1,544,0.9,CSH,7 +CMT,1,1,506,1.2,CRD,7.5 +CMT,1,1,204,1.2,CSH,5.5 +CMT,1,2,496,1.3,CSH,7 +CMT,1,1,606,1.9,CSH,9.5 +CMT,1,1,328,0.8,CRD,5.5 +CMT,1,1,913,2.9,CSH,12.5 +CMT,2,1,2674,17.8,CRD,52 +CMT,1,1,642,1.4,CRD,8.5 +CMT,1,1,303,1.2,CRD,6 +CMT,1,1,292,1.2,CRD,6 +CMT,1,1,807,0,CSH,2.5 +CMT,1,1,614,0.4,CRD,7.5 +CMT,1,1,938,4.3,CRD,15.5 +CMT,1,1,1139,2.5,CRD,13.5 +CMT,1,1,376,1.2,CSH,6.5 +CMT,1,1,420,0.9,CRD,6.5 +CMT,1,1,702,1.9,CRD,10 +CMT,1,1,257,0.6,CSH,5 +CMT,1,1,210,1.1,CSH,5.5 +CMT,1,1,257,1,CSH,5.5 +CMT,1,1,660,1.4,CSH,9 +CMT,1,1,402,1,CRD,6.5 +CMT,1,1,314,1.8,CRD,7 +CMT,1,1,919,6.4,CSH,20.5 +CMT,1,1,612,2.1,CRD,9.5 +CMT,1,3,163,0.5,CSH,4 +CMT,1,2,564,1.7,CSH,8.5 +CMT,1,3,710,1.2,CRD,9 +CMT,1,3,855,1.1,CSH,10 +CMT,1,3,333,1.3,CSH,6 +CMT,1,2,1977,5.1,CSH,24.5 +CMT,1,3,1487,4.6,CRD,20 +CMT,1,3,1484,4.1,CSH,19 +CMT,1,3,744,3,CRD,12 +CMT,1,3,810,3.1,CRD,12.5 +CMT,1,3,182,0.6,CRD,4.5 +CMT,1,3,1287,7.6,CSH,25 +CMT,1,3,585,2.4,CRD,10 +CMT,1,3,158,0.9,CRD,4.5 +CMT,1,2,755,3.1,CRD,12.5 +CMT,1,2,343,1.9,CSH,7.5 +CMT,2,3,2190,20.7,CRD,52 +CMT,1,2,557,1.6,CSH,8 +CMT,1,3,277,1.4,CRD,6 +CMT,1,3,436,0.8,CRD,6.5 +CMT,1,3,701,2.2,CRD,11 +CMT,1,2,282,0.3,CSH,4.5 +CMT,1,3,571,2.5,CSH,9.5 +CMT,1,3,668,2.1,CSH,10 +CMT,1,1,676,0.6,CSH,8 +CMT,1,1,819,1.1,CSH,9.5 +CMT,1,1,843,3.7,CRD,14.5 +CMT,1,1,1556,9.9,CSH,30.5 +CMT,1,1,947,1.6,CRD,11.5 +CMT,1,1,875,4.1,CRD,16 +CMT,1,3,2224,12.2,CSH,38.5 +CMT,1,2,343,0.7,CSH,5.5 +CMT,1,1,714,3.4,CSH,13 +CMT,1,1,665,3,CSH,12 +CMT,1,1,512,1.7,CRD,8.5 +CMT,1,1,474,1.3,CRD,7 +CMT,1,1,846,7,CSH,21 +CMT,1,1,1096,4.3,CRD,16.5 +CMT,1,1,730,1.2,CSH,9 +CMT,1,2,1808,6.6,CSH,24 +CMT,1,1,843,1.2,CSH,10 +CMT,1,1,304,2.1,CRD,7.5 +CMT,1,1,1573,5.6,CSH,22.5 +CMT,1,2,711,2.4,CSH,10.5 +CMT,1,2,417,1.8,CRD,8 +CMT,1,2,352,1.3,CRD,6.5 +CMT,1,1,222,1.5,CRD,6 +CMT,1,1,593,2.3,CSH,9.5 +CMT,1,1,904,2.2,CSH,11.5 +CMT,1,1,367,1.7,CRD,7.5 +CMT,1,1,197,0.8,CSH,5 +CMT,1,1,458,1.9,CSH,8 +CMT,1,1,747,3.9,CRD,14.5 +CMT,1,1,1441,10.2,CSH,31 +CMT,1,1,947,8.6,CRD,25 +CMT,1,1,183,0.7,CRD,4.5 +CMT,1,2,718,3.7,CRD,13 +CMT,1,1,1240,10.3,CRD,30 +CMT,1,1,95,0.1,CSH,3 +CMT,1,2,286,1.2,CSH,6 +CMT,1,1,665,2.6,CRD,11 +CMT,1,1,401,1.5,CSH,7 +CMT,1,1,1580,8.1,CRD,27.5 +CMT,1,1,1718,11.1,CRD,33 +CMT,1,1,797,1.8,CRD,10 +CMT,1,3,190,0.5,CSH,4 +CMT,1,2,836,2.9,CRD,12.5 +CMT,1,1,480,1,CRD,7 +CMT,1,1,799,1.3,CRD,10 +CMT,1,1,830,2.7,CSH,12.5 +CMT,1,1,301,0.8,CRD,5.5 +CMT,1,1,255,0.8,CSH,5 +CMT,1,1,586,1.6,CRD,9 +CMT,1,2,1166,3.3,CRD,15.5 +CMT,1,1,707,2.7,CRD,11.5 +CMT,1,1,420,2,CRD,8 +CMT,1,1,171,0.6,CRD,4.5 +CMT,1,2,929,4.8,CRD,16.5 +CMT,1,1,552,1.7,CRD,8 +CMT,1,1,509,1.5,CRD,7.5 +CMT,1,2,1094,9.9,CSH,29 +CMT,1,2,521,1.4,CRD,8 +CMT,1,1,574,2.4,CSH,10 +CMT,1,1,695,2.2,CSH,10.5 +CMT,1,4,316,1.4,CRD,7 +CMT,1,2,764,6.7,CSH,20.5 +CMT,1,2,885,3.5,CRD,13.5 +CMT,1,1,715,6.8,CRD,20 +CMT,1,1,1350,9.9,CRD,30 +CMT,1,1,873,8,CRD,23.5 +CMT,1,1,1276,6.7,CSH,22.5 +CMT,1,1,405,1.7,CSH,7.5 +CMT,1,1,809,3.3,CRD,12.5 +CMT,1,1,328,1.6,CSH,7.5 +CMT,1,2,564,2.1,CRD,9.5 +CMT,1,1,438,1.5,CSH,7.5 +CMT,1,2,335,1.4,CRD,7 +CMT,1,1,129,0.5,CSH,3.5 +CMT,1,1,1274,9.3,CRD,28 +CMT,1,1,1226,10.3,CRD,29.5 +CMT,1,1,899,4.3,CRD,14.5 +CMT,1,1,448,1.1,CRD,7 +CMT,1,1,646,2.5,CSH,11 +CMT,1,1,417,2.3,CRD,8.5 +CMT,1,3,416,1.2,CSH,7 +CMT,1,1,940,6.3,CRD,20 +CMT,1,1,697,2.1,CRD,10.5 +CMT,1,1,257,1.4,CRD,6.5 +CMT,1,1,676,5.1,CSH,15.5 +CMT,1,1,305,1,CRD,6 +CMT,1,2,899,5.1,CRD,17.5 +CMT,1,1,261,1.5,CRD,6.5 +CMT,1,2,1629,11.1,CSH,34 +CMT,1,2,2272,15.5,CRD,48 +CMT,1,1,607,3.5,CRD,12 +CMT,1,1,876,3.3,CSH,14 +CMT,1,4,361,1.9,CSH,7.5 +CMT,1,2,348,1.3,CRD,7 +CMT,1,1,353,0.8,CRD,6 +CMT,1,1,102,0.4,CRD,3.5 +CMT,1,2,478,1.4,CSH,7.5 +CMT,1,1,573,2.6,CRD,10.5 +CMT,1,1,256,0.9,CRD,5.5 +CMT,1,4,285,0.7,CSH,5.5 +CMT,1,1,1679,9.2,CRD,30 +CMT,1,1,377,0.6,CSH,5.5 +CMT,1,1,228,1,CSH,5 +CMT,1,3,696,2.8,CSH,11 +CMT,1,1,1625,7.8,CSH,26 +CMT,5,1,43,0,CRD,73 +CMT,1,2,684,2.7,CRD,10.5 +CMT,1,3,1416,5.4,CSH,20 +CMT,1,2,442,3.3,CRD,11.5 +CMT,1,1,799,2,CRD,10.5 +CMT,1,1,188,0.7,CSH,4.5 +CMT,1,1,2047,10.4,CRD,35.5 +CMT,1,1,1072,2.2,CRD,12.5 +CMT,1,1,705,1.4,CSH,9.5 +CMT,1,2,1318,2.9,CSH,15.5 +CMT,1,1,1372,8.4,CSH,27 +CMT,5,1,2782,18.3,CRD,69 +CMT,1,1,641,2.9,CRD,11 +CMT,1,1,1236,4.1,CRD,17 +CMT,1,1,844,2.2,CRD,11 +CMT,1,1,266,1,CSH,5.5 +CMT,1,1,752,1.4,CSH,9.5 +CMT,1,1,369,1.2,CSH,6.5 +CMT,1,1,889,3.2,CRD,13.5 +CMT,1,1,965,4.4,CSH,16 +CMT,1,1,582,2.2,CRD,9.5 +CMT,1,1,345,0.9,CSH,6 +CMT,1,1,226,0.7,CSH,4.5 +CMT,1,1,427,1.4,CSH,7.5 +CMT,1,1,404,1.1,CRD,6.5 +CMT,1,1,895,2.2,CSH,11.5 +CMT,1,1,734,2.6,CSH,11 +CMT,1,2,1635,6.9,CSH,25 +CMT,1,1,373,0.5,CRD,5.5 +CMT,1,1,557,1.5,CSH,8.5 +CMT,1,1,805,1.8,CSH,10.5 +CMT,1,1,149,1,CRD,5 +CMT,1,1,987,4.5,CRD,15 +CMT,1,1,535,0.6,CRD,7 +CMT,1,1,789,1.5,CRD,10 +CMT,1,1,461,0.9,CSH,7 +CMT,1,1,302,0.8,CSH,5.5 +CMT,1,2,1704,2.7,CSH,13 +CMT,1,1,460,1.9,CSH,8.5 +CMT,1,1,92,0.3,CSH,3.5 +CMT,1,1,1159,2.8,CSH,14.5 +CMT,1,1,476,1.2,CSH,7.5 +CMT,1,1,613,0.9,CRD,8 +CMT,1,1,764,1.6,CSH,10 +CMT,1,1,1310,4.8,CRD,20 +CMT,1,3,463,1.2,CSH,7 +CMT,1,3,813,1.5,CSH,10 +CMT,1,1,412,1.8,CRD,7.5 +CMT,1,4,453,0.8,CSH,6.5 +CMT,1,1,640,1.3,CRD,8.5 +CMT,1,1,551,1.6,CSH,9 +CMT,1,1,841,7.6,CSH,22.5 +CMT,1,1,261,0.8,CSH,5.5 +CMT,1,1,1249,2.7,CSH,14 +CMT,1,2,628,3,CRD,11.5 +CMT,1,1,2178,7.2,CRD,28.5 +CMT,1,1,662,2,CRD,10.5 +CMT,1,1,900,2.6,CRD,13 +CMT,1,3,155,0.3,CSH,4 +CMT,1,1,546,2.2,CRD,9 +CMT,1,1,625,3.7,CSH,12 +CMT,1,1,346,1.1,CRD,6 +CMT,1,2,287,1.1,CRD,6 +CMT,1,1,998,5.9,CRD,19.5 +CMT,1,1,233,0.9,CSH,5 +CMT,1,3,327,1,CSH,6 +CMT,1,1,136,0.7,CRD,4.5 +CMT,1,1,634,1.1,CRD,8 +CMT,1,1,706,1.4,CRD,9 +CMT,1,1,560,1.6,CRD,8 +CMT,1,1,744,1,CRD,9 +CMT,1,1,67,0.1,CSH,3 +CMT,1,1,342,0.6,CSH,5.5 +CMT,1,1,124,0.5,CSH,4 +CMT,1,4,288,1.1,CSH,6 +CMT,1,1,484,0.8,CRD,7 +CMT,1,1,1086,3.5,CRD,15.5 +CMT,1,1,348,1.1,CRD,6 +CMT,1,1,1149,5.1,CRD,18 +CMT,1,2,748,3.5,CRD,13 +CMT,1,2,896,2.3,CRD,11.5 +CMT,1,3,534,2,CSH,9 +CMT,1,2,1793,12.9,CSH,39 +CMT,1,2,1153,7.5,CSH,23.5 +CMT,1,2,530,2.1,CRD,10 +CMT,1,1,193,1.1,CRD,5.5 +CMT,1,2,283,1.8,CSH,7 +CMT,1,1,654,6.8,CSH,20 +CMT,1,1,1704,10.9,CRD,34.5 +CMT,1,1,1147,10.5,CRD,30 +CMT,1,1,373,0.7,CSH,6 +CMT,1,1,189,0.8,CSH,5 +CMT,1,2,1150,4.9,CRD,18.5 +CMT,1,1,619,4.9,CRD,16 +CMT,1,1,450,1.4,CSH,7.5 +CMT,1,3,816,3.4,CRD,13 +CMT,1,1,265,1,CSH,5.5 +CMT,1,1,1412,10,CRD,30.5 +CMT,1,3,147,0.4,CSH,4 +CMT,1,1,1178,8.6,CSH,26.5 +CMT,1,4,1067,3.3,CSH,14 +CMT,1,1,213,0.4,CSH,4.5 +CMT,1,2,1165,3.6,CRD,16.5 +CMT,1,1,323,0.7,CRD,5.5 +CMT,1,1,1217,4.6,CSH,18.5 +CMT,1,1,1107,4.8,CRD,17.5 +CMT,1,3,771,3.5,CRD,13 +CMT,1,1,823,3.6,CRD,14 +CMT,1,1,1653,8,CSH,26.5 +CMT,1,1,1898,8.8,CSH,28 +CMT,1,1,1038,5.7,CRD,18.5 +CMT,1,1,350,2,CSH,8 +CMT,1,1,366,0.8,CRD,6 +CMT,1,2,698,1.5,CSH,9 +CMT,1,3,551,0.8,CRD,7 +CMT,1,1,861,3.1,CRD,12.5 +CMT,1,1,737,3.3,CRD,13 +CMT,1,1,397,1.4,CSH,7 +CMT,1,1,162,0.6,CRD,4.5 +CMT,1,1,905,5.7,CRD,18.5 +CMT,1,1,591,3.4,CSH,12 +CMT,1,3,466,1.6,CRD,7.5 +CMT,1,1,635,3.1,CRD,11.5 +CMT,1,1,795,2.7,CSH,12 +CMT,1,1,594,2.4,CRD,10 +CMT,1,1,889,2.3,CRD,11 +CMT,1,1,937,5.1,CRD,17.5 +CMT,1,2,907,4.1,CRD,15.5 +CMT,1,1,182,0.6,CSH,4.5 +CMT,1,1,340,1,CRD,6 +CMT,1,1,412,1,CRD,6.5 +CMT,1,1,276,1.2,CSH,6 +CMT,1,1,442,1.5,CSH,7.5 +CMT,1,1,1081,1,CSH,11.5 +CMT,1,1,1233,5.5,CSH,18.5 +CMT,1,2,690,1.2,CSH,8.5 +CMT,1,1,2503,12.8,CRD,41.5 +CMT,1,1,398,1.1,CSH,7 +CMT,1,1,185,0.7,CSH,4.5 +CMT,1,1,368,1.2,CSH,7 +CMT,1,1,1264,2.8,CRD,15.5 +CMT,1,1,610,2,CSH,10 +CMT,1,1,324,0.6,CRD,5 +CMT,1,1,417,0.8,CRD,6.5 +CMT,1,1,804,3.4,CRD,13 +CMT,1,2,494,1.6,CRD,8 +CMT,1,1,287,1.5,CSH,7 +CMT,1,1,447,1.5,CRD,7.5 +CMT,1,1,998,3.8,CRD,15.5 +CMT,1,1,566,1.4,CRD,8 +CMT,1,1,199,0,NOC,4 +CMT,1,1,679,2.1,CRD,9.5 +CMT,1,1,289,0.7,CRD,5.5 +CMT,1,1,653,1.7,CRD,9 +CMT,1,2,795,4.1,CSH,15 +CMT,1,1,940,4.4,CRD,16.5 +CMT,1,1,391,1.6,CRD,8 +CMT,1,1,542,1.8,CRD,9 +CMT,1,1,1016,8.2,CRD,25 +CMT,1,3,425,1.3,CRD,7 +CMT,1,1,833,4.3,CRD,15 +CMT,1,2,1007,2.8,CRD,13 +CMT,1,2,638,0.8,CSH,8 +CMT,1,1,797,2.2,CRD,11 +CMT,1,4,665,2.5,CRD,11 +CMT,1,1,103,0.2,CSH,3.5 +CMT,1,1,1071,8.8,CRD,26 +CMT,1,1,1339,10.2,CSH,29 +CMT,1,1,521,1.4,CSH,8 +CMT,1,1,904,7.7,CSH,22.5 +CMT,1,1,938,7.7,CRD,23.5 +CMT,1,1,636,2,CRD,10 +CMT,1,1,909,4.6,CRD,17 +CMT,1,1,1114,4.5,CRD,18 +CMT,1,1,643,6.3,CRD,19 +CMT,1,2,1071,5,CRD,18.5 +CMT,1,3,2705,12.5,CSH,35 +CMT,1,1,366,1.2,CRD,6.5 +CMT,1,3,2130,12.3,CRD,38 +CMT,1,1,928,4.6,CRD,16.5 +CMT,1,1,392,0.7,CSH,6 +CMT,1,1,417,1.3,CSH,7 +CMT,1,2,1250,2.9,CRD,14 +CMT,1,2,282,1,CRD,5.5 +CMT,1,1,1359,3.4,CRD,17 +CMT,1,1,302,0.9,CSH,6 +CMT,1,1,377,1.1,CSH,6.5 +CMT,1,1,276,0.5,CRD,5 +CMT,1,1,292,1.3,CSH,6 +CMT,1,1,351,1.3,CSH,7 +CMT,1,1,926,3.8,CSH,14.5 +CMT,1,1,619,2.3,CSH,10 +CMT,1,1,497,2.7,CRD,10 +CMT,1,2,862,5.6,CSH,18.5 +CMT,1,1,476,0.8,CSH,7 +CMT,1,1,663,1.4,CRD,9 +CMT,1,1,134,0.8,CSH,4.5 +CMT,1,1,807,5.6,CSH,17.5 +CMT,1,1,846,1.2,CRD,10 +CMT,1,1,674,1.8,CSH,9.5 +CMT,1,1,1000,2.6,CRD,13 +CMT,1,1,1091,3.6,CRD,15.5 +CMT,1,1,494,0.9,CSH,7 +CMT,1,1,1016,1.7,CRD,12 +CMT,1,1,411,0.6,CSH,6 +CMT,1,1,25,0.3,CSH,2.5 +CMT,1,2,368,1.5,CSH,7 +CMT,1,1,290,1,CSH,5.5 +CMT,1,1,485,2,CRD,8.5 +CMT,1,1,389,1.4,CRD,7 +CMT,1,1,868,2.6,CRD,12.5 +CMT,1,2,1272,2.9,CRD,15.5 +CMT,1,1,481,1.9,CRD,8.5 +CMT,1,2,346,1.2,CRD,6 +CMT,1,3,579,1.2,CSH,8 +CMT,1,1,499,1.1,CRD,7 +CMT,1,3,437,1.5,CRD,7.5 +CMT,1,1,636,1.7,CSH,9 +CMT,1,1,2433,7.5,CSH,29.5 +CMT,1,3,268,0.8,CSH,5.5 +CMT,1,3,1023,3.1,CRD,14 +CMT,1,1,947,5.3,CRD,18 +CMT,1,4,1368,5.2,CSH,20 +CMT,1,4,322,1.1,CSH,6 +CMT,1,1,510,1.8,CSH,8.5 +CMT,1,1,793,1.2,CSH,9.5 +CMT,1,1,888,3.5,CRD,14 +CMT,1,1,172,0.7,CRD,4.5 +CMT,1,1,700,0.9,CRD,8.5 +CMT,1,1,946,6.6,CRD,22 +CMT,1,1,454,1.3,CSH,7.5 +CMT,1,1,482,1.3,CRD,7.5 +CMT,1,1,1665,3.4,CSH,17.5 +CMT,1,1,474,1.1,CRD,7 +CMT,1,2,567,2.1,CRD,10 +CMT,1,1,1097,9.2,CRD,27.5 +CMT,1,2,529,1.7,CSH,8.5 +CMT,1,1,927,1.7,CRD,11.5 +CMT,1,1,248,0.8,CRD,5 +CMT,1,2,342,0.5,CRD,5.5 +CMT,1,1,130,0.3,CRD,3.5 +CMT,1,1,95,0.3,CSH,3.5 +CMT,1,3,866,3.5,CSH,14 +CMT,1,1,622,1.6,CRD,9.5 +CMT,1,1,396,1.6,CSH,7.5 +CMT,1,1,555,1.8,CSH,8.5 +CMT,1,1,1030,4.1,CSH,15.5 +CMT,1,1,1286,9.9,CRD,29.5 +CMT,1,1,638,3.4,CRD,12 +CMT,1,2,419,0.9,CRD,6.5 +CMT,1,4,1518,3.6,CSH,17.5 +CMT,1,4,1323,3.3,CSH,16.5 +CMT,1,1,415,1,CSH,7 +CMT,1,3,490,0.6,CSH,6.5 +CMT,1,1,1811,15.2,CRD,44.5 +CMT,1,2,2083,8.4,CSH,32 +CMT,1,1,2074,10.7,CSH,35 +CMT,1,1,914,3.1,CRD,13 +CMT,1,1,1117,3.9,CRD,16 +CMT,1,1,2277,8.7,CRD,31 +CMT,1,2,1470,9,CSH,27.5 +CMT,1,1,1,0,CSH,2.5 +CMT,1,1,796,7.9,CRD,23 +CMT,1,1,1117,4.9,CRD,17.5 +CMT,1,1,656,3,CRD,11 +CMT,1,2,217,0.7,CRD,5 +CMT,1,1,412,1.4,CRD,7 +CMT,1,1,939,1.2,CRD,10.5 +CMT,1,2,283,0.8,CRD,5.5 +CMT,1,3,223,0.7,CRD,5 +CMT,1,2,230,1.4,CRD,6 +CMT,1,1,352,0.6,CSH,5.5 +CMT,1,1,302,1.4,CRD,6.5 +CMT,1,1,153,0.8,CSH,4.5 +CMT,1,2,202,0.6,CRD,4.5 +CMT,4,1,484,2.5,CSH,9.5 +CMT,1,1,614,2.9,CSH,10.5 +CMT,1,2,1134,4.6,CRD,16 +CMT,1,1,125,0.4,CSH,3.5 +CMT,1,1,123,0.3,CSH,3.5 +CMT,1,1,1156,6.2,CSH,21 +CMT,1,1,1405,4.1,CRD,18 +CMT,1,1,291,0.8,CRD,5.5 +CMT,1,1,813,2.4,CSH,11.5 +CMT,1,1,287,0.6,CSH,5 +CMT,1,2,1636,13.8,CSH,39.5 +CMT,1,1,172,0.6,CRD,4.5 +CMT,1,1,365,0.5,CRD,5.5 +CMT,1,1,190,0.4,CRD,4.5 +CMT,1,3,619,1.6,CRD,9 +CMT,1,1,606,1.8,CRD,9 +CMT,1,1,925,2.2,CRD,11.5 +CMT,1,1,147,0.4,CSH,3.5 +CMT,1,1,214,0.8,CSH,5 +CMT,1,4,1153,3,CSH,13.5 +CMT,1,2,1617,6.6,CSH,24.5 +CMT,1,1,396,1.1,CSH,6.5 +CMT,1,1,782,2.1,CSH,11 +CMT,1,2,1239,11,CRD,32 +CMT,1,1,354,1,CRD,6 +CMT,1,1,1009,1.6,CRD,12 +CMT,1,1,1678,11.2,CRD,33 +CMT,1,1,279,1.4,CSH,6.5 +CMT,1,1,1094,4.7,CRD,17.5 +CMT,1,1,551,2.1,CRD,9 +CMT,1,1,2282,14,CSH,42 +CMT,1,1,1615,10.4,CSH,32.5 +CMT,1,1,413,1,CSH,6.5 +CMT,1,1,50,0.1,CRD,2.5 +CMT,1,2,656,1.1,CRD,8.5 +CMT,1,2,677,1.7,CRD,9.5 +CMT,1,1,208,0.7,CRD,4.5 +CMT,1,1,821,1.8,CSH,10.5 +CMT,1,1,1558,3.9,CSH,18.5 +CMT,1,2,138,0.5,CSH,4 +CMT,1,2,571,1.9,CSH,9 +CMT,1,1,249,1,CSH,5.5 +CMT,1,1,625,1.4,CSH,8.5 +CMT,1,1,503,1.2,CSH,7.5 +CMT,1,1,510,1.3,CRD,8 +CMT,1,1,530,1.6,CRD,8.5 +CMT,1,1,377,0.9,CSH,6 +CMT,1,2,216,0.6,CRD,4.5 +CMT,1,2,528,2,CSH,9 +CMT,1,4,1654,11.6,CSH,35 +CMT,1,1,1186,1.9,CSH,13.5 +CMT,1,1,147,0.3,CSH,3.5 +CMT,1,2,1780,11.7,CRD,35.5 +CMT,1,1,1259,4.3,CRD,18 +CMT,1,1,1309,4.1,CRD,18 +CMT,1,1,921,5.8,CRD,19.5 +CMT,1,1,1153,8.1,CSH,25.5 +CMT,1,2,560,1.2,CSH,8 +CMT,1,1,290,0.8,CSH,5 +CMT,1,1,1043,1.4,CRD,12 +CMT,1,1,1321,5,CSH,19 +CMT,1,1,701,2.1,CRD,10.5 +CMT,1,1,564,1.8,CSH,9 +CMT,1,2,582,0.7,CRD,7.5 +CMT,1,4,962,2,CSH,11.5 +CMT,1,1,297,1,CSH,6 +CMT,1,1,1389,12.5,CRD,34.5 +CMT,1,1,655,2.6,CSH,10.5 +CMT,2,1,2399,21.5,CRD,52 +CMT,1,2,2035,11.3,CSH,35 +CMT,1,1,768,2.4,CRD,11 +CMT,1,1,783,2.9,CRD,12 +CMT,1,1,136,1,CSH,5 +CMT,1,3,671,1.4,CSH,9 +CMT,1,2,419,1.2,CRD,6.5 +CMT,1,2,1024,1.2,CRD,11.5 +CMT,1,2,591,1.4,CRD,8.5 +CMT,1,1,314,1.3,CRD,6.5 +CMT,1,3,1305,4.5,CSH,17.5 +CMT,1,3,2258,19.2,NOC,53 +CMT,2,1,3749,19.3,CRD,52 +CMT,1,1,1673,10.4,CSH,31.5 +CMT,3,3,2480,17.7,CRD,70.5 +CMT,2,4,2977,18.4,CRD,52 +CMT,2,2,3851,21.8,CSH,52 +CMT,1,2,645,1.2,CRD,8.5 +CMT,1,1,1525,1.8,CSH,16.5 +CMT,1,2,681,2.2,CRD,10 +CMT,1,1,544,1,CRD,7.5 +CMT,1,2,268,1,CRD,5.5 +CMT,1,2,617,2,CSH,9.5 +CMT,1,1,615,2.5,CSH,10.5 +CMT,1,2,934,2.1,CSH,11.5 +CMT,1,1,1394,9.4,CRD,28 +CMT,1,1,970,3.1,CRD,13.5 +CMT,1,1,407,1.1,CSH,6.5 +CMT,1,1,395,0.8,CRD,6 +CMT,1,2,331,0.8,CRD,5.5 +CMT,1,1,451,1,CRD,6.5 +CMT,1,1,800,8.3,CRD,23.5 +CMT,1,1,532,1.2,CRD,7.5 +CMT,1,1,385,0.8,CSH,6 +CMT,1,2,946,3.4,CSH,13.5 +CMT,1,1,278,0.7,CRD,5 +CMT,1,1,1201,10.8,CRD,30.5 +CMT,1,1,1557,10.2,CRD,32 +CMT,1,1,1475,5.1,CSH,20.5 +CMT,2,2,2244,17.5,CRD,52 +CMT,1,1,1029,3,CSH,14 +CMT,1,1,1387,6.2,CRD,21.5 +CMT,1,2,193,0.5,CSH,4 +CMT,1,2,886,3.1,CSH,12.5 +CMT,1,1,1075,9.9,CRD,27.5 +CMT,1,1,289,1.1,CRD,6 +CMT,1,1,1058,2.8,CRD,13.5 +CMT,1,1,1756,11.2,CRD,33.5 +CMT,1,1,1775,9.6,CRD,30.5 +CMT,1,2,1131,2.3,CRD,13.5 +CMT,1,1,77,0.3,CRD,3 +CMT,1,2,732,1,CSH,8.5 +CMT,1,2,1024,3.7,CSH,14.5 +CMT,1,2,589,2,CSH,9.5 +CMT,1,1,803,2.2,CRD,11 +CMT,1,1,437,1,CSH,6.5 +CMT,1,1,175,0.7,CSH,4.5 +CMT,1,4,427,0.8,CSH,6.5 +CMT,1,1,1022,2.4,CRD,12.5 +CMT,1,1,252,0.9,CSH,5.5 +CMT,1,1,440,1.4,CRD,8 +CMT,1,1,1675,5.2,CSH,22 +CMT,1,1,123,0.4,CRD,3.5 +CMT,1,1,1198,4.4,CRD,17.5 +CMT,3,3,2469,18.6,CSH,72 +CMT,1,1,759,1.9,CRD,10.5 +CMT,1,1,750,2.2,CSH,11 +CMT,1,1,219,0.9,CSH,5 +CMT,1,3,1808,9.3,CSH,30 +CMT,1,4,304,0.8,CSH,5.5 +CMT,1,1,1480,7.2,CRD,26 +CMT,3,1,2270,19.3,CSH,71 +CMT,1,1,959,1.7,CRD,11.5 +CMT,1,1,1000,9,CRD,26.5 +CMT,1,1,292,0.6,CRD,5 +CMT,1,1,717,1.8,CSH,10 +CMT,1,1,976,2.5,CRD,12.5 +CMT,1,1,741,1.5,CRD,10 +CMT,1,1,918,2.2,CSH,12 +CMT,1,3,424,1.1,CRD,7 +CMT,1,1,908,1.2,CSH,10.5 +CMT,1,2,948,2.9,CSH,13 +CMT,1,1,1374,1.5,CRD,14.5 +CMT,1,1,877,3.3,CSH,13 +CMT,1,3,727,2.1,CRD,10 +CMT,2,2,2050,17.4,CSH,52 +CMT,1,1,1125,3.9,CSH,15.5 +CMT,1,1,704,1.8,CRD,10 +CMT,1,1,1874,10.7,CRD,34 +CMT,1,1,339,1.9,CRD,7.5 +CMT,1,1,341,1.2,CRD,6 +CMT,1,1,401,1.5,CSH,7.5 +CMT,1,4,753,1.6,CRD,9.5 +CMT,1,4,1180,2.9,CSH,15 +CMT,1,1,1579,11,CRD,34.5 +CMT,1,1,431,1.1,CRD,7 +CMT,1,2,1810,3.9,CRD,21 +CMT,1,1,249,0.9,CSH,5.5 +CMT,1,1,539,1.2,CRD,7.5 +CMT,1,1,475,1.1,CSH,7 +CMT,1,1,240,0.6,CSH,5 +CMT,1,3,1194,3.1,CSH,15 +CMT,1,1,1989,7.1,CRD,26.5 +CMT,1,1,632,2.1,CSH,9.5 +CMT,1,2,966,4,CRD,16 +CMT,1,1,258,0.6,CSH,5 +CMT,1,2,475,1.5,CSH,7.5 +CMT,1,1,322,0.7,CSH,5.5 +CMT,1,2,1121,6.6,CRD,22 +CMT,1,3,416,0.6,CSH,6 +CMT,1,2,479,0.9,CRD,7 +CMT,1,4,848,5.3,CSH,17.5 +CMT,1,1,721,2.4,CRD,10.5 +CMT,1,1,309,0.8,CSH,5.5 +CMT,1,1,681,1.2,CRD,9 +CMT,1,2,578,1.3,CRD,8 +CMT,1,2,434,1.3,CSH,7 +CMT,1,1,853,2.9,CRD,12.5 +CMT,2,1,2527,21.7,CSH,52 +CMT,1,1,869,2.2,CRD,11 +CMT,1,2,269,0.6,CRD,5 +CMT,1,1,966,1.4,CSH,11.5 +CMT,1,2,1193,4.6,CSH,18.5 +CMT,1,1,218,0.7,CRD,4.5 +CMT,1,1,705,1.4,CSH,9 +CMT,1,1,2011,6.2,CSH,26.5 +CMT,1,1,95,0.3,CRD,3.5 +CMT,1,1,1532,10.5,CRD,33.5 +CMT,1,2,1532,11.1,CRD,34 +CMT,1,1,654,1.5,CSH,9 +CMT,1,1,750,5.6,CRD,17.5 +CMT,1,1,806,7.5,CSH,21.5 +CMT,1,2,483,1.3,CSH,7.5 +CMT,1,1,418,1.1,CRD,6.5 +CMT,1,2,843,2.8,CSH,12 +CMT,1,1,534,2,CSH,8.5 +CMT,1,1,837,1.3,CSH,10 +CMT,1,1,145,0.4,CSH,4 +VTS,1,1,1920,11.01,CRD,35 +VTS,1,1,960,3.22,CSH,14 +VTS,1,1,420,1.25,CRD,6.5 +VTS,1,1,660,1.92,CSH,9.5 +VTS,1,1,840,2.04,CRD,10 +VTS,1,1,360,1.24,CRD,7 +VTS,1,1,480,1.22,CRD,7 +VTS,1,1,1200,3.35,CSH,16 +VTS,1,1,420,1.22,CRD,7 +VTS,2,1,2700,28.55,CRD,52 +VTS,1,1,660,1.9,CRD,9.5 +VTS,1,1,240,0.73,CSH,5 +VTS,1,1,720,2.71,CRD,11.5 +VTS,1,1,60,0.36,CSH,3 +CMT,1,1,276,0.6,CRD,5 +CMT,1,1,299,1.4,CRD,6.5 +CMT,1,1,1289,3.8,CSH,16.5 +CMT,1,1,945,2.6,CRD,12.5 +CMT,1,1,391,2.2,CRD,8.5 +CMT,1,1,505,1.5,CRD,8 +CMT,1,1,763,2.7,CRD,12 +CMT,1,2,1464,7.2,CRD,25.5 +CMT,1,1,910,1.5,CSH,10.5 +CMT,1,1,1253,3.3,CRD,15.5 +CMT,1,1,1264,9.3,CRD,28 +CMT,1,2,262,1,CRD,5.5 +CMT,1,1,1008,2.4,CSH,13 +CMT,1,2,2329,12,CSH,39 +CMT,1,4,463,1,CSH,7 +CMT,1,1,688,2.1,CRD,10 +CMT,1,1,468,1.6,CSH,7.5 +CMT,1,1,1744,11.5,CRD,35 +CMT,1,1,728,3,CSH,12.5 +CMT,1,2,1426,3.1,CSH,17 +CMT,1,1,286,0.9,CSH,5.5 +CMT,1,1,642,1.3,CRD,8.5 +CMT,1,2,396,1.2,CRD,7 +VTS,1,1,240,0.54,CSH,4.5 +VTS,2,1,1740,18.39,CSH,52 +VTS,1,1,480,1.91,CRD,8.5 +CMT,1,2,1694,11.2,CRD,33 +CMT,1,2,403,0.9,CRD,6 +CMT,1,2,319,0.8,CSH,5.5 +CMT,1,1,580,0.9,CSH,7.5 +CMT,1,1,1065,2.2,CRD,12.5 +CMT,1,1,821,2.2,CRD,11.5 +CMT,1,4,978,3.4,CSH,14 +CMT,1,1,689,1.9,CRD,9.5 +CMT,1,1,365,0.9,CRD,6 +CMT,1,2,908,4.2,CSH,15.5 +CMT,1,1,575,1.4,CSH,8 +CMT,1,1,253,1.1,CRD,6 +CMT,1,1,470,1.2,CRD,7 +CMT,1,2,399,1.3,CSH,7 +VTS,2,1,1500,16.94,CSH,52 +VTS,1,1,3420,22.39,CRD,64.5 +VTS,1,1,1200,3.65,CRD,16 +VTS,1,1,360,1.47,CSH,7 +VTS,1,1,240,0.54,CSH,4.5 +VTS,1,1,600,1.55,CSH,8.5 +VTS,1,1,360,0.91,CRD,6 +VTS,1,1,900,3.18,CRD,13.5 +VTS,1,1,300,0.64,CSH,5.5 +VTS,1,1,720,3.05,CSH,12 +VTS,1,1,360,0.6,CSH,6 +VTS,1,1,300,1.27,CSH,6 +CMT,1,1,690,5.1,NOC,16.5 +CMT,1,2,849,1.7,CRD,10.5 +CMT,1,1,336,0.7,CSH,5.5 +CMT,1,1,495,1.2,CRD,7.5 +CMT,1,1,688,1.8,NOC,9.5 +CMT,1,2,431,2,CRD,8.5 +CMT,1,1,132,0.4,CRD,3.5 +CMT,1,4,531,1.5,CSH,8 +CMT,1,1,446,1.8,CSH,8.5 +CMT,1,1,473,1.3,CSH,7.5 +CMT,1,1,546,1.3,CSH,8 +CMT,3,1,2417,17.6,CRD,70 +CMT,1,1,115,0.3,CSH,3.5 +CMT,1,1,624,1.4,CSH,8.5 +VTS,1,1,840,1.83,CRD,11 +VTS,1,1,240,1.45,CSH,6 +VTS,1,1,1080,12.39,CSH,34 +VTS,1,1,660,3.34,CRD,12.5 +VTS,1,1,600,4.78,CSH,15.5 +VTS,1,1,360,0.78,CSH,6 +VTS,1,1,3060,18.84,CSH,55.5 +VTS,1,1,840,2.74,CSH,12 +VTS,1,1,1320,4.05,CRD,17 +VTS,1,1,480,0.62,CSH,6.5 +VTS,1,1,1140,3.44,CSH,15 +VTS,1,1,600,2.82,CSH,11 +CMT,1,1,303,0.7,CRD,5 +CMT,1,1,292,0.8,CRD,5.5 +CMT,1,2,440,1.3,CSH,7 +CMT,1,1,1365,12.3,CRD,35 +CMT,1,1,633,2.3,CSH,10.5 +CMT,1,2,640,2.1,CSH,10 +CMT,1,1,531,1.5,CSH,8.5 +VTS,1,1,240,1.21,CRD,5.5 +VTS,1,1,480,2.85,CRD,10 +VTS,1,1,1380,11.36,CRD,33.5 +VTS,1,1,2880,17.22,CRD,54 +VTS,1,1,480,2.4,CSH,9.5 +VTS,1,1,1440,6.31,CSH,22 +VTS,1,1,660,2.83,CRD,11.5 +VTS,1,1,960,2.76,CSH,12.5 +VTS,1,1,1380,5.54,CRD,21 +VTS,1,1,2100,17.05,CRD,49.5 +VTS,1,1,2280,15.35,CRD,47 +VTS,1,1,1200,3.76,CSH,15.5 +VTS,1,1,840,2.04,CSH,11.5 +VTS,1,1,300,0.69,CRD,5 +VTS,1,1,540,1.5,CSH,8 +VTS,1,1,480,1.35,CSH,7.5 +VTS,1,1,420,1.17,CSH,7 +VTS,1,1,660,1.98,CRD,10 +VTS,1,1,300,0.84,CRD,5.5 +CMT,1,2,187,0.3,CRD,4 +CMT,1,1,1389,6.5,CSH,24 +CMT,1,1,1080,1.7,CRD,12.5 +CMT,1,2,826,0.8,CRD,9.5 +CMT,1,2,1158,8.9,CSH,27.5 +CMT,1,1,1598,5.3,CRD,22 +CMT,1,4,358,1,CSH,6.5 +CMT,1,1,607,1.8,CRD,9.5 +CMT,1,1,351,0.9,CRD,6 +CMT,1,1,782,2.3,CSH,10.5 +CMT,1,1,648,1,CSH,8 +CMT,1,1,122,0.3,CRD,3.5 +CMT,1,1,488,1.1,CRD,7 +CMT,1,1,562,1,CRD,7.5 +CMT,1,2,757,2.3,CSH,11.5 +CMT,1,1,1338,5.1,CSH,19.5 +CMT,1,2,744,2.4,CRD,11 +CMT,1,1,302,0.8,CSH,6 +CMT,1,1,429,1.5,CSH,7.5 +CMT,1,1,1114,1.2,CRD,12 +VTS,1,1,780,2.23,CSH,11 +VTS,1,1,1500,9.95,CSH,30.5 +VTS,1,1,1020,8.77,CRD,25.5 +VTS,1,1,780,7.28,CRD,21.5 +VTS,1,1,720,2.63,CSH,10.5 +VTS,2,1,3420,16.54,CRD,52 +VTS,1,1,900,2.86,CSH,12.5 +VTS,1,1,720,5.01,CSH,16.5 +VTS,1,1,1080,6.13,CSH,19.5 +VTS,1,1,1800,8.82,CSH,28.5 +VTS,1,1,180,0.42,CSH,4 +VTS,1,1,1080,4.14,CRD,16 +VTS,1,1,240,0.62,CRD,4.5 +VTS,1,1,300,1.68,CSH,7 +VTS,1,1,600,1.15,CRD,8 +VTS,1,1,540,1.26,CSH,7.5 +VTS,1,1,300,0.76,CSH,5 +VTS,1,1,420,1.54,CRD,7.5 +VTS,1,1,540,0.98,CRD,7 +VTS,1,1,720,2.63,CRD,11 +VTS,1,1,120,0.35,CRD,3.5 +VTS,1,1,1200,5.87,CRD,20 +VTS,1,1,420,0.96,CRD,6.5 +VTS,1,1,660,2.36,CSH,10.5 +VTS,1,1,720,2.63,CRD,10.5 +VTS,1,1,840,1.71,CSH,10.5 +VTS,1,1,1260,2.78,CSH,15 +VTS,1,1,540,0.96,CSH,7.5 +VTS,1,1,540,0.84,CRD,7.5 +VTS,1,1,1020,1.93,CRD,12 +VTS,1,1,420,1.56,CRD,7 +VTS,1,1,720,1.43,CRD,9.5 +VTS,1,1,420,1.3,CRD,6.5 +VTS,1,1,660,2.14,CRD,10 +VTS,1,1,600,2.59,CSH,10 +VTS,1,1,960,4.74,CSH,16 +VTS,1,1,420,0.97,CSH,6.5 +VTS,1,1,840,0.73,CSH,9.5 +VTS,1,1,1200,3.02,CSH,15 +VTS,1,1,1080,3.44,CRD,14 +VTS,1,1,420,1.43,CRD,7 +VTS,1,1,660,1.67,CRD,9 +VTS,1,1,600,1.17,CSH,8.5 +VTS,1,1,360,1,CSH,6 +VTS,1,1,480,1.03,CSH,7 +VTS,1,1,1500,5.6,CSH,23 +VTS,1,1,360,1.08,CSH,6.5 +VTS,1,1,240,0.72,CSH,4.5 +VTS,1,1,420,1.44,CRD,7 +VTS,1,1,1440,9.67,CRD,30 +VTS,1,1,2040,10.61,CSH,35 +VTS,1,1,1200,3.66,CRD,16 +VTS,1,1,720,1.77,CRD,9.5 +VTS,1,1,1020,3.64,CRD,15 +VTS,1,1,720,2.77,CRD,11.5 +VTS,1,1,600,2.59,CSH,10 +VTS,1,1,720,2.49,CRD,10.5 +VTS,1,1,660,1.58,CRD,9 +VTS,1,1,600,1.63,CSH,8 +VTS,1,1,420,1.44,CSH,7 +VTS,1,1,1080,4.98,CRD,17 +VTS,1,1,1200,2.58,CSH,14.5 +VTS,1,1,240,1.08,CSH,5.5 +VTS,1,1,900,2.72,CSH,12.5 +VTS,1,1,1140,2.73,CRD,14 +VTS,1,1,420,1.14,CRD,6.5 +VTS,1,1,420,1.4,CRD,7.5 +VTS,1,1,540,0.7,CRD,7 +VTS,1,1,660,1.13,CRD,8.5 +VTS,1,1,720,1.72,CRD,9.5 +VTS,1,1,540,1.07,CRD,7 +VTS,1,1,1620,6.62,CSH,23.5 +VTS,1,1,720,1.73,CRD,9.5 +VTS,1,1,840,1.68,CRD,10 +VTS,1,1,2340,6.25,CRD,28.5 +VTS,1,1,600,1.75,CRD,9 +VTS,1,1,480,1.38,CSH,7.5 +VTS,1,1,660,1.23,CRD,9 +VTS,1,1,180,0.9,CSH,4.5 +VTS,1,1,540,0.9,CRD,7.5 +VTS,1,1,360,1.5,CRD,7 +VTS,1,1,840,8.22,CRD,23 +VTS,1,1,780,2.15,CSH,11 +VTS,1,1,240,0.88,CRD,5 +VTS,1,1,600,1.76,CSH,9 +VTS,1,1,600,1.62,CRD,8.5 +VTS,1,1,900,3.92,CRD,14.5 +VTS,1,1,300,1.2,CSH,6 +VTS,1,1,300,0.88,CRD,5.5 +VTS,1,1,480,1.36,CRD,7.5 +VTS,1,1,540,2.46,CRD,10 +VTS,1,1,2700,14.23,CRD,45.5 +VTS,1,1,540,1.66,CSH,8.5 +VTS,1,1,840,1.45,CRD,9.5 +VTS,1,1,240,0.86,CSH,5 +VTS,1,1,900,2.84,CSH,13 +VTS,1,1,1080,5.75,CRD,18 +VTS,1,1,420,2.24,CRD,8.5 +VTS,1,1,480,2.95,CRD,11 +VTS,1,1,600,2.04,CRD,9.5 +VTS,1,1,240,0.81,CSH,5.5 +VTS,1,1,600,1.53,CSH,8.5 +VTS,1,1,480,2.23,CRD,9 +VTS,1,1,900,2.64,CRD,12 +VTS,1,1,3300,12.04,CRD,46 +VTS,1,1,360,0.99,CRD,6 +VTS,1,1,1560,5.23,CSH,21.5 +VTS,1,1,1440,9.16,CSH,28.5 +VTS,1,1,900,10.2,CRD,28 +VTS,1,1,420,0.72,CRD,6 +VTS,1,1,480,2.01,CSH,8.5 +VTS,1,1,180,0.75,CRD,4.5 +VTS,1,1,720,3.82,CRD,13.5 +VTS,1,1,480,0.76,CSH,7 +VTS,1,1,780,2.59,CSH,11.5 +VTS,1,1,540,1.72,CRD,8 +VTS,1,1,720,2.12,CSH,10.5 +VTS,1,1,1260,4.73,CRD,18 +VTS,1,1,1680,8.61,CSH,25.5 +VTS,1,1,240,0.7,CSH,5 +VTS,1,1,780,3.04,CRD,12.5 +VTS,1,1,720,3.8,CRD,13 +VTS,1,1,1920,8.04,CRD,26.5 +VTS,1,1,2400,5.13,CSH,25 +VTS,1,1,300,0.55,CRD,5 +VTS,1,1,240,1.03,CRD,5.5 +VTS,1,1,840,3.17,CRD,13 +VTS,1,1,960,9.23,CSH,26.5 +VTS,1,1,660,1.84,CRD,9.5 +VTS,1,1,1320,8.59,CRD,27 +VTS,1,1,600,1.62,CRD,8.5 +VTS,1,1,300,0.64,CRD,5.5 +VTS,1,1,780,4.53,CRD,15 +VTS,1,1,2040,12.12,CRD,37 +VTS,1,1,1380,3.29,CRD,16.5 +VTS,1,1,1320,3.22,CRD,16 +VTS,1,1,900,2.51,CRD,11.5 +VTS,1,1,600,1.15,CSH,8 +VTS,1,1,420,1.01,CSH,6.5 +VTS,1,1,2040,5.05,CSH,24 +VTS,1,1,1020,0.85,CSH,11.5 +VTS,1,1,1080,4.04,CSH,16 +VTS,1,1,1140,6.74,CSH,21.5 +VTS,1,1,300,1,CSH,5.5 +VTS,1,1,240,1.34,CRD,6 +VTS,1,1,720,7.43,CSH,21 +VTS,1,1,1740,5.88,CRD,23.5 +VTS,1,1,660,1.55,CRD,9 +VTS,1,1,540,1.49,CRD,8 +VTS,1,1,1140,2.26,CSH,13.5 +VTS,1,1,480,1.02,CRD,6.5 +VTS,1,1,660,2.08,CSH,10 +VTS,1,1,540,1.79,CSH,9 +VTS,1,1,660,2.62,CRD,10.5 +VTS,1,1,540,2.33,CRD,9.5 +VTS,1,1,660,2.07,CRD,10 +VTS,1,1,720,2.21,CSH,10 +VTS,1,1,780,2.84,CRD,12 +VTS,1,1,540,2.31,CSH,9.5 +VTS,1,1,420,1,CRD,6.5 +VTS,1,1,540,1.79,CRD,8.5 +VTS,1,1,720,1.75,CRD,9.5 +CMT,1,1,1919,11.5,CSH,35 +CMT,1,1,662,1,CRD,8 +CMT,1,1,548,1.9,CRD,8.5 +CMT,1,1,1453,1.5,CRD,15.5 +CMT,1,4,1452,11.2,CSH,32 +CMT,1,1,427,0.6,CRD,6 +CMT,1,1,1579,5.4,CRD,22 +CMT,1,1,1203,4.7,CRD,18.5 +CMT,1,1,699,1.8,CRD,9.5 +CMT,1,1,602,2,CSH,9 +CMT,1,1,584,1.1,CRD,8 +CMT,1,1,1070,9,CRD,26.5 +CMT,1,1,255,0.7,CSH,5 +CMT,1,1,1257,3.5,CSH,16 +CMT,1,1,443,0.7,CRD,6.5 +CMT,1,1,556,1.6,CSH,8 +CMT,1,1,612,1.2,CRD,8 +CMT,1,1,258,0.6,CSH,5 +CMT,1,2,1086,2.5,CSH,13.5 +CMT,1,1,1243,4.3,CSH,17 +CMT,1,1,669,1.7,CRD,9.5 +CMT,1,2,943,3.3,CRD,14 +CMT,1,1,631,2.4,CRD,10 +CMT,1,1,254,0.3,CSH,4.5 +CMT,1,1,654,1.8,CRD,9.5 +CMT,1,1,905,7.4,CRD,22 +CMT,1,1,389,1,CSH,6 +CMT,1,1,1523,7.5,CRD,27 +CMT,1,1,858,2.4,CRD,12 +CMT,1,1,1127,5,CSH,18.5 +VTS,1,1,420,1.1,CSH,6.5 +VTS,1,1,900,3.98,CRD,14.5 +VTS,1,1,180,1.19,CSH,5.5 +VTS,1,1,300,1.31,CSH,6.5 +VTS,1,1,960,2.82,CRD,13 +VTS,1,1,240,0.51,CRD,4.5 +VTS,1,1,480,1.98,CSH,8.5 +VTS,1,1,840,1.37,CRD,10 +VTS,1,1,1440,12.21,CRD,35.5 +VTS,1,1,600,2.28,CRD,10 +VTS,1,1,540,2.71,CSH,11 +VTS,1,1,720,1.9,CSH,9.5 +VTS,1,1,360,0.89,CRD,6 +VTS,1,1,660,1.46,CRD,8.5 +VTS,1,1,300,1.27,CRD,6 +VTS,1,1,480,1.59,CSH,7.5 +VTS,1,1,660,2.32,CSH,10.5 +VTS,1,1,660,1.27,CSH,8.5 +VTS,1,1,360,0.74,CRD,5.5 +VTS,1,1,420,1.46,CSH,7 +VTS,1,1,180,0.56,CRD,4.5 +VTS,1,1,240,0.82,CSH,5 +CMT,1,1,438,1.3,CRD,7.5 +CMT,1,1,889,5.1,CRD,18 +CMT,1,1,433,1.6,CSH,7.5 +CMT,1,1,403,1.2,CRD,7 +CMT,1,1,1288,2.8,CRD,15 +CMT,1,1,113,0.8,CSH,4.5 +CMT,1,1,1383,6.4,CRD,22.5 +CMT,1,1,926,2.6,CSH,12.5 +CMT,1,2,1556,11.3,CSH,34.5 +CMT,1,3,569,2.8,CSH,10.5 +CMT,1,1,1520,2.1,CSH,16 +CMT,1,1,144,0.6,CSH,4 +CMT,1,1,553,2.2,CSH,9.5 +CMT,1,4,1215,1.5,CSH,13 +CMT,1,2,1049,1,CSH,11.5 +CMT,1,2,409,0.9,CRD,6.5 +CMT,1,1,1503,8.2,CSH,27.5 +CMT,1,1,401,1.2,CSH,7 +CMT,1,2,825,1.7,CSH,10.5 +CMT,1,2,475,1.5,CRD,8 +CMT,1,1,436,1.9,CSH,8 +CMT,1,1,539,1.4,CRD,7.5 +CMT,1,2,374,1.2,CSH,6.5 +CMT,1,2,764,0.8,CSH,9 +CMT,1,2,843,1.7,CSH,10.5 +CMT,1,2,908,1.9,CRD,11 +CMT,1,1,1416,3.6,CSH,17 +CMT,1,1,240,1.1,CRD,5.5 +CMT,1,1,2350,5.8,CRD,27.5 +VTS,1,1,180,0.58,CRD,4 +VTS,1,1,420,0.92,CSH,6.5 +VTS,1,1,480,1.53,CRD,8 +VTS,1,1,720,1.82,CRD,10 +VTS,2,1,4680,19.35,CRD,52 +VTS,1,1,600,1.9,CRD,9.5 +VTS,1,1,480,1.83,CRD,8 +VTS,1,1,660,1.24,CSH,8.5 +VTS,1,1,1080,3.04,CSH,14 +VTS,1,1,1260,12.37,CRD,34.5 +VTS,1,1,780,2.25,CRD,11 +VTS,1,1,1080,2.87,CRD,13.5 +VTS,1,1,960,3.27,CRD,14 +VTS,1,1,540,1.73,CRD,8 +VTS,1,1,1500,5.17,CRD,20 +VTS,1,1,840,3.38,CSH,13.5 +VTS,1,1,360,1.43,CSH,6.5 +VTS,1,1,300,1.01,CRD,6 +VTS,1,1,240,1.24,CSH,5.5 +VTS,1,1,600,1.67,CRD,8 +VTS,1,1,720,1.45,CSH,9.5 +VTS,1,1,960,2.45,CRD,12.5 +VTS,1,1,2100,6.18,CRD,26 +VTS,1,1,120,0.4,CRD,4 +VTS,1,1,1200,2.87,CSH,15 +VTS,1,1,600,1.95,CRD,8.5 +VTS,1,1,360,0.61,CSH,5 +VTS,1,1,1140,4.4,CRD,17.5 +VTS,1,1,1680,6.02,CRD,23 +VTS,1,1,360,1.04,CSH,6 +VTS,1,1,480,1.92,CSH,8 +VTS,1,1,840,2.91,CRD,12.5 +VTS,1,1,1260,5.67,CSH,20 +VTS,1,1,720,3.13,CSH,12.5 +VTS,1,1,720,2.93,CSH,12.5 +VTS,1,1,660,1.88,CSH,9.5 +VTS,1,1,1260,2.82,CRD,15 +VTS,1,1,1080,2.4,CSH,14 +VTS,1,1,780,1.94,CSH,10.5 +VTS,1,1,240,0.96,CSH,5 +VTS,1,1,360,0.95,CRD,6 +VTS,1,1,600,1.92,CRD,9 +VTS,1,1,1080,2.49,CSH,13.5 +VTS,1,1,720,3.41,CRD,13 +VTS,1,1,1380,5.09,CRD,20 +VTS,1,1,540,1.89,CSH,9 +VTS,1,1,660,1.74,CRD,9 +VTS,1,1,780,2.18,CRD,10.5 +VTS,1,1,480,1.07,CRD,7 +VTS,1,1,60,0.49,CSH,3.5 +VTS,1,1,1020,2.9,CRD,13.5 +VTS,1,1,180,0.6,CSH,4.5 +VTS,1,1,1380,5.24,CRD,20 +VTS,1,1,900,3.15,CRD,12.5 +VTS,1,1,480,1.72,CRD,8 +VTS,1,1,420,1.16,CRD,6.5 +VTS,1,1,360,1.19,CRD,6.5 +VTS,1,1,1140,8.26,CRD,25 +VTS,1,1,2700,6.04,CRD,30.5 +VTS,1,1,1200,2.53,CSH,14 +VTS,1,1,300,0.62,CSH,5.5 +VTS,1,1,180,0.44,CRD,4 +VTS,1,1,540,1.86,CSH,9 +VTS,1,1,480,1.26,CRD,7.5 +VTS,1,1,360,0.48,CRD,5.5 +VTS,1,1,240,0.88,CRD,5.5 +VTS,1,1,720,2.66,CRD,10.5 +VTS,1,1,180,0.71,CSH,4.5 +VTS,1,1,660,1.31,CRD,8 \ No newline at end of file diff --git a/src/Samples/DataStructures/PixelData.cs b/src/Samples/DataStructures/PixelData.cs new file mode 100644 index 0000000000..03e3e43b49 --- /dev/null +++ b/src/Samples/DataStructures/PixelData.cs @@ -0,0 +1,17 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Data; + +namespace Samples.DataStructures +{ + public class PixelData + { + public float Label; + + [ColumnName("PixelValues")] + [VectorType(64)] + public float[] PixelValues; + } +} diff --git a/src/Samples/DataStructures/PixelPrediction.cs b/src/Samples/DataStructures/PixelPrediction.cs new file mode 100644 index 0000000000..4791891a90 --- /dev/null +++ b/src/Samples/DataStructures/PixelPrediction.cs @@ -0,0 +1,14 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Data; + +namespace Samples.DataStructures +{ + public class PixelPrediction + { + [ColumnName("PredictedLabel")] + public float Prediction; + } +} diff --git a/src/Samples/DataStructures/SentimentIssue.cs b/src/Samples/DataStructures/SentimentIssue.cs new file mode 100644 index 0000000000..4f36a498dd --- /dev/null +++ b/src/Samples/DataStructures/SentimentIssue.cs @@ -0,0 +1,13 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Samples.DataStructures +{ + public class SentimentIssue + { + public bool Label { get; set; } + + public string Text { get; set; } + } +} diff --git a/src/Samples/DataStructures/SentimentPrediction.cs b/src/Samples/DataStructures/SentimentPrediction.cs new file mode 100644 index 0000000000..1a711c4091 --- /dev/null +++ b/src/Samples/DataStructures/SentimentPrediction.cs @@ -0,0 +1,22 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Data; + +namespace Samples.DataStructures +{ + public class SentimentPrediction + { + // ColumnName attribute is used to change the column name from + // its default value, which is the name of the field. + [ColumnName("PredictedLabel")] + public bool Prediction { get; set; } + + // No need to specify ColumnName attribute, because the field + // name "Probability" is the column name we want. + public float Probability { get; set; } + + public float Score { get; set; } + } +} diff --git a/src/Samples/DataStructures/TaxiTrip.cs b/src/Samples/DataStructures/TaxiTrip.cs new file mode 100644 index 0000000000..fa93a3bcda --- /dev/null +++ b/src/Samples/DataStructures/TaxiTrip.cs @@ -0,0 +1,17 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Samples.DataStructures +{ + public class TaxiTrip + { + public string VendorId; + public float RateCode; + public float PassengerCount; + public float TripTimeInSeconds; + public float TripDistance; + public string PaymentType; + public float FareAmount; + } +} diff --git a/src/Samples/DataStructures/TaxiTripFarePrediction.cs b/src/Samples/DataStructures/TaxiTripFarePrediction.cs new file mode 100644 index 0000000000..71eaab1be3 --- /dev/null +++ b/src/Samples/DataStructures/TaxiTripFarePrediction.cs @@ -0,0 +1,14 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Data; + +namespace Samples.DataStructures +{ + public class TaxiTripFarePrediction + { + [ColumnName("Score")] + public float FareAmount; + } +} diff --git a/src/Samples/InferColumns.cs b/src/Samples/InferColumns.cs new file mode 100644 index 0000000000..80c15401a8 --- /dev/null +++ b/src/Samples/InferColumns.cs @@ -0,0 +1,64 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.Data.DataView; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.Data; +using Samples.Helpers; + +namespace Samples +{ + static class InferColumns + { + private static string BaseDatasetsLocation = "Data"; + private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); + private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-test.csv"); + private static string ModelPath = Path.Combine(BaseDatasetsLocation, "TaxiFareModel.zip"); + private static string LabelColumn = "fare_amount"; + private static uint ExperimentTime = 60; + + public static void Run() + { + MLContext mlContext = new MLContext(); + + // STEP 1: Infer columns + ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn, groupColumns: false); + ConsoleHelper.Print(columnInference); + + // STEP 2: Load data + TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + IDataView trainDataView = textLoader.Load(TrainDataPath); + IDataView testDataView = textLoader.Load(TestDataPath); + + // STEP 3: Auto featurize, auto train and auto hyperparameter tune + Console.WriteLine($"Running AutoML regression classification experiment for {ExperimentTime} seconds..."); + IEnumerable> runResults = mlContext.Auto() + .CreateRegressionExperiment(ExperimentTime) + .Execute(trainDataView, LabelColumn); + + // STEP 4: Print metric from best model + RunResult best = runResults.Best(); + Console.WriteLine($"Total models produced: {runResults.Count()}"); + Console.WriteLine($"Best model's trainer: {best.TrainerName}"); + Console.WriteLine($"RSquared of best model from validation data: {best.ValidationMetrics.RSquared}"); + + // STEP 5: Evaluate test data + IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); + RegressionMetrics testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: LabelColumn); + Console.WriteLine($"RSquared of best model on test data: {testMetrics.RSquared}"); + + // STEP 6: Save the best model for later deployment and inferencing + using (FileStream fs = File.Create(ModelPath)) + best.Model.SaveTo(mlContext, fs); + + Console.WriteLine("Press any key to continue..."); + Console.ReadKey(); + } + } +} diff --git a/src/Samples/ObserveProgress.cs b/src/Samples/ObserveProgress.cs index c508c764be..dfa6667145 100644 --- a/src/Samples/ObserveProgress.cs +++ b/src/Samples/ObserveProgress.cs @@ -13,21 +13,35 @@ namespace Samples { static class ObserveProgress { - private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string BaseDatasetsLocation = "Data"; private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-test.csv"); private static string ModelPath = Path.Combine(BaseDatasetsLocation, "TaxiFareModel.zip"); - private static string LabelColumn = "fare_amount"; + private static string LabelColumn = "FareAmount"; public static void Run() { MLContext mlContext = new MLContext(); - // STEP 1: Infer columns - ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn, ','); + // STEP 1: Create text loader options + var textLoaderOptions = new TextLoader.Options() + { + Columns = new[] + { + new TextLoader.Column("VendorId", DataKind.String, 0), + new TextLoader.Column("RateCode", DataKind.Single, 1), + new TextLoader.Column("PassengerCount", DataKind.Single, 2), + new TextLoader.Column("TripTimeInSeconds", DataKind.Single, 3), + new TextLoader.Column("TripDistance", DataKind.Single, 4), + new TextLoader.Column("PaymentType", DataKind.String, 5), + new TextLoader.Column("FareAmount", DataKind.Single, 6), + }, + HasHeader = true, + Separators = new[] { ',' } + }; // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + TextLoader textLoader = mlContext.Data.CreateTextLoader(textLoaderOptions); IDataView trainDataView = textLoader.Load(TrainDataPath); IDataView testDataView = textLoader.Load(TestDataPath); diff --git a/src/Samples/Program.cs b/src/Samples/Program.cs index 717b3a19ea..26b6192031 100644 --- a/src/Samples/Program.cs +++ b/src/Samples/Program.cs @@ -36,6 +36,9 @@ public static void Main(string[] args) RefitBestModel.Run(); Console.Clear(); + InferColumns.Run(); + Console.Clear(); + Console.WriteLine("Done"); } catch (Exception ex) diff --git a/src/Samples/RefitBestModel.cs b/src/Samples/RefitBestModel.cs index a2eea4e6d2..4cae51d965 100644 --- a/src/Samples/RefitBestModel.cs +++ b/src/Samples/RefitBestModel.cs @@ -5,39 +5,51 @@ using System; using System.Collections.Generic; using System.IO; -using System.Linq; using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; -using Samples.Helpers; namespace Samples { static class RefitBestModel { - private static string BaseDatasetsLocation = Path.Combine("..", "..", "..", "..", "src", "Samples", "Data"); + private static string BaseDatasetsLocation = "Data"; private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); + private static string SmallTrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-small-train.csv"); private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-test.csv"); private static string ModelPath = Path.Combine(BaseDatasetsLocation, "TaxiFareModel.zip"); - private static string LabelColumn = "fare_amount"; + private static string LabelColumn = "FareAmount"; private static uint ExperimentTime = 60; public static void Run() { MLContext mlContext = new MLContext(); - // STEP 1: Infer columns - ColumnInferenceResults columnInference = mlContext.Auto().InferColumns(TrainDataPath, LabelColumn); - ConsoleHelper.Print(columnInference); + // STEP 1: Create text loader options + var textLoaderOptions = new TextLoader.Options() + { + Columns = new[] + { + new TextLoader.Column("VendorId", DataKind.String, 0), + new TextLoader.Column("RateCode", DataKind.Single, 1), + new TextLoader.Column("PassengerCount", DataKind.Single, 2), + new TextLoader.Column("TripTimeInSeconds", DataKind.Single, 3), + new TextLoader.Column("TripDistance", DataKind.Single, 4), + new TextLoader.Column("PaymentType", DataKind.String, 5), + new TextLoader.Column("FareAmount", DataKind.Single, 6), + }, + HasHeader = true, + Separators = new[] { ',' } + }; // STEP 2: Load data - TextLoader textLoader = mlContext.Data.CreateTextLoader(columnInference.TextLoaderOptions); + TextLoader textLoader = mlContext.Data.CreateTextLoader(textLoaderOptions); IDataView trainDataView = textLoader.Load(TrainDataPath); IDataView testDataView = textLoader.Load(TestDataPath); // STEP 3: Subsample training data, for faster AutoML experimentation time - IDataView smallTrainDataView = mlContext.Data.TakeRows(trainDataView, 50000); + IDataView smallTrainDataView = textLoader.Load(SmallTrainDataPath); // STEP 4: Auto-featurization, model selection, and hyperparameter tuning Console.WriteLine($"Running AutoML regression classification experiment for {ExperimentTime} seconds..."); diff --git a/src/Samples/Samples.csproj b/src/Samples/Samples.csproj index 8ab5ec2e96..a06bde1135 100644 --- a/src/Samples/Samples.csproj +++ b/src/Samples/Samples.csproj @@ -9,4 +9,28 @@ + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + From f44473fac5531fdde42e21551a089237167517a0 Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin <45412678+Dmitry-A@users.noreply.github.com> Date: Mon, 1 Apr 2019 19:19:40 -0700 Subject: [PATCH 187/211] Telemetry2 (#333) * Create test.txt * Create test.txt * changes needed for benchmarking * forgot one file * merge conflict fix * fix build break * back out my version of the fix for Label column issue and fix the original fix * bogus file removal * undo SuggestedPipeline change * remove labelCol from pipeline suggester * fix build break * rename AutoML to Microsoft.ML.Auto everywhere and a shot at publishing nuget package (will probably need tweaks once I try to use the pipleline) * tweak queue in vsts-ci.yml * CLI telemetry implementation * Telemetry implementation * delete unnecessary file and change file size bucket to actually log log2 instead of nearest ceil value * add headers, remove comments * one more header missing --- .../Microsoft.ML.Auto.csproj | 4 +- src/mlnet/Commands/CommandDefinitions.cs | 4 +- src/mlnet/Commands/New/NewCommandHandler.cs | 8 +- src/mlnet/Program.cs | 29 ++- .../BashPathUnderHomeDirectory.cs | 26 +++ .../CliFolderPathCalculator.cs | 61 ++++++ .../CollectionsExtensions.cs | 18 ++ .../ConfigurationException.cs | 22 ++ .../DotNetAppInsights/DirectoryWrapper.cs | 52 +++++ src/mlnet/Telemetry/DotNetAppInsights/Env.cs | 40 ++++ .../DotNetAppInsights/EnvironmentProvider.cs | 155 ++++++++++++++ .../DotNetAppInsights/ExceptionExtensions.cs | 22 ++ .../DotNetAppInsights/FileSystemWrapper.cs | 14 ++ .../DotNetAppInsights/FileWrapper.cs | 64 ++++++ .../FirstTimeUseNoticeSentinel.cs | 58 ++++++ .../Telemetry/DotNetAppInsights/IDirectory.cs | 26 +++ .../DotNetAppInsights/IEnvironmentProvider.cs | 27 +++ .../Telemetry/DotNetAppInsights/IFile.cs | 34 +++ .../DotNetAppInsights/IFileSentinel.cs | 14 ++ .../DotNetAppInsights/IFileSystem.cs | 11 + .../IFirstTimeUseNoticeSentinel.cs | 14 ++ .../Telemetry/DotNetAppInsights/ITelemetry.cs | 15 ++ .../DotNetAppInsights/ITemporaryDirectory.cs | 12 ++ .../IUserLevelCacheWriter.cs | 12 ++ .../DotNetAppInsights/MacAddressGetter.cs | 168 +++++++++++++++ .../DotNetAppInsights/NativeMethods.cs | 80 +++++++ .../DotNetAppInsights/ProcessReaper.cs | 197 ++++++++++++++++++ .../ProcessStartInfoExtensions.cs | 68 ++++++ .../DotNetAppInsights/Sha256Hasher.cs | 36 ++++ .../DotNetAppInsights/StreamForwarder.cs | 133 ++++++++++++ .../TelemetryCommonProperties.cs | 106 ++++++++++ .../DotNetAppInsights/TemporaryDirectory.cs | 31 +++ .../ToolPackageFolderPathCalculator.cs | 16 ++ .../DotNetAppInsights/UserLevelCacheWriter.cs | 73 +++++++ src/mlnet/Telemetry/MlTelemetry.cs | 97 +++++++++ src/mlnet/Telemetry/ProductVersion.cs | 19 ++ src/mlnet/Telemetry/Telemetry.cs | 144 +++++++++++++ 37 files changed, 1903 insertions(+), 7 deletions(-) create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/BashPathUnderHomeDirectory.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/CliFolderPathCalculator.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/CollectionsExtensions.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/ConfigurationException.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/DirectoryWrapper.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/Env.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/EnvironmentProvider.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/ExceptionExtensions.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/FileSystemWrapper.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/FileWrapper.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/FirstTimeUseNoticeSentinel.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/IDirectory.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/IEnvironmentProvider.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/IFile.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/IFileSentinel.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/IFileSystem.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/IFirstTimeUseNoticeSentinel.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/ITelemetry.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/ITemporaryDirectory.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/IUserLevelCacheWriter.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/MacAddressGetter.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/NativeMethods.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/ProcessReaper.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/ProcessStartInfoExtensions.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/Sha256Hasher.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/StreamForwarder.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/TelemetryCommonProperties.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/TemporaryDirectory.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/ToolPackageFolderPathCalculator.cs create mode 100644 src/mlnet/Telemetry/DotNetAppInsights/UserLevelCacheWriter.cs create mode 100644 src/mlnet/Telemetry/MlTelemetry.cs create mode 100644 src/mlnet/Telemetry/ProductVersion.cs create mode 100644 src/mlnet/Telemetry/Telemetry.cs diff --git a/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj b/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj index 1214e1e0b4..d1be5c3037 100644 --- a/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj +++ b/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj @@ -6,7 +6,9 @@ - + + + diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 29d5a78a1e..c1b304e72f 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -74,7 +74,7 @@ Option TestDataset() => new Argument(defaultValue: default(FileInfo)).ExistingOnly()); Option MlTask() => - new Option("--ml-task", "Type of ML task to perform. Current supported tasks: regression and binary-classification", + new Option("--ml-task", "Type of ML task to perform. Current supported tasks: regression, binary-classification, multiclass-classification.", new Argument().FromAmong(GetMlTaskSuggestions())); Option LabelName() => @@ -90,7 +90,7 @@ Option MaxExplorationTime() => new Argument(defaultValue: 10)); Option Verbosity() => - new Option(new List() { "--verbosity" }, "Output verbosity choices: q[uiet], m[inimal] (by default) and diag[nostic]", + new Option(new List() { "--verbosity" }, "Output verbosity choices: q[uiet], m[inimal] (by default) and diag[nostic].", new Argument(defaultValue: "m").FromAmong(GetVerbositySuggestions())); Option Name() => diff --git a/src/mlnet/Commands/New/NewCommandHandler.cs b/src/mlnet/Commands/New/NewCommandHandler.cs index 35a91e2f4d..1be9219143 100644 --- a/src/mlnet/Commands/New/NewCommandHandler.cs +++ b/src/mlnet/Commands/New/NewCommandHandler.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using Microsoft.DotNet.Cli.Telemetry; using Microsoft.ML.CLI.CodeGenerator; using Microsoft.ML.CLI.Data; @@ -10,17 +11,20 @@ namespace Microsoft.ML.CLI.Commands.New internal class NewCommand : ICommand { private readonly NewCommandSettings settings; + private readonly MlTelemetry telemetry; - internal NewCommand(NewCommandSettings settings) + internal NewCommand(NewCommandSettings settings, MlTelemetry telemetry) { this.settings = settings; + this.telemetry = telemetry; } public void Execute() { + telemetry.LogAutoTrainMlCommand(settings.Dataset.FullName, settings.MlTask.ToString(), settings.Dataset.Length); + CodeGenerationHelper codeGenerationHelper = new CodeGenerationHelper(new AutoMLEngine(settings), settings); // Needs to be improved. codeGenerationHelper.GenerateCode(); } - } } diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index 8163526aaf..b81babff4a 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -2,9 +2,12 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System.Collections.Generic; using System.CommandLine.Builder; using System.CommandLine.Invocation; using System.IO; +using System.Linq; +using Microsoft.DotNet.Cli.Telemetry; using Microsoft.ML.CLI.Commands; using Microsoft.ML.CLI.Commands.New; using Microsoft.ML.CLI.Data; @@ -18,6 +21,8 @@ class Program { public static void Main(string[] args) { + var telemetry = new MlTelemetry(); + // Create handler outside so that commandline and the handler is decoupled and testable. var handler = CommandHandler.Create( (options) => @@ -42,7 +47,7 @@ public static void Main(string[] args) options.OutputPath = new DirectoryInfo(outputBaseDir); // Instantiate the command - var command = new NewCommand(options); + var command = new NewCommand(options, telemetry); // Override the Logger Configuration var logconsole = LogManager.Configuration.FindTargetByName("logconsole"); @@ -61,7 +66,27 @@ public static void Main(string[] args) .UseDefaults() .Build(); - parser.InvokeAsync(args).Wait(); + var parseResult = parser.Parse(args); + + if (parseResult.Errors.Count == 0) + { + if (parseResult.RootCommandResult.Children.Count > 0) + { + var command = parseResult.RootCommandResult.Children.First(); + var parsedArguments = command.Children; + + if (parsedArguments.Count > 0) + { + var options = parsedArguments.ToList().Where(sr => sr is System.CommandLine.OptionResult).Cast(); + + var explicitlySpecifiedOptions = options.Where(opt => !opt.IsImplicit).Select(opt => opt.Name); + + telemetry.SetCommandAndParameters(command.Name, explicitlySpecifiedOptions); + } + } + } + + parser.InvokeAsync(parseResult).Wait(); } } } diff --git a/src/mlnet/Telemetry/DotNetAppInsights/BashPathUnderHomeDirectory.cs b/src/mlnet/Telemetry/DotNetAppInsights/BashPathUnderHomeDirectory.cs new file mode 100644 index 0000000000..58e8c3ea29 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/BashPathUnderHomeDirectory.cs @@ -0,0 +1,26 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace Microsoft.DotNet.Configurer +{ + public struct BashPathUnderHomeDirectory + { + private readonly string _fullHomeDirectoryPath; + private readonly string _pathRelativeToHome; + + public BashPathUnderHomeDirectory(string fullHomeDirectoryPath, string pathRelativeToHome) + { + _fullHomeDirectoryPath = + fullHomeDirectoryPath ?? throw new ArgumentNullException(nameof(fullHomeDirectoryPath)); + _pathRelativeToHome = pathRelativeToHome ?? throw new ArgumentNullException(nameof(pathRelativeToHome)); + } + + public string PathWithTilde => $"~/{_pathRelativeToHome}"; + + public string PathWithDollar => $"$HOME/{_pathRelativeToHome}"; + + public string Path => $"{_fullHomeDirectoryPath}/{_pathRelativeToHome}"; + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/CliFolderPathCalculator.cs b/src/mlnet/Telemetry/DotNetAppInsights/CliFolderPathCalculator.cs new file mode 100644 index 0000000000..727b49086b --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/CliFolderPathCalculator.cs @@ -0,0 +1,61 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; +using System.Runtime.InteropServices; +using Microsoft.DotNet.Cli.Utils; + +namespace Microsoft.DotNet.Configurer +{ + public static class CliFolderPathCalculator + { + public const string DotnetHomeVariableName = "DOTNET_CLI_HOME"; + private const string DotnetProfileDirectoryName = ".dotnet"; + private const string ToolsShimFolderName = "tools"; + private const string ToolsResolverCacheFolderName = "toolResolverCache"; + + public static string CliFallbackFolderPath => + Environment.GetEnvironmentVariable("DOTNET_CLI_TEST_FALLBACKFOLDER") ?? + Path.Combine(new DirectoryInfo(AppContext.BaseDirectory).Parent.FullName, "NuGetFallbackFolder"); + + public static string ToolsShimPath => Path.Combine(DotnetUserProfileFolderPath, ToolsShimFolderName); + + public static string ToolsPackagePath => ToolPackageFolderPathCalculator.GetToolPackageFolderPath(ToolsShimPath); + + public static BashPathUnderHomeDirectory ToolsShimPathInUnix => + new BashPathUnderHomeDirectory( + DotnetHomePath, + Path.Combine(DotnetProfileDirectoryName, ToolsShimFolderName)); + + public static string DotnetUserProfileFolderPath => + Path.Combine(DotnetHomePath, DotnetProfileDirectoryName); + + public static string ToolsResolverCachePath => Path.Combine(DotnetUserProfileFolderPath, ToolsResolverCacheFolderName); + + public static string PlatformHomeVariableName => + RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "USERPROFILE" : "HOME"; + + public static string DotnetHomePath + { + get + { + var home = Environment.GetEnvironmentVariable(DotnetHomeVariableName); + if (string.IsNullOrEmpty(home)) + { + home = Environment.GetEnvironmentVariable(PlatformHomeVariableName); + if (string.IsNullOrEmpty(home)) + { + throw new ConfigurationException( + string.Format( + "The user's home directory could not be determined. Set the '{0}' environment variable to specify the directory to use.", + DotnetHomeVariableName)) + .DisplayAsError(); + } + } + + return home; + } + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/CollectionsExtensions.cs b/src/mlnet/Telemetry/DotNetAppInsights/CollectionsExtensions.cs new file mode 100644 index 0000000000..08779f65e0 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/CollectionsExtensions.cs @@ -0,0 +1,18 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.DotNet.Cli.Utils +{ + public static class CollectionsExtensions + { + public static IEnumerable OrEmptyIfNull(this IEnumerable enumerable) + { + return enumerable == null + ? Enumerable.Empty() + : enumerable; + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/ConfigurationException.cs b/src/mlnet/Telemetry/DotNetAppInsights/ConfigurationException.cs new file mode 100644 index 0000000000..591203c4ab --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/ConfigurationException.cs @@ -0,0 +1,22 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace Microsoft.DotNet.Configurer +{ + internal class ConfigurationException : Exception + { + public ConfigurationException() + { + } + + public ConfigurationException(string message) : base(message) + { + } + + public ConfigurationException(string message, Exception innerException) : base(message, innerException) + { + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/DirectoryWrapper.cs b/src/mlnet/Telemetry/DotNetAppInsights/DirectoryWrapper.cs new file mode 100644 index 0000000000..c09bd8dfa2 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/DirectoryWrapper.cs @@ -0,0 +1,52 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Collections.Generic; +using System.IO; +using Microsoft.DotNet.InternalAbstractions; + +namespace Microsoft.Extensions.EnvironmentAbstractions +{ + internal class DirectoryWrapper: IDirectory + { + public bool Exists(string path) + { + return Directory.Exists(path); + } + + public ITemporaryDirectory CreateTemporaryDirectory() + { + return new TemporaryDirectory(); + } + + public IEnumerable EnumerateFiles(string path) + { + return Directory.EnumerateFiles(path); + } + + public IEnumerable EnumerateFileSystemEntries(string path) + { + return Directory.EnumerateFileSystemEntries(path); + } + + public string GetCurrentDirectory() + { + return Directory.GetCurrentDirectory(); + } + + public void CreateDirectory(string path) + { + Directory.CreateDirectory(path); + } + + public void Delete(string path, bool recursive) + { + Directory.Delete(path, recursive); + } + + public void Move(string source, string destination) + { + Directory.Move(source, destination); + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/Env.cs b/src/mlnet/Telemetry/DotNetAppInsights/Env.cs new file mode 100644 index 0000000000..6aad6f4c49 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/Env.cs @@ -0,0 +1,40 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Collections.Generic; + +namespace Microsoft.DotNet.Cli.Utils +{ + public static class Env + { + private static IEnvironmentProvider _environment = new EnvironmentProvider(); + + public static IEnumerable ExecutableExtensions + { + get + { + return _environment.ExecutableExtensions; + } + } + + public static string GetCommandPath(string commandName, params string[] extensions) + { + return _environment.GetCommandPath(commandName, extensions); + } + + public static string GetCommandPathFromRootPath(string rootPath, string commandName, params string[] extensions) + { + return _environment.GetCommandPathFromRootPath(rootPath, commandName, extensions); + } + + public static string GetCommandPathFromRootPath(string rootPath, string commandName, IEnumerable extensions) + { + return _environment.GetCommandPathFromRootPath(rootPath, commandName, extensions); + } + + public static bool GetEnvironmentVariableAsBool(string name, bool defaultValue = false) + { + return _environment.GetEnvironmentVariableAsBool(name, defaultValue); + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/EnvironmentProvider.cs b/src/mlnet/Telemetry/DotNetAppInsights/EnvironmentProvider.cs new file mode 100644 index 0000000000..f0a9fefbe9 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/EnvironmentProvider.cs @@ -0,0 +1,155 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.DotNet.PlatformAbstractions; + +namespace Microsoft.DotNet.Cli.Utils +{ + public class EnvironmentProvider : IEnvironmentProvider + { + private static char[] s_pathSeparator = new char[] { Path.PathSeparator }; + private static char[] s_quote = new char[] { '"' }; + private IEnumerable _searchPaths; + private readonly Lazy _userHomeDirectory = new Lazy(() => Environment.GetEnvironmentVariable("HOME") ?? string.Empty); + private IEnumerable _executableExtensions; + + public IEnumerable ExecutableExtensions + { + get + { + if (_executableExtensions == null) + { + + _executableExtensions = RuntimeEnvironment.OperatingSystemPlatform == Platform.Windows + ? Environment.GetEnvironmentVariable("PATHEXT") + .Split(';') + .Select(e => e.ToLower().Trim('"')) + : new [] { string.Empty }; + } + + return _executableExtensions; + } + } + + private IEnumerable SearchPaths + { + get + { + if (_searchPaths == null) + { + var searchPaths = new List { ApplicationEnvironment.ApplicationBasePath }; + + searchPaths.AddRange(Environment + .GetEnvironmentVariable("PATH") + .Split(s_pathSeparator) + .Select(p => p.Trim(s_quote)) + .Where(p => !string.IsNullOrWhiteSpace(p)) + .Select(p => ExpandTildeSlash(p))); + + _searchPaths = searchPaths; + } + + return _searchPaths; + } + } + + private string ExpandTildeSlash(string path) + { + const string tildeSlash = "~/"; + if (path.StartsWith(tildeSlash, StringComparison.Ordinal) && !string.IsNullOrEmpty(_userHomeDirectory.Value)) + { + return Path.Combine(_userHomeDirectory.Value, path.Substring(tildeSlash.Length)); + } + else + { + return path; + } + } + + public EnvironmentProvider( + IEnumerable extensionsOverride = null, + IEnumerable searchPathsOverride = null) + { + _executableExtensions = extensionsOverride; + _searchPaths = searchPathsOverride; + } + + public string GetCommandPath(string commandName, params string[] extensions) + { + if (!extensions.Any()) + { + extensions = ExecutableExtensions.ToArray(); + } + + var commandPath = SearchPaths.Join( + extensions, + p => true, s => true, + (p, s) => Path.Combine(p, commandName + s)) + .FirstOrDefault(File.Exists); + + return commandPath; + } + + public string GetCommandPathFromRootPath(string rootPath, string commandName, params string[] extensions) + { + if (!extensions.Any()) + { + extensions = ExecutableExtensions.ToArray(); + } + + var commandPath = extensions.Select(e => Path.Combine(rootPath, commandName + e)) + .FirstOrDefault(File.Exists); + + return commandPath; + } + + public string GetCommandPathFromRootPath(string rootPath, string commandName, IEnumerable extensions) + { + var extensionsArr = extensions.OrEmptyIfNull().ToArray(); + + return GetCommandPathFromRootPath(rootPath, commandName, extensionsArr); + } + + public string GetEnvironmentVariable(string name) + { + return Environment.GetEnvironmentVariable(name); + } + + public bool GetEnvironmentVariableAsBool(string name, bool defaultValue) + { + var str = Environment.GetEnvironmentVariable(name); + if (string.IsNullOrEmpty(str)) + { + return defaultValue; + } + + switch (str.ToLowerInvariant()) + { + case "true": + case "1": + case "yes": + return true; + case "false": + case "0": + case "no": + return false; + default: + return defaultValue; + } + } + + public string GetEnvironmentVariable(string variable, EnvironmentVariableTarget target) + { + return Environment.GetEnvironmentVariable(variable, target); + } + + public void SetEnvironmentVariable(string variable, string value, EnvironmentVariableTarget target) + { + Environment.SetEnvironmentVariable(variable, value, target); + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/ExceptionExtensions.cs b/src/mlnet/Telemetry/DotNetAppInsights/ExceptionExtensions.cs new file mode 100644 index 0000000000..03f984404c --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/ExceptionExtensions.cs @@ -0,0 +1,22 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace Microsoft.DotNet.Cli.Utils +{ + internal static class ExceptionExtensions + { + public static TException DisplayAsError(this TException exception) + where TException : Exception + { + exception.Data.Add(CLI_User_Displayed_Exception, true); + return exception; + } + + public static bool ShouldBeDisplayedAsError(this Exception e) => + e.Data.Contains(CLI_User_Displayed_Exception); + + internal const string CLI_User_Displayed_Exception = "CLI_User_Displayed_Exception"; + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/FileSystemWrapper.cs b/src/mlnet/Telemetry/DotNetAppInsights/FileSystemWrapper.cs new file mode 100644 index 0000000000..8818074310 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/FileSystemWrapper.cs @@ -0,0 +1,14 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.Extensions.EnvironmentAbstractions +{ + internal class FileSystemWrapper : IFileSystem + { + public static IFileSystem Default { get; } = new FileSystemWrapper(); + + public IFile File { get; } = new FileWrapper(); + + public IDirectory Directory { get; } = new DirectoryWrapper(); + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/FileWrapper.cs b/src/mlnet/Telemetry/DotNetAppInsights/FileWrapper.cs new file mode 100644 index 0000000000..c46f8e37ae --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/FileWrapper.cs @@ -0,0 +1,64 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; + +namespace Microsoft.Extensions.EnvironmentAbstractions +{ + internal class FileWrapper: IFile + { + public bool Exists(string path) + { + return File.Exists(path); + } + + public string ReadAllText(string path) + { + return File.ReadAllText(path); + } + + public Stream OpenRead(string path) + { + return File.OpenRead(path); + } + + public Stream OpenFile( + string path, + FileMode fileMode, + FileAccess fileAccess, + FileShare fileShare, + int bufferSize, + FileOptions fileOptions) + { + return new FileStream(path, fileMode, fileAccess, fileShare, bufferSize, fileOptions); + } + + public void CreateEmptyFile(string path) + { + using (File.Create(path)) + { + } + } + + public void WriteAllText(string path, string content) + { + File.WriteAllText(path, content); + } + + public void Move(string source, string destination) + { + File.Move(source, destination); + } + + public void Copy(string sourceFileName, string destFileName) + { + File.Copy(sourceFileName, destFileName); + } + + public void Delete(string path) + { + File.Delete(path); + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/FirstTimeUseNoticeSentinel.cs b/src/mlnet/Telemetry/DotNetAppInsights/FirstTimeUseNoticeSentinel.cs new file mode 100644 index 0000000000..0ea9dfd9dd --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/FirstTimeUseNoticeSentinel.cs @@ -0,0 +1,58 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.IO; +using Microsoft.DotNet.AutoML; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.Configurer +{ + public class FirstTimeUseNoticeSentinel : IFirstTimeUseNoticeSentinel + { + public static readonly string SENTINEL = $"{Product.Version}.MLNET.dotnetFirstUseSentinel"; + + private readonly IFile _file; + private readonly IDirectory _directory; + + private string _dotnetUserProfileFolderPath; + + private string SentinelPath => Path.Combine(_dotnetUserProfileFolderPath, SENTINEL); + + public FirstTimeUseNoticeSentinel() : + this( + CliFolderPathCalculator.DotnetUserProfileFolderPath, + FileSystemWrapper.Default.File, + FileSystemWrapper.Default.Directory) + { + } + + internal FirstTimeUseNoticeSentinel(string dotnetUserProfileFolderPath, IFile file, IDirectory directory) + { + _file = file; + _directory = directory; + _dotnetUserProfileFolderPath = dotnetUserProfileFolderPath; + } + + public bool Exists() + { + return _file.Exists(SentinelPath); + } + + public void CreateIfNotExists() + { + if (!Exists()) + { + if (!_directory.Exists(_dotnetUserProfileFolderPath)) + { + _directory.CreateDirectory(_dotnetUserProfileFolderPath); + } + + _file.CreateEmptyFile(SentinelPath); + } + } + + public void Dispose() + { + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/IDirectory.cs b/src/mlnet/Telemetry/DotNetAppInsights/IDirectory.cs new file mode 100644 index 0000000000..f6bfb38850 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/IDirectory.cs @@ -0,0 +1,26 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Collections.Generic; + +namespace Microsoft.Extensions.EnvironmentAbstractions +{ + internal interface IDirectory + { + bool Exists(string path); + + ITemporaryDirectory CreateTemporaryDirectory(); + + IEnumerable EnumerateFiles(string path); + + IEnumerable EnumerateFileSystemEntries(string path); + + string GetCurrentDirectory(); + + void CreateDirectory(string path); + + void Delete(string path, bool recursive); + + void Move(string source, string destination); + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/IEnvironmentProvider.cs b/src/mlnet/Telemetry/DotNetAppInsights/IEnvironmentProvider.cs new file mode 100644 index 0000000000..17355e4a03 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/IEnvironmentProvider.cs @@ -0,0 +1,27 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; + +namespace Microsoft.DotNet.Cli.Utils +{ + public interface IEnvironmentProvider + { + IEnumerable ExecutableExtensions { get; } + + string GetCommandPath(string commandName, params string[] extensions); + + string GetCommandPathFromRootPath(string rootPath, string commandName, params string[] extensions); + + string GetCommandPathFromRootPath(string rootPath, string commandName, IEnumerable extensions); + + bool GetEnvironmentVariableAsBool(string name, bool defaultValue); + + string GetEnvironmentVariable(string name); + + string GetEnvironmentVariable(string variable, EnvironmentVariableTarget target); + + void SetEnvironmentVariable(string variable, string value, EnvironmentVariableTarget target); + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/IFile.cs b/src/mlnet/Telemetry/DotNetAppInsights/IFile.cs new file mode 100644 index 0000000000..044297b6ef --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/IFile.cs @@ -0,0 +1,34 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.IO; + +namespace Microsoft.Extensions.EnvironmentAbstractions +{ + internal interface IFile + { + bool Exists(string path); + + string ReadAllText(string path); + + Stream OpenRead(string path); + + Stream OpenFile( + string path, + FileMode fileMode, + FileAccess fileAccess, + FileShare fileShare, + int bufferSize, + FileOptions fileOptions); + + void CreateEmptyFile(string path); + + void WriteAllText(string path, string content); + + void Move(string source, string destination); + + void Copy(string source, string destination); + + void Delete(string path); + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/IFileSentinel.cs b/src/mlnet/Telemetry/DotNetAppInsights/IFileSentinel.cs new file mode 100644 index 0000000000..f8fd8c7028 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/IFileSentinel.cs @@ -0,0 +1,14 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace Microsoft.DotNet.Configurer +{ + public interface IFileSentinel + { + bool Exists(); + + void Create(); + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/IFileSystem.cs b/src/mlnet/Telemetry/DotNetAppInsights/IFileSystem.cs new file mode 100644 index 0000000000..87e5f98631 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/IFileSystem.cs @@ -0,0 +1,11 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.Extensions.EnvironmentAbstractions +{ + internal interface IFileSystem + { + IFile File { get; } + IDirectory Directory { get; } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/IFirstTimeUseNoticeSentinel.cs b/src/mlnet/Telemetry/DotNetAppInsights/IFirstTimeUseNoticeSentinel.cs new file mode 100644 index 0000000000..c0d1878fa0 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/IFirstTimeUseNoticeSentinel.cs @@ -0,0 +1,14 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace Microsoft.DotNet.Configurer +{ + public interface IFirstTimeUseNoticeSentinel : IDisposable + { + bool Exists(); + + void CreateIfNotExists(); + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/ITelemetry.cs b/src/mlnet/Telemetry/DotNetAppInsights/ITelemetry.cs new file mode 100644 index 0000000000..3dc4143abf --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/ITelemetry.cs @@ -0,0 +1,15 @@ + +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Collections.Generic; + +namespace Microsoft.DotNet.Cli.Telemetry +{ + public interface ITelemetry + { + bool Enabled { get; } + + void TrackEvent(string eventName, IDictionary properties, IDictionary measurements); + } +} \ No newline at end of file diff --git a/src/mlnet/Telemetry/DotNetAppInsights/ITemporaryDirectory.cs b/src/mlnet/Telemetry/DotNetAppInsights/ITemporaryDirectory.cs new file mode 100644 index 0000000000..1c9bd4b759 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/ITemporaryDirectory.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace Microsoft.Extensions.EnvironmentAbstractions +{ + internal interface ITemporaryDirectory : IDisposable + { + string DirectoryPath { get; } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/IUserLevelCacheWriter.cs b/src/mlnet/Telemetry/DotNetAppInsights/IUserLevelCacheWriter.cs new file mode 100644 index 0000000000..c41b55920f --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/IUserLevelCacheWriter.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace Microsoft.DotNet.Configurer +{ + public interface IUserLevelCacheWriter + { + string RunWithCache(string cacheKey, Func getValueToCache); + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/MacAddressGetter.cs b/src/mlnet/Telemetry/DotNetAppInsights/MacAddressGetter.cs new file mode 100644 index 0000000000..1106fbdc90 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/MacAddressGetter.cs @@ -0,0 +1,168 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Linq; +using System.Diagnostics; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using System.Text.RegularExpressions; +using System.Net.NetworkInformation; +using System.ComponentModel; +using Microsoft.DotNet.Cli.Utils; + +namespace Microsoft.DotNet.Cli.Telemetry +{ + internal static class MacAddressGetter + { + private const string MacRegex = @"(?:[a-z0-9]{2}[:\-]){5}[a-z0-9]{2}"; + private const string ZeroRegex = @"(?:00[:\-]){5}00"; + private const int ErrorFileNotFound = 0x2; + public static string GetMacAddress() + { + try + { + var shelloutput = GetShellOutMacAddressOutput(); + if (shelloutput == null) + { + return null; + } + + return ParseMACAddress(shelloutput); + } + catch (Win32Exception e) + { + if (e.NativeErrorCode == ErrorFileNotFound) + { + return GetMacAddressByNetworkInterface(); + } + else + { + throw; + } + } + } + + private static string ParseMACAddress(string shelloutput) + { + string macAddress = null; + foreach (Match match in Regex.Matches(shelloutput, MacRegex, RegexOptions.IgnoreCase)) + { + if (!Regex.IsMatch(match.Value, ZeroRegex)) + { + macAddress = match.Value; + break; + } + } + + if (macAddress != null) + { + return macAddress; + } + return null; + } + + private static string GetIpCommandOutput() + { + var ipResult = new ProcessStartInfo + { + FileName = "ip", + Arguments = "link", + UseShellExecute = false + }.ExecuteAndCaptureOutput(out string ipStdOut, out string ipStdErr); + + if (ipResult == 0) + { + return ipStdOut; + } + else + { + return null; + } + } + + private static string GetShellOutMacAddressOutput() + { + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + var result = new ProcessStartInfo + { + FileName = "getmac.exe", + UseShellExecute = false + }.ExecuteAndCaptureOutput(out string stdOut, out string stdErr); + + if (result == 0) + { + return stdOut; + } + else + { + return null; + } + } + else + { + try + { + var ifconfigResult = new ProcessStartInfo + { + FileName = "ifconfig", + Arguments = "-a", + UseShellExecute = false + }.ExecuteAndCaptureOutput(out string ifconfigStdOut, out string ifconfigStdErr); + + if (ifconfigResult == 0) + { + return ifconfigStdOut; + } + else + { + return GetIpCommandOutput(); + } + } + catch (Win32Exception e) + { + if (e.NativeErrorCode == ErrorFileNotFound) + { + return GetIpCommandOutput(); + } + else + { + throw; + } + } + } + } + + private static string GetMacAddressByNetworkInterface() + { + return GetMacAddressesByNetworkInterface().FirstOrDefault(); + } + + private static List GetMacAddressesByNetworkInterface() + { + NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); + var macs = new List(); + + if (nics == null || nics.Length < 1) + { + macs.Add(string.Empty); + return macs; + } + + foreach (NetworkInterface adapter in nics) + { + IPInterfaceProperties properties = adapter.GetIPProperties(); + + PhysicalAddress address = adapter.GetPhysicalAddress(); + byte[] bytes = address.GetAddressBytes(); + macs.Add(string.Join("-", bytes.Select(x => x.ToString("X2")))); + if (macs.Count >= 10) + { + break; + } + } + return macs; + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/NativeMethods.cs b/src/mlnet/Telemetry/DotNetAppInsights/NativeMethods.cs new file mode 100644 index 0000000000..a22fcd8378 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/NativeMethods.cs @@ -0,0 +1,80 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Runtime.InteropServices; +using Microsoft.Win32.SafeHandles; + +namespace Microsoft.DotNet.Cli.Utils +{ + internal static class NativeMethods + { + internal static class Windows + { + internal enum JobObjectInfoClass : uint + { + JobObjectExtendedLimitInformation = 9, + } + + [Flags] + internal enum JobObjectLimitFlags : uint + { + JobObjectLimitKillOnJobClose = 0x2000, + } + + [StructLayout(LayoutKind.Sequential)] + internal struct JobObjectBasicLimitInformation + { + public Int64 PerProcessUserTimeLimit; + public Int64 PerJobUserTimeLimit; + public JobObjectLimitFlags LimitFlags; + public UIntPtr MinimumWorkingSetSize; + public UIntPtr MaximumWorkingSetSize; + public UInt32 ActiveProcessLimit; + public UIntPtr Affinity; + public UInt32 PriorityClass; + public UInt32 SchedulingClass; + } + + [StructLayout(LayoutKind.Sequential)] + internal struct IoCounters + { + public UInt64 ReadOperationCount; + public UInt64 WriteOperationCount; + public UInt64 OtherOperationCount; + public UInt64 ReadTransferCount; + public UInt64 WriteTransferCount; + public UInt64 OtherTransferCount; + } + + [StructLayout(LayoutKind.Sequential)] + internal struct JobObjectExtendedLimitInformation + { + public JobObjectBasicLimitInformation BasicLimitInformation; + public IoCounters IoInfo; + public UIntPtr ProcessMemoryLimit; + public UIntPtr JobMemoryLimit; + public UIntPtr PeakProcessMemoryUsed; + public UIntPtr PeakJobMemoryUsed; + } + + [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern SafeWaitHandle CreateJobObjectW(IntPtr lpJobAttributes, string lpName); + + [DllImport("kernel32.dll", SetLastError = true)] + internal static extern bool SetInformationJobObject(IntPtr hJob, JobObjectInfoClass jobObjectInformationClass, IntPtr lpJobObjectInformation, UInt32 cbJobObjectInformationLength); + + [DllImport("kernel32.dll", SetLastError = true)] + internal static extern bool AssignProcessToJobObject(IntPtr hJob, IntPtr hProcess); + } + + internal static class Posix + { + [DllImport("libc", SetLastError = true)] + internal static extern int kill(int pid, int sig); + + internal const int SIGINT = 2; + internal const int SIGTERM = 15; + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/ProcessReaper.cs b/src/mlnet/Telemetry/DotNetAppInsights/ProcessReaper.cs new file mode 100644 index 0000000000..e33f2bd658 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/ProcessReaper.cs @@ -0,0 +1,197 @@ +using System; +using System.ComponentModel; +using System.Diagnostics; +using System.Runtime.InteropServices; +using System.Threading; +using Microsoft.DotNet.PlatformAbstractions; +using Microsoft.Win32.SafeHandles; + +using RuntimeEnvironment = Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment; + +namespace Microsoft.DotNet.Cli.Utils +{ + /// + /// Responsible for reaping a target process if the current process terminates. + /// + /// + /// On Windows, a job object will be used to ensure the termination of the target + /// process (and its tree) even if the current process is rudely terminated. + /// + /// On POSIX systems, the reaper will handle SIGTERM and attempt to forward the + /// signal to the target process only. + /// + /// The reaper also suppresses SIGINT in the current process to allow the target + /// process to handle the signal. + /// + internal class ProcessReaper : IDisposable + { + /// + /// Creates a new process reaper. + /// + /// The target process to reap if the current process terminates. The process should not yet be started. + public ProcessReaper(Process process) + { + _process = process; + + // The tests need the event handlers registered prior to spawning the child to prevent a race + // where the child writes output the test expects before the intermediate dotnet process + // has registered the event handlers to handle the signals the tests will generate. + Console.CancelKeyPress += HandleCancelKeyPress; + if (RuntimeEnvironment.OperatingSystemPlatform != Platform.Windows) + { + _shutdownMutex = new Mutex(); + AppDomain.CurrentDomain.ProcessExit += HandleProcessExit; + } + } + + /// + /// Call to notify the reaper that the process has started. + /// + public void NotifyProcessStarted() + { + if (RuntimeEnvironment.OperatingSystemPlatform == Platform.Windows) + { + // Limit the use of job objects to versions of Windows that support nested jobs (i.e. Windows 8/2012 or later). + // Ideally, we would check for some new API export or OS feature instead of the OS version, + // but nested jobs are transparently implemented with respect to the Job Objects API. + // Note: Windows 8.1 and later may report as Windows 8 (see https://docs.microsoft.com/en-us/windows/desktop/sysinfo/operating-system-version). + // However, for the purpose of this check that is still sufficient. + if (Environment.OSVersion.Version.Major > 6 || + (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor >= 2)) + { + _job = AssignProcessToJobObject(_process.Handle); + } + } + } + + public void Dispose() + { + if (RuntimeEnvironment.OperatingSystemPlatform == Platform.Windows) + { + if (_job != null) + { + // Clear the kill on close flag because the child process terminated successfully + // If this fails, then we have no choice but to terminate any remaining processes in the job + SetKillOnJobClose(_job.DangerousGetHandle(), false); + + _job.Dispose(); + _job = null; + } + } + else + { + AppDomain.CurrentDomain.ProcessExit -= HandleProcessExit; + + // If there's been a shutdown via the process exit handler, + // this will block the current thread so we don't race with the CLR shutdown + // from the signal handler. + if (_shutdownMutex != null) + { + _shutdownMutex.WaitOne(); + _shutdownMutex.ReleaseMutex(); + _shutdownMutex.Dispose(); + _shutdownMutex = null; + } + } + + Console.CancelKeyPress -= HandleCancelKeyPress; + } + + private static void HandleCancelKeyPress(object sender, ConsoleCancelEventArgs e) + { + // Ignore SIGINT/SIGQUIT so that the process can handle the signal + e.Cancel = true; + } + + private static SafeWaitHandle AssignProcessToJobObject(IntPtr process) + { + var job = NativeMethods.Windows.CreateJobObjectW(IntPtr.Zero, null); + if (job == null || job.IsInvalid) + { + return null; + } + + if (!SetKillOnJobClose(job.DangerousGetHandle(), true)) + { + job.Dispose(); + return null; + } + + if (!NativeMethods.Windows.AssignProcessToJobObject(job.DangerousGetHandle(), process)) + { + job.Dispose(); + return null; + } + + return job; + } + + private void HandleProcessExit(object sender, EventArgs args) + { + int processId; + try + { + processId = _process.Id; + } + catch (InvalidOperationException) + { + // The process hasn't started yet; nothing to signal + return; + } + + // Take ownership of the shutdown mutex; this will ensure that the other + // thread also waiting on the process to exit won't complete CLR shutdown before + // this one does. + _shutdownMutex.WaitOne(); + + if (!_process.WaitForExit(0) && NativeMethods.Posix.kill(processId, NativeMethods.Posix.SIGTERM) != 0) + { + // Couldn't send the signal, don't wait + return; + } + + // If SIGTERM was ignored by the target, then we'll still wait + _process.WaitForExit(); + + Environment.ExitCode = _process.ExitCode; + } + + private static bool SetKillOnJobClose(IntPtr job, bool value) + { + var information = new NativeMethods.Windows.JobObjectExtendedLimitInformation + { + BasicLimitInformation = new NativeMethods.Windows.JobObjectBasicLimitInformation + { + LimitFlags = (value ? NativeMethods.Windows.JobObjectLimitFlags.JobObjectLimitKillOnJobClose : 0) + } + }; + + var length = Marshal.SizeOf(typeof(NativeMethods.Windows.JobObjectExtendedLimitInformation)); + var informationPtr = Marshal.AllocHGlobal(length); + + try + { + Marshal.StructureToPtr(information, informationPtr, false); + + if (!NativeMethods.Windows.SetInformationJobObject( + job, + NativeMethods.Windows.JobObjectInfoClass.JobObjectExtendedLimitInformation, + informationPtr, + (uint)length)) + { + return false; + } + + return true; + } + finally + { + Marshal.FreeHGlobal(informationPtr); + } + } + + private Process _process; + private SafeWaitHandle _job; + private Mutex _shutdownMutex; + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/ProcessStartInfoExtensions.cs b/src/mlnet/Telemetry/DotNetAppInsights/ProcessStartInfoExtensions.cs new file mode 100644 index 0000000000..075ba02391 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/ProcessStartInfoExtensions.cs @@ -0,0 +1,68 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Diagnostics; + +namespace Microsoft.DotNet.Cli.Utils +{ + internal static class ProcessStartInfoExtensions + { + public static int Execute(this ProcessStartInfo startInfo) + { + if (startInfo == null) + { + throw new ArgumentNullException(nameof(startInfo)); + } + + var process = new Process + { + StartInfo = startInfo + }; + + using (var reaper = new ProcessReaper(process)) + { + process.Start(); + reaper.NotifyProcessStarted(); + process.WaitForExit(); + } + + return process.ExitCode; + } + + public static int ExecuteAndCaptureOutput(this ProcessStartInfo startInfo, out string stdOut, out string stdErr) + { + var outStream = new StreamForwarder().Capture(); + var errStream = new StreamForwarder().Capture(); + + startInfo.RedirectStandardOutput = true; + startInfo.RedirectStandardError = true; + + var process = new Process + { + StartInfo = startInfo + }; + + process.EnableRaisingEvents = true; + + using (var reaper = new ProcessReaper(process)) + { + process.Start(); + reaper.NotifyProcessStarted(); + + var taskOut = outStream.BeginRead(process.StandardOutput); + var taskErr = errStream.BeginRead(process.StandardError); + + process.WaitForExit(); + + taskOut.Wait(); + taskErr.Wait(); + + stdOut = outStream.CapturedOutput; + stdErr = errStream.CapturedOutput; + } + + return process.ExitCode; + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/Sha256Hasher.cs b/src/mlnet/Telemetry/DotNetAppInsights/Sha256Hasher.cs new file mode 100644 index 0000000000..4999199cea --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/Sha256Hasher.cs @@ -0,0 +1,36 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Security.Cryptography; +using System.Text; +namespace Microsoft.DotNet.Cli.Telemetry +{ + internal static class Sha256Hasher + { + /// + /// The hashed mac address needs to be the same hashed value as produced by the other distinct sources given the same input. (e.g. VsCode) + /// + public static string Hash(string text) + { + var sha256 = SHA256.Create(); + return HashInFormat(sha256, text); + } + + public static string HashWithNormalizedCasing(string text) + { + return Hash(text.ToUpperInvariant()); + } + + private static string HashInFormat(SHA256 sha256, string text) + { + byte[] bytes = Encoding.UTF8.GetBytes(text); + byte[] hash = sha256.ComputeHash(bytes); + StringBuilder hashString = new StringBuilder(); + foreach (byte x in hash) + { + hashString.AppendFormat("{0:x2}", x); + } + return hashString.ToString(); + } + } +} \ No newline at end of file diff --git a/src/mlnet/Telemetry/DotNetAppInsights/StreamForwarder.cs b/src/mlnet/Telemetry/DotNetAppInsights/StreamForwarder.cs new file mode 100644 index 0000000000..e3d96d07e8 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/StreamForwarder.cs @@ -0,0 +1,133 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Microsoft.DotNet.Cli.Utils +{ + public sealed class StreamForwarder + { + private static readonly char[] s_ignoreCharacters = new char[] { '\r' }; + private static readonly char s_flushBuilderCharacter = '\n'; + + private StringBuilder _builder; + private StringWriter _capture; + private Action _writeLine; + + public string CapturedOutput + { + get + { + return _capture?.GetStringBuilder()?.ToString(); + } + } + + public StreamForwarder Capture() + { + ThrowIfCaptureSet(); + + _capture = new StringWriter(); + + return this; + } + + public StreamForwarder ForwardTo(Action writeLine) + { + ThrowIfNull(writeLine); + + ThrowIfForwarderSet(); + + _writeLine = writeLine; + + return this; + } + + public Task BeginRead(TextReader reader) + { + return Task.Run(() => Read(reader)); + } + + public void Read(TextReader reader) + { + var bufferSize = 1; + + int readCharacterCount; + char currentCharacter; + + var buffer = new char[bufferSize]; + _builder = new StringBuilder(); + + // Using Read with buffer size 1 to prevent looping endlessly + // like we would when using Read() with no buffer + while ((readCharacterCount = reader.Read(buffer, 0, bufferSize)) > 0) + { + currentCharacter = buffer[0]; + + if (currentCharacter == s_flushBuilderCharacter) + { + WriteBuilder(); + } + else if (!s_ignoreCharacters.Contains(currentCharacter)) + { + _builder.Append(currentCharacter); + } + } + + // Flush anything else when the stream is closed + // Which should only happen if someone used console.Write + WriteBuilder(); + } + + private void WriteBuilder() + { + if (_builder.Length == 0) + { + return; + } + + WriteLine(_builder.ToString()); + _builder.Clear(); + } + + private void WriteLine(string str) + { + if (_capture != null) + { + _capture.WriteLine(str); + } + + if (_writeLine != null) + { + _writeLine(str); + } + } + + private void ThrowIfNull(object obj) + { + if (obj == null) + { + throw new ArgumentNullException(nameof(obj)); + } + } + + private void ThrowIfForwarderSet() + { + if (_writeLine != null) + { + throw new InvalidOperationException("LocalizableStrings.WriteLineForwarderSetPreviously"); + } + } + + private void ThrowIfCaptureSet() + { + if (_capture != null) + { + throw new InvalidOperationException("LocalizableStrings.AlreadyCapturingStream"); + } + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/TelemetryCommonProperties.cs b/src/mlnet/Telemetry/DotNetAppInsights/TelemetryCommonProperties.cs new file mode 100644 index 0000000000..44fcf64ec9 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/TelemetryCommonProperties.cs @@ -0,0 +1,106 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using Microsoft.DotNet.AutoML; +using System.IO; +using Microsoft.DotNet.Configurer; +using RuntimeEnvironment = Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment; +using RuntimeInformation = System.Runtime.InteropServices.RuntimeInformation; + +namespace Microsoft.DotNet.Cli.Telemetry +{ + internal class TelemetryCommonProperties + { + public TelemetryCommonProperties( + Func getCurrentDirectory = null, + Func hasher = null, + Func getMACAddress = null, + IUserLevelCacheWriter userLevelCacheWriter = null) + { + _getCurrentDirectory = getCurrentDirectory ?? Directory.GetCurrentDirectory; + _hasher = hasher ?? Sha256Hasher.Hash; + _getMACAddress = getMACAddress ?? MacAddressGetter.GetMacAddress; + _userLevelCacheWriter = userLevelCacheWriter ?? new UserLevelCacheWriter(); + } + + private Func _getCurrentDirectory; + private Func _hasher; + private Func _getMACAddress; + private IUserLevelCacheWriter _userLevelCacheWriter; + private const string OSPlatform = "OS Platform"; + private const string ProductVersion = "Product Version"; + private const string TelemetryProfile = "Telemetry Profile"; + private const string MachineId = "Machine ID"; + + private const string TelemetryProfileEnvironmentVariable = "DOTNET_CLI_TELEMETRY_PROFILE"; + private const string CannotFindMacAddress = "Unknown"; + + private const string MachineIdCacheKey = "MLNET_MachineId"; + private const string IsDockerContainerCacheKey = "IsDockerContainer"; + + public Dictionary GetTelemetryCommonProperties() + { + return new Dictionary + { + {OSPlatform, RuntimeEnvironment.OperatingSystemPlatform.ToString()}, + {ProductVersion, Product.Version}, + {TelemetryProfile, Environment.GetEnvironmentVariable(TelemetryProfileEnvironmentVariable)}, + {MachineId, _userLevelCacheWriter.RunWithCache(MachineIdCacheKey, GetMachineId)} + }; + } + + private string GetMachineId() + { + var macAddress = _getMACAddress(); + if (macAddress != null) + { + return _hasher(macAddress); + } + else + { + return Guid.NewGuid().ToString(); + } + } + + /// + /// Returns a string identifying the OS kernel. + /// For Unix this currently comes from "uname -srv". + /// For Windows this currently comes from RtlGetVersion(). + /// + /// Here are some example values: + /// + /// Alpine.36 Linux 4.9.60-linuxkit-aufs #1 SMP Mon Nov 6 16:00:12 UTC 2017 + /// Centos.73 Linux 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 + /// Debian.87 Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) + /// Debian.90 Linux 4.9.0-2-amd64 #1 SMP Debian 4.9.18-1 (2017-03-30) + /// fedora.25 Linux 4.11.3-202.fc25.x86_64 #1 SMP Mon Jun 5 16:38:21 UTC 2017 + /// Fedora.26 Linux 4.14.15-200.fc26.x86_64 #1 SMP Wed Jan 24 04:26:15 UTC 2018 + /// Fedora.27 Linux 4.14.14-300.fc27.x86_64 #1 SMP Fri Jan 19 13:19:54 UTC 2018 + /// OpenSuse.423 Linux 4.4.104-39-default #1 SMP Thu Jan 4 08:11:03 UTC 2018 (7db1912) + /// RedHat.69 Linux 2.6.32-696.20.1.el6.x86_64 #1 SMP Fri Jan 12 15:07:59 EST 2018 + /// RedHat.72 Linux 3.10.0-514.21.1.el7.x86_64 #1 SMP Sat Apr 22 02:41:35 EDT 2017 + /// RedHat.73 Linux 3.10.0-514.21.1.el7.x86_64 #1 SMP Sat Apr 22 02:41:35 EDT 2017 + /// SLES.12 Linux 4.4.103-6.38-default #1 SMP Mon Dec 25 20:44:33 UTC 2017 (e4b9067) + /// suse.422 Linux 4.4.49-16-default #1 SMP Sun Feb 19 17:40:35 UTC 2017 (70e9954) + /// Ubuntu.1404 Linux 3.19.0-65-generic #73~14.04.1-Ubuntu SMP Wed Jun 29 21:05:22 UTC 2016 + /// Ubuntu.1604 Linux 4.13.0-1005-azure #7-Ubuntu SMP Mon Jan 8 21:37:36 UTC 2018 + /// Ubuntu.1604.WSL Linux 4.4.0-43-Microsoft #1-Microsoft Wed Dec 31 14:42:53 PST 2014 + /// Ubuntu.1610 Linux 4.8.0-45-generic #48-Ubuntu SMP Fri Mar 24 11:46:39 UTC 2017 + /// Ubuntu.1704 Linux 4.10.0-19-generic #21-Ubuntu SMP Thu Apr 6 17:04:57 UTC 2017 + /// Ubuntu.1710 Linux 4.13.0-25-generic #29-Ubuntu SMP Mon Jan 8 21:14:41 UTC 2018 + /// OSX1012 Darwin 16.7.0 Darwin Kernel Version 16.7.0: Thu Jan 11 22:59:40 PST 2018; root:xnu-3789.73.8~1/RELEASE_X86_64 + /// OSX1013 Darwin 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 + /// Windows.10 Microsoft Windows 10.0.14393 + /// Windows.10.Core Microsoft Windows 10.0.14393 + /// Windows.10.Nano Microsoft Windows 10.0.14393 + /// Windows.7 Microsoft Windows 6.1.7601 S + /// Windows.81 Microsoft Windows 6.3.9600 + /// + private static string GetKernelVersion() + { + return RuntimeInformation.OSDescription; + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/TemporaryDirectory.cs b/src/mlnet/Telemetry/DotNetAppInsights/TemporaryDirectory.cs new file mode 100644 index 0000000000..d43683e156 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/TemporaryDirectory.cs @@ -0,0 +1,31 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.Extensions.EnvironmentAbstractions; +using System.IO; + +namespace Microsoft.DotNet.InternalAbstractions +{ + internal class TemporaryDirectory : ITemporaryDirectory + { + public string DirectoryPath { get; } + + public TemporaryDirectory() + { + DirectoryPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); + Directory.CreateDirectory(DirectoryPath); + } + + public void Dispose() + { + try + { + Directory.Delete(DirectoryPath, true); + } + catch + { + // Ignore failures here. + } + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/ToolPackageFolderPathCalculator.cs b/src/mlnet/Telemetry/DotNetAppInsights/ToolPackageFolderPathCalculator.cs new file mode 100644 index 0000000000..4323520ddf --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/ToolPackageFolderPathCalculator.cs @@ -0,0 +1,16 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.IO; + +namespace Microsoft.DotNet.Configurer +{ + public static class ToolPackageFolderPathCalculator + { + private const string NestedToolPackageFolderName = ".store"; + public static string GetToolPackageFolderPath(string toolsShimPath) + { + return Path.Combine(toolsShimPath, NestedToolPackageFolderName); + } + } +} diff --git a/src/mlnet/Telemetry/DotNetAppInsights/UserLevelCacheWriter.cs b/src/mlnet/Telemetry/DotNetAppInsights/UserLevelCacheWriter.cs new file mode 100644 index 0000000000..b674859078 --- /dev/null +++ b/src/mlnet/Telemetry/DotNetAppInsights/UserLevelCacheWriter.cs @@ -0,0 +1,73 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; +using Microsoft.DotNet.AutoML; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.Configurer +{ + public class UserLevelCacheWriter : IUserLevelCacheWriter + { + private readonly IFile _file; + private readonly IDirectory _directory; + private string _dotnetUserProfileFolderPath; + + public UserLevelCacheWriter() : + this( + CliFolderPathCalculator.DotnetUserProfileFolderPath, + FileSystemWrapper.Default.File, + FileSystemWrapper.Default.Directory) + { + } + + public string RunWithCache(string cacheKey, Func getValueToCache) + { + var cacheFilepath = GetCacheFilePath(cacheKey); + try + { + if (!_file.Exists(cacheFilepath)) + { + if (!_directory.Exists(_dotnetUserProfileFolderPath)) + { + _directory.CreateDirectory(_dotnetUserProfileFolderPath); + } + + var runResult = getValueToCache(); + + _file.WriteAllText(cacheFilepath, runResult); + return runResult; + } + else + { + return _file.ReadAllText(cacheFilepath); + } + } + catch (Exception ex) + { + if (ex is UnauthorizedAccessException + || ex is PathTooLongException + || ex is IOException) + { + return getValueToCache(); + } + + throw; + } + + } + + internal UserLevelCacheWriter(string dotnetUserProfileFolderPath, IFile file, IDirectory directory) + { + _file = file; + _directory = directory; + _dotnetUserProfileFolderPath = dotnetUserProfileFolderPath; + } + + private string GetCacheFilePath(string cacheKey) + { + return Path.Combine(_dotnetUserProfileFolderPath, $"{Product.Version}_{cacheKey}.dotnetUserLevelCache"); + } + } +} diff --git a/src/mlnet/Telemetry/MlTelemetry.cs b/src/mlnet/Telemetry/MlTelemetry.cs new file mode 100644 index 0000000000..d6b2a03540 --- /dev/null +++ b/src/mlnet/Telemetry/MlTelemetry.cs @@ -0,0 +1,97 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using Microsoft.DotNet.Configurer; + +namespace Microsoft.DotNet.Cli.Telemetry +{ + public class MlTelemetry + { + private bool _firstTimeUse = false; + private bool _enabled = false; + private List _parameters = new List(); + private string _command; + + public void SetCommandAndParameters(string command, IEnumerable parameters) + { + if(parameters != null) + { + _parameters.AddRange(parameters); + } + + _command = command; + } + + public void LogAutoTrainMlCommand(string dataFileName, string task, long dataFileSize) + { + CheckFistTimeUse(); + + if(!_enabled) + { + return; + } + + var telemetry = new Telemetry(); + + var fileSizeBucket = Math.Ceiling(Math.Log(dataFileSize, 2)); + + var fileNameHash = string.IsNullOrEmpty(dataFileName) ? string.Empty : Sha256Hasher.Hash(dataFileName); + + var paramString = string.Join(",", _parameters); + + var propertiesToLog = new Dictionary + { + { "Command", _command }, + { "FileSizeBucket", fileSizeBucket.ToString() }, + { "FileNameHash", fileNameHash }, + { "CommandLineParametersUsed", paramString }, + { "LearningTaskType", task } + }; + + telemetry.TrackEvent("mlnet-command", propertiesToLog, new Dictionary()); + } + + private void CheckFistTimeUse() + { + using (IFirstTimeUseNoticeSentinel firstTimeUseNoticeSentinel = new FirstTimeUseNoticeSentinel()) + { + // if we're in first time use invocation and there are repeat telemetry calls, don't send telemetry + if (_firstTimeUse) + { + return; + } + + _firstTimeUse = !firstTimeUseNoticeSentinel.Exists(); + + if (_firstTimeUse) + { + Console.WriteLine( +@"Welcome to the ML.NET CLI! +-------------------------- +Learn more about ML.NET CLI: https://aka.ms/mlnet-cli +Use 'dotnet ml --help' to see available commands or visit: https://aka.ms/mlnet-cli-docs + +Telemetry +--------- +The ML.NET CLI tool collect usage data in order to help us improve your experience. +The data is anonymous and doesn't include personal information or data from your datasets. +You can opt-out of telemetry by setting the MLDOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about ML.NET CLI Tool telemetry: https://aka.ms/mlnet-cli-telemetry +"); + + firstTimeUseNoticeSentinel.CreateIfNotExists(); + + // since the user didn't yet have a chance to read the above message and decide to opt out, + // don't log any telemetry on the first invocation. + + return; + } + + _enabled = true; + } + } + } +} \ No newline at end of file diff --git a/src/mlnet/Telemetry/ProductVersion.cs b/src/mlnet/Telemetry/ProductVersion.cs new file mode 100644 index 0000000000..1c3afa4130 --- /dev/null +++ b/src/mlnet/Telemetry/ProductVersion.cs @@ -0,0 +1,19 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Reflection; + +namespace Microsoft.DotNet.AutoML +{ + public class Product + { + public static readonly string Version = GetProductVersion(); + + private static string GetProductVersion() + { + var version = typeof(Microsoft.ML.CLI.Program).GetTypeInfo().Assembly.GetCustomAttribute().Version; + + return version; + } + } +} \ No newline at end of file diff --git a/src/mlnet/Telemetry/Telemetry.cs b/src/mlnet/Telemetry/Telemetry.cs new file mode 100644 index 0000000000..71d5fda541 --- /dev/null +++ b/src/mlnet/Telemetry/Telemetry.cs @@ -0,0 +1,144 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Threading.Tasks; +using Microsoft.ApplicationInsights; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.PlatformAbstractions; + +namespace Microsoft.DotNet.Cli.Telemetry +{ + public class Telemetry : ITelemetry + { + private TelemetryClient _client = null; + private Dictionary _commonProperties = new Dictionary(); + private Task _trackEventTask = null; + + private const string InstrumentationKey = "c059917c-818d-489a-bfcb-351eaab73f2a"; + private const string MlTelemetryOptout = "MLDOTNET_CLI_TELEMETRY_OPTOUT"; + private const string MachineId = "MachineId"; + + public bool Enabled { get; } + + public Telemetry() + { + var optedOut = Env.GetEnvironmentVariableAsBool(MlTelemetryOptout, false); + + Enabled = !optedOut; + + if (!Enabled) + { + return; + } + + //initialize in task to offload to parallel thread + _trackEventTask = Task.Factory.StartNew(() => InitializeTelemetry()); + } + + public void TrackEvent( + string eventName, + IDictionary properties, + IDictionary measurements) + { + if (!Enabled) + { + return; + } + + //continue task in existing parallel thread + _trackEventTask = _trackEventTask.ContinueWith( + x => TrackEventTask(eventName, properties, measurements) + ); + } + + public void ThreadBlockingTrackEvent(string eventName, IDictionary properties, IDictionary measurements) + { + if (!Enabled) + { + return; + } + + TrackEventTask(eventName, properties, measurements); + } + + private void InitializeTelemetry() + { + try + { + _client = new TelemetryClient(); + _client.InstrumentationKey = InstrumentationKey; + _client.Context.Device.OperatingSystem = RuntimeEnvironment.OperatingSystem; + + // we don't want hostname etc to be sent in plain text. + // these need to be set to some non-empty values to override default behavior. + _client.Context.Cloud.RoleInstance = "-"; + _client.Context.Cloud.RoleName = "-"; + + _commonProperties = new TelemetryCommonProperties().GetTelemetryCommonProperties(); + } + catch (Exception e) + { + _client = null; + // we dont want to fail the tool if telemetry fails. + Debug.Fail(e.ToString()); + } + } + + private void TrackEventTask( + string eventName, + IDictionary properties, + IDictionary measurements) + { + if (_client == null) + { + return; + } + + try + { + var eventProperties = GetEventProperties(properties); + var eventMeasurements = GetEventMeasures(measurements); + + _client.TrackEvent(eventName, eventProperties, eventMeasurements); + _client.Flush(); + } + catch (Exception e) + { + Debug.Fail(e.ToString()); + } + } + + private Dictionary GetEventMeasures(IDictionary measurements) + { + Dictionary eventMeasurements = new Dictionary(); + if (measurements != null) + { + foreach (KeyValuePair measurement in measurements) + { + eventMeasurements[measurement.Key] = measurement.Value; + } + } + return eventMeasurements; + } + + private Dictionary GetEventProperties(IDictionary properties) + { + if (properties != null) + { + var eventProperties = new Dictionary(_commonProperties); + foreach (KeyValuePair property in properties) + { + eventProperties[property.Key] = property.Value; + } + return eventProperties; + } + else + { + return _commonProperties; + } + } + } +} \ No newline at end of file From 93cf2d38c9a320324773ecde40a653d19c4ed3fe Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 2 Apr 2019 10:15:33 -0700 Subject: [PATCH 188/211] Fix progress bar in linux/osx (#336) * progressbar * added progressbar and refactoring * reverted * revert sign assembly * added headers and removed exception rethrow * bug fixes and updates to UI * added friendly name printing for metric * formatting * change from task to thread * Update src/mlnet/CodeGenerator/CodeGenerationHelper.cs Co-Authored-By: srsaggam <41802116+srsaggam@users.noreply.github.com> --- .../CodeGenerator/CodeGenerationHelper.cs | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index 39c2c8e707..3a9118a497 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -93,17 +93,20 @@ public void GenerateCode() var wait = TimeSpan.FromSeconds(settings.MaxExplorationTime); using (var pbar = new FixedDurationBar(wait, "", options)) { - Task t = default; + Thread t = default; switch (taskKind) { case TaskKind.BinaryClassification: - t = Task.Run(() => binaryRunResults = automlEngine.ExploreBinaryClassificationModels(context, trainData, validationData, columnInformation, new BinaryExperimentSettings().OptimizingMetric, pbar)); + t = new Thread(() => binaryRunResults = automlEngine.ExploreBinaryClassificationModels(context, trainData, validationData, columnInformation, new BinaryExperimentSettings().OptimizingMetric, pbar)); + t.Start(); break; case TaskKind.Regression: - t = Task.Run(() => regressionRunResults = automlEngine.ExploreRegressionModels(context, trainData, validationData, columnInformation, new RegressionExperimentSettings().OptimizingMetric, pbar)); + t = new Thread(() => regressionRunResults = automlEngine.ExploreRegressionModels(context, trainData, validationData, columnInformation, new RegressionExperimentSettings().OptimizingMetric, pbar)); + t.Start(); break; case TaskKind.MulticlassClassification: - t = Task.Run(() => multiRunResults = automlEngine.ExploreMultiClassificationModels(context, trainData, validationData, columnInformation, new MulticlassExperimentSettings().OptimizingMetric, pbar)); + t = new Thread(() => multiRunResults = automlEngine.ExploreMultiClassificationModels(context, trainData, validationData, columnInformation, new MulticlassExperimentSettings().OptimizingMetric, pbar)); + t.Start(); break; default: logger.Log(LogLevel.Error, Strings.UnsupportedMlTask); @@ -111,13 +114,19 @@ public void GenerateCode() } if (!pbar.CompletedHandle.WaitOne(wait)) - Console.Error.WriteLine($"{nameof(FixedDurationBar)} did not signal {nameof(FixedDurationBar.CompletedHandle)} after {wait}"); + pbar.Message = $"{nameof(FixedDurationBar)} did not signal {nameof(FixedDurationBar.CompletedHandle)} after {wait}"; - if (t.IsCompleted == false) + if (t.IsAlive == true) { + string waitingMessage = "Waiting for the last iteration to complete ..."; string originalMessage = pbar.Message; - pbar.Message = " Waiting for the last iteration to complete ..."; - t.Wait(); + pbar.Message = waitingMessage; + t.Join(); + if (waitingMessage.Equals(pbar.Message)) + { + // Corner cases where thread was alive but has completed all iterations. + pbar.Message = originalMessage; + } } } From 6a752a5b400e45e912dd69eb01b345afc68cd27c Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin <45412678+Dmitry-A@users.noreply.github.com> Date: Tue, 2 Apr 2019 13:55:27 -0700 Subject: [PATCH 189/211] Mem leak fix (#328) * Create test.txt * Create test.txt * changes needed for benchmarking * forgot one file * merge conflict fix * fix build break * back out my version of the fix for Label column issue and fix the original fix * bogus file removal * undo SuggestedPipeline change * remove labelCol from pipeline suggester * fix build break * rename AutoML to Microsoft.ML.Auto everywhere and a shot at publishing nuget package (will probably need tweaks once I try to use the pipleline) * tweak queue in vsts-ci.yml * there is still investigation to be done but this fix works and solves memory leak problems * minor refactor --- .../ColumnInference/PurposeInference.cs | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs index 24267da512..8039ab2e83 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs @@ -47,13 +47,12 @@ private class IntermediateColumn { private readonly IDataView _data; private readonly int _columnId; - private bool _isPurposeSuggested; private ColumnPurpose _suggestedPurpose; private readonly Lazy _type; private readonly Lazy _columnName; - private object _cachedData; + private IReadOnlyList> _cachedData; - public bool IsPurposeSuggested { get { return _isPurposeSuggested; } } + public bool IsPurposeSuggested { get; private set; } public ColumnPurpose SuggestedPurpose { @@ -61,7 +60,7 @@ public ColumnPurpose SuggestedPurpose set { _suggestedPurpose = value; - _isPurposeSuggested = true; + IsPurposeSuggested = true; } } @@ -83,26 +82,30 @@ public Column GetColumn() return new Column(_columnId, _suggestedPurpose); } - public T[] GetData() + public IReadOnlyList> GetColumnData() { - if (_cachedData is T[]) - return _cachedData as T[]; + if (_cachedData != null) + return _cachedData; + + var results = new List>(); - var results = new List(); using (var cursor = _data.GetRowCursor(new[] { _data.Schema[_columnId] })) { - var getter = cursor.GetGetter(_columnId); + var getter = cursor.GetGetter>(_columnId); while (cursor.MoveNext()) { - T value = default(T); + var value = default(ReadOnlyMemory); getter(ref value); - results.Add(value); + + var copy = new ReadOnlyMemory(value.ToArray()); + + results.Add(copy); } } - T[] resultArray; - _cachedData = resultArray = results.ToArray(); - return resultArray; + _cachedData = results; + + return results; } } @@ -117,7 +120,8 @@ public void Apply(IntermediateColumn[] columns) { if (column.IsPurposeSuggested || !column.Type.IsText()) continue; - var data = column.GetData>(); + + var data = column.GetColumnData(); long sumLength = 0; int sumSpaces = 0; @@ -140,11 +144,11 @@ public void Apply(IntermediateColumn[] columns) } } - if (imagePathCount < data.Length - 1) + if (imagePathCount < data.Count - 1) { - Double avgLength = 1.0 * sumLength / data.Length; - Double cardinalityRatio = 1.0 * seen.Count / data.Length; - Double avgSpaces = 1.0 * sumSpaces / data.Length; + Double avgLength = 1.0 * sumLength / data.Count; + Double cardinalityRatio = 1.0 * seen.Count / data.Count; + Double avgSpaces = 1.0 * sumSpaces / data.Count; if (cardinalityRatio < 0.7) column.SuggestedPurpose = ColumnPurpose.CategoricalFeature; // (note: the columns.Count() == 1 condition below, in case a dataset has only @@ -218,7 +222,7 @@ public void Apply(IntermediateColumn[] columns) private static IEnumerable GetExperts() { // Each of the experts respects the decisions of all the experts above. - + // Single-value text columns may be category, name, text or ignore. yield return new Experts.TextClassification(); // Vector-value text columns are always treated as text. @@ -248,7 +252,7 @@ public static PurposeInference.Column[] InferPurposes(MLContext context, IDataVi var column = data.Schema[i]; IntermediateColumn intermediateCol; - if(column.IsHidden) + if (column.IsHidden) { intermediateCol = new IntermediateColumn(data, i, ColumnPurpose.Ignore); allColumns.Add(intermediateCol); @@ -256,7 +260,7 @@ public static PurposeInference.Column[] InferPurposes(MLContext context, IDataVi } var columnPurpose = columnInfo.GetColumnPurpose(column.Name); - if(columnPurpose == null) + if (columnPurpose == null) { intermediateCol = new IntermediateColumn(data, i); columnsToInfer.Add(intermediateCol); From f9d547b301ea973fe820bc8d5752789abcc5b8bc Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 3 Apr 2019 11:31:37 -0700 Subject: [PATCH 190/211] Upgrade ML.NET package (#343) --- .../API/BinaryClassificationExperiment.cs | 9 +- src/Microsoft.ML.Auto/API/ColumnInference.cs | 2 +- .../API/MulticlassClassificationExperiment.cs | 29 +++-- .../API/RegressionExperiment.cs | 5 +- src/Microsoft.ML.Auto/AutoMlUtils.cs | 4 +- .../ColumnInference/ColumnInformationUtil.cs | 7 +- .../ColumnInference/ColumnTypeInference.cs | 10 +- .../ColumnInference/PurposeInference.cs | 9 +- .../ColumnInference/TextFileContents.cs | 5 +- .../DatasetDimensions/DatasetDimensionsApi.cs | 8 +- .../DatasetDimensionsUtil.cs | 19 ++- .../EstimatorExtensions.cs | 22 ++-- .../Experiment/Experiment.cs | 12 +- .../MetricsAgents/BinaryMetricsAgent.cs | 8 +- .../MetricsAgents/MultiMetricsAgent.cs | 14 +-- .../MetricsAgents/RegressionMetricsAgent.cs | 12 +- .../Experiment/ModelContainer.cs | 7 +- .../Microsoft.ML.Auto.csproj | 6 +- .../PipelineSuggesters/PipelineSuggester.cs | 2 +- src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs | 30 +++-- .../BinaryTrainerExtensions.cs | 60 +++++----- .../MultiTrainerExtensions.cs | 56 ++++----- .../RegressionTrainerExtensions.cs | 48 ++++---- .../TrainerExtensions/SweepableParams.cs | 77 ++++++------ .../TrainerExtensionCatalog.cs | 44 +++---- .../TrainerExtensions/TrainerExtensionUtil.cs | 113 +++++++++--------- .../TransformInference/TransformInference.cs | 1 - .../TransformInferenceApi.cs | 2 +- .../TransformPostTrainerInference.cs | 1 - .../MLNetUtils/AnnotationBuilderExtensions.cs | 5 +- .../Utils/MLNetUtils/ArrayDataViewBuilder.cs | 43 ++++--- .../Utils/MLNetUtils/ColumnTypeExtensions.cs | 14 +-- .../Utils/MLNetUtils/Contracts.cs | 1 + .../Utils/MLNetUtils/DataKindExtensions.cs | 1 - .../Utils/MLNetUtils/DefaultColumnNames.cs | 23 ++++ .../Utils/MLNetUtils/RootCursorBase.cs | 2 +- .../Utils/MLNetUtils/RowCursorUtils.cs | 1 - .../Utils/UserInputValidationUtil.cs | 5 +- src/Samples/AdvancedExperimentSettings.cs | 1 - src/Samples/AdvancedTrainingSettings.cs | 3 +- src/Samples/AutoTrainBinaryClassification.cs | 5 +- .../AutoTrainMulticlassClassification.cs | 15 ++- src/Samples/AutoTrainRegression.cs | 7 +- src/Samples/Cancellation.cs | 1 - src/Samples/Helpers/ConsoleHelper.cs | 2 +- src/Samples/InferColumns.cs | 5 +- src/Samples/ObserveProgress.cs | 3 +- src/Samples/RefitBestModel.cs | 6 +- src/Test/AutoFitTests.cs | 3 +- src/Test/ColumnInferenceTests.cs | 10 +- src/Test/ColumnInformationUtilTests.cs | 2 +- src/Test/DatasetDimensionsTests.cs | 5 +- src/Test/DatasetUtil.cs | 1 - src/Test/InferredPipelineTests.cs | 8 +- src/Test/MetricsAgentsTests.cs | 4 +- src/Test/MetricsUtil.cs | 4 +- src/Test/PurposeInferenceTests.cs | 3 +- src/Test/TrainerExtensionsTests.cs | 59 +++++---- src/Test/TransformInferenceTests.cs | 11 +- .../TransformPostTrainerInferenceTests.cs | 3 +- src/Test/UserInputValidationTests.cs | 1 - src/Test/Util.cs | 1 - src/Test/Utils/MLNetUtils/EmptyDataView.cs | 18 ++- src/Test/Utils/MLNetUtils/MLNetUtils.cs | 1 - .../ConsoleCodeGeneratorTests.cs | 1 + src/mlnet.Test/DatasetUtil.cs | 2 - src/mlnet.Test/TrainerGeneratorTests.cs | 1 + src/mlnet/AutoML/AutoMLEngine.cs | 3 +- src/mlnet/AutoML/IAutoMLEngine.cs | 6 +- .../CSharp/TrainerGeneratorFactory.cs | 16 +-- .../CodeGenerator/CodeGenerationHelper.cs | 5 +- src/mlnet/Utilities/ConsolePrinter.cs | 10 +- src/mlnet/Utilities/ProgressHandlers.cs | 12 +- src/mlnet/Utilities/Utils.cs | 11 +- 74 files changed, 506 insertions(+), 460 deletions(-) create mode 100644 src/Microsoft.ML.Auto/Utils/MLNetUtils/DefaultColumnNames.cs diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index 533962fdcc..25c4bd0f19 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -37,10 +36,10 @@ public enum BinaryClassificationTrainer FastTree, LightGbm, LinearSupportVectorMachines, - LogisticRegression, - StochasticDualCoordinateAscent, - StochasticGradientDescent, - SymbolicStochasticGradientDescent, + LbfgsLogisticRegression, + SdcaLogisticRegression, + SgdCalibrated, + SymbolicSgdLogisticRegression, } public sealed class BinaryClassificationExperiment diff --git a/src/Microsoft.ML.Auto/API/ColumnInference.cs b/src/Microsoft.ML.Auto/API/ColumnInference.cs index 5338656937..f01febe3d0 100644 --- a/src/Microsoft.ML.Auto/API/ColumnInference.cs +++ b/src/Microsoft.ML.Auto/API/ColumnInference.cs @@ -17,7 +17,7 @@ public sealed class ColumnInferenceResults public sealed class ColumnInformation { public string LabelColumn { get; set; } = DefaultColumnNames.Label; - public string WeightColumn { get; set; } + public string ExampleWeightColumn { get; set; } public string SamplingKeyColumn { get; set; } public ICollection CategoricalColumns { get; } = new Collection(); public ICollection NumericColumns { get; } = new Collection(); diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index c5050613ea..44adb06cbd 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -15,7 +14,7 @@ public sealed class MulticlassExperimentSettings : ExperimentSettings public MulticlassClassificationMetric OptimizingMetric { get; set; } = MulticlassClassificationMetric.MicroAccuracy; public ICollection Trainers { get; } = Enum.GetValues(typeof(MulticlassClassificationTrainer)).OfType().ToList(); - public IProgress> ProgressHandler { get; set; } + public IProgress> ProgressHandler { get; set; } } public enum MulticlassClassificationMetric @@ -34,11 +33,11 @@ public enum MulticlassClassificationTrainer FastTreeOVA, LightGbm, LinearSupportVectorMachinesOVA, - LogisticRegression, - LogisticRegressionOVA, - StochasticDualCoordinateAscent, - StochasticGradientDescentOVA, - SymbolicStochasticGradientDescentOVA, + LbfgsMaximumEntropy, + LbfgsLogisticRegressionOVA, + SdcaMaximumEntropy, + SgdCalibratedOVA, + SymbolicSgdLogisticRegressionOVA, } public sealed class MulticlassClassificationExperiment @@ -52,7 +51,7 @@ internal MulticlassClassificationExperiment(MLContext context, MulticlassExperim _settings = settings; } - public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, + public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, string samplingKeyColumn = null, IEstimator preFeaturizers = null) { var columnInformation = new ColumnInformation() @@ -63,28 +62,28 @@ public IEnumerable> Execute(IDataView tra return Execute(_context, trainData, columnInformation, null, preFeaturizers); } - public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) + public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) { return Execute(_context, trainData, columnInformation, null, preFeaturizers); } - public IEnumerable> Execute(IDataView trainData, IDataView validationData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizers = null) + public IEnumerable> Execute(IDataView trainData, IDataView validationData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizers = null) { var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); } - public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) + public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) { return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); } - internal IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) + internal IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) { throw new NotImplementedException(); } - internal IEnumerable> Execute(MLContext context, + internal IEnumerable> Execute(MLContext context, IDataView trainData, ColumnInformation columnInfo, IDataView validationData = null, @@ -94,7 +93,7 @@ internal IEnumerable> Execute(MLContext c UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, columnInfo, validationData); // run autofit & get all pipelines run in that process - var experiment = new Experiment(context, TaskKind.MulticlassClassification, trainData, + var experiment = new Experiment(context, TaskKind.MulticlassClassification, trainData, columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), _settings.ProgressHandler, _settings, new MultiMetricsAgent(_settings.OptimizingMetric), TrainerExtensionUtil.GetTrainerNames(_settings.Trainers)); @@ -105,7 +104,7 @@ internal IEnumerable> Execute(MLContext c public static class MulticlassExperimentResultExtensions { - public static RunResult Best(this IEnumerable> results, MulticlassClassificationMetric metric = MulticlassClassificationMetric.MicroAccuracy) + public static RunResult Best(this IEnumerable> results, MulticlassClassificationMetric metric = MulticlassClassificationMetric.MicroAccuracy) { var metricsAgent = new MultiMetricsAgent(metric); return RunResultUtil.GetBestRunResult(results, metricsAgent); diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index 0f0798c213..7a8bb9f892 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -33,8 +32,8 @@ public enum RegressionTrainer FastTreeTweedie, LightGbm, OnlineGradientDescent, - OrdinaryLeastSquares, - PoissonRegression, + Ols, + LbfgsPoissonRegression, StochasticDualCoordinateAscent, } diff --git a/src/Microsoft.ML.Auto/AutoMlUtils.cs b/src/Microsoft.ML.Auto/AutoMlUtils.cs index ffde30ebff..0c23a7a640 100644 --- a/src/Microsoft.ML.Auto/AutoMlUtils.cs +++ b/src/Microsoft.ML.Auto/AutoMlUtils.cs @@ -4,7 +4,7 @@ using System; using System.Threading; -using Microsoft.Data.DataView; +using Microsoft.ML.Data; namespace Microsoft.ML.Auto { @@ -30,7 +30,7 @@ public static (IDataView testData, IDataView validationData) TestValidateSplit(t MLContext context, IDataView trainData, ColumnInformation columnInfo) { IDataView validationData; - var splitData = catalog.TrainTestSplit(trainData, samplingKeyColumn: columnInfo.SamplingKeyColumn); + var splitData = context.Data.TrainTestSplit(trainData, samplingKeyColumnName: columnInfo.SamplingKeyColumn); trainData = splitData.TrainSet; validationData = splitData.TestSet; trainData = trainData.DropLastColumn(context); diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs index 67ee0959e2..186db41ff5 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs @@ -2,10 +2,9 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; using System.Collections.Generic; using System.Linq; -using Microsoft.Data.DataView; +using Microsoft.ML.Data; namespace Microsoft.ML.Auto { @@ -18,7 +17,7 @@ internal static class ColumnInformationUtil return ColumnPurpose.Label; } - if (columnName == columnInfo.WeightColumn) + if (columnName == columnInfo.ExampleWeightColumn) { return ColumnPurpose.Weight; } @@ -63,7 +62,7 @@ internal static ColumnInformation BuildColumnInfo(IEnumerable<(string name, Colu columnInfo.LabelColumn = column.name; break; case ColumnPurpose.Weight: - columnInfo.WeightColumn = column.name; + columnInfo.ExampleWeightColumn = column.name; break; case ColumnPurpose.SamplingKey: columnInfo.SamplingKeyColumn = column.name; diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs index 806ea1c52e..760ea0bc4a 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnTypeInference.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; -using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -272,16 +271,15 @@ private static InferenceResult InferTextFileColumnTypesCore(MLContext context, I var data = new List[]>(); using (var cursor = idv.GetRowCursor(idv.Schema)) { - var column = cursor.Schema.GetColumnOrNull("C"); - int columnIndex = column.Value.Index; - var colType = column.Value.Type; + var column = cursor.Schema.GetColumnOrNull("C").Value; + var colType = column.Type; ValueGetter>> vecGetter = null; ValueGetter> oneGetter = null; bool isVector = colType.IsVector(); - if (isVector) { vecGetter = cursor.GetGetter>>(columnIndex); } + if (isVector) { vecGetter = cursor.GetGetter>>(column); } else { - oneGetter = cursor.GetGetter>(columnIndex); + oneGetter = cursor.GetGetter>(column); } VBuffer> line = default; diff --git a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs index 8039ab2e83..4cdf1e5411 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/PurposeInference.cs @@ -5,8 +5,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text.RegularExpressions; -using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -88,10 +86,11 @@ public IReadOnlyList> GetColumnData() return _cachedData; var results = new List>(); - - using (var cursor = _data.GetRowCursor(new[] { _data.Schema[_columnId] })) + var column = _data.Schema[_columnId]; + + using (var cursor = _data.GetRowCursor(new[] { column })) { - var getter = cursor.GetGetter>(_columnId); + var getter = cursor.GetGetter>(column); while (cursor.MoveNext()) { var value = default(ReadOnlyMemory); diff --git a/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs b/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs index 099fda23d7..9fed93d27a 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/TextFileContents.cs @@ -89,11 +89,10 @@ private static bool TryParseFile(MLContext context, TextLoader.Options options, var idv = context.Data.TakeRows(textLoader.Load(source), 1000); var columnCounts = new List(); var column = idv.Schema["C"]; - var columnIndex = column.Index; - using (var cursor = idv.GetRowCursor(new[] { idv.Schema[columnIndex] })) + using (var cursor = idv.GetRowCursor(new[] { column })) { - var getter = cursor.GetGetter>>(columnIndex); + var getter = cursor.GetGetter>>(column); VBuffer> line = default; while (cursor.MoveNext()) diff --git a/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs b/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs index a9118799a8..22cadf7a11 100644 --- a/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs +++ b/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Microsoft.Data.DataView; +using Microsoft.ML.Data; namespace Microsoft.ML.Auto { @@ -30,15 +30,15 @@ public static ColumnDimensions[] CalcColumnDimensions(MLContext context, IDataVi // If categorical text feature, calculate cardinality if (itemType.IsText() && purpose.Purpose == ColumnPurpose.CategoricalFeature) { - cardinality = DatasetDimensionsUtil.GetTextColumnCardinality(data, i); + cardinality = DatasetDimensionsUtil.GetTextColumnCardinality(data, column); } // If numeric feature, discover missing values if (itemType == NumberDataViewType.Single) { hasMissing = column.Type.IsVector() ? - DatasetDimensionsUtil.HasMissingNumericVector(data, i) : - DatasetDimensionsUtil.HasMissingNumericSingleValue(data, i); + DatasetDimensionsUtil.HasMissingNumericVector(data, column) : + DatasetDimensionsUtil.HasMissingNumericSingleValue(data, column); } colDimensions[i] = new ColumnDimensions(cardinality, hasMissing); diff --git a/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsUtil.cs b/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsUtil.cs index 65b9942527..c09e50a5cc 100644 --- a/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsUtil.cs +++ b/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsUtil.cs @@ -4,19 +4,18 @@ using System; using System.Collections.Generic; -using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto { internal static class DatasetDimensionsUtil { - public static int GetTextColumnCardinality(IDataView data, int colIndex) + public static int GetTextColumnCardinality(IDataView data, DataViewSchema.Column column) { var seen = new HashSet(); - using (var cursor = data.GetRowCursor(new[] { data.Schema[colIndex] })) + using (var cursor = data.GetRowCursor(new[] { column })) { - var getter = cursor.GetGetter>(colIndex); + var getter = cursor.GetGetter>(column); while (cursor.MoveNext()) { var value = default(ReadOnlyMemory); @@ -28,11 +27,11 @@ public static int GetTextColumnCardinality(IDataView data, int colIndex) return seen.Count; } - public static bool HasMissingNumericSingleValue(IDataView data, int colIndex) + public static bool HasMissingNumericSingleValue(IDataView data, DataViewSchema.Column column) { - using (var cursor = data.GetRowCursor(new[] { data.Schema[colIndex] })) + using (var cursor = data.GetRowCursor(new[] { column })) { - var getter = cursor.GetGetter(colIndex); + var getter = cursor.GetGetter(column); var value = default(Single); while (cursor.MoveNext()) { @@ -46,11 +45,11 @@ public static bool HasMissingNumericSingleValue(IDataView data, int colIndex) } } - public static bool HasMissingNumericVector(IDataView data, int colIndex) + public static bool HasMissingNumericVector(IDataView data, DataViewSchema.Column column) { - using (var cursor = data.GetRowCursor(new[] { data.Schema[colIndex] })) + using (var cursor = data.GetRowCursor(new[] { column })) { - var getter = cursor.GetGetter>(colIndex); + var getter = cursor.GetGetter>(column); var value = default(VBuffer); while (cursor.MoveNext()) { diff --git a/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs b/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs index 3e9f5c386b..573e24d932 100644 --- a/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs +++ b/src/Microsoft.ML.Auto/EstimatorExtensions/EstimatorExtensions.cs @@ -87,10 +87,10 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) { - var pairs = new ColumnOptions[inColumns.Length]; + var pairs = new InputOutputColumnPair[inColumns.Length]; for (var i = 0; i < inColumns.Length; i++) { - var pair = (outColumns[i], inColumns[i]); + var pair = new InputOutputColumnPair(outColumns[i], inColumns[i]); pairs[i] = pair; } return context.Transforms.IndicateMissingValues(pairs); @@ -114,10 +114,10 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) { - var pairs = new MissingValueReplacingEstimator.ColumnOptions[inColumns.Length]; + var pairs = new InputOutputColumnPair[inColumns.Length]; for (var i = 0; i < inColumns.Length; i++) { - var pair = new MissingValueReplacingEstimator.ColumnOptions(outColumns[i], inColumns[i]); + var pair = new InputOutputColumnPair(outColumns[i], inColumns[i]); pairs[i] = pair; } return context.Transforms.ReplaceMissingValues(pairs); @@ -141,7 +141,7 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string inColumn, string outColumn) { - return context.Transforms.Normalize(outColumn, inColumn); + return context.Transforms.NormalizeMinMax(outColumn, inColumn); } } @@ -162,10 +162,10 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str public static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) { - var cols = new OneHotEncodingEstimator.ColumnOptions[inColumns.Length]; + var cols = new InputOutputColumnPair[inColumns.Length]; for (var i = 0; i < cols.Length; i++) { - cols[i] = new OneHotEncodingEstimator.ColumnOptions(outColumns[i], inColumns[i]); + cols[i] = new InputOutputColumnPair(outColumns[i], inColumns[i]); } return context.Transforms.Categorical.OneHotEncoding(cols); } @@ -193,10 +193,10 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) { - var cols = new OneHotHashEncodingEstimator.ColumnOptions[inColumns.Length]; + var cols = new InputOutputColumnPair[inColumns.Length]; for (var i = 0; i < cols.Length; i++) { - cols[i] = new OneHotHashEncodingEstimator.ColumnOptions(outColumns[i], inColumns[i]); + cols[i] = new InputOutputColumnPair(outColumns[i], inColumns[i]); } return context.Transforms.Categorical.OneHotHashEncoding(cols); } @@ -240,10 +240,10 @@ public static SuggestedTransform CreateSuggestedTransform(MLContext context, str private static IEstimator CreateInstance(MLContext context, string[] inColumns, string[] outColumns) { - var cols = new TypeConvertingEstimator.ColumnOptions[inColumns.Length]; + var cols = new InputOutputColumnPair[inColumns.Length]; for (var i = 0; i < cols.Length; i++) { - cols[i] = new TypeConvertingEstimator.ColumnOptions(outColumns[i], DataKind.Single, inColumns[i]); + cols[i] = new InputOutputColumnPair(outColumns[i], inColumns[i]); } return context.Transforms.Conversion.ConvertType(cols); } diff --git a/src/Microsoft.ML.Auto/Experiment/Experiment.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs index e8e200d7eb..87c5b279b7 100644 --- a/src/Microsoft.ML.Auto/Experiment/Experiment.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -7,8 +7,6 @@ using System.Diagnostics; using System.IO; using System.Linq; -using System.Text; -using Microsoft.Data.DataView; namespace Microsoft.ML.Auto { @@ -25,6 +23,7 @@ internal class Experiment where T : class private readonly IMetricsAgent _metricsAgent; private readonly IEnumerable _trainerWhitelist; private readonly DirectoryInfo _modelDirectory; + private readonly DataViewSchema _trainDataOriginalSchema; private IDataView _trainData; private IDataView _validationData; @@ -50,6 +49,7 @@ public Experiment(MLContext context, } _trainData = trainData; _validationData = validationData; + _trainDataOriginalSchema = _trainData.Schema; _history = new List>(); _columnInfo = columnInfo; @@ -203,7 +203,7 @@ private SuggestedPipelineResult ProcessPipeline(SuggestedPipeline pipeline) var modelFileInfo = GetNextModelFileInfo(); var modelContainer = modelFileInfo == null ? new ModelContainer(_context, model) : - new ModelContainer(_context, modelFileInfo, model); + new ModelContainer(_context, modelFileInfo, model, _trainDataOriginalSchema); runResult = new SuggestedPipelineResult(metrics, estimator, modelContainer, pipeline, score, null); } @@ -225,11 +225,11 @@ private T GetEvaluatedMetrics(IDataView scoredData) switch(_task) { case TaskKind.BinaryClassification: - return _context.BinaryClassification.EvaluateNonCalibrated(scoredData, label: _columnInfo.LabelColumn) as T; + return _context.BinaryClassification.EvaluateNonCalibrated(scoredData, labelColumnName: _columnInfo.LabelColumn) as T; case TaskKind.MulticlassClassification: - return _context.MulticlassClassification.Evaluate(scoredData, label: _columnInfo.LabelColumn) as T; + return _context.MulticlassClassification.Evaluate(scoredData, labelColumnName: _columnInfo.LabelColumn) as T; case TaskKind.Regression: - return _context.Regression.Evaluate(scoredData, label: _columnInfo.LabelColumn) as T; + return _context.Regression.Evaluate(scoredData, labelColumnName: _columnInfo.LabelColumn) as T; // should not be possible to reach here default: throw new InvalidOperationException($"unsupported machine learning task type {_task}"); diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs index 7504f7c518..eff0219206 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs @@ -27,9 +27,9 @@ public double GetScore(BinaryClassificationMetrics metrics) case BinaryClassificationMetric.Accuracy: return metrics.Accuracy; case BinaryClassificationMetric.AreaUnderRocCurve: - return metrics.Auc; + return metrics.AreaUnderRocCurve; case BinaryClassificationMetric.AreaUnderPrecisionRecallCurve: - return metrics.Auprc; + return metrics.AreaUnderPrecisionRecallCurve; case BinaryClassificationMetric.F1Score: return metrics.F1Score; case BinaryClassificationMetric.NegativePrecision: @@ -57,9 +57,9 @@ public bool IsModelPerfect(BinaryClassificationMetrics metrics) case BinaryClassificationMetric.Accuracy: return metrics.Accuracy == 1; case BinaryClassificationMetric.AreaUnderRocCurve: - return metrics.Auc == 1; + return metrics.AreaUnderRocCurve == 1; case BinaryClassificationMetric.AreaUnderPrecisionRecallCurve: - return metrics.Auprc == 1; + return metrics.AreaUnderPrecisionRecallCurve == 1; case BinaryClassificationMetric.F1Score: return metrics.F1Score == 1; case BinaryClassificationMetric.NegativePrecision: diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs index 000130f3e4..2519f49e01 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs @@ -6,7 +6,7 @@ namespace Microsoft.ML.Auto { - internal class MultiMetricsAgent : IMetricsAgent + internal class MultiMetricsAgent : IMetricsAgent { private readonly MulticlassClassificationMetric _optimizingMetric; @@ -15,7 +15,7 @@ public MultiMetricsAgent(MulticlassClassificationMetric optimizingMetric) this._optimizingMetric = optimizingMetric; } - public double GetScore(MultiClassClassifierMetrics metrics) + public double GetScore(MulticlassClassificationMetrics metrics) { if (metrics == null) { @@ -25,9 +25,9 @@ public double GetScore(MultiClassClassifierMetrics metrics) switch (_optimizingMetric) { case MulticlassClassificationMetric.MacroAccuracy: - return metrics.AccuracyMacro; + return metrics.MacroAccuracy; case MulticlassClassificationMetric.MicroAccuracy: - return metrics.AccuracyMicro; + return metrics.MicroAccuracy; case MulticlassClassificationMetric.LogLoss: return metrics.LogLoss; case MulticlassClassificationMetric.LogLossReduction: @@ -39,7 +39,7 @@ public double GetScore(MultiClassClassifierMetrics metrics) } } - public bool IsModelPerfect(MultiClassClassifierMetrics metrics) + public bool IsModelPerfect(MulticlassClassificationMetrics metrics) { if (metrics == null) { @@ -49,9 +49,9 @@ public bool IsModelPerfect(MultiClassClassifierMetrics metrics) switch (_optimizingMetric) { case MulticlassClassificationMetric.MacroAccuracy: - return metrics.AccuracyMacro == 1; + return metrics.MacroAccuracy == 1; case MulticlassClassificationMetric.MicroAccuracy: - return metrics.AccuracyMicro == 1; + return metrics.MicroAccuracy == 1; case MulticlassClassificationMetric.LogLoss: return metrics.LogLoss == 0; case MulticlassClassificationMetric.LogLossReduction: diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs index bf2cd28631..47d760d61a 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs @@ -25,11 +25,11 @@ public double GetScore(RegressionMetrics metrics) switch (_optimizingMetric) { case RegressionMetric.MeanAbsoluteError: - return metrics.L1; + return metrics.MeanAbsoluteError; case RegressionMetric.MeanSquaredError: - return metrics.L2; + return metrics.MeanSquaredError; case RegressionMetric.RootMeanSquaredError: - return metrics.Rms; + return metrics.RootMeanSquaredError; case RegressionMetric.RSquared: return metrics.RSquared; default: @@ -47,11 +47,11 @@ public bool IsModelPerfect(RegressionMetrics metrics) switch (_optimizingMetric) { case RegressionMetric.MeanAbsoluteError: - return metrics.L1 == 0; + return metrics.MeanAbsoluteError == 0; case RegressionMetric.MeanSquaredError: - return metrics.L2 == 0; + return metrics.MeanSquaredError == 0; case RegressionMetric.RootMeanSquaredError: - return metrics.Rms == 0; + return metrics.RootMeanSquaredError == 0; case RegressionMetric.RSquared: return metrics.RSquared == 1; default: diff --git a/src/Microsoft.ML.Auto/Experiment/ModelContainer.cs b/src/Microsoft.ML.Auto/Experiment/ModelContainer.cs index c68a97211d..775471fdfe 100644 --- a/src/Microsoft.ML.Auto/Experiment/ModelContainer.cs +++ b/src/Microsoft.ML.Auto/Experiment/ModelContainer.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System.IO; -using Microsoft.ML.Data; namespace Microsoft.ML.Auto { @@ -19,7 +18,7 @@ internal ModelContainer(MLContext mlContext, ITransformer model) _model = model; } - internal ModelContainer(MLContext mlContext, FileInfo fileInfo, ITransformer model) + internal ModelContainer(MLContext mlContext, FileInfo fileInfo, ITransformer model, DataViewSchema modelInputSchema) { _mlContext = mlContext; _fileInfo = fileInfo; @@ -27,7 +26,7 @@ internal ModelContainer(MLContext mlContext, FileInfo fileInfo, ITransformer mod // Write model to disk using (var fs = File.Create(fileInfo.FullName)) { - model.SaveTo(mlContext, fs); + _mlContext.Model.Save(model, modelInputSchema, fs); } } @@ -43,7 +42,7 @@ public ITransformer GetModel() ITransformer model; using (var stream = new FileStream(_fileInfo.FullName, FileMode.Open, FileAccess.Read, FileShare.Read)) { - model = _mlContext.Model.Load(stream); + model = _mlContext.Model.Load(stream, out var modelInputSchema); } return model; } diff --git a/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj b/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj index d1be5c3037..ba1bbdecea 100644 --- a/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj +++ b/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj @@ -8,9 +8,9 @@ - - - + + + diff --git a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs index 464b998093..236de3fcdb 100644 --- a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs +++ b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; -using Microsoft.Data.DataView; +using Microsoft.ML.Data; namespace Microsoft.ML.Auto { diff --git a/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs b/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs index 36cbc6be74..381d40ed1c 100644 --- a/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs +++ b/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; -using Microsoft.Data.DataView; +using System.Reflection; using Microsoft.ML.Data; using Microsoft.ML.Trainers.FastTree; using Float = System.Single; @@ -113,11 +113,11 @@ private FastForestRegressionModelParameters FitModel(IEnumerable pre // Set relevant random forest arguments. // Train random forest. - var trainer = _context.Regression.Trainers.FastForest(new FastForestRegression.Options() + var trainer = _context.Regression.Trainers.FastForest(new FastForestRegressionTrainer.Options() { FeatureFraction = _args.SplitRatio, - NumTrees = _args.NumOfTrees, - MinDocumentsInLeafs = _args.NMinForSplit + NumberOfTrees = _args.NumOfTrees, + MinimumExampleCountPerLeaf = _args.NMinForSplit }); var predictor = trainer.Fit(data).Model; @@ -321,9 +321,8 @@ private double[][] GetForestRegressionLeafValues(FastForestRegressionModelParame { Float[] transformedParams = SweeperProbabilityUtils.ParameterSetAsFloatArray(_sweepParameters, config, true); VBuffer features = new VBuffer(transformedParams.Length, transformedParams); - List path = null; - var leafId = forest.GetLeaf(treeId, features, ref path); - var leafValue = forest.GetLeafValue(treeId, leafId); + var leafId = GetLeaf(forest, treeId, features); + var leafValue = GetLeafValue(forest, treeId, leafId); leafValues.Add(leafValue); } datasetLeafValues.Add(leafValues.ToArray()); @@ -331,6 +330,23 @@ private double[][] GetForestRegressionLeafValues(FastForestRegressionModelParame return datasetLeafValues.ToArray(); } + // Todo: Remove the reflection below for TreeTreeEnsembleModelParameters methods GetLeaf and GetLeafValue. + // Long-term, replace with tree featurizer once it becomes available + // Tracking issue -- https://github.com/dotnet/machinelearning-automl/issues/342 + private static MethodInfo GetLeafMethod = typeof(TreeEnsembleModelParameters).GetMethod("GetLeaf", BindingFlags.NonPublic | BindingFlags.Instance); + private static MethodInfo GetLeafValueMethod = typeof(TreeEnsembleModelParameters).GetMethod("GetLeafValue", BindingFlags.NonPublic | BindingFlags.Instance); + + private static int GetLeaf(TreeEnsembleModelParameters model, int treeId, VBuffer features) + { + List path = null; + return (int)GetLeafMethod.Invoke(model, new object[] { treeId, features, path }); + } + + private static float GetLeafValue(TreeEnsembleModelParameters model, int treeId, int leafId) + { + return (float)GetLeafValueMethod.Invoke(model, new object[] { treeId, leafId }); + } + /// /// Computes the empirical means and standard deviations for trees in the forest for each configuration. /// diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs index 31b6302e79..f49ea72051 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs @@ -4,9 +4,11 @@ using System.Collections.Generic; using System.Linq; +using Microsoft.ML.Calibrators; +using Microsoft.ML.Data; using Microsoft.ML.Trainers; using Microsoft.ML.Trainers.FastTree; -using Microsoft.ML.Trainers.HalLearners; +using Microsoft.ML.Trainers.LightGbm; namespace Microsoft.ML.Auto { @@ -29,7 +31,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.WeightColumn = columnInfo.WeightColumn; + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; return mlContext.BinaryClassification.Trainers.FastForest(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.WeightColumn); + columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); } } @@ -91,15 +93,15 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.WeightColumn = columnInfo.WeightColumn; + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; return mlContext.BinaryClassification.Trainers.FastTree(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.WeightColumn); + columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); } } @@ -113,14 +115,14 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateLightGbmOptions(sweepParams, columnInfo); + LightGbmBinaryTrainer.Options options = TrainerExtensionUtil.CreateLightGbmOptions>, CalibratedModelParametersBase>(sweepParams, columnInfo); return mlContext.BinaryClassification.Trainers.LightGbm(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildLightGbmPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.WeightColumn); + columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); } } @@ -135,7 +137,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams, columnInfo.LabelColumn); - return mlContext.BinaryClassification.Trainers.LinearSupportVectorMachines(options); + return mlContext.BinaryClassification.Trainers.LinearSvm(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) @@ -145,7 +147,7 @@ public PipelineNode CreatePipelineNode(IEnumerable sweepParams, } } - internal class SdcaBinaryExtension : ITrainerExtension + internal class SdcaLogisticRegressionBinaryExtension : ITrainerExtension { public IEnumerable GetHyperparamSweepRanges() { @@ -155,8 +157,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - return mlContext.BinaryClassification.Trainers.StochasticDualCoordinateAscent(options); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + return mlContext.BinaryClassification.Trainers.SdcaLogisticRegression(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) @@ -166,29 +168,29 @@ public PipelineNode CreatePipelineNode(IEnumerable sweepParams, } } - internal class LogisticRegressionBinaryExtension : ITrainerExtension + internal class LbfgsLogisticRegressionBinaryExtension : ITrainerExtension { public IEnumerable GetHyperparamSweepRanges() { - return SweepableParams.BuildLogisticRegressionParams(); + return SweepableParams.BuildLbfgsLogisticRegressionParams(); } public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.WeightColumn = columnInfo.WeightColumn; - return mlContext.BinaryClassification.Trainers.LogisticRegression(options); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + return mlContext.BinaryClassification.Trainers.LbfgsLogisticRegression(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.WeightColumn); + columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); } } - internal class SgdBinaryExtension : ITrainerExtension + internal class SgdCalibratedBinaryExtension : ITrainerExtension { public IEnumerable GetHyperparamSweepRanges() { @@ -198,30 +200,30 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.WeightColumn = columnInfo.WeightColumn; - return mlContext.BinaryClassification.Trainers.StochasticGradientDescent(options); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + return mlContext.BinaryClassification.Trainers.SgdCalibrated(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.WeightColumn); + columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); } } - internal class SymSgdBinaryExtension : ITrainerExtension + internal class SymbolicSgdLogisticRegressionBinaryExtension : ITrainerExtension { public IEnumerable GetHyperparamSweepRanges() { - return SweepableParams.BuildSymSgdParams(); + return SweepableParams.BuildSymSgdLogisticRegressionParams(); } public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - return mlContext.BinaryClassification.Trainers.SymbolicStochasticGradientDescent(options); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + return mlContext.BinaryClassification.Trainers.SymbolicSgdLogisticRegression(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs index b833360e50..badf2e7349 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs @@ -3,12 +3,14 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; +using Microsoft.ML.Data; using Microsoft.ML.Trainers; +using Microsoft.ML.Trainers.FastTree; +using Microsoft.ML.Trainers.LightGbm; namespace Microsoft.ML.Auto { using ITrainerEstimator = ITrainerEstimator, object>; - using ITrainerEstimatorProducingFloat = ITrainerEstimator, object>; internal class AveragedPerceptronOvaExtension : ITrainerExtension { @@ -22,7 +24,7 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as ITrainerEstimatorProducingFloat; + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as AveragedPerceptronTrainer; return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer, labelColumnName: columnInfo.LabelColumn); } @@ -44,7 +46,7 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as ITrainerEstimatorProducingFloat; + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as FastForestBinaryTrainer; return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer, labelColumnName: columnInfo.LabelColumn); } @@ -58,20 +60,20 @@ internal class LightGbmMultiExtension : ITrainerExtension { public IEnumerable GetHyperparamSweepRanges() { - return SweepableParams.BuildLightGbmParams(); + return SweepableParams.BuildLightGbmParamsMulticlass(); } public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateLightGbmOptions(sweepParams, columnInfo); + LightGbmMulticlassTrainer.Options options = TrainerExtensionUtil.CreateLightGbmOptions, MulticlassPredictionTransformer, OneVersusAllModelParameters>(sweepParams, columnInfo); return mlContext.MulticlassClassification.Trainers.LightGbm(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildLightGbmPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.WeightColumn); + columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); } } @@ -87,7 +89,7 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as ITrainerEstimatorProducingFloat; + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as LinearSvmTrainer; return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer, labelColumnName: columnInfo.LabelColumn); } @@ -97,7 +99,7 @@ public PipelineNode CreatePipelineNode(IEnumerable sweepParams, } } - internal class SdcaMultiExtension : ITrainerExtension + internal class SdcaMaximumEntropyMultiExtension : ITrainerExtension { public IEnumerable GetHyperparamSweepRanges() { @@ -107,8 +109,8 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - return mlContext.MulticlassClassification.Trainers.StochasticDualCoordinateAscent(options); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + return mlContext.MulticlassClassification.Trainers.SdcaMaximumEntropy(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) @@ -118,19 +120,19 @@ public PipelineNode CreatePipelineNode(IEnumerable sweepParams, } } - internal class LogisticRegressionOvaExtension : ITrainerExtension + internal class LbfgsLogisticRegressionOvaExtension : ITrainerExtension { - private static readonly ITrainerExtension _binaryLearnerCatalogItem = new LogisticRegressionBinaryExtension(); + private static readonly ITrainerExtension _binaryLearnerCatalogItem = new LbfgsLogisticRegressionBinaryExtension(); public IEnumerable GetHyperparamSweepRanges() { - return SweepableParams.BuildLogisticRegressionParams(); + return SweepableParams.BuildLbfgsLogisticRegressionParams(); } public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as ITrainerEstimatorProducingFloat; + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as LbfgsLogisticRegressionBinaryTrainer; return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer, labelColumnName: columnInfo.LabelColumn); } @@ -140,9 +142,9 @@ public PipelineNode CreatePipelineNode(IEnumerable sweepParams, } } - internal class SgdOvaExtension : ITrainerExtension + internal class SgdCalibratedOvaExtension : ITrainerExtension { - private static readonly ITrainerExtension _binaryLearnerCatalogItem = new SgdBinaryExtension(); + private static readonly ITrainerExtension _binaryLearnerCatalogItem = new SgdCalibratedBinaryExtension(); public IEnumerable GetHyperparamSweepRanges() { @@ -152,7 +154,7 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as ITrainerEstimatorProducingFloat; + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as SgdCalibratedTrainer; return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer, labelColumnName: columnInfo.LabelColumn); } @@ -162,9 +164,9 @@ public PipelineNode CreatePipelineNode(IEnumerable sweepParams, } } - internal class SymSgdOvaExtension : ITrainerExtension + internal class SymbolicSgdLogisticRegressionOvaExtension : ITrainerExtension { - private static readonly ITrainerExtension _binaryLearnerCatalogItem = new SymSgdBinaryExtension(); + private static readonly ITrainerExtension _binaryLearnerCatalogItem = new SymbolicSgdLogisticRegressionBinaryExtension(); public IEnumerable GetHyperparamSweepRanges() { @@ -174,7 +176,7 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as ITrainerEstimatorProducingFloat; + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as SymbolicSgdLogisticRegressionBinaryTrainer; return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer, labelColumnName: columnInfo.LabelColumn); } @@ -196,7 +198,7 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as ITrainerEstimatorProducingFloat; + var binaryTrainer = _binaryLearnerCatalogItem.CreateInstance(mlContext, sweepParams, columnInfo) as FastTreeBinaryTrainer; return mlContext.MulticlassClassification.Trainers.OneVersusAll(binaryTrainer, labelColumnName: columnInfo.LabelColumn); } @@ -206,25 +208,25 @@ public PipelineNode CreatePipelineNode(IEnumerable sweepParams, } } - internal class LogisticRegressionMultiExtension : ITrainerExtension + internal class LbfgsMaximumEntropyMultiExtension : ITrainerExtension { public IEnumerable GetHyperparamSweepRanges() { - return SweepableParams.BuildLogisticRegressionParams(); + return SweepableParams.BuildLbfgsLogisticRegressionParams(); } public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.WeightColumn = columnInfo.WeightColumn; - return mlContext.MulticlassClassification.Trainers.LogisticRegression(options); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + return mlContext.MulticlassClassification.Trainers.LbfgsMaximumEntropy(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.WeightColumn); + columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); } } } \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs index fda8777cd2..3398655569 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs @@ -3,9 +3,10 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; +using Microsoft.ML.Data; using Microsoft.ML.Trainers; using Microsoft.ML.Trainers.FastTree; -using Microsoft.ML.Trainers.HalLearners; +using Microsoft.ML.Trainers.LightGbm; namespace Microsoft.ML.Auto { @@ -21,15 +22,15 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.WeightColumn = columnInfo.WeightColumn; + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; return mlContext.Regression.Trainers.FastForest(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.WeightColumn); + columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); } } @@ -44,14 +45,14 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams, columnInfo.LabelColumn); - options.WeightColumn = columnInfo.WeightColumn; + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; return mlContext.Regression.Trainers.FastTree(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.WeightColumn); + columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); } } @@ -66,14 +67,14 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams, columnInfo.LabelColumn); - options.WeightColumn = columnInfo.WeightColumn; + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; return mlContext.Regression.Trainers.FastTreeTweedie(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.WeightColumn); + columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); } } @@ -87,15 +88,14 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateLightGbmOptions(sweepParams, columnInfo); - options.WeightColumn = columnInfo.WeightColumn; + LightGbmRegressionTrainer.Options options = TrainerExtensionUtil.CreateLightGbmOptions, LightGbmRegressionModelParameters>(sweepParams, columnInfo); return mlContext.Regression.Trainers.LightGbm(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildLightGbmPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.WeightColumn); + columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); } } @@ -120,47 +120,47 @@ public PipelineNode CreatePipelineNode(IEnumerable sweepParams, } } - internal class OrdinaryLeastSquaresRegressionExtension : ITrainerExtension + internal class OlsRegressionExtension : ITrainerExtension { public IEnumerable GetHyperparamSweepRanges() { - return SweepableParams.BuildOrdinaryLeastSquaresParams(); + return SweepableParams.BuildOlsParams(); } public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.WeightColumn = columnInfo.WeightColumn; - return mlContext.Regression.Trainers.OrdinaryLeastSquares(options); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + return mlContext.Regression.Trainers.Ols(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.WeightColumn); + columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); } } - internal class PoissonRegressionExtension : ITrainerExtension + internal class LbfgsPoissonRegressionExtension : ITrainerExtension { public IEnumerable GetHyperparamSweepRanges() { - return SweepableParams.BuildPoissonRegressionParams(); + return SweepableParams.BuildLbfgsPoissonRegressionParams(); } public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.WeightColumn = columnInfo.WeightColumn; - return mlContext.Regression.Trainers.PoissonRegression(options); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + return mlContext.Regression.Trainers.LbfgsPoissonRegression(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.WeightColumn); + columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); } } @@ -175,7 +175,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams, columnInfo.LabelColumn); - return mlContext.Regression.Trainers.StochasticDualCoordinateAscent(options); + return mlContext.Regression.Trainers.Sdca(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/SweepableParams.cs b/src/Microsoft.ML.Auto/TrainerExtensions/SweepableParams.cs index 47083ffc20..9d80ebe09a 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/SweepableParams.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/SweepableParams.cs @@ -15,7 +15,7 @@ private static IEnumerable BuildAveragedLinearArgsParams() { new SweepableDiscreteParam("LearningRate", new object[] { 0.01f, 0.1f, 0.5f, 1.0f}), new SweepableDiscreteParam("DecreaseLearningRate", new object[] { false, true }), - new SweepableFloatParam("L2RegularizerWeight", 0.0f, 0.4f), + new SweepableFloatParam("L2Regularization", 0.0f, 0.4f), }; } @@ -33,9 +33,9 @@ private static IEnumerable BuildTreeArgsParams() { return new SweepableParam[] { - new SweepableLongParam("NumLeaves", 2, 128, isLogScale: true, stepSize: 4), - new SweepableDiscreteParam("MinDocumentsInLeafs", new object[] { 1, 10, 50 }), - new SweepableDiscreteParam("NumTrees", new object[] { 20, 100, 500 }), + new SweepableLongParam("NumberOfLeaves", 2, 128, isLogScale: true, stepSize: 4), + new SweepableDiscreteParam("MinimumExampleCountPerLeaf", new object[] { 1, 10, 50 }), + new SweepableDiscreteParam("NumberOfTrees", new object[] { 20, 100, 500 }), }; } @@ -43,7 +43,7 @@ private static IEnumerable BuildBoostedTreeArgsParams() { return BuildTreeArgsParams().Concat(new List() { - new SweepableFloatParam("LearningRates", 0.025f, 0.4f, isLogScale: true), + new SweepableFloatParam("LearningRate", 0.025f, 0.4f, isLogScale: true), new SweepableFloatParam("Shrinkage", 0.025f, 4f, isLogScale: true), }); } @@ -51,12 +51,12 @@ private static IEnumerable BuildBoostedTreeArgsParams() private static IEnumerable BuildLbfgsArgsParams() { return new SweepableParam[] { - new SweepableFloatParam("L2Weight", 0.0f, 1.0f, numSteps: 4), - new SweepableFloatParam("L1Weight", 0.0f, 1.0f, numSteps: 4), - new SweepableDiscreteParam("OptTol", new object[] { 1e-4f, 1e-7f }), - new SweepableDiscreteParam("MemorySize", new object[] { 5, 20, 50 }), - new SweepableLongParam("MaxIterations", 1, int.MaxValue), - new SweepableFloatParam("InitWtsDiameter", 0.0f, 1.0f, numSteps: 5), + new SweepableFloatParam("L2Regularization", 0.0f, 1.0f, numSteps: 4), + new SweepableFloatParam("L1Regularization", 0.0f, 1.0f, numSteps: 4), + new SweepableDiscreteParam("OptmizationTolerance", new object[] { 1e-4f, 1e-7f }), + new SweepableDiscreteParam("HistorySize", new object[] { 5, 20, 50 }), + new SweepableLongParam("MaximumNumberOfIterations", 1, int.MaxValue), + new SweepableFloatParam("InitialWeightsDiameter", 0.0f, 1.0f, numSteps: 5), new SweepableDiscreteParam("DenseOptimizer", new object[] { false, true }), }; } @@ -81,25 +81,32 @@ public static IEnumerable BuildFastTreeTweedieParams() return BuildBoostedTreeArgsParams(); } + public static IEnumerable BuildLightGbmParamsMulticlass() + { + return BuildLightGbmParams().Union(new SweepableParam[] + { + new SweepableDiscreteParam("UseSoftmax", new object[] { true, false }), + }); + } + public static IEnumerable BuildLightGbmParams() { return new SweepableParam[] { - new SweepableDiscreteParam("NumBoostRound", new object[] { 10, 20, 50, 100, 150, 200 }), + new SweepableDiscreteParam("NumberOfIterations", new object[] { 10, 20, 50, 100, 150, 200 }), new SweepableFloatParam("LearningRate", 0.025f, 0.4f, isLogScale: true), - new SweepableLongParam("NumLeaves", 2, 128, isLogScale: true, stepSize: 4), - new SweepableDiscreteParam("MinDataPerLeaf", new object[] { 1, 10, 20, 50 }), - new SweepableDiscreteParam("UseSoftmax", new object[] { true, false }), - new SweepableDiscreteParam("UseCat", new object[] { true, false }), - new SweepableDiscreteParam("UseMissing", new object[] { true, false }), - new SweepableDiscreteParam("MinDataPerGroup", new object[] { 10, 50, 100, 200 }), - new SweepableDiscreteParam("MaxCatThreshold", new object[] { 8, 16, 32, 64 }), - new SweepableDiscreteParam("CatSmooth", new object[] { 1, 10, 20 }), - new SweepableDiscreteParam("CatL2", new object[] { 0.1, 0.5, 1, 5, 10 }), - - // TreeBooster params - new SweepableDiscreteParam("RegLambda", new object[] { 0f, 0.5f, 1f }), - new SweepableDiscreteParam("RegAlpha", new object[] { 0f, 0.5f, 1f }) + new SweepableLongParam("NumberOfLeaves", 2, 128, isLogScale: true, stepSize: 4), + new SweepableDiscreteParam("MinimumExampleCountPerLeaf", new object[] { 1, 10, 20, 50 }), + new SweepableDiscreteParam("UseCategoricalSplit", new object[] { true, false }), + new SweepableDiscreteParam("HandleMissingValue", new object[] { true, false }), + new SweepableDiscreteParam("MinimumExampleCountPerGroup", new object[] { 10, 50, 100, 200 }), + new SweepableDiscreteParam("MaximumCategoricalSplitPointCount", new object[] { 8, 16, 32, 64 }), + new SweepableDiscreteParam("CategoricalSmoothing", new object[] { 1, 10, 20 }), + new SweepableDiscreteParam("L2CategoricalRegularization", new object[] { 0.1, 0.5, 1, 5, 10 }), + + // Booster params + new SweepableDiscreteParam("L2Regularization", new object[] { 0f, 0.5f, 1f }), + new SweepableDiscreteParam("L1Regularization", new object[] { 0f, 0.5f, 1f }) }; } @@ -112,7 +119,7 @@ public static IEnumerable BuildLinearSvmParams() }.Concat(BuildOnlineLinearArgsParams()); } - public static IEnumerable BuildLogisticRegressionParams() + public static IEnumerable BuildLbfgsLogisticRegressionParams() { return BuildLbfgsArgsParams(); } @@ -122,7 +129,7 @@ public static IEnumerable BuildOnlineGradientDescentParams() return BuildAveragedLinearArgsParams(); } - public static IEnumerable BuildPoissonRegressionParams() + public static IEnumerable BuildLbfgsPoissonRegressionParams() { return BuildLbfgsArgsParams(); } @@ -130,33 +137,33 @@ public static IEnumerable BuildPoissonRegressionParams() public static IEnumerable BuildSdcaParams() { return new SweepableParam[] { - new SweepableDiscreteParam("L2Const", new object[] { "", 1e-7f, 1e-6f, 1e-5f, 1e-4f, 1e-3f, 1e-2f }), - new SweepableDiscreteParam("L1Threshold", new object[] { "", 0f, 0.25f, 0.5f, 0.75f, 1f }), + new SweepableDiscreteParam("L2Regularization", new object[] { "", 1e-7f, 1e-6f, 1e-5f, 1e-4f, 1e-3f, 1e-2f }), + new SweepableDiscreteParam("L1Regularization", new object[] { "", 0f, 0.25f, 0.5f, 0.75f, 1f }), new SweepableDiscreteParam("ConvergenceTolerance", new object[] { 0.001f, 0.01f, 0.1f, 0.2f }), - new SweepableDiscreteParam("MaxIterations", new object[] { "", 10, 20, 100 }), + new SweepableDiscreteParam("MaximumNumberOfIterations", new object[] { "", 10, 20, 100 }), new SweepableDiscreteParam("Shuffle", null, isBool: true), new SweepableDiscreteParam("BiasLearningRate", new object[] { 0.0f, 0.01f, 0.1f, 1f }) }; } - public static IEnumerable BuildOrdinaryLeastSquaresParams() + public static IEnumerable BuildOlsParams() { return new SweepableParam[] { - new SweepableDiscreteParam("L2Weight", new object[] { 1e-6f, 0.1f, 1f }) + new SweepableDiscreteParam("L2Regularization", new object[] { 1e-6f, 0.1f, 1f }) }; } public static IEnumerable BuildSgdParams() { return new SweepableParam[] { - new SweepableDiscreteParam("L2Weight", new object[] { 1e-7f, 5e-7f, 1e-6f, 5e-6f, 1e-5f }), + new SweepableDiscreteParam("L2Regularization", new object[] { 1e-7f, 5e-7f, 1e-6f, 5e-6f, 1e-5f }), new SweepableDiscreteParam("ConvergenceTolerance", new object[] { 1e-2f, 1e-3f, 1e-4f, 1e-5f }), - new SweepableDiscreteParam("MaxIterations", new object[] { 1, 5, 10, 20 }), + new SweepableDiscreteParam("NumberOfIterations", new object[] { 1, 5, 10, 20 }), new SweepableDiscreteParam("Shuffle", null, isBool: true), }; } - public static IEnumerable BuildSymSgdParams() + public static IEnumerable BuildSymSgdLogisticRegressionParams() { return new SweepableParam[] { new SweepableDiscreteParam("NumberOfIterations", new object[] { 1, 5, 10, 20, 30, 40, 50 }), diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionCatalog.cs b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionCatalog.cs index 6ce9406732..13301f1e78 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionCatalog.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionCatalog.cs @@ -27,19 +27,19 @@ internal class TrainerExtensionCatalog { TrainerName.LightGbmRegression, typeof(LightGbmRegressionExtension) }, { TrainerName.LinearSvmBinary, typeof(LinearSvmBinaryExtension) }, { TrainerName.LinearSvmOva, typeof(LinearSvmOvaExtension) }, - { TrainerName.LogisticRegressionBinary, typeof(LogisticRegressionBinaryExtension) }, - { TrainerName.LogisticRegressionMulti, typeof(LogisticRegressionMultiExtension) }, - { TrainerName.LogisticRegressionOva, typeof(LogisticRegressionOvaExtension) }, + { TrainerName.LbfgsLogisticRegressionBinary, typeof(LbfgsLogisticRegressionBinaryExtension) }, + { TrainerName.LbfgsMaximumEntropyMulti, typeof(LbfgsMaximumEntropyMultiExtension) }, + { TrainerName.LbfgsLogisticRegressionOva, typeof(LbfgsLogisticRegressionOvaExtension) }, { TrainerName.OnlineGradientDescentRegression, typeof(OnlineGradientDescentRegressionExtension) }, - { TrainerName.OrdinaryLeastSquaresRegression, typeof(OrdinaryLeastSquaresRegressionExtension) }, - { TrainerName.PoissonRegression, typeof(PoissonRegressionExtension) }, - { TrainerName.SdcaBinary, typeof(SdcaBinaryExtension) }, - { TrainerName.SdcaMulti, typeof(SdcaMultiExtension) }, + { TrainerName.OlsRegression, typeof(OlsRegressionExtension) }, + { TrainerName.LbfgsPoissonRegression, typeof(LbfgsPoissonRegressionExtension) }, + { TrainerName.SdcaLogisticRegressionBinary, typeof(SdcaLogisticRegressionBinaryExtension) }, + { TrainerName.SdcaMaximumEntropyMulti, typeof(SdcaMaximumEntropyMultiExtension) }, { TrainerName.SdcaRegression, typeof(SdcaRegressionExtension) }, - { TrainerName.StochasticGradientDescentBinary, typeof(SgdBinaryExtension) }, - { TrainerName.StochasticGradientDescentOva, typeof(SgdOvaExtension) }, - { TrainerName.SymSgdBinary, typeof(SymSgdBinaryExtension) }, - { TrainerName.SymSgdOva, typeof(SymSgdOvaExtension) } + { TrainerName.SgdCalibratedBinary, typeof(SgdCalibratedBinaryExtension) }, + { TrainerName.SgdCalibratedOva, typeof(SgdCalibratedOvaExtension) }, + { TrainerName.SymbolicSgdLogisticRegressionBinary, typeof(SymbolicSgdLogisticRegressionBinaryExtension) }, + { TrainerName.SymbolicSgdLogisticRegressionOva, typeof(SymbolicSgdLogisticRegressionOvaExtension) } }; private static readonly IDictionary _extensionTypesToTrainerNames = @@ -92,14 +92,14 @@ private static IEnumerable GetBinaryLearners() return new ITrainerExtension[] { new AveragedPerceptronBinaryExtension(), - new SdcaBinaryExtension(), + new SdcaLogisticRegressionBinaryExtension(), new LightGbmBinaryExtension(), - new SymSgdBinaryExtension(), + new SymbolicSgdLogisticRegressionBinaryExtension(), new LinearSvmBinaryExtension(), new FastTreeBinaryExtension(), - new LogisticRegressionBinaryExtension(), + new LbfgsLogisticRegressionBinaryExtension(), new FastForestBinaryExtension(), - new SgdBinaryExtension() + new SgdCalibratedBinaryExtension() }; } @@ -108,15 +108,15 @@ private static IEnumerable GetMultiLearners() return new ITrainerExtension[] { new AveragedPerceptronOvaExtension(), - new SdcaMultiExtension(), + new SdcaMaximumEntropyMultiExtension(), new LightGbmMultiExtension(), - new SymSgdOvaExtension(), + new SymbolicSgdLogisticRegressionOvaExtension(), new FastTreeOvaExtension(), new LinearSvmOvaExtension(), - new LogisticRegressionOvaExtension(), - new SgdOvaExtension(), + new LbfgsLogisticRegressionOvaExtension(), + new SgdCalibratedOvaExtension(), new FastForestOvaExtension(), - new LogisticRegressionMultiExtension() + new LbfgsMaximumEntropyMultiExtension() }; } @@ -129,9 +129,9 @@ private static IEnumerable GetRegressionLearners() new FastTreeRegressionExtension(), new FastTreeTweedieRegressionExtension(), new FastForestRegressionExtension(), - new PoissonRegressionExtension(), + new LbfgsPoissonRegressionExtension(), new OnlineGradientDescentRegressionExtension(), - new OrdinaryLeastSquaresRegressionExtension(), + new OlsRegressionExtension(), }; } } diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs index 8fdffedea1..1c887ac31e 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs @@ -6,8 +6,9 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; -using Microsoft.ML.Data; -using Microsoft.ML.EntryPoints; +using Microsoft.ML.Calibrators; +using Microsoft.ML.Trainers; +using Microsoft.ML.Trainers.LightGbm; namespace Microsoft.ML.Auto { @@ -27,20 +28,20 @@ internal enum TrainerName LightGbmRegression, LinearSvmBinary, LinearSvmOva, - LogisticRegressionBinary, - LogisticRegressionOva, - LogisticRegressionMulti, + LbfgsLogisticRegressionBinary, + LbfgsLogisticRegressionOva, + LbfgsMaximumEntropyMulti, OnlineGradientDescentRegression, - OrdinaryLeastSquaresRegression, + OlsRegression, Ova, - PoissonRegression, - SdcaBinary, - SdcaMulti, + LbfgsPoissonRegression, + SdcaLogisticRegressionBinary, + SdcaMaximumEntropyMulti, SdcaRegression, - StochasticGradientDescentBinary, - StochasticGradientDescentOva, - SymSgdBinary, - SymSgdOva + SgdCalibratedBinary, + SgdCalibratedOva, + SymbolicSgdLogisticRegressionBinary, + SymbolicSgdLogisticRegressionOva } internal static class TrainerExtensionUtil @@ -48,10 +49,10 @@ internal static class TrainerExtensionUtil private const string WeightColumn = "WeightColumn"; private const string LabelColumn = "LabelColumn"; - public static T CreateOptions(IEnumerable sweepParams, string labelColumn) where T : LearnerInputBaseWithLabel + public static T CreateOptions(IEnumerable sweepParams, string labelColumn) where T : TrainerInputBaseWithLabel { var options = Activator.CreateInstance(); - options.LabelColumn = labelColumn; + options.LabelColumnName = labelColumn; if (sweepParams != null) { UpdateFields(options, sweepParams); @@ -59,20 +60,24 @@ public static T CreateOptions(IEnumerable sweepParams, string return options; } - private static string[] _lightGbmTreeBoosterParamNames = new[] { "RegLambda", "RegAlpha" }; - private const string LightGbmTreeBoosterPropName = "Booster"; + private static string[] _lightGbmBoosterParamNames = new[] { "L2Regularization", "L1Regularization" }; + private const string LightGbmBoosterPropName = "Booster"; - public static LightGBM.Options CreateLightGbmOptions(IEnumerable sweepParams, ColumnInformation columnInfo) + public static TOptions CreateLightGbmOptions(IEnumerable sweepParams, ColumnInformation columnInfo) + where TOptions : LightGbmTrainerBase.OptionsBase, new() + where TTransformer : ISingleFeaturePredictionTransformer + where TModel : class { - var options = new LightGBM.Options(); - options.LabelColumn = columnInfo.LabelColumn; - options.WeightColumn = columnInfo.WeightColumn; + var options = new TOptions(); + options.LabelColumnName = columnInfo.LabelColumn; + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + options.Booster = new GradientBooster.Options(); if (sweepParams != null) { - var treeBoosterParams = sweepParams.Where(p => _lightGbmTreeBoosterParamNames.Contains(p.Name)); - var parentArgParams = sweepParams.Except(treeBoosterParams); + var boosterParams = sweepParams.Where(p => _lightGbmBoosterParamNames.Contains(p.Name)); + var parentArgParams = sweepParams.Except(boosterParams); UpdateFields(options, parentArgParams); - UpdateFields(options.Booster, treeBoosterParams); + UpdateFields(options.Booster, boosterParams); } return options; } @@ -147,14 +152,14 @@ private static IDictionary BuildLightGbmPipelineNodeProps(IEnume } else { - var treeBoosterParams = sweepParams.Where(p => _lightGbmTreeBoosterParamNames.Contains(p.Name)); - var parentArgParams = sweepParams.Except(treeBoosterParams); + var boosterParams = sweepParams.Where(p => _lightGbmBoosterParamNames.Contains(p.Name)); + var parentArgParams = sweepParams.Except(boosterParams); - var treeBoosterProps = treeBoosterParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); - var treeBoosterCustomProp = new CustomProperty("Options.TreeBooster.Options", treeBoosterProps); + var boosterProps = boosterParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); + var boosterCustomProp = new CustomProperty("GradientBooster.Options", boosterProps); props = parentArgParams.ToDictionary(p => p.Name, p => (object)p.ProcessedValue()); - props[LightGbmTreeBoosterPropName] = treeBoosterCustomProp; + props[LightGbmBoosterPropName] = boosterCustomProp; } props[LabelColumn] = labelColumn; @@ -188,7 +193,7 @@ public static ColumnInformation BuildColumnInfo(IDictionary prop columnInfo.LabelColumn = props[LabelColumn] as string; props.TryGetValue(WeightColumn, out var weightColumn); - columnInfo.WeightColumn = weightColumn as string; + columnInfo.ExampleWeightColumn = weightColumn as string; return columnInfo; } @@ -202,8 +207,8 @@ private static ParameterSet BuildLightGbmParameterSet(IDictionary p.Key != LightGbmTreeBoosterPropName); - var treeProps = ((CustomProperty)props[LightGbmTreeBoosterPropName]).Properties; + var parentProps = props.Where(p => p.Key != LightGbmBoosterPropName); + var treeProps = ((CustomProperty)props[LightGbmBoosterPropName]).Properties; var allProps = parentProps.Union(treeProps); parameters = allProps.Select(p => new StringParameterValue(p.Key, p.Value.ToString())); } @@ -288,14 +293,14 @@ public static TrainerName GetTrainerName(BinaryClassificationTrainer binaryTrain return TrainerName.LightGbmBinary; case BinaryClassificationTrainer.LinearSupportVectorMachines: return TrainerName.LinearSvmBinary; - case BinaryClassificationTrainer.LogisticRegression: - return TrainerName.LogisticRegressionBinary; - case BinaryClassificationTrainer.StochasticDualCoordinateAscent: - return TrainerName.SdcaBinary; - case BinaryClassificationTrainer.StochasticGradientDescent: - return TrainerName.StochasticGradientDescentBinary; - case BinaryClassificationTrainer.SymbolicStochasticGradientDescent: - return TrainerName.SymSgdBinary; + case BinaryClassificationTrainer.LbfgsLogisticRegression: + return TrainerName.LbfgsLogisticRegressionBinary; + case BinaryClassificationTrainer.SdcaLogisticRegression: + return TrainerName.SdcaLogisticRegressionBinary; + case BinaryClassificationTrainer.SgdCalibrated: + return TrainerName.SgdCalibratedBinary; + case BinaryClassificationTrainer.SymbolicSgdLogisticRegression: + return TrainerName.SymbolicSgdLogisticRegressionBinary; } // never expected to reach here @@ -316,16 +321,16 @@ public static TrainerName GetTrainerName(MulticlassClassificationTrainer multiTr return TrainerName.LightGbmMulti; case MulticlassClassificationTrainer.LinearSupportVectorMachinesOVA: return TrainerName.LinearSvmOva; - case MulticlassClassificationTrainer.LogisticRegression: - return TrainerName.LogisticRegressionMulti; - case MulticlassClassificationTrainer.LogisticRegressionOVA: - return TrainerName.LogisticRegressionOva; - case MulticlassClassificationTrainer.StochasticDualCoordinateAscent: - return TrainerName.SdcaMulti; - case MulticlassClassificationTrainer.StochasticGradientDescentOVA: - return TrainerName.StochasticGradientDescentOva; - case MulticlassClassificationTrainer.SymbolicStochasticGradientDescentOVA: - return TrainerName.SymSgdOva; + case MulticlassClassificationTrainer.LbfgsMaximumEntropy: + return TrainerName.LbfgsMaximumEntropyMulti; + case MulticlassClassificationTrainer.LbfgsLogisticRegressionOVA: + return TrainerName.LbfgsLogisticRegressionOva; + case MulticlassClassificationTrainer.SdcaMaximumEntropy: + return TrainerName.SdcaMaximumEntropyMulti; + case MulticlassClassificationTrainer.SgdCalibratedOVA: + return TrainerName.SgdCalibratedOva; + case MulticlassClassificationTrainer.SymbolicSgdLogisticRegressionOVA: + return TrainerName.SymbolicSgdLogisticRegressionOva; } // never expected to reach here @@ -346,10 +351,10 @@ public static TrainerName GetTrainerName(RegressionTrainer regressionTrainer) return TrainerName.LightGbmRegression; case RegressionTrainer.OnlineGradientDescent: return TrainerName.OnlineGradientDescentRegression; - case RegressionTrainer.OrdinaryLeastSquares: - return TrainerName.OrdinaryLeastSquaresRegression; - case RegressionTrainer.PoissonRegression: - return TrainerName.PoissonRegression; + case RegressionTrainer.Ols: + return TrainerName.OlsRegression; + case RegressionTrainer.LbfgsPoissonRegression: + return TrainerName.LbfgsPoissonRegression; case RegressionTrainer.StochasticDualCoordinateAscent: return TrainerName.SdcaRegression; } diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs index a8f87b16ff..8175c69fe4 100644 --- a/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs +++ b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.Linq; using System.Text; -using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs b/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs index 974de67769..846e718b0f 100644 --- a/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs +++ b/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; -using Microsoft.Data.DataView; +using Microsoft.ML.Data; namespace Microsoft.ML.Auto { diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformPostTrainerInference.cs b/src/Microsoft.ML.Auto/TransformInference/TransformPostTrainerInference.cs index b14a80301f..9b0ff4bb4f 100644 --- a/src/Microsoft.ML.Auto/TransformInference/TransformPostTrainerInference.cs +++ b/src/Microsoft.ML.Auto/TransformInference/TransformPostTrainerInference.cs @@ -4,7 +4,6 @@ using System.Collections.Generic; using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/AnnotationBuilderExtensions.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/AnnotationBuilderExtensions.cs index cdf42a33d3..f615139118 100644 --- a/src/Microsoft.ML.Auto/Utils/MLNetUtils/AnnotationBuilderExtensions.cs +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/AnnotationBuilderExtensions.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System; -using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -18,7 +17,7 @@ internal static class AnnotationBuilderExtensions /// The getter delegate for the slot names. public static void AddSlotNames(this DataViewSchema.Annotations.Builder builder, int size, ValueGetter>> getter) { - builder.Add("SlotNames", new VectorType(TextDataViewType.Instance, size), getter, null); + builder.Add("SlotNames", new VectorDataViewType(TextDataViewType.Instance, size), getter, null); } /// @@ -31,7 +30,7 @@ public static void AddSlotNames(this DataViewSchema.Annotations.Builder builder, /// The getter delegate for the key values. public static void AddKeyValues(this DataViewSchema.Annotations.Builder builder, int size, PrimitiveDataViewType valueType, ValueGetter> getter) { - builder.Add("KeyValues", new VectorType(valueType, size), getter, null); + builder.Add("KeyValues", new VectorDataViewType(valueType, size), getter, null); } } } diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/ArrayDataViewBuilder.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/ArrayDataViewBuilder.cs index 0242c085d0..e529bf4bb2 100644 --- a/src/Microsoft.ML.Auto/Utils/MLNetUtils/ArrayDataViewBuilder.cs +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/ArrayDataViewBuilder.cs @@ -4,8 +4,8 @@ using System; using System.Collections.Generic; -using Microsoft.Data.DataView; using Microsoft.ML.Data; +using Microsoft.ML.Runtime; namespace Microsoft.ML.Auto { @@ -78,14 +78,14 @@ public void AddColumn(string name, PrimitiveDataViewType type, params T[] val /// The name of the column. /// The delegate that does a reverse lookup based upon the given key. This is for annotation creation /// The count of unique keys specified in values - /// The values to add to the column. Note that since this is creating a column, the values will be offset by 1. + /// The values to add to the column. Note that since this is creating a column, the values will be offset by 1. public void AddColumn(string name, ValueGetter>> getKeyValues, ulong keyCount, params T1[] values) { _host.CheckValue(getKeyValues, nameof(getKeyValues)); _host.CheckParam(keyCount > 0, nameof(keyCount)); CheckLength(name, values); var elemType = values.GetType().GetElementType(); - _columns.Add(new AssignmentColumn(new KeyType(elemType, keyCount), values)); + _columns.Add(new AssignmentColumn(new KeyDataViewType(elemType, keyCount), values)); _getKeyValues.Add(name, getKeyValues); _names.Add(name); } @@ -205,13 +205,14 @@ public DataView(IHostEnvironment env, ArrayDataViewBuilder builder, int rowCount public DataViewRowCursor GetRowCursor(IEnumerable columnsNeeded, Random rand = null) { var predicate = RowCursorUtils.FromColumnsToPredicate(columnsNeeded, Schema); - + return new Cursor(_host, this, predicate, rand); } public DataViewRowCursor[] GetRowCursorSet(IEnumerable columnsNeeded, int n, Random rand = null) { var predicate = RowCursorUtils.FromColumnsToPredicate(columnsNeeded, Schema); + return new DataViewRowCursor[] { new Cursor(_host, this, predicate, rand) }; } @@ -267,25 +268,36 @@ public override ValueGetter GetIdGetter() } } - public override bool IsColumnActive(int col) + /// + /// Returns whether the given column is active in this row. + /// + public override bool IsColumnActive(DataViewSchema.Column column) { - Ch.Check(0 <= col & col < Schema.Count); - return _active[col]; + Ch.Check(column.Index < Schema.Count); + return _active[column.Index]; } - public override ValueGetter GetGetter(int col) + /// + /// Returns a value getter delegate to fetch the value of column with the given columnIndex, from the row. + /// This throws if the column is not active in this row, or if the type + /// differs from this column's type. + /// + /// is the column's content type. + /// is the output column whose getter should be returned. + public override ValueGetter GetGetter(DataViewSchema.Column column) { - Ch.Check(0 <= col & col < Schema.Count); - Ch.Check(_active[col], "column is not active"); - var column = _view._columns[col] as Column; - if (column == null) + Ch.Check(column.Index < Schema.Count); + Ch.Check(column.Index < _active.Length && _active[column.Index], "the requested column is not active"); + + var columnValue = _view._columns[column.Index] as Column; + if (columnValue == null) throw Ch.Except("Invalid TValue: '{0}'", typeof(TValue)); return (ref TValue value) => { Ch.Check(IsGood, RowCursorUtils.FetchValueStateError); - column.CopyOut(MappedIndex(), ref value); + columnValue.CopyOut(MappedIndex(), ref value); }; } @@ -418,7 +430,7 @@ private static DataViewType InferType(PrimitiveDataViewType itemType, TIn[] valu } } } - return new VectorType(itemType, degree); + return new VectorDataViewType(itemType, degree); } } @@ -450,6 +462,7 @@ protected override void CopyOut(in T[] src, ref VBuffer dst) VBuffer.Copy(src, 0, ref dst, MLNetUtils.Size(src)); } } + #endregion } -} \ No newline at end of file +} diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs index 9d49774c16..ca2505d838 100644 --- a/src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs @@ -2,8 +2,8 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Microsoft.Data.DataView; using Microsoft.ML.Data; +using Microsoft.ML.Runtime; namespace Microsoft.ML.Auto { @@ -26,17 +26,17 @@ public static bool IsBool(this DataViewType columnType) public static bool IsVector(this DataViewType columnType) { - return columnType is VectorType; + return columnType is VectorDataViewType; } public static bool IsKey(this DataViewType columnType) { - return columnType is KeyType; + return columnType is KeyDataViewType; } public static bool IsKnownSizeVector(this DataViewType columnType) { - var vector = columnType as VectorType; + var vector = columnType as VectorDataViewType; if (vector == null) { return false; @@ -46,7 +46,7 @@ public static bool IsKnownSizeVector(this DataViewType columnType) public static DataViewType GetItemType(this DataViewType columnType) { - var vector = columnType as VectorType; + var vector = columnType as VectorDataViewType; if (vector == null) { return columnType; @@ -59,7 +59,7 @@ public static DataViewType GetItemType(this DataViewType columnType) /// public static int GetVectorSize(this DataViewType columnType) { - return (columnType as VectorType)?.Size ?? 0; + return (columnType as VectorDataViewType)?.Size ?? 0; } public static DataKind GetRawKind(this DataViewType columnType) @@ -73,7 +73,7 @@ public static DataKind GetRawKind(this DataViewType columnType) /// public static ulong GetKeyCount(this DataViewType columnType) { - return (columnType as KeyType)?.Count ?? 0; + return (columnType as KeyDataViewType)?.Count ?? 0; } /// diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/Contracts.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/Contracts.cs index 8b29725c76..d749e37520 100644 --- a/src/Microsoft.ML.Auto/Utils/MLNetUtils/Contracts.cs +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/Contracts.cs @@ -5,6 +5,7 @@ using System; using System.Diagnostics; using System.Globalization; +using Microsoft.ML.Runtime; namespace Microsoft.ML.Auto { diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/DataKindExtensions.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/DataKindExtensions.cs index d5b144150f..a2780c8667 100644 --- a/src/Microsoft.ML.Auto/Utils/MLNetUtils/DataKindExtensions.cs +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/DataKindExtensions.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System; -using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/DefaultColumnNames.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/DefaultColumnNames.cs new file mode 100644 index 0000000000..cb69603378 --- /dev/null +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/DefaultColumnNames.cs @@ -0,0 +1,23 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.Auto +{ + internal static class DefaultColumnNames + { + public const string Features = "Features"; + public const string Label = "Label"; + public const string GroupId = "GroupId"; + public const string Name = "Name"; + public const string Weight = "Weight"; + public const string Score = "Score"; + public const string Probability = "Probability"; + public const string PredictedLabel = "PredictedLabel"; + public const string RecommendedItems = "Recommended"; + public const string User = "User"; + public const string Item = "Item"; + public const string Date = "Date"; + public const string FeatureContributions = "FeatureContributions"; + } +} diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/RootCursorBase.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/RootCursorBase.cs index 7e43dc5673..f980bb12c3 100644 --- a/src/Microsoft.ML.Auto/Utils/MLNetUtils/RootCursorBase.cs +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/RootCursorBase.cs @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Microsoft.Data.DataView; +using Microsoft.ML.Runtime; namespace Microsoft.ML.Auto { diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/RowCursorUtils.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/RowCursorUtils.cs index 5b4c20f818..acb8113f7d 100644 --- a/src/Microsoft.ML.Auto/Utils/MLNetUtils/RowCursorUtils.cs +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/RowCursorUtils.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; -using Microsoft.Data.DataView; namespace Microsoft.ML.Auto { diff --git a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs index fdaaea5d94..b171de380c 100644 --- a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto @@ -65,7 +64,7 @@ private static void ValidateColumnInformation(IDataView trainData, ColumnInforma { ValidateColumnInformation(columnInformation); ValidateTrainDataColumn(trainData, columnInformation.LabelColumn, LabelColumnPurposeName); - ValidateTrainDataColumn(trainData, columnInformation.WeightColumn, WeightColumnPurposeName); + ValidateTrainDataColumn(trainData, columnInformation.ExampleWeightColumn, WeightColumnPurposeName); ValidateTrainDataColumn(trainData, columnInformation.SamplingKeyColumn, SamplingKeyColumnPurposeName); ValidateTrainDataColumns(trainData, columnInformation.CategoricalColumns, CategoricalColumnPurposeName, new DataViewType[] { NumberDataViewType.Single, TextDataViewType.Instance }); @@ -88,7 +87,7 @@ private static void ValidateColumnInformation(ColumnInformation columnInformatio // keep a list of all columns, to detect duplicates var allColumns = new List(); allColumns.Add(columnInformation.LabelColumn); - if (columnInformation.WeightColumn != null) { allColumns.Add(columnInformation.WeightColumn); } + if (columnInformation.ExampleWeightColumn != null) { allColumns.Add(columnInformation.ExampleWeightColumn); } if (columnInformation.CategoricalColumns != null) { allColumns.AddRange(columnInformation.CategoricalColumns); } if (columnInformation.NumericColumns != null) { allColumns.AddRange(columnInformation.NumericColumns); } if (columnInformation.TextColumns != null) { allColumns.AddRange(columnInformation.TextColumns); } diff --git a/src/Samples/AdvancedExperimentSettings.cs b/src/Samples/AdvancedExperimentSettings.cs index f2a25d8dd1..b5d3aad9f3 100644 --- a/src/Samples/AdvancedExperimentSettings.cs +++ b/src/Samples/AdvancedExperimentSettings.cs @@ -4,7 +4,6 @@ using System; using System.IO; -using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; diff --git a/src/Samples/AdvancedTrainingSettings.cs b/src/Samples/AdvancedTrainingSettings.cs index 11245f81aa..d6df89f14a 100644 --- a/src/Samples/AdvancedTrainingSettings.cs +++ b/src/Samples/AdvancedTrainingSettings.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; @@ -70,7 +69,7 @@ public static void Run() // STEP 7: Save the best model for later deployment and inferencing using (FileStream fs = File.Create(ModelPath)) - best.Model.SaveTo(mlContext, fs); + mlContext.Model.Save(best.Model, textLoader, fs); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index 020775011a..2aaf0786ec 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; @@ -62,10 +61,10 @@ public static void Run() // STEP 6: Save the best model for later deployment and inferencing using (FileStream fs = File.Create(ModelPath)) - best.Model.SaveTo(mlContext, fs); + mlContext.Model.Save(best.Model, textLoader, fs); // STEP 7: Create prediction engine from the best trained model - var predictionEngine = best.Model.CreatePredictionEngine(mlContext); + var predictionEngine = mlContext.Model.CreatePredictionEngine(best.Model); // STEP 8: Initialize a new sentiment issue, and get the predicted sentiment var testSentimentIssue = new SentimentIssue diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index a7e8af3e3c..2d417e4534 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; @@ -45,27 +44,27 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Running AutoML multiclass classification experiment for {ExperimentTime} seconds..."); - IEnumerable> runResults = mlContext.Auto() + IEnumerable> runResults = mlContext.Auto() .CreateMulticlassClassificationExperiment(ExperimentTime) .Execute(trainDataView); // STEP 4: Print metric from the best model - RunResult best = runResults.Best(); + RunResult best = runResults.Best(); Console.WriteLine($"Total models produced: {runResults.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); - Console.WriteLine($"AccuracyMacro of best model from validation data: {best.ValidationMetrics.AccuracyMacro}"); + Console.WriteLine($"AccuracyMacro of best model from validation data: {best.ValidationMetrics.MacroAccuracy}"); // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); - MultiClassClassifierMetrics testMetrics = mlContext.MulticlassClassification.Evaluate(testDataViewWithBestScore); - Console.WriteLine($"AccuracyMacro of best model on test data: {testMetrics.AccuracyMacro}"); + MulticlassClassificationMetrics testMetrics = mlContext.MulticlassClassification.Evaluate(testDataViewWithBestScore); + Console.WriteLine($"AccuracyMacro of best model on test data: {testMetrics.MacroAccuracy}"); // STEP 6: Save the best model for later deployment and inferencing using (FileStream fs = File.Create(ModelPath)) - best.Model.SaveTo(mlContext, fs); + mlContext.Model.Save(best.Model, textLoader, fs); // STEP 7: Create prediction engine from the best trained model - var predictionEngine = best.Model.CreatePredictionEngine(mlContext); + var predictionEngine = mlContext.Model.CreatePredictionEngine(best.Model); // STEP 8: Initialize new pixel data, and get the predicted number var testPixelData = new PixelData diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index 09bc9de29c..4ea3bf86ec 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; @@ -63,15 +62,15 @@ public static void Run() // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); - RegressionMetrics testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: LabelColumn); + RegressionMetrics testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, labelColumnName: LabelColumn); Console.WriteLine($"RSquared of best model on test data: {testMetrics.RSquared}"); // STEP 6: Save the best model for later deployment and inferencing using (FileStream fs = File.Create(ModelPath)) - best.Model.SaveTo(mlContext, fs); + mlContext.Model.Save(best.Model, textLoader, fs); // STEP 7: Create prediction engine from the best trained model - var predictionEngine = best.Model.CreatePredictionEngine(mlContext); + var predictionEngine = mlContext.Model.CreatePredictionEngine(best.Model); // STEP 8: Initialize a new test taxi trip, and get the predicted fare var testTaxiTrip = new TaxiTrip diff --git a/src/Samples/Cancellation.cs b/src/Samples/Cancellation.cs index 24661abf93..bf4749bb96 100644 --- a/src/Samples/Cancellation.cs +++ b/src/Samples/Cancellation.cs @@ -9,7 +9,6 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; -using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; diff --git a/src/Samples/Helpers/ConsoleHelper.cs b/src/Samples/Helpers/ConsoleHelper.cs index 8964f60562..2a97c6fc9d 100644 --- a/src/Samples/Helpers/ConsoleHelper.cs +++ b/src/Samples/Helpers/ConsoleHelper.cs @@ -104,7 +104,7 @@ public void Print() // add column data var info = _results.ColumnInformation; AppendTableRow(tableRows, info.LabelColumn, "Label"); - AppendTableRow(tableRows, info.WeightColumn, "Weight"); + AppendTableRow(tableRows, info.ExampleWeightColumn, "Weight"); AppendTableRow(tableRows, info.SamplingKeyColumn, "Sampling Key"); AppendTableRows(tableRows, info.CategoricalColumns, "Categorical"); AppendTableRows(tableRows, info.NumericColumns, "Numeric"); diff --git a/src/Samples/InferColumns.cs b/src/Samples/InferColumns.cs index 80c15401a8..ae1531c959 100644 --- a/src/Samples/InferColumns.cs +++ b/src/Samples/InferColumns.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; @@ -50,12 +49,12 @@ public static void Run() // STEP 5: Evaluate test data IDataView testDataViewWithBestScore = best.Model.Transform(testDataView); - RegressionMetrics testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: LabelColumn); + RegressionMetrics testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, labelColumnName: LabelColumn); Console.WriteLine($"RSquared of best model on test data: {testMetrics.RSquared}"); // STEP 6: Save the best model for later deployment and inferencing using (FileStream fs = File.Create(ModelPath)) - best.Model.SaveTo(mlContext, fs); + mlContext.Model.Save(best.Model, textLoader, fs); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); diff --git a/src/Samples/ObserveProgress.cs b/src/Samples/ObserveProgress.cs index dfa6667145..1349b267bd 100644 --- a/src/Samples/ObserveProgress.cs +++ b/src/Samples/ObserveProgress.cs @@ -4,7 +4,6 @@ using System; using System.IO; -using Microsoft.Data.DataView; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; @@ -83,7 +82,7 @@ class ConsolePrinter { public static void PrintRegressionMetrics(int iteration, string trainerName, RegressionMetrics metrics) { - Console.WriteLine($"{iteration,-3}{trainerName,-35}{metrics.RSquared,-10:0.###}{metrics.LossFn,-8:0.##}{metrics.L1,-15:#.##}{metrics.L2,-15:#.##}{metrics.Rms,-10:#.##}"); + Console.WriteLine($"{iteration,-3}{trainerName,-35}{metrics.RSquared,-10:0.###}{metrics.LossFunction,-8:0.##}{metrics.MeanAbsoluteError,-15:#.##}{metrics.MeanSquaredError,-15:#.##}{metrics.RootMeanSquaredError,-10:#.##}"); } public static void PrintRegressionMetricsHeader() diff --git a/src/Samples/RefitBestModel.cs b/src/Samples/RefitBestModel.cs index 4cae51d965..b99db9dbbc 100644 --- a/src/Samples/RefitBestModel.cs +++ b/src/Samples/RefitBestModel.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using System.IO; -using Microsoft.Data.DataView; +using System.Linq; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.Data; @@ -63,12 +63,12 @@ public static void Run() // STEP 6: Evaluate test data IDataView testDataViewWithBestScore = refitBestModel.Transform(testDataView); - RegressionMetrics testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, label: LabelColumn); + RegressionMetrics testMetrics = mlContext.Regression.Evaluate(testDataViewWithBestScore, labelColumnName: LabelColumn); Console.WriteLine($"RSquared of the re-fit model on test data: {testMetrics.RSquared}"); // STEP 7: Save the re-fit best model for later deployment and inferencing using (FileStream fs = File.Create(ModelPath)) - refitBestModel.SaveTo(mlContext, fs); + mlContext.Model.Save(best.Model, textLoader, fs); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index c3103d549b..614c4f895d 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Microsoft.Data.DataView; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Linq; @@ -43,7 +42,7 @@ public void AutoFitMultiTest() .CreateMulticlassClassificationExperiment(0) .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.TrivialMulticlassDatasetLabel }); var best = results.Best(); - Assert.IsTrue(best.ValidationMetrics.AccuracyMicro >= 0.8); + Assert.IsTrue(best.ValidationMetrics.MicroAccuracy >= 0.8); var scoredData = best.Model.Transform(validationData); Assert.AreEqual(NumberDataViewType.Single, scoredData.Schema[DefaultColumnNames.PredictedLabel].Type); } diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index 91fbbc0d08..6c100f83f0 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -109,12 +109,12 @@ public void DefaultColumnNamesInferredCorrectly() new ColumnInformation() { LabelColumn = DefaultColumnNames.Label, - WeightColumn = DefaultColumnNames.Weight, + ExampleWeightColumn = DefaultColumnNames.Weight, }, groupColumns : false); Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); - Assert.AreEqual(DefaultColumnNames.Weight, result.ColumnInformation.WeightColumn); + Assert.AreEqual(DefaultColumnNames.Weight, result.ColumnInformation.ExampleWeightColumn); Assert.AreEqual(result.ColumnInformation.NumericColumns.Count(), 3); } @@ -125,11 +125,11 @@ public void DefaultColumnNamesNoGrouping() new ColumnInformation() { LabelColumn = DefaultColumnNames.Label, - WeightColumn = DefaultColumnNames.Weight, + ExampleWeightColumn = DefaultColumnNames.Weight, }); Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); - Assert.AreEqual(DefaultColumnNames.Weight, result.ColumnInformation.WeightColumn); + Assert.AreEqual(DefaultColumnNames.Weight, result.ColumnInformation.ExampleWeightColumn); Assert.AreEqual(1, result.ColumnInformation.NumericColumns.Count()); Assert.AreEqual(DefaultColumnNames.Features, result.ColumnInformation.NumericColumns.First()); } @@ -145,7 +145,7 @@ public void InferColumnsColumnInfoParam() Assert.AreEqual(DatasetUtil.MlNetGeneratedRegressionLabel, result.ColumnInformation.LabelColumn); Assert.AreEqual(1, result.ColumnInformation.NumericColumns.Count()); Assert.AreEqual(DefaultColumnNames.Features, result.ColumnInformation.NumericColumns.First()); - Assert.AreEqual(null, result.ColumnInformation.WeightColumn); + Assert.AreEqual(null, result.ColumnInformation.ExampleWeightColumn); } } } \ No newline at end of file diff --git a/src/Test/ColumnInformationUtilTests.cs b/src/Test/ColumnInformationUtilTests.cs index 721cd3d194..a15ed81c12 100644 --- a/src/Test/ColumnInformationUtilTests.cs +++ b/src/Test/ColumnInformationUtilTests.cs @@ -15,7 +15,7 @@ public void GetColumnPurpose() var columnInfo = new ColumnInformation() { LabelColumn = "Label", - WeightColumn = "Weight", + ExampleWeightColumn = "Weight", SamplingKeyColumn = "SamplingKey", }; columnInfo.CategoricalColumns.Add("Cat"); diff --git a/src/Test/DatasetDimensionsTests.cs b/src/Test/DatasetDimensionsTests.cs index 538e7d845a..72dc4d9d68 100644 --- a/src/Test/DatasetDimensionsTests.cs +++ b/src/Test/DatasetDimensionsTests.cs @@ -1,4 +1,7 @@ -using Microsoft.Data.DataView; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; diff --git a/src/Test/DatasetUtil.cs b/src/Test/DatasetUtil.cs index 3b763fd521..9f76ebb083 100644 --- a/src/Test/DatasetUtil.cs +++ b/src/Test/DatasetUtil.cs @@ -5,7 +5,6 @@ using System; using System.IO; using System.Net; -using Microsoft.Data.DataView; using Microsoft.ML.Data; namespace Microsoft.ML.Auto.Test diff --git a/src/Test/InferredPipelineTests.cs b/src/Test/InferredPipelineTests.cs index 87cd70f4c0..9a931b6810 100644 --- a/src/Test/InferredPipelineTests.cs +++ b/src/Test/InferredPipelineTests.cs @@ -27,7 +27,7 @@ public void InferredPipelinesHashTest() Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // test same learners with hyperparams set vs empty hyperparams have different hash codes - var hyperparams1 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); + var hyperparams1 = new ParameterSet(new List() { new LongParameterValue("NumberOfLeaves", 2) }); trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams1); trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, false); @@ -35,8 +35,8 @@ public void InferredPipelinesHashTest() Assert.AreNotEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same learners with different hyperparams - hyperparams1 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); - var hyperparams2 = new ParameterSet(new List() { new LongParameterValue("NumLeaves", 6) }); + hyperparams1 = new ParameterSet(new List() { new LongParameterValue("NumberOfLeaves", 2) }); + var hyperparams2 = new ParameterSet(new List() { new LongParameterValue("NumberOfLeaves", 6) }); trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams1); trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo, hyperparams2); inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, false); @@ -53,7 +53,7 @@ public void InferredPipelinesHashTest() Assert.AreEqual(inferredPipeline1.GetHashCode(), inferredPipeline2.GetHashCode()); // same transforms with different learners - trainer1 = new SuggestedTrainer(context, new SdcaBinaryExtension(), columnInfo); + trainer1 = new SuggestedTrainer(context, new SdcaLogisticRegressionBinaryExtension(), columnInfo); trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), columnInfo); transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; diff --git a/src/Test/MetricsAgentsTests.cs b/src/Test/MetricsAgentsTests.cs index a88c06070a..3aa0854d0c 100644 --- a/src/Test/MetricsAgentsTests.cs +++ b/src/Test/MetricsAgentsTests.cs @@ -128,7 +128,7 @@ private static double GetScore(BinaryClassificationMetrics metrics, BinaryClassi return new BinaryMetricsAgent(metric).GetScore(metrics); } - private static double GetScore(MultiClassClassifierMetrics metrics, MulticlassClassificationMetric metric) + private static double GetScore(MulticlassClassificationMetrics metrics, MulticlassClassificationMetric metric) { return new MultiMetricsAgent(metric).GetScore(metrics); } @@ -143,7 +143,7 @@ private static bool IsPerfectModel(BinaryClassificationMetrics metrics, BinaryCl return new BinaryMetricsAgent(metric).IsModelPerfect(metrics); } - private static bool IsPerfectModel(MultiClassClassifierMetrics metrics, MulticlassClassificationMetric metric) + private static bool IsPerfectModel(MulticlassClassificationMetrics metrics, MulticlassClassificationMetric metric) { return new MultiMetricsAgent(metric).IsModelPerfect(metrics); } diff --git a/src/Test/MetricsUtil.cs b/src/Test/MetricsUtil.cs index b8f1d891cd..89dc0cc51f 100644 --- a/src/Test/MetricsUtil.cs +++ b/src/Test/MetricsUtil.cs @@ -19,12 +19,12 @@ public static BinaryClassificationMetrics CreateBinaryClassificationMetrics( negativeRecall, f1Score, auprc); } - public static MultiClassClassifierMetrics CreateMulticlassClassificationMetrics( + public static MulticlassClassificationMetrics CreateMulticlassClassificationMetrics( double accuracyMicro, double accuracyMacro, double logLoss, double logLossReduction, int topK, double topKAccuracy, double[] perClassLogLoss) { - return CreateInstance(accuracyMicro, + return CreateInstance(accuracyMicro, accuracyMacro, logLoss, logLossReduction, topK, topKAccuracy, perClassLogLoss); } diff --git a/src/Test/PurposeInferenceTests.cs b/src/Test/PurposeInferenceTests.cs index d44281fda0..3865ca75a1 100644 --- a/src/Test/PurposeInferenceTests.cs +++ b/src/Test/PurposeInferenceTests.cs @@ -1,5 +1,4 @@ using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -22,7 +21,7 @@ public void PurposeInferenceHiddenColumnsTest() // normalize 'Features' column. this has the effect of creating 2 columns named // 'Features' in the data view, the first of which gets marked as 'Hidden' - var normalizer = context.Transforms.Normalize(DefaultColumnNames.Features); + var normalizer = context.Transforms.NormalizeMinMax(DefaultColumnNames.Features); data = normalizer.Fit(data).Transform(data); // infer purposes diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index 8567aa1f9e..198d0a73f1 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -56,22 +56,21 @@ public void BuildLightGbmPipelineNode() ""Score"" ], ""Properties"": { - ""NumBoostRound"": 20, + ""NumberOfIterations"": 20, ""LearningRate"": 1, - ""NumLeaves"": 1, - ""MinDataPerLeaf"": 10, - ""UseSoftmax"": false, - ""UseCat"": false, - ""UseMissing"": false, - ""MinDataPerGroup"": 50, - ""MaxCatThreshold"": 16, - ""CatSmooth"": 10, - ""CatL2"": 0.5, + ""NumberOfLeaves"": 1, + ""MinimumExampleCountPerLeaf"": 10, + ""UseCategoricalSplit"": false, + ""HandleMissingValue"": false, + ""MinimumExampleCountPerGroup"": 50, + ""MaximumCategoricalSplitPointCount"": 16, + ""CategoricalSmoothing"": 10, + ""L2CategoricalRegularization"": 0.5, ""Booster"": { - ""Name"": ""Options.TreeBooster.Options"", + ""Name"": ""GradientBooster.Options"", ""Properties"": { - ""RegLambda"": 0.5, - ""RegAlpha"": 0.5 + ""L2Regularization"": 0.5, + ""L1Regularization"": 0.5 } }, ""LabelColumn"": ""Label"" @@ -89,9 +88,9 @@ public void BuildSdcaPipelineNode() sweepParam.RawValue = 1; } - var pipelineNode = new SdcaBinaryExtension().CreatePipelineNode(sweepParams, new ColumnInformation()); + var pipelineNode = new SdcaLogisticRegressionBinaryExtension().CreatePipelineNode(sweepParams, new ColumnInformation()); var expectedJson = @"{ - ""Name"": ""SdcaBinary"", + ""Name"": ""SdcaLogisticRegressionBinary"", ""NodeType"": ""Trainer"", ""InColumns"": [ ""Features"" @@ -100,10 +99,10 @@ public void BuildSdcaPipelineNode() ""Score"" ], ""Properties"": { - ""L2Const"": 1E-07, - ""L1Threshold"": 0.0, + ""L2Regularization"": 1E-07, + ""L1Regularization"": 0.0, ""ConvergenceTolerance"": 0.01, - ""MaxIterations"": 10, + ""MaximumNumberOfIterations"": 10, ""Shuffle"": true, ""BiasLearningRate"": 0.01, ""LabelColumn"": ""Label"" @@ -140,7 +139,7 @@ public void BuildPipelineNodeWithCustomColumns() var columnInfo = new ColumnInformation() { LabelColumn = "L", - WeightColumn = "W" + ExampleWeightColumn = "W" }; var sweepParams = SweepableParams.BuildFastForestParams(); foreach (var sweepParam in sweepParams) @@ -159,9 +158,9 @@ public void BuildPipelineNodeWithCustomColumns() ""Score"" ], ""Properties"": { - ""NumLeaves"": 1, - ""MinDocumentsInLeafs"": 10, - ""NumTrees"": 100, + ""NumberOfLeaves"": 1, + ""MinimumExampleCountPerLeaf"": 10, + ""NumberOfTrees"": 100, ""LabelColumn"": ""L"", ""WeightColumn"": ""W"" } @@ -224,14 +223,14 @@ public void BuildParameterSetLightGbm() { var props = new Dictionary() { - {"NumBoostRound", 1 }, + {"NumberOfIterations", 1 }, {"LearningRate", 1 }, {"Booster", new CustomProperty() { - Name = "Options.TreeBooster.Arguments", + Name = "GradientBooster.Options", Properties = new Dictionary() { - {"RegLambda", 1 }, - {"RegAlpha", 1 }, + {"L2Regularization", 1 }, + {"L1Regularization", 1 }, } } }, }; @@ -242,10 +241,10 @@ public void BuildParameterSetLightGbm() foreach (var paramSet in new ParameterSet[] { binaryParams, multiParams, regressionParams }) { Assert.AreEqual(4, paramSet.Count); - Assert.AreEqual("1", paramSet["NumBoostRound"].ValueText); + Assert.AreEqual("1", paramSet["NumberOfIterations"].ValueText); Assert.AreEqual("1", paramSet["LearningRate"].ValueText); - Assert.AreEqual("1", paramSet["RegLambda"].ValueText); - Assert.AreEqual("1", paramSet["RegAlpha"].ValueText); + Assert.AreEqual("1", paramSet["L2Regularization"].ValueText); + Assert.AreEqual("1", paramSet["L1Regularization"].ValueText); } } @@ -257,7 +256,7 @@ public void BuildParameterSetSdca() {"LearningRate", 1 }, }; - var sdcaParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.SdcaBinary, props); + var sdcaParams = TrainerExtensionUtil.BuildParameterSet(TrainerName.SdcaLogisticRegressionBinary, props); Assert.AreEqual(1, sdcaParams.Count); Assert.AreEqual("1", sdcaParams["LearningRate"].ValueText); diff --git a/src/Test/TransformInferenceTests.cs b/src/Test/TransformInferenceTests.cs index 5c1d493e5c..c5da842a39 100644 --- a/src/Test/TransformInferenceTests.cs +++ b/src/Test/TransformInferenceTests.cs @@ -4,7 +4,6 @@ using System.Collections.Generic; using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -243,7 +242,7 @@ public void TransformInferenceFeatColVector() { TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, new VectorType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[]"); } @@ -296,7 +295,7 @@ public void NumericVectorCol() { TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - ("Numeric", new VectorType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + ("Numeric", new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ColumnCopying"", @@ -629,7 +628,7 @@ public void TransformInferenceDefaultLabelCol() { TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, new VectorType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), (DefaultColumnNames.Label, NumberDataViewType.Single, ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[]"); } @@ -639,7 +638,7 @@ public void TransformInferenceCustomLabelCol() { TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, new VectorType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), ("CustomLabel", NumberDataViewType.Single, ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[]"); } @@ -649,7 +648,7 @@ public void TransformInferenceCustomTextLabelColMulticlass() { TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { - (DefaultColumnNames.Features, new VectorType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + (DefaultColumnNames.Features, new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), ("CustomLabel", TextDataViewType.Instance, ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[ { diff --git a/src/Test/TransformPostTrainerInferenceTests.cs b/src/Test/TransformPostTrainerInferenceTests.cs index 20d3c5f5b7..07cbfe2f06 100644 --- a/src/Test/TransformPostTrainerInferenceTests.cs +++ b/src/Test/TransformPostTrainerInferenceTests.cs @@ -4,7 +4,6 @@ using System.Collections.Generic; using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -54,7 +53,7 @@ public void TransformPostTrainerMulticlassKeyLabel() new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] { ("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Label", new KeyType(typeof(uint), 3), ColumnPurpose.Label, new ColumnDimensions(null, null)), + ("Label", new KeyDataViewType(typeof(uint), 3), ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[]"); } diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index dba7347e6c..dcdb1d1465 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -4,7 +4,6 @@ using System; using System.IO; -using Microsoft.Data.DataView; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; diff --git a/src/Test/Util.cs b/src/Test/Util.cs index 3df7ffe319..3a652c48ca 100644 --- a/src/Test/Util.cs +++ b/src/Test/Util.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using System.Linq; -using Microsoft.Data.DataView; using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; using Newtonsoft.Json; diff --git a/src/Test/Utils/MLNetUtils/EmptyDataView.cs b/src/Test/Utils/MLNetUtils/EmptyDataView.cs index e156f02d97..bc9bd3cca6 100644 --- a/src/Test/Utils/MLNetUtils/EmptyDataView.cs +++ b/src/Test/Utils/MLNetUtils/EmptyDataView.cs @@ -4,7 +4,8 @@ using System; using System.Collections.Generic; -using Microsoft.Data.DataView; +using Microsoft.ML.Data; +using Microsoft.ML.Runtime; namespace Microsoft.ML.Auto.Test { @@ -59,11 +60,20 @@ public override ValueGetter GetIdGetter() protected override bool MoveNextCore() => false; - public override bool IsColumnActive(int col) => 0 <= col && col < _active.Length && _active[col]; + /// + /// Returns whether the given column is active in this row. + /// + public override bool IsColumnActive(DataViewSchema.Column column) => column.Index < _active.Length && _active[column.Index]; - public override ValueGetter GetGetter(int col) + /// + /// Returns a value getter delegate to fetch the value of column with the given columnIndex, from the row. + /// This throws if the column is not active in this row, or if the type + /// differs from this column's type. + /// + /// is the column's content type. + /// is the output column whose getter should be returned. + public override ValueGetter GetGetter(DataViewSchema.Column column) { - Ch.Check(IsColumnActive(col), "Cannot get getter for inactive column"); return (ref TValue value) => throw Ch.Except(RowCursorUtils.FetchValueStateError); } } diff --git a/src/Test/Utils/MLNetUtils/MLNetUtils.cs b/src/Test/Utils/MLNetUtils/MLNetUtils.cs index 06a83eaf3a..c39f8ae195 100644 --- a/src/Test/Utils/MLNetUtils/MLNetUtils.cs +++ b/src/Test/Utils/MLNetUtils/MLNetUtils.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; -using Microsoft.Data.DataView; namespace Microsoft.ML.Auto.Test { diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index 6eec3474d6..b28da58ddd 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -15,6 +15,7 @@ namespace mlnet.Test { + [Ignore] [TestClass] [UseReporter(typeof(DiffReporter))] public class ConsoleCodeGeneratorTests diff --git a/src/mlnet.Test/DatasetUtil.cs b/src/mlnet.Test/DatasetUtil.cs index 6a9382bd71..061268d620 100644 --- a/src/mlnet.Test/DatasetUtil.cs +++ b/src/mlnet.Test/DatasetUtil.cs @@ -5,9 +5,7 @@ using System; using System.IO; using System.Net; -using Microsoft.Data.DataView; using Microsoft.ML; -using Microsoft.ML.Data; using Microsoft.ML.Auto; namespace mlnet.Test diff --git a/src/mlnet.Test/TrainerGeneratorTests.cs b/src/mlnet.Test/TrainerGeneratorTests.cs index 58faddb268..a8669e86b5 100644 --- a/src/mlnet.Test/TrainerGeneratorTests.cs +++ b/src/mlnet.Test/TrainerGeneratorTests.cs @@ -9,6 +9,7 @@ namespace mlnet.Test /**************************** * TODO : Add all trainer tests : * **************************/ + [Ignore] [TestClass] public class TrainerGeneratorTests { diff --git a/src/mlnet/AutoML/AutoMLEngine.cs b/src/mlnet/AutoML/AutoMLEngine.cs index d87ce6b4a4..7c5abf8cc8 100644 --- a/src/mlnet/AutoML/AutoMLEngine.cs +++ b/src/mlnet/AutoML/AutoMLEngine.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; -using Microsoft.Data.DataView; using Microsoft.ML.Auto; using Microsoft.ML.CLI.Data; using Microsoft.ML.CLI.ShellProgressBar; @@ -77,7 +76,7 @@ IEnumerable> IAutoMLEngine.ExploreRegressionModels( return result; } - IEnumerable> IAutoMLEngine.ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar) + IEnumerable> IAutoMLEngine.ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar) { var progressReporter = new ProgressHandlers.MulticlassClassificationHandler(optimizationMetric, progressBar); var result = context.Auto() diff --git a/src/mlnet/AutoML/IAutoMLEngine.cs b/src/mlnet/AutoML/IAutoMLEngine.cs index da72a7a82c..31e3bf7a90 100644 --- a/src/mlnet/AutoML/IAutoMLEngine.cs +++ b/src/mlnet/AutoML/IAutoMLEngine.cs @@ -1,10 +1,8 @@ - -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Collections.Generic; -using Microsoft.Data.DataView; using Microsoft.ML.Auto; using Microsoft.ML.CLI.ShellProgressBar; using Microsoft.ML.Data; @@ -17,7 +15,7 @@ internal interface IAutoMLEngine IEnumerable> ExploreBinaryClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, BinaryClassificationMetric optimizationMetric, ProgressBar progressBar); - IEnumerable> ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar); + IEnumerable> ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar); IEnumerable> ExploreRegressionModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, RegressionMetric optimizationMetric, ProgressBar progressBar); diff --git a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs index fb29594c9a..465d578b5f 100644 --- a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs @@ -42,25 +42,25 @@ internal static ITrainerGenerator GetInstance(PipelineNode node) return new FastTreeTweedie(node); case TrainerName.LinearSvmBinary: return new LinearSvm(node); - case TrainerName.LogisticRegressionBinary: + case TrainerName.LbfgsLogisticRegressionBinary: return new LogisticRegressionBinary(node); - case TrainerName.LogisticRegressionMulti: + case TrainerName.LbfgsMaximumEntropyMulti: return new LogisticRegressionMulti(node); case TrainerName.OnlineGradientDescentRegression: return new OnlineGradientDescentRegression(node); - case TrainerName.OrdinaryLeastSquaresRegression: + case TrainerName.OlsRegression: return new OrdinaryLeastSquaresRegression(node); - case TrainerName.PoissonRegression: + case TrainerName.LbfgsPoissonRegression: return new PoissonRegression(node); - case TrainerName.SdcaBinary: + case TrainerName.SdcaLogisticRegressionBinary: return new StochasticDualCoordinateAscentBinary(node); - case TrainerName.SdcaMulti: + case TrainerName.SdcaMaximumEntropyMulti: return new StochasticDualCoordinateAscentMulti(node); case TrainerName.SdcaRegression: return new StochasticDualCoordinateAscentRegression(node); - case TrainerName.StochasticGradientDescentBinary: + case TrainerName.SgdCalibratedBinary: return new StochasticGradientDescentClassification(node); - case TrainerName.SymSgdBinary: + case TrainerName.SymbolicSgdLogisticRegressionBinary: return new SymbolicStochasticGradientDescent(node); case TrainerName.Ova: return new OneVersusAll(node); diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index 3a9118a497..6a40b15257 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -9,7 +9,6 @@ using System.Runtime.ExceptionServices; using System.Threading; using System.Threading.Tasks; -using Microsoft.Data.DataView; using Microsoft.ML.Auto; using Microsoft.ML.CLI.CodeGenerator.CSharp; using Microsoft.ML.CLI.Data; @@ -76,7 +75,7 @@ public void GenerateCode() // i.e there is no common class/interface to handle all three tasks together. IEnumerable> binaryRunResults = default; - IEnumerable> multiRunResults = default; + IEnumerable> multiRunResults = default; IEnumerable> regressionRunResults = default; Console.WriteLine($"{Strings.ExplorePipeline}: {settings.MlTask}"); @@ -173,7 +172,7 @@ public void GenerateCode() logger.Log(LogLevel.Info, Strings.SavingBestModel); var modelprojectDir = Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.Model"); var modelPath = new FileInfo(Path.Combine(modelprojectDir, "MLModel.zip")); - Utils.SaveModel(bestModel, modelPath, context); + Utils.SaveModel(bestModel, modelPath, context, trainData.Schema); // Generate the Project GenerateProject(columnInference, bestPipeline, columnInformation.LabelColumn, modelPath); diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 54e9c6b3c5..86fdb35332 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -18,17 +18,17 @@ internal class ConsolePrinter internal static void PrintMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics, double bestMetric, double runtimeInSeconds, LogLevel logLevel) { - logger.Log(logLevel, $"{iteration,-4} {trainerName,-35} {metrics?.Accuracy ?? double.NaN,9:F4} {metrics?.Auc ?? double.NaN,8:F4} {metrics?.Auprc ?? double.NaN,8:F4} {metrics?.F1Score ?? double.NaN,9:F4} {bestMetric,8:F4} {runtimeInSeconds,9:F1}"); + logger.Log(logLevel, $"{iteration,-4} {trainerName,-35} {metrics?.Accuracy ?? double.NaN,9:F4} {metrics?.AreaUnderRocCurve ?? double.NaN,8:F4} {metrics?.AreaUnderPrecisionRecallCurve ?? double.NaN,8:F4} {metrics?.F1Score ?? double.NaN,9:F4} {bestMetric,8:F4} {runtimeInSeconds,9:F1}"); } - internal static void PrintMetrics(int iteration, string trainerName, MultiClassClassifierMetrics metrics, double bestMetric, double runtimeInSeconds, LogLevel logLevel) + internal static void PrintMetrics(int iteration, string trainerName, MulticlassClassificationMetrics metrics, double bestMetric, double runtimeInSeconds, LogLevel logLevel) { - logger.Log(logLevel, $"{iteration,-4} {trainerName,-35} {metrics?.AccuracyMicro ?? double.NaN,14:F4} {metrics?.AccuracyMacro ?? double.NaN,14:F4} {bestMetric,14:F4} {runtimeInSeconds,9:F1}"); + logger.Log(logLevel, $"{iteration,-4} {trainerName,-35} {metrics?.MicroAccuracy ?? double.NaN,14:F4} {metrics?.MicroAccuracy ?? double.NaN,14:F4} {bestMetric,14:F4} {runtimeInSeconds,9:F1}"); } internal static void PrintMetrics(int iteration, string trainerName, RegressionMetrics metrics, double bestMetric, double runtimeInSeconds, LogLevel logLevel) { - logger.Log(logLevel, $"{iteration,-4} {trainerName,-35} {metrics?.RSquared ?? double.NaN,9:F4} {metrics?.LossFn ?? double.NaN,12:F2} {metrics?.L1 ?? double.NaN,15:F2} {metrics?.L2 ?? double.NaN,15:F2} {metrics?.Rms ?? double.NaN,12:F2} {bestMetric,12:F4} {runtimeInSeconds,9:F1}"); + logger.Log(logLevel, $"{iteration,-4} {trainerName,-35} {metrics?.RSquared ?? double.NaN,9:F4} {metrics?.LossFunction ?? double.NaN,12:F2} {metrics?.MeanAbsoluteError ?? double.NaN,15:F2} {metrics?.MeanSquaredError ?? double.NaN,15:F2} {metrics?.RootMeanSquaredError ?? double.NaN,12:F2} {bestMetric,12:F4} {runtimeInSeconds,9:F1}"); } @@ -111,7 +111,7 @@ internal static void PrintIterationSummary(IEnumerable> results, MulticlassClassificationMetric optimizationMetric, int count) + internal static void PrintIterationSummary(IEnumerable> results, MulticlassClassificationMetric optimizationMetric, int count) { var metricsAgent = new MultiMetricsAgent(optimizationMetric); var topNResults = RunResultUtil.GetTopNRunResults(results, metricsAgent, count); diff --git a/src/mlnet/Utilities/ProgressHandlers.cs b/src/mlnet/Utilities/ProgressHandlers.cs index 945624ce90..4a94751053 100644 --- a/src/mlnet/Utilities/ProgressHandlers.cs +++ b/src/mlnet/Utilities/ProgressHandlers.cs @@ -95,11 +95,11 @@ private void UpdateBestResult(RunResult iterationRe } } - internal class MulticlassClassificationHandler : IProgress> + internal class MulticlassClassificationHandler : IProgress> { private readonly bool isMaximizing; - private readonly Func, double> GetScore; - private RunResult bestResult; + private readonly Func, double> GetScore; + private RunResult bestResult; private int iterationIndex; private ProgressBar progressBar; private string optimizationMetric = string.Empty; @@ -109,18 +109,18 @@ public MulticlassClassificationHandler(MulticlassClassificationMetric optimizati this.isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; this.optimizationMetric = optimizationMetric.ToString(); this.progressBar = progressBar; - GetScore = (RunResult result) => new MultiMetricsAgent(optimizationMetric).GetScore(result?.ValidationMetrics); + GetScore = (RunResult result) => new MultiMetricsAgent(optimizationMetric).GetScore(result?.ValidationMetrics); ConsolePrinter.PrintMulticlassClassificationMetricsHeader(LogLevel.Trace); } - public void Report(RunResult iterationResult) + public void Report(RunResult iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds, LogLevel.Trace); } - private void UpdateBestResult(RunResult iterationResult) + private void UpdateBestResult(RunResult iterationResult) { if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) { diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index 0e473701c7..13ee1b2542 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -32,7 +32,8 @@ internal static LogLevel GetVerbosity(string verbosity) } } - internal static void SaveModel(ITransformer model, FileInfo modelPath, MLContext mlContext) + internal static void SaveModel(ITransformer model, FileInfo modelPath, MLContext mlContext, + DataViewSchema modelInputSchema) { if (!Directory.Exists(modelPath.Directory.FullName)) @@ -40,8 +41,8 @@ internal static void SaveModel(ITransformer model, FileInfo modelPath, MLContext Directory.CreateDirectory(modelPath.Directory.FullName); } - using (var fs = System.IO.File.Create(modelPath.FullName)) - model.SaveTo(mlContext, fs); + using (var fs = File.Create(modelPath.FullName)) + mlContext.Model.Save(model, modelInputSchema, fs); } internal static string Sanitize(string name) @@ -125,8 +126,8 @@ internal static ColumnInformation GetSanitizedColumnInformation(ColumnInformatio result.LabelColumn = Sanitize(columnInformation.LabelColumn); - if (!string.IsNullOrEmpty(columnInformation.WeightColumn)) - result.WeightColumn = Sanitize(columnInformation.WeightColumn); + if (!string.IsNullOrEmpty(columnInformation.ExampleWeightColumn)) + result.ExampleWeightColumn = Sanitize(columnInformation.ExampleWeightColumn); if (!string.IsNullOrEmpty(columnInformation.SamplingKeyColumn)) result.SamplingKeyColumn = Sanitize(columnInformation.SamplingKeyColumn); From 43fe8b87251359bcaa9ff1567ee4711e387eeed1 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Wed, 3 Apr 2019 15:49:01 -0700 Subject: [PATCH 191/211] Add cross-validation (CV), and auto-CV for small datasets; push common API experiment methods into base class (#287) --- .../API/BinaryClassificationExperiment.cs | 78 ++------ src/Microsoft.ML.Auto/API/ExperimentBase.cs | 162 +++++++++++++++ .../API/ExperimentSettings.cs | 4 +- .../API/MulticlassClassificationExperiment.cs | 80 ++------ .../API/RegressionExperiment.cs | 80 ++------ .../RunDetails/CrossValidationRunDetails.cs | 41 ++++ .../RunDetails.cs} | 45 +++-- src/Microsoft.ML.Auto/AutoMlUtils.cs | 34 +--- .../ColumnInference/ColumnInformationUtil.cs | 4 +- .../DatasetDimensions/DatasetDimensionsApi.cs | 2 +- .../DatasetDimensionsUtil.cs | 19 ++ .../Experiment/Experiment.cs | 184 ++++-------------- .../MetricsAgents/BinaryMetricsAgent.cs | 32 +-- .../Experiment/MetricsAgents/IMetricsAgent.cs | 4 +- .../MetricsAgents/MultiMetricsAgent.cs | 26 ++- .../MetricsAgents/RegressionMetricsAgent.cs | 23 ++- .../Experiment/Runners/CrossValRunner.cs | 84 ++++++++ .../Runners/CrossValSummaryRunner.cs | 111 +++++++++++ .../Experiment/Runners/IRunner.cs | 14 ++ .../Experiment/Runners/RunnerUtil.cs | 62 ++++++ .../Experiment/Runners/TrainValidateRunner.cs | 70 +++++++ .../Experiment/SuggestedPipelineResult.cs | 60 ------ .../SuggestedPipelineCrossValRunDetails.cs | 53 +++++ .../SuggestedPipelineRunDetails.cs | 57 ++++++ .../PipelineSuggesters/PipelineSuggester.cs | 20 +- .../TransformInference/TransformInference.cs | 6 +- .../TransformInferenceApi.cs | 4 +- .../TransformPostTrainerInference.cs | 8 +- src/Microsoft.ML.Auto/Utils/BestResultUtil.cs | 86 ++++++++ .../Utils/DatasetColumnInfo.cs | 41 ++++ .../Utils/MLNetUtils/ColumnTypeExtensions.cs | 20 ++ src/Microsoft.ML.Auto/Utils/RunResultUtil.cs | 33 ---- src/Microsoft.ML.Auto/Utils/SplitUtil.cs | 61 ++++++ .../Utils/UserInputValidationUtil.cs | 8 + src/Samples/AdvancedExperimentSettings.cs | 3 +- src/Samples/AdvancedTrainingSettings.cs | 6 +- src/Samples/AutoTrainBinaryClassification.cs | 6 +- .../AutoTrainMulticlassClassification.cs | 6 +- src/Samples/AutoTrainRegression.cs | 8 +- src/Samples/Cancellation.cs | 6 +- src/Samples/CrossValidation.cs | 68 +++++++ src/Samples/InferColumns.cs | 8 +- src/Samples/ObserveProgress.cs | 9 +- src/Samples/Program.cs | 3 + src/Samples/RefitBestModel.cs | 6 +- src/Test/AutoFitTests.cs | 16 +- src/Test/BestResultUtilTests.cs | 63 ++++++ src/Test/GetNextPipelineTests.cs | 4 +- src/Test/MetricsAgentsTests.cs | 21 +- src/Test/RunResultTests.cs | 47 ----- src/Test/TransformInferenceTests.cs | 147 +++++++------- .../TransformPostTrainerInferenceTests.cs | 20 +- src/mlnet/AutoML/AutoMLEngine.cs | 21 +- src/mlnet/AutoML/IAutoMLEngine.cs | 6 +- .../CodeGenerator/CodeGenerationHelper.cs | 30 +-- src/mlnet/Utilities/ConsolePrinter.cs | 18 +- src/mlnet/Utilities/ProgressHandlers.cs | 38 ++-- 57 files changed, 1413 insertions(+), 763 deletions(-) create mode 100644 src/Microsoft.ML.Auto/API/ExperimentBase.cs create mode 100644 src/Microsoft.ML.Auto/API/RunDetails/CrossValidationRunDetails.cs rename src/Microsoft.ML.Auto/API/{RunResult.cs => RunDetails/RunDetails.cs} (59%) create mode 100644 src/Microsoft.ML.Auto/Experiment/Runners/CrossValRunner.cs create mode 100644 src/Microsoft.ML.Auto/Experiment/Runners/CrossValSummaryRunner.cs create mode 100644 src/Microsoft.ML.Auto/Experiment/Runners/IRunner.cs create mode 100644 src/Microsoft.ML.Auto/Experiment/Runners/RunnerUtil.cs create mode 100644 src/Microsoft.ML.Auto/Experiment/Runners/TrainValidateRunner.cs delete mode 100644 src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs create mode 100644 src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineCrossValRunDetails.cs create mode 100644 src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetails.cs create mode 100644 src/Microsoft.ML.Auto/Utils/BestResultUtil.cs create mode 100644 src/Microsoft.ML.Auto/Utils/DatasetColumnInfo.cs delete mode 100644 src/Microsoft.ML.Auto/Utils/RunResultUtil.cs create mode 100644 src/Microsoft.ML.Auto/Utils/SplitUtil.cs create mode 100644 src/Samples/CrossValidation.cs create mode 100644 src/Test/BestResultUtilTests.cs delete mode 100644 src/Test/RunResultTests.cs diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index 25c4bd0f19..7363e1b5de 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -14,7 +14,6 @@ public sealed class BinaryExperimentSettings : ExperimentSettings public BinaryClassificationMetric OptimizingMetric { get; set; } = BinaryClassificationMetric.Accuracy; public ICollection Trainers { get; } = Enum.GetValues(typeof(BinaryClassificationTrainer)).OfType().ToList(); - public IProgress> ProgressHandler { get; set; } } public enum BinaryClassificationMetric @@ -42,74 +41,33 @@ public enum BinaryClassificationTrainer SymbolicSgdLogisticRegression, } - public sealed class BinaryClassificationExperiment + public sealed class BinaryClassificationExperiment : ExperimentBase { - private readonly MLContext _context; - private readonly BinaryExperimentSettings _settings; - internal BinaryClassificationExperiment(MLContext context, BinaryExperimentSettings settings) + : base(context, + new BinaryMetricsAgent(context, settings.OptimizingMetric), + new OptimizingMetricInfo(settings.OptimizingMetric), + settings, + TaskKind.BinaryClassification, + TrainerExtensionUtil.GetTrainerNames(settings.Trainers)) { - _context = context; - _settings = settings; - } - - public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, - string samplingKeyColumn = null, IEstimator preFeaturizers = null) - { - var columnInformation = new ColumnInformation() - { - LabelColumn = labelColumn, - SamplingKeyColumn = samplingKeyColumn - }; - return Execute(_context, trainData, columnInformation, null, preFeaturizers); - } - - public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) - { - return Execute(_context, trainData, columnInformation, null, preFeaturizers); - } - - public IEnumerable> Execute(IDataView trainData, IDataView validationData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizers = null) - { - var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; - return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); - } - - public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) - { - return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); - } - - internal IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) - { - throw new NotImplementedException(); - } - - internal IEnumerable> Execute(MLContext context, - IDataView trainData, - ColumnInformation columnInfo, - IDataView validationData = null, - IEstimator preFeaturizers = null) - { - columnInfo = columnInfo ?? new ColumnInformation(); - UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, columnInfo, validationData); - - // run autofit & get all pipelines run in that process - var experiment = new Experiment(context, TaskKind.BinaryClassification, trainData, columnInfo, - validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), _settings.ProgressHandler, - _settings, new BinaryMetricsAgent(_settings.OptimizingMetric), - TrainerExtensionUtil.GetTrainerNames(_settings.Trainers)); - - return experiment.Execute(); } } public static class BinaryExperimentResultExtensions { - public static RunResult Best(this IEnumerable> results, BinaryClassificationMetric metric = BinaryClassificationMetric.Accuracy) + public static RunDetails Best(this IEnumerable> results, BinaryClassificationMetric metric = BinaryClassificationMetric.Accuracy) + { + var metricsAgent = new BinaryMetricsAgent(null, metric); + var isMetricMaximizing = new OptimizingMetricInfo(metric).IsMaximizing; + return BestResultUtil.GetBestRun(results, metricsAgent, isMetricMaximizing); + } + + public static CrossValidationRunDetails Best(this IEnumerable> results, BinaryClassificationMetric metric = BinaryClassificationMetric.Accuracy) { - var metricsAgent = new BinaryMetricsAgent(metric); - return RunResultUtil.GetBestRunResult(results, metricsAgent); + var metricsAgent = new BinaryMetricsAgent(null, metric); + var isMetricMaximizing = new OptimizingMetricInfo(metric).IsMaximizing; + return BestResultUtil.GetBestRun(results, metricsAgent, isMetricMaximizing); } } } diff --git a/src/Microsoft.ML.Auto/API/ExperimentBase.cs b/src/Microsoft.ML.Auto/API/ExperimentBase.cs new file mode 100644 index 0000000000..c658a720ca --- /dev/null +++ b/src/Microsoft.ML.Auto/API/ExperimentBase.cs @@ -0,0 +1,162 @@ +// Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; + +namespace Microsoft.ML.Auto +{ + public abstract class ExperimentBase where TMetrics : class + { + protected readonly MLContext Context; + + private readonly IMetricsAgent _metricsAgent; + private readonly OptimizingMetricInfo _optimizingMetricInfo; + private readonly ExperimentSettings _settings; + private readonly TaskKind _task; + private readonly IEnumerable _trainerWhitelist; + + internal ExperimentBase(MLContext context, + IMetricsAgent metricsAgent, + OptimizingMetricInfo optimizingMetricInfo, + ExperimentSettings settings, + TaskKind task, + IEnumerable trainerWhitelist) + { + Context = context; + _metricsAgent = metricsAgent; + _optimizingMetricInfo = optimizingMetricInfo; + _settings = settings; + _task = task; + _trainerWhitelist = trainerWhitelist; + } + + public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, + string samplingKeyColumn = null, IEstimator preFeaturizers = null, IProgress> progressHandler = null) + { + var columnInformation = new ColumnInformation() + { + LabelColumn = labelColumn, + SamplingKeyColumn = samplingKeyColumn + }; + return Execute(trainData, columnInformation, preFeaturizers, progressHandler); + } + + public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation, + IEstimator preFeaturizer = null, IProgress> progressHandler = null) + { + // Cross val threshold for # of dataset rows -- + // If dataset has < threshold # of rows, use cross val. + // Else, use run experiment using train-validate split. + const int crossValRowCountThreshold = 15000; + + var rowCount = DatasetDimensionsUtil.CountRows(trainData, crossValRowCountThreshold); + + if (rowCount < crossValRowCountThreshold) + { + const int numCrossValFolds = 10; + var splitResult = SplitUtil.CrossValSplit(Context, trainData, numCrossValFolds, columnInformation?.SamplingKeyColumn); + return ExecuteCrossValSummary(splitResult.trainDatasets, columnInformation, splitResult.validationDatasets, preFeaturizer, progressHandler); + } + else + { + var splitResult = SplitUtil.TrainValidateSplit(Context, trainData, columnInformation?.SamplingKeyColumn); + return ExecuteTrainValidate(splitResult.trainData, columnInformation, splitResult.validationData, preFeaturizer, progressHandler); + } + } + + public IEnumerable> Execute(IDataView trainData, IDataView validationData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizer = null, IProgress> progressHandler = null) + { + var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; + return Execute(trainData, validationData, columnInformation, preFeaturizer, progressHandler); + } + + public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation, IEstimator preFeaturizer = null, IProgress> progressHandler = null) + { + if (validationData == null) + { + var splitResult = SplitUtil.TrainValidateSplit(Context, trainData, columnInformation?.SamplingKeyColumn); + trainData = splitResult.trainData; + validationData = splitResult.validationData; + } + return ExecuteTrainValidate(trainData, columnInformation, validationData, preFeaturizer, progressHandler); + } + + public IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null, IProgress> progressHandler = null) + { + UserInputValidationUtil.ValidateNumberOfCVFoldsArg(numberOfCVFolds); + var splitResult = SplitUtil.CrossValSplit(Context, trainData, numberOfCVFolds, columnInformation?.SamplingKeyColumn); + return ExecuteCrossVal(splitResult.trainDatasets, columnInformation, splitResult.validationDatasets, preFeaturizers, progressHandler); + } + + public IEnumerable> Execute(IDataView trainData, + uint numberOfCVFolds, string labelColumn = DefaultColumnNames.Label, + string samplingKeyColumn = null, IEstimator preFeaturizers = null, + Progress> progressHandler = null) + { + var columnInformation = new ColumnInformation() + { + LabelColumn = labelColumn, + SamplingKeyColumn = samplingKeyColumn + }; + return Execute(trainData, numberOfCVFolds, columnInformation, preFeaturizers, progressHandler); + } + + private IEnumerable> ExecuteTrainValidate(IDataView trainData, + ColumnInformation columnInfo, + IDataView validationData, + IEstimator preFeaturizer, + IProgress> progressHandler) + { + columnInfo = columnInfo ?? new ColumnInformation(); + UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, columnInfo, validationData); + var runner = new TrainValidateRunner(Context, trainData, validationData, columnInfo.LabelColumn, _metricsAgent, + preFeaturizer, _settings.DebugLogger); + var columns = DatasetColumnInfoUtil.GetDatasetColumnInfo(Context, trainData, columnInfo); + return Execute(columnInfo, columns, preFeaturizer, progressHandler, runner); + } + + private IEnumerable> ExecuteCrossVal(IDataView[] trainDatasets, + ColumnInformation columnInfo, + IDataView[] validationDatasets, + IEstimator preFeaturizer, + IProgress> progressHandler) + { + columnInfo = columnInfo ?? new ColumnInformation(); + UserInputValidationUtil.ValidateExperimentExecuteArgs(trainDatasets[0], columnInfo, validationDatasets[0]); + var runner = new CrossValRunner(Context, trainDatasets, validationDatasets, _metricsAgent, preFeaturizer, + columnInfo.LabelColumn, _settings.DebugLogger); + var columns = DatasetColumnInfoUtil.GetDatasetColumnInfo(Context, trainDatasets[0], columnInfo); + return Execute(columnInfo, columns, preFeaturizer, progressHandler, runner); + } + + private IEnumerable> ExecuteCrossValSummary(IDataView[] trainDatasets, + ColumnInformation columnInfo, + IDataView[] validationDatasets, + IEstimator preFeaturizer, + IProgress> progressHandler) + { + columnInfo = columnInfo ?? new ColumnInformation(); + UserInputValidationUtil.ValidateExperimentExecuteArgs(trainDatasets[0], columnInfo, validationDatasets[0]); + var runner = new CrossValSummaryRunner(Context, trainDatasets, validationDatasets, _metricsAgent, preFeaturizer, + columnInfo.LabelColumn, _optimizingMetricInfo, _settings.DebugLogger); + var columns = DatasetColumnInfoUtil.GetDatasetColumnInfo(Context, trainDatasets[0], columnInfo); + return Execute(columnInfo, columns, preFeaturizer, progressHandler, runner); + } + + private IEnumerable Execute(ColumnInformation columnInfo, + DatasetColumnInfo[] columns, + IEstimator preFeaturizer, + IProgress progressHandler, + IRunner runner) + where TRunDetails : RunDetails + { + // Execute experiment & get all pipelines run + var experiment = new Experiment(Context, _task, _optimizingMetricInfo, progressHandler, + _settings, _metricsAgent, _trainerWhitelist, columns, runner); + + return experiment.Execute(); + } + } +} diff --git a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs index 5fa4c05e38..43c6c8befe 100644 --- a/src/Microsoft.ML.Auto/API/ExperimentSettings.cs +++ b/src/Microsoft.ML.Auto/API/ExperimentSettings.cs @@ -18,14 +18,14 @@ public class ExperimentSettings /// (Please note: for an experiment with high runtime operating on a large dataset, opting to keep models in /// memory could cause a system to run out of memory.) /// - public DirectoryInfo ModelDirectory { get; set; } = new DirectoryInfo(Path.Combine(Path.GetTempPath(), "Microsoft.ML.Auto")); + public DirectoryInfo CacheDirectory { get; set; } = new DirectoryInfo(Path.Combine(Path.GetTempPath(), "Microsoft.ML.Auto")); /// /// This setting controls whether or not an AutoML experiment will make use of ML.NET-provided caching. /// If set to true, caching will be forced on for all pipelines. If set to false, caching will be forced off. /// If set to null (default value), AutoML will decide whether to enable caching for each model. /// - public bool? EnableCaching = null; + public bool? CacheBeforeTrainer = null; internal int MaxModels = int.MaxValue; internal IDebugLogger DebugLogger; diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index 44adb06cbd..710dee1068 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -14,7 +14,6 @@ public sealed class MulticlassExperimentSettings : ExperimentSettings public MulticlassClassificationMetric OptimizingMetric { get; set; } = MulticlassClassificationMetric.MicroAccuracy; public ICollection Trainers { get; } = Enum.GetValues(typeof(MulticlassClassificationTrainer)).OfType().ToList(); - public IProgress> ProgressHandler { get; set; } } public enum MulticlassClassificationMetric @@ -40,74 +39,33 @@ public enum MulticlassClassificationTrainer SymbolicSgdLogisticRegressionOVA, } - public sealed class MulticlassClassificationExperiment + public sealed class MulticlassClassificationExperiment : ExperimentBase { - private readonly MLContext _context; - private readonly MulticlassExperimentSettings _settings; - internal MulticlassClassificationExperiment(MLContext context, MulticlassExperimentSettings settings) + : base(context, + new MultiMetricsAgent(context, settings.OptimizingMetric), + new OptimizingMetricInfo(settings.OptimizingMetric), + settings, + TaskKind.MulticlassClassification, + TrainerExtensionUtil.GetTrainerNames(settings.Trainers)) { - _context = context; - _settings = settings; - } - - public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, - string samplingKeyColumn = null, IEstimator preFeaturizers = null) - { - var columnInformation = new ColumnInformation() - { - LabelColumn = labelColumn, - SamplingKeyColumn = samplingKeyColumn - }; - return Execute(_context, trainData, columnInformation, null, preFeaturizers); - } - - public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) - { - return Execute(_context, trainData, columnInformation, null, preFeaturizers); - } - - public IEnumerable> Execute(IDataView trainData, IDataView validationData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizers = null) - { - var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; - return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); - } - - public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) - { - return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); - } - - internal IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) - { - throw new NotImplementedException(); - } - - internal IEnumerable> Execute(MLContext context, - IDataView trainData, - ColumnInformation columnInfo, - IDataView validationData = null, - IEstimator preFeaturizers = null) - { - columnInfo = columnInfo ?? new ColumnInformation(); - UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, columnInfo, validationData); - - // run autofit & get all pipelines run in that process - var experiment = new Experiment(context, TaskKind.MulticlassClassification, trainData, - columnInfo, validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), - _settings.ProgressHandler, _settings, new MultiMetricsAgent(_settings.OptimizingMetric), - TrainerExtensionUtil.GetTrainerNames(_settings.Trainers)); - - return experiment.Execute(); } } public static class MulticlassExperimentResultExtensions { - public static RunResult Best(this IEnumerable> results, MulticlassClassificationMetric metric = MulticlassClassificationMetric.MicroAccuracy) + public static RunDetails Best(this IEnumerable> results, MulticlassClassificationMetric metric = MulticlassClassificationMetric.MicroAccuracy) + { + var metricsAgent = new MultiMetricsAgent(null, metric); + var isMetricMaximizing = new OptimizingMetricInfo(metric).IsMaximizing; + return BestResultUtil.GetBestRun(results, metricsAgent, isMetricMaximizing); + } + + public static CrossValidationRunDetails Best(this IEnumerable> results, MulticlassClassificationMetric metric = MulticlassClassificationMetric.MicroAccuracy) { - var metricsAgent = new MultiMetricsAgent(metric); - return RunResultUtil.GetBestRunResult(results, metricsAgent); + var metricsAgent = new MultiMetricsAgent(null, metric); + var isMetricMaximizing = new OptimizingMetricInfo(metric).IsMaximizing; + return BestResultUtil.GetBestRun(results, metricsAgent, isMetricMaximizing); } } -} +} \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index 7a8bb9f892..42990de65c 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -14,7 +14,6 @@ public sealed class RegressionExperimentSettings : ExperimentSettings public RegressionMetric OptimizingMetric { get; set; } = RegressionMetric.RSquared; public ICollection Trainers { get; } = Enum.GetValues(typeof(RegressionTrainer)).OfType().ToList(); - public IProgress> ProgressHandler { get; set; } } public enum RegressionMetric @@ -37,74 +36,33 @@ public enum RegressionTrainer StochasticDualCoordinateAscent, } - public sealed class RegressionExperiment + public sealed class RegressionExperiment : ExperimentBase { - private readonly MLContext _context; - private readonly RegressionExperimentSettings _settings; - - internal RegressionExperiment(MLContext context, RegressionExperimentSettings settings) - { - _context = context; - _settings = settings; - } - - public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, - string samplingKeyColumn = null, IEstimator preFeaturizers = null) - { - var columnInformation = new ColumnInformation() - { - LabelColumn = labelColumn, - SamplingKeyColumn = samplingKeyColumn - }; - return Execute(_context, trainData, columnInformation, null, preFeaturizers); - } - - public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) - { - return Execute(_context, trainData, columnInformation, null, preFeaturizers); - } - - public IEnumerable> Execute(IDataView trainData, IDataView validationData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizers = null) - { - var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; - return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); - } - - public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation, IEstimator preFeaturizers = null) - { - return Execute(_context, trainData, columnInformation, validationData, preFeaturizers); - } - - internal IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null) - { - throw new NotImplementedException(); - } - - internal IEnumerable> Execute(MLContext context, - IDataView trainData, - ColumnInformation columnInfo, - IDataView validationData = null, - IEstimator preFeaturizers = null) + internal RegressionExperiment(MLContext context, RegressionExperimentSettings settings) + : base(context, + new RegressionMetricsAgent(context, settings.OptimizingMetric), + new OptimizingMetricInfo(settings.OptimizingMetric), + settings, + TaskKind.Regression, + TrainerExtensionUtil.GetTrainerNames(settings.Trainers)) { - columnInfo = columnInfo ?? new ColumnInformation(); - UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, columnInfo, validationData); - - // run autofit & get all pipelines run in that process - var experiment = new Experiment(context, TaskKind.Regression, trainData, columnInfo, - validationData, preFeaturizers, new OptimizingMetricInfo(_settings.OptimizingMetric), - _settings.ProgressHandler, _settings, new RegressionMetricsAgent(_settings.OptimizingMetric), - TrainerExtensionUtil.GetTrainerNames(_settings.Trainers)); - - return experiment.Execute(); } } public static class RegressionExperimentResultExtensions { - public static RunResult Best(this IEnumerable> results, RegressionMetric metric = RegressionMetric.RSquared) + public static RunDetails Best(this IEnumerable> results, RegressionMetric metric = RegressionMetric.RSquared) + { + var metricsAgent = new RegressionMetricsAgent(null, metric); + var isMetricMaximizing = new OptimizingMetricInfo(metric).IsMaximizing; + return BestResultUtil.GetBestRun(results, metricsAgent, isMetricMaximizing); + } + + public static CrossValidationRunDetails Best(this IEnumerable> results, RegressionMetric metric = RegressionMetric.RSquared) { - var metricsAgent = new RegressionMetricsAgent(metric); - return RunResultUtil.GetBestRunResult(results, metricsAgent); + var metricsAgent = new RegressionMetricsAgent(null, metric); + var isMetricMaximizing = new OptimizingMetricInfo(metric).IsMaximizing; + return BestResultUtil.GetBestRun(results, metricsAgent, isMetricMaximizing); } } } diff --git a/src/Microsoft.ML.Auto/API/RunDetails/CrossValidationRunDetails.cs b/src/Microsoft.ML.Auto/API/RunDetails/CrossValidationRunDetails.cs new file mode 100644 index 0000000000..c70ad4b5fd --- /dev/null +++ b/src/Microsoft.ML.Auto/API/RunDetails/CrossValidationRunDetails.cs @@ -0,0 +1,41 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; + +namespace Microsoft.ML.Auto +{ + public sealed class CrossValidationRunDetails : RunDetails + { + public IEnumerable> Results { get; private set; } + + internal CrossValidationRunDetails(string trainerName, + IEstimator estimator, + Pipeline pipeline, + IEnumerable> results) : base(trainerName, estimator, pipeline) + { + Results = results; + } + } + + public sealed class TrainResult + { + public TMetrics ValidationMetrics { get; private set; } + public ITransformer Model { get { return _modelContainer.GetModel(); } } + public Exception Exception { get; private set; } + + private readonly ModelContainer _modelContainer; + + internal TrainResult(ModelContainer modelContainer, + TMetrics metrics, + Exception exception) + { + _modelContainer = modelContainer; + ValidationMetrics = metrics; + Exception = exception; + } + } + +} diff --git a/src/Microsoft.ML.Auto/API/RunResult.cs b/src/Microsoft.ML.Auto/API/RunDetails/RunDetails.cs similarity index 59% rename from src/Microsoft.ML.Auto/API/RunResult.cs rename to src/Microsoft.ML.Auto/API/RunDetails/RunDetails.cs index 7f67e3eb58..15275b8cb5 100644 --- a/src/Microsoft.ML.Auto/API/RunResult.cs +++ b/src/Microsoft.ML.Auto/API/RunDetails/RunDetails.cs @@ -3,43 +3,46 @@ // See the LICENSE file in the project root for more information. using System; -using System.IO; -using System.Linq; -using Microsoft.ML.Data; namespace Microsoft.ML.Auto { - public sealed class RunResult + public sealed class RunDetails : RunDetails { - public T ValidationMetrics { get; private set; } + public TMetrics ValidationMetrics { get; private set; } public ITransformer Model { get { return _modelContainer.GetModel(); } } public Exception Exception { get; private set; } - public string TrainerName { get; private set; } - public double RuntimeInSeconds { get; private set; } - public IEstimator Estimator { get; private set; } - - internal Pipeline Pipeline { get; private set; } - internal double PipelineInferenceTimeInSeconds { get; private set; } private readonly ModelContainer _modelContainer; - internal RunResult(ModelContainer modelContainer, - T metrics, + internal RunDetails(string trainerName, IEstimator estimator, - string trainerName, Pipeline pipeline, - Exception exception, - double runtimeInSeconds, - double pipelineInferenceTimeInSeconds) + ModelContainer modelContainer, + TMetrics metrics, + Exception exception) : base(trainerName, estimator, pipeline) { _modelContainer = modelContainer; ValidationMetrics = metrics; - Pipeline = pipeline; - Estimator = estimator; Exception = exception; - RuntimeInSeconds = runtimeInSeconds; - PipelineInferenceTimeInSeconds = pipelineInferenceTimeInSeconds; + } + } + + public abstract class RunDetails + { + public string TrainerName { get; private set; } + public double RuntimeInSeconds { get; internal set; } + public IEstimator Estimator { get; private set; } + + internal Pipeline Pipeline { get; private set; } + internal double PipelineInferenceTimeInSeconds { get; set; } + + internal RunDetails(string trainerName, + IEstimator estimator, + Pipeline pipeline) + { TrainerName = trainerName; + Estimator = estimator; + Pipeline = pipeline; } } } diff --git a/src/Microsoft.ML.Auto/AutoMlUtils.cs b/src/Microsoft.ML.Auto/AutoMlUtils.cs index 0c23a7a640..1ee5570ee3 100644 --- a/src/Microsoft.ML.Auto/AutoMlUtils.cs +++ b/src/Microsoft.ML.Auto/AutoMlUtils.cs @@ -20,37 +20,5 @@ public static void Assert(bool boolVal, string message = null) throw new InvalidOperationException(message); } } - - public static IDataView DropLastColumn(this IDataView data, MLContext context) - { - return context.Transforms.DropColumns(data.Schema[data.Schema.Count - 1].Name).Fit(data).Transform(data); - } - - public static (IDataView testData, IDataView validationData) TestValidateSplit(this TrainCatalogBase catalog, - MLContext context, IDataView trainData, ColumnInformation columnInfo) - { - IDataView validationData; - var splitData = context.Data.TrainTestSplit(trainData, samplingKeyColumnName: columnInfo.SamplingKeyColumn); - trainData = splitData.TrainSet; - validationData = splitData.TestSet; - trainData = trainData.DropLastColumn(context); - validationData = validationData.DropLastColumn(context); - return (trainData, validationData); - } - - public static (string, DataViewType, ColumnPurpose, ColumnDimensions)[] GetColumnInfoTuples(MLContext context, - IDataView data, ColumnInformation columnInfo) - { - var purposes = PurposeInference.InferPurposes(context, data, columnInfo); - var colDimensions = DatasetDimensionsApi.CalcColumnDimensions(context, data, purposes); - var cols = new (string, DataViewType, ColumnPurpose, ColumnDimensions)[data.Schema.Count]; - for (var i = 0; i < cols.Length; i++) - { - var schemaCol = data.Schema[i]; - var col = (schemaCol.Name, schemaCol.Type, purposes[i].Purpose, colDimensions[i]); - cols[i] = col; - } - return cols; - } } -} \ No newline at end of file +} diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs index 186db41ff5..ba8a9fda59 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs @@ -85,9 +85,9 @@ internal static ColumnInformation BuildColumnInfo(IEnumerable<(string name, Colu return columnInfo; } - public static ColumnInformation BuildColumnInfo(IEnumerable<(string, DataViewType, ColumnPurpose, ColumnDimensions)> columns) + public static ColumnInformation BuildColumnInfo(IEnumerable columns) { - return BuildColumnInfo(columns.Select(c => (c.Item1, c.Item3))); + return BuildColumnInfo(columns.Select(c => (c.Name, c.Purpose))); } } } diff --git a/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs b/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs index 22cadf7a11..8d18b5057b 100644 --- a/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs +++ b/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsApi.cs @@ -8,7 +8,7 @@ namespace Microsoft.ML.Auto { internal class DatasetDimensionsApi { - private const int MaxRowsToRead = 1000; + private const long MaxRowsToRead = 1000; public static ColumnDimensions[] CalcColumnDimensions(MLContext context, IDataView data, PurposeInference.Column[] purposes) { diff --git a/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsUtil.cs b/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsUtil.cs index c09e50a5cc..c0dea14fbb 100644 --- a/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsUtil.cs +++ b/src/Microsoft.ML.Auto/DatasetDimensions/DatasetDimensionsUtil.cs @@ -62,5 +62,24 @@ public static bool HasMissingNumericVector(IDataView data, DataViewSchema.Column return false; } } + + public static ulong CountRows(IDataView data, ulong maxRows) + { + var cursor = data.GetRowCursor(new[] { data.Schema[0] }); + ulong rowCount = 0; + while (cursor.MoveNext()) + { + if (++rowCount == maxRows) + { + break; + } + } + return rowCount; + } + + public static bool IsDataViewEmpty(IDataView data) + { + return CountRows(data, 1) == 0; + } } } diff --git a/src/Microsoft.ML.Auto/Experiment/Experiment.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs index 87c5b279b7..11b8a29eff 100644 --- a/src/Microsoft.ML.Auto/Experiment/Experiment.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -10,112 +10,78 @@ namespace Microsoft.ML.Auto { - internal class Experiment where T : class + internal class Experiment where TRunDetails : RunDetails { - private readonly IList> _history; - private readonly ColumnInformation _columnInfo; private readonly MLContext _context; private readonly OptimizingMetricInfo _optimizingMetricInfo; private readonly TaskKind _task; - private readonly IEstimator _preFeaturizers; - private readonly IProgress> _progressCallback; + private readonly IProgress _progressCallback; private readonly ExperimentSettings _experimentSettings; - private readonly IMetricsAgent _metricsAgent; + private readonly IMetricsAgent _metricsAgent; private readonly IEnumerable _trainerWhitelist; private readonly DirectoryInfo _modelDirectory; - private readonly DataViewSchema _trainDataOriginalSchema; + private readonly DatasetColumnInfo[] _datasetColumnInfo; + private readonly IRunner _runner; + private readonly IList _history = new List(); - private IDataView _trainData; - private IDataView _validationData; - private ITransformer _preprocessorTransform; - - List> iterationResults = new List>(); public Experiment(MLContext context, TaskKind task, - IDataView trainData, - ColumnInformation columnInfo, - IDataView validationData, - IEstimator preFeaturizers, OptimizingMetricInfo metricInfo, - IProgress> progressCallback, + IProgress progressCallback, ExperimentSettings experimentSettings, - IMetricsAgent metricsAgent, - IEnumerable trainerWhitelist) + IMetricsAgent metricsAgent, + IEnumerable trainerWhitelist, + DatasetColumnInfo[] datasetColumnInfo, + IRunner runner) { - if (validationData == null) - { - (trainData, validationData) = context.Regression.TestValidateSplit(context, trainData, columnInfo); - } - _trainData = trainData; - _validationData = validationData; - _trainDataOriginalSchema = _trainData.Schema; - - _history = new List>(); - _columnInfo = columnInfo; _context = context; _optimizingMetricInfo = metricInfo; _task = task; - _preFeaturizers = preFeaturizers; _progressCallback = progressCallback; _experimentSettings = experimentSettings; _metricsAgent = metricsAgent; _trainerWhitelist = trainerWhitelist; - _modelDirectory = GetModelDirectory(_experimentSettings.ModelDirectory); + _modelDirectory = GetModelDirectory(_experimentSettings.CacheDirectory); + _datasetColumnInfo = datasetColumnInfo; + _runner = runner; } - public List> Execute() + public IList Execute() { - if (_preFeaturizers != null) - { - // preprocess train and validation data - _preprocessorTransform = _preFeaturizers.Fit(_trainData); - _trainData = _preprocessorTransform.Transform(_trainData); - _validationData = _preprocessorTransform.Transform(_validationData); - } - var stopwatch = Stopwatch.StartNew(); - var columns = AutoMlUtils.GetColumnInfoTuples(_context, _trainData, _columnInfo); + var iterationResults = new List(); do { - SuggestedPipeline pipeline = null; - SuggestedPipelineResult runResult = null; - - try - { - var iterationStopwatch = Stopwatch.StartNew(); - var getPiplelineStopwatch = Stopwatch.StartNew(); - - // get next pipeline - pipeline = PipelineSuggester.GetNextInferredPipeline(_context, _history, columns, _task, _optimizingMetricInfo.IsMaximizing, _trainerWhitelist, _experimentSettings.EnableCaching); - - getPiplelineStopwatch.Stop(); - - // break if no candidates returned, means no valid pipeline available - if (pipeline == null) - { - break; - } + var iterationStopwatch = Stopwatch.StartNew(); - // evaluate pipeline - runResult = ProcessPipeline(pipeline); + // get next pipeline + var getPiplelineStopwatch = Stopwatch.StartNew(); + var pipeline = PipelineSuggester.GetNextInferredPipeline(_context, _history, _datasetColumnInfo, _task, _optimizingMetricInfo.IsMaximizing, _trainerWhitelist, _experimentSettings.CacheBeforeTrainer); + var pipelineInferenceTimeInSeconds = getPiplelineStopwatch.Elapsed.TotalSeconds; - runResult.RuntimeInSeconds = iterationStopwatch.Elapsed.TotalSeconds; - runResult.PipelineInferenceTimeInSeconds = getPiplelineStopwatch.Elapsed.TotalSeconds; - } - catch (Exception ex) + // break if no candidates returned, means no valid pipeline available + if (pipeline == null) { - WriteDebugLog(DebugStream.Exception, $"{pipeline?.Trainer} Crashed {ex}"); - runResult = new SuggestedPipelineResult(null, null, null, pipeline, -1, ex); + break; } - var iterationResult = runResult.ToIterationResult(); - ReportProgress(iterationResult); - iterationResults.Add(iterationResult); + // evaluate pipeline + WriteDebugLog(DebugStream.RunResult, $"Evaluating pipeline {pipeline.ToString()}"); + (SuggestedPipelineRunDetails suggestedPipelineRunDetails, TRunDetails runDetails) + = _runner.Run(pipeline, _modelDirectory, _history.Count + 1); + _history.Add(suggestedPipelineRunDetails); + WriteIterationLog(pipeline, suggestedPipelineRunDetails, iterationStopwatch); + + runDetails.RuntimeInSeconds = iterationStopwatch.Elapsed.TotalSeconds; + runDetails.PipelineInferenceTimeInSeconds = getPiplelineStopwatch.Elapsed.TotalSeconds; + + ReportProgress(runDetails); + iterationResults.Add(runDetails); // if model is perfect, break - if (_metricsAgent.IsModelPerfect(iterationResult.ValidationMetrics)) + if (_metricsAgent.IsModelPerfect(suggestedPipelineRunDetails.Score)) { break; } @@ -154,7 +120,7 @@ private static DirectoryInfo GetModelDirectory(DirectoryInfo rootDir) return experimentDirInfo; } - private void ReportProgress(RunResult iterationResult) + private void ReportProgress(TRunDetails iterationResult) { try { @@ -166,77 +132,7 @@ private void ReportProgress(RunResult iterationResult) } } - private FileInfo GetNextModelFileInfo() - { - if (_experimentSettings.ModelDirectory == null) - { - return null; - } - - return new FileInfo(Path.Combine(_modelDirectory.FullName, - $"Model{_history.Count + 1}.zip")); - } - - private SuggestedPipelineResult ProcessPipeline(SuggestedPipeline pipeline) - { - // run pipeline - var stopwatch = Stopwatch.StartNew(); - - WriteDebugLog(DebugStream.RunResult, $"Processing pipeline {pipeline.ToString()}"); - - SuggestedPipelineResult runResult; - - try - { - var model = pipeline.ToEstimator().Fit(_trainData); - var scoredValidationData = model.Transform(_validationData); - var metrics = GetEvaluatedMetrics(scoredValidationData); - var score = _metricsAgent.GetScore(metrics); - - var estimator = pipeline.ToEstimator(); - if (_preFeaturizers != null) - { - estimator = _preFeaturizers.Append(estimator); - model = _preprocessorTransform.Append(model); - } - - var modelFileInfo = GetNextModelFileInfo(); - var modelContainer = modelFileInfo == null ? - new ModelContainer(_context, model) : - new ModelContainer(_context, modelFileInfo, model, _trainDataOriginalSchema); - - runResult = new SuggestedPipelineResult(metrics, estimator, modelContainer, pipeline, score, null); - } - catch(Exception ex) - { - WriteDebugLog(DebugStream.Exception, $"{pipeline.Trainer} Crashed {ex}"); - runResult = new SuggestedPipelineResult(null, pipeline.ToEstimator(), null, pipeline, 0, ex); - } - - // save pipeline run - _history.Add(runResult); - WriteIterationLog(pipeline, runResult, stopwatch); - - return runResult; - } - - private T GetEvaluatedMetrics(IDataView scoredData) - { - switch(_task) - { - case TaskKind.BinaryClassification: - return _context.BinaryClassification.EvaluateNonCalibrated(scoredData, labelColumnName: _columnInfo.LabelColumn) as T; - case TaskKind.MulticlassClassification: - return _context.MulticlassClassification.Evaluate(scoredData, labelColumnName: _columnInfo.LabelColumn) as T; - case TaskKind.Regression: - return _context.Regression.Evaluate(scoredData, labelColumnName: _columnInfo.LabelColumn) as T; - // should not be possible to reach here - default: - throw new InvalidOperationException($"unsupported machine learning task type {_task}"); - } - } - - private void WriteIterationLog(SuggestedPipeline pipeline, SuggestedPipelineResult runResult, Stopwatch stopwatch) + private void WriteIterationLog(SuggestedPipeline pipeline, SuggestedPipelineRunDetails runResult, Stopwatch stopwatch) { // debug log pipeline result if (runResult.RunSucceded) @@ -255,4 +151,4 @@ private void WriteDebugLog(DebugStream stream, string message) _experimentSettings.DebugLogger.Log(stream, message); } } -} \ No newline at end of file +} diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs index eff0219206..4b23abd0cd 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/BinaryMetricsAgent.cs @@ -8,11 +8,14 @@ namespace Microsoft.ML.Auto { internal class BinaryMetricsAgent : IMetricsAgent { + private readonly MLContext _mlContext; private readonly BinaryClassificationMetric _optimizingMetric; - public BinaryMetricsAgent(BinaryClassificationMetric optimizingMetric) + public BinaryMetricsAgent(MLContext mlContext, + BinaryClassificationMetric optimizingMetric) { - this._optimizingMetric = optimizingMetric; + _mlContext = mlContext; + _optimizingMetric = optimizingMetric; } public double GetScore(BinaryClassificationMetrics metrics) @@ -45,9 +48,9 @@ public double GetScore(BinaryClassificationMetrics metrics) } } - public bool IsModelPerfect(BinaryClassificationMetrics metrics) + public bool IsModelPerfect(double score) { - if (metrics == null) + if (double.IsNaN(score)) { return false; } @@ -55,24 +58,29 @@ public bool IsModelPerfect(BinaryClassificationMetrics metrics) switch (_optimizingMetric) { case BinaryClassificationMetric.Accuracy: - return metrics.Accuracy == 1; + return score == 1; case BinaryClassificationMetric.AreaUnderRocCurve: - return metrics.AreaUnderRocCurve == 1; + return score == 1; case BinaryClassificationMetric.AreaUnderPrecisionRecallCurve: - return metrics.AreaUnderPrecisionRecallCurve == 1; + return score == 1; case BinaryClassificationMetric.F1Score: - return metrics.F1Score == 1; + return score == 1; case BinaryClassificationMetric.NegativePrecision: - return metrics.NegativePrecision == 1; + return score == 1; case BinaryClassificationMetric.NegativeRecall: - return metrics.NegativeRecall == 1; + return score == 1; case BinaryClassificationMetric.PositivePrecision: - return metrics.PositivePrecision == 1; + return score == 1; case BinaryClassificationMetric.PositiveRecall: - return metrics.PositiveRecall == 1; + return score == 1; default: throw MetricsAgentUtil.BuildMetricNotSupportedException(_optimizingMetric); } } + + public BinaryClassificationMetrics EvaluateMetrics(IDataView data, string labelColumn) + { + return _mlContext.BinaryClassification.EvaluateNonCalibrated(data, labelColumn); + } } } diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/IMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/IMetricsAgent.cs index 1f66dc0228..d1605aac18 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/IMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/IMetricsAgent.cs @@ -8,6 +8,8 @@ internal interface IMetricsAgent { double GetScore(T metrics); - bool IsModelPerfect(T metrics); + bool IsModelPerfect(double score); + + T EvaluateMetrics(IDataView data, string labelColumn); } } diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs index 2519f49e01..eb625c02a0 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/MultiMetricsAgent.cs @@ -8,11 +8,14 @@ namespace Microsoft.ML.Auto { internal class MultiMetricsAgent : IMetricsAgent { + private readonly MLContext _mlContext; private readonly MulticlassClassificationMetric _optimizingMetric; - public MultiMetricsAgent(MulticlassClassificationMetric optimizingMetric) + public MultiMetricsAgent(MLContext mlContext, + MulticlassClassificationMetric optimizingMetric) { - this._optimizingMetric = optimizingMetric; + _mlContext = mlContext; + _optimizingMetric = optimizingMetric; } public double GetScore(MulticlassClassificationMetrics metrics) @@ -39,9 +42,9 @@ public double GetScore(MulticlassClassificationMetrics metrics) } } - public bool IsModelPerfect(MulticlassClassificationMetrics metrics) + public bool IsModelPerfect(double score) { - if (metrics == null) + if (double.IsNaN(score)) { return false; } @@ -49,18 +52,23 @@ public bool IsModelPerfect(MulticlassClassificationMetrics metrics) switch (_optimizingMetric) { case MulticlassClassificationMetric.MacroAccuracy: - return metrics.MacroAccuracy == 1; + return score == 1; case MulticlassClassificationMetric.MicroAccuracy: - return metrics.MicroAccuracy == 1; + return score == 1; case MulticlassClassificationMetric.LogLoss: - return metrics.LogLoss == 0; + return score == 0; case MulticlassClassificationMetric.LogLossReduction: - return metrics.LogLossReduction == 1; + return score == 1; case MulticlassClassificationMetric.TopKAccuracy: - return metrics.TopKAccuracy == 1; + return score == 1; default: throw MetricsAgentUtil.BuildMetricNotSupportedException(_optimizingMetric); } } + + public MulticlassClassificationMetrics EvaluateMetrics(IDataView data, string labelColumn) + { + return _mlContext.MulticlassClassification.Evaluate(data, labelColumn); + } } } \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs index 47d760d61a..9350acd643 100644 --- a/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs +++ b/src/Microsoft.ML.Auto/Experiment/MetricsAgents/RegressionMetricsAgent.cs @@ -8,11 +8,13 @@ namespace Microsoft.ML.Auto { internal class RegressionMetricsAgent : IMetricsAgent { + private readonly MLContext _mlContext; private readonly RegressionMetric _optimizingMetric; - public RegressionMetricsAgent(RegressionMetric optimizingMetric) + public RegressionMetricsAgent(MLContext mlContext, RegressionMetric optimizingMetric) { - this._optimizingMetric = optimizingMetric; + _mlContext = mlContext; + _optimizingMetric = optimizingMetric; } public double GetScore(RegressionMetrics metrics) @@ -37,9 +39,9 @@ public double GetScore(RegressionMetrics metrics) } } - public bool IsModelPerfect(RegressionMetrics metrics) + public bool IsModelPerfect(double score) { - if (metrics == null) + if (double.IsNaN(score)) { return false; } @@ -47,16 +49,21 @@ public bool IsModelPerfect(RegressionMetrics metrics) switch (_optimizingMetric) { case RegressionMetric.MeanAbsoluteError: - return metrics.MeanAbsoluteError == 0; + return score == 0; case RegressionMetric.MeanSquaredError: - return metrics.MeanSquaredError == 0; + return score == 0; case RegressionMetric.RootMeanSquaredError: - return metrics.RootMeanSquaredError == 0; + return score == 0; case RegressionMetric.RSquared: - return metrics.RSquared == 1; + return score == 1; default: throw MetricsAgentUtil.BuildMetricNotSupportedException(_optimizingMetric); } } + + public RegressionMetrics EvaluateMetrics(IDataView data, string labelColumn) + { + return _mlContext.Regression.Evaluate(data, labelColumn); + } } } diff --git a/src/Microsoft.ML.Auto/Experiment/Runners/CrossValRunner.cs b/src/Microsoft.ML.Auto/Experiment/Runners/CrossValRunner.cs new file mode 100644 index 0000000000..f3595d39f8 --- /dev/null +++ b/src/Microsoft.ML.Auto/Experiment/Runners/CrossValRunner.cs @@ -0,0 +1,84 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace Microsoft.ML.Auto +{ + internal class CrossValRunner : IRunner> + where TMetrics : class + { + private readonly MLContext _context; + private readonly IDataView[] _trainDatasets; + private readonly IDataView[] _validDatasets; + private readonly IMetricsAgent _metricsAgent; + private readonly IEstimator _preFeaturizer; + private readonly ITransformer[] _preprocessorTransforms; + private readonly string _labelColumn; + private readonly IDebugLogger _logger; + private readonly DataViewSchema _modelInputSchema; + + public CrossValRunner(MLContext context, + IDataView[] trainDatasets, + IDataView[] validDatasets, + IMetricsAgent metricsAgent, + IEstimator preFeaturizer, + string labelColumn, + IDebugLogger logger) + { + _context = context; + _trainDatasets = trainDatasets; + _validDatasets = validDatasets; + _metricsAgent = metricsAgent; + _preFeaturizer = preFeaturizer; + _labelColumn = labelColumn; + _logger = logger; + _modelInputSchema = trainDatasets[0].Schema; + + if (_preFeaturizer != null) + { + _preprocessorTransforms = new ITransformer[_trainDatasets.Length]; + for (var i = 0; i < _trainDatasets.Length; i++) + { + // Preprocess train and validation data + _preprocessorTransforms[i] = _preFeaturizer.Fit(_trainDatasets[i]); + _trainDatasets[i] = _preprocessorTransforms[i].Transform(_trainDatasets[i]); + _validDatasets[i] = _preprocessorTransforms[i].Transform(_validDatasets[i]); + } + } + } + + public (SuggestedPipelineRunDetails suggestedPipelineRunDetails, CrossValidationRunDetails runDetails) + Run(SuggestedPipeline pipeline, DirectoryInfo modelDirectory, int iterationNum) + { + var trainResults = new List>(); + + for (var i = 0; i < _trainDatasets.Length; i++) + { + var modelFileInfo = RunnerUtil.GetModelFileInfo(modelDirectory, iterationNum, i + 1); + var trainResult = RunnerUtil.TrainAndScorePipeline(_context, pipeline, _trainDatasets[i], _validDatasets[i], + _labelColumn, _metricsAgent, _preFeaturizer, _preprocessorTransforms?[i], modelFileInfo, _modelInputSchema, _logger); + trainResults.Add(new SuggestedPipelineTrainResult(trainResult.model, trainResult.metrics, trainResult.exception, trainResult.score)); + } + + var avgScore = CalcAverageScore(trainResults.Select(r => r.Score)); + var allRunsSucceeded = trainResults.All(r => r.Exception == null); + + var suggestedPipelineRunDetails = new SuggestedPipelineCrossValRunDetails(pipeline, avgScore, allRunsSucceeded, trainResults); + var runDetails = suggestedPipelineRunDetails.ToIterationResult(); + return (suggestedPipelineRunDetails, runDetails); + } + + private static double CalcAverageScore(IEnumerable scores) + { + if (scores.Any(s => double.IsNaN(s))) + { + return double.NaN; + } + return scores.Average(); + } + } +} diff --git a/src/Microsoft.ML.Auto/Experiment/Runners/CrossValSummaryRunner.cs b/src/Microsoft.ML.Auto/Experiment/Runners/CrossValSummaryRunner.cs new file mode 100644 index 0000000000..2b60bb99eb --- /dev/null +++ b/src/Microsoft.ML.Auto/Experiment/Runners/CrossValSummaryRunner.cs @@ -0,0 +1,111 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace Microsoft.ML.Auto +{ + internal class CrossValSummaryRunner : IRunner> + where TMetrics : class + { + private readonly MLContext _context; + private readonly IDataView[] _trainDatasets; + private readonly IDataView[] _validDatasets; + private readonly IMetricsAgent _metricsAgent; + private readonly IEstimator _preFeaturizer; + private readonly ITransformer[] _preprocessorTransforms; + private readonly string _labelColumn; + private readonly OptimizingMetricInfo _optimizingMetricInfo; + private readonly IDebugLogger _logger; + private readonly DataViewSchema _modelInputSchema; + + public CrossValSummaryRunner(MLContext context, + IDataView[] trainDatasets, + IDataView[] validDatasets, + IMetricsAgent metricsAgent, + IEstimator preFeaturizer, + string labelColumn, + OptimizingMetricInfo optimizingMetricInfo, + IDebugLogger logger) + { + _context = context; + _trainDatasets = trainDatasets; + _validDatasets = validDatasets; + _metricsAgent = metricsAgent; + _preFeaturizer = preFeaturizer; + _labelColumn = labelColumn; + _optimizingMetricInfo = optimizingMetricInfo; + _logger = logger; + _modelInputSchema = trainDatasets[0].Schema; + + if (_preFeaturizer != null) + { + _preprocessorTransforms = new ITransformer[_trainDatasets.Length]; + for (var i = 0; i < _trainDatasets.Length; i++) + { + // preprocess train and validation data + _preprocessorTransforms[i] = _preFeaturizer.Fit(_trainDatasets[i]); + _trainDatasets[i] = _preprocessorTransforms[i].Transform(_trainDatasets[i]); + _validDatasets[i] = _preprocessorTransforms[i].Transform(_validDatasets[i]); + } + } + } + + public (SuggestedPipelineRunDetails suggestedPipelineRunDetails, RunDetails runDetails) + Run(SuggestedPipeline pipeline, DirectoryInfo modelDirectory, int iterationNum) + { + var trainResults = new List<(ModelContainer model, TMetrics metrics, Exception exception, double score)>(); + + for (var i = 0; i < _trainDatasets.Length; i++) + { + var modelFileInfo = RunnerUtil.GetModelFileInfo(modelDirectory, iterationNum, i + 1); + var trainResult = RunnerUtil.TrainAndScorePipeline(_context, pipeline, _trainDatasets[i], _validDatasets[i], + _labelColumn, _metricsAgent, _preFeaturizer, _preprocessorTransforms?.ElementAt(i), modelFileInfo, _modelInputSchema, + _logger); + trainResults.Add(trainResult); + } + + var allRunsSucceeded = trainResults.All(r => r.exception == null); + if (!allRunsSucceeded) + { + var firstException = trainResults.First(r => r.exception != null).exception; + var errorRunDetails = new SuggestedPipelineRunDetails(pipeline, double.NaN, false, null, null, firstException); + return (errorRunDetails, errorRunDetails.ToIterationResult()); + } + + // Get the model from the best fold + var bestFoldIndex = BestResultUtil.GetIndexOfBestScore(trainResults.Select(r => r.score), _optimizingMetricInfo.IsMaximizing); + var bestModel = trainResults.ElementAt(bestFoldIndex).model; + + // Get the metrics from the fold whose score is closest to avg of all fold scores + var avgScore = trainResults.Average(r => r.score); + var indexClosestToAvg = GetIndexClosestToAverage(trainResults.Select(r => r.score), avgScore); + var metricsClosestToAvg = trainResults[indexClosestToAvg].metrics; + + // Build result objects + var suggestedPipelineRunDetails = new SuggestedPipelineRunDetails(pipeline, avgScore, allRunsSucceeded, metricsClosestToAvg, bestModel, null); + var runDetails = suggestedPipelineRunDetails.ToIterationResult(); + return (suggestedPipelineRunDetails, runDetails); + } + + private static int GetIndexClosestToAverage(IEnumerable values, double average) + { + int avgFoldIndex = -1; + var smallestDistFromAvg = double.PositiveInfinity; + for (var i = 0; i < values.Count(); i++) + { + var distFromAvg = Math.Abs(values.ElementAt(i) - average); + if (distFromAvg < smallestDistFromAvg) + { + smallestDistFromAvg = distFromAvg; + avgFoldIndex = i; + } + } + return avgFoldIndex; + } + } +} \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/Experiment/Runners/IRunner.cs b/src/Microsoft.ML.Auto/Experiment/Runners/IRunner.cs new file mode 100644 index 0000000000..61f780e00a --- /dev/null +++ b/src/Microsoft.ML.Auto/Experiment/Runners/IRunner.cs @@ -0,0 +1,14 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.IO; + +namespace Microsoft.ML.Auto +{ + internal interface IRunner where TRunDetails : RunDetails + { + (SuggestedPipelineRunDetails suggestedPipelineRunDetails, TRunDetails runDetails) + Run (SuggestedPipeline pipeline, DirectoryInfo modelDirectory, int iterationNum); + } +} \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/Experiment/Runners/RunnerUtil.cs b/src/Microsoft.ML.Auto/Experiment/Runners/RunnerUtil.cs new file mode 100644 index 0000000000..ccb52e0971 --- /dev/null +++ b/src/Microsoft.ML.Auto/Experiment/Runners/RunnerUtil.cs @@ -0,0 +1,62 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.IO; + +namespace Microsoft.ML.Auto +{ + internal static class RunnerUtil + { + public static (ModelContainer model, TMetrics metrics, Exception exception, double score) + TrainAndScorePipeline(MLContext context, + SuggestedPipeline pipeline, + IDataView trainData, + IDataView validData, + string labelColumn, + IMetricsAgent metricsAgent, + IEstimator preFeaturizer, + ITransformer preprocessorTransform, + FileInfo modelFileInfo, + DataViewSchema modelInputSchema, + IDebugLogger logger) where TMetrics : class + { + try + { + var estimator = pipeline.ToEstimator(); + var model = estimator.Fit(trainData); + + var scoredData = model.Transform(validData); + var metrics = metricsAgent.EvaluateMetrics(scoredData, labelColumn); + var score = metricsAgent.GetScore(metrics); + + estimator = pipeline.ToEstimator(); + if (preFeaturizer != null) + { + estimator = preFeaturizer.Append(estimator); + model = preprocessorTransform.Append(model); + } + + // Build container for model + var modelContainer = modelFileInfo == null ? + new ModelContainer(context, model) : + new ModelContainer(context, modelFileInfo, model, modelInputSchema); + + return (modelContainer, metrics, null, score); + } + catch (Exception ex) + { + logger?.Log(DebugStream.Exception, $"Pipeline crashed: {pipeline.ToString()} . Exception: {ex}"); + return (null, null, ex, double.NaN); + } + } + + public static FileInfo GetModelFileInfo(DirectoryInfo modelDirectory, int iterationNum, int foldNum) + { + return modelDirectory == null ? + null : + new FileInfo(Path.Combine(modelDirectory.FullName, $"Model{iterationNum}_{foldNum}.zip")); + } + } +} \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/Experiment/Runners/TrainValidateRunner.cs b/src/Microsoft.ML.Auto/Experiment/Runners/TrainValidateRunner.cs new file mode 100644 index 0000000000..470ebfbaba --- /dev/null +++ b/src/Microsoft.ML.Auto/Experiment/Runners/TrainValidateRunner.cs @@ -0,0 +1,70 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.IO; + +namespace Microsoft.ML.Auto +{ + internal class TrainValidateRunner : IRunner> + where TMetrics : class + { + private readonly MLContext _context; + private readonly IDataView _trainData; + private readonly IDataView _validData; + private readonly string _labelColumn; + private readonly IMetricsAgent _metricsAgent; + private readonly IEstimator _preFeaturizer; + private readonly ITransformer _preprocessorTransform; + private readonly IDebugLogger _logger; + private readonly DataViewSchema _modelInputSchema; + + public TrainValidateRunner(MLContext context, + IDataView trainData, + IDataView validData, + string labelColumn, + IMetricsAgent metricsAgent, + IEstimator preFeaturizer, + IDebugLogger logger) + { + _context = context; + _trainData = trainData; + _validData = validData; + _labelColumn = labelColumn; + _metricsAgent = metricsAgent; + _preFeaturizer = preFeaturizer; + _logger = logger; + _modelInputSchema = trainData.Schema; + + if (_preFeaturizer != null) + { + _preprocessorTransform = _preFeaturizer.Fit(_trainData); + _trainData = _preprocessorTransform.Transform(_trainData); + _validData = _preprocessorTransform.Transform(_validData); + } + } + + public (SuggestedPipelineRunDetails suggestedPipelineRunDetails, RunDetails runDetails) + Run(SuggestedPipeline pipeline, DirectoryInfo modelDirectory, int iterationNum) + { + var modelFileInfo = GetModelFileInfo(modelDirectory, iterationNum); + var trainResult = RunnerUtil.TrainAndScorePipeline(_context, pipeline, _trainData, _validData, + _labelColumn, _metricsAgent, _preFeaturizer, _preprocessorTransform, modelFileInfo, _modelInputSchema, _logger); + var suggestedPipelineRunDetails = new SuggestedPipelineRunDetails(pipeline, + trainResult.score, + trainResult.exception == null, + trainResult.metrics, + trainResult.model, + trainResult.exception); + var runDetails = suggestedPipelineRunDetails.ToIterationResult(); + return (suggestedPipelineRunDetails, runDetails); + } + + private static FileInfo GetModelFileInfo(DirectoryInfo modelDirectory, int iterationNum) + { + return modelDirectory == null ? + null : + new FileInfo(Path.Combine(modelDirectory.FullName, $"Model{iterationNum}.zip")); + } + } +} \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs deleted file mode 100644 index 79cff62f9e..0000000000 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineResult.cs +++ /dev/null @@ -1,60 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.IO; - -namespace Microsoft.ML.Auto -{ - internal class SuggestedPipelineResult - { - public readonly SuggestedPipeline Pipeline; - public readonly bool RunSucceded; - public readonly double Score; - - public SuggestedPipelineResult(SuggestedPipeline pipeline, double score, bool runSucceeded) - { - Pipeline = pipeline; - Score = score; - RunSucceded = runSucceeded; - } - - public static SuggestedPipelineResult FromPipelineRunResult(MLContext context, PipelineScore pipelineRunResult) - { - return new SuggestedPipelineResult(SuggestedPipeline.FromPipeline(context, pipelineRunResult.Pipeline), pipelineRunResult.Score, pipelineRunResult.RunSucceded); - } - - public IRunResult ToRunResult(bool isMetricMaximizing) - { - return new RunResult(Pipeline.Trainer.HyperParamSet, Score, isMetricMaximizing); - } - } - - internal class SuggestedPipelineResult : SuggestedPipelineResult - { - public readonly T EvaluatedMetrics; - public IEstimator Estimator { get; set; } - public ModelContainer ModelContainer { get; set; } - public Exception Exception { get; set; } - - public double RuntimeInSeconds { get; set; } - public double PipelineInferenceTimeInSeconds { get; set; } - - public SuggestedPipelineResult(T evaluatedMetrics, IEstimator estimator, - ModelContainer modelContainer, SuggestedPipeline pipeline, double score, Exception exception) - : base(pipeline, score, exception == null) - { - EvaluatedMetrics = evaluatedMetrics; - Estimator = estimator; - ModelContainer = modelContainer; - Exception = exception; - } - - public RunResult ToIterationResult() - { - return new RunResult(ModelContainer, EvaluatedMetrics, Estimator, Pipeline.Trainer.TrainerName.ToString(), - Pipeline.ToPipeline(), Exception, RuntimeInSeconds, PipelineInferenceTimeInSeconds); - } - } -} diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineCrossValRunDetails.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineCrossValRunDetails.cs new file mode 100644 index 0000000000..c798c5ec99 --- /dev/null +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineCrossValRunDetails.cs @@ -0,0 +1,53 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.ML.Auto +{ + internal sealed class SuggestedPipelineTrainResult + { + public readonly TMetrics ValidationMetrics; + public readonly ModelContainer ModelContainer; + public readonly Exception Exception; + public readonly double Score; + + internal SuggestedPipelineTrainResult(ModelContainer modelContainer, + TMetrics metrics, + Exception exception, + double score) + { + ModelContainer = modelContainer; + ValidationMetrics = metrics; + Exception = exception; + Score = score; + } + + public TrainResult ToTrainResult() + { + return new TrainResult(ModelContainer, ValidationMetrics, Exception); + } + } + + internal sealed class SuggestedPipelineCrossValRunDetails : SuggestedPipelineRunDetails + { + public readonly IEnumerable> Results; + + internal SuggestedPipelineCrossValRunDetails(SuggestedPipeline pipeline, + double score, + bool runSucceeded, + IEnumerable> results) : base(pipeline, score, runSucceeded) + { + Results = results; + } + + public CrossValidationRunDetails ToIterationResult() + { + return new CrossValidationRunDetails(Pipeline.Trainer.TrainerName.ToString(), Pipeline.ToEstimator(), + Pipeline.ToPipeline(), Results.Select(r => r.ToTrainResult())); + } + } +} diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetails.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetails.cs new file mode 100644 index 0000000000..9df5e1c1c1 --- /dev/null +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetails.cs @@ -0,0 +1,57 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; + +namespace Microsoft.ML.Auto +{ + internal class SuggestedPipelineRunDetails + { + public readonly SuggestedPipeline Pipeline; + public readonly bool RunSucceded; + public readonly double Score; + + public SuggestedPipelineRunDetails(SuggestedPipeline pipeline, double score, bool runSucceeded) + { + Pipeline = pipeline; + Score = score; + RunSucceded = runSucceeded; + } + + public static SuggestedPipelineRunDetails FromPipelineRunResult(MLContext context, PipelineScore pipelineRunResult) + { + return new SuggestedPipelineRunDetails(SuggestedPipeline.FromPipeline(context, pipelineRunResult.Pipeline), pipelineRunResult.Score, pipelineRunResult.RunSucceded); + } + + public IRunResult ToRunResult(bool isMetricMaximizing) + { + return new RunResult(Pipeline.Trainer.HyperParamSet, Score, isMetricMaximizing); + } + } + + internal class SuggestedPipelineRunDetails : SuggestedPipelineRunDetails + { + public readonly TMetrics ValidationMetrics; + public readonly ModelContainer ModelContainer; + public readonly Exception Exception; + + internal SuggestedPipelineRunDetails(SuggestedPipeline pipeline, + double score, + bool runSucceeded, + TMetrics validationMetrics, + ModelContainer modelContainer, + Exception ex) : base(pipeline, score, runSucceeded) + { + ValidationMetrics = validationMetrics; + ModelContainer = modelContainer; + Exception = ex; + } + + public RunDetails ToIterationResult() + { + return new RunDetails(Pipeline.Trainer.TrainerName.ToString(), Pipeline.ToEstimator(), + Pipeline.ToPipeline(), ModelContainer, ValidationMetrics, Exception); + } + } +} diff --git a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs index 236de3fcdb..92dcbf7269 100644 --- a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs +++ b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs @@ -15,18 +15,18 @@ internal static class PipelineSuggester public static Pipeline GetNextPipeline(MLContext context, IEnumerable history, - (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns, + DatasetColumnInfo[] columns, TaskKind task, bool isMaximizingMetric = true) { - var inferredHistory = history.Select(r => SuggestedPipelineResult.FromPipelineRunResult(context, r)); + var inferredHistory = history.Select(r => SuggestedPipelineRunDetails.FromPipelineRunResult(context, r)); var nextInferredPipeline = GetNextInferredPipeline(context, inferredHistory, columns, task, isMaximizingMetric); return nextInferredPipeline?.ToPipeline(); } public static SuggestedPipeline GetNextInferredPipeline(MLContext context, - IEnumerable history, - (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns, + IEnumerable history, + DatasetColumnInfo[] columns, TaskKind task, bool isMaximizingMetric, IEnumerable trainerWhitelist = null, @@ -87,7 +87,7 @@ public static SuggestedPipeline GetNextInferredPipeline(MLContext context, /// /// Get top trainers from first stage /// - private static IEnumerable GetTopTrainers(IEnumerable history, + private static IEnumerable GetTopTrainers(IEnumerable history, IEnumerable availableTrainers, bool isMaximizingMetric) { @@ -95,7 +95,7 @@ private static IEnumerable GetTopTrainers(IEnumerable r.Pipeline.Trainer.TrainerName).Select(g => g.First()); - IEnumerable sortedHistory = history.OrderBy(r => r.Score); + IEnumerable sortedHistory = history.OrderBy(r => r.Score); if(isMaximizingMetric) { sortedHistory = sortedHistory.Reverse(); @@ -104,7 +104,7 @@ private static IEnumerable GetTopTrainers(IEnumerable OrderTrainersByNumTrials(IEnumerable history, + private static IEnumerable OrderTrainersByNumTrials(IEnumerable history, IEnumerable selectedTrainers) { var selectedTrainerNames = new HashSet(selectedTrainers.Select(t => t.TrainerName)); @@ -115,7 +115,7 @@ private static IEnumerable OrderTrainersByNumTrials(IEnumerabl } private static SuggestedPipeline GetNextFirstStagePipeline(MLContext context, - IEnumerable history, + IEnumerable history, IEnumerable availableTrainers, ICollection transforms, ICollection transformsPostTrainer, @@ -188,7 +188,7 @@ private static IValueGenerator[] ConvertToValueGenerators(IEnumerable - private static bool SampleHyperparameters(MLContext context, SuggestedTrainer trainer, IEnumerable history, bool isMaximizingMetric) + private static bool SampleHyperparameters(MLContext context, SuggestedTrainer trainer, IEnumerable history, bool isMaximizingMetric) { var sps = ConvertToValueGenerators(trainer.SweepParams); var sweeper = new SmacSweeper(context, @@ -197,7 +197,7 @@ private static bool SampleHyperparameters(MLContext context, SuggestedTrainer tr SweptParameters = sps }); - IEnumerable historyToUse = history + IEnumerable historyToUse = history .Where(r => r.RunSucceded && r.Pipeline.Trainer.TrainerName == trainer.TrainerName && r.Pipeline.Trainer.HyperParamSet != null && r.Pipeline.Trainer.HyperParamSet.Any()); // get new set of hyperparameter values diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs index 8175c69fe4..73c86b029a 100644 --- a/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs +++ b/src/Microsoft.ML.Auto/TransformInference/TransformInference.cs @@ -317,10 +317,10 @@ public override IEnumerable Apply(IntermediateColumn[] colum /// /// Automatically infer transforms for the data view /// - public static SuggestedTransform[] InferTransforms(MLContext context, TaskKind task, (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns) + public static SuggestedTransform[] InferTransforms(MLContext context, TaskKind task, DatasetColumnInfo[] columns) { - var intermediateCols = columns.Where(c => c.Item3 != ColumnPurpose.Ignore) - .Select(c => new IntermediateColumn(c.Item1, c.Item2, c.Item3, c.Item4)) + var intermediateCols = columns.Where(c => c.Purpose != ColumnPurpose.Ignore) + .Select(c => new IntermediateColumn(c.Name, c.Type, c.Purpose, c.Dimensions)) .ToArray(); var suggestedTransforms = new List(); diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs b/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs index 846e718b0f..384f4a6aa6 100644 --- a/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs +++ b/src/Microsoft.ML.Auto/TransformInference/TransformInferenceApi.cs @@ -9,12 +9,12 @@ namespace Microsoft.ML.Auto { internal static class TransformInferenceApi { - public static IEnumerable InferTransforms(MLContext context, TaskKind task, (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns) + public static IEnumerable InferTransforms(MLContext context, TaskKind task, DatasetColumnInfo[] columns) { return TransformInference.InferTransforms(context, task, columns); } - public static IEnumerable InferTransformsPostTrainer(MLContext context, TaskKind task, (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns) + public static IEnumerable InferTransformsPostTrainer(MLContext context, TaskKind task, DatasetColumnInfo[] columns) { return TransformPostTrainerInference.InferTransforms(context, task, columns); } diff --git a/src/Microsoft.ML.Auto/TransformInference/TransformPostTrainerInference.cs b/src/Microsoft.ML.Auto/TransformInference/TransformPostTrainerInference.cs index 9b0ff4bb4f..aa2166d101 100644 --- a/src/Microsoft.ML.Auto/TransformInference/TransformPostTrainerInference.cs +++ b/src/Microsoft.ML.Auto/TransformInference/TransformPostTrainerInference.cs @@ -10,7 +10,7 @@ namespace Microsoft.ML.Auto { internal class TransformPostTrainerInference { - public static IEnumerable InferTransforms(MLContext context, TaskKind task, (string, DataViewType, ColumnPurpose, ColumnDimensions)[] columns) + public static IEnumerable InferTransforms(MLContext context, TaskKind task, DatasetColumnInfo[] columns) { var suggestedTransforms = new List(); suggestedTransforms.AddRange(InferLabelTransforms(context, task, columns)); @@ -18,7 +18,7 @@ public static IEnumerable InferTransforms(MLContext context, } private static IEnumerable InferLabelTransforms(MLContext context, TaskKind task, - (string name, DataViewType type, ColumnPurpose purpose, ColumnDimensions dimensions)[] columns) + DatasetColumnInfo[] columns) { var inferredTransforms = new List(); @@ -31,8 +31,8 @@ private static IEnumerable InferLabelTransforms(MLContext co // convert predicted label column back from key to value. // (Non-key label column was converted to key, b/c multiclass trainers only // accept label columns that are key type) - var labelColumn = columns.First(c => c.purpose == ColumnPurpose.Label); - if (!labelColumn.type.IsKey()) + var labelColumn = columns.First(c => c.Purpose == ColumnPurpose.Label); + if (!labelColumn.Type.IsKey()) { inferredTransforms.Add(KeyToValueMappingExtension.CreateSuggestedTransform(context, DefaultColumnNames.PredictedLabel, DefaultColumnNames.PredictedLabel)); } diff --git a/src/Microsoft.ML.Auto/Utils/BestResultUtil.cs b/src/Microsoft.ML.Auto/Utils/BestResultUtil.cs new file mode 100644 index 0000000000..fd7a72de72 --- /dev/null +++ b/src/Microsoft.ML.Auto/Utils/BestResultUtil.cs @@ -0,0 +1,86 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.ML.Auto +{ + internal class BestResultUtil + { + public static RunDetails GetBestRun(IEnumerable> results, + IMetricsAgent metricsAgent, bool isMetricMaximizing) + { + results = results.Where(r => r.ValidationMetrics != null); + if (!results.Any()) { return null; } + var scores = results.Select(r => metricsAgent.GetScore(r.ValidationMetrics)); + var indexOfBestScore = GetIndexOfBestScore(scores, isMetricMaximizing); + return results.ElementAt(indexOfBestScore); + } + + public static CrossValidationRunDetails GetBestRun(IEnumerable> results, + IMetricsAgent metricsAgent, bool isMetricMaximizing) + { + results = results.Where(r => r.Results != null && r.Results.Any(x => x.ValidationMetrics != null)); + if (!results.Any()) { return null; } + var scores = results.Select(r => r.Results.Average(x => metricsAgent.GetScore(x.ValidationMetrics))); + var indexOfBestScore = GetIndexOfBestScore(scores, isMetricMaximizing); + return results.ElementAt(indexOfBestScore); + } + + public static IEnumerable> GetTopNRunResults(IEnumerable> results, + IMetricsAgent metricsAgent, int n, bool isMetricMaximizing) + { + results = results.Where(r => r.ValidationMetrics != null); + if (!results.Any()) { return null; } + + IEnumerable> orderedResults; + if (isMetricMaximizing) + { + orderedResults = results.OrderByDescending(t => metricsAgent.GetScore(t.ValidationMetrics)); + } + else + { + orderedResults = results.OrderBy(t => metricsAgent.GetScore(t.ValidationMetrics)); + } + + return orderedResults.Take(n); + } + + public static int GetIndexOfBestScore(IEnumerable scores, bool isMetricMaximizing) + { + return isMetricMaximizing ? GetIndexOfMaxScore(scores) : GetIndexOfMinScore(scores); + } + + private static int GetIndexOfMinScore(IEnumerable scores) + { + var minScore = double.PositiveInfinity; + var minIndex = -1; + for (var i = 0; i < scores.Count(); i++) + { + if (scores.ElementAt(i) < minScore) + { + minScore = scores.ElementAt(i); + minIndex = i; + } + } + return minIndex; + } + + private static int GetIndexOfMaxScore(IEnumerable scores) + { + var maxScore = double.NegativeInfinity; + var maxIndex = -1; + for (var i = 0; i < scores.Count(); i++) + { + if (scores.ElementAt(i) > maxScore) + { + maxScore = scores.ElementAt(i); + maxIndex = i; + } + } + return maxIndex; + } + } +} diff --git a/src/Microsoft.ML.Auto/Utils/DatasetColumnInfo.cs b/src/Microsoft.ML.Auto/Utils/DatasetColumnInfo.cs new file mode 100644 index 0000000000..9e1aa66523 --- /dev/null +++ b/src/Microsoft.ML.Auto/Utils/DatasetColumnInfo.cs @@ -0,0 +1,41 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Data; + +namespace Microsoft.ML.Auto +{ + internal class DatasetColumnInfo + { + public readonly string Name; + public readonly DataViewType Type; + public readonly ColumnPurpose Purpose; + public readonly ColumnDimensions Dimensions; + + public DatasetColumnInfo(string name, DataViewType type, ColumnPurpose purpose, ColumnDimensions dimensions) + { + Name = name; + Type = type; + Purpose = purpose; + Dimensions = dimensions; + } + } + + internal static class DatasetColumnInfoUtil + { + public static DatasetColumnInfo[] GetDatasetColumnInfo(MLContext context, IDataView data, ColumnInformation columnInfo) + { + var purposes = PurposeInference.InferPurposes(context, data, columnInfo); + var colDimensions = DatasetDimensionsApi.CalcColumnDimensions(context, data, purposes); + var cols = new DatasetColumnInfo[data.Schema.Count]; + for (var i = 0; i < cols.Length; i++) + { + var schemaCol = data.Schema[i]; + var col = new DatasetColumnInfo(schemaCol.Name, schemaCol.Type, purposes[i].Purpose, colDimensions[i]); + cols[i] = col; + } + return cols; + } + } +} \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs b/src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs index ca2505d838..f520fc2fd9 100644 --- a/src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs +++ b/src/Microsoft.ML.Auto/Utils/MLNetUtils/ColumnTypeExtensions.cs @@ -85,5 +85,25 @@ public static int GetKeyCountAsInt32(this DataViewType columnType, IExceptionCon ulong keyCount = columnType.GetKeyCount(); return (int)keyCount; } + + /// + /// Equivalent to calling Equals(ColumnType) for non-vector types. For vector type, + /// returns true if current and other vector types have the same size and item type. + /// + public static bool SameSizeAndItemType(this DataViewType columnType, DataViewType other) + { + if (other == null) + return false; + + if (columnType.Equals(other)) + return true; + + // For vector types, we don't care about the factoring of the dimensions. + if (!(columnType is VectorDataViewType vectorType) || !(other is VectorDataViewType otherVectorType)) + return false; + if (!vectorType.ItemType.Equals(otherVectorType.ItemType)) + return false; + return vectorType.Size == otherVectorType.Size; + } } } \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs b/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs deleted file mode 100644 index b1fe048649..0000000000 --- a/src/Microsoft.ML.Auto/Utils/RunResultUtil.cs +++ /dev/null @@ -1,33 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.Collections.Generic; -using System.Linq; - -namespace Microsoft.ML.Auto -{ - internal class RunResultUtil - { - public static RunResult GetBestRunResult(IEnumerable> results, - IMetricsAgent metricsAgent) - { - results = results.Where(r => r.ValidationMetrics != null); - if (!results.Any()) { return null; } - double maxScore = results.Select(r => metricsAgent.GetScore(r.ValidationMetrics)).Max(); - return results.First(r => Math.Abs(metricsAgent.GetScore(r.ValidationMetrics) - maxScore) < 1E-20); - } - - public static IEnumerable> GetTopNRunResults(IEnumerable> results, - IMetricsAgent metricsAgent, int n) - { - results = results.Where(r => r.ValidationMetrics != null); - if (!results.Any()) { return null; } - - var orderedResults = results.OrderByDescending(t => metricsAgent.GetScore(t.ValidationMetrics)); - - return orderedResults.Take(n); - } - } -} diff --git a/src/Microsoft.ML.Auto/Utils/SplitUtil.cs b/src/Microsoft.ML.Auto/Utils/SplitUtil.cs new file mode 100644 index 0000000000..34f5310807 --- /dev/null +++ b/src/Microsoft.ML.Auto/Utils/SplitUtil.cs @@ -0,0 +1,61 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.ML.Auto +{ + internal static class SplitUtil + { + private const string CrossValEmptyFoldErrorMsg = @"Cross validation split has 0 rows. Perhaps " + + "try increasing number of rows provided in training data, or lowering specified number of " + + "cross validation folds."; + + public static (IDataView[] trainDatasets, IDataView[] validationDatasets) CrossValSplit(MLContext context, + IDataView trainData, uint numFolds, string samplingKeyColumn) + { + var originalColumnNames = trainData.Schema.Select(c => c.Name); + var splits = context.Data.CrossValidationSplit(trainData, (int)numFolds, samplingKeyColumnName: samplingKeyColumn); + var trainDatasets = new IDataView[numFolds]; + var validationDatasets = new IDataView[numFolds]; + for (var i = 0; i < numFolds; i++) + { + var split = splits[i]; + trainDatasets[i] = DropAllColumnsExcept(context, split.TrainSet, originalColumnNames); + validationDatasets[i] = DropAllColumnsExcept(context, split.TestSet, originalColumnNames); + if (DatasetDimensionsUtil.IsDataViewEmpty(trainDatasets[i]) || DatasetDimensionsUtil.IsDataViewEmpty(validationDatasets[i])) + { + throw new InvalidOperationException(CrossValEmptyFoldErrorMsg); + } + } + return (trainDatasets, validationDatasets); + } + + /// + /// Split the data into a single train/test split. + /// + public static (IDataView trainData, IDataView validationData) TrainValidateSplit(MLContext context, IDataView trainData, + string samplingKeyColumn) + { + var originalColumnNames = trainData.Schema.Select(c => c.Name); + var splitData = context.Data.TrainTestSplit(trainData, samplingKeyColumnName: samplingKeyColumn); + trainData = DropAllColumnsExcept(context, splitData.TrainSet, originalColumnNames); + var validationData = DropAllColumnsExcept(context, splitData.TestSet, originalColumnNames); + return (trainData, validationData); + } + + private static IDataView DropAllColumnsExcept(MLContext context, IDataView data, IEnumerable columnsToKeep) + { + var allColumns = data.Schema.Select(c => c.Name); + var columnsToDrop = allColumns.Except(columnsToKeep); + if (!columnsToDrop.Any()) + { + return data; + } + return context.Transforms.DropColumns(columnsToDrop.ToArray()).Fit(data).Transform(data); + } + } +} diff --git a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs index b171de380c..c9a32ffa59 100644 --- a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs @@ -46,6 +46,14 @@ public static void ValidateInferColumnsArgs(string path) ValidatePath(path); } + public static void ValidateNumberOfCVFoldsArg(uint numberOfCVFolds) + { + if (numberOfCVFolds <= 1) + { + throw new ArgumentException($"{nameof(numberOfCVFolds)} must be at least 2", nameof(numberOfCVFolds)); + } + } + private static void ValidateTrainData(IDataView trainData) { if (trainData == null) diff --git a/src/Samples/AdvancedExperimentSettings.cs b/src/Samples/AdvancedExperimentSettings.cs index b5d3aad9f3..141d673546 100644 --- a/src/Samples/AdvancedExperimentSettings.cs +++ b/src/Samples/AdvancedExperimentSettings.cs @@ -46,7 +46,6 @@ public static void Run() var experimentSettings = new RegressionExperimentSettings(); experimentSettings.MaxExperimentTimeInSeconds = 20; - experimentSettings.ProgressHandler = new ProgressHandler(); // STEP 3: Using a different optimizing metric instead of RSquared and use only LightGbm experimentSettings.OptimizingMetric = RegressionMetric.MeanSquaredError; @@ -56,7 +55,7 @@ public static void Run() // STEP 4: Start AutoML experiment Console.WriteLine($"Starting an experiment with MeanSquaredError optimizing metric and using LightGbm trainer only\r\n"); RegressionExperiment autoExperiment = mlContext.Auto().CreateRegressionExperiment(experimentSettings); - autoExperiment.Execute(trainDataView, LabelColumn); + autoExperiment.Execute(trainDataView, LabelColumn, progressHandler: new ProgressHandler()); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); diff --git a/src/Samples/AdvancedTrainingSettings.cs b/src/Samples/AdvancedTrainingSettings.cs index d6df89f14a..77fa8bc8fc 100644 --- a/src/Samples/AdvancedTrainingSettings.cs +++ b/src/Samples/AdvancedTrainingSettings.cs @@ -57,13 +57,13 @@ public static void Run() // STEP 5: Run AutoML experiment Console.WriteLine($"Running AutoML regression experiment for {ExperimentTime} seconds..."); - IEnumerable> runResults = mlContext.Auto() + IEnumerable> runDetails = mlContext.Auto() .CreateRegressionExperiment(ExperimentTime) .Execute(trainDataView, columnInformation, preFeaturizer); // STEP 6: Print metric from best model - RunResult best = runResults.Best(); - Console.WriteLine($"Total models produced: {runResults.Count()}"); + RunDetails best = runDetails.Best(); + Console.WriteLine($"Total models produced: {runDetails.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); Console.WriteLine($"RSquared of best model from validation data: {best.ValidationMetrics.RSquared}"); diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index 2aaf0786ec..fe33c91a35 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -44,13 +44,13 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Running AutoML binary classification experiment for {ExperimentTime} seconds..."); - IEnumerable> runResults = mlContext.Auto() + IEnumerable> runDetails = mlContext.Auto() .CreateBinaryClassificationExperiment(ExperimentTime) .Execute(trainDataView); // STEP 4: Print metric from the best model - RunResult best = runResults.Best(); - Console.WriteLine($"Total models produced: {runResults.Count()}"); + RunDetails best = runDetails.Best(); + Console.WriteLine($"Total models produced: {runDetails.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); Console.WriteLine($"Accuracy of best model from validation data: {best.ValidationMetrics.Accuracy}"); diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index 2d417e4534..8503587f57 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -44,13 +44,13 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Running AutoML multiclass classification experiment for {ExperimentTime} seconds..."); - IEnumerable> runResults = mlContext.Auto() + IEnumerable> runDetails = mlContext.Auto() .CreateMulticlassClassificationExperiment(ExperimentTime) .Execute(trainDataView); // STEP 4: Print metric from the best model - RunResult best = runResults.Best(); - Console.WriteLine($"Total models produced: {runResults.Count()}"); + RunDetails best = runDetails.Best(); + Console.WriteLine($"Total models produced: {runDetails.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); Console.WriteLine($"AccuracyMacro of best model from validation data: {best.ValidationMetrics.MacroAccuracy}"); diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index 4ea3bf86ec..7f584690da 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -49,14 +49,14 @@ public static void Run() IDataView testDataView = textLoader.Load(TestDataPath); // STEP 3: Auto featurize, auto train and auto hyperparameter tune - Console.WriteLine($"Running AutoML regression classification experiment for {ExperimentTime} seconds..."); - IEnumerable> runResults = mlContext.Auto() + Console.WriteLine($"Running AutoML regression experiment for {ExperimentTime} seconds..."); + IEnumerable> runDetails = mlContext.Auto() .CreateRegressionExperiment(ExperimentTime) .Execute(trainDataView, LabelColumn); // STEP 4: Print metric from best model - RunResult best = runResults.Best(); - Console.WriteLine($"Total models produced: {runResults.Count()}"); + RunDetails best = runDetails.Best(); + Console.WriteLine($"Total models produced: {runDetails.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); Console.WriteLine($"RSquared of best model from validation data: {best.ValidationMetrics.RSquared}"); diff --git a/src/Samples/Cancellation.cs b/src/Samples/Cancellation.cs index bf4749bb96..f57ffdb9d8 100644 --- a/src/Samples/Cancellation.cs +++ b/src/Samples/Cancellation.cs @@ -58,11 +58,11 @@ public static void Run() MaxExperimentTimeInSeconds = 3600, CancellationToken = cts.Token }); - IEnumerable> runResults = new List>(); + IEnumerable> runDetails = new List>(); Console.WriteLine($"Running AutoML experiment..."); Task experimentTask = Task.Run(() => { - runResults = experiment.Execute(trainDataView, LabelColumn); + runDetails = experiment.Execute(trainDataView, LabelColumn); }); // STEP 4: Stop the experiment run after any key is pressed @@ -71,7 +71,7 @@ public static void Run() cts.Cancel(); experimentTask.Wait(); - Console.WriteLine($"{runResults.Count()} models were returned after {stopwatch.Elapsed.TotalSeconds:0.00} seconds"); + Console.WriteLine($"{runDetails.Count()} models were returned after {stopwatch.Elapsed.TotalSeconds:0.00} seconds"); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); diff --git a/src/Samples/CrossValidation.cs b/src/Samples/CrossValidation.cs new file mode 100644 index 0000000000..a9bef2b123 --- /dev/null +++ b/src/Samples/CrossValidation.cs @@ -0,0 +1,68 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.ML; +using Microsoft.ML.Auto; +using Microsoft.ML.Data; + +namespace Samples +{ + static class CrossValidation + { + private static string BaseDatasetsLocation = "Data"; + private static string TrainDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-train.csv"); + private static string TestDataPath = Path.Combine(BaseDatasetsLocation, "taxi-fare-test.csv"); + private static string ModelPath = Path.Combine(BaseDatasetsLocation, "TaxiFareModel.zip"); + private static string LabelColumn = "FareAmount"; + private static uint ExperimentTime = 60; + + public static void Run() + { + MLContext mlContext = new MLContext(); + + // STEP 1: Create text loader options + var textLoaderOptions = new TextLoader.Options() + { + Columns = new[] + { + new TextLoader.Column("VendorId", DataKind.String, 0), + new TextLoader.Column("RateCode", DataKind.Single, 1), + new TextLoader.Column("PassengerCount", DataKind.Single, 2), + new TextLoader.Column("TripTimeInSeconds", DataKind.Single, 3), + new TextLoader.Column("TripDistance", DataKind.Single, 4), + new TextLoader.Column("PaymentType", DataKind.String, 5), + new TextLoader.Column("FareAmount", DataKind.Single, 6), + }, + HasHeader = true, + Separators = new[] { ',' } + }; + + // STEP 2: Load data + TextLoader textLoader = mlContext.Data.CreateTextLoader(textLoaderOptions); + IDataView trainDataView = textLoader.Load(TrainDataPath); + IDataView testDataView = textLoader.Load(TestDataPath); + + // STEP 3: Start an AutoML experiment using 5 cross validation folds + Console.WriteLine($"Running AutoML regression experiment for {ExperimentTime} seconds..."); + IEnumerable> runDetails = mlContext.Auto() + .CreateRegressionExperiment(ExperimentTime) + .Execute(trainDataView, 5, LabelColumn); + + // Get best fold from cross validation + + // STEP 4: Print metrics summary from best model + CrossValidationRunDetails best = runDetails.Best(); + Console.WriteLine($"Total models produced: {runDetails.Count()}"); + Console.WriteLine($"Best model's trainer: {best.TrainerName}"); + Console.WriteLine($"Average RSquared of all cross validation folds on best iteration: {best.Results.Average(r => r.ValidationMetrics.RSquared)}"); + + Console.WriteLine("Press any key to continue..."); + Console.ReadKey(); + } + } +} diff --git a/src/Samples/InferColumns.cs b/src/Samples/InferColumns.cs index ae1531c959..74bb37abdb 100644 --- a/src/Samples/InferColumns.cs +++ b/src/Samples/InferColumns.cs @@ -36,14 +36,14 @@ public static void Run() IDataView testDataView = textLoader.Load(TestDataPath); // STEP 3: Auto featurize, auto train and auto hyperparameter tune - Console.WriteLine($"Running AutoML regression classification experiment for {ExperimentTime} seconds..."); - IEnumerable> runResults = mlContext.Auto() + Console.WriteLine($"Running AutoML regression experiment for {ExperimentTime} seconds..."); + IEnumerable> runDetails = mlContext.Auto() .CreateRegressionExperiment(ExperimentTime) .Execute(trainDataView, LabelColumn); // STEP 4: Print metric from best model - RunResult best = runResults.Best(); - Console.WriteLine($"Total models produced: {runResults.Count()}"); + RunDetails best = runDetails.Best(); + Console.WriteLine($"Total models produced: {runDetails.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); Console.WriteLine($"RSquared of best model from validation data: {best.ValidationMetrics.RSquared}"); diff --git a/src/Samples/ObserveProgress.cs b/src/Samples/ObserveProgress.cs index 1349b267bd..a022971604 100644 --- a/src/Samples/ObserveProgress.cs +++ b/src/Samples/ObserveProgress.cs @@ -47,17 +47,16 @@ public static void Run() // STEP 3: Auto inference with a callback configured RegressionExperiment autoExperiment = mlContext.Auto().CreateRegressionExperiment(new RegressionExperimentSettings() { - MaxExperimentTimeInSeconds = 60, - ProgressHandler = new ProgressHandler() + MaxExperimentTimeInSeconds = 60 }); - autoExperiment.Execute(trainDataView, LabelColumn); + autoExperiment.Execute(trainDataView, LabelColumn, progressHandler: new ProgressHandler()); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } } - class ProgressHandler : IProgress> + class ProgressHandler : IProgress> { int iterationIndex; private bool _initialized = false; @@ -66,7 +65,7 @@ public ProgressHandler() { } - public void Report(RunResult iterationResult) + public void Report(RunDetails iterationResult) { if (!_initialized) { diff --git a/src/Samples/Program.cs b/src/Samples/Program.cs index 26b6192031..af74c26a96 100644 --- a/src/Samples/Program.cs +++ b/src/Samples/Program.cs @@ -39,6 +39,9 @@ public static void Main(string[] args) InferColumns.Run(); Console.Clear(); + CrossValidation.Run(); + Console.Clear(); + Console.WriteLine("Done"); } catch (Exception ex) diff --git a/src/Samples/RefitBestModel.cs b/src/Samples/RefitBestModel.cs index b99db9dbbc..a6f9c56bc7 100644 --- a/src/Samples/RefitBestModel.cs +++ b/src/Samples/RefitBestModel.cs @@ -52,13 +52,13 @@ public static void Run() IDataView smallTrainDataView = textLoader.Load(SmallTrainDataPath); // STEP 4: Auto-featurization, model selection, and hyperparameter tuning - Console.WriteLine($"Running AutoML regression classification experiment for {ExperimentTime} seconds..."); - IEnumerable> runResults = mlContext.Auto() + Console.WriteLine($"Running AutoML regression experiment for {ExperimentTime} seconds..."); + IEnumerable> runDetails = mlContext.Auto() .CreateRegressionExperiment(ExperimentTime) .Execute(smallTrainDataView, LabelColumn); // STEP 5: Refit best model on entire training data - RunResult best = runResults.Best(); + RunDetails best = runDetails.Best(); var refitBestModel = best.Estimator.Fit(trainDataView); // STEP 6: Evaluate test data diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index 614c4f895d..cca848bced 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -19,14 +19,14 @@ public void AutoFitBinaryTest() var columnInference = context.Auto().InferColumns(dataPath, DatasetUtil.UciAdultLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderOptions); var trainData = textLoader.Load(dataPath); - var validationData = context.Data.TakeRows(trainData, 100); - trainData = context.Data.SkipRows(trainData, 100); var results = context.Auto() .CreateBinaryClassificationExperiment(0) - .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); + .Execute(trainData, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); var best = results.Best(); - Assert.IsTrue(best.ValidationMetrics.Accuracy > 0.80); + Assert.IsTrue(best.ValidationMetrics.Accuracy > 0.70); Assert.IsNotNull(best.Estimator); + Assert.IsNotNull(best.Model); + Assert.IsNotNull(best.TrainerName); } [TestMethod] @@ -36,14 +36,12 @@ public void AutoFitMultiTest() var columnInference = context.Auto().InferColumns(DatasetUtil.TrivialMulticlassDatasetPath, DatasetUtil.TrivialMulticlassDatasetLabel); var textLoader = context.Data.CreateTextLoader(columnInference.TextLoaderOptions); var trainData = textLoader.Load(DatasetUtil.TrivialMulticlassDatasetPath); - var validationData = context.Data.TakeRows(trainData, 20); - trainData = context.Data.SkipRows(trainData, 20); var results = context.Auto() .CreateMulticlassClassificationExperiment(0) - .Execute(trainData, validationData, new ColumnInformation() { LabelColumn = DatasetUtil.TrivialMulticlassDatasetLabel }); + .Execute(trainData, 5, DatasetUtil.TrivialMulticlassDatasetLabel); var best = results.Best(); - Assert.IsTrue(best.ValidationMetrics.MicroAccuracy >= 0.8); - var scoredData = best.Model.Transform(validationData); + Assert.IsTrue(best.Results.First().ValidationMetrics.MicroAccuracy >= 0.7); + var scoredData = best.Results.First().Model.Transform(trainData); Assert.AreEqual(NumberDataViewType.Single, scoredData.Schema[DefaultColumnNames.PredictedLabel].Type); } diff --git a/src/Test/BestResultUtilTests.cs b/src/Test/BestResultUtilTests.cs new file mode 100644 index 0000000000..b7e2aa5b58 --- /dev/null +++ b/src/Test/BestResultUtilTests.cs @@ -0,0 +1,63 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using Microsoft.ML.Data; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.ML.Auto.Test +{ + [TestClass] + public class BestResultUtilTests + { + [TestMethod] + public void FindBestResultWithSomeNullMetrics() + { + var metrics1 = MetricsUtil.CreateRegressionMetrics(0.2, 0.2, 0.2, 0.2, 0.2); + var metrics2 = MetricsUtil.CreateRegressionMetrics(0.3, 0.3, 0.3, 0.3, 0.3); + var metrics3 = MetricsUtil.CreateRegressionMetrics(0.1, 0.1, 0.1, 0.1, 0.1); + + var runResults = new List>() + { + new RunDetails(null, null, null, null, null, null), + new RunDetails(null, null, null, null, metrics1, null), + new RunDetails(null, null, null, null, metrics2, null), + new RunDetails(null, null, null, null, metrics3, null), + }; + + var metricsAgent = new RegressionMetricsAgent(null, RegressionMetric.RSquared); + var bestResult = BestResultUtil.GetBestRun(runResults, metricsAgent, true); + Assert.AreEqual(0.3, bestResult.ValidationMetrics.RSquared); + } + + [TestMethod] + public void FindBestResultWithAllNullMetrics() + { + var runResults = new List>() + { + new RunDetails(null, null, null, null, null, null), + }; + + var metricsAgent = new RegressionMetricsAgent(null, RegressionMetric.RSquared); + var bestResult = BestResultUtil.GetBestRun(runResults, metricsAgent, true); + Assert.AreEqual(null, bestResult); + } + + [TestMethod] + public void GetIndexOfBestScoreMaximizingUtil() + { + var scores = new double[] { 0, 2, 5, 100, -100, -70 }; + var indexOfMaxScore = BestResultUtil.GetIndexOfBestScore(scores, true); + Assert.AreEqual(3, indexOfMaxScore); + } + + [TestMethod] + public void GetIndexOfBestScoreMinimizingUtil() + { + var scores = new double[] { 0, 2, 5, 100, -100, -70 }; + var indexOfMaxScore = BestResultUtil.GetIndexOfBestScore(scores, false); + Assert.AreEqual(4, indexOfMaxScore); + } + } +} diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs index 05af19dc75..d5957479c5 100644 --- a/src/Test/GetNextPipelineTests.cs +++ b/src/Test/GetNextPipelineTests.cs @@ -18,7 +18,7 @@ public void GetNextPipeline() { var context = new MLContext(); var uciAdult = DatasetUtil.GetUciAdultDataView(); - var columns = AutoMlUtils.GetColumnInfoTuples(context, uciAdult, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); + var columns = DatasetColumnInfoUtil.GetDatasetColumnInfo(context, uciAdult, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); // get next pipeline var pipeline = PipelineSuggester.GetNextPipeline(context, new List(), columns, TaskKind.BinaryClassification); @@ -42,7 +42,7 @@ public void GetNextPipelineMock() { var context = new MLContext(); var uciAdult = DatasetUtil.GetUciAdultDataView(); - var columns = AutoMlUtils.GetColumnInfoTuples(context, uciAdult, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); + var columns = DatasetColumnInfoUtil.GetDatasetColumnInfo(context, uciAdult, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); // Get next pipeline loop var history = new List(); diff --git a/src/Test/MetricsAgentsTests.cs b/src/Test/MetricsAgentsTests.cs index 3aa0854d0c..9baaea540a 100644 --- a/src/Test/MetricsAgentsTests.cs +++ b/src/Test/MetricsAgentsTests.cs @@ -125,32 +125,41 @@ public void ThrowNotSupportedMetricException() private static double GetScore(BinaryClassificationMetrics metrics, BinaryClassificationMetric metric) { - return new BinaryMetricsAgent(metric).GetScore(metrics); + return new BinaryMetricsAgent(null, metric).GetScore(metrics); } private static double GetScore(MulticlassClassificationMetrics metrics, MulticlassClassificationMetric metric) { - return new MultiMetricsAgent(metric).GetScore(metrics); + return new MultiMetricsAgent(null, metric).GetScore(metrics); } private static double GetScore(RegressionMetrics metrics, RegressionMetric metric) { - return new RegressionMetricsAgent(metric).GetScore(metrics); + return new RegressionMetricsAgent(null, metric).GetScore(metrics); } private static bool IsPerfectModel(BinaryClassificationMetrics metrics, BinaryClassificationMetric metric) { - return new BinaryMetricsAgent(metric).IsModelPerfect(metrics); + var metricsAgent = new BinaryMetricsAgent(null, metric); + return IsPerfectModel(metricsAgent, metrics); } private static bool IsPerfectModel(MulticlassClassificationMetrics metrics, MulticlassClassificationMetric metric) { - return new MultiMetricsAgent(metric).IsModelPerfect(metrics); + var metricsAgent = new MultiMetricsAgent(null, metric); + return IsPerfectModel(metricsAgent, metrics); } private static bool IsPerfectModel(RegressionMetrics metrics, RegressionMetric metric) { - return new RegressionMetricsAgent(metric).IsModelPerfect(metrics); + var metricsAgent = new RegressionMetricsAgent(null, metric); + return IsPerfectModel(metricsAgent, metrics); + } + + private static bool IsPerfectModel(IMetricsAgent metricsAgent, TMetrics metrics) + { + var score = metricsAgent.GetScore(metrics); + return metricsAgent.IsModelPerfect(score); } } } diff --git a/src/Test/RunResultTests.cs b/src/Test/RunResultTests.cs deleted file mode 100644 index 9cef6221da..0000000000 --- a/src/Test/RunResultTests.cs +++ /dev/null @@ -1,47 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System.Collections.Generic; -using Microsoft.ML.Data; -using Microsoft.VisualStudio.TestTools.UnitTesting; - -namespace Microsoft.ML.Auto.Test -{ - [TestClass] - public class RunResultTests - { - [TestMethod] - public void FindBestResultWithSomeNullMetrics() - { - var metrics1 = MetricsUtil.CreateRegressionMetrics(0.2, 0.2, 0.2, 0.2, 0.2); - var metrics2 = MetricsUtil.CreateRegressionMetrics(0.3, 0.3, 0.3, 0.3, 0.3); - var metrics3 = MetricsUtil.CreateRegressionMetrics(0.1, 0.1, 0.1, 0.1, 0.1); - - var runResults = new List>() - { - new RunResult(null, null, null, null, null, null, 0, 0), - new RunResult(null, metrics1, null, null, null, null, 0, 0), - new RunResult(null, metrics2, null, null, null, null, 0, 0), - new RunResult(null, metrics3, null, null, null, null, 0, 0), - }; - - var metricsAgent = new RegressionMetricsAgent(RegressionMetric.RSquared); - var bestResult = RunResultUtil.GetBestRunResult(runResults, metricsAgent); - Assert.AreEqual(0.3, bestResult.ValidationMetrics.RSquared); - } - - [TestMethod] - public void FindBestResultWithAllNullMetrics() - { - var runResults = new List>() - { - new RunResult(null, null, null, null, null, null, 0, 0), - }; - - var metricsAgent = new RegressionMetricsAgent(RegressionMetric.RSquared); - var bestResult = RunResultUtil.GetBestRunResult(runResults, metricsAgent); - Assert.AreEqual(null, bestResult); - } - } -} diff --git a/src/Test/TransformInferenceTests.cs b/src/Test/TransformInferenceTests.cs index c5da842a39..0a4461cf79 100644 --- a/src/Test/TransformInferenceTests.cs +++ b/src/Test/TransformInferenceTests.cs @@ -15,13 +15,13 @@ public class TransformInferenceTests [TestMethod] public void TransformInferenceNumAndCatCols() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - ("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Categorical1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), - ("Categorical2", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), - ("LargeCat1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), - ("LargeCat2", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + new DatasetColumnInfo("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Categorical1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + new DatasetColumnInfo("Categorical2", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + new DatasetColumnInfo("LargeCat1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + new DatasetColumnInfo("LargeCat2", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), }, @"[ { ""Name"": ""OneHotEncoding"", @@ -70,14 +70,14 @@ public void TransformInferenceNumAndCatCols() [TestMethod] public void TransformInferenceNumCatAndFeatCols() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - (DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Categorical1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), - ("Categorical2", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), - ("LargeCat1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), - ("LargeCat2", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + new DatasetColumnInfo(DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Categorical1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + new DatasetColumnInfo("Categorical2", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + new DatasetColumnInfo("LargeCat1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + new DatasetColumnInfo("LargeCat2", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), }, @"[ { ""Name"": ""OneHotEncoding"", @@ -127,11 +127,11 @@ public void TransformInferenceNumCatAndFeatCols() [TestMethod] public void TransformInferenceCatAndFeatCols() { - TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - (DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Categorical1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), - ("LargeCat1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), + new DatasetColumnInfo(DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Categorical1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(7, null)), + new DatasetColumnInfo("LargeCat1", TextDataViewType.Instance, ColumnPurpose.CategoricalFeature, new ColumnDimensions(500, null)), }, @"[ { ""Name"": ""OneHotEncoding"", @@ -174,9 +174,9 @@ public void TransformInferenceCatAndFeatCols() [TestMethod] public void TransformInferenceNumericCol() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - ("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { @@ -196,10 +196,10 @@ public void TransformInferenceNumericCol() [TestMethod] public void TransformInferenceNumericCols() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - ("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Numeric2", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Numeric2", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ColumnConcatenating"", @@ -219,9 +219,9 @@ public void TransformInferenceNumericCols() [TestMethod] public void TransformInferenceFeatColScalar() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - (DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo(DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ColumnConcatenating"", @@ -240,19 +240,19 @@ public void TransformInferenceFeatColScalar() [TestMethod] public void TransformInferenceFeatColVector() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - (DefaultColumnNames.Features, new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo(DefaultColumnNames.Features, new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[]"); } [TestMethod] public void NumericAndFeatCol() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - (DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo(DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ColumnConcatenating"", @@ -272,9 +272,9 @@ public void NumericAndFeatCol() [TestMethod] public void NumericScalarCol() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - ("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ColumnConcatenating"", @@ -293,9 +293,9 @@ public void NumericScalarCol() [TestMethod] public void NumericVectorCol() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - ("Numeric", new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Numeric", new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ColumnCopying"", @@ -314,9 +314,9 @@ public void NumericVectorCol() [TestMethod] public void TransformInferenceTextCol() { - TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - ("Text", TextDataViewType.Instance, ColumnPurpose.TextFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Text", TextDataViewType.Instance, ColumnPurpose.TextFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""TextFeaturizing"", @@ -346,10 +346,10 @@ public void TransformInferenceTextCol() [TestMethod] public void TransformInferenceTextAndFeatCol() { - TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - (DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Text", TextDataViewType.Instance, ColumnPurpose.TextFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo(DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Text", TextDataViewType.Instance, ColumnPurpose.TextFeature, new ColumnDimensions(null, null)), }, @"[ { @@ -381,9 +381,9 @@ public void TransformInferenceTextAndFeatCol() [TestMethod] public void TransformInferenceBoolCol() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - ("Bool", BooleanDataViewType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Bool", BooleanDataViewType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""TypeConverting"", @@ -413,10 +413,10 @@ public void TransformInferenceBoolCol() [TestMethod] public void TransformInferenceBoolAndNumCols() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - ("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Bool", BooleanDataViewType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Bool", BooleanDataViewType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""TypeConverting"", @@ -447,10 +447,10 @@ public void TransformInferenceBoolAndNumCols() [TestMethod] public void TransformInferenceBoolAndFeatCol() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - (DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Bool", BooleanDataViewType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo(DefaultColumnNames.Features, NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Bool", BooleanDataViewType.Instance, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""TypeConverting"", @@ -481,10 +481,10 @@ public void TransformInferenceBoolAndFeatCol() [TestMethod] public void TransformInferenceNumericMissingCol() { - TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - ("Missing", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), - ("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), + new DatasetColumnInfo("Missing", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), + new DatasetColumnInfo("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), }, @"[ { ""Name"": ""MissingValueIndicating"", @@ -538,11 +538,11 @@ public void TransformInferenceNumericMissingCol() [TestMethod] public void TransformInferenceNumericMissingCols() { - TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - ("Missing1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), - ("Missing2", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), - ("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), + new DatasetColumnInfo("Missing1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), + new DatasetColumnInfo("Missing2", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), + new DatasetColumnInfo("Numeric", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), }, @"[ { ""Name"": ""MissingValueIndicating"", @@ -604,10 +604,10 @@ public void TransformInferenceNumericMissingCols() [TestMethod] public void TransformInferenceIgnoreCol() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - ("Numeric1", NumberDataViewType.Single, ColumnPurpose.Ignore, new ColumnDimensions(null, null)), - ("Numeric2", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Numeric1", NumberDataViewType.Single, ColumnPurpose.Ignore, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Numeric2", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ColumnConcatenating"", @@ -626,30 +626,30 @@ public void TransformInferenceIgnoreCol() [TestMethod] public void TransformInferenceDefaultLabelCol() { - TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - (DefaultColumnNames.Features, new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - (DefaultColumnNames.Label, NumberDataViewType.Single, ColumnPurpose.Label, new ColumnDimensions(null, null)), + new DatasetColumnInfo(DefaultColumnNames.Features, new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo(DefaultColumnNames.Label, NumberDataViewType.Single, ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[]"); } [TestMethod] public void TransformInferenceCustomLabelCol() { - TransformInferenceTestCore(new(string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - (DefaultColumnNames.Features, new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("CustomLabel", NumberDataViewType.Single, ColumnPurpose.Label, new ColumnDimensions(null, null)), + new DatasetColumnInfo(DefaultColumnNames.Features, new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("CustomLabel", NumberDataViewType.Single, ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[]"); } [TestMethod] public void TransformInferenceCustomTextLabelColMulticlass() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - (DefaultColumnNames.Features, new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("CustomLabel", TextDataViewType.Instance, ColumnPurpose.Label, new ColumnDimensions(null, null)), + new DatasetColumnInfo(DefaultColumnNames.Features, new VectorDataViewType(NumberDataViewType.Single), ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("CustomLabel", TextDataViewType.Instance, ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""ValueToKeyMapping"", @@ -668,11 +668,11 @@ public void TransformInferenceCustomTextLabelColMulticlass() [TestMethod] public void TransformInferenceMissingNameCollision() { - TransformInferenceTestCore(new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + TransformInferenceTestCore(new[] { - ("Missing", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), - ("Missing_MissingIndicator", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), - ("Missing_MissingIndicator0", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), + new DatasetColumnInfo("Missing", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, true)), + new DatasetColumnInfo("Missing_MissingIndicator", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), + new DatasetColumnInfo("Missing_MissingIndicator0", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, false)), }, @"[ { ""Name"": ""MissingValueIndicating"", @@ -725,7 +725,7 @@ public void TransformInferenceMissingNameCollision() } private static void TransformInferenceTestCore( - (string name, DataViewType type, ColumnPurpose purpose, ColumnDimensions dimensions)[] columns, + DatasetColumnInfo[] columns, string expectedJson, TaskKind task = TaskKind.BinaryClassification) { @@ -736,7 +736,7 @@ private static void TransformInferenceTestCore( } private static void TestApplyTransformsToRealDataView(IEnumerable transforms, - IEnumerable<(string name, DataViewType type, ColumnPurpose purpose, ColumnDimensions dimensions)> columns) + IEnumerable columns) { // create a dummy data view from input columns var data = BuildDummyDataView(columns); @@ -754,10 +754,9 @@ private static void TestApplyTransformsToRealDataView(IEnumerable columns) + private static IDataView BuildDummyDataView(IEnumerable columns) { - return BuildDummyDataView(columns.Select(c => (c.name, c.type))); + return BuildDummyDataView(columns.Select(c => (c.Name, c.Type))); } private static IDataView BuildDummyDataView(IEnumerable<(string name, DataViewType type)> columns) diff --git a/src/Test/TransformPostTrainerInferenceTests.cs b/src/Test/TransformPostTrainerInferenceTests.cs index 07cbfe2f06..1099d58f58 100644 --- a/src/Test/TransformPostTrainerInferenceTests.cs +++ b/src/Test/TransformPostTrainerInferenceTests.cs @@ -16,10 +16,10 @@ public class TransformPostTrainerInferenceTests public void TransformPostTrainerMulticlassNonKeyLabel() { TransformPostTrainerInferenceTestCore(TaskKind.MulticlassClassification, - new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + new[] { - ("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Label", NumberDataViewType.Single, ColumnPurpose.Label, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Label", NumberDataViewType.Single, ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[ { ""Name"": ""KeyToValueMapping"", @@ -39,10 +39,10 @@ public void TransformPostTrainerMulticlassNonKeyLabel() public void TransformPostTrainerBinaryLabel() { TransformPostTrainerInferenceTestCore(TaskKind.BinaryClassification, - new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + new[] { - ("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Label", NumberDataViewType.Single, ColumnPurpose.Label, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Label", NumberDataViewType.Single, ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[]"); } @@ -50,16 +50,16 @@ public void TransformPostTrainerBinaryLabel() public void TransformPostTrainerMulticlassKeyLabel() { TransformPostTrainerInferenceTestCore(TaskKind.MulticlassClassification, - new (string, DataViewType, ColumnPurpose, ColumnDimensions)[] + new[] { - ("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), - ("Label", new KeyDataViewType(typeof(uint), 3), ColumnPurpose.Label, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Numeric1", NumberDataViewType.Single, ColumnPurpose.NumericFeature, new ColumnDimensions(null, null)), + new DatasetColumnInfo("Label", new KeyDataViewType(typeof(uint), 3), ColumnPurpose.Label, new ColumnDimensions(null, null)), }, @"[]"); } private static void TransformPostTrainerInferenceTestCore( TaskKind task, - (string name, DataViewType type, ColumnPurpose purpose, ColumnDimensions dimensions)[] columns, + DatasetColumnInfo[] columns, string expectedJson) { var transforms = TransformInferenceApi.InferTransformsPostTrainer(new MLContext(), task, columns); diff --git a/src/mlnet/AutoML/AutoMLEngine.cs b/src/mlnet/AutoML/AutoMLEngine.cs index 7c5abf8cc8..3d11ca0d9c 100644 --- a/src/mlnet/AutoML/AutoMLEngine.cs +++ b/src/mlnet/AutoML/AutoMLEngine.cs @@ -45,48 +45,45 @@ public ColumnInferenceResults InferColumns(MLContext context, ColumnInformation return columnInference; } - IEnumerable> IAutoMLEngine.ExploreBinaryClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, BinaryClassificationMetric optimizationMetric, ProgressBar progressBar) + IEnumerable> IAutoMLEngine.ExploreBinaryClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, BinaryClassificationMetric optimizationMetric, ProgressBar progressBar) { var progressReporter = new ProgressHandlers.BinaryClassificationHandler(optimizationMetric, progressBar); var result = context.Auto() .CreateBinaryClassificationExperiment(new BinaryExperimentSettings() { MaxExperimentTimeInSeconds = settings.MaxExplorationTime, - ProgressHandler = progressReporter, - EnableCaching = this.enableCaching, + CacheBeforeTrainer = this.enableCaching, OptimizingMetric = optimizationMetric }) - .Execute(trainData, validationData, columnInformation); + .Execute(trainData, validationData, columnInformation, progressHandler: progressReporter); logger.Log(LogLevel.Trace, Strings.RetrieveBestPipeline); return result; } - IEnumerable> IAutoMLEngine.ExploreRegressionModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, RegressionMetric optimizationMetric, ProgressBar progressBar) + IEnumerable> IAutoMLEngine.ExploreRegressionModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, RegressionMetric optimizationMetric, ProgressBar progressBar) { var progressReporter = new ProgressHandlers.RegressionHandler(optimizationMetric, progressBar); var result = context.Auto() .CreateRegressionExperiment(new RegressionExperimentSettings() { MaxExperimentTimeInSeconds = settings.MaxExplorationTime, - ProgressHandler = progressReporter, OptimizingMetric = optimizationMetric, - EnableCaching = this.enableCaching - }).Execute(trainData, validationData, columnInformation); + CacheBeforeTrainer = this.enableCaching + }).Execute(trainData, validationData, columnInformation, progressHandler: progressReporter); logger.Log(LogLevel.Trace, Strings.RetrieveBestPipeline); return result; } - IEnumerable> IAutoMLEngine.ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar) + IEnumerable> IAutoMLEngine.ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar) { var progressReporter = new ProgressHandlers.MulticlassClassificationHandler(optimizationMetric, progressBar); var result = context.Auto() .CreateMulticlassClassificationExperiment(new MulticlassExperimentSettings() { MaxExperimentTimeInSeconds = settings.MaxExplorationTime, - ProgressHandler = progressReporter, - EnableCaching = this.enableCaching, + CacheBeforeTrainer = this.enableCaching, OptimizingMetric = optimizationMetric - }).Execute(trainData, validationData, columnInformation); + }).Execute(trainData, validationData, columnInformation, progressHandler: progressReporter); logger.Log(LogLevel.Trace, Strings.RetrieveBestPipeline); return result; } diff --git a/src/mlnet/AutoML/IAutoMLEngine.cs b/src/mlnet/AutoML/IAutoMLEngine.cs index 31e3bf7a90..399b42f990 100644 --- a/src/mlnet/AutoML/IAutoMLEngine.cs +++ b/src/mlnet/AutoML/IAutoMLEngine.cs @@ -13,11 +13,11 @@ internal interface IAutoMLEngine { ColumnInferenceResults InferColumns(MLContext context, ColumnInformation columnInformation); - IEnumerable> ExploreBinaryClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, BinaryClassificationMetric optimizationMetric, ProgressBar progressBar); + IEnumerable> ExploreBinaryClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, BinaryClassificationMetric optimizationMetric, ProgressBar progressBar); - IEnumerable> ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar); + IEnumerable> ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar); - IEnumerable> ExploreRegressionModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, RegressionMetric optimizationMetric, ProgressBar progressBar); + IEnumerable> ExploreRegressionModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, RegressionMetric optimizationMetric, ProgressBar progressBar); } } diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index 6a40b15257..6dd9802a54 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -74,9 +74,9 @@ public void GenerateCode() // The reason why we are doing this way of defining 3 different results is because of the AutoML API // i.e there is no common class/interface to handle all three tasks together. - IEnumerable> binaryRunResults = default; - IEnumerable> multiRunResults = default; - IEnumerable> regressionRunResults = default; + IEnumerable> binaryRunDetails = default; + IEnumerable> multiRunDetails = default; + IEnumerable> regressionRunDetails = default; Console.WriteLine($"{Strings.ExplorePipeline}: {settings.MlTask}"); try @@ -96,15 +96,15 @@ public void GenerateCode() switch (taskKind) { case TaskKind.BinaryClassification: - t = new Thread(() => binaryRunResults = automlEngine.ExploreBinaryClassificationModels(context, trainData, validationData, columnInformation, new BinaryExperimentSettings().OptimizingMetric, pbar)); + t = new Thread(() => binaryRunDetails = automlEngine.ExploreBinaryClassificationModels(context, trainData, validationData, columnInformation, new BinaryExperimentSettings().OptimizingMetric, pbar)); t.Start(); break; case TaskKind.Regression: - t = new Thread(() => regressionRunResults = automlEngine.ExploreRegressionModels(context, trainData, validationData, columnInformation, new RegressionExperimentSettings().OptimizingMetric, pbar)); + t = new Thread(() => regressionRunDetails = automlEngine.ExploreRegressionModels(context, trainData, validationData, columnInformation, new RegressionExperimentSettings().OptimizingMetric, pbar)); t.Start(); break; case TaskKind.MulticlassClassification: - t = new Thread(() => multiRunResults = automlEngine.ExploreMultiClassificationModels(context, trainData, validationData, columnInformation, new MulticlassExperimentSettings().OptimizingMetric, pbar)); + t = new Thread(() => multiRunDetails = automlEngine.ExploreMultiClassificationModels(context, trainData, validationData, columnInformation, new MulticlassExperimentSettings().OptimizingMetric, pbar)); t.Start(); break; default: @@ -146,25 +146,25 @@ public void GenerateCode() switch (taskKind) { case TaskKind.BinaryClassification: - var bestBinaryIteration = binaryRunResults.Best(); + var bestBinaryIteration = binaryRunDetails.Best(); bestPipeline = bestBinaryIteration.Pipeline; bestModel = bestBinaryIteration.Model; - ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumn, settings.MaxExplorationTime.ToString(), binaryRunResults.Count()); - ConsolePrinter.PrintIterationSummary(binaryRunResults, new BinaryExperimentSettings().OptimizingMetric, 5); + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumn, settings.MaxExplorationTime.ToString(), binaryRunDetails.Count()); + ConsolePrinter.PrintIterationSummary(binaryRunDetails, new BinaryExperimentSettings().OptimizingMetric, 5); break; case TaskKind.Regression: - var bestRegressionIteration = regressionRunResults.Best(); + var bestRegressionIteration = regressionRunDetails.Best(); bestPipeline = bestRegressionIteration.Pipeline; bestModel = bestRegressionIteration.Model; - ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumn, settings.MaxExplorationTime.ToString(), regressionRunResults.Count()); - ConsolePrinter.PrintIterationSummary(regressionRunResults, new RegressionExperimentSettings().OptimizingMetric, 5); + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumn, settings.MaxExplorationTime.ToString(), regressionRunDetails.Count()); + ConsolePrinter.PrintIterationSummary(regressionRunDetails, new RegressionExperimentSettings().OptimizingMetric, 5); break; case TaskKind.MulticlassClassification: - var bestMultiIteration = multiRunResults.Best(); + var bestMultiIteration = multiRunDetails.Best(); bestPipeline = bestMultiIteration.Pipeline; bestModel = bestMultiIteration.Model; - ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumn, settings.MaxExplorationTime.ToString(), multiRunResults.Count()); - ConsolePrinter.PrintIterationSummary(multiRunResults, new MulticlassExperimentSettings().OptimizingMetric, 5); + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumn, settings.MaxExplorationTime.ToString(), multiRunDetails.Count()); + ConsolePrinter.PrintIterationSummary(multiRunDetails, new MulticlassExperimentSettings().OptimizingMetric, 5); break; } diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 86fdb35332..82c7a119b1 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -79,10 +79,10 @@ internal static void ExperimentResultsHeader(LogLevel logLevel, string mltask, s logger.Log(logLevel, $"{"Total number of models explored",-30} : {numModelsExplored}"); logger.Log(logLevel, $"------------------------------------------------------------------------------------------------------------------"); } - internal static void PrintIterationSummary(IEnumerable> results, BinaryClassificationMetric optimizationMetric, int count) + internal static void PrintIterationSummary(IEnumerable> results, BinaryClassificationMetric optimizationMetric, int count) { - var metricsAgent = new BinaryMetricsAgent(optimizationMetric); - var topNResults = RunResultUtil.GetTopNRunResults(results, metricsAgent, count); + var metricsAgent = new BinaryMetricsAgent(null, optimizationMetric); + var topNResults = BestResultUtil.GetTopNRunResults(results, metricsAgent, count, new OptimizingMetricInfo(optimizationMetric).IsMaximizing); logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); logger.Log(LogLevel.Info, $"Top {topNResults?.Count()} models explored "); logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); @@ -95,10 +95,10 @@ internal static void PrintIterationSummary(IEnumerable> results, RegressionMetric optimizationMetric, int count) + internal static void PrintIterationSummary(IEnumerable> results, RegressionMetric optimizationMetric, int count) { - var metricsAgent = new RegressionMetricsAgent(optimizationMetric); - var topNResults = RunResultUtil.GetTopNRunResults(results, metricsAgent, count); + var metricsAgent = new RegressionMetricsAgent(null, optimizationMetric); + var topNResults = BestResultUtil.GetTopNRunResults(results, metricsAgent, count, new OptimizingMetricInfo(optimizationMetric).IsMaximizing); logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); logger.Log(LogLevel.Info, $"Top {topNResults?.Count()} models explored "); logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); @@ -111,10 +111,10 @@ internal static void PrintIterationSummary(IEnumerable> results, MulticlassClassificationMetric optimizationMetric, int count) + internal static void PrintIterationSummary(IEnumerable> results, MulticlassClassificationMetric optimizationMetric, int count) { - var metricsAgent = new MultiMetricsAgent(optimizationMetric); - var topNResults = RunResultUtil.GetTopNRunResults(results, metricsAgent, count); + var metricsAgent = new MultiMetricsAgent(null, optimizationMetric); + var topNResults = BestResultUtil.GetTopNRunResults(results, metricsAgent, count, new OptimizingMetricInfo(optimizationMetric).IsMaximizing); logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); logger.Log(LogLevel.Info, $"Top {topNResults?.Count()} models explored "); logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); diff --git a/src/mlnet/Utilities/ProgressHandlers.cs b/src/mlnet/Utilities/ProgressHandlers.cs index 4a94751053..0ecf3f819f 100644 --- a/src/mlnet/Utilities/ProgressHandlers.cs +++ b/src/mlnet/Utilities/ProgressHandlers.cs @@ -17,11 +17,11 @@ private static int MetricComparator(double a, double b, bool isMaximizing) return (isMaximizing ? a.CompareTo(b) : -a.CompareTo(b)); } - internal class RegressionHandler : IProgress> + internal class RegressionHandler : IProgress> { private readonly bool isMaximizing; - private readonly Func, double> GetScore; - private RunResult bestResult; + private readonly Func, double> GetScore; + private RunDetails bestResult; private int iterationIndex; private ProgressBar progressBar; private string optimizationMetric = string.Empty; @@ -31,18 +31,18 @@ public RegressionHandler(RegressionMetric optimizationMetric, ShellProgressBar.P this.isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; this.optimizationMetric = optimizationMetric.ToString(); this.progressBar = progressBar; - GetScore = (RunResult result) => new RegressionMetricsAgent(optimizationMetric).GetScore(result?.ValidationMetrics); + GetScore = (RunDetails result) => new RegressionMetricsAgent(null, optimizationMetric).GetScore(result?.ValidationMetrics); ConsolePrinter.PrintRegressionMetricsHeader(LogLevel.Trace); } - public void Report(RunResult iterationResult) + public void Report(RunDetails iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds, LogLevel.Trace); } - private void UpdateBestResult(RunResult iterationResult) + private void UpdateBestResult(RunDetails iterationResult) { if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) { @@ -56,11 +56,11 @@ private void UpdateBestResult(RunResult iterationResult) } } - internal class BinaryClassificationHandler : IProgress> + internal class BinaryClassificationHandler : IProgress> { private readonly bool isMaximizing; - private readonly Func, double> GetScore; - private RunResult bestResult; + private readonly Func, double> GetScore; + private RunDetails bestResult; private int iterationIndex; private ProgressBar progressBar; private string optimizationMetric = string.Empty; @@ -70,18 +70,18 @@ public BinaryClassificationHandler(BinaryClassificationMetric optimizationMetric this.isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; this.optimizationMetric = optimizationMetric.ToString(); this.progressBar = progressBar; - GetScore = (RunResult result) => new BinaryMetricsAgent(optimizationMetric).GetScore(result?.ValidationMetrics); + GetScore = (RunDetails result) => new BinaryMetricsAgent(null, optimizationMetric).GetScore(result?.ValidationMetrics); ConsolePrinter.PrintBinaryClassificationMetricsHeader(LogLevel.Trace); } - public void Report(RunResult iterationResult) + public void Report(RunDetails iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds, LogLevel.Trace); } - private void UpdateBestResult(RunResult iterationResult) + private void UpdateBestResult(RunDetails iterationResult) { if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) { @@ -95,11 +95,11 @@ private void UpdateBestResult(RunResult iterationRe } } - internal class MulticlassClassificationHandler : IProgress> + internal class MulticlassClassificationHandler : IProgress> { private readonly bool isMaximizing; - private readonly Func, double> GetScore; - private RunResult bestResult; + private readonly Func, double> GetScore; + private RunDetails bestResult; private int iterationIndex; private ProgressBar progressBar; private string optimizationMetric = string.Empty; @@ -109,18 +109,18 @@ public MulticlassClassificationHandler(MulticlassClassificationMetric optimizati this.isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; this.optimizationMetric = optimizationMetric.ToString(); this.progressBar = progressBar; - GetScore = (RunResult result) => new MultiMetricsAgent(optimizationMetric).GetScore(result?.ValidationMetrics); + GetScore = (RunDetails result) => new MultiMetricsAgent(null, optimizationMetric).GetScore(result?.ValidationMetrics); ConsolePrinter.PrintMulticlassClassificationMetricsHeader(LogLevel.Trace); } - public void Report(RunResult iterationResult) + public void Report(RunDetails iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds, LogLevel.Trace); } - private void UpdateBestResult(RunResult iterationResult) + private void UpdateBestResult(RunDetails iterationResult) { if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) { @@ -135,4 +135,4 @@ private void UpdateBestResult(RunResult iterati } } -} +} \ No newline at end of file From 6b2eca8bf13e24cca1071b05e46ea703aec66452 Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin <45412678+Dmitry-A@users.noreply.github.com> Date: Wed, 3 Apr 2019 16:51:34 -0700 Subject: [PATCH 192/211] restore old yml for internal pipeline so we can publish nuget again to devdiv stream (#344) --- build/vsts-internal-nuget.yml | 72 +++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 build/vsts-internal-nuget.yml diff --git a/build/vsts-internal-nuget.yml b/build/vsts-internal-nuget.yml new file mode 100644 index 0000000000..86b2fe77f5 --- /dev/null +++ b/build/vsts-internal-nuget.yml @@ -0,0 +1,72 @@ +################################################################################ +# ML.NET's official, signed build +################################################################################ + +resources: + containers: + - container: LinuxContainer + image: microsoft/dotnet-buildtools-prereqs:centos-7-b46d863-20180719033416 + +phases: + +################################################################################ +- phase: Windows_x64 +################################################################################ + variables: + BuildConfig: Release + OfficialBuildId: $(BUILD.BUILDNUMBER) + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_MULTILEVEL_LOOKUP: 0 + _SignType: real + _UseEsrpSigning: true + _TeamName: DotNetCore + queue: + name: dotnet-internal-temp + demands: + - agent.os -equals Windows_NT + steps: + + # Build both native and managed assets. + - script: ./build.cmd -$(BuildConfig) + displayName: Build + + # Terminate all dotnet build processes. + - script: $(Build.SourcesDirectory)/Tools/dotnetcli/dotnet.exe build-server shutdown + displayName: Dotnet Server Shutdown + +################################################################################ +- phase: Package +################################################################################ + dependsOn: + - Windows_x64 + variables: + BuildConfig: Release + OfficialBuildId: $(BUILD.BUILDNUMBER) + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_MULTILEVEL_LOOKUP: 0 + _TeamName: DotNetCore + _NuGetFeedUrl: https://dotnet.myget.org/F/dotnet-core/api/v2/package + _SymwebSymbolServerPath: https://microsoft.artifacts.visualstudio.com/DefaultCollection + _MsdlSymbolServerPath: https://microsoftpublicsymbols.artifacts.visualstudio.com/DefaultCollection + queue: + name: dotnet-internal-temp + demands: + - agent.os -equals Windows_NT + steps: + + - script: ./build.cmd -buildPackages + displayName: Create Packages + + - task: NuGetCommand@2 + displayName: Publish Packages to VSTS Feed + inputs: + command: push + packagesToPush: $(Build.SourcesDirectory)/bin/packages/**/*.nupkg + nuGetFeedType: internal + feedPublish: dotnet-internal + + # Terminate all dotnet build processes. + - script: $(Build.SourcesDirectory)/Tools/dotnetcli/dotnet.exe build-server shutdown + displayName: Dotnet Server Shutdown From 3c492c48f3b282f3031425c0e639e6dd356be2a7 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 3 Apr 2019 18:57:28 -0700 Subject: [PATCH 193/211] Polishing the CLI UI part-1 (#338) * formatting of pbar message * Polishing the UI * optimization * rename variable * Update src/mlnet/AutoML/AutoMLEngine.cs Co-Authored-By: srsaggam <41802116+srsaggam@users.noreply.github.com> * Update src/mlnet/CodeGenerator/CodeGenerationHelper.cs Co-Authored-By: srsaggam <41802116+srsaggam@users.noreply.github.com> * new message * changed hhtp to https * added iteration num + 1 * change string name and add color to artifacts * change the message * build errors * added null checks * added exception messsages to log file * added exception messsages to log file --- src/Microsoft.ML.Auto/Utils/BestResultUtil.cs | 11 +- src/mlnet/AutoML/AutoMLEngine.cs | 4 +- .../CodeGenerator/CodeGenerationHelper.cs | 16 ++- src/mlnet/NLog.config | 2 +- src/mlnet/Strings.resx | 19 ++- src/mlnet/Utilities/ConsolePrinter.cs | 108 +++++++++--------- src/mlnet/Utilities/ProgressHandlers.cs | 36 +++--- src/mlnet/strings.Designer.cs | 49 +++++++- 8 files changed, 155 insertions(+), 90 deletions(-) diff --git a/src/Microsoft.ML.Auto/Utils/BestResultUtil.cs b/src/Microsoft.ML.Auto/Utils/BestResultUtil.cs index fd7a72de72..4ee532c386 100644 --- a/src/Microsoft.ML.Auto/Utils/BestResultUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/BestResultUtil.cs @@ -29,20 +29,23 @@ public static CrossValidationRunDetails GetBestRun(IEnumerab return results.ElementAt(indexOfBestScore); } - public static IEnumerable> GetTopNRunResults(IEnumerable> results, + public static IEnumerable<(RunDetails, int)> GetTopNRunResults(IEnumerable> results, IMetricsAgent metricsAgent, int n, bool isMetricMaximizing) { results = results.Where(r => r.ValidationMetrics != null); if (!results.Any()) { return null; } - IEnumerable> orderedResults; + var indexedValues = results.Select((k, v) => (k, v)); + + IEnumerable<(RunDetails, int)> orderedResults; if (isMetricMaximizing) { - orderedResults = results.OrderByDescending(t => metricsAgent.GetScore(t.ValidationMetrics)); + orderedResults = indexedValues.OrderByDescending(t => metricsAgent.GetScore(t.Item1.ValidationMetrics)); + } else { - orderedResults = results.OrderBy(t => metricsAgent.GetScore(t.ValidationMetrics)); + orderedResults = indexedValues.OrderBy(t => metricsAgent.GetScore(t.Item1.ValidationMetrics)); } return orderedResults.Take(n); diff --git a/src/mlnet/AutoML/AutoMLEngine.cs b/src/mlnet/AutoML/AutoMLEngine.cs index 3d11ca0d9c..144eb1a8b6 100644 --- a/src/mlnet/AutoML/AutoMLEngine.cs +++ b/src/mlnet/AutoML/AutoMLEngine.cs @@ -29,8 +29,8 @@ public AutoMLEngine(NewCommandSettings settings) public ColumnInferenceResults InferColumns(MLContext context, ColumnInformation columnInformation) { - //Check what overload method of InferColumns needs to be called. - logger.Log(LogLevel.Info, Strings.InferColumns); + // Check what overload method of InferColumns needs to be called. + logger.Log(LogLevel.Trace, Strings.InferColumns); ColumnInferenceResults columnInference = null; var dataset = settings.Dataset.FullName; if (columnInformation.LabelColumn != null) diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index 6dd9802a54..370cc0454a 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -79,12 +79,13 @@ public void GenerateCode() IEnumerable> regressionRunDetails = default; Console.WriteLine($"{Strings.ExplorePipeline}: {settings.MlTask}"); + Console.WriteLine($"{Strings.FurtherLearning}: {Strings.LearningHttpLink}"); try { var options = new ProgressBarOptions { ForegroundColor = ConsoleColor.Yellow, - ForegroundColorDone = ConsoleColor.DarkGreen, + ForegroundColorDone = ConsoleColor.Yellow, BackgroundColor = ConsoleColor.Gray, ProgressCharacter = '\u2593', BackgroundCharacter = '─', @@ -169,19 +170,22 @@ public void GenerateCode() } // Save the model - logger.Log(LogLevel.Info, Strings.SavingBestModel); var modelprojectDir = Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.Model"); var modelPath = new FileInfo(Path.Combine(modelprojectDir, "MLModel.zip")); Utils.SaveModel(bestModel, modelPath, context, trainData.Schema); + Console.ForegroundColor = ConsoleColor.Yellow; + logger.Log(LogLevel.Info, $"{Strings.SavingBestModel}: {modelPath}"); // Generate the Project GenerateProject(columnInference, bestPipeline, columnInformation.LabelColumn, modelPath); + logger.Log(LogLevel.Info, $"{Strings.GenerateModelConsumption} : { Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.Predict")}"); + logger.Log(LogLevel.Info, $"{Strings.GenerateModelTraining} : { Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.Train")}"); + Console.ResetColor(); } internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline pipeline, string labelName, FileInfo modelPath) { - //Generate code - logger.Log(LogLevel.Info, $"{Strings.GenerateProject} : {settings.OutputPath.FullName}"); + // Generate code var codeGenerator = new CodeGenerator.CSharp.CodeGenerator( pipeline, columnInference, @@ -200,10 +204,10 @@ internal void GenerateProject(ColumnInferenceResults columnInference, Pipeline p internal (IDataView, IDataView) LoadData(MLContext context, TextLoader.Options textLoaderOptions) { - logger.Log(LogLevel.Info, Strings.CreateDataLoader); + logger.Log(LogLevel.Trace, Strings.CreateDataLoader); var textLoader = context.Data.CreateTextLoader(textLoaderOptions); - logger.Log(LogLevel.Info, Strings.LoadData); + logger.Log(LogLevel.Trace, Strings.LoadData); var trainData = textLoader.Load(settings.Dataset.FullName); var validationData = settings.ValidationDataset == null ? null : textLoader.Load(settings.ValidationDataset.FullName); diff --git a/src/mlnet/NLog.config b/src/mlnet/NLog.config index 6d20383887..b2ae67740e 100644 --- a/src/mlnet/NLog.config +++ b/src/mlnet/NLog.config @@ -8,6 +8,6 @@ - + \ No newline at end of file diff --git a/src/mlnet/Strings.resx b/src/mlnet/Strings.resx index bb917270e3..4a138d0a69 100644 --- a/src/mlnet/Strings.resx +++ b/src/mlnet/Strings.resx @@ -127,7 +127,7 @@ Exiting ... - Exploring multiple combinations of ML algorithms and settings to find you the best model for ML task + Exploring multiple ML algorithms and settings to find you the best model for ML task Exception occured while exploring pipelines @@ -157,9 +157,24 @@ Retrieving best pipeline ... - Saving the best model ... + Generated trained model for consumption Unsupported ml-task + + Generated log file + + + Generated C# code for model consumption + + + Generated C# code for model training + + + For further learning check + + + https://aka.ms/mlnet-cli + \ No newline at end of file diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 82c7a119b1..94c9c6b316 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -13,118 +13,116 @@ namespace Microsoft.ML.CLI.Utilities { internal class ConsolePrinter { + private const int Width = 114; private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); + internal static readonly string TABLESEPERATOR = "------------------------------------------------------------------------------------------------------------------"; - - internal static void PrintMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics, double bestMetric, double runtimeInSeconds, LogLevel logLevel) + internal static void PrintMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics, double bestMetric, double? runtimeInSeconds, LogLevel logLevel, int iterationNumber = -1) { - logger.Log(logLevel, $"{iteration,-4} {trainerName,-35} {metrics?.Accuracy ?? double.NaN,9:F4} {metrics?.AreaUnderRocCurve ?? double.NaN,8:F4} {metrics?.AreaUnderPrecisionRecallCurve ?? double.NaN,8:F4} {metrics?.F1Score ?? double.NaN,9:F4} {bestMetric,8:F4} {runtimeInSeconds,9:F1}"); + logger.Log(logLevel, CreateRow($"{iteration,-4} {trainerName,-35} {metrics?.Accuracy ?? double.NaN,9:F4} {metrics?.AreaUnderRocCurve ?? double.NaN,8:F4} {metrics?.AreaUnderPrecisionRecallCurve ?? double.NaN,8:F4} {metrics?.F1Score ?? double.NaN,9:F4} {runtimeInSeconds.Value,9:F1} {iterationNumber + 1,9}", Width)); } - internal static void PrintMetrics(int iteration, string trainerName, MulticlassClassificationMetrics metrics, double bestMetric, double runtimeInSeconds, LogLevel logLevel) + internal static void PrintMetrics(int iteration, string trainerName, MulticlassClassificationMetrics metrics, double bestMetric, double? runtimeInSeconds, LogLevel logLevel, int iterationNumber = -1) { - logger.Log(logLevel, $"{iteration,-4} {trainerName,-35} {metrics?.MicroAccuracy ?? double.NaN,14:F4} {metrics?.MicroAccuracy ?? double.NaN,14:F4} {bestMetric,14:F4} {runtimeInSeconds,9:F1}"); + logger.Log(logLevel, CreateRow($"{iteration,-4} {trainerName,-35} {metrics?.MicroAccuracy ?? double.NaN,14:F4} {metrics?.MacroAccuracy ?? double.NaN,14:F4} {runtimeInSeconds.Value,9:F1} {iterationNumber + 1,9}", Width)); } - internal static void PrintMetrics(int iteration, string trainerName, RegressionMetrics metrics, double bestMetric, double runtimeInSeconds, LogLevel logLevel) + internal static void PrintMetrics(int iteration, string trainerName, RegressionMetrics metrics, double bestMetric, double? runtimeInSeconds, LogLevel logLevel, int iterationNumber = -1) { - logger.Log(logLevel, $"{iteration,-4} {trainerName,-35} {metrics?.RSquared ?? double.NaN,9:F4} {metrics?.LossFunction ?? double.NaN,12:F2} {metrics?.MeanAbsoluteError ?? double.NaN,15:F2} {metrics?.MeanSquaredError ?? double.NaN,15:F2} {metrics?.RootMeanSquaredError ?? double.NaN,12:F2} {bestMetric,12:F4} {runtimeInSeconds,9:F1}"); + logger.Log(logLevel, CreateRow($"{iteration,-4} {trainerName,-35} {metrics?.RSquared ?? double.NaN,9:F4} {metrics?.LossFunction ?? double.NaN,12:F2} {metrics?.MeanAbsoluteError ?? double.NaN,15:F2} {metrics?.MeanSquaredError ?? double.NaN,15:F2} {metrics?.RootMeanSquaredError ?? double.NaN,12:F2} {runtimeInSeconds.Value,9:F1} {iterationNumber + 1,9}", Width)); } - internal static void PrintBinaryClassificationMetricsHeader(LogLevel logLevel) { - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); - logger.Log(logLevel, $"{Strings.MetricsForBinaryClassModels}"); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); - logger.Log(logLevel, $"{" ",-4} {"Trainer",-35} {"Accuracy",9} {"AUC",8} {"AUPRC",8} {"F1-score",9} {"Best",8} {"Duration",9}"); + logger.Log(logLevel, CreateRow($"{"",-4} {"Trainer",-35} {"Accuracy",9} {"AUC",8} {"AUPRC",8} {"F1-score",9} {"Duration",9} {"#Iteration",9}", Width)); } internal static void PrintMulticlassClassificationMetricsHeader(LogLevel logLevel) { - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); - logger.Log(logLevel, $"{Strings.MetricsForMulticlassModels}"); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); - logger.Log(logLevel, $"{" ",-4} {"Trainer",-35} {"AccuracyMicro",14} {"AccuracyMacro",14} {"Best",14} {"Duration",9}"); + logger.Log(logLevel, CreateRow($"{"",-4} {"Trainer",-35} {"AccuracyMicro",14} {"AccuracyMacro",14} {"Duration",9} {"#Iteration",9}", Width)); } internal static void PrintRegressionMetricsHeader(LogLevel logLevel) { - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); - logger.Log(logLevel, $"{Strings.MetricsForRegressionModels}"); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); - logger.Log(logLevel, $"{" ",-4} {"Trainer",-35} {"R2-Score",9} {"LossFn",12} {"Absolute-loss",15} {"Squared-loss",15} {"RMS-loss",12} {"Best",12} {"Duration",9}"); + logger.Log(logLevel, CreateRow($"{"",-4} {"Trainer",-35} {"RSquared",8} {"LossFn",10} {"Absolute-loss",13} {"Squared-loss",12} {"RMS-loss",10} {"Duration",9} {"#Iteration",9}", Width)); } - internal static void PrintBestPipelineHeader(LogLevel logLevel) + internal static void ExperimentResultsHeader(LogLevel logLevel, string mltask, string datasetName, string labelName, string time, int numModelsExplored) { - logger.Log(logLevel, $"*************************************************"); - logger.Log(logLevel, $"* {Strings.BestPipeline} "); - logger.Log(logLevel, $"*------------------------------------------------"); + logger.Log(logLevel, string.Empty); + logger.Log(logLevel, $"===============================================Experiment Results================================================="); + logger.Log(logLevel, TABLESEPERATOR); + var header = "Summary"; + logger.Log(logLevel, CreateRow(header.PadLeft((Width / 2) + header.Length / 2), Width)); + logger.Log(logLevel, TABLESEPERATOR); + logger.Log(logLevel, CreateRow($"{"ML Task",-7}: {mltask,-20}", Width)); + logger.Log(logLevel, CreateRow($"{"Dataset",-7}: {datasetName,-25}", Width)); + logger.Log(logLevel, CreateRow($"{"Label",-6}: {labelName,-25}", Width)); + logger.Log(logLevel, CreateRow($"{"Exploration time",-16}: {time} Secs", Width)); + logger.Log(logLevel, CreateRow($"{"Total number of models explored",-30}: {numModelsExplored}", Width)); + logger.Log(logLevel, TABLESEPERATOR); } - internal static void PrintTopNHeader(int count) + internal static string CreateRow(string message, int width) { - throw new NotImplementedException(); + return "|" + message.PadRight(width - 2) + "|"; } - internal static void ExperimentResultsHeader(LogLevel logLevel, string mltask, string datasetName, string labelName, string time, int numModelsExplored) - { - logger.Log(logLevel, $"==============================================Experiment Results=================================================="); - logger.Log(logLevel, $"------------------------------------------------------------------------------------------------------------------"); - logger.Log(logLevel, $"{"ML Task",-7} : {mltask,-20}"); - logger.Log(logLevel, $"{"Dataset",-7}: {datasetName,-25}"); - logger.Log(logLevel, $"{"Label",-6} : {labelName,-25}"); - logger.Log(logLevel, $"{"Exploration time",-20} : {time} Secs"); - logger.Log(logLevel, $"{"Total number of models explored",-30} : {numModelsExplored}"); - logger.Log(logLevel, $"------------------------------------------------------------------------------------------------------------------"); - } internal static void PrintIterationSummary(IEnumerable> results, BinaryClassificationMetric optimizationMetric, int count) { var metricsAgent = new BinaryMetricsAgent(null, optimizationMetric); var topNResults = BestResultUtil.GetTopNRunResults(results, metricsAgent, count, new OptimizingMetricInfo(optimizationMetric).IsMaximizing); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); - logger.Log(LogLevel.Info, $"Top {topNResults?.Count()} models explored "); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); + var header = $"Top {topNResults?.Count()} models explored"; + logger.Log(LogLevel.Info, CreateRow(header.PadLeft((Width / 2) + header.Length / 2), Width)); + logger.Log(LogLevel.Info, TABLESEPERATOR); + PrintBinaryClassificationMetricsHeader(LogLevel.Info); int i = 0; - foreach (var result in topNResults) + foreach (var pair in topNResults) { - PrintMetrics(++i, result.TrainerName, result.ValidationMetrics, metricsAgent.GetScore(result.ValidationMetrics), result.RuntimeInSeconds, LogLevel.Info); + var result = pair.Item1; + PrintMetrics(++i, result?.TrainerName, result?.ValidationMetrics, metricsAgent.GetScore(result?.ValidationMetrics), result?.RuntimeInSeconds, LogLevel.Info, pair.Item2); } - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, TABLESEPERATOR); } internal static void PrintIterationSummary(IEnumerable> results, RegressionMetric optimizationMetric, int count) { var metricsAgent = new RegressionMetricsAgent(null, optimizationMetric); var topNResults = BestResultUtil.GetTopNRunResults(results, metricsAgent, count, new OptimizingMetricInfo(optimizationMetric).IsMaximizing); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); - logger.Log(LogLevel.Info, $"Top {topNResults?.Count()} models explored "); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); + var header = $"Top {topNResults?.Count()} models explored"; + logger.Log(LogLevel.Info, CreateRow(header.PadLeft((Width / 2) + header.Length / 2), Width)); + logger.Log(LogLevel.Info, TABLESEPERATOR); + PrintRegressionMetricsHeader(LogLevel.Info); int i = 0; - foreach (var result in topNResults) + foreach (var pair in topNResults) { - PrintMetrics(++i, result.TrainerName, result.ValidationMetrics, metricsAgent.GetScore(result.ValidationMetrics), result.RuntimeInSeconds, LogLevel.Info); + var result = pair.Item1; + PrintMetrics(++i, result?.TrainerName, result?.ValidationMetrics, metricsAgent.GetScore(result?.ValidationMetrics), result?.RuntimeInSeconds, LogLevel.Info, pair.Item2); } - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, TABLESEPERATOR); } internal static void PrintIterationSummary(IEnumerable> results, MulticlassClassificationMetric optimizationMetric, int count) { var metricsAgent = new MultiMetricsAgent(null, optimizationMetric); var topNResults = BestResultUtil.GetTopNRunResults(results, metricsAgent, count, new OptimizingMetricInfo(optimizationMetric).IsMaximizing); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); - logger.Log(LogLevel.Info, $"Top {topNResults?.Count()} models explored "); - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); + var header = $"Top {topNResults?.Count()} models explored"; + logger.Log(LogLevel.Info, CreateRow(header.PadLeft((Width / 2) + header.Length / 2), Width)); + logger.Log(LogLevel.Info, TABLESEPERATOR); PrintMulticlassClassificationMetricsHeader(LogLevel.Info); int i = 0; - foreach (var result in topNResults) + foreach (var pair in topNResults) { - PrintMetrics(++i, result.TrainerName, result.ValidationMetrics, metricsAgent.GetScore(result.ValidationMetrics), result.RuntimeInSeconds, LogLevel.Info); + var result = pair.Item1; + PrintMetrics(++i, result?.TrainerName, result?.ValidationMetrics, metricsAgent.GetScore(result?.ValidationMetrics), result?.RuntimeInSeconds, LogLevel.Info, pair.Item2); } - logger.Log(LogLevel.Info, $"------------------------------------------------------------------------------------------------------------------"); + logger.Log(LogLevel.Info, TABLESEPERATOR); + } + internal static void PrintException(Exception e, LogLevel logLevel) + { + logger.Log(logLevel, e.ToString()); } } } diff --git a/src/mlnet/Utilities/ProgressHandlers.cs b/src/mlnet/Utilities/ProgressHandlers.cs index 0ecf3f819f..9032335b15 100644 --- a/src/mlnet/Utilities/ProgressHandlers.cs +++ b/src/mlnet/Utilities/ProgressHandlers.cs @@ -39,7 +39,12 @@ public void Report(RunDetails iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); - ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds, LogLevel.Trace); + progressBar.Message = $"Best {this.optimizationMetric}: {GetScore(bestResult):F4}, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; + ConsolePrinter.PrintMetrics(iterationIndex, iterationResult?.TrainerName, iterationResult?.ValidationMetrics, GetScore(bestResult), iterationResult?.RuntimeInSeconds, LogLevel.Trace); + if (iterationResult.Exception != null) + { + ConsolePrinter.PrintException(iterationResult.Exception, LogLevel.Trace); + } } private void UpdateBestResult(RunDetails iterationResult) @@ -47,11 +52,6 @@ private void UpdateBestResult(RunDetails iterationResult) if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) { bestResult = iterationResult; - progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult):F2} , Best Algorithm : {bestResult.TrainerName}, Last Algorithm : {bestResult.TrainerName}"; - } - else - { - progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult):F2} , Best Algorithm : {bestResult.TrainerName}, Last Algorithm : {iterationResult.TrainerName}"; } } } @@ -78,7 +78,12 @@ public void Report(RunDetails iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); - ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds, LogLevel.Trace); + progressBar.Message = $"Best {this.optimizationMetric}: {GetScore(bestResult):F4}, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; + ConsolePrinter.PrintMetrics(iterationIndex, iterationResult?.TrainerName, iterationResult?.ValidationMetrics, GetScore(bestResult), iterationResult?.RuntimeInSeconds, LogLevel.Trace); + if (iterationResult.Exception != null) + { + ConsolePrinter.PrintException(iterationResult.Exception, LogLevel.Trace); + } } private void UpdateBestResult(RunDetails iterationResult) @@ -86,11 +91,6 @@ private void UpdateBestResult(RunDetails iterationR if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) { bestResult = iterationResult; - progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult):F2} , Best Algorithm : {bestResult.TrainerName}, Last Algorithm : {bestResult.TrainerName}"; - } - else - { - progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult):F2} , Best Algorithm : {bestResult.TrainerName}, Last Algorithm : {iterationResult.TrainerName}"; } } } @@ -117,7 +117,12 @@ public void Report(RunDetails iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); - ConsolePrinter.PrintMetrics(iterationIndex, iterationResult.TrainerName, iterationResult.ValidationMetrics, GetScore(bestResult), iterationResult.RuntimeInSeconds, LogLevel.Trace); + progressBar.Message = $"Best {this.optimizationMetric}: {GetScore(bestResult):F4}, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; + ConsolePrinter.PrintMetrics(iterationIndex, iterationResult?.TrainerName, iterationResult?.ValidationMetrics, GetScore(bestResult), iterationResult?.RuntimeInSeconds, LogLevel.Trace); + if (iterationResult.Exception != null) + { + ConsolePrinter.PrintException(iterationResult.Exception, LogLevel.Trace); + } } private void UpdateBestResult(RunDetails iterationResult) @@ -125,11 +130,6 @@ private void UpdateBestResult(RunDetails iterat if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) { bestResult = iterationResult; - progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult):F2} , Best Algorithm : {bestResult.TrainerName}, Last Algorithm : {bestResult.TrainerName}"; - } - else - { - progressBar.Message = $"Best {this.optimizationMetric} : {GetScore(bestResult):F2} , Best Algorithm : {bestResult.TrainerName}, Last Algorithm : {iterationResult.TrainerName}"; } } } diff --git a/src/mlnet/strings.Designer.cs b/src/mlnet/strings.Designer.cs index 3e67d3eb2e..7f4dc90b7e 100644 --- a/src/mlnet/strings.Designer.cs +++ b/src/mlnet/strings.Designer.cs @@ -88,7 +88,7 @@ internal static string Exiting { } /// - /// Looks up a localized string similar to Exploring multiple combinations of ML algorithms and settings to find you the best model for ML task. + /// Looks up a localized string similar to Exploring multiple ML algorithms and settings to find you the best model for ML task. /// internal static string ExplorePipeline { get { @@ -105,6 +105,42 @@ internal static string ExplorePipelineException { } } + /// + /// Looks up a localized string similar to For further learning check. + /// + internal static string FurtherLearning { + get { + return ResourceManager.GetString("FurtherLearning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Generated log file . + /// + internal static string GenerateLogFile { + get { + return ResourceManager.GetString("GenerateLogFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Generated C# code for model consumption. + /// + internal static string GenerateModelConsumption { + get { + return ResourceManager.GetString("GenerateModelConsumption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Generated C# code for model training. + /// + internal static string GenerateModelTraining { + get { + return ResourceManager.GetString("GenerateModelTraining", resourceCulture); + } + } + /// /// Looks up a localized string similar to Generating a console project for the best pipeline at location . /// @@ -132,6 +168,15 @@ internal static string InferColumns { } } + /// + /// Looks up a localized string similar to https://aka.ms/mlnet-cli. + /// + internal static string LearningHttpLink { + get { + return ResourceManager.GetString("LearningHttpLink", resourceCulture); + } + } + /// /// Looks up a localized string similar to Loading data .... /// @@ -178,7 +223,7 @@ internal static string RetrieveBestPipeline { } /// - /// Looks up a localized string similar to Saving the best model .... + /// Looks up a localized string similar to Generated trained model for consumption. /// internal static string SavingBestModel { get { From cab580961247d1aba3200ba1a49288946f7e6d12 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 4 Apr 2019 10:54:31 -0700 Subject: [PATCH 194/211] CLI ML.NET version upgrade (#345) --- src/Microsoft.ML.Auto/API/ExperimentBase.cs | 2 +- .../TrainerExtensions/TrainerExtensionUtil.cs | 4 +- src/Test/TrainerExtensionsTests.cs | 16 +- ....ConsoleHelperFileContentTest.approved.txt | 36 +-- ...nCodeBinaryClassificationTest.approved.txt | 2 +- ...eratedTrainCodeMulticlassTest.approved.txt | 2 +- ...eratedTrainCodeRegressionTest.approved.txt | 2 +- ...s.ModelProjectFileContentTest.approved.txt | 2 +- ...edictProgramCSFileContentTest.approved.txt | 5 +- ...PredictProjectFileContentTest.approved.txt | 6 +- ...inProgramCSFileContentOvaTest.approved.txt | 12 +- ...TrainProgramCSFileContentTest.approved.txt | 11 +- ...s.TrainProjectFileContentTest.approved.txt | 6 +- .../ConsoleCodeGeneratorTests.cs | 1 - src/mlnet.Test/CodeGenTests.cs | 21 +- src/mlnet.Test/TrainerGeneratorTests.cs | 139 ++++++----- src/mlnet.Test/TransformGeneratorTests.cs | 30 +-- .../CodeGenerator/CSharp/CodeGenerator.cs | 6 +- .../CSharp/TrainerGeneratorBase.cs | 6 +- .../CSharp/TrainerGeneratorFactory.cs | 16 +- .../CodeGenerator/CSharp/TrainerGenerators.cs | 229 ++++++++++-------- .../CSharp/TransformGeneratorBase.cs | 2 +- .../CSharp/TransformGenerators.cs | 35 +-- src/mlnet/Program.cs | 1 - src/mlnet/Templates/Console/ConsoleHelper.cs | 222 ++++++++--------- src/mlnet/Templates/Console/ConsoleHelper.tt | 36 +-- src/mlnet/Templates/Console/ModelProject.cs | 2 +- src/mlnet/Templates/Console/ModelProject.tt | 2 +- src/mlnet/Templates/Console/PredictProgram.cs | 43 ++-- src/mlnet/Templates/Console/PredictProgram.tt | 5 +- src/mlnet/Templates/Console/PredictProject.cs | 14 +- src/mlnet/Templates/Console/PredictProject.tt | 10 +- src/mlnet/Templates/Console/TrainProgram.cs | 22 +- src/mlnet/Templates/Console/TrainProgram.tt | 16 +- src/mlnet/Templates/Console/TrainProject.cs | 14 +- src/mlnet/Templates/Console/TrainProject.tt | 10 +- 36 files changed, 489 insertions(+), 499 deletions(-) diff --git a/src/Microsoft.ML.Auto/API/ExperimentBase.cs b/src/Microsoft.ML.Auto/API/ExperimentBase.cs index c658a720ca..3f3c1dd18e 100644 --- a/src/Microsoft.ML.Auto/API/ExperimentBase.cs +++ b/src/Microsoft.ML.Auto/API/ExperimentBase.cs @@ -48,7 +48,7 @@ public IEnumerable> Execute(IDataView trainData, ColumnInfo { // Cross val threshold for # of dataset rows -- // If dataset has < threshold # of rows, use cross val. - // Else, use run experiment using train-validate split. + // Else, run experiment using train-validate split. const int crossValRowCountThreshold = 15000; var rowCount = DatasetDimensionsUtil.CountRows(trainData, crossValRowCountThreshold); diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs index 1c887ac31e..0cb50df594 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs @@ -46,8 +46,8 @@ internal enum TrainerName internal static class TrainerExtensionUtil { - private const string WeightColumn = "WeightColumn"; - private const string LabelColumn = "LabelColumn"; + private const string WeightColumn = "ExampleWeightColumnName"; + private const string LabelColumn = "LabelColumnName"; public static T CreateOptions(IEnumerable sweepParams, string labelColumn) where T : TrainerInputBaseWithLabel { diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index 198d0a73f1..b60b99f24e 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -73,7 +73,7 @@ public void BuildLightGbmPipelineNode() ""L1Regularization"": 0.5 } }, - ""LabelColumn"": ""Label"" + ""LabelColumnName"": ""Label"" } }"; Util.AssertObjectMatchesJson(expectedJson, pipelineNode); @@ -105,7 +105,7 @@ public void BuildSdcaPipelineNode() ""MaximumNumberOfIterations"": 10, ""Shuffle"": true, ""BiasLearningRate"": 0.01, - ""LabelColumn"": ""Label"" + ""LabelColumnName"": ""Label"" } }"; Util.AssertObjectMatchesJson(expectedJson, pipelineNode); @@ -127,7 +127,7 @@ public void BuildLightGbmPipelineNodeDefaultParams() ""Score"" ], ""Properties"": { - ""LabelColumn"": ""Label"" + ""LabelColumnName"": ""Label"" } }"; Util.AssertObjectMatchesJson(expectedJson, pipelineNode); @@ -161,8 +161,8 @@ public void BuildPipelineNodeWithCustomColumns() ""NumberOfLeaves"": 1, ""MinimumExampleCountPerLeaf"": 10, ""NumberOfTrees"": 100, - ""LabelColumn"": ""L"", - ""WeightColumn"": ""W"" + ""LabelColumnName"": ""L"", + ""ExampleWeightColumnName"": ""W"" } }"; Util.AssertObjectMatchesJson(expectedJson, pipelineNode); @@ -182,7 +182,7 @@ public void BuildDefaultAveragedPerceptronPipelineNode() ""Score"" ], ""Properties"": { - ""LabelColumn"": ""L"", + ""LabelColumnName"": ""L"", ""NumberOfIterations"": 10 } }"; @@ -199,7 +199,7 @@ public void BuildOvaPipelineNode() ""InColumns"": null, ""OutColumns"": null, ""Properties"": { - ""LabelColumn"": ""Label"", + ""LabelColumnName"": ""Label"", ""BinaryTrainer"": { ""Name"": ""FastForestBinary"", ""NodeType"": ""Trainer"", @@ -210,7 +210,7 @@ public void BuildOvaPipelineNode() ""Score"" ], ""Properties"": { - ""LabelColumn"": ""Label"" + ""LabelColumnName"": ""Label"" } } } diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt index 1915f67690..77c495bccf 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt @@ -20,20 +20,20 @@ namespace TestNamespace.Train Console.WriteLine($"*************************************************"); Console.WriteLine($"* Metrics for regression model "); Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"* LossFn: {metrics.LossFn:0.##}"); + Console.WriteLine($"* LossFn: {metrics.LossFunction:0.##}"); Console.WriteLine($"* R2 Score: {metrics.RSquared:0.##}"); - Console.WriteLine($"* Absolute loss: {metrics.L1:#.##}"); - Console.WriteLine($"* Squared loss: {metrics.L2:#.##}"); - Console.WriteLine($"* RMS loss: {metrics.Rms:#.##}"); + Console.WriteLine($"* Absolute loss: {metrics.MeanAbsoluteError:#.##}"); + Console.WriteLine($"* Squared loss: {metrics.MeanSquaredError:#.##}"); + Console.WriteLine($"* RMS loss: {metrics.RootMeanSquaredError:#.##}"); Console.WriteLine($"*************************************************"); } - public static void PrintRegressionFoldsAverageMetrics(TrainCatalogBase.CrossValidationResult[] crossValidationResults) + public static void PrintRegressionFoldsAverageMetrics(IEnumerable> crossValidationResults) { - var L1 = crossValidationResults.Select(r => r.Metrics.L1); - var L2 = crossValidationResults.Select(r => r.Metrics.L2); - var RMS = crossValidationResults.Select(r => r.Metrics.L1); - var lossFunction = crossValidationResults.Select(r => r.Metrics.LossFn); + var L1 = crossValidationResults.Select(r => r.Metrics.MeanAbsoluteError); + var L2 = crossValidationResults.Select(r => r.Metrics.MeanSquaredError); + var RMS = crossValidationResults.Select(r => r.Metrics.MeanAbsoluteError); + var lossFunction = crossValidationResults.Select(r => r.Metrics.LossFunction); var R2 = crossValidationResults.Select(r => r.Metrics.RSquared); Console.WriteLine($"*************************************************************************************************************"); @@ -53,12 +53,12 @@ namespace TestNamespace.Train Console.WriteLine($"* Metrics for binary classification model "); Console.WriteLine($"*-----------------------------------------------------------"); Console.WriteLine($"* Accuracy: {metrics.Accuracy:P2}"); - Console.WriteLine($"* Auc: {metrics.Auc:P2}"); + Console.WriteLine($"* Auc: {metrics.AreaUnderRocCurve:P2}"); Console.WriteLine($"************************************************************"); } - public static void PrintBinaryClassificationFoldsAverageMetrics(TrainCatalogBase.CrossValidationResult[] crossValResults) + public static void PrintBinaryClassificationFoldsAverageMetrics(IEnumerable> crossValResults) { var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); @@ -76,31 +76,31 @@ namespace TestNamespace.Train } - public static void PrintMultiClassClassificationMetrics(MultiClassClassifierMetrics metrics) + public static void PrintMulticlassClassificationMetrics(MulticlassClassificationMetrics metrics) { Console.WriteLine($"************************************************************"); Console.WriteLine($"* Metrics for multi-class classification model "); Console.WriteLine($"*-----------------------------------------------------------"); - Console.WriteLine($" AccuracyMacro = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the better"); - Console.WriteLine($" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value between 0 and 1, the closer to 1, the better"); + Console.WriteLine($" MacroAccuracy = {metrics.MacroAccuracy:0.####}, a value between 0 and 1, the closer to 1, the better"); + Console.WriteLine($" MicroAccuracy = {metrics.MicroAccuracy:0.####}, a value between 0 and 1, the closer to 1, the better"); Console.WriteLine($" LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better"); - for (int i = 0; i < metrics.PerClassLogLoss.Length; i++) + for (int i = 0; i < metrics.PerClassLogLoss.Count; i++) { Console.WriteLine($" LogLoss for class {i + 1} = {metrics.PerClassLogLoss[i]:0.####}, the closer to 0, the better"); } Console.WriteLine($"************************************************************"); } - public static void PrintMulticlassClassificationFoldsAverageMetrics(TrainCatalogBase.CrossValidationResult[] crossValResults) + public static void PrintMulticlassClassificationFoldsAverageMetrics(IEnumerable> crossValResults) { var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); - var microAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMicro); + var microAccuracyValues = metricsInMultipleFolds.Select(m => m.MicroAccuracy); var microAccuracyAverage = microAccuracyValues.Average(); var microAccuraciesStdDeviation = CalculateStandardDeviation(microAccuracyValues); var microAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues); - var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro); + var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.MacroAccuracy); var macroAccuracyAverage = macroAccuracyValues.Average(); var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues); var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macroAccuracyValues); diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeBinaryClassificationTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeBinaryClassificationTest.approved.txt index 46a54a503c..5645874b5e 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeBinaryClassificationTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeBinaryClassificationTest.approved.txt @@ -72,7 +72,7 @@ namespace MyNamespace .AppendCacheCheckpoint(mlContext); // Set the training algorithm, then create and config the modelBuilder - var trainer = mlContext.BinaryClassification.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumn = "Label", FeatureColumn = "Features" }); + var trainer = mlContext.BinaryClassification.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumnName = "Label", FeatureColumnName = "Features" }); var trainingPipeline = dataProcessPipeline.Append(trainer); // Train the model fitting to the DataSet diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeMulticlassTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeMulticlassTest.approved.txt index 318d45ac18..7721ab6d0e 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeMulticlassTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeMulticlassTest.approved.txt @@ -72,7 +72,7 @@ namespace MyNamespace .AppendCacheCheckpoint(mlContext); // Set the training algorithm, then create and config the modelBuilder - var trainer = mlContext.MulticlassClassification.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumn = "Label", FeatureColumn = "Features" }); + var trainer = mlContext.MulticlassClassification.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumnName = "Label", FeatureColumnName = "Features" }); var trainingPipeline = dataProcessPipeline.Append(trainer); // Train the model fitting to the DataSet diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeRegressionTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeRegressionTest.approved.txt index b772a77bea..e1274dbd91 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeRegressionTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeRegressionTest.approved.txt @@ -72,7 +72,7 @@ namespace MyNamespace .AppendCacheCheckpoint(mlContext); // Set the training algorithm, then create and config the modelBuilder - var trainer = mlContext.Regression.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumn = "Label", FeatureColumn = "Features" }); + var trainer = mlContext.Regression.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumnName = "Label", FeatureColumnName = "Features" }); var trainingPipeline = dataProcessPipeline.Append(trainer); // Train the model fitting to the DataSet diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ModelProjectFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ModelProjectFileContentTest.approved.txt index 4b2ca833c8..8f1acbadb8 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ModelProjectFileContentTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ModelProjectFileContentTest.approved.txt @@ -9,7 +9,7 @@ - + diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt index ce8e897c85..bda815ecac 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt @@ -10,7 +10,6 @@ using System.Linq; using System.Collections.Generic; using Microsoft.ML; using Microsoft.ML.Data; -using Microsoft.Data.DataView; using TestNamespace.Model.DataModels; @@ -44,7 +43,7 @@ namespace TestNamespace.Predict private static void Predict(MLContext mlContext, ITransformer mlModel, SampleObservation sampleData) { // Create prediction engine related to the loaded ML model - var predEngine = mlModel.CreatePredictionEngine(mlContext); + var predEngine = mlContext.Model.CreatePredictionEngine(mlModel); // Try a single prediction var predictionResult = predEngine.Predict(sampleData); @@ -56,7 +55,7 @@ namespace TestNamespace.Predict ITransformer mlModel; using (var stream = new FileStream(modelFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)) { - mlModel = mlContext.Model.Load(stream); + mlModel = mlContext.Model.Load(stream, out var modelInputSchema); } return mlModel; diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProjectFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProjectFileContentTest.approved.txt index ace94d6bb6..789c3638c0 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProjectFileContentTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProjectFileContentTest.approved.txt @@ -5,9 +5,9 @@ netcoreapp2.1 - - - + + + diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentOvaTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentOvaTest.approved.txt index 7935b383a2..0f089df475 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentOvaTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentOvaTest.approved.txt @@ -8,8 +8,6 @@ using System; using System.IO; using System.Linq; using Microsoft.ML; -using Microsoft.ML.Data; -using Microsoft.Data.DataView; using TestNamespace.Model.DataModels; namespace TestNamespace.Train @@ -50,7 +48,7 @@ namespace TestNamespace.Train EvaluateModel(mlContext, mlModel, testDataView); // Save model - SaveModel(mlContext, mlModel, MODEL_FILEPATH); + SaveModel(mlContext, mlModel, MODEL_FILEPATH, trainingDataView.Schema); Console.WriteLine("=============== End of process, hit any key to finish ==============="); Console.ReadKey(); @@ -63,7 +61,7 @@ namespace TestNamespace.Train .AppendCacheCheckpoint(mlContext); // Set the training algorithm - var trainer = mlContext.MulticlassClassification.Trainers.OneVersusAll(mlContext.BinaryClassification.Trainers.FastForest(numLeaves: 2, labelColumnName: "Label", featureColumnName: "Features"), labelColumnName: "Label"); + var trainer = mlContext.MulticlassClassification.Trainers.OneVersusAll(mlContext.BinaryClassification.Trainers.FastForest(labelColumnName: "Label", featureColumnName: "Features"), labelColumnName: "Label"); var trainingPipeline = dataProcessPipeline.Append(trainer); return trainingPipeline; @@ -85,14 +83,14 @@ namespace TestNamespace.Train Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); IDataView predictions = mlModel.Transform(testDataView); var metrics = mlContext.MulticlassClassification.Evaluate(predictions, "Label", "Score"); - ConsoleHelper.PrintMultiClassClassificationMetrics(metrics); + ConsoleHelper.PrintMulticlassClassificationMetrics(metrics); } - private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath) + private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath, DataViewSchema modelInputSchema) { // Save/persist the trained model to a .ZIP file Console.WriteLine($"=============== Saving the model ==============="); using (var fs = new FileStream(GetAbsolutePath(modelRelativePath), FileMode.Create, FileAccess.Write, FileShare.Write)) - mlContext.Model.Save(mlModel, fs); + mlContext.Model.Save(mlModel, modelInputSchema, fs); Console.WriteLine("The model is saved to {0}", GetAbsolutePath(modelRelativePath)); } diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt index 377d9f92d1..d0031e02d0 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt @@ -8,10 +8,7 @@ using System; using System.IO; using System.Linq; using Microsoft.ML; -using Microsoft.ML.Data; -using Microsoft.Data.DataView; using TestNamespace.Model.DataModels; -using Microsoft.ML.LightGBM; namespace TestNamespace.Train { @@ -51,7 +48,7 @@ namespace TestNamespace.Train EvaluateModel(mlContext, mlModel, testDataView); // Save model - SaveModel(mlContext, mlModel, MODEL_FILEPATH); + SaveModel(mlContext, mlModel, MODEL_FILEPATH, trainingDataView.Schema); Console.WriteLine("=============== End of process, hit any key to finish ==============="); Console.ReadKey(); @@ -64,7 +61,7 @@ namespace TestNamespace.Train .AppendCacheCheckpoint(mlContext); // Set the training algorithm - var trainer = mlContext.BinaryClassification.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumn = "Label", FeatureColumn = "Features" }); + var trainer = mlContext.BinaryClassification.Trainers.LightGbm(labelColumnName: "Label", featureColumnName: "Features"); var trainingPipeline = dataProcessPipeline.Append(trainer); return trainingPipeline; @@ -88,12 +85,12 @@ namespace TestNamespace.Train var metrics = mlContext.BinaryClassification.EvaluateNonCalibrated(predictions, "Label", "Score"); ConsoleHelper.PrintBinaryClassificationMetrics(metrics); } - private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath) + private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath, DataViewSchema modelInputSchema) { // Save/persist the trained model to a .ZIP file Console.WriteLine($"=============== Saving the model ==============="); using (var fs = new FileStream(GetAbsolutePath(modelRelativePath), FileMode.Create, FileAccess.Write, FileShare.Write)) - mlContext.Model.Save(mlModel, fs); + mlContext.Model.Save(mlModel, modelInputSchema, fs); Console.WriteLine("The model is saved to {0}", GetAbsolutePath(modelRelativePath)); } diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProjectFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProjectFileContentTest.approved.txt index ace94d6bb6..789c3638c0 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProjectFileContentTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProjectFileContentTest.approved.txt @@ -5,9 +5,9 @@ netcoreapp2.1 - - - + + + diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index b28da58ddd..6eec3474d6 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -15,7 +15,6 @@ namespace mlnet.Test { - [Ignore] [TestClass] [UseReporter(typeof(DiffReporter))] public class ConsoleCodeGeneratorTests diff --git a/src/mlnet.Test/CodeGenTests.cs b/src/mlnet.Test/CodeGenTests.cs index 79ce1827ac..85f51d5e6c 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/src/mlnet.Test/CodeGenTests.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; +using System.Linq; using Microsoft.ML; using Microsoft.ML.Auto; using Microsoft.ML.CLI.CodeGenerator.CSharp; @@ -28,9 +29,10 @@ public void TrainerGeneratorBasicNamedParameterTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expected = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumnName:\"Label\",featureColumnName:\"Features\")"; + string expected = "LightGbm(new LightGbmBinaryTrainer.Options(){LearningRate=0.1f,NumLeaves=1,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expected, actual.Item1); - Assert.IsNull(actual.Item2); + Assert.AreEqual(1, actual.Item2.Count()); + Assert.AreEqual("using Microsoft.ML.Trainers.LightGbm;\r\n", actual.Item2.First()); } [TestMethod] @@ -48,8 +50,8 @@ public void TrainerGeneratorBasicAdvancedParameterTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainer = "LightGbm(new Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; - string expectedUsing = "using Microsoft.ML.LightGBM;\r\n"; + string expectedTrainer = "LightGbm(new LightGbmBinaryTrainer.Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; + string expectedUsing = "using Microsoft.ML.Trainers.LightGbm;\r\n"; Assert.AreEqual(expectedTrainer, actual.Item1); Assert.AreEqual(expectedUsing, actual.Item2[0]); } @@ -63,7 +65,7 @@ public void TransformGeneratorBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(new List() { node }); - string expected = "Normalize(\"Label\",\"Label\")"; + string expected = "NormalizeMinMax(\"Label\",\"Label\")"; Assert.AreEqual(expected, actual[0].Item1); Assert.IsNull(actual[0].Item2); } @@ -77,10 +79,9 @@ public void TransformGeneratorUsingTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(new List() { node }); - string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnOptions(\"Label\",\"Label\")})"; - var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; + string expectedTransform = "Categorical.OneHotEncoding(new []{new InputOutputColumnPair(\"Label\",\"Label\")})"; Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2[0]); + Assert.IsNull(actual[0].Item2); } [TestMethod] @@ -127,8 +128,8 @@ public void TrainerComplexParameterTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainer = "LightGbm(new Options(){Booster=new TreeBooster(){},LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; - var expectedUsings = "using Microsoft.ML.LightGBM;\r\n"; + string expectedTrainer = "LightGbm(new LightGbmBinaryTrainer.Options(){Booster=new TreeBooster(){},LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; + var expectedUsings = "using Microsoft.ML.Trainers.LightGbm;\r\n"; Assert.AreEqual(expectedTrainer, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); } diff --git a/src/mlnet.Test/TrainerGeneratorTests.cs b/src/mlnet.Test/TrainerGeneratorTests.cs index a8669e86b5..67536fb776 100644 --- a/src/mlnet.Test/TrainerGeneratorTests.cs +++ b/src/mlnet.Test/TrainerGeneratorTests.cs @@ -9,7 +9,6 @@ namespace mlnet.Test /**************************** * TODO : Add all trainer tests : * **************************/ - [Ignore] [TestClass] public class TrainerGeneratorTests { @@ -22,13 +21,13 @@ public void LightGbmBinaryBasicTest() var elementProperties = new Dictionary() { {"LearningRate", 0.1f }, - {"NumLeaves", 1 }, + {"NumberOfLeaves", 1 }, }; PipelineNode node = new PipelineNode("LightGbmBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "LightGbm(learningRate:0.1f,numLeaves:1,labelColumnName:\"Label\",featureColumnName:\"Features\")"; + string expectedTrainerString = "LightGbm(learningRate:0.1f,numberOfLeaves:1,labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -50,32 +49,32 @@ public void LightGbmBinaryAdvancedParameterTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "LightGbm(new Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; - string expectedUsings = "using Microsoft.ML.LightGBM;\r\n"; + string expectedTrainerString = "LightGbm(new LightGbmBinaryTrainer.Options(){LearningRate=0.1f,NumLeaves=1,UseSoftmax=true,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; + string expectedUsings = "using Microsoft.ML.Trainers.LightGbm;\r\n"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); } [TestMethod] - public void SymSgdBinaryBasicTest() + public void SymbolicSgdLogisticRegressionBinaryBasicTest() { var context = new MLContext(); var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("SymSgdBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("SymbolicSgdLogisticRegressionBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "SymbolicStochasticGradientDescent(labelColumnName:\"Label\",featureColumnName:\"Features\")"; + string expectedTrainerString = "SymbolicSgdLogisticRegression(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); } [TestMethod] - public void SymSgdBinaryAdvancedParameterTest() + public void SymbolicSgdLogisticRegressionBinaryAdvancedParameterTest() { var context = new MLContext(); @@ -84,35 +83,35 @@ public void SymSgdBinaryAdvancedParameterTest() { {"LearningRate", 0.1f }, }; - PipelineNode node = new PipelineNode("SymSgdBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("SymbolicSgdLogisticRegressionBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - var expectedUsings = "using Microsoft.ML.Trainers.HalLearners;\r\n"; - string expectedTrainerString = "SymbolicStochasticGradientDescent(new SymSgdClassificationTrainer.Options(){LearningRate=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; + string expectedTrainerString = "SymbolicSgdLogisticRegression(new SymbolicSgdLogisticRegressionBinaryTrainer.Options(){LearningRate=0.1f,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); } [TestMethod] - public void StochasticGradientDescentBinaryBasicTest() + public void SgdCalibratedBinaryBasicTest() { var context = new MLContext(); var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("StochasticGradientDescentBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("SgdCalibratedBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "StochasticGradientDescent(labelColumnName:\"Label\",featureColumnName:\"Features\")"; + string expectedTrainerString = "SgdCalibrated(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); } [TestMethod] - public void StochasticGradientDescentBinaryAdvancedParameterTest() + public void SgdCalibratedBinaryAdvancedParameterTest() { var context = new MLContext(); @@ -121,35 +120,35 @@ public void StochasticGradientDescentBinaryAdvancedParameterTest() { {"Shuffle", true }, }; - PipelineNode node = new PipelineNode("StochasticGradientDescentBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("SgdCalibratedBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; - string expectedTrainerString = "StochasticGradientDescent(new SgdBinaryTrainer.Options(){Shuffle=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "SgdCalibrated(new SgdCalibratedTrainer.Options(){Shuffle=true,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); } [TestMethod] - public void SDCABinaryBasicTest() + public void SdcaLogisticRegressionBinaryBasicTest() { var context = new MLContext(); var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("SdcaBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("SdcaLogisticRegressionBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "StochasticDualCoordinateAscent(labelColumnName:\"Label\",featureColumnName:\"Features\")"; + string expectedTrainerString = "SdcaLogisticRegression(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); } [TestMethod] - public void SDCABinaryAdvancedParameterTest() + public void SdcaLogisticRegressionBinaryAdvancedParameterTest() { var context = new MLContext(); @@ -158,35 +157,35 @@ public void SDCABinaryAdvancedParameterTest() { {"BiasLearningRate", 0.1f }, }; - PipelineNode node = new PipelineNode("SdcaBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("SdcaLogisticRegressionBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; - string expectedTrainerString = "StochasticDualCoordinateAscent(new SdcaBinaryTrainer.Options(){BiasLearningRate=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "SdcaLogisticRegression(new SdcaLogisticRegressionBinaryTrainer.Options(){BiasLearningRate=0.1f,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); } [TestMethod] - public void SDCAMultiBasicTest() + public void SdcaMaximumEntropyMultiBasicTest() { var context = new MLContext(); var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("SdcaMulti", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("SdcaMaximumEntropyMulti", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "StochasticDualCoordinateAscent(labelColumnName:\"Label\",featureColumnName:\"Features\")"; + string expectedTrainerString = "SdcaMaximumEntropy(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); } [TestMethod] - public void SDCAMultiAdvancedParameterTest() + public void SdcaMaximumEntropyMultiAdvancedParameterTest() { var context = new MLContext(); @@ -195,19 +194,19 @@ public void SDCAMultiAdvancedParameterTest() { {"BiasLearningRate", 0.1f }, }; - PipelineNode node = new PipelineNode("SdcaMulti", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("SdcaMaximumEntropyMulti", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; - string expectedTrainerString = "StochasticDualCoordinateAscent(new SdcaMultiClassTrainer.Options(){BiasLearningRate=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "SdcaMaximumEntropy(new SdcaMaximumEntropyMulticlassTrainer.Options(){BiasLearningRate=0.1f,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); } [TestMethod] - public void SDCARegressionBasicTest() + public void SdcaRegressionBasicTest() { var context = new MLContext(); @@ -216,14 +215,14 @@ public void SDCARegressionBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "StochasticDualCoordinateAscent(labelColumnName:\"Label\",featureColumnName:\"Features\")"; + string expectedTrainerString = "Sdca(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); } [TestMethod] - public void SDCARegressionAdvancedParameterTest() + public void SdcaRegressionAdvancedParameterTest() { var context = new MLContext(); @@ -237,81 +236,81 @@ public void SDCARegressionAdvancedParameterTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; - string expectedTrainerString = "StochasticDualCoordinateAscent(new SdcaRegressionTrainer.Options(){BiasLearningRate=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "Sdca(new SdcaRegressionTrainer.Options(){BiasLearningRate=0.1f,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); } [TestMethod] - public void PoissonRegressionBasicTest() + public void LbfgsPoissonRegressionBasicTest() { var context = new MLContext(); var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("PoissonRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("LbfgsPoissonRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "PoissonRegression(labelColumnName:\"Label\",featureColumnName:\"Features\")"; + string expectedTrainerString = "LbfgsPoissonRegression(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); } [TestMethod] - public void PoissonRegressionAdvancedParameterTest() + public void LbfgsPoissonRegressionAdvancedParameterTest() { var context = new MLContext(); var elementProperties = new Dictionary() { - {"MaxIterations", 1 }, + {"MaximumNumberOfIterations", 1 }, }; - PipelineNode node = new PipelineNode("PoissonRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("LbfgsPoissonRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; - string expectedTrainerString = "PoissonRegression(new PoissonRegression.Options(){MaxIterations=1,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "LbfgsPoissonRegression(new LbfgsPoissonRegressionTrainer.Options(){MaximumNumberOfIterations=1,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); } [TestMethod] - public void OrdinaryLeastSquaresRegressionBasicTest() + public void OlsRegressionBasicTest() { var context = new MLContext(); var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("OrdinaryLeastSquaresRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("OlsRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "OrdinaryLeastSquares(labelColumnName:\"Label\",featureColumnName:\"Features\")"; + string expectedTrainerString = "Ols(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); } [TestMethod] - public void OrdinaryLeastSquaresRegressionAdvancedParameterTest() + public void OlsRegressionAdvancedParameterTest() { var context = new MLContext(); var elementProperties = new Dictionary() { - {"L2Weight", 0.1f }, + {"L2Regularization", 0.1f }, }; - PipelineNode node = new PipelineNode("OrdinaryLeastSquaresRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("OlsRegression", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - var expectedUsings = "using Microsoft.ML.Trainers.HalLearners;\r\n"; - string expectedTrainerString = "OrdinaryLeastSquares(new OlsLinearRegressionTrainer.Options(){L2Weight=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; + string expectedTrainerString = "Ols(new OlsTrainer.Options(){L2Regularization=0.1f,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); @@ -348,30 +347,30 @@ public void OnlineGradientDescentRegressionAdvancedParameterTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; - string expectedTrainerString = "OnlineGradientDescent(new OnlineGradientDescentTrainer.Options(){RecencyGainMulti=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "OnlineGradientDescent(new OnlineGradientDescentTrainer.Options(){RecencyGainMulti=true,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); } [TestMethod] - public void LogisticRegressionBinaryBasicTest() + public void LbfgsLogisticRegressionBinaryBasicTest() { var context = new MLContext(); var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("LogisticRegressionBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("LbfgsLogisticRegressionBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "LogisticRegression(labelColumnName:\"Label\",featureColumnName:\"Features\")"; + string expectedTrainerString = "LbfgsLogisticRegression(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); } [TestMethod] - public void LogisticRegressionBinaryAdvancedParameterTest() + public void LbfgsLogisticRegressionBinaryAdvancedParameterTest() { var context = new MLContext(); @@ -380,35 +379,35 @@ public void LogisticRegressionBinaryAdvancedParameterTest() { {"DenseOptimizer", true }, }; - PipelineNode node = new PipelineNode("LogisticRegressionBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("LbfgsLogisticRegressionBinary", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; - string expectedTrainerString = "LogisticRegression(new LogisticRegression.Options(){DenseOptimizer=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "LbfgsLogisticRegression(new LbfgsLogisticRegressionBinaryTrainer.Options(){DenseOptimizer=true,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); } [TestMethod] - public void LogisticRegressionMultiBasicTest() + public void LbfgsMaximumEntropyMultiMultiBasicTest() { var context = new MLContext(); var elementProperties = new Dictionary(); - PipelineNode node = new PipelineNode("LogisticRegressionMulti", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("LbfgsMaximumEntropyMulti", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "LogisticRegression(labelColumnName:\"Label\",featureColumnName:\"Features\")"; + string expectedTrainerString = "LbfgsMaximumEntropy(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); } [TestMethod] - public void LogisticRegressionMultiAdvancedParameterTest() + public void LbfgsMaximumEntropyMultiAdvancedParameterTest() { var context = new MLContext(); @@ -417,12 +416,12 @@ public void LogisticRegressionMultiAdvancedParameterTest() { {"DenseOptimizer", true }, }; - PipelineNode node = new PipelineNode("LogisticRegressionMulti", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); + PipelineNode node = new PipelineNode("LbfgsMaximumEntropyMulti", PipelineNodeType.Trainer, default(string[]), default(string), elementProperties); Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; - string expectedTrainerString = "LogisticRegression(new MulticlassLogisticRegression.Options(){DenseOptimizer=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "LbfgsMaximumEntropy(new LbfgsMaximumEntropyMulticlassTrainer.Options(){DenseOptimizer=true,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); @@ -438,7 +437,7 @@ public void LinearSvmBinaryBasicTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); - string expectedTrainerString = "LinearSupportVectorMachines(labelColumnName:\"Label\",featureColumnName:\"Features\")"; + string expectedTrainerString = "LinearSvm(labelColumnName:\"Label\",featureColumnName:\"Features\")"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.IsNull(actual.Item2); @@ -459,7 +458,7 @@ public void LinearSvmBinaryParameterTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers;\r\n "; - string expectedTrainerString = "LinearSupportVectorMachines(new LinearSvmTrainer.Options(){NoBias=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "LinearSvm(new LinearSvmTrainer.Options(){NoBias=true,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); @@ -497,7 +496,7 @@ public void FastTreeTweedieRegressionAdvancedParameterTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers;\r\n"; - string expectedTrainerString = "OnlineGradientDescent(new OnlineGradientDescentTrainer.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "OnlineGradientDescent(new OnlineGradientDescentTrainer.Options(){Shrinkage=0.1f,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); @@ -535,7 +534,7 @@ public void FastTreeRegressionAdvancedParameterTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers.FastTree;\r\n"; - string expectedTrainerString = "FastTree(new FastTreeRegressionTrainer.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "FastTree(new FastTreeRegressionTrainer.Options(){Shrinkage=0.1f,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); @@ -573,7 +572,7 @@ public void FastTreeBinaryAdvancedParameterTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers.FastTree;\r\n"; - string expectedTrainerString = "FastTree(new FastTreeBinaryClassificationTrainer.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "FastTree(new FastTreeBinaryTrainer.Options(){Shrinkage=0.1f,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); @@ -610,7 +609,7 @@ public void FastForestRegressionAdvancedParameterTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers.FastTree;\r\n"; - string expectedTrainerString = "FastForest(new FastForestRegression.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "FastForest(new FastForestRegression.Options(){Shrinkage=0.1f,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); @@ -648,7 +647,7 @@ public void FastForestBinaryAdvancedParameterTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers.FastTree;\r\n"; - string expectedTrainerString = "FastForest(new FastForestClassification.Options(){Shrinkage=0.1f,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "FastForest(new FastForestClassification.Options(){Shrinkage=0.1f,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); @@ -686,7 +685,7 @@ public void AveragedPerceptronBinaryAdvancedParameterTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTrainerAndUsings(); var expectedUsings = "using Microsoft.ML.Trainers;\r\n "; - string expectedTrainerString = "AveragedPerceptron(new AveragedPerceptronTrainer.Options(){Shuffle=true,LabelColumn=\"Label\",FeatureColumn=\"Features\"})"; + string expectedTrainerString = "AveragedPerceptron(new AveragedPerceptronTrainer.Options(){Shuffle=true,LabelColumnName=\"Label\",FeatureColumnName=\"Features\"})"; Assert.AreEqual(expectedTrainerString, actual.Item1); Assert.AreEqual(expectedUsings, actual.Item2[0]); diff --git a/src/mlnet.Test/TransformGeneratorTests.cs b/src/mlnet.Test/TransformGeneratorTests.cs index 7865a8fbb5..9ed36f56bc 100644 --- a/src/mlnet.Test/TransformGeneratorTests.cs +++ b/src/mlnet.Test/TransformGeneratorTests.cs @@ -18,10 +18,9 @@ public void MissingValueReplacingTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); - var expectedTransform = "ReplaceMissingValues(new []{new MissingValueReplacingEstimator.ColumnOptions(\"categorical_column_1\",\"categorical_column_1\")})"; - string expectedUsings = "using Microsoft.ML.Transforms;\r\n"; + var expectedTransform = "ReplaceMissingValues(new []{new InputOutputColumnPair(\"categorical_column_1\",\"categorical_column_1\")})"; Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2[0]); + Assert.IsNull(actual[0].Item2); } [TestMethod] @@ -33,10 +32,9 @@ public void OneHotEncodingTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); - string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnOptions(\"categorical_column_1\",\"categorical_column_1\")})"; - var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; + string expectedTransform = "Categorical.OneHotEncoding(new []{new InputOutputColumnPair(\"categorical_column_1\",\"categorical_column_1\")})"; Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2[0]); + Assert.IsNull(actual[0].Item2); } [TestMethod] @@ -48,7 +46,7 @@ public void NormalizingTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); - string expectedTransform = "Normalize(\"numeric_column_1_copy\",\"numeric_column_1\")"; + string expectedTransform = "NormalizeMinMax(\"numeric_column_1_copy\",\"numeric_column_1\")"; string expectedUsings = null; Assert.AreEqual(expectedTransform, actual[0].Item1); Assert.AreEqual(expectedUsings, actual[0].Item2); @@ -94,9 +92,8 @@ public void KeyToValueMappingTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); string expectedTransform = "Conversion.MapKeyToValue(\"Label\",\"Label\")"; - var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2[0]); + Assert.IsNull(actual[0].Item2); } [TestMethod] @@ -108,7 +105,7 @@ public void MissingValueIndicatingTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); - string expectedTransform = "IndicateMissingValues(new []{new ColumnOptions(\"numeric_column_1\",\"numeric_column_1\")})"; + string expectedTransform = "IndicateMissingValues(new []{new InputOutputColumnPair(\"numeric_column_1\",\"numeric_column_1\")})"; string expectedUsings = null; Assert.AreEqual(expectedTransform, actual[0].Item1); Assert.AreEqual(expectedUsings, actual[0].Item2); @@ -123,10 +120,9 @@ public void OneHotHashEncodingTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); - string expectedTransform = "Categorical.OneHotHashEncoding(new []{new OneHotHashEncodingEstimator.ColumnOptions(\"Categorical_column_1\",\"Categorical_column_1\")})"; - var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; + string expectedTransform = "Categorical.OneHotHashEncoding(new []{new InputOutputColumnPair(\"Categorical_column_1\",\"Categorical_column_1\")})"; Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2[0]); + Assert.IsNull(actual[0].Item2); } [TestMethod] @@ -153,10 +149,9 @@ public void TypeConvertingTest() Pipeline pipeline = new Pipeline(new PipelineNode[] { node }); CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); - string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingEstimator.ColumnOptions(\"R4_column_1\",DataKind.Single,\"I4_column_1\")})"; - string expectedUsings = "using Microsoft.ML.Transforms;\r\n"; + string expectedTransform = "Conversion.ConvertType(new []{new InputOutputColumnPair(\"R4_column_1\",\"I4_column_1\")})"; Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2[0]); + Assert.IsNull(actual[0].Item2); } [TestMethod] @@ -169,9 +164,8 @@ public void ValueToKeyMappingTest() CodeGenerator codeGenerator = new CodeGenerator(pipeline, null, null); var actual = codeGenerator.GenerateTransformsAndUsings(new PipelineNode[] { node }); string expectedTransform = "Conversion.MapValueToKey(\"Label\",\"Label\")"; - var expectedUsings = "using Microsoft.ML.Transforms;\r\n"; Assert.AreEqual(expectedTransform, actual[0].Item1); - Assert.AreEqual(expectedUsings, actual[0].Item2[0]); + Assert.IsNull(actual[0].Item2); } } diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index 8672e68e86..bddb5934a9 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -267,7 +267,7 @@ private string GenerateTrainProgramCSFileContent(string usings, private string GeneratTrainProjectFileContent(string namespaceValue) { - var trainProjectFileContent = new TrainProject() { Namespace = namespaceValue,/*The following args need to dynamic*/ IncludeHalLearnersPackage = true, IncludeLightGBMPackage = true }; + var trainProjectFileContent = new TrainProject() { Namespace = namespaceValue,/*The following args need to dynamic*/ IncludeMklComponentsPackage = true, IncludeLightGBMPackage = true }; return trainProjectFileContent.TransformText(); } @@ -299,9 +299,9 @@ private string GenerateObservationCSFileContent(string namespaceValue, IList !NamedParameters.ContainsKey(t)); } seperator = hasAdvancedSettings ? "=" : ":"; - if (!node.Properties.ContainsKey("LabelColumn")) + if (!node.Properties.ContainsKey("LabelColumnName")) { - node.Properties.Add("LabelColumn", "Label"); + node.Properties.Add("LabelColumnName", "Label"); } - node.Properties.Add("FeatureColumn", "Features"); + node.Properties.Add("FeatureColumnName", "Features"); foreach (var kv in node.Properties) { diff --git a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs index 465d578b5f..0b6e82c578 100644 --- a/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGeneratorFactory.cs @@ -25,9 +25,11 @@ internal static ITrainerGenerator GetInstance(PipelineNode node) switch (trainer) { case TrainerName.LightGbmBinary: + return new LightGbmBinary(node); case TrainerName.LightGbmMulti: + return new LightGbmMulti(node); case TrainerName.LightGbmRegression: - return new LightGbm(node); + return new LightGbmRegression(node); case TrainerName.AveragedPerceptronBinary: return new AveragedPerceptron(node); case TrainerName.FastForestBinary: @@ -43,15 +45,15 @@ internal static ITrainerGenerator GetInstance(PipelineNode node) case TrainerName.LinearSvmBinary: return new LinearSvm(node); case TrainerName.LbfgsLogisticRegressionBinary: - return new LogisticRegressionBinary(node); + return new LbfgsLogisticRegressionBinary(node); case TrainerName.LbfgsMaximumEntropyMulti: - return new LogisticRegressionMulti(node); + return new LbfgsMaximumEntropyMulti(node); case TrainerName.OnlineGradientDescentRegression: return new OnlineGradientDescentRegression(node); case TrainerName.OlsRegression: - return new OrdinaryLeastSquaresRegression(node); + return new OlsRegression(node); case TrainerName.LbfgsPoissonRegression: - return new PoissonRegression(node); + return new LbfgsPoissonRegression(node); case TrainerName.SdcaLogisticRegressionBinary: return new StochasticDualCoordinateAscentBinary(node); case TrainerName.SdcaMaximumEntropyMulti: @@ -59,9 +61,9 @@ internal static ITrainerGenerator GetInstance(PipelineNode node) case TrainerName.SdcaRegression: return new StochasticDualCoordinateAscentRegression(node); case TrainerName.SgdCalibratedBinary: - return new StochasticGradientDescentClassification(node); + return new SgdCalibratedBinary(node); case TrainerName.SymbolicSgdLogisticRegressionBinary: - return new SymbolicStochasticGradientDescent(node); + return new SymbolicSgdLogisticRegressionBinary(node); case TrainerName.Ova: return new OneVersusAll(node); default: diff --git a/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs index 6b6d99f524..ee606a6cde 100644 --- a/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TrainerGenerators.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; -using System.Linq; using System.Text; using Microsoft.ML.Auto; @@ -11,14 +10,11 @@ namespace Microsoft.ML.CLI.CodeGenerator.CSharp { internal static class TrainerGenerators { - internal class LightGbm : TrainerGeneratorBase + internal abstract class LightGbmBase : TrainerGeneratorBase { //ClassName of the trainer internal override string MethodName => "LightGbm"; - //ClassName of the options to trainer - internal override string OptionsName => "Options"; - //The named parameters to the trainer. internal override IDictionary NamedParameters { @@ -27,20 +23,47 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"NumLeaves","numLeaves" }, - {"LabelColumn","labelColumnName" }, - {"FeatureColumn","featureColumnName" }, - {"MinDataPerLeaf","minDataPerLeaf" }, + {"NumberOfLeaves","numberOfLeaves" }, + {"LabelColumnName","labelColumnName" }, + {"FeatureColumnName","featureColumnName" }, + {"MinimumExampleCountPerLeaf","minimumExampleCountPerLeaf" }, {"LearningRate","learningRate" }, - {"NumBoostRound","numBoostRound" }, - {"WeightColumn","exampleWeightColumnName" } + {"NumberOfIterations","numberOfIterations" }, + {"ExampleWeightColumnName","exampleWeightColumnName" } }; } } - internal override string[] Usings => new string[] { "using Microsoft.ML.LightGBM;\r\n" }; + internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers.LightGbm;\r\n" }; + + public LightGbmBase(PipelineNode node) : base(node) + { + } + } + + internal class LightGbmBinary : LightGbmBase + { + internal override string OptionsName => "LightGbmBinaryTrainer.Options"; + + public LightGbmBinary(PipelineNode node) : base(node) + { + } + } + + internal class LightGbmMulti : LightGbmBase + { + internal override string OptionsName => "LightGbmMulticlassTrainer.Options"; + + public LightGbmMulti(PipelineNode node) : base(node) + { + } + } + + internal class LightGbmRegression : LightGbmBase + { + internal override string OptionsName => "LightGbmRegressionTrainer.Options"; - public LightGbm(PipelineNode node) : base(node) + public LightGbmRegression(PipelineNode node) : base(node) { } } @@ -61,13 +84,13 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"LabelColumn","labelColumnName" }, - {"FeatureColumn","featureColumnName" }, + {"LabelColumnName","labelColumnName" }, + {"FeatureColumnName","featureColumnName" }, {"LossFunction","lossFunction" }, {"LearningRate","learningRate" }, {"DecreaseLearningRate","decreaseLearningRate" }, - {"L2RegularizerWeight","l2RegularizerWeight" }, - {"NumberOfIterations","numIterations" } + {"L2Regularization","l2Regularization" }, + {"NumberOfIterations","numberOfIterations" } }; } } @@ -92,13 +115,13 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"WeightColumn","exampleWeightColumnName" }, - {"LabelColumn","labelColumnName" }, - {"FeatureColumn","featureColumnName" }, + {"ExampleWeightColumnName","exampleWeightColumnName" }, + {"LabelColumnName","labelColumnName" }, + {"FeatureColumnName","featureColumnName" }, {"LearningRate","learningRate" }, - {"NumLeaves","numLeaves" }, - {"NumTrees","numTrees" }, - {"MinDatapointsInLeaves","minDatapointsInLeaves" }, + {"NumberOfLeaves","numberOfLeaves" }, + {"NumberOfTrees","numberOfTrees" }, + {"MinimumExampleCountPerLeaf","minimumExampleCountPerLeaf" }, }; } } @@ -140,7 +163,7 @@ internal class FastTreeClassification : FastTreeBase internal override string MethodName => "FastTree"; //ClassName of the options to trainer - internal override string OptionsName => "FastTreeBinaryClassificationTrainer.Options"; + internal override string OptionsName => "FastTreeBinaryTrainer.Options"; public FastTreeClassification(PipelineNode node) : base(node) { @@ -177,7 +200,7 @@ public FastTreeTweedie(PipelineNode node) : base(node) internal class LinearSvm : TrainerGeneratorBase { //ClassName of the trainer - internal override string MethodName => "LinearSupportVectorMachines"; + internal override string MethodName => "LinearSvm"; //ClassName of the options to trainer internal override string OptionsName => "LinearSvmTrainer.Options"; @@ -190,9 +213,9 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"WeightColumn", "exampleWeightColumnName" }, - {"LabelColumn","labelColumnName" }, - {"FeatureColumn","featureColumnName" }, + {"ExampleWeightColumnName", "exampleWeightColumnName" }, + {"LabelColumnName","labelColumnName" }, + {"FeatureColumnName","featureColumnName" }, {"NumberOfIterations","numIterations" }, }; } @@ -207,11 +230,8 @@ public LinearSvm(PipelineNode node) : base(node) #region Logistic Regression - internal abstract class LogisticRegressionBase : TrainerGeneratorBase + internal abstract class LbfgsLogisticRegressionBase : TrainerGeneratorBase { - //ClassName of the trainer - internal override string MethodName => "LogisticRegression"; - //The named parameters to the trainer. internal override IDictionary NamedParameters { @@ -220,40 +240,44 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"WeightColumn","exampleWeightColumnName" }, - {"LabelColumn","labelColumnName" }, - {"FeatureColumn","featureColumnName" }, - {"L1Weight","l1Weight" }, - {"L2Weight","l2Weight" }, - {"OptTol","optimizationTolerance" }, - {"MemorySize","memorySize" }, - {"EnforceNonNegativity","enforceNoNegativity" }, + {"ExampleWeightColumnName","exampleWeightColumnName" }, + {"LabelColumnName","labelColumnName" }, + {"FeatureColumnName","featureColumnName" }, + {"L1Regularization","l1Regularization" }, + {"L2Regularization","l2Regularization" }, + {"OptmizationTolerance","optimizationTolerance" }, + {"HistorySize","historySize" }, + {"EnforceNonNegativity","enforceNonNegativity" }, }; } } internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers;\r\n" }; - public LogisticRegressionBase(PipelineNode node) : base(node) + public LbfgsLogisticRegressionBase(PipelineNode node) : base(node) { } } - internal class LogisticRegressionBinary : LogisticRegressionBase + internal class LbfgsLogisticRegressionBinary : LbfgsLogisticRegressionBase { + internal override string MethodName => "LbfgsLogisticRegression"; + //ClassName of the options to trainer - internal override string OptionsName => "LogisticRegression.Options"; + internal override string OptionsName => "LbfgsLogisticRegressionBinaryTrainer.Options"; - public LogisticRegressionBinary(PipelineNode node) : base(node) + public LbfgsLogisticRegressionBinary(PipelineNode node) : base(node) { } } - internal class LogisticRegressionMulti : LogisticRegressionBase + internal class LbfgsMaximumEntropyMulti : LbfgsLogisticRegressionBase { + internal override string MethodName => "LbfgsMaximumEntropy"; + //ClassName of the options to trainer - internal override string OptionsName => "MulticlassLogisticRegression.Options"; + internal override string OptionsName => "LbfgsMaximumEntropyMulticlassTrainer.Options"; - public LogisticRegressionMulti(PipelineNode node) : base(node) + public LbfgsMaximumEntropyMulti(PipelineNode node) : base(node) { } } @@ -277,12 +301,11 @@ internal override IDictionary NamedParameters { {"LearningRate" , "learningRate" }, {"DecreaseLearningRate" , "decreaseLearningRate" }, - {"L2RegularizerWeight" , "l2RegularizerWeight" }, - {"NumIterations" , "numIterations" }, - {"LabelColumn" , "labelColumnName" }, - {"FeatureColumn" , "featureColumnName" }, + {"L2Regularization" , "l2Regularization" }, + {"NumberOfIterations" , "numberOfIterations" }, + {"LabelColumnName" , "labelColumnName" }, + {"FeatureColumnName" , "featureColumnName" }, {"LossFunction" ,"lossFunction" }, - }; } } @@ -294,13 +317,13 @@ public OnlineGradientDescentRegression(PipelineNode node) : base(node) } } - internal class OrdinaryLeastSquaresRegression : TrainerGeneratorBase + internal class OlsRegression : TrainerGeneratorBase { //ClassName of the trainer - internal override string MethodName => "OrdinaryLeastSquares"; + internal override string MethodName => "Ols"; //ClassName of the options to trainer - internal override string OptionsName => "OlsLinearRegressionTrainer.Options"; + internal override string OptionsName => "OlsTrainer.Options"; //The named parameters to the trainer. internal override IDictionary NamedParameters @@ -310,27 +333,27 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"WeightColumn","exampleWeightColumnName" }, - {"LabelColumn","labelColumnName" }, - {"FeatureColumn","featureColumnName" }, + {"ExampleWeightColumnName","exampleWeightColumnName" }, + {"LabelColumnName","labelColumnName" }, + {"FeatureColumnName","featureColumnName" }, }; } } - internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers.HalLearners;\r\n" }; + internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers;\r\n" }; - public OrdinaryLeastSquaresRegression(PipelineNode node) : base(node) + public OlsRegression(PipelineNode node) : base(node) { } } - internal class PoissonRegression : TrainerGeneratorBase + internal class LbfgsPoissonRegression : TrainerGeneratorBase { //ClassName of the trainer - internal override string MethodName => "PoissonRegression"; + internal override string MethodName => "LbfgsPoissonRegression"; //ClassName of the options to trainer - internal override string OptionsName => "PoissonRegression.Options"; + internal override string OptionsName => "LbfgsPoissonRegressionTrainer.Options"; //The named parameters to the trainer. internal override IDictionary NamedParameters @@ -340,21 +363,21 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"WeightColumn","exampleWeightColumnName" }, - {"LabelColumn","labelColumnName" }, - {"FeatureColumn","featureColumnName" }, - {"L1Weight","l1Weight" }, - {"L2Weight","l2Weight" }, - {"OptTol","optimizationTolerance" }, - {"MemorySize","memorySize" }, - {"EnforceNonNegativity","enforceNoNegativity" }, + {"ExampleWeightColumnName","exampleWeightColumnName" }, + {"LabelColumnName","labelColumnName" }, + {"FeatureColumnName","featureColumnName" }, + {"L1Regularization","l1Regularization" }, + {"L2Regularization","l2Regularization" }, + {"OptmizationTolerance","optimizationTolerance" }, + {"HistorySize","historySize" }, + {"EnforceNonNegativity","enforceNonNegativity" }, }; } } internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers;\r\n" }; - public PoissonRegression(PipelineNode node) : base(node) + public LbfgsPoissonRegression(PipelineNode node) : base(node) { } } @@ -362,9 +385,6 @@ public PoissonRegression(PipelineNode node) : base(node) #region SDCA internal abstract class StochasticDualCoordinateAscentBase : TrainerGeneratorBase { - //ClassName of the trainer - internal override string MethodName => "StochasticDualCoordinateAscent"; - //The named parameters to the trainer. internal override IDictionary NamedParameters { @@ -373,13 +393,13 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"WeightColumn","exampleWeightColumnName" }, - {"LabelColumn","labelColumnName" }, - {"FeatureColumn","featureColumnName" }, + {"ExampleWeightColumnName","exampleWeightColumnName" }, + {"LabelColumnName","labelColumnName" }, + {"FeatureColumnName","featureColumnName" }, {"Loss","loss" }, - {"L2Const","l2Const" }, - {"L1Threshold","l1Threshold" }, - {"MaxIterations","maxIterations" } + {"L2Regularization","l2Regularization" }, + {"L1Regularization","l1Regularization" }, + {"MaximumNumberOfIterations","maximumNumberOfIterations" } }; } } @@ -393,8 +413,10 @@ public StochasticDualCoordinateAscentBase(PipelineNode node) : base(node) internal class StochasticDualCoordinateAscentBinary : StochasticDualCoordinateAscentBase { + internal override string MethodName => "SdcaLogisticRegression"; + //ClassName of the options to trainer - internal override string OptionsName => "SdcaBinaryTrainer.Options"; + internal override string OptionsName => "SdcaLogisticRegressionBinaryTrainer.Options"; public StochasticDualCoordinateAscentBinary(PipelineNode node) : base(node) { @@ -403,8 +425,10 @@ public StochasticDualCoordinateAscentBinary(PipelineNode node) : base(node) internal class StochasticDualCoordinateAscentMulti : StochasticDualCoordinateAscentBase { + internal override string MethodName => "SdcaMaximumEntropy"; + //ClassName of the options to trainer - internal override string OptionsName => "SdcaMultiClassTrainer.Options"; + internal override string OptionsName => "SdcaMaximumEntropyMulticlassTrainer.Options"; public StochasticDualCoordinateAscentMulti(PipelineNode node) : base(node) { @@ -413,6 +437,8 @@ public StochasticDualCoordinateAscentMulti(PipelineNode node) : base(node) internal class StochasticDualCoordinateAscentRegression : StochasticDualCoordinateAscentBase { + internal override string MethodName => "Sdca"; + //ClassName of the options to trainer internal override string OptionsName => "SdcaRegressionTrainer.Options"; @@ -422,13 +448,13 @@ public StochasticDualCoordinateAscentRegression(PipelineNode node) : base(node) } #endregion - internal class StochasticGradientDescentClassification : TrainerGeneratorBase + internal class SgdCalibratedBinary : TrainerGeneratorBase { //ClassName of the trainer - internal override string MethodName => "StochasticGradientDescent"; + internal override string MethodName => "SgdCalibrated"; //ClassName of the options to trainer - internal override string OptionsName => "SgdBinaryTrainer.Options"; + internal override string OptionsName => "SgdCalibratedTrainer.Options"; //The named parameters to the trainer. internal override IDictionary NamedParameters @@ -438,31 +464,30 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"WeightColumn","exampleWeightColumnName" }, - {"LabelColumn","labelColumnName" }, - {"FeatureColumn","featureColumnName" }, - {"NumIterations","numIterations" }, - {"MaxIterations","maxIterations" }, - {"InitLearningRate","initLearningRate" }, - {"L2Weight","l2Weight" } + {"ExampleWeightColumnName","exampleWeightColumnName" }, + {"LabelColumnName","labelColumnName" }, + {"FeatureColumnName","featureColumnName" }, + {"NumberOfIterations","numberOfIterations" }, + {"LearningRate","learningRate" }, + {"L2Regularization","l2Regularization" } }; } } internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers;\r\n" }; - public StochasticGradientDescentClassification(PipelineNode node) : base(node) + public SgdCalibratedBinary(PipelineNode node) : base(node) { } } - internal class SymbolicStochasticGradientDescent : TrainerGeneratorBase + internal class SymbolicSgdLogisticRegressionBinary : TrainerGeneratorBase { //ClassName of the trainer - internal override string MethodName => "SymbolicStochasticGradientDescent"; + internal override string MethodName => "SymbolicSgdLogisticRegression"; //ClassName of the options to trainer - internal override string OptionsName => "SymSgdClassificationTrainer.Options"; + internal override string OptionsName => "SymbolicSgdLogisticRegressionBinaryTrainer.Options"; //The named parameters to the trainer. internal override IDictionary NamedParameters @@ -472,16 +497,16 @@ internal override IDictionary NamedParameters return new Dictionary() { - {"LabelColumn","labelColumnName" }, - {"FeatureColumn","featureColumnName" }, + {"LabelColumnName","labelColumnName" }, + {"FeatureColumnName","featureColumnName" }, {"NumberOfIterations","numberOfIterations" } }; } } - internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers.HalLearners;\r\n" }; + internal override string[] Usings => new string[] { "using Microsoft.ML.Trainers;\r\n" }; - public SymbolicStochasticGradientDescent(PipelineNode node) : base(node) + public SymbolicSgdLogisticRegressionBinary(PipelineNode node) : base(node) { } @@ -520,7 +545,7 @@ public override string GenerateTrainer() sb.Append(","); sb.Append("labelColumnName:"); sb.Append("\""); - sb.Append(node.Properties["LabelColumn"]); + sb.Append(node.Properties["LabelColumnName"]); sb.Append("\""); sb.Append(")"); return sb.ToString(); diff --git a/src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase.cs b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase.cs index c55342fc78..eaeae72b9b 100644 --- a/src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase.cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGeneratorBase.cs @@ -15,7 +15,7 @@ internal abstract class TransformGeneratorBase : ITransformGenerator //abstract properties internal abstract string MethodName { get; } - internal abstract string[] Usings { get; } + internal virtual string[] Usings => null; protected string[] inputColumns; diff --git a/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs index cc5fbd5ec6..6f94d3e080 100644 --- a/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs +++ b/src/mlnet/CodeGenerator/CSharp/TransformGenerators.cs @@ -15,9 +15,7 @@ public Normalizer(PipelineNode node) : base(node) { } - internal override string MethodName => "Normalize"; - - internal override string[] Usings => null; + internal override string MethodName => "NormalizeMinMax"; public override string GenerateTransformer() { @@ -42,9 +40,7 @@ public OneHotEncoding(PipelineNode node) : base(node) internal override string MethodName => "Categorical.OneHotEncoding"; - internal override string[] Usings => new string[] { "using Microsoft.ML.Transforms;\r\n" }; - - private string ArgumentsName = "OneHotEncodingEstimator.ColumnOptions"; + private string ArgumentsName = "InputOutputColumnPair"; public override string GenerateTransformer() { @@ -79,8 +75,6 @@ public ColumnConcat(PipelineNode node) : base(node) internal override string MethodName => "Concatenate"; - internal override string[] Usings => null; - public override string GenerateTransformer() { StringBuilder sb = new StringBuilder(); @@ -111,8 +105,6 @@ public ColumnCopying(PipelineNode node) : base(node) internal override string MethodName => "CopyColumns"; - internal override string[] Usings => null; - public override string GenerateTransformer() { StringBuilder sb = new StringBuilder(); @@ -136,8 +128,6 @@ public KeyToValueMapping(PipelineNode node) : base(node) internal override string MethodName => "Conversion.MapKeyToValue"; - internal override string[] Usings => new string[] { "using Microsoft.ML.Transforms;\r\n" }; - public override string GenerateTransformer() { StringBuilder sb = new StringBuilder(); @@ -161,9 +151,7 @@ public MissingValueIndicator(PipelineNode node) : base(node) internal override string MethodName => "IndicateMissingValues"; - internal override string[] Usings => null; - - private string ArgumentsName = "ColumnOptions"; + private string ArgumentsName = "InputOutputColumnPair"; public override string GenerateTransformer() { @@ -199,8 +187,7 @@ public MissingValueReplacer(PipelineNode node) : base(node) internal override string MethodName => "ReplaceMissingValues"; - private string ArgumentsName = "MissingValueReplacingEstimator.ColumnOptions"; - internal override string[] Usings => new string[] { "using Microsoft.ML.Transforms;\r\n" }; + private string ArgumentsName = "InputOutputColumnPair"; public override string GenerateTransformer() { @@ -235,9 +222,7 @@ public OneHotHashEncoding(PipelineNode node) : base(node) internal override string MethodName => "Categorical.OneHotHashEncoding"; - internal override string[] Usings => new string[] { "using Microsoft.ML.Transforms;\r\n" }; - - private string ArgumentsName = "OneHotHashEncodingEstimator.ColumnOptions"; + private string ArgumentsName = "InputOutputColumnPair"; public override string GenerateTransformer() { @@ -272,8 +257,6 @@ public TextFeaturizing(PipelineNode node) : base(node) internal override string MethodName => "Text.FeaturizeText"; - internal override string[] Usings => null; - public override string GenerateTransformer() { StringBuilder sb = new StringBuilder(); @@ -297,9 +280,7 @@ public TypeConverting(PipelineNode node) : base(node) internal override string MethodName => "Conversion.ConvertType"; - internal override string[] Usings => new string[] { "using Microsoft.ML.Transforms;\r\n" }; - - private string ArgumentsName = "TypeConvertingEstimator.ColumnOptions"; + private string ArgumentsName = "InputOutputColumnPair"; public override string GenerateTransformer() { @@ -314,8 +295,6 @@ public override string GenerateTransformer() sb.Append("("); sb.Append(outputColumns[i]); sb.Append(","); - sb.Append("DataKind.Single"); - sb.Append(","); sb.Append(inputColumns[i]); sb.Append(")"); sb.Append(","); @@ -336,8 +315,6 @@ public ValueToKeyMapping(PipelineNode node) : base(node) internal override string MethodName => "Conversion.MapValueToKey"; - internal override string[] Usings => new string[] { "using Microsoft.ML.Transforms;\r\n" }; - public override string GenerateTransformer() { StringBuilder sb = new StringBuilder(); diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index b81babff4a..c150f7758c 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System.Collections.Generic; using System.CommandLine.Builder; using System.CommandLine.Invocation; using System.IO; diff --git a/src/mlnet/Templates/Console/ConsoleHelper.cs b/src/mlnet/Templates/Console/ConsoleHelper.cs index 53c174c30d..60480e9b0b 100644 --- a/src/mlnet/Templates/Console/ConsoleHelper.cs +++ b/src/mlnet/Templates/Console/ConsoleHelper.cs @@ -44,119 +44,121 @@ namespace "); "onsole.WriteLine($\"*************************************************\");\r\n " + " Console.WriteLine($\"* Metrics for regression model \");\r\n " + " Console.WriteLine($\"*------------------------------------------------\");\r\n " + - " Console.WriteLine($\"* LossFn: {metrics.LossFn:0.##}\");\r\n " + - " Console.WriteLine($\"* R2 Score: {metrics.RSquared:0.##}\");" + - "\r\n Console.WriteLine($\"* Absolute loss: {metrics.L1:#.##}\");\r\n " + - " Console.WriteLine($\"* Squared loss: {metrics.L2:#.##}\");\r\n " + - " Console.WriteLine($\"* RMS loss: {metrics.Rms:#.##}\");\r\n " + - " Console.WriteLine($\"*************************************************\");\r\n" + - " }\r\n\r\n public static void PrintRegressionFoldsAverageMetrics(Train" + - "CatalogBase.CrossValidationResult[] crossValidationResults)\r\n" + - " {\r\n var L1 = crossValidationResults.Select(r => r.Metrics.L1)" + - ";\r\n var L2 = crossValidationResults.Select(r => r.Metrics.L2);\r\n " + - " var RMS = crossValidationResults.Select(r => r.Metrics.L1);\r\n " + - "var lossFunction = crossValidationResults.Select(r => r.Metrics.LossFn);\r\n " + - " var R2 = crossValidationResults.Select(r => r.Metrics.RSquared);\r\n\r\n " + - " Console.WriteLine($\"******************************************************" + - "*******************************************************\");\r\n Console." + - "WriteLine($\"* Metrics for Regression model \");\r\n Console.W" + - "riteLine($\"*--------------------------------------------------------------------" + - "----------------------------------------\");\r\n Console.WriteLine($\"* " + - " Average L1 Loss: {L1.Average():0.###} \");\r\n Console.WriteLine" + - "($\"* Average L2 Loss: {L2.Average():0.###} \");\r\n Console.Wr" + - "iteLine($\"* Average RMS: {RMS.Average():0.###} \");\r\n " + - "Console.WriteLine($\"* Average Loss Function: {lossFunction.Average():0.###" + - "} \");\r\n Console.WriteLine($\"* Average R-squared: {R2.Average()" + - ":0.###} \");\r\n Console.WriteLine($\"**********************************" + - "***************************************************************************\");\r\n" + - " }\r\n\r\n public static void PrintBinaryClassificationMetrics(BinaryC" + - "lassificationMetrics metrics)\r\n {\r\n Console.WriteLine($\"******" + - "******************************************************\");\r\n Console.W" + - "riteLine($\"* Metrics for binary classification model \");\r\n " + - " Console.WriteLine($\"*----------------------------------------------------------" + - "-\");\r\n Console.WriteLine($\"* Accuracy: {metrics.Accuracy:P2}\");" + - "\r\n Console.WriteLine($\"* Auc: {metrics.Auc:P2}\");\r\n " + - " Console.WriteLine($\"*******************************************************" + - "*****\");\r\n }\r\n\r\n\r\n public static void PrintBinaryClassificationFol" + - "dsAverageMetrics(TrainCatalogBase.CrossValidationResult[] crossValResults)\r\n {\r\n var metricsInMultipleFolds = cro" + - "ssValResults.Select(r => r.Metrics);\r\n\r\n var AccuracyValues = metrics" + - "InMultipleFolds.Select(m => m.Accuracy);\r\n var AccuracyAverage = Accu" + - "racyValues.Average();\r\n var AccuraciesStdDeviation = CalculateStandar" + - "dDeviation(AccuracyValues);\r\n var AccuraciesConfidenceInterval95 = Ca" + - "lculateConfidenceInterval95(AccuracyValues);\r\n\r\n\r\n Console.WriteLine(" + - "$\"******************************************************************************" + - "*******************************\");\r\n Console.WriteLine($\"* Metr" + - "ics for Binary Classification model \");\r\n Console.WriteLine($\"*-" + + " Console.WriteLine($\"* LossFn: {metrics.LossFunction:0.##}" + + "\");\r\n Console.WriteLine($\"* R2 Score: {metrics.RSquared:0." + + "##}\");\r\n Console.WriteLine($\"* Absolute loss: {metrics.MeanAbso" + + "luteError:#.##}\");\r\n Console.WriteLine($\"* Squared loss: {metr" + + "ics.MeanSquaredError:#.##}\");\r\n Console.WriteLine($\"* RMS loss:" + + " {metrics.RootMeanSquaredError:#.##}\");\r\n Console.WriteLine($\"**" + + "***********************************************\");\r\n }\r\n\r\n public " + + "static void PrintRegressionFoldsAverageMetrics(IEnumerable> crossValidationResults)\r\n {\r\n " + + " var L1 = crossValidationResults.Select(r => r.Metrics.MeanAbsoluteError);\r" + + "\n var L2 = crossValidationResults.Select(r => r.Metrics.MeanSquaredEr" + + "ror);\r\n var RMS = crossValidationResults.Select(r => r.Metrics.MeanAb" + + "soluteError);\r\n var lossFunction = crossValidationResults.Select(r =>" + + " r.Metrics.LossFunction);\r\n var R2 = crossValidationResults.Select(r " + + "=> r.Metrics.RSquared);\r\n\r\n Console.WriteLine($\"*********************" + + "********************************************************************************" + + "********\");\r\n Console.WriteLine($\"* Metrics for Regression mode" + + "l \");\r\n Console.WriteLine($\"*-----------------------------------" + + "-------------------------------------------------------------------------\");\r\n " + + " Console.WriteLine($\"* Average L1 Loss: {L1.Average():0.###} \"" + + ");\r\n Console.WriteLine($\"* Average L2 Loss: {L2.Average():0." + + "###} \");\r\n Console.WriteLine($\"* Average RMS: {RMS.Av" + + "erage():0.###} \");\r\n Console.WriteLine($\"* Average Loss Functi" + + "on: {lossFunction.Average():0.###} \");\r\n Console.WriteLine($\"* " + + " Average R-squared: {R2.Average():0.###} \");\r\n Console.WriteLine($\"*" + + "********************************************************************************" + + "****************************\");\r\n }\r\n\r\n public static void PrintBi" + + "naryClassificationMetrics(BinaryClassificationMetrics metrics)\r\n {\r\n " + + " Console.WriteLine($\"*****************************************************" + + "*******\");\r\n Console.WriteLine($\"* Metrics for binary classific" + + "ation model \");\r\n Console.WriteLine($\"*-------------------------" + + "----------------------------------\");\r\n Console.WriteLine($\"* A" + + "ccuracy: {metrics.Accuracy:P2}\");\r\n Console.WriteLine($\"* Auc: " + + " {metrics.AreaUnderRocCurve:P2}\");\r\n Console.WriteLine($\"********" + + "****************************************************\");\r\n }\r\n\r\n\r\n " + + "public static void PrintBinaryClassificationFoldsAverageMetrics(IEnumerable> crossValResults" + + ")\r\n {\r\n var metricsInMultipleFolds = crossValResults.Select(r " + + "=> r.Metrics);\r\n\r\n var AccuracyValues = metricsInMultipleFolds.Select" + + "(m => m.Accuracy);\r\n var AccuracyAverage = AccuracyValues.Average();\r" + + "\n var AccuraciesStdDeviation = CalculateStandardDeviation(AccuracyVal" + + "ues);\r\n var AccuraciesConfidenceInterval95 = CalculateConfidenceInter" + + "val95(AccuracyValues);\r\n\r\n\r\n Console.WriteLine($\"********************" + + "********************************************************************************" + + "*********\");\r\n Console.WriteLine($\"* Metrics for Binary Classif" + + "ication model \");\r\n Console.WriteLine($\"*-----------------------" + "--------------------------------------------------------------------------------" + - "---------------------------\");\r\n Console.WriteLine($\"* Average " + - "Accuracy: {AccuracyAverage:0.###} - Standard deviation: ({AccuraciesStdDevia" + - "tion:#.###}) - Confidence Interval 95%: ({AccuraciesConfidenceInterval95:#.###}" + - ")\");\r\n Console.WriteLine($\"******************************************" + - "*******************************************************************\");\r\n\r\n " + - " }\r\n\r\n public static void PrintMultiClassClassificationMetrics(MultiClas" + - "sClassifierMetrics metrics)\r\n {\r\n Console.WriteLine($\"********" + - "****************************************************\");\r\n Console.Wri" + - "teLine($\"* Metrics for multi-class classification model \");\r\n Co" + - "nsole.WriteLine($\"*-----------------------------------------------------------\")" + - ";\r\n Console.WriteLine($\" AccuracyMacro = {metrics.AccuracyMacro:0." + - "####}, a value between 0 and 1, the closer to 1, the better\");\r\n Cons" + - "ole.WriteLine($\" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value betw" + - "een 0 and 1, the closer to 1, the better\");\r\n Console.WriteLine($\" " + - " LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better\");\r\n " + - " for (int i = 0; i < metrics.PerClassLogLoss.Length; i++)\r\n {\r\n " + - " Console.WriteLine($\" LogLoss for class {i + 1} = {metrics.PerClassL" + - "ogLoss[i]:0.####}, the closer to 0, the better\");\r\n }\r\n Co" + - "nsole.WriteLine($\"************************************************************\")" + - ";\r\n }\r\n\r\n public static void PrintMulticlassClassificationFoldsAve" + - "rageMetrics(TrainCatalogBase.CrossValidationResult[" + - "] crossValResults)\r\n {\r\n var metricsInMultipleFolds = crossVal" + - "Results.Select(r => r.Metrics);\r\n\r\n var microAccuracyValues = metrics" + - "InMultipleFolds.Select(m => m.AccuracyMicro);\r\n var microAccuracyAver" + - "age = microAccuracyValues.Average();\r\n var microAccuraciesStdDeviatio" + - "n = CalculateStandardDeviation(microAccuracyValues);\r\n var microAccur" + - "aciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues);\r" + - "\n\r\n var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.Ac" + - "curacyMacro);\r\n var macroAccuracyAverage = macroAccuracyValues.Averag" + - "e();\r\n var macroAccuraciesStdDeviation = CalculateStandardDeviation(m" + - "acroAccuracyValues);\r\n var macroAccuraciesConfidenceInterval95 = Calc" + - "ulateConfidenceInterval95(macroAccuracyValues);\r\n\r\n var logLossValues" + - " = metricsInMultipleFolds.Select(m => m.LogLoss);\r\n var logLossAverag" + - "e = logLossValues.Average();\r\n var logLossStdDeviation = CalculateSta" + - "ndardDeviation(logLossValues);\r\n var logLossConfidenceInterval95 = Ca" + - "lculateConfidenceInterval95(logLossValues);\r\n\r\n var logLossReductionV" + - "alues = metricsInMultipleFolds.Select(m => m.LogLossReduction);\r\n var" + - " logLossReductionAverage = logLossReductionValues.Average();\r\n var lo" + - "gLossReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues);" + - "\r\n var logLossReductionConfidenceInterval95 = CalculateConfidenceInte" + - "rval95(logLossReductionValues);\r\n\r\n Console.WriteLine($\"*************" + + "-----\");\r\n Console.WriteLine($\"* Average Accuracy: {Accuracy" + + "Average:0.###} - Standard deviation: ({AccuraciesStdDeviation:#.###}) - Confid" + + "ence Interval 95%: ({AccuraciesConfidenceInterval95:#.###})\");\r\n Cons" + + "ole.WriteLine($\"****************************************************************" + + "*********************************************\");\r\n\r\n }\r\n\r\n public " + + "static void PrintMulticlassClassificationMetrics(MulticlassClassificationMetrics" + + " metrics)\r\n {\r\n Console.WriteLine($\"**************************" + + "**********************************\");\r\n Console.WriteLine($\"* Metr" + + "ics for multi-class classification model \");\r\n Console.WriteLine($\"" + + "*-----------------------------------------------------------\");\r\n Con" + + "sole.WriteLine($\" MacroAccuracy = {metrics.MacroAccuracy:0.####}, a value bet" + + "ween 0 and 1, the closer to 1, the better\");\r\n Console.WriteLine($\" " + + " MicroAccuracy = {metrics.MicroAccuracy:0.####}, a value between 0 and 1, the c" + + "loser to 1, the better\");\r\n Console.WriteLine($\" LogLoss = {metric" + + "s.LogLoss:0.####}, the closer to 0, the better\");\r\n for (int i = 0; i" + + " < metrics.PerClassLogLoss.Count; i++)\r\n {\r\n Console.W" + + "riteLine($\" LogLoss for class {i + 1} = {metrics.PerClassLogLoss[i]:0.####}, " + + "the closer to 0, the better\");\r\n }\r\n Console.WriteLine($\"*" + + "***********************************************************\");\r\n }\r\n\r\n " + + " public static void PrintMulticlassClassificationFoldsAverageMetrics(IEnumer" + + "able> cr" + + "ossValResults)\r\n {\r\n var metricsInMultipleFolds = crossValResu" + + "lts.Select(r => r.Metrics);\r\n\r\n var microAccuracyValues = metricsInMu" + + "ltipleFolds.Select(m => m.MicroAccuracy);\r\n var microAccuracyAverage " + + "= microAccuracyValues.Average();\r\n var microAccuraciesStdDeviation = " + + "CalculateStandardDeviation(microAccuracyValues);\r\n var microAccuracie" + + "sConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues);\r\n\r\n " + + " var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.MacroA" + + "ccuracy);\r\n var macroAccuracyAverage = macroAccuracyValues.Average();" + + "\r\n var macroAccuraciesStdDeviation = CalculateStandardDeviation(macro" + + "AccuracyValues);\r\n var macroAccuraciesConfidenceInterval95 = Calculat" + + "eConfidenceInterval95(macroAccuracyValues);\r\n\r\n var logLossValues = m" + + "etricsInMultipleFolds.Select(m => m.LogLoss);\r\n var logLossAverage = " + + "logLossValues.Average();\r\n var logLossStdDeviation = CalculateStandar" + + "dDeviation(logLossValues);\r\n var logLossConfidenceInterval95 = Calcul" + + "ateConfidenceInterval95(logLossValues);\r\n\r\n var logLossReductionValue" + + "s = metricsInMultipleFolds.Select(m => m.LogLossReduction);\r\n var log" + + "LossReductionAverage = logLossReductionValues.Average();\r\n var logLos" + + "sReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues);\r\n " + + " var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval" + + "95(logLossReductionValues);\r\n\r\n Console.WriteLine($\"*****************" + "********************************************************************************" + - "****************\");\r\n Console.WriteLine($\"* Metrics for Multi-c" + - "lass Classification model \");\r\n Console.WriteLine($\"*-----------" + + "************\");\r\n Console.WriteLine($\"* Metrics for Multi-class" + + " Classification model \");\r\n Console.WriteLine($\"*---------------" + "--------------------------------------------------------------------------------" + - "-----------------\");\r\n Console.WriteLine($\"* Average MicroAccur" + - "acy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStd" + - "Deviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterva" + - "l95:#.###})\");\r\n Console.WriteLine($\"* Average MacroAccuracy: " + - " {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviat" + - "ion:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#." + - "###})\");\r\n Console.WriteLine($\"* Average LogLoss: {log" + - "LossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confi" + - "dence Interval 95%: ({logLossConfidenceInterval95:#.###})\");\r\n Consol" + - "e.WriteLine($\"* Average LogLossReduction: {logLossReductionAverage:#.###} " + - " - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Inte" + - "rval 95%: ({logLossReductionConfidenceInterval95:#.###})\");\r\n Console" + - ".WriteLine($\"*******************************************************************" + - "******************************************\");\r\n\r\n }\r\n\r\n public sta" + - "tic double CalculateStandardDeviation(IEnumerable values)\r\n {\r\n " + - " double average = values.Average();\r\n double sumOfSquaresOfD" + - "ifferences = values.Select(val => (val - average) * (val - average)).Sum();\r\n " + - " double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (value" + - "s.Count() - 1));\r\n return standardDeviation;\r\n }\r\n\r\n pu" + - "blic static double CalculateConfidenceInterval95(IEnumerable values)\r\n " + - " {\r\n double confidenceInterval95 = 1.96 * CalculateStandardDevia" + - "tion(values) / Math.Sqrt((values.Count() - 1));\r\n return confidenceIn" + - "terval95;\r\n }\r\n }\r\n}\r\n"); + "-------------\");\r\n Console.WriteLine($\"* Average MicroAccuracy:" + + " {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDevi" + + "ation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:" + + "#.###})\");\r\n Console.WriteLine($\"* Average MacroAccuracy: {m" + + "acroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:" + + "#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###}" + + ")\");\r\n Console.WriteLine($\"* Average LogLoss: {logLoss" + + "Average:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidenc" + + "e Interval 95%: ({logLossConfidenceInterval95:#.###})\");\r\n Console.Wr" + + "iteLine($\"* Average LogLossReduction: {logLossReductionAverage:#.###} - S" + + "tandard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval" + + " 95%: ({logLossReductionConfidenceInterval95:#.###})\");\r\n Console.Wri" + + "teLine($\"***********************************************************************" + + "**************************************\");\r\n\r\n }\r\n\r\n public static " + + "double CalculateStandardDeviation(IEnumerable values)\r\n {\r\n " + + " double average = values.Average();\r\n double sumOfSquaresOfDiffe" + + "rences = values.Select(val => (val - average) * (val - average)).Sum();\r\n " + + " double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Co" + + "unt() - 1));\r\n return standardDeviation;\r\n }\r\n\r\n public" + + " static double CalculateConfidenceInterval95(IEnumerable values)\r\n " + + " {\r\n double confidenceInterval95 = 1.96 * CalculateStandardDeviation" + + "(values) / Math.Sqrt((values.Count() - 1));\r\n return confidenceInterv" + + "al95;\r\n }\r\n }\r\n}\r\n"); return this.GenerationEnvironment.ToString(); } diff --git a/src/mlnet/Templates/Console/ConsoleHelper.tt b/src/mlnet/Templates/Console/ConsoleHelper.tt index 163984e482..f768ab985b 100644 --- a/src/mlnet/Templates/Console/ConsoleHelper.tt +++ b/src/mlnet/Templates/Console/ConsoleHelper.tt @@ -25,20 +25,20 @@ namespace <#= Namespace #>.Train Console.WriteLine($"*************************************************"); Console.WriteLine($"* Metrics for regression model "); Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"* LossFn: {metrics.LossFn:0.##}"); + Console.WriteLine($"* LossFn: {metrics.LossFunction:0.##}"); Console.WriteLine($"* R2 Score: {metrics.RSquared:0.##}"); - Console.WriteLine($"* Absolute loss: {metrics.L1:#.##}"); - Console.WriteLine($"* Squared loss: {metrics.L2:#.##}"); - Console.WriteLine($"* RMS loss: {metrics.Rms:#.##}"); + Console.WriteLine($"* Absolute loss: {metrics.MeanAbsoluteError:#.##}"); + Console.WriteLine($"* Squared loss: {metrics.MeanSquaredError:#.##}"); + Console.WriteLine($"* RMS loss: {metrics.RootMeanSquaredError:#.##}"); Console.WriteLine($"*************************************************"); } - public static void PrintRegressionFoldsAverageMetrics(TrainCatalogBase.CrossValidationResult[] crossValidationResults) + public static void PrintRegressionFoldsAverageMetrics(IEnumerable> crossValidationResults) { - var L1 = crossValidationResults.Select(r => r.Metrics.L1); - var L2 = crossValidationResults.Select(r => r.Metrics.L2); - var RMS = crossValidationResults.Select(r => r.Metrics.L1); - var lossFunction = crossValidationResults.Select(r => r.Metrics.LossFn); + var L1 = crossValidationResults.Select(r => r.Metrics.MeanAbsoluteError); + var L2 = crossValidationResults.Select(r => r.Metrics.MeanSquaredError); + var RMS = crossValidationResults.Select(r => r.Metrics.MeanAbsoluteError); + var lossFunction = crossValidationResults.Select(r => r.Metrics.LossFunction); var R2 = crossValidationResults.Select(r => r.Metrics.RSquared); Console.WriteLine($"*************************************************************************************************************"); @@ -58,12 +58,12 @@ namespace <#= Namespace #>.Train Console.WriteLine($"* Metrics for binary classification model "); Console.WriteLine($"*-----------------------------------------------------------"); Console.WriteLine($"* Accuracy: {metrics.Accuracy:P2}"); - Console.WriteLine($"* Auc: {metrics.Auc:P2}"); + Console.WriteLine($"* Auc: {metrics.AreaUnderRocCurve:P2}"); Console.WriteLine($"************************************************************"); } - public static void PrintBinaryClassificationFoldsAverageMetrics(TrainCatalogBase.CrossValidationResult[] crossValResults) + public static void PrintBinaryClassificationFoldsAverageMetrics(IEnumerable> crossValResults) { var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); @@ -81,31 +81,31 @@ namespace <#= Namespace #>.Train } - public static void PrintMultiClassClassificationMetrics(MultiClassClassifierMetrics metrics) + public static void PrintMulticlassClassificationMetrics(MulticlassClassificationMetrics metrics) { Console.WriteLine($"************************************************************"); Console.WriteLine($"* Metrics for multi-class classification model "); Console.WriteLine($"*-----------------------------------------------------------"); - Console.WriteLine($" AccuracyMacro = {metrics.AccuracyMacro:0.####}, a value between 0 and 1, the closer to 1, the better"); - Console.WriteLine($" AccuracyMicro = {metrics.AccuracyMicro:0.####}, a value between 0 and 1, the closer to 1, the better"); + Console.WriteLine($" MacroAccuracy = {metrics.MacroAccuracy:0.####}, a value between 0 and 1, the closer to 1, the better"); + Console.WriteLine($" MicroAccuracy = {metrics.MicroAccuracy:0.####}, a value between 0 and 1, the closer to 1, the better"); Console.WriteLine($" LogLoss = {metrics.LogLoss:0.####}, the closer to 0, the better"); - for (int i = 0; i < metrics.PerClassLogLoss.Length; i++) + for (int i = 0; i < metrics.PerClassLogLoss.Count; i++) { Console.WriteLine($" LogLoss for class {i + 1} = {metrics.PerClassLogLoss[i]:0.####}, the closer to 0, the better"); } Console.WriteLine($"************************************************************"); } - public static void PrintMulticlassClassificationFoldsAverageMetrics(TrainCatalogBase.CrossValidationResult[] crossValResults) + public static void PrintMulticlassClassificationFoldsAverageMetrics(IEnumerable> crossValResults) { var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); - var microAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMicro); + var microAccuracyValues = metricsInMultipleFolds.Select(m => m.MicroAccuracy); var microAccuracyAverage = microAccuracyValues.Average(); var microAccuraciesStdDeviation = CalculateStandardDeviation(microAccuracyValues); var microAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues); - var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro); + var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.MacroAccuracy); var macroAccuracyAverage = macroAccuracyValues.Average(); var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues); var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macroAccuracyValues); diff --git a/src/mlnet/Templates/Console/ModelProject.cs b/src/mlnet/Templates/Console/ModelProject.cs index 29403f8955..5a9b788408 100644 --- a/src/mlnet/Templates/Console/ModelProject.cs +++ b/src/mlnet/Templates/Console/ModelProject.cs @@ -39,7 +39,7 @@ public virtual string TransformText() - + diff --git a/src/mlnet/Templates/Console/ModelProject.tt b/src/mlnet/Templates/Console/ModelProject.tt index 7fb3f7267b..7ca417d9d1 100644 --- a/src/mlnet/Templates/Console/ModelProject.tt +++ b/src/mlnet/Templates/Console/ModelProject.tt @@ -14,7 +14,7 @@ - + diff --git a/src/mlnet/Templates/Console/PredictProgram.cs b/src/mlnet/Templates/Console/PredictProgram.cs index 7978ff1eab..61f3fd8b3a 100644 --- a/src/mlnet/Templates/Console/PredictProgram.cs +++ b/src/mlnet/Templates/Console/PredictProgram.cs @@ -42,17 +42,16 @@ public virtual string TransformText() using System.Collections.Generic; using Microsoft.ML; using Microsoft.ML.Data; -using Microsoft.Data.DataView; using "); - #line 21 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 20 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); #line default #line hidden this.Write(".Model.DataModels;\r\n\r\n\r\nnamespace "); - #line 24 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 23 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); #line default @@ -61,35 +60,35 @@ public virtual string TransformText() "nd use for predictions\r\n private const string MODEL_FILEPATH = @\"MLModel." + "zip\";\r\n\r\n //Dataset to use for predictions \r\n"); - #line 32 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 31 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" if(string.IsNullOrEmpty(TestDataPath)){ #line default #line hidden this.Write(" private const string DATA_FILEPATH = @\""); - #line 33 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 32 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(TrainDataPath)); #line default #line hidden this.Write("\";\r\n"); - #line 34 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 33 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" } else{ #line default #line hidden this.Write(" private const string DATA_FILEPATH = @\""); - #line 35 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 34 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(TestDataPath)); #line default #line hidden this.Write("\";\r\n"); - #line 36 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 35 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" } #line default @@ -115,48 +114,48 @@ static void Main(string[] args) private static void Predict(MLContext mlContext, ITransformer mlModel, SampleObservation sampleData) { // Create prediction engine related to the loaded ML model - var predEngine = mlModel.CreatePredictionEngine(mlContext); + var predEngine = mlContext.Model.CreatePredictionEngine(mlModel); // Try a single prediction var predictionResult = predEngine.Predict(sampleData); "); - #line 62 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 61 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" if("BinaryClassification".Equals(TaskType)){ #line default #line hidden this.Write(" Console.WriteLine($\"Single Prediction --> Actual value: {sampleData."); - #line 63 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 62 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); #line default #line hidden this.Write("} | Predicted value: {predictionResult.Prediction}\");\r\n"); - #line 64 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 63 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" }else if("Regression".Equals(TaskType)){ #line default #line hidden this.Write(" Console.WriteLine($\"Single Prediction --> Actual value: {sampleData."); - #line 65 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 64 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); #line default #line hidden this.Write("} | Predicted value: {predictionResult.Score}\");\r\n"); - #line 66 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 65 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" } else if("MulticlassClassification".Equals(TaskType)){ #line default #line hidden this.Write(" Console.WriteLine($\"Single Prediction --> Actual value: {sampleData."); - #line 67 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 66 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); #line default @@ -164,7 +163,7 @@ private static void Predict(MLContext mlContext, ITransformer mlModel, SampleObs this.Write("} | Predicted value: {predictionResult.Prediction} | Predicted scores: [{String.J" + "oin(\",\", predictionResult.Score)}]\");\r\n"); - #line 68 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 67 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" } #line default @@ -176,7 +175,7 @@ private static ITransformer LoadModelFromFile(MLContext mlContext, string modelF ITransformer mlModel; using (var stream = new FileStream(modelFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)) { - mlModel = mlContext.Model.Load(stream); + mlModel = mlContext.Model.Load(stream, out var modelInputSchema); } return mlModel; @@ -191,28 +190,28 @@ private static SampleObservation CreateSingleDataSample(MLContext mlContext, str path: dataFilePath, hasHeader : "); - #line 89 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 88 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); #line default #line hidden this.Write(",\r\n separatorChar : \'"); - #line 90 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 89 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); #line default #line hidden this.Write("\',\r\n allowQuoting : "); - #line 91 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 90 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); #line default #line hidden this.Write(",\r\n allowSparse: "); - #line 92 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 91 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); #line default @@ -230,7 +229,7 @@ private static SampleObservation CreateSingleDataSample(MLContext mlContext, str return this.GenerationEnvironment.ToString(); } - #line 101 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 100 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" public string TaskType {get;set;} public string Namespace {get;set;} diff --git a/src/mlnet/Templates/Console/PredictProgram.tt b/src/mlnet/Templates/Console/PredictProgram.tt index 07e7bb7ddf..b904c467a0 100644 --- a/src/mlnet/Templates/Console/PredictProgram.tt +++ b/src/mlnet/Templates/Console/PredictProgram.tt @@ -17,7 +17,6 @@ using System.Linq; using System.Collections.Generic; using Microsoft.ML; using Microsoft.ML.Data; -using Microsoft.Data.DataView; using <#= Namespace #>.Model.DataModels; @@ -55,7 +54,7 @@ namespace <#= Namespace #>.Predict private static void Predict(MLContext mlContext, ITransformer mlModel, SampleObservation sampleData) { // Create prediction engine related to the loaded ML model - var predEngine = mlModel.CreatePredictionEngine(mlContext); + var predEngine = mlContext.Model.CreatePredictionEngine(mlModel); // Try a single prediction var predictionResult = predEngine.Predict(sampleData); @@ -73,7 +72,7 @@ namespace <#= Namespace #>.Predict ITransformer mlModel; using (var stream = new FileStream(modelFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)) { - mlModel = mlContext.Model.Load(stream); + mlModel = mlContext.Model.Load(stream, out var modelInputSchema); } return mlModel; diff --git a/src/mlnet/Templates/Console/PredictProject.cs b/src/mlnet/Templates/Console/PredictProject.cs index 6f0138a722..58e93a664b 100644 --- a/src/mlnet/Templates/Console/PredictProject.cs +++ b/src/mlnet/Templates/Console/PredictProject.cs @@ -28,13 +28,15 @@ public virtual string TransformText() { this.Write("\r\n\r\n \r\n Exe\r\n netcoreapp2.1\r\n \r\n \r\n \r\n"); + ">\r\n \r\n \r\n"); if(IncludeLightGBMPackage){ - this.Write(" \r\n"); + this.Write(" \r" + + "\n"); } - if(IncludeHalLearnersPackage){ - this.Write(" \r\n"); + if(IncludeMklComponentsPackage){ + this.Write(" \r\n"); } this.Write(" \r\n \r\n netcoreapp2.1 - + <# if(IncludeLightGBMPackage){ #> - + <#}#> -<# if(IncludeHalLearnersPackage){ #> - +<# if(IncludeMklComponentsPackage){ #> + <#}#> @@ -26,5 +26,5 @@ <#+ public string Namespace {get;set;} public bool IncludeLightGBMPackage {get;set;} -public bool IncludeHalLearnersPackage {get;set;} +public bool IncludeMklComponentsPackage {get;set;} #> diff --git a/src/mlnet/Templates/Console/TrainProgram.cs b/src/mlnet/Templates/Console/TrainProgram.cs index 4ddf790cd6..4d85944128 100644 --- a/src/mlnet/Templates/Console/TrainProgram.cs +++ b/src/mlnet/Templates/Console/TrainProgram.cs @@ -37,8 +37,6 @@ public virtual string TransformText() using System.IO; using System.Linq; using Microsoft.ML; -using Microsoft.ML.Data; -using Microsoft.Data.DataView; using "); this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); this.Write(".Model.DataModels;\r\n"); @@ -103,7 +101,7 @@ static void Main(string[] args) } this.Write(@" // Save model - SaveModel(mlContext, mlModel, MODEL_FILEPATH); + SaveModel(mlContext, mlModel, MODEL_FILEPATH, trainingDataView.Schema); Console.WriteLine(""=============== End of process, hit any key to finish ===============""); Console.ReadKey(); @@ -182,7 +180,7 @@ public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDat this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".Evaluate(predictions, \""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\", \"Score\");\r\n ConsoleHelper.PrintMultiClassClassificationMetrics(metr" + + this.Write("\", \"Score\");\r\n ConsoleHelper.PrintMulticlassClassificationMetrics(metr" + "ics);\r\n"); }if("Regression".Equals(TaskType)){ this.Write(" var metrics = mlContext."); @@ -202,9 +200,9 @@ public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDat if("BinaryClassification".Equals(TaskType)){ this.Write(" var crossValidationResults = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); - this.Write(".CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: "); + this.Write(".CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numberOfFolds: "); this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); - this.Write(", labelColumn:\""); + this.Write(", labelColumnName:\""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); this.Write("\");\r\n ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(cross" + "ValidationResults);\r\n"); @@ -212,9 +210,9 @@ public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDat if("MulticlassClassification".Equals(TaskType)){ this.Write(" var crossValidationResults = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); - this.Write(".CrossValidate(trainingDataView, trainingPipeline, numFolds: "); + this.Write(".CrossValidate(trainingDataView, trainingPipeline, numberOfFolds: "); this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); - this.Write(", labelColumn:\""); + this.Write(", labelColumnName:\""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); this.Write("\");\r\n ConsoleHelper.PrintMulticlassClassificationFoldsAverageMetrics(c" + "rossValidationResults);\r\n"); @@ -222,21 +220,21 @@ public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDat if("Regression".Equals(TaskType)){ this.Write(" var crossValidationResults = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); - this.Write(".CrossValidate(trainingDataView, trainingPipeline, numFolds: "); + this.Write(".CrossValidate(trainingDataView, trainingPipeline, numberOfFolds: "); this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); - this.Write(", labelColumn:\""); + this.Write(", labelColumnName:\""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); this.Write("\");\r\n ConsoleHelper.PrintRegressionFoldsAverageMetrics(crossValidation" + "Results);\r\n"); } this.Write(" }\r\n"); } - this.Write(@" private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath) + this.Write(@" private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath, DataViewSchema modelInputSchema) { // Save/persist the trained model to a .ZIP file Console.WriteLine($""=============== Saving the model ===============""); using (var fs = new FileStream(GetAbsolutePath(modelRelativePath), FileMode.Create, FileAccess.Write, FileShare.Write)) - mlContext.Model.Save(mlModel, fs); + mlContext.Model.Save(mlModel, modelInputSchema, fs); Console.WriteLine(""The model is saved to {0}"", GetAbsolutePath(modelRelativePath)); } diff --git a/src/mlnet/Templates/Console/TrainProgram.tt b/src/mlnet/Templates/Console/TrainProgram.tt index 98391d6d7c..fe24e72605 100644 --- a/src/mlnet/Templates/Console/TrainProgram.tt +++ b/src/mlnet/Templates/Console/TrainProgram.tt @@ -15,8 +15,6 @@ using System; using System.IO; using System.Linq; using Microsoft.ML; -using Microsoft.ML.Data; -using Microsoft.Data.DataView; using <#= Namespace #>.Model.DataModels; <#= GeneratedUsings #> namespace <#= Namespace #>.Train @@ -68,7 +66,7 @@ namespace <#= Namespace #>.Train <#}#> // Save model - SaveModel(mlContext, mlModel, MODEL_FILEPATH); + SaveModel(mlContext, mlModel, MODEL_FILEPATH, trainingDataView.Schema); Console.WriteLine("=============== End of process, hit any key to finish ==============="); Console.ReadKey(); @@ -131,7 +129,7 @@ else{#> ConsoleHelper.PrintBinaryClassificationMetrics(metrics); <#} if("MulticlassClassification".Equals(TaskType)){ #> var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "<#= LabelName #>", "Score"); - ConsoleHelper.PrintMultiClassClassificationMetrics(metrics); + ConsoleHelper.PrintMulticlassClassificationMetrics(metrics); <#}if("Regression".Equals(TaskType)){ #> var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "<#= LabelName #>", "Score"); ConsoleHelper.PrintRegressionMetrics(metrics); @@ -144,23 +142,23 @@ else{#> // in order to evaluate and get the model's accuracy metrics Console.WriteLine("=============== Cross-validating to get model's accuracy metrics ==============="); <#if("BinaryClassification".Equals(TaskType)){ #> - var crossValidationResults = mlContext.<#= TaskType #>.CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"<#= LabelName #>"); + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numberOfFolds: <#= Kfolds #>, labelColumnName:"<#= LabelName #>"); ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(crossValidationResults); <#}#><#if("MulticlassClassification".Equals(TaskType)){ #> - var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"<#= LabelName #>"); + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numberOfFolds: <#= Kfolds #>, labelColumnName:"<#= LabelName #>"); ConsoleHelper.PrintMulticlassClassificationFoldsAverageMetrics(crossValidationResults); <#}#><#if("Regression".Equals(TaskType)){ #> - var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numFolds: <#= Kfolds #>, labelColumn:"<#= LabelName #>"); + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numberOfFolds: <#= Kfolds #>, labelColumnName:"<#= LabelName #>"); ConsoleHelper.PrintRegressionFoldsAverageMetrics(crossValidationResults); <#}#> } <#}#> - private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath) + private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath, DataViewSchema modelInputSchema) { // Save/persist the trained model to a .ZIP file Console.WriteLine($"=============== Saving the model ==============="); using (var fs = new FileStream(GetAbsolutePath(modelRelativePath), FileMode.Create, FileAccess.Write, FileShare.Write)) - mlContext.Model.Save(mlModel, fs); + mlContext.Model.Save(mlModel, modelInputSchema, fs); Console.WriteLine("The model is saved to {0}", GetAbsolutePath(modelRelativePath)); } diff --git a/src/mlnet/Templates/Console/TrainProject.cs b/src/mlnet/Templates/Console/TrainProject.cs index ee33bd0596..362510d271 100644 --- a/src/mlnet/Templates/Console/TrainProject.cs +++ b/src/mlnet/Templates/Console/TrainProject.cs @@ -28,13 +28,15 @@ public virtual string TransformText() { this.Write("\r\n\r\n \r\n Exe\r\n netcoreapp2.1\r\n \r\n \r\n \r\n"); + ">\r\n \r\n \r\n"); if(IncludeLightGBMPackage){ - this.Write(" \r\n"); + this.Write(" \r" + + "\n"); } - if(IncludeHalLearnersPackage){ - this.Write(" \r\n"); + if(IncludeMklComponentsPackage){ + this.Write(" \r\n"); } this.Write(" \r\n \r\n netcoreapp2.1 - + <# if(IncludeLightGBMPackage){ #> - + <#}#> -<# if(IncludeHalLearnersPackage){ #> - +<# if(IncludeMklComponentsPackage){ #> + <#}#> @@ -26,5 +26,5 @@ <#+ public string Namespace {get;set;} public bool IncludeLightGBMPackage {get;set;} -public bool IncludeHalLearnersPackage {get;set;} +public bool IncludeMklComponentsPackage {get;set;} #> \ No newline at end of file From a810d8d3b47740369596d38c2e48b48999ab6c8b Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 4 Apr 2019 15:20:12 -0700 Subject: [PATCH 195/211] Sample revs; ColumnInformation property name revs; pre-featurizer fixes (#346) --- src/Microsoft.ML.Auto/API/ColumnInference.cs | 14 ++-- src/Microsoft.ML.Auto/API/ExperimentBase.cs | 76 ++++++++++++++----- .../ColumnInference/ColumnInferenceApi.cs | 6 +- .../ColumnInference/ColumnInformationUtil.cs | 28 +++---- .../Experiment/Runners/CrossValRunner.cs | 18 +---- .../Runners/CrossValSummaryRunner.cs | 20 ++--- .../Experiment/Runners/RunnerUtil.cs | 7 +- .../Experiment/Runners/TrainValidateRunner.cs | 13 +--- .../SuggestedPipelineCrossValRunDetails.cs | 5 +- .../SuggestedPipelineRunDetails.cs | 5 +- .../SuggestedPipelineRunDetailsUtil.cs | 18 +++++ .../BinaryTrainerExtensions.cs | 44 +++++------ .../MultiTrainerExtensions.cs | 26 +++---- .../RegressionTrainerExtensions.cs | 40 +++++----- .../TrainerExtensions/TrainerExtensionUtil.cs | 10 +-- .../Utils/UserInputValidationUtil.cs | 36 ++++----- src/Samples/AdvancedTrainingSettings.cs | 11 +-- src/Samples/CrossValidation.cs | 12 +-- src/Samples/Helpers/ConsoleHelper.cs | 14 ++-- src/Samples/InferColumns.cs | 2 +- src/Test/AutoFitTests.cs | 4 +- src/Test/ColumnInferenceTests.cs | 48 ++++++------ src/Test/ColumnInformationUtilTests.cs | 14 ++-- src/Test/GetNextPipelineTests.cs | 4 +- src/Test/TrainerExtensionsTests.cs | 6 +- src/Test/UserInputValidationTests.cs | 18 ++--- .../ConsoleCodeGeneratorTests.cs | 4 +- src/mlnet/AutoML/AutoMLEngine.cs | 2 +- .../CodeGenerator/CSharp/CodeGenerator.cs | 2 +- .../CodeGenerator/CodeGenerationHelper.cs | 12 +-- src/mlnet/Utilities/ConsolePrinter.cs | 2 +- src/mlnet/Utilities/Utils.cs | 26 +++---- 32 files changed, 291 insertions(+), 256 deletions(-) create mode 100644 src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetailsUtil.cs diff --git a/src/Microsoft.ML.Auto/API/ColumnInference.cs b/src/Microsoft.ML.Auto/API/ColumnInference.cs index f01febe3d0..588116897d 100644 --- a/src/Microsoft.ML.Auto/API/ColumnInference.cs +++ b/src/Microsoft.ML.Auto/API/ColumnInference.cs @@ -16,12 +16,12 @@ public sealed class ColumnInferenceResults public sealed class ColumnInformation { - public string LabelColumn { get; set; } = DefaultColumnNames.Label; - public string ExampleWeightColumn { get; set; } - public string SamplingKeyColumn { get; set; } - public ICollection CategoricalColumns { get; } = new Collection(); - public ICollection NumericColumns { get; } = new Collection(); - public ICollection TextColumns { get; } = new Collection(); - public ICollection IgnoredColumns { get; } = new Collection(); + public string LabelColumnName { get; set; } = DefaultColumnNames.Label; + public string ExampleWeightColumnName { get; set; } + public string SamplingKeyColumnName { get; set; } + public ICollection CategoricalColumnNames { get; } = new Collection(); + public ICollection NumericColumnNames { get; } = new Collection(); + public ICollection TextColumnNames { get; } = new Collection(); + public ICollection IgnoredColumnNames { get; } = new Collection(); } } \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/API/ExperimentBase.cs b/src/Microsoft.ML.Auto/API/ExperimentBase.cs index 3f3c1dd18e..04af61ba56 100644 --- a/src/Microsoft.ML.Auto/API/ExperimentBase.cs +++ b/src/Microsoft.ML.Auto/API/ExperimentBase.cs @@ -37,8 +37,8 @@ public IEnumerable> Execute(IDataView trainData, string lab { var columnInformation = new ColumnInformation() { - LabelColumn = labelColumn, - SamplingKeyColumn = samplingKeyColumn + LabelColumnName = labelColumn, + SamplingKeyColumnName = samplingKeyColumn }; return Execute(trainData, columnInformation, preFeaturizers, progressHandler); } @@ -56,19 +56,19 @@ public IEnumerable> Execute(IDataView trainData, ColumnInfo if (rowCount < crossValRowCountThreshold) { const int numCrossValFolds = 10; - var splitResult = SplitUtil.CrossValSplit(Context, trainData, numCrossValFolds, columnInformation?.SamplingKeyColumn); + var splitResult = SplitUtil.CrossValSplit(Context, trainData, numCrossValFolds, columnInformation?.SamplingKeyColumnName); return ExecuteCrossValSummary(splitResult.trainDatasets, columnInformation, splitResult.validationDatasets, preFeaturizer, progressHandler); } else { - var splitResult = SplitUtil.TrainValidateSplit(Context, trainData, columnInformation?.SamplingKeyColumn); + var splitResult = SplitUtil.TrainValidateSplit(Context, trainData, columnInformation?.SamplingKeyColumnName); return ExecuteTrainValidate(splitResult.trainData, columnInformation, splitResult.validationData, preFeaturizer, progressHandler); } } public IEnumerable> Execute(IDataView trainData, IDataView validationData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizer = null, IProgress> progressHandler = null) { - var columnInformation = new ColumnInformation() { LabelColumn = labelColumn }; + var columnInformation = new ColumnInformation() { LabelColumnName = labelColumn }; return Execute(trainData, validationData, columnInformation, preFeaturizer, progressHandler); } @@ -76,31 +76,31 @@ public IEnumerable> Execute(IDataView trainData, IDataView { if (validationData == null) { - var splitResult = SplitUtil.TrainValidateSplit(Context, trainData, columnInformation?.SamplingKeyColumn); + var splitResult = SplitUtil.TrainValidateSplit(Context, trainData, columnInformation?.SamplingKeyColumnName); trainData = splitResult.trainData; validationData = splitResult.validationData; } return ExecuteTrainValidate(trainData, columnInformation, validationData, preFeaturizer, progressHandler); } - public IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizers = null, IProgress> progressHandler = null) + public IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizer = null, IProgress> progressHandler = null) { UserInputValidationUtil.ValidateNumberOfCVFoldsArg(numberOfCVFolds); - var splitResult = SplitUtil.CrossValSplit(Context, trainData, numberOfCVFolds, columnInformation?.SamplingKeyColumn); - return ExecuteCrossVal(splitResult.trainDatasets, columnInformation, splitResult.validationDatasets, preFeaturizers, progressHandler); + var splitResult = SplitUtil.CrossValSplit(Context, trainData, numberOfCVFolds, columnInformation?.SamplingKeyColumnName); + return ExecuteCrossVal(splitResult.trainDatasets, columnInformation, splitResult.validationDatasets, preFeaturizer, progressHandler); } public IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, string labelColumn = DefaultColumnNames.Label, - string samplingKeyColumn = null, IEstimator preFeaturizers = null, + string samplingKeyColumn = null, IEstimator preFeaturizer = null, Progress> progressHandler = null) { var columnInformation = new ColumnInformation() { - LabelColumn = labelColumn, - SamplingKeyColumn = samplingKeyColumn + LabelColumnName = labelColumn, + SamplingKeyColumnName = samplingKeyColumn }; - return Execute(trainData, numberOfCVFolds, columnInformation, preFeaturizers, progressHandler); + return Execute(trainData, numberOfCVFolds, columnInformation, preFeaturizer, progressHandler); } private IEnumerable> ExecuteTrainValidate(IDataView trainData, @@ -111,8 +111,18 @@ private IEnumerable> ExecuteTrainValidate(IDataView trainDa { columnInfo = columnInfo ?? new ColumnInformation(); UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, columnInfo, validationData); - var runner = new TrainValidateRunner(Context, trainData, validationData, columnInfo.LabelColumn, _metricsAgent, - preFeaturizer, _settings.DebugLogger); + + // Apply pre-featurizer + ITransformer preprocessorTransform = null; + if (preFeaturizer != null) + { + preprocessorTransform = preFeaturizer.Fit(trainData); + trainData = preprocessorTransform.Transform(trainData); + validationData = preprocessorTransform.Transform(validationData); + } + + var runner = new TrainValidateRunner(Context, trainData, validationData, columnInfo.LabelColumnName, _metricsAgent, + preFeaturizer, preprocessorTransform, _settings.DebugLogger); var columns = DatasetColumnInfoUtil.GetDatasetColumnInfo(Context, trainData, columnInfo); return Execute(columnInfo, columns, preFeaturizer, progressHandler, runner); } @@ -125,8 +135,13 @@ private IEnumerable> ExecuteCrossVal(IDataVi { columnInfo = columnInfo ?? new ColumnInformation(); UserInputValidationUtil.ValidateExperimentExecuteArgs(trainDatasets[0], columnInfo, validationDatasets[0]); - var runner = new CrossValRunner(Context, trainDatasets, validationDatasets, _metricsAgent, preFeaturizer, - columnInfo.LabelColumn, _settings.DebugLogger); + + // Apply pre-featurizer + ITransformer[] preprocessorTransforms = null; + (trainDatasets, validationDatasets, preprocessorTransforms) = ApplyPreFeaturizerCrossVal(trainDatasets, validationDatasets, preFeaturizer); + + var runner = new CrossValRunner(Context, trainDatasets, validationDatasets, _metricsAgent, preFeaturizer, + preprocessorTransforms, columnInfo.LabelColumnName, _settings.DebugLogger); var columns = DatasetColumnInfoUtil.GetDatasetColumnInfo(Context, trainDatasets[0], columnInfo); return Execute(columnInfo, columns, preFeaturizer, progressHandler, runner); } @@ -139,8 +154,13 @@ private IEnumerable> ExecuteCrossValSummary(IDataView[] tra { columnInfo = columnInfo ?? new ColumnInformation(); UserInputValidationUtil.ValidateExperimentExecuteArgs(trainDatasets[0], columnInfo, validationDatasets[0]); + + // Apply pre-featurizer + ITransformer[] preprocessorTransforms = null; + (trainDatasets, validationDatasets, preprocessorTransforms) = ApplyPreFeaturizerCrossVal(trainDatasets, validationDatasets, preFeaturizer); + var runner = new CrossValSummaryRunner(Context, trainDatasets, validationDatasets, _metricsAgent, preFeaturizer, - columnInfo.LabelColumn, _optimizingMetricInfo, _settings.DebugLogger); + preprocessorTransforms, columnInfo.LabelColumnName, _optimizingMetricInfo, _settings.DebugLogger); var columns = DatasetColumnInfoUtil.GetDatasetColumnInfo(Context, trainDatasets[0], columnInfo); return Execute(columnInfo, columns, preFeaturizer, progressHandler, runner); } @@ -158,5 +178,25 @@ private IEnumerable Execute(ColumnInformation columnIn return experiment.Execute(); } + + private static (IDataView[] trainDatasets, IDataView[] validDatasets, ITransformer[] preprocessorTransforms) + ApplyPreFeaturizerCrossVal(IDataView[] trainDatasets, IDataView[] validDatasets, IEstimator preFeaturizer) + { + if (preFeaturizer == null) + { + return (trainDatasets, validDatasets, null); + } + + var preprocessorTransforms = new ITransformer[trainDatasets.Length]; + for (var i = 0; i < trainDatasets.Length; i++) + { + // Preprocess train and validation data + preprocessorTransforms[i] = preFeaturizer.Fit(trainDatasets[i]); + trainDatasets[i] = preprocessorTransforms[i].Transform(trainDatasets[i]); + validDatasets[i] = preprocessorTransforms[i].Transform(validDatasets[i]); + } + + return (trainDatasets, validDatasets, preprocessorTransforms); + } } } diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs index f691887cae..6db0fab782 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInferenceApi.cs @@ -24,7 +24,7 @@ public static ColumnInferenceResults InferColumns(MLContext context, string path typeInference.Columns[labelColumnIndex].SuggestedName = DefaultColumnNames.Label; } - var columnInfo = new ColumnInformation() { LabelColumn = typeInference.Columns[labelColumnIndex].SuggestedName }; + var columnInfo = new ColumnInformation() { LabelColumnName = typeInference.Columns[labelColumnIndex].SuggestedName }; return InferColumns(context, path, columnInfo, hasHeader, splitInference, typeInference, trimWhitespace, groupColumns); } @@ -32,7 +32,7 @@ public static ColumnInferenceResults InferColumns(MLContext context, string path public static ColumnInferenceResults InferColumns(MLContext context, string path, string labelColumn, char? separatorChar, bool? allowQuotedStrings, bool? supportSparse, bool trimWhitespace, bool groupColumns) { - var columnInfo = new ColumnInformation() { LabelColumn = labelColumn }; + var columnInfo = new ColumnInformation() { LabelColumnName = labelColumn }; return InferColumns(context, path, columnInfo, separatorChar, allowQuotedStrings, supportSparse, trimWhitespace, groupColumns); } @@ -41,7 +41,7 @@ public static ColumnInferenceResults InferColumns(MLContext context, string path { var sample = TextFileSample.CreateFromFullFile(path); var splitInference = InferSplit(context, sample, separatorChar, allowQuotedStrings, supportSparse); - var typeInference = InferColumnTypes(context, sample, splitInference, true, null, columnInfo.LabelColumn); + var typeInference = InferColumnTypes(context, sample, splitInference, true, null, columnInfo.LabelColumnName); return InferColumns(context, path, columnInfo, true, splitInference, typeInference, trimWhitespace, groupColumns); } diff --git a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs index ba8a9fda59..c567730f6f 100644 --- a/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs +++ b/src/Microsoft.ML.Auto/ColumnInference/ColumnInformationUtil.cs @@ -12,37 +12,37 @@ internal static class ColumnInformationUtil { internal static ColumnPurpose? GetColumnPurpose(this ColumnInformation columnInfo, string columnName) { - if (columnName == columnInfo.LabelColumn) + if (columnName == columnInfo.LabelColumnName) { return ColumnPurpose.Label; } - if (columnName == columnInfo.ExampleWeightColumn) + if (columnName == columnInfo.ExampleWeightColumnName) { return ColumnPurpose.Weight; } - if (columnName == columnInfo.SamplingKeyColumn) + if (columnName == columnInfo.SamplingKeyColumnName) { return ColumnPurpose.SamplingKey; } - if (columnInfo.CategoricalColumns.Contains(columnName)) + if (columnInfo.CategoricalColumnNames.Contains(columnName)) { return ColumnPurpose.CategoricalFeature; } - if (columnInfo.NumericColumns.Contains(columnName)) + if (columnInfo.NumericColumnNames.Contains(columnName)) { return ColumnPurpose.NumericFeature; } - if (columnInfo.TextColumns.Contains(columnName)) + if (columnInfo.TextColumnNames.Contains(columnName)) { return ColumnPurpose.TextFeature; } - if (columnInfo.IgnoredColumns.Contains(columnName)) + if (columnInfo.IgnoredColumnNames.Contains(columnName)) { return ColumnPurpose.Ignore; } @@ -59,25 +59,25 @@ internal static ColumnInformation BuildColumnInfo(IEnumerable<(string name, Colu switch (column.purpose) { case ColumnPurpose.Label: - columnInfo.LabelColumn = column.name; + columnInfo.LabelColumnName = column.name; break; case ColumnPurpose.Weight: - columnInfo.ExampleWeightColumn = column.name; + columnInfo.ExampleWeightColumnName = column.name; break; case ColumnPurpose.SamplingKey: - columnInfo.SamplingKeyColumn = column.name; + columnInfo.SamplingKeyColumnName = column.name; break; case ColumnPurpose.CategoricalFeature: - columnInfo.CategoricalColumns.Add(column.name); + columnInfo.CategoricalColumnNames.Add(column.name); break; case ColumnPurpose.Ignore: - columnInfo.IgnoredColumns.Add(column.name); + columnInfo.IgnoredColumnNames.Add(column.name); break; case ColumnPurpose.NumericFeature: - columnInfo.NumericColumns.Add(column.name); + columnInfo.NumericColumnNames.Add(column.name); break; case ColumnPurpose.TextFeature: - columnInfo.TextColumns.Add(column.name); + columnInfo.TextColumnNames.Add(column.name); break; } } diff --git a/src/Microsoft.ML.Auto/Experiment/Runners/CrossValRunner.cs b/src/Microsoft.ML.Auto/Experiment/Runners/CrossValRunner.cs index f3595d39f8..9df515450d 100644 --- a/src/Microsoft.ML.Auto/Experiment/Runners/CrossValRunner.cs +++ b/src/Microsoft.ML.Auto/Experiment/Runners/CrossValRunner.cs @@ -26,6 +26,7 @@ public CrossValRunner(MLContext context, IDataView[] validDatasets, IMetricsAgent metricsAgent, IEstimator preFeaturizer, + ITransformer[] preprocessorTransforms, string labelColumn, IDebugLogger logger) { @@ -34,21 +35,10 @@ public CrossValRunner(MLContext context, _validDatasets = validDatasets; _metricsAgent = metricsAgent; _preFeaturizer = preFeaturizer; + _preprocessorTransforms = preprocessorTransforms; _labelColumn = labelColumn; _logger = logger; _modelInputSchema = trainDatasets[0].Schema; - - if (_preFeaturizer != null) - { - _preprocessorTransforms = new ITransformer[_trainDatasets.Length]; - for (var i = 0; i < _trainDatasets.Length; i++) - { - // Preprocess train and validation data - _preprocessorTransforms[i] = _preFeaturizer.Fit(_trainDatasets[i]); - _trainDatasets[i] = _preprocessorTransforms[i].Transform(_trainDatasets[i]); - _validDatasets[i] = _preprocessorTransforms[i].Transform(_validDatasets[i]); - } - } } public (SuggestedPipelineRunDetails suggestedPipelineRunDetails, CrossValidationRunDetails runDetails) @@ -60,7 +50,7 @@ public CrossValRunner(MLContext context, { var modelFileInfo = RunnerUtil.GetModelFileInfo(modelDirectory, iterationNum, i + 1); var trainResult = RunnerUtil.TrainAndScorePipeline(_context, pipeline, _trainDatasets[i], _validDatasets[i], - _labelColumn, _metricsAgent, _preFeaturizer, _preprocessorTransforms?[i], modelFileInfo, _modelInputSchema, _logger); + _labelColumn, _metricsAgent, _preprocessorTransforms?[i], modelFileInfo, _modelInputSchema, _logger); trainResults.Add(new SuggestedPipelineTrainResult(trainResult.model, trainResult.metrics, trainResult.exception, trainResult.score)); } @@ -68,7 +58,7 @@ public CrossValRunner(MLContext context, var allRunsSucceeded = trainResults.All(r => r.Exception == null); var suggestedPipelineRunDetails = new SuggestedPipelineCrossValRunDetails(pipeline, avgScore, allRunsSucceeded, trainResults); - var runDetails = suggestedPipelineRunDetails.ToIterationResult(); + var runDetails = suggestedPipelineRunDetails.ToIterationResult(_preFeaturizer); return (suggestedPipelineRunDetails, runDetails); } diff --git a/src/Microsoft.ML.Auto/Experiment/Runners/CrossValSummaryRunner.cs b/src/Microsoft.ML.Auto/Experiment/Runners/CrossValSummaryRunner.cs index 2b60bb99eb..b645a4603c 100644 --- a/src/Microsoft.ML.Auto/Experiment/Runners/CrossValSummaryRunner.cs +++ b/src/Microsoft.ML.Auto/Experiment/Runners/CrossValSummaryRunner.cs @@ -28,6 +28,7 @@ public CrossValSummaryRunner(MLContext context, IDataView[] validDatasets, IMetricsAgent metricsAgent, IEstimator preFeaturizer, + ITransformer[] preprocessorTransforms, string labelColumn, OptimizingMetricInfo optimizingMetricInfo, IDebugLogger logger) @@ -37,22 +38,11 @@ public CrossValSummaryRunner(MLContext context, _validDatasets = validDatasets; _metricsAgent = metricsAgent; _preFeaturizer = preFeaturizer; + _preprocessorTransforms = preprocessorTransforms; _labelColumn = labelColumn; _optimizingMetricInfo = optimizingMetricInfo; _logger = logger; _modelInputSchema = trainDatasets[0].Schema; - - if (_preFeaturizer != null) - { - _preprocessorTransforms = new ITransformer[_trainDatasets.Length]; - for (var i = 0; i < _trainDatasets.Length; i++) - { - // preprocess train and validation data - _preprocessorTransforms[i] = _preFeaturizer.Fit(_trainDatasets[i]); - _trainDatasets[i] = _preprocessorTransforms[i].Transform(_trainDatasets[i]); - _validDatasets[i] = _preprocessorTransforms[i].Transform(_validDatasets[i]); - } - } } public (SuggestedPipelineRunDetails suggestedPipelineRunDetails, RunDetails runDetails) @@ -64,7 +54,7 @@ public CrossValSummaryRunner(MLContext context, { var modelFileInfo = RunnerUtil.GetModelFileInfo(modelDirectory, iterationNum, i + 1); var trainResult = RunnerUtil.TrainAndScorePipeline(_context, pipeline, _trainDatasets[i], _validDatasets[i], - _labelColumn, _metricsAgent, _preFeaturizer, _preprocessorTransforms?.ElementAt(i), modelFileInfo, _modelInputSchema, + _labelColumn, _metricsAgent, _preprocessorTransforms?.ElementAt(i), modelFileInfo, _modelInputSchema, _logger); trainResults.Add(trainResult); } @@ -74,7 +64,7 @@ public CrossValSummaryRunner(MLContext context, { var firstException = trainResults.First(r => r.exception != null).exception; var errorRunDetails = new SuggestedPipelineRunDetails(pipeline, double.NaN, false, null, null, firstException); - return (errorRunDetails, errorRunDetails.ToIterationResult()); + return (errorRunDetails, errorRunDetails.ToIterationResult(_preFeaturizer)); } // Get the model from the best fold @@ -88,7 +78,7 @@ public CrossValSummaryRunner(MLContext context, // Build result objects var suggestedPipelineRunDetails = new SuggestedPipelineRunDetails(pipeline, avgScore, allRunsSucceeded, metricsClosestToAvg, bestModel, null); - var runDetails = suggestedPipelineRunDetails.ToIterationResult(); + var runDetails = suggestedPipelineRunDetails.ToIterationResult(_preFeaturizer); return (suggestedPipelineRunDetails, runDetails); } diff --git a/src/Microsoft.ML.Auto/Experiment/Runners/RunnerUtil.cs b/src/Microsoft.ML.Auto/Experiment/Runners/RunnerUtil.cs index ccb52e0971..8f80ce29db 100644 --- a/src/Microsoft.ML.Auto/Experiment/Runners/RunnerUtil.cs +++ b/src/Microsoft.ML.Auto/Experiment/Runners/RunnerUtil.cs @@ -16,7 +16,6 @@ public static (ModelContainer model, TMetrics metrics, Exception exception, doub IDataView validData, string labelColumn, IMetricsAgent metricsAgent, - IEstimator preFeaturizer, ITransformer preprocessorTransform, FileInfo modelFileInfo, DataViewSchema modelInputSchema, @@ -30,11 +29,9 @@ public static (ModelContainer model, TMetrics metrics, Exception exception, doub var scoredData = model.Transform(validData); var metrics = metricsAgent.EvaluateMetrics(scoredData, labelColumn); var score = metricsAgent.GetScore(metrics); - - estimator = pipeline.ToEstimator(); - if (preFeaturizer != null) + + if (preprocessorTransform != null) { - estimator = preFeaturizer.Append(estimator); model = preprocessorTransform.Append(model); } diff --git a/src/Microsoft.ML.Auto/Experiment/Runners/TrainValidateRunner.cs b/src/Microsoft.ML.Auto/Experiment/Runners/TrainValidateRunner.cs index 470ebfbaba..acb1f5e1ad 100644 --- a/src/Microsoft.ML.Auto/Experiment/Runners/TrainValidateRunner.cs +++ b/src/Microsoft.ML.Auto/Experiment/Runners/TrainValidateRunner.cs @@ -25,6 +25,7 @@ public TrainValidateRunner(MLContext context, string labelColumn, IMetricsAgent metricsAgent, IEstimator preFeaturizer, + ITransformer preprocessorTransform, IDebugLogger logger) { _context = context; @@ -33,15 +34,9 @@ public TrainValidateRunner(MLContext context, _labelColumn = labelColumn; _metricsAgent = metricsAgent; _preFeaturizer = preFeaturizer; + _preprocessorTransform = preprocessorTransform; _logger = logger; _modelInputSchema = trainData.Schema; - - if (_preFeaturizer != null) - { - _preprocessorTransform = _preFeaturizer.Fit(_trainData); - _trainData = _preprocessorTransform.Transform(_trainData); - _validData = _preprocessorTransform.Transform(_validData); - } } public (SuggestedPipelineRunDetails suggestedPipelineRunDetails, RunDetails runDetails) @@ -49,14 +44,14 @@ public TrainValidateRunner(MLContext context, { var modelFileInfo = GetModelFileInfo(modelDirectory, iterationNum); var trainResult = RunnerUtil.TrainAndScorePipeline(_context, pipeline, _trainData, _validData, - _labelColumn, _metricsAgent, _preFeaturizer, _preprocessorTransform, modelFileInfo, _modelInputSchema, _logger); + _labelColumn, _metricsAgent, _preprocessorTransform, modelFileInfo, _modelInputSchema, _logger); var suggestedPipelineRunDetails = new SuggestedPipelineRunDetails(pipeline, trainResult.score, trainResult.exception == null, trainResult.metrics, trainResult.model, trainResult.exception); - var runDetails = suggestedPipelineRunDetails.ToIterationResult(); + var runDetails = suggestedPipelineRunDetails.ToIterationResult(_preFeaturizer); return (suggestedPipelineRunDetails, runDetails); } diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineCrossValRunDetails.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineCrossValRunDetails.cs index c798c5ec99..e90509f4e2 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineCrossValRunDetails.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineCrossValRunDetails.cs @@ -44,9 +44,10 @@ internal SuggestedPipelineCrossValRunDetails(SuggestedPipeline pipeline, Results = results; } - public CrossValidationRunDetails ToIterationResult() + public CrossValidationRunDetails ToIterationResult(IEstimator preFeaturizer) { - return new CrossValidationRunDetails(Pipeline.Trainer.TrainerName.ToString(), Pipeline.ToEstimator(), + var estimator = SuggestedPipelineRunDetailsUtil.PrependPreFeaturizer(Pipeline.ToEstimator(), preFeaturizer); + return new CrossValidationRunDetails(Pipeline.Trainer.TrainerName.ToString(), estimator, Pipeline.ToPipeline(), Results.Select(r => r.ToTrainResult())); } } diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetails.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetails.cs index 9df5e1c1c1..be9ce4e09d 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetails.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetails.cs @@ -48,9 +48,10 @@ internal SuggestedPipelineRunDetails(SuggestedPipeline pipeline, Exception = ex; } - public RunDetails ToIterationResult() + public RunDetails ToIterationResult(IEstimator preFeaturizer) { - return new RunDetails(Pipeline.Trainer.TrainerName.ToString(), Pipeline.ToEstimator(), + var estimator = SuggestedPipelineRunDetailsUtil.PrependPreFeaturizer(Pipeline.ToEstimator(), preFeaturizer); + return new RunDetails(Pipeline.Trainer.TrainerName.ToString(), estimator, Pipeline.ToPipeline(), ModelContainer, ValidationMetrics, Exception); } } diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetailsUtil.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetailsUtil.cs new file mode 100644 index 0000000000..d2b08f1cfc --- /dev/null +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetailsUtil.cs @@ -0,0 +1,18 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.ML.Auto +{ + internal static class SuggestedPipelineRunDetailsUtil + { + public static IEstimator PrependPreFeaturizer(IEstimator estimator, IEstimator preFeaturizer) + { + if (preFeaturizer == null) + { + return estimator; + } + return preFeaturizer.Append(estimator); + } + } +} diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs index f49ea72051..d2fd72a673 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/BinaryTrainerExtensions.cs @@ -31,11 +31,11 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable(sweepParams, columnInfo.LabelColumn); + options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); if (!sweepParams.Any(p => p.Name == "NumberOfIterations")) { options.NumberOfIterations = DefaultNumIterations; @@ -57,7 +57,7 @@ public PipelineNode CreatePipelineNode(IEnumerable sweepParams, } return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, additionalProperties: additionalProperties); + columnInfo.LabelColumnName, additionalProperties: additionalProperties); } } @@ -71,15 +71,15 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumnName; return mlContext.BinaryClassification.Trainers.FastForest(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); + columnInfo.LabelColumnName, columnInfo.ExampleWeightColumnName); } } @@ -93,15 +93,15 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumnName; return mlContext.BinaryClassification.Trainers.FastTree(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); + columnInfo.LabelColumnName, columnInfo.ExampleWeightColumnName); } } @@ -122,7 +122,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildLightGbmPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); + columnInfo.LabelColumnName, columnInfo.ExampleWeightColumnName); } } @@ -136,14 +136,14 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); return mlContext.BinaryClassification.Trainers.LinearSvm(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn); + columnInfo.LabelColumnName); } } @@ -157,14 +157,14 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); return mlContext.BinaryClassification.Trainers.SdcaLogisticRegression(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn); + columnInfo.LabelColumnName); } } @@ -178,15 +178,15 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumnName; return mlContext.BinaryClassification.Trainers.LbfgsLogisticRegression(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); + columnInfo.LabelColumnName, columnInfo.ExampleWeightColumnName); } } @@ -200,15 +200,15 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumnName; return mlContext.BinaryClassification.Trainers.SgdCalibrated(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); + columnInfo.LabelColumnName, columnInfo.ExampleWeightColumnName); } } @@ -222,14 +222,14 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); return mlContext.BinaryClassification.Trainers.SymbolicSgdLogisticRegression(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn); + columnInfo.LabelColumnName); } } } diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs index badf2e7349..8d8bdcf728 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/MultiTrainerExtensions.cs @@ -25,7 +25,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -47,7 +47,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -73,7 +73,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildLightGbmPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); + columnInfo.LabelColumnName, columnInfo.ExampleWeightColumnName); } } @@ -90,7 +90,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -109,14 +109,14 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); return mlContext.MulticlassClassification.Trainers.SdcaMaximumEntropy(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn); + columnInfo.LabelColumnName); } } @@ -133,7 +133,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -155,7 +155,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -177,7 +177,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -199,7 +199,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) @@ -218,15 +218,15 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumnName; return mlContext.MulticlassClassification.Trainers.LbfgsMaximumEntropy(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); + columnInfo.LabelColumnName, columnInfo.ExampleWeightColumnName); } } } \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs b/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs index 3398655569..5995e448a2 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/RegressionTrainerExtensions.cs @@ -22,15 +22,15 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumnName; return mlContext.Regression.Trainers.FastForest(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); + columnInfo.LabelColumnName, columnInfo.ExampleWeightColumnName); } } @@ -44,15 +44,15 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumnName; return mlContext.Regression.Trainers.FastTree(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); + columnInfo.LabelColumnName, columnInfo.ExampleWeightColumnName); } } @@ -66,15 +66,15 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumnName; return mlContext.Regression.Trainers.FastTreeTweedie(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); + columnInfo.LabelColumnName, columnInfo.ExampleWeightColumnName); } } @@ -95,7 +95,7 @@ public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildLightGbmPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); + columnInfo.LabelColumnName, columnInfo.ExampleWeightColumnName); } } @@ -109,14 +109,14 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); return mlContext.Regression.Trainers.OnlineGradientDescent(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn); + columnInfo.LabelColumnName); } } @@ -130,15 +130,15 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumnName; return mlContext.Regression.Trainers.Ols(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); + columnInfo.LabelColumnName, columnInfo.ExampleWeightColumnName); } } @@ -152,15 +152,15 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); - options.ExampleWeightColumnName = columnInfo.ExampleWeightColumn; + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); + options.ExampleWeightColumnName = columnInfo.ExampleWeightColumnName; return mlContext.Regression.Trainers.LbfgsPoissonRegression(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn, columnInfo.ExampleWeightColumn); + columnInfo.LabelColumnName, columnInfo.ExampleWeightColumnName); } } @@ -174,14 +174,14 @@ public IEnumerable GetHyperparamSweepRanges() public ITrainerEstimator CreateInstance(MLContext mlContext, IEnumerable sweepParams, ColumnInformation columnInfo) { - var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumn); + var options = TrainerExtensionUtil.CreateOptions(sweepParams, columnInfo.LabelColumnName); return mlContext.Regression.Trainers.Sdca(options); } public PipelineNode CreatePipelineNode(IEnumerable sweepParams, ColumnInformation columnInfo) { return TrainerExtensionUtil.BuildPipelineNode(TrainerExtensionCatalog.GetTrainerName(this), sweepParams, - columnInfo.LabelColumn); + columnInfo.LabelColumnName); } } } \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs index 0cb50df594..213d555545 100644 --- a/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs +++ b/src/Microsoft.ML.Auto/TrainerExtensions/TrainerExtensionUtil.cs @@ -69,8 +69,8 @@ public static TOptions CreateLightGbmOptions() { - { LabelColumn, columnInfo.LabelColumn } + { LabelColumn, columnInfo.LabelColumnName } } }; var binaryNode = binaryExtension.CreatePipelineNode(sweepParams, columnInfo); @@ -190,10 +190,10 @@ public static ColumnInformation BuildColumnInfo(IDictionary prop { var columnInfo = new ColumnInformation(); - columnInfo.LabelColumn = props[LabelColumn] as string; + columnInfo.LabelColumnName = props[LabelColumn] as string; props.TryGetValue(WeightColumn, out var weightColumn); - columnInfo.ExampleWeightColumn = weightColumn as string; + columnInfo.ExampleWeightColumnName = weightColumn as string; return columnInfo; } diff --git a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs index c9a32ffa59..eddd143b37 100644 --- a/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/UserInputValidationUtil.cs @@ -71,35 +71,35 @@ private static void ValidateTrainData(IDataView trainData) private static void ValidateColumnInformation(IDataView trainData, ColumnInformation columnInformation) { ValidateColumnInformation(columnInformation); - ValidateTrainDataColumn(trainData, columnInformation.LabelColumn, LabelColumnPurposeName); - ValidateTrainDataColumn(trainData, columnInformation.ExampleWeightColumn, WeightColumnPurposeName); - ValidateTrainDataColumn(trainData, columnInformation.SamplingKeyColumn, SamplingKeyColumnPurposeName); - ValidateTrainDataColumns(trainData, columnInformation.CategoricalColumns, CategoricalColumnPurposeName, + ValidateTrainDataColumn(trainData, columnInformation.LabelColumnName, LabelColumnPurposeName); + ValidateTrainDataColumn(trainData, columnInformation.ExampleWeightColumnName, WeightColumnPurposeName); + ValidateTrainDataColumn(trainData, columnInformation.SamplingKeyColumnName, SamplingKeyColumnPurposeName); + ValidateTrainDataColumns(trainData, columnInformation.CategoricalColumnNames, CategoricalColumnPurposeName, new DataViewType[] { NumberDataViewType.Single, TextDataViewType.Instance }); - ValidateTrainDataColumns(trainData, columnInformation.NumericColumns, NumericColumnPurposeName, + ValidateTrainDataColumns(trainData, columnInformation.NumericColumnNames, NumericColumnPurposeName, new DataViewType[] { NumberDataViewType.Single, BooleanDataViewType.Instance }); - ValidateTrainDataColumns(trainData, columnInformation.TextColumns, TextColumnPurposeName, + ValidateTrainDataColumns(trainData, columnInformation.TextColumnNames, TextColumnPurposeName, new DataViewType[] { TextDataViewType.Instance }); - ValidateTrainDataColumns(trainData, columnInformation.IgnoredColumns, IgnoredColumnPurposeName); + ValidateTrainDataColumns(trainData, columnInformation.IgnoredColumnNames, IgnoredColumnPurposeName); } private static void ValidateColumnInformation(ColumnInformation columnInformation) { - ValidateLabelColumn(columnInformation.LabelColumn); + ValidateLabelColumn(columnInformation.LabelColumnName); - ValidateColumnInfoEnumerationProperty(columnInformation.CategoricalColumns, CategoricalColumnPurposeName); - ValidateColumnInfoEnumerationProperty(columnInformation.NumericColumns, NumericColumnPurposeName); - ValidateColumnInfoEnumerationProperty(columnInformation.TextColumns, TextColumnPurposeName); - ValidateColumnInfoEnumerationProperty(columnInformation.IgnoredColumns, IgnoredColumnPurposeName); + ValidateColumnInfoEnumerationProperty(columnInformation.CategoricalColumnNames, CategoricalColumnPurposeName); + ValidateColumnInfoEnumerationProperty(columnInformation.NumericColumnNames, NumericColumnPurposeName); + ValidateColumnInfoEnumerationProperty(columnInformation.TextColumnNames, TextColumnPurposeName); + ValidateColumnInfoEnumerationProperty(columnInformation.IgnoredColumnNames, IgnoredColumnPurposeName); // keep a list of all columns, to detect duplicates var allColumns = new List(); - allColumns.Add(columnInformation.LabelColumn); - if (columnInformation.ExampleWeightColumn != null) { allColumns.Add(columnInformation.ExampleWeightColumn); } - if (columnInformation.CategoricalColumns != null) { allColumns.AddRange(columnInformation.CategoricalColumns); } - if (columnInformation.NumericColumns != null) { allColumns.AddRange(columnInformation.NumericColumns); } - if (columnInformation.TextColumns != null) { allColumns.AddRange(columnInformation.TextColumns); } - if (columnInformation.IgnoredColumns != null) { allColumns.AddRange(columnInformation.IgnoredColumns); } + allColumns.Add(columnInformation.LabelColumnName); + if (columnInformation.ExampleWeightColumnName != null) { allColumns.Add(columnInformation.ExampleWeightColumnName); } + if (columnInformation.CategoricalColumnNames != null) { allColumns.AddRange(columnInformation.CategoricalColumnNames); } + if (columnInformation.NumericColumnNames != null) { allColumns.AddRange(columnInformation.NumericColumnNames); } + if (columnInformation.TextColumnNames != null) { allColumns.AddRange(columnInformation.TextColumnNames); } + if (columnInformation.IgnoredColumnNames != null) { allColumns.AddRange(columnInformation.IgnoredColumnNames); } var duplicateColName = FindFirstDuplicate(allColumns); if (duplicateColName != null) diff --git a/src/Samples/AdvancedTrainingSettings.cs b/src/Samples/AdvancedTrainingSettings.cs index 77fa8bc8fc..27ec1d63ee 100644 --- a/src/Samples/AdvancedTrainingSettings.cs +++ b/src/Samples/AdvancedTrainingSettings.cs @@ -48,19 +48,20 @@ public static void Run() IDataView testDataView = textLoader.Load(TestDataPath); // STEP 3: Build a pre-featurizer for use in our AutoML experiment - IEstimator preFeaturizer = mlContext.Transforms.Categorical.OneHotEncoding("RateCode"); + IEstimator preFeaturizer = mlContext.Transforms.Conversion.MapValue("IsCash", + new[] { new KeyValuePair("CSH", true) }, "PaymentType"); // STEP 4: Initialize custom column information for use in AutoML experiment - ColumnInformation columnInformation = new ColumnInformation() { LabelColumn = LabelColumn }; - columnInformation.CategoricalColumns.Add("VendorId"); - columnInformation.IgnoredColumns.Add("PaymentType"); + ColumnInformation columnInformation = new ColumnInformation() { LabelColumnName = LabelColumn }; + columnInformation.CategoricalColumnNames.Add("VendorId"); + columnInformation.IgnoredColumnNames.Add("PaymentType"); // STEP 5: Run AutoML experiment Console.WriteLine($"Running AutoML regression experiment for {ExperimentTime} seconds..."); IEnumerable> runDetails = mlContext.Auto() .CreateRegressionExperiment(ExperimentTime) .Execute(trainDataView, columnInformation, preFeaturizer); - + // STEP 6: Print metric from best model RunDetails best = runDetails.Best(); Console.WriteLine($"Total models produced: {runDetails.Count()}"); diff --git a/src/Samples/CrossValidation.cs b/src/Samples/CrossValidation.cs index a9bef2b123..e7a9988e30 100644 --- a/src/Samples/CrossValidation.cs +++ b/src/Samples/CrossValidation.cs @@ -52,14 +52,16 @@ public static void Run() IEnumerable> runDetails = mlContext.Auto() .CreateRegressionExperiment(ExperimentTime) .Execute(trainDataView, 5, LabelColumn); - - // Get best fold from cross validation - - // STEP 4: Print metrics summary from best model + + // STEP 4: Print metrics from best iteration CrossValidationRunDetails best = runDetails.Best(); Console.WriteLine($"Total models produced: {runDetails.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); - Console.WriteLine($"Average RSquared of all cross validation folds on best iteration: {best.Results.Average(r => r.ValidationMetrics.RSquared)}"); + for (var i = 0; i < best.Results.Count(); i++) + { + Console.WriteLine($"RSquared from cross validation fold #{i+1}: {best.Results.ElementAt(i).ValidationMetrics.RSquared}"); + } + Console.WriteLine($"Average RSquared from all cross validation folds: {best.Results.Average(r => r.ValidationMetrics.RSquared)}"); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); diff --git a/src/Samples/Helpers/ConsoleHelper.cs b/src/Samples/Helpers/ConsoleHelper.cs index 2a97c6fc9d..dec4fbbe91 100644 --- a/src/Samples/Helpers/ConsoleHelper.cs +++ b/src/Samples/Helpers/ConsoleHelper.cs @@ -103,13 +103,13 @@ public void Print() // add column data var info = _results.ColumnInformation; - AppendTableRow(tableRows, info.LabelColumn, "Label"); - AppendTableRow(tableRows, info.ExampleWeightColumn, "Weight"); - AppendTableRow(tableRows, info.SamplingKeyColumn, "Sampling Key"); - AppendTableRows(tableRows, info.CategoricalColumns, "Categorical"); - AppendTableRows(tableRows, info.NumericColumns, "Numeric"); - AppendTableRows(tableRows, info.TextColumns, "Text"); - AppendTableRows(tableRows, info.IgnoredColumns, "Ignored"); + AppendTableRow(tableRows, info.LabelColumnName, "Label"); + AppendTableRow(tableRows, info.ExampleWeightColumnName, "Weight"); + AppendTableRow(tableRows, info.SamplingKeyColumnName, "Sampling Key"); + AppendTableRows(tableRows, info.CategoricalColumnNames, "Categorical"); + AppendTableRows(tableRows, info.NumericColumnNames, "Numeric"); + AppendTableRows(tableRows, info.TextColumnNames, "Text"); + AppendTableRows(tableRows, info.IgnoredColumnNames, "Ignored"); Console.WriteLine(ConsoleHelper.BuildStringTable(tableRows)); } diff --git a/src/Samples/InferColumns.cs b/src/Samples/InferColumns.cs index 74bb37abdb..e619c3fded 100644 --- a/src/Samples/InferColumns.cs +++ b/src/Samples/InferColumns.cs @@ -39,7 +39,7 @@ public static void Run() Console.WriteLine($"Running AutoML regression experiment for {ExperimentTime} seconds..."); IEnumerable> runDetails = mlContext.Auto() .CreateRegressionExperiment(ExperimentTime) - .Execute(trainDataView, LabelColumn); + .Execute(trainDataView, columnInference.ColumnInformation); // STEP 4: Print metric from best model RunDetails best = runDetails.Best(); diff --git a/src/Test/AutoFitTests.cs b/src/Test/AutoFitTests.cs index cca848bced..cef86d8557 100644 --- a/src/Test/AutoFitTests.cs +++ b/src/Test/AutoFitTests.cs @@ -21,7 +21,7 @@ public void AutoFitBinaryTest() var trainData = textLoader.Load(dataPath); var results = context.Auto() .CreateBinaryClassificationExperiment(0) - .Execute(trainData, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); + .Execute(trainData, new ColumnInformation() { LabelColumnName = DatasetUtil.UciAdultLabel }); var best = results.Best(); Assert.IsTrue(best.ValidationMetrics.Accuracy > 0.70); Assert.IsNotNull(best.Estimator); @@ -58,7 +58,7 @@ public void AutoFitRegressionTest() var results = context.Auto() .CreateRegressionExperiment(0) .Execute(trainData, validationData, - new ColumnInformation() { LabelColumn = DatasetUtil.MlNetGeneratedRegressionLabel }); + new ColumnInformation() { LabelColumnName = DatasetUtil.MlNetGeneratedRegressionLabel }); Assert.IsTrue(results.Max(i => i.ValidationMetrics.RSquared > 0.9)); } diff --git a/src/Test/ColumnInferenceTests.cs b/src/Test/ColumnInferenceTests.cs index 6c100f83f0..be6e7be4f6 100644 --- a/src/Test/ColumnInferenceTests.cs +++ b/src/Test/ColumnInferenceTests.cs @@ -46,7 +46,7 @@ public void IdentifyLabelColumnThroughIndexWithHeader() Assert.AreEqual(true, result.TextLoaderOptions.HasHeader); var labelCol = result.TextLoaderOptions.Columns.First(c => c.Source[0].Min == 14 && c.Source[0].Max == 14); Assert.AreEqual("hours-per-week", labelCol.Name); - Assert.AreEqual("hours-per-week", result.ColumnInformation.LabelColumn); + Assert.AreEqual("hours-per-week", result.ColumnInformation.LabelColumnName); } [TestMethod] @@ -57,7 +57,7 @@ public void IdentifyLabelColumnThroughIndexWithoutHeader() var labelCol = result.TextLoaderOptions.Columns.First(c => c.Source[0].Min == DatasetUtil.IrisDatasetLabelColIndex && c.Source[0].Max == DatasetUtil.IrisDatasetLabelColIndex); Assert.AreEqual(DefaultColumnNames.Label, labelCol.Name); - Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); + Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumnName); } [TestMethod] @@ -81,9 +81,9 @@ public void DatasetWithBoolColumn() Assert.AreEqual(DataKind.Boolean, labelColumn.DataKind); // ensure non-label Boolean column is detected as R4 - Assert.AreEqual(1, result.ColumnInformation.NumericColumns.Count()); - Assert.AreEqual("Bool", result.ColumnInformation.NumericColumns.First()); - Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); + Assert.AreEqual(1, result.ColumnInformation.NumericColumnNames.Count()); + Assert.AreEqual("Bool", result.ColumnInformation.NumericColumnNames.First()); + Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumnName); } [TestMethod] @@ -97,9 +97,9 @@ public void WhereNameColumnIsOnlyFeature() Assert.AreEqual(DataKind.String, nameColumn.DataKind); Assert.AreEqual(DataKind.Boolean, labelColumn.DataKind); - Assert.AreEqual(1, result.ColumnInformation.TextColumns.Count()); - Assert.AreEqual("Username", result.ColumnInformation.TextColumns.First()); - Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); + Assert.AreEqual(1, result.ColumnInformation.TextColumnNames.Count()); + Assert.AreEqual("Username", result.ColumnInformation.TextColumnNames.First()); + Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumnName); } [TestMethod] @@ -108,14 +108,14 @@ public void DefaultColumnNamesInferredCorrectly() var result = new MLContext().Auto().InferColumns(Path.Combine("TestData", "DatasetWithDefaultColumnNames.txt"), new ColumnInformation() { - LabelColumn = DefaultColumnNames.Label, - ExampleWeightColumn = DefaultColumnNames.Weight, + LabelColumnName = DefaultColumnNames.Label, + ExampleWeightColumnName = DefaultColumnNames.Weight, }, groupColumns : false); - Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); - Assert.AreEqual(DefaultColumnNames.Weight, result.ColumnInformation.ExampleWeightColumn); - Assert.AreEqual(result.ColumnInformation.NumericColumns.Count(), 3); + Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumnName); + Assert.AreEqual(DefaultColumnNames.Weight, result.ColumnInformation.ExampleWeightColumnName); + Assert.AreEqual(result.ColumnInformation.NumericColumnNames.Count(), 3); } [TestMethod] @@ -124,28 +124,28 @@ public void DefaultColumnNamesNoGrouping() var result = new MLContext().Auto().InferColumns(Path.Combine("TestData", "DatasetWithDefaultColumnNames.txt"), new ColumnInformation() { - LabelColumn = DefaultColumnNames.Label, - ExampleWeightColumn = DefaultColumnNames.Weight, + LabelColumnName = DefaultColumnNames.Label, + ExampleWeightColumnName = DefaultColumnNames.Weight, }); - Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn); - Assert.AreEqual(DefaultColumnNames.Weight, result.ColumnInformation.ExampleWeightColumn); - Assert.AreEqual(1, result.ColumnInformation.NumericColumns.Count()); - Assert.AreEqual(DefaultColumnNames.Features, result.ColumnInformation.NumericColumns.First()); + Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumnName); + Assert.AreEqual(DefaultColumnNames.Weight, result.ColumnInformation.ExampleWeightColumnName); + Assert.AreEqual(1, result.ColumnInformation.NumericColumnNames.Count()); + Assert.AreEqual(DefaultColumnNames.Features, result.ColumnInformation.NumericColumnNames.First()); } [TestMethod] public void InferColumnsColumnInfoParam() { - var columnInfo = new ColumnInformation() { LabelColumn = DatasetUtil.MlNetGeneratedRegressionLabel }; + var columnInfo = new ColumnInformation() { LabelColumnName = DatasetUtil.MlNetGeneratedRegressionLabel }; var result = new MLContext().Auto().InferColumns(DatasetUtil.DownloadMlNetGeneratedRegressionDataset(), columnInfo); var labelCol = result.TextLoaderOptions.Columns.First(c => c.Name == DatasetUtil.MlNetGeneratedRegressionLabel); Assert.AreEqual(DataKind.Single, labelCol.DataKind); - Assert.AreEqual(DatasetUtil.MlNetGeneratedRegressionLabel, result.ColumnInformation.LabelColumn); - Assert.AreEqual(1, result.ColumnInformation.NumericColumns.Count()); - Assert.AreEqual(DefaultColumnNames.Features, result.ColumnInformation.NumericColumns.First()); - Assert.AreEqual(null, result.ColumnInformation.ExampleWeightColumn); + Assert.AreEqual(DatasetUtil.MlNetGeneratedRegressionLabel, result.ColumnInformation.LabelColumnName); + Assert.AreEqual(1, result.ColumnInformation.NumericColumnNames.Count()); + Assert.AreEqual(DefaultColumnNames.Features, result.ColumnInformation.NumericColumnNames.First()); + Assert.AreEqual(null, result.ColumnInformation.ExampleWeightColumnName); } } } \ No newline at end of file diff --git a/src/Test/ColumnInformationUtilTests.cs b/src/Test/ColumnInformationUtilTests.cs index a15ed81c12..a3631768da 100644 --- a/src/Test/ColumnInformationUtilTests.cs +++ b/src/Test/ColumnInformationUtilTests.cs @@ -14,14 +14,14 @@ public void GetColumnPurpose() { var columnInfo = new ColumnInformation() { - LabelColumn = "Label", - ExampleWeightColumn = "Weight", - SamplingKeyColumn = "SamplingKey", + LabelColumnName = "Label", + ExampleWeightColumnName = "Weight", + SamplingKeyColumnName = "SamplingKey", }; - columnInfo.CategoricalColumns.Add("Cat"); - columnInfo.NumericColumns.Add("Num"); - columnInfo.TextColumns.Add("Text"); - columnInfo.IgnoredColumns.Add("Ignored"); + columnInfo.CategoricalColumnNames.Add("Cat"); + columnInfo.NumericColumnNames.Add("Num"); + columnInfo.TextColumnNames.Add("Text"); + columnInfo.IgnoredColumnNames.Add("Ignored"); Assert.AreEqual(ColumnPurpose.Label, ColumnInformationUtil.GetColumnPurpose(columnInfo, "Label")); Assert.AreEqual(ColumnPurpose.Weight, ColumnInformationUtil.GetColumnPurpose(columnInfo, "Weight")); diff --git a/src/Test/GetNextPipelineTests.cs b/src/Test/GetNextPipelineTests.cs index d5957479c5..023bfc2085 100644 --- a/src/Test/GetNextPipelineTests.cs +++ b/src/Test/GetNextPipelineTests.cs @@ -18,7 +18,7 @@ public void GetNextPipeline() { var context = new MLContext(); var uciAdult = DatasetUtil.GetUciAdultDataView(); - var columns = DatasetColumnInfoUtil.GetDatasetColumnInfo(context, uciAdult, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); + var columns = DatasetColumnInfoUtil.GetDatasetColumnInfo(context, uciAdult, new ColumnInformation() { LabelColumnName = DatasetUtil.UciAdultLabel }); // get next pipeline var pipeline = PipelineSuggester.GetNextPipeline(context, new List(), columns, TaskKind.BinaryClassification); @@ -42,7 +42,7 @@ public void GetNextPipelineMock() { var context = new MLContext(); var uciAdult = DatasetUtil.GetUciAdultDataView(); - var columns = DatasetColumnInfoUtil.GetDatasetColumnInfo(context, uciAdult, new ColumnInformation() { LabelColumn = DatasetUtil.UciAdultLabel }); + var columns = DatasetColumnInfoUtil.GetDatasetColumnInfo(context, uciAdult, new ColumnInformation() { LabelColumnName = DatasetUtil.UciAdultLabel }); // Get next pipeline loop var history = new List(); diff --git a/src/Test/TrainerExtensionsTests.cs b/src/Test/TrainerExtensionsTests.cs index b60b99f24e..a3ca10fddd 100644 --- a/src/Test/TrainerExtensionsTests.cs +++ b/src/Test/TrainerExtensionsTests.cs @@ -138,8 +138,8 @@ public void BuildPipelineNodeWithCustomColumns() { var columnInfo = new ColumnInformation() { - LabelColumn = "L", - ExampleWeightColumn = "W" + LabelColumnName = "L", + ExampleWeightColumnName = "W" }; var sweepParams = SweepableParams.BuildFastForestParams(); foreach (var sweepParam in sweepParams) @@ -171,7 +171,7 @@ public void BuildPipelineNodeWithCustomColumns() [TestMethod] public void BuildDefaultAveragedPerceptronPipelineNode() { - var pipelineNode = new AveragedPerceptronBinaryExtension().CreatePipelineNode(null, new ColumnInformation() { LabelColumn = "L" }); + var pipelineNode = new AveragedPerceptronBinaryExtension().CreatePipelineNode(null, new ColumnInformation() { LabelColumnName = "L" }); var expectedJson = @"{ ""Name"": ""AveragedPerceptronBinary"", ""NodeType"": ""Trainer"", diff --git a/src/Test/UserInputValidationTests.cs b/src/Test/UserInputValidationTests.cs index dcdb1d1465..e8962c484c 100644 --- a/src/Test/UserInputValidationTests.cs +++ b/src/Test/UserInputValidationTests.cs @@ -26,7 +26,7 @@ public void ValidateExperimentExecuteNullTrainData() public void ValidateExperimentExecuteNullLabel() { UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, - new ColumnInformation() { LabelColumn = null }, null); + new ColumnInformation() { LabelColumnName = null }, null); } [TestMethod] @@ -34,7 +34,7 @@ public void ValidateExperimentExecuteNullLabel() public void ValidateExperimentExecuteLabelNotInTrain() { UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, - new ColumnInformation() { LabelColumn = "L" }, null); + new ColumnInformation() { LabelColumnName = "L" }, null); } [TestMethod] @@ -42,7 +42,7 @@ public void ValidateExperimentExecuteLabelNotInTrain() public void ValidateExperimentExecuteNumericColNotInTrain() { var columnInfo = new ColumnInformation(); - columnInfo.NumericColumns.Add("N"); + columnInfo.NumericColumnNames.Add("N"); UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, columnInfo, null); } @@ -52,7 +52,7 @@ public void ValidateExperimentExecuteNumericColNotInTrain() public void ValidateExperimentExecuteNullNumericCol() { var columnInfo = new ColumnInformation(); - columnInfo.NumericColumns.Add(null); + columnInfo.NumericColumnNames.Add(null); UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, columnInfo, null); } @@ -61,7 +61,7 @@ public void ValidateExperimentExecuteNullNumericCol() public void ValidateExperimentExecuteDuplicateCol() { var columnInfo = new ColumnInformation(); - columnInfo.NumericColumns.Add(DefaultColumnNames.Label); + columnInfo.NumericColumnNames.Add(DefaultColumnNames.Label); UserInputValidationUtil.ValidateExperimentExecuteArgs(Data, columnInfo, null); } @@ -82,7 +82,7 @@ public void ValidateExperimentExecuteArgsTrainValidColCountMismatch() var validData = validDataBuilder.GetDataView(); UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, - new ColumnInformation() { LabelColumn = "0" }, validData); + new ColumnInformation() { LabelColumnName = "0" }, validData); } [TestMethod] @@ -102,7 +102,7 @@ public void ValidateExperimentExecuteArgsTrainValidColNamesMismatch() var validData = validDataBuilder.GetDataView(); UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, - new ColumnInformation() { LabelColumn = "0" }, validData); + new ColumnInformation() { LabelColumnName = "0" }, validData); } [TestMethod] @@ -122,7 +122,7 @@ public void ValidateExperimentExecuteArgsTrainValidColTypeMismatch() var validData = validDataBuilder.GetDataView(); UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, - new ColumnInformation() { LabelColumn = "0" }, validData); + new ColumnInformation() { LabelColumnName = "0" }, validData); } [TestMethod] @@ -179,7 +179,7 @@ public void ValidateTextColumnNotText() var dataView = new EmptyDataView(new MLContext(), schema); var columnInfo = new ColumnInformation(); - columnInfo.NumericColumns.Add(TextPurposeColName); + columnInfo.NumericColumnNames.Add(TextPurposeColName); UserInputValidationUtil.ValidateExperimentExecuteArgs(dataView, columnInfo, null); } diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index 6eec3474d6..e08ff531c9 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -270,7 +270,7 @@ public void PredictProjectFileContentTest() this.columnInference = new ColumnInferenceResults() { TextLoaderOptions = textLoaderArgs, - ColumnInformation = new ColumnInformation() { LabelColumn = "Label" } + ColumnInformation = new ColumnInformation() { LabelColumnName = "Label" } }; } return (mockedPipeline, columnInference); @@ -312,7 +312,7 @@ public void PredictProjectFileContentTest() this.columnInference = new ColumnInferenceResults() { TextLoaderOptions = textLoaderArgs, - ColumnInformation = new ColumnInformation() { LabelColumn = "Label" } + ColumnInformation = new ColumnInformation() { LabelColumnName = "Label" } }; } diff --git a/src/mlnet/AutoML/AutoMLEngine.cs b/src/mlnet/AutoML/AutoMLEngine.cs index 144eb1a8b6..afc4e2344c 100644 --- a/src/mlnet/AutoML/AutoMLEngine.cs +++ b/src/mlnet/AutoML/AutoMLEngine.cs @@ -33,7 +33,7 @@ public ColumnInferenceResults InferColumns(MLContext context, ColumnInformation logger.Log(LogLevel.Trace, Strings.InferColumns); ColumnInferenceResults columnInference = null; var dataset = settings.Dataset.FullName; - if (columnInformation.LabelColumn != null) + if (columnInformation.LabelColumnName != null) { columnInference = context.Auto().InferColumns(dataset, columnInformation, groupColumns: false); } diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index bddb5934a9..e38b3b6883 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -31,7 +31,7 @@ public void GenerateOutput() { // Get Namespace var namespaceValue = Utils.Normalize(settings.OutputName); - var labelType = columnInferenceResult.TextLoaderOptions.Columns.Where(t => t.Name == columnInferenceResult.ColumnInformation.LabelColumn).First().DataKind; + var labelType = columnInferenceResult.TextLoaderOptions.Columns.Where(t => t.Name == columnInferenceResult.ColumnInformation.LabelColumnName).First().DataKind; Type labelTypeCsharp = Utils.GetCSharpType(labelType); // Generate Model Project diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index 370cc0454a..04afd70ada 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -43,10 +43,10 @@ public void GenerateCode() try { var inputColumnInformation = new ColumnInformation(); - inputColumnInformation.LabelColumn = settings.LabelColumnName; + inputColumnInformation.LabelColumnName = settings.LabelColumnName; foreach (var value in settings.IgnoreColumns) { - inputColumnInformation.IgnoredColumns.Add(value); + inputColumnInformation.IgnoredColumnNames.Add(value); } columnInference = automlEngine.InferColumns(context, inputColumnInformation); } @@ -150,21 +150,21 @@ public void GenerateCode() var bestBinaryIteration = binaryRunDetails.Best(); bestPipeline = bestBinaryIteration.Pipeline; bestModel = bestBinaryIteration.Model; - ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumn, settings.MaxExplorationTime.ToString(), binaryRunDetails.Count()); + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, settings.MaxExplorationTime.ToString(), binaryRunDetails.Count()); ConsolePrinter.PrintIterationSummary(binaryRunDetails, new BinaryExperimentSettings().OptimizingMetric, 5); break; case TaskKind.Regression: var bestRegressionIteration = regressionRunDetails.Best(); bestPipeline = bestRegressionIteration.Pipeline; bestModel = bestRegressionIteration.Model; - ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumn, settings.MaxExplorationTime.ToString(), regressionRunDetails.Count()); + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, settings.MaxExplorationTime.ToString(), regressionRunDetails.Count()); ConsolePrinter.PrintIterationSummary(regressionRunDetails, new RegressionExperimentSettings().OptimizingMetric, 5); break; case TaskKind.MulticlassClassification: var bestMultiIteration = multiRunDetails.Best(); bestPipeline = bestMultiIteration.Pipeline; bestModel = bestMultiIteration.Model; - ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumn, settings.MaxExplorationTime.ToString(), multiRunDetails.Count()); + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, settings.MaxExplorationTime.ToString(), multiRunDetails.Count()); ConsolePrinter.PrintIterationSummary(multiRunDetails, new MulticlassExperimentSettings().OptimizingMetric, 5); break; } @@ -177,7 +177,7 @@ public void GenerateCode() logger.Log(LogLevel.Info, $"{Strings.SavingBestModel}: {modelPath}"); // Generate the Project - GenerateProject(columnInference, bestPipeline, columnInformation.LabelColumn, modelPath); + GenerateProject(columnInference, bestPipeline, columnInformation.LabelColumnName, modelPath); logger.Log(LogLevel.Info, $"{Strings.GenerateModelConsumption} : { Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.Predict")}"); logger.Log(LogLevel.Info, $"{Strings.GenerateModelTraining} : { Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.Train")}"); Console.ResetColor(); diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 94c9c6b316..040bb324b5 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -39,7 +39,7 @@ internal static void PrintBinaryClassificationMetricsHeader(LogLevel logLevel) internal static void PrintMulticlassClassificationMetricsHeader(LogLevel logLevel) { - logger.Log(logLevel, CreateRow($"{"",-4} {"Trainer",-35} {"AccuracyMicro",14} {"AccuracyMacro",14} {"Duration",9} {"#Iteration",9}", Width)); + logger.Log(logLevel, CreateRow($"{"",-4} {"Trainer",-35} {"MicroAccuracy",14} {"MacroAccuracy",14} {"Duration",9} {"#Iteration",9}", Width)); } internal static void PrintRegressionMetricsHeader(LogLevel logLevel) diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index 13ee1b2542..c4459562e5 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -124,32 +124,32 @@ internal static ColumnInformation GetSanitizedColumnInformation(ColumnInformatio { var result = new ColumnInformation(); - result.LabelColumn = Sanitize(columnInformation.LabelColumn); + result.LabelColumnName = Sanitize(columnInformation.LabelColumnName); - if (!string.IsNullOrEmpty(columnInformation.ExampleWeightColumn)) - result.ExampleWeightColumn = Sanitize(columnInformation.ExampleWeightColumn); + if (!string.IsNullOrEmpty(columnInformation.ExampleWeightColumnName)) + result.ExampleWeightColumnName = Sanitize(columnInformation.ExampleWeightColumnName); - if (!string.IsNullOrEmpty(columnInformation.SamplingKeyColumn)) - result.SamplingKeyColumn = Sanitize(columnInformation.SamplingKeyColumn); + if (!string.IsNullOrEmpty(columnInformation.SamplingKeyColumnName)) + result.SamplingKeyColumnName = Sanitize(columnInformation.SamplingKeyColumnName); - foreach (var value in columnInformation.CategoricalColumns) + foreach (var value in columnInformation.CategoricalColumnNames) { - result.CategoricalColumns.Add(Sanitize(value)); + result.CategoricalColumnNames.Add(Sanitize(value)); } - foreach (var value in columnInformation.IgnoredColumns) + foreach (var value in columnInformation.IgnoredColumnNames) { - result.IgnoredColumns.Add(Sanitize(value)); + result.IgnoredColumnNames.Add(Sanitize(value)); } - foreach (var value in columnInformation.NumericColumns) + foreach (var value in columnInformation.NumericColumnNames) { - result.NumericColumns.Add(Sanitize(value)); + result.NumericColumnNames.Add(Sanitize(value)); } - foreach (var value in columnInformation.TextColumns) + foreach (var value in columnInformation.TextColumnNames) { - result.TextColumns.Add(Sanitize(value)); + result.TextColumnNames.Add(Sanitize(value)); } From e89b9a819f3fbd90939e02b01d319618c6cd680c Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 4 Apr 2019 17:45:24 -0700 Subject: [PATCH 196/211] CLI -- consume logs from AutoML SDK (#349) --- src/Microsoft.ML.Auto/DebugLogger.cs | 8 +++---- .../Experiment/Experiment.cs | 14 +++++-------- .../Experiment/Runners/RunnerUtil.cs | 2 +- src/mlnet/AutoML/AutoMLDebugLogger.cs | 21 +++++++++++++++++++ src/mlnet/AutoML/AutoMLEngine.cs | 11 ++++++---- 5 files changed, 38 insertions(+), 18 deletions(-) create mode 100644 src/mlnet/AutoML/AutoMLDebugLogger.cs diff --git a/src/Microsoft.ML.Auto/DebugLogger.cs b/src/Microsoft.ML.Auto/DebugLogger.cs index c1097b22b2..90ed9cfdd2 100644 --- a/src/Microsoft.ML.Auto/DebugLogger.cs +++ b/src/Microsoft.ML.Auto/DebugLogger.cs @@ -6,12 +6,12 @@ namespace Microsoft.ML.Auto { internal interface IDebugLogger { - void Log(DebugStream stream, string message); + void Log(LogSeverity logLevel, string message); } - internal enum DebugStream + internal enum LogSeverity { - Exception, - RunResult + Error, + Debug } } diff --git a/src/Microsoft.ML.Auto/Experiment/Experiment.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs index 11b8a29eff..06e5df9c18 100644 --- a/src/Microsoft.ML.Auto/Experiment/Experiment.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -68,7 +68,7 @@ public IList Execute() } // evaluate pipeline - WriteDebugLog(DebugStream.RunResult, $"Evaluating pipeline {pipeline.ToString()}"); + Log(LogSeverity.Debug, $"Evaluating pipeline {pipeline.ToString()}"); (SuggestedPipelineRunDetails suggestedPipelineRunDetails, TRunDetails runDetails) = _runner.Run(pipeline, _modelDirectory, _history.Count + 1); _history.Add(suggestedPipelineRunDetails); @@ -128,27 +128,23 @@ private void ReportProgress(TRunDetails iterationResult) } catch (Exception ex) { - WriteDebugLog(DebugStream.Exception, $"Progress report callback reported exception {ex}"); + Log(LogSeverity.Error, $"Progress report callback reported exception {ex}"); } } private void WriteIterationLog(SuggestedPipeline pipeline, SuggestedPipelineRunDetails runResult, Stopwatch stopwatch) { - // debug log pipeline result - if (runResult.RunSucceded) - { - WriteDebugLog(DebugStream.RunResult, $"{_history.Count}\t{runResult.Score}\t{stopwatch.Elapsed}\t{pipeline.ToString()}"); - } + Log(LogSeverity.Debug, $"{_history.Count}\t{runResult.Score}\t{stopwatch.Elapsed}\t{pipeline.ToString()}"); } - private void WriteDebugLog(DebugStream stream, string message) + private void Log(LogSeverity severity, string message) { if(_experimentSettings?.DebugLogger == null) { return; } - _experimentSettings.DebugLogger.Log(stream, message); + _experimentSettings.DebugLogger.Log(severity, message); } } } diff --git a/src/Microsoft.ML.Auto/Experiment/Runners/RunnerUtil.cs b/src/Microsoft.ML.Auto/Experiment/Runners/RunnerUtil.cs index 8f80ce29db..88575a2280 100644 --- a/src/Microsoft.ML.Auto/Experiment/Runners/RunnerUtil.cs +++ b/src/Microsoft.ML.Auto/Experiment/Runners/RunnerUtil.cs @@ -44,7 +44,7 @@ public static (ModelContainer model, TMetrics metrics, Exception exception, doub } catch (Exception ex) { - logger?.Log(DebugStream.Exception, $"Pipeline crashed: {pipeline.ToString()} . Exception: {ex}"); + logger?.Log(LogSeverity.Error, $"Pipeline crashed: {pipeline.ToString()} . Exception: {ex}"); return (null, null, ex, double.NaN); } } diff --git a/src/mlnet/AutoML/AutoMLDebugLogger.cs b/src/mlnet/AutoML/AutoMLDebugLogger.cs new file mode 100644 index 0000000000..e6def1fd81 --- /dev/null +++ b/src/mlnet/AutoML/AutoMLDebugLogger.cs @@ -0,0 +1,21 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.ML.Auto; +using NLog; + +namespace Microsoft.ML.CLI.AutoML +{ + internal class AutoMLDebugLogger: IDebugLogger + { + public static AutoMLDebugLogger Instance = new AutoMLDebugLogger(); + + private static Logger logger = LogManager.GetCurrentClassLogger(); + + public void Log(LogSeverity severity, string message) + { + logger.Log(LogLevel.Trace, message); + } + } +} diff --git a/src/mlnet/AutoML/AutoMLEngine.cs b/src/mlnet/AutoML/AutoMLEngine.cs index afc4e2344c..7aba3321b6 100644 --- a/src/mlnet/AutoML/AutoMLEngine.cs +++ b/src/mlnet/AutoML/AutoMLEngine.cs @@ -2,9 +2,9 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using System; using System.Collections.Generic; using Microsoft.ML.Auto; +using Microsoft.ML.CLI.AutoML; using Microsoft.ML.CLI.Data; using Microsoft.ML.CLI.ShellProgressBar; using Microsoft.ML.CLI.Utilities; @@ -53,7 +53,8 @@ IEnumerable> IAutoMLEngine.ExploreBinary { MaxExperimentTimeInSeconds = settings.MaxExplorationTime, CacheBeforeTrainer = this.enableCaching, - OptimizingMetric = optimizationMetric + OptimizingMetric = optimizationMetric, + DebugLogger = AutoMLDebugLogger.Instance }) .Execute(trainData, validationData, columnInformation, progressHandler: progressReporter); logger.Log(LogLevel.Trace, Strings.RetrieveBestPipeline); @@ -68,7 +69,8 @@ IEnumerable> IAutoMLEngine.ExploreRegressionModels { MaxExperimentTimeInSeconds = settings.MaxExplorationTime, OptimizingMetric = optimizationMetric, - CacheBeforeTrainer = this.enableCaching + CacheBeforeTrainer = this.enableCaching, + DebugLogger = AutoMLDebugLogger.Instance }).Execute(trainData, validationData, columnInformation, progressHandler: progressReporter); logger.Log(LogLevel.Trace, Strings.RetrieveBestPipeline); return result; @@ -82,7 +84,8 @@ IEnumerable> IAutoMLEngine.ExploreMu { MaxExperimentTimeInSeconds = settings.MaxExplorationTime, CacheBeforeTrainer = this.enableCaching, - OptimizingMetric = optimizationMetric + OptimizingMetric = optimizationMetric, + DebugLogger = AutoMLDebugLogger.Instance }).Execute(trainData, validationData, columnInformation, progressHandler: progressReporter); logger.Log(LogLevel.Trace, Strings.RetrieveBestPipeline); return result; From b68b8f25f8434ba525a48df47c635953922c3803 Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Fri, 5 Apr 2019 11:49:00 -0700 Subject: [PATCH 197/211] Rename RunDetails --> RunDetail (#350) --- .../API/BinaryClassificationExperiment.cs | 4 +- src/Microsoft.ML.Auto/API/ExperimentBase.cs | 40 +++++++++---------- .../API/MulticlassClassificationExperiment.cs | 4 +- .../API/RegressionExperiment.cs | 4 +- ...Details.cs => CrossValidationRunDetail.cs} | 4 +- .../{RunDetails.cs => RunDetail.cs} | 8 ++-- .../Experiment/Experiment.cs | 36 ++++++++--------- .../Experiment/Runners/CrossValRunner.cs | 10 ++--- .../Runners/CrossValSummaryRunner.cs | 14 +++---- .../Experiment/Runners/IRunner.cs | 4 +- .../Experiment/Runners/TrainValidateRunner.cs | 10 ++--- ... => SuggestedPipelineCrossValRunDetail.cs} | 10 ++--- ...tails.cs => SuggestedPipelineRunDetail.cs} | 18 ++++----- ...l.cs => SuggestedPipelineRunDetailUtil.cs} | 2 +- .../PipelineSuggesters/PipelineSuggester.cs | 16 ++++---- src/Microsoft.ML.Auto/Utils/BestResultUtil.cs | 8 ++-- src/Samples/AdvancedTrainingSettings.cs | 4 +- src/Samples/AutoTrainBinaryClassification.cs | 4 +- .../AutoTrainMulticlassClassification.cs | 4 +- src/Samples/AutoTrainRegression.cs | 4 +- src/Samples/Cancellation.cs | 2 +- src/Samples/CrossValidation.cs | 4 +- src/Samples/InferColumns.cs | 4 +- src/Samples/ObserveProgress.cs | 4 +- src/Samples/Program.cs | 2 +- src/Samples/RefitBestModel.cs | 4 +- src/Test/BestResultUtilTests.cs | 14 +++---- src/mlnet/AutoML/AutoMLEngine.cs | 6 +-- src/mlnet/AutoML/IAutoMLEngine.cs | 6 +-- .../CodeGenerator/CodeGenerationHelper.cs | 6 +-- src/mlnet/Utilities/ConsolePrinter.cs | 6 +-- src/mlnet/Utilities/ProgressHandlers.cs | 36 ++++++++--------- 32 files changed, 151 insertions(+), 151 deletions(-) rename src/Microsoft.ML.Auto/API/RunDetails/{CrossValidationRunDetails.cs => CrossValidationRunDetail.cs} (89%) rename src/Microsoft.ML.Auto/API/RunDetails/{RunDetails.cs => RunDetail.cs} (88%) rename src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/{SuggestedPipelineCrossValRunDetails.cs => SuggestedPipelineCrossValRunDetail.cs} (74%) rename src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/{SuggestedPipelineRunDetails.cs => SuggestedPipelineRunDetail.cs} (59%) rename src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/{SuggestedPipelineRunDetailsUtil.cs => SuggestedPipelineRunDetailUtil.cs} (90%) diff --git a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs index 7363e1b5de..3ab9dbb7a1 100644 --- a/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs @@ -56,14 +56,14 @@ internal BinaryClassificationExperiment(MLContext context, BinaryExperimentSetti public static class BinaryExperimentResultExtensions { - public static RunDetails Best(this IEnumerable> results, BinaryClassificationMetric metric = BinaryClassificationMetric.Accuracy) + public static RunDetail Best(this IEnumerable> results, BinaryClassificationMetric metric = BinaryClassificationMetric.Accuracy) { var metricsAgent = new BinaryMetricsAgent(null, metric); var isMetricMaximizing = new OptimizingMetricInfo(metric).IsMaximizing; return BestResultUtil.GetBestRun(results, metricsAgent, isMetricMaximizing); } - public static CrossValidationRunDetails Best(this IEnumerable> results, BinaryClassificationMetric metric = BinaryClassificationMetric.Accuracy) + public static CrossValidationRunDetail Best(this IEnumerable> results, BinaryClassificationMetric metric = BinaryClassificationMetric.Accuracy) { var metricsAgent = new BinaryMetricsAgent(null, metric); var isMetricMaximizing = new OptimizingMetricInfo(metric).IsMaximizing; diff --git a/src/Microsoft.ML.Auto/API/ExperimentBase.cs b/src/Microsoft.ML.Auto/API/ExperimentBase.cs index 04af61ba56..381196c54c 100644 --- a/src/Microsoft.ML.Auto/API/ExperimentBase.cs +++ b/src/Microsoft.ML.Auto/API/ExperimentBase.cs @@ -32,8 +32,8 @@ internal ExperimentBase(MLContext context, _trainerWhitelist = trainerWhitelist; } - public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, - string samplingKeyColumn = null, IEstimator preFeaturizers = null, IProgress> progressHandler = null) + public IEnumerable> Execute(IDataView trainData, string labelColumn = DefaultColumnNames.Label, + string samplingKeyColumn = null, IEstimator preFeaturizers = null, IProgress> progressHandler = null) { var columnInformation = new ColumnInformation() { @@ -43,8 +43,8 @@ public IEnumerable> Execute(IDataView trainData, string lab return Execute(trainData, columnInformation, preFeaturizers, progressHandler); } - public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation, - IEstimator preFeaturizer = null, IProgress> progressHandler = null) + public IEnumerable> Execute(IDataView trainData, ColumnInformation columnInformation, + IEstimator preFeaturizer = null, IProgress> progressHandler = null) { // Cross val threshold for # of dataset rows -- // If dataset has < threshold # of rows, use cross val. @@ -66,13 +66,13 @@ public IEnumerable> Execute(IDataView trainData, ColumnInfo } } - public IEnumerable> Execute(IDataView trainData, IDataView validationData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizer = null, IProgress> progressHandler = null) + public IEnumerable> Execute(IDataView trainData, IDataView validationData, string labelColumn = DefaultColumnNames.Label, IEstimator preFeaturizer = null, IProgress> progressHandler = null) { var columnInformation = new ColumnInformation() { LabelColumnName = labelColumn }; return Execute(trainData, validationData, columnInformation, preFeaturizer, progressHandler); } - public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation, IEstimator preFeaturizer = null, IProgress> progressHandler = null) + public IEnumerable> Execute(IDataView trainData, IDataView validationData, ColumnInformation columnInformation, IEstimator preFeaturizer = null, IProgress> progressHandler = null) { if (validationData == null) { @@ -83,17 +83,17 @@ public IEnumerable> Execute(IDataView trainData, IDataView return ExecuteTrainValidate(trainData, columnInformation, validationData, preFeaturizer, progressHandler); } - public IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizer = null, IProgress> progressHandler = null) + public IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator preFeaturizer = null, IProgress> progressHandler = null) { UserInputValidationUtil.ValidateNumberOfCVFoldsArg(numberOfCVFolds); var splitResult = SplitUtil.CrossValSplit(Context, trainData, numberOfCVFolds, columnInformation?.SamplingKeyColumnName); return ExecuteCrossVal(splitResult.trainDatasets, columnInformation, splitResult.validationDatasets, preFeaturizer, progressHandler); } - public IEnumerable> Execute(IDataView trainData, + public IEnumerable> Execute(IDataView trainData, uint numberOfCVFolds, string labelColumn = DefaultColumnNames.Label, string samplingKeyColumn = null, IEstimator preFeaturizer = null, - Progress> progressHandler = null) + Progress> progressHandler = null) { var columnInformation = new ColumnInformation() { @@ -103,11 +103,11 @@ public IEnumerable> Execute(IDataView trainD return Execute(trainData, numberOfCVFolds, columnInformation, preFeaturizer, progressHandler); } - private IEnumerable> ExecuteTrainValidate(IDataView trainData, + private IEnumerable> ExecuteTrainValidate(IDataView trainData, ColumnInformation columnInfo, IDataView validationData, IEstimator preFeaturizer, - IProgress> progressHandler) + IProgress> progressHandler) { columnInfo = columnInfo ?? new ColumnInformation(); UserInputValidationUtil.ValidateExperimentExecuteArgs(trainData, columnInfo, validationData); @@ -127,11 +127,11 @@ private IEnumerable> ExecuteTrainValidate(IDataView trainDa return Execute(columnInfo, columns, preFeaturizer, progressHandler, runner); } - private IEnumerable> ExecuteCrossVal(IDataView[] trainDatasets, + private IEnumerable> ExecuteCrossVal(IDataView[] trainDatasets, ColumnInformation columnInfo, IDataView[] validationDatasets, IEstimator preFeaturizer, - IProgress> progressHandler) + IProgress> progressHandler) { columnInfo = columnInfo ?? new ColumnInformation(); UserInputValidationUtil.ValidateExperimentExecuteArgs(trainDatasets[0], columnInfo, validationDatasets[0]); @@ -146,11 +146,11 @@ private IEnumerable> ExecuteCrossVal(IDataVi return Execute(columnInfo, columns, preFeaturizer, progressHandler, runner); } - private IEnumerable> ExecuteCrossValSummary(IDataView[] trainDatasets, + private IEnumerable> ExecuteCrossValSummary(IDataView[] trainDatasets, ColumnInformation columnInfo, IDataView[] validationDatasets, IEstimator preFeaturizer, - IProgress> progressHandler) + IProgress> progressHandler) { columnInfo = columnInfo ?? new ColumnInformation(); UserInputValidationUtil.ValidateExperimentExecuteArgs(trainDatasets[0], columnInfo, validationDatasets[0]); @@ -165,15 +165,15 @@ private IEnumerable> ExecuteCrossValSummary(IDataView[] tra return Execute(columnInfo, columns, preFeaturizer, progressHandler, runner); } - private IEnumerable Execute(ColumnInformation columnInfo, + private IEnumerable Execute(ColumnInformation columnInfo, DatasetColumnInfo[] columns, IEstimator preFeaturizer, - IProgress progressHandler, - IRunner runner) - where TRunDetails : RunDetails + IProgress progressHandler, + IRunner runner) + where TRunDetail : RunDetail { // Execute experiment & get all pipelines run - var experiment = new Experiment(Context, _task, _optimizingMetricInfo, progressHandler, + var experiment = new Experiment(Context, _task, _optimizingMetricInfo, progressHandler, _settings, _metricsAgent, _trainerWhitelist, columns, runner); return experiment.Execute(); diff --git a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs index 710dee1068..f7f5a856cb 100644 --- a/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs +++ b/src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs @@ -54,14 +54,14 @@ internal MulticlassClassificationExperiment(MLContext context, MulticlassExperim public static class MulticlassExperimentResultExtensions { - public static RunDetails Best(this IEnumerable> results, MulticlassClassificationMetric metric = MulticlassClassificationMetric.MicroAccuracy) + public static RunDetail Best(this IEnumerable> results, MulticlassClassificationMetric metric = MulticlassClassificationMetric.MicroAccuracy) { var metricsAgent = new MultiMetricsAgent(null, metric); var isMetricMaximizing = new OptimizingMetricInfo(metric).IsMaximizing; return BestResultUtil.GetBestRun(results, metricsAgent, isMetricMaximizing); } - public static CrossValidationRunDetails Best(this IEnumerable> results, MulticlassClassificationMetric metric = MulticlassClassificationMetric.MicroAccuracy) + public static CrossValidationRunDetail Best(this IEnumerable> results, MulticlassClassificationMetric metric = MulticlassClassificationMetric.MicroAccuracy) { var metricsAgent = new MultiMetricsAgent(null, metric); var isMetricMaximizing = new OptimizingMetricInfo(metric).IsMaximizing; diff --git a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs index 42990de65c..51f5988f64 100644 --- a/src/Microsoft.ML.Auto/API/RegressionExperiment.cs +++ b/src/Microsoft.ML.Auto/API/RegressionExperiment.cs @@ -51,14 +51,14 @@ internal RegressionExperiment(MLContext context, RegressionExperimentSettings se public static class RegressionExperimentResultExtensions { - public static RunDetails Best(this IEnumerable> results, RegressionMetric metric = RegressionMetric.RSquared) + public static RunDetail Best(this IEnumerable> results, RegressionMetric metric = RegressionMetric.RSquared) { var metricsAgent = new RegressionMetricsAgent(null, metric); var isMetricMaximizing = new OptimizingMetricInfo(metric).IsMaximizing; return BestResultUtil.GetBestRun(results, metricsAgent, isMetricMaximizing); } - public static CrossValidationRunDetails Best(this IEnumerable> results, RegressionMetric metric = RegressionMetric.RSquared) + public static CrossValidationRunDetail Best(this IEnumerable> results, RegressionMetric metric = RegressionMetric.RSquared) { var metricsAgent = new RegressionMetricsAgent(null, metric); var isMetricMaximizing = new OptimizingMetricInfo(metric).IsMaximizing; diff --git a/src/Microsoft.ML.Auto/API/RunDetails/CrossValidationRunDetails.cs b/src/Microsoft.ML.Auto/API/RunDetails/CrossValidationRunDetail.cs similarity index 89% rename from src/Microsoft.ML.Auto/API/RunDetails/CrossValidationRunDetails.cs rename to src/Microsoft.ML.Auto/API/RunDetails/CrossValidationRunDetail.cs index c70ad4b5fd..713c820a99 100644 --- a/src/Microsoft.ML.Auto/API/RunDetails/CrossValidationRunDetails.cs +++ b/src/Microsoft.ML.Auto/API/RunDetails/CrossValidationRunDetail.cs @@ -7,11 +7,11 @@ namespace Microsoft.ML.Auto { - public sealed class CrossValidationRunDetails : RunDetails + public sealed class CrossValidationRunDetail : RunDetail { public IEnumerable> Results { get; private set; } - internal CrossValidationRunDetails(string trainerName, + internal CrossValidationRunDetail(string trainerName, IEstimator estimator, Pipeline pipeline, IEnumerable> results) : base(trainerName, estimator, pipeline) diff --git a/src/Microsoft.ML.Auto/API/RunDetails/RunDetails.cs b/src/Microsoft.ML.Auto/API/RunDetails/RunDetail.cs similarity index 88% rename from src/Microsoft.ML.Auto/API/RunDetails/RunDetails.cs rename to src/Microsoft.ML.Auto/API/RunDetails/RunDetail.cs index 15275b8cb5..a83670986d 100644 --- a/src/Microsoft.ML.Auto/API/RunDetails/RunDetails.cs +++ b/src/Microsoft.ML.Auto/API/RunDetails/RunDetail.cs @@ -6,7 +6,7 @@ namespace Microsoft.ML.Auto { - public sealed class RunDetails : RunDetails + public sealed class RunDetail : RunDetail { public TMetrics ValidationMetrics { get; private set; } public ITransformer Model { get { return _modelContainer.GetModel(); } } @@ -14,7 +14,7 @@ public sealed class RunDetails : RunDetails private readonly ModelContainer _modelContainer; - internal RunDetails(string trainerName, + internal RunDetail(string trainerName, IEstimator estimator, Pipeline pipeline, ModelContainer modelContainer, @@ -27,7 +27,7 @@ internal RunDetails(string trainerName, } } - public abstract class RunDetails + public abstract class RunDetail { public string TrainerName { get; private set; } public double RuntimeInSeconds { get; internal set; } @@ -36,7 +36,7 @@ public abstract class RunDetails internal Pipeline Pipeline { get; private set; } internal double PipelineInferenceTimeInSeconds { get; set; } - internal RunDetails(string trainerName, + internal RunDetail(string trainerName, IEstimator estimator, Pipeline pipeline) { diff --git a/src/Microsoft.ML.Auto/Experiment/Experiment.cs b/src/Microsoft.ML.Auto/Experiment/Experiment.cs index 06e5df9c18..4eb389ab79 100644 --- a/src/Microsoft.ML.Auto/Experiment/Experiment.cs +++ b/src/Microsoft.ML.Auto/Experiment/Experiment.cs @@ -10,30 +10,30 @@ namespace Microsoft.ML.Auto { - internal class Experiment where TRunDetails : RunDetails + internal class Experiment where TRunDetail : RunDetail { private readonly MLContext _context; private readonly OptimizingMetricInfo _optimizingMetricInfo; private readonly TaskKind _task; - private readonly IProgress _progressCallback; + private readonly IProgress _progressCallback; private readonly ExperimentSettings _experimentSettings; private readonly IMetricsAgent _metricsAgent; private readonly IEnumerable _trainerWhitelist; private readonly DirectoryInfo _modelDirectory; private readonly DatasetColumnInfo[] _datasetColumnInfo; - private readonly IRunner _runner; - private readonly IList _history = new List(); + private readonly IRunner _runner; + private readonly IList _history = new List(); public Experiment(MLContext context, TaskKind task, OptimizingMetricInfo metricInfo, - IProgress progressCallback, + IProgress progressCallback, ExperimentSettings experimentSettings, IMetricsAgent metricsAgent, IEnumerable trainerWhitelist, DatasetColumnInfo[] datasetColumnInfo, - IRunner runner) + IRunner runner) { _context = context; _optimizingMetricInfo = metricInfo; @@ -47,10 +47,10 @@ public Experiment(MLContext context, _runner = runner; } - public IList Execute() + public IList Execute() { var stopwatch = Stopwatch.StartNew(); - var iterationResults = new List(); + var iterationResults = new List(); do { @@ -69,19 +69,19 @@ public IList Execute() // evaluate pipeline Log(LogSeverity.Debug, $"Evaluating pipeline {pipeline.ToString()}"); - (SuggestedPipelineRunDetails suggestedPipelineRunDetails, TRunDetails runDetails) + (SuggestedPipelineRunDetail suggestedPipelineRunDetail, TRunDetail runDetail) = _runner.Run(pipeline, _modelDirectory, _history.Count + 1); - _history.Add(suggestedPipelineRunDetails); - WriteIterationLog(pipeline, suggestedPipelineRunDetails, iterationStopwatch); + _history.Add(suggestedPipelineRunDetail); + WriteIterationLog(pipeline, suggestedPipelineRunDetail, iterationStopwatch); - runDetails.RuntimeInSeconds = iterationStopwatch.Elapsed.TotalSeconds; - runDetails.PipelineInferenceTimeInSeconds = getPiplelineStopwatch.Elapsed.TotalSeconds; + runDetail.RuntimeInSeconds = iterationStopwatch.Elapsed.TotalSeconds; + runDetail.PipelineInferenceTimeInSeconds = getPiplelineStopwatch.Elapsed.TotalSeconds; - ReportProgress(runDetails); - iterationResults.Add(runDetails); + ReportProgress(runDetail); + iterationResults.Add(runDetail); // if model is perfect, break - if (_metricsAgent.IsModelPerfect(suggestedPipelineRunDetails.Score)) + if (_metricsAgent.IsModelPerfect(suggestedPipelineRunDetail.Score)) { break; } @@ -120,7 +120,7 @@ private static DirectoryInfo GetModelDirectory(DirectoryInfo rootDir) return experimentDirInfo; } - private void ReportProgress(TRunDetails iterationResult) + private void ReportProgress(TRunDetail iterationResult) { try { @@ -132,7 +132,7 @@ private void ReportProgress(TRunDetails iterationResult) } } - private void WriteIterationLog(SuggestedPipeline pipeline, SuggestedPipelineRunDetails runResult, Stopwatch stopwatch) + private void WriteIterationLog(SuggestedPipeline pipeline, SuggestedPipelineRunDetail runResult, Stopwatch stopwatch) { Log(LogSeverity.Debug, $"{_history.Count}\t{runResult.Score}\t{stopwatch.Elapsed}\t{pipeline.ToString()}"); } diff --git a/src/Microsoft.ML.Auto/Experiment/Runners/CrossValRunner.cs b/src/Microsoft.ML.Auto/Experiment/Runners/CrossValRunner.cs index 9df515450d..f211b3107f 100644 --- a/src/Microsoft.ML.Auto/Experiment/Runners/CrossValRunner.cs +++ b/src/Microsoft.ML.Auto/Experiment/Runners/CrossValRunner.cs @@ -8,7 +8,7 @@ namespace Microsoft.ML.Auto { - internal class CrossValRunner : IRunner> + internal class CrossValRunner : IRunner> where TMetrics : class { private readonly MLContext _context; @@ -41,7 +41,7 @@ public CrossValRunner(MLContext context, _modelInputSchema = trainDatasets[0].Schema; } - public (SuggestedPipelineRunDetails suggestedPipelineRunDetails, CrossValidationRunDetails runDetails) + public (SuggestedPipelineRunDetail suggestedPipelineRunDetail, CrossValidationRunDetail runDetail) Run(SuggestedPipeline pipeline, DirectoryInfo modelDirectory, int iterationNum) { var trainResults = new List>(); @@ -57,9 +57,9 @@ public CrossValRunner(MLContext context, var avgScore = CalcAverageScore(trainResults.Select(r => r.Score)); var allRunsSucceeded = trainResults.All(r => r.Exception == null); - var suggestedPipelineRunDetails = new SuggestedPipelineCrossValRunDetails(pipeline, avgScore, allRunsSucceeded, trainResults); - var runDetails = suggestedPipelineRunDetails.ToIterationResult(_preFeaturizer); - return (suggestedPipelineRunDetails, runDetails); + var suggestedPipelineRunDetail = new SuggestedPipelineCrossValRunDetail(pipeline, avgScore, allRunsSucceeded, trainResults); + var runDetail = suggestedPipelineRunDetail.ToIterationResult(_preFeaturizer); + return (suggestedPipelineRunDetail, runDetail); } private static double CalcAverageScore(IEnumerable scores) diff --git a/src/Microsoft.ML.Auto/Experiment/Runners/CrossValSummaryRunner.cs b/src/Microsoft.ML.Auto/Experiment/Runners/CrossValSummaryRunner.cs index b645a4603c..701baa1663 100644 --- a/src/Microsoft.ML.Auto/Experiment/Runners/CrossValSummaryRunner.cs +++ b/src/Microsoft.ML.Auto/Experiment/Runners/CrossValSummaryRunner.cs @@ -9,7 +9,7 @@ namespace Microsoft.ML.Auto { - internal class CrossValSummaryRunner : IRunner> + internal class CrossValSummaryRunner : IRunner> where TMetrics : class { private readonly MLContext _context; @@ -45,7 +45,7 @@ public CrossValSummaryRunner(MLContext context, _modelInputSchema = trainDatasets[0].Schema; } - public (SuggestedPipelineRunDetails suggestedPipelineRunDetails, RunDetails runDetails) + public (SuggestedPipelineRunDetail suggestedPipelineRunDetail, RunDetail runDetail) Run(SuggestedPipeline pipeline, DirectoryInfo modelDirectory, int iterationNum) { var trainResults = new List<(ModelContainer model, TMetrics metrics, Exception exception, double score)>(); @@ -63,8 +63,8 @@ public CrossValSummaryRunner(MLContext context, if (!allRunsSucceeded) { var firstException = trainResults.First(r => r.exception != null).exception; - var errorRunDetails = new SuggestedPipelineRunDetails(pipeline, double.NaN, false, null, null, firstException); - return (errorRunDetails, errorRunDetails.ToIterationResult(_preFeaturizer)); + var errorRunDetail = new SuggestedPipelineRunDetail(pipeline, double.NaN, false, null, null, firstException); + return (errorRunDetail, errorRunDetail.ToIterationResult(_preFeaturizer)); } // Get the model from the best fold @@ -77,9 +77,9 @@ public CrossValSummaryRunner(MLContext context, var metricsClosestToAvg = trainResults[indexClosestToAvg].metrics; // Build result objects - var suggestedPipelineRunDetails = new SuggestedPipelineRunDetails(pipeline, avgScore, allRunsSucceeded, metricsClosestToAvg, bestModel, null); - var runDetails = suggestedPipelineRunDetails.ToIterationResult(_preFeaturizer); - return (suggestedPipelineRunDetails, runDetails); + var suggestedPipelineRunDetail = new SuggestedPipelineRunDetail(pipeline, avgScore, allRunsSucceeded, metricsClosestToAvg, bestModel, null); + var runDetail = suggestedPipelineRunDetail.ToIterationResult(_preFeaturizer); + return (suggestedPipelineRunDetail, runDetail); } private static int GetIndexClosestToAverage(IEnumerable values, double average) diff --git a/src/Microsoft.ML.Auto/Experiment/Runners/IRunner.cs b/src/Microsoft.ML.Auto/Experiment/Runners/IRunner.cs index 61f780e00a..8bb56fc9d0 100644 --- a/src/Microsoft.ML.Auto/Experiment/Runners/IRunner.cs +++ b/src/Microsoft.ML.Auto/Experiment/Runners/IRunner.cs @@ -6,9 +6,9 @@ namespace Microsoft.ML.Auto { - internal interface IRunner where TRunDetails : RunDetails + internal interface IRunner where TRunDetail : RunDetail { - (SuggestedPipelineRunDetails suggestedPipelineRunDetails, TRunDetails runDetails) + (SuggestedPipelineRunDetail suggestedPipelineRunDetail, TRunDetail runDetail) Run (SuggestedPipeline pipeline, DirectoryInfo modelDirectory, int iterationNum); } } \ No newline at end of file diff --git a/src/Microsoft.ML.Auto/Experiment/Runners/TrainValidateRunner.cs b/src/Microsoft.ML.Auto/Experiment/Runners/TrainValidateRunner.cs index acb1f5e1ad..9226dcbeb0 100644 --- a/src/Microsoft.ML.Auto/Experiment/Runners/TrainValidateRunner.cs +++ b/src/Microsoft.ML.Auto/Experiment/Runners/TrainValidateRunner.cs @@ -6,7 +6,7 @@ namespace Microsoft.ML.Auto { - internal class TrainValidateRunner : IRunner> + internal class TrainValidateRunner : IRunner> where TMetrics : class { private readonly MLContext _context; @@ -39,20 +39,20 @@ public TrainValidateRunner(MLContext context, _modelInputSchema = trainData.Schema; } - public (SuggestedPipelineRunDetails suggestedPipelineRunDetails, RunDetails runDetails) + public (SuggestedPipelineRunDetail suggestedPipelineRunDetail, RunDetail runDetail) Run(SuggestedPipeline pipeline, DirectoryInfo modelDirectory, int iterationNum) { var modelFileInfo = GetModelFileInfo(modelDirectory, iterationNum); var trainResult = RunnerUtil.TrainAndScorePipeline(_context, pipeline, _trainData, _validData, _labelColumn, _metricsAgent, _preprocessorTransform, modelFileInfo, _modelInputSchema, _logger); - var suggestedPipelineRunDetails = new SuggestedPipelineRunDetails(pipeline, + var suggestedPipelineRunDetail = new SuggestedPipelineRunDetail(pipeline, trainResult.score, trainResult.exception == null, trainResult.metrics, trainResult.model, trainResult.exception); - var runDetails = suggestedPipelineRunDetails.ToIterationResult(_preFeaturizer); - return (suggestedPipelineRunDetails, runDetails); + var runDetail = suggestedPipelineRunDetail.ToIterationResult(_preFeaturizer); + return (suggestedPipelineRunDetail, runDetail); } private static FileInfo GetModelFileInfo(DirectoryInfo modelDirectory, int iterationNum) diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineCrossValRunDetails.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineCrossValRunDetail.cs similarity index 74% rename from src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineCrossValRunDetails.cs rename to src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineCrossValRunDetail.cs index e90509f4e2..e21b55428a 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineCrossValRunDetails.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineCrossValRunDetail.cs @@ -32,11 +32,11 @@ public TrainResult ToTrainResult() } } - internal sealed class SuggestedPipelineCrossValRunDetails : SuggestedPipelineRunDetails + internal sealed class SuggestedPipelineCrossValRunDetail : SuggestedPipelineRunDetail { public readonly IEnumerable> Results; - internal SuggestedPipelineCrossValRunDetails(SuggestedPipeline pipeline, + internal SuggestedPipelineCrossValRunDetail(SuggestedPipeline pipeline, double score, bool runSucceeded, IEnumerable> results) : base(pipeline, score, runSucceeded) @@ -44,10 +44,10 @@ internal SuggestedPipelineCrossValRunDetails(SuggestedPipeline pipeline, Results = results; } - public CrossValidationRunDetails ToIterationResult(IEstimator preFeaturizer) + public CrossValidationRunDetail ToIterationResult(IEstimator preFeaturizer) { - var estimator = SuggestedPipelineRunDetailsUtil.PrependPreFeaturizer(Pipeline.ToEstimator(), preFeaturizer); - return new CrossValidationRunDetails(Pipeline.Trainer.TrainerName.ToString(), estimator, + var estimator = SuggestedPipelineRunDetailUtil.PrependPreFeaturizer(Pipeline.ToEstimator(), preFeaturizer); + return new CrossValidationRunDetail(Pipeline.Trainer.TrainerName.ToString(), estimator, Pipeline.ToPipeline(), Results.Select(r => r.ToTrainResult())); } } diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetails.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetail.cs similarity index 59% rename from src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetails.cs rename to src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetail.cs index be9ce4e09d..7cb76e1ab3 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetails.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetail.cs @@ -6,22 +6,22 @@ namespace Microsoft.ML.Auto { - internal class SuggestedPipelineRunDetails + internal class SuggestedPipelineRunDetail { public readonly SuggestedPipeline Pipeline; public readonly bool RunSucceded; public readonly double Score; - public SuggestedPipelineRunDetails(SuggestedPipeline pipeline, double score, bool runSucceeded) + public SuggestedPipelineRunDetail(SuggestedPipeline pipeline, double score, bool runSucceeded) { Pipeline = pipeline; Score = score; RunSucceded = runSucceeded; } - public static SuggestedPipelineRunDetails FromPipelineRunResult(MLContext context, PipelineScore pipelineRunResult) + public static SuggestedPipelineRunDetail FromPipelineRunResult(MLContext context, PipelineScore pipelineRunResult) { - return new SuggestedPipelineRunDetails(SuggestedPipeline.FromPipeline(context, pipelineRunResult.Pipeline), pipelineRunResult.Score, pipelineRunResult.RunSucceded); + return new SuggestedPipelineRunDetail(SuggestedPipeline.FromPipeline(context, pipelineRunResult.Pipeline), pipelineRunResult.Score, pipelineRunResult.RunSucceded); } public IRunResult ToRunResult(bool isMetricMaximizing) @@ -30,13 +30,13 @@ public IRunResult ToRunResult(bool isMetricMaximizing) } } - internal class SuggestedPipelineRunDetails : SuggestedPipelineRunDetails + internal class SuggestedPipelineRunDetail : SuggestedPipelineRunDetail { public readonly TMetrics ValidationMetrics; public readonly ModelContainer ModelContainer; public readonly Exception Exception; - internal SuggestedPipelineRunDetails(SuggestedPipeline pipeline, + internal SuggestedPipelineRunDetail(SuggestedPipeline pipeline, double score, bool runSucceeded, TMetrics validationMetrics, @@ -48,10 +48,10 @@ internal SuggestedPipelineRunDetails(SuggestedPipeline pipeline, Exception = ex; } - public RunDetails ToIterationResult(IEstimator preFeaturizer) + public RunDetail ToIterationResult(IEstimator preFeaturizer) { - var estimator = SuggestedPipelineRunDetailsUtil.PrependPreFeaturizer(Pipeline.ToEstimator(), preFeaturizer); - return new RunDetails(Pipeline.Trainer.TrainerName.ToString(), estimator, + var estimator = SuggestedPipelineRunDetailUtil.PrependPreFeaturizer(Pipeline.ToEstimator(), preFeaturizer); + return new RunDetail(Pipeline.Trainer.TrainerName.ToString(), estimator, Pipeline.ToPipeline(), ModelContainer, ValidationMetrics, Exception); } } diff --git a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetailsUtil.cs b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetailUtil.cs similarity index 90% rename from src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetailsUtil.cs rename to src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetailUtil.cs index d2b08f1cfc..8fcb59b4d5 100644 --- a/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetailsUtil.cs +++ b/src/Microsoft.ML.Auto/Experiment/SuggestedPipelineRunDetails/SuggestedPipelineRunDetailUtil.cs @@ -4,7 +4,7 @@ namespace Microsoft.ML.Auto { - internal static class SuggestedPipelineRunDetailsUtil + internal static class SuggestedPipelineRunDetailUtil { public static IEstimator PrependPreFeaturizer(IEstimator estimator, IEstimator preFeaturizer) { diff --git a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs index 92dcbf7269..ca834ce801 100644 --- a/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs +++ b/src/Microsoft.ML.Auto/PipelineSuggesters/PipelineSuggester.cs @@ -19,13 +19,13 @@ public static Pipeline GetNextPipeline(MLContext context, TaskKind task, bool isMaximizingMetric = true) { - var inferredHistory = history.Select(r => SuggestedPipelineRunDetails.FromPipelineRunResult(context, r)); + var inferredHistory = history.Select(r => SuggestedPipelineRunDetail.FromPipelineRunResult(context, r)); var nextInferredPipeline = GetNextInferredPipeline(context, inferredHistory, columns, task, isMaximizingMetric); return nextInferredPipeline?.ToPipeline(); } public static SuggestedPipeline GetNextInferredPipeline(MLContext context, - IEnumerable history, + IEnumerable history, DatasetColumnInfo[] columns, TaskKind task, bool isMaximizingMetric, @@ -87,7 +87,7 @@ public static SuggestedPipeline GetNextInferredPipeline(MLContext context, /// /// Get top trainers from first stage /// - private static IEnumerable GetTopTrainers(IEnumerable history, + private static IEnumerable GetTopTrainers(IEnumerable history, IEnumerable availableTrainers, bool isMaximizingMetric) { @@ -95,7 +95,7 @@ private static IEnumerable GetTopTrainers(IEnumerable r.Pipeline.Trainer.TrainerName).Select(g => g.First()); - IEnumerable sortedHistory = history.OrderBy(r => r.Score); + IEnumerable sortedHistory = history.OrderBy(r => r.Score); if(isMaximizingMetric) { sortedHistory = sortedHistory.Reverse(); @@ -104,7 +104,7 @@ private static IEnumerable GetTopTrainers(IEnumerable OrderTrainersByNumTrials(IEnumerable history, + private static IEnumerable OrderTrainersByNumTrials(IEnumerable history, IEnumerable selectedTrainers) { var selectedTrainerNames = new HashSet(selectedTrainers.Select(t => t.TrainerName)); @@ -115,7 +115,7 @@ private static IEnumerable OrderTrainersByNumTrials(IEnumerabl } private static SuggestedPipeline GetNextFirstStagePipeline(MLContext context, - IEnumerable history, + IEnumerable history, IEnumerable availableTrainers, ICollection transforms, ICollection transformsPostTrainer, @@ -188,7 +188,7 @@ private static IValueGenerator[] ConvertToValueGenerators(IEnumerable - private static bool SampleHyperparameters(MLContext context, SuggestedTrainer trainer, IEnumerable history, bool isMaximizingMetric) + private static bool SampleHyperparameters(MLContext context, SuggestedTrainer trainer, IEnumerable history, bool isMaximizingMetric) { var sps = ConvertToValueGenerators(trainer.SweepParams); var sweeper = new SmacSweeper(context, @@ -197,7 +197,7 @@ private static bool SampleHyperparameters(MLContext context, SuggestedTrainer tr SweptParameters = sps }); - IEnumerable historyToUse = history + IEnumerable historyToUse = history .Where(r => r.RunSucceded && r.Pipeline.Trainer.TrainerName == trainer.TrainerName && r.Pipeline.Trainer.HyperParamSet != null && r.Pipeline.Trainer.HyperParamSet.Any()); // get new set of hyperparameter values diff --git a/src/Microsoft.ML.Auto/Utils/BestResultUtil.cs b/src/Microsoft.ML.Auto/Utils/BestResultUtil.cs index 4ee532c386..4f8bc384bc 100644 --- a/src/Microsoft.ML.Auto/Utils/BestResultUtil.cs +++ b/src/Microsoft.ML.Auto/Utils/BestResultUtil.cs @@ -9,7 +9,7 @@ namespace Microsoft.ML.Auto { internal class BestResultUtil { - public static RunDetails GetBestRun(IEnumerable> results, + public static RunDetail GetBestRun(IEnumerable> results, IMetricsAgent metricsAgent, bool isMetricMaximizing) { results = results.Where(r => r.ValidationMetrics != null); @@ -19,7 +19,7 @@ public static RunDetails GetBestRun(IEnumerable GetBestRun(IEnumerable> results, + public static CrossValidationRunDetail GetBestRun(IEnumerable> results, IMetricsAgent metricsAgent, bool isMetricMaximizing) { results = results.Where(r => r.Results != null && r.Results.Any(x => x.ValidationMetrics != null)); @@ -29,7 +29,7 @@ public static CrossValidationRunDetails GetBestRun(IEnumerab return results.ElementAt(indexOfBestScore); } - public static IEnumerable<(RunDetails, int)> GetTopNRunResults(IEnumerable> results, + public static IEnumerable<(RunDetail, int)> GetTopNRunResults(IEnumerable> results, IMetricsAgent metricsAgent, int n, bool isMetricMaximizing) { results = results.Where(r => r.ValidationMetrics != null); @@ -37,7 +37,7 @@ public static CrossValidationRunDetails GetBestRun(IEnumerab var indexedValues = results.Select((k, v) => (k, v)); - IEnumerable<(RunDetails, int)> orderedResults; + IEnumerable<(RunDetail, int)> orderedResults; if (isMetricMaximizing) { orderedResults = indexedValues.OrderByDescending(t => metricsAgent.GetScore(t.Item1.ValidationMetrics)); diff --git a/src/Samples/AdvancedTrainingSettings.cs b/src/Samples/AdvancedTrainingSettings.cs index 27ec1d63ee..d6b98af86e 100644 --- a/src/Samples/AdvancedTrainingSettings.cs +++ b/src/Samples/AdvancedTrainingSettings.cs @@ -58,12 +58,12 @@ public static void Run() // STEP 5: Run AutoML experiment Console.WriteLine($"Running AutoML regression experiment for {ExperimentTime} seconds..."); - IEnumerable> runDetails = mlContext.Auto() + IEnumerable> runDetails = mlContext.Auto() .CreateRegressionExperiment(ExperimentTime) .Execute(trainDataView, columnInformation, preFeaturizer); // STEP 6: Print metric from best model - RunDetails best = runDetails.Best(); + RunDetail best = runDetails.Best(); Console.WriteLine($"Total models produced: {runDetails.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); Console.WriteLine($"RSquared of best model from validation data: {best.ValidationMetrics.RSquared}"); diff --git a/src/Samples/AutoTrainBinaryClassification.cs b/src/Samples/AutoTrainBinaryClassification.cs index fe33c91a35..4f801f3ec7 100644 --- a/src/Samples/AutoTrainBinaryClassification.cs +++ b/src/Samples/AutoTrainBinaryClassification.cs @@ -44,12 +44,12 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Running AutoML binary classification experiment for {ExperimentTime} seconds..."); - IEnumerable> runDetails = mlContext.Auto() + IEnumerable> runDetails = mlContext.Auto() .CreateBinaryClassificationExperiment(ExperimentTime) .Execute(trainDataView); // STEP 4: Print metric from the best model - RunDetails best = runDetails.Best(); + RunDetail best = runDetails.Best(); Console.WriteLine($"Total models produced: {runDetails.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); Console.WriteLine($"Accuracy of best model from validation data: {best.ValidationMetrics.Accuracy}"); diff --git a/src/Samples/AutoTrainMulticlassClassification.cs b/src/Samples/AutoTrainMulticlassClassification.cs index 8503587f57..82318ab723 100644 --- a/src/Samples/AutoTrainMulticlassClassification.cs +++ b/src/Samples/AutoTrainMulticlassClassification.cs @@ -44,12 +44,12 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Running AutoML multiclass classification experiment for {ExperimentTime} seconds..."); - IEnumerable> runDetails = mlContext.Auto() + IEnumerable> runDetails = mlContext.Auto() .CreateMulticlassClassificationExperiment(ExperimentTime) .Execute(trainDataView); // STEP 4: Print metric from the best model - RunDetails best = runDetails.Best(); + RunDetail best = runDetails.Best(); Console.WriteLine($"Total models produced: {runDetails.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); Console.WriteLine($"AccuracyMacro of best model from validation data: {best.ValidationMetrics.MacroAccuracy}"); diff --git a/src/Samples/AutoTrainRegression.cs b/src/Samples/AutoTrainRegression.cs index 7f584690da..68350c63f0 100644 --- a/src/Samples/AutoTrainRegression.cs +++ b/src/Samples/AutoTrainRegression.cs @@ -50,12 +50,12 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Running AutoML regression experiment for {ExperimentTime} seconds..."); - IEnumerable> runDetails = mlContext.Auto() + IEnumerable> runDetails = mlContext.Auto() .CreateRegressionExperiment(ExperimentTime) .Execute(trainDataView, LabelColumn); // STEP 4: Print metric from best model - RunDetails best = runDetails.Best(); + RunDetail best = runDetails.Best(); Console.WriteLine($"Total models produced: {runDetails.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); Console.WriteLine($"RSquared of best model from validation data: {best.ValidationMetrics.RSquared}"); diff --git a/src/Samples/Cancellation.cs b/src/Samples/Cancellation.cs index f57ffdb9d8..29c97782da 100644 --- a/src/Samples/Cancellation.cs +++ b/src/Samples/Cancellation.cs @@ -58,7 +58,7 @@ public static void Run() MaxExperimentTimeInSeconds = 3600, CancellationToken = cts.Token }); - IEnumerable> runDetails = new List>(); + IEnumerable> runDetails = new List>(); Console.WriteLine($"Running AutoML experiment..."); Task experimentTask = Task.Run(() => { diff --git a/src/Samples/CrossValidation.cs b/src/Samples/CrossValidation.cs index e7a9988e30..f4a9d2f452 100644 --- a/src/Samples/CrossValidation.cs +++ b/src/Samples/CrossValidation.cs @@ -49,12 +49,12 @@ public static void Run() // STEP 3: Start an AutoML experiment using 5 cross validation folds Console.WriteLine($"Running AutoML regression experiment for {ExperimentTime} seconds..."); - IEnumerable> runDetails = mlContext.Auto() + IEnumerable> runDetails = mlContext.Auto() .CreateRegressionExperiment(ExperimentTime) .Execute(trainDataView, 5, LabelColumn); // STEP 4: Print metrics from best iteration - CrossValidationRunDetails best = runDetails.Best(); + CrossValidationRunDetail best = runDetails.Best(); Console.WriteLine($"Total models produced: {runDetails.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); for (var i = 0; i < best.Results.Count(); i++) diff --git a/src/Samples/InferColumns.cs b/src/Samples/InferColumns.cs index e619c3fded..bfe0032faa 100644 --- a/src/Samples/InferColumns.cs +++ b/src/Samples/InferColumns.cs @@ -37,12 +37,12 @@ public static void Run() // STEP 3: Auto featurize, auto train and auto hyperparameter tune Console.WriteLine($"Running AutoML regression experiment for {ExperimentTime} seconds..."); - IEnumerable> runDetails = mlContext.Auto() + IEnumerable> runDetails = mlContext.Auto() .CreateRegressionExperiment(ExperimentTime) .Execute(trainDataView, columnInference.ColumnInformation); // STEP 4: Print metric from best model - RunDetails best = runDetails.Best(); + RunDetail best = runDetails.Best(); Console.WriteLine($"Total models produced: {runDetails.Count()}"); Console.WriteLine($"Best model's trainer: {best.TrainerName}"); Console.WriteLine($"RSquared of best model from validation data: {best.ValidationMetrics.RSquared}"); diff --git a/src/Samples/ObserveProgress.cs b/src/Samples/ObserveProgress.cs index a022971604..8cf53aa7ba 100644 --- a/src/Samples/ObserveProgress.cs +++ b/src/Samples/ObserveProgress.cs @@ -56,7 +56,7 @@ public static void Run() } } - class ProgressHandler : IProgress> + class ProgressHandler : IProgress> { int iterationIndex; private bool _initialized = false; @@ -65,7 +65,7 @@ public ProgressHandler() { } - public void Report(RunDetails iterationResult) + public void Report(RunDetail iterationResult) { if (!_initialized) { diff --git a/src/Samples/Program.cs b/src/Samples/Program.cs index af74c26a96..0e0cc8694e 100644 --- a/src/Samples/Program.cs +++ b/src/Samples/Program.cs @@ -46,7 +46,7 @@ public static void Main(string[] args) } catch (Exception ex) { - Console.WriteLine($"Exception {ex.ToString()}"); + Console.WriteLine($"Exception {ex}"); } Console.ReadLine(); diff --git a/src/Samples/RefitBestModel.cs b/src/Samples/RefitBestModel.cs index a6f9c56bc7..65fb3795e1 100644 --- a/src/Samples/RefitBestModel.cs +++ b/src/Samples/RefitBestModel.cs @@ -53,12 +53,12 @@ public static void Run() // STEP 4: Auto-featurization, model selection, and hyperparameter tuning Console.WriteLine($"Running AutoML regression experiment for {ExperimentTime} seconds..."); - IEnumerable> runDetails = mlContext.Auto() + IEnumerable> runDetails = mlContext.Auto() .CreateRegressionExperiment(ExperimentTime) .Execute(smallTrainDataView, LabelColumn); // STEP 5: Refit best model on entire training data - RunDetails best = runDetails.Best(); + RunDetail best = runDetails.Best(); var refitBestModel = best.Estimator.Fit(trainDataView); // STEP 6: Evaluate test data diff --git a/src/Test/BestResultUtilTests.cs b/src/Test/BestResultUtilTests.cs index b7e2aa5b58..a0693e582f 100644 --- a/src/Test/BestResultUtilTests.cs +++ b/src/Test/BestResultUtilTests.cs @@ -18,12 +18,12 @@ public void FindBestResultWithSomeNullMetrics() var metrics2 = MetricsUtil.CreateRegressionMetrics(0.3, 0.3, 0.3, 0.3, 0.3); var metrics3 = MetricsUtil.CreateRegressionMetrics(0.1, 0.1, 0.1, 0.1, 0.1); - var runResults = new List>() + var runResults = new List>() { - new RunDetails(null, null, null, null, null, null), - new RunDetails(null, null, null, null, metrics1, null), - new RunDetails(null, null, null, null, metrics2, null), - new RunDetails(null, null, null, null, metrics3, null), + new RunDetail(null, null, null, null, null, null), + new RunDetail(null, null, null, null, metrics1, null), + new RunDetail(null, null, null, null, metrics2, null), + new RunDetail(null, null, null, null, metrics3, null), }; var metricsAgent = new RegressionMetricsAgent(null, RegressionMetric.RSquared); @@ -34,9 +34,9 @@ public void FindBestResultWithSomeNullMetrics() [TestMethod] public void FindBestResultWithAllNullMetrics() { - var runResults = new List>() + var runResults = new List>() { - new RunDetails(null, null, null, null, null, null), + new RunDetail(null, null, null, null, null, null), }; var metricsAgent = new RegressionMetricsAgent(null, RegressionMetric.RSquared); diff --git a/src/mlnet/AutoML/AutoMLEngine.cs b/src/mlnet/AutoML/AutoMLEngine.cs index 7aba3321b6..713009205f 100644 --- a/src/mlnet/AutoML/AutoMLEngine.cs +++ b/src/mlnet/AutoML/AutoMLEngine.cs @@ -45,7 +45,7 @@ public ColumnInferenceResults InferColumns(MLContext context, ColumnInformation return columnInference; } - IEnumerable> IAutoMLEngine.ExploreBinaryClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, BinaryClassificationMetric optimizationMetric, ProgressBar progressBar) + IEnumerable> IAutoMLEngine.ExploreBinaryClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, BinaryClassificationMetric optimizationMetric, ProgressBar progressBar) { var progressReporter = new ProgressHandlers.BinaryClassificationHandler(optimizationMetric, progressBar); var result = context.Auto() @@ -61,7 +61,7 @@ IEnumerable> IAutoMLEngine.ExploreBinary return result; } - IEnumerable> IAutoMLEngine.ExploreRegressionModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, RegressionMetric optimizationMetric, ProgressBar progressBar) + IEnumerable> IAutoMLEngine.ExploreRegressionModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, RegressionMetric optimizationMetric, ProgressBar progressBar) { var progressReporter = new ProgressHandlers.RegressionHandler(optimizationMetric, progressBar); var result = context.Auto() @@ -76,7 +76,7 @@ IEnumerable> IAutoMLEngine.ExploreRegressionModels return result; } - IEnumerable> IAutoMLEngine.ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar) + IEnumerable> IAutoMLEngine.ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar) { var progressReporter = new ProgressHandlers.MulticlassClassificationHandler(optimizationMetric, progressBar); var result = context.Auto() diff --git a/src/mlnet/AutoML/IAutoMLEngine.cs b/src/mlnet/AutoML/IAutoMLEngine.cs index 399b42f990..97b460585d 100644 --- a/src/mlnet/AutoML/IAutoMLEngine.cs +++ b/src/mlnet/AutoML/IAutoMLEngine.cs @@ -13,11 +13,11 @@ internal interface IAutoMLEngine { ColumnInferenceResults InferColumns(MLContext context, ColumnInformation columnInformation); - IEnumerable> ExploreBinaryClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, BinaryClassificationMetric optimizationMetric, ProgressBar progressBar); + IEnumerable> ExploreBinaryClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, BinaryClassificationMetric optimizationMetric, ProgressBar progressBar); - IEnumerable> ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar); + IEnumerable> ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar); - IEnumerable> ExploreRegressionModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, RegressionMetric optimizationMetric, ProgressBar progressBar); + IEnumerable> ExploreRegressionModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, RegressionMetric optimizationMetric, ProgressBar progressBar); } } diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index 04afd70ada..13f8fe55f7 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -74,9 +74,9 @@ public void GenerateCode() // The reason why we are doing this way of defining 3 different results is because of the AutoML API // i.e there is no common class/interface to handle all three tasks together. - IEnumerable> binaryRunDetails = default; - IEnumerable> multiRunDetails = default; - IEnumerable> regressionRunDetails = default; + IEnumerable> binaryRunDetails = default; + IEnumerable> multiRunDetails = default; + IEnumerable> regressionRunDetails = default; Console.WriteLine($"{Strings.ExplorePipeline}: {settings.MlTask}"); Console.WriteLine($"{Strings.FurtherLearning}: {Strings.LearningHttpLink}"); diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 040bb324b5..b32ea155fe 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -68,7 +68,7 @@ internal static string CreateRow(string message, int width) return "|" + message.PadRight(width - 2) + "|"; } - internal static void PrintIterationSummary(IEnumerable> results, BinaryClassificationMetric optimizationMetric, int count) + internal static void PrintIterationSummary(IEnumerable> results, BinaryClassificationMetric optimizationMetric, int count) { var metricsAgent = new BinaryMetricsAgent(null, optimizationMetric); var topNResults = BestResultUtil.GetTopNRunResults(results, metricsAgent, count, new OptimizingMetricInfo(optimizationMetric).IsMaximizing); @@ -86,7 +86,7 @@ internal static void PrintIterationSummary(IEnumerable> results, RegressionMetric optimizationMetric, int count) + internal static void PrintIterationSummary(IEnumerable> results, RegressionMetric optimizationMetric, int count) { var metricsAgent = new RegressionMetricsAgent(null, optimizationMetric); var topNResults = BestResultUtil.GetTopNRunResults(results, metricsAgent, count, new OptimizingMetricInfo(optimizationMetric).IsMaximizing); @@ -104,7 +104,7 @@ internal static void PrintIterationSummary(IEnumerable> results, MulticlassClassificationMetric optimizationMetric, int count) + internal static void PrintIterationSummary(IEnumerable> results, MulticlassClassificationMetric optimizationMetric, int count) { var metricsAgent = new MultiMetricsAgent(null, optimizationMetric); var topNResults = BestResultUtil.GetTopNRunResults(results, metricsAgent, count, new OptimizingMetricInfo(optimizationMetric).IsMaximizing); diff --git a/src/mlnet/Utilities/ProgressHandlers.cs b/src/mlnet/Utilities/ProgressHandlers.cs index 9032335b15..cffef1854d 100644 --- a/src/mlnet/Utilities/ProgressHandlers.cs +++ b/src/mlnet/Utilities/ProgressHandlers.cs @@ -17,11 +17,11 @@ private static int MetricComparator(double a, double b, bool isMaximizing) return (isMaximizing ? a.CompareTo(b) : -a.CompareTo(b)); } - internal class RegressionHandler : IProgress> + internal class RegressionHandler : IProgress> { private readonly bool isMaximizing; - private readonly Func, double> GetScore; - private RunDetails bestResult; + private readonly Func, double> GetScore; + private RunDetail bestResult; private int iterationIndex; private ProgressBar progressBar; private string optimizationMetric = string.Empty; @@ -31,11 +31,11 @@ public RegressionHandler(RegressionMetric optimizationMetric, ShellProgressBar.P this.isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; this.optimizationMetric = optimizationMetric.ToString(); this.progressBar = progressBar; - GetScore = (RunDetails result) => new RegressionMetricsAgent(null, optimizationMetric).GetScore(result?.ValidationMetrics); + GetScore = (RunDetail result) => new RegressionMetricsAgent(null, optimizationMetric).GetScore(result?.ValidationMetrics); ConsolePrinter.PrintRegressionMetricsHeader(LogLevel.Trace); } - public void Report(RunDetails iterationResult) + public void Report(RunDetail iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); @@ -47,7 +47,7 @@ public void Report(RunDetails iterationResult) } } - private void UpdateBestResult(RunDetails iterationResult) + private void UpdateBestResult(RunDetail iterationResult) { if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) { @@ -56,11 +56,11 @@ private void UpdateBestResult(RunDetails iterationResult) } } - internal class BinaryClassificationHandler : IProgress> + internal class BinaryClassificationHandler : IProgress> { private readonly bool isMaximizing; - private readonly Func, double> GetScore; - private RunDetails bestResult; + private readonly Func, double> GetScore; + private RunDetail bestResult; private int iterationIndex; private ProgressBar progressBar; private string optimizationMetric = string.Empty; @@ -70,11 +70,11 @@ public BinaryClassificationHandler(BinaryClassificationMetric optimizationMetric this.isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; this.optimizationMetric = optimizationMetric.ToString(); this.progressBar = progressBar; - GetScore = (RunDetails result) => new BinaryMetricsAgent(null, optimizationMetric).GetScore(result?.ValidationMetrics); + GetScore = (RunDetail result) => new BinaryMetricsAgent(null, optimizationMetric).GetScore(result?.ValidationMetrics); ConsolePrinter.PrintBinaryClassificationMetricsHeader(LogLevel.Trace); } - public void Report(RunDetails iterationResult) + public void Report(RunDetail iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); @@ -86,7 +86,7 @@ public void Report(RunDetails iterationResult) } } - private void UpdateBestResult(RunDetails iterationResult) + private void UpdateBestResult(RunDetail iterationResult) { if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) { @@ -95,11 +95,11 @@ private void UpdateBestResult(RunDetails iterationR } } - internal class MulticlassClassificationHandler : IProgress> + internal class MulticlassClassificationHandler : IProgress> { private readonly bool isMaximizing; - private readonly Func, double> GetScore; - private RunDetails bestResult; + private readonly Func, double> GetScore; + private RunDetail bestResult; private int iterationIndex; private ProgressBar progressBar; private string optimizationMetric = string.Empty; @@ -109,11 +109,11 @@ public MulticlassClassificationHandler(MulticlassClassificationMetric optimizati this.isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; this.optimizationMetric = optimizationMetric.ToString(); this.progressBar = progressBar; - GetScore = (RunDetails result) => new MultiMetricsAgent(null, optimizationMetric).GetScore(result?.ValidationMetrics); + GetScore = (RunDetail result) => new MultiMetricsAgent(null, optimizationMetric).GetScore(result?.ValidationMetrics); ConsolePrinter.PrintMulticlassClassificationMetricsHeader(LogLevel.Trace); } - public void Report(RunDetails iterationResult) + public void Report(RunDetail iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); @@ -125,7 +125,7 @@ public void Report(RunDetails iterationResult) } } - private void UpdateBestResult(RunDetails iterationResult) + private void UpdateBestResult(RunDetail iterationResult) { if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) { From ba08a53bf87d20f6a2a3e9a9db636c53ad8b0ed8 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 9 Apr 2019 14:23:41 -0700 Subject: [PATCH 198/211] command line api upgrade and progress bar rendering bug (#366) * added fix for all platforms progress bar * upgrade nuget * removed args from writeline --- src/mlnet/ProgressBar/ProgressBar.cs | 2 ++ src/mlnet/mlnet.csproj | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mlnet/ProgressBar/ProgressBar.cs b/src/mlnet/ProgressBar/ProgressBar.cs index cde36e4693..07a7b23e6c 100644 --- a/src/mlnet/ProgressBar/ProgressBar.cs +++ b/src/mlnet/ProgressBar/ProgressBar.cs @@ -33,6 +33,8 @@ public ProgressBar(int maxTicks, string message, ConsoleColor color) public ProgressBar(int maxTicks, string message, ProgressBarOptions options = null) : base(maxTicks, message, options) { + Console.WriteLine(); + Console.SetCursorPosition(Console.CursorLeft, Console.CursorTop - 1); _originalCursorTop = Console.CursorTop; _originalWindowTop = Console.WindowTop; _originalColor = Console.ForegroundColor; diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index c80b20076d..563c0be602 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -13,7 +13,7 @@ - + From 9b6adcd7c04251f5747366c01b63eff065397328 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Tue, 9 Apr 2019 15:14:34 -0700 Subject: [PATCH 199/211] change in the version (#368) --- build/BranchInfo.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/BranchInfo.props b/build/BranchInfo.props index 1af04d614e..bf53c404ce 100644 --- a/build/BranchInfo.props +++ b/build/BranchInfo.props @@ -1,8 +1,8 @@ 0 - 1 - 0 + 2 + 1 preview From 4f9dc407259e9fbd12c09760f9932c6e44fff9f7 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 10 Apr 2019 12:21:57 -0700 Subject: [PATCH 200/211] fix few bugs in progressbar and verbosity (#374) * fix few bugs in progressbar and verbosity * removed unused name space --- src/mlnet/AutoML/IAutoMLEngine.cs | 6 +- .../CodeGenerator/CodeGenerationHelper.cs | 71 ++++++++++++------- src/mlnet/ProgressBar/ProgressBar.cs | 2 +- src/mlnet/Utilities/ProgressHandlers.cs | 9 ++- src/mlnet/Utilities/Utils.cs | 3 +- 5 files changed, 58 insertions(+), 33 deletions(-) diff --git a/src/mlnet/AutoML/IAutoMLEngine.cs b/src/mlnet/AutoML/IAutoMLEngine.cs index 97b460585d..b7ffc57652 100644 --- a/src/mlnet/AutoML/IAutoMLEngine.cs +++ b/src/mlnet/AutoML/IAutoMLEngine.cs @@ -13,11 +13,11 @@ internal interface IAutoMLEngine { ColumnInferenceResults InferColumns(MLContext context, ColumnInformation columnInformation); - IEnumerable> ExploreBinaryClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, BinaryClassificationMetric optimizationMetric, ProgressBar progressBar); + IEnumerable> ExploreBinaryClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, BinaryClassificationMetric optimizationMetric, ProgressBar progressBar = null); - IEnumerable> ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar); + IEnumerable> ExploreMultiClassificationModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar = null); - IEnumerable> ExploreRegressionModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, RegressionMetric optimizationMetric, ProgressBar progressBar); + IEnumerable> ExploreRegressionModels(MLContext context, IDataView trainData, IDataView validationData, ColumnInformation columnInformation, RegressionMetric optimizationMetric, ProgressBar progressBar = null); } } diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index 13f8fe55f7..6a4bab610e 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -91,45 +91,68 @@ public void GenerateCode() BackgroundCharacter = '─', }; var wait = TimeSpan.FromSeconds(settings.MaxExplorationTime); - using (var pbar = new FixedDurationBar(wait, "", options)) + var verboseLevel = Utils.GetVerbosity(settings.Verbosity); + if (verboseLevel > LogLevel.Trace && !Console.IsOutputRedirected) + { + using (var pbar = new FixedDurationBar(wait, "", options)) + { + Thread t = default; + switch (taskKind) + { + case TaskKind.BinaryClassification: + t = new Thread(() => binaryRunDetails = automlEngine.ExploreBinaryClassificationModels(context, trainData, validationData, columnInformation, new BinaryExperimentSettings().OptimizingMetric, pbar)); + t.Start(); + break; + case TaskKind.Regression: + t = new Thread(() => regressionRunDetails = automlEngine.ExploreRegressionModels(context, trainData, validationData, columnInformation, new RegressionExperimentSettings().OptimizingMetric, pbar)); + t.Start(); + break; + case TaskKind.MulticlassClassification: + t = new Thread(() => multiRunDetails = automlEngine.ExploreMultiClassificationModels(context, trainData, validationData, columnInformation, new MulticlassExperimentSettings().OptimizingMetric, pbar)); + t.Start(); + break; + default: + logger.Log(LogLevel.Error, Strings.UnsupportedMlTask); + break; + } + + if (!pbar.CompletedHandle.WaitOne(wait)) + pbar.Message = $"{nameof(FixedDurationBar)} did not signal {nameof(FixedDurationBar.CompletedHandle)} after {wait}"; + + if (t.IsAlive == true) + { + string waitingMessage = "Waiting for the last iteration to complete ..."; + string originalMessage = pbar.Message; + pbar.Message = waitingMessage; + t.Join(); + if (waitingMessage.Equals(pbar.Message)) + { + // Corner cases where thread was alive but has completed all iterations. + pbar.Message = originalMessage; + } + } + } + } + else { - Thread t = default; switch (taskKind) { case TaskKind.BinaryClassification: - t = new Thread(() => binaryRunDetails = automlEngine.ExploreBinaryClassificationModels(context, trainData, validationData, columnInformation, new BinaryExperimentSettings().OptimizingMetric, pbar)); - t.Start(); + binaryRunDetails = automlEngine.ExploreBinaryClassificationModels(context, trainData, validationData, columnInformation, new BinaryExperimentSettings().OptimizingMetric); break; case TaskKind.Regression: - t = new Thread(() => regressionRunDetails = automlEngine.ExploreRegressionModels(context, trainData, validationData, columnInformation, new RegressionExperimentSettings().OptimizingMetric, pbar)); - t.Start(); + regressionRunDetails = automlEngine.ExploreRegressionModels(context, trainData, validationData, columnInformation, new RegressionExperimentSettings().OptimizingMetric); break; case TaskKind.MulticlassClassification: - t = new Thread(() => multiRunDetails = automlEngine.ExploreMultiClassificationModels(context, trainData, validationData, columnInformation, new MulticlassExperimentSettings().OptimizingMetric, pbar)); - t.Start(); + multiRunDetails = automlEngine.ExploreMultiClassificationModels(context, trainData, validationData, columnInformation, new MulticlassExperimentSettings().OptimizingMetric); break; default: logger.Log(LogLevel.Error, Strings.UnsupportedMlTask); break; } - - if (!pbar.CompletedHandle.WaitOne(wait)) - pbar.Message = $"{nameof(FixedDurationBar)} did not signal {nameof(FixedDurationBar.CompletedHandle)} after {wait}"; - - if (t.IsAlive == true) - { - string waitingMessage = "Waiting for the last iteration to complete ..."; - string originalMessage = pbar.Message; - pbar.Message = waitingMessage; - t.Join(); - if (waitingMessage.Equals(pbar.Message)) - { - // Corner cases where thread was alive but has completed all iterations. - pbar.Message = originalMessage; - } - } } + } catch (Exception e) { diff --git a/src/mlnet/ProgressBar/ProgressBar.cs b/src/mlnet/ProgressBar/ProgressBar.cs index 07a7b23e6c..d4a074a0b4 100644 --- a/src/mlnet/ProgressBar/ProgressBar.cs +++ b/src/mlnet/ProgressBar/ProgressBar.cs @@ -34,7 +34,7 @@ public ProgressBar(int maxTicks, string message, ProgressBarOptions options = nu : base(maxTicks, message, options) { Console.WriteLine(); - Console.SetCursorPosition(Console.CursorLeft, Console.CursorTop - 1); + Console.SetCursorPosition(Console.CursorLeft, Math.Max(0, Console.CursorTop - 1)); _originalCursorTop = Console.CursorTop; _originalWindowTop = Console.WindowTop; _originalColor = Console.ForegroundColor; diff --git a/src/mlnet/Utilities/ProgressHandlers.cs b/src/mlnet/Utilities/ProgressHandlers.cs index cffef1854d..0da961625a 100644 --- a/src/mlnet/Utilities/ProgressHandlers.cs +++ b/src/mlnet/Utilities/ProgressHandlers.cs @@ -39,7 +39,8 @@ public void Report(RunDetail iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); - progressBar.Message = $"Best {this.optimizationMetric}: {GetScore(bestResult):F4}, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; + if (progressBar != null) + progressBar.Message = $"Best {this.optimizationMetric}: {GetScore(bestResult):F4}, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; ConsolePrinter.PrintMetrics(iterationIndex, iterationResult?.TrainerName, iterationResult?.ValidationMetrics, GetScore(bestResult), iterationResult?.RuntimeInSeconds, LogLevel.Trace); if (iterationResult.Exception != null) { @@ -78,7 +79,8 @@ public void Report(RunDetail iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); - progressBar.Message = $"Best {this.optimizationMetric}: {GetScore(bestResult):F4}, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; + if (progressBar != null) + progressBar.Message = $"Best {this.optimizationMetric}: {GetScore(bestResult):F4}, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; ConsolePrinter.PrintMetrics(iterationIndex, iterationResult?.TrainerName, iterationResult?.ValidationMetrics, GetScore(bestResult), iterationResult?.RuntimeInSeconds, LogLevel.Trace); if (iterationResult.Exception != null) { @@ -117,7 +119,8 @@ public void Report(RunDetail iterationResult) { iterationIndex++; UpdateBestResult(iterationResult); - progressBar.Message = $"Best {this.optimizationMetric}: {GetScore(bestResult):F4}, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; + if (progressBar != null) + progressBar.Message = $"Best {this.optimizationMetric}: {GetScore(bestResult):F4}, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; ConsolePrinter.PrintMetrics(iterationIndex, iterationResult?.TrainerName, iterationResult?.ValidationMetrics, GetScore(bestResult), iterationResult?.RuntimeInSeconds, LogLevel.Trace); if (iterationResult.Exception != null) { diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index c4459562e5..8c07e68960 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System; -using System.Collections.Generic; using System.IO; using System.Linq; using Microsoft.CodeAnalysis; @@ -26,7 +25,7 @@ internal static LogLevel GetVerbosity(string verbosity) case "m": return LogLevel.Info; case "diag": - return LogLevel.Debug; + return LogLevel.Trace; default: return LogLevel.Info; } From 96d2427cf1ff3634e7a0f70145a95e2b6080d4c9 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Wed, 10 Apr 2019 16:27:36 -0700 Subject: [PATCH 201/211] Fix for folders with space in it while generating project (#376) * support for folders with spaces * added support for paths with space * revert file * change name of var * remove spaces --- src/mlnet/Utilities/Utils.cs | 62 ++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 27 deletions(-) diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index 8c07e68960..3b88fd6e46 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -150,8 +150,6 @@ internal static ColumnInformation GetSanitizedColumnInformation(ColumnInformatio { result.TextColumnNames.Add(Sanitize(value)); } - - return result; } @@ -174,7 +172,7 @@ internal static string FormatCode(string trainProgramCSFileContent) } - internal static void AddProjectsToSolution(string modelprojectDir, + internal static int AddProjectsToSolution(string modelprojectDir, string modelProjectName, string predictProjectDir, string predictProjectName, @@ -182,34 +180,44 @@ internal static void AddProjectsToSolution(string modelprojectDir, string trainProjectName, string solutionName) { - var proc2 = new System.Diagnostics.Process(); - proc2.StartInfo.FileName = @"dotnet"; - - proc2.StartInfo.Arguments = $"sln {solutionName} add {Path.Combine(trainProjectDir, trainProjectName)} {Path.Combine(predictProjectDir, predictProjectName)} {Path.Combine(modelprojectDir, modelProjectName)}"; - proc2.StartInfo.UseShellExecute = false; - proc2.StartInfo.RedirectStandardOutput = true; - proc2.Start(); - string outPut2 = proc2.StandardOutput.ReadToEnd(); - - proc2.WaitForExit(); - var exitCode2 = proc2.ExitCode; - proc2.Close(); + var proc = new System.Diagnostics.Process(); + try + { + proc.StartInfo.FileName = @"dotnet"; + proc.StartInfo.Arguments = $"sln \"{solutionName}\" add \"{Path.Combine(trainProjectDir, trainProjectName)}\" \"{Path.Combine(predictProjectDir, predictProjectName)}\" \"{Path.Combine(modelprojectDir, modelProjectName)}\""; + proc.StartInfo.UseShellExecute = false; + proc.StartInfo.RedirectStandardOutput = true; + proc.Start(); + string outPut = proc.StandardOutput.ReadToEnd(); + proc.WaitForExit(); + var exitCode = proc.ExitCode; + return exitCode; + } + finally + { + proc.Close(); + } } - internal static void CreateSolutionFile(string solutionFile, string outputPath) + internal static int CreateSolutionFile(string solutionFile, string outputPath) { var proc = new System.Diagnostics.Process(); - proc.StartInfo.FileName = @"dotnet"; - - proc.StartInfo.Arguments = $"new sln --name {solutionFile} --output {outputPath} --force"; - proc.StartInfo.UseShellExecute = false; - proc.StartInfo.RedirectStandardOutput = true; - proc.Start(); - string outPut = proc.StandardOutput.ReadToEnd(); - - proc.WaitForExit(); - var exitCode = proc.ExitCode; - proc.Close(); + try + { + proc.StartInfo.FileName = @"dotnet"; + proc.StartInfo.Arguments = $"new sln --name \"{solutionFile}\" --output \"{outputPath}\" --force"; + proc.StartInfo.UseShellExecute = false; + proc.StartInfo.RedirectStandardOutput = true; + proc.Start(); + string outPut = proc.StandardOutput.ReadToEnd(); + proc.WaitForExit(); + var exitCode = proc.ExitCode; + return exitCode; + } + finally + { + proc.Close(); + } } } } From 40496fdf1ebdad9947e7db238868a42cdccb705b Mon Sep 17 00:00:00 2001 From: daholste <43974253+daholste@users.noreply.github.com> Date: Thu, 11 Apr 2019 11:19:45 -0700 Subject: [PATCH 202/211] SMAC fix for minimizing metrics (#363) --- src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs b/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs index 381d40ed1c..a9484aeff0 100644 --- a/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs +++ b/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs @@ -165,25 +165,22 @@ private ParameterSet[] GenerateCandidateConfigurations(int numOfCandidates, IEnu /// Array of parameter sets, which will then be evaluated. private ParameterSet[] GreedyPlusRandomSearch(ParameterSet[] parents, FastForestRegressionModelParameters forest, int numOfCandidates, IEnumerable previousRuns) { - // REVIEW: The IsMetricMaximizing flag affects the comparator, so that - // performing Max() should get the best, regardless of if it is maximizing or - // minimizing. RunResult bestRun = (RunResult)previousRuns.Max(); RunResult worstRun = (RunResult)previousRuns.Min(); - double bestVal = bestRun.IsMetricMaximizing ? bestRun.MetricValue : worstRun.MetricValue - bestRun.MetricValue; + double bestVal = bestRun.MetricValue; HashSet> configurations = new HashSet>(); // Perform local search. foreach (ParameterSet c in parents) { - Tuple bestChildKvp = LocalSearch(c, forest, bestVal, _args.Epsilon); + Tuple bestChildKvp = LocalSearch(c, forest, bestVal, _args.Epsilon, bestRun.IsMetricMaximizing); configurations.Add(bestChildKvp); } // Additional set of random configurations to choose from during local search. ParameterSet[] randomConfigs = _randomSweeper.ProposeSweeps(_args.NumRandomEISearchConfigurations, previousRuns); - double[] randomEIs = EvaluateConfigurationsByEI(forest, bestVal, randomConfigs); + double[] randomEIs = EvaluateConfigurationsByEI(forest, bestVal, randomConfigs, bestRun.IsMetricMaximizing); AutoMlUtils.Assert(randomConfigs.Length == randomEIs.Length); for (int i = 0; i < randomConfigs.Length; i++) @@ -210,17 +207,17 @@ private ParameterSet[] GreedyPlusRandomSearch(ParameterSet[] parents, FastForest /// Best performance seen thus far. /// Threshold for when to stop the local search. /// - private Tuple LocalSearch(ParameterSet parent, FastForestRegressionModelParameters forest, double bestVal, double epsilon) + private Tuple LocalSearch(ParameterSet parent, FastForestRegressionModelParameters forest, double bestVal, double epsilon, bool isMetricMaximizing) { try { - double currentBestEI = EvaluateConfigurationsByEI(forest, bestVal, new ParameterSet[] { parent })[0]; + double currentBestEI = EvaluateConfigurationsByEI(forest, bestVal, new ParameterSet[] { parent }, isMetricMaximizing)[0]; ParameterSet currentBestConfig = parent; for (; ; ) { ParameterSet[] neighborhood = GetOneMutationNeighborhood(currentBestConfig); - double[] eis = EvaluateConfigurationsByEI(forest, bestVal, neighborhood); + double[] eis = EvaluateConfigurationsByEI(forest, bestVal, neighborhood, isMetricMaximizing); int bestIndex = eis.ArgMax(); if (eis[bestIndex] - currentBestEI < _args.Epsilon) break; @@ -366,11 +363,11 @@ private double[][] ComputeForestStats(double[][] leafValues) return meansAndStdDevs; } - private double[] EvaluateConfigurationsByEI(FastForestRegressionModelParameters forest, double bestVal, ParameterSet[] configs) + private double[] EvaluateConfigurationsByEI(FastForestRegressionModelParameters forest, double bestVal, ParameterSet[] configs, bool isMetricMaximizing) { double[][] leafPredictions = GetForestRegressionLeafValues(forest, configs); double[][] forestStatistics = ComputeForestStats(leafPredictions); - return ComputeEIs(bestVal, forestStatistics); + return ComputeEIs(bestVal, forestStatistics, isMetricMaximizing); } private ParameterSet[] GetKBestConfigurations(IEnumerable previousRuns, int k = 10) @@ -397,11 +394,15 @@ private ParameterSet[] GetKBestConfigurations(IEnumerable previousRu return outSet.ToArray(); } - private double ComputeEI(double bestVal, double[] forestStatistics) + private double ComputeEI(double bestVal, double[] forestStatistics, bool isMetricMaximizing) { double empMean = forestStatistics[0]; double empStdDev = forestStatistics[1]; double centered = empMean - bestVal; + if (!isMetricMaximizing) + { + centered *= -1; + } if (empStdDev == 0) { return centered; @@ -410,11 +411,11 @@ private double ComputeEI(double bestVal, double[] forestStatistics) return centered * SweeperProbabilityUtils.StdNormalCdf(ztrans) + empStdDev * SweeperProbabilityUtils.StdNormalPdf(ztrans); } - private double[] ComputeEIs(double bestVal, double[][] forestStatistics) + private double[] ComputeEIs(double bestVal, double[][] forestStatistics, bool isMetricMaximizing) { double[] eis = new double[forestStatistics.Length]; for (int i = 0; i < forestStatistics.Length; i++) - eis[i] = ComputeEI(bestVal, forestStatistics[i]); + eis[i] = ComputeEI(bestVal, forestStatistics[i], isMetricMaximizing); return eis; } } From 9faceb2a7f7f708be3faaf88c12dd2fcf3923782 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 11 Apr 2019 13:27:09 -0700 Subject: [PATCH 203/211] Formatting Regression metrics and progress bar display days. (#379) * added progress bar day display and fix regression metrics * fix formatting * added total time * formatted total time --- src/mlnet/CodeGenerator/CodeGenerationHelper.cs | 11 ++++++++--- src/mlnet/ProgressBar/ProgressBar.cs | 6 +++++- src/mlnet/Utilities/ConsolePrinter.cs | 14 +++++++------- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index 6a4bab610e..1245c5bbab 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Linq; using System.Runtime.ExceptionServices; @@ -36,6 +37,7 @@ public CodeGenerationHelper(IAutoMLEngine automlEngine, NewCommandSettings setti public void GenerateCode() { + Stopwatch watch = Stopwatch.StartNew(); var context = new MLContext(); // Infer columns @@ -92,6 +94,7 @@ public void GenerateCode() }; var wait = TimeSpan.FromSeconds(settings.MaxExplorationTime); var verboseLevel = Utils.GetVerbosity(settings.Verbosity); + if (verboseLevel > LogLevel.Trace && !Console.IsOutputRedirected) { using (var pbar = new FixedDurationBar(wait, "", options)) @@ -163,6 +166,8 @@ public void GenerateCode() return; } + var elapsedTime = watch.Elapsed.TotalSeconds; + //Get the best pipeline Pipeline bestPipeline = null; ITransformer bestModel = null; @@ -173,21 +178,21 @@ public void GenerateCode() var bestBinaryIteration = binaryRunDetails.Best(); bestPipeline = bestBinaryIteration.Pipeline; bestModel = bestBinaryIteration.Model; - ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, settings.MaxExplorationTime.ToString(), binaryRunDetails.Count()); + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, elapsedTime.ToString("F2"), binaryRunDetails.Count()); ConsolePrinter.PrintIterationSummary(binaryRunDetails, new BinaryExperimentSettings().OptimizingMetric, 5); break; case TaskKind.Regression: var bestRegressionIteration = regressionRunDetails.Best(); bestPipeline = bestRegressionIteration.Pipeline; bestModel = bestRegressionIteration.Model; - ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, settings.MaxExplorationTime.ToString(), regressionRunDetails.Count()); + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, elapsedTime.ToString("F2"), regressionRunDetails.Count()); ConsolePrinter.PrintIterationSummary(regressionRunDetails, new RegressionExperimentSettings().OptimizingMetric, 5); break; case TaskKind.MulticlassClassification: var bestMultiIteration = multiRunDetails.Best(); bestPipeline = bestMultiIteration.Pipeline; bestModel = bestMultiIteration.Model; - ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, settings.MaxExplorationTime.ToString(), multiRunDetails.Count()); + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, elapsedTime.ToString("F2"), multiRunDetails.Count()); ConsolePrinter.PrintIterationSummary(multiRunDetails, new MulticlassExperimentSettings().OptimizingMetric, 5); break; } diff --git a/src/mlnet/ProgressBar/ProgressBar.cs b/src/mlnet/ProgressBar/ProgressBar.cs index d4a074a0b4..5f8fac716e 100644 --- a/src/mlnet/ProgressBar/ProgressBar.cs +++ b/src/mlnet/ProgressBar/ProgressBar.cs @@ -110,7 +110,11 @@ private static void ProgressBarBottomHalf(double percentage, DateTime startDate, var depth = indentation.Length; var maxCharacterWidth = Console.WindowWidth - (depth * 2) + 2; var duration = ((endDate ?? DateTime.Now) - startDate); - var durationString = $"{duration.Hours:00}:{duration.Minutes:00}:{duration.Seconds:00}"; + string durationString = null; + if (duration.Days > 0) + durationString = $"{duration.Days:00}:{duration.Hours:00}:{duration.Minutes:00}:{duration.Seconds:00}"; + else + durationString = $"{duration.Hours:00}:{duration.Minutes:00}:{duration.Seconds:00}"; var column1Width = Console.WindowWidth - durationString.Length - (depth * 2) + 2; var column2Width = durationString.Length; diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index b32ea155fe..6d69e81f01 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -19,32 +19,32 @@ internal class ConsolePrinter internal static void PrintMetrics(int iteration, string trainerName, BinaryClassificationMetrics metrics, double bestMetric, double? runtimeInSeconds, LogLevel logLevel, int iterationNumber = -1) { - logger.Log(logLevel, CreateRow($"{iteration,-4} {trainerName,-35} {metrics?.Accuracy ?? double.NaN,9:F4} {metrics?.AreaUnderRocCurve ?? double.NaN,8:F4} {metrics?.AreaUnderPrecisionRecallCurve ?? double.NaN,8:F4} {metrics?.F1Score ?? double.NaN,9:F4} {runtimeInSeconds.Value,9:F1} {iterationNumber + 1,9}", Width)); + logger.Log(logLevel, CreateRow($"{iteration,-4} {trainerName,-35} {metrics?.Accuracy ?? double.NaN,9:F4} {metrics?.AreaUnderRocCurve ?? double.NaN,8:F4} {metrics?.AreaUnderPrecisionRecallCurve ?? double.NaN,8:F4} {metrics?.F1Score ?? double.NaN,9:F4} {runtimeInSeconds.Value,9:F1} {iterationNumber + 1,10}", Width)); } internal static void PrintMetrics(int iteration, string trainerName, MulticlassClassificationMetrics metrics, double bestMetric, double? runtimeInSeconds, LogLevel logLevel, int iterationNumber = -1) { - logger.Log(logLevel, CreateRow($"{iteration,-4} {trainerName,-35} {metrics?.MicroAccuracy ?? double.NaN,14:F4} {metrics?.MacroAccuracy ?? double.NaN,14:F4} {runtimeInSeconds.Value,9:F1} {iterationNumber + 1,9}", Width)); + logger.Log(logLevel, CreateRow($"{iteration,-4} {trainerName,-35} {metrics?.MicroAccuracy ?? double.NaN,14:F4} {metrics?.MacroAccuracy ?? double.NaN,14:F4} {runtimeInSeconds.Value,9:F1} {iterationNumber + 1,10}", Width)); } internal static void PrintMetrics(int iteration, string trainerName, RegressionMetrics metrics, double bestMetric, double? runtimeInSeconds, LogLevel logLevel, int iterationNumber = -1) { - logger.Log(logLevel, CreateRow($"{iteration,-4} {trainerName,-35} {metrics?.RSquared ?? double.NaN,9:F4} {metrics?.LossFunction ?? double.NaN,12:F2} {metrics?.MeanAbsoluteError ?? double.NaN,15:F2} {metrics?.MeanSquaredError ?? double.NaN,15:F2} {metrics?.RootMeanSquaredError ?? double.NaN,12:F2} {runtimeInSeconds.Value,9:F1} {iterationNumber + 1,9}", Width)); + logger.Log(logLevel, CreateRow($"{iteration,-4} {trainerName,-35} {metrics?.RSquared ?? double.NaN,8:F4} {metrics?.MeanAbsoluteError ?? double.NaN,13:F2} {metrics?.MeanSquaredError ?? double.NaN,12:F2} {metrics?.RootMeanSquaredError ?? double.NaN,8:F2} {runtimeInSeconds.Value,9:F1} {iterationNumber + 1,10}", Width)); } internal static void PrintBinaryClassificationMetricsHeader(LogLevel logLevel) { - logger.Log(logLevel, CreateRow($"{"",-4} {"Trainer",-35} {"Accuracy",9} {"AUC",8} {"AUPRC",8} {"F1-score",9} {"Duration",9} {"#Iteration",9}", Width)); + logger.Log(logLevel, CreateRow($"{"",-4} {"Trainer",-35} {"Accuracy",9} {"AUC",8} {"AUPRC",8} {"F1-score",9} {"Duration",9} {"#Iteration",10}", Width)); } internal static void PrintMulticlassClassificationMetricsHeader(LogLevel logLevel) { - logger.Log(logLevel, CreateRow($"{"",-4} {"Trainer",-35} {"MicroAccuracy",14} {"MacroAccuracy",14} {"Duration",9} {"#Iteration",9}", Width)); + logger.Log(logLevel, CreateRow($"{"",-4} {"Trainer",-35} {"MicroAccuracy",14} {"MacroAccuracy",14} {"Duration",9} {"#Iteration",10}", Width)); } internal static void PrintRegressionMetricsHeader(LogLevel logLevel) { - logger.Log(logLevel, CreateRow($"{"",-4} {"Trainer",-35} {"RSquared",8} {"LossFn",10} {"Absolute-loss",13} {"Squared-loss",12} {"RMS-loss",10} {"Duration",9} {"#Iteration",9}", Width)); + logger.Log(logLevel, CreateRow($"{"",-4} {"Trainer",-35} {"RSquared",8} {"Absolute-loss",13} {"Squared-loss",12} {"RMS-loss",8} {"Duration",9} {"#Iteration",10}", Width)); } internal static void ExperimentResultsHeader(LogLevel logLevel, string mltask, string datasetName, string labelName, string time, int numModelsExplored) @@ -58,7 +58,7 @@ internal static void ExperimentResultsHeader(LogLevel logLevel, string mltask, s logger.Log(logLevel, CreateRow($"{"ML Task",-7}: {mltask,-20}", Width)); logger.Log(logLevel, CreateRow($"{"Dataset",-7}: {datasetName,-25}", Width)); logger.Log(logLevel, CreateRow($"{"Label",-6}: {labelName,-25}", Width)); - logger.Log(logLevel, CreateRow($"{"Exploration time",-16}: {time} Secs", Width)); + logger.Log(logLevel, CreateRow($"{"Total experiment time",-22}: {time} Secs", Width)); logger.Log(logLevel, CreateRow($"{"Total number of models explored",-30}: {numModelsExplored}", Width)); logger.Log(logLevel, TABLESEPERATOR); } From ffd773b1e664c3160c095643629f36779da703c6 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 11 Apr 2019 14:40:33 -0700 Subject: [PATCH 204/211] change command name and add pbar message (#380) * change command name and add pbar message * fix tests * added aliases * duplicate alias * added another alias for task --- src/mlnet.Test/CommandLineTests.cs | 42 +++++++++---------- .../CodeGenerator/CodeGenerationHelper.cs | 7 ++-- src/mlnet/Commands/CommandDefinitions.cs | 30 ++++++------- src/mlnet/Program.cs | 2 +- src/mlnet/Strings.resx | 6 +++ src/mlnet/strings.Designer.cs | 18 ++++++++ 6 files changed, 64 insertions(+), 41 deletions(-) diff --git a/src/mlnet.Test/CommandLineTests.cs b/src/mlnet.Test/CommandLineTests.cs index 714b2ea318..b0d805f731 100644 --- a/src/mlnet.Test/CommandLineTests.cs +++ b/src/mlnet.Test/CommandLineTests.cs @@ -31,7 +31,7 @@ public void TestMinimumCommandLineArgs() var parser = new CommandLineBuilder() // Parser - .AddCommand(CommandDefinitions.New(handler)) + .AddCommand(CommandDefinitions.AutoTrain(handler)) .UseDefaults() .UseExceptionHandler((e, ctx) => { @@ -41,7 +41,7 @@ public void TestMinimumCommandLineArgs() var trainDataset = Path.GetTempFileName(); var testDataset = Path.GetTempFileName(); - string[] args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", "Label" }; + string[] args = new[] { "auto-train", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", "Label" }; parser.InvokeAsync(args).Wait(); File.Delete(trainDataset); File.Delete(testDataset); @@ -63,7 +63,7 @@ public void TestCommandLineArgsFailTest() var parser = new CommandLineBuilder() // parser - .AddCommand(CommandDefinitions.New(handler)) + .AddCommand(CommandDefinitions.AutoTrain(handler)) .UseDefaults() .UseExceptionHandler((e, ctx) => { @@ -76,22 +76,22 @@ public void TestCommandLineArgsFailTest() var testDataset = Path.GetTempFileName(); //wrong value to ml-task - string[] args = new[] { "new", "--ml-task", "bad-value", "--train-dataset", trainDataset, "--label-column-name", "Label" }; + string[] args = new[] { "auto-train", "--ml-task", "bad-value", "--train-dataset", trainDataset, "--label-column-name", "Label" }; parser.InvokeAsync(args).Wait(); Assert.IsFalse(parsingSuccessful); // Incorrect invocation - args = new[] { "new", "binary-classification", "--train-dataset", trainDataset, "--label-column-name", "Label" }; + args = new[] { "auto-train", "binary-classification", "--train-dataset", trainDataset, "--label-column-name", "Label" }; parser.InvokeAsync(args).Wait(); Assert.IsFalse(parsingSuccessful); // Non-existent file test - args = new[] { "new", "--ml-task", "binary-classification", "--train-dataset", "nonexistentfile.csv", "--label-column-name", "Label" }; + args = new[] { "auto-train", "--ml-task", "binary-classification", "--train-dataset", "nonexistentfile.csv", "--label-column-name", "Label" }; parser.InvokeAsync(args).Wait(); Assert.IsFalse(parsingSuccessful); // No label column or index test - args = new[] { "new", "--ml-task", "binary-classification", "--train-dataset", trainDataset, "--test-dataset", testDataset }; + args = new[] { "auto-train", "--ml-task", "binary-classification", "--train-dataset", trainDataset, "--test-dataset", testDataset }; parser.InvokeAsync(args).Wait(); File.Delete(trainDataset); File.Delete(testDataset); @@ -128,7 +128,7 @@ public void TestCommandLineArgsValuesTest() var parser = new CommandLineBuilder() // Parser - .AddCommand(CommandDefinitions.New(handler)) + .AddCommand(CommandDefinitions.AutoTrain(handler)) .UseDefaults() .UseExceptionHandler((e, ctx) => { @@ -137,7 +137,7 @@ public void TestCommandLineArgsValuesTest() .Build(); // Incorrect mltask test - string[] args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--validation-dataset", validDataset, "--test-dataset", testDataset, "--max-exploration-time", "5", "--name", name, "--output-path", outputPath, "--has-header", falseString }; + string[] args = new[] { "auto-train", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--validation-dataset", validDataset, "--test-dataset", testDataset, "--max-exploration-time", "5", "--name", name, "--output-path", outputPath, "--has-header", falseString }; parser.InvokeAsync(args).Wait(); File.Delete(trainDataset); File.Delete(testDataset); @@ -164,7 +164,7 @@ public void TestCommandLineArgsMutuallyExclusiveArgsTest() var parser = new CommandLineBuilder() // Parser - .AddCommand(CommandDefinitions.New(handler)) + .AddCommand(CommandDefinitions.AutoTrain(handler)) .UseDefaults() .UseExceptionHandler((e, ctx) => { @@ -173,17 +173,17 @@ public void TestCommandLineArgsMutuallyExclusiveArgsTest() .Build(); // Incorrect arguments : specifying dataset and train-dataset - string[] args = new[] { "new", "--ml-task", "BinaryClassification", "--dataset", dataset, "--train-dataset", trainDataset, "--label-column-name", labelName, "--test-dataset", testDataset, "--max-exploration-time", "5" }; + string[] args = new[] { "auto-train", "--ml-task", "BinaryClassification", "--dataset", dataset, "--train-dataset", trainDataset, "--label-column-name", labelName, "--test-dataset", testDataset, "--max-exploration-time", "5" }; parser.InvokeAsync(args).Wait(); Assert.IsFalse(parsingSuccessful); // Incorrect arguments : specifying train-dataset and not specifying test-dataset - args = new[] { "new", "--ml-task", "BinaryClassification", "--train-dataset", trainDataset, "--label-column-name", labelName, "--max-exploration-time", "5" }; + args = new[] { "auto-train", "--ml-task", "BinaryClassification", "--train-dataset", trainDataset, "--label-column-name", labelName, "--max-exploration-time", "5" }; parser.InvokeAsync(args).Wait(); Assert.IsFalse(parsingSuccessful); // Incorrect arguments : specifying label column name and index - args = new[] { "new", "--ml-task", "BinaryClassification", "--train-dataset", trainDataset, "--label-column-name", labelName, "--label-column-index", "0", "--test-dataset", testDataset, "--max-exploration-time", "5" }; + args = new[] { "auto-train", "--ml-task", "BinaryClassification", "--train-dataset", trainDataset, "--label-column-name", labelName, "--label-column-index", "0", "--test-dataset", testDataset, "--max-exploration-time", "5" }; parser.InvokeAsync(args).Wait(); File.Delete(trainDataset); File.Delete(testDataset); @@ -214,7 +214,7 @@ public void CacheArgumentTest() var parser = new CommandLineBuilder() // Parser - .AddCommand(CommandDefinitions.New(handler)) + .AddCommand(CommandDefinitions.AutoTrain(handler)) .UseDefaults() .UseExceptionHandler((e, ctx) => { @@ -223,7 +223,7 @@ public void CacheArgumentTest() .Build(); // valid cache test - string[] args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--cache", cache }; + string[] args = new[] { "auto-train", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--cache", cache }; parser.InvokeAsync(args).Wait(); Assert.IsTrue(parsingSuccessful); @@ -231,7 +231,7 @@ public void CacheArgumentTest() cache = "off"; // valid cache test - args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--cache", cache }; + args = new[] { "auto-train", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--cache", cache }; parser.InvokeAsync(args).Wait(); Assert.IsTrue(parsingSuccessful); @@ -239,14 +239,14 @@ public void CacheArgumentTest() cache = "auto"; // valid cache test - args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--cache", cache }; + args = new[] { "auto-train", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--cache", cache }; parser.InvokeAsync(args).Wait(); Assert.IsTrue(parsingSuccessful); parsingSuccessful = false; // invalid cache test - args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--cache", "blah" }; + args = new[] { "auto-train", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--cache", "blah" }; parser.InvokeAsync(args).Wait(); Assert.IsFalse(parsingSuccessful); @@ -276,7 +276,7 @@ public void IgnoreColumnsArgumentTest() var parser = new CommandLineBuilder() // Parser - .AddCommand(CommandDefinitions.New(handler)) + .AddCommand(CommandDefinitions.AutoTrain(handler)) .UseDefaults() .UseExceptionHandler((e, ctx) => { @@ -285,13 +285,13 @@ public void IgnoreColumnsArgumentTest() .Build(); // valid cache test - string[] args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--ignore-columns", ignoreColumns }; + string[] args = new[] { "auto-train", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--ignore-columns", ignoreColumns }; parser.InvokeAsync(args).Wait(); Assert.IsTrue(parsingSuccessful); parsingSuccessful = false; - args = new[] { "new", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--ignore-columns", "a b c" }; + args = new[] { "auto-train", "--ml-task", "binary-classification", "--dataset", trainDataset, "--label-column-name", labelName, "--ignore-columns", "a b c" }; parser.InvokeAsync(args).Wait(); Assert.IsFalse(parsingSuccessful); diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index 1245c5bbab..c3df5173da 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -99,32 +99,31 @@ public void GenerateCode() { using (var pbar = new FixedDurationBar(wait, "", options)) { + pbar.Message = Strings.WaitingForFirstIteration; Thread t = default; switch (taskKind) { case TaskKind.BinaryClassification: t = new Thread(() => binaryRunDetails = automlEngine.ExploreBinaryClassificationModels(context, trainData, validationData, columnInformation, new BinaryExperimentSettings().OptimizingMetric, pbar)); - t.Start(); break; case TaskKind.Regression: t = new Thread(() => regressionRunDetails = automlEngine.ExploreRegressionModels(context, trainData, validationData, columnInformation, new RegressionExperimentSettings().OptimizingMetric, pbar)); - t.Start(); break; case TaskKind.MulticlassClassification: t = new Thread(() => multiRunDetails = automlEngine.ExploreMultiClassificationModels(context, trainData, validationData, columnInformation, new MulticlassExperimentSettings().OptimizingMetric, pbar)); - t.Start(); break; default: logger.Log(LogLevel.Error, Strings.UnsupportedMlTask); break; } + t.Start(); if (!pbar.CompletedHandle.WaitOne(wait)) pbar.Message = $"{nameof(FixedDurationBar)} did not signal {nameof(FixedDurationBar.CompletedHandle)} after {wait}"; if (t.IsAlive == true) { - string waitingMessage = "Waiting for the last iteration to complete ..."; + string waitingMessage = Strings.WaitingForLastIteration; string originalMessage = pbar.Message; pbar.Message = waitingMessage; t.Join(); diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index c1b304e72f..8d20db8e9a 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -14,9 +14,9 @@ namespace Microsoft.ML.CLI.Commands { internal static class CommandDefinitions { - internal static System.CommandLine.Command New(ICommandHandler handler) + internal static System.CommandLine.Command AutoTrain(ICommandHandler handler) { - var newCommand = new System.CommandLine.Command("new", "Create a new .NET project using ML.NET to train and run a model", handler: handler) + var newCommand = new System.CommandLine.Command("auto-train", "Create a new .NET project using ML.NET to train and run a model", handler: handler) { Dataset(), ValidationDataset(), @@ -62,56 +62,56 @@ internal static System.CommandLine.Command New(ICommandHandler handler) return newCommand; Option Dataset() => - new Option("--dataset", "File path to either a single dataset or a training dataset for train/test split approaches.", + new Option(new List() { "--dataset", "-d" }, "File path to either a single dataset or a training dataset for train/test split approaches.", new Argument().ExistingOnly()); Option ValidationDataset() => - new Option("--validation-dataset", "File path for the validation dataset in train/validation/test split approaches.", + new Option(new List() { "--validation-dataset", "-v" }, "File path for the validation dataset in train/validation/test split approaches.", new Argument(defaultValue: default(FileInfo)).ExistingOnly()); Option TestDataset() => - new Option("--test-dataset", "File path for the test dataset in train/test approaches.", + new Option(new List() { "--test-dataset", "-t" }, "File path for the test dataset in train/test approaches.", new Argument(defaultValue: default(FileInfo)).ExistingOnly()); Option MlTask() => - new Option("--ml-task", "Type of ML task to perform. Current supported tasks: regression, binary-classification, multiclass-classification.", + new Option(new List() { "--ml-task", "--mltask", "--task", "-T" }, "Type of ML task to perform. Current supported tasks: regression, binary-classification, multiclass-classification.", new Argument().FromAmong(GetMlTaskSuggestions())); Option LabelName() => - new Option("--label-column-name", "Name of the label (target) column to predict.", + new Option(new List() { "--label-column-name", "-n" }, "Name of the label (target) column to predict.", new Argument()); Option LabelColumnIndex() => - new Option("--label-column-index", "Index of the label (target) column to predict.", + new Option(new List() { "--label-column-index", "-i" }, "Index of the label (target) column to predict.", new Argument()); Option MaxExplorationTime() => - new Option("--max-exploration-time", "Maximum time in seconds for exploring models with best configuration.", + new Option(new List() { "--max-exploration-time", "-x" }, "Maximum time in seconds for exploring models with best configuration.", new Argument(defaultValue: 10)); Option Verbosity() => - new Option(new List() { "--verbosity" }, "Output verbosity choices: q[uiet], m[inimal] (by default) and diag[nostic].", + new Option(new List() { "--verbosity", "-V" }, "Output verbosity choices: q[uiet], m[inimal] (by default) and diag[nostic].", new Argument(defaultValue: "m").FromAmong(GetVerbositySuggestions())); Option Name() => - new Option(new List() { "--name" }, "Name for the output project or solution to create. ", + new Option(new List() { "--name", "-N" }, "Name for the output project or solution to create. ", new Argument()); Option OutputPath() => - new Option(new List() { "--output-path" }, "Location folder to place the generated output. The default is the current directory.", + new Option(new List() { "--output-path", "-o" }, "Location folder to place the generated output. The default is the current directory.", new Argument(defaultValue: new DirectoryInfo("."))); Option HasHeader() => - new Option(new List() { "--has-header" }, "Specify true/false depending if the dataset file(s) have a header row.", + new Option(new List() { "--has-header", "-h" }, "Specify true/false depending if the dataset file(s) have a header row.", new Argument(defaultValue: true)); Option Cache() => - new Option(new List() { "--cache" }, "Specify on/off/auto if you want cache to be turned on, off or auto determined.", + new Option(new List() { "--cache", "-c" }, "Specify on/off/auto if you want cache to be turned on, off or auto determined.", new Argument(defaultValue: "auto").FromAmong(GetCacheSuggestions())); // This is a temporary hack to work around having comma separated values for argument. This feature needs to be enabled in the parser itself. Option IgnoreColumns() => - new Option(new List() { "--ignore-columns" }, "Specify the columns that needs to be ignored in the given dataset.", + new Option(new List() { "--ignore-columns", "-I" }, "Specify the columns that needs to be ignored in the given dataset.", new Argument>(symbolResult => { try diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index c150f7758c..404e971655 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -61,7 +61,7 @@ public static void Main(string[] args) var parser = new CommandLineBuilder() // parser - .AddCommand(CommandDefinitions.New(handler)) + .AddCommand(CommandDefinitions.AutoTrain(handler)) .UseDefaults() .Build(); diff --git a/src/mlnet/Strings.resx b/src/mlnet/Strings.resx index 4a138d0a69..382a026dfd 100644 --- a/src/mlnet/Strings.resx +++ b/src/mlnet/Strings.resx @@ -177,4 +177,10 @@ https://aka.ms/mlnet-cli + + Waiting for the first iteration to complete ... + + + Waiting for the last iteration to complete ... + \ No newline at end of file diff --git a/src/mlnet/strings.Designer.cs b/src/mlnet/strings.Designer.cs index 7f4dc90b7e..214db2da81 100644 --- a/src/mlnet/strings.Designer.cs +++ b/src/mlnet/strings.Designer.cs @@ -239,5 +239,23 @@ internal static string UnsupportedMlTask { return ResourceManager.GetString("UnsupportedMlTask", resourceCulture); } } + + /// + /// Looks up a localized string similar to Waiting for the first iteration to complete .... + /// + internal static string WaitingForFirstIteration { + get { + return ResourceManager.GetString("WaitingForFirstIteration", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Waiting for the last iteration to complete .... + /// + internal static string WaitingForLastIteration { + get { + return ResourceManager.GetString("WaitingForLastIteration", resourceCulture); + } + } } } From 662a8ea71b617161caea012a8d23ea6ce005ab54 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 11 Apr 2019 17:13:48 -0700 Subject: [PATCH 205/211] UI missing features (#382) * added formatting changes * added accuracy specifically --- .../CodeGenerator/CodeGenerationHelper.cs | 23 +++++++++---- src/mlnet/Utilities/ConsolePrinter.cs | 24 ++++++++++++++ src/mlnet/Utilities/ProgressHandlers.cs | 32 +++++++++++++++---- 3 files changed, 67 insertions(+), 12 deletions(-) diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index c3df5173da..108c96d686 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -39,6 +39,7 @@ public void GenerateCode() { Stopwatch watch = Stopwatch.StartNew(); var context = new MLContext(); + var verboseLevel = Utils.GetVerbosity(settings.Verbosity); // Infer columns ColumnInferenceResults columnInference = null; @@ -56,7 +57,7 @@ public void GenerateCode() { logger.Log(LogLevel.Error, $"{Strings.InferColumnError}"); logger.Log(LogLevel.Error, e.Message); - logger.Log(LogLevel.Debug, e.ToString()); + logger.Log(LogLevel.Trace, e.ToString()); logger.Log(LogLevel.Error, Strings.Exiting); return; } @@ -79,9 +80,20 @@ public void GenerateCode() IEnumerable> binaryRunDetails = default; IEnumerable> multiRunDetails = default; IEnumerable> regressionRunDetails = default; + if (verboseLevel > LogLevel.Trace) + { + Console.Write($"{Strings.ExplorePipeline}: "); + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine($"{settings.MlTask}"); + Console.ResetColor(); + Console.Write($"{Strings.FurtherLearning}: "); + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine($"{ Strings.LearningHttpLink}"); + Console.ResetColor(); + } - Console.WriteLine($"{Strings.ExplorePipeline}: {settings.MlTask}"); - Console.WriteLine($"{Strings.FurtherLearning}: {Strings.LearningHttpLink}"); + logger.Log(LogLevel.Trace, $"{Strings.ExplorePipeline}: {settings.MlTask}"); + logger.Log(LogLevel.Trace, $"{Strings.FurtherLearning}: {Strings.LearningHttpLink}"); try { var options = new ProgressBarOptions @@ -93,7 +105,6 @@ public void GenerateCode() BackgroundCharacter = '─', }; var wait = TimeSpan.FromSeconds(settings.MaxExplorationTime); - var verboseLevel = Utils.GetVerbosity(settings.Verbosity); if (verboseLevel > LogLevel.Trace && !Console.IsOutputRedirected) { @@ -205,8 +216,8 @@ public void GenerateCode() // Generate the Project GenerateProject(columnInference, bestPipeline, columnInformation.LabelColumnName, modelPath); - logger.Log(LogLevel.Info, $"{Strings.GenerateModelConsumption} : { Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.Predict")}"); - logger.Log(LogLevel.Info, $"{Strings.GenerateModelTraining} : { Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.Train")}"); + logger.Log(LogLevel.Info, $"{Strings.GenerateModelConsumption}: { Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.Predict")}"); + logger.Log(LogLevel.Info, $"{Strings.GenerateModelTraining}: { Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.Train")}"); Console.ResetColor(); } diff --git a/src/mlnet/Utilities/ConsolePrinter.cs b/src/mlnet/Utilities/ConsolePrinter.cs index 6d69e81f01..a024f3c647 100644 --- a/src/mlnet/Utilities/ConsolePrinter.cs +++ b/src/mlnet/Utilities/ConsolePrinter.cs @@ -81,6 +81,14 @@ internal static void PrintIterationSummary(IEnumerable bestResult; private int iterationIndex; private ProgressBar progressBar; - private string optimizationMetric = string.Empty; + private BinaryClassificationMetric optimizationMetric; public BinaryClassificationHandler(BinaryClassificationMetric optimizationMetric, ProgressBar progressBar) { this.isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; - this.optimizationMetric = optimizationMetric.ToString(); + this.optimizationMetric = optimizationMetric; this.progressBar = progressBar; GetScore = (RunDetail result) => new BinaryMetricsAgent(null, optimizationMetric).GetScore(result?.ValidationMetrics); ConsolePrinter.PrintBinaryClassificationMetricsHeader(LogLevel.Trace); @@ -80,7 +80,7 @@ public void Report(RunDetail iterationResult) iterationIndex++; UpdateBestResult(iterationResult); if (progressBar != null) - progressBar.Message = $"Best {this.optimizationMetric}: {GetScore(bestResult):F4}, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; + progressBar.Message = GetProgressBarMessage(iterationResult); ConsolePrinter.PrintMetrics(iterationIndex, iterationResult?.TrainerName, iterationResult?.ValidationMetrics, GetScore(bestResult), iterationResult?.RuntimeInSeconds, LogLevel.Trace); if (iterationResult.Exception != null) { @@ -88,6 +88,16 @@ public void Report(RunDetail iterationResult) } } + private string GetProgressBarMessage(RunDetail iterationResult) + { + if (optimizationMetric == BinaryClassificationMetric.Accuracy) + { + return $"Best Accuracy: {GetScore(bestResult) * 100:F2}%, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; + } + + return $"Best {this.optimizationMetric}: {GetScore(bestResult):F4}, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; + } + private void UpdateBestResult(RunDetail iterationResult) { if (MetricComparator(GetScore(iterationResult), GetScore(bestResult), isMaximizing) > 0) @@ -104,12 +114,12 @@ internal class MulticlassClassificationHandler : IProgress bestResult; private int iterationIndex; private ProgressBar progressBar; - private string optimizationMetric = string.Empty; + private MulticlassClassificationMetric optimizationMetric; public MulticlassClassificationHandler(MulticlassClassificationMetric optimizationMetric, ProgressBar progressBar) { this.isMaximizing = new OptimizingMetricInfo(optimizationMetric).IsMaximizing; - this.optimizationMetric = optimizationMetric.ToString(); + this.optimizationMetric = optimizationMetric; this.progressBar = progressBar; GetScore = (RunDetail result) => new MultiMetricsAgent(null, optimizationMetric).GetScore(result?.ValidationMetrics); ConsolePrinter.PrintMulticlassClassificationMetricsHeader(LogLevel.Trace); @@ -120,7 +130,7 @@ public void Report(RunDetail iterationResult) iterationIndex++; UpdateBestResult(iterationResult); if (progressBar != null) - progressBar.Message = $"Best {this.optimizationMetric}: {GetScore(bestResult):F4}, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; + progressBar.Message = GetProgressBarMessage(iterationResult); ConsolePrinter.PrintMetrics(iterationIndex, iterationResult?.TrainerName, iterationResult?.ValidationMetrics, GetScore(bestResult), iterationResult?.RuntimeInSeconds, LogLevel.Trace); if (iterationResult.Exception != null) { @@ -135,6 +145,16 @@ private void UpdateBestResult(RunDetail iterati bestResult = iterationResult; } } + + private string GetProgressBarMessage(RunDetail iterationResult) + { + if (optimizationMetric == MulticlassClassificationMetric.MicroAccuracy) + { + return $"Best Accuracy: {GetScore(bestResult) * 100:F2}%, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; + } + + return $"Best {this.optimizationMetric}: {GetScore(bestResult):F4}, Best Algorithm: {bestResult?.TrainerName}, Last Algorithm: {iterationResult?.TrainerName}"; + } } } From e257648cda8dc478969b7b4a77718c7a1d5a809a Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Thu, 11 Apr 2019 17:35:57 -0700 Subject: [PATCH 206/211] downgrade the codepages (#384) --- src/mlnet/mlnet.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index 563c0be602..31855c825d 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -14,7 +14,7 @@ - + From c5ec302b0496e404314cdccdf28f279660ae0d3f Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Fri, 12 Apr 2019 11:12:30 -0700 Subject: [PATCH 207/211] Change in project structure (#385) * initial changes * Change in project structure * correcting test * change variable name * fix tests * fix tests * fix more tests * fix codegen errors * adde log file message * changed name of args * change variable names * fix test --- ...ilderCSFileContentBinaryTest.approved.txt} | 63 ++- ...lBuilderCSFileContentOvaTest.approved.txt} | 120 +++-- ...rCSFileContentRegressionTest.approved.txt} | 57 ++- ...eAppProgramCSFileContentTest.approved.txt} | 36 +- ...oleAppProjectFileContentTest.approved.txt} | 0 ...Tests.GeneratedHelperCodeTest.approved.txt | 171 ------- ...ests.GeneratedProjectCodeTest.approved.txt | 22 - ...nCodeBinaryClassificationTest.approved.txt | 169 ------- ...eratedTrainCodeMulticlassTest.approved.txt | 166 ------- ...eratedTrainCodeRegressionTest.approved.txt | 164 ------- ...s.TrainProjectFileContentTest.approved.txt | 15 - .../ConsoleCodeGeneratorTests.cs | 118 ++--- .../CodeGenerator/CSharp/CodeGenerator.cs | 120 ++--- .../CodeGenerator/CodeGenerationHelper.cs | 63 ++- src/mlnet/Commands/New/NewCommandSettings.cs | 2 + src/mlnet/Program.cs | 4 +- src/mlnet/Strings.resx | 9 + src/mlnet/Templates/Console/ConsoleHelper.cs | 440 ------------------ .../{TrainProgram.cs => ModelBuilder.cs} | 195 ++++++-- .../{ConsoleHelper.tt => ModelBuilder.tt} | 191 +++++++- src/mlnet/Templates/Console/PredictProgram.cs | 66 +-- src/mlnet/Templates/Console/PredictProgram.tt | 36 +- src/mlnet/Templates/Console/TrainProgram.tt | 193 -------- src/mlnet/Templates/Console/TrainProject.cs | 326 ------------- src/mlnet/Templates/Console/TrainProject.tt | 30 -- src/mlnet/Utilities/Utils.cs | 11 +- src/mlnet/mlnet.csproj | 26 +- src/mlnet/strings.Designer.cs | 27 ++ 28 files changed, 752 insertions(+), 2088 deletions(-) rename src/mlnet.Test/ApprovalTests/{ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt => ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentBinaryTest.approved.txt} (59%) rename src/mlnet.Test/ApprovalTests/{ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt => ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentOvaTest.approved.txt} (55%) rename src/mlnet.Test/ApprovalTests/{ConsoleCodeGeneratorTests.TrainProgramCSFileContentOvaTest.approved.txt => ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentRegressionTest.approved.txt} (58%) rename src/mlnet.Test/ApprovalTests/{ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt => ConsoleCodeGeneratorTests.ConsoleAppProgramCSFileContentTest.approved.txt} (75%) rename src/mlnet.Test/ApprovalTests/{ConsoleCodeGeneratorTests.PredictProjectFileContentTest.approved.txt => ConsoleCodeGeneratorTests.ConsoleAppProjectFileContentTest.approved.txt} (100%) delete mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt delete mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt delete mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeBinaryClassificationTest.approved.txt delete mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeMulticlassTest.approved.txt delete mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeRegressionTest.approved.txt delete mode 100644 src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProjectFileContentTest.approved.txt delete mode 100644 src/mlnet/Templates/Console/ConsoleHelper.cs rename src/mlnet/Templates/Console/{TrainProgram.cs => ModelBuilder.cs} (59%) rename src/mlnet/Templates/Console/{ConsoleHelper.tt => ModelBuilder.tt} (50%) delete mode 100644 src/mlnet/Templates/Console/TrainProgram.tt delete mode 100644 src/mlnet/Templates/Console/TrainProject.cs delete mode 100644 src/mlnet/Templates/Console/TrainProject.tt diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentBinaryTest.approved.txt similarity index 59% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt rename to src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentBinaryTest.approved.txt index d0031e02d0..e25d5e46a3 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentBinaryTest.approved.txt @@ -5,25 +5,27 @@ //***************************************************************************************** using System; +using System.Collections.Generic; using System.IO; using System.Linq; using Microsoft.ML; +using Microsoft.ML.Data; using TestNamespace.Model.DataModels; -namespace TestNamespace.Train +namespace TestNamespace.ConsoleApp { - class Program + public static class ModelBuilder { private static string TRAIN_DATA_FILEPATH = @"x:\dummypath\dummy_train.csv"; private static string TEST_DATA_FILEPATH = @"x:\dummypath\dummy_test.csv"; private static string MODEL_FILEPATH = @"../../../../TestNamespace.Model/MLModel.zip"; - static void Main(string[] args) - { - // Create MLContext to be shared across the model creation workflow objects - // Set a random seed for repeatable/deterministic results across multiple trainings. - MLContext mlContext = new MLContext(seed: 1); + // Create MLContext to be shared across the model creation workflow objects + // Set a random seed for repeatable/deterministic results across multiple trainings. + private static MLContext mlContext = new MLContext(seed: 1); + public static void CreateModel() + { // Load Data IDataView trainingDataView = mlContext.Data.LoadFromTextFile( path: TRAIN_DATA_FILEPATH, @@ -49,9 +51,6 @@ namespace TestNamespace.Train // Save model SaveModel(mlContext, mlModel, MODEL_FILEPATH, trainingDataView.Schema); - - Console.WriteLine("=============== End of process, hit any key to finish ==============="); - Console.ReadKey(); } public static IEstimator BuildTrainingPipeline(MLContext mlContext) @@ -83,7 +82,7 @@ namespace TestNamespace.Train Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); IDataView predictions = mlModel.Transform(testDataView); var metrics = mlContext.BinaryClassification.EvaluateNonCalibrated(predictions, "Label", "Score"); - ConsoleHelper.PrintBinaryClassificationMetrics(metrics); + PrintBinaryClassificationMetrics(metrics); } private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath, DataViewSchema modelInputSchema) { @@ -104,5 +103,47 @@ namespace TestNamespace.Train return fullPath; } + + public static void PrintBinaryClassificationMetrics(BinaryClassificationMetrics metrics) + { + Console.WriteLine($"************************************************************"); + Console.WriteLine($"* Metrics for binary classification model "); + Console.WriteLine($"*-----------------------------------------------------------"); + Console.WriteLine($"* Accuracy: {metrics.Accuracy:P2}"); + Console.WriteLine($"* Auc: {metrics.AreaUnderRocCurve:P2}"); + Console.WriteLine($"************************************************************"); + } + + + public static void PrintBinaryClassificationFoldsAverageMetrics(IEnumerable> crossValResults) + { + var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); + + var AccuracyValues = metricsInMultipleFolds.Select(m => m.Accuracy); + var AccuracyAverage = AccuracyValues.Average(); + var AccuraciesStdDeviation = CalculateStandardDeviation(AccuracyValues); + var AccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(AccuracyValues); + + + Console.WriteLine($"*************************************************************************************************************"); + Console.WriteLine($"* Metrics for Binary Classification model "); + Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); + Console.WriteLine($"* Average Accuracy: {AccuracyAverage:0.###} - Standard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({AccuraciesConfidenceInterval95:#.###})"); + Console.WriteLine($"*************************************************************************************************************"); + } + + public static double CalculateStandardDeviation(IEnumerable values) + { + double average = values.Average(); + double sumOfSquaresOfDifferences = values.Select(val => (val - average) * (val - average)).Sum(); + double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Count() - 1)); + return standardDeviation; + } + + public static double CalculateConfidenceInterval95(IEnumerable values) + { + double confidenceInterval95 = 1.96 * CalculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1)); + return confidenceInterval95; + } } } diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentOvaTest.approved.txt similarity index 55% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt rename to src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentOvaTest.approved.txt index 77c495bccf..36b7deff19 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleHelperFileContentTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentOvaTest.approved.txt @@ -6,74 +6,102 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using Microsoft.ML; using Microsoft.ML.Data; +using TestNamespace.Model.DataModels; -namespace TestNamespace.Train +namespace TestNamespace.ConsoleApp { - public static class ConsoleHelper + public static class ModelBuilder { + private static string TRAIN_DATA_FILEPATH = @"x:\dummypath\dummy_train.csv"; + private static string TEST_DATA_FILEPATH = @"x:\dummypath\dummy_test.csv"; + private static string MODEL_FILEPATH = @"../../../../TestNamespace.Model/MLModel.zip"; - public static void PrintRegressionMetrics(RegressionMetrics metrics) + // Create MLContext to be shared across the model creation workflow objects + // Set a random seed for repeatable/deterministic results across multiple trainings. + private static MLContext mlContext = new MLContext(seed: 1); + + public static void CreateModel() { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Metrics for regression model "); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"* LossFn: {metrics.LossFunction:0.##}"); - Console.WriteLine($"* R2 Score: {metrics.RSquared:0.##}"); - Console.WriteLine($"* Absolute loss: {metrics.MeanAbsoluteError:#.##}"); - Console.WriteLine($"* Squared loss: {metrics.MeanSquaredError:#.##}"); - Console.WriteLine($"* RMS loss: {metrics.RootMeanSquaredError:#.##}"); - Console.WriteLine($"*************************************************"); + // Load Data + IDataView trainingDataView = mlContext.Data.LoadFromTextFile( + path: TRAIN_DATA_FILEPATH, + hasHeader: true, + separatorChar: ',', + allowQuoting: true, + allowSparse: true); + + IDataView testDataView = mlContext.Data.LoadFromTextFile( + path: TEST_DATA_FILEPATH, + hasHeader: true, + separatorChar: ',', + allowQuoting: true, + allowSparse: true); + // Build training pipeline + IEstimator trainingPipeline = BuildTrainingPipeline(mlContext); + + // Train Model + ITransformer mlModel = TrainModel(mlContext, trainingDataView, trainingPipeline); + + // Evaluate quality of Model + EvaluateModel(mlContext, mlModel, testDataView); + + // Save model + SaveModel(mlContext, mlModel, MODEL_FILEPATH, trainingDataView.Schema); } - public static void PrintRegressionFoldsAverageMetrics(IEnumerable> crossValidationResults) + public static IEstimator BuildTrainingPipeline(MLContext mlContext) { - var L1 = crossValidationResults.Select(r => r.Metrics.MeanAbsoluteError); - var L2 = crossValidationResults.Select(r => r.Metrics.MeanSquaredError); - var RMS = crossValidationResults.Select(r => r.Metrics.MeanAbsoluteError); - var lossFunction = crossValidationResults.Select(r => r.Metrics.LossFunction); - var R2 = crossValidationResults.Select(r => r.Metrics.RSquared); + // Data process configuration with pipeline data transformations + var dataProcessPipeline = mlContext.Transforms.Concatenate("Out", new[] { "In" }) + .AppendCacheCheckpoint(mlContext); - Console.WriteLine($"*************************************************************************************************************"); - Console.WriteLine($"* Metrics for Regression model "); - Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); - Console.WriteLine($"* Average L1 Loss: {L1.Average():0.###} "); - Console.WriteLine($"* Average L2 Loss: {L2.Average():0.###} "); - Console.WriteLine($"* Average RMS: {RMS.Average():0.###} "); - Console.WriteLine($"* Average Loss Function: {lossFunction.Average():0.###} "); - Console.WriteLine($"* Average R-squared: {R2.Average():0.###} "); - Console.WriteLine($"*************************************************************************************************************"); + // Set the training algorithm + var trainer = mlContext.MulticlassClassification.Trainers.OneVersusAll(mlContext.BinaryClassification.Trainers.FastForest(labelColumnName: "Label", featureColumnName: "Features"), labelColumnName: "Label"); + var trainingPipeline = dataProcessPipeline.Append(trainer); + + return trainingPipeline; } - public static void PrintBinaryClassificationMetrics(BinaryClassificationMetrics metrics) + public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) { - Console.WriteLine($"************************************************************"); - Console.WriteLine($"* Metrics for binary classification model "); - Console.WriteLine($"*-----------------------------------------------------------"); - Console.WriteLine($"* Accuracy: {metrics.Accuracy:P2}"); - Console.WriteLine($"* Auc: {metrics.AreaUnderRocCurve:P2}"); - Console.WriteLine($"************************************************************"); - } + Console.WriteLine("=============== Training model ==============="); + ITransformer model = trainingPipeline.Fit(trainingDataView); - public static void PrintBinaryClassificationFoldsAverageMetrics(IEnumerable> crossValResults) + Console.WriteLine("=============== End of training process ==============="); + return model; + } + + private static void EvaluateModel(MLContext mlContext, ITransformer mlModel, IDataView testDataView) { - var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); + // Evaluate the model and show accuracy stats + Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); + IDataView predictions = mlModel.Transform(testDataView); + var metrics = mlContext.MulticlassClassification.Evaluate(predictions, "Label", "Score"); + PrintMulticlassClassificationMetrics(metrics); + } + private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath, DataViewSchema modelInputSchema) + { + // Save/persist the trained model to a .ZIP file + Console.WriteLine($"=============== Saving the model ==============="); + using (var fs = new FileStream(GetAbsolutePath(modelRelativePath), FileMode.Create, FileAccess.Write, FileShare.Write)) + mlContext.Model.Save(mlModel, modelInputSchema, fs); - var AccuracyValues = metricsInMultipleFolds.Select(m => m.Accuracy); - var AccuracyAverage = AccuracyValues.Average(); - var AccuraciesStdDeviation = CalculateStandardDeviation(AccuracyValues); - var AccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(AccuracyValues); + Console.WriteLine("The model is saved to {0}", GetAbsolutePath(modelRelativePath)); + } + public static string GetAbsolutePath(string relativePath) + { + FileInfo _dataRoot = new FileInfo(typeof(Program).Assembly.Location); + string assemblyFolderPath = _dataRoot.Directory.FullName; - Console.WriteLine($"*************************************************************************************************************"); - Console.WriteLine($"* Metrics for Binary Classification model "); - Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); - Console.WriteLine($"* Average Accuracy: {AccuracyAverage:0.###} - Standard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({AccuraciesConfidenceInterval95:#.###})"); - Console.WriteLine($"*************************************************************************************************************"); + string fullPath = Path.Combine(assemblyFolderPath, relativePath); + return fullPath; } public static void PrintMulticlassClassificationMetrics(MulticlassClassificationMetrics metrics) diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentOvaTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentRegressionTest.approved.txt similarity index 58% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentOvaTest.approved.txt rename to src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentRegressionTest.approved.txt index 0f089df475..122634ff08 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProgramCSFileContentOvaTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentRegressionTest.approved.txt @@ -5,25 +5,27 @@ //***************************************************************************************** using System; +using System.Collections.Generic; using System.IO; using System.Linq; using Microsoft.ML; +using Microsoft.ML.Data; using TestNamespace.Model.DataModels; -namespace TestNamespace.Train +namespace TestNamespace.ConsoleApp { - class Program + public static class ModelBuilder { private static string TRAIN_DATA_FILEPATH = @"x:\dummypath\dummy_train.csv"; private static string TEST_DATA_FILEPATH = @"x:\dummypath\dummy_test.csv"; private static string MODEL_FILEPATH = @"../../../../TestNamespace.Model/MLModel.zip"; - static void Main(string[] args) - { - // Create MLContext to be shared across the model creation workflow objects - // Set a random seed for repeatable/deterministic results across multiple trainings. - MLContext mlContext = new MLContext(seed: 1); + // Create MLContext to be shared across the model creation workflow objects + // Set a random seed for repeatable/deterministic results across multiple trainings. + private static MLContext mlContext = new MLContext(seed: 1); + public static void CreateModel() + { // Load Data IDataView trainingDataView = mlContext.Data.LoadFromTextFile( path: TRAIN_DATA_FILEPATH, @@ -49,9 +51,6 @@ namespace TestNamespace.Train // Save model SaveModel(mlContext, mlModel, MODEL_FILEPATH, trainingDataView.Schema); - - Console.WriteLine("=============== End of process, hit any key to finish ==============="); - Console.ReadKey(); } public static IEstimator BuildTrainingPipeline(MLContext mlContext) @@ -61,7 +60,7 @@ namespace TestNamespace.Train .AppendCacheCheckpoint(mlContext); // Set the training algorithm - var trainer = mlContext.MulticlassClassification.Trainers.OneVersusAll(mlContext.BinaryClassification.Trainers.FastForest(labelColumnName: "Label", featureColumnName: "Features"), labelColumnName: "Label"); + var trainer = mlContext.Regression.Trainers.LightGbm(labelColumnName: "Label", featureColumnName: "Features"); var trainingPipeline = dataProcessPipeline.Append(trainer); return trainingPipeline; @@ -82,8 +81,8 @@ namespace TestNamespace.Train // Evaluate the model and show accuracy stats Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); IDataView predictions = mlModel.Transform(testDataView); - var metrics = mlContext.MulticlassClassification.Evaluate(predictions, "Label", "Score"); - ConsoleHelper.PrintMulticlassClassificationMetrics(metrics); + var metrics = mlContext.Regression.Evaluate(predictions, "Label", "Score"); + PrintRegressionMetrics(metrics); } private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath, DataViewSchema modelInputSchema) { @@ -104,5 +103,37 @@ namespace TestNamespace.Train return fullPath; } + + public static void PrintRegressionMetrics(RegressionMetrics metrics) + { + Console.WriteLine($"*************************************************"); + Console.WriteLine($"* Metrics for regression model "); + Console.WriteLine($"*------------------------------------------------"); + Console.WriteLine($"* LossFn: {metrics.LossFunction:0.##}"); + Console.WriteLine($"* R2 Score: {metrics.RSquared:0.##}"); + Console.WriteLine($"* Absolute loss: {metrics.MeanAbsoluteError:#.##}"); + Console.WriteLine($"* Squared loss: {metrics.MeanSquaredError:#.##}"); + Console.WriteLine($"* RMS loss: {metrics.RootMeanSquaredError:#.##}"); + Console.WriteLine($"*************************************************"); + } + + public static void PrintRegressionFoldsAverageMetrics(IEnumerable> crossValidationResults) + { + var L1 = crossValidationResults.Select(r => r.Metrics.MeanAbsoluteError); + var L2 = crossValidationResults.Select(r => r.Metrics.MeanSquaredError); + var RMS = crossValidationResults.Select(r => r.Metrics.MeanAbsoluteError); + var lossFunction = crossValidationResults.Select(r => r.Metrics.LossFunction); + var R2 = crossValidationResults.Select(r => r.Metrics.RSquared); + + Console.WriteLine($"*************************************************************************************************************"); + Console.WriteLine($"* Metrics for Regression model "); + Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); + Console.WriteLine($"* Average L1 Loss: {L1.Average():0.###} "); + Console.WriteLine($"* Average L2 Loss: {L2.Average():0.###} "); + Console.WriteLine($"* Average RMS: {RMS.Average():0.###} "); + Console.WriteLine($"* Average Loss Function: {lossFunction.Average():0.###} "); + Console.WriteLine($"* Average R-squared: {R2.Average():0.###} "); + Console.WriteLine($"*************************************************************************************************************"); + } } } diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProgramCSFileContentTest.approved.txt similarity index 75% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt rename to src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProgramCSFileContentTest.approved.txt index bda815ecac..34ce3713fa 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProgramCSFileContentTest.approved.txt +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProgramCSFileContentTest.approved.txt @@ -13,7 +13,7 @@ using Microsoft.ML.Data; using TestNamespace.Model.DataModels; -namespace TestNamespace.Predict +namespace TestNamespace.ConsoleApp { class Program { @@ -27,38 +27,22 @@ namespace TestNamespace.Predict { MLContext mlContext = new MLContext(); - //Load ML Model from .zip file - ITransformer mlModel = LoadModelFromFile(mlContext, MODEL_FILEPATH); + // Training code used by ML.NET CLI and AutoML to generate the model + //ModelBuilder.CreateModel(); + + ITransformer mlModel = mlContext.Model.Load(MODEL_FILEPATH, out DataViewSchema inputSchema); + var predEngine = mlContext.Model.CreatePredictionEngine(mlModel); // Create sample data to do a single prediction with it SampleObservation sampleData = CreateSingleDataSample(mlContext, DATA_FILEPATH); - // Test a single prediction - Predict(mlContext, mlModel, sampleData); - - Console.WriteLine("=============== End of process, hit any key to finish ==============="); - Console.ReadKey(); - } - - private static void Predict(MLContext mlContext, ITransformer mlModel, SampleObservation sampleData) - { - // Create prediction engine related to the loaded ML model - var predEngine = mlContext.Model.CreatePredictionEngine(mlModel); - // Try a single prediction - var predictionResult = predEngine.Predict(sampleData); - Console.WriteLine($"Single Prediction --> Actual value: {sampleData.Label} | Predicted value: {predictionResult.Prediction}"); - } + SamplePrediction predictionResult = predEngine.Predict(sampleData); - private static ITransformer LoadModelFromFile(MLContext mlContext, string modelFilePath) - { - ITransformer mlModel; - using (var stream = new FileStream(modelFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)) - { - mlModel = mlContext.Model.Load(stream, out var modelInputSchema); - } + Console.WriteLine($"Single Prediction --> Actual value: {sampleData.Label} | Predicted value: {predictionResult.Prediction}"); - return mlModel; + Console.WriteLine("=============== End of process, hit any key to finish ==============="); + Console.ReadKey(); } // Method to load single row of data to try a single prediction diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProjectFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProjectFileContentTest.approved.txt similarity index 100% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictProjectFileContentTest.approved.txt rename to src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProjectFileContentTest.approved.txt diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt deleted file mode 100644 index 1ebb934f2c..0000000000 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedHelperCodeTest.approved.txt +++ /dev/null @@ -1,171 +0,0 @@ -//***************************************************************************************** -//* * -//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * -//* * -//***************************************************************************************** - -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.ML; -using Microsoft.ML.Data; - -namespace MyNamespace -{ - public static class ConsoleHelper - { - public static void PrintPrediction(string prediction) - { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"Predicted : {prediction}"); - Console.WriteLine($"*************************************************"); - } - - public static void PrintRegressionPredictionVersusObserved(string predictionCount, string observedCount) - { - Console.WriteLine($"-------------------------------------------------"); - Console.WriteLine($"Predicted : {predictionCount}"); - Console.WriteLine($"Actual: {observedCount}"); - Console.WriteLine($"-------------------------------------------------"); - } - - public static void PrintRegressionMetrics(string name, RegressionMetrics metrics) - { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Metrics for {name} regression model "); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"* LossFn: {metrics.LossFn:0.##}"); - Console.WriteLine($"* R2 Score: {metrics.RSquared:0.##}"); - Console.WriteLine($"* Absolute loss: {metrics.L1:#.##}"); - Console.WriteLine($"* Squared loss: {metrics.L2:#.##}"); - Console.WriteLine($"* RMS loss: {metrics.Rms:#.##}"); - Console.WriteLine($"*************************************************"); - } - - public static void PrintBinaryClassificationMetrics(string name, BinaryClassificationMetrics metrics) - { - Console.WriteLine($"************************************************************"); - Console.WriteLine($"* Metrics for {name} binary classification model "); - Console.WriteLine($"*-----------------------------------------------------------"); - Console.WriteLine($"* Accuracy: {metrics.Accuracy:P2}"); - Console.WriteLine($"* Auc: {metrics.Auc:P2}"); - Console.WriteLine($"************************************************************"); - } - - public static void PrintRegressionFoldsAverageMetrics(string algorithmName, - TrainCatalogBase.CrossValidationResult[] crossValidationResults - ) - { - var L1 = crossValidationResults.Select(r => r.Metrics.L1); - var L2 = crossValidationResults.Select(r => r.Metrics.L2); - var RMS = crossValidationResults.Select(r => r.Metrics.L1); - var lossFunction = crossValidationResults.Select(r => r.Metrics.LossFn); - var R2 = crossValidationResults.Select(r => r.Metrics.RSquared); - - Console.WriteLine($"*************************************************************************************************************"); - Console.WriteLine($"* Metrics for {algorithmName} Regression model "); - Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); - Console.WriteLine($"* Average L1 Loss: {L1.Average():0.###} "); - Console.WriteLine($"* Average L2 Loss: {L2.Average():0.###} "); - Console.WriteLine($"* Average RMS: {RMS.Average():0.###} "); - Console.WriteLine($"* Average Loss Function: {lossFunction.Average():0.###} "); - Console.WriteLine($"* Average R-squared: {R2.Average():0.###} "); - Console.WriteLine($"*************************************************************************************************************"); - } - - public static void PrintBinaryClassificationFoldsAverageMetrics( - string algorithmName, - TrainCatalogBase.CrossValidationResult[] crossValResults) - { - var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); - - var AccuracyValues = metricsInMultipleFolds.Select(m => m.Accuracy); - var AccuracyAverage = AccuracyValues.Average(); - var AccuraciesStdDeviation = CalculateStandardDeviation(AccuracyValues); - var AccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(AccuracyValues); - - - Console.WriteLine($"*************************************************************************************************************"); - Console.WriteLine($"* Metrics for {algorithmName} Binary Classification model "); - Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); - Console.WriteLine($"* Average Accuracy: {AccuracyAverage:0.###} - Standard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({AccuraciesConfidenceInterval95:#.###})"); - Console.WriteLine($"*************************************************************************************************************"); - - } - - public static void PrintMulticlassClassificationFoldsAverageMetrics( - string algorithmName, - TrainCatalogBase.CrossValidationResult[] crossValResults) - { - var metricsInMultipleFolds = crossValResults.Select(r => r.Metrics); - - var microAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMicro); - var microAccuracyAverage = microAccuracyValues.Average(); - var microAccuraciesStdDeviation = CalculateStandardDeviation(microAccuracyValues); - var microAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues); - - var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.AccuracyMacro); - var macroAccuracyAverage = macroAccuracyValues.Average(); - var macroAccuraciesStdDeviation = CalculateStandardDeviation(macroAccuracyValues); - var macroAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(macroAccuracyValues); - - var logLossValues = metricsInMultipleFolds.Select(m => m.LogLoss); - var logLossAverage = logLossValues.Average(); - var logLossStdDeviation = CalculateStandardDeviation(logLossValues); - var logLossConfidenceInterval95 = CalculateConfidenceInterval95(logLossValues); - - var logLossReductionValues = metricsInMultipleFolds.Select(m => m.LogLossReduction); - var logLossReductionAverage = logLossReductionValues.Average(); - var logLossReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues); - var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval95(logLossReductionValues); - - Console.WriteLine($"*************************************************************************************************************"); - Console.WriteLine($"* Metrics for {algorithmName} Multi-class Classification model "); - Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); - Console.WriteLine($"* Average MicroAccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:#.###})"); - Console.WriteLine($"* Average MacroAccuracy: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###})"); - Console.WriteLine($"* Average LogLoss: {logLossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidence Interval 95%: ({logLossConfidenceInterval95:#.###})"); - Console.WriteLine($"* Average LogLossReduction: {logLossReductionAverage:#.###} - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval 95%: ({logLossReductionConfidenceInterval95:#.###})"); - Console.WriteLine($"*************************************************************************************************************"); - - } - - public static double CalculateStandardDeviation(IEnumerable values) - { - double average = values.Average(); - double sumOfSquaresOfDifferences = values.Select(val => (val - average) * (val - average)).Sum(); - double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Count() - 1)); - return standardDeviation; - } - - public static double CalculateConfidenceInterval95(IEnumerable values) - { - double confidenceInterval95 = 1.96 * CalculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1)); - return confidenceInterval95; - } - - public static void PrintClusteringMetrics(string name, ClusteringMetrics metrics) - { - Console.WriteLine($"*************************************************"); - Console.WriteLine($"* Metrics for {name} clustering model "); - Console.WriteLine($"*------------------------------------------------"); - Console.WriteLine($"* AvgMinScore: {metrics.AvgMinScore}"); - Console.WriteLine($"* DBI is: {metrics.Dbi}"); - Console.WriteLine($"*************************************************"); - } - - public static void ConsoleWriteHeader(params string[] lines) - { - var defaultColor = Console.ForegroundColor; - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine(" "); - foreach (var line in lines) - { - Console.WriteLine(line); - } - var maxLength = lines.Select(x => x.Length).Max(); - Console.WriteLine(new string('#', maxLength)); - Console.ForegroundColor = defaultColor; - } - } -} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt deleted file mode 100644 index e94fe55cd0..0000000000 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedProjectCodeTest.approved.txt +++ /dev/null @@ -1,22 +0,0 @@ - - - - Exe - netcoreapp2.1 - False - - - - https://api.nuget.org/v3/index.json; - - - - - - - - - - - - diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeBinaryClassificationTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeBinaryClassificationTest.approved.txt deleted file mode 100644 index 5645874b5e..0000000000 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeBinaryClassificationTest.approved.txt +++ /dev/null @@ -1,169 +0,0 @@ -//***************************************************************************************** -//* * -//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * -//* * -//***************************************************************************************** - -using System; -using System.IO; -using System.Linq; -using Microsoft.ML; -using Microsoft.ML.Data; -using Microsoft.Data.DataView; -using Microsoft.ML.LightGBM; - - -namespace MyNamespace -{ - class Program - { - private static string TrainDataPath = @"x:\dummypath\dummy_train.csv"; - private static string TestDataPath = @"x:\dummypath\dummy_test.csv"; - private static string ModelPath = @"x:\models\model.zip"; - - static void Main(string[] args) - { - // Create MLContext to be shared across the model creation workflow objects - var mlContext = new MLContext(); - - var command = Command.Predict; // Your desired action here - - if (command == Command.Predict) - { - Predict(mlContext); - ConsoleHelper.ConsoleWriteHeader("=============== If you also want to train a model use Command.TrainAndPredict ==============="); - } - - if (command == Command.TrainAndPredict) - { - TrainEvaluateAndSaveModel(mlContext); - Predict(mlContext); - } - - Console.WriteLine("=============== End of process, hit any key to finish ==============="); - Console.ReadKey(); - } - - private enum Command - { - Predict, - TrainAndPredict - } - - private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) - { - // Load data - Console.WriteLine("=============== Loading data ==============="); - IDataView trainingDataView = mlContext.Data.LoadFromTextFile( - path: TrainDataPath, - hasHeader: true, - separatorChar: ',', - allowQuoting: true, - allowSparse: true); - IDataView testDataView = mlContext.Data.LoadFromTextFile( - path: TestDataPath, - hasHeader: true, - separatorChar: ',', - allowQuoting: true, - allowSparse: true); - - // Common data process configuration with pipeline data transformations - var dataProcessPipeline = mlContext.Transforms.Concatenate("Out", new[] { "In" }) - .AppendCacheCheckpoint(mlContext); - - // Set the training algorithm, then create and config the modelBuilder - var trainer = mlContext.BinaryClassification.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumnName = "Label", FeatureColumnName = "Features" }); - var trainingPipeline = dataProcessPipeline.Append(trainer); - - // Train the model fitting to the DataSet - Console.WriteLine("=============== Training the model ==============="); - var trainedModel = trainingPipeline.Fit(trainingDataView); - - // Evaluate the model and show accuracy stats - Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); - var predictions = trainedModel.Transform(testDataView); - var metrics = mlContext.BinaryClassification.EvaluateNonCalibrated(predictions, "Label", "Score"); - ConsoleHelper.PrintBinaryClassificationMetrics(trainer.ToString(), metrics); - - // Save/persist the trained model to a .ZIP file - Console.WriteLine($"=============== Saving the model ==============="); - using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) - mlContext.Model.Save(trainedModel, fs); - - Console.WriteLine("The model is saved to {0}", ModelPath); - Console.WriteLine("=============== End of training process ==============="); - - return trainedModel; - } - - // Try/test a single prediction by loading the model from the file, first. - private static void Predict(MLContext mlContext) - { - //Load data to test. Could be any test data. For demonstration purpose train data is used here. - IDataView trainingDataView = mlContext.Data.LoadFromTextFile( - path: TestDataPath, - hasHeader: true, - separatorChar: ',', - allowQuoting: true, - allowSparse: true); - - var sample = mlContext.Data.CreateEnumerable(trainingDataView, false).First(); - - ITransformer trainedModel; - using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) - { - trainedModel = mlContext.Model.Load(stream); - } - - // Create prediction engine related to the loaded trained model - var predEngine = trainedModel.CreatePredictionEngine(mlContext); - - //Score - var resultprediction = predEngine.Predict(sample); - - Console.WriteLine($"=============== Single Prediction ==============="); - Console.WriteLine($"Actual value: {sample.Label} | Predicted value: {resultprediction.Prediction} "); - Console.WriteLine($"=================================================="); - } - - } - - public class SampleObservation - { - [ColumnName("Label"), LoadColumn(0)] - public bool Label { get; set; } - - - [ColumnName("col1"), LoadColumn(1)] - public float Col1 { get; set; } - - - [ColumnName("col2"), LoadColumn(0)] - public float Col2 { get; set; } - - - [ColumnName("col3"), LoadColumn(0)] - public string Col3 { get; set; } - - - [ColumnName("col4"), LoadColumn(0)] - public int Col4 { get; set; } - - - [ColumnName("col5"), LoadColumn(0)] - public uint Col5 { get; set; } - - - } - - public class SamplePrediction - { - // ColumnName attribute is used to change the column name from - // its default value, which is the name of the field. - [ColumnName("PredictedLabel")] - public bool Prediction { get; set; } - - public float Score { get; set; } - } - -} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeMulticlassTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeMulticlassTest.approved.txt deleted file mode 100644 index 7721ab6d0e..0000000000 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeMulticlassTest.approved.txt +++ /dev/null @@ -1,166 +0,0 @@ -//***************************************************************************************** -//* * -//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * -//* * -//***************************************************************************************** - -using System; -using System.IO; -using System.Linq; -using Microsoft.ML; -using Microsoft.ML.Data; -using Microsoft.Data.DataView; -using Microsoft.ML.LightGBM; - - -namespace MyNamespace -{ - class Program - { - private static string TrainDataPath = @"x:\dummypath\dummy_train.csv"; - private static string TestDataPath = @"x:\dummypath\dummy_test.csv"; - private static string ModelPath = @"x:\models\model.zip"; - - static void Main(string[] args) - { - // Create MLContext to be shared across the model creation workflow objects - var mlContext = new MLContext(); - - var command = Command.Predict; // Your desired action here - - if (command == Command.Predict) - { - Predict(mlContext); - ConsoleHelper.ConsoleWriteHeader("=============== If you also want to train a model use Command.TrainAndPredict ==============="); - } - - if (command == Command.TrainAndPredict) - { - TrainEvaluateAndSaveModel(mlContext); - Predict(mlContext); - } - - Console.WriteLine("=============== End of process, hit any key to finish ==============="); - Console.ReadKey(); - } - - private enum Command - { - Predict, - TrainAndPredict - } - - private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) - { - // Load data - Console.WriteLine("=============== Loading data ==============="); - IDataView trainingDataView = mlContext.Data.LoadFromTextFile( - path: TrainDataPath, - hasHeader: true, - separatorChar: ',', - allowQuoting: true, - allowSparse: true); - IDataView testDataView = mlContext.Data.LoadFromTextFile( - path: TestDataPath, - hasHeader: true, - separatorChar: ',', - allowQuoting: true, - allowSparse: true); - - // Common data process configuration with pipeline data transformations - var dataProcessPipeline = mlContext.Transforms.Concatenate("Out", new[] { "In" }) - .AppendCacheCheckpoint(mlContext); - - // Set the training algorithm, then create and config the modelBuilder - var trainer = mlContext.MulticlassClassification.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumnName = "Label", FeatureColumnName = "Features" }); - var trainingPipeline = dataProcessPipeline.Append(trainer); - - // Train the model fitting to the DataSet - Console.WriteLine("=============== Training the model ==============="); - var trainedModel = trainingPipeline.Fit(trainingDataView); - - // Evaluate the model and show accuracy stats - Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); - var predictions = trainedModel.Transform(testDataView); - - // Save/persist the trained model to a .ZIP file - Console.WriteLine($"=============== Saving the model ==============="); - using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) - mlContext.Model.Save(trainedModel, fs); - - Console.WriteLine("The model is saved to {0}", ModelPath); - Console.WriteLine("=============== End of training process ==============="); - - return trainedModel; - } - - // Try/test a single prediction by loading the model from the file, first. - private static void Predict(MLContext mlContext) - { - //Load data to test. Could be any test data. For demonstration purpose train data is used here. - IDataView trainingDataView = mlContext.Data.LoadFromTextFile( - path: TestDataPath, - hasHeader: true, - separatorChar: ',', - allowQuoting: true, - allowSparse: true); - - var sample = mlContext.Data.CreateEnumerable(trainingDataView, false).First(); - - ITransformer trainedModel; - using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) - { - trainedModel = mlContext.Model.Load(stream); - } - - // Create prediction engine related to the loaded trained model - var predEngine = trainedModel.CreatePredictionEngine(mlContext); - - //Score - var resultprediction = predEngine.Predict(sample); - - Console.WriteLine($"=============== Single Prediction ==============="); - Console.WriteLine($"Actual value: {sample.Label} | Predicted value: {resultprediction.Prediction} | Predicted scores: [{String.Join(", ", resultprediction.Score)}]"); - Console.WriteLine($"=================================================="); - } - - } - - public class SampleObservation - { - [ColumnName("Label"), LoadColumn(0)] - public bool Label { get; set; } - - - [ColumnName("col1"), LoadColumn(1)] - public float Col1 { get; set; } - - - [ColumnName("col2"), LoadColumn(0)] - public float Col2 { get; set; } - - - [ColumnName("col3"), LoadColumn(0)] - public string Col3 { get; set; } - - - [ColumnName("col4"), LoadColumn(0)] - public int Col4 { get; set; } - - - [ColumnName("col5"), LoadColumn(0)] - public uint Col5 { get; set; } - - - } - - public class SamplePrediction - { - // ColumnName attribute is used to change the column name from - // its default value, which is the name of the field. - [ColumnName("PredictedLabel")] - public Boolean Prediction { get; set; } - public float[] Score { get; set; } - } - -} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeRegressionTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeRegressionTest.approved.txt deleted file mode 100644 index e1274dbd91..0000000000 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.GeneratedTrainCodeRegressionTest.approved.txt +++ /dev/null @@ -1,164 +0,0 @@ -//***************************************************************************************** -//* * -//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * -//* * -//***************************************************************************************** - -using System; -using System.IO; -using System.Linq; -using Microsoft.ML; -using Microsoft.ML.Data; -using Microsoft.Data.DataView; -using Microsoft.ML.LightGBM; - - -namespace MyNamespace -{ - class Program - { - private static string TrainDataPath = @"x:\dummypath\dummy_train.csv"; - private static string TestDataPath = @"x:\dummypath\dummy_test.csv"; - private static string ModelPath = @"x:\models\model.zip"; - - static void Main(string[] args) - { - // Create MLContext to be shared across the model creation workflow objects - var mlContext = new MLContext(); - - var command = Command.Predict; // Your desired action here - - if (command == Command.Predict) - { - Predict(mlContext); - ConsoleHelper.ConsoleWriteHeader("=============== If you also want to train a model use Command.TrainAndPredict ==============="); - } - - if (command == Command.TrainAndPredict) - { - TrainEvaluateAndSaveModel(mlContext); - Predict(mlContext); - } - - Console.WriteLine("=============== End of process, hit any key to finish ==============="); - Console.ReadKey(); - } - - private enum Command - { - Predict, - TrainAndPredict - } - - private static ITransformer TrainEvaluateAndSaveModel(MLContext mlContext) - { - // Load data - Console.WriteLine("=============== Loading data ==============="); - IDataView trainingDataView = mlContext.Data.LoadFromTextFile( - path: TrainDataPath, - hasHeader: true, - separatorChar: ',', - allowQuoting: true, - allowSparse: true); - IDataView testDataView = mlContext.Data.LoadFromTextFile( - path: TestDataPath, - hasHeader: true, - separatorChar: ',', - allowQuoting: true, - allowSparse: true); - - // Common data process configuration with pipeline data transformations - var dataProcessPipeline = mlContext.Transforms.Concatenate("Out", new[] { "In" }) - .AppendCacheCheckpoint(mlContext); - - // Set the training algorithm, then create and config the modelBuilder - var trainer = mlContext.Regression.Trainers.LightGbm(new Options() { NumLeaves = 2, Booster = new Options.TreeBooster.Options() { }, LabelColumnName = "Label", FeatureColumnName = "Features" }); - var trainingPipeline = dataProcessPipeline.Append(trainer); - - // Train the model fitting to the DataSet - Console.WriteLine("=============== Training the model ==============="); - var trainedModel = trainingPipeline.Fit(trainingDataView); - - // Evaluate the model and show accuracy stats - Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); - var predictions = trainedModel.Transform(testDataView); - var metrics = mlContext.Regression.Evaluate(predictions, "Label", "Score"); - ConsoleHelper.PrintRegressionMetrics(trainer.ToString(), metrics); - - // Save/persist the trained model to a .ZIP file - Console.WriteLine($"=============== Saving the model ==============="); - using (var fs = new FileStream(ModelPath, FileMode.Create, FileAccess.Write, FileShare.Write)) - mlContext.Model.Save(trainedModel, fs); - - Console.WriteLine("The model is saved to {0}", ModelPath); - Console.WriteLine("=============== End of training process ==============="); - - return trainedModel; - } - - // Try/test a single prediction by loading the model from the file, first. - private static void Predict(MLContext mlContext) - { - //Load data to test. Could be any test data. For demonstration purpose train data is used here. - IDataView trainingDataView = mlContext.Data.LoadFromTextFile( - path: TestDataPath, - hasHeader: true, - separatorChar: ',', - allowQuoting: true, - allowSparse: true); - - var sample = mlContext.Data.CreateEnumerable(trainingDataView, false).First(); - - ITransformer trainedModel; - using (var stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) - { - trainedModel = mlContext.Model.Load(stream); - } - - // Create prediction engine related to the loaded trained model - var predEngine = trainedModel.CreatePredictionEngine(mlContext); - - //Score - var resultprediction = predEngine.Predict(sample); - - Console.WriteLine($"=============== Single Prediction ==============="); - Console.WriteLine($"Actual value: {sample.Label} | Predicted value: {resultprediction.Score} "); - Console.WriteLine($"=================================================="); - } - - } - - public class SampleObservation - { - [ColumnName("Label"), LoadColumn(0)] - public bool Label { get; set; } - - - [ColumnName("col1"), LoadColumn(1)] - public float Col1 { get; set; } - - - [ColumnName("col2"), LoadColumn(0)] - public float Col2 { get; set; } - - - [ColumnName("col3"), LoadColumn(0)] - public string Col3 { get; set; } - - - [ColumnName("col4"), LoadColumn(0)] - public int Col4 { get; set; } - - - [ColumnName("col5"), LoadColumn(0)] - public uint Col5 { get; set; } - - - } - - public class SamplePrediction - { - public float Score { get; set; } - } - -} diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProjectFileContentTest.approved.txt b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProjectFileContentTest.approved.txt deleted file mode 100644 index 789c3638c0..0000000000 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.TrainProjectFileContentTest.approved.txt +++ /dev/null @@ -1,15 +0,0 @@ - - - - Exe - netcoreapp2.1 - - - - - - - - - - diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs index e08ff531c9..eb9b109fed 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; -using System.Linq; using System.Runtime.CompilerServices; using ApprovalTests; using ApprovalTests.Reporters; @@ -28,30 +27,7 @@ public class ConsoleCodeGeneratorTests [TestMethod] [UseReporter(typeof(DiffReporter))] [MethodImpl(MethodImplOptions.NoInlining)] - public void ConsoleHelperFileContentTest() - { - (Pipeline pipeline, - ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); - - var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() - { - MlTask = TaskKind.BinaryClassification, - OutputBaseDir = null, - OutputName = "MyNamespace", - TrainDataset = "x:\\dummypath\\dummy_train.csv", - TestDataset = "x:\\dummypath\\dummy_test.csv", - LabelName = "Label", - ModelPath = "x:\\models\\model.zip" - }); - var result = consoleCodeGen.GenerateTrainProjectContents(namespaceValue, typeof(float)); - - Approvals.Verify(result.Item3); - } - - [TestMethod] - [UseReporter(typeof(DiffReporter))] - [MethodImpl(MethodImplOptions.NoInlining)] - public void TrainProgramCSFileContentOvaTest() + public void ConsoleAppModelBuilderCSFileContentOvaTest() { (Pipeline pipeline, ColumnInferenceResults columnInference) = GetMockedOvaPipelineAndInference(); @@ -66,18 +42,18 @@ public void TrainProgramCSFileContentOvaTest() LabelName = "Label", ModelPath = "x:\\models\\model.zip" }); - var result = consoleCodeGen.GenerateTrainProjectContents(namespaceValue, typeof(float)); + var result = consoleCodeGen.GenerateConsoleAppProjectContents(namespaceValue, typeof(float)); - Approvals.Verify(result.Item1); + Approvals.Verify(result.modelBuilderCSFileContent); } [TestMethod] [UseReporter(typeof(DiffReporter))] [MethodImpl(MethodImplOptions.NoInlining)] - public void TrainProgramCSFileContentTest() + public void ConsoleAppModelBuilderCSFileContentBinaryTest() { (Pipeline pipeline, - ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedBinaryPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { @@ -89,24 +65,22 @@ public void TrainProgramCSFileContentTest() LabelName = "Label", ModelPath = "x:\\models\\model.zip" }); - var result = consoleCodeGen.GenerateTrainProjectContents(namespaceValue, typeof(float)); + var result = consoleCodeGen.GenerateConsoleAppProjectContents(namespaceValue, typeof(float)); - Approvals.Verify(result.Item1); + Approvals.Verify(result.modelBuilderCSFileContent); } - - [TestMethod] [UseReporter(typeof(DiffReporter))] [MethodImpl(MethodImplOptions.NoInlining)] - public void TrainProjectFileContentTest() + public void ConsoleAppModelBuilderCSFileContentRegressionTest() { (Pipeline pipeline, - ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedRegressionPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { - MlTask = TaskKind.BinaryClassification, + MlTask = TaskKind.Regression, OutputBaseDir = null, OutputName = "MyNamespace", TrainDataset = "x:\\dummypath\\dummy_train.csv", @@ -114,9 +88,9 @@ public void TrainProjectFileContentTest() LabelName = "Label", ModelPath = "x:\\models\\model.zip" }); - var result = consoleCodeGen.GenerateTrainProjectContents(namespaceValue, typeof(float)); + var result = consoleCodeGen.GenerateConsoleAppProjectContents(namespaceValue, typeof(float)); - Approvals.Verify(result.Item2); + Approvals.Verify(result.modelBuilderCSFileContent); } [TestMethod] @@ -125,7 +99,7 @@ public void TrainProjectFileContentTest() public void ModelProjectFileContentTest() { (Pipeline pipeline, - ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedBinaryPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { @@ -148,7 +122,7 @@ public void ModelProjectFileContentTest() public void ObservationCSFileContentTest() { (Pipeline pipeline, - ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedBinaryPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { @@ -172,7 +146,7 @@ public void ObservationCSFileContentTest() public void PredictionCSFileContentTest() { (Pipeline pipeline, - ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedBinaryPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { @@ -192,10 +166,10 @@ public void PredictionCSFileContentTest() [TestMethod] [UseReporter(typeof(DiffReporter))] [MethodImpl(MethodImplOptions.NoInlining)] - public void PredictProgramCSFileContentTest() + public void ConsoleAppProgramCSFileContentTest() { (Pipeline pipeline, - ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedBinaryPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { @@ -207,18 +181,18 @@ public void PredictProgramCSFileContentTest() LabelName = "Label", ModelPath = "x:\\models\\model.zip" }); - var result = consoleCodeGen.GeneratePredictProjectContents(namespaceValue); + var result = consoleCodeGen.GenerateConsoleAppProjectContents(namespaceValue, typeof(float)); - Approvals.Verify(result.PredictProgramCSFileContent); + Approvals.Verify(result.ConsoleAppProgramCSFileContent); } [TestMethod] [UseReporter(typeof(DiffReporter))] [MethodImpl(MethodImplOptions.NoInlining)] - public void PredictProjectFileContentTest() + public void ConsoleAppProjectFileContentTest() { (Pipeline pipeline, - ColumnInferenceResults columnInference) = GetMockedPipelineAndInference(); + ColumnInferenceResults columnInference) = GetMockedBinaryPipelineAndInference(); var consoleCodeGen = new CodeGenerator(pipeline, columnInference, new CodeGeneratorSettings() { @@ -230,25 +204,21 @@ public void PredictProjectFileContentTest() LabelName = "Label", ModelPath = "x:\\models\\model.zip" }); - var result = consoleCodeGen.GeneratePredictProjectContents(namespaceValue); + var result = consoleCodeGen.GenerateConsoleAppProjectContents(namespaceValue, typeof(float)); - Approvals.Verify(result.PredictProjectFileContent); + Approvals.Verify(result.ConsoleAppProjectFileContent); } - private (Pipeline, ColumnInferenceResults) GetMockedPipelineAndInference() + private (Pipeline, ColumnInferenceResults) GetMockedBinaryPipelineAndInference() { if (mockedPipeline == null) { MLContext context = new MLContext(); // same learners with different hyperparams var hyperparams1 = new Microsoft.ML.Auto.ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); - var hyperparams2 = new Microsoft.ML.Auto.ParameterSet(new List() { new LongParameterValue("NumLeaves", 6) }); var trainer1 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), new ColumnInformation(), hyperparams1); - var trainer2 = new SuggestedTrainer(context, new LightGbmBinaryExtension(), new ColumnInformation(), hyperparams2); var transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - var transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; var inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, true); - var inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, false); this.mockedPipeline = inferredPipeline1.ToPipeline(); var textLoaderArgs = new TextLoader.Options() @@ -276,6 +246,42 @@ public void PredictProjectFileContentTest() return (mockedPipeline, columnInference); } + private (Pipeline, ColumnInferenceResults) GetMockedRegressionPipelineAndInference() + { + if (mockedPipeline == null) + { + MLContext context = new MLContext(); + // same learners with different hyperparams + var hyperparams1 = new Microsoft.ML.Auto.ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); + var trainer1 = new SuggestedTrainer(context, new LightGbmRegressionExtension(), new ColumnInformation(), hyperparams1); + var transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; + var inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, true); + + this.mockedPipeline = inferredPipeline1.ToPipeline(); + var textLoaderArgs = new TextLoader.Options() + { + Columns = new[] { + new TextLoader.Column("Label", DataKind.Boolean, 0), + new TextLoader.Column("col1", DataKind.Single, 1), + new TextLoader.Column("col2", DataKind.Single, 0), + new TextLoader.Column("col3", DataKind.String, 0), + new TextLoader.Column("col4", DataKind.Int32, 0), + new TextLoader.Column("col5", DataKind.UInt32, 0), + }, + AllowQuoting = true, + AllowSparse = true, + HasHeader = true, + Separators = new[] { ',' } + }; + + this.columnInference = new ColumnInferenceResults() + { + TextLoaderOptions = textLoaderArgs, + ColumnInformation = new ColumnInformation() { LabelColumnName = "Label" } + }; + } + return (mockedPipeline, columnInference); + } private (Pipeline, ColumnInferenceResults) GetMockedOvaPipelineAndInference() { if (mockedOvaPipeline == null) @@ -283,13 +289,9 @@ public void PredictProjectFileContentTest() MLContext context = new MLContext(); // same learners with different hyperparams var hyperparams1 = new Microsoft.ML.Auto.ParameterSet(new List() { new LongParameterValue("NumLeaves", 2) }); - var hyperparams2 = new Microsoft.ML.Auto.ParameterSet(new List() { new LongParameterValue("NumLeaves", 6) }); var trainer1 = new SuggestedTrainer(context, new FastForestOvaExtension(), new ColumnInformation(), hyperparams1); - var trainer2 = new SuggestedTrainer(context, new FastForestOvaExtension(), new ColumnInformation(), hyperparams2); var transforms1 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; - var transforms2 = new List() { ColumnConcatenatingExtension.CreateSuggestedTransform(context, new[] { "In" }, "Out") }; var inferredPipeline1 = new SuggestedPipeline(transforms1, new List(), trainer1, context, true); - var inferredPipeline2 = new SuggestedPipeline(transforms2, new List(), trainer2, context, false); this.mockedOvaPipeline = inferredPipeline1.ToPipeline(); var textLoaderArgs = new TextLoader.Options() diff --git a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs index e38b3b6883..908ef6d9d3 100644 --- a/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs +++ b/src/mlnet/CodeGenerator/CSharp/CodeGenerator.cs @@ -46,55 +46,37 @@ public void GenerateOutput() Utils.WriteOutputToFiles(modelProjectContents.PredictionCSFileContent, "Prediction.cs", dataModelsDir); Utils.WriteOutputToFiles(modelProjectContents.ModelProjectFileContent, modelProjectName, modelprojectDir); - // Generate Predict Project - var predictProjectContents = GeneratePredictProjectContents(namespaceValue); + // Generate ConsoleApp Project + var consoleAppProjectContents = GenerateConsoleAppProjectContents(namespaceValue, labelTypeCsharp); // Write files to disk. - var predictProjectDir = Path.Combine(settings.OutputBaseDir, $"{settings.OutputName}.Predict"); - var predictProjectName = $"{settings.OutputName}.Predict.csproj"; + var consoleAppProjectDir = Path.Combine(settings.OutputBaseDir, $"{settings.OutputName}.ConsoleApp"); + var consoleAppProjectName = $"{settings.OutputName}.ConsoleApp.csproj"; - Utils.WriteOutputToFiles(predictProjectContents.PredictProgramCSFileContent, "Program.cs", predictProjectDir); - Utils.WriteOutputToFiles(predictProjectContents.PredictProjectFileContent, predictProjectName, predictProjectDir); - - // Generate Train Project - (string trainProgramCSFileContent, string trainProjectFileContent, string consoleHelperCSFileContent) = GenerateTrainProjectContents(namespaceValue, labelTypeCsharp); - - // Write files to disk. - var trainProjectDir = Path.Combine(settings.OutputBaseDir, $"{settings.OutputName}.Train"); - var trainProjectName = $"{settings.OutputName}.Train.csproj"; - - Utils.WriteOutputToFiles(trainProgramCSFileContent, "Program.cs", trainProjectDir); - Utils.WriteOutputToFiles(consoleHelperCSFileContent, "ConsoleHelper.cs", trainProjectDir); - Utils.WriteOutputToFiles(trainProjectFileContent, trainProjectName, trainProjectDir); + Utils.WriteOutputToFiles(consoleAppProjectContents.ConsoleAppProgramCSFileContent, "Program.cs", consoleAppProjectDir); + Utils.WriteOutputToFiles(consoleAppProjectContents.modelBuilderCSFileContent, "ModelBuilder.cs", consoleAppProjectDir); + Utils.WriteOutputToFiles(consoleAppProjectContents.ConsoleAppProjectFileContent, consoleAppProjectName, consoleAppProjectDir); // New solution file. Utils.CreateSolutionFile(settings.OutputName, settings.OutputBaseDir); // Add projects to solution var solutionPath = Path.Combine(settings.OutputBaseDir, $"{settings.OutputName}.sln"); - Utils.AddProjectsToSolution(modelprojectDir, modelProjectName, predictProjectDir, predictProjectName, trainProjectDir, trainProjectName, solutionPath); - } - - internal (string, string, string) GenerateTrainProjectContents(string namespaceValue, Type labelTypeCsharp) - { - var result = GenerateTransformsAndTrainers(); - - var trainProgramCSFileContent = GenerateTrainProgramCSFileContent(result.Usings, result.TrainerMethod, result.PreTrainerTransforms, result.PostTrainerTransforms, namespaceValue, pipeline.CacheBeforeTrainer, labelTypeCsharp.Name); - trainProgramCSFileContent = Utils.FormatCode(trainProgramCSFileContent); - - var trainProjectFileContent = GeneratTrainProjectFileContent(namespaceValue); - var consoleHelperCSFileContent = GenerateConsoleHelper(namespaceValue); - - return (trainProgramCSFileContent, trainProjectFileContent, consoleHelperCSFileContent); + Utils.AddProjectsToSolution(modelprojectDir, modelProjectName, consoleAppProjectDir, consoleAppProjectName, solutionPath); } - internal (string PredictProgramCSFileContent, string PredictProjectFileContent) GeneratePredictProjectContents(string namespaceValue) + internal (string ConsoleAppProgramCSFileContent, string ConsoleAppProjectFileContent, string modelBuilderCSFileContent) GenerateConsoleAppProjectContents(string namespaceValue, Type labelTypeCsharp) { var predictProgramCSFileContent = GeneratePredictProgramCSFileContent(namespaceValue); predictProgramCSFileContent = Utils.FormatCode(predictProgramCSFileContent); var predictProjectFileContent = GeneratPredictProjectFileContent(namespaceValue, true, true); - return (predictProgramCSFileContent, predictProjectFileContent); + + var transformsAndTrainers = GenerateTransformsAndTrainers(); + var modelBuilderCSFileContent = GenerateModelBuilderCSFileContent(transformsAndTrainers.Usings, transformsAndTrainers.TrainerMethod, transformsAndTrainers.PreTrainerTransforms, transformsAndTrainers.PostTrainerTransforms, namespaceValue, pipeline.CacheBeforeTrainer, labelTypeCsharp.Name); + modelBuilderCSFileContent = Utils.FormatCode(modelBuilderCSFileContent); + + return (predictProgramCSFileContent, predictProjectFileContent, modelBuilderCSFileContent); } internal (string ObservationCSFileContent, string PredictionCSFileContent, string ModelProjectFileContent) GenerateModelProjectContents(string namespaceValue, Type labelTypeCsharp) @@ -235,49 +217,6 @@ internal IList GenerateClassLabels() return result; } - #region Train Project - private string GenerateTrainProgramCSFileContent(string usings, - string trainerMethod, - List preTrainerTransforms, - List postTrainerTransforms, - string namespaceValue, - bool cacheBeforeTrainer, - string predictionLabelType) - { - var trainProgram = new TrainProgram() - { - PreTrainerTransforms = preTrainerTransforms, - PostTrainerTransforms = postTrainerTransforms, - HasHeader = columnInferenceResult.TextLoaderOptions.HasHeader, - Separator = columnInferenceResult.TextLoaderOptions.Separators.FirstOrDefault(), - AllowQuoting = columnInferenceResult.TextLoaderOptions.AllowQuoting, - AllowSparse = columnInferenceResult.TextLoaderOptions.AllowSparse, - Trainer = trainerMethod, - GeneratedUsings = usings, - Path = settings.TrainDataset, - TestPath = settings.TestDataset, - TaskType = settings.MlTask.ToString(), - Namespace = namespaceValue, - LabelName = settings.LabelName, - CacheBeforeTrainer = cacheBeforeTrainer, - }; - - return trainProgram.TransformText(); - } - - private string GeneratTrainProjectFileContent(string namespaceValue) - { - var trainProjectFileContent = new TrainProject() { Namespace = namespaceValue,/*The following args need to dynamic*/ IncludeMklComponentsPackage = true, IncludeLightGBMPackage = true }; - return trainProjectFileContent.TransformText(); - } - - private static string GenerateConsoleHelper(string namespaceValue) - { - var consoleHelperCodeGen = new ConsoleHelper() { Namespace = namespaceValue }; - return consoleHelperCodeGen.TransformText(); - } - #endregion - #region Model project private static string GenerateModelProjectFileContent() { @@ -321,6 +260,35 @@ private string GeneratePredictProgramCSFileContent(string namespaceValue) }; return predictProgram.TransformText(); } + + private string GenerateModelBuilderCSFileContent(string usings, + string trainerMethod, + List preTrainerTransforms, + List postTrainerTransforms, + string namespaceValue, + bool cacheBeforeTrainer, + string predictionLabelType) + { + var modelBuilder = new ModelBuilder() + { + PreTrainerTransforms = preTrainerTransforms, + PostTrainerTransforms = postTrainerTransforms, + HasHeader = columnInferenceResult.TextLoaderOptions.HasHeader, + Separator = columnInferenceResult.TextLoaderOptions.Separators.FirstOrDefault(), + AllowQuoting = columnInferenceResult.TextLoaderOptions.AllowQuoting, + AllowSparse = columnInferenceResult.TextLoaderOptions.AllowSparse, + Trainer = trainerMethod, + GeneratedUsings = usings, + Path = settings.TrainDataset, + TestPath = settings.TestDataset, + TaskType = settings.MlTask.ToString(), + Namespace = namespaceValue, + LabelName = settings.LabelName, + CacheBeforeTrainer = cacheBeforeTrainer, + }; + + return modelBuilder.TransformText(); + } #endregion } diff --git a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs index 108c96d686..b974a38a37 100644 --- a/src/mlnet/CodeGenerator/CodeGenerationHelper.cs +++ b/src/mlnet/CodeGenerator/CodeGenerationHelper.cs @@ -17,6 +17,7 @@ using Microsoft.ML.CLI.Utilities; using Microsoft.ML.Data; using NLog; +using NLog.Targets; namespace Microsoft.ML.CLI.CodeGenerator { @@ -172,6 +173,7 @@ public void GenerateCode() logger.Log(LogLevel.Error, $"{Strings.ExplorePipelineException}:"); logger.Log(LogLevel.Error, e.Message); logger.Log(LogLevel.Debug, e.ToString()); + logger.Log(LogLevel.Info, Strings.LookIntoLogFile); logger.Log(LogLevel.Error, Strings.Exiting); return; } @@ -181,30 +183,41 @@ public void GenerateCode() //Get the best pipeline Pipeline bestPipeline = null; ITransformer bestModel = null; - - switch (taskKind) + try + { + switch (taskKind) + { + case TaskKind.BinaryClassification: + var bestBinaryIteration = binaryRunDetails.Best(); + bestPipeline = bestBinaryIteration.Pipeline; + bestModel = bestBinaryIteration.Model; + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, elapsedTime.ToString("F2"), binaryRunDetails.Count()); + ConsolePrinter.PrintIterationSummary(binaryRunDetails, new BinaryExperimentSettings().OptimizingMetric, 5); + break; + case TaskKind.Regression: + var bestRegressionIteration = regressionRunDetails.Best(); + bestPipeline = bestRegressionIteration.Pipeline; + bestModel = bestRegressionIteration.Model; + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, elapsedTime.ToString("F2"), regressionRunDetails.Count()); + ConsolePrinter.PrintIterationSummary(regressionRunDetails, new RegressionExperimentSettings().OptimizingMetric, 5); + break; + case TaskKind.MulticlassClassification: + var bestMultiIteration = multiRunDetails.Best(); + bestPipeline = bestMultiIteration.Pipeline; + bestModel = bestMultiIteration.Model; + ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, elapsedTime.ToString("F2"), multiRunDetails.Count()); + ConsolePrinter.PrintIterationSummary(multiRunDetails, new MulticlassExperimentSettings().OptimizingMetric, 5); + break; + } + } + catch (Exception e) { - case TaskKind.BinaryClassification: - var bestBinaryIteration = binaryRunDetails.Best(); - bestPipeline = bestBinaryIteration.Pipeline; - bestModel = bestBinaryIteration.Model; - ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, elapsedTime.ToString("F2"), binaryRunDetails.Count()); - ConsolePrinter.PrintIterationSummary(binaryRunDetails, new BinaryExperimentSettings().OptimizingMetric, 5); - break; - case TaskKind.Regression: - var bestRegressionIteration = regressionRunDetails.Best(); - bestPipeline = bestRegressionIteration.Pipeline; - bestModel = bestRegressionIteration.Model; - ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, elapsedTime.ToString("F2"), regressionRunDetails.Count()); - ConsolePrinter.PrintIterationSummary(regressionRunDetails, new RegressionExperimentSettings().OptimizingMetric, 5); - break; - case TaskKind.MulticlassClassification: - var bestMultiIteration = multiRunDetails.Best(); - bestPipeline = bestMultiIteration.Pipeline; - bestModel = bestMultiIteration.Model; - ConsolePrinter.ExperimentResultsHeader(LogLevel.Info, settings.MlTask, settings.Dataset.Name, columnInformation.LabelColumnName, elapsedTime.ToString("F2"), multiRunDetails.Count()); - ConsolePrinter.PrintIterationSummary(multiRunDetails, new MulticlassExperimentSettings().OptimizingMetric, 5); - break; + logger.Log(LogLevel.Info, Strings.ErrorBestPipeline); + logger.Log(LogLevel.Info, e.Message); + logger.Log(LogLevel.Trace, e.ToString()); + logger.Log(LogLevel.Info, Strings.LookIntoLogFile); + logger.Log(LogLevel.Error, Strings.Exiting); + return; } // Save the model @@ -216,8 +229,8 @@ public void GenerateCode() // Generate the Project GenerateProject(columnInference, bestPipeline, columnInformation.LabelColumnName, modelPath); - logger.Log(LogLevel.Info, $"{Strings.GenerateModelConsumption}: { Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.Predict")}"); - logger.Log(LogLevel.Info, $"{Strings.GenerateModelTraining}: { Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.Train")}"); + logger.Log(LogLevel.Info, $"{Strings.GenerateModelConsumption}: { Path.Combine(settings.OutputPath.FullName, $"{settings.Name}.ConsoleApp")}"); + logger.Log(LogLevel.Info, $"{Strings.SeeLogFileForMoreInfo}: {settings.LogFilePath}"); Console.ResetColor(); } diff --git a/src/mlnet/Commands/New/NewCommandSettings.cs b/src/mlnet/Commands/New/NewCommandSettings.cs index 686e427aeb..22fb7c19d4 100644 --- a/src/mlnet/Commands/New/NewCommandSettings.cs +++ b/src/mlnet/Commands/New/NewCommandSettings.cs @@ -35,5 +35,7 @@ public class NewCommandSettings public List IgnoreColumns { get; set; } = new List(); + public string LogFilePath { get; set; } + } } diff --git a/src/mlnet/Program.cs b/src/mlnet/Program.cs index 404e971655..8a2715243b 100644 --- a/src/mlnet/Program.cs +++ b/src/mlnet/Program.cs @@ -51,7 +51,9 @@ public static void Main(string[] args) // Override the Logger Configuration var logconsole = LogManager.Configuration.FindTargetByName("logconsole"); var logfile = (FileTarget)LogManager.Configuration.FindTargetByName("logfile"); - logfile.FileName = $"{outputBaseDir}/logs/debug_log.txt"; + var logFilePath = Path.Combine(Path.Combine(outputBaseDir, "logs"), "debug_log.txt"); + logfile.FileName = logFilePath; + options.LogFilePath = logFilePath; var config = LogManager.Configuration; config.AddRule(verbosity, LogLevel.Fatal, logconsole); diff --git a/src/mlnet/Strings.resx b/src/mlnet/Strings.resx index 382a026dfd..e5f203d5f5 100644 --- a/src/mlnet/Strings.resx +++ b/src/mlnet/Strings.resx @@ -183,4 +183,13 @@ Waiting for the last iteration to complete ... + + Error occured while retreiving best pipeline. + + + Please see the log file for more info. + + + Check out log file for more information + \ No newline at end of file diff --git a/src/mlnet/Templates/Console/ConsoleHelper.cs b/src/mlnet/Templates/Console/ConsoleHelper.cs deleted file mode 100644 index 60480e9b0b..0000000000 --- a/src/mlnet/Templates/Console/ConsoleHelper.cs +++ /dev/null @@ -1,440 +0,0 @@ -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version: 15.0.0.0 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// ------------------------------------------------------------------------------ -namespace Microsoft.ML.CLI.Templates.Console -{ - using System.Linq; - using System.Text; - using System.Collections.Generic; - using System; - - /// - /// Class to produce the template output - /// - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public partial class ConsoleHelper : ConsoleHelperBase - { - /// - /// Create the template output - /// - public virtual string TransformText() - { - this.Write(@"//***************************************************************************************** -//* * -//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * -//* * -//***************************************************************************************** - -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.ML; -using Microsoft.ML.Data; - -namespace "); - this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); - this.Write(".Train\r\n{\r\n public static class ConsoleHelper\r\n {\r\n\r\n public static " + - "void PrintRegressionMetrics(RegressionMetrics metrics)\r\n {\r\n C" + - "onsole.WriteLine($\"*************************************************\");\r\n " + - " Console.WriteLine($\"* Metrics for regression model \");\r\n " + - " Console.WriteLine($\"*------------------------------------------------\");\r\n " + - " Console.WriteLine($\"* LossFn: {metrics.LossFunction:0.##}" + - "\");\r\n Console.WriteLine($\"* R2 Score: {metrics.RSquared:0." + - "##}\");\r\n Console.WriteLine($\"* Absolute loss: {metrics.MeanAbso" + - "luteError:#.##}\");\r\n Console.WriteLine($\"* Squared loss: {metr" + - "ics.MeanSquaredError:#.##}\");\r\n Console.WriteLine($\"* RMS loss:" + - " {metrics.RootMeanSquaredError:#.##}\");\r\n Console.WriteLine($\"**" + - "***********************************************\");\r\n }\r\n\r\n public " + - "static void PrintRegressionFoldsAverageMetrics(IEnumerable> crossValidationResults)\r\n {\r\n " + - " var L1 = crossValidationResults.Select(r => r.Metrics.MeanAbsoluteError);\r" + - "\n var L2 = crossValidationResults.Select(r => r.Metrics.MeanSquaredEr" + - "ror);\r\n var RMS = crossValidationResults.Select(r => r.Metrics.MeanAb" + - "soluteError);\r\n var lossFunction = crossValidationResults.Select(r =>" + - " r.Metrics.LossFunction);\r\n var R2 = crossValidationResults.Select(r " + - "=> r.Metrics.RSquared);\r\n\r\n Console.WriteLine($\"*********************" + - "********************************************************************************" + - "********\");\r\n Console.WriteLine($\"* Metrics for Regression mode" + - "l \");\r\n Console.WriteLine($\"*-----------------------------------" + - "-------------------------------------------------------------------------\");\r\n " + - " Console.WriteLine($\"* Average L1 Loss: {L1.Average():0.###} \"" + - ");\r\n Console.WriteLine($\"* Average L2 Loss: {L2.Average():0." + - "###} \");\r\n Console.WriteLine($\"* Average RMS: {RMS.Av" + - "erage():0.###} \");\r\n Console.WriteLine($\"* Average Loss Functi" + - "on: {lossFunction.Average():0.###} \");\r\n Console.WriteLine($\"* " + - " Average R-squared: {R2.Average():0.###} \");\r\n Console.WriteLine($\"*" + - "********************************************************************************" + - "****************************\");\r\n }\r\n\r\n public static void PrintBi" + - "naryClassificationMetrics(BinaryClassificationMetrics metrics)\r\n {\r\n " + - " Console.WriteLine($\"*****************************************************" + - "*******\");\r\n Console.WriteLine($\"* Metrics for binary classific" + - "ation model \");\r\n Console.WriteLine($\"*-------------------------" + - "----------------------------------\");\r\n Console.WriteLine($\"* A" + - "ccuracy: {metrics.Accuracy:P2}\");\r\n Console.WriteLine($\"* Auc: " + - " {metrics.AreaUnderRocCurve:P2}\");\r\n Console.WriteLine($\"********" + - "****************************************************\");\r\n }\r\n\r\n\r\n " + - "public static void PrintBinaryClassificationFoldsAverageMetrics(IEnumerable> crossValResults" + - ")\r\n {\r\n var metricsInMultipleFolds = crossValResults.Select(r " + - "=> r.Metrics);\r\n\r\n var AccuracyValues = metricsInMultipleFolds.Select" + - "(m => m.Accuracy);\r\n var AccuracyAverage = AccuracyValues.Average();\r" + - "\n var AccuraciesStdDeviation = CalculateStandardDeviation(AccuracyVal" + - "ues);\r\n var AccuraciesConfidenceInterval95 = CalculateConfidenceInter" + - "val95(AccuracyValues);\r\n\r\n\r\n Console.WriteLine($\"********************" + - "********************************************************************************" + - "*********\");\r\n Console.WriteLine($\"* Metrics for Binary Classif" + - "ication model \");\r\n Console.WriteLine($\"*-----------------------" + - "--------------------------------------------------------------------------------" + - "-----\");\r\n Console.WriteLine($\"* Average Accuracy: {Accuracy" + - "Average:0.###} - Standard deviation: ({AccuraciesStdDeviation:#.###}) - Confid" + - "ence Interval 95%: ({AccuraciesConfidenceInterval95:#.###})\");\r\n Cons" + - "ole.WriteLine($\"****************************************************************" + - "*********************************************\");\r\n\r\n }\r\n\r\n public " + - "static void PrintMulticlassClassificationMetrics(MulticlassClassificationMetrics" + - " metrics)\r\n {\r\n Console.WriteLine($\"**************************" + - "**********************************\");\r\n Console.WriteLine($\"* Metr" + - "ics for multi-class classification model \");\r\n Console.WriteLine($\"" + - "*-----------------------------------------------------------\");\r\n Con" + - "sole.WriteLine($\" MacroAccuracy = {metrics.MacroAccuracy:0.####}, a value bet" + - "ween 0 and 1, the closer to 1, the better\");\r\n Console.WriteLine($\" " + - " MicroAccuracy = {metrics.MicroAccuracy:0.####}, a value between 0 and 1, the c" + - "loser to 1, the better\");\r\n Console.WriteLine($\" LogLoss = {metric" + - "s.LogLoss:0.####}, the closer to 0, the better\");\r\n for (int i = 0; i" + - " < metrics.PerClassLogLoss.Count; i++)\r\n {\r\n Console.W" + - "riteLine($\" LogLoss for class {i + 1} = {metrics.PerClassLogLoss[i]:0.####}, " + - "the closer to 0, the better\");\r\n }\r\n Console.WriteLine($\"*" + - "***********************************************************\");\r\n }\r\n\r\n " + - " public static void PrintMulticlassClassificationFoldsAverageMetrics(IEnumer" + - "able> cr" + - "ossValResults)\r\n {\r\n var metricsInMultipleFolds = crossValResu" + - "lts.Select(r => r.Metrics);\r\n\r\n var microAccuracyValues = metricsInMu" + - "ltipleFolds.Select(m => m.MicroAccuracy);\r\n var microAccuracyAverage " + - "= microAccuracyValues.Average();\r\n var microAccuraciesStdDeviation = " + - "CalculateStandardDeviation(microAccuracyValues);\r\n var microAccuracie" + - "sConfidenceInterval95 = CalculateConfidenceInterval95(microAccuracyValues);\r\n\r\n " + - " var macroAccuracyValues = metricsInMultipleFolds.Select(m => m.MacroA" + - "ccuracy);\r\n var macroAccuracyAverage = macroAccuracyValues.Average();" + - "\r\n var macroAccuraciesStdDeviation = CalculateStandardDeviation(macro" + - "AccuracyValues);\r\n var macroAccuraciesConfidenceInterval95 = Calculat" + - "eConfidenceInterval95(macroAccuracyValues);\r\n\r\n var logLossValues = m" + - "etricsInMultipleFolds.Select(m => m.LogLoss);\r\n var logLossAverage = " + - "logLossValues.Average();\r\n var logLossStdDeviation = CalculateStandar" + - "dDeviation(logLossValues);\r\n var logLossConfidenceInterval95 = Calcul" + - "ateConfidenceInterval95(logLossValues);\r\n\r\n var logLossReductionValue" + - "s = metricsInMultipleFolds.Select(m => m.LogLossReduction);\r\n var log" + - "LossReductionAverage = logLossReductionValues.Average();\r\n var logLos" + - "sReductionStdDeviation = CalculateStandardDeviation(logLossReductionValues);\r\n " + - " var logLossReductionConfidenceInterval95 = CalculateConfidenceInterval" + - "95(logLossReductionValues);\r\n\r\n Console.WriteLine($\"*****************" + - "********************************************************************************" + - "************\");\r\n Console.WriteLine($\"* Metrics for Multi-class" + - " Classification model \");\r\n Console.WriteLine($\"*---------------" + - "--------------------------------------------------------------------------------" + - "-------------\");\r\n Console.WriteLine($\"* Average MicroAccuracy:" + - " {microAccuracyAverage:0.###} - Standard deviation: ({microAccuraciesStdDevi" + - "ation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfidenceInterval95:" + - "#.###})\");\r\n Console.WriteLine($\"* Average MacroAccuracy: {m" + - "acroAccuracyAverage:0.###} - Standard deviation: ({macroAccuraciesStdDeviation:" + - "#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInterval95:#.###}" + - ")\");\r\n Console.WriteLine($\"* Average LogLoss: {logLoss" + - "Average:#.###} - Standard deviation: ({logLossStdDeviation:#.###}) - Confidenc" + - "e Interval 95%: ({logLossConfidenceInterval95:#.###})\");\r\n Console.Wr" + - "iteLine($\"* Average LogLossReduction: {logLossReductionAverage:#.###} - S" + - "tandard deviation: ({logLossReductionStdDeviation:#.###}) - Confidence Interval" + - " 95%: ({logLossReductionConfidenceInterval95:#.###})\");\r\n Console.Wri" + - "teLine($\"***********************************************************************" + - "**************************************\");\r\n\r\n }\r\n\r\n public static " + - "double CalculateStandardDeviation(IEnumerable values)\r\n {\r\n " + - " double average = values.Average();\r\n double sumOfSquaresOfDiffe" + - "rences = values.Select(val => (val - average) * (val - average)).Sum();\r\n " + - " double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Co" + - "unt() - 1));\r\n return standardDeviation;\r\n }\r\n\r\n public" + - " static double CalculateConfidenceInterval95(IEnumerable values)\r\n " + - " {\r\n double confidenceInterval95 = 1.96 * CalculateStandardDeviation" + - "(values) / Math.Sqrt((values.Count() - 1));\r\n return confidenceInterv" + - "al95;\r\n }\r\n }\r\n}\r\n"); - return this.GenerationEnvironment.ToString(); - } - -public string Namespace {get;set;} - - } - #region Base class - /// - /// Base class for this transformation - /// - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public class ConsoleHelperBase - { - #region Fields - private global::System.Text.StringBuilder generationEnvironmentField; - private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; - private global::System.Collections.Generic.List indentLengthsField; - private string currentIndentField = ""; - private bool endsWithNewline; - private global::System.Collections.Generic.IDictionary sessionField; - #endregion - #region Properties - /// - /// The string builder that generation-time code is using to assemble generated output - /// - protected System.Text.StringBuilder GenerationEnvironment - { - get - { - if ((this.generationEnvironmentField == null)) - { - this.generationEnvironmentField = new global::System.Text.StringBuilder(); - } - return this.generationEnvironmentField; - } - set - { - this.generationEnvironmentField = value; - } - } - /// - /// The error collection for the generation process - /// - public System.CodeDom.Compiler.CompilerErrorCollection Errors - { - get - { - if ((this.errorsField == null)) - { - this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); - } - return this.errorsField; - } - } - /// - /// A list of the lengths of each indent that was added with PushIndent - /// - private System.Collections.Generic.List indentLengths - { - get - { - if ((this.indentLengthsField == null)) - { - this.indentLengthsField = new global::System.Collections.Generic.List(); - } - return this.indentLengthsField; - } - } - /// - /// Gets the current indent we use when adding lines to the output - /// - public string CurrentIndent - { - get - { - return this.currentIndentField; - } - } - /// - /// Current transformation session - /// - public virtual global::System.Collections.Generic.IDictionary Session - { - get - { - return this.sessionField; - } - set - { - this.sessionField = value; - } - } - #endregion - #region Transform-time helpers - /// - /// Write text directly into the generated output - /// - public void Write(string textToAppend) - { - if (string.IsNullOrEmpty(textToAppend)) - { - return; - } - // If we're starting off, or if the previous text ended with a newline, - // we have to append the current indent first. - if (((this.GenerationEnvironment.Length == 0) - || this.endsWithNewline)) - { - this.GenerationEnvironment.Append(this.currentIndentField); - this.endsWithNewline = false; - } - // Check if the current text ends with a newline - if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) - { - this.endsWithNewline = true; - } - // This is an optimization. If the current indent is "", then we don't have to do any - // of the more complex stuff further down. - if ((this.currentIndentField.Length == 0)) - { - this.GenerationEnvironment.Append(textToAppend); - return; - } - // Everywhere there is a newline in the text, add an indent after it - textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); - // If the text ends with a newline, then we should strip off the indent added at the very end - // because the appropriate indent will be added when the next time Write() is called - if (this.endsWithNewline) - { - this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); - } - else - { - this.GenerationEnvironment.Append(textToAppend); - } - } - /// - /// Write text directly into the generated output - /// - public void WriteLine(string textToAppend) - { - this.Write(textToAppend); - this.GenerationEnvironment.AppendLine(); - this.endsWithNewline = true; - } - /// - /// Write formatted text directly into the generated output - /// - public void Write(string format, params object[] args) - { - this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); - } - /// - /// Write formatted text directly into the generated output - /// - public void WriteLine(string format, params object[] args) - { - this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); - } - /// - /// Raise an error - /// - public void Error(string message) - { - System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); - error.ErrorText = message; - this.Errors.Add(error); - } - /// - /// Raise a warning - /// - public void Warning(string message) - { - System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); - error.ErrorText = message; - error.IsWarning = true; - this.Errors.Add(error); - } - /// - /// Increase the indent - /// - public void PushIndent(string indent) - { - if ((indent == null)) - { - throw new global::System.ArgumentNullException("indent"); - } - this.currentIndentField = (this.currentIndentField + indent); - this.indentLengths.Add(indent.Length); - } - /// - /// Remove the last indent that was added with PushIndent - /// - public string PopIndent() - { - string returnValue = ""; - if ((this.indentLengths.Count > 0)) - { - int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; - this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); - if ((indentLength > 0)) - { - returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); - this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); - } - } - return returnValue; - } - /// - /// Remove any indentation - /// - public void ClearIndent() - { - this.indentLengths.Clear(); - this.currentIndentField = ""; - } - #endregion - #region ToString Helpers - /// - /// Utility class to produce culture-oriented representation of an object as a string. - /// - public class ToStringInstanceHelper - { - private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; - /// - /// Gets or sets format provider to be used by ToStringWithCulture method. - /// - public System.IFormatProvider FormatProvider - { - get - { - return this.formatProviderField ; - } - set - { - if ((value != null)) - { - this.formatProviderField = value; - } - } - } - /// - /// This is called from the compile/run appdomain to convert objects within an expression block to a string - /// - public string ToStringWithCulture(object objectToConvert) - { - if ((objectToConvert == null)) - { - throw new global::System.ArgumentNullException("objectToConvert"); - } - System.Type t = objectToConvert.GetType(); - System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { - typeof(System.IFormatProvider)}); - if ((method == null)) - { - return objectToConvert.ToString(); - } - else - { - return ((string)(method.Invoke(objectToConvert, new object[] { - this.formatProviderField }))); - } - } - } - private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); - /// - /// Helper to produce culture-oriented representation of an object as a string - /// - public ToStringInstanceHelper ToStringHelper - { - get - { - return this.toStringHelperField; - } - } - #endregion - } - #endregion -} diff --git a/src/mlnet/Templates/Console/TrainProgram.cs b/src/mlnet/Templates/Console/ModelBuilder.cs similarity index 59% rename from src/mlnet/Templates/Console/TrainProgram.cs rename to src/mlnet/Templates/Console/ModelBuilder.cs index 4d85944128..32795203f7 100644 --- a/src/mlnet/Templates/Console/TrainProgram.cs +++ b/src/mlnet/Templates/Console/ModelBuilder.cs @@ -20,7 +20,7 @@ namespace Microsoft.ML.CLI.Templates.Console /// Class to produce the template output /// [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public partial class TrainProgram : TrainProgramBase + public partial class ModelBuilder : ModelBuilderBase { /// /// Create the template output @@ -34,17 +34,19 @@ public virtual string TransformText() //***************************************************************************************** using System; +using System.Collections.Generic; using System.IO; using System.Linq; using Microsoft.ML; +using Microsoft.ML.Data; using "); this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); this.Write(".Model.DataModels;\r\n"); this.Write(this.ToStringHelper.ToStringWithCulture(GeneratedUsings)); this.Write("\r\nnamespace "); this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); - this.Write(".Train\r\n{\r\n class Program\r\n {\r\n private static string TRAIN_DATA_FIL" + - "EPATH = @\""); + this.Write(".ConsoleApp\r\n{\r\n public static class ModelBuilder\r\n {\r\n private stat" + + "ic string TRAIN_DATA_FILEPATH = @\""); this.Write(this.ToStringHelper.ToStringWithCulture(Path)); this.Write("\";\r\n"); if(!string.IsNullOrEmpty(TestPath)){ @@ -56,12 +58,12 @@ public virtual string TransformText() this.Write(this.ToStringHelper.ToStringWithCulture(Namespace)); this.Write(@".Model/MLModel.zip""; - static void Main(string[] args) - { - // Create MLContext to be shared across the model creation workflow objects - // Set a random seed for repeatable/deterministic results across multiple trainings. - MLContext mlContext = new MLContext(seed: 1); + // Create MLContext to be shared across the model creation workflow objects + // Set a random seed for repeatable/deterministic results across multiple trainings. + private static MLContext mlContext = new MLContext(seed: 1); + public static void CreateModel() + { // Load Data IDataView trainingDataView = mlContext.Data.LoadFromTextFile( path: TRAIN_DATA_FILEPATH, @@ -90,8 +92,8 @@ static void Main(string[] args) this.Write(" // Build training pipeline\r\n IEstimator trai" + "ningPipeline = BuildTrainingPipeline(mlContext);\r\n\r\n"); if(string.IsNullOrEmpty(TestPath)){ - this.Write(" // Evaluate quality of Model\r\n EvaluateModel(mlContext, tr" + - "ainingDataView, trainingPipeline);\r\n\r\n"); + this.Write(" // Evaluate quality of Model\r\n Evaluate(mlContext, trainin" + + "gDataView, trainingPipeline);\r\n\r\n"); } this.Write(" // Train Model\r\n ITransformer mlModel = TrainModel(mlConte" + "xt, trainingDataView, trainingPipeline);\r\n"); @@ -99,17 +101,9 @@ static void Main(string[] args) this.Write("\r\n // Evaluate quality of Model\r\n EvaluateModel(mlContext, " + "mlModel, testDataView);\r\n"); } - this.Write(@" - // Save model - SaveModel(mlContext, mlModel, MODEL_FILEPATH, trainingDataView.Schema); - - Console.WriteLine(""=============== End of process, hit any key to finish ===============""); - Console.ReadKey(); - } - - public static IEstimator BuildTrainingPipeline(MLContext mlContext) - { -"); + this.Write("\r\n // Save model\r\n SaveModel(mlContext, mlModel, MODEL_FILE" + + "PATH, trainingDataView.Schema);\r\n }\r\n\r\n public static IEstimator BuildTrainingPipeline(MLContext mlContext)\r\n {\r\n"); if(PreTrainerTransforms.Count >0 ) { this.Write(" // Data process configuration with pipeline data transformations \r\n " + " var dataProcessPipeline = "); @@ -173,25 +167,23 @@ public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDat this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".EvaluateNonCalibrated(predictions, \""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\", \"Score\");\r\n ConsoleHelper.PrintBinaryClassificationMetrics(metrics)" + - ";\r\n"); + this.Write("\", \"Score\");\r\n PrintBinaryClassificationMetrics(metrics);\r\n"); } if("MulticlassClassification".Equals(TaskType)){ this.Write(" var metrics = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".Evaluate(predictions, \""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\", \"Score\");\r\n ConsoleHelper.PrintMulticlassClassificationMetrics(metr" + - "ics);\r\n"); + this.Write("\", \"Score\");\r\n PrintMulticlassClassificationMetrics(metrics);\r\n"); }if("Regression".Equals(TaskType)){ this.Write(" var metrics = mlContext."); this.Write(this.ToStringHelper.ToStringWithCulture(TaskType)); this.Write(".Evaluate(predictions, \""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\", \"Score\");\r\n ConsoleHelper.PrintRegressionMetrics(metrics);\r\n"); + this.Write("\", \"Score\");\r\n PrintRegressionMetrics(metrics);\r\n"); } this.Write(" }\r\n"); }else{ - this.Write(@" private static void EvaluateModel(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) + this.Write(@" private static void Evaluate(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) { // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) // in order to evaluate and get the model's accuracy metrics @@ -204,8 +196,8 @@ public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDat this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); this.Write(", labelColumnName:\""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\");\r\n ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(cross" + - "ValidationResults);\r\n"); + this.Write("\");\r\n PrintBinaryClassificationFoldsAverageMetrics(crossValidationResu" + + "lts);\r\n"); } if("MulticlassClassification".Equals(TaskType)){ this.Write(" var crossValidationResults = mlContext."); @@ -214,8 +206,8 @@ public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDat this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); this.Write(", labelColumnName:\""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\");\r\n ConsoleHelper.PrintMulticlassClassificationFoldsAverageMetrics(c" + - "rossValidationResults);\r\n"); + this.Write("\");\r\n PrintMulticlassClassificationFoldsAverageMetrics(crossValidation" + + "Results);\r\n"); } if("Regression".Equals(TaskType)){ this.Write(" var crossValidationResults = mlContext."); @@ -224,8 +216,7 @@ public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDat this.Write(this.ToStringHelper.ToStringWithCulture(Kfolds)); this.Write(", labelColumnName:\""); this.Write(this.ToStringHelper.ToStringWithCulture(LabelName)); - this.Write("\");\r\n ConsoleHelper.PrintRegressionFoldsAverageMetrics(crossValidation" + - "Results);\r\n"); + this.Write("\");\r\n PrintRegressionFoldsAverageMetrics(crossValidationResults);\r\n"); } this.Write(" }\r\n"); } @@ -248,9 +239,141 @@ public static string GetAbsolutePath(string relativePath) return fullPath; } - } -} + "); +if("Regression".Equals(TaskType)){ + this.Write(" public static void PrintRegressionMetrics(RegressionMetrics metrics)\r\n " + + " {\r\n Console.WriteLine($\"****************************************" + + "*********\");\r\n Console.WriteLine($\"* Metrics for regression mod" + + "el \");\r\n Console.WriteLine($\"*----------------------------------" + + "--------------\");\r\n Console.WriteLine($\"* LossFn: {metri" + + "cs.LossFunction:0.##}\");\r\n Console.WriteLine($\"* R2 Score: " + + " {metrics.RSquared:0.##}\");\r\n Console.WriteLine($\"* Absolute lo" + + "ss: {metrics.MeanAbsoluteError:#.##}\");\r\n Console.WriteLine($\"* " + + " Squared loss: {metrics.MeanSquaredError:#.##}\");\r\n Console.WriteLin" + + "e($\"* RMS loss: {metrics.RootMeanSquaredError:#.##}\");\r\n C" + + "onsole.WriteLine($\"*************************************************\");\r\n " + + " }\r\n\r\n public static void PrintRegressionFoldsAverageMetrics(IEnumerable<" + + "TrainCatalogBase.CrossValidationResult> crossValidationResult" + + "s)\r\n {\r\n var L1 = crossValidationResults.Select(r => r.Metrics" + + ".MeanAbsoluteError);\r\n var L2 = crossValidationResults.Select(r => r." + + "Metrics.MeanSquaredError);\r\n var RMS = crossValidationResults.Select(" + + "r => r.Metrics.MeanAbsoluteError);\r\n var lossFunction = crossValidati" + + "onResults.Select(r => r.Metrics.LossFunction);\r\n var R2 = crossValida" + + "tionResults.Select(r => r.Metrics.RSquared);\r\n\r\n Console.WriteLine($\"" + + "********************************************************************************" + + "*****************************\");\r\n Console.WriteLine($\"* Metric" + + "s for Regression model \");\r\n Console.WriteLine($\"*--------------" + + "--------------------------------------------------------------------------------" + + "--------------\");\r\n Console.WriteLine($\"* Average L1 Loss: {" + + "L1.Average():0.###} \");\r\n Console.WriteLine($\"* Average L2 Loss" + + ": {L2.Average():0.###} \");\r\n Console.WriteLine($\"* Average " + + "RMS: {RMS.Average():0.###} \");\r\n Console.WriteLine($\"* " + + " Average Loss Function: {lossFunction.Average():0.###} \");\r\n Consol" + + "e.WriteLine($\"* Average R-squared: {R2.Average():0.###} \");\r\n " + + "Console.WriteLine($\"************************************************************" + + "*************************************************\");\r\n }\r\n"); + } if("BinaryClassification".Equals(TaskType)){ + this.Write(" public static void PrintBinaryClassificationMetrics(BinaryClassificationM" + + "etrics metrics)\r\n {\r\n Console.WriteLine($\"********************" + + "****************************************\");\r\n Console.WriteLine($\"* " + + " Metrics for binary classification model \");\r\n Console.Write" + + "Line($\"*-----------------------------------------------------------\");\r\n " + + " Console.WriteLine($\"* Accuracy: {metrics.Accuracy:P2}\");\r\n " + + "Console.WriteLine($\"* Auc: {metrics.AreaUnderRocCurve:P2}\");\r\n " + + " Console.WriteLine($\"*******************************************************" + + "*****\");\r\n }\r\n\r\n\r\n public static void PrintBinaryClassificationFol" + + "dsAverageMetrics(IEnumerable> crossValResults)\r\n {\r\n var metricsInMultiple" + + "Folds = crossValResults.Select(r => r.Metrics);\r\n\r\n var AccuracyValue" + + "s = metricsInMultipleFolds.Select(m => m.Accuracy);\r\n var AccuracyAve" + + "rage = AccuracyValues.Average();\r\n var AccuraciesStdDeviation = Calcu" + + "lateStandardDeviation(AccuracyValues);\r\n var AccuraciesConfidenceInte" + + "rval95 = CalculateConfidenceInterval95(AccuracyValues);\r\n\r\n\r\n Console" + + ".WriteLine($\"*******************************************************************" + + "******************************************\");\r\n Console.WriteLine($\"*" + + " Metrics for Binary Classification model \");\r\n Console.Wri" + + "teLine($\"*----------------------------------------------------------------------" + + "--------------------------------------\");\r\n Console.WriteLine($\"* " + + " Average Accuracy: {AccuracyAverage:0.###} - Standard deviation: ({Accurac" + + "iesStdDeviation:#.###}) - Confidence Interval 95%: ({AccuraciesConfidenceInterv" + + "al95:#.###})\");\r\n Console.WriteLine($\"*******************************" + + "******************************************************************************\")" + + ";\r\n }\r\n\r\n public static double CalculateStandardDeviation(IEnumera" + + "ble values)\r\n {\r\n double average = values.Average();\r\n" + + " double sumOfSquaresOfDifferences = values.Select(val => (val - avera" + + "ge) * (val - average)).Sum();\r\n double standardDeviation = Math.Sqrt(" + + "sumOfSquaresOfDifferences / (values.Count() - 1));\r\n return standardD" + + "eviation;\r\n }\r\n\r\n public static double CalculateConfidenceInterval" + + "95(IEnumerable values)\r\n {\r\n double confidenceInterval" + + "95 = 1.96 * CalculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1))" + + ";\r\n return confidenceInterval95;\r\n }\r\n"); +} if("MulticlassClassification".Equals(TaskType)){ + this.Write(" public static void PrintMulticlassClassificationMetrics(MulticlassClassif" + + "icationMetrics metrics)\r\n {\r\n Console.WriteLine($\"************" + + "************************************************\");\r\n Console.WriteLi" + + "ne($\"* Metrics for multi-class classification model \");\r\n Consol" + + "e.WriteLine($\"*-----------------------------------------------------------\");\r\n " + + " Console.WriteLine($\" MacroAccuracy = {metrics.MacroAccuracy:0.####" + + "}, a value between 0 and 1, the closer to 1, the better\");\r\n Console." + + "WriteLine($\" MicroAccuracy = {metrics.MicroAccuracy:0.####}, a value between " + + "0 and 1, the closer to 1, the better\");\r\n Console.WriteLine($\" Log" + + "Loss = {metrics.LogLoss:0.####}, the closer to 0, the better\");\r\n for" + + " (int i = 0; i < metrics.PerClassLogLoss.Count; i++)\r\n {\r\n " + + " Console.WriteLine($\" LogLoss for class {i + 1} = {metrics.PerClassLogLos" + + "s[i]:0.####}, the closer to 0, the better\");\r\n }\r\n Console" + + ".WriteLine($\"************************************************************\");\r\n " + + " }\r\n\r\n public static void PrintMulticlassClassificationFoldsAverageM" + + "etrics(IEnumerable> crossValResults)\r\n {\r\n var metricsInMultipleFolds " + + "= crossValResults.Select(r => r.Metrics);\r\n\r\n var microAccuracyValues" + + " = metricsInMultipleFolds.Select(m => m.MicroAccuracy);\r\n var microAc" + + "curacyAverage = microAccuracyValues.Average();\r\n var microAccuraciesS" + + "tdDeviation = CalculateStandardDeviation(microAccuracyValues);\r\n var " + + "microAccuraciesConfidenceInterval95 = CalculateConfidenceInterval95(microAccurac" + + "yValues);\r\n\r\n var macroAccuracyValues = metricsInMultipleFolds.Select" + + "(m => m.MacroAccuracy);\r\n var macroAccuracyAverage = macroAccuracyVal" + + "ues.Average();\r\n var macroAccuraciesStdDeviation = CalculateStandardD" + + "eviation(macroAccuracyValues);\r\n var macroAccuraciesConfidenceInterva" + + "l95 = CalculateConfidenceInterval95(macroAccuracyValues);\r\n\r\n var log" + + "LossValues = metricsInMultipleFolds.Select(m => m.LogLoss);\r\n var log" + + "LossAverage = logLossValues.Average();\r\n var logLossStdDeviation = Ca" + + "lculateStandardDeviation(logLossValues);\r\n var logLossConfidenceInter" + + "val95 = CalculateConfidenceInterval95(logLossValues);\r\n\r\n var logLoss" + + "ReductionValues = metricsInMultipleFolds.Select(m => m.LogLossReduction);\r\n " + + " var logLossReductionAverage = logLossReductionValues.Average();\r\n " + + " var logLossReductionStdDeviation = CalculateStandardDeviation(logLossReducti" + + "onValues);\r\n var logLossReductionConfidenceInterval95 = CalculateConf" + + "idenceInterval95(logLossReductionValues);\r\n\r\n Console.WriteLine($\"***" + + "********************************************************************************" + + "**************************\");\r\n Console.WriteLine($\"* Metrics f" + + "or Multi-class Classification model \");\r\n Console.WriteLine($\"*-" + + "--------------------------------------------------------------------------------" + + "---------------------------\");\r\n Console.WriteLine($\"* Average " + + "MicroAccuracy: {microAccuracyAverage:0.###} - Standard deviation: ({microAcc" + + "uraciesStdDeviation:#.###}) - Confidence Interval 95%: ({microAccuraciesConfide" + + "nceInterval95:#.###})\");\r\n Console.WriteLine($\"* Average MacroA" + + "ccuracy: {macroAccuracyAverage:0.###} - Standard deviation: ({macroAccuracie" + + "sStdDeviation:#.###}) - Confidence Interval 95%: ({macroAccuraciesConfidenceInt" + + "erval95:#.###})\");\r\n Console.WriteLine($\"* Average LogLoss: " + + " {logLossAverage:#.###} - Standard deviation: ({logLossStdDeviation:#.###}" + + ") - Confidence Interval 95%: ({logLossConfidenceInterval95:#.###})\");\r\n " + + " Console.WriteLine($\"* Average LogLossReduction: {logLossReductionAvera" + + "ge:#.###} - Standard deviation: ({logLossReductionStdDeviation:#.###}) - Confi" + + "dence Interval 95%: ({logLossReductionConfidenceInterval95:#.###})\");\r\n " + + " Console.WriteLine($\"*********************************************************" + + "****************************************************\");\r\n\r\n }\r\n\r\n " + + "public static double CalculateStandardDeviation(IEnumerable values)\r\n " + + " {\r\n double average = values.Average();\r\n double sumOf" + + "SquaresOfDifferences = values.Select(val => (val - average) * (val - average)).S" + + "um();\r\n double standardDeviation = Math.Sqrt(sumOfSquaresOfDifference" + + "s / (values.Count() - 1));\r\n return standardDeviation;\r\n }\r\n\r\n" + + " public static double CalculateConfidenceInterval95(IEnumerable v" + + "alues)\r\n {\r\n double confidenceInterval95 = 1.96 * CalculateSta" + + "ndardDeviation(values) / Math.Sqrt((values.Count() - 1));\r\n return co" + + "nfidenceInterval95;\r\n }\r\n"); +} + this.Write(" }\r\n}\r\n"); return this.GenerationEnvironment.ToString(); } @@ -276,7 +399,7 @@ public static string GetAbsolutePath(string relativePath) /// Base class for this transformation /// [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public class TrainProgramBase + public class ModelBuilderBase { #region Fields private global::System.Text.StringBuilder generationEnvironmentField; diff --git a/src/mlnet/Templates/Console/ConsoleHelper.tt b/src/mlnet/Templates/Console/ModelBuilder.tt similarity index 50% rename from src/mlnet/Templates/Console/ConsoleHelper.tt rename to src/mlnet/Templates/Console/ModelBuilder.tt index f768ab985b..e77d8aa34f 100644 --- a/src/mlnet/Templates/Console/ConsoleHelper.tt +++ b/src/mlnet/Templates/Console/ModelBuilder.tt @@ -1,8 +1,10 @@ -<#@ template language="C#" linePragmas="false" #> +<#@ template language="C#" linePragmas="false" #> <#@ assembly name="System.Core" #> <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> +<#@ import namespace="System.Text.RegularExpressions" #> <#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="Microsoft.ML.CLI.Utilities" #> //***************************************************************************************** //* * //* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * @@ -11,15 +13,166 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using Microsoft.ML; using Microsoft.ML.Data; - -namespace <#= Namespace #>.Train +using <#= Namespace #>.Model.DataModels; +<#= GeneratedUsings #> +namespace <#= Namespace #>.ConsoleApp { - public static class ConsoleHelper + public static class ModelBuilder { + private static string TRAIN_DATA_FILEPATH = @"<#= Path #>"; +<#if(!string.IsNullOrEmpty(TestPath)){ #> + private static string TEST_DATA_FILEPATH = @"<#= TestPath #>"; +<# } #> + private static string MODEL_FILEPATH = @"../../../../<#= Namespace #>.Model/MLModel.zip"; + + // Create MLContext to be shared across the model creation workflow objects + // Set a random seed for repeatable/deterministic results across multiple trainings. + private static MLContext mlContext = new MLContext(seed: 1); + + public static void CreateModel() + { + // Load Data + IDataView trainingDataView = mlContext.Data.LoadFromTextFile( + path: TRAIN_DATA_FILEPATH, + hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, + separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', + allowQuoting : <#= AllowQuoting.ToString().ToLowerInvariant() #>, + allowSparse: <#= AllowSparse.ToString().ToLowerInvariant() #>); + +<# if(!string.IsNullOrEmpty(TestPath)){ #> + IDataView testDataView = mlContext.Data.LoadFromTextFile( + path: TEST_DATA_FILEPATH, + hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, + separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', + allowQuoting : <#= AllowQuoting.ToString().ToLowerInvariant() #>, + allowSparse: <#= AllowSparse.ToString().ToLowerInvariant() #>); +<#}#> + // Build training pipeline + IEstimator trainingPipeline = BuildTrainingPipeline(mlContext); + +<# if(string.IsNullOrEmpty(TestPath)){ #> + // Evaluate quality of Model + Evaluate(mlContext, trainingDataView, trainingPipeline); + +<#}#> + // Train Model + ITransformer mlModel = TrainModel(mlContext, trainingDataView, trainingPipeline); +<# if(!string.IsNullOrEmpty(TestPath)){ #> + + // Evaluate quality of Model + EvaluateModel(mlContext, mlModel, testDataView); +<#}#> + + // Save model + SaveModel(mlContext, mlModel, MODEL_FILEPATH, trainingDataView.Schema); + } + + public static IEstimator BuildTrainingPipeline(MLContext mlContext) + { +<# if(PreTrainerTransforms.Count >0 ) {#> + // Data process configuration with pipeline data transformations + var dataProcessPipeline = <# for(int i=0;i0) + { Write("\r\n .Append("); + } + Write("mlContext.Transforms."+PreTrainerTransforms[i]); + if(i>0) + { Write(")"); + } + } + if(CacheBeforeTrainer){ + Write("\r\n .AppendCacheCheckpoint(mlContext)"); + } #>; +<#}#> + + // Set the training algorithm + var trainer = mlContext.<#= TaskType #>.Trainers.<#= Trainer #><# for(int i=0;i; +<# if(PreTrainerTransforms.Count >0 ) {#> + var trainingPipeline = dataProcessPipeline.Append(trainer); +<# } +else{#> + var trainingPipeline = trainer; +<#}#> + + return trainingPipeline; + } + + public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) + { + Console.WriteLine("=============== Training model ==============="); + + ITransformer model = trainingPipeline.Fit(trainingDataView); + + Console.WriteLine("=============== End of training process ==============="); + return model; + } + +<# if(!string.IsNullOrEmpty(TestPath)){ #> + private static void EvaluateModel(MLContext mlContext, ITransformer mlModel, IDataView testDataView) + { + // Evaluate the model and show accuracy stats + Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); + IDataView predictions = mlModel.Transform(testDataView); +<#if("BinaryClassification".Equals(TaskType)){ #> + var metrics = mlContext.<#= TaskType #>.EvaluateNonCalibrated(predictions, "<#= LabelName #>", "Score"); + PrintBinaryClassificationMetrics(metrics); +<#} if("MulticlassClassification".Equals(TaskType)){ #> + var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "<#= LabelName #>", "Score"); + PrintMulticlassClassificationMetrics(metrics); +<#}if("Regression".Equals(TaskType)){ #> + var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "<#= LabelName #>", "Score"); + PrintRegressionMetrics(metrics); +<#} #> + } +<#}else{#> + private static void Evaluate(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) + { + // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) + // in order to evaluate and get the model's accuracy metrics + Console.WriteLine("=============== Cross-validating to get model's accuracy metrics ==============="); +<#if("BinaryClassification".Equals(TaskType)){ #> + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numberOfFolds: <#= Kfolds #>, labelColumnName:"<#= LabelName #>"); + PrintBinaryClassificationFoldsAverageMetrics(crossValidationResults); +<#}#><#if("MulticlassClassification".Equals(TaskType)){ #> + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numberOfFolds: <#= Kfolds #>, labelColumnName:"<#= LabelName #>"); + PrintMulticlassClassificationFoldsAverageMetrics(crossValidationResults); +<#}#><#if("Regression".Equals(TaskType)){ #> + var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numberOfFolds: <#= Kfolds #>, labelColumnName:"<#= LabelName #>"); + PrintRegressionFoldsAverageMetrics(crossValidationResults); +<#}#> + } +<#}#> + private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath, DataViewSchema modelInputSchema) + { + // Save/persist the trained model to a .ZIP file + Console.WriteLine($"=============== Saving the model ==============="); + using (var fs = new FileStream(GetAbsolutePath(modelRelativePath), FileMode.Create, FileAccess.Write, FileShare.Write)) + mlContext.Model.Save(mlModel, modelInputSchema, fs); + + Console.WriteLine("The model is saved to {0}", GetAbsolutePath(modelRelativePath)); + } + + public static string GetAbsolutePath(string relativePath) + { + FileInfo _dataRoot = new FileInfo(typeof(Program).Assembly.Location); + string assemblyFolderPath = _dataRoot.Directory.FullName; + + string fullPath = Path.Combine(assemblyFolderPath, relativePath); + + return fullPath; + } +<#if("Regression".Equals(TaskType)){ #> public static void PrintRegressionMetrics(RegressionMetrics metrics) { Console.WriteLine($"*************************************************"); @@ -51,7 +204,7 @@ namespace <#= Namespace #>.Train Console.WriteLine($"* Average R-squared: {R2.Average():0.###} "); Console.WriteLine($"*************************************************************************************************************"); } - +<# } if("BinaryClassification".Equals(TaskType)){ #> public static void PrintBinaryClassificationMetrics(BinaryClassificationMetrics metrics) { Console.WriteLine($"************************************************************"); @@ -78,9 +231,22 @@ namespace <#= Namespace #>.Train Console.WriteLine($"*------------------------------------------------------------------------------------------------------------"); Console.WriteLine($"* Average Accuracy: {AccuracyAverage:0.###} - Standard deviation: ({AccuraciesStdDeviation:#.###}) - Confidence Interval 95%: ({AccuraciesConfidenceInterval95:#.###})"); Console.WriteLine($"*************************************************************************************************************"); + } + public static double CalculateStandardDeviation(IEnumerable values) + { + double average = values.Average(); + double sumOfSquaresOfDifferences = values.Select(val => (val - average) * (val - average)).Sum(); + double standardDeviation = Math.Sqrt(sumOfSquaresOfDifferences / (values.Count() - 1)); + return standardDeviation; } + public static double CalculateConfidenceInterval95(IEnumerable values) + { + double confidenceInterval95 = 1.96 * CalculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1)); + return confidenceInterval95; + } +<#} if("MulticlassClassification".Equals(TaskType)){#> public static void PrintMulticlassClassificationMetrics(MulticlassClassificationMetrics metrics) { Console.WriteLine($"************************************************************"); @@ -144,8 +310,23 @@ namespace <#= Namespace #>.Train double confidenceInterval95 = 1.96 * CalculateStandardDeviation(values) / Math.Sqrt((values.Count() - 1)); return confidenceInterval95; } +<#}#> } } <#+ +public string Path {get;set;} +public string TestPath {get;set;} +public bool HasHeader {get;set;} +public char Separator {get;set;} +public IList PreTrainerTransforms {get;set;} +public string Trainer {get;set;} +public string TaskType {get;set;} +public string GeneratedUsings {get;set;} +public bool AllowQuoting {get;set;} +public bool AllowSparse {get;set;} +public int Kfolds {get;set;} = 5; public string Namespace {get;set;} +public string LabelName {get;set;} +public bool CacheBeforeTrainer {get;set;} +public IList PostTrainerTransforms {get;set;} #> diff --git a/src/mlnet/Templates/Console/PredictProgram.cs b/src/mlnet/Templates/Console/PredictProgram.cs index 61f3fd8b3a..1bc67d8265 100644 --- a/src/mlnet/Templates/Console/PredictProgram.cs +++ b/src/mlnet/Templates/Console/PredictProgram.cs @@ -56,9 +56,9 @@ public virtual string TransformText() #line default #line hidden - this.Write(".Predict\r\n{\r\n class Program\r\n {\r\n //Machine Learning model to load a" + - "nd use for predictions\r\n private const string MODEL_FILEPATH = @\"MLModel." + - "zip\";\r\n\r\n //Dataset to use for predictions \r\n"); + this.Write(".ConsoleApp\r\n{\r\n class Program\r\n {\r\n //Machine Learning model to loa" + + "d and use for predictions\r\n private const string MODEL_FILEPATH = @\"MLMod" + + "el.zip\";\r\n\r\n //Dataset to use for predictions \r\n"); #line 31 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" if(string.IsNullOrEmpty(TestDataPath)){ @@ -98,64 +98,56 @@ static void Main(string[] args) { MLContext mlContext = new MLContext(); - //Load ML Model from .zip file - ITransformer mlModel = LoadModelFromFile(mlContext, MODEL_FILEPATH); + // Training code used by ML.NET CLI and AutoML to generate the model + //ModelBuilder.CreateModel(); + + ITransformer mlModel = mlContext.Model.Load(MODEL_FILEPATH, out DataViewSchema inputSchema); + var predEngine = mlContext.Model.CreatePredictionEngine(mlModel); // Create sample data to do a single prediction with it SampleObservation sampleData = CreateSingleDataSample(mlContext, DATA_FILEPATH); - // Test a single prediction - Predict(mlContext, mlModel, sampleData); - - Console.WriteLine(""=============== End of process, hit any key to finish ===============""); - Console.ReadKey(); - } - - private static void Predict(MLContext mlContext, ITransformer mlModel, SampleObservation sampleData) - { - // Create prediction engine related to the loaded ML model - var predEngine = mlContext.Model.CreatePredictionEngine(mlModel); - // Try a single prediction - var predictionResult = predEngine.Predict(sampleData); + SamplePrediction predictionResult = predEngine.Predict(sampleData); + "); - #line 61 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 53 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" if("BinaryClassification".Equals(TaskType)){ #line default #line hidden this.Write(" Console.WriteLine($\"Single Prediction --> Actual value: {sampleData."); - #line 62 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 54 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); #line default #line hidden this.Write("} | Predicted value: {predictionResult.Prediction}\");\r\n"); - #line 63 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 55 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" }else if("Regression".Equals(TaskType)){ #line default #line hidden this.Write(" Console.WriteLine($\"Single Prediction --> Actual value: {sampleData."); - #line 64 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 56 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); #line default #line hidden this.Write("} | Predicted value: {predictionResult.Score}\");\r\n"); - #line 65 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 57 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" } else if("MulticlassClassification".Equals(TaskType)){ #line default #line hidden this.Write(" Console.WriteLine($\"Single Prediction --> Actual value: {sampleData."); - #line 66 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 58 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Utils.Normalize(LabelName))); #line default @@ -163,22 +155,14 @@ private static void Predict(MLContext mlContext, ITransformer mlModel, SampleObs this.Write("} | Predicted value: {predictionResult.Prediction} | Predicted scores: [{String.J" + "oin(\",\", predictionResult.Score)}]\");\r\n"); - #line 67 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 59 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" } #line default #line hidden - this.Write(@" } - - private static ITransformer LoadModelFromFile(MLContext mlContext, string modelFilePath) - { - ITransformer mlModel; - using (var stream = new FileStream(modelFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)) - { - mlModel = mlContext.Model.Load(stream, out var modelInputSchema); - } - - return mlModel; + this.Write(@" + Console.WriteLine(""=============== End of process, hit any key to finish ===============""); + Console.ReadKey(); } // Method to load single row of data to try a single prediction @@ -190,28 +174,28 @@ private static SampleObservation CreateSingleDataSample(MLContext mlContext, str path: dataFilePath, hasHeader : "); - #line 88 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 72 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(HasHeader.ToString().ToLowerInvariant())); #line default #line hidden this.Write(",\r\n separatorChar : \'"); - #line 89 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 73 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Regex.Escape(Separator.ToString()))); #line default #line hidden this.Write("\',\r\n allowQuoting : "); - #line 90 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 74 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(AllowQuoting.ToString().ToLowerInvariant())); #line default #line hidden this.Write(",\r\n allowSparse: "); - #line 91 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 75 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" this.Write(this.ToStringHelper.ToStringWithCulture(AllowSparse.ToString().ToLowerInvariant())); #line default @@ -229,7 +213,7 @@ private static SampleObservation CreateSingleDataSample(MLContext mlContext, str return this.GenerationEnvironment.ToString(); } - #line 100 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" + #line 84 "E:\src\machinelearning-automl\src\mlnet\Templates\Console\PredictProgram.tt" public string TaskType {get;set;} public string Namespace {get;set;} diff --git a/src/mlnet/Templates/Console/PredictProgram.tt b/src/mlnet/Templates/Console/PredictProgram.tt index b904c467a0..fc9ed43172 100644 --- a/src/mlnet/Templates/Console/PredictProgram.tt +++ b/src/mlnet/Templates/Console/PredictProgram.tt @@ -20,7 +20,7 @@ using Microsoft.ML.Data; using <#= Namespace #>.Model.DataModels; -namespace <#= Namespace #>.Predict +namespace <#= Namespace #>.ConsoleApp { class Program { @@ -38,26 +38,18 @@ namespace <#= Namespace #>.Predict { MLContext mlContext = new MLContext(); - //Load ML Model from .zip file - ITransformer mlModel = LoadModelFromFile(mlContext, MODEL_FILEPATH); + // Training code used by ML.NET CLI and AutoML to generate the model + //ModelBuilder.CreateModel(); + + ITransformer mlModel = mlContext.Model.Load(MODEL_FILEPATH, out DataViewSchema inputSchema); + var predEngine = mlContext.Model.CreatePredictionEngine(mlModel); // Create sample data to do a single prediction with it SampleObservation sampleData = CreateSingleDataSample(mlContext, DATA_FILEPATH); - // Test a single prediction - Predict(mlContext, mlModel, sampleData); - - Console.WriteLine("=============== End of process, hit any key to finish ==============="); - Console.ReadKey(); - } - - private static void Predict(MLContext mlContext, ITransformer mlModel, SampleObservation sampleData) - { - // Create prediction engine related to the loaded ML model - var predEngine = mlContext.Model.CreatePredictionEngine(mlModel); - // Try a single prediction - var predictionResult = predEngine.Predict(sampleData); + SamplePrediction predictionResult = predEngine.Predict(sampleData); + <#if("BinaryClassification".Equals(TaskType)){ #> Console.WriteLine($"Single Prediction --> Actual value: {sampleData.<#= Utils.Normalize(LabelName) #>} | Predicted value: {predictionResult.Prediction}"); <#}else if("Regression".Equals(TaskType)){#> @@ -65,17 +57,9 @@ namespace <#= Namespace #>.Predict <#} else if("MulticlassClassification".Equals(TaskType)){#> Console.WriteLine($"Single Prediction --> Actual value: {sampleData.<#= Utils.Normalize(LabelName) #>} | Predicted value: {predictionResult.Prediction} | Predicted scores: [{String.Join(",", predictionResult.Score)}]"); <#}#> - } - private static ITransformer LoadModelFromFile(MLContext mlContext, string modelFilePath) - { - ITransformer mlModel; - using (var stream = new FileStream(modelFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)) - { - mlModel = mlContext.Model.Load(stream, out var modelInputSchema); - } - - return mlModel; + Console.WriteLine("=============== End of process, hit any key to finish ==============="); + Console.ReadKey(); } // Method to load single row of data to try a single prediction diff --git a/src/mlnet/Templates/Console/TrainProgram.tt b/src/mlnet/Templates/Console/TrainProgram.tt deleted file mode 100644 index fe24e72605..0000000000 --- a/src/mlnet/Templates/Console/TrainProgram.tt +++ /dev/null @@ -1,193 +0,0 @@ -<#@ template language="C#" linePragmas="false" #> -<#@ assembly name="System.Core" #> -<#@ import namespace="System.Linq" #> -<#@ import namespace="System.Text" #> -<#@ import namespace="System.Text.RegularExpressions" #> -<#@ import namespace="System.Collections.Generic" #> -<#@ import namespace="Microsoft.ML.CLI.Utilities" #> -//***************************************************************************************** -//* * -//* This is an auto-generated file by Microsoft ML.NET CLI (Command-Line Interface) tool. * -//* * -//***************************************************************************************** - -using System; -using System.IO; -using System.Linq; -using Microsoft.ML; -using <#= Namespace #>.Model.DataModels; -<#= GeneratedUsings #> -namespace <#= Namespace #>.Train -{ - class Program - { - private static string TRAIN_DATA_FILEPATH = @"<#= Path #>"; -<#if(!string.IsNullOrEmpty(TestPath)){ #> - private static string TEST_DATA_FILEPATH = @"<#= TestPath #>"; -<# } #> - private static string MODEL_FILEPATH = @"../../../../<#= Namespace #>.Model/MLModel.zip"; - - static void Main(string[] args) - { - // Create MLContext to be shared across the model creation workflow objects - // Set a random seed for repeatable/deterministic results across multiple trainings. - MLContext mlContext = new MLContext(seed: 1); - - // Load Data - IDataView trainingDataView = mlContext.Data.LoadFromTextFile( - path: TRAIN_DATA_FILEPATH, - hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, - separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', - allowQuoting : <#= AllowQuoting.ToString().ToLowerInvariant() #>, - allowSparse: <#= AllowSparse.ToString().ToLowerInvariant() #>); - -<# if(!string.IsNullOrEmpty(TestPath)){ #> - IDataView testDataView = mlContext.Data.LoadFromTextFile( - path: TEST_DATA_FILEPATH, - hasHeader : <#= HasHeader.ToString().ToLowerInvariant() #>, - separatorChar : '<#= Regex.Escape(Separator.ToString()) #>', - allowQuoting : <#= AllowQuoting.ToString().ToLowerInvariant() #>, - allowSparse: <#= AllowSparse.ToString().ToLowerInvariant() #>); -<#}#> - // Build training pipeline - IEstimator trainingPipeline = BuildTrainingPipeline(mlContext); - -<# if(string.IsNullOrEmpty(TestPath)){ #> - // Evaluate quality of Model - EvaluateModel(mlContext, trainingDataView, trainingPipeline); - -<#}#> - // Train Model - ITransformer mlModel = TrainModel(mlContext, trainingDataView, trainingPipeline); -<# if(!string.IsNullOrEmpty(TestPath)){ #> - - // Evaluate quality of Model - EvaluateModel(mlContext, mlModel, testDataView); -<#}#> - - // Save model - SaveModel(mlContext, mlModel, MODEL_FILEPATH, trainingDataView.Schema); - - Console.WriteLine("=============== End of process, hit any key to finish ==============="); - Console.ReadKey(); - } - - public static IEstimator BuildTrainingPipeline(MLContext mlContext) - { -<# if(PreTrainerTransforms.Count >0 ) {#> - // Data process configuration with pipeline data transformations - var dataProcessPipeline = <# for(int i=0;i0) - { Write("\r\n .Append("); - } - Write("mlContext.Transforms."+PreTrainerTransforms[i]); - if(i>0) - { Write(")"); - } - } - if(CacheBeforeTrainer){ - Write("\r\n .AppendCacheCheckpoint(mlContext)"); - } #>; -<#}#> - - // Set the training algorithm - var trainer = mlContext.<#= TaskType #>.Trainers.<#= Trainer #><# for(int i=0;i; -<# if(PreTrainerTransforms.Count >0 ) {#> - var trainingPipeline = dataProcessPipeline.Append(trainer); -<# } -else{#> - var trainingPipeline = trainer; -<#}#> - - return trainingPipeline; - } - - public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) - { - Console.WriteLine("=============== Training model ==============="); - - ITransformer model = trainingPipeline.Fit(trainingDataView); - - Console.WriteLine("=============== End of training process ==============="); - return model; - } - -<# if(!string.IsNullOrEmpty(TestPath)){ #> - private static void EvaluateModel(MLContext mlContext, ITransformer mlModel, IDataView testDataView) - { - // Evaluate the model and show accuracy stats - Console.WriteLine("===== Evaluating Model's accuracy with Test data ====="); - IDataView predictions = mlModel.Transform(testDataView); -<#if("BinaryClassification".Equals(TaskType)){ #> - var metrics = mlContext.<#= TaskType #>.EvaluateNonCalibrated(predictions, "<#= LabelName #>", "Score"); - ConsoleHelper.PrintBinaryClassificationMetrics(metrics); -<#} if("MulticlassClassification".Equals(TaskType)){ #> - var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "<#= LabelName #>", "Score"); - ConsoleHelper.PrintMulticlassClassificationMetrics(metrics); -<#}if("Regression".Equals(TaskType)){ #> - var metrics = mlContext.<#= TaskType #>.Evaluate(predictions, "<#= LabelName #>", "Score"); - ConsoleHelper.PrintRegressionMetrics(metrics); -<#} #> - } -<#}else{#> - private static void EvaluateModel(MLContext mlContext, IDataView trainingDataView, IEstimator trainingPipeline) - { - // Cross-Validate with single dataset (since we don't have two datasets, one for training and for evaluate) - // in order to evaluate and get the model's accuracy metrics - Console.WriteLine("=============== Cross-validating to get model's accuracy metrics ==============="); -<#if("BinaryClassification".Equals(TaskType)){ #> - var crossValidationResults = mlContext.<#= TaskType #>.CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numberOfFolds: <#= Kfolds #>, labelColumnName:"<#= LabelName #>"); - ConsoleHelper.PrintBinaryClassificationFoldsAverageMetrics(crossValidationResults); -<#}#><#if("MulticlassClassification".Equals(TaskType)){ #> - var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numberOfFolds: <#= Kfolds #>, labelColumnName:"<#= LabelName #>"); - ConsoleHelper.PrintMulticlassClassificationFoldsAverageMetrics(crossValidationResults); -<#}#><#if("Regression".Equals(TaskType)){ #> - var crossValidationResults = mlContext.<#= TaskType #>.CrossValidate(trainingDataView, trainingPipeline, numberOfFolds: <#= Kfolds #>, labelColumnName:"<#= LabelName #>"); - ConsoleHelper.PrintRegressionFoldsAverageMetrics(crossValidationResults); -<#}#> - } -<#}#> - private static void SaveModel(MLContext mlContext, ITransformer mlModel, string modelRelativePath, DataViewSchema modelInputSchema) - { - // Save/persist the trained model to a .ZIP file - Console.WriteLine($"=============== Saving the model ==============="); - using (var fs = new FileStream(GetAbsolutePath(modelRelativePath), FileMode.Create, FileAccess.Write, FileShare.Write)) - mlContext.Model.Save(mlModel, modelInputSchema, fs); - - Console.WriteLine("The model is saved to {0}", GetAbsolutePath(modelRelativePath)); - } - - public static string GetAbsolutePath(string relativePath) - { - FileInfo _dataRoot = new FileInfo(typeof(Program).Assembly.Location); - string assemblyFolderPath = _dataRoot.Directory.FullName; - - string fullPath = Path.Combine(assemblyFolderPath, relativePath); - - return fullPath; - } - } -} -<#+ -public string Path {get;set;} -public string TestPath {get;set;} -public bool HasHeader {get;set;} -public char Separator {get;set;} -public IList PreTrainerTransforms {get;set;} -public string Trainer {get;set;} -public string TaskType {get;set;} -public string GeneratedUsings {get;set;} -public bool AllowQuoting {get;set;} -public bool AllowSparse {get;set;} -public int Kfolds {get;set;} = 5; -public string Namespace {get;set;} -public string LabelName {get;set;} -public bool CacheBeforeTrainer {get;set;} -public IList PostTrainerTransforms {get;set;} -#> diff --git a/src/mlnet/Templates/Console/TrainProject.cs b/src/mlnet/Templates/Console/TrainProject.cs deleted file mode 100644 index 362510d271..0000000000 --- a/src/mlnet/Templates/Console/TrainProject.cs +++ /dev/null @@ -1,326 +0,0 @@ -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version: 15.0.0.0 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// ------------------------------------------------------------------------------ -namespace Microsoft.ML.CLI.Templates.Console -{ - using System.Linq; - using System.Text; - using System.Text.RegularExpressions; - using System.Collections.Generic; - using System; - - /// - /// Class to produce the template output - /// - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public partial class TrainProject : TrainProjectBase - { - /// - /// Create the template output - /// - public virtual string TransformText() - { - this.Write("\r\n\r\n \r\n Exe\r\n netcoreapp2.1\r\n \r\n \r\n \r\n"); - if(IncludeLightGBMPackage){ - this.Write(" \r" + - "\n"); -} - if(IncludeMklComponentsPackage){ - this.Write(" \r\n"); -} - this.Write(" \r\n \r\n \r\n \r\n\r\n"); - return this.GenerationEnvironment.ToString(); - } - -public string Namespace {get;set;} -public bool IncludeLightGBMPackage {get;set;} -public bool IncludeMklComponentsPackage {get;set;} - - } - #region Base class - /// - /// Base class for this transformation - /// - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")] - public class TrainProjectBase - { - #region Fields - private global::System.Text.StringBuilder generationEnvironmentField; - private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; - private global::System.Collections.Generic.List indentLengthsField; - private string currentIndentField = ""; - private bool endsWithNewline; - private global::System.Collections.Generic.IDictionary sessionField; - #endregion - #region Properties - /// - /// The string builder that generation-time code is using to assemble generated output - /// - protected System.Text.StringBuilder GenerationEnvironment - { - get - { - if ((this.generationEnvironmentField == null)) - { - this.generationEnvironmentField = new global::System.Text.StringBuilder(); - } - return this.generationEnvironmentField; - } - set - { - this.generationEnvironmentField = value; - } - } - /// - /// The error collection for the generation process - /// - public System.CodeDom.Compiler.CompilerErrorCollection Errors - { - get - { - if ((this.errorsField == null)) - { - this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); - } - return this.errorsField; - } - } - /// - /// A list of the lengths of each indent that was added with PushIndent - /// - private System.Collections.Generic.List indentLengths - { - get - { - if ((this.indentLengthsField == null)) - { - this.indentLengthsField = new global::System.Collections.Generic.List(); - } - return this.indentLengthsField; - } - } - /// - /// Gets the current indent we use when adding lines to the output - /// - public string CurrentIndent - { - get - { - return this.currentIndentField; - } - } - /// - /// Current transformation session - /// - public virtual global::System.Collections.Generic.IDictionary Session - { - get - { - return this.sessionField; - } - set - { - this.sessionField = value; - } - } - #endregion - #region Transform-time helpers - /// - /// Write text directly into the generated output - /// - public void Write(string textToAppend) - { - if (string.IsNullOrEmpty(textToAppend)) - { - return; - } - // If we're starting off, or if the previous text ended with a newline, - // we have to append the current indent first. - if (((this.GenerationEnvironment.Length == 0) - || this.endsWithNewline)) - { - this.GenerationEnvironment.Append(this.currentIndentField); - this.endsWithNewline = false; - } - // Check if the current text ends with a newline - if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) - { - this.endsWithNewline = true; - } - // This is an optimization. If the current indent is "", then we don't have to do any - // of the more complex stuff further down. - if ((this.currentIndentField.Length == 0)) - { - this.GenerationEnvironment.Append(textToAppend); - return; - } - // Everywhere there is a newline in the text, add an indent after it - textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); - // If the text ends with a newline, then we should strip off the indent added at the very end - // because the appropriate indent will be added when the next time Write() is called - if (this.endsWithNewline) - { - this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); - } - else - { - this.GenerationEnvironment.Append(textToAppend); - } - } - /// - /// Write text directly into the generated output - /// - public void WriteLine(string textToAppend) - { - this.Write(textToAppend); - this.GenerationEnvironment.AppendLine(); - this.endsWithNewline = true; - } - /// - /// Write formatted text directly into the generated output - /// - public void Write(string format, params object[] args) - { - this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); - } - /// - /// Write formatted text directly into the generated output - /// - public void WriteLine(string format, params object[] args) - { - this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); - } - /// - /// Raise an error - /// - public void Error(string message) - { - System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); - error.ErrorText = message; - this.Errors.Add(error); - } - /// - /// Raise a warning - /// - public void Warning(string message) - { - System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); - error.ErrorText = message; - error.IsWarning = true; - this.Errors.Add(error); - } - /// - /// Increase the indent - /// - public void PushIndent(string indent) - { - if ((indent == null)) - { - throw new global::System.ArgumentNullException("indent"); - } - this.currentIndentField = (this.currentIndentField + indent); - this.indentLengths.Add(indent.Length); - } - /// - /// Remove the last indent that was added with PushIndent - /// - public string PopIndent() - { - string returnValue = ""; - if ((this.indentLengths.Count > 0)) - { - int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; - this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); - if ((indentLength > 0)) - { - returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); - this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); - } - } - return returnValue; - } - /// - /// Remove any indentation - /// - public void ClearIndent() - { - this.indentLengths.Clear(); - this.currentIndentField = ""; - } - #endregion - #region ToString Helpers - /// - /// Utility class to produce culture-oriented representation of an object as a string. - /// - public class ToStringInstanceHelper - { - private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; - /// - /// Gets or sets format provider to be used by ToStringWithCulture method. - /// - public System.IFormatProvider FormatProvider - { - get - { - return this.formatProviderField ; - } - set - { - if ((value != null)) - { - this.formatProviderField = value; - } - } - } - /// - /// This is called from the compile/run appdomain to convert objects within an expression block to a string - /// - public string ToStringWithCulture(object objectToConvert) - { - if ((objectToConvert == null)) - { - throw new global::System.ArgumentNullException("objectToConvert"); - } - System.Type t = objectToConvert.GetType(); - System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { - typeof(System.IFormatProvider)}); - if ((method == null)) - { - return objectToConvert.ToString(); - } - else - { - return ((string)(method.Invoke(objectToConvert, new object[] { - this.formatProviderField }))); - } - } - } - private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); - /// - /// Helper to produce culture-oriented representation of an object as a string - /// - public ToStringInstanceHelper ToStringHelper - { - get - { - return this.toStringHelperField; - } - } - #endregion - } - #endregion -} diff --git a/src/mlnet/Templates/Console/TrainProject.tt b/src/mlnet/Templates/Console/TrainProject.tt deleted file mode 100644 index e32752ffa4..0000000000 --- a/src/mlnet/Templates/Console/TrainProject.tt +++ /dev/null @@ -1,30 +0,0 @@ -<#@ template language="C#" linePragmas="false" #> -<#@ assembly name="System.Core" #> -<#@ import namespace="System.Linq" #> -<#@ import namespace="System.Text" #> -<#@ import namespace="System.Text.RegularExpressions" #> -<#@ import namespace="System.Collections.Generic" #> - - - - Exe - netcoreapp2.1 - - - -<# if(IncludeLightGBMPackage){ #> - -<#}#> -<# if(IncludeMklComponentsPackage){ #> - -<#}#> - - - - - -<#+ -public string Namespace {get;set;} -public bool IncludeLightGBMPackage {get;set;} -public bool IncludeMklComponentsPackage {get;set;} -#> \ No newline at end of file diff --git a/src/mlnet/Utilities/Utils.cs b/src/mlnet/Utilities/Utils.cs index 3b88fd6e46..a8ee940e84 100644 --- a/src/mlnet/Utilities/Utils.cs +++ b/src/mlnet/Utilities/Utils.cs @@ -174,17 +174,16 @@ internal static string FormatCode(string trainProgramCSFileContent) internal static int AddProjectsToSolution(string modelprojectDir, string modelProjectName, - string predictProjectDir, - string predictProjectName, - string trainProjectDir, - string trainProjectName, - string solutionName) + string consoleAppProjectDir, + string consoleAppProjectName, + string solutionPath) { + // TODO make this method generic : (string solutionpath, string[] projects) var proc = new System.Diagnostics.Process(); try { proc.StartInfo.FileName = @"dotnet"; - proc.StartInfo.Arguments = $"sln \"{solutionName}\" add \"{Path.Combine(trainProjectDir, trainProjectName)}\" \"{Path.Combine(predictProjectDir, predictProjectName)}\" \"{Path.Combine(modelprojectDir, modelProjectName)}\""; + proc.StartInfo.Arguments = $"sln \"{solutionPath}\" add \"{Path.Combine(consoleAppProjectDir, consoleAppProjectName)}\" \"{Path.Combine(modelprojectDir, modelProjectName)}\""; proc.StartInfo.UseShellExecute = false; proc.StartInfo.RedirectStandardOutput = true; proc.Start(); diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index 31855c825d..eef028d789 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -43,11 +43,6 @@ True Strings.resx - - True - True - ConsoleHelper.tt - True True @@ -73,15 +68,10 @@ True PredictProject.tt - - True - True - TrainProgram.tt - - + True True - TrainProject.tt + ModelBuilder.tt @@ -96,10 +86,6 @@ Always - - TextTemplatingFilePreprocessor - ConsoleHelper.cs - TextTemplatingFilePreprocessor ModelProject.cs @@ -120,13 +106,9 @@ TextTemplatingFilePreprocessor PredictProject.cs - - TextTemplatingFilePreprocessor - TrainProgram.cs - - + TextTemplatingFilePreprocessor - TrainProject.cs + ModelBuilder.cs diff --git a/src/mlnet/strings.Designer.cs b/src/mlnet/strings.Designer.cs index 214db2da81..85e622ca2d 100644 --- a/src/mlnet/strings.Designer.cs +++ b/src/mlnet/strings.Designer.cs @@ -78,6 +78,15 @@ internal static string CreateDataLoader { } } + /// + /// Looks up a localized string similar to Error occured while retreiving best pipeline.. + /// + internal static string ErrorBestPipeline { + get { + return ResourceManager.GetString("ErrorBestPipeline", resourceCulture); + } + } + /// /// Looks up a localized string similar to Exiting .... /// @@ -186,6 +195,15 @@ internal static string LoadData { } } + /// + /// Looks up a localized string similar to Please see the log file for more info.. + /// + internal static string LookIntoLogFile { + get { + return ResourceManager.GetString("LookIntoLogFile", resourceCulture); + } + } + /// /// Looks up a localized string similar to Metrics for Binary Classification models. /// @@ -231,6 +249,15 @@ internal static string SavingBestModel { } } + /// + /// Looks up a localized string similar to Check out log file for more information. + /// + internal static string SeeLogFileForMoreInfo { + get { + return ResourceManager.GetString("SeeLogFileForMoreInfo", resourceCulture); + } + } + /// /// Looks up a localized string similar to Unsupported ml-task. /// From d4b77008121fcac9b997ed181765290da38af57f Mon Sep 17 00:00:00 2001 From: Justin Ormont Date: Fri, 12 Apr 2019 11:34:48 -0700 Subject: [PATCH 208/211] FileSizeBuckets in correct units (#387) * Minor telemetry change to log in correct units and make our life easier in the future * Use Ceiling instead of Round --- src/mlnet/Telemetry/MlTelemetry.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mlnet/Telemetry/MlTelemetry.cs b/src/mlnet/Telemetry/MlTelemetry.cs index d6b2a03540..2d65a74890 100644 --- a/src/mlnet/Telemetry/MlTelemetry.cs +++ b/src/mlnet/Telemetry/MlTelemetry.cs @@ -35,7 +35,7 @@ public void LogAutoTrainMlCommand(string dataFileName, string task, long dataFil var telemetry = new Telemetry(); - var fileSizeBucket = Math.Ceiling(Math.Log(dataFileSize, 2)); + var fileSizeBucket = Math.Pow(2, Math.Ceiling(Math.Log(dataFileSize, 2))); var fileNameHash = string.IsNullOrEmpty(dataFileName) ? string.Empty : Sha256Hasher.Hash(dataFileName); From 5227ee5251c64e49cb38003dffc2679a87dd8df9 Mon Sep 17 00:00:00 2001 From: Srujan Saggam <41802116+srsaggam@users.noreply.github.com> Date: Fri, 12 Apr 2019 11:42:17 -0700 Subject: [PATCH 209/211] changed order (#388) --- src/mlnet/Commands/CommandDefinitions.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mlnet/Commands/CommandDefinitions.cs b/src/mlnet/Commands/CommandDefinitions.cs index 8d20db8e9a..54cbce8026 100644 --- a/src/mlnet/Commands/CommandDefinitions.cs +++ b/src/mlnet/Commands/CommandDefinitions.cs @@ -18,19 +18,19 @@ internal static System.CommandLine.Command AutoTrain(ICommandHandler handler) { var newCommand = new System.CommandLine.Command("auto-train", "Create a new .NET project using ML.NET to train and run a model", handler: handler) { + MlTask(), Dataset(), ValidationDataset(), TestDataset(), - MlTask(), LabelName(), - MaxExplorationTime(), LabelColumnIndex(), - Verbosity(), - Name(), - OutputPath(), HasHeader(), + MaxExplorationTime(), Cache(), IgnoreColumns(), + Verbosity(), + Name(), + OutputPath(), }; newCommand.Argument.AddValidator((sym) => From 553e089259b228c29403fd71bd006d7fdef3e0db Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin <45412678+Dmitry-A@users.noreply.github.com> Date: Fri, 12 Apr 2019 16:05:57 -0700 Subject: [PATCH 210/211] prep work to transfer to ml.net (#389) * move test projects to top level test subdir * rename some projects to make naming consistent and make it build again * fix test project refs --- AutoML.sln | 6 ++---- build.proj | 4 ++-- src/Microsoft.ML.Auto/Assembly.cs | 4 ++-- src/mlnet/Assembly.cs | 2 +- .../Test => test/Microsoft.ML.AutoML.Tests}/AutoFitTests.cs | 0 .../Microsoft.ML.AutoML.Tests}/BestResultUtilTests.cs | 0 .../Microsoft.ML.AutoML.Tests}/ColumnInferenceTests.cs | 0 .../ColumnInformationUtilTests.cs | 0 .../Microsoft.ML.AutoML.Tests}/ConversionTests.cs | 0 .../Microsoft.ML.AutoML.Tests}/DatasetDimensionsTests.cs | 0 {src/Test => test/Microsoft.ML.AutoML.Tests}/DatasetUtil.cs | 0 .../Microsoft.ML.AutoML.Tests}/Directory.Build.props | 0 .../Microsoft.ML.AutoML.Tests}/EstimatorExtensionTests.cs | 0 .../Microsoft.ML.AutoML.Tests}/GetNextPipelineTests.cs | 0 .../Microsoft.ML.AutoML.Tests}/InferredPipelineTests.cs | 0 .../Microsoft.ML.AutoML.Tests}/MetricsAgentsTests.cs | 0 {src/Test => test/Microsoft.ML.AutoML.Tests}/MetricsUtil.cs | 0 .../Microsoft.ML.AutoML.Tests.csproj | 2 +- .../Microsoft.ML.AutoML.Tests}/PurposeInferenceTests.cs | 0 .../SuggestedPipelineBuilderTests.cs | 0 .../Test => test/Microsoft.ML.AutoML.Tests}/SweeperTests.cs | 0 .../TestData/BinaryDatasetWithBoolColumn.txt | 0 .../TestData/DatasetWithDefaultColumnNames.txt | 0 .../TestData/DatasetWithEmptyColumn.txt | 0 .../TestData/NameColumnIsOnlyFeatureDataset.txt | 0 .../TestData/TrivialMulticlassDataset.txt | 0 .../Microsoft.ML.AutoML.Tests}/TextFileSampleTests.cs | 0 .../Microsoft.ML.AutoML.Tests}/TrainerExtensionsTests.cs | 0 .../Microsoft.ML.AutoML.Tests}/TransformInferenceTests.cs | 0 .../TransformPostTrainerInferenceTests.cs | 0 .../Microsoft.ML.AutoML.Tests}/UserInputValidationTests.cs | 0 {src/Test => test/Microsoft.ML.AutoML.Tests}/Util.cs | 0 .../Utils/MLNetUtils/EmptyDataView.cs | 0 .../Utils/MLNetUtils/MLNetUtils.cs | 0 {src/Test => test/Microsoft.ML.AutoML.Tests}/run-tests.proj | 0 ...nsoleAppModelBuilderCSFileContentBinaryTest.approved.txt | 0 ....ConsoleAppModelBuilderCSFileContentOvaTest.approved.txt | 0 ...eAppModelBuilderCSFileContentRegressionTest.approved.txt | 0 ...torTests.ConsoleAppProgramCSFileContentTest.approved.txt | 0 ...ratorTests.ConsoleAppProjectFileContentTest.approved.txt | 0 ...eGeneratorTests.ModelProjectFileContentTest.approved.txt | 0 ...GeneratorTests.ObservationCSFileContentTest.approved.txt | 0 ...eGeneratorTests.PredictionCSFileContentTest.approved.txt | 0 .../mlnet.Tests}/ApprovalTests/ConsoleCodeGeneratorTests.cs | 2 +- {src/mlnet.Test => test/mlnet.Tests}/CodeGenTests.cs | 2 +- {src/mlnet.Test => test/mlnet.Tests}/CommandLineTests.cs | 2 +- {src/mlnet.Test => test/mlnet.Tests}/DatasetUtil.cs | 2 +- {src/mlnet.Test => test/mlnet.Tests}/Directory.Build.props | 0 .../mlnet.Tests}/TrainerGeneratorTests.cs | 2 +- .../mlnet.Tests}/TransformGeneratorTests.cs | 2 +- .../mlnet.Tests/mlnet.Tests.csproj | 4 ++-- {src/mlnet.Test => test/mlnet.Tests}/run-tests.proj | 0 52 files changed, 16 insertions(+), 18 deletions(-) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/AutoFitTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/BestResultUtilTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/ColumnInferenceTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/ColumnInformationUtilTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/ConversionTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/DatasetDimensionsTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/DatasetUtil.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/Directory.Build.props (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/EstimatorExtensionTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/GetNextPipelineTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/InferredPipelineTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/MetricsAgentsTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/MetricsUtil.cs (100%) rename src/Test/Test.csproj => test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj (93%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/PurposeInferenceTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/SuggestedPipelineBuilderTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/SweeperTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/TestData/BinaryDatasetWithBoolColumn.txt (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/TestData/DatasetWithDefaultColumnNames.txt (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/TestData/DatasetWithEmptyColumn.txt (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/TestData/NameColumnIsOnlyFeatureDataset.txt (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/TestData/TrivialMulticlassDataset.txt (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/TextFileSampleTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/TrainerExtensionsTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/TransformInferenceTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/TransformPostTrainerInferenceTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/UserInputValidationTests.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/Util.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/Utils/MLNetUtils/EmptyDataView.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/Utils/MLNetUtils/MLNetUtils.cs (100%) rename {src/Test => test/Microsoft.ML.AutoML.Tests}/run-tests.proj (100%) rename {src/mlnet.Test => test/mlnet.Tests}/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentBinaryTest.approved.txt (100%) rename {src/mlnet.Test => test/mlnet.Tests}/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentOvaTest.approved.txt (100%) rename {src/mlnet.Test => test/mlnet.Tests}/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentRegressionTest.approved.txt (100%) rename {src/mlnet.Test => test/mlnet.Tests}/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProgramCSFileContentTest.approved.txt (100%) rename {src/mlnet.Test => test/mlnet.Tests}/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProjectFileContentTest.approved.txt (100%) rename {src/mlnet.Test => test/mlnet.Tests}/ApprovalTests/ConsoleCodeGeneratorTests.ModelProjectFileContentTest.approved.txt (100%) rename {src/mlnet.Test => test/mlnet.Tests}/ApprovalTests/ConsoleCodeGeneratorTests.ObservationCSFileContentTest.approved.txt (100%) rename {src/mlnet.Test => test/mlnet.Tests}/ApprovalTests/ConsoleCodeGeneratorTests.PredictionCSFileContentTest.approved.txt (100%) rename {src/mlnet.Test => test/mlnet.Tests}/ApprovalTests/ConsoleCodeGeneratorTests.cs (99%) rename {src/mlnet.Test => test/mlnet.Tests}/CodeGenTests.cs (99%) rename {src/mlnet.Test => test/mlnet.Tests}/CommandLineTests.cs (99%) rename {src/mlnet.Test => test/mlnet.Tests}/DatasetUtil.cs (99%) rename {src/mlnet.Test => test/mlnet.Tests}/Directory.Build.props (100%) rename {src/mlnet.Test => test/mlnet.Tests}/TrainerGeneratorTests.cs (99%) rename {src/mlnet.Test => test/mlnet.Tests}/TransformGeneratorTests.cs (99%) rename src/mlnet.Test/mlnet.Test.csproj => test/mlnet.Tests/mlnet.Tests.csproj (77%) rename {src/mlnet.Test => test/mlnet.Tests}/run-tests.proj (100%) diff --git a/AutoML.sln b/AutoML.sln index 4cb26eadb3..280cef5704 100644 --- a/AutoML.sln +++ b/AutoML.sln @@ -5,13 +5,11 @@ VisualStudioVersion = 15.0.28010.2050 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.Auto", "src\Microsoft.ML.Auto\Microsoft.ML.Auto.csproj", "{B3727729-3DF8-47E0-8710-9B41DAF55817}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples", "src\Samples\Samples.csproj", "{64A7294E-A2C7-4499-8F0B-4BB074047C6B}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Test", "src\Test\Test.csproj", "{55ACB7E2-053D-43BB-88E8-0E102FBD62F0}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.AutoML.Tests", "test\Microsoft.ML.AutoML.Tests\Microsoft.ML.AutoML.Tests.csproj", "{55ACB7E2-053D-43BB-88E8-0E102FBD62F0}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mlnet", "src\mlnet\mlnet.csproj", "{ED714FA5-6F89-401B-9E7F-CADF1373C553}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mlnet.Test", "src\mlnet.Test\mlnet.Test.csproj", "{AAC3E4E6-C146-44BB-8873-A1E61D563F2A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mlnet.Tests", "test\mlnet.Tests\mlnet.Tests.csproj", "{AAC3E4E6-C146-44BB-8873-A1E61D563F2A}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/build.proj b/build.proj index 00f13f11ff..c8544e69a3 100644 --- a/build.proj +++ b/build.proj @@ -93,8 +93,8 @@ --> - - + + diff --git a/src/Microsoft.ML.Auto/Assembly.cs b/src/Microsoft.ML.Auto/Assembly.cs index c257c8c45f..4a3999e45a 100644 --- a/src/Microsoft.ML.Auto/Assembly.cs +++ b/src/Microsoft.ML.Auto/Assembly.cs @@ -4,7 +4,7 @@ using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo("Test, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] +[assembly: InternalsVisibleTo("Microsoft.ML.AutoML.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] [assembly: InternalsVisibleTo("mlnet, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] -[assembly: InternalsVisibleTo("mlnet.Test, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] +[assembly: InternalsVisibleTo("mlnet.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] [assembly: InternalsVisibleTo("Benchmark, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] diff --git a/src/mlnet/Assembly.cs b/src/mlnet/Assembly.cs index edb56e96d6..6b2f72d314 100644 --- a/src/mlnet/Assembly.cs +++ b/src/mlnet/Assembly.cs @@ -4,4 +4,4 @@ using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo("mlnet.Test, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] \ No newline at end of file +[assembly: InternalsVisibleTo("mlnet.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")] \ No newline at end of file diff --git a/src/Test/AutoFitTests.cs b/test/Microsoft.ML.AutoML.Tests/AutoFitTests.cs similarity index 100% rename from src/Test/AutoFitTests.cs rename to test/Microsoft.ML.AutoML.Tests/AutoFitTests.cs diff --git a/src/Test/BestResultUtilTests.cs b/test/Microsoft.ML.AutoML.Tests/BestResultUtilTests.cs similarity index 100% rename from src/Test/BestResultUtilTests.cs rename to test/Microsoft.ML.AutoML.Tests/BestResultUtilTests.cs diff --git a/src/Test/ColumnInferenceTests.cs b/test/Microsoft.ML.AutoML.Tests/ColumnInferenceTests.cs similarity index 100% rename from src/Test/ColumnInferenceTests.cs rename to test/Microsoft.ML.AutoML.Tests/ColumnInferenceTests.cs diff --git a/src/Test/ColumnInformationUtilTests.cs b/test/Microsoft.ML.AutoML.Tests/ColumnInformationUtilTests.cs similarity index 100% rename from src/Test/ColumnInformationUtilTests.cs rename to test/Microsoft.ML.AutoML.Tests/ColumnInformationUtilTests.cs diff --git a/src/Test/ConversionTests.cs b/test/Microsoft.ML.AutoML.Tests/ConversionTests.cs similarity index 100% rename from src/Test/ConversionTests.cs rename to test/Microsoft.ML.AutoML.Tests/ConversionTests.cs diff --git a/src/Test/DatasetDimensionsTests.cs b/test/Microsoft.ML.AutoML.Tests/DatasetDimensionsTests.cs similarity index 100% rename from src/Test/DatasetDimensionsTests.cs rename to test/Microsoft.ML.AutoML.Tests/DatasetDimensionsTests.cs diff --git a/src/Test/DatasetUtil.cs b/test/Microsoft.ML.AutoML.Tests/DatasetUtil.cs similarity index 100% rename from src/Test/DatasetUtil.cs rename to test/Microsoft.ML.AutoML.Tests/DatasetUtil.cs diff --git a/src/Test/Directory.Build.props b/test/Microsoft.ML.AutoML.Tests/Directory.Build.props similarity index 100% rename from src/Test/Directory.Build.props rename to test/Microsoft.ML.AutoML.Tests/Directory.Build.props diff --git a/src/Test/EstimatorExtensionTests.cs b/test/Microsoft.ML.AutoML.Tests/EstimatorExtensionTests.cs similarity index 100% rename from src/Test/EstimatorExtensionTests.cs rename to test/Microsoft.ML.AutoML.Tests/EstimatorExtensionTests.cs diff --git a/src/Test/GetNextPipelineTests.cs b/test/Microsoft.ML.AutoML.Tests/GetNextPipelineTests.cs similarity index 100% rename from src/Test/GetNextPipelineTests.cs rename to test/Microsoft.ML.AutoML.Tests/GetNextPipelineTests.cs diff --git a/src/Test/InferredPipelineTests.cs b/test/Microsoft.ML.AutoML.Tests/InferredPipelineTests.cs similarity index 100% rename from src/Test/InferredPipelineTests.cs rename to test/Microsoft.ML.AutoML.Tests/InferredPipelineTests.cs diff --git a/src/Test/MetricsAgentsTests.cs b/test/Microsoft.ML.AutoML.Tests/MetricsAgentsTests.cs similarity index 100% rename from src/Test/MetricsAgentsTests.cs rename to test/Microsoft.ML.AutoML.Tests/MetricsAgentsTests.cs diff --git a/src/Test/MetricsUtil.cs b/test/Microsoft.ML.AutoML.Tests/MetricsUtil.cs similarity index 100% rename from src/Test/MetricsUtil.cs rename to test/Microsoft.ML.AutoML.Tests/MetricsUtil.cs diff --git a/src/Test/Test.csproj b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj similarity index 93% rename from src/Test/Test.csproj rename to test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj index 9cce9f29af..e5b7a4ea94 100644 --- a/src/Test/Test.csproj +++ b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj @@ -15,7 +15,7 @@ - + diff --git a/src/Test/PurposeInferenceTests.cs b/test/Microsoft.ML.AutoML.Tests/PurposeInferenceTests.cs similarity index 100% rename from src/Test/PurposeInferenceTests.cs rename to test/Microsoft.ML.AutoML.Tests/PurposeInferenceTests.cs diff --git a/src/Test/SuggestedPipelineBuilderTests.cs b/test/Microsoft.ML.AutoML.Tests/SuggestedPipelineBuilderTests.cs similarity index 100% rename from src/Test/SuggestedPipelineBuilderTests.cs rename to test/Microsoft.ML.AutoML.Tests/SuggestedPipelineBuilderTests.cs diff --git a/src/Test/SweeperTests.cs b/test/Microsoft.ML.AutoML.Tests/SweeperTests.cs similarity index 100% rename from src/Test/SweeperTests.cs rename to test/Microsoft.ML.AutoML.Tests/SweeperTests.cs diff --git a/src/Test/TestData/BinaryDatasetWithBoolColumn.txt b/test/Microsoft.ML.AutoML.Tests/TestData/BinaryDatasetWithBoolColumn.txt similarity index 100% rename from src/Test/TestData/BinaryDatasetWithBoolColumn.txt rename to test/Microsoft.ML.AutoML.Tests/TestData/BinaryDatasetWithBoolColumn.txt diff --git a/src/Test/TestData/DatasetWithDefaultColumnNames.txt b/test/Microsoft.ML.AutoML.Tests/TestData/DatasetWithDefaultColumnNames.txt similarity index 100% rename from src/Test/TestData/DatasetWithDefaultColumnNames.txt rename to test/Microsoft.ML.AutoML.Tests/TestData/DatasetWithDefaultColumnNames.txt diff --git a/src/Test/TestData/DatasetWithEmptyColumn.txt b/test/Microsoft.ML.AutoML.Tests/TestData/DatasetWithEmptyColumn.txt similarity index 100% rename from src/Test/TestData/DatasetWithEmptyColumn.txt rename to test/Microsoft.ML.AutoML.Tests/TestData/DatasetWithEmptyColumn.txt diff --git a/src/Test/TestData/NameColumnIsOnlyFeatureDataset.txt b/test/Microsoft.ML.AutoML.Tests/TestData/NameColumnIsOnlyFeatureDataset.txt similarity index 100% rename from src/Test/TestData/NameColumnIsOnlyFeatureDataset.txt rename to test/Microsoft.ML.AutoML.Tests/TestData/NameColumnIsOnlyFeatureDataset.txt diff --git a/src/Test/TestData/TrivialMulticlassDataset.txt b/test/Microsoft.ML.AutoML.Tests/TestData/TrivialMulticlassDataset.txt similarity index 100% rename from src/Test/TestData/TrivialMulticlassDataset.txt rename to test/Microsoft.ML.AutoML.Tests/TestData/TrivialMulticlassDataset.txt diff --git a/src/Test/TextFileSampleTests.cs b/test/Microsoft.ML.AutoML.Tests/TextFileSampleTests.cs similarity index 100% rename from src/Test/TextFileSampleTests.cs rename to test/Microsoft.ML.AutoML.Tests/TextFileSampleTests.cs diff --git a/src/Test/TrainerExtensionsTests.cs b/test/Microsoft.ML.AutoML.Tests/TrainerExtensionsTests.cs similarity index 100% rename from src/Test/TrainerExtensionsTests.cs rename to test/Microsoft.ML.AutoML.Tests/TrainerExtensionsTests.cs diff --git a/src/Test/TransformInferenceTests.cs b/test/Microsoft.ML.AutoML.Tests/TransformInferenceTests.cs similarity index 100% rename from src/Test/TransformInferenceTests.cs rename to test/Microsoft.ML.AutoML.Tests/TransformInferenceTests.cs diff --git a/src/Test/TransformPostTrainerInferenceTests.cs b/test/Microsoft.ML.AutoML.Tests/TransformPostTrainerInferenceTests.cs similarity index 100% rename from src/Test/TransformPostTrainerInferenceTests.cs rename to test/Microsoft.ML.AutoML.Tests/TransformPostTrainerInferenceTests.cs diff --git a/src/Test/UserInputValidationTests.cs b/test/Microsoft.ML.AutoML.Tests/UserInputValidationTests.cs similarity index 100% rename from src/Test/UserInputValidationTests.cs rename to test/Microsoft.ML.AutoML.Tests/UserInputValidationTests.cs diff --git a/src/Test/Util.cs b/test/Microsoft.ML.AutoML.Tests/Util.cs similarity index 100% rename from src/Test/Util.cs rename to test/Microsoft.ML.AutoML.Tests/Util.cs diff --git a/src/Test/Utils/MLNetUtils/EmptyDataView.cs b/test/Microsoft.ML.AutoML.Tests/Utils/MLNetUtils/EmptyDataView.cs similarity index 100% rename from src/Test/Utils/MLNetUtils/EmptyDataView.cs rename to test/Microsoft.ML.AutoML.Tests/Utils/MLNetUtils/EmptyDataView.cs diff --git a/src/Test/Utils/MLNetUtils/MLNetUtils.cs b/test/Microsoft.ML.AutoML.Tests/Utils/MLNetUtils/MLNetUtils.cs similarity index 100% rename from src/Test/Utils/MLNetUtils/MLNetUtils.cs rename to test/Microsoft.ML.AutoML.Tests/Utils/MLNetUtils/MLNetUtils.cs diff --git a/src/Test/run-tests.proj b/test/Microsoft.ML.AutoML.Tests/run-tests.proj similarity index 100% rename from src/Test/run-tests.proj rename to test/Microsoft.ML.AutoML.Tests/run-tests.proj diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentBinaryTest.approved.txt b/test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentBinaryTest.approved.txt similarity index 100% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentBinaryTest.approved.txt rename to test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentBinaryTest.approved.txt diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentOvaTest.approved.txt b/test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentOvaTest.approved.txt similarity index 100% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentOvaTest.approved.txt rename to test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentOvaTest.approved.txt diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentRegressionTest.approved.txt b/test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentRegressionTest.approved.txt similarity index 100% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentRegressionTest.approved.txt rename to test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppModelBuilderCSFileContentRegressionTest.approved.txt diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProgramCSFileContentTest.approved.txt b/test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProgramCSFileContentTest.approved.txt similarity index 100% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProgramCSFileContentTest.approved.txt rename to test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProgramCSFileContentTest.approved.txt diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProjectFileContentTest.approved.txt b/test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProjectFileContentTest.approved.txt similarity index 100% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProjectFileContentTest.approved.txt rename to test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.ConsoleAppProjectFileContentTest.approved.txt diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ModelProjectFileContentTest.approved.txt b/test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.ModelProjectFileContentTest.approved.txt similarity index 100% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ModelProjectFileContentTest.approved.txt rename to test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.ModelProjectFileContentTest.approved.txt diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ObservationCSFileContentTest.approved.txt b/test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.ObservationCSFileContentTest.approved.txt similarity index 100% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.ObservationCSFileContentTest.approved.txt rename to test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.ObservationCSFileContentTest.approved.txt diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictionCSFileContentTest.approved.txt b/test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.PredictionCSFileContentTest.approved.txt similarity index 100% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.PredictionCSFileContentTest.approved.txt rename to test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.PredictionCSFileContentTest.approved.txt diff --git a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs b/test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.cs similarity index 99% rename from src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs rename to test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.cs index eb9b109fed..d902ff9a64 100644 --- a/src/mlnet.Test/ApprovalTests/ConsoleCodeGeneratorTests.cs +++ b/test/mlnet.Tests/ApprovalTests/ConsoleCodeGeneratorTests.cs @@ -12,7 +12,7 @@ using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; -namespace mlnet.Test +namespace mlnet.Tests { [TestClass] [UseReporter(typeof(DiffReporter))] diff --git a/src/mlnet.Test/CodeGenTests.cs b/test/mlnet.Tests/CodeGenTests.cs similarity index 99% rename from src/mlnet.Test/CodeGenTests.cs rename to test/mlnet.Tests/CodeGenTests.cs index 85f51d5e6c..2ab1dfdd64 100644 --- a/src/mlnet.Test/CodeGenTests.cs +++ b/test/mlnet.Tests/CodeGenTests.cs @@ -10,7 +10,7 @@ using Microsoft.ML.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; -namespace mlnet.Test +namespace mlnet.Tests { [TestClass] public class CodeGeneratorTests diff --git a/src/mlnet.Test/CommandLineTests.cs b/test/mlnet.Tests/CommandLineTests.cs similarity index 99% rename from src/mlnet.Test/CommandLineTests.cs rename to test/mlnet.Tests/CommandLineTests.cs index b0d805f731..3530f23271 100644 --- a/src/mlnet.Test/CommandLineTests.cs +++ b/test/mlnet.Tests/CommandLineTests.cs @@ -12,7 +12,7 @@ using Microsoft.ML.CLI.Data; using Microsoft.VisualStudio.TestTools.UnitTesting; -namespace mlnet.Test +namespace mlnet.Tests { [TestClass] public class CommandLineTests diff --git a/src/mlnet.Test/DatasetUtil.cs b/test/mlnet.Tests/DatasetUtil.cs similarity index 99% rename from src/mlnet.Test/DatasetUtil.cs rename to test/mlnet.Tests/DatasetUtil.cs index 061268d620..e1cf2cfc6b 100644 --- a/src/mlnet.Test/DatasetUtil.cs +++ b/test/mlnet.Tests/DatasetUtil.cs @@ -8,7 +8,7 @@ using Microsoft.ML; using Microsoft.ML.Auto; -namespace mlnet.Test +namespace mlnet.Tests { internal static class DatasetUtil { diff --git a/src/mlnet.Test/Directory.Build.props b/test/mlnet.Tests/Directory.Build.props similarity index 100% rename from src/mlnet.Test/Directory.Build.props rename to test/mlnet.Tests/Directory.Build.props diff --git a/src/mlnet.Test/TrainerGeneratorTests.cs b/test/mlnet.Tests/TrainerGeneratorTests.cs similarity index 99% rename from src/mlnet.Test/TrainerGeneratorTests.cs rename to test/mlnet.Tests/TrainerGeneratorTests.cs index 67536fb776..122e8c64ae 100644 --- a/src/mlnet.Test/TrainerGeneratorTests.cs +++ b/test/mlnet.Tests/TrainerGeneratorTests.cs @@ -4,7 +4,7 @@ using Microsoft.ML.CLI.CodeGenerator.CSharp; using Microsoft.VisualStudio.TestTools.UnitTesting; -namespace mlnet.Test +namespace mlnet.Tests { /**************************** * TODO : Add all trainer tests : diff --git a/src/mlnet.Test/TransformGeneratorTests.cs b/test/mlnet.Tests/TransformGeneratorTests.cs similarity index 99% rename from src/mlnet.Test/TransformGeneratorTests.cs rename to test/mlnet.Tests/TransformGeneratorTests.cs index 9ed36f56bc..07469b960f 100644 --- a/src/mlnet.Test/TransformGeneratorTests.cs +++ b/test/mlnet.Tests/TransformGeneratorTests.cs @@ -4,7 +4,7 @@ using Microsoft.ML.CLI.CodeGenerator.CSharp; using Microsoft.VisualStudio.TestTools.UnitTesting; -namespace mlnet.Test +namespace mlnet.Tests { [TestClass] public class TransformGeneratorTests diff --git a/src/mlnet.Test/mlnet.Test.csproj b/test/mlnet.Tests/mlnet.Tests.csproj similarity index 77% rename from src/mlnet.Test/mlnet.Test.csproj rename to test/mlnet.Tests/mlnet.Tests.csproj index 47384184da..0a1c562345 100644 --- a/src/mlnet.Test/mlnet.Test.csproj +++ b/test/mlnet.Tests/mlnet.Tests.csproj @@ -13,8 +13,8 @@ - - + + diff --git a/src/mlnet.Test/run-tests.proj b/test/mlnet.Tests/run-tests.proj similarity index 100% rename from src/mlnet.Test/run-tests.proj rename to test/mlnet.Tests/run-tests.proj From 013a8d3e75337f788165855af80d5039e5fdbd39 Mon Sep 17 00:00:00 2001 From: Dmitry Akhutin Date: Fri, 12 Apr 2019 16:52:17 -0700 Subject: [PATCH 211/211] Add AutoML components to build, fix issues related to that so it builds --- AutoML.sln => Microsoft.ML.AutoML.sln | 0 build.proj | 1 + src/Microsoft.ML.Auto/API/Pipeline.cs | 2 +- src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj | 3 +++ src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs | 1 + src/mlnet/ProgressBar/ProgressBarOptions.cs | 2 +- src/mlnet/mlnet.csproj | 3 +++ .../Microsoft.ML.AutoML.Tests.csproj | 4 ++++ test/mlnet.Tests/mlnet.Tests.csproj | 3 +++ 9 files changed, 17 insertions(+), 2 deletions(-) rename AutoML.sln => Microsoft.ML.AutoML.sln (100%) diff --git a/AutoML.sln b/Microsoft.ML.AutoML.sln similarity index 100% rename from AutoML.sln rename to Microsoft.ML.AutoML.sln diff --git a/build.proj b/build.proj index 15fea4e309..3dd5edd0e7 100644 --- a/build.proj +++ b/build.proj @@ -22,6 +22,7 @@ + diff --git a/src/Microsoft.ML.Auto/API/Pipeline.cs b/src/Microsoft.ML.Auto/API/Pipeline.cs index 29e4005722..864d82037b 100644 --- a/src/Microsoft.ML.Auto/API/Pipeline.cs +++ b/src/Microsoft.ML.Auto/API/Pipeline.cs @@ -93,7 +93,7 @@ internal class PipelineScore public readonly double Score; /// - /// This setting is true if the pipeline run succeeded & ran to completion. + /// This setting is true if the pipeline run succeeded and ran to completion. /// Else, it is false if some exception was thrown before the run could complete. /// public readonly bool RunSucceded; diff --git a/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj b/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj index ba1bbdecea..cb8eb4fc72 100644 --- a/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj +++ b/src/Microsoft.ML.Auto/Microsoft.ML.Auto.csproj @@ -3,6 +3,9 @@ netstandard2.0 7.3 Microsoft.ML.Auto + + false + false diff --git a/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs b/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs index a9484aeff0..618cf74256 100644 --- a/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs +++ b/src/Microsoft.ML.Auto/Sweepers/SmacSweeper.cs @@ -206,6 +206,7 @@ private ParameterSet[] GreedyPlusRandomSearch(ParameterSet[] parents, FastForest /// Trained forest, for evaluation of points. /// Best performance seen thus far. /// Threshold for when to stop the local search. + /// Metric type - maximizing or minimizing. /// private Tuple LocalSearch(ParameterSet parent, FastForestRegressionModelParameters forest, double bestVal, double epsilon, bool isMetricMaximizing) { diff --git a/src/mlnet/ProgressBar/ProgressBarOptions.cs b/src/mlnet/ProgressBar/ProgressBarOptions.cs index 8624105956..e8de881af0 100644 --- a/src/mlnet/ProgressBar/ProgressBarOptions.cs +++ b/src/mlnet/ProgressBar/ProgressBarOptions.cs @@ -34,7 +34,7 @@ public class ProgressBarOptions /// /// When true will redraw the progressbar using a timer, otherwise only update when - /// is called. + /// is called. /// Defaults to true /// public bool DisplayTimeInRealTime { get; set; } = true; diff --git a/src/mlnet/mlnet.csproj b/src/mlnet/mlnet.csproj index eef028d789..ea5fe98666 100644 --- a/src/mlnet/mlnet.csproj +++ b/src/mlnet/mlnet.csproj @@ -8,6 +8,9 @@ mlnet mlnet mlnet + + false + false diff --git a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj index e5b7a4ea94..5e5547f422 100644 --- a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj +++ b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj @@ -5,6 +5,10 @@ false + + false + false + Microsoft.ML.Auto.Test diff --git a/test/mlnet.Tests/mlnet.Tests.csproj b/test/mlnet.Tests/mlnet.Tests.csproj index 0a1c562345..107f8e983b 100644 --- a/test/mlnet.Tests/mlnet.Tests.csproj +++ b/test/mlnet.Tests/mlnet.Tests.csproj @@ -3,6 +3,9 @@ netcoreapp2.1 false + + false + false